diff -Nrcpad gcc-4.0.2/.cvsignore gcc-4.1.0/.cvsignore
*** gcc-4.0.2/.cvsignore	Wed Jun 19 18:10:09 2002
--- gcc-4.1.0/.cvsignore	Thu Jan  1 00:00:00 1970
***************
*** 1,32 ****
- *-all
- *-co
- *-dirs
- *-done
- *-install-info
- *-src
- *-stamp-*
- *-tagged
- blockit
- cfg-paper.info
- config.status
- configure.aux
- configure.cp
- configure.cps
- configure.dvi
- configure.fn
- configure.fns
- configure.ky
- configure.kys
- configure.log
- configure.pg
- configure.pgs
- configure.toc
- configure.tp
- configure.tps
- configure.vr
- configure.vrs
- dir.info
- Makefile
- lost+found
- update.out
- LAST_UPDATED
--- 0 ----
diff -Nrcpad gcc-4.0.2/COPYING gcc-4.1.0/COPYING
*** gcc-4.0.2/COPYING	Mon Dec 18 21:47:16 2000
--- gcc-4.1.0/COPYING	Thu Jul 14 01:08:13 2005
***************
*** 2,8 ****
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
--- 2,8 ----
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
*************** the "copyright" line and a pointer to wh
*** 305,311 ****
  
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
!     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  
  Also add information on how to contact you by electronic and paper mail.
--- 305,311 ----
  
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
!     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  
  
  Also add information on how to contact you by electronic and paper mail.
diff -Nrcpad gcc-4.0.2/COPYING.LIB gcc-4.1.0/COPYING.LIB
*** gcc-4.0.2/COPYING.LIB	Mon Jan 29 13:30:01 2001
--- gcc-4.1.0/COPYING.LIB	Thu Jul 14 01:41:54 2005
***************
*** 1,8 ****
! 		  GNU LESSER GENERAL PUBLIC LICENSE
! 		       Version 2.1, February 1999
  
   Copyright (C) 1991, 1999 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
--- 1,9 ----
! 
!                   GNU LESSER GENERAL PUBLIC LICENSE
!                        Version 2.1, February 1999
  
   Copyright (C) 1991, 1999 Free Software Foundation, Inc.
! 	51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
***************
*** 10,16 ****
   as the successor of the GNU Library Public License, version 2, hence
   the version number 2.1.]
  
! 			    Preamble
  
    The licenses for most software are designed to take away your
  freedom to share and change it.  By contrast, the GNU General Public
--- 11,17 ----
   as the successor of the GNU Library Public License, version 2, hence
   the version number 2.1.]
  
!                             Preamble
  
    The licenses for most software are designed to take away your
  freedom to share and change it.  By contrast, the GNU General Public
*************** specially designated software packages--
*** 22,28 ****
  Free Software Foundation and other authors who decide to use it.  You
  can use it too, but we suggest you first think carefully about whether
  this license or the ordinary General Public License is the better
! strategy to use in any particular case, based on the explanations below.
  
    When we speak of free software, we are referring to freedom of use,
  not price.  Our General Public Licenses are designed to make sure that
--- 23,30 ----
  Free Software Foundation and other authors who decide to use it.  You
  can use it too, but we suggest you first think carefully about whether
  this license or the ordinary General Public License is the better
! strategy to use in any particular case, based on the explanations
! below.
  
    When we speak of free software, we are referring to freedom of use,
  not price.  Our General Public Licenses are designed to make sure that
*************** libraries.  However, the Lesser license 
*** 87,95 ****
  special circumstances.
  
    For example, on rare occasions, there may be a special need to
! encourage the widest possible use of a certain library, so that it becomes
! a de-facto standard.  To achieve this, non-free programs must be
! allowed to use the library.  A more frequent case is that a free
  library does the same job as widely used non-free libraries.  In this
  case, there is little to gain by limiting the free library to free
  software only, so we use the Lesser General Public License.
--- 89,97 ----
  special circumstances.
  
    For example, on rare occasions, there may be a special need to
! encourage the widest possible use of a certain library, so that it
! becomes a de-facto standard.  To achieve this, non-free programs must
! be allowed to use the library.  A more frequent case is that a free
  library does the same job as widely used non-free libraries.  In this
  case, there is little to gain by limiting the free library to free
  software only, so we use the Lesser General Public License.
*************** modification follow.  Pay close attentio
*** 112,118 ****
  former contains code derived from the library, whereas the latter must
  be combined with the library in order to run.
  
! 		  GNU LESSER GENERAL PUBLIC LICENSE
     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  
    0. This License Agreement applies to any software library or other
--- 114,120 ----
  former contains code derived from the library, whereas the latter must
  be combined with the library in order to run.
  
!                   GNU LESSER GENERAL PUBLIC LICENSE
     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  
    0. This License Agreement applies to any software library or other
*************** included without limitation in the term 
*** 136,143 ****
    "Source code" for a work means the preferred form of the work for
  making modifications to it.  For a library, complete source code means
  all the source code for all modules it contains, plus any associated
! interface definition files, plus the scripts used to control compilation
! and installation of the library.
  
    Activities other than copying, distribution and modification are not
  covered by this License; they are outside its scope.  The act of
--- 138,145 ----
    "Source code" for a work means the preferred form of the work for
  making modifications to it.  For a library, complete source code means
  all the source code for all modules it contains, plus any associated
! interface definition files, plus the scripts used to control
! compilation and installation of the library.
  
    Activities other than copying, distribution and modification are not
  covered by this License; they are outside its scope.  The act of
*************** such a program is covered only if its co
*** 146,152 ****
  on the Library (independent of the use of the Library in a tool for
  writing it).  Whether that is true depends on what the Library does
  and what the program that uses the Library does.
!   
    1. You may copy and distribute verbatim copies of the Library's
  complete source code as you receive it, in any medium, provided that
  you conspicuously and appropriately publish on each copy an
--- 148,154 ----
  on the Library (independent of the use of the Library in a tool for
  writing it).  Whether that is true depends on what the Library does
  and what the program that uses the Library does.
! 
    1. You may copy and distribute verbatim copies of the Library's
  complete source code as you receive it, in any medium, provided that
  you conspicuously and appropriately publish on each copy an
*************** of these things:
*** 303,312 ****
      the user installs one, as long as the modified version is
      interface-compatible with the version that the work was made with.
  
!     c) Accompany the work with a written offer, valid for at
!     least three years, to give the same user the materials
!     specified in Subsection 6a, above, for a charge no more
!     than the cost of performing this distribution.
  
      d) If distribution of the work is made by offering access to copy
      from a designated place, offer equivalent access to copy the above
--- 305,314 ----
      the user installs one, as long as the modified version is
      interface-compatible with the version that the work was made with.
  
!     c) Accompany the work with a written offer, valid for at least
!     three years, to give the same user the materials specified in
!     Subsection 6a, above, for a charge no more than the cost of
!     performing this distribution.
  
      d) If distribution of the work is made by offering access to copy
      from a designated place, offer equivalent access to copy the above
*************** all those who receive copies directly or
*** 384,392 ****
  the only way you could satisfy both it and this License would be to
  refrain entirely from distribution of the Library.
  
! If any portion of this section is held invalid or unenforceable under any
! particular circumstance, the balance of the section is intended to apply,
! and the section as a whole is intended to apply in other circumstances.
  
  It is not the purpose of this section to induce you to infringe any
  patents or other property right claims or to contest validity of any
--- 386,395 ----
  the only way you could satisfy both it and this License would be to
  refrain entirely from distribution of the Library.
  
! If any portion of this section is held invalid or unenforceable under
! any particular circumstance, the balance of the section is intended to
! apply, and the section as a whole is intended to apply in other
! circumstances.
  
  It is not the purpose of this section to induce you to infringe any
  patents or other property right claims or to contest validity of any
*************** be a consequence of the rest of this Lic
*** 404,414 ****
  
    12. If the distribution and/or use of the Library is restricted in
  certain countries either by patents or by copyrighted interfaces, the
! original copyright holder who places the Library under this License may add
! an explicit geographical distribution limitation excluding those countries,
! so that distribution is permitted only in or among countries not thus
! excluded.  In such case, this License incorporates the limitation as if
! written in the body of this License.
  
    13. The Free Software Foundation may publish revised and/or new
  versions of the Lesser General Public License from time to time.
--- 407,417 ----
  
    12. If the distribution and/or use of the Library is restricted in
  certain countries either by patents or by copyrighted interfaces, the
! original copyright holder who places the Library under this License
! may add an explicit geographical distribution limitation excluding those
! countries, so that distribution is permitted only in or among
! countries not thus excluded.  In such case, this License incorporates
! the limitation as if written in the body of this License.
  
    13. The Free Software Foundation may publish revised and/or new
  versions of the Lesser General Public License from time to time.
*************** decision will be guided by the two goals
*** 432,438 ****
  of all derivatives of our free software and of promoting the sharing
  and reuse of software generally.
  
! 			    NO WARRANTY
  
    15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
  WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
--- 435,441 ----
  of all derivatives of our free software and of promoting the sharing
  and reuse of software generally.
  
!                             NO WARRANTY
  
    15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
  WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
*************** FAILURE OF THE LIBRARY TO OPERATE WITH A
*** 455,474 ****
  SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  DAMAGES.
  
! 		     END OF TERMS AND CONDITIONS
  
             How to Apply These Terms to Your New Libraries
  
    If you develop a new library, and you want it to be of the greatest
  possible use to the public, we recommend making it free software that
  everyone can redistribute and change.  You can do so by permitting
! redistribution under these terms (or, alternatively, under the terms of the
! ordinary General Public License).
  
-   To apply these terms, attach the following notices to the library.  It is
- safest to attach them to the start of each source file to most effectively
- convey the exclusion of warranty; and each file should have at least the
- "copyright" line and a pointer to where the full notice is found.
  
      <one line to give the library's name and a brief idea of what it does.>
      Copyright (C) <year>  <name of author>
--- 458,479 ----
  SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  DAMAGES.
  
!                      END OF TERMS AND CONDITIONS
  
             How to Apply These Terms to Your New Libraries
  
    If you develop a new library, and you want it to be of the greatest
  possible use to the public, we recommend making it free software that
  everyone can redistribute and change.  You can do so by permitting
! redistribution under these terms (or, alternatively, under the terms
! of the ordinary General Public License).
! 
!   To apply these terms, attach the following notices to the library.
! It is safest to attach them to the start of each source file to most
! effectively convey the exclusion of warranty; and each file should
! have at least the "copyright" line and a pointer to where the full
! notice is found.
  
  
      <one line to give the library's name and a brief idea of what it does.>
      Copyright (C) <year>  <name of author>
*************** convey the exclusion of warranty; and ea
*** 485,500 ****
  
      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
!     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  Also add information on how to contact you by electronic and paper mail.
  
! You should also get your employer (if you work as a programmer) or your
! school, if any, to sign a "copyright disclaimer" for the library, if
! necessary.  Here is a sample; alter the names:
  
    Yoyodyne, Inc., hereby disclaims all copyright interest in the
!   library `Frob' (a library for tweaking knobs) written by James Random Hacker.
  
    <signature of Ty Coon>, 1 April 1990
    Ty Coon, President of Vice
--- 490,506 ----
  
      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
!     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  
  Also add information on how to contact you by electronic and paper mail.
  
! You should also get your employer (if you work as a programmer) or
! your school, if any, to sign a "copyright disclaimer" for the library,
! if necessary.  Here is a sample; alter the names:
  
    Yoyodyne, Inc., hereby disclaims all copyright interest in the
!   library `Frob' (a library for tweaking knobs) written by James
!   Random Hacker.
  
    <signature of Ty Coon>, 1 April 1990
    Ty Coon, President of Vice
diff -Nrcpad gcc-4.0.2/ChangeLog gcc-4.1.0/ChangeLog
*** gcc-4.0.2/ChangeLog	Wed Sep 21 03:54:40 2005
--- gcc-4.1.0/ChangeLog	Tue Feb 28 08:30:33 2006
***************
*** 1,38 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
  2005-09-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
  
! 	* configure.in: Recognize fortran in the --enable-languages option,
! 	and substitute it for f95, issuing a warning.
  	* configure: Regenerate.
  
! 2005-08-12  Thomas Schwinge  <schwinge@nic-nac-project.de>
  
! 	* Makefile.tpl: Add whitespace between FLAGS_TO_PASS and
! 	extra_make_flags.
  	* Makefile.in: Regenerate.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-06-22  Eric Christopher  <echristo@redhat.com>
  
! 	PR bootstrap/17383
! 	* configure.in: Reject building in the source directory.
  	* configure: Regenerate.
  
! 2005-06-06  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
  
! 	* configure.in: Don't add another '/mpfr' to the directory given
! 	in --with-mpfr-dir.
  	* configure: Regenerate.
  
! 2005-05-13  David Edelsohn  <edelsohn@gnu.org>
  
- 	Backport from mainline:
  	* ltconfig: Define file_list_spec.  Pass file_list_spec and
  	with_gnu_ld to libtool.
  	* ltcf-c.sh (aix[45]): Define file_list_spec.
--- 1,487 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
! 
! 2005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	* configure.in: Replace ms1 with mt.
! 	* configure: Rebuilt.
! 	* config.sub: Replace ms1 with mt.  Allow ms1 as an alias.
! 
! 2005-12-14  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.in: Regenerate.
! 
! 2005-12-14  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* configure.in (CONFIGURED_BISON, CONFIGURED_YACC, CONFIGURED_M4,
! 	CONFIGURED_FLEX, CONFIGURED_LEX, CONFIGURED_MAKEINFO): Remove
! 	"CONFIGURED_" from the AC_CHECK_PROGS invocation.  Move below.
! 	Find in-tree tools if available.
! 	(EXPECT, RUNTEST, LIPO, STRIP): Find them and substitute them.
! 	(CONFIGURED_*_FOR_TARGET): Don't set nor substitute.
! 	(*_FOR_TARGET): Set them with GCC_TARGET_TOOL.
! 	(COMPILER_*_FOR_TARGET): New.
! 	* Makefile.tpl (HOST_EXPORTS): Add *_FOR_TARGET symbols that gcc needs.
! 	(BASE_TARGET_EXPORTS): Use COMPILER_*_FOR_TARGET symbols.
! 	(CONFIGURED_*, USUAL_*): Remove.
! 	(BISON, YACC, FLEX, LEX, M4, MAKEINFO, EXPECT, RUNTEST, LIPO,
! 	STRIP): Use autoconf substitutions.
! 	(COMPILER_AS_FOR_TARGET, COMPILER_LD_FOR_TARGET,
! 	COMPILER_NM_FOR_TARGET): New.
! 	(EXTRA_HOST_FLAGS): Pass LIPO and STRIP.
! 
! 	(all): Make all-host and all-target in parallel.
! 	(do-[+make_target+], do-check, install, [+compare-target+]): Ensure
! 	that $$r and $$s are set before invoking a recursive make.
! 	(stage[+id+]-bubble): Likewise, and invoke the comparison at the end.
! 	([+bootstrap-target+]): Inline most of the `all' target.
! 
! 2005-10-24  Kean Johnston  <jkj@sco.com>
! 
! 	* config.sub, config.guess: Sync from upstream sources.
! 
! 2005-11-18  Andreas Tobler  <a.tobler@schweiz.ch>
! 
! 	* ltcf-c.sh (whole_archive_flag_spec): Remove '-all_load $convenience'
! 	to match upstream libtool for darwin.
! 
! 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
! 
! 	* Makefile.def: Remove gdb dependencies for gdbtk.
! 	* Makefile.tpl (CONFIGURE_GDB_TK, INSTALL_GDB_TK): New variables.
! 	(configure-gdb, install-gdb): New rules.
! 	* configure.in: Set CONFIGURE_GDB_TK and INSTALL_GDB_TK.
! 	* Makefile.in, configure: Regenerated.
! 
! 2005-11-06  Janne Blomqvist  <jb@gcc.gnu.org>
! 
! 	* MAINTAINERS (Write After Approval): Add myself.
! 
! 2005-11-06  Erik Edelmann  <eedelman@gcc.gnu.org>
! 
! 	* MAINTAINERS (Write After Approval): Add myself.
! 
! 2005-10-24  Diego Novillo  <dnovillo@redhat.com>
! 
! 	* MAINTAINERS (alias analysis): Add Daniel Berlin and
! 	Diego Novillo.
! 
! 2005-10-22  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR bootstrap/24297
! 	* Makefile.tpl (do-[+make-target+], do-check, install,
! 	stage[+id+]-bubble, [+compare-target+]): Ensure $$r and $$s
! 	are set before recursing.
! 	* Makefile.in: Regenerate.
! 
! 2005-10-20  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR bootstrap/18939
! 	* Makefile.def (gcc) <target>: Fix thinko.
! 	* Makefile.in: Regenerate.
! 
! 2005-10-17  Bernd Schmidt  <bernd.schmidt@analog.com>
! 
! 	* configure.in (bfin-*-*): Use test, not brackets, in if statement.
! 	* configure: Regenerate.
! 
! 2005-10-15  Jie Zhang  <jie.zhang@analog.com>
! 
! 	* MAINTAINERS (Write After Approval): Add self.
! 
! 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* configure.in (arm-*-linux-gnueabi): Add to noconfigdirs
! 	target-libffi, target-qthreads, target-libjava, and
! 	targetlibobjc.
! 	* configure: Regenerate.
! 
! 2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
! 
! 	* Makefile.def (flags_to_pass): Add OBJDUMP_FOR_TARGET.
! 	* Makefile.tpl (BASE_TARGET_EXPORTS): Add OBJDUMP.
! 	(OBJDUMP_FOR_TARGET, CONFIGURED_OBJDUMP_FOR_TARGET)
! 	(USUAL_OBJDUMP_FOR_TARGET): New.
! 	(EXTRA_TARGET_FLAGS): Add OBJDUMP.
! 	* configure.in: Check for $OBJDUMP_FOR_TARGET.
! 	* configure, Makefile: Regenerated.
! 
! 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.tpl (all) [gcc-no-bootstrap]: Make prebootstrap packages
! 	before other host packages.
! 
! 2005-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
! 
! 	* MAINTAINERS: Add self as sh libraries/configury maintainer.
! 
! 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR bootstrap/22340
! 
! 	* configure.in (default_target): Remove.
! 	* Makefile.tpl (all): Do not use prerequisites as subroutines
! 	(all) [gcc-bootstrap]: Bootstrap gcc first if it was not done yet.
! 	(do-[+make_target+], check, install, [+bootstrap_target+]): Do not
! 	use prerequisites as subroutines.
! 	(check-host, check-target): New.
! 	(bootstrap configure & all targets): Do not use stage*-start
! 	if the directory layout is already ok.
! 	(non-bootstrap configure & all targets): Prepend a $(unstage).
! 	(stage[+id+]-bubble): Do that here.  Do not use NOTPARALLEL.
! 	(NOTPARALLEL): Remove.
! 	(unstage, stage variables): New variables.
! 	(unstage, stage targets): Simply expand to those variables.
! 
! 	* configure: Regenerate.
! 	* Makefile.in: Regenerate.
! 
! 2005-10-04  James E Wilson  <wilson@specifix.com>
! 
! 	* Makefile.def (lang_env_dependencies): Add libmudflap.
! 	* Makefile.in: Regenerate.
! 
! 2005-10-03  Andreas Schwab  <schwab@suse.de>
! 
! 	Backport from libtool CVS:
! 	2002-11-03  Ossama Othman  <ossama@doc.ece.uci.edu>
! 
! 	* ltmain.sh: add support for installing into temporary
! 	staging area (e.g. 'make install DESTDIR=...')
! 
! 2005-10-03  H.J. Lu  <hongjiu.lu@intel.com>
! 
! 	* configure.in (*-*-darwin*): Build bfd, binutils and opcodes.
! 	* configure: Regenerated.
! 
! 2005-09-30  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	* configure: Regenerate with the correct
! 	autoconf version.
! 
! 2005-09-30  Catherine Moore  <clm@cm00re.com>
! 
! 	* configure.in (bfin-*-*): New.
! 	* configure: Regenerated.
! 
! 2005-09-28  Geoffrey Keating  <geoffk@apple.com>
! 
! 	* Makefile.tpl (BASE_TARGET_EXPORTS): Add LIPO, STRIP.
! 	(LIPO_FOR_TARGET): New.
! 	(CONFIGURED_LIPO_FOR_TARGET): New.
! 	(USUAL_LIPO_FOR_TARGET): New.
! 	(STRIP_FOR_TARGET): New.
! 	(CONFIGURED_STRIP_FOR_TARGET): New.
! 	(USUAL_STRIP_FOR_TARGET): New.
! 	* Makefile.def (flags_to_pass): Add LIPO_FOR_TARGET and
! 	STRIP_FOR_TARGET.
! 	* configure.in: Set LIPO_FOR_TARGET, STRIP_FOR_TARGET,
! 	CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET.
! 	* Makefile.in: Regenerate.
! 	* configure: Regenerate.
! 	
! 2005-09-19  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* configure.in (powerpc-*-aix*): Add target-libssp to noconfigdirs.
! 	(rs6000-*-aix*): Same.
! 	* configure: Regenerate.
! 
! 2005-09-16  Tom Tromey  <tromey@redhat.com>
! 
! 	* MAINTAINERS: Add self as java maintainer.
  
  2005-09-14  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
  
! 	* configure.in: Recognize f95 in the --enable-languages option,
! 	and substitute it for fortran, issuing a warning.
  	* configure: Regenerate.
  
! 2005-08-30  Phil Edwards  <phil@codesourcery.com>
  
! 	* configure.in (*-*-vxworks*):  Add target-libstdc++-v3 to noconfigdirs.
! 	* configure:  Regenerated.
! 
! 2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
! 
! 	* MAINTAINERS: Add self as ms1 maintainer.
! 
! 2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
! 
! 	* Makefile.def (libssp): Add to lang_env_dependencies.
  	* Makefile.in: Regenerate.
  
! 2005-08-18  Ian Lance Taylor  <ian@airs.com>
  
! 	* MAINTAINERS: Add myself as middle-end maintainer.
  
! 2005-08-17  Christian Groessler  <chris@groessler.org>
  
! 	* Makefile.tpl: (USUAL_CC_FOR_TARGET): Add missing trailing slash.
! 	* Makefile.in: Regenerate.
! 
! 2005-08-15  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* MAINTAINERS (write after approval): Added myself.
! 
! 2005-08-12  Maciej W. Rozycki  <macro@linux-mips.org>
! 
! 	* MAINTAINERS (Write After Approval): Add myself.
! 
! 2005-08-12  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* configure.in: Replace NCN_STRICT_CHECK_TOOL with
! 	NCN_STRICT_CHECK_TOOLS, and likewise for NCN_STRICT_CHECK_TARGET_TOOLS.
! 	Look for alternate names of the target cc and c++
  	* configure: Regenerate.
  
! 2005-08-08  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* configure.in (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET,
! 	GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Find
! 	them with NCN_STRICT_CHECK_TARGET_TOOL, like the other target
! 	tools; remove code to manually set them.
! 	(Target tools): Look in the environment for them.
! 	* Makefile.tpl (CC_FOR_TARGET, CXX_FOR_TARGET, GCJ_FOR_TARGET,
! 	GCC_FOR_TARGET, RAW_CXX_FOR_TARGET, GFORTRAN_FOR_TARGET): Redefine.
! 	(AS_FOR_TARGET, LD_FOR_TARGET, NM_FOR_TARGET): Look into gcc
! 	build directory.
! 	(CONFIGURED_CC_FOR_TARGET, CONFIGURED_CXX_FOR_TARGET,
! 	CONFIGURED_GCJ_FOR_TARGET, CONFIGURED_GCC_FOR_TARGET,
! 	CONFIGURED_GFORTRAN_FOR_TARGET, USUAL_CC_FOR_TARGET,
! 	USUAL_CXX_FOR_TARGET, USUAL_GCJ_FOR_TARGET, USUAL_GCC_FOR_TARGET,
! 	USUAL_RAW_CXX_FOR_TARGET, USUAL_GFORTRAN_FOR_TARGET): New.
! 	(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE,
! 	RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE, RECURSE_FLAGS): Delete.
  	* configure: Regenerate.
+ 	* Makefile.in: Regenerate.
  
! 2005-07-28  Ben Elliston  <bje@au.ibm.com>
! 
! 	* MAINTAINERS: Update for removed CPU targets.
! 
! 2005-07-27  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* Makefile.tpl (EXTRA_TARGET_FLAGS): Set LDFLAGS=LDFLAGS_FOR_TARGET.
! 	* Makefile.def (flags_to_pass): Add LDFLAGS_FOR_TARGET. 
! 	* Makefile.in: Regenerated.
! 
! 2005-07-26  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* Makefile.tpl (SYSROOT_CFLAGS_FOR_TARGET): New variable.
! 	(CFLAGS_FOR_TARGET): Use it.
! 	(CXXFLAGS_FOR_TARGET): Likewise.
! 	* Makefile.in: Regenerated.
! 	* configure.in (--with-build-sysroot): New option.
! 	* configure: Regenerated.
! 
! 2005-07-24  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.tpl: Wrap install between unstage and stage
! 	* Makefile.in: Regenerate.
! 
! 2005-07-21  Eric Christopher  <echristo@apple.com>
! 
! 	* MAINTAINERS: Update affiliation.
! 
! 2005-07-21  Paul Woegerer  <paul.woegerer@nsc.com>
! 
! 	* MAINTAINERS: Add self as crx port maintainer.
! 
! 2005-07-20  DJ Delorie  <dj@redhat.com>
! 
! 	* MAINTAINERS: Add self as m32c maintainer.
! 
! 2005-07-16  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* all files: Update FSF address.
! 
! 2005-07-15  Eric Christopher  <echristo@redhat.com>
! 
! 	* MAINTAINERS: Change affiliation.
! 
! 2005-07-14  Jim Blandy  <jimb@redhat.com>
! 
! 	* configure.in: Add cases for Renesas m32c.
! 	* configure: Regenerated.
! 	
! 2005-07-14  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* COPYING.LIB: Update from fsf.org.
! 
! 2005-07-14  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* COPYING, compile, config.guess,
! 	config.sub, install-sh, missing, mkinstalldirs,
! 	symlink-tree, ylwrap: Sync from upstream sources.
! 	* config-ml.in: Update FSF address.
! 
! 2005-07-13  Eric Christopher  <echristo@redhat.com>
! 
! 	* configure.in: Add toplevel noconfigdir support for tpf.
! 	* configure: Regenerate.
! 
! 2005-07-11  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR ada/22340
! 
! 	* Makefile.tpl (POSTSTAGE1_FLAGS_TO_PASS): Fix pasto.
! 	* Makefile.in: Regenerate.
! 
! 2005-07-07  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* MAINTAINERS: Remove Dave Brolley as a cpplib maintainer.  Add Dave
! 	Brolley to write-after-approval. 
! 
! 2005-07-07  Andreas Schwab  <schwab@suse.de>
! 
! 	* Makefile.def (flags_to_pass): Add CFLAGS_FOR_BUILD.
! 	* Makefile.tpl (EXTRA_GCC_FLAGS): Don't pass CFLAGS_FOR_BUILD here.
! 	* Makefile.in: Regenerated.
! 
! 2005-07-06  Geoffrey Keating  <geoffk@apple.com>
! 
! 	* configure.in: Don't build sim or rda when targetting darwin.
! 	* configure: Regenerate.
! 
! 2005-07-06  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* configure.in: Add --enable-libssp and --disable-libssp.
! 	* configure: Regenerate with autoconf-2.13.
! 
! 2005-07-02  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* Makefile.def (target_modules): Add libssp.
! 	* configure.in (target_libraries): Add target-libssp.
! 	* configure: Rebuilt.
! 	* Makefile.in: Rebuilt.
! 
! 2005-07-01  Zack Weinberg  <zackw@panix.com>
! 
! 	* MAINTAINERS: Change email address.  Resign from maintainership.
! 
! 2005-07-01  Richard Guenther  <rguenther@suse.de>
! 
! 	* MAINTAINERS: Change my e-mail address and affiliation.
! 
! 2005-06-22  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.def (stagefeedback): Come after profile.
! 	Define profiledbootstrap target.
! 	* Makefile.tpl (profiledbootstrap): Remove.
! 	(stageprofile-end): Zap stagefeedback.
! 	(stagefeedback-start): Copy all .gcda files, not only GCC's.
! 	* Makefile.in: Regenerate.
! 
! 2005-06-13  Richard Sandiford  <richard@codesourcery.com>
! 
! 	* MAINTAINERS: Update my email address.
! 
! 2005-06-13  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* depcomp: Update from automake CVS.  Add 'ia64hp' stanza.
! 	In 'cpp' stanza, support '#line' as well as '# '.
! 
! 2005-06-08  Andreas Schwab  <schwab@suse.de>
! 
! 	* MAINTAINERS: Move myself from 'Write After Approval' to
! 	'CPU Port Maintainers' section as m68k maintainer.
! 
! 2005-06-07  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	* configure.in (unsupported_languages): New macro.
! 	<mmix-knuth-mmixware>: Set unsupported_languages.  Name explicit
! 	non-ported target libraries in noconfigdirs.
! 	<cris-*, crisv32-*> Ditto, except for non-aout, non-elf,
! 	non-linux-gnu.  Remove libgcj_ex_libffi.
!  	<lang_frag loop>: Set add_this_lang=no if the language is in
! 	unsupported_languages.
! 	* configure: Regenerate.
! 
! 2005-06-04  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
! 
! 	* configure.in: Fix typo in handling of --with-mpfr-dir.
! 	* configure: Regenerate.
! 
! 2005-06-04  Richard Sandiford  <rsandifo@nildram.co.uk>
! 
! 	* MAINTAINERS: Update my email address.
! 
! 2005-06-02  Jim Blandy  <jimb@redhat.com>
! 
! 	* config.sub: Add cases for the Renesas m32c.  (This patch has been
! 	accepted into the master sources.)
! 
! 2005-06-02  Aldy Hernandez  <aldyh@redhat.com>
! 	    Michael Snyder  <msnyder@redhat.com>
! 	    Stan Cox  <scox@redhat.com>
! 
! 	* configure.in: Set noconfigdirs for ms1.
! 
! 	* configure: Regenerate.
! 
! 2005-06-01  Jerry DeLisle  <jvdelisle@verizon.net>
! 
! 	* MAINTAINERS (Write After Approval): Add self.
! 
! 2005-06-01  Josh Conner  <jconner@apple.com>
! 
! 	* MAINTAINERS (Write After Approval): Add self.
! 
! 2005-06-01  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* MAINTAINERS: Update my email address.
! 
! 2005-05-27  Ziga Mahkovec  <ziga.mahkovec@klika.si>
! 
! 	* MAINTAINERS (Write After Approval): Add self.
! 
! 2005-05-26  Chris Demetriou  <cgd@broadcom.com>
! 
! 	* MAINTAINERS (Write After Approval): Remove self.
! 
! 2005-05-25  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.tpl (stage[+id+]-start): Iterate over target module as well.
! 	(Dependencies): Consider target modules for bootstrap dependencies.
! 	Make target bootstrap modules depend on each stage's gcc.
! 	* Makefile.in: Regenerate.
! 
! 2005-05-20  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.def (configure-gcc): Depend on binutils having been built.
! 	(all-gcc): No need to do it here.
! 	* Makefile.in: Regenerate.
! 
! 2005-05-19  Paul Brook  <paul@codesourcery.com>
! 
! 	* configure.in: Rewrite misleading error message when requested
! 	language cannot be built.
! 	* configure: Regenerate.
! 
! 2005-05-15  Daniel Jacobowitz  <dan@codesourcery.com>
! 
! 	* ylwrap: Import from Automake 1.9.5.
! 
! 2005-05-13  David Ung  <davidu@mips.com>
! 
! 	* MAINTAINERS (Write After Approval): Add self.
! 
! 2005-05-09  Mike Stump  <mrs@apple.com>
! 
! 	* libtool.m4 (AC_LIBTOOL_SYS_MAX_CMD_LEN): Use quotes on
! 	lt_cv_sys_max_cmd_len for now.
! 
! 2005-05-09  Stan Cox  <scox@redhat.com>
! 
! 	* MAINTAINERS: Remove self, add Nick Clifton as iq2000 maintainer.
! 
! 2005-05-08  Matt Kraai  <kraai@ftbfs.org>
! 
! 	* README.SCO: Update the URL.
! 
! 2005-05-05  David Edelsohn  <edelsohn@gnu.org>
  
  	* ltconfig: Define file_list_spec.  Pass file_list_spec and
  	with_gnu_ld to libtool.
  	* ltcf-c.sh (aix[45]): Define file_list_spec.
***************
*** 41,88 ****
  	* ltmain.sh: If command exceeds max_cmd_len and file_list_spec
  	exists, write list of input files to temporary file.
  
! 2005-05-08  Matt Kraai  <kraai@ftbfs.org>
  
! 	* README.SCO: Update the URL.
  
! 2005-05-06  Andreas Tobler  <a.tobler@schweiz.ch>
  
! 	PR target/21325
! 	* configure.in (powerpc-*-darwin*): Remove ${libgcj} from noconfigdirs.
! 	* configure: Regenerated.
  
! 2005-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* MAINTAINERS: Add self as Blackfin maintainer
! 	* config.sub: Import from master version.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
! 2005-04-20  Geoffrey Keating  <geoffk@apple.com>
  
! 	* configure.in (powerpc-*-darwin*): Add ${libgcj} to noconfigdirs.
! 	* configure: Regenerated.
  
! 2005-04-19  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* configure: Regenerate after change to config/acx.m4.
  
  2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>
  
  	* MAINTAINERS (Various Maintainers): Add self as i18n maintainer.
  
  2005-04-04  Thomas Koenig  <Thomas.Koenig@online.de>
  
!         * MAINTAINERS (Write After Approval): Add myself.
  
  2005-03-25  Paolo Bonzini  <bonzini@gnu.org>
  
  	* configure.in (RPATH_ENVVAR): Set to DYLD_LIBRARY_PATH on Darwin.
  	* configure: Regenerate.
  
! 2005-03-14  Feng Wang  <fengwang@nudt.edu.cn>
  
  	* MAINTAINERS (Write After Approval): Add myself.
  
--- 490,622 ----
  	* ltmain.sh: If command exceeds max_cmd_len and file_list_spec
  	exists, write list of input files to temporary file.
  
! 2005-05-04  Mike Stump  <mrs@apple.com>
  
! 	* configure.in: Always pass --target to target configures as
! 	otherwise rebuilds that do --recheck will fail.
! 	* confiugure: Rebuilt.
  
! 2005-05-04  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Rename from
! 	STAGE_HOST_EXPORTS.
! 	(configure, all): Add bootstrap support.
! 	(Host modules, target modules): Pass post-stage1 flags and exports.
! 	(Top-level bootstrap): Remove bootstrap rules, expanded elsewhere.
! 	* Makefile.in: Regenerate.
  
! 2005-04-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* configure: Regenerate.
  
! 2005-04-27  Mike Stump  <mrs@apple.com>
  
! 	* MAINTAINERS: Add self as darwin maintainer.
  
! 2005-04-22  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config.sub: Update from master copy.
  
! 2005-04-21  Mike Stump  <mrs@apple.com>
  
! 	* MAINTAINERS: Add self as Objective-C/Objective-C++ maintainer.
! 	* MAINTAINERS: Add Zem as Objective-C++ maintainer.
! 
! 2005-04-19  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	* configure.in <crisv32-*-*, cris-*-*>: New local variable
! 	libgcj_ex_libffi.  Have specific match for *-*-linux*.  Separate
! 	matches for "*-*-aout" and "*-*-elf".  Don't disable libffi for
! 	"*-*-elf" and "*-*-linux*".
! 	* configure: Regenerate.
  
  2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>
  
  	* MAINTAINERS (Various Maintainers): Add self as i18n maintainer.
  
+ 2005-04-12  Mike Stump  <mrs@apple.com>
+ 
+ 	* libtool.m4: Update AC_LIBTOOL_SYS_MAX_CMD_LEN bits from upstream.
+ 
  2005-04-04  Thomas Koenig  <Thomas.Koenig@online.de>
  
! 	* MAINTAINERS (Write After Approval): Add myself.
! 
! 2005-04-07  Bernd Schmidt  <bernd.schmidt@analog.com>
! 
! 	* MAINTAINERS (Port Maintainers): Add self for Blackfin.
! 
! 2005-04-06  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir.
! 	(TARGET_CONFIGARGS): Include --with-target-subdir.
! 	(configure, all): New macros.  Use them throughout.
! 	* Makefile.in: Regenerate.
! 
! 2005-04-04  Jon Grimm  <jgrimm2@us.ibm.com>
! 
! 	* MAINTAINERS (Write After Approval): Add myself.
! 
! 2005-03-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
! 
! 	* MAINTAINERS: Remove 'loop unrolling' maintainer.
! 
! 2005-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
! 
! 	* MAINTAINERS: Move John Carr to Write After Approval.
! 
! 2005-03-30  J"orn Rennecke <joern.rennecke@st.com>
! 
! 	* config/mh-mingw32: Delete.
! 	* configure.in: Don't use it.
! 	* configure: Regenerate.
! 
! 2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* Makefile.def (bfd, opcodes, libstdc++-v3, libmudflap): Set lib_path.
! 	* Makefile.tpl (SET_LIB_PATH, REALLY_SET_LIB_PATH): Remove.
! 	(HOST_EXPORTS, STAGE_HOST_EXPORTS, TARGET_EXPORTS): Set $(RPATH_ENVVAR).
! 	(HOST_LIB_PATH): Generate from Makefile.def.
! 	(TARGET_LIB_PATH): Likewise.
! 	(Old bootstrap targets): Include TARGET_LIB_PATH into RPATH_ENVVAR.
! 	* Makefile.in: Regenerate.
! 	* configure.in (set_lib_path, SET_LIB_PATH, SET_GCC_LIB_PATH): Remove.
! 	(RPATH_ENVVAR): Include Darwin case.
! 	* configure: Regenerate.
! 
! 2005-03-29  Thomas Fitzsimmons  <fitzsim@redhat.com>
! 
! 	* MAINTAINERS (Various Maintainers): Remove self.
! 	(Write After Approval): Add self.
! 
! 2005-03-26  Thomas Fitzsimmons  <fitzsim@redhat.com>
! 
! 	* MAINTAINERS (Various Maintainers): Add self.
  
  2005-03-25  Paolo Bonzini  <bonzini@gnu.org>
  
  	* configure.in (RPATH_ENVVAR): Set to DYLD_LIBRARY_PATH on Darwin.
  	* configure: Regenerate.
  
! 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir,
! 	gcc_version, and gcc_version_trigger from set of flags to pass.
! 	* Makefile.tpl: Remove definitions of above variables.
! 	(config.status): Remove dependency on $(gcc_version_trigger).
! 	* Makefile.in: Regenerate.
! 	* configure.in: Do not reference config/gcc-version.m4 nor
! 	config/gxx-include-dir.m4.  Do not invoke TL_AC_GCC_VERSION nor
! 	TL_AC_GXX_INCLUDE_DIR.  Do not set gcc_version_trigger.
! 	* configure: Regenerate.
! 
! 2005-03-16  Manfred Hollstein  <manfred.h@gmx.net>
! 	    Andrew Pinski <pinskia@physics.uc.edu>
! 
! 	* Makefile.tpl (check-[+module+]): Fix shell statement inside if ... fi.
! 	* Makefile.in: Regenerate.
! 
! 2005-03-13  Feng Wang  <fengwang@nudt.edu.cn>
  
  	* MAINTAINERS (Write After Approval): Add myself.
  
***************
*** 96,101 ****
--- 630,679 ----
  	* ltmain.sh: Avoid creating archives with components that have
  	duplicate basenames.
  
+ 2005-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR bootstrap/20250
+ 	* Makefile.tpl (HOST target installs): Fix copy and pasto, use install
+ 	instead of check.
+ 	* Makefile.in: Regenerate.
+ 
+ 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in: Regenerate to fix conflict between the previous two
+ 	patches.
+ 
+ 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR bootstrap/17383
+ 	* Makefile.def (target_modules): Remove "stage", now unnecessary.
+ 	* Makefile.tpl (HOST_SUBDIR): New substitution.
+ 	(STAGE_HOST_EXPORTS, EXPECT, HOST_LIB_PATH, USUAL_AR_FOR_TARGET,
+ 	USUAL_AS_FOR_TARGET, USUAL_DLLTOOL_FOR_TARGET, USUAL_GCC_FOR_TARGET,
+ 	USUAL_LD_FOR_TARGET, USUAL_NM_FOR_TARGET, USUAL_OBJDUMP_FOR_TARGET,
+ 	USUAL_RANLIB_FOR_TARGET, USUAL_WINDRES_FOR_TARGET): Use it.
+ 	(Host modules, Bootstrapped modules): Use it.
+ 	(Build modules, Target modules): Do not create symlink trees,
+ 	always configure out-of-srcdir.
+ 	(distclean): Try removing $(host_subdir) with rm before using rm -rf.
+ 	* configure.in (FLAGS_FOR_TARGET, CC_FOR_TARGET, GCJ_FOR_TARGET,
+ 	GFORTRAN_FOR_TARGET, CXX_FOR_TARGET, RAW_CXX_FOR_TARGET): Use
+ 	$(HOST_SUBDIR).  Create a symlink for host_subdir.
+ 
+ 	* Makefile.in: Regenerate.
+ 	* configure: Regenerate.
+ 
+ 2005-02-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	Merged from libada-gnattools-branch:
+ 	2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* gnattools: New directory.
+ 	* Makefile.def: Add gnattools as a module, depending on target-libada.
+ 	* Makefile.in: Regenerate.
+ 	* configure.in: Include gnattools in host_tools; disable it if ada
+ 	is disabled.
+ 	* configure: Regenerate.
+ 
  2005-02-24  James A. Morrison  <phython@gcc.gnu.org>
  
  	* MAINTAINERS (Language Front Ends Maintainers): Add myself as
***************
*** 414,420 ****
  2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com>
  
  	* configure.in: Enable target-libgloss for crx-*-*.
!         * configure: Regenerate.
  
  2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
  
--- 992,998 ----
  2004-10-05  Tomer Levi  <Tomer.Levi@nsc.com>
  
  	* configure.in: Enable target-libgloss for crx-*-*.
! 	* configure: Regenerate.
  
  2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
  
***************
*** 626,632 ****
  	* configure.in: add test for powerpc-*-darwin* to specify makefile frag
  	* configure: regenerate
  	* config/mh-ppc-darwin: create file, override BOOT_CFLAGS for
!         -mdynamic-no-pic
  
  
  2004-08-31  Paolo Bonzini  <bonzini@gnu.org>
--- 1204,1210 ----
  	* configure.in: add test for powerpc-*-darwin* to specify makefile frag
  	* configure: regenerate
  	* config/mh-ppc-darwin: create file, override BOOT_CFLAGS for
! 	-mdynamic-no-pic
  
  
  2004-08-31  Paolo Bonzini  <bonzini@gnu.org>
diff -Nrcpad gcc-4.0.2/FAQ gcc-4.1.0/FAQ
*** gcc-4.0.2/FAQ	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/FAQ	Tue Feb 28 08:39:15 2006
*************** What is an open development model?
*** 76,84 ****
     they have been made in the past.
  
     In  addition  to  weekly  snapshots of the GCC development sources, we
!    have  the sources readable from a CVS server by anyone. Furthermore we
!    are  using  remote CVS to allow remote maintainers write access to the
!    sources.
  
     There  have  been  many  potential GCC developers who were not able to
     participate  in  GCC  development in the past. We want these people to
--- 76,83 ----
     they have been made in the past.
  
     In  addition  to  weekly  snapshots of the GCC development sources, we
!    have the sources readable from an SVN server by anyone. Furthermore we
!    are using SVN to allow maintainers write access to the sources.
  
     There  have  been  many  potential GCC developers who were not able to
     participate  in  GCC  development in the past. We want these people to
*************** dynamic_cast, throw, typeid don't work w
*** 463,469 ****
  Why do I need autoconf, bison, xgettext, automake, etc?
  
     If  you're  using  diffs up dated from one snapshot to the next, or if
!    you're  using  the  CVS  repository,  you  may need several additional
     programs to build GCC.
  
     These  include, but are not necessarily limited to autoconf, automake,
--- 462,468 ----
  Why do I need autoconf, bison, xgettext, automake, etc?
  
     If  you're  using  diffs up dated from one snapshot to the next, or if
!    you're  using  the  SVN  repository,  you  may need several additional
     programs to build GCC.
  
     These  include, but are not necessarily limited to autoconf, automake,
*************** Why do I need autoconf, bison, xgettext,
*** 475,485 ****
  
     An  easy  way  to  work  around  this problem is to use the gcc_update
     script  in  the  contrib  subdirectory  of  GCC,  which  handles  this
!    transparently  without requiring installation of any additional tools.
!    (Note: Up to and including GCC 2.95 this script was called egcs_update
!    .)
  
!    When  building  from diffs or CVS or if you modified some sources, you
     may also need to obtain development versions of some GNU tools, as the
     production  versions  do not necessarily handle all features needed to
     rebuild GCC.
--- 474,482 ----
  
     An  easy  way  to  work  around  this problem is to use the gcc_update
     script  in  the  contrib  subdirectory  of  GCC,  which  handles  this
!    transparently without requiring installation of any additional tools.
  
!    When  building  from diffs or SVN or if you modified some sources, you
     may also need to obtain development versions of some GNU tools, as the
     production  versions  do not necessarily handle all features needed to
     rebuild GCC.
*************** Will GCC someday include an incremental 
*** 545,551 ****
  References
  
     1. http://gcc.gnu.org/faq.html
!    2. http://www.eskimo.com/~scs/C-faq/top.html
     3. http://www.jamesd.demon.co.uk/csc/faq.html
     4. http://www.fortran.com/fortran/info.html
     5. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html
--- 542,548 ----
  References
  
     1. http://gcc.gnu.org/faq.html
!    2. http://c-faq.com/
     3. http://www.jamesd.demon.co.uk/csc/faq.html
     4. http://www.fortran.com/fortran/info.html
     5. http://gcc.gnu.org/onlinedocs/libstdc++/faq/index.html
diff -Nrcpad gcc-4.0.2/INSTALL/binaries.html gcc-4.1.0/INSTALL/binaries.html
*** gcc-4.0.2/INSTALL/binaries.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/binaries.html	Tue Feb 28 08:39:15 2006
*************** HP-UX 10.20, 11.00, and 11.11, and
*** 93,99 ****
  Solaris/SPARC 2.5.1, 2.6, 7, 8, and 9.
  
       <li><a href="http://www.openpkg.org/">OpenPKG</a> offers binaries for quite a
! number of platforms. 
  </ul>
  
     <p>In addition to those specific offerings, you can get a binary
--- 93,102 ----
  Solaris/SPARC 2.5.1, 2.6, 7, 8, and 9.
  
       <li><a href="http://www.openpkg.org/">OpenPKG</a> offers binaries for quite a
! number of platforms.
! 
!      <li>The <a href="http://gcc.gnu.org/wiki/GFortranBinaries">GFortran Wiki</a> has
! links to gfortran binaries for several platforms. 
  </ul>
  
     <p>In addition to those specific offerings, you can get a binary
diff -Nrcpad gcc-4.0.2/INSTALL/configure.html gcc-4.1.0/INSTALL/configure.html
*** gcc-4.0.2/INSTALL/configure.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/configure.html	Tue Feb 28 08:39:15 2006
*************** missing and thus this setting will cause
*** 445,450 ****
--- 445,460 ----
  <br><dt><code>nks</code><dd>Novell Kernel Services thread support. 
  </dl>
  
+      <br><dt><code>--enable-tls</code><dd>Specify that the target supports TLS (Thread Local Storage).  Usually
+ configure can correctly determine if TLS is supported.  In cases where
+ it guesses incorrectly, TLS can be explicitly enabled or disabled with
+ <samp><span class="option">--enable-tls</span></samp> or <samp><span class="option">--disable-tls</span></samp>.  This can happen if
+ the assembler supports TLS but the C library does not, or if the
+ assumptions made by the configure test are incorrect.
+ 
+      <br><dt><code>--disable-tls</code><dd>Specify that the target does not support TLS. 
+ This is an alias for <samp><span class="option">--enable-tls=no</span></samp>.
+ 
       <br><dt><code>--with-cpu=</code><var>cpu</var><dd>Specify which cpu variant the compiler should generate code for by default. 
  <var>cpu</var> will be used as the default value of the <samp><span class="option">-mcpu=</span></samp> switch. 
  This option is only supported on some targets, including ARM, i386, PowerPC,
*************** their runtime libraries should be built.
*** 533,555 ****
       <pre class="smallexample">          grep language= */config-lang.in
       </pre>
       <p>Currently, you can use any of the following:
! <code>all</code>, <code>ada</code>, <code>c</code>, <code>c++</code>, <code>f95</code>, <code>java</code>,
! <code>objc</code>, <code>treelang</code>. 
  Building the Ada compiler has special requirements, see below. 
  If you do not pass this flag, or specify the option <code>all</code>, then all
  default languages available in the <samp><span class="file">gcc</span></samp> sub-tree will be configured. 
! Ada and treelang are not default languages; the rest are.  Re-defining
! <code>LANGUAGES</code> when calling `<samp><span class="samp">make bootstrap</span></samp>' <strong>does not</strong> work
! anymore, as those language sub-directories might not have been configured!
  
       <br><dt><code>--disable-libada</code><dd>Specify that the run-time libraries and tools used by GNAT should not
  be built.  This can be useful for debugging, or for compatibility with
  previous Ada build procedures, when it was required to explicitly
  do a `<samp><span class="samp">make -C gcc gnatlib_and_tools</span></samp>'.
  
       <br><dt><code>--with-dwarf2</code><dd>Specify that the compiler should
  use DWARF 2 debugging information as the default.
  
       <br><dt><code>--enable-win32-registry</code><dt><code>--enable-win32-registry=</code><var>key</var><dt><code>--disable-win32-registry</code><dd>The <samp><span class="option">--enable-win32-registry</span></samp> option enables Microsoft Windows-hosted GCC
  to look up installations paths in the registry using the following key:
  
--- 543,581 ----
       <pre class="smallexample">          grep language= */config-lang.in
       </pre>
       <p>Currently, you can use any of the following:
! <code>all</code>, <code>ada</code>, <code>c</code>, <code>c++</code>, <code>fortran</code>, <code>java</code>,
! <code>objc</code>, <code>obj-c++</code>, <code>treelang</code>. 
  Building the Ada compiler has special requirements, see below. 
  If you do not pass this flag, or specify the option <code>all</code>, then all
  default languages available in the <samp><span class="file">gcc</span></samp> sub-tree will be configured. 
! Ada, Objective-C++, and treelang are not default languages; the rest are. 
! Re-defining <code>LANGUAGES</code> when calling `<samp><span class="samp">make bootstrap</span></samp>'
! <strong>does not</strong> work anymore, as those language sub-directories might
! not have been configured!
  
       <br><dt><code>--disable-libada</code><dd>Specify that the run-time libraries and tools used by GNAT should not
  be built.  This can be useful for debugging, or for compatibility with
  previous Ada build procedures, when it was required to explicitly
  do a `<samp><span class="samp">make -C gcc gnatlib_and_tools</span></samp>'.
  
+      <br><dt><code>--disable-libssp</code><dd>Specify that the run-time libraries for stack smashing protection
+ should not be built.
+ 
       <br><dt><code>--with-dwarf2</code><dd>Specify that the compiler should
  use DWARF 2 debugging information as the default.
  
+      <br><dt><code>--enable-targets=all</code><dt><code>--enable-targets=</code><var>target_list</var><dd>Some GCC targets, e.g. powerpc64-linux, build bi-arch compilers. 
+ These are compilers that are able to generate either 64-bit or 32-bit
+ code.  Typically, the corresponding 32-bit target, e.g. 
+ powerpc-linux for powerpc64-linux, only generates 32-bit code.  This
+ option enables the 32-bit target to be a bi-arch compiler, which is
+ useful when you want a bi-arch compiler that defaults to 32-bit, and
+ you are building a bi-arch or multi-arch binutils in a combined tree. 
+ Currently, this option only affects powerpc-linux.
+ 
+      <br><dt><code>--enable-secureplt</code><dd>This option enables <samp><span class="option">-msecure-plt</span></samp> by default for powerpc-linux. 
+ See &ldquo;RS/6000 and PowerPC Options&rdquo; in the main manual
+ 
       <br><dt><code>--enable-win32-registry</code><dt><code>--enable-win32-registry=</code><var>key</var><dt><code>--disable-win32-registry</code><dd>The <samp><span class="option">--enable-win32-registry</span></samp> option enables Microsoft Windows-hosted GCC
  to look up installations paths in the registry using the following key:
  
*************** development trunk.  However it defaults 
*** 574,602 ****
  final releases.  The specific files which get <samp><span class="option">-Werror</span></samp> are
  controlled by the Makefiles.
  
!      <br><dt><code>--enable-checking</code><dt><code>--enable-checking=</code><var>list</var><dd>When you specify this option, the compiler is built to perform checking
! of tree node types when referencing fields of that node, and some other
! internal consistency checks.  This does not change the generated code,
! but adds error checking within the compiler.  This will slow down the
! compiler and may only work properly if you are building the compiler
! with GCC.  This is on by default when building from CVS or snapshots,
! but off for releases.  More control over the checks may be had by
! specifying <var>list</var>; the categories of checks available are
! `<samp><span class="samp">release</span></samp>', `<samp><span class="samp">assert</span></samp>', `<samp><span class="samp">misc</span></samp>', `<samp><span class="samp">tree</span></samp>', `<samp><span class="samp">gc</span></samp>',
! `<samp><span class="samp">rtl</span></samp>', `<samp><span class="samp">rtlflag</span></samp>', `<samp><span class="samp">fold</span></samp>', `<samp><span class="samp">gcac</span></samp>' and
! `<samp><span class="samp">valgrind</span></samp>'.  The `<samp><span class="samp">release</span></samp>' category enables only those checks
! suitable for release builds, currently this is just `<samp><span class="samp">assert</span></samp>'.  The
! check `<samp><span class="samp">valgrind</span></samp>' requires the external <samp><span class="command">valgrind</span></samp>
! simulator, available from <a href="http://valgrind.org/">http://valgrind.org/</a>.  The checks
! `<samp><span class="samp">rtl</span></samp>', `<samp><span class="samp">gcac</span></samp>' and `<samp><span class="samp">valgrind</span></samp>' are very expensive.  The
! default when <var>list</var> is not specified is
! `<samp><span class="samp">assert,misc,tree,gc,rtlflag</span></samp>'.  That is also the default for
! development builds, when `<samp><span class="samp">--enable-checking</span></samp>' is not specified.  For
! release builds the default, when `<samp><span class="samp">--enable-checking</span></samp>' is not given,
! is `<samp><span class="samp">release</span></samp>'.  To disable all checking, `<samp><span class="samp">--disable-checking</span></samp>'
! must be explicitly requested.  Disabling assertions will make the
! compiler slightly faster but increase the risk of undetected internal
! errors causing wrong code to be generated.
  
       <br><dt><code>--enable-coverage</code><dt><code>--enable-coverage=</code><var>level</var><dd>With this option, the compiler is built to collect self coverage
  information, every time it is run.  This is for internal development
--- 600,628 ----
  final releases.  The specific files which get <samp><span class="option">-Werror</span></samp> are
  controlled by the Makefiles.
  
!      <br><dt><code>--enable-checking</code><dt><code>--enable-checking=</code><var>list</var><dd>When you specify this option, the compiler is built to perform internal
! consistency checks of the requested complexity.  This does not change the
! generated code, but adds error checking within the compiler.  This will
! slow down the compiler and may only work properly if you are building
! the compiler with GCC.  This is `<samp><span class="samp">yes</span></samp>' by default when building
! from CVS or snapshots, but `<samp><span class="samp">release</span></samp>' for releases.  More control
! over the checks may be had by specifying <var>list</var>.  The categories of
! checks available are `<samp><span class="samp">yes</span></samp>' (most common checks
! `<samp><span class="samp">assert,misc,tree,gc,rtlflag,runtime</span></samp>'), `<samp><span class="samp">no</span></samp>' (no checks at
! all), `<samp><span class="samp">all</span></samp>' (all but `<samp><span class="samp">valgrind</span></samp>'), `<samp><span class="samp">release</span></samp>' (cheapest
! checks `<samp><span class="samp">assert,runtime</span></samp>') or `<samp><span class="samp">none</span></samp>' (same as `<samp><span class="samp">no</span></samp>'). 
! Individual checks can be enabled with these flags `<samp><span class="samp">assert</span></samp>',
! `<samp><span class="samp">fold</span></samp>', `<samp><span class="samp">gc</span></samp>', `<samp><span class="samp">gcac</span></samp>' `<samp><span class="samp">misc</span></samp>', `<samp><span class="samp">rtl</span></samp>',
! `<samp><span class="samp">rtlflag</span></samp>', `<samp><span class="samp">runtime</span></samp>', `<samp><span class="samp">tree</span></samp>', and `<samp><span class="samp">valgrind</span></samp>'.
! 
!      <p>The `<samp><span class="samp">valgrind</span></samp>' check requires the external <samp><span class="command">valgrind</span></samp>
! simulator, available from <a href="http://valgrind.org/">http://valgrind.org/</a>.  The
! `<samp><span class="samp">rtl</span></samp>', `<samp><span class="samp">gcac</span></samp>' and `<samp><span class="samp">valgrind</span></samp>' checks are very expensive. 
! To disable all checking, `<samp><span class="samp">--disable-checking</span></samp>' or
! `<samp><span class="samp">--enable-checking=none</span></samp>' must be explicitly requested.  Disabling
! assertions will make the compiler and runtime slightly faster but
! increase the risk of undetected internal errors causing wrong code to be
! generated.
  
       <br><dt><code>--enable-coverage</code><dt><code>--enable-coverage=</code><var>level</var><dd>With this option, the compiler is built to collect self coverage
  information, every time it is run.  This is for internal development
*************** in case <samp><span class="option">--wit
*** 657,662 ****
--- 683,700 ----
  subdirectory of <samp><span class="option">${exec_prefix}</span></samp>, then it will be found relative to
  the GCC binaries if the installation tree is moved.
  
+      <br><dt><code>--with-build-sysroot</code><dt><code>--with-build-sysroot=</code><var>dir</var><dd>Tells GCC to consider <var>dir</var> as the system root (see
+ <samp><span class="option">--with-sysroot</span></samp>) while building target libraries, instead of
+ the directory specified with <samp><span class="option">--with-sysroot</span></samp>.  This option is
+ only useful when you are already using <samp><span class="option">--with-sysroot</span></samp>.  You
+ can use <samp><span class="option">--with-build-sysroot</span></samp> when you are configuring with
+ <samp><span class="option">--prefix</span></samp> set to a directory that is different from the one in
+ which you are installing GCC and your target libraries.
+ 
+      <p>This option affects the system root for the compiler used to build
+ target libraries (which runs on the build system); it does not affect
+ the compiler which is used to build GCC itself.
+ 
       <br><dt><code>--with-headers</code><dt><code>--with-headers=</code><var>dir</var><dd>Deprecated in favor of <samp><span class="option">--with-sysroot</span></samp>. 
  Specifies that target headers are available when building a cross compiler. 
  The <var>dir</var> argument specifies a directory which has the target include
diff -Nrcpad gcc-4.0.2/INSTALL/gfdl.html gcc-4.1.0/INSTALL/gfdl.html
*** gcc-4.0.2/INSTALL/gfdl.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/gfdl.html	Tue Feb 28 08:39:15 2006
*************** license is included in the section entit
*** 46,52 ****
     <p><a name="index-FDL_002c-GNU-Free-Documentation-License-1"></a><div align="center">Version 1.2, November 2002</div>
  
  <pre class="display">     Copyright &copy; 2000,2001,2002 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307, USA
       
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
--- 46,52 ----
     <p><a name="index-FDL_002c-GNU-Free-Documentation-License-1"></a><div align="center">Version 1.2, November 2002</div>
  
  <pre class="display">     Copyright &copy; 2000,2001,2002 Free Software Foundation, Inc.
!      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
       
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
*************** and independent documents or works, in o
*** 359,365 ****
  distribution medium, is called an &ldquo;aggregate&rdquo; if the copyright
  resulting from the compilation is not used to limit the legal rights
  of the compilation's users beyond what the individual works permit. 
! When the Document is included an aggregate, this License does not
  apply to the other works in the aggregate which are not themselves
  derivative works of the Document.
  
--- 359,365 ----
  distribution medium, is called an &ldquo;aggregate&rdquo; if the copyright
  resulting from the compilation is not used to limit the legal rights
  of the compilation's users beyond what the individual works permit. 
! When the Document is included in an aggregate, this License does not
  apply to the other works in the aggregate which are not themselves
  derivative works of the Document.
  
*************** permission from their copyright holders,
*** 380,386 ****
  translations of some or all Invariant Sections in addition to the
  original versions of these Invariant Sections.  You may include a
  translation of this License, and all the license notices in the
! Document, and any Warrany Disclaimers, provided that you also include
  the original English version of this License and the original versions
  of those notices and disclaimers.  In case of a disagreement between
  the translation and the original version of this License or a notice
--- 380,386 ----
  translations of some or all Invariant Sections in addition to the
  original versions of these Invariant Sections.  You may include a
  translation of this License, and all the license notices in the
! Document, and any Warranty Disclaimers, provided that you also include
  the original English version of this License and the original versions
  of those notices and disclaimers.  In case of a disagreement between
  the translation and the original version of this License or a notice
*************** license notices just after the title pag
*** 429,436 ****
         Permission is granted to copy, distribute and/or modify this document
         under the terms of the GNU Free Documentation License, Version 1.2
         or any later version published by the Free Software Foundation;
!        with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
!        A copy of the license is included in the section entitled ``GNU
         Free Documentation License''.
  </pre>
     <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
--- 429,436 ----
         Permission is granted to copy, distribute and/or modify this document
         under the terms of the GNU Free Documentation License, Version 1.2
         or any later version published by the Free Software Foundation;
!        with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
!        Texts.  A copy of the license is included in the section entitled ``GNU
         Free Documentation License''.
  </pre>
     <p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
diff -Nrcpad gcc-4.0.2/INSTALL/prerequisites.html gcc-4.1.0/INSTALL/prerequisites.html
*** gcc-4.0.2/INSTALL/prerequisites.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/prerequisites.html	Tue Feb 28 08:39:15 2006
*************** snapshots of the development sources are
*** 191,196 ****
--- 191,198 ----
  Necessary when regenerating <samp><span class="file">Makefile</span></samp> dependencies in libiberty. 
  Necessary when regenerating <samp><span class="file">libiberty/functions.texi</span></samp>. 
  Necessary when generating manpages from Texinfo manuals. 
+ Necessary when targetting Darwin, building libstdc++,
+ and not using <samp><span class="option">--disable-symvers</span></samp>. 
  Used by various scripts to generate some files included in CVS (mainly
  Unicode-related and rarely changing) from source tables.
  
diff -Nrcpad gcc-4.0.2/INSTALL/specific.html gcc-4.1.0/INSTALL/specific.html
*** gcc-4.0.2/INSTALL/specific.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/specific.html	Tue Feb 28 08:39:15 2006
*************** GNU Compiler Collection on your machine.
*** 72,79 ****
  <li><a href="#ia64-x-linux">ia64-*-linux</a>
  <li><a href="#ia64-x-hpux">ia64-*-hpux*</a>
  <li><a href="#x-ibm-aix">*-ibm-aix*</a>
- <li><a href="#ip2k-x-elf">ip2k-*-elf</a>
  <li><a href="#iq2000-x-elf">iq2000-*-elf</a>
  <li><a href="#m32r-x-elf">m32r-*-elf</a>
  <li><a href="#m6811-elf">m6811-elf</a>
  <li><a href="#m6812-elf">m6812-elf</a>
--- 72,79 ----
  <li><a href="#ia64-x-linux">ia64-*-linux</a>
  <li><a href="#ia64-x-hpux">ia64-*-hpux*</a>
  <li><a href="#x-ibm-aix">*-ibm-aix*</a>
  <li><a href="#iq2000-x-elf">iq2000-*-elf</a>
+ <li><a href="#m32c-x-elf">m32c-*-elf</a>
  <li><a href="#m32r-x-elf">m32r-*-elf</a>
  <li><a href="#m6811-elf">m6811-elf</a>
  <li><a href="#m6812-elf">m6812-elf</a>
*************** information about this platform is avail
*** 353,359 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC12"></a><a name="dos"></a>DOS</h3>
  
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
  
--- 353,377 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC12"></a><a name="crx"></a>CRX</h3>
! 
! <p>The CRX CompactRISC architecture is a low-power 32-bit architecture with
! fast context switching and architectural extensibility features.
! 
!    <p>See &ldquo;CRX Options&rdquo; in the main manual for a list of CRX-specific options.
! 
!    <p>Use `<samp><span class="samp">configure --target=crx-elf --enable-languages=c,c++</span></samp>' to configure
! GCC for building a CRX cross-compiler. The option `<samp><span class="samp">--target=crx-elf</span></samp>'
! is also used to build the `<samp><span class="samp">newlib</span></samp>' C library for CRX.
! 
!    <p>It is also possible to build libstdc++-v3 for the CRX architecture. This
! needs to be done in a separate step with the following configure settings:
! `<samp><span class="samp">gcc/libstdc++-v3/configure --host=crx-elf --with-newlib
! --enable-sjlj-exceptions --enable-cxx-flags='-fexceptions -frtti'</span></samp>'
! 
!    <p><hr />
! 
! <h3 class="heading"><a name="TOC13"></a><a name="dos"></a>DOS</h3>
  
  <p>Please have a look at the <a href="binaries.html">binaries page</a>.
  
*************** and includes all the necessary compilati
*** 364,370 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC13"></a><a name="x_002dx_002dfreebsd"></a>*-*-freebsd*</h3>
  
  <p>The version of binutils installed in <samp><span class="file">/usr/bin</span></samp> probably works with
  this release of GCC.  However, on FreeBSD 4, bootstrapping against the
--- 382,388 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC14"></a><a name="x_002dx_002dfreebsd"></a>*-*-freebsd*</h3>
  
  <p>The version of binutils installed in <samp><span class="file">/usr/bin</span></samp> probably works with
  this release of GCC.  However, on FreeBSD 4, bootstrapping against the
*************** the very least, both boehm-gc and libffi
*** 411,417 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC14"></a><a name="h8300_002dhms"></a>h8300-hms</h3>
  
  <p>Renesas H8/300 series of processors.
  
--- 429,435 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC15"></a><a name="h8300_002dhms"></a>h8300-hms</h3>
  
  <p>Renesas H8/300 series of processors.
  
*************** longer a multiple of 2 bytes.
*** 424,435 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC15"></a><a name="hppa_002dhp_002dhpux"></a>hppa*-hp-hpux*</h3>
  
  <p>Support for HP-UX version 9 and older was discontinued in GCC 3.4.
  
!    <p>We <em>highly</em> recommend using gas/binutils on all hppa platforms;
! you may encounter a variety of problems when using the HP assembler.
  
     <p>Specifically, <samp><span class="option">-g</span></samp> does not work on HP-UX (since that system
  uses a peculiar debugging format which GCC does not know about), unless
--- 442,453 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC16"></a><a name="hppa_002dhp_002dhpux"></a>hppa*-hp-hpux*</h3>
  
  <p>Support for HP-UX version 9 and older was discontinued in GCC 3.4.
  
!    <p>We require using gas/binutils on all hppa platforms;
! you may encounter a variety of problems if you try to use the HP assembler.
  
     <p>Specifically, <samp><span class="option">-g</span></samp> does not work on HP-UX (since that system
  uses a peculiar debugging format which GCC does not know about), unless
*************** you use GAS and GDB.  It may be helpful 
*** 438,445 ****
  <samp><span class="option">--with-as=...</span></samp> options to ensure that GCC can find GAS.
  
     <p>If you wish to use the pa-risc 2.0 architecture support with a 32-bit
! runtime, you must use either the HP assembler, or gas/binutils 2.11
! or newer.
  
     <p>There are two default scheduling models for instructions.  These are
  PROCESSOR_7100LC and PROCESSOR_8000.  They are selected from the pa-risc
--- 456,462 ----
  <samp><span class="option">--with-as=...</span></samp> options to ensure that GCC can find GAS.
  
     <p>If you wish to use the pa-risc 2.0 architecture support with a 32-bit
! runtime, you must use gas/binutils 2.11 or newer.
  
     <p>There are two default scheduling models for instructions.  These are
  PROCESSOR_7100LC and PROCESSOR_8000.  They are selected from the pa-risc
*************** or `<samp><span class="samp">98</span></
*** 463,473 ****
  to <samp><span class="env">CC</span></samp>.  The description for the <samp><span class="option">munix=</span></samp> option contains
  a list of the predefines used with each standard.
  
     <p>More specific information to `<samp><span class="samp">hppa*-hp-hpux*</span></samp>' targets follows.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC16"></a><a name="hppa_002dhp_002dhpux10"></a>hppa*-hp-hpux10</h3>
  
  <p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed patch
  <code>PHCO_19798</code> from HP.  HP has two sites which provide patches free of
--- 480,501 ----
  to <samp><span class="env">CC</span></samp>.  The description for the <samp><span class="option">munix=</span></samp> option contains
  a list of the predefines used with each standard.
  
+    <p>As of GCC 4.1, <samp><span class="env">DWARF2</span></samp> exception handling is available on HP-UX. 
+ It is now the default.  This exposed a bug in the handling of data
+ relocations in the GAS assembler.  The handling of 64-bit data relocations
+ was seriously broken, affecting debugging and exception support on all
+ `<samp><span class="samp">hppa64-*-*</span></samp>' targets.  Under some circumstances, 32-bit data relocations
+ could also be handled incorrectly.  This problem is fixed in GAS version
+ 2.16.91 20051125.
+ 
+    <p>GCC versions prior to 4.1 incorrectly passed and returned complex
+ values.  They are now passed in the same manner as aggregates.
+ 
     <p>More specific information to `<samp><span class="samp">hppa*-hp-hpux*</span></samp>' targets follows.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC17"></a><a name="hppa_002dhp_002dhpux10"></a>hppa*-hp-hpux10</h3>
  
  <p>For hpux10.20, we <em>highly</em> recommend you pick up the latest sed patch
  <code>PHCO_19798</code> from HP.  HP has two sites which provide patches free of
*************** with the one implemented under HP-UX 11 
*** 494,500 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC17"></a><a name="hppa_002dhp_002dhpux11"></a>hppa*-hp-hpux11</h3>
  
  <p>GCC 3.0 and up support HP-UX 11.  GCC 2.95.x is not supported and cannot
  be used to compile GCC 3.0 and up.
--- 522,528 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC18"></a><a name="hppa_002dhp_002dhpux11"></a>hppa*-hp-hpux11</h3>
  
  <p>GCC 3.0 and up support HP-UX 11.  GCC 2.95.x is not supported and cannot
  be used to compile GCC 3.0 and up.
*************** library is not supported.
*** 625,631 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC18"></a><a name="x_002dx_002dlinux_002dgnu"></a>*-*-linux-gnu</h3>
  
  <p>Versions of libstdc++-v3 starting with 3.2.1 require bugfixes present
  in glibc 2.2.5 and later.  More information is available in the
--- 653,659 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC19"></a><a name="x_002dx_002dlinux_002dgnu"></a>*-*-linux-gnu</h3>
  
  <p>Versions of libstdc++-v3 starting with 3.2.1 require bugfixes present
  in glibc 2.2.5 and later.  More information is available in the
*************** libstdc++-v3 documentation.
*** 633,646 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC19"></a><a name="ix86_002dx_002dlinuxaout"></a>i?86-*-linux*aout</h3>
  
  <p>Use this configuration to generate <samp><span class="file">a.out</span></samp> binaries on Linux-based
  GNU systems.  This configuration is being superseded.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC20"></a><a name="ix86_002dx_002dlinux"></a>i?86-*-linux*</h3>
  
  <p>As of GCC 3.3, binutils 2.13.1 or later is required for this platform. 
  See <a href="http://gcc.gnu.org/PR10877">bug 10877</a> for more information.
--- 661,674 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC20"></a><a name="ix86_002dx_002dlinuxaout"></a>i?86-*-linux*aout</h3>
  
  <p>Use this configuration to generate <samp><span class="file">a.out</span></samp> binaries on Linux-based
  GNU systems.  This configuration is being superseded.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC21"></a><a name="ix86_002dx_002dlinux"></a>i?86-*-linux*</h3>
  
  <p>As of GCC 3.3, binutils 2.13.1 or later is required for this platform. 
  See <a href="http://gcc.gnu.org/PR10877">bug 10877</a> for more information.
*************** found on <a href="http://www.bitwizard.n
*** 651,657 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC21"></a><a name="ix86_002dx_002dsco32v5"></a>i?86-*-sco3.2v5*</h3>
  
  <p>Use this for the SCO OpenServer Release 5 family of operating systems.
  
--- 679,685 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC22"></a><a name="ix86_002dx_002dsco32v5"></a>i?86-*-sco3.2v5*</h3>
  
  <p>Use this for the SCO OpenServer Release 5 family of operating systems.
  
*************** GCC, version 2.95.3.  It is useful for b
*** 695,701 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC22"></a><a name="ix86_002dx_002dsolaris210"></a>i?86-*-solaris2.10</h3>
  
  <p>Use this for Solaris 10 or later on x86 and x86-64 systems.  This
  configuration is supported by GCC 4.0 and later versions only.
--- 723,729 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC23"></a><a name="ix86_002dx_002dsolaris210"></a>i?86-*-solaris2.10</h3>
  
  <p>Use this for Solaris 10 or later on x86 and x86-64 systems.  This
  configuration is supported by GCC 4.0 and later versions only.
*************** configuration is supported by GCC 4.0 an
*** 707,713 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC23"></a><a name="ix86_002dx_002dudk"></a>i?86-*-udk</h3>
  
  <p>This target emulates the SCO Universal Development Kit and requires that
  package be installed.  (If it is installed, you will have a
--- 735,741 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC24"></a><a name="ix86_002dx_002dudk"></a>i?86-*-udk</h3>
  
  <p>This target emulates the SCO Universal Development Kit and requires that
  package be installed.  (If it is installed, you will have a
*************** have installed.
*** 739,745 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC24"></a><a name="ia64_002dx_002dlinux"></a>ia64-*-linux</h3>
  
  <p>IA-64 processor (also known as IPF, or Itanium Processor Family)
  running GNU/Linux.
--- 767,773 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC25"></a><a name="ia64_002dx_002dlinux"></a>ia64-*-linux</h3>
  
  <p>IA-64 processor (also known as IPF, or Itanium Processor Family)
  running GNU/Linux.
*************** more major ABI changes are expected.
*** 759,765 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC25"></a><a name="ia64_002dx_002dhpux"></a>ia64-*-hpux*</h3>
  
  <p>Building GCC on this target requires the GNU Assembler.  The bundled HP
  assembler will not work.  To prevent GCC from using the wrong assembler,
--- 787,793 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC26"></a><a name="ia64_002dx_002dhpux"></a>ia64-*-hpux*</h3>
  
  <p>Building GCC on this target requires the GNU Assembler.  The bundled HP
  assembler will not work.  To prevent GCC from using the wrong assembler,
*************** removed and the system libunwind library
*** 774,780 ****
     <p><hr />
  <!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
  
! <h3 class="heading"><a name="TOC26"></a><a name="x_002dibm_002daix"></a>*-ibm-aix*</h3>
  
  <p>Support for AIX version 3 and older was discontinued in GCC 3.4.
  
--- 802,808 ----
     <p><hr />
  <!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
  
! <h3 class="heading"><a name="TOC27"></a><a name="x_002dibm_002daix"></a>*-ibm-aix*</h3>
  
  <p>Support for AIX version 3 and older was discontinued in GCC 3.4.
  
*************** switch and using the configure option <s
*** 895,939 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC27"></a><a name="ip2k_002dx_002delf"></a>ip2k-*-elf</h3>
! 
! <p>Ubicom IP2022 micro controller. 
! This configuration is intended for embedded systems. 
! There are no standard Unix configurations.
  
!    <p>Use `<samp><span class="samp">configure --target=ip2k-elf --enable-languages=c</span></samp>' to configure GCC.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC28"></a><a name="iq2000_002dx_002delf"></a>iq2000-*-elf</h3>
  
! <p>Vitesse IQ2000 processors.  These are used in embedded
! applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC29"></a><a name="m32r_002dx_002delf"></a>m32r-*-elf</h3>
  
  <p>Renesas M32R processor. 
  This configuration is intended for embedded systems.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC30"></a><a name="m6811_002delf"></a>m6811-elf</h3>
  
  <p>Motorola 68HC11 family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC31"></a><a name="m6812_002delf"></a>m6812-elf</h3>
  
  <p>Motorola 68HC12 family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC32"></a><a name="m68k_002dhp_002dhpux"></a>m68k-hp-hpux</h3>
  
  <p>HP 9000 series 300 or 400 running HP-UX.  HP-UX version 8.0 has a bug in
  the assembler that prevents compilation of GCC.  This
--- 923,964 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC28"></a><a name="iq2000_002dx_002delf"></a>iq2000-*-elf</h3>
  
! <p>Vitesse IQ2000 processors.  These are used in embedded
! applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC29"></a><a name="m32c_002dx_002delf"></a>m32c-*-elf</h3>
  
! <p>Renesas M32C processor. 
! This configuration is intended for embedded systems.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC30"></a><a name="m32r_002dx_002delf"></a>m32r-*-elf</h3>
  
  <p>Renesas M32R processor. 
  This configuration is intended for embedded systems.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC31"></a><a name="m6811_002delf"></a>m6811-elf</h3>
  
  <p>Motorola 68HC11 family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC32"></a><a name="m6812_002delf"></a>m6812-elf</h3>
  
  <p>Motorola 68HC12 family micro controllers.  These are used in embedded
  applications.  There are no standard Unix configurations.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC33"></a><a name="m68k_002dhp_002dhpux"></a>m68k-hp-hpux</h3>
  
  <p>HP 9000 series 300 or 400 running HP-UX.  HP-UX version 8.0 has a bug in
  the assembler that prevents compilation of GCC.  This
*************** to look like:
*** 980,986 ****
  </pre>
     <p><hr />
  
! <h3 class="heading"><a name="TOC33"></a><a name="mips_002dx_002dx"></a>mips-*-*</h3>
  
  <p>If on a MIPS system you get an error message saying &ldquo;does not have gp
  sections for all it's [sic] sectons [sic]&rdquo;, don't worry about it.  This
--- 1005,1011 ----
  </pre>
     <p><hr />
  
! <h3 class="heading"><a name="TOC34"></a><a name="mips_002dx_002dx"></a>mips-*-*</h3>
  
  <p>If on a MIPS system you get an error message saying &ldquo;does not have gp
  sections for all it's [sic] sectons [sic]&rdquo;, don't worry about it.  This
*************** the use of break, use the <samp><span cl
*** 1008,1022 ****
  <samp><span class="command">configure</span></samp> option when configuring GCC.  The default is to
  use traps on systems that support them.
  
!    <p>Cross-compilers for the Mips as target using the Mips assembler
  currently do not work, because the auxiliary programs
  <samp><span class="file">mips-tdump.c</span></samp> and <samp><span class="file">mips-tfile.c</span></samp> can't be compiled on
! anything but a Mips.  It does work to cross compile for a Mips
  if you use the GNU assembler and linker.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC34"></a><a name="mips_002dsgi_002dirix5"></a>mips-sgi-irix5</h3>
  
  <p>In order to compile GCC on an SGI running IRIX 5, the `<samp><span class="samp">compiler_dev.hdr</span></samp>'
  subsystem must be installed from the IDO CD-ROM supplied by SGI. 
--- 1033,1047 ----
  <samp><span class="command">configure</span></samp> option when configuring GCC.  The default is to
  use traps on systems that support them.
  
!    <p>Cross-compilers for the MIPS as target using the MIPS assembler
  currently do not work, because the auxiliary programs
  <samp><span class="file">mips-tdump.c</span></samp> and <samp><span class="file">mips-tfile.c</span></samp> can't be compiled on
! anything but a MIPS.  It does work to cross compile for a MIPS
  if you use the GNU assembler and linker.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC35"></a><a name="mips_002dsgi_002dirix5"></a>mips-sgi-irix5</h3>
  
  <p>In order to compile GCC on an SGI running IRIX 5, the `<samp><span class="samp">compiler_dev.hdr</span></samp>'
  subsystem must be installed from the IDO CD-ROM supplied by SGI. 
*************** This problem can be avoided by running t
*** 1043,1049 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC35"></a><a name="mips_002dsgi_002dirix6"></a>mips-sgi-irix6</h3>
  
  <p>If you are using SGI's MIPSpro <samp><span class="command">cc</span></samp> as your bootstrap compiler, you must
  ensure that the N32 ABI is in use.  To test this, compile a simple C
--- 1068,1074 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC36"></a><a name="mips_002dsgi_002dirix6"></a>mips-sgi-irix6</h3>
  
  <p>If you are using SGI's MIPSpro <samp><span class="command">cc</span></samp> as your bootstrap compiler, you must
  ensure that the N32 ABI is in use.  To test this, compile a simple C
*************** information about using GCC on IRIX plat
*** 1112,1125 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC36"></a><a name="powerpc_002dx_002dx"></a>powerpc-*-*</h3>
  
  <p>You can specify a default version for the <samp><span class="option">-mcpu=</span><var>cpu_type</var></samp>
  switch by using the configure option <samp><span class="option">--with-cpu-</span><var>cpu_type</var></samp>.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC37"></a><a name="powerpc_002dx_002ddarwin"></a>powerpc-*-darwin*</h3>
  
  <p>PowerPC running Darwin (Mac OS X kernel).
  
--- 1137,1150 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC37"></a><a name="powerpc_002dx_002dx"></a>powerpc-*-*</h3>
  
  <p>You can specify a default version for the <samp><span class="option">-mcpu=</span><var>cpu_type</var></samp>
  switch by using the configure option <samp><span class="option">--with-cpu-</span><var>cpu_type</var></samp>.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC38"></a><a name="powerpc_002dx_002ddarwin"></a>powerpc-*-darwin*</h3>
  
  <p>PowerPC running Darwin (Mac OS X kernel).
  
*************** binaries are available at
*** 1129,1135 ****
  <a href="http://developer.apple.com/darwin/projects/compiler/">http://developer.apple.com/darwin/projects/compiler/</a> (free
  registration required).
  
!    <p>This version of GCC requires at least cctools-528.
  
     <p>The version of GCC shipped by Apple typically includes a number of
  extensions not available in a standard GCC release.  These extensions
--- 1154,1160 ----
  <a href="http://developer.apple.com/darwin/projects/compiler/">http://developer.apple.com/darwin/projects/compiler/</a> (free
  registration required).
  
!    <p>This version of GCC requires at least cctools-590.7.
  
     <p>The version of GCC shipped by Apple typically includes a number of
  extensions not available in a standard GCC release.  These extensions
*************** are generally for backwards compatibilit
*** 1137,1149 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC38"></a><a name="powerpc_002dx_002delf"></a>powerpc-*-elf, powerpc-*-sysv4</h3>
  
  <p>PowerPC system in big endian mode, running System V.4.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC39"></a><a name="powerpc_002dx_002dlinux_002dgnu"></a>powerpc*-*-linux-gnu*</h3>
  
  <p>You will need
  <a href="ftp://ftp.kernel.org/pub/linux/devel/binutils">binutils 2.15</a>
--- 1162,1174 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC39"></a><a name="powerpc_002dx_002delf"></a>powerpc-*-elf, powerpc-*-sysv4</h3>
  
  <p>PowerPC system in big endian mode, running System V.4.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC40"></a><a name="powerpc_002dx_002dlinux_002dgnu"></a>powerpc*-*-linux-gnu*</h3>
  
  <p>You will need
  <a href="ftp://ftp.kernel.org/pub/linux/devel/binutils">binutils 2.15</a>
*************** or newer for a working GCC.
*** 1151,1157 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC40"></a><a name="powerpc_002dx_002dnetbsd"></a>powerpc-*-netbsd*</h3>
  
  <p>PowerPC system in big endian mode running NetBSD.  To build the
  documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included
--- 1176,1182 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC41"></a><a name="powerpc_002dx_002dnetbsd"></a>powerpc-*-netbsd*</h3>
  
  <p>PowerPC system in big endian mode running NetBSD.  To build the
  documentation you will need Texinfo version 4.2 (NetBSD 1.5.1 included
*************** Texinfo version 3.12).
*** 1159,1209 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC41"></a><a name="powerpc_002dx_002deabisim"></a>powerpc-*-eabisim</h3>
  
  <p>Embedded PowerPC system in big endian mode for use in running under the
  PSIM simulator.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC42"></a><a name="powerpc_002dx_002deabi"></a>powerpc-*-eabi</h3>
  
  <p>Embedded PowerPC system in big endian mode.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC43"></a><a name="powerpcle_002dx_002delf"></a>powerpcle-*-elf, powerpcle-*-sysv4</h3>
  
  <p>PowerPC system in little endian mode, running System V.4.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC44"></a><a name="powerpcle_002dx_002deabisim"></a>powerpcle-*-eabisim</h3>
  
  <p>Embedded PowerPC system in little endian mode for use in running under
  the PSIM simulator.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC45"></a><a name="powerpcle_002dx_002deabi"></a>powerpcle-*-eabi</h3>
  
  <p>Embedded PowerPC system in little endian mode.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC46"></a><a name="s390_002dx_002dlinux"></a>s390-*-linux*</h3>
  
  <p>S/390 system running GNU/Linux for S/390.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC47"></a><a name="s390x_002dx_002dlinux"></a>s390x-*-linux*</h3>
  
  <p>zSeries system (64-bit) running GNU/Linux for zSeries.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC48"></a><a name="s390x_002dibm_002dtpf"></a>s390x-ibm-tpf*</h3>
  
  <p>zSeries system (64-bit) running TPF.  This platform is
  supported as cross-compilation target only.
--- 1184,1234 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC42"></a><a name="powerpc_002dx_002deabisim"></a>powerpc-*-eabisim</h3>
  
  <p>Embedded PowerPC system in big endian mode for use in running under the
  PSIM simulator.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC43"></a><a name="powerpc_002dx_002deabi"></a>powerpc-*-eabi</h3>
  
  <p>Embedded PowerPC system in big endian mode.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC44"></a><a name="powerpcle_002dx_002delf"></a>powerpcle-*-elf, powerpcle-*-sysv4</h3>
  
  <p>PowerPC system in little endian mode, running System V.4.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC45"></a><a name="powerpcle_002dx_002deabisim"></a>powerpcle-*-eabisim</h3>
  
  <p>Embedded PowerPC system in little endian mode for use in running under
  the PSIM simulator.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC46"></a><a name="powerpcle_002dx_002deabi"></a>powerpcle-*-eabi</h3>
  
  <p>Embedded PowerPC system in little endian mode.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC47"></a><a name="s390_002dx_002dlinux"></a>s390-*-linux*</h3>
  
  <p>S/390 system running GNU/Linux for S/390.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC48"></a><a name="s390x_002dx_002dlinux"></a>s390x-*-linux*</h3>
  
  <p>zSeries system (64-bit) running GNU/Linux for zSeries.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC49"></a><a name="s390x_002dibm_002dtpf"></a>s390x-ibm-tpf*</h3>
  
  <p>zSeries system (64-bit) running TPF.  This platform is
  supported as cross-compilation target only.
*************** supported as cross-compilation target on
*** 1213,1219 ****
  <!-- SunOS 4 releases which we don't use to avoid confusion.  Solaris -->
  <!-- alone is too unspecific and must be avoided. -->
  
! <h3 class="heading"><a name="TOC49"></a><a name="x_002dx_002dsolaris2"></a>*-*-solaris2*</h3>
  
  <p>Sun does not ship a C compiler with Solaris 2.  To bootstrap and install
  GCC you first have to install a pre-built compiler, see the
--- 1238,1244 ----
  <!-- SunOS 4 releases which we don't use to avoid confusion.  Solaris -->
  <!-- alone is too unspecific and must be avoided. -->
  
! <h3 class="heading"><a name="TOC50"></a><a name="x_002dx_002dsolaris2"></a>*-*-solaris2*</h3>
  
  <p>Sun does not ship a C compiler with Solaris 2.  To bootstrap and install
  GCC you first have to install a pre-built compiler, see the
*************** from the CVS repository or applying the 
*** 1267,1277 ****
  <a href="http://sources.redhat.com/ml/binutils-cvs/2004-09/msg00036.html">http://sources.redhat.com/ml/binutils-cvs/2004-09/msg00036.html</a> to the
  release.
  
!    <p>We recommend using GNU binutils 2.16 or later in conjunction with GCC 4.x. 
! However, for Solaris 10 and above, an additional patch is required in order
! for the GNU linker to be able to cope with a new flavor of shared libraries. 
! You can obtain a working version by checking out the binutils-2_16-branch
! from the CVS repository or applying the patch
  <a href="http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html">http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html</a> to the
  release.
  
--- 1292,1303 ----
  <a href="http://sources.redhat.com/ml/binutils-cvs/2004-09/msg00036.html">http://sources.redhat.com/ml/binutils-cvs/2004-09/msg00036.html</a> to the
  release.
  
!    <p>We recommend using GNU binutils 2.16 or later in conjunction with GCC 4.x,
! or the vendor tools (Sun <samp><span class="command">as</span></samp>, Sun <samp><span class="command">ld</span></samp>).  However, for
! Solaris 10 and above, an additional patch is required in order for the GNU
! linker to be able to cope with a new flavor of shared libraries.  You
! can obtain a working version by checking out the binutils-2_16-branch from
! the CVS repository or applying the patch
  <a href="http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html">http://sourceware.org/ml/binutils-cvs/2005-07/msg00122.html</a> to the
  release.
  
*************** SPARC, 117172-11 or newer for Intel) tha
*** 1302,1308 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC50"></a><a name="sparc_002dsun_002dsolaris2"></a>sparc-sun-solaris2*</h3>
  
  <p>When GCC is configured to use binutils 2.11.2 or later the binaries
  produced are smaller than the ones produced using Sun's native tools;
--- 1328,1334 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC51"></a><a name="sparc_002dsun_002dsolaris2"></a>sparc-sun-solaris2*</h3>
  
  <p>When GCC is configured to use binutils 2.11.2 or later the binaries
  produced are smaller than the ones produced using Sun's native tools;
*************** or later system, the canonical target tr
*** 1366,1372 ****
  </pre>
     <p><hr />
  
! <h3 class="heading"><a name="TOC51"></a><a name="sparc_002dsun_002dsolaris27"></a>sparc-sun-solaris2.7</h3>
  
  <p>Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in
  the dynamic linker.  This problem (Sun bug 4210064) affects GCC 2.8
--- 1392,1398 ----
  </pre>
     <p><hr />
  
! <h3 class="heading"><a name="TOC52"></a><a name="sparc_002dsun_002dsolaris27"></a>sparc-sun-solaris2.7</h3>
  
  <p>Sun patch 107058-01 (1999-01-13) for Solaris 7/SPARC triggers a bug in
  the dynamic linker.  This problem (Sun bug 4210064) affects GCC 2.8
*************** Sun assembler, which causes a bootstrap 
*** 1420,1426 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC52"></a><a name="sparc_002dx_002dlinux"></a>sparc-*-linux*</h3>
  
  <p>GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4
  or newer on this platform.  All earlier binutils and glibc
--- 1446,1452 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC53"></a><a name="sparc_002dx_002dlinux"></a>sparc-*-linux*</h3>
  
  <p>GCC versions 3.0 and higher require binutils 2.11.2 and glibc 2.2.4
  or newer on this platform.  All earlier binutils and glibc
*************** releases mishandled unaligned relocation
*** 1428,1434 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC53"></a><a name="sparc64_002dx_002dsolaris2"></a>sparc64-*-solaris2*</h3>
  
  <p>The following compiler flags must be specified in the configure
  step in order to bootstrap this target with the Sun compiler:
--- 1454,1460 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC54"></a><a name="sparc64_002dx_002dsolaris2"></a>sparc64-*-solaris2*</h3>
  
  <p>The following compiler flags must be specified in the configure
  step in order to bootstrap this target with the Sun compiler:
*************** specifies the SPARC-V9 architecture to t
*** 1440,1452 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC54"></a><a name="sparcv9_002dx_002dsolaris2"></a>sparcv9-*-solaris2*</h3>
  
  <p>This is a synonym for sparc64-*-solaris2*.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC55"></a><a name="x_002dx_002dsysv"></a>*-*-sysv*</h3>
  
  <p>On System V release 3, you may get this error message
  while linking:
--- 1466,1478 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC55"></a><a name="sparcv9_002dx_002dsolaris2"></a>sparcv9-*-solaris2*</h3>
  
  <p>This is a synonym for sparc64-*-solaris2*.
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC56"></a><a name="x_002dx_002dsysv"></a>*-*-sysv*</h3>
  
  <p>On System V release 3, you may get this error message
  while linking:
*************** is said to work.  Smaller values may als
*** 1475,1488 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC56"></a><a name="vax_002ddec_002dultrix"></a>vax-dec-ultrix</h3>
  
  <p>Don't try compiling with VAX C (<samp><span class="command">vcc</span></samp>).  It produces incorrect code
  in some cases (for example, when <code>alloca</code> is used).
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC57"></a><a name="x_002dx_002dvxworks"></a>*-*-vxworks*</h3>
  
  <p>Support for VxWorks is in flux.  At present GCC supports <em>only</em> the
  very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC. 
--- 1501,1514 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC57"></a><a name="vax_002ddec_002dultrix"></a>vax-dec-ultrix</h3>
  
  <p>Don't try compiling with VAX C (<samp><span class="command">vcc</span></samp>).  It produces incorrect code
  in some cases (for example, when <code>alloca</code> is used).
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC58"></a><a name="x_002dx_002dvxworks"></a>*-*-vxworks*</h3>
  
  <p>Support for VxWorks is in flux.  At present GCC supports <em>only</em> the
  very recent VxWorks 5.5 (aka Tornado 2.2) release, and only on PowerPC. 
*************** VxWorks will incorporate this module.)
*** 1517,1523 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC58"></a><a name="x86_002d64_002dx_002dx"></a>x86_64-*-*, amd64-*-*</h3>
  
  <p>GCC supports the x86-64 architecture implemented by the AMD64 processor
  (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD. 
--- 1543,1549 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC59"></a><a name="x86_002d64_002dx_002dx"></a>x86_64-*-*, amd64-*-*</h3>
  
  <p>GCC supports the x86-64 architecture implemented by the AMD64 processor
  (amd64-*-* is an alias for x86_64-*-*) on GNU/Linux, FreeBSD and NetBSD. 
*************** both 64-bit x86-64 and 32-bit x86 code (
*** 1526,1532 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC59"></a><a name="xtensa_002dx_002delf"></a>xtensa-*-elf</h3>
  
  <p>This target is intended for embedded Xtensa systems using the
  `<samp><span class="samp">newlib</span></samp>' C library.  It uses ELF but does not support shared
--- 1552,1558 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC60"></a><a name="xtensa_002dx_002delf"></a>xtensa-*-elf</h3>
  
  <p>This target is intended for embedded Xtensa systems using the
  `<samp><span class="samp">newlib</span></samp>' C library.  It uses ELF but does not support shared
*************** which you can use to replace the default
*** 1543,1549 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC60"></a><a name="xtensa_002dx_002dlinux"></a>xtensa-*-linux*</h3>
  
  <p>This target is for Xtensa systems running GNU/Linux.  It supports ELF
  shared objects and the GNU C library (glibc).  It also generates
--- 1569,1575 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC61"></a><a name="xtensa_002dx_002dlinux"></a>xtensa-*-linux*</h3>
  
  <p>This target is for Xtensa systems running GNU/Linux.  It supports ELF
  shared objects and the GNU C library (glibc).  It also generates
*************** respects, this target is the same as the
*** 1554,1560 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC61"></a><a name="windows"></a>Microsoft Windows (32-bit)</h3>
  
  <p>Ports of GCC are included with the
  <a href="http://www.cygwin.com/">Cygwin environment</a>.
--- 1580,1586 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC62"></a><a name="windows"></a>Microsoft Windows (32-bit)</h3>
  
  <p>Ports of GCC are included with the
  <a href="http://www.cygwin.com/">Cygwin environment</a>.
*************** with Microsoft's C++ compiler and there 
*** 1564,1570 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC62"></a><a name="os2"></a>OS/2</h3>
  
  <p>GCC does not currently support OS/2.  However, Andrew Zabolotny has been
  working on a generic OS/2 port with pgcc.  The current code can be found
--- 1590,1596 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC63"></a><a name="os2"></a>OS/2</h3>
  
  <p>GCC does not currently support OS/2.  However, Andrew Zabolotny has been
  working on a generic OS/2 port with pgcc.  The current code can be found
*************** at <a href="http://www.goof.com/pcg/os2/
*** 1572,1578 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC63"></a><a name="older"></a>Older systems</h3>
  
  <p>GCC contains support files for many older (1980s and early
  1990s) Unix variants.  For the most part, support for these systems
--- 1598,1604 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC64"></a><a name="older"></a>Older systems</h3>
  
  <p>GCC contains support files for many older (1980s and early
  1990s) Unix variants.  For the most part, support for these systems
*************** current GCC) is to be found in the GCC t
*** 1616,1622 ****
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC64"></a><a name="elf"></a>all ELF targets (SVR4, Solaris 2, etc.)</h3>
  
  <p>C++ support is significantly better on ELF targets if you use the
  <a href="./configure.html#with-gnu-ld">GNU linker</a>; duplicate copies of
--- 1642,1648 ----
  
     <p><hr />
  
! <h3 class="heading"><a name="TOC65"></a><a name="elf"></a>all ELF targets (SVR4, Solaris 2, etc.)</h3>
  
  <p>C++ support is significantly better on ELF targets if you use the
  <a href="./configure.html#with-gnu-ld">GNU linker</a>; duplicate copies of
diff -Nrcpad gcc-4.0.2/INSTALL/test.html gcc-4.1.0/INSTALL/test.html
*** gcc-4.0.2/INSTALL/test.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/INSTALL/test.html	Tue Feb 28 08:39:15 2006
*************** testsuite at <samp><span class="file">li
*** 177,183 ****
  specifying the location of that tree when invoking `<samp><span class="samp">make</span></samp>', as in
  `<samp><span class="samp">make MAUVEDIR=~/mauve check</span></samp>'.
  
!    <p><a href="http://sources.redhat.com/mauve/">Jacks</a>
  is a free testsuite that tests Java compiler front ends.  This suite
  can be run as part of libgcj testing by placing the Jacks tree within
  the libjava testsuite at <samp><span class="file">libjava/testsuite/libjava.jacks/jacks</span></samp>.
--- 177,183 ----
  specifying the location of that tree when invoking `<samp><span class="samp">make</span></samp>', as in
  `<samp><span class="samp">make MAUVEDIR=~/mauve check</span></samp>'.
  
!    <p><a href="http://sources.redhat.com/mauve/jacks.html">Jacks</a>
  is a free testsuite that tests Java compiler front ends.  This suite
  can be run as part of libgcj testing by placing the Jacks tree within
  the libjava testsuite at <samp><span class="file">libjava/testsuite/libjava.jacks/jacks</span></samp>.
diff -Nrcpad gcc-4.0.2/LAST_UPDATED gcc-4.1.0/LAST_UPDATED
*** gcc-4.0.2/LAST_UPDATED	Wed Sep 28 06:16:39 2005
--- gcc-4.1.0/LAST_UPDATED	Tue Feb 28 08:39:12 2006
***************
*** 1 ****
! Obtained from CVS: -rgcc_4_0_2_release 
--- 1 ----
! Obtained from SVN: tags/gcc_4_1_0_release revision 111560
diff -Nrcpad gcc-4.0.2/MAINTAINERS gcc-4.1.0/MAINTAINERS
*** gcc-4.0.2/MAINTAINERS	Mon Apr 25 10:36:20 2005
--- gcc-4.1.0/MAINTAINERS	Sat Jan 14 06:31:08 2006
*************** Maintainers
*** 20,26 ****
  
  			Blanket Write Privs.
  
! Richard Earnshaw				rearnsha@arm.com
  Richard Henderson                               rth@redhat.com
  Geoffrey Keating				geoffk@geoffk.org
  Richard Kenner					kenner@nyu.edu
--- 20,26 ----
  
  			Blanket Write Privs.
  
! Richard Earnshaw				richard.earnshaw@arm.com
  Richard Henderson                               rth@redhat.com
  Geoffrey Keating				geoffk@geoffk.org
  Richard Kenner					kenner@nyu.edu
*************** Jason Merrill					jason@redhat.com
*** 30,36 ****
  David S. Miller					davem@redhat.com
  Mark Mitchell					mark@codesourcery.com
  Bernd Schmidt					bernd.schmidt@analog.com
- Zack Weinberg					zack@codesourcery.com
  Jim Wilson					wilson@specifixinc.com
  
  
--- 30,35 ----
*************** Jim Wilson					wilson@specifixinc.com
*** 38,73 ****
  
  alpha port		Richard Henderson	rth@redhat.com
  arm port		Nick Clifton		nickc@redhat.com
! arm port		Richard Earnshaw	rearnsha@arm.com
  arm port		Paul Brook		paul@codesourcery.com
  avr port		Denis Chertykov		denisc@overta.ru
  avr port		Marek Michalkiewicz	marekm@amelek.gda.pl
  bfin port		Bernd Schmidt		bernd.schmidt@analog.com
  c4x port		Michael Hayes		m.hayes@elec.canterbury.ac.nz
  cris port		Hans-Peter Nilsson	hp@axis.com
  fr30 port		Nick Clifton		nickc@redhat.com
  frv port		Aldy Hernandez		aldyh@redhat.com
  frv port		Alexandre Oliva		aoliva@redhat.com
  h8 port			Jeff Law		law@redhat.com
! h8 port			Kazu Hirata		kazu@cs.umass.edu
  hppa port		Jeff Law		law@redhat.com
  hppa port		Dave Anglin		dave.anglin@nrc.ca
  i386 port		Richard Henderson	rth@redhat.com
- i860 port		Jason Eckhardt		jle@rice.edu
  ia64 port		Jim Wilson		wilson@specifixinc.com
! ip2k port		Denis Chertykov		denisc@overta.ru
! iq2000 port		Stan Cox		scox@redhat.com
  m32r port		Nick Clifton		nickc@redhat.com
  m68hc11 port		Stephane Carrez		stcarrez@nerim.fr
  m68k port (?)		Jeff Law		law@redhat.com
  m68k-motorola-sysv port	Philippe De Muyter	phdm@macqel.be
  mcore port		Nick Clifton		nickc@redhat.com
! mips port               Eric Christopher        echristo@redhat.com
! mips port		Richard Sandiford	rsandifo@redhat.com
  mmix port		Hans-Peter Nilsson	hp@bitrange.com
  mn10300 port		Jeff Law		law@redhat.com
  mn10300 port		Alexandre Oliva		aoliva@redhat.com
! ns32k port		Ian Dall		ian@beware.dropbear.id.au
  pdp11 port		Paul Koning		ni1d@arrl.net
  rs6000 port		Geoff Keating		geoffk@geoffk.org
  rs6000 port		David Edelsohn		dje@watson.ibm.com
--- 37,73 ----
  
  alpha port		Richard Henderson	rth@redhat.com
  arm port		Nick Clifton		nickc@redhat.com
! arm port		Richard Earnshaw	richard.earnshaw@arm.com
  arm port		Paul Brook		paul@codesourcery.com
  avr port		Denis Chertykov		denisc@overta.ru
  avr port		Marek Michalkiewicz	marekm@amelek.gda.pl
  bfin port		Bernd Schmidt		bernd.schmidt@analog.com
  c4x port		Michael Hayes		m.hayes@elec.canterbury.ac.nz
  cris port		Hans-Peter Nilsson	hp@axis.com
+ crx port		Paul Woegerer		paul.woegerer@nsc.com
  fr30 port		Nick Clifton		nickc@redhat.com
  frv port		Aldy Hernandez		aldyh@redhat.com
  frv port		Alexandre Oliva		aoliva@redhat.com
  h8 port			Jeff Law		law@redhat.com
! h8 port			Kazu Hirata		kazu@codesourcery.com
  hppa port		Jeff Law		law@redhat.com
  hppa port		Dave Anglin		dave.anglin@nrc.ca
  i386 port		Richard Henderson	rth@redhat.com
  ia64 port		Jim Wilson		wilson@specifixinc.com
! iq2000 port		Nick Clifton		nickc@redhat.com
! m32c port		DJ Delorie		dj@redhat.com
  m32r port		Nick Clifton		nickc@redhat.com
  m68hc11 port		Stephane Carrez		stcarrez@nerim.fr
  m68k port (?)		Jeff Law		law@redhat.com
+ m68k port		Andreas Schwab		schwab@suse.de
  m68k-motorola-sysv port	Philippe De Muyter	phdm@macqel.be
  mcore port		Nick Clifton		nickc@redhat.com
! mips port               Eric Christopher        echristo@apple.com
! mips port		Richard Sandiford	richard@codesourcery.com
  mmix port		Hans-Peter Nilsson	hp@bitrange.com
  mn10300 port		Jeff Law		law@redhat.com
  mn10300 port		Alexandre Oliva		aoliva@redhat.com
! ms1 port		Aldy Hernandez		aldyh@redhat.com
  pdp11 port		Paul Koning		ni1d@arrl.net
  rs6000 port		Geoff Keating		geoffk@geoffk.org
  rs6000 port		David Edelsohn		dje@watson.ibm.com
*************** s390 port		Hartmut Penner		hpenner@de.ib
*** 76,81 ****
--- 76,82 ----
  s390 port		Ulrich Weigand		uweigand@de.ibm.com
  sh port			Joern Rennecke		joern.rennecke@st.com
  sh port			Alexandre Oliva		aoliva@redhat.com
+ sh libraries/configury	Kaz Kojima		kkojima@gcc.gnu.org
  sparc port		Richard Henderson	rth@redhat.com
  sparc port		David S. Miller		davem@redhat.com
  sparc port		Jakub Jelinek		jakub@redhat.com
*************** xtensa port		Bob Wilson		bob.wilson@acm.
*** 89,96 ****
  
  			OS Port Maintainers	(OS alphabetical order)
  
- darwin port		Stan Shebs		shebs@apple.com
  darwin port		Dale Johannesen		dalej@apple.com
  DJGPP			DJ Delorie		dj@delorie.com
  freebsd			Loren J. Rittle		ljrittle@acm.org
  netbsd			Jason Thorpe		thorpej@netbsd.org
--- 90,98 ----
  
  			OS Port Maintainers	(OS alphabetical order)
  
  darwin port		Dale Johannesen		dalej@apple.com
+ darwin port		Mike Stump		mrs@apple.com
+ darwin port		Stan Shebs		shebs@apple.com
  DJGPP			DJ Delorie		dj@delorie.com
  freebsd			Loren J. Rittle		ljrittle@acm.org
  netbsd			Jason Thorpe		thorpej@netbsd.org
*************** sco5, unixware, sco udk	Kean Johnston		j
*** 98,104 ****
  sh-linux-gnu		Kaz Kojima		kkojima@gcc.gnu.org
  RTEMS Ports		Joel Sherrill		joel@oarcorp.com
  RTEMS Ports		Ralf Corsepius		ralf.corsepius@rtems.org
- VxWorks ports		Zack Weinberg		zack@codesourcery.com
  VxWorks ports		Nathan Sidwell		nathan@codesourcery.com
  windows, cygwin, mingw	Christopher Faylor	cgf@gcc.gnu.org
  windows, cygwin, mingw	Danny Smith		dannysmith@users.sourceforge.net
--- 100,105 ----
*************** c++                     Mark Mitchell		m
*** 118,141 ****
  c++			Nathan Sidwell		nathan@codesourcery.com
  java			Per Bothner		per@bothner.com
  java			Andrew Haley		aph@redhat.com
  mercury			Fergus Henderson	fjh@cs.mu.oz.au
  objective-c		Stan Shebs		shebs@apple.com
  objective-c		Ovidiu Predescu		ovidiu@cup.hp.com
! objective-c		Ziemowit Laski		zlaski@apple.com
  treelang                Tim Josling             tej@melbpc.org.au
  treelang                James A. Morrison	phython@gcc.gnu.org
  
  			Various Maintainers
  
- cpplib			Dave Brolley		brolley@redhat.com
  cpplib			Per Bothner		per@bothner.com
- cpplib			Zack Weinberg		zack@codesourcery.com
  libgcj			Tom Tromey		tromey@redhat.com
  libgcj			Bryce McKinlay		bryce@gcc.gnu.org
  libobjc			Nicola Pero		n.pero@mi.flashnet.it
  libobjc			Andrew Pinski		pinskia@physics.uc.edu
- alias analysis		John Carr		jfc@mit.edu
- loop unrolling		Jim Wilson		wilson@specifixinc.com
  loop discovery		Michael Hayes		m.hayes@elec.canterbury.ac.nz
  scheduler (+ haifa)	Jim Wilson		wilson@specifixinc.com
  scheduler (+ haifa)	Michael Meissner	gnu@the-meissners.org
--- 119,140 ----
  c++			Nathan Sidwell		nathan@codesourcery.com
  java			Per Bothner		per@bothner.com
  java			Andrew Haley		aph@redhat.com
+ java			Tom Tromey		tromey@redhat.com
  mercury			Fergus Henderson	fjh@cs.mu.oz.au
  objective-c		Stan Shebs		shebs@apple.com
  objective-c		Ovidiu Predescu		ovidiu@cup.hp.com
! objective-c/c++		Ziemowit Laski		zlaski@apple.com
! objective-c/c++		Mike Stump		mrs@apple.com
  treelang                Tim Josling             tej@melbpc.org.au
  treelang                James A. Morrison	phython@gcc.gnu.org
  
  			Various Maintainers
  
  cpplib			Per Bothner		per@bothner.com
  libgcj			Tom Tromey		tromey@redhat.com
  libgcj			Bryce McKinlay		bryce@gcc.gnu.org
  libobjc			Nicola Pero		n.pero@mi.flashnet.it
  libobjc			Andrew Pinski		pinskia@physics.uc.edu
  loop discovery		Michael Hayes		m.hayes@elec.canterbury.ac.nz
  scheduler (+ haifa)	Jim Wilson		wilson@specifixinc.com
  scheduler (+ haifa)	Michael Meissner	gnu@the-meissners.org
*************** option handling		Neil Booth		neil@daikok
*** 180,192 ****
  libffi testsuite	Andreas Tobler		andreast@gcc.gnu.org
  testsuite		Janis Johnson		janis187@us.ibm.com
  middle-end		Roger Sayle		roger@eyesopen.com
  tree-ssa		Diego Novillo		dnovillo@redhat.com
  tree-ssa		Andrew MacLeod		amacleod@redhat.com
! PRE, points-to		Daniel Berlin		dberlin@dberlin.org
  mudflap			Frank Ch. Eigler	fche@redhat.com
  tree browser/unparser	Sebastian Pop		pop@cri.ensmp.fr
  profile feedback	Jan Hubicka		jh@suse.cz
  type-safe vectors	Nathan Sidwell		nathan@codesourcery.com
  
  Note individuals who maintain parts of the compiler need approval to check
  in changes outside of the parts of the compiler they maintain.
--- 179,198 ----
  libffi testsuite	Andreas Tobler		andreast@gcc.gnu.org
  testsuite		Janis Johnson		janis187@us.ibm.com
  middle-end		Roger Sayle		roger@eyesopen.com
+ middle-end		Ian Lance Taylor	ian@airs.com
  tree-ssa		Diego Novillo		dnovillo@redhat.com
  tree-ssa		Andrew MacLeod		amacleod@redhat.com
! PRE			Daniel Berlin		dberlin@dberlin.org
! code sinking		Daniel Berlin		dberlin@dberlin.org
  mudflap			Frank Ch. Eigler	fche@redhat.com
  tree browser/unparser	Sebastian Pop		pop@cri.ensmp.fr
+ scev, data dependence   Daniel Berlin		dberlin@dberlin.org
+ scev, data dependence	Sebastian Pop		pop@cri.ensmp.fr
+ linear loop transforms	Daniel Berlin		dberlin@dberlin.org
  profile feedback	Jan Hubicka		jh@suse.cz
  type-safe vectors	Nathan Sidwell		nathan@codesourcery.com
+ alias analysis		Daniel Berlin		dberlin@dberlin.org
+ alias analysis		Diego Novillo		dnovillo@redhat.com
  
  Note individuals who maintain parts of the compiler need approval to check
  in changes outside of the parts of the compiler they maintain.
*************** in changes outside of the parts of the c
*** 196,202 ****
  
  Mark G. Adams                                   mark.g.adams@sympatico.ca
  Matt Austern                                    austern@apple.com
! David Ayers					d.ayers@inode.at
  Giovanni Bajo					giovannibajo@gcc.gnu.org
  Scott Bambrough					scottb@netwinder.org
  Wolfgang Bangerth				bangerth@dealii.org
--- 202,208 ----
  
  Mark G. Adams                                   mark.g.adams@sympatico.ca
  Matt Austern                                    austern@apple.com
! David Ayers                                     d.ayers@inode.at
  Giovanni Bajo					giovannibajo@gcc.gnu.org
  Scott Bambrough					scottb@netwinder.org
  Wolfgang Bangerth				bangerth@dealii.org
*************** Laurynas Biveinis			        laurynas.biv
*** 205,210 ****
--- 211,217 ----
  Uros Bizjak					uros@kss-loka.si
  Eric Blake					ericb@gcc.gnu.org
  Jim Blandy					jimb@redhat.com
+ Janne Blomqvist					jb@gcc.gnu.org
  Phil Blundell					pb@futuretv.com
  Hans Boehm					hboehm@gcc.gnu.org
  Segher Boessenkool				segher@kernel.crashing.org
*************** Paolo Bonzini					bonzini@gnu.org
*** 212,241 ****
  Neil Booth					neil@daikokuya.co.uk
  Robert Bowdidge                                 bowdidge@apple.com
  Joel Brobecker					brobecker@gnat.com
  Kevin Buettner					kevinb@redhat.com
  Andrew Cagney					cagney@redhat.com
  Steve Chamberlain				sac@transmeta.com
  Michael Chastain				mec.gnu@mindspring.com
  Chandra Chavva					cchavva@redhat.com
  William Cohen					wcohen@redhat.com
  R. Kelley Cook					kcook@gcc.gnu.org
  Christian Cornelssen				ccorn@cs.tu-berlin.de
  François-Xavier Coudert				coudert@clipper.ens.fr
  David Daney					ddaney@avtrex.com
  Bud Davis					bdavis9659@comcast.net
! Chris Demetriou					cgd@broadcom.com
  Zdenek Dvorak					dvorakz@suse.cz
  Steve Ellcey					sje@cup.hp.com
  Mohan Embar					gnustuff@thisiscool.com
  Marc Espie					espie@cvs.openbsd.org
  Ansgar Esztermann				ansgar@thphy.uni-duesseldorf.de
  Doug Evans					dje@transmeta.com
  Brian Ford					ford@vss.fsi.com
  Kaveh Ghazi					ghazi@caip.rutgers.edu
  Matthew Gingell					gingell@gnat.com
  Anthony Green					green@redhat.com
  Doug Gregor					doug.gregor@gmail.com
! Richard Guenther				rguenth@gcc.gnu.org
  Laurent Guerby					laurent@guerby.net
  Mostafa Hagog					hagog@gcc.gnu.org
  Olivier Hainque					hainque@act-europe.fr
--- 219,256 ----
  Neil Booth					neil@daikokuya.co.uk
  Robert Bowdidge                                 bowdidge@apple.com
  Joel Brobecker					brobecker@gnat.com
+ Dave Brolley					brolley@redhat.com
  Kevin Buettner					kevinb@redhat.com
  Andrew Cagney					cagney@redhat.com
+ John Carr					jfc@mit.edu
  Steve Chamberlain				sac@transmeta.com
  Michael Chastain				mec.gnu@mindspring.com
  Chandra Chavva					cchavva@redhat.com
  William Cohen					wcohen@redhat.com
+ Josh Conner					jconner@apple.com
  R. Kelley Cook					kcook@gcc.gnu.org
  Christian Cornelssen				ccorn@cs.tu-berlin.de
  François-Xavier Coudert				coudert@clipper.ens.fr
+ Ian Dall					ian@beware.dropbear.id.au
  David Daney					ddaney@avtrex.com
  Bud Davis					bdavis9659@comcast.net
! Jerry DeLisle					jvdelisle@verizon.net
  Zdenek Dvorak					dvorakz@suse.cz
+ Erik Edelmann                                   erik.edelmann@iki.fi
  Steve Ellcey					sje@cup.hp.com
  Mohan Embar					gnustuff@thisiscool.com
  Marc Espie					espie@cvs.openbsd.org
  Ansgar Esztermann				ansgar@thphy.uni-duesseldorf.de
  Doug Evans					dje@transmeta.com
+ Bernhard Fischer				rep.nop@aon.at
+ Thomas Fitzsimmons				fitzsim@redhat.com
  Brian Ford					ford@vss.fsi.com
  Kaveh Ghazi					ghazi@caip.rutgers.edu
  Matthew Gingell					gingell@gnat.com
  Anthony Green					green@redhat.com
  Doug Gregor					doug.gregor@gmail.com
! Jon Grimm					jgrimm2@us.ibm.com
! Richard Guenther				rguenther@suse.de
  Laurent Guerby					laurent@guerby.net
  Mostafa Hagog					hagog@gcc.gnu.org
  Olivier Hainque					hainque@act-europe.fr
*************** Jeff Knaggs					jknaggs@redhat.com
*** 256,264 ****
--- 271,281 ----
  Michael Koch					konqueror@gmx.de
  Thomas Koenig					Thomas.Koenig@online.de
  Matt Kraai					kraai@ftbfs.org
+ Andreas Krebbel					krebbel1@de.ibm.com
  Scott Robert Ladd				scott.ladd@coyotegulch.com
  Razya Ladelsky					razya@gcc.gnu.org
  Aaron W. LaFramboise				aaronavay62@aaronwl.com
+ Terry Laurenzo					tlaurenzo@gmail.com
  Marc Lehmann					pcg@goof.com
  Alan Lehotsky					apl@alum.mit.edu
  James Lemke					jim@wasabisystems.com
*************** Gabor Loki					loki@inf.u-szeged.hu
*** 270,275 ****
--- 287,293 ----
  Dave Love					d.love@dl.ac.uk
  Martin v. Löwis					loewis@informatik.hu-berlin.de
  HJ Lu						hjl@lucon.org
+ Ziga Mahkovec					ziga.mahkovec@klika.si
  Ranjit Mathew					rmathew@hotmail.com
  Michael Matz					matz@suse.de
  Greg McGary					gkm@gnu.org
*************** Tom Rix						trix@redhat.com
*** 295,324 ****
  Craig Rodrigues					rodrigc@gcc.gnu.org
  Gavin Romig-Koch				gavin@redhat.com
  Ira Rosen                                       irar@il.ibm.com
  Ira Ruben					ira@apple.com
  Douglas Rupp					rupp@gnat.com
  Matthew Sachs					msachs@apple.com
  Alex Samuel					samuel@codesourcery.com
  Tobias Schlüter					tobias.schlueter@physik.uni-muenchen.de
! Andreas Schwab					schwab@suse.de
! Svein Seldal                                    svein.seldal@solidas.com
  Franz Sirl					franz.sirl-kernel@lauterbach.com
  Michael Sokolov					msokolov@ivan.Harhan.ORG
  Richard Stallman				rms@gnu.org
  Graham Stott					graham.stott@btinternet.com
  Mike Stump					mrs@apple.com
  Jeff Sturm					jsturm@gcc.gnu.org
  Kresten Krab Thorup				krab@gcc.gnu.org
  Caroline Tice					ctice@apple.com
  Michael Tiemann					tiemann@redhat.com
  Jonathan Wakely					redi@gcc.gnu.org
  Krister Walfridsson				cato@df.lth.se
  Feng Wang					fengwang@nudt.edu.cn
  John Wehle					john@feith.com
  Florian Weimer					fw@deneb.enyo.de
  Mark Wielaard					mark@gcc.gnu.org
  Carlo Wood					carlo@alinoe.com
  Canqun Yang					canqun@nudt.edu.cn
  Jon Ziegler					jonz@apple.com
  Josef Zlomek					josef.zlomek@email.cz
  
--- 313,347 ----
  Craig Rodrigues					rodrigc@gcc.gnu.org
  Gavin Romig-Koch				gavin@redhat.com
  Ira Rosen                                       irar@il.ibm.com
+ Maciej W. Rozycki				macro@linux-mips.org
  Ira Ruben					ira@apple.com
  Douglas Rupp					rupp@gnat.com
  Matthew Sachs					msachs@apple.com
  Alex Samuel					samuel@codesourcery.com
  Tobias Schlüter					tobias.schlueter@physik.uni-muenchen.de
! Svein Seldal                                    svein@dev.seldal.com
! Thiemo Seufer					ths@networkno.de
  Franz Sirl					franz.sirl-kernel@lauterbach.com
  Michael Sokolov					msokolov@ivan.Harhan.ORG
  Richard Stallman				rms@gnu.org
  Graham Stott					graham.stott@btinternet.com
  Mike Stump					mrs@apple.com
  Jeff Sturm					jsturm@gcc.gnu.org
+ Paul Thomas					pault@gcc.gnu.org
  Kresten Krab Thorup				krab@gcc.gnu.org
  Caroline Tice					ctice@apple.com
  Michael Tiemann					tiemann@redhat.com
+ David Ung					davidu@mips.com
  Jonathan Wakely					redi@gcc.gnu.org
  Krister Walfridsson				cato@df.lth.se
  Feng Wang					fengwang@nudt.edu.cn
  John Wehle					john@feith.com
  Florian Weimer					fw@deneb.enyo.de
+ Zack Weinberg					zackw@panix.com
  Mark Wielaard					mark@gcc.gnu.org
  Carlo Wood					carlo@alinoe.com
  Canqun Yang					canqun@nudt.edu.cn
+ Jie Zhang					jie.zhang@analog.com
  Jon Ziegler					jonz@apple.com
  Josef Zlomek					josef.zlomek@email.cz
  
diff -Nrcpad gcc-4.0.2/MD5SUMS gcc-4.1.0/MD5SUMS
*** gcc-4.0.2/MD5SUMS	Wed Sep 28 07:16:00 2005
--- gcc-4.1.0/MD5SUMS	Tue Feb 28 12:36:46 2006
***************
*** 1,5 ****
  # This file contains the MD5 checksums of the files in the 
! # gcc-4.0.2.tar.bz2 tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
--- 1,5 ----
  # This file contains the MD5 checksums of the files in the 
! # gcc-4.1.0.tar.bz2 tarball.
  #
  # Besides verifying that all files in the tarball were correctly expanded,
  # it also can be used to determine if any files have changed since the
***************
*** 8,45 ****
  # Suggested usage:
  # md5sum -c MD5SUMS | grep -v "OK$"
  
- 757f7513a1cb3ac08fed2e7833000078  .cvsignore
  8c00452ef1e298846493ec8b239f93e2  ABOUT-NLS
  4c5dd571eb8c39e849a820e4b426c18a  BUGS
! 94d55d512a9ba36caa9b7df079bae19f  COPYING
! 7fbc338309ac38fefcd64b04bb903e34  COPYING.LIB
! 5e223413cd2eb538ec4e85376c5bb64a  ChangeLog
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
! b0a6854a6b4c8c22dde51124e6cd7b51  FAQ
  23b8927fe1fb0ab321c09a4f0500aa4c  INSTALL/README
! 5c782cef1121a4f6926bffaf2dc0b6c3  INSTALL/binaries.html
  ece3dae7a32eb8e6030794068de58183  INSTALL/build.html
! 93532f0be8d2cf295e404867955166ff  INSTALL/configure.html
  9d4b7673a973319123467bdaba184ce2  INSTALL/download.html
  f0aeaa67cefdabcc09fa54a997b57dd7  INSTALL/finalinstall.html
! 2dd92af791f2ece1f4bcbbc63d66349b  INSTALL/gfdl.html
  07cb4d0039d4b73278ae3ac1fd795267  INSTALL/index.html
  0815c41f98014667fb17510c3eea221f  INSTALL/old.html
! 58b490b44e1f0858ef620e84c4b2928f  INSTALL/prerequisites.html
! 307679648f5ca6b289d6d339f855f424  INSTALL/specific.html
! 297510d648e0bb251d886e40023fca26  INSTALL/test.html
! 759412eb11c3c9fb4bba03b567fb880b  LAST_UPDATED
! c30f7deb95bb2cbaa743bda280e7b44a  MAINTAINERS
! ebff42c8478937facd6fabf0493502cc  Makefile.def
! ef16bb4e824af7987a31610a86430d3b  Makefile.in
! 68c196c5939ba9164a16af4461fa125f  Makefile.tpl
! 5eae761606708e0c737f8a34bc229dd0  NEWS
  750a7546d281ac42eb2ce87949457731  README
  de94b5f5c3d835b587741180b2ded958  README.SCO
- ac81461263c340d1f6c7ed86a63b06de  boehm-gc/.cvsignore
  b510a5285eb05298b5f3d9f5ae920588  boehm-gc/AmigaOS.c
  2caafacabf758bb76a9dfce1fc544b97  boehm-gc/BCC_MAKEFILE
! 46cf7544c6da15620769bc13e95095bd  boehm-gc/ChangeLog
  c18075e3729cd116028480307a8e845d  boehm-gc/EMX_MAKEFILE
  3b7cc3be9ed3c2135bbda990e8a69303  boehm-gc/MacOS.c
  5cf7764626b7dd7272b2fe11403d1b6a  boehm-gc/MacProjects.sit.hqx
--- 8,43 ----
  # Suggested usage:
  # md5sum -c MD5SUMS | grep -v "OK$"
  
  8c00452ef1e298846493ec8b239f93e2  ABOUT-NLS
  4c5dd571eb8c39e849a820e4b426c18a  BUGS
! 59530bdf33659b29e73d4adb9f9f6552  COPYING
! 2d5025d4aa3495befef8f17206a5b0a1  COPYING.LIB
! 1b8898b251ff6cdcd39c03021166ec94  ChangeLog
  09538b708302f1735f6fa05b622ecf5e  ChangeLog.tree-ssa
! b5b1caa749f067e5dad6ec220dc59361  FAQ
  23b8927fe1fb0ab321c09a4f0500aa4c  INSTALL/README
! a5998e6f06cd7bac712ecef4ea8403cb  INSTALL/binaries.html
  ece3dae7a32eb8e6030794068de58183  INSTALL/build.html
! a0c3f03a0acc56a1f9cff41bc5c34ea8  INSTALL/configure.html
  9d4b7673a973319123467bdaba184ce2  INSTALL/download.html
  f0aeaa67cefdabcc09fa54a997b57dd7  INSTALL/finalinstall.html
! 12811652368db6b866eccccd0418d14d  INSTALL/gfdl.html
  07cb4d0039d4b73278ae3ac1fd795267  INSTALL/index.html
  0815c41f98014667fb17510c3eea221f  INSTALL/old.html
! 20156bab97dd15978335f5a6c2ce44e2  INSTALL/prerequisites.html
! 124d54e5abdd39164ab6fadf24771052  INSTALL/specific.html
! b491fdfa9f660bd1917c490a9d864be0  INSTALL/test.html
! 451b765706d28d52dbc28342e5e649ac  LAST_UPDATED
! 6e4854dd5f91bbbe29eeeec279bf38a3  MAINTAINERS
! a3b627f92e5ba8aee6b4dfe448d8da34  Makefile.def
! c9f67838d0981a922004a631d54fc5cc  Makefile.in
! 0e4c98feb71d53de3aeca9b33289f88b  Makefile.tpl
! 87ebf2b2976ad84afaa905f9d68c7ca4  NEWS
  750a7546d281ac42eb2ce87949457731  README
  de94b5f5c3d835b587741180b2ded958  README.SCO
  b510a5285eb05298b5f3d9f5ae920588  boehm-gc/AmigaOS.c
  2caafacabf758bb76a9dfce1fc544b97  boehm-gc/BCC_MAKEFILE
! 580f39022545768d07f9c5d9495c7920  boehm-gc/ChangeLog
  c18075e3729cd116028480307a8e845d  boehm-gc/EMX_MAKEFILE
  3b7cc3be9ed3c2135bbda990e8a69303  boehm-gc/MacOS.c
  5cf7764626b7dd7272b2fe11403d1b6a  boehm-gc/MacProjects.sit.hqx
*************** f3d67631e65cabf40b867ffc522960a4  boehm-
*** 70,77 ****
  a2ed02a22235b4f27ab644ce4f3a9268  boehm-gc/blacklst.c
  b19b7b67bff97d0bceba827fedb07d32  boehm-gc/callprocs
  32e4857b7b4dbc4bc68e321f70f65dd4  boehm-gc/checksums.c
! 1d2bb75141fbbf7e1a962d6076df1519  boehm-gc/configure
! 7bd554fe6351fcb7b00c0f02c3cdbe7d  boehm-gc/configure.ac
  56328341fbfbe66715779252aa61943e  boehm-gc/configure.host
  61ccb6486d45cc6d99201cc19f3c579c  boehm-gc/cord/cordbscs.c
  ff07f5cb893d15fa663c69fef1349882  boehm-gc/cord/cordprnt.c
--- 68,75 ----
  a2ed02a22235b4f27ab644ce4f3a9268  boehm-gc/blacklst.c
  b19b7b67bff97d0bceba827fedb07d32  boehm-gc/callprocs
  32e4857b7b4dbc4bc68e321f70f65dd4  boehm-gc/checksums.c
! 698c599bb353226827d1b0f502066d6e  boehm-gc/configure
! c7bd923e4f574c10f8756fef4784d12b  boehm-gc/configure.ac
  56328341fbfbe66715779252aa61943e  boehm-gc/configure.host
  61ccb6486d45cc6d99201cc19f3c579c  boehm-gc/cord/cordbscs.c
  ff07f5cb893d15fa663c69fef1349882  boehm-gc/cord/cordprnt.c
*************** e6830f5dfe747bb9c367a7b407a8669b  boehm-
*** 83,89 ****
  61d6fc655984a59ff3b4f7605e3a3a1d  boehm-gc/cord/de_win.RC
  617e10fa7e3d54fe703c352812ecb59b  boehm-gc/cord/de_win.c
  1f6d14aeb448f45364976900ae64ab07  boehm-gc/cord/de_win.h
! c2f9af65ef5de257b223e18bcc7e1e0c  boehm-gc/darwin_stop_world.c
  6de7591fc9f2a81e439e1693c514bac1  boehm-gc/dbg_mlc.c
  b0f2d18b1a8fbbdc04bd85e3c776ace6  boehm-gc/depcomp
  bcb2924e27fe26690ac7949544a13862  boehm-gc/digimars.mak
--- 81,87 ----
  61d6fc655984a59ff3b4f7605e3a3a1d  boehm-gc/cord/de_win.RC
  617e10fa7e3d54fe703c352812ecb59b  boehm-gc/cord/de_win.c
  1f6d14aeb448f45364976900ae64ab07  boehm-gc/cord/de_win.h
! af2584f1c46c502a777aae743b586c6d  boehm-gc/darwin_stop_world.c
  6de7591fc9f2a81e439e1693c514bac1  boehm-gc/dbg_mlc.c
  b0f2d18b1a8fbbdc04bd85e3c776ace6  boehm-gc/depcomp
  bcb2924e27fe26690ac7949544a13862  boehm-gc/digimars.mak
*************** b1d9c432f2e6709f4eed702f26126ac1  boehm-
*** 142,157 ****
  240c625b7cd2744cd7e1f72d68c8afc2  boehm-gc/include/gc_allocator.h
  4c84bb6de90f76072b336b30266759d3  boehm-gc/include/gc_amiga_redirects.h
  aab55efd952b275ba1609de52ff80f37  boehm-gc/include/gc_backptr.h
! 6b4d33ce63eb4cdf0a8ad04a41a15b1b  boehm-gc/include/gc_config.h.in
  401000abf3e0b0d0bef720fc3a10a904  boehm-gc/include/gc_config_macros.h
  617d47a01f76458daeae9718e684aaca  boehm-gc/include/gc_cpp.h
! f8e1feb6b00395256694dd0409668f75  boehm-gc/include/gc_ext_config.h.in
  779751ee403e83d548709213c0573578  boehm-gc/include/gc_gcj.h
  f52491fef440e8ceaaa0f8428c8fc70e  boehm-gc/include/gc_inl.h
  31c32d3776a31b9e5dd0d1a6475447a0  boehm-gc/include/gc_inline.h
  4e5811ce2cbeed84aa76dd4b04cba258  boehm-gc/include/gc_local_alloc.h
  2ab58b990328696f3547fd409f2d73c8  boehm-gc/include/gc_mark.h
! 67cc7d598bc1a0fd147a70c348a2c5a4  boehm-gc/include/gc_pthread_redirects.h
  124a9ee194ba655302058d53fbf7053f  boehm-gc/include/gc_typed.h
  0d4a889208f1b491f4aabcb4070b1eb2  boehm-gc/include/javaxfc.h
  ac6b413e2634fed719426fe40528704c  boehm-gc/include/leak_detector.h
--- 140,155 ----
  240c625b7cd2744cd7e1f72d68c8afc2  boehm-gc/include/gc_allocator.h
  4c84bb6de90f76072b336b30266759d3  boehm-gc/include/gc_amiga_redirects.h
  aab55efd952b275ba1609de52ff80f37  boehm-gc/include/gc_backptr.h
! db379a7f3f9652b5e617ea0840bc46a3  boehm-gc/include/gc_config.h.in
  401000abf3e0b0d0bef720fc3a10a904  boehm-gc/include/gc_config_macros.h
  617d47a01f76458daeae9718e684aaca  boehm-gc/include/gc_cpp.h
! defc56fd4c11c4c3625819ed6e4a9f67  boehm-gc/include/gc_ext_config.h.in
  779751ee403e83d548709213c0573578  boehm-gc/include/gc_gcj.h
  f52491fef440e8ceaaa0f8428c8fc70e  boehm-gc/include/gc_inl.h
  31c32d3776a31b9e5dd0d1a6475447a0  boehm-gc/include/gc_inline.h
  4e5811ce2cbeed84aa76dd4b04cba258  boehm-gc/include/gc_local_alloc.h
  2ab58b990328696f3547fd409f2d73c8  boehm-gc/include/gc_mark.h
! 749d567f081e97bcbd125cab7bf57160  boehm-gc/include/gc_pthread_redirects.h
  124a9ee194ba655302058d53fbf7053f  boehm-gc/include/gc_typed.h
  0d4a889208f1b491f4aabcb4070b1eb2  boehm-gc/include/javaxfc.h
  ac6b413e2634fed719426fe40528704c  boehm-gc/include/leak_detector.h
*************** ac6b413e2634fed719426fe40528704c  boehm-
*** 161,170 ****
  deb33a288bb6bee23ac46c1e0717708e  boehm-gc/include/private/darwin_stop_world.h
  9e4ea67f2263535bd4e937de0afda512  boehm-gc/include/private/dbg_mlc.h
  0a5763218eedbd180d2124ba8835ca50  boehm-gc/include/private/gc_hdrs.h
! dcf402d646df6f3e8d1a2f9777f3415d  boehm-gc/include/private/gc_locks.h
  4f7c11f389c4b9cc843d53da0534fc0e  boehm-gc/include/private/gc_pmark.h
! 0fad896ef645f9b618fc53728d560567  boehm-gc/include/private/gc_priv.h
! ecab04c146f8e0d9a145e4285e1d6a12  boehm-gc/include/private/gcconfig.h
  fbe5032f5ffd11c46b1e9ae03a9fbc1b  boehm-gc/include/private/pthread_stop_world.h
  f112bb0b979fd12c4d5fc7590d4869b9  boehm-gc/include/private/pthread_support.h
  85597deca0812f2d092cac8c1afd78a6  boehm-gc/include/private/solaris_threads.h
--- 159,168 ----
  deb33a288bb6bee23ac46c1e0717708e  boehm-gc/include/private/darwin_stop_world.h
  9e4ea67f2263535bd4e937de0afda512  boehm-gc/include/private/dbg_mlc.h
  0a5763218eedbd180d2124ba8835ca50  boehm-gc/include/private/gc_hdrs.h
! 80f8f477820dc4c323b9f7a5ff531424  boehm-gc/include/private/gc_locks.h
  4f7c11f389c4b9cc843d53da0534fc0e  boehm-gc/include/private/gc_pmark.h
! bce551a86ec66b96bcec3ba4baf0a23d  boehm-gc/include/private/gc_priv.h
! 60cc16c94fbbdafe7cccdb597c3aeea7  boehm-gc/include/private/gcconfig.h
  fbe5032f5ffd11c46b1e9ae03a9fbc1b  boehm-gc/include/private/pthread_stop_world.h
  f112bb0b979fd12c4d5fc7590d4869b9  boehm-gc/include/private/pthread_support.h
  85597deca0812f2d092cac8c1afd78a6  boehm-gc/include/private/solaris_threads.h
*************** a0d99fa3be8006e8af6c64110e0c516e  boehm-
*** 180,191 ****
  678892d666129839985e2c9e126b9618  boehm-gc/misc.c
  f9c90c949db03af983f08385da6eac57  boehm-gc/new_hblk.c
  e308d74d7779ecc729bad15d2cb03904  boehm-gc/obj_map.c
! 1ce95284eb48e366652e229eb904813d  boehm-gc/os_dep.c
  ebb806366e4b75f72ac42bfcdda1d318  boehm-gc/pc_excludes
  243e968dd0ce5897ecf1900c3ab8e5eb  boehm-gc/pcr_interface.c
! 0d33b18655ae15ee7741ea0c91b336e1  boehm-gc/powerpc_darwin_mach_dep.s
  3055ed694482f3286d2b8492011969ac  boehm-gc/pthread_stop_world.c
! 49cb6c0089aaec6394c736650fa5c8d5  boehm-gc/pthread_support.c
  8df5132173bc2d55d2feaefc9067e97d  boehm-gc/ptr_chck.c
  89d7ce652a21c4bdfa74466317cf7a87  boehm-gc/real_malloc.c
  5a0c5c1fa15c4e1c7421ff9bcc93e3ca  boehm-gc/reclaim.c
--- 178,189 ----
  678892d666129839985e2c9e126b9618  boehm-gc/misc.c
  f9c90c949db03af983f08385da6eac57  boehm-gc/new_hblk.c
  e308d74d7779ecc729bad15d2cb03904  boehm-gc/obj_map.c
! b4fe6a113fd3549dc8a5c92ce6829d73  boehm-gc/os_dep.c
  ebb806366e4b75f72ac42bfcdda1d318  boehm-gc/pc_excludes
  243e968dd0ce5897ecf1900c3ab8e5eb  boehm-gc/pcr_interface.c
! 25bf96d128e771807d267738fea93282  boehm-gc/powerpc_darwin_mach_dep.s
  3055ed694482f3286d2b8492011969ac  boehm-gc/pthread_stop_world.c
! baeb095ddd3e2b430508c09c0f247a56  boehm-gc/pthread_support.c
  8df5132173bc2d55d2feaefc9067e97d  boehm-gc/ptr_chck.c
  89d7ce652a21c4bdfa74466317cf7a87  boehm-gc/real_malloc.c
  5a0c5c1fa15c4e1c7421ff9bcc93e3ca  boehm-gc/reclaim.c
*************** f0d0015cd40ed8b45360730aed61c307  boehm-
*** 209,236 ****
  bb0b715643982dedc37b21ab14e46379  boehm-gc/version.h
  c868be89237c00b0429b27ae10704a97  boehm-gc/win32_threads.c
  d40ac3dacf445eabdeec3005ee212a9f  bugs.html
! a7ecc032b527a0d578545f19d3418073  compile
! 565073baae5cf6f08a4d77dfb4842456  config-ml.in
! f0792199f84c598881e291d7e2071c28  config.guess
! 697e549e7b5504f8de63e95a7158a53d  config.rpath
! 8fb5dfccae42fe5b09da3891a2fe3f16  config.sub
! 1f8c542650dafc7f92cd8d9aaf6bea38  config/ChangeLog
! c827fc9777ea4b057bf3b63e46c9eccf  config/accross.m4
  6c7b0890dc93bdd97ec3e90d8436b384  config/acinclude.m4
! 1b759f50564639961f927b52d6cbe137  config/acx.m4
  04bdbef77f5fd2e282f7dee0bde60444  config/codeset.m4
! a96ef8eeef3f7a717f1ab8a9397d09f0  config/gcc-lib-path.m4
! df253ba8b69beff8c72264dd4c8296e7  config/gcc-version.m4
  ed78e916ef1ee530d9e2f35765cbebd8  config/gettext-sister.m4
  2056dbab474e474ab2ae01a42ad5359a  config/gettext.m4
  29c9c3d57667bc9e6f14d625b2cd5894  config/glibc21.m4
! 07e86b55427ac59af782b552a554c09b  config/gxx-include-dir.m4
  998940a8ee25ca89805ed7da63536782  config/iconv.m4
  7cdde9f19fc614304e49342c660e2d47  config/intdiv0.m4
  e32906a3177f3b368bcd56f9e86a620c  config/inttypes-pri.m4
  b17ad59a69316040fae6c3b09187bcbc  config/inttypes.m4
  0b63117973333c343e0d0819012b8187  config/inttypes_h.m4
  db111161c56fa9d53a03abfb188ad1d0  config/lcmessage.m4
  77931c860806547ce9fc56097a731c6f  config/lib-ld.m4
  50120e7fff340d87578219756e55a5e3  config/lib-link.m4
  4455537cdae70977a1283180062a2d8d  config/lib-prefix.m4
--- 207,234 ----
  bb0b715643982dedc37b21ab14e46379  boehm-gc/version.h
  c868be89237c00b0429b27ae10704a97  boehm-gc/win32_threads.c
  d40ac3dacf445eabdeec3005ee212a9f  bugs.html
! b2a35e98453194ca837c363ee9c0d379  compile
! e09724e0a7725cc08129db9293a35df9  config-ml.in
! bbbe0891b1d2a2f9f4fac6ee40dc0a14  config.guess
! 46f36a6ce11978ea07e2199f3c5cd665  config.rpath
! 4bf146d41b4ddb53c48de09fcdbe8288  config.sub
! c3a408842f0d13cee1e9ac698c942c2d  config/ChangeLog
  6c7b0890dc93bdd97ec3e90d8436b384  config/acinclude.m4
! 5d35a298d7eed66a9758a8ec3be66549  config/acx.m4
  04bdbef77f5fd2e282f7dee0bde60444  config/codeset.m4
! 1eeb26bed6580aba361773b7a17ee515  config/depstand.m4
! 042203b305962ba9a8f8474ef80edeee  config/enable.m4
  ed78e916ef1ee530d9e2f35765cbebd8  config/gettext-sister.m4
  2056dbab474e474ab2ae01a42ad5359a  config/gettext.m4
  29c9c3d57667bc9e6f14d625b2cd5894  config/glibc21.m4
! 54a64f54056550cf38cb0bf9f2388ab0  config/gxx-include-dir.m4
  998940a8ee25ca89805ed7da63536782  config/iconv.m4
  7cdde9f19fc614304e49342c660e2d47  config/intdiv0.m4
  e32906a3177f3b368bcd56f9e86a620c  config/inttypes-pri.m4
  b17ad59a69316040fae6c3b09187bcbc  config/inttypes.m4
  0b63117973333c343e0d0819012b8187  config/inttypes_h.m4
  db111161c56fa9d53a03abfb188ad1d0  config/lcmessage.m4
+ aee531078fda99d1e3bbdf408b6c734d  config/lead-dot.m4
  77931c860806547ce9fc56097a731c6f  config/lib-ld.m4
  50120e7fff340d87578219756e55a5e3  config/lib-link.m4
  4455537cdae70977a1283180062a2d8d  config/lib-prefix.m4
*************** db111161c56fa9d53a03abfb188ad1d0  config
*** 246,252 ****
  9240a2b84d379e3feff49d8311072dc7  config/mh-interix
  4025142ef79311b861a05eed3e417a4a  config/mh-lynxrs6k
  740855ebe34cb2d01fba1f1bcb4264cf  config/mh-m68kpic
- d2eccbc26e9ac85d25fad721ba9264aa  config/mh-mingw32
  1970cc16887b91d667b9bbfb0f6e67af  config/mh-ncr3000
  fb9d7448a6dab87d4da003658fb4d66d  config/mh-necv4
  9b65dc7f50a7134932aa278ac0378703  config/mh-papic
--- 244,249 ----
*************** fa84a282ce7cd6876d1eac368a31a368  config
*** 262,374 ****
  740855ebe34cb2d01fba1f1bcb4264cf  config/mh-x86pic
  3755b5b077053b5de54ff0f781ca9295  config/mt-alphaieee
  96289d06809692c31d71e69c4bedb6d7  config/mt-d30v
! 945f54294ca11fd14c1aaaecde3ce7da  config/mt-gnu
  2067ce86494ccb89791fe169eee8c198  config/mt-netware
  5aa8f75c6588d513ce199e2e44c206e2  config/mt-ospace
  9c67d61b28da389337cfaba76ac581ee  config/mt-v810
  12b3030d3d59526c374c15af4f5944dd  config/mt-wince
  120ec56e3aa27739a2945bc1c8a2530a  config/nls.m4
! b963319bdff419a7b32cb107b047433d  config/no-executables.m4
  08ac6e38b61b5cee2fa4129284da8fb9  config/po.m4
  d3cecf02bb97035177818aefbb0e0833  config/progtest.m4
  761497fd3445beb86a90919955d5aa20  config/stdint_h.m4
  5e1e75893989d0ae3c0452451cf80280  config/uintmax_t.m4
  6b1c349fb182e74fbc464c50c88fe2ee  config/ulonglong.m4
! e248733007992a9ff77aca2f7fba7e5a  config/warnings.m4
! a8775677195f92e38accb0cc6790c2cc  configure
! 7d31f21e4e55f59e789fb07271dfe765  configure.in
! 1f749d77a744f9512f41f288fa9797db  contrib/ChangeLog
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
! e1f836909733092cad5c0695872da887  contrib/analyze_brprob
  d718f7aa23da7d4f25b48a5607b9fc7c  contrib/compare_tests
  1630984090f8c7ed66e5a977c20664cf  contrib/filter_gcc_for_doxygen
! 84ad7a80afbaa3d0164cd4ee1fbce6c2  contrib/filter_knr2ansi.pl
! 58f9ffefd25533d3fa6e772f833336a1  contrib/filter_params.pl
! 3060a6f740228ce0b4196fc05be4f0f1  contrib/gcc_build
! 278a343efba07ffef3f0051a17d9354e  contrib/gcc_update
  48cbb3050eaf94f8bfbee3c6899c54ec  contrib/gccbug.el
! 1d6eaf8749adfdffa0081770851a7564  contrib/gennews
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
  fa945bac89ee68b410027dcfe1312f4b  contrib/index-prop
! 20179e1289a3a0ff7a6869666b1252e1  contrib/newcvsroot
  1a7e182574673a0ba979ec4ebca2944c  contrib/paranoia.cc
! 007ba5caecca5f2f2be0bf08d64bdf57  contrib/reghunt/ChangeLog
  ab31219466ac7df2a1aa15900540bc8a  contrib/reghunt/README
! 347de90be860ef3b72d5c3298e18e5df  contrib/reghunt/reg_periodic
! 3cce3997de3840363fc48b264eeaa837  contrib/reghunt/reg_search
! 0ef47a46d2e384a9532935891338c161  contrib/reghunt/reg_test_template
! ee16108d987509f59c9323d2b0180fed  contrib/regression/ChangeLog
  b53356615593020467bc01e4845752af  contrib/regression/README
! 6b927b5fa9fc3fee8f52bf46893f0bd9  contrib/regression/btest-gcc.sh
! 57b2176bd936777562a9baa0812892a0  contrib/regression/objs-gcc.sh
  dc562ddb86567c65e82953825713dc4b  contrib/regression/site.exp
  a4460747c474747dccaa9dc5ed08e634  contrib/test_installed
  c4bf22fca12c3089a14e041a9c262797  contrib/test_summary
! bc07630ff35947fab2933666a48dbb20  contrib/texi2pod.pl
  888ab7bfb4e4a64a0e2717ab55f0e9e8  contrib/tree-ssa.doxy
  10240873a22da60b881e516003c1f688  contrib/warn_summary
! e181e2c8720c60522c4c4c981108e367  depcomp
! 9f1b74d3fce1364cf74f135d09124aa7  faq.html
! ac81461263c340d1f6c7ed86a63b06de  fastjar/.cvsignore
  dbe6dec25102f59632c7a62ec0e62158  fastjar/AUTHORS
  bdb1454b8697cdb175027e91b4834fdc  fastjar/CHANGES
! bae3019b4c6dc4138c217864bd04331f  fastjar/COPYING
! fb00294bd8f650db2cc6e919ba67e429  fastjar/ChangeLog
  209e12e13fbd7d098b1c8f52859c291f  fastjar/INSTALL
! 17e406950128873841484407a5b82e19  fastjar/Makefile.am
! 75ebf866bedf680ff96a6f690d56ffa3  fastjar/Makefile.in
  b2237a769a55ab029df30e4cf3ffd29b  fastjar/NEWS
  c2520aec24d9c4f28b1da15fd4995a10  fastjar/README
  f26f9d497a28bd6027a15b30ef4e5e62  fastjar/acinclude.m4
! e8d3e801f49a2082f8ae1603b93809ba  fastjar/aclocal.m4
! c33b65bba68f27c82efc44eec660156d  fastjar/compress.c
! b6ff72d8f7d601d6ba55c9e2020c1486  fastjar/compress.h
! 99c75ae4cdd67fe0611a3dc69a15351c  fastjar/config.h.in
! 26676fd1180bae265c0cc9936d7ba8c1  fastjar/configure
! 60f6005056567fc846a84be6a9f2d12a  fastjar/configure.ac
! 11d8607a786579eb40e9af1364ba7530  fastjar/dostime.c
! c44ff949fe567a1667a14d5973f62aef  fastjar/dostime.h
! 74badc8f25405fe6039083167a29a045  fastjar/fastjar.1
! 35fa329aa8d320c3dd2182c7afb006c9  fastjar/fastjar.info
! 391bafba03dcaf858f5005f73573340b  fastjar/fastjar.texi
! 88bbb63c4af1c1d599fef177b793a85e  fastjar/grepjar.1
  d66630536f4ad8fe249cb6cd115ae1d1  fastjar/install-defs.sh.in
! 4fc3b8f0c1af92661330be086741c2e4  fastjar/jargrep.c
! b88ab791613fcc11cb2dcc67d74a2552  fastjar/jargrep.h
! 97b04946a141f70bc7b5e2849af8a870  fastjar/jartool.c
! c2647d13f9b7b736f86b8b7f3bb62a06  fastjar/jartool.h
! af7fa69dffc8b8bb6ab233fbb95a7559  fastjar/pushback.c
! ea3af7dec309d1e773a6130c0f32a377  fastjar/pushback.h
! a93d2dfed0782b927260e0c75704fb72  fastjar/shift.c
! 2b92efef91b38f0919b4a668d126cf70  fastjar/shift.h
! c0aac0802a8e66b0adf42be9af5caac3  fastjar/zipfile.h
! ac81461263c340d1f6c7ed86a63b06de  fixincludes/.cvsignore
! 89a6ab704e1f67b73de2897190a50b16  fixincludes/ChangeLog
! 17993354fac9b0f6d15fb796d8853c8f  fixincludes/Makefile.in
  e92bed26186314043444cd314759e996  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
! a734b306cd4fb813ad97ba4ef4a320db  fixincludes/aclocal.m4
! 5c12000ad0f94a344a013d3adfbad944  fixincludes/check.tpl
  b7b137a28d7232c6dc049fffe781b67e  fixincludes/config.h.in
! 08e7cd3ca5540cfcee4e41fd099440df  fixincludes/configure
! d255f376c427e7c7835e35a5bf0b47df  fixincludes/configure.ac
! 84c1b4cf4d18a0135226683c961d30d0  fixincludes/fixfixes.c
! fae9454695f2020800d2f6e86642e07e  fixincludes/fixinc.in
! 55b19db3373031fc7f1b10e63d165356  fixincludes/fixincl.c
  2a4b32e8670412700d3fb185983fa2b7  fixincludes/fixincl.tpl
! a661a6d4cf4f1b8fb1e18db47cf81666  fixincludes/fixincl.x
! b20d77e88064dda6bd5d37f9163d9d1c  fixincludes/fixlib.c
! 8691ace72b3e5f57defcdd4fa1b03d01  fixincludes/fixlib.h
! 131c487750a37d0654d2f180e8613da0  fixincludes/fixopts.c
! 7e845ae78ef215ef3d6aa2244427a8e6  fixincludes/fixtests.c
! 1c43d6f5f11937628b24287d8e3fcbd1  fixincludes/genfixes
! cd567a877d00ad7301daeba22bcbb6b2  fixincludes/inclhack.def
  6c07234c19d66eb66d1bd0d08e5c6c60  fixincludes/mkfixinc.sh
! 75e65138629db0b452ab1d146b05bba6  fixincludes/mkheaders.in
! dc2a018f4cbb8f31068ab14b259d8e71  fixincludes/procopen.c
! 3b8c554a3f8238b02a5ad08c855af559  fixincludes/server.c
! 8d15ce24d936a86ac055dd1319a35783  fixincludes/server.h
! 3192e312332e957b730c38412d1ec845  fixincludes/system.h
  fb44e29b7a8917825243dec10c890f3e  fixincludes/tests/base/AvailabilityMacros.h
  9344637ef653af4f95f298c7addfdef5  fixincludes/tests/base/X11/ShellP.h
  987eb6f39d92c1d3ad0964af03187956  fixincludes/tests/base/X11/Xmu.h
--- 259,371 ----
  740855ebe34cb2d01fba1f1bcb4264cf  config/mh-x86pic
  3755b5b077053b5de54ff0f781ca9295  config/mt-alphaieee
  96289d06809692c31d71e69c4bedb6d7  config/mt-d30v
! 413a76ab666084f232f2c948b07d75ba  config/mt-gnu
  2067ce86494ccb89791fe169eee8c198  config/mt-netware
  5aa8f75c6588d513ce199e2e44c206e2  config/mt-ospace
  9c67d61b28da389337cfaba76ac581ee  config/mt-v810
  12b3030d3d59526c374c15af4f5944dd  config/mt-wince
  120ec56e3aa27739a2945bc1c8a2530a  config/nls.m4
! 2cedb92f87bc13dc7e11716f651f405d  config/no-executables.m4
  08ac6e38b61b5cee2fa4129284da8fb9  config/po.m4
  d3cecf02bb97035177818aefbb0e0833  config/progtest.m4
+ 286ddc45eed272d5229e175ff5df1f5e  config/stdint.m4
  761497fd3445beb86a90919955d5aa20  config/stdint_h.m4
+ 67dc2875f39ab22c6b68dc6bd6862c53  config/tls.m4
  5e1e75893989d0ae3c0452451cf80280  config/uintmax_t.m4
  6b1c349fb182e74fbc464c50c88fe2ee  config/ulonglong.m4
! cfd07f1c037572cf40f78bdc26ed29dc  config/warnings.m4
! b87b03160609aa6084b2aa9324299c6d  configure
! 8d0c37ce3aeb53e09d754f1b0d666f66  configure.in
! 0acaa33991669413023b95f80cad755b  contrib/ChangeLog
  7af8d2979bf1a7cfa88e30d05fa22be2  contrib/ChangeLog.tree-ssa
! 90c0bf1648d0fd5e9aa319f0c4ad7613  contrib/analyze_brprob
  d718f7aa23da7d4f25b48a5607b9fc7c  contrib/compare_tests
  1630984090f8c7ed66e5a977c20664cf  contrib/filter_gcc_for_doxygen
! db03e57377f9eb202b7b783eb81fe40d  contrib/filter_knr2ansi.pl
! 2e831f673656f3052f95930c3203cce9  contrib/filter_params.pl
! ae57eba65ef6110c939fb612f541ceed  contrib/gcc_build
! 0fa11cbd84b6464546112370729dc69a  contrib/gcc_update
  48cbb3050eaf94f8bfbee3c6899c54ec  contrib/gccbug.el
! 7abed15f4d511ff64f54b0bfaa60be63  contrib/gennews
  59304fc08afa489baa6b920cc76dc625  contrib/gthr_supp_vxw_5x.c
  fa945bac89ee68b410027dcfe1312f4b  contrib/index-prop
! 1581f57505ce554cb9c76165cf1a0da5  contrib/newcvsroot
  1a7e182574673a0ba979ec4ebca2944c  contrib/paranoia.cc
! 8912d5c7bdacfcf4259e0518fef96255  contrib/reghunt/ChangeLog
  ab31219466ac7df2a1aa15900540bc8a  contrib/reghunt/README
! b66cd5ab901ec3494fd700125172dba0  contrib/reghunt/reg_periodic
! 624a99f8c633cfc4182fbe09295d30eb  contrib/reghunt/reg_search
! d3dd0bcec99c2e140b86efb5f63860b4  contrib/reghunt/reg_test_template
! 20097920f01a3f8af3f3ef25bdcf635c  contrib/regression/ChangeLog
  b53356615593020467bc01e4845752af  contrib/regression/README
! 4b7bdf1250d4fa9de1871cf611a6a6f2  contrib/regression/btest-gcc.sh
! 2b3c847a4aeb120075f3c774804848c5  contrib/regression/objs-gcc.sh
  dc562ddb86567c65e82953825713dc4b  contrib/regression/site.exp
  a4460747c474747dccaa9dc5ed08e634  contrib/test_installed
  c4bf22fca12c3089a14e041a9c262797  contrib/test_summary
! 104634668485df7d1d70006705de81ae  contrib/texi2pod.pl
  888ab7bfb4e4a64a0e2717ab55f0e9e8  contrib/tree-ssa.doxy
  10240873a22da60b881e516003c1f688  contrib/warn_summary
! a9c51bc6c9c6d9b9d010ccd8bb4b465a  depcomp
! d95f3e7f760aa8e7d35cc7d257506f05  faq.html
  dbe6dec25102f59632c7a62ec0e62158  fastjar/AUTHORS
  bdb1454b8697cdb175027e91b4834fdc  fastjar/CHANGES
! 94d55d512a9ba36caa9b7df079bae19f  fastjar/COPYING
! 431fe977fccde7abf6ea958283789a5b  fastjar/ChangeLog
  209e12e13fbd7d098b1c8f52859c291f  fastjar/INSTALL
! b8cde7012e913d24f45922c70cb22da3  fastjar/Makefile.am
! a1e579ab5ca2e98d5d51e2bcf6c8db78  fastjar/Makefile.in
  b2237a769a55ab029df30e4cf3ffd29b  fastjar/NEWS
  c2520aec24d9c4f28b1da15fd4995a10  fastjar/README
  f26f9d497a28bd6027a15b30ef4e5e62  fastjar/acinclude.m4
! 0be8c5099b54d4fc4e53945921b110d8  fastjar/aclocal.m4
! 3b8d5195384d09e309223ea414f34ec3  fastjar/compress.c
! ec251f97856946989b6ffcc504da529b  fastjar/compress.h
! 3af33df26f848c2a86fec0d829e8803d  fastjar/config.h.in
! 89e00d264527d811bac4d0987a7a3ba5  fastjar/configure
! af5bdb76bb708ae8afe62d1f9be4219f  fastjar/configure.ac
! 6829f7ae510673359e235876b79f172d  fastjar/dostime.c
! c6ad694561a404049155c9131167b294  fastjar/dostime.h
! 9cc9855ed21e0de0723578997d580441  fastjar/fastjar.1
! 986edd65a53c243a30983ab8a1e6f655  fastjar/fastjar.info
! edf7b35fc26703a4bc570a01d0ca7a11  fastjar/fastjar.texi
! 45290f215c602029442c6c87f9d8842a  fastjar/grepjar.1
  d66630536f4ad8fe249cb6cd115ae1d1  fastjar/install-defs.sh.in
! af20968c45861d76c6ec003456191f37  fastjar/jargrep.c
! df3e0a27b4ca77427255ff2a6be105b7  fastjar/jargrep.h
! 1864d7ff74f223dc08817b90446b0005  fastjar/jartool.c
! a4405e95fa315c841439de081838140c  fastjar/jartool.h
! ce280576ae4bc9a2347f1f6fedcafbc7  fastjar/pushback.c
! 8cd595fbf89027ad75a12e827633f9f8  fastjar/pushback.h
! b6d7de00f5f1080efcbbbdf4ac0b61e0  fastjar/shift.c
! 8130a7ae0227e3314f4de34b1cc11f56  fastjar/shift.h
! 7492eeff50f65706a9913399d02143ea  fastjar/zipfile.h
! 409891efd5f179f6e202bd6f89869abd  fixincludes/ChangeLog
! 6673c768a7a4c8b64e89a7cb2e01f042  fixincludes/Makefile.in
  e92bed26186314043444cd314759e996  fixincludes/README
  455903ad4ff71fa5c5340ef7ae41a0e6  fixincludes/README-fixinc
! dc75fcbed6a117a7a88cdb35336ac530  fixincludes/aclocal.m4
! b54a9a16f5ba7780e15e5f3a0898c7e4  fixincludes/check.tpl
  b7b137a28d7232c6dc049fffe781b67e  fixincludes/config.h.in
! e3d9982ba758c4ee2d96c5fb58d8c302  fixincludes/configure
! 7ceca074d5ddd3d27760eccb71b1c3dc  fixincludes/configure.ac
! 199a25bcfe5b68fd28c31f993469aafc  fixincludes/fixfixes.c
! 954ee24059993d14aca081ebca23c493  fixincludes/fixinc.in
! 2ded4eadc852d649cc252d0ac9bcb1ab  fixincludes/fixincl.c
  2a4b32e8670412700d3fb185983fa2b7  fixincludes/fixincl.tpl
! 79ef17ce3df7dac99e4e151253b506d8  fixincludes/fixincl.x
! 6f8f78e8bd176b6505e32bff86f7b414  fixincludes/fixlib.c
! 7721783a1d5851a98fd0b0c9860e58ba  fixincludes/fixlib.h
! a8177efdcc53b46da9057cb6349c7499  fixincludes/fixopts.c
! 6944251b4b8cc03f4405eebf35150c9e  fixincludes/fixtests.c
! ecf1bc85cd6dff51b5af0185f4c4e76e  fixincludes/genfixes
! a513b337a82bf8356fcc127f4872b91e  fixincludes/inclhack.def
  6c07234c19d66eb66d1bd0d08e5c6c60  fixincludes/mkfixinc.sh
! 846e718a5f442869a67b4e0e8e7e9cf5  fixincludes/mkheaders.in
! 3aa0563cd682ee61ecd9eb6eea0b0bce  fixincludes/procopen.c
! 7084d1defa9ee8f485b436c2f5c4cbbd  fixincludes/server.c
! 402dd306c4c31654789b52632c828cbc  fixincludes/server.h
! 3693e21b2f642e2d6e2eba3a7622879e  fixincludes/system.h
  fb44e29b7a8917825243dec10c890f3e  fixincludes/tests/base/AvailabilityMacros.h
  9344637ef653af4f95f298c7addfdef5  fixincludes/tests/base/X11/ShellP.h
  987eb6f39d92c1d3ad0964af03187956  fixincludes/tests/base/X11/Xmu.h
*************** ef2aa084505b9087cda56c9633002987  fixinc
*** 400,406 ****
  8ac97a3367b9a99503c5b21430993cd4  fixincludes/tests/base/mach-o/dyld.h
  89c11963b284c5a43cca427c60a00a97  fixincludes/tests/base/machine/cpu.h
  46501093f4cfd450cfd4b18d9fa4b385  fixincludes/tests/base/malloc.h
! 3d478b4571490ef282a719c8959837e7  fixincludes/tests/base/math.h
  a911f5fbb127353024e77149fcf90596  fixincludes/tests/base/netdnet/dnetdb.h
  f690db296a82aeefa0bfe9ad74a2b71c  fixincludes/tests/base/netinet/in.h
  2649ccca3396541aeb5e612d4b4a3141  fixincludes/tests/base/netinet/ip.h
--- 397,403 ----
  8ac97a3367b9a99503c5b21430993cd4  fixincludes/tests/base/mach-o/dyld.h
  89c11963b284c5a43cca427c60a00a97  fixincludes/tests/base/machine/cpu.h
  46501093f4cfd450cfd4b18d9fa4b385  fixincludes/tests/base/malloc.h
! 8d007d1d5107962bdb2de72ed6f3a402  fixincludes/tests/base/math.h
  a911f5fbb127353024e77149fcf90596  fixincludes/tests/base/netdnet/dnetdb.h
  f690db296a82aeefa0bfe9ad74a2b71c  fixincludes/tests/base/netinet/in.h
  2649ccca3396541aeb5e612d4b4a3141  fixincludes/tests/base/netinet/ip.h
*************** d0fcad5da41c4659704e010de6a222c3  fixinc
*** 421,427 ****
  e6cc98bf40a27419dc1002e0f51d79d6  fixincludes/tests/base/stdio.h
  1887d8bc1711dae9922852cda6027877  fixincludes/tests/base/stdio_tag.h
  979538c4d8080e26fcbf2616d93e13ee  fixincludes/tests/base/stdlib.h
! 918dc04e2ba33f173fe1b873a378868e  fixincludes/tests/base/string.h
  a4ee1d1f3da6d0e87609b408d8e4308e  fixincludes/tests/base/strings.h
  127183621f8b29d6912c683be6102135  fixincludes/tests/base/sundev/vuid_event.h
  9b77f381300d6f48f8fca91cf82e8c31  fixincludes/tests/base/sunwindow/win_lock.h
--- 418,424 ----
  e6cc98bf40a27419dc1002e0f51d79d6  fixincludes/tests/base/stdio.h
  1887d8bc1711dae9922852cda6027877  fixincludes/tests/base/stdio_tag.h
  979538c4d8080e26fcbf2616d93e13ee  fixincludes/tests/base/stdlib.h
! 8e97656117d1f00a8317907e586978b5  fixincludes/tests/base/string.h
  a4ee1d1f3da6d0e87609b408d8e4308e  fixincludes/tests/base/strings.h
  127183621f8b29d6912c683be6102135  fixincludes/tests/base/sundev/vuid_event.h
  9b77f381300d6f48f8fca91cf82e8c31  fixincludes/tests/base/sunwindow/win_lock.h
*************** c340da8e13edf5d70941b01670df6228  fixinc
*** 451,2297 ****
  b6494e752821a4f87a2114c27143856c  fixincludes/tests/base/unistd.h
  4f59f83f073afacc3f59c39952ec8a7b  fixincludes/tests/base/wchar.h
  f86a4ea6000eba71d34c1b9a7bcd2c14  fixincludes/tests/base/widec.h
- 1ef5e5ddc14eaac69b9ac3b4a0782977  gcc/.cvsignore
  174528657da1f7a179a039941810b764  gcc/ABOUT-GCC-NLS
! 94d55d512a9ba36caa9b7df079bae19f  gcc/COPYING
! 7fbc338309ac38fefcd64b04bb903e34  gcc/COPYING.LIB
! 4f5f94f1f574dc50075aa39fc62dbfde  gcc/ChangeLog
! 9f3eae1e23bcd4166785b0386b467eef  gcc/ChangeLog.0
! fc0aaf9fc3d0b7a20690add95f3bc80a  gcc/ChangeLog.1
! f3d98ce0013c924cc026c266b5f09a2b  gcc/ChangeLog.10
! 18285f5da6270cc37adf891ee7be3812  gcc/ChangeLog.11
! 2d2d11b8a3e9e7e4124688336b07d9ab  gcc/ChangeLog.12
! 070098e9960d4f47a03c9d10070cfc61  gcc/ChangeLog.2
! 7f91ddf5107166700482cc16857cb1d0  gcc/ChangeLog.3
! 3d9964b41a57c6f184b022dec3e115a2  gcc/ChangeLog.4
! b4e4afb3ce3f92318baad2c3ea30543b  gcc/ChangeLog.5
! 04d99c442dd304d0d00b5234135057db  gcc/ChangeLog.6
! 035b26ab528034d6bfbb2a288b84cd1b  gcc/ChangeLog.7
! 98791e5d93f23a747cc8d47966a98427  gcc/ChangeLog.8
! cc09ce1ef3704378bfc6acf0f2c9cef4  gcc/ChangeLog.9
  98c5a6533d7e4507aba5dc4fd06014ed  gcc/ChangeLog.lib
  a0a7fda9e71c5bc63284bdefa915611a  gcc/ChangeLog.tree-ssa
  4804423c755a929408412852eb45e422  gcc/FSFChangeLog
  5af5721f6387aa8aa5fb200e025dd573  gcc/FSFChangeLog.10
  f7f665544fb6aa08551b37283f6c56de  gcc/FSFChangeLog.11
  d6c8d8f4cf325cd24a60d312bb247f46  gcc/LANGUAGES
! b6e166ca5300f74678b4da2e38aa6942  gcc/Makefile.in
  00919fda1a585fdc4a1be1fec2eeb0bb  gcc/ONEWS
  f88d9228718a255b827d6f417063d62d  gcc/README.Portability
  f44aeb578969621358194ef6a8c67093  gcc/SERVICE
! 7b635a74d241195bc2159ebaac718d75  gcc/aclocal.m4
! 401d597164dec84fe7a3e26ad1edc72b  gcc/ada/5xcrtl.ads
! 2a02ea952619a60cad152ca038e605e7  gcc/ada/9drpc.adb
! a152a37a6c148a60a1f2a6a008d30725  gcc/ada/ChangeLog
  ea6b5429aa670cb6f1b4f72087be2656  gcc/ada/ChangeLog.tree-ssa
! 59c750be3c5d1eca2107fa558b336f2a  gcc/ada/Make-lang.in
! 0caf6e36e9bd1860901bc7d958b6107b  gcc/ada/Makefile.generic
! 263a65feb5e7990845d5b3e5db274123  gcc/ada/Makefile.in
! 14b82e98d657dbd7d8aab79073120f6b  gcc/ada/Makefile.prolog
! c32099714cff77325746dee05f9368cc  gcc/ada/Makefile.rtl
! 76d94bc0711500e3d4ba7fbd60430c4b  gcc/ada/a-astaco.adb
! de35fad803ed947dd50f32b6d15b4a0a  gcc/ada/a-astaco.ads
! 3d74afbc4fb2d012cb16fbe34e22e493  gcc/ada/a-caldel-vms.adb
! 2a52a7d7529d4880d5a6761d55581b69  gcc/ada/a-caldel.adb
! 4f7bcbd657f8fa7287561aaec75e34c0  gcc/ada/a-caldel.ads
! 82fa85cd259cf486b168cd800d8df6be  gcc/ada/a-calend-mingw.adb
! 338c267dfc96d492a6e07be089b99e7f  gcc/ada/a-calend-vms.adb
! 0b584a9f2b59ebf7f1490940e4803209  gcc/ada/a-calend-vms.ads
! 17f5b5d76b994eb3dcebe403d88d094b  gcc/ada/a-calend.adb
! e5973b867004af990f0514217db11a94  gcc/ada/a-calend.ads
! 2707ede80396e01e87fe0e845a98f22b  gcc/ada/a-cdlili.adb
! 77a0bad6c680ad4eed0d59e35fa8b5e8  gcc/ada/a-cdlili.ads
! 3eed66db05e8e758c2f5ad6aa0080a02  gcc/ada/a-cgaaso.adb
! eb34975461a96365ee70219c205b09dc  gcc/ada/a-cgaaso.ads
! 6f0fee9f52c407c584dcd026d75f66c1  gcc/ada/a-cgarso.adb
! 88911b30f4a5f3a6c4efaf681c438831  gcc/ada/a-cgarso.ads
! d83d525c80c1b029593f9f92bdb5f96d  gcc/ada/a-cgcaso.adb
! a2a285034960313158ec81130fe74b75  gcc/ada/a-cgcaso.ads
! 7772f580de3e016358d967632e356f60  gcc/ada/a-chahan.adb
! de29cf3748a53b83ef330ec37612bc2c  gcc/ada/a-chahan.ads
! 50488297e80d4725337450c20527d5aa  gcc/ada/a-charac.ads
! 69db9ab461a8419e79cfcd7c8a64998c  gcc/ada/a-chlat1.ads
! ddeb2f881db9f22f33a31eacd6ff02c9  gcc/ada/a-chlat9.ads
! e754e2aea5a42b9e774de6ed6bb5d00c  gcc/ada/a-chtgke.adb
! de187aad39d41d602f6a33d7f232681b  gcc/ada/a-chtgke.ads
! 7357946ad69f54ec38690c705e71daf0  gcc/ada/a-chtgop.adb
! 7de3f9208d35419c7bd0d55516ec0891  gcc/ada/a-chtgop.ads
! 1625e1ae135ca894e1949974c777470d  gcc/ada/a-chzla1.ads
! 2e4d2e201b78dd86b85b948c631cd708  gcc/ada/a-chzla9.ads
! edc3426ba8374fa5ccfe4c00746e09b8  gcc/ada/a-cidlli.adb
! e8f2fa7982075907c7e911ff4c1ea628  gcc/ada/a-cidlli.ads
! 31f0b0142e1c88bf8c4e73a374b6410b  gcc/ada/a-cihama.adb
! 366d20b999f717f36eff6f2299134e9e  gcc/ada/a-cihama.ads
! e6ccafe08cde69a1f5a4efcca9b462cc  gcc/ada/a-cihase.adb
! 602bd835c74061cc11c73a2429161774  gcc/ada/a-cihase.ads
! d1b14a7c8cda9730638e89e298cf5d76  gcc/ada/a-ciorma.adb
! 3ce589a3f195989b7556a731e2fe8040  gcc/ada/a-ciorma.ads
! 7697c854931f152cfed4efa41a0d94d8  gcc/ada/a-ciormu.adb
! 7f1985e98bf0977a5998179c810d51e6  gcc/ada/a-ciormu.ads
! 65a591dd7aeddf54e41cc459eeaa95cd  gcc/ada/a-ciorse.adb
! 4997532c9c52b13f3458193bf9613294  gcc/ada/a-ciorse.ads
! 98ae4e9bb99e1a6b2246d120db571aa6  gcc/ada/a-cohama.adb
! 1d9deb0430bf8e8e13b0e200fa6f951d  gcc/ada/a-cohama.ads
! 5d5afe7f13e6de8cf60b37c52875b077  gcc/ada/a-cohase.adb
! 907d419b79cb29e996663de5505b4c3f  gcc/ada/a-cohase.ads
! d1f28472e16c43931480308c369ce69f  gcc/ada/a-cohata.ads
! 526a47791e3cc390177e20aebbce2a23  gcc/ada/a-coinve.adb
! 4c568c08ae527cb8988b646f7fe06ca1  gcc/ada/a-coinve.ads
! 0b6d780714191552adae1a777682e470  gcc/ada/a-colien.adb
! 55320cfe8cb20d518c2af277d2796a6d  gcc/ada/a-colien.ads
! cefddd201c493b252a00a0f8fc826199  gcc/ada/a-colire.adb
! 939f189b812fc3464ba73fb964c41a62  gcc/ada/a-colire.ads
! 86421a6455968e54fe0c10fb6c85e9fe  gcc/ada/a-comlin.adb
! dfba9cf9e4a412e7a6bd501fbc8e78c6  gcc/ada/a-comlin.ads
! 0c57f1462c34f92021f66e575ec9e10a  gcc/ada/a-contai.ads
! f461a25ebf4f2b1d51193a1487ee7324  gcc/ada/a-convec.adb
! 3c6f8857f1edb44936a0acd66fd84f93  gcc/ada/a-convec.ads
! ebebb6468aa0bd3b52e074d84aa51362  gcc/ada/a-coorma.adb
! 97e8801c288e639d99d05eea03c31d4c  gcc/ada/a-coorma.ads
! c67cbf856c692645fb85f700a13c7192  gcc/ada/a-coormu.adb
! 687764e5a9b8853847c7447ea72d1caa  gcc/ada/a-coormu.ads
! 86954afd9c279417603dae00462b2864  gcc/ada/a-coorse.adb
! 5e8614b3b93de54291a76b0319cef4aa  gcc/ada/a-coorse.ads
! 4d1baa7f2ba60efd36df092362139078  gcc/ada/a-coprnu.adb
! 88c5e33443ddeb9dd597732c89fcee3c  gcc/ada/a-coprnu.ads
! ec57f3b19395396c0295b4246f4d9116  gcc/ada/a-crbltr.ads
! 998819fc41bd6f27a73201092e82df9c  gcc/ada/a-crbtgk.adb
! 56f1e0064170c535619b1ac76e05a4c9  gcc/ada/a-crbtgk.ads
! 08f959211eb92ec744a8b34fe8307b1b  gcc/ada/a-crbtgo.adb
! 5eb66f73211f234851aa026c53beac34  gcc/ada/a-crbtgo.ads
! c097d87327a95b6fe1e053c391d53eb0  gcc/ada/a-cwila1.ads
! 2b3ac34ce3c7820c436dace658eb55cb  gcc/ada/a-cwila9.ads
! 21fb645a3e47fcd41609774942c44fa5  gcc/ada/a-decima.adb
! 3f3ab24f2c03c6a518398e5ca4f3f10d  gcc/ada/a-decima.ads
! 2979a4ac23f6909304b1e819bc243d8d  gcc/ada/a-diocst.adb
! 740cde317670242e61a80cc877ab18f7  gcc/ada/a-diocst.ads
! 6129927014de84324a271f9a41e1ef85  gcc/ada/a-direct.adb
! 39b8e349a11ceef0d41850f2cb0e6947  gcc/ada/a-direct.ads
! 11e1583522b6cc4769d389a70341f498  gcc/ada/a-direio.adb
! 3d642f3ee23413bc4718171c68153fe2  gcc/ada/a-direio.ads
! 2a19b0a5d0fbed38c48713a2b411d4ab  gcc/ada/a-dirval-mingw.adb
! b305694fed9f05d29ca1a4566b166419  gcc/ada/a-dirval-vms.adb
! 091b54e0408089667e1dbd6681effe11  gcc/ada/a-dirval.adb
! 606188f98673a186ba1bb00b4adcea1d  gcc/ada/a-dirval.ads
! e082214c97c2c984f722f64d125f0b57  gcc/ada/a-dynpri.adb
! eb12cb8146a3d414cca0377dcec53888  gcc/ada/a-dynpri.ads
! cf472c65bbcc2fc8bbbd09239f7d49b5  gcc/ada/a-einuoc.adb
! 4e49249f9afdc0f027bc66fd527637c0  gcc/ada/a-einuoc.ads
! 841d56a65233868bde222ca88802b8f3  gcc/ada/a-elchha.adb
! 35b14d87d8f4d6033f4badac86898dec  gcc/ada/a-elchha.ads
! df54a47840d4cd505f4fcdf75931ee07  gcc/ada/a-excach.adb
! bd18465bbc6c1df03fc999bbd9f93eb8  gcc/ada/a-except.adb
! 6c73faee0bba8ebc4f848083dcf414be  gcc/ada/a-except.ads
! 31d7549fa5b9367dfc5cc9b29c92f9c2  gcc/ada/a-excpol-abort.adb
! 2c7843988a92f848db3011ec708b4406  gcc/ada/a-excpol-interix.adb
! 43778735eef7989ee699f9fac917a1f7  gcc/ada/a-excpol.adb
! 6496940e43e865c3d5cb2308667d4ef2  gcc/ada/a-exctra.adb
! 008fdb434593df08a5d59993b5b3cb02  gcc/ada/a-exctra.ads
! 8191dd63f9492c2447be90e925199cef  gcc/ada/a-exexda.adb
! 363222ed1fe85c872904b4753ec53c65  gcc/ada/a-exexpr.adb
! a0acd4255c862e425fe46abe6c342759  gcc/ada/a-exextr.adb
! 9d63d99e8860f6458d34206980aaade5  gcc/ada/a-exstat.adb
! bf629c583292d2d1d7219fd9f5115b14  gcc/ada/a-filico.adb
! 75bc37e666709c437ee44aba98f9a837  gcc/ada/a-filico.ads
! c4f200f87fe3ece98408cb377d4a5f09  gcc/ada/a-finali.adb
! 48a4cdc3b0a041e5e85cb7b67a89bc75  gcc/ada/a-finali.ads
! 506a89a31e2f2c9614f08e66a0de5bce  gcc/ada/a-flteio.ads
! 73d5c2106feebeb6c3b533c23de53221  gcc/ada/a-fwteio.ads
! c625f70f320e11c463fed1210cdb0cc2  gcc/ada/a-inteio.ads
! add866185e7618abfefa2184747a55b3  gcc/ada/a-interr.adb
! abaebb74b0550b7b4c6b28dff2bbebf7  gcc/ada/a-interr.ads
! 6275cba9f81d833be06e112d8d20c546  gcc/ada/a-intnam-aix.ads
! 9107032ac943ab7c2c4f994ef53c0809  gcc/ada/a-intnam-darwin.ads
! dbc2a2f6b16effb0b28385109992c60e  gcc/ada/a-intnam-dummy.ads
! 025a97ac90bd1496fa998417380a07cb  gcc/ada/a-intnam-freebsd.ads
! aa5d3d3416a4bead679af61bfd0ee784  gcc/ada/a-intnam-hpux.ads
! 45422a7172b50d3874c27fdc98c4b3dc  gcc/ada/a-intnam-interix.ads
! 83d44086644460c50f714ea15911437a  gcc/ada/a-intnam-irix.ads
! 08bd0bf6734035fddf248e1e35cbd5c0  gcc/ada/a-intnam-linux.ads
! 84e1ba752dec74f6b3f1332a9c456395  gcc/ada/a-intnam-lynxos.ads
! c4ee6725bf506fd03ded0b6ccbb66993  gcc/ada/a-intnam-mingw.ads
! cf30d904e1121acdfed0e1188e7263e6  gcc/ada/a-intnam-os2.ads
! 32f33d78ab8c55e4746afae4267404ea  gcc/ada/a-intnam-rtems.ads
! d23caf40de4337cc9c65c82eeccd06fe  gcc/ada/a-intnam-solaris.ads
! cc40d668282d66142be675dcd6eeec6d  gcc/ada/a-intnam-tru64.ads
! c4da83e8c35940282af0b588c802a237  gcc/ada/a-intnam-unixware.ads
! 1957746bc54870313b9d7eccbe483ba8  gcc/ada/a-intnam-vms.ads
! ed8175a50d910a0c151175c281cf35a3  gcc/ada/a-intnam-vxworks.ads
! 5e548e624db711cdc59cdf4e41b74b84  gcc/ada/a-intnam.ads
! 8ad834f7313f66bfc50dcafc886da703  gcc/ada/a-intsig.adb
! 70235a8c237554ac3c5087399b5388ed  gcc/ada/a-intsig.ads
! 2cb2afc78e41c5a89e5fd52e88b671a0  gcc/ada/a-ioexce.ads
! 7610d5d545d62151798992abcd8971a3  gcc/ada/a-iwteio.ads
! b55d616a3c6f632eb84021b2738eacce  gcc/ada/a-lfteio.ads
! 49b77fa1fd068cd6d4f59f86a75b2697  gcc/ada/a-lfwtio.ads
! 6a25f639fa26a9b9b60ca8011736806f  gcc/ada/a-lfztio.ads
! e86c6ef6eef506cb1247c6305a3d6cd1  gcc/ada/a-liteio.ads
! 7cae81f31ff922609ffc7051c2c76b88  gcc/ada/a-liwtio.ads
! 5c154641ac3797bf76bff4f0ad0e7cb0  gcc/ada/a-liztio.ads
! a4795dd444bdc3a0923bfe0797b5e63c  gcc/ada/a-llftio.ads
! 1f31f90026634d65a0945ff0e854b647  gcc/ada/a-llfwti.ads
! fe378fe7b89f98d5964741adceb81d86  gcc/ada/a-llfzti.ads
! 4722bf15cb9adf1e1329042bfc10d288  gcc/ada/a-llitio.ads
! f62dc8ad649354d05c766cbdc105d685  gcc/ada/a-lliwti.ads
! 3a36435ce888e8f4d268558ab259349f  gcc/ada/a-llizti.ads
! 9b5cdb5bad35ac259b6216c2dd3eac93  gcc/ada/a-ncelfu.ads
! b04a6e00b02ce289c70b7151804a79b0  gcc/ada/a-ngcefu.adb
! cb9e3772a500b5ae74a0b2999d220dfa  gcc/ada/a-ngcefu.ads
! 6c21a50feb5d794557b28dbd4c965d33  gcc/ada/a-ngcoty.adb
! 669cdf7fec6615f38f7db77ccb93b037  gcc/ada/a-ngcoty.ads
! 99580107059c530bb1574e71b837feda  gcc/ada/a-ngelfu.adb
! e2001d7f1dde10ea37a0a0d0f11c2de5  gcc/ada/a-ngelfu.ads
! 2875424e074b16aeb7035d4cf21a5f21  gcc/ada/a-nlcefu.ads
! 6094a3d00586f82479c08bc32e6726b8  gcc/ada/a-nlcoty.ads
! 614fec439dbecc958f6007843f4a0f18  gcc/ada/a-nlelfu.ads
! 76505bc7d5d37dd609f5e035a94c50ed  gcc/ada/a-nllcef.ads
! bfded5ba883669b5fc67ff8c4387c2bd  gcc/ada/a-nllcty.ads
! 6e66b0173b207c34a35f514f920b1a0b  gcc/ada/a-nllefu.ads
! 3d6236cc7678999caee340028ef0bdfb  gcc/ada/a-nscefu.ads
! 359f9b8c8355918a25165009c3473537  gcc/ada/a-nscoty.ads
! 00c57da3ed33cc5d91e318c13548d8ad  gcc/ada/a-nselfu.ads
! 43bb2610baccd116d675b1f2e831d730  gcc/ada/a-nucoty.ads
! 86fc12d9d5ba8829e6e7cc49368d0b8d  gcc/ada/a-nudira.adb
! 44104bbf0aa0a9a94c7cd1e7d757d737  gcc/ada/a-nudira.ads
! 50b1ba3745800dfdd8d00e62b12377fc  gcc/ada/a-nuelfu.ads
! a38e86500e40049af5792b6550d2fcca  gcc/ada/a-nuflra.adb
! 325c95376d7f37b75eab38f9aac1c721  gcc/ada/a-nuflra.ads
! d16b5921608afb35f2172ca96d720c4f  gcc/ada/a-numaux-darwin.adb
! 904a9c964c19b175408ed2f45ad90255  gcc/ada/a-numaux-darwin.ads
! 63a497335d0c9fdfad1f15e71bad237b  gcc/ada/a-numaux-libc-x86.ads
! cf16a5bb982594288c5aa23c108785e7  gcc/ada/a-numaux-vxworks.ads
! f80076972a57891ab7dbfd9e838d1806  gcc/ada/a-numaux-x86.adb
! 91664ab38ca6f4c19c784e6323ea6329  gcc/ada/a-numaux-x86.ads
! 7f18ef259d143373117b8faff7d82125  gcc/ada/a-numaux.ads
! dfd369b1d0d48d46cc547992fec68e4b  gcc/ada/a-numeri.ads
! 7b28d9ad2b6e0573dcb50ec59fd5d921  gcc/ada/a-rbtgso.adb
! 87cc01fa7ddc304af91cd0d2c1f409c8  gcc/ada/a-rbtgso.ads
! ac34c0c15eca6dae77bdef0f7122d52a  gcc/ada/a-reatim.adb
! 49bc47e54e742859e994649e8b8b5088  gcc/ada/a-reatim.ads
! 5bc4a23cc752bea489841b695223ee55  gcc/ada/a-retide.adb
! 5d33ecd36e6fee4af8361344d20beee2  gcc/ada/a-retide.ads
! 490db98902a45e3a263333b8a89bc429  gcc/ada/a-secain.adb
! 030524652cf00cb4c6a7e1b21c30f08a  gcc/ada/a-secain.ads
! bc211489334965af5997fb5e65d4bbcd  gcc/ada/a-sequio.adb
! cbf46199f3b4b14081d574aaf8d05a12  gcc/ada/a-sequio.ads
! 301d80a2ddaced89e220a194f6a98012  gcc/ada/a-sfteio.ads
! 5a93d98750508294b13767b08fec10e0  gcc/ada/a-sfwtio.ads
! eccac47597dc901536cea6224d99e0f5  gcc/ada/a-sfztio.ads
! 9ea3205479055dd8bf5dd1c9f4b8da73  gcc/ada/a-shcain.adb
! b85a193d3c45d13bcd274ab6ff58ae0f  gcc/ada/a-shcain.ads
! 5d3599f38d627ca520ccfef01f8d85c9  gcc/ada/a-siocst.adb
! c8ead672a944a7fb1f4f2bebf8e95d16  gcc/ada/a-siocst.ads
! ba739e99cd723aae6d79579fba4d12b5  gcc/ada/a-siteio.ads
! a953d7a1dc198f5cc35786e98cb6a418  gcc/ada/a-siwtio.ads
! 0ba858ade80be8f195b05d8e2b6b14eb  gcc/ada/a-siztio.ads
! cf5640209f7ae7fe1547ca5ecb5b7916  gcc/ada/a-slcain.adb
  98f37234ec7748f760e3e95f0265d6a1  gcc/ada/a-slcain.ads
! 07dc7d2712d0aa6cc06f4b322e06969b  gcc/ada/a-ssicst.adb
! f45f46f23aeb7be9c37f1ffee557a41e  gcc/ada/a-ssicst.ads
! 8d64f7632f3f02f599d22d9c7565480b  gcc/ada/a-ssitio.ads
! bbb99001501fd721dbd8d8fdb80d09ee  gcc/ada/a-ssiwti.ads
! 6e8181f05bf5e1a57009b696f3798583  gcc/ada/a-ssizti.ads
! cdb823846f5dec74b7e4991186ab5894  gcc/ada/a-stmaco.ads
! ce829efb311b960f064d002520566082  gcc/ada/a-storio.adb
! b45e37576ae0407389ba7291607bdcc1  gcc/ada/a-storio.ads
! 4047b647ea96107c7593ea5dfb0cf5c2  gcc/ada/a-strbou.adb
! 043b4ab58ca6d24f3bf7cbd418ef856c  gcc/ada/a-strbou.ads
! 0a6b88922a9b9bcc32543df284640a74  gcc/ada/a-stream.ads
! b80e992f3f8ef228dc111093780f0e47  gcc/ada/a-strfix.adb
! f4da445818092e6749b6790dab098df1  gcc/ada/a-strfix.ads
! edc88520d7ca83f568073f3d0f638ae6  gcc/ada/a-strhas.adb
! 2c856487790007425e441d64fea243db  gcc/ada/a-strhas.ads
! 702554c9d0e3b9b0b388e5a111d2f1b1  gcc/ada/a-string.ads
! 12b8901af87038a11d52a743d55a4f2b  gcc/ada/a-strmap.adb
! 08d045da4b663f0489764930d7832f91  gcc/ada/a-strmap.ads
! fd9967a4c0c3af2796c4adfe1c75e327  gcc/ada/a-strsea.adb
! e39aca970e30d06ebb04f6404d15e10f  gcc/ada/a-strsea.ads
! be2e45f4acc9031c4a843445173f7d33  gcc/ada/a-strsup.adb
! ef10c2970f76a45ab7e5a857de4aac89  gcc/ada/a-strsup.ads
! f7c8ed2ec5fc2e01c35544c97304aa76  gcc/ada/a-strunb.adb
! 6b4e2d269c024bf6c8011f4bbae11b0f  gcc/ada/a-strunb.ads
! 8e387348e59f8204847d867b7e29be12  gcc/ada/a-ststio.adb
! 28203f30f5411525c686763299fd776d  gcc/ada/a-ststio.ads
! 2aeba1f56e12898f9f8280e012a684a1  gcc/ada/a-stunau.adb
! 360f244f5f68642d6190ead4a23b3940  gcc/ada/a-stunau.ads
! d34ac3a539207394d09f26b577c2f324  gcc/ada/a-stunha.adb
! ef82812d7a86c5f245da50ba8ef2248d  gcc/ada/a-stunha.ads
! ddd6e34b400c2f3bc3cca2b160ad5e4e  gcc/ada/a-stwibo.adb
! 42c82b762fcbd97f04b420753c3c8f5c  gcc/ada/a-stwibo.ads
! f515ed4f83c87b29fc8eb100e05c0203  gcc/ada/a-stwifi.adb
! 57bbedc7c186c4df5eb504670b9afd10  gcc/ada/a-stwifi.ads
! 15808df8cb376fa5c5738c04299eb0db  gcc/ada/a-stwiha.adb
! 0b40a0b560115f5899f4991e890d4641  gcc/ada/a-stwiha.ads
! 5771c721d77f49c1256e54800f202cf3  gcc/ada/a-stwima.adb
! 021533ecdae2359b72b451135bd833df  gcc/ada/a-stwima.ads
! f163c429e6a932c584e10690e47c0779  gcc/ada/a-stwise.adb
! f23879fb1eba4cc4fa3fa2631231810e  gcc/ada/a-stwise.ads
! 9d5fe4262a76c605f2482376ff43727a  gcc/ada/a-stwisu.adb
! a9236efddc206996b0e00ec1860da07a  gcc/ada/a-stwisu.ads
! d04521f85530b41e400bb53e1f40fa51  gcc/ada/a-stwiun.adb
! 11fbf9328668954241c87e21c37a63c4  gcc/ada/a-stwiun.ads
! 5ea5febd49f1435fb3528d141e495684  gcc/ada/a-stzbou.adb
! 3ec21c219c07e2cd50be39e2d34bd542  gcc/ada/a-stzbou.ads
! 9be14fad25376a377e516acbd346a653  gcc/ada/a-stzfix.adb
! c76883a8fb0a2ad6a1cfd80a36b8e9fa  gcc/ada/a-stzfix.ads
! 5482ab664eddfbfcb6199c7f2ca6044e  gcc/ada/a-stzhas.adb
! 3e96065e1a7fefdfabb4be1a8527f0de  gcc/ada/a-stzhas.ads
! 41aabcd5095ed78105499d4b7515fb81  gcc/ada/a-stzmap.adb
! 425128c75a5ce58230e36fd47476a564  gcc/ada/a-stzmap.ads
! d8925540123ec64039e900cc86d774e1  gcc/ada/a-stzsea.adb
! e5f02a6691a1f4e9768d177833d07de7  gcc/ada/a-stzsea.ads
! aecfb8f9801b8457ecb61b234a3527ef  gcc/ada/a-stzsup.adb
! 569a75f883362921c1d8169f262204a8  gcc/ada/a-stzsup.ads
! 0bfdb589f5cc91e3b7c5910dd31883ad  gcc/ada/a-stzunb.adb
! af7f0d19d346a63e0c13ebfa5673d289  gcc/ada/a-stzunb.ads
! c190718cb43851ef1ad28bb4a5b9f881  gcc/ada/a-suteio.adb
! ae49660758d084ffcbe4c72462c0c8e9  gcc/ada/a-suteio.ads
! 9b9d30c6c0f40693553ae3339cf3dba5  gcc/ada/a-swmwco.ads
! 418424a3fb59e3bd86e4703a8eb070ef  gcc/ada/a-swunau.adb
! c2a109ecb1075ab8b3aa5868edbb2c0d  gcc/ada/a-swunau.ads
! 7f4c73cd0208f045d88ee91589398f14  gcc/ada/a-swunha.adb
! 28e4e6759d7855d06a4b18fb59ca9f03  gcc/ada/a-swunha.ads
! 336fc4550c6f2542cb475fa84ed747ac  gcc/ada/a-swuwti.adb
! a5f365fb8a5a045042ceb2dba2801864  gcc/ada/a-swuwti.ads
! d489ebc84c98518c06343ce16dc4ca72  gcc/ada/a-sytaco-vxworks.adb
! 888f4475b715182f894384952eba1658  gcc/ada/a-sytaco-vxworks.ads
! 5289ef66423b9b55708f013ac505fb33  gcc/ada/a-sytaco.adb
! 8a997f8824061ceeeb0429b4002fd3e5  gcc/ada/a-sytaco.ads
! 934efc601e5beab71c3f8be2c45aa457  gcc/ada/a-szmzco.ads
! fb45353a8344ebccf789b264beca221c  gcc/ada/a-szunau.adb
! cd15c732f12e54b53030db9f68afc825  gcc/ada/a-szunau.ads
! fbb64d603b6cc8d9bdedc4f7540ad12d  gcc/ada/a-szunha.adb
! 612305d874eafba24ef10863963bdac7  gcc/ada/a-szunha.ads
! c1f9120567a23eebf859478fbdb37cf1  gcc/ada/a-szuzti.adb
! af1063458d645d8b2b7bd780bfabead3  gcc/ada/a-szuzti.ads
! 493aed74c9096621c12f72c0b706f708  gcc/ada/a-tags.adb
! 5e79319b6d31b0d015334e06fa0dd8c8  gcc/ada/a-tags.ads
! 01a16bf49962cdb2482e6ec1081f404e  gcc/ada/a-tasatt.adb
! 70d4cc13246726366b7f8746c775af59  gcc/ada/a-tasatt.ads
! 79f6c26df8f74cdba3e654651eb3eaf8  gcc/ada/a-taside.adb
! aaae5dd4271754bde245dda5b6584f0e  gcc/ada/a-taside.ads
! a3200ff21d43196b5742779c8e995ebd  gcc/ada/a-teioed.adb
! 8ee0c5f78702022ad1a6b72c3a0c7630  gcc/ada/a-teioed.ads
! 79e56622c21639dc2c921a2fd1ae0f8e  gcc/ada/a-textio.adb
! 7b4796de450042b2520c03332d588399  gcc/ada/a-textio.ads
! 5eb61ccbe7b55c7ea5939fb633128663  gcc/ada/a-ticoau.adb
! bc0fcaad5e2b7326f2caed842e9d2b62  gcc/ada/a-ticoau.ads
! 3a9ecd3dcfdfa243d0ddb3cb9898e2d0  gcc/ada/a-ticoio.adb
! 87183c23a5c112409e9013fc967bbb83  gcc/ada/a-ticoio.ads
! bb22723853eb697aea9422b180dc1dc1  gcc/ada/a-tideau.adb
! 40bb83598b435ec6008aae691b36529c  gcc/ada/a-tideau.ads
! 20bf5783a6115a68b3814c35a948882a  gcc/ada/a-tideio.adb
! 8e3c4ad587356c94882a398ab834ab7f  gcc/ada/a-tideio.ads
! a1647641bf250258e971ec02fcfe12c6  gcc/ada/a-tienau.adb
! b59c9187aaf51b211be5b90ddac5ac1a  gcc/ada/a-tienau.ads
! 85beb38e06368c5e7c8ac69c0e7fb3e4  gcc/ada/a-tienio.adb
! c8920f0f50ca0446466db1cb60c8defd  gcc/ada/a-tienio.ads
! 33a3b11217ab1ed28ba381f9f373b21f  gcc/ada/a-tifiio.adb
! 2de70cfb2921e55e89f049a90377b530  gcc/ada/a-tifiio.ads
! a5cea1082f68816a62631c7c7de75a02  gcc/ada/a-tiflau.adb
! 39cb911a5fd3a17a4cd0d813d48264f6  gcc/ada/a-tiflau.ads
! dcece28b1d7d1ce4f185c1ea41924b72  gcc/ada/a-tiflio.adb
! 3a3b2cc2373cab6659938cb142551c6e  gcc/ada/a-tiflio.ads
! f91834eff544aa93251f8e77f256b291  gcc/ada/a-tigeau.adb
! ae602efcb630ea0553c892c236a88c9d  gcc/ada/a-tigeau.ads
! 3909717356da49057ac40987c9045fd2  gcc/ada/a-tiinau.adb
! ec17452b468a9bfe68040e30aeabeb2d  gcc/ada/a-tiinau.ads
! eb4bf431fc6ce7a8199fa1415d5d0f08  gcc/ada/a-tiinio.adb
! 947e6945245fbcd7cc1d5ddd3a5ab875  gcc/ada/a-tiinio.ads
! 083f00e542f8c52d17ceedc4be233b3b  gcc/ada/a-timoau.adb
! e9c4195151f42a49bca195ac39de2587  gcc/ada/a-timoau.ads
! a48eaf02ad9d1ab123fe4a79853d7b36  gcc/ada/a-timoio.adb
! 6b42a441e21670ccef32d371b0d77948  gcc/ada/a-timoio.ads
! d6ade58608d9a8c626affafd7e9a9daf  gcc/ada/a-tiocst.adb
! 6c586c14e495b79ae8ad04544beb8f6e  gcc/ada/a-tiocst.ads
! 03b1faece03f4b50839575a471c5cfa3  gcc/ada/a-titest.adb
! 42e6cc181186f86c2e1ea89baa9452a3  gcc/ada/a-titest.ads
! 056f8ffdd0277e40365d9a344e2258ed  gcc/ada/a-tiunio.ads
  89ad58452dbd76e8d0ebf6b332075ff6  gcc/ada/a-unccon.ads
  71408140aa85fc1937989b30a435ea8d  gcc/ada/a-uncdea.ads
! 4643128e041bc008ec4cce9fa1396d7c  gcc/ada/a-witeio.adb
! 6143d0a05fd30e296e59cedc3eff0b3c  gcc/ada/a-witeio.ads
! f76a7b10c2ac65a86c156347057c60da  gcc/ada/a-wtcoau.adb
! 9cacad8c2d1f22b132d6c51371423d2b  gcc/ada/a-wtcoau.ads
! 3eb2495056c0d780e19933221361ddc0  gcc/ada/a-wtcoio.adb
! 1aee341755b4fc6a0d0660c5488d13a7  gcc/ada/a-wtcoio.ads
! 32fd68c775fc0aff5c5bbfcb7a322066  gcc/ada/a-wtcstr.adb
! 46fbf38038608dd16ebcb6233189249c  gcc/ada/a-wtcstr.ads
! 7074b5626b50c9e928872a6f8efe7d30  gcc/ada/a-wtdeau.adb
! aa05ca8f5ed066b6f6a51eb8eb47fe3e  gcc/ada/a-wtdeau.ads
! 6f46121b1cb2200e38cd6e168dbbfa02  gcc/ada/a-wtdeio.adb
! bd08155b0156e595a2e2654bf0410295  gcc/ada/a-wtdeio.ads
! 4fe6ff5ec6287be02f344898bfcefe34  gcc/ada/a-wtedit.adb
! 05a877da6470274141f15381d0be1e5c  gcc/ada/a-wtedit.ads
! be75fa5871ee8810db9a421389eab7e4  gcc/ada/a-wtenau.adb
! 81261d9d2b45f65bc0c4a60f24cacd55  gcc/ada/a-wtenau.ads
! 88c5ba8074e42c3c17545d3d55c60f8d  gcc/ada/a-wtenio.adb
! 9e8604bd619ab9470d6a307d25b695d2  gcc/ada/a-wtenio.ads
! 9e889df692e9b77c42c96f17338d5064  gcc/ada/a-wtfiio.adb
! 2615fd3e9c2061b361a48708e8291eab  gcc/ada/a-wtfiio.ads
! df0a844a2245b08bcef1708506c7e315  gcc/ada/a-wtflau.adb
! 2c1095458cf056ad7c98dce4cc65a20e  gcc/ada/a-wtflau.ads
! 78b6c1962221ab742640c0dda996491d  gcc/ada/a-wtflio.adb
! dbd9791ee2dbe99f39ad718712713527  gcc/ada/a-wtflio.ads
! bc77f8c0a4fc2213153908ccc155f72a  gcc/ada/a-wtgeau.adb
! fee8d731dcb2ebb3b43c7401059ab768  gcc/ada/a-wtgeau.ads
! 1b7850f69982b9065f746f08e8681c44  gcc/ada/a-wtinau.adb
! b85f45e08e0fc91a4e1b62ad9379a1de  gcc/ada/a-wtinau.ads
! b2179e56fcb42b5f3bf02f0c10468377  gcc/ada/a-wtinio.adb
! d94d07225c25a726f76635d65ed7088d  gcc/ada/a-wtinio.ads
! bbf41e6b7ded3a8115ec58b134f09283  gcc/ada/a-wtmoau.adb
! 4f82b6ec3eeb6eb830cb35d62fcdbf04  gcc/ada/a-wtmoau.ads
! 029aa1f06f02bbfb1552955824cefd92  gcc/ada/a-wtmoio.adb
! 7f29d067121d4e88620367d4edd47e6e  gcc/ada/a-wtmoio.ads
! ecc07bfc09a461049cab30ddf7c80a0c  gcc/ada/a-wttest.adb
  87c656866c6078e0ed035831e2bc8a67  gcc/ada/a-wttest.ads
! e2f0f8a464d34a266586cbdafd66452f  gcc/ada/a-wwunio.ads
! 7001341f1df81b159616660827d7bde8  gcc/ada/a-ztcoau.adb
! 4bdb9a32e220ed83c422e1363956122c  gcc/ada/a-ztcoau.ads
! cda4187349c948c3f24c7ea06d886b0c  gcc/ada/a-ztcoio.adb
! ce424dfa209cd67cf1de0d658f9b9cbb  gcc/ada/a-ztcoio.ads
! 69422fc58b07752c10b752ce17a497ca  gcc/ada/a-ztcstr.adb
! 5aae519d9c426496a8cf9d3da3136718  gcc/ada/a-ztcstr.ads
! e61cfe9d9f1dd6aa6d94581fcc6ffa5c  gcc/ada/a-ztdeau.adb
! adf41ae2f9cb3fa3b3f0d11f54374a84  gcc/ada/a-ztdeau.ads
! b2e93b94ee76db2cfe27052bb0cfcbf2  gcc/ada/a-ztdeio.adb
! bfb363898de0d4feda55e7a65a4b5e97  gcc/ada/a-ztdeio.ads
! b98c8bfe7620425613a679349ba906bc  gcc/ada/a-ztedit.adb
! dbc1be7e66837b87f0e04b55ce06d291  gcc/ada/a-ztedit.ads
! 8af5b0597f99e3ad2ff2825d51f712b0  gcc/ada/a-ztenau.adb
! 17a5db0b4a7b27b7b3f136f1f624052f  gcc/ada/a-ztenau.ads
! db3f14edaff925f448905b109a48f81c  gcc/ada/a-ztenio.adb
! ef35fac97ac2226160bddf6b9af4c2e3  gcc/ada/a-ztenio.ads
! 2cfb823dd9dc940f008e3d047aaae1b3  gcc/ada/a-ztexio.adb
! c5a4eafcea89d4b019d65439a05b88b5  gcc/ada/a-ztexio.ads
! fd3daa88b14493ba74fad0f8c69898cd  gcc/ada/a-ztfiio.adb
! 7e28bc72a1465598234e2e653eb313d9  gcc/ada/a-ztfiio.ads
! a43f0ba65fc4a5001347c3ca013841df  gcc/ada/a-ztflau.adb
! d65fb489f1eb31ada5af8f7d85d7f705  gcc/ada/a-ztflau.ads
! 1f4db6d2ad540b2d3b8bc76a551bc526  gcc/ada/a-ztflio.adb
! a72b0aa76e6c20e50ee6154268adc26e  gcc/ada/a-ztflio.ads
! 5ff04b9cc2b31c169f27be0c44986be5  gcc/ada/a-ztgeau.adb
! cda056e7f0c64ab3d845859d8ebd049c  gcc/ada/a-ztgeau.ads
! 08ddf7fe3832ab0cc63cffd946c2d229  gcc/ada/a-ztinau.adb
! d7853891a14c7c6fd4d1b4f74bee4d38  gcc/ada/a-ztinau.ads
! ab8a0906a0d95055ec4f1e9fb876ea8d  gcc/ada/a-ztinio.adb
! 71c6de9461df5c21db07162560b3aac2  gcc/ada/a-ztinio.ads
! 721cdc07ad420b636c0fb1eaef724a92  gcc/ada/a-ztmoau.adb
! 3e494d74150d553aa58c56da1725fc37  gcc/ada/a-ztmoau.ads
! a7ab1d17eca6ddd9dac39c251515d446  gcc/ada/a-ztmoio.adb
! d00a906fe1144f6857b8621c89b557fd  gcc/ada/a-ztmoio.ads
! 0fc3c9c55c4a8e8a1c3eacdf5edf0418  gcc/ada/a-zttest.adb
  474701469a874933077102106ba112c5  gcc/ada/a-zttest.ads
! 9c0f48f869b03aa97fc685c77a8aa9db  gcc/ada/a-zzunio.ads
! afc6422a8bd285201aa828979f21c586  gcc/ada/ada-tree.def
! df82507e6d1f3cedb92890c5e49eb7b7  gcc/ada/ada-tree.h
! cdb727a71e17034713b5ee012104324f  gcc/ada/ada.ads
! 29d99ebb31291a3962ae7b6af0439559  gcc/ada/ada.h
! 7109c469de813737cbccc967e9c3c501  gcc/ada/adadecode.c
! 70e8e2f0414a677053c48523cf7d9e89  gcc/ada/adadecode.h
! cf3ad7b5a2edd667c035dada6985e3ba  gcc/ada/adaint.c
! 18907d993da032db81d851c36c1c8b94  gcc/ada/adaint.h
! 57bb28ebbef469c5684e1c14b2a10e7b  gcc/ada/ali-util.adb
! 1ab8f1c0a513ab99de28c014f9f19e36  gcc/ada/ali-util.ads
! 69e202ebfc8513cb44a9fc1b4d2181d2  gcc/ada/ali.adb
! c4b69391bbd57715d4c2a52b2c8a0481  gcc/ada/ali.ads
! 920a323feb9eb1711eaf500570106b77  gcc/ada/alloc.ads
! 622785eb2e80c5bd835ed1bdc017a603  gcc/ada/argv.c
! f4e087a48052e699b823b4bca3975286  gcc/ada/atree.adb
! 638a39fadb85999c1f288cacd953ebf8  gcc/ada/atree.ads
! 03546cbeee451fb70a3d56ca0cc28cd0  gcc/ada/atree.h
! ff413fbb009f21a57d3a62472b0e487d  gcc/ada/aux-io.c
! 997d5b4fd67bddeb1741028dba8ca499  gcc/ada/back_end.adb
! aa9f2285593a43bbe294a87c4c3bde4a  gcc/ada/back_end.ads
! 33ef23f4b72df09db7df8264bf3faae6  gcc/ada/bcheck.adb
! 09aca8f2e6000cbca628802e9a54ce0d  gcc/ada/bcheck.ads
! a03bb83cfc8e2429af6edba43b060c4e  gcc/ada/binde.adb
! bcf86e73ab618d4cf59eaa8adf42d7ee  gcc/ada/binde.ads
! b76aa5e8acf784c396bc4b2c23a43c13  gcc/ada/binderr.adb
! ce70df92bb5d0d1130e6c886e1ec82e0  gcc/ada/binderr.ads
! caa51b96d9040d428c7d743119285b90  gcc/ada/bindgen.adb
! 4e10cf2f3efa26eac246d739c54e9009  gcc/ada/bindgen.ads
! 813d47ab764332d16bd0f6f0cc67ec80  gcc/ada/bindusg.adb
! 51dde0535709bf7f77b78ebf82f35fcc  gcc/ada/bindusg.ads
! 6423dd413d0819953d58b9b21ec393ef  gcc/ada/butil.adb
! 2b55b2c6e6aca42200cd03fcb9533cea  gcc/ada/butil.ads
! ca82fa8ce91681333083cdc79926133f  gcc/ada/cal.c
! 4621b575af346085dfdb51313555b403  gcc/ada/calendar.ads
! 0211df1d9a09469caa12d14d2d9e3754  gcc/ada/casing.adb
! 68a906d68421040ef70674a903d95cc9  gcc/ada/casing.ads
! 51a2f59e11bb6db1ea2c5d6fb4aa2f11  gcc/ada/ceinfo.adb
! 7941a1124e9c663056985c5c282ae7a1  gcc/ada/checks.adb
! cdd338b84893aad9f2410a98f25ca826  gcc/ada/checks.ads
! 302ccb5a723a9b9b6bd7943c96d68413  gcc/ada/cio.c
! 731f6b84b8b248ca009dc15fefe31898  gcc/ada/clean.adb
! 8d557cb95b0e60b37916ab7bfad74207  gcc/ada/clean.ads
! e42e5e3d7f4bfa57f63c2082c69ddc36  gcc/ada/comperr.adb
! 639cb8a9a3564282764866d590817926  gcc/ada/comperr.ads
! ee950674cffc0767837850c0dc63b76d  gcc/ada/config-lang.in
! 091803b2cc75f5bb3216904a866cc7b4  gcc/ada/csets.adb
! 7d3d933497e495d6cf729cc3c6e36558  gcc/ada/csets.ads
! c0e0a530e321634ba7a4527d750125bc  gcc/ada/csinfo.adb
! e6a8c7bc3db1133ef037916fe6f90fd1  gcc/ada/cstand.adb
! d9cddf4a2e2ff47f5f96a4e8641678a9  gcc/ada/cstand.ads
! fd5541aedc6eaf48bed3457e3fdaeabc  gcc/ada/cstreams.c
! 168f7201af8f40302de373398d45ca0d  gcc/ada/ctrl_c.c
! 1bd4d9b1c67ddb3c5a618a278e997525  gcc/ada/cuintp.c
! 241ae5186f4c5c4862475a1f41d8da23  gcc/ada/debug.adb
! 42924ba1f6ffe7947a7b110a7f8daf13  gcc/ada/debug.ads
! b28154ecd49bc23560efa2bf745aea27  gcc/ada/debug_a.adb
! 9650fce2a828351bc1fc963795d4ebde  gcc/ada/debug_a.ads
! 2f7494e11e51603bc6206f722cabef36  gcc/ada/dec-io.adb
! a85ab4f0bf6b03fa5b377c44c1f33fff  gcc/ada/dec-io.ads
! cbb5a74df9a450ab79f0bc8984d91568  gcc/ada/dec.ads
! c7ba4cf6bef1614385f9dd3ee76678f4  gcc/ada/decl.c
! cc22a770e9d7a22caa17d3de508b48b4  gcc/ada/deftarg.c
! bc974e6405268b5fbc198416bb4f00d6  gcc/ada/directio.ads
! 5f1de5a1ff05a2e085b232fa2ef2c83c  gcc/ada/einfo.adb
! 8c2887cd229e239d4fe0470be3462768  gcc/ada/einfo.ads
! 5e4aa4fe11b10a843be3134de20cee91  gcc/ada/elists.adb
! 7575b2735c8ba071f08bf02f4bd55b05  gcc/ada/elists.ads
! a88a79c40a3c279cb52aae091a9f37a3  gcc/ada/elists.h
! 80e5a22fd78c8cd8c59e59580f282e79  gcc/ada/err_vars.ads
! 5bdd7dc0c358cbf0ee4d662309a011bc  gcc/ada/errno.c
! 9d4279262d5c7d243da7a76a128ac8f2  gcc/ada/errout.adb
! b7dcd14e26fada682beb299acc45fcb7  gcc/ada/errout.ads
! 75ba72f26372c0bdfe7ceffee39bb316  gcc/ada/erroutc.adb
! 64d6a1f4f661502be87c033710aa41e0  gcc/ada/erroutc.ads
! 308ca0faac942f03e9bb64dca72bee2d  gcc/ada/errutil.adb
! 68551af0552ea6d1e1bc493aa28ff35c  gcc/ada/errutil.ads
! e50beda145d81c797703f715fffa2bfd  gcc/ada/eval_fat.adb
! 1ab27ac028c4c90370a2806a4ec1709e  gcc/ada/eval_fat.ads
! c6e55b109e0bc402cc284fd5c6ab21d8  gcc/ada/exit.c
! fb56c2c5b6e418097ff790841cf348e4  gcc/ada/exp_aggr.adb
! 5bb29eedba7e4edb1cc9af2d3a7d7fae  gcc/ada/exp_aggr.ads
! a68a3243743277fb3a53a6869e2447ee  gcc/ada/exp_attr.adb
! 4d4faec236cf3aaa0e6be3c8137a5874  gcc/ada/exp_attr.ads
! abacd731e7c039849f3fa47eab6c2e87  gcc/ada/exp_ch10.ads
! e1c8c26af4722f94c7ce9cf416ab57f1  gcc/ada/exp_ch11.adb
! a53bb77c8a063a2c52e25c620649d4f9  gcc/ada/exp_ch11.ads
! 574582b239737fe8b66bbf45f191534c  gcc/ada/exp_ch12.adb
! d13de997e0d5b839b30984d93335d6db  gcc/ada/exp_ch12.ads
! 89159c175cc32d9cc7e6e79d55ddc3a1  gcc/ada/exp_ch13.adb
! 9f51344f531f36d91574edb9755bc541  gcc/ada/exp_ch13.ads
! 5a9b7b144e05ad6850faae6e2e359284  gcc/ada/exp_ch2.adb
! 6c4b32cd5d1fbac1afbb5d9bb10fc182  gcc/ada/exp_ch2.ads
! 3b8372425bf649669154600ac119dcb5  gcc/ada/exp_ch3.adb
! 3c36e33e5c47c911e5d7b69c31ac6051  gcc/ada/exp_ch3.ads
! 6cc798d1fc2ba796e8e0305d1a41a06f  gcc/ada/exp_ch4.adb
! fc48a441f2b45a7154b30fd65fe043df  gcc/ada/exp_ch4.ads
! 23d4d1898eecbf221988827d01ae65d9  gcc/ada/exp_ch5.adb
! 67a7ce029d83258cb7212f6e777c4c0c  gcc/ada/exp_ch5.ads
! fb0644b0e0524da2f2c57329ccc01211  gcc/ada/exp_ch6.adb
! 8431020d2dfb16ce3293690428fbb310  gcc/ada/exp_ch6.ads
! 3ec267d84a1dadaf816fd40599470a07  gcc/ada/exp_ch7.adb
! fd5d5416b05c5696576be7182462654d  gcc/ada/exp_ch7.ads
! c2d3ef1d143a97cfe4fe91582220ee03  gcc/ada/exp_ch8.adb
! 1d34d3cba4d7683505cbff2f541c2c01  gcc/ada/exp_ch8.ads
! 88189705216ff552eaf218771fa302a2  gcc/ada/exp_ch9.adb
! 7b0171fc59a43e0ef4159b3e144a77b6  gcc/ada/exp_ch9.ads
! 49734973ffae8dea986c6a9460811dfd  gcc/ada/exp_code.adb
! 6ce550c3698d232a231b9841094c9c03  gcc/ada/exp_code.ads
! 44cadc2620eccafbc6ae9351cca27ece  gcc/ada/exp_dbug.adb
! cc9496c1dd15a00f566f2e0fd55b6b7c  gcc/ada/exp_dbug.ads
! 42751aa2d3c8af1a82e528b4de0e48dc  gcc/ada/exp_disp.adb
! beb99facc618d96c3fbc30fef7a0dbb3  gcc/ada/exp_disp.ads
! d471b12a6d728bb286da8089333bdf11  gcc/ada/exp_dist.adb
! f89c9fac0ea5d6935bb1fa1546adc783  gcc/ada/exp_dist.ads
! 23d84c1870ff37f4d759b6e01dd6dd03  gcc/ada/exp_fixd.adb
! b3d4f22b44404e0037bc1900835f5adf  gcc/ada/exp_fixd.ads
! 4973d471335e7146febdb582c7d13e5d  gcc/ada/exp_imgv.adb
! a5888b89ec582b77fd4113e475afe856  gcc/ada/exp_imgv.ads
! 2bc624c8bd40dc002abf13dbfab74cf3  gcc/ada/exp_intr.adb
! b0b5f49f75fa73ee2629fe0c2d072ea5  gcc/ada/exp_intr.ads
! 1200c7fd8636b9144f8db844d4dbdbd8  gcc/ada/exp_pakd.adb
! dfbccf34509f1799c5f8a23c540dc227  gcc/ada/exp_pakd.ads
! 57ef9bd00f0dca08f75275001b8f8c98  gcc/ada/exp_prag.adb
! 449a8530a2d3f3b10457ac21933142f6  gcc/ada/exp_prag.ads
! 9a8bf9ce0e267237e822fc42cd2cd11d  gcc/ada/exp_smem.adb
! 927b96b673008fb0fe69f5bf11a89e9c  gcc/ada/exp_smem.ads
! 0c635d81d257d3ab30490ca2684cc2e5  gcc/ada/exp_strm.adb
! 7fbe0383ff78bb54dc070c5dc4a59995  gcc/ada/exp_strm.ads
! 37488da513b4887feae0410e3b7fcc15  gcc/ada/exp_tss.adb
! 7f7fef9e330666d4e740d207c41dbeb7  gcc/ada/exp_tss.ads
! 4ba30534f5ed9e83b24aa735c30477a5  gcc/ada/exp_util.adb
! 9f3740b7c58426c61a9723b998bb4a19  gcc/ada/exp_util.ads
! 6a0599fecdbf8a4e685cdfc859be3e7b  gcc/ada/exp_vfpt.adb
! 1e58265a39ce9df197a17d01d862fce1  gcc/ada/exp_vfpt.ads
! c5944caf9e22dacaf6bdfd29c92865ec  gcc/ada/expander.adb
! 46cbd21047fe0ca4cc5e8f5ef554f75a  gcc/ada/expander.ads
! b390cf30841e844c5ae9c59936014b31  gcc/ada/expect.c
! f7681ca342f3bc6051da44a44ec19ceb  gcc/ada/fe.h
! 754231188f0384ef7266d82fe90a1014  gcc/ada/final.c
! dedc244a1b1003f569be9616b24f756a  gcc/ada/fmap.adb
! 241da0229e83fe59386975b26908b713  gcc/ada/fmap.ads
! 8d2b35cbfcccf679a78df86519989f9b  gcc/ada/fname-sf.adb
! 59252f62eaae50888239981cb2a94acc  gcc/ada/fname-sf.ads
! 570b84d257930310a0ce71bd07a09754  gcc/ada/fname-uf.adb
! 9b70f0ee8eab8066e8571dedfd71292d  gcc/ada/fname-uf.ads
! ac6509bc5775c829ad041f1f5c0c0136  gcc/ada/fname.adb
! 033a8214c5efe430aa3ea085ac6949d6  gcc/ada/fname.ads
! 0a12d05f5481e52496e5007ba2d3f3f7  gcc/ada/freeze.adb
! 3b5d9243ef2055fb7939a62de459fed2  gcc/ada/freeze.ads
! ee2f2bb02dfe1fa3d47e450acb781590  gcc/ada/frontend.adb
! 1c3ab9a755577c47213e62837fdbd2d2  gcc/ada/frontend.ads
! c01e3f7560c9f7b9aa081a371b2fd09b  gcc/ada/g-arrspl.adb
! 245494d280a78c02f41e7a7ef6539e49  gcc/ada/g-arrspl.ads
! c0560d0d1070f00692fbd41052b06d86  gcc/ada/g-awk.adb
! 5a04212ef554a01e28d98850da2c301e  gcc/ada/g-awk.ads
! 4104ceb181df632fef69ca51bea903a3  gcc/ada/g-boubuf.adb
! 4a9c9ffd122ebb3386cfb5d7cbfcb614  gcc/ada/g-boubuf.ads
! 7d556f7ce0ce37ef242ba28e33fe6093  gcc/ada/g-boumai.ads
! f7dd46bf136e1f06b26c66129e4f78bb  gcc/ada/g-bubsor.adb
! 310e45fcec0a863271d6f0ccad2f0fcc  gcc/ada/g-bubsor.ads
! e46870d38ada1ea772f2d3360d244ae9  gcc/ada/g-busora.adb
! b15e293ca4dd58908ae98b86977acfb6  gcc/ada/g-busora.ads
! cb5c866f0f0704cbfbb4a098674cda8f  gcc/ada/g-busorg.adb
! a7adeb07d99830a06faedfb0221158d9  gcc/ada/g-busorg.ads
! ad8b67f749c6efbd37514d72225e8f4d  gcc/ada/g-calend.adb
! 7fcd278e1643803b2cad6f28dd054f23  gcc/ada/g-calend.ads
! 3d67a804c024755bd726b3c440509868  gcc/ada/g-casuti.adb
! c73b69feafbb53f9978dbfcf6f84dc56  gcc/ada/g-casuti.ads
! e962cfec6dece7fd1003b5f685853c8b  gcc/ada/g-catiio.adb
! 1a04d6dac59d7632ed32544712d34779  gcc/ada/g-catiio.ads
! c639b6245279bbdcfb5bb86f4e6db7bc  gcc/ada/g-cgi.adb
! 0d27b7d9f32b93dfd6b0d77573a8e487  gcc/ada/g-cgi.ads
! de709b2f894f9911b584d85081b1ef8a  gcc/ada/g-cgicoo.adb
! 30a42df8468403823f2fa056c0361cfd  gcc/ada/g-cgicoo.ads
! db64bc9c0def5ee52c571b5143bda89c  gcc/ada/g-cgideb.adb
! 2952f1f194254c60745d15b30900e262  gcc/ada/g-cgideb.ads
! 0b083591ce1369ecf7c8de18755fa0a5  gcc/ada/g-comlin.adb
! 6a160e5a009de1ddd3b0767b87e59f70  gcc/ada/g-comlin.ads
! edb9c667074d9246efecc02ddee8f1d9  gcc/ada/g-comver.adb
! a0f4b12c96f22fb479f12c4fa67a666b  gcc/ada/g-comver.ads
! 11adf5c5b9c1f26da43c37cb5e35f0a8  gcc/ada/g-crc32.adb
! c99dd2a8e9418f2115c7391684b157f5  gcc/ada/g-crc32.ads
! 2b710b84d9aba98e4d41f168f48b9768  gcc/ada/g-ctrl_c.ads
! 2791fa9b82173d926cce95e8f9fd05d0  gcc/ada/g-curexc.ads
! 5bff02d082662b8e8805fd68ee0fcae7  gcc/ada/g-debpoo.adb
! 2dc89a7186457354912c25b694f6e675  gcc/ada/g-debpoo.ads
! 22daff8b77b9aa69a44406a24a100d5d  gcc/ada/g-debuti.adb
! 4d1fe4f9bd2c5a2f0e75f5184c1b7cc8  gcc/ada/g-debuti.ads
! cafa0a13b98301fed05a13e9e716bc38  gcc/ada/g-diopit.adb
! 10722d8155c24688d8568bd141ee03ea  gcc/ada/g-diopit.ads
! 06765c320529a47812308358eeaf96f7  gcc/ada/g-dirope.adb
! ab45b28c3ec389a063d982963e575825  gcc/ada/g-dirope.ads
! cf02fc828cff8a52ec94f6b2cf0c785f  gcc/ada/g-dynhta.adb
! ca151251dd7cd5b27594f01d2c65d58a  gcc/ada/g-dynhta.ads
! cb4e384acb416dfbc2825ab13273b332  gcc/ada/g-dyntab.adb
! 39c762bc8bfd70c167f084b7ff4bb723  gcc/ada/g-dyntab.ads
! 752154add6b018c00d563f1fbaebd943  gcc/ada/g-eacodu-vms.adb
! 3bd480e48560c6368660443553638aa7  gcc/ada/g-eacodu.adb
! 35cfa87bf059b1234c51d8e736f0ef60  gcc/ada/g-enblsp-vms-alpha.adb
! 4e82b4f94531c4d9560cfb768a4ba349  gcc/ada/g-enblsp-vms-ia64.adb
! 376c0129be09f59d3991700721180088  gcc/ada/g-excact.adb
! c44dd60c895ac1059f6351ce679626dd  gcc/ada/g-excact.ads
! 0a8f4642a5c1b65fc60e7e7265cde442  gcc/ada/g-except.ads
! e9f898150bd4ebba96e48eacb5baf66a  gcc/ada/g-exctra.adb
! 28194d820f0a0f403cc21fa7b80a61d0  gcc/ada/g-exctra.ads
! 4c346b5b9841970844c50fedc8be095d  gcc/ada/g-expect-vms.adb
! b4aea33a3f9dd7ecd7303504c01becbe  gcc/ada/g-expect.adb
! be9a211e0a9030b612a9eb43a36fb2d9  gcc/ada/g-expect.ads
! d68daa74cf95ac05e855becba7de6d47  gcc/ada/g-flocon.ads
! 6eccf269a623a8983ae8904c7704573a  gcc/ada/g-heasor.adb
! bf46377a6cb02b2a646109a0876f90ad  gcc/ada/g-heasor.ads
! 3b5dba2551bc3e587b55d4d2b5ff28c7  gcc/ada/g-hesora.adb
! f888d9c016afa5c366f522b1e70d5955  gcc/ada/g-hesora.ads
! 02352c519509fb5fdfcd3a86b567224a  gcc/ada/g-hesorg.adb
! bcdc4276032064228c099037676416b8  gcc/ada/g-hesorg.ads
! a6f1ac9b83fcb9d96df28e4aaa94d88d  gcc/ada/g-htable.adb
! b137cc54dc1f46f986d7806191f0ef45  gcc/ada/g-htable.ads
! 0009e396d253fec5df8d03c4aafbeb89  gcc/ada/g-io.adb
! 68bbee188f1076738492005e7cec5d86  gcc/ada/g-io.ads
! ee8a723ad5a33e55f35569af40a120e6  gcc/ada/g-io_aux.adb
! 5e8c09be49ed7ab689fe00063651e31f  gcc/ada/g-io_aux.ads
! bd07fc3c1a475f5137673305a0fda317  gcc/ada/g-locfil.adb
! 181b5920d7ce594524f54a7c5c8f2137  gcc/ada/g-locfil.ads
! e938997d143fe3fd44e52641b2ca6a9b  gcc/ada/g-md5.adb
! 5f6c0f2efd729ce23cb27386d175d373  gcc/ada/g-md5.ads
! ec9b6cc9696ba5dc51b1587ca9d67bea  gcc/ada/g-memdum.adb
! 40428c0981dd50c347d79894c48bcb24  gcc/ada/g-memdum.ads
! 32e21631ceee0f7cbd814681d6785466  gcc/ada/g-moreex.adb
! ae6bf210a60003c0da5344c14f62f81e  gcc/ada/g-moreex.ads
! 818e6af6c3a8c33051e4d8f57b12a342  gcc/ada/g-os_lib.adb
! f3e7bf8173f63bba9084054a60c02a26  gcc/ada/g-os_lib.ads
! b4640937ebbebdbf2657f48541367ff5  gcc/ada/g-pehage.adb
! 99e69e01348c73ae7a380b1377112b6d  gcc/ada/g-pehage.ads
! df67c8a6a14a4813bd517a8bb61451d2  gcc/ada/g-regexp.adb
! 08d663524dd9c5bf4a40d7c44a43eb7b  gcc/ada/g-regexp.ads
! 8dbd746b22caea1638f67ed7cc4e9c46  gcc/ada/g-regist.adb
! 65582c5c7d893b76d79faa5d81fdf19d  gcc/ada/g-regist.ads
! 5dec196da7e211b42d18c52a381cad31  gcc/ada/g-regpat.adb
! 0f48375abb3eb1a9e7212dbe740b572e  gcc/ada/g-regpat.ads
! 9a7496ee21c72e90b4750c1524f5e78d  gcc/ada/g-semaph.adb
! a7a07e830670898334f641d315c5dbdb  gcc/ada/g-semaph.ads
! e924df5091763e8c82635129255de05a  gcc/ada/g-sestin.ads
! e5da8e3402fc1016371e3afe14134844  gcc/ada/g-signal.adb
! 34d962f9f753b2c745237509ec156c8d  gcc/ada/g-signal.ads
! 3169cca01c7fa8bc4968316c477bf548  gcc/ada/g-soccon-aix.ads
! 7e0e71923f710f79c8734d01fe05a437  gcc/ada/g-soccon-darwin.ads
! 1b00b682d3362f15d8b4edb344c6ba5f  gcc/ada/g-soccon-freebsd.ads
! b4f06c31df62b1353259ebf971de08bd  gcc/ada/g-soccon-hpux.ads
! a97f78b6fa172eabb32b8fc920720993  gcc/ada/g-soccon-interix.ads
! 5358ab1695299bc30b62fb9d37d69c13  gcc/ada/g-soccon-irix.ads
! ebadde5d25a5861f101b741dc28c252e  gcc/ada/g-soccon-mingw.ads
! 12663412ec943b2e2a672974cf01348a  gcc/ada/g-soccon-solaris.ads
! 14e7c86fe7c78ecac8b02233e93255b0  gcc/ada/g-soccon-tru64.ads
! 829dc02e78e72dc345be36e98d533044  gcc/ada/g-soccon-unixware.ads
! 1eac384410bddfe8231b6b60dc5a3728  gcc/ada/g-soccon-vms.adb
! aa3db90e08294e91112b7ef8ce40559c  gcc/ada/g-soccon-vxworks.ads
! 64fcdf8ecd3556d7e6485c4b6b449fee  gcc/ada/g-soccon.ads
! b14b65b8a03112fa71310cea35ad5c15  gcc/ada/g-socket.adb
! a73a7a3b179872768974daec2177d510  gcc/ada/g-socket.ads
! c3b7d07d100cf6901a1a6f8b5be53f48  gcc/ada/g-socthi-mingw.adb
! 0fd73b23af339a5d0ec6a432a3c3530e  gcc/ada/g-socthi-mingw.ads
! bd7d52b51ea0bd87ca228e4f05764695  gcc/ada/g-socthi-vms.adb
! 3cb09c3cf63cff4566586ccbf3076f9c  gcc/ada/g-socthi-vms.ads
! e3648f5b615a85bb16faf2f9117e723f  gcc/ada/g-socthi-vxworks.adb
! 152fd40951ae2053a64dd73d16aa5fd1  gcc/ada/g-socthi-vxworks.ads
! 5ff64f654bf2ebad91446273a0b45510  gcc/ada/g-socthi.adb
! 8078d5b3e485fc95455a5a5ace848a7e  gcc/ada/g-socthi.ads
! d7e972e2ffaa5bf966facc9f67b35eb9  gcc/ada/g-soliop-mingw.ads
! 7234add1126d245a6af5aa2257e767a0  gcc/ada/g-soliop-solaris.ads
! 1ebad4ce57e4a212fa871a0c1f66702c  gcc/ada/g-soliop-unixware.ads
! b97c0713eef63e8f6cd73ac3966af974  gcc/ada/g-soliop.ads
! 82f980f512409f013eef1a646d2a724a  gcc/ada/g-souinf.ads
! 905247a89dfef802cebb56ee735680ee  gcc/ada/g-speche.adb
! 1c8e4d0902c7f59af1b100ab9a2ae485  gcc/ada/g-speche.ads
! bb4a971c5d0bd105782b74c4ab079bf0  gcc/ada/g-spipat.adb
! 7bcd8c6bbdcb2855ef0b07d199b8245c  gcc/ada/g-spipat.ads
! f74bf8da6a79b49555670487e8c12a0a  gcc/ada/g-spitbo.adb
! ef10dd6b479c11dfe53cabf8afcf3ef5  gcc/ada/g-spitbo.ads
! dbb07616b23b3fa7c4b64b7d81b19941  gcc/ada/g-sptabo.ads
! 9fe44be2006414bdc24fd92e9b94f233  gcc/ada/g-sptain.ads
! 37554e04a219240f09b23c825d8abba0  gcc/ada/g-sptavs.ads
! 1e0f52ecd744925c95324696a9b29c0d  gcc/ada/g-string.adb
! ddefa3e96d47fedf73cef44e9cd62fc4  gcc/ada/g-string.ads
! e695fb6a73ed8ff26c0fc19317ff1196  gcc/ada/g-strspl.ads
! f6dcec131a9b435caa7c344d37e5f722  gcc/ada/g-table.adb
! dabc3f643a5e1617f701e6081fe29df5  gcc/ada/g-table.ads
! 0f23dfe990566d76bd3fc0fb4f2b4ac5  gcc/ada/g-tasloc.adb
! fbe6dcd3cac4b32c772bead6d2de0f15  gcc/ada/g-tasloc.ads
! b9c47e5b9a3640289e891b566a592fb3  gcc/ada/g-thread.adb
! b97c433cfcb50031f449ce364f9d7294  gcc/ada/g-thread.ads
! 0932e01ea81abab209cacb2e83e2ca59  gcc/ada/g-traceb.adb
! 00b8858ad2a2a30ecb8fc4f6628f068f  gcc/ada/g-traceb.ads
! d3b0b9c84d1b589056766325773724d0  gcc/ada/g-trasym-vms.adb
! e6a617e0e88faf184fe353a4046adade  gcc/ada/g-trasym.adb
! c8bf61dbcc740cf1ce50362d170d9adf  gcc/ada/g-trasym.ads
! 8ae5e8c385fcc05c48669ea85c3562dc  gcc/ada/g-utf_32.adb
! 40150eaa22868948219bf6535cff7f62  gcc/ada/g-utf_32.ads
! 50d612ef30678ab686ed61ac7531fc2f  gcc/ada/g-wistsp.ads
! e78fbc39d9f932201f627125f2450f91  gcc/ada/g-zstspl.ads
! 673cd4404b55b6fcd6fcfa28014206e4  gcc/ada/gen-soccon.c
! 8ea1895ec59d1f544f27a0fe5530ac41  gcc/ada/get_targ.adb
! b16e4cc782cc0fef3da8d697a0b69287  gcc/ada/get_targ.ads
! de2a10504c66df8f03f030ecabce6510  gcc/ada/gigi.h
! 293e112ea5d7a8847d05b6bc8cdef063  gcc/ada/gmem.c
! 6a9ebb5753e10b92d2fb2710c6ebf6c1  gcc/ada/gnat-style.texi
! 606cec13b1ab3c5b44fa74e92be28a7d  gcc/ada/gnat.ads
! b973c470cde69f8e9364084483800520  gcc/ada/gnat1drv.adb
! 008bdc05f1d1dbe65f1b0571d73c74b5  gcc/ada/gnat1drv.ads
! 8288d09b12650bc95d06b4f0cc4005a0  gcc/ada/gnat_rm.texi
! 090a887f43bf8d13de45e94b0825de9e  gcc/ada/gnat_ugn.texi
! db75850f2c25b59025bbdde8dedea114  gcc/ada/gnatbind.adb
! 020a7735312749bbc10788652db5ddec  gcc/ada/gnatbind.ads
! 0c20632bc8174dc0eb1510e599f1d3ec  gcc/ada/gnatbl.c
! b934a567c1644be122de1c19196bf805  gcc/ada/gnatchop.adb
! 036eab7dc9c81666aa8602e18025c2b6  gcc/ada/gnatclean.adb
! 1c045d49ac686401d4f9894dcc8c8fb5  gcc/ada/gnatcmd.adb
! fbe1116c14b71f75e1a2455074695e4d  gcc/ada/gnatcmd.ads
! 089c6baf9d91850ee23208fdd0a9f7f5  gcc/ada/gnatdll.adb
! 1fa7a1775dd32976ce5cdfc88e748788  gcc/ada/gnatfind.adb
! 775c6b745333a89fe8cce58983c970b7  gcc/ada/gnatkr.adb
! 46a56a6bdb289623b5eaaf6e91fff0fe  gcc/ada/gnatkr.ads
! 324e6742c5eb04decf4a30d2a5d95578  gcc/ada/gnatlbr.adb
! d7b1fbbf1e2af1673b43572d95e34d53  gcc/ada/gnatlink.adb
! 3eb82357133ecbc15b8524ce11004eb8  gcc/ada/gnatlink.ads
! 8ae89f5bf77e7dad9a5727f47c7358a8  gcc/ada/gnatls.adb
! 7b7191e2f224a210ce1254485889adfd  gcc/ada/gnatls.ads
! 1cca3723e8b38d9fb96d59eadae42d8d  gcc/ada/gnatmake.adb
! dedeb982c75e4bd15e4caa01a8e9cb57  gcc/ada/gnatmake.ads
! b01c1b135c3226487b05360eb7be4fe3  gcc/ada/gnatmem.adb
! 6fbb0375896d11479b7f76f9b579989d  gcc/ada/gnatname.adb
! 7e57dfcbd58e385d87fcb98d7fa7af19  gcc/ada/gnatname.ads
! 4efbc5251067655411443013103c62e8  gcc/ada/gnatprep.adb
! becf51fb65c6c499235b71f2123140b7  gcc/ada/gnatprep.ads
! 19cb73bf0eda2666bbee7d7d9756f47e  gcc/ada/gnatsym.adb
! 2d18fdf6a974bc8a5f50c49f946274e1  gcc/ada/gnatvsn.adb
! 6c2fc78c5b665d6963d6d76799a7f242  gcc/ada/gnatvsn.ads
! 266aceb6a6321931b3e135ee8fc62bb6  gcc/ada/gnatxref.adb
! d3893022506359edf513082a5ea900f1  gcc/ada/gprep.adb
! c83369486373f647ff8713e93895b616  gcc/ada/gprep.ads
! 75c1b98ca361850cd2c9c0434a7437ff  gcc/ada/gprmake.adb
! 98f2cdf2768aa3508dc59802e32ce89f  gcc/ada/gsocket.h
! 2add79a54313dbd9e3887f98b2bfc0e6  gcc/ada/hlo.adb
! fbb835ce47663c293567d146f7390430  gcc/ada/hlo.ads
! 56c55686087402f9a4844eb798878eb5  gcc/ada/hostparm.ads
! e30cd697032e370c8323231e081758e1  gcc/ada/i-c.adb
! 8b952ddc06c8e3024b11fdec97188bea  gcc/ada/i-c.ads
! 124ae15529669507cd097cd6e0f77fdd  gcc/ada/i-cexten.ads
! eddb103071ac148ea5c3facf6c000ff1  gcc/ada/i-cobol.adb
! 73a21738fadd13ce63e2624e7d039da9  gcc/ada/i-cobol.ads
! 23d9f366d4337119d0d5e7ac2dbf489b  gcc/ada/i-cpoint.adb
! 0e4ea91884845f161ec664d9a24b52e0  gcc/ada/i-cpoint.ads
! 1a50d245c7e3c23d281286ae36bf3d5b  gcc/ada/i-cpp-vms.adb
! 7097c61665215d35b6471c23702cf9e0  gcc/ada/i-cpp.adb
! 63092aa8d38b1e4a5039201aa40b65b3  gcc/ada/i-cpp.ads
! b320de309167e460ff0777f297f5ffeb  gcc/ada/i-cstrea-vms.adb
! ccd534acb50e485a589590ec08c4a2d1  gcc/ada/i-cstrea.adb
! de33aac7ed6ba4bfb38c2a75989484b2  gcc/ada/i-cstrea.ads
! 8c950d2a147572ca8f00a9d9ce1d770c  gcc/ada/i-cstrin.adb
! 308fe5f8dc53909494e5b0fca4533bde  gcc/ada/i-cstrin.ads
! 6ff0139a4be5737079a4567d839d04f6  gcc/ada/i-fortra.adb
! 0d684c90beab14ecd917c35e57779e1b  gcc/ada/i-fortra.ads
! 7ed5b2ba787412d6393e9b5dc396a562  gcc/ada/i-os2err.ads
! c5268aa5330bb78945b52a79e4d669d3  gcc/ada/i-os2lib.adb
! cf515a7af484a065a636356650d4bd1d  gcc/ada/i-os2lib.ads
! 63f7db6af5064d895596ead78bbd631f  gcc/ada/i-os2syn.ads
! 6abfff3ecc2a0009c9b39c1d5fde7c94  gcc/ada/i-os2thr.ads
! 511753e0427aa18c9842eb565ee65d9d  gcc/ada/i-pacdec.adb
! 5317cda628ea361a66cde7ed190339e7  gcc/ada/i-pacdec.ads
! e499264e5e7c1e2135a191e9eae4d187  gcc/ada/i-vxwoio.adb
! 2ca15dfca1afddaf6b72838e20f4f08b  gcc/ada/i-vxwoio.ads
! 3dd98975d9975ff393c60712b875033c  gcc/ada/i-vxwork-x86.ads
! 1b47a11464141121bef9d7ed6d0cd59a  gcc/ada/i-vxwork.ads
! 25d3184b2992d94c4c05f70a7a0a0bce  gcc/ada/impunit.adb
! 137e56e1d20df32c9768cce55262be22  gcc/ada/impunit.ads
! 40b617cac72e16bd83539f6eb0e328f0  gcc/ada/indepsw-aix.adb
! a44b57cdefd2095251665c527d80e12f  gcc/ada/indepsw-linux.adb
! d497b1ffa4a080235fae931eff4a64c1  gcc/ada/indepsw-mingw.adb
! 56a9a5d66af22d6b3534426f0c621ce1  gcc/ada/indepsw.adb
! ab6ef2a489617036370802a051134126  gcc/ada/indepsw.ads
! d9adb3c8a3025773ba9afd051d1022a0  gcc/ada/init.c
! 55426165098aa3b47ae653b1893d72b3  gcc/ada/inline.adb
! 5ed57c4bb386a423f56bdf7c800ebb59  gcc/ada/inline.ads
! 1cb3144a1aa42619d828292c2ebf0ca4  gcc/ada/interfac-vms.ads
! c1cadbf85c1dac6431cb9968be42d05b  gcc/ada/interfac.ads
! 5d3b8598e6d928e3567692856864dee9  gcc/ada/ioexcept.ads
! e3e0f1721b43001acc74e93889ab1fc8  gcc/ada/itypes.adb
! 4ce7d140186764dccbcb6f2490610ea5  gcc/ada/itypes.ads
! 9aa8df8bc742a3b364d6944716b92e5f  gcc/ada/krunch.adb
! 2bacff96221bd3f07c750e0ac0661589  gcc/ada/krunch.ads
! 6f5c573ec206bc7f6e77e5aaa6b6f1dc  gcc/ada/lang-specs.h
! f7ba213acd9449891e12ab338f3129d8  gcc/ada/lang.opt
! 6a6811bf3214087c6c6d3dc8c117b2f8  gcc/ada/layout.adb
! dd6a322a8c82e2b119466aeb3271dbdb  gcc/ada/layout.ads
! 217f035a370a94661a13b2b6776a13d0  gcc/ada/lib-list.adb
! 762e90cc3c99aef5b92f46dc0d89e37b  gcc/ada/lib-load.adb
! 42025d4e775e893ea682f5eea00042cd  gcc/ada/lib-load.ads
! 986be206367debdb5b85aa40c01574df  gcc/ada/lib-sort.adb
! d94296347b94c4d5a0c346be98553ca4  gcc/ada/lib-util.adb
! 3ed46f007a20f90b87c02257c2bc9eb0  gcc/ada/lib-util.ads
! 8f871d9d5082c3bdf3fefbd2fde48bea  gcc/ada/lib-writ.adb
! 1fdc8fb9e9acddf12be85b84e5052090  gcc/ada/lib-writ.ads
! a5912b9e86861e5dff679fb6c4b7dcfd  gcc/ada/lib-xref.adb
! cda31da6f59a75b783917433fbdd9756  gcc/ada/lib-xref.ads
! 96df9d6199763a18911773a6a21429e7  gcc/ada/lib.adb
! caea7848ca04b9f5a7b4a68ffbcf4aa9  gcc/ada/lib.ads
! 1ad8b8c71f50af11bffa457c3afeb37e  gcc/ada/link.c
! ef3ff7b8fe848d4516236c9311912098  gcc/ada/live.adb
! eabc4d8bc9781e40c4fa671268f7739f  gcc/ada/live.ads
  426e42acd80a6b13517d5bfadc23a870  gcc/ada/machcode.ads
! 7b59f13233686a4023a0732a755365b6  gcc/ada/make.adb
! f9c0f9319460a8deca4fb6993a652cdc  gcc/ada/make.ads
! 48b941d6f2adffad542c05a4c3421ca2  gcc/ada/makegpr.adb
! 5a8c239a0fbd092e4ac8e4a728f314cc  gcc/ada/makegpr.ads
! 947e6ea8f593c1e2ce119bf582df9cd1  gcc/ada/makeusg.adb
! aeb66428686e6a45c1493da96a15c55a  gcc/ada/makeusg.ads
! 8b4fd61d2485f5d367fd0858495595c0  gcc/ada/makeutl.adb
! 48c93b247442804c2ffddc69b7ae9b16  gcc/ada/makeutl.ads
! 13879fc778692dc33110a2419789523f  gcc/ada/math_lib.adb
! 58b483be33d5a861337eef3025f1083b  gcc/ada/mdll-fil.adb
! 65fb75ed5501bfc9e33533fa535ba37d  gcc/ada/mdll-fil.ads
! 756ad2d2e67b84fa1fe7623b04a3dc55  gcc/ada/mdll-utl.adb
! 2a3c12baade721dc3c4243f8bff871dd  gcc/ada/mdll-utl.ads
! ccce07ef5244307a2f2f0714db119611  gcc/ada/mdll.adb
! 592fd57d24ba89f14d8b00ef3f006f1a  gcc/ada/mdll.ads
! 0c639cbdb2fb865729c044a7442b25bb  gcc/ada/memroot.adb
! 69ff900b4fb0ccb42ee239f660f8456c  gcc/ada/memroot.ads
! e32f7b6fe26bca1d506c532f6dc86591  gcc/ada/memtrack.adb
! f68235fc833b743155b6b98460f6492d  gcc/ada/mingw32.h
! 70587cff9e2da3897fb3c88ce3c9f169  gcc/ada/misc.c
! 8425d55ad04a61bd3aef140a1ae181cb  gcc/ada/mkdir.c
! d1248dc11b9816915744a2b176e0a599  gcc/ada/mlib-fil.adb
! 5f0a67e6d1268c34b369d2aa06963315  gcc/ada/mlib-fil.ads
! 565123ade52fa083dc137f42e63742ad  gcc/ada/mlib-prj.adb
! c21b6fb8c9234f709f0b18b56acbd37c  gcc/ada/mlib-prj.ads
! 22ad6612d68f911c332e9cc7ede66021  gcc/ada/mlib-tgt-aix.adb
! ebd647e9c5670148ede91fc9917f45d2  gcc/ada/mlib-tgt-darwin.adb
! 1e864f69336fee93ad1ab62e7d598c47  gcc/ada/mlib-tgt-hpux.adb
! 42ffdd0b7cbdd5c8de38492a02b340b1  gcc/ada/mlib-tgt-irix.adb
! 37c0953a23480bcf1c4bbbb7edc922e2  gcc/ada/mlib-tgt-linux.adb
! b745d5d1e7e76b9b8587ac7ffaaee0ea  gcc/ada/mlib-tgt-lynxos.adb
! 7828f69f16c8d1cc309d5ad467502b17  gcc/ada/mlib-tgt-mingw.adb
! 1af96f603ca9653b98f56a0f7617cdcb  gcc/ada/mlib-tgt-solaris.adb
! ca2b5343b73b023f3ccbe8a5f6c13485  gcc/ada/mlib-tgt-tru64.adb
! d20b40c3ad3b141430b2ab6aa1ecb827  gcc/ada/mlib-tgt-vms-alpha.adb
! 007bce7c63a1f69993f7d1462a48e22a  gcc/ada/mlib-tgt-vms-ia64.adb
! 7e63fca81180effe7a35dbf50c951e04  gcc/ada/mlib-tgt-vxworks.adb
! 5664c1edd7974eb69604405152259d4b  gcc/ada/mlib-tgt.adb
! 1feda372e344a3bddddbf6e6ae9d8ef2  gcc/ada/mlib-tgt.ads
! 799ede8edfe286431104e9db2a754849  gcc/ada/mlib-utl.adb
! 6eb9b794de07e2db5174e05b24f71376  gcc/ada/mlib-utl.ads
! b30353b3226d284da4ccebe978a2a199  gcc/ada/mlib.adb
! f5642a058fa2c9fefb549884ee15bd95  gcc/ada/mlib.ads
! 81601ffb77c7853490c6a9d029dd8403  gcc/ada/namet.adb
! 704a5ab175b8728ecfebd74dcdb72dff  gcc/ada/namet.ads
! 81278fa6544029c0063cb21fc447bd1b  gcc/ada/namet.h
! 69b68ec69f83e32f4506f655165c49f1  gcc/ada/nlists.adb
! 3e8f802129895366d0b26b4ac0f750f6  gcc/ada/nlists.ads
! cc149709c76c0c8adce5f54152141b66  gcc/ada/nlists.h
! 3fdd033811aa119029f5b33e66168df1  gcc/ada/nmake.adt
! 9e540a72889b283c9cca2ba947188b97  gcc/ada/opt.adb
! 1eec459861705feb52812ef57da824ba  gcc/ada/opt.ads
! 185252534cc1ab33bb882ca57d894e7b  gcc/ada/osint-b.adb
! 17977aacef2eccb0ce12756113b4a4f0  gcc/ada/osint-b.ads
! 90cd5b27a777f571c5755bd16164febf  gcc/ada/osint-c.adb
! 912581b75a817db68810eb1624c2de34  gcc/ada/osint-c.ads
! f0c63259717a4d7bfe39f6c1ffab36aa  gcc/ada/osint-l.adb
! a9d2245389878a7927ebd0b1ea00e990  gcc/ada/osint-l.ads
! 9f3968abdab16c5db0d94e481e94f17c  gcc/ada/osint-m.adb
! d964f3fbd2b4aa6cd596eb5c2a8065d7  gcc/ada/osint-m.ads
! 94d8b8d5a84ce3a90f7054250013f7a6  gcc/ada/osint.adb
! 06c55589ad77567228334a2905732dba  gcc/ada/osint.ads
! 08dcbc506f9193a7294c7c1b4851752e  gcc/ada/output.adb
! e8edcff9434f1380aeb64ba47231e520  gcc/ada/output.ads
! ff8f0e67337c47212be17446a04b6c97  gcc/ada/par-ch10.adb
! 11642a43415b59d6b1df9ef4544e9d53  gcc/ada/par-ch11.adb
! a131a608300998ff192baf4d48b8426b  gcc/ada/par-ch12.adb
! f249596f6fc0338cc1eb53815c5dd689  gcc/ada/par-ch13.adb
! fcec01c5ee5113d24933bbe36f9576d7  gcc/ada/par-ch2.adb
! a80b37a9a69db854311ea8b352a66dd2  gcc/ada/par-ch3.adb
! d7f74cc37304c9991d134fd9b07d1810  gcc/ada/par-ch4.adb
! f39c313b76bae732b80f5b9d4fdd8221  gcc/ada/par-ch5.adb
! d6d915d42c0191011999306f6c5c21e8  gcc/ada/par-ch6.adb
! 303644aa4152ed5cf194aa7047d06f29  gcc/ada/par-ch7.adb
! 6c04c8840344a9fefc188a1a077d89f9  gcc/ada/par-ch8.adb
! beab1f247b1a1db60da939bbc70eda93  gcc/ada/par-ch9.adb
! 7abf80a7dff4384e998513d09e033bee  gcc/ada/par-endh.adb
! e626a3d7d0a8ef7156e1cd0b1a638f38  gcc/ada/par-labl.adb
! 69afb302066ca0b0409d6b90926e2c75  gcc/ada/par-load.adb
! 094ee8667f86afd85d06a0adb1653933  gcc/ada/par-prag.adb
! 0671a344a9ba41e6dc476d6416219336  gcc/ada/par-sync.adb
! 794ff4b8ef21906c472e4f9dc9ae8cbf  gcc/ada/par-tchk.adb
! edf0d21f3678d7db700564b2ec6bb05b  gcc/ada/par-util.adb
! e5b10ce266170a5c2510b8bbce448f58  gcc/ada/par.adb
! a21c9505980fcf129796c3cd552b064a  gcc/ada/par.ads
! dc7c35435a28eb782d46e6a7916b26b1  gcc/ada/prep.adb
! 9b5c6ba7a0ac846f0a4778c15ab6b3ae  gcc/ada/prep.ads
! 78c735a2ac2c955a27247be035c0b280  gcc/ada/prepcomp.adb
! ddd0ced35b887fbfb0ce346838af23cc  gcc/ada/prepcomp.ads
! 3dc20ae757bfb4733c69e7ef52e6bd53  gcc/ada/prj-attr-pm.adb
! 743cec26413340accd8f06c2ec593376  gcc/ada/prj-attr-pm.ads
! dff4f488ff2980fc2df1c5a0d1515781  gcc/ada/prj-attr.adb
! c3cb131f8c18adc282b43aae7eb5111a  gcc/ada/prj-attr.ads
! d428d6d78470895e91589efe0a1e9a5a  gcc/ada/prj-com.adb
! 677a7db3d9ef7361e7d1a5f1b93b9762  gcc/ada/prj-com.ads
! ea8e7cce8178d763645e5fd11eee7554  gcc/ada/prj-dect.adb
! 70186ce1863aa074bd448c6845d6410e  gcc/ada/prj-dect.ads
! 9370f005d4d0f8d242d4928b8981b863  gcc/ada/prj-env.adb
! 806117b55efecc0cfa836a797b70cbe1  gcc/ada/prj-env.ads
! 39f00e5f67df1ad8b1fb1a8d34a8a51c  gcc/ada/prj-err.adb
! 8d8812ca3d49ccacaf328f05054a0c27  gcc/ada/prj-err.ads
! 9bb158f93ead589bff861456ed5e5d4a  gcc/ada/prj-ext.adb
! 8d1719bee09dedad53ace7bacdeeb8a7  gcc/ada/prj-ext.ads
! 4faddf476e2fc3ee56c573b41f30e078  gcc/ada/prj-makr.adb
! 79bd9e8a22d168b72687a3f5de7f767b  gcc/ada/prj-makr.ads
! 8f9b5a8a61c3eeeaa87ae0ea5fb50223  gcc/ada/prj-nmsc.adb
! 691ea974e49657317d3d8cb9ec435ff9  gcc/ada/prj-nmsc.ads
! c718a3559d6a744b4ea0dc458db8d2e5  gcc/ada/prj-pars.adb
! e5972fa60d7c61d333a90128ddad98ee  gcc/ada/prj-pars.ads
! 7133e229435364f45a86d28794ab1099  gcc/ada/prj-part.adb
! e9c115d06b99f4546cffdf2263247fbd  gcc/ada/prj-part.ads
! 24a9856f83c587f3862c03b09ebf0ad5  gcc/ada/prj-pp.adb
! 25b38059c888f6a24f6f7235a7e84d0a  gcc/ada/prj-pp.ads
! 8c9c0ef31504cf63f88f6dfb66eca4ca  gcc/ada/prj-proc.adb
! 8c844b531f9d53765ec65b00c6a7dee7  gcc/ada/prj-proc.ads
! fd44ee121197bbc844cbbfc122b0d51f  gcc/ada/prj-strt.adb
! 1e634c734277a279f1e6ea8a816103a6  gcc/ada/prj-strt.ads
! d8912bf291d44fbcccf031db8e1f074d  gcc/ada/prj-tree.adb
! e0a3108f4a5ef4e74b1023081ff0719d  gcc/ada/prj-tree.ads
! 39f51ce503449bd7416014bb1da020f3  gcc/ada/prj-util.adb
! 64cfc081f25d19db01bf04297c4d0c67  gcc/ada/prj-util.ads
! 160f1eb50eed64eb17e5fb253d429f50  gcc/ada/prj.adb
! 250f2f81da509374255606c6ffc1da68  gcc/ada/prj.ads
! 02425be31ded772c83cf1f8c343a2a5f  gcc/ada/raise.c
! fb37354214e7f17e006ca48a4704a0a8  gcc/ada/raise.h
! 8040c6a0b2782ea247a980e906d5a2be  gcc/ada/repinfo.adb
! 5d20b8340754b5678e234c2865c93ceb  gcc/ada/repinfo.ads
! 047d0b6f6a2b9e31d764f4198c0e515e  gcc/ada/repinfo.h
! ef8abbf401f3f6be408107218cf56c8b  gcc/ada/restrict.adb
! 6906c6db945407d577e50e7584bcef7d  gcc/ada/restrict.ads
! bc215f83e56b8da7f17c2ed802782343  gcc/ada/rident.ads
! 8968d224c5583d0acb885401da02f037  gcc/ada/rtsfind.adb
! f9e4985467d17e35ab734e25d7290e47  gcc/ada/rtsfind.ads
! 9284210a74c7d914c97c8099ab0b8cce  gcc/ada/s-addima.adb
! 3ac9843097a5a4098263f58e1670ddfb  gcc/ada/s-addima.ads
! 1abc1d999013869ca081e2f47c95f37c  gcc/ada/s-addope.adb
! 0cb2dc65deca8a8892aa801233043788  gcc/ada/s-addope.ads
! 03430431630bab6c3e1f1a95d6396c02  gcc/ada/s-arit64.adb
! 9f747789d0323cfa70b3740eb203e6ee  gcc/ada/s-arit64.ads
! 2288b85acd596fb7553c208bc36b9cc7  gcc/ada/s-assert.adb
! 06e8a7e12e973cf38108f5af1e72c32f  gcc/ada/s-assert.ads
! 481c7b10868f175cde1a17bb8af3a3cc  gcc/ada/s-asthan-vms-alpha.adb
! 2aaa55f5be752b18947be124dc763de5  gcc/ada/s-asthan.adb
! 6f262aba19d340359bdef8b5fd10fc11  gcc/ada/s-asthan.ads
! 4f09f644462c244a8a85e57a68db7cfc  gcc/ada/s-atacco.adb
! 71bd462546981f49eee5f98c6f3e5b01  gcc/ada/s-atacco.ads
! c8b1d8afe28d410a10557a75f3aed9b5  gcc/ada/s-auxdec-vms_64.ads
! 450b12685f51c085561600f31cb0edd1  gcc/ada/s-auxdec.adb
! 5dae815906e4ff460dafcdf566d25084  gcc/ada/s-auxdec.ads
! 40723f6020ba9b88914d2c910a234898  gcc/ada/s-bitops.adb
! d57b1889f1f5777bb958cf18d1e9ae63  gcc/ada/s-bitops.ads
! b474f77cb76083fa1f3241a43834e22e  gcc/ada/s-boarop.ads
! c49d111c4b456c13ebae7f990508963c  gcc/ada/s-carsi8.adb
! b86adba45682a3e0baa06d5e9e288bfc  gcc/ada/s-carsi8.ads
! bee3c1b711f061e015f170f83ffe4c37  gcc/ada/s-carun8.adb
! 32a0f0fc66307c5aa1ce08508ee3318d  gcc/ada/s-carun8.ads
! 831c51af3be4670d47ed09678777fef7  gcc/ada/s-casi16.adb
! f586bcd8c16c68ec991815c852443b4d  gcc/ada/s-casi16.ads
! ef8b9e8bf11931a2023619957ddc76c3  gcc/ada/s-casi32.adb
! 818d439a21b2d3d992719a9c440942cf  gcc/ada/s-casi32.ads
! de8de6beed5d8104340c687837cfd079  gcc/ada/s-casi64.adb
! ccfcc024c0cbf67a4d4dcbcf7f951764  gcc/ada/s-casi64.ads
! da30dfb2255a4a334b76ddc827213191  gcc/ada/s-casuti.adb
! d04d4314a038b94c2418b1c19a3a740f  gcc/ada/s-casuti.ads
! 96c0cd7eb7c21b144dc543780d641261  gcc/ada/s-caun16.adb
! 2dab24695f63620d704fd409e37e37f1  gcc/ada/s-caun16.ads
! 82cedd4ae24fab3dbbb0486c10aba167  gcc/ada/s-caun32.adb
! e5a0b053d71e6577707995101f43d206  gcc/ada/s-caun32.ads
! 42f93bec85327cf08f65c12179dbe4cb  gcc/ada/s-caun64.adb
! abdc0fbc42f31e10241f264fcfd1a938  gcc/ada/s-caun64.ads
! 13929ba0199240c60d171be0f38fb93f  gcc/ada/s-chepoo.ads
! 07562e953e38733463bfcc034a98d7cf  gcc/ada/s-crc32.adb
! 690c05efe3aa99d267db9edb6cad1ee7  gcc/ada/s-crc32.ads
! 7b2e5ba1e06da79c3b8d9f825b27d6b8  gcc/ada/s-crtl.ads
! 036f36295aadfea1f6cdb9476d6484fb  gcc/ada/s-direio.adb
! df567fcf5b56fe4c1da8fdd312a52431  gcc/ada/s-direio.ads
! d0f40d441a9dfefc4c41b404ce4f282f  gcc/ada/s-errrep.adb
! 2cdcd3ad9f73b6e65d4cdd54b5277948  gcc/ada/s-errrep.ads
! 6231ee3d4bc1a5b063aefa5baf53091f  gcc/ada/s-except.ads
! 0db3a42a570ba8f694aeee95ba113d67  gcc/ada/s-exctab.adb
! 3517a16ef7cf224b0776cf29f68fc48b  gcc/ada/s-exctab.ads
! 6802d7522c14d2fc6fe2d855ea2d47cc  gcc/ada/s-exnint.adb
! 82bad1247ad88ce3349c683d3c188759  gcc/ada/s-exnint.ads
! b27d38df59ffc9cbd3c267948475d7a3  gcc/ada/s-exnllf.adb
! 1eb2d866f329f3a5e335aa445eb25851  gcc/ada/s-exnllf.ads
! 8e7476fa069e7d4ad2ba49bc534b34ce  gcc/ada/s-exnlli.adb
! ad5ede4b3430b97f05ab02371996b1f9  gcc/ada/s-exnlli.ads
! 0abb7df4ac37a4cf11dc0b65e6f88ea9  gcc/ada/s-expint.adb
! 22552b686f6bbc7e2a88708205a95194  gcc/ada/s-expint.ads
! a55009f3873de787cc635ce5c3c4c95a  gcc/ada/s-explli.adb
! bb5c9994036142846cb33e0e768e581e  gcc/ada/s-explli.ads
! e542eb209f25fa95cbbce1f9b30268eb  gcc/ada/s-expllu.adb
! de87f3d78739ff199f9fefdb77c91820  gcc/ada/s-expllu.ads
! 914c9830086c20a48d91237ab663a4f7  gcc/ada/s-expmod.adb
! 17fe694390437ef6ecafca86bdbe1ed1  gcc/ada/s-expmod.ads
! 4b458f6fac7718096c989b3be93398f3  gcc/ada/s-expuns.adb
! 5a96fd2beeb5ed1033f10310d8d7317d  gcc/ada/s-expuns.ads
! 7c717d3bcb84684de4c959e40a67fc67  gcc/ada/s-fatflt.ads
! 265cee35fc853061ed284da0f6397571  gcc/ada/s-fatgen.adb
! b43e8a8f622a80d21984b857a7e78d15  gcc/ada/s-fatgen.ads
! a2b3be9a62a8063bf1b766bfdf7b773f  gcc/ada/s-fatlfl.ads
! 049334cb07fd23f64ffde6d071571eec  gcc/ada/s-fatllf.ads
! 39c5617f1345e38499b7df1ddf5e2801  gcc/ada/s-fatsfl.ads
! 5e5fb3e5f64e4cfed58945b2faf45555  gcc/ada/s-ficobl.ads
! afd74d3bd4195d655d6948ff76dcc4cc  gcc/ada/s-fileio.adb
! 44c14c82ba61727f487d79b3b8dafa53  gcc/ada/s-fileio.ads
! b8aae74e743557d086baa0c6af0c6ddb  gcc/ada/s-finimp.adb
! a47f06fa322c61b7d955d8beb23333cb  gcc/ada/s-finimp.ads
! 52cc412b515f9945db49ee50aab2dde3  gcc/ada/s-finroo.adb
! fad42d75e4c1abc2694651c4176ed4be  gcc/ada/s-finroo.ads
! ee59b6d32cf9a6ee06962e0622f74086  gcc/ada/s-fore.adb
! 3e8ee093a6b1e8d008452b3a2d4e1fe5  gcc/ada/s-fore.ads
! df0104645768da6d03c2b82013b6eba1  gcc/ada/s-geveop.adb
! b9688bd95cb0ad39dc307f7a50266690  gcc/ada/s-geveop.ads
! 072a39e95e704e31a7753e683aa0cbcc  gcc/ada/s-gloloc-mingw.adb
! 425c9d0f01b8768c4669db241b155eb7  gcc/ada/s-gloloc.adb
! 09b18f454e56edfb133e540988b5b482  gcc/ada/s-gloloc.ads
! 53ff9283fa13d2dfa269f48429e631ce  gcc/ada/s-hibaen.ads
! 05d4b85410913ae000d9892185e170ce  gcc/ada/s-htable.adb
! 218e378d0c5bcb1d57189520b086e8b1  gcc/ada/s-htable.ads
! 49b55075f309867a841723d17a8e29c4  gcc/ada/s-imgbiu.adb
! 67c2f1044a7680e2459100aeda74e0e5  gcc/ada/s-imgbiu.ads
! ebb7258c973f6ad461fea2e1e99ff7f8  gcc/ada/s-imgboo.adb
! 2e7575c0e440bcdc6c55cae25c41a84a  gcc/ada/s-imgboo.ads
! a4ed5551a3434404600093dcd8a5657b  gcc/ada/s-imgcha.adb
! 381271c6f4705d0f8b3d5e2894d166f1  gcc/ada/s-imgcha.ads
! f077605c9b69fce789c411c4575eccda  gcc/ada/s-imgdec.adb
! d334be195f4d66aad181efaa44f73e4e  gcc/ada/s-imgdec.ads
! a94418584e13608e0cba9ad93856b6a5  gcc/ada/s-imgenu.adb
! 01d29c2a6d9b51b7136cc795bfa0ad59  gcc/ada/s-imgenu.ads
! 820928d9f4c7e80ae809912dfaf7255e  gcc/ada/s-imgint.adb
! 47d2757f0cac3486d3e757b2f677de89  gcc/ada/s-imgint.ads
! 51d2a7ce004c0d3a832197d55eaa3e5d  gcc/ada/s-imgllb.adb
! 577feb6eade6196e9ad07355545e2891  gcc/ada/s-imgllb.ads
! 45db7ebf874b49103ff4deb05bbbc7bd  gcc/ada/s-imglld.adb
! 545ed787f22210ea30b312b79a865eeb  gcc/ada/s-imglld.ads
! 64379d2e0f365a09649016eda10255cf  gcc/ada/s-imglli.adb
! efc06dda0aad6bdc9a79dcd185d01131  gcc/ada/s-imglli.ads
! b79d162200dce8a56397eb7f37a0f47a  gcc/ada/s-imgllu.adb
! 28bafe03ee7a83c74b65fcbd2a26adc8  gcc/ada/s-imgllu.ads
! c76fc335d3dc0b00d6b4c0ec0fee92eb  gcc/ada/s-imgllw.adb
! 804dd07332045250cbd2fec6e78fb1b0  gcc/ada/s-imgllw.ads
! 8e3d43462a4517a6d4b7db81e0058564  gcc/ada/s-imgrea.adb
! ce37f1a9f5538b32869846a63a478247  gcc/ada/s-imgrea.ads
! 6fa04b04e9393d4f44b087f32d583f3a  gcc/ada/s-imguns.adb
! 050816f1bff8b19bf875a0fc10ded953  gcc/ada/s-imguns.ads
! c8da9ee7f0a66e4c6c135924d0d25812  gcc/ada/s-imgwch.adb
! 9a8b58f5d06a027d23c775463830e83c  gcc/ada/s-imgwch.ads
! 46e6a74b2b2459ebb79a2271cc29970d  gcc/ada/s-imgwiu.adb
! a2f465f8d5b833a6a1a093cdf8b4b957  gcc/ada/s-imgwiu.ads
! 716f55f489b888c9be9f5e5c739c573c  gcc/ada/s-inmaop-dummy.adb
! eda1a9987f9294488446ce1cb6da150e  gcc/ada/s-inmaop-posix.adb
! b473fbaa2d207f9f9b48cbc01620e31f  gcc/ada/s-inmaop-vms.adb
! 93a2c7a78af72db3df4d1f955cc5c3f3  gcc/ada/s-inmaop.ads
! 2380f2094d529d757deeae29b55fdd0e  gcc/ada/s-interr-dummy.adb
! 04ccb4a894c8431a54dbe8db34ae8c92  gcc/ada/s-interr-sigaction.adb
! 376e0e96be4509204d48f7d92176c20f  gcc/ada/s-interr-vms.adb
! 8333781508c70e4ce8d60506df58712c  gcc/ada/s-interr-vxworks.adb
! 14aefc10e941d0d5169a2bb087f465b3  gcc/ada/s-interr.adb
! d28c810b137557878e587b272d756dca  gcc/ada/s-interr.ads
! 2f3aadde4e178b8b6e3ec6c0437014a1  gcc/ada/s-intman-dummy.adb
! f0e5c8c5759bb8818f766bb0a4da13b5  gcc/ada/s-intman-irix-athread.adb
! 6f07986dd2d9d9f2a4c300bc3e6d1b40  gcc/ada/s-intman-irix.adb
! 35e0129ee463b069d71f81a6f3defbdc  gcc/ada/s-intman-mingw.adb
! 6d865b55e67d3ffd41d37a0959741b87  gcc/ada/s-intman-posix.adb
! f65638bb6b5bff35025ee07180fcb84c  gcc/ada/s-intman-solaris.adb
! 918ea671929959d984b4819918dee0b4  gcc/ada/s-intman-vms.adb
! 166dad41777258463eec097a972c5f1a  gcc/ada/s-intman-vms.ads
! d8807c1b8a7f6c300700749664628b01  gcc/ada/s-intman-vxworks.adb
! 3fe6b135650dc083869bb1fadcfdb4ce  gcc/ada/s-intman-vxworks.ads
! 60a18f3b6db54b281ed11ae6c6be39f9  gcc/ada/s-intman.ads
! e207c97358f5c1db0e22895c9ce1872e  gcc/ada/s-io.adb
! 7806c318c86778e86d646582ea662177  gcc/ada/s-io.ads
! b0f05816b027bbff20ae1b526900d275  gcc/ada/s-maccod.ads
! 7e6417c25a9db7ffc3602401b2e449bc  gcc/ada/s-mantis.adb
! 3b377da6936967f59131c3a5eeb60b64  gcc/ada/s-mantis.ads
! ade900fb546ed0c90f8ee56da9875285  gcc/ada/s-mastop-irix.adb
! 9a160098d8a3f1084c69859f2e81f478  gcc/ada/s-mastop-tru64.adb
! 5e11fcf7286f4b8fd01257ac25c88bc4  gcc/ada/s-mastop-vms.adb
! bbdd838636189e222059d5264c8f3205  gcc/ada/s-mastop-x86.adb
! 664b8804b24e9f18ff40d965b34e6099  gcc/ada/s-mastop.adb
! fdd9f3d13a6cbf693846420fdac5fe30  gcc/ada/s-mastop.ads
! c81a1787b8e7f135d39e7e56fb81b58b  gcc/ada/s-memcop.ads
! e575bf88b560332044bd8bb3baf31f6a  gcc/ada/s-memory-mingw.adb
! 300311e29e8871e43103c5582a6175d8  gcc/ada/s-memory.adb
! bfb681c7fb02d7b8edce48c08a502f66  gcc/ada/s-memory.ads
! 9259d3a92df16987c9937fa8340fc8f4  gcc/ada/s-osinte-aix-fsu.ads
! 9bc0d096562c13579553062dd262b519  gcc/ada/s-osinte-aix.adb
! 317a8ae466028dc89f29d52d3f50455d  gcc/ada/s-osinte-aix.ads
! 1808e3f7cf90781cface13935fe695c0  gcc/ada/s-osinte-darwin.adb
! b408fb41bfc83e121b7673c7c77a857f  gcc/ada/s-osinte-darwin.ads
! dc1d7000727d34a90db25bf66cbd356b  gcc/ada/s-osinte-dummy.ads
! 3a4b90fa21ad19c8f131725bd37d66cf  gcc/ada/s-osinte-freebsd.adb
! ae98cee4e2d795e8a479d0f930ab1659  gcc/ada/s-osinte-freebsd.ads
! f37d8b5e52a33f4f4f785d8b86c07fb7  gcc/ada/s-osinte-fsu.adb
! 6cd64f782a7b5f3c0a16087d8141f4b1  gcc/ada/s-osinte-hpux-dce.adb
! 732ad2be817ef20cb9adf586fa2add59  gcc/ada/s-osinte-hpux-dce.ads
! 335194ddebaac29031b63504120da8d1  gcc/ada/s-osinte-hpux.ads
! ba37b5721e4f7d3ce19c40844a20e3cf  gcc/ada/s-osinte-interix.ads
! 6ca92fdfebf847d8c5f234732ca91682  gcc/ada/s-osinte-irix-athread.ads
! b61a777b08139409a647fbd83ec05b1c  gcc/ada/s-osinte-irix.adb
! 97df677c640a7a13b429d797bef084ca  gcc/ada/s-osinte-irix.ads
! 01e0448336ca859326baa13beeb75fa9  gcc/ada/s-osinte-linux-alpha.ads
! b21947cd9b5a0c698be05d7f370c433e  gcc/ada/s-osinte-linux-fsu.ads
! 4b49166d2c2e840eee12089c9979366b  gcc/ada/s-osinte-linux-hppa.ads
! 16f7ee96dddcdc6a6c48c5562123adae  gcc/ada/s-osinte-linux.ads
! 2e37059dbe44bacf36c514469c42fd52  gcc/ada/s-osinte-lynxos-3.adb
! 7f164b58abb8ec008b60a20afdab5e0a  gcc/ada/s-osinte-lynxos-3.ads
! d200685a39b843864a37c15a833d7b56  gcc/ada/s-osinte-lynxos.adb
! 3ec4123708efd5904f6597703dda6cc3  gcc/ada/s-osinte-lynxos.ads
! d103af0c3cf86ebfb3e2bf3c84e05ce9  gcc/ada/s-osinte-mingw.ads
! 7a75b6c92e999fe70c36f58e77444329  gcc/ada/s-osinte-os2.adb
! c968828695fd11f3ccea742bdf607f04  gcc/ada/s-osinte-os2.ads
! d9b70aceeeb5153563bce3eb2e9714b8  gcc/ada/s-osinte-posix.adb
! 5bffcdfcdeee1369c2bcc6c3678af105  gcc/ada/s-osinte-rtems.adb
! c55593b97b448e798f85fab8d68e8045  gcc/ada/s-osinte-rtems.ads
! 823752ff2adedca0c77fa7ace1d334e0  gcc/ada/s-osinte-solaris-fsu.ads
! 345b2ab100615b07f9ae428e921fa317  gcc/ada/s-osinte-solaris-posix.ads
! 03930e168ab488f7570fd5d5427664a1  gcc/ada/s-osinte-solaris.adb
! 50d926b19ed1cc2306e2a663ad42e5f3  gcc/ada/s-osinte-solaris.ads
! 36235ac1caa773779fde7c22dc473129  gcc/ada/s-osinte-tru64.adb
! a5b6d4f7a50d8c82020e320aa7e368cf  gcc/ada/s-osinte-tru64.ads
! 3aa6b96f7f34ea075d5c538aa7ecedcb  gcc/ada/s-osinte-unixware.adb
! 2252e57d775fe63d79ef59dc5d1b9839  gcc/ada/s-osinte-unixware.ads
! 0408ca9cd24b193daef12aba6386cd41  gcc/ada/s-osinte-vms.adb
! 2b6b9fb4e635a1f860a8a238cd137cdd  gcc/ada/s-osinte-vms.ads
! 2122c1846cf70241a13241b74967e267  gcc/ada/s-osinte-vxworks.adb
! 95c32467efa274d3c028921728c1d8d3  gcc/ada/s-osinte-vxworks.ads
! 20c3576596ecb949449f96068d5eb394  gcc/ada/s-osprim-mingw.adb
! 8316664f47413497a14f9bffb71fa07a  gcc/ada/s-osprim-os2.adb
! 887fc44a83d208eb575d9021bfae81db  gcc/ada/s-osprim-posix.adb
! 087014345587559bdea1a7b7d1346a4e  gcc/ada/s-osprim-solaris.adb
! e529998dc07d1ecfe71ac1040f70c019  gcc/ada/s-osprim-unix.adb
! fb16a0d7bc64d558e361fc5e6c4939f6  gcc/ada/s-osprim-vms.adb
! 0808dab9423092de17929f61c06b227e  gcc/ada/s-osprim-vms.ads
! ffc21736c9d11a8d28e0bd4a87f831e0  gcc/ada/s-osprim-vxworks.adb
! dbe1e2b53384a3a2a24fb1c9adb5df35  gcc/ada/s-osprim.ads
! ecd38c8d2e8d4d991a3ec71af11a44a6  gcc/ada/s-pack03.adb
! 9af27db5b99e1d7b85db98bc09bf0ed6  gcc/ada/s-pack03.ads
! 4412665f801551f2aa2182199b6ff367  gcc/ada/s-pack05.adb
! 095b28e95c7f3b3a6c7382d0df8975e4  gcc/ada/s-pack05.ads
! 66fb55efe3c34ae8e8646cbec0b83866  gcc/ada/s-pack06.adb
! 107e2e90d60fbac11d655187b4a8c1b5  gcc/ada/s-pack06.ads
! 8044cc1129a561c98036f94de85cdb20  gcc/ada/s-pack07.adb
! 063dada49541fbc3950db5ad3a3d64db  gcc/ada/s-pack07.ads
! 6ad7ea43256ca18a85eafb4c2690e5aa  gcc/ada/s-pack09.adb
! 43539f854b58cf05a04dad2744fc4668  gcc/ada/s-pack09.ads
! 3faec7592535eec79b6de9fb99520884  gcc/ada/s-pack10.adb
! 2f1bdcb7fc3842470b2d78d2ed7500b0  gcc/ada/s-pack10.ads
! dcd8bbb148e1b9340e322fb7fc7458ff  gcc/ada/s-pack11.adb
! 12047735b6b7453d4820e85be13352ff  gcc/ada/s-pack11.ads
! b90b6ecadfc9d59695fdad216736a2cd  gcc/ada/s-pack12.adb
! e6277c1b0525958217198e5d2efa271b  gcc/ada/s-pack12.ads
! 22e2313a0d087ae7332a27013123429b  gcc/ada/s-pack13.adb
! 435a7ab5f1172c9b02519720c12fb2c5  gcc/ada/s-pack13.ads
! bcb58011f77625e3babe9532fb98c98d  gcc/ada/s-pack14.adb
! 7492012268a8c5f950ef7c600e221bc9  gcc/ada/s-pack14.ads
! 626299c0802473fa5af4655f616d92da  gcc/ada/s-pack15.adb
! 82ab824375ffae5df55511e3f9a8e645  gcc/ada/s-pack15.ads
! 0784429b3c74b68b387328dff25eeebd  gcc/ada/s-pack17.adb
! 3225b0644dc28dea23adf0daacca6c03  gcc/ada/s-pack17.ads
! cc624cd8d0fdb2894ca8f79dc5eda52c  gcc/ada/s-pack18.adb
! a56153a118165a34e7a230c07823ddf4  gcc/ada/s-pack18.ads
! 1a168002286442f1e2f70893bb3438a6  gcc/ada/s-pack19.adb
! 2800de7cf6ad7a7494c2719e17555cb4  gcc/ada/s-pack19.ads
! c300dbaf878e7d8d328a23a77b67e62b  gcc/ada/s-pack20.adb
! d55e4cfc8ac6def923b83f3a215f66cc  gcc/ada/s-pack20.ads
! 8d8d77a418de3f01b4e3a59a10a83b2f  gcc/ada/s-pack21.adb
! c567e58b83aa17113cbe3f3d6fed9b16  gcc/ada/s-pack21.ads
! a52f791257d2e01ad0fc78f5da849238  gcc/ada/s-pack22.adb
! 6bc5b62bace21692b43efac06fe122b2  gcc/ada/s-pack22.ads
! 36959d874dd6fef71d582e963c732a1a  gcc/ada/s-pack23.adb
! 57903bfdcb7afeab08b418557e6bb420  gcc/ada/s-pack23.ads
! cdb268d78c31ac7061d240a80f472bd7  gcc/ada/s-pack24.adb
! 5ab20c7137f69e36cbc981f40f234057  gcc/ada/s-pack24.ads
! ff0ce37d1816988f686b94a505663ad0  gcc/ada/s-pack25.adb
! 04a7f349cf22350bcdbd9ee2f1a99497  gcc/ada/s-pack25.ads
! 098ba08d0be6cba6304d52ba9335b633  gcc/ada/s-pack26.adb
! c62b45c668a6a16c4869029c98dae9fb  gcc/ada/s-pack26.ads
! 4fe078b32be969ecd3bdc4f365428648  gcc/ada/s-pack27.adb
! 51845e0e624b12ab714dbc14c98c8084  gcc/ada/s-pack27.ads
! dd305c7126f70f9d749392cf87eb29c2  gcc/ada/s-pack28.adb
! 7c793b1aee29b7202d55405e96e80332  gcc/ada/s-pack28.ads
! a67caff41603ad2a687a63d4c4bad981  gcc/ada/s-pack29.adb
! 4bf0d00f48aa798cc1af7fbed53030ea  gcc/ada/s-pack29.ads
! 6d803b6352dec76de52f8c49d9478a9b  gcc/ada/s-pack30.adb
! 1c9485fa71c533d5a03a46b6faf673eb  gcc/ada/s-pack30.ads
! a586b11c66b3502347f1fcc5312848a0  gcc/ada/s-pack31.adb
! edaaca4eb86f8fbabd8153c0a7351dc7  gcc/ada/s-pack31.ads
! b2d9820d57b86ce4f9fe4d5a7ed1ffbe  gcc/ada/s-pack33.adb
! 0f593e98636f15b52948d5a10e59f68d  gcc/ada/s-pack33.ads
! cd36fd41b853fa1406f769bdd76d56a5  gcc/ada/s-pack34.adb
! 1c088f10fe622b4a840d7edf1d52820f  gcc/ada/s-pack34.ads
! 7d55517f5aea60505eaea0e9d516b559  gcc/ada/s-pack35.adb
! 12792011e1cde740a0bbcc03a8d9d892  gcc/ada/s-pack35.ads
! 0a9fa64918cb1a8fd48e09d2f9cd0ba7  gcc/ada/s-pack36.adb
! d54f5678041fbca99f6e7e434adaf1e7  gcc/ada/s-pack36.ads
! d0aa74ba466d92dd866aa9d14aa6bf08  gcc/ada/s-pack37.adb
! 2cbd35d499266d78f87afc91e1675b22  gcc/ada/s-pack37.ads
! 9e03e6429be01864f2ddf19abf019adf  gcc/ada/s-pack38.adb
! f60a4cdffbb6854865f950a047d31e5d  gcc/ada/s-pack38.ads
! 7740ed46ac643d56f187ae6464705141  gcc/ada/s-pack39.adb
! 63b09eba26c0140b283076cb3b9412b3  gcc/ada/s-pack39.ads
! cc40b03d94b18710f17450b9e9cc6a19  gcc/ada/s-pack40.adb
! c521bc16501fffa967df73acb40dbba1  gcc/ada/s-pack40.ads
! 938d1819b7d2615bb68d0ca259842f00  gcc/ada/s-pack41.adb
! cec2321ed4d0aa37ec7623b433b268fa  gcc/ada/s-pack41.ads
! 4940249aa6dbae27aafd2b56e9d19d89  gcc/ada/s-pack42.adb
! ba55cba1815fd3fab6ce676a77ea2c80  gcc/ada/s-pack42.ads
! 3276da9221ca18e67268cb68689ba567  gcc/ada/s-pack43.adb
! d2eeb2d71dfffdcd2405274172562269  gcc/ada/s-pack43.ads
! e0cf5f9fdaef292d648ae6376b42d121  gcc/ada/s-pack44.adb
! 43a9f16a94e569c6d17a8c8993417287  gcc/ada/s-pack44.ads
! 41082a686548e2678229aa7836724065  gcc/ada/s-pack45.adb
! 92724fc3d89668c4e34c8e07e4a3e8cc  gcc/ada/s-pack45.ads
! 1194150b9894c481e94375c1d3b15dc9  gcc/ada/s-pack46.adb
! 07fcb5ebcab65ed7bd727fb407eea132  gcc/ada/s-pack46.ads
! ddec70dd4d414a1d317adb0ab1f32497  gcc/ada/s-pack47.adb
! b4f79c8e838cc970b51200ba7183e68b  gcc/ada/s-pack47.ads
! 5bcee17c7dbe54867c423b9d178ae33a  gcc/ada/s-pack48.adb
! a6ea2698a6f534118f06a380796acec7  gcc/ada/s-pack48.ads
! 874aa67dcea833d5bb42174cca27ab9a  gcc/ada/s-pack49.adb
! eb254d1358e1c12a98c1de0ae2b1b541  gcc/ada/s-pack49.ads
! d5a4d5a493beb159a8342ca3f43ab56f  gcc/ada/s-pack50.adb
! b4cc4be3b55f3bed836bd132e775867f  gcc/ada/s-pack50.ads
! 8d3debc9253a762481bd7b65e7f8c26a  gcc/ada/s-pack51.adb
! a90309955a9215abf5deba7a4cb5ac46  gcc/ada/s-pack51.ads
! 72670c5c24e1384ca92946698f7230d5  gcc/ada/s-pack52.adb
! a0e9a4c87bd67f16d45115bd995e00a2  gcc/ada/s-pack52.ads
! bf311ec96acfcc1853730fe25d361677  gcc/ada/s-pack53.adb
! de3d15e46bd84074ef59069809c5682a  gcc/ada/s-pack53.ads
! 121d4ff562213b4dec9be8e4f5b6fec2  gcc/ada/s-pack54.adb
! 5e4d99cbe95dde3e94bb74077aa14c76  gcc/ada/s-pack54.ads
! c9715fc58f333dec82a85daf70b6f3e9  gcc/ada/s-pack55.adb
! c28dd36c4e6e9ecfc8d803c3d708051e  gcc/ada/s-pack55.ads
! e0df0ba1562928700af0491497b060df  gcc/ada/s-pack56.adb
! 6f36d145874e3c3f3b365507a71e76c5  gcc/ada/s-pack56.ads
! 5ec6f299c22a8f3d8fbc01159c7ff115  gcc/ada/s-pack57.adb
! 94b8864123f552b30bd55a2a809bb080  gcc/ada/s-pack57.ads
! 70b223b3a8ed3eae03b10a47e5c1f716  gcc/ada/s-pack58.adb
! cfc9da1e8ab0527f81571697e8c14348  gcc/ada/s-pack58.ads
! 04e808f47d664deda83c0e7a6369301f  gcc/ada/s-pack59.adb
! 335df577c81af171fd70aee966e68ca1  gcc/ada/s-pack59.ads
! 4b54d545600ce3f4b5258b46cc9250ab  gcc/ada/s-pack60.adb
! 59f5ff0fe453e028070a505cf7234540  gcc/ada/s-pack60.ads
! 263883109276229521f9ac854ff214c4  gcc/ada/s-pack61.adb
! ea10b930bbc4cd248c67fda93238cdbc  gcc/ada/s-pack61.ads
! dbea1739ffc58e7f43b54afee30298fd  gcc/ada/s-pack62.adb
! 7436d70ca5f1bbd3a897e354dd090302  gcc/ada/s-pack62.ads
! a08b72bb84a64b637750e22ac08dbc0a  gcc/ada/s-pack63.adb
! c2c530d4121c703113f0986f23e45d42  gcc/ada/s-pack63.ads
! ab5ffeaa3ed125961e09bc35f4213a0f  gcc/ada/s-parame-ae653.ads
! 770add43fcd523769a5d06cbe008cf6d  gcc/ada/s-parame-hpux.ads
! a54aa2ef689bdb6bc32f5866a6b22a2d  gcc/ada/s-parame-linux.adb
! 65f0160461b9b8576bba736493bb74f7  gcc/ada/s-parame-mingw.adb
! a0bd1a774c42c74d08ec839d2eb99f74  gcc/ada/s-parame-os2.adb
! 84a517fab35724ed785e717b1f5dfcbd  gcc/ada/s-parame-rtems.adb
! d38d9f5a44aff668ce03612ecdf019eb  gcc/ada/s-parame-solaris.adb
! 344ed8dfa057ee16a791aad079375f42  gcc/ada/s-parame-vms-restrict.ads
! 2712585a404cfee5663daed3a974e732  gcc/ada/s-parame-vms.ads
! c0f5c894f9499a36ce7d0ea3d84265d2  gcc/ada/s-parame-vxworks.ads
! 912934ef1d814088fb62c338d43ff031  gcc/ada/s-parame.adb
! 928bda6e8bfb5d621c219556134ace92  gcc/ada/s-parame.ads
! f43e8e0ee0ae50d2223d70fccfc54af0  gcc/ada/s-parint.adb
! e376ed83813fa82dad32feb573b46844  gcc/ada/s-parint.ads
! 45a4a1f7a1978d4d589ab9e52fdcb453  gcc/ada/s-pooglo.adb
! aea11d4359dfc81d2ce28c6981a59e7c  gcc/ada/s-pooglo.ads
! c7c8dd7ac7f232180b9d67845634fdd4  gcc/ada/s-pooloc.adb
! 8230a5f89a7ba2b5f16eb6cc77207bcc  gcc/ada/s-pooloc.ads
! ac3eb0e2c4b883a3fd515bd7b1f14fe2  gcc/ada/s-poosiz.adb
! 034d2d040cf3190d71b699d8d41d4d48  gcc/ada/s-poosiz.ads
! 21ffbdbef84f208128c81d41ba7c23d6  gcc/ada/s-powtab.ads
! 470652dfef23d09495bf7db4f2d0ccda  gcc/ada/s-proinf-irix-athread.adb
! e731026149e4b3e4433fa74f03b7b221  gcc/ada/s-proinf-irix-athread.ads
! e0e504793d2a6fcaa1a9ed5775da05c8  gcc/ada/s-proinf.adb
! ebeb792f556c7839acd1e079eb7d6797  gcc/ada/s-proinf.ads
! 6a418fc35dbf35c250104b2e5f77dc15  gcc/ada/s-purexc.ads
! 076c01244532a79ba8def4c6dfb822f6  gcc/ada/s-restri.adb
! f7535e5944bbeac139efa4d1af5ba73c  gcc/ada/s-restri.ads
! a12a9bf08e3c63b679b9be11803ae9b5  gcc/ada/s-rident.ads
! 77a1a589c5a8dfca1477d64a930cc153  gcc/ada/s-rpc.adb
! bb2d67daf3e06cd459971de715c24191  gcc/ada/s-rpc.ads
! 510dc2de938c61002ee96252f438bd7d  gcc/ada/s-scaval.adb
! 24089e60da840820abcddfc1aa3b9304  gcc/ada/s-scaval.ads
! 9d9363c8a6e066d60373f8358b98b3d4  gcc/ada/s-secsta.adb
! afff7b4850595cb6d5300e17498dd0c8  gcc/ada/s-secsta.ads
! bbf4616ec03ecfe5e4f218f67313aa43  gcc/ada/s-sequio.adb
! 32192ea2b98021e59b78b14b7b16121f  gcc/ada/s-sequio.ads
! 0d62316837084c5e4dcfd51654c61ac9  gcc/ada/s-shasto.adb
! b57d10911cfe5adfd1b5b682ad8cfb6e  gcc/ada/s-shasto.ads
! 6a447e427e640cecc3a723feb60116da  gcc/ada/s-soflin.adb
! 1d92c2e5d603e0a10cc1404cbedaddc0  gcc/ada/s-soflin.ads
! 2b3d862a85d87ef12317768bd9a04309  gcc/ada/s-solita.adb
! a97e71387728d3f43a881c165a874cf1  gcc/ada/s-solita.ads
! 1b2ecacd09dfee4ff976fedd65d0262a  gcc/ada/s-sopco3.adb
! c5d784388f95d22021d1f191303ac971  gcc/ada/s-sopco3.ads
! f6f1c4942e0bbf06a283ef8fcc39f7b1  gcc/ada/s-sopco4.adb
! 2c934df2145a9c5348d4bb66ad327a9d  gcc/ada/s-sopco4.ads
! 991b6aa7c976c8556e0851dfc7265bfa  gcc/ada/s-sopco5.adb
! 63504024e3ed6aa8140de1b2ee51b833  gcc/ada/s-sopco5.ads
! 85a8a32541e840ff5f4e59b57a30e7da  gcc/ada/s-stache.adb
! d3d283c13b932284017c1c4965077fa7  gcc/ada/s-stache.ads
! 350f6a5a7dd8de813c87d82e9e76fe88  gcc/ada/s-stalib.adb
! 05c1f4e39695d0bbbe9f0f5d1d789bfd  gcc/ada/s-stalib.ads
! 27e9c70e73bee7b60af2f047084de6a7  gcc/ada/s-stchop-vxworks.adb
! ab78bc28334ae3e5b4294581403322a8  gcc/ada/s-stchop.adb
! ecf7b27da92c96f0cda54f91e3b5fc14  gcc/ada/s-stchop.ads
! 42c7bb8e656e4c68f4f74e690c35571a  gcc/ada/s-stoele.adb
! 4a7eef6af2a4f5a33214224d969d1d58  gcc/ada/s-stoele.ads
! eedcb3c023757f70d7b775f5a6a4ddb9  gcc/ada/s-stopoo.adb
! d07e8ecc6165a0f1a8f59c659580e2d8  gcc/ada/s-stopoo.ads
! b84e3b5760c0d3f13c6436a99f7b992b  gcc/ada/s-stratt.adb
! 36567af6ad4984733ba35f9e2e96337f  gcc/ada/s-stratt.ads
! 934e76257a7002f3ec9998ef73c7c7e6  gcc/ada/s-strcom.adb
! 0384c61e05fb47aa0f1bb30506224a30  gcc/ada/s-strcom.ads
! 21364781ccc3f75c8d21b14b024686d0  gcc/ada/s-strops.adb
! b4afa477f3300c057e359ed9445d21f7  gcc/ada/s-strops.ads
! 30ba4d5da18129a7b9ebe12264b8f356  gcc/ada/s-strxdr.adb
! a2ddfde03e350e4c312e6d00486f0118  gcc/ada/s-taasde.adb
! 7a34c52c55f7c32be7f183e48f1344ce  gcc/ada/s-taasde.ads
! 2c229f7d617dd30f8b46ea603ba63c6a  gcc/ada/s-tadeca.adb
! 15a83d088796e0a31f1cca26e2df5964  gcc/ada/s-tadeca.ads
! 2ac9d9bdbe856ec8c2b3a20aaaacc6d3  gcc/ada/s-tadert.adb
! 10817739c7de59d1440562e07a7eaccd  gcc/ada/s-tadert.ads
! 99eeaf4d410b86464a7e8efb09747a46  gcc/ada/s-taenca.adb
! 814d50022ccb3deb138d043192644c08  gcc/ada/s-taenca.ads
! 6f700093818831ff7ba1f314583e1a8a  gcc/ada/s-taprob.adb
! 26d005113522a6b88d5eb2a625dccdfe  gcc/ada/s-taprob.ads
! fd357f4b760a7148197d97cf5ebdc0df  gcc/ada/s-taprop-dummy.adb
! 90b2d3d570cfbdc697f8ad88b821bd9a  gcc/ada/s-taprop-hpux-dce.adb
! ba9985e9d79ba605f48dfbb3f0275b01  gcc/ada/s-taprop-irix-athread.adb
! 05c1e565c60130f1deb3467d8e2c288e  gcc/ada/s-taprop-irix.adb
! 03c9783ec56a554ed2075dccec4a241f  gcc/ada/s-taprop-linux.adb
! 25ac0d95b66e30690cf425b6b76d40ba  gcc/ada/s-taprop-lynxos.adb
! 9b9003faa51e9f16e4c610d4289aa7a2  gcc/ada/s-taprop-mingw.adb
! ec75347c257421973088eed780201be3  gcc/ada/s-taprop-os2.adb
! df6e52e4d32bde7882cbd4cc44ad9fea  gcc/ada/s-taprop-posix.adb
! 72a1e3831de2fff6f72a2b39dfc5baab  gcc/ada/s-taprop-solaris.adb
! 5b7dfbc50386597084a987845b2b0a13  gcc/ada/s-taprop-tru64.adb
! ed72cb1eb7a08cf3dffb423643e76be6  gcc/ada/s-taprop-vms.adb
! c1c21c14411f01bcbded82342721041a  gcc/ada/s-taprop-vxworks.adb
! 9a7c6950ef49dbe03e604dddb6bd57be  gcc/ada/s-taprop.ads
! 03012a5ff752876a3f06247809361d8b  gcc/ada/s-tarest.adb
! f41ef94013ae64744a130d6e5e059fcc  gcc/ada/s-tarest.ads
! 5deddccb1cda63bfac8ba47c4d774507  gcc/ada/s-tasdeb.adb
! 80f5105fc73c754d724ebe3be150450b  gcc/ada/s-tasdeb.ads
! f1f14318b2048caf7ec7c2df47a7d04c  gcc/ada/s-tasinf-irix-athread.adb
! 04767ed3e7ecb8404fc5be8eb702b08a  gcc/ada/s-tasinf-irix-athread.ads
! 8404af95ad586f9663d5b4bb74f2b5c2  gcc/ada/s-tasinf-irix.ads
! f3420d99d67f23c289631c5531bf5576  gcc/ada/s-tasinf-solaris.adb
! d25bfd1fb80051fcc4602be176c61b24  gcc/ada/s-tasinf-solaris.ads
! 5c597e23bf0d7467f786150f2ca5152c  gcc/ada/s-tasinf-tru64.ads
! b7dcb5e0b933abb4cedb9f7f6f175832  gcc/ada/s-tasinf.adb
! cd3f2faefd8bf4120d95c1134865d36e  gcc/ada/s-tasinf.ads
! a177e296325ec65eee0a72358a93778f  gcc/ada/s-tasini.adb
! 70238ee21ba3d51a6abd1edba9584304  gcc/ada/s-tasini.ads
! 7eba538e83bac08eec90c49c54384b38  gcc/ada/s-taskin.adb
! ca731a8cf4a44dade1269b3d7511bc6e  gcc/ada/s-taskin.ads
! ea7627d2294f346b65f028bb69b37892  gcc/ada/s-taspri-dummy.ads
! 3fca1449846d25b40a022f90f4a59e3b  gcc/ada/s-taspri-hpux-dce.ads
! d42fe0b357a26ee02d2818738326f71e  gcc/ada/s-taspri-linux.ads
! c66ea109b05d5b087044c7fc5b91c3c7  gcc/ada/s-taspri-lynxos.ads
! 0e825c5c3e6e726940f00a89cc7c4eaf  gcc/ada/s-taspri-mingw.ads
! 2b1f83335f65f2edff8c93b9e05aee6d  gcc/ada/s-taspri-os2.ads
! ebc94655df0d68ac6dfc96e855a3ffb3  gcc/ada/s-taspri-posix.ads
! 46e2ffda946fce31aea7f169315d4398  gcc/ada/s-taspri-solaris.ads
! 346497b8f677224dbe1008f8656ae857  gcc/ada/s-taspri-tru64.ads
! d4d1ce3fa1eacbf65392a49e4a68353a  gcc/ada/s-taspri-vms.ads
! d4cdea56cb3e5917b0342a985dd59a63  gcc/ada/s-taspri-vxworks.ads
! a3ce482610a20dc068a5ff13f769a865  gcc/ada/s-tasque.adb
! 26e979a215a2029040dafcd2483ac744  gcc/ada/s-tasque.ads
! 4a48a4306b447267e7aaf640e46db415  gcc/ada/s-tasren.adb
! 377523c783b2a453690c1ce22c9874c1  gcc/ada/s-tasren.ads
! b5ebc844760d704427674bf27dbb4cd7  gcc/ada/s-tasres.ads
! 5a85613f372dfd7147e1f5c247dfb60f  gcc/ada/s-tassta.adb
! 8bfa559334181d89709e87fa4a2aca36  gcc/ada/s-tassta.ads
! cf19de40020c5d7a6c256a00a77ff6ab  gcc/ada/s-tasuti.adb
! 1633cdbdb1441e2317d1faa8df238656  gcc/ada/s-tasuti.ads
! 2156b15751db33fe2b71f0904486728e  gcc/ada/s-tataat.adb
! 1433a3f125ef24228cb6b196f9b3ffec  gcc/ada/s-tataat.ads
! a0a1fcd5fc222087a37fdb6b046f7106  gcc/ada/s-tfsetr-default.adb
! 15bd1ba7359b6a008a58df29a652bfa3  gcc/ada/s-tfsetr-vxworks.adb
! 0f8facca27f43350095fef78d3c57861  gcc/ada/s-thread.adb
! 4d70adeaaf695f604f748011e641fbff  gcc/ada/s-tpinop.adb
! 2984d19dbfeeb3a272991e73a2cb3598  gcc/ada/s-tpinop.ads
! 47550145dc8266f4d8d681e298c4c152  gcc/ada/s-tpoben.adb
! 4a6b12aa50b694d5937b9d20597dd5e6  gcc/ada/s-tpoben.ads
! 58b06fa1f5a57d2a15b5448b49a58d5a  gcc/ada/s-tpobop.adb
! b71b45da801e1870ec40fe5b7dfbf4cd  gcc/ada/s-tpobop.ads
! 25c5a035c442be558f620e04168c200c  gcc/ada/s-tpopde-vms.adb
! 8bd317080022a0f3ddcf673d4a1d8474  gcc/ada/s-tpopde-vms.ads
! 19215b5ba21983642b1e3eb43ad04f91  gcc/ada/s-tpopsp-lynxos.adb
! 58e442eac7b8d30d95f3fc5930e69f65  gcc/ada/s-tpopsp-posix-foreign.adb
! cc6c3a33d1527d920e2dbb0adc38bc61  gcc/ada/s-tpopsp-posix.adb
! bb1f9399c6eb5a6c67183339546bd3cf  gcc/ada/s-tpopsp-rtems.adb
! 1e46851201ea9fb7b6bc7690b41b5104  gcc/ada/s-tpopsp-solaris.adb
! 8c05bdf1a29e74cfa0ede8c99022b15a  gcc/ada/s-tpopsp-vxworks.adb
! 01046ce0c42d5fd3ff60e679e198eade  gcc/ada/s-tporft.adb
! 400e29965b594d46e2a23be5ce7fad68  gcc/ada/s-tposen.adb
! 2adcff79bd3bf007aa5ade84a3529cba  gcc/ada/s-tposen.ads
! 67c8473c8654d0b18a47e915795e31c9  gcc/ada/s-traceb-hpux.adb
! 0557b8b059913110276aa29018d1bba7  gcc/ada/s-traceb-mastop.adb
! 6bcfbc089c1d20f039f28b48b28211fd  gcc/ada/s-traceb.adb
! 413168c1faab9bdd490b71d600411a7a  gcc/ada/s-traceb.ads
! 8d4f6d3b49ed3a081faa922c59ea9f3f  gcc/ada/s-traces-default.adb
! 14af7ad37db120ec8e306a781cfb83a2  gcc/ada/s-traces.adb
! 67a22a2a10348d625be9320c7898d5f9  gcc/ada/s-traces.ads
! a9e71f1d6e68bfad86200ed598adbb49  gcc/ada/s-traent-vms.adb
! 8146f91c0f1e53831ca46f8887b00503  gcc/ada/s-traent-vms.ads
! 4cd225b7ec3161f082f65b2d0e849026  gcc/ada/s-traent.adb
! d34634f690d56153d24355e113d45173  gcc/ada/s-traent.ads
! 93e87c25d41d5f9777d460ed9440804d  gcc/ada/s-trafor-default.adb
! 7ba88114f79466f907e5a4a1f4c8bb8d  gcc/ada/s-trafor-default.ads
! b80edc0810a1b991d8f01b6be29e1df0  gcc/ada/s-tratas-default.adb
! e30ac6ec6652cda503d5579164ff1667  gcc/ada/s-tratas.adb
! 2f1123c97be66cb8e7f3b32ac5c213cc  gcc/ada/s-tratas.ads
! 214d458d6fabe04450968a833a45783d  gcc/ada/s-unstyp.ads
! 64e13ec79ffc9ac886eb33e4f3cf49bb  gcc/ada/s-vaflop-vms-alpha.adb
! 7864d644ded9c28da338aa257a358e91  gcc/ada/s-vaflop.adb
! b57db9d88da51af18041b8f3dd36762f  gcc/ada/s-vaflop.ads
! c4b3b25ce34627daa585b9c4d6b360e7  gcc/ada/s-valboo.adb
! c14a9e60383f05120ed85b71893bb2a4  gcc/ada/s-valboo.ads
! 3bef6042808a3374b761bcf61836f333  gcc/ada/s-valcha.adb
! 36c6d5e0ba3fb3751a7ab62ea6de655c  gcc/ada/s-valcha.ads
! aa42ff07a32873be808df3cb09ee5237  gcc/ada/s-valdec.adb
! 677a0375d9a17a3652f93bacd4cf55f7  gcc/ada/s-valdec.ads
! 5ac6adbba408440ed3bdb039e8b892b1  gcc/ada/s-valenu.adb
! 5d3aef291bf4d4ebd2f622784a24bb72  gcc/ada/s-valenu.ads
! bf10baf8f72b60c20ab240e324385c34  gcc/ada/s-valint.adb
! c2104bb00d51a832eca1f1acaa3e03fa  gcc/ada/s-valint.ads
! 79608f75d19446d09ba29694801b6b8e  gcc/ada/s-vallld.adb
! 9c2d6206992165ff903a00d54a7b7690  gcc/ada/s-vallld.ads
! 9de5aede7f5a8484c0422e174f2b9df8  gcc/ada/s-vallli.adb
! b716daf6f3df6c113f8b1e2e4d714ace  gcc/ada/s-vallli.ads
! a4a4a138c5d7dd661b9b2406d34bd7bc  gcc/ada/s-valllu.adb
! 57a4ae59990dbbde430faea6cc856e94  gcc/ada/s-valllu.ads
! 8e6791a926689e1a5823cf8d618766dc  gcc/ada/s-valrea.adb
! 9e4d421a9b8590e94de1027394bac326  gcc/ada/s-valrea.ads
! fe9f5150e8b295bef2ed021dbbf411bc  gcc/ada/s-valuns.adb
! 53ac320a30db7c64710890edbf6e4cd9  gcc/ada/s-valuns.ads
! 6e3e67c9b590f54b6f8998f08e0bbf2e  gcc/ada/s-valuti.adb
! 1911566c737ce86033f5d69f99eaa750  gcc/ada/s-valuti.ads
! 7f0b9b5ebcd00bb2deaabfdc5fea4e1d  gcc/ada/s-valwch.adb
! 3d1cce587737e408de28cb98669d8046  gcc/ada/s-valwch.ads
! ca119aa4de512de7a930622df52a38f3  gcc/ada/s-veboop.adb
! 2a29affcc34cd9d77857547a0365c8e8  gcc/ada/s-veboop.ads
! 33e3419b256231403d87f743cca5a397  gcc/ada/s-vector.ads
! c1ce2bf39779166ac1df3cf151967082  gcc/ada/s-vercon.adb
! e78fb2e7657a2bb7806bd8e21faed74c  gcc/ada/s-vercon.ads
! e5f6c9ad10d6e175621d30b2bc89503d  gcc/ada/s-vmexta.adb
! 65663105d0fc453b49747aa832326829  gcc/ada/s-vmexta.ads
! fb0ca0b2d65da5c973fcd50257b252a1  gcc/ada/s-vxwork-alpha.ads
! 4e114e658fe9e2ae3653e1dd8d024893  gcc/ada/s-vxwork-m68k.ads
! 8cef09be1dcbb7a4e4cf808549ba6591  gcc/ada/s-vxwork-mips.ads
! 901f3ad4e6f31b418474d008bf499d5f  gcc/ada/s-vxwork-ppc.ads
! 91dd1f622f1ae5d9803d7cf1e0b91cbd  gcc/ada/s-vxwork-sparcv9.ads
! ad2f73765e7bd1e9fe666c56c4e5eefa  gcc/ada/s-vxwork-x86.ads
! 91a1312b04f451c2fe3fb6d5ee8af797  gcc/ada/s-vxwork-xscale.ads
! 24a04720ca35cbd50cf812e9c35be8d6  gcc/ada/s-wchcnv.adb
! 4bdbaf32b29aaf9615d0b9f95b46aae1  gcc/ada/s-wchcnv.ads
! ddd0e8eb8538efe3e3cf5947dba654b7  gcc/ada/s-wchcon.ads
! 5a8117b3e4febb1f217142362c64b2fd  gcc/ada/s-wchjis.adb
! 916077b821a22d27024f9205e0ad169a  gcc/ada/s-wchjis.ads
! 9b5ff72be35012c51687113e4a937df0  gcc/ada/s-wchstw.adb
! af82a52a45d9d1a25a3b669ae400f86f  gcc/ada/s-wchstw.ads
! 13e8b6019a0e85183f56580e0654bff5  gcc/ada/s-wchwts.adb
! 93d2c82917e05031297ac0b99d5ea639  gcc/ada/s-wchwts.ads
! df69ec84fee4138ba3521a588543366c  gcc/ada/s-widboo.adb
! c06b918308c2c7135735aaa77a4a0db5  gcc/ada/s-widboo.ads
! bb5063c5a174db913f205ddf221c9833  gcc/ada/s-widcha.adb
! c235d66dc72fbaa8393683f79ede8c34  gcc/ada/s-widcha.ads
! b7736e0a8fcebf4789066f708c40cbd9  gcc/ada/s-widenu.adb
! 931b6deb8452c44797b3c61c204a9b52  gcc/ada/s-widenu.ads
! 5377c3f27f3d6624ebd6af8856c51d8b  gcc/ada/s-widlli.adb
! 3c2b74793045dfac541ed4d974ba3022  gcc/ada/s-widlli.ads
! 2dcbb1c16034a8c5c2b65ce9f13dc126  gcc/ada/s-widllu.adb
! 8a6c0547d38120ee8d2d4bce7f051e1c  gcc/ada/s-widllu.ads
! 8c8b256b17456c48498f3082e2315a40  gcc/ada/s-widwch.adb
! 2ec4f736c1221e52b98376f8a5b2c83d  gcc/ada/s-widwch.ads
! e8917bd13aaa75d8b42e20b7404fdd55  gcc/ada/s-wwdcha.adb
! be2c55a8f7abb27746f7e7976ed698f4  gcc/ada/s-wwdcha.ads
! 3583579b8d2fe8675ae0c977a0f91dd5  gcc/ada/s-wwdenu.adb
! 0df5da7ea956eba6f6ac7dc9d7c5cfc1  gcc/ada/s-wwdenu.ads
! 3b384b6fc6932ad4f5afff04c0a79c0d  gcc/ada/s-wwdwch.adb
! dd82dbc86cf2c76e238c21df7d1a12b1  gcc/ada/s-wwdwch.ads
! 55fe0afe4349839af69bdc1700880ac9  gcc/ada/scans.adb
! cfc6bcb32491e95e679be016c00700e8  gcc/ada/scans.ads
! 2f81f6a63ede5f24c17778476fa1d78b  gcc/ada/scn.adb
! c8a3d74cb4a78157ef85ebe6d7df06a1  gcc/ada/scn.ads
! 4fdf4008929ec1ab34051c57d7bffe87  gcc/ada/scng.adb
! b91d1fcf17bb74a1963f2fc2b8fa353a  gcc/ada/scng.ads
! 189df994310b603b92cb61b38070f5b9  gcc/ada/sdefault.ads
! fe8b8f8522b4579f450311bbb6c76948  gcc/ada/seh_init.c
! f602831bffeb3cf2f00e797533039e1c  gcc/ada/sem.adb
! 6ed3374873d8d786f7cdfde41c19e756  gcc/ada/sem.ads
! 2cef228b175eb7c77a779863dec98872  gcc/ada/sem_aggr.adb
! 2fa7867e523a286223ecd3b8a52a2f0c  gcc/ada/sem_aggr.ads
! 7d9bc369bd2b4b65fd59420ba14000e3  gcc/ada/sem_attr.adb
! 277985011f152fa6d681f22cbf114e36  gcc/ada/sem_attr.ads
! db86dc1f44a3327f2f21f1003917a9c6  gcc/ada/sem_case.adb
! 29e629233a0c490f5072f12cf932ba28  gcc/ada/sem_case.ads
! e7f39f07f116d5ac43a3bd2c61044bf9  gcc/ada/sem_cat.adb
! 8f61bc33259a5081eb522ddc22458e35  gcc/ada/sem_cat.ads
! 0186563f25e5556cee52e35020fe6a5b  gcc/ada/sem_ch10.adb
! 0d0abd2e623eb930e2d041221ecf6f65  gcc/ada/sem_ch10.ads
! 238c237dab65be33edf459df294793d2  gcc/ada/sem_ch11.adb
! 618f30e2ae7e6a60d24e9e9a7cf82dbb  gcc/ada/sem_ch11.ads
! dc95500632fd5e3b8d544bca9d08fdd2  gcc/ada/sem_ch12.adb
! fbd6351b8dd9b1f488f700d0a50dbb42  gcc/ada/sem_ch12.ads
! 3486b96205ff0f9543caf52a9f72ab99  gcc/ada/sem_ch13.adb
! 3916177aaed134461df693b45f32d6b5  gcc/ada/sem_ch13.ads
! 342e165750f687a77981fd6bb3ef5caa  gcc/ada/sem_ch2.adb
! bbbd33bef0a1199c3399b0836f99c571  gcc/ada/sem_ch2.ads
! 734625e4924a3863502d8c8a392bca11  gcc/ada/sem_ch3.adb
! 189e99c48f47bd60b84f390ba0ae2961  gcc/ada/sem_ch3.ads
! 9ab3b151dba3189ed3e3c8124b053cc0  gcc/ada/sem_ch4.adb
! 31c9e996c4f15c04ca07bbe55d002481  gcc/ada/sem_ch4.ads
! 1ffc190c9f717d4a49d75e0d53af021d  gcc/ada/sem_ch5.adb
! 9b5561d7fe7e7fbe480b67b56c877fe3  gcc/ada/sem_ch5.ads
! 7f34ee7b3167e98f7b0c6953b281cc19  gcc/ada/sem_ch6.adb
! 589903b1e52fbddfae3322c899e7aa1b  gcc/ada/sem_ch6.ads
! 8af06aa2dae005ca9484ef31a57979aa  gcc/ada/sem_ch7.adb
! 94c7f641da57a315ec47682d2b860772  gcc/ada/sem_ch7.ads
! 7313e8fc9211903707524e28045775b5  gcc/ada/sem_ch8.adb
! 1a19ae993eff737ca064f9cd5b7889b5  gcc/ada/sem_ch8.ads
! 1e1d256349e318f1f375f3ef75ba5019  gcc/ada/sem_ch9.adb
! becd3aa032d2f77049f18e904d3a4aa3  gcc/ada/sem_ch9.ads
! 56929ff219816edc366ce4aea04d8355  gcc/ada/sem_disp.adb
! 6c81f3f6696aaeb0f827a9a0fbe44946  gcc/ada/sem_disp.ads
! c349d807f792ffffac1c8c93265d68cc  gcc/ada/sem_dist.adb
! 2d6ae68718627c185f9a2d5f5edb7a19  gcc/ada/sem_dist.ads
! 91f56ae11270e4d25dd8e576b0a7cd78  gcc/ada/sem_elab.adb
! 2d2d3e7aa814783898ebe2fb52c72eff  gcc/ada/sem_elab.ads
! eb576485d44b50f2ec7c04ae39542b59  gcc/ada/sem_elim.adb
! b194e89468d108127ce8c9504ea5dd85  gcc/ada/sem_elim.ads
! 9b15177fe1c917731abeb4e5c993eae3  gcc/ada/sem_eval.adb
! 3653f6dff3eb78405ddfa7c97a04900b  gcc/ada/sem_eval.ads
! 27a73b06810bd638fe4573ce1455e1a9  gcc/ada/sem_intr.adb
! e78adf8a709aa37ff87baed5fa36d9fe  gcc/ada/sem_intr.ads
! a461cad6d69b2ecd920aa36075636571  gcc/ada/sem_maps.adb
! f99da3253b3bec5d0df0eeaddf7eb2eb  gcc/ada/sem_maps.ads
! ad26afeadf07ae5d54b118f9387933d2  gcc/ada/sem_mech.adb
! a80072efaf515a6cceee8a3a80c7674d  gcc/ada/sem_mech.ads
! 61bca01fbacf5ecbea1b9c96e8985fed  gcc/ada/sem_prag.adb
! 0245317d410460ab658f90e942100e5a  gcc/ada/sem_prag.ads
! d506d1f53662143776b74e7051153f12  gcc/ada/sem_res.adb
! 7c830aeab8aa51c0e37d30910a7dbf95  gcc/ada/sem_res.ads
! 24e3f351459fd68a15a1175d3602bb3d  gcc/ada/sem_smem.adb
! 2d964a99047d20828b9bee94b3a8330f  gcc/ada/sem_smem.ads
! 06f5d4e70c94fe4df7278c2ab610af12  gcc/ada/sem_type.adb
! 4935793d0750b21a3786f583aab43059  gcc/ada/sem_type.ads
! 8d43294cbccba681051e5523d878fc17  gcc/ada/sem_util.adb
! 2c8aa94de33f800e961f28ab784f9309  gcc/ada/sem_util.ads
! 6c8b11390f678dac8a0eb5e3be6d4b94  gcc/ada/sem_vfpt.adb
! c001fb1556f3c287957109dff3c55dfb  gcc/ada/sem_vfpt.ads
! 252b926e4ab39b256620f9394597efa2  gcc/ada/sem_warn.adb
! 97164b827c37c9dc3d77b865f24a0438  gcc/ada/sem_warn.ads
! eff0ac4acd2ab040858d7c8e92770219  gcc/ada/sequenio.ads
! 58367041fe8caf7625544f295aa9420e  gcc/ada/sfn_scan.adb
! deff4ec697e3fd4aa736fbc3499b82eb  gcc/ada/sfn_scan.ads
! 3ad2e7c963d4dfc6a9edb310aca37e48  gcc/ada/sinfo-cn.adb
! be6f8547b4847a849951561f11d301a3  gcc/ada/sinfo-cn.ads
! 7f6f0d9d842e97e9df8ea6f43577b058  gcc/ada/sinfo.adb
! 71b0c3400dce3847e51977134898ff3b  gcc/ada/sinfo.ads
! 12cc74df2c773a7685242c27a11ab7dd  gcc/ada/sinput-c.adb
! ba709ee25e973f6920c5addddf6e4a8a  gcc/ada/sinput-c.ads
! 84506a9525874b92248b377aa43c8b29  gcc/ada/sinput-d.adb
! 6839c4a29c40f33a262e2292a6c00b62  gcc/ada/sinput-d.ads
! 976a1e629c354a950c7fdd46951113d6  gcc/ada/sinput-l.adb
! 9d4e27b4012a30263c6ab435bcee8998  gcc/ada/sinput-l.ads
! eed7bf462842ce66325acf86157b430a  gcc/ada/sinput-p.adb
! 5127919cea6fca8217fbc566f0e67b9b  gcc/ada/sinput-p.ads
! aa36e173e1473931b3370657ae122c71  gcc/ada/sinput.adb
! 7acddc02fc34aede2c3dbfee6a900648  gcc/ada/sinput.ads
! 54ee2ce2e94f67cfef3246c464ad73a7  gcc/ada/snames.adb
! 54d3527d5448b19251101a22da611d49  gcc/ada/snames.ads
! 12ac675d12a78fd5fe77ef56b231eab9  gcc/ada/snames.h
! e229a6b673e842b1cf3a4301690e09b5  gcc/ada/socket.c
! 54586532d3d2e2038b73b8dd4f1e2232  gcc/ada/sprint.adb
! 14fa09ba32094ddb8c8bb35c97f6cc02  gcc/ada/sprint.ads
! 1345f5c7d82d3975e223276fce95f75b  gcc/ada/stand.adb
! c7b31905eafcc84ee7667a656a456f4b  gcc/ada/stand.ads
! ef6569a2f3dee8b5c9de148c88bfd340  gcc/ada/stringt.adb
! 78504c0bf21f9587b364e6dc5c6290f5  gcc/ada/stringt.ads
! 1595cf4849923553febf03c00a9af021  gcc/ada/stringt.h
! 61b1fc7e09e9384f257bf86652a4def1  gcc/ada/style.ads
! 2ef3ef84441970ff7482b52e4768612c  gcc/ada/styleg-c.adb
! 77adec648a838532ff3b7185c35b1f23  gcc/ada/styleg-c.ads
! ac0a445b58c2b8ad36ac648b923c4f14  gcc/ada/styleg.adb
! a4752f9c98b997f601c296b1b176857f  gcc/ada/styleg.ads
! b4349845ef1fb4e64cd0a6c74c31154c  gcc/ada/stylesw.adb
! 9f64b072fd2bd37c5bdb675a268b8695  gcc/ada/stylesw.ads
! c9fcb555f80bca03b721fadea5119391  gcc/ada/switch-b.adb
! 05595840e5499da53edd9e352bbcd4c2  gcc/ada/switch-b.ads
! 1e000f3be0e293c706c3afbb861de486  gcc/ada/switch-c.adb
! 9a9344995630035f56e579b3718142f0  gcc/ada/switch-c.ads
! e2a13293abaf44a4c899299e46ca1434  gcc/ada/switch-m.adb
! ab1025512e257c0fb33ee6a4c3e5872e  gcc/ada/switch-m.ads
! eb5e87facdba82df58285df0d00f3ae8  gcc/ada/switch.adb
! c60b3f696e2b5ec1276d65fc37bfe2a7  gcc/ada/switch.ads
! 354b374f6ace76191361bfb218dd04c5  gcc/ada/symbols-vms-alpha.adb
! 2625d3d5d73037d825b2470e4b46bf18  gcc/ada/symbols.adb
! 709b3972638ec12fc94cc355b248540d  gcc/ada/symbols.ads
! 8ac654c5831413344f180d40ee864fce  gcc/ada/sysdep.c
! df3302356640da90f0ac4a070ef9aa2d  gcc/ada/system-aix.ads
! 1a7a6209c60d00fbbf53fa732da02b28  gcc/ada/system-darwin-ppc.ads
! 5da4c546b8769c3a0e5579f1a50d1cb9  gcc/ada/system-freebsd-x86.ads
! 462f79e32995a757d7be24000f28f50a  gcc/ada/system-hpux.ads
! 0cf5d5a60816ee8f3a61ae02eefc7baf  gcc/ada/system-interix.ads
! 007aee35e1358f82a69b28c54ab17a2b  gcc/ada/system-irix-n32.ads
! 9a2ddbd138c1396d69ca9a8319712a08  gcc/ada/system-irix-o32.ads
! 5a609b3072467491b88ff76dbac25ef5  gcc/ada/system-linux-alpha.ads
! 682fbc74db29156eaeb7fc850a35349a  gcc/ada/system-linux-hppa.ads
! 7f4d8deb2b91bbd7d4eaad6a1fd71d15  gcc/ada/system-linux-ia64.ads
! c14dc9f45e6b4eabebea6548fc5f6f29  gcc/ada/system-linux-ppc.ads
! b34cf0102f40b29e688ca4799d230f64  gcc/ada/system-linux-s390.ads
! fd9a3e0ddd2aaac5c4f5ec36140cee5e  gcc/ada/system-linux-s390x.ads
! 40dcab9524a7704d9dc2239fa5aa60ab  gcc/ada/system-linux-sparc.ads
! 92b2ffb0b53274da685cef7c6f1ce155  gcc/ada/system-linux-x86.ads
! 6a03a7eee9455ca3cd694bfe0cad09ba  gcc/ada/system-linux-x86_64.ads
! b8c02bfae520591b95be99781b2a78b5  gcc/ada/system-lynxos-ppc.ads
! 09633fa3ef8ca0883750bcb750992d6d  gcc/ada/system-lynxos-x86.ads
! b44410a6e7f7e526a8848651f518c892  gcc/ada/system-mingw.ads
! 1f09d18242ddd7762fb4146cd9ed9966  gcc/ada/system-os2.ads
! 4dff3eb6fbbfff702226e0ead302ea70  gcc/ada/system-solaris-sparc.ads
! 210046b3bfe477649c9c0b6b08b47f8c  gcc/ada/system-solaris-sparcv9.ads
! 472e236568f129d750b661e676ea3c57  gcc/ada/system-solaris-x86.ads
! e1f5b92ad6730ccbc73270de0b7cd700  gcc/ada/system-tru64.ads
! af9bb76e17bf71922991fa5caa9e6be8  gcc/ada/system-unixware.ads
! b74d6f83da629bb403a28586e8cad668  gcc/ada/system-vms-zcx.ads
! 09cc087c0c7f218a3c99853956ba95b4  gcc/ada/system-vms.ads
! 3828f6cec6983710ad81afea0b29e8b2  gcc/ada/system-vms_64.ads
! 7c57309585baf0a29694dba733ece554  gcc/ada/system-vxworks-alpha.ads
! f2e7d5cc2c0e63375a4228e76e3c0a9a  gcc/ada/system-vxworks-m68k.ads
! 4c274bee79980ebb2df4fe1c75bfaa05  gcc/ada/system-vxworks-mips.ads
! 8c638551451b40d42c1c3a3647371f67  gcc/ada/system-vxworks-ppc.ads
! 0dd4630817888a8d785290ee240fb6f4  gcc/ada/system-vxworks-sparcv9.ads
! b7644bed171c3f90f1ea1a91bbef19fe  gcc/ada/system-vxworks-x86.ads
! be9258452c233af2fcfafb6604aeb8b8  gcc/ada/system-vxworks-xscale.ads
! d396eb59dfbff1859ffc8093aca763c7  gcc/ada/system.ads
! fb61f9bf1bb06cf1b164c32da0673afd  gcc/ada/table.adb
! da14f5df2798690182d7a2032595aa6f  gcc/ada/table.ads
! 6f15221a2e500db84e4731600ecccf85  gcc/ada/targparm.adb
! ebc11a80573d48ff9cbad96679930b4a  gcc/ada/targparm.ads
! 150c1f8b8e4301d43c583ac97c8000d3  gcc/ada/targtyps.c
! 907bc51906a9800d9719f2613ba725b3  gcc/ada/tb-alvms.c
! a77975a17a063d70d79d61fe4105ea72  gcc/ada/tb-alvxw.c
! e9fa442db596100b9938b24b96e856b5  gcc/ada/tb-gcc.c
! bf8555486ae4e9003786f098500c26c8  gcc/ada/tbuild.adb
! 73484458cea50e6555af3b1cbaf66d71  gcc/ada/tbuild.ads
! da4f1ef4c5546e0b43161a14be4ed6b5  gcc/ada/tempdir.adb
! 797b8acde1dc4889010ff10e209c8bff  gcc/ada/tempdir.ads
! f5717a7760fca3b94072e1a9ca647291  gcc/ada/text_io.ads
! 65ac74bd6f676bd42c116c9978c0e4ca  gcc/ada/tracebak.c
! bc1e066a7a5cb7d03debcff9b65ba012  gcc/ada/trans.c
! 4ee604fc49a383e5489845161c250b00  gcc/ada/tree_gen.adb
! c0a26ebf76a3ca08bb9c19229536a510  gcc/ada/tree_gen.ads
! 00ce657f8a61f603e044e1ee3d136b7b  gcc/ada/tree_in.adb
! f05f50ead0f88c5143fd2d24cfa3e860  gcc/ada/tree_in.ads
! e1b94dbcda2ca815bb2eeecb063273a1  gcc/ada/tree_io.adb
! 960b494944ca2753245e4c9ba5b58536  gcc/ada/tree_io.ads
! 600e97103a47d061d05bf28c61d90859  gcc/ada/treepr.adb
! d771b2470d516c9782c85dc7a3b97903  gcc/ada/treepr.ads
! 51a56ef22831b99523ec2c779765418d  gcc/ada/treeprs.adt
! ad91a479969fa8810534bd0cc11dd7b0  gcc/ada/ttypef.ads
! 3a4079f3cbeb165958b13b34b938c660  gcc/ada/ttypes.ads
! 625018a85f5c58c8204cae15d59b6cc2  gcc/ada/types.adb
! 62e92a1a5e91c75e4076af8397c53826  gcc/ada/types.ads
! cf1f2505a801c988b49957ea64f84e48  gcc/ada/types.h
! 5ec9671be8f1e8fea90e3146abb27faa  gcc/ada/ug_words
! cc3282b4f59045d0a181fa3ca60183bc  gcc/ada/uintp.adb
! 3cc2f47e8c52968370a973670fda7169  gcc/ada/uintp.ads
! b0a5053534cc039f0a90f7b2a483f068  gcc/ada/uintp.h
! 649186adeb69e8a878d9846fb17c8ab7  gcc/ada/uname.adb
! 2e0137be49c2e58672771b80ca09eafa  gcc/ada/uname.ads
  e2f3062fb49f7d82b4833291fa40307c  gcc/ada/unchconv.ads
  6bd5a24fef448adde6298f4677bb14ce  gcc/ada/unchdeal.ads
! 7f8d2b9ddb2c580f308fe010cd1b4ff9  gcc/ada/urealp.adb
! eb0f01faaf23aafd4b999badc1302b38  gcc/ada/urealp.ads
! 62d004f0ecd1dc03ee3a3b0575f49767  gcc/ada/urealp.h
! 91fabfcdb8739d62e76d3ac277ebfca9  gcc/ada/usage.adb
! 7c4ba7bfa06a4aa92d14f8a6c38091aa  gcc/ada/usage.ads
! b16230c794be67ac5e79bc2d54a08cea  gcc/ada/utils.c
! 15206ef508652341681ca56bc8b6fcdc  gcc/ada/utils2.c
! 8f1ff30a03238bdd6c707fbd98c36f4a  gcc/ada/validsw.adb
! ce3f24d2aa8662ac1c909c4cd92031f0  gcc/ada/validsw.ads
! 8f63dc9282304fa1eead8bd4e0a88b17  gcc/ada/vms_conv.adb
! a483f91a5a9c4a0e483d0fdac523554e  gcc/ada/vms_conv.ads
! 259b639c014ba28ea0dfabfb1ff4006c  gcc/ada/vms_data.ads
! 938994f91ed391c1f6e5ce8cca3a7bd3  gcc/ada/vxaddr2line.adb
! b9e819d8cd30af44af4ae367a31d782a  gcc/ada/widechar.adb
! 96826d67b1dd18255ff3e2863025d8c7  gcc/ada/widechar.ads
! 7840fcbd3ef32024b80396fbf532a8bf  gcc/ada/xeinfo.adb
! 25f98ffc5c38d51db36beb949e5d040d  gcc/ada/xgnatugn.adb
! 164d80457843e39cf48814d52d103054  gcc/ada/xnmake.adb
! 0a66002038a229066a9c7dd51f9cd9cc  gcc/ada/xr_tabls.adb
! c1c3d6d7292eb3754fa7deb5dafc2e98  gcc/ada/xr_tabls.ads
! 344279794c036b0e144c5f3ac5f24914  gcc/ada/xref_lib.adb
! 35f9c53cce7ba90dcd2361c0f0da48aa  gcc/ada/xref_lib.ads
! a2e18664780250935fdeae3c32d6c27c  gcc/ada/xsinfo.adb
! 225d9524bcd5f2443f1e120c807d8806  gcc/ada/xsnames.adb
! 441eec42f886ec460c3c2c96a5e4b64a  gcc/ada/xtreeprs.adb
! e433b6705d3e4540b0fa7c7358cd96b5  gcc/alias.c
! 177cc307dc0e6190a724d244f7fe12ec  gcc/alias.h
! 2a5d8bede1f1595845755275abe3e2ed  gcc/alloc-pool.c
! c279ff553669b088052503283575eb05  gcc/alloc-pool.h
! ad91143ddcabf9fff945688894115770  gcc/attribs.c
! 5a9683177e557f911f8d6d8ae5dd9395  gcc/basic-block.h
! 9cd1d1c99e8ae94a03e85fb302f7bd00  gcc/bb-reorder.c
! 5d705d8743fc02b15da91a339c0e5b2d  gcc/bitmap.c
! d46f7b6d4be9ee3d6e2c695f66fc1af8  gcc/bitmap.h
! 88cd1483fc65c4cbc4ce914159bcf94f  gcc/bt-load.c
! d05292691f8390feba80bf188ee2db83  gcc/builtin-attrs.def
! ca5a1c15add0fa9991f95599217443e5  gcc/builtin-types.def
! 6ef309b0ba1d43641578d77db7eb6339  gcc/builtins.c
! 486e3e1e12ab18d880e1bd9c09e3df8b  gcc/builtins.def
! 1f28c163b66b6a1efb4d09eded94dbb8  gcc/c-aux-info.c
! 8cdd8cdd3eeaaf4dc8f09efba6999e28  gcc/c-common.c
! 4c1fe0ff324a8e13de821616c34f8ab6  gcc/c-common.def
! 8aa035029f354f489cf8810fc62f5091  gcc/c-common.h
! 8447e935bc81dc31a1f016d8dda2bd42  gcc/c-config-lang.in
! 68965575f63fe30d6c7160763e4ca0e8  gcc/c-convert.c
! bd51b483880bfd4bc92796628ec27f7e  gcc/c-cppbuiltin.c
! eadc7a3ac36358f6937558820e87c6bb  gcc/c-decl.c
! 199c9a78c187e91326821d29c91e9a75  gcc/c-dump.c
! 0e352d21c5723c8e93ee96f840e4fbb5  gcc/c-errors.c
! addd294ba246c89072627e77352b4344  gcc/c-format.c
! 861ba09c8f22365bc6dd4295caa8842d  gcc/c-format.h
! 42c5e999f435f95d94815ff8e601856b  gcc/c-gimplify.c
! 4548b5c38236552ce8db988b915c2af0  gcc/c-incpath.c
! bec6fd3e2e0c8fe102c83b0d09ef4c82  gcc/c-incpath.h
! c752adb9b362091eb7bf0f27f8cd11f8  gcc/c-lang.c
! 13a13fb4cea2814399c5699234a3da40  gcc/c-lex.c
! 636de2398cbf8ec90c95eb2327d43607  gcc/c-objc-common.c
! 62fe9f1b80f437d42bee19c940df1a37  gcc/c-objc-common.h
! 78d1987d273e7641116f5d5eb9c478f6  gcc/c-opts.c
! ba1d3509546e54c04b1b8f5de0f577a6  gcc/c-parse.c
! 7c115dc32a16e55982dc91de54c8c786  gcc/c-parse.in
! 6e4e6e6e7e36f600cf4d148657cc61c6  gcc/c-parse.y
! 826eaa8c876d12cda19afce93031b3eb  gcc/c-pch.c
! 0cb8ba2b9d11d89e5ad2a59a59f0e7cd  gcc/c-ppoutput.c
! df565adb8eec0681c537eeebcbc419e1  gcc/c-pragma.c
! 045326316e3bb0c1f7ca3d49a04654ec  gcc/c-pragma.h
! f5bd239183a57192ca841f64f22d99d1  gcc/c-pretty-print.c
! c5dc78a9a07dd45cf2dd64dabf378ef7  gcc/c-pretty-print.h
! 917d2fd2f85a15e2ff3cb22a83673191  gcc/c-semantics.c
! d010e6b12d480c5df9491b6a37e1e1c7  gcc/c-tree.h
! ebe1ce18d9db967fb74d7913a6af3171  gcc/c-typeck.c
! 488aa7ed88c58a9ce9b0ecaf9c8ea3d6  gcc/c.opt
! 6b867238ed9c316a272ebb0062efbcc2  gcc/caller-save.c
! 86dc20b28c64609b353cba8e22975759  gcc/calls.c
! 0a4a04996c6bdb190fb0ad375f6e1690  gcc/cfg.c
! 1e8d68862212fdb99f7b29c94dee48b7  gcc/cfganal.c
! e6307fc5435ec40004e456710be1e915  gcc/cfgbuild.c
! b6d8b1bb45b19ad7540cc361dafd304d  gcc/cfgcleanup.c
! 95d9e17b1eaa5e39ec6099cf0165dc4a  gcc/cfgexpand.c
! 6a6d94b7f433245eaef48634ee226cda  gcc/cfghooks.c
! 0185ca070d576e2a85cc20eb5b6f3786  gcc/cfghooks.h
! 7dde5b0e4c56769b3ba7f9870c763e0f  gcc/cfglayout.c
! cca2206f9e8e499da143c74276f3d2ef  gcc/cfglayout.h
! 6ec0ae4263307b0c1a6eef46e656bcec  gcc/cfgloop.c
! addcf9b308ad20fbde03b74efd9a79c3  gcc/cfgloop.h
! 6cb834a86d77c7e4b4bd00c29459b213  gcc/cfgloopanal.c
! e308a3f8abbbf76fef2c29ab61c93250  gcc/cfgloopmanip.c
! 8a0ac4b5d26505829627b54b61fb1aaa  gcc/cfgrtl.c
! cd8aa2f042490506cf074a85356ecbd2  gcc/cgraph.c
! 06e305c11d88723e636fce0d9a8028ca  gcc/cgraph.h
! b280b334cfd207644c0bb624c38dbbd8  gcc/cgraphunit.c
! f7805d879cf608e6323039cc21ace978  gcc/collect2.c
! 55cea40dd56ebb7bc8ce9d614994b678  gcc/collect2.h
! a9549c7816c041fc747e646bb3a55bbe  gcc/combine.c
! 1cdc9f111d52d177f2de73d062a40b0b  gcc/common.opt
! 153eba9df77c122c16c81291535eb8b9  gcc/conditions.h
! 7268433f5f31ab6d3e611f124107d987  gcc/config.build
! 464be66c0217b345c0c5864cd22de25f  gcc/config.gcc
! 0fa5156f5e54624d644707a8fe2de1b6  gcc/config.host
! 928d1b1b3955d97d00e30ed4c0d347a5  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
! 1fb82997e7420ae305e28dae41d7d828  gcc/config/alpha/alpha-modes.def
! 33b2bdc5ac9d1f0a96ea589e80992679  gcc/config/alpha/alpha-protos.h
! 8d0e553d0a68e061da139d393847f530  gcc/config/alpha/alpha.c
! a8d071810464daa26a90cb5b2ab0a6b0  gcc/config/alpha/alpha.h
! 5af8cc39ccf843b64047e6791e61caae  gcc/config/alpha/alpha.md
! b871fa4b646882b6d3edc34b07418cdf  gcc/config/alpha/crtfastmath.c
! f8b43ce21e17483c5615aeefcaa5e048  gcc/config/alpha/elf.h
! 7e994c87429724ac560cdf2229169e17  gcc/config/alpha/ev4.md
! 246a9a994766c387570bb3eaf0488b4f  gcc/config/alpha/ev5.md
! e31ab09fd01a8881ecb73531cadceed5  gcc/config/alpha/ev6.md
! b437b0390a031bbbd42654c955b9f3c1  gcc/config/alpha/freebsd.h
  d659ad53dc967d1a45c264dbf4f0f317  gcc/config/alpha/gnu.h
! c884eadf2ce393715f69fec7587bf2c1  gcc/config/alpha/lib1funcs.asm
! 50b6896f1731ba0084b1e6bdc6c6fec3  gcc/config/alpha/linux-elf.h
! 561a7a158698ec07f80af68d3abef76d  gcc/config/alpha/linux-unwind.h
! eb73807deb35d86960faf709ba30e670  gcc/config/alpha/linux.h
! 4741127fdb095460f058ecf21c1ffbac  gcc/config/alpha/netbsd.h
! 87ebb3978e34ff600b121dff3bd1540b  gcc/config/alpha/openbsd.h
! 4e512776d43e1f3be6f94b6b31e80067  gcc/config/alpha/osf.h
! badb0143395e80583210aa4ab17150c5  gcc/config/alpha/osf5.h
! 5b056980ee89fdba127e6052b2da46c2  gcc/config/alpha/predicates.md
! 0cc2c89dbf093a50f967387b828962be  gcc/config/alpha/qrnnd.asm
  3bbb1cf81aa0513ee0ee3521ef1a7275  gcc/config/alpha/t-alpha
  985c6b7b42c51c99cd3459e0f60e6158  gcc/config/alpha/t-crtfm
  b779aa9db141bfd9c1272f8d21e4b00e  gcc/config/alpha/t-ieee
--- 448,2310 ----
  b6494e752821a4f87a2114c27143856c  fixincludes/tests/base/unistd.h
  4f59f83f073afacc3f59c39952ec8a7b  fixincludes/tests/base/wchar.h
  f86a4ea6000eba71d34c1b9a7bcd2c14  fixincludes/tests/base/widec.h
  174528657da1f7a179a039941810b764  gcc/ABOUT-GCC-NLS
! 383f47f8c5f7863987ca8bdee5dfe41a  gcc/BASE-VER
! 59530bdf33659b29e73d4adb9f9f6552  gcc/COPYING
! a916467b91076e631dd8edb7424769c7  gcc/COPYING.LIB
! 8b36cdec20bb445c01c071761a482982  gcc/ChangeLog
! 0bb7e37d0205edea285403fa046364e9  gcc/ChangeLog-1997
! 3a822f7377be7a932e2cbeef86d78d2c  gcc/ChangeLog-1998
! 261732ce4d6e6492812f8c483f59affd  gcc/ChangeLog-1999
! 6ba0341a6a20b2db685f686ba7c55432  gcc/ChangeLog-2000
! 8c0f905caa9a505b73f059696743bbd5  gcc/ChangeLog-2001
! 42004eb18c558573fe6282f731fcc8c6  gcc/ChangeLog-2002
! 7c5889a9b86072d6bec3b51b1b7d3526  gcc/ChangeLog-2003
! a8f41f4af2eaec3f2148f71cfc98febc  gcc/ChangeLog-2004
! 45c6a6eb34ccc2b3a5e271466b85d198  gcc/ChangeLog-2005
  98c5a6533d7e4507aba5dc4fd06014ed  gcc/ChangeLog.lib
  a0a7fda9e71c5bc63284bdefa915611a  gcc/ChangeLog.tree-ssa
+ 7bd55052df662425cb504318e3eb78c7  gcc/DATESTAMP
+ d41d8cd98f00b204e9800998ecf8427e  gcc/DEV-PHASE
  4804423c755a929408412852eb45e422  gcc/FSFChangeLog
  5af5721f6387aa8aa5fb200e025dd573  gcc/FSFChangeLog.10
  f7f665544fb6aa08551b37283f6c56de  gcc/FSFChangeLog.11
  d6c8d8f4cf325cd24a60d312bb247f46  gcc/LANGUAGES
! 5bfaed720d94883edbbf2adb3ad104de  gcc/Makefile.in
  00919fda1a585fdc4a1be1fec2eeb0bb  gcc/ONEWS
  f88d9228718a255b827d6f417063d62d  gcc/README.Portability
  f44aeb578969621358194ef6a8c67093  gcc/SERVICE
! 9dee5daf272979448f45b420acd0a88e  gcc/acinclude.m4
! 8e2bc73f67fed176b4c24e18ca707a7d  gcc/aclocal.m4
! 4b3f30c21ae8661e7c9471611924cebb  gcc/ada/9drpc.adb
! 5276eb5c811cc92cd4c52bf466399a16  gcc/ada/ChangeLog
  ea6b5429aa670cb6f1b4f72087be2656  gcc/ada/ChangeLog.tree-ssa
! fa4af199b21f45463f224ff7051dcf07  gcc/ada/Make-lang.in
! f77cd0a65bdbc1ee3c376fe527c87db1  gcc/ada/Makefile.in
! c568832b7ab1ec4ccd05cce4d445fef3  gcc/ada/Makefile.rtl
! 3ad790c4ac31923f38c796100250f503  gcc/ada/a-astaco.adb
! 8f33612d540e241db7d31ee247ba463f  gcc/ada/a-astaco.ads
! 8372fcbe760f5de7c35390a49ae33c3b  gcc/ada/a-caldel-vms.adb
! 7144190fc61db9a4aad24934fa4c43d7  gcc/ada/a-caldel.adb
! 61f982ce867c6908a4e36fb10529bcea  gcc/ada/a-caldel.ads
! 234754c065414bd380c072258616b62e  gcc/ada/a-calend-mingw.adb
! 7904f4713cd618fff75b2db9ca4c660f  gcc/ada/a-calend-vms.adb
! 96c937abc63fbe73d926f3ff4418e505  gcc/ada/a-calend-vms.ads
! 4e4c91aac348b286a8229a2d0a5d1892  gcc/ada/a-calend.adb
! 55f1d0b046bf046870423a1048a68f05  gcc/ada/a-calend.ads
! c4f273b8ccc43a913d6a4b84e1774ebc  gcc/ada/a-cdlili.adb
! 5b968e16e1f07241efe0802d3048683f  gcc/ada/a-cdlili.ads
! 50bfcf1ad8d21802977104f0a426bfb4  gcc/ada/a-cgaaso.adb
! 2f3e84e67b658fbb4fdb92e255998e7f  gcc/ada/a-cgaaso.ads
! 7b70efc015d612e49338cc4a8311b665  gcc/ada/a-cgarso.adb
! 0a87d8a49b592866f224254c7c3cfc96  gcc/ada/a-cgarso.ads
! 0024dc41198bd391a118428824513af5  gcc/ada/a-cgcaso.adb
! f8a49a810585b943fe48527aa2768980  gcc/ada/a-cgcaso.ads
! 8f3d60bc251b10bfe6b2f1abab928530  gcc/ada/a-chacon.adb
! 7f1b1c294937603d6b01ad0fd4798b69  gcc/ada/a-chacon.ads
! 53c609adcd8a312e10c5267ae5736c26  gcc/ada/a-chahan.adb
! e6c7f0e63fc6fd2f885fb09f597beee3  gcc/ada/a-chahan.ads
! d49394f0159176e39530d27bf3d2e5a4  gcc/ada/a-charac.ads
! a5b0ff20187b4e313846713d26c1bd1f  gcc/ada/a-chlat1.ads
! 5e84c9801c90f30d2d715b87133e358c  gcc/ada/a-chlat9.ads
! bbb2fb27cafafcc9848bf011ceea056a  gcc/ada/a-chtgke.adb
! 5e2e8d814924836276506c1d722e1a4a  gcc/ada/a-chtgke.ads
! 9dd9b5bc67069b0dbdc9f4fb47809a8b  gcc/ada/a-chtgop.adb
! 7021067f0c2b04a77c8d18e77133bc45  gcc/ada/a-chtgop.ads
! 4976a32b72fb326f3524c2275ff7dc60  gcc/ada/a-chzla1.ads
! af2a9daa78ab192f6f9b233cc11fedea  gcc/ada/a-chzla9.ads
! 5b42bea9412f71e66afd178a2f3ef2e8  gcc/ada/a-cidlli.adb
! 65d36213f654a6feba277a38b4fdfaf8  gcc/ada/a-cidlli.ads
! f4f14f27ff02e15f38af8cc89c10f5f2  gcc/ada/a-cihama.adb
! 11f831f764863dee86ded08b692b1ff1  gcc/ada/a-cihama.ads
! 79716e70067f82361e94eb2b51edc371  gcc/ada/a-cihase.adb
! c57f2052f774668ee19a19f096483bf1  gcc/ada/a-cihase.ads
! c4b08ff46673cf9d00bb92f405f72f15  gcc/ada/a-ciorma.adb
! ce540c9bc7b5baf86ecb8011e4430f37  gcc/ada/a-ciorma.ads
! 41b6d59c010ded41e7b5f60ed48ffd77  gcc/ada/a-ciormu.adb
! f3155b4fd12a157eb6adac36a6537509  gcc/ada/a-ciormu.ads
! e5c4788c7b70bbde1982314f811105d2  gcc/ada/a-ciorse.adb
! 76633768970a769e3e71281e51244cec  gcc/ada/a-ciorse.ads
! fda15d67ac3271c8a1a8997d7b0ca603  gcc/ada/a-cohama.adb
! 49bebb2bb6ef7177351f20c3cfa89474  gcc/ada/a-cohama.ads
! 449eabbc872bd885cf1be1e38c703b5c  gcc/ada/a-cohase.adb
! 06bbd3b27bb12dcc466dd4cf99d3221a  gcc/ada/a-cohase.ads
! b09b5b517cd243e22059e6019d3490fc  gcc/ada/a-cohata.ads
! 34ae92426a7f6a1a1a73cf082dc9bd60  gcc/ada/a-coinve.adb
! 4d171d4881aa855872a9ab4e94f6e9fa  gcc/ada/a-coinve.ads
! 28527103531a4619a6921d987417bd86  gcc/ada/a-colien.adb
! a886a211338c9afc72e34bbe7f681381  gcc/ada/a-colien.ads
! 83f6be22a0f911b1bb52dc98a6507d92  gcc/ada/a-colire.adb
! 921fdac00b43758b1b1953f2b02928ba  gcc/ada/a-colire.ads
! c42a78af2ec57e55f597c469fe69b2c8  gcc/ada/a-comlin.adb
! 0b53449d22c3bf0711086205db018a30  gcc/ada/a-comlin.ads
! 2c9d9911cfa19a053c4a03c3a94b60d2  gcc/ada/a-contai.ads
! 5ac445e2aa06567f923e4a45096e2465  gcc/ada/a-convec.adb
! bf12bf2c3f74306c5b28b0b3a6ac9ad4  gcc/ada/a-convec.ads
! 08b01fa687ce3269c8d48394ec481570  gcc/ada/a-coorma.adb
! 7985a99a7c9027634e5283d92b3c34ba  gcc/ada/a-coorma.ads
! ec11e6e14a2e6b66289b6321f04fec38  gcc/ada/a-coormu.adb
! bc64db59469044f2ed1010a97cb4c409  gcc/ada/a-coormu.ads
! 1565d61f74fc5659054b7a14badb6f69  gcc/ada/a-coorse.adb
! 991f4f66f876d6f07730f8492e77f29e  gcc/ada/a-coorse.ads
! 4d4083fea5f5462b924d12b02de6aeac  gcc/ada/a-coprnu.adb
! e6c4e968be3e60d8dad18eaabf9ff097  gcc/ada/a-coprnu.ads
! 5f4d8a7a5270542ce12881bf37c89579  gcc/ada/a-crbltr.ads
! f537f246253803376e67d2e8d3c43cf7  gcc/ada/a-crbtgk.adb
! 7e0647ae6110c369e8e7607aead9f3e4  gcc/ada/a-crbtgk.ads
! 363b71f584ae74788856e1937b434721  gcc/ada/a-crbtgo.adb
! 54ea26eb4e6630c1053141c895f2c889  gcc/ada/a-crbtgo.ads
! 04930e972ac145641bbe4fff29c58869  gcc/ada/a-cwila1.ads
! da18a6e6d19da84319a64b8835bd24aa  gcc/ada/a-cwila9.ads
! 6e17df7a28c126cf63fac4d405e87d3c  gcc/ada/a-decima.adb
! 3b237d5feff75e20bdee0f0149104daf  gcc/ada/a-decima.ads
! 270a8782923d2f493887899ed985b054  gcc/ada/a-diocst.adb
! 689f54998fdead3ce3cb94d6a479b295  gcc/ada/a-diocst.ads
! 7f1ed60f0b980513e3c197621cf53b37  gcc/ada/a-direct.adb
! 704cbd5154ea33c7fa926f4b9143ecf8  gcc/ada/a-direct.ads
! 603daa1fa66742287fb1b051392c2b7b  gcc/ada/a-direio.adb
! d8d9ef0a57f65d45f1143a2885f11114  gcc/ada/a-direio.ads
! 4fcc44206b2abf3d7cdb1d5e79d3efa9  gcc/ada/a-dirval-mingw.adb
! 1605b96441b01a0ab3b15ad226ca27dd  gcc/ada/a-dirval-vms.adb
! dc9975b6c900f2b03ca00b4411078fcc  gcc/ada/a-dirval.adb
! f05b74ed5aff815d09b552cd64acd47e  gcc/ada/a-dirval.ads
! cc1edd852fcfbf4d4f27c652850436da  gcc/ada/a-dynpri.adb
! 66e3055e19fde2fdf11cbfc2a8880eba  gcc/ada/a-dynpri.ads
! b51488d239a5cc469aea8f6891318b28  gcc/ada/a-einuoc.adb
! ea80bf63ce3b85371f05f63f6eb683a8  gcc/ada/a-einuoc.ads
! f5a88db5aad20023050a6cdd717d20ba  gcc/ada/a-elchha.adb
! b768756f97e0d5ccd277184c11a86829  gcc/ada/a-elchha.ads
! 9a52f42f20cf90e1b388f103749199bf  gcc/ada/a-excach.adb
! c843c8afd495d9e3a9786e75498ac60f  gcc/ada/a-except.adb
! 189fd3d38598093b468f69bbea1b99e7  gcc/ada/a-except.ads
! 6e7fbea87ef497ac05cab72b4ded7ba1  gcc/ada/a-excpol-abort.adb
! 0ab6d5fdc13726b3b701ab4fce3e9e5a  gcc/ada/a-excpol-interix.adb
! 9149e92408c778c1b721ef293c1d3157  gcc/ada/a-excpol.adb
! 6758a67454a829aa54aaf439f7493e34  gcc/ada/a-exctra.adb
! c3c72e37890aa4fcc4b7d1c5fded715c  gcc/ada/a-exctra.ads
! a44fd8c1abc6f6461240df0a7ef661b3  gcc/ada/a-exexda.adb
! 8d8db00cd79417405007bc745f909974  gcc/ada/a-exexpr-gcc.adb
! 1f7b784e077f8b09ad49ac9b28939a0a  gcc/ada/a-exexpr.adb
! 66ce140b1d33cadee8a044aaa285fd69  gcc/ada/a-exextr.adb
! 0c8db4140333390cecff61589707c705  gcc/ada/a-exstat.adb
! 6b821e61cfb36be75dce391710d31031  gcc/ada/a-filico.adb
! 06039afb8fb16f76d4966dc6883d9c09  gcc/ada/a-filico.ads
! e297c3f99e467440308b52778512189c  gcc/ada/a-finali.adb
! 3640445712a5c7f0cc58acf92ea9fbe4  gcc/ada/a-finali.ads
! 9d4afb1175f1cc8147d48f362fc2017c  gcc/ada/a-flteio.ads
! 79668a3b8971cae2f74bb69b11f3829b  gcc/ada/a-fwteio.ads
! 690b0482ea5400b49e1f752c4a2622aa  gcc/ada/a-inteio.ads
! 77125357595fb4fb5248de51fd2dff3a  gcc/ada/a-interr.adb
! b2a2544a3492c5217b6e41a608e7c485  gcc/ada/a-interr.ads
! b66e23b51c19d08113899ce79225a78a  gcc/ada/a-intnam-aix.ads
! 6e7caae9b6abae325867117b17f3fdb3  gcc/ada/a-intnam-darwin.ads
! 7bde21e0cb89ec357916bc936a605673  gcc/ada/a-intnam-dummy.ads
! 99844d91b83e0a8f085efd6bf3494839  gcc/ada/a-intnam-freebsd.ads
! 54de796b560243a48ee145cb52a0aa7f  gcc/ada/a-intnam-hpux.ads
! 9df31515006009a7696f51dd7aa2a164  gcc/ada/a-intnam-interix.ads
! f5056384329c81fae371c610794a98a3  gcc/ada/a-intnam-irix.ads
! a84686d42cf09eea491bec2432041497  gcc/ada/a-intnam-linux.ads
! c74dffcddddbe669f343e9bd79259dd5  gcc/ada/a-intnam-lynxos.ads
! f1ada7b304fbab23af263be5338ec024  gcc/ada/a-intnam-mingw.ads
! efb30d8ee8e156f162621410bb154b3e  gcc/ada/a-intnam-os2.ads
! a472adb812087b1d008f94c74653a6ec  gcc/ada/a-intnam-rtems.ads
! 2cccfd5c292b5758101b7a08b540c118  gcc/ada/a-intnam-solaris.ads
! 8fb70c382c7b13fd2f06f4bffbfc7321  gcc/ada/a-intnam-tru64.ads
! e7a2702f49a109b07111313aec8d2f9d  gcc/ada/a-intnam-unixware.ads
! 94aa6ccb851477fa1e077001e2fc4916  gcc/ada/a-intnam-vms.ads
! 79557c48333ebea3f71e54a21ba6cb43  gcc/ada/a-intnam-vxworks.ads
! 3264d35ddaea2fda5b0dcf83d462676d  gcc/ada/a-intnam.ads
! 6bac3cf5f3ff14acf28133aafcc1f58b  gcc/ada/a-intsig.adb
! b67a5bc48ba144333cca22575585dc21  gcc/ada/a-intsig.ads
! 8d67f020414dfe3a1745ea0effd199ee  gcc/ada/a-ioexce.ads
! 6ff8732ac6f8bcd569b694787946df85  gcc/ada/a-iwteio.ads
! feccb1c81194e3c94bd8f85b19e29960  gcc/ada/a-lfteio.ads
! 7b54da3f5f6bffbaf7333df95017424d  gcc/ada/a-lfwtio.ads
! 5c12f71351cbd302aa8c20f0cd7ace2e  gcc/ada/a-lfztio.ads
! a004ae430b322e661c516e4247e74cc8  gcc/ada/a-liteio.ads
! 69a2d1122adc61d4300fc4e2f87bc4e8  gcc/ada/a-liwtio.ads
! ef238b94c6bc94431577b77b1e136906  gcc/ada/a-liztio.ads
! 75d84551539c093544de6c15d50e03ce  gcc/ada/a-llftio.ads
! d641abfff37ef6d8842ab5ee4a8931fd  gcc/ada/a-llfwti.ads
! 00e0b2a36ad0265edd8fa766d8703c64  gcc/ada/a-llfzti.ads
! 1bc554c71d99b806a6628305b588407d  gcc/ada/a-llitio.ads
! f3f781fc133ea38aa6744d15e78bf3e2  gcc/ada/a-lliwti.ads
! 00f89c2b971fac6861a0e0ed85ea68b4  gcc/ada/a-llizti.ads
! 6b971dfe3e602e8ad2c2874f8aa95e93  gcc/ada/a-ncelfu.ads
! ea8b73e2339f4e0272b2a16f669c5bce  gcc/ada/a-ngcefu.adb
! 44c18605370fa326a6ec85391ba4139d  gcc/ada/a-ngcefu.ads
! b98cbdb28bc8ef6342840c9f99775a49  gcc/ada/a-ngcoty.adb
! cc4c281ee59d1fad9ae43ed9e3069bf4  gcc/ada/a-ngcoty.ads
! c0905db1e7ffd23b5c98ee00209e2a15  gcc/ada/a-ngelfu.adb
! bdf87f469f85648f0ef218ea700b14a3  gcc/ada/a-ngelfu.ads
! 34d3401447f5bd9b6355291387f2be84  gcc/ada/a-nlcefu.ads
! 9d9ef755ca409110537c7400682e8d34  gcc/ada/a-nlcoty.ads
! 49756a12aad1790e5d494c6f24581c1c  gcc/ada/a-nlelfu.ads
! 543b442402c10bdfba09268ae022dafd  gcc/ada/a-nllcef.ads
! efe02a2465eccd061bcf776f17d2413c  gcc/ada/a-nllcty.ads
! a05980d732d88c493ebb38268c5d611d  gcc/ada/a-nllefu.ads
! 0ac925c0b65a63c97a93b7c2bfeb8f08  gcc/ada/a-nscefu.ads
! 29245c37e2c0ca8b0c003f98b6a540be  gcc/ada/a-nscoty.ads
! 06b91bc980f4768a36a4ab29b36fc8de  gcc/ada/a-nselfu.ads
! 5b0487dd2cbc0ee694ee07caa06ecb3a  gcc/ada/a-nucoty.ads
! 9dfceb3527b6194045c630cacac5fa65  gcc/ada/a-nudira.adb
! ad255f7633013760ac60ac3e73ba1ca3  gcc/ada/a-nudira.ads
! e7538f4e94b4b8a0ebb14abb9938fc02  gcc/ada/a-nuelfu.ads
! 825dcdbd0e8607d3252651353a4e3260  gcc/ada/a-nuflra.adb
! 9ba5b0b987965720ced835c28abee8b4  gcc/ada/a-nuflra.ads
! dbab4b91a2635a6d320d199f8664e606  gcc/ada/a-numaux-darwin.adb
! d3162c21097a7ed52d01183bef3d89a1  gcc/ada/a-numaux-darwin.ads
! 33fc35cfd7fbf6ff790e7043fc3ef4c5  gcc/ada/a-numaux-libc-x86.ads
! 32b1be70d9c73fe0f82bd432db4ae84c  gcc/ada/a-numaux-vxworks.ads
! 4524bc67528e26401bd805aca71bef29  gcc/ada/a-numaux-x86.adb
! 5dc8b103d1f33241abc450a40c25e127  gcc/ada/a-numaux-x86.ads
! 699cbef039f661ef228118f45c6507fa  gcc/ada/a-numaux.ads
! c5c88c534bdd05a2bcbe7b135cc7cdef  gcc/ada/a-numeri.ads
! ba9958fb8ddf97afd718f87f78cd4646  gcc/ada/a-rbtgso.adb
! 69fde8dd74b625d94fefb30f6da3f0be  gcc/ada/a-rbtgso.ads
! 0e527b520e29c90dff713d75a2d4cf8c  gcc/ada/a-reatim.adb
! b264d200459eddc02240343629831191  gcc/ada/a-reatim.ads
! fb4d8d2c960161ef64ccb02eb3b42fe3  gcc/ada/a-retide.adb
! d387f16ff323dfd5720c150fa0f19459  gcc/ada/a-retide.ads
! 91d7079de045cdd788e4e91096aa123c  gcc/ada/a-secain.adb
! 8b4e302d506371a64d82d92701094618  gcc/ada/a-secain.ads
! 1fce721da8589cd13490fd7a2c9923d4  gcc/ada/a-sequio.adb
! 05c29c050cfec05884a8fc54c9ec0281  gcc/ada/a-sequio.ads
! 99cb0ee041acf792277a3339db39c851  gcc/ada/a-sfteio.ads
! f107fba5a3672429d729f28d542266d6  gcc/ada/a-sfwtio.ads
! ace69ae8415bb5e8ffb9fc1ff79c1aea  gcc/ada/a-sfztio.ads
! 43e89c2eaeb9abc412646849c97945f8  gcc/ada/a-shcain.adb
! deaa707ffa3f24b83840b56617a1f72f  gcc/ada/a-shcain.ads
! c828258511eb3d90dc28dbb0530b9f66  gcc/ada/a-siocst.adb
! 84bcc28d59079b001396bc87cfbf8905  gcc/ada/a-siocst.ads
! cb1321f2c795bbbb442387a17c5be19e  gcc/ada/a-siteio.ads
! e1799eb23c3fb6a2c8414bde8bbeff63  gcc/ada/a-siwtio.ads
! a121ffc5c87a8694d2b0545aafed91fd  gcc/ada/a-siztio.ads
! 1ba6338444c0bc681b23e6b0792a3bfd  gcc/ada/a-slcain.adb
  98f37234ec7748f760e3e95f0265d6a1  gcc/ada/a-slcain.ads
! dc0ea4b5e01204acb2220922927e86ec  gcc/ada/a-ssicst.adb
! fe5954b1ea015c25d9bd5b8803270b6c  gcc/ada/a-ssicst.ads
! d438664a3d056b3a5b28c6e4363afaac  gcc/ada/a-ssitio.ads
! 3287abc547bc507288bd6b97a0f501ad  gcc/ada/a-ssiwti.ads
! d9090b8cda36f2c9ec895611abca2298  gcc/ada/a-ssizti.ads
! 5f5903186c45ec59e2d035235583cdf6  gcc/ada/a-stmaco.ads
! e0fa29892bfafeec669bdcdb8d63155f  gcc/ada/a-storio.adb
! d22168ae434371b212c5bface512b6e2  gcc/ada/a-storio.ads
! 519b1d4cd2c3b2000650d7d73a98a9d8  gcc/ada/a-strbou.adb
! 2974de2b42c98d4cd6539b1e0a75dbc5  gcc/ada/a-strbou.ads
! ce23113adc2eed651279927fffd1dc54  gcc/ada/a-stream.ads
! 45419b57d9a24a7cd5681ba0b72fbf23  gcc/ada/a-strfix.adb
! 845b3220722f63975723318eb96c23f4  gcc/ada/a-strfix.ads
! 2c309a0d2d960dd5cf07aee1c59ff95b  gcc/ada/a-strhas.adb
! d75a1a073601d54ac85e44c39e24e2b4  gcc/ada/a-strhas.ads
! 0bc9277683ab9fdda198e39600fcd080  gcc/ada/a-string.ads
! 685c310a9313f7b7abcd29bfabc2debc  gcc/ada/a-strmap.adb
! e7afceddf16922fc9770eafdd06fdc88  gcc/ada/a-strmap.ads
! 815e5ab187492832bafbb653aefa202e  gcc/ada/a-strsea.adb
! a0cc39eab4bf8ce101e94ebf8ffd3768  gcc/ada/a-strsea.ads
! 84b1bec79d2040adae9a7f96b4bef77b  gcc/ada/a-strsup.adb
! 18fae814ebeedded3a9052367b2fa91a  gcc/ada/a-strsup.ads
! 58c407e4a10017400d4f9a818aca0407  gcc/ada/a-strunb.adb
! d83d423deffee5635f1cb8deca7ba9b6  gcc/ada/a-strunb.ads
! f6b12c2af931f3324debc02e974fdcc6  gcc/ada/a-ststio.adb
! 20cc61f48387759623a7580d113975e2  gcc/ada/a-ststio.ads
! 9fa5f75bc89619348af252a31e56e9b2  gcc/ada/a-stunau.adb
! d7af762ab8128d0b8e47a5c8c6c2ed77  gcc/ada/a-stunau.ads
! 2a32b0b66c57c0972e6ba1aef3a9f456  gcc/ada/a-stunha.adb
! 5bdd065b03c9974a9951d4f6dcfce203  gcc/ada/a-stunha.ads
! 3ac3d8b7d4820fd6817c7332b87304da  gcc/ada/a-stwibo.adb
! 8fc92f72128ed279d754f6dd08184c48  gcc/ada/a-stwibo.ads
! cd7bf26fc738e22b13c7d2afa3e8f834  gcc/ada/a-stwifi.adb
! 2450fd7dfbd073d1e378fc5890480db5  gcc/ada/a-stwifi.ads
! 729c2664865b2c8d03bd9d917caa1529  gcc/ada/a-stwiha.adb
! 62be7f055db68d0d94e9f1b78de93062  gcc/ada/a-stwiha.ads
! c208a50ec8cb266b92b1421c23230357  gcc/ada/a-stwima.adb
! c8497335f1dfa1094f937d018f68c2e3  gcc/ada/a-stwima.ads
! ac6411ab52412e17993edbf17f26af4b  gcc/ada/a-stwise.adb
! a5e7368a7a124c834d8dd24c1a83dbb7  gcc/ada/a-stwise.ads
! e30a9953fe681bdb4240e08063e49072  gcc/ada/a-stwisu.adb
! 802c5079b4dd29884a231d9ef88f5bea  gcc/ada/a-stwisu.ads
! bfca4761628339007ba6fda4660722bf  gcc/ada/a-stwiun.adb
! 5508c1b82208f296bb02314caaaf71b6  gcc/ada/a-stwiun.ads
! 0711cad7e0b505bc6870288980ef81d4  gcc/ada/a-stzbou.adb
! b628fff6e80fe46918e15fddd1b4d7cb  gcc/ada/a-stzbou.ads
! ba5bd5c7c123972dd699692b786a23a6  gcc/ada/a-stzfix.adb
! 3f17ca3fb8d328b84894b18e32897a24  gcc/ada/a-stzfix.ads
! 49d381b5925f0586b6a175dad7434071  gcc/ada/a-stzhas.adb
! e8e006a0461fd0211b567d86b06194d8  gcc/ada/a-stzhas.ads
! 8e56826774528c36bfb92a62c57e1f53  gcc/ada/a-stzmap.adb
! cd2eae22199568479de2bede8b4900a4  gcc/ada/a-stzmap.ads
! 18852234737da0a79e48447b5aa27974  gcc/ada/a-stzsea.adb
! 7950a3b21c2b8428fa12eddc0c9225cf  gcc/ada/a-stzsea.ads
! 1b5c6b1654691ca2f0bfdad26122eee5  gcc/ada/a-stzsup.adb
! 3d9d18683f771ddb6c77a1a9703b2d42  gcc/ada/a-stzsup.ads
! 1e043fd9764446b22f73358126c43a1d  gcc/ada/a-stzunb.adb
! 2545eb2d9dcd710eddecb16f9f259c0e  gcc/ada/a-stzunb.ads
! a28d6db189580eb4bdcaca5285f51796  gcc/ada/a-suteio.adb
! 70854797d96874bebeabf5c0b47849d6  gcc/ada/a-suteio.ads
! d58e21b62e44af6f4e1c7d187fdb94e1  gcc/ada/a-swmwco.ads
! ee8f15e31147bfb10d23a11987c37628  gcc/ada/a-swunau.adb
! fc77cbfefe5e8eb3e9f80cef008429e2  gcc/ada/a-swunau.ads
! aa0298ca92ccf9777d1025f779fd37f7  gcc/ada/a-swuwha.adb
! 94eea25a9030bc4a13cfc651d718f2cb  gcc/ada/a-swuwha.ads
! b1296926c9b39a0236daa7258ca972df  gcc/ada/a-swuwti.adb
! b69e76cc6f4a82a23284b1e51feda8fe  gcc/ada/a-swuwti.ads
! 3b0428be2a5a2dd0d011f51ddb620415  gcc/ada/a-sytaco.adb
! 07b9e6edc2ba84692b621958911b8aef  gcc/ada/a-sytaco.ads
! adac9781ecd1794628f9a223dafb882e  gcc/ada/a-szmzco.ads
! 6a437927179001b58ba6595368e23dfb  gcc/ada/a-szunau.adb
! 4828839ea7bf4b1140e4d23592a7185d  gcc/ada/a-szunau.ads
! 59008b74519c3035391467d0071bdd2d  gcc/ada/a-szuzha.adb
! bc624dbe53bc24d5551495b1891142c1  gcc/ada/a-szuzha.ads
! 7d3287a7a004ec07daa2ce21dec6d921  gcc/ada/a-szuzti.adb
! 89e273961a805f2fb510176b02309eee  gcc/ada/a-szuzti.ads
! ec4ec2c8254bed6323660c0275ede7b8  gcc/ada/a-tags.adb
! e413b33ecff78d84449ea56e7a5f2721  gcc/ada/a-tags.ads
! 3193ba83929405426ae214dc430da55d  gcc/ada/a-tasatt.adb
! 78d2a19e54fc307ab6a52f640ec92bf4  gcc/ada/a-tasatt.ads
! a7e6034572c761f2532d760d231cb0e1  gcc/ada/a-taside.adb
! 19ffc0d7cbec2fba35287cb5dd7d090f  gcc/ada/a-taside.ads
! e6d10b3474b39040d019856c51fd3b9f  gcc/ada/a-teioed.adb
! 1b1044d4d5ac2de594167f40900439db  gcc/ada/a-teioed.ads
! 4ca8edc0c239eba439c7fd1eeb5cca76  gcc/ada/a-textio.adb
! 3e3bc72f2bcd51af863327fc42f1c2c7  gcc/ada/a-textio.ads
! d4f6d33b144ce259366d71fe77497910  gcc/ada/a-tgdico.ads
! ce1adadf8f78030156e1a075ecaf1ac6  gcc/ada/a-ticoau.adb
! 6b720d69ca1a6064018f800b07e53ab6  gcc/ada/a-ticoau.ads
! c3052dd8f767d0260440b559b2b4cd57  gcc/ada/a-ticoio.adb
! db87bc81dd4969e9de2e7c0b85737cc2  gcc/ada/a-ticoio.ads
! b06edeec9476bfaddcdb5f32a2c78354  gcc/ada/a-tideau.adb
! 4afa74660f90fe501a133d3fda438108  gcc/ada/a-tideau.ads
! 528c28154816587012bdb275a6bfc58e  gcc/ada/a-tideio.adb
! a46400ac1edcaca7eced42c597711961  gcc/ada/a-tideio.ads
! 5d6505c513dd6d809f6f179e191600cf  gcc/ada/a-tienau.adb
! 20c29d0bc5b5d1108920a1797c6821ec  gcc/ada/a-tienau.ads
! 08e4f8c28a082ac899d105b7fc70d12b  gcc/ada/a-tienio.adb
! 311c66a248ce4f60b3e535424ad1d722  gcc/ada/a-tienio.ads
! 763bf95379c3a6dfc8ef0835f673443f  gcc/ada/a-tifiio.adb
! 89bbfbd8acdf8e4f91f39f1ccd1822d4  gcc/ada/a-tifiio.ads
! 7fe909507b54968cf302d1d9ee0ab66b  gcc/ada/a-tiflau.adb
! 3d73e307b8dafe0d06ebbfcae81342ef  gcc/ada/a-tiflau.ads
! 66b2b0bb6c662dc120df0102adeca981  gcc/ada/a-tiflio.adb
! 8572257d8e500858b9da01b00b601a8f  gcc/ada/a-tiflio.ads
! 85732ec80db06159abd75f1e4aa33c38  gcc/ada/a-tigeau.adb
! fdd0548b9f407ab51c2b06908ad3f5b6  gcc/ada/a-tigeau.ads
! b068a60fd05f1a4f63d531648f64268a  gcc/ada/a-tiinau.adb
! c2032628fa5ce9ca09592627bcfeed40  gcc/ada/a-tiinau.ads
! 70401886376713881f2e91fcc3fd3762  gcc/ada/a-tiinio.adb
! 6f7f610be2eb09dc7d0eb43a34c209e2  gcc/ada/a-tiinio.ads
! e04ae3e6d2bd64a19db918692a2c792e  gcc/ada/a-timoau.adb
! 8d8565e12e56f1ac5966aae9fe674479  gcc/ada/a-timoau.ads
! 04feebc33359e97228a7a27b7fe7f1be  gcc/ada/a-timoio.adb
! 6f81ae238d32f1873f24cd40dbbb9291  gcc/ada/a-timoio.ads
! 889ac256acd1781d8ac043e53232807f  gcc/ada/a-tiocst.adb
! 5fc5e53f04a85b1b2dfe00b944de8b70  gcc/ada/a-tiocst.ads
! e9332e02871871f84a70447a69154b0a  gcc/ada/a-titest.adb
! 718e6c30fa81725db91cb8f8fd0074f4  gcc/ada/a-titest.ads
! ed860eaf2c34b00540e4ce105f3055f8  gcc/ada/a-tiunio.ads
  89ad58452dbd76e8d0ebf6b332075ff6  gcc/ada/a-unccon.ads
  71408140aa85fc1937989b30a435ea8d  gcc/ada/a-uncdea.ads
! c384619668c0b80f90ea7c4faa1da3e9  gcc/ada/a-wichun.adb
! 95a2c64cbf883a4cc5b9147deb74ee46  gcc/ada/a-wichun.ads
! 83c507f4dfcc37c5e8f8f0be4624b460  gcc/ada/a-widcha.ads
! 49c7d86368e5bb7fd3eace13945193c2  gcc/ada/a-witeio.adb
! 4be4252c2e099e613c23e4861e77ebdb  gcc/ada/a-witeio.ads
! 7005ac9aabb4a97f752ac93fc524359a  gcc/ada/a-wtcoau.adb
! 9c1480e28bf4e241d0a26a75c87d8275  gcc/ada/a-wtcoau.ads
! d98c3ad8dd1a2bc51870d25cd8babee4  gcc/ada/a-wtcoio.adb
! b9ceda7f72541535e1d4c62197411394  gcc/ada/a-wtcoio.ads
! e915f594cabcf22167fadccd10e152a8  gcc/ada/a-wtcstr.adb
! cc21ecca0c15e15234a9559df84acd7e  gcc/ada/a-wtcstr.ads
! 4ef440a21d94dd8aced0800801cdf4aa  gcc/ada/a-wtdeau.adb
! 9ff6de64a4701f99398399ff8458baa0  gcc/ada/a-wtdeau.ads
! 783305239545ed5b925ae9d9250766ef  gcc/ada/a-wtdeio.adb
! d7ec24ba7abe69cde4256a38d39cac25  gcc/ada/a-wtdeio.ads
! dac88388e03ef67bdc78332197d0b738  gcc/ada/a-wtedit.adb
! 893b957aa9dbc6fdce55bede14b4cefc  gcc/ada/a-wtedit.ads
! da0f03c67e08747112ca4c0aad9326a5  gcc/ada/a-wtenau.adb
! f23eadc665283b37c42cf95afdd1c382  gcc/ada/a-wtenau.ads
! e46059ed804bf35fb3b97a975cce60e8  gcc/ada/a-wtenio.adb
! 88b9b050cc0bfca9f7588e176ab2d2db  gcc/ada/a-wtenio.ads
! 825842823d8c4b336e04b297079d5b23  gcc/ada/a-wtfiio.adb
! 26934398fd19c956344e4008537a71e8  gcc/ada/a-wtfiio.ads
! 000e3d9baa2aab5547aca958926ed7a0  gcc/ada/a-wtflau.adb
! ac3da5ff45b4ca7c0110c987fbaa1b1c  gcc/ada/a-wtflau.ads
! 8a3beea469736c4c13f75b7af749c77e  gcc/ada/a-wtflio.adb
! f643894ff9e60ea0ac95706f0d095d4f  gcc/ada/a-wtflio.ads
! d7b7fa18f8bc2b72e6265c5e9018f7ed  gcc/ada/a-wtgeau.adb
! 63555046cd284857420fc4c74f9690d7  gcc/ada/a-wtgeau.ads
! a11a85175c809b859af9cf6770bad145  gcc/ada/a-wtinau.adb
! e2c03d69a071d17431fb822f4521237b  gcc/ada/a-wtinau.ads
! 1c37d2c28ad33303a6fb44dcefbb23e4  gcc/ada/a-wtinio.adb
! d623c7158c0c89025280dfb8773eea9d  gcc/ada/a-wtinio.ads
! c37953fc0bee891f9812aeef4937475f  gcc/ada/a-wtmoau.adb
! 32cd69b47b0568a26f4a119882029929  gcc/ada/a-wtmoau.ads
! 8a3d716f66d9a9ba3d139a8a3167dc5e  gcc/ada/a-wtmoio.adb
! 4e9cd9cfbb318c0994aad8e5472af6cb  gcc/ada/a-wtmoio.ads
! 838302638013c241b2cd1d02c4559d87  gcc/ada/a-wttest.adb
  87c656866c6078e0ed035831e2bc8a67  gcc/ada/a-wttest.ads
! 817dde3d1adef8428ad2f61fc50b6e89  gcc/ada/a-wwunio.ads
! 4cdb35714f41cad69d297b95a2aba026  gcc/ada/a-zchara.ads
! acb878e12d763ca89424815fbcc897fd  gcc/ada/a-zchuni.adb
! 932f06879bf31b873604b303820a2ed7  gcc/ada/a-zchuni.ads
! 5437b8b91e4631ee1f91203b7e93d890  gcc/ada/a-ztcoau.adb
! 3fc3d01d23dc906d5a8deae8beb7fdb2  gcc/ada/a-ztcoau.ads
! d01a606c1bff15e96e51802145a93206  gcc/ada/a-ztcoio.adb
! 00e6f063b9bea552e2b7e2e8fbf484c9  gcc/ada/a-ztcoio.ads
! 6a45e0ae0da930b5c52f789a1061af3a  gcc/ada/a-ztcstr.adb
! 04f78ef65db342ec6a517f5d7bedabb9  gcc/ada/a-ztcstr.ads
! cac68d71e6ed9474e7f782afa0ef6728  gcc/ada/a-ztdeau.adb
! f0f02772e340d8c8e0a51e1caf5460a5  gcc/ada/a-ztdeau.ads
! 5c44f13cf83a516905e30c37bf6512c6  gcc/ada/a-ztdeio.adb
! 085dfd93634d277106a76838bb964921  gcc/ada/a-ztdeio.ads
! d510b40e812b9c36f9651e56a8781e11  gcc/ada/a-ztedit.adb
! 2f8e99332ebcf0c35810c2647979093d  gcc/ada/a-ztedit.ads
! faddeb83e3beee4717b5ded78d11ad79  gcc/ada/a-ztenau.adb
! 678f80baa52ec8bdf7489a5499d25ef8  gcc/ada/a-ztenau.ads
! 4d48ad90f881b03d64e402f748fb46fb  gcc/ada/a-ztenio.adb
! f09938529a41a2ebff795ace150137ae  gcc/ada/a-ztenio.ads
! 629ccf6fba4f5905e4bc4c1575c9fbb4  gcc/ada/a-ztexio.adb
! facd6a58a7e00460c45c8141dde61cc9  gcc/ada/a-ztexio.ads
! da8cdfa14a98e63a099fbcb413c49f0a  gcc/ada/a-ztfiio.adb
! cb8c1b9accb91951921e18b48dfc90ca  gcc/ada/a-ztfiio.ads
! df814629cdb119276b9d0d7d343e4e59  gcc/ada/a-ztflau.adb
! 644c00142a5e1225b8078d6bbeff7b78  gcc/ada/a-ztflau.ads
! 9eac2dc12c51366fd8ae3ec93cc6cf3e  gcc/ada/a-ztflio.adb
! 10706d08960fd74df8f497c2bf9f6c7c  gcc/ada/a-ztflio.ads
! 293f484766b195c3f66579a3d7cecfcd  gcc/ada/a-ztgeau.adb
! 8845c12ebf8c0ef79bd0539859722ede  gcc/ada/a-ztgeau.ads
! 9e1e52c4fc6df84a104e1375fc261993  gcc/ada/a-ztinau.adb
! 9e7fe3b2a935c1e6894d8b954334dc2a  gcc/ada/a-ztinau.ads
! bab004e2b32a507a280c86b1aedb4b7f  gcc/ada/a-ztinio.adb
! 1f72e463cb478dee9a1343005f347d56  gcc/ada/a-ztinio.ads
! 4dc2aea34699cb8b4ced7ac1ca523d03  gcc/ada/a-ztmoau.adb
! d203f44cfc0a648ded9843d512e02024  gcc/ada/a-ztmoau.ads
! c236a9030c0a110bc5dad633a616fa04  gcc/ada/a-ztmoio.adb
! 70820e24c0a22c4ea1b2418dfffacbfc  gcc/ada/a-ztmoio.ads
! 9bd82231a8fdcfbe26ce1991ca23a13c  gcc/ada/a-zttest.adb
  474701469a874933077102106ba112c5  gcc/ada/a-zttest.ads
! 2ebd155accb7eda8c1c3e3f7ff63e4fa  gcc/ada/a-zzunio.ads
! e5ee7ef109a3c058381c6d77b1c74cfb  gcc/ada/ada-tree.def
! 99e4d47b9a520cc5d526739873770766  gcc/ada/ada-tree.h
! 74574847592cb937ae3427410db4641b  gcc/ada/ada.ads
! 378bc2e63b058c695619717ac38ad70f  gcc/ada/ada.h
! 8be6ff46d116cc83d1ad014a55c9ab5c  gcc/ada/adadecode.c
! 8a4fa335fd05b0f053844b235c6484c2  gcc/ada/adadecode.h
! a55cb1e6c04b574abb2195c3a2c3579c  gcc/ada/adaint.c
! 86a73a1d79d299d1e9bac8d3aabf241a  gcc/ada/adaint.h
! d4c6fc1674d63490fd0dc6094f98dfbf  gcc/ada/ali-util.adb
! 0e3ae63c04c65401883ccf019b077963  gcc/ada/ali-util.ads
! 2d328ae312ab038bb94d47c1767c8cbf  gcc/ada/ali.adb
! d91625b0af45a5593e77c9a034d86bd2  gcc/ada/ali.ads
! 64949b03d55f86b76230cb15d5e164fb  gcc/ada/alloc.ads
! f40a1e0b213cab3a06a488c116edd6fb  gcc/ada/argv.c
! df63d7a96de7dc7857e254c3e4c9ec36  gcc/ada/atree.adb
! 1ee69e3d3b9d4d8807948f54cd7c7824  gcc/ada/atree.ads
! 98a96b3d2eef1d38d61627740c87b69b  gcc/ada/atree.h
! 585462344401af9f079c0b030b080c26  gcc/ada/aux-io.c
! 2472adbdf0283f5f67de19bd643a3e82  gcc/ada/back_end.adb
! b12e3c362430dd9aec367108de7b3974  gcc/ada/back_end.ads
! 6482ddba9b656f90770af3a002c733d8  gcc/ada/bcheck.adb
! 90dbcd3b284274a5797ab0feed02ed43  gcc/ada/bcheck.ads
! 87f620ee73b904503f2bb23453b6dc7c  gcc/ada/binde.adb
! 19340e5188c5254c59692e7b645959b4  gcc/ada/binde.ads
! dc935c93369c74c1b33d8b79eb90ad71  gcc/ada/binderr.adb
! 73ada2f6e72b05378e7efca6a56b57af  gcc/ada/binderr.ads
! 637faf1d35cfa76218965643752ade7e  gcc/ada/bindgen.adb
! bf7539a8a2395311d194a89586046ebd  gcc/ada/bindgen.ads
! 0e99776b983fb77f3c616b24fa64c63e  gcc/ada/bindusg.adb
! 8fe0867bc6dbc832cd3cf4249b8f1bf0  gcc/ada/bindusg.ads
! 70340b63c666503bb0de0e42ea226995  gcc/ada/butil.adb
! accf8a9a595a281c2c896f60fc958e30  gcc/ada/butil.ads
! 3e1dac8b3ca6dafbc63fee37ac3f3286  gcc/ada/cal.c
! 69a53da55f04bc95dde3c61b8571dd8d  gcc/ada/calendar.ads
! 10c8d4d9414cc7f75a4d84caaf7f4bd3  gcc/ada/casing.adb
! 96ff8ec36e5226e9db01b9d108c2858f  gcc/ada/casing.ads
! 0f15aea878da1e1ddfd5e269f5fea423  gcc/ada/ceinfo.adb
! 3374c027484f382fb2adc1d87e6c5812  gcc/ada/checks.adb
! abee79c0957627672229d8c2685da9e9  gcc/ada/checks.ads
! b231693815d1f217a0369f9d5909a628  gcc/ada/cio.c
! 5f48bed47bdd078ac8695be99f9c3c76  gcc/ada/clean.adb
! 7677f89716fa2957020e0b4b82d92d7d  gcc/ada/clean.ads
! 115b3769d375cdf86177705dc70872b2  gcc/ada/comperr.adb
! c4b225434230ff6e055ee2915b42017a  gcc/ada/comperr.ads
! 3c3cc59938074178c06306514d194b1c  gcc/ada/config-lang.in
! 1b22e826dfc3a43c8cff778d47f29c8f  gcc/ada/csets.adb
! 94b59a6e42a35efea46f9003dd9c5fa3  gcc/ada/csets.ads
! a0ff7bd4a03f95572a862cb629941e05  gcc/ada/csinfo.adb
! e6eb80002e58829bab846f5b4a31ef54  gcc/ada/cstand.adb
! 50b12d79dfae60a9933d7a977cfe654d  gcc/ada/cstand.ads
! 9cf7eeff16f8d94792552530751cdcda  gcc/ada/cstreams.c
! 53a0134bfa33003fa56b92202f528d84  gcc/ada/ctrl_c.c
! 2f9d064f3beb9e5390884af23b919015  gcc/ada/cuintp.c
! 35c90509ae22ee604eaa3eca66825759  gcc/ada/debug.adb
! 20db1d9d6ce3211f0433c5b671baa39a  gcc/ada/debug.ads
! 9b3909d2fe54438b7a86177633b3b41c  gcc/ada/debug_a.adb
! 9eb24c9394504573240580a70130432b  gcc/ada/debug_a.ads
! 57dd7517c824e2999e59f8c1ae752f0a  gcc/ada/dec.ads
! f875b6d2323c7d92907a4e0ee9372ebd  gcc/ada/decl.c
! 7c681fd188642016be887ecfb598438b  gcc/ada/deftarg.c
! aaa012a0748bacb375f3198f2eb145f3  gcc/ada/directio.ads
! b2c689de05296acb3adee6bb4e164852  gcc/ada/einfo.adb
! 7e81728bd68dffef976aa854791c4b38  gcc/ada/einfo.ads
! b34aa8e615d770870169becc32f4447f  gcc/ada/elists.adb
! d76b5aa0629229aff763ea39469fe449  gcc/ada/elists.ads
! 0a391bee37a0acbaf1272ee815bcf85a  gcc/ada/elists.h
! 930f0c7759a12ef2bce10ef021c23e28  gcc/ada/err_vars.ads
! 3f413a1aeada3b29f068bd8f4572f42e  gcc/ada/errno.c
! 96ce1957c9944a1b70faeeb706a3f918  gcc/ada/errout.adb
! 107d6724de29358be6b2c6a32a404c60  gcc/ada/errout.ads
! 922287da83877c21e17aa6c1fd98c1bd  gcc/ada/erroutc.adb
! 98ba1bbce3f1d0d89d35446c219ecd89  gcc/ada/erroutc.ads
! b835fa6b46c44888b6e7f812d03df61a  gcc/ada/errutil.adb
! fee77807e990dc00febc168e11bfd069  gcc/ada/errutil.ads
! a9bb573c5fd6b52332041b1d23da8c84  gcc/ada/eval_fat.adb
! 2bba24c18b6d368536c0e7d1bb97eb51  gcc/ada/eval_fat.ads
! fb5682ca73366e6fabb02ff0cf6b1ba2  gcc/ada/exit.c
! e4aa1a181e7d38c871a3bb6b7bcbd3cf  gcc/ada/exp_aggr.adb
! ecf6dd71b385391af47e5ea418cc56dc  gcc/ada/exp_aggr.ads
! 90a1da9924837949167f10c67282d49b  gcc/ada/exp_attr.adb
! 3392306011a814dee8c2bb719789a788  gcc/ada/exp_attr.ads
! 3748eedb3058b34922d416063493d05f  gcc/ada/exp_ch10.ads
! eb49688e4298195db81811e406a2beca  gcc/ada/exp_ch11.adb
! 97c369838db043c3f5e0b929f57e23c2  gcc/ada/exp_ch11.ads
! cfc63f7c71b963b062915d5fa3a9109a  gcc/ada/exp_ch12.adb
! 2dcce5aa038f7125614ca1a8c5948194  gcc/ada/exp_ch12.ads
! 4abb4763e201d8dd398afe1e8cd65e2f  gcc/ada/exp_ch13.adb
! f858faffe4a76c11823e8c7c9ce5df00  gcc/ada/exp_ch13.ads
! f230a4fab02a2a067b08894f312afc85  gcc/ada/exp_ch2.adb
! 0bb65856a562c7fe4db784481ba18114  gcc/ada/exp_ch2.ads
! 2c4b11d4041f9ff41a1665eb5bd3d121  gcc/ada/exp_ch3.adb
! e39ca8e87adfa353830e8f5c1b973a78  gcc/ada/exp_ch3.ads
! 1bc405f45151c958f4a5710b95448202  gcc/ada/exp_ch4.adb
! dd4c3f278e6dec6a91337a9ac5e53c00  gcc/ada/exp_ch4.ads
! ceee324f0ca36afe4b0b128c4c2e3a01  gcc/ada/exp_ch5.adb
! a04814efe6e95ad3734041156b6ead2e  gcc/ada/exp_ch5.ads
! 898352fb41e0ddab37f153a276c505a9  gcc/ada/exp_ch6.adb
! 890365daa14b5822ede4a3ca4ecc582a  gcc/ada/exp_ch6.ads
! 7475e3110a451968419262d265c6e75c  gcc/ada/exp_ch7.adb
! 58d9254931a7932aae4ce2da6a7e490e  gcc/ada/exp_ch7.ads
! 35365b0891169e332f835c10e04e38a1  gcc/ada/exp_ch8.adb
! 6e5a26efc1d73f9b69b0286667474bfa  gcc/ada/exp_ch8.ads
! 29b69ed8aa2f445edd9b9745bc992248  gcc/ada/exp_ch9.adb
! 0e2b0a437fcf18c6456a051ccc46d913  gcc/ada/exp_ch9.ads
! 0b14561afd1c97e51b1bedd6e1896ad0  gcc/ada/exp_code.adb
! daafb35bcd82b27cab91d51be9ef0ae0  gcc/ada/exp_code.ads
! 9e43694271f9f7c80285a0b7ac0bf588  gcc/ada/exp_dbug.adb
! 7ca46a15e97e04a094b7e5342f75ca24  gcc/ada/exp_dbug.ads
! 37f855b5335a61d9d83d379ffa66418b  gcc/ada/exp_disp.adb
! c6e5ec2c2e352515803cf919de9de119  gcc/ada/exp_disp.ads
! a9185cf668d01626691d297c12d97fc5  gcc/ada/exp_dist.adb
! 55ea3576aab7e4d97dc7149019b55a85  gcc/ada/exp_dist.ads
! 1a74f76090ca4e6dfa7492ccc6760eac  gcc/ada/exp_fixd.adb
! b5a180e9d43ccc123ab819848090d79f  gcc/ada/exp_fixd.ads
! fcc985cf1f174c3b4727da3d2804f217  gcc/ada/exp_imgv.adb
! a2cb84e2cba396f6c501838ff2cc3935  gcc/ada/exp_imgv.ads
! 2677d3c99ec5c2ccbd7b93ac3cdd700e  gcc/ada/exp_intr.adb
! 76f452c3cd5924ff14311fa3a05a4f78  gcc/ada/exp_intr.ads
! 319d8f5565d5dfbf546daa66939b905b  gcc/ada/exp_pakd.adb
! b9ab972862ceb095dd8722d5149798cc  gcc/ada/exp_pakd.ads
! ea930f7ef20f5dcf9eede33d60601c70  gcc/ada/exp_prag.adb
! 4232bf51d90122257ffc2619e9ff46e2  gcc/ada/exp_prag.ads
! 92edeadaa569a9aa078c5476f8a7a65f  gcc/ada/exp_smem.adb
! 326552907b4211f8713c4af4b6574945  gcc/ada/exp_smem.ads
! 9d511f6edee0b8c44799f5f0763d9055  gcc/ada/exp_strm.adb
! cd09ffb48818b7464846e64ecf03be20  gcc/ada/exp_strm.ads
! 7ae77fd3db83bf68a5bf94e2bbf48715  gcc/ada/exp_tss.adb
! 3cba02716ae5abbe5b97d93b2b079de3  gcc/ada/exp_tss.ads
! f846bcbae8bace98f2355f64132f2000  gcc/ada/exp_util.adb
! 04a33b510a5e7cda73093a30d4cfc22d  gcc/ada/exp_util.ads
! 15525dd8c4d53776820277a32de1144e  gcc/ada/exp_vfpt.adb
! 57749dcaaf96c4e0985592e1a33c2fd8  gcc/ada/exp_vfpt.ads
! cbda3584e2fa1d18ec074ff5f1622808  gcc/ada/expander.adb
! c34fd9522816998c71f9ba5a22e2a8aa  gcc/ada/expander.ads
! 93246305cc50cb8710f4f0d8e94f87b8  gcc/ada/expect.c
! 1e1fdc757f66d2b0ad434bc1ff611ef7  gcc/ada/fe.h
! da5cc358696527b53cc08d0490b48eb6  gcc/ada/final.c
! 99daec3e8f21409f0c2151aeda25ff51  gcc/ada/fmap.adb
! e356948b6d1722c074011a482220a2b3  gcc/ada/fmap.ads
! 80969f185d73a91badd87de7ecd4caea  gcc/ada/fname-sf.adb
! dc4068480b62eadf190e7305e5a10aaa  gcc/ada/fname-sf.ads
! c41910bc125ba67c0bdb651117b9fb24  gcc/ada/fname-uf.adb
! cc7c4ec0d5109260f2da8025694a0987  gcc/ada/fname-uf.ads
! 33fbc9a694e254638fb8580d0e831ec8  gcc/ada/fname.adb
! f6c10972c29bff6ef09c7932476aa547  gcc/ada/fname.ads
! 68c82e003cd973cc27207f28d27ed9a6  gcc/ada/freeze.adb
! 019f5644add6eb9cea4d973c1115a031  gcc/ada/freeze.ads
! 15d1d0e159715cc02603331ce63a80a7  gcc/ada/frontend.adb
! ffe2aeafcdb2ca7097ad427a97b1b4f7  gcc/ada/frontend.ads
! 8ab8136f32825083cb99f1b4dab88711  gcc/ada/g-arrspl.adb
! 00b5152e75b1f3d38d6734f217b0f63a  gcc/ada/g-arrspl.ads
! a3d9100b1430ed83b1643a37a900e4d4  gcc/ada/g-awk.adb
! 452e50c85942f9f2beb3294484e106f2  gcc/ada/g-awk.ads
! 8791e29959a8f9e704ba55245952e1fa  gcc/ada/g-boubuf.adb
! 91947de021dc7e530064e48ebcb4a84e  gcc/ada/g-boubuf.ads
! 7edb6bce1fb2a4f3c54b57102600486c  gcc/ada/g-boumai.ads
! 9d0c0a9f0ee158d632ef60e42b7dfe0b  gcc/ada/g-bubsor.adb
! 7190e0307281ae79b01900a7d3479899  gcc/ada/g-bubsor.ads
! f301a784f7cee1ffaf82226ec3ffc919  gcc/ada/g-busora.adb
! c90fcdadf14c8954fd5237c5743cae02  gcc/ada/g-busora.ads
! 6da6d7e8d6f97c31df2ee255b57a5bd3  gcc/ada/g-busorg.adb
! 0f8f5c54279c818153873bc54d4f90e0  gcc/ada/g-busorg.ads
! 46a3ba6dae51d4a014e1bc8022e4712c  gcc/ada/g-calend.adb
! dfb1c93747bf2ac0e06562aaea6b2eaa  gcc/ada/g-calend.ads
! df66b800058fc0ef7649100ba16284e4  gcc/ada/g-casuti.adb
! 6f3d49db11220980662ae17ca64427db  gcc/ada/g-casuti.ads
! 9d807469731003d630b4f5538792bb07  gcc/ada/g-catiio.adb
! 8a693971e8fc77814c0a38344318ea94  gcc/ada/g-catiio.ads
! ae4c412428e24ea744555d30360fc549  gcc/ada/g-cgi.adb
! ad3b91f74d2d6341001cee222ec4f05d  gcc/ada/g-cgi.ads
! aaa616058ca7bee653d256d3a640a175  gcc/ada/g-cgicoo.adb
! b004503a93828d13bb67e7dbb28cb94c  gcc/ada/g-cgicoo.ads
! 10a7365352eff570096ca56e3fa3d455  gcc/ada/g-cgideb.adb
! 5912c3692caf07e12efd3b686dbfca67  gcc/ada/g-cgideb.ads
! 0b132b8cf0bdc8ad8efafed7799cb802  gcc/ada/g-comlin.adb
! 8671a8b7e1d3c4946150418c6583a9c4  gcc/ada/g-comlin.ads
! 01b9db1cc51ac8a6ba6e3ab2de15d7ac  gcc/ada/g-comver.adb
! 3d4b3d6193d2bfddc0aeeed45aa13032  gcc/ada/g-comver.ads
! 1c58f7a0464160e873d8338762b77ab6  gcc/ada/g-crc32.adb
! 6b7bdcac0440516df6addd3e9bdbdfa8  gcc/ada/g-crc32.ads
! b6d1cd9d6cbbf3ec0a3c3eedcd65fe02  gcc/ada/g-ctrl_c.ads
! 27e789106ca8c8673e32f17d28304466  gcc/ada/g-curexc.ads
! d59b0b1d051980f122d0702fb6c185d7  gcc/ada/g-debpoo.adb
! d187d6b68b792d11b5627a8163175065  gcc/ada/g-debpoo.ads
! 7f2361d811216ecdb532a2d657738e52  gcc/ada/g-debuti.adb
! a2a11eb766a7c2bcb6c27e684dbd721f  gcc/ada/g-debuti.ads
! 368e65bfc0306c153249b4c3398fe636  gcc/ada/g-diopit.adb
! 679caea3cadf8b707f42c6b8c8c7d773  gcc/ada/g-diopit.ads
! ea8c79194e19dd6ae707ce18f135e890  gcc/ada/g-dirope.adb
! 18261e57d73af61b78fd3587c627059c  gcc/ada/g-dirope.ads
! 0a5ad3caaade9995c661da47ccab38b8  gcc/ada/g-dynhta.adb
! 9c4f798691719365393561ea99e58e26  gcc/ada/g-dynhta.ads
! c008c1514fe578c1963f3e262c7bbb3b  gcc/ada/g-dyntab.adb
! 27044696acb100d94540ca1fa6147b82  gcc/ada/g-dyntab.ads
! 5174b8adc71440acd275a8b19bb5372a  gcc/ada/g-eacodu-vms.adb
! 46a0853e21720c658a4ed3737e3ed467  gcc/ada/g-eacodu.adb
! 39cf7fe653777a907a21d7de18a2d0c7  gcc/ada/g-enblsp-vms-alpha.adb
! 05eb372e2a6a10134bfcf89504b37334  gcc/ada/g-enblsp-vms-ia64.adb
! 32ad6a14eceffdc10e1266f753077928  gcc/ada/g-excact.adb
! b10987cc55cd406930adb93d72309483  gcc/ada/g-excact.ads
! afd0b89b99ec18e523e63ca50113b753  gcc/ada/g-except.ads
! 26f32f2e4074d00ceb1cc8f1f1c55f66  gcc/ada/g-exctra.adb
! 3f1da9a0d4f0af99c90fc57a8bb1a039  gcc/ada/g-exctra.ads
! b5915e1b217acd0b2ff267b4e50351c4  gcc/ada/g-expect-vms.adb
! 42498d3397fd35345ec14b75650941a6  gcc/ada/g-expect.adb
! 4aa5bf87efd2a1b4be7d8be640181737  gcc/ada/g-expect.ads
! 075bb90c2fe85923d2e95085dfc9bbb4  gcc/ada/g-flocon.ads
! 56d9326cfe21a7c9b718b8d00a2ce715  gcc/ada/g-heasor.adb
! 4d6a192dccc15ab6e7f71453d38386fe  gcc/ada/g-heasor.ads
! 58f99de38809fb587b28879d802b89d1  gcc/ada/g-hesora.adb
! 3b7b12e0b5a9b5edd285d070567d10f8  gcc/ada/g-hesora.ads
! bb156dfd468046471a8daa7d7695a294  gcc/ada/g-hesorg.adb
! 91e6011b34aa1b751160011372a5191a  gcc/ada/g-hesorg.ads
! 33458acab0b82598f43320c4a107f30a  gcc/ada/g-htable.adb
! 50ec3c16e8a2e4c263c09718287cb03d  gcc/ada/g-htable.ads
! 23154424ada274491b7bb48068881d41  gcc/ada/g-io.adb
! cb35abb757c4ff2855b0227350eb44f5  gcc/ada/g-io.ads
! 02d381521fb4905118b2aeeafff684fc  gcc/ada/g-io_aux.adb
! 326e025b79bd15a6aeed9d4998acf3ce  gcc/ada/g-io_aux.ads
! 1bfbb2a8b83bda733d939e8958208902  gcc/ada/g-locfil.adb
! 1e636cf84723a08ff9a435bdffa4d99d  gcc/ada/g-locfil.ads
! 81d12af955b1c43db28e05aeb4c4386b  gcc/ada/g-md5.adb
! 00ab4b0e55fb8fa76eac2d848ef72475  gcc/ada/g-md5.ads
! 20161c55b1cdd68ba5615449fe8c3673  gcc/ada/g-memdum.adb
! 9f5909c25d622e2f344d641d17ed606b  gcc/ada/g-memdum.ads
! 73f890b8dcb9fe09ee0a73854a5e2135  gcc/ada/g-moreex.adb
! 592a95e7a6b3894878618c89225d233d  gcc/ada/g-moreex.ads
! 88d0ddf0cc9a96c97fb2696ead178f70  gcc/ada/g-os_lib.adb
! 30ba54bc0e05ea63f6217d3afda7b8dd  gcc/ada/g-os_lib.ads
! 4de2193ca8dde5ea00a0f94d4af07455  gcc/ada/g-pehage.adb
! d2ee8dc63b31cf9178f798dedc36a0ce  gcc/ada/g-pehage.ads
! 46f62ae3f86e1a80fb513173172a7412  gcc/ada/g-regexp.adb
! 962f004ae7e0e453ea02d7758cb05581  gcc/ada/g-regexp.ads
! f74a00d43114ee0d115f36aa0cff9673  gcc/ada/g-regist.adb
! 13a1c9564a5b5285fce3c7482bc23c14  gcc/ada/g-regist.ads
! e00a2bca79f12a47e6404c6976f7e3dc  gcc/ada/g-regpat.adb
! 84fe2921ed3641b909efbf59cc4ee66e  gcc/ada/g-regpat.ads
! afd3308001316768fa4984ee990e7e3c  gcc/ada/g-semaph.adb
! 01c504764089db6f6cc485620accbf8a  gcc/ada/g-semaph.ads
! 3c2906a2b9009aa64350780dc08c34bd  gcc/ada/g-sestin.ads
! 0e87949b7ef7f4e202c28e00065aff33  gcc/ada/g-signal.adb
! 8538788cf20dbc9f1fbd29aad3b77d02  gcc/ada/g-signal.ads
! e6800abfe457b331cd79597eb5616b4f  gcc/ada/g-soccon-aix.ads
! 1618269794c7ae695379c091da03b132  gcc/ada/g-soccon-darwin.ads
! bfdadcd82c5f8c254227b3677749a0f5  gcc/ada/g-soccon-freebsd.ads
! 070c1b4685ed936cf0e3c7f29f7a5840  gcc/ada/g-soccon-hpux-ia64.ads
! 6712e8b1416a3c00701ef771e8dd007d  gcc/ada/g-soccon-hpux.ads
! 7eff5a0b60d966f91c7ff545986b319d  gcc/ada/g-soccon-interix.ads
! 79bd5278c7ab01cd4afdd314330b52a1  gcc/ada/g-soccon-irix.ads
! 55903becdb5b35c473130fb437b91ce2  gcc/ada/g-soccon-linux-64.ads
! f17fec29db2d0f71134d650fe977bd52  gcc/ada/g-soccon-linux-ppc.ads
! 4c6647cc77371d7eb5bec141a7f4f83e  gcc/ada/g-soccon-linux-x86.ads
! 093a948dc10fd282a48ab52be443f8f4  gcc/ada/g-soccon-mingw.ads
! 18c73c83336f43330cfe35d160976950  gcc/ada/g-soccon-solaris-64.ads
! 2d949119ad5afb685a1122dc15f849b9  gcc/ada/g-soccon-solaris.ads
! d767ff644279931dac178c27093d20a9  gcc/ada/g-soccon-tru64.ads
! ea0ba2aaaafe27d264bdd5e788a7fa85  gcc/ada/g-soccon-unixware.ads
! d43c7e7aab093d10142dff01abb214fe  gcc/ada/g-soccon-vms.ads
! 722b239f5ed7e84f2308f68f9c1c570e  gcc/ada/g-soccon-vxworks.ads
! 12733bc05cb7ef9db000fe7fce709c65  gcc/ada/g-soccon.ads
! 34c66c60fce60e9b543a4904f1289f70  gcc/ada/g-socket.adb
! b508246d91b8e5b86d5c69bf77a7932f  gcc/ada/g-socket.ads
! eab270d81fba537bbbda3a7d94793da1  gcc/ada/g-socthi-mingw.adb
! 9f465e06cbe48d5156c470ab1d4ed11c  gcc/ada/g-socthi-mingw.ads
! 17a41a6a0fdd8d98303c63040b9f2572  gcc/ada/g-socthi-vms.adb
! 57575362e21d498e8b8d4200204c951a  gcc/ada/g-socthi-vms.ads
! 72b71358fc4a370d5d5919f2518fa811  gcc/ada/g-socthi-vxworks.adb
! 316a8bf1684bb62a1565c89c24ce2548  gcc/ada/g-socthi-vxworks.ads
! b9a9e2ce401ce9b80803316610cd9996  gcc/ada/g-socthi.adb
! 711ec0d68ca5d28c1e976a2ac1036dc5  gcc/ada/g-socthi.ads
! bd5febd8db5bc52b594e5a8e0f61e85d  gcc/ada/g-soliop-mingw.ads
! 9b4051767131b97fd5a53ccdac791496  gcc/ada/g-soliop-solaris.ads
! d563ca72e108c2d90760ff8d8482020f  gcc/ada/g-soliop-unixware.ads
! 4c27dd554da3c25367096f0e4eb4a757  gcc/ada/g-soliop.ads
! d242e4bada790c25ca8a0e40324ecc2e  gcc/ada/g-souinf.ads
! ced48ad070865baa4ad9414307399e5b  gcc/ada/g-speche.adb
! d0f22dac2710937b7832356a32bd7d73  gcc/ada/g-speche.ads
! b029dca5548316f832a06c4b052b7274  gcc/ada/g-spipat.adb
! b076121ad4522fcf332af801903a3d1c  gcc/ada/g-spipat.ads
! a00a1f20ff1dff08c786f258bb640a17  gcc/ada/g-spitbo.adb
! 6fd7f7ac911e1dc553a8dcff42261ec4  gcc/ada/g-spitbo.ads
! 2bc09a6b5abe73612d2f35cf25d34100  gcc/ada/g-sptabo.ads
! 4021e947889a51420a85f6d8719df408  gcc/ada/g-sptain.ads
! 1c929f835c51b633bf6f0a82091d14ea  gcc/ada/g-sptavs.ads
! 693cc3590ac1fc38692902d0844f246a  gcc/ada/g-string.adb
! 61b084c75874588199ce36c12c01e6fd  gcc/ada/g-string.ads
! 03b6b61a55724fdf3b37d40184776e74  gcc/ada/g-strspl.ads
! 025de3a1c687bfaa325d2a33dc4e8f4f  gcc/ada/g-table.adb
! f9a1a7cc507d2ba444f56e1bb3c9b24b  gcc/ada/g-table.ads
! ff9a09e01210596a52ae010ed8331090  gcc/ada/g-tasloc.adb
! 157c3963e2857f583ccce77d225cbe27  gcc/ada/g-tasloc.ads
! 9d463c879d85bd3ba0811cb263847911  gcc/ada/g-thread.adb
! 80101ba54ace923fc3492a1078bc3293  gcc/ada/g-thread.ads
! 4a47e3093f28795431b0a9b442ae35be  gcc/ada/g-traceb.adb
! c9033f453176e99b30ff564eff754c0f  gcc/ada/g-traceb.ads
! 19ae870f060f3513ab8a0d370a740e95  gcc/ada/g-trasym-vms-alpha.adb
! b2b22825cefa039653b6f3effaf23372  gcc/ada/g-trasym-vms-ia64.adb
! 9614a8eb5d7f8ac1619da246bc85f09c  gcc/ada/g-trasym.adb
! 40ed0e22019dde8350418b32b259a237  gcc/ada/g-trasym.ads
! 007970f45b5ae435f3df23dbc58cc867  gcc/ada/g-utf_32.adb
! fdb8d99234b14a20a5e241eb5dc75861  gcc/ada/g-utf_32.ads
! 53779b5327c799fa364a44588fe660e7  gcc/ada/g-wistsp.ads
! c64338deff6b77f7dc4368b1191b31d1  gcc/ada/g-zstspl.ads
! f096cb6b1c34a781530a0e596edd28fd  gcc/ada/gen-soccon.c
! b5d40490022efe790c0fc90ee826a8dc  gcc/ada/get_targ.adb
! 961e783656ab1a3d041479eae6fa1ef0  gcc/ada/get_targ.ads
! 4d8a3f2532aa838db44802e1ba586971  gcc/ada/gigi.h
! 9c9b89d84f9ddc72c86f8ed60c2ac6b9  gcc/ada/gmem.c
! 021d0263ae471d6685213d64db698355  gcc/ada/gnat-style.texi
! 1f52a34b9b61151ab8b0807551308c8a  gcc/ada/gnat.ads
! 3daef47104cd0b1e254d9894dcfa9dd1  gcc/ada/gnat1drv.adb
! edf67350a8cf5d2580af0d45355a12c5  gcc/ada/gnat1drv.ads
! 0e6635a6955101d0ed9c1758308d23bc  gcc/ada/gnat_rm.texi
! b67648c4712b9a9a35b49f5c4caf7794  gcc/ada/gnat_ugn.texi
! 678bdc56d6c52f3564d1a3532f3c0f0c  gcc/ada/gnatbind.adb
! 45b822b27e1598e5771244e4659535c7  gcc/ada/gnatbind.ads
! 015ea5c39a799f5cf1b222e525b53e03  gcc/ada/gnatbl.c
! 05ea2b2a0a91d51a9c6a5aaffd81ad7a  gcc/ada/gnatchop.adb
! fa9995e93c979821a663785c4989f097  gcc/ada/gnatclean.adb
! 5749c2e0fc14cb2364562f148445227e  gcc/ada/gnatcmd.adb
! 0dc3e176846d5290375dbe0d7c51aa45  gcc/ada/gnatcmd.ads
! 83b620194dfbc9f2cda17529bf15a8c3  gcc/ada/gnatdll.adb
! 95a0647072efdaaa82c63391d09dc5f6  gcc/ada/gnatfind.adb
! e287332f5c11d402f6ddbec58568f2a8  gcc/ada/gnatkr.adb
! 72abed919789ecff69a3aae9228e283e  gcc/ada/gnatkr.ads
! c0c771f28cc7f408b39668c5c4bd6f4f  gcc/ada/gnatlbr.adb
! 18e4dfa93c791f031cc9bef317ffc138  gcc/ada/gnatlink.adb
! 169f9796fe0f6d8bc09fc92508e960d5  gcc/ada/gnatlink.ads
! 1ca493fbc75c22c73f504fdf9b564968  gcc/ada/gnatls.adb
! 4354b3ba37edec2ab01b5aa8ff076df4  gcc/ada/gnatls.ads
! ccdbc78fe81613100aa35f19bf0aec0f  gcc/ada/gnatmake.adb
! 9a6c0645393e1cb189c1c6b49539a415  gcc/ada/gnatmake.ads
! b8df97bf57998adf74f59c91e5ce79cb  gcc/ada/gnatmem.adb
! 260a346515a7c871b26506005bb755de  gcc/ada/gnatname.adb
! d67ed2d19f0c596b068d856bee0bdd3d  gcc/ada/gnatname.ads
! 486672b21794f9ca019ee4eaf242de11  gcc/ada/gnatprep.adb
! f7074f9ab74465ef5fd3edbc4ac590d9  gcc/ada/gnatprep.ads
! 59d73ca215af8ac43ceb024e6e9250cc  gcc/ada/gnatsym.adb
! c2642fc827b2219f4dfe6753b199c9b6  gcc/ada/gnatvsn.adb
! 7ba8f15f697a2c6905244b3e7bc82281  gcc/ada/gnatvsn.ads
! bbe6aba9f6a8005fe4cb0959f899160b  gcc/ada/gnatxref.adb
! 76e58665e31e529cd8fd8084875387af  gcc/ada/gprep.adb
! 9b1c74ac82dd0a21648d09df0333a3e8  gcc/ada/gprep.ads
! ce61b891b20d2705c2f4232ab2a3cff3  gcc/ada/gprmake.adb
! db65ed829a391c8b3747bc7580717b13  gcc/ada/gsocket.h
! 78b6dfc2bf26fde9cce80906a8f30d1a  gcc/ada/hlo.adb
! dcfcc25ca3dea3947c36642796c8c0fd  gcc/ada/hlo.ads
! 47d1eb63f8c022e30ac7e005cea8b944  gcc/ada/hostparm.ads
! 779e857a5253b583f0505ab212476f15  gcc/ada/i-c.adb
! 7960ba3740388f5bc5fa7c6a6d755645  gcc/ada/i-c.ads
! 732256c8c2408e53f93d5d6d2bc3b668  gcc/ada/i-cexten.ads
! ff44917cce06292e767383a24baf8158  gcc/ada/i-cobol.adb
! 913d4f5bf8925c438cbffbe6e0e9c94c  gcc/ada/i-cobol.ads
! 9a80af75d5fbe59ab363e7b2d36f5993  gcc/ada/i-cpoint.adb
! dde267b3edc0a2e598f4bfefc23eade7  gcc/ada/i-cpoint.ads
! eca2266e1ab0b8ab109e30588e4e5d26  gcc/ada/i-cpp.adb
! e37621b423955f01a86e208a5225a634  gcc/ada/i-cpp.ads
! 16c768a6b57e11310b1eac51bd187878  gcc/ada/i-cstrea-vms.adb
! adec1ce9c9737fb854017912d75b21c9  gcc/ada/i-cstrea.adb
! d0a0edf9735b81f0ea1e18c18dfe33f5  gcc/ada/i-cstrea.ads
! 245b74ceac51c1e9b07ec2d1eb9adbe3  gcc/ada/i-cstrin.adb
! 636df185582afb4ed6f60578de7caf11  gcc/ada/i-cstrin.ads
! 6653d82a4ccc866640888f90833c6936  gcc/ada/i-fortra.adb
! 400bc9cf22816d58099a1a8dbed45266  gcc/ada/i-fortra.ads
! d65250ae7510469963a25ab733ed8815  gcc/ada/i-os2err.ads
! bec9b9f6eeacf8fcdd4438bf7ca5f37c  gcc/ada/i-os2lib.adb
! a95d4efddca59bc78b2f3353085a8279  gcc/ada/i-os2lib.ads
! 469cba502627471003b872767c1dfcf1  gcc/ada/i-os2syn.ads
! 1cb0543ed4b1d3863d5e8a872602456f  gcc/ada/i-os2thr.ads
! 6a30dd45aad01960566b3424f6d554b4  gcc/ada/i-pacdec.adb
! 832f8cc407a478f23d7433ef1af985cb  gcc/ada/i-pacdec.ads
! 8b62ae6e35770cab9fe8476ea8413e0d  gcc/ada/i-vxwoio.adb
! 223c04c4714967a7c326371fd6db9ebe  gcc/ada/i-vxwoio.ads
! 463413ef7befb04d11318a15b7dbf00e  gcc/ada/i-vxwork-x86.ads
! c383b802287f466db201814d6836e995  gcc/ada/i-vxwork.ads
! 8cc79761f9e9feb4118b24d08479a631  gcc/ada/impunit.adb
! bbebbb130a576ea49688d7ea790e0fc3  gcc/ada/impunit.ads
! 114348bf47a1a6e5fa15f35c75821647  gcc/ada/indepsw-aix.adb
! a98472f6d766cb5a95107b1f342512f9  gcc/ada/indepsw-gnu.adb
! 4e3523424dd614d4d011fe53587d410d  gcc/ada/indepsw-mingw.adb
! 5d324dab8bbcff5e72e53dc6ba8b1a97  gcc/ada/indepsw.adb
! ccef48b3fea2791766058b855782b414  gcc/ada/indepsw.ads
! 2c7eae41484cc4047d6b304692d1731f  gcc/ada/init.c
! 377c3480c18898802bfb4b4e0f8d79a0  gcc/ada/initialize.c
! 1d0192089a6326381e8bca0fd61978df  gcc/ada/inline.adb
! 06ad6757246290f4fce76a824d487108  gcc/ada/inline.ads
! 6a275e14684634450c58398cecd513b6  gcc/ada/interfac-vms.ads
! 0b201a3803abf632d683ec499e5de347  gcc/ada/interfac.ads
! 17ca9fcf49465ba149d8d0e22fc3d1ca  gcc/ada/ioexcept.ads
! 97d9e9067cfc8f3df337454686eca3d4  gcc/ada/itypes.adb
! f6c246078b5157ab3fa21b40c5a7dd57  gcc/ada/itypes.ads
! fdee0b1fb2785e538b4d3e06995ed872  gcc/ada/krunch.adb
! 47374e76768c859380183c6b8d171d22  gcc/ada/krunch.ads
! 8f3364180a360d700f2e36121dfa0ee3  gcc/ada/lang-specs.h
! a38ed8fbd7c6d5e2512b15ee45e7a015  gcc/ada/lang.opt
! 4b5660f1042fc617f6d30b8fd0b8cf28  gcc/ada/layout.adb
! ccd269bc3d148083a5fc612e943ada28  gcc/ada/layout.ads
! 11cb36b67eb42cdd27781eac5b16131f  gcc/ada/lib-list.adb
! d11667cb79f5ef9194bedb4c470462ef  gcc/ada/lib-load.adb
! 8daa0179da961004d5ca3d70c5273484  gcc/ada/lib-load.ads
! 70e16f0c5d9a318054d2d884183ec0e4  gcc/ada/lib-sort.adb
! 377a78f14289b01e6a868ab302aaf7e1  gcc/ada/lib-util.adb
! 943678cb912ded855391f98747704e27  gcc/ada/lib-util.ads
! fce1b2c814459b89d8857b989a5aa921  gcc/ada/lib-writ.adb
! 160b1f4fa76eac334160017ee1d514ad  gcc/ada/lib-writ.ads
! d7da6639b3efc245ba3c123762600e61  gcc/ada/lib-xref.adb
! 0e67dda0d48a8e44796d070971dacb20  gcc/ada/lib-xref.ads
! e08e4cf51a5c989760b05f1914655595  gcc/ada/lib.adb
! aa98b607783441d9e6852e159c06eecd  gcc/ada/lib.ads
! 790cc0afaa84abe5ea4c4793ece7a052  gcc/ada/link.c
! eca8edc0a6f9386cade7132b7b7a7c97  gcc/ada/live.adb
! a6e7ecd448ad0a4604c3e6de1fea5b28  gcc/ada/live.ads
  426e42acd80a6b13517d5bfadc23a870  gcc/ada/machcode.ads
! 00cc149ae682af4394dd3e397ad76b50  gcc/ada/make.adb
! 9c8faa0596029e08856bf529e97afad7  gcc/ada/make.ads
! 29016daed67d8cded9fff899787243f7  gcc/ada/makegpr.adb
! d17c6cf8c22ece3d2459dea021c1b2c7  gcc/ada/makegpr.ads
! ff1206e22d06cc9480211375495a8214  gcc/ada/makeusg.adb
! 9f477a4b1a7132d31803a7fb7ffa1154  gcc/ada/makeusg.ads
! 8b978991fe51116b89740672e022c4f6  gcc/ada/makeutl.adb
! 2714085e060c822259e37a7449ff0b36  gcc/ada/makeutl.ads
! 11f3918c472966e6dfc77bc1dcde048c  gcc/ada/math_lib.adb
! 296086cc22ec5cc173d074456eae2b8d  gcc/ada/mdll-fil.adb
! c7a3b116c8aefa86cde23d6b176cac50  gcc/ada/mdll-fil.ads
! f69c5dc2b0189b4bb7dcff9703159ad8  gcc/ada/mdll-utl.adb
! 6d816cf1448afbf270478a18ad66da38  gcc/ada/mdll-utl.ads
! ecb7da136abbc8f6b38d41aed5ae090a  gcc/ada/mdll.adb
! e84044f4e404acdcab4b51ad9f575e05  gcc/ada/mdll.ads
! a992d9687061adbb9369c07208ae7829  gcc/ada/memroot.adb
! 9b79440458fc41e325706e14e6398d7e  gcc/ada/memroot.ads
! 21f26da3d16e89177534a0f544dc08fe  gcc/ada/memtrack.adb
! 7930b9b1ffc71ccdfbac66d477edf159  gcc/ada/mingw32.h
! b1b3f175c4a9c90a1c39dd71004ed9ea  gcc/ada/misc.c
! 56b3f620d9726ff9edd160943916c908  gcc/ada/mkdir.c
! 1c659640535f1c6b040b2dfe6b69f84a  gcc/ada/mlib-fil.adb
! e325a9504427e91ea5c1b365027b7010  gcc/ada/mlib-fil.ads
! cc1d413680253e3d3bf9ecd4c286102c  gcc/ada/mlib-prj.adb
! ee8c3678e6a5ae9e4a88d65cad58bb48  gcc/ada/mlib-prj.ads
! 291a105499c012a00fe596738aad71da  gcc/ada/mlib-tgt-aix.adb
! 80338e7a5cbeda002eb57e48e2603a49  gcc/ada/mlib-tgt-darwin.adb
! 82b10a05ebe4f0e9db3ec9a5500e2e97  gcc/ada/mlib-tgt-hpux.adb
! ec795a5c248ed68d0e018c4744002822  gcc/ada/mlib-tgt-irix.adb
! 03e4d756099ad385cca9049ab8182bb8  gcc/ada/mlib-tgt-linux.adb
! 22276ee39321c457e2a23995b9fe205f  gcc/ada/mlib-tgt-lynxos.adb
! 68fc4e3f7110cd1a001d992adc28be18  gcc/ada/mlib-tgt-mingw.adb
! 75300b6d192b6cfdb8290d904782c7ff  gcc/ada/mlib-tgt-solaris.adb
! 7c8ee1a2f571537e38be1439f9240a8c  gcc/ada/mlib-tgt-tru64.adb
! 6704b074d65911e250adfd72287e7ffe  gcc/ada/mlib-tgt-vms-alpha.adb
! ad9170ca289f52c2251c38209b1e892f  gcc/ada/mlib-tgt-vms-ia64.adb
! 294b099167a445d5301ea513d7992955  gcc/ada/mlib-tgt-vxworks.adb
! c6297b7e8d50e3bbaec0230df3526a25  gcc/ada/mlib-tgt.adb
! 915a2ca280b47afece996d450fcb7145  gcc/ada/mlib-tgt.ads
! 6afaa4ad566a291128daa3f652261bf9  gcc/ada/mlib-utl.adb
! 6506d6711cfd2aaf8a21f9e7f485a4ed  gcc/ada/mlib-utl.ads
! 8b9762abdd3eff5529cce05c16e823fc  gcc/ada/mlib.adb
! 219030be3a06d9b91e1137f2358e82a9  gcc/ada/mlib.ads
! ddbe5f5872ed1848b8def2b5bbbff467  gcc/ada/namet.adb
! 500534abee3074c9f6ae4e89c0a45ac4  gcc/ada/namet.ads
! c47fea8afb6667a582873a701b7f4576  gcc/ada/namet.h
! 06f94885e6c1177a687e027757d056f7  gcc/ada/nlists.adb
! 0d040a59fbdd59f7743806ae6a9d57b4  gcc/ada/nlists.ads
! 962dd2d5f63faf7acf1f9240f4612877  gcc/ada/nlists.h
! a74d71ebf3b009582bec35773ff67f5e  gcc/ada/nmake.adt
! a9cd1e944be3b900abb0b4c8de20585e  gcc/ada/opt.adb
! 1d029fd47a9cc4f8ef388d6d89b801b5  gcc/ada/opt.ads
! ab677c3b9d3bc885bd7ea0cdb3e14561  gcc/ada/osint-b.adb
! c3af0e99d937c4fed8622ca227a93c30  gcc/ada/osint-b.ads
! 143ae41c7be1ddbcdb4999e32af4997e  gcc/ada/osint-c.adb
! 1b1b7fa8e4675266556d844989290607  gcc/ada/osint-c.ads
! 2c81875511e455bf368a36851b0e4081  gcc/ada/osint-l.adb
! 373dc449858dd78a0edde26cdc201d9d  gcc/ada/osint-l.ads
! a10776bf68c262e69b58e08364f2e962  gcc/ada/osint-m.adb
! 9492beed24a41b0c797c97f275ad994a  gcc/ada/osint-m.ads
! d4f7b1b948ee18cd94e55325d69079a3  gcc/ada/osint.adb
! 6eeeaf30baf012483d1aa2db63e80bf8  gcc/ada/osint.ads
! 989816dd40d0cd869b9c2047ff7c4bd3  gcc/ada/output.adb
! 62e854d7f531742857d8b1a9c1ac214e  gcc/ada/output.ads
! 36a6d356703af78243e47566e3715d88  gcc/ada/par-ch10.adb
! c8d25e685de13249bdfd360e36b6546c  gcc/ada/par-ch11.adb
! 86b3de7648cb1887190eab69a940b49a  gcc/ada/par-ch12.adb
! 93e39aa7825115a71cfda325e27bf6ab  gcc/ada/par-ch13.adb
! 62b4a20bf52320fe3f2908ee85599732  gcc/ada/par-ch2.adb
! 5ad4b68ddf209a5f482ef235660a0f7a  gcc/ada/par-ch3.adb
! 2e517fd530fb3396ed6aadb2de17d87e  gcc/ada/par-ch4.adb
! 305a2bd25d4d94bd092c3d5ecd3d6fbc  gcc/ada/par-ch5.adb
! d93d4ea32739224c77f89dbc805b76a3  gcc/ada/par-ch6.adb
! 23579a86c80bc039cb84e287da418757  gcc/ada/par-ch7.adb
! cce4e104b86cb7f93e77b0073ffd9b0c  gcc/ada/par-ch8.adb
! 1a2008b97a3a42ffa9f702532e3d1119  gcc/ada/par-ch9.adb
! e724930fea5e3cdbafa85bc947bca557  gcc/ada/par-endh.adb
! 29e28e7ec2377dcf377e64fc026d8459  gcc/ada/par-labl.adb
! 3e39b4472de6b7222267fb426ff67b4c  gcc/ada/par-load.adb
! 1fe99476270171e93393cd524d3b3884  gcc/ada/par-prag.adb
! c0bb4258824f918881184398c4e1f721  gcc/ada/par-sync.adb
! b827ebb87b739042b922987bbd6562de  gcc/ada/par-tchk.adb
! f5006037a7c34eda5f3f819711377039  gcc/ada/par-util.adb
! af518f536b514c2f174017abc73e83ef  gcc/ada/par.adb
! c829e4b184b7c3df73cf91eb3dac52e8  gcc/ada/par.ads
! 3a41c429702b30e49840de2bb0097e8f  gcc/ada/prep.adb
! 9c987384f1ea24318ceaba23fda42033  gcc/ada/prep.ads
! 702212acf09675b4ced3ab4ae6e1d2ef  gcc/ada/prepcomp.adb
! 28c084a63eac69c1da8e5433f84b9ca4  gcc/ada/prepcomp.ads
! 141fc1b23932fe97973968b81f36213d  gcc/ada/prj-attr-pm.adb
! 7f655a74c6f1e75ee93fd992eed4ec31  gcc/ada/prj-attr-pm.ads
! e9ecc6f11fa910b4e7da460fd8c2de63  gcc/ada/prj-attr.adb
! 0bed53de594239189e21c531d7c1d09b  gcc/ada/prj-attr.ads
! 386c681ca29a626e3599c2f8e1e3bce6  gcc/ada/prj-com.ads
! b22e5d7a4410d5602fe68374f4cfd5f5  gcc/ada/prj-dect.adb
! 48667cc6106486d6f839e9efdea67cf9  gcc/ada/prj-dect.ads
! 6133ceda2578f9a0136cabbdf2cc3f1d  gcc/ada/prj-env.adb
! 3f6fc421df030acbf55096d90adbc6d3  gcc/ada/prj-env.ads
! 30acb629242ae7ee705a6013960e43e7  gcc/ada/prj-err.adb
! 34c521dc54bae56837082eec18b9b290  gcc/ada/prj-err.ads
! dccfc735f36318f076c5b51ae1dd764e  gcc/ada/prj-ext.adb
! a21204337dc82d1624e5f31bf3297963  gcc/ada/prj-ext.ads
! 6aa77b12c1e0bcb74a4841ad4a9b036f  gcc/ada/prj-makr.adb
! 47a520a96c00ec8eb3a1df97dc613e63  gcc/ada/prj-makr.ads
! d94ee8ab69eef4f262b32a2bb58df664  gcc/ada/prj-nmsc.adb
! ee4b8a4ffc1b7c33fcb700e356562b63  gcc/ada/prj-nmsc.ads
! 93e72aeaa27bf2246ca3396bf3b0c195  gcc/ada/prj-pars.adb
! 2494eb63fd7ca1decf593835d42b32a2  gcc/ada/prj-pars.ads
! f0f7bdc89c6066ca2ef730dcec19f071  gcc/ada/prj-part.adb
! 6451c88e9a8ec797be044a7c4e9fd2c6  gcc/ada/prj-part.ads
! df6842ad3dbaa98fbafbecbab4528ddc  gcc/ada/prj-pp.adb
! e3a3d420b599595fffafdade5229bf9a  gcc/ada/prj-pp.ads
! 31ef2d6604624ac10311cf07bbef14a2  gcc/ada/prj-proc.adb
! 631cf19c679ccab09ed9851c7841cff3  gcc/ada/prj-proc.ads
! 67219f28e57ffe5f8b5062a763d36341  gcc/ada/prj-strt.adb
! 694d148db47c431007c42236f4d18f99  gcc/ada/prj-strt.ads
! 3917e3159b590fe4153cbd9d2b1da9ac  gcc/ada/prj-tree.adb
! 7d0f43ca869729432c2aaddab30d6d3a  gcc/ada/prj-tree.ads
! a892a3af53313fcf1e5ec0c7baaf37ec  gcc/ada/prj-util.adb
! 96e20a6f0edb42705d48a7f994c7e81a  gcc/ada/prj-util.ads
! d7f97e99213034958910569b29d616ad  gcc/ada/prj.adb
! db9a40051d7d23516f11017bb922a26c  gcc/ada/prj.ads
! 93bfcde168a4cd97b7f14ae3ca7378e9  gcc/ada/raise-gcc.c
! 184d6fcd9ebd60cccd6cea644db901df  gcc/ada/raise.c
! 4cf3d491ecd6fc1daa4989b94e488d70  gcc/ada/raise.h
! 8db418951168930dbc8a2714e42851a4  gcc/ada/repinfo.adb
! 9fcbecc148873f61b745bf05aeec7212  gcc/ada/repinfo.ads
! 9e901d553f4b6ccf5c9fcaf90b473f41  gcc/ada/repinfo.h
! 388e2bf4d7ba6707f2e299c54d783074  gcc/ada/restrict.adb
! e158ce1c1be011aa073c582c8d46c035  gcc/ada/restrict.ads
! f887faefffa993900d5d30d9523861ba  gcc/ada/rident.ads
! dc92845051915b10bf7d9cb5b2dd8859  gcc/ada/rtsfind.adb
! 2a8cb56905490de2805c59e322a08ba1  gcc/ada/rtsfind.ads
! d1d375ad9627e802f48c5ec55d277a3c  gcc/ada/s-addima.adb
! 6f8d402779c13dfabac96d791cea806a  gcc/ada/s-addima.ads
! 6eef4bfb66df78d612af108dc119c687  gcc/ada/s-addope.adb
! 89b5b03fc797ab609631ebf1d190a5f8  gcc/ada/s-addope.ads
! 3e7852297910190c9b0f0ecf0be23259  gcc/ada/s-arit64.adb
! 77ef46e619f52b9a0b19d8d6219d3cd9  gcc/ada/s-arit64.ads
! 3801607940ee349812688a30152ff1a8  gcc/ada/s-assert.adb
! 1ee50a7083896fe9a20b00c81d668064  gcc/ada/s-assert.ads
! c18956dae24ed312e4ff28ca8eec3d7e  gcc/ada/s-asthan-vms-alpha.adb
! 4145cc50cd423e383d6c8a7694cdc29a  gcc/ada/s-asthan.adb
! 2236b1077f844cdc650538b6b3cfaee8  gcc/ada/s-asthan.ads
! e2cfa46f11abdac934cf3b1a68016a4a  gcc/ada/s-atacco.adb
! 5199b1c1e28c98dec95134cb36e2bead  gcc/ada/s-atacco.ads
! 275f3dbc2efaf17ebb3344bd4e979542  gcc/ada/s-auxdec-empty.adb
! eef9ab6b72845f60b24bd8081a2c4bf8  gcc/ada/s-auxdec-empty.ads
! 9048e1713a125308deb3743180ca133a  gcc/ada/s-auxdec-vms_64.ads
! 906ec685ee0afbd3fc8c1ea26935e06b  gcc/ada/s-auxdec.adb
! 68ed5dbb183e7dfa3f0b09a10f38514e  gcc/ada/s-auxdec.ads
! 34559d2d59bf32f7794b812066f605ad  gcc/ada/s-bitops.adb
! cba32959dfc15897d27cc0d3b32ccaae  gcc/ada/s-bitops.ads
! 4763e9bc8af4a88d52b47444bfed4213  gcc/ada/s-boarop.ads
! 61dda7315475c5ee36c81697079d1d56  gcc/ada/s-carsi8.adb
! e702bfbad5f374ba4d4261a2f9f28a6d  gcc/ada/s-carsi8.ads
! 385c40ba99243762be5da0d66527500e  gcc/ada/s-carun8.adb
! 77e1efc9d2a6e85d93a4f4cc35a48b51  gcc/ada/s-carun8.ads
! aec7968c4a2e284a2ed61ea83899405e  gcc/ada/s-casi16.adb
! f6f3ed96f19ea0ced6aaa07d1ef3e858  gcc/ada/s-casi16.ads
! 7c51527c2b9d861b0af2f392187c21b1  gcc/ada/s-casi32.adb
! 41a593400773dd44a6c0df1d57fad126  gcc/ada/s-casi32.ads
! e47ebc479923f8bcef1242aed67a6db3  gcc/ada/s-casi64.adb
! 617dba2b8b581e59a7a66ecc3f2e11db  gcc/ada/s-casi64.ads
! fe7eaab7614f843eade92a785865a0c9  gcc/ada/s-casuti.adb
! 7b3797b287e055e41bdfc5f16231ddb1  gcc/ada/s-casuti.ads
! 62deade9efcc71b0366b9e6fc7d75605  gcc/ada/s-caun16.adb
! 674e5225b4cee4bdb592ee027fed89d3  gcc/ada/s-caun16.ads
! 3867b9578a98341c5532dbc5ee8db074  gcc/ada/s-caun32.adb
! 704bccd63dfea937a95a46178fbdbdaf  gcc/ada/s-caun32.ads
! 1c6d734809f27d657d789977cd2945ef  gcc/ada/s-caun64.adb
! 90c2adc072994d16b1c253a19f05a997  gcc/ada/s-caun64.ads
! 5ab4b25011c971ee2c0437910e42c26c  gcc/ada/s-chepoo.ads
! 3d6c247beda900398e273c18ada3be4b  gcc/ada/s-crc32.adb
! e62e3191637cfef7ca995f9f59286f28  gcc/ada/s-crc32.ads
! 0eb9b486195a69af873b04f785aa5c76  gcc/ada/s-crtl-vms64.ads
! 728b214aaf496713df5e9c5ad1a40996  gcc/ada/s-crtl.ads
! fa1321f842c9bddcfa063f88fa1059bd  gcc/ada/s-direio.adb
! aa3315666dfe840fb4e1377512e91caa  gcc/ada/s-direio.ads
! c7ff0551c047caeb4dd4cbf1c6652700  gcc/ada/s-errrep.adb
! 1c96840a5a448e51ee9216afb0b4565a  gcc/ada/s-errrep.ads
! ca78662de77dc4110471cac463cbc6e1  gcc/ada/s-exctab.adb
! a271a2ecfb1bcdcdce5458baea4d2ac6  gcc/ada/s-exctab.ads
! b39d41720597eb62e98a1e32eaa4b7bd  gcc/ada/s-exnint.adb
! 5bab2952d38b350dc35afd2e0ee9c499  gcc/ada/s-exnint.ads
! 21064de557c47a1ae32433df4445cf0f  gcc/ada/s-exnllf.adb
! 1e1e211b6b886cd1344f41397e283c76  gcc/ada/s-exnllf.ads
! 8a8003d51d43fe53c3ef4a115b502e39  gcc/ada/s-exnlli.adb
! 8e44fb5011afc257245e771f2b75bb7c  gcc/ada/s-exnlli.ads
! 7fac8eb125ce67a2535ccd9741c8bec1  gcc/ada/s-expint.adb
! 5aeab42ff5750a656e9fac395f17f90d  gcc/ada/s-expint.ads
! a416ff1da08c210d7a56045065ad4d68  gcc/ada/s-explli.adb
! 76c20e67a22d36bacf6f8e4f1f344d5b  gcc/ada/s-explli.ads
! 3d94f38af7f12a65b6725550566a10c6  gcc/ada/s-expllu.adb
! 751370e712772562f935811aef3bbd59  gcc/ada/s-expllu.ads
! c10e016bbc32b3fda3e4e048a9dc2689  gcc/ada/s-expmod.adb
! 2826e367a4c50d55025c62d4d33c8ef7  gcc/ada/s-expmod.ads
! 091ef0d01f470533bf3f19afe00b78e8  gcc/ada/s-expuns.adb
! eb26cc774f7b28d218c033d5a57afba7  gcc/ada/s-expuns.ads
! 79f9af229328ba26af4c3ee75de49291  gcc/ada/s-fatflt.ads
! 4e9b2269babd5bdf945788ead759106e  gcc/ada/s-fatgen.adb
! e928b99fba47106a73ecdecacf32cab4  gcc/ada/s-fatgen.ads
! 8a327bb4735411c8a9c9f61dd1b5441b  gcc/ada/s-fatlfl.ads
! a2fbaa6fb6de4ed7a91cb58e5fd55430  gcc/ada/s-fatllf.ads
! fa2c88777b28f806aa930e3d601143e6  gcc/ada/s-fatsfl.ads
! de49016749b2fc8a8f5556254de5ac55  gcc/ada/s-ficobl.ads
! 8cb23961d6db8722ff187a84bad49275  gcc/ada/s-fileio.adb
! a26836539fc30d57d58b75fb73a354d8  gcc/ada/s-fileio.ads
! 7714d6e7e1994e7d926a63711f72b260  gcc/ada/s-filofl.ads
! 145d7059264a3f1e96fc1e57dbe9548e  gcc/ada/s-finimp.adb
! 1ba8cf3618c2afa3355977cfb7039837  gcc/ada/s-finimp.ads
! 8c256b7b37d59e7b5f6396a7be7f26c1  gcc/ada/s-finroo.adb
! f3dfc92221bf02bd9e919e8cf51c1356  gcc/ada/s-finroo.ads
! 8297c7f6e9ab6b6ca1dcdbfe99edc6a2  gcc/ada/s-fishfl.ads
! 7860476b8e7de00140d50a75d5826a45  gcc/ada/s-fore.adb
! 8253150803d99d5a138e43973ef80c37  gcc/ada/s-fore.ads
! 6e4e6866fa5cbc79b152d9e6c0a34191  gcc/ada/s-fvadfl.ads
! 74cf4df7070d826e82eced584f895274  gcc/ada/s-fvaffl.ads
! 685ec104bc94fa4028a8621a908811b1  gcc/ada/s-fvagfl.ads
! c63c5a82cb6fa6d4662b102c3e42a8ca  gcc/ada/s-geveop.adb
! 39112c34ff702831659eed69d41908b6  gcc/ada/s-geveop.ads
! 56c69c089c61d695ba82cd9b76f999ef  gcc/ada/s-gloloc-mingw.adb
! 3c5c21b04f70a6f48da5bf0b102aa792  gcc/ada/s-gloloc.adb
! cc618ef04cc170b563cb19c36c29180b  gcc/ada/s-gloloc.ads
! 75eb1693374965fd269350aa8a6141fa  gcc/ada/s-hibaen.ads
! 744ddaccec7a2b8a42dc6f1ed1175cd4  gcc/ada/s-htable.adb
! 59bdbb8a1d35074a827bc1b3cbb85770  gcc/ada/s-htable.ads
! 09191f4574bfec23107cbb9e1f2fd1e8  gcc/ada/s-imgbiu.adb
! 80ae835edd1e883e11e05081d47b7946  gcc/ada/s-imgbiu.ads
! 7d6326b023ba1a33280ff6ebfc50db3b  gcc/ada/s-imgboo.adb
! 0167044dfae32b19ad0b848869fbfdfb  gcc/ada/s-imgboo.ads
! 86a01f3661bf6c1ae39c3a974ea23c50  gcc/ada/s-imgcha.adb
! 81fc4e7246d0f602f6335ca0afec56a3  gcc/ada/s-imgcha.ads
! 928fa8e03d7b0b8ae008e16d041f20ea  gcc/ada/s-imgdec.adb
! 605bb4446ea03ab58edb0a000ce44e93  gcc/ada/s-imgdec.ads
! 4782e4827843bdc16e90bc0ea0d06973  gcc/ada/s-imgenu.adb
! 79201a30cac10243d1b11a6e16e56a9e  gcc/ada/s-imgenu.ads
! 9cf49d060c2c9ab1b07da30fda091c64  gcc/ada/s-imgint.adb
! 1e56a44e71f2234905f0a6ae95ab5013  gcc/ada/s-imgint.ads
! 3d8d350e031c927b5315b1fce17400a3  gcc/ada/s-imgllb.adb
! 89e3181cbc6f10253756d98d439e51b2  gcc/ada/s-imgllb.ads
! bbc0eaecfe03210c8ab362c6840d70ea  gcc/ada/s-imglld.adb
! da95499472d7460d13b8518e4e353edc  gcc/ada/s-imglld.ads
! 6be54b78233f0d273b8da179633c5780  gcc/ada/s-imglli.adb
! 533abfb1413a3bb2606e2bef6c2d2225  gcc/ada/s-imglli.ads
! 1b0965ea0ebf4daa87ee216e67cecef7  gcc/ada/s-imgllu.adb
! 7c937330b60eca51d0fafb5cff9efcd6  gcc/ada/s-imgllu.ads
! ad356f7a8d2277a206b76d3d1bca117d  gcc/ada/s-imgllw.adb
! 31155ff46f26b00569afd39fa47999cb  gcc/ada/s-imgllw.ads
! f2b9a8d6a349b8e5c1146f3a8d83407d  gcc/ada/s-imgrea.adb
! bedf456942985292b9ce73423b040ec6  gcc/ada/s-imgrea.ads
! b8d25c44996bfccdf809e5f331c5330a  gcc/ada/s-imguns.adb
! fa7965f3bb6bf2194ee1aba228154a35  gcc/ada/s-imguns.ads
! 09e796e378fd9f6adfa1374b290da866  gcc/ada/s-imgwch.adb
! 9673f7271d6c76c7351faa60e637597a  gcc/ada/s-imgwch.ads
! 87889e74fb69818f62885a6fc478ac05  gcc/ada/s-imgwiu.adb
! a3b395816da81f6876d0c78cf9e267eb  gcc/ada/s-imgwiu.ads
! 65949b20c7a570241246933fae575107  gcc/ada/s-inmaop-dummy.adb
! 4494df74afd31494eb316c360ecc0bc9  gcc/ada/s-inmaop-posix.adb
! 3893f2875250d061bc3226627f4ba815  gcc/ada/s-inmaop-vms.adb
! 2146d3a06e8808166c1bcf35e7756668  gcc/ada/s-inmaop.ads
! 3b3cf04c8b3cf117f62f5409c8548c92  gcc/ada/s-interr-dummy.adb
! 50e46da9bdb1c2190ff1a4fc8d9718aa  gcc/ada/s-interr-sigaction.adb
! 19a33fb3180369eb5536e40f02e40b9b  gcc/ada/s-interr-vms.adb
! c808ba72f525d1004fcea2cc84e494d0  gcc/ada/s-interr-vxworks.adb
! 02d37e851ceae66b5997638671e39a3b  gcc/ada/s-interr.adb
! df1c97c0066c3762f1ef772d1fa10b1a  gcc/ada/s-interr.ads
! d53a17c9b3545328711f2c2121dc5792  gcc/ada/s-intman-dummy.adb
! aecad0acf3aac094138380d3f77dec06  gcc/ada/s-intman-irix-athread.adb
! 27cad5b6c9a27fd2f61803fe1b91d20b  gcc/ada/s-intman-irix.adb
! 1580eae0a0c64bfeade0e31be8d907db  gcc/ada/s-intman-mingw.adb
! 1102e7537824b3ded3a5fb98ac329381  gcc/ada/s-intman-posix.adb
! de27ec27b24b02730d840bbe8c1bb107  gcc/ada/s-intman-solaris.adb
! e41b817b824d8aef84853ffc14d6cb5a  gcc/ada/s-intman-vms.adb
! 11ac3e070c1c499bc26389b3833d7d8b  gcc/ada/s-intman-vms.ads
! 31ea64af2390b1df406fc3beae325643  gcc/ada/s-intman-vxworks.adb
! 506cf19b13590b36b1c135a5601a1c01  gcc/ada/s-intman-vxworks.ads
! e9d697ae30aa317c8285ec3475b66e62  gcc/ada/s-intman.ads
! 3145c5b195c7d7cd67053dff3c95b1f1  gcc/ada/s-io.adb
! 2e6bddd5520f65e83cb3f41d25d4b777  gcc/ada/s-io.ads
! 499735aba59f084da85280ac88ecc6aa  gcc/ada/s-maccod.ads
! 4dc83698fe672edc9b0797d3ce8b94ed  gcc/ada/s-mantis.adb
! 6dd917276c9ac8c04bd4b56caccb8548  gcc/ada/s-mantis.ads
! 677c2e8517a9040d44a55059950a03a3  gcc/ada/s-mastop-irix.adb
! 58deea3dca35d482b53902439ced2558  gcc/ada/s-mastop-tru64.adb
! 1613999b4327c97f922be569980cffdd  gcc/ada/s-mastop-vms.adb
! af3b7d8940648bc64d99bf526129c58b  gcc/ada/s-mastop.adb
! 628beb0cb2e1e9a59fe48be80a96671c  gcc/ada/s-mastop.ads
! 1861dc9aaf6f92649e73a0a4627dc73b  gcc/ada/s-memcop.ads
! 9925382f62a408bf8d50d90d93be0c4c  gcc/ada/s-memory-mingw.adb
! 3b12f2733d1a9298ec88337bc3431dbd  gcc/ada/s-memory.adb
! 67b59a15cd9924dd5e454462791e75eb  gcc/ada/s-memory.ads
! 527701cb5195fc266529ba3727559673  gcc/ada/s-osinte-aix-fsu.ads
! 30c128bdbfcda4791365921daa1accc0  gcc/ada/s-osinte-aix.adb
! 9f9f7b9ccc2bb1a9d226cc9246a9d3f6  gcc/ada/s-osinte-aix.ads
! 84ea36b2656f8281b70e302eaae6a817  gcc/ada/s-osinte-darwin.adb
! fbe621f23ce16e4f7de41ce3dfdd5c48  gcc/ada/s-osinte-darwin.ads
! 36203856b7854fe053623f7402edf919  gcc/ada/s-osinte-dummy.ads
! ea3488893312d326bbca89f1d14dc009  gcc/ada/s-osinte-freebsd.adb
! d235cd55d3663d6e3074f01f8b4b6b16  gcc/ada/s-osinte-freebsd.ads
! bf977b2bf7684cdd14be5fa2636e2fc3  gcc/ada/s-osinte-fsu.adb
! 0832d3e49628fba1701596acdb155a47  gcc/ada/s-osinte-hpux-dce.adb
! f24884c5fd0cb99a3806f85d7ca9c26a  gcc/ada/s-osinte-hpux-dce.ads
! 6e42dd04bf3e0851a05f96bb3a896160  gcc/ada/s-osinte-hpux.ads
! 3f4803586adde7b302c0f5efe0f8ebe7  gcc/ada/s-osinte-interix.ads
! 3402950b9c91b7b2fb0e57b4a883d312  gcc/ada/s-osinte-irix-athread.ads
! 50b87da744354a44a7ed70b8f5bbfd80  gcc/ada/s-osinte-irix.adb
! d87b4d14e1c53b90cc705349527d9b0c  gcc/ada/s-osinte-irix.ads
! f3460b1d9143124316571dfec54dcf51  gcc/ada/s-osinte-linux-alpha.ads
! 4e61205fa4b4184a15eea73de66ce49d  gcc/ada/s-osinte-linux-fsu.ads
! c496ec5075165140c2eb9fe1194a0e50  gcc/ada/s-osinte-linux-hppa.ads
! dff157dd122c789fc688f0c14ca3ad18  gcc/ada/s-osinte-linux.ads
! 39a9614e734790f210f24ea0db645f65  gcc/ada/s-osinte-lynxos-3.adb
! b90863dbce81a631776c820f2d1d91d3  gcc/ada/s-osinte-lynxos-3.ads
! dd67ced7ab56dc3dbdfed7a49ba86a8b  gcc/ada/s-osinte-lynxos.adb
! b51f947a9050fb3262954bfe4b234cb2  gcc/ada/s-osinte-lynxos.ads
! 6bd9df49b26e5a860db02f88ecee853a  gcc/ada/s-osinte-mingw.ads
! 7168e37f2fa623ec318bd9579bf39d77  gcc/ada/s-osinte-os2.adb
! ed221e8185fa907a5a91535a1e173695  gcc/ada/s-osinte-os2.ads
! a12ca41d6a97c4397d6017b19d51a6c5  gcc/ada/s-osinte-posix.adb
! 44f6286ad4ecd04b7192fb2a8775da07  gcc/ada/s-osinte-rtems.adb
! 7be37851af9921356d051b3727f8cbb4  gcc/ada/s-osinte-rtems.ads
! 3ff3bf5cc398162cbce4b5844087b60c  gcc/ada/s-osinte-solaris-fsu.ads
! c6451a745f11fe8ff8c69404bbb9feef  gcc/ada/s-osinte-solaris-posix.ads
! 41c46b076067e2a61660a8eac250f5a4  gcc/ada/s-osinte-solaris.adb
! 621f9882e6a91ec34989071ebe46af05  gcc/ada/s-osinte-solaris.ads
! 511a038ead79e9945f4e4045fbfee8f6  gcc/ada/s-osinte-tru64.adb
! 64112f33b742de5c8a23801fa20bedb5  gcc/ada/s-osinte-tru64.ads
! fc18e1e18b73ba4888fa6ab06b0ece7b  gcc/ada/s-osinte-unixware.adb
! df79fa8e94d9eacd56bc9c75da747205  gcc/ada/s-osinte-unixware.ads
! 6f228df8c40310f1b089408df078db53  gcc/ada/s-osinte-vms.adb
! 4078111ec73a9dbb5aeacb9d981a20f0  gcc/ada/s-osinte-vms.ads
! 9b19fe4d876e215856ecd1048da6544c  gcc/ada/s-osinte-vxworks.adb
! 7a9303f9c753bc4059888a5bc668c531  gcc/ada/s-osinte-vxworks.ads
! eca9109eadbffd32bd08241ec65c6564  gcc/ada/s-osprim-mingw.adb
! 8756d40c1534e1bcc859892cb3ada5e5  gcc/ada/s-osprim-os2.adb
! b042fe7bf584b3b615714b5c1295e8e1  gcc/ada/s-osprim-posix.adb
! dfe2464e17ee92d631bac504dd7f1fa9  gcc/ada/s-osprim-solaris.adb
! c8b0882fc4f166941739f9f1d0abbf95  gcc/ada/s-osprim-unix.adb
! 9f3bcf3b9ffba083beb605fc291e0afd  gcc/ada/s-osprim-vms.adb
! ed4573a1a9aca62a45e2c23baa5038ad  gcc/ada/s-osprim-vms.ads
! ab3a7ab77b7655654692d4857c9a1d68  gcc/ada/s-osprim-vxworks.adb
! 267b99dd7f7eea7c714ffa5c4016b65b  gcc/ada/s-osprim.ads
! 2ba3ea8a5b3ddcae704b158a01a5e57e  gcc/ada/s-pack03.adb
! 943b50e8199e24160837d90d8bc8d72a  gcc/ada/s-pack03.ads
! ae92ca5c0631f7fed556ee927813d89a  gcc/ada/s-pack05.adb
! 3f3453c2e5e4538a04ded937baa73144  gcc/ada/s-pack05.ads
! 476591097510d4028624c615ac2875b1  gcc/ada/s-pack06.adb
! 5cca8cb784d7d031d3e9838838c91c5a  gcc/ada/s-pack06.ads
! b051c298e5a80ce8aa98f26623aa5ed9  gcc/ada/s-pack07.adb
! dcd59aeda7f95420688895e8ab7b2e0d  gcc/ada/s-pack07.ads
! 6ef42834fb7d7bf375e4e5c1c4dd71cb  gcc/ada/s-pack09.adb
! 62e0bd228689ecb77e91cdb66aec0dc2  gcc/ada/s-pack09.ads
! 12feadc66ac63dab8d559e67bc8dd5b5  gcc/ada/s-pack10.adb
! d355c4100579425886a979370dbcd53c  gcc/ada/s-pack10.ads
! 18fdceb236bb9592f6401ce43eb0b79b  gcc/ada/s-pack11.adb
! cf1b51739e6b6885fe7aadf94f6932d7  gcc/ada/s-pack11.ads
! ed2cf9d5dcb334b48df19d00285006b6  gcc/ada/s-pack12.adb
! 0f34969ace463a8776404701bc1c2ecd  gcc/ada/s-pack12.ads
! 6408a707445e6d9f4d27733c4353ba48  gcc/ada/s-pack13.adb
! 8dc20e1d86feef6035761fb53043c525  gcc/ada/s-pack13.ads
! 666286b7b976d645981da6cfb02c60f8  gcc/ada/s-pack14.adb
! 12864f507f300d6195ab712144676248  gcc/ada/s-pack14.ads
! 9aa2c13698d39d401e991d9e6c1d62c4  gcc/ada/s-pack15.adb
! 6838e889643164c26f2d55173ca3cf59  gcc/ada/s-pack15.ads
! bdc5c164ac9913f30e265c97487fd771  gcc/ada/s-pack17.adb
! ada395d361eb7cea0dc7ae1784f47a1a  gcc/ada/s-pack17.ads
! 436636b545d7595894b9e1bfa6929f0a  gcc/ada/s-pack18.adb
! 313ddebd4b84434f71cf00b0eb9a9346  gcc/ada/s-pack18.ads
! f85d1618794fa536df4583d7e2d6a863  gcc/ada/s-pack19.adb
! 89ebcb1965e7fe332231cf998f29d323  gcc/ada/s-pack19.ads
! 4550dce710244d439421158e5f16dca1  gcc/ada/s-pack20.adb
! 385ef5afea83d680e22c90254eb97b22  gcc/ada/s-pack20.ads
! 0cbbe50ce3e3c58d67d7587bb06794e0  gcc/ada/s-pack21.adb
! d0a027a39eb68a7503ecebd08a84284a  gcc/ada/s-pack21.ads
! 981a09774d1dfd38d62a77e1ee494151  gcc/ada/s-pack22.adb
! 01902688f6371453c2cd7a2d9b5c8121  gcc/ada/s-pack22.ads
! 9578977dafb3871b7e6f6176ae801d7c  gcc/ada/s-pack23.adb
! 726ff6a93a0f8ea883039226cd50c8e2  gcc/ada/s-pack23.ads
! afdf9d2c6954174ea33776a477bfca5f  gcc/ada/s-pack24.adb
! 5f54b4853cfa725a29e53d84247e4edb  gcc/ada/s-pack24.ads
! d7d6e2860ae17fd479c97c6a08595749  gcc/ada/s-pack25.adb
! a67eea71e97bbc84c918570f4cbcb6fb  gcc/ada/s-pack25.ads
! 8141ed5928631bcd7b8331d93d3f4327  gcc/ada/s-pack26.adb
! 30313b2c3d9d2dd5ba2679b7df22bf83  gcc/ada/s-pack26.ads
! fa2a078040834fa8ced4c6ae9a12d513  gcc/ada/s-pack27.adb
! ad927ee9b78e7d322104a6b9883981f4  gcc/ada/s-pack27.ads
! da1908edfb9b0470938ef094e3df12b5  gcc/ada/s-pack28.adb
! d3c572add3e66cac41477680b4178e18  gcc/ada/s-pack28.ads
! cd529e27550fa7b15addbb68a3d9c959  gcc/ada/s-pack29.adb
! 0a112b36d05a9ff311083bf4939b69ec  gcc/ada/s-pack29.ads
! a4f86457ecacdd548c0aa989374b186c  gcc/ada/s-pack30.adb
! 588786fc687c0b44f45ce5b57eff5666  gcc/ada/s-pack30.ads
! 9ba4cf930ca2830eba37e8cea7358c94  gcc/ada/s-pack31.adb
! f0912b7b8b34ce8c5d2c6862092095b8  gcc/ada/s-pack31.ads
! 93e940cd6db9994bcfe3a2dc4c644bf4  gcc/ada/s-pack33.adb
! e0548e8c598c135917e14b5f4739225f  gcc/ada/s-pack33.ads
! bbfde7d3564b2a8a9768f165ec723e2b  gcc/ada/s-pack34.adb
! 15d0e373b81e655f0bc4a6235c864e00  gcc/ada/s-pack34.ads
! 73e7765330e5765d4096e7a8d9c59b10  gcc/ada/s-pack35.adb
! 03c319c88a127c1789c22202915021a1  gcc/ada/s-pack35.ads
! b1119a83b7cd3b880e47863e294e7753  gcc/ada/s-pack36.adb
! 44663f122d56cb380128189ccdbce0aa  gcc/ada/s-pack36.ads
! 69da234d980cf3e07f97ecaeec24f6b9  gcc/ada/s-pack37.adb
! 24be04707897f72b4500832929a71aad  gcc/ada/s-pack37.ads
! 293f7559b58a461c66b0a8a949703b58  gcc/ada/s-pack38.adb
! c7a4838a61e7b2adf5510568e9dcb612  gcc/ada/s-pack38.ads
! a2ef73cfbd1c88cbc5e34ec3df3c66b5  gcc/ada/s-pack39.adb
! e9472cd4bdcc303aecbde6d07617015e  gcc/ada/s-pack39.ads
! 5a1927ee1f4db5e29eca9cbfe9a3618e  gcc/ada/s-pack40.adb
! f151e6f3e20b7e959450587e9d650a6a  gcc/ada/s-pack40.ads
! ef4e973ffb43b4764ba8d4ca0a2d5950  gcc/ada/s-pack41.adb
! 643184c5b4e5c02c25b816e75ee43a3b  gcc/ada/s-pack41.ads
! ae3d029ab78faef2c45c472cd28eb7a2  gcc/ada/s-pack42.adb
! 4044a8efe33bb9d5a2c1f37750cc474b  gcc/ada/s-pack42.ads
! 539079af2f925715d91c0c68b2f4bb69  gcc/ada/s-pack43.adb
! fed9c755292e377c78f507f6b74fc216  gcc/ada/s-pack43.ads
! f74d1db77ba51ff30117984a30c3535d  gcc/ada/s-pack44.adb
! 52ff5dc09d30d3d0917fa998eb6e1cc2  gcc/ada/s-pack44.ads
! 3e475c5b4ae3dac3e4d84f8fa54514a8  gcc/ada/s-pack45.adb
! 1174095b439ec001aba6c98f8d3cf9a8  gcc/ada/s-pack45.ads
! 6c88a89fa48b71921c3e33956b6ccc05  gcc/ada/s-pack46.adb
! 024d1edeac244930166a77545667d18e  gcc/ada/s-pack46.ads
! 614bdab6e99950a495fca681acd63aad  gcc/ada/s-pack47.adb
! 696d7f4d979e088dd52072ca04a34a6f  gcc/ada/s-pack47.ads
! 5f28d46d52f8db5c206a78f2973de975  gcc/ada/s-pack48.adb
! f65262041c38b06bb2d34e9e08b3c3dd  gcc/ada/s-pack48.ads
! 246e828227fbf4e84d07ddd70b667135  gcc/ada/s-pack49.adb
! e175cb84b2129d7f611ab1aaf825e957  gcc/ada/s-pack49.ads
! 35ebc9a3c043390c21a1f7181b6cc790  gcc/ada/s-pack50.adb
! 20f2bcb39a78371552ebccf33a202565  gcc/ada/s-pack50.ads
! 30c80173376f2211ce35ce6fa0603461  gcc/ada/s-pack51.adb
! 9becf5760ce6a8246e0621dced5499fd  gcc/ada/s-pack51.ads
! 88200f8a03dfd52e9dc6a4bdfef7f977  gcc/ada/s-pack52.adb
! 3cf90e100d0f328644ddc8d2be58f890  gcc/ada/s-pack52.ads
! 7c6ce0e1da0eb48047952f28f0e3d3ef  gcc/ada/s-pack53.adb
! 02c5ce98723b5f508978d39a3d2d1f03  gcc/ada/s-pack53.ads
! e9bb33eeadbc469e09c979a475052965  gcc/ada/s-pack54.adb
! 2af99cab8441580dcea2200636772f79  gcc/ada/s-pack54.ads
! d54ed5c0f303df6fd5d879e20ea8cb0e  gcc/ada/s-pack55.adb
! d6a9aec3f4433a04a3f98f2a4040a542  gcc/ada/s-pack55.ads
! 25445a1cbf3e1cde88e6965db7f3b089  gcc/ada/s-pack56.adb
! 67c2a5d350431f1f4212a5b767893c24  gcc/ada/s-pack56.ads
! 49a483bf2c557c78f91f14118da8cdb0  gcc/ada/s-pack57.adb
! 6c5d15f3a78788f940bfb5316b432d27  gcc/ada/s-pack57.ads
! 28e71198a23c33d5b7baff9777955461  gcc/ada/s-pack58.adb
! 3e1edca21cb3e4e5089b906a599fc970  gcc/ada/s-pack58.ads
! 2c3ac23b58de5abb1feba90217524b44  gcc/ada/s-pack59.adb
! 92926d624456e61bf7f5e175aa1434fd  gcc/ada/s-pack59.ads
! 4a9822ae98f219972f5ec9fc2a347ace  gcc/ada/s-pack60.adb
! 8664d8d18c2b4165b3d499f634d7f8ab  gcc/ada/s-pack60.ads
! 2f42de5378f90e6d9c3b20318c8228d9  gcc/ada/s-pack61.adb
! ffa85c1a17bed5a91962229900df89d3  gcc/ada/s-pack61.ads
! d455d7cf59407b9e3a8666966e652575  gcc/ada/s-pack62.adb
! c9c022c560874a3cf5f653b38e4466cc  gcc/ada/s-pack62.ads
! 5a7b213903ca8e2578cb10792fc79ede  gcc/ada/s-pack63.adb
! d885b54943c19c5d95e03215428cc835  gcc/ada/s-pack63.ads
! afec863b9c36c57443e17d6e6ad58c0b  gcc/ada/s-parame-ae653.ads
! 80714ce26c52753ea13cc99dd46bcde9  gcc/ada/s-parame-hpux.ads
! 070a71342d8d96e54176ed4592d63b2b  gcc/ada/s-parame-linux.adb
! 115d75c6943919ee1bcce44007b90c99  gcc/ada/s-parame-mingw.adb
! 3ab29bea7e81f67028e20209cf151a40  gcc/ada/s-parame-os2.adb
! 9178e2fc5e8290a1211e4131ab998883  gcc/ada/s-parame-rtems.adb
! 644fd6857d97d015c01f28902c76304f  gcc/ada/s-parame-solaris.adb
! fa5aa78ef60c37df597b317b51668d48  gcc/ada/s-parame-vms-restrict.ads
! 2628a5207632b1a51f54aa6b66cf84f3  gcc/ada/s-parame-vms.ads
! 67ebdacc4c0c65fe0b88344ace5e1dab  gcc/ada/s-parame-vxworks.ads
! 73cc5936fc326cd21f3b0e219a1f02c3  gcc/ada/s-parame.adb
! ce3919b8aa3c0e612275d44cc76ed16b  gcc/ada/s-parame.ads
! 3a94b31c3bad5fd27e51c97078a5d982  gcc/ada/s-parint.adb
! eacd7b6817025826e47ca95750c765e6  gcc/ada/s-parint.ads
! 0f9316d7c10c0624b3a15dd9645c5035  gcc/ada/s-pooglo.adb
! fbbd818d22e2ef616cce13c2bde9a98c  gcc/ada/s-pooglo.ads
! b3e60eafa591e022570e0207d4fc0ca0  gcc/ada/s-pooloc.adb
! 661576d2b655d13003467041aefc1963  gcc/ada/s-pooloc.ads
! d3d643e96cc026d3b9395362410f8dd3  gcc/ada/s-poosiz.adb
! 9f46057f560093272a29b3fe84584df6  gcc/ada/s-poosiz.ads
! 961a2e30d18ad3c0e5b7ce99c8ecf7c8  gcc/ada/s-powtab.ads
! d1b8b34064274130969c915dd4747ae7  gcc/ada/s-proinf-irix-athread.adb
! 9549ae982099e5ce42e4c7c04ea17c4e  gcc/ada/s-proinf-irix-athread.ads
! 1d0945695c060f0acdd2b86763d6095a  gcc/ada/s-proinf.adb
! da2111652cbbefedc7410d453419457a  gcc/ada/s-proinf.ads
! 4c26c240c75f167bd2a2bd6a3aa114ff  gcc/ada/s-purexc.ads
! 500758690067c054c4335d544c41b5b1  gcc/ada/s-restri.adb
! a152c75d3b8f1de72b0fbf30ef43d80c  gcc/ada/s-restri.ads
! 88b4179c24820c1889b55a5a3759aa01  gcc/ada/s-rident.ads
! f2bdb3b2b4a3265f2dce2bddaf8fb766  gcc/ada/s-rpc.adb
! bff93c4adb38599e86564273b7be39cb  gcc/ada/s-rpc.ads
! f0eeb800949217820aafeec4b6089f81  gcc/ada/s-scaval.adb
! 45704fd542512fcc38a59a6614c56a98  gcc/ada/s-scaval.ads
! 3f5b90dcaa69a3c628bad71de7b984e1  gcc/ada/s-secsta.adb
! e8a317e7ca08962299585d3f87e6901d  gcc/ada/s-secsta.ads
! a01ce3336b9404f10cab9d60faccee9b  gcc/ada/s-sequio.adb
! 0dc882a3fa9285af945a16f72524ffbe  gcc/ada/s-sequio.ads
! dfcf713e9b23745575a12f72dcea183f  gcc/ada/s-shasto.adb
! 8269c123ba3392ff31e446f0b1fd7faf  gcc/ada/s-shasto.ads
! 585af6d274cb8577a8e9dea0d7ecc524  gcc/ada/s-soflin.adb
! 84d41ae77ec9df54fa903ce20ff1798f  gcc/ada/s-soflin.ads
! 9f1c78aa7b6ccce98ae2715a0270f08d  gcc/ada/s-solita.adb
! 3425892d6d6af4c7b5ec5d79ebd4e92f  gcc/ada/s-solita.ads
! 6e220262e49f43f7004bc119d3766c9a  gcc/ada/s-sopco3.adb
! 973ebd82e85c1552f215ecd99413c01c  gcc/ada/s-sopco3.ads
! 6e1a00be93b56c1c6400e4e3b751b662  gcc/ada/s-sopco4.adb
! a61ca576658acdc53f6765871a2628fd  gcc/ada/s-sopco4.ads
! c6f6eaa2dbe032f38e3fd32c61690820  gcc/ada/s-sopco5.adb
! 206b16d52af3c8f294e3c84a524a26b5  gcc/ada/s-sopco5.ads
! 18cf0e9b59e8d836c8ae472cc0abda9b  gcc/ada/s-stache.adb
! da7302183d76d8327941bb4644b3869a  gcc/ada/s-stache.ads
! 074a9f02d463844e7b8e415587813b91  gcc/ada/s-stalib.adb
! eeccb723b3850b7e2a84935417d72126  gcc/ada/s-stalib.ads
! 729cd524521ab92b483deae88e1dc3ce  gcc/ada/s-stausa.adb
! 803bbebec6cec728ca7eae82ac1ea832  gcc/ada/s-stausa.ads
! db0d383aedb0ee6543653ae82361b1eb  gcc/ada/s-stchop-vxworks.adb
! c31bc93ae9320921e43e5ebbcdf0dd63  gcc/ada/s-stchop.adb
! e9de53fb97e6d1f2df7cee91c7057121  gcc/ada/s-stchop.ads
! 17cf98f00ac6a78026748f0ceab28f29  gcc/ada/s-stoele.adb
! a0b3d85dd402363a3eb81abd4bbd251f  gcc/ada/s-stoele.ads
! 1ce0067a7ca4c516b94fe62c5cff5de5  gcc/ada/s-stopoo.adb
! c76de31d98383b0ad8aa1f9835a986f7  gcc/ada/s-stopoo.ads
! 58fe2905d8d3e6853e647c44e25e6dfc  gcc/ada/s-stratt.adb
! f04c58ba0f63a2ee5343bae882914815  gcc/ada/s-stratt.ads
! 62e2f2e32a8338cbc293a731fe895db8  gcc/ada/s-strcom.adb
! ff09c252eac44acd4af4004c993c5355  gcc/ada/s-strcom.ads
! fe53a5357655a2f2ea7e4ab49b44bd32  gcc/ada/s-strops.adb
! 76d764e448ae2b6ddd640633a0b075ae  gcc/ada/s-strops.ads
! 7c6de2b417193d62c8edc95b67382b36  gcc/ada/s-strxdr.adb
! 6cb18fa46cf0ddb67bcc7dd97d37c033  gcc/ada/s-taasde.adb
! c9b65da60067dbc74a578d5f5e0437b4  gcc/ada/s-taasde.ads
! 87b5013bb8bcae0f6552717acda5ddd6  gcc/ada/s-tadeca.adb
! 183c045709bc9773869515dc607c3228  gcc/ada/s-tadeca.ads
! bb32d50b0ee680b543ba04a80e0fb977  gcc/ada/s-tadert.adb
! 87487110fe99d515c1c3d35875746495  gcc/ada/s-tadert.ads
! 580c0039f969bf3793b77203c4fb0e3b  gcc/ada/s-taenca.adb
! 58394fff99506955276e418847faeb80  gcc/ada/s-taenca.ads
! d755a6d5498a53afb61a2346ad2a8160  gcc/ada/s-taprob.adb
! 2e5fc5ebf56b51732df45e24f7ec1a24  gcc/ada/s-taprob.ads
! 9f95b149ceffa048c3cffef6836567a8  gcc/ada/s-taprop-dummy.adb
! 692b06ce5505a536c48373b037329967  gcc/ada/s-taprop-hpux-dce.adb
! 1b351a3b6f676e47e7bbba85e2c3afd6  gcc/ada/s-taprop-irix-athread.adb
! 8a91df5520967cd0e2bedb484648deb7  gcc/ada/s-taprop-irix.adb
! d4443377d6ff86a95704ce9e0ca7bfd8  gcc/ada/s-taprop-linux.adb
! 02119ba79501404077c58039c09b62d3  gcc/ada/s-taprop-lynxos.adb
! c23249558c33a41cf4c72d6a9e5eff24  gcc/ada/s-taprop-mingw.adb
! 37a740eee44507b179ac34c074af22a1  gcc/ada/s-taprop-os2.adb
! 73cfc323e6b77529081112fe30894361  gcc/ada/s-taprop-posix.adb
! 8d3b4c580aea77c781a2d883c6d2084e  gcc/ada/s-taprop-solaris.adb
! 8986b2bf883dc8629ce7647a4071f768  gcc/ada/s-taprop-tru64.adb
! 32ea562674bc0347c7992fd3ad58d48f  gcc/ada/s-taprop-vms.adb
! 2293e84b32de1ae80a7cf8170e2d5dc1  gcc/ada/s-taprop-vxworks.adb
! a2f88b98638288c53dd31d6b4cb545fa  gcc/ada/s-taprop.ads
! ee85ffffde421283875236480baa5da7  gcc/ada/s-tarest.adb
! 164f62e939456ce870a614965748d6e6  gcc/ada/s-tarest.ads
! 98b1b9240fcc58eaa4dcaaabcd91b5ca  gcc/ada/s-tasdeb.adb
! 7d897914430b9a8369eb785a9b3a4b1f  gcc/ada/s-tasdeb.ads
! 2152bcf8bc96072c2a7b4c99b0710c14  gcc/ada/s-tasinf-irix-athread.adb
! c7bcdcdac91d6ce91367094be18e7510  gcc/ada/s-tasinf-irix-athread.ads
! c469f7ff7a5c3fca137bf11f8e9e2643  gcc/ada/s-tasinf-irix.ads
! c99ebe10e9c94c89b79a3ac7d9889bf3  gcc/ada/s-tasinf-solaris.adb
! cea62d6adbc0945a27b288c3bd6a0aac  gcc/ada/s-tasinf-solaris.ads
! a1a066f7b128fbe81fe293e35b2dff83  gcc/ada/s-tasinf-tru64.ads
! f5432ab27f9211443d15fa25b78c5c72  gcc/ada/s-tasinf.adb
! d6c6f5c58ab1f36f15fac2f68fd05299  gcc/ada/s-tasinf.ads
! f32eaa5c7dcc24f7cfb69caa54ce02d8  gcc/ada/s-tasini.adb
! 2dd11e9d8767db4affca044cc229c023  gcc/ada/s-tasini.ads
! c4817e50e3a17f17e7f2c4e74ad45dbd  gcc/ada/s-taskin.adb
! f279496451bad24c528752948470a227  gcc/ada/s-taskin.ads
! f009e6c030e405c57079df8ecf4b5179  gcc/ada/s-taspri-dummy.ads
! 6fa49f88b39d35dfe40895d37b39afe6  gcc/ada/s-taspri-hpux-dce.ads
! 6466b99dccdcde6f4d3a9a6db0cb366d  gcc/ada/s-taspri-lynxos.ads
! cb1830c64d99e25e46222c6f30872be4  gcc/ada/s-taspri-mingw.ads
! ce1e968820f2a2c27a68dee2fa342db8  gcc/ada/s-taspri-os2.ads
! 16b575582e966a8663d75a5f64b56e0d  gcc/ada/s-taspri-posix.ads
! 563597faa51ffdae61c9c4c4a5653733  gcc/ada/s-taspri-solaris.ads
! f4d8a8995c8a4633eefdc54e6593225b  gcc/ada/s-taspri-tru64.ads
! 3f359e3199d389e4dcea795ac6aebe0d  gcc/ada/s-taspri-vms.ads
! fd65390afb86a20b923da32888f0376b  gcc/ada/s-taspri-vxworks.ads
! 31e407a4174c7184a33d5f4382d760ed  gcc/ada/s-tasque.adb
! cc333c851924b6272b531ad7267b2f37  gcc/ada/s-tasque.ads
! 440b82a861038f40262c6589d90eca0a  gcc/ada/s-tasren.adb
! 6b61ca2ae456c3a97688bef162ff42bf  gcc/ada/s-tasren.ads
! f74ae0be3ade28830af9ad90589d2cb5  gcc/ada/s-tasres.ads
! a8f3dcc80444e60d110eb4d0bd52e194  gcc/ada/s-tassta.adb
! 8c35a670b9f29f0f98c6fb391d4da245  gcc/ada/s-tassta.ads
! 5f4f9d4cd6dfb7395c18428d44f99941  gcc/ada/s-tasuti.adb
! 178efb14a7eb06c9c8ae0e3d4cd65500  gcc/ada/s-tasuti.ads
! 8a4548349f0e71da880a1f6d131284f0  gcc/ada/s-tataat.adb
! 70df3f8498c5d6489549f2aa204c3754  gcc/ada/s-tataat.ads
! ccd1a69c435212f11cec39c25d1a5e13  gcc/ada/s-tfsetr-default.adb
! 8873ca8bd717150ac9842d7a422a63e2  gcc/ada/s-tfsetr-vxworks.adb
! 9b58bd5a7800ba2fed8dd130c3c267bf  gcc/ada/s-thread.adb
! 4b249bf7226ea70bd7ca3c92b1696f2a  gcc/ada/s-tpinop.adb
! d375ec9b51eaa827b2d45dd4d2424fce  gcc/ada/s-tpinop.ads
! 829e220b76840ec309fd6e0b4fac8f0b  gcc/ada/s-tpoben.adb
! f4fab9eb3bb0c4bc17797876cbe91065  gcc/ada/s-tpoben.ads
! 44f9bd5c02f86b8eef2aa2a4883117c1  gcc/ada/s-tpobop.adb
! b65b55a09b668e52634e5096c9fb0002  gcc/ada/s-tpobop.ads
! b9591f38a5b5d841a8d35cb70855b423  gcc/ada/s-tpopde-vms.adb
! 6a0d2c1ccf71b0418ff1b3559a05e498  gcc/ada/s-tpopde-vms.ads
! 48016024d5cd7b99616dba0c2657a030  gcc/ada/s-tpopsp-lynxos.adb
! 4be4c4cece32136b69f4c929c87d99e2  gcc/ada/s-tpopsp-posix-foreign.adb
! 605ea76d5deb7c3b508c3dac604e0fb4  gcc/ada/s-tpopsp-posix.adb
! 4974ed0cd2bd28cfeb30d70576d3a4c8  gcc/ada/s-tpopsp-rtems.adb
! be381090061a416947a6dfa283feabb9  gcc/ada/s-tpopsp-solaris.adb
! e965045810899429c9246ce5ca5a664a  gcc/ada/s-tpopsp-vxworks.adb
! 94152f74dc83c111bf79bc7f64ea4312  gcc/ada/s-tporft.adb
! 590513dda1748bf490ba1e12ce538c95  gcc/ada/s-tposen.adb
! 6cedbc71b1f064062bcc3d8097845c98  gcc/ada/s-tposen.ads
! 7ce2d752f1f0153055c6094ebf739cab  gcc/ada/s-traceb-hpux.adb
! fac6c983004f0fdf762b1dc2073488ce  gcc/ada/s-traceb-mastop.adb
! 07597ccdb3571837b067b6b8acac4ff4  gcc/ada/s-traceb.adb
! 5a88dce84c5d09432169fba4a64914c7  gcc/ada/s-traceb.ads
! 7a8cdd823f1edd4350b20859ebe956cd  gcc/ada/s-traces-default.adb
! 13b80d5ecfa8a4f4869e8cf0cf43b677  gcc/ada/s-traces.adb
! f8e458c5cc7eaca5352962a71564384a  gcc/ada/s-traces.ads
! f0eaa03ee458e453185164f74d596b35  gcc/ada/s-traent-vms.adb
! 1b66b0352065c8a3ea68cd68954c5e3c  gcc/ada/s-traent-vms.ads
! 67b8aca2511d1ac82920051670a7d20b  gcc/ada/s-traent.adb
! 3bba7f4eb9fe9921adbd0352d95a6cf0  gcc/ada/s-traent.ads
! c625551628d6e7a5280bc539baf3cfa0  gcc/ada/s-trafor-default.adb
! acacbfdd9a53530f71371d4218ef7d8b  gcc/ada/s-trafor-default.ads
! 4c03c9e54ef554f83a198460e35ab1dc  gcc/ada/s-tratas-default.adb
! 40a8546fba65047796966927d3452352  gcc/ada/s-tratas.adb
! 04436d8337ad31d842e27f97de593b46  gcc/ada/s-tratas.ads
! 246884e3961f63caf2c6b0857fd4f1d2  gcc/ada/s-unstyp.ads
! 947e0bc21887ead09116a3a372c03c54  gcc/ada/s-vaflop-vms-alpha.adb
! cabafcb0518fe342fd4149beb26cf0c7  gcc/ada/s-vaflop.adb
! d570b27007b0dd3d918188af9fde1587  gcc/ada/s-vaflop.ads
! 8e3a4cc134b0df1c82306d129a4769bc  gcc/ada/s-valboo.adb
! 3dac7dd2ff90f5228b72b057e0f93548  gcc/ada/s-valboo.ads
! 221b509a8a8e00efc2cfae5ee5aa667d  gcc/ada/s-valcha.adb
! 804d1a506242f3b0702221f64c655407  gcc/ada/s-valcha.ads
! 296b6d065c57c69c64f8c7326db8ec53  gcc/ada/s-valdec.adb
! b1a6711f98aa16507dd2b41aadc98910  gcc/ada/s-valdec.ads
! 885351ca3ee183ce9e86cf5bcbffce04  gcc/ada/s-valenu.adb
! 05f8eed2287be77eab3aa6f01af39147  gcc/ada/s-valenu.ads
! ba764e87eb45130eec2b59a6c015a2d4  gcc/ada/s-valint.adb
! cf4d3576d0d95abc6a423c6384f6f5da  gcc/ada/s-valint.ads
! cc67335878e06ddb63158398b5486bc6  gcc/ada/s-vallld.adb
! 3f4cf1d2f98f09db5d03a8827b75a6dc  gcc/ada/s-vallld.ads
! 60a1cc08b3ab97f36a5ad03aa5f7bd36  gcc/ada/s-vallli.adb
! 042fc1e04abab16eafa84f0be5e6aab5  gcc/ada/s-vallli.ads
! 034275c760b778bc7769c8615952badf  gcc/ada/s-valllu.adb
! 21de3fedcd21c8c3a5912e6632174ae2  gcc/ada/s-valllu.ads
! 87dad813026a392f97fb31c53c9835d5  gcc/ada/s-valrea.adb
! 435661b2001fa4c5e88b038973301c17  gcc/ada/s-valrea.ads
! bf0e78078b9298ee802df5091fd6469e  gcc/ada/s-valuns.adb
! 85e6e41b7baf7d06c0c4a4a1fdc8a206  gcc/ada/s-valuns.ads
! b08940222e1153a1a060a6ed5ec965fe  gcc/ada/s-valuti.adb
! a9f57d95a1e28a980f8895ecf8d89207  gcc/ada/s-valuti.ads
! f2a1d67d92eed9828bd758ab505c15eb  gcc/ada/s-valwch.adb
! 5500f3016c181e0a17f88bcda1898394  gcc/ada/s-valwch.ads
! fba41ef8dc7a0d85219888a2eb4fe0ca  gcc/ada/s-veboop.adb
! 62df80cd445ef79c002e8b6e78ff4c54  gcc/ada/s-veboop.ads
! 4e8ffcdde85e06fc32f84f9b5ee40eec  gcc/ada/s-vector.ads
! 3fbfb5564d95d226c88281b53a7708d3  gcc/ada/s-vercon.adb
! b29e4bd98b397c200efa081948310466  gcc/ada/s-vercon.ads
! 744b41841bd494475d3cbdde5576e04e  gcc/ada/s-vmexta.adb
! 0535de2e9a616641932220cc676a12dc  gcc/ada/s-vmexta.ads
! 1d14033dd34fd5f3723d2c42aaf56d79  gcc/ada/s-vxwork-alpha.ads
! 1fb040873ca590f3bdaf0880b79b098a  gcc/ada/s-vxwork-m68k.ads
! 856498965416934c49ff1d553f7048da  gcc/ada/s-vxwork-mips.ads
! 6e41ec4523be6bb6f5b4446f950e54aa  gcc/ada/s-vxwork-ppc.ads
! 60474efbaf5c843c4cda9ec6aebdd3aa  gcc/ada/s-vxwork-sparcv9.ads
! d1a7358f6f80f932be0454259e057171  gcc/ada/s-vxwork-x86.ads
! b1203e8e8844612d258097c899844192  gcc/ada/s-wchcnv.adb
! 7c007f53b5dfb675ac91023d4c134c15  gcc/ada/s-wchcnv.ads
! c4d8819eb0d0bcf9e2fc322df1b36b0e  gcc/ada/s-wchcon.ads
! c39d879d97e7cbbfd6a7d32902794e89  gcc/ada/s-wchjis.adb
! 0ea428ba2ae699920634f51f2baaa1bd  gcc/ada/s-wchjis.ads
! 0366c777ef62cda50839d5ab3e36dbf7  gcc/ada/s-wchstw.adb
! 39146dfa5a01e9012805bec89a3eaef8  gcc/ada/s-wchstw.ads
! 465a3ef8e779e5cbbe9bf9f5df630604  gcc/ada/s-wchwts.adb
! bb4c411a61d7776f4a9bae375f636cf7  gcc/ada/s-wchwts.ads
! 521b98a70876199dd6d0d4ed61542147  gcc/ada/s-widboo.adb
! d991ae1d7c0c393331d1f01cc73a246e  gcc/ada/s-widboo.ads
! 260ef289bddf594514c4870c5b762504  gcc/ada/s-widcha.adb
! 9630e0a33caf940fac4e6e093e51e4a4  gcc/ada/s-widcha.ads
! 6f8586b3d3a830bf0fd272648e348e75  gcc/ada/s-widenu.adb
! 367ea64837331df47e1637f851bd1d2e  gcc/ada/s-widenu.ads
! 7da2d6176ec41b1f01c4e89b00300278  gcc/ada/s-widlli.adb
! 9b83c8c02041bcac574ea4d0fc8a336f  gcc/ada/s-widlli.ads
! 9b224fa9a01bc4fa4626dd011b60a12b  gcc/ada/s-widllu.adb
! b887494db5ba8069a3e67309840b8208  gcc/ada/s-widllu.ads
! e1b031f94377e86c5c456240918234ca  gcc/ada/s-widwch.adb
! 78b507ae3e10e293eb913b342e8609e4  gcc/ada/s-widwch.ads
! efeb7dfdba37b9eb858859a7b218cccf  gcc/ada/s-wwdcha.adb
! deef2d098ac08f11f9ece294e91727e0  gcc/ada/s-wwdcha.ads
! cb182c8cb35a63b214c35ddaf3daa16b  gcc/ada/s-wwdenu.adb
! 1dc9372a200080d4bd8501f8e587bfa3  gcc/ada/s-wwdenu.ads
! 811f674c40b6dbdd18de6fac028c5c33  gcc/ada/s-wwdwch.adb
! f956e21693419fcdb7e8d5e297c98fdf  gcc/ada/s-wwdwch.ads
! 8855b804743ae77d0e49ca23665b4488  gcc/ada/scans.adb
! 8f6e0d078ad811f5e0f421026dabcf76  gcc/ada/scans.ads
! 7e0197eac0ea66f8ee13ef7511d6f524  gcc/ada/scn.adb
! a62b46695f2857e39c0a1160c2001d9c  gcc/ada/scn.ads
! 0c9302e0e821bebda153df42da76ae95  gcc/ada/scng.adb
! 1857efdb78f03896e0dc13ffd41228ef  gcc/ada/scng.ads
! f2049666f87f75ae890aa8053a6afed2  gcc/ada/sdefault.ads
! 19fb7b64948a926da00ab6aa5d7f4190  gcc/ada/seh_init.c
! 307e52d14f1e35f98cc80354868feb99  gcc/ada/sem.adb
! 55e25d7d1b33708d5ac896f2f4e160ea  gcc/ada/sem.ads
! 8a316f1526f07eed2e9dfd9ed3a6d56b  gcc/ada/sem_aggr.adb
! cdd4dccfa661b58761963dd9bda627cb  gcc/ada/sem_aggr.ads
! 1e9df714551588659f09b4a5ddcd693d  gcc/ada/sem_attr.adb
! ed4cadd23c02e0297a96fa62e93c1c41  gcc/ada/sem_attr.ads
! ed05972d988bcb1d4455a5fd0fb166f4  gcc/ada/sem_case.adb
! 08934604466430a8ee1790a78f9b8c4e  gcc/ada/sem_case.ads
! dd1d9c9250923cd039bf75e5a8a9cf99  gcc/ada/sem_cat.adb
! 9b7846bfc4c9e616b72c0f244986b550  gcc/ada/sem_cat.ads
! 496b8958d1101d81cc0730d0285ea95a  gcc/ada/sem_ch10.adb
! a8e184162d14beb100ca75df2f3419f9  gcc/ada/sem_ch10.ads
! ae9d7cf6dc5c8a2991d14a5918fe7283  gcc/ada/sem_ch11.adb
! 1ab90a27d6981c60f3406e55dc80aa33  gcc/ada/sem_ch11.ads
! bb4df35cc1c943b138cec8b52a318403  gcc/ada/sem_ch12.adb
! aa93a57ef88a7a0f2dd88eb503ae1443  gcc/ada/sem_ch12.ads
! 176554833d12a1c19a4d91c12767ccbb  gcc/ada/sem_ch13.adb
! 8ad5892550be2a97e2c9418846c81c2a  gcc/ada/sem_ch13.ads
! 5487dfe5ca86597fec7d9331d89fe9e9  gcc/ada/sem_ch2.adb
! c50685909ca7003711d6790140a68db5  gcc/ada/sem_ch2.ads
! 41ea7287f2b70af7483014d728f7305d  gcc/ada/sem_ch3.adb
! 596e71d37307a7c6c34f16fbc1d92589  gcc/ada/sem_ch3.ads
! b21b25e2efdfab2ea8f8871b76440f52  gcc/ada/sem_ch4.adb
! f809ed828f99c035b2b3b848c195ed05  gcc/ada/sem_ch4.ads
! 66bc432b66e221fcc4d17e9400874f05  gcc/ada/sem_ch5.adb
! 97fccb74ea85d0cc6cb35cba70850e82  gcc/ada/sem_ch5.ads
! e44ad7bc807bdd7d70f5e21120202bcd  gcc/ada/sem_ch6.adb
! e9e509fc3d7773f9c2a7d5828a92bad9  gcc/ada/sem_ch6.ads
! 739bf8e502e41a6219e038397bb76bf7  gcc/ada/sem_ch7.adb
! 710445bcf147fc22e4d33d56ee47b89f  gcc/ada/sem_ch7.ads
! 1458e5aa5cadeb913c5669f3aee5b2b4  gcc/ada/sem_ch8.adb
! 0895c643da8bafe8f1690f2f86867493  gcc/ada/sem_ch8.ads
! 2791b68b30d78c1e9ff79fee002e539b  gcc/ada/sem_ch9.adb
! 2746aee585c640a3fa10c637a362a5b6  gcc/ada/sem_ch9.ads
! b5664db3fad224d2823bbc9be2266034  gcc/ada/sem_disp.adb
! 495d8f6f4ea84118fc7f20acd7e1afd3  gcc/ada/sem_disp.ads
! de784fddede9dadf81c04c132d297635  gcc/ada/sem_dist.adb
! 4f66113f25cbddeb751124799836a4fe  gcc/ada/sem_dist.ads
! 4e71c31aefb3d77003432cfc4aa4d5fa  gcc/ada/sem_elab.adb
! 93a5bb2d8be291bb3eef9c129c24ca54  gcc/ada/sem_elab.ads
! 09415d1c712a363b9f2d9e1620261b7d  gcc/ada/sem_elim.adb
! 1f23018b72faf6fd2ada55e4bd1805b4  gcc/ada/sem_elim.ads
! 43712a9028df09e8a7c9e0c85125e2e6  gcc/ada/sem_eval.adb
! b95083bffa8a12666fd80fc347ea9156  gcc/ada/sem_eval.ads
! b4fd841d158dacba08cd8ef742b878f5  gcc/ada/sem_intr.adb
! 948f96b060cb6e2388132fcc720a6dc3  gcc/ada/sem_intr.ads
! f13ee90fe46f94198e3d8a91e129adcd  gcc/ada/sem_maps.adb
! e67460708a345ebe8777b1a103845064  gcc/ada/sem_maps.ads
! b9c22776a74274d1573e5a5556ed77ae  gcc/ada/sem_mech.adb
! b1d1171fe87a9962ac368f19ec11d063  gcc/ada/sem_mech.ads
! ff8805f3a7175b1e06031a60af39394b  gcc/ada/sem_prag.adb
! 85525a2b990eef372aad110cdef5e6e3  gcc/ada/sem_prag.ads
! 650b283e5a3fa56ee99b3cf1b11c3275  gcc/ada/sem_res.adb
! ad4c32b90daff1721f10379f6aeb2702  gcc/ada/sem_res.ads
! d37031ca35686ce09bc640bdabd325c7  gcc/ada/sem_smem.adb
! 210a1e9f58f3bbe9042e05b8d653a503  gcc/ada/sem_smem.ads
! 753e5a77b8d1dc1a1124252b28f711d7  gcc/ada/sem_type.adb
! cdb2915ce592b4acbd52a11759104130  gcc/ada/sem_type.ads
! 8fb96812031e648173d184adaf646e5e  gcc/ada/sem_util.adb
! 579a1063215e50d13e6b2c468d06b28c  gcc/ada/sem_util.ads
! d814fd9708a8228491871f983f13f64b  gcc/ada/sem_vfpt.adb
! 47c6f47b1b92322cedca05d5d4498e37  gcc/ada/sem_vfpt.ads
! 2b93e8d84ced0d3bb34c592edd005035  gcc/ada/sem_warn.adb
! 02acded06e2db7f297162932e70a3b32  gcc/ada/sem_warn.ads
! 32da736d348979338bfafa0ca2947ba0  gcc/ada/sequenio.ads
! 95199f58acbef8bd14a8478126d8afc0  gcc/ada/sfn_scan.adb
! c06227161a05d1fb367c47ef188db2e8  gcc/ada/sfn_scan.ads
! b57e18d588ae636191575d3efc2e9c19  gcc/ada/sinfo-cn.adb
! ca5f88742ce3da1a68d33945fc26fd1d  gcc/ada/sinfo-cn.ads
! 2ae437f72f2007be47caf7b93996e58f  gcc/ada/sinfo.adb
! 1fc8b3323a423fa011925d8d3d291488  gcc/ada/sinfo.ads
! 46fff3b37b71d5068e50b2382174d6f2  gcc/ada/sinput-c.adb
! ebcbd4fdf7649bfa9355e4042257017d  gcc/ada/sinput-c.ads
! d13f0c8dcc7189c6db8469c1bb329c35  gcc/ada/sinput-d.adb
! 30624eda338c73508b83902fa4631c93  gcc/ada/sinput-d.ads
! 80de1025ddbe99cfad0034545a247088  gcc/ada/sinput-l.adb
! b9cedf79de412e93fb2da7a1ad214233  gcc/ada/sinput-l.ads
! 57a712b56de504f288c64e186f88dd74  gcc/ada/sinput-p.adb
! 43be97196e39bea38bf3d2742c16abf5  gcc/ada/sinput-p.ads
! c2bb2afa6df84c6d5b58ed4cb7efb97b  gcc/ada/sinput.adb
! 36982930532e57293fd6113dff934209  gcc/ada/sinput.ads
! 0cb8117230f163ada1a20b53dc5037f6  gcc/ada/snames.adb
! a004cd0b2f5b29024814ffe9562d28a5  gcc/ada/snames.ads
! f393fc8aa8fbbfb10552ba27676e6795  gcc/ada/snames.h
! 5dc9af81d0f77bcbb6d35f646334cf19  gcc/ada/socket.c
! 05a6f626217970ebd9d98fcab213377e  gcc/ada/sprint.adb
! a94947cff7aa03e15b38c2cbf9b0b7be  gcc/ada/sprint.ads
! 3dae7c71fb84a57cd609f6df2edf9508  gcc/ada/stand.adb
! 8dc47c41127beda5edc238d53001390f  gcc/ada/stand.ads
! abe3a74e9fdd260cedd832d79c150daf  gcc/ada/stringt.adb
! 13481919b5d51236832c9c9ff2dcdc0b  gcc/ada/stringt.ads
! 619aaf0738b643d2f17e433ccdfff59e  gcc/ada/stringt.h
! fed24ec87326ba4f0577441d7b597150  gcc/ada/style.ads
! bc2c0566a6680a4af639be033d9eec3b  gcc/ada/styleg-c.adb
! e79756ed7bc7a05227402fcfda4c7277  gcc/ada/styleg-c.ads
! 26a63b43e21f34f954c31f0550ca478a  gcc/ada/styleg.adb
! d62e81ad3483e64d02bb32b1d2e05fc7  gcc/ada/styleg.ads
! 5ce0f7a9920110472fde249944e07807  gcc/ada/stylesw.adb
! 6d19aec4696bf5fcb9d928e2d7560161  gcc/ada/stylesw.ads
! f88884f0e081082bd086f0b36b586302  gcc/ada/switch-b.adb
! 9e82d5ba386eea77d1a950375fbc680b  gcc/ada/switch-b.ads
! 7963849a31f444001ea8eff9d43833a1  gcc/ada/switch-c.adb
! 687a1201546e49a5be4badc3bef8db90  gcc/ada/switch-c.ads
! 2fc8573b4ed12382553e4a9a01209235  gcc/ada/switch-m.adb
! 565540c43b2a871f1de34bb492c694c8  gcc/ada/switch-m.ads
! 50bbf4cf9b6891623624be5c9b2892a2  gcc/ada/switch.adb
! 22875ff25a80ab0103d91b0ef01163d2  gcc/ada/switch.ads
! 3186246c6609d891d616a34594dc7538  gcc/ada/symbols-processing-vms-alpha.adb
! 6ab01d6eec9b89d5a25b26a46a5456fe  gcc/ada/symbols-processing-vms-ia64.adb
! e239026219ce3073baf32272276b4a87  gcc/ada/symbols-vms.adb
! bfa9ef093c405146d5dc24a73264c978  gcc/ada/symbols.adb
! 004e5b2d23031008ef13bade18e0a989  gcc/ada/symbols.ads
! f3bd4ff90b9c8ed39f967afaf49a6e0d  gcc/ada/sysdep.c
! 271981b9e12eec223a452ec4930cc9cb  gcc/ada/system-aix.ads
! a9089dec35e1ff6f5f20f8183e90d55b  gcc/ada/system-darwin-ppc.ads
! 4ba343d320da6c4aa4b77886a260b79d  gcc/ada/system-freebsd-x86.ads
! 44bfe16193f933426fd2393a4595d418  gcc/ada/system-hpux-ia64.ads
! fb324c51dc797288d3b02e48ce1510d8  gcc/ada/system-hpux.ads
! b8f3f44f1d52ce9ce289202dd39b8cdb  gcc/ada/system-interix.ads
! 6f730150236f514e0c19473113516dea  gcc/ada/system-irix-n32.ads
! af9b3799d0eefc1f497425bf21d0cda8  gcc/ada/system-irix-o32.ads
! 35d1ac006ce3ac6ed42a3f3edbc15a3f  gcc/ada/system-linux-alpha.ads
! d2d054fc6e3413ad75572b414bbddaee  gcc/ada/system-linux-hppa.ads
! f5efd30933d6fbbef9175ef99bcb7c98  gcc/ada/system-linux-ia64.ads
! 0471e9d0177c2566ce2933995d19f43c  gcc/ada/system-linux-ppc.ads
! 6db9e56588a8472fdd8bb038ef3b18cb  gcc/ada/system-linux-s390.ads
! 0d8aa9d2a862cb659fac3b06b767fc07  gcc/ada/system-linux-s390x.ads
! a40ccc147c2e04e7f37f1124294a0f4a  gcc/ada/system-linux-sparc.ads
! 10f11e5a0015d072ab072c6915e797ef  gcc/ada/system-linux-x86.ads
! f15ad10d7c3be6242c2e5f7c3d6ed4b3  gcc/ada/system-linux-x86_64.ads
! 30ba3f65d97f9f87268e2c878e8d620a  gcc/ada/system-lynxos-ppc.ads
! 779797b5c35d37f66a30c60f5db1dfe7  gcc/ada/system-lynxos-x86.ads
! 7ed75dc42a9022dbd541327ba64e34c3  gcc/ada/system-mingw.ads
! ecbce9310648da75850c8cef3787ce4c  gcc/ada/system-os2.ads
! b22888571104ea921d2101365bf38038  gcc/ada/system-solaris-sparc.ads
! afbc33c1c6f9063d6f47f545833e301c  gcc/ada/system-solaris-sparcv9.ads
! 0aa1d35aeedcf9615f93d3243b953c7c  gcc/ada/system-solaris-x86.ads
! 2c0ea0a77997c1dcd841016e6061c046  gcc/ada/system-tru64.ads
! e55ed9af7dc05a9780ceb5a119b9dad1  gcc/ada/system-unixware.ads
! 9fc672c8c84dfe5743b014448b716f17  gcc/ada/system-vms-zcx.ads
! 7390cb7d3e940fafde2bad4d5f0903ed  gcc/ada/system-vms.ads
! e2a47db78c2f554f3c026bde1af14697  gcc/ada/system-vms_64.ads
! 657e9cb5095489ea1002b1c471db11ab  gcc/ada/system-vxworks-alpha.ads
! db0c29cef3656776ddcdeacdec0719f5  gcc/ada/system-vxworks-m68k.ads
! b79ce5fe9353b876a0fc6696ae035c94  gcc/ada/system-vxworks-mips.ads
! 5a9e8d96fce1694bf3b1aab6ef5e164f  gcc/ada/system-vxworks-ppc.ads
! f2c299c85147f76def73ae3926aee2de  gcc/ada/system-vxworks-sparcv9.ads
! ac6b59dc2f7df1d4444c5c0760a61102  gcc/ada/system-vxworks-x86.ads
! ce2ad5b419098cc9b62b9fdb8c94fc25  gcc/ada/system.ads
! de8253e9703955b5ed9922bba6a191ee  gcc/ada/table.adb
! 307dd8d37cfc6dd723ef1a0ccf0de078  gcc/ada/table.ads
! 105144b3ab7212d6d36b8604b56703ac  gcc/ada/targparm.adb
! ec6f6ddfd21e9f7aca99e013ee702c6b  gcc/ada/targparm.ads
! 20ddb7f916dd2ef9558679cfaa0524c6  gcc/ada/targtyps.c
! e1ee79d66bf5adc9f13e9d3816d29186  gcc/ada/tb-alvms.c
! aa191f5aca31ae2107a6f8de82c4ea7a  gcc/ada/tb-alvxw.c
! 48c95feec74aaae0c78c3dd8fe40a4b9  gcc/ada/tb-gcc.c
! a3027ac39f989b2092b91a656883df1b  gcc/ada/tbuild.adb
! f77f673e21d1a1699e42e6464f6c4b8c  gcc/ada/tbuild.ads
! 890a992b469dbd1e3ef2ff8185489ba9  gcc/ada/tempdir.adb
! 72c349d1c7236afb93eb6ceb9e678eca  gcc/ada/tempdir.ads
! 0dcec77d03c296e80dec7b6f3c94a42e  gcc/ada/text_io.ads
! 9e2abe027b967d8fe226ce12d86bb3c7  gcc/ada/tracebak.c
! 6a7204f30423ab45f08826e92a3dcba0  gcc/ada/trans.c
! 827492ebe45036fc45691b24c48278e5  gcc/ada/tree_gen.adb
! b004f3866b628d0748d6a3a955795b35  gcc/ada/tree_gen.ads
! 6bfff5e4ccb7d747a05e014965965222  gcc/ada/tree_in.adb
! cbb4bfeb9e1f81f72605d93dfe746195  gcc/ada/tree_in.ads
! 24746abae1b28a137f2441677b41eacd  gcc/ada/tree_io.adb
! 916df9f8ff5ec91537a01b4c67d75922  gcc/ada/tree_io.ads
! 2bb527730bacd671bb7541f4f38532c4  gcc/ada/treepr.adb
! cdbf295635170759bd056e600ee56ff3  gcc/ada/treepr.ads
! 5b987926828489ed2d0d8dc8bded8433  gcc/ada/treeprs.adt
! e8a813e712afa9295af2375d2f2e5a2a  gcc/ada/ttypef.ads
! d5267ce9abad428559b89485c8a977ba  gcc/ada/ttypes.ads
! a1e3178fb355ca54ba0410d870a61bb4  gcc/ada/types.adb
! a387b1c4b5fbd578511f16bf7334fb92  gcc/ada/types.ads
! fbe7313cb1799b52dc7a354526d41f82  gcc/ada/types.h
! da854a9640533e5f341cd0cf6461048e  gcc/ada/ug_words
! 6f73550af13b8bab977fddea196a6a5d  gcc/ada/uintp.adb
! e384cab3fe07c472f09c5756c22db6cc  gcc/ada/uintp.ads
! 526bce1c2196413dcbfc0bb7d537be35  gcc/ada/uintp.h
! fce4ad2985f54b4ba768507bbb7c5b02  gcc/ada/uname.adb
! 17c3e7922686d0ea67f8cfee978285a5  gcc/ada/uname.ads
  e2f3062fb49f7d82b4833291fa40307c  gcc/ada/unchconv.ads
  6bd5a24fef448adde6298f4677bb14ce  gcc/ada/unchdeal.ads
! 6451c3e579f6ef616a06abb460e4a55f  gcc/ada/urealp.adb
! 96185b4d9e75e3391e5fc259e69d4c4a  gcc/ada/urealp.ads
! 14ce2af527dc3c654c826c2d70cfdf28  gcc/ada/urealp.h
! 2f677dacc20ce0b61ab80f42636e5e40  gcc/ada/usage.adb
! 9a80cdcb48222a36802ff9d72130c8a4  gcc/ada/usage.ads
! 5d746c52fdbeff8ba7038326aac19dda  gcc/ada/utils.c
! 6b36132f0fdb81188f80eba39ffc8a95  gcc/ada/utils2.c
! 366d48578a82457ef204df8baab830b7  gcc/ada/validsw.adb
! ec89533407c819bf91b47c3429b1f655  gcc/ada/validsw.ads
! 96f13d5eaa39b5556d10bfdf1707163b  gcc/ada/vms_conv.adb
! dc2cea02538661b133f7b1a839f0b02d  gcc/ada/vms_conv.ads
! 4f5e128c3851269531f035117691ef94  gcc/ada/vms_data.ads
! 450cf27d59723518fc57e2f071a235f2  gcc/ada/vxaddr2line.adb
! d9b4e1b6ecf3e29f1fb4a099b665305b  gcc/ada/widechar.adb
! c9644a53105b7eb82b9210655a73cdb1  gcc/ada/widechar.ads
! 56559f13733e4451ce1b5cd6d26f610a  gcc/ada/xeinfo.adb
! 96c6f009cadbf68d250b5f62c0f2f767  gcc/ada/xgnatugn.adb
! 13c1e434cc505ca19d16004ebdd1c65b  gcc/ada/xnmake.adb
! 7849cff54127b4a8eb20eb579884b1e8  gcc/ada/xr_tabls.adb
! 7a603e03bb8baebb8d46dacbb33d34b1  gcc/ada/xr_tabls.ads
! c01afce1c19d6b715db730c9c48c3db6  gcc/ada/xref_lib.adb
! 1e9b98d962301d69b56a6df521a24c97  gcc/ada/xref_lib.ads
! 5e423573d3e01034d0e73ec910af7944  gcc/ada/xsinfo.adb
! a5e7b9ccc14fb1ae1554450800f66f84  gcc/ada/xsnames.adb
! 2398364e5781c88113afe0eafa237895  gcc/ada/xtreeprs.adb
! 26a8475551b06baf363a065c0c639d5e  gcc/alias.c
! db4d9850e3bfde706daccc76013763ad  gcc/alias.h
! 6654cf9e9ae1757aa569c42ed24ea7e0  gcc/alloc-pool.c
! b0f487897628a0f5feecdee91184f6d5  gcc/alloc-pool.h
! 50e6cc70f89b20a078620c5cca592648  gcc/attribs.c
! 3446cc612935511701b74ba9d7f5c7dc  gcc/basic-block.h
! d01fc93fc425853677bc243f69b792b5  gcc/bb-reorder.c
! 4937fb522b65e5f262c4c20199e551a5  gcc/bitmap.c
! fa8f6779eaea1eda03fb38910466384e  gcc/bitmap.h
! 35c24235e0bcb9b125bdf45eafb7463a  gcc/bt-load.c
! 697c8f9a526265af007d32cbaffb966d  gcc/builtin-attrs.def
! 5d09b20d6e30890e795409d4235243a6  gcc/builtin-types.def
! 133bdc1023c14eac94f6d54d90cbc1ac  gcc/builtins.c
! 9bbcd3192a3bdf1e98e71ff95008b3bc  gcc/builtins.def
! fb5b5d73d669428b87a9c3ce3d9d7dbb  gcc/c-aux-info.c
! 7d6ed4e60bc95268d12c6f67fdf35583  gcc/c-common.c
! b7df270f0b35ddc3b82c71bb6ee8d364  gcc/c-common.def
! 2bd668fe87eb0d72bcbd856842975050  gcc/c-common.h
! e043fa9ec31d8e1b516326d1fdd6a864  gcc/c-config-lang.in
! e1f7529c5668a6c5813184a4376af52e  gcc/c-convert.c
! 9b6871dde5315855285b5e1074f657e5  gcc/c-cppbuiltin.c
! 44cde7c91e175bf96fcb2567461a3046  gcc/c-decl.c
! 78e55f121ebec273c6ea23ecf2e9ce6b  gcc/c-dump.c
! 0ca324a7376a90366a39f897d340ed8d  gcc/c-errors.c
! 7316dfd11890b21f0b96dca213dc7c06  gcc/c-format.c
! 4868034e7f2c46b8e6f21d074f0aa687  gcc/c-format.h
! 6db1e4dd2fa6b0d26e50f6c15b1d1531  gcc/c-gimplify.c
! 51650b7e02c718c7c3056290f857b8cc  gcc/c-incpath.c
! b722bcb5ea5e0cd881b59ae14cef4c10  gcc/c-incpath.h
! f6ea65599253a10faae38994706df64a  gcc/c-lang.c
! e62e2a478044aa83d2f0ca2057259909  gcc/c-lex.c
! 5b6eb40a4ee7eceeb5c6709f86e7e009  gcc/c-objc-common.c
! 311de7baf560b94ca1b9416a00dc1dc9  gcc/c-objc-common.h
! e97bdcab0f7883a82648ecfbce722450  gcc/c-opts.c
! c203eb39bdc924bd28b04e519ea0a819  gcc/c-parser.c
! 46c2a0fa9073e71e46b697d20ba67466  gcc/c-pch.c
! d7d2cdd27517a54a92641980c2479aab  gcc/c-ppoutput.c
! 53d837f02ce81c700cf8923968941c35  gcc/c-pragma.c
! f44fbdd718dcc6b2d6f0197e546c7a38  gcc/c-pragma.h
! f132a7cfe8b4a897ab5b0aba40efd665  gcc/c-pretty-print.c
! 1bd2376443fcaf2945da609e438078e7  gcc/c-pretty-print.h
! deb305f4e6dfbaeea0bddab5cb3c19fe  gcc/c-semantics.c
! a3936868a1f6ccda7ee4328aea2f9d6e  gcc/c-tree.h
! 860a95e7844a068056b9273e5dbf3224  gcc/c-typeck.c
! 9d2a393f3316fc835bbdac45a74f4941  gcc/c.opt
! 7a0522212011ad71411464a25188ae97  gcc/caller-save.c
! 15b379e4cf01d20a21ffff58d79f7ee0  gcc/calls.c
! 64e2de65d2552994f29c939731504afa  gcc/cfg.c
! ca5a154637cec3969868f24042f0db2d  gcc/cfganal.c
! a8b0f969eaee1c769ba485cf91424bbc  gcc/cfgbuild.c
! ec4b1b7f6fa75024c6d293bbb89d8a53  gcc/cfgcleanup.c
! 94002b2184e0fbfe601b038bbc0a9852  gcc/cfgexpand.c
! 9927ee2500f06d2be52e545b550ff340  gcc/cfghooks.c
! fb4a886cd031e9c73561a15d507b7227  gcc/cfghooks.h
! 5f3341c828d4e06874e82d9657cc3aa1  gcc/cfglayout.c
! 93508a3b5a58f48c4353ba63170fe769  gcc/cfglayout.h
! e2ed34b2bda4f6fbe75d0117f7a628f8  gcc/cfgloop.c
! 7441d4799d453d576be35d3d6f4a2ba0  gcc/cfgloop.h
! 5438542460cc4c41e39836f1a1f1bb36  gcc/cfgloopanal.c
! 79ceb1fe3e3c190192ca9441fe73d6f4  gcc/cfgloopmanip.c
! 2d2f443aaca2c192efa5ba8523fe0969  gcc/cfgrtl.c
! 1416824f84a3001eddbe26d19ca8dd36  gcc/cgraph.c
! e307b59774e240913e7c8458a64028ea  gcc/cgraph.h
! 6dd8e67bdd0b43b6268c017b1a7dd29a  gcc/cgraphunit.c
! 2413c65f4b3c509bcfdc4ca17e08a656  gcc/collect2.c
! 14b0e4bff2965a2a0247a3adc681123a  gcc/collect2.h
! 607f4fd350f042809b25e8962768b21d  gcc/combine.c
! 85d2b36e0590118a3bf77accd94fd6ea  gcc/common.opt
! 44acacbaad2917bc886eb9ab820dd856  gcc/conditions.h
! 25cff955aca7e00136e27bd56dd6fa29  gcc/config.build
! dea4cec4fe2078752253bb3f7fe42738  gcc/config.gcc
! 524bd895a67660b0cddc9335820b89b0  gcc/config.host
! a5aa43a7252d82eb89afe09add252d77  gcc/config.in
  8e697813dc96ca90f5d0f4c196efe2cc  gcc/config/README
! e4b4bc82fb570324cb3e007ecea7f416  gcc/config/alpha/alpha-modes.def
! bd8e7f2099f791bec6861619a6af2adc  gcc/config/alpha/alpha-protos.h
! 1ab89f76666790c936736f07547c2e51  gcc/config/alpha/alpha.c
! d5adf3c5c99323286879fbeeae14d9c6  gcc/config/alpha/alpha.h
! 1bbb81f01ac42fe82f2b7ff931402aa0  gcc/config/alpha/alpha.md
! d9465381f64d733cbc37629e30bffd4c  gcc/config/alpha/alpha.opt
! 843a2ae11fb1a94b77a901b56f5e50ae  gcc/config/alpha/crtfastmath.c
! e09ea7616705331e38294900da8d919d  gcc/config/alpha/elf.h
! 079aedadc49b05d8359b94525ea3523f  gcc/config/alpha/ev4.md
! 6b4e72acd4291807b9489f9e1b2eff11  gcc/config/alpha/ev5.md
! c76ab7e88e84af9fedc273997d032480  gcc/config/alpha/ev6.md
! 2c11bfff0d6a40560a3e221578266685  gcc/config/alpha/freebsd.h
  d659ad53dc967d1a45c264dbf4f0f317  gcc/config/alpha/gnu.h
! e0e03dab5c7fae3e5f5ea2a6c70e7c1b  gcc/config/alpha/lib1funcs.asm
! e2d8cb76fbea3b78cab267fc22df307e  gcc/config/alpha/linux-elf.h
! e6ed2a79c96c9f30f9d07fe80a46cab6  gcc/config/alpha/linux-unwind.h
! 13dc177df46f0448b872630c850467a3  gcc/config/alpha/linux.h
! 50d981d0f0fe3c344c5fc0b56731fc38  gcc/config/alpha/netbsd.h
! 3545a36a2c53397b25fb1c1071ac7228  gcc/config/alpha/openbsd.h
! a5e6fad9a92cb9e7bc554d0f2e988e92  gcc/config/alpha/osf.h
! 7a726b2cb40f34b54ebaf9e54f3b5059  gcc/config/alpha/osf5.h
! 9a817f90411b19edb8ca34f6ddb653c6  gcc/config/alpha/predicates.md
! 716ecb544aa4df8b31972f6000563037  gcc/config/alpha/qrnnd.asm
! 64e38b7686f789e0cc99fffc7723f82b  gcc/config/alpha/sync.md
  3bbb1cf81aa0513ee0ee3521ef1a7275  gcc/config/alpha/t-alpha
  985c6b7b42c51c99cd3459e0f60e6158  gcc/config/alpha/t-crtfm
  b779aa9db141bfd9c1272f8d21e4b00e  gcc/config/alpha/t-ieee
*************** c6a2a791146d67d036100ec3e54c53e4  gcc/co
*** 2300,2487 ****
  4098f940703b404acc95f6930ee5adea  gcc/config/alpha/t-unicosmk
  a55b683441d09dc8487a85470a557580  gcc/config/alpha/t-vms
  801c9903de067c653ed7a4b36af18c8c  gcc/config/alpha/t-vms64
! 00a8a9ac36da7ecd082a7326f81330f6  gcc/config/alpha/unicosmk.h
  ea08f556c727bd62c2626f8b171bb96c  gcc/config/alpha/va_list.h
! 9a6605659818d09589991a89b33a9313  gcc/config/alpha/vms-cc.c
! c84152e5c76d58d608afda84fa7de4a0  gcc/config/alpha/vms-crt0-64.c
! 7e8ec535c8f89abf2dcc4ae0a9f53109  gcc/config/alpha/vms-crt0.c
! 51d261d483dcfe7ebb11064fce847d72  gcc/config/alpha/vms-dwarf2.asm
! fdd1ce1753ea1a3f3e1510ec1379bd3e  gcc/config/alpha/vms-dwarf2eh.asm
! 1b9d82422ff511d31be0b83f2c89a0b7  gcc/config/alpha/vms-ld.c
! 91df2d61f7db0f78bea85db9ea48d9c2  gcc/config/alpha/vms-psxcrt0-64.c
! a47441e875e8b09e8d0ddbe3d362e354  gcc/config/alpha/vms-psxcrt0.c
! 805bc7e06095c3d2acfea5a33d41e157  gcc/config/alpha/vms-unwind.h
! 55cb1d3017004fd61e6888128cae501c  gcc/config/alpha/vms.h
! ab4eb2a463a2432add11e365fb5ed174  gcc/config/alpha/vms64.h
! 10935f4a5ac7fbccbd6ace2ef2727a20  gcc/config/alpha/vms_tramp.asm
! 63e5d6e90591610c137361a352736dc5  gcc/config/alpha/x-vms
! 72b105f2d2424078f658582cfe30e3b5  gcc/config/alpha/xm-vms.h
! 0896280626e3f0d1b129f081d90655b6  gcc/config/arc/arc-modes.def
! b6f3e214db73d81a27b9b501d7a87555  gcc/config/arc/arc-protos.h
! a8b1c6629436c60be579a4e76d274fbe  gcc/config/arc/arc.c
! eeba863211b2f4562966e391b229ea69  gcc/config/arc/arc.h
! 11306501dd8ecbe08da440b72577fc05  gcc/config/arc/arc.md
! 164b12fbf9f62c635966f4f0e7292436  gcc/config/arc/initfini.c
! 0f6cebc17e2ff7e0619853a662958c2b  gcc/config/arc/lib1funcs.asm
  8716ec248f8b7b4307c4e712160acdeb  gcc/config/arc/t-arc
  b4dc0e55b7eb81cbe53a2184760cf4c6  gcc/config/arm/README-interworking
! fcaa1796efbf8972cdf38f5409e45cc3  gcc/config/arm/aof.h
! 156439a49778f2c746d32b1bf1e6fc58  gcc/config/arm/aout.h
! 9b4680ae52dbbd7f5f587dd5d83864ba  gcc/config/arm/arm-cores.def
! e0fd2fb5f7dd0f1be2b5adacfd769a5a  gcc/config/arm/arm-generic.md
! 10f8ed2bc5018eab689e0b9e8262b91a  gcc/config/arm/arm-modes.def
! 880ce8362c744c4a29ec5e51f8c6ec99  gcc/config/arm/arm-protos.h
  a9c6bb44ae33b82aa493b7046fe6a65a  gcc/config/arm/arm-tune.md
! 2fe39f6c81ffba257cbc63e9a03159bf  gcc/config/arm/arm.c
! e3f9e67b5b53a623f0e86aae8ffd545b  gcc/config/arm/arm.h
! 56beee54e0964c837c08875ce562faf6  gcc/config/arm/arm.md
! 6fa66b47d689a5c86da021ddb41f43c8  gcc/config/arm/arm1026ejs.md
! 1bd9b6e2cfdb43dad63bc22290c3d937  gcc/config/arm/arm1136jfs.md
! d9db2a7778609ef4f60ff86121680b41  gcc/config/arm/arm926ejs.md
! 290c7f676b1047a2ca4fc36863d27027  gcc/config/arm/bpabi.S
! 1a2fca510cf66a724af98cb389613db7  gcc/config/arm/bpabi.c
! 5ed8d98e1e56a3576ed0ac9cae4cb9ed  gcc/config/arm/bpabi.h
! 56219c9b9801cfa3c3b6dd055501394f  gcc/config/arm/cirrus.md
! 6d68f609092393cd1cc4d634b5b8c333  gcc/config/arm/coff.h
! 0f8c48bdec1bbe110177fdd6e58bba79  gcc/config/arm/crti.asm
! 61e77d5c8487cea2a2171bd4584f596c  gcc/config/arm/crtn.asm
! 579c231252aa3ae5e7401afeea0dfcd3  gcc/config/arm/ecos-elf.h
! d728818638c61e19009e4dbd62882895  gcc/config/arm/elf.h
! 9c6fdaf66b1e04d1cb4557a82355aa63  gcc/config/arm/fpa.md
! 7085442f45dad03c1280e353b07ce96c  gcc/config/arm/freebsd.h
  46d77360c255b528b1f33c3082a70fc0  gcc/config/arm/gentune.sh
! 7264b50b0ade3716cc5341f4ce0fa410  gcc/config/arm/ieee754-df.S
! a4620eb312ab7a83c6e69c2f50aadac5  gcc/config/arm/ieee754-sf.S
! 3c04ff9aab82ccd0505b2024f79f6f58  gcc/config/arm/iwmmxt.md
! ca2bde1eefdda77b41938e5f9da85133  gcc/config/arm/kaos-arm.h
! 62e13ca855ed6aa05a6b45e8d03846a9  gcc/config/arm/kaos-strongarm.h
! cd83b6f49288300a343052374d68211a  gcc/config/arm/lib1funcs.asm
! 91d7869a372e1e80f22dca5da9b51ae3  gcc/config/arm/libgcc-bpabi.ver
! 45289a37186129da1cc013fab6cecb5d  gcc/config/arm/linux-elf.h
! 54784ee100777058908cc1059af32a57  gcc/config/arm/linux-gas.h
! c43acb8eabb09b7f1ac55949a281fdba  gcc/config/arm/mmintrin.h
! 0f8ba65998caf08198fec2beae983d3b  gcc/config/arm/netbsd-elf.h
! 10ada38365ec61baea89852e75a3736e  gcc/config/arm/netbsd.h
! 7050c6c4f91b00f8bb68de05672edf27  gcc/config/arm/pe.c
! 19e828dc55c26a29a427e6a113f66d4c  gcc/config/arm/pe.h
! 1d859257279b9911a4bc23b9c2305a8f  gcc/config/arm/predicates.md
! 8a0556e88b137ac40bc74e03439742ca  gcc/config/arm/rtems-elf.h
! 9512c41447a606b7b1ce23827eb9ee2f  gcc/config/arm/semi.h
! 74ca07ecacfb5db6d22983a5f4b2a604  gcc/config/arm/semiaof.h
! ff0d30158002a03eb306d7ea2b138a61  gcc/config/arm/strongarm-coff.h
! 7e1c4313a2437dc4c37fbc20665db61c  gcc/config/arm/strongarm-elf.h
! 6d77295e2963ff824175938a9d3fc2d7  gcc/config/arm/strongarm-pe.h
! bba99b1b96adc49ddd8ceb77b85f9dde  gcc/config/arm/symbian.h
! 3f8f64652caf06aeb610ceaa5582834f  gcc/config/arm/t-arm
  5a8ef7705a4b2d9c6af43b0358baf865  gcc/config/arm/t-arm-coff
  b63ebf3c4512053f58a576ec5ba280c6  gcc/config/arm/t-arm-elf
! 28a91290c2edd9ab82fcd2e63b773b99  gcc/config/arm/t-bpabi
  62166bf3306a8c7da37af0830b172d23  gcc/config/arm/t-linux
  5c3723d93866203c50f948bfc4a78da8  gcc/config/arm/t-netbsd
  2bead4fd835842fced54e7275ce1f06f  gcc/config/arm/t-pe
  cbb317a4a7cd4064b379cd1aa2aa96cd  gcc/config/arm/t-rtems
  3f4caf56c0d20024c789acf824ae52d7  gcc/config/arm/t-semi
  be87610100021f1329b99bc0d755c9b5  gcc/config/arm/t-strongarm-elf
  2ade9b3cb641eb053c4ee8345e749d21  gcc/config/arm/t-strongarm-pe
! 9ef110c17aa93f8fd99aa96fea7b28da  gcc/config/arm/t-symbian
  3c040dac3e0917fb5ff2b6d8ab597471  gcc/config/arm/t-vxworks
  cedccdf9fd4b90a55ab429e4da5cc852  gcc/config/arm/t-wince-pe
  e508181c4788d80d5fd86025c9e0c82c  gcc/config/arm/t-xscale-coff
  66f60bf42acddba90c2d485ff6a07a7b  gcc/config/arm/t-xscale-elf
! 2193be4df4c041109b17c69ec83dcdb0  gcc/config/arm/uclinux-elf.h
! 383961fc664abf9195f5e864bce54f1d  gcc/config/arm/unknown-elf.h
! 370a123588a0b6ee57435a9d5c67d56f  gcc/config/arm/vfp.md
! 646be3031ffadd157674bea9cccf4a7f  gcc/config/arm/vxworks.h
! 7a3b0330b967acf9471952776e7a3938  gcc/config/arm/wince-pe.h
! b5e25aee99e6c3e5a02d16e35c3bdb4c  gcc/config/arm/xscale-coff.h
! a44ceec913b6374da873a1e35bd09b76  gcc/config/arm/xscale-elf.h
! b9c4d40321bff60f6c6d61462a53f17b  gcc/config/avr/avr-protos.h
! 41e107083be3cd1112587d9e171aa768  gcc/config/avr/avr.c
! 4b6e6c37bc0c4973d33c1deb119c2bb7  gcc/config/avr/avr.h
! 6fb5cb85846f593abbf82b3a36a0ad8f  gcc/config/avr/avr.md
! 03b995ccfb9f42f4958999fddb3f2af9  gcc/config/avr/libgcc.S
! 90768cd4cb6a0275699eacc523ee5cf1  gcc/config/avr/rtems.h
  cbe7969cd44c9b139d4276cfc7f57136  gcc/config/avr/t-avr
  6aa29f64f366fd362ab1f548d54415cc  gcc/config/avr/t-rtems
  609ef01515c983fce3af15ca855afbca  gcc/config/bfin/bfin-modes.def
! 8c515d029f7ffe54fe470901a5bf5824  gcc/config/bfin/bfin-protos.h
! 560368e343999f0e70eb6bac2a4dc340  gcc/config/bfin/bfin.c
! 381de584cd58f557668f108fcb4e6f1d  gcc/config/bfin/bfin.h
! 862264a20331a74586d8d81e393a2d1e  gcc/config/bfin/bfin.md
! 6a5d8aedec12bb79c17e2187d0e4fddc  gcc/config/bfin/bfin.opt
! 158f6fac7e05e961b04d42e3359e3fe3  gcc/config/bfin/crti.s
! ec1dd2019273a0b01c0e65b42995c616  gcc/config/bfin/crtn.s
! 92c781fc4ee16a799609501ca7bed8a5  gcc/config/bfin/elf.h
  1e0a04558d9ea74da9c6c30ed1e6d5c3  gcc/config/bfin/lib1funcs.asm
! 4aa045b4c967e19ce5d0bb8662ee658f  gcc/config/bfin/predicates.md
  b2dccb337cf3999a49e45d6d58c2841f  gcc/config/bfin/t-bfin
! b2dccb337cf3999a49e45d6d58c2841f  gcc/config/bfin/t-bfin-elf
! 507493522396b278d8da569507ac5350  gcc/config/bfin/uclinux.h
! 47df5bebb8b4bcd5310895da02e87e88  gcc/config/c4x/c4x-c.c
! fba5ea0f83b1635631cc00311c0e1de7  gcc/config/c4x/c4x-modes.def
! 4fb43372379f3733084fe7876534addf  gcc/config/c4x/c4x-protos.h
! 41a0df19cd9da189a376642e9b8630d6  gcc/config/c4x/c4x.c
! f9201288529122676d269381af839968  gcc/config/c4x/c4x.h
! ad21945e21257bfa40b66783ecf02de0  gcc/config/c4x/c4x.md
! db4d38b6b73666d6246b1d13d88737ff  gcc/config/c4x/libgcc.S
! 26c90a9d5977b200ec07ac587f4e10e8  gcc/config/c4x/rtems.h
  4fdf00f5884edc1e3e534a63ea4c63e7  gcc/config/c4x/t-c4x
  279bb82d95432acaf7f5a5a352c812fa  gcc/config/c4x/t-rtems
! 737a2a3d6832f92552c51f14df901ea0  gcc/config/chorus.h
! 2241d850f9f87db2427ad2ea1e79a1d9  gcc/config/cris/aout.h
! c0124aeca2397b068b1bd9c7aae3ceba  gcc/config/cris/arit.c
! 8f71d7c2a11be5a1a970e2af3b7ce995  gcc/config/cris/cris-protos.h
! 7844778b4d5a90c863a9f3a5a8187f43  gcc/config/cris/cris.c
! e9223325ac3583929716003e7b76db6c  gcc/config/cris/cris.h
! 32b4dccd7ea2cd714e40354232ace49b  gcc/config/cris/cris.md
! 414fb6676277d06c6d26d142e737b6df  gcc/config/cris/cris_abi_symbol.c
! 5f2bb7d8a0b9dc21848654ce0093f05a  gcc/config/cris/linux.h
  7e589512d4c3d6d7f9f7b1baae70d1f3  gcc/config/cris/mulsi3.asm
  b8ddfb88a35521172e3364ce4604727a  gcc/config/cris/t-aout
  b2c53f46db5790d2edda8866ba70276a  gcc/config/cris/t-cris
  5a26644635b6f845f691023911c91faf  gcc/config/cris/t-elfmulti
! f8fb31bb3a9a10b08e1cb042c5022288  gcc/config/cris/t-linux
! d5e9d0fd1b9d6bff37c4d50a202474be  gcc/config/darwin-c.c
! fdc23aaf18e495ffb8d00d2b72e18572  gcc/config/darwin-crt2.c
! a72d3b187047ab1f0ffce2157695b5e4  gcc/config/darwin-protos.h
! 1516dd751ef071031dcd24f50a2e0008  gcc/config/darwin.c
! 24e4c33836ba68b7a87b3d35dd12d56a  gcc/config/darwin.h
! 8ec0d09229219da60d3a13bff822008e  gcc/config/darwin7.h
! 4af301c035ebd3b6ffa923a90da31823  gcc/config/darwin8.h
! a16576ae28c0a2ec2bbca2c6f747ff5d  gcc/config/dbx.h
! af9a178d969437c5916dbf310c3d3015  gcc/config/dbxcoff.h
! f52cac305c4a9b26ecb3600e7358a0cd  gcc/config/dbxelf.h
  dd973d9a715ff98057d5885b259f85a1  gcc/config/divmod.c
! 23a5cf4d710a2cbb251ad6ed0f4421f7  gcc/config/elfos.h
! 77167cf15406c53fb64035ab956973ce  gcc/config/fp-bit.c
! a5a5d825707cca377e28b99406d92ad0  gcc/config/fp-bit.h
! 4212cc2416953fa657b1dfa98962168c  gcc/config/fr30/crti.asm
! a2355e2e8266b279cad6bf913c579a5f  gcc/config/fr30/crtn.asm
! 273088f6819c7fca232bf1ee35b44b3a  gcc/config/fr30/fr30-protos.h
! 1333619ba2e8f367a02f93b0d05a1451  gcc/config/fr30/fr30.c
! 89dbf6cbacca715c68ed48fcd94b9b34  gcc/config/fr30/fr30.h
! 3d710c7c0c2ec248e7901abdc1822cc9  gcc/config/fr30/fr30.md
! 4e833e43d8a4a49c563cf6f6a9e04dc7  gcc/config/fr30/lib1funcs.asm
  b11ea133da1b239a015796811b03e23b  gcc/config/fr30/t-fr30
! bf2176e1eee68deffe236a9735a8f3db  gcc/config/freebsd-nthr.h
! 76d1fb9ec8fa196a985980ed5a1b4564  gcc/config/freebsd-spec.h
! 99c3be8b7f1d7a86ba300ef7d0a5c1c8  gcc/config/freebsd.h
! acbf95585222995e750d460be6be625b  gcc/config/frv/cmovd.c
! 5ca13398f66879cea3a8bb4050f50d3b  gcc/config/frv/cmovh.c
! 148f6f1138597ea3279d8b946302e784  gcc/config/frv/cmovw.c
! fc58f08a2cec12d4108a247f731d11d9  gcc/config/frv/frv-abi.h
! 38173b8edf724335e3a54587d13c49e9  gcc/config/frv/frv-asm.h
! 7bc3ec20318dbcecfbf0c0cd91e6aa7c  gcc/config/frv/frv-modes.def
! 579b937332d254542f7d371e968831ae  gcc/config/frv/frv-protos.h
! 5b8fb9c14a915e811537101a0acfe6ca  gcc/config/frv/frv.c
! b6dc2fc3b9810f162925f78ad1881294  gcc/config/frv/frv.h
! 1d583db6e911087ea793f4959b80e01d  gcc/config/frv/frv.md
! d647a6fe22845a92810df241849b45f7  gcc/config/frv/frvbegin.c
! 6a01ef4b8e3aedba43db3d2cbfcac39b  gcc/config/frv/frvend.c
! c84f3efea3babe2f0a51bb40c78df30c  gcc/config/frv/lib1funcs.asm
  d9e7d6c9a9149d02fb27cc3eaa5aca4c  gcc/config/frv/libgcc-frv.ver
! f01bc48c719475863e4addad701d1366  gcc/config/frv/linux.h
  519042a46e82243706e07f0df8d12e35  gcc/config/frv/modi.c
  47c1fa2f324633caf83ed1f1e23ae0f0  gcc/config/frv/t-frv
  2084a08c7d0d9f8c610cbfd983b25cdc  gcc/config/frv/t-linux
  614493d610e9da58f50094ed9d6c8528  gcc/config/frv/uitod.c
--- 2313,2533 ----
  4098f940703b404acc95f6930ee5adea  gcc/config/alpha/t-unicosmk
  a55b683441d09dc8487a85470a557580  gcc/config/alpha/t-vms
  801c9903de067c653ed7a4b36af18c8c  gcc/config/alpha/t-vms64
! 8387d01b738fc0d8ecc64935880dea8a  gcc/config/alpha/unicosmk.h
  ea08f556c727bd62c2626f8b171bb96c  gcc/config/alpha/va_list.h
! 1f7b54e0504a908453b35ce601483fe8  gcc/config/alpha/vms-cc.c
! c2af769e4d218fef945a8655613cfffa  gcc/config/alpha/vms-crt0-64.c
! a8e541d0699fe15cce0572d8b3b91ee4  gcc/config/alpha/vms-crt0.c
! 3ebc0c7c09d392d8a89e5b49a3087986  gcc/config/alpha/vms-dwarf2.asm
! 3ffd3976a9e36996bde15d6a0168fee5  gcc/config/alpha/vms-dwarf2eh.asm
! 8f773dfd4321f8bbec31e94ad6fb78b4  gcc/config/alpha/vms-ld.c
! 71785014b3a97f2fd29b0515e2ebb73f  gcc/config/alpha/vms-psxcrt0-64.c
! 09cbbab68cd841f5f1356beb4969ef41  gcc/config/alpha/vms-psxcrt0.c
! 9bdd2ee1e97d8eb524f2040f4b9fd97f  gcc/config/alpha/vms-unwind.h
! 082fa9969de296bca1ef1f82f62da2d8  gcc/config/alpha/vms.h
! 2684baed05a2b8f779db54e5f04aac1f  gcc/config/alpha/vms64.h
! 950ddbda94194a901dac1c4a4b565ba2  gcc/config/alpha/vms_tramp.asm
! 00bba6bfc5c419248b67dac7f6297438  gcc/config/alpha/x-vms
! 09d383b262de57ac178bb91a1a18d27f  gcc/config/alpha/xm-vms.h
! 3221b6f932f710bcfb4d13d43ae95e44  gcc/config/arc/arc-modes.def
! 959b9dc968ae45bde9f11bd81e4ccb01  gcc/config/arc/arc-protos.h
! 19034636a7021d85da758bd2114512bf  gcc/config/arc/arc.c
! d4fe02a8b0cde8ba4f797009dff0cc13  gcc/config/arc/arc.h
! dd550e5d25480cd5a78f82e9d60782a2  gcc/config/arc/arc.md
! 62e7e78d2b10600d81a9e5cd03496b1c  gcc/config/arc/arc.opt
! 6534cd1fd95584b61a8ada3e0bcb8f40  gcc/config/arc/initfini.c
! 649754c920cd754b3de04a02241b61a9  gcc/config/arc/lib1funcs.asm
  8716ec248f8b7b4307c4e712160acdeb  gcc/config/arc/t-arc
  b4dc0e55b7eb81cbe53a2184760cf4c6  gcc/config/arm/README-interworking
! f4aec145593f369dd50b63d659dd4405  gcc/config/arm/aof.h
! 97addb80d1fbeafa35df1aee8a6d0ce7  gcc/config/arm/aout.h
! e52edc38b92250f635a32605769b8369  gcc/config/arm/arm-cores.def
! 63d32732817da113da9a966dea582e9a  gcc/config/arm/arm-generic.md
! 4f35cd1f3468ada90e5981822a8260f0  gcc/config/arm/arm-modes.def
! 75adcd02be8052d6da921c5db47c893a  gcc/config/arm/arm-protos.h
  a9c6bb44ae33b82aa493b7046fe6a65a  gcc/config/arm/arm-tune.md
! 48d9b0f3f51611c576777332ae4b9e23  gcc/config/arm/arm.c
! 8795bd6fcf5a838b74038bb0f4438b3a  gcc/config/arm/arm.h
! ddf6e90a8b43a156815204abd117c231  gcc/config/arm/arm.md
! a983aafe8352c10df0964872a6594d6d  gcc/config/arm/arm.opt
! 7deeb5777cd746080edd15f0d70c870e  gcc/config/arm/arm1020e.md
! 0a8ea01235923dddadd027e778b58014  gcc/config/arm/arm1026ejs.md
! e127de9d75d09f82fd08b6cf784dd2d5  gcc/config/arm/arm1136jfs.md
! 123e69eeeeeb815f148ab6b4085f7637  gcc/config/arm/arm926ejs.md
! 25af6f6df3fa23d9c720609285b9284f  gcc/config/arm/bpabi.S
! 4df35b0fe4b37dd4f96bb5a9a8dd1a92  gcc/config/arm/bpabi.c
! 9488d17cac8a3c920608373c9119a826  gcc/config/arm/bpabi.h
! 185e515b1b6053d02a5d3574e5b0eae1  gcc/config/arm/cirrus.md
! 6fb07aa45263c38dbbaa8d982f2bd509  gcc/config/arm/coff.h
! a2e7945dff244556babf49f34023276a  gcc/config/arm/crti.asm
! d06a9e83aa17bc0f05721493f1a3aefe  gcc/config/arm/crtn.asm
! d37db2f517197d7d3d46ec502dcf69e2  gcc/config/arm/ecos-elf.h
! c391db4f5aae6e7cde64771dc2f28241  gcc/config/arm/elf.h
! 305419bc7b25cc56897ad4ad12445ea2  gcc/config/arm/fpa.md
! a3ce13f16ffb90e6f18d13789fda3990  gcc/config/arm/freebsd.h
  46d77360c255b528b1f33c3082a70fc0  gcc/config/arm/gentune.sh
! a2eaa4a9132b2e98fd5f2afba6fb36e1  gcc/config/arm/ieee754-df.S
! 0b8dc463406c8b2c1e1a4b21b05a86c4  gcc/config/arm/ieee754-sf.S
! 4456f73699f6fcd74f3b3e5864b16cd6  gcc/config/arm/iwmmxt.md
! 198093862aab5d28f7847b1f8ffda024  gcc/config/arm/kaos-arm.h
! 6679d7b23adca2213fda35d28b81f0e4  gcc/config/arm/kaos-strongarm.h
! c8c80c331e4fe8c2146adbd1b5665aa7  gcc/config/arm/lib1funcs.asm
! f83a91432fcdbef50676b7e9706778b6  gcc/config/arm/libgcc-bpabi.ver
! b411d2f36160fb104d382c6022da76cd  gcc/config/arm/libunwind.S
! d115f0a3ce2cd5b6f2678ca3811b54ec  gcc/config/arm/linux-eabi.h
! 116b5e931ea0a226b1fcee711940b5fa  gcc/config/arm/linux-elf.h
! fb08fcaf2b81be07b2ffa849f4428b21  gcc/config/arm/linux-gas.h
! 95abd04a4830ac013a5b3024612a7140  gcc/config/arm/mmintrin.h
! 58f81a14380cfb296f5880e19634d54e  gcc/config/arm/netbsd-elf.h
! 9404fb09a51ec892230c3235ccc97809  gcc/config/arm/netbsd.h
! 8c135a762e59717c3011d8f1f2029f70  gcc/config/arm/pe.c
! 172a2288bf7ff357e81cebe6738c3ac4  gcc/config/arm/pe.h
! 24f2292877e11dd753a9b04a4a7f43b3  gcc/config/arm/pe.opt
! 7810880fcb24fcc1022a9c648a8b27ee  gcc/config/arm/pr-support.c
! 82d0c5f3986701f1b17ba827133e50fc  gcc/config/arm/predicates.md
! 1fd28aca831e4360439170b873c0c37d  gcc/config/arm/rtems-elf.h
! 0171568f97d7829174e539e8601c9d8e  gcc/config/arm/semi.h
! b31f37b6aac1befcd5567a4cd70f7078  gcc/config/arm/semiaof.h
! 7520ca11198eae24379fdce8a03e5ffa  gcc/config/arm/strongarm-coff.h
! fe9a48f5907093cbb81bffa37de869dd  gcc/config/arm/strongarm-elf.h
! a4f8d73a77ad2a88c8f48afed6d4752c  gcc/config/arm/strongarm-pe.h
! ffa6c8c726461edaa7fec9852bc0589d  gcc/config/arm/symbian.h
! 0e3681c37fb4a2ab65255933572bb12d  gcc/config/arm/t-arm
  5a8ef7705a4b2d9c6af43b0358baf865  gcc/config/arm/t-arm-coff
  b63ebf3c4512053f58a576ec5ba280c6  gcc/config/arm/t-arm-elf
! ef3fdbce0fae5e79694e637cdc15501f  gcc/config/arm/t-bpabi
  62166bf3306a8c7da37af0830b172d23  gcc/config/arm/t-linux
+ f56796fe7b23445706ed46afd465207d  gcc/config/arm/t-linux-eabi
  5c3723d93866203c50f948bfc4a78da8  gcc/config/arm/t-netbsd
  2bead4fd835842fced54e7275ce1f06f  gcc/config/arm/t-pe
  cbb317a4a7cd4064b379cd1aa2aa96cd  gcc/config/arm/t-rtems
  3f4caf56c0d20024c789acf824ae52d7  gcc/config/arm/t-semi
  be87610100021f1329b99bc0d755c9b5  gcc/config/arm/t-strongarm-elf
  2ade9b3cb641eb053c4ee8345e749d21  gcc/config/arm/t-strongarm-pe
! 4b55a4a91b9694e90fc381a1087a55b9  gcc/config/arm/t-symbian
  3c040dac3e0917fb5ff2b6d8ab597471  gcc/config/arm/t-vxworks
  cedccdf9fd4b90a55ab429e4da5cc852  gcc/config/arm/t-wince-pe
  e508181c4788d80d5fd86025c9e0c82c  gcc/config/arm/t-xscale-coff
  66f60bf42acddba90c2d485ff6a07a7b  gcc/config/arm/t-xscale-elf
! 09b66e92ecd506b792d8bd9913fb85d1  gcc/config/arm/uclinux-elf.h
! 9f0082af4db9e70537507220c0dd1687  gcc/config/arm/unaligned-funcs.c
! aa1cd0223781590e1e751a4e0e3679af  gcc/config/arm/unknown-elf.h
! 6843223c3a74f80a2267d76964d0f94c  gcc/config/arm/unwind-arm.c
! 09c1ddaa15beb32222ce65d21e95fa65  gcc/config/arm/unwind-arm.h
! 0bfd0c33f64eab02f9e3c19e6b65b3d0  gcc/config/arm/vfp.md
! 808e300e1fb4c229c40c3d087a10cad2  gcc/config/arm/vxworks.h
! b557342154efba69de616e4e7e8fca67  gcc/config/arm/wince-pe.h
! 94bf65590c1c3d2dc32c227a3f4114d4  gcc/config/arm/xscale-coff.h
! f69f3ef0e137ec072ae908ecca803182  gcc/config/arm/xscale-elf.h
! f392cfeb80170e45e6df718a65d6f1be  gcc/config/avr/avr-protos.h
! 4030f5099b34066c23a16c54750e8033  gcc/config/avr/avr.c
! 6a0d30a2750ea4f3f1c39a80f49e9071  gcc/config/avr/avr.h
! cd84b524f1ebaca25bc66d7d4b9d0fa4  gcc/config/avr/avr.md
! dbe589322484f7882d62f9f945db7dc1  gcc/config/avr/avr.opt
! 3391f6feb34a81b590de0ea89a63d8ac  gcc/config/avr/libgcc.S
! 46d1c280bcfab96763f1c6792327330d  gcc/config/avr/rtems.h
  cbe7969cd44c9b139d4276cfc7f57136  gcc/config/avr/t-avr
  6aa29f64f366fd362ab1f548d54415cc  gcc/config/avr/t-rtems
  609ef01515c983fce3af15ca855afbca  gcc/config/bfin/bfin-modes.def
! 92ec46cb26f0800a2cacd4b11dce5e02  gcc/config/bfin/bfin-protos.h
! 8d729703f7fa793f2ba5b20b84ba9491  gcc/config/bfin/bfin.c
! d1b76cdd74a4782a372e97a34f482d52  gcc/config/bfin/bfin.h
! 6dfb7f75406700edb5ca640a6afdab31  gcc/config/bfin/bfin.md
! 1a00ccd0e1655a109a87401b0cda0ad1  gcc/config/bfin/bfin.opt
! 7782586dc41733257a8a2030d77886ea  gcc/config/bfin/crti.s
! 7c6f8cd2a80797f494f8219c5dc88f1b  gcc/config/bfin/crtlibid.s
! 4e801dd9a72122776307a6d6c5f25419  gcc/config/bfin/crtn.s
! f86ad378604dc9b74a9970819201a4a0  gcc/config/bfin/elf.h
  1e0a04558d9ea74da9c6c30ed1e6d5c3  gcc/config/bfin/lib1funcs.asm
! fbf056c916ce62a6e04d6184619464e0  gcc/config/bfin/predicates.md
  b2dccb337cf3999a49e45d6d58c2841f  gcc/config/bfin/t-bfin
! a49bf663a69af5f69d35ec9cee383be4  gcc/config/bfin/t-bfin-elf
! 861d8a2c34cbf98f754d5196eabe0725  gcc/config/bfin/uclinux.h
! 0f342c246cd97053751017629268a816  gcc/config/c4x/c4x-c.c
! b46c568d6a886282b3e43b0e779b94e4  gcc/config/c4x/c4x-modes.def
! f964d841dd9d40cc587dc603bce16453  gcc/config/c4x/c4x-protos.h
! bfbf1757f6169ce9a4958d77b028d2dc  gcc/config/c4x/c4x.c
! 4873ad3fba903fb5c5ae50a6760c8ed7  gcc/config/c4x/c4x.h
! 7e703368676c003dc5aa36d855578142  gcc/config/c4x/c4x.md
! 13397e0eba8f1758821da602e19d8feb  gcc/config/c4x/c4x.opt
! 453940c2be36070ceb122105ea589673  gcc/config/c4x/libgcc.S
! 26ab68ea48f8f1152220de3c541935b5  gcc/config/c4x/predicates.md
! f8f6968a8bd324d26ee087fbc1166555  gcc/config/c4x/rtems.h
  4fdf00f5884edc1e3e534a63ea4c63e7  gcc/config/c4x/t-c4x
  279bb82d95432acaf7f5a5a352c812fa  gcc/config/c4x/t-rtems
! a4f0d84c6996771c2f750ec60aad309d  gcc/config/chorus.h
! a123b528a2064ad87d362fc180cbe61b  gcc/config/cris/aout.h
! 5f89c95c093768f3a39bf17fe3f96cea  gcc/config/cris/aout.opt
! 58a4cfdd0afb760f923c3f930a251597  gcc/config/cris/arit.c
! 606e947fa935cad404325bc9df2adb5a  gcc/config/cris/cris-protos.h
! 019596b25a42c2173cded8f058a04be6  gcc/config/cris/cris.c
! 128a531c3b0027149ea6b6d93c59f0dd  gcc/config/cris/cris.h
! c38e01bea85b6d6a24275c88ccf8048b  gcc/config/cris/cris.md
! 27a471096d5e210c2a974f6d03d8057c  gcc/config/cris/cris.opt
! a31c1790439c3a635ef4cf4633812d2b  gcc/config/cris/cris_abi_symbol.c
! 5894e2b51f216cd3dd4f0e8ab49adcf7  gcc/config/cris/elf.opt
! ccb20cc32da4f3b9fc356e43dd1a2d3d  gcc/config/cris/linux.h
! 3787ccc3ff890c2ace118efb744ef4ab  gcc/config/cris/linux.opt
  7e589512d4c3d6d7f9f7b1baae70d1f3  gcc/config/cris/mulsi3.asm
+ d3935e3dc4d1be21d83d4bb6e6220955  gcc/config/cris/predicates.md
  b8ddfb88a35521172e3364ce4604727a  gcc/config/cris/t-aout
  b2c53f46db5790d2edda8866ba70276a  gcc/config/cris/t-cris
  5a26644635b6f845f691023911c91faf  gcc/config/cris/t-elfmulti
! 159031dd16666c8c6c634202f213d737  gcc/config/cris/t-linux
! 58c80723f3ae6b29a98c41a10356d4d4  gcc/config/crx/crx-protos.h
! 3fe72e70ae7a1c3db21af73cdda1b7e3  gcc/config/crx/crx.c
! aff1cf11a4fe27e1f646ffc75f185bab  gcc/config/crx/crx.h
! 484c6f18d6bdd81f79661dbe8b262684  gcc/config/crx/crx.md
! 3f0266dc7bcffb5cb80063b2c358bde4  gcc/config/crx/crx.opt
! acfffbeeedac4d5697c2cda244c17338  gcc/config/crx/t-crx
! c43248c5521fd90986ed72082e0b6c1d  gcc/config/darwin-c.c
! 855b165786a6e739726d15e8aff85dc4  gcc/config/darwin-crt2.c
! 2f6feae608f85414fb0a4adb706f1869  gcc/config/darwin-protos.h
! 2ec75fd2ce820f80419d980c1bd78bdf  gcc/config/darwin.c
! b97b03029744171681be15781ed64ddd  gcc/config/darwin.h
! 2bc9fe9e518bc2b684389f53bb9402a9  gcc/config/darwin.opt
! 0d27dcc2f3a1181eccf6b044de94e956  gcc/config/dbx.h
! 0571cf91ec37c761971b2323368a1ae2  gcc/config/dbxcoff.h
! 981d1bf8fd622c436b7f54f64fe91ec6  gcc/config/dbxelf.h
  dd973d9a715ff98057d5885b259f85a1  gcc/config/divmod.c
! ddd8ca004cfde6ae55aee7a6ff069cc6  gcc/config/elfos.h
! 1022f3124efc3b5da964df6e7d292be5  gcc/config/fixtfdi.c
! 29b2833941b761d0c55de19670e461e4  gcc/config/fixunstfdi.c
! 1e66f7c263890440ce57b1c166c26312  gcc/config/floatditf.c
! 40d9219de9c3b0705ceb2db970762048  gcc/config/floatunditf.c
! 8daec665c3621161bbaa2020c967ef3b  gcc/config/fp-bit.c
! f5496c5960a945d3e9aa93f20eb88359  gcc/config/fp-bit.h
! 1149a8352429d8477be1860c3bef0134  gcc/config/fr30/crti.asm
! 9555f1d0e4779becaabcae67ca84cb03  gcc/config/fr30/crtn.asm
! 4d53c47f9aa353ffa52ba525a837c18e  gcc/config/fr30/fr30-protos.h
! 347002e01e1a547140816d827d3f2c5f  gcc/config/fr30/fr30.c
! 2effc74c0ca987a726151cc4b9a62a7f  gcc/config/fr30/fr30.h
! 2f3856aa7e2b46f01f8644f1b8954425  gcc/config/fr30/fr30.md
! 3191c29df0ad94279fce67e03319dbe5  gcc/config/fr30/fr30.opt
! 2cd966b04cc1237b96a461f3594dad9d  gcc/config/fr30/lib1funcs.asm
! 49fb6a86f6912340c3003224229bd59c  gcc/config/fr30/predicates.md
  b11ea133da1b239a015796811b03e23b  gcc/config/fr30/t-fr30
! 959d2addeaebb427fab6cd62f6070403  gcc/config/freebsd-nthr.h
! 20f967b5be3ed9a61e300d515811497d  gcc/config/freebsd-spec.h
! 3efaae0065c66d5fc878ba4fa07fd191  gcc/config/freebsd.h
! 532a536fa0c33625c46d1e744eb5fe5b  gcc/config/frv/cmovd.c
! 0dc74a34aa3ff0cefcdc0f300c278e0c  gcc/config/frv/cmovh.c
! 67a03bcbfa55dd0b1500e3e7debd2f1b  gcc/config/frv/cmovw.c
! 02f72136e608514767afa346ca2fcb0e  gcc/config/frv/frv-abi.h
! 0020eed75dafa208bd7ba216d4cc3cac  gcc/config/frv/frv-asm.h
! 2daab2cc1051de1c031b3170306634d7  gcc/config/frv/frv-modes.def
! d23408c825426f0fcd3456fec52752b2  gcc/config/frv/frv-protos.h
! 8bb794401dfee55a99547abd08000901  gcc/config/frv/frv.c
! 2be1f6e86d2f1b89af2b7c1f9e3e1914  gcc/config/frv/frv.h
! 21176918033793725afeaadb9e547e44  gcc/config/frv/frv.md
! 323c08ee9c34e46f02e21929c51b4abe  gcc/config/frv/frv.opt
! 6ac02f7444128c17c7c8eb3b8a5664fa  gcc/config/frv/frvbegin.c
! cc96fe220d74ab894274e702ea2c72b2  gcc/config/frv/frvend.c
! 07402956716a3b11565dc6e8bbc0ffb2  gcc/config/frv/lib1funcs.asm
  d9e7d6c9a9149d02fb27cc3eaa5aca4c  gcc/config/frv/libgcc-frv.ver
! c5c9a8965c8974852cf30996e7c4a275  gcc/config/frv/linux.h
  519042a46e82243706e07f0df8d12e35  gcc/config/frv/modi.c
+ f8b0533a83c843f59142a087770e979b  gcc/config/frv/predicates.md
  47c1fa2f324633caf83ed1f1e23ae0f0  gcc/config/frv/t-frv
  2084a08c7d0d9f8c610cbfd983b25cdc  gcc/config/frv/t-linux
  614493d610e9da58f50094ed9d6c8528  gcc/config/frv/uitod.c
*************** c363a68408b30fe1ae97782cfb8a4ac1  gcc/co
*** 2490,2612 ****
  8655cce7a18893493cc17391c6ce08d5  gcc/config/frv/ulltof.c
  756aa4a0c6f33a0203e0ea6594c19e38  gcc/config/frv/umodi.c
  fc2a41b61b1c92467f82c06cd525f082  gcc/config/gnu.h
! d627a702b831f47f8cd4d588efb29de5  gcc/config/gofast.h
! f3b163359eb1338b35be1455781fb481  gcc/config/h8300/clzhi2.c
! 2f3aa402799fdccf0356e71aa80b9899  gcc/config/h8300/coff.h
! ee8ee7d8f9b322adeb1c0f90eda372f9  gcc/config/h8300/crti.asm
! 5c2d259bed8ae7f277707d598d0c68c0  gcc/config/h8300/crtn.asm
! 932415a9ba68173a13f30c07b1203de4  gcc/config/h8300/ctzhi2.c
! 968c02f839f10930dbc80f50e79fb8ba  gcc/config/h8300/elf.h
! d37a3737914996e268d2cc518f734b82  gcc/config/h8300/fixunssfsi.c
  d0c4cd65e45c764b74cdafc357dd4553  gcc/config/h8300/genmova.sh
! b6099667c4e89b58cb7b92e2a735edea  gcc/config/h8300/h8300-protos.h
! d4ad2ddfaff016ccfa3df539e03737d2  gcc/config/h8300/h8300.c
! fc637116545a0864cd4ecbae166f458b  gcc/config/h8300/h8300.h
! 603740c5e0c23ffc3497333fd98b564e  gcc/config/h8300/h8300.md
! a67fd7403228da9bfe9a5da77aa3d7f6  gcc/config/h8300/lib1funcs.asm
  57d66a7feb9498d420e1aeccf5f6487c  gcc/config/h8300/mova.md
! 0a17909e7e3f311b6265603b5a043674  gcc/config/h8300/parityhi2.c
! 0e0c822e64cc35e772cc1413afa4a092  gcc/config/h8300/popcounthi2.c
! c0f2d063e2f37bb24deb1f0cafcef048  gcc/config/h8300/rtems.h
  e7797670314cc87228b0fcc1277e9ba3  gcc/config/h8300/t-elf
  b9e7ccf39ad6f3e2028606eed7a6338a  gcc/config/h8300/t-h8300
  f1012b40b6d48a65690431bfbed4343d  gcc/config/h8300/t-rtems
! e412cd4d0f575ab6ce7ba467e67510e6  gcc/config/host-linux.c
! d1169354d9fb0c002824b9515c9a2392  gcc/config/host-solaris.c
  70ccbfd1a8499753d7f9dcf440cecf15  gcc/config/i386/athlon.md
! 20ef648930f43661bab7ebea3e09894a  gcc/config/i386/att.h
! 74e637205f1f8423a986b0f7f74010fa  gcc/config/i386/beos-elf.h
! efde24a6c96f8298b0f2bef86449ac5d  gcc/config/i386/biarch64.h
! d7d8c782b899d2204f2514b294680da9  gcc/config/i386/bsd.h
! 636c8eb05f1d19aec09f0b979baa244b  gcc/config/i386/crtdll.h
! 1ca5ece18656850f3dc1240009fd7203  gcc/config/i386/cygming.h
! 53ea09f0520426453dce8c956f2a977c  gcc/config/i386/cygwin.asm
! fd2ff4edc5ad16e4b9007b48091840bd  gcc/config/i386/cygwin.h
! 1455938a0aa0fd1b7bfad25ecdc86747  gcc/config/i386/cygwin1.c
! 54754401e910c99d1f7511538c5ff139  gcc/config/i386/cygwin2.c
! 28981362d92ed9874fa6846d4a7f558a  gcc/config/i386/darwin.h
! 7519670b1eecca211c908cdc9408b8eb  gcc/config/i386/djgpp.h
! ceea07751eb75dfe6063ba7879459402  gcc/config/i386/emmintrin.h
! e4cebfb7f75572d50a4570c6ac4ed48b  gcc/config/i386/freebsd.h
! f6df35fd8ee49fe1bcd795f3a863a3af  gcc/config/i386/freebsd64.h
! 07ad1af009bce570e426de5adb357db8  gcc/config/i386/gas.h
! e371c12e72d78120666728d2c8a61f79  gcc/config/i386/gmm_malloc.h
  3d6c4acadac62736b94454830f7a63a4  gcc/config/i386/gmon-sol2.c
  9b26b0d2725a3764b0d94313af2fc2e8  gcc/config/i386/gnu.h
  3349498ec85e12ac7055f4802239086c  gcc/config/i386/gstabs.h
! cbf1c06251a3d4280f623559dace365c  gcc/config/i386/gthr-win32.c
! bdd1ba7481d8c9bfa8bb9aea7db5293a  gcc/config/i386/host-cygwin.c
! d4f89597a859ab8606358de41b9cb796  gcc/config/i386/host-mingw32.c
! 18664f7f6cad82f652e8698646bd5641  gcc/config/i386/i386-aout.h
! 1b2d6ccb27f251b27fa7731dc4bfc0f1  gcc/config/i386/i386-coff.h
! 08f3af675568a1b5e166603f701470c5  gcc/config/i386/i386-interix.h
! 9c3634535b436138b84f40c4f8add917  gcc/config/i386/i386-interix3.h
! 450af944a773e9fd3ad7d4ed849da7da  gcc/config/i386/i386-modes.def
! e060c8166d089b7686303148fc4a6060  gcc/config/i386/i386-protos.h
! da214124424991e1e4858a077d01bba7  gcc/config/i386/i386.c
! 6b19c1b094b7cf6570ef83b231bcacee  gcc/config/i386/i386.h
! b67ffbf77a3d2d2ae568733d65c267eb  gcc/config/i386/i386.md
! 5ffe40ec341446d7b52d9632bda88b3c  gcc/config/i386/i386elf.h
! a245104040e7966ceec333297c1c91e3  gcc/config/i386/k6.md
! 3d01dc4d505f2b80a9ede0b2d1aa03d4  gcc/config/i386/kaos-i386.h
! a82856ece8a0980e5860506200d221e9  gcc/config/i386/kfreebsd-gnu.h
! 43816fe3b21805540e5e01e07c9fb45f  gcc/config/i386/knetbsd-gnu.h
  659bf816fd264115e6611b9a193893a7  gcc/config/i386/libgcc-x86_64-glibc.ver
! 7437ced838e262c3655a3c956afee651  gcc/config/i386/linux-unwind.h
! 31815cb87fbccb161a736ab928338f6b  gcc/config/i386/linux.h
! 4c931d501ebaa2a281334ad72b114a9f  gcc/config/i386/linux64.h
! bb44a3f60543b0e8cd4a84269bf8f3ed  gcc/config/i386/lynx.h
  5e895df4995c0489965107367377218a  gcc/config/i386/mach.h
! fe7dc1d728206353feb0505b9a7cc193  gcc/config/i386/mingw32.h
! e64edaae44560b6a6b8871557da86b7a  gcc/config/i386/mm3dnow.h
! c799d3bec533bd5c02c05f206b539276  gcc/config/i386/mmintrin.h
! c4260c13da112a3947d075d8139b66b1  gcc/config/i386/mmx.md
! 66744899d2acfd00c3b63cf7dcd99db0  gcc/config/i386/netbsd-elf.h
  fc16dbeb0506d46a2b6d84763d171f5e  gcc/config/i386/netbsd.h
! ff0b3b09697a1cb293496aceebb6c63a  gcc/config/i386/netbsd64.h
! 5b90890d246145be00b2281b8824e431  gcc/config/i386/netware-crt0.c
! 31645766117c33a1e332155aa86387ad  gcc/config/i386/netware-libgcc.c
  d23979c8257c2101f1169351993ec57c  gcc/config/i386/netware-libgcc.def
  034fb153eacf9224b70d4c5b8f17fbeb  gcc/config/i386/netware-libgcc.exp
! b18ca4370e8925fed94b7ffdf8510923  gcc/config/i386/netware.c
! a5aa448ea97db3b498a00db13066aabf  gcc/config/i386/netware.h
! ce640a722e81f39b71071f934009294c  gcc/config/i386/nto.h
! a70b94b0c64483c59f21d05bba06e7f3  gcc/config/i386/nwld.c
! f22b4dfd2d26e39708eee04a84b72905  gcc/config/i386/nwld.h
! fc009e092fc272161549f3a1cf0e370e  gcc/config/i386/openbsd.h
! aaf038dc8c67444e8f65de818a7e5993  gcc/config/i386/openbsdelf.h
! 50c17a98a04ff60cc2b0633ddcd34dc4  gcc/config/i386/pentium.md
! 69a34b2ff0b86b0ae981eb98541a672c  gcc/config/i386/pmm_malloc.h
! 2c1858c3e09cabcfe717307c30fe84b6  gcc/config/i386/pmmintrin.h
! 477d4fa8e94a80dfe088eb7a090aba56  gcc/config/i386/ppro.md
! d10d190ebd0e3f8c2ec783b51005e979  gcc/config/i386/predicates.md
! 2794e81ef3568a7cddf47d2b96c95f84  gcc/config/i386/ptx4-i.h
! 3df85171c88347ec45ba0c58597b1afd  gcc/config/i386/rtemself.h
! 98bde1f207914be26222e713d2a31e26  gcc/config/i386/sco5.h
! 66feda30639b28a91d5474a351417aa5  gcc/config/i386/sol2-10.h
! 963d9e3eecd2555c85b92a96be15b66f  gcc/config/i386/sol2-c1.asm
! f02e6ebd7ea8e20f6122a328058fb58d  gcc/config/i386/sol2-ci.asm
! 2b8365986b4cb8fb7990003865baf9e0  gcc/config/i386/sol2-cn.asm
! 8af4f5c7881226d40c3ce286459952a3  gcc/config/i386/sol2-gc1.asm
! 7a890b9fb85c145470d42d72fe0df8d8  gcc/config/i386/sol2.h
! e177dbba392d90440761cf0064265657  gcc/config/i386/sse.md
! 6e76c810cd6539b90f9445849b435a16  gcc/config/i386/sysv4-cpp.h
! 5ef8af0552c2b82a542ae258546eecf7  gcc/config/i386/sysv4.h
! 4fedd4a35cff8b554e1bc67573e20887  gcc/config/i386/sysv5.h
  7b80abd9654f0d83fb3e030f63a4fb45  gcc/config/i386/t-beos
  09823a08776fc4fb8ee3202faece0837  gcc/config/i386/t-crtpic
  61d7b8b0ce98f78e87d7584203d34435  gcc/config/i386/t-crtstuff
! 4d31ae7b4ad7166f3faf9e1a9a130d48  gcc/config/i386/t-cygming
  58ed2275bccf70db9040d133e6d436c0  gcc/config/i386/t-cygwin
  5417015d0073b5048d47c1bec551654a  gcc/config/i386/t-djgpp
  3a1c0dac7740fd9ef48c7bdf5f313c9d  gcc/config/i386/t-gmm_malloc
  9d51cc32a6dd21f1d4ef90b0658c4880  gcc/config/i386/t-i386elf
  8a4a2e5c633f8ad4196a9f4553f97761  gcc/config/i386/t-interix
! 61d2bd3dff8601512ec6968b9e03e923  gcc/config/i386/t-linux64
! d0e841868636ac5f0738f00d4da75975  gcc/config/i386/t-mingw32
! 9cc9cc3c49da224107490a5268053699  gcc/config/i386/t-netware
  12bfaf1a85f439b287c609d894b2daf1  gcc/config/i386/t-nto
! fbd49ff46314f31f3bdace1f0d209952  gcc/config/i386/t-nwld
  9abfc00ef17b31f7b5211480044b9ca5  gcc/config/i386/t-openbsd
  12a68576d3577a8da82089f18d60c613  gcc/config/i386/t-pmm_malloc
  43bfa9aecc475d93fe6dbd9c8c36a7c3  gcc/config/i386/t-rtems-i386
--- 2536,2674 ----
  8655cce7a18893493cc17391c6ce08d5  gcc/config/frv/ulltof.c
  756aa4a0c6f33a0203e0ea6594c19e38  gcc/config/frv/umodi.c
  fc2a41b61b1c92467f82c06cd525f082  gcc/config/gnu.h
! db542cb01a997073ded8541dcce321c8  gcc/config/gofast.h
! f68bdf264fedde74efa43cf5280ddc4a  gcc/config/h8300/clzhi2.c
! 11cd6af05d47a27591bc2ad0e2eae254  gcc/config/h8300/coff.h
! 8797cbf73edd5b5999368fd618959c22  gcc/config/h8300/crti.asm
! f5b04d5b4fd8756c42c275bbf433c0ac  gcc/config/h8300/crtn.asm
! 473a51270e60b986bb80e12d413a749e  gcc/config/h8300/ctzhi2.c
! f577e71e33752b95d03b78ed097e22c1  gcc/config/h8300/elf.h
! 395cf99f1e315fce6ecdc7f56fffc105  gcc/config/h8300/fixunssfsi.c
  d0c4cd65e45c764b74cdafc357dd4553  gcc/config/h8300/genmova.sh
! 29ec97ae716e6f3a95dc69faacb658a1  gcc/config/h8300/h8300-protos.h
! 6dd9ecb276abba855e1e7231073baa09  gcc/config/h8300/h8300.c
! cda74964740ea59f9281de2c1bea8bce  gcc/config/h8300/h8300.h
! 9c716fc0cd616ee9348538b145ea2504  gcc/config/h8300/h8300.md
! 7cab4b477c163244e34180558ba1cc30  gcc/config/h8300/h8300.opt
! 9f01d9008ff59f36ce4d92219f984332  gcc/config/h8300/lib1funcs.asm
  57d66a7feb9498d420e1aeccf5f6487c  gcc/config/h8300/mova.md
! 23a499bfbede3774415ff3f90d842fc0  gcc/config/h8300/parityhi2.c
! 591686fae82af37ce889f8b4f0c781d7  gcc/config/h8300/popcounthi2.c
! 069d84613e3faef6ec3f74101f23ee37  gcc/config/h8300/predicates.md
! 909defb3bd79bc54228d3a92c893545a  gcc/config/h8300/rtems.h
  e7797670314cc87228b0fcc1277e9ba3  gcc/config/h8300/t-elf
  b9e7ccf39ad6f3e2028606eed7a6338a  gcc/config/h8300/t-h8300
  f1012b40b6d48a65690431bfbed4343d  gcc/config/h8300/t-rtems
! e3c41aea3b5a891c5fbd690631440067  gcc/config/host-darwin.c
! dd01e826bc3e41ee6d04de472654edf6  gcc/config/host-darwin.h
! 4939f260b620ff6afbed9e4065fc0bd9  gcc/config/host-hpux.c
! 1b0e8a72f3e3357d42b4ed2217ad362a  gcc/config/host-linux.c
! 69ffc41ee6c8b2cc0d84fe0eaca7b329  gcc/config/host-solaris.c
  70ccbfd1a8499753d7f9dcf440cecf15  gcc/config/i386/athlon.md
! fc7c3727ffd65bbc932e44c60f1c404b  gcc/config/i386/att.h
! 0f84ad90919ed7e9049d78f8e5f4bbd2  gcc/config/i386/beos-elf.h
! 0c0f623b9ea558bd19b992787f919d68  gcc/config/i386/biarch64.h
! 9235a0f56c76fdd563582e8056f96e61  gcc/config/i386/bsd.h
! cf37cd2a52f50996a1b140255e6710eb  gcc/config/i386/crtdll.h
! 9d3c98ed5d59afaab3abee9d41e5fc21  gcc/config/i386/crtfastmath.c
! 99e6699f5fe9320b88fee3307db35d1b  gcc/config/i386/cygming.h
! d24a8b9bb1d48904dfae4d7e163c0d00  gcc/config/i386/cygming.opt
! ba949cf55c0c8249fb850ceedb247a57  gcc/config/i386/cygwin.asm
! 53d55ddb5a86c9075dd31968f31bf221  gcc/config/i386/cygwin.h
! ae0b647fafcc3e550546478fbcd9ae0b  gcc/config/i386/cygwin1.c
! 64a52cb20e9ec8cbde801a4cc3d9f8e1  gcc/config/i386/cygwin2.c
! 010c5aa15c36857f9089114ce98ab91b  gcc/config/i386/darwin-libgcc.10.4.ver
! 010c5aa15c36857f9089114ce98ab91b  gcc/config/i386/darwin-libgcc.10.5.ver
! a705c4aa8dfe6e7e7257c816e6ca89ae  gcc/config/i386/darwin.h
! 1608efed7f1a54f2e5d7f0e9529c6aad  gcc/config/i386/djgpp.h
! 7318156f29e662e707650461d05d2249  gcc/config/i386/djgpp.opt
! c9f2d1e4fce99a8b5e8228cc7163ca38  gcc/config/i386/emmintrin.h
! 629186de9ee0c6459118e8281cac9f91  gcc/config/i386/freebsd.h
! eaa6ab33885385d78437e9051cd39c01  gcc/config/i386/freebsd64.h
! 44c16936a00e8887de811333021da930  gcc/config/i386/gas.h
! a05ff2564a7413bd54726e51fdffbb8a  gcc/config/i386/gmm_malloc.h
  3d6c4acadac62736b94454830f7a63a4  gcc/config/i386/gmon-sol2.c
  9b26b0d2725a3764b0d94313af2fc2e8  gcc/config/i386/gnu.h
  3349498ec85e12ac7055f4802239086c  gcc/config/i386/gstabs.h
! ebb51a1f93a267e26f597ed9362c8486  gcc/config/i386/gthr-win32.c
! 03b6bc13224fd5685d0731dc79c52c28  gcc/config/i386/host-cygwin.c
! 9b31538ac4dee2fa0cbd985100f0b274  gcc/config/i386/host-i386-darwin.c
! 0980c7a27f7f53f2f05fcb2bd46a8439  gcc/config/i386/host-mingw32.c
! 7292289023e8d325d97d89e772ae6cf7  gcc/config/i386/i386-aout.h
! 7e70d76a8d47dca318fc4ef7a0ecf9ac  gcc/config/i386/i386-coff.h
! f33999ee50730369091fed953d50919a  gcc/config/i386/i386-interix.h
! 86482bf5f4521f4ff11d2f3946f36f9b  gcc/config/i386/i386-interix3.h
! f4d016c73f4e09133e2b2cc7cffd5700  gcc/config/i386/i386-modes.def
! df4aa2205a029deca09fc5f7058440c6  gcc/config/i386/i386-protos.h
! bd37237c71735ef43d666af57853ff75  gcc/config/i386/i386.c
! caf0062898d3635ff53db336ccc75f12  gcc/config/i386/i386.h
! 705126cd0e3c9efe50cf8c419e225e95  gcc/config/i386/i386.md
! fdbfd4aaa2ab5f59e2b2f4d0fa718632  gcc/config/i386/i386.opt
! 454ade2f1032305879a4edeff7099343  gcc/config/i386/i386elf.h
! 4d37c77c9e80856627568ead043d4779  gcc/config/i386/k6.md
! 63445edbc9ae91403a985f8a42352f68  gcc/config/i386/kaos-i386.h
! e96c1204b7ced1a540fbd53b6d471430  gcc/config/i386/kfreebsd-gnu.h
! 33add8bf801f201d60f31d19111a6975  gcc/config/i386/knetbsd-gnu.h
  659bf816fd264115e6611b9a193893a7  gcc/config/i386/libgcc-x86_64-glibc.ver
! 4dbf32357d528d8bf6bf935df3df1e9e  gcc/config/i386/linux-unwind.h
! 356cffc7baf6da7015529bc683ed32be  gcc/config/i386/linux.h
! 68a368d62adacc51888bfdb5f3538318  gcc/config/i386/linux64.h
! 02c3c5855a4daa84a1747917ff26179a  gcc/config/i386/lynx.h
  5e895df4995c0489965107367377218a  gcc/config/i386/mach.h
! 5e9bcc5db8635ca90120ef871d723013  gcc/config/i386/mingw32.h
! 67d8d5c750a802140f99d29fbc6fac0f  gcc/config/i386/mm3dnow.h
! fc540d069bcf3cc9ee429d139f5df8ea  gcc/config/i386/mmintrin.h
! 1883d13b3107872e9397a510bded100c  gcc/config/i386/mmx.md
! 6cdb4eee6f09adc399811ec4f6a48c0f  gcc/config/i386/netbsd-elf.h
  fc16dbeb0506d46a2b6d84763d171f5e  gcc/config/i386/netbsd.h
! 0bc9f285fdf7230b88711dcc696c9953  gcc/config/i386/netbsd64.h
! 90f86754079529ce9214cf72594e24c4  gcc/config/i386/netware-crt0.c
! 5de408987217befeb3286b69af97890c  gcc/config/i386/netware-libgcc.c
  d23979c8257c2101f1169351993ec57c  gcc/config/i386/netware-libgcc.def
  034fb153eacf9224b70d4c5b8f17fbeb  gcc/config/i386/netware-libgcc.exp
! fa9ee45eca1ef521fc96501781b327c2  gcc/config/i386/netware.c
! 43ffcf268dae2ec8899ad2b239c5cd11  gcc/config/i386/netware.h
! 5f4d26cda9f46e951b80de6341ed4979  gcc/config/i386/nto.h
! 2402c530a75ab3ad6a6cbf3c208e516a  gcc/config/i386/nwld.c
! ef7ee387a5d20abfd9594d5271629df4  gcc/config/i386/nwld.h
! eec9c7e41b2a5dc437c13c5f610fddd8  gcc/config/i386/openbsd.h
! 3638962d96dac1d750fe236635d22c03  gcc/config/i386/openbsdelf.h
! d32f61dbed75f3902249473b49ffd8df  gcc/config/i386/pentium.md
! e5f1c07844d86643d264add168c21a2d  gcc/config/i386/pmm_malloc.h
! ae528fd1a55d368f96fdbe8e8bddf06b  gcc/config/i386/pmmintrin.h
! 95c4a2b634e7fa83f9073523dfa966f3  gcc/config/i386/ppro.md
! f0aae4833facf872a10764f49974561f  gcc/config/i386/predicates.md
! 01ade934f6fc133967b4eda69ad42b79  gcc/config/i386/ptx4-i.h
! 611224057e8daae8b9eec71ba7338125  gcc/config/i386/rtemself.h
! ec557b27d35b4a95a3cd237499699a9d  gcc/config/i386/sco5.h
! f80db76eb7a2cfbd31c067296d45b590  gcc/config/i386/sco5.opt
! b542c7bbc28b02094ce76652fd21da10  gcc/config/i386/sol2-10.h
! 503ffe872e2779fade83917abf409ace  gcc/config/i386/sol2-c1.asm
! 61bc0983bf4f13f56f637b951f41d60e  gcc/config/i386/sol2-ci.asm
! 3162ab821e194548dc3e77c0a90e11ad  gcc/config/i386/sol2-cn.asm
! 2f69702bcb85ac597f5c1bfba8836700  gcc/config/i386/sol2-gc1.asm
! 3d2875f6df56fd873beabc49f33bbeff  gcc/config/i386/sol2.h
! 38d389901f2ba9c10ae780e9fd7b3c7a  gcc/config/i386/sse.md
! 154b0eef4fab1cd1cf54fbf421603011  gcc/config/i386/sync.md
! 089bb9514ba583fe3f15889b2b0cc993  gcc/config/i386/sysv4-cpp.h
! 116e13ca142587f92aed4b19ab3f33d4  gcc/config/i386/sysv4.h
! 1233631c29b3a5cf69b6863f819ed239  gcc/config/i386/sysv5.h
  7b80abd9654f0d83fb3e030f63a4fb45  gcc/config/i386/t-beos
+ 4d18a1a5f11b4378ddbf41abf7dc4803  gcc/config/i386/t-crtfm
  09823a08776fc4fb8ee3202faece0837  gcc/config/i386/t-crtpic
  61d7b8b0ce98f78e87d7584203d34435  gcc/config/i386/t-crtstuff
! 761cf623f1bbf1ace7353da3febb7e66  gcc/config/i386/t-cygming
  58ed2275bccf70db9040d133e6d436c0  gcc/config/i386/t-cygwin
+ cd48be51f2c664ee8601ab97e6f61b47  gcc/config/i386/t-darwin
  5417015d0073b5048d47c1bec551654a  gcc/config/i386/t-djgpp
  3a1c0dac7740fd9ef48c7bdf5f313c9d  gcc/config/i386/t-gmm_malloc
  9d51cc32a6dd21f1d4ef90b0658c4880  gcc/config/i386/t-i386elf
  8a4a2e5c633f8ad4196a9f4553f97761  gcc/config/i386/t-interix
! b784cf80a275241446b6ec2e94c1ddfe  gcc/config/i386/t-linux64
! d03d84bb676d0d8f684d8097262a5c1a  gcc/config/i386/t-mingw32
! 45e50a19654b80f9442dfe9fb7992264  gcc/config/i386/t-netware
  12bfaf1a85f439b287c609d894b2daf1  gcc/config/i386/t-nto
! b97b2e28fe4b328bea93d583165d74cc  gcc/config/i386/t-nwld
  9abfc00ef17b31f7b5211480044b9ca5  gcc/config/i386/t-openbsd
  12a68576d3577a8da82089f18d60c613  gcc/config/i386/t-pmm_malloc
  43bfa9aecc475d93fe6dbd9c8c36a7c3  gcc/config/i386/t-rtems-i386
*************** bf0d56b2a4ad597385b36422a351be66  gcc/co
*** 2615,2809 ****
  6de510e049d7e30fd77d3296380788b7  gcc/config/i386/t-sol2-10
  82c942d4bb0ed544e14d2e46f33f2ec5  gcc/config/i386/t-svr3dbx
  dbce08c57d256e16f93d0786d37b110c  gcc/config/i386/t-uwin
! bdb01fc64d0fac9664048539c841ec8a  gcc/config/i386/t-vxworks
! d3394c9065d779420310216eb2238afa  gcc/config/i386/unix.h
  e51d9cc495ad644f33f2a5ac59f27b61  gcc/config/i386/uwin.asm
! f955e9d3e06a48be823c51242c5b1331  gcc/config/i386/uwin.h
! 99d60a95c1036c564b63cf9363eac59c  gcc/config/i386/vxworks.h
! 4a5320cded0a8870a39cf5040f3b95ed  gcc/config/i386/winnt.c
! d9c8250cf4a926f9994f312ea5cecf91  gcc/config/i386/x-cygwin
  5c9c07d6e4c28f00c5ed6fa3096f3390  gcc/config/i386/x-mingw32
! b166639e7da131e4813721a0aa5b69c5  gcc/config/i386/x86-64.h
! fd292f5653c26f052d65bd1cc27e0126  gcc/config/i386/xm-cygwin.h
! 2e17725338319a9367f4b6129890a4f0  gcc/config/i386/xm-djgpp.h
! 622b5d09fac469dbf273d2b3642d768f  gcc/config/i386/xm-mingw32.h
! 4bf6f3e06d68a2ad588f056d55bcaa8a  gcc/config/i386/xmmintrin.h
! c5db4fda58b872cb0638fbf0e546aa92  gcc/config/i860/i860-protos.h
! 63a8f10b84b969683259816fecfebb12  gcc/config/i860/i860.c
! 55bb8a2080a12c7d28f1f298458b2f57  gcc/config/i860/i860.h
! ebc0d683a4709e3b99b2735dfab02c1f  gcc/config/i860/i860.md
! 1f85a5aaaed458ae9e427557c8901733  gcc/config/i860/sysv4.h
! 0dec57792de47025a6f439c3af9a90f0  gcc/config/i860/t-i860
! 3aa4566a652839547095820eaf60f6a0  gcc/config/i860/varargs.asm
! 890f19499fbab548b7c8348574ee515f  gcc/config/i860/x-sysv4
! f7da40faedb20475f2da45f0137e4092  gcc/config/ia64/crtbegin.asm
! 6128c200f72779e2d611996dfe9f1567  gcc/config/ia64/crtend.asm
! ff3f1b985cb846e7daa846b15484c370  gcc/config/ia64/crtfastmath.c
! 57d394046150e2a8d82f5d7f1340ed96  gcc/config/ia64/crti.asm
! 829da166c4fb0cfa09adaa8e1499c19a  gcc/config/ia64/crtn.asm
  5d28f948154e58980d3423de634cc19e  gcc/config/ia64/elf.h
! 19e5759e9dd1e10d49f423604e6c2492  gcc/config/ia64/fde-glibc.c
! 72262cc4088397e0e354295db724ddd6  gcc/config/ia64/freebsd.h
! f34de4c7d6cfe771898f5ee3f2960105  gcc/config/ia64/hpux.h
! c07c75b029ef670559619d2d5f9401b2  gcc/config/ia64/ia64-c.c
! d3e6298bb4f4dd2ae34f65820574877c  gcc/config/ia64/ia64-modes.def
! a95a3093a5af6a97f0956b90e1da7f34  gcc/config/ia64/ia64-protos.h
! 5e1f50a4d7539f8d4a2c152485c9775f  gcc/config/ia64/ia64.c
! c7ed167724c5cda352cf9af85fc2fc58  gcc/config/ia64/ia64.h
! 0a09ba8c55bf7750474445f1cb3f0db9  gcc/config/ia64/ia64.md
! 9f5dc40ef6cd2aebd9ce8c9a67cc3fbd  gcc/config/ia64/ia64intrin.h
! 49c36b4c462eb77af017a10209955413  gcc/config/ia64/itanium1.md
! bedeb78ca73eefc9aa19a512c2b3d473  gcc/config/ia64/itanium2.md
! 07cda703ae481233bd546896fc4086a4  gcc/config/ia64/lib1funcs.asm
  2671bfd958ca35452f338dd160f7423e  gcc/config/ia64/libgcc-ia64.ver
! 234572be9b1da837beb0e30fa47f558f  gcc/config/ia64/linux-unwind.h
  4f56fd169a56421f761a0caf55dd8dc8  gcc/config/ia64/linux.h
! 5ad4b8a22d71132f7ba01d5a29b0bec3  gcc/config/ia64/predicates.md
! 7c9989fcf8b6631ee8c69d4e2586b759  gcc/config/ia64/quadlib.c
! c08027383bc18546ba1527bb0519cfb6  gcc/config/ia64/sysv4.h
  91f1bd175eb95ab632c7220d0aecfe26  gcc/config/ia64/t-glibc
  94b96507e57d80762054d9373f628698  gcc/config/ia64/t-glibc-libunwind
  fe30f60c7350d58aec4efe398b1b9edf  gcc/config/ia64/t-hpux
! 66abbf940ad680e6c9c203ca47bc8f5e  gcc/config/ia64/t-ia64
! 8227dd6feb135b0afc7902a48b82e1ff  gcc/config/ia64/unwind-ia64.c
! 83c10b57157589615d8cc0cf668c37a7  gcc/config/ia64/unwind-ia64.h
! 8453a3337155a3cfb30c63d7d41f86e8  gcc/config/ia64/vect.md
! f4b3c8635ae47788a197c87760a8928b  gcc/config/interix.h
! 0bf57f10baef2fb83f26d79c4d0b0f48  gcc/config/interix3.h
! 15155862f4a068eb6cf5a1de3a5414e8  gcc/config/ip2k/crt0.S
! a46b35d7abe52174d51d2104734a7bde  gcc/config/ip2k/ip2k-protos.h
! cbb5b64857c8a08849d3c84ca7ed14b6  gcc/config/ip2k/ip2k.c
! f4759dc4dc53be9132d44bd27a0b3fa8  gcc/config/ip2k/ip2k.h
! 191c60ac6619e7b3b034834fce067b24  gcc/config/ip2k/ip2k.md
! 9cb7d6a6a212295b25efeba4c068be04  gcc/config/ip2k/libgcc.S
! 07eaa16c93777236b46ae1f49c51c936  gcc/config/ip2k/t-ip2k
  c89eb6a652ae6c0c7265cee0be74199c  gcc/config/iq2000/abi
! 09fab2c1ee90f0818a9c08b8bf906afe  gcc/config/iq2000/iq2000-protos.h
! 6ed1cd64ef7e0a7cafc0c2a94d23c1c3  gcc/config/iq2000/iq2000.c
! 584cb1b7f929f79d267da5b4d6584dc3  gcc/config/iq2000/iq2000.h
! a4ffce90bec1c86594956784683f9336  gcc/config/iq2000/iq2000.md
  9e50dc585921c4678f3a6132c5e8da80  gcc/config/iq2000/lib2extra-funcs.c
  2b523f5a1265cf196780f7cb6de968b3  gcc/config/iq2000/t-iq2000
! 0313b3853cfa666ee0f8f65e3e8d360f  gcc/config/kaos.h
! fe31931594516f60819b8dcc5d096f10  gcc/config/kfreebsd-gnu.h
! 4d22da20c572cc0370f9de6fd56dfc7b  gcc/config/knetbsd-gnu.h
  4dcbb5e53b0fd1f9cb4e68294b862551  gcc/config/libgcc-glibc.ver
! af4bbe807fb6dfe32208600ead3e72e7  gcc/config/libgloss.h
! abc55a5bcc5d7ef187feace4d2ac550b  gcc/config/linux.h
! af7c0ec324fb7bc3724ce371355fda6b  gcc/config/lynx.h
! 941cc07882b4e18e61b5c4a14d951586  gcc/config/m32r/initfini.c
  5de6ed801292676c3e38abd2c1e89d8e  gcc/config/m32r/libgcc-glibc.ver
! 47db78b3c68fa1f8f18e482207d9ce8a  gcc/config/m32r/linux.h
! 554520aaa68ce73728f30404914c4f3f  gcc/config/m32r/little.h
! 998a49b77e9fbb7eba72ef33d06e43d2  gcc/config/m32r/m32r-protos.h
! 748478af05a05b4062915d1a4bcf74ff  gcc/config/m32r/m32r.c
! b9ae8714b18c731ed4507f0d7d3b0d71  gcc/config/m32r/m32r.h
! 10c08a31ce469194985c978f7013fbdc  gcc/config/m32r/m32r.md
  de460ddffc08b535ee03e0e4eb86a0c3  gcc/config/m32r/t-linux
  7741de8684459c1dac5b4b1264a7c698  gcc/config/m32r/t-m32r
! 28bdaebb209b8f7fc35411e8791195ab  gcc/config/m32r/xm-linux.h
! b83576b9672d6781f03fa5aba34bba9b  gcc/config/m32r/xm-m32r.h
! 2cf39e4b12fa0ad92705a1541b27f234  gcc/config/m68hc11/larith.asm
! e4189515fd9cc06584fb07722c11ad97  gcc/config/m68hc11/m68hc11-crt0.S
! 415dd9a462ac5219d32027867a02e880  gcc/config/m68hc11/m68hc11-protos.h
! 40fa879c58517a75e12f0400247dadbb  gcc/config/m68hc11/m68hc11.c
! bfc68acd0349ed26b5b7132c046d35cf  gcc/config/m68hc11/m68hc11.h
! e8f342b9a80662c1d841d79f5d870696  gcc/config/m68hc11/m68hc11.md
! a4fb550a8d5a48b85e5dd0d8b36312bd  gcc/config/m68hc11/m68hc12.h
  0bc2adfc56a4f29ef00fdb03c52a9614  gcc/config/m68hc11/t-m68hc11-gas
! 2a0013c35c2ee05bf62da0f108744854  gcc/config/m68k/coff.h
! a8d7619893f57775eaa1c41c8d162394  gcc/config/m68k/crti.s
! 1704b72f91721465cb4e1595eabbc96e  gcc/config/m68k/crtn.s
! d1c94eaa3c0ae8b76f991ae440fa0c26  gcc/config/m68k/fpgnulib.c
! 58de450df613e3ae9be18a41635ffe1d  gcc/config/m68k/lb1sf68.asm
! 1f86ced9a52c3461110e778e83ecbd82  gcc/config/m68k/linux.h
! a749f9d2254450ab4b154f54a0ee71fd  gcc/config/m68k/m68020-elf.h
! 52b4bd9c70571c0e5a8343c7eec02b69  gcc/config/m68k/m68k-aout.h
! 5c423fb756a7b8a06711798169b4fb09  gcc/config/m68k/m68k-modes.def
! f5de3dccd7b69fee151f40dafa2551c5  gcc/config/m68k/m68k-none.h
! a187d0928667b4311b8672c44b9ba69c  gcc/config/m68k/m68k-protos.h
! 423bfbb29a33cda4e6bf4c1dc7538c1c  gcc/config/m68k/m68k.c
! cdb53173fa1bf9d0cfcc42251060a552  gcc/config/m68k/m68k.h
! 0173fcdf80642f067fb7d9dfc64c6e32  gcc/config/m68k/m68k.md
! 1a09d74f17cc3a7f16516c83e431bcde  gcc/config/m68k/m68kelf.h
  c6e316c1c81bfdd9faae41717478b076  gcc/config/m68k/m68kemb.h
  c0472199959f16fcb58702880954da6e  gcc/config/m68k/math-68881.h
! 5b56c2001463ff5741734da64a1a94ba  gcc/config/m68k/netbsd-elf.h
! de7e8c037722ffd4f5958ba64dc1b283  gcc/config/m68k/openbsd.h
! c4fedfc80928f902bbd737615843d4e5  gcc/config/m68k/rtemself.h
  8e994a5280e2eea4a4c6cc105e41e28d  gcc/config/m68k/t-crtstuff
  24e375f411f35a73cacf2ee33b4bde26  gcc/config/m68k/t-m68kbare
! abcc59077f1d1920140fec58a5f5b19c  gcc/config/m68k/t-m68kelf
  6dc1bdac2a817f97d98ddda8c0715b01  gcc/config/m68k/t-openbsd
  a21380e3e9882a8eab6009d1d07bf4f2  gcc/config/m68k/t-rtems
  4e281c631e54b8912258f84196fec9e6  gcc/config/m68k/t-slibgcc-elf-ver
! 131f87f1a2db51ac653aeea4f3e2a774  gcc/config/m68k/t-uclinux
! 09bd7397484de8dc53b51d6e8dc986ce  gcc/config/m68k/uclinux.h
! 37eb4830b237a4014c4b41fffc3f5f1f  gcc/config/mcore/crti.asm
! 9c43067f303669682c4023e10d8db596  gcc/config/mcore/crtn.asm
! d89f7f9d4a68ea184652c4e109584825  gcc/config/mcore/lib1.asm
! 3d4d4b35671ff9907374a56008162e2e  gcc/config/mcore/mcore-elf.h
! 09b57f736e693888b16a893344ebca47  gcc/config/mcore/mcore-pe.h
! d20648c0c7f9b4b7ac58ed3d4ce63bfc  gcc/config/mcore/mcore-protos.h
! 017f313193cd8e39ef2167d60bc49679  gcc/config/mcore/mcore.c
! cf7674181c1c782f6334cb6ec4383088  gcc/config/mcore/mcore.h
! eb20800c2638ef001f2f484c58fc014a  gcc/config/mcore/mcore.md
  7336dd6652ac1371fe713173f6ba12db  gcc/config/mcore/t-mcore
  13b4898d597c0d5c373ffcbc70ec1daf  gcc/config/mcore/t-mcore-pe
  06287f034722081687f831dcb61e986c  gcc/config/memcmp.c
  dad9e98504e8f79e6e97aa29c6b49d96  gcc/config/memcpy.c
  135a2882c25ab6f90748b020a6cc2f02  gcc/config/memmove.c
  eb54d3066646204ecc21ba5ecb67d572  gcc/config/memset.c
! 54b24a4eb0854e39bc295552c3b584bb  gcc/config/mips/3000.md
! bf887c0c21a46a4103b65476aac2e317  gcc/config/mips/4000.md
! b33415c924642c89f1977217fdeae497  gcc/config/mips/4100.md
! 49ed2d1cd4fc6c1335c212ae8078dba0  gcc/config/mips/4130.md
! 9cdb243227fd0f3fdfa93c4de2a85646  gcc/config/mips/4300.md
! b551975fc3ba66aef055600a7d72ca9a  gcc/config/mips/4600.md
! 4fd0e601594eabecbf98872cacfa0464  gcc/config/mips/5000.md
! 31d385a02ef0fa69e1df31782c0efa84  gcc/config/mips/5400.md
! 2ad2458b3426685d7dfe25499afc5a44  gcc/config/mips/5500.md
! b038335faa998cf5c8ffffd62d97dafd  gcc/config/mips/6000.md
! 9cf0f62e17f34b9203a8bccefaa9bcc5  gcc/config/mips/7000.md
! be6894bb4fdd9ab66e7659d812b26d30  gcc/config/mips/9000.md
! e14be4312939b30aa2c225c2c915522d  gcc/config/mips/_tilib.c
! 539ae79e02c8a7ad80f9e52cf9ed7a19  gcc/config/mips/cross64.h
  d82f3ae3376393010241cce24e044774  gcc/config/mips/crti.asm
  20de4ac90cc0b1ccf48c4aded700edf1  gcc/config/mips/crtn.asm
  6e3426453042c0e0af9d70cfd5679310  gcc/config/mips/dbxmdebug.h
! e97c1f7194ff7150c444ba90bbfc072d  gcc/config/mips/elf.h
! 10e719a265ef45d11caff894fe4e1ffa  gcc/config/mips/elforion.h
! d78e93e677b510449d0494f3becbd401  gcc/config/mips/generic.md
! 586e87f401b05122fa91f3e7316031ed  gcc/config/mips/iris.h
! 5d4e77a7b86a743295f5c181b726cdad  gcc/config/mips/iris5.h
! 38186bb612d5dd7ae4553f732d88af8f  gcc/config/mips/iris6.h
  131036eadc140e6323844bc1d5f275db  gcc/config/mips/irix-crti.asm
  9367bc37dec2a0b5311a6dfc4895a1d1  gcc/config/mips/irix-crtn.asm
! 8cedf068a13b7a6305317653e2dda131  gcc/config/mips/linux-unwind.h
! 3d1357693d911856e271e464e5c90aae  gcc/config/mips/linux.h
! 91f64e04b0324a33d319b0e3069e6d9f  gcc/config/mips/linux64.h
! e1b7e3a68ae1b41df738a474a4bfeb66  gcc/config/mips/mips-modes.def
! cad31fb043766fb3ffc9ccdaf527ca87  gcc/config/mips/mips-protos.h
! a6cfba5c35f536fefa657367fcf57b59  gcc/config/mips/mips-ps-3d.md
! 279bbe3c2d6ee0b31cba7994f01f5d9b  gcc/config/mips/mips.c
! e7b33a56d967f6983a6cb8d278dc1f99  gcc/config/mips/mips.h
! d57134323d9393f7adf89e87ec6c5fca  gcc/config/mips/mips.md
! 9b6d62489313f07251fa8e9dca40074f  gcc/config/mips/mips16.S
! 1739fcc3f08e0c9c97c6fcf2327d70e0  gcc/config/mips/netbsd.h
! 0de5852f59a5d30361b4be8807888c2e  gcc/config/mips/openbsd.h
! 8467208b03fe92ed28f82438564b1c90  gcc/config/mips/predicates.md
! 9ab382be4a4e45320846ed4188e15a0a  gcc/config/mips/r3900.h
! ed17df716c4a394e911f4f2233405a74  gcc/config/mips/rtems.h
! fb582590e44533a79ac5737076e1925b  gcc/config/mips/sb1.md
! 2c08d30ed37d4d6f04613025774228ef  gcc/config/mips/sdb.h
! 9b4a7af75e14cecad021b4df5e6dd8a0  gcc/config/mips/sr71k.md
! c374af376daf2438512f7e59fb7afecc  gcc/config/mips/t-cross64
  97d6cb748e12f3fc58fb20e085b54601  gcc/config/mips/t-elf
  41a59bc0317c1fc34a93b74695f4879b  gcc/config/mips/t-gofast
  e7a281066dc2222690d1f55593b0b5c6  gcc/config/mips/t-iris
! 5e7936a13c48c80f067be5dd80ce39fc  gcc/config/mips/t-iris6
  e8e13a785c4c31ae1f3a19bde8402da4  gcc/config/mips/t-isa3264
! f5e532ad8d7d3a5da7746a563b924b94  gcc/config/mips/t-linux64
  714dc7318069f8a2a1da3d1ef6753696  gcc/config/mips/t-mips
  f8aea45c2091dc6dc9ba1651f6763fff  gcc/config/mips/t-r3900
  6df9a9e50ef0f9860def1cb1da901ec8  gcc/config/mips/t-rtems
--- 2677,2897 ----
  6de510e049d7e30fd77d3296380788b7  gcc/config/i386/t-sol2-10
  82c942d4bb0ed544e14d2e46f33f2ec5  gcc/config/i386/t-svr3dbx
  dbce08c57d256e16f93d0786d37b110c  gcc/config/i386/t-uwin
! af24a4211ecc5bef39097e175d346788  gcc/config/i386/t-vxworks
! b80a5a4a8c8fc32ca318158abc98dc20  gcc/config/i386/t-vxworksae
! e9678520a2301d4f97a8227f25792484  gcc/config/i386/unix.h
  e51d9cc495ad644f33f2a5ac59f27b61  gcc/config/i386/uwin.asm
! 7bf2dd943d69f1588d9600554a521af8  gcc/config/i386/uwin.h
! 996a2362396ba8119143f46b08199fa2  gcc/config/i386/vxworks.h
! 6efeb594c8f34291588a6e55c16ec62f  gcc/config/i386/vxworksae.h
! c750b0073788e913ad547e14b7054997  gcc/config/i386/winnt-cxx.c
! 1c1496dc6b389ecce8055a5898788fa7  gcc/config/i386/winnt-stubs.c
! a90ca352e711c4ed1cd4d7ee8fa8d722  gcc/config/i386/winnt.c
! 7bf44dba9e4e409b7914d695a51d709c  gcc/config/i386/x-cygwin
! dc7aa97cab61e662767f4474ff8d4837  gcc/config/i386/x-darwin
  5c9c07d6e4c28f00c5ed6fa3096f3390  gcc/config/i386/x-mingw32
! 8ecaaa668b57e7e6e8c6a22e971488bf  gcc/config/i386/x86-64.h
! add22c8e6364c98d60b97fe71edb50d9  gcc/config/i386/xm-cygwin.h
! c7e353d191715d235cddaf54d24b16b7  gcc/config/i386/xm-djgpp.h
! 18140b0d2209c429bc178c6ccfdee027  gcc/config/i386/xm-mingw32.h
! 962d13b0cb91de65ad5e914c4bf0b78c  gcc/config/i386/xmmintrin.h
! b4cd5a3a07a83851aef3944127147e16  gcc/config/ia64/crtbegin.asm
! 5c20e416209b389901e6b8c1d638c736  gcc/config/ia64/crtend.asm
! 8561dc1a24ab425022a6236d4f6ffd56  gcc/config/ia64/crtfastmath.c
! 22cfdd8ad27c18d1e1407fb29a0eb4f6  gcc/config/ia64/crti.asm
! bfa7a29b29ba02037d6a4b8df00bf9ed  gcc/config/ia64/crtn.asm
  5d28f948154e58980d3423de634cc19e  gcc/config/ia64/elf.h
! 5a516529b9767d1d460b860b6106a32c  gcc/config/ia64/fde-glibc.c
! 67f8f0bf6329e9511c5accd16ededdae  gcc/config/ia64/freebsd.h
! 916fd1791bd027168d8eb3c0b643074f  gcc/config/ia64/hpux.h
! c86907d53f58baf6f62e7b12582e2d4f  gcc/config/ia64/ia64-c.c
! aa87fb47d084e3b69450ccd58be27112  gcc/config/ia64/ia64-modes.def
! d89a94a6797ed467988039a803a485ee  gcc/config/ia64/ia64-protos.h
! c260f1571848795332236af562a2a80d  gcc/config/ia64/ia64.c
! 9197043cc33f40dd5756068591524df1  gcc/config/ia64/ia64.h
! ff5bec65ec3bd213d9dfb4da2acbdc14  gcc/config/ia64/ia64.md
! 4fcea9b142fcb040004ca6af1f5110b0  gcc/config/ia64/ia64.opt
! dcc77d7023d20b64688bf213c2d327b5  gcc/config/ia64/ia64intrin.h
! e90da2310b0e83607033de5caa109b48  gcc/config/ia64/ilp32.opt
! b0a2cf086c1e001063ab01ba25384c18  gcc/config/ia64/itanium1.md
! ca6d3ce2c0e39adf2b6166480e2cc195  gcc/config/ia64/itanium2.md
! d1a283c33aebfa532767164f9e487dac  gcc/config/ia64/lib1funcs.asm
  2671bfd958ca35452f338dd160f7423e  gcc/config/ia64/libgcc-ia64.ver
! 1acec4761c634c0459eb99c80458ed68  gcc/config/ia64/linux-unwind.h
  4f56fd169a56421f761a0caf55dd8dc8  gcc/config/ia64/linux.h
! 9850e9d2ad126edc4e36749e39a6d64a  gcc/config/ia64/predicates.md
! a471c7b6a25f980afc73d371f048d72a  gcc/config/ia64/quadlib.c
! e670947d113dc8e25fb0023cd4a1f94d  gcc/config/ia64/sync.md
! f2e96cc09c5611d2d879acb0273bef9a  gcc/config/ia64/sysv4.h
  91f1bd175eb95ab632c7220d0aecfe26  gcc/config/ia64/t-glibc
  94b96507e57d80762054d9373f628698  gcc/config/ia64/t-glibc-libunwind
  fe30f60c7350d58aec4efe398b1b9edf  gcc/config/ia64/t-hpux
! d8b297b5ae511bff893ce32c274b72cf  gcc/config/ia64/t-ia64
! d73db7029e4cbc202d334ad2c0d3a1c7  gcc/config/ia64/unwind-ia64.c
! 16f7c13ea41e2bb55f8bf835ad6492a4  gcc/config/ia64/unwind-ia64.h
! 41d6cc36760fc09146e9a6821dea7526  gcc/config/ia64/vect.md
! df20cbbf93672252f46e57ce2a713aaa  gcc/config/interix.h
! 3ee6cf403135bac794fb1f101d142c41  gcc/config/interix3.h
  c89eb6a652ae6c0c7265cee0be74199c  gcc/config/iq2000/abi
! c8d28c17725d340f69e1b0c1338272f7  gcc/config/iq2000/iq2000-protos.h
! 926cdf02ccf472b004d343ef8f8c8504  gcc/config/iq2000/iq2000.c
! 02d30fabf9b4f886367e2f2602ebf866  gcc/config/iq2000/iq2000.h
! 8ccac56206e824ae52a0655f519f781c  gcc/config/iq2000/iq2000.md
! 49974be17fbb97c5825d3b2e55115b8c  gcc/config/iq2000/iq2000.opt
  9e50dc585921c4678f3a6132c5e8da80  gcc/config/iq2000/lib2extra-funcs.c
+ 40cbbfcef190142868c62c422d6b4419  gcc/config/iq2000/predicates.md
  2b523f5a1265cf196780f7cb6de968b3  gcc/config/iq2000/t-iq2000
! 2ea17d61949ee0b4d6552da0d5c6706e  gcc/config/kaos.h
! 3b2897cd3c75c782fbb54c90974a0ea3  gcc/config/kfreebsd-gnu.h
! 3f93bdc6b3084c5a6456e67c6f1f5b99  gcc/config/knetbsd-gnu.h
  4dcbb5e53b0fd1f9cb4e68294b862551  gcc/config/libgcc-glibc.ver
! 59b8a8d92b5a24c57209632eeca8e34d  gcc/config/libgloss.h
! be4c42cdec4532e85b8ed730e7563c2a  gcc/config/linux.h
! 611d6cc846599c5d29195381b41d3307  gcc/config/lynx.h
! c62eae978f5da1a6463251d631c9a37f  gcc/config/lynx.opt
! 38bccd8b1693d8276120b96303bc6f97  gcc/config/m32c/addsub.md
! 595da078182f0d0d8f4c2715ac5d71b5  gcc/config/m32c/bitops.md
! 36a809e306060bd06f928805514231ad  gcc/config/m32c/cond.md
! 1ce6ab6bc1ba53867c417b9ea9c509fa  gcc/config/m32c/jump.md
! 22a2c4db00de0d7ac833076378446b3e  gcc/config/m32c/m32c-lib1.S
! 9138eaa19ecb6e11993ce1820a85c7bc  gcc/config/m32c/m32c-lib2.c
! 1b094a967299a5bf145b963f13427a0d  gcc/config/m32c/m32c-modes.def
! 3b24bf2469fe61d3e19c8e108829ac89  gcc/config/m32c/m32c-pragma.c
! 0c0994d9e35a8f246966452378d4be34  gcc/config/m32c/m32c-protos.h
! a5bdc62ab2f692ce3140aa2c2252805e  gcc/config/m32c/m32c.abi
! 86c1f1226ad650a36a673216cb1c2ab8  gcc/config/m32c/m32c.c
! 8ea012e066ebd3edbbabee7d9b949b78  gcc/config/m32c/m32c.h
! 18390af796b7bd7ae43e709217c08d12  gcc/config/m32c/m32c.md
! 569e8a4bdb82ccbc1066ff407a5961f9  gcc/config/m32c/m32c.opt
! 50eb4028bdee96158b24d59013332277  gcc/config/m32c/minmax.md
! bcb11dabd1a2665e0fd16fec3c337d3a  gcc/config/m32c/mov.md
! b9d930c2cc2494a7179c17e937a77fb3  gcc/config/m32c/muldiv.md
! 6809ceb533f175bdbff3b8c3d5ed4ef0  gcc/config/m32c/predicates.md
! 85d26bf966e5a74aee8a86da5cbad893  gcc/config/m32c/prologue.md
! 3f28aa18026ce6e349757a6ca1cc094e  gcc/config/m32c/shift.md
! 8230b8d50a355d3a41d70d1f94339b42  gcc/config/m32c/t-m32c
! f4078cb3383cfe92cfd3c4b65e479c42  gcc/config/m32r/initfini.c
  5de6ed801292676c3e38abd2c1e89d8e  gcc/config/m32r/libgcc-glibc.ver
! e61c6947ca3e1ec5a7a47eaf6ac864fe  gcc/config/m32r/linux.h
! f9a4f8e3e9612c8664ad41c06123c731  gcc/config/m32r/little.h
! ed77da750eebf379bb9497386dcccd07  gcc/config/m32r/m32r-protos.h
! bd9bb4d28c3bd866f7b8c771119a9277  gcc/config/m32r/m32r.c
! 7d5787f6823d25de390b1920b500f6fc  gcc/config/m32r/m32r.h
! 254082a9a2e5ce86357b49d7c3b0b5e3  gcc/config/m32r/m32r.md
! eb43c898671c64482b929d8596f7a34a  gcc/config/m32r/m32r.opt
! 6a5581ce1b8c6b8c81ddc3b5c9648b73  gcc/config/m32r/predicates.md
  de460ddffc08b535ee03e0e4eb86a0c3  gcc/config/m32r/t-linux
  7741de8684459c1dac5b4b1264a7c698  gcc/config/m32r/t-m32r
! ac8809493cd995d1325fcb1185c14330  gcc/config/m68hc11/larith.asm
! 6031e5dd7d6a900a8235826ee5731915  gcc/config/m68hc11/m68hc11-crt0.S
! dbe043e034ef3ef17aeb17d2ac59cfed  gcc/config/m68hc11/m68hc11-protos.h
! 37ebcccd472c1ee8278151a304a95439  gcc/config/m68hc11/m68hc11.c
! 0e44dbce1ef485d8fa204e41837a0f4c  gcc/config/m68hc11/m68hc11.h
! 47f04edcd40f601b5de1d0dda3fe3631  gcc/config/m68hc11/m68hc11.md
! 43c7c606cfb50fcb6bc339f9e787ea62  gcc/config/m68hc11/m68hc11.opt
! b726c9962bd77e729be7f9bac3c0617b  gcc/config/m68hc11/m68hc12.h
! 25fcd80a92d458b700f2723ede3d7fd8  gcc/config/m68hc11/predicates.md
  0bc2adfc56a4f29ef00fdb03c52a9614  gcc/config/m68hc11/t-m68hc11-gas
! f641bd6258a08328e539b2d12401ec39  gcc/config/m68k/coff.h
! 521c4638696d9edbea0766bacbad855c  gcc/config/m68k/crti.s
! 31a32fa54cbf5c2a417035911b12f1d7  gcc/config/m68k/crtn.s
! 7ecc9744de856834df151f71f39f3c45  gcc/config/m68k/fpgnulib.c
! deecccdefa3c51e418279f094de4a457  gcc/config/m68k/ieee.opt
! a47cb01fee17d73f9b42bfe2ac7949a7  gcc/config/m68k/lb1sf68.asm
! a3eeeb6f3fb55fb816ea819603a700f6  gcc/config/m68k/linux.h
! 9a22af7cb887055800a980adeafd1dc4  gcc/config/m68k/m68020-elf.h
! 6b71f37f1a8dda8dc65ce469f69d37ee  gcc/config/m68k/m68k-aout.h
! caf3248fa9ff51831ff04c7d7ace99ee  gcc/config/m68k/m68k-modes.def
! eae3866cdbfffd0378ed4c953cbf43eb  gcc/config/m68k/m68k-none.h
! 16dc09a47ee31e48e147e6b9f5b39081  gcc/config/m68k/m68k-protos.h
! 0f1bd100bd98fbe2cc8cf1a55db1352a  gcc/config/m68k/m68k.c
! b8d32a94810735d8a6cbe7e9615ec73e  gcc/config/m68k/m68k.h
! 92067d3c7e031186ce2a4c33c81f1fe9  gcc/config/m68k/m68k.md
! cade52c0a16dcd5d09ba3522d99c9ae6  gcc/config/m68k/m68k.opt
! f45b3e8d6e67c874f09a4793672de512  gcc/config/m68k/m68kelf.h
  c6e316c1c81bfdd9faae41717478b076  gcc/config/m68k/m68kemb.h
  c0472199959f16fcb58702880954da6e  gcc/config/m68k/math-68881.h
! 34b02322d0fd4d95b764389e1571e912  gcc/config/m68k/netbsd-elf.h
! a0bfe71340d627657aadee11ada74d19  gcc/config/m68k/openbsd.h
! 40e8f76b8c930d68627dbdce9855a8d6  gcc/config/m68k/predicates.md
! d9ad529a227fddb2860fef0e65c883eb  gcc/config/m68k/rtemself.h
  8e994a5280e2eea4a4c6cc105e41e28d  gcc/config/m68k/t-crtstuff
  24e375f411f35a73cacf2ee33b4bde26  gcc/config/m68k/t-m68kbare
! 67d357923e31cf383c87ba2c9babe600  gcc/config/m68k/t-m68kelf
  6dc1bdac2a817f97d98ddda8c0715b01  gcc/config/m68k/t-openbsd
  a21380e3e9882a8eab6009d1d07bf4f2  gcc/config/m68k/t-rtems
  4e281c631e54b8912258f84196fec9e6  gcc/config/m68k/t-slibgcc-elf-ver
! 660f0261aa5a06ac2c619dcc36076a44  gcc/config/m68k/t-uclinux
! e34aa2fcfdf5e7a4b2687c9655dfdc03  gcc/config/m68k/uclinux.h
! f2b654825f42abe2e5d6bb378b4a75cc  gcc/config/mcore/crti.asm
! 8b442ccc24571ad384bbbdbdf80e5a92  gcc/config/mcore/crtn.asm
! 1da731807e14f1ea230435e7bfe197d4  gcc/config/mcore/lib1.asm
! 49e7e366f8e12f7e97a9a970ce542735  gcc/config/mcore/mcore-elf.h
! 49f809d6837cde36d311aa968a901bc1  gcc/config/mcore/mcore-pe.h
! 74752d74dc000e52bf0a8c6286f1bf9f  gcc/config/mcore/mcore-protos.h
! 3f4cf8048aad226493433ca3830edd56  gcc/config/mcore/mcore.c
! f0dfdfd1cf6508aadddcc3e9cc0731f6  gcc/config/mcore/mcore.h
! abd98184c59965c1f166156cd6220f55  gcc/config/mcore/mcore.md
! 67fd9e49927fba523d8dea31583d0d1f  gcc/config/mcore/mcore.opt
! 9e4bab5acf5f9ce16e48a59c958d8d26  gcc/config/mcore/predicates.md
  7336dd6652ac1371fe713173f6ba12db  gcc/config/mcore/t-mcore
  13b4898d597c0d5c373ffcbc70ec1daf  gcc/config/mcore/t-mcore-pe
  06287f034722081687f831dcb61e986c  gcc/config/memcmp.c
  dad9e98504e8f79e6e97aa29c6b49d96  gcc/config/memcpy.c
  135a2882c25ab6f90748b020a6cc2f02  gcc/config/memmove.c
  eb54d3066646204ecc21ba5ecb67d572  gcc/config/memset.c
! d1ab563811219fa688c927effb1989cf  gcc/config/mips/24k.md
! 0b55d563126a75ff8db578d571e12ae1  gcc/config/mips/3000.md
! 2163aa5f18bd80c2757c62e2779cc7ff  gcc/config/mips/4000.md
! 96ef8d77af718c5abca521c3833853d2  gcc/config/mips/4100.md
! 0dd7e0ce249488b35150000018d4f9b1  gcc/config/mips/4130.md
! 3f750d972c5e319f1054e9a1dc350cc1  gcc/config/mips/4300.md
! 7b706c994c0e61fee243a38633690eb1  gcc/config/mips/4600.md
! fdcc515fa12820292a2f30ef34d0374e  gcc/config/mips/4k.md
! dcf39d778462f4d96465c9bdbface730  gcc/config/mips/5000.md
! a96d7e9fda7d58c9355c499aaa2e9766  gcc/config/mips/5400.md
! cc677d83e01100d03ddcd8f5b97d0375  gcc/config/mips/5500.md
! 97d3025201d6ba43a4f40396e45b9204  gcc/config/mips/5k.md
! 6de2dce51da2b13bdcc5171ac3811019  gcc/config/mips/6000.md
! 5a1d0f032a7fc77556623f0e2f13dc4d  gcc/config/mips/7000.md
! ade19a49ac20132fe8537edcb5f20703  gcc/config/mips/9000.md
  d82f3ae3376393010241cce24e044774  gcc/config/mips/crti.asm
  20de4ac90cc0b1ccf48c4aded700edf1  gcc/config/mips/crtn.asm
  6e3426453042c0e0af9d70cfd5679310  gcc/config/mips/dbxmdebug.h
! d31b5cdc4541f6435b9c92a217bffca3  gcc/config/mips/elf.h
! 70412fa711c012bfdf6e31cdcfd2ae1d  gcc/config/mips/elforion.h
! e9700c7112b0346a8f864bff69f7d004  gcc/config/mips/generic.md
! cb000602416e3736e0f65be08db03a4a  gcc/config/mips/iris.h
! 4942e6a545cd8e9c817df3bba0eefca8  gcc/config/mips/iris5.h
! f67b2b834edfe04b850f6906967f98c2  gcc/config/mips/iris6.h
  131036eadc140e6323844bc1d5f275db  gcc/config/mips/irix-crti.asm
  9367bc37dec2a0b5311a6dfc4895a1d1  gcc/config/mips/irix-crtn.asm
! b1f91d99b1e0fef114e7f58b6051bc49  gcc/config/mips/linux-unwind.h
! f7c1ad4332e30dd5d8d7df054d758821  gcc/config/mips/linux.h
! d5fe46292b304f3aec304f0375fdcd22  gcc/config/mips/linux64.h
! 5827c0a77ce3ad6cca1854c92b846e16  gcc/config/mips/mips-dsp.md
! 8323cc329a2c3c26ff0e2f638bf2d955  gcc/config/mips/mips-modes.def
! 7c9a70d966ca4ff2954afab2133e0c5a  gcc/config/mips/mips-protos.h
! ed0246928d04a83b6702a61c70b73b1e  gcc/config/mips/mips-ps-3d.md
! 765eba6f5d4f7d92b1ee50c21711d82b  gcc/config/mips/mips.c
! c5df3c958ab25c60dc6389dfa71d114b  gcc/config/mips/mips.h
! 72e0b40a4350f85f50ef677bc593ba52  gcc/config/mips/mips.md
! 99251451b5bbf5dd0c1d378b383e2475  gcc/config/mips/mips.opt
! 03c8fb3041bfcb2f2356b14d2faad5c4  gcc/config/mips/mips16.S
! c93cbe34cd44ae562649b8bf1dd13b36  gcc/config/mips/netbsd.h
! efa57b5998b391841a6849f4a9468d9f  gcc/config/mips/openbsd.h
! 56582dfbbe63deca27005e633fa0c866  gcc/config/mips/predicates.md
! caa98bdf7d10b03e578dacde24c681ab  gcc/config/mips/r3900.h
! 71a8514244fd64b883c83fb10d7e957c  gcc/config/mips/rtems.h
! e1198a7bd60767ac8e83e03e819ef7de  gcc/config/mips/sb1.md
! e4eadb0eccbd9e4064be92efe42b5863  gcc/config/mips/sdb.h
! e6c660095ca2c77c6bb6cd6687fc01cf  gcc/config/mips/sr71k.md
  97d6cb748e12f3fc58fb20e085b54601  gcc/config/mips/t-elf
  41a59bc0317c1fc34a93b74695f4879b  gcc/config/mips/t-gofast
  e7a281066dc2222690d1f55593b0b5c6  gcc/config/mips/t-iris
! 3e1825548d6281a56de6c9fdcbe9f078  gcc/config/mips/t-iris6
  e8e13a785c4c31ae1f3a19bde8402da4  gcc/config/mips/t-isa3264
! 940358887bbdf270d3e14f29adedc109  gcc/config/mips/t-linux64
  714dc7318069f8a2a1da3d1ef6753696  gcc/config/mips/t-mips
  f8aea45c2091dc6dc9ba1651f6763fff  gcc/config/mips/t-r3900
  6df9a9e50ef0f9860def1cb1da901ec8  gcc/config/mips/t-rtems
*************** f8aea45c2091dc6dc9ba1651f6763fff  gcc/co
*** 2811,3046 ****
  b0c5ffe42447cd0fba0800583dfb447e  gcc/config/mips/t-sr71k
  d9b6a93e0b374a94f1c151e1a0bc2ab9  gcc/config/mips/t-vr
  59987eb573fab94df469dd55978c8ff2  gcc/config/mips/t-vxworks
! e93b96fc8a58764e03102123982be5c2  gcc/config/mips/vr.h
! 310cf77c3781cebd50ec98b2c77729e9  gcc/config/mips/vr4120-div.S
! d4e0ab51c875ef4f9c471037958d280b  gcc/config/mips/vxworks.h
! b1955b0b8037d624e71259f019084ded  gcc/config/mips/windiss.h
! 1fe67624bc282b332e00a9183e10489b  gcc/config/mmix/crti.asm
! c1bab78e87b655044a66a6e51920a5fb  gcc/config/mmix/crtn.asm
! f34f492f67cc4d981c21b4c6d124dc2a  gcc/config/mmix/mmix-modes.def
! d3d7e52fa9915abc8061dc071605ef78  gcc/config/mmix/mmix-protos.h
! 9b84966310f08180fba9954659c66e43  gcc/config/mmix/mmix.c
! 0c9dd18d567725c232dce3ee2dc465cd  gcc/config/mmix/mmix.h
! db69e8a5a2ccc01f1005f6cd8b3284d0  gcc/config/mmix/mmix.md
  5ce13841c595af0f47c4466df9be3178  gcc/config/mmix/t-mmix
! c511eee1a99c4f4d86046352a4341b23  gcc/config/mn10300/linux.h
! 6aa4688ccc208d964818fe7e02263367  gcc/config/mn10300/mn10300-protos.h
! 339090922283d98b91e2badf41bb8372  gcc/config/mn10300/mn10300.c
! 1676ccff9aee57c026892b67aa5f9e10  gcc/config/mn10300/mn10300.h
! 400c55e49d8717fa7ef529ef34647a12  gcc/config/mn10300/mn10300.md
  182cb9b782d5045a6da1a6ff3b7669a6  gcc/config/mn10300/t-linux
  b7d9ad1c46dcee95fcad3885d9462f03  gcc/config/mn10300/t-mn10300
! b937ac0ba17f75856115a8881b0968b9  gcc/config/netbsd-aout.h
! 50408db2d60c4d5a1c86be38b0c1761b  gcc/config/netbsd-elf.h
! ea9dacb89c9d5e0c1d1e80ecea18b50b  gcc/config/netbsd.h
! e12063fac46f3a632aa5c2ae75396587  gcc/config/ns32k/NOTES
! dedcd00ba3eef6b05dfc0982edbc1162  gcc/config/ns32k/STATUS
! aa660542346e5d936727fa43b24f4d87  gcc/config/ns32k/__unorddf2.c
! 70fc0c27945b4a75f41747bd68edb0dc  gcc/config/ns32k/__unordsf2.c
! 7ac278dd144948ddf2d8094a1d94770c  gcc/config/ns32k/netbsd.h
! a188ed3b3cdd05573232fff1febcc6c4  gcc/config/ns32k/ns32k-protos.h
! 119e2cd63aff144275d0f0ab8670c595  gcc/config/ns32k/ns32k.c
! d58fe9f79ab120312d7d97084f3ae9f2  gcc/config/ns32k/ns32k.h
! a6fe25ab12d0adc6d6aace74c424ad1c  gcc/config/ns32k/ns32k.md
! 68bdfa7a687becd3e55a1c85731a7d8c  gcc/config/ns32k/t-ns32k
! 5c76d3a5673713839b14e60a0277cbfc  gcc/config/openbsd-oldgas.h
! 79c1eed7701cc50dbf5c4d44afdbb50b  gcc/config/openbsd.h
! 027ff50db12432f7b20bd1bae0d94709  gcc/config/pa/elf.h
! caee84ab509c96c71c541594c104d131  gcc/config/pa/fptr.c
! fbafb2bce7ca6f44830ac8a2cef89439  gcc/config/pa/lib2funcs.asm
! dbd83e6edcdb1c7617b6b3a70548e8e2  gcc/config/pa/linux-unwind.h
  afdcf2b09147dc7cafec36edfd4fff15  gcc/config/pa/milli64.S
! c2c3c46a3efe0751aaef754509b04503  gcc/config/pa/pa-64.h
! 9cfc3c7d29ba7f904d954689ce587406  gcc/config/pa/pa-host.c
! 8e8a48f817a9474e89653c4253a78cc1  gcc/config/pa/pa-hpux.h
! 8d450336c35fb876f5d09f34ccd83724  gcc/config/pa/pa-hpux10.h
! f01e36c193df377c741dbaa1d4ecaebb  gcc/config/pa/pa-hpux1010.h
! ec0b54da5133bf3b982c9475e05b97de  gcc/config/pa/pa-hpux11.h
! e51589aed093a0f10eb142754eafb687  gcc/config/pa/pa-hpux1111.h
! 1b810596e51256dd6f6e52882b5e778b  gcc/config/pa/pa-linux.h
! b79db2bdff3ce59678cce0a5c7e2467c  gcc/config/pa/pa-modes.def
! 862c6e19897c6a0a0f32163fe2c231b5  gcc/config/pa/pa-osf.h
! 854fd2474d29263a6c8aee27d5607b3c  gcc/config/pa/pa-pro-end.h
! ed3585a02d538828e5edd6c5ead40d4f  gcc/config/pa/pa-protos.h
! b59a072638fb62bfc07b1b79197c268a  gcc/config/pa/pa.c
! eca8f49462d73eaeed7fcb7d3bf24fcf  gcc/config/pa/pa.h
! 33156ffa96d9a0e09991fdb8add0083c  gcc/config/pa/pa.md
! 879943302e74405d1cb84c8ed0b05098  gcc/config/pa/pa32-linux.h
! d5989848c6e49d9d061a2dd561b42884  gcc/config/pa/pa32-regs.h
! ccbf2b217629061c1f45b2c942c5f005  gcc/config/pa/pa64-hpux.h
! 153df084b9b299f98ad273972036b95e  gcc/config/pa/pa64-linux.h
! 5a6ed3dbb3e7a51f2d8ab1ab8b3f852d  gcc/config/pa/pa64-regs.h
! a25807809b4fc78f47de63da8e52a14a  gcc/config/pa/pa64-start.h
! 9bbdc248dbeaf8c0911175723fb360d3  gcc/config/pa/quadlib.c
! c265f7851c0e0620098276f5f31521b3  gcc/config/pa/rtems.h
! 094c81bad896cf7dcf806fe7b2248597  gcc/config/pa/som.h
  504fb8ee781c6f20c7a2b7ecfb8f3554  gcc/config/pa/t-dce-thr
! 70fd364bd64c18d9a2aa451ee0d12d36  gcc/config/pa/t-hpux-shlib
  b513dd09b88c32ec68b0a5560392b661  gcc/config/pa/t-linux
  015886f6086f4ace3337cdc1103513dc  gcc/config/pa/t-linux64
! 22df8873a0ad9aa1be45fc3aa389a2bd  gcc/config/pa/t-pa
! 8dd22c0c09ba499e0c652f510fdc3ea7  gcc/config/pa/t-pa-hpux
! d0efe50978a41265ae88e9ece50ad296  gcc/config/pa/t-pa64
  fb6f74f1f1eee4fe3566f944a76e3d36  gcc/config/pa/t-pro
! 4e281c631e54b8912258f84196fec9e6  gcc/config/pa/t-slibgcc-elf-ver
  82ebdff0138bf22fc79a9db388c8890e  gcc/config/pa/x-ada
! ea2ae316c1432d11b7702f866ac07c55  gcc/config/pa/x-hpux
! b10964ce2fd35c3864ca776b3f91e7d7  gcc/config/pa/x-linux
! fd76ad552d96241b9f694872c5ee5271  gcc/config/pdp11/2bsd.h
! 071259f6c7430b239a1428ee2a6f8761  gcc/config/pdp11/pdp11-modes.def
! 852dfdbf3ca5932bc558efe7154c9552  gcc/config/pdp11/pdp11-protos.h
! 882b9ff04c44faef478659f645d0fd3a  gcc/config/pdp11/pdp11.c
! 601d64aa463e8c2d07d71bfcde5125af  gcc/config/pdp11/pdp11.h
! 59b18171b76d5fce41e5774715d70cf6  gcc/config/pdp11/pdp11.md
  9bbad893fcb3286a0493fd5cfbdaeaa7  gcc/config/pdp11/t-pdp11
! 48a54a7a1994553269f7cd569d1b53c8  gcc/config/ptx4.h
! 26ce6936ad1aa16c45205df9022cc2e6  gcc/config/rs6000/40x.md
! 5f61ee22b76efa0aee0ce56b2bcd5be6  gcc/config/rs6000/440.md
! 74e8f45a1cdfd607d5bda7e9da8cdead  gcc/config/rs6000/603.md
! 359d7b2247973a3de1de4f01c2388ba8  gcc/config/rs6000/6xx.md
! 226d372090829f17e8cdf0f8dc0a7dc5  gcc/config/rs6000/7450.md
! 21a44d1ba1a72dc2de59bf3d09c52ee6  gcc/config/rs6000/7xx.md
! a990ee2a833a836af90ccc8ec6065851  gcc/config/rs6000/8540.md
! 159be21df1ae8a7f823eecfefb0a58b9  gcc/config/rs6000/aix.h
! 1dc99fa4b1a9ca96de8c50b051d02360  gcc/config/rs6000/aix41.h
! aed5c92339d77fac50dfbdcea9c82674  gcc/config/rs6000/aix43.h
! 6816642b0b48280b23d084f01d8fd720  gcc/config/rs6000/aix51.h
! 7a2e726bf109f069c2b77754bdfc825a  gcc/config/rs6000/aix52.h
! e7f63f96581407c22db3f1e5044bd277  gcc/config/rs6000/altivec.h
! 1bd84a6e46f6efc7d1e881de91dae72f  gcc/config/rs6000/altivec.md
! 5a032c0209a706af7c113bb16d1aaf20  gcc/config/rs6000/beos.h
! 5e7b07b7ea0018a0772373b56e518603  gcc/config/rs6000/biarch64.h
! e53c25b00eba3d11048da25e8b1d20e3  gcc/config/rs6000/crtsavres.asm
! 3a0f4d83b2fc4801137c7a716e33b053  gcc/config/rs6000/darwin-asm.h
! 41b119bf591f3c337526bd077ba3fa8a  gcc/config/rs6000/darwin-fallback.c
! 048bf916f65bde0ce3e38807c3886744  gcc/config/rs6000/darwin-fpsave.asm
  51ed3133516e6f9ea803b29b09683617  gcc/config/rs6000/darwin-ldouble-format
! 2742d76dc8783cedde36c816ec6ae63b  gcc/config/rs6000/darwin-ldouble.c
! 4870493c9c79da70b3054a16b2f90cf1  gcc/config/rs6000/darwin-tramp.asm
! 0aca54ed989d33cf98e066048fc1b76f  gcc/config/rs6000/darwin-unwind.h
! 6069b0e0577058f8810367ad1df24eb5  gcc/config/rs6000/darwin-vecsave.asm
! eabfccdf4247c9b461a92941b0e54a45  gcc/config/rs6000/darwin-world.asm
! b95c9de6c21f05eaf248f22809b71e04  gcc/config/rs6000/darwin.h
! d0a66cb3cabf9389f377810237d3eca3  gcc/config/rs6000/darwin.md
! de31840d2de0f2dd095788f035caf5ac  gcc/config/rs6000/default64.h
! f633d0226bdade988b41d6dcd105ccbf  gcc/config/rs6000/e500-double.h
! 821e8058ed947674c62dd24a9654e003  gcc/config/rs6000/eabi-ci.asm
! 1dcf66d378d4c24774769fca5258f2d6  gcc/config/rs6000/eabi-cn.asm
! b57e8c087d37e126819b4cb307b07525  gcc/config/rs6000/eabi.asm
! 27da470788e775c45d6b1a86661e4238  gcc/config/rs6000/eabi.h
! 855177ef60fc6547743fa10aeca62e4c  gcc/config/rs6000/eabialtivec.h
! 90d057060650d4660bef935491bcee85  gcc/config/rs6000/eabisim.h
! f7296a1f77f6287fd57565b360ef2d6f  gcc/config/rs6000/eabispe.h
! 99e913245a6a32d7fb169d7e06186786  gcc/config/rs6000/freebsd.h
! 4f85feb798be4b89d8e601904d386bb0  gcc/config/rs6000/gnu.h
! d3752e406b638299501b6d573eedbcec  gcc/config/rs6000/host-darwin.c
! da9f2136f559a122795f556795cfd9c7  gcc/config/rs6000/kaos-ppc.h
  7aa6f4e782960be3e2b43998ef395330  gcc/config/rs6000/libgcc-ppc64.ver
! 904704e59a035d32d2dbc7dda4113576  gcc/config/rs6000/linux-unwind.h
! a451a7ed27bd694bd11ce5c6a6e6034d  gcc/config/rs6000/linux.h
! 59d0f1b89dfcba977dc41c8bb32c7a71  gcc/config/rs6000/linux64.h
! ca186f2d12c7ece629ce74ff5ebd8d57  gcc/config/rs6000/linuxaltivec.h
! d202a4e17d92bf3e3c740e7064bb32b7  gcc/config/rs6000/linuxspe.h
! 810875491266d4b5e6ba0c4eb9030d9b  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
! 136a473b8941f7201fef0105ad7d96cc  gcc/config/rs6000/mpc.md
! 0d6257eafc1de2612e21bfa29394958b  gcc/config/rs6000/netbsd.h
! c1873a571d268c322c3c3f95dc698889  gcc/config/rs6000/power4.md
! 7c56efad83ce04b2d04678403f9d0bb5  gcc/config/rs6000/power5.md
  14cec5dfbee9d3f12e63eb6631f6c0cc  gcc/config/rs6000/ppc-asm.h
! ed8d976a0fa00c5f9ad6e9588101ce50  gcc/config/rs6000/ppc64-fp.c
! 34b9775963afab5ff1b15066ecdc7ffe  gcc/config/rs6000/rios1.md
! 895d6864152efa2e1cd03f5bd26f6ee1  gcc/config/rs6000/rios2.md
! 2474106514542a74386410dbc7632d87  gcc/config/rs6000/rs6000-c.c
! be122c26b032d4b7836921e3fa090fd4  gcc/config/rs6000/rs6000-modes.def
! dfa163ebf9a70a3902db0066a24331d9  gcc/config/rs6000/rs6000-protos.h
! c84c99ef37d79171d86ea7515da3c24f  gcc/config/rs6000/rs6000.c
! 377278ed5c461ff87a0d3cdd3902196d  gcc/config/rs6000/rs6000.h
! 8ba1d52b79f85233203b5eb3b615742c  gcc/config/rs6000/rs6000.md
! 0162545ea221a6bffa380944e7403086  gcc/config/rs6000/rs64.md
! 1ae8f607d193c9f68125d76b47c93e3a  gcc/config/rs6000/rtems.h
! 7a8546dc092c2e0a033f4b7cc7869fbf  gcc/config/rs6000/sol-ci.asm
! c33918bb488efdc2f45bc68097d0c0c1  gcc/config/rs6000/sol-cn.asm
! df5c4d4353327164ec4cf08f5b513596  gcc/config/rs6000/spe.h
! 128ab5614a9a8a58aaa61570fbf5348e  gcc/config/rs6000/spe.md
! af6e694947e88f9daa6cdb07960c9463  gcc/config/rs6000/sysv4.h
! c6acb0c963a6bdadf515c9394f7a08c3  gcc/config/rs6000/sysv4le.h
! f940f61a78ea18538bdb51dec6292ad1  gcc/config/rs6000/t-aix43
! 855671740011a9890cce9922894ef5fb  gcc/config/rs6000/t-aix52
  1f94aa9c402b6482e06634ede3a1e1a6  gcc/config/rs6000/t-beos
! b0d2b65d99362fd528c50ab02fab9531  gcc/config/rs6000/t-darwin
! e32166113b1c26e4a131765a147d936d  gcc/config/rs6000/t-darwin8
! c16e6288fb9b5afba181974ccd9ca5cd  gcc/config/rs6000/t-fprules
! af5e3d318edacb7d0c8d957d005c0b47  gcc/config/rs6000/t-linux64
  33a1cdad7a31f32a11d1224f9f49860d  gcc/config/rs6000/t-lynx
  5c45aee77bb799356d9f2ce892350021  gcc/config/rs6000/t-netbsd
  9ad2efda7a6d4d0f1c7479f2b1476ea6  gcc/config/rs6000/t-newas
! 6d56f068aa410b3bde020ca31fc092b8  gcc/config/rs6000/t-ppccomm
  b8c287dddae5e63bdbe4aa255348541f  gcc/config/rs6000/t-ppcendian
  4b04e095dbd46aa9f97ea23e3682f902  gcc/config/rs6000/t-ppcgas
  1b8aba690a39464c4ea9c647d73d6983  gcc/config/rs6000/t-ppcos
  32455d65d4625b4d6054756aadddd40a  gcc/config/rs6000/t-rs6000
  e59bab367b5c353e9657ad4ef8a9afc9  gcc/config/rs6000/t-rtems
  f4705b3cd8498a0b439e98a74ef45a9a  gcc/config/rs6000/t-spe
! dbb0e58a422a2c1fcbf01fa1b11da737  gcc/config/rs6000/t-vxworks
! 10170ecf836dff4c591070311ff8d766  gcc/config/rs6000/tramp.asm
! b5396a781b1ecbece31fb608cada7a15  gcc/config/rs6000/vxworks.h
! ecd4c68758beed6a3b4502d0cc36475c  gcc/config/rs6000/windiss.h
! 2e846dfa869ea953c423ec462d1d6d5b  gcc/config/rs6000/x-darwin
  8198b044d1803522a7144e695ceb51e0  gcc/config/rs6000/x-linux64
! 2abd2c023ba444432a510b69587c3f14  gcc/config/rs6000/xcoff.h
! fb346ce82cd022d3c37df9af1577238e  gcc/config/rtems.h
! 2c700250b7f5439e2031456feeccbef7  gcc/config/s390/2064.md
! cd454e14bf66b225342fa339f796e173  gcc/config/s390/2084.md
! 8d59b5b2249f37b4555e6e261f3a4880  gcc/config/s390/fixdfdi.h
! c9c209648bc048a3f0ef7de19702d017  gcc/config/s390/libgcc-glibc.ver
! cda0ae69c42a1a91681f11fbae97916d  gcc/config/s390/linux-unwind.h
! e30a94728056fb22cb3eab9f5d3db02b  gcc/config/s390/linux.h
! 0b18a6398b0c27ce03d0e6a37e525dba  gcc/config/s390/s390-modes.def
! 540a5c4a01b8188217a96da95d0ddf72  gcc/config/s390/s390-protos.h
! baf63338b859f973716d5259247a0263  gcc/config/s390/s390.c
! 6cc53a6ae831c775b1a36d118b2ec1d9  gcc/config/s390/s390.h
! 83d5341463e8409df46e0d9991cc10bb  gcc/config/s390/s390.md
! 96bcc569e3d9eebb88a508768a5e540a  gcc/config/s390/s390x.h
! da95f4fa0b0ee7d381f39f1bad0c6eba  gcc/config/s390/t-crtstuff
! a4d892ee3aa5b2422dbb80fa4e5c8885  gcc/config/s390/t-linux64
! 16543103dbad5e6bfab79d75c0c3fd90  gcc/config/s390/t-tpf
! e8c0daf8651063ef874594412e84aed2  gcc/config/s390/tpf-unwind.h
! becb20aea283b4c7e9649250e5d98c90  gcc/config/s390/tpf.h
! 134619fe9d10cbcb81ea6c221bbba3d9  gcc/config/sh/coff.h
! e8b15b973f939263c84b8326b9574750  gcc/config/sh/crt1.asm
! f8ff2d24f238f9d34f2d373a85654a0c  gcc/config/sh/crti.asm
! 7f2c0416a0c89aa0a371675927b23a64  gcc/config/sh/crtn.asm
! 6e72cc11e4b508c9371148d4d351f13e  gcc/config/sh/elf.h
! 233b944025ba0a51f77d9734e620acda  gcc/config/sh/embed-elf.h
! 6403da65ebf65d597873061458690b86  gcc/config/sh/kaos-sh.h
! a4f81ef3fd0ccccc9e7cc376f673684c  gcc/config/sh/lib1funcs.asm
! 157ec64c8735b407e490449e74e8ba9f  gcc/config/sh/libgcc-excl.ver
  44275c5268170e500bc78c3b859eca1e  gcc/config/sh/libgcc-glibc.ver
! 788a71e054b06fba88c425b53c0f8e4f  gcc/config/sh/linux-unwind.h
! 3b486959651db5ae011a934958ef7b9d  gcc/config/sh/linux.h
! 44c72c26e0b4e424ab5f39e18c78d937  gcc/config/sh/little.h
! 7722c968ff6a26247a7f34dcbd1ce5b8  gcc/config/sh/netbsd-elf.h
! 0a4c0fb3a1c46afbfdf1411f7b18d748  gcc/config/sh/rtems.h
! 1496fa5d679b87206f3e8dd33fa49f27  gcc/config/sh/rtemself.h
! 3ea9c1283e7823b0e6116b72334bcf7b  gcc/config/sh/sh-modes.def
! 7ad618f66bf9385ac0c79295165f6a2d  gcc/config/sh/sh-protos.h
! d91d53c3e84313d7625feb13896aea25  gcc/config/sh/sh.c
! 44af8ec13335644d16b1ecee79672351  gcc/config/sh/sh.h
! 3347434422c2583d867c09906451a715  gcc/config/sh/sh.md
! b85a6979a98055e05d17d18d7c8f7e31  gcc/config/sh/sh1.md
! 65dcf0a8cef359cffaea9089f46f427d  gcc/config/sh/sh4.md
! 63ba173ebfa2135e2ebe10cbf7469ad1  gcc/config/sh/sh4a.md
! 744d2394a7b3f4824ffbced278d6884b  gcc/config/sh/sh64.h
! 03e9503170a8a15a36a1f21d8c154f0d  gcc/config/sh/shmedia.h
! 8ab28e70e4a0bafd45469ed58b99c383  gcc/config/sh/shmedia.md
! 02453300c9160381bfe1762b4ad09d96  gcc/config/sh/sshmedia.h
! 44c5c7fe3cde17cad8d54363473c6f72  gcc/config/sh/symbian-post.h
! aaade0afae321e948431998bf99055a3  gcc/config/sh/symbian-pre.h
! 656930b4f3cb2b702447741425c8596f  gcc/config/sh/symbian.c
  33a4c57d9b99ba2a5c3bd0cc3cdb324d  gcc/config/sh/t-1e
  443d7921d857a0161be49685cadb9e1d  gcc/config/sh/t-elf
! d069ecf37203b5833ecf9c11bf7a238e  gcc/config/sh/t-linux
  1a388da3bbebaf73d6a6b4a1bb1eb4e8  gcc/config/sh/t-linux64
  8ef4e47dc8b643e6e4640ec4523892bf  gcc/config/sh/t-mlib-sh1
  97f255bc283e1aef283834553e457b72  gcc/config/sh/t-mlib-sh2
--- 2899,3175 ----
  b0c5ffe42447cd0fba0800583dfb447e  gcc/config/mips/t-sr71k
  d9b6a93e0b374a94f1c151e1a0bc2ab9  gcc/config/mips/t-vr
  59987eb573fab94df469dd55978c8ff2  gcc/config/mips/t-vxworks
! 29004b58d45bbe49616e314427e773dc  gcc/config/mips/vr.h
! 501327c340a4081c376d644a43fdd441  gcc/config/mips/vr4120-div.S
! 6ad568a3d8fd705b3fe7447b3d91aa22  gcc/config/mips/vxworks.h
! 36939f89c32a1f087f2418b5ee473152  gcc/config/mips/windiss.h
! a3230c2ed3d5e0066baf63cb2fd96854  gcc/config/mmix/crti.asm
! 4887099e4ece6d304a35d63948375813  gcc/config/mmix/crtn.asm
! 91044b6d7f58aae49359cd873da37e8d  gcc/config/mmix/mmix-modes.def
! bb7099870846ddddd7209fc5685eb473  gcc/config/mmix/mmix-protos.h
! 2030be46a944631b1afe8329499b1bd6  gcc/config/mmix/mmix.c
! 45a70c63fe722326396dbf4330dd11c5  gcc/config/mmix/mmix.h
! bb6c66b73a7ba40e013dfaff63ff3d43  gcc/config/mmix/mmix.md
! 06cd759a6e6eb4c11b1aa0205119ef6c  gcc/config/mmix/mmix.opt
! 7da7b1fdfc2ce38265c3cf90885663af  gcc/config/mmix/predicates.md
  5ce13841c595af0f47c4466df9be3178  gcc/config/mmix/t-mmix
! 944823beec56da6ff2d74980cdbc4666  gcc/config/mn10300/linux.h
! 0cd9fe9149851a7bc0ffff7577e2239f  gcc/config/mn10300/mn10300-protos.h
! 460e64ece259f90855639f674ad8d6a2  gcc/config/mn10300/mn10300.c
! a67089d2571e498bf55cc211f4f9e8e7  gcc/config/mn10300/mn10300.h
! 73dfb86cdd9647abb8fea3e824c5ec56  gcc/config/mn10300/mn10300.md
! de09cbd878308c79be99c1479df7be0a  gcc/config/mn10300/mn10300.opt
! 4c63c7f98837c9190078489ef8b06e10  gcc/config/mn10300/predicates.md
  182cb9b782d5045a6da1a6ff3b7669a6  gcc/config/mn10300/t-linux
  b7d9ad1c46dcee95fcad3885d9462f03  gcc/config/mn10300/t-mn10300
! 85882df816fe28ca5ae7f1c9945f2e4e  gcc/config/mt/ABI.txt
! 31a358e14ef66cc70160c4e6e2689263  gcc/config/mt/crti.asm
! db40fe5353be4a0aecbf266374a70aae  gcc/config/mt/crtn.asm
! 5a22813e5b7138eebc3f0115e7cc246b  gcc/config/mt/lib2extra-funcs.c
! 20ecea72abb81bf6051afd65c5f9e01e  gcc/config/mt/mt-protos.h
! 31bd8576716de3748aeb64b7225d432c  gcc/config/mt/mt.c
! 55cae4a3446c0d13d92a95a5c3f4526d  gcc/config/mt/mt.h
! c692b7ace4892cf2dd4f8ddac9268116  gcc/config/mt/mt.md
! 3d3ddbbdebb6d101eb9188fd8a10e38a  gcc/config/mt/mt.opt
! 22c8576a5b6670b96086dbf0276499d7  gcc/config/mt/t-mt
! f92a2ce325a0b1701761f036c785086d  gcc/config/netbsd-aout.h
! 684e0fade60042bf71b415f36f955a43  gcc/config/netbsd-elf.h
! a35dcc66e064bc83491856b05bf78e02  gcc/config/netbsd.h
! f6501032643af9b5897f959d74824010  gcc/config/openbsd-oldgas.h
! d9d21e94e69f82a2757a44dd8b412556  gcc/config/openbsd.h
! 779ab95aab4eca37c82669fd4dca98ba  gcc/config/pa/elf.h
! 4e7a577c4084b517409a9178ad7d495b  gcc/config/pa/fptr.c
! 7d565a8fc7867a6144ea6292b24d87dd  gcc/config/pa/hpux-unwind.h
! eefd6081497d56467864a111613f397b  gcc/config/pa/lib2funcs.asm
! 52aa8211ab4116065e45b378223eddd3  gcc/config/pa/linux-unwind.h
  afdcf2b09147dc7cafec36edfd4fff15  gcc/config/pa/milli64.S
! 334de6a465271ac8f0d0bdcc598b4e00  gcc/config/pa/pa-64.h
! 17849a898a2e0ec4e5b4f45e319b093b  gcc/config/pa/pa-hpux.h
! ba8c1cba89c02007f2ed153774abcb96  gcc/config/pa/pa-hpux.opt
! df300679fb3ae1fb04f694e406428801  gcc/config/pa/pa-hpux10.h
! 876c2a2c1091a58492079224ceddc387  gcc/config/pa/pa-hpux1010.h
! f3c19015777c10590987c6f652fee1b2  gcc/config/pa/pa-hpux1010.opt
! 5a2b744eba3a334311f4faed9fd9db9d  gcc/config/pa/pa-hpux11.h
! 0404146b55fbbdf4b177afc1b4313bab  gcc/config/pa/pa-hpux1111.h
! 39b440b4f9c0dd293397d855e8e9e58f  gcc/config/pa/pa-hpux1111.opt
! 780be73a2f596aa1ce115bd9a1cf2bf1  gcc/config/pa/pa-linux.h
! 89aaeaf1206c1d29d6da7a61e1c0e896  gcc/config/pa/pa-modes.def
! 509bb2da578ce5d748ff044e17cb6c87  gcc/config/pa/pa-osf.h
! 7b7ca3363b6909804f0fe069ebf5dd12  gcc/config/pa/pa-pro-end.h
! c9632ed44aa997481f1476ba938635a5  gcc/config/pa/pa-protos.h
! ecf28b224c65e9f329a5c640c338349b  gcc/config/pa/pa.c
! 6cc17ff971c83be6b7bf78a9b21e614b  gcc/config/pa/pa.h
! f94459ba43e98eb3e665ae010af9b9b0  gcc/config/pa/pa.md
! 42fb8c962eacc4a1cb4f8a1b4f01315f  gcc/config/pa/pa.opt
! 0fdd45a4b6d7eb5b0781dfb9ad5d6ded  gcc/config/pa/pa32-linux.h
! aa71fb9e974c0c0c8b003a41ef915009  gcc/config/pa/pa32-regs.h
! 292e672e61443541d940c72a36009ec6  gcc/config/pa/pa64-hpux.h
! 2798460359cc68cf36fc35039e43ac35  gcc/config/pa/pa64-hpux.opt
! ee49dde3f010c7ad71ce5786976f1a9f  gcc/config/pa/pa64-linux.h
! 25d63ed2a17057b73b0ed1a907f4561a  gcc/config/pa/pa64-regs.h
! a9a6afd79b827565ffb8de8330b4cfe6  gcc/config/pa/pa64-start.h
! 7d5cbf71ab44c002c2959ee4cd284fbe  gcc/config/pa/predicates.md
! a8e4a73cae2c5f1060b6fc58e1fc0700  gcc/config/pa/quadlib.c
! 1e8e42a204225a8dd55f42b187781584  gcc/config/pa/som.h
  504fb8ee781c6f20c7a2b7ecfb8f3554  gcc/config/pa/t-dce-thr
! 9f90de72fd87c949bb4d270cc3975360  gcc/config/pa/t-hpux-shlib
  b513dd09b88c32ec68b0a5560392b661  gcc/config/pa/t-linux
  015886f6086f4ace3337cdc1103513dc  gcc/config/pa/t-linux64
! aa07cb277b965ca2b34f3a1e331f36dd  gcc/config/pa/t-pa
! 0520185bec50bbc0aeba2c53a7b52a8e  gcc/config/pa/t-pa-hpux
! 2e296d67f6c806bd5c807d03c44cb6c8  gcc/config/pa/t-pa-hpux10
! 64ecd197457a61a51d075c6ea6653abb  gcc/config/pa/t-pa-hpux11
! 8211c82b742bd3de94b1584901786470  gcc/config/pa/t-pa64
  fb6f74f1f1eee4fe3566f944a76e3d36  gcc/config/pa/t-pro
! 6b7616abedce76aaa866d73b08ea3a07  gcc/config/pa/t-slibgcc-dwarf-ver
! 463a4121da251ad8e53013810a31914a  gcc/config/pa/t-slibgcc-sjlj-ver
  82ebdff0138bf22fc79a9db388c8890e  gcc/config/pa/x-ada
! 3729cb125562ccbfdb66c1e961abed94  gcc/config/pa/x-ada-hpux10
! 6076d6a891229f63d877b3e7f622d1f3  gcc/config/pdp11/2bsd.h
! 0f03fb54f6057a013cd6b03e5f09e87e  gcc/config/pdp11/pdp11-modes.def
! cd97547ab9c525cac057a0c3fd374f94  gcc/config/pdp11/pdp11-protos.h
! c04bdfecfa16083e40a7741717b4650b  gcc/config/pdp11/pdp11.c
! 91f5b9987ce05c61a6d186cdeb5d868b  gcc/config/pdp11/pdp11.h
! f20dcabe7f7a0817a8cbb75d6dd80912  gcc/config/pdp11/pdp11.md
! aff94334b522e670c6d2296b28740e98  gcc/config/pdp11/pdp11.opt
  9bbad893fcb3286a0493fd5cfbdaeaa7  gcc/config/pdp11/t-pdp11
! 5ef6b1df457554c3b354a7224228a867  gcc/config/ptx4.h
! 8779d26e5fe146b2856787bbad03c148  gcc/config/rs6000/40x.md
! 364ab524449beaa45c6746e57da960cb  gcc/config/rs6000/440.md
! 67ee1645dc5d4a473ca98e4600af22b6  gcc/config/rs6000/603.md
! 8d2f7b3e4f3519407fb20c6cd627881f  gcc/config/rs6000/6xx.md
! dd3420f5e1711edcb2e1c1faa74fbe88  gcc/config/rs6000/7450.md
! d696268436b1e1af398d2b8aed4b9cb6  gcc/config/rs6000/7xx.md
! a8e51df12db1176c1ff76540da7f1c81  gcc/config/rs6000/8540.md
! d264c3ca174952450d5988b1e851d4ef  gcc/config/rs6000/aix.h
! 24552f82898daccb6596bfea1f715f14  gcc/config/rs6000/aix.opt
! e4b2d2c6d16b044d2b9c1705e72c5573  gcc/config/rs6000/aix41.h
! 19aca4bb4e34489ce3b571b82f1a9d65  gcc/config/rs6000/aix41.opt
! 12bcac9a17c1ea8c90f246057fb68667  gcc/config/rs6000/aix43.h
! 7cb3f1295eb7ff77812adf8ebe237062  gcc/config/rs6000/aix51.h
! 2b92aed7e9773088f813b87b23a1fad5  gcc/config/rs6000/aix52.h
! beb358049c8432b4cfa43664d171b455  gcc/config/rs6000/aix64.opt
! 0cef82839b18ea485103cb6348cc7da5  gcc/config/rs6000/altivec.h
! 622ee01626fd5c17e17019b8dbb412a0  gcc/config/rs6000/altivec.md
! d83988e94fcf621859a8c002519cdc7a  gcc/config/rs6000/beos.h
! 66cc80463e0eda5f3de427d778feaabf  gcc/config/rs6000/biarch64.h
! d9134e54cdc4f1c49faf34b0dc7b215f  gcc/config/rs6000/crtsavres.asm
! 0b125cb25e254f2752c93b8f40018a51  gcc/config/rs6000/darwin-asm.h
! 5192f6a6b2e688312364eb7ea01b8336  gcc/config/rs6000/darwin-fallback.c
! c4e36d442bc0ba4748a40101968ebf74  gcc/config/rs6000/darwin-fpsave.asm
  51ed3133516e6f9ea803b29b09683617  gcc/config/rs6000/darwin-ldouble-format
! 08cc508eae982c109426a1fc0bbeebcc  gcc/config/rs6000/darwin-ldouble.c
! ca3cd675fc6e5f1085fa16f441a9d9cb  gcc/config/rs6000/darwin-libgcc.10.4.ver
! 7c3e06c75c9fc9461da84952e14f1f74  gcc/config/rs6000/darwin-libgcc.10.5.ver
! bdcb0f5621a8e6625f5dc8559303ae37  gcc/config/rs6000/darwin-tramp.asm
! 8e2a89c9c3d061ed43afa39d0f0ac832  gcc/config/rs6000/darwin-unwind.h
! c06a4e21ca68c01ff1317856be071f45  gcc/config/rs6000/darwin-vecsave.asm
! e4bc18c18b9b9eb8dd72809cd5bf6050  gcc/config/rs6000/darwin-world.asm
! 2fb76cb3b5afe8c899eccb452138b369  gcc/config/rs6000/darwin.h
! 243b5089846cb0068535cea9626ab017  gcc/config/rs6000/darwin.md
! 9b2a94abd2001fdbe7d7cb90bebfb2b5  gcc/config/rs6000/darwin.opt
! d056fd425be790596f7721bad23cbd56  gcc/config/rs6000/darwin7.h
! ee3e2545d57ab7026f0150359c9a2b90  gcc/config/rs6000/darwin8.h
! 4cd5d16363849f6b2086ea42269f6b55  gcc/config/rs6000/default64.h
! d8c01fc0fac09d5157571b135573622f  gcc/config/rs6000/e500-double.h
! 766c985cbefa620da8cb140bb2176e4d  gcc/config/rs6000/eabi-ci.asm
! 8acfeb9af32fd481b55c008fb6b7de67  gcc/config/rs6000/eabi-cn.asm
! 847b740ac8cff8f42ff5a23895a212b4  gcc/config/rs6000/eabi.asm
! d1018c3a40f4e120d45ae22cd2c861b1  gcc/config/rs6000/eabi.h
! beb1c3970c3479b53714763c017181dc  gcc/config/rs6000/eabialtivec.h
! b404b4e610235dbd9da578eba361f5b8  gcc/config/rs6000/eabisim.h
! 06fa7e2f61aee29b0a111355b16516b3  gcc/config/rs6000/eabispe.h
! b1dddf7fcb8fd58c34249c2b02697a6d  gcc/config/rs6000/freebsd.h
! edea760aca6e7f410e5b0af537aff3ab  gcc/config/rs6000/gnu.h
! c26f0c1db70cd1547ad6f19dc9a3a54f  gcc/config/rs6000/host-darwin.c
! f3023e3c4216fa37aba21c82ff0844dd  gcc/config/rs6000/kaos-ppc.h
! 245dcc93fa29e29e5afebd5cd654107c  gcc/config/rs6000/libgcc-ppc-glibc.ver
  7aa6f4e782960be3e2b43998ef395330  gcc/config/rs6000/libgcc-ppc64.ver
! 602f300baf09a823a4f0862adb1c33ec  gcc/config/rs6000/linux-unwind.h
! 41eb70a73e711c7a5d64aee179201137  gcc/config/rs6000/linux.h
! 5b412a3a71f2981d6a136888e21609fb  gcc/config/rs6000/linux64.h
! c3c1d38f6314fd0597ff23ed4299edd0  gcc/config/rs6000/linux64.opt
! 630ce587a75e63a10e06729e8714c7d0  gcc/config/rs6000/linuxaltivec.h
! c862341bc85c9996a59a8fab1619ce2b  gcc/config/rs6000/linuxspe.h
! b380631bde01dacc7058b913940b39d3  gcc/config/rs6000/lynx.h
  0cc3c5f9101501b8253ce3176c3ffce4  gcc/config/rs6000/milli.exp
! 53a14fea2c12e48a8aa6f9886ef266ae  gcc/config/rs6000/mpc.md
! c799d11f877f715653df809611bd10cf  gcc/config/rs6000/netbsd.h
! 099fd8a1ebf55e5cd6868953a09bd789  gcc/config/rs6000/power4.md
! 691cd1845d11e75c556582e4c6aee42f  gcc/config/rs6000/power5.md
  14cec5dfbee9d3f12e63eb6631f6c0cc  gcc/config/rs6000/ppc-asm.h
! b5216d8a07e76783a2581c3b0e4133f4  gcc/config/rs6000/ppc64-fp.c
! cc46dfa8ec502319b186e37fba7ae004  gcc/config/rs6000/predicates.md
! 319cf2ecaa888a5140158b4f85886ce6  gcc/config/rs6000/rios1.md
! a5f98b0f0ffe3c561c8cdafea957db7c  gcc/config/rs6000/rios2.md
! 7e550a3e6cedae90b78684c00443f57d  gcc/config/rs6000/rs6000-c.c
! d803aa1c9b47d41091787ca6ee6469b7  gcc/config/rs6000/rs6000-modes.def
! 5496173902b859c91ff874627f5e1692  gcc/config/rs6000/rs6000-protos.h
! 48b147cf2070ec88ae9ff761618e2f88  gcc/config/rs6000/rs6000.c
! 60e060489de89a82fe35c864ae728751  gcc/config/rs6000/rs6000.h
! e2f21c3b166de1624933161e6fda59a6  gcc/config/rs6000/rs6000.md
! b3a4837d8ca3b48dd2788ca803c629fd  gcc/config/rs6000/rs6000.opt
! 9b843167c9085d3cbc3d0d67b2412df0  gcc/config/rs6000/rs64.md
! 7f05cda184d065e065d490744195f28f  gcc/config/rs6000/rtems.h
! 5d1420556b17dcef0cf648e1fea0e58f  gcc/config/rs6000/secureplt.h
! 81c8b3364a95a4465615ad3be1029b27  gcc/config/rs6000/sol-ci.asm
! 4fbc03a0d5735f7149ec84cbb6011b24  gcc/config/rs6000/sol-cn.asm
! b22dfff5d7b0462feecdb37ddab628d7  gcc/config/rs6000/spe.h
! 7e30a34d4f22bd3dbd07f118899a8c77  gcc/config/rs6000/spe.md
! f73d3e233785dca450091fdd629a1564  gcc/config/rs6000/sync.md
! b33fea05e8f29c46f6fdfa9b3b1ea55f  gcc/config/rs6000/sysv4.h
! ddf3ba0a6abfd5d675a5c31a04d9e649  gcc/config/rs6000/sysv4.opt
! 1a7351ed954ea9ee721f2b7b2b926093  gcc/config/rs6000/sysv4le.h
! 497c56c5608801a7ea8ffaf027fc1f66  gcc/config/rs6000/t-aix43
! d8e7a057dd3fb9a00d3e547878b2bfb8  gcc/config/rs6000/t-aix52
  1f94aa9c402b6482e06634ede3a1e1a6  gcc/config/rs6000/t-beos
! 312606268847ac4653f9496c3cebb1f6  gcc/config/rs6000/t-darwin
! 636250eb91fc5dada4804efcd525fc02  gcc/config/rs6000/t-darwin8
! be990dcf1865454ca6c26a2a79279f34  gcc/config/rs6000/t-fprules
! af1ff731a130380edb2862418e40c8c6  gcc/config/rs6000/t-linux64
  33a1cdad7a31f32a11d1224f9f49860d  gcc/config/rs6000/t-lynx
  5c45aee77bb799356d9f2ce892350021  gcc/config/rs6000/t-netbsd
  9ad2efda7a6d4d0f1c7479f2b1476ea6  gcc/config/rs6000/t-newas
! 39eff2fa8de0501f45b1f37ed2632da4  gcc/config/rs6000/t-ppccomm
  b8c287dddae5e63bdbe4aa255348541f  gcc/config/rs6000/t-ppcendian
  4b04e095dbd46aa9f97ea23e3682f902  gcc/config/rs6000/t-ppcgas
  1b8aba690a39464c4ea9c647d73d6983  gcc/config/rs6000/t-ppcos
  32455d65d4625b4d6054756aadddd40a  gcc/config/rs6000/t-rs6000
  e59bab367b5c353e9657ad4ef8a9afc9  gcc/config/rs6000/t-rtems
  f4705b3cd8498a0b439e98a74ef45a9a  gcc/config/rs6000/t-spe
! d96f5c6c7fdd01793c5d5c4a9f235123  gcc/config/rs6000/t-vxworks
! f11925c88524d2fd457bf77944da1302  gcc/config/rs6000/t-vxworksae
! 354af57040c6ad48da4125d98d6f6815  gcc/config/rs6000/tramp.asm
! 7526840b4d1dbb7c4aec3eae9c9b3a69  gcc/config/rs6000/vxworks.h
! fc4fff3c2a08867ddbfe77c6433a8371  gcc/config/rs6000/vxworksae.h
! eef82364535afdcdf192692d3305a6df  gcc/config/rs6000/windiss.h
! 1b7a0a260bf5ea25155a98f53b64649c  gcc/config/rs6000/x-darwin
  8198b044d1803522a7144e695ceb51e0  gcc/config/rs6000/x-linux64
! d0e541f6e54da2a06c75c95420cff1db  gcc/config/rs6000/xcoff.h
! 17993db95ef6a602178946f5c5d60609  gcc/config/rtems.h
! bb98cc4b691266a7b3bc4da6c8e23709  gcc/config/s390/2064.md
! 699797bf0cb22a6eb5aec409181d1576  gcc/config/s390/2084.md
! ed2afba7dd87a32d6aead75770bc0287  gcc/config/s390/fixdfdi.h
! 52e4f783fc804610a3a8543236afe408  gcc/config/s390/libgcc-glibc.ver
! b362bf9d149574aca005df0df1111496  gcc/config/s390/linux-unwind.h
! 44d01562ca9d4b1861f827bad04cc90f  gcc/config/s390/linux.h
! 35bc1bcba2e68331f1fdb21dc13671f0  gcc/config/s390/predicates.md
! 867ac29c11d0f9329e8869f60a32a84c  gcc/config/s390/s390-modes.def
! b48f6cf5c9ce6166411df45a10a50e39  gcc/config/s390/s390-protos.h
! f10cfeee9cd1a75a1629b39fcc7c727d  gcc/config/s390/s390.c
! 4fadef8f3ac5eab1d0fd8fe8c4c932e3  gcc/config/s390/s390.h
! a72e349df671bfec2b2fa9277a6b9f54  gcc/config/s390/s390.md
! ff7619fc83ba6eff3e35274d9a2fbdff  gcc/config/s390/s390.opt
! 2584fb0d31afb5ace24f3b64a21ce6e0  gcc/config/s390/s390x.h
! 14ef548e08c4fa033fbdeca7b33d2ac1  gcc/config/s390/t-crtstuff
! ce473aa18a066d3375922367108f7b41  gcc/config/s390/t-linux
! 85278ed59e0e8c07cb464bd27905f60d  gcc/config/s390/t-linux64
! 6b354f320eb1901150cccc8b3c966268  gcc/config/s390/t-tpf
! f9e52339211ae496fea3a7b503e008b0  gcc/config/s390/tpf-unwind.h
! c9650c2df5c230d95499b901beb9f422  gcc/config/s390/tpf.h
! 2bd7a228a584cf02d0103114968d5d27  gcc/config/s390/tpf.md
! bae6cf4df30ce79f83450fe74169def7  gcc/config/s390/tpf.opt
! 9ea40f05e23dd24a4fba59ff090322cb  gcc/config/sh/coff.h
! e4fb8536fdba5fa94d7964e3848462e8  gcc/config/sh/crt1.asm
! a69c9b8dbc8a7fc15ed8c56d4271b19e  gcc/config/sh/crti.asm
! c8c99dbd7b1cb14ae615101a1a2cc36e  gcc/config/sh/crtn.asm
! 53da3bede2aaf994dcaf374d031de177  gcc/config/sh/divtab.c
! 8dc3b2dc8c5db284678cc4cf4c35f5ef  gcc/config/sh/elf.h
! 61dcdbda20f1d785bc1fa41fae6b6483  gcc/config/sh/embed-elf.h
! 9f1eaeac5880e0ed3fdb406d99ce5dc7  gcc/config/sh/kaos-sh.h
! f1b1a88c26c5f928df414964ddd04bdc  gcc/config/sh/lib1funcs.asm
! 68ddef94ef228a2e500c6f84ca5c5f73  gcc/config/sh/libgcc-excl.ver
  44275c5268170e500bc78c3b859eca1e  gcc/config/sh/libgcc-glibc.ver
! a4eeaa562bf22ee1c98f0f88de9f8c28  gcc/config/sh/linux-unwind.h
! 06623fd9754281958d8d9ce9da55c02e  gcc/config/sh/linux.h
! 0a8b214e1d11f39351f1ba8fb158f1b4  gcc/config/sh/little.h
! f14586cb4b95e30c91bf77f2a1d165a3  gcc/config/sh/netbsd-elf.h
! bdabfa6853b241af885f1694824aa6d6  gcc/config/sh/newlib.h
! c249ba242d9b40a9ff8310d8cef3e666  gcc/config/sh/predicates.md
! d07b7669ff698025678d6c0a7e7159d2  gcc/config/sh/rtems.h
! d735a43ba8655d009911f80fe42d87b5  gcc/config/sh/rtemself.h
! 2c75f9bccd3f5b751b0f7fc34844d9bb  gcc/config/sh/sh-c.c
! 05e9493998b57067eccbec167c92e651  gcc/config/sh/sh-modes.def
! 01cfbdda6fd4ce4a69a181dc9c2876df  gcc/config/sh/sh-protos.h
! 4a908594f07babd0ecb913be02e8e9f7  gcc/config/sh/sh.c
! 275cb0bef144c6a2642f35cab90226dc  gcc/config/sh/sh.h
! 3b14dc082950647489819b05375ddd64  gcc/config/sh/sh.md
! 0368a44ffb0dac3c416b433547cf4795  gcc/config/sh/sh.opt
! bfb0216098e2c00fff070c8c9103740a  gcc/config/sh/sh1.md
! f0a164037c56ac252357d16feffe989e  gcc/config/sh/sh4.md
! 2364f6312d9b2eccca9f0c487157ebe2  gcc/config/sh/sh4a.md
! 557de508ccca03fd6fa35934ec51ece2  gcc/config/sh/sh64.h
! 2c41895ac72c1316f335594ec985ab35  gcc/config/sh/shmedia.h
! 1c580c01e91690f410aeb4d807a8de4f  gcc/config/sh/shmedia.md
! a9d343ddd71be8b0ee07dbca0b659824  gcc/config/sh/sshmedia.h
! 9464cb22d20b4192650eb9ec372c01e1  gcc/config/sh/superh.h
! 4456bcaaa07cafc15a6a87abb8a0558b  gcc/config/sh/superh64.h
! 8cec8fd3d4a1b54296841ce81dc5d265  gcc/config/sh/symbian-post.h
! fbf09971ac68541e91add26c97a5c568  gcc/config/sh/symbian-pre.h
! 07914ab564d5deb981eaf680db34183f  gcc/config/sh/symbian.c
  33a4c57d9b99ba2a5c3bd0cc3cdb324d  gcc/config/sh/t-1e
  443d7921d857a0161be49685cadb9e1d  gcc/config/sh/t-elf
! 1ff30bde8b58d627c5fdb6a8b70edadd  gcc/config/sh/t-linux
  1a388da3bbebaf73d6a6b4a1bb1eb4e8  gcc/config/sh/t-linux64
  8ef4e47dc8b643e6e4640ec4523892bf  gcc/config/sh/t-mlib-sh1
  97f255bc283e1aef283834553e457b72  gcc/config/sh/t-mlib-sh2
*************** f4d42f110569c8c0301e8396922cd4da  gcc/co
*** 3069,3149 ****
  b6c9342a618448645d5f89ef25b35d48  gcc/config/sh/t-netbsd
  959d48612dfaf31382c677435816d011  gcc/config/sh/t-netbsd-sh5-64
  ad88281b142c81e6c7017a842c281d5f  gcc/config/sh/t-rtems
! da5297c33d88ead5e589a1d27ba911cf  gcc/config/sh/t-sh
! f3473549c39ff7b31576f8e35cd24c7f  gcc/config/sh/t-sh64
  8a47f21c9a6295d45af8f3d24cd85cda  gcc/config/sh/t-symbian
  cd23c0e6f888b67b2f6a6851cfc7a387  gcc/config/sh/t-vxworks
! 0f02a857e66f8aa57382a2e14bf42b80  gcc/config/sh/ushmedia.h
! a6cccdfc4c9161c88d386fce5cf5d691  gcc/config/sh/vxworks.h
! 00ce2631b9015b3d779ffc70df30594f  gcc/config/sol2-c.c
! eaecd110350e07dbe068ee1ceb05828c  gcc/config/sol2-protos.h
! 09c05ff78e24184ee98eb37b24a2656b  gcc/config/sol2.c
! cd6fa39a6f08f4f8e067ae43dba75611  gcc/config/sol2.h
! 27b1b44dfd509c633704be10d0f75257  gcc/config/sol26.h
! 75992171df6bd36aee746be9b6891eb4  gcc/config/sparc/biarch64.h
! edb018064f6c389445549d24b26c47a2  gcc/config/sparc/crtfastmath.c
! b75758fcfc8a8360b975b7156ea9097e  gcc/config/sparc/cypress.md
! 7f2480a7b2fffa98bca22e0fa2f81b94  gcc/config/sparc/freebsd.h
! 533401b84b81359ae153cabc27fc7741  gcc/config/sparc/gmon-sol2.c
! 78d01c661527621620b6d2b9d3218ad4  gcc/config/sparc/hypersparc.md
  38890399560283d3053d6c66c5bfb517  gcc/config/sparc/lb1spc.asm
  288699866f7087498387137293356f0c  gcc/config/sparc/lb1spl.asm
  061a70dec63c8655361a862095ac0c1d  gcc/config/sparc/libgcc-sparc-glibc.ver
! 54bcc755ef1d43b8fa293e4ed002c367  gcc/config/sparc/linux-unwind.h
! 7277e8a2ea8865bf266489614e463699  gcc/config/sparc/linux.h
! ac5946a077f684b946f434f6475fb624  gcc/config/sparc/linux64.h
! abdd9ba41b33643bee5adddbd720ee99  gcc/config/sparc/lite.h
! 8b34105840a9c6fcc9d3e4b33b4fbcb4  gcc/config/sparc/litecoff.h
! 15aa96d1d8c64ed25070909fdfeae3bd  gcc/config/sparc/liteelf.h
! 43392940f70e486d868a1e88b48536aa  gcc/config/sparc/netbsd-elf.h
! dade715d07714c3b985b2b47b07d2fca  gcc/config/sparc/openbsd.h
! 082f3edd9cadfbc505e4f9a2c29da338  gcc/config/sparc/openbsd1-64.h
! 7f1d717a3d7e072a5d1c7498a204d72b  gcc/config/sparc/openbsd64.h
! a6116dd884312abbd08767df51ec319f  gcc/config/sparc/rtemself.h
  9e3342898b20732f95b1b4d00ae6efc5  gcc/config/sparc/sol2-64.h
! e80b8e9472ad3561799bac27348d84f8  gcc/config/sparc/sol2-bi.h
! a32d8ed7c92f597be3744c7735e673a7  gcc/config/sparc/sol2-c1.asm
! 22e8238b088938f6d11aa882d5983f37  gcc/config/sparc/sol2-ci.asm
! e53764002b6fbbc0dfa667cd847520c1  gcc/config/sparc/sol2-cn.asm
  8be586729cd965c170e47735f936cd52  gcc/config/sparc/sol2-gas-bi.h
! cfe25ef95215929b15cea4120698ad8d  gcc/config/sparc/sol2-gas.h
  5c9a6c989580e362ce23c14e97313f8b  gcc/config/sparc/sol2-gld-bi.h
  f60a6317c6a87306eb56bda7d115c703  gcc/config/sparc/sol2-gld.h
! 830920d21dd4e1e8a18bdbc760bc04f3  gcc/config/sparc/sol2.h
  ffc0b6716f91bcf3cff2caf72c99c1b5  gcc/config/sparc/sol26-sld.h
! 6601826d7e20a891da8a995373100841  gcc/config/sparc/sp-elf.h
! ec6e465cfd2a5e161b3957a0247f32cf  gcc/config/sparc/sp64-elf.h
! 65bada1f38356bfeedc1ac1c59a6963b  gcc/config/sparc/sp86x-elf.h
! 98c43b7c694ce5a2b93c292bf743990d  gcc/config/sparc/sparc-modes.def
! 93055fdbc7c64d27a80a1474a971f501  gcc/config/sparc/sparc-protos.h
! 45bd5d60782e2caf735ed329d5277b2e  gcc/config/sparc/sparc.c
! 18c6496fcf02b4f4fd1666e492d7dab1  gcc/config/sparc/sparc.h
! d66da0098af0a54358954108f4f5149d  gcc/config/sparc/sparc.md
! 9b0cb9f2cb03683a096d9494293e4295  gcc/config/sparc/sparclet.md
! 9d78eb25a37f97fb89ba5be30dfcb23f  gcc/config/sparc/supersparc.md
! 0146b8e8b2276b878a22507898d0bf81  gcc/config/sparc/sysv4-only.h
! ecff789a492d64ec9149c06056a19e43  gcc/config/sparc/sysv4.h
  ea7daa17a613a41bfe721bba0ab4e86e  gcc/config/sparc/t-crtfm
  858b81947397cb7b1eea2c16f1f87dc3  gcc/config/sparc/t-elf
  ade54ac9be7dbef6e4427f29cb3d3f93  gcc/config/sparc/t-linux64
  6f3f7caa856cae3d0684d223928518cf  gcc/config/sparc/t-netbsd64
- 8b356fc61bbcbe16836e72ecdbc79da0  gcc/config/sparc/t-openbsd
  565cd2d41f0834dacb86326e1ebe761a  gcc/config/sparc/t-sol2
  9084abbcf42f55aa8e55f199dcebd230  gcc/config/sparc/t-sol2-64
! 4718b641505610c0a7e9bb4f097b497e  gcc/config/sparc/t-sp86x
! 92f9a0b36de189f429020ecb2eee7093  gcc/config/sparc/t-sparclite
! a06e51ca5cb968bf3ee5e862fa1e4590  gcc/config/sparc/ultra1_2.md
! d97906681d15a3b78c2bca6133a365e7  gcc/config/sparc/ultra3.md
! 2430d0e0ec5fbc27769300bf9649de97  gcc/config/stormy16/stormy-abi
! cba38ed60783cf8ce3a67efb3445d8e7  gcc/config/stormy16/stormy16-lib2.c
! 6cbcc14cabd849e53c7c241cf2b70564  gcc/config/stormy16/stormy16-protos.h
! 39c41f3604eb6efe90978fa315a91b1d  gcc/config/stormy16/stormy16.c
! b2229c47196490be4624cd404c7b148b  gcc/config/stormy16/stormy16.h
! 46e0418547dc89de886fa63a674455ce  gcc/config/stormy16/stormy16.md
  83e3a843e188dd0e132955d72ff04c09  gcc/config/stormy16/t-stormy16
! 3f5c19a34f196ea59766518fb2a887ff  gcc/config/svr3.h
! f30e905169cf9e2351910b7f9667dd6a  gcc/config/svr4.h
! a0f7df1d33f4503d7d23f907d6039f4b  gcc/config/t-darwin
  c8e307e8ac576d4b0aee46452bf0c655  gcc/config/t-freebsd
  05daebbfe9f0862b4e9a6ca24bf1590a  gcc/config/t-freebsd-thread
  66b2c1d04f0e84800e44c1fcbced73de  gcc/config/t-gnu
--- 3198,3277 ----
  b6c9342a618448645d5f89ef25b35d48  gcc/config/sh/t-netbsd
  959d48612dfaf31382c677435816d011  gcc/config/sh/t-netbsd-sh5-64
  ad88281b142c81e6c7017a842c281d5f  gcc/config/sh/t-rtems
! 4da259b63cd2117132415635df702a61  gcc/config/sh/t-sh
! 5c45f7487aed788f45dfdb65bfe2a9b4  gcc/config/sh/t-sh64
! 7e9600f6b131b69c487dd467485a2c64  gcc/config/sh/t-superh
  8a47f21c9a6295d45af8f3d24cd85cda  gcc/config/sh/t-symbian
  cd23c0e6f888b67b2f6a6851cfc7a387  gcc/config/sh/t-vxworks
! e6439066dc9859c7327859420b0467c3  gcc/config/sh/ushmedia.h
! e88aa64be97f0ea927219f1d859dab6d  gcc/config/sh/vxworks.h
! 145a861a1590cb519834440374ef3233  gcc/config/sol2-c.c
! f65fabcd72ac57e287c138779aa76b3a  gcc/config/sol2-protos.h
! 91b2a72b15f72aeac7104e95c1020b90  gcc/config/sol2.c
! 1c2d1da09f856e8a8ef59d627d728f29  gcc/config/sol2.h
! 12cbf5a48f7bd9f4aaa6c34044429ccc  gcc/config/sol26.h
! 7a61ff2790c35098cdc17ed68bbc3585  gcc/config/sparc/biarch64.h
! 9f3fb5b08a136c3e9d1bdfdd4f581eeb  gcc/config/sparc/crtfastmath.c
! d674ca11239d0f256cb01f2cd45be2d0  gcc/config/sparc/cypress.md
! 65278379fefd567548f763782feabb20  gcc/config/sparc/freebsd.h
! d6f59275f3fdda163462ac1620761459  gcc/config/sparc/gmon-sol2.c
! cc8bc2005f26fcf03114a9ffe1d8a942  gcc/config/sparc/hypersparc.md
  38890399560283d3053d6c66c5bfb517  gcc/config/sparc/lb1spc.asm
  288699866f7087498387137293356f0c  gcc/config/sparc/lb1spl.asm
  061a70dec63c8655361a862095ac0c1d  gcc/config/sparc/libgcc-sparc-glibc.ver
! b933c4d9e4590e5490b13acd05e40b64  gcc/config/sparc/linux-unwind.h
! 5075ad15c6b58bb7f84b1ba4ddaf4d4d  gcc/config/sparc/linux.h
! e922cd33799714d1333d3affb238ad0a  gcc/config/sparc/linux64.h
! 13feccce04376fbca8176c0fa8b43b31  gcc/config/sparc/little-endian.opt
! 2913035bb7fe457f59534074dcec3f90  gcc/config/sparc/long-double-switch.opt
! 84f02a19ada6c91566f7c1217d081aad  gcc/config/sparc/netbsd-elf.h
! b014c107ebf283fb10dff5fa10b5b996  gcc/config/sparc/openbsd1-64.h
! b943482825654082591de2ce61a5d392  gcc/config/sparc/openbsd64.h
! e8f9404a048fa07e74c2c791f0f1295b  gcc/config/sparc/predicates.md
! 3be8d50c449b41e5a64f82a0d08e310c  gcc/config/sparc/rtemself.h
  9e3342898b20732f95b1b4d00ae6efc5  gcc/config/sparc/sol2-64.h
! 201bc1234bc92063de6fd9681bf07e09  gcc/config/sparc/sol2-bi.h
! 9c44ee639435e4b30ae89242cfeb91ee  gcc/config/sparc/sol2-c1.asm
! 4cc78ff8476685cea4c6ceb5822126f8  gcc/config/sparc/sol2-ci.asm
! 8540d6564c2b6f99f4ce27e7f7525cf1  gcc/config/sparc/sol2-cn.asm
  8be586729cd965c170e47735f936cd52  gcc/config/sparc/sol2-gas-bi.h
! 6733ce092d34dc5958b197197e0fd597  gcc/config/sparc/sol2-gas.h
  5c9a6c989580e362ce23c14e97313f8b  gcc/config/sparc/sol2-gld-bi.h
  f60a6317c6a87306eb56bda7d115c703  gcc/config/sparc/sol2-gld.h
! 76a2f935899d0601592ce3f87b1d3468  gcc/config/sparc/sol2.h
  ffc0b6716f91bcf3cff2caf72c99c1b5  gcc/config/sparc/sol26-sld.h
! 1db0722b8d9921df801af855abf9d876  gcc/config/sparc/sp-elf.h
! a822abe88f3b243fff6ddf96605a80b5  gcc/config/sparc/sp64-elf.h
! 2ebef2d56eaf75db7b147b8b50332be4  gcc/config/sparc/sparc-modes.def
! 2db5638ad7b3b82ff5025c417de96aef  gcc/config/sparc/sparc-protos.h
! cda712ef8370bb99cc2cdb1cc9ed4d07  gcc/config/sparc/sparc.c
! dc53c3a46a1ed41736ffc3ea5d3c65c0  gcc/config/sparc/sparc.h
! 2dec31845fcc25cea6aa512244256e90  gcc/config/sparc/sparc.md
! 37a6ea96a6265ee5fad094275ded4e06  gcc/config/sparc/sparc.opt
! f5d0d64e59fc904be6cfffd6ca1938e8  gcc/config/sparc/sparclet.md
! 89d6c90a4d74757181a92d7c5e8a9601  gcc/config/sparc/supersparc.md
! 70c1ca70d45a63ea5718972283e06e5f  gcc/config/sparc/sysv4-only.h
! b94e21c4cd94915d7aeb5215a8feac02  gcc/config/sparc/sysv4.h
  ea7daa17a613a41bfe721bba0ab4e86e  gcc/config/sparc/t-crtfm
  858b81947397cb7b1eea2c16f1f87dc3  gcc/config/sparc/t-elf
  ade54ac9be7dbef6e4427f29cb3d3f93  gcc/config/sparc/t-linux64
  6f3f7caa856cae3d0684d223928518cf  gcc/config/sparc/t-netbsd64
  565cd2d41f0834dacb86326e1ebe761a  gcc/config/sparc/t-sol2
  9084abbcf42f55aa8e55f199dcebd230  gcc/config/sparc/t-sol2-64
! 102ba8af85b6dd824d8e48f51ebeee89  gcc/config/sparc/ultra1_2.md
! 87e4746d7b5b40063ae24f4140a6fe8e  gcc/config/sparc/ultra3.md
! dc1617d845cbf290cba59248d2d55341  gcc/config/stormy16/predicates.md
! 4564238498f8bbf74868d473a7134e65  gcc/config/stormy16/stormy-abi
! 622fdb2ab1a3eef0f34bf28dd14d286d  gcc/config/stormy16/stormy16-lib2.c
! 5432a51c50940aaa5ea73ae001bd2064  gcc/config/stormy16/stormy16-protos.h
! d0f8b7be0792afc84ea6939b79cecb2f  gcc/config/stormy16/stormy16.c
! f5dffd9db038eee8afdf015e4f39c896  gcc/config/stormy16/stormy16.h
! 2fd054fd2ae1652850e3f05b3d795676  gcc/config/stormy16/stormy16.md
! 8e6ef1ef5f2ccb82111674745a943f1c  gcc/config/stormy16/stormy16.opt
  83e3a843e188dd0e132955d72ff04c09  gcc/config/stormy16/t-stormy16
! c66a0ea9ec4234c79ac154e469c0162a  gcc/config/svr3.h
! f7c3371890e3b14b2d0691206da7eb74  gcc/config/svr4.h
! e4fad25438fb3fd5fa0f2745d3d50d6a  gcc/config/t-darwin
  c8e307e8ac576d4b0aee46452bf0c655  gcc/config/t-freebsd
  05daebbfe9f0862b4e9a6ca24bf1590a  gcc/config/t-freebsd-thread
  66b2c1d04f0e84800e44c1fcbced73de  gcc/config/t-gnu
*************** c707625e89ff3493ea2fcbc5f2f91970  gcc/co
*** 3157,3786 ****
  24a2b54375feedb5eb220cf5e34d956c  gcc/config/t-openbsd
  6ebbcc6f5bc93a7e72157a6d9eb2b151  gcc/config/t-openbsd-thread
  41115ab7ca3dcd1adeb9a2e03da42f38  gcc/config/t-rtems
! 33eb99564a5fd1e3ba15588b171bd6cd  gcc/config/t-slibgcc-darwin
  a253d3c6b0faf1b5daf4db04d971da8d  gcc/config/t-slibgcc-elf-ver
  b5d3fe85dff400a82befa6b901b438ec  gcc/config/t-slibgcc-nolc-override
  068f4878a2c11051691b0efb71c66f9f  gcc/config/t-slibgcc-sld
  b241b04bca0de03218c83989000a571e  gcc/config/t-sol2
  2549dfa298e48e738d53d1736544bd5f  gcc/config/t-svr4
! 2d52a710de52f4c0ba1806c5a6ebfe01  gcc/config/t-vxworks
  17fd5cabcc31b720b23bad47cf7fe84c  gcc/config/tm-dwarf2.h
  d5d3d51225dddbbe5117ca70577db5b8  gcc/config/udivmod.c
  19fbb57702c83c273b688d2f2328ebab  gcc/config/udivmodsi4.c
! 0a797f59ba13712564090c7ea8a2d4ed  gcc/config/usegas.h
! b904d570a7f8c7948f2ce221335f36ee  gcc/config/v850/lib1funcs.asm
  3f0a71b3742ffa4840a16a4d0f9f6158  gcc/config/v850/t-v850
  859a4f4eabb77ce1fec496fefa01f9ef  gcc/config/v850/t-v850e
! 54b7f7c77f7ee42692a33fe30693c5fb  gcc/config/v850/v850-c.c
! 19bef7526322d587fa5170da2abb7461  gcc/config/v850/v850-protos.h
! 702595c3b845854671deb78f54bd422d  gcc/config/v850/v850.c
! 307db7ba415b0e167548835e4a2ef543  gcc/config/v850/v850.h
! 792c2b19bf53fb6a15c630e83e2084a7  gcc/config/v850/v850.md
! ff655bcfdac01dcda11710bf53d11036  gcc/config/vax/bsd.h
! 2ddd4662f9855a518186befb25a3c4bc  gcc/config/vax/elf.h
! 7854beb9fd8abeb1e5a819b479a2ed7c  gcc/config/vax/netbsd-elf.h
! fc02bcf5b5b4f0bbf38fc0db67d7dbd9  gcc/config/vax/netbsd.h
! 8ebdb700173106189a645cdc31e1eadb  gcc/config/vax/openbsd.h
! 5227e52e38a9d92ebf5c98a6c05c385a  gcc/config/vax/openbsd1.h
  2d5751f5205ecd63bc583b33dd85c55b  gcc/config/vax/t-memfuncs
! 0d191ac74cfe5bf9ce95dd373780f5a9  gcc/config/vax/ultrix.h
! 609d9fa53bbbd866343c5d2da437e5f0  gcc/config/vax/vax-modes.def
! 7465a8155fe700ef0c95f23ffc171779  gcc/config/vax/vax-protos.h
! 069fb70653c2672590d531c0f611c4fd  gcc/config/vax/vax.c
! 575f75c21b9ed539b78a7452c7997d70  gcc/config/vax/vax.h
! 5d8378490fbedf1e785aceb592895198  gcc/config/vax/vax.md
! 1bc2419e8ff3b94ad84f7fb45d3f481f  gcc/config/vax/vaxv.h
! c126c4de99d4774b096e7f0a805c46e6  gcc/config/vxlib.c
! 5b39b176ba3125c9886305c141b060d5  gcc/config/vxworks.h
! 7486b37a20d96dbaab503b1aace6574c  gcc/config/windiss.h
  095ce8a2c17ff3008c87bc4041093d43  gcc/config/x-interix
  43b7c435b27723075fd77e04ec73684e  gcc/config/x-linux
  2966f5fb6241f177c43632efdafd7a98  gcc/config/x-solaris
! c77bff7a5307e960b7bcec0e3587ec91  gcc/config/xtensa/crti.asm
! 0020ba3ba9a2612b029856b4a58c9703  gcc/config/xtensa/crtn.asm
! ee29c7c4785d04dbeed6e512a2ee5926  gcc/config/xtensa/elf.h
! 90b4b217704fb52fcc4c49fbf80b1ce4  gcc/config/xtensa/lib1funcs.asm
! 878933b92a85f6fb9d522c61c249dc08  gcc/config/xtensa/lib2funcs.S
! e955455a2d44ae397190dfd815b5eaf4  gcc/config/xtensa/linux.h
  8b7f87d40cffa52a9b218754a117ec74  gcc/config/xtensa/t-elf
  0c49731d95e228dbbfcb9d1eaf2777c3  gcc/config/xtensa/t-linux
  4ec1922febb63e1a911d26a7c7b52943  gcc/config/xtensa/t-xtensa
! d8abb15c71d96b2ce552ad5a63a1a03e  gcc/config/xtensa/xtensa-protos.h
! 1ebb8d8c5c2d1b862164e636851f47ed  gcc/config/xtensa/xtensa.c
! fb5c9b9348876139ec0c944aa96d4644  gcc/config/xtensa/xtensa.h
! 2ad7d7226bf2b6ac0f559d774de0d0cb  gcc/config/xtensa/xtensa.md
! 2b19bd6807530aeb6dcb6a2bca0be587  gcc/configure
! 52a67984fce26d4442eea59fa30c0837  gcc/configure.ac
! 40dab0d16deff6ef777accc4b417f70d  gcc/conflict.c
! a73019cb9f732469acf99981dd22a286  gcc/convert.c
! 775654dea32f570db105d537400d35f0  gcc/convert.h
! acc532660979749a8aa04a04cc15425b  gcc/coretypes.h
! 3fd046c9dc658c97d3b2ee3b75b41a9c  gcc/coverage.c
! cd078f469abce230623d23740696dc3b  gcc/coverage.h
! 20023cb1fad1d1038b7b37ad5beb2494  gcc/cp/ChangeLog
! d788e4824ae889eb5c8e067a9f94a419  gcc/cp/ChangeLog.1
! 43a2f3aeb6c981482f5a0c2575d1e5ae  gcc/cp/ChangeLog.2
! e0e61bd2c27d4d8d5c48e5dce1daf88d  gcc/cp/ChangeLog.3
! b9cb813675d1e580dd01146a550faa7c  gcc/cp/ChangeLog.egcs
! 99bcc624735a26850b8e358cd0220462  gcc/cp/ChangeLog.tree-ssa
! c66768a9fca8547f23f4d17779ddfc9c  gcc/cp/Make-lang.in
! 625bd1bc9937427e1e1f2416a3e799a1  gcc/cp/NEWS
! 1c7555fa95691ca92766dab20009a187  gcc/cp/call.c
  9f7a823f536eacdd59e2fc31ef4da831  gcc/cp/cfns.gperf
  11598cdaa5f12bb2b4dac5a4171ff165  gcc/cp/cfns.h
! c092572de09da165a3de26210a8945c1  gcc/cp/class.c
! 0b3826b6b2e003b1b12fab03e9252d29  gcc/cp/config-lang.in
! fbfc8b7f56b683d6bb14d813f0db58f2  gcc/cp/cp-gimplify.c
! 3821fd4a242d7007905b293aec77da54  gcc/cp/cp-lang.c
! f457acdf5ccb8d74b2c41fd0973fd554  gcc/cp/cp-objcp-common.c
! fa2d04264300703e8fb5725dbe93951e  gcc/cp/cp-objcp-common.h
! 3277a9adb8495c7a66eb9d02ee215bb1  gcc/cp/cp-tree.def
! 76edc63174a6cfc85d797a90f7e6575a  gcc/cp/cp-tree.h
! e7b064cfe5235694daa67ba8265c30da  gcc/cp/cvt.c
! f3620bd47fa721fd30684d4c7d2d0b56  gcc/cp/cxx-pretty-print.c
! 8754f729ebdb923453fafe6e0935258f  gcc/cp/cxx-pretty-print.h
! 23813a1438669a210f0f84999a4f1798  gcc/cp/decl.c
! 6b671474ac7c297aaac46504341dbfd5  gcc/cp/decl.h
! d97a68269b65893b613e5ed94e3be662  gcc/cp/decl2.c
! 15ea88757f3899ea182cadbb26504a54  gcc/cp/dump.c
! f37fb33cd7fe110a0a6954f326f63244  gcc/cp/error.c
! cb3f122e06aa47daf63ad3bee0a3db7f  gcc/cp/except.c
! 282a05db0d0a2d52000d122866f1a650  gcc/cp/expr.c
! 0fdfe3f00165853829d8a1f3ffadd776  gcc/cp/friend.c
! 775dde7f296f0f54fc4d82cf9b70e6bb  gcc/cp/g++spec.c
! 97b374e0683c66668bc511fa66fcc875  gcc/cp/init.c
! 3d67c90586a5d1c4f34a90efd0759619  gcc/cp/lang-specs.h
! 701c0f5769d481d0b05a10b712a95497  gcc/cp/lex.c
! 80b74ed8266a9d5bc9d7a203e15d8bdc  gcc/cp/mangle.c
! 4d10293868219499ff12dc3e293570a8  gcc/cp/method.c
! b40903b9f9ec8cef7b7c86cc1931376c  gcc/cp/name-lookup.c
! 10d6608b678e071a52c04593b20eafd8  gcc/cp/name-lookup.h
! c9cae6ab8d289fac682aaa9edc61f211  gcc/cp/operators.def
! c130d5facad4be0de4eafd1edb79abdd  gcc/cp/optimize.c
! d7af8a6f598885e7caf3b0e1f93e20ad  gcc/cp/parser.c
! e20a86dfc254a0fc08bc267692fbb8d1  gcc/cp/pt.c
! 03430127d4f4d0a6442ac9023fde2785  gcc/cp/ptree.c
! 6d909aea0fcb35b49b016230a2161c58  gcc/cp/repo.c
! 24685abfcce7260a701252540d1164ac  gcc/cp/rtti.c
! 4c24afb186284f46485546ce96a43af1  gcc/cp/search.c
! 9eff54498c7f55c41575363b4b23a451  gcc/cp/semantics.c
! 9050d2eeb2f55ec148f9eb24c15917bd  gcc/cp/tree.c
! 651e39697a0b982687b5e19584cd12c9  gcc/cp/typeck.c
! f4f44a5f6f72e5e3493166e9648b675c  gcc/cp/typeck2.c
! bcf866d982d6c3d97f5bd4561b373076  gcc/cppdefault.c
! 4bd5654bdd95f3589946e6643d93329d  gcc/cppdefault.h
! 5a3952c6e4073ddd293b452fa2568f23  gcc/cppspec.c
! fbf24a053c1186d726fd2d5f3dac2629  gcc/crtstuff.c
! 880698452f647e33c46710fb97f17546  gcc/cse.c
! e4cb0828d0b25fd07420894d1674d11f  gcc/cselib.c
! 373f18abbab3b8cbd89cc37271e3fc5d  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! 620cc3dfb5cfd449c94e7fa98c615345  gcc/dbxout.c
! d0b12b9db4e97f8025729fa256f54efa  gcc/dbxout.h
! 5c4fc26b4e7cf5a66d7ab83701d62f9f  gcc/ddg.c
! 15dae09e9194f7623a731bb4d18e644f  gcc/ddg.h
! 2687d088e09ec058d9c4b2d9fd48f40f  gcc/debug.c
! 88fc59e656cb5d13a8f7616f647e2f50  gcc/debug.h
! 345e433df0cb8968440454885d9ff4df  gcc/defaults.h
! c02a12280dfe430dcb8f3223ea0ee689  gcc/df.c
! 6f25ca77baa0e4505bd8c52f767054f9  gcc/df.h
! 78fd668ff9c9e8f7fb44e079744bd54b  gcc/diagnostic.c
  1de93ad5a7b72ea646d71c9785cee19a  gcc/diagnostic.def
! 98845a15e985d05b38caaab6662c752a  gcc/diagnostic.h
  bba4f994dc95873b01340b4dd0e723af  gcc/doc/bugreport.texi
! 9ead49f166cc96d7ba5be6aa674eca72  gcc/doc/c-tree.texi
! b2d0f8e14f999ff4fb03e216a166ef54  gcc/doc/cfg.texi
  e025c163542a9ac9aecf10594125f181  gcc/doc/collect2.texi
  817e2c2d921e25ad38a62858dc18ca37  gcc/doc/compat.texi
  ede23db52c73d2fda739a3d4cedfd465  gcc/doc/configfiles.texi
  73b7f9aa052dde14853d1817153dfd24  gcc/doc/configterms.texi
! 8f03c12105f5eb648e7947b6c441ee00  gcc/doc/contrib.texi
  ad084b0cb2efc588cf805ebadcd5a612  gcc/doc/contribute.texi
! 7f1816bee8e2791a7a07d3e049cd01e1  gcc/doc/cpp.1
! d53107f3da0e20cca1c65d0c834f617f  gcc/doc/cpp.info
! 3fa91162d26f25eaf6f5a89acd31ef53  gcc/doc/cpp.texi
  8462a717da44ca316c8c9ac975457a32  gcc/doc/cppenv.texi
! c9dbf45c93cff16e3b802baa7b9240af  gcc/doc/cppinternals.info
  852bcb46d783751296394fcdffe7e88f  gcc/doc/cppinternals.texi
! bc208658177e51356d1c676eda25c4ba  gcc/doc/cppopts.texi
! 77b0261489043b9f74559eac764133c0  gcc/doc/extend.texi
! db2ddd3f1e37c256410961b0eb41a92a  gcc/doc/fragments.texi
  b0318dd829535c6d2e012cb04c0144bb  gcc/doc/frontends.texi
! 13f5fecf41547e2c2a39503af0ab3a4d  gcc/doc/fsf-funding.7
! b6c2a9e496a0ce34b574b2ac41719b23  gcc/doc/g++.1
! b6c2a9e496a0ce34b574b2ac41719b23  gcc/doc/gcc.1
! 6c419d087343faba40b7f0369f0b11f4  gcc/doc/gcc.info
! 8754c65f56d3d1bda3fd371214441fde  gcc/doc/gcc.texi
! df748aebc6be9aa6d45b410a2e62277f  gcc/doc/gccinstall.info
! 7955b454d850403e473b993309cefb6b  gcc/doc/gccint.info
! 5163968fa7bff9b011b503fe2950f488  gcc/doc/gccint.texi
! d2d3c7646832f34a12921ff91d0b28e0  gcc/doc/gcj-dbtool.1
! 5f1ef21f5f3c7f3f090b24f67f0c232b  gcc/doc/gcj.1
! 50260f37124750e90c2dfa327018c7a3  gcc/doc/gcj.info
! 7284c1f107e7b41293bb3b3fb62c963d  gcc/doc/gcjh.1
! 12802de6a05c0b6ab8ab53dbf18148cb  gcc/doc/gcov.1
! c1f9c78ed6b3640f15cdcc91015df8c1  gcc/doc/gcov.texi
! e9093b4eba71a944c91382b573e61d45  gcc/doc/gfdl.7
! 6ceed1dc819c1d037e0bfa5397a8ee24  gcc/doc/gij.1
! 3a411c3bb2ddaa83ace12fa4f0456623  gcc/doc/gjnih.1
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! 08f334286eb3c848c6dc72126dd7edda  gcc/doc/gpl.7
! ca16a9461dac19ff74dd3499c3bc74ca  gcc/doc/grmic.1
! addd1f3f86b89c0eafcca8c42beb0511  gcc/doc/grmiregistry.1
  22760abaaf37d057cedbf138eb48e686  gcc/doc/gty.texi
  12712ad63a56e9d549562b21b42b1454  gcc/doc/headerdirs.texi
  d19ea13dc66f4da0833988888acc67bc  gcc/doc/hostconfig.texi
  6f943bd6a17d46da5b9e44e40a6a31e4  gcc/doc/implement-c.texi
! 34dd22797a1a1ec22615f0386badf115  gcc/doc/include/fdl.texi
  8787976f426cd52da24a856cd41d87be  gcc/doc/include/funding.texi
! 36f35a7bd09018b85eff5798a0d1c155  gcc/doc/include/gcc-common.texi
! 5dac6b15d38729f68fbadfcdefa2e05d  gcc/doc/include/gpl.texi
! 5b19812a4a2f49ca1335393aac53c46d  gcc/doc/include/texinfo.tex
  86355f77ae147b0b5ac0b6127c8259f8  gcc/doc/install-old.texi
! ed497a9767ca72603e16e780f6ad0ddd  gcc/doc/install.texi
  4230bc26f282d5b487b41e5546fa1de3  gcc/doc/install.texi2html
  5407c66b804884426ce94dcac22864d1  gcc/doc/interface.texi
! 32b0ec3402c1541a737ff1c111746df5  gcc/doc/invoke.texi
! 58b5118a51d131b1fb1dc31a1674e8a6  gcc/doc/jcf-dump.1
! cd4e840a8ef85c37eaf67f2c36ce6f2c  gcc/doc/jv-convert.1
! b64ab38110945de4a60d770d628c8835  gcc/doc/jv-scan.1
  a01aca1d7da7f482653b521ba6447f85  gcc/doc/languages.texi
  15e516d91479ef3e58d9d89162b6da01  gcc/doc/libgcc.texi
  6a2d7e742f035d39e2b3fd9d2241c7c8  gcc/doc/makefile.texi
! 232e90b347848dfcc5af6e166a9658d8  gcc/doc/md.texi
! fdb19507f65418fb9044d88c611e52d5  gcc/doc/objc.texi
! 86ceeef34d8cbed1153e1ee1de02b627  gcc/doc/passes.texi
  72136dc6e58c1bb1790f0f25bbaf8897  gcc/doc/portability.texi
! 5c9d6361339b9f2055cb3ed69859e8f0  gcc/doc/rtl.texi
  d57122b80f1dd7815e0cf707c38d0170  gcc/doc/service.texi
! 63967d15aa61d44bffcd5498cc5a2382  gcc/doc/sourcebuild.texi
! 669b3cb57d97907281cd145e6fdf9425  gcc/doc/standards.texi
! 919565fc54e24bf04c8bfe700d811f97  gcc/doc/tm.texi
! 30156cc8de3e2e55fa0a7e86ab71a9ed  gcc/doc/tree-ssa.texi
! 922bf2a8cb783f155f5a3c195db51f0e  gcc/doc/trouble.texi
! e1aeb54d6a2bf97bd014fd3524d10f62  gcc/dojump.c
! b628aa84359e1bacb0d9ea564dd29dfb  gcc/dominance.c
! 7687e078d4061027d140e6e39996815c  gcc/domwalk.c
! 3ab4bd5c944c173e7bdead6752397011  gcc/domwalk.h
! 3b5764b080acec25b735fe552a93eee8  gcc/dummy-conditions.c
! af8305eb51caaf35735d10af319a77d8  gcc/dwarf.h
! 56ba259983cdde1e185f4ca83febcae1  gcc/dwarf2.h
! 32c1a642952b2ecd3eff081307485e9e  gcc/dwarf2asm.c
! 62f69587335c73ac17e25afee22c2286  gcc/dwarf2asm.h
! 2bc62863426a119f0c101ce601b7feda  gcc/dwarf2out.c
! 1776c4094d77981e0cb2996c5f9df200  gcc/dwarf2out.h
! a11468235d004c57ca01476cab3358cb  gcc/emit-rtl.c
! 13c7ac97c340317eb70ef2efed00175b  gcc/emit-rtl.h
! 943085d96ef3a5008393cbec59416a48  gcc/errors.c
! 957842e26fc5a93ca0aa6bb4bb8e4a82  gcc/errors.h
! a73955d3d46ec12f7a381c85190f7d21  gcc/et-forest.c
! 23056b54748cbb46d07880c2c6764e26  gcc/et-forest.h
! df04315ce786364f9236ce737565c5dc  gcc/except.c
! d46cdf697a737f1741ccb0ae05e5a5dc  gcc/except.h
! 08abe89e0c217309f2cf53baad66406e  gcc/explow.c
! 0aaae5c06fb3ecd77cb584124478f5ba  gcc/expmed.c
! 7c60f7e5d7f1b1dae0b3798c274907f6  gcc/expr.c
! 1e92d9bf885353893bf63d8082552697  gcc/expr.h
! 29583e747c0aac2425be815ef9c95aac  gcc/final.c
! 6afb3f4b3d41e1fd240c878d52757bf4  gcc/fix-header.c
! 2a88dc3bb6779aec109127104e58611f  gcc/fixproto
! b939098d91f78c11f2de7b2b23d63a12  gcc/flags.h
! 32923d250f49131076901634ee251d73  gcc/flow.c
! a1f66b42c493c40d4ab4b6317f450efc  gcc/fold-const.c
! c8e664990466ed2b6f8b7698ac08cd6e  gcc/fortran/.cvsignore
! 68ec7241af4544ec80551cf5d2f7ec49  gcc/fortran/ChangeLog
! aa29dfc60b927cb52beada0cfb11d232  gcc/fortran/Make-lang.in
! cea55848ebf292decc7c172228afdd81  gcc/fortran/arith.c
! fa9b871724b17ac347a03591ea591361  gcc/fortran/arith.h
! 4f22ca07ba882cf844cc2a217227e046  gcc/fortran/array.c
! 29258efcb443a9839109f0fecbde660e  gcc/fortran/bbt.c
! b7507d8582119a7fda57ad7cc175424f  gcc/fortran/check.c
! fa78137047a101d436cf2c1e0ca3b6c7  gcc/fortran/config-lang.in
! 9e42203b4dcacfe5244e9c87e405b07d  gcc/fortran/convert.c
! 8062ea91b4001a97f1e72a3ab8e510e4  gcc/fortran/data.c
! 368c2edbda78dc2a5da6680e4f7379e3  gcc/fortran/decl.c
! 1a7508701ccc38df87c2508ebe0580b2  gcc/fortran/dependency.c
! 88d9b0794e6823f7fcb640ac5a7b3ff6  gcc/fortran/dependency.h
! 24a60434c1da6daecbe2755eb15c7e9b  gcc/fortran/dump-parse-tree.c
! 1b50e66a290b7773153651a8afcb5da8  gcc/fortran/error.c
! cfda39336967387d815aaf37789bed25  gcc/fortran/expr.c
! c40e6b881445956b57e10b0b4c203f6b  gcc/fortran/f95-lang.c
! fe89a3ba08ab3ff21571455ed794c529  gcc/fortran/gfortran.h
! 851c7e6b75081fa176347fbf7284ae34  gcc/fortran/gfortran.texi
! e5eacd5df0e661820c0842988768d3b8  gcc/fortran/gfortranspec.c
! f56dabcf2bcfef542b8d3760bd2606b2  gcc/fortran/interface.c
! c6467af0b19a3a6519aa42ab74df5370  gcc/fortran/intrinsic.c
! 35c03deb52fefaf2dc35b8962af5cb4c  gcc/fortran/intrinsic.h
! 3a72d36894d06903f2c7c1a5d6d62a20  gcc/fortran/intrinsic.texi
! 6d8224059c8c3ea3d55c7805852a043e  gcc/fortran/invoke.texi
! 02b73ee41a472953296715d84461842b  gcc/fortran/io.c
! a0d98e93b38183de9880cc244c496e2b  gcc/fortran/iresolve.c
! 7d3cedd45a83ca625174db2bd3e7d651  gcc/fortran/lang-specs.h
! 6712e63d92b2bd8acd949976a55cd73f  gcc/fortran/lang.opt
! c30aaec97381319a04aaaeccaf6ad272  gcc/fortran/match.c
! 91fdd269e5079143181c1cf75ecb8cd5  gcc/fortran/match.h
! 4aca80671950f609de2573a148440493  gcc/fortran/matchexp.c
! c48d568c46da86448482ec9a52bf9c78  gcc/fortran/mathbuiltins.def
! 8f2efdf90724fab135d4cc55d1b28226  gcc/fortran/misc.c
! 03fd2f5fbd817917a74323206167b564  gcc/fortran/module.c
! c2ae658f4265f3cbdb4d48b53dc50098  gcc/fortran/options.c
! b088d942ab3982ab9c3172b4e6d88fab  gcc/fortran/parse.c
! 16095073319144499c0d9f55c717716f  gcc/fortran/parse.h
! ebd4f28e3a122e16c20b1e734484e583  gcc/fortran/primary.c
! 8632c5bd7284260e601ec54b795a32f8  gcc/fortran/resolve.c
! 7a567f03350dbcfd59696f294acb0d14  gcc/fortran/scanner.c
! 0b66e0930c7cbb4751ac2e1995ea0699  gcc/fortran/simplify.c
! 253df2a926a42687760307dd38a851d8  gcc/fortran/st.c
! 3de4e65947908bc7b52b5ce57161a66c  gcc/fortran/symbol.c
! 96b3cd6eab87c458a9d32b4575caebcb  gcc/fortran/trans-array.c
! ae3ba1ed4ca35d020319606bad883275  gcc/fortran/trans-array.h
! 88fc716a0fee5770346fbd7a7298e8e6  gcc/fortran/trans-common.c
! 3ccfc7c8998a74785316c7405fc0dbe7  gcc/fortran/trans-const.c
! ef25425b654c175759d5a60a98289095  gcc/fortran/trans-const.h
! 4a1b88e8fd095ed24493ab52725da1a3  gcc/fortran/trans-decl.c
! fe26ceae3162abf199369e5ac0423355  gcc/fortran/trans-expr.c
! c26e3c23b425807ef914a608c2372a47  gcc/fortran/trans-intrinsic.c
! a6fe9dbe2bab90542f75ff20e9823bb1  gcc/fortran/trans-io.c
! 0a702b9e3477a7e458294465bed84836  gcc/fortran/trans-stmt.c
! e75f0e2e4b3dce1ce06795a5d24fdf4f  gcc/fortran/trans-stmt.h
! 2996b2132d8759bc5fc0a27f43a0e788  gcc/fortran/trans-types.c
! 2773aae08f29ad890b937aa6f50a89d8  gcc/fortran/trans-types.h
! 726a61d4f357d4a7a6314f062ed9e60b  gcc/fortran/trans.c
! d274e71d8bf0a54868e25e7225617201  gcc/fortran/trans.h
! 89cc2e2833c8dbd6c9952122fb17e762  gcc/fp-test.c
! b630c48953926624e93cb87f7290b788  gcc/function.c
! d10bffb8b2ad45855f99493f2ab0d365  gcc/function.h
! 8b236ba2888ff458e53cf4886134e68d  gcc/gbl-ctors.h
! c4fc2b2e154d9fde436b08abaff18e61  gcc/gcc.c
! 404c79cd05285f38b937215a393bac19  gcc/gcc.h
! 26833dc3327cac9878c8ce0bfe25733a  gcc/gccbug.in
! 6c8aa14d6e96a396e36ddef8e52b03a3  gcc/gccspec.c
! b767ea126f535abf4566fcdb81442469  gcc/gcov-dump.c
! 91c6bf2b1707e7b4bd5440f930aa9e0d  gcc/gcov-io.c
! f3a9b6249b362eaaa7201d0e537cc6d7  gcc/gcov-io.h
! 313ac1ad71ff80f61831c60c648e1e87  gcc/gcov-iov.c
! 8b883ade107ee2eeefa26e2e6351fc72  gcc/gcov.c
! 2c81a9ebd6ec7beb40f0c890c6dd5f0b  gcc/gcse.c
  b82d654516012b347970fec65e9ddd55  gcc/gdbinit.in
! fa288e8e2e7b261be62215a86409de74  gcc/gen-protos.c
! 656231f064bfbf6b8bab1dfec2d37e48  gcc/genattr.c
! fb1219faec895d9041386536004881ba  gcc/genattrtab.c
! 74e11c0709a7783805d7119bac140317  gcc/genattrtab.h
! 8ad22afc9bce5462e9e374cda515b04b  gcc/genautomata.c
! 545181130ef38feb023a8220a80b6f7e  gcc/gencheck.c
! 91786c14fe226c40670e37e1c0f0eb21  gcc/gencodes.c
! f34c98f3133e8f73228a5b229598bb10  gcc/genconditions.c
! 45c036d5b96aab989411f2f1f9f1b48f  gcc/genconfig.c
! 701a1251c2a1568675470574e87e2054  gcc/genconstants.c
! c71649bbf56fadb3c861d408222db554  gcc/genemit.c
! e79f6eaa256db2e436812d7b7c1991b9  gcc/genextract.c
! 780c00b108bd303a19726b89c62a96b0  gcc/genflags.c
! 399c39e1661ef298c459a3c865383f5a  gcc/gengenrtl.c
! dc6f7bf60e3dcfff2df218510ed79843  gcc/gengtype-lex.c
! 6f267adb4c1cb09af9ef00141a32f07c  gcc/gengtype-lex.l
! f1e44de237063b00d1ca8ccf5532fe66  gcc/gengtype-yacc.c
! 93678e795a8c5d5d251ec2b21e50545d  gcc/gengtype-yacc.h
! 2421077c6571d1bbc98381b8eb3c35f5  gcc/gengtype-yacc.y
! 669cb9bf9f5d6eec662700d044c84cab  gcc/gengtype.c
! 3070c61040ba65f02d34a83fb1227466  gcc/gengtype.h
! d97a5257b59e4d5ead895cf549ded49d  gcc/genmddeps.c
! fcf55d3f13854a3b1212b3948e1117e0  gcc/genmodes.c
! a97eb1dab42821d9073d0a4e7403f9b7  gcc/genmultilib
! 66c7bc6bc85b51a993450008711c1b3b  gcc/genopinit.c
! 7cbb770f3baefe575e2176cfb8f781f0  gcc/genoutput.c
! 8df1288657666b65e46c2f8e7d3905fb  gcc/genpeep.c
! 867e11771964fb71754244e574420a58  gcc/genpreds.c
! f2009b2967df93e27de26b596dbc7151  gcc/genrecog.c
! b0f55f204270d416c8c53f4f768d2ca7  gcc/gensupport.c
! 39871d65af2e4cf257fc89fc8fe4f2fe  gcc/gensupport.h
! 97d03d00a4c1c289537fbe831c09e243  gcc/ggc-common.c
! c765317a2d2a56c8883950e9d1eb092e  gcc/ggc-none.c
! 53278cde0472fa414d5fbafc6904173c  gcc/ggc-page.c
! 067a72a18e44bcb62bfff9edef6ac9d9  gcc/ggc-zone.c
! 25c6147b4ea80c847bfeecefe822a666  gcc/ggc.h
! 5e562fa4ba3c57b10d026c9d815aea5b  gcc/gimple-low.c
! b1cefbc77f41cbbd884f96c77120d5c3  gcc/gimplify.c
! 143d9eb1e7d7cc3a6c181fa57e344d0d  gcc/ginclude/float.h
! 378da2dd3f4a6d9df12f8b0a43615739  gcc/ginclude/iso646.h
! 2f4dffb1e27eac29d9981caa8ddbba08  gcc/ginclude/stdarg.h
! 213baee904954855afe6b742d0dad427  gcc/ginclude/stdbool.h
! a778b154c1a329d3aa5f2b023596bdd8  gcc/ginclude/stddef.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  dee4eda8279ccb1cfcc9335d717234e7  gcc/glimits.h
! 28466860c6f4a7651a87e531b52e77c2  gcc/global.c
! 3ccfd2aca4fc2b50e0783ca5763acaa1  gcc/gmon.c
! 282712c7215938812e7936e129a0484d  gcc/graph.c
! aeacee596ab8a1eeedd2c0d10c141393  gcc/graph.h
  24f1d20ea7f6ce8ce62a58c43a0ecf39  gcc/gstab.h
  f25fa25460fa1cdbc357f1ed15e2568e  gcc/gsyms.h
  c32a1d882e7039afe158bb9e59b65223  gcc/gsyslimits.h
! a902ff24afa88be00934822ffff33ad2  gcc/gthr-aix.h
! 9e30d33758cd0c9f9749a2a9b25d387e  gcc/gthr-dce.h
! 411f186f6e2843e82291963b0b152836  gcc/gthr-gnat.c
! d25c4c1ee06fa1a0d2ed63a5f893fc36  gcc/gthr-gnat.h
! 86d621fe9259d6f7df30d2a3116c771c  gcc/gthr-lynx.h
! ab9336de7d4a298041c88b8ed76e5013  gcc/gthr-nks.h
! c48f7f0d236136b3d0a3b90e6fbd8c5e  gcc/gthr-posix.c
! 66655eff5dbb64971a60539ba8ab0017  gcc/gthr-posix.h
! 2542264bbaecd8366a795ed6d1484d5d  gcc/gthr-posix95.h
! 6b9298ea5f8960db38c8ccffffb6ddd7  gcc/gthr-rtems.h
! 35473c80067bde47304bd77fdd017309  gcc/gthr-single.h
! 153a8598223fce65b26741656c62d5b0  gcc/gthr-solaris.h
! 520a019bee410b2157f9adf5fa917495  gcc/gthr-tpf.h
! 1f21f8d321fe6bd214a999278251f410  gcc/gthr-vxworks.h
! e8e204a3b0293b7b75fe3e9561512401  gcc/gthr-win32.h
! 62decbf5da7eceeafbfa7635b9d1bb88  gcc/gthr.h
! 67f7b8a35a1b201889b1ceeb4ead05a4  gcc/haifa-sched.c
! aac955e0c5bd08a648e6dc88a47fafdc  gcc/hard-reg-set.h
! bab7d98f577ca59b10b3b251fcbc9be3  gcc/hooks.c
! 4d745ffd8b0851abc3f04dd25210c85d  gcc/hooks.h
! 3a4b7a98629bd32b5dd9e7fec4d813cf  gcc/host-default.c
! fd6a71d6c275890536cb8de543a8ae8e  gcc/hosthooks-def.h
! af372dbe34eafc896bac4ffac38cb5a7  gcc/hosthooks.h
! 7fef79f717bc952250a72c3ce88572a4  gcc/hwint.h
! c9a282ae29c871283fe1242378a350e6  gcc/ifcvt.c
! 05c0ef6e9b71ebdb873ae31a56041227  gcc/input.h
! 38986bb8bb03d989f72b67cd283a9bc1  gcc/insn-addr.h
! e61431669b801d309020144ac56539dc  gcc/insn-notes.def
! b5c75a195e6fefb1d0a4ca158824a54b  gcc/integrate.c
! 15cd76ad545651cb4fc49c77a67f1cd4  gcc/integrate.h
! 769623ca8cc6c83ddf68f9cb656f9f1e  gcc/intl.c
! 9a87c6fb89b7b1f9526cc928019f6525  gcc/intl.h
! f893a25f395c2cd4705a9abeb91ad139  gcc/java/ChangeLog
  f75c827a1e48218f1d103dcfc4d6525b  gcc/java/ChangeLog.tree-ssa
! 6d4b7aa3a1566e7656e7d474f739c59a  gcc/java/Make-lang.in
! 60d4e84c76bc62a5dca84ac586ef1d71  gcc/java/boehm.c
! 08db6bf4ea64d94892095b2f44f12e86  gcc/java/buffer.c
! fd12809851cafbf50d9a6d4148c8f25c  gcc/java/buffer.h
! 5ccdec18c1862fcd95c9c8cb8cec8db2  gcc/java/builtins.c
  9194d7bf58de2a6826c3615620ad8a3e  gcc/java/chartables.h
! 1dd01ca1802c9b84be527f3a98760ed9  gcc/java/check-init.c
! a1d505cd3577ed96c2cc023f6d8a3c7e  gcc/java/class.c
! a19d90e7650aa50e5c7dce4df63a91c9  gcc/java/config-lang.in
! 2f6213b9bdffa762a455fa0d6ad414d4  gcc/java/constants.c
! 1bbfd10a96707946d665b89a1038d987  gcc/java/convert.h
! e11eb9710260f4b305600f774b8b229c  gcc/java/decl.c
! 9de019eda4750cdc4c9fe4bcb8aa9abb  gcc/java/except.c
! ac02754363e09ebe220c46557e7eaff8  gcc/java/expr.c
! 1662d35b72c719e322aa8ecafbf5b201  gcc/java/gcj.texi
! e22d04d56400c3783d3d799871ce70d4  gcc/java/gen-table.pl
! 2eeaeac11014dd7f580ecb43b61221f4  gcc/java/gjavah.c
! 7cdfa45203019dac95bf0d3e6d26f656  gcc/java/java-except.h
! a84744afba2b2623d3f0af604fd3c5b4  gcc/java/java-gimplify.c
  f55df0408fb0e26a03341f220e79bcaf  gcc/java/java-opcodes.h
  0570657b31d89b10aeef8003bc274e6a  gcc/java/java-tree.def
! 6e8d3bf736c3a17ddfd414a62f12f3ba  gcc/java/java-tree.h
! 12dcb3b79f561c62beaa98f176fa55f1  gcc/java/javaop.def
! 1b476d87b6145a64cd9c390dc18f0e40  gcc/java/javaop.h
! 082e35bec4b881f7f7f059f694b2400f  gcc/java/jcf-depend.c
! 9c1ece4652b50668b9063d944fb4486f  gcc/java/jcf-dump.c
! 8e662e275f3d0fb21f188c4333afd1c7  gcc/java/jcf-io.c
! 6753e1abfd08037ff8c91ff3bd042ef1  gcc/java/jcf-parse.c
! bcbfa7a7a757a36c18ab91c6123500f3  gcc/java/jcf-path.c
! bd43379870aba4a83983b67e069e8a6a  gcc/java/jcf-reader.c
! 5d2982c97c0ace29a5b1acc09d039d06  gcc/java/jcf-write.c
! be8794b5b1d6dabfb96c92b4af616695  gcc/java/jcf.h
! 336636f286b080f06e629e5fa27b9ef4  gcc/java/jv-scan.c
! eae785e718850a569d326fecead7b92a  gcc/java/jvgenmain.c
! 08617ad20cfc989e6fc240502f420a0a  gcc/java/jvspec.c
! 01918aa9081c8f23a3700560e1c7dae4  gcc/java/keyword.gperf
! bb60189a6a5a720b184f61e9c3146c92  gcc/java/keyword.h
! 31170aa74a503291fc1f3c5c73ee84a6  gcc/java/lang-specs.h
! 65c8e9abfc197f80b8c7c57de7a837bb  gcc/java/lang.c
! 2cd5b0402f5039f93c194861123c3468  gcc/java/lang.opt
! 2ca5de31151add46a026c52a865f6d8a  gcc/java/lex.c
! f866dac98996068f7c2ec9327604e3fd  gcc/java/lex.h
! 667e31da3f84bbec005e9c4393a17ec3  gcc/java/mangle.c
! 5368f5e92c82d0f4a187ae6d359b5ce6  gcc/java/mangle_name.c
! 5dd828b346a3cae1023e7fd5f5a94c53  gcc/java/parse-scan.c
! b244b3466c9a18872ad2be831c030319  gcc/java/parse-scan.y
! 54711bb1eacd6dc76185743f408f4e42  gcc/java/parse.c
! 806964116c0ecff1e9789753eb1c5f24  gcc/java/parse.h
! 8e0c0f60c16f187668bfaa38da921035  gcc/java/parse.y
! 6c57146bd316ba872d28cf8abb49aab6  gcc/java/resource.c
! c7e16c70252eafe8f98bbe669ce0ea2e  gcc/java/typeck.c
! c42e33e343ad177fb32099ca9fb07ee5  gcc/java/verify-glue.c
! a7536fccb62a018e5b99a6204a672fa5  gcc/java/verify-impl.c
! a7b1d19587918824c319a36ca28b85d0  gcc/java/verify.c
! 1a6953ad8558ffdc356a98c2223b26db  gcc/java/verify.h
! 0f0800848eae39cd2aec832284756201  gcc/java/win32-host.c
! 3de3634d4233b003d1b2511e7e6f7589  gcc/java/xref.c
! e1f2852c6fed572a68ece25a6505c332  gcc/java/xref.h
! 4f66ebe28119824f0d7f5663bd5d62ca  gcc/java/zextract.c
! 6dd9595636fb64d33ad593a915f8102c  gcc/java/zipfile.h
! b0ebb278701137a8019efc7e84800d5a  gcc/jump.c
! 1ff9f92982a3a3f0646f023407c80230  gcc/lambda-code.c
! 5f88929d996c02fd4fee4f000404e6f3  gcc/lambda-mat.c
! 7425f591225a6b02581f0f7efea9c93e  gcc/lambda-trans.c
! 836c76587ba76514f484ada4bf94cd63  gcc/lambda.h
! bbaf8e7b72b7db78e96f9e59fa46463f  gcc/langhooks-def.h
! 6c093087ec6d66dd5f8e0b4e036fe88c  gcc/langhooks.c
! 1f15a913e20925dc94387358713dd55a  gcc/langhooks.h
! cee037bd143f9020e92c223a9fa528de  gcc/lcm.c
! 2d40d3441853e439f7c9bbaf32d0fd10  gcc/libada-mk.in
! 8d1e66848e42bdb0233d68b1ce57e21f  gcc/libfuncs.h
! e9efd8a30b36aa57577d3f039381ab1e  gcc/libgcc-std.ver
! f34b001fb96411c40c4f2a4eba4173d1  gcc/libgcc2.c
! e290e90fc09f87eb95aec0d5d1611571  gcc/libgcc2.h
! 299fa23ae4f5fef215e3c04c7c4d44b6  gcc/libgcov.c
  d4f7140fcd55bba037803fb314146a6c  gcc/limitx.h
  83de5c6450456e215a5484083afcd32a  gcc/limity.h
! e87ed464ed1cb9d2816a5d9ebfb3516c  gcc/lists.c
! ed6df999afffcbad0d99ba4a6ca988e4  gcc/local-alloc.c
! c65dc66091fe143bf065795a0aaff198  gcc/longlong.h
! 497c42c851f1390d3bfddaba877c5149  gcc/loop-doloop.c
! 1af846af3f1f49ea2592677b91d88886  gcc/loop-init.c
! 5a593d4070f25937add12a17ac1b38de  gcc/loop-invariant.c
! ef8b3f20ab4d4751c59c8403c0352968  gcc/loop-iv.c
! 319012b38a640a2e8a991625e38af55f  gcc/loop-unroll.c
! 8d7aff17dcc4429ec28e264a8b6cce10  gcc/loop-unswitch.c
! 6889dd23b19f0a7b2b1bebb73f928bcd  gcc/loop.c
! 0d9f87424259bc4114f4edf55b89c861  gcc/machmode.def
! 1fa8c1f9661c9c9bbdbe65997066ef49  gcc/machmode.h
! 292b8ef5b5b9aeb19a4a6d534db3ad9a  gcc/main.c
! 729457b2420eb2a64bc7ac6f39183f19  gcc/mips-tdump.c
! 3e22e541aa74bfeef6678c9fc3a8a650  gcc/mips-tfile.c
! ebbcc540de127be8a3f11b9df28900ca  gcc/mkconfig.sh
! 62fec9aa88e6507014bd6244685407cb  gcc/mklibgcc.in
! eda7d9ac78d58cf1f25c1a1caff11079  gcc/mkmap-flat.awk
! eee9b2d9b5df71374ad02f69c4bd1dc7  gcc/mkmap-symver.awk
! a1fa8244a5e0c628001f9393b8d02c54  gcc/mode-classes.def
! 6d55fcbb93ead52b905e54961030fdab  gcc/modulo-sched.c
! 044f15403ad7ed8f41497fe7936c7beb  gcc/objc/ChangeLog
! ce5ca3a40b29140c4144f8d63efd2c92  gcc/objc/Make-lang.in
  aa5319dd541cdb0eb8622f9adf66b761  gcc/objc/README
! 76e314b4bf498fc031f6cfaf507f7d0e  gcc/objc/config-lang.in
! 4a7ddff8a5685155d892fe9191757a5b  gcc/objc/lang-specs.h
! 52b936e059beb99a3eca7d3a564201fb  gcc/objc/objc-act.c
! 65574fc2425689c411efe5c07c8927cd  gcc/objc/objc-act.h
! 2ed2c0cc30457c6db054244f31974e0d  gcc/objc/objc-lang.c
! 50fac701a40b0d7e66cb538267637ece  gcc/objc/objc-parse.c
! d44398caa2bdb6f5daf3de59f5afd2fb  gcc/objc/objc-parse.y
! 90051c1a9f58ad42df973bb7f38144e0  gcc/objc/objc-tree.def
! 65f8cf29292094016903a7718a526806  gcc/opt-functions.awk
! 11b7e72734c2c3afe0aaf68beb904554  gcc/opt-gather.awk
! b916019ee34f15b1c400ff4c817f5016  gcc/optabs.c
! a9c09ba215410295e41f9797b863d48c  gcc/optabs.h
! 598ecdb4aa999cd36c2a8bfe78e33e3e  gcc/optc-gen.awk
! b7881c3afcda9d0696d6df2ddb72203e  gcc/opth-gen.awk
! 9cbf5627213e6399f72b6cd26c54346e  gcc/opts.c
! ac91f347c93f09c7c12af480511854eb  gcc/opts.h
! c13588bc0a640c3bb11fc9457ef05ee7  gcc/output.h
! 77d05e95eb76e0736cef3fc602214693  gcc/params.c
! 4347ca9e0d5e64dab2e5aa5ed0703062  gcc/params.def
! 3e0ea4f6b454b215312cecb40fbd70bc  gcc/params.h
! 3a29b4a8c939938251c05c3901112e37  gcc/passes.c
! 15d067ae0004b82fbed5fa979127491f  gcc/po/ChangeLog
  954b21fb36cc0d8e9f6e2d6507152f23  gcc/po/EXCLUDES
! 891a9bd6a04f9d4196d1a985bc0fc9c4  gcc/po/be.gmo
! 1059150b1fbc98a1682e7718fa524523  gcc/po/be.po
! 80bdd2be3f24ea6a566ae62093a84f38  gcc/po/ca.gmo
! f6b72be10ea82672122de7f4e2198d30  gcc/po/ca.po
! 007635fd616d3186a8ec50a5cb04db51  gcc/po/da.gmo
! cea405107ad0db4a3721b0768c79c76f  gcc/po/da.po
! 4a98a424fff8485456c7428a63b4b8c0  gcc/po/de.gmo
! aaaba382fc96619ef2d59117990aeeab  gcc/po/de.po
! d7d97d58cd1fc734cdc00f72e4b98dd0  gcc/po/el.gmo
! 2c75a5c8ac361e5e81358a35715b02f2  gcc/po/el.po
! 1449b52756dae9c78f734fdb57b60b22  gcc/po/es.gmo
! 52d1a740f5dc720b1b93ee74cbed6c2d  gcc/po/es.po
! aaf3ca72ee9ccc7634b23010ced1ab1f  gcc/po/exgettext
! c4e9e2dd54e711ce44143fb8029cb7e8  gcc/po/fr.gmo
! d881a4062b651ef2a0c7a7aefc104326  gcc/po/fr.po
! 34c92039fe9a38165423d10c3471ea53  gcc/po/gcc.pot
! 0aa53df06415b1ecff24b159ab500628  gcc/po/ja.gmo
! 78622ac8386a5063c58da92d30312dd5  gcc/po/ja.po
! c144d5c5427f98ca4a9e22c56dea1a39  gcc/po/nl.gmo
! 04d6891f3a8ba97a974c48e30ed8bbee  gcc/po/nl.po
! 092629a7f6bc4b788c832e8a08863612  gcc/po/rw.gmo
! 14ce29ad9e7577ffc6cd187b23877f0b  gcc/po/rw.po
! e6e2e46ede43005b71e1d6ece52e1d42  gcc/po/sv.gmo
! 34bdca69c782f1d5fe64467c44793c14  gcc/po/sv.po
! 59ff60e4e0cd4c0fb7611b493fb213f2  gcc/po/tr.gmo
! e0e976d66830692d872e4b642f1573bb  gcc/po/tr.po
! 894514692d2a6d406fe4e4c3a3bb5086  gcc/po/zh_CN.gmo
! 37733828682d1e5d98853635564c041c  gcc/po/zh_CN.po
! 6710b393cb7d9b97ccc19947a219a3ec  gcc/pointer-set.c
! 680ca03cb20fd835028ce2a7895c1929  gcc/pointer-set.h
! 90f46ac06beedf5071fa4ea388d3b36e  gcc/postreload-gcse.c
! 1a4fd558c7d0445d5df4ae73311cd191  gcc/postreload.c
! 1cc4c19739b7e768117efec774f13649  gcc/predict.c
! 39e61532e4203748ed8afeb6c8735c1e  gcc/predict.def
! 6af2c790505b7dc186cbd01d107047e5  gcc/predict.h
! 44fe8bbeb67bcbc08830671bdec9530f  gcc/prefix.c
! 3df3fa596b628ba5ff43e0cbbf2538e4  gcc/prefix.h
! 967192e180c55ddeb7412f934a71c36c  gcc/pretty-print.c
! 09d9971cc227e189e81d1ee5a89bdd73  gcc/pretty-print.h
! 9d521ca40958bd39332b61c08f21f5f2  gcc/print-rtl.c
! 0b602affc0ac6233cf6212c8e39a5f61  gcc/print-tree.c
! abdd955ca37b4aef201c89389ba8886c  gcc/profile.c
! 78ba7bdb6662cef66bb5babdf039990b  gcc/protoize.c
! a698c3a9a33c00f5438611e7855df170  gcc/read-rtl.c
! 3581665565d3e3df0f290eb87d3684bf  gcc/real.c
! 5b84d8df614702b50134efd0f8c0852b  gcc/real.h
! 0827b28b67f63ac37b40800196d92ec2  gcc/recog.c
! 95e4395515cfaf1b4465e6e496f6c7fc  gcc/recog.h
! a5dd7b8cb76d4b35e97a2f6f21f7ce5e  gcc/reg-notes.def
! 74a89b7ad056ea017b3960eda86d51cc  gcc/reg-stack.c
! 85c854a419e26cf3ef548777b04bf637  gcc/regclass.c
! dc8856ab209d07a7663f9f24c4a73b94  gcc/regmove.c
! 3d4269a18e9bb87489cbe4d32fbc02e1  gcc/regrename.c
! 8a3c1b14254a78234ace4f280dbe31fb  gcc/regs.h
! b2c56dbfb1209939165fcc41c521f782  gcc/reload.c
! 8057865c210e21265f48c780d7828e9e  gcc/reload.h
! 1c7f7670c4bbeca9d179c44a71368230  gcc/reload1.c
! 0bdf9402f0eeda8f8e267eea2d94e511  gcc/reorg.c
! f4ef0cb534d4319a8c11654d746a8c1d  gcc/resource.c
! 78a9e20da6abc6b49da37ba93216a01d  gcc/resource.h
! 1d190a8c9deb0acddced76c8f3c6794e  gcc/rtl-error.c
! d38859923f9d8a4878d19061edf310a4  gcc/rtl-profile.c
! e44b146eddacf224dd279c53b2f036a3  gcc/rtl.c
! 0ca251f85dc27c9d63169aa6298f8e4f  gcc/rtl.def
! b2cec2da639040571bde87e29c8a805f  gcc/rtl.h
! fb9f528bec67cace77ec53f684a84bf6  gcc/rtlanal.c
! 2ee45132e5f9fdfc26b6064dc6b378db  gcc/rtlhooks-def.h
! 84da1804dc5bba8dc8fd3de9bc973223  gcc/rtlhooks.c
! 5f4888a9e3b99558a6bee65006b7ae1f  gcc/sbitmap.c
! 549e09b807f25c97633b68a803777db4  gcc/sbitmap.h
! bea43a9763ffc23f1c76ae636a4c1499  gcc/scan-decls.c
  c42e740dbb03072238bc5c6f5d21f933  gcc/scan-types.sh
! 2935e4147258c3a32d42032fe2260205  gcc/scan.c
! 8303da860923890892eb43ed24fccc70  gcc/scan.h
! cb533c906dd7c24ee523111dc698094b  gcc/sched-deps.c
! 8b998dc59b54c6c0842ccc5c36036e4c  gcc/sched-ebb.c
! c1b3a9d17ba306fc7a34470daecf8de9  gcc/sched-int.h
! 1507f9947804419e3da169bf33ee48dd  gcc/sched-rgn.c
! 48eb7e3bb948915dfaf9e14e8fd01150  gcc/sched-vis.c
! f8d0b2a6d934e439fd8fcd58ca7ca4b8  gcc/sdbout.c
! 3e8309c186840a3b20db0f0245f8a172  gcc/sdbout.h
! 1fc9257e8266c7644f23fff41bafa636  gcc/simplify-rtx.c
  8e865a71c4e2c43eae4afbcf143af4a6  gcc/sort-protos
! bfb6ce471a540b27cd6ed4faf8a81bc3  gcc/sreal.c
! ae128709f9021ffb7cc827cf20d60022  gcc/sreal.h
! ea76e38ab702ecf1e7f71d7b140471a2  gcc/stab.def
! 12c7131959262c9c01116ef852f6aeb7  gcc/statistics.h
! b41b81c970b677f05c3ba6ecf4377322  gcc/stmt.c
! 027b1ebc0a86ea35186f9b246f2b472d  gcc/stor-layout.c
! 1ea7cc76e71885073016a3a7c90a8bca  gcc/stringpool.c
! 0449c9ce626afa0b18c0fdf1dde340b2  gcc/stub-objc.c
  4218f3bf53b8358d1ec10de7823b848f  gcc/sys-protos.h
  31e2d9be63e3d9aff0d5dc9ef42e0223  gcc/sys-types.h
! 443179bd40615ba9daad0041d862b5fa  gcc/system.h
! 0cb9bc194a98f083bdf1bbe9b52e7a2b  gcc/target-def.h
! 4e27de0b4f05b94d065dbd6e9c315c56  gcc/target.h
! c8fd3f583e96a558a045ca03a2464085  gcc/targhooks.c
! ffbcedb11c5237101da7a354447c04c6  gcc/targhooks.h
! dc58d6abd350d367bfb7cd865cb03709  gcc/testsuite/ChangeLog
  84188c97269b593eb46274047b401b48  gcc/testsuite/ChangeLog.tree-ssa
  c2eb2f892b7b914e0a687ca43783d1f3  gcc/testsuite/README
  728a7ee145c744b1a6d095227d991e8d  gcc/testsuite/README.QMTEST
  82ca46e8cf02a305ac1890c499aae94e  gcc/testsuite/README.compat
  5e6579080cca78e664effde8f586e1b4  gcc/testsuite/README.gcc
  4004844198395fe50ecb798ed5d30f4b  gcc/testsuite/ada/acats/elabd.lst
! a1ddc716dcb42567b9930947653b6807  gcc/testsuite/ada/acats/norun.lst
  d5748b449a081324237ae22a21f32a3f  gcc/testsuite/ada/acats/overflow.lst
! b89e17be4a44075d5547c401db5bee3c  gcc/testsuite/ada/acats/run_acats
! 8767a8d9fd14016ee90da689188a10b7  gcc/testsuite/ada/acats/run_all.sh
  d45e1c07702f81b7fa521c99282fd51b  gcc/testsuite/ada/acats/support/acats25.lst
  2f262cdb98b38922d7b7f84414f43b84  gcc/testsuite/ada/acats/support/checkfil.ada
  4edf20410814582eae331707f2ae2c77  gcc/testsuite/ada/acats/support/enumchek.ada
--- 3285,3950 ----
  24a2b54375feedb5eb220cf5e34d956c  gcc/config/t-openbsd
  6ebbcc6f5bc93a7e72157a6d9eb2b151  gcc/config/t-openbsd-thread
  41115ab7ca3dcd1adeb9a2e03da42f38  gcc/config/t-rtems
! 16db88e51cc5b73f24e8f269a6a613e2  gcc/config/t-slibgcc-darwin
  a253d3c6b0faf1b5daf4db04d971da8d  gcc/config/t-slibgcc-elf-ver
  b5d3fe85dff400a82befa6b901b438ec  gcc/config/t-slibgcc-nolc-override
  068f4878a2c11051691b0efb71c66f9f  gcc/config/t-slibgcc-sld
  b241b04bca0de03218c83989000a571e  gcc/config/t-sol2
  2549dfa298e48e738d53d1736544bd5f  gcc/config/t-svr4
! 08bc1b54146a384851744d193305db0e  gcc/config/t-vxworks
  17fd5cabcc31b720b23bad47cf7fe84c  gcc/config/tm-dwarf2.h
  d5d3d51225dddbbe5117ca70577db5b8  gcc/config/udivmod.c
  19fbb57702c83c273b688d2f2328ebab  gcc/config/udivmodsi4.c
! cb062cb32864ab11a31bfad3620f7212  gcc/config/usegas.h
! 84b3d967c493f355044296ef98dd8432  gcc/config/v850/lib1funcs.asm
! fd55bc40caee507e22d066ea9d915c95  gcc/config/v850/predicates.md
  3f0a71b3742ffa4840a16a4d0f9f6158  gcc/config/v850/t-v850
  859a4f4eabb77ce1fec496fefa01f9ef  gcc/config/v850/t-v850e
! 56ea31c0c2977d6d61fcc7a822dd5766  gcc/config/v850/v850-c.c
! 2af40ede6ef1360e358a0978ce37af7b  gcc/config/v850/v850-protos.h
! 5fd5d8ff042af5942932d9cf869bcd81  gcc/config/v850/v850.c
! e4d0afdfef91ae479c2d5c5e677e62d6  gcc/config/v850/v850.h
! e583e4c1b2bcd23fce125748efdfdc6b  gcc/config/v850/v850.md
! 623a5493740c337104b271764a0f28d3  gcc/config/v850/v850.opt
! b69bad87948d998fdd76929b8cb2a87d  gcc/config/vax/bsd.h
! f1d413d8d44308ac3f0dc93c6813e3bc  gcc/config/vax/elf.h
! 35ccbf332b7cf6b8940dad07f2ad5394  gcc/config/vax/netbsd-elf.h
! 94b5dff27402301777253b3f524f34de  gcc/config/vax/netbsd.h
! 835d87c8c63ef2e227c8a5b0e5c9a7c3  gcc/config/vax/openbsd.h
! f96e636c589e92b6ae5102f3ce92e2b9  gcc/config/vax/openbsd1.h
  2d5751f5205ecd63bc583b33dd85c55b  gcc/config/vax/t-memfuncs
! 0677b9ee639bcc4ebc28c641c94a4cda  gcc/config/vax/ultrix.h
! 4178ba314827d58e125f55508d69ebd1  gcc/config/vax/vax-modes.def
! 9d5c3dd3e0acaf3caa86d6d65f09e7e6  gcc/config/vax/vax-protos.h
! 9c6da5f5c4e1d6210e21a6877ca0a5c7  gcc/config/vax/vax.c
! e0fbcaca43b6d1c883c714df0e944a63  gcc/config/vax/vax.h
! 764ed780b7ef90cb5622b8ad00623484  gcc/config/vax/vax.md
! 936aa74c3ae5a55810b360d79b3fbc4a  gcc/config/vax/vax.opt
! 0d4d6440244e193fd14d791a54d35ddd  gcc/config/vax/vaxv.h
! c868add75e545184e2ada8e6ff12f701  gcc/config/vx-common.h
! ea87563be274c3a2263bfc080ee4e15f  gcc/config/vxlib.c
! 0e16826eb5ccb202c67bdd26c1788406  gcc/config/vxworks.h
! 4238b258360740e372682ac513a912a9  gcc/config/vxworks.opt
! 7542f16db68694657c83019d7c115885  gcc/config/vxworksae.h
! e69ce19f81fafafb9a9e3c687536a850  gcc/config/windiss.h
! e61493e66adee98ce2ec02cc283528f9  gcc/config/x-darwin
! 2a31a36fe47acba6959a4c3fbc2df487  gcc/config/x-hpux
  095ce8a2c17ff3008c87bc4041093d43  gcc/config/x-interix
  43b7c435b27723075fd77e04ec73684e  gcc/config/x-linux
  2966f5fb6241f177c43632efdafd7a98  gcc/config/x-solaris
! 989bc115c38b7814e2200cb6eb7a890e  gcc/config/xtensa/crti.asm
! a9c9fbaa7727f1eefe76249a9ea6f65d  gcc/config/xtensa/crtn.asm
! ee6b6d67c31661ac5a93dfe03258cd9e  gcc/config/xtensa/elf.h
! dd3939b62e5918ea8a52d73e8b60ff39  gcc/config/xtensa/lib1funcs.asm
! add50d3b5d97b3c8f152fc3286ec76c7  gcc/config/xtensa/lib2funcs.S
! 37ab208fcfc2b66e97da001fae881a5a  gcc/config/xtensa/linux.h
! f5b925739c7b6e2cf74068829b70ba6b  gcc/config/xtensa/predicates.md
  8b7f87d40cffa52a9b218754a117ec74  gcc/config/xtensa/t-elf
  0c49731d95e228dbbfcb9d1eaf2777c3  gcc/config/xtensa/t-linux
  4ec1922febb63e1a911d26a7c7b52943  gcc/config/xtensa/t-xtensa
! dceaaf27b1205bb0bc53dce248983053  gcc/config/xtensa/xtensa-protos.h
! a9b69a3c8d6cdd3ffa0613bc978c9699  gcc/config/xtensa/xtensa.c
! 4ad663e7af28275b143d9a9d98d18f31  gcc/config/xtensa/xtensa.h
! dc489267d9c1260388c9f57b8d79e1d7  gcc/config/xtensa/xtensa.md
! cd6170fa99a78136b565a7d8a5eda9e9  gcc/config/xtensa/xtensa.opt
! 4cf5e2cb347eaed87ef1260bfd4df101  gcc/configure
! abf1f212a0805cf92fd4f93186290772  gcc/configure.ac
! 7ffe7a10702376a71b32e78f5b032c1b  gcc/conflict.c
! 209703da9bc3e6651904e56268613ec9  gcc/convert.c
! 4c23b041c8c870b79f8a71923442193e  gcc/convert.h
! 6a8ab36028cef10b58d9ccd848efede3  gcc/coretypes.h
! 747bd523e2a0621b68796eff0e3882a3  gcc/coverage.c
! 4c54d06a26968a863425f13a6a05c144  gcc/coverage.h
! 8f3206e6e7e0f9a061012a960b98ada9  gcc/cp/ChangeLog
! bd4aeac90a5befe0218090fe3d3d6542  gcc/cp/ChangeLog-1993
! 08674355375d2734400e90d47d048ccc  gcc/cp/ChangeLog-1994
! ba73c2557bcf66206e3cb4f90a4f81a1  gcc/cp/ChangeLog-1995
! d926fb456724a5110fe81d3934bf52fd  gcc/cp/ChangeLog-1996
! 3a6fa65b86b4e8c9abbf5a292887abe1  gcc/cp/ChangeLog-1997
! d6a77e9869929d5c7bdb16e3a1b192d5  gcc/cp/ChangeLog-1998
! 6fbaec51cfdee743327bec41e75d51a8  gcc/cp/ChangeLog-1999
! 2bb2a3cb61a1eedab5e1c08570d0a207  gcc/cp/ChangeLog-2000
! b0ec9df247144119b9b387740321e833  gcc/cp/ChangeLog-2001
! 24934828762c6511d3f403d5fdebb010  gcc/cp/ChangeLog-2002
! e59a3c6e62e42c2b90189c2523fbf084  gcc/cp/ChangeLog-2003
! cd053832db241cc208a442bf688c6bae  gcc/cp/ChangeLog-2004
! df30dd47773ff2170eb33bdbb02a384e  gcc/cp/ChangeLog.tree-ssa
! 609671482903efe124dfc446aaf225a9  gcc/cp/Make-lang.in
! 722817c6da9fa9d73d9f114ae094ed4f  gcc/cp/NEWS
! 89022476825542645f5b348b130bee15  gcc/cp/call.c
  9f7a823f536eacdd59e2fc31ef4da831  gcc/cp/cfns.gperf
  11598cdaa5f12bb2b4dac5a4171ff165  gcc/cp/cfns.h
! 0b7494d1429639e944d3bdd2bc870f87  gcc/cp/class.c
! f20a698b35db94b06994143cd07f8ce5  gcc/cp/config-lang.in
! e9828eed3572300197aa8a0f4acbc4ff  gcc/cp/cp-gimplify.c
! 149db1a6f8196bc1d7262f2476e91190  gcc/cp/cp-lang.c
! c6aa08946048ae69188cffee4e8e4f6e  gcc/cp/cp-objcp-common.c
! 2d8982b4685d69ef1bf926162fdf5aa5  gcc/cp/cp-objcp-common.h
! 09dda4caf1f6faae0c4427737a027e33  gcc/cp/cp-tree.def
! 8ce20164e2ed3a2b8b545a1fdc76e10e  gcc/cp/cp-tree.h
! 5c046ce8ed33825171214b64f6a46f24  gcc/cp/cvt.c
! 193885541ddfa3352cc940f0d8e1d4a6  gcc/cp/cxx-pretty-print.c
! 7c38a5a446573c443c85199fa78d7814  gcc/cp/cxx-pretty-print.h
! fdd6a97629fe21341ca1f88a2d281d64  gcc/cp/decl.c
! 8492f342ebc0b8a809b2b56fa1d9a3a0  gcc/cp/decl.h
! be601be70e0d9873f5202c20cb8f9489  gcc/cp/decl2.c
! cbfb0591410cba96e49bf23b61ab16f7  gcc/cp/dump.c
! 476ae14e6aca7172b875d48b925a1cf3  gcc/cp/error.c
! a067ba3e1074559be3e6cb93577894d1  gcc/cp/except.c
! 88ff19ac7a9bb572dec66c7453287bc6  gcc/cp/expr.c
! 864f815e18a53be7d53e17ea03b5fee7  gcc/cp/friend.c
! 9a6e59dbfbeb73e94f47c28d4c52b016  gcc/cp/g++spec.c
! f4f4c91433e6432ee11c169e033087a7  gcc/cp/init.c
! 8f3332259a4ac0f3a58c896c10ad9c0e  gcc/cp/lang-specs.h
! 507f3be3d0f708146b3bc0805f3f2498  gcc/cp/lex.c
! 7b2748466212aef425a0403f59d10f24  gcc/cp/mangle.c
! d82aa3302a7653260476ef8abf94cdc0  gcc/cp/method.c
! bb02536293f5464e3ac0e93dc9680a86  gcc/cp/name-lookup.c
! e9ed4d5cf3f868fed8d3ef5a22d0e625  gcc/cp/name-lookup.h
! abfe30c0602ed56b7eb6a03f773d77f9  gcc/cp/operators.def
! 7c746e0ae9f5593556884dbcf4a37377  gcc/cp/optimize.c
! 3274dd36eb5356a6f59f1ca44a9a9b9c  gcc/cp/parser.c
! f11d9185ddd3c34e1e7808f5f619fb26  gcc/cp/pt.c
! 98d51d5b9fd10dcb0f9347765dcbc5cf  gcc/cp/ptree.c
! b8ee2f83c2efd35a9d076c22214bc505  gcc/cp/repo.c
! b83ca82c3c1b5bd820eef764bc689dee  gcc/cp/rtti.c
! a747f8607f96d468ba436fa38f9c5192  gcc/cp/search.c
! c6adb9fa62b1464799153b2a91accda2  gcc/cp/semantics.c
! cd24a1f74b7c1803cced1c2e513b23e9  gcc/cp/tree.c
! 07989623d6fc98a01c5c62a31b0331d8  gcc/cp/typeck.c
! 92e1c804f7bd13e474612aaa7ceb9409  gcc/cp/typeck2.c
! b6737f5dccdb0c2c392ba898f9cf9bff  gcc/cppdefault.c
! 42509a69ba6ebdec30d28bd36f96b8b3  gcc/cppdefault.h
! 9415eed15d7770af1a2e25e4d6624867  gcc/cppspec.c
! d8c4b979144ef4d296d302cd8b338fb5  gcc/crtstuff.c
! 255d0f27d5aa099e41bab38dbd0288d0  gcc/cse.c
! 2dcd3e2871923b0c65a4cedfc3b9e6ab  gcc/cselib.c
! 9f10490c51480a4c90cc699c9fe2d0cb  gcc/cselib.h
  1ded054093de910d9786c62bc4fe8cc6  gcc/cstamp-h.in
! cee70658a0fc3716c35036eac03b8f59  gcc/dbxout.c
! 4f716573134be0bae31cc222fa50bc69  gcc/dbxout.h
! 3f0bb7e6cd360538969e0f5fcf2c62ba  gcc/ddg.c
! 2b24c16f4e5cd5591fa50086464f01b4  gcc/ddg.h
! 9b9a89b442de3729b6a5130fb2bf0167  gcc/debug.c
! 5e1b538b0fde1b9604a9577900489cf3  gcc/debug.h
! 8d75a417bdbd731c10ca659c1e68dd89  gcc/defaults.h
! 0c85ac82260d316294c18bc01906e759  gcc/df.c
! dfe414e3045ed7873297cd57991293a6  gcc/df.h
! b20397bc12a1a2f9caec3ba0c4324414  gcc/diagnostic.c
  1de93ad5a7b72ea646d71c9785cee19a  gcc/diagnostic.def
! 1fb41666eb5cd7f41a7ab6271003723a  gcc/diagnostic.h
  bba4f994dc95873b01340b4dd0e723af  gcc/doc/bugreport.texi
! 3355d3b8cdf305991c7be891f9213906  gcc/doc/c-tree.texi
! 8a2d0b0ea68d33aa871648c81d9594e4  gcc/doc/cfg.texi
  e025c163542a9ac9aecf10594125f181  gcc/doc/collect2.texi
  817e2c2d921e25ad38a62858dc18ca37  gcc/doc/compat.texi
  ede23db52c73d2fda739a3d4cedfd465  gcc/doc/configfiles.texi
  73b7f9aa052dde14853d1817153dfd24  gcc/doc/configterms.texi
! 183e05e38d9de62606c20618d31edb3c  gcc/doc/contrib.texi
  ad084b0cb2efc588cf805ebadcd5a612  gcc/doc/contribute.texi
! ccd7ab9e28193c9ae03db25ff1bd2067  gcc/doc/cpp.1
! a8c40961994ed4fe36fba4be2ab81788  gcc/doc/cpp.info
! 166deed7053e9f049d1771d17706c952  gcc/doc/cpp.texi
  8462a717da44ca316c8c9ac975457a32  gcc/doc/cppenv.texi
! 4537ed05ec0d6f577c8e9a0bd021ff10  gcc/doc/cppinternals.info
  852bcb46d783751296394fcdffe7e88f  gcc/doc/cppinternals.texi
! 4cf58123ca0c8216bc74a3968c76bc2c  gcc/doc/cppopts.texi
! fccd238b2f98110269889bb3dbaa392c  gcc/doc/extend.texi
! 217f881d5138ae57b1df76f41cf3f22b  gcc/doc/fragments.texi
  b0318dd829535c6d2e012cb04c0144bb  gcc/doc/frontends.texi
! 2cfc9c92bb3a7fbcff68d7c650f6f83c  gcc/doc/fsf-funding.7
! 3550c69e26cbc8b938152631efcaeb98  gcc/doc/g++.1
! 3550c69e26cbc8b938152631efcaeb98  gcc/doc/gcc.1
! 43b508eabcb8590b5e65d20131c08ce8  gcc/doc/gcc.info
! fb91d8e71ab5a27ab5aa37b80af00419  gcc/doc/gcc.texi
! c9101c8d2fb681fcb31ed9a7932852f3  gcc/doc/gccinstall.info
! 2ffc116effa469eedf991d54783bc150  gcc/doc/gccint.info
! c289542e7f88b04f58db5831913ae343  gcc/doc/gccint.texi
! ce8a127286841ace8b3cc7646a201f5e  gcc/doc/gcj-dbtool.1
! d21ebba38f986d456ad924a28ca090b9  gcc/doc/gcj.1
! ab86f78e4f18f245f5e45762512eb990  gcc/doc/gcj.info
! 9918a5d43888c5649ff28fd0688bc11a  gcc/doc/gcjh.1
! 8bc5a756577fba22ffe6aca09e39289b  gcc/doc/gcov.1
! a749de58391e0eb44c4713e22ec83889  gcc/doc/gcov.texi
! 2a13b313ba0ff751455da3cacda2a49b  gcc/doc/gfdl.7
! d7b4c6e4ca4ef6e968c5ac6159bdbb66  gcc/doc/gij.1
! 433625342234bea529c70323a8e48aec  gcc/doc/gjnih.1
  290370669f02bef1502ada9273e5261f  gcc/doc/gnu.texi
! 22669499d85322cf523add9ab258ae88  gcc/doc/gpl.7
! 20f4e35bfe1768deffb43a1cb67eb3ea  gcc/doc/grmic.1
! 0b424c452160b2a26c10379b527e6466  gcc/doc/grmiregistry.1
  22760abaaf37d057cedbf138eb48e686  gcc/doc/gty.texi
  12712ad63a56e9d549562b21b42b1454  gcc/doc/headerdirs.texi
  d19ea13dc66f4da0833988888acc67bc  gcc/doc/hostconfig.texi
  6f943bd6a17d46da5b9e44e40a6a31e4  gcc/doc/implement-c.texi
! 4146c8c17ad92be44215bd8cbcf35088  gcc/doc/include/fdl.texi
  8787976f426cd52da24a856cd41d87be  gcc/doc/include/funding.texi
! 58064b31b227655258cabb99e81c717f  gcc/doc/include/gcc-common.texi
! 8cb10e73d0897c2a273e38300ac222c0  gcc/doc/include/gpl.texi
! 9b944bdd1febe1cdf64a5f66d31bd3c9  gcc/doc/include/texinfo.tex
  86355f77ae147b0b5ac0b6127c8259f8  gcc/doc/install-old.texi
! b820755b2e5d2619018b81d728eae256  gcc/doc/install.texi
  4230bc26f282d5b487b41e5546fa1de3  gcc/doc/install.texi2html
  5407c66b804884426ce94dcac22864d1  gcc/doc/interface.texi
! 5d1efba21c7af13cca4362c7aac31ab9  gcc/doc/invoke.texi
! 80d32ec71ef2ff8c6924d5a39f1065ee  gcc/doc/jcf-dump.1
! 2a6c14ee0b00e97b37e5e40a7fef45bc  gcc/doc/jv-convert.1
! a8216923b65846b90010c0476c823c33  gcc/doc/jv-scan.1
  a01aca1d7da7f482653b521ba6447f85  gcc/doc/languages.texi
  15e516d91479ef3e58d9d89162b6da01  gcc/doc/libgcc.texi
  6a2d7e742f035d39e2b3fd9d2241c7c8  gcc/doc/makefile.texi
! 87c0e3d3e69295bc6cc2c000f513f545  gcc/doc/md.texi
! f342902cd8d43cdfb20fc24fc840f7bd  gcc/doc/objc.texi
! d54e06f6d216d539db1336a2dcefd8f6  gcc/doc/options.texi
! 02dabfe2d75d724bc8d517ae59a99bf8  gcc/doc/passes.texi
  72136dc6e58c1bb1790f0f25bbaf8897  gcc/doc/portability.texi
! 9fd909d496def24a47fc3988d36d3ea1  gcc/doc/rtl.texi
  d57122b80f1dd7815e0cf707c38d0170  gcc/doc/service.texi
! 193e76164e86b7c6b2c4c81f2b971f2f  gcc/doc/sourcebuild.texi
! 949f1efa2b476769ed23b13059c8b699  gcc/doc/standards.texi
! 3e8215fb0adf25b6e25d020430880e98  gcc/doc/tm.texi
! d7c8818f7ff82e0866e166d88ca5db83  gcc/doc/tree-ssa.texi
! 0436252d52c0ee2481d0c8855f6b6505  gcc/doc/trouble.texi
! 13dd34d6d0f1dd12c4af1707e77eb395  gcc/dojump.c
! 0a9bf39adf9f33a9ceb79e4a993b05e6  gcc/dominance.c
! ff0ac81d0e0575ecfc2989267ce2f164  gcc/domwalk.c
! 39214ee95bfecfe804eb28a9651582e5  gcc/domwalk.h
! 556561f4b5e3facfa0f5a423145e803e  gcc/dummy-checksum.c
! 1b99129c4907b5e55696fac9594b5190  gcc/dummy-conditions.c
! 6f26e90d300b89cec1d14d3416b7d6af  gcc/dwarf.h
! 8196e32c245e8b373445b43dbd3e1c35  gcc/dwarf2.h
! 35f5fbbd3b19b55bbb78d45383680414  gcc/dwarf2asm.c
! f922cfb6d798f4fd02415c206b67b029  gcc/dwarf2asm.h
! b57fcbf723d9b940a5e68709ad91a23c  gcc/dwarf2out.c
! 1ee66a01b689ad256620d7005387ff6a  gcc/dwarf2out.h
! a69134c2991799ad5dbb6b56988b986f  gcc/emit-rtl.c
! a13c86d09ab2ec31b83277a5cee4b53a  gcc/emit-rtl.h
! 572b91b29b778f2c2fdbc8836523a361  gcc/errors.c
! 31d4d8ec7dba5fe59cc9d4f9d904b206  gcc/errors.h
! 633317a378fd23fdeaacca980db9f958  gcc/et-forest.c
! 4548814880b1ab18ba89708bd5e8c5af  gcc/et-forest.h
! 781482317006291bf813effb5fad3db7  gcc/except.c
! 6c902417960e5bc1ebe400ba6ddf1d3d  gcc/except.h
! eb59d679f2c23a26e97f0513c5e54292  gcc/explow.c
! 86b58a7944f47860f600d2469a95bc66  gcc/expmed.c
! 60f32fc2f359591e952f3b06fd3595b4  gcc/expr.c
! 9509452b888d174565e74ed45cbe0564  gcc/expr.h
! 7fc794049cdbff87e0dbf49da6ae8542  gcc/final.c
! 35008df1f1776023d2117d63d19a862f  gcc/fix-header.c
! fe6acf088f053b82bb0e95ec1b09b0d1  gcc/fixproto
! 6bf6c8db4f70151752d6d819d19c1c98  gcc/flags.h
! 88186485fc909f5135f41c3e21abd633  gcc/flow.c
! 8e60c13c4440b6720228d41cfa090e02  gcc/fold-const.c
! 42cb2f1248c4e24790c030a6523f4f0c  gcc/fortran/ChangeLog
! 462757899cd0bc8f67ed9b26378bfc44  gcc/fortran/Make-lang.in
! 7f2b74c414504b1e3a6c1de951ed8ec7  gcc/fortran/arith.c
! 9e0116d4141389d2fa524e75d6239d7e  gcc/fortran/arith.h
! e494ef4d45706af2a1045ecdbddf2816  gcc/fortran/array.c
! 7454743522be4299c5d5343dd61430fb  gcc/fortran/bbt.c
! f007da9af93a664cac79e74de0425e55  gcc/fortran/check.c
! c9cbc04ae79ab97d022638195f16fa69  gcc/fortran/config-lang.in
! 551a6ddea40d502fefd2ab587d9d80e8  gcc/fortran/convert.c
! 460d1f899f96838e4a03cc4d17d61e7f  gcc/fortran/data.c
! 5700a9bdec2d686ce25876c7e9e90d8a  gcc/fortran/decl.c
! 8777a56836ca5d4cd613caff68a15090  gcc/fortran/dependency.c
! ac7be54828c1ae99cc34d963ec555133  gcc/fortran/dependency.h
! 5e2c9d1558419ed276fb6c7443431842  gcc/fortran/dump-parse-tree.c
! e351c309ba4f5be48e40f9ca94e5d856  gcc/fortran/error.c
! f1faed8a79f547f6bc95acad351ff97f  gcc/fortran/expr.c
! c615263c6b1155827f4fe8e4bdd99a7b  gcc/fortran/f95-lang.c
! cc37c4a30e1264739aacbe0d85fe4a51  gcc/fortran/gfortran.h
! 40a38102e93d5ca95acf873645e2b8f5  gcc/fortran/gfortran.texi
! 63c3781249b883303424c7c5f89b651f  gcc/fortran/gfortranspec.c
! 373b8f5da387aedb5ae44371a7d68c30  gcc/fortran/interface.c
! d459b658461f2201d25ecc6961157c4b  gcc/fortran/intrinsic.c
! 9c5b7064963e1e4f82368a54a4e28a2b  gcc/fortran/intrinsic.h
! 25e1bf03e7d324e2acc6637f8c684120  gcc/fortran/intrinsic.texi
! f662acee02dfb91de63a11bd21a6ab53  gcc/fortran/invoke.texi
! 4b733491ba6911de7ac780b6872bce9c  gcc/fortran/io.c
! 4b428ec0d4ee4d6c46777e206df9fe3e  gcc/fortran/ioparm.def
! cfa3fc82481a035b5e2587c75a2666ba  gcc/fortran/iresolve.c
! 98c568d821a416c519bde4725afeeb0a  gcc/fortran/lang-specs.h
! 0ee4f6ab17f0fd421c8db83e849908d7  gcc/fortran/lang.opt
! f2ff61ad23299680b7b141404c275cb7  gcc/fortran/match.c
! d855f3aae442d1d511c64dcf4f7f51c7  gcc/fortran/match.h
! 059099fa80abddaa66e6f651bab5113e  gcc/fortran/matchexp.c
! abf36be0fd8758e4ff1fec7bd45eceff  gcc/fortran/mathbuiltins.def
! 49c8ac4d7f30626580e537b631575726  gcc/fortran/misc.c
! dad3776b535050505813065fe88c0be2  gcc/fortran/module.c
! dbca0b72cce3846b39b98757dd6fdaf8  gcc/fortran/options.c
! 6ca7dd552d9a5c07f6ebda9f9589e3fa  gcc/fortran/parse.c
! a3b2713bbe980c5c3800cfc515f75031  gcc/fortran/parse.h
! 52ec7b0fb1ca68738118486a136b00cf  gcc/fortran/primary.c
! 63ea355fa1d697b9969b230657d2eada  gcc/fortran/resolve.c
! cadf015a677f2b81105c858d613e1921  gcc/fortran/scanner.c
! 4562bec5216c5ece3453755ee694d0b9  gcc/fortran/simplify.c
! 13c5c18a7c41465247869fb55bb6ce61  gcc/fortran/st.c
! 5db9b5d4827dbca034bc571b45d99e6f  gcc/fortran/symbol.c
! 613a245920e90586b05a28be8b7e0a00  gcc/fortran/trans-array.c
! c3a68f5f8c30f26e4655ce387ae5cbb4  gcc/fortran/trans-array.h
! aa2c965fc162bc5ea7029f592d4940bd  gcc/fortran/trans-common.c
! 0174e38046e6201e94206c059cac2b27  gcc/fortran/trans-const.c
! d29d8d9d9924b3fa5cf1c7af9b5bd4e2  gcc/fortran/trans-const.h
! 19bd0b79f71dcedbf1d1c34c97075177  gcc/fortran/trans-decl.c
! f6a4d73b42edbd53307cf0fb630aa6e2  gcc/fortran/trans-expr.c
! 12b65bffde224715c66dc0e5b3d72c59  gcc/fortran/trans-intrinsic.c
! 6ebe766541519199c720f526e4602ebd  gcc/fortran/trans-io.c
! f636787d4b2d01323974ac069a175ebf  gcc/fortran/trans-stmt.c
! 705fba20f7669678cc7da71b70fb307f  gcc/fortran/trans-stmt.h
! 747cca94c71a175f3613452bd6c0f20a  gcc/fortran/trans-types.c
! 23b2d5a27096c1e6e117973ede9153d9  gcc/fortran/trans-types.h
! 6f11f319699b46301de9bd0ac6188f55  gcc/fortran/trans.c
! 1b7707b8326a4cfe2919f5a10210645b  gcc/fortran/trans.h
! 83fb2c4cb9eec6768a05a5b582c29da5  gcc/fp-test.c
! 4155fb059c638685498d46084d69434d  gcc/function.c
! a5a46a801780408f00b9e45de3e8bc62  gcc/function.h
! b6f2acd7ffdda0ba478be12b946fc129  gcc/gbl-ctors.h
! 6082b68caee05096d3bf77f55d5f54cb  gcc/gcc.c
! efa90296fcdfec6349ba72c5b24fb3e1  gcc/gcc.h
! 608a36e3b6233f04174cf09fec0a0b5a  gcc/gccbug.in
! d3251dab2b3a4742f7d5e28be7c9a08b  gcc/gccspec.c
! b90470767da81facb1ad539a7df88834  gcc/gcov-dump.c
! 20c6b615bbcf6db75dbd2a3bc96af77c  gcc/gcov-io.c
! d07d1959045a6dc5efc6c1d1f4e6b638  gcc/gcov-io.h
! f0d061453c298451372e471965b2beec  gcc/gcov-iov.c
! a6ab3dfe172b8f69f4689fa99c84b78f  gcc/gcov.c
! eed0d99d038a77b758cffda1cf2df5e4  gcc/gcse.c
  b82d654516012b347970fec65e9ddd55  gcc/gdbinit.in
! 21dc7afeb8c9c96f32a231c89eb817f7  gcc/gen-protos.c
! e26cf2898110dd5354a1ab0bf5880062  gcc/genattr.c
! 1a3400a6b4c8a8cc13947083255d5ab3  gcc/genattrtab.c
! 9b65d0eed3e0e16f8f372b7335507de8  gcc/genattrtab.h
! 67509be049c45d6c10d737c81b169b56  gcc/genautomata.c
! 38ea4affe8c79f9ed47468de3aaac970  gcc/gencheck.c
! b9a3df270d2e153cd4467b88feafb01d  gcc/genchecksum.c
! 0e4c044cf035c821ce415c50caea546b  gcc/gencodes.c
! de8478b6caa78951832e6bdbe1ec9efc  gcc/genconditions.c
! 5fd82404f5fcd90f9387ccf0b70b1249  gcc/genconfig.c
! ab9125f3018ff009edbfb50926219198  gcc/genconstants.c
! 6e7abac008c1ca624d934dcfed75c5d0  gcc/genemit.c
! 0e7f061ac123c65ee15e387bbad346d7  gcc/genextract.c
! 8a4fc2904717a437c1926ae99ecda13a  gcc/genflags.c
! becd33ab73e1d437a327ab014ff54dd1  gcc/gengenrtl.c
! 481e42275ee5a46ab0726e4ea41f3c98  gcc/gengtype-lex.c
! e0ef61f524a5527697587afb71958ee6  gcc/gengtype-lex.l
! aaba6ff1a63b19e91cd8cf484016d6f7  gcc/gengtype-yacc.c
! 01431807b2c5f8d9e646d9b29d80871b  gcc/gengtype-yacc.h
! ec435c1220ed0fc69b7a78c761c15b3f  gcc/gengtype-yacc.y
! 380b595a739045e1e5583e3f7c63680a  gcc/gengtype.c
! 4295443b10fddf15a7d16bbe9a48271a  gcc/gengtype.h
! 2915f852c3b2a298c37fcb82054d6224  gcc/genmddeps.c
! a2450b7149df34b850bd75c440dd4eff  gcc/genmodes.c
! af7396837f459e0310b703c26f4152e2  gcc/genmultilib
! 1f493a438e13ae6168794a4c6cc890f9  gcc/genopinit.c
! 66cc367c74879638adf1e5fdfab9486b  gcc/genoutput.c
! ee8be811f412fc5d893b97b73bd903fc  gcc/genpeep.c
! 35fd10ee515ab072bc78179449f81e1c  gcc/genpreds.c
! 8af2e790db4e24ddd147e05cb60409d5  gcc/genrecog.c
! 0290490cb0ee1865d6d13ff4cdb187f1  gcc/gensupport.c
! 5aae2dc343da8dd858c1a98bf149669c  gcc/gensupport.h
! 023b48d78538e57263f01eb578507d3c  gcc/ggc-common.c
! b310a7d0426575ac50153371c8485637  gcc/ggc-none.c
! 7211a985c6e4b2e91dd646bc1d4be3d0  gcc/ggc-page.c
! 4471aea76fc279ddea46e3c53da0a38d  gcc/ggc-zone.c
! 2a6a103c56da01507a9306364299076d  gcc/ggc.h
! 01d712384329ee177d5dad653cf8e345  gcc/gimple-low.c
! 096ba2d9752d97ff273082c4a8625c82  gcc/gimplify.c
! 5b1e4cb1a46c2d4445485b6e3e6b8bdb  gcc/ginclude/float.h
! 3b200c2e6083737714963cb90fadd2fc  gcc/ginclude/iso646.h
! 10c9f28806d14aba38914b97ca1ba7d1  gcc/ginclude/stdarg.h
! a2bf35a2569297706165fc97e6b8a6b7  gcc/ginclude/stdbool.h
! d3997415756a38f21512282ded1ade20  gcc/ginclude/stddef.h
  8d9ecf0d6ef93c79623ce1d27a32a2cb  gcc/ginclude/varargs.h
  dee4eda8279ccb1cfcc9335d717234e7  gcc/glimits.h
! d02551da195cdc6333279295ee9c084d  gcc/global.c
! 2d692178ae20d388d6fbdfbd4c31747b  gcc/graph.c
! 6884f42535e2a6ce21fd54513000884a  gcc/graph.h
  24f1d20ea7f6ce8ce62a58c43a0ecf39  gcc/gstab.h
  f25fa25460fa1cdbc357f1ed15e2568e  gcc/gsyms.h
  c32a1d882e7039afe158bb9e59b65223  gcc/gsyslimits.h
! 73bd8fe7b5c23525c932e5c328ec805d  gcc/gthr-aix.h
! 75ecaa2c731f24265da667a6727fd669  gcc/gthr-dce.h
! 39837e3aad80d4964618527abe12f9fc  gcc/gthr-gnat.c
! c654e04b6bdcf236e205fcbf6f8d27b6  gcc/gthr-gnat.h
! fe5e7e3da20668b5b8fff38ef8263eb1  gcc/gthr-lynx.h
! c028fedda4fa881e5d920c0f332ae2d8  gcc/gthr-nks.h
! 65a5c9a1d83e1d380081dcf1cd9b37b8  gcc/gthr-posix.c
! f66b93fdbd7585413dd77fc8a145542f  gcc/gthr-posix.h
! 84961cfb083ed1d3b1ebbc9658fdb374  gcc/gthr-posix95.h
! 33bc3cc19fdcebfa6a7997a4f209256d  gcc/gthr-rtems.h
! d0499781d3563c83b04af785301a97fb  gcc/gthr-single.h
! 38a3ec9ce2069965338b728200a5826a  gcc/gthr-solaris.h
! 4532a6d49b643c6ed1f81063396f2c2e  gcc/gthr-tpf.h
! 25e651b0e18cb23019281de2d51caabe  gcc/gthr-vxworks.h
! 4be9626605caa6836dce9ee10885b178  gcc/gthr-win32.h
! 9b5f3aeec4863cf9e9c3a96f3c1d440d  gcc/gthr.h
! ab7326b7e66de1720eaeadeec809e975  gcc/haifa-sched.c
! 6b6a65c5533d47033e32026789bd36ca  gcc/hard-reg-set.h
! 0a9aeddc518c70f72b581683ec4a267b  gcc/hooks.c
! 6a118750f6fdf0ca4d8ac54e015322ed  gcc/hooks.h
! 373f14d53edddce1cd24c872416347c9  gcc/host-default.c
! 51f36f80d55a1ce735def922c40d4a51  gcc/hosthooks-def.h
! d994629ece17bfb990ced407f328889c  gcc/hosthooks.h
! b006d6f3b12aee15b5728fa15cb0014e  gcc/hwint.h
! b79acdaea7668c4d3441588ad13edcc9  gcc/ifcvt.c
! 17fde403d167bd555b0e70cab2200c1a  gcc/input.h
! ebeea6727490fd4b6d568a8a4d09b16b  gcc/insn-addr.h
! 403c02fc0beabd3f5548c94453ffc724  gcc/insn-notes.def
! 95a05a99abb6e8ba4abd25b7e08964b0  gcc/integrate.c
! 4ee59cf73da994656d189a58574c8f6b  gcc/integrate.h
! debb62ab7a00a99173cf2647c21f27f0  gcc/intl.c
! 8e04855dbf0d1a5ee654aa57cea8c29e  gcc/intl.h
! 061b1a8c8abd2e9e209b0101bdb5d073  gcc/ipa-cp.c
! 02d5ed0fabbba758126dd8e6b99244c4  gcc/ipa-inline.c
! 9b68645cc0076fcd8cc9ea0b5f1de82c  gcc/ipa-prop.c
! 5a74844f5cb89266216c21d46afdd57e  gcc/ipa-prop.h
! 8ee3fecc309eb004849c6a989a85ed38  gcc/ipa-pure-const.c
! 63846e2ac85c9a7387b822c8868b9fe7  gcc/ipa-reference.c
! 231792ff76ec22ce6ebd548e58bfa6a8  gcc/ipa-reference.h
! 46e47fe76346c9c601671e753cd9eae2  gcc/ipa-type-escape.c
! 916e07e3e7419ef71202516c8e442285  gcc/ipa-type-escape.h
! 211d231a5927ec5a391b79e167d5d2cb  gcc/ipa-utils.c
! 6964a06bfe83893767c682b9ee4eaee4  gcc/ipa-utils.h
! 91a973248e8b83723734fb1499ad0c75  gcc/ipa.c
! 208441816cef63ef57b64800615ae8d7  gcc/java/ChangeLog
  f75c827a1e48218f1d103dcfc4d6525b  gcc/java/ChangeLog.tree-ssa
! e8bac34848ed79257ed6cf59b1057dee  gcc/java/Make-lang.in
! ca6cdd1d01d0d5d7b173784555e1bec0  gcc/java/boehm.c
! 901374fa100e8d3796ae589674818cf1  gcc/java/buffer.c
! 73f996982ab7fa065653d46eba18f151  gcc/java/buffer.h
! 90315808be431824086ba6fb78cd1207  gcc/java/builtins.c
  9194d7bf58de2a6826c3615620ad8a3e  gcc/java/chartables.h
! 695c6042adba9de9924a826a0f75f30a  gcc/java/check-init.c
! 83fbf4dd33a7513e8a1a7c707620fe77  gcc/java/class.c
! c99a18b482388e795fb7d063239e8b8c  gcc/java/config-lang.in
! 4c5fc2fab627123254bf9f37d4ea4b2a  gcc/java/constants.c
! 9674367bbfc22bb6ad2ac42ea209c099  gcc/java/convert.h
! c8e2cc0cbf38b4728ab1128aa708cbea  gcc/java/decl.c
! 7acd0118d0d94194ae1002db7c727cd3  gcc/java/except.c
! 9ddfdc8104ed0541bbca51c2bd9fe0c2  gcc/java/expr.c
! 40a128bcb67f72d80e2af2c9e43967d2  gcc/java/gcj.texi
! 7823ab32394038cf6e26c048f2385f1b  gcc/java/gen-table.pl
! a7c1e7ec5ffcf1a911ada17b5652046d  gcc/java/gjavah.c
! e9eae9a293aac28ec404e9a8e5d0ea5c  gcc/java/java-except.h
! c8dca8e9e423b0110ee7f1c73388e726  gcc/java/java-gimplify.c
  f55df0408fb0e26a03341f220e79bcaf  gcc/java/java-opcodes.h
  0570657b31d89b10aeef8003bc274e6a  gcc/java/java-tree.def
! 4ffb05e3a6da42152466b66178d7eb5b  gcc/java/java-tree.h
! 9ad1b6f3e9e591796d3ec6992fe38ac8  gcc/java/javaop.def
! 53675ab57f3f80b26b6bf507754f5582  gcc/java/javaop.h
! 7e566a670cbbf5210a3beb78d74eb00a  gcc/java/jcf-depend.c
! 5ce68732678697d87e55cd8b0f25f73f  gcc/java/jcf-dump.c
! 762f0eeec88e1047f03c0db4e2624fba  gcc/java/jcf-io.c
! 39a4cf0cb1179eb9b63db0fbf8f72692  gcc/java/jcf-parse.c
! 95eb1b711012475c57c40252cc0a95a4  gcc/java/jcf-path.c
! 61ee63560c8d112d0c5adebdd6c9d295  gcc/java/jcf-reader.c
! 03b3caee46262444412c86ad4ec96e9d  gcc/java/jcf-write.c
! 42b8085bb1dfce0d35d9cb66d5227cf9  gcc/java/jcf.h
! e95948f8cab89ed7c5530a9222357d3f  gcc/java/jv-scan.c
! f4150e30fecb3da9efe9f6474cc0fd8a  gcc/java/jvgenmain.c
! 35cde523dba44e61daec9194487ca10c  gcc/java/jvspec.c
! d4e41b7a8ec48002dfa2df29773431b7  gcc/java/keyword.gperf
! 4d223f599cab6313d307ba476b75e48e  gcc/java/keyword.h
! 710853c924871df371cbf5211bf71687  gcc/java/lang-specs.h
! d38ae6e93e92ea264d91a94144ff6b17  gcc/java/lang.c
! 28539f94496d7788abaa46724d77883e  gcc/java/lang.opt
! 1ea204df2c509db8079bdb6d1f2fb987  gcc/java/lex.c
! 9e70c6b63dcb47a2c8177f414792d75d  gcc/java/lex.h
! 4f5f49b525b3d3919bd3bbefa145083d  gcc/java/mangle.c
! 3feb1f2ff8bdf1485b9cc2f357509c7b  gcc/java/mangle_name.c
! 122ca8be64f138561ba410fd62edbea3  gcc/java/parse-scan.c
! 830b1a2362ff732e7c8c47edfe3aff1d  gcc/java/parse-scan.y
! daeb29f89239062ae22f971f12ccc5d0  gcc/java/parse.c
! ecd3438781eae61efc8718105ff10733  gcc/java/parse.h
! c26c8fb893ecdb309089f74f975a20f3  gcc/java/parse.y
! 90b062196d0b4983db56042685e0c05b  gcc/java/resource.c
! c3a4625547f5e23e8971d7339b28b48d  gcc/java/typeck.c
! e051f768f1a38cca58abf9e0c0cbde93  gcc/java/verify-glue.c
! 61fcf30814a169cc869115af159c0f16  gcc/java/verify-impl.c
! 7ccdf884c9205b837d0a0e6a75d4851b  gcc/java/verify.h
! 411e5d5a62f3dbaa6a90a70cc41307c8  gcc/java/win32-host.c
! fd2dc60871f4b8b2a63be57dd3c25a7b  gcc/java/zextract.c
! 55c78b05df9d22ea2d803e0a31b49d07  gcc/java/zipfile.h
! 407424a46148b25d9142d429d4d3b94d  gcc/jump.c
! 5b150ff6f84d9dcffc6412f7a46cca39  gcc/lambda-code.c
! 0e12bc150cce98f0e459048c0f8810b4  gcc/lambda-mat.c
! 55d2653541740f0e46547799b8b8df91  gcc/lambda-trans.c
! 4ee8e540b1de6602e4ad772955308208  gcc/lambda.h
! ae7ecc302e99a39edef8467c059049e1  gcc/langhooks-def.h
! b7164aaa29d55197cdf12795022033cb  gcc/langhooks.c
! 348a927927b413e433a220e83ae7ce55  gcc/langhooks.h
! 237e6d73af7c3b0f73d2465725117f82  gcc/lcm.c
! 43b1da5bc642e4236e90b6365a4a0f9f  gcc/libada-mk.in
! d922a5f91fa503e10dfa4f5e44469040  gcc/libfuncs.h
! 85fe3fa6f422d9333be47baf48f973ed  gcc/libgcc-std.ver
! 2d0c2b4c4447c587da2a2171efb04f45  gcc/libgcc2.c
! cdc9dd9b6de57fb1c6e622925d1dd450  gcc/libgcc2.h
! da195e052a720d0a370a6abdd3cd4b78  gcc/libgcov.c
  d4f7140fcd55bba037803fb314146a6c  gcc/limitx.h
  83de5c6450456e215a5484083afcd32a  gcc/limity.h
! 9faee805ca953490855b19a5a5719225  gcc/lists.c
! b0cc177cf6535eea21938aef9afa967d  gcc/local-alloc.c
! d899ce8bdc8c3f633066718e1c31330a  gcc/longlong.h
! 8dc1dd59e7466862e62f1399bfeceddd  gcc/loop-doloop.c
! 02f37a1303f04bd31717e2f5a6b9aba1  gcc/loop-init.c
! 2b994303207a466d848576745831f22e  gcc/loop-invariant.c
! 9569ff38424e608be546d79d2a91a6ce  gcc/loop-iv.c
! d277bdbaabe2d8246d7e876c0fb05a3d  gcc/loop-unroll.c
! 93c39c0da807c79eb190cfc94fbc4b23  gcc/loop-unswitch.c
! ebdce462acc4579247af62f18e3773f8  gcc/loop.c
! 436547263e2b99910d55849e1b93fc8a  gcc/machmode.def
! a811717889438ba525324761e847a269  gcc/machmode.h
! a26f740fe9f76469e4e1ef8edd1e9e23  gcc/main.c
! 8728d3015b801b3b4e3687cde796be03  gcc/mips-tdump.c
! 4690bb4ba33395b70fba7a051dda2203  gcc/mips-tfile.c
! 08576e967e3fe370458a661744d38194  gcc/mkconfig.sh
! 1f61d9fc99b9b1de6431fd91cf0f233e  gcc/mklibgcc.in
! 557a0d8f8b4aaafbcc967af1d98d9c17  gcc/mkmap-flat.awk
! 7608043d2753d7408951f2082061bd53  gcc/mkmap-symver.awk
! 0f086855fddff03272406bcf620a7c5d  gcc/mode-classes.def
! 4fb9e41b7a4628651a87fcd4c21ad6dc  gcc/mode-switching.c
! a21dcb98a1eb4a280cef1c1ebd866269  gcc/modulo-sched.c
! d68323608c7fe92cfc802b54d8f2e3ee  gcc/objc/ChangeLog
! fcde9a2b64f20b57c5912dbb781ab24a  gcc/objc/Make-lang.in
  aa5319dd541cdb0eb8622f9adf66b761  gcc/objc/README
! b6fdc74b07e45c76a5ffbb324a6525ba  gcc/objc/config-lang.in
! dc40d6dd0a4d98b7ef867e355b931558  gcc/objc/lang-specs.h
! 45c3d1c0456b14bbcc4afe44b74233a5  gcc/objc/objc-act.c
! 24e10207470d91dbd2c109c8396c29e8  gcc/objc/objc-act.h
! 61b70274df58104c210d02b34a1f1147  gcc/objc/objc-lang.c
! b0118ac9c9fd45d9095624da1dbb52bc  gcc/objc/objc-tree.def
! e36adae9009cebaae057725f293e4ff8  gcc/objcp/ChangeLog
! bed5338b9dd0688c3f50b55cafb65069  gcc/objcp/Make-lang.in
! 88d9be30520e217f05885960e7d403ab  gcc/objcp/config-lang.in
! 0a3f0fb9925397403312471591168265  gcc/objcp/lang-specs.h
! fdde5b75ba162ed0e08ee031ed9720e0  gcc/objcp/objcp-decl.c
! 7bb9f4f0b9b896893b3f1843f52256a9  gcc/objcp/objcp-decl.h
! b3bd89ddbc2e11dce4b2a7cde4929d69  gcc/objcp/objcp-lang.c
! 3ded8c87dfc242766f7f55dcc13d2eaa  gcc/opt-functions.awk
! c9be505f9ef8356a34d60347178263a7  gcc/opt-gather.awk
! 0006a7e492f2d88476ded0d8a78dca9a  gcc/optabs.c
! 8b200d20adf5dabf64688b0bc042b84e  gcc/optabs.h
! 9ea8a1adcdf0baf0a92c13f2dcc46543  gcc/optc-gen.awk
! cab71a960418f977429bb77a4400252a  gcc/opth-gen.awk
! 090fde98ef5f8eb08b6ad21a372e9078  gcc/opts.c
! db7ae0a3b7a38446519eabc80d0f2d26  gcc/opts.h
! 0ddf2e7e1fc6918d09e923a159a5c2db  gcc/output.h
! 50279fda6515d651df3d29f460e2f0d9  gcc/params.c
! 563456f01cd795861d44c02ba394fc4e  gcc/params.def
! f168ed5be3607949e9764d9938d14c47  gcc/params.h
! 1114020dd7b1f52454465d5135c09b42  gcc/passes.c
! a9dbfc865f44cdc159e239b01b86e282  gcc/po/ChangeLog
  954b21fb36cc0d8e9f6e2d6507152f23  gcc/po/EXCLUDES
! b49f63a6f7552875a1a05fe515a5fa53  gcc/po/be.gmo
! 816f5297ab2ce2c9ef6104f802c4a881  gcc/po/be.po
! d3834db7c2d9c25567f9cf9ccfbb4170  gcc/po/ca.gmo
! 37d79b369f99cb52a22d9553ecfbb6ae  gcc/po/ca.po
! 65d659437571acdd1e8f455a4a79d5ec  gcc/po/da.gmo
! d3fca4c066f3fcf82181f05b4a794ca8  gcc/po/da.po
! 8819d571244c3f87aa491af82b83d613  gcc/po/de.gmo
! 4829e1d0aa6ac10e21508d80090533f4  gcc/po/de.po
! 95aa182515989c3cf3887c862455300b  gcc/po/el.gmo
! 0d3918d405628de2956d2a15e71183f6  gcc/po/el.po
! 34170c831c8a44868845af2ec8fb65ca  gcc/po/es.gmo
! cdb87fb6a35d56513f2c235b40143e92  gcc/po/es.po
! 79e2a622a92feeb1346166134cdedf33  gcc/po/exgettext
! 114deaecc200e247b00155ae381f9321  gcc/po/fr.gmo
! b8883d71376e3b3745f22147396d625f  gcc/po/fr.po
! bc829b4c876801cc446ac3681a289291  gcc/po/gcc.pot
! 77dc54554cd18ec286d176ad44f4a15a  gcc/po/ja.gmo
! 928a8c8f15f80fa531a7b42355b5e439  gcc/po/ja.po
! f4e37637175f77b6ee75f5390ea32ef7  gcc/po/nl.gmo
! 96a641e7e16cc4c713dd4bbd3afdb5a6  gcc/po/nl.po
! b9e49533ecfb91e1f3cd3b58cfbdec62  gcc/po/rw.gmo
! 694aae40948045d7a4e9ee1f40683a16  gcc/po/rw.po
! 1ad12e333466dc712b6c2b76ee875922  gcc/po/sv.gmo
! 937ce79e1cb0c6a2f456c060fa3e5b9f  gcc/po/sv.po
! 9bcc8229c0d9f137a2f2b14a1fe0b6bb  gcc/po/tr.gmo
! 1e837039fc1bf1a62d44168732cbce9a  gcc/po/tr.po
! d205d6ec5a312b2985a33b68241a5d5b  gcc/po/zh_CN.gmo
! a88523e90ea14bb8cb0ccff9fe805024  gcc/po/zh_CN.po
! c13c53d5e4520f23e54055405cacb6d4  gcc/pointer-set.c
! bf282c8424d03ad5ddf2d285b65499e5  gcc/pointer-set.h
! 3db71363ba0532d083d8c4d653956124  gcc/postreload-gcse.c
! c7a54e44a5bf9238b69974473297fd68  gcc/postreload.c
! ccfa5fa00464c58c7b8b3a4bbc0c8cbf  gcc/predict.c
! 21ed07d5de361f8743a10cc743cb78e6  gcc/predict.def
! 24aee9c34270e31df9fb22fbd0ce8430  gcc/predict.h
! ac12abb2966318f56d55ad96c8922153  gcc/prefix.c
! 37c6d73a88047810509aa52813e3aa1d  gcc/prefix.h
! d2bf3ed2facc960f83ba940d79c9c6b0  gcc/pretty-print.c
! 3c12333800c838e8082cc3686629063c  gcc/pretty-print.h
! 6b04e3b3264d31fe84241b0b8d9e4e10  gcc/print-rtl.c
! c6b02b8da433521d541aa6ef1f163ea2  gcc/print-tree.c
! c570c75454c392532ea4a049d3ce32cf  gcc/profile.c
! c2d168431face22a0e40b26966225ae4  gcc/protoize.c
! 17f39381fb1d36f9ec6993b89cffe98b  gcc/read-rtl.c
! cfa4c5e4af300f5c22822ef54383155c  gcc/real.c
! 563a8a5eef4c8bb74c5333daffd2b2f9  gcc/real.h
! de99dd7bf503125bff7070f884e3181e  gcc/recog.c
! 7dd56916ec4508b1b609bd8b21d4f38a  gcc/recog.h
! 7d794f7c620d939898d4c5a8ad20a76b  gcc/reg-notes.def
! eda881b409ca7c3ee193298c9fd23662  gcc/reg-stack.c
! 786a107419b04e98cedd092a18d42817  gcc/regclass.c
! 5ff48fa1e321ea65aee2652090134c4c  gcc/regmove.c
! 13db2848f39636445d4c91f1279656b1  gcc/regrename.c
! ca17ce5230fb2170cf3d6653d218d6ef  gcc/regs.h
! b22f89dc8bbf70b39d9d1db3c1a40efb  gcc/reload.c
! 76e0fc6b82079c5d724d33422f36652f  gcc/reload.h
! bfebeb5427ffbdbb4b62860b20119b22  gcc/reload1.c
! eb513cc1548638b73426a20fb5c82dbd  gcc/reorg.c
! 9fa4cb3467344edc6d7dfb44dc7d1ad1  gcc/resource.c
! 57198412d459ce387cc1beb576199c42  gcc/resource.h
! f63772601693d5012ec383a100dc572b  gcc/rtl-error.c
! ae6e6978849353e9e30949465de9dee9  gcc/rtl-profile.c
! 4480e1301a68e3685c85a7397ebf3125  gcc/rtl.c
! 1e8e9f65a5a2b8e821ddc3d3bb859c5c  gcc/rtl.def
! 3c260ecc2e38ade1c04e126ac91290f2  gcc/rtl.h
! a98ba20f647ef5b1176da084e89cc56b  gcc/rtlanal.c
! a0c41c1e6d0da15515b90498ce44034c  gcc/rtlhooks-def.h
! c93fed4faa95abce3414c3b5a24ddea8  gcc/rtlhooks.c
! 1ef3b4acfa1f23ce6c25a4905c3ccc2b  gcc/sbitmap.c
! 269d933df96069eaee195c101299bb49  gcc/sbitmap.h
! 43b046c4566c4e9964d6cbfb15291228  gcc/scan-decls.c
  c42e740dbb03072238bc5c6f5d21f933  gcc/scan-types.sh
! 283fc9c891870e76b2a700f367fc0d80  gcc/scan.c
! fe6875f1a80d17c0ed75fc822dab4be3  gcc/scan.h
! 12944f1cf9949c7444c7bca8eb25ccf9  gcc/sched-deps.c
! 5a69f4d3ace376358840a00dc05dd0b0  gcc/sched-ebb.c
! aca4482a395eb8ddacdfbf63636dc322  gcc/sched-int.h
! ee00da45196d76f5f2fe0764fc723213  gcc/sched-rgn.c
! a2e092b1d9df587aedcbe10a08238da3  gcc/sched-vis.c
! 5f1eec0c4c7a3b497edc72a5b2237da3  gcc/sdbout.c
! 937482ae8463d6f9c865b14dfe433d7d  gcc/sdbout.h
! 44e4a7a22e068b9c6b5d3095e6e4d12a  gcc/simplify-rtx.c
  8e865a71c4e2c43eae4afbcf143af4a6  gcc/sort-protos
! 3880af4bbbf35a8e0d8906fe6e8b789d  gcc/sreal.c
! c83b33de097e8d272e6b23b736f3f853  gcc/sreal.h
! b5e7b25f65981677d4f8d67c03255a1d  gcc/stab.def
! 6735ea9688e8a640cdaab1ca082bb72e  gcc/statistics.h
! 20a2576e14144d551b57a263afe6fb7c  gcc/stmt.c
! f448daa888ca7d3a9bebd13165e8aa7e  gcc/stor-layout.c
! baf166c10c1a3f83efc5ebfc046a197a  gcc/stringpool.c
! 313de6aa54723826514f531e31c80a70  gcc/stub-objc.c
  4218f3bf53b8358d1ec10de7823b848f  gcc/sys-protos.h
  31e2d9be63e3d9aff0d5dc9ef42e0223  gcc/sys-types.h
! a48846dc20a656b92305baa7f3fb0d72  gcc/system.h
! 2dbfbd262d26ac5d1699fee2fb3ec50c  gcc/target-def.h
! af624d76feedfb5f39f49700b311a6b7  gcc/target.h
! f71653c18fc0a24109c708c8e81499eb  gcc/targhooks.c
! ddcab8fa7d3bcf8ba7da9ae7efcc4efe  gcc/targhooks.h
! 60afc2cb006db1c3b0e8334c99eae7df  gcc/testsuite/ChangeLog
  84188c97269b593eb46274047b401b48  gcc/testsuite/ChangeLog.tree-ssa
  c2eb2f892b7b914e0a687ca43783d1f3  gcc/testsuite/README
  728a7ee145c744b1a6d095227d991e8d  gcc/testsuite/README.QMTEST
  82ca46e8cf02a305ac1890c499aae94e  gcc/testsuite/README.compat
  5e6579080cca78e664effde8f586e1b4  gcc/testsuite/README.gcc
  4004844198395fe50ecb798ed5d30f4b  gcc/testsuite/ada/acats/elabd.lst
! c4cb1ef6fa5eb0101c049861f2bffc64  gcc/testsuite/ada/acats/norun.lst
  d5748b449a081324237ae22a21f32a3f  gcc/testsuite/ada/acats/overflow.lst
! 6f96614c3ae348b5033dbb06d509c64a  gcc/testsuite/ada/acats/run_acats
! 2640deac27617757ae80705807637847  gcc/testsuite/ada/acats/run_all.sh
! 3b1dfd3e59994cbf5353feae6b491eed  gcc/testsuite/ada/acats/stackcheck.lst
  d45e1c07702f81b7fa521c99282fd51b  gcc/testsuite/ada/acats/support/acats25.lst
  2f262cdb98b38922d7b7f84414f43b84  gcc/testsuite/ada/acats/support/checkfil.ada
  4edf20410814582eae331707f2ae2c77  gcc/testsuite/ada/acats/support/enumchek.ada
*************** f88af2b3eb53ad7c8700efbd0f878915  gcc/te
*** 3831,3837 ****
  67770e9161b0f48f3fc9392bd3460272  gcc/testsuite/ada/acats/support/fxf2a00.a
  6628969f51dd10c56235f9d7420e2d44  gcc/testsuite/ada/acats/support/fxf3a00.a
  6a9b6ce90538e9126e7e5badc62ddca2  gcc/testsuite/ada/acats/support/impbit.adb
! 7d5e524b6ec7cfb08b38af7bccf39d8e  gcc/testsuite/ada/acats/support/impdef.a
  4f2f9bfdfcfd8c5ecaf503416d1cfc5f  gcc/testsuite/ada/acats/support/impdefd.a
  edf70d423a69adebd38e9b29f35a2ba1  gcc/testsuite/ada/acats/support/impdefe.a
  f4c51093f419176fbe553f5299e3791a  gcc/testsuite/ada/acats/support/impdefg.a
--- 3995,4001 ----
  67770e9161b0f48f3fc9392bd3460272  gcc/testsuite/ada/acats/support/fxf2a00.a
  6628969f51dd10c56235f9d7420e2d44  gcc/testsuite/ada/acats/support/fxf3a00.a
  6a9b6ce90538e9126e7e5badc62ddca2  gcc/testsuite/ada/acats/support/impbit.adb
! 53349d7d248211b9d9378579803d36ab  gcc/testsuite/ada/acats/support/impdef.a
  4f2f9bfdfcfd8c5ecaf503416d1cfc5f  gcc/testsuite/ada/acats/support/impdefd.a
  edf70d423a69adebd38e9b29f35a2ba1  gcc/testsuite/ada/acats/support/impdefe.a
  f4c51093f419176fbe553f5299e3791a  gcc/testsuite/ada/acats/support/impdefg.a
*************** ec207723e08de50ca0964ad3318f8235  gcc/te
*** 4049,4055 ****
  092ff51133e865dad2cd6192506f9980  gcc/testsuite/ada/acats/tests/c3/c35003b.ada
  55caad169adcfa6b58689ceb3dc1d505  gcc/testsuite/ada/acats/tests/c3/c35003d.ada
  b2b10d16689d994b421c7f356c4eebe9  gcc/testsuite/ada/acats/tests/c3/c35102a.ada
- 9d1972c0cc4eb7b2203cca27c4e785f1  gcc/testsuite/ada/acats/tests/c3/c352001.a
  6adbf240f9a88c67e6dc4d9a3ae2f449  gcc/testsuite/ada/acats/tests/c3/c354002.a
  1c6bd8c5607c8d83b1fb16cf20b35965  gcc/testsuite/ada/acats/tests/c3/c354003.a
  831543d10fff09679865a63cb6261690  gcc/testsuite/ada/acats/tests/c3/c35502a.ada
--- 4213,4218 ----
*************** e039ba87aa8e5a87f7f74695cc19d917  gcc/te
*** 5224,5231 ****
  34dbbc567c8a72d4e43da4684357c65d  gcc/testsuite/ada/acats/tests/c9/c954022.a
  acd00fcab6e1b0d13797a97adc97adb7  gcc/testsuite/ada/acats/tests/c9/c954023.a
  2b49282ca4813eb7610dffe2400f50ff  gcc/testsuite/ada/acats/tests/c9/c954024.a
! 3fc434915b68b9ad6ea09c480bd8ff00  gcc/testsuite/ada/acats/tests/c9/c954025.a
! 3c7c2a8c57e757e292f680272d20085c  gcc/testsuite/ada/acats/tests/c9/c954026.a
  a58e8d1988af8fca3ca74804c5baee9d  gcc/testsuite/ada/acats/tests/c9/c954a01.a
  d07c1374471df9299b8057f6479a45e6  gcc/testsuite/ada/acats/tests/c9/c954a02.a
  b1b9ce862c0b325027b8ea2d1d8cc916  gcc/testsuite/ada/acats/tests/c9/c954a03.a
--- 5387,5394 ----
  34dbbc567c8a72d4e43da4684357c65d  gcc/testsuite/ada/acats/tests/c9/c954022.a
  acd00fcab6e1b0d13797a97adc97adb7  gcc/testsuite/ada/acats/tests/c9/c954023.a
  2b49282ca4813eb7610dffe2400f50ff  gcc/testsuite/ada/acats/tests/c9/c954024.a
! 2331b8760176763cf23ae6f18488082f  gcc/testsuite/ada/acats/tests/c9/c954025.a
! 6bd1092f468dab44c0887902809a3c13  gcc/testsuite/ada/acats/tests/c9/c954026.a
  a58e8d1988af8fca3ca74804c5baee9d  gcc/testsuite/ada/acats/tests/c9/c954a01.a
  d07c1374471df9299b8057f6479a45e6  gcc/testsuite/ada/acats/tests/c9/c954a02.a
  b1b9ce862c0b325027b8ea2d1d8cc916  gcc/testsuite/ada/acats/tests/c9/c954a03.a
*************** cb2ab9f96734f02dcf13d24f2e73aec3  gcc/te
*** 5282,5288 ****
  d754e67cb299985d2d7ab32f0d7831d4  gcc/testsuite/ada/acats/tests/c9/c97304b.ada
  2f91d4b7e4df271c291c8528b0ac77c5  gcc/testsuite/ada/acats/tests/c9/c97305a.ada
  99ee5abaa01d4f88e63554c6c77981a8  gcc/testsuite/ada/acats/tests/c9/c97305b.ada
! 6c3ba12a3d7a852061a02494c98879cb  gcc/testsuite/ada/acats/tests/c9/c97305c.ada
  fa76b14386e1262d53b830ca97f97d45  gcc/testsuite/ada/acats/tests/c9/c97305d.ada
  25f38b9c358c6c07950ea20a3c358144  gcc/testsuite/ada/acats/tests/c9/c97307a.ada
  3159a203f1d3e85954c526f58a3919f1  gcc/testsuite/ada/acats/tests/c9/c974001.a
--- 5445,5451 ----
  d754e67cb299985d2d7ab32f0d7831d4  gcc/testsuite/ada/acats/tests/c9/c97304b.ada
  2f91d4b7e4df271c291c8528b0ac77c5  gcc/testsuite/ada/acats/tests/c9/c97305a.ada
  99ee5abaa01d4f88e63554c6c77981a8  gcc/testsuite/ada/acats/tests/c9/c97305b.ada
! 5a1e95417e5dc56ea2eaa24f2cb98647  gcc/testsuite/ada/acats/tests/c9/c97305c.ada
  fa76b14386e1262d53b830ca97f97d45  gcc/testsuite/ada/acats/tests/c9/c97305d.ada
  25f38b9c358c6c07950ea20a3c358144  gcc/testsuite/ada/acats/tests/c9/c97307a.ada
  3159a203f1d3e85954c526f58a3919f1  gcc/testsuite/ada/acats/tests/c9/c974001.a
*************** cf3493d33888a126779c4a1fd8c7e171  gcc/te
*** 5302,5308 ****
  120dd4802d990998dbefafba1d6bdf05  gcc/testsuite/ada/acats/tests/c9/c980001.a
  98a89250f238d2d958192b464be9c644  gcc/testsuite/ada/acats/tests/c9/c980002.a
  387e8d4bc42079cf88da235a35d5db46  gcc/testsuite/ada/acats/tests/c9/c980003.a
! 11d0d02c55d0281898201da63088bbc6  gcc/testsuite/ada/acats/tests/c9/c99004a.ada
  4a6308ea54645ac0a0ff6750ddff3bee  gcc/testsuite/ada/acats/tests/c9/c99005a.ada
  0ade252d597ba9f5685bfdbc39ad5126  gcc/testsuite/ada/acats/tests/c9/c9a003a.ada
  f6efef2daeceae0601810ea34d294ebe  gcc/testsuite/ada/acats/tests/c9/c9a004a.ada
--- 5465,5471 ----
  120dd4802d990998dbefafba1d6bdf05  gcc/testsuite/ada/acats/tests/c9/c980001.a
  98a89250f238d2d958192b464be9c644  gcc/testsuite/ada/acats/tests/c9/c980002.a
  387e8d4bc42079cf88da235a35d5db46  gcc/testsuite/ada/acats/tests/c9/c980003.a
! 8c9e7662d2c57ef91bde2dbdd2ceaade  gcc/testsuite/ada/acats/tests/c9/c99004a.ada
  4a6308ea54645ac0a0ff6750ddff3bee  gcc/testsuite/ada/acats/tests/c9/c99005a.ada
  0ade252d597ba9f5685bfdbc39ad5126  gcc/testsuite/ada/acats/tests/c9/c9a003a.ada
  f6efef2daeceae0601810ea34d294ebe  gcc/testsuite/ada/acats/tests/c9/c9a004a.ada
*************** b886a43ab960ee3b74b75b1a1895e692  gcc/te
*** 6371,8029 ****
  2f50ecd2b64eb3a3cefb0066c4c043a1  gcc/testsuite/ada/acats/tests/l/la140271.a
  004386b31584ba3e3f7171f7674e4137  gcc/testsuite/ada/acats/tests/l/la140272.am
  9c63871113de9b518e90c90fe8e20f28  gcc/testsuite/ada/acats/tests/l/la140273.a
! 1eb674af2cd56044385a0cd34f215a71  gcc/testsuite/config/default.exp
! e41d0f97915e4b61b0c72283537fd9b1  gcc/testsuite/consistency.vlad/README
! 414b74e5417a690f833e2e4817fe75c3  gcc/testsuite/consistency.vlad/layout/a-char.c
! 2e3dcd8494212924737b0ecee69479cd  gcc/testsuite/consistency.vlad/layout/a-double.c
! ef70e762404ae6cea8121e5ff0a52500  gcc/testsuite/consistency.vlad/layout/a-float.c
! a9c21059a39c42709d88f4320d6415b5  gcc/testsuite/consistency.vlad/layout/a-int.c
! bc6d79365687e1913eaba5b9e59337c4  gcc/testsuite/consistency.vlad/layout/a-long.c
! 0f7c4f30906d8ef4dafb6503a162b0f3  gcc/testsuite/consistency.vlad/layout/a-longdouble.c
! 70036f68eb4a1213bbade5e6f1dcea44  gcc/testsuite/consistency.vlad/layout/a-longlong.c
! b28a92db19eaacbc76276bb87624ab22  gcc/testsuite/consistency.vlad/layout/a-of-s-char.c
! 858ed7f544327afa23d067a64d25228e  gcc/testsuite/consistency.vlad/layout/a-of-s-double.c
! 4fcf7ae42a1faeb84207bee86fb91a66  gcc/testsuite/consistency.vlad/layout/a-of-s-float.c
! 40fcc3bf538866fbd26b65ed8cdd68fe  gcc/testsuite/consistency.vlad/layout/a-of-s-int.c
! 37ea65ee62fa5f04c670ace34dda9f44  gcc/testsuite/consistency.vlad/layout/a-of-s-long.c
! 038207ab2ada1390777478149fb2421c  gcc/testsuite/consistency.vlad/layout/a-of-s-longdouble.c
! ad1674be640d0863a9bd1cc6b8b1b88d  gcc/testsuite/consistency.vlad/layout/a-of-s-longlong.c
! 4cbbbdb3e3a9a7858c48af774f8a3773  gcc/testsuite/consistency.vlad/layout/a-of-s-pointer.c
! 47e1af5ecd3ca31e37bb83e2e5aff923  gcc/testsuite/consistency.vlad/layout/a-of-s-ptrdiff_t.c
! 18537dc9c107ad97051ca6b0f8b7ac65  gcc/testsuite/consistency.vlad/layout/a-of-s-short.c
! 7e9d4d2e1b1556a6752104a46ce9ca21  gcc/testsuite/consistency.vlad/layout/a-pointer.c
! 533150006f4a7b7467fe5c820bafa3d4  gcc/testsuite/consistency.vlad/layout/a-ptrdiff_t.c
! b6b8d1cf6fffe7cba36f3868b8387072  gcc/testsuite/consistency.vlad/layout/a-short.c
! 548795ddf6ac4f88ff0cca0ef5dea268  gcc/testsuite/consistency.vlad/layout/a-size_t.c
! 08103292756192aaaf75ad84be5d826d  gcc/testsuite/consistency.vlad/layout/a-wchar_t.c
! 8aea4dd22d02f5ae925ee56cb12732c0  gcc/testsuite/consistency.vlad/layout/align-bool.cpp
! 2ec81b8ae31712115b7f6ee54eccb745  gcc/testsuite/consistency.vlad/layout/align-char.c
! bfd44f6b3c262a6e4c5a59d83c108329  gcc/testsuite/consistency.vlad/layout/align-double.c
! 34330561d99c05e846e1eb208bc9021e  gcc/testsuite/consistency.vlad/layout/align-float.c
! 24525b749859d6005c8087eaa3b2c259  gcc/testsuite/consistency.vlad/layout/align-int.c
! 912a16e7ed12b8ae123af70aaafd23e7  gcc/testsuite/consistency.vlad/layout/align-long.c
! 6cf735707b2fad8dbf8c8a3b919961cf  gcc/testsuite/consistency.vlad/layout/align-longdouble.c
! 030bd769c24600c2c189a852f393424b  gcc/testsuite/consistency.vlad/layout/align-longlong.c
! 0a9040194593827a067a71adeac6c354  gcc/testsuite/consistency.vlad/layout/align-pointer.c
! 27c1faf5ae05b19085d6f53345703662  gcc/testsuite/consistency.vlad/layout/align-ptrdiff.c
! eafb15b780ab66b15484fcdb57e4443e  gcc/testsuite/consistency.vlad/layout/align-short.c
! 17382b2cf6b0733fdc4a519376e0ebc2  gcc/testsuite/consistency.vlad/layout/align-size.c
! 38093055e9f3559246424118f8d28fc1  gcc/testsuite/consistency.vlad/layout/align-wchar.c
! 14137fc5f6ec5b532b51826cd982d632  gcc/testsuite/consistency.vlad/layout/biggest-field-align.c
! 252d52d6d2015c40316044a710da7c65  gcc/testsuite/consistency.vlad/layout/c-char-1-c-char.cpp
! ea3ac76177cb04f836baacd06bc61d2c  gcc/testsuite/consistency.vlad/layout/c-char-1-c-double.cpp
! 60a30e4850ddb31aafdd24639e36c5fb  gcc/testsuite/consistency.vlad/layout/c-char-1-c-float.cpp
! 4778b944ed4d2fb5efcfc26f0c90b81c  gcc/testsuite/consistency.vlad/layout/c-char-1-c-int.cpp
! 7a5ac4170b9bea87d99ad8fe30095678  gcc/testsuite/consistency.vlad/layout/c-char-1-c-long.cpp
! 259b186b736adb66fdc3cce4914d4b5a  gcc/testsuite/consistency.vlad/layout/c-char-1-c-longdouble.cpp
! c8cbb1546cc02c865bdbcc7b2c49b79e  gcc/testsuite/consistency.vlad/layout/c-char-1-c-longlong.cpp
! 1b9628bdfeab35ec9a07188e97da57c1  gcc/testsuite/consistency.vlad/layout/c-char-1-c-pointer.cpp
! a9e108f0f1cb87a049ff24148f0150a6  gcc/testsuite/consistency.vlad/layout/c-char-1-c-short.cpp
! e1494fea487681c92fef7b9f4fbab449  gcc/testsuite/consistency.vlad/layout/c-char-2-c-char.cpp
! d5163613e8ba2f3330126154dce424fe  gcc/testsuite/consistency.vlad/layout/c-char-2-c-double.cpp
! 586fa6df5d48e54a715f751a88ca0c35  gcc/testsuite/consistency.vlad/layout/c-char-2-c-float.cpp
! 4ca85353f2d6929aa3eb708722850197  gcc/testsuite/consistency.vlad/layout/c-char-2-c-int.cpp
! ac0c18ea5b4fbddb55b8be28997ec5bb  gcc/testsuite/consistency.vlad/layout/c-char-2-c-long.cpp
! ff73edf075d2327dd38d64601f4e9ddd  gcc/testsuite/consistency.vlad/layout/c-char-2-c-longdouble.cpp
! c028f12e7297d820913bad7bbac855f3  gcc/testsuite/consistency.vlad/layout/c-char-2-c-longlong.cpp
! 41a12656f06090e555e5a77f77cee1dc  gcc/testsuite/consistency.vlad/layout/c-char-2-c-pointer.cpp
! e3294503cb2fa166bbfc50dd9bee21d9  gcc/testsuite/consistency.vlad/layout/c-char-2-c-short.cpp
! 5c30d318c4f1cffc7a573aa4298ed3db  gcc/testsuite/consistency.vlad/layout/c-double-1-c-char.cpp
! 581e5dfad6b1b8fe43cdcafaec8e5660  gcc/testsuite/consistency.vlad/layout/c-double-1-c-double.cpp
! d19dd8ac063235241049899002438728  gcc/testsuite/consistency.vlad/layout/c-double-1-c-float.cpp
! 8aeffc011177e2790bc28d77506a5947  gcc/testsuite/consistency.vlad/layout/c-double-1-c-int.cpp
! 31a96a407247839f13a659521a4e77da  gcc/testsuite/consistency.vlad/layout/c-double-1-c-long.cpp
! bc3d050bd0b2d49bb90cf08c2998f620  gcc/testsuite/consistency.vlad/layout/c-double-1-c-longdouble.cpp
! e74726a2723ab94e065d71e9c5e065d0  gcc/testsuite/consistency.vlad/layout/c-double-1-c-longlong.cpp
! aff981a53d76cd4727755069651aebc7  gcc/testsuite/consistency.vlad/layout/c-double-1-c-pointer.cpp
! b2d439eea14315f37a267cb2bca04193  gcc/testsuite/consistency.vlad/layout/c-double-1-c-short.cpp
! 743860eab12daf027f73753e21745a18  gcc/testsuite/consistency.vlad/layout/c-double-2-c-char.cpp
! c9054405892c0be53bac57ea4c819c88  gcc/testsuite/consistency.vlad/layout/c-double-2-c-double.cpp
! d61f53c86a2187671cce38a42149bbcf  gcc/testsuite/consistency.vlad/layout/c-double-2-c-float.cpp
! 4355c7051cc93ed4175d17924eb9c38d  gcc/testsuite/consistency.vlad/layout/c-double-2-c-int.cpp
! 0cff966071880af323e95e88dafc26ec  gcc/testsuite/consistency.vlad/layout/c-double-2-c-long.cpp
! 3104f7692cb11cba5f75396d399182cb  gcc/testsuite/consistency.vlad/layout/c-double-2-c-longdouble.cpp
! 5957aa2488a70e733f0766d823711d9f  gcc/testsuite/consistency.vlad/layout/c-double-2-c-longlong.cpp
! 9c05356fb6cd94ec1e2827c6c7fd04f8  gcc/testsuite/consistency.vlad/layout/c-double-2-c-pointer.cpp
! 066963a077887a3a70eb454eeaf11077  gcc/testsuite/consistency.vlad/layout/c-double-2-c-short.cpp
! 4d88c63a961d287dd48d3157b9a3d1e5  gcc/testsuite/consistency.vlad/layout/c-float-1-c-char.cpp
! 09e2fb6e37c94e284dded095713a34f1  gcc/testsuite/consistency.vlad/layout/c-float-1-c-double.cpp
! dabbb16f36838daabc4d802eea24f549  gcc/testsuite/consistency.vlad/layout/c-float-1-c-float.cpp
! 0c53ab88e1ceb77ea964214b8476c984  gcc/testsuite/consistency.vlad/layout/c-float-1-c-int.cpp
! 3917dfe116f45a2e2ec037dffa67081b  gcc/testsuite/consistency.vlad/layout/c-float-1-c-long.cpp
! 52d75038df0afbb8f43a49c419131566  gcc/testsuite/consistency.vlad/layout/c-float-1-c-longdouble.cpp
! fb0051e007ccde53088776cf7366c55f  gcc/testsuite/consistency.vlad/layout/c-float-1-c-longlong.cpp
! 222d3aa53f07f2b10ecdb405711999de  gcc/testsuite/consistency.vlad/layout/c-float-1-c-pointer.cpp
! 3fce0cf21c3335583715953e02b8d56a  gcc/testsuite/consistency.vlad/layout/c-float-1-c-short.cpp
! 3c9853444d93e5d45db8533466d0633a  gcc/testsuite/consistency.vlad/layout/c-float-2-c-char.cpp
! 2459c49dd93562eb33cb7794ebb40de3  gcc/testsuite/consistency.vlad/layout/c-float-2-c-double.cpp
! 64577941da9f06cfb7b4ca0280a4be95  gcc/testsuite/consistency.vlad/layout/c-float-2-c-float.cpp
! 80b1279dc4525293aaaf12b4aea599b1  gcc/testsuite/consistency.vlad/layout/c-float-2-c-int.cpp
! 0433345bf8ed7e8ee81ffb78c7a30657  gcc/testsuite/consistency.vlad/layout/c-float-2-c-long.cpp
! 867a18b1819a68a7146c600e23630500  gcc/testsuite/consistency.vlad/layout/c-float-2-c-longdouble.cpp
! 515a8515df5f05c8a25914e1622ccd64  gcc/testsuite/consistency.vlad/layout/c-float-2-c-longlong.cpp
! f7ddd85dee759e5ec1f47a4641845460  gcc/testsuite/consistency.vlad/layout/c-float-2-c-pointer.cpp
! 4cae290c8642e5c626c867969f1634a0  gcc/testsuite/consistency.vlad/layout/c-float-2-c-short.cpp
! fe705d3a176ad15cc1b520f058f6eda9  gcc/testsuite/consistency.vlad/layout/c-int-1-c-char.cpp
! 16470d344ed39fec6786ebe68922fff2  gcc/testsuite/consistency.vlad/layout/c-int-1-c-double.cpp
! 4ce85ca1af31575316310bb8ad185302  gcc/testsuite/consistency.vlad/layout/c-int-1-c-float.cpp
! 19944aced995e8c4f9da63f5f6b961fd  gcc/testsuite/consistency.vlad/layout/c-int-1-c-int.cpp
! a192a28b643f9449cedf817a7bfeec68  gcc/testsuite/consistency.vlad/layout/c-int-1-c-long.cpp
! 0d62d77f5c8e098b82efd8eff9011a15  gcc/testsuite/consistency.vlad/layout/c-int-1-c-longdouble.cpp
! 7ed552f72747b44f0c0db3e2b48d4c82  gcc/testsuite/consistency.vlad/layout/c-int-1-c-longlong.cpp
! d3644a8e5e474af7815e58ad483f039b  gcc/testsuite/consistency.vlad/layout/c-int-1-c-pointer.cpp
! 9cfb7df83b0e9b03364b7fff5c34fbe5  gcc/testsuite/consistency.vlad/layout/c-int-1-c-short.cpp
! d4177a2518ae22cfe32d6936776d7b39  gcc/testsuite/consistency.vlad/layout/c-int-2-c-char.cpp
! b68043c33ed1f23f04db847d95a253c9  gcc/testsuite/consistency.vlad/layout/c-int-2-c-double.cpp
! c69e067591495b142f605f2dedd6cb23  gcc/testsuite/consistency.vlad/layout/c-int-2-c-float.cpp
! 98217a20d69bf28ecf8231a022bb9331  gcc/testsuite/consistency.vlad/layout/c-int-2-c-int.cpp
! e93de3771942b910d1024bf20f5c78c6  gcc/testsuite/consistency.vlad/layout/c-int-2-c-long.cpp
! 0bb84d25aa65d944efa076b9ecc808b7  gcc/testsuite/consistency.vlad/layout/c-int-2-c-longdouble.cpp
! c1d0852ae64ef1522e1aab838146c62f  gcc/testsuite/consistency.vlad/layout/c-int-2-c-longlong.cpp
! 34b352f070bb1152242b89cc63fb26f9  gcc/testsuite/consistency.vlad/layout/c-int-2-c-pointer.cpp
! 1d933bad57f9fefe2b429602256fc099  gcc/testsuite/consistency.vlad/layout/c-int-2-c-short.cpp
! cbd79c5884d8c14f317f5c0aa071dc6e  gcc/testsuite/consistency.vlad/layout/c-long-1-c-char.cpp
! 62816a5b04d3150fd2890b926cd91d13  gcc/testsuite/consistency.vlad/layout/c-long-1-c-double.cpp
! 4b06a89a157a892946b2d15c9f796b8f  gcc/testsuite/consistency.vlad/layout/c-long-1-c-float.cpp
! 4ae973ff5f91aa3e5d9f248e16784304  gcc/testsuite/consistency.vlad/layout/c-long-1-c-int.cpp
! ea7cc364d931214b02df04baa2152cf3  gcc/testsuite/consistency.vlad/layout/c-long-1-c-long.cpp
! 0889e159556d51fa085ecc7726fc82c9  gcc/testsuite/consistency.vlad/layout/c-long-1-c-longdouble.cpp
! de3c5fc5341d4d9e769ab55243bda648  gcc/testsuite/consistency.vlad/layout/c-long-1-c-longlong.cpp
! 82dbd479f13eaaa6e173d8083665e78a  gcc/testsuite/consistency.vlad/layout/c-long-1-c-pointer.cpp
! cfcf00a0d755c75926bbb8b8d9e0562c  gcc/testsuite/consistency.vlad/layout/c-long-1-c-short.cpp
! 7042ba050a6e772b5655c375f7a84ee4  gcc/testsuite/consistency.vlad/layout/c-long-2-c-char.cpp
! b5b2112068f3c1957576c4e2208d4c81  gcc/testsuite/consistency.vlad/layout/c-long-2-c-double.cpp
! 74bf4111364a929ac5dbbfeb70125a1f  gcc/testsuite/consistency.vlad/layout/c-long-2-c-float.cpp
! 8bba3e69d5f34f2ac433f688b898168e  gcc/testsuite/consistency.vlad/layout/c-long-2-c-int.cpp
! d6b66572c09b1dae5692ca016478770f  gcc/testsuite/consistency.vlad/layout/c-long-2-c-long.cpp
! 775997eb322face89aa1f6c892fbf527  gcc/testsuite/consistency.vlad/layout/c-long-2-c-longdouble.cpp
! e67f435b9549e6a4d9fa10fb8d6896f7  gcc/testsuite/consistency.vlad/layout/c-long-2-c-longlong.cpp
! db864d080f8822ec69cb8bbb0c8babf0  gcc/testsuite/consistency.vlad/layout/c-long-2-c-pointer.cpp
! 105076ee58774da609b9b8c15784c0e5  gcc/testsuite/consistency.vlad/layout/c-long-2-c-short.cpp
! 4dfd6279ac71c2c4ce2f9808402f1652  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-char.cpp
! a24537d57725aeb375b66263a68446fd  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-double.cpp
! efcd5d2df25ffd1176f0d955712eb4bb  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-float.cpp
! c88db60a854dc12a55c1f51b73476dea  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-int.cpp
! a9b228c2c7c18503c6399e5dd3c67e64  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-long.cpp
! 355da38d451065734b127a57144eebad  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-longdouble.cpp
! 5001fd59bccc5301929cccceb91b70bb  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-longlong.cpp
! 9b2214c46ebc4020edb695fd6d78f430  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-pointer.cpp
! 5842d17ec3b3c34af7f8a47e48b3d591  gcc/testsuite/consistency.vlad/layout/c-longdouble-1-c-short.cpp
! 390eca449210580981adf12a749bbcb5  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-char.cpp
! c0f4ad9e52d7c5469933c303ea407b9f  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-double.cpp
! b4275ed3b80005924c1f14d5b44f5244  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-float.cpp
! fd206e0f83f45ace2748d368ceefdb96  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-int.cpp
! 085d1275df054811d96c2b1d00de4431  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-long.cpp
! 159e8d3f7d7ee9eb29f8fc4532e15f05  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-longdouble.cpp
! 267d11b8aa1534980a9dd37d927e0936  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-longlong.cpp
! af299ff26091020607b3df2cee4cc475  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-pointer.cpp
! c5354ebfdbfb01cb0e06bc705cf1f2dd  gcc/testsuite/consistency.vlad/layout/c-longdouble-2-c-short.cpp
! 1636c99266fe5825b820a42b3f0a9319  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-char.cpp
! ae34337bf662b1fe827b3cfe721f11fd  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-double.cpp
! 932c5455e543256f1997f22ee4dca9fa  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-float.cpp
! fd4887d97a6ebc763dca56afb68a5949  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-int.cpp
! f8773b7eac8bf6c810c287cbc5b165c5  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-long.cpp
! e7ae3f39da3d0f0c31eec66c4684aeac  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-longdouble.cpp
! f54f128cfe1cf3f88461caf4043225e6  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-longlong.cpp
! 6784697218a79a4532fa869b0b8e655d  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-pointer.cpp
! c4ddf4a0257776fdeadbbb9fc756cb78  gcc/testsuite/consistency.vlad/layout/c-longlong-1-c-short.cpp
! b7e863943217acf000df466bf09d91b6  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-char.cpp
! b8f7a4b235a27bc202396222ecd06867  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-double.cpp
! a06ba68db8499c1ae66e72b6e96913dd  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-float.cpp
! 69127645d02dfb440b74d7f0ff07ab6e  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-int.cpp
! 4d6a447cdf64c9a2c19c701c15b948c4  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-long.cpp
! 80aa617e9a0cc65df10bcac5f22439a4  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-longdouble.cpp
! a15f902655a14705044f78e070f42f4d  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-longlong.cpp
! cdf0afb8ba4fbe7445f414c3911eee87  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-pointer.cpp
! efe281eabdc96141e108148139316910  gcc/testsuite/consistency.vlad/layout/c-longlong-2-c-short.cpp
! 5f72bad2dd9c4f741b439e9ed3c0bbb9  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-char.cpp
! 2bec00930fef38378fe54a0272d5e067  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-double.cpp
! 49ab0a9968166fad2f8a3ffab3863ca1  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-float.cpp
! 9fde763522fa891a370ac81b604329d3  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-int.cpp
! 2ec936b4d5465585bcdbebd99958e325  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-long.cpp
! 133453ffefe176c37af0d5986b3f7574  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-longdouble.cpp
! 02bc6990675e6a1fe1b5e886d7e0eb6a  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-longlong.cpp
! e376aaa15dcbb9f146d8b70a35fd81f3  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-pointer.cpp
! 8fa14048b90466026323a04d63ddd528  gcc/testsuite/consistency.vlad/layout/c-pointer-1-c-short.cpp
! e42b1731f0a9bfbb48b56ecea1000d93  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-char.cpp
! 33a9e10e6ef21f693103dc3ccaae66ed  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-double.cpp
! 343e3f065ecb5b7d99fc4afd966b00a8  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-float.cpp
! a175090c65bb7db9b179625d551f36e5  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-int.cpp
! a396610c0bee4368f3553c2bd74e5ca6  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-long.cpp
! 574d819bdf4a3f1869e8a45a775d5f1b  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-longdouble.cpp
! 7c2a7aedfad6886902a44e101b954e36  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-longlong.cpp
! 8eaa31e8edd40970e7b4d86762001246  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-pointer.cpp
! 9be0647daaf876b6b3ff95395296ba62  gcc/testsuite/consistency.vlad/layout/c-pointer-2-c-short.cpp
! efe72bc00408301dee6cbb1cbc80e1ef  gcc/testsuite/consistency.vlad/layout/c-short-1-c-char.cpp
! 7ec584d86976fc5bd647642076082cd3  gcc/testsuite/consistency.vlad/layout/c-short-1-c-double.cpp
! fbbd29456779aed6c09b7ea644bff820  gcc/testsuite/consistency.vlad/layout/c-short-1-c-float.cpp
! 585cf42e90f2b331b45bf12dadffdf74  gcc/testsuite/consistency.vlad/layout/c-short-1-c-int.cpp
! 5906e4852884d1867a91d9b9993f446a  gcc/testsuite/consistency.vlad/layout/c-short-1-c-long.cpp
! 38c828d657c3454658ba3fb47ced7836  gcc/testsuite/consistency.vlad/layout/c-short-1-c-longdouble.cpp
! 850b39d9b18a533042311ff9f26009ea  gcc/testsuite/consistency.vlad/layout/c-short-1-c-longlong.cpp
! e0765eeb4ee5a613ea953a2590dfb5f5  gcc/testsuite/consistency.vlad/layout/c-short-1-c-pointer.cpp
! c4531acb02bd45e6c30eba3c8b50fa59  gcc/testsuite/consistency.vlad/layout/c-short-1-c-short.cpp
! 589c03e69335a9a238c97764e7aefc60  gcc/testsuite/consistency.vlad/layout/c-short-2-c-char.cpp
! 93fe2ff7a090fbd6ec3cc4ad950809d4  gcc/testsuite/consistency.vlad/layout/c-short-2-c-double.cpp
! d63cf97056233e0bbc82999705d8058b  gcc/testsuite/consistency.vlad/layout/c-short-2-c-float.cpp
! b530f0410b0e8172cdb3764a45eab5c7  gcc/testsuite/consistency.vlad/layout/c-short-2-c-int.cpp
! 5ca064fba8e65eeb1e01b4a15af03240  gcc/testsuite/consistency.vlad/layout/c-short-2-c-long.cpp
! 1ee8b09b350dda18839c1b982715ea74  gcc/testsuite/consistency.vlad/layout/c-short-2-c-longdouble.cpp
! 9b8fe81b60ca8db958bb3e636093b632  gcc/testsuite/consistency.vlad/layout/c-short-2-c-longlong.cpp
! a6a3d3ba1b9dcb6ee74127a9b1b96df1  gcc/testsuite/consistency.vlad/layout/c-short-2-c-pointer.cpp
! 845d2e7803ab670931dcf220890aeafc  gcc/testsuite/consistency.vlad/layout/c-short-2-c-short.cpp
! 1924c35c0eedf4d59316ba61f4622993  gcc/testsuite/consistency.vlad/layout/class-char-and-virtual.cpp
! 42fbee38881284fe745ab3811d1f58ba  gcc/testsuite/consistency.vlad/layout/class-double-and-virtual.cpp
! c2c68e0dafd5e6ca523658ebef17f6fd  gcc/testsuite/consistency.vlad/layout/class-float-and-virtual.cpp
! 04c79df1a0b7ee40854ed8f5322b7310  gcc/testsuite/consistency.vlad/layout/class-int-and-virtual.cpp
! 85d734aec9f30eaac6dcd95aa44ef572  gcc/testsuite/consistency.vlad/layout/class-long-and-virtual.cpp
! 1b6020c438154a4dc1b428e0f3626d91  gcc/testsuite/consistency.vlad/layout/class-longdouble-and-virtual.cpp
! 5f7fcac329a2b459b93de9480c9d2e04  gcc/testsuite/consistency.vlad/layout/class-longlong-and-virtual.cpp
! 7ecff188b0ed822af046ad815038e575  gcc/testsuite/consistency.vlad/layout/class-pointer-and-virtual.cpp
! 1a5eabc16cb55e65994e9f63ed22bfd9  gcc/testsuite/consistency.vlad/layout/class-short-and-virtual.cpp
! 13dd0392617b665c94d2c5a23052e6e0  gcc/testsuite/consistency.vlad/layout/endian.c
! 7283fd31524eeaa206738e73b012223e  gcc/testsuite/consistency.vlad/layout/f-0-0-5.c
! 5cd2aecb62bc0aec0f91f03778af3f09  gcc/testsuite/consistency.vlad/layout/f-0-20-17.c
! 6ae854908094afdca06b9a3cdd13e1cb  gcc/testsuite/consistency.vlad/layout/f-0-24-24.c
! 05eb4f5bd1c406ff74c411ed7dab2536  gcc/testsuite/consistency.vlad/layout/f-1-21-31.c
! 3bf5a8b623e649b1133e929fab179cb4  gcc/testsuite/consistency.vlad/layout/f-1-3-1.c
! 1d034fb3b261914f08aecccee7dcaa91  gcc/testsuite/consistency.vlad/layout/f-10-11-10.c
! dc152e2016d5750a17076330b4e921cd  gcc/testsuite/consistency.vlad/layout/f-11-12-10.c
! 6193b4c769d57bd2aa8addf28130fd79  gcc/testsuite/consistency.vlad/layout/f-14-22-10.c
! eb78165823b9ea4225213cd22ef884da  gcc/testsuite/consistency.vlad/layout/f-14-29-30.c
! ef4b70b513d4c962f18862c84944053d  gcc/testsuite/consistency.vlad/layout/f-14-31-26.c
! 6a760788352f45b624e1d2f8e0ebc3f1  gcc/testsuite/consistency.vlad/layout/f-14-8-9.c
! ddcc436031c5f248939cdb9ebf539541  gcc/testsuite/consistency.vlad/layout/f-15-1-22.c
! 56e8d1bc734f57e1d1b71a29bdf74d09  gcc/testsuite/consistency.vlad/layout/f-16-30-15.c
! 3599fe32403be733a2afaf258b9c09bf  gcc/testsuite/consistency.vlad/layout/f-17-17-2.c
! 8a8717a97e2d2fc1b1d73ad60413af1a  gcc/testsuite/consistency.vlad/layout/f-17-17-20.c
! 17ad0cf6ad2fd9f98966042a63957ee0  gcc/testsuite/consistency.vlad/layout/f-17-21-17.c
! 4fed39b687ca3eebbd62ffda8d60a238  gcc/testsuite/consistency.vlad/layout/f-18-15-30.c
! 315d612df238aebb733b86c2c8dd738f  gcc/testsuite/consistency.vlad/layout/f-18-26-0.c
! 42d0930c1c0b6622af834ff87c365848  gcc/testsuite/consistency.vlad/layout/f-18-26-11.c
! 1df3b5eee0bf92656205673fcbc049d0  gcc/testsuite/consistency.vlad/layout/f-18-4-17.c
! b14c16cb846fbb414eb3ac2da255f8b7  gcc/testsuite/consistency.vlad/layout/f-18-5-16.c
! 16ab077e700556599a624f04bb53786f  gcc/testsuite/consistency.vlad/layout/f-19-6-22.c
! 89172073e1fe09337be181ea8741c11e  gcc/testsuite/consistency.vlad/layout/f-2-25-27.c
! 863cc320a2fcfb9de3a4eb62382ae91c  gcc/testsuite/consistency.vlad/layout/f-20-19-9.c
! cabe9609c98a86ef29bb64af7be9a732  gcc/testsuite/consistency.vlad/layout/f-20-20-15.c
! 1fad1b8cb0f99e788d7a9d6258400f4a  gcc/testsuite/consistency.vlad/layout/f-20-26-14.c
! 0425f821fa94b559ff06e900c70f0f41  gcc/testsuite/consistency.vlad/layout/f-21-16-24.c
! 5075fb2c86610a6c1b01bcd9b8fae7c1  gcc/testsuite/consistency.vlad/layout/f-21-19-4.c
! 251647556045dd7fd4e601b5abd91b16  gcc/testsuite/consistency.vlad/layout/f-21-22-1.c
! c27b240db878b2b6201855269180e9ab  gcc/testsuite/consistency.vlad/layout/f-21-24-20.c
! 9601ccf26cac2d4f191fd25c30169e24  gcc/testsuite/consistency.vlad/layout/f-21-5-26.c
! 91c1de263f0ef0f71715019c301e3385  gcc/testsuite/consistency.vlad/layout/f-22-2-19.c
! 46e7c74721d885cdef25cb211827f6c2  gcc/testsuite/consistency.vlad/layout/f-22-2-28.c
! 4b2a9fac5643d95b70ff0f8e0c411a5c  gcc/testsuite/consistency.vlad/layout/f-23-17-8.c
! 0c8a98b6595cc9b9dbe5c7921913bbc5  gcc/testsuite/consistency.vlad/layout/f-24-18-9.c
! 042e57a1f2836d2e2a6592626301356c  gcc/testsuite/consistency.vlad/layout/f-24-27-8.c
! 14a8cb9f5afc1640fbcafd1df9c0d2d3  gcc/testsuite/consistency.vlad/layout/f-25-6-23.c
! fca0648712b49559286d8ee95c4a65cb  gcc/testsuite/consistency.vlad/layout/f-26-8-6.c
! a9d7da0127d254c8195581fdd9933c9a  gcc/testsuite/consistency.vlad/layout/f-27-22-7.c
! ffcc616c2df14ec63f5069426b64949a  gcc/testsuite/consistency.vlad/layout/f-29-16-7.c
! 66a38b460216907e8c34114c69434066  gcc/testsuite/consistency.vlad/layout/f-29-4-10.c
! 2d5488a0181c24f0224586a685152b58  gcc/testsuite/consistency.vlad/layout/f-3-7-1.c
! 921b8ba5fe74904f0f19dd041c957ebb  gcc/testsuite/consistency.vlad/layout/f-30-15-26.c
! 0a3cf9efbe1d2012e0cccbde56497d7c  gcc/testsuite/consistency.vlad/layout/f-30-24-30.c
! 266bcbf95d670720b753e8027b0006d2  gcc/testsuite/consistency.vlad/layout/f-31-28-16.c
! d5a52b6ea0d80930f18d3ce9d1721d2d  gcc/testsuite/consistency.vlad/layout/f-31-4-14.c
! b865c8c5c6fc9acecb3c78cda6fa5101  gcc/testsuite/consistency.vlad/layout/f-31-9-0.c
! 9a90d464d8147f3d1893f6b3a147fb95  gcc/testsuite/consistency.vlad/layout/f-4-14-29.c
! 44312fe27c9facaaf532073eca4176db  gcc/testsuite/consistency.vlad/layout/f-5-23-7.c
! 1abfc17aad6730cb0fb9b2f72e07c8fb  gcc/testsuite/consistency.vlad/layout/f-7-14-12.c
! 57a4f4a2048491250677de8d125a03ee  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/README
! 93ece0a777972d8f79e0440ad5a17047  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-char.out
! 93ece0a777972d8f79e0440ad5a17047  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-char.out++
! a601b7eebfab7661d23a37c74de45ae3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-double.out
! a601b7eebfab7661d23a37c74de45ae3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-double.out++
! eb72405f45e4b2eb5993570435c3db16  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-float.out
! eb72405f45e4b2eb5993570435c3db16  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-float.out++
! bf2d7b27776d0ae701d8c23038bdec51  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-int.out
! bf2d7b27776d0ae701d8c23038bdec51  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-int.out++
! 0894a6c53153fddda7807b302af17486  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-long.out
! 0894a6c53153fddda7807b302af17486  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-long.out++
! 0f3dee4278c4aba828f317cddfeedd53  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longdouble.out
! 0f3dee4278c4aba828f317cddfeedd53  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longdouble.out++
! 6c09b4a7670dc355ee5385c0b375a717  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longlong.out
! 6c09b4a7670dc355ee5385c0b375a717  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-longlong.out++
! 77548478be55b88125170fe1991cec4d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-char.out
! 77548478be55b88125170fe1991cec4d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-char.out++
! 3da32ed9a47a77da5110390732501790  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-double.out
! 3da32ed9a47a77da5110390732501790  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-double.out++
! e6a74b3a5f20873669a626f3c100942d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-float.out
! e6a74b3a5f20873669a626f3c100942d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-float.out++
! 309163fac0876e8d8cece14036827a73  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-int.out
! 309163fac0876e8d8cece14036827a73  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-int.out++
! 9b8745929963bbb3528c31652ba47a72  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-long.out
! 9b8745929963bbb3528c31652ba47a72  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-long.out++
! d224da983714fe86823eacb68a2e09eb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longdouble.out
! d224da983714fe86823eacb68a2e09eb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longdouble.out++
! aebb6ef71bb3eb9b63a1f3b3d4b5865a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longlong.out
! aebb6ef71bb3eb9b63a1f3b3d4b5865a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-longlong.out++
! b843cf7795e5b23bee08862d44e7fbea  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-pointer.out
! b843cf7795e5b23bee08862d44e7fbea  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-pointer.out++
! b0bc954aebb45211053892de6d26cb7e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-ptrdiff_t.out
! b0bc954aebb45211053892de6d26cb7e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-ptrdiff_t.out++
! c62ee275bc2e8bd34e8db2fc3adbbc7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-short.out
! c62ee275bc2e8bd34e8db2fc3adbbc7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-of-s-short.out++
! 4efbaf239ae4eead0726dd2a2d017254  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-pointer.out
! 4efbaf239ae4eead0726dd2a2d017254  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-pointer.out++
! cf31b19e610bce0d419e51f6211790e8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-ptrdiff_t.out
! cf31b19e610bce0d419e51f6211790e8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-ptrdiff_t.out++
! 6852385b2e90242e0b5a140464ccd20a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-short.out
! 6852385b2e90242e0b5a140464ccd20a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-short.out++
! c42bd9e348a2c27f69b51b1fdf3447b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-size_t.out
! c42bd9e348a2c27f69b51b1fdf3447b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-size_t.out++
! 873dc29f58be718e55b59651d1957686  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-wchar_t.out
! 873dc29f58be718e55b59651d1957686  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/a-wchar_t.out++
! 07a5bbee119f625a66a5f406d93febca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-bool.out++
! f794452deee2c50a0cab6ece53cad2ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-char.out
! f794452deee2c50a0cab6ece53cad2ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-char.out++
! 2a6da230ef472b801d025507904b2f38  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-double.out
! 2a6da230ef472b801d025507904b2f38  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-double.out++
! eeaa07b2a572c75cb80747f0ae21cbf3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-float.out
! eeaa07b2a572c75cb80747f0ae21cbf3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-float.out++
! 24f80b1a5356cbde8d29bb3b5e3b14c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-int.out
! 24f80b1a5356cbde8d29bb3b5e3b14c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-int.out++
! 8d9f9414ed7c662f3f0bbf581095b0ae  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-long.out
! 8d9f9414ed7c662f3f0bbf581095b0ae  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-long.out++
! 7b53980b123648f531c7264cd0cfa817  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longdouble.out
! 7b53980b123648f531c7264cd0cfa817  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longdouble.out++
! de75ffd5e75fb41c8713aa47cd622525  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longlong.out
! de75ffd5e75fb41c8713aa47cd622525  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-longlong.out++
! f78e9d4cb52cf702c11f7fde1735c143  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-pointer.out
! f78e9d4cb52cf702c11f7fde1735c143  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-pointer.out++
! 4c9c23bdba2dbc6124f365de647d0f68  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-ptrdiff.out
! 4c9c23bdba2dbc6124f365de647d0f68  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-ptrdiff.out++
! ed1dd11838b22b564f45ecb0ca4d8de7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-short.out
! ed1dd11838b22b564f45ecb0ca4d8de7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-short.out++
! 4d8a019a89f35027254121c86a8a25c1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-size.out
! 4d8a019a89f35027254121c86a8a25c1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-size.out++
! 79f2a6a94f628ffb883f889823cac20e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-wchar.out
! 79f2a6a94f628ffb883f889823cac20e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/align-wchar.out++
! 6fe053913441f207a16722c69f98c087  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/biggest-field-align.out
! 6fe053913441f207a16722c69f98c087  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/biggest-field-align.out++
! 5960d3ccc6ba860b9b7c7e7355b67cad  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-char.out++
! 03071f605f4beb967e3cbd03296b361b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-double.out++
! f720d70317611e9ee7bc993850d7f249  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-float.out++
! 29c836d92a372970cdde6cf8ad99c350  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-int.out++
! 5738b9d8e438b92edbaa0af1ebdd9223  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-long.out++
! 4c86089f413dd87d4f40bb7df48f43ad  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-longdouble.out+
! 1ae03eeabd9a9d7f1fc73d904b91baf7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-longlong.out++
! 2e759b6b1a9e54a777a15056877bc2b1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-pointer.out++
! 33455517ded32d3ef39298cb19e49140  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-1-c-short.out++
! 1ac013517a33a35c2c8c7e39fbb2f4b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-char.out++
! d90049a9ba3b4768706de0fc7d9520a9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-double.out++
! fc6f34793f75bce8e1d31c2e227dde21  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-float.out++
! 9fd7be3bb28f890df22581e25c37e452  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-int.out++
! 460d3a1b21520a6795495fdd80ad4da9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-long.out++
! 421456520b95fe2049ec8160986f53e0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-longdouble.out+
! 6cb21ba91fa888feabacbaaff2379875  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-longlong.out++
! 6715e8aa9a4d7eed879385caa1dc45a2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-pointer.out++
! 11728a2be46c115212466378b4cd7320  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-char-2-c-short.out++
! aa699f5302bb275f19ab590a2e2cb4a0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-char.out++
! 8e04ed88f5da34462e168bc6e4431a05  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-double.out++
! 6dc6735d6186e05f1a8faf98feb94d9c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-float.out++
! 3051935c50621aae3838ab4fc6a9c12d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-int.out++
! 7fcddf786f734d1a194d2050ac66c80a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-long.out++
! ef4af94c436255a001cb734feaaebb5a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-longlong.out+
! 7a543336bf4161bc5e127ed2a859c8c9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-pointer.out++
! fa25b34da294cbbcd6634addbd9fe1fb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-1-c-short.out++
! 4f763d813df9c995274ae11708dd08bd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-char.out++
! c156b1169712542cb03d5cd979a20934  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-double.out++
! 297d01835b9dec8452f84e726911ae6f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-float.out++
! 963802e8ace7f335cf1764fdd0c6fb75  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-int.out++
! fd09a6deba12073f43405194e3b3ebf0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-long.out++
! a02dc8182a75552a804a6155ec40f75e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-longlong.out+
! 053b0197212bfd48ee7b53accb5b732e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-pointer.out++
! f31ca0820e85a133c9ffdcbcce869710  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-double-2-c-short.out++
! 5474cc98086d62df3f970c044e63e83b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-char.out++
! 861e237f3db1989ccb7360a53aa3c66d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-double.out++
! 05ea6465a91577b48080d4b4e5a090ad  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-float.out++
! d29e08f4ef35b60bb77775d9e24e7a69  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-int.out++
! 065199d889ea44a175087f0743acf9fe  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-long.out++
! cf776d16285064b58bd479c5b34db755  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-longdouble.out
! e047a8c4e596fb5d3ae7920707f59b08  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-longlong.out++
! 239ec196a37306b91d7b5b15fe44f8f3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-pointer.out++
! 89a2bf3b1cae8a8f72b7095b6ece6866  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-1-c-short.out++
! ab5829bd953e0021ad2a8b7794534e92  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-char.out++
! d42d1a110339c2c953373837f2a10dcc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-double.out++
! 4f80540c2d0323339b4414d5e59f0b5a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-float.out++
! 51e5e1806e71c8f4084987fc67a8b47c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-int.out++
! 9f0620369027fa23797f0c0bfe147878  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-long.out++
! ea167446e49933e4a9154600bf10b591  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-longdouble.out
! a708ce7d64047bec753bce1d173ce444  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-longlong.out++
! 2aa25c34147af1a5340c3f455e4c5d74  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-pointer.out++
! edd8bf7f9bf06c06c3f630e146a42b69  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-float-2-c-short.out++
! dffab49d9e472f22984d66f15a03554d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-char.out++
! 9d19700225f2ff274058eebd33966dda  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-double.out++
! 8ea0b18e6107fc5ac8ff883703e5b35d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-float.out++
! 526fefbd1da954ec17525abd0829c447  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-int.out++
! a01cce38d3782cc0f87f1187ec4efa8f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-long.out++
! c3151059832f00e720889f967f736d4c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-longdouble.out++
! efc92850e18104793bae17fe99dd4f0a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-longlong.out++
! 6fd5e327a3bdfa653b04636ed18c6865  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-pointer.out++
! c147ec2852a71c14add80b038afc3d51  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-1-c-short.out++
! dd4ce5922642688e647a5a2dfa0db637  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-char.out++
! 9b8e6be2173e8d07a442a04111805043  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-double.out++
! ed2c65bb60c71757f9f980fa687b6c25  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-float.out++
! a98bd1b8d47295c06711e1d0aeb514e7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-int.out++
! 7e37a5eaa94ea534f15badc9e72ec526  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-long.out++
! 704957634247d695c7539f6667c3205c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-longdouble.out++
! 6dcc9261a05b81864c0401cd6e6b1d69  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-longlong.out++
! d783b763ab5f7c8d0de97042fa60e3f0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-pointer.out++
! 96e28217341eb33ec4603340280e3d1e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-int-2-c-short.out++
! 9bba658ad6e761a13975327f852fa63e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-char.out++
! 601178c6f3e06052b0505456186987a4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-double.out++
! ac9bfa2b1f7cfd544e364aff0c927dd2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-float.out++
! 9065ac78999e435cfd8c30ca3ae5717c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-int.out++
! cd838e24cb0a14a26b4f6647ef589369  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-long.out++
! 000aa512cbe936ed898c94dc944a4b93  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-longdouble.out+
! 71e9fab882adeb8ded4820da6a541fba  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-longlong.out++
! 7df59714b57df85c016cd6125af01184  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-pointer.out++
! ddf59a4f6f45f9afddc7441718b38797  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-1-c-short.out++
! 3a9729091c1524d856ac20acf30cf960  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-char.out++
! f0f17a6f3c901361af629bcb3a8579e5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-double.out++
! ede4cefe5e63b3999a84ad65b04b8449  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-float.out++
! 6e95b8b3589a4b0a4aa5fe5ea6f4ade1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-int.out++
! 00a9844e214de8a338ace20b08277fff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-long.out++
! d5cd6c423f3b47107e547482c8458eeb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-longdouble.out+
! bbdc63f773ee3c9d9533472701b51074  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-longlong.out++
! dbab8bc0be86ff5a25ededadbe604e07  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-pointer.out++
! e8bf6c4f9b14ed082bc8b1e7bc9a653f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-long-2-c-short.out++
! 50bae4a91cacf97adbf5ade8470e836c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-char.out+
! efd1f4e7f94b91569b08773b5c2cf2e9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-float.out
! c3f7bb1dacd75c6c699b0c6b705de553  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-int.out++
! 379d47a164b77d0c31d489b158e2b987  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-long.out+
! f843d70fa44de3eb09ecc3121fb462d9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-1-c-short.out
! 4683ef88a8dc284928bb686afe725c25  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-char.out+
! fae67a4712fc84ad4f23259e228f72d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-float.out
! ccc18957109cf28636f217e6493e1cf0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-int.out++
! 02d7482c0e306c8109598bf58c19b608  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-long.out+
! c361499596807664639ad1d587cdda9c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longdouble-2-c-short.out
! 2d57df6448ad61c6ce6106a239253be6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-char.out++
! 62ca5eb93cf39063442041cb9331bcea  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-double.out+
! 84fd5d999e5717378114ced49d5f5faa  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-float.out++
! 76527bb936b1196163c5584d32658224  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-int.out++
! 02f3d0be9f4d7d87d96351b333e025f3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-long.out++
! 0726e1024a50d83e9d6b5efeba855e88  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-pointer.out
! aa437ff756d5202cfba588b9d0399516  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-1-c-short.out++
! 8d8d1b94218e618a5d9102bac58732bc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-char.out++
! 45ff411d550072ed3b562ff01ed70fc3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-double.out+
! 5651da87ce8c4b614e3dc5b1a4420364  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-float.out++
! 162744c7bc5a4f28912dfce23a485087  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-int.out++
! cc67dd1541cc0adbca62dc589c059016  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-long.out++
! 8fc530239d7e4227e7df338fa68b622e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-pointer.out
! 18add6c3ee58fa5a7a0872aea4d852b5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-longlong-2-c-short.out++
! eb8d50b9329f22be63ffbc6aaa6e99d2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-char.out++
! d4be33cbd19d207b5522219308ac413f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-double.out++
! 2382b40048267619076deebb732d2e72  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-float.out++
! 1d93af05d4594498bc161b6712cf0617  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-int.out++
! 7c455df7efd863398c458067059a27cc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-long.out++
! 7aeb83a242484b7b5389c8605c58644c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-longlong.out
! a574cd253b7c02aea9a969631319af2b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-pointer.out+
! d5fdb7a8aa55daa2db5c78ca09d0bb71  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-1-c-short.out++
! ba8cc18d9545ed258600c0ffdaea2779  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-char.out++
! e8cd2376cf00a6ee17a7b867fa9e11a9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-double.out++
! 57b1b484555d7a5dec66626fb1402999  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-float.out++
! d8e17e86814da868cb51804aab5d59ce  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-int.out++
! cc199a0d813e79ccbf4fe8170a426472  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-long.out++
! 49d2746919fe5d881e1131e49f60d5b1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-longlong.out
! 199d19b2ebe187d5a1873e9c2d1cc35a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-pointer.out+
! 98f421f6cf5ef23389521e91f24ea9c9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-pointer-2-c-short.out++
! 7c25a48b260643ad2d297302ec381edb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-char.out++
! c765af032cad44e681254930f7756265  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-double.out++
! aa442d4c6330476347a51eb0378a89fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-float.out++
! 21240c3aaaa3e45a7e577c4f23546d85  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-int.out++
! ba67eea01d880a820c4baea36986d8b6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-long.out++
! 77db28dec6baca8ec0729812bba31518  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-longdouble.out
! 11951c340a5202d29113a7161fd52a43  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-longlong.out++
! b212c36672b099fb0a9e4209d42b6336  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-pointer.out++
! c1124ca48f058399bd3273fc5f6d3bdc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-1-c-short.out++
! a7f661a7c76501e8b36d48c3e568b4f6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-char.out++
! 8bfb7fe8a1d94fcb1920ad7eebe805ec  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-double.out++
! 6d3ed40ed306e2b58aa324eeb3cd9027  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-float.out++
! 194529a3975eda7bd864c93b0ee75469  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-int.out++
! e74c371e460e028c450f2ec619bae49f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-long.out++
! be7f7c22820aa9011182e576fbc0526b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-longdouble.out
! 9689734de99d8575c6a37a732358237f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-longlong.out++
! 7ff44ccd7488c10538863d0dcbf174bf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-pointer.out++
! 1328551003bfd7218e6041a0eb95583f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/c-short-2-c-short.out++
! 9c4d8f46d4176764d05b38b4f8bd7c3b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-char-and-virtual.out
! d33179af8b5e9b388c28b0898f513944  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-int-and-virtual.out+
! 1d4bf14f5fa17b140d42e7f45f9478ae  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/class-long-and-virtual.out
! d8c2ce6bac858a59ab000687bd503aa1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/endian.out
! d8c2ce6bac858a59ab000687bd503aa1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/endian.out++
! 0ab613dabebab954d59e011104756218  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-0-5.out
! fdc5cf515db408eb6a4101a13002e4b5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-0-5.out++
! 2b95e2b137a3e86c5a42fca14848fb9d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-20-17.out
! d92d559b2598165e41fc19923a47941e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-20-17.out++
! f24211ab036d8386f108415f2c104886  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-24-24.out
! d088884d20f70739013bce491b483d5d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-0-24-24.out++
! aea454d0c497f93963e8ff9c68dfb8ee  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-21-31.out
! aea454d0c497f93963e8ff9c68dfb8ee  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-21-31.out++
! 1bee3b56b3c2ac451020e9c359ff454d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-3-1.out
! 1bee3b56b3c2ac451020e9c359ff454d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-1-3-1.out++
! 21c716f5eb8fca66223ffafea578b790  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-10-11-10.out
! 21c716f5eb8fca66223ffafea578b790  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-10-11-10.out++
! 81433107c570ed4eb80f5454d77ef917  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-11-12-10.out
! 81433107c570ed4eb80f5454d77ef917  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-11-12-10.out++
! 30d72ffee2b16eea7b90aabc99dfb670  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-22-10.out
! 30d72ffee2b16eea7b90aabc99dfb670  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-22-10.out++
! f9fb0b5e6953d765c53a98148c5a5be3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-29-30.out
! f9fb0b5e6953d765c53a98148c5a5be3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-29-30.out++
! 07b7540864e8f6d75da2d60229b9e377  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-31-26.out
! 07b7540864e8f6d75da2d60229b9e377  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-31-26.out++
! 5649ed3f4c73b2d61074f566a7c2c32b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-8-9.out
! 5649ed3f4c73b2d61074f566a7c2c32b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-14-8-9.out++
! 41cc804efdbab2573ceb52344974c1bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-15-1-22.out
! 41cc804efdbab2573ceb52344974c1bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-15-1-22.out++
! 15b49c0d2a3aec0efd4f8fcced0a9762  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-16-30-15.out
! 15b49c0d2a3aec0efd4f8fcced0a9762  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-16-30-15.out++
! fa6a7547c8164b770f46609ff796411d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-2.out
! fa6a7547c8164b770f46609ff796411d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-2.out++
! b86d53e80a53fc34a2a829b33a6b0176  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-20.out
! b86d53e80a53fc34a2a829b33a6b0176  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-17-20.out++
! 53001a9e05a4dbec4d1aa23a7f9e8207  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-21-17.out
! 53001a9e05a4dbec4d1aa23a7f9e8207  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-17-21-17.out++
! aea3ec049cafc12ea352e14e7a8ce1c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-15-30.out
! aea3ec049cafc12ea352e14e7a8ce1c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-15-30.out++
! 64febbc49068f3eada28cdd93df4d17c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-0.out
! 89fba38ed866ef4355fb7f967ff4a152  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-0.out++
! 8a4a3a27bfe3ad39a75a8cf116521ce8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-11.out
! 8a4a3a27bfe3ad39a75a8cf116521ce8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-26-11.out++
! cf8779735f597750d370162a8debacf5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-4-17.out
! cf8779735f597750d370162a8debacf5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-4-17.out++
! cb8d18749a8bf4ee5d931e42204078ff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-5-16.out
! cb8d18749a8bf4ee5d931e42204078ff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-18-5-16.out++
! b30ece7554014c81548a84742687d3d7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-19-6-22.out
! b30ece7554014c81548a84742687d3d7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-19-6-22.out++
! 32eb9d87f20b7eb5834db2464ef25289  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-2-25-27.out
! 32eb9d87f20b7eb5834db2464ef25289  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-2-25-27.out++
! 22adbaf4e314d9708c66e3b81368d646  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-19-9.out
! 22adbaf4e314d9708c66e3b81368d646  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-19-9.out++
! 859d9469473a70a326adf38cb17f8937  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-20-15.out
! 859d9469473a70a326adf38cb17f8937  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-20-15.out++
! 246089845109634768daeba442b5c77f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-26-14.out
! 246089845109634768daeba442b5c77f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-20-26-14.out++
! 1bb885aa86738861e4aeb011696d1cc2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-16-24.out
! 1bb885aa86738861e4aeb011696d1cc2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-16-24.out++
! 24c78070e261d877844b92a6447c0bcc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-19-4.out
! 24c78070e261d877844b92a6447c0bcc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-19-4.out++
! 616834853e73781585da8dea184321dc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-22-1.out
! 616834853e73781585da8dea184321dc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-22-1.out++
! fb7a69b7210c0351c78c89d1782f847d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-24-20.out
! fb7a69b7210c0351c78c89d1782f847d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-24-20.out++
! d3cc24ccace58f7927c25d50a0b47714  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-5-26.out
! d3cc24ccace58f7927c25d50a0b47714  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-21-5-26.out++
! 785fcb0a9388aeafea38dde70ed4dc90  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-19.out
! 785fcb0a9388aeafea38dde70ed4dc90  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-19.out++
! 9b3ba18d3f9fcebaa6f477314796c50f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-28.out
! 9b3ba18d3f9fcebaa6f477314796c50f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-22-2-28.out++
! 56bb454fb2fd24266bf7f47da54c8378  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-23-17-8.out
! 56bb454fb2fd24266bf7f47da54c8378  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-23-17-8.out++
! 0dd59742a8e9b956c2e8fdd02ce95182  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-18-9.out
! 0dd59742a8e9b956c2e8fdd02ce95182  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-18-9.out++
! ac529800b7594aa6123787ce4d0d82d6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-27-8.out
! ac529800b7594aa6123787ce4d0d82d6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-24-27-8.out++
! cea0d76b4dd02a7ffd6ec18bf9cf6c48  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-25-6-23.out
! cea0d76b4dd02a7ffd6ec18bf9cf6c48  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-25-6-23.out++
! b258858b40616e34b8af1a5dff26d321  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-26-8-6.out
! b258858b40616e34b8af1a5dff26d321  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-26-8-6.out++
! 86b1deae228ed2816cbf43ab6c9009b0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-27-22-7.out
! 86b1deae228ed2816cbf43ab6c9009b0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-27-22-7.out++
! 253af196c2f8231faf12d1a751abcd30  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-16-7.out
! 253af196c2f8231faf12d1a751abcd30  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-16-7.out++
! 33e30e052d857326d341ad65f4aa5d4f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-4-10.out
! 33e30e052d857326d341ad65f4aa5d4f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-29-4-10.out++
! 16986d8e496ce0eedcf1c250b8a0fd6a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-3-7-1.out
! 16986d8e496ce0eedcf1c250b8a0fd6a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-3-7-1.out++
! 9ba07f8259c244c6a01d85d78cca5478  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-15-26.out
! 9ba07f8259c244c6a01d85d78cca5478  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-15-26.out++
! 22285d0a218ca4caa939404b9007c6d2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-24-30.out
! 22285d0a218ca4caa939404b9007c6d2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-30-24-30.out++
! e3d298b4f6509396775bf50c583da256  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-28-16.out
! e3d298b4f6509396775bf50c583da256  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-28-16.out++
! f9ccc5f6d18da2e9f8dc6ecb1a8e0a47  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-4-14.out
! f9ccc5f6d18da2e9f8dc6ecb1a8e0a47  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-4-14.out++
! 98d998263aef1b0263e51e156dc64065  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-9-0.out
! e5d5fef66535dd104a65cb6d90e8d03a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-31-9-0.out++
! 85bab01dfcbbb0509dabc715d2899682  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-4-14-29.out
! 85bab01dfcbbb0509dabc715d2899682  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-4-14-29.out++
! 009b70ab01c1211b105a6fe01075f470  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-5-23-7.out
! 009b70ab01c1211b105a6fe01075f470  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-5-23-7.out++
! e2b23871dec3b83f5ab651900e426c26  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-7-14-12.out
! e2b23871dec3b83f5ab651900e426c26  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/f-7-14-12.out++
! a56aa5e341461fe773b57de69b910fbe  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-char.out
! a56aa5e341461fe773b57de69b910fbe  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-char.out++
! d574c8a98a285e6d7710ac1cd070470a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-double.out
! d574c8a98a285e6d7710ac1cd070470a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-double.out++
! 1cf9d51930d849d770a6b92a6a41ca4a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-float.out
! 1cf9d51930d849d770a6b92a6a41ca4a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-float.out++
! b833a96824389fdce36d662f6cd80aa7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-int.out
! b833a96824389fdce36d662f6cd80aa7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-int.out++
! 6229af593b56078519b09edca278470f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-long.out
! 6229af593b56078519b09edca278470f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-long.out++
! 4790d396771ed566ced8f36f2dc4325c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longdouble.out
! 4790d396771ed566ced8f36f2dc4325c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longdouble.out++
! 5338b7c31b381322020a8f697dfed9a9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longlong.out
! 5338b7c31b381322020a8f697dfed9a9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-longlong.out++
! 7f02369d272c08d5599187097857218e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-pointer.out
! 7f02369d272c08d5599187097857218e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-pointer.out++
! 6bf380aeb3073114b580d78145e0c4d6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-short.out
! 6bf380aeb3073114b580d78145e0c4d6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-a-short.out++
! 73ddd3e30fd8f5fa1dafae83723ddc22  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-char.out
! 73ddd3e30fd8f5fa1dafae83723ddc22  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-char.out++
! ea0048356e44e75b039c5cef7862dbdc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-double.out
! ea0048356e44e75b039c5cef7862dbdc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-double.out++
! 03c787efce0ce4b8e6b69c0f8fe4397a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-float.out
! 03c787efce0ce4b8e6b69c0f8fe4397a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-float.out++
! ec721439a304f73c028cce0cc93a0427  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-int.out
! ec721439a304f73c028cce0cc93a0427  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-int.out++
! 2033f57db5cf0da49b6e6108deb041c3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-long.out
! 2033f57db5cf0da49b6e6108deb041c3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-long.out++
! 0383c56e9b28b2c1534c245d25859521  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longdouble.out
! 0383c56e9b28b2c1534c245d25859521  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longdouble.out++
! 9e39ceaea51379a49b3ea9f592961075  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longlong.out
! 9e39ceaea51379a49b3ea9f592961075  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-longlong.out++
! 47fe364404fc7cecf99748e45bafaed3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-pointer.out
! 47fe364404fc7cecf99748e45bafaed3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-pointer.out++
! faffdc7f682abb66f52b37133b249ddf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-ptrdiff_t.out
! faffdc7f682abb66f52b37133b249ddf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-ptrdiff_t.out++
! 6732e06a494d66ed6df4e2a7da0f9f93  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-char.out
! 6732e06a494d66ed6df4e2a7da0f9f93  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-char.out++
! 0395c4d8fe3d2ee4f6bb587be7623803  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-double.out
! 0395c4d8fe3d2ee4f6bb587be7623803  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-double.out++
! 3395184b017d5937d30ecd82579cd136  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-float.out
! 3395184b017d5937d30ecd82579cd136  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-float.out++
! 9dd4ed5df787242a55ede4438b87721e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-int.out
! 9dd4ed5df787242a55ede4438b87721e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-int.out++
! 4f938d65fad6c1e1a2b87709a68219a6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-long.out
! 4f938d65fad6c1e1a2b87709a68219a6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-long.out++
! 112bfaecc10cd4e2be5869b93474293b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longdouble.out
! 112bfaecc10cd4e2be5869b93474293b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longdouble.out++
! 0a3633d2d616dcf88312aa77acac5244  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longlong.out
! 0a3633d2d616dcf88312aa77acac5244  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-longlong.out++
! ea80f92f44ad50aa5d4c2366571c4dff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-pointer.out
! ea80f92f44ad50aa5d4c2366571c4dff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-pointer.out++
! bc3ad96ef280a9731c29525147609651  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-short.out
! bc3ad96ef280a9731c29525147609651  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-s-short.out++
! 01e08fd1ef1e60a942e348d3d99d6e27  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-short.out
! 01e08fd1ef1e60a942e348d3d99d6e27  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-short.out++
! 9cd67dd4ff3d440eafb924466beef52b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-size_t.out
! 9cd67dd4ff3d440eafb924466beef52b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-size_t.out++
! ed140501cd62e9b5cb1201e067584572  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-wchar_t.out
! ed140501cd62e9b5cb1201e067584572  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-wchar_t.out++
! 94e14dc6a264bacf3394824317ed7f5d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-char.out
! d088f1f6f7e191daca4621c96ea661ee  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-char.out++
! 153dab31caf10c4f21062e8688d93e10  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-int.out
! 552b63801e08be2867ad38b4066ff956  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-int.out++
! df32be72848b23a0159788afaff5aaa2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-long.out
! 8e3642e964995d755aa2a6425a36fe58  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-long.out++
! cb1ff9c63d8f1c3dbb05a3ec5459df41  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-longlong.out
! 57e76cb849ced970b756561532f2b170  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-longlong.out++
! ce16ad97c84ccfdd726016690ea97734  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-short.out
! 5073ae58ffee6c641e649460f17c3b0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-char-zf-short.out++
! 6cb62604ce3148afec49842c5393748a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-char.out
! 6cb62604ce3148afec49842c5393748a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-char.out++
! da8938aadd73a8599c9cf2eb53f67bca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-double.out
! da8938aadd73a8599c9cf2eb53f67bca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-double.out++
! 5cfafee166e6bf49c157ccbc1da151f2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-float.out
! 5cfafee166e6bf49c157ccbc1da151f2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-float.out++
! 2847e972f55d0a26ce17984282c7584b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-int.out
! 2847e972f55d0a26ce17984282c7584b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-int.out++
! 7663af34e472de05272ac8810e383bf2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-long.out
! 7663af34e472de05272ac8810e383bf2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-long.out++
! 1f5cacdadf31dc2922c6d293594f20b1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out
! 1f5cacdadf31dc2922c6d293594f20b1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longdouble.out+
! d1869bb77cba5a8be6a90fbea051ec17  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longlong.out
! d1869bb77cba5a8be6a90fbea051ec17  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-longlong.out++
! b629f9f57065ccf2ea6efb2d5e3f0448  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-pointer.out
! b629f9f57065ccf2ea6efb2d5e3f0448  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-pointer.out++
! 592da80a97ef1ee060dfe7a3c9d1dd0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-short.out
! 592da80a97ef1ee060dfe7a3c9d1dd0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-a-short.out++
! 4fde5e902efdb760811e89660c923266  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-char.out
! 4fde5e902efdb760811e89660c923266  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-char.out++
! d875ad9e3b4eb09a08dcb266fbfeb118  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-double.out
! d875ad9e3b4eb09a08dcb266fbfeb118  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-double.out++
! 29e2e0ec07aa60f33e25412d7cbf2167  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-float.out
! 29e2e0ec07aa60f33e25412d7cbf2167  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-float.out++
! 35932b06165bea0d4248b1dced3d073b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-int.out
! 35932b06165bea0d4248b1dced3d073b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-int.out++
! 8417cfe03f43c2be31ab34b4daa8619d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-long.out
! 8417cfe03f43c2be31ab34b4daa8619d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-long.out++
! dca76e69f2fae8f521328467ec48f7f5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longdouble.out
! dca76e69f2fae8f521328467ec48f7f5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longdouble.out++
! 579ef6b55707109fb3fae0f44a086227  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longlong.out
! 579ef6b55707109fb3fae0f44a086227  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-longlong.out++
! 88476b5d77a3fa01a93bc8a6566dfea7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-pointer.out
! 88476b5d77a3fa01a93bc8a6566dfea7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-pointer.out++
! 1683aaa4153af78b4a72dc9933e99e86  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-ptrdiff_t.out
! 1683aaa4153af78b4a72dc9933e99e86  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-ptrdiff_t.out++
! 5353a29acb59bef5bf26794dce80adc8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-char.out
! 5353a29acb59bef5bf26794dce80adc8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-char.out++
! cda9a6113aa890fc29c3810be46bcb2b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-double.out
! cda9a6113aa890fc29c3810be46bcb2b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-double.out++
! ad9ae70239518a4eb182dec3927ac861  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-float.out
! ad9ae70239518a4eb182dec3927ac861  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-float.out++
! 438dafbf80fbedc0109aad6fbb33f14d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-int.out
! 438dafbf80fbedc0109aad6fbb33f14d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-int.out++
! c06ed9d29dc3b1257df56ce2c75b6103  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-long.out
! c06ed9d29dc3b1257df56ce2c75b6103  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-long.out++
! b6164f2ecfb1a9af9f3d7ac0ddbee41e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longdouble.out
! b6164f2ecfb1a9af9f3d7ac0ddbee41e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longdouble.out+
! 54cddce6023f6160b87a43808d279401  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longlong.out
! 54cddce6023f6160b87a43808d279401  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-longlong.out++
! 1404e469feca31c8da1d3b49c9f692a4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-pointer.out
! 1404e469feca31c8da1d3b49c9f692a4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-pointer.out++
! f61eb2e2a397d5724e70509d1ed096cb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-short.out
! f61eb2e2a397d5724e70509d1ed096cb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-s-short.out++
! 24e8ecbb8ce997d4b8de8f1654e18824  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-short.out
! 24e8ecbb8ce997d4b8de8f1654e18824  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-short.out++
! 3ebe19ae8c61c263aeab327a83fc3efa  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-size_t.out
! 3ebe19ae8c61c263aeab327a83fc3efa  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-size_t.out++
! b7f4cbf820c74dd679599a97d77c43c6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-wchar_t.out
! b7f4cbf820c74dd679599a97d77c43c6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-wchar_t.out++
! 6107f3608a27ab9bb42b985b8ef93c55  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-char.out
! 4a2cd92c9b011e9d615f994510a655a2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-char.out++
! 80a96df1f3768899e3cb0739dcf7c1cc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-int.out
! 404eb1c6d7f302d0044237cca5811d0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-int.out++
! 9c6cd7256ad248beeddc488f932fb2ad  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-long.out
! 41f59a2f5673832bc6fb38f46522338b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-long.out++
! 6b61b258f2d8756aeb5d95e433c35a9e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-longlong.out
! 1ae516f2a9b95c1a40d9cda214c479aa  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-longlong.out++
! 8f7dd8d3b1c00f1661516dbd9a400396  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-short.out
! a2e15766e942161fa737b1861a093173  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-double-zf-short.out++
! 3313439f1f04cfd946f2753828e7a24e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-char.out
! 3313439f1f04cfd946f2753828e7a24e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-char.out++
! a69380a43bbb65e6b71a21d58c5c6560  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-double.out
! a69380a43bbb65e6b71a21d58c5c6560  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-double.out++
! 3482d27622d711f0a83c0d5d57bfda32  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-float.out
! 3482d27622d711f0a83c0d5d57bfda32  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-float.out++
! 798c4018defbd06c743bc84e3baa1eb1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-int.out
! 798c4018defbd06c743bc84e3baa1eb1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-int.out++
! 95d9a6a54153a8dede2fdc1e78b578a1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-long.out
! 95d9a6a54153a8dede2fdc1e78b578a1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-long.out++
! f035126647b262fec961752f91187c97  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longdouble.out
! f035126647b262fec961752f91187c97  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longdouble.out++
! 94d408acdca0325920e584f2d98804f5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longlong.out
! 94d408acdca0325920e584f2d98804f5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-longlong.out++
! e9e54221d54972d07c8d76936306f4ed  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-pointer.out
! e9e54221d54972d07c8d76936306f4ed  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-pointer.out++
! 7eb25f67f2fdbc7caf2fc777e58390d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-short.out
! 7eb25f67f2fdbc7caf2fc777e58390d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-a-short.out++
! 80879fd44d82938e56ae95a6261bfc20  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-char.out
! 80879fd44d82938e56ae95a6261bfc20  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-char.out++
! d3dee55b63de6b2013e83023b6fca9f3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-double.out
! d3dee55b63de6b2013e83023b6fca9f3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-double.out++
! b723691fc9355d82ff49d650aaaece5b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-float.out
! b723691fc9355d82ff49d650aaaece5b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-float.out++
! 82c80538aadb3695d45ff409882bd755  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-int.out
! 82c80538aadb3695d45ff409882bd755  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-int.out++
! 4e21c65e9a2aa3c39d582c818d190aef  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-long.out
! 4e21c65e9a2aa3c39d582c818d190aef  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-long.out++
! e6663cc7d49f9637afc4d0813d001137  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longdouble.out
! e6663cc7d49f9637afc4d0813d001137  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longdouble.out++
! a0c66cc66da2cffffd0983215e7b6dd1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longlong.out
! a0c66cc66da2cffffd0983215e7b6dd1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-longlong.out++
! 800951d9bfa63bd93bab38425edcd30b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-pointer.out
! 800951d9bfa63bd93bab38425edcd30b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-pointer.out++
! 2edcbc51ba70a7851b89b2714b26f342  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-ptrdiff_t.out
! 2edcbc51ba70a7851b89b2714b26f342  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-ptrdiff_t.out++
! 2fd7f52f40449c0e6702b5463f5da187  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-char.out
! 2fd7f52f40449c0e6702b5463f5da187  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-char.out++
! bfa0a3bbce0c81cfe501f2c2f81ab9b8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-double.out
! bfa0a3bbce0c81cfe501f2c2f81ab9b8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-double.out++
! 1d18d4f40e1f9c380bb1a11c62675a42  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-float.out
! 1d18d4f40e1f9c380bb1a11c62675a42  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-float.out++
! 555ef1df86eeb38df8519a5acdec1136  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-int.out
! 555ef1df86eeb38df8519a5acdec1136  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-int.out++
! d2e321609e0c8efda88ca61ebc5482bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-long.out
! d2e321609e0c8efda88ca61ebc5482bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-long.out++
! a7f210936a6c157d301547e122f07858  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longdouble.out
! a7f210936a6c157d301547e122f07858  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longdouble.out++
! 95c5f94cf81751abee6e957d851002fc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longlong.out
! 95c5f94cf81751abee6e957d851002fc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-longlong.out++
! 35c5d18b42241c8395c3f66d4b206e56  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-pointer.out
! 35c5d18b42241c8395c3f66d4b206e56  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-pointer.out++
! 5d5c346305e7d794cf000e0372c65fbc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-short.out
! 5d5c346305e7d794cf000e0372c65fbc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-s-short.out++
! 0986ee8564c6d31fb935fc5d9774251a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-short.out
! 0986ee8564c6d31fb935fc5d9774251a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-short.out++
! 78a529fb5be45d0bdd0dc089f5b07556  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-size_t.out
! 78a529fb5be45d0bdd0dc089f5b07556  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-size_t.out++
! 4cb4d31aae81b5039c28d0f886de6edb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-wchar_t.out
! 4cb4d31aae81b5039c28d0f886de6edb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-wchar_t.out++
! a2fabb7e654f39197f739db8348b58a3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-char.out
! 1c88bb30222c3bd53465983ac992b12a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-char.out++
! 1cdd6d0b90ed8f5e80b43914cb1c57da  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-int.out
! 9ce403351585799f208aa75f40e221c9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-int.out++
! 3c9064cea3461c6db1c2887c09ec2c56  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-long.out
! 111a768f5c305a670e6245430e50fe56  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-long.out++
! a175a43c09a04c759ce6fb8026fdd05b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-longlong.out
! 0ab73eef8d17549cacc3d988f8298375  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-longlong.out++
! 22b9f6294bcd638a5da12c919c144637  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-short.out
! d38b5254d6cebbecd4c7515e69024bc5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-float-zf-short.out++
! a41ef4c2a5599c800207686e90b20dc9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-char.out
! a41ef4c2a5599c800207686e90b20dc9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-char.out++
! c0f571733fc9895c3d2ad0d71e91960e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-double.out
! c0f571733fc9895c3d2ad0d71e91960e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-double.out++
! 649884d28d7d7e18d8e7e6dfba096447  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-float.out
! 649884d28d7d7e18d8e7e6dfba096447  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-float.out++
! d3c4a66ea3ef7f2582a2466443501175  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-int.out
! d3c4a66ea3ef7f2582a2466443501175  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-int.out++
! f141d8e03fa146853930aed778c9c8d0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-long.out
! f141d8e03fa146853930aed778c9c8d0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-long.out++
! 0ecc9bae2d01292e9da7663d8c9f7ba4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longdouble.out
! 0ecc9bae2d01292e9da7663d8c9f7ba4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longdouble.out++
! f5ce244d762b0b21669d9b7f07f185c0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longlong.out
! f5ce244d762b0b21669d9b7f07f185c0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-longlong.out++
! c9bcfd1c447274517a25479b6f752191  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-pointer.out
! c9bcfd1c447274517a25479b6f752191  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-pointer.out++
! f62f5f5c2cae923e92a6c4a33ed42ecf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-short.out
! f62f5f5c2cae923e92a6c4a33ed42ecf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-a-short.out++
! 70444bf843b1a4d477d9e5d4765b84ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-char.out
! 70444bf843b1a4d477d9e5d4765b84ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-char.out++
! faa50f001bb16874c68f77150c7e0d20  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-double.out
! faa50f001bb16874c68f77150c7e0d20  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-double.out++
! 7cabd940efa43310ac0d7fc679b3f8df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-float.out
! 7cabd940efa43310ac0d7fc679b3f8df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-float.out++
! 5057e586be38b3d68e0cbdbebb243686  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-int.out
! 5057e586be38b3d68e0cbdbebb243686  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-int.out++
! f3553487729116f058ba5a99526da5b9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-long.out
! f3553487729116f058ba5a99526da5b9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-long.out++
! d2ad4fe059ca7ec3f9807a41ed80da4a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longdouble.out
! d2ad4fe059ca7ec3f9807a41ed80da4a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longdouble.out++
! f27a7d6988eb33b5be1d9ec80635a828  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longlong.out
! f27a7d6988eb33b5be1d9ec80635a828  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-longlong.out++
! 0d0ca94f2f83687f74d77d3e95749711  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-pointer.out
! 0d0ca94f2f83687f74d77d3e95749711  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-pointer.out++
! 12c1d3e66338d3978d40a59d8add54b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-ptrdiff_t.out
! 12c1d3e66338d3978d40a59d8add54b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-ptrdiff_t.out++
! db009a736a997c2b02864d513b2a778e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-char.out
! db009a736a997c2b02864d513b2a778e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-char.out++
! d56576daea3e4c1fa4050651e386c2ab  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-double.out
! d56576daea3e4c1fa4050651e386c2ab  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-double.out++
! 5139b277aba9fd58caac480794ce6f78  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-float.out
! 5139b277aba9fd58caac480794ce6f78  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-float.out++
! 16aa2205fd8912deda1b5e117327aa83  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-int.out
! 16aa2205fd8912deda1b5e117327aa83  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-int.out++
! ad5a591d96e0891978f5f21ed6daffd1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-long.out
! ad5a591d96e0891978f5f21ed6daffd1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-long.out++
! fc199a90f659741cb7658e1808bcc13e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longdouble.out
! fc199a90f659741cb7658e1808bcc13e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longdouble.out++
! 9dd80b95bef48183060bb200aea2dd2d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longlong.out
! 9dd80b95bef48183060bb200aea2dd2d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-longlong.out++
! 3cc15a633c040f09f11c88c0a72aceb5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-pointer.out
! 3cc15a633c040f09f11c88c0a72aceb5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-pointer.out++
! 355d4395e604b36db54e166120ba05bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-short.out
! 355d4395e604b36db54e166120ba05bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-s-short.out++
! cccc4dbc24a62f45c70dd5f85f613f99  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-short.out
! cccc4dbc24a62f45c70dd5f85f613f99  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-short.out++
! fe577224cd9b57ac1ff11d148c716936  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-size_t.out
! fe577224cd9b57ac1ff11d148c716936  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-size_t.out++
! d13f8d12a74773988637ba40fd78f679  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-wchar_t.out
! d13f8d12a74773988637ba40fd78f679  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-wchar_t.out++
! b1d1c6b69a3c06aa212e26abfe84967f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-char.out
! dd147227f1f90cdb52c59738beb4990e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-char.out++
! bc26cdd3643d2ed6c954866f981cffd6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-int.out
! 45f77d7154912d334a0052978d091890  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-int.out++
! 21132849f86e29dd58485d26197efa33  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-long.out
! 0393f765ffb21cbe4cc7751f7f9c6ef8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-long.out++
! 6b503e0c227e7ffc0bc414ef84dcfb80  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-longlong.out
! b1ff211d41bbd501de6cf8b4ed9f74a9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-longlong.out++
! 8d1b53016444cd0e3bc78b6cd3d9fce9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-short.out
! 52f801f0b4d8d032ef5b743f9178b466  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-int-zf-short.out++
! 83064f579c562cc7bf6ae4bc0f3fc2b7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-char.out
! 83064f579c562cc7bf6ae4bc0f3fc2b7  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-char.out++
! fdde272b470b86c3b6571fc40ad2edcd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-double.out
! fdde272b470b86c3b6571fc40ad2edcd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-double.out++
! f88033a2bd4457fc7173b8e0b4efdcb2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-float.out
! f88033a2bd4457fc7173b8e0b4efdcb2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-float.out++
! a7e65a75bc7b8230c0e48d49286326d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-int.out
! a7e65a75bc7b8230c0e48d49286326d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-int.out++
! e97c6ee85ac1946b854dd515fe434d98  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-long.out
! e97c6ee85ac1946b854dd515fe434d98  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-long.out++
! cc3ddbac3dc0e25f194528cb6360b73a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longdouble.out
! cc3ddbac3dc0e25f194528cb6360b73a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longdouble.out++
! 06bd63e3ec0360ed1bea863a331cec26  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longlong.out
! 06bd63e3ec0360ed1bea863a331cec26  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-longlong.out++
! 474ca7421f70abc056d5e24190a48598  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-pointer.out
! 474ca7421f70abc056d5e24190a48598  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-pointer.out++
! 99383f782fb9a30065baf40bb2a92424  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-short.out
! 99383f782fb9a30065baf40bb2a92424  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-a-short.out++
! b147fee153a057ba0bf5515b3a875911  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-char.out
! b147fee153a057ba0bf5515b3a875911  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-char.out++
! e55a9a86c04e3681076dc35e00b2e624  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-double.out
! e55a9a86c04e3681076dc35e00b2e624  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-double.out++
! 6e6c843af8645cde362c8c4f7b950727  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-float.out
! 6e6c843af8645cde362c8c4f7b950727  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-float.out++
! af4005755431b46b9eac91b10fe2bed9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-int.out
! af4005755431b46b9eac91b10fe2bed9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-int.out++
! 47e785e1fec30989fb316f399352f8ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-long.out
! 47e785e1fec30989fb316f399352f8ca  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-long.out++
! bc36c4bdf9d2b59912352ca69ec4bc05  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longdouble.out
! bc36c4bdf9d2b59912352ca69ec4bc05  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longdouble.out++
! 905cd350295d54fb102cafaa0a33f6c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longlong.out
! 905cd350295d54fb102cafaa0a33f6c5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-longlong.out++
! c077b14f795b4c2d6103d7dc6533d252  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-pointer.out
! c077b14f795b4c2d6103d7dc6533d252  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-pointer.out++
! 6b6336b8c5f8a9a46ee3349d78b89528  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-ptrdiff_t.out
! 6b6336b8c5f8a9a46ee3349d78b89528  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-ptrdiff_t.out++
! 16f389bc79f872c65b469010d4b70fde  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-char.out
! 16f389bc79f872c65b469010d4b70fde  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-char.out++
! 8719dacdfa4e1f168edb073207ed8183  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-double.out
! 8719dacdfa4e1f168edb073207ed8183  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-double.out++
! 2857668d8e285ec31655e6ced6fb9eff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-float.out
! 2857668d8e285ec31655e6ced6fb9eff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-float.out++
! 4e2edcc83e6b56a7afc00cf645bd2444  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-int.out
! 4e2edcc83e6b56a7afc00cf645bd2444  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-int.out++
! 43b2b2f0bf932adceb12032f6bed4a25  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-long.out
! 43b2b2f0bf932adceb12032f6bed4a25  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-long.out++
! a6c3f2b209185ddd040d9723e7334870  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longdouble.out
! a6c3f2b209185ddd040d9723e7334870  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longdouble.out++
! f3124dd2d125c2745c9acb83069a38cc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longlong.out
! f3124dd2d125c2745c9acb83069a38cc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-longlong.out++
! a302e62990a08c35d40642e3534b7adf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-pointer.out
! a302e62990a08c35d40642e3534b7adf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-pointer.out++
! f64da170951bae59084e4dfcd0b62ede  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-short.out
! f64da170951bae59084e4dfcd0b62ede  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-s-short.out++
! 5a5e2a192b6015915e31af28c54df5f2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-short.out
! 5a5e2a192b6015915e31af28c54df5f2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-short.out++
! ac28de534549a508b675b1389f6be71a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-size_t.out
! ac28de534549a508b675b1389f6be71a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-size_t.out++
! 941866397d4b23e375258eac6bf8994a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-wchar_t.out
! 941866397d4b23e375258eac6bf8994a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-wchar_t.out++
! 699900f65089b210a733b92d403ab1b9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-char.out
! 50b45d33ca3d46842603148890177110  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-char.out++
! 4a9b55e5bd5b6f25c2161968193dd723  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-int.out
! 9a6274bc5f4a9401b09dcf859b9b3f75  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-int.out++
! 52606846baed62f5cf9a0feabd9bcb9f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-long.out
! f5970983dba2708f961d11b9eddbf2e2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-long.out++
! 78cfc83cc898d2d123f4abe3ec25f18b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-longlong.out
! 37f0e101094bfb41d62b65caf55060e1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-longlong.out++
! f5088563a915b6aaf42f843f72786ecf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-short.out
! 219f968724293a1ef4e00c49d1b6e2cb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-long-zf-short.out++
! ed7be4277143b17fafd6328fe65c064b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-char.out
! ed7be4277143b17fafd6328fe65c064b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-char.out++
! aae172c48db834ec3b36f964d21f4fa2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-double.out
! aae172c48db834ec3b36f964d21f4fa2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-double.out+
! 0e978e4141244f525bd7de896605e516  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-float.out
! 0e978e4141244f525bd7de896605e516  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-float.out++
! 53395266f44970eddbde6a0e1e23e916  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-int.out
! 53395266f44970eddbde6a0e1e23e916  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-int.out++
! 4a5b80061ed23b49c180fd0c95083673  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-long.out
! 4a5b80061ed23b49c180fd0c95083673  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-long.out++
! f71b60d51b52003d90edc48848a3a9d1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-pointer.out
! 35f59effd95bad23aa6ebf0803fdb93c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-short.out
! 35f59effd95bad23aa6ebf0803fdb93c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-a-short.out++
! 446317fdc44812ba48e224438c29159a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-char.out
! 446317fdc44812ba48e224438c29159a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-char.out++
! 554be9dcc46d96d944b22716126076d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-double.out
! 554be9dcc46d96d944b22716126076d3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-double.out++
! 1052730abd80c54f531b3684ef1c5c8f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-float.out
! 1052730abd80c54f531b3684ef1c5c8f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-float.out++
! 0306b459820e84299a229e360d048aba  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-int.out
! 0306b459820e84299a229e360d048aba  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-int.out++
! 53e1640b899f9dc98665bb9765389eac  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-long.out
! 53e1640b899f9dc98665bb9765389eac  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-long.out++
! 51bf0ac3ab839fb24541b83a8fe51a64  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-longlong.out
! 51bf0ac3ab839fb24541b83a8fe51a64  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-longlong.out+
! 3e7fef0691dd86a64038c60de579d620  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-pointer.out
! 3e7fef0691dd86a64038c60de579d620  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-pointer.out++
! 2b961effb4e2fecde3ca6ce8e9fffd51  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-ptrdiff_t.out
! 44cb3c1d7a5a8911087a9310d072737d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-char.out
! 44cb3c1d7a5a8911087a9310d072737d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-char.out++
! de3379cbb123c49acce3a7cfdc1377ba  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-double.out
! de3379cbb123c49acce3a7cfdc1377ba  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-double.out+
! cb97957f5c645de1dbf2998afd015c15  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-float.out
! cb97957f5c645de1dbf2998afd015c15  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-float.out++
! 135d60e92b996f0a09e72d176dfb79b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-int.out
! 135d60e92b996f0a09e72d176dfb79b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-int.out++
! 78be71ef8cc05771948190d2dbc12feb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-long.out
! 78be71ef8cc05771948190d2dbc12feb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-long.out++
! e0c562da05a2a1504e0453d083367055  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-pointer.out
! c7bac88f6e3901c4ba4ac19f7d0978fc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-short.out
! c7bac88f6e3901c4ba4ac19f7d0978fc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-s-short.out++
! 4297d9fcc9597ea75c976b0b99bea504  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-short.out
! 4297d9fcc9597ea75c976b0b99bea504  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-short.out++
! 8ba1014c008e8e33dc208267fda2438f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-size_t.out
! 8ba1014c008e8e33dc208267fda2438f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-size_t.out++
! d5de7e1c177d89e16f288f670e4c9b81  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-wchar_t.out
! d5de7e1c177d89e16f288f670e4c9b81  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-wchar_t.out++
! 2fa61812b6359af7a66fd12f58f2e182  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-char.out
! c1a9ca7b6c49734ab64363beff3016fe  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-char.out++
! 2419494954cb7cf2ba55178b9ba72df2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-int.out
! f921aeadad42c5435f73a05268053c35  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-int.out++
! 4b909e3b9c9872b1a9ccf107b07b5cb4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-long.out
! b85126f748a47b4eb85079108f4bdf5d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-long.out++
! 105ed3c2ffdf3eb5917d92c82f009601  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-short.out
! 744c66fc0aa7d047e9219d14ef723ad4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longdouble-zf-short.out+
! 110b571728d161dfad5196b36757689f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-char.out
! 110b571728d161dfad5196b36757689f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-char.out++
! b3d4265a67c5c1cb9af3a1466939aec8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-double.out
! b3d4265a67c5c1cb9af3a1466939aec8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-double.out++
! 0ab7383b650c2f4307bc4ed6049c16fb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-float.out
! 0ab7383b650c2f4307bc4ed6049c16fb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-float.out++
! e4ec15abed3f316422c2c44e66d2aff8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-int.out
! e4ec15abed3f316422c2c44e66d2aff8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-int.out++
! e2fdb87e511948c3b64c2d8f809a6e42  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-long.out
! e2fdb87e511948c3b64c2d8f809a6e42  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-long.out++
! 1897875af7baa1c07280b546d9677eb3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-longlong.out
! 1897875af7baa1c07280b546d9677eb3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-longlong.out+
! 09bde5cceb739fcb1778121e008828c4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-pointer.out
! 09bde5cceb739fcb1778121e008828c4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-pointer.out++
! 195bdea0dfe985bfd4a53cc6d85a4a7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-short.out
! 195bdea0dfe985bfd4a53cc6d85a4a7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-a-short.out++
! 5e13b76d3328730f4f21befecd483e3f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-char.out
! 5e13b76d3328730f4f21befecd483e3f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-char.out++
! 72d9850f97dad391f4e87d54c62d98dc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-double.out
! 72d9850f97dad391f4e87d54c62d98dc  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-double.out++
! 17698986a86692151f256145b33640d1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-float.out
! 17698986a86692151f256145b33640d1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-float.out++
! 6fd536b3b28c8307c571965523625500  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-int.out
! 6fd536b3b28c8307c571965523625500  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-int.out++
! a44e547df985e7b0dc5de5ea0006cd77  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-long.out
! a44e547df985e7b0dc5de5ea0006cd77  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-long.out++
! 5aae69d5d10f200ad7438ae96417f34f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longdouble.out
! 5aae69d5d10f200ad7438ae96417f34f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longdouble.out+
! adea2570c251237d53cd0bed9fd9603c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longlong.out
! adea2570c251237d53cd0bed9fd9603c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-longlong.out++
! 1340c26b64fad84cef212b86b66c37fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-pointer.out
! 1340c26b64fad84cef212b86b66c37fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-pointer.out++
! 4289859dc831d9674388d22ae7869528  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-ptrdiff_t.out
! 4289859dc831d9674388d22ae7869528  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-ptrdiff_t.out++
! d379b324ee2e529825436f917802abb1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-char.out
! d379b324ee2e529825436f917802abb1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-char.out++
! a0a0fb35500411adb1c7aa4415e7174a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-double.out
! a0a0fb35500411adb1c7aa4415e7174a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-double.out++
! a315932a7a9397424045d63ee2ee2ac3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-float.out
! a315932a7a9397424045d63ee2ee2ac3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-float.out++
! 27666453000d79e2aedd9b973731fa07  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-int.out
! 27666453000d79e2aedd9b973731fa07  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-int.out++
! a16faaf284e582a4af1a97e90b16d238  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-long.out
! a16faaf284e582a4af1a97e90b16d238  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-long.out++
! 9883a1390a179a48775e5e32306036bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-longlong.out
! 9883a1390a179a48775e5e32306036bb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-longlong.out+
! 85d48185df96c604a61560ac98395cf8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-pointer.out
! 85d48185df96c604a61560ac98395cf8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-pointer.out++
! dd2e1e71dbe1e7ab9a70dfd4ca7c1113  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-short.out
! dd2e1e71dbe1e7ab9a70dfd4ca7c1113  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-s-short.out++
! aa79ebcd5649c8f04fea165ec55f4c1a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-short.out
! aa79ebcd5649c8f04fea165ec55f4c1a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-short.out++
! a54fdcb158986c12fca1445ef3b67519  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-size_t.out
! a54fdcb158986c12fca1445ef3b67519  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-size_t.out++
! 9e273900f275b998f43517253cc20708  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-wchar_t.out
! 9e273900f275b998f43517253cc20708  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-wchar_t.out++
! 13185e2d2ded76ce24543ff20ec0593d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-char.out
! 0071cb25764613597d92cd6333f17718  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-char.out++
! 632da19fb2566a3d6e0db68d780dc18d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-int.out
! 42d550c408ccad9f8c7137a8d4132b4d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-int.out++
! ceaab1ca00af029047b05062cc938455  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-long.out
! ee6f4e0fad7aee9370b07e2d84dc0e0d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-long.out++
! b5785afc3fd81159a17f7d2e37f303c9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-longlong.out
! f370c6b7a5df4a5e7b0aaddedc02ab33  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-short.out
! 64508de61822933ce0d73e599838a71b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-longlong-zf-short.out++
! 05b03c60c7cfb059645e6a5af9b643de  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-char.out
! 05b03c60c7cfb059645e6a5af9b643de  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-char.out++
! fcc45b1dcb7f2523961bb0f805b64649  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-double.out
! fcc45b1dcb7f2523961bb0f805b64649  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-double.out++
! d4dc52059a73e03562ccbd7f4aac5f6a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-float.out
! d4dc52059a73e03562ccbd7f4aac5f6a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-float.out++
! 299e568e75facdcf00673695e0b56d2f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-int.out
! 299e568e75facdcf00673695e0b56d2f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-int.out++
! eb976ee7467bf6a427467895eb1f4513  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-long.out
! eb976ee7467bf6a427467895eb1f4513  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-long.out++
! 85fdf81e7a05c462f25936a1d7784285  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longdouble.out
! 5bd687da60dc121d03f18796ceaf0d62  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longlong.out
! 5bd687da60dc121d03f18796ceaf0d62  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-longlong.out++
! e09da5ce86fed8cb543527a784667577  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-pointer.out
! e09da5ce86fed8cb543527a784667577  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-pointer.out++
! 54c505ef90f4bf2e8d9a77e522a8234e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-short.out
! 54c505ef90f4bf2e8d9a77e522a8234e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-a-short.out++
! 92c4c8f4b61cd4d577b05dbfec32a2af  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-char.out
! 92c4c8f4b61cd4d577b05dbfec32a2af  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-char.out++
! 4546a55ddddbc776f7d1f4a331ea2632  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-double.out
! 4546a55ddddbc776f7d1f4a331ea2632  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-double.out++
! 3d62b00ee88bbc5a2f1a1604c604bdc6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-float.out
! 3d62b00ee88bbc5a2f1a1604c604bdc6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-float.out++
! 69b1610954d824bd26460bd9db61219c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-int.out
! 69b1610954d824bd26460bd9db61219c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-int.out++
! 2b34632d2ba029492af5d980e5e6a61c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-long.out
! 2b34632d2ba029492af5d980e5e6a61c  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-long.out++
! 37f45cd0940d7ce51c6d4185854cf964  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longdouble.out
! 37f45cd0940d7ce51c6d4185854cf964  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longdouble.out++
! 7a87f668d8670dfa88848a4f32e26180  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longlong.out
! 7a87f668d8670dfa88848a4f32e26180  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-longlong.out++
! 70658de45018c40f9deb7c2d423aeb74  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-pointer.out
! 70658de45018c40f9deb7c2d423aeb74  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-pointer.out++
! b20d93fcf748a958b63bdc58fd95a8b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-ptrdiff_t.out
! b20d93fcf748a958b63bdc58fd95a8b4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-ptrdiff_t.out++
! 9ec0906692aa1a7c7d31131569b771f6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-char.out
! 9ec0906692aa1a7c7d31131569b771f6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-char.out++
! 483922efb8669202f4a188ec143472f0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-double.out
! 483922efb8669202f4a188ec143472f0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-double.out++
! 904fd4a9fcc70f381608ec44261de0e3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-float.out
! 904fd4a9fcc70f381608ec44261de0e3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-float.out++
! 7a31814241b688fc5d12ed9d39c7f7a3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-int.out
! 7a31814241b688fc5d12ed9d39c7f7a3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-int.out++
! f6fb391197b416779817832d8319cf3e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-long.out
! f6fb391197b416779817832d8319cf3e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-long.out++
! 20ef9b3ab3bbb03c18c0719dcd60539f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longdouble.out
! e951ea6c54b12a30f554bcac9c47ce18  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longlong.out
! e951ea6c54b12a30f554bcac9c47ce18  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-longlong.out++
! 8b91cecfe6172da9ecde3b03b0eda108  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-pointer.out
! 8b91cecfe6172da9ecde3b03b0eda108  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-pointer.out++
! f0f9ba9fe37e5549bb603b0dd02ec2a3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-short.out
! f0f9ba9fe37e5549bb603b0dd02ec2a3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-s-short.out++
! 9473d553f648e52b69ee145aa948db60  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-short.out
! 9473d553f648e52b69ee145aa948db60  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-short.out++
! 230305e08a895f4b6e88569c1c17c3e2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-size_t.out
! 230305e08a895f4b6e88569c1c17c3e2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-size_t.out++
! 393c02fb825586da543108be2cb18a7a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-wchar_t.out
! 393c02fb825586da543108be2cb18a7a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-wchar_t.out++
! 370514b0c48913564f8956c11b0a8ede  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-char.out
! 489cccc56abe81d6f4bffefd42d2d707  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-char.out++
! 3b62d53c82275a431d1a94e3f20a6dae  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-int.out
! 2c9f5827cf774aaf32776cbf43641be2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-int.out++
! cee80e0b718aa46c53e94e8f965d5839  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-long.out
! d44be0ca6e84adc3b87e0f63226cf5ec  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-long.out++
! a809d81f23ebcf04b163abe3e0a7cd53  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-longlong.out
! 6e678ed00c70ef6e73e10126c712ed41  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-longlong.out+
! 449ebe2873d969eef90cde29bc30edd8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-short.out
! d6d597f94c32e944fa60f097726fdaf8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-pointer-zf-short.out++
! 127732666b0c63ad5152c021c8001688  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-char.out
! 127732666b0c63ad5152c021c8001688  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-char.out++
! d7c44d1d14d9a900642d58562343b0e0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-double.out
! d7c44d1d14d9a900642d58562343b0e0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-double.out++
! 4cfee58f3bc2020ef7c5f181f30cd29f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-float.out
! 4cfee58f3bc2020ef7c5f181f30cd29f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-float.out++
! 5747d8803787dcc8f24523047b04e9dd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-int.out
! 5747d8803787dcc8f24523047b04e9dd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-int.out++
! cc16ec0425c45c6efde4993a63b636c8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-long.out
! cc16ec0425c45c6efde4993a63b636c8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-long.out++
! ee0b45e8dc91c670a902408cfb82b220  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longdouble.out
! fccbb17b92a54c4c45120a928648ae7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longlong.out
! fccbb17b92a54c4c45120a928648ae7f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-longlong.out++
! 5db5448c7c2d297b5d196b5296cfa695  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-pointer.out
! 5db5448c7c2d297b5d196b5296cfa695  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-pointer.out++
! 3b74cc6be4b79fd7636e2d5f36e17f29  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-ptrdiff_t.out
! 3b74cc6be4b79fd7636e2d5f36e17f29  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-ptrdiff_t.out+
! c0950c8f0533d920ddba96b6686454eb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-short.out
! c0950c8f0533d920ddba96b6686454eb  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-short.out++
! 02c6f1ff97c4f170878091a897cacdd6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-size_t.out
! 02c6f1ff97c4f170878091a897cacdd6  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-size_t.out++
! 9b917b07a115cb46104a2e8197d34cb0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-wchar_t.out
! 9b917b07a115cb46104a2e8197d34cb0  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-ptrdiff_t-wchar_t.out++
! a47614889526836905762d0ba09463fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-char.out
! a47614889526836905762d0ba09463fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-char.out++
! 08fc8e4e99290817a0fad6b075e65cc9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-double.out
! 08fc8e4e99290817a0fad6b075e65cc9  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-double.out++
! 1c433435302812a671189c020dcfef09  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-float.out
! 1c433435302812a671189c020dcfef09  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-float.out++
! 883b5f3f31012ec4cf523a7a528a7bce  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-int.out
! 883b5f3f31012ec4cf523a7a528a7bce  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-int.out++
! 954c8ab86a711ae3f14716f37076c309  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-long.out
! 954c8ab86a711ae3f14716f37076c309  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-long.out++
! 44c7ff19a14653ab7fb394b225c67216  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longdouble.out
! 44c7ff19a14653ab7fb394b225c67216  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longdouble.out++
! 117a4c2aab79bc72beea0a8659ead852  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longlong.out
! 117a4c2aab79bc72beea0a8659ead852  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-longlong.out++
! c1f0dd7e6540a5c40425e33f6ede1c00  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-pointer.out
! c1f0dd7e6540a5c40425e33f6ede1c00  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-pointer.out++
! a96dfc8b903542273bb7b439fd8f2c93  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-short.out
! a96dfc8b903542273bb7b439fd8f2c93  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-a-short.out++
! 2ce8af99356a2462309d5f1bf69de8c3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-char.out
! 2ce8af99356a2462309d5f1bf69de8c3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-char.out++
! f850fd51e28cb39fc9a7da043d4f4731  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-double.out
! f850fd51e28cb39fc9a7da043d4f4731  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-double.out++
! 5f172d96dab41cc870cb3aa57e240cd4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-float.out
! 5f172d96dab41cc870cb3aa57e240cd4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-float.out++
! 96b4a15aa184e01d20262cf02c043aa8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-int.out
! 96b4a15aa184e01d20262cf02c043aa8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-int.out++
! 167425ed85d7258b2a93b1668bfa0607  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-long.out
! 167425ed85d7258b2a93b1668bfa0607  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-long.out++
! a6245032b4cbdbc206ee8cc79e29153b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longdouble.out
! a6245032b4cbdbc206ee8cc79e29153b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longdouble.out++
! d9975742fd9a30b1c9d7f297277f0bbf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longlong.out
! d9975742fd9a30b1c9d7f297277f0bbf  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-longlong.out++
! a72c2e2be9a921f0789b379f7ef6128a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-pointer.out
! a72c2e2be9a921f0789b379f7ef6128a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-pointer.out++
! 30f9b4d5d5d411c9f1449968e682a7f4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-ptrdiff_t.out
! 30f9b4d5d5d411c9f1449968e682a7f4  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-ptrdiff_t.out++
! cdd2b2882f7818d3273978b5a25dc510  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-char.out
! cdd2b2882f7818d3273978b5a25dc510  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-char.out++
! feb0141c8951dedf43b2ef24308e392f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-double.out
! feb0141c8951dedf43b2ef24308e392f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-double.out++
! 11748211e86630524b6d0e258317691e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-float.out
! 11748211e86630524b6d0e258317691e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-float.out++
! b6c611abebceb51da236011b30479c78  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-int.out
! b6c611abebceb51da236011b30479c78  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-int.out++
! 5b98072382a978767d390d52b9e6aa16  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-long.out
! 5b98072382a978767d390d52b9e6aa16  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-long.out++
! 3f1e3c1dbccbe9f14db4c7b8de6f588a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longdouble.out
! 3f1e3c1dbccbe9f14db4c7b8de6f588a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longdouble.out++
! 4bb7eec48e5c6e8cd58eb9d7fd1db902  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longlong.out
! 4bb7eec48e5c6e8cd58eb9d7fd1db902  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-longlong.out++
! ae6750b9c491510fd34c3a9493da3ea1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-pointer.out
! ae6750b9c491510fd34c3a9493da3ea1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-pointer.out++
! a118b19c7e90b277f94720b369901133  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-short.out
! a118b19c7e90b277f94720b369901133  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-s-short.out++
! 597fc7fffa642574e275c40198421c11  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-short.out
! 597fc7fffa642574e275c40198421c11  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-short.out++
! ba5c4690e2cfb70112d12fac13f4b2d2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-size_t.out
! ba5c4690e2cfb70112d12fac13f4b2d2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-size_t.out++
! 39382a93e923e0f5bc6ba9c2c646f824  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-wchar_t.out
! 39382a93e923e0f5bc6ba9c2c646f824  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-wchar_t.out++
! 1c3cad116f45bb3f80d4d2a0c3b6f62e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-char.out
! bc59cab900eaeaaf67f0c789c7b81f01  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-char.out++
! 9e29a4e4587e9c6e24cdab644bb25634  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-int.out
! 6b0690311bd27a47854fbb17b81422e5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-int.out++
! 1dddf222b6d21f3c32e6aa922953d50e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-long.out
! 5dcae61c22bfa337c9be4eaff74ccae1  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-long.out++
! d5e9ac3c241d9a82dd9a82a5b4b65e95  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-longlong.out
! 52ed563fd3d5f416f2959016ad9a10e2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-longlong.out++
! d8701915ae315c4814bc803b056a9235  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-short.out
! 3d3fe55cbc356f00352779ff926012cd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-short-zf-short.out++
! 2a0fb7c57b2bde2569952d5cc36f4ad2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-char.out
! 2a0fb7c57b2bde2569952d5cc36f4ad2  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-char.out++
! a69b4fac84ffb2d6aad6474d1e03f6df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-double.out
! a69b4fac84ffb2d6aad6474d1e03f6df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-double.out++
! 1e3d2c817ff494916419c7377d1e19db  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-float.out
! 1e3d2c817ff494916419c7377d1e19db  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-float.out++
! 51b2183dc4c1f80d789d4051b79a437d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-int.out
! 51b2183dc4c1f80d789d4051b79a437d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-int.out++
! 7f80011ccda83f672a44ae2c39ef13ff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-long.out
! 7f80011ccda83f672a44ae2c39ef13ff  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-long.out++
! 33734eda0df8bb9527cafe1542c1414d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longdouble.out
! 33734eda0df8bb9527cafe1542c1414d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longdouble.out++
! b77ddcf15bae03bc03d892aec9f6c24e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longlong.out
! b77ddcf15bae03bc03d892aec9f6c24e  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-longlong.out++
! 2ef662b1de3cdd97f3275e7cee54ea53  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-pointer.out
! 2ef662b1de3cdd97f3275e7cee54ea53  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-pointer.out++
! 3632553685364e6632ab604f98a09761  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-ptrdiff_t.out
! 3632553685364e6632ab604f98a09761  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-ptrdiff_t.out++
! e9af1fc56e75c1c6a33ebf1168e6c846  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-short.out
! e9af1fc56e75c1c6a33ebf1168e6c846  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-short.out++
! 7d6504aa9e1726ed425d02a0d15a6c60  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-size_t.out
! 7d6504aa9e1726ed425d02a0d15a6c60  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-size_t.out++
! 8f9ae6b67639ace26068d25052678e27  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-wchar_t.out
! 8f9ae6b67639ace26068d25052678e27  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-size_t-wchar_t.out++
! 09234a470a5e5b30ecd1c7ddfec1a6e8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-char.out
! 09234a470a5e5b30ecd1c7ddfec1a6e8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-char.out++
! e4788f373a81c8b4797c5c724a7474c8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-double.out
! e4788f373a81c8b4797c5c724a7474c8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-double.out++
! f01b2ea32faa3ec547124c4e983609df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-float.out
! f01b2ea32faa3ec547124c4e983609df  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-float.out++
! d94a83aa16919f6213754c566700cdf3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-int.out
! d94a83aa16919f6213754c566700cdf3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-int.out++
! c7f703975afaafdab74ca529ee747a8f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-long.out
! c7f703975afaafdab74ca529ee747a8f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-long.out++
! 0d17e63d85615a84b82f8234d0d1ed0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longdouble.out
! 0d17e63d85615a84b82f8234d0d1ed0f  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longdouble.out++
! e1153e8cfb4bb06ce3ad822cd1999c3d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longlong.out
! e1153e8cfb4bb06ce3ad822cd1999c3d  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-longlong.out++
! 5c8de310d4d853d6fb7ea167e94cce17  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-pointer.out
! 5c8de310d4d853d6fb7ea167e94cce17  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-pointer.out++
! c21a55d8a9f3051dcbbc5f57de25f5f8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-ptrdiff_t.out
! c21a55d8a9f3051dcbbc5f57de25f5f8  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-ptrdiff_t.out++
! a2478987ecb28ab9ae09829662f80349  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-short.out
! a2478987ecb28ab9ae09829662f80349  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-short.out++
! 29ad03c9601d48432b82d9b108e1f608  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-size_t.out
! 29ad03c9601d48432b82d9b108e1f608  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-size_t.out++
! d589e597b12f6ff43dcd5f9d20798222  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-wchar_t.out
! d589e597b12f6ff43dcd5f9d20798222  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/s-wchar_t-wchar_t.out++
! 037714a30d373bccb5faf7f55cca5e82  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-bool.out++
! 8f77e5a316626c6d3d85282312ae555b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-char.out
! 8f77e5a316626c6d3d85282312ae555b  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-char.out++
! 5d6d4832b03bbf057fcd3bce804c9161  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-double.out
! 5d6d4832b03bbf057fcd3bce804c9161  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-double.out++
! 1a5f3b829933f5621b01b5d67c2ef2fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-float.out
! 1a5f3b829933f5621b01b5d67c2ef2fd  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-float.out++
! db998fd551456340120b442649a89628  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-int.out
! db998fd551456340120b442649a89628  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-int.out++
! 78868ad8d68fe4be979e5b068e517d8a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-long.out
! 78868ad8d68fe4be979e5b068e517d8a  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-long.out++
! 92023c74c828dbb4161210d477374fb5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longdouble.out
! 92023c74c828dbb4161210d477374fb5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longdouble.out++
! c2f296e6024c4afa77324e192e93a1e3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longlong.out
! c2f296e6024c4afa77324e192e93a1e3  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-longlong.out++
! 00d5410c13b2a3ddeb50866a113599e5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-pointer.out
! 00d5410c13b2a3ddeb50866a113599e5  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-pointer.out++
! fdbbbd9c2d0da2c3a02af909f1a92e46  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-ptrdiff.out
! fdbbbd9c2d0da2c3a02af909f1a92e46  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-ptrdiff.out++
! b6644c5b26a7e3cac4ba59e043910b37  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-short.out
! b6644c5b26a7e3cac4ba59e043910b37  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-short.out++
! 74ad9d0053820d2a655ce3838845ea77  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-size.out
! 74ad9d0053820d2a655ce3838845ea77  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-size.out++
! 080caf77b13edc58eb563e02b0600e01  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-wchar.out
! 080caf77b13edc58eb563e02b0600e01  gcc/testsuite/consistency.vlad/layout/i960-97r2-results/size-wchar.out++
! 324c65d46d8950ae6bd89f05f09ecfcf  gcc/testsuite/consistency.vlad/layout/minimal-struct-size-align.c
! 1e3d29ef4916c6de4c039a9c6b3af5f9  gcc/testsuite/consistency.vlad/layout/s-char-a-char.c
! 65b4d50d0f3d26500b475ff36dc99044  gcc/testsuite/consistency.vlad/layout/s-char-a-double.c
! 9ac7e243768f1ee3fae30dbed1f3d1f1  gcc/testsuite/consistency.vlad/layout/s-char-a-float.c
! 88d72a0480b1882557be76de4579e313  gcc/testsuite/consistency.vlad/layout/s-char-a-int.c
! d3ca74fe558983a43b95d75eee55b105  gcc/testsuite/consistency.vlad/layout/s-char-a-long.c
! 9ad7037299ecf62c97c9aeb1dfdd1aa7  gcc/testsuite/consistency.vlad/layout/s-char-a-longdouble.c
! 737a959b0488de185ec563bf9fe09d03  gcc/testsuite/consistency.vlad/layout/s-char-a-longlong.c
! f231c111c66c27e6db41f53e33f9acf2  gcc/testsuite/consistency.vlad/layout/s-char-a-pointer.c
! 165f0b0210719f77a24c94b2a77fd37a  gcc/testsuite/consistency.vlad/layout/s-char-a-short.c
! 5782f3eb26301016e368fd489d051155  gcc/testsuite/consistency.vlad/layout/s-char-char.c
! 3fb01b254fb9e81f47e7e04494c14d8a  gcc/testsuite/consistency.vlad/layout/s-char-double.c
! fdea6b36e2e4b63ef9028a69d99bd57b  gcc/testsuite/consistency.vlad/layout/s-char-float.c
! b6eda379d890473d2c85add1070f8631  gcc/testsuite/consistency.vlad/layout/s-char-int.c
! fac293658150706822e4a552bfc1f9dd  gcc/testsuite/consistency.vlad/layout/s-char-long.c
! 4e76b303fe0c60899525ed4b6ef89e4d  gcc/testsuite/consistency.vlad/layout/s-char-longdouble.c
! b4669c97ec7b2fad42cb430aa1a0587b  gcc/testsuite/consistency.vlad/layout/s-char-longlong.c
! 7f34f6c7e46da7cca8d8eabe60dce409  gcc/testsuite/consistency.vlad/layout/s-char-pointer.c
! 3644f07026e1d355cca23d62ae2fd657  gcc/testsuite/consistency.vlad/layout/s-char-ptrdiff_t.c
! c2a291513074083147ff4e964677b7fd  gcc/testsuite/consistency.vlad/layout/s-char-s-char.c
! 8e44fbeb8a58e11adcafbf306b250c2f  gcc/testsuite/consistency.vlad/layout/s-char-s-double.c
! 3235c15a2d74e5691d60c4cfe2d7fa0b  gcc/testsuite/consistency.vlad/layout/s-char-s-float.c
! 1211e04af6cef1d769f2ea2cd45a59a9  gcc/testsuite/consistency.vlad/layout/s-char-s-int.c
! 784e14ea63b8a890254a40bd02324a31  gcc/testsuite/consistency.vlad/layout/s-char-s-long.c
! fc9b911a0ea1eef75b981ab113f1bc08  gcc/testsuite/consistency.vlad/layout/s-char-s-longdouble.c
! a4b2fc59607d2f6bf7bab4676f43c218  gcc/testsuite/consistency.vlad/layout/s-char-s-longlong.c
! 74c38209ed4893fc130b03968b24bcfa  gcc/testsuite/consistency.vlad/layout/s-char-s-pointer.c
! 701544cf54719f63b395bc380b89f0e3  gcc/testsuite/consistency.vlad/layout/s-char-s-short.c
! 48db8f51cdc222514274e60fce6e473e  gcc/testsuite/consistency.vlad/layout/s-char-short.c
! ab1bda2d1e34be686fc809ba6ad95d0a  gcc/testsuite/consistency.vlad/layout/s-char-size_t.c
! 65be3576aa9f3c07f7f35e56eedc7a5e  gcc/testsuite/consistency.vlad/layout/s-char-wchar_t.c
! 07340fbfe1aebf188dedd65d30b8e2a1  gcc/testsuite/consistency.vlad/layout/s-char-zf-char.c
! 40bf2c1240f2ec70231dd47102645bc4  gcc/testsuite/consistency.vlad/layout/s-char-zf-int.c
! e5fda2ebf77bffd9e3bf01cbe331e413  gcc/testsuite/consistency.vlad/layout/s-char-zf-long.c
! fe5fc54a8566b1357d5d18152309a561  gcc/testsuite/consistency.vlad/layout/s-char-zf-longlong.c
! dab9a3fe07d2eccef5024ebc846db8c5  gcc/testsuite/consistency.vlad/layout/s-char-zf-short.c
! ad608a4cf186a78b97b2af5cace64ad6  gcc/testsuite/consistency.vlad/layout/s-double-a-char.c
! 714997382144b0d5db3b60ceaaee23f4  gcc/testsuite/consistency.vlad/layout/s-double-a-double.c
! 6bc681c2a860f33a892dcdd9a577cfa6  gcc/testsuite/consistency.vlad/layout/s-double-a-float.c
! 6eb91a1c2e7f04bea6e60abbd49dd350  gcc/testsuite/consistency.vlad/layout/s-double-a-int.c
! 63c8b61bf4cbe5591635cd318df45229  gcc/testsuite/consistency.vlad/layout/s-double-a-long.c
! 9960b5acbad0b6d26f48ae8cc58779de  gcc/testsuite/consistency.vlad/layout/s-double-a-longdouble.c
! 6eca314551fbf0478e7ff9d949beca5d  gcc/testsuite/consistency.vlad/layout/s-double-a-longlong.c
! f34529324093639224dfdefc0f7ab952  gcc/testsuite/consistency.vlad/layout/s-double-a-pointer.c
! 6802c9987abd16f39f77e1e31bc3645f  gcc/testsuite/consistency.vlad/layout/s-double-a-short.c
! 7c7a54792b081443e63d9787b1f62c97  gcc/testsuite/consistency.vlad/layout/s-double-char.c
! f6f494824e3854423f0481da7d093df2  gcc/testsuite/consistency.vlad/layout/s-double-double.c
! f0ede04f133eae37897b21033f613f28  gcc/testsuite/consistency.vlad/layout/s-double-float.c
! d761ab8a49753e0e9254b90e0fac7534  gcc/testsuite/consistency.vlad/layout/s-double-int.c
! a63c57fdbb497df9385a1f2e94c35b3c  gcc/testsuite/consistency.vlad/layout/s-double-long.c
! cd84df89a3fc919ed96d54deb670bdc2  gcc/testsuite/consistency.vlad/layout/s-double-longdouble.c
! 9500260f61094563808cfd4555ff3b8f  gcc/testsuite/consistency.vlad/layout/s-double-longlong.c
! d92042441e9ddd9659eb49e217a3d516  gcc/testsuite/consistency.vlad/layout/s-double-pointer.c
! ba30ad5a727fdcca8b8a1a48453bfeec  gcc/testsuite/consistency.vlad/layout/s-double-ptrdiff_t.c
! d31bb4c27b22a656321d5720df11054d  gcc/testsuite/consistency.vlad/layout/s-double-s-char.c
! e920c38e9e10535eb5686b611b0589c5  gcc/testsuite/consistency.vlad/layout/s-double-s-double.c
! 24cb710f671ceb345fb77b76554b2e3d  gcc/testsuite/consistency.vlad/layout/s-double-s-float.c
! bf2332449efba232c2f313d9d0fe63a8  gcc/testsuite/consistency.vlad/layout/s-double-s-int.c
! eaacaff35454af78133d6cfe3391cd96  gcc/testsuite/consistency.vlad/layout/s-double-s-long.c
! a4ef57d50ffacfe6ccde47c27d0cf015  gcc/testsuite/consistency.vlad/layout/s-double-s-longdouble.c
! 742e6f491ad5f1e4351fc356b1c3606c  gcc/testsuite/consistency.vlad/layout/s-double-s-longlong.c
! 1661fb80c85e5d5d65b992c8dc69a547  gcc/testsuite/consistency.vlad/layout/s-double-s-pointer.c
! 4d59fa6775627fbe77eac3684afee3ac  gcc/testsuite/consistency.vlad/layout/s-double-s-short.c
! 7573d23ca38bcc4b3c5b9a55b392c658  gcc/testsuite/consistency.vlad/layout/s-double-short.c
! f7f40c724b067fa9f9410b39c196b448  gcc/testsuite/consistency.vlad/layout/s-double-size_t.c
! b06e508c0881cf60ae2c35f321e3ba9f  gcc/testsuite/consistency.vlad/layout/s-double-wchar_t.c
! 48b99690e10004c19c415da290e6b3d7  gcc/testsuite/consistency.vlad/layout/s-double-zf-char.c
! d8fd11478b0204285dba64175346aadc  gcc/testsuite/consistency.vlad/layout/s-double-zf-int.c
! 8ec3572886561018f492f3e415c95ec9  gcc/testsuite/consistency.vlad/layout/s-double-zf-long.c
! 9c6056246cc019cb20cb31237851c756  gcc/testsuite/consistency.vlad/layout/s-double-zf-longlong.c
! 9fac15cd1298cd21d6ff8c3e05a70492  gcc/testsuite/consistency.vlad/layout/s-double-zf-short.c
! 0ee748052b4ed62dc41473456db90314  gcc/testsuite/consistency.vlad/layout/s-float-a-char.c
! cb012f0dd745cd96d487d4f99b5d4e3f  gcc/testsuite/consistency.vlad/layout/s-float-a-double.c
! 46d8292dd7c82c22fc7fa3158b7ef0b8  gcc/testsuite/consistency.vlad/layout/s-float-a-float.c
! 7e6a7c68338e423023d4ee5eef564660  gcc/testsuite/consistency.vlad/layout/s-float-a-int.c
! 33eb73f178ed004ac2ddca8b3adcf995  gcc/testsuite/consistency.vlad/layout/s-float-a-long.c
! 1a02d5c34a871f4d79e5cd8322cca47e  gcc/testsuite/consistency.vlad/layout/s-float-a-longdouble.c
! 64dac503a084f74886e29d48245d720a  gcc/testsuite/consistency.vlad/layout/s-float-a-longlong.c
! d8bfb286e63b942eb5aa775c76c8b54b  gcc/testsuite/consistency.vlad/layout/s-float-a-pointer.c
! cc252cb39c2f47da90c1b8162a30ddbc  gcc/testsuite/consistency.vlad/layout/s-float-a-short.c
! e6bcaff1076bd4b8975029ab2d89d94f  gcc/testsuite/consistency.vlad/layout/s-float-char.c
! ef7c2cd0631d2be39a8381736cafb787  gcc/testsuite/consistency.vlad/layout/s-float-double.c
! 340a391d13b75e70d086ce7f9c017d88  gcc/testsuite/consistency.vlad/layout/s-float-float.c
! 3dad749f97d1933b8dba2da81ed6d07a  gcc/testsuite/consistency.vlad/layout/s-float-int.c
! 64086f3340ad4171c0f23d2945b99186  gcc/testsuite/consistency.vlad/layout/s-float-long.c
! cbaebb4dcafbae15364862d67c4ce37f  gcc/testsuite/consistency.vlad/layout/s-float-longdouble.c
! f9db3110d1cef72e8a1dfd552050a372  gcc/testsuite/consistency.vlad/layout/s-float-longlong.c
! b66ad0702e6117128f3c2e822eb4174d  gcc/testsuite/consistency.vlad/layout/s-float-pointer.c
! 8fdc8bd19f9d7cf9b82c53fe596154ea  gcc/testsuite/consistency.vlad/layout/s-float-ptrdiff_t.c
! 4c6829ec8c257b609ddcd261247fec15  gcc/testsuite/consistency.vlad/layout/s-float-s-char.c
! 8208a44803a7429afa6a06dcec3d5920  gcc/testsuite/consistency.vlad/layout/s-float-s-double.c
! aa0a81d555b5bd5e398a54da29914bdb  gcc/testsuite/consistency.vlad/layout/s-float-s-float.c
! f3e76c8c3a1f9c1bfa767b27a7ce90d1  gcc/testsuite/consistency.vlad/layout/s-float-s-int.c
! c5b7a92f7264b2d08ca729bd557b99dd  gcc/testsuite/consistency.vlad/layout/s-float-s-long.c
! a648814c554d1cc0046eb97cd5c3f13b  gcc/testsuite/consistency.vlad/layout/s-float-s-longdouble.c
! 8afd2f6231dee45931b980fe97520efa  gcc/testsuite/consistency.vlad/layout/s-float-s-longlong.c
! 505395560fbfc67b15937f99b5c982fd  gcc/testsuite/consistency.vlad/layout/s-float-s-pointer.c
! d8edbe43ee1c0bf535675f709ac68d24  gcc/testsuite/consistency.vlad/layout/s-float-s-short.c
! 0533de5b0ab5721178e552bbc6c55736  gcc/testsuite/consistency.vlad/layout/s-float-short.c
! dce708388f686c50755ef7bec637cffc  gcc/testsuite/consistency.vlad/layout/s-float-size_t.c
! a9d2d8ca85c51d2d09a0fb9d7485085d  gcc/testsuite/consistency.vlad/layout/s-float-wchar_t.c
! e85257d10b18f4e80bd55ed96e4b7682  gcc/testsuite/consistency.vlad/layout/s-float-zf-char.c
! 693e09e66ced7960b38f10548125caf1  gcc/testsuite/consistency.vlad/layout/s-float-zf-int.c
! dda60443584dfba7c9a04358419d82a6  gcc/testsuite/consistency.vlad/layout/s-float-zf-long.c
! bc1209aacafe613d03013bb132008531  gcc/testsuite/consistency.vlad/layout/s-float-zf-longlong.c
! 893c8f1cc5d4b45b4cf152c70632d62c  gcc/testsuite/consistency.vlad/layout/s-float-zf-short.c
! 764d3c87186d0fbd44cc201fafb29a16  gcc/testsuite/consistency.vlad/layout/s-int-a-char.c
! d24e9d68553ab1085d9aa41c32555014  gcc/testsuite/consistency.vlad/layout/s-int-a-double.c
! 2dd4fab5a66a24a2832526492607edf6  gcc/testsuite/consistency.vlad/layout/s-int-a-float.c
! 57f6ff2b3df13bd6aabc874e9408956a  gcc/testsuite/consistency.vlad/layout/s-int-a-int.c
! a6224006653b4bb6b4ebe2edb216d67b  gcc/testsuite/consistency.vlad/layout/s-int-a-long.c
! 6266919b1ede77559ff19d2477a771c1  gcc/testsuite/consistency.vlad/layout/s-int-a-longdouble.c
! 15543584210733585efd14288b30cfb4  gcc/testsuite/consistency.vlad/layout/s-int-a-longlong.c
! 0c0080febf5b7393c63a52a23fe6f937  gcc/testsuite/consistency.vlad/layout/s-int-a-pointer.c
! 45e450c3e466a3d584629cb89d1d8f29  gcc/testsuite/consistency.vlad/layout/s-int-a-short.c
! 1afff4d821ac3ccb17050e225cda8b6c  gcc/testsuite/consistency.vlad/layout/s-int-char.c
! 7e969ea7d6536e0b65c721750ea4d88a  gcc/testsuite/consistency.vlad/layout/s-int-double.c
! e1e62673c23b0ad9af7edba3b9d33a55  gcc/testsuite/consistency.vlad/layout/s-int-float.c
! 697509399ca1a267e2b8d425e159dcb4  gcc/testsuite/consistency.vlad/layout/s-int-int.c
! 40fabb6dc16d94201ac723f8fd97f848  gcc/testsuite/consistency.vlad/layout/s-int-long.c
! ff1b6265d85d7149ab384ebcae3c4b87  gcc/testsuite/consistency.vlad/layout/s-int-longdouble.c
! 2164a33701006da9d88e6d9993604a8c  gcc/testsuite/consistency.vlad/layout/s-int-longlong.c
! fbf943ef52aa5a56ef53d3191c1e3611  gcc/testsuite/consistency.vlad/layout/s-int-pointer.c
! 11c8d40ddbd8ef7edd341d203a6b3a0e  gcc/testsuite/consistency.vlad/layout/s-int-ptrdiff_t.c
! 559fdb56b9b86c76317638a10cc7b087  gcc/testsuite/consistency.vlad/layout/s-int-s-char.c
! 1e964a2db0d1c0d3167acefbb506ef50  gcc/testsuite/consistency.vlad/layout/s-int-s-double.c
! b47fcb36e704bb68916c16c98a6ffc7a  gcc/testsuite/consistency.vlad/layout/s-int-s-float.c
! 81c9041b8dfd64149dd6f7f028610df0  gcc/testsuite/consistency.vlad/layout/s-int-s-int.c
! e45f7bfcfcbc34656b828fbdc166f1d8  gcc/testsuite/consistency.vlad/layout/s-int-s-long.c
! 2748a3a30972e4264edefdab8daea12a  gcc/testsuite/consistency.vlad/layout/s-int-s-longdouble.c
! 0534e14d376d6f087b7d477ad99fb92a  gcc/testsuite/consistency.vlad/layout/s-int-s-longlong.c
! 81f1d3f804968bb89b961f3977cb67d2  gcc/testsuite/consistency.vlad/layout/s-int-s-pointer.c
! 8b15c6e179053236c8c6c3dbee984140  gcc/testsuite/consistency.vlad/layout/s-int-s-short.c
! 79699b400ca584502cb30de8ad0ed800  gcc/testsuite/consistency.vlad/layout/s-int-short.c
! e64a8720d23238d060c8571f04d4df05  gcc/testsuite/consistency.vlad/layout/s-int-size_t.c
! 51ff5afa15d770cb5166e53312080d3b  gcc/testsuite/consistency.vlad/layout/s-int-wchar_t.c
! f7ecaa9e3e7cf1c0713623ee7e0953a8  gcc/testsuite/consistency.vlad/layout/s-int-zf-char.c
! b8d914db671992882bdedd2f881b97ea  gcc/testsuite/consistency.vlad/layout/s-int-zf-int.c
! 8d086ad59e1e1d79e6a5c55f4a060b55  gcc/testsuite/consistency.vlad/layout/s-int-zf-long.c
! 9fd0bad7365e8675b058f495fdcc55e6  gcc/testsuite/consistency.vlad/layout/s-int-zf-longlong.c
! 4728290302b3baba652f2d85bae42edd  gcc/testsuite/consistency.vlad/layout/s-int-zf-short.c
! e1654d03ceefbb1143a23cde6cb791af  gcc/testsuite/consistency.vlad/layout/s-long-a-char.c
! cc5716e0157ff318088855fadc5d5993  gcc/testsuite/consistency.vlad/layout/s-long-a-double.c
! fc0ff2bcd23a502fe2744555d5c695f8  gcc/testsuite/consistency.vlad/layout/s-long-a-float.c
! 63bd2ce1812d725f6a6ec02cc766d612  gcc/testsuite/consistency.vlad/layout/s-long-a-int.c
! 761a9f3b491d263be67b1de2b9f5f424  gcc/testsuite/consistency.vlad/layout/s-long-a-long.c
! e4f03f3ac941e3dbbc146a21427ed887  gcc/testsuite/consistency.vlad/layout/s-long-a-longdouble.c
! 5c2c021cbb7a0b0e9bd8cea624f2b8b7  gcc/testsuite/consistency.vlad/layout/s-long-a-longlong.c
! aff5ad5a61cd540af4f2224f678b8432  gcc/testsuite/consistency.vlad/layout/s-long-a-pointer.c
! b9699ad79656869da879c2438927c8e9  gcc/testsuite/consistency.vlad/layout/s-long-a-short.c
! ece1c63028ae193f46c61fbf33cfab95  gcc/testsuite/consistency.vlad/layout/s-long-char.c
! 30412ec47c92ed38d7e9e594453a5c2d  gcc/testsuite/consistency.vlad/layout/s-long-double.c
! c4e9e17d81936c5b55492929f69e2caa  gcc/testsuite/consistency.vlad/layout/s-long-float.c
! 270ef972a94fba58ed3ac8e8f99cbc47  gcc/testsuite/consistency.vlad/layout/s-long-int.c
! 187a6eb6ee7fbf6648a4a79576997eb7  gcc/testsuite/consistency.vlad/layout/s-long-long.c
! 2382030a0124afa75dda4940b3fc732d  gcc/testsuite/consistency.vlad/layout/s-long-longdouble.c
! 356d265c39b6cd5a64de4fd0c0f3f4ec  gcc/testsuite/consistency.vlad/layout/s-long-longlong.c
! 50d5a1e880e9fc8a522a4f5136233f47  gcc/testsuite/consistency.vlad/layout/s-long-pointer.c
! 40ae0463ad5e26efbff1176856c17bdc  gcc/testsuite/consistency.vlad/layout/s-long-ptrdiff_t.c
! 4c8d741fe4c1dd5b9180245726d932bb  gcc/testsuite/consistency.vlad/layout/s-long-s-char.c
! e256781ece5612e70623b5696f094fd8  gcc/testsuite/consistency.vlad/layout/s-long-s-double.c
! 7da6a2918a4d6c44093e9246e927e07e  gcc/testsuite/consistency.vlad/layout/s-long-s-float.c
! dcfae20f8ab0d559470b5e060f5e24cf  gcc/testsuite/consistency.vlad/layout/s-long-s-int.c
! 378d3037f6314361fe4070a2e494733c  gcc/testsuite/consistency.vlad/layout/s-long-s-long.c
! 431d72d6d9ec0fc412d87f0dc121f3c7  gcc/testsuite/consistency.vlad/layout/s-long-s-longdouble.c
! 7d459fa0ac35f408d92e08727a27bd33  gcc/testsuite/consistency.vlad/layout/s-long-s-longlong.c
! 2f498cfc3ad8a46cf5c68ebcf6876028  gcc/testsuite/consistency.vlad/layout/s-long-s-pointer.c
! da22996ba703c26f296126dd585a3f36  gcc/testsuite/consistency.vlad/layout/s-long-s-short.c
! a6a23451adc201ad495a29a403da3784  gcc/testsuite/consistency.vlad/layout/s-long-short.c
! 03a3220586cede4b535e5e15ff696f05  gcc/testsuite/consistency.vlad/layout/s-long-size_t.c
! 21365ea3c1d396e17d4cb7f6976bdfcf  gcc/testsuite/consistency.vlad/layout/s-long-wchar_t.c
! 39cc531f9876027255b64e10b1a4df0e  gcc/testsuite/consistency.vlad/layout/s-long-zf-char.c
! db74b72eeffb5ce9d15be1316a182f73  gcc/testsuite/consistency.vlad/layout/s-long-zf-int.c
! 0e4116207a27a4d634baf2246342b32d  gcc/testsuite/consistency.vlad/layout/s-long-zf-long.c
! ed96fb9b2e89a7bacf5d1492a0154c3f  gcc/testsuite/consistency.vlad/layout/s-long-zf-longlong.c
! 1f01802651f22cb349b0bf9c212e6032  gcc/testsuite/consistency.vlad/layout/s-long-zf-short.c
! 2f5c567fbbdb46442678596969652357  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-char.c
! 9ac7cff906ac67867ef1eb1b0d3ffe42  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-double.c
! 75aff55847a7445b02ed3e72488b4186  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-float.c
! e927312944769bb9517e0ecf28147d5e  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-int.c
! 244b49f1a4da57f42e598e74de2d65cc  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-long.c
! 86d0fd29a33889e66e83a721c6e25972  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-longdouble.c
! 43a724051c4c1f558d5cdd979eb5771b  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-longlong.c
! 272e07062c7d80047905c2c5fc94e6a6  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-pointer.c
! 1b63acbdaa13dfad802304a7a1e43227  gcc/testsuite/consistency.vlad/layout/s-longdouble-a-short.c
! 8cfac3e144cedd047125491d38bdbb9c  gcc/testsuite/consistency.vlad/layout/s-longdouble-char.c
! be3cb75d3724d4a3c7937f30378fed25  gcc/testsuite/consistency.vlad/layout/s-longdouble-double.c
! 72a54938c7803d0c353ad523bd9905ac  gcc/testsuite/consistency.vlad/layout/s-longdouble-float.c
! f0990ba654ca6506701c241670807a86  gcc/testsuite/consistency.vlad/layout/s-longdouble-int.c
! 8244eb0d14568bd3c120e0354744b682  gcc/testsuite/consistency.vlad/layout/s-longdouble-long.c
! fb81464ef4ea5840eec8a4444006d753  gcc/testsuite/consistency.vlad/layout/s-longdouble-longdouble.c
! 885b5934ffd55fdcb7f783f86a624ac1  gcc/testsuite/consistency.vlad/layout/s-longdouble-longlong.c
! b37f304b1806d28425c760b53df22676  gcc/testsuite/consistency.vlad/layout/s-longdouble-pointer.c
! 91429c790c80f2b6764b092709d2961d  gcc/testsuite/consistency.vlad/layout/s-longdouble-ptrdiff_t.c
! 27c987ba319678e54b30b56f8d182a08  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-char.c
! ef8b3ab99a7a0bfd2de14f07f0bebd64  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-double.c
! 4a58fb24e679a65ac2ecca6d51bf1642  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-float.c
! 9cc1168aa921a671e0a9e8012ba4223d  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-int.c
! 61bb49b8d89341d1a559fa7a1015c3bc  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-long.c
! 3fd7e3ecde322410690a823e6f40f60d  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-longdouble.c
! 85a4f451040cb0c4feaacd4bb785e4a4  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-longlong.c
! 172cda8b8e852673674b3b0c2a003932  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-pointer.c
! e17abc25722a661c61ecf99de9a629cc  gcc/testsuite/consistency.vlad/layout/s-longdouble-s-short.c
! 343b802b7ab3d49817f77330d3359ec5  gcc/testsuite/consistency.vlad/layout/s-longdouble-short.c
! 0b3a825bbfa76fc1a039303d5727a819  gcc/testsuite/consistency.vlad/layout/s-longdouble-size_t.c
! 60c753737e90dea5de6c4fa38a814302  gcc/testsuite/consistency.vlad/layout/s-longdouble-wchar_t.c
! 31f3d0285ad165b2a19bb0087a157dd0  gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-char.c
! 6adcb502bfa74c9a092417ec09d6eb12  gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-int.c
! 86ab35b8a12e6730002c0766493d6e25  gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-long.c
! 842f89051bbe585874911ce18eb81900  gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-longlong.c
! b18cfc111545be03694b661384d79608  gcc/testsuite/consistency.vlad/layout/s-longdouble-zf-short.c
! d6a32cec2e36c7b0f6e0128d7ec47918  gcc/testsuite/consistency.vlad/layout/s-longlong-a-char.c
! 29ad7250068b26cfd0d8cf6b5c8e8d3c  gcc/testsuite/consistency.vlad/layout/s-longlong-a-double.c
! 09e3df64d1c5f47f50762266f81a2e99  gcc/testsuite/consistency.vlad/layout/s-longlong-a-float.c
! 1715019ff2ef5265f69002fc0644a592  gcc/testsuite/consistency.vlad/layout/s-longlong-a-int.c
! 832bc8aa6db689403eaee6d8c32989ea  gcc/testsuite/consistency.vlad/layout/s-longlong-a-long.c
! 227c690f55f7cf84c7169a99784dc592  gcc/testsuite/consistency.vlad/layout/s-longlong-a-longdouble.c
! 6ebf45d49da96fdbed6ab25a98406713  gcc/testsuite/consistency.vlad/layout/s-longlong-a-longlong.c
! 395872f5e09d0a0c0db97dd8a2aa3dc2  gcc/testsuite/consistency.vlad/layout/s-longlong-a-pointer.c
! 955bbe735f264c4b262f9543bcf903a6  gcc/testsuite/consistency.vlad/layout/s-longlong-a-short.c
! 125277421132a4937947bb18824a39e9  gcc/testsuite/consistency.vlad/layout/s-longlong-char.c
! e7cafb6e2c64cc7fda42e4346bdc22c9  gcc/testsuite/consistency.vlad/layout/s-longlong-double.c
! bde7e535144dc1d2d0297feffeaf5cc7  gcc/testsuite/consistency.vlad/layout/s-longlong-float.c
! 7abf30bd864d1da5834f51700f4e75e0  gcc/testsuite/consistency.vlad/layout/s-longlong-int.c
! 1ea8761ddb23585baccbfabf760e4241  gcc/testsuite/consistency.vlad/layout/s-longlong-long.c
! 0201d68cee995a2de2531e2fd3bffb62  gcc/testsuite/consistency.vlad/layout/s-longlong-longdouble.c
! dad46481cb4b7ffc4de9ddca1fe8e0cf  gcc/testsuite/consistency.vlad/layout/s-longlong-longlong.c
! 3fc5666210597b741489c9b19ba35601  gcc/testsuite/consistency.vlad/layout/s-longlong-pointer.c
! 825e022ed05a0306bf0639045046b33d  gcc/testsuite/consistency.vlad/layout/s-longlong-ptrdiff_t.c
! 9c2f5b4da183ad10dad44645d4372273  gcc/testsuite/consistency.vlad/layout/s-longlong-s-char.c
! fdba0b8543a154407c2519e3fc2bf853  gcc/testsuite/consistency.vlad/layout/s-longlong-s-double.c
! 1772f6f4639687027550cfcbb8a807c8  gcc/testsuite/consistency.vlad/layout/s-longlong-s-float.c
! 9c43d7efb7a14c297680ec20790ed162  gcc/testsuite/consistency.vlad/layout/s-longlong-s-int.c
! ecd09fe1e40cd48c83dcfe0791f179fb  gcc/testsuite/consistency.vlad/layout/s-longlong-s-long.c
! 12756f79e639875f3b1b9162cea5837a  gcc/testsuite/consistency.vlad/layout/s-longlong-s-longdouble.c
! 5ecb9d3c2069b96bd748afd6c2755884  gcc/testsuite/consistency.vlad/layout/s-longlong-s-longlong.c
! 0ab2d4eaf528b17da231a6cf229302c9  gcc/testsuite/consistency.vlad/layout/s-longlong-s-pointer.c
! a0a3f6b9af6e32078af0d6b007e4367d  gcc/testsuite/consistency.vlad/layout/s-longlong-s-short.c
! 02a12c91d48b574008cdc5f63e85538d  gcc/testsuite/consistency.vlad/layout/s-longlong-short.c
! 05d760c4f7cbd08fbcf5c83cf5a47a44  gcc/testsuite/consistency.vlad/layout/s-longlong-size_t.c
! dd7e5bb9909c9d88da0e84b0035045bc  gcc/testsuite/consistency.vlad/layout/s-longlong-wchar_t.c
! 788cd62604fd6c12cea89e0c0607de17  gcc/testsuite/consistency.vlad/layout/s-longlong-zf-char.c
! 7b0ed41c1b67a5a239649cbd3a07036e  gcc/testsuite/consistency.vlad/layout/s-longlong-zf-int.c
! e1fcbaeae3b32dd2494fe089dc883f7a  gcc/testsuite/consistency.vlad/layout/s-longlong-zf-long.c
! 6bcdd311c645b770978b49b6a4399910  gcc/testsuite/consistency.vlad/layout/s-longlong-zf-longlong.c
! 812642a950133b96bfe838c334c53fab  gcc/testsuite/consistency.vlad/layout/s-longlong-zf-short.c
! bc8a87ecc9cd7a8bef331bf2bd8e8655  gcc/testsuite/consistency.vlad/layout/s-pointer-a-char.c
! 3f04595b6a594286a6a388e40ce65a10  gcc/testsuite/consistency.vlad/layout/s-pointer-a-double.c
! 6c62c67931598ac509e59628626c2efa  gcc/testsuite/consistency.vlad/layout/s-pointer-a-float.c
! 4e6afbf81f027f57ab66484f0eaa0b5e  gcc/testsuite/consistency.vlad/layout/s-pointer-a-int.c
! a7e1aa90e8cb3fbf84dcefe3416990cb  gcc/testsuite/consistency.vlad/layout/s-pointer-a-long.c
! 8c860c28d87d422efec4931775470437  gcc/testsuite/consistency.vlad/layout/s-pointer-a-longdouble.c
! d0175fd007a3ee74c092567e7a3abb82  gcc/testsuite/consistency.vlad/layout/s-pointer-a-longlong.c
! f70591fc704b6ba596e1fe12d17e7a3e  gcc/testsuite/consistency.vlad/layout/s-pointer-a-pointer.c
! 5d5a62950bb143f253617be003a82dd1  gcc/testsuite/consistency.vlad/layout/s-pointer-a-short.c
! ec68c400256b7763015da80006d0645f  gcc/testsuite/consistency.vlad/layout/s-pointer-char.c
! 91c2d12423f588ea7681a5fa4c82e9ad  gcc/testsuite/consistency.vlad/layout/s-pointer-double.c
! d1b5c1aa7a2bafd751673d33cf79f06e  gcc/testsuite/consistency.vlad/layout/s-pointer-float.c
! 5861142e01b9e45df739fbe4b5b8be08  gcc/testsuite/consistency.vlad/layout/s-pointer-int.c
! 0bb0dfbbe731b950e718617925e323b4  gcc/testsuite/consistency.vlad/layout/s-pointer-long.c
! 22ba0761ba303bdcdb1b75ad986df802  gcc/testsuite/consistency.vlad/layout/s-pointer-longdouble.c
! 01b7760b1aa5cdcb5d14fcc6c38ea660  gcc/testsuite/consistency.vlad/layout/s-pointer-longlong.c
! 220bc2e2e18d49aa5109ce054980b4ce  gcc/testsuite/consistency.vlad/layout/s-pointer-pointer.c
! d25b7d564e9a50fe62ae12f230c9c86f  gcc/testsuite/consistency.vlad/layout/s-pointer-ptrdiff_t.c
! bf998cb3109cc02055eddf417467d347  gcc/testsuite/consistency.vlad/layout/s-pointer-s-char.c
! ed8e17ad03f435f7403c2a86cc62a0a7  gcc/testsuite/consistency.vlad/layout/s-pointer-s-double.c
! ce0d1ae717b56952d39209b43645511c  gcc/testsuite/consistency.vlad/layout/s-pointer-s-float.c
! c300f61aaf53e6d91debf2757c4148fa  gcc/testsuite/consistency.vlad/layout/s-pointer-s-int.c
! 92b5a4814b51d2530049da83ae6f59c4  gcc/testsuite/consistency.vlad/layout/s-pointer-s-long.c
! 281a9c41c4ead4dd56eb2b7f2c6c3c34  gcc/testsuite/consistency.vlad/layout/s-pointer-s-longdouble.c
! 597b70be6583ef564a05361d683fd14f  gcc/testsuite/consistency.vlad/layout/s-pointer-s-longlong.c
! 0df22a2bf369a803389fd457a11760d6  gcc/testsuite/consistency.vlad/layout/s-pointer-s-pointer.c
! 76ed538ff6778cfc33a6f5bca6209d42  gcc/testsuite/consistency.vlad/layout/s-pointer-s-short.c
! 29cb80655dffcdb5196f3b8f1f0a9dbb  gcc/testsuite/consistency.vlad/layout/s-pointer-short.c
! b8612f4652041938c5d7dad1e6048774  gcc/testsuite/consistency.vlad/layout/s-pointer-size_t.c
! dc6bc0ae3ea7e66a2eb502ea5b12917d  gcc/testsuite/consistency.vlad/layout/s-pointer-wchar_t.c
! 401c57d530c8ac34c282f49bc7e1d089  gcc/testsuite/consistency.vlad/layout/s-pointer-zf-char.c
! cfd46f08a8d462aebe1ddb520218ad32  gcc/testsuite/consistency.vlad/layout/s-pointer-zf-int.c
! a192b2394e5502931b75826bc79af031  gcc/testsuite/consistency.vlad/layout/s-pointer-zf-long.c
! d84224c18a6d98baecc6a9f5ece2cdf0  gcc/testsuite/consistency.vlad/layout/s-pointer-zf-longlong.c
! 6f2dfd895b2a1041d9028493cf48c3ee  gcc/testsuite/consistency.vlad/layout/s-pointer-zf-short.c
! 060923d7d7bbcf4b8703d756a7ce4e27  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-char.c
! 3e5f0ffa9ae70713cfeac565aa2ab03e  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-double.c
! 8c98ccc1508c3da3a4e1a088777e346e  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-float.c
! 78bcd7c7d943b57ebd98cf36f8c8a757  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-int.c
! 6b742a9dfbf82ce8f96e47bc2cccfbc5  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-long.c
! 29835627d58fc27df107ae0984da8987  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-longdouble.c
! 193aa6fc495361ed57ed59f6c6c11d68  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-longlong.c
! 40a5417445385c7d29b86c6e7649bd15  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-pointer.c
! c693ed0f0c1a259f6987222401d08f7a  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-ptrdiff_t.c
! 70e9e4d2d99fe08b4238a94ebab3ff78  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-short.c
! 2730038db60a5c2a1459831de124dad8  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-size_t.c
! 5980abba864729ee0557d8e54b45c093  gcc/testsuite/consistency.vlad/layout/s-ptrdiff_t-wchar_t.c
! 30af206ec09cdde5aacfe1d0241ecfae  gcc/testsuite/consistency.vlad/layout/s-short-a-char.c
! ff1c5436c3faee4eb2f6658e579a2abc  gcc/testsuite/consistency.vlad/layout/s-short-a-double.c
! 8772a90bcd10341c92a702498be232f0  gcc/testsuite/consistency.vlad/layout/s-short-a-float.c
! 921614c8740336ce97c6fec2ec81fd56  gcc/testsuite/consistency.vlad/layout/s-short-a-int.c
! 5352cca3b0547f2ddd3aed6979521342  gcc/testsuite/consistency.vlad/layout/s-short-a-long.c
! bf21c4bf0b39ac668f39a323a9befdad  gcc/testsuite/consistency.vlad/layout/s-short-a-longdouble.c
! ce673fe7c498add48ad14515f90f9677  gcc/testsuite/consistency.vlad/layout/s-short-a-longlong.c
! a77e9ff8e58e582d225968192aaa943d  gcc/testsuite/consistency.vlad/layout/s-short-a-pointer.c
! 21e9e5fedb8fcb7ddbbaeb0c5812f576  gcc/testsuite/consistency.vlad/layout/s-short-a-short.c
! 5672a58cf587e6ee1b52964084693add  gcc/testsuite/consistency.vlad/layout/s-short-char.c
! 865ef0b1461ceed7c57ac7cbb6cf56f6  gcc/testsuite/consistency.vlad/layout/s-short-double.c
! 14d1b8105d125f8f52be993e0ecffb65  gcc/testsuite/consistency.vlad/layout/s-short-float.c
! 683e03cd9bf158c4993d72dc9b7089d6  gcc/testsuite/consistency.vlad/layout/s-short-int.c
! 7c3519505f967566fe38228087b9edfc  gcc/testsuite/consistency.vlad/layout/s-short-long.c
! a65eff817e4f63a57d5cb0cbfca435e2  gcc/testsuite/consistency.vlad/layout/s-short-longdouble.c
! 43ee557987165f668755d2114e68a571  gcc/testsuite/consistency.vlad/layout/s-short-longlong.c
! f8e0897249ff7ef8b33595d99408ec10  gcc/testsuite/consistency.vlad/layout/s-short-pointer.c
! 2d2f2153793407c44946ed56798cc76c  gcc/testsuite/consistency.vlad/layout/s-short-ptrdiff_t.c
! 122d342584e1a5164434d0ecfa70a583  gcc/testsuite/consistency.vlad/layout/s-short-s-char.c
! e72bb655f73f11212d32f79abc8bb755  gcc/testsuite/consistency.vlad/layout/s-short-s-double.c
! 9224aa5feddbe2d0dfaeabbf66af40a1  gcc/testsuite/consistency.vlad/layout/s-short-s-float.c
! 6ef104df1fcbc2c121e9500e417fa730  gcc/testsuite/consistency.vlad/layout/s-short-s-int.c
! d6f61f8ccf222db81a32e5894a19216e  gcc/testsuite/consistency.vlad/layout/s-short-s-long.c
! 3b27ef04401055fcba996ab9dfc67d60  gcc/testsuite/consistency.vlad/layout/s-short-s-longdouble.c
! 1c9b273625cc7336257cfaa2055aa803  gcc/testsuite/consistency.vlad/layout/s-short-s-longlong.c
! 7a872e5ee4136978d49c6a2b4de58b22  gcc/testsuite/consistency.vlad/layout/s-short-s-pointer.c
! 7dbd8431c796cc6336e423c345ef32e2  gcc/testsuite/consistency.vlad/layout/s-short-s-short.c
! 112bb0cc085e1fcec9496620732b2f6d  gcc/testsuite/consistency.vlad/layout/s-short-short.c
! 21b1f0e35d6aafeb25c2ba2356144579  gcc/testsuite/consistency.vlad/layout/s-short-size_t.c
! 1702fefa4bcfbc8efd53565627773b38  gcc/testsuite/consistency.vlad/layout/s-short-wchar_t.c
! 35a8acce9e700589830b5ccff60c15ec  gcc/testsuite/consistency.vlad/layout/s-short-zf-char.c
! fdd22ee48ea2ad73a0dd0553ee1bab07  gcc/testsuite/consistency.vlad/layout/s-short-zf-int.c
! 31b714d6b35cf716882217a6c20e4312  gcc/testsuite/consistency.vlad/layout/s-short-zf-long.c
! 9443d8b99f18a0fcd4ce071979ead292  gcc/testsuite/consistency.vlad/layout/s-short-zf-longlong.c
! ec6dbf196f915ff431e41cab17c2fcc3  gcc/testsuite/consistency.vlad/layout/s-short-zf-short.c
! 31c5942e6a2c2cfe8e47e6abd1a0d7c4  gcc/testsuite/consistency.vlad/layout/s-size_t-char.c
! f7ada0805c196bbd3d59c8ffe9c72501  gcc/testsuite/consistency.vlad/layout/s-size_t-double.c
! 023dfe5c3d921333658f27789cc737d3  gcc/testsuite/consistency.vlad/layout/s-size_t-float.c
! 9a0b3e9037ed1ec1008b87881d628674  gcc/testsuite/consistency.vlad/layout/s-size_t-int.c
! 18b65c898072628827a5a882d3846ac6  gcc/testsuite/consistency.vlad/layout/s-size_t-long.c
! fe89cae85739683d74ed57d9c2fe7c89  gcc/testsuite/consistency.vlad/layout/s-size_t-longdouble.c
! 3a5fa26b096c03f6c5d29e870243c520  gcc/testsuite/consistency.vlad/layout/s-size_t-longlong.c
! 0378f8a11224167132acaa15b2eb31fd  gcc/testsuite/consistency.vlad/layout/s-size_t-pointer.c
! 48e0f2ee18e26e08f835b72095959dfd  gcc/testsuite/consistency.vlad/layout/s-size_t-ptrdiff_t.c
! 6f69fa15b2cffa7c5cf24642bab88d70  gcc/testsuite/consistency.vlad/layout/s-size_t-short.c
! 82d460ae450c37d89dcb7307062aed42  gcc/testsuite/consistency.vlad/layout/s-size_t-size_t.c
! 77d0eb89842e4ffb039e89b7263f4d8c  gcc/testsuite/consistency.vlad/layout/s-size_t-wchar_t.c
! 6091b601759883309c26568bc7b92185  gcc/testsuite/consistency.vlad/layout/s-wchar_t-char.c
! c5a6602a7c58ed2ab79143641c46523c  gcc/testsuite/consistency.vlad/layout/s-wchar_t-double.c
! d8c30b9cbdea86c6b5709bebcc0174b9  gcc/testsuite/consistency.vlad/layout/s-wchar_t-float.c
! efbfc3fb799efe238b0fd8bfff8a2f8f  gcc/testsuite/consistency.vlad/layout/s-wchar_t-int.c
! 2eefb6c5f45b975fb59ee9a256881d34  gcc/testsuite/consistency.vlad/layout/s-wchar_t-long.c
! 530f7cfc6bdc9ab828f7d41837316e9b  gcc/testsuite/consistency.vlad/layout/s-wchar_t-longdouble.c
! 28127d5bca6dd8d48acbcac87fc66c82  gcc/testsuite/consistency.vlad/layout/s-wchar_t-longlong.c
! 6a65f9b9c9a935194700f5479eeef25c  gcc/testsuite/consistency.vlad/layout/s-wchar_t-pointer.c
! ae47c0250cca8f608fe6af3a84aeecc3  gcc/testsuite/consistency.vlad/layout/s-wchar_t-ptrdiff_t.c
! 7076fd41403cf6e1957ace79fbf29fbc  gcc/testsuite/consistency.vlad/layout/s-wchar_t-short.c
! 395bc430797050622d1e36a350219948  gcc/testsuite/consistency.vlad/layout/s-wchar_t-size_t.c
! ee95232a20aa0caa4c1202ba9ecec56d  gcc/testsuite/consistency.vlad/layout/s-wchar_t-wchar_t.c
! 2a7d30e77690f5c467f7eb92bad3cc07  gcc/testsuite/consistency.vlad/layout/size-bool.cpp
! 0386c7fa9e388cf382431fffd4cd00e9  gcc/testsuite/consistency.vlad/layout/size-char.c
! 60f1c9f96d782b420ac66ec837a49562  gcc/testsuite/consistency.vlad/layout/size-double.c
! 01d207b422f803a56ae88b347edd2489  gcc/testsuite/consistency.vlad/layout/size-float.c
! ea15029825457db8f27b38dc84a9b74e  gcc/testsuite/consistency.vlad/layout/size-int.c
! adfd9e0faae6eb22bf96c9b54e263cbc  gcc/testsuite/consistency.vlad/layout/size-long.c
! 615943c24be5a994b378e13f6ecf4fbe  gcc/testsuite/consistency.vlad/layout/size-longdouble.c
! fac35480f23dbd15062496c83520e1d9  gcc/testsuite/consistency.vlad/layout/size-longlong.c
! 09a8d7c44281e00298ac216413efec1f  gcc/testsuite/consistency.vlad/layout/size-pointer.c
! 0c455906ac199e53992f32031e45831e  gcc/testsuite/consistency.vlad/layout/size-ptrdiff.c
! ab76335d91ab2dbdabbb5042f1e1c44e  gcc/testsuite/consistency.vlad/layout/size-short.c
! c40026a0e7923e5119a1e8c890b403ac  gcc/testsuite/consistency.vlad/layout/size-size.c
! 62f94f0b98c5644b785f0a3ef9fb510b  gcc/testsuite/consistency.vlad/layout/size-wchar.c
! e00f32bee5283dd1db1d23df96944f2b  gcc/testsuite/consistency.vlad/vlad.exp
  b87b115761d6eee98d4c2e225a2cbf3a  gcc/testsuite/g++.dg/README
  c7c251f16058a4d4f1db8e0df28385ff  gcc/testsuite/g++.dg/abi/align1.C
  7f27f1e236616eb8595c717e087b1159  gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
--- 6534,6540 ----
  2f50ecd2b64eb3a3cefb0066c4c043a1  gcc/testsuite/ada/acats/tests/l/la140271.a
  004386b31584ba3e3f7171f7674e4137  gcc/testsuite/ada/acats/tests/l/la140272.am
  9c63871113de9b518e90c90fe8e20f28  gcc/testsuite/ada/acats/tests/l/la140273.a
! b1af551ce684c2c930554e57cbafc78a  gcc/testsuite/config/default.exp
  b87b115761d6eee98d4c2e225a2cbf3a  gcc/testsuite/g++.dg/README
  c7c251f16058a4d4f1db8e0df28385ff  gcc/testsuite/g++.dg/abi/align1.C
  7f27f1e236616eb8595c717e087b1159  gcc/testsuite/g++.dg/abi/arm_cxa_vec1.C
*************** c7c251f16058a4d4f1db8e0df28385ff  gcc/te
*** 8033,8045 ****
  e5e5ef8164ac7b43c7f20df7cfcd9b99  gcc/testsuite/g++.dg/abi/bitfield11.C
  3fd7e30befde66c7c5adb5b41e25923e  gcc/testsuite/g++.dg/abi/bitfield12.C
  173225a0187e4ebc6417355e8b87a8e9  gcc/testsuite/g++.dg/abi/bitfield2.C
! 95ebb8605baee8855cc6df12971992ed  gcc/testsuite/g++.dg/abi/bitfield3.C
! dbbdadc036ae50f91f29a85a9c43c584  gcc/testsuite/g++.dg/abi/bitfield4.C
  7a715981fdef3b0ea85d77633f3443e9  gcc/testsuite/g++.dg/abi/bitfield5.C
  9c87e70c80da00c75493118cabefc7f7  gcc/testsuite/g++.dg/abi/bitfield6.C
  52af9e2f39dba23a45c367738de05a69  gcc/testsuite/g++.dg/abi/bitfield7.C
! 6ea4fffa5d155f3f76f7a828f13f4039  gcc/testsuite/g++.dg/abi/bitfield8.C
! 076024f0afaf3420463a8c8edf49ff06  gcc/testsuite/g++.dg/abi/bitfield9.C
  b587f170bbc6f95ef287e408bcafe1e3  gcc/testsuite/g++.dg/abi/cookie1.C
  3bd4bb420676c4310003c9fffe83abe9  gcc/testsuite/g++.dg/abi/cookie2.C
  16ddae14467c12ed70e65f2952905e5a  gcc/testsuite/g++.dg/abi/covariant1.C
--- 6544,6556 ----
  e5e5ef8164ac7b43c7f20df7cfcd9b99  gcc/testsuite/g++.dg/abi/bitfield11.C
  3fd7e30befde66c7c5adb5b41e25923e  gcc/testsuite/g++.dg/abi/bitfield12.C
  173225a0187e4ebc6417355e8b87a8e9  gcc/testsuite/g++.dg/abi/bitfield2.C
! 34982a6497281461ef10aa9c04840b9d  gcc/testsuite/g++.dg/abi/bitfield3.C
! b8aaec32a77e9927231c6c5f3237432f  gcc/testsuite/g++.dg/abi/bitfield4.C
  7a715981fdef3b0ea85d77633f3443e9  gcc/testsuite/g++.dg/abi/bitfield5.C
  9c87e70c80da00c75493118cabefc7f7  gcc/testsuite/g++.dg/abi/bitfield6.C
  52af9e2f39dba23a45c367738de05a69  gcc/testsuite/g++.dg/abi/bitfield7.C
! 20c8af1b6abeb0a339e5fd9c3edbde57  gcc/testsuite/g++.dg/abi/bitfield8.C
! 14697006c1045d90c0f505dbfc8c5072  gcc/testsuite/g++.dg/abi/bitfield9.C
  b587f170bbc6f95ef287e408bcafe1e3  gcc/testsuite/g++.dg/abi/cookie1.C
  3bd4bb420676c4310003c9fffe83abe9  gcc/testsuite/g++.dg/abi/cookie2.C
  16ddae14467c12ed70e65f2952905e5a  gcc/testsuite/g++.dg/abi/covariant1.C
*************** b587f170bbc6f95ef287e408bcafe1e3  gcc/te
*** 8048,8070 ****
  a65da95a628d80d93aad25db51b4e19c  gcc/testsuite/g++.dg/abi/covariant4.C
  488e3869493233b0552a676aa01a7912  gcc/testsuite/g++.dg/abi/covariant5.C
  5160def446afcb02d8ffb4cc4e8b5269  gcc/testsuite/g++.dg/abi/dcast1.C
! 59b92433bd8b3d92f53638b25487e895  gcc/testsuite/g++.dg/abi/dtor1.C
  a52edd14facd7ba603f78fb8bad62852  gcc/testsuite/g++.dg/abi/dtor2.C
! bdfcee26ea13727b4fd9518694da0d57  gcc/testsuite/g++.dg/abi/empty10.C
  5ce11bfa25802ab713c346269c112592  gcc/testsuite/g++.dg/abi/empty11.C
  47c3d191ca7e599a86988d8cfdf3dfce  gcc/testsuite/g++.dg/abi/empty4.C
  b3ca6b59f60c246ebf1e969e6120765f  gcc/testsuite/g++.dg/abi/empty5.C
! 3e17773989628780c2b9f813f8a4ccba  gcc/testsuite/g++.dg/abi/empty6.C
! 62e722bc901721474542f63d88b4b2e8  gcc/testsuite/g++.dg/abi/empty7.C
  c5566cc05c36a22382128eb694f66bc5  gcc/testsuite/g++.dg/abi/empty8.C
! e200412d6a504ac7ffa6050561982de3  gcc/testsuite/g++.dg/abi/empty9.C
  7cbe4b1023b73117f1fca798569bc98d  gcc/testsuite/g++.dg/abi/enum1.C
  111786b8402b8dd840adfb9a53cf3aac  gcc/testsuite/g++.dg/abi/inline1.C
  a128b5b94590dd451ff32844c5adb5e7  gcc/testsuite/g++.dg/abi/key1.C
  44d0f298ab4a8fb8dcb8f4930bac5fd0  gcc/testsuite/g++.dg/abi/layout1.C
  629ced02f7a4d9d57a9b120d8c7bbbde  gcc/testsuite/g++.dg/abi/layout2.C
! a806fb4b648827c007cd941700a51121  gcc/testsuite/g++.dg/abi/layout3.C
! ef06a1d881ee78fbb13fc891d175f8c7  gcc/testsuite/g++.dg/abi/layout4.C
  1b56fef803fe85ec97121919ad3ba2b9  gcc/testsuite/g++.dg/abi/local1-a.cc
  4ab5160617737559c38e1ffb650b797e  gcc/testsuite/g++.dg/abi/local1.C
  47b1f29300530040f4c65e1acb36904a  gcc/testsuite/g++.dg/abi/macro0.C
--- 6559,6581 ----
  a65da95a628d80d93aad25db51b4e19c  gcc/testsuite/g++.dg/abi/covariant4.C
  488e3869493233b0552a676aa01a7912  gcc/testsuite/g++.dg/abi/covariant5.C
  5160def446afcb02d8ffb4cc4e8b5269  gcc/testsuite/g++.dg/abi/dcast1.C
! 9b5fe1eda32f4e6ddea3106ea8d9f1da  gcc/testsuite/g++.dg/abi/dtor1.C
  a52edd14facd7ba603f78fb8bad62852  gcc/testsuite/g++.dg/abi/dtor2.C
! 9d59f34907d1d9588084fc4da7772c02  gcc/testsuite/g++.dg/abi/empty10.C
  5ce11bfa25802ab713c346269c112592  gcc/testsuite/g++.dg/abi/empty11.C
  47c3d191ca7e599a86988d8cfdf3dfce  gcc/testsuite/g++.dg/abi/empty4.C
  b3ca6b59f60c246ebf1e969e6120765f  gcc/testsuite/g++.dg/abi/empty5.C
! f59a9fb631035bed123e09958b87e5ec  gcc/testsuite/g++.dg/abi/empty6.C
! d3abb8f9307b552b4063b456bfe2f213  gcc/testsuite/g++.dg/abi/empty7.C
  c5566cc05c36a22382128eb694f66bc5  gcc/testsuite/g++.dg/abi/empty8.C
! bbab6b1f77eed09d3a2c4f07991cdb40  gcc/testsuite/g++.dg/abi/empty9.C
  7cbe4b1023b73117f1fca798569bc98d  gcc/testsuite/g++.dg/abi/enum1.C
  111786b8402b8dd840adfb9a53cf3aac  gcc/testsuite/g++.dg/abi/inline1.C
  a128b5b94590dd451ff32844c5adb5e7  gcc/testsuite/g++.dg/abi/key1.C
  44d0f298ab4a8fb8dcb8f4930bac5fd0  gcc/testsuite/g++.dg/abi/layout1.C
  629ced02f7a4d9d57a9b120d8c7bbbde  gcc/testsuite/g++.dg/abi/layout2.C
! 6372326d116dead9b369290e7a9ccb46  gcc/testsuite/g++.dg/abi/layout3.C
! bce89527ea384ef57e8233c6ea7e1ed2  gcc/testsuite/g++.dg/abi/layout4.C
  1b56fef803fe85ec97121919ad3ba2b9  gcc/testsuite/g++.dg/abi/local1-a.cc
  4ab5160617737559c38e1ffb650b797e  gcc/testsuite/g++.dg/abi/local1.C
  47b1f29300530040f4c65e1acb36904a  gcc/testsuite/g++.dg/abi/macro0.C
*************** dc5e5444adf348136bebba2aeea75a56  gcc/te
*** 8089,8094 ****
--- 6600,6607 ----
  19d5bab4f182e97a38690a5ff4541700  gcc/testsuite/g++.dg/abi/mangle21.C
  f27a51ea9de5c032fc80016778dbe5ec  gcc/testsuite/g++.dg/abi/mangle22.C
  ae32a28f733f8cea6995e7bf6120d7ce  gcc/testsuite/g++.dg/abi/mangle23.C
+ dc7e3e2dd170d9a556860ea916a125e7  gcc/testsuite/g++.dg/abi/mangle24.C
+ f5072c5054e4b889d8b510d94e3b7a16  gcc/testsuite/g++.dg/abi/mangle25.C
  d946103cc1268a8d464c04c3ae31af29  gcc/testsuite/g++.dg/abi/mangle26.C
  d3b8c2dcc1a0c5ff234fb977a0abc283  gcc/testsuite/g++.dg/abi/mangle27.C
  588881d3d6cf72183ed9fe7c181c1ac2  gcc/testsuite/g++.dg/abi/mangle28.C
*************** afc405c144dbb0308035897270d134fe  gcc/te
*** 8106,8117 ****
  d90943e976dded1f4182aeb500d1f2c7  gcc/testsuite/g++.dg/abi/rtti1.C
  8deae0db66776c34c77f2551c9679b7c  gcc/testsuite/g++.dg/abi/rtti2.C
  51349b3acb94d1dc1909aec6ba384dae  gcc/testsuite/g++.dg/abi/structret1.C
! 2d7c32bff9d81432fde2ef3e662b4beb  gcc/testsuite/g++.dg/abi/thunk1.C
! 625a57a394193cf1df258188df3ed44a  gcc/testsuite/g++.dg/abi/thunk2.C
  9266f22cfbaad15702320f26c3b6c146  gcc/testsuite/g++.dg/abi/vague1.C
  6b15aad70c63bb9bebfefe5096394d41  gcc/testsuite/g++.dg/abi/vbase1.C
  e36a8fd36846ca34b500150cfaf2d8fa  gcc/testsuite/g++.dg/abi/vbase10.C
! aae82b06e783f239c070fd6b34d818d4  gcc/testsuite/g++.dg/abi/vbase11.C
  90c43a38beef1adc9c358d0c1f470c6f  gcc/testsuite/g++.dg/abi/vbase12.C
  2c858a9c525d6228c68ebd9b6adc4724  gcc/testsuite/g++.dg/abi/vbase13.C
  530a9c9d639369e0e074a2ac0f3f8e59  gcc/testsuite/g++.dg/abi/vbase14.C
--- 6619,6630 ----
  d90943e976dded1f4182aeb500d1f2c7  gcc/testsuite/g++.dg/abi/rtti1.C
  8deae0db66776c34c77f2551c9679b7c  gcc/testsuite/g++.dg/abi/rtti2.C
  51349b3acb94d1dc1909aec6ba384dae  gcc/testsuite/g++.dg/abi/structret1.C
! 0a188cd301551f22c8ddc09030b2eb28  gcc/testsuite/g++.dg/abi/thunk1.C
! 8c08a43b9a6c3a1ec099f45dedd4965e  gcc/testsuite/g++.dg/abi/thunk2.C
  9266f22cfbaad15702320f26c3b6c146  gcc/testsuite/g++.dg/abi/vague1.C
  6b15aad70c63bb9bebfefe5096394d41  gcc/testsuite/g++.dg/abi/vbase1.C
  e36a8fd36846ca34b500150cfaf2d8fa  gcc/testsuite/g++.dg/abi/vbase10.C
! 144d7001c1ac9ab9c89d8f5c56de4e09  gcc/testsuite/g++.dg/abi/vbase11.C
  90c43a38beef1adc9c358d0c1f470c6f  gcc/testsuite/g++.dg/abi/vbase12.C
  2c858a9c525d6228c68ebd9b6adc4724  gcc/testsuite/g++.dg/abi/vbase13.C
  530a9c9d639369e0e074a2ac0f3f8e59  gcc/testsuite/g++.dg/abi/vbase14.C
*************** cf73a61c2f7a372a6e32d4bbc343cd44  gcc/te
*** 8122,8140 ****
  aa7850bb832428b452c702abac4c2357  gcc/testsuite/g++.dg/abi/vbase9.C
  c88701df415b47ac9bf5cba84cf379ab  gcc/testsuite/g++.dg/abi/vcall1.C
  5acd6755c279afd8abbf0ca970932bf8  gcc/testsuite/g++.dg/abi/vthunk1.C
! 3b0151845eebe63464fee62c4e406da4  gcc/testsuite/g++.dg/abi/vthunk2.C
! 40aba54a2bc68361721b0255427e2d31  gcc/testsuite/g++.dg/abi/vthunk3.C
  59cdef1c2f5ac26231205b723cb9ea52  gcc/testsuite/g++.dg/abi/vtt1.C
! e359f8dc361a36c3aacfa8533fe72fa8  gcc/testsuite/g++.dg/bprob/bprob.exp
  232269dc2a9b913c19e49f1e7a29bf08  gcc/testsuite/g++.dg/bprob/g++-bprob-1.C
  5d6eb1269c8738b70f3d15b9a148001f  gcc/testsuite/g++.dg/charset/asm1.c
! c277dfaaf369abc23e9a10195435da17  gcc/testsuite/g++.dg/charset/asm2.c
  bd34927c7e8ef0637a91744aa30c8e22  gcc/testsuite/g++.dg/charset/asm3.c
  95c9ba623a35c6483572e167a551f474  gcc/testsuite/g++.dg/charset/asm4.c
  13aa9df754ce327f35901d755310d167  gcc/testsuite/g++.dg/charset/asm5.c
  188e64ef71cd1832cf590f89eb899d5b  gcc/testsuite/g++.dg/charset/attribute1.c
  c010406f76696ea1f21a7a904e9bf74d  gcc/testsuite/g++.dg/charset/attribute2.c
! f0a8c8ffe793df7bb2808e995bc5cedf  gcc/testsuite/g++.dg/charset/charset.exp
  c3f1b1efe5249f47d609a5022d321c0a  gcc/testsuite/g++.dg/charset/extern1.cc
  68ad1f3d1f8cb2517c260ad8c5a4e992  gcc/testsuite/g++.dg/charset/extern2.cc
  8c029ca8175e4d8995ea0dbac6040733  gcc/testsuite/g++.dg/charset/extern3.cc
--- 6635,6653 ----
  aa7850bb832428b452c702abac4c2357  gcc/testsuite/g++.dg/abi/vbase9.C
  c88701df415b47ac9bf5cba84cf379ab  gcc/testsuite/g++.dg/abi/vcall1.C
  5acd6755c279afd8abbf0ca970932bf8  gcc/testsuite/g++.dg/abi/vthunk1.C
! a3ef49aa5fa035e0eaa1fb23c589fe61  gcc/testsuite/g++.dg/abi/vthunk2.C
! 6881f6a907aed22e3604db9a81d71753  gcc/testsuite/g++.dg/abi/vthunk3.C
  59cdef1c2f5ac26231205b723cb9ea52  gcc/testsuite/g++.dg/abi/vtt1.C
! 1a4ac7ce7b2087d38fe3ad47a016fa7b  gcc/testsuite/g++.dg/bprob/bprob.exp
  232269dc2a9b913c19e49f1e7a29bf08  gcc/testsuite/g++.dg/bprob/g++-bprob-1.C
  5d6eb1269c8738b70f3d15b9a148001f  gcc/testsuite/g++.dg/charset/asm1.c
! 81846053ce82895970a21c9707e171c0  gcc/testsuite/g++.dg/charset/asm2.c
  bd34927c7e8ef0637a91744aa30c8e22  gcc/testsuite/g++.dg/charset/asm3.c
  95c9ba623a35c6483572e167a551f474  gcc/testsuite/g++.dg/charset/asm4.c
  13aa9df754ce327f35901d755310d167  gcc/testsuite/g++.dg/charset/asm5.c
  188e64ef71cd1832cf590f89eb899d5b  gcc/testsuite/g++.dg/charset/attribute1.c
  c010406f76696ea1f21a7a904e9bf74d  gcc/testsuite/g++.dg/charset/attribute2.c
! d1dcf9933cf5fe7f691d14e8e1d01bd4  gcc/testsuite/g++.dg/charset/charset.exp
  c3f1b1efe5249f47d609a5022d321c0a  gcc/testsuite/g++.dg/charset/extern1.cc
  68ad1f3d1f8cb2517c260ad8c5a4e992  gcc/testsuite/g++.dg/charset/extern2.cc
  8c029ca8175e4d8995ea0dbac6040733  gcc/testsuite/g++.dg/charset/extern3.cc
*************** d9e96ae25c2319373bcfd08d3028762f  gcc/te
*** 8185,8191 ****
  c066ba2e23a50eda1497704cad37719c  gcc/testsuite/g++.dg/compat/break/vbase11_main.C
  cc9fd160c8ac0d554f08ed78757c1ad7  gcc/testsuite/g++.dg/compat/break/vbase11_x.C
  3af15235a86640de95ef01c264b9a669  gcc/testsuite/g++.dg/compat/break/vbase11_y.C
! 6c3e03d101b9b585138330d40e3da3b3  gcc/testsuite/g++.dg/compat/compat.exp
  a6ee60e2015da31ed1aa06aae1c48e97  gcc/testsuite/g++.dg/compat/eh/ctor1.h
  74d8ae87a4aa4945c36db0894fcdbc87  gcc/testsuite/g++.dg/compat/eh/ctor1_main.C
  5919ecfa4fa000ff8d0708eff1caafd0  gcc/testsuite/g++.dg/compat/eh/ctor1_x.C
--- 6698,6704 ----
  c066ba2e23a50eda1497704cad37719c  gcc/testsuite/g++.dg/compat/break/vbase11_main.C
  cc9fd160c8ac0d554f08ed78757c1ad7  gcc/testsuite/g++.dg/compat/break/vbase11_x.C
  3af15235a86640de95ef01c264b9a669  gcc/testsuite/g++.dg/compat/break/vbase11_y.C
! 1fd0941a33bc593f39ff290f0f860628  gcc/testsuite/g++.dg/compat/compat.exp
  a6ee60e2015da31ed1aa06aae1c48e97  gcc/testsuite/g++.dg/compat/eh/ctor1.h
  74d8ae87a4aa4945c36db0894fcdbc87  gcc/testsuite/g++.dg/compat/eh/ctor1_main.C
  5919ecfa4fa000ff8d0708eff1caafd0  gcc/testsuite/g++.dg/compat/eh/ctor1_x.C
*************** afd58e33c0f82e6f79a20b57f3d3d543  gcc/te
*** 8241,8246 ****
--- 6754,6766 ----
  7099b2ccdbe9faffb91a1279b3d9c958  gcc/testsuite/g++.dg/compat/init/init-ref2_main.C
  6599bf4c55d10d3d74d35fd52dc68f6c  gcc/testsuite/g++.dg/compat/init/init-ref2_x.C
  75bddd0f3c0ceb101b0c3111cedc4fb4  gcc/testsuite/g++.dg/compat/init/init-ref2_y.C
+ b2431a00c6d9218e1f6a6a69abbf9f35  gcc/testsuite/g++.dg/compat/struct-layout-1.exp
+ dddab253b206eb6b45e059d9d0d414f7  gcc/testsuite/g++.dg/compat/struct-layout-1.h
+ cf163281f05eda8cd7723a3b6df1a36b  gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c
+ fb88355c7eda41a4bdf439b6e6025a23  gcc/testsuite/g++.dg/compat/struct-layout-1_x1.h
+ 7d588bff78cea94dd3152a4c181ee8c9  gcc/testsuite/g++.dg/compat/struct-layout-1_x2.h
+ 540c5c4712244b57919a4e690783e793  gcc/testsuite/g++.dg/compat/struct-layout-1_y1.h
+ 7dc3e674ef2752731b6cd90ebd1aeb0a  gcc/testsuite/g++.dg/compat/struct-layout-1_y2.h
  3cd5d1f28d7b9a35f56b0468e798225e  gcc/testsuite/g++.dg/conversion/ambig1.C
  8fd4aac31847c0c9e16276ac87169301  gcc/testsuite/g++.dg/conversion/cast1.C
  3a1a08be0e7ef48d24c3effabe0bc96f  gcc/testsuite/g++.dg/conversion/cond1.C
*************** da446c68ad3e26a27f1f02cfb80bb439  gcc/te
*** 8260,8294 ****
  d4e80e3dcc4416f9be4b4b9e390904bd  gcc/testsuite/g++.dg/conversion/reinterpret3.C
  157823658a904b6f323a38b8b06a2cac  gcc/testsuite/g++.dg/conversion/simd1.C
  8e41381be792deb70891ea9cc1764f4a  gcc/testsuite/g++.dg/conversion/simd2.C
  a3a3822acc6c0ae0b1c800209c7c3369  gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C
  8ce78309bd631829da82f2798d24d628  gcc/testsuite/g++.dg/cpp/c++98-pedantic.C
  731959b0908b124d4eee4dab104d68bb  gcc/testsuite/g++.dg/cpp/c++98.C
  7e8a47b64bd4b7100fb7912bb8130ffa  gcc/testsuite/g++.dg/cpp/c++_cmd_1.C
  00dc832b75beaca735b4084d056fae83  gcc/testsuite/g++.dg/cpp/c++_cmd_1.h
  d80eeb1b5ab70a413bed1a37f44a69d6  gcc/testsuite/g++.dg/cpp/truefalse.C
  e71a3440857a0df24410cbe91e45c678  gcc/testsuite/g++.dg/debug/anonunion1.C
  e4aee91d21a8cdbd286094f893319c70  gcc/testsuite/g++.dg/debug/const1.C
  2e4398a10938bba8e5fd13cd2d12e691  gcc/testsuite/g++.dg/debug/const2.C
  36f088b22dca6ab78668e7d505839fbd  gcc/testsuite/g++.dg/debug/crash1.C
! b355421542165951e4b0a59d2c644581  gcc/testsuite/g++.dg/debug/debug.exp
  2b6f3bdb657c8865549db08f96a15223  gcc/testsuite/g++.dg/debug/debug1.C
  cece96666e504d9287aaadf8a4855138  gcc/testsuite/g++.dg/debug/debug2.C
! a1c5a06806ced5a911d275c1fe938fda  gcc/testsuite/g++.dg/debug/debug3.C
  aaa5bddbbd1e77e4f951cd3e1e37f5f5  gcc/testsuite/g++.dg/debug/debug4.C
  d8a635e6af7e5d8a716c4330769d87a8  gcc/testsuite/g++.dg/debug/debug5.C
  aae7d3d75005a60ab912ae1b3feefdd9  gcc/testsuite/g++.dg/debug/debug6.C
  7981ed7658c588372c1da7bb75ab3d00  gcc/testsuite/g++.dg/debug/debug7.C
  f3e5e740f9e7210ccece705c6d548267  gcc/testsuite/g++.dg/debug/debug8.C
  475a95279bcd0b4ccd6e118ead65e106  gcc/testsuite/g++.dg/debug/minimal1.C
  3664359ae921fdc20049297556d46cf2  gcc/testsuite/g++.dg/debug/namespace1.C
  fcdc9d29f34ff56d1b7de0d55a1eaed7  gcc/testsuite/g++.dg/debug/pr15736.cc
  7e13d86d33b17cfb7cdf61b7b8cca961  gcc/testsuite/g++.dg/debug/template1.C
  f50cc26d9a41a3cc4afb62032326372f  gcc/testsuite/g++.dg/debug/trivial.C
  863c8434199f0ac4d3a2d8d915bd5d1a  gcc/testsuite/g++.dg/debug/typedef1.C
  798848d35df1829cb7c468058c887871  gcc/testsuite/g++.dg/debug/typedef2.C
  de7626032b99ed0b36b4dc7fb3f18f9d  gcc/testsuite/g++.dg/debug/typedef3.C
  261cdcb5a7c5cf143b8af9beb8258ebc  gcc/testsuite/g++.dg/debug/using1.C
! 3593446699a89b40a6e56ed843e4b4fa  gcc/testsuite/g++.dg/dg.exp
  c9b9c986ccf06431bb8cd55406c9555e  gcc/testsuite/g++.dg/eh/check-vect.h
  9c84af759e7a0280e3b2d6a8cc5f8716  gcc/testsuite/g++.dg/eh/cleanup1.C
  39018f18e1fc86801376affc388c0539  gcc/testsuite/g++.dg/eh/cleanup2.C
--- 6780,6825 ----
  d4e80e3dcc4416f9be4b4b9e390904bd  gcc/testsuite/g++.dg/conversion/reinterpret3.C
  157823658a904b6f323a38b8b06a2cac  gcc/testsuite/g++.dg/conversion/simd1.C
  8e41381be792deb70891ea9cc1764f4a  gcc/testsuite/g++.dg/conversion/simd2.C
+ e7edbe5a2c71be83020688e5b9a6ae0d  gcc/testsuite/g++.dg/conversion/simd3.C
  a3a3822acc6c0ae0b1c800209c7c3369  gcc/testsuite/g++.dg/conversion/to-virtual-base-1.C
  8ce78309bd631829da82f2798d24d628  gcc/testsuite/g++.dg/cpp/c++98-pedantic.C
  731959b0908b124d4eee4dab104d68bb  gcc/testsuite/g++.dg/cpp/c++98.C
  7e8a47b64bd4b7100fb7912bb8130ffa  gcc/testsuite/g++.dg/cpp/c++_cmd_1.C
  00dc832b75beaca735b4084d056fae83  gcc/testsuite/g++.dg/cpp/c++_cmd_1.h
+ d0fc7f2038f9a304e12ca3a354fa5aae  gcc/testsuite/g++.dg/cpp/normalize-1.C
+ ead0ed22e4b6b79f8450b4a030173cbc  gcc/testsuite/g++.dg/cpp/string-1.C
+ 45c4c9ad54c9468529107fc9de7bf18b  gcc/testsuite/g++.dg/cpp/string-2.C
  d80eeb1b5ab70a413bed1a37f44a69d6  gcc/testsuite/g++.dg/cpp/truefalse.C
+ 626e8f05b863139957cd8b456e9468f0  gcc/testsuite/g++.dg/cpp/ucnid-1.C
+ 388f26d66093d4cf51084fa41b5fbe6e  gcc/testsuite/g++.dg/cpp/weak.C
  e71a3440857a0df24410cbe91e45c678  gcc/testsuite/g++.dg/debug/anonunion1.C
  e4aee91d21a8cdbd286094f893319c70  gcc/testsuite/g++.dg/debug/const1.C
  2e4398a10938bba8e5fd13cd2d12e691  gcc/testsuite/g++.dg/debug/const2.C
  36f088b22dca6ab78668e7d505839fbd  gcc/testsuite/g++.dg/debug/crash1.C
! 41bb08428a5f27d220d6bfd79750fd52  gcc/testsuite/g++.dg/debug/debug.exp
  2b6f3bdb657c8865549db08f96a15223  gcc/testsuite/g++.dg/debug/debug1.C
  cece96666e504d9287aaadf8a4855138  gcc/testsuite/g++.dg/debug/debug2.C
! b5c1d1e26252e6e306ee37c885cc449b  gcc/testsuite/g++.dg/debug/debug3.C
  aaa5bddbbd1e77e4f951cd3e1e37f5f5  gcc/testsuite/g++.dg/debug/debug4.C
  d8a635e6af7e5d8a716c4330769d87a8  gcc/testsuite/g++.dg/debug/debug5.C
  aae7d3d75005a60ab912ae1b3feefdd9  gcc/testsuite/g++.dg/debug/debug6.C
  7981ed7658c588372c1da7bb75ab3d00  gcc/testsuite/g++.dg/debug/debug7.C
  f3e5e740f9e7210ccece705c6d548267  gcc/testsuite/g++.dg/debug/debug8.C
+ 7976c74d25a46d6108c18e4ceb4cef33  gcc/testsuite/g++.dg/debug/dwarf2-1.C
  475a95279bcd0b4ccd6e118ead65e106  gcc/testsuite/g++.dg/debug/minimal1.C
  3664359ae921fdc20049297556d46cf2  gcc/testsuite/g++.dg/debug/namespace1.C
  fcdc9d29f34ff56d1b7de0d55a1eaed7  gcc/testsuite/g++.dg/debug/pr15736.cc
+ ee0ec04c39cca9bd75fd40da91daaab0  gcc/testsuite/g++.dg/debug/pr16792.C
+ 5ac6655be86d5fd49b1583bedd61391d  gcc/testsuite/g++.dg/debug/pr22514.C
+ c3f392076ad11f8768ef0321b89abd5f  gcc/testsuite/g++.dg/debug/static1.C
  7e13d86d33b17cfb7cdf61b7b8cca961  gcc/testsuite/g++.dg/debug/template1.C
  f50cc26d9a41a3cc4afb62032326372f  gcc/testsuite/g++.dg/debug/trivial.C
  863c8434199f0ac4d3a2d8d915bd5d1a  gcc/testsuite/g++.dg/debug/typedef1.C
  798848d35df1829cb7c468058c887871  gcc/testsuite/g++.dg/debug/typedef2.C
  de7626032b99ed0b36b4dc7fb3f18f9d  gcc/testsuite/g++.dg/debug/typedef3.C
  261cdcb5a7c5cf143b8af9beb8258ebc  gcc/testsuite/g++.dg/debug/using1.C
! 06ba44c6640fe57a83e614bcb293ca4d  gcc/testsuite/g++.dg/debug/using2.C
! 69d19f9eb3cb8d16eaeb37b91e4c4470  gcc/testsuite/g++.dg/dg.exp
  c9b9c986ccf06431bb8cd55406c9555e  gcc/testsuite/g++.dg/eh/check-vect.h
  9c84af759e7a0280e3b2d6a8cc5f8716  gcc/testsuite/g++.dg/eh/cleanup1.C
  39018f18e1fc86801376affc388c0539  gcc/testsuite/g++.dg/eh/cleanup2.C
*************** fdfb8828613e7c687d87d7facb0e2135  gcc/te
*** 8297,8302 ****
--- 6828,6834 ----
  aa6038fb3f955b6019e1a056cca60f0c  gcc/testsuite/g++.dg/eh/cleanup5.C
  bd6bd3cc57144658b6137dc9123743ed  gcc/testsuite/g++.dg/eh/cond1.C
  9218246502a1a48c13f74d67b4b19c2d  gcc/testsuite/g++.dg/eh/cond2.C
+ a52fa6cd93c130963df8e930451d74a1  gcc/testsuite/g++.dg/eh/cond3.C
  43098e3dd291c59e61245771f6e306d0  gcc/testsuite/g++.dg/eh/crash1.C
  365a9a74302377cb0e82e7f5f1a7bca9  gcc/testsuite/g++.dg/eh/crossjump1.C
  86be24a4005519ed1d807d772b94a617  gcc/testsuite/g++.dg/eh/ctor1.C
*************** b0ccd0dda5f78bbdc113e7d64bcbde3c  gcc/te
*** 8310,8332 ****
  cff2161ef40bce6a9bb0205f7ce68baa  gcc/testsuite/g++.dg/eh/elide2.C
  c6ed6afa9f180a60e542789d58e23a4a  gcc/testsuite/g++.dg/eh/filter1.C
  12090d44df12e33d62fc4a9cf4bcd257  gcc/testsuite/g++.dg/eh/filter2.C
! 055728c208a514b55ad1bc00856f6462  gcc/testsuite/g++.dg/eh/forced1.C
! a83ae49407ff7c3467b446d0472cf725  gcc/testsuite/g++.dg/eh/forced2.C
! 4a0fe365b88b58b582b1d5fa8ecb0658  gcc/testsuite/g++.dg/eh/forced3.C
! 77c2356058f632113452cfb64259952f  gcc/testsuite/g++.dg/eh/forced4.C
  fa7c4733d09d80ea62bb08bcfe896fbb  gcc/testsuite/g++.dg/eh/goto1.C
  83a9a4f114479e6635dd508a4994d73d  gcc/testsuite/g++.dg/eh/ia64-1.C
  8c375c2c927706fd09f5bb467654b648  gcc/testsuite/g++.dg/eh/loop1.C
  741a6b9a2519e96d9a6a3d7503d9cdfa  gcc/testsuite/g++.dg/eh/loop2.C
  85b9081854ce258c515f0bcfcd1b89c6  gcc/testsuite/g++.dg/eh/new1.C
  02bc77a36c6c86bb6c3fa9d05ed2ca11  gcc/testsuite/g++.dg/eh/nrv1.C
! a3ef7b048ad30f60338e027efe30c558  gcc/testsuite/g++.dg/eh/omit-frame-pointer.C
! fe8770e81b72d2e0721318ab79b0091e  gcc/testsuite/g++.dg/eh/omit-frame-pointer2.C
  a9ed8d0335c982c533cb9ab886ed3a49  gcc/testsuite/g++.dg/eh/registers1.C
  10cee1522872b7a635448041c93abb77  gcc/testsuite/g++.dg/eh/scope1.C
  aedb51a1352090a92bc38eb90e5d6523  gcc/testsuite/g++.dg/eh/shadow1.C
! be01150610790792610d9ec525f2dbe7  gcc/testsuite/g++.dg/eh/simd-1.C
! 78003a1b461e9ba51c33e96458a535b2  gcc/testsuite/g++.dg/eh/simd-2.C
  82939fb6cdaf944681687fca28788638  gcc/testsuite/g++.dg/eh/spec1.C
  d6ea4980c486b9a221bda79100d54cda  gcc/testsuite/g++.dg/eh/spec2.C
  7823eff4e33eebdc8a1d73389e14e7a7  gcc/testsuite/g++.dg/eh/spec3.C
--- 6842,6865 ----
  cff2161ef40bce6a9bb0205f7ce68baa  gcc/testsuite/g++.dg/eh/elide2.C
  c6ed6afa9f180a60e542789d58e23a4a  gcc/testsuite/g++.dg/eh/filter1.C
  12090d44df12e33d62fc4a9cf4bcd257  gcc/testsuite/g++.dg/eh/filter2.C
! b9e40a9f396b0f5897d9a01a383448d0  gcc/testsuite/g++.dg/eh/forced1.C
! c57d00c7e2509174eb67af39ca23acc8  gcc/testsuite/g++.dg/eh/forced2.C
! c881a898475d015805bd536ce3074679  gcc/testsuite/g++.dg/eh/forced3.C
! f10d716b3c09f9b7a5dda32ab1762b8a  gcc/testsuite/g++.dg/eh/forced4.C
! 2fa97d2eb1070b8ff9ed142189631d04  gcc/testsuite/g++.dg/eh/fp-regs.C
  fa7c4733d09d80ea62bb08bcfe896fbb  gcc/testsuite/g++.dg/eh/goto1.C
  83a9a4f114479e6635dd508a4994d73d  gcc/testsuite/g++.dg/eh/ia64-1.C
  8c375c2c927706fd09f5bb467654b648  gcc/testsuite/g++.dg/eh/loop1.C
  741a6b9a2519e96d9a6a3d7503d9cdfa  gcc/testsuite/g++.dg/eh/loop2.C
  85b9081854ce258c515f0bcfcd1b89c6  gcc/testsuite/g++.dg/eh/new1.C
  02bc77a36c6c86bb6c3fa9d05ed2ca11  gcc/testsuite/g++.dg/eh/nrv1.C
! ee5fb539eb5e41ab9f5aa0028f011fce  gcc/testsuite/g++.dg/eh/omit-frame-pointer.C
! dfa0fe611ce9682e5de477f908c0b5c0  gcc/testsuite/g++.dg/eh/omit-frame-pointer2.C
  a9ed8d0335c982c533cb9ab886ed3a49  gcc/testsuite/g++.dg/eh/registers1.C
  10cee1522872b7a635448041c93abb77  gcc/testsuite/g++.dg/eh/scope1.C
  aedb51a1352090a92bc38eb90e5d6523  gcc/testsuite/g++.dg/eh/shadow1.C
! 34ea61b543c5d55d4ed4ce0880521c03  gcc/testsuite/g++.dg/eh/simd-1.C
! 776422134946f33a5af1941f8da69547  gcc/testsuite/g++.dg/eh/simd-2.C
  82939fb6cdaf944681687fca28788638  gcc/testsuite/g++.dg/eh/spec1.C
  d6ea4980c486b9a221bda79100d54cda  gcc/testsuite/g++.dg/eh/spec2.C
  7823eff4e33eebdc8a1d73389e14e7a7  gcc/testsuite/g++.dg/eh/spec3.C
*************** d6ea4980c486b9a221bda79100d54cda  gcc/te
*** 8334,8345 ****
--- 6867,6881 ----
  af93b2c9f583eec05b65da9de92c3d47  gcc/testsuite/g++.dg/eh/spec5.C
  1e34c1c6b42ddf40a5347c821bbd04b4  gcc/testsuite/g++.dg/eh/spec6.C
  0ed10d4eaed0fa08f433fa3337b432a9  gcc/testsuite/g++.dg/eh/spec7.C
+ 84e6bc687977041285d80741d88b5007  gcc/testsuite/g++.dg/eh/spec8.C
  7c9d2a4fef98319bfc85567c627c041c  gcc/testsuite/g++.dg/eh/stabilize.C
  f51a05dd556d82ff2c27ab64681114bb  gcc/testsuite/g++.dg/eh/synth1.C
+ f0d76e8f2c70435a893be36ce22b7b72  gcc/testsuite/g++.dg/eh/synth2.C
  289f5219cda86f80dc763b7ad32f8ae8  gcc/testsuite/g++.dg/eh/template1.C
  919151216cf8524a1a108c5d27a7f3d1  gcc/testsuite/g++.dg/eh/template2.C
  7549d75346531f9c6ff9ee0763a142b5  gcc/testsuite/g++.dg/eh/throw1.C
  7f4aab5cdb2954060fab6ebdbf157a33  gcc/testsuite/g++.dg/eh/throw2.C
+ 45cea983dcee48d4c249758ac270c782  gcc/testsuite/g++.dg/eh/throw3.C
  940efa25b5802522d77e589e9f985f05  gcc/testsuite/g++.dg/eh/uncaught1.C
  1ff41980dd5d1398018fd0852361341a  gcc/testsuite/g++.dg/eh/unexpected1.C
  4cf16a5e56e9a805e8cab8129d3ec12c  gcc/testsuite/g++.dg/expr/anew1.C
*************** dc26302260e3f7ff5825d907b882eae8  gcc/te
*** 8361,8366 ****
--- 6897,6903 ----
  d30ef5af28e6363dab6713f12d513bc9  gcc/testsuite/g++.dg/expr/cond4.C
  ed6decf76edd58d64d114a4410682b2e  gcc/testsuite/g++.dg/expr/cond6.C
  f30409fd40ff04e848318e2beb14a1c7  gcc/testsuite/g++.dg/expr/cond7.C
+ ae7d0a090a6de3dba8a8ae59e51cacc8  gcc/testsuite/g++.dg/expr/cond8.C
  40c29dc173bf365777a7de4d0970b286  gcc/testsuite/g++.dg/expr/copy1.C
  5943e958df776a88c39dc200ec5d291c  gcc/testsuite/g++.dg/expr/crash-1.C
  4ddfe508094ae855749b3a8b63fd8063  gcc/testsuite/g++.dg/expr/crash2.C
*************** b39edf0129c7b02d40dd1f8360666a7c  gcc/te
*** 8392,8415 ****
  3768ee52241cd5c440a86d1ecde9f029  gcc/testsuite/g++.dg/expr/static_cast4.C
  10a6604802b4ce916144cdc9ac8a3fc0  gcc/testsuite/g++.dg/expr/static_cast5.C
  b908cbd89626f67c64bd034d95994258  gcc/testsuite/g++.dg/expr/static_cast6.C
  8f5d773ab2c0fb76d721a88e7936dd2a  gcc/testsuite/g++.dg/expr/unary1.C
  61339fcff4901b417b1fa8ede6e4a521  gcc/testsuite/g++.dg/expr/unary2.C
  e639e926667ce8f9dee4e94ea0269323  gcc/testsuite/g++.dg/expr/volatile1.C
  8086207ba3911ed58a971e642fbfdd29  gcc/testsuite/g++.dg/ext/align1.C
  ae6df71fd3bee2754f2c1b710ca23b88  gcc/testsuite/g++.dg/ext/alignof1.C
! 65bf2e604cdc2a2c9b6f58de6d2d616e  gcc/testsuite/g++.dg/ext/altivec-1.C
! 42fb531a004003016c1aca0a6443a54b  gcc/testsuite/g++.dg/ext/altivec-10.C
! 75bf2a09f5b3e1c43f00fbcf3179abe0  gcc/testsuite/g++.dg/ext/altivec-11.C
! 805c0700b5fbe5689bb7be8aab416572  gcc/testsuite/g++.dg/ext/altivec-12.C
! dd366517b66f6207dfc524367533e256  gcc/testsuite/g++.dg/ext/altivec-13.C
! e25377e5529526585f4fbc3830fc39ae  gcc/testsuite/g++.dg/ext/altivec-2.C
! bf089b23b8f68552510c7183f5b751b8  gcc/testsuite/g++.dg/ext/altivec-3.C
! e9ec0f8ed2d0574477bf5e63ae0213d8  gcc/testsuite/g++.dg/ext/altivec-4.C
! b8df8e7ce65a7b1905e45eab8ff3fdf2  gcc/testsuite/g++.dg/ext/altivec-5.C
! f96062c15331eb56f64b4bb08dbcc342  gcc/testsuite/g++.dg/ext/altivec-6.C
! 9a264a0d99cd5c082f4e39d27e30b50e  gcc/testsuite/g++.dg/ext/altivec-7.C
! 8156893b84c131c8e169410a06601d59  gcc/testsuite/g++.dg/ext/altivec-8.C
! ac105bc15b415cbf8f2ff1637ca7285a  gcc/testsuite/g++.dg/ext/altivec-9.C
  02ead8fde475b9f468518b068375ef25  gcc/testsuite/g++.dg/ext/altivec-types-1.C
  2fabd70465808dc383437811778591e1  gcc/testsuite/g++.dg/ext/altivec-types-2.C
  dbcc5463fa4853b6308b2bd65d6d1dfc  gcc/testsuite/g++.dg/ext/altivec-types-3.C
--- 6929,6954 ----
  3768ee52241cd5c440a86d1ecde9f029  gcc/testsuite/g++.dg/expr/static_cast4.C
  10a6604802b4ce916144cdc9ac8a3fc0  gcc/testsuite/g++.dg/expr/static_cast5.C
  b908cbd89626f67c64bd034d95994258  gcc/testsuite/g++.dg/expr/static_cast6.C
+ d48c1940b3fda25f577c09c3d5b15f9c  gcc/testsuite/g++.dg/expr/stdarg1.C
+ e24b5173fba586d4b40f5feb0d41bcf8  gcc/testsuite/g++.dg/expr/stdarg2.C
  8f5d773ab2c0fb76d721a88e7936dd2a  gcc/testsuite/g++.dg/expr/unary1.C
  61339fcff4901b417b1fa8ede6e4a521  gcc/testsuite/g++.dg/expr/unary2.C
  e639e926667ce8f9dee4e94ea0269323  gcc/testsuite/g++.dg/expr/volatile1.C
  8086207ba3911ed58a971e642fbfdd29  gcc/testsuite/g++.dg/ext/align1.C
  ae6df71fd3bee2754f2c1b710ca23b88  gcc/testsuite/g++.dg/ext/alignof1.C
! 210887e16a2c480150115e4819252989  gcc/testsuite/g++.dg/ext/altivec-1.C
! c964190ad8a97bf47642c4f1ede557ec  gcc/testsuite/g++.dg/ext/altivec-10.C
! b0d51d505207298b62cbc3e4d99721bf  gcc/testsuite/g++.dg/ext/altivec-11.C
! 0b9bc61ae09b175524ffbd70cecdc527  gcc/testsuite/g++.dg/ext/altivec-12.C
! 39d89bcd44e43317b4cbcf4e0624b2db  gcc/testsuite/g++.dg/ext/altivec-13.C
! f86e72a0a478c1d118397df878329f29  gcc/testsuite/g++.dg/ext/altivec-2.C
! ce4f3135ca2da1210c6f6daf0e0c5ec5  gcc/testsuite/g++.dg/ext/altivec-3.C
! 0dc189bdf24d23c1bf4ca4972b9af42f  gcc/testsuite/g++.dg/ext/altivec-4.C
! 23ba464075c8c559eefb09794580f2e6  gcc/testsuite/g++.dg/ext/altivec-5.C
! ef67adf203a034440bd8c2c57a386098  gcc/testsuite/g++.dg/ext/altivec-6.C
! 6df5db8298f843a82ffde774e6975d41  gcc/testsuite/g++.dg/ext/altivec-7.C
! bdbddbf6458da6007fac215e3f23d592  gcc/testsuite/g++.dg/ext/altivec-8.C
! 12118f2d91d0ed3d03470695604619ac  gcc/testsuite/g++.dg/ext/altivec-9.C
  02ead8fde475b9f468518b068375ef25  gcc/testsuite/g++.dg/ext/altivec-types-1.C
  2fabd70465808dc383437811778591e1  gcc/testsuite/g++.dg/ext/altivec-types-2.C
  dbcc5463fa4853b6308b2bd65d6d1dfc  gcc/testsuite/g++.dg/ext/altivec-types-3.C
*************** dbcc5463fa4853b6308b2bd65d6d1dfc  gcc/te
*** 8420,8431 ****
--- 6959,6973 ----
  5f70b0d4a3b1e3b8a10d06d54d63f427  gcc/testsuite/g++.dg/ext/anon-struct3.C
  712b793616c5d67defe91c96894bcc69  gcc/testsuite/g++.dg/ext/anon-struct4.C
  691a47a228a5fa12f281a771f2c53825  gcc/testsuite/g++.dg/ext/array1.C
+ f1a9da555162b7ed9f63dd442d842c1c  gcc/testsuite/g++.dg/ext/array2.C
  d377fb4f9ef6d1ed2029c1551ddf7e3b  gcc/testsuite/g++.dg/ext/asm1.C
  80a3695697c7262c931be9b1380fa283  gcc/testsuite/g++.dg/ext/asm2.C
  08c7892fa7d47f47ca5b00bbe4dbaa29  gcc/testsuite/g++.dg/ext/asm3.C
  f8da779ccf232ebdb2dee94530a1bf48  gcc/testsuite/g++.dg/ext/asm4.C
  e5f9fb7d1c25afe2ab0823f495d251e5  gcc/testsuite/g++.dg/ext/asm5.C
  0689b61a59bc7c15432dc6d704aebb9f  gcc/testsuite/g++.dg/ext/asm6.C
+ 8afca39f01d4d9fd0f55e2cf279c5c77  gcc/testsuite/g++.dg/ext/asm7.C
+ 9c3b7de14ce6ac49627b91e2808376e5  gcc/testsuite/g++.dg/ext/asm8.C
  81d7f5132402c3b9c67ba05f4d092697  gcc/testsuite/g++.dg/ext/asmspecInvalid.C
  5ee066fcb4d2f0a4b7244f6dfe4cf04b  gcc/testsuite/g++.dg/ext/asmspecValid.C
  6ce972d5686790fe9c2f5bbd08661b2f  gcc/testsuite/g++.dg/ext/attrib1.C
*************** c460ffd02f4c4ad800649b58a60f30e1  gcc/te
*** 8447,8453 ****
  ec01dbb0bb96c7cda806a516a5cf87d4  gcc/testsuite/g++.dg/ext/attrib5.C
  76284b29c6fce52f56ddbcc04acd3a97  gcc/testsuite/g++.dg/ext/attrib6.C
  7af1e9265de26187b4a3a3880f99ac11  gcc/testsuite/g++.dg/ext/attrib7.C
! eae79488acceb2937bc3187837bb3fdc  gcc/testsuite/g++.dg/ext/attrib8.C
  d964d5665a54d859b38a6b6f92740463  gcc/testsuite/g++.dg/ext/attrib9.C
  4486cdae80c643406bd32bd56d9bdad2  gcc/testsuite/g++.dg/ext/attribute-test-1.C
  e3dfcad023441158e57c89c0a9346e22  gcc/testsuite/g++.dg/ext/attribute-test-2.C
--- 6989,6995 ----
  ec01dbb0bb96c7cda806a516a5cf87d4  gcc/testsuite/g++.dg/ext/attrib5.C
  76284b29c6fce52f56ddbcc04acd3a97  gcc/testsuite/g++.dg/ext/attrib6.C
  7af1e9265de26187b4a3a3880f99ac11  gcc/testsuite/g++.dg/ext/attrib7.C
! 96c6791e16518bc1891b0b699b2ec487  gcc/testsuite/g++.dg/ext/attrib8.C
  d964d5665a54d859b38a6b6f92740463  gcc/testsuite/g++.dg/ext/attrib9.C
  4486cdae80c643406bd32bd56d9bdad2  gcc/testsuite/g++.dg/ext/attribute-test-1.C
  e3dfcad023441158e57c89c0a9346e22  gcc/testsuite/g++.dg/ext/attribute-test-2.C
*************** b7c9d67e055f43c68752eb5dee97ef5b  gcc/te
*** 8462,8473 ****
  f75543f5ea1a62d2e49f182ac3ff8f36  gcc/testsuite/g++.dg/ext/builtin7.C
  f5cd77399383b76230ff688140e0b73d  gcc/testsuite/g++.dg/ext/builtin8.C
  9ec34b90151fc823df34413d59729df4  gcc/testsuite/g++.dg/ext/builtin9.C
  ea8708497444a8e8d07b540409207c48  gcc/testsuite/g++.dg/ext/case-range1.C
  887aba2e9504f7104a2a8d1522d268e7  gcc/testsuite/g++.dg/ext/case-range2.C
  ffb89a53a39495dfeb8f71f1c7f053ad  gcc/testsuite/g++.dg/ext/case-range3.C
  5163e6d885c069c6cf53f4a8afd5e3c8  gcc/testsuite/g++.dg/ext/complit1.C
  7350965e2763a3a6e1d4346deaa1e94e  gcc/testsuite/g++.dg/ext/complit2.C
! b7b651bf5ed7db3fbe0f043be4d69c08  gcc/testsuite/g++.dg/ext/complit3.C
  cfb1e3d3e6cedd5cd651ea51248b3822  gcc/testsuite/g++.dg/ext/cond1.C
  10abc828e1142ff735666c5c8f9d280f  gcc/testsuite/g++.dg/ext/construct1.C
  356f009d32e7c4d124b9aff9f08aa85b  gcc/testsuite/g++.dg/ext/conv1.C
--- 7004,7018 ----
  f75543f5ea1a62d2e49f182ac3ff8f36  gcc/testsuite/g++.dg/ext/builtin7.C
  f5cd77399383b76230ff688140e0b73d  gcc/testsuite/g++.dg/ext/builtin8.C
  9ec34b90151fc823df34413d59729df4  gcc/testsuite/g++.dg/ext/builtin9.C
+ 584e264d76b42642e1d520318920eb9c  gcc/testsuite/g++.dg/ext/c99struct1.C
  ea8708497444a8e8d07b540409207c48  gcc/testsuite/g++.dg/ext/case-range1.C
  887aba2e9504f7104a2a8d1522d268e7  gcc/testsuite/g++.dg/ext/case-range2.C
  ffb89a53a39495dfeb8f71f1c7f053ad  gcc/testsuite/g++.dg/ext/case-range3.C
  5163e6d885c069c6cf53f4a8afd5e3c8  gcc/testsuite/g++.dg/ext/complit1.C
  7350965e2763a3a6e1d4346deaa1e94e  gcc/testsuite/g++.dg/ext/complit2.C
! ad16b71887643979728dde2108c8043f  gcc/testsuite/g++.dg/ext/complit3.C
! f2a3354acae823d1855d3f7820f78229  gcc/testsuite/g++.dg/ext/complit4.C
! 5caaf9e2321715eb7f6a18ff81d49dda  gcc/testsuite/g++.dg/ext/complit5.C
  cfb1e3d3e6cedd5cd651ea51248b3822  gcc/testsuite/g++.dg/ext/cond1.C
  10abc828e1142ff735666c5c8f9d280f  gcc/testsuite/g++.dg/ext/construct1.C
  356f009d32e7c4d124b9aff9f08aa85b  gcc/testsuite/g++.dg/ext/conv1.C
*************** cfb1e3d3e6cedd5cd651ea51248b3822  gcc/te
*** 8476,8520 ****
  6aa7306aa2bf445debe3d81c5b253dd4  gcc/testsuite/g++.dg/ext/dllexport-MI1.C
  4bc15b43bea65ed1a02904869e0e19d5  gcc/testsuite/g++.dg/ext/dllexport1.C
  8762efb9149a937554f3e867cca0e9d8  gcc/testsuite/g++.dg/ext/dllimport-MI1.C
! 4eebf2d30dffbb52c5d6ba4c36b355e6  gcc/testsuite/g++.dg/ext/dllimport1.C
  3c9b89ab2016a6038228f5d5b55923ac  gcc/testsuite/g++.dg/ext/dllimport10.C
! cc7081ea84e2fcef60683e1f41e869d1  gcc/testsuite/g++.dg/ext/dllimport2.C
! 67b8d78ccea2034f30a7e18fdd627ecc  gcc/testsuite/g++.dg/ext/dllimport3.C
  fd35f38ace1396ffcef38df842c574a7  gcc/testsuite/g++.dg/ext/dllimport4.C
  7bb028b3290ebbfb132c053c38ca17bd  gcc/testsuite/g++.dg/ext/dllimport5.C
  ce50f97235f91ecb9fd7c54323394d31  gcc/testsuite/g++.dg/ext/dllimport6.C
! fa792608bb6965293b0020c60bbb1f1e  gcc/testsuite/g++.dg/ext/dllimport7.C
! 3a7c34d8e8568a3a772ebf4eafae12c1  gcc/testsuite/g++.dg/ext/dllimport8.C
! dd117255a19a422d965e9fd0580728ba  gcc/testsuite/g++.dg/ext/dllimport9.C
  c0dc41d4a72302e0ac9ef29725c83d30  gcc/testsuite/g++.dg/ext/flexary1.C
  b00280f53981a2f30c8d4b894c33962c  gcc/testsuite/g++.dg/ext/fnname1.C
  a06d181d1f37ed4bbf17112c988f9608  gcc/testsuite/g++.dg/ext/fnname2.C
  9e62aa095a73cd8f1f5e3c31669594cd  gcc/testsuite/g++.dg/ext/fnname3.C
  ddff3d312dcb75275526c22a8eb2891b  gcc/testsuite/g++.dg/ext/forscope1.C
  cd4fed30cd2d12ab7d7ed0fd114114fc  gcc/testsuite/g++.dg/ext/forscope2.C
  853c0d1bb8c4ec806df7ecfff1c64c10  gcc/testsuite/g++.dg/ext/init1.C
  6cfdb6711dd7c538f7c4411216e0cc5b  gcc/testsuite/g++.dg/ext/instantiate1.C
  34f12a4e88c7d91723528bbca194ce29  gcc/testsuite/g++.dg/ext/instantiate2.C
  561bb7137df38a016a786156224c9769  gcc/testsuite/g++.dg/ext/instantiate3.C
  7448fb50d33d0e0b5699d1a46190acd0  gcc/testsuite/g++.dg/ext/label1.C
  bc46f1e1c4440b0f50439ed472661922  gcc/testsuite/g++.dg/ext/label2.C
  2f937b0172f68361eedae818d69b598b  gcc/testsuite/g++.dg/ext/label3.C
  d80aaa6e59ecf30e826da071c824cc0d  gcc/testsuite/g++.dg/ext/label4.C
  92a7056cf4009e7b4513a036edcef967  gcc/testsuite/g++.dg/ext/lvaddr.C
  4d2204ac6e2ce03af82e6431536be376  gcc/testsuite/g++.dg/ext/lvalue1.C
  fc916d98d36fed4d9da40614102d5fdd  gcc/testsuite/g++.dg/ext/max.C
  c4e42acfcbcd9ad619eaca5e54041c5c  gcc/testsuite/g++.dg/ext/member-attr.C
  8f3e3432664712c939fe6dea74deb533  gcc/testsuite/g++.dg/ext/oper1.C
  de5f86b7a10350b9ce405e101438c412  gcc/testsuite/g++.dg/ext/packed2.C
! 770238079a61068b47e3d076fe0aab49  gcc/testsuite/g++.dg/ext/packed3.C
! 95291e3b1e495c6d88ede57ef934df95  gcc/testsuite/g++.dg/ext/packed4.C
  16a931c57f92231bf11258bf8610b8ca  gcc/testsuite/g++.dg/ext/packed5.C
  ae7890414c5bc0a5814823b6bca9beb4  gcc/testsuite/g++.dg/ext/packed6.C
  2e29b33d9b093b6a30a0e49d1b42c6c8  gcc/testsuite/g++.dg/ext/packed7.C
! 30d70c9b6d531cbcd6f6fe964838c28a  gcc/testsuite/g++.dg/ext/packed8.C
  ae2794e104309a224e228d70e4cede48  gcc/testsuite/g++.dg/ext/pretty1.C
  faa8333681bedde3ba84daa60ec26ff8  gcc/testsuite/g++.dg/ext/pretty2.C
  171b60b2dd599842569025ee22f7703a  gcc/testsuite/g++.dg/ext/restrict1.C
  1f515ca30d28ec30600fee3e74e3f4f6  gcc/testsuite/g++.dg/ext/spe1.C
  0cc2b837a96214f4ba420513a4d610a8  gcc/testsuite/g++.dg/ext/static1.C
  40ecbac4d27075e4005c73ce57fc001d  gcc/testsuite/g++.dg/ext/stmtexpr1.C
--- 7021,7075 ----
  6aa7306aa2bf445debe3d81c5b253dd4  gcc/testsuite/g++.dg/ext/dllexport-MI1.C
  4bc15b43bea65ed1a02904869e0e19d5  gcc/testsuite/g++.dg/ext/dllexport1.C
  8762efb9149a937554f3e867cca0e9d8  gcc/testsuite/g++.dg/ext/dllimport-MI1.C
! 49d4139859203b19e08de8394ce6cc72  gcc/testsuite/g++.dg/ext/dllimport1.C
  3c9b89ab2016a6038228f5d5b55923ac  gcc/testsuite/g++.dg/ext/dllimport10.C
! afd0ddacb830eaaab6028defc4a2ea94  gcc/testsuite/g++.dg/ext/dllimport11.C
! fefa293f2877456b95804b812eb1acbe  gcc/testsuite/g++.dg/ext/dllimport2.C
! 0278b9ac3c1a21dc2da4c9e17a16033b  gcc/testsuite/g++.dg/ext/dllimport3.C
  fd35f38ace1396ffcef38df842c574a7  gcc/testsuite/g++.dg/ext/dllimport4.C
  7bb028b3290ebbfb132c053c38ca17bd  gcc/testsuite/g++.dg/ext/dllimport5.C
  ce50f97235f91ecb9fd7c54323394d31  gcc/testsuite/g++.dg/ext/dllimport6.C
! 3cdba643286f7954ed892ad8975ab3a6  gcc/testsuite/g++.dg/ext/dllimport7.C
! bc4c347780b5d43286e86e8745fd1213  gcc/testsuite/g++.dg/ext/dllimport8.C
! 4e6cf07be6d6bf7279e7d225d0bbfbba  gcc/testsuite/g++.dg/ext/dllimport9.C
  c0dc41d4a72302e0ac9ef29725c83d30  gcc/testsuite/g++.dg/ext/flexary1.C
  b00280f53981a2f30c8d4b894c33962c  gcc/testsuite/g++.dg/ext/fnname1.C
  a06d181d1f37ed4bbf17112c988f9608  gcc/testsuite/g++.dg/ext/fnname2.C
  9e62aa095a73cd8f1f5e3c31669594cd  gcc/testsuite/g++.dg/ext/fnname3.C
  ddff3d312dcb75275526c22a8eb2891b  gcc/testsuite/g++.dg/ext/forscope1.C
  cd4fed30cd2d12ab7d7ed0fd114114fc  gcc/testsuite/g++.dg/ext/forscope2.C
+ 11eb23608783d4ed3a3a0a2ed3e6a7ea  gcc/testsuite/g++.dg/ext/fpreg1.C
  853c0d1bb8c4ec806df7ecfff1c64c10  gcc/testsuite/g++.dg/ext/init1.C
  6cfdb6711dd7c538f7c4411216e0cc5b  gcc/testsuite/g++.dg/ext/instantiate1.C
  34f12a4e88c7d91723528bbca194ce29  gcc/testsuite/g++.dg/ext/instantiate2.C
  561bb7137df38a016a786156224c9769  gcc/testsuite/g++.dg/ext/instantiate3.C
+ 3a16bb49d1e751989bc6c5980e68cc41  gcc/testsuite/g++.dg/ext/interface1.C
+ a6025f300298ca27e5d4454172592895  gcc/testsuite/g++.dg/ext/interface1.h
+ 0530572db926ff489aea49718a5eabe8  gcc/testsuite/g++.dg/ext/interface1a.cc
  7448fb50d33d0e0b5699d1a46190acd0  gcc/testsuite/g++.dg/ext/label1.C
  bc46f1e1c4440b0f50439ed472661922  gcc/testsuite/g++.dg/ext/label2.C
  2f937b0172f68361eedae818d69b598b  gcc/testsuite/g++.dg/ext/label3.C
  d80aaa6e59ecf30e826da071c824cc0d  gcc/testsuite/g++.dg/ext/label4.C
+ 5c02e0e4479d479cc5946d050f0910a7  gcc/testsuite/g++.dg/ext/label5.C
  92a7056cf4009e7b4513a036edcef967  gcc/testsuite/g++.dg/ext/lvaddr.C
  4d2204ac6e2ce03af82e6431536be376  gcc/testsuite/g++.dg/ext/lvalue1.C
  fc916d98d36fed4d9da40614102d5fdd  gcc/testsuite/g++.dg/ext/max.C
  c4e42acfcbcd9ad619eaca5e54041c5c  gcc/testsuite/g++.dg/ext/member-attr.C
  8f3e3432664712c939fe6dea74deb533  gcc/testsuite/g++.dg/ext/oper1.C
  de5f86b7a10350b9ce405e101438c412  gcc/testsuite/g++.dg/ext/packed2.C
! 238ffa2ee564d6bf5c854871d9a259dd  gcc/testsuite/g++.dg/ext/packed3.C
! bcf9b6873e48870b8f6014b5da708cd3  gcc/testsuite/g++.dg/ext/packed4.C
  16a931c57f92231bf11258bf8610b8ca  gcc/testsuite/g++.dg/ext/packed5.C
  ae7890414c5bc0a5814823b6bca9beb4  gcc/testsuite/g++.dg/ext/packed6.C
  2e29b33d9b093b6a30a0e49d1b42c6c8  gcc/testsuite/g++.dg/ext/packed7.C
! 9cc672b535d8f71fe730d74c00807d76  gcc/testsuite/g++.dg/ext/packed8.C
! 0932ad5ce3e0455a61e5bd35e5ed587a  gcc/testsuite/g++.dg/ext/packed9.C
! ad117686eb16e680b29f2f5e45ebe0df  gcc/testsuite/g++.dg/ext/pragmaweak1.C
  ae2794e104309a224e228d70e4cede48  gcc/testsuite/g++.dg/ext/pretty1.C
  faa8333681bedde3ba84daa60ec26ff8  gcc/testsuite/g++.dg/ext/pretty2.C
  171b60b2dd599842569025ee22f7703a  gcc/testsuite/g++.dg/ext/restrict1.C
+ 1e8630ced186a8f3c0453afdbb15df90  gcc/testsuite/g++.dg/ext/selectany1.C
+ bcc15b68ed2576412134a22bc0853e41  gcc/testsuite/g++.dg/ext/selectany2.C
  1f515ca30d28ec30600fee3e74e3f4f6  gcc/testsuite/g++.dg/ext/spe1.C
  0cc2b837a96214f4ba420513a4d610a8  gcc/testsuite/g++.dg/ext/static1.C
  40ecbac4d27075e4005c73ce57fc001d  gcc/testsuite/g++.dg/ext/stmtexpr1.C
*************** e6bc1a09cf3c9d838c7ad4575c3d8740  gcc/te
*** 8523,8531 ****
--- 7078,7091 ----
  7f4e8ebedb382ebc1349d7067b034121  gcc/testsuite/g++.dg/ext/stmtexpr4.C
  a6cc01634e0bd707301c873f2d35f891  gcc/testsuite/g++.dg/ext/stmtexpr5.C
  d104145185fba3180b02bfff96944804  gcc/testsuite/g++.dg/ext/stmtexpr6.C
+ 7e2b298f25a70913e3a563f97e4cf5b7  gcc/testsuite/g++.dg/ext/stmtexpr7.C
+ e4a78d4631d98dda8d34b1baf828c158  gcc/testsuite/g++.dg/ext/sync-1.C
+ 7d2ab13d9258d8fc570367eacc626bf6  gcc/testsuite/g++.dg/ext/sync-2.C
+ b8a7bc7b0dc38a84a435cecd41d9f4c3  gcc/testsuite/g++.dg/ext/tmplattr1.C
  e9d03f1964df6b0b82bc92f7cb17d1a2  gcc/testsuite/g++.dg/ext/typedef-init.C
  a55635b999e217d4900dcb3975178408  gcc/testsuite/g++.dg/ext/typename1.C
  797d2045e8822a50b44635725cab1028  gcc/testsuite/g++.dg/ext/typeof1.C
+ a9f6e5ffa8ee45297e80ce1461434dc7  gcc/testsuite/g++.dg/ext/typeof10.C
  d4a84aa4c28cc592a1e9f2cc414b0de8  gcc/testsuite/g++.dg/ext/typeof2.C
  72bb88847c07dea00da2dd0ccfca39ac  gcc/testsuite/g++.dg/ext/typeof3.C
  bb35b4ce331483ff19b91d62234fac6b  gcc/testsuite/g++.dg/ext/typeof4.C
*************** cac7810767ae23faa6823a798e9c3cea  gcc/te
*** 8535,8542 ****
  a9d136cfb86815cbf4d2e46089c90ce0  gcc/testsuite/g++.dg/ext/typeof8.C
  d7e6d10c23ed31b44c2e6c3268ab2b30  gcc/testsuite/g++.dg/ext/typeof9.C
  1e6ab4b0a8dd095b526fad3f97ec5a91  gcc/testsuite/g++.dg/ext/vector1.C
! 901a9aaeffb8969540b43ec0e52598b5  gcc/testsuite/g++.dg/ext/vector2.C
  baebe8b558d0ca0786152594a8fc8041  gcc/testsuite/g++.dg/ext/visibility/arm1.C
  9b9c7c100d92f227167622362ae81686  gcc/testsuite/g++.dg/ext/visibility/assign1.C
  18d8a1310b12aec50bcac70a4583e44d  gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C
  05621e547003978809101724b30f453e  gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C
--- 7095,7104 ----
  a9d136cfb86815cbf4d2e46089c90ce0  gcc/testsuite/g++.dg/ext/typeof8.C
  d7e6d10c23ed31b44c2e6c3268ab2b30  gcc/testsuite/g++.dg/ext/typeof9.C
  1e6ab4b0a8dd095b526fad3f97ec5a91  gcc/testsuite/g++.dg/ext/vector1.C
! 3f2ba0450158ad5c221f98dd0e641cbf  gcc/testsuite/g++.dg/ext/vector2.C
  baebe8b558d0ca0786152594a8fc8041  gcc/testsuite/g++.dg/ext/visibility/arm1.C
+ 06b4df0aabdec7190ff116eb91fec899  gcc/testsuite/g++.dg/ext/visibility/arm2.C
+ dd565fa017d33c361fc6bf98dcb7e8c5  gcc/testsuite/g++.dg/ext/visibility/arm3.C
  9b9c7c100d92f227167622362ae81686  gcc/testsuite/g++.dg/ext/visibility/assign1.C
  18d8a1310b12aec50bcac70a4583e44d  gcc/testsuite/g++.dg/ext/visibility/fvisibility-inlines-hidden.C
  05621e547003978809101724b30f453e  gcc/testsuite/g++.dg/ext/visibility/fvisibility-override1.C
*************** baebe8b558d0ca0786152594a8fc8041  gcc/te
*** 8544,8556 ****
  3a72a00418a387a4b941484f8782c6dd  gcc/testsuite/g++.dg/ext/visibility/fvisibility.C
  d7e8086561549b3830b812ca5fcd9dd6  gcc/testsuite/g++.dg/ext/visibility/memfuncts.C
  9a8d2d6de4dd65f8d370f81892ab674c  gcc/testsuite/g++.dg/ext/visibility/new1.C
! a5cf799f3717193ef5efd44a872e69bb  gcc/testsuite/g++.dg/ext/visibility/noPLT.C
  a8d59950cbc8ed898d19dfae9f599221  gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
  e4bb4a5f15deb500cb7920bd0a441fd2  gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
  56d8136e642cb24cb4da8e83e4f943f7  gcc/testsuite/g++.dg/ext/visibility/pragma.C
  6014ef7f9e80dffce855a18d78bf2212  gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C
  f557224265cdd5e5b63d2ff669e9cabe  gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C
  871b12330fdac390784bb00c45740be6  gcc/testsuite/g++.dg/ext/visibility/symbian1.C
  20cb6ae6a48cf6179e9be36a09cc215d  gcc/testsuite/g++.dg/ext/visibility/virtual.C
  b78959b2914362cd23e2ae31204c2305  gcc/testsuite/g++.dg/ext/visibility/visibility-1.C
  e84981f02dd8957761952e315dab0d86  gcc/testsuite/g++.dg/ext/visibility/visibility-2.C
--- 7106,7119 ----
  3a72a00418a387a4b941484f8782c6dd  gcc/testsuite/g++.dg/ext/visibility/fvisibility.C
  d7e8086561549b3830b812ca5fcd9dd6  gcc/testsuite/g++.dg/ext/visibility/memfuncts.C
  9a8d2d6de4dd65f8d370f81892ab674c  gcc/testsuite/g++.dg/ext/visibility/new1.C
! d51c8d275c235d3f3500c5f4ef6f5c1f  gcc/testsuite/g++.dg/ext/visibility/noPLT.C
  a8d59950cbc8ed898d19dfae9f599221  gcc/testsuite/g++.dg/ext/visibility/pragma-override1.C
  e4bb4a5f15deb500cb7920bd0a441fd2  gcc/testsuite/g++.dg/ext/visibility/pragma-override2.C
  56d8136e642cb24cb4da8e83e4f943f7  gcc/testsuite/g++.dg/ext/visibility/pragma.C
  6014ef7f9e80dffce855a18d78bf2212  gcc/testsuite/g++.dg/ext/visibility/staticdatamem.C
  f557224265cdd5e5b63d2ff669e9cabe  gcc/testsuite/g++.dg/ext/visibility/staticmemfuncts.C
  871b12330fdac390784bb00c45740be6  gcc/testsuite/g++.dg/ext/visibility/symbian1.C
+ b5a114efbd6581d9e2dba525c8afe61a  gcc/testsuite/g++.dg/ext/visibility/symbian2.C
  20cb6ae6a48cf6179e9be36a09cc215d  gcc/testsuite/g++.dg/ext/visibility/virtual.C
  b78959b2914362cd23e2ae31204c2305  gcc/testsuite/g++.dg/ext/visibility/visibility-1.C
  e84981f02dd8957761952e315dab0d86  gcc/testsuite/g++.dg/ext/visibility/visibility-2.C
*************** f810d8d490c2163100b8092bb733b17d  gcc/te
*** 8567,8577 ****
  8c86ea641b4518800fb5154a1a151e06  gcc/testsuite/g++.dg/ext/weak1.C
  d2a31eb19f78eba07ebeb256b409141a  gcc/testsuite/g++.dg/ext/weak2.C
  1a7816a666c363e8410710411e40ce26  gcc/testsuite/g++.dg/ext/weak3.C
! 569d3a72f7308f3c9506d3faac9ee758  gcc/testsuite/g++.dg/gcov/gcov-1.C
  afab866e59f46409fb68aa64174f3acf  gcc/testsuite/g++.dg/gcov/gcov-2.C
  0e241a16c3faf2f0c387bd2978d2b824  gcc/testsuite/g++.dg/gcov/gcov-3.C
  2c83bff9a3f14aa6fc5d7755bf82c9b6  gcc/testsuite/g++.dg/gcov/gcov-3.h
! 84168a828f02252142d5baec3cf462f4  gcc/testsuite/g++.dg/gcov/gcov.exp
  176e66df5d6aa9dd76c8fe406b78a370  gcc/testsuite/g++.dg/inherit/access1.C
  6b97e7f34bed3048a23d0a8e86c3e497  gcc/testsuite/g++.dg/inherit/access2.C
  782f289a8885743348299a4efef52f20  gcc/testsuite/g++.dg/inherit/access3.C
--- 7130,7140 ----
  8c86ea641b4518800fb5154a1a151e06  gcc/testsuite/g++.dg/ext/weak1.C
  d2a31eb19f78eba07ebeb256b409141a  gcc/testsuite/g++.dg/ext/weak2.C
  1a7816a666c363e8410710411e40ce26  gcc/testsuite/g++.dg/ext/weak3.C
! ed8a6c94f1bc2e70a324d73a77190040  gcc/testsuite/g++.dg/gcov/gcov-1.C
  afab866e59f46409fb68aa64174f3acf  gcc/testsuite/g++.dg/gcov/gcov-2.C
  0e241a16c3faf2f0c387bd2978d2b824  gcc/testsuite/g++.dg/gcov/gcov-3.C
  2c83bff9a3f14aa6fc5d7755bf82c9b6  gcc/testsuite/g++.dg/gcov/gcov-3.h
! 85552b08f9a16de1165f6b2e5ab1b8fd  gcc/testsuite/g++.dg/gcov/gcov.exp
  176e66df5d6aa9dd76c8fe406b78a370  gcc/testsuite/g++.dg/inherit/access1.C
  6b97e7f34bed3048a23d0a8e86c3e497  gcc/testsuite/g++.dg/inherit/access2.C
  782f289a8885743348299a4efef52f20  gcc/testsuite/g++.dg/inherit/access3.C
*************** c2411e6f8a0da7e3d67e7b6f69f5a766  gcc/te
*** 8581,8590 ****
--- 7144,7156 ----
  260417b2989a13a1902a4b8b6ec39008  gcc/testsuite/g++.dg/inherit/base2.C
  f3b3605ed6515de4b142977d92356815  gcc/testsuite/g++.dg/inherit/cond1.C
  860b10ddf83da89ca71e00e1586f331e  gcc/testsuite/g++.dg/inherit/conv1.C
+ 65847617fa7d1ccf575a8de01815db58  gcc/testsuite/g++.dg/inherit/conv2.C
  d5b9e7987bad7019aaec9e69eab66e85  gcc/testsuite/g++.dg/inherit/covariant1.C
  c45cf3d192b85a046a341359fd79b95f  gcc/testsuite/g++.dg/inherit/covariant10.C
  8799bf88ee0d1e0be597004c422cbda8  gcc/testsuite/g++.dg/inherit/covariant11.C
  024b0d1452f48d9188fd4c6f01697f03  gcc/testsuite/g++.dg/inherit/covariant12.C
+ a30e748e839e3234af2982a8507640f3  gcc/testsuite/g++.dg/inherit/covariant13.C
+ 50c88ef50589e6c43504bf35e1780d9c  gcc/testsuite/g++.dg/inherit/covariant14.C
  1a712ed4a3f761571bfe894372a9032b  gcc/testsuite/g++.dg/inherit/covariant2.C
  24ff947b4da8f1fcee6c7b66d8388009  gcc/testsuite/g++.dg/inherit/covariant3.C
  8c6bb6aaa56fa2bea8b375c52fab5688  gcc/testsuite/g++.dg/inherit/covariant4.C
*************** b0b99a844e3a249dbe2e80770008c39f  gcc/te
*** 8596,8601 ****
--- 7162,7168 ----
  c788c5892d7d120b0357a3804e53f50a  gcc/testsuite/g++.dg/inherit/error1.C
  58a10b4567b6f89d8662c1fc4673d85e  gcc/testsuite/g++.dg/inherit/local1.C
  7ba23e93339cef0810a212036425afb3  gcc/testsuite/g++.dg/inherit/local2.C
+ b542b48ead2e56bb6bd2a0ae0f0e435f  gcc/testsuite/g++.dg/inherit/local3.C
  0538ccbaac8b13faa65f78233c14d00f  gcc/testsuite/g++.dg/inherit/multiple1.C
  2eaa83c0c5e1866b7dd9098e51c7f03c  gcc/testsuite/g++.dg/inherit/namespace-as-base.C
  929bd841afc583f6793a33214c34c08a  gcc/testsuite/g++.dg/inherit/null1.C
*************** fad492da1e6e9e175df8d618db9cf1fa  gcc/te
*** 8610,8615 ****
--- 7177,7184 ----
  f54f42efb01f78d530cd6440f416587e  gcc/testsuite/g++.dg/inherit/thunk1.C
  9b88ac0413e9487e8a758280c835a160  gcc/testsuite/g++.dg/inherit/thunk2.C
  fbd285dcc7270a076d780f76a8ce05f4  gcc/testsuite/g++.dg/inherit/thunk3.C
+ 36499d0eccceff40478008f2dc2f180f  gcc/testsuite/g++.dg/inherit/thunk4.C
+ fd1a48e42812d7a049499f6df69ff7fe  gcc/testsuite/g++.dg/inherit/thunk5.C
  543b190c9c0d744209af04ea332cc27e  gcc/testsuite/g++.dg/inherit/typedef1.C
  be87b303cd68bc0083e229657e8d162a  gcc/testsuite/g++.dg/inherit/typeinfo1.C
  8ac7470626f12e0cdefa40e25583472b  gcc/testsuite/g++.dg/inherit/union1.C
*************** be87b303cd68bc0083e229657e8d162a  gcc/te
*** 8617,8627 ****
--- 7186,7199 ----
  26f51eac0b25566825aafb23697d10a4  gcc/testsuite/g++.dg/inherit/using2.C
  c9b550ead8867586800cdeee63308c31  gcc/testsuite/g++.dg/inherit/using3.C
  5fa38874a73026f9b2fd718cdccff27d  gcc/testsuite/g++.dg/inherit/using4.C
+ 491cba5b58845b29ea7f37bff5d6702d  gcc/testsuite/g++.dg/inherit/using5.C
+ b42fbad2db9b13ea3bd88c134b0d188b  gcc/testsuite/g++.dg/inherit/using6.C
  768bdcc7042d268b87a11846a928e38c  gcc/testsuite/g++.dg/inherit/volatile1.C
  835b43db313003f4551ea74731f1362c  gcc/testsuite/g++.dg/init/addr-const1.C
  f6bd229ad72e1e0526a7e259faf50163  gcc/testsuite/g++.dg/init/aggr1.C
  a79ad2e50ca8d0ab6dd5b27254f204b5  gcc/testsuite/g++.dg/init/aggr2.C
  9f0814e4f47903c340ece647e3a040fa  gcc/testsuite/g++.dg/init/aggr3.C
+ 73cffa4fc460568d6244b242fb867fb5  gcc/testsuite/g++.dg/init/array0.C
  92960aa3fba7b251d088910f7ca36c73  gcc/testsuite/g++.dg/init/array1.C
  52be26e8b242500ae671c570de13a1a7  gcc/testsuite/g++.dg/init/array10.C
  277d5eaa0119e28a1c7aaa014f13a7c9  gcc/testsuite/g++.dg/init/array11.C
*************** cdd8bcf2d0f951ea0f042ff962ed9854  gcc/te
*** 8629,8635 ****
  d0bb03e714f655f56840d4e660ac77be  gcc/testsuite/g++.dg/init/array13.C
  46ee7376992213a7ad7da95e9c59931d  gcc/testsuite/g++.dg/init/array14.C
  4b343cab41b920a5cd17c596fa24cc6f  gcc/testsuite/g++.dg/init/array15.C
! 6edbe02baa73e2e039331eed39a96e9c  gcc/testsuite/g++.dg/init/array16.C
  bebae7e64d01c783fefaf2f358272230  gcc/testsuite/g++.dg/init/array17.C
  2010ab8cabd116e1c5704c568327ae76  gcc/testsuite/g++.dg/init/array18.C
  db737c897b3b257dcc015a0f7ff35dcc  gcc/testsuite/g++.dg/init/array19.C
--- 7201,7207 ----
  d0bb03e714f655f56840d4e660ac77be  gcc/testsuite/g++.dg/init/array13.C
  46ee7376992213a7ad7da95e9c59931d  gcc/testsuite/g++.dg/init/array14.C
  4b343cab41b920a5cd17c596fa24cc6f  gcc/testsuite/g++.dg/init/array15.C
! 6f7bdd6f37f73dd850e92e2a6e120e80  gcc/testsuite/g++.dg/init/array16.C
  bebae7e64d01c783fefaf2f358272230  gcc/testsuite/g++.dg/init/array17.C
  2010ab8cabd116e1c5704c568327ae76  gcc/testsuite/g++.dg/init/array18.C
  db737c897b3b257dcc015a0f7ff35dcc  gcc/testsuite/g++.dg/init/array19.C
*************** b1c2a3438d19ab4734ef026ce6aba7fa  gcc/te
*** 8646,8653 ****
  2f79b9184ae5c27e207d20ac08a89a28  gcc/testsuite/g++.dg/init/bitfield1.C
  f93344289d2f2663e5df449820c5dae4  gcc/testsuite/g++.dg/init/bitfield2.C
  a9c79959ed517bc5d72a6a5d41cbf16b  gcc/testsuite/g++.dg/init/brace1.C
! cf9c501be271cd3a122b94b489c28c30  gcc/testsuite/g++.dg/init/brace2.C
  c46d05cc9ceeb4d3a8a4d25cd908ba7a  gcc/testsuite/g++.dg/init/brace3.C
  8878c87dba0d0dc5af8198636c9944bc  gcc/testsuite/g++.dg/init/byval1.C
  37e3aaafda06e7a49338706d936ff70f  gcc/testsuite/g++.dg/init/call1.C
  0f1ff9d8ddbbe6eb6b3651aa40fa79db  gcc/testsuite/g++.dg/init/cleanup1.C
--- 7218,7226 ----
  2f79b9184ae5c27e207d20ac08a89a28  gcc/testsuite/g++.dg/init/bitfield1.C
  f93344289d2f2663e5df449820c5dae4  gcc/testsuite/g++.dg/init/bitfield2.C
  a9c79959ed517bc5d72a6a5d41cbf16b  gcc/testsuite/g++.dg/init/brace1.C
! e46b3edf013f26bfaab428ec56cf4150  gcc/testsuite/g++.dg/init/brace2.C
  c46d05cc9ceeb4d3a8a4d25cd908ba7a  gcc/testsuite/g++.dg/init/brace3.C
+ fa25c5dda11ffc85ea36955456c3fbe8  gcc/testsuite/g++.dg/init/brace4.C
  8878c87dba0d0dc5af8198636c9944bc  gcc/testsuite/g++.dg/init/byval1.C
  37e3aaafda06e7a49338706d936ff70f  gcc/testsuite/g++.dg/init/call1.C
  0f1ff9d8ddbbe6eb6b3651aa40fa79db  gcc/testsuite/g++.dg/init/cleanup1.C
*************** c268699333b239c371d1bdc906ea54ad  gcc/te
*** 8665,8671 ****
--- 7238,7246 ----
  c92e60dfdc4e6ad1fcc8d9290be36f5f  gcc/testsuite/g++.dg/init/ctor2.C
  5922ec5514343fd09b90bff2a9853e0d  gcc/testsuite/g++.dg/init/ctor3.C
  bcd6d5c96f2533cb0e650f09158cf3d7  gcc/testsuite/g++.dg/init/ctor4.C
+ a6128e1518e0ce6bdc30c0b7a23dfd18  gcc/testsuite/g++.dg/init/ctor5.C
  ecc9c501210a7d0fcb63a6b4e75e71ee  gcc/testsuite/g++.dg/init/ctor6.C
+ 2c3e5a9bb93285c3f11607173fad5f0e  gcc/testsuite/g++.dg/init/ctor7.C
  27316aef2661ec451196e55a019579a8  gcc/testsuite/g++.dg/init/delete1.C
  b34354a9fccb98f99f3ac0bc14d8f157  gcc/testsuite/g++.dg/init/dso_handle1.C
  0282b33cfb0b201499908c95a2e9b57d  gcc/testsuite/g++.dg/init/dtor1.C
*************** d2ea13322f402d3ce506a9a1106ee836  gcc/te
*** 8677,8687 ****
--- 7252,7264 ----
  d5cf79bd277e32455485602b0608bbad  gcc/testsuite/g++.dg/init/enum1.C
  ca9a6dc8d27f3cf82314cfcd92133441  gcc/testsuite/g++.dg/init/enum2.C
  025511c7f18d8a1cc8f8d38b6d04dce0  gcc/testsuite/g++.dg/init/error1.C
+ 265ea5015e9eb7de8e1c6503d956e086  gcc/testsuite/g++.dg/init/float1.C
  f93dc3d9c3bb926cb7922031698ecfef  gcc/testsuite/g++.dg/init/for1.C
  01eca483f7382cb5c35dcad5558f08b1  gcc/testsuite/g++.dg/init/for2.C
  07dcd9a47aa0d73fd3c9a976d1f3ba07  gcc/testsuite/g++.dg/init/for3.C
  4c0fd932ebbc4629dbb229edf363e946  gcc/testsuite/g++.dg/init/global1.C
  a2c1054568281f6408f992ee29e5680b  gcc/testsuite/g++.dg/init/goto1.C
+ e00c10f6c51c0fe0e298cd7214a51a46  gcc/testsuite/g++.dg/init/goto2.C
  61b6e6a5b24a1cf0c1d82d1bad6d7600  gcc/testsuite/g++.dg/init/init-ref1.C
  c2e29d2071e0ec0563f5e74c45da4ecd  gcc/testsuite/g++.dg/init/init-ref2.C
  3a6691b139891fc8cdbe2c6d887fdce4  gcc/testsuite/g++.dg/init/init-ref3.C
*************** ded575d1c35757dbf89f635e5a86910d  gcc/te
*** 8730,8743 ****
  5790ab7ca9ca7303a8c59f3dbcb9058e  gcc/testsuite/g++.dg/init/static2.C
  8b181745d241d484dd529391acd12c57  gcc/testsuite/g++.dg/init/string1.C
  45abc8e0bdd04e2c0dd28c4de54e85c7  gcc/testsuite/g++.dg/init/struct1.C
  ab02e565927ee50b37c774159922e9d9  gcc/testsuite/g++.dg/init/synth1.C
  a94d2ff7c7a43d0764a116004fa30738  gcc/testsuite/g++.dg/init/union1.C
  75fa012514803aa0a98113ff8b7474c6  gcc/testsuite/g++.dg/init/vector1.C
  f1339a059a53b8c932f6dd4870283209  gcc/testsuite/g++.dg/lookup/ambig1.C
  fa1ea4ed4c9f1ae996929481bd6de67c  gcc/testsuite/g++.dg/lookup/ambig2.C
  0e636168c26983f9ef884688bb4917e7  gcc/testsuite/g++.dg/lookup/ambig3.C
! 71c3a6e7b7861bf0d920af7797bd8608  gcc/testsuite/g++.dg/lookup/ambig4.C
! 8d4df0929f40654b37af662447f989ef  gcc/testsuite/g++.dg/lookup/ambig5.C
  2f777984f797382f3dba7eab93665be9  gcc/testsuite/g++.dg/lookup/anon1.C
  6033c13175be69110fc7dd58ad6aa1da  gcc/testsuite/g++.dg/lookup/anon2.C
  563e134d27e728c49412fd9e968a6cd8  gcc/testsuite/g++.dg/lookup/anon3.C
--- 7307,7324 ----
  5790ab7ca9ca7303a8c59f3dbcb9058e  gcc/testsuite/g++.dg/init/static2.C
  8b181745d241d484dd529391acd12c57  gcc/testsuite/g++.dg/init/string1.C
  45abc8e0bdd04e2c0dd28c4de54e85c7  gcc/testsuite/g++.dg/init/struct1.C
+ a7e7f229619aa6424736e74649095a8f  gcc/testsuite/g++.dg/init/struct2.C
+ ddd8947a2535ec1505678cdbc092d6d0  gcc/testsuite/g++.dg/init/struct3.C
+ fb4e7d34dd521424475c02bd1379d218  gcc/testsuite/g++.dg/init/switch1.C
  ab02e565927ee50b37c774159922e9d9  gcc/testsuite/g++.dg/init/synth1.C
  a94d2ff7c7a43d0764a116004fa30738  gcc/testsuite/g++.dg/init/union1.C
+ a2a29bef6924e38f49965c48ff606491  gcc/testsuite/g++.dg/init/union2.C
  75fa012514803aa0a98113ff8b7474c6  gcc/testsuite/g++.dg/init/vector1.C
  f1339a059a53b8c932f6dd4870283209  gcc/testsuite/g++.dg/lookup/ambig1.C
  fa1ea4ed4c9f1ae996929481bd6de67c  gcc/testsuite/g++.dg/lookup/ambig2.C
  0e636168c26983f9ef884688bb4917e7  gcc/testsuite/g++.dg/lookup/ambig3.C
! 20277ca7e96e342bdcbe0d7dd189cf10  gcc/testsuite/g++.dg/lookup/ambig4.C
! f4bbc35342b6996af8bf4b092976e3ee  gcc/testsuite/g++.dg/lookup/ambig5.C
  2f777984f797382f3dba7eab93665be9  gcc/testsuite/g++.dg/lookup/anon1.C
  6033c13175be69110fc7dd58ad6aa1da  gcc/testsuite/g++.dg/lookup/anon2.C
  563e134d27e728c49412fd9e968a6cd8  gcc/testsuite/g++.dg/lookup/anon3.C
*************** d64551040d13bf36f94a380b6b298ea5  gcc/te
*** 8762,8767 ****
--- 7343,7349 ----
  d9678387006e999bc9d29de93e894ef7  gcc/testsuite/g++.dg/lookup/delete1.C
  fb015b2936976958a6c9772e86df9bd9  gcc/testsuite/g++.dg/lookup/disamb1.C
  3920de89ada5d72255d7202c8a1f6da8  gcc/testsuite/g++.dg/lookup/enum1.C
+ 01aa02d07ac01945729f0db1d362c4f2  gcc/testsuite/g++.dg/lookup/error1.C
  2284b69f8b484472d6345337a8a6a099  gcc/testsuite/g++.dg/lookup/exception1.C
  c961035d55063ab35ff011e8098d8ea9  gcc/testsuite/g++.dg/lookup/forscope1.C
  0a537641a6f07027fc6b83c330555682  gcc/testsuite/g++.dg/lookup/forscope2.C
*************** e51e64a92ddf4c4d012cb738bf62fde5  gcc/te
*** 8771,8776 ****
--- 7353,7361 ----
  96ad222df48d0097eb84d66dbf37d17d  gcc/testsuite/g++.dg/lookup/friend4.C
  187ba092057b229619d98cf5e000c6e1  gcc/testsuite/g++.dg/lookup/friend5.C
  f00af47e1b16d7d6e6577ae76572b806  gcc/testsuite/g++.dg/lookup/friend6.C
+ 9eae6b74a8bc2635385af42d2eb7290b  gcc/testsuite/g++.dg/lookup/friend7.C
+ 55fad96206146b00439be99fa14cb114  gcc/testsuite/g++.dg/lookup/friend8.C
+ 9d3865e2b7ad7f2ada40573eca29da7d  gcc/testsuite/g++.dg/lookup/friend9.C
  0673992edce3a2ed0347433f5a52904a  gcc/testsuite/g++.dg/lookup/hidden-class1.C
  1543acdebdb65876176b6415fff0ac88  gcc/testsuite/g++.dg/lookup/hidden-class2.C
  0f80d6d420969bf03406748b683c92d5  gcc/testsuite/g++.dg/lookup/hidden-class3.C
*************** aa72bf12de95e37fe79a3293544473d4  gcc/te
*** 8821,8827 ****
  36c8df686ba39d71b24a97d15b78bcba  gcc/testsuite/g++.dg/lookup/scoped7.C
  9ac92ac481a927433166e57356e545d2  gcc/testsuite/g++.dg/lookup/scoped8.C
  41c93b87e89568c99dc369e6ab78d9cd  gcc/testsuite/g++.dg/lookup/strong-using-1.C
! b88e19f2a23c7934ff2d728a257a2a8e  gcc/testsuite/g++.dg/lookup/strong-using-2.C
  12515d02b3adf213d5151821057f38e3  gcc/testsuite/g++.dg/lookup/strong-using-3.C
  1591da0decee2f87beb828b2a559d801  gcc/testsuite/g++.dg/lookup/strong-using-4.C
  14a5eeccea742bec62851ac5c1d69945  gcc/testsuite/g++.dg/lookup/struct-hack1.C
--- 7406,7412 ----
  36c8df686ba39d71b24a97d15b78bcba  gcc/testsuite/g++.dg/lookup/scoped7.C
  9ac92ac481a927433166e57356e545d2  gcc/testsuite/g++.dg/lookup/scoped8.C
  41c93b87e89568c99dc369e6ab78d9cd  gcc/testsuite/g++.dg/lookup/strong-using-1.C
! 19762a1adafe439eeab18e70ce65cd3d  gcc/testsuite/g++.dg/lookup/strong-using-2.C
  12515d02b3adf213d5151821057f38e3  gcc/testsuite/g++.dg/lookup/strong-using-3.C
  1591da0decee2f87beb828b2a559d801  gcc/testsuite/g++.dg/lookup/strong-using-4.C
  14a5eeccea742bec62851ac5c1d69945  gcc/testsuite/g++.dg/lookup/struct-hack1.C
*************** f7cc5bba605998b587366c1cb499ac4f  gcc/te
*** 8830,8843 ****
  a793e64bb6b34881797f23d0f6a812f7  gcc/testsuite/g++.dg/lookup/template1.C
  7019845dfb6dbd2d5547a6f72b822068  gcc/testsuite/g++.dg/lookup/template2.C
  0f014086c6e90e67e8879d132fc019d6  gcc/testsuite/g++.dg/lookup/two-stage1.C
  484cce6ae499098e15620d91582e9470  gcc/testsuite/g++.dg/lookup/used-before-declaration.C
  37ba62633a35db58ce53d2e965c7405c  gcc/testsuite/g++.dg/lookup/using-10.C
  e787b658f008402e539125d8744f57b8  gcc/testsuite/g++.dg/lookup/using.C
  3b1be5c1d7f024899683d6b51a3db2aa  gcc/testsuite/g++.dg/lookup/using11.C
! f57e21af5bde1bbf87d54aa842022073  gcc/testsuite/g++.dg/lookup/using12.C
  48b254e1c2661f3029eb99d0e76ad5a5  gcc/testsuite/g++.dg/lookup/using13.C
  566f22665e5dbaacccc9bab0af697314  gcc/testsuite/g++.dg/lookup/using14.C
! 0b6e8b0a5d151134cc9e429382ecd4b8  gcc/testsuite/g++.dg/lookup/using2.C
  d56f4b6d96d8a5c73deddb44f985b2b0  gcc/testsuite/g++.dg/lookup/using3.C
  a9f8bb8a4c2ceef1805b242e53567377  gcc/testsuite/g++.dg/lookup/using4.C
  e6b9eddad8d672688c883ca8af446a66  gcc/testsuite/g++.dg/lookup/using5.C
--- 7415,7432 ----
  a793e64bb6b34881797f23d0f6a812f7  gcc/testsuite/g++.dg/lookup/template1.C
  7019845dfb6dbd2d5547a6f72b822068  gcc/testsuite/g++.dg/lookup/template2.C
  0f014086c6e90e67e8879d132fc019d6  gcc/testsuite/g++.dg/lookup/two-stage1.C
+ 05ab50a5af158435a73f81a5b6c9daef  gcc/testsuite/g++.dg/lookup/two-stage2.C
+ 673f5cb94e0c6c5a86bce634e4eb2be5  gcc/testsuite/g++.dg/lookup/two-stage3.C
+ 1b8c33d621d2aea028aa0ce6b0b904fe  gcc/testsuite/g++.dg/lookup/two-stage4.C
+ 55b606de81dcee47c1021a188831f526  gcc/testsuite/g++.dg/lookup/two-stage5.C
  484cce6ae499098e15620d91582e9470  gcc/testsuite/g++.dg/lookup/used-before-declaration.C
  37ba62633a35db58ce53d2e965c7405c  gcc/testsuite/g++.dg/lookup/using-10.C
  e787b658f008402e539125d8744f57b8  gcc/testsuite/g++.dg/lookup/using.C
  3b1be5c1d7f024899683d6b51a3db2aa  gcc/testsuite/g++.dg/lookup/using11.C
! 4aa371c96c095ece93ba36b9aa1ab516  gcc/testsuite/g++.dg/lookup/using12.C
  48b254e1c2661f3029eb99d0e76ad5a5  gcc/testsuite/g++.dg/lookup/using13.C
  566f22665e5dbaacccc9bab0af697314  gcc/testsuite/g++.dg/lookup/using14.C
! 6c793793d5552adf9942638d9ded1a2d  gcc/testsuite/g++.dg/lookup/using2.C
  d56f4b6d96d8a5c73deddb44f985b2b0  gcc/testsuite/g++.dg/lookup/using3.C
  a9f8bb8a4c2ceef1805b242e53567377  gcc/testsuite/g++.dg/lookup/using4.C
  e6b9eddad8d672688c883ca8af446a66  gcc/testsuite/g++.dg/lookup/using5.C
*************** e6b9eddad8d672688c883ca8af446a66  gcc/te
*** 8845,8852 ****
  aca3573b271c9fdc8cdb4992f24d7a8a  gcc/testsuite/g++.dg/lookup/using7.C
  05105c11218492c8a6c6943b32a316ec  gcc/testsuite/g++.dg/lookup/using8.C
  115454d847be74818c81a6670249a79c  gcc/testsuite/g++.dg/lookup/using9.C
  960bd912d3dccb44df0ecdebdfd45b44  gcc/testsuite/g++.dg/opt/alias1.C
! 5cda4cf9c7e156adc1c95f82e00ca6a4  gcc/testsuite/g++.dg/opt/alias2.C
  91fe29b9b1f08a3ca87595896db03497  gcc/testsuite/g++.dg/opt/alias3.C
  a20397e7aec19ce67e72ee637a08a416  gcc/testsuite/g++.dg/opt/anonunion1.C
  f5855f61cbf9d400a44f276598a5db21  gcc/testsuite/g++.dg/opt/array1.C
--- 7434,7442 ----
  aca3573b271c9fdc8cdb4992f24d7a8a  gcc/testsuite/g++.dg/lookup/using7.C
  05105c11218492c8a6c6943b32a316ec  gcc/testsuite/g++.dg/lookup/using8.C
  115454d847be74818c81a6670249a79c  gcc/testsuite/g++.dg/lookup/using9.C
+ 86e3ebd0e4ef48f0a105b3024af186b9  gcc/testsuite/g++.dg/opt/20050511-1.C
  960bd912d3dccb44df0ecdebdfd45b44  gcc/testsuite/g++.dg/opt/alias1.C
! 15bcb0db43b0a7c6f0b1a4ff014da35d  gcc/testsuite/g++.dg/opt/alias2.C
  91fe29b9b1f08a3ca87595896db03497  gcc/testsuite/g++.dg/opt/alias3.C
  a20397e7aec19ce67e72ee637a08a416  gcc/testsuite/g++.dg/opt/anonunion1.C
  f5855f61cbf9d400a44f276598a5db21  gcc/testsuite/g++.dg/opt/array1.C
*************** def63acb8ef99a4c443fc492c744024e  gcc/te
*** 8860,8865 ****
--- 7450,7460 ----
  edb10b502f24cdcc3e2d6bd03834f453  gcc/testsuite/g++.dg/opt/cfg3.C
  2bb81d8b4e035fe5f91ce41ef3284779  gcc/testsuite/g++.dg/opt/cfg4.C
  fb4da9867fcb6f2d50834331b8bd01b9  gcc/testsuite/g++.dg/opt/cleanup1.C
+ 36372e9d039276c581f0a32167271310  gcc/testsuite/g++.dg/opt/complex1.C
+ 816200fa31222cb98232ecde51a545be  gcc/testsuite/g++.dg/opt/complex2.C
+ 35877c00cc48159fa11634f3321a6100  gcc/testsuite/g++.dg/opt/complex3.C
+ 8a5a897536e97520b29744f3237bd4fd  gcc/testsuite/g++.dg/opt/complex4.C
+ 32b59098b47ea537d04c0f7e24c564c7  gcc/testsuite/g++.dg/opt/complex5.C
  d596297fb4b8cfc0dbc45507354819a3  gcc/testsuite/g++.dg/opt/cond1.C
  b879c3972fcf09a0bef4781d973dea10  gcc/testsuite/g++.dg/opt/conj1.C
  14ee709f09c311be02b0626ca4909c28  gcc/testsuite/g++.dg/opt/conj2.C
*************** b879c3972fcf09a0bef4781d973dea10  gcc/te
*** 8869,8877 ****
  6b2e1cf4863e58457238c73c49085813  gcc/testsuite/g++.dg/opt/const4.C
  fe3330f4dcc4be90e5790ce38f643df9  gcc/testsuite/g++.dg/opt/covariant1.C
  2b8e568482a37c0e98a0154aa649f58b  gcc/testsuite/g++.dg/opt/crash1.C
! b55ed2120bf33c5fc301a48e32dd2bcd  gcc/testsuite/g++.dg/opt/crossjump1.C
  e98c78fcaf089947f989361b38fdf935  gcc/testsuite/g++.dg/opt/cse1.C
! 9a12bb82b9156a36e80a88016920a736  gcc/testsuite/g++.dg/opt/cse2.C
  b78629432d8191727f95c1df6d1b5557  gcc/testsuite/g++.dg/opt/devirt1.C
  efd4841018dde44e1a577570a64e42de  gcc/testsuite/g++.dg/opt/dtor1.C
  c59d630e23488d9f894a7904300cdd96  gcc/testsuite/g++.dg/opt/eh1.C
--- 7464,7473 ----
  6b2e1cf4863e58457238c73c49085813  gcc/testsuite/g++.dg/opt/const4.C
  fe3330f4dcc4be90e5790ce38f643df9  gcc/testsuite/g++.dg/opt/covariant1.C
  2b8e568482a37c0e98a0154aa649f58b  gcc/testsuite/g++.dg/opt/crash1.C
! ac103794722418c1c77100ecd74c066e  gcc/testsuite/g++.dg/opt/crossjump1.C
  e98c78fcaf089947f989361b38fdf935  gcc/testsuite/g++.dg/opt/cse1.C
! 828575acbc93114de791741277b04c03  gcc/testsuite/g++.dg/opt/cse2.C
! d27372902cb47c7c488e8dfdc227c2a3  gcc/testsuite/g++.dg/opt/delay-slot-1.C
  b78629432d8191727f95c1df6d1b5557  gcc/testsuite/g++.dg/opt/devirt1.C
  efd4841018dde44e1a577570a64e42de  gcc/testsuite/g++.dg/opt/dtor1.C
  c59d630e23488d9f894a7904300cdd96  gcc/testsuite/g++.dg/opt/eh1.C
*************** d48bf743fe7cd2670b77dd76e8fc1714  gcc/te
*** 8885,8891 ****
--- 7481,7489 ----
  65e3fab7de933a99f4b5f52a982ea8d1  gcc/testsuite/g++.dg/opt/fold1.C
  8bda53d5b874de63c6fb463b2e63a8f9  gcc/testsuite/g++.dg/opt/fold2.C
  d89445d9cb1f86fe29290ee87eb3d8df  gcc/testsuite/g++.dg/opt/fold3.C
+ 4624dde4c5fc4aac12f23da866696b9c  gcc/testsuite/g++.dg/opt/init1.C
  ff5f8554e631ad4fefd7b89cfd16687b  gcc/testsuite/g++.dg/opt/inline1.C
+ 580b8bf9e7c5a9db23c948678d8f0d22  gcc/testsuite/g++.dg/opt/inline10.C
  bdb061ce93c83db85373f2347c9ecdf0  gcc/testsuite/g++.dg/opt/inline2.C
  f8d8b6e43c65e932c2f62a1b6414e898  gcc/testsuite/g++.dg/opt/inline3.C
  255209f312d67a90af5347445715b3c5  gcc/testsuite/g++.dg/opt/inline4.C
*************** d6211992cdc6ec155a7621cf706f93dd  gcc/te
*** 8893,8920 ****
  5c520267c44f9ad56a86ee13778463ba  gcc/testsuite/g++.dg/opt/inline6.C
  b7cb98f473e1920797490085dbf7bb94  gcc/testsuite/g++.dg/opt/inline7.C
  9f754de8bb8b020810cf2dc268d5cffb  gcc/testsuite/g++.dg/opt/inline8.C
! d843cdf6dd2d552130039968240a53fc  gcc/testsuite/g++.dg/opt/inline9.C
  2fbe08ba96a89a540c76bbf38b7e5e77  gcc/testsuite/g++.dg/opt/interface1-a.cc
  574ab4f3f6a358775de8a350d81a7251  gcc/testsuite/g++.dg/opt/interface1.C
  09696a226561fa381a83f8c1b56bd004  gcc/testsuite/g++.dg/opt/interface1.h
  1ac038665b7965caf38f2ddc0a55b918  gcc/testsuite/g++.dg/opt/interface2.C
  147890dfec6e1cbd6d1bb8385a3ca1e0  gcc/testsuite/g++.dg/opt/interface2.h
! bc09b3d36d6565d9d819a6e644798dc9  gcc/testsuite/g++.dg/opt/life1.C
  83a82f683c2ef38a1d683e0c8055bded  gcc/testsuite/g++.dg/opt/local1.C
  74049e3e36b5fbdab2f271b70320a6d8  gcc/testsuite/g++.dg/opt/longbranch1.C
! 74b451c9b41bdc96c320c7ba0f711c68  gcc/testsuite/g++.dg/opt/longbranch2.C
  7138258a897096adae7238a76c0f3756  gcc/testsuite/g++.dg/opt/loop1.C
  5ba0313c07c21269127514a7438b4baf  gcc/testsuite/g++.dg/opt/max1.C
! 7c7311ce5c4ba7400ec6dfbaa4dbd838  gcc/testsuite/g++.dg/opt/mmx1.C
  aae564cdd9b50225ee28c64cfe203a3b  gcc/testsuite/g++.dg/opt/noreturn-1.C
! 25116c5b072e5f10df5bd837649e0e1d  gcc/testsuite/g++.dg/opt/nothrow1.C
  835771d4b580573ed930662d2b25babf  gcc/testsuite/g++.dg/opt/nrv1.C
  360692bdb55de35cb68717ceb6c51fd7  gcc/testsuite/g++.dg/opt/nrv2.C
  42adcc800d5d2029a2b831e1453e8f32  gcc/testsuite/g++.dg/opt/nrv3.C
  b2773b15109a2fc43572a97edf29b236  gcc/testsuite/g++.dg/opt/nrv4.C
  13481653ab41a707cb4c4eed2199c57f  gcc/testsuite/g++.dg/opt/nrv5.C
  cc4e1f139fd98494395c4313684fa753  gcc/testsuite/g++.dg/opt/nrv6.C
  b16ae5b90244df2461a7c023c7f3c88e  gcc/testsuite/g++.dg/opt/nrv7.C
  5778a352c750259fe850421e364893fa  gcc/testsuite/g++.dg/opt/operator1.C
  1b20239db4498d5cce85a900755fb433  gcc/testsuite/g++.dg/opt/placeholder1.C
  2896f5b1a96dd9fabb1dbb65cb4c5921  gcc/testsuite/g++.dg/opt/pr13066-1.C
--- 7491,7523 ----
  5c520267c44f9ad56a86ee13778463ba  gcc/testsuite/g++.dg/opt/inline6.C
  b7cb98f473e1920797490085dbf7bb94  gcc/testsuite/g++.dg/opt/inline7.C
  9f754de8bb8b020810cf2dc268d5cffb  gcc/testsuite/g++.dg/opt/inline8.C
! 81fd12ae62e7eba58e19fe1f834aaea9  gcc/testsuite/g++.dg/opt/inline9.C
  2fbe08ba96a89a540c76bbf38b7e5e77  gcc/testsuite/g++.dg/opt/interface1-a.cc
  574ab4f3f6a358775de8a350d81a7251  gcc/testsuite/g++.dg/opt/interface1.C
  09696a226561fa381a83f8c1b56bd004  gcc/testsuite/g++.dg/opt/interface1.h
  1ac038665b7965caf38f2ddc0a55b918  gcc/testsuite/g++.dg/opt/interface2.C
  147890dfec6e1cbd6d1bb8385a3ca1e0  gcc/testsuite/g++.dg/opt/interface2.h
! 6bb37c381a7a99231c84a7271bdb70bc  gcc/testsuite/g++.dg/opt/life1.C
  83a82f683c2ef38a1d683e0c8055bded  gcc/testsuite/g++.dg/opt/local1.C
  74049e3e36b5fbdab2f271b70320a6d8  gcc/testsuite/g++.dg/opt/longbranch1.C
! 208df7d46e769a4a8ca96d99dde82ffe  gcc/testsuite/g++.dg/opt/longbranch2.C
  7138258a897096adae7238a76c0f3756  gcc/testsuite/g++.dg/opt/loop1.C
+ c11dcb63c226e2ccd7df1403d7c85717  gcc/testsuite/g++.dg/opt/loop2.C
  5ba0313c07c21269127514a7438b4baf  gcc/testsuite/g++.dg/opt/max1.C
! 809c815ca5fb5bf80aa03dc0ec218e2b  gcc/testsuite/g++.dg/opt/mmx1.C
! 0f988c5a4c4565a26fde2b7693409cf2  gcc/testsuite/g++.dg/opt/mmx2.C
  aae564cdd9b50225ee28c64cfe203a3b  gcc/testsuite/g++.dg/opt/noreturn-1.C
! 50e5944dd7f93a4f4ec66fa768db7684  gcc/testsuite/g++.dg/opt/nothrow1.C
  835771d4b580573ed930662d2b25babf  gcc/testsuite/g++.dg/opt/nrv1.C
+ 40b7f29b2dd16f80e4119778fc7d06f4  gcc/testsuite/g++.dg/opt/nrv10.C
+ 01bc5d5859f1dffb5f5ddc08cc6cbfa7  gcc/testsuite/g++.dg/opt/nrv11.C
  360692bdb55de35cb68717ceb6c51fd7  gcc/testsuite/g++.dg/opt/nrv2.C
  42adcc800d5d2029a2b831e1453e8f32  gcc/testsuite/g++.dg/opt/nrv3.C
  b2773b15109a2fc43572a97edf29b236  gcc/testsuite/g++.dg/opt/nrv4.C
  13481653ab41a707cb4c4eed2199c57f  gcc/testsuite/g++.dg/opt/nrv5.C
  cc4e1f139fd98494395c4313684fa753  gcc/testsuite/g++.dg/opt/nrv6.C
  b16ae5b90244df2461a7c023c7f3c88e  gcc/testsuite/g++.dg/opt/nrv7.C
+ 572452f9faebdba95cc03bfba39f6879  gcc/testsuite/g++.dg/opt/nrv9.C
  5778a352c750259fe850421e364893fa  gcc/testsuite/g++.dg/opt/operator1.C
  1b20239db4498d5cce85a900755fb433  gcc/testsuite/g++.dg/opt/placeholder1.C
  2896f5b1a96dd9fabb1dbb65cb4c5921  gcc/testsuite/g++.dg/opt/pr13066-1.C
*************** c4dea16df9a30d5151a70b435783f02b  gcc/te
*** 8941,8955 ****
  b2ae3464686798e5eff26df852913eff  gcc/testsuite/g++.dg/opt/pr18683-1.C
  92af3809e34a8d30b737f310d7e57654  gcc/testsuite/g++.dg/opt/pr18968.C
  600947cbff5b96bdeb482a5d5adb992b  gcc/testsuite/g++.dg/opt/pr19108.C
! 54b8c1cff65ae0ff69f7e0aa187f7747  gcc/testsuite/g++.dg/opt/pr19650.C
  45d19dda46c647dc885d443b5fced384  gcc/testsuite/g++.dg/opt/pr19768.C
  fbf4a598c8089049715d4d2af8e480b8  gcc/testsuite/g++.dg/opt/pr20931.C
  54c9b415ffbafe11bc784d68421c5e25  gcc/testsuite/g++.dg/opt/pr20991.C
  395e10896a3d5235a8f3f2b9d6ad4cc7  gcc/testsuite/g++.dg/opt/pr22167.C
  5b3e2f8cbfc0d9247561a93b1028c186  gcc/testsuite/g++.dg/opt/pr23056.C
  8649f7896552ca6fbd94cc9825bd264c  gcc/testsuite/g++.dg/opt/pr23299.C
  6b44bd46dbabf935a497942dd88a002b  gcc/testsuite/g++.dg/opt/pr23454.C
  a81feb0dd82790d6b31abe4dc3925070  gcc/testsuite/g++.dg/opt/pr23478.C
  ac2356162f00cd5e8804482480f1795a  gcc/testsuite/g++.dg/opt/pr6713.C
  90bdbfd9313461944756a9e9f01ce788  gcc/testsuite/g++.dg/opt/pr7503-1.C
  9d698f5fee75fb4b0137bb9c1c9f7b92  gcc/testsuite/g++.dg/opt/pr7503-2.C
--- 7544,7566 ----
  b2ae3464686798e5eff26df852913eff  gcc/testsuite/g++.dg/opt/pr18683-1.C
  92af3809e34a8d30b737f310d7e57654  gcc/testsuite/g++.dg/opt/pr18968.C
  600947cbff5b96bdeb482a5d5adb992b  gcc/testsuite/g++.dg/opt/pr19108.C
! 5e33a2389f882989df646b348d9a2f85  gcc/testsuite/g++.dg/opt/pr19317-1.C
! 0d1816a449bc871b905970e91070536b  gcc/testsuite/g++.dg/opt/pr19317-2.C
! dc9b39b824c8dd9501f2669629835ca6  gcc/testsuite/g++.dg/opt/pr19317-3.C
! b7cdbcea5a86232321c1cb34701e6a9f  gcc/testsuite/g++.dg/opt/pr19650.C
  45d19dda46c647dc885d443b5fced384  gcc/testsuite/g++.dg/opt/pr19768.C
  fbf4a598c8089049715d4d2af8e480b8  gcc/testsuite/g++.dg/opt/pr20931.C
  54c9b415ffbafe11bc784d68421c5e25  gcc/testsuite/g++.dg/opt/pr20991.C
+ 4acbed4cf8581a600838d225b2b0fc01  gcc/testsuite/g++.dg/opt/pr20995-1.C
  395e10896a3d5235a8f3f2b9d6ad4cc7  gcc/testsuite/g++.dg/opt/pr22167.C
  5b3e2f8cbfc0d9247561a93b1028c186  gcc/testsuite/g++.dg/opt/pr23056.C
  8649f7896552ca6fbd94cc9825bd264c  gcc/testsuite/g++.dg/opt/pr23299.C
  6b44bd46dbabf935a497942dd88a002b  gcc/testsuite/g++.dg/opt/pr23454.C
  a81feb0dd82790d6b31abe4dc3925070  gcc/testsuite/g++.dg/opt/pr23478.C
+ a00726702d5f995d777b0a88498791ae  gcc/testsuite/g++.dg/opt/pr23714.C
+ be8e681aa55392ab8d418d91b64c3d0a  gcc/testsuite/g++.dg/opt/pr24665.C
+ 80bd32221811a65643ddd8ba225d7d48  gcc/testsuite/g++.dg/opt/pr24780.C
+ ca5cdb74119d9bef0cb07e16f7c3c88e  gcc/testsuite/g++.dg/opt/pr25005.C
  ac2356162f00cd5e8804482480f1795a  gcc/testsuite/g++.dg/opt/pr6713.C
  90bdbfd9313461944756a9e9f01ce788  gcc/testsuite/g++.dg/opt/pr7503-1.C
  9d698f5fee75fb4b0137bb9c1c9f7b92  gcc/testsuite/g++.dg/opt/pr7503-2.C
*************** d93fbf41edf6fc4e7f2bf3dcf3d66ef4  gcc/te
*** 8964,8978 ****
  487df22214708e120d70825e74769ba6  gcc/testsuite/g++.dg/opt/ptrmem4.C
  84530a6d66888302453a1415559319c5  gcc/testsuite/g++.dg/opt/ptrmem5.C
  b0d55030f465e0c394fac453469489e7  gcc/testsuite/g++.dg/opt/ptrmem6.C
! 3e608b206a9e9353b781f90189adf54f  gcc/testsuite/g++.dg/opt/range-test-1.C
  19ded3e2a50942bf9bcc2f1fc4413e35  gcc/testsuite/g++.dg/opt/range-test-2.C
  8c97bd5e5c1c0f5ce05a0c69a6e6df27  gcc/testsuite/g++.dg/opt/reg-stack.C
  424e403345e23e621b477afd23b875db  gcc/testsuite/g++.dg/opt/reg-stack2.C
  3150d3bfe22de91401bf7cbcd067207d  gcc/testsuite/g++.dg/opt/reg-stack3.C
! e61c8c73e6e3841697c7773a9cbbadf1  gcc/testsuite/g++.dg/opt/reg-stack4.C
  25e9962e240d8c8ed05cecb4820f38d3  gcc/testsuite/g++.dg/opt/reload1.C
  eea08af86e12b2945858317c96c4626e  gcc/testsuite/g++.dg/opt/reload2.C
  823775aaa479e3ad245323d4d8a2605c  gcc/testsuite/g++.dg/opt/rtti1.C
  64cddd41580d4c444ced76036ddd036a  gcc/testsuite/g++.dg/opt/stack1.C
  58e8dee52431dafad875b7e31ec97e9b  gcc/testsuite/g++.dg/opt/static1.C
  8423b578cde01fb65b9fcfbfb4cf06cd  gcc/testsuite/g++.dg/opt/static2.C
--- 7575,7590 ----
  487df22214708e120d70825e74769ba6  gcc/testsuite/g++.dg/opt/ptrmem4.C
  84530a6d66888302453a1415559319c5  gcc/testsuite/g++.dg/opt/ptrmem5.C
  b0d55030f465e0c394fac453469489e7  gcc/testsuite/g++.dg/opt/ptrmem6.C
! 96e85c11cbf5f478b281be4fdf987288  gcc/testsuite/g++.dg/opt/range-test-1.C
  19ded3e2a50942bf9bcc2f1fc4413e35  gcc/testsuite/g++.dg/opt/range-test-2.C
  8c97bd5e5c1c0f5ce05a0c69a6e6df27  gcc/testsuite/g++.dg/opt/reg-stack.C
  424e403345e23e621b477afd23b875db  gcc/testsuite/g++.dg/opt/reg-stack2.C
  3150d3bfe22de91401bf7cbcd067207d  gcc/testsuite/g++.dg/opt/reg-stack3.C
! c3111968aa68695ef91e764eba7cd46a  gcc/testsuite/g++.dg/opt/reg-stack4.C
  25e9962e240d8c8ed05cecb4820f38d3  gcc/testsuite/g++.dg/opt/reload1.C
  eea08af86e12b2945858317c96c4626e  gcc/testsuite/g++.dg/opt/reload2.C
  823775aaa479e3ad245323d4d8a2605c  gcc/testsuite/g++.dg/opt/rtti1.C
+ 86f37428153f2503110eee8bbb401a58  gcc/testsuite/g++.dg/opt/rtti2.C
  64cddd41580d4c444ced76036ddd036a  gcc/testsuite/g++.dg/opt/stack1.C
  58e8dee52431dafad875b7e31ec97e9b  gcc/testsuite/g++.dg/opt/static1.C
  8423b578cde01fb65b9fcfbfb4cf06cd  gcc/testsuite/g++.dg/opt/static2.C
*************** fef275baea684e27b49402e946869af7  gcc/te
*** 8989,8995 ****
  178df7a1f97e8581d95b76bda27dc33d  gcc/testsuite/g++.dg/opt/thunk2.C
  240c5e869a8b5ad0a8bf6049a8d00862  gcc/testsuite/g++.dg/opt/tmp1.C
  5a0d1f452801f903b71f360e2af9dab9  gcc/testsuite/g++.dg/opt/unroll1.C
! 5f5238bea60e68ad7fb4777fc0d855cf  gcc/testsuite/g++.dg/opt/vt1.C
  e9e95defc7549b659e2d8a149f686a98  gcc/testsuite/g++.dg/other/abstract1.C
  c1304f624beddbc034d900e8d3d8a3dc  gcc/testsuite/g++.dg/other/abstract2.C
  1952aeb9951f8c72a9b8ee8487e2991b  gcc/testsuite/g++.dg/other/access1.C
--- 7601,7609 ----
  178df7a1f97e8581d95b76bda27dc33d  gcc/testsuite/g++.dg/opt/thunk2.C
  240c5e869a8b5ad0a8bf6049a8d00862  gcc/testsuite/g++.dg/opt/tmp1.C
  5a0d1f452801f903b71f360e2af9dab9  gcc/testsuite/g++.dg/opt/unroll1.C
! c4f8b2aee6bbe8bb7c04aa1a20ed7b46  gcc/testsuite/g++.dg/opt/vrp2.C
! 59d9afae969b99523ff80ff364db72a8  gcc/testsuite/g++.dg/opt/vt1.C
! 9ff44ed08d344fc8a489c7b7e5734991  gcc/testsuite/g++.dg/other/PR23205.C
  e9e95defc7549b659e2d8a149f686a98  gcc/testsuite/g++.dg/other/abstract1.C
  c1304f624beddbc034d900e8d3d8a3dc  gcc/testsuite/g++.dg/other/abstract2.C
  1952aeb9951f8c72a9b8ee8487e2991b  gcc/testsuite/g++.dg/other/access1.C
*************** e7bda64a0fd9d0057a48814a978e1851  gcc/te
*** 9000,9006 ****
  25bec11b40119085408d52eaa5b86f6e  gcc/testsuite/g++.dg/other/anon2.C
  ddc1dc6e20da6c7a8449205caab8dc39  gcc/testsuite/g++.dg/other/anon3.C
  ceb0c0d2e878f1b7898a912bfe02d365  gcc/testsuite/g++.dg/other/array1.C
! 2390d795aed3055b519caf1166461619  gcc/testsuite/g++.dg/other/big-struct.C
  f4cf136163ee3fd615e4a9643520781f  gcc/testsuite/g++.dg/other/bitfield1.C
  a33402d123eb961aa44a527290e451c2  gcc/testsuite/g++.dg/other/classkey1.C
  b0eb29945f04721ade114ff6651768e8  gcc/testsuite/g++.dg/other/complex1.C
--- 7614,7620 ----
  25bec11b40119085408d52eaa5b86f6e  gcc/testsuite/g++.dg/other/anon2.C
  ddc1dc6e20da6c7a8449205caab8dc39  gcc/testsuite/g++.dg/other/anon3.C
  ceb0c0d2e878f1b7898a912bfe02d365  gcc/testsuite/g++.dg/other/array1.C
! dc1cf6dc500d953cbe68a0048105430f  gcc/testsuite/g++.dg/other/big-struct.C
  f4cf136163ee3fd615e4a9643520781f  gcc/testsuite/g++.dg/other/bitfield1.C
  a33402d123eb961aa44a527290e451c2  gcc/testsuite/g++.dg/other/classkey1.C
  b0eb29945f04721ade114ff6651768e8  gcc/testsuite/g++.dg/other/complex1.C
*************** a8c217652f569c1ecbce8d12397e9abb  gcc/te
*** 9015,9026 ****
  e7de4fdd2efa00c9e16713dbef6623d4  gcc/testsuite/g++.dg/other/crash-1.C
  f2c44da2d098b6e3329177d4a7f387ef  gcc/testsuite/g++.dg/other/crash-2.C
  0d9c768cc6c1ceba304511794490d245  gcc/testsuite/g++.dg/other/crash-3.C
! 00c95809dd7e5002a2cb25e1420cbbe2  gcc/testsuite/g++.dg/other/crash-4.C
  63b7b98a70bc3e591093a887e3c9dc16  gcc/testsuite/g++.dg/other/cv_func.C
  5276b8901edfb83acb63fdaaaaa072fe  gcc/testsuite/g++.dg/other/cxa-atexit1.C
  d3370c196d18a12979ef3db733309686  gcc/testsuite/g++.dg/other/do1.C
  c5b26d15a4924f5e39dad2e8b5b7608a  gcc/testsuite/g++.dg/other/enum1.C
  7228816342090a5efe94d0effa02c5bd  gcc/testsuite/g++.dg/other/error1.C
  a7f642f46d2d9259194f51e24e5b9ee6  gcc/testsuite/g++.dg/other/error2.C
  3820027b29c821fc3271c5cd12393a28  gcc/testsuite/g++.dg/other/error3.C
  2a54dfbc2f51bbaad10a9a32a8c1f212  gcc/testsuite/g++.dg/other/error4.C
--- 7629,7644 ----
  e7de4fdd2efa00c9e16713dbef6623d4  gcc/testsuite/g++.dg/other/crash-1.C
  f2c44da2d098b6e3329177d4a7f387ef  gcc/testsuite/g++.dg/other/crash-2.C
  0d9c768cc6c1ceba304511794490d245  gcc/testsuite/g++.dg/other/crash-3.C
! e1bb4a5963c7989539d82adedc28d2c1  gcc/testsuite/g++.dg/other/crash-4.C
  63b7b98a70bc3e591093a887e3c9dc16  gcc/testsuite/g++.dg/other/cv_func.C
  5276b8901edfb83acb63fdaaaaa072fe  gcc/testsuite/g++.dg/other/cxa-atexit1.C
+ 9e7395f0094f6f5737290e2034fc9ed7  gcc/testsuite/g++.dg/other/default1.C
+ 6f1f053c4c91ab82ddb76edfbb093d10  gcc/testsuite/g++.dg/other/default2.C
+ 27bdfcaf5800136fc4e54e47e09ba8f3  gcc/testsuite/g++.dg/other/default3.C
  d3370c196d18a12979ef3db733309686  gcc/testsuite/g++.dg/other/do1.C
  c5b26d15a4924f5e39dad2e8b5b7608a  gcc/testsuite/g++.dg/other/enum1.C
  7228816342090a5efe94d0effa02c5bd  gcc/testsuite/g++.dg/other/error1.C
+ f6aba2792b15d2a6981656a49c63ead7  gcc/testsuite/g++.dg/other/error10.C
  a7f642f46d2d9259194f51e24e5b9ee6  gcc/testsuite/g++.dg/other/error2.C
  3820027b29c821fc3271c5cd12393a28  gcc/testsuite/g++.dg/other/error3.C
  2a54dfbc2f51bbaad10a9a32a8c1f212  gcc/testsuite/g++.dg/other/error4.C
*************** d41c759e6deb3e76ea2ad2bb0786f3a6  gcc/te
*** 9033,9046 ****
--- 7651,7669 ----
  a7eed4430c93d7a155722a5dad093aec  gcc/testsuite/g++.dg/other/first-global.C
  4e454805fdba784ccf383bf015fee2fc  gcc/testsuite/g++.dg/other/friend1.C
  73acd7749bd5e8d5aea359a56c89a202  gcc/testsuite/g++.dg/other/friend2.C
+ 6d1a6598f4b9a25e1ad71a415d80b127  gcc/testsuite/g++.dg/other/friend3.C
+ 20d8428bc67d92d86f3b9cfa527b7be3  gcc/testsuite/g++.dg/other/friend4.C
  32f21e74c5b90dde8aa8adfc0d8ea6f0  gcc/testsuite/g++.dg/other/gc1.C
  bc5371eb8e8dcf79efb0889828991560  gcc/testsuite/g++.dg/other/gc2.C
  710d41055b4bb35ff1473bcd3c776607  gcc/testsuite/g++.dg/other/gc3.C
+ 55993fa93d769ba0dee68a54f0f22845  gcc/testsuite/g++.dg/other/i386-1.C
+ a5d35922468eae6c28b53d10da36d19e  gcc/testsuite/g++.dg/other/i386-2.C
  cc1ca2bf9b477d018fa43d900031841d  gcc/testsuite/g++.dg/other/incomplete1.C
  78e796e41e24a5aabf8b9d7868a3129a  gcc/testsuite/g++.dg/other/infloop-1.C
  970b6253f5cc2a45871fb517d1d1cbc5  gcc/testsuite/g++.dg/other/init1.C
  84228402757e3c8e700713d288e64c46  gcc/testsuite/g++.dg/other/init2.C
  f32a6142208532cc717bb64d8020d355  gcc/testsuite/g++.dg/other/java1.C
+ b5d1fa590b8d0d5b1d4ac4e606ca25fa  gcc/testsuite/g++.dg/other/large-size-array.C
  b00a3ef2f2c7c47e551480d60abbc84f  gcc/testsuite/g++.dg/other/linkage1.C
  688ada87fb447bcc4f314e612d65b84b  gcc/testsuite/g++.dg/other/mmintrin.C
  91e0b12e268194cb5518003edd85a818  gcc/testsuite/g++.dg/other/mult-stor1.C
*************** a23d17ae20fd87361daea5c89ea2bf18  gcc/te
*** 9053,9063 ****
  07f9259feaaf8b8711fbfa3e7647eb57  gcc/testsuite/g++.dg/other/opaque-1.C
  b86da34d9d10fb29a8666c8f29ba5469  gcc/testsuite/g++.dg/other/opaque-2.C
  614f01ba0ef6ccbaf24bd56b706c02d2  gcc/testsuite/g++.dg/other/opaque-3.C
! a4c484df28fe2f3623e6d2667baf6d74  gcc/testsuite/g++.dg/other/packed1.C
  d21dda28ccc09de70408d08632e8b5a7  gcc/testsuite/g++.dg/other/pragma-ep-1.C
  7459c97728e6ffd98a446fba2d38d258  gcc/testsuite/g++.dg/other/pragma-re-1.C
  f58740da9046e1b048adeaf5bd6ac01e  gcc/testsuite/g++.dg/other/pragma-re-2.C
! dd22b1f568e93b27c56cc7b3bf7485de  gcc/testsuite/g++.dg/other/profile1.C
  aeacbd129aa91e6acca9b9022f8e03ba  gcc/testsuite/g++.dg/other/ptrmem1.C
  c79782b762cef64300df319862fcdc0f  gcc/testsuite/g++.dg/other/ptrmem2.C
  aa501740c79db5668ed5a41a648546f6  gcc/testsuite/g++.dg/other/ptrmem3.C
--- 7676,7689 ----
  07f9259feaaf8b8711fbfa3e7647eb57  gcc/testsuite/g++.dg/other/opaque-1.C
  b86da34d9d10fb29a8666c8f29ba5469  gcc/testsuite/g++.dg/other/opaque-2.C
  614f01ba0ef6ccbaf24bd56b706c02d2  gcc/testsuite/g++.dg/other/opaque-3.C
! dc035bc0c2ec374d2fd787e3c37f1544  gcc/testsuite/g++.dg/other/packed1.C
! 45a2be25f7fc440c2cd2fc76af63be51  gcc/testsuite/g++.dg/other/pr22003.C
! 57901344b69ec7b216bf1128cc5a7242  gcc/testsuite/g++.dg/other/pr22358.C
! cbfc16147cdfd178e38e28c8ffca2385  gcc/testsuite/g++.dg/other/pr24623.C
  d21dda28ccc09de70408d08632e8b5a7  gcc/testsuite/g++.dg/other/pragma-ep-1.C
  7459c97728e6ffd98a446fba2d38d258  gcc/testsuite/g++.dg/other/pragma-re-1.C
  f58740da9046e1b048adeaf5bd6ac01e  gcc/testsuite/g++.dg/other/pragma-re-2.C
! 177437c88d45b07660c474f0135e43ba  gcc/testsuite/g++.dg/other/profile1.C
  aeacbd129aa91e6acca9b9022f8e03ba  gcc/testsuite/g++.dg/other/ptrmem1.C
  c79782b762cef64300df319862fcdc0f  gcc/testsuite/g++.dg/other/ptrmem2.C
  aa501740c79db5668ed5a41a648546f6  gcc/testsuite/g++.dg/other/ptrmem3.C
*************** aa501740c79db5668ed5a41a648546f6  gcc/te
*** 9066,9083 ****
  6b08cb238dd6367be52907131a810d21  gcc/testsuite/g++.dg/other/ptrmem6.C
  22822b2c7eaa7d4e22eb88d6ce526a4c  gcc/testsuite/g++.dg/other/redecl1.C
  c27eb56b8466512532ae3a8c1a327a60  gcc/testsuite/g++.dg/other/redecl2.C
  97e48186eadf96baa75dab50f7628d6a  gcc/testsuite/g++.dg/other/scope1.C
  23d79ad177c61b847e8d1f84b3f7397b  gcc/testsuite/g++.dg/other/static1.C
! 4fb694535f14802a0f86e5b5e3804cc6  gcc/testsuite/g++.dg/other/static11.C
  011330497369cabefc975356fa978d82  gcc/testsuite/g++.dg/other/stdarg1.C
  6678e40619d5043af4bec1849f7634ae  gcc/testsuite/g++.dg/other/stdarg2.C
! a7af26260d7a2dffb8d739810825afe7  gcc/testsuite/g++.dg/other/stdarg3.C
  5e0beb379071427ec23de04edb342301  gcc/testsuite/g++.dg/other/struct-va_list.C
  6312bd4cf43fd17e803778af8b1f2031  gcc/testsuite/g++.dg/other/switch1.C
  9bae0d01ef429f94e58c536f39c9ca7b  gcc/testsuite/g++.dg/other/synth1.C
  5c2adc76f21ce8f7182fe1930db8db73  gcc/testsuite/g++.dg/other/unreachable1.C
  6aa48be6aef2630759f48ff66b6424bd  gcc/testsuite/g++.dg/other/vararg-1.C
  60563e69386b8a906233c2d479c02e6b  gcc/testsuite/g++.dg/other/vararg-2.C
  bbbc42226f302577b317dbefbed13e8a  gcc/testsuite/g++.dg/other/vthunk1.C
  3ab882b7c3b941e862b055e33a605891  gcc/testsuite/g++.dg/other/warning1.C
  e01d22af2bf54a4df755dfb677defefb  gcc/testsuite/g++.dg/overload/VLA.C
--- 7692,7715 ----
  6b08cb238dd6367be52907131a810d21  gcc/testsuite/g++.dg/other/ptrmem6.C
  22822b2c7eaa7d4e22eb88d6ce526a4c  gcc/testsuite/g++.dg/other/redecl1.C
  c27eb56b8466512532ae3a8c1a327a60  gcc/testsuite/g++.dg/other/redecl2.C
+ e3e3485aa8a1172e3051d442252937c1  gcc/testsuite/g++.dg/other/return1.C
  97e48186eadf96baa75dab50f7628d6a  gcc/testsuite/g++.dg/other/scope1.C
+ b9b23d41de45237458868ab5a8fd0918  gcc/testsuite/g++.dg/other/semicolon.C
  23d79ad177c61b847e8d1f84b3f7397b  gcc/testsuite/g++.dg/other/static1.C
! e789e85b8e83c35e7e483d4d892e55fd  gcc/testsuite/g++.dg/other/static11.C
  011330497369cabefc975356fa978d82  gcc/testsuite/g++.dg/other/stdarg1.C
  6678e40619d5043af4bec1849f7634ae  gcc/testsuite/g++.dg/other/stdarg2.C
! 3a012636be5f21fd2b652c229102e118  gcc/testsuite/g++.dg/other/stdarg3.C
  5e0beb379071427ec23de04edb342301  gcc/testsuite/g++.dg/other/struct-va_list.C
  6312bd4cf43fd17e803778af8b1f2031  gcc/testsuite/g++.dg/other/switch1.C
+ 37c0f6f7c04f78d10db7b76974117a16  gcc/testsuite/g++.dg/other/switch2.C
  9bae0d01ef429f94e58c536f39c9ca7b  gcc/testsuite/g++.dg/other/synth1.C
+ 257a7ccb9a00dcf8f78b7667d6ccb94f  gcc/testsuite/g++.dg/other/ucnid-1.C
  5c2adc76f21ce8f7182fe1930db8db73  gcc/testsuite/g++.dg/other/unreachable1.C
  6aa48be6aef2630759f48ff66b6424bd  gcc/testsuite/g++.dg/other/vararg-1.C
  60563e69386b8a906233c2d479c02e6b  gcc/testsuite/g++.dg/other/vararg-2.C
+ a6a9e2f5bcb753435ad581ee25ed4d6b  gcc/testsuite/g++.dg/other/virtual1.C
+ 8eb73bfdfb93ef436ae8ead1ba6b0a67  gcc/testsuite/g++.dg/other/virtual2.C
  bbbc42226f302577b317dbefbed13e8a  gcc/testsuite/g++.dg/other/vthunk1.C
  3ab882b7c3b941e862b055e33a605891  gcc/testsuite/g++.dg/other/warning1.C
  e01d22af2bf54a4df755dfb677defefb  gcc/testsuite/g++.dg/overload/VLA.C
*************** c7adb71813a104a656c6a2e2baf25739  gcc/te
*** 9094,9111 ****
--- 7726,7747 ----
  2808df88b455ae0dd789dc64c1e34b25  gcc/testsuite/g++.dg/overload/cond1.C
  1ad1044e609c7c71b9d825f8f0c46285  gcc/testsuite/g++.dg/overload/ellipsis1.C
  eb8955b4f4568177f29d90808e350304  gcc/testsuite/g++.dg/overload/error1.C
+ e4753bb05dc59e57b5bb60b1877f1fc1  gcc/testsuite/g++.dg/overload/error2.C
  9f3216fc0ae4a8a06ab126b5ce8c7180  gcc/testsuite/g++.dg/overload/koenig1.C
+ a29b6caa05b24423db00096e576bf2be  gcc/testsuite/g++.dg/overload/koenig2.C
  53b4a1648421c533b9cf26423d529dc0  gcc/testsuite/g++.dg/overload/member1.C
  e5c64067fac4b9dcfc16ca552eabfc2c  gcc/testsuite/g++.dg/overload/member2.C
  9983af6c17d827ff5c5a0b0609fb569d  gcc/testsuite/g++.dg/overload/new1.C
  0b2f9fcba5861b39ff227c1cbfa754b7  gcc/testsuite/g++.dg/overload/operator-star-1.C
  ffc2123ab343a779a615e519a991e1d9  gcc/testsuite/g++.dg/overload/operator1.C
+ 964600658be3f75b988efd034a9cc438  gcc/testsuite/g++.dg/overload/operator2.C
  e290ad6ee59a5ec0b5557a052568a78d  gcc/testsuite/g++.dg/overload/pmf1.C
  a436e857943377addaac3203f4d85eb4  gcc/testsuite/g++.dg/overload/prom1.C
  02856d8d11be85bdeb888d95d224df01  gcc/testsuite/g++.dg/overload/ref1.C
  1bd540977a3ebf0e74db36e595b11998  gcc/testsuite/g++.dg/overload/scope1.C
  1e6f1679bedcc11510f7cadcb011cec3  gcc/testsuite/g++.dg/overload/template1.C
  053bc5744de44c3637cdea4e8f67c443  gcc/testsuite/g++.dg/overload/template2.C
+ 645b25c36fe3bd3749a7d4b8c4bf44c2  gcc/testsuite/g++.dg/overload/unknown1.C
  85ece6c01345af5b8d407b8e19d781f9  gcc/testsuite/g++.dg/overload/using1.C
  dc068d99ce0d483f9daf7da097089a1b  gcc/testsuite/g++.dg/overload/using2.C
  f0e44977493ab0fe59f740f65a694211  gcc/testsuite/g++.dg/overload/virtual1.C
*************** d54cb72662bc4bea267f01e625b4ca68  gcc/te
*** 9116,9128 ****
--- 7752,7768 ----
  3e4e9ea9709b48a4df6ec069a601569d  gcc/testsuite/g++.dg/parse/access5.C
  f9481feac597cbeb954234d2f50f7631  gcc/testsuite/g++.dg/parse/access6.C
  d44f99d0f38b43ff740e826c56b2fa80  gcc/testsuite/g++.dg/parse/access7.C
+ ad0bca56e5b4260dbb3b47a864bb2152  gcc/testsuite/g++.dg/parse/access8.C
+ c63564a10a99acc084dd7ef3ab31e068  gcc/testsuite/g++.dg/parse/access9.C
  6606f920d5b7219bc3178a9025894dc2  gcc/testsuite/g++.dg/parse/ambig1.C
  3942d08ed7cbdaac837b06646132916e  gcc/testsuite/g++.dg/parse/ambig2.C
  dccd55557e6e7045693056e69f389dc4  gcc/testsuite/g++.dg/parse/ambig3.C
+ 76ecf42117442856a63d100b212722de  gcc/testsuite/g++.dg/parse/ambig4.C
  bc8c4ed875b2c4b0e6b1ec9bcec25d41  gcc/testsuite/g++.dg/parse/angle-bracket.C
  0befa26c74e8cbfa279f5b49a61408eb  gcc/testsuite/g++.dg/parse/angle-bracket2.C
  4d4f8ace7c1f4d0f32bbd4530d5b07c1  gcc/testsuite/g++.dg/parse/args1.C
  daf5f5fa938643351cbd008ccc3bb60f  gcc/testsuite/g++.dg/parse/array-size1.C
+ 19145c49c68fa82257f0dd59ca0da42e  gcc/testsuite/g++.dg/parse/array-size2.C
  c51ee1846816a95e9af6e3d6b9e65695  gcc/testsuite/g++.dg/parse/attr-ctor1.C
  d84032d5d61187d741ca91d1d16ee607  gcc/testsuite/g++.dg/parse/attr1.C
  3d4935439f09d7756194078a14580819  gcc/testsuite/g++.dg/parse/attr2.C
*************** d8b50f7519f0c33caf6717bf07e5c8ae  gcc/te
*** 9134,9140 ****
--- 7774,7782 ----
  51e1b0497a2a8269c9cb3add880916ac  gcc/testsuite/g++.dg/parse/casting-operator1.C
  69f48dece672507159e28e5ae62e9640  gcc/testsuite/g++.dg/parse/casting-operator2.C
  b768f688a17e6fb93e41198625381298  gcc/testsuite/g++.dg/parse/class1.C
+ 2efa6438f8b09367340ea4cfa19221cf  gcc/testsuite/g++.dg/parse/class2.C
  cc7bbad3182c61322827fb53d2c0de46  gcc/testsuite/g++.dg/parse/comma1.C
+ 7a61c8e71deeb5afa8198794ebdf7d32  gcc/testsuite/g++.dg/parse/comma2.C
  c20d14b721443c68f73728331d14fbe0  gcc/testsuite/g++.dg/parse/concat1.C
  73b5fec6848a7932aba299c38c57d8ed  gcc/testsuite/g++.dg/parse/cond1.C
  5b95db4d3d95193611271dcf7d869fe5  gcc/testsuite/g++.dg/parse/cond2.C
*************** e773e9fc506890dda1d6fbb37fd77ae4  gcc/te
*** 9157,9177 ****
  8fc5d6dab19b9f89401818b0138ffa98  gcc/testsuite/g++.dg/parse/crash14.C
  a61247b0784709761dc6bf67cf0c5a0c  gcc/testsuite/g++.dg/parse/crash15.C
  886f2139bd5d589dfe753d49868c3d6d  gcc/testsuite/g++.dg/parse/crash16.C
! c6c2edb9b4b6063b7b59ccdb42101a6a  gcc/testsuite/g++.dg/parse/crash17.C
  538f0f1bf0cea39406cc427e43ee96f9  gcc/testsuite/g++.dg/parse/crash18.C
  885300f8f442ade64d801eeb7dc2d3ec  gcc/testsuite/g++.dg/parse/crash19.C
  763dc11e85b1839d0dbe23a9460bf2df  gcc/testsuite/g++.dg/parse/crash2.C
  2aa78a265f417cad90be2f9570f9934b  gcc/testsuite/g++.dg/parse/crash20.C
  8444b86ea68112c837b56c5795ffea98  gcc/testsuite/g++.dg/parse/crash21.C
! 935f48c0cb54ac17ff9501473c95ab77  gcc/testsuite/g++.dg/parse/crash22.C
  8b8f5d08ed05973b2184f7b2d97418e4  gcc/testsuite/g++.dg/parse/crash23.C
  2d0d8584a6096ef0ba4c486d09f3620e  gcc/testsuite/g++.dg/parse/crash24.C
  e3496ce9889e97cda81ccaf581b0f310  gcc/testsuite/g++.dg/parse/crash25.C
  49ff4a07e8b55a4e75a25add1656211b  gcc/testsuite/g++.dg/parse/crash26.C
  0602deae808af6b0d6cbc025387af5c1  gcc/testsuite/g++.dg/parse/crash27.C
! 92fd0b3e9dc963e08717e57f1d02b0bd  gcc/testsuite/g++.dg/parse/crash28.C
  b81fff544050c834b6a58605e98eb828  gcc/testsuite/g++.dg/parse/crash29.C
  1893d49612e9a07e189ba50eff994ac3  gcc/testsuite/g++.dg/parse/crash3.C
  ea254dd6e59a027998efd9cbcb6f405d  gcc/testsuite/g++.dg/parse/crash4.C
  ca305e88317a3cd781d4bd8bf8fc3fc4  gcc/testsuite/g++.dg/parse/crash5.C
  3cae354cb01ecb5097fe78c4d17c8ccd  gcc/testsuite/g++.dg/parse/crash6.C
--- 7799,7822 ----
  8fc5d6dab19b9f89401818b0138ffa98  gcc/testsuite/g++.dg/parse/crash14.C
  a61247b0784709761dc6bf67cf0c5a0c  gcc/testsuite/g++.dg/parse/crash15.C
  886f2139bd5d589dfe753d49868c3d6d  gcc/testsuite/g++.dg/parse/crash16.C
! d8abd079d4556274ffc3d12c8558da15  gcc/testsuite/g++.dg/parse/crash17.C
  538f0f1bf0cea39406cc427e43ee96f9  gcc/testsuite/g++.dg/parse/crash18.C
  885300f8f442ade64d801eeb7dc2d3ec  gcc/testsuite/g++.dg/parse/crash19.C
  763dc11e85b1839d0dbe23a9460bf2df  gcc/testsuite/g++.dg/parse/crash2.C
  2aa78a265f417cad90be2f9570f9934b  gcc/testsuite/g++.dg/parse/crash20.C
  8444b86ea68112c837b56c5795ffea98  gcc/testsuite/g++.dg/parse/crash21.C
! e89107799408c6bff20798d0ae2390c3  gcc/testsuite/g++.dg/parse/crash22.C
  8b8f5d08ed05973b2184f7b2d97418e4  gcc/testsuite/g++.dg/parse/crash23.C
  2d0d8584a6096ef0ba4c486d09f3620e  gcc/testsuite/g++.dg/parse/crash24.C
  e3496ce9889e97cda81ccaf581b0f310  gcc/testsuite/g++.dg/parse/crash25.C
  49ff4a07e8b55a4e75a25add1656211b  gcc/testsuite/g++.dg/parse/crash26.C
  0602deae808af6b0d6cbc025387af5c1  gcc/testsuite/g++.dg/parse/crash27.C
! eb77bb26aa40249eb600ac26534dc2f1  gcc/testsuite/g++.dg/parse/crash28.C
  b81fff544050c834b6a58605e98eb828  gcc/testsuite/g++.dg/parse/crash29.C
  1893d49612e9a07e189ba50eff994ac3  gcc/testsuite/g++.dg/parse/crash3.C
+ 291361ab389af29d2fe990be6fcbc43b  gcc/testsuite/g++.dg/parse/crash30.C
+ 4b5efce965343fb8337f7efbb2f6bf48  gcc/testsuite/g++.dg/parse/crash31.C
+ d803021f22dfc38b8a134bf943ae1777  gcc/testsuite/g++.dg/parse/crash32.C
  ea254dd6e59a027998efd9cbcb6f405d  gcc/testsuite/g++.dg/parse/crash4.C
  ca305e88317a3cd781d4bd8bf8fc3fc4  gcc/testsuite/g++.dg/parse/crash5.C
  3cae354cb01ecb5097fe78c4d17c8ccd  gcc/testsuite/g++.dg/parse/crash6.C
*************** ca305e88317a3cd781d4bd8bf8fc3fc4  gcc/te
*** 9179,9202 ****
  7005dafb22f16db5b002267544ee383f  gcc/testsuite/g++.dg/parse/crash9.C
  5940e29a523673e2c47048c21c11d678  gcc/testsuite/g++.dg/parse/ctor1.C
  31da095055ef151d5be0868d53a4bdcb  gcc/testsuite/g++.dg/parse/ctor2.C
  7c7ea7012460ffe514a8512545b63e58  gcc/testsuite/g++.dg/parse/dce1.C
  df9db7311c0d595f6920ed8afb795193  gcc/testsuite/g++.dg/parse/decl-specifier-1.C
  c00f5fd7ac2236c50e1b9a1db2a54adb  gcc/testsuite/g++.dg/parse/def-tmpl-arg1.C
  cc3bbadad96b1783abf727940e6be572  gcc/testsuite/g++.dg/parse/defarg1.C
  1bff48df8c11aeda15e3471bf1a33226  gcc/testsuite/g++.dg/parse/defarg2.C
  09fddda5e825bb04b1493087728c9162  gcc/testsuite/g++.dg/parse/defarg3.C
! 0238d810e09b4849c803ceebc5210cb3  gcc/testsuite/g++.dg/parse/defarg4.C
  bdbfe5453980b13fed6df11afd4e2141  gcc/testsuite/g++.dg/parse/defarg5.C
  8649c92bbc4962e03bb01e44973f0119  gcc/testsuite/g++.dg/parse/defarg6.C
  df79a42075eeb5573f55e49dcd6c933e  gcc/testsuite/g++.dg/parse/defarg7.C
  e2fbf3072476c0cbc11390fbb8a885c4  gcc/testsuite/g++.dg/parse/defarg8.C
  1098b1d3a2b2d9ed73e976190957b19d  gcc/testsuite/g++.dg/parse/defarg9.C
  a406f4dfcc4d1199effdd47c1f57d137  gcc/testsuite/g++.dg/parse/direct-initialization-2.C
  c8d90b5459dbdf7bf29e5b2a79f38d17  gcc/testsuite/g++.dg/parse/dtor1.C
  1d7ced46ba93cd282dde965b7f3d48b1  gcc/testsuite/g++.dg/parse/dtor2.C
  910d21c43d1e636c0d63d98205e45a4a  gcc/testsuite/g++.dg/parse/dtor3.C
  0e5bfee2fe061692451a1e06a97362d4  gcc/testsuite/g++.dg/parse/dtor4.C
  07c4924bc1a93f3f44905648f906e33c  gcc/testsuite/g++.dg/parse/dtor5.C
  c2a5649592cbbe88e85ed2dcd1b7cc0f  gcc/testsuite/g++.dg/parse/dupl-tmpl-args1.C
  0901bd8fea5e1a75a81cb181e356de1b  gcc/testsuite/g++.dg/parse/elab1.C
  785d047c5536a633da6511c5c90214a2  gcc/testsuite/g++.dg/parse/elab2.C
--- 7824,7853 ----
  7005dafb22f16db5b002267544ee383f  gcc/testsuite/g++.dg/parse/crash9.C
  5940e29a523673e2c47048c21c11d678  gcc/testsuite/g++.dg/parse/ctor1.C
  31da095055ef151d5be0868d53a4bdcb  gcc/testsuite/g++.dg/parse/ctor2.C
+ 644c1835af91f128dacc81f8353f73ce  gcc/testsuite/g++.dg/parse/ctor3.C
  7c7ea7012460ffe514a8512545b63e58  gcc/testsuite/g++.dg/parse/dce1.C
  df9db7311c0d595f6920ed8afb795193  gcc/testsuite/g++.dg/parse/decl-specifier-1.C
  c00f5fd7ac2236c50e1b9a1db2a54adb  gcc/testsuite/g++.dg/parse/def-tmpl-arg1.C
  cc3bbadad96b1783abf727940e6be572  gcc/testsuite/g++.dg/parse/defarg1.C
+ 49ae15983dd01c10d37493acfb790cb8  gcc/testsuite/g++.dg/parse/defarg10.C
  1bff48df8c11aeda15e3471bf1a33226  gcc/testsuite/g++.dg/parse/defarg2.C
  09fddda5e825bb04b1493087728c9162  gcc/testsuite/g++.dg/parse/defarg3.C
! acfa06861c017963f9c07523acb57fdf  gcc/testsuite/g++.dg/parse/defarg4.C
  bdbfe5453980b13fed6df11afd4e2141  gcc/testsuite/g++.dg/parse/defarg5.C
  8649c92bbc4962e03bb01e44973f0119  gcc/testsuite/g++.dg/parse/defarg6.C
  df79a42075eeb5573f55e49dcd6c933e  gcc/testsuite/g++.dg/parse/defarg7.C
  e2fbf3072476c0cbc11390fbb8a885c4  gcc/testsuite/g++.dg/parse/defarg8.C
  1098b1d3a2b2d9ed73e976190957b19d  gcc/testsuite/g++.dg/parse/defarg9.C
  a406f4dfcc4d1199effdd47c1f57d137  gcc/testsuite/g++.dg/parse/direct-initialization-2.C
+ 4f6c814e449c580d9a7443153b454ea5  gcc/testsuite/g++.dg/parse/dot1.C
  c8d90b5459dbdf7bf29e5b2a79f38d17  gcc/testsuite/g++.dg/parse/dtor1.C
  1d7ced46ba93cd282dde965b7f3d48b1  gcc/testsuite/g++.dg/parse/dtor2.C
  910d21c43d1e636c0d63d98205e45a4a  gcc/testsuite/g++.dg/parse/dtor3.C
  0e5bfee2fe061692451a1e06a97362d4  gcc/testsuite/g++.dg/parse/dtor4.C
  07c4924bc1a93f3f44905648f906e33c  gcc/testsuite/g++.dg/parse/dtor5.C
+ 3356854f284ca0f7e874435f169c14b9  gcc/testsuite/g++.dg/parse/dtor6.C
+ e4cee60c3fa86572c0b12a1de0c3fcd7  gcc/testsuite/g++.dg/parse/dtor7.C
+ a2e4d2c70a76d509bdeab9072587529d  gcc/testsuite/g++.dg/parse/dtor8.C
  c2a5649592cbbe88e85ed2dcd1b7cc0f  gcc/testsuite/g++.dg/parse/dupl-tmpl-args1.C
  0901bd8fea5e1a75a81cb181e356de1b  gcc/testsuite/g++.dg/parse/elab1.C
  785d047c5536a633da6511c5c90214a2  gcc/testsuite/g++.dg/parse/elab2.C
*************** a23885e9450835e05d8c560a10768c45  gcc/te
*** 9222,9227 ****
--- 7873,7880 ----
  c695ee4ac93b3b43ec8cb9fd7a5cb337  gcc/testsuite/g++.dg/parse/error25.C
  26d04d49ef2df20c355c614977768a47  gcc/testsuite/g++.dg/parse/error26.C
  d35d2a18172ea4f58edad98fd1336d80  gcc/testsuite/g++.dg/parse/error27.C
+ fb43bf0ea6e15c70be858794b0d3b09e  gcc/testsuite/g++.dg/parse/error28.C
+ f5573bddfe626b6a915c730902cdadaa  gcc/testsuite/g++.dg/parse/error29.C
  f63dab38cf31aff68685555cdb1ac7eb  gcc/testsuite/g++.dg/parse/error3.C
  62ef99f818a9cbb6fa43de9db49745e6  gcc/testsuite/g++.dg/parse/error4.C
  ea770bc8baba1ff568123ffafbe4b714  gcc/testsuite/g++.dg/parse/error5.C
*************** ea770bc8baba1ff568123ffafbe4b714  gcc/te
*** 9229,9244 ****
  dcc1266f8e17ee0091e4295c74f6786f  gcc/testsuite/g++.dg/parse/error7.C
  019b55aad1076cb58bd7b4f09e1c8e13  gcc/testsuite/g++.dg/parse/error8.C
  83fc1a2dd86cc4f0fa7dcd267fc699d4  gcc/testsuite/g++.dg/parse/error9.C
! 6ce4845871d2fdf4427f15cf7d40570b  gcc/testsuite/g++.dg/parse/explicit1.C
  d5e1867a018baeb589c4bfc1ab21e892  gcc/testsuite/g++.dg/parse/expr1.C
  1105f7ddc8706bb30766e905fade9f55  gcc/testsuite/g++.dg/parse/expr2.C
  6d7be91bc2c8c6e24eeb0e2834b30879  gcc/testsuite/g++.dg/parse/expr3.C
  ce0d46f2d60d16814d3d9c5b74aa6e41  gcc/testsuite/g++.dg/parse/extern-C-1.C
  e0895a4d45dffd67334cc087868941a2  gcc/testsuite/g++.dg/parse/extern1.C
  607c4c06d2daa0d87b677b1ad9fbc84b  gcc/testsuite/g++.dg/parse/friend1.C
  ae8288fe09de8b635d6006a2c82ededf  gcc/testsuite/g++.dg/parse/friend2.C
  fcc030c9d8d11fcc0dc0610cd6499a55  gcc/testsuite/g++.dg/parse/friend3.C
  ead8df5d9d4cf435bf4e3cf134c0131c  gcc/testsuite/g++.dg/parse/friend4.C
  e8e9b52687fc710dc5ded14930091f3f  gcc/testsuite/g++.dg/parse/func-def1.C
  8bf1527135b5cd5516b6bbd9bd9c62d2  gcc/testsuite/g++.dg/parse/funptr1.C
  59cf3a0d4f7187fecece4eca6e3a2c71  gcc/testsuite/g++.dg/parse/fused-params1.C
--- 7882,7899 ----
  dcc1266f8e17ee0091e4295c74f6786f  gcc/testsuite/g++.dg/parse/error7.C
  019b55aad1076cb58bd7b4f09e1c8e13  gcc/testsuite/g++.dg/parse/error8.C
  83fc1a2dd86cc4f0fa7dcd267fc699d4  gcc/testsuite/g++.dg/parse/error9.C
! e338c4b0ed33d2c11d4f6cf0d48ac4c9  gcc/testsuite/g++.dg/parse/explicit1.C
  d5e1867a018baeb589c4bfc1ab21e892  gcc/testsuite/g++.dg/parse/expr1.C
  1105f7ddc8706bb30766e905fade9f55  gcc/testsuite/g++.dg/parse/expr2.C
  6d7be91bc2c8c6e24eeb0e2834b30879  gcc/testsuite/g++.dg/parse/expr3.C
  ce0d46f2d60d16814d3d9c5b74aa6e41  gcc/testsuite/g++.dg/parse/extern-C-1.C
  e0895a4d45dffd67334cc087868941a2  gcc/testsuite/g++.dg/parse/extern1.C
+ 7e88973bdfdc21a3a39293ea054d3657  gcc/testsuite/g++.dg/parse/for1.C
  607c4c06d2daa0d87b677b1ad9fbc84b  gcc/testsuite/g++.dg/parse/friend1.C
  ae8288fe09de8b635d6006a2c82ededf  gcc/testsuite/g++.dg/parse/friend2.C
  fcc030c9d8d11fcc0dc0610cd6499a55  gcc/testsuite/g++.dg/parse/friend3.C
  ead8df5d9d4cf435bf4e3cf134c0131c  gcc/testsuite/g++.dg/parse/friend4.C
+ 50612a2f9cd171e448d701ac3d82bad9  gcc/testsuite/g++.dg/parse/friend5.C
  e8e9b52687fc710dc5ded14930091f3f  gcc/testsuite/g++.dg/parse/func-def1.C
  8bf1527135b5cd5516b6bbd9bd9c62d2  gcc/testsuite/g++.dg/parse/funptr1.C
  59cf3a0d4f7187fecece4eca6e3a2c71  gcc/testsuite/g++.dg/parse/fused-params1.C
*************** e005a8916811050710ecc80c202837ed  gcc/te
*** 9250,9255 ****
--- 7905,7911 ----
  467d03fdcc01cdf24c21d2264e026db6  gcc/testsuite/g++.dg/parse/lookup2.C
  8b453ceddcbffd0e3d6527b5b989a6e3  gcc/testsuite/g++.dg/parse/lookup3.C
  0df586078c3c48e038440a354879ed6a  gcc/testsuite/g++.dg/parse/lookup4.C
+ 4a4f9f20e51d1aee172658f8ba701b5e  gcc/testsuite/g++.dg/parse/lookup5.C
  5bf071422354fabefd854d62e3983105  gcc/testsuite/g++.dg/parse/missing-template1.C
  2a6bb7eee1c4c9ef55c8fb4a46785607  gcc/testsuite/g++.dg/parse/mutable1.C
  fe86870b21fda02350088a1a430beacb  gcc/testsuite/g++.dg/parse/named_ops.C
*************** e91f3d3016e1e200ebed1193330b5657  gcc/te
*** 9283,9288 ****
--- 7939,7945 ----
  9f1d578d41417a071a22f5bb888a42e5  gcc/testsuite/g++.dg/parse/operator3.C
  4686d5cd6db60b8144d2cf1153acc180  gcc/testsuite/g++.dg/parse/operator4.C
  447fc3e462b9b45bbf68e672e2421b3c  gcc/testsuite/g++.dg/parse/operator5.C
+ ee746d77b16a30ad23912edc3ab79c6b  gcc/testsuite/g++.dg/parse/operator6.C
  19f6aca27efa700bef4477a26d564761  gcc/testsuite/g++.dg/parse/parameter-declaration-1.C
  de20c30d40f4cceef57124b5828bf816  gcc/testsuite/g++.dg/parse/parens1.C
  cf9491871f9efae4d5b997d4afa5bbc2  gcc/testsuite/g++.dg/parse/parens2.C
*************** f2f11787a32c9c0f104d8d5887ef98b4  gcc/te
*** 9295,9300 ****
--- 7952,7958 ----
  c203de39cbb4bd246d0e315aa6662a15  gcc/testsuite/g++.dg/parse/parse7.C
  5a9d33aff7826f90760a0154af35d9f0  gcc/testsuite/g++.dg/parse/pragma1.C
  7eaeb137f1381aa12b62c1f144a7a711  gcc/testsuite/g++.dg/parse/pragma2.C
+ 4a49daabeedfe512b8b53dfe880c235e  gcc/testsuite/g++.dg/parse/pragma3.C
  2ec4898222ed00ed700c0d02a75f2d1f  gcc/testsuite/g++.dg/parse/primary-expression-1.C
  a7c7523f78d6f162791c48963beb5abd  gcc/testsuite/g++.dg/parse/ptrmem1.C
  2f2fc795a372828b256da823dbe94a7a  gcc/testsuite/g++.dg/parse/ptrmem2.C
*************** a7c7523f78d6f162791c48963beb5abd  gcc/te
*** 9302,9313 ****
  ee6ac3b84366a978a8fd11d55b342fb7  gcc/testsuite/g++.dg/parse/qualified1.C
  824f236b15bcc9ff8b13f7275ea14210  gcc/testsuite/g++.dg/parse/qualified2.C
  322abe6d2d840b6218ecf16b70637d21  gcc/testsuite/g++.dg/parse/qualified3.C
  8d6d8891281e77e95edf66cda3bc270f  gcc/testsuite/g++.dg/parse/redef1.C
  176cd37bac0e17d41ebe5f535df4a12c  gcc/testsuite/g++.dg/parse/ref1.C
  0ac246d1c2c84000962245c7661e60cc  gcc/testsuite/g++.dg/parse/register1.C
! 4abcac0dee0cfac256d9277250176464  gcc/testsuite/g++.dg/parse/repo1.C
  b935282cf7b22d6ccc8bb31b59d7fc4e  gcc/testsuite/g++.dg/parse/ret-type1.C
  e15793f5a0e0612952ad2afcf4a24f88  gcc/testsuite/g++.dg/parse/ret-type2.C
  ae012a859dc73387cd1384e7e2c86bc9  gcc/testsuite/g++.dg/parse/saved1.C
  fc1aa1723b96a5b64e903b9a5996746d  gcc/testsuite/g++.dg/parse/semicolon1.C
  c27fbdab5d948932264f8da44d8829bf  gcc/testsuite/g++.dg/parse/semicolon1.h
--- 7960,7973 ----
  ee6ac3b84366a978a8fd11d55b342fb7  gcc/testsuite/g++.dg/parse/qualified1.C
  824f236b15bcc9ff8b13f7275ea14210  gcc/testsuite/g++.dg/parse/qualified2.C
  322abe6d2d840b6218ecf16b70637d21  gcc/testsuite/g++.dg/parse/qualified3.C
+ d58864cd4550e9a43e5536d8ea904e26  gcc/testsuite/g++.dg/parse/qualified4.C
  8d6d8891281e77e95edf66cda3bc270f  gcc/testsuite/g++.dg/parse/redef1.C
  176cd37bac0e17d41ebe5f535df4a12c  gcc/testsuite/g++.dg/parse/ref1.C
  0ac246d1c2c84000962245c7661e60cc  gcc/testsuite/g++.dg/parse/register1.C
! ebeab0f220a49c8dfab16ac860db8e52  gcc/testsuite/g++.dg/parse/repo1.C
  b935282cf7b22d6ccc8bb31b59d7fc4e  gcc/testsuite/g++.dg/parse/ret-type1.C
  e15793f5a0e0612952ad2afcf4a24f88  gcc/testsuite/g++.dg/parse/ret-type2.C
+ 36603b3c2926b20a0727d10d5f631e75  gcc/testsuite/g++.dg/parse/ret-type3.C
  ae012a859dc73387cd1384e7e2c86bc9  gcc/testsuite/g++.dg/parse/saved1.C
  fc1aa1723b96a5b64e903b9a5996746d  gcc/testsuite/g++.dg/parse/semicolon1.C
  c27fbdab5d948932264f8da44d8829bf  gcc/testsuite/g++.dg/parse/semicolon1.h
*************** e27cd941f0cc2426c0ef84a7925d30a4  gcc/te
*** 9329,9334 ****
--- 7989,7995 ----
  5734d08e2a5999c63930fd7571a24e44  gcc/testsuite/g++.dg/parse/template15.C
  ccda843a2ca5dc21854ae45c663fcbad  gcc/testsuite/g++.dg/parse/template16.C
  28909671f33bd21fb848fe0c1fa14d4d  gcc/testsuite/g++.dg/parse/template17.C
+ 9bc48c58f908ab596a7cf651232a85a8  gcc/testsuite/g++.dg/parse/template18.C
  f26c707aca7173953673bc0d842a4eb1  gcc/testsuite/g++.dg/parse/template2.C
  a539f0647d6b67b4b94cd85ef7ad5951  gcc/testsuite/g++.dg/parse/template3.C
  17872444c3e507c8ec724d519d4c6457  gcc/testsuite/g++.dg/parse/template4.C
*************** fe312b5e22af7a61d39446fc1257d020  gcc/te
*** 9350,9361 ****
--- 8011,8025 ----
  174e24e49c802ceec036dddc815a14ff  gcc/testsuite/g++.dg/parse/typedef6.C
  71e8821fc281e76f6affdbe9259cfad2  gcc/testsuite/g++.dg/parse/typedef7.C
  816e586cce785bd66d07622b7e076afe  gcc/testsuite/g++.dg/parse/typename1.C
+ 31eb059e3dbe1b34a067aafb14847fb8  gcc/testsuite/g++.dg/parse/typename10.C
  cbccebd52f80be1acc21283b8d2ec373  gcc/testsuite/g++.dg/parse/typename2.C
  395c7fdd493455c7e9ebc3b33b0a1c1c  gcc/testsuite/g++.dg/parse/typename3.C
  95be08d8904a9272cf1346d3a396852b  gcc/testsuite/g++.dg/parse/typename4.C
  979c20e0b12da5f2d9ab3fc8b1d0e674  gcc/testsuite/g++.dg/parse/typename5.C
  4b927bd8b5a48134a8c3189cc3af28b3  gcc/testsuite/g++.dg/parse/typename6.C
  a784ae29947cdab5c0e0645aeae4d438  gcc/testsuite/g++.dg/parse/typename7.C
+ fc99557b544b211def78f05030375621  gcc/testsuite/g++.dg/parse/typename8.C
+ a9aff9a5cb5b3d03c67c050f886c6f65  gcc/testsuite/g++.dg/parse/typename9.C
  ad9b24c5c7ea39c6bc5b3c4d8a5e8dee  gcc/testsuite/g++.dg/parse/undefined1.C
  0d9c002feba0c28525ef93144889e786  gcc/testsuite/g++.dg/parse/undefined2.C
  6e1b295c76607b6498e4d28f8752eeb8  gcc/testsuite/g++.dg/parse/undefined3.C
*************** d41d8cd98f00b204e9800998ecf8427e  gcc/te
*** 9374,9382 ****
  51038396a6c08ae383fd050b30653dab  gcc/testsuite/g++.dg/pch/externc-1.Hs
  3456d98b10198c0bf9091088ba05d0f0  gcc/testsuite/g++.dg/pch/local-1.C
  1b5d28bf11bae4996001396e1ffe083b  gcc/testsuite/g++.dg/pch/local-1.Hs
! 950e6e376ceab867a4fcf2d35904ab08  gcc/testsuite/g++.dg/pch/pch.C
  95603c8965412870090ed14011f4b123  gcc/testsuite/g++.dg/pch/pch.Hs
! e7fc9da1437a84380fb848e17fc9b2d4  gcc/testsuite/g++.dg/pch/pch.exp
  956a76bba7ed55fcdd73d80efdfa4c90  gcc/testsuite/g++.dg/pch/static-1.C
  4aaad0cfa4436b8cd8b37b1bf218edc8  gcc/testsuite/g++.dg/pch/static-1.Hs
  a5379c2bad433698a01b3bc2d5473a2e  gcc/testsuite/g++.dg/pch/system-1.C
--- 8038,8046 ----
  51038396a6c08ae383fd050b30653dab  gcc/testsuite/g++.dg/pch/externc-1.Hs
  3456d98b10198c0bf9091088ba05d0f0  gcc/testsuite/g++.dg/pch/local-1.C
  1b5d28bf11bae4996001396e1ffe083b  gcc/testsuite/g++.dg/pch/local-1.Hs
! b31cbdc4e05f769002c2afd61dcc826c  gcc/testsuite/g++.dg/pch/pch.C
  95603c8965412870090ed14011f4b123  gcc/testsuite/g++.dg/pch/pch.Hs
! 43f50cca7b5682df13cd525c79a45fc5  gcc/testsuite/g++.dg/pch/pch.exp
  956a76bba7ed55fcdd73d80efdfa4c90  gcc/testsuite/g++.dg/pch/static-1.C
  4aaad0cfa4436b8cd8b37b1bf218edc8  gcc/testsuite/g++.dg/pch/static-1.Hs
  a5379c2bad433698a01b3bc2d5473a2e  gcc/testsuite/g++.dg/pch/system-1.C
*************** a5379c2bad433698a01b3bc2d5473a2e  gcc/te
*** 9388,9397 ****
  3c027648f765cf5846e0b1be267760f6  gcc/testsuite/g++.dg/pch/wchar-1.C
  67d1ff82e247bea84a92bc888972c000  gcc/testsuite/g++.dg/pch/wchar-1.Hs
  7345c9463c7d47c7d425463846af6b14  gcc/testsuite/g++.dg/rtti/crash1.C
  7c2277ddbea5545cda84aae94fdb88ad  gcc/testsuite/g++.dg/rtti/cv1.C
  e99f9196ab382e1c6b73d9f555e7790c  gcc/testsuite/g++.dg/rtti/dyncast1.C
! 7cd17614cf1341bb2e1364463e4d659a  gcc/testsuite/g++.dg/rtti/repo1.C
! bfa84a2543ef0faf7b6418433067bbf0  gcc/testsuite/g++.dg/rtti/tinfo1.C
  a4ca49fa3677bf87a27b0e961eab1cee  gcc/testsuite/g++.dg/rtti/typeid1.C
  f03a5377eca516c74e77fcf76b40f948  gcc/testsuite/g++.dg/rtti/typeid2.C
  3e23755748cd7e94d3bc13c5d2f78cc9  gcc/testsuite/g++.dg/rtti/typeid3.C
--- 8052,8063 ----
  3c027648f765cf5846e0b1be267760f6  gcc/testsuite/g++.dg/pch/wchar-1.C
  67d1ff82e247bea84a92bc888972c000  gcc/testsuite/g++.dg/pch/wchar-1.Hs
  7345c9463c7d47c7d425463846af6b14  gcc/testsuite/g++.dg/rtti/crash1.C
+ 34c4c8f1721c4f70c2261dcc1b0a7630  gcc/testsuite/g++.dg/rtti/crash2.C
+ afdb3cc7ece3c7c60179cd6d1819ab81  gcc/testsuite/g++.dg/rtti/crash3.C
  7c2277ddbea5545cda84aae94fdb88ad  gcc/testsuite/g++.dg/rtti/cv1.C
  e99f9196ab382e1c6b73d9f555e7790c  gcc/testsuite/g++.dg/rtti/dyncast1.C
! 74d7c3211a7b41b5a69eb690e7235bb7  gcc/testsuite/g++.dg/rtti/repo1.C
! daac611a89b8fa8aa874e3b9f2cc9663  gcc/testsuite/g++.dg/rtti/tinfo1.C
  a4ca49fa3677bf87a27b0e961eab1cee  gcc/testsuite/g++.dg/rtti/typeid1.C
  f03a5377eca516c74e77fcf76b40f948  gcc/testsuite/g++.dg/rtti/typeid2.C
  3e23755748cd7e94d3bc13c5d2f78cc9  gcc/testsuite/g++.dg/rtti/typeid3.C
*************** c2f61b50e48834b5d5d3a3ee446c0a75  gcc/te
*** 9403,9412 ****
  09034a812fccea6ecaa6edd2f8089fc9  gcc/testsuite/g++.dg/special/conpr-3a.cc
  0d5597e1f29008b02b626a0d09bf9c34  gcc/testsuite/g++.dg/special/conpr-3b.cc
  6207971ee12833ca8c60b82c3ec757f4  gcc/testsuite/g++.dg/special/conpr-4.C
! a4b2f7a79d25cf80aacd81a4102da546  gcc/testsuite/g++.dg/special/ecos.exp
  1d00d1c826d883bfd1e44ac751b5667d  gcc/testsuite/g++.dg/special/initp1.C
  f660af37e71a300b94fc53e6bc686185  gcc/testsuite/g++.dg/tc1/dr1.C
! 718da4ae1c12fa7446c3cff5c87101b8  gcc/testsuite/g++.dg/tc1/dr101.C
  0171a0e113ae996be50db625ac66d450  gcc/testsuite/g++.dg/tc1/dr108.C
  3592a0b845ee849a03440c75d39ae12b  gcc/testsuite/g++.dg/tc1/dr127.C
  1b0c9fccd7b07ffc338e9e9ca4dbb8c0  gcc/testsuite/g++.dg/tc1/dr128.C
--- 8069,8078 ----
  09034a812fccea6ecaa6edd2f8089fc9  gcc/testsuite/g++.dg/special/conpr-3a.cc
  0d5597e1f29008b02b626a0d09bf9c34  gcc/testsuite/g++.dg/special/conpr-3b.cc
  6207971ee12833ca8c60b82c3ec757f4  gcc/testsuite/g++.dg/special/conpr-4.C
! b04c344f16940c96776d2aca1355c810  gcc/testsuite/g++.dg/special/ecos.exp
  1d00d1c826d883bfd1e44ac751b5667d  gcc/testsuite/g++.dg/special/initp1.C
  f660af37e71a300b94fc53e6bc686185  gcc/testsuite/g++.dg/tc1/dr1.C
! 5c0ee940a92afc5a19fdf637a6f77f77  gcc/testsuite/g++.dg/tc1/dr101.C
  0171a0e113ae996be50db625ac66d450  gcc/testsuite/g++.dg/tc1/dr108.C
  3592a0b845ee849a03440c75d39ae12b  gcc/testsuite/g++.dg/tc1/dr127.C
  1b0c9fccd7b07ffc338e9e9ca4dbb8c0  gcc/testsuite/g++.dg/tc1/dr128.C
*************** aac5a5f3e293f7cd54bb405e8e82fa17  gcc/te
*** 9430,9436 ****
  d227f60fa4be5b52028628722cfa4992  gcc/testsuite/g++.dg/tc1/dr217.C
  9c539eaced56bf5f6dfcc87de03577a2  gcc/testsuite/g++.dg/tc1/dr48.C
  24d32bbd4bb8de8bd03020c359210754  gcc/testsuite/g++.dg/tc1/dr49.C
! ab02334dcfe468c8b08f2a78eceb2b94  gcc/testsuite/g++.dg/tc1/dr52.C
  6a9b2ff3865ebd4b9b4a24ea9e5fa1e0  gcc/testsuite/g++.dg/tc1/dr68.C
  99fbd5404170a32ec3b81a4c87114aa9  gcc/testsuite/g++.dg/tc1/dr74.C
  4dd95811a9583fd5b2412c2c99d7dff9  gcc/testsuite/g++.dg/tc1/dr76.C
--- 8096,8102 ----
  d227f60fa4be5b52028628722cfa4992  gcc/testsuite/g++.dg/tc1/dr217.C
  9c539eaced56bf5f6dfcc87de03577a2  gcc/testsuite/g++.dg/tc1/dr48.C
  24d32bbd4bb8de8bd03020c359210754  gcc/testsuite/g++.dg/tc1/dr49.C
! be0dd419c395588111addfd87e31b3fe  gcc/testsuite/g++.dg/tc1/dr52.C
  6a9b2ff3865ebd4b9b4a24ea9e5fa1e0  gcc/testsuite/g++.dg/tc1/dr68.C
  99fbd5404170a32ec3b81a4c87114aa9  gcc/testsuite/g++.dg/tc1/dr74.C
  4dd95811a9583fd5b2412c2c99d7dff9  gcc/testsuite/g++.dg/tc1/dr76.C
*************** baa333203039ed72606c24494f2ff44e  gcc/te
*** 9460,9465 ****
--- 8126,8132 ----
  7a85bf47a7ccf37365dc9d0ed5813e3e  gcc/testsuite/g++.dg/template/arg1.C
  7bea6580b2b65de331f30831724d355f  gcc/testsuite/g++.dg/template/arg2.C
  f455d543dc6a4d6f270fe652fcc368e7  gcc/testsuite/g++.dg/template/arg3.C
+ c306ff6eb2399c47b955c0f32952ba01  gcc/testsuite/g++.dg/template/arg4.C
  99d7b1deba3ad5e11fcbd2dc7d70e9ee  gcc/testsuite/g++.dg/template/array1-1.C
  075227803fea6455eb958b3d2d173e9b  gcc/testsuite/g++.dg/template/array1-2.C
  2960ad36eda739b652d2efa379834c5c  gcc/testsuite/g++.dg/template/array10.C
*************** c557bdb58ff52b9fc368185880923627  gcc/te
*** 9475,9488 ****
  579905889abdf110f78879708a88d557  gcc/testsuite/g++.dg/template/array7.C
  9135445bfc294af3cf8b77142f5e8782  gcc/testsuite/g++.dg/template/array8.C
  9ff0e683b6d55fee7915dd8f28470138  gcc/testsuite/g++.dg/template/array9.C
  63a5e3d5f634ef4eb13aa4a9d62a8cd7  gcc/testsuite/g++.dg/template/assign1.C
  11d89720e8ea4a5f11553338c13ffab9  gcc/testsuite/g++.dg/template/call1.C
  e459df3ddd572b111e8694073c95e5b9  gcc/testsuite/g++.dg/template/call2.C
! 3ec4b7824a9a83b377fe22af12deb661  gcc/testsuite/g++.dg/template/call3.C
  dae4547b0ed98c262ad1adff2778e177  gcc/testsuite/g++.dg/template/cast1.C
  a8067ac68b36a7f6b81ed3e72bd5d218  gcc/testsuite/g++.dg/template/char1.C
  706f2857327f695c7b984df9d14be0b0  gcc/testsuite/g++.dg/template/class1.C
  4a9fdbf9e37ab379d97118860f6e5744  gcc/testsuite/g++.dg/template/class2.C
  95df7c4255e92daacd0d5c759227747d  gcc/testsuite/g++.dg/template/complit1.C
  3f33c9a7b6007a62a4f60e27a3126fc3  gcc/testsuite/g++.dg/template/cond.C
  4336c9181e48a94368c9c6bbf4270562  gcc/testsuite/g++.dg/template/cond2.C
--- 8142,8158 ----
  579905889abdf110f78879708a88d557  gcc/testsuite/g++.dg/template/array7.C
  9135445bfc294af3cf8b77142f5e8782  gcc/testsuite/g++.dg/template/array8.C
  9ff0e683b6d55fee7915dd8f28470138  gcc/testsuite/g++.dg/template/array9.C
+ b8d7ae2a709e06f2d49e19cfb00e77d3  gcc/testsuite/g++.dg/template/asm1.C
  63a5e3d5f634ef4eb13aa4a9d62a8cd7  gcc/testsuite/g++.dg/template/assign1.C
  11d89720e8ea4a5f11553338c13ffab9  gcc/testsuite/g++.dg/template/call1.C
  e459df3ddd572b111e8694073c95e5b9  gcc/testsuite/g++.dg/template/call2.C
! 938ec709598c5f0853b88b4eb0ccdebb  gcc/testsuite/g++.dg/template/call3.C
! 865f009ddc0a20c3f776c322940208a1  gcc/testsuite/g++.dg/template/call4.C
  dae4547b0ed98c262ad1adff2778e177  gcc/testsuite/g++.dg/template/cast1.C
  a8067ac68b36a7f6b81ed3e72bd5d218  gcc/testsuite/g++.dg/template/char1.C
  706f2857327f695c7b984df9d14be0b0  gcc/testsuite/g++.dg/template/class1.C
  4a9fdbf9e37ab379d97118860f6e5744  gcc/testsuite/g++.dg/template/class2.C
+ 478acfe8108cf9d573a8ff95d3dcf91d  gcc/testsuite/g++.dg/template/class3.C
  95df7c4255e92daacd0d5c759227747d  gcc/testsuite/g++.dg/template/complit1.C
  3f33c9a7b6007a62a4f60e27a3126fc3  gcc/testsuite/g++.dg/template/cond.C
  4336c9181e48a94368c9c6bbf4270562  gcc/testsuite/g++.dg/template/cond2.C
*************** e3731e3425655eda73d8d1ac61cdadb3  gcc/te
*** 9528,9535 ****
  c1ad0abca1fcb788f91f39712cb4d025  gcc/testsuite/g++.dg/template/crash34.C
  4b59704e9c69fd39fc829312b324cb56  gcc/testsuite/g++.dg/template/crash35.C
  f8bee91d29458817363bd2ca4c94d704  gcc/testsuite/g++.dg/template/crash36.C
! bd295255d6d0c52334d842ac10c0c4ab  gcc/testsuite/g++.dg/template/crash37.C
  4565662b8ea1b02f11db4b1627917693  gcc/testsuite/g++.dg/template/crash4.C
  503d2ceca1151ace69073bc94b2e3181  gcc/testsuite/g++.dg/template/crash6.C
  60528c5a46bc3e76f4a191231f3cc608  gcc/testsuite/g++.dg/template/crash7.C
  899e82cfa1eab0c5e96b47962c693262  gcc/testsuite/g++.dg/template/crash8.C
--- 8198,8212 ----
  c1ad0abca1fcb788f91f39712cb4d025  gcc/testsuite/g++.dg/template/crash34.C
  4b59704e9c69fd39fc829312b324cb56  gcc/testsuite/g++.dg/template/crash35.C
  f8bee91d29458817363bd2ca4c94d704  gcc/testsuite/g++.dg/template/crash36.C
! 7ab9a58bf7f02a899c33908d8f812caf  gcc/testsuite/g++.dg/template/crash37.C
! 74bcc108f79c60692f6080a58062dc02  gcc/testsuite/g++.dg/template/crash38.C
! 23e8d55ac1822ebf81691c66170b7a20  gcc/testsuite/g++.dg/template/crash39.C
  4565662b8ea1b02f11db4b1627917693  gcc/testsuite/g++.dg/template/crash4.C
+ cd7166d7282781ee3110b40b3cbf0046  gcc/testsuite/g++.dg/template/crash40.C
+ 0e53425dee35e3cd8bc31b131a4010d7  gcc/testsuite/g++.dg/template/crash41.C
+ 7845da4d1b1384a76c0c0244fc45ef41  gcc/testsuite/g++.dg/template/crash42.C
+ 06f99744945713a4534b618b9549b964  gcc/testsuite/g++.dg/template/crash43.C
+ 37c9686aad1de31e5858e6070db0fd76  gcc/testsuite/g++.dg/template/crash44.C
  503d2ceca1151ace69073bc94b2e3181  gcc/testsuite/g++.dg/template/crash6.C
  60528c5a46bc3e76f4a191231f3cc608  gcc/testsuite/g++.dg/template/crash7.C
  899e82cfa1eab0c5e96b47962c693262  gcc/testsuite/g++.dg/template/crash8.C
*************** bd295255d6d0c52334d842ac10c0c4ab  gcc/te
*** 9538,9543 ****
--- 8215,8222 ----
  5a69c7531482ab0af57cca8c90779073  gcc/testsuite/g++.dg/template/ctor2.C
  eb5e9f0376abe643c647f3a9d5b69532  gcc/testsuite/g++.dg/template/ctor3.C
  517013de9505a99dcece802cdd7f1c6d  gcc/testsuite/g++.dg/template/ctor4.C
+ 1c53ceb4fa889d646b2cf28169a68daf  gcc/testsuite/g++.dg/template/ctor5.C
+ 25d3511fe5a378afd592b4563e115a7c  gcc/testsuite/g++.dg/template/ctor6.C
  140909eaa0a4dfe8770e4810e92571cc  gcc/testsuite/g++.dg/template/decl1.C
  05e0d875681f42cc0eb951378ac07bd0  gcc/testsuite/g++.dg/template/decl2.C
  a1ee69de58a5087bc0a5772d3b7f8309  gcc/testsuite/g++.dg/template/deduce1.C
*************** e56cdb80a6b4148add333d45d0d83d9a  gcc/te
*** 9548,9563 ****
  e55baeaf118c452b9f707b8236ee86b1  gcc/testsuite/g++.dg/template/defarg3.C
  64d2588370b2c020d9d5828deadfc7dc  gcc/testsuite/g++.dg/template/defarg4.C
  84d085b3ed907df1747cc523efd8d714  gcc/testsuite/g++.dg/template/defarg5.C
  08e2480f72bcb72f3f0c69f74625bd4c  gcc/testsuite/g++.dg/template/delete1.C
! f9f88160ac0a908bdfd7daa99a6ea4d0  gcc/testsuite/g++.dg/template/dependent-expr1.C
! a012c762c225aa954561b51390054da7  gcc/testsuite/g++.dg/template/dependent-expr2.C
  c386ca54a462a789ddb63d04e8dfa817  gcc/testsuite/g++.dg/template/dependent-expr3.C
  b4bc25a86f512c4a58cc90654edd346f  gcc/testsuite/g++.dg/template/dependent-expr4.C
  f23d748a70179cdd1a4176b5cf3a3e9b  gcc/testsuite/g++.dg/template/dependent-name1.C
  18d61b100652dfe4816b8b9c6cefa923  gcc/testsuite/g++.dg/template/dependent-name2.C
  c10faccbba72797e793c4697fe233f9c  gcc/testsuite/g++.dg/template/dtor1.C
  71d10b5b4cd6cb6cb8f6be930603b8e8  gcc/testsuite/g++.dg/template/dtor2.C
! 6a5f3c8b85f78b5e2f9ffd773a7cca5b  gcc/testsuite/g++.dg/template/dtor3.C
  d36b25b301071f0b5e78a18397661427  gcc/testsuite/g++.dg/template/dtor4.C
  9c78ecb5ca87b2a81cbd9c1796b2c13e  gcc/testsuite/g++.dg/template/eh1.C
  74bfd9d037870ff6f4ad0ce91b6cf2b1  gcc/testsuite/g++.dg/template/eh2.C
--- 8227,8246 ----
  e55baeaf118c452b9f707b8236ee86b1  gcc/testsuite/g++.dg/template/defarg3.C
  64d2588370b2c020d9d5828deadfc7dc  gcc/testsuite/g++.dg/template/defarg4.C
  84d085b3ed907df1747cc523efd8d714  gcc/testsuite/g++.dg/template/defarg5.C
+ 8027f8619f5cb154069051c6e3cd6221  gcc/testsuite/g++.dg/template/defarg6.C
+ 8fdfe04193de5eb0eac57ce398f4c5ec  gcc/testsuite/g++.dg/template/defarg7.C
  08e2480f72bcb72f3f0c69f74625bd4c  gcc/testsuite/g++.dg/template/delete1.C
! 4e28ad3da9cf0f80841dd7ac6a9a0233  gcc/testsuite/g++.dg/template/dependent-expr1.C
! 5c363f74bcfd32858f0d7daa76f3d56b  gcc/testsuite/g++.dg/template/dependent-expr2.C
  c386ca54a462a789ddb63d04e8dfa817  gcc/testsuite/g++.dg/template/dependent-expr3.C
  b4bc25a86f512c4a58cc90654edd346f  gcc/testsuite/g++.dg/template/dependent-expr4.C
  f23d748a70179cdd1a4176b5cf3a3e9b  gcc/testsuite/g++.dg/template/dependent-name1.C
  18d61b100652dfe4816b8b9c6cefa923  gcc/testsuite/g++.dg/template/dependent-name2.C
+ 0c3e325271a377838c5d47bb6fb94dd1  gcc/testsuite/g++.dg/template/dependent-name3.C
+ 147338e18276d105fca28005404df2a8  gcc/testsuite/g++.dg/template/dependent-name4.C
  c10faccbba72797e793c4697fe233f9c  gcc/testsuite/g++.dg/template/dtor1.C
  71d10b5b4cd6cb6cb8f6be930603b8e8  gcc/testsuite/g++.dg/template/dtor2.C
! c46251d092a454420a2658cd0fcc8c15  gcc/testsuite/g++.dg/template/dtor3.C
  d36b25b301071f0b5e78a18397661427  gcc/testsuite/g++.dg/template/dtor4.C
  9c78ecb5ca87b2a81cbd9c1796b2c13e  gcc/testsuite/g++.dg/template/eh1.C
  74bfd9d037870ff6f4ad0ce91b6cf2b1  gcc/testsuite/g++.dg/template/eh2.C
*************** d36b25b301071f0b5e78a18397661427  gcc/te
*** 9567,9573 ****
  dfe8fe9abce8be55414485a111a8c15f  gcc/testsuite/g++.dg/template/enum3.C
  118d8ffd607a579db3ddbc9662179566  gcc/testsuite/g++.dg/template/enum4.C
  109e68e063340fe9a814b152f4df9eb3  gcc/testsuite/g++.dg/template/enum5.C
! 20225edc3aed6edaf1b6d1219318d2df  gcc/testsuite/g++.dg/template/error1.C
  627734dfde951481bfc5e44cef796345  gcc/testsuite/g++.dg/template/error10.C
  92cc57f022fdde0a0e1d5b1eb3c129b3  gcc/testsuite/g++.dg/template/error11.C
  6fe651ff5a3f3b8ff9d8a9597b35e055  gcc/testsuite/g++.dg/template/error12.C
--- 8250,8256 ----
  dfe8fe9abce8be55414485a111a8c15f  gcc/testsuite/g++.dg/template/enum3.C
  118d8ffd607a579db3ddbc9662179566  gcc/testsuite/g++.dg/template/enum4.C
  109e68e063340fe9a814b152f4df9eb3  gcc/testsuite/g++.dg/template/enum5.C
! 21c90677bbfb74c29a346183dc8bc5a3  gcc/testsuite/g++.dg/template/error1.C
  627734dfde951481bfc5e44cef796345  gcc/testsuite/g++.dg/template/error10.C
  92cc57f022fdde0a0e1d5b1eb3c129b3  gcc/testsuite/g++.dg/template/error11.C
  6fe651ff5a3f3b8ff9d8a9597b35e055  gcc/testsuite/g++.dg/template/error12.C
*************** a59fe7dfb1e1084d1f2ddcf45eb89e0b  gcc/te
*** 9577,9583 ****
--- 8260,8268 ----
  709638c9b094e580ab80981a248856e2  gcc/testsuite/g++.dg/template/error16.C
  318fb5de2a600d72ad81c69f2a112f1c  gcc/testsuite/g++.dg/template/error17.C
  e0e0adf8e99a8d206f7e74340f4b67e5  gcc/testsuite/g++.dg/template/error18.C
+ c141fe6a264c757500f6ee4ed30842f6  gcc/testsuite/g++.dg/template/error19.C
  40d71cae88dab51bbeef2ad00f2bbca8  gcc/testsuite/g++.dg/template/error2.C
+ c76b01c2f7357d4400cd8e049826cc38  gcc/testsuite/g++.dg/template/error20.C
  0e96862a75ffea6e3b8357e5251534dd  gcc/testsuite/g++.dg/template/error3.C
  85340063cfaafdde79cb0b7bff303541  gcc/testsuite/g++.dg/template/error4.C
  a988dc6a097a8766258a32544791c7db  gcc/testsuite/g++.dg/template/error5.C
*************** a988dc6a097a8766258a32544791c7db  gcc/te
*** 9595,9600 ****
--- 8280,8286 ----
  bfbe469c91f678acc5c06f6a7a92f9c6  gcc/testsuite/g++.dg/template/explicit5.C
  0f1992cf38a7f4a3d4febc06bbe2dc39  gcc/testsuite/g++.dg/template/explicit6.C
  9710691c4af4b589e4831b829d124e2e  gcc/testsuite/g++.dg/template/explicit7.C
+ ad629aa6efcf1374753dbd987791a144  gcc/testsuite/g++.dg/template/explicit8.C
  d9a08dd82988a25d2840d767d582837f  gcc/testsuite/g++.dg/template/expr1.C
  f8aa89e0edae3ef78836a8cc046f0550  gcc/testsuite/g++.dg/template/field1.C
  c6cdc41eef6b33a55c43db84fd711a3f  gcc/testsuite/g++.dg/template/friend.C
*************** d4c8a44deef0bfb76c6964c75b741416  gcc/te
*** 9623,9630 ****
--- 8309,8322 ----
  d13d2ed4fcdd1cfd0d65b89c9308ee8b  gcc/testsuite/g++.dg/template/friend31.C
  1a310350de7fdb99dfff79d55a46d325  gcc/testsuite/g++.dg/template/friend32.C
  ed2b58353effe4479fb3ba174d53040c  gcc/testsuite/g++.dg/template/friend33.C
+ 861190a2944f470305adf84080e394bd  gcc/testsuite/g++.dg/template/friend34.C
+ e1e2f22ab1205ab9d092f2b388d3e071  gcc/testsuite/g++.dg/template/friend35.C
  4a3d535a6673c42778883751bb5d71cd  gcc/testsuite/g++.dg/template/friend36.C
+ 19ae206b65ef32c57066f4c9d603d478  gcc/testsuite/g++.dg/template/friend37.C
+ 9c94dec5b4c21f6f788aa68c4cbf6ae7  gcc/testsuite/g++.dg/template/friend38.C
+ cd6ce0696ef298db39c645f06d6053d9  gcc/testsuite/g++.dg/template/friend39.C
  56e71f86759e703664c2ed50998932fd  gcc/testsuite/g++.dg/template/friend4.C
+ e91add4174f6722fc0ed3c0bbd420d70  gcc/testsuite/g++.dg/template/friend40.C
  c9137614e9385e52c606c2d6e976e585  gcc/testsuite/g++.dg/template/friend5.C
  d16da0e6f160e02bc23c4d98080f1644  gcc/testsuite/g++.dg/template/friend6.C
  1d4f923241bfe8578940f39c34f80d7c  gcc/testsuite/g++.dg/template/friend7.C
*************** ceb858e95982ac0af2e9168f31aea229  gcc/te
*** 9632,9638 ****
  96a3d94189ae209bcff5f2f75bc7ca6d  gcc/testsuite/g++.dg/template/friend9.C
  d5d24fc94d133229a10c5b13f44c253b  gcc/testsuite/g++.dg/template/func1.C
  43017cf348a37638085196f74ac68fe3  gcc/testsuite/g++.dg/template/incomplete1.C
! 39b2eb7bc0411ced0e2b3d32a933c34c  gcc/testsuite/g++.dg/template/inherit.C
  13bd5309700c34e9e01c5bd7fd620d7b  gcc/testsuite/g++.dg/template/inherit2.C
  1c9360dccd50f544e413d4c00432d88e  gcc/testsuite/g++.dg/template/inherit3.C
  9783cba5cd0e48e50ecc5c42ed1dd282  gcc/testsuite/g++.dg/template/init-list.C
--- 8324,8330 ----
  96a3d94189ae209bcff5f2f75bc7ca6d  gcc/testsuite/g++.dg/template/friend9.C
  d5d24fc94d133229a10c5b13f44c253b  gcc/testsuite/g++.dg/template/func1.C
  43017cf348a37638085196f74ac68fe3  gcc/testsuite/g++.dg/template/incomplete1.C
! 0ce7717b93949f5490ac817b51482e8a  gcc/testsuite/g++.dg/template/inherit.C
  13bd5309700c34e9e01c5bd7fd620d7b  gcc/testsuite/g++.dg/template/inherit2.C
  1c9360dccd50f544e413d4c00432d88e  gcc/testsuite/g++.dg/template/inherit3.C
  9783cba5cd0e48e50ecc5c42ed1dd282  gcc/testsuite/g++.dg/template/init-list.C
*************** f30fe425de51d4cb2ab5ff05b71d616a  gcc/te
*** 9641,9646 ****
--- 8333,8339 ----
  64314d0aa5b3600547adc69b42ab8e3c  gcc/testsuite/g++.dg/template/init3.C
  e920cba477d63f2866ea0710ce55a2ce  gcc/testsuite/g++.dg/template/init4.C
  ca8434716aafffaf7e37a7ea8e094cc5  gcc/testsuite/g++.dg/template/init5.C
+ 65a281c41b82251552faaf8359766e91  gcc/testsuite/g++.dg/template/init6.C
  2d167e5f0ea8c84539b7c56039fb2785  gcc/testsuite/g++.dg/template/inline1.C
  5c4068d934fb1e5d161851d00744bfc8  gcc/testsuite/g++.dg/template/instantiate1.C
  88e1ec74b340410f99e5bf69122404bd  gcc/testsuite/g++.dg/template/instantiate2.C
*************** ca8434716aafffaf7e37a7ea8e094cc5  gcc/te
*** 9648,9653 ****
--- 8341,8347 ----
  7d69f16e359b40571c6da6dde60dde8d  gcc/testsuite/g++.dg/template/instantiate4.C
  9c3723fb899f725987c18cd77571a105  gcc/testsuite/g++.dg/template/instantiate5.C
  1b065aa49cdac44198ed227ed0da9cb5  gcc/testsuite/g++.dg/template/instantiate6.C
+ c6247c324b0e24be4bc4745edb014a02  gcc/testsuite/g++.dg/template/instantiate7.C
  042508c0cf07d253053b9e66234c16c5  gcc/testsuite/g++.dg/template/instantiate8.C
  ca15724a75c249b0fc3b99b81ab59cf9  gcc/testsuite/g++.dg/template/invalid1.C
  6dfc1674746db8a02b5504e177f5aca0  gcc/testsuite/g++.dg/template/koenig1.C
*************** b7860e67547fa0e658cae5b27a73d61b  gcc/te
*** 9659,9664 ****
--- 8353,8360 ----
  d32b0f4cfabbf7cf6a3f55db155096d2  gcc/testsuite/g++.dg/template/local2.C
  e254df20b082728d0e04a8e1b3b18557  gcc/testsuite/g++.dg/template/local3.C
  2f2d0e45d76b00761833641d3df47beb  gcc/testsuite/g++.dg/template/local4.C
+ cdb30bf1f7ce096f5aff97aa15fa35ce  gcc/testsuite/g++.dg/template/local5.C
+ 811419dab3e93025ef7b9398f8f63c37  gcc/testsuite/g++.dg/template/local6.C
  858241029bc9c5f2b0eb96ca1ff057a8  gcc/testsuite/g++.dg/template/lookup1.C
  ef4080e7e34db3ddfd9daab5b8f9e3a3  gcc/testsuite/g++.dg/template/lookup2.C
  0287287b4b02081228b1429a9526248d  gcc/testsuite/g++.dg/template/lookup3.C
*************** da1df58fc40e198de8f0c5d88494d89e  gcc/te
*** 9707,9712 ****
--- 8403,8409 ----
  ac32a3394ac7dad60204cd2cccb6ba46  gcc/testsuite/g++.dg/template/non-dependent10.C
  6f26c028ea69c4705c77b4a0544f848d  gcc/testsuite/g++.dg/template/non-dependent11.C
  c68de3013fc66d5b9ca387b1f0f294ad  gcc/testsuite/g++.dg/template/non-dependent12.C
+ 40b38a3d73d53481f9e1570a38ed4eab  gcc/testsuite/g++.dg/template/non-dependent13.C
  3ce6c8331c1ddbc56b2c89ca07992343  gcc/testsuite/g++.dg/template/non-dependent2.C
  9c0fc4f566e5de8ff0339df3c3ef274d  gcc/testsuite/g++.dg/template/non-dependent3.C
  98272395e5eb6376be03fdae5b69bac7  gcc/testsuite/g++.dg/template/non-dependent4.C
*************** c68d85d18e13eca7b98c51e07b278cf0  gcc/te
*** 9720,9727 ****
--- 8417,8426 ----
  0841e0681f53f5792b711984e991f3a8  gcc/testsuite/g++.dg/template/nontype1.C
  c2cc8082649ad5953b27efb310d1929e  gcc/testsuite/g++.dg/template/nontype10.C
  9ba9723e8601b19208ac3f8350ee6695  gcc/testsuite/g++.dg/template/nontype11.C
+ 164b0ed78b43bd91b87660902787d93d  gcc/testsuite/g++.dg/template/nontype12.C
  96f008a9ddd6fd0eb28292983cc65d64  gcc/testsuite/g++.dg/template/nontype13.C
  937af4e6ac2cefe2dff1503c7819130f  gcc/testsuite/g++.dg/template/nontype14.C
+ e4e6038ded9c7ed667109894758cea89  gcc/testsuite/g++.dg/template/nontype15.C
  00bcc57cb7d33b0250bf5efd8de34dbf  gcc/testsuite/g++.dg/template/nontype2.C
  d6f9c639ea162b5b3e91a6a5d10175bf  gcc/testsuite/g++.dg/template/nontype3.C
  f725d274103ab74a7c16aa6087ab401f  gcc/testsuite/g++.dg/template/nontype4.C
*************** b690784559e05afd43e95b8cf36b03eb  gcc/te
*** 9743,9753 ****
--- 8442,8457 ----
  55cb3ca88be88700e7e00981ae5c08c6  gcc/testsuite/g++.dg/template/overload2.C
  98ebf130b836485f9a7ceae171151be5  gcc/testsuite/g++.dg/template/overload3.C
  7d2609e7f82311b3100345f65467e041  gcc/testsuite/g++.dg/template/overload4.C
+ 71fab915b19ad597865cbe790d6ee455  gcc/testsuite/g++.dg/template/overload5.C
+ f36e9e857e1106ca9429859cd4bb22f0  gcc/testsuite/g++.dg/template/overload6.C
+ d98c22f6d2dfeb8d0131c9e0467d2655  gcc/testsuite/g++.dg/template/overload7.C
+ cb3fd3ad47dd95cf7f0463be80d0a9b3  gcc/testsuite/g++.dg/template/overload8.C
  c0cfbde9ee0e8aa2f87970485b568e4d  gcc/testsuite/g++.dg/template/param1.C
  e187a317d102d915368fe357726202ba  gcc/testsuite/g++.dg/template/partial-specialization.C
  bb04475dfd1abb6699b6daee337bc7ef  gcc/testsuite/g++.dg/template/partial1.C
  e2ea27f4d30c89986de472da016881a2  gcc/testsuite/g++.dg/template/partial2.C
  629ba41b72a6f4a573aa2b2fc66bf5c8  gcc/testsuite/g++.dg/template/partial3.C
+ dbd288590e967c40dee79909821124df  gcc/testsuite/g++.dg/template/partial4.C
  04907f98f8eab7c64ced6646f5140346  gcc/testsuite/g++.dg/template/pretty1.C
  30d2a35742944aa3c421d0b6d2b41781  gcc/testsuite/g++.dg/template/ptrmem1.C
  aa534276e0095c6eef1fe985651eee58  gcc/testsuite/g++.dg/template/ptrmem10.C
*************** aa534276e0095c6eef1fe985651eee58  gcc/te
*** 9755,9763 ****
  adf178bf638c6b871c4bd9abf0c44c53  gcc/testsuite/g++.dg/template/ptrmem12.C
  97ddc530a1bd61b06c131cfdf61adbec  gcc/testsuite/g++.dg/template/ptrmem13.C
  372af7481dbb814fd59792b6160a671e  gcc/testsuite/g++.dg/template/ptrmem14.C
  84010e00560365f022f7d4c351fe97bf  gcc/testsuite/g++.dg/template/ptrmem2.C
  171d82f45a76129388539c01e3212ec9  gcc/testsuite/g++.dg/template/ptrmem3.C
! 8e305818c46514392ab9d92800a99d43  gcc/testsuite/g++.dg/template/ptrmem4.C
  c1d71028a4f69f5c3fcfd2fd8a35f919  gcc/testsuite/g++.dg/template/ptrmem5.C
  5b6c44db5254307468bb7a0e6036d363  gcc/testsuite/g++.dg/template/ptrmem6.C
  71bf635a4274ef3549d8487b25847e94  gcc/testsuite/g++.dg/template/ptrmem7.C
--- 8459,8469 ----
  adf178bf638c6b871c4bd9abf0c44c53  gcc/testsuite/g++.dg/template/ptrmem12.C
  97ddc530a1bd61b06c131cfdf61adbec  gcc/testsuite/g++.dg/template/ptrmem13.C
  372af7481dbb814fd59792b6160a671e  gcc/testsuite/g++.dg/template/ptrmem14.C
+ 4a1e49f69421e61233f6a0f331553ac7  gcc/testsuite/g++.dg/template/ptrmem15.C
+ 252bc8c4be685d16c988bdc9ea5f5db2  gcc/testsuite/g++.dg/template/ptrmem16.C
  84010e00560365f022f7d4c351fe97bf  gcc/testsuite/g++.dg/template/ptrmem2.C
  171d82f45a76129388539c01e3212ec9  gcc/testsuite/g++.dg/template/ptrmem3.C
! 64a40bafe8e3e436f74376783245ebb5  gcc/testsuite/g++.dg/template/ptrmem4.C
  c1d71028a4f69f5c3fcfd2fd8a35f919  gcc/testsuite/g++.dg/template/ptrmem5.C
  5b6c44db5254307468bb7a0e6036d363  gcc/testsuite/g++.dg/template/ptrmem6.C
  71bf635a4274ef3549d8487b25847e94  gcc/testsuite/g++.dg/template/ptrmem7.C
*************** c7309345696ac164222361961daab266  gcc/te
*** 9795,9809 ****
  49436cd5609a16d69d797b84c7f00598  gcc/testsuite/g++.dg/template/redecl3.C
  a4b5b3bea62fbee6f7491ea4badfcb0f  gcc/testsuite/g++.dg/template/ref1.C
  a02f5612e9219b8cd807bc11c6baa86d  gcc/testsuite/g++.dg/template/ref2.C
! f2fb23ea35e703f79d1cdc054ab2ef86  gcc/testsuite/g++.dg/template/repo1.C
! 0348e555574e141fa224197155f08d82  gcc/testsuite/g++.dg/template/repo2.C
! 18bb2e4cfdaa8860e7df2a542f962368  gcc/testsuite/g++.dg/template/repo3.C
  9e9322d04add76d1f767de02d143704b  gcc/testsuite/g++.dg/template/restrict1.C
  b8b893e1844c502297d1e4e9591779ef  gcc/testsuite/g++.dg/template/scope1.C
  e98caaa9887061e13fd115d5af2dd146  gcc/testsuite/g++.dg/template/scope2.C
  d4a6fe33f1456d026d068d25f316aa9c  gcc/testsuite/g++.dg/template/sfinae1.C
  664c8966195d497d2e6f6f799ee60274  gcc/testsuite/g++.dg/template/shift1.C
  8af3d67f6d9f4dd6cda097137e1aaa5e  gcc/testsuite/g++.dg/template/sizeof1.C
  6ebf0c32bb2f9f68d5de8a2eb380e74b  gcc/testsuite/g++.dg/template/sizeof2.C
  f459df99e9efaf925b83daefe81c3127  gcc/testsuite/g++.dg/template/sizeof3.C
  70e0faea5b000e5fbde589a89ad950bd  gcc/testsuite/g++.dg/template/sizeof4.C
--- 8501,8520 ----
  49436cd5609a16d69d797b84c7f00598  gcc/testsuite/g++.dg/template/redecl3.C
  a4b5b3bea62fbee6f7491ea4badfcb0f  gcc/testsuite/g++.dg/template/ref1.C
  a02f5612e9219b8cd807bc11c6baa86d  gcc/testsuite/g++.dg/template/ref2.C
! b7db630a77736ba1a227cffff6b4b362  gcc/testsuite/g++.dg/template/repo1.C
! d1d78360a4fee035f87a8d892f86071e  gcc/testsuite/g++.dg/template/repo2.C
! ee064e83f95f5da1f1f12debc461050a  gcc/testsuite/g++.dg/template/repo3.C
! 315a8c8257209479c20dce66a87f2462  gcc/testsuite/g++.dg/template/repo4.C
! 04f85d433dad1abcef6a36ea37d68bc1  gcc/testsuite/g++.dg/template/repo5.C
  9e9322d04add76d1f767de02d143704b  gcc/testsuite/g++.dg/template/restrict1.C
  b8b893e1844c502297d1e4e9591779ef  gcc/testsuite/g++.dg/template/scope1.C
  e98caaa9887061e13fd115d5af2dd146  gcc/testsuite/g++.dg/template/scope2.C
  d4a6fe33f1456d026d068d25f316aa9c  gcc/testsuite/g++.dg/template/sfinae1.C
+ c49f3a4b9653daf3e8eaa17ba7b488de  gcc/testsuite/g++.dg/template/sfinae2.C
+ a4d4b275eefb1f975b325e2b72027dc7  gcc/testsuite/g++.dg/template/sfinae3.C
  664c8966195d497d2e6f6f799ee60274  gcc/testsuite/g++.dg/template/shift1.C
  8af3d67f6d9f4dd6cda097137e1aaa5e  gcc/testsuite/g++.dg/template/sizeof1.C
+ c3dde08186236701373c41bd64c9338e  gcc/testsuite/g++.dg/template/sizeof10.C
  6ebf0c32bb2f9f68d5de8a2eb380e74b  gcc/testsuite/g++.dg/template/sizeof2.C
  f459df99e9efaf925b83daefe81c3127  gcc/testsuite/g++.dg/template/sizeof3.C
  70e0faea5b000e5fbde589a89ad950bd  gcc/testsuite/g++.dg/template/sizeof4.C
*************** f9db6cb49e2fa6c6968fe9e4a6f2a111  gcc/te
*** 9826,9834 ****
  1133f61b139dcbae6d0d62799d821c00  gcc/testsuite/g++.dg/template/spec2.C
  ed4d5e577ced48d91b3a5054ba58d4c5  gcc/testsuite/g++.dg/template/spec20.C
  b03d3fac8b47ebc0e95fe00fc6b76bb1  gcc/testsuite/g++.dg/template/spec21.C
! 17abbf28c411e04cd6b44f9997a622e8  gcc/testsuite/g++.dg/template/spec22.C
  24c40f0468af4dc060e0a37a4ce600b6  gcc/testsuite/g++.dg/template/spec23.C
  756d8965e92fbeb951248f1d353ce9a9  gcc/testsuite/g++.dg/template/spec24.C
  f5581de159c7b5592926840478d5c5fb  gcc/testsuite/g++.dg/template/spec3.C
  2a1077a58e27e49e8f92e9122c330685  gcc/testsuite/g++.dg/template/spec4.C
  ac4700345bbf0d5aafda66965305864b  gcc/testsuite/g++.dg/template/spec5.C
--- 8537,8550 ----
  1133f61b139dcbae6d0d62799d821c00  gcc/testsuite/g++.dg/template/spec2.C
  ed4d5e577ced48d91b3a5054ba58d4c5  gcc/testsuite/g++.dg/template/spec20.C
  b03d3fac8b47ebc0e95fe00fc6b76bb1  gcc/testsuite/g++.dg/template/spec21.C
! 4a6c867ab78a1d0c7203cf4f1565c68a  gcc/testsuite/g++.dg/template/spec22.C
  24c40f0468af4dc060e0a37a4ce600b6  gcc/testsuite/g++.dg/template/spec23.C
  756d8965e92fbeb951248f1d353ce9a9  gcc/testsuite/g++.dg/template/spec24.C
+ 5858bf93d5d479c31bf4e3cc414cd2ff  gcc/testsuite/g++.dg/template/spec25.C
+ db213be2f1542903882424960efec00b  gcc/testsuite/g++.dg/template/spec26.C
+ 5549dda851b53530395009f544d09652  gcc/testsuite/g++.dg/template/spec27.C
+ d7344703a351e2d4d50cf9f8383b2013  gcc/testsuite/g++.dg/template/spec28.C
+ 9b290630d01c434872c1ed3db6067a4f  gcc/testsuite/g++.dg/template/spec29.C
  f5581de159c7b5592926840478d5c5fb  gcc/testsuite/g++.dg/template/spec3.C
  2a1077a58e27e49e8f92e9122c330685  gcc/testsuite/g++.dg/template/spec4.C
  ac4700345bbf0d5aafda66965305864b  gcc/testsuite/g++.dg/template/spec5.C
*************** ff5a3d46b4c279a829a0b1e0eb4acdac  gcc/te
*** 9846,9852 ****
--- 8562,8575 ----
  ad55298cbb7ecb4c0c032a17f174564f  gcc/testsuite/g++.dg/template/static16.C
  a65d6e5ddc2f69a204f701eb15bc324b  gcc/testsuite/g++.dg/template/static17.C
  edf490d7a540447062e06ed56692070f  gcc/testsuite/g++.dg/template/static18.C
+ 0cac9c7a335a2eb97f02d3b04f03aa6a  gcc/testsuite/g++.dg/template/static19.C
  aa3092ca5ce677694305032fa51a9486  gcc/testsuite/g++.dg/template/static2.C
+ a86e0443f116a5ab2c8f6e11d42e7473  gcc/testsuite/g++.dg/template/static20.C
+ 39f6a969fe4aed46409bae32ec2737ba  gcc/testsuite/g++.dg/template/static21-a.cc
+ 2f60676fe6640df70e647dc7565eebca  gcc/testsuite/g++.dg/template/static21.C
+ bae55093a55e080f11929eea52536a38  gcc/testsuite/g++.dg/template/static22.C
+ 55ffcdd6cb9d31737ce21132239b5d71  gcc/testsuite/g++.dg/template/static23.C
+ 50003a8a22751483a8181b5d2eebb900  gcc/testsuite/g++.dg/template/static24.C
  7df73f11db0cd12460178945538e192f  gcc/testsuite/g++.dg/template/static3.C
  aff424d9ff8963c8d5348142b8c5e169  gcc/testsuite/g++.dg/template/static4.C
  e5538275a590133055e80d957d76fab1  gcc/testsuite/g++.dg/template/static5.C
*************** d7a01e97d99f1b74700f8e173b381e7e  gcc/te
*** 9877,9882 ****
--- 8600,8606 ----
  7bd261d29e895f70198d2995a62cbd35  gcc/testsuite/g++.dg/template/type2.C
  3c8d3538984363bd4ff0ecceec6b5f59  gcc/testsuite/g++.dg/template/typedef1.C
  9dbc8ad1aa7e6168259b0bedccb56f11  gcc/testsuite/g++.dg/template/typedef2.C
+ ccd975f84b8531606ff90ff87ff98010  gcc/testsuite/g++.dg/template/typedef3.C
  5608e09eb5e126cbf511d7b99a577ef4  gcc/testsuite/g++.dg/template/typename1.C
  6f0e8ab81674c7673d0604ed5e32996d  gcc/testsuite/g++.dg/template/typename2.C
  baaa577db3fc32c6dd18e8cfa76705eb  gcc/testsuite/g++.dg/template/typename3.C
*************** d04f9d4f8d36c0325245fb8a7df506ad  gcc/te
*** 9898,9903 ****
--- 8622,8629 ----
  1867b7471bb6b624bf0ce243348a15f3  gcc/testsuite/g++.dg/template/unify9.C
  b60b7ba97d84900a03ad818e8de4f60d  gcc/testsuite/g++.dg/template/union1.C
  36bc33b0a7d4f4c6efc1f83c1b6bf13b  gcc/testsuite/g++.dg/template/using1.C
+ 943abc979a64f6701f0ff51d172a78bb  gcc/testsuite/g++.dg/template/using10.C
+ a3ac6b8050e3adf5b98b0e28e64070fc  gcc/testsuite/g++.dg/template/using11.C
  55214e40da67d419f3d996bfa53f0404  gcc/testsuite/g++.dg/template/using2.C
  2131f7be9d523457118116995b368d74  gcc/testsuite/g++.dg/template/using3.C
  cd698ebd98a80f55920d17ae629b4d9b  gcc/testsuite/g++.dg/template/using4.C
*************** dbaee67864534e72930b87dcda9ce27c  gcc/te
*** 9911,9950 ****
  d55a534d0d8361d48d4f9895d5fb658a  gcc/testsuite/g++.dg/template/vtable2.C
  5b9020bf992482a36833bb577ebb8d40  gcc/testsuite/g++.dg/template/warn1.C
  577a7a4f76f06bf7384ad303d275f983  gcc/testsuite/g++.dg/template/wrap1.C
! 997487fdaa8d8f97009b2d9f2e2f3766  gcc/testsuite/g++.dg/tls/diag-1.C
! 767d30bd377e77a85a0719bbac884ecf  gcc/testsuite/g++.dg/tls/diag-2.C
! decd08e1eee840e8ad1abce9adf7f1ca  gcc/testsuite/g++.dg/tls/init-1.C
! adee194bbb7c00dd5f4aa91a5de8cced  gcc/testsuite/g++.dg/tls/init-2.C
! cadaf35c6f73680cbe360243df988817  gcc/testsuite/g++.dg/tls/tls.exp
! d0ff7b21e6cafbaa5dd1684c5d898a19  gcc/testsuite/g++.dg/tls/trivial.C
  2a1f9c8b1ccb241e4745f1e06c56fac3  gcc/testsuite/g++.dg/tree-ssa/20040317-1.C
  92014ea122d687546fe3649560d8b2a7  gcc/testsuite/g++.dg/tree-ssa/builtin1.C
! 7a59e09c4cb65bda7874f5d6af01a6f5  gcc/testsuite/g++.dg/tree-ssa/empty-1.C
! c9b744ac0d048c2d0eedbb567ad42de1  gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C
! 2cc5b993a18aedb63c1af65362b05eaf  gcc/testsuite/g++.dg/tree-ssa/pointer-reference-alias.C
  62600822d88828e393d9efe9f65e0fb1  gcc/testsuite/g++.dg/tree-ssa/pr15791-1.C
  44258efc32e7a0390a4fd5cba4148adc  gcc/testsuite/g++.dg/tree-ssa/pr15791-2.C
! bb6527f80ae839bc430bdf7cb401919b  gcc/testsuite/g++.dg/tree-ssa/pr15791-3.C
! 921073cd26891c83517e9c9da29056bc  gcc/testsuite/g++.dg/tree-ssa/pr15791-4.C
! 7e96b720e93166ec35d98feb54ea6edf  gcc/testsuite/g++.dg/tree-ssa/pr15791-5.C
  890d09382f8bad07b069d8f8fe14035c  gcc/testsuite/g++.dg/tree-ssa/pr16688.C
  c04d507a2753246aa9671b4cac28ff58  gcc/testsuite/g++.dg/tree-ssa/pr17153.C
  84bb302e221d8cd2317c6c09441d615f  gcc/testsuite/g++.dg/tree-ssa/pr17400.C
  3f50ad6afe1400d17f21f8b61d4be1a6  gcc/testsuite/g++.dg/tree-ssa/pr17517.C
  a425019d3ee630ab12baac6d527c530b  gcc/testsuite/g++.dg/tree-ssa/pr19786.C
  36bc4e744d6fb50060ca8b029be1905c  gcc/testsuite/g++.dg/tree-ssa/pr19952.C
  a9d7f4347bccd1e6029d7c844680a5b4  gcc/testsuite/g++.dg/tree-ssa/pr20280.C
! f5470d08f139172f4d55734f425bd57a  gcc/testsuite/g++.dg/tree-ssa/pr23326.C
  31fb06e70a65b02820509d29892e2f1c  gcc/testsuite/g++.dg/tree-ssa/pr23624.C
! 1c2e6372797b8ba65c8d70fe291f9223  gcc/testsuite/g++.dg/tree-ssa/ssa-cast-1.C
! e06398b5e02c23f0996d17408410239f  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-1.C
! cc50d69b6951c5de8935700b7b67a11e  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-2.C
! 1b493dbcf5783f5a71a5837748ccfb5b  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-3.C
  0fb08fd6d187247ae5872931e884061c  gcc/testsuite/g++.dg/tree-ssa/tmmti.C
! 701a0deaca8b82f35e40eb7d32cd3564  gcc/testsuite/g++.dg/vect/pr19951.cc
! 4c9cd65dd9660841bb75b56105b4bcfd  gcc/testsuite/g++.dg/vect/vect.exp
  d489a76c7b7ab5b0e165f2342a4e6974  gcc/testsuite/g++.dg/warn/Wbraces1.C
! b6f440088bcb927d61a2c0ed73f71874  gcc/testsuite/g++.dg/warn/Wbraces2.C
  ee0b4d9e331b2ed8b1a730e066fc0084  gcc/testsuite/g++.dg/warn/Wdtor1.C
  6cbb434563bf5c0247156042fe84718d  gcc/testsuite/g++.dg/warn/Weff1.C
  99a0635e430cefd28c2908b5aaf4a487  gcc/testsuite/g++.dg/warn/Winline-1.C
--- 8637,8720 ----
  d55a534d0d8361d48d4f9895d5fb658a  gcc/testsuite/g++.dg/template/vtable2.C
  5b9020bf992482a36833bb577ebb8d40  gcc/testsuite/g++.dg/template/warn1.C
  577a7a4f76f06bf7384ad303d275f983  gcc/testsuite/g++.dg/template/wrap1.C
! ee5c01dd5d6ee9acf4d49c9a5a3191d0  gcc/testsuite/g++.dg/tls/diag-1.C
! 4948a33b82ca0e463d82c31ddb433ab5  gcc/testsuite/g++.dg/tls/diag-2.C
! d3a77f5144c1b5d84ba01e8256e86cb1  gcc/testsuite/g++.dg/tls/diag-3.C
! 4e06600fe3c3221508c0f68b6530faa0  gcc/testsuite/g++.dg/tls/diag-4.C
! e425d7fc584cf8535f3eee565f58f091  gcc/testsuite/g++.dg/tls/init-1.C
! 10343268e6f7694e905f1a28375376a7  gcc/testsuite/g++.dg/tls/init-2.C
! 84c76b88ad16723ab27c7325dfdd8cec  gcc/testsuite/g++.dg/tls/static-1.C
! 9c4f94269e44af733b38aa6c30b5ad55  gcc/testsuite/g++.dg/tls/static-1a.cc
! 9f5ae56fdbc3caa17a016bde9dff887c  gcc/testsuite/g++.dg/tls/tls.exp
! 7212556766805451a098e554a8ab648e  gcc/testsuite/g++.dg/tls/trivial.C
  2a1f9c8b1ccb241e4745f1e06c56fac3  gcc/testsuite/g++.dg/tree-ssa/20040317-1.C
+ d4c530769d43a1d750e74fd5f10a662c  gcc/testsuite/g++.dg/tree-ssa/block1.C
  92014ea122d687546fe3649560d8b2a7  gcc/testsuite/g++.dg/tree-ssa/builtin1.C
! ebffc2389dbbf739ae120d2beb15bf62  gcc/testsuite/g++.dg/tree-ssa/empty-1.C
! f79c43507fa4aca8a95c87d32e47ccc2  gcc/testsuite/g++.dg/tree-ssa/nothrow-1.C
! 15d04de90caeaa58c0619fc32a87753c  gcc/testsuite/g++.dg/tree-ssa/pointer-reference-alias.C
! cee0f6aedb0852289281017152dc79ac  gcc/testsuite/g++.dg/tree-ssa/pr14814.C
  62600822d88828e393d9efe9f65e0fb1  gcc/testsuite/g++.dg/tree-ssa/pr15791-1.C
  44258efc32e7a0390a4fd5cba4148adc  gcc/testsuite/g++.dg/tree-ssa/pr15791-2.C
! 60208923fa136080caefbbee2e86be67  gcc/testsuite/g++.dg/tree-ssa/pr15791-3.C
! 0f59bb1d8a1193143a12e70d489de8a4  gcc/testsuite/g++.dg/tree-ssa/pr15791-4.C
! 5c84d01e2380defec463c6de4c81154b  gcc/testsuite/g++.dg/tree-ssa/pr15791-5.C
  890d09382f8bad07b069d8f8fe14035c  gcc/testsuite/g++.dg/tree-ssa/pr16688.C
  c04d507a2753246aa9671b4cac28ff58  gcc/testsuite/g++.dg/tree-ssa/pr17153.C
  84bb302e221d8cd2317c6c09441d615f  gcc/testsuite/g++.dg/tree-ssa/pr17400.C
  3f50ad6afe1400d17f21f8b61d4be1a6  gcc/testsuite/g++.dg/tree-ssa/pr17517.C
+ df0bb29cdd9c7bad07a6804c1f44405a  gcc/testsuite/g++.dg/tree-ssa/pr18178.C
  a425019d3ee630ab12baac6d527c530b  gcc/testsuite/g++.dg/tree-ssa/pr19786.C
+ 5026ea81fd7c6d4a28e8594b02f6fc28  gcc/testsuite/g++.dg/tree-ssa/pr19807.C
  36bc4e744d6fb50060ca8b029be1905c  gcc/testsuite/g++.dg/tree-ssa/pr19952.C
  a9d7f4347bccd1e6029d7c844680a5b4  gcc/testsuite/g++.dg/tree-ssa/pr20280.C
! 41846b62265c3bb2f5a736155a172f33  gcc/testsuite/g++.dg/tree-ssa/pr20458.C
! ebc744114f159114473ef7dfa2b07535  gcc/testsuite/g++.dg/tree-ssa/pr20489.C
! 40a4cb93d3e506b171fb153b32fdf949  gcc/testsuite/g++.dg/tree-ssa/pr20920.C
! c6f234d3623212f40d78fad6b87310ad  gcc/testsuite/g++.dg/tree-ssa/pr20963.C
! 673bc301b388d9cd8aaf06822d6b1d5c  gcc/testsuite/g++.dg/tree-ssa/pr21082.C
! 7c5af5a290f14644ca5fe31305ee5394  gcc/testsuite/g++.dg/tree-ssa/pr21407.C
! d8a7cc9480a3e66c4aed7e081ba0ef0c  gcc/testsuite/g++.dg/tree-ssa/pr21584-1.C
! 16cd9f13bcca36b74595d6ecd557a25a  gcc/testsuite/g++.dg/tree-ssa/pr21584-2.C
! 01366956240506c80efe61a02b2126bb  gcc/testsuite/g++.dg/tree-ssa/pr22005.C
! aa931156abafd21884e323d601aa367f  gcc/testsuite/g++.dg/tree-ssa/pr22037.C
! 941b942a95d741f6184e06a6436ab545  gcc/testsuite/g++.dg/tree-ssa/pr22071.C
! 7c4b92ce09c59b2004e7746f2b1bd386  gcc/testsuite/g++.dg/tree-ssa/pr22279.C
! 1ea79bad3adcdf5685946133e3c5e95f  gcc/testsuite/g++.dg/tree-ssa/pr22404.C
! 72605d9a823e5b13889dd70bfff33d6b  gcc/testsuite/g++.dg/tree-ssa/pr22444.C
! 48e06b851bf1784a8edda8606ba10d99  gcc/testsuite/g++.dg/tree-ssa/pr22488.C
! 65be1fbed029e9a8dc4952880c85496f  gcc/testsuite/g++.dg/tree-ssa/pr22550.C
! 8757b801b93bd7b27358f98ca8bc55b2  gcc/testsuite/g++.dg/tree-ssa/pr22615.C
! 73a20ce04e160fe0b32687e6154f256b  gcc/testsuite/g++.dg/tree-ssa/pr23046.C
! f9e0ba5e946f02655fec1329bedd4078  gcc/testsuite/g++.dg/tree-ssa/pr23164.C
  31fb06e70a65b02820509d29892e2f1c  gcc/testsuite/g++.dg/tree-ssa/pr23624.C
! 2943090c17900350d5466b1ecb1f011f  gcc/testsuite/g++.dg/tree-ssa/pr23948.C
! cb28ea9929b05e6b833bd19e04d97d9c  gcc/testsuite/g++.dg/tree-ssa/pr24172.C
! 44148757e03cea49e851edb978cc91a5  gcc/testsuite/g++.dg/tree-ssa/pr24231-1.C
! fc23f194bae9c81c5e59ce474597bd1c  gcc/testsuite/g++.dg/tree-ssa/pr24231-2.C
! 673c806c4a52af61e84671cf0de44ae3  gcc/testsuite/g++.dg/tree-ssa/pr24231-3.C
! 2c3a0f58b5c4d9910b46c690b81523e9  gcc/testsuite/g++.dg/tree-ssa/pr24238.C
! c7d08277c75dad45e79a0f43ab257c4c  gcc/testsuite/g++.dg/tree-ssa/pr24351-1.C
! 35351f51c829a8c2ba2180c169d060d1  gcc/testsuite/g++.dg/tree-ssa/pr24351-2.C
! 374559cef47a384e5add68ead511bef5  gcc/testsuite/g++.dg/tree-ssa/pr24351-3.C
! 9a08ef02da783cd1df3302f368440d82  gcc/testsuite/g++.dg/tree-ssa/pr24439.C
! 3200a8b9fd991c3c4efaf888c6e01504  gcc/testsuite/g++.dg/tree-ssa/ssa-cast-1.C
! f104b5046f05371e747dace4b28533b7  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-1.C
! 5473bf41dbc64129da5a98925de50e23  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-2.C
! 3fc97853b7f5a33a82d43b9c8b97e80a  gcc/testsuite/g++.dg/tree-ssa/ssa-sra-3.C
! 9b6e6dbe68b0fd2ae392b531394f6c38  gcc/testsuite/g++.dg/tree-ssa/tmmti-2.C
  0fb08fd6d187247ae5872931e884061c  gcc/testsuite/g++.dg/tree-ssa/tmmti.C
! e385e7daff21be2b3748b5670c0e91d2  gcc/testsuite/g++.dg/vect/pr19951.cc
! a2ce7a45509f9685ee0564ed53797e3c  gcc/testsuite/g++.dg/vect/pr21218.cc
! 2f50b376bac2dc8361616c89d213d848  gcc/testsuite/g++.dg/vect/pr21734_1.cc
! 745c5d35ba5d7ecdea2bef9d71dd24c0  gcc/testsuite/g++.dg/vect/pr21734_2.cc
! c097940153910da17009f575390760f4  gcc/testsuite/g++.dg/vect/pr22543.cc
! 346b05bd82433b46da0ce398f33b2598  gcc/testsuite/g++.dg/vect/vect.exp
  d489a76c7b7ab5b0e165f2342a4e6974  gcc/testsuite/g++.dg/warn/Wbraces1.C
! c2debf54ffb3d60acfddad10573c458f  gcc/testsuite/g++.dg/warn/Wbraces2.C
! 3667162d7aa037ab6197e7d3ffea1a6c  gcc/testsuite/g++.dg/warn/Wcast-qual1.C
! 3fceffb801268c5d94b55c7ffe503377  gcc/testsuite/g++.dg/warn/Wconversion1.C
! 2d2da24222711602624d6870a966c8b0  gcc/testsuite/g++.dg/warn/Wctor-dtor.C
  ee0b4d9e331b2ed8b1a730e066fc0084  gcc/testsuite/g++.dg/warn/Wdtor1.C
  6cbb434563bf5c0247156042fe84718d  gcc/testsuite/g++.dg/warn/Weff1.C
  99a0635e430cefd28c2908b5aaf4a487  gcc/testsuite/g++.dg/warn/Winline-1.C
*************** d0e225992bc2f0e5e2e51d846e21a8b4  gcc/te
*** 9969,9980 ****
--- 8739,8761 ----
  6a6527871d476c4275232fa53d041994  gcc/testsuite/g++.dg/warn/Wshadow-2.C
  c6d10f027652eb4c20869c7eaeebb358  gcc/testsuite/g++.dg/warn/Wshadow-3.C
  2247cfbc59da044c90471731c49fe14d  gcc/testsuite/g++.dg/warn/Wsign-compare-1.C
+ 44dc4b5572b60846a2322e12b0510783  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-1.C
+ 414da1b51217d31e1c2f4c076e8fe650  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-2.C
+ d38f2baba123fd53fd6d8366b82adf54  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-3.C
+ 018ddc3284f5451940a479a4b278702c  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-4.C
+ f203af23e924be80d891b0c53a7bee3e  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-5.C
+ c92cdb0aebb5d139da6039eb73219857  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-6.C
+ 3bed4d82e24bcdb77b538920a6cdfdeb  gcc/testsuite/g++.dg/warn/Wstrict-aliasing-7.C
  9f043716d56d5ecb10d2e43f4882b263  gcc/testsuite/g++.dg/warn/Wswitch-1.C
  063811cae4064dfe33ddbcd11e9f93ee  gcc/testsuite/g++.dg/warn/Wswitch-2.C
+ ec17a45e76ade076a9d23dd01ca9751f  gcc/testsuite/g++.dg/warn/Wswitch-default-1.C
+ 2908bb9b9b3a7ea3f41f0effd0934ce0  gcc/testsuite/g++.dg/warn/Wswitch-default-2.C
  f3d80e4b7c90755533b6b7bd8812abae  gcc/testsuite/g++.dg/warn/Wunreachable-code-1.C
+ aa9f0a4fa9133811690bf8fa76df33b7  gcc/testsuite/g++.dg/warn/Wunreachable-code-2.C
  d08f8f4d2f55349741193b20c16afa1a  gcc/testsuite/g++.dg/warn/Wunused-1.C
  09723811a7331dcc7580068bdfe05710  gcc/testsuite/g++.dg/warn/Wunused-10.C
  509e856e0fc2084da098b641f1d63e89  gcc/testsuite/g++.dg/warn/Wunused-11.C
+ ed6fbf0a414b22ad6579cf9a3fbe6c2f  gcc/testsuite/g++.dg/warn/Wunused-12.C
  61051d6055a088efd9b196d7533030ea  gcc/testsuite/g++.dg/warn/Wunused-2.C
  19f1d5b223a75e9107f8207c10aa080c  gcc/testsuite/g++.dg/warn/Wunused-3.C
  3c7c2b442d4bd62310dcfdd99d91e1b2  gcc/testsuite/g++.dg/warn/Wunused-4.C
*************** a09300084b0484d20d1e01b50584cbd6  gcc/te
*** 9999,10004 ****
--- 8780,8786 ----
  931d147f4baed695f1a67ae899cebd03  gcc/testsuite/g++.dg/warn/format1.C
  77cfd7b8f34afd97ff68bc102b6c6fc6  gcc/testsuite/g++.dg/warn/format2.C
  449301e4fc095134d15ba50f081d6eb2  gcc/testsuite/g++.dg/warn/format3.C
+ 127a75cc2feba3be6bc12b766e660668  gcc/testsuite/g++.dg/warn/format4.C
  0163a6a329fdf7f5efa7b908b04848a0  gcc/testsuite/g++.dg/warn/friend.C
  e81d20f2a65cb672129118ceab24cd3e  gcc/testsuite/g++.dg/warn/huge-val1.C
  947eb21e9808319dc342bbc45acb7e0c  gcc/testsuite/g++.dg/warn/implicit-typename1.C
*************** f69540cf16bb392d5bf1e5edfc8e067e  gcc/te
*** 10006,10019 ****
  5d559af51cd6e5fbe0dbb5a62a5d3366  gcc/testsuite/g++.dg/warn/implicit-typename3.C
  8ca4663e374bdf39d4e89678129dd5ac  gcc/testsuite/g++.dg/warn/incomplete1.C
  0c33b46fd2f31938e2ff6fb7fc3f0b90  gcc/testsuite/g++.dg/warn/inline1.C
  217f0311161c670d6ef0fbd06a3c6b91  gcc/testsuite/g++.dg/warn/main.C
  0f0e7dea39f9789574205f8f725f6fc5  gcc/testsuite/g++.dg/warn/minmax.C
  67d018f4028bfdad4712e6c50a3eefa7  gcc/testsuite/g++.dg/warn/missing-field-init-1.C
  5810653b0c8f7de9557f67564c81fa60  gcc/testsuite/g++.dg/warn/missing-field-init-2.C
! 1902e5724627ee76d77f99218f859ac2  gcc/testsuite/g++.dg/warn/noeffect2.C
! bbae8b6a10a424fb379a1b06f32cb8ff  gcc/testsuite/g++.dg/warn/noeffect4.C
  66a1048126ecd634e1e4f71263be239e  gcc/testsuite/g++.dg/warn/noeffect5.C
  58c48dbaffba495d57fb0bf370f50060  gcc/testsuite/g++.dg/warn/noeffect6.C
  40efbe938691eeff621e7ef02235827f  gcc/testsuite/g++.dg/warn/nonnull1.C
  acf9323dc369473d47e1a02ca5461933  gcc/testsuite/g++.dg/warn/noreturn-1.C
  10a2dc88ff4acf5169ed37d5b483050b  gcc/testsuite/g++.dg/warn/noreturn-2.C
--- 8788,8810 ----
  5d559af51cd6e5fbe0dbb5a62a5d3366  gcc/testsuite/g++.dg/warn/implicit-typename3.C
  8ca4663e374bdf39d4e89678129dd5ac  gcc/testsuite/g++.dg/warn/incomplete1.C
  0c33b46fd2f31938e2ff6fb7fc3f0b90  gcc/testsuite/g++.dg/warn/inline1.C
+ 7c84293b9be13f3fdd30d3803765a5c4  gcc/testsuite/g++.dg/warn/inline2.C
+ c10ffa59cbc975e37cf002ed2e59ae32  gcc/testsuite/g++.dg/warn/main-2.C
  217f0311161c670d6ef0fbd06a3c6b91  gcc/testsuite/g++.dg/warn/main.C
  0f0e7dea39f9789574205f8f725f6fc5  gcc/testsuite/g++.dg/warn/minmax.C
+ ac77311ac477caf771e186fa4f53f9e5  gcc/testsuite/g++.dg/warn/miss-format-1.C
+ 16abc69e85d22f8f70a63462a1b1b3a7  gcc/testsuite/g++.dg/warn/miss-format-2.C
+ ea49c14595fc666482feb7e08246a013  gcc/testsuite/g++.dg/warn/miss-format-3.C
+ 8d8f0e82c9c4fa7f5c0db6d6eeae77a9  gcc/testsuite/g++.dg/warn/miss-format-4.C
+ 09fda448ba1dd313fcaeb0bd0ff7d0ec  gcc/testsuite/g++.dg/warn/miss-format-5.C
+ 72cd30df5578d566d6d458530e8f9f05  gcc/testsuite/g++.dg/warn/miss-format-6.C
  67d018f4028bfdad4712e6c50a3eefa7  gcc/testsuite/g++.dg/warn/missing-field-init-1.C
  5810653b0c8f7de9557f67564c81fa60  gcc/testsuite/g++.dg/warn/missing-field-init-2.C
! 56a96277f59cb6cdb8b69652a80d9461  gcc/testsuite/g++.dg/warn/noeffect2.C
! 0d975c494fc142e2e46be741d21ba02e  gcc/testsuite/g++.dg/warn/noeffect4.C
  66a1048126ecd634e1e4f71263be239e  gcc/testsuite/g++.dg/warn/noeffect5.C
  58c48dbaffba495d57fb0bf370f50060  gcc/testsuite/g++.dg/warn/noeffect6.C
+ 165e60b3a0c53a0c1e6a87c65f59860e  gcc/testsuite/g++.dg/warn/noeffect7.C
  40efbe938691eeff621e7ef02235827f  gcc/testsuite/g++.dg/warn/nonnull1.C
  acf9323dc369473d47e1a02ca5461933  gcc/testsuite/g++.dg/warn/noreturn-1.C
  10a2dc88ff4acf5169ed37d5b483050b  gcc/testsuite/g++.dg/warn/noreturn-2.C
*************** acf9323dc369473d47e1a02ca5461933  gcc/te
*** 10021,10038 ****
  33e37856b8391737e80c51371895ce7d  gcc/testsuite/g++.dg/warn/oldcast1.C
  a17c4c0444990921d3c66161e1a84c51  gcc/testsuite/g++.dg/warn/pedantic1.C
  acd9eb52e3298cbde90941f636efb15f  gcc/testsuite/g++.dg/warn/pmf1.C
  72c8f7a188f47bfb6f160be2ac72a7f6  gcc/testsuite/g++.dg/warn/pr23075.C
  8c096cfbcb0f16fa5bde02650ac4ab41  gcc/testsuite/g++.dg/warn/private1.C
! 74e731cf40a87ad46c69381e090331eb  gcc/testsuite/g++.dg/warn/register-var-1.C
  ea73d6265dc16c3e8af8fcf468fbfdee  gcc/testsuite/g++.dg/warn/register-var-2.C
  70f8973f83c648dfef793b81d7b5a128  gcc/testsuite/g++.dg/warn/return-reference.C
  5e583edd642b46c07735de366c4d0f59  gcc/testsuite/g++.dg/warn/sentinel.C
  6f90eb3a0f4a4e7f096197fba7797aff  gcc/testsuite/g++.dg/warn/template-1.C
  db0369443832a167e3eafc656f0f0edc  gcc/testsuite/g++.dg/warn/weak1.C
! 4337ac611022d7dd242cc3e5c1a89b2e  gcc/testsuite/g++.old-deja/g++.abi/aggregates.C
! d26e53209491cdf8c19fe39925d213f6  gcc/testsuite/g++.old-deja/g++.abi/align.C
  a1f690ad6c3c792df0758793160c4cda  gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
! e0affb58596025232248081b61df0767  gcc/testsuite/g++.old-deja/g++.abi/bitfields.C
  cadb8d830b6294a594d395f81b7e01d7  gcc/testsuite/g++.old-deja/g++.abi/crash1.C
  f89727b8728825a3f34562ce78d862ad  gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
  0986f0fa6e2b1e040a29e2f45b5ad7ab  gcc/testsuite/g++.old-deja/g++.abi/empty.C
--- 8812,8831 ----
  33e37856b8391737e80c51371895ce7d  gcc/testsuite/g++.dg/warn/oldcast1.C
  a17c4c0444990921d3c66161e1a84c51  gcc/testsuite/g++.dg/warn/pedantic1.C
  acd9eb52e3298cbde90941f636efb15f  gcc/testsuite/g++.dg/warn/pmf1.C
+ e43aa541f634d4d1e2e6169f81b28092  gcc/testsuite/g++.dg/warn/pr21983.C
  72c8f7a188f47bfb6f160be2ac72a7f6  gcc/testsuite/g++.dg/warn/pr23075.C
  8c096cfbcb0f16fa5bde02650ac4ab41  gcc/testsuite/g++.dg/warn/private1.C
! c81b53fadf211068145ee221f46e6dcc  gcc/testsuite/g++.dg/warn/register-var-1.C
  ea73d6265dc16c3e8af8fcf468fbfdee  gcc/testsuite/g++.dg/warn/register-var-2.C
  70f8973f83c648dfef793b81d7b5a128  gcc/testsuite/g++.dg/warn/return-reference.C
  5e583edd642b46c07735de366c4d0f59  gcc/testsuite/g++.dg/warn/sentinel.C
  6f90eb3a0f4a4e7f096197fba7797aff  gcc/testsuite/g++.dg/warn/template-1.C
+ 81ccb812ec92857cf80d860b4ffa0d31  gcc/testsuite/g++.dg/warn/undefined1.C
  db0369443832a167e3eafc656f0f0edc  gcc/testsuite/g++.dg/warn/weak1.C
! f058ddff11f1bf80eab26675f6fe1035  gcc/testsuite/g++.old-deja/g++.abi/aggregates.C
! b0b4aa91a7b19efd0f3ad3569fb50917  gcc/testsuite/g++.old-deja/g++.abi/align.C
  a1f690ad6c3c792df0758793160c4cda  gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
! 239685c9a494cf055e6fc0f6f0b73f2a  gcc/testsuite/g++.old-deja/g++.abi/bitfields.C
  cadb8d830b6294a594d395f81b7e01d7  gcc/testsuite/g++.old-deja/g++.abi/crash1.C
  f89727b8728825a3f34562ce78d862ad  gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
  0986f0fa6e2b1e040a29e2f45b5ad7ab  gcc/testsuite/g++.old-deja/g++.abi/empty.C
*************** aa70acbcac721d041f597b57b2ec733b  gcc/te
*** 10058,10064 ****
  55753064a6448159c52e77b933d914df  gcc/testsuite/g++.old-deja/g++.abi/vbase8-9.C
  445d95964ba4a777690cdf56c7f1bcb7  gcc/testsuite/g++.old-deja/g++.abi/vmihint.C
  305181b858f05a2e683bd7322f635642  gcc/testsuite/g++.old-deja/g++.abi/vtable.C
! d1e7c6b23a555bc6005ca627576a9d66  gcc/testsuite/g++.old-deja/g++.abi/vtable2.C
  f43645b177185eca1785bb1bc24abcc7  gcc/testsuite/g++.old-deja/g++.abi/vtable3.h
  335628c4bb776c7871e9beac4869bf89  gcc/testsuite/g++.old-deja/g++.abi/vtable3a.C
  56ddac7d105a11ccda8236145c04d603  gcc/testsuite/g++.old-deja/g++.abi/vtable3b.C
--- 8851,8857 ----
  55753064a6448159c52e77b933d914df  gcc/testsuite/g++.old-deja/g++.abi/vbase8-9.C
  445d95964ba4a777690cdf56c7f1bcb7  gcc/testsuite/g++.old-deja/g++.abi/vmihint.C
  305181b858f05a2e683bd7322f635642  gcc/testsuite/g++.old-deja/g++.abi/vtable.C
! a250b4725b5a6e565af8623e1b9c4583  gcc/testsuite/g++.old-deja/g++.abi/vtable2.C
  f43645b177185eca1785bb1bc24abcc7  gcc/testsuite/g++.old-deja/g++.abi/vtable3.h
  335628c4bb776c7871e9beac4869bf89  gcc/testsuite/g++.old-deja/g++.abi/vtable3a.C
  56ddac7d105a11ccda8236145c04d603  gcc/testsuite/g++.old-deja/g++.abi/vtable3b.C
*************** fe9c4e2b4a3a15a9e55ab8ee900fc390  gcc/te
*** 10214,10220 ****
  0d23b5f837eca50d6659a9747fa8e8bd  gcc/testsuite/g++.old-deja/g++.brendan/crash53.C
  76cab97db1c153ad14cd499c7d483fa7  gcc/testsuite/g++.old-deja/g++.brendan/crash54.C
  0b96580b8e7a3577418ef1b738de61e8  gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
! 4910144bf7e6fdf74b7896fa17ad60fd  gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
  f99628dfc0766d237ee572c05c96f5ef  gcc/testsuite/g++.old-deja/g++.brendan/crash57.C
  2ea8e7e4ddc11489cf2a94e03e54ed33  gcc/testsuite/g++.old-deja/g++.brendan/crash58.C
  fe6ac67b99c1ddd7b2d92896792a2eea  gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
--- 9007,9013 ----
  0d23b5f837eca50d6659a9747fa8e8bd  gcc/testsuite/g++.old-deja/g++.brendan/crash53.C
  76cab97db1c153ad14cd499c7d483fa7  gcc/testsuite/g++.old-deja/g++.brendan/crash54.C
  0b96580b8e7a3577418ef1b738de61e8  gcc/testsuite/g++.old-deja/g++.brendan/crash55.C
! 3eecdcd4e6f42d45a11803539605039e  gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
  f99628dfc0766d237ee572c05c96f5ef  gcc/testsuite/g++.old-deja/g++.brendan/crash57.C
  2ea8e7e4ddc11489cf2a94e03e54ed33  gcc/testsuite/g++.old-deja/g++.brendan/crash58.C
  fe6ac67b99c1ddd7b2d92896792a2eea  gcc/testsuite/g++.old-deja/g++.brendan/crash6.C
*************** eb505c8f94ac01b9f0ed8a74965221cf  gcc/te
*** 10370,10376 ****
  93bc75083ebf8ae5a37fd6ac51d10e9a  gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C
  b8d1e42f311d8afc82fcf4dbfd490613  gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C
  964a895f23ebbce94a2c5bfe6e3845b5  gcc/testsuite/g++.old-deja/g++.brendan/recurse.C
! 960176af3c8334b31f5f18c1eecb5683  gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C
  e2e8fdf313b5b763652b98d52b6fd29f  gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C
  1c6e3ab3c0ac7f1ecdf1f598fbf9174d  gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C
  23996b9ea050e80e407e5267be28b395  gcc/testsuite/g++.old-deja/g++.brendan/reference1.C
--- 9163,9169 ----
  93bc75083ebf8ae5a37fd6ac51d10e9a  gcc/testsuite/g++.old-deja/g++.brendan/ptrmem3.C
  b8d1e42f311d8afc82fcf4dbfd490613  gcc/testsuite/g++.old-deja/g++.brendan/ptrmem4.C
  964a895f23ebbce94a2c5bfe6e3845b5  gcc/testsuite/g++.old-deja/g++.brendan/recurse.C
! 57c9511cda77de7914bdac00e907c313  gcc/testsuite/g++.old-deja/g++.brendan/redecl1.C
  e2e8fdf313b5b763652b98d52b6fd29f  gcc/testsuite/g++.old-deja/g++.brendan/redecl2.C
  1c6e3ab3c0ac7f1ecdf1f598fbf9174d  gcc/testsuite/g++.old-deja/g++.brendan/redecl3.C
  23996b9ea050e80e407e5267be28b395  gcc/testsuite/g++.old-deja/g++.brendan/reference1.C
*************** ac9a5240763e641aff84b4edf13031ce  gcc/te
*** 10541,10547 ****
  32f9838a2677f4322d6422963ad75321  gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
  e04f0d66f5d7d54dcb1732090fd6134e  gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C
  365ad489a4b8cb4d59c97741b1d326bb  gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C
! 8ca25f6c472b75d7058fc8a9e72730bb  gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
  f9b83360c3e457b4d7a952e5cfea8d08  gcc/testsuite/g++.old-deja/g++.eh/catch1.C
  1e641d82ee233ceda2ae0ab2028661f9  gcc/testsuite/g++.old-deja/g++.eh/catch10.C
  a83d60c4fb96f4454d525c1e8b6a33a7  gcc/testsuite/g++.old-deja/g++.eh/catch11.C
--- 9334,9340 ----
  32f9838a2677f4322d6422963ad75321  gcc/testsuite/g++.old-deja/g++.bugs/900520_04.C
  e04f0d66f5d7d54dcb1732090fd6134e  gcc/testsuite/g++.old-deja/g++.bugs/900520_05.C
  365ad489a4b8cb4d59c97741b1d326bb  gcc/testsuite/g++.old-deja/g++.bugs/900520_06.C
! b355394e3ca7707bfa08938b7e07df2c  gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C
  f9b83360c3e457b4d7a952e5cfea8d08  gcc/testsuite/g++.old-deja/g++.eh/catch1.C
  1e641d82ee233ceda2ae0ab2028661f9  gcc/testsuite/g++.old-deja/g++.eh/catch10.C
  a83d60c4fb96f4454d525c1e8b6a33a7  gcc/testsuite/g++.old-deja/g++.eh/catch11.C
*************** c80d5660b1728bc2ac055847f51343bc  gcc/te
*** 10577,10583 ****
  69dc075b8772cb01d011939a1a0896fb  gcc/testsuite/g++.old-deja/g++.eh/flow1.C
  4d9e6f65aec19c778c890a288bae5690  gcc/testsuite/g++.old-deja/g++.eh/fntry1.C
  61d2aa8a2e535da0c60a9ce1a83a3357  gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C
! 3ae4e850ce3bbe52f17c1107333a58c3  gcc/testsuite/g++.old-deja/g++.eh/inline1.C
  1f10a9c93f1ab6845ba1a02819abf154  gcc/testsuite/g++.old-deja/g++.eh/inline2.C
  bc3be4ed3cbbdaf45e37fd25ea03d76b  gcc/testsuite/g++.old-deja/g++.eh/new1.C
  d8c3feae6c98e7b276d2825215b3ac7d  gcc/testsuite/g++.old-deja/g++.eh/new2.C
--- 9370,9376 ----
  69dc075b8772cb01d011939a1a0896fb  gcc/testsuite/g++.old-deja/g++.eh/flow1.C
  4d9e6f65aec19c778c890a288bae5690  gcc/testsuite/g++.old-deja/g++.eh/fntry1.C
  61d2aa8a2e535da0c60a9ce1a83a3357  gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C
! 039eb5ce59747bf780d3040d05a5b84f  gcc/testsuite/g++.old-deja/g++.eh/inline1.C
  1f10a9c93f1ab6845ba1a02819abf154  gcc/testsuite/g++.old-deja/g++.eh/inline2.C
  bc3be4ed3cbbdaf45e37fd25ea03d76b  gcc/testsuite/g++.old-deja/g++.eh/new1.C
  d8c3feae6c98e7b276d2825215b3ac7d  gcc/testsuite/g++.old-deja/g++.eh/new2.C
*************** e119c0abf28a26060ddb1897af1b2f33  gcc/te
*** 10603,10609 ****
  5670e8b41fe518da30777cff2b48b76f  gcc/testsuite/g++.old-deja/g++.eh/throw1.C
  b17358a7b7abb8e03e2200e1d687babd  gcc/testsuite/g++.old-deja/g++.eh/throw2.C
  bfcd96a6be46cd19e464b5a874591ba6  gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
! 301c80947eb889c8e43f1a5c78f1573b  gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
  6d0c3812ec0559cc3638491900029f8e  gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
  10467f823d0bb353512055f6c0547e95  gcc/testsuite/g++.old-deja/g++.eh/tmpl4.C
  ea01e485e96a2b4fc269ec88d516498b  gcc/testsuite/g++.old-deja/g++.eh/tmpl5.C
--- 9396,9402 ----
  5670e8b41fe518da30777cff2b48b76f  gcc/testsuite/g++.old-deja/g++.eh/throw1.C
  b17358a7b7abb8e03e2200e1d687babd  gcc/testsuite/g++.old-deja/g++.eh/throw2.C
  bfcd96a6be46cd19e464b5a874591ba6  gcc/testsuite/g++.old-deja/g++.eh/tmpl1.C
! 10ba7935836a909b4eeef0ac2a8431b5  gcc/testsuite/g++.old-deja/g++.eh/tmpl2.C
  6d0c3812ec0559cc3638491900029f8e  gcc/testsuite/g++.old-deja/g++.eh/tmpl3.C
  10467f823d0bb353512055f6c0547e95  gcc/testsuite/g++.old-deja/g++.eh/tmpl4.C
  ea01e485e96a2b4fc269ec88d516498b  gcc/testsuite/g++.old-deja/g++.eh/tmpl5.C
*************** ad0913538dd7d6e5fa83fb6ba070dcf4  gcc/te
*** 10626,10635 ****
  b2f69c1973b3d4b6b9e01df5ce3b43ba  gcc/testsuite/g++.old-deja/g++.ext/array4.C
  e82b542b0a0c5e5865a88d19fa40fca1  gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
  c18d645703992bc6c135227ac629f48c  gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C
! 8caf0f252a94d1e8c8522f0e941e323a  gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C
! 18cce16c27c18da40bd1aed1c39ca2cc  gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
! a4fcabc75c7ec80a545f7adc963a57e9  gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
! 1209be39344e477b07457ad84cb4d93a  gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
  ac9b53d93b7555f44ec60056f67897b6  gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
  74b630c85e0a7d0bd7cc6ea294e424cd  gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
  4a3cb5f4907fc2dd61b5a428d6f2a5eb  gcc/testsuite/g++.old-deja/g++.ext/attrib6.C
--- 9419,9428 ----
  b2f69c1973b3d4b6b9e01df5ce3b43ba  gcc/testsuite/g++.old-deja/g++.ext/array4.C
  e82b542b0a0c5e5865a88d19fa40fca1  gcc/testsuite/g++.old-deja/g++.ext/arrnew.C
  c18d645703992bc6c135227ac629f48c  gcc/testsuite/g++.old-deja/g++.ext/arrnew2.C
! a73fc887eed082ef683e77dde6521d24  gcc/testsuite/g++.old-deja/g++.ext/asmspec1.C
! ad0fac7200473648a873507e70bdf00a  gcc/testsuite/g++.old-deja/g++.ext/attrib1.C
! cb8d613c565701fc42de2e548fc46f94  gcc/testsuite/g++.old-deja/g++.ext/attrib2.C
! 124294febbe908ddadaaf98fc6f4a62d  gcc/testsuite/g++.old-deja/g++.ext/attrib3.C
  ac9b53d93b7555f44ec60056f67897b6  gcc/testsuite/g++.old-deja/g++.ext/attrib4.C
  74b630c85e0a7d0bd7cc6ea294e424cd  gcc/testsuite/g++.old-deja/g++.ext/attrib5.C
  4a3cb5f4907fc2dd61b5a428d6f2a5eb  gcc/testsuite/g++.old-deja/g++.ext/attrib6.C
*************** beb5eb6418228be74e469fbcf0dbb8b4  gcc/te
*** 10789,10795 ****
  367d613bc250e9dcc871a0dac0cd3de8  gcc/testsuite/g++.old-deja/g++.jason/enum8.C
  48450b1b5f0295f7905a77b1f41b6274  gcc/testsuite/g++.old-deja/g++.jason/explicit.C
  f64a776322f2d9ddc6a3bf1f0c01381b  gcc/testsuite/g++.old-deja/g++.jason/expr1.C
! 205494f92aaf9047dec4487e33717a7c  gcc/testsuite/g++.old-deja/g++.jason/friend.C
  0c48f31e1970e425bf9b46f60cb18ba5  gcc/testsuite/g++.old-deja/g++.jason/friend2.C
  654a66427dcd006b10d7eb2e7d6189a1  gcc/testsuite/g++.old-deja/g++.jason/groff1.C
  63c1a9e22ae273c987a222a02d37bbd2  gcc/testsuite/g++.old-deja/g++.jason/hmc1.C
--- 9582,9588 ----
  367d613bc250e9dcc871a0dac0cd3de8  gcc/testsuite/g++.old-deja/g++.jason/enum8.C
  48450b1b5f0295f7905a77b1f41b6274  gcc/testsuite/g++.old-deja/g++.jason/explicit.C
  f64a776322f2d9ddc6a3bf1f0c01381b  gcc/testsuite/g++.old-deja/g++.jason/expr1.C
! 1f61a4b59ffc25bde8862e71c60b56be  gcc/testsuite/g++.old-deja/g++.jason/friend.C
  0c48f31e1970e425bf9b46f60cb18ba5  gcc/testsuite/g++.old-deja/g++.jason/friend2.C
  654a66427dcd006b10d7eb2e7d6189a1  gcc/testsuite/g++.old-deja/g++.jason/groff1.C
  63c1a9e22ae273c987a222a02d37bbd2  gcc/testsuite/g++.old-deja/g++.jason/hmc1.C
*************** bf39bbf2a308a90f56cf0c9ea737b6a5  gcc/te
*** 10972,10978 ****
  a426de2514b88e18e7936807def03c4e  gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
  c95f927cfb45bc8afae59ec5c34f2c56  gcc/testsuite/g++.old-deja/g++.jason/scoping13.C
  d49d9ed9b505bcd76004260d7a7ececa  gcc/testsuite/g++.old-deja/g++.jason/scoping14.C
! 3cc3204057d37d7cc3caa97f3ce6264f  gcc/testsuite/g++.old-deja/g++.jason/scoping15.C
  87a29f5feb194d41ee17772b533a2e4c  gcc/testsuite/g++.old-deja/g++.jason/scoping16.C
  54afd2f673dc93e414b4cf73c33d2e03  gcc/testsuite/g++.old-deja/g++.jason/scoping17.C
  e50dd8d15711b45f7e392a97e2cda8fc  gcc/testsuite/g++.old-deja/g++.jason/scoping2.C
--- 9765,9771 ----
  a426de2514b88e18e7936807def03c4e  gcc/testsuite/g++.old-deja/g++.jason/scoping12.C
  c95f927cfb45bc8afae59ec5c34f2c56  gcc/testsuite/g++.old-deja/g++.jason/scoping13.C
  d49d9ed9b505bcd76004260d7a7ececa  gcc/testsuite/g++.old-deja/g++.jason/scoping14.C
! 8ed8d8244b592c10ad46057d72681a50  gcc/testsuite/g++.old-deja/g++.jason/scoping15.C
  87a29f5feb194d41ee17772b533a2e4c  gcc/testsuite/g++.old-deja/g++.jason/scoping16.C
  54afd2f673dc93e414b4cf73c33d2e03  gcc/testsuite/g++.old-deja/g++.jason/scoping17.C
  e50dd8d15711b45f7e392a97e2cda8fc  gcc/testsuite/g++.old-deja/g++.jason/scoping2.C
*************** e4681da1536da14176b6242aa0cde9a4  gcc/te
*** 11054,11061 ****
  0f465f011856318e4a82bae9e718ca27  gcc/testsuite/g++.old-deja/g++.jason/tempsub.C
  40fcdd9ac5d7df502c6154f385d814a8  gcc/testsuite/g++.old-deja/g++.jason/this.C
  9c846445e2018745dcc34b2f1642858c  gcc/testsuite/g++.old-deja/g++.jason/thunk1.C
! 72ca1c4169ea80d74ee20bd0cb6d03a4  gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
! d4c86d3cad084be27dde69ee68464d52  gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
  776a6eba4666d06b4325a2d0850afe81  gcc/testsuite/g++.old-deja/g++.jason/tredecl.C
  bed2e0f518532685396e3880a1588ea1  gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C
  bb1e0f3963c848d63c1da72405f295ce  gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C
--- 9847,9854 ----
  0f465f011856318e4a82bae9e718ca27  gcc/testsuite/g++.old-deja/g++.jason/tempsub.C
  40fcdd9ac5d7df502c6154f385d814a8  gcc/testsuite/g++.old-deja/g++.jason/this.C
  9c846445e2018745dcc34b2f1642858c  gcc/testsuite/g++.old-deja/g++.jason/thunk1.C
! 4fa4ffdd7b5433914705b1fffb691a4d  gcc/testsuite/g++.old-deja/g++.jason/thunk2.C
! 8b8ea4952b7ede0284f1f5831e7ef223  gcc/testsuite/g++.old-deja/g++.jason/thunk3.C
  776a6eba4666d06b4325a2d0850afe81  gcc/testsuite/g++.old-deja/g++.jason/tredecl.C
  bed2e0f518532685396e3880a1588ea1  gcc/testsuite/g++.old-deja/g++.jason/tredecl2.C
  bb1e0f3963c848d63c1da72405f295ce  gcc/testsuite/g++.old-deja/g++.jason/tredecl3.C
*************** a24fcf602f3d08b6fdaa6df61f40e188  gcc/te
*** 11268,11274 ****
  6c538e1ec51e48676485e007b0bd1ca5  gcc/testsuite/g++.old-deja/g++.law/parsing9.C
  db70425749f0bcf360ec8a3d2c5bdb73  gcc/testsuite/g++.old-deja/g++.law/patches1.C
  ba9f9c290ccad9db193e1e2b8b96a82e  gcc/testsuite/g++.old-deja/g++.law/pic1.C
! 51a2d74f53aababc3c7681e5ffeddd2a  gcc/testsuite/g++.old-deja/g++.law/profile1.C
  ea41b2158ea1ad2d05dfc351c4f23a9d  gcc/testsuite/g++.old-deja/g++.law/refs1.C
  57c54b83f5425f794b19b867f0a27073  gcc/testsuite/g++.old-deja/g++.law/refs2.C
  ba81cc1584de7e22a78f9d7c3c75a0bb  gcc/testsuite/g++.old-deja/g++.law/refs3.C
--- 10061,10068 ----
  6c538e1ec51e48676485e007b0bd1ca5  gcc/testsuite/g++.old-deja/g++.law/parsing9.C
  db70425749f0bcf360ec8a3d2c5bdb73  gcc/testsuite/g++.old-deja/g++.law/patches1.C
  ba9f9c290ccad9db193e1e2b8b96a82e  gcc/testsuite/g++.old-deja/g++.law/pic1.C
! 4203233107643ecb1062050ef0d54a8e  gcc/testsuite/g++.old-deja/g++.law/pr25000.C
! 41f7608f6ff4f643fa8d2bdca7f312dd  gcc/testsuite/g++.old-deja/g++.law/profile1.C
  ea41b2158ea1ad2d05dfc351c4f23a9d  gcc/testsuite/g++.old-deja/g++.law/refs1.C
  57c54b83f5425f794b19b867f0a27073  gcc/testsuite/g++.old-deja/g++.law/refs2.C
  ba81cc1584de7e22a78f9d7c3c75a0bb  gcc/testsuite/g++.old-deja/g++.law/refs3.C
*************** ef060b4f95f26e05d428454bd62e30ff  gcc/te
*** 11283,11289 ****
  2de879b88276c759f845e28b9d9ab7a1  gcc/testsuite/g++.old-deja/g++.law/static-mem2.C
  4420683085194c13af157409ff496ca5  gcc/testsuite/g++.old-deja/g++.law/static-mem3.C
  d360b646180a1bddcb974249a70738e5  gcc/testsuite/g++.old-deja/g++.law/static-mem4.C
! aa24400b69b846a7b80edef6c544d66b  gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
  391c989429af823aab04d0ac377f0c83  gcc/testsuite/g++.old-deja/g++.law/template1.C
  d23ef9b8d21b1c02e42bdecdf5a495b8  gcc/testsuite/g++.old-deja/g++.law/template3.C
  da2c15f9654d1515b6e8ab9df9e9e5b8  gcc/testsuite/g++.old-deja/g++.law/temps1.C
--- 10077,10083 ----
  2de879b88276c759f845e28b9d9ab7a1  gcc/testsuite/g++.old-deja/g++.law/static-mem2.C
  4420683085194c13af157409ff496ca5  gcc/testsuite/g++.old-deja/g++.law/static-mem3.C
  d360b646180a1bddcb974249a70738e5  gcc/testsuite/g++.old-deja/g++.law/static-mem4.C
! c92c5524fc726c394131a8db74797f2e  gcc/testsuite/g++.old-deja/g++.law/static-mem5.C
  391c989429af823aab04d0ac377f0c83  gcc/testsuite/g++.old-deja/g++.law/template1.C
  d23ef9b8d21b1c02e42bdecdf5a495b8  gcc/testsuite/g++.old-deja/g++.law/template3.C
  da2c15f9654d1515b6e8ab9df9e9e5b8  gcc/testsuite/g++.old-deja/g++.law/temps1.C
*************** ebcad15f2df16a055754c0803b28e6c6  gcc/te
*** 11338,11344 ****
  f3059608a1f797e501185505c8997b6d  gcc/testsuite/g++.old-deja/g++.law/vtable1.C
  248e82b0d6c1c80f463a405ecdc6ed4a  gcc/testsuite/g++.old-deja/g++.law/vtable2.C
  2ce54c476e19764bdebe4ac6fc7d64f7  gcc/testsuite/g++.old-deja/g++.law/vtable3.C
! 3486e828b59a4f8af0178328c4a17f79  gcc/testsuite/g++.old-deja/g++.law/weak.C
  99f229ca2e8b470ed7c34283d8fc4e1a  gcc/testsuite/g++.old-deja/g++.martin/access1.C
  299fcc89ddbeaeba2068539f38eb848c  gcc/testsuite/g++.old-deja/g++.martin/ambig1.C
  bbcf18896f3a1d744cf356a0a66cd95a  gcc/testsuite/g++.old-deja/g++.martin/bitset1.C
--- 10132,10138 ----
  f3059608a1f797e501185505c8997b6d  gcc/testsuite/g++.old-deja/g++.law/vtable1.C
  248e82b0d6c1c80f463a405ecdc6ed4a  gcc/testsuite/g++.old-deja/g++.law/vtable2.C
  2ce54c476e19764bdebe4ac6fc7d64f7  gcc/testsuite/g++.old-deja/g++.law/vtable3.C
! a11956e61b48ea284a703b12d115889d  gcc/testsuite/g++.old-deja/g++.law/weak.C
  99f229ca2e8b470ed7c34283d8fc4e1a  gcc/testsuite/g++.old-deja/g++.martin/access1.C
  299fcc89ddbeaeba2068539f38eb848c  gcc/testsuite/g++.old-deja/g++.martin/ambig1.C
  bbcf18896f3a1d744cf356a0a66cd95a  gcc/testsuite/g++.old-deja/g++.martin/bitset1.C
*************** bff1e48fcafb1ef983be4b8a95f47c87  gcc/te
*** 11500,11506 ****
  2f2541bf5b0e85ee09355583f2630b4e  gcc/testsuite/g++.old-deja/g++.mike/net40.C
  12752e61452464ae4268c61794f128d7  gcc/testsuite/g++.old-deja/g++.mike/net41.C
  4f61ec7d766463300ed40fbe4c73980e  gcc/testsuite/g++.old-deja/g++.mike/net42.C
! 3e16df5c1b81f8e3df262b269d050a71  gcc/testsuite/g++.old-deja/g++.mike/net43.C
  50a5c0c13f7ba167357b0d1eeeb3ca69  gcc/testsuite/g++.old-deja/g++.mike/net44.C
  b4a7322753a54bde5aeda77887a9e4d4  gcc/testsuite/g++.old-deja/g++.mike/net45.C
  c51d1f78f58b607ac993e87fbc6045be  gcc/testsuite/g++.old-deja/g++.mike/net46.C
--- 10294,10300 ----
  2f2541bf5b0e85ee09355583f2630b4e  gcc/testsuite/g++.old-deja/g++.mike/net40.C
  12752e61452464ae4268c61794f128d7  gcc/testsuite/g++.old-deja/g++.mike/net41.C
  4f61ec7d766463300ed40fbe4c73980e  gcc/testsuite/g++.old-deja/g++.mike/net42.C
! 228a05190a5faf554c6e411269f848a1  gcc/testsuite/g++.old-deja/g++.mike/net43.C
  50a5c0c13f7ba167357b0d1eeeb3ca69  gcc/testsuite/g++.old-deja/g++.mike/net44.C
  b4a7322753a54bde5aeda77887a9e4d4  gcc/testsuite/g++.old-deja/g++.mike/net45.C
  c51d1f78f58b607ac993e87fbc6045be  gcc/testsuite/g++.old-deja/g++.mike/net46.C
*************** d6d68f430bfaba7d33736d647fbc5f9a  gcc/te
*** 11561,11567 ****
  f9eabf76220ab85f7858705f32bf365c  gcc/testsuite/g++.old-deja/g++.mike/p2960.C
  f6372b326346bae5cb43cdbb5908973f  gcc/testsuite/g++.old-deja/g++.mike/p3041.C
  64b556acf550511fbdd75e5ed1b3d35a  gcc/testsuite/g++.old-deja/g++.mike/p3060c.C
! 7afa8102a0087770bd535c4ac1e4c635  gcc/testsuite/g++.old-deja/g++.mike/p3060d.C
  f64668d6806feedbe6b8dd14ed7fe26f  gcc/testsuite/g++.old-deja/g++.mike/p3068.C
  1fb2c06275c87273a5ba4ff5af7984d2  gcc/testsuite/g++.old-deja/g++.mike/p3070.C
  c04924a422b35d18010a7af8d16f5365  gcc/testsuite/g++.old-deja/g++.mike/p3139.C
--- 10355,10361 ----
  f9eabf76220ab85f7858705f32bf365c  gcc/testsuite/g++.old-deja/g++.mike/p2960.C
  f6372b326346bae5cb43cdbb5908973f  gcc/testsuite/g++.old-deja/g++.mike/p3041.C
  64b556acf550511fbdd75e5ed1b3d35a  gcc/testsuite/g++.old-deja/g++.mike/p3060c.C
! ae0734d774adb0c356a07cf043b8472f  gcc/testsuite/g++.old-deja/g++.mike/p3060d.C
  f64668d6806feedbe6b8dd14ed7fe26f  gcc/testsuite/g++.old-deja/g++.mike/p3068.C
  1fb2c06275c87273a5ba4ff5af7984d2  gcc/testsuite/g++.old-deja/g++.mike/p3070.C
  c04924a422b35d18010a7af8d16f5365  gcc/testsuite/g++.old-deja/g++.mike/p3139.C
*************** c72b8635bd4c8a699c1f38ebb8414856  gcc/te
*** 11632,11638 ****
  368c01f3f90fe646e405891838c2f2f1  gcc/testsuite/g++.old-deja/g++.mike/p783.C
  b1814dd4aff2ecf1ced5ab368a1cda10  gcc/testsuite/g++.old-deja/g++.mike/p783a.C
  57d4e40988ddb63958724eff83209409  gcc/testsuite/g++.old-deja/g++.mike/p783b.C
! 0a48c70f4318ac70c60cc4514b37abff  gcc/testsuite/g++.old-deja/g++.mike/p784.C
  21e877c6176145bd8bd48cbf0a107c6f  gcc/testsuite/g++.old-deja/g++.mike/p786.C
  480520bf49d17525acbe91efff31b383  gcc/testsuite/g++.old-deja/g++.mike/p7865.C
  10fbf12cb75d8a0bfcc4c2149def524d  gcc/testsuite/g++.old-deja/g++.mike/p7868.C
--- 10426,10432 ----
  368c01f3f90fe646e405891838c2f2f1  gcc/testsuite/g++.old-deja/g++.mike/p783.C
  b1814dd4aff2ecf1ced5ab368a1cda10  gcc/testsuite/g++.old-deja/g++.mike/p783a.C
  57d4e40988ddb63958724eff83209409  gcc/testsuite/g++.old-deja/g++.mike/p783b.C
! 9ebae74f7c2c88e9ef735034e2bfa905  gcc/testsuite/g++.old-deja/g++.mike/p784.C
  21e877c6176145bd8bd48cbf0a107c6f  gcc/testsuite/g++.old-deja/g++.mike/p786.C
  480520bf49d17525acbe91efff31b383  gcc/testsuite/g++.old-deja/g++.mike/p7865.C
  10fbf12cb75d8a0bfcc4c2149def524d  gcc/testsuite/g++.old-deja/g++.mike/p7868.C
*************** ea6f77e23475c14b010ae9424b10cf2c  gcc/te
*** 11645,11651 ****
  105eccba27c095e0f58ba5e1b288de63  gcc/testsuite/g++.old-deja/g++.mike/p807.C
  87475d2a67770f1c97e9126a1d13d8d7  gcc/testsuite/g++.old-deja/g++.mike/p807a.C
  719feecb4b15a1fe26ce57186c64eb7d  gcc/testsuite/g++.old-deja/g++.mike/p811.C
! 12f4c774ca8e5c065b8cc7fa2c31ea0e  gcc/testsuite/g++.old-deja/g++.mike/p8154.C
  cbdb4e245f3353232e9b4d18983cdeea  gcc/testsuite/g++.old-deja/g++.mike/p8155.C
  96f6e9e43b5a2118bfbd47489b1c0a5b  gcc/testsuite/g++.old-deja/g++.mike/p8175.C
  a8d1f43c29337c73cef852c3b839c49f  gcc/testsuite/g++.old-deja/g++.mike/p8269.C
--- 10439,10445 ----
  105eccba27c095e0f58ba5e1b288de63  gcc/testsuite/g++.old-deja/g++.mike/p807.C
  87475d2a67770f1c97e9126a1d13d8d7  gcc/testsuite/g++.old-deja/g++.mike/p807a.C
  719feecb4b15a1fe26ce57186c64eb7d  gcc/testsuite/g++.old-deja/g++.mike/p811.C
! 9b2f7221b1057f9366eef01c11cf09cd  gcc/testsuite/g++.old-deja/g++.mike/p8154.C
  cbdb4e245f3353232e9b4d18983cdeea  gcc/testsuite/g++.old-deja/g++.mike/p8155.C
  96f6e9e43b5a2118bfbd47489b1c0a5b  gcc/testsuite/g++.old-deja/g++.mike/p8175.C
  a8d1f43c29337c73cef852c3b839c49f  gcc/testsuite/g++.old-deja/g++.mike/p8269.C
*************** cd57679bb2e5eddfd83825e786778b6d  gcc/te
*** 11692,11703 ****
--- 10486,10499 ----
  136b4927aff7a9815802dcaef30303c3  gcc/testsuite/g++.old-deja/g++.mike/thunk2.C
  115e216cdda5a2dd749db502b8bc2dbf  gcc/testsuite/g++.old-deja/g++.mike/thunk3.C
  952bab3887bfbee188ffdab05f3e1463  gcc/testsuite/g++.old-deja/g++.mike/unroll1.C
+ f1dd09d0807f74b83d30f98c2a377901  gcc/testsuite/g++.old-deja/g++.mike/unused.C
  acec0a7fe32250197bfe1e5bef3eec9a  gcc/testsuite/g++.old-deja/g++.mike/virt1.C
  c9f8fdb0cef02c349b963b6d7b46cb0c  gcc/testsuite/g++.old-deja/g++.mike/virt2.C
  16e7a5a23085274859869f3d73db9258  gcc/testsuite/g++.old-deja/g++.mike/virt3.C
  4ffc1ad480de5da586404bb6657533d8  gcc/testsuite/g++.old-deja/g++.mike/virt4.C
  69b70bb7f0d0b25db18baaf30351b004  gcc/testsuite/g++.old-deja/g++.mike/virt5.C
  7240cae0387b1d43adfbdb2539476c43  gcc/testsuite/g++.old-deja/g++.mike/virt6.C
+ b602c376ec5ff3d1db7c5a438588de18  gcc/testsuite/g++.old-deja/g++.mike/visibility-1.C
  7518c658d812f0b7b8fd0dbd60801a23  gcc/testsuite/g++.old-deja/g++.mike/vtable1.C
  20404a54c7fad50a5bf4291f11672d74  gcc/testsuite/g++.old-deja/g++.mike/warn1.C
  5f092c001d9cbc9ff1df604ef1450faa  gcc/testsuite/g++.old-deja/g++.mike/warn2.C
*************** f251f052e0ffb2f3365f84e0177f0cee  gcc/te
*** 11744,11750 ****
  3f29778f04a48040d4674da3cb03f761  gcc/testsuite/g++.old-deja/g++.ns/anon1.C
  1576f73d488f01626d95cc2b893b6fda  gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
  f4e9ca642ad2357663c99460eb9dc63d  gcc/testsuite/g++.old-deja/g++.ns/crash1.C
! f2775707c3aed0ffe540136cec94a376  gcc/testsuite/g++.old-deja/g++.ns/crash2.C
  09eaee0c15c01d4ecc5f7f840db179fd  gcc/testsuite/g++.old-deja/g++.ns/crash3.C
  e62c91a9ce451cfbd36af63f733470b6  gcc/testsuite/g++.old-deja/g++.ns/crash4.C
  e7ae6c01430fe184836d998bc4619af4  gcc/testsuite/g++.old-deja/g++.ns/extern1.C
--- 10540,10546 ----
  3f29778f04a48040d4674da3cb03f761  gcc/testsuite/g++.old-deja/g++.ns/anon1.C
  1576f73d488f01626d95cc2b893b6fda  gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
  f4e9ca642ad2357663c99460eb9dc63d  gcc/testsuite/g++.old-deja/g++.ns/crash1.C
! 3a95064d597c5a12f6a8fbcb78c86a9f  gcc/testsuite/g++.old-deja/g++.ns/crash2.C
  09eaee0c15c01d4ecc5f7f840db179fd  gcc/testsuite/g++.old-deja/g++.ns/crash3.C
  e62c91a9ce451cfbd36af63f733470b6  gcc/testsuite/g++.old-deja/g++.ns/crash4.C
  e7ae6c01430fe184836d998bc4619af4  gcc/testsuite/g++.old-deja/g++.ns/extern1.C
*************** d79eec58cdd08f618d30b9dbb15833d2  gcc/te
*** 11806,11812 ****
  a6d668c517d698af92324c4653d1daa3  gcc/testsuite/g++.old-deja/g++.ns/template4.C
  442e49475c9a00e4cbed4344561a2788  gcc/testsuite/g++.old-deja/g++.ns/template5.C
  8f3f01d9a9a8f5fdba3934718e292dbc  gcc/testsuite/g++.old-deja/g++.ns/template6.C
! 34c06be6a1b4414c54bc35ea12321ecb  gcc/testsuite/g++.old-deja/g++.ns/template7.C
  572350f61cd31fb645db99d27eea1ae9  gcc/testsuite/g++.old-deja/g++.ns/template8.C
  ee74d571b61ee2790eca68613745e54a  gcc/testsuite/g++.old-deja/g++.ns/template9.C
  407b4397b4f3b0785112e49bb5cd3005  gcc/testsuite/g++.old-deja/g++.ns/type1.C
--- 10602,10608 ----
  a6d668c517d698af92324c4653d1daa3  gcc/testsuite/g++.old-deja/g++.ns/template4.C
  442e49475c9a00e4cbed4344561a2788  gcc/testsuite/g++.old-deja/g++.ns/template5.C
  8f3f01d9a9a8f5fdba3934718e292dbc  gcc/testsuite/g++.old-deja/g++.ns/template6.C
! 1c6ee0a1bb618267fbe665d645884e8e  gcc/testsuite/g++.old-deja/g++.ns/template7.C
  572350f61cd31fb645db99d27eea1ae9  gcc/testsuite/g++.old-deja/g++.ns/template8.C
  ee74d571b61ee2790eca68613745e54a  gcc/testsuite/g++.old-deja/g++.ns/template9.C
  407b4397b4f3b0785112e49bb5cd3005  gcc/testsuite/g++.old-deja/g++.ns/type1.C
*************** c0116d02edfe6d83a6e0319b7ae43310  gcc/te
*** 11826,11832 ****
  ea73badcef0f5166a559e07a0c263a92  gcc/testsuite/g++.old-deja/g++.ns/using7.C
  e592ac6b9789af1e806b4791c984da05  gcc/testsuite/g++.old-deja/g++.ns/using8.C
  10a3890377e72341f4119f4affe2c8cb  gcc/testsuite/g++.old-deja/g++.ns/using9.C
! 79d8fff6d28bb85657810a7b49c44f5c  gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
  c17ab5a5d39a20786219d5cb72e8a956  gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C
  2a6be2a8952603f1259d7023b81ce14b  gcc/testsuite/g++.old-deja/g++.oliva/delete1.C
  8c0b3f49c2e5d5c224c1e0aae235e1d8  gcc/testsuite/g++.old-deja/g++.oliva/delete2.C
--- 10622,10628 ----
  ea73badcef0f5166a559e07a0c263a92  gcc/testsuite/g++.old-deja/g++.ns/using7.C
  e592ac6b9789af1e806b4791c984da05  gcc/testsuite/g++.old-deja/g++.ns/using8.C
  10a3890377e72341f4119f4affe2c8cb  gcc/testsuite/g++.old-deja/g++.ns/using9.C
! 9e8452b6c2a198a73590b6af9616a544  gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
  c17ab5a5d39a20786219d5cb72e8a956  gcc/testsuite/g++.old-deja/g++.oliva/ctor1.C
  2a6be2a8952603f1259d7023b81ce14b  gcc/testsuite/g++.old-deja/g++.oliva/delete1.C
  8c0b3f49c2e5d5c224c1e0aae235e1d8  gcc/testsuite/g++.old-deja/g++.oliva/delete2.C
*************** adf17e0939d138a664dee53d472271fc  gcc/te
*** 11848,11858 ****
  3d2970abfa048bad4c4b489daa7ae29b  gcc/testsuite/g++.old-deja/g++.oliva/new1.C
  ad3eac5cce6247b57053146272ad863a  gcc/testsuite/g++.old-deja/g++.oliva/ns1.C
  6145af5e9f76316b1d149f4bc47f97db  gcc/testsuite/g++.old-deja/g++.oliva/ns2.C
! 6af7a2a6c4d56caa13a70bf65581d972  gcc/testsuite/g++.old-deja/g++.oliva/ns3.C
  a4851a60e4447db2c00bf13331df6636  gcc/testsuite/g++.old-deja/g++.oliva/overload1.C
  a8f0075556adc14556aa2135bcce0a5a  gcc/testsuite/g++.old-deja/g++.oliva/partord1.C
  a656b8b55218fcec4683461b96e1edf2  gcc/testsuite/g++.old-deja/g++.oliva/partspec1.C
! 3045485ad85eb1c3888d9993fa683b8b  gcc/testsuite/g++.old-deja/g++.oliva/stkalign.C
  a8b8c54396ac1e6e04840dd1bdd28507  gcc/testsuite/g++.old-deja/g++.oliva/template1.C
  13f959e91589085e8519a7ce7cb5d4bc  gcc/testsuite/g++.old-deja/g++.oliva/template10.C
  44b10a016f12e19d08675ac7ff78ec8e  gcc/testsuite/g++.old-deja/g++.oliva/template2.C
--- 10644,10654 ----
  3d2970abfa048bad4c4b489daa7ae29b  gcc/testsuite/g++.old-deja/g++.oliva/new1.C
  ad3eac5cce6247b57053146272ad863a  gcc/testsuite/g++.old-deja/g++.oliva/ns1.C
  6145af5e9f76316b1d149f4bc47f97db  gcc/testsuite/g++.old-deja/g++.oliva/ns2.C
! 9909ce1d76f79ca2d7e88855206eeffd  gcc/testsuite/g++.old-deja/g++.oliva/ns3.C
  a4851a60e4447db2c00bf13331df6636  gcc/testsuite/g++.old-deja/g++.oliva/overload1.C
  a8f0075556adc14556aa2135bcce0a5a  gcc/testsuite/g++.old-deja/g++.oliva/partord1.C
  a656b8b55218fcec4683461b96e1edf2  gcc/testsuite/g++.old-deja/g++.oliva/partspec1.C
! 745068a3dc92318a7514be58f3413cb0  gcc/testsuite/g++.old-deja/g++.oliva/stkalign.C
  a8b8c54396ac1e6e04840dd1bdd28507  gcc/testsuite/g++.old-deja/g++.oliva/template1.C
  13f959e91589085e8519a7ce7cb5d4bc  gcc/testsuite/g++.old-deja/g++.oliva/template10.C
  44b10a016f12e19d08675ac7ff78ec8e  gcc/testsuite/g++.old-deja/g++.oliva/template2.C
*************** ca9037b495f56944f828e7c59cd45614  gcc/te
*** 11866,11872 ****
  4b5372652e1eeb1b3436dfab3fb0d564  gcc/testsuite/g++.old-deja/g++.oliva/thunk1.C
  d4ea4be0f27972210ed708dce5e36278  gcc/testsuite/g++.old-deja/g++.oliva/typename1.C
  ec472660515f0ea9e6421d6212594f55  gcc/testsuite/g++.old-deja/g++.oliva/typename2.C
! e31017d3526d754e20070f732115fe31  gcc/testsuite/g++.old-deja/g++.oliva/typeof1.C
  8f92a8912de7394d42ee9868868d7e1f  gcc/testsuite/g++.old-deja/g++.other/900403_04.C
  d2a61b5f238fbeef49772675bd6c035f  gcc/testsuite/g++.old-deja/g++.other/900519_12.C
  4781d101689a334ce5edaf88a1e77c83  gcc/testsuite/g++.old-deja/g++.other/access1.C
--- 10662,10668 ----
  4b5372652e1eeb1b3436dfab3fb0d564  gcc/testsuite/g++.old-deja/g++.oliva/thunk1.C
  d4ea4be0f27972210ed708dce5e36278  gcc/testsuite/g++.old-deja/g++.oliva/typename1.C
  ec472660515f0ea9e6421d6212594f55  gcc/testsuite/g++.old-deja/g++.oliva/typename2.C
! cb347c003d6bc4d2ac1cd3b8cb0a7ad5  gcc/testsuite/g++.old-deja/g++.oliva/typeof1.C
  8f92a8912de7394d42ee9868868d7e1f  gcc/testsuite/g++.old-deja/g++.other/900403_04.C
  d2a61b5f238fbeef49772675bd6c035f  gcc/testsuite/g++.old-deja/g++.other/900519_12.C
  4781d101689a334ce5edaf88a1e77c83  gcc/testsuite/g++.old-deja/g++.other/access1.C
*************** e421748ca6191ef379db9252886457f1  gcc/te
*** 11942,11947 ****
--- 10738,10745 ----
  7756a61db1fc4d85d7b1167d06769223  gcc/testsuite/g++.old-deja/g++.other/comdat3.h
  d9b19cd1292a38bce623a404c5c14601  gcc/testsuite/g++.old-deja/g++.other/comdat4-aux.cc
  f3481f025b2bc515a0e79ac333c18c02  gcc/testsuite/g++.old-deja/g++.other/comdat4.C
+ 44e2b03e9c416c2cd5a405c37911c07a  gcc/testsuite/g++.old-deja/g++.other/comdat5-aux.cc
+ e5db2d6a97ac67f92524f4281fa8fb40  gcc/testsuite/g++.old-deja/g++.other/comdat5.C
  7ce8357f84bf1c23ea2ef3e1897f0788  gcc/testsuite/g++.old-deja/g++.other/cond1.C
  adc0a6dcb5fd4ac47a11b684146ac09c  gcc/testsuite/g++.old-deja/g++.other/cond2.C
  a1c2753cfb142a358f8ffc3053ae4a4f  gcc/testsuite/g++.old-deja/g++.other/cond3.C
*************** a60d440d97e27b06efd91dce983278ee  gcc/te
*** 11971,11977 ****
  b0a2fa7128614543dd35f84eefd11f1a  gcc/testsuite/g++.old-deja/g++.other/crash13.C
  a41c516fa6d4cda9be81fec03b88b214  gcc/testsuite/g++.old-deja/g++.other/crash14.C
  86b31fd7ce431a2d82f09b6039da031c  gcc/testsuite/g++.old-deja/g++.other/crash15.C
! 945918b0a54aa087ec5db4e0143fe7f3  gcc/testsuite/g++.old-deja/g++.other/crash16.C
  7976e30c9ad8cf3f397394bd62325bcd  gcc/testsuite/g++.old-deja/g++.other/crash17.C
  0ab3c2f96220a27295790bc3c1e52831  gcc/testsuite/g++.old-deja/g++.other/crash19.C
  ac66e95a7eb0f724b07b49df214cb0be  gcc/testsuite/g++.old-deja/g++.other/crash2.C
--- 10769,10775 ----
  b0a2fa7128614543dd35f84eefd11f1a  gcc/testsuite/g++.old-deja/g++.other/crash13.C
  a41c516fa6d4cda9be81fec03b88b214  gcc/testsuite/g++.old-deja/g++.other/crash14.C
  86b31fd7ce431a2d82f09b6039da031c  gcc/testsuite/g++.old-deja/g++.other/crash15.C
! e2583d606408edde03d81c01b8ba817f  gcc/testsuite/g++.old-deja/g++.other/crash16.C
  7976e30c9ad8cf3f397394bd62325bcd  gcc/testsuite/g++.old-deja/g++.other/crash17.C
  0ab3c2f96220a27295790bc3c1e52831  gcc/testsuite/g++.old-deja/g++.other/crash19.C
  ac66e95a7eb0f724b07b49df214cb0be  gcc/testsuite/g++.old-deja/g++.other/crash2.C
*************** eb5fc8d3914bbcff1e195a301b96c52e  gcc/te
*** 11990,11996 ****
  1703e72cd30f5bb840b4131a1214464e  gcc/testsuite/g++.old-deja/g++.other/crash31.C
  4b488e0ee229b17e181b7bc4e6d4b5d9  gcc/testsuite/g++.old-deja/g++.other/crash32.C
  af86322780df2d44590d8b2285db668a  gcc/testsuite/g++.old-deja/g++.other/crash33.C
! 8e1d2906639bca7add8282583d2c8faf  gcc/testsuite/g++.old-deja/g++.other/crash34.C
  ba85d7fd72304bcf88631d504f0844f1  gcc/testsuite/g++.old-deja/g++.other/crash35.C
  d0032889a1a88a1e855cd15715dd4d70  gcc/testsuite/g++.old-deja/g++.other/crash36.C
  61401cb0f17765016e51789fdbcc7c87  gcc/testsuite/g++.old-deja/g++.other/crash37.C
--- 10788,10794 ----
  1703e72cd30f5bb840b4131a1214464e  gcc/testsuite/g++.old-deja/g++.other/crash31.C
  4b488e0ee229b17e181b7bc4e6d4b5d9  gcc/testsuite/g++.old-deja/g++.other/crash32.C
  af86322780df2d44590d8b2285db668a  gcc/testsuite/g++.old-deja/g++.other/crash33.C
! 8737598586da048dab5bd4c2c89c4eaf  gcc/testsuite/g++.old-deja/g++.other/crash34.C
  ba85d7fd72304bcf88631d504f0844f1  gcc/testsuite/g++.old-deja/g++.other/crash35.C
  d0032889a1a88a1e855cd15715dd4d70  gcc/testsuite/g++.old-deja/g++.other/crash36.C
  61401cb0f17765016e51789fdbcc7c87  gcc/testsuite/g++.old-deja/g++.other/crash37.C
*************** e44ad22b26a06856bf4b7933f64ab19d  gcc/te
*** 12171,12177 ****
  8f5f0bc1ea8aec63ad7e64ec0fb5a60d  gcc/testsuite/g++.old-deja/g++.other/linkage5.C
  031860326d5d4c1b03d2fa8b5333dc2b  gcc/testsuite/g++.old-deja/g++.other/linkage6.C
  9f0e982ef3a2802a121297c93371f22b  gcc/testsuite/g++.old-deja/g++.other/linkage7.C
! b955eaddeae1b9576c7ee4f0048e0d24  gcc/testsuite/g++.old-deja/g++.other/local-alloc1.C
  f02d7bee1a6e33dff41829b90a2f55e5  gcc/testsuite/g++.old-deja/g++.other/local1.C
  b0c55f20739e7cf716fcd5af1b14be8b  gcc/testsuite/g++.old-deja/g++.other/local2.C
  d66fe3a8dd3fe648291bfe2f4d9cff5d  gcc/testsuite/g++.old-deja/g++.other/local3.C
--- 10969,10975 ----
  8f5f0bc1ea8aec63ad7e64ec0fb5a60d  gcc/testsuite/g++.old-deja/g++.other/linkage5.C
  031860326d5d4c1b03d2fa8b5333dc2b  gcc/testsuite/g++.old-deja/g++.other/linkage6.C
  9f0e982ef3a2802a121297c93371f22b  gcc/testsuite/g++.old-deja/g++.other/linkage7.C
! 08b0493ebead2aa74f709950c2bff1ea  gcc/testsuite/g++.old-deja/g++.other/local-alloc1.C
  f02d7bee1a6e33dff41829b90a2f55e5  gcc/testsuite/g++.old-deja/g++.other/local1.C
  b0c55f20739e7cf716fcd5af1b14be8b  gcc/testsuite/g++.old-deja/g++.other/local2.C
  d66fe3a8dd3fe648291bfe2f4d9cff5d  gcc/testsuite/g++.old-deja/g++.other/local3.C
*************** ec3df6ff05f5895bbe08f752327dc07a  gcc/te
*** 12194,12200 ****
  5ea9b908bb1ed71c03d053c66cbcbcee  gcc/testsuite/g++.old-deja/g++.other/lookup23.C
  3bd35389c0d7c63e698e0dd66eac2663  gcc/testsuite/g++.old-deja/g++.other/lookup3.C
  2adb0f0075c1250803736bde31fee757  gcc/testsuite/g++.old-deja/g++.other/lookup4.C
! 6c16783efe90113867666ccaec907ffb  gcc/testsuite/g++.old-deja/g++.other/lookup5.C
  2e55b1de5c1daaf0fb4be724a8387f6e  gcc/testsuite/g++.old-deja/g++.other/lookup6.C
  ebd8f7c10cb0f38aaab48d284f174530  gcc/testsuite/g++.old-deja/g++.other/lookup7.C
  83207211c82e3d97cf37257247e71e10  gcc/testsuite/g++.old-deja/g++.other/lookup8.C
--- 10992,10998 ----
  5ea9b908bb1ed71c03d053c66cbcbcee  gcc/testsuite/g++.old-deja/g++.other/lookup23.C
  3bd35389c0d7c63e698e0dd66eac2663  gcc/testsuite/g++.old-deja/g++.other/lookup3.C
  2adb0f0075c1250803736bde31fee757  gcc/testsuite/g++.old-deja/g++.other/lookup4.C
! 0c9ba209e786b7b5cc7c7d95cf1b823c  gcc/testsuite/g++.old-deja/g++.other/lookup5.C
  2e55b1de5c1daaf0fb4be724a8387f6e  gcc/testsuite/g++.old-deja/g++.other/lookup6.C
  ebd8f7c10cb0f38aaab48d284f174530  gcc/testsuite/g++.old-deja/g++.other/lookup7.C
  83207211c82e3d97cf37257247e71e10  gcc/testsuite/g++.old-deja/g++.other/lookup8.C
*************** ce00cea856ec8d8bf5df0e966319573e  gcc/te
*** 12250,12256 ****
  a2272ed46f0dfbf3a43486c9c3083da5  gcc/testsuite/g++.old-deja/g++.other/perf1.C
  4098c06dcc9bbc0bbbe416ca5d88a064  gcc/testsuite/g++.old-deja/g++.other/pmf1.C
  24409f65f5180d90e9b1dccd3ab7fede  gcc/testsuite/g++.old-deja/g++.other/pmf2.C
! 800dcf851faf9901632610db927b5f5d  gcc/testsuite/g++.old-deja/g++.other/pmf3.C
  9a3b6813081867a1df6cba19658db429  gcc/testsuite/g++.old-deja/g++.other/pmf4.C
  d2bcb17f853c43ef64a4867c0150e323  gcc/testsuite/g++.old-deja/g++.other/pmf5.C
  b31a25b82d28a89a3180f169923be884  gcc/testsuite/g++.old-deja/g++.other/pmf6.C
--- 11048,11054 ----
  a2272ed46f0dfbf3a43486c9c3083da5  gcc/testsuite/g++.old-deja/g++.other/perf1.C
  4098c06dcc9bbc0bbbe416ca5d88a064  gcc/testsuite/g++.old-deja/g++.other/pmf1.C
  24409f65f5180d90e9b1dccd3ab7fede  gcc/testsuite/g++.old-deja/g++.other/pmf2.C
! 9f0149ceef3998778510e150cb81cf3a  gcc/testsuite/g++.old-deja/g++.other/pmf3.C
  9a3b6813081867a1df6cba19658db429  gcc/testsuite/g++.old-deja/g++.other/pmf4.C
  d2bcb17f853c43ef64a4867c0150e323  gcc/testsuite/g++.old-deja/g++.other/pmf5.C
  b31a25b82d28a89a3180f169923be884  gcc/testsuite/g++.old-deja/g++.other/pmf6.C
*************** a72ffc53a7a0019d3ab3c81b13884063  gcc/te
*** 12279,12285 ****
  79d707ba18e6801d7bcfcbfa35d50f7a  gcc/testsuite/g++.old-deja/g++.other/ref4.C
  2b5e35f667bf97fa9e5512c25a5c776b  gcc/testsuite/g++.old-deja/g++.other/refinit1.C
  46335621d24696cad55e77a231ae9250  gcc/testsuite/g++.old-deja/g++.other/refinit2.C
! dba3a7f1833cf2770a904734f08b0373  gcc/testsuite/g++.old-deja/g++.other/regstack.C
  0467e717fdd659d1980c52044a16d1e1  gcc/testsuite/g++.old-deja/g++.other/reload1.C
  9c8cbb38ce8d4bece4eccb6a484c763c  gcc/testsuite/g++.old-deja/g++.other/return1.C
  975c6f5dc39ccf0719efb4a802333342  gcc/testsuite/g++.old-deja/g++.other/rtti1.C
--- 11077,11083 ----
  79d707ba18e6801d7bcfcbfa35d50f7a  gcc/testsuite/g++.old-deja/g++.other/ref4.C
  2b5e35f667bf97fa9e5512c25a5c776b  gcc/testsuite/g++.old-deja/g++.other/refinit1.C
  46335621d24696cad55e77a231ae9250  gcc/testsuite/g++.old-deja/g++.other/refinit2.C
! 94c5e744c201427e7b5dffedacfb7873  gcc/testsuite/g++.old-deja/g++.other/regstack.C
  0467e717fdd659d1980c52044a16d1e1  gcc/testsuite/g++.old-deja/g++.other/reload1.C
  9c8cbb38ce8d4bece4eccb6a484c763c  gcc/testsuite/g++.old-deja/g++.other/return1.C
  975c6f5dc39ccf0719efb4a802333342  gcc/testsuite/g++.old-deja/g++.other/rtti1.C
*************** b28df6285579d288eb89eb3ea95583cc  gcc/te
*** 12321,12328 ****
  23786dd5fb572a82513966937e1133a0  gcc/testsuite/g++.old-deja/g++.other/std1.C
  01e666c7606315a2bef1f5933007d6dc  gcc/testsuite/g++.old-deja/g++.other/stmtexpr1.C
  efe0ae4dc8f0b66c61c03ab2a35a0a2a  gcc/testsuite/g++.old-deja/g++.other/stmtexpr2.C
! 65030a416435ccffa5f6422b46320faa  gcc/testsuite/g++.old-deja/g++.other/store-expr1.C
! dd80ce3f43807388565a5bb67d791e72  gcc/testsuite/g++.old-deja/g++.other/store-expr2.C
  92b98ec5c36a99fa733a7b345e6d5d26  gcc/testsuite/g++.old-deja/g++.other/string1.C
  54063a09aa297bbbcf4708e110652da3  gcc/testsuite/g++.old-deja/g++.other/string2.C
  d0fef28f76677a1cd976d576a9a7fd19  gcc/testsuite/g++.old-deja/g++.other/struct1.C
--- 11119,11126 ----
  23786dd5fb572a82513966937e1133a0  gcc/testsuite/g++.old-deja/g++.other/std1.C
  01e666c7606315a2bef1f5933007d6dc  gcc/testsuite/g++.old-deja/g++.other/stmtexpr1.C
  efe0ae4dc8f0b66c61c03ab2a35a0a2a  gcc/testsuite/g++.old-deja/g++.other/stmtexpr2.C
! 929da533870f12dea62d107f3efdbf9c  gcc/testsuite/g++.old-deja/g++.other/store-expr1.C
! 85453f43ce18c96c4eb59fbee21b435e  gcc/testsuite/g++.old-deja/g++.other/store-expr2.C
  92b98ec5c36a99fa733a7b345e6d5d26  gcc/testsuite/g++.old-deja/g++.other/string1.C
  54063a09aa297bbbcf4708e110652da3  gcc/testsuite/g++.old-deja/g++.other/string2.C
  d0fef28f76677a1cd976d576a9a7fd19  gcc/testsuite/g++.old-deja/g++.other/struct1.C
*************** d53c4432baa20a0f63dd7f479d478d65  gcc/te
*** 12385,12391 ****
  eb95e5130876ef3196237bb42ac3c02a  gcc/testsuite/g++.old-deja/g++.other/vtbl2.C
  92af271225d9aaa11fbb66029eb292ac  gcc/testsuite/g++.old-deja/g++.other/warn01.C
  e0c5738b58b2d27b9f96b0529725fe5e  gcc/testsuite/g++.old-deja/g++.other/warn3.C
! 06ca7f2bda2a3134a177b1c3ae16b9da  gcc/testsuite/g++.old-deja/g++.other/warn4.C
  fbe9ec3566cd58bff749af239478babb  gcc/testsuite/g++.old-deja/g++.other/warn5.C
  1590efed7b08e3e0a0e31739b2953e82  gcc/testsuite/g++.old-deja/g++.other/warn6.C
  c28a879506c3f174191552c356bfd7fe  gcc/testsuite/g++.old-deja/g++.other/warn7.C
--- 11183,11189 ----
  eb95e5130876ef3196237bb42ac3c02a  gcc/testsuite/g++.old-deja/g++.other/vtbl2.C
  92af271225d9aaa11fbb66029eb292ac  gcc/testsuite/g++.old-deja/g++.other/warn01.C
  e0c5738b58b2d27b9f96b0529725fe5e  gcc/testsuite/g++.old-deja/g++.other/warn3.C
! dc72e59be36ff4c5f42b6dffbff9db98  gcc/testsuite/g++.old-deja/g++.other/warn4.C
  fbe9ec3566cd58bff749af239478babb  gcc/testsuite/g++.old-deja/g++.other/warn5.C
  1590efed7b08e3e0a0e31739b2953e82  gcc/testsuite/g++.old-deja/g++.other/warn6.C
  c28a879506c3f174191552c356bfd7fe  gcc/testsuite/g++.old-deja/g++.other/warn7.C
*************** d83edbe52eb7bc716fbb4d703952fd5c  gcc/te
*** 12397,12404 ****
  d54d7f76b19f79dd290e5553a5679f48  gcc/testsuite/g++.old-deja/g++.pt/array5.C
  9deafe0c23dcd9d4742de631c72fa4d3  gcc/testsuite/g++.old-deja/g++.pt/array6.C
  0bf7b9320971f79173514bee96bfc707  gcc/testsuite/g++.old-deja/g++.pt/array7.C
! 39e58add05338af8d0985ac7132b1862  gcc/testsuite/g++.old-deja/g++.pt/asm1.C
! 6b8d98e605086ee36d9c37883403feae  gcc/testsuite/g++.old-deja/g++.pt/asm2.C
  df13d28bbf26a454f863dc63645ae86e  gcc/testsuite/g++.old-deja/g++.pt/assign1.C
  d4cf31c7ccc3352854005754527b4dab  gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C
  1adb535176b9d881aafd1bb9dc833b29  gcc/testsuite/g++.old-deja/g++.pt/bad-type.C
--- 11195,11202 ----
  d54d7f76b19f79dd290e5553a5679f48  gcc/testsuite/g++.old-deja/g++.pt/array5.C
  9deafe0c23dcd9d4742de631c72fa4d3  gcc/testsuite/g++.old-deja/g++.pt/array6.C
  0bf7b9320971f79173514bee96bfc707  gcc/testsuite/g++.old-deja/g++.pt/array7.C
! 9ad6c674ab6a9f9b3887f2753be55e8e  gcc/testsuite/g++.old-deja/g++.pt/asm1.C
! 6e7995b25cead45381bee1b2b6852987  gcc/testsuite/g++.old-deja/g++.pt/asm2.C
  df13d28bbf26a454f863dc63645ae86e  gcc/testsuite/g++.old-deja/g++.pt/assign1.C
  d4cf31c7ccc3352854005754527b4dab  gcc/testsuite/g++.old-deja/g++.pt/auto_ptr.C
  1adb535176b9d881aafd1bb9dc833b29  gcc/testsuite/g++.old-deja/g++.pt/bad-type.C
*************** be61b4f9c204928b91f812a20e086e44  gcc/te
*** 12477,12483 ****
  c123d0b9a12303c4b06fb3047614c601  gcc/testsuite/g++.old-deja/g++.pt/crash62.C
  7d86f366dec7adde6f297f1ba3ad2238  gcc/testsuite/g++.old-deja/g++.pt/crash63.C
  794c7a8a3273bd49aedaeef3511992c6  gcc/testsuite/g++.old-deja/g++.pt/crash64.C
! b75a0ba2d4da59f1f260adbc51f0c347  gcc/testsuite/g++.old-deja/g++.pt/crash65.C
  1a9c4871548707b67769bd59919e484e  gcc/testsuite/g++.old-deja/g++.pt/crash66.C
  f22cf44c7dbbb47eb64c9173b3afe6c9  gcc/testsuite/g++.old-deja/g++.pt/crash67.C
  502197be06adfab93a6d99ec37627e5a  gcc/testsuite/g++.old-deja/g++.pt/crash68.C
--- 11275,11281 ----
  c123d0b9a12303c4b06fb3047614c601  gcc/testsuite/g++.old-deja/g++.pt/crash62.C
  7d86f366dec7adde6f297f1ba3ad2238  gcc/testsuite/g++.old-deja/g++.pt/crash63.C
  794c7a8a3273bd49aedaeef3511992c6  gcc/testsuite/g++.old-deja/g++.pt/crash64.C
! eee558a87fd483e023ed6affab310325  gcc/testsuite/g++.old-deja/g++.pt/crash65.C
  1a9c4871548707b67769bd59919e484e  gcc/testsuite/g++.old-deja/g++.pt/crash66.C
  f22cf44c7dbbb47eb64c9173b3afe6c9  gcc/testsuite/g++.old-deja/g++.pt/crash67.C
  502197be06adfab93a6d99ec37627e5a  gcc/testsuite/g++.old-deja/g++.pt/crash68.C
*************** b6c28f8d9c60b1c777cf66332b3e36a9  gcc/te
*** 12488,12494 ****
  d6dc74584a2ef3f12aaa3209271d7ae1  gcc/testsuite/g++.old-deja/g++.pt/ctor2.C
  ad2cc6cd72ed2f9aa4e2d8675680e0f2  gcc/testsuite/g++.old-deja/g++.pt/debug1.C
  7ff13cbadc027cf3969e195ccccf78aa  gcc/testsuite/g++.old-deja/g++.pt/decl1.C
! 7842985d032379adae96073498651be5  gcc/testsuite/g++.old-deja/g++.pt/decl2.C
  9f475a21ce5a4015b7f0d2ca639eac21  gcc/testsuite/g++.old-deja/g++.pt/decl3.C
  bb80eeb4577bc0be3bc12a6e2efd2bef  gcc/testsuite/g++.old-deja/g++.pt/decl4.C
  eaff282b339b621747f695a9dbfae2db  gcc/testsuite/g++.old-deja/g++.pt/deduct1.C
--- 11286,11292 ----
  d6dc74584a2ef3f12aaa3209271d7ae1  gcc/testsuite/g++.old-deja/g++.pt/ctor2.C
  ad2cc6cd72ed2f9aa4e2d8675680e0f2  gcc/testsuite/g++.old-deja/g++.pt/debug1.C
  7ff13cbadc027cf3969e195ccccf78aa  gcc/testsuite/g++.old-deja/g++.pt/decl1.C
! 9858f161fed7cab46f56279efd868f75  gcc/testsuite/g++.old-deja/g++.pt/decl2.C
  9f475a21ce5a4015b7f0d2ca639eac21  gcc/testsuite/g++.old-deja/g++.pt/decl3.C
  bb80eeb4577bc0be3bc12a6e2efd2bef  gcc/testsuite/g++.old-deja/g++.pt/decl4.C
  eaff282b339b621747f695a9dbfae2db  gcc/testsuite/g++.old-deja/g++.pt/deduct1.C
*************** d913b4d7e260746c46c4f6fb5d0d25af  gcc/te
*** 12604,12610 ****
  917c36ea68204c0b56125939b620134c  gcc/testsuite/g++.old-deja/g++.pt/explicit73.C
  695894147e35bacef9739ba9e6da11f6  gcc/testsuite/g++.old-deja/g++.pt/explicit74.C
  6dc249c48a7588e19f2cda04b44f8be4  gcc/testsuite/g++.old-deja/g++.pt/explicit75.C
! 2ca7613f23beba521ab33c7b8c5ca5cf  gcc/testsuite/g++.old-deja/g++.pt/explicit76.C
  7337d0a835d1b23098bea63fddcf4dfd  gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
  a0032889c996056c4231f106c2bfc43d  gcc/testsuite/g++.old-deja/g++.pt/explicit78.C
  0a01afb5703d9cccdd8b1ca091e20bb6  gcc/testsuite/g++.old-deja/g++.pt/explicit79.C
--- 11402,11408 ----
  917c36ea68204c0b56125939b620134c  gcc/testsuite/g++.old-deja/g++.pt/explicit73.C
  695894147e35bacef9739ba9e6da11f6  gcc/testsuite/g++.old-deja/g++.pt/explicit74.C
  6dc249c48a7588e19f2cda04b44f8be4  gcc/testsuite/g++.old-deja/g++.pt/explicit75.C
! 2104f62c7cc5239c486541c241ef89b5  gcc/testsuite/g++.old-deja/g++.pt/explicit76.C
  7337d0a835d1b23098bea63fddcf4dfd  gcc/testsuite/g++.old-deja/g++.pt/explicit77.C
  a0032889c996056c4231f106c2bfc43d  gcc/testsuite/g++.old-deja/g++.pt/explicit78.C
  0a01afb5703d9cccdd8b1ca091e20bb6  gcc/testsuite/g++.old-deja/g++.pt/explicit79.C
*************** b5f83a28cbe580ee876974ea015b9d4f  gcc/te
*** 12675,12681 ****
  3823c4b603c5980ffaaca546e8f650ad  gcc/testsuite/g++.old-deja/g++.pt/incomplete1.C
  e42daa256f472c2009a390901c27fd6c  gcc/testsuite/g++.old-deja/g++.pt/infinite1.C
  b3a04570db4fdb69f0df03a3fcf1d309  gcc/testsuite/g++.old-deja/g++.pt/inherit1.C
! 28244f1f50e65130b38d7d0bd5734730  gcc/testsuite/g++.old-deja/g++.pt/inherit2.C
  df8b6fb117055d3030ac4a16e7d9652b  gcc/testsuite/g++.old-deja/g++.pt/inject1.C
  2561cc9788102a262f6b817b51c51ea8  gcc/testsuite/g++.old-deja/g++.pt/inject2.C
  9becc6b60e24b9b917c3240eb67cdf79  gcc/testsuite/g++.old-deja/g++.pt/inline1.C
--- 11473,11479 ----
  3823c4b603c5980ffaaca546e8f650ad  gcc/testsuite/g++.old-deja/g++.pt/incomplete1.C
  e42daa256f472c2009a390901c27fd6c  gcc/testsuite/g++.old-deja/g++.pt/infinite1.C
  b3a04570db4fdb69f0df03a3fcf1d309  gcc/testsuite/g++.old-deja/g++.pt/inherit1.C
! bce617d75e4dab85e3ef89e7ab113a6f  gcc/testsuite/g++.old-deja/g++.pt/inherit2.C
  df8b6fb117055d3030ac4a16e7d9652b  gcc/testsuite/g++.old-deja/g++.pt/inject1.C
  2561cc9788102a262f6b817b51c51ea8  gcc/testsuite/g++.old-deja/g++.pt/inject2.C
  9becc6b60e24b9b917c3240eb67cdf79  gcc/testsuite/g++.old-deja/g++.pt/inline1.C
*************** e7ee5bb602fee5b34b1fc6b20d8d756c  gcc/te
*** 12687,12697 ****
  d7cca84493aad98aec660bbff1f5b1c5  gcc/testsuite/g++.old-deja/g++.pt/instantiate13.C
  7aec59bb622f42c16476e3d897fb0cb4  gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C
  d312822e3a0567debe161e80a9852c67  gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C
! a5ca1d866e40cca468eb206af2cc31ce  gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
  b72705507b458d57e4782a54d6d2ee76  gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc
  d9a0eaaa98a929b13cc2a5f883260640  gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C
  4b60596da1a9f558f49d041b04457130  gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc
! c8392ed4207930b9f1220cdc2e22fc75  gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
  d98d69ee99fb3f74d27827ff24fb8b3c  gcc/testsuite/g++.old-deja/g++.pt/instantiate7.C
  b760cfdba7c16665da061ab5cab1fa55  gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C
  9b52836d0b5cc24477740b8ffda0b8b4  gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C
--- 11485,11495 ----
  d7cca84493aad98aec660bbff1f5b1c5  gcc/testsuite/g++.old-deja/g++.pt/instantiate13.C
  7aec59bb622f42c16476e3d897fb0cb4  gcc/testsuite/g++.old-deja/g++.pt/instantiate2.C
  d312822e3a0567debe161e80a9852c67  gcc/testsuite/g++.old-deja/g++.pt/instantiate3.C
! e845846d7da8624f5b8ffa036f0ed48f  gcc/testsuite/g++.old-deja/g++.pt/instantiate4.C
  b72705507b458d57e4782a54d6d2ee76  gcc/testsuite/g++.old-deja/g++.pt/instantiate5-main.cc
  d9a0eaaa98a929b13cc2a5f883260640  gcc/testsuite/g++.old-deja/g++.pt/instantiate5.C
  4b60596da1a9f558f49d041b04457130  gcc/testsuite/g++.old-deja/g++.pt/instantiate5.cc
! 2ee98ffa249fe85f963b4fd1643a19a8  gcc/testsuite/g++.old-deja/g++.pt/instantiate6.C
  d98d69ee99fb3f74d27827ff24fb8b3c  gcc/testsuite/g++.old-deja/g++.pt/instantiate7.C
  b760cfdba7c16665da061ab5cab1fa55  gcc/testsuite/g++.old-deja/g++.pt/instantiate8.C
  9b52836d0b5cc24477740b8ffda0b8b4  gcc/testsuite/g++.old-deja/g++.pt/instantiate9.C
*************** dfe226bdc2e8df4b798d0ebefbd4ccc1  gcc/te
*** 12824,12837 ****
  da317d4362dac970d00f3f8d92723e35  gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C
  36f92bddcd9a081e531e4ab67b6bf3fa  gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C
  7cf08f0eb255714be41e1bc90c91a2ca  gcc/testsuite/g++.old-deja/g++.pt/memtemp84.C
! df9f634268e7dfba37923eb846f98ddb  gcc/testsuite/g++.old-deja/g++.pt/memtemp85.C
! 6c4ea13fd8d5c060928a26188200253f  gcc/testsuite/g++.old-deja/g++.pt/memtemp86.C
! c6df8a3141bcf1108cd8f1d56d48b732  gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C
! bec2d8360d06d67f73cd10405ba44a03  gcc/testsuite/g++.old-deja/g++.pt/memtemp88.C
  9e390bf90a7c130f4742ac3047c677eb  gcc/testsuite/g++.old-deja/g++.pt/memtemp89.C
  ca7227714ddc7523bdb374afe260b78f  gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C
  1b5dea7a688d8cd29ce6daa44e226a12  gcc/testsuite/g++.old-deja/g++.pt/memtemp90.C
! 0ac5d5ecda2be2ccb021043fa8955448  gcc/testsuite/g++.old-deja/g++.pt/memtemp91.C
  540eb82bf8e3b6776f6a090e68ebf3f7  gcc/testsuite/g++.old-deja/g++.pt/memtemp92.C
  f35cb75300dd054bed326f0c936c8d1b  gcc/testsuite/g++.old-deja/g++.pt/memtemp93.C
  c0b5553d772c8bdf4602ec9e397bc5a8  gcc/testsuite/g++.old-deja/g++.pt/memtemp94.C
--- 11622,11635 ----
  da317d4362dac970d00f3f8d92723e35  gcc/testsuite/g++.old-deja/g++.pt/memtemp82.C
  36f92bddcd9a081e531e4ab67b6bf3fa  gcc/testsuite/g++.old-deja/g++.pt/memtemp83.C
  7cf08f0eb255714be41e1bc90c91a2ca  gcc/testsuite/g++.old-deja/g++.pt/memtemp84.C
! e998842784d030d4fab2fcc177428ba6  gcc/testsuite/g++.old-deja/g++.pt/memtemp85.C
! f4d80a9a5994f70c15b091b311c9c1ca  gcc/testsuite/g++.old-deja/g++.pt/memtemp86.C
! 96b94f804d043bb43fefbc1e5d99f357  gcc/testsuite/g++.old-deja/g++.pt/memtemp87.C
! 74da4a1f0bfefc0429afd33a40acfb2b  gcc/testsuite/g++.old-deja/g++.pt/memtemp88.C
  9e390bf90a7c130f4742ac3047c677eb  gcc/testsuite/g++.old-deja/g++.pt/memtemp89.C
  ca7227714ddc7523bdb374afe260b78f  gcc/testsuite/g++.old-deja/g++.pt/memtemp9.C
  1b5dea7a688d8cd29ce6daa44e226a12  gcc/testsuite/g++.old-deja/g++.pt/memtemp90.C
! 64b0ec0600dc4ef8f513f0194fe7257d  gcc/testsuite/g++.old-deja/g++.pt/memtemp91.C
  540eb82bf8e3b6776f6a090e68ebf3f7  gcc/testsuite/g++.old-deja/g++.pt/memtemp92.C
  f35cb75300dd054bed326f0c936c8d1b  gcc/testsuite/g++.old-deja/g++.pt/memtemp93.C
  c0b5553d772c8bdf4602ec9e397bc5a8  gcc/testsuite/g++.old-deja/g++.pt/memtemp94.C
*************** f52f7adcc5fe58e460e0e642279da385  gcc/te
*** 12900,12909 ****
  9496be7cce9dca2d16421479e66c783d  gcc/testsuite/g++.old-deja/g++.pt/ref2.C
  0326d6254bda67a154ca4ff2b4bd4982  gcc/testsuite/g++.old-deja/g++.pt/ref3.C
  eca3b76193c99a555bee74a6025d82bc  gcc/testsuite/g++.old-deja/g++.pt/ref4.C
! 45668375eabeecc04c7804e8f4c4ac31  gcc/testsuite/g++.old-deja/g++.pt/repo1.C
! 8ded0512d0ef747dca23eb8e932cdd90  gcc/testsuite/g++.old-deja/g++.pt/repo2.C
! 3bd9569eef91348b9e3b42428ee1fda5  gcc/testsuite/g++.old-deja/g++.pt/repo3.C
! 564a9506161fe3a36063884050ddb29f  gcc/testsuite/g++.old-deja/g++.pt/repo4.C
  a8546d341b42085260ccd351b918e18c  gcc/testsuite/g++.old-deja/g++.pt/scope1.C
  7259c6f6b64b40712386f6548cabea8e  gcc/testsuite/g++.old-deja/g++.pt/shadow1.C
  7832134a73622623fa6b54ea86054246  gcc/testsuite/g++.old-deja/g++.pt/shadow2.C
--- 11698,11707 ----
  9496be7cce9dca2d16421479e66c783d  gcc/testsuite/g++.old-deja/g++.pt/ref2.C
  0326d6254bda67a154ca4ff2b4bd4982  gcc/testsuite/g++.old-deja/g++.pt/ref3.C
  eca3b76193c99a555bee74a6025d82bc  gcc/testsuite/g++.old-deja/g++.pt/ref4.C
! 6b1d72dc6eecb2b37118aa31fe595963  gcc/testsuite/g++.old-deja/g++.pt/repo1.C
! 70573390dfa048586be63b1376c0cc17  gcc/testsuite/g++.old-deja/g++.pt/repo2.C
! 708e3b162e1743753812f17300a3b1b8  gcc/testsuite/g++.old-deja/g++.pt/repo3.C
! d747a227ff5bc9921084ca7dec2118a7  gcc/testsuite/g++.old-deja/g++.pt/repo4.C
  a8546d341b42085260ccd351b918e18c  gcc/testsuite/g++.old-deja/g++.pt/scope1.C
  7259c6f6b64b40712386f6548cabea8e  gcc/testsuite/g++.old-deja/g++.pt/shadow1.C
  7832134a73622623fa6b54ea86054246  gcc/testsuite/g++.old-deja/g++.pt/shadow2.C
*************** c42a41548aa56c8333e7d2c7000231f1  gcc/te
*** 12915,12921 ****
  e9268b8e99b3745bcf73bd2daf3e5819  gcc/testsuite/g++.old-deja/g++.pt/spec11.C
  629a9c9d3e53fc2a9cb8b0f4f7590172  gcc/testsuite/g++.old-deja/g++.pt/spec12.C
  f0dc61d0c11cfe14e42aed869ff6453d  gcc/testsuite/g++.old-deja/g++.pt/spec13.C
! e2577a49036477f87cd10f104d0c45dd  gcc/testsuite/g++.old-deja/g++.pt/spec14.C
  2f8e3ba39b62e7596b8074418d5931ca  gcc/testsuite/g++.old-deja/g++.pt/spec15.C
  64311d9b9b0edd106090cad4ab1185f1  gcc/testsuite/g++.old-deja/g++.pt/spec16.C
  fa0318448a07e1f2736619aa01d8732d  gcc/testsuite/g++.old-deja/g++.pt/spec17.C
--- 11713,11719 ----
  e9268b8e99b3745bcf73bd2daf3e5819  gcc/testsuite/g++.old-deja/g++.pt/spec11.C
  629a9c9d3e53fc2a9cb8b0f4f7590172  gcc/testsuite/g++.old-deja/g++.pt/spec12.C
  f0dc61d0c11cfe14e42aed869ff6453d  gcc/testsuite/g++.old-deja/g++.pt/spec13.C
! fea725bbf029652eac5230a4f7249377  gcc/testsuite/g++.old-deja/g++.pt/spec14.C
  2f8e3ba39b62e7596b8074418d5931ca  gcc/testsuite/g++.old-deja/g++.pt/spec15.C
  64311d9b9b0edd106090cad4ab1185f1  gcc/testsuite/g++.old-deja/g++.pt/spec16.C
  fa0318448a07e1f2736619aa01d8732d  gcc/testsuite/g++.old-deja/g++.pt/spec17.C
*************** cad9794eab82bd6f8f2d29e8df55bda4  gcc/te
*** 12952,12958 ****
  3612c391a5a866716ef9cd0a70802bfe  gcc/testsuite/g++.old-deja/g++.pt/spec8.C
  a8e3f81a6b6d012a1195ec088520808e  gcc/testsuite/g++.old-deja/g++.pt/spec9.C
  e0d0fe1b8240ee54372126de5a91f0c7  gcc/testsuite/g++.old-deja/g++.pt/static1.C
! 37a7d6a67124f94d78e607a0f16123af  gcc/testsuite/g++.old-deja/g++.pt/static10.C
  0a291e82989d5cef0104e90da5938b98  gcc/testsuite/g++.old-deja/g++.pt/static11.C
  b0ee25173b0e8adc17515578b0821f22  gcc/testsuite/g++.old-deja/g++.pt/static2.C
  cce93274cc52f32776c18c658a1f9dde  gcc/testsuite/g++.old-deja/g++.pt/static3.C
--- 11750,11756 ----
  3612c391a5a866716ef9cd0a70802bfe  gcc/testsuite/g++.old-deja/g++.pt/spec8.C
  a8e3f81a6b6d012a1195ec088520808e  gcc/testsuite/g++.old-deja/g++.pt/spec9.C
  e0d0fe1b8240ee54372126de5a91f0c7  gcc/testsuite/g++.old-deja/g++.pt/static1.C
! 6e1f9dfcbea7082174a6264d33e93969  gcc/testsuite/g++.old-deja/g++.pt/static10.C
  0a291e82989d5cef0104e90da5938b98  gcc/testsuite/g++.old-deja/g++.pt/static11.C
  b0ee25173b0e8adc17515578b0821f22  gcc/testsuite/g++.old-deja/g++.pt/static2.C
  cce93274cc52f32776c18c658a1f9dde  gcc/testsuite/g++.old-deja/g++.pt/static3.C
*************** a085e6cf1eca394616113132643a792e  gcc/te
*** 13248,13254 ****
  1eb9a1d899e84b46785ab32efead0469  gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
  78c03dfd8616d6624f4aa754373b8727  gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
  bf4dffe16b0ade11667a1a290a8444f4  gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
! 6f69d51b24af6b9f4deb0acbb9858379  gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
  82ebc0a368a4d3db129faff1d32ded02  gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
  451d74d332d1ebd3febbf9f2fdef05d5  gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
  1b1d44ab52323a9942ada2f5c6a0042c  gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
--- 12046,12052 ----
  1eb9a1d899e84b46785ab32efead0469  gcc/testsuite/g++.old-deja/g++.robertl/eb80.C
  78c03dfd8616d6624f4aa754373b8727  gcc/testsuite/g++.old-deja/g++.robertl/eb81.C
  bf4dffe16b0ade11667a1a290a8444f4  gcc/testsuite/g++.old-deja/g++.robertl/eb82.C
! 24392840d4084b13ca449e1d760737f6  gcc/testsuite/g++.old-deja/g++.robertl/eb83.C
  82ebc0a368a4d3db129faff1d32ded02  gcc/testsuite/g++.old-deja/g++.robertl/eb84.C
  451d74d332d1ebd3febbf9f2fdef05d5  gcc/testsuite/g++.old-deja/g++.robertl/eb86.C
  1b1d44ab52323a9942ada2f5c6a0042c  gcc/testsuite/g++.old-deja/g++.robertl/eb87.C
*************** eb132b2311aaf54983cf7abacab06e28  gcc/te
*** 13284,13290 ****
  ba26331ea379fdf3ed035f76593a9b92  gcc/testsuite/g++.old-deja/g++.warn/inline.C
  d53cb2073c8f36697f63dfe19779eb13  gcc/testsuite/g++.old-deja/g++.warn/iomanip.C
  8005975800b73ab7a05b4dd3e210a9c3  gcc/testsuite/g++.old-deja/g++.warn/virt1.C
! 530c4c57e5ffb42aab11ba0b2750b505  gcc/testsuite/g++.old-deja/old-deja.exp
  c788285b4507f5903b42472d63c693bf  gcc/testsuite/gcc.c-torture/ChangeLog.0
  84740fd4194274c1fbddfa5575623a40  gcc/testsuite/gcc.c-torture/compat/strct-layout.c
  3bb9d56b7cd137b146d286534c43ff8c  gcc/testsuite/gcc.c-torture/compat/struct-align.c
--- 12082,12088 ----
  ba26331ea379fdf3ed035f76593a9b92  gcc/testsuite/g++.old-deja/g++.warn/inline.C
  d53cb2073c8f36697f63dfe19779eb13  gcc/testsuite/g++.old-deja/g++.warn/iomanip.C
  8005975800b73ab7a05b4dd3e210a9c3  gcc/testsuite/g++.old-deja/g++.warn/virt1.C
! 2543d1d8fd89a5cec0fe536bb7740e51  gcc/testsuite/g++.old-deja/old-deja.exp
  c788285b4507f5903b42472d63c693bf  gcc/testsuite/gcc.c-torture/ChangeLog.0
  84740fd4194274c1fbddfa5575623a40  gcc/testsuite/gcc.c-torture/compat/strct-layout.c
  3bb9d56b7cd137b146d286534c43ff8c  gcc/testsuite/gcc.c-torture/compat/struct-align.c
*************** ac01d71fcbc92c609cbf00b9a9c8b025  gcc/te
*** 13333,13339 ****
  9dd881236795fab247ec71c1abca3e09  gcc/testsuite/gcc.c-torture/compile/20000728-1.c
  6c8eebc797ff96343d1f35a39c2b3b2f  gcc/testsuite/gcc.c-torture/compile/20000802-1.c
  94da29ee4520eab538ad89a0653f7619  gcc/testsuite/gcc.c-torture/compile/20000803-1.c
! a9bc2d9c7d6aacf6020770c40cebe25a  gcc/testsuite/gcc.c-torture/compile/20000804-1.c
  73d8448c7350023f4723ba59fa3c7f38  gcc/testsuite/gcc.c-torture/compile/20000818-1.c
  798ad95bcb3c0ac618dd80ee18912645  gcc/testsuite/gcc.c-torture/compile/20000825-1.c
  6c54d5e909022b02771b10d881dba9b0  gcc/testsuite/gcc.c-torture/compile/20000827-1.c
--- 12131,12137 ----
  9dd881236795fab247ec71c1abca3e09  gcc/testsuite/gcc.c-torture/compile/20000728-1.c
  6c8eebc797ff96343d1f35a39c2b3b2f  gcc/testsuite/gcc.c-torture/compile/20000802-1.c
  94da29ee4520eab538ad89a0653f7619  gcc/testsuite/gcc.c-torture/compile/20000803-1.c
! 412777141a29a61ce1c076d27678cdaa  gcc/testsuite/gcc.c-torture/compile/20000804-1.c
  73d8448c7350023f4723ba59fa3c7f38  gcc/testsuite/gcc.c-torture/compile/20000818-1.c
  798ad95bcb3c0ac618dd80ee18912645  gcc/testsuite/gcc.c-torture/compile/20000825-1.c
  6c54d5e909022b02771b10d881dba9b0  gcc/testsuite/gcc.c-torture/compile/20000827-1.c
*************** e7093d14b43b2ce6a32dd00e088d0825  gcc/te
*** 13407,13414 ****
  eebaa303251b603b5e12517aebb516eb  gcc/testsuite/gcc.c-torture/compile/20011114-2.c
  0cb21e10cef36c0127b0e6bc9a014858  gcc/testsuite/gcc.c-torture/compile/20011114-3.c
  ddfd40f73e53c84302c55f2b01659a9d  gcc/testsuite/gcc.c-torture/compile/20011114-4.c
! 1da07108b92e7f013658368695d99cbf  gcc/testsuite/gcc.c-torture/compile/20011119-1.c
! 5b869472120a1eb48583bfb66da5c395  gcc/testsuite/gcc.c-torture/compile/20011119-2.c
  c77fc74e867dcbaf244e25c0527c1133  gcc/testsuite/gcc.c-torture/compile/20011130-1.c
  25d1b92ea196529699125132f4276af3  gcc/testsuite/gcc.c-torture/compile/20011130-2.c
  57121bfbb8fa116749b0090dd6f76eab  gcc/testsuite/gcc.c-torture/compile/20011205-1.c
--- 12205,12212 ----
  eebaa303251b603b5e12517aebb516eb  gcc/testsuite/gcc.c-torture/compile/20011114-2.c
  0cb21e10cef36c0127b0e6bc9a014858  gcc/testsuite/gcc.c-torture/compile/20011114-3.c
  ddfd40f73e53c84302c55f2b01659a9d  gcc/testsuite/gcc.c-torture/compile/20011114-4.c
! 835597d56e6d9d2d396605f50bcb1afb  gcc/testsuite/gcc.c-torture/compile/20011119-1.c
! 5d106227fb22f98e228ca07046f3a41b  gcc/testsuite/gcc.c-torture/compile/20011119-2.c
  c77fc74e867dcbaf244e25c0527c1133  gcc/testsuite/gcc.c-torture/compile/20011130-1.c
  25d1b92ea196529699125132f4276af3  gcc/testsuite/gcc.c-torture/compile/20011130-2.c
  57121bfbb8fa116749b0090dd6f76eab  gcc/testsuite/gcc.c-torture/compile/20011205-1.c
*************** e3da063bfb4d7a5e94be05aa622a23a8  gcc/te
*** 13610,13617 ****
--- 12408,12430 ----
  b171d9c25748de6c8f2491b9b133c6ed  gcc/testsuite/gcc.c-torture/compile/20050215-2.c
  91b967c4ee477fdb5040abdd2f189c07  gcc/testsuite/gcc.c-torture/compile/20050215-3.c
  e8311784a21a4158ac10607871140455  gcc/testsuite/gcc.c-torture/compile/20050217-1.c
+ bb34c624d469ef011aa8be52dee6980b  gcc/testsuite/gcc.c-torture/compile/20050303-1.c
+ b5ef6ad55975bceb1d33b729a790f045  gcc/testsuite/gcc.c-torture/compile/20050328-1.c
+ f8dafb53e17ca42840c8a8338b3febac  gcc/testsuite/gcc.c-torture/compile/20050423-1.c
+ 872b8ac3994c0e32fb482c9c819e9391  gcc/testsuite/gcc.c-torture/compile/20050510-1.c
  f6eb686accd35035e554d58ec6d22be5  gcc/testsuite/gcc.c-torture/compile/20050516-1.c
+ a816a3df2d39eb4ceb20a875cba755d0  gcc/testsuite/gcc.c-torture/compile/20050520-1.c
+ c85ffbd40e92357063f71f37f971fc28  gcc/testsuite/gcc.c-torture/compile/20050622-1.c
  cd696bb4502a71449edff79a3a650cae  gcc/testsuite/gcc.c-torture/compile/20050721-1.c
+ bed189b7c49420f6844654bc1da1484b  gcc/testsuite/gcc.c-torture/compile/20050801-1.c
+ be54057347132d24dfe8f4084f55651e  gcc/testsuite/gcc.c-torture/compile/20050801-2.c
+ df3daeb955222c79b6dcf8f124ebbef1  gcc/testsuite/gcc.c-torture/compile/20050802-1.c
+ 166955f19b3a7c94ddbffc8e22d575d5  gcc/testsuite/gcc.c-torture/compile/20051207-1.c
+ dba8eaaf1eaf37daeaccee68048aa381  gcc/testsuite/gcc.c-torture/compile/20051216-1.c
+ 71a1f9d4064c81edd344fbeccb990542  gcc/testsuite/gcc.c-torture/compile/20051228-1.c
+ 08ce09aa1a23d9b1cd6044a6f233a939  gcc/testsuite/gcc.c-torture/compile/20060208-1.c
+ 8202e1cedd04c94563fcb5be54811b79  gcc/testsuite/gcc.c-torture/compile/20060215-1.c
+ 934228bbf496b0aaba86392857f260db  gcc/testsuite/gcc.c-torture/compile/20060217-1.c
  ab32e65ea5976f9083dc8234dae65343  gcc/testsuite/gcc.c-torture/compile/900116-1.c
  19f66edc69de3cb6b5ca746e4dc7d9b5  gcc/testsuite/gcc.c-torture/compile/900216-1.c
  9c85c5a027876d1435b0499666da5dd8  gcc/testsuite/gcc.c-torture/compile/900313-1.c
*************** e723553c4fbcebcf6413a00d68497e7d  gcc/te
*** 13876,13883 ****
  17d58d0701bf8851c987840329edeb5c  gcc/testsuite/gcc.c-torture/compile/calls.c
  f5766202f628b43d0fac0910adc0eecb  gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c
  646c27d881cf11bdfb63a423ffd3b604  gcc/testsuite/gcc.c-torture/compile/combine-hang.c
! bf47a3520c1fff63db3fc11fdadf35a8  gcc/testsuite/gcc.c-torture/compile/compile.exp
  a87e64aae03ac41e010753e916d8ee6d  gcc/testsuite/gcc.c-torture/compile/complex-1.c
  61451e07c954124f79273c9995d501cf  gcc/testsuite/gcc.c-torture/compile/cpp-1.c
  a4388070dfa15cbd678485953a9d6165  gcc/testsuite/gcc.c-torture/compile/cpp-2.c
  2dc63e26397ae576b22f03b6268e2db4  gcc/testsuite/gcc.c-torture/compile/dll.c
--- 12689,12698 ----
  17d58d0701bf8851c987840329edeb5c  gcc/testsuite/gcc.c-torture/compile/calls.c
  f5766202f628b43d0fac0910adc0eecb  gcc/testsuite/gcc.c-torture/compile/cmpdi-1.c
  646c27d881cf11bdfb63a423ffd3b604  gcc/testsuite/gcc.c-torture/compile/combine-hang.c
! f524b07889653861e02a3ed0c785a157  gcc/testsuite/gcc.c-torture/compile/compile.exp
  a87e64aae03ac41e010753e916d8ee6d  gcc/testsuite/gcc.c-torture/compile/complex-1.c
+ 9d993598ddcfa7b7cd841fe5a114cec2  gcc/testsuite/gcc.c-torture/compile/complex-2.c
+ e78988c1feb46a12813cd47feaaab89f  gcc/testsuite/gcc.c-torture/compile/complex-3.c
  61451e07c954124f79273c9995d501cf  gcc/testsuite/gcc.c-torture/compile/cpp-1.c
  a4388070dfa15cbd678485953a9d6165  gcc/testsuite/gcc.c-torture/compile/cpp-2.c
  2dc63e26397ae576b22f03b6268e2db4  gcc/testsuite/gcc.c-torture/compile/dll.c
*************** bf9f2dd1b8103e560516d22c57e90963  gcc/te
*** 13925,13930 ****
--- 12740,12746 ----
  5949f21847bc35c7c3ce185c1f8792d6  gcc/testsuite/gcc.c-torture/compile/pr17558.c
  dabad41f6a964efb6e69e11ec99e2fe1  gcc/testsuite/gcc.c-torture/compile/pr17656.c
  471570579c41a98753947fd49ca89ea0  gcc/testsuite/gcc.c-torture/compile/pr17906.c
+ 531191ab8c4a0da355b6b397e30192f1  gcc/testsuite/gcc.c-torture/compile/pr17913.c
  a006256fb385251816337c8b0552856d  gcc/testsuite/gcc.c-torture/compile/pr18291.c
  94a3a67b41b3d1d739474b1f36b48495  gcc/testsuite/gcc.c-torture/compile/pr18299-1.c
  c326329b4c5f916450c39656200ac2e8  gcc/testsuite/gcc.c-torture/compile/pr18712.c
*************** fce9d3c914662e854ce4fd8d7ff46a81  gcc/te
*** 13935,13948 ****
  36b4ee0a6653dce9bfd02ba9d430a226  gcc/testsuite/gcc.c-torture/compile/pr19736.c
  a71feaa4722b34df679da9af8757c600  gcc/testsuite/gcc.c-torture/compile/pr19853.c
  ba92e8189244ad6fe8a63df6a001e369  gcc/testsuite/gcc.c-torture/compile/pr20203.c
! 0a636b1124788e802c29c90565543b70  gcc/testsuite/gcc.c-torture/compile/pr20412.c
  a6f4280d6386bbc00f0a6e414140c808  gcc/testsuite/gcc.c-torture/compile/pr20539-1.c
  48dc146c086e25c894cd2ebc820c5c99  gcc/testsuite/gcc.c-torture/compile/pr21293.c
  d1f7a32f57e7260ec34dfbf13df811ed  gcc/testsuite/gcc.c-torture/compile/pr21380.c
  3426f07bd56c62a3ab606560692ede0b  gcc/testsuite/gcc.c-torture/compile/pr21562.c
  54f9d70aa67f77e3878ef556d8f1e1d9  gcc/testsuite/gcc.c-torture/compile/pr21728.c
  b653e6ec31151f01343de101de4b7c02  gcc/testsuite/gcc.c-torture/compile/pr22013-1.c
  57b546bce2a786e33587be3d9e06dbba  gcc/testsuite/gcc.c-torture/compile/pr22589-1.c
  8d869e3426345f0cf8837c5eaafd43b5  gcc/testsuite/gcc.c-torture/compile/simd-1.c
  7249a75cf6b955efed52b5ec5cee3a79  gcc/testsuite/gcc.c-torture/compile/simd-2.c
  7eed2e35ab9050f77879918802879f19  gcc/testsuite/gcc.c-torture/compile/simd-3.c
--- 12751,12794 ----
  36b4ee0a6653dce9bfd02ba9d430a226  gcc/testsuite/gcc.c-torture/compile/pr19736.c
  a71feaa4722b34df679da9af8757c600  gcc/testsuite/gcc.c-torture/compile/pr19853.c
  ba92e8189244ad6fe8a63df6a001e369  gcc/testsuite/gcc.c-torture/compile/pr20203.c
! 7ede06ac5702631a772262d2be62b21e  gcc/testsuite/gcc.c-torture/compile/pr20412.c
  a6f4280d6386bbc00f0a6e414140c808  gcc/testsuite/gcc.c-torture/compile/pr20539-1.c
+ f2b8f11f257f2e52bfa3195b06d23438  gcc/testsuite/gcc.c-torture/compile/pr20928.c
+ a0a07c65500cda432ad4b01768ddca92  gcc/testsuite/gcc.c-torture/compile/pr21021.c
+ 815f869f1c9c38b19c6105a0f2eeeffe  gcc/testsuite/gcc.c-torture/compile/pr21030.c
  48dc146c086e25c894cd2ebc820c5c99  gcc/testsuite/gcc.c-torture/compile/pr21293.c
+ 85df68a2f0d1028711651604ae146ce4  gcc/testsuite/gcc.c-torture/compile/pr21356.c
  d1f7a32f57e7260ec34dfbf13df811ed  gcc/testsuite/gcc.c-torture/compile/pr21380.c
+ f4399117263a21b4a0d97f17042892bb  gcc/testsuite/gcc.c-torture/compile/pr21532.c
  3426f07bd56c62a3ab606560692ede0b  gcc/testsuite/gcc.c-torture/compile/pr21562.c
+ b879b40b1f5ce96a31ec3e47d769d927  gcc/testsuite/gcc.c-torture/compile/pr21638.c
  54f9d70aa67f77e3878ef556d8f1e1d9  gcc/testsuite/gcc.c-torture/compile/pr21728.c
+ 2176047ab28cc7290575c78609555802  gcc/testsuite/gcc.c-torture/compile/pr21761.c
+ 8d01873174b3be5383e8665c11682413  gcc/testsuite/gcc.c-torture/compile/pr21839.c
+ bdd67e6d94d399418a240a2a4eff2e85  gcc/testsuite/gcc.c-torture/compile/pr21840.c
  b653e6ec31151f01343de101de4b7c02  gcc/testsuite/gcc.c-torture/compile/pr22013-1.c
+ 393a4ebe6fd377d20a25e1e970b9bfec  gcc/testsuite/gcc.c-torture/compile/pr22269.c
+ d94c4adef293f16bfca434a428584fcc  gcc/testsuite/gcc.c-torture/compile/pr22379.c
+ 1ac237ce4e87d4e4d8f0fbee6431320d  gcc/testsuite/gcc.c-torture/compile/pr22398.c
+ 48e4557aa62efaa51836af5a3baf3e28  gcc/testsuite/gcc.c-torture/compile/pr22422.c
+ 9b984f9ccc2fba82dc9ab023feb62b70  gcc/testsuite/gcc.c-torture/compile/pr22531.c
  57b546bce2a786e33587be3d9e06dbba  gcc/testsuite/gcc.c-torture/compile/pr22589-1.c
+ 5280652cf6ea8a41acb53fcfcae956a0  gcc/testsuite/gcc.c-torture/compile/pr23233-1.c
+ 43bc5e7a9f83a317d7eac581f901298b  gcc/testsuite/gcc.c-torture/compile/pr23237.c
+ aa086ec446012db5c2fec52c986c38b4  gcc/testsuite/gcc.c-torture/compile/pr23435.c
+ 062b963b2cce3f1e156417b86ba97fde  gcc/testsuite/gcc.c-torture/compile/pr23445.c
+ 8871ef880e8f661ac0e6bb777fa2f37c  gcc/testsuite/gcc.c-torture/compile/pr23476.c
+ 6364f9c41fc3de662674ea1112492a50  gcc/testsuite/gcc.c-torture/compile/pr23929.c
+ b990cbb7f4cfd0bff8b91c6ef75e80ca  gcc/testsuite/gcc.c-torture/compile/pr23944.c
+ 8f861bee01658f18520cdf7973ca08bd  gcc/testsuite/gcc.c-torture/compile/pr23946.c
+ 80b808db9c82a0771272035969c66d17  gcc/testsuite/gcc.c-torture/compile/pr23960.c
+ 975fa22a642fc6a912c4d58a68782df1  gcc/testsuite/gcc.c-torture/compile/pr24227.c
+ f15934aef3c9ad0f4af60d7b9a0445d6  gcc/testsuite/gcc.c-torture/compile/pr24883.c
+ a058ce9346e450f1c716a9777695fba4  gcc/testsuite/gcc.c-torture/compile/pr24930.c
+ 0ff3a4a60358bd91616a7ae0d72b9729  gcc/testsuite/gcc.c-torture/compile/pr25310.c
+ 865db54785dc51d1c03e65bf660dd6e8  gcc/testsuite/gcc.c-torture/compile/pr25311.c
+ 8b6e48dd3e6176d3ee750bb34f12f3e1  gcc/testsuite/gcc.c-torture/compile/pr25513.c
+ b9e6ce52b90320c1c3803c25113844c5  gcc/testsuite/gcc.c-torture/compile/pta-1.c
  8d869e3426345f0cf8837c5eaafd43b5  gcc/testsuite/gcc.c-torture/compile/simd-1.c
  7249a75cf6b955efed52b5ec5cee3a79  gcc/testsuite/gcc.c-torture/compile/simd-2.c
  7eed2e35ab9050f77879918802879f19  gcc/testsuite/gcc.c-torture/compile/simd-3.c
*************** f1396a13185fb3a1a1f5cb14db6e38a7  gcc/te
*** 13952,13962 ****
  f4772e6c906520190f7700ef4c4a9dd7  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-1.c
  40337004510b6e09c7e3abfbdce53cb9  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-2.c
  be6e57b38137101675705c04949f38a6  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-3.c
! af8cea0e5ca646832d01250c1bd04f16  gcc/testsuite/gcc.c-torture/compile/structs.c
  4302abbf3d54b15c2bf82ee3a5edb560  gcc/testsuite/gcc.c-torture/compile/trunctfdf.c
  1ef9d72af9160ad2a24b200fee9a616c  gcc/testsuite/gcc.c-torture/compile/widechar-1.c
  23fa527de0eafadc4af7f584cd169efb  gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c
  ddfe708c685b6dbb3a53a377d0ad1535  gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c
  e35cff309990268916661efccac6de79  gcc/testsuite/gcc.c-torture/execute/20000112-1.c
  8d3be1f60b246654cee94b3f78d26aee  gcc/testsuite/gcc.c-torture/execute/20000113-1.c
  bd6be98b7d9f77ee196cd000932cb8ad  gcc/testsuite/gcc.c-torture/execute/20000121-1.c
--- 12798,12813 ----
  f4772e6c906520190f7700ef4c4a9dd7  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-1.c
  40337004510b6e09c7e3abfbdce53cb9  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-2.c
  be6e57b38137101675705c04949f38a6  gcc/testsuite/gcc.c-torture/compile/struct-non-lval-3.c
! ca50bf3d29a526b5aef5f83416c31bea  gcc/testsuite/gcc.c-torture/compile/structs.c
! d94f4fc15a1c379bb3edd1d0ffd65938  gcc/testsuite/gcc.c-torture/compile/sync-1.c
  4302abbf3d54b15c2bf82ee3a5edb560  gcc/testsuite/gcc.c-torture/compile/trunctfdf.c
+ 285dadd71d9b7789092785df1dafc509  gcc/testsuite/gcc.c-torture/compile/volatile-1.c
  1ef9d72af9160ad2a24b200fee9a616c  gcc/testsuite/gcc.c-torture/compile/widechar-1.c
  23fa527de0eafadc4af7f584cd169efb  gcc/testsuite/gcc.c-torture/compile/zero-strct-1.c
  ddfe708c685b6dbb3a53a377d0ad1535  gcc/testsuite/gcc.c-torture/compile/zero-strct-2.c
+ 362bb0eab79cf02864dbbc1b53b9f5ae  gcc/testsuite/gcc.c-torture/compile/zero-strct-3.c
+ 3252a09517e422da5ac02d8760d1e0d1  gcc/testsuite/gcc.c-torture/compile/zero-strct-4.c
+ af784b3654ec912b1f5b529108ab0279  gcc/testsuite/gcc.c-torture/compile/zero-strct-5.c
  e35cff309990268916661efccac6de79  gcc/testsuite/gcc.c-torture/execute/20000112-1.c
  8d3be1f60b246654cee94b3f78d26aee  gcc/testsuite/gcc.c-torture/execute/20000113-1.c
  bd6be98b7d9f77ee196cd000932cb8ad  gcc/testsuite/gcc.c-torture/execute/20000121-1.c
*************** e7ec99feb0b91cc3fb500621e5f495d4  gcc/te
*** 13984,13990 ****
  03889d6133cb7c92de5257044c13b2b2  gcc/testsuite/gcc.c-torture/execute/20000511-1.c
  1a873943f10810cf251d7f4737408c96  gcc/testsuite/gcc.c-torture/execute/20000519-1.c
  01e06c4ebc3b55cdddbf337a39e957af  gcc/testsuite/gcc.c-torture/execute/20000519-2.c
! a1b9bea3ca4630f7ab839e5f1eaa83d1  gcc/testsuite/gcc.c-torture/execute/20000523-1.c
  10866d7d8a73bd72f7bc55f739a39f01  gcc/testsuite/gcc.c-torture/execute/20000528-1.c
  0104efb8c02c627cc52a9a807747ebc2  gcc/testsuite/gcc.c-torture/execute/20000603-1.c
  989132c007055e84166591d1f8c72f4f  gcc/testsuite/gcc.c-torture/execute/20000605-1.c
--- 12835,12841 ----
  03889d6133cb7c92de5257044c13b2b2  gcc/testsuite/gcc.c-torture/execute/20000511-1.c
  1a873943f10810cf251d7f4737408c96  gcc/testsuite/gcc.c-torture/execute/20000519-1.c
  01e06c4ebc3b55cdddbf337a39e957af  gcc/testsuite/gcc.c-torture/execute/20000519-2.c
! 111947bebf12722fb85e81e4a3c454d9  gcc/testsuite/gcc.c-torture/execute/20000523-1.c
  10866d7d8a73bd72f7bc55f739a39f01  gcc/testsuite/gcc.c-torture/execute/20000528-1.c
  0104efb8c02c627cc52a9a807747ebc2  gcc/testsuite/gcc.c-torture/execute/20000603-1.c
  989132c007055e84166591d1f8c72f4f  gcc/testsuite/gcc.c-torture/execute/20000605-1.c
*************** ce85b0136bf58c77366230530b346f23  gcc/te
*** 14053,14059 ****
  76579a279254dfd7e01f18067367420d  gcc/testsuite/gcc.c-torture/execute/20010122-1.c
  d1bcd160eae8755642c913c80474e993  gcc/testsuite/gcc.c-torture/execute/20010122-1.x
  66edac85dc40f361e98d26e0a4b7decd  gcc/testsuite/gcc.c-torture/execute/20010123-1.c
- 04ea9fe369592dbf54fbc7e63050fe87  gcc/testsuite/gcc.c-torture/execute/20010124-1.c
  37fbdd895e0ee384ef6a868d4eb29286  gcc/testsuite/gcc.c-torture/execute/20010129-1.c
  1ea9becb10edaa1d9192f12151a65ca8  gcc/testsuite/gcc.c-torture/execute/20010129-1.x
  c18230536067cf8a9040e9ad73bf1e2c  gcc/testsuite/gcc.c-torture/execute/20010206-1.c
--- 12904,12909 ----
*************** e987501a98035f846cca884465c2ce7d  gcc/te
*** 14144,14150 ****
  f3ef9da4e1a8513ac2b338a46a6644e6  gcc/testsuite/gcc.c-torture/execute/20020619-1.c
  08b5a9d396dcfb91b81b22edeb6cbe0a  gcc/testsuite/gcc.c-torture/execute/20020716-1.c
  75fc13ebd1574057e2708c6c3af7626a  gcc/testsuite/gcc.c-torture/execute/20020720-1.c
- 7273144e91c4518986637f579dda2f09  gcc/testsuite/gcc.c-torture/execute/20020720-1.x
  804da6eb201128cfc26d3423d9836f70  gcc/testsuite/gcc.c-torture/execute/20020805-1.c
  a21900002ca05043979b4c3a89cf6462  gcc/testsuite/gcc.c-torture/execute/20020810-1.c
  1d5072bcbd3eefad5ab33ed0e55ec897  gcc/testsuite/gcc.c-torture/execute/20020819-1.c
--- 12994,12999 ----
*************** fb4d8e8eeb040ddcd8fe4efccb93678b  gcc/te
*** 14176,14187 ****
  0e8791ec3d46dd24db31a290827afc5d  gcc/testsuite/gcc.c-torture/execute/20030117-1.c
  13713f4539b686e3b749b564a2b2c124  gcc/testsuite/gcc.c-torture/execute/20030120-1.c
  e6ff244cdc0aef0aa84060d5945a940c  gcc/testsuite/gcc.c-torture/execute/20030120-2.c
! af7b684bc286eff838df0f9fd54bc3b8  gcc/testsuite/gcc.c-torture/execute/20030125-1.c
  5ba115874eceeaf8ce056b313edb1eeb  gcc/testsuite/gcc.c-torture/execute/20030125-1.x
  da63f701e373e056be45beb4402aff43  gcc/testsuite/gcc.c-torture/execute/20030128-1.c
  a6374d099ffaf8be5bcd17aae9e4371a  gcc/testsuite/gcc.c-torture/execute/20030203-1.c
  c0132c555648ffd1a6d329494ffda347  gcc/testsuite/gcc.c-torture/execute/20030209-1.c
  4cdbb9adb0c0d56b2b550743280c7578  gcc/testsuite/gcc.c-torture/execute/20030216-1.c
  da97010d8a7434f25c6eff9dc720a520  gcc/testsuite/gcc.c-torture/execute/20030218-1.c
  e19bd6108d6e03f6557ddc4ca9203ccd  gcc/testsuite/gcc.c-torture/execute/20030221-1.c
  cd3c1d69140de3c3a656c131c17b435e  gcc/testsuite/gcc.c-torture/execute/20030222-1.c
--- 13025,13037 ----
  0e8791ec3d46dd24db31a290827afc5d  gcc/testsuite/gcc.c-torture/execute/20030117-1.c
  13713f4539b686e3b749b564a2b2c124  gcc/testsuite/gcc.c-torture/execute/20030120-1.c
  e6ff244cdc0aef0aa84060d5945a940c  gcc/testsuite/gcc.c-torture/execute/20030120-2.c
! 4d6dc1aba608ae7dedf93d0d13de93d8  gcc/testsuite/gcc.c-torture/execute/20030125-1.c
  5ba115874eceeaf8ce056b313edb1eeb  gcc/testsuite/gcc.c-torture/execute/20030125-1.x
  da63f701e373e056be45beb4402aff43  gcc/testsuite/gcc.c-torture/execute/20030128-1.c
  a6374d099ffaf8be5bcd17aae9e4371a  gcc/testsuite/gcc.c-torture/execute/20030203-1.c
  c0132c555648ffd1a6d329494ffda347  gcc/testsuite/gcc.c-torture/execute/20030209-1.c
  4cdbb9adb0c0d56b2b550743280c7578  gcc/testsuite/gcc.c-torture/execute/20030216-1.c
+ f983bd4dea6b0e0e9e3109ef3b7a6900  gcc/testsuite/gcc.c-torture/execute/20030216-1.x
  da97010d8a7434f25c6eff9dc720a520  gcc/testsuite/gcc.c-torture/execute/20030218-1.c
  e19bd6108d6e03f6557ddc4ca9203ccd  gcc/testsuite/gcc.c-torture/execute/20030221-1.c
  cd3c1d69140de3c3a656c131c17b435e  gcc/testsuite/gcc.c-torture/execute/20030222-1.c
*************** dc8ef6a2f62bcfea90605a1500ebf16b  gcc/te
*** 14265,14270 ****
--- 13115,13121 ----
  695236bbd612182e45f7e5b53bd4ed87  gcc/testsuite/gcc.c-torture/execute/20040831-1.c
  94c71d01fb9e07bfbc7f7d6459a19a39  gcc/testsuite/gcc.c-torture/execute/20040917-1.c
  5cac9f96901f8210960993e10e610af8  gcc/testsuite/gcc.c-torture/execute/20041011-1.c
+ 7796a37cc480f39bec56898238bbf921  gcc/testsuite/gcc.c-torture/execute/20041019-1.c
  a9e9fda2b801a2197d791f63eb487a27  gcc/testsuite/gcc.c-torture/execute/20041112-1.c
  ff13cc80beb96532eecd54a4912d4ab6  gcc/testsuite/gcc.c-torture/execute/20041113-1.c
  1c59ee76a2b16dfcfa57ab77201a6af1  gcc/testsuite/gcc.c-torture/execute/20041114-1.c
*************** b61a1ebbd753fe82a5897af2fb717b30  gcc/te
*** 14295,14308 ****
  a46d50ea9f3b4a35b3d3d76f37017c40  gcc/testsuite/gcc.c-torture/execute/20050316-2.c
  ad56e71d37ce991632b85bcf82bf6239  gcc/testsuite/gcc.c-torture/execute/20050316-3.c
  c289f0feea0c1b0e9230cb6fedf512cc  gcc/testsuite/gcc.c-torture/execute/20050410-1.c
- 0a3b2d8210913095deb7d0acc7a6bf38  gcc/testsuite/gcc.c-torture/execute/20050414-1.c
  ec959ff383b49e35bef564f59611851a  gcc/testsuite/gcc.c-torture/execute/20050502-1.c
  75351ff59b3644e1b18db7f8c4582231  gcc/testsuite/gcc.c-torture/execute/20050502-2.c
  99c696eb400dd3328aa5c52955c1c37e  gcc/testsuite/gcc.c-torture/execute/20050607-1.c
  e118a7323d7587cd507e6973401b9320  gcc/testsuite/gcc.c-torture/execute/20050613-1.c
  823e51fd4000de89f68e59f8969db544  gcc/testsuite/gcc.c-torture/execute/20050713-1.c
  661e59505790be2bb55f7f51fab3feaf  gcc/testsuite/gcc.c-torture/execute/20050826-1.c
  c249e43f9cc645254347f5276ac72a88  gcc/testsuite/gcc.c-torture/execute/20050826-2.c
  65f01ac7346bd4d47ed9c1ca94ab74ff  gcc/testsuite/gcc.c-torture/execute/900409-1.c
  5aefab4daab0bd29ecf2a389f3c44f40  gcc/testsuite/gcc.c-torture/execute/920202-1.c
  655936aaf9a63e991a555cbc16738485  gcc/testsuite/gcc.c-torture/execute/920302-1.c
--- 13146,13167 ----
  a46d50ea9f3b4a35b3d3d76f37017c40  gcc/testsuite/gcc.c-torture/execute/20050316-2.c
  ad56e71d37ce991632b85bcf82bf6239  gcc/testsuite/gcc.c-torture/execute/20050316-3.c
  c289f0feea0c1b0e9230cb6fedf512cc  gcc/testsuite/gcc.c-torture/execute/20050410-1.c
  ec959ff383b49e35bef564f59611851a  gcc/testsuite/gcc.c-torture/execute/20050502-1.c
  75351ff59b3644e1b18db7f8c4582231  gcc/testsuite/gcc.c-torture/execute/20050502-2.c
+ d57df3616fa395505f527b42087ef94a  gcc/testsuite/gcc.c-torture/execute/20050604-1.c
  99c696eb400dd3328aa5c52955c1c37e  gcc/testsuite/gcc.c-torture/execute/20050607-1.c
  e118a7323d7587cd507e6973401b9320  gcc/testsuite/gcc.c-torture/execute/20050613-1.c
  823e51fd4000de89f68e59f8969db544  gcc/testsuite/gcc.c-torture/execute/20050713-1.c
  661e59505790be2bb55f7f51fab3feaf  gcc/testsuite/gcc.c-torture/execute/20050826-1.c
  c249e43f9cc645254347f5276ac72a88  gcc/testsuite/gcc.c-torture/execute/20050826-2.c
+ 1528b8471b0b7d00bef4bc8f31c93567  gcc/testsuite/gcc.c-torture/execute/20050929-1.c
+ 30454b68b98aad6d53031ac86e49d6d3  gcc/testsuite/gcc.c-torture/execute/20051012-1.c
+ a5b818e2cd3207c10ff476ecc5f7fdd9  gcc/testsuite/gcc.c-torture/execute/20051021-1.c
+ a21c0acdfd2c46a5a8dda42081b74612  gcc/testsuite/gcc.c-torture/execute/20051104-1.c
+ 50a41c72f1ededc87d59dc531aaead94  gcc/testsuite/gcc.c-torture/execute/20051110-1.c
+ 673cfebaff1bb2a84a28f228999d7029  gcc/testsuite/gcc.c-torture/execute/20051110-2.c
+ 2b70e75d3e588fce0a4f9162ae42a7da  gcc/testsuite/gcc.c-torture/execute/20051113-1.c
+ 0ef2120f99b756db4c3840219fb2dba8  gcc/testsuite/gcc.c-torture/execute/20051215-1.c
  65f01ac7346bd4d47ed9c1ca94ab74ff  gcc/testsuite/gcc.c-torture/execute/900409-1.c
  5aefab4daab0bd29ecf2a389f3c44f40  gcc/testsuite/gcc.c-torture/execute/920202-1.c
  655936aaf9a63e991a555cbc16738485  gcc/testsuite/gcc.c-torture/execute/920302-1.c
*************** b76c8070bf46e72e11be01f72b91c100  gcc/te
*** 14567,14573 ****
  96d4bf5e6d54c7df3434a886003927a6  gcc/testsuite/gcc.c-torture/execute/990326-1.c
  fd30d3d0f75fe61e16537631a9dac035  gcc/testsuite/gcc.c-torture/execute/990404-1.c
  826fb0c7c548ee37be819659e65a1290  gcc/testsuite/gcc.c-torture/execute/990413-2.c
! 96ee4cc3f9e248b84c9fb028bc617444  gcc/testsuite/gcc.c-torture/execute/990413-2.x
  37c97c8de7c6537820d73e236154a123  gcc/testsuite/gcc.c-torture/execute/990513-1.c
  be4e8d3fa2cfca60007893e5dc3f675d  gcc/testsuite/gcc.c-torture/execute/990524-1.c
  82a1f7e2817620ad5b0d94e95073e5bf  gcc/testsuite/gcc.c-torture/execute/990525-1.c
--- 13426,13432 ----
  96d4bf5e6d54c7df3434a886003927a6  gcc/testsuite/gcc.c-torture/execute/990326-1.c
  fd30d3d0f75fe61e16537631a9dac035  gcc/testsuite/gcc.c-torture/execute/990404-1.c
  826fb0c7c548ee37be819659e65a1290  gcc/testsuite/gcc.c-torture/execute/990413-2.c
! 85386a839d106b1842f6e7c4f4002cf5  gcc/testsuite/gcc.c-torture/execute/990413-2.x
  37c97c8de7c6537820d73e236154a123  gcc/testsuite/gcc.c-torture/execute/990513-1.c
  be4e8d3fa2cfca60007893e5dc3f675d  gcc/testsuite/gcc.c-torture/execute/990524-1.c
  82a1f7e2817620ad5b0d94e95073e5bf  gcc/testsuite/gcc.c-torture/execute/990525-1.c
*************** dcd19abd13515d3297af326a1ab6eef3  gcc/te
*** 14630,14636 ****
  2d31475759eb44511af144ebc470cb77  gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c
  80bffc0fa263de904bef23d3b28d7346  gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c
  617beda9a6776e6d6d8e4264b3f511d6  gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c
! 4ce1926ffaae1eb9088e1a51b052dae7  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1-lib.c
  caa74354806f94b1777d3d438547d909  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1.c
  9c1322a9e3a8c77348e4168e0edbd573  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1.x
  1dda6f7a5d9ce23a5db5f59c430ae29e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-2-lib.c
--- 13489,13497 ----
  2d31475759eb44511af144ebc470cb77  gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-5.c
  80bffc0fa263de904bef23d3b28d7346  gcc/testsuite/gcc.c-torture/execute/builtin-prefetch-6.c
  617beda9a6776e6d6d8e4264b3f511d6  gcc/testsuite/gcc.c-torture/execute/builtin-types-compatible-p.c
! 1d9a430e48c105c0a63279cb5d9f05ef  gcc/testsuite/gcc.c-torture/execute/builtins/20010124-1-lib.c
! 407b4bb0d8c00ff1a62d0f00eb473a0b  gcc/testsuite/gcc.c-torture/execute/builtins/20010124-1.c
! a50f8c5dcf7c493a5acb2e3e921f0fb2  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1-lib.c
  caa74354806f94b1777d3d438547d909  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1.c
  9c1322a9e3a8c77348e4168e0edbd573  gcc/testsuite/gcc.c-torture/execute/builtins/abs-1.x
  1dda6f7a5d9ce23a5db5f59c430ae29e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-2-lib.c
*************** d7d9ce89ee3d3fe0e8938f62790f051e  gcc/te
*** 14638,14716 ****
  1dda6f7a5d9ce23a5db5f59c430ae29e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3-lib.c
  8784d3bd9b264b3c2abfb7b7ea25ccb6  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c
  30caf0ee310178672ba91b754d7959ef  gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
  f36e146a2aececdc84d9199d53a363ec  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1-lib.c
  8b5a662c0134cd00115a5866e1c0b6c9  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1.c
  90337ef4b3870f5eb8816e67bf132f5b  gcc/testsuite/gcc.c-torture/execute/builtins/fprintf-lib.c
! 51fa50c96869ad8ddc8137d97c6768fe  gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.c
! 355930485a66a22e995ae3155bc2e7d9  gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c
! 776d59b9d126692c44ed2285f94564ee  gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
  9ea18a18c5c3a471a3eb8a80d6dcc4a3  gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c
! 0eea2e705a43d55b8593567eab526834  gcc/testsuite/gcc.c-torture/execute/builtins/lib/fprintf.c
! fe2f070fcceec783fb4d4f588daa07d7  gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c
! 41a70c49c677fed956bde61661377ac4  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memcmp.c
! 0b68684b187573c38bff310ec609a77b  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memmove.c
! 9904f34579ab8e5b4c9992f14fa40d00  gcc/testsuite/gcc.c-torture/execute/builtins/lib/mempcpy.c
! 8bfb0c455dc381c1420ab14f2ae53e03  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
! 8a879bda2a3e6d08b50211ff9cba5212  gcc/testsuite/gcc.c-torture/execute/builtins/lib/printf.c
! e40292bf2bfacaadd6567de8ee6b2b1e  gcc/testsuite/gcc.c-torture/execute/builtins/lib/sprintf.c
! 20da6ed8906eb46372fba38e04cd2f23  gcc/testsuite/gcc.c-torture/execute/builtins/lib/stpcpy.c
  868687ad66f052ce5f70219885fbf39c  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcat.c
! 009658b17237fc00e786b2663b404243  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strchr.c
! 6396016fc1063b0a1ac58e04bbf132e2  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcmp.c
! 79eec0b499ddebbe3552770bddb2c535  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcpy.c
! aacc72e7faa541dcb2e3e8186d0641b5  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcspn.c
! 23dbb83f86e79dc6c245a77105ed8ebf  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strlen.c
! f0d40d891f08ce3689c571d0995812b0  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncat.c
! 9798f577d1effbe24e29bd1cf49c4751  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncmp.c
! 62a8deab86acab7544b08e6e53f04913  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncpy.c
! d6ae29c2eed0beb666f6cde29ac3c1c4  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strpbrk.c
! ff7efab3b51a7beae89d63eac86515c0  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strrchr.c
! b520a098405015d0b46b0b158053109d  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strspn.c
! dbd79d00018144a0be973bfba8ad5b90  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strstr.c
  d1600bd95a17ea4b6ccf940ce936c456  gcc/testsuite/gcc.c-torture/execute/builtins/memcmp-lib.c
  c977723dd39905b49b9e53dde1d32e73  gcc/testsuite/gcc.c-torture/execute/builtins/memcmp.c
  90eec08ffcd86445e987c6e9d454668d  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-2-lib.c
  d967a23dc46c04f7d9929e01b6410b65  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-2.c
  90eec08ffcd86445e987c6e9d454668d  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-lib.c
  44fb33d720704bce79c5289fbaadfa38  gcc/testsuite/gcc.c-torture/execute/builtins/memmove.c
! d358bc8bcf9b451cabe9ba12353d9506  gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
  71164dad638cc02a752274dd4ffe70cd  gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.c
  1a3ea4e36df441704d8d1b28df3bd7ed  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-2-lib.c
  a465aeeb9de47b64d250c6d3491adbf8  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-2.c
  1a3ea4e36df441704d8d1b28df3bd7ed  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-lib.c
  5718f93c821cbb426d012b0091461089  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy.c
  6f905cdc469586014bb19fd748162b58  gcc/testsuite/gcc.c-torture/execute/builtins/memset-lib.c
  52867f894dd88e60bcf0182d12a00624  gcc/testsuite/gcc.c-torture/execute/builtins/memset.c
  14c96022e21022ec2d7b36a67c48ef08  gcc/testsuite/gcc.c-torture/execute/builtins/printf-lib.c
! 44616bcce9d86e1e7a35aa04a31b49e6  gcc/testsuite/gcc.c-torture/execute/builtins/printf.c
  8beff4ed5536d77b3917ad34bd3ca734  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf-lib.c
  aa92bdcd5fbfe3cb673a1970666031da  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf.c
  d30a8e27b147083b189425af5fe05b2b  gcc/testsuite/gcc.c-torture/execute/builtins/strcat-lib.c
! 689752a4a911b668e7884876981c67a4  gcc/testsuite/gcc.c-torture/execute/builtins/strcat.c
  c42501d31de8be0291adc1ef673e52b2  gcc/testsuite/gcc.c-torture/execute/builtins/strchr-lib.c
  31fdf27cdd554b1e8f28c2bdf18d74fc  gcc/testsuite/gcc.c-torture/execute/builtins/strchr.c
  2c4468f680ca92665115056d0121b6e9  gcc/testsuite/gcc.c-torture/execute/builtins/strcmp-lib.c
  ff52ed0b06289edabcc2b0f6f8f448b1  gcc/testsuite/gcc.c-torture/execute/builtins/strcmp.c
  f04fadc50b6e98e48602a5d15661e114  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-2-lib.c
  12a68323d77bf047184825e4c1543639  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-2.c
  f04fadc50b6e98e48602a5d15661e114  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-lib.c
  0fb0648c98cfe654d7afe0fa00e80ef0  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy.c
  4991954f9732f6d3d1f60cb416a07430  gcc/testsuite/gcc.c-torture/execute/builtins/strcspn-lib.c
  db37afe605f1b0c4fc4de1025bb29929  gcc/testsuite/gcc.c-torture/execute/builtins/strcspn.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2-lib.c
! 1a0e05bc5acf943980bb27ae87497629  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3-lib.c
! d360011eb6ff19cba47e5d928209f8c0  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-lib.c
  b4c1aa0fbdea5628747cc9d62dba42c9  gcc/testsuite/gcc.c-torture/execute/builtins/strlen.c
  d3ca6e4899e5e5ad6176ba06eb9a7df2  gcc/testsuite/gcc.c-torture/execute/builtins/strncat-lib.c
! 3f477e836d2911883b0c9da0ef5b871e  gcc/testsuite/gcc.c-torture/execute/builtins/strncat.c
  e2e1da99ffb349bc8c328444b231e4f6  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-2-lib.c
! f91a867868c26004d2ae3669ea6ce7e9  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-2.c
  e2e1da99ffb349bc8c328444b231e4f6  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-lib.c
! 380ae53662ef18ff554128d3f9329e4a  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp.c
  89ee454ece7134e8578f3ee094c260c4  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy-lib.c
! ee0f7c736647ec33b17d278338e3548d  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy.c
  5343de615126e3476133a6d32589f90e  gcc/testsuite/gcc.c-torture/execute/builtins/strpbrk-lib.c
  0588c977070824dcb460a477087e29ba  gcc/testsuite/gcc.c-torture/execute/builtins/strpbrk.c
  05ad1cada55de3aab76b019089846052  gcc/testsuite/gcc.c-torture/execute/builtins/strpcpy-2-lib.c
--- 13499,13605 ----
  1dda6f7a5d9ce23a5db5f59c430ae29e  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3-lib.c
  8784d3bd9b264b3c2abfb7b7ea25ccb6  gcc/testsuite/gcc.c-torture/execute/builtins/abs-3.c
  30caf0ee310178672ba91b754d7959ef  gcc/testsuite/gcc.c-torture/execute/builtins/builtins.exp
+ b2f01a311d0be15915da9c4f8cea407b  gcc/testsuite/gcc.c-torture/execute/builtins/chk.h
  f36e146a2aececdc84d9199d53a363ec  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1-lib.c
  8b5a662c0134cd00115a5866e1c0b6c9  gcc/testsuite/gcc.c-torture/execute/builtins/complex-1.c
  90337ef4b3870f5eb8816e67bf132f5b  gcc/testsuite/gcc.c-torture/execute/builtins/fprintf-lib.c
! 52a21dcb202bcbf547f63cfe0db20c06  gcc/testsuite/gcc.c-torture/execute/builtins/fprintf.c
! 1af9602d427715e3713392fb8629dbb4  gcc/testsuite/gcc.c-torture/execute/builtins/fputs-lib.c
! 0f27b349ca36c77709283a79950eab66  gcc/testsuite/gcc.c-torture/execute/builtins/fputs.c
  9ea18a18c5c3a471a3eb8a80d6dcc4a3  gcc/testsuite/gcc.c-torture/execute/builtins/lib/abs.c
! e0b5f59b89894994b1c789680a6f6754  gcc/testsuite/gcc.c-torture/execute/builtins/lib/chk.c
! 68c9eae7779fd6b0b511039f41ae8480  gcc/testsuite/gcc.c-torture/execute/builtins/lib/fprintf.c
! 3238aa4caa71aef23dcc1833234b1bd8  gcc/testsuite/gcc.c-torture/execute/builtins/lib/main.c
! e311e6c28b85e8488288386dbc720575  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memcmp.c
! dafaed70be6b01a0860c722c14604ffe  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memmove.c
! 0480eaf4d38ec67d9f4f912071f00884  gcc/testsuite/gcc.c-torture/execute/builtins/lib/mempcpy.c
! a590daa09d6b60d1e677c6a737a2dce3  gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
! 6847ca215dfe0a2429cb4fcc35e6bb11  gcc/testsuite/gcc.c-torture/execute/builtins/lib/printf.c
! e76dd057ed39973b578866b796b8afd4  gcc/testsuite/gcc.c-torture/execute/builtins/lib/sprintf.c
! d2d9cefa5e2792e6e794db2243b18b22  gcc/testsuite/gcc.c-torture/execute/builtins/lib/stpcpy.c
  868687ad66f052ce5f70219885fbf39c  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcat.c
! f18dd57b34e7c697f921712f67139f6d  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strchr.c
! 121c97948e4463eafe56819d04b6986e  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcmp.c
! b5e8ff316bdd23d8f4908ba6279ad006  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcpy.c
! 96456fcdbeb013eb144e83a28078be9d  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strcspn.c
! a76e95d65028965d64966192d6d3b7cb  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strlen.c
! 089a5722ced31fb552ab4d0a4912bdc3  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncat.c
! 22f71dfc1e3c40e5734090910d81726a  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncmp.c
! a137f79e0c404570d6f50d53e74f0fdd  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strncpy.c
! 3465c1ab3d2afb3a6748eb43a18bfee5  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strpbrk.c
! a7a83bfcd349ce6036561d4056bbc88d  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strrchr.c
! 2ed165d0f1a7219fff2aeac662acc72f  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strspn.c
! fcbfb521b583a079f475818fd520df73  gcc/testsuite/gcc.c-torture/execute/builtins/lib/strstr.c
  d1600bd95a17ea4b6ccf940ce936c456  gcc/testsuite/gcc.c-torture/execute/builtins/memcmp-lib.c
  c977723dd39905b49b9e53dde1d32e73  gcc/testsuite/gcc.c-torture/execute/builtins/memcmp.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk-lib.c
+ 5a2a88b3b795cd4ecabf747ba0ac6411  gcc/testsuite/gcc.c-torture/execute/builtins/memcpy-chk.c
  90eec08ffcd86445e987c6e9d454668d  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-2-lib.c
  d967a23dc46c04f7d9929e01b6410b65  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-2.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk-lib.c
+ 7f077bfe40ccca3d20a7a24391c27d7f  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-chk.c
  90eec08ffcd86445e987c6e9d454668d  gcc/testsuite/gcc.c-torture/execute/builtins/memmove-lib.c
  44fb33d720704bce79c5289fbaadfa38  gcc/testsuite/gcc.c-torture/execute/builtins/memmove.c
! 70105fb7f59efe57b6e582f87ef11985  gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
  71164dad638cc02a752274dd4ffe70cd  gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm.c
  1a3ea4e36df441704d8d1b28df3bd7ed  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-2-lib.c
  a465aeeb9de47b64d250c6d3491adbf8  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-2.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk-lib.c
+ b1f6a0684b040f29d2894981566ec76b  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-chk.c
  1a3ea4e36df441704d8d1b28df3bd7ed  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy-lib.c
  5718f93c821cbb426d012b0091461089  gcc/testsuite/gcc.c-torture/execute/builtins/mempcpy.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk-lib.c
+ fbd89da6790b4772f3f6c3580a2bb177  gcc/testsuite/gcc.c-torture/execute/builtins/memset-chk.c
  6f905cdc469586014bb19fd748162b58  gcc/testsuite/gcc.c-torture/execute/builtins/memset-lib.c
  52867f894dd88e60bcf0182d12a00624  gcc/testsuite/gcc.c-torture/execute/builtins/memset.c
+ 99438348a0fb8c16f611b552687c659a  gcc/testsuite/gcc.c-torture/execute/builtins/pr22237-lib.c
+ 300d9ab3d9df6e85085c874f460a689f  gcc/testsuite/gcc.c-torture/execute/builtins/pr22237.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/pr23484-chk-lib.c
+ 2b6f550f7b91531e68bfbc41f3b5be3d  gcc/testsuite/gcc.c-torture/execute/builtins/pr23484-chk.c
  14c96022e21022ec2d7b36a67c48ef08  gcc/testsuite/gcc.c-torture/execute/builtins/printf-lib.c
! 5c46288128c89b87b496904e6858654e  gcc/testsuite/gcc.c-torture/execute/builtins/printf.c
! 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/snprintf-chk-lib.c
! d071205c9510611d08a780090a75fadb  gcc/testsuite/gcc.c-torture/execute/builtins/snprintf-chk.c
! 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf-chk-lib.c
! eb8018c5c3f69cd285e9b5f69355afbf  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf-chk.c
  8beff4ed5536d77b3917ad34bd3ca734  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf-lib.c
  aa92bdcd5fbfe3cb673a1970666031da  gcc/testsuite/gcc.c-torture/execute/builtins/sprintf.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/stpcpy-chk-lib.c
+ e80e46c86eb537086359835e3c3c6474  gcc/testsuite/gcc.c-torture/execute/builtins/stpcpy-chk.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/strcat-chk-lib.c
+ 1b9c36f8a2ff3a8a83023d84ce3c90ac  gcc/testsuite/gcc.c-torture/execute/builtins/strcat-chk.c
  d30a8e27b147083b189425af5fe05b2b  gcc/testsuite/gcc.c-torture/execute/builtins/strcat-lib.c
! e0fd0b94ca4db08db51b24dfa54d4f7b  gcc/testsuite/gcc.c-torture/execute/builtins/strcat.c
  c42501d31de8be0291adc1ef673e52b2  gcc/testsuite/gcc.c-torture/execute/builtins/strchr-lib.c
  31fdf27cdd554b1e8f28c2bdf18d74fc  gcc/testsuite/gcc.c-torture/execute/builtins/strchr.c
  2c4468f680ca92665115056d0121b6e9  gcc/testsuite/gcc.c-torture/execute/builtins/strcmp-lib.c
  ff52ed0b06289edabcc2b0f6f8f448b1  gcc/testsuite/gcc.c-torture/execute/builtins/strcmp.c
  f04fadc50b6e98e48602a5d15661e114  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-2-lib.c
  12a68323d77bf047184825e4c1543639  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-2.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-chk-lib.c
+ e41eb12ddc5fb3d06194511a30f0cc47  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-chk.c
  f04fadc50b6e98e48602a5d15661e114  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy-lib.c
  0fb0648c98cfe654d7afe0fa00e80ef0  gcc/testsuite/gcc.c-torture/execute/builtins/strcpy.c
  4991954f9732f6d3d1f60cb416a07430  gcc/testsuite/gcc.c-torture/execute/builtins/strcspn-lib.c
  db37afe605f1b0c4fc4de1025bb29929  gcc/testsuite/gcc.c-torture/execute/builtins/strcspn.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2-lib.c
! bd12c0d3d17db9c1905d3ec391887ce2  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-2.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3-lib.c
! 9693e9146122e269ead39aa9d600a947  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-3.c
  aa38fed4e25baaf1fc6bc02c0adbde78  gcc/testsuite/gcc.c-torture/execute/builtins/strlen-lib.c
  b4c1aa0fbdea5628747cc9d62dba42c9  gcc/testsuite/gcc.c-torture/execute/builtins/strlen.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/strncat-chk-lib.c
+ 523092b47352563b812e7ba1e3eb6a82  gcc/testsuite/gcc.c-torture/execute/builtins/strncat-chk.c
  d3ca6e4899e5e5ad6176ba06eb9a7df2  gcc/testsuite/gcc.c-torture/execute/builtins/strncat-lib.c
! d3b895a745371afb8ef9022a65f91525  gcc/testsuite/gcc.c-torture/execute/builtins/strncat.c
  e2e1da99ffb349bc8c328444b231e4f6  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-2-lib.c
! eba2c395bfb84b9097924d81e6a60fe4  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-2.c
  e2e1da99ffb349bc8c328444b231e4f6  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp-lib.c
! fba1a3ab0e5b485e08f9286cf1d7358c  gcc/testsuite/gcc.c-torture/execute/builtins/strncmp.c
! 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy-chk-lib.c
! dc70503afb32b16e84e759299d224828  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy-chk.c
  89ee454ece7134e8578f3ee094c260c4  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy-lib.c
! 13481970a911ca6525d45dffee5a0c71  gcc/testsuite/gcc.c-torture/execute/builtins/strncpy.c
  5343de615126e3476133a6d32589f90e  gcc/testsuite/gcc.c-torture/execute/builtins/strpbrk-lib.c
  0588c977070824dcb460a477087e29ba  gcc/testsuite/gcc.c-torture/execute/builtins/strpbrk.c
  05ad1cada55de3aab76b019089846052  gcc/testsuite/gcc.c-torture/execute/builtins/strpcpy-2-lib.c
*************** e944267d000f7c657b52900387a59138  gcc/te
*** 14721,14730 ****
  840b781385fe62a54c716c7f7f06ed4d  gcc/testsuite/gcc.c-torture/execute/builtins/strrchr.c
  91ec8a4c356d94a26b2da4f4d1b79d6d  gcc/testsuite/gcc.c-torture/execute/builtins/strspn-lib.c
  7604d68698845f4dd5694961d180344d  gcc/testsuite/gcc.c-torture/execute/builtins/strspn.c
! b78aba76f1523d23b319539bb90bb8d6  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm-lib.c
  bb7f149cfe551a03856591be0fdfcef5  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c
  2c4aa3d41b1deee5941ae83f5b8a1b8e  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-lib.c
  0bbef83f84e8387e587a22ccb8ec867f  gcc/testsuite/gcc.c-torture/execute/builtins/strstr.c
  390c8462863a047809ec0a272eada4f7  gcc/testsuite/gcc.c-torture/execute/cbrt.c
  dac7b8ec4720c2dc1cf479bbaf7d384b  gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c
  6893dd4c6d9027e3efe459742565f4da  gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
--- 13610,13623 ----
  840b781385fe62a54c716c7f7f06ed4d  gcc/testsuite/gcc.c-torture/execute/builtins/strrchr.c
  91ec8a4c356d94a26b2da4f4d1b79d6d  gcc/testsuite/gcc.c-torture/execute/builtins/strspn-lib.c
  7604d68698845f4dd5694961d180344d  gcc/testsuite/gcc.c-torture/execute/builtins/strspn.c
! 73c812384679e44ce175a85c63ee1fa1  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm-lib.c
  bb7f149cfe551a03856591be0fdfcef5  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-asm.c
  2c4aa3d41b1deee5941ae83f5b8a1b8e  gcc/testsuite/gcc.c-torture/execute/builtins/strstr-lib.c
  0bbef83f84e8387e587a22ccb8ec867f  gcc/testsuite/gcc.c-torture/execute/builtins/strstr.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/vsnprintf-chk-lib.c
+ 5285eb4044207b0772c8c24d5c5d1960  gcc/testsuite/gcc.c-torture/execute/builtins/vsnprintf-chk.c
+ 8e258d2fc5daa60d7007d842cf555b36  gcc/testsuite/gcc.c-torture/execute/builtins/vsprintf-chk-lib.c
+ 9b7db96f1bb581fb2d74a3bfe6300e26  gcc/testsuite/gcc.c-torture/execute/builtins/vsprintf-chk.c
  390c8462863a047809ec0a272eada4f7  gcc/testsuite/gcc.c-torture/execute/cbrt.c
  dac7b8ec4720c2dc1cf479bbaf7d384b  gcc/testsuite/gcc.c-torture/execute/cmpdi-1.c
  6893dd4c6d9027e3efe459742565f4da  gcc/testsuite/gcc.c-torture/execute/cmpsi-1.c
*************** f085b9359ce3c84fa1ab085ae3431f33  gcc/te
*** 14740,14745 ****
--- 13633,13639 ----
  e1b798d44ceb5c3854c30678f6defd59  gcc/testsuite/gcc.c-torture/execute/complex-5.c
  38b3cad726333882049b3c5ffe34c07d  gcc/testsuite/gcc.c-torture/execute/complex-6.c
  d1fb88dfc66950cce25732eda9376105  gcc/testsuite/gcc.c-torture/execute/compndlit-1.c
+ 192df9f6265b32749eec07de13e27d10  gcc/testsuite/gcc.c-torture/execute/const-addr-expr-1.c
  0f8c91078bcdc9a9404792b0e949b371  gcc/testsuite/gcc.c-torture/execute/conversion.c
  a647fcb11d4e2029fe161f57a64e0547  gcc/testsuite/gcc.c-torture/execute/cvt-1.c
  26408bf742a70bc31f62ab92526114af  gcc/testsuite/gcc.c-torture/execute/cvt-1.x
*************** b88415410e81b02068f1474a644bd707  gcc/te
*** 14757,14766 ****
  b75081070e5d6cda7c7fa71f2652e5c4  gcc/testsuite/gcc.c-torture/execute/enum-1.c
  0de8cd8896dc35069287acffcf0cf023  gcc/testsuite/gcc.c-torture/execute/enum-2.c
  91b8922c3b6304ab6ab99942dbca6c66  gcc/testsuite/gcc.c-torture/execute/enum-3.c
! 6b6c5cd0760efacb4f541c71b316ba80  gcc/testsuite/gcc.c-torture/execute/execute.exp
  3f877fc808f2ba680241c6f0726afdb8  gcc/testsuite/gcc.c-torture/execute/extzvsi.c
  d2dbbb18d94c0dbb1f03952bbd682bdc  gcc/testsuite/gcc.c-torture/execute/ffs-1.c
  59890cc9fc7ac6d103d95e083b353cd1  gcc/testsuite/gcc.c-torture/execute/ffs-2.c
  9052c118de9977e04df6f3eb53a232a8  gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
  962e051fd610cee2e2943cf6cc6b31e8  gcc/testsuite/gcc.c-torture/execute/gofast.c
  ec9e55cbe64c41ae6227a44c2c35df1f  gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
--- 13651,13664 ----
  b75081070e5d6cda7c7fa71f2652e5c4  gcc/testsuite/gcc.c-torture/execute/enum-1.c
  0de8cd8896dc35069287acffcf0cf023  gcc/testsuite/gcc.c-torture/execute/enum-2.c
  91b8922c3b6304ab6ab99942dbca6c66  gcc/testsuite/gcc.c-torture/execute/enum-3.c
! ecb6a33d8f27fd1f338b4c3514899b0a  gcc/testsuite/gcc.c-torture/execute/execute.exp
  3f877fc808f2ba680241c6f0726afdb8  gcc/testsuite/gcc.c-torture/execute/extzvsi.c
  d2dbbb18d94c0dbb1f03952bbd682bdc  gcc/testsuite/gcc.c-torture/execute/ffs-1.c
  59890cc9fc7ac6d103d95e083b353cd1  gcc/testsuite/gcc.c-torture/execute/ffs-2.c
+ 3b7bcf684f5e2c1b7b0f7d78bfbd7e8c  gcc/testsuite/gcc.c-torture/execute/float-floor.c
+ 2be354875a43c3c64e8590e565fd36ba  gcc/testsuite/gcc.c-torture/execute/fprintf-1.c
+ cba11e47c91812638ac3e1cff70258c8  gcc/testsuite/gcc.c-torture/execute/fprintf-chk-1.c
+ 677ebf27af903a9c6ba9e5c09e8e536e  gcc/testsuite/gcc.c-torture/execute/frame-address.c
  9052c118de9977e04df6f3eb53a232a8  gcc/testsuite/gcc.c-torture/execute/func-ptr-1.c
  962e051fd610cee2e2943cf6cc6b31e8  gcc/testsuite/gcc.c-torture/execute/gofast.c
  ec9e55cbe64c41ae6227a44c2c35df1f  gcc/testsuite/gcc.c-torture/execute/ieee/20000320-1.c
*************** e6e4bf75b7bfe776a42e2d834c668aa0  gcc/te
*** 14801,14807 ****
  987c92fc82b6f0a9fcd149cb6983020f  gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c
  eda53ee18df0e1666f58ac145f30c8bc  gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c
  99d35313773227ad3db5ac36f4378d55  gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.x
! 901239455eb653c2cc7f67e8ec0da789  gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
  becc504a322770453dcee9cedb700b2a  gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c
  d54974ae1bfac691ab0fc2678a0c5526  gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c
  2736a1631ef3bc3d1b07e98d9c11e15d  gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
--- 13699,13705 ----
  987c92fc82b6f0a9fcd149cb6983020f  gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-8l.c
  eda53ee18df0e1666f58ac145f30c8bc  gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.c
  99d35313773227ad3db5ac36f4378d55  gcc/testsuite/gcc.c-torture/execute/ieee/hugeval.x
! 5d18580cafd7ed8cb222504cb157b041  gcc/testsuite/gcc.c-torture/execute/ieee/ieee.exp
  becc504a322770453dcee9cedb700b2a  gcc/testsuite/gcc.c-torture/execute/ieee/inf-1.c
  d54974ae1bfac691ab0fc2678a0c5526  gcc/testsuite/gcc.c-torture/execute/ieee/inf-2.c
  2736a1631ef3bc3d1b07e98d9c11e15d  gcc/testsuite/gcc.c-torture/execute/ieee/minuszero.c
*************** d9c36fc850771445c5e4b6ce6dae1a12  gcc/te
*** 14876,14888 ****
--- 13774,13789 ----
  5edf8fe6edf222f102732e243da019fe  gcc/testsuite/gcc.c-torture/execute/pr15296.c
  eede5846406062fe63057e8df56a6ca6  gcc/testsuite/gcc.c-torture/execute/pr16790-1.c
  4fc9e57f7b945eb1b204095a3d029480  gcc/testsuite/gcc.c-torture/execute/pr17078-1.c
+ dba3bcf10039bcb1ecc6bf45d0cd1bd8  gcc/testsuite/gcc.c-torture/execute/pr17133.c
  37ca25609a247860be8b02708b73fea7  gcc/testsuite/gcc.c-torture/execute/pr17252.c
  7ef169db579e43d58627ae1d4163458b  gcc/testsuite/gcc.c-torture/execute/pr17377.c
+ 5f75ea59963aba30c9a23d96579453f7  gcc/testsuite/gcc.c-torture/execute/pr19005.c
  2acb24beb962e468d2f1c1ea9dfc3777  gcc/testsuite/gcc.c-torture/execute/pr19515.c
  6b723e82c4f73f13efba759c6fdf97dd  gcc/testsuite/gcc.c-torture/execute/pr19687.c
  037f8f7054c3294a3c09f44a4360c1a2  gcc/testsuite/gcc.c-torture/execute/pr19689.c
  568fdc6c0308a2021fa0958fbb14e69d  gcc/testsuite/gcc.c-torture/execute/pr20100-1.c
  f8cf5a460b360bafad4142b746516305  gcc/testsuite/gcc.c-torture/execute/pr20187-1.c
+ 541908079884467c4a08f7987a344a71  gcc/testsuite/gcc.c-torture/execute/pr20466-1.c
  f881996934b53f50e79ef53efa9360c5  gcc/testsuite/gcc.c-torture/execute/pr20527-1.c
  c4d4100775bd3f164faa4568489656b5  gcc/testsuite/gcc.c-torture/execute/pr20601-1.c
  50bc0ad9636ccbe1fa797bc55fc0fd9a  gcc/testsuite/gcc.c-torture/execute/pr20621-1.c
*************** d0b7114647f223fd5d76807fabb2b2f4  gcc/te
*** 14896,14904 ****
  65ac378786f35518eff3215053c1c5a5  gcc/testsuite/gcc.c-torture/execute/pr22098-1.c
  34cc03cabeacbecec23c0f9e24372624  gcc/testsuite/gcc.c-torture/execute/pr22098-2.c
  d38424b4ed3153d81deb2675431b39a3  gcc/testsuite/gcc.c-torture/execute/pr22098-3.c
! 060f47e6bcd0cf810bb76cb73cf1fd2c  gcc/testsuite/gcc.c-torture/execute/pr22348.c
  5fcddec75b4fced0792d11eb3f66e76e  gcc/testsuite/gcc.c-torture/execute/pr23941.c
  ecfc31f12ce09d6ccbcced04ff04deba  gcc/testsuite/gcc.c-torture/execute/pr7284-1.c
  25b0ab996245c8f0a89b359cb2f3d01b  gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
  a28bd879356d47f1e472aeb9f6dd7b5e  gcc/testsuite/gcc.c-torture/execute/pure-1.c
  94f371d3aceb1a9327cc749ff6604e30  gcc/testsuite/gcc.c-torture/execute/regstack-1.c
--- 13797,13823 ----
  65ac378786f35518eff3215053c1c5a5  gcc/testsuite/gcc.c-torture/execute/pr22098-1.c
  34cc03cabeacbecec23c0f9e24372624  gcc/testsuite/gcc.c-torture/execute/pr22098-2.c
  d38424b4ed3153d81deb2675431b39a3  gcc/testsuite/gcc.c-torture/execute/pr22098-3.c
! 0df2371723d574d9621cdbc49647cb2a  gcc/testsuite/gcc.c-torture/execute/pr22348.c
! 71d710582220bdf55130ce4c6259c132  gcc/testsuite/gcc.c-torture/execute/pr22429.c
! 510834e64a3abaa748312d3e60977569  gcc/testsuite/gcc.c-torture/execute/pr22493-1.c
! 73e8de0c44f30b42fdf27af615fb1016  gcc/testsuite/gcc.c-torture/execute/pr22493-1.x
! dd00be933cede2d9e5e60bb682a83aee  gcc/testsuite/gcc.c-torture/execute/pr22630.c
! c88be071e230cf769a7378b5448cddcc  gcc/testsuite/gcc.c-torture/execute/pr23047.c
! 73e8de0c44f30b42fdf27af615fb1016  gcc/testsuite/gcc.c-torture/execute/pr23047.x
! 9ca8411fdd9085391a4d0a1b73d881da  gcc/testsuite/gcc.c-torture/execute/pr23135.c
! daf80206ebf1679b1938f38f4dd13747  gcc/testsuite/gcc.c-torture/execute/pr23324.c
! 3ee2d38368725999e95e141a39e863a6  gcc/testsuite/gcc.c-torture/execute/pr23467.c
! a832db54bb9231364468a1a69cd515f0  gcc/testsuite/gcc.c-torture/execute/pr23604.c
  5fcddec75b4fced0792d11eb3f66e76e  gcc/testsuite/gcc.c-torture/execute/pr23941.c
+ a307616c99fd7b31d65e1796324adc84  gcc/testsuite/gcc.c-torture/execute/pr24135.c
+ f25f542bc49307013f5b225dba0bd5fd  gcc/testsuite/gcc.c-torture/execute/pr24141.c
+ 3ee621bb1a542ed5df90bf2097bc9b9b  gcc/testsuite/gcc.c-torture/execute/pr24142.c
+ b515840f11a33c86ce043878f117b6e0  gcc/testsuite/gcc.c-torture/execute/pr24716.c
+ e4475736d3bd874cdc482ee4f9ce1f4e  gcc/testsuite/gcc.c-torture/execute/pr24851.c
+ cd092ed980cc0bc3beb8cb8d9892ccf9  gcc/testsuite/gcc.c-torture/execute/pr25125.c
  ecfc31f12ce09d6ccbcced04ff04deba  gcc/testsuite/gcc.c-torture/execute/pr7284-1.c
+ f4610e3bba97324f7005c428fe41e597  gcc/testsuite/gcc.c-torture/execute/printf-1.c
+ 75ef5098d0758219fe59601f8545c342  gcc/testsuite/gcc.c-torture/execute/printf-chk-1.c
  25b0ab996245c8f0a89b359cb2f3d01b  gcc/testsuite/gcc.c-torture/execute/ptr-arith-1.c
  a28bd879356d47f1e472aeb9f6dd7b5e  gcc/testsuite/gcc.c-torture/execute/pure-1.c
  94f371d3aceb1a9327cc749ff6604e30  gcc/testsuite/gcc.c-torture/execute/regstack-1.c
*************** fee32a848c751252ae3f2e9383cbf63f  gcc/te
*** 14913,14920 ****
  d04e26aea5ec30bccaca225cc8ada351  gcc/testsuite/gcc.c-torture/execute/simd-5.c
  c5ba016a76f2a079ff6974d341c9ec69  gcc/testsuite/gcc.c-torture/execute/simd-6.c
  cad28b37258cc811253fb37f3c3885e9  gcc/testsuite/gcc.c-torture/execute/stdarg-1.c
! 6060ec4c78d499b4859c40fbf4b4a995  gcc/testsuite/gcc.c-torture/execute/stdarg-2.c
  0914d479399f22ad528c75c7cf45dd38  gcc/testsuite/gcc.c-torture/execute/stdarg-3.c
  da5af2794b49b79ee4c7895a065c6869  gcc/testsuite/gcc.c-torture/execute/strcmp-1.c
  e02a8cc44780d166c4850252ee9780d3  gcc/testsuite/gcc.c-torture/execute/strcpy-1.c
  f42301aa4457d7b5be6b911e739964e8  gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
--- 13832,13840 ----
  d04e26aea5ec30bccaca225cc8ada351  gcc/testsuite/gcc.c-torture/execute/simd-5.c
  c5ba016a76f2a079ff6974d341c9ec69  gcc/testsuite/gcc.c-torture/execute/simd-6.c
  cad28b37258cc811253fb37f3c3885e9  gcc/testsuite/gcc.c-torture/execute/stdarg-1.c
! 3d1125f58e8c27f919200718165b5244  gcc/testsuite/gcc.c-torture/execute/stdarg-2.c
  0914d479399f22ad528c75c7cf45dd38  gcc/testsuite/gcc.c-torture/execute/stdarg-3.c
+ 38b5e27f4e710c5c815e3d57967287ce  gcc/testsuite/gcc.c-torture/execute/stdarg-4.c
  da5af2794b49b79ee4c7895a065c6869  gcc/testsuite/gcc.c-torture/execute/strcmp-1.c
  e02a8cc44780d166c4850252ee9780d3  gcc/testsuite/gcc.c-torture/execute/strcpy-1.c
  f42301aa4457d7b5be6b911e739964e8  gcc/testsuite/gcc.c-torture/execute/strct-pack-1.c
*************** e43858d7b08da492de947867d5e08d85  gcc/te
*** 14964,14974 ****
--- 13884,13907 ----
  c1c992b583600c2fac7989b2407358f8  gcc/testsuite/gcc.c-torture/execute/va-arg-7.c
  78112815a934532171253fbc6c5a0bd2  gcc/testsuite/gcc.c-torture/execute/va-arg-8.c
  3d2421b9db7a3e1c31bbbd7abf3cb164  gcc/testsuite/gcc.c-torture/execute/va-arg-9.c
+ fe68c7fc4facecc315067e6b70db7a41  gcc/testsuite/gcc.c-torture/execute/vfprintf-1.c
+ 52c7cb1575b095f274b01a38fd062aa8  gcc/testsuite/gcc.c-torture/execute/vfprintf-chk-1.c
+ 119166e6a400f0f5bda187d372fd2602  gcc/testsuite/gcc.c-torture/execute/vprintf-1.c
+ ff5992bff02cf6ff41b25f6576e7d027  gcc/testsuite/gcc.c-torture/execute/vprintf-chk-1.c
+ ed64944e564f00f8df6474093f67d9fc  gcc/testsuite/gcc.c-torture/execute/vrp-1.c
+ 2da1a102082270984ab32a4e84f53749  gcc/testsuite/gcc.c-torture/execute/vrp-2.c
+ 5904f2ff54ef6eaa41bb216faeaad8f6  gcc/testsuite/gcc.c-torture/execute/vrp-3.c
+ f435ec80e0e5b9ea8d4e776a0f3e3719  gcc/testsuite/gcc.c-torture/execute/vrp-4.c
+ 83e2d3ea79971a91d81eaec80be6a4a2  gcc/testsuite/gcc.c-torture/execute/vrp-5.c
+ b1d5b6b081ffca63a9d497cd7fc4cb1c  gcc/testsuite/gcc.c-torture/execute/vrp-6.c
  1d1bbaba00d236ca2b1304b1dc271f0e  gcc/testsuite/gcc.c-torture/execute/wchar_t-1.c
  48a338aefae57acc71df64dfa87eb850  gcc/testsuite/gcc.c-torture/execute/widechar-1.c
  9a5b8cfecfcc36f46dcf851ba6a19df1  gcc/testsuite/gcc.c-torture/execute/widechar-2.c
+ 4b58b53fc9f9a3d25928d85495832f27  gcc/testsuite/gcc.c-torture/execute/zero-struct-1.c
+ 05aae0dbb71b992a2f163bf1d0a24045  gcc/testsuite/gcc.c-torture/execute/zero-struct-2.c
  540bc182381f68374a6cb9c7f45dd001  gcc/testsuite/gcc.c-torture/execute/zerolen-1.c
  ca00e4f2b164049efb51c27ea249ed6b  gcc/testsuite/gcc.c-torture/execute/zerolen-2.c
+ 56f534b214b74175727aecf027b4685f  gcc/testsuite/gcc.c-torture/pr20583.c
  852e36098cc2812427daeb61db6d8f71  gcc/testsuite/gcc.c-torture/unsorted/386.c
  9681568709601cbb39a156fa04526182  gcc/testsuite/gcc.c-torture/unsorted/86.c
  e0d381962f52ee4f081154c62b739e58  gcc/testsuite/gcc.c-torture/unsorted/BUG1.c
*************** ce937efab237b195eacc51860fac3366  gcc/te
*** 15222,15228 ****
  8e79fe65006c8a5c393b2b5c42986f74  gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c
  4a0bf5165a70ad51609fd658c8e7cdb4  gcc/testsuite/gcc.c-torture/unsorted/uns.c
  ece957bd2db1749c32578bdb5e0c533d  gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c
! 1cfbf5f528c9b98524411d8615da50ba  gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
  5397ee9ea431427d681ab51464c5a99b  gcc/testsuite/gcc.c-torture/unsorted/uuarg.c
  351fb056f57bf57e27b1408dbfa44263  gcc/testsuite/gcc.c-torture/unsorted/v.c
  2d2b762be5e099983e223b762c364368  gcc/testsuite/gcc.c-torture/unsorted/w.c
--- 14155,14161 ----
  8e79fe65006c8a5c393b2b5c42986f74  gcc/testsuite/gcc.c-torture/unsorted/udivmod4.c
  4a0bf5165a70ad51609fd658c8e7cdb4  gcc/testsuite/gcc.c-torture/unsorted/uns.c
  ece957bd2db1749c32578bdb5e0c533d  gcc/testsuite/gcc.c-torture/unsorted/uns_tst.c
! da515f3658466cbdeac50b0f449375d0  gcc/testsuite/gcc.c-torture/unsorted/unsorted.exp
  5397ee9ea431427d681ab51464c5a99b  gcc/testsuite/gcc.c-torture/unsorted/uuarg.c
  351fb056f57bf57e27b1408dbfa44263  gcc/testsuite/gcc.c-torture/unsorted/v.c
  2d2b762be5e099983e223b762c364368  gcc/testsuite/gcc.c-torture/unsorted/w.c
*************** d8fa8929773b3d0a219154f7b8e2e6ba  gcc/te
*** 15249,15268 ****
  d6316deebf3ef6e8f24035468ac56c3e  gcc/testsuite/gcc.c-torture/unsorted/xzz.c
  d0289bfc068c575e2168df7bc156b45a  gcc/testsuite/gcc.dg/20000108-1.c
  586ef49702317acb226ba076aeea11ee  gcc/testsuite/gcc.dg/20000111-1.c
- 73d4ea9a3539a34dcb4f0e58abe846d2  gcc/testsuite/gcc.dg/20000609-1.c
- f2037030516bcbdbc2168697fa62f871  gcc/testsuite/gcc.dg/20000614-1.c
- ca2d3eef9f33e84d74a798acf86f3a11  gcc/testsuite/gcc.dg/20000614-2.c
  d8a5405adb98e221c4fa41ce145177c6  gcc/testsuite/gcc.dg/20000623-1.c
  d1a693baca2cba572e7105df5dd48125  gcc/testsuite/gcc.dg/20000629-1.c
  bdbfe54610915e4d33acf4b3a1ed7293  gcc/testsuite/gcc.dg/20000707-1.c
! f125813d8979781792ab95c79efe5ae8  gcc/testsuite/gcc.dg/20000715-1.c
! dbd3b82b4bbfaf0636737500a2ffc723  gcc/testsuite/gcc.dg/20000720-1.c
! a9f79c9cc568e5952d40adf0aff0f793  gcc/testsuite/gcc.dg/20000724-1.c
! 4631c13a8bfa530217ed70d7d1ea3327  gcc/testsuite/gcc.dg/20000807-1.c
! 9178336cfff0dcc5067488e18c473e81  gcc/testsuite/gcc.dg/20000904-1.c
  459b324f808517057405584375634672  gcc/testsuite/gcc.dg/20000906-1.c
  8f90e3d9f2e61c57bbb3c09bea849fff  gcc/testsuite/gcc.dg/20000926-1.c
! 45bbc6e802e1d4a9cd6687ccd53fc605  gcc/testsuite/gcc.dg/20001009-1.c
  1018778766c23aa319c8761f6120546f  gcc/testsuite/gcc.dg/20001012-1.c
  44fe2aa1012d00b2d0533e41f25cef93  gcc/testsuite/gcc.dg/20001012-2.c
  6778b5da2101a62a89b37f6309efa8c9  gcc/testsuite/gcc.dg/20001013-1.c
--- 14182,14194 ----
  d6316deebf3ef6e8f24035468ac56c3e  gcc/testsuite/gcc.c-torture/unsorted/xzz.c
  d0289bfc068c575e2168df7bc156b45a  gcc/testsuite/gcc.dg/20000108-1.c
  586ef49702317acb226ba076aeea11ee  gcc/testsuite/gcc.dg/20000111-1.c
  d8a5405adb98e221c4fa41ce145177c6  gcc/testsuite/gcc.dg/20000623-1.c
  d1a693baca2cba572e7105df5dd48125  gcc/testsuite/gcc.dg/20000629-1.c
  bdbfe54610915e4d33acf4b3a1ed7293  gcc/testsuite/gcc.dg/20000707-1.c
! b1d349d868efa062503f441743de5d12  gcc/testsuite/gcc.dg/20000724-1.c
  459b324f808517057405584375634672  gcc/testsuite/gcc.dg/20000906-1.c
  8f90e3d9f2e61c57bbb3c09bea849fff  gcc/testsuite/gcc.dg/20000926-1.c
! 92aac4b66b01b868ee368573ff143a2c  gcc/testsuite/gcc.dg/20001009-1.c
  1018778766c23aa319c8761f6120546f  gcc/testsuite/gcc.dg/20001012-1.c
  44fe2aa1012d00b2d0533e41f25cef93  gcc/testsuite/gcc.dg/20001012-2.c
  6778b5da2101a62a89b37f6309efa8c9  gcc/testsuite/gcc.dg/20001013-1.c
*************** b91479c9593fb862e8d00ffb9fce6f19  gcc/te
*** 15271,15448 ****
  f3085f7f3bbd239674a7d736480ef4aa  gcc/testsuite/gcc.dg/20001102-1.c
  f1f9c6701b53387745942330dd4c42c6  gcc/testsuite/gcc.dg/20001108-1.c
  ab53b32276e226d788c361eb6211743a  gcc/testsuite/gcc.dg/20001116-1.c
! 960f40e1d38eb810f150c74c49dfdf59  gcc/testsuite/gcc.dg/20001117-1.c
! 040ca403876d533a3a471dba9a4c79f9  gcc/testsuite/gcc.dg/20001127-1.c
  f73c7ca8a6110c492ac08c3f2ef16d98  gcc/testsuite/gcc.dg/20001201-1.c
  b48bdb28ef372dfc058cdb2dbbe3e480  gcc/testsuite/gcc.dg/20001228-1.c
- d902bd64626de0e3bb75bb841974618c  gcc/testsuite/gcc.dg/20010202-1.c
  1fcd3f666246e3e65b27ca65e0a2c7ba  gcc/testsuite/gcc.dg/20010405-1.c
- 29ccf435035cbe4ecb0b7e8e463eed92  gcc/testsuite/gcc.dg/20010423-1.c
  fadfd239cf18e9787b056daa02185f49  gcc/testsuite/gcc.dg/20010516-1.c
- 2431ceebce12dc1ab32a5756d8a5c6b0  gcc/testsuite/gcc.dg/20010520-1.c
  0a64d1b22ab6fdd4e7634f6a2606d7b1  gcc/testsuite/gcc.dg/20010622-1.c
  d6a093b34cae63181747086a916286be  gcc/testsuite/gcc.dg/20010822-1.c
! 945611e5223dd74308c9e3369d3789ef  gcc/testsuite/gcc.dg/20010912-1.c
  2e0947ca24a7e436edbc9809106a9223  gcc/testsuite/gcc.dg/20011008-1.c
  2c0b6c99d0c00cbda18c2223f2af019b  gcc/testsuite/gcc.dg/20011008-2.c
- 320397272eebbe8258e45588c016fd31  gcc/testsuite/gcc.dg/20011009-1.c
  d8044904e0b915a7f55dc14b951f2702  gcc/testsuite/gcc.dg/20011015-1.c
- 606e0fd9f9014582eb7fd999c72ed03f  gcc/testsuite/gcc.dg/20011018-1.c
  fb9781f43d850b74cf126c8f9a3b3855  gcc/testsuite/gcc.dg/20011021-1.c
- 368e87c13c3443f2d229e0a5b7443d3e  gcc/testsuite/gcc.dg/20011029-2.c
- ecf04c40ab935dabb00f8d8f5db1a302  gcc/testsuite/gcc.dg/20011107-1.c
  7df3958507d4efafb483da643fe5d513  gcc/testsuite/gcc.dg/20011113-1.c
- bf11e88497d23397cb86eeac1c2345d0  gcc/testsuite/gcc.dg/20011119-1.c
  64b7e14c2a2f916c6bb309d687e944b1  gcc/testsuite/gcc.dg/20011127-1.c
  373763bb633dfa1a656ec53ca2130250  gcc/testsuite/gcc.dg/20011130-1.c
  c6fc7b20ac8cac4f07549ac5f6f21a77  gcc/testsuite/gcc.dg/20011214-1.c
! cc0a6b9415a203edbb6fceb8174db67c  gcc/testsuite/gcc.dg/20020103-1.c
  94971217a1ac5772e8c5b56ebec74de4  gcc/testsuite/gcc.dg/20020104-1.c
! 9a168efe3304cf5019f380d4ef66bddd  gcc/testsuite/gcc.dg/20020108-1.c
  c69bc42cc08ae08138f337ef58c638f6  gcc/testsuite/gcc.dg/20020115-1.c
  15ad59848fef8b748253d14541f4c725  gcc/testsuite/gcc.dg/20020116-1.c
  6e18b390fad184ec9659967567060a38  gcc/testsuite/gcc.dg/20020116-2.c
- 2eae00e26ad9fe436d4b551c56a71f2f  gcc/testsuite/gcc.dg/20020118-1.c
  99334df3b382541c50c6fca65673c127  gcc/testsuite/gcc.dg/20020122-1.c
! a01bea0da6800c586eaf93905e1f07df  gcc/testsuite/gcc.dg/20020122-2.c
! 3481f6e4dd0679785d22e867d5683551  gcc/testsuite/gcc.dg/20020122-3.c
! 748f1f234dee745850443694622e23f7  gcc/testsuite/gcc.dg/20020122-4.c
! 67298862141da2077f8e263c294381ae  gcc/testsuite/gcc.dg/20020201-1.c
! 499fbd94244ebce430583c4516315849  gcc/testsuite/gcc.dg/20020201-3.c
! ea00c9b94289f4dfc1f2898413f14589  gcc/testsuite/gcc.dg/20020206-1.c
  08a65114d547473faf30f0e9b44e2237  gcc/testsuite/gcc.dg/20020210-1.c
! 5d6a23e95201895e2a959ecb9a25c163  gcc/testsuite/gcc.dg/20020218-1.c
! faeeaf3c8d498390d37e5540e331ad96  gcc/testsuite/gcc.dg/20020219-1.c
  190abf3030b76de527fcb49dc8dc9f83  gcc/testsuite/gcc.dg/20020220-1.c
  16fdabe231946b1fe11dc1bf4c662658  gcc/testsuite/gcc.dg/20020220-2.c
  b0b73c030d0d7412142654db09bd172a  gcc/testsuite/gcc.dg/20020222-1.c
! a5d3d31df4564c6981a550b3b79d51d2  gcc/testsuite/gcc.dg/20020224-1.c
! 014ca1c20896d4dd629d87c9c5ae01e6  gcc/testsuite/gcc.dg/20020310-1.c
  f624e0acdc4cf507ceeea3c01ebd027f  gcc/testsuite/gcc.dg/20020312-1.c
! f4450da5d1040245bc4fba01970f8bbe  gcc/testsuite/gcc.dg/20020312-2.c
! b1766d65a81dbabcdca92f8c496a047d  gcc/testsuite/gcc.dg/20020313-1.c
  0bc0a613df9e226c6994a04c3f7c16d7  gcc/testsuite/gcc.dg/20020319-1.c
! 08ea616af09dcad3ded89b8ac8ca3871  gcc/testsuite/gcc.dg/20020326-1.c
! 5f74ccc3347ed15b74d74bbb96daa32c  gcc/testsuite/gcc.dg/20020411-1.c
! ff6ee59337f9bf32bbc9df5b195953af  gcc/testsuite/gcc.dg/20020415-1.c
  d7d3530dd358895d55495baabac989b2  gcc/testsuite/gcc.dg/20020416-1.c
! 1d036ae362015b7ba1593b2de5c7767a  gcc/testsuite/gcc.dg/20020418-1.c
! 75752783c20df4d1cb40a9d86b16e8dd  gcc/testsuite/gcc.dg/20020418-2.c
  26b1b9df5ec9177a6c137833bf34a120  gcc/testsuite/gcc.dg/20020425-1.c
! d10e9af758a208cfdbec28f775e32432  gcc/testsuite/gcc.dg/20020426-1.c
! c40b88d1a4f165569a043eba35281552  gcc/testsuite/gcc.dg/20020426-2.c
! 4c89af555a3fcfd039406fe577f3fc84  gcc/testsuite/gcc.dg/20020430-1.c
  10d2fda09a9b651d2ec5ea46b1d1331e  gcc/testsuite/gcc.dg/20020503-1.c
! b93f17979f49477491f0fa75fe68a948  gcc/testsuite/gcc.dg/20020517-1.c
! ad00c9509babb2dff25c2da15b0a1134  gcc/testsuite/gcc.dg/20020523-1.c
! 22a38297eb099457b2da6c3489092d96  gcc/testsuite/gcc.dg/20020523-2.c
  38d21cc31f8e604491f4bf2679d3a411  gcc/testsuite/gcc.dg/20020525-1.c
  eba89ad67022c84bc992baf8fd3f5a6b  gcc/testsuite/gcc.dg/20020527-1.c
  234845b8848f5680ff818f62f351bd2d  gcc/testsuite/gcc.dg/20020530-1.c
- 305ee7b59dd8fa0c553a5a8bf5b01016  gcc/testsuite/gcc.dg/20020531-1.c
  da093a504dd5180ba0a2d674a33283b6  gcc/testsuite/gcc.dg/20020607-1.c
  9460cc0e67fb619fc3dd04804f75c660  gcc/testsuite/gcc.dg/20020607-2.c
- 62c562416e1495119078fc2e0b64a755  gcc/testsuite/gcc.dg/20020616-1.c
  049fdf73fa08bd82d7ab93cb7940aede  gcc/testsuite/gcc.dg/20020620-1.c
! d3481b6a4a7c01553c5e3878202fdec4  gcc/testsuite/gcc.dg/20020729-1.c
! 2eb2a8ad64cffe4bcd867d90bd7623d9  gcc/testsuite/gcc.dg/20020919-1.c
! 837d3cb3cd2315bdb64553e7d2c0b5e3  gcc/testsuite/gcc.dg/20020926-1.c
  ede74f556652c85db3cb45f485c69289  gcc/testsuite/gcc.dg/20021006-1.c
! e699b8ee2ee5bf15430a58522c22ff55  gcc/testsuite/gcc.dg/20021014-1.c
! 9cc4ccd91d5584dd9e0aadbff33c0c45  gcc/testsuite/gcc.dg/20021018-1.c
! 4f356dd4e909a0725dd94bd60773bffa  gcc/testsuite/gcc.dg/20021023-1.c
! c362dedec72015c32cd388e94ac084e2  gcc/testsuite/gcc.dg/20021029-1.c
  dbac8533c2d035b1062c392d57919926  gcc/testsuite/gcc.dg/20021029-2.c
! 19fb8def52694e3762f9e2da261ce856  gcc/testsuite/gcc.dg/20021116-1.c
! bedede7f5ff92b5f18b454e64eef8087  gcc/testsuite/gcc.dg/20030107-1.c
! f073c3ddb52238e63cc1fd3baffe64a0  gcc/testsuite/gcc.dg/20030120-1.c
  ec6120ec7212919a62f6c6b97d74ff37  gcc/testsuite/gcc.dg/20030123-1.c
  a9dfc0c164f85954d984a8e7a478535f  gcc/testsuite/gcc.dg/20030129-1.c
! f8adfa49caf8d65c564cf289d0fbece0  gcc/testsuite/gcc.dg/20030204-1.c
! 8cfed911083207ae035f537debfb643f  gcc/testsuite/gcc.dg/20030213-1.c
! 1972f52a8e93b034e93a203266ab861d  gcc/testsuite/gcc.dg/20030217-1.c
! f8eb6380d279ede14fb1a775a77e90fa  gcc/testsuite/gcc.dg/20030218-1.c
! c3736e50d0b15790de2f7243518ef9a5  gcc/testsuite/gcc.dg/20030225-1.c
! ac1bbdaac32a696a1e0dbe826399ed9c  gcc/testsuite/gcc.dg/20030225-2.c
  cbde639b603bc8481f09b366d5af77f1  gcc/testsuite/gcc.dg/20030309-1.c
! 77336c5b710eff6e82519553aeef6ee8  gcc/testsuite/gcc.dg/20030321-1.c
  63be60a223d3a2ddec09968065c4fd69  gcc/testsuite/gcc.dg/20030323-1.c
! 31685e6b66e130faa7a0f52cb357dcfe  gcc/testsuite/gcc.dg/20030324-1.c
  39af42b2234f1eeb26edf952df5c89f2  gcc/testsuite/gcc.dg/20030331-2.c
- 0fd4db75bd5a72801ee571bed6692cf1  gcc/testsuite/gcc.dg/20030405-1.c
  5d54150f39cbb4e9b9985ecf99c5ef74  gcc/testsuite/gcc.dg/20030414-1.c
  6c9b33a7b2a588e199ea141abf4ad4b6  gcc/testsuite/gcc.dg/20030414-2.c
- b90c556060ead9eca4ae58eec1975294  gcc/testsuite/gcc.dg/20030505.c
  b92bcd5cc5e644e163858c3751c8b202  gcc/testsuite/gcc.dg/20030612-1.c
  12636f2c4a6070d3b4149b67e5cb503f  gcc/testsuite/gcc.dg/20030625-1.c
  01600f04a5bc3600ff140ceb707ce243  gcc/testsuite/gcc.dg/20030626-1.c
  7b030115274cda25e38bbfd46a79ac3e  gcc/testsuite/gcc.dg/20030627-1.c
! 1d70af232da295bfe04a23e751ad5362  gcc/testsuite/gcc.dg/20030702-1.c
  5fc6d99324dcfd47c490ca6d16eb7e24  gcc/testsuite/gcc.dg/20030707-1.c
! 93936012d7361c8f00049d63eb8a38dd  gcc/testsuite/gcc.dg/20030708-1.c
! d3e9c0e68af0fc62d9f0e1c69f81161d  gcc/testsuite/gcc.dg/20030711-1.c
  ac938414908af64d993e7eb4c23921a8  gcc/testsuite/gcc.dg/20030717-1.c
  4d37c7f496e294a2df11087c63c6b60f  gcc/testsuite/gcc.dg/20030721-1.c
  f081843dc1b013a9073e9f5ccbe9ccd8  gcc/testsuite/gcc.dg/20030804-1.c
  c1472ccfbb2e0d864160abbeb1da8b0e  gcc/testsuite/gcc.dg/20030805-1.c
- 9feeac7c880dea540f2127c4247141b2  gcc/testsuite/gcc.dg/20030811-1.c
  ce0f92cef90bc8790dc8f531382e80ff  gcc/testsuite/gcc.dg/20030815-1.c
  f4bfaaf3c8a2bfc8d0e0dafb2f00a6b0  gcc/testsuite/gcc.dg/20030820-1.c
  b6264f9cc3b2373e314903a774f304f5  gcc/testsuite/gcc.dg/20030826-1.c
! 2684f81955b87538a781facdc6d842ea  gcc/testsuite/gcc.dg/20030826-2.c
  fd0c97a136fd527613f92d0b915a2392  gcc/testsuite/gcc.dg/20030906-1.c
  66a213dc8af46e1e5e14bf19c6138d70  gcc/testsuite/gcc.dg/20030906-2.c
  cce46107c7dd3af0046a68526657d91a  gcc/testsuite/gcc.dg/20030909-1.c
- d3e4241cd67a71d2a4fcf66b64bba2aa  gcc/testsuite/gcc.dg/20030926-1.c
  5655763a17d49915d432045a28913415  gcc/testsuite/gcc.dg/20031002-1.c
  5c59001c6a09c828414e958fd47abb4f  gcc/testsuite/gcc.dg/20031012-1.c
! 171554a6c49d6ee933d7d1b8d1c6ccf2  gcc/testsuite/gcc.dg/20031102-1.c
  7a68d5f36d727672482aac66d270ebc8  gcc/testsuite/gcc.dg/20031108-1.c
  7c7ea7012460ffe514a8512545b63e58  gcc/testsuite/gcc.dg/20031111-1.c
  fea0269ef731b7c33b15b64a09d312d8  gcc/testsuite/gcc.dg/20031201-1.c
  b7bd984eb5b7d4b89a35583b6c25f974  gcc/testsuite/gcc.dg/20031201-2.c
! 48d66ad25c13649362129dcbe18fa42b  gcc/testsuite/gcc.dg/20031202-1.c
  6cf9c79b68d9e3c49a851fec31ded1f8  gcc/testsuite/gcc.dg/20031216-1.c
  914fb59271e3c601cb2e5e610f32a7b5  gcc/testsuite/gcc.dg/20031218-1.c
  0e31f15cce2c41678fc3e7f76a6d7da2  gcc/testsuite/gcc.dg/20031218-2.c
  d88f26e336c418f871b1a921ead6b08a  gcc/testsuite/gcc.dg/20031218-3.c
  9fe96201a56e928b8136e3d47faf364d  gcc/testsuite/gcc.dg/20031222-1.c
  f9134d46ec840532aee3913c7b86f7fb  gcc/testsuite/gcc.dg/20031223-1.c
- fd702924dd6dbd253be38cbf2122c11e  gcc/testsuite/gcc.dg/20040112-1.c
- ee737184c69185ff4d7409ed3d8ba237  gcc/testsuite/gcc.dg/20040121-1.c
  a9c8dcbd471f438d0945eb02ab3198fb  gcc/testsuite/gcc.dg/20040123-1.c
  7e2e1a54addca114c33bf6ca2ba82886  gcc/testsuite/gcc.dg/20040127-1.c
  952a8389a64af90baf215a0c51ca1706  gcc/testsuite/gcc.dg/20040127-2.c
  66a1048126ecd634e1e4f71263be239e  gcc/testsuite/gcc.dg/20040202-1.c
  c98d25247d7774da4966675b06433f10  gcc/testsuite/gcc.dg/20040203-1.c
! 47ae99bd5624db55e373fbe4c68f0272  gcc/testsuite/gcc.dg/20040206-1.c
  2e026d33dbf5598aa7cd5b06ef0cd913  gcc/testsuite/gcc.dg/20040217-1.c
  62eeb79cb5e418cdae883aaa29ff5481  gcc/testsuite/gcc.dg/20040219-1.c
  6ab52c0bca0de8be36c37eabd2d31c97  gcc/testsuite/gcc.dg/20040223-1.c
- 3d5845aeb3ba005f3a25e2d552b072b7  gcc/testsuite/gcc.dg/20040303-1.c
  f90772c8bdd563eff57fe239ad1d4003  gcc/testsuite/gcc.dg/20040305-1.c
  9c356c89bbe36761df84b5d3c45dc781  gcc/testsuite/gcc.dg/20040305-2.c
  2dabe19c203995b45e0d373cfc326fdd  gcc/testsuite/gcc.dg/20040306-1.c
  aac5b7dd5982d8ac72db0d6c4bed3939  gcc/testsuite/gcc.dg/20040309-1.c
  6391d068af0ba3f890b884727d3a40e1  gcc/testsuite/gcc.dg/20040310-1.c
! 836a12029839c89c7e2773d4319edfff  gcc/testsuite/gcc.dg/20040311-2.c
  820c923595c05983d9a5c5e77f465111  gcc/testsuite/gcc.dg/20040322-1.c
  4fbce11a143127e000dc97e7378abcf7  gcc/testsuite/gcc.dg/20040331-1.c
  cbc66fee494d1a2762b59ab750e035f9  gcc/testsuite/gcc.dg/20040409-1.c
  9cebdb0d41f76c02604643e5ec04b6ca  gcc/testsuite/gcc.dg/20040609-1.c
- 7f3bd20634f73fc1deec8aa90c642fd6  gcc/testsuite/gcc.dg/20040622-1.c
  955af0b886eb0bd63d3d79d631936c4f  gcc/testsuite/gcc.dg/20040622-2.c
  227f5073f5d1ecee1ffa10d020ee5f96  gcc/testsuite/gcc.dg/20040625-1.c
  774dcfdec92b7339ed81a07e4eb85ddd  gcc/testsuite/gcc.dg/20040627-1.c
! 8bd066ac7fe4c757d9af19e63148459b  gcc/testsuite/gcc.dg/20040813-1.c
  f6b89935794e56059d42e599dba92ec2  gcc/testsuite/gcc.dg/20040910-1.c
  e41c70826d2d2e86d16c489f982a0f1a  gcc/testsuite/gcc.dg/20040916-1.c
  b83c307108e223d5dad2856b28ee3386  gcc/testsuite/gcc.dg/20040920-1.c
  5ae27069454d88f776d9b0d3129d529d  gcc/testsuite/gcc.dg/20041014-1.c
  407551e532a5b62584f51ad6cb2a66e3  gcc/testsuite/gcc.dg/20041104-1.c
! fa55f7c54959b0abb467458fdaa456b5  gcc/testsuite/gcc.dg/20041106-1.c
  33f28dc5a95622290ed5e82b01a385d8  gcc/testsuite/gcc.dg/20041109-1.c
- a0db9858c9cdf40b60373edd5e4386c1  gcc/testsuite/gcc.dg/20041111-1.c
  4bc0d809539c2a74816ba6e952ff95f6  gcc/testsuite/gcc.dg/20041122-1.c
  a537bb28b33c19777ee80b181b33ae4b  gcc/testsuite/gcc.dg/20041213-1.c
  eaafd64526f33a9a1457b567a57954ea  gcc/testsuite/gcc.dg/20041216-1.c
--- 14197,14341 ----
  f3085f7f3bbd239674a7d736480ef4aa  gcc/testsuite/gcc.dg/20001102-1.c
  f1f9c6701b53387745942330dd4c42c6  gcc/testsuite/gcc.dg/20001108-1.c
  ab53b32276e226d788c361eb6211743a  gcc/testsuite/gcc.dg/20001116-1.c
! 732e43a6c41a9f0e97c68cedbf1737df  gcc/testsuite/gcc.dg/20001117-1.c
  f73c7ca8a6110c492ac08c3f2ef16d98  gcc/testsuite/gcc.dg/20001201-1.c
  b48bdb28ef372dfc058cdb2dbbe3e480  gcc/testsuite/gcc.dg/20001228-1.c
  1fcd3f666246e3e65b27ca65e0a2c7ba  gcc/testsuite/gcc.dg/20010405-1.c
  fadfd239cf18e9787b056daa02185f49  gcc/testsuite/gcc.dg/20010516-1.c
  0a64d1b22ab6fdd4e7634f6a2606d7b1  gcc/testsuite/gcc.dg/20010622-1.c
  d6a093b34cae63181747086a916286be  gcc/testsuite/gcc.dg/20010822-1.c
! 7e72c6dd66a7d66a67fe4e2f92773e1d  gcc/testsuite/gcc.dg/20010912-1.c
  2e0947ca24a7e436edbc9809106a9223  gcc/testsuite/gcc.dg/20011008-1.c
  2c0b6c99d0c00cbda18c2223f2af019b  gcc/testsuite/gcc.dg/20011008-2.c
  d8044904e0b915a7f55dc14b951f2702  gcc/testsuite/gcc.dg/20011015-1.c
  fb9781f43d850b74cf126c8f9a3b3855  gcc/testsuite/gcc.dg/20011021-1.c
  7df3958507d4efafb483da643fe5d513  gcc/testsuite/gcc.dg/20011113-1.c
  64b7e14c2a2f916c6bb309d687e944b1  gcc/testsuite/gcc.dg/20011127-1.c
  373763bb633dfa1a656ec53ca2130250  gcc/testsuite/gcc.dg/20011130-1.c
  c6fc7b20ac8cac4f07549ac5f6f21a77  gcc/testsuite/gcc.dg/20011214-1.c
! 53a28128becedc1aa68afa960e909eba  gcc/testsuite/gcc.dg/20020103-1.c
  94971217a1ac5772e8c5b56ebec74de4  gcc/testsuite/gcc.dg/20020104-1.c
! 67ad42661b9278f798885d9cec53498a  gcc/testsuite/gcc.dg/20020108-1.c
  c69bc42cc08ae08138f337ef58c638f6  gcc/testsuite/gcc.dg/20020115-1.c
  15ad59848fef8b748253d14541f4c725  gcc/testsuite/gcc.dg/20020116-1.c
  6e18b390fad184ec9659967567060a38  gcc/testsuite/gcc.dg/20020116-2.c
  99334df3b382541c50c6fca65673c127  gcc/testsuite/gcc.dg/20020122-1.c
! e726090c154b8111e9271e7f6edae20e  gcc/testsuite/gcc.dg/20020122-2.c
! dfa0d257b74643f4c1c75ba512b01d6c  gcc/testsuite/gcc.dg/20020122-3.c
! a7c72bd6aaf9dfbb7dc938acbaa6464d  gcc/testsuite/gcc.dg/20020122-4.c
! 650b6bba094fb23d69f59114a69b1af0  gcc/testsuite/gcc.dg/20020201-1.c
! f994b4a5674a3b4a30d1ab7168d4dbbc  gcc/testsuite/gcc.dg/20020206-1.c
  08a65114d547473faf30f0e9b44e2237  gcc/testsuite/gcc.dg/20020210-1.c
! a5f77fcf033b8682e9559a0dbe604545  gcc/testsuite/gcc.dg/20020219-1.c
  190abf3030b76de527fcb49dc8dc9f83  gcc/testsuite/gcc.dg/20020220-1.c
  16fdabe231946b1fe11dc1bf4c662658  gcc/testsuite/gcc.dg/20020220-2.c
  b0b73c030d0d7412142654db09bd172a  gcc/testsuite/gcc.dg/20020222-1.c
! e785d9584b4bf65cb48f169b4b6ee2d8  gcc/testsuite/gcc.dg/20020310-1.c
  f624e0acdc4cf507ceeea3c01ebd027f  gcc/testsuite/gcc.dg/20020312-1.c
! 15e2ca507cd7df645d9920cd8a56696c  gcc/testsuite/gcc.dg/20020312-2.c
  0bc0a613df9e226c6994a04c3f7c16d7  gcc/testsuite/gcc.dg/20020319-1.c
! d525aa9027ce4af66aeb2ce69b2e3457  gcc/testsuite/gcc.dg/20020411-1.c
! b82efecd155412cde71b56c7917b355b  gcc/testsuite/gcc.dg/20020415-1.c
  d7d3530dd358895d55495baabac989b2  gcc/testsuite/gcc.dg/20020416-1.c
! 216ced595dd868895ba4767e730d8ab2  gcc/testsuite/gcc.dg/20020418-1.c
! 187dd05b606033f5f260d21c9aa8cfea  gcc/testsuite/gcc.dg/20020418-2.c
  26b1b9df5ec9177a6c137833bf34a120  gcc/testsuite/gcc.dg/20020425-1.c
! f6dcba1eab614c9ee6901ca2b9e87efd  gcc/testsuite/gcc.dg/20020426-2.c
! e5138a6a13c4e455182ea9cd49796c6f  gcc/testsuite/gcc.dg/20020430-1.c
  10d2fda09a9b651d2ec5ea46b1d1331e  gcc/testsuite/gcc.dg/20020503-1.c
! 8bae20032f5c4eba1228d426736e393b  gcc/testsuite/gcc.dg/20020517-1.c
  38d21cc31f8e604491f4bf2679d3a411  gcc/testsuite/gcc.dg/20020525-1.c
  eba89ad67022c84bc992baf8fd3f5a6b  gcc/testsuite/gcc.dg/20020527-1.c
  234845b8848f5680ff818f62f351bd2d  gcc/testsuite/gcc.dg/20020530-1.c
  da093a504dd5180ba0a2d674a33283b6  gcc/testsuite/gcc.dg/20020607-1.c
  9460cc0e67fb619fc3dd04804f75c660  gcc/testsuite/gcc.dg/20020607-2.c
  049fdf73fa08bd82d7ab93cb7940aede  gcc/testsuite/gcc.dg/20020620-1.c
! 97ee2aefbc92898d71aef307fe26773c  gcc/testsuite/gcc.dg/20020919-1.c
! 7be1f863e099d983d8a61694f324d0be  gcc/testsuite/gcc.dg/20020926-1.c
  ede74f556652c85db3cb45f485c69289  gcc/testsuite/gcc.dg/20021006-1.c
! 3a2795016213b5dd741cd41d72ba61d7  gcc/testsuite/gcc.dg/20021014-1.c
! c1a4d1fce02ce0f125054d2d4a5a4137  gcc/testsuite/gcc.dg/20021018-1.c
! e1e91d78c49b72108189b27298c14fa7  gcc/testsuite/gcc.dg/20021023-1.c
! e767ae90000dbc4d43eceebf48e7b2f7  gcc/testsuite/gcc.dg/20021029-1.c
  dbac8533c2d035b1062c392d57919926  gcc/testsuite/gcc.dg/20021029-2.c
! 9614eaf8aeab9dce78f299f486339133  gcc/testsuite/gcc.dg/20021116-1.c
! 07edef1f82dbd6b43f28c6f1ca80e69d  gcc/testsuite/gcc.dg/20030107-1.c
! f4ed1bc4268e78f369425b414f93b819  gcc/testsuite/gcc.dg/20030120-1.c
  ec6120ec7212919a62f6c6b97d74ff37  gcc/testsuite/gcc.dg/20030123-1.c
  a9dfc0c164f85954d984a8e7a478535f  gcc/testsuite/gcc.dg/20030129-1.c
! e98faac86ef11a053960d125e177a549  gcc/testsuite/gcc.dg/20030204-1.c
! a17b19d13dad5530d2dd873c5f0cfbd2  gcc/testsuite/gcc.dg/20030213-1.c
! 92bd2937940435eb395aa89a40aa5596  gcc/testsuite/gcc.dg/20030225-1.c
  cbde639b603bc8481f09b366d5af77f1  gcc/testsuite/gcc.dg/20030309-1.c
! aa5307e5f09db838f8029c4749d5b39d  gcc/testsuite/gcc.dg/20030321-1.c
  63be60a223d3a2ddec09968065c4fd69  gcc/testsuite/gcc.dg/20030323-1.c
! a09f96c30b1bc39b873bcd2bb68e7ddb  gcc/testsuite/gcc.dg/20030324-1.c
  39af42b2234f1eeb26edf952df5c89f2  gcc/testsuite/gcc.dg/20030331-2.c
  5d54150f39cbb4e9b9985ecf99c5ef74  gcc/testsuite/gcc.dg/20030414-1.c
  6c9b33a7b2a588e199ea141abf4ad4b6  gcc/testsuite/gcc.dg/20030414-2.c
  b92bcd5cc5e644e163858c3751c8b202  gcc/testsuite/gcc.dg/20030612-1.c
  12636f2c4a6070d3b4149b67e5cb503f  gcc/testsuite/gcc.dg/20030625-1.c
  01600f04a5bc3600ff140ceb707ce243  gcc/testsuite/gcc.dg/20030626-1.c
  7b030115274cda25e38bbfd46a79ac3e  gcc/testsuite/gcc.dg/20030627-1.c
! 787326aa7abe606411a3a2f8acfd6bfe  gcc/testsuite/gcc.dg/20030702-1.c
  5fc6d99324dcfd47c490ca6d16eb7e24  gcc/testsuite/gcc.dg/20030707-1.c
! db7e9498f6dedb88b91fabfb800e9a03  gcc/testsuite/gcc.dg/20030708-1.c
! bf5358d54e8f3d8779d54f58427f2b42  gcc/testsuite/gcc.dg/20030711-1.c
  ac938414908af64d993e7eb4c23921a8  gcc/testsuite/gcc.dg/20030717-1.c
  4d37c7f496e294a2df11087c63c6b60f  gcc/testsuite/gcc.dg/20030721-1.c
  f081843dc1b013a9073e9f5ccbe9ccd8  gcc/testsuite/gcc.dg/20030804-1.c
  c1472ccfbb2e0d864160abbeb1da8b0e  gcc/testsuite/gcc.dg/20030805-1.c
  ce0f92cef90bc8790dc8f531382e80ff  gcc/testsuite/gcc.dg/20030815-1.c
  f4bfaaf3c8a2bfc8d0e0dafb2f00a6b0  gcc/testsuite/gcc.dg/20030820-1.c
  b6264f9cc3b2373e314903a774f304f5  gcc/testsuite/gcc.dg/20030826-1.c
! 8af0de92129076b6814c8fe4e3dfc91e  gcc/testsuite/gcc.dg/20030826-2.c
  fd0c97a136fd527613f92d0b915a2392  gcc/testsuite/gcc.dg/20030906-1.c
  66a213dc8af46e1e5e14bf19c6138d70  gcc/testsuite/gcc.dg/20030906-2.c
  cce46107c7dd3af0046a68526657d91a  gcc/testsuite/gcc.dg/20030909-1.c
  5655763a17d49915d432045a28913415  gcc/testsuite/gcc.dg/20031002-1.c
  5c59001c6a09c828414e958fd47abb4f  gcc/testsuite/gcc.dg/20031012-1.c
! cbddd2ffb6625b26ef698b637f734c53  gcc/testsuite/gcc.dg/20031102-1.c
  7a68d5f36d727672482aac66d270ebc8  gcc/testsuite/gcc.dg/20031108-1.c
  7c7ea7012460ffe514a8512545b63e58  gcc/testsuite/gcc.dg/20031111-1.c
  fea0269ef731b7c33b15b64a09d312d8  gcc/testsuite/gcc.dg/20031201-1.c
  b7bd984eb5b7d4b89a35583b6c25f974  gcc/testsuite/gcc.dg/20031201-2.c
! 6fc3ece6605c28004f5f30544c841ccc  gcc/testsuite/gcc.dg/20031202-1.c
  6cf9c79b68d9e3c49a851fec31ded1f8  gcc/testsuite/gcc.dg/20031216-1.c
  914fb59271e3c601cb2e5e610f32a7b5  gcc/testsuite/gcc.dg/20031218-1.c
  0e31f15cce2c41678fc3e7f76a6d7da2  gcc/testsuite/gcc.dg/20031218-2.c
  d88f26e336c418f871b1a921ead6b08a  gcc/testsuite/gcc.dg/20031218-3.c
  9fe96201a56e928b8136e3d47faf364d  gcc/testsuite/gcc.dg/20031222-1.c
  f9134d46ec840532aee3913c7b86f7fb  gcc/testsuite/gcc.dg/20031223-1.c
  a9c8dcbd471f438d0945eb02ab3198fb  gcc/testsuite/gcc.dg/20040123-1.c
  7e2e1a54addca114c33bf6ca2ba82886  gcc/testsuite/gcc.dg/20040127-1.c
  952a8389a64af90baf215a0c51ca1706  gcc/testsuite/gcc.dg/20040127-2.c
  66a1048126ecd634e1e4f71263be239e  gcc/testsuite/gcc.dg/20040202-1.c
  c98d25247d7774da4966675b06433f10  gcc/testsuite/gcc.dg/20040203-1.c
! 5d9beb204d188b4a9b18af7fec91ad2d  gcc/testsuite/gcc.dg/20040206-1.c
  2e026d33dbf5598aa7cd5b06ef0cd913  gcc/testsuite/gcc.dg/20040217-1.c
  62eeb79cb5e418cdae883aaa29ff5481  gcc/testsuite/gcc.dg/20040219-1.c
  6ab52c0bca0de8be36c37eabd2d31c97  gcc/testsuite/gcc.dg/20040223-1.c
  f90772c8bdd563eff57fe239ad1d4003  gcc/testsuite/gcc.dg/20040305-1.c
  9c356c89bbe36761df84b5d3c45dc781  gcc/testsuite/gcc.dg/20040305-2.c
  2dabe19c203995b45e0d373cfc326fdd  gcc/testsuite/gcc.dg/20040306-1.c
  aac5b7dd5982d8ac72db0d6c4bed3939  gcc/testsuite/gcc.dg/20040309-1.c
  6391d068af0ba3f890b884727d3a40e1  gcc/testsuite/gcc.dg/20040310-1.c
! 89af846a8c87fbf7bd1cb01c8edd0633  gcc/testsuite/gcc.dg/20040311-2.c
  820c923595c05983d9a5c5e77f465111  gcc/testsuite/gcc.dg/20040322-1.c
  4fbce11a143127e000dc97e7378abcf7  gcc/testsuite/gcc.dg/20040331-1.c
  cbc66fee494d1a2762b59ab750e035f9  gcc/testsuite/gcc.dg/20040409-1.c
  9cebdb0d41f76c02604643e5ec04b6ca  gcc/testsuite/gcc.dg/20040609-1.c
  955af0b886eb0bd63d3d79d631936c4f  gcc/testsuite/gcc.dg/20040622-2.c
  227f5073f5d1ecee1ffa10d020ee5f96  gcc/testsuite/gcc.dg/20040625-1.c
  774dcfdec92b7339ed81a07e4eb85ddd  gcc/testsuite/gcc.dg/20040627-1.c
! d592755ba48605bebf014a2ec70f90ca  gcc/testsuite/gcc.dg/20040813-1.c
  f6b89935794e56059d42e599dba92ec2  gcc/testsuite/gcc.dg/20040910-1.c
  e41c70826d2d2e86d16c489f982a0f1a  gcc/testsuite/gcc.dg/20040916-1.c
  b83c307108e223d5dad2856b28ee3386  gcc/testsuite/gcc.dg/20040920-1.c
  5ae27069454d88f776d9b0d3129d529d  gcc/testsuite/gcc.dg/20041014-1.c
  407551e532a5b62584f51ad6cb2a66e3  gcc/testsuite/gcc.dg/20041104-1.c
! 18954f96453c59039b8bc23fbc7d28a4  gcc/testsuite/gcc.dg/20041106-1.c
  33f28dc5a95622290ed5e82b01a385d8  gcc/testsuite/gcc.dg/20041109-1.c
  4bc0d809539c2a74816ba6e952ff95f6  gcc/testsuite/gcc.dg/20041122-1.c
  a537bb28b33c19777ee80b181b33ae4b  gcc/testsuite/gcc.dg/20041213-1.c
  eaafd64526f33a9a1457b567a57954ea  gcc/testsuite/gcc.dg/20041216-1.c
*************** d168807ce00bba3179c3371b7b5100e6  gcc/te
*** 15452,15509 ****
  34cf82bacd1c9932010b6a50bd4f0048  gcc/testsuite/gcc.dg/20050105-2.c
  8736cb55501cedc3ef4cd539579ebec7  gcc/testsuite/gcc.dg/20050111-1.c
  3f23e1ca4e89021942ea442e650fdf5a  gcc/testsuite/gcc.dg/20050111-2.c
- b2bb539654ba2d8bde16ecceaf5266f2  gcc/testsuite/gcc.dg/20050113-1.c
  0c0f4355c924fa44ee77d489a87d7948  gcc/testsuite/gcc.dg/20050121-1.c
  6b4801db99785258ad0d6fdf2df389d8  gcc/testsuite/gcc.dg/20050121-2.c
  d75e2e831928738c29dcbe7834ecb877  gcc/testsuite/gcc.dg/20050209-1.c
  964311fd8cdd1cfcbd7fef202a610618  gcc/testsuite/gcc.dg/20050307-1.c
! ceb65a0e2ed6a394985a71f235664991  gcc/testsuite/gcc.dg/20050309-1.c
  602e3bca6fa8c1e659c7cf5c96c6170c  gcc/testsuite/gcc.dg/20050321-1.c
! 4ed0baf9966911fb4782bbb6c6955080  gcc/testsuite/gcc.dg/20050321-2.c
! 400dc3c37dbc05f13eefd9991f7398cb  gcc/testsuite/gcc.dg/20050325-1.c
  70e072ce36471d98ebb25d1288d59f4f  gcc/testsuite/gcc.dg/20050330-1.c
  c32d36b0f0c456d89aeec106314610f3  gcc/testsuite/gcc.dg/20050409-1.c
! 930e40f33ffa07dabe77069503edf80c  gcc/testsuite/gcc.dg/20050503-1.c
  6ec25702fc1c73d361a8d0ac6a6a20ef  gcc/testsuite/gcc.dg/20050524-1.c
  5029962048f7aace95dae87c8a0af5bc  gcc/testsuite/gcc.dg/20050527-1.c
  88f2729d9953416d678abe7e7978fdaf  gcc/testsuite/gcc.dg/20050620-1.c
! 90c0e117de432ec8ca3f6e8d7458b413  gcc/testsuite/gcc.dg/20050826-1.c
  60c0beacbda48e01011c8cd9226edcd9  gcc/testsuite/gcc.dg/920413-1.c
  f0c1e347ff19d725e2d77496718dee0c  gcc/testsuite/gcc.dg/940409-1.c
  08759c1448bdc8e72051c03e81cf26f5  gcc/testsuite/gcc.dg/940510-1.c
  24a85b1944314d5648711e4b975d408d  gcc/testsuite/gcc.dg/951130-1.c
! 1e6e7c81f663924899370f48efc9e350  gcc/testsuite/gcc.dg/980211-1.c
! 7756978846f5c17b9bc830d5906cf03a  gcc/testsuite/gcc.dg/980217-1.c
! dc91f7dafeff236963a98a83b713a885  gcc/testsuite/gcc.dg/980226-1.c
! 6876a9366bdf227d3df3118a212a8314  gcc/testsuite/gcc.dg/980312-1.c
! 6807f7e1e71273e0ac441a8149ac3311  gcc/testsuite/gcc.dg/980313-1.c
! a5330e473b7b4d1d05f693486a832c5a  gcc/testsuite/gcc.dg/980414-1.c
  1a127e4f296e269ea42463b73bf0d0aa  gcc/testsuite/gcc.dg/980502-1.c
- 3c791d3e7ff27e22bbf9f5b484323613  gcc/testsuite/gcc.dg/980520-1.c
  31761520b9b1a8fc2e61581ae92bef48  gcc/testsuite/gcc.dg/980523-1.c
  02514fc79316c6641061fd63b142e4f2  gcc/testsuite/gcc.dg/980526-1.c
! 2d2a220ddee1e2349890e44df1900264  gcc/testsuite/gcc.dg/980709-1.c
! 4ff7080689fc133ca1150219bdb4eef5  gcc/testsuite/gcc.dg/980816-1.c
! fbcbdfa94f40435fc4b96cfab7a6b7b1  gcc/testsuite/gcc.dg/980827-1.c
! f7686d5f0a28c17af946f3f49cd4bb15  gcc/testsuite/gcc.dg/990117-1.c
! 3127f3001f9ed57f79434d2fb42aba3d  gcc/testsuite/gcc.dg/990130-1.c
  cda741cce59ba0dcd70871f300400003  gcc/testsuite/gcc.dg/990213-1.c
- 8c562b587c2208a9f8f2f3c7730479e3  gcc/testsuite/gcc.dg/990213-2.c
- 9f73397132e9b0726eeaab5d92a86c95  gcc/testsuite/gcc.dg/990214-1.c
- f2a11081d3191b328927416c5ed88863  gcc/testsuite/gcc.dg/990424-1.c
  cbd8b99477ce6cd603e35085b9624323  gcc/testsuite/gcc.dg/990506-0.c
! a5d6346c087cf4d2735328188ffba36d  gcc/testsuite/gcc.dg/990524-1.c
! 1b0c204b2994c61bff054d37613f7136  gcc/testsuite/gcc.dg/991129-1.c
! cebba8980d44af5b3715852e7f8ca6a4  gcc/testsuite/gcc.dg/991209-1.c
! 758b7bd912c48eaa22ae0b4f74d6b252  gcc/testsuite/gcc.dg/991214-1.c
! 36ea535abc64e7889421b026041a3198  gcc/testsuite/gcc.dg/991230-1.c
  3479b5b63274f34f78d0092b07e15e3c  gcc/testsuite/gcc.dg/README
  3657d8392090a291a46e662e66ab20ac  gcc/testsuite/gcc.dg/Wbad-function-cast-1.c
  6e7a1e65f0cd6cfcd8a6a5c965c33b39  gcc/testsuite/gcc.dg/Wchar-subscripts-1.c
  e79fce04ac99cde1a6500dcda59df9c1  gcc/testsuite/gcc.dg/Wconversion-2.c
  ff86eba0ea2bdfb29bfb3b9660ec1663  gcc/testsuite/gcc.dg/Wconversion.c
  69ba1e82f7d0548193a29db951959ebc  gcc/testsuite/gcc.dg/Wdeclaration-after-statement-1.c
  7629c4ce6aea52f5653fed17febea075  gcc/testsuite/gcc.dg/Wdeclaration-after-statement-2.c
  623d989fba31af9cb3c8d7eab5cb6b66  gcc/testsuite/gcc.dg/Wlarger-than.c
  28016a8927b2ea374fbade3a1aad5294  gcc/testsuite/gcc.dg/Wnested-externs-1.c
  78b26e55f8111808885390fc48d39f07  gcc/testsuite/gcc.dg/Wno-pointer-sign.c
--- 14345,14403 ----
  34cf82bacd1c9932010b6a50bd4f0048  gcc/testsuite/gcc.dg/20050105-2.c
  8736cb55501cedc3ef4cd539579ebec7  gcc/testsuite/gcc.dg/20050111-1.c
  3f23e1ca4e89021942ea442e650fdf5a  gcc/testsuite/gcc.dg/20050111-2.c
  0c0f4355c924fa44ee77d489a87d7948  gcc/testsuite/gcc.dg/20050121-1.c
  6b4801db99785258ad0d6fdf2df389d8  gcc/testsuite/gcc.dg/20050121-2.c
  d75e2e831928738c29dcbe7834ecb877  gcc/testsuite/gcc.dg/20050209-1.c
  964311fd8cdd1cfcbd7fef202a610618  gcc/testsuite/gcc.dg/20050307-1.c
! 5c0feb305126d48b79b060d427bbb0fd  gcc/testsuite/gcc.dg/20050309-1.c
  602e3bca6fa8c1e659c7cf5c96c6170c  gcc/testsuite/gcc.dg/20050321-1.c
! e2d59e9e03fa63193150593625ce1427  gcc/testsuite/gcc.dg/20050321-2.c
! 604289012d9bbf03c09499948fa042ef  gcc/testsuite/gcc.dg/20050325-1.c
  70e072ce36471d98ebb25d1288d59f4f  gcc/testsuite/gcc.dg/20050330-1.c
+ 534435c2df2de7adf934e51d8a42f997  gcc/testsuite/gcc.dg/20050330-2.c
  c32d36b0f0c456d89aeec106314610f3  gcc/testsuite/gcc.dg/20050409-1.c
! 335ed1efede1712fc23aa710f68914d0  gcc/testsuite/gcc.dg/20050503-1.c
! fa18390f14716298dbf37d393e23050e  gcc/testsuite/gcc.dg/20050517-1.c
  6ec25702fc1c73d361a8d0ac6a6a20ef  gcc/testsuite/gcc.dg/20050524-1.c
  5029962048f7aace95dae87c8a0af5bc  gcc/testsuite/gcc.dg/20050527-1.c
+ 7d20b103bae73dbcfce99f6e90e4a9ad  gcc/testsuite/gcc.dg/20050603-2.c
+ 17dc6b2d99a6730f1c1ccca7ea5cd5d4  gcc/testsuite/gcc.dg/20050607-1.c
  88f2729d9953416d678abe7e7978fdaf  gcc/testsuite/gcc.dg/20050620-1.c
! 69f7102bd12c52ebf429eb42564186a5  gcc/testsuite/gcc.dg/20050629-1.c
! 2ed1ce2798eb27c99e53c945096a6bcb  gcc/testsuite/gcc.dg/20050702-1.c
! a453adf4ee056271252474e24fb2860e  gcc/testsuite/gcc.dg/20050811-1.c
! 82afb875cedfc32744e6215df30a348a  gcc/testsuite/gcc.dg/20050811-2.c
! 5c6aab4de5bd6ece9cb88377d1a7e878  gcc/testsuite/gcc.dg/20050824-1.c
! 60371a612edc2a826fe00c3d1b5d8d80  gcc/testsuite/gcc.dg/20050826-1.c
! e1fdeda4a350d6b903a481d48aa14167  gcc/testsuite/gcc.dg/20050922-1.c
! d23fe20cdbb0bacdeabaf32b42101b49  gcc/testsuite/gcc.dg/20051201-1.c
  60c0beacbda48e01011c8cd9226edcd9  gcc/testsuite/gcc.dg/920413-1.c
  f0c1e347ff19d725e2d77496718dee0c  gcc/testsuite/gcc.dg/940409-1.c
  08759c1448bdc8e72051c03e81cf26f5  gcc/testsuite/gcc.dg/940510-1.c
  24a85b1944314d5648711e4b975d408d  gcc/testsuite/gcc.dg/951130-1.c
! 3770a693bd7fd01767eeefc15bdbe904  gcc/testsuite/gcc.dg/980312-1.c
! 451bae2e0e5a2abb718c63a08d07f550  gcc/testsuite/gcc.dg/980313-1.c
  1a127e4f296e269ea42463b73bf0d0aa  gcc/testsuite/gcc.dg/980502-1.c
  31761520b9b1a8fc2e61581ae92bef48  gcc/testsuite/gcc.dg/980523-1.c
  02514fc79316c6641061fd63b142e4f2  gcc/testsuite/gcc.dg/980526-1.c
! b1d13cdf0a8bd9121f3e4be9c2d8aa62  gcc/testsuite/gcc.dg/980816-1.c
  cda741cce59ba0dcd70871f300400003  gcc/testsuite/gcc.dg/990213-1.c
  cbd8b99477ce6cd603e35085b9624323  gcc/testsuite/gcc.dg/990506-0.c
! eba607c17011c649eb3d7e1c5513ffdd  gcc/testsuite/gcc.dg/Foundation.framework/empty
  3479b5b63274f34f78d0092b07e15e3c  gcc/testsuite/gcc.dg/README
+ 335e155c329413d2a8e0eaf02def9f82  gcc/testsuite/gcc.dg/Wattributes-1.c
+ 1bf1fda040f08a11f73a40c8344c7f5b  gcc/testsuite/gcc.dg/Wattributes-2.c
+ b87b7ebc31064d6e57b0af0b3017afeb  gcc/testsuite/gcc.dg/Wattributes-3.c
  3657d8392090a291a46e662e66ab20ac  gcc/testsuite/gcc.dg/Wbad-function-cast-1.c
  6e7a1e65f0cd6cfcd8a6a5c965c33b39  gcc/testsuite/gcc.dg/Wchar-subscripts-1.c
  e79fce04ac99cde1a6500dcda59df9c1  gcc/testsuite/gcc.dg/Wconversion-2.c
  ff86eba0ea2bdfb29bfb3b9660ec1663  gcc/testsuite/gcc.dg/Wconversion.c
+ 377d3c875e9bff82de566d6dbd148d53  gcc/testsuite/gcc.dg/Wcxx-compat-1.c
  69ba1e82f7d0548193a29db951959ebc  gcc/testsuite/gcc.dg/Wdeclaration-after-statement-1.c
  7629c4ce6aea52f5653fed17febea075  gcc/testsuite/gcc.dg/Wdeclaration-after-statement-2.c
+ 4ec1ccdbf8a1c9726b63d90f7305f2c3  gcc/testsuite/gcc.dg/Wint-to-pointer-cast-1.c
+ cd7667c5fb8510dd9eef9d2c9c835f29  gcc/testsuite/gcc.dg/Wint-to-pointer-cast-2.c
+ 7c2eb8157b1b550c18f7584c5046bb38  gcc/testsuite/gcc.dg/Wint-to-pointer-cast-3.c
  623d989fba31af9cb3c8d7eab5cb6b66  gcc/testsuite/gcc.dg/Wlarger-than.c
  28016a8927b2ea374fbade3a1aad5294  gcc/testsuite/gcc.dg/Wnested-externs-1.c
  78b26e55f8111808885390fc48d39f07  gcc/testsuite/gcc.dg/Wno-pointer-sign.c
*************** f6f62dbb46f1e864eca46c4b31b0e83e  gcc/te
*** 15520,15531 ****
--- 14414,14434 ----
  62c82bd9750b3488374d128b387eaf55  gcc/testsuite/gcc.dg/Wparentheses-7.c
  078db4636bb2e603aa4154acfa78dd5a  gcc/testsuite/gcc.dg/Wparentheses-8.c
  733662f34bd059186239cd7a8f9bf45a  gcc/testsuite/gcc.dg/Wparentheses-9.c
+ 5afa90826b8429d09381fadf886a7d44  gcc/testsuite/gcc.dg/Wpointer-sign-Wall-no.c
+ b3d0ed3e91145ae8e79690efa52318de  gcc/testsuite/gcc.dg/Wpointer-sign-Wall.c
+ cbdd1cd0748d53df7a1e316c550db1cc  gcc/testsuite/gcc.dg/Wpointer-sign-pedantic-no.c
+ 92627409219c9094451001d28622f7fe  gcc/testsuite/gcc.dg/Wpointer-sign-pedantic.c
+ 50a4310384c1daddc643a987ada5e261  gcc/testsuite/gcc.dg/Wpointer-sign.c
+ ada48b89675a7de361e70d2de4bc1bd5  gcc/testsuite/gcc.dg/Wpointer-to-int-cast-1.c
+ 5d7ca50436e1c77e6fde04545e991ab5  gcc/testsuite/gcc.dg/Wpointer-to-int-cast-2.c
+ 4ec3e1bd4f0b0352566b4bd8b890f5f5  gcc/testsuite/gcc.dg/Wpointer-to-int-cast-3.c
  bd6aa9e16d771d36c8ebfcfedbab4197  gcc/testsuite/gcc.dg/Wredundant-decls-1.c
  a6a6059bde102ff1e1144a7c886f9d6b  gcc/testsuite/gcc.dg/Wredundant-decls-2.c
  6fe9a73749a8da4ecb255e790a1cc26f  gcc/testsuite/gcc.dg/Wreturn-type.c
  13346214a933b039e18e4797462ec5c7  gcc/testsuite/gcc.dg/Wreturn-type2.c
  a2d08812c8a63205be8fe04175b7dede  gcc/testsuite/gcc.dg/Wshadow-1.c
  976b3de3264afbbae8a2106e5bfd616b  gcc/testsuite/gcc.dg/Wshadow-2.c
+ 8fc46a45660b4ef8fe8b4d03d29704de  gcc/testsuite/gcc.dg/Wshadow-3.c
  063811cae4064dfe33ddbcd11e9f93ee  gcc/testsuite/gcc.dg/Wswitch-2.c
  fffa3daae0aa096b127d7b76b64fdeba  gcc/testsuite/gcc.dg/Wswitch-default.c
  5de8c26c130b29826c22a098bc00194b  gcc/testsuite/gcc.dg/Wswitch-enum.c
*************** b8e0f294e7a0bd471aad5f58ec5e3a2a  gcc/te
*** 15539,15544 ****
--- 14442,14448 ----
  2dc0d0e2137c199da3298e0cba6417e3  gcc/testsuite/gcc.dg/Wunreachable-6.c
  df206d4bbc5e67903226a355e9abfc37  gcc/testsuite/gcc.dg/Wunreachable-7.c
  e2c15001574216c5b54db7786ed3745f  gcc/testsuite/gcc.dg/Wunreachable-8.c
+ b31b0721d3eba986f699c77f9409f23c  gcc/testsuite/gcc.dg/Wunused-value-1.c
  aa377e85caf654024f5e996e8b1bc4ee  gcc/testsuite/gcc.dg/Wwrite-strings-1.c
  83360ba7c5c31bdb669b27cb7239ed67  gcc/testsuite/gcc.dg/alias-1.c
  09f343c08daf323df0bf00993bbdd9ab  gcc/testsuite/gcc.dg/alias-2.c
*************** aa377e85caf654024f5e996e8b1bc4ee  gcc/te
*** 15546,15586 ****
  a4dc0f78c6e8859ac3aee7cea562abb5  gcc/testsuite/gcc.dg/alias-4.c
  a015fbd6293bb654de6f42847beb62d6  gcc/testsuite/gcc.dg/alias-5.c
  eb4dade8877d21e8bb08fe3851d63835  gcc/testsuite/gcc.dg/alias-6.c
! a3f4ac11015647a31c68b55b51a9bd94  gcc/testsuite/gcc.dg/alias-7.c
  b87d726d798335bcf014c51ea61e9a4c  gcc/testsuite/gcc.dg/align-1.c
  2a9f7a072b521ead14abddf254e99f4c  gcc/testsuite/gcc.dg/align-2.c
- 1c9e454a96bdf68b22460af6474169db  gcc/testsuite/gcc.dg/alpha-base-1.c
- 1589a8035db3f595b938510a21db3ec9  gcc/testsuite/gcc.dg/alpha-base-2.c
- a25e2111595c980d3d1db7fce98f3a29  gcc/testsuite/gcc.dg/alpha-cix-1.c
- 54f56723294b9b9289fe8f22abab890b  gcc/testsuite/gcc.dg/alpha-cix-2.c
- 107f94ad8c13d9c030ae006f60d46ee2  gcc/testsuite/gcc.dg/alpha-max-1.c
- 30ea3afee7fa2f0ac5aaf19f7e187c44  gcc/testsuite/gcc.dg/alpha-max-2.c
- 8f385848e590d1896ee0afbe74e5a46b  gcc/testsuite/gcc.dg/altivec-1.c
- 7796793f137aee4b5f601a0df72846aa  gcc/testsuite/gcc.dg/altivec-10.c
- 735c34efd53e4949864f68f57fc5493a  gcc/testsuite/gcc.dg/altivec-11.c
- 23d700f57c158b0323cb21195109daac  gcc/testsuite/gcc.dg/altivec-12.c
- da524158d6afb4e8a0c29d5f438ed17f  gcc/testsuite/gcc.dg/altivec-13.c
- 742aa7c2a938a4bc08329aa90eb57744  gcc/testsuite/gcc.dg/altivec-14.c
- d53d1211b5a5cd941d863285ecba5bd4  gcc/testsuite/gcc.dg/altivec-15.c
- 42fb531a004003016c1aca0a6443a54b  gcc/testsuite/gcc.dg/altivec-16.c
- cd37a8c29916e7b0eab28733eeaa4897  gcc/testsuite/gcc.dg/altivec-17.c
- 4c271776303074c2401391f9151d9e49  gcc/testsuite/gcc.dg/altivec-18.c
- 3355c2f1ada94e89ae92e108e7ef613a  gcc/testsuite/gcc.dg/altivec-19.c
- 7882ef20c7eb74852a4e9f9deff3e1dd  gcc/testsuite/gcc.dg/altivec-2.c
- ad868252778f7a9f95861bcd61280ddb  gcc/testsuite/gcc.dg/altivec-20.c
- 02156b86c28af4e6cb504d9483c55f51  gcc/testsuite/gcc.dg/altivec-3.c
- a24b312c47908b473332a4f135d2deb7  gcc/testsuite/gcc.dg/altivec-4.c
- 521fee8b1c486df5b1049e8737721078  gcc/testsuite/gcc.dg/altivec-5.c
- 4e972519f6464ff269286374e2ac9cff  gcc/testsuite/gcc.dg/altivec-6.c
- 5d287a948344bdb2bb5994e0e9c93d2b  gcc/testsuite/gcc.dg/altivec-7.c
- e821ed1be7fd32d7445688e1246a36a7  gcc/testsuite/gcc.dg/altivec-8.c
- dac4effe71a7289bfae09dc712821e14  gcc/testsuite/gcc.dg/altivec-9.c
- 3ffbad0a183253dd49a14c95e1f9e616  gcc/testsuite/gcc.dg/altivec-types-1.c
- 2fabd70465808dc383437811778591e1  gcc/testsuite/gcc.dg/altivec-types-2.c
- dbcc5463fa4853b6308b2bd65d6d1dfc  gcc/testsuite/gcc.dg/altivec-types-3.c
- 67cee80632c505cdb26ab7ae4f85d040  gcc/testsuite/gcc.dg/altivec-types-4.c
- 4391d8cacb7357fe90bf01894cdfa0ff  gcc/testsuite/gcc.dg/altivec-varargs-1.c
- 375660d7437aba4961b96f917b1e7d29  gcc/testsuite/gcc.dg/altivec_check.h
  553fc39521f690bd15ca286bd5e1de87  gcc/testsuite/gcc.dg/always_inline.c
  6d85cd15fc04c70c01cc3a949b4aa668  gcc/testsuite/gcc.dg/always_inline2.c
  40e0386d692b3e81cd8ce1121d40bf6b  gcc/testsuite/gcc.dg/always_inline3.c
--- 14450,14460 ----
  a4dc0f78c6e8859ac3aee7cea562abb5  gcc/testsuite/gcc.dg/alias-4.c
  a015fbd6293bb654de6f42847beb62d6  gcc/testsuite/gcc.dg/alias-5.c
  eb4dade8877d21e8bb08fe3851d63835  gcc/testsuite/gcc.dg/alias-6.c
! d8688a64bc8e859cafb656af61814d25  gcc/testsuite/gcc.dg/alias-7.c
! c148e43fbd3ce61f45f61644f6b622c8  gcc/testsuite/gcc.dg/alias-8.c
! 35001ac9aac3b77bdfd9adfa3c29510a  gcc/testsuite/gcc.dg/alias-9.c
  b87d726d798335bcf014c51ea61e9a4c  gcc/testsuite/gcc.dg/align-1.c
  2a9f7a072b521ead14abddf254e99f4c  gcc/testsuite/gcc.dg/align-2.c
  553fc39521f690bd15ca286bd5e1de87  gcc/testsuite/gcc.dg/always_inline.c
  6d85cd15fc04c70c01cc3a949b4aa668  gcc/testsuite/gcc.dg/always_inline2.c
  40e0386d692b3e81cd8ce1121d40bf6b  gcc/testsuite/gcc.dg/always_inline3.c
*************** dd599d71ecd611032d937504578afcc1  gcc/te
*** 15593,15604 ****
  527ed4f3567546d649918dc280d4a610  gcc/testsuite/gcc.dg/anon-struct-7.c
  6a16db51ef6eef4451521ec678a5b53b  gcc/testsuite/gcc.dg/anon-struct-8.c
  774558fc38d6fbd96e9be03bba36b274  gcc/testsuite/gcc.dg/arm-asm.c
! b6cab3374c582d76eeef70b4822ab092  gcc/testsuite/gcc.dg/arm-eabi1.c
! a6c2a8dafee2b752fe3cba3c9186e574  gcc/testsuite/gcc.dg/arm-g2.c
! 74a48692b0fc4d4fc7924a5f3c181363  gcc/testsuite/gcc.dg/arm-mmx-1.c
  29477ac07186d032dc88aca22f0d9bf9  gcc/testsuite/gcc.dg/arm-scd42-1.c
! ce498eafe103c2afe7c8102eb0d6b07d  gcc/testsuite/gcc.dg/arm-scd42-2.c
  148be1d62bbe8eaa01e9cb6ac3418b88  gcc/testsuite/gcc.dg/arm-scd42-3.c
  54682ef6f922d8b7f4fe0205023bdc29  gcc/testsuite/gcc.dg/array-1.c
  cc0b1549bd1f797e2044f7e749bebbae  gcc/testsuite/gcc.dg/array-2.c
  1c72c1697779b727d1e4d4a57e4e0eff  gcc/testsuite/gcc.dg/array-3.c
--- 14467,14479 ----
  527ed4f3567546d649918dc280d4a610  gcc/testsuite/gcc.dg/anon-struct-7.c
  6a16db51ef6eef4451521ec678a5b53b  gcc/testsuite/gcc.dg/anon-struct-8.c
  774558fc38d6fbd96e9be03bba36b274  gcc/testsuite/gcc.dg/arm-asm.c
! cc5e7db4a9852702b3b6074775daaeb2  gcc/testsuite/gcc.dg/arm-eabi1.c
! af996206b600ea8a8b89110fd15afda7  gcc/testsuite/gcc.dg/arm-g2.c
! 75a0eac4e49bf591e8d9d1ad294053e2  gcc/testsuite/gcc.dg/arm-mmx-1.c
  29477ac07186d032dc88aca22f0d9bf9  gcc/testsuite/gcc.dg/arm-scd42-1.c
! 831e131e51c4e0fa04db459493fdf252  gcc/testsuite/gcc.dg/arm-scd42-2.c
  148be1d62bbe8eaa01e9cb6ac3418b88  gcc/testsuite/gcc.dg/arm-scd42-3.c
+ 9f9a184a39568f6a6d49fc843316a373  gcc/testsuite/gcc.dg/arm-vfp1.c
  54682ef6f922d8b7f4fe0205023bdc29  gcc/testsuite/gcc.dg/array-1.c
  cc0b1549bd1f797e2044f7e749bebbae  gcc/testsuite/gcc.dg/array-2.c
  1c72c1697779b727d1e4d4a57e4e0eff  gcc/testsuite/gcc.dg/array-3.c
*************** cc0b1549bd1f797e2044f7e749bebbae  gcc/te
*** 15609,15627 ****
  51109be91caf26e7e270f645b255e4c0  gcc/testsuite/gcc.dg/array-8.c
  5b473d91c341753c37bbd58768ac6fa2  gcc/testsuite/gcc.dg/array-quals-1.c
  cf3b1a96abc750f6f181f5b35f3cb728  gcc/testsuite/gcc.dg/array-quals-2.c
! 483707ff02a653b11cbb6ce469737e0d  gcc/testsuite/gcc.dg/asm-1.c
  b8a6dfeb58832a8b8624357eed99557a  gcc/testsuite/gcc.dg/asm-2.c
  b911cf51d486403e3ca1c067a8a15675  gcc/testsuite/gcc.dg/asm-3.c
  2316d7eec0825a9853d1052f4da7f63a  gcc/testsuite/gcc.dg/asm-4.c
- a6e6a20bfb66616db39b1382efe3d81f  gcc/testsuite/gcc.dg/asm-5.c
  239874d675ee6f1b851be81d0f1a7928  gcc/testsuite/gcc.dg/asm-6.c
  364f23f60781d3e9acd1754da0633bbe  gcc/testsuite/gcc.dg/asm-7.c
  b480d858b39b79a443449bd8aaff9559  gcc/testsuite/gcc.dg/asm-8.c
  c9481d742a48253660d16743a6beecf9  gcc/testsuite/gcc.dg/asm-9.c
  bcbbadd260cb26dea44e22620dc945b0  gcc/testsuite/gcc.dg/asm-a.c
! f31899dd392ba190be327bec1185df70  gcc/testsuite/gcc.dg/asm-b.c
  e370903640e76bf4ef407aafe0286689  gcc/testsuite/gcc.dg/asm-fs-1.c
  6c3cba24c3d3fbf660605697935b9be5  gcc/testsuite/gcc.dg/asm-names.c
  1bafe5b89e4ed395ac3cf6a6402f3646  gcc/testsuite/gcc.dg/asm-qual-1.c
  1595a83613f30a185d5b74d3f95171ae  gcc/testsuite/gcc.dg/asm-wide-1.c
  a5a76a31878bcc44537a13babdf4eac9  gcc/testsuite/gcc.dg/asmreg-1.c
--- 14484,14502 ----
  51109be91caf26e7e270f645b255e4c0  gcc/testsuite/gcc.dg/array-8.c
  5b473d91c341753c37bbd58768ac6fa2  gcc/testsuite/gcc.dg/array-quals-1.c
  cf3b1a96abc750f6f181f5b35f3cb728  gcc/testsuite/gcc.dg/array-quals-2.c
! a3d5ce05231fe707a731ed3753959da5  gcc/testsuite/gcc.dg/asm-1.c
  b8a6dfeb58832a8b8624357eed99557a  gcc/testsuite/gcc.dg/asm-2.c
  b911cf51d486403e3ca1c067a8a15675  gcc/testsuite/gcc.dg/asm-3.c
  2316d7eec0825a9853d1052f4da7f63a  gcc/testsuite/gcc.dg/asm-4.c
  239874d675ee6f1b851be81d0f1a7928  gcc/testsuite/gcc.dg/asm-6.c
  364f23f60781d3e9acd1754da0633bbe  gcc/testsuite/gcc.dg/asm-7.c
  b480d858b39b79a443449bd8aaff9559  gcc/testsuite/gcc.dg/asm-8.c
  c9481d742a48253660d16743a6beecf9  gcc/testsuite/gcc.dg/asm-9.c
  bcbbadd260cb26dea44e22620dc945b0  gcc/testsuite/gcc.dg/asm-a.c
! a49ba32a18c1347e4474a7aa98502f2e  gcc/testsuite/gcc.dg/asm-b.c
  e370903640e76bf4ef407aafe0286689  gcc/testsuite/gcc.dg/asm-fs-1.c
  6c3cba24c3d3fbf660605697935b9be5  gcc/testsuite/gcc.dg/asm-names.c
+ 9c3b7de14ce6ac49627b91e2808376e5  gcc/testsuite/gcc.dg/asm-pr24146.c
  1bafe5b89e4ed395ac3cf6a6402f3646  gcc/testsuite/gcc.dg/asm-qual-1.c
  1595a83613f30a185d5b74d3f95171ae  gcc/testsuite/gcc.dg/asm-wide-1.c
  a5a76a31878bcc44537a13babdf4eac9  gcc/testsuite/gcc.dg/asmreg-1.c
*************** a26027e8bb2354fa867e30c37ca5de94  gcc/te
*** 15630,15650 ****
--- 14505,14535 ----
  0995442e27d091d9fc4f5e286fd8e86e  gcc/testsuite/gcc.dg/assign-warn-3.c
  bfcf3d61cfaeb70ffaf79290c46dc732  gcc/testsuite/gcc.dg/attr-alias-1.c
  e1871215b9eef07b10dc8c1bf21c038a  gcc/testsuite/gcc.dg/attr-alias-2.c
+ 19782fec9e9e327ec4805b8e282f8df8  gcc/testsuite/gcc.dg/attr-alias-3.c
  bff5bf12c7a752b89f17af335428c788  gcc/testsuite/gcc.dg/attr-alwaysinline.c
  460ba01d2c2d472f8d0bb00399dd3bba  gcc/testsuite/gcc.dg/attr-invalid.c
+ 23a3b22e99c1c2dcaf5d3ef54762704a  gcc/testsuite/gcc.dg/attr-isr-nosave_low_regs.c
+ 21ed567ae33e9406579b6792208a59f4  gcc/testsuite/gcc.dg/attr-isr-trap_exit.c
+ a244a49c1017ee6ce0aa99e2c23a42c5  gcc/testsuite/gcc.dg/attr-isr-trapa.c
+ 39f25a2f5b90856b7c597b84a453e752  gcc/testsuite/gcc.dg/attr-isr.c
  dda577a8db5a9ac846b12e6d6d62a0dd  gcc/testsuite/gcc.dg/attr-may-alias-1.c
  f298b442f1417f4a5a952b04dbe114b5  gcc/testsuite/gcc.dg/attr-mode-1.c
  e427c17eb1d839cc3cf176d262cdffc0  gcc/testsuite/gcc.dg/attr-mode-2.c
  2e8d579abde3b50be916cdcd11691f06  gcc/testsuite/gcc.dg/attr-nest.c
  9883b24101c5927c9d3eb8fc76b47a29  gcc/testsuite/gcc.dg/attr-noinline.c
+ 52c06343ba21b05f9db282ba46d1fe2c  gcc/testsuite/gcc.dg/attr-returns_twice-1.c
  292821efd19a5d49bffff909953846d5  gcc/testsuite/gcc.dg/attr-used-2.c
  e123297fccae243c537f91e155c74a71  gcc/testsuite/gcc.dg/attr-used.c
  469df74770c7dec0525e6cd310092944  gcc/testsuite/gcc.dg/attr-warn-unused-result.c
+ db54d8653b7411102098db5d1cdc23c4  gcc/testsuite/gcc.dg/attr-weakref-1.c
+ f348c9eb66b29ddb21e87abea341a730  gcc/testsuite/gcc.dg/attr-weakref-1a.c
  1119d66eeb90467d2bae27e88b92d6bf  gcc/testsuite/gcc.dg/bconstp-1.c
  e8f408c5155fc185bd45ec08842876c7  gcc/testsuite/gcc.dg/bf-ms-attrib.c
  8e1df53077720e50550ca29c67f67c90  gcc/testsuite/gcc.dg/bf-ms-layout.c
  e090089f990b5c4d8a65df8844db30a1  gcc/testsuite/gcc.dg/bf-no-ms-layout.c
  0484d2db4f17f8f14e407e0c2e6dccff  gcc/testsuite/gcc.dg/bf-spl1.c
+ ba7257673a492c33d4059f6354ffd7fe  gcc/testsuite/gcc.dg/bfin-longcall-1.c
+ 6290f084adf45a671097b71ce5eff322  gcc/testsuite/gcc.dg/bfin-longcall-2.c
  d6eb381e794c5ffaa3dca7867f663df8  gcc/testsuite/gcc.dg/bitfld-1.c
  218ad3191b850bf5aa034c83f109c214  gcc/testsuite/gcc.dg/bitfld-10.c
  a4270c480cfd8514dd7e1126191c944f  gcc/testsuite/gcc.dg/bitfld-11.c
*************** ee49a418bb99331c4c3b86c9188f1466  gcc/te
*** 15652,15659 ****
  274ae4fe1ca57aa4b892cdf329e7bd39  gcc/testsuite/gcc.dg/bitfld-13.c
  6e24ad6b2502d5ee4c338b598f5ed57c  gcc/testsuite/gcc.dg/bitfld-14.c
  944c0a5046ab04618cc2722199b795c0  gcc/testsuite/gcc.dg/bitfld-2.c
! 38796e108aa68ea2dfb1b33c342cf867  gcc/testsuite/gcc.dg/bitfld-3.c
! b79035e9295f4ef4ced4f6b418e45b35  gcc/testsuite/gcc.dg/bitfld-4.c
  579283dba3dac1f39382575c193080d6  gcc/testsuite/gcc.dg/bitfld-5.c
  1796f24d3309ecb1a32d443b0f58fefa  gcc/testsuite/gcc.dg/bitfld-6.c
  b60ea9ce50ade1f6008751a751acd9a0  gcc/testsuite/gcc.dg/bitfld-7.c
--- 14537,14544 ----
  274ae4fe1ca57aa4b892cdf329e7bd39  gcc/testsuite/gcc.dg/bitfld-13.c
  6e24ad6b2502d5ee4c338b598f5ed57c  gcc/testsuite/gcc.dg/bitfld-14.c
  944c0a5046ab04618cc2722199b795c0  gcc/testsuite/gcc.dg/bitfld-2.c
! 3c3276324e6faa6cc33175d7f10e4386  gcc/testsuite/gcc.dg/bitfld-3.c
! 21c6c879cfb43ec03bf3e0c0be95a676  gcc/testsuite/gcc.dg/bitfld-4.c
  579283dba3dac1f39382575c193080d6  gcc/testsuite/gcc.dg/bitfld-5.c
  1796f24d3309ecb1a32d443b0f58fefa  gcc/testsuite/gcc.dg/bitfld-6.c
  b60ea9ce50ade1f6008751a751acd9a0  gcc/testsuite/gcc.dg/bitfld-7.c
*************** dfd8cb769a07bf65b72b1976f33f8f8b  gcc/te
*** 15666,15676 ****
  06a0c3dba9fe56f3e500044c2efa4a31  gcc/testsuite/gcc.dg/builtin-choose-expr-2.c
  d07a3a7320e565e3928de7d9cfa008e1  gcc/testsuite/gcc.dg/builtin-choose-expr.c
  42a1a77675610e6120a1dc5b89a4cc2b  gcc/testsuite/gcc.dg/builtin-inf-1.c
  8a97ebf058fb89f3b374807943c1fa63  gcc/testsuite/gcc.dg/builtin-prefetch-1.c
  48192e5b69d73b862455c354ffe3202b  gcc/testsuite/gcc.dg/builtin-protos-1.c
  7417f03bbec90cbdedf38d88c232bef4  gcc/testsuite/gcc.dg/builtin-return-1.c
! b7d23eb2d461cabd0638f996b194cd11  gcc/testsuite/gcc.dg/builtins-1.c
! 4b8306967051dce8b37f3a3b1157dff9  gcc/testsuite/gcc.dg/builtins-10.c
  8601c0a71e7d1cdfd403a34911c56bcf  gcc/testsuite/gcc.dg/builtins-11.c
  31fba3ea2bbba3a61df667dd99beb26d  gcc/testsuite/gcc.dg/builtins-12.c
  dc837cbce372b65aca3276526dc5068a  gcc/testsuite/gcc.dg/builtins-13.c
--- 14551,14569 ----
  06a0c3dba9fe56f3e500044c2efa4a31  gcc/testsuite/gcc.dg/builtin-choose-expr-2.c
  d07a3a7320e565e3928de7d9cfa008e1  gcc/testsuite/gcc.dg/builtin-choose-expr.c
  42a1a77675610e6120a1dc5b89a4cc2b  gcc/testsuite/gcc.dg/builtin-inf-1.c
+ def764f2af14a528bc7e2250b6545c48  gcc/testsuite/gcc.dg/builtin-object-size-1.c
+ 752b6752d63854f2aa968585db243ae4  gcc/testsuite/gcc.dg/builtin-object-size-2.c
+ 0d20e709f701e5e93b9c11f44ecb9f24  gcc/testsuite/gcc.dg/builtin-object-size-3.c
+ 94199170474c606d2038ed1454bdfbc5  gcc/testsuite/gcc.dg/builtin-object-size-4.c
+ 0ae2bc37f4c5644109b9894eafe17e0d  gcc/testsuite/gcc.dg/builtin-object-size-5.c
  8a97ebf058fb89f3b374807943c1fa63  gcc/testsuite/gcc.dg/builtin-prefetch-1.c
  48192e5b69d73b862455c354ffe3202b  gcc/testsuite/gcc.dg/builtin-protos-1.c
  7417f03bbec90cbdedf38d88c232bef4  gcc/testsuite/gcc.dg/builtin-return-1.c
! aad3ddb92696f1edf31dfbd46b47cbbd  gcc/testsuite/gcc.dg/builtin-stringop-chk-1.c
! bdcff1e830bc6b11fa3dd03da73e0a5e  gcc/testsuite/gcc.dg/builtin-stringop-chk-2.c
! 35c590121da633e8f3bebf6707a46ba7  gcc/testsuite/gcc.dg/builtin-strstr.c
! b238d4b3b6b46758fde8efe08e7b920d  gcc/testsuite/gcc.dg/builtins-1.c
! 236952dd0c1fbd07978bcee83c587a07  gcc/testsuite/gcc.dg/builtins-10.c
  8601c0a71e7d1cdfd403a34911c56bcf  gcc/testsuite/gcc.dg/builtins-11.c
  31fba3ea2bbba3a61df667dd99beb26d  gcc/testsuite/gcc.dg/builtins-12.c
  dc837cbce372b65aca3276526dc5068a  gcc/testsuite/gcc.dg/builtins-13.c
*************** dc837cbce372b65aca3276526dc5068a  gcc/te
*** 15678,15687 ****
  fb8a861f0df883044d474bffb2eb9153  gcc/testsuite/gcc.dg/builtins-15.c
  77d2c967af3a954c81bcf8e9dacd19c7  gcc/testsuite/gcc.dg/builtins-16.c
  08090ce3f386d96e639f0161b5af4e65  gcc/testsuite/gcc.dg/builtins-17.c
! d6800e35f69e3117066441a95b034d72  gcc/testsuite/gcc.dg/builtins-18.c
  902e71902800dce0624e70a4770794ae  gcc/testsuite/gcc.dg/builtins-19.c
  a5a7384e5b7cee40e9ab054cb0319ebd  gcc/testsuite/gcc.dg/builtins-2.c
! ec01b70859ae62b748f332b9f82819ee  gcc/testsuite/gcc.dg/builtins-20.c
  a45eb59032dd5afd3baaed5f20fcfee4  gcc/testsuite/gcc.dg/builtins-21.c
  e80778ffff168210f09c92c87c4d7965  gcc/testsuite/gcc.dg/builtins-22.c
  97e2acd1f00df099c6286e60dd1d79bd  gcc/testsuite/gcc.dg/builtins-23.c
--- 14571,14580 ----
  fb8a861f0df883044d474bffb2eb9153  gcc/testsuite/gcc.dg/builtins-15.c
  77d2c967af3a954c81bcf8e9dacd19c7  gcc/testsuite/gcc.dg/builtins-16.c
  08090ce3f386d96e639f0161b5af4e65  gcc/testsuite/gcc.dg/builtins-17.c
! 3ad22ff36260f481c0c9cd8145b70e5a  gcc/testsuite/gcc.dg/builtins-18.c
  902e71902800dce0624e70a4770794ae  gcc/testsuite/gcc.dg/builtins-19.c
  a5a7384e5b7cee40e9ab054cb0319ebd  gcc/testsuite/gcc.dg/builtins-2.c
! 3df44df2dc44933107402f23e36c2672  gcc/testsuite/gcc.dg/builtins-20.c
  a45eb59032dd5afd3baaed5f20fcfee4  gcc/testsuite/gcc.dg/builtins-21.c
  e80778ffff168210f09c92c87c4d7965  gcc/testsuite/gcc.dg/builtins-22.c
  97e2acd1f00df099c6286e60dd1d79bd  gcc/testsuite/gcc.dg/builtins-23.c
*************** d05514a9f3c1d7b070ed85d1cd775e1b  gcc/te
*** 15691,15697 ****
  62b577dbe3bd44452c9adbe58857ab03  gcc/testsuite/gcc.dg/builtins-28.c
  542c2f269988b9244379a869e6ecbeed  gcc/testsuite/gcc.dg/builtins-30.c
  55b2d153e6c018c68549899385ae1a39  gcc/testsuite/gcc.dg/builtins-31.c
! 472c18722dee1f95e33866a86e47acc1  gcc/testsuite/gcc.dg/builtins-32.c
  0d7fe370a8eba51bb8a7df86a88e0598  gcc/testsuite/gcc.dg/builtins-33.c
  c92862f3278577c4a7f24d10c6a94a89  gcc/testsuite/gcc.dg/builtins-34.c
  d69eeaac13d2b5c1e59491bbfe70b4b1  gcc/testsuite/gcc.dg/builtins-35.c
--- 14584,14590 ----
  62b577dbe3bd44452c9adbe58857ab03  gcc/testsuite/gcc.dg/builtins-28.c
  542c2f269988b9244379a869e6ecbeed  gcc/testsuite/gcc.dg/builtins-30.c
  55b2d153e6c018c68549899385ae1a39  gcc/testsuite/gcc.dg/builtins-31.c
! 2b1de2c23ba33a40a108c3a2d860e115  gcc/testsuite/gcc.dg/builtins-32.c
  0d7fe370a8eba51bb8a7df86a88e0598  gcc/testsuite/gcc.dg/builtins-33.c
  c92862f3278577c4a7f24d10c6a94a89  gcc/testsuite/gcc.dg/builtins-34.c
  d69eeaac13d2b5c1e59491bbfe70b4b1  gcc/testsuite/gcc.dg/builtins-35.c
*************** a036d780a44abc0e2b5056e6a8c46257  gcc/te
*** 15701,15721 ****
  aba6bfb99076e0db80caf2664cddf941  gcc/testsuite/gcc.dg/builtins-39.c
  b26884b869b1cbae2bea0eb391f803c4  gcc/testsuite/gcc.dg/builtins-40.c
  2ce5026df3d1b8adc472542a1e7906a4  gcc/testsuite/gcc.dg/builtins-41.c
! 5f26c1513389a94f4461b4d890e1cf05  gcc/testsuite/gcc.dg/builtins-43.c
! 468c8c89febe86bc5b722ae8ba879d16  gcc/testsuite/gcc.dg/builtins-44.c
! e0c3b39c6ca94bf5ae51b9c20e6bd272  gcc/testsuite/gcc.dg/builtins-45.c
! 6184f11cfe9bbc30a76839f4893889b5  gcc/testsuite/gcc.dg/builtins-46.c
! 645a5b08cbad2371479fb9f982a43941  gcc/testsuite/gcc.dg/builtins-47.c
  2251c029a2c2f4db6807ee58eba05176  gcc/testsuite/gcc.dg/builtins-48.c
  d356a5f2cacecd4d84c62758c4277dac  gcc/testsuite/gcc.dg/builtins-49.c
  2d4bd355128819609993501797dd1a26  gcc/testsuite/gcc.dg/builtins-50.c
  3c8415b2a182d4b7f3129f6deee6b474  gcc/testsuite/gcc.dg/builtins-51.c
  3c46dca0d5305df472be7eab69a458cd  gcc/testsuite/gcc.dg/builtins-52.c
  74b0490044a21687006890738ede5e8c  gcc/testsuite/gcc.dg/builtins-6.c
  1863267706e2e098673111de96a7b9c7  gcc/testsuite/gcc.dg/builtins-7.c
  09b9acbd7b317ff4b7211dc9813eaf47  gcc/testsuite/gcc.dg/builtins-8.c
  6364406d43c3bf3c1af19d21027e1a8a  gcc/testsuite/gcc.dg/builtins-9.c
! 4faf74f11b82d4431158cced8acf9f97  gcc/testsuite/gcc.dg/builtins-config.h
  65e495bcc821b0c04c03e8e7c871913c  gcc/testsuite/gcc.dg/c90-array-lval-1.c
  37e70fabb75abb629dd8cb4a643c3b04  gcc/testsuite/gcc.dg/c90-array-lval-2.c
  2a4f797e3f246dcbf1e94b2150b31c2d  gcc/testsuite/gcc.dg/c90-array-lval-3.c
--- 14594,14615 ----
  aba6bfb99076e0db80caf2664cddf941  gcc/testsuite/gcc.dg/builtins-39.c
  b26884b869b1cbae2bea0eb391f803c4  gcc/testsuite/gcc.dg/builtins-40.c
  2ce5026df3d1b8adc472542a1e7906a4  gcc/testsuite/gcc.dg/builtins-41.c
! a266f91d44eee1a4128c89f5f03670ce  gcc/testsuite/gcc.dg/builtins-43.c
! 23e8022296cd608435e255f26c35b361  gcc/testsuite/gcc.dg/builtins-44.c
! d17c4a56c0ef0479c2b050cedf61c2bb  gcc/testsuite/gcc.dg/builtins-45.c
! 4cd01f2e4fb449ca8cfe4fad0ae093dd  gcc/testsuite/gcc.dg/builtins-46.c
! 3f4c5246a9d2c94fb47572f701762dd2  gcc/testsuite/gcc.dg/builtins-47.c
  2251c029a2c2f4db6807ee58eba05176  gcc/testsuite/gcc.dg/builtins-48.c
  d356a5f2cacecd4d84c62758c4277dac  gcc/testsuite/gcc.dg/builtins-49.c
  2d4bd355128819609993501797dd1a26  gcc/testsuite/gcc.dg/builtins-50.c
  3c8415b2a182d4b7f3129f6deee6b474  gcc/testsuite/gcc.dg/builtins-51.c
  3c46dca0d5305df472be7eab69a458cd  gcc/testsuite/gcc.dg/builtins-52.c
+ f92b1e02051e2bd68360c38f9bb39dc3  gcc/testsuite/gcc.dg/builtins-53.c
  74b0490044a21687006890738ede5e8c  gcc/testsuite/gcc.dg/builtins-6.c
  1863267706e2e098673111de96a7b9c7  gcc/testsuite/gcc.dg/builtins-7.c
  09b9acbd7b317ff4b7211dc9813eaf47  gcc/testsuite/gcc.dg/builtins-8.c
  6364406d43c3bf3c1af19d21027e1a8a  gcc/testsuite/gcc.dg/builtins-9.c
! 4b7e4eb68d441ff2bd9c31a6ced043b2  gcc/testsuite/gcc.dg/builtins-config.h
  65e495bcc821b0c04c03e8e7c871913c  gcc/testsuite/gcc.dg/c90-array-lval-1.c
  37e70fabb75abb629dd8cb4a643c3b04  gcc/testsuite/gcc.dg/c90-array-lval-2.c
  2a4f797e3f246dcbf1e94b2150b31c2d  gcc/testsuite/gcc.dg/c90-array-lval-3.c
*************** c9fd4355215d2e2eab45300985916bbf  gcc/te
*** 15807,15816 ****
  948204f1a878c3ffc184111ac6ca6d4c  gcc/testsuite/gcc.dg/c99-intprom-1.c
  fec78b820c017ed35b0a8525c3c4f719  gcc/testsuite/gcc.dg/c99-longlong-1.c
  8637b4538a417c2d58ee5294049e63fc  gcc/testsuite/gcc.dg/c99-main-1.c
! 301d2d07de2c393f82c7b90bf9a53f40  gcc/testsuite/gcc.dg/c99-math-double-1.c
! c3e264e150640c5bb3006b8aa2e4102d  gcc/testsuite/gcc.dg/c99-math-float-1.c
! be58b669a2d995e116b474bcf28aedae  gcc/testsuite/gcc.dg/c99-math-long-double-1.c
! 192cd822a98acd3c091a600e53c98a22  gcc/testsuite/gcc.dg/c99-math.h
  7ca67f3f8acb9cefd81e65f2036d6e40  gcc/testsuite/gcc.dg/c99-mixdecl-1.c
  e1abd74129c9807dc7c05ec223797173  gcc/testsuite/gcc.dg/c99-restrict-1.c
  8d14d12d735463582713738699e82a89  gcc/testsuite/gcc.dg/c99-restrict-2.c
--- 14701,14710 ----
  948204f1a878c3ffc184111ac6ca6d4c  gcc/testsuite/gcc.dg/c99-intprom-1.c
  fec78b820c017ed35b0a8525c3c4f719  gcc/testsuite/gcc.dg/c99-longlong-1.c
  8637b4538a417c2d58ee5294049e63fc  gcc/testsuite/gcc.dg/c99-main-1.c
! 591816f4cb9bbb138305dcb0a5d67223  gcc/testsuite/gcc.dg/c99-math-double-1.c
! 589f51abe3cbd521c9661c29df2fc3ef  gcc/testsuite/gcc.dg/c99-math-float-1.c
! 3b06213a6b245afc62be755bfdc17f43  gcc/testsuite/gcc.dg/c99-math-long-double-1.c
! fb6b920dcb7644175bc42742c4fbc746  gcc/testsuite/gcc.dg/c99-math.h
  7ca67f3f8acb9cefd81e65f2036d6e40  gcc/testsuite/gcc.dg/c99-mixdecl-1.c
  e1abd74129c9807dc7c05ec223797173  gcc/testsuite/gcc.dg/c99-restrict-1.c
  8d14d12d735463582713738699e82a89  gcc/testsuite/gcc.dg/c99-restrict-2.c
*************** b96b4717d6559f968404758dabd5e68c  gcc/te
*** 15823,15828 ****
--- 14717,14723 ----
  18ba45c5827dda6f3d26201ab9d5a92c  gcc/testsuite/gcc.dg/c99-tag-3.c
  a83075734393e2c337de51f1933f2fe0  gcc/testsuite/gcc.dg/c99-typespec-1.c
  0c5395a91c85984f3d3fb3d6f5c43ac0  gcc/testsuite/gcc.dg/c99-vla-1.c
+ 2b529356b58e4e9de40ac06b091dd665  gcc/testsuite/gcc.dg/c99-vla-2.c
  00eba45ac1084c1e994e937dc9d6e2ea  gcc/testsuite/gcc.dg/c99-vla-jump-1.c
  bed6090e8d4b6381a0d8bfe204fd4163  gcc/testsuite/gcc.dg/c99-vla-jump-2.c
  77070d005e4b8b0c575ff463b817282c  gcc/testsuite/gcc.dg/c99-vla-jump-3.c
*************** dd7758008e0800aefdf053ec6be3d88b  gcc/te
*** 15839,15872 ****
  c8850be7a0e22bf2e52b8e88bb01c409  gcc/testsuite/gcc.dg/char-compare.c
  9c1af6a5f1547d7888309e68fa1e645e  gcc/testsuite/gcc.dg/charset/asm1.c
  de11a3779b8f68e37026c0989fe00062  gcc/testsuite/gcc.dg/charset/asm2.c
! c277dfaaf369abc23e9a10195435da17  gcc/testsuite/gcc.dg/charset/asm3.c
  bd34927c7e8ef0637a91744aa30c8e22  gcc/testsuite/gcc.dg/charset/asm4.c
  95c9ba623a35c6483572e167a551f474  gcc/testsuite/gcc.dg/charset/asm5.c
  13aa9df754ce327f35901d755310d167  gcc/testsuite/gcc.dg/charset/asm6.c
  188e64ef71cd1832cf590f89eb899d5b  gcc/testsuite/gcc.dg/charset/attribute1.c
  f1b0caab2fba40cb96b5f676d3e5466e  gcc/testsuite/gcc.dg/charset/attribute2.c
  d256d028f437be7e103b223e7c20fe96  gcc/testsuite/gcc.dg/charset/builtin1.c
! 850025cbdd3b176ffa048d466ecd594f  gcc/testsuite/gcc.dg/charset/charset.exp
  8c029ca8175e4d8995ea0dbac6040733  gcc/testsuite/gcc.dg/charset/extern.c
  5314225894f8ef8a8d8249f4a0973380  gcc/testsuite/gcc.dg/charset/function.c
  a59f9cb8c1327a655a207f133f19d6fb  gcc/testsuite/gcc.dg/charset/string.c
  fe287e9d15ae209514d8db7c0c2cd9e7  gcc/testsuite/gcc.dg/cleanup-1.c
! 4ad8763517023fa5567bd072fc2df927  gcc/testsuite/gcc.dg/cleanup-10.c
! 3f858e681be76edc2ea6cc0987d18154  gcc/testsuite/gcc.dg/cleanup-11.c
  78bae3132e2068a254f88515c6bf0640  gcc/testsuite/gcc.dg/cleanup-2.c
  c2a1d7446900f7baf929104c039559f3  gcc/testsuite/gcc.dg/cleanup-3.c
  fc4b23c0fc21775250b7d884eb0fe56e  gcc/testsuite/gcc.dg/cleanup-4.c
! 21fd4d1ea68395c18169fce83d854b92  gcc/testsuite/gcc.dg/cleanup-5.c
  d9e45b781a97ee5ac71b788011eae52c  gcc/testsuite/gcc.dg/cleanup-6.c
  63f9f4f172f1c35d6e9325335509bbae  gcc/testsuite/gcc.dg/cleanup-7.c
! 4bfe185a37b9ec6e785119565734e9f8  gcc/testsuite/gcc.dg/cleanup-8.c
! 2db88f3556d9bbe4b173031d196d31e6  gcc/testsuite/gcc.dg/cleanup-9.c
! bdf077f4875b4258b16a4864685f87f7  gcc/testsuite/gcc.dg/clobbers.c
  5df802dba7a30df3344497d28b7cab6c  gcc/testsuite/gcc.dg/comp-goto-1.c
  ba41735f5c3b440d3bffdb1c635af97d  gcc/testsuite/gcc.dg/comp-goto-2.c
  1372946268c491d46a6d2c804a2d7a33  gcc/testsuite/gcc.dg/comp-goto-3.c
  78fe3f6717c09fb4c953681eb32836bf  gcc/testsuite/gcc.dg/comp-return-1.c
! 243a5845fa69dd1be55985444a123d91  gcc/testsuite/gcc.dg/compare1.c
  3e315196fd421ea8ce95987c57ee475f  gcc/testsuite/gcc.dg/compare2.c
  d69421ce8f4ddbba36c1551bcdec9246  gcc/testsuite/gcc.dg/compare3.c
  b269b834350aa54824f18692ec18d2e2  gcc/testsuite/gcc.dg/compare4.c
--- 14734,14767 ----
  c8850be7a0e22bf2e52b8e88bb01c409  gcc/testsuite/gcc.dg/char-compare.c
  9c1af6a5f1547d7888309e68fa1e645e  gcc/testsuite/gcc.dg/charset/asm1.c
  de11a3779b8f68e37026c0989fe00062  gcc/testsuite/gcc.dg/charset/asm2.c
! ff5d3487e473517086455d63725d73a6  gcc/testsuite/gcc.dg/charset/asm3.c
  bd34927c7e8ef0637a91744aa30c8e22  gcc/testsuite/gcc.dg/charset/asm4.c
  95c9ba623a35c6483572e167a551f474  gcc/testsuite/gcc.dg/charset/asm5.c
  13aa9df754ce327f35901d755310d167  gcc/testsuite/gcc.dg/charset/asm6.c
  188e64ef71cd1832cf590f89eb899d5b  gcc/testsuite/gcc.dg/charset/attribute1.c
  f1b0caab2fba40cb96b5f676d3e5466e  gcc/testsuite/gcc.dg/charset/attribute2.c
  d256d028f437be7e103b223e7c20fe96  gcc/testsuite/gcc.dg/charset/builtin1.c
! a00066d47a6f8dc20ebf4861a2541212  gcc/testsuite/gcc.dg/charset/builtin2.c
! c72a448869eb0a8bfe88edf5ceeaa776  gcc/testsuite/gcc.dg/charset/charset.exp
  8c029ca8175e4d8995ea0dbac6040733  gcc/testsuite/gcc.dg/charset/extern.c
  5314225894f8ef8a8d8249f4a0973380  gcc/testsuite/gcc.dg/charset/function.c
  a59f9cb8c1327a655a207f133f19d6fb  gcc/testsuite/gcc.dg/charset/string.c
  fe287e9d15ae209514d8db7c0c2cd9e7  gcc/testsuite/gcc.dg/cleanup-1.c
! 854510bb77af2ccb1cc26c6137558411  gcc/testsuite/gcc.dg/cleanup-10.c
! d76cc45621908e27284e15b4eb66b20a  gcc/testsuite/gcc.dg/cleanup-11.c
  78bae3132e2068a254f88515c6bf0640  gcc/testsuite/gcc.dg/cleanup-2.c
  c2a1d7446900f7baf929104c039559f3  gcc/testsuite/gcc.dg/cleanup-3.c
  fc4b23c0fc21775250b7d884eb0fe56e  gcc/testsuite/gcc.dg/cleanup-4.c
! 933fa76757b87fe57e076f5308f4ba9f  gcc/testsuite/gcc.dg/cleanup-5.c
  d9e45b781a97ee5ac71b788011eae52c  gcc/testsuite/gcc.dg/cleanup-6.c
  63f9f4f172f1c35d6e9325335509bbae  gcc/testsuite/gcc.dg/cleanup-7.c
! 7f72ec679e2bd783f8f2032097e20ae1  gcc/testsuite/gcc.dg/cleanup-8.c
! 2388250d10cdc73a0dbc06eb851e4652  gcc/testsuite/gcc.dg/cleanup-9.c
  5df802dba7a30df3344497d28b7cab6c  gcc/testsuite/gcc.dg/comp-goto-1.c
  ba41735f5c3b440d3bffdb1c635af97d  gcc/testsuite/gcc.dg/comp-goto-2.c
  1372946268c491d46a6d2c804a2d7a33  gcc/testsuite/gcc.dg/comp-goto-3.c
  78fe3f6717c09fb4c953681eb32836bf  gcc/testsuite/gcc.dg/comp-return-1.c
! 6f243a75c011aca0722f959f9ec14cde  gcc/testsuite/gcc.dg/compare1.c
  3e315196fd421ea8ce95987c57ee475f  gcc/testsuite/gcc.dg/compare2.c
  d69421ce8f4ddbba36c1551bcdec9246  gcc/testsuite/gcc.dg/compare3.c
  b269b834350aa54824f18692ec18d2e2  gcc/testsuite/gcc.dg/compare4.c
*************** fb54850354fdbb7e291d2545619f020b  gcc/te
*** 15874,15881 ****
  04d6c776fe8f4b00302a1dba782d78cc  gcc/testsuite/gcc.dg/compare6.c
  284fb8580a68ffb43cd6989f7dd773ec  gcc/testsuite/gcc.dg/compare7.c
  b67b3401cc9029ef7560e597d5ad8905  gcc/testsuite/gcc.dg/compare8.c
  2953f7137cafc5117041c87f712943eb  gcc/testsuite/gcc.dg/compat/compat-common.h
! 1b59e9b616e3b7eddfb029ecc7dffe55  gcc/testsuite/gcc.dg/compat/compat.exp
  24894b4e4b3498731affefac610f0a05  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_main.c
  fe9eda5144c4b80c732bde86debf0550  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_x.c
  564c8abb5b6fdd9d796e4c9983416c75  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_y.c
--- 14769,14777 ----
  04d6c776fe8f4b00302a1dba782d78cc  gcc/testsuite/gcc.dg/compare6.c
  284fb8580a68ffb43cd6989f7dd773ec  gcc/testsuite/gcc.dg/compare7.c
  b67b3401cc9029ef7560e597d5ad8905  gcc/testsuite/gcc.dg/compare8.c
+ 34124db83a070156111bcc2b1491c9f0  gcc/testsuite/gcc.dg/compare9.c
  2953f7137cafc5117041c87f712943eb  gcc/testsuite/gcc.dg/compat/compat-common.h
! 38f9d8bcd8d773dfd66c14972d03277e  gcc/testsuite/gcc.dg/compat/compat.exp
  24894b4e4b3498731affefac610f0a05  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_main.c
  fe9eda5144c4b80c732bde86debf0550  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_x.c
  564c8abb5b6fdd9d796e4c9983416c75  gcc/testsuite/gcc.dg/compat/fnptr-by-value-1_y.c
*************** c68128b6c6689ee6c4932e83f20fca33  gcc/te
*** 15887,15895 ****
  f54063862700224653665ff7f4cd5e29  gcc/testsuite/gcc.dg/compat/fp2-struct-check.h
  107d53431c1b0540c6064bdcc553d976  gcc/testsuite/gcc.dg/compat/fp2-struct-defs.h
  59ca841f17677fc8a60f3e9b812cffb3  gcc/testsuite/gcc.dg/compat/fp2-struct-init.h
! bae43197b71f27f3b68b631dbd9859b3  gcc/testsuite/gcc.dg/compat/generate-random.c
! d3ba3071933d8c1696a3d262882b54cc  gcc/testsuite/gcc.dg/compat/generate-random.h
! 025744b16baa8775ef832d8af18051eb  gcc/testsuite/gcc.dg/compat/generate-random_r.c
  96e66d811afbddf820fffec4485a28c5  gcc/testsuite/gcc.dg/compat/mixed-struct-check.h
  33b111287b9ff87242fe27859d89a852  gcc/testsuite/gcc.dg/compat/mixed-struct-defs.h
  afd394c71967624882d06b437c9681ca  gcc/testsuite/gcc.dg/compat/mixed-struct-init.h
--- 14783,14791 ----
  f54063862700224653665ff7f4cd5e29  gcc/testsuite/gcc.dg/compat/fp2-struct-check.h
  107d53431c1b0540c6064bdcc553d976  gcc/testsuite/gcc.dg/compat/fp2-struct-defs.h
  59ca841f17677fc8a60f3e9b812cffb3  gcc/testsuite/gcc.dg/compat/fp2-struct-init.h
! db6ac9c4cab360de1e62ae24781a65aa  gcc/testsuite/gcc.dg/compat/generate-random.c
! a3ac98dcec269f59ea0f7ebc9b8c3297  gcc/testsuite/gcc.dg/compat/generate-random.h
! 73fd2a43073b565b250e87dcce3fb9b1  gcc/testsuite/gcc.dg/compat/generate-random_r.c
  96e66d811afbddf820fffec4485a28c5  gcc/testsuite/gcc.dg/compat/mixed-struct-check.h
  33b111287b9ff87242fe27859d89a852  gcc/testsuite/gcc.dg/compat/mixed-struct-defs.h
  afd394c71967624882d06b437c9681ca  gcc/testsuite/gcc.dg/compat/mixed-struct-init.h
*************** b13ce33543763e05e497e6e9b0b06afc  gcc/te
*** 16011,16019 ****
  1f597ca9134ff15cdb56349490c465e5  gcc/testsuite/gcc.dg/compat/struct-complex-1_main.c
  e900e9cc35754f91d5570a590603c431  gcc/testsuite/gcc.dg/compat/struct-complex-1_x.c
  d50518b3ac56fc5bfd9f79c7987a2541  gcc/testsuite/gcc.dg/compat/struct-complex-1_y.c
! a6025d553e298ce529d53d5c6a0bed33  gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
  c41a6661b12b159d108661dd40bac309  gcc/testsuite/gcc.dg/compat/struct-layout-1.h
! 27295686e62f1c1e988dfec9e8856a28  gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
  c7ce8fc3152d27422fe50033109fcba7  gcc/testsuite/gcc.dg/compat/struct-layout-1_main.c
  514043e714114da65491203717baefe1  gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h
  7a2c01872720f537c35327ff79b01fa3  gcc/testsuite/gcc.dg/compat/struct-layout-1_x.c
--- 14907,14915 ----
  1f597ca9134ff15cdb56349490c465e5  gcc/testsuite/gcc.dg/compat/struct-complex-1_main.c
  e900e9cc35754f91d5570a590603c431  gcc/testsuite/gcc.dg/compat/struct-complex-1_x.c
  d50518b3ac56fc5bfd9f79c7987a2541  gcc/testsuite/gcc.dg/compat/struct-complex-1_y.c
! 53266ef2e3551a5de1bdd9eafeeff68f  gcc/testsuite/gcc.dg/compat/struct-layout-1.exp
  c41a6661b12b159d108661dd40bac309  gcc/testsuite/gcc.dg/compat/struct-layout-1.h
! 6b0dcd4c9a56f873338d9709f9238c2b  gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c
  c7ce8fc3152d27422fe50033109fcba7  gcc/testsuite/gcc.dg/compat/struct-layout-1_main.c
  514043e714114da65491203717baefe1  gcc/testsuite/gcc.dg/compat/struct-layout-1_test.h
  7a2c01872720f537c35327ff79b01fa3  gcc/testsuite/gcc.dg/compat/struct-layout-1_x.c
*************** a86556f4f0c72c0bee2f104440830505  gcc/te
*** 16067,16080 ****
  ec2d607c705e532267dc3c09849c554f  gcc/testsuite/gcc.dg/complex-2.c
  da2226add6799fd192e2b367404d1b0b  gcc/testsuite/gcc.dg/complex-2.h
  7cbd734da9d8330b57f4e78af353b9f2  gcc/testsuite/gcc.dg/complex-3.c
  9a8460b2b7be20ec936144c1267fdf4b  gcc/testsuite/gcc.dg/compound-lvalue-1.c
  a391524508e56b407f614b94ad4f54ea  gcc/testsuite/gcc.dg/concat.c
  fe6e67a4e564ca5642810bdf85534463  gcc/testsuite/gcc.dg/concat2.c
  0115b0253f566ae848136edaa8f19b58  gcc/testsuite/gcc.dg/cond-lvalue-1.c
! 7dba1cb67fb225cf14f7060dc6cf578e  gcc/testsuite/gcc.dg/const-elim-1.c
  cf21c7554a864121ceeea5e07b0972a6  gcc/testsuite/gcc.dg/const-elim-2.c
  79de76f1d9fe6810bc65fa1f39adc1dc  gcc/testsuite/gcc.dg/conv-1.c
! eeaf7e843fec74d7db09e07e6e903fc6  gcc/testsuite/gcc.dg/conv-2.c
  89b18c0becd2933f025acc401a0aeaf8  gcc/testsuite/gcc.dg/conv-3.c
  e5ec9a1f71373127b27f8ee5cecf0fd7  gcc/testsuite/gcc.dg/convert-vec-1.c
  efe7e7710c90559c2ce6e719d57e85cf  gcc/testsuite/gcc.dg/cpp/19921210-1.c
--- 14963,14978 ----
  ec2d607c705e532267dc3c09849c554f  gcc/testsuite/gcc.dg/complex-2.c
  da2226add6799fd192e2b367404d1b0b  gcc/testsuite/gcc.dg/complex-2.h
  7cbd734da9d8330b57f4e78af353b9f2  gcc/testsuite/gcc.dg/complex-3.c
+ 47685f7f7986540a92dac40dcd9edc3f  gcc/testsuite/gcc.dg/complex-4.c
  9a8460b2b7be20ec936144c1267fdf4b  gcc/testsuite/gcc.dg/compound-lvalue-1.c
  a391524508e56b407f614b94ad4f54ea  gcc/testsuite/gcc.dg/concat.c
  fe6e67a4e564ca5642810bdf85534463  gcc/testsuite/gcc.dg/concat2.c
  0115b0253f566ae848136edaa8f19b58  gcc/testsuite/gcc.dg/cond-lvalue-1.c
! f7f4f552b56e85a5f2143f11a567c852  gcc/testsuite/gcc.dg/const-compare.c
! 6ccf395fc674b370645bdd0d50fb25b8  gcc/testsuite/gcc.dg/const-elim-1.c
  cf21c7554a864121ceeea5e07b0972a6  gcc/testsuite/gcc.dg/const-elim-2.c
  79de76f1d9fe6810bc65fa1f39adc1dc  gcc/testsuite/gcc.dg/conv-1.c
! f2ca023ffcabe691ffc1f32123d1aa55  gcc/testsuite/gcc.dg/conv-2.c
  89b18c0becd2933f025acc401a0aeaf8  gcc/testsuite/gcc.dg/conv-3.c
  e5ec9a1f71373127b27f8ee5cecf0fd7  gcc/testsuite/gcc.dg/convert-vec-1.c
  efe7e7710c90559c2ce6e719d57e85cf  gcc/testsuite/gcc.dg/cpp/19921210-1.c
*************** d2ceecccef1772ada3beff72d6faed3e  gcc/te
*** 16133,16139 ****
  5206719ac5a8351926ba0739392cdaf2  gcc/testsuite/gcc.dg/cpp/assert1.c
  26123c450b8ac44d3950df789e1d2118  gcc/testsuite/gcc.dg/cpp/assert2.c
  d5a4260d3994d6b7cf96b8ecd1966dc7  gcc/testsuite/gcc.dg/cpp/assert3.c
! e75e0ea246083e4e0bae0b7f911d21c7  gcc/testsuite/gcc.dg/cpp/assert4.c
  050b8215f4ddf9eb761a732729df2da2  gcc/testsuite/gcc.dg/cpp/avoidpaste1.c
  a0c74ddc6960d45447982ca784ab3b1b  gcc/testsuite/gcc.dg/cpp/avoidpaste2.c
  1d8a3a95741c925f4b6277037a477574  gcc/testsuite/gcc.dg/cpp/backslash.c
--- 15031,15037 ----
  5206719ac5a8351926ba0739392cdaf2  gcc/testsuite/gcc.dg/cpp/assert1.c
  26123c450b8ac44d3950df789e1d2118  gcc/testsuite/gcc.dg/cpp/assert2.c
  d5a4260d3994d6b7cf96b8ecd1966dc7  gcc/testsuite/gcc.dg/cpp/assert3.c
! 9734ef94a1271e6610a4d2ebe75c2d61  gcc/testsuite/gcc.dg/cpp/assert4.c
  050b8215f4ddf9eb761a732729df2da2  gcc/testsuite/gcc.dg/cpp/avoidpaste1.c
  a0c74ddc6960d45447982ca784ab3b1b  gcc/testsuite/gcc.dg/cpp/avoidpaste2.c
  1d8a3a95741c925f4b6277037a477574  gcc/testsuite/gcc.dg/cpp/backslash.c
*************** fb746197b268341775148b17b72a697b  gcc/te
*** 16158,16170 ****
  ca6c60c7f817b9f67ea729cf58d0fd66  gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c
  348bc7b11525562c7277f52513c264bc  gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c
  c40843a7a2d3e578f9926a15ab10fe86  gcc/testsuite/gcc.dg/cpp/cmdlne-dD.c
  f55cd0e18434afe5592bec72855ee447  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
  b0997e7f7cec95ce9ff0334b42c79e0c  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.h
  e4072443ef2974473b4278ff6d1e318c  gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
  8df5a6d36c5eb27b5f778393fb7570b2  gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c
  9054bed6dd6f843abaff9a999a9af050  gcc/testsuite/gcc.dg/cpp/cmdlne-dM.c
  f011a18fc17a394d9a6f0ffb1123fa5a  gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c
! 1c1bb49499f7a0cf4a39ea7adb85b252  gcc/testsuite/gcc.dg/cpp/cpp.exp
  a4207c77f8d160b9e8cfe0b186630d5a  gcc/testsuite/gcc.dg/cpp/cxxcom1.c
  d77a661fbfed762f6397bfd3581e855e  gcc/testsuite/gcc.dg/cpp/cxxcom2.c
  8af19f954e4c7d8397aa53ac210b124e  gcc/testsuite/gcc.dg/cpp/cxxcom2.h
--- 15056,15070 ----
  ca6c60c7f817b9f67ea729cf58d0fd66  gcc/testsuite/gcc.dg/cpp/cmdlne-dD-M.c
  348bc7b11525562c7277f52513c264bc  gcc/testsuite/gcc.dg/cpp/cmdlne-dD-dM.c
  c40843a7a2d3e578f9926a15ab10fe86  gcc/testsuite/gcc.dg/cpp/cmdlne-dD.c
+ b5f53aa87c6330e31e1a0ae71c50d4ee  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-C.c
+ 8a23b0bd0f3ce0c6110eee912776f8ea  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-C.h
  f55cd0e18434afe5592bec72855ee447  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.c
  b0997e7f7cec95ce9ff0334b42c79e0c  gcc/testsuite/gcc.dg/cpp/cmdlne-dI-M.h
  e4072443ef2974473b4278ff6d1e318c  gcc/testsuite/gcc.dg/cpp/cmdlne-dM-M.c
  8df5a6d36c5eb27b5f778393fb7570b2  gcc/testsuite/gcc.dg/cpp/cmdlne-dM-dD.c
  9054bed6dd6f843abaff9a999a9af050  gcc/testsuite/gcc.dg/cpp/cmdlne-dM.c
  f011a18fc17a394d9a6f0ffb1123fa5a  gcc/testsuite/gcc.dg/cpp/cmdlne-dN-M.c
! 19108e280d543fa3ea275ba1de1a7c6a  gcc/testsuite/gcc.dg/cpp/cpp.exp
  a4207c77f8d160b9e8cfe0b186630d5a  gcc/testsuite/gcc.dg/cpp/cxxcom1.c
  d77a661fbfed762f6397bfd3581e855e  gcc/testsuite/gcc.dg/cpp/cxxcom2.c
  8af19f954e4c7d8397aa53ac210b124e  gcc/testsuite/gcc.dg/cpp/cxxcom2.h
*************** d77a661fbfed762f6397bfd3581e855e  gcc/te
*** 16172,16179 ****
  7c767936cfc5aa6d5eb65700ff8f8bcf  gcc/testsuite/gcc.dg/cpp/digraph1.c
  b515bc70dbcb64eaaea1e4edcd67bb80  gcc/testsuite/gcc.dg/cpp/digraph2.c
  e8e1b44c9a259d5b1aa0058fcae995b0  gcc/testsuite/gcc.dg/cpp/digraphs.c
! adb352d90e2c5b5ad6b8c7421188be22  gcc/testsuite/gcc.dg/cpp/direct2.c
! cb24eb19ef6cd11e2aa374a83f123f61  gcc/testsuite/gcc.dg/cpp/direct2s.c
  f7d33748385116eadf13c192e8243ef5  gcc/testsuite/gcc.dg/cpp/directiv.c
  a2dd5b051236aad6b99d52b4affd80b0  gcc/testsuite/gcc.dg/cpp/empty-include.c
  af960c05f0a6ab2d5eb3aa99551fa658  gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c
--- 15072,15079 ----
  7c767936cfc5aa6d5eb65700ff8f8bcf  gcc/testsuite/gcc.dg/cpp/digraph1.c
  b515bc70dbcb64eaaea1e4edcd67bb80  gcc/testsuite/gcc.dg/cpp/digraph2.c
  e8e1b44c9a259d5b1aa0058fcae995b0  gcc/testsuite/gcc.dg/cpp/digraphs.c
! b8aca9915ad24ec5ae7a8cc4b576696c  gcc/testsuite/gcc.dg/cpp/direct2.c
! 541e828be0108a2fe896102ddb50ef8e  gcc/testsuite/gcc.dg/cpp/direct2s.c
  f7d33748385116eadf13c192e8243ef5  gcc/testsuite/gcc.dg/cpp/directiv.c
  a2dd5b051236aad6b99d52b4affd80b0  gcc/testsuite/gcc.dg/cpp/empty-include.c
  af960c05f0a6ab2d5eb3aa99551fa658  gcc/testsuite/gcc.dg/cpp/endif-pedantic1.c
*************** bad46dc3aecb70d53e1132e7986da491  gcc/te
*** 16283,16288 ****
--- 15183,15192 ----
  6b26cd92690c2c76ce558f1f4f6ce1fb  gcc/testsuite/gcc.dg/cpp/mi7b.h
  5d9f718ccfd8042d86d25f79255dcc6a  gcc/testsuite/gcc.dg/cpp/multiline-2.c
  2288214348e43852a64d34445e91c69c  gcc/testsuite/gcc.dg/cpp/multiline.c
+ 08c74659384c97bfaba106e5ad8b843d  gcc/testsuite/gcc.dg/cpp/normalize-1.c
+ fc7d3e28e273d52548c9204f8ddfdbe5  gcc/testsuite/gcc.dg/cpp/normalize-2.c
+ e7bce38e7936d93b50158afce6abd35a  gcc/testsuite/gcc.dg/cpp/normalize-3.c
+ 702a4c10e789b0c87b15abdeb8776efa  gcc/testsuite/gcc.dg/cpp/normalize-4.c
  114af49c7f0ebbbf1b2b6dfe7d7533fe  gcc/testsuite/gcc.dg/cpp/paste1.c
  94e0adf57f2b5278d73eb9a32e60922c  gcc/testsuite/gcc.dg/cpp/paste10.c
  68ab4ef70893cf978cfc43246b2508c5  gcc/testsuite/gcc.dg/cpp/paste11.c
*************** bad46dc3aecb70d53e1132e7986da491  gcc/te
*** 16290,16296 ****
  283196eb7fb5f23e39003bf6346a0424  gcc/testsuite/gcc.dg/cpp/paste13.c
  97a18dfd38dd2b940ad9587bcf12fec2  gcc/testsuite/gcc.dg/cpp/paste2.c
  43ec09ef85b5fcbf054f11e415cb78c6  gcc/testsuite/gcc.dg/cpp/paste3.c
! 66d0a4875cd871ad4414d45939b45356  gcc/testsuite/gcc.dg/cpp/paste4.c
  893a2ed3ae72221cec7a45734ebf93f6  gcc/testsuite/gcc.dg/cpp/paste5.c
  636c2b3ced8a67ec7b0f3c4741a34494  gcc/testsuite/gcc.dg/cpp/paste6.c
  bd895b136a241e12836f4d30e2b81b5b  gcc/testsuite/gcc.dg/cpp/paste7.c
--- 15194,15200 ----
  283196eb7fb5f23e39003bf6346a0424  gcc/testsuite/gcc.dg/cpp/paste13.c
  97a18dfd38dd2b940ad9587bcf12fec2  gcc/testsuite/gcc.dg/cpp/paste2.c
  43ec09ef85b5fcbf054f11e415cb78c6  gcc/testsuite/gcc.dg/cpp/paste3.c
! 56050ddfa23b2d6c2d7e12a89a10f76b  gcc/testsuite/gcc.dg/cpp/paste4.c
  893a2ed3ae72221cec7a45734ebf93f6  gcc/testsuite/gcc.dg/cpp/paste5.c
  636c2b3ced8a67ec7b0f3c4741a34494  gcc/testsuite/gcc.dg/cpp/paste6.c
  bd895b136a241e12836f4d30e2b81b5b  gcc/testsuite/gcc.dg/cpp/paste7.c
*************** d59887c3a6d84e13943708de2d30ef72  gcc/te
*** 16310,16316 ****
  07384775502bd88399fa7426580eacf7  gcc/testsuite/gcc.dg/cpp/redef1.c
  c1d73c4510fcf1e4c0d10749167ba7ea  gcc/testsuite/gcc.dg/cpp/redef2.c
  dff1ad67780a4f4eb7a40b0d122249b1  gcc/testsuite/gcc.dg/cpp/redef3.c
! b505ce562c2f0c8b10292fe7ee4439c3  gcc/testsuite/gcc.dg/cpp/separate-1.c
  17d9d91e6b87e9f5986dbaf36072407a  gcc/testsuite/gcc.dg/cpp/skipping.c
  2660488e314396078f849a40c42d6ca0  gcc/testsuite/gcc.dg/cpp/skipping2.c
  3a7905ac79abad7b67a3f5c1d83164d6  gcc/testsuite/gcc.dg/cpp/spacing1.c
--- 15214,15220 ----
  07384775502bd88399fa7426580eacf7  gcc/testsuite/gcc.dg/cpp/redef1.c
  c1d73c4510fcf1e4c0d10749167ba7ea  gcc/testsuite/gcc.dg/cpp/redef2.c
  dff1ad67780a4f4eb7a40b0d122249b1  gcc/testsuite/gcc.dg/cpp/redef3.c
! 3179a8c05a9e401f7468a91f63646c15  gcc/testsuite/gcc.dg/cpp/separate-1.c
  17d9d91e6b87e9f5986dbaf36072407a  gcc/testsuite/gcc.dg/cpp/skipping.c
  2660488e314396078f849a40c42d6ca0  gcc/testsuite/gcc.dg/cpp/skipping2.c
  3a7905ac79abad7b67a3f5c1d83164d6  gcc/testsuite/gcc.dg/cpp/spacing1.c
*************** b505ce562c2f0c8b10292fe7ee4439c3  gcc/te
*** 16318,16323 ****
--- 15222,15228 ----
  e514d18a26a103af175f93550e267b56  gcc/testsuite/gcc.dg/cpp/strify1.c
  a47069e380e9f8e83e47e6d2d566cb3e  gcc/testsuite/gcc.dg/cpp/strify2.c
  df430c7343bfb8b4b14abef3d9cd8dfc  gcc/testsuite/gcc.dg/cpp/strify3.c
+ 99332136abf5f4c7b59c52fa676f3b68  gcc/testsuite/gcc.dg/cpp/strify4.c
  f1455db05759312c47f97fe8f1264c69  gcc/testsuite/gcc.dg/cpp/strp1.c
  e0340e59e2b605aa96e4e029b7ff48d6  gcc/testsuite/gcc.dg/cpp/strp2.c
  a9412767e0654101620971f678865ddf  gcc/testsuite/gcc.dg/cpp/subframework1.c
*************** e9e98e38f93a3e1df0f1269e438b5be2  gcc/te
*** 16396,16402 ****
  bad46dc3aecb70d53e1132e7986da491  gcc/testsuite/gcc.dg/cpp/trad/mi7a.h
  6b26cd92690c2c76ce558f1f4f6ce1fb  gcc/testsuite/gcc.dg/cpp/trad/mi7b.h
  728fb4b3b00db9fb0096b9597ca10d4b  gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c
! dd4179d09f2539c1afb8751574726b67  gcc/testsuite/gcc.dg/cpp/trad/num-sign.c
  f05e936895687df50da3e0f17f68c57b  gcc/testsuite/gcc.dg/cpp/trad/paste.c
  c77e7691c0a10f1a6d612705553d72c6  gcc/testsuite/gcc.dg/cpp/trad/quote.c
  ef4f422edbeb55f5e7aa5eee46bf15d3  gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c
--- 15301,15307 ----
  bad46dc3aecb70d53e1132e7986da491  gcc/testsuite/gcc.dg/cpp/trad/mi7a.h
  6b26cd92690c2c76ce558f1f4f6ce1fb  gcc/testsuite/gcc.dg/cpp/trad/mi7b.h
  728fb4b3b00db9fb0096b9597ca10d4b  gcc/testsuite/gcc.dg/cpp/trad/null-drctv.c
! 28210d94dcd72595dc9f27d7009c68ef  gcc/testsuite/gcc.dg/cpp/trad/num-sign.c
  f05e936895687df50da3e0f17f68c57b  gcc/testsuite/gcc.dg/cpp/trad/paste.c
  c77e7691c0a10f1a6d612705553d72c6  gcc/testsuite/gcc.dg/cpp/trad/quote.c
  ef4f422edbeb55f5e7aa5eee46bf15d3  gcc/testsuite/gcc.dg/cpp/trad/recurse-1.c
*************** fb8d966edc2bb4f9de1858ef3f07c225  gcc/te
*** 16405,16416 ****
  19e5cbd2c36fb20c8171cc606ffeb6c0  gcc/testsuite/gcc.dg/cpp/trad/redef1.c
  550c0b4a70f21cc657b0be7ee91a936f  gcc/testsuite/gcc.dg/cpp/trad/redef2.c
  98ee20f87a972bda969b7109dd4c69d2  gcc/testsuite/gcc.dg/cpp/trad/strify.c
! 91ea375d222f41b29fce754f2f91a77e  gcc/testsuite/gcc.dg/cpp/trad/trad.exp
  4934795b44ee5b4d4a100c69ae18a71a  gcc/testsuite/gcc.dg/cpp/trad/uchar.c
  9741e04a76510827749554c1610f8b02  gcc/testsuite/gcc.dg/cpp/trad/xwin1.c
  1cd5384614e3226fa238ee19dd09ecce  gcc/testsuite/gcc.dg/cpp/trigraphs.c
  d7b4ffc23f8ee27cfb9746268dc8bd9e  gcc/testsuite/gcc.dg/cpp/uchar-1.c
  bc5a1f992350d5127dba7dd3a2c34eeb  gcc/testsuite/gcc.dg/cpp/uchar-3.c
  314bb2b38dc4bae0232c871009aca9d2  gcc/testsuite/gcc.dg/cpp/ucs.c
  2f6660fb7a44136cd7d6f03e00eaf8c6  gcc/testsuite/gcc.dg/cpp/unc1.c
  75e68570747fe28398496c4438c1119e  gcc/testsuite/gcc.dg/cpp/unc2.c
--- 15310,15329 ----
  19e5cbd2c36fb20c8171cc606ffeb6c0  gcc/testsuite/gcc.dg/cpp/trad/redef1.c
  550c0b4a70f21cc657b0be7ee91a936f  gcc/testsuite/gcc.dg/cpp/trad/redef2.c
  98ee20f87a972bda969b7109dd4c69d2  gcc/testsuite/gcc.dg/cpp/trad/strify.c
! 9e27141bfcf102672e7a19af12445cc4  gcc/testsuite/gcc.dg/cpp/trad/trad.exp
  4934795b44ee5b4d4a100c69ae18a71a  gcc/testsuite/gcc.dg/cpp/trad/uchar.c
  9741e04a76510827749554c1610f8b02  gcc/testsuite/gcc.dg/cpp/trad/xwin1.c
  1cd5384614e3226fa238ee19dd09ecce  gcc/testsuite/gcc.dg/cpp/trigraphs.c
  d7b4ffc23f8ee27cfb9746268dc8bd9e  gcc/testsuite/gcc.dg/cpp/uchar-1.c
  bc5a1f992350d5127dba7dd3a2c34eeb  gcc/testsuite/gcc.dg/cpp/uchar-3.c
+ ea5ffa5b65a0cc9c97e8135cdb3c56b5  gcc/testsuite/gcc.dg/cpp/ucnid-1.c
+ f7ffbf24fecd2212c050faf7ecc39c17  gcc/testsuite/gcc.dg/cpp/ucnid-2.c
+ 0567938675828fe01ef2620dd6b9e6b8  gcc/testsuite/gcc.dg/cpp/ucnid-3.c
+ c3bdabd48fcea5175fbf421e1fc43cae  gcc/testsuite/gcc.dg/cpp/ucnid-4.c
+ cfc37d453304b69f923f28a82043decf  gcc/testsuite/gcc.dg/cpp/ucnid-5.c
+ e774025e676a5ba24033d7695eb66167  gcc/testsuite/gcc.dg/cpp/ucnid-6.c
+ eb1322fa7df93a3ab6562361480c494a  gcc/testsuite/gcc.dg/cpp/ucnid-7.c
+ c929002061c78e8f6043cebf750b8dc3  gcc/testsuite/gcc.dg/cpp/ucnid-8.c
  314bb2b38dc4bae0232c871009aca9d2  gcc/testsuite/gcc.dg/cpp/ucs.c
  2f6660fb7a44136cd7d6f03e00eaf8c6  gcc/testsuite/gcc.dg/cpp/unc1.c
  75e68570747fe28398496c4438c1119e  gcc/testsuite/gcc.dg/cpp/unc2.c
*************** dbc16aecdd1446c41d23c5c963425d85  gcc/te
*** 16431,16440 ****
  af9b17303a45605cd6cb431be816cfd5  gcc/testsuite/gcc.dg/cris-peep2-xsrand2.c
  7357afe53104958e57d389e7ed8586bf  gcc/testsuite/gcc.dg/darwin-20040809-2.c
  fb2cff7f2512c80434d59d702b80e754  gcc/testsuite/gcc.dg/darwin-20040812-1.c
- 965986b227062a2b8c664c916a71ad45  gcc/testsuite/gcc.dg/darwin-abi-1.c
- f1de6a326b4846750e0ac1ab775db181  gcc/testsuite/gcc.dg/darwin-abi-2.c
- 4b26b2b0c1600f70ab03780a630e9d65  gcc/testsuite/gcc.dg/darwin-bool-1.c
- d898994d2dd12e123fcb756d46aed2c4  gcc/testsuite/gcc.dg/darwin-bool-2.c
  b477cca030ba86435b074a334ee9bfd0  gcc/testsuite/gcc.dg/darwin-ld-1.c
  1745b33fc7805975cb0a5e3a24fe794b  gcc/testsuite/gcc.dg/darwin-ld-2.c
  9fa876cce008f5a8d26340933a0e3295  gcc/testsuite/gcc.dg/darwin-ld-20040809-1.c
--- 15344,15349 ----
*************** fb5a1322bd685744938894a0d61c31cd  gcc/te
*** 16446,16454 ****
  032e2844c36490a1f93ab40ce4e95d5b  gcc/testsuite/gcc.dg/darwin-ld-4.c
  ac166dddd60ee5e26796af85796e8ce4  gcc/testsuite/gcc.dg/darwin-ld-5.c
  dbf81a3c7d5654cf4bb74c0ccaab0664  gcc/testsuite/gcc.dg/darwin-ld-6.c
! e5a3f954e535f339c4a0f35fc50c6302  gcc/testsuite/gcc.dg/darwin-longdouble.c
! f4edf6f97f032d7e2502dd99bd424bb6  gcc/testsuite/gcc.dg/darwin-longlong.c
! 4dbff077cb3e8124197729c3a94647bb  gcc/testsuite/gcc.dg/darwin-misaligned.c
  7cadcc7e6dc4783619a845ca12a12cf0  gcc/testsuite/gcc.dg/darwin-weakimport-1.c
  bda7de2e2fd6472aa3ffe7873407e58d  gcc/testsuite/gcc.dg/darwin-weakimport-2.c
  4e2720fdf9f84481a42dcd33f4b6d7a5  gcc/testsuite/gcc.dg/debug/20000503-1.c
--- 15355,15361 ----
  032e2844c36490a1f93ab40ce4e95d5b  gcc/testsuite/gcc.dg/darwin-ld-4.c
  ac166dddd60ee5e26796af85796e8ce4  gcc/testsuite/gcc.dg/darwin-ld-5.c
  dbf81a3c7d5654cf4bb74c0ccaab0664  gcc/testsuite/gcc.dg/darwin-ld-6.c
! c9bd4478d375a6bea777dcc7c9667d5a  gcc/testsuite/gcc.dg/darwin-version-1.c
  7cadcc7e6dc4783619a845ca12a12cf0  gcc/testsuite/gcc.dg/darwin-weakimport-1.c
  bda7de2e2fd6472aa3ffe7873407e58d  gcc/testsuite/gcc.dg/darwin-weakimport-2.c
  4e2720fdf9f84481a42dcd33f4b6d7a5  gcc/testsuite/gcc.dg/debug/20000503-1.c
*************** f8dfcc31f053d43410e07480789d15b4  gcc/te
*** 16471,16485 ****
  9ec3adcb7773d1be61c3255891c4031e  gcc/testsuite/gcc.dg/debug/debug-5.c
  3a93989c56d211b178b4ce1cb7b8db55  gcc/testsuite/gcc.dg/debug/debug-6.c
  92ca009107fd3047af0ed6bffbcf92f2  gcc/testsuite/gcc.dg/debug/debug-7.c
! 878ca8356deace1140ad27a979da258d  gcc/testsuite/gcc.dg/debug/debug.exp
  900fe69daa3b56214378610d534c3e53  gcc/testsuite/gcc.dg/debug/dwarf2-1.c
  11ce847e7ee7faeafa5ab29db7acd393  gcc/testsuite/gcc.dg/debug/dwarf2-2.c
  b0c60ff09545a99e7a174f8d22cf8c1e  gcc/testsuite/gcc.dg/debug/dwarf2-3.c
  424d1c5712132fa946d29bea292a641c  gcc/testsuite/gcc.dg/debug/dwarf2-3.h
  ed2892bbe639d1358ce1ade41d107602  gcc/testsuite/gcc.dg/debug/dwarf2/c99-typedef1.c
! 46fb9ffee0c9f047d6b3e71585ce5f35  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char1.c
! 813ad40303116f8cb69b9d4cb1ced872  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char2.c
! e57b41f67e615dce330f0aa16e9cec0f  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char3.c
  10e44d7dd167b4e60fd32fd1a44e72de  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c
  9d325b983486c0c9f681be1b34c41934  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c
  e6df03e2a2bc2937b8ef3b822dbd16c9  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c
--- 15378,15392 ----
  9ec3adcb7773d1be61c3255891c4031e  gcc/testsuite/gcc.dg/debug/debug-5.c
  3a93989c56d211b178b4ce1cb7b8db55  gcc/testsuite/gcc.dg/debug/debug-6.c
  92ca009107fd3047af0ed6bffbcf92f2  gcc/testsuite/gcc.dg/debug/debug-7.c
! 9023b8d145ab8f08f4097c610e0a7177  gcc/testsuite/gcc.dg/debug/debug.exp
  900fe69daa3b56214378610d534c3e53  gcc/testsuite/gcc.dg/debug/dwarf2-1.c
  11ce847e7ee7faeafa5ab29db7acd393  gcc/testsuite/gcc.dg/debug/dwarf2-2.c
  b0c60ff09545a99e7a174f8d22cf8c1e  gcc/testsuite/gcc.dg/debug/dwarf2-3.c
  424d1c5712132fa946d29bea292a641c  gcc/testsuite/gcc.dg/debug/dwarf2-3.h
  ed2892bbe639d1358ce1ade41d107602  gcc/testsuite/gcc.dg/debug/dwarf2/c99-typedef1.c
! b189cd1b8304954666b27772172a7cd0  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char1.c
! 8f908ab465ff4e1db8a0e8c86c2ec047  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char2.c
! b6138ba76286fa4b5466891a0fd36ee7  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-char3.c
  10e44d7dd167b4e60fd32fd1a44e72de  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die1.c
  9d325b983486c0c9f681be1b34c41934  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die2.c
  e6df03e2a2bc2937b8ef3b822dbd16c9  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die3.c
*************** e6df03e2a2bc2937b8ef3b822dbd16c9  gcc/te
*** 16488,16496 ****
  c26a8ec1674b11fa2c7fcd00f8c95bc4  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c
  70e1bd8d16df92a5c6cfa80f71734b4e  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c
  b4e0f819c8f05b8accc38cd123db0193  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c
! c8f0a6657275677af4f6d95b665dfa10  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp
  78a17225a8c81693c3c87bb13e008b9a  gcc/testsuite/gcc.dg/debug/dwarf2/var1.c
  01d86a027c3baef8908f88b0c3bfcc31  gcc/testsuite/gcc.dg/debug/dwarf2/var2.c
  e39702ba4ac8cdf1b4d7895fa15c394f  gcc/testsuite/gcc.dg/debug/redecl-1.c
  60c3f3165dda429cbc7646a06969d16c  gcc/testsuite/gcc.dg/debug/redecl-2.c
  175fa916ededdb94d71518eecbe6fa1a  gcc/testsuite/gcc.dg/debug/redecl-3.c
--- 15395,15404 ----
  c26a8ec1674b11fa2c7fcd00f8c95bc4  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-die7.c
  70e1bd8d16df92a5c6cfa80f71734b4e  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf-uninit.c
  b4e0f819c8f05b8accc38cd123db0193  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2-macro.c
! 197f338710933396f3349cfebc2d0a70  gcc/testsuite/gcc.dg/debug/dwarf2/dwarf2.exp
  78a17225a8c81693c3c87bb13e008b9a  gcc/testsuite/gcc.dg/debug/dwarf2/var1.c
  01d86a027c3baef8908f88b0c3bfcc31  gcc/testsuite/gcc.dg/debug/dwarf2/var2.c
+ bdf39999a5a7a4c7b1459600dff4ff14  gcc/testsuite/gcc.dg/debug/pr16676.c
  e39702ba4ac8cdf1b4d7895fa15c394f  gcc/testsuite/gcc.dg/debug/redecl-1.c
  60c3f3165dda429cbc7646a06969d16c  gcc/testsuite/gcc.dg/debug/redecl-2.c
  175fa916ededdb94d71518eecbe6fa1a  gcc/testsuite/gcc.dg/debug/redecl-3.c
*************** e39702ba4ac8cdf1b4d7895fa15c394f  gcc/te
*** 16498,16504 ****
  254c633a62ffa810064e7b3fa3edbc69  gcc/testsuite/gcc.dg/debug/redecl-5.c
  f50cc26d9a41a3cc4afb62032326372f  gcc/testsuite/gcc.dg/debug/trivial.c
  be64d7c4703d0c44c2e31e3b6f869de0  gcc/testsuite/gcc.dg/decl-1.c
! 4c4100ea12c39e52e088c59026f2a0b3  gcc/testsuite/gcc.dg/decl-2.c
  cbe742333783e4511ddd71e632ad3bc5  gcc/testsuite/gcc.dg/decl-3.c
  504c250274162566c4b375ba8b01b60f  gcc/testsuite/gcc.dg/decl-4.c
  f56d6956bbfc1fc3f607c86c096cfbc8  gcc/testsuite/gcc.dg/decl-5.c
--- 15406,15412 ----
  254c633a62ffa810064e7b3fa3edbc69  gcc/testsuite/gcc.dg/debug/redecl-5.c
  f50cc26d9a41a3cc4afb62032326372f  gcc/testsuite/gcc.dg/debug/trivial.c
  be64d7c4703d0c44c2e31e3b6f869de0  gcc/testsuite/gcc.dg/decl-1.c
! 0f70c1d2a90f49c0e5eb98bee36f9bd5  gcc/testsuite/gcc.dg/decl-2.c
  cbe742333783e4511ddd71e632ad3bc5  gcc/testsuite/gcc.dg/decl-3.c
  504c250274162566c4b375ba8b01b60f  gcc/testsuite/gcc.dg/decl-4.c
  f56d6956bbfc1fc3f607c86c096cfbc8  gcc/testsuite/gcc.dg/decl-5.c
*************** e7a119a12e6dfab162c41d080f2ed428  gcc/te
*** 16526,16543 ****
  857dd8cb338d07ed5639106cc8b6f8b2  gcc/testsuite/gcc.dg/declspec-7.c
  7fc4a25735662ab69523b3e905388293  gcc/testsuite/gcc.dg/declspec-8.c
  b224f23157eb7a0a8a4c84cd512d1c7f  gcc/testsuite/gcc.dg/declspec-9.c
  29bda4ed3cdc847c236fc0ef0888e01d  gcc/testsuite/gcc.dg/deprecated-2.c
  6a7682aec25c4be0ec245e7870ae8627  gcc/testsuite/gcc.dg/deprecated-3.c
  4062baa42c16757fb5fd520b858cabe8  gcc/testsuite/gcc.dg/deprecated.c
! e1ab818f4c4b0a8e5a1acd0badfe0239  gcc/testsuite/gcc.dg/dg.exp
  800ebc8c0b6c4581219d124682bd0f28  gcc/testsuite/gcc.dg/divbyzero.c
  7b1a0f2af9f383cb4104555ac526f60a  gcc/testsuite/gcc.dg/dll-1.c
! 41d420bac4049866ec20ba2e74077900  gcc/testsuite/gcc.dg/dll-2.c
! 111906f0df6dc71f6545e26175f31283  gcc/testsuite/gcc.dg/dll-3.c
! 6216a6958f1c6bf7c0e3d1596146354e  gcc/testsuite/gcc.dg/dll-4.c
  01b493f195e18373f433ed480a09f614  gcc/testsuite/gcc.dg/dll-5.c
  fac0248f2c7c75d57c12126d1ea893dc  gcc/testsuite/gcc.dg/dollar.c
- 0fde2e4890bda051e595c55b3efebeee  gcc/testsuite/gcc.dg/doloop-1.c
  2a0f90e764120be6ebd86a1d01676eb8  gcc/testsuite/gcc.dg/doloop-2.c
  efbeda9c3f0c482106667db0a34aa5db  gcc/testsuite/gcc.dg/dremf-type-compat-1.c
  0c666ca71398d4cfdac9e00e282cb6c8  gcc/testsuite/gcc.dg/dremf-type-compat-2.c
--- 15434,15451 ----
  857dd8cb338d07ed5639106cc8b6f8b2  gcc/testsuite/gcc.dg/declspec-7.c
  7fc4a25735662ab69523b3e905388293  gcc/testsuite/gcc.dg/declspec-8.c
  b224f23157eb7a0a8a4c84cd512d1c7f  gcc/testsuite/gcc.dg/declspec-9.c
+ 3016ae80da6e5a215f117a92d2bebb52  gcc/testsuite/gcc.dg/delay-slot-1.c
  29bda4ed3cdc847c236fc0ef0888e01d  gcc/testsuite/gcc.dg/deprecated-2.c
  6a7682aec25c4be0ec245e7870ae8627  gcc/testsuite/gcc.dg/deprecated-3.c
  4062baa42c16757fb5fd520b858cabe8  gcc/testsuite/gcc.dg/deprecated.c
! 4eadb79493c60204dc2ca7ca83b197c5  gcc/testsuite/gcc.dg/dg.exp
  800ebc8c0b6c4581219d124682bd0f28  gcc/testsuite/gcc.dg/divbyzero.c
  7b1a0f2af9f383cb4104555ac526f60a  gcc/testsuite/gcc.dg/dll-1.c
! a81aa947b884ebf4dc575c0af0bdfbbb  gcc/testsuite/gcc.dg/dll-2.c
! 1af526a5b3a279c85fb882000f6b80d4  gcc/testsuite/gcc.dg/dll-3.c
! 7585f58aa36100baf9cd670c3d26bb08  gcc/testsuite/gcc.dg/dll-4.c
  01b493f195e18373f433ed480a09f614  gcc/testsuite/gcc.dg/dll-5.c
  fac0248f2c7c75d57c12126d1ea893dc  gcc/testsuite/gcc.dg/dollar.c
  2a0f90e764120be6ebd86a1d01676eb8  gcc/testsuite/gcc.dg/doloop-2.c
  efbeda9c3f0c482106667db0a34aa5db  gcc/testsuite/gcc.dg/dremf-type-compat-1.c
  0c666ca71398d4cfdac9e00e282cb6c8  gcc/testsuite/gcc.dg/dremf-type-compat-2.c
*************** ef50af421660786db0fe02810452b32f  gcc/te
*** 16565,16570 ****
--- 15473,15489 ----
  69ed1575e1b01f57f9ca40ef702adf25  gcc/testsuite/gcc.dg/float-range-1.c
  f94128eb9e051131d6f3779893016fa9  gcc/testsuite/gcc.dg/float-range-2.c
  929a1f92da326a50b56b5ff9d2cfad9e  gcc/testsuite/gcc.dg/fnegate-1.c
+ 51edd4e8009c4755c73901f93984a0b3  gcc/testsuite/gcc.dg/fold-abs-1.c
+ 2d5bb0a0c7a8f3f6b92bdd7b61dd33e4  gcc/testsuite/gcc.dg/fold-abs-2.c
+ a52786680a3258d0fc5a4a886694f386  gcc/testsuite/gcc.dg/fold-abs-3.c
+ 4ef2b75b94c0ad395b077f1312e0fd68  gcc/testsuite/gcc.dg/fold-abs-4.c
+ 8470a6b91233452e8a47ff4d9398c7f9  gcc/testsuite/gcc.dg/fold-alloca-1.c
+ 3ee918048505f3a0723d07a0b6e97292  gcc/testsuite/gcc.dg/fold-div-1.c
+ 1c10c23dbedf090acdebb3765b67484d  gcc/testsuite/gcc.dg/fold-mod-1.c
+ f2e846c0496b712a5fda495d83358c26  gcc/testsuite/gcc.dg/fold-overflow-1.c
+ 17bc842b9b65743569384beebb3441cc  gcc/testsuite/gcc.dg/fold-xor-1.c
+ 59059375234e3e5cceace83f0ec4f0be  gcc/testsuite/gcc.dg/fold-xor-2.c
+ bad1720c4e6747d46d6013dcd116be52  gcc/testsuite/gcc.dg/for-1.c
  a588621b633b1aa35e6343c5f64a6ca3  gcc/testsuite/gcc.dg/format/array-1.c
  cb6e90df2af2c9a49f9744beaa8ff594  gcc/testsuite/gcc.dg/format/asm_fprintf-1.c
  d08746fc011f2bf3505da2581c4ece74  gcc/testsuite/gcc.dg/format/asm_fprintf-2.c
*************** b64f4136e6df482405341915758a0f06  gcc/te
*** 16600,16606 ****
  6d6b33050d17c85b937b5cceaa2a7dec  gcc/testsuite/gcc.dg/format/c99-scanf-3.c
  5fd0e2d0824e5c5f74e17619668f24d4  gcc/testsuite/gcc.dg/format/c99-strftime-1.c
  1cbc4a0f562f400d1b4cd399fccdaed8  gcc/testsuite/gcc.dg/format/c99-strftime-2.c
! 4e5c30c83235482bc1db89a1fec24a50  gcc/testsuite/gcc.dg/format/cmn-err-1.c
  597c2cef1b33bb71739d311ee56278e3  gcc/testsuite/gcc.dg/format/diag-1.c
  76b3d68f4d248a85562e894eb00f75c7  gcc/testsuite/gcc.dg/format/diag-2.c
  859d88caa1eeeb23ca9b76526b3a4f3e  gcc/testsuite/gcc.dg/format/errmk-1.c
--- 15519,15525 ----
  6d6b33050d17c85b937b5cceaa2a7dec  gcc/testsuite/gcc.dg/format/c99-scanf-3.c
  5fd0e2d0824e5c5f74e17619668f24d4  gcc/testsuite/gcc.dg/format/c99-strftime-1.c
  1cbc4a0f562f400d1b4cd399fccdaed8  gcc/testsuite/gcc.dg/format/c99-strftime-2.c
! 050cfad06ebfa120eb191b21ee40781b  gcc/testsuite/gcc.dg/format/cmn-err-1.c
  597c2cef1b33bb71739d311ee56278e3  gcc/testsuite/gcc.dg/format/diag-1.c
  76b3d68f4d248a85562e894eb00f75c7  gcc/testsuite/gcc.dg/format/diag-2.c
  859d88caa1eeeb23ca9b76526b3a4f3e  gcc/testsuite/gcc.dg/format/errmk-1.c
*************** b64f4136e6df482405341915758a0f06  gcc/te
*** 16610,16618 ****
  5655f9db0b2fb6fea5cd089604c3f009  gcc/testsuite/gcc.dg/format/ext-4.c
  49fe80a2a1fde4f6d66844739b9cdcbf  gcc/testsuite/gcc.dg/format/ext-5.c
  280e9929affa5c28ecacf01249e7f11b  gcc/testsuite/gcc.dg/format/ext-6.c
! 069885d8c5b6ccf3bd47f29cb7b15883  gcc/testsuite/gcc.dg/format/format.exp
  9d2db1f7c1af6b9cecbff01a6fce7a98  gcc/testsuite/gcc.dg/format/format.h
! b4ec3bdfc8a17fe7b0e497191a8fcc0d  gcc/testsuite/gcc.dg/format/gcc_diag-1.c
  d63a56715d277d731b74b926a681d346  gcc/testsuite/gcc.dg/format/gcc_diag-2.c
  50f7e31845ccd23018d92bee32253755  gcc/testsuite/gcc.dg/format/gcc_diag-3.c
  e706cb6063b0523b6e6514e94d8a06fd  gcc/testsuite/gcc.dg/format/gcc_diag-4.c
--- 15529,15537 ----
  5655f9db0b2fb6fea5cd089604c3f009  gcc/testsuite/gcc.dg/format/ext-4.c
  49fe80a2a1fde4f6d66844739b9cdcbf  gcc/testsuite/gcc.dg/format/ext-5.c
  280e9929affa5c28ecacf01249e7f11b  gcc/testsuite/gcc.dg/format/ext-6.c
! 7c99e26f61117a7a0687bb0fe041f398  gcc/testsuite/gcc.dg/format/format.exp
  9d2db1f7c1af6b9cecbff01a6fce7a98  gcc/testsuite/gcc.dg/format/format.h
! 935d31e8ca2dcc071d2700a6a547ba90  gcc/testsuite/gcc.dg/format/gcc_diag-1.c
  d63a56715d277d731b74b926a681d346  gcc/testsuite/gcc.dg/format/gcc_diag-2.c
  50f7e31845ccd23018d92bee32253755  gcc/testsuite/gcc.dg/format/gcc_diag-3.c
  e706cb6063b0523b6e6514e94d8a06fd  gcc/testsuite/gcc.dg/format/gcc_diag-4.c
*************** c8cb72995f1956700320a17f00b09fe0  gcc/te
*** 16621,16628 ****
  25eb4415aebd3904854b23f46f2e60f9  gcc/testsuite/gcc.dg/format/gcc_diag-7.c
  438a4a0f80a4a5555af65265fc2b0f82  gcc/testsuite/gcc.dg/format/gcc_diag-8.c
  7b2ccf5102c8fb0651520983dff4a34c  gcc/testsuite/gcc.dg/format/gcc_diag-9.c
! 2bfe6b8006b13a707b967e17057e7637  gcc/testsuite/gcc.dg/format/miss-1.c
! adc1c3d1b88b20e8dd013a64b91db577  gcc/testsuite/gcc.dg/format/miss-2.c
  00cd55a0640c7ef680f596703d8311b9  gcc/testsuite/gcc.dg/format/multattr-1.c
  390d2a528ba1789fb27ba3a011c170d1  gcc/testsuite/gcc.dg/format/multattr-2.c
  a41798c73aec8fcc8c0bbba8cc6d8637  gcc/testsuite/gcc.dg/format/multattr-3.c
--- 15540,15552 ----
  25eb4415aebd3904854b23f46f2e60f9  gcc/testsuite/gcc.dg/format/gcc_diag-7.c
  438a4a0f80a4a5555af65265fc2b0f82  gcc/testsuite/gcc.dg/format/gcc_diag-8.c
  7b2ccf5102c8fb0651520983dff4a34c  gcc/testsuite/gcc.dg/format/gcc_diag-9.c
! c9a75495b059bb4c65d27962bfa811b9  gcc/testsuite/gcc.dg/format/gcc_gfc-1.c
! d207346e02d9e5f87eb4a85a9f94e906  gcc/testsuite/gcc.dg/format/miss-1.c
! dfc510d0d54c75d9a96eaabdc821e2d6  gcc/testsuite/gcc.dg/format/miss-2.c
! dfbf57a7f9696aa5d616a8fc4228ac10  gcc/testsuite/gcc.dg/format/miss-3.c
! 8a82e077e34ab3ead358190127d9c7a1  gcc/testsuite/gcc.dg/format/miss-4.c
! a86f16a5cef0211d0790d93359d7c7d7  gcc/testsuite/gcc.dg/format/miss-5.c
! 4017a6d6544dbc1095739a5eb5f4c7d8  gcc/testsuite/gcc.dg/format/miss-6.c
  00cd55a0640c7ef680f596703d8311b9  gcc/testsuite/gcc.dg/format/multattr-1.c
  390d2a528ba1789fb27ba3a011c170d1  gcc/testsuite/gcc.dg/format/multattr-2.c
  a41798c73aec8fcc8c0bbba8cc6d8637  gcc/testsuite/gcc.dg/format/multattr-3.c
*************** d487dac917842b7e25f4fc0434c2cbab  gcc/te
*** 16638,16649 ****
  8960bff17a2a9436a85977b6cce4c7d1  gcc/testsuite/gcc.dg/format/opt-3.c
  ae19a1cb6faf6cc1d3d8addd09a17b52  gcc/testsuite/gcc.dg/format/opt-4.c
  c91ed06005d57efb19a9639ac83e4d94  gcc/testsuite/gcc.dg/format/opt-5.c
- 8c430efa2fc8d3c7fec3e12f6036d6ee  gcc/testsuite/gcc.dg/format/opt-6.c
  a5e5757327ee9e4157e7c1abee28e939  gcc/testsuite/gcc.dg/format/plus-1.c
  8e4de68e496a28c03b2a9a568280143e  gcc/testsuite/gcc.dg/format/sec-1.c
  5ed5d3fb676570784b162b14d8fad103  gcc/testsuite/gcc.dg/format/sentinel-1.c
  a5646814dd913a529583463f2ec601f9  gcc/testsuite/gcc.dg/format/strfmon-1.c
  0580b4faa6d69e15b3dbd3564bef3b03  gcc/testsuite/gcc.dg/format/strfmon-2.c
  96c511d7514c3e9a59f36399a27e37c2  gcc/testsuite/gcc.dg/format/va-1.c
  24f35f900d41b5f6d0a7f00b75e01677  gcc/testsuite/gcc.dg/format/warnll-1.c
  bbf547838099a8bba46af1adcf879d70  gcc/testsuite/gcc.dg/format/xopen-1.c
--- 15562,15573 ----
  8960bff17a2a9436a85977b6cce4c7d1  gcc/testsuite/gcc.dg/format/opt-3.c
  ae19a1cb6faf6cc1d3d8addd09a17b52  gcc/testsuite/gcc.dg/format/opt-4.c
  c91ed06005d57efb19a9639ac83e4d94  gcc/testsuite/gcc.dg/format/opt-5.c
  a5e5757327ee9e4157e7c1abee28e939  gcc/testsuite/gcc.dg/format/plus-1.c
  8e4de68e496a28c03b2a9a568280143e  gcc/testsuite/gcc.dg/format/sec-1.c
  5ed5d3fb676570784b162b14d8fad103  gcc/testsuite/gcc.dg/format/sentinel-1.c
  a5646814dd913a529583463f2ec601f9  gcc/testsuite/gcc.dg/format/strfmon-1.c
  0580b4faa6d69e15b3dbd3564bef3b03  gcc/testsuite/gcc.dg/format/strfmon-2.c
+ c0d7348b8aed9c4969489c5c331b9bf6  gcc/testsuite/gcc.dg/format/unnamed-1.c
  96c511d7514c3e9a59f36399a27e37c2  gcc/testsuite/gcc.dg/format/va-1.c
  24f35f900d41b5f6d0a7f00b75e01677  gcc/testsuite/gcc.dg/format/warnll-1.c
  bbf547838099a8bba46af1adcf879d70  gcc/testsuite/gcc.dg/format/xopen-1.c
*************** bde0d019810a1853c8bba7305e5cdc00  gcc/te
*** 16652,16657 ****
--- 15576,15582 ----
  9cccf2449cd2882429b016b7cde82358  gcc/testsuite/gcc.dg/format/z-1.c
  cfde414df06a7d559244461a11116f3a  gcc/testsuite/gcc.dg/format/zero-length-1.c
  d898bf53f3f67a85e6b6dbbffeb5c0eb  gcc/testsuite/gcc.dg/framework-1.c
+ c516a1e9b28eacb56a441a02cfa93740  gcc/testsuite/gcc.dg/framework-2.c
  2f670a43e60d26a733d4715d03da2e50  gcc/testsuite/gcc.dg/fshort-wchar.c
  fc8aab2b77096404ffea331358223da8  gcc/testsuite/gcc.dg/ftrapv-1.c
  eb515f51738ea7e66a74bba30c07d288  gcc/testsuite/gcc.dg/ftrapv-2.c
*************** e488893b50fec3458ff941b969c6a3ee  gcc/te
*** 16678,16772 ****
  306ad5770d3a79444ba33c00e4c255bd  gcc/testsuite/gcc.dg/h8300-bss-align-1.c
  6e57534496a3cfbfa660bddc011efbc3  gcc/testsuite/gcc.dg/h8300-ice2.c
  a79e7852cdc3a2591178e5ebb62a3a3b  gcc/testsuite/gcc.dg/h8300-stack-1.c
! 8a5d4473d2a66628b50d50b8731d4b68  gcc/testsuite/gcc.dg/i386-387-1.c
! 987fe4ef921b39e7da8928ea8f087b2d  gcc/testsuite/gcc.dg/i386-387-2.c
! ccb04824f32e9cba7644d11b7b89fb51  gcc/testsuite/gcc.dg/i386-387-3.c
! 8876893048f8137a77ac809663e4a23f  gcc/testsuite/gcc.dg/i386-387-4.c
! 77b7f7c16aac082c57d3dbf4d5a68284  gcc/testsuite/gcc.dg/i386-387-5.c
! eb20102f7f0b1e64c673bd065cd8535d  gcc/testsuite/gcc.dg/i386-387-6.c
! b1e95a80199ce6feff2da9fdcf7908b2  gcc/testsuite/gcc.dg/i386-387-7.c
! 2054142c61f9466ef53ec5840d583dd8  gcc/testsuite/gcc.dg/i386-387-8.c
! c4085c002b989e3f1f2391d00f40b148  gcc/testsuite/gcc.dg/i386-3dnow-1.c
! 2016733ed3862062c666d6bb504d1aec  gcc/testsuite/gcc.dg/i386-3dnow-2.c
! b13460dd87bea414b8d9ddd2cb8ae1c5  gcc/testsuite/gcc.dg/i386-3dnowA-1.c
! 9132473c2917ead29dac67b9367f61f2  gcc/testsuite/gcc.dg/i386-3dnowA-2.c
! b2d8d9021d3cfccc5bf2437bdf514f61  gcc/testsuite/gcc.dg/i386-asm-1.c
! 1a93a48bad214c4f6ddb276c193b6069  gcc/testsuite/gcc.dg/i386-asm-2.c
! f7e69590a81efcdd5d6a407639ed6df0  gcc/testsuite/gcc.dg/i386-asm-3.c
! 71645b4660c5eecfd2fc6aaf83382f14  gcc/testsuite/gcc.dg/i386-asm-4.c
! df5a12e4349baa3d4f353168b3303c35  gcc/testsuite/gcc.dg/i386-bitfield1.c
! 5671a9b2941994f1318942fda0b93741  gcc/testsuite/gcc.dg/i386-bitfield2.c
! 6e6ebd0a09bf61e285f83521af020c0d  gcc/testsuite/gcc.dg/i386-bitfield3.c
! 62610903f90b410c6c36801586295ccb  gcc/testsuite/gcc.dg/i386-cadd.c
! 61b0d88a314f12bf337cb915061c7976  gcc/testsuite/gcc.dg/i386-call-1.c
! c45ef302de0c5b96161307a4b16c2247  gcc/testsuite/gcc.dg/i386-cmov1.c
! e06749d5edd11f83ba59a8f8d7aa0454  gcc/testsuite/gcc.dg/i386-cmov2.c
! 9c988e8f80893c6aa6d8fcf82fac62b5  gcc/testsuite/gcc.dg/i386-cmov3.c
! 3a12627557fe1036e31bd56326aa80b1  gcc/testsuite/gcc.dg/i386-cmov4.c
! a747cf9fefb0f5eb3f463204001dd748  gcc/testsuite/gcc.dg/i386-cmov5.c
  8fbf913b2f49d066d10eb5c2f7aa5071  gcc/testsuite/gcc.dg/i386-cpuid.h
! 8ca24bc1432c09b4cd565c4c86866351  gcc/testsuite/gcc.dg/i386-cvt-1.c
! 435fa0160dadb67b6f727e49f094dddf  gcc/testsuite/gcc.dg/i386-fastcall-1.c
! 7ff2a6b4786a6bd60d920c119b4c921f  gcc/testsuite/gcc.dg/i386-fpcvt-1.c
! d00ec27a282186715b068226b132b18b  gcc/testsuite/gcc.dg/i386-fpcvt-2.c
! 34d3f00f44694da3c16d49e8e6ce3e5f  gcc/testsuite/gcc.dg/i386-fpcvt-3.c
! 659dda33ca796bf1fb09c16c9dedd808  gcc/testsuite/gcc.dg/i386-fpcvt-4.c
! 48d31a795ac8363c32dce39c317a0c6a  gcc/testsuite/gcc.dg/i386-local.c
! 6335d2472b34d72b4a46933ea69a1909  gcc/testsuite/gcc.dg/i386-local2.c
! adec65b1f2dd4e0b83af3a712284aa14  gcc/testsuite/gcc.dg/i386-loop-1.c
! 97998268320ac3a3db570a4ef037bf79  gcc/testsuite/gcc.dg/i386-loop-2.c
! f540e0978d5c30aee79ec064d57638a5  gcc/testsuite/gcc.dg/i386-loop-3.c
! 1aeaf17fcbe9b7ad3129e8810bc3e7dd  gcc/testsuite/gcc.dg/i386-memset-1.c
! 3b7138af69003b3a663e5d092a389196  gcc/testsuite/gcc.dg/i386-mmx-1.c
! caa00f3827f7f7b8727193aa4fbeb02b  gcc/testsuite/gcc.dg/i386-mmx-2.c
! 04db03897e9e2ec2bfff446584f519f7  gcc/testsuite/gcc.dg/i386-mmx-3.c
! 3390229d27120dc38643c3bf8da71978  gcc/testsuite/gcc.dg/i386-mmx-4.c
! efa31b336ed2ed8943f9de44758bdfb2  gcc/testsuite/gcc.dg/i386-mmx-5.c
! 2b7c4e83255a2dcee59a97597d2135d3  gcc/testsuite/gcc.dg/i386-mmx-6.c
! f0ba3e93aa45e0ba1fc7e7649f512b32  gcc/testsuite/gcc.dg/i386-mul.c
! 036f7c5de5eff64b30eff402883aae65  gcc/testsuite/gcc.dg/i386-pentium4-not-mull.c
! 1eb059a463b3773e7a22e26b14bb93e5  gcc/testsuite/gcc.dg/i386-pic-1.c
! 495ab32e4c822ea6e5519928338f19fa  gcc/testsuite/gcc.dg/i386-regparm.c
! 51aca2178b5ab93c7b6438c65394c512  gcc/testsuite/gcc.dg/i386-rotate-1.c
! 801f023205b1804ca5d8ef7758cf82f8  gcc/testsuite/gcc.dg/i386-signbit-1.c
! 56516bf2058e6cdd42f13bdff14807c4  gcc/testsuite/gcc.dg/i386-signbit-2.c
! 1eec2e86c24fcefe7e97817299331b18  gcc/testsuite/gcc.dg/i386-signbit-3.c
! 93931d968ce7a742e6a92420704ca0a9  gcc/testsuite/gcc.dg/i386-sse-1.c
! d3479d9362aa2c7e626ad583d628ab37  gcc/testsuite/gcc.dg/i386-sse-10.c
! 62a50d22374724fd874e23f4347e59e3  gcc/testsuite/gcc.dg/i386-sse-11.c
! 43752ec480bcb1c867626cde6dd600e0  gcc/testsuite/gcc.dg/i386-sse-12.c
! a14a3c5452af0f0c3fd3aa461c361ce4  gcc/testsuite/gcc.dg/i386-sse-2.c
! b9e2808a3a55b726edac71f79691878b  gcc/testsuite/gcc.dg/i386-sse-3.c
! 8926e53f233d04982e0bc8af7fb5cdcd  gcc/testsuite/gcc.dg/i386-sse-4.c
! 0b463f69f66dbdf3a57e675368e1bf28  gcc/testsuite/gcc.dg/i386-sse-5.c
! e764b0a52254a314e13525b02da9d209  gcc/testsuite/gcc.dg/i386-sse-6.c
! b8e77d47fa4ad03148d6bc366a2ec85d  gcc/testsuite/gcc.dg/i386-sse-7.c
! e28ac0d2d3767e3c69e6cd6341c3cbda  gcc/testsuite/gcc.dg/i386-sse-8.c
! 355584ae88a324da127f545a4cbc7e60  gcc/testsuite/gcc.dg/i386-sse-9.c
! bd10201e011063d5ac5e0bec82308ad0  gcc/testsuite/gcc.dg/i386-ssefp-1.c
! ea3d1ca3cab5c41ace70db628397c752  gcc/testsuite/gcc.dg/i386-ssefp-2.c
! 751ac4a7f2fc7baaf6798fd6b2668791  gcc/testsuite/gcc.dg/i386-ssetype-1.c
! f0c62ee7d319e56cb75bc857ffbf1485  gcc/testsuite/gcc.dg/i386-ssetype-2.c
! d03160da6a45e50d98b0c10e11501fc4  gcc/testsuite/gcc.dg/i386-ssetype-3.c
! 5f393f414c97d158b6bd7f1f91da4e1c  gcc/testsuite/gcc.dg/i386-ssetype-4.c
! e92425fe71067135bfb59ec89af690ee  gcc/testsuite/gcc.dg/i386-ssetype-5.c
! 27dd6220b6a9da176cfc22e1c02b716b  gcc/testsuite/gcc.dg/i386-unroll-1.c
! 8e8c7085bb4fae50e165fbbd6c898363  gcc/testsuite/gcc.dg/i386-volatile-1.c
! e56a382a4199efce71e67134ed666318  gcc/testsuite/gcc.dg/ia64-asm-1.c
! df758ac7986976188ce8f8cd5d23c1d1  gcc/testsuite/gcc.dg/ia64-float80-1.c
! b04dc0d97b7e80f66778c7dd17ee2dd6  gcc/testsuite/gcc.dg/ia64-float80-2.c
! 63f588b7006421f94d3e65d225e169dd  gcc/testsuite/gcc.dg/ia64-fptr-1.c
! 0b4abd1e38e174b30822203e15e76489  gcc/testsuite/gcc.dg/ia64-got-1.c
! a62cf38032b96262859f5da756089e07  gcc/testsuite/gcc.dg/ia64-postinc.c
! adef35bfc865124eadc337db7e1a8d0c  gcc/testsuite/gcc.dg/ia64-sync-1.c
! c4a51210022f99e211235fb8434af350  gcc/testsuite/gcc.dg/ia64-sync-2.c
! 408b1c4784752384d0a7527d88bb47bf  gcc/testsuite/gcc.dg/ia64-sync-3.c
! c95cb087b6b80844f02181e3b6321460  gcc/testsuite/gcc.dg/ia64-sync-4.c
! d3b8fc8ddcf2655e363124ef946fbf85  gcc/testsuite/gcc.dg/ia64-types1.c
! e7cfcf35d3576cc348fad814806318e1  gcc/testsuite/gcc.dg/ia64-types2.c
! 83e05e55312e94542e704d4c1106ecc7  gcc/testsuite/gcc.dg/ia64-visibility-1.c
! ab4a753420c7cc112326b8711285358c  gcc/testsuite/gcc.dg/ia64-visibility-2.c
  4e832182620dc07327ef3626bcd3ee61  gcc/testsuite/gcc.dg/if-empty-1.c
  9a6101d4463140bd764616fe8d813f87  gcc/testsuite/gcc.dg/ifelse-1.c
  f81ed0f9918056ceff358d434a6eda9e  gcc/testsuite/gcc.dg/iftrap-1.c
  7cb2a20e34dc997b07525367fa102d52  gcc/testsuite/gcc.dg/iftrap-2.c
--- 15603,15618 ----
  306ad5770d3a79444ba33c00e4c255bd  gcc/testsuite/gcc.dg/h8300-bss-align-1.c
  6e57534496a3cfbfa660bddc011efbc3  gcc/testsuite/gcc.dg/h8300-ice2.c
  a79e7852cdc3a2591178e5ebb62a3a3b  gcc/testsuite/gcc.dg/h8300-stack-1.c
! 47a19efbf7957f2fc0bb31a641354fe3  gcc/testsuite/gcc.dg/hex-round-1.c
! beabf14243b2b65800f0733144ef725e  gcc/testsuite/gcc.dg/hex-round-2.c
  8fbf913b2f49d066d10eb5c2f7aa5071  gcc/testsuite/gcc.dg/i386-cpuid.h
! 58fd94cd5ec0af1baeb2e221c3acb8e4  gcc/testsuite/gcc.dg/i386-darwin-fpmath.c
! ca11efbcdecdb2d63172e5a2836c46e4  gcc/testsuite/gcc.dg/ia64-sync-1.c
! 149280250e00f3daa710250f372e305f  gcc/testsuite/gcc.dg/ia64-sync-2.c
! 39369691ef76406cd7b5f819e667e305  gcc/testsuite/gcc.dg/ia64-sync-3.c
! 0dd0c8c8e7be4157de425b5584f7643a  gcc/testsuite/gcc.dg/ia64-sync-4.c
  4e832182620dc07327ef3626bcd3ee61  gcc/testsuite/gcc.dg/if-empty-1.c
+ fc4f093c750b33d94c4024ccddce51f1  gcc/testsuite/gcc.dg/ifcvt-fabs-1.c
  9a6101d4463140bd764616fe8d813f87  gcc/testsuite/gcc.dg/ifelse-1.c
  f81ed0f9918056ceff358d434a6eda9e  gcc/testsuite/gcc.dg/iftrap-1.c
  7cb2a20e34dc997b07525367fa102d52  gcc/testsuite/gcc.dg/iftrap-2.c
*************** ea26630511a88f6cdfd2d60327ad7f87  gcc/te
*** 16788,16794 ****
  cd7b23f998c4e684edd54b5be0d375c8  gcc/testsuite/gcc.dg/inline-10.c
  7e270596603885c58bc51c47a8f81bb4  gcc/testsuite/gcc.dg/inline-11.c
  dd980e8d1b2fc8e29cbdca79bf80654b  gcc/testsuite/gcc.dg/inline-12.c
! 9a081c1626552c4ca7f50365dd0ed143  gcc/testsuite/gcc.dg/inline-2.c
  0d148a8ae5d6d0bf0c63f003d6e28afc  gcc/testsuite/gcc.dg/inline-3.c
  2eed98dfcc022044e610af32e1c937c1  gcc/testsuite/gcc.dg/inline-4.c
  7fc691c96ff167ea4acaf530fdfd717a  gcc/testsuite/gcc.dg/inline-5.c
--- 15634,15640 ----
  cd7b23f998c4e684edd54b5be0d375c8  gcc/testsuite/gcc.dg/inline-10.c
  7e270596603885c58bc51c47a8f81bb4  gcc/testsuite/gcc.dg/inline-11.c
  dd980e8d1b2fc8e29cbdca79bf80654b  gcc/testsuite/gcc.dg/inline-12.c
! 68209f034d6fe338992e3720e2359a80  gcc/testsuite/gcc.dg/inline-2.c
  0d148a8ae5d6d0bf0c63f003d6e28afc  gcc/testsuite/gcc.dg/inline-3.c
  2eed98dfcc022044e610af32e1c937c1  gcc/testsuite/gcc.dg/inline-4.c
  7fc691c96ff167ea4acaf530fdfd717a  gcc/testsuite/gcc.dg/inline-5.c
*************** ba66b4f621efcd9fab8ee6d7a3de2f82  gcc/te
*** 16797,16816 ****
  7f3f5523867eedca587232b3a2536214  gcc/testsuite/gcc.dg/inline-8.c
  3b15751f8660e124f17901067d32e2d0  gcc/testsuite/gcc.dg/inline-9.c
  3b71d58f6f91b3461b4b7dd424cb4fe1  gcc/testsuite/gcc.dg/inline-mcpy.c
  a481d0a49a4bf2aa98254e8df226bcd5  gcc/testsuite/gcc.dg/intermod-1.c
! 5e2f54e74fe86f9ee273f2a7396cdc5e  gcc/testsuite/gcc.dg/intmax_t-1.c
  8f5983946d28dca5853e89d0aa48b65d  gcc/testsuite/gcc.dg/kpice1.c
  0869783fa95b6864d6ee55773e4a5f4b  gcc/testsuite/gcc.dg/label-compound-stmt-1.c
  5889b44433f78c24461521fc230e9346  gcc/testsuite/gcc.dg/label-decl-1.c
  c0e78df24f77e92ad5b9cb0808778c9f  gcc/testsuite/gcc.dg/label-decl-2.c
  51f9d0596a8219a81f4e562e99d6567c  gcc/testsuite/gcc.dg/label-decl-3.c
  d4e500abbaab94e2aa8034e74b2020c1  gcc/testsuite/gcc.dg/label-decl-4.c
  a1511014730573ca08fa055a4f00aa75  gcc/testsuite/gcc.dg/lazy-ptr-test.c
  a2385eedd735afde625296ec7c33f79d  gcc/testsuite/gcc.dg/local1.c
  76f69a190953ccd863754decb53a410c  gcc/testsuite/gcc.dg/long-long-typespec-1.c
  bf870f767c6be672a0cfc990dd97f936  gcc/testsuite/gcc.dg/loop-1.c
  6b5237c8148a38f20728981213824d52  gcc/testsuite/gcc.dg/loop-2.c
! 4b4eb72a3ae82e479b365a414889045b  gcc/testsuite/gcc.dg/loop-3.c
  bdd0de0807674c3312a2a9e4ff914e19  gcc/testsuite/gcc.dg/loop-4.c
  a73ede53a12274bacc5436575ebb14b9  gcc/testsuite/gcc.dg/loop-5.c
  46248b6e3d3fc518ebd99c80a4e3053d  gcc/testsuite/gcc.dg/loop-6.c
--- 15643,15674 ----
  7f3f5523867eedca587232b3a2536214  gcc/testsuite/gcc.dg/inline-8.c
  3b15751f8660e124f17901067d32e2d0  gcc/testsuite/gcc.dg/inline-9.c
  3b71d58f6f91b3461b4b7dd424cb4fe1  gcc/testsuite/gcc.dg/inline-mcpy.c
+ 726fd4087ae27dde062ccdf320e5e0c9  gcc/testsuite/gcc.dg/inline1.c
+ 6a6c3d2d4182c16e1ccbe3b6daa5fdf3  gcc/testsuite/gcc.dg/inline2.c
+ a35d7b9c7a32643f55dc55de37a2ffe7  gcc/testsuite/gcc.dg/inline3.c
+ 380fcebac8f15b8bddc2f13b29ee09c9  gcc/testsuite/gcc.dg/inline4.c
+ 3fc2f8aaf32f57b82dcc519d36048f8c  gcc/testsuite/gcc.dg/inline5.c
  a481d0a49a4bf2aa98254e8df226bcd5  gcc/testsuite/gcc.dg/intermod-1.c
! 3eeeb51d077e04dbca19d5a1b8e56c3f  gcc/testsuite/gcc.dg/intmax_t-1.c
! 755bcd4b96fa788e03a7b69636a4fc16  gcc/testsuite/gcc.dg/ipa/ipa-1.c
! c64104c3f69c7c865594c4be4f558f39  gcc/testsuite/gcc.dg/ipa/ipa-2.c
! 1863796a5364e10d009d125f90ab7d2c  gcc/testsuite/gcc.dg/ipa/ipa-3.c
! 0f5e098e9ec2aeff20db4ad6ba8e0d71  gcc/testsuite/gcc.dg/ipa/ipa-4.c
! 77acd4a9c5788f1fc525a1ab15b01d54  gcc/testsuite/gcc.dg/ipa/ipa-5.c
! 35f2c8e4237188aea3af1442422e40d0  gcc/testsuite/gcc.dg/ipa/ipa.exp
  8f5983946d28dca5853e89d0aa48b65d  gcc/testsuite/gcc.dg/kpice1.c
  0869783fa95b6864d6ee55773e4a5f4b  gcc/testsuite/gcc.dg/label-compound-stmt-1.c
  5889b44433f78c24461521fc230e9346  gcc/testsuite/gcc.dg/label-decl-1.c
  c0e78df24f77e92ad5b9cb0808778c9f  gcc/testsuite/gcc.dg/label-decl-2.c
  51f9d0596a8219a81f4e562e99d6567c  gcc/testsuite/gcc.dg/label-decl-3.c
  d4e500abbaab94e2aa8034e74b2020c1  gcc/testsuite/gcc.dg/label-decl-4.c
+ 8b84904c2e80dc5c4389ac11dd7dd67f  gcc/testsuite/gcc.dg/large-size-array.c
  a1511014730573ca08fa055a4f00aa75  gcc/testsuite/gcc.dg/lazy-ptr-test.c
  a2385eedd735afde625296ec7c33f79d  gcc/testsuite/gcc.dg/local1.c
  76f69a190953ccd863754decb53a410c  gcc/testsuite/gcc.dg/long-long-typespec-1.c
  bf870f767c6be672a0cfc990dd97f936  gcc/testsuite/gcc.dg/loop-1.c
  6b5237c8148a38f20728981213824d52  gcc/testsuite/gcc.dg/loop-2.c
! 79308f9a3b9379f6af4a207543ffec8a  gcc/testsuite/gcc.dg/loop-3.c
  bdd0de0807674c3312a2a9e4ff914e19  gcc/testsuite/gcc.dg/loop-4.c
  a73ede53a12274bacc5436575ebb14b9  gcc/testsuite/gcc.dg/loop-5.c
  46248b6e3d3fc518ebd99c80a4e3053d  gcc/testsuite/gcc.dg/loop-6.c
*************** a73ede53a12274bacc5436575ebb14b9  gcc/te
*** 16820,16845 ****
  7b992eada8877ee8824bb9e72763ee9e  gcc/testsuite/gcc.dg/m-un-1.c
  ae5e128d38c894fe5bcf75aed6f5546b  gcc/testsuite/gcc.dg/m-un-2.c
  64801a5d12a7d876eb9fc0407fd9af8f  gcc/testsuite/gcc.dg/m68k-slp-ice.c
- 95f0a3ed470b480e62e5510f13cd33b8  gcc/testsuite/gcc.dg/macho-lo-sum.c
  6c7bd436d731585b7a3f556666248907  gcc/testsuite/gcc.dg/max-1.c
- 1675f630ed3c3d090f954e79eaacb2d9  gcc/testsuite/gcc.dg/mips-args-1.c
- 6124b4348c745d0efeb098840dce4662  gcc/testsuite/gcc.dg/mips-args-2.c
- f6ff805550ed7f64b05cf1735dcc76dc  gcc/testsuite/gcc.dg/mips-args-3.c
- 467530ff2fd46b82837f93b3c123f7ea  gcc/testsuite/gcc.dg/mips-movcc-1.c
- 3c209c6d85a9e20c8c35f8c5a9b83a65  gcc/testsuite/gcc.dg/mips-movcc-2.c
- 72f83b512efadaeae37c92db2b65e339  gcc/testsuite/gcc.dg/mips-movcc-3.c
- 6de3a4ef8e6687c0d5aaa63f526d2358  gcc/testsuite/gcc.dg/mips-nmadd-1.c
- 4ce6744358791c172a7b1bd3db695123  gcc/testsuite/gcc.dg/mips-nmadd-2.c
- b101141768f6dcf7b7f80890cb665310  gcc/testsuite/gcc.dg/mips-rsqrt-1.c
- 145bbd3d0be004e42678a22dd7c6aac4  gcc/testsuite/gcc.dg/mips-rsqrt-2.c
- 7706d10ca5462b2cfdc97ec0136cd359  gcc/testsuite/gcc.dg/mips-rsqrt-3.c
  92c08397a16ba624a215e17607fb2894  gcc/testsuite/gcc.dg/missing-field-init-1.c
  e1cb7062c47b129b4dff03b478e4b464  gcc/testsuite/gcc.dg/missing-field-init-2.c
  a9d25b005316d831dbd591be8a92f08e  gcc/testsuite/gcc.dg/mmix-1.c
! e406c08de9d558aef66845fd4deb8afb  gcc/testsuite/gcc.dg/nest.c
  508d0e520bb34714b62f8853deac63f1  gcc/testsuite/gcc.dg/nested-func-1.c
  09b5bf76a67802372892a2a1af9d82b2  gcc/testsuite/gcc.dg/nested-func-2.c
  1d418366de6bac7d145957766d7596ca  gcc/testsuite/gcc.dg/nested-func-3.c
  e31bab399a369cb3c8b952d737320421  gcc/testsuite/gcc.dg/nested-redef-1.c
  a3a18f288ff9a907cedfa89231e2d3e8  gcc/testsuite/gcc.dg/non-lazy-ptr-test.c
  4f833676228422b784109abf08d14bb2  gcc/testsuite/gcc.dg/noncompile/20000901-1.c
--- 15678,15693 ----
  7b992eada8877ee8824bb9e72763ee9e  gcc/testsuite/gcc.dg/m-un-1.c
  ae5e128d38c894fe5bcf75aed6f5546b  gcc/testsuite/gcc.dg/m-un-2.c
  64801a5d12a7d876eb9fc0407fd9af8f  gcc/testsuite/gcc.dg/m68k-slp-ice.c
  6c7bd436d731585b7a3f556666248907  gcc/testsuite/gcc.dg/max-1.c
  92c08397a16ba624a215e17607fb2894  gcc/testsuite/gcc.dg/missing-field-init-1.c
  e1cb7062c47b129b4dff03b478e4b464  gcc/testsuite/gcc.dg/missing-field-init-2.c
  a9d25b005316d831dbd591be8a92f08e  gcc/testsuite/gcc.dg/mmix-1.c
! 61609ff3cb864155396f50525bcaf7f7  gcc/testsuite/gcc.dg/nest.c
! 7d1cace88293334af02c4693311cbfba  gcc/testsuite/gcc.dg/nested-calls-1.c
  508d0e520bb34714b62f8853deac63f1  gcc/testsuite/gcc.dg/nested-func-1.c
  09b5bf76a67802372892a2a1af9d82b2  gcc/testsuite/gcc.dg/nested-func-2.c
  1d418366de6bac7d145957766d7596ca  gcc/testsuite/gcc.dg/nested-func-3.c
+ 7475908a5a24eebf9eda25debe390564  gcc/testsuite/gcc.dg/nested-func-4.c
  e31bab399a369cb3c8b952d737320421  gcc/testsuite/gcc.dg/nested-redef-1.c
  a3a18f288ff9a907cedfa89231e2d3e8  gcc/testsuite/gcc.dg/non-lazy-ptr-test.c
  4f833676228422b784109abf08d14bb2  gcc/testsuite/gcc.dg/noncompile/20000901-1.c
*************** ae4bbb0e37fbefdbb9ec9ce5946463ca  gcc/te
*** 16854,16860 ****
  b5076a05f012d9662ba39a0ac14be746  gcc/testsuite/gcc.dg/noncompile/20030818-1.c
  2a95e7e5c29b3ea69b58b0b8389e2e98  gcc/testsuite/gcc.dg/noncompile/20040203-1.c
  23accaa8989bbdbb3f7458fbf289b8cb  gcc/testsuite/gcc.dg/noncompile/20040203-2.c
! e9b62c3029e419a65c52aee39c94c07f  gcc/testsuite/gcc.dg/noncompile/20040203-3.c
  8858e7f1487cac2c86534be9f4b921bb  gcc/testsuite/gcc.dg/noncompile/20040629-1.c
  958308556b798e351e6a5d0af5942992  gcc/testsuite/gcc.dg/noncompile/20041207.c
  ef5fde5339e9ff5daf97ab74642d2559  gcc/testsuite/gcc.dg/noncompile/20050120-1.c
--- 15702,15708 ----
  b5076a05f012d9662ba39a0ac14be746  gcc/testsuite/gcc.dg/noncompile/20030818-1.c
  2a95e7e5c29b3ea69b58b0b8389e2e98  gcc/testsuite/gcc.dg/noncompile/20040203-1.c
  23accaa8989bbdbb3f7458fbf289b8cb  gcc/testsuite/gcc.dg/noncompile/20040203-2.c
! dde1f3f6c811125b3f80b165b8f35ae0  gcc/testsuite/gcc.dg/noncompile/20040203-3.c
  8858e7f1487cac2c86534be9f4b921bb  gcc/testsuite/gcc.dg/noncompile/20040629-1.c
  958308556b798e351e6a5d0af5942992  gcc/testsuite/gcc.dg/noncompile/20041207.c
  ef5fde5339e9ff5daf97ab74642d2559  gcc/testsuite/gcc.dg/noncompile/20050120-1.c
*************** ef5fde5339e9ff5daf97ab74642d2559  gcc/te
*** 16862,16868 ****
  32bd5c77840218881e90c0b5b33c8f82  gcc/testsuite/gcc.dg/noncompile/920616-2.c
  4c5ea3fc28acc054cda8c446430e0e59  gcc/testsuite/gcc.dg/noncompile/920721-2.c
  f53be9e609bc996b982825ce79df3595  gcc/testsuite/gcc.dg/noncompile/920824-1.c
! d453c1bf36b5c3979d6d4c3aeb411173  gcc/testsuite/gcc.dg/noncompile/920923-1.c
  90c7d00d1461ffe10b144b3e6c1aed26  gcc/testsuite/gcc.dg/noncompile/921102-1.c
  a8666066c64e2d7e4bc38901216fc0e7  gcc/testsuite/gcc.dg/noncompile/921116-1.c
  7f527f53791f41ffa467060407c744b5  gcc/testsuite/gcc.dg/noncompile/930301-1.c
--- 15710,15716 ----
  32bd5c77840218881e90c0b5b33c8f82  gcc/testsuite/gcc.dg/noncompile/920616-2.c
  4c5ea3fc28acc054cda8c446430e0e59  gcc/testsuite/gcc.dg/noncompile/920721-2.c
  f53be9e609bc996b982825ce79df3595  gcc/testsuite/gcc.dg/noncompile/920824-1.c
! 2b5a623373be56234a63f742e97f1977  gcc/testsuite/gcc.dg/noncompile/920923-1.c
  90c7d00d1461ffe10b144b3e6c1aed26  gcc/testsuite/gcc.dg/noncompile/921102-1.c
  a8666066c64e2d7e4bc38901216fc0e7  gcc/testsuite/gcc.dg/noncompile/921116-1.c
  7f527f53791f41ffa467060407c744b5  gcc/testsuite/gcc.dg/noncompile/930301-1.c
*************** bb9595bf2e497e6d454d1b8261c86d24  gcc/te
*** 16875,16882 ****
  39f8f804cf9cf24b994cf574d8bf12c3  gcc/testsuite/gcc.dg/noncompile/950825-1.c
  25ab334d6aa318dae134a72cbcfac5b3  gcc/testsuite/gcc.dg/noncompile/950921-1.c
  81ad5d337efd81a581d6fe846ab908fe  gcc/testsuite/gcc.dg/noncompile/951123-1.c
! e5491d899dfe5d73a3e69819c32f9e91  gcc/testsuite/gcc.dg/noncompile/971104-1.c
! aba012e77e8d117e4b82c0d2ec39ba39  gcc/testsuite/gcc.dg/noncompile/990416-1.c
  1b2bc08a1a268520d0499de7a83200fa  gcc/testsuite/gcc.dg/noncompile/const-ll-1.c
  759ff42bb54e18e9e24d737a965fb659  gcc/testsuite/gcc.dg/noncompile/incomplete-1.c
  7d3d0c0d0116e643196ba9bdfbe5f4ce  gcc/testsuite/gcc.dg/noncompile/incomplete-2.c
--- 15723,15730 ----
  39f8f804cf9cf24b994cf574d8bf12c3  gcc/testsuite/gcc.dg/noncompile/950825-1.c
  25ab334d6aa318dae134a72cbcfac5b3  gcc/testsuite/gcc.dg/noncompile/950921-1.c
  81ad5d337efd81a581d6fe846ab908fe  gcc/testsuite/gcc.dg/noncompile/951123-1.c
! b2fc787612b3653119322d6fa2b516d1  gcc/testsuite/gcc.dg/noncompile/971104-1.c
! b91a4ae5df22b4ae4d713a0a2ecb7d56  gcc/testsuite/gcc.dg/noncompile/990416-1.c
  1b2bc08a1a268520d0499de7a83200fa  gcc/testsuite/gcc.dg/noncompile/const-ll-1.c
  759ff42bb54e18e9e24d737a965fb659  gcc/testsuite/gcc.dg/noncompile/incomplete-1.c
  7d3d0c0d0116e643196ba9bdfbe5f4ce  gcc/testsuite/gcc.dg/noncompile/incomplete-2.c
*************** b054d23fd7d868a509aeb363dc7e8ffc  gcc/te
*** 16888,16896 ****
  56b61f3e976de5d786bf64a844500759  gcc/testsuite/gcc.dg/noncompile/invalid_asm.c
  e69cb5f30ae6fd5e2404895dfb75b637  gcc/testsuite/gcc.dg/noncompile/label-1.c
  825d6f34a51e3a3c37e509be0622e1ca  gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c
! 8c668e521502d2e3cd455a6d060791e7  gcc/testsuite/gcc.dg/noncompile/noncompile.exp
  415c039abdab8437275df71102cc5113  gcc/testsuite/gcc.dg/noncompile/old-style-parm-1.c
  0a7c4527cc88cc3bce252293bf71eaf4  gcc/testsuite/gcc.dg/noncompile/old-style-parm-2.c
  27b9f1c123bba7de25f8d3fd6cddf38a  gcc/testsuite/gcc.dg/noncompile/redecl-1.c
  e4d900a56367f6a536225a27d5f4f5a6  gcc/testsuite/gcc.dg/noncompile/scope.c
  bacce3ff1a5219b8aef3929e36521ff4  gcc/testsuite/gcc.dg/noncompile/undeclared-1.c
--- 15736,15745 ----
  56b61f3e976de5d786bf64a844500759  gcc/testsuite/gcc.dg/noncompile/invalid_asm.c
  e69cb5f30ae6fd5e2404895dfb75b637  gcc/testsuite/gcc.dg/noncompile/label-1.c
  825d6f34a51e3a3c37e509be0622e1ca  gcc/testsuite/gcc.dg/noncompile/label-lineno-1.c
! 30f6b2674d79ddacc99da2f432fd50c0  gcc/testsuite/gcc.dg/noncompile/noncompile.exp
  415c039abdab8437275df71102cc5113  gcc/testsuite/gcc.dg/noncompile/old-style-parm-1.c
  0a7c4527cc88cc3bce252293bf71eaf4  gcc/testsuite/gcc.dg/noncompile/old-style-parm-2.c
+ 1f73d14d777c3ea372a5513b43f3d381  gcc/testsuite/gcc.dg/noncompile/pr23576.c
  27b9f1c123bba7de25f8d3fd6cddf38a  gcc/testsuite/gcc.dg/noncompile/redecl-1.c
  e4d900a56367f6a536225a27d5f4f5a6  gcc/testsuite/gcc.dg/noncompile/scope.c
  bacce3ff1a5219b8aef3929e36521ff4  gcc/testsuite/gcc.dg/noncompile/undeclared-1.c
*************** bacce3ff1a5219b8aef3929e36521ff4  gcc/te
*** 16899,16912 ****
  22faeecb9b2619b4c2796b8fd40a3a76  gcc/testsuite/gcc.dg/noncompile/voidparam-1.c
  651344fe733fa7735632a9520a50f8ba  gcc/testsuite/gcc.dg/nonnull-1.c
  0690713c09d7e297552f0097d275dcf3  gcc/testsuite/gcc.dg/nonnull-2.c
! 8ef2d86db2d5dc85eaf06203ba078d15  gcc/testsuite/gcc.dg/nonnull-3.c
  6232dd732176acf19bcb347f389a7e4b  gcc/testsuite/gcc.dg/noreturn-1.c
  56713e84d6ab80cf2460f2af1c5498e2  gcc/testsuite/gcc.dg/noreturn-2.c
  f4dad19a38b94b6587614001f5996a5c  gcc/testsuite/gcc.dg/noreturn-3.c
  db2da107e9f008a6ea62c7e96e1a5581  gcc/testsuite/gcc.dg/noreturn-4.c
  255513eee17c367ecb2aa180c0b9e301  gcc/testsuite/gcc.dg/noreturn-5.c
  779f7fd278378b2cfd6cbcc0297662a0  gcc/testsuite/gcc.dg/noreturn-6.c
! 5696aded47a23c654f79dd291f024dac  gcc/testsuite/gcc.dg/noreturn-7.c
  fb2a64e28af210271512e32c8451c2f2  gcc/testsuite/gcc.dg/null-pointer-1.c
  2d54756b4470458067e459ba80b73a10  gcc/testsuite/gcc.dg/old-style-asm-1.c
  10be65139df5ded9ef15f510eb2931c3  gcc/testsuite/gcc.dg/old-style-prom-1.c
--- 15748,15763 ----
  22faeecb9b2619b4c2796b8fd40a3a76  gcc/testsuite/gcc.dg/noncompile/voidparam-1.c
  651344fe733fa7735632a9520a50f8ba  gcc/testsuite/gcc.dg/nonnull-1.c
  0690713c09d7e297552f0097d275dcf3  gcc/testsuite/gcc.dg/nonnull-2.c
! 3875a737264f8a8d48300bc5401c5c3a  gcc/testsuite/gcc.dg/nonnull-3.c
  6232dd732176acf19bcb347f389a7e4b  gcc/testsuite/gcc.dg/noreturn-1.c
  56713e84d6ab80cf2460f2af1c5498e2  gcc/testsuite/gcc.dg/noreturn-2.c
  f4dad19a38b94b6587614001f5996a5c  gcc/testsuite/gcc.dg/noreturn-3.c
  db2da107e9f008a6ea62c7e96e1a5581  gcc/testsuite/gcc.dg/noreturn-4.c
  255513eee17c367ecb2aa180c0b9e301  gcc/testsuite/gcc.dg/noreturn-5.c
  779f7fd278378b2cfd6cbcc0297662a0  gcc/testsuite/gcc.dg/noreturn-6.c
! db7ab902c5ff89afa1365bad046e4eea  gcc/testsuite/gcc.dg/noreturn-7.c
! 2d7e4bbcbaeb7ffd35b669f8d07385ed  gcc/testsuite/gcc.dg/nrv1.c
! 56ce532d34ce2ff684d6b9198cf42c8f  gcc/testsuite/gcc.dg/nrv2.c
  fb2a64e28af210271512e32c8451c2f2  gcc/testsuite/gcc.dg/null-pointer-1.c
  2d54756b4470458067e459ba80b73a10  gcc/testsuite/gcc.dg/old-style-asm-1.c
  10be65139df5ded9ef15f510eb2931c3  gcc/testsuite/gcc.dg/old-style-prom-1.c
*************** fb2a64e28af210271512e32c8451c2f2  gcc/te
*** 16914,16929 ****
  c631142fa2ddf4f0ab0fc3420576c02c  gcc/testsuite/gcc.dg/old-style-prom-3.c
  958025f542696e48d89f0fdd5d94a4a3  gcc/testsuite/gcc.dg/old-style-then-proto-1.c
  d524cbf9b3805a6b9bbfc037661424cc  gcc/testsuite/gcc.dg/overflow-1.c
  8fcf44c68bdaf41d825e1f466241f51b  gcc/testsuite/gcc.dg/overflow-warn-1.c
  61bf5b33d7b91397ec4e30ec97662d48  gcc/testsuite/gcc.dg/overflow-warn-2.c
  01ba02fe5283b3423c17f699a45caf44  gcc/testsuite/gcc.dg/overflow-warn-3.c
  732c9ed1f4956740d60cdf7f5628a4a2  gcc/testsuite/gcc.dg/overflow-warn-4.c
! 9d4bd7829e260b83e2b110d6c53721ff  gcc/testsuite/gcc.dg/pack-test-1.c
  9305e6f4b98cfb04210884229294d310  gcc/testsuite/gcc.dg/pack-test-1.h
  4f456642e9634a55d31d2459a42e84db  gcc/testsuite/gcc.dg/pack-test-2.c
  3fd896c85ca5b207c7681452d0be9acd  gcc/testsuite/gcc.dg/pack-test-3.c
  607b0e00950aa58d0248b10a56cb344c  gcc/testsuite/gcc.dg/pack-test-4.c
  0a4cbe1ea503e55a2ca88ef4e9926b22  gcc/testsuite/gcc.dg/pack-test-5.c
  1c08d4f68552c20ec025af38a26efc39  gcc/testsuite/gcc.dg/parm-impl-decl-1.c
  91eae623f5d57082821bd5bb83d77557  gcc/testsuite/gcc.dg/parm-impl-decl-2.c
  3325168e68895b321c5817f990d492e7  gcc/testsuite/gcc.dg/parm-incomplete-1.c
--- 15765,15785 ----
  c631142fa2ddf4f0ab0fc3420576c02c  gcc/testsuite/gcc.dg/old-style-prom-3.c
  958025f542696e48d89f0fdd5d94a4a3  gcc/testsuite/gcc.dg/old-style-then-proto-1.c
  d524cbf9b3805a6b9bbfc037661424cc  gcc/testsuite/gcc.dg/overflow-1.c
+ 1bef7f403044d1646079b0bf7ffe725c  gcc/testsuite/gcc.dg/overflow-2.c
  8fcf44c68bdaf41d825e1f466241f51b  gcc/testsuite/gcc.dg/overflow-warn-1.c
  61bf5b33d7b91397ec4e30ec97662d48  gcc/testsuite/gcc.dg/overflow-warn-2.c
  01ba02fe5283b3423c17f699a45caf44  gcc/testsuite/gcc.dg/overflow-warn-3.c
  732c9ed1f4956740d60cdf7f5628a4a2  gcc/testsuite/gcc.dg/overflow-warn-4.c
! 0cafd664d6226304e82fafc8c5c6cf9a  gcc/testsuite/gcc.dg/pack-test-1.c
  9305e6f4b98cfb04210884229294d310  gcc/testsuite/gcc.dg/pack-test-1.h
  4f456642e9634a55d31d2459a42e84db  gcc/testsuite/gcc.dg/pack-test-2.c
  3fd896c85ca5b207c7681452d0be9acd  gcc/testsuite/gcc.dg/pack-test-3.c
  607b0e00950aa58d0248b10a56cb344c  gcc/testsuite/gcc.dg/pack-test-4.c
  0a4cbe1ea503e55a2ca88ef4e9926b22  gcc/testsuite/gcc.dg/pack-test-5.c
+ 2bfe07faa645e00622fecd5d6eb93e5d  gcc/testsuite/gcc.dg/parm-forwdecl-1.c
+ 03f64826087f7c22288827e34c34b6b5  gcc/testsuite/gcc.dg/parm-forwdecl-2.c
+ e8b52c6965a69df7746ecd351a6d8e09  gcc/testsuite/gcc.dg/parm-forwdecl-3.c
+ 27981842075571927c075cd224a261bf  gcc/testsuite/gcc.dg/parm-forwdecl-4.c
  1c08d4f68552c20ec025af38a26efc39  gcc/testsuite/gcc.dg/parm-impl-decl-1.c
  91eae623f5d57082821bd5bb83d77557  gcc/testsuite/gcc.dg/parm-impl-decl-2.c
  3325168e68895b321c5817f990d492e7  gcc/testsuite/gcc.dg/parm-incomplete-1.c
*************** b19f78cc8cfdc1d6a96b2f1f9d2b1da6  gcc/te
*** 16975,16982 ****
  b01e42858e0423266a42ce48f5963765  gcc/testsuite/gcc.dg/pch/macro-3.hs
  98eb40fd35afc99b8d7a0d9037913d4a  gcc/testsuite/gcc.dg/pch/macro-4.c
  9dfd3f4bded8093e1bd9fe58412b43c6  gcc/testsuite/gcc.dg/pch/macro-4.hs
! 4b3fc75a40ade59d2cee5eb363af956a  gcc/testsuite/gcc.dg/pch/pch.exp
! adae8b2eb66eed75155f5f94aaeb348b  gcc/testsuite/gcc.dg/pch/save-temps-1.c
  2eac3fb5ef4057d96387db046e19ef2d  gcc/testsuite/gcc.dg/pch/save-temps-1.hs
  81a23065a357b947b990e7d22d20daed  gcc/testsuite/gcc.dg/pch/static-1.c
  712df230b4e13e8bb40508464f301367  gcc/testsuite/gcc.dg/pch/static-1.hs
--- 15831,15838 ----
  b01e42858e0423266a42ce48f5963765  gcc/testsuite/gcc.dg/pch/macro-3.hs
  98eb40fd35afc99b8d7a0d9037913d4a  gcc/testsuite/gcc.dg/pch/macro-4.c
  9dfd3f4bded8093e1bd9fe58412b43c6  gcc/testsuite/gcc.dg/pch/macro-4.hs
! 977e771754d0627ad33695d3a7afe0a6  gcc/testsuite/gcc.dg/pch/pch.exp
! 892a1e852b600e053a0d99f988de379c  gcc/testsuite/gcc.dg/pch/save-temps-1.c
  2eac3fb5ef4057d96387db046e19ef2d  gcc/testsuite/gcc.dg/pch/save-temps-1.hs
  81a23065a357b947b990e7d22d20daed  gcc/testsuite/gcc.dg/pch/static-1.c
  712df230b4e13e8bb40508464f301367  gcc/testsuite/gcc.dg/pch/static-1.hs
*************** f765638f45ffbbeedb011e00c6425181  gcc/te
*** 17004,17009 ****
--- 15860,15866 ----
  2e8f6dc30261676da60951797852bbc4  gcc/testsuite/gcc.dg/pch/valid-6.hs
  5152539eb73e079ab785c5cf220fdfdb  gcc/testsuite/gcc.dg/pch/warn-1.c
  581c36ee7a8e61fb33c629ef34ae8cf1  gcc/testsuite/gcc.dg/pch/warn-1.hs
+ 3f9b6e54f5dc641b9d0abe6ad62ec712  gcc/testsuite/gcc.dg/pic-macro-define.c
  85d43826174b147ad3962af8b34d306e  gcc/testsuite/gcc.dg/pointer-arith-1.c
  d1307a4ce7ddccb7b035756689d81a14  gcc/testsuite/gcc.dg/pointer-arith-2.c
  720124c1904cd345cc725ac85ee86425  gcc/testsuite/gcc.dg/pointer-arith-3.c
*************** ff08286c04623251fbe47aafd57a3323  gcc/te
*** 17013,17055 ****
  717a8be4c1fed829a57b869d01b3abe3  gcc/testsuite/gcc.dg/pointer-arith-7.c
  1929290e1458352e955c1607b8a87e5f  gcc/testsuite/gcc.dg/pointer-arith-8.c
  560e02ab06396c9dce71b047a8a96f79  gcc/testsuite/gcc.dg/postincr-1.c
- 25ee68e75d563ab07d72d89d0d85c800  gcc/testsuite/gcc.dg/ppc-and-1.c
- 3815f53acf69d3059d0616c511f670c5  gcc/testsuite/gcc.dg/ppc-bitfield1.c
- 615987c065b85a21874f0b80a0e3f380  gcc/testsuite/gcc.dg/ppc-compare-1.c
- 123fe3978babf048069d5731695300ab  gcc/testsuite/gcc.dg/ppc-eabi.c
- 384725f498b861af6f8bed0530eeac73  gcc/testsuite/gcc.dg/ppc-fmadd-1.c
- b49bfc8892e32ccd4715b924f41106d6  gcc/testsuite/gcc.dg/ppc-fmadd-2.c
- 90d042fffee10d77e01ab7cf9fcbb7c1  gcc/testsuite/gcc.dg/ppc-fmadd-3.c
- 2f98c9de092b752f4149c60367c90247  gcc/testsuite/gcc.dg/ppc-fsel-1.c
- 28c82cf854d14b9e7b445bab023fb08c  gcc/testsuite/gcc.dg/ppc-fsel-2.c
- 4607e864b19fd011a4f1d730e041efc9  gcc/testsuite/gcc.dg/ppc-fsel-3.c
- bb5f5f530e621748748879b844d09373  gcc/testsuite/gcc.dg/ppc-ldstruct.c
- 4dd62ada8a08c47c10cc137b67c1d70c  gcc/testsuite/gcc.dg/ppc-mov-1.c
- f6390cfcea3795f2dbb85227a272f393  gcc/testsuite/gcc.dg/ppc-sdata-1.c
- b5ba424150d6f9f7d45a408112480ef3  gcc/testsuite/gcc.dg/ppc-sdata-2.c
- 6bee4b61a91fdcf2ce29a319025fde82  gcc/testsuite/gcc.dg/ppc-spe.c
- 8090a7561c909b0fda44aa5ce2bfa9e4  gcc/testsuite/gcc.dg/ppc-spe64-1.c
- 3133ebba619e0d3d6789cfea332b5e61  gcc/testsuite/gcc.dg/ppc-stackalign-1.c
- dbb14181fe94247084634b2efb879a07  gcc/testsuite/gcc.dg/ppc-vector-memcpy.c
- 08fb0ff260aa830336d777ecfdbc9ee1  gcc/testsuite/gcc.dg/ppc-vector-memset.c
- e56ce616936c1d7a0a7a282f51024ec0  gcc/testsuite/gcc.dg/ppc64-abi-1.c
- e5e3de5e1d1c0211a2ed674487c39864  gcc/testsuite/gcc.dg/ppc64-abi-2.c
- 650fe61f1a51f45b472b793bd7161dfa  gcc/testsuite/gcc.dg/ppc64-abi-3.c
- ea1d9e504101479c0517d08a9f1ca588  gcc/testsuite/gcc.dg/ppc64-toc.c
  8226e377d45ef0ffeb7badfb04740ab9  gcc/testsuite/gcc.dg/pr10392-1.c
  860f163dcd0b252ea3f85323bc959a7d  gcc/testsuite/gcc.dg/pr11459-1.c
  3b83403729a3686d25552352bf0c4577  gcc/testsuite/gcc.dg/pr11864-1.c
- 3f7dbcd866e97151c3a659636bf6f3c4  gcc/testsuite/gcc.dg/pr12092-1.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  e68628ce594a6a85cc0ba95b5c3525f4  gcc/testsuite/gcc.dg/pr13519-1.c
  2ee7dbdb28305bcb7a90b81c6690c428  gcc/testsuite/gcc.dg/pr13804-1.c
  78a51be88d08b4fd64d227b7e1a33b20  gcc/testsuite/gcc.dg/pr14092-1.c
- 0213142afa4c27101de78860d03cec24  gcc/testsuite/gcc.dg/pr14289-1.c
  9fab796f828ac62b532a3ab5b86ef6a2  gcc/testsuite/gcc.dg/pr14475.c
  aa8059e67aba749e5f156ad145b1e76b  gcc/testsuite/gcc.dg/pr14649-1.c
  eab51d905e25111086745a91fe335ef5  gcc/testsuite/gcc.dg/pr14765-1.c
  32ebb90eac91472473a4f1266f172937  gcc/testsuite/gcc.dg/pr14963.c
  f5958d516cd9992daa1248ba50c10420  gcc/testsuite/gcc.dg/pr15360-1.c
  d18b253e64885dde6f5e4bab15c651ed  gcc/testsuite/gcc.dg/pr15649-1.c
  343bb5a0a112a6e02ab5f02decc62829  gcc/testsuite/gcc.dg/pr15698-1.c
  90daaf25a3d2d4fc2f056f247912a8b2  gcc/testsuite/gcc.dg/pr15698-2.c
--- 15870,15891 ----
  717a8be4c1fed829a57b869d01b3abe3  gcc/testsuite/gcc.dg/pointer-arith-7.c
  1929290e1458352e955c1607b8a87e5f  gcc/testsuite/gcc.dg/pointer-arith-8.c
  560e02ab06396c9dce71b047a8a96f79  gcc/testsuite/gcc.dg/postincr-1.c
  8226e377d45ef0ffeb7badfb04740ab9  gcc/testsuite/gcc.dg/pr10392-1.c
  860f163dcd0b252ea3f85323bc959a7d  gcc/testsuite/gcc.dg/pr11459-1.c
  3b83403729a3686d25552352bf0c4577  gcc/testsuite/gcc.dg/pr11864-1.c
  72a2fca76cb69617ae36bab93c7ec0d7  gcc/testsuite/gcc.dg/pr12625-1.c
  e68628ce594a6a85cc0ba95b5c3525f4  gcc/testsuite/gcc.dg/pr13519-1.c
  2ee7dbdb28305bcb7a90b81c6690c428  gcc/testsuite/gcc.dg/pr13804-1.c
  78a51be88d08b4fd64d227b7e1a33b20  gcc/testsuite/gcc.dg/pr14092-1.c
  9fab796f828ac62b532a3ab5b86ef6a2  gcc/testsuite/gcc.dg/pr14475.c
  aa8059e67aba749e5f156ad145b1e76b  gcc/testsuite/gcc.dg/pr14649-1.c
  eab51d905e25111086745a91fe335ef5  gcc/testsuite/gcc.dg/pr14765-1.c
+ b3b4312f3e7702c2154c8733b1f49394  gcc/testsuite/gcc.dg/pr14796-1.c
+ c542b1d4f72284e3232e4ee16e3c3cbc  gcc/testsuite/gcc.dg/pr14796-2.c
  32ebb90eac91472473a4f1266f172937  gcc/testsuite/gcc.dg/pr14963.c
  f5958d516cd9992daa1248ba50c10420  gcc/testsuite/gcc.dg/pr15360-1.c
+ a77ea144acdbffc9396abf791b596c77  gcc/testsuite/gcc.dg/pr15443-1.c
+ 16bd5a9cf4f0910000410657a45ba488  gcc/testsuite/gcc.dg/pr15443-2.c
  d18b253e64885dde6f5e4bab15c651ed  gcc/testsuite/gcc.dg/pr15649-1.c
  343bb5a0a112a6e02ab5f02decc62829  gcc/testsuite/gcc.dg/pr15698-1.c
  90daaf25a3d2d4fc2f056f247912a8b2  gcc/testsuite/gcc.dg/pr15698-2.c
*************** fea632e95291b2a06ed2e7b21efb5183  gcc/te
*** 17061,17078 ****
  a8d8790c2ee26f25fd251f8087964f8f  gcc/testsuite/gcc.dg/pr15698-8.c
  8fc000abbf82aa05e3ebae13cf7ccd62  gcc/testsuite/gcc.dg/pr15749-1.c
  6ee62b7f7912606502963f94424e4ea9  gcc/testsuite/gcc.dg/pr15749-1.h
! 8d4a7bcb794b31c15477bda561228af7  gcc/testsuite/gcc.dg/pr15784-1.c
! ff77fb04e8b42550a781836468d153f0  gcc/testsuite/gcc.dg/pr15784-2.c
! c8b83da7182e4640c909b4fbc041b86e  gcc/testsuite/gcc.dg/pr15784-3.c
  fe579912d3095706d4937bd07fd76560  gcc/testsuite/gcc.dg/pr15785-1.c
  aed382b304fb84f77b2722933bd3743a  gcc/testsuite/gcc.dg/pr15825-1.c
! ab8ad9a90175c17dbef00e4518e22fb6  gcc/testsuite/gcc.dg/pr16155.c
! c6c94c46c726cf1b6d046cbd475981a6  gcc/testsuite/gcc.dg/pr16286.c
  18990441a68151ae56dc05fefa49d8f7  gcc/testsuite/gcc.dg/pr16973.c
  a9e1c58aa09048bb3fbc68a7a85290e1  gcc/testsuite/gcc.dg/pr17024-1.c
  d5fc9ccee015351ed1b375a37c3c5b5d  gcc/testsuite/gcc.dg/pr17036-1.c
  3841e2e28dc1bf5648f6a5249a8d7bb9  gcc/testsuite/gcc.dg/pr17055-1.c
! 0428f5cba461a132cf5d35d3bc007c2b  gcc/testsuite/gcc.dg/pr17112-1.c
  69656a5b429875d84be6d9d0d015b705  gcc/testsuite/gcc.dg/pr17188-1.c
  4cf259842d3a105e0161bf8c8c071e3a  gcc/testsuite/gcc.dg/pr17301-1.c
  6655e13a4dae8345b6aad1f765ec7713  gcc/testsuite/gcc.dg/pr17301-2.c
--- 15897,15914 ----
  a8d8790c2ee26f25fd251f8087964f8f  gcc/testsuite/gcc.dg/pr15698-8.c
  8fc000abbf82aa05e3ebae13cf7ccd62  gcc/testsuite/gcc.dg/pr15749-1.c
  6ee62b7f7912606502963f94424e4ea9  gcc/testsuite/gcc.dg/pr15749-1.h
! 15296a507d6f94ce9adef958e1817e7d  gcc/testsuite/gcc.dg/pr15784-1.c
! e89e1f01fdd84a0c45eff53525d7ff1a  gcc/testsuite/gcc.dg/pr15784-2.c
! 67f135a192257d4fdabf9c78ce2bc2b8  gcc/testsuite/gcc.dg/pr15784-3.c
! 2116bdd8bc1e23bdbab640775264ccaa  gcc/testsuite/gcc.dg/pr15784-4.c
  fe579912d3095706d4937bd07fd76560  gcc/testsuite/gcc.dg/pr15785-1.c
  aed382b304fb84f77b2722933bd3743a  gcc/testsuite/gcc.dg/pr15825-1.c
! f9fde10ab9c2e70252357c159338f8a8  gcc/testsuite/gcc.dg/pr16194.c
  18990441a68151ae56dc05fefa49d8f7  gcc/testsuite/gcc.dg/pr16973.c
  a9e1c58aa09048bb3fbc68a7a85290e1  gcc/testsuite/gcc.dg/pr17024-1.c
  d5fc9ccee015351ed1b375a37c3c5b5d  gcc/testsuite/gcc.dg/pr17036-1.c
  3841e2e28dc1bf5648f6a5249a8d7bb9  gcc/testsuite/gcc.dg/pr17055-1.c
! cf1e5b97ef894f29dafbdf153acee169  gcc/testsuite/gcc.dg/pr17112-1.c
  69656a5b429875d84be6d9d0d015b705  gcc/testsuite/gcc.dg/pr17188-1.c
  4cf259842d3a105e0161bf8c8c071e3a  gcc/testsuite/gcc.dg/pr17301-1.c
  6655e13a4dae8345b6aad1f765ec7713  gcc/testsuite/gcc.dg/pr17301-2.c
*************** e96d91078bdd0e18e27b126bcdf56f7f  gcc/te
*** 17084,17090 ****
  9a5cf54e63e207da983c56cd74220c7a  gcc/testsuite/gcc.dg/pr17730-1.c
  dfd2b1a45c71282e96eb9a62ef9e3186  gcc/testsuite/gcc.dg/pr17844-1.c
  c873a2719cd6fa06ff38d9b752433029  gcc/testsuite/gcc.dg/pr17957.c
- deff93582c89e477b3831564035d97b3  gcc/testsuite/gcc.dg/pr18096-1.c
  fb855dea1dd76b5cfc88278403ddf8f6  gcc/testsuite/gcc.dg/pr18164.c
  dda319accc5673c937e3db66a8f70356  gcc/testsuite/gcc.dg/pr18241-1.c
  c6573febe56c49c636832b9d1969488f  gcc/testsuite/gcc.dg/pr18241-2.c
--- 15920,15925 ----
*************** c6573febe56c49c636832b9d1969488f  gcc/te
*** 17092,17152 ****
  135138846857ae08e0281e20a6fb7bbb  gcc/testsuite/gcc.dg/pr18241-4.c
  395c947686aef4bf8eebe0494677a5d0  gcc/testsuite/gcc.dg/pr18241-5.c
  10f3258213b34473607955ea014d09f6  gcc/testsuite/gcc.dg/pr18479.c
! 62af219fe7d4cab1346cb1803881a700  gcc/testsuite/gcc.dg/pr18501.c
  6836ee857ecfe73c10050bfdff28f59b  gcc/testsuite/gcc.dg/pr18502-1.c
  359167e870dc70658fd776bf22f9bf97  gcc/testsuite/gcc.dg/pr18520-1.c
  a863780694808d96a8e015b85a62a657  gcc/testsuite/gcc.dg/pr18596-1.c
  9703d180d7aeb5910270c3e6c5500f8b  gcc/testsuite/gcc.dg/pr18596-2.c
  4ef65f571700710bd80a8278de54c492  gcc/testsuite/gcc.dg/pr18596-3.c
- 168a9e99323ac254cdf40afbe168c365  gcc/testsuite/gcc.dg/pr18614-1.c
  145a5d165df0ed23ea4c3ef136b3435e  gcc/testsuite/gcc.dg/pr18628.c
  b6fde39832257cdbb135c68eff93f965  gcc/testsuite/gcc.dg/pr18725.c
  9b9162822adb571b6b648827778dc56a  gcc/testsuite/gcc.dg/pr18792.c
  058d986160b7e9371ae4ed1be1ea7113  gcc/testsuite/gcc.dg/pr18809-1.c
  483e5302264fd31cb925ea4398d0a8be  gcc/testsuite/gcc.dg/pr18921-1.c
! 09a459ed7a5fefce4152034c67d0cf32  gcc/testsuite/gcc.dg/pr18928-1.c
  81a253b36eac86e845958c3baea09dc7  gcc/testsuite/gcc.dg/pr18963-1.c
! cb5d19cd03a4531182527fc40aadd1b1  gcc/testsuite/gcc.dg/pr19236-1.c
  8150eaf90e1f00208b3dfdf711457bd2  gcc/testsuite/gcc.dg/pr19345.c
  85a9be052f27b32bb6f58f060ea06464  gcc/testsuite/gcc.dg/pr19402-1.c
  1d772b57574234bee1e7e32446b929dd  gcc/testsuite/gcc.dg/pr19402-2.c
  0d4bf774ae55a442b120938fae01f04c  gcc/testsuite/gcc.dg/pr19633-1.c
  b0d4962136433f13ca40ba9f6e45f7ca  gcc/testsuite/gcc.dg/pr19633.c
  46e6a6b5bbeb8ceb6848069e122950a5  gcc/testsuite/gcc.dg/pr19967.c
! ffdc98744a9a3d8a363ca6535da62028  gcc/testsuite/gcc.dg/pr20017.c
  e9cd21e596ab4762c4f830282401af42  gcc/testsuite/gcc.dg/pr20054.c
  51edfa5e427018ef4fff45a8ad8913b8  gcc/testsuite/gcc.dg/pr20100.c
! f14c9695c8ec7f390ce0c3acc686f691  gcc/testsuite/gcc.dg/pr20115-1.c
  fda269538ec6cb5fa7f058ae0ca2954d  gcc/testsuite/gcc.dg/pr20115.c
! cbceb09805608fad4a6efb0597139d8b  gcc/testsuite/gcc.dg/pr20204.c
  81880899aa2a2570c9563743e4d3cfe4  gcc/testsuite/gcc.dg/pr20368-1.c
  68f2f304ac5c6addda23a43d806fd6ff  gcc/testsuite/gcc.dg/pr20368-2.c
  741c133651e1debf54e4e9b8b3fae877  gcc/testsuite/gcc.dg/pr20368-3.c
  0eb2ef6a27b1c27d3ad4b1a345bd3633  gcc/testsuite/gcc.dg/pr20927.c
  7b876d09593734c8cf12eb56eee155e4  gcc/testsuite/gcc.dg/pr21085.c
  15add82dfd5825a3c5ed4b31321f2a50  gcc/testsuite/gcc.dg/pr22308-1.c
  c53dedac4ad1ee1a61f4173c056fcf0b  gcc/testsuite/gcc.dg/pr22311-1.c
! d215cbe31647b625cd5ed8c821f09023  gcc/testsuite/gcc.dg/pr22458-1.c
  02b7ad504ab3a2a79148f9816f41f2c7  gcc/testsuite/gcc.dg/pr23075.c
  783fec0b394417e1eb71b406cd2834ff  gcc/testsuite/gcc.dg/pr23165.c
  6cc60febe9e684893eeeaf32d498b727  gcc/testsuite/gcc.dg/pr3074-1.c
  3825638bdc3a2a004aba9b3d95352327  gcc/testsuite/gcc.dg/pr9365-1.c
! 8adaeeade8d8f93b244aa48e91818dbc  gcc/testsuite/gcc.dg/pr9771-1.c
  9ec84191a3776cead356562d96ff91c4  gcc/testsuite/gcc.dg/pragma-align-2.c
! d5f6781f82f3456002a46b4d8e2bd489  gcc/testsuite/gcc.dg/pragma-align.c
  da7022072a3cdd021a9b1d0ece5e8e74  gcc/testsuite/gcc.dg/pragma-darwin.c
  1edd87ca9440d6cf6ed770a3fbb542ee  gcc/testsuite/gcc.dg/pragma-ep-1.c
  e961f06515e118b8d9224c2b1b8a4d30  gcc/testsuite/gcc.dg/pragma-ep-2.c
  c8912f97f76a12a1f08275f64975fe52  gcc/testsuite/gcc.dg/pragma-ep-3.c
  24a9270f9a6635bb396c6d700a9d9d2c  gcc/testsuite/gcc.dg/pragma-init-fini-2.c
  91ab565ddc880b520acf6e23bfc2f731  gcc/testsuite/gcc.dg/pragma-init-fini.c
! fe88c96fd13079fe8dcbeb3dfcb74144  gcc/testsuite/gcc.dg/pragma-isr.c
  70c646980b7f8688082508ee2b320463  gcc/testsuite/gcc.dg/pragma-pack-2.c
  f332500fa9b1610a3a2e2c5094a9e623  gcc/testsuite/gcc.dg/pragma-re-1.c
  01aca0277735e694835146ae90d25dac  gcc/testsuite/gcc.dg/pragma-re-2.c
  6f9ada327b2aba3d10c820c065c2f53f  gcc/testsuite/gcc.dg/pragma-re-3.c
  efa6034cc39517afbb457a507e9ce345  gcc/testsuite/gcc.dg/precedence-1.c
! 5039d5f4ab1624ff8f0aa1bb7aa81718  gcc/testsuite/gcc.dg/profile-generate-1.c
  3810469bc2654e3a6f06ddfa97f58f37  gcc/testsuite/gcc.dg/qual-return-1.c
  9805eb15e91e8c9ed14f44b788854255  gcc/testsuite/gcc.dg/qual-return-2.c
  bafbd0bb9e5172d4a6a02a4071cb80b5  gcc/testsuite/gcc.dg/qual-return-3.c
--- 15927,16041 ----
  135138846857ae08e0281e20a6fb7bbb  gcc/testsuite/gcc.dg/pr18241-4.c
  395c947686aef4bf8eebe0494677a5d0  gcc/testsuite/gcc.dg/pr18241-5.c
  10f3258213b34473607955ea014d09f6  gcc/testsuite/gcc.dg/pr18479.c
! aba653626f4d1069b289a9bf52cdfa38  gcc/testsuite/gcc.dg/pr18501.c
  6836ee857ecfe73c10050bfdff28f59b  gcc/testsuite/gcc.dg/pr18502-1.c
  359167e870dc70658fd776bf22f9bf97  gcc/testsuite/gcc.dg/pr18520-1.c
  a863780694808d96a8e015b85a62a657  gcc/testsuite/gcc.dg/pr18596-1.c
  9703d180d7aeb5910270c3e6c5500f8b  gcc/testsuite/gcc.dg/pr18596-2.c
  4ef65f571700710bd80a8278de54c492  gcc/testsuite/gcc.dg/pr18596-3.c
  145a5d165df0ed23ea4c3ef136b3435e  gcc/testsuite/gcc.dg/pr18628.c
  b6fde39832257cdbb135c68eff93f965  gcc/testsuite/gcc.dg/pr18725.c
  9b9162822adb571b6b648827778dc56a  gcc/testsuite/gcc.dg/pr18792.c
  058d986160b7e9371ae4ed1be1ea7113  gcc/testsuite/gcc.dg/pr18809-1.c
  483e5302264fd31cb925ea4398d0a8be  gcc/testsuite/gcc.dg/pr18921-1.c
! f8a3978367cd44ca6e219ce553ee3c10  gcc/testsuite/gcc.dg/pr18928-1.c
  81a253b36eac86e845958c3baea09dc7  gcc/testsuite/gcc.dg/pr18963-1.c
! 80a76d88d9f9fe85c85edf27f9148d72  gcc/testsuite/gcc.dg/pr19340.c
  8150eaf90e1f00208b3dfdf711457bd2  gcc/testsuite/gcc.dg/pr19345.c
  85a9be052f27b32bb6f58f060ea06464  gcc/testsuite/gcc.dg/pr19402-1.c
  1d772b57574234bee1e7e32446b929dd  gcc/testsuite/gcc.dg/pr19402-2.c
  0d4bf774ae55a442b120938fae01f04c  gcc/testsuite/gcc.dg/pr19633-1.c
  b0d4962136433f13ca40ba9f6e45f7ca  gcc/testsuite/gcc.dg/pr19633.c
  46e6a6b5bbeb8ceb6848069e122950a5  gcc/testsuite/gcc.dg/pr19967.c
! acd9c5bb09ff78d3faa5c0abd4f8a65c  gcc/testsuite/gcc.dg/pr20017.c
  e9cd21e596ab4762c4f830282401af42  gcc/testsuite/gcc.dg/pr20054.c
  51edfa5e427018ef4fff45a8ad8913b8  gcc/testsuite/gcc.dg/pr20100.c
! fc225fd56e533b1432b80bee1a77c07b  gcc/testsuite/gcc.dg/pr20115-1.c
  fda269538ec6cb5fa7f058ae0ca2954d  gcc/testsuite/gcc.dg/pr20115.c
! eaac03a990c4657b7e44f2f7a43e75ff  gcc/testsuite/gcc.dg/pr20126.c
! 756ce08eb645628d5563b9f5a375cd9e  gcc/testsuite/gcc.dg/pr20130-1.c
! 1bf94058c2cc16a0e2a898eedce4b301  gcc/testsuite/gcc.dg/pr20245-1.c
  81880899aa2a2570c9563743e4d3cfe4  gcc/testsuite/gcc.dg/pr20368-1.c
  68f2f304ac5c6addda23a43d806fd6ff  gcc/testsuite/gcc.dg/pr20368-2.c
  741c133651e1debf54e4e9b8b3fae877  gcc/testsuite/gcc.dg/pr20368-3.c
+ 1c63510bc311d7ab8f9ec6554b562326  gcc/testsuite/gcc.dg/pr20672-1.c
+ 38c239e2c14c3c70dc59185c4517bbe7  gcc/testsuite/gcc.dg/pr20922-1.c
+ a326333c00e8fb06400482d5fab5b21f  gcc/testsuite/gcc.dg/pr20922-2.c
+ d9695be8ae64bb208fcd6e6c12c90e28  gcc/testsuite/gcc.dg/pr20922-3.c
+ ab056dd18b94644922b161fec5b2ce16  gcc/testsuite/gcc.dg/pr20922-4.c
+ 897e4bab9197707df81693b89f14d9be  gcc/testsuite/gcc.dg/pr20922-5.c
+ 3998c1aebfc63c3a9cea4bf7f4f05747  gcc/testsuite/gcc.dg/pr20922-6.c
  0eb2ef6a27b1c27d3ad4b1a345bd3633  gcc/testsuite/gcc.dg/pr20927.c
+ 38b4c19356959c0903f790d063e1e6a6  gcc/testsuite/gcc.dg/pr21041.c
  7b876d09593734c8cf12eb56eee155e4  gcc/testsuite/gcc.dg/pr21085.c
+ 6e31e3d440ca307def004c1a6d5b9b65  gcc/testsuite/gcc.dg/pr21255-1.c
+ 19dd8b866d892b62879d3cc1dcf3eb37  gcc/testsuite/gcc.dg/pr21255-2-mb.c
+ 0034abb329a3af51c7979828ca0dea1e  gcc/testsuite/gcc.dg/pr21255-2-ml.c
+ 1dafc074e32f7f4500b329fda15b704f  gcc/testsuite/gcc.dg/pr21255-3.c
+ 5642586b6d0d5857a36c64745a47b0bf  gcc/testsuite/gcc.dg/pr21255-4.c
+ f249c8e4714cd5737b79a74e42be5c46  gcc/testsuite/gcc.dg/pr21282.c
+ 5e716cddd07af3d11d72cc41e6bfe386  gcc/testsuite/gcc.dg/pr21419.c
+ 6eb70c44077eefcd9928219727af399b  gcc/testsuite/gcc.dg/pr21709-1.c
+ 976425aba6999b8696d3181fd5853a99  gcc/testsuite/gcc.dg/pr21858.c
+ 17409ff77d84a8feb4e2504dd2df58e4  gcc/testsuite/gcc.dg/pr21921.c
  15add82dfd5825a3c5ed4b31321f2a50  gcc/testsuite/gcc.dg/pr22308-1.c
  c53dedac4ad1ee1a61f4173c056fcf0b  gcc/testsuite/gcc.dg/pr22311-1.c
! 3eaf06113356fac80089e143a317ac03  gcc/testsuite/gcc.dg/pr22329.c
! 9265b2d51a5970874356a9ad9179b1ec  gcc/testsuite/gcc.dg/pr22335-1.c
! 394e53a21c231b5f26855408ecace442  gcc/testsuite/gcc.dg/pr22335-2.c
! 10ae2728d50b401b2d697bfa062b0789  gcc/testsuite/gcc.dg/pr22356-1.c
! 7b6b6380b6dd8df2a1029b7793354d88  gcc/testsuite/gcc.dg/pr22458-1.c
! 8545841e0eaa96131d18d57ce4312464  gcc/testsuite/gcc.dg/pr23049.c
  02b7ad504ab3a2a79148f9816f41f2c7  gcc/testsuite/gcc.dg/pr23075.c
  783fec0b394417e1eb71b406cd2834ff  gcc/testsuite/gcc.dg/pr23165.c
+ 9efe4f6af3ce453604531c37cfebe7cc  gcc/testsuite/gcc.dg/pr23408.c
+ 1c2ecdbc90bda2c2d462eb49da43cff8  gcc/testsuite/gcc.dg/pr23547.c
+ 9f48353e8c99536d736a2bfd9c60585b  gcc/testsuite/gcc.dg/pr23584.c
+ 1661470cf0e9f34d25bfaa79341b557e  gcc/testsuite/gcc.dg/pr23625.c
+ 8e4083bccd7d7e2d0baff96c0dd08540  gcc/testsuite/gcc.dg/pr23818.c
+ 5e008d80d7c0b51dd6e44df8610bf8e5  gcc/testsuite/gcc.dg/pr23911.c
+ edd85b2182f6d00b78ea2848e29dbce1  gcc/testsuite/gcc.dg/pr24101-1.i
+ 5e75074ea2ae8ca590caee79c73e6620  gcc/testsuite/gcc.dg/pr24101-2.i
+ cba200a5b39c2af964014d1563fe31e0  gcc/testsuite/gcc.dg/pr24225.c
+ ecaeffbd94fd301f134ede7f41c7d3bb  gcc/testsuite/gcc.dg/pr24445.c
+ ab8e115e2a57ff03228e0fbce4e1b6f0  gcc/testsuite/gcc.dg/pr24600.c
+ 3349be2be87b2286a0afbaaf79c58a51  gcc/testsuite/gcc.dg/pr24615.c
+ d475727c04d7b0890bdc8df05799bebc  gcc/testsuite/gcc.dg/pr24620.c
+ a1b46aad72959cb2eee184e7be975a79  gcc/testsuite/gcc.dg/pr24624.c
+ 85c5eba3e1bead4b2e7df2a37b793b72  gcc/testsuite/gcc.dg/pr24683.c
+ 93d9e50c249a057642c823d88736c8d3  gcc/testsuite/gcc.dg/pr24820.c
+ 898952e6889eb83056a0abe8b5602544  gcc/testsuite/gcc.dg/pr25023.c
+ 3b7df30fccd1be0ea0750e84623d5d6e  gcc/testsuite/gcc.dg/pr25196.c
+ 4a29d670b054a08617d734e33f41f0fa  gcc/testsuite/gcc.dg/pr25559.c
+ bbfaf1570fbcecb25a4decfad2bac221  gcc/testsuite/gcc.dg/pr25682.c
+ 4b31ce45209fafa2da722e90627a5d36  gcc/testsuite/gcc.dg/pr25805.c
  6cc60febe9e684893eeeaf32d498b727  gcc/testsuite/gcc.dg/pr3074-1.c
+ 3d08410b2dd57259aa63f0e1c64b376e  gcc/testsuite/gcc.dg/pr8788-1.c
+ 49409fb9111f01e98641b341056e15c6  gcc/testsuite/gcc.dg/pr8927-1.c
  3825638bdc3a2a004aba9b3d95352327  gcc/testsuite/gcc.dg/pr9365-1.c
! ec1830becced622760bda688ca2bb126  gcc/testsuite/gcc.dg/pr9814-1.c
  9ec84191a3776cead356562d96ff91c4  gcc/testsuite/gcc.dg/pragma-align-2.c
! 18f4260381af88f66f36ce71344e4dd0  gcc/testsuite/gcc.dg/pragma-align.c
  da7022072a3cdd021a9b1d0ece5e8e74  gcc/testsuite/gcc.dg/pragma-darwin.c
  1edd87ca9440d6cf6ed770a3fbb542ee  gcc/testsuite/gcc.dg/pragma-ep-1.c
  e961f06515e118b8d9224c2b1b8a4d30  gcc/testsuite/gcc.dg/pragma-ep-2.c
  c8912f97f76a12a1f08275f64975fe52  gcc/testsuite/gcc.dg/pragma-ep-3.c
  24a9270f9a6635bb396c6d700a9d9d2c  gcc/testsuite/gcc.dg/pragma-init-fini-2.c
  91ab565ddc880b520acf6e23bfc2f731  gcc/testsuite/gcc.dg/pragma-init-fini.c
! 2479c40b2904a38a7f9eab003fb61965  gcc/testsuite/gcc.dg/pragma-isr-nosave_low_regs.c
! 19b568536c5b673d8823b1a06115ac9f  gcc/testsuite/gcc.dg/pragma-isr-trap_exit.c
! 6f5f093d4319b8335c0b1192250ce10f  gcc/testsuite/gcc.dg/pragma-isr-trapa.c
! 3a1af4f1412bc63a8aea673b2feab476  gcc/testsuite/gcc.dg/pragma-isr-trapa2.c
! a194f3d18cff3c023e7261f68fcb9198  gcc/testsuite/gcc.dg/pragma-isr.c
! 792b9a9ece65839293c6da9e099bae56  gcc/testsuite/gcc.dg/pragma-isr2.c
  70c646980b7f8688082508ee2b320463  gcc/testsuite/gcc.dg/pragma-pack-2.c
+ 6646336d53f6934bb4b80de3ca469768  gcc/testsuite/gcc.dg/pragma-pack-3.c
  f332500fa9b1610a3a2e2c5094a9e623  gcc/testsuite/gcc.dg/pragma-re-1.c
  01aca0277735e694835146ae90d25dac  gcc/testsuite/gcc.dg/pragma-re-2.c
  6f9ada327b2aba3d10c820c065c2f53f  gcc/testsuite/gcc.dg/pragma-re-3.c
  efa6034cc39517afbb457a507e9ce345  gcc/testsuite/gcc.dg/precedence-1.c
! cfea0b9bda7beb2d995b6c93d4a5f7e2  gcc/testsuite/gcc.dg/profile-generate-1.c
! dc974b5be096639b3d83b02ea81ef099  gcc/testsuite/gcc.dg/profile-generate-2.c
  3810469bc2654e3a6f06ddfa97f58f37  gcc/testsuite/gcc.dg/qual-return-1.c
  9805eb15e91e8c9ed14f44b788854255  gcc/testsuite/gcc.dg/qual-return-2.c
  bafbd0bb9e5172d4a6a02a4071cb80b5  gcc/testsuite/gcc.dg/qual-return-3.c
*************** a894d26cb8bd0b9d9dc915eec4d06120  gcc/te
*** 17169,17187 ****
  70e2e87e796926b7a00115967cafa859  gcc/testsuite/gcc.dg/redecl-8.c
  94f3c15e465321b6130343668a295ab9  gcc/testsuite/gcc.dg/redecl-9.c
  63aa7dbe627049e1536307bd8ea4f5a7  gcc/testsuite/gcc.dg/reg-vol-struct-1.c
! 544e795f5e49206a285a998edf77b6f2  gcc/testsuite/gcc.dg/register-var-1.c
  544083f47ae274f5cae16360754aab14  gcc/testsuite/gcc.dg/register-var-2.c
  772fbff52dc64a8724e84f0bc8ac12d3  gcc/testsuite/gcc.dg/return-type-1.c
  0d720e1c8f5d6d95b677821c7bae93bb  gcc/testsuite/gcc.dg/return-type-2.c
  650297d80f8b5534796a1a513af1479b  gcc/testsuite/gcc.dg/return-type-3.c
- 83fb5e490c5b87853f92a84054671203  gcc/testsuite/gcc.dg/rs6000-ldouble-1.c
- 2eeea8fb3857592874b0b7f5047f6f47  gcc/testsuite/gcc.dg/rs6000-ldouble-2.c
- 463874923b13eb53fbc22485107b8765  gcc/testsuite/gcc.dg/rs6000-power2-1.c
- ab2573d845ce9cf1329608f1f5c71e1e  gcc/testsuite/gcc.dg/rs6000-power2-2.c
  d5126a2bd42a9c1593aedafecf29da00  gcc/testsuite/gcc.dg/section1.c
  f29205fe73b9b7871a2d5a931504281d  gcc/testsuite/gcc.dg/sequence-pt-1.c
  318d75429c8d41d396060a14c474218e  gcc/testsuite/gcc.dg/setjmp-1.c
! 742b6cf6893c14ee07d452d4f550ea77  gcc/testsuite/gcc.dg/setjmp-2.c
  d03405e906e7b21744674dc4c7a97401  gcc/testsuite/gcc.dg/sh-relax.c
  48599f73d81ef0ba397f2bc93dd97cea  gcc/testsuite/gcc.dg/sh4a-bitmovua.c
  812810be733357b5afc244492d863200  gcc/testsuite/gcc.dg/sh4a-cos.c
--- 16058,16073 ----
  70e2e87e796926b7a00115967cafa859  gcc/testsuite/gcc.dg/redecl-8.c
  94f3c15e465321b6130343668a295ab9  gcc/testsuite/gcc.dg/redecl-9.c
  63aa7dbe627049e1536307bd8ea4f5a7  gcc/testsuite/gcc.dg/reg-vol-struct-1.c
! a1b0c46f986a5e925d05f1ff944ffaa3  gcc/testsuite/gcc.dg/register-var-1.c
  544083f47ae274f5cae16360754aab14  gcc/testsuite/gcc.dg/register-var-2.c
+ a4b7e92b399e9a3ccddd209524470054  gcc/testsuite/gcc.dg/register-var-3.c
  772fbff52dc64a8724e84f0bc8ac12d3  gcc/testsuite/gcc.dg/return-type-1.c
  0d720e1c8f5d6d95b677821c7bae93bb  gcc/testsuite/gcc.dg/return-type-2.c
  650297d80f8b5534796a1a513af1479b  gcc/testsuite/gcc.dg/return-type-3.c
  d5126a2bd42a9c1593aedafecf29da00  gcc/testsuite/gcc.dg/section1.c
  f29205fe73b9b7871a2d5a931504281d  gcc/testsuite/gcc.dg/sequence-pt-1.c
  318d75429c8d41d396060a14c474218e  gcc/testsuite/gcc.dg/setjmp-1.c
! 662f756434a3943dac2d9e13f3149116  gcc/testsuite/gcc.dg/setjmp-2.c
  d03405e906e7b21744674dc4c7a97401  gcc/testsuite/gcc.dg/sh-relax.c
  48599f73d81ef0ba397f2bc93dd97cea  gcc/testsuite/gcc.dg/sh4a-bitmovua.c
  812810be733357b5afc244492d863200  gcc/testsuite/gcc.dg/sh4a-cos.c
*************** b28fd0619d9a5b5f410d6d5bb9de923a  gcc/te
*** 17193,17227 ****
  54ec89c66d83f06aada145bf6985bd57  gcc/testsuite/gcc.dg/sh4a-sincos.c
  cbff7115cea3c9bdad032baa69fbdf11  gcc/testsuite/gcc.dg/sh4a-sincosf.c
  e05fb34ca86f05d68d77641e30cd301a  gcc/testsuite/gcc.dg/sh4a-sinf.c
! 0b0e81eab39d214432b0e4c318e64d55  gcc/testsuite/gcc.dg/short-compare-1.c
! b98705ab4c2936767cf8457878f921a3  gcc/testsuite/gcc.dg/short-compare-2.c
  8ca7d8e240c8b4ea29adc8d645ea0960  gcc/testsuite/gcc.dg/sibcall-1.c
  2ae4f0d9c0185736d1412f640dd1d20b  gcc/testsuite/gcc.dg/sibcall-2.c
! 58b5780997f660027cd4c2cf3ed4989b  gcc/testsuite/gcc.dg/sibcall-3.c
! 5c8a187072d9d6ff91b60dc6c3ad6d02  gcc/testsuite/gcc.dg/sibcall-4.c
! 9306f047713cc8ed641eb4f7a660784b  gcc/testsuite/gcc.dg/sibcall-5.c
! 5415e0f5508e2a14848b0a32cdcad311  gcc/testsuite/gcc.dg/sibcall-6.c
  da6f22f53da102a3b857ff700b5fa97e  gcc/testsuite/gcc.dg/simd-1.c
  e14353258c2e2bc1c4e16b4158eb1445  gcc/testsuite/gcc.dg/simd-1b.c
  72cbc2b4afba13c330fc9d4c46e7d695  gcc/testsuite/gcc.dg/simd-2.c
  be258ee7e5fe42cb44f40b84135d3950  gcc/testsuite/gcc.dg/simd-3.c
  e7edbe5a2c71be83020688e5b9a6ae0d  gcc/testsuite/gcc.dg/simd-4.c
! 565db740be2b72b73523bf1f01e58b72  gcc/testsuite/gcc.dg/smod-1.c
  47ea74190c31fd1dbdaee16e97226345  gcc/testsuite/gcc.dg/sparc-constant-1.c
  09ed11beff813e9c83297ecb8d275588  gcc/testsuite/gcc.dg/sparc-dwarf2.c
  11bc2325082842cb92f3fb42cc60e580  gcc/testsuite/gcc.dg/sparc-loop-1.c
  f512f0b4388eb1f8dd9dac3208407f2d  gcc/testsuite/gcc.dg/sparc-reg-1.c
  1914003a0d4dff145f223689c560d480  gcc/testsuite/gcc.dg/sparc-ret.c
  ed43551f491fa47772a1d71f67a20bb4  gcc/testsuite/gcc.dg/sparc-trap-1.c
- e4076561bf343823ba2b5380a58ad6b5  gcc/testsuite/gcc.dg/spe1.c
  20dc171666c91cdac8714a7c5075874e  gcc/testsuite/gcc.dg/special/20000419-2.c
  58b6b7734c2d9522f6acba13d91a557a  gcc/testsuite/gcc.dg/special/alias-1.c
  4b29f93ef3bc27cb9d83fdbc6aaa5b4a  gcc/testsuite/gcc.dg/special/alias-2.c
  a962e0c81201164fc2d54f588f56eb56  gcc/testsuite/gcc.dg/special/gcsec-1.c
! 8926ff35c658206f5892f361ae9beb6a  gcc/testsuite/gcc.dg/special/mips-abi.exp
  d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/gcc.dg/special/mips-abi.s
! 5b9fceae4147c35c767a8dc47203ffab  gcc/testsuite/gcc.dg/special/special.exp
! 108b01f58b0498d4becf23ff94838d68  gcc/testsuite/gcc.dg/special/weak-1.c
  f92cc2fa14e5fe946fde0490c2b6321b  gcc/testsuite/gcc.dg/special/weak-1a.c
  30e6a6f472935ada8cdfd86143e9cbcc  gcc/testsuite/gcc.dg/special/weak-2.c
  839d06128dcc641172f86236bbbe2cba  gcc/testsuite/gcc.dg/special/weak-2a.c
--- 16079,16113 ----
  54ec89c66d83f06aada145bf6985bd57  gcc/testsuite/gcc.dg/sh4a-sincos.c
  cbff7115cea3c9bdad032baa69fbdf11  gcc/testsuite/gcc.dg/sh4a-sincosf.c
  e05fb34ca86f05d68d77641e30cd301a  gcc/testsuite/gcc.dg/sh4a-sinf.c
! 5d72dd571de15a5a9c6f8ffb04083a3f  gcc/testsuite/gcc.dg/short-compare-1.c
! beb6f9ad3c1afc2bde242b89042840ae  gcc/testsuite/gcc.dg/short-compare-2.c
  8ca7d8e240c8b4ea29adc8d645ea0960  gcc/testsuite/gcc.dg/sibcall-1.c
  2ae4f0d9c0185736d1412f640dd1d20b  gcc/testsuite/gcc.dg/sibcall-2.c
! 1d0d2f6383bdc3e8680ef53a309fcbc8  gcc/testsuite/gcc.dg/sibcall-3.c
! 2895359e534b74df1a64959aa3fa4c9a  gcc/testsuite/gcc.dg/sibcall-4.c
! 99bbd168e9262b83576ec4ba26c217ef  gcc/testsuite/gcc.dg/sibcall-6.c
  da6f22f53da102a3b857ff700b5fa97e  gcc/testsuite/gcc.dg/simd-1.c
  e14353258c2e2bc1c4e16b4158eb1445  gcc/testsuite/gcc.dg/simd-1b.c
  72cbc2b4afba13c330fc9d4c46e7d695  gcc/testsuite/gcc.dg/simd-2.c
  be258ee7e5fe42cb44f40b84135d3950  gcc/testsuite/gcc.dg/simd-3.c
  e7edbe5a2c71be83020688e5b9a6ae0d  gcc/testsuite/gcc.dg/simd-4.c
! b490e11924d7bf5188b35f6cb6d2416c  gcc/testsuite/gcc.dg/smod-1.c
  47ea74190c31fd1dbdaee16e97226345  gcc/testsuite/gcc.dg/sparc-constant-1.c
  09ed11beff813e9c83297ecb8d275588  gcc/testsuite/gcc.dg/sparc-dwarf2.c
+ e0fc441a071a668379d98a1c66d4b326  gcc/testsuite/gcc.dg/sparc-frame-1.c
+ 16e01e9d1d76223124cb78e83ce09c1c  gcc/testsuite/gcc.dg/sparc-getcontext-1.c
  11bc2325082842cb92f3fb42cc60e580  gcc/testsuite/gcc.dg/sparc-loop-1.c
  f512f0b4388eb1f8dd9dac3208407f2d  gcc/testsuite/gcc.dg/sparc-reg-1.c
  1914003a0d4dff145f223689c560d480  gcc/testsuite/gcc.dg/sparc-ret.c
  ed43551f491fa47772a1d71f67a20bb4  gcc/testsuite/gcc.dg/sparc-trap-1.c
  20dc171666c91cdac8714a7c5075874e  gcc/testsuite/gcc.dg/special/20000419-2.c
  58b6b7734c2d9522f6acba13d91a557a  gcc/testsuite/gcc.dg/special/alias-1.c
  4b29f93ef3bc27cb9d83fdbc6aaa5b4a  gcc/testsuite/gcc.dg/special/alias-2.c
  a962e0c81201164fc2d54f588f56eb56  gcc/testsuite/gcc.dg/special/gcsec-1.c
! d63508a6b2efe18d66aef626ab2ecc62  gcc/testsuite/gcc.dg/special/mips-abi.exp
  d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/gcc.dg/special/mips-abi.s
! 1a560464f3d9021d9c73c96fd7c6d5b3  gcc/testsuite/gcc.dg/special/special.exp
! 513d25b4f85fc57b0fd34d0437c94d01  gcc/testsuite/gcc.dg/special/weak-1.c
  f92cc2fa14e5fe946fde0490c2b6321b  gcc/testsuite/gcc.dg/special/weak-1a.c
  30e6a6f472935ada8cdfd86143e9cbcc  gcc/testsuite/gcc.dg/special/weak-2.c
  839d06128dcc641172f86236bbbe2cba  gcc/testsuite/gcc.dg/special/weak-2a.c
*************** a2a9b9135252a63f30ae15393ececf8f  gcc/te
*** 17268,17305 ****
  7474a850002496a75a3fc07be3a92378  gcc/testsuite/gcc.dg/symbian3.c
  6348d8c419a160922fcdffc252546f1f  gcc/testsuite/gcc.dg/symbian4.c
  a7b483d7dfa030106153baa28a7406da  gcc/testsuite/gcc.dg/symbian5.c
  a66a18a80260894d295ed4a169817ab3  gcc/testsuite/gcc.dg/titype-1.c
! cc9df1970c8cc35d4d7ac8aced597e80  gcc/testsuite/gcc.dg/tls/alias-1.c
! da04720c7966d958d0b2774c0f537c53  gcc/testsuite/gcc.dg/tls/alpha-1.c
! 356828118a6488b8aecc521e336451d0  gcc/testsuite/gcc.dg/tls/asm-1.c
! 447344a7c1eef65be82417eab5a1fcae  gcc/testsuite/gcc.dg/tls/debug-1.c
! 3ed3b50b8ee4c887c177116fa3e37502  gcc/testsuite/gcc.dg/tls/diag-1.c
! 478964ec34ae53b8885ddfa74839bb40  gcc/testsuite/gcc.dg/tls/diag-2.c
! 61ffdf36544e5d30b5fb741360959a2d  gcc/testsuite/gcc.dg/tls/diag-3.c
! b1d349b6887dc019e81a9fb843a13be0  gcc/testsuite/gcc.dg/tls/diag-4.c
! d7f4fb0e80008cd61589de067d3f18d9  gcc/testsuite/gcc.dg/tls/diag-5.c
! b86e181f980314f1d47cf65dbc6575b3  gcc/testsuite/gcc.dg/tls/init-1.c
! 849992141284c23dd6fc0016abe40846  gcc/testsuite/gcc.dg/tls/nonpic-1.c
! 89b628bd65ff639d5d5e68a4d6b487ce  gcc/testsuite/gcc.dg/tls/opt-1.c
! 3b53f3a26bf50ebce5d9fc740154557d  gcc/testsuite/gcc.dg/tls/opt-2.c
! 5e526b4bd92acf4e1422acee237a2a47  gcc/testsuite/gcc.dg/tls/opt-3.c
! e963dc337d3fb2323b754760d01f5590  gcc/testsuite/gcc.dg/tls/opt-4.c
! f8d7a9ec4f8cc7c74415b627f433881c  gcc/testsuite/gcc.dg/tls/opt-5.c
! abaef86d6b8329f55b9adbae3c3e68c1  gcc/testsuite/gcc.dg/tls/opt-6.c
! 970a2900ca71c96c6083f944a55d3f26  gcc/testsuite/gcc.dg/tls/opt-7.c
! 157069362b8524dc1a1144fe6a5180eb  gcc/testsuite/gcc.dg/tls/opt-8.c
! cbebc773fb3be735a691fb2e50d27f8d  gcc/testsuite/gcc.dg/tls/opt-9.c
! d6d76a346d95d182905caa7e0bac7faa  gcc/testsuite/gcc.dg/tls/pic-1.c
! a318921e5fd05f92b1c26734c7e1ca87  gcc/testsuite/gcc.dg/tls/section-1.c
! 0ef972e3e7824615ac3d4e67576ca1ea  gcc/testsuite/gcc.dg/tls/struct-1.c
! 8e2690252ff18083f1372ca80d7ee2b4  gcc/testsuite/gcc.dg/tls/tls.exp
! d0ff7b21e6cafbaa5dd1684c5d898a19  gcc/testsuite/gcc.dg/tls/trivial.c
  8769a963205b9784806d7b019a721b0f  gcc/testsuite/gcc.dg/torture/asm-subreg-1.c
! 029c6832164c11a3b408ac4b7f52362b  gcc/testsuite/gcc.dg/torture/badshift.c
! 3adfe0418b32629b20ba66c55c579e14  gcc/testsuite/gcc.dg/torture/builtin-attr-1.c
! 60a4333c101e3838dd08d7991a0f101b  gcc/testsuite/gcc.dg/torture/builtin-convert-1.c
! c3520109f532af00e1de0fac6b506dc2  gcc/testsuite/gcc.dg/torture/builtin-convert-2.c
! 3e1bfdcd138e54c2f230e6e743b0f92e  gcc/testsuite/gcc.dg/torture/builtin-convert-3.c
  dfb471a397851bdb52f7df883b650b86  gcc/testsuite/gcc.dg/torture/builtin-ctype-1.c
  17bcbd76d1d14e04b26622ff64a84e7e  gcc/testsuite/gcc.dg/torture/builtin-ctype-2.c
  cc54547b66b457b079957e3d7802e7ee  gcc/testsuite/gcc.dg/torture/builtin-explog-1.c
--- 16154,16197 ----
  7474a850002496a75a3fc07be3a92378  gcc/testsuite/gcc.dg/symbian3.c
  6348d8c419a160922fcdffc252546f1f  gcc/testsuite/gcc.dg/symbian4.c
  a7b483d7dfa030106153baa28a7406da  gcc/testsuite/gcc.dg/symbian5.c
+ d7561cf1a070cc2aafa08b823a80d55f  gcc/testsuite/gcc.dg/sync-1.c
+ 5718f5cd328863c2bc31a1dce81df916  gcc/testsuite/gcc.dg/sync-2.c
  a66a18a80260894d295ed4a169817ab3  gcc/testsuite/gcc.dg/titype-1.c
! d4776db6014dd47e6ec3245bd9597ba8  gcc/testsuite/gcc.dg/tls/alias-1.c
! 4cf679764c9b49cf32bd28ddd98a30a1  gcc/testsuite/gcc.dg/tls/alpha-1.c
! 1cc4a80c9088f4e403b8d48504f712c5  gcc/testsuite/gcc.dg/tls/asm-1.c
! b05b43d75435d93d400ab9deb87b4827  gcc/testsuite/gcc.dg/tls/debug-1.c
! afbcc1fa79a9ce40765e7481e29d01d6  gcc/testsuite/gcc.dg/tls/diag-1.c
! 5f3eb961a2f36cbc2b089920dcad6340  gcc/testsuite/gcc.dg/tls/diag-2.c
! ec865a078c258ac633d95f25f1c3c682  gcc/testsuite/gcc.dg/tls/diag-3.c
! a032c364dab71f2fa0d5d60b1c055cb4  gcc/testsuite/gcc.dg/tls/diag-4.c
! 6ce7ffd582054e865583ad1782b29871  gcc/testsuite/gcc.dg/tls/diag-5.c
! f60857e024a3e6b1efbc3d8c46505370  gcc/testsuite/gcc.dg/tls/init-1.c
! f689330767b0df62f02d401e441836c4  gcc/testsuite/gcc.dg/tls/nonpic-1.c
! 55ad03aa7c22e4a042fa930916514894  gcc/testsuite/gcc.dg/tls/opt-1.c
! d2511d592a802a9beb30881ddc07f9d7  gcc/testsuite/gcc.dg/tls/opt-10.c
! 08d46703525c3669e2cdeb6b857ff8c0  gcc/testsuite/gcc.dg/tls/opt-11.c
! 890388d556657106a6f08402ac473519  gcc/testsuite/gcc.dg/tls/opt-2.c
! c4f58025da1ec455aa0d2d291fa481fa  gcc/testsuite/gcc.dg/tls/opt-3.c
! 7ae34d672a641c58ac8115c8f0c60a98  gcc/testsuite/gcc.dg/tls/opt-4.c
! e4cf09c90da6f9caeed14d9ab2f7c0d9  gcc/testsuite/gcc.dg/tls/opt-5.c
! 6ec8334fc000aec1f93177065a8ed763  gcc/testsuite/gcc.dg/tls/opt-6.c
! 1b4521248af0efaad1afb9c4a2503f4f  gcc/testsuite/gcc.dg/tls/opt-7.c
! fb27194fd3ac60b8ffc4c3e9b9e6f59e  gcc/testsuite/gcc.dg/tls/opt-8.c
! d1c390821bbb7c44f58beac4cb9da715  gcc/testsuite/gcc.dg/tls/opt-9.c
! cb8e558472c6d1c72a5bb4c476071205  gcc/testsuite/gcc.dg/tls/pic-1.c
! ff049bf76107fd55e23c8161f72995b6  gcc/testsuite/gcc.dg/tls/pr24428-2.c
! 9a850efa7eb622968fa5538e111b687f  gcc/testsuite/gcc.dg/tls/pr24428.c
! 719aafba77529891beb55c1486135cb4  gcc/testsuite/gcc.dg/tls/section-1.c
! 638899616768591689105156d0b068fb  gcc/testsuite/gcc.dg/tls/struct-1.c
! 27a19c15be3702143a2d371384658122  gcc/testsuite/gcc.dg/tls/tls.exp
! 972a92c27c38895cc90d496745d8e669  gcc/testsuite/gcc.dg/tls/trivial.c
  8769a963205b9784806d7b019a721b0f  gcc/testsuite/gcc.dg/torture/asm-subreg-1.c
! 40a9f58a4d67ecb1d1c24f82a29e69fa  gcc/testsuite/gcc.dg/torture/badshift.c
! fa71c3f5deec75d91e748d5ff3625af6  gcc/testsuite/gcc.dg/torture/builtin-attr-1.c
! 42e767c36f2c9107e5e40f591c6568d3  gcc/testsuite/gcc.dg/torture/builtin-convert-1.c
! c3b0c866d3f9e7fb67a2e22a6ce4b467  gcc/testsuite/gcc.dg/torture/builtin-convert-2.c
! 5da7000df25c9e61e4bcf6e1111f6ed5  gcc/testsuite/gcc.dg/torture/builtin-convert-3.c
  dfb471a397851bdb52f7df883b650b86  gcc/testsuite/gcc.dg/torture/builtin-ctype-1.c
  17bcbd76d1d14e04b26622ff64a84e7e  gcc/testsuite/gcc.dg/torture/builtin-ctype-2.c
  cc54547b66b457b079957e3d7802e7ee  gcc/testsuite/gcc.dg/torture/builtin-explog-1.c
*************** cc54547b66b457b079957e3d7802e7ee  gcc/te
*** 17308,17316 ****
  b27f5767c2963e42396ee35e6be41de9  gcc/testsuite/gcc.dg/torture/builtin-nonneg-1.c
  0daafbd9114e9e5d0379015564d5aa02  gcc/testsuite/gcc.dg/torture/builtin-noret-1.c
  d94624b72d17342e8c27b3c73c2cfddc  gcc/testsuite/gcc.dg/torture/builtin-noret-2.c
! 512a2944ff1389f193a3998f6cb919c7  gcc/testsuite/gcc.dg/torture/builtin-power-1.c
  189c5aaac352781bacb51ee2e2ae3f89  gcc/testsuite/gcc.dg/torture/builtin-rounding-1.c
! 15becdcad3e8df7aa0621ec4ed3b90c1  gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c
  82bfe80fc489a6c0a56a612f224158c1  gcc/testsuite/gcc.dg/torture/cris-volatile-1.c
  616ba8292d1667a3872fba7a56a0c6a3  gcc/testsuite/gcc.dg/torture/dg-torture.exp
  e18294d3404279a1f70b16e5f321d933  gcc/testsuite/gcc.dg/torture/mips-clobber-at.c
--- 16200,16209 ----
  b27f5767c2963e42396ee35e6be41de9  gcc/testsuite/gcc.dg/torture/builtin-nonneg-1.c
  0daafbd9114e9e5d0379015564d5aa02  gcc/testsuite/gcc.dg/torture/builtin-noret-1.c
  d94624b72d17342e8c27b3c73c2cfddc  gcc/testsuite/gcc.dg/torture/builtin-noret-2.c
! f9052031e0160633b54995b6a82a4b8b  gcc/testsuite/gcc.dg/torture/builtin-power-1.c
  189c5aaac352781bacb51ee2e2ae3f89  gcc/testsuite/gcc.dg/torture/builtin-rounding-1.c
! aa8cb0db7596e9b0e87edb8ba4d89392  gcc/testsuite/gcc.dg/torture/builtin-wctype-1.c
! f4361b61bab396cef4925616f33f6cc3  gcc/testsuite/gcc.dg/torture/cris-asm-mof-1.c
  82bfe80fc489a6c0a56a612f224158c1  gcc/testsuite/gcc.dg/torture/cris-volatile-1.c
  616ba8292d1667a3872fba7a56a0c6a3  gcc/testsuite/gcc.dg/torture/dg-torture.exp
  e18294d3404279a1f70b16e5f321d933  gcc/testsuite/gcc.dg/torture/mips-clobber-at.c
*************** d07ecd707fac97fa40042e04a59d4b1e  gcc/te
*** 17321,17517 ****
  fd36e8c42459bd36680b21f47b33b671  gcc/testsuite/gcc.dg/torture/nested-fn-1.c
  8132f35495ec4a09ea8604f1ad9ecf88  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
! 34c56e71912cf79e1db9f7b63312a5c3  gcc/testsuite/gcc.dg/torture/pr18582-1.c
  d35af8d91a3ed51b0b2ec71757f0125d  gcc/testsuite/gcc.dg/torture/pr19462-1.c
! 6015bd6668a6f1ae24e0760230d99522  gcc/testsuite/gcc.dg/torture/pr19683-1.c
  28ae1108afbb5d46f8cc84a90cbf6bc7  gcc/testsuite/gcc.dg/torture/pr20314-1.c
! 0c03d6b8d9e5c7c429b61315d62a2681  gcc/testsuite/gcc.dg/torture/pr20314-2.c
  b5000ff41188ffefe908fe9425b50e56  gcc/testsuite/gcc.dg/torture/pr21817-1.c
  d870c565ecc3624fb4fbcb1510c36484  gcc/testsuite/gcc.dg/torture/tree-loop-1.c
  36de78b1e0dee582fcda7292901df258  gcc/testsuite/gcc.dg/trampoline-1.c
  6d50839b8de376e357caa647c5713316  gcc/testsuite/gcc.dg/transparent-union-1.c
  ef5bc6d620cc68ec203b322faa805c5b  gcc/testsuite/gcc.dg/transparent-union-2.c
  4d56b8e63668daab3951eed210064027  gcc/testsuite/gcc.dg/transparent-union-3.c
! 4e4b949810e79413c571284bea311437  gcc/testsuite/gcc.dg/tree-ssa/20030530-2.c
! 9579fd4c7074870e59d1a29cc6382c44  gcc/testsuite/gcc.dg/tree-ssa/20030611-1.c
! bd13e8244ad71ec823fc2f273c37744b  gcc/testsuite/gcc.dg/tree-ssa/20030703-1.c
! b5a21e9afbcb2f0a2dbac656bf6015ea  gcc/testsuite/gcc.dg/tree-ssa/20030703-2.c
! c5d02bdf98d0cd52e716eaf311f3a67e  gcc/testsuite/gcc.dg/tree-ssa/20030708-1.c
! aed562e4896324f1ade0db989daa54f3  gcc/testsuite/gcc.dg/tree-ssa/20030709-1.c
! 8d1f69d92c27fec39768a009a12e3af0  gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c
! b194dfb639c5c41104b6aad21cf724cc  gcc/testsuite/gcc.dg/tree-ssa/20030709-3.c
! 45cf5cae9cc83aa5ccc85655b6781d73  gcc/testsuite/gcc.dg/tree-ssa/20030710-1.c
! aabfa53845119bf2528f02068b30776e  gcc/testsuite/gcc.dg/tree-ssa/20030711-1.c
! cd5242d1b97e8533b42de80d2506d244  gcc/testsuite/gcc.dg/tree-ssa/20030711-2.c
! 7a928c81deffd733a2674c81de31531d  gcc/testsuite/gcc.dg/tree-ssa/20030711-3.c
! 5914a0690d5d46dab1af88b937d5227d  gcc/testsuite/gcc.dg/tree-ssa/20030714-1.c
! 8c4c252ff007cd67d4edb9405d4b3c18  gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c
! 697085a726a03d99a612a0f676e24d4a  gcc/testsuite/gcc.dg/tree-ssa/20030728-1.c
! 8e9e0314cdd9152def30dd8f45fa09ee  gcc/testsuite/gcc.dg/tree-ssa/20030729-1.c
! 115d1b30fc99b4a97a5f34224f6e9744  gcc/testsuite/gcc.dg/tree-ssa/20030730-1.c
! bd151fe639199c37952deedaa5acb742  gcc/testsuite/gcc.dg/tree-ssa/20030730-2.c
! daeae785be8df8ffde38e55da597d1b8  gcc/testsuite/gcc.dg/tree-ssa/20030731-1.c
! 87e93f1ddcd5a03eaac24604a1c58f05  gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c
! e693cfb588899e651d86747d8f43e20d  gcc/testsuite/gcc.dg/tree-ssa/20030807-1.c
! aca75d9c02936be7136a17e691ca53d2  gcc/testsuite/gcc.dg/tree-ssa/20030807-10.c
! d61eb8f195f88b461024ec914ce1ae28  gcc/testsuite/gcc.dg/tree-ssa/20030807-11.c
! 282e1ac2c8386865df1710b39a0cf0c2  gcc/testsuite/gcc.dg/tree-ssa/20030807-2.c
! a02b7b8af0832950d5173166565adacb  gcc/testsuite/gcc.dg/tree-ssa/20030807-3.c
! 9612451381ab7fa15c00b979381ea96e  gcc/testsuite/gcc.dg/tree-ssa/20030807-5.c
! 812d6c6bc0a9c02f0296d4b37dec5f1a  gcc/testsuite/gcc.dg/tree-ssa/20030807-6.c
! be883ad6a23f49007dafae6d525e7cd2  gcc/testsuite/gcc.dg/tree-ssa/20030807-7.c
! f1fd8f44c78a80ee0df2080c21413177  gcc/testsuite/gcc.dg/tree-ssa/20030807-8.c
! fb5b894881cc44bbdb6454a9e48577a0  gcc/testsuite/gcc.dg/tree-ssa/20030807-9.c
! 5deb891220b0e999dab6a276004c30b6  gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c
! a3112bf2a1322fc1260f64a228e62f90  gcc/testsuite/gcc.dg/tree-ssa/20030814-1.c
! 6b9a6410629a62656201127919f4506a  gcc/testsuite/gcc.dg/tree-ssa/20030814-2.c
! 214c48ef8522cb9e4e833306cbec0536  gcc/testsuite/gcc.dg/tree-ssa/20030814-3.c
! 4efeb33aff6e834476ca19339ea1777f  gcc/testsuite/gcc.dg/tree-ssa/20030814-4.c
! d607ccbe96048feb4323032c5b92d768  gcc/testsuite/gcc.dg/tree-ssa/20030814-5.c
! 3c147c22ff3d4363d991d0508deb2a5c  gcc/testsuite/gcc.dg/tree-ssa/20030814-6.c
! 0c11770b396396df142ecea50cfceb25  gcc/testsuite/gcc.dg/tree-ssa/20030814-7.c
! 75213a088144da4103bce65e9c5c66f5  gcc/testsuite/gcc.dg/tree-ssa/20030815-1.c
  37b6d017e93749c4f054272493006e39  gcc/testsuite/gcc.dg/tree-ssa/20030820-1.c
  14f412add3e73bb1cf98a6edef9af53e  gcc/testsuite/gcc.dg/tree-ssa/20030820-2.c
! a5d6ab6b30ea2297cd677efc1c3c2029  gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c
! 5cd04fa1eccf2a85a734bd56def568f0  gcc/testsuite/gcc.dg/tree-ssa/20030824-1.c
! 25a0bf9f05b26c402f1c2c2710097e98  gcc/testsuite/gcc.dg/tree-ssa/20030824-2.c
! 6aed6da2095f8636810586afb14a1b50  gcc/testsuite/gcc.dg/tree-ssa/20030825-1.c
! ce6b72af5cf16599e365487a35476bc1  gcc/testsuite/gcc.dg/tree-ssa/20030907-1.c
  d3e4952123ac0028935a5d65da05cd67  gcc/testsuite/gcc.dg/tree-ssa/20030907-2.c
! 6cadab5818d197965fd98f334e3c95a5  gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c
  ba2fbe68b2ea77c9003879dab67f3804  gcc/testsuite/gcc.dg/tree-ssa/20030917-2.c
! 905faf7a80534c845a2ac99ed1c74c4d  gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c
  ad3d44926acf90e0683b2abbd536b57c  gcc/testsuite/gcc.dg/tree-ssa/20030918-1.c
  b711d5b48e3978f92fa0b2c439cf6c14  gcc/testsuite/gcc.dg/tree-ssa/20030920-1.c
! 6fb32ae1b21add5d78b56c22a3e9f969  gcc/testsuite/gcc.dg/tree-ssa/20030922-1.c
! 10f76640af114ad4df319cf56f7bb51e  gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c
! c9564bab5e685ec6fafd380d38b618da  gcc/testsuite/gcc.dg/tree-ssa/20031015-1.c
! 09899e4f177f00000f939eab060a3dc1  gcc/testsuite/gcc.dg/tree-ssa/20031021-1.c
! 673a1728c83f8d8e128a9adf9db5b3f7  gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c
  bdedc20a8695902ec09f4a5c8ba7b012  gcc/testsuite/gcc.dg/tree-ssa/20031031-1.c
! 636e179f977a9e8b49cf8e9412811191  gcc/testsuite/gcc.dg/tree-ssa/20031106-1.c
! 36d382ecd6f446e74805f9010f0f9b34  gcc/testsuite/gcc.dg/tree-ssa/20031106-2.c
! 089f43d43a4932a6d78e9d0f3729482c  gcc/testsuite/gcc.dg/tree-ssa/20031106-3.c
! 456f8ad6dd120580c3e3a27dc157d3c1  gcc/testsuite/gcc.dg/tree-ssa/20031106-4.c
! f675c641c9613200d6c10a8327621a00  gcc/testsuite/gcc.dg/tree-ssa/20031106-5.c
! ec145fd4eaef9710363ec9c105865f47  gcc/testsuite/gcc.dg/tree-ssa/20031106-6.c
  3d74f7a86f1ec677f56458b70548904e  gcc/testsuite/gcc.dg/tree-ssa/20031113-1.c
! ccbf57ac62324c514aa4cbd38bbd36a7  gcc/testsuite/gcc.dg/tree-ssa/20031216-1.c
  ac7ae0e4acb8ff1383bf2cdaf6e6e4ae  gcc/testsuite/gcc.dg/tree-ssa/20040121-1.c
! 25fdd7a5909768bb39c801f7bbb17047  gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c
  f77e8abfc662bb2df841fb591e394a5d  gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c
! e525cbbf14a16e9c9d7a4df4c9aa04a8  gcc/testsuite/gcc.dg/tree-ssa/20040210-1.c
! 8a23624b4deccabed13f3b15a32baae7  gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c
! 17b0ebfc6ba9bed6ffd8c2fc1845b78d  gcc/testsuite/gcc.dg/tree-ssa/20040216-1.c
  a16d2e01da70ca721400fe836a568770  gcc/testsuite/gcc.dg/tree-ssa/20040302-1.c
! 0015aebaea582c4201ea1c43c3548043  gcc/testsuite/gcc.dg/tree-ssa/20040305-1.c
  5615bf10dfe846a0602fd8956a60aec0  gcc/testsuite/gcc.dg/tree-ssa/20040313-1.c
  0138094a92b4816f6f1cf41d51f16912  gcc/testsuite/gcc.dg/tree-ssa/20040319-1.c
  2a8b94927ebf8e329037b7253ec6e329  gcc/testsuite/gcc.dg/tree-ssa/20040324-1.c
  5d26a52105764c38ddee33d39de337e3  gcc/testsuite/gcc.dg/tree-ssa/20040326-1.c
  68c84e300d62bfd5e4d2a2605a3ee084  gcc/testsuite/gcc.dg/tree-ssa/20040326-2.c
  30bf8f2d4da95eb4f5baf8b9f486ec9f  gcc/testsuite/gcc.dg/tree-ssa/20040408-1.c
! 07e102584ce2e1d50770c6c9c3c5ba4a  gcc/testsuite/gcc.dg/tree-ssa/20040430-1.c
! 6eb74a3719d126fbfd3288a63b0e24ea  gcc/testsuite/gcc.dg/tree-ssa/20040513-1.c
! 7ef7935ed338dad0435e242566f65c28  gcc/testsuite/gcc.dg/tree-ssa/20040513-2.c
! d36acf0af4b97fc1e58794efdfb87fd4  gcc/testsuite/gcc.dg/tree-ssa/20040514-1.c
! 032aec2f92dc83198a11928a939eb6a2  gcc/testsuite/gcc.dg/tree-ssa/20040514-2.c
! f1485e5beff0fc9127b2fe0f766a084e  gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
! 787c229205ba79727c8c0723cc27f010  gcc/testsuite/gcc.dg/tree-ssa/20040518-1.c
! 5d1a63a4d1562697febab094a20f0586  gcc/testsuite/gcc.dg/tree-ssa/20040518-2.c
! 6072290efe48752aa454153a5c1a5af8  gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c
! e0ad408a6ac7f2beadb8b464fc6f5e53  gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c
! dcb233ad95333fc60745a3e23f760012  gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c
  e12c9ed0224acebe9161af9589a42ccf  gcc/testsuite/gcc.dg/tree-ssa/20040713-1.c
! 8bc559d8558e400533afaf520e8b1f69  gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c
! 5d8c448c03bab8b437931261c15d7c16  gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c
! 5b41514d8a933721ee36de35b2acd98f  gcc/testsuite/gcc.dg/tree-ssa/20040911-1.c
! 74ac475689befe4d4320aec345225731  gcc/testsuite/gcc.dg/tree-ssa/20041002-1.c
  93366da6daaa0436c31dfcb03c746093  gcc/testsuite/gcc.dg/tree-ssa/20041110-1.c
! 13dc5387054a2f30dab600cdae515be3  gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
! 8706a1235b0e0fc82841a694f8573086  gcc/testsuite/gcc.dg/tree-ssa/20050128-1.c
! 62174538a603ec160c4400536c880848  gcc/testsuite/gcc.dg/tree-ssa/20050215-1.c
! 5c83b92f5a62c2e506f9caf44b355b75  gcc/testsuite/gcc.dg/tree-ssa/asm-1.c
! ec35daf5e78d46d87d9b6c283602593f  gcc/testsuite/gcc.dg/tree-ssa/asm-2.c
! 8cd5eab9db41ec5061508bb2ccef41d9  gcc/testsuite/gcc.dg/tree-ssa/asm-3.c
! 61ecaa4d5c50b282897cd4ddc5a55f5a  gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c
! c110c327815c82a70e631e10f5627b28  gcc/testsuite/gcc.dg/tree-ssa/complex-1.c
! 47f32d959ac63e1c46be790f2435dc06  gcc/testsuite/gcc.dg/tree-ssa/complex-2.c
! 4be9e11366774fe2e0e1e6a04c1a6ac7  gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c
! 25f7a8d76aea1ec408aff18a412e438e  gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c
! 3e50e41d816b7aff93082bd57914d648  gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-2.c
! 5cd63ae7b4fd3dffe527b9777b873e6e  gcc/testsuite/gcc.dg/tree-ssa/inline_asm-1.c
! 976288eb1caa6e8139e1492c2c4fd337  gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c
! aa1090170f768dc6c863af59153a5c5c  gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
! 178600775918a397ea8d92b7d3e6c6a7  gcc/testsuite/gcc.dg/tree-ssa/loop-2.c
! 9f62def2da6a71bf350d4cab8fd2aeb9  gcc/testsuite/gcc.dg/tree-ssa/loop-3.c
! 9c2df4fafa0e40e52ccd4b1e7b4b6bfa  gcc/testsuite/gcc.dg/tree-ssa/loop-4.c
! c2a0b912503d4986f40ae25027b2f059  gcc/testsuite/gcc.dg/tree-ssa/loop-5.c
! 8c061822dd08526276b929306dd0fcd6  gcc/testsuite/gcc.dg/tree-ssa/loop-6.c
! 950b8fc6e9e326c68ff2c4c50f10cc71  gcc/testsuite/gcc.dg/tree-ssa/loop-7.c
! afd41f42fa567c506d38d1eb04b9135d  gcc/testsuite/gcc.dg/tree-ssa/ltrans-1.c
! 579738f9954fdd8ceade2dd3e278036c  gcc/testsuite/gcc.dg/tree-ssa/ltrans-2.c
! d3467accd01d0f3e3ee5e9502ff76d59  gcc/testsuite/gcc.dg/tree-ssa/ltrans-3.c
! f8f2dd5d8cc326a986dafa4ac7b02e7f  gcc/testsuite/gcc.dg/tree-ssa/ltrans-4.c
! 123e903cf32f5e18fd99b60c7050a89a  gcc/testsuite/gcc.dg/tree-ssa/ltrans-5.c
! de7d366f010be6ac703014a34caf7014  gcc/testsuite/gcc.dg/tree-ssa/pr15349.c
  62600822d88828e393d9efe9f65e0fb1  gcc/testsuite/gcc.dg/tree-ssa/pr15791-1.c
  622a67339e32d57e1703eb816c9cddfc  gcc/testsuite/gcc.dg/tree-ssa/pr15791-2.c
! bb6527f80ae839bc430bdf7cb401919b  gcc/testsuite/gcc.dg/tree-ssa/pr15791-3.c
! 921073cd26891c83517e9c9da29056bc  gcc/testsuite/gcc.dg/tree-ssa/pr15791-4.c
! 7e96b720e93166ec35d98feb54ea6edf  gcc/testsuite/gcc.dg/tree-ssa/pr15791-5.c
! 163d8e5157061586341db5b25594404b  gcc/testsuite/gcc.dg/tree-ssa/pr16721.c
! fa134b7b09128388df0cf5dfe1f05256  gcc/testsuite/gcc.dg/tree-ssa/pr19633.c
  738c7cc83dcdd6356d2c052f533c2329  gcc/testsuite/gcc.dg/tree-ssa/pr20739.c
! 2b264e1ff0d62e42087de30a8802cb92  gcc/testsuite/gcc.dg/tree-ssa/pr21171.c
! d0c455306e1f6726727c5d8b23f5b04a  gcc/testsuite/gcc.dg/tree-ssa/pr21985.c
! dbb193ca026ae8272eef187e4c48617f  gcc/testsuite/gcc.dg/tree-ssa/pr22051-1.c
! 73c03b34a2c2df53fd8073c040d6bff1  gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c
  8722e1903d33eba8d8172a467f1f57eb  gcc/testsuite/gcc.dg/tree-ssa/pr22171.c
! cc87074881d41eb76970449075fb260b  gcc/testsuite/gcc.dg/tree-ssa/pr22321.c
  e41277e04bee7df7b11d55da9b4fe987  gcc/testsuite/gcc.dg/tree-ssa/pr22591.c
  17cf4f2be6b7c7f23ca1e880e6d2fe18  gcc/testsuite/gcc.dg/tree-ssa/pr23192.c
  a6f655f4f2c501df04e063c61d2edb55  gcc/testsuite/gcc.dg/tree-ssa/pr23546.c
  52daa8eedbd22c7715c760e3a07d16d9  gcc/testsuite/gcc.dg/tree-ssa/scev-1.c
  4323482b616b668100a20fa9ef8249fa  gcc/testsuite/gcc.dg/tree-ssa/scev-2.c
! 7314de29f502969713acbbdc6482643f  gcc/testsuite/gcc.dg/tree-ssa/sra-1.c
! 891b70b9f723afb7c9c5920027971528  gcc/testsuite/gcc.dg/tree-ssa/sra-2.c
! b4d33791af831a58473eeb4190d5c095  gcc/testsuite/gcc.dg/tree-ssa/sra-3.c
! 1a30a949e2b54835fbb00d0c43254e84  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c
! 05d591294c7151052d3b2ea7480c3a1e  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-10.c
! f3d566fb7e69f47fceb6063ebf51be5a  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-11.c
! cbb4ce98f5bb1b5f2ddcc598e2a8987f  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c
! 7d4ee66f4a94f76685f6a4da8a578254  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c
! 08510a0ddc8dc1fcf5014f9e7f35edcf  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c
! 9f07eac8175ad17e1bfb9f993c3181c9  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c
! f1aa2c8a7b81b4e0d66fb1e05ac95b38  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c
! 22c6940b10e1c49e8ea75a588ba2d0ce  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c
! b2deed02c1310dfdaac998534765737f  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-3.c
! f73f6966be24b091360a4d978974b337  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-ccp-1.c
! 34a64a821f9698ac15a6fb4aaccde57d  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-1.c
! 071a45773910db43565f524b8aff979a  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c
! 12b475ec869200826829289b8d0fb0aa  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-1.c
! 2634ac602bd66978dd5a67f3e3cfa4f0  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-2.c
! c411156c9033f11f2e8fda3d017fd021  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-3.c
! 78c9184fcb711ab60dfb47fff02652dc  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c
! 4e055b14e5c9e9e048f1478126f8d4a3  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c
! b86e74290ec7ae346aa752d6f56aacb1  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c
! f473c024639a7ff168ec7c53dc1da31a  gcc/testsuite/gcc.dg/tree-ssa/tailcall-1.c
! 167e398c4c929130a179ddf178b8e255  gcc/testsuite/gcc.dg/tree-ssa/tailcall-2.c
! e0c84841ed7a0c0d1f6c5fbad439a13c  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c
! 79c8d44c7dd5e379e7ff6254fef6f292  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c
! 38c587da75707c298f695abb8c3a4a9d  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c
! f277ad307399b9bae0a5bff0a4f4de3f  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c
! d7e37e46b377e5697d173e070b60e871  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-5.c
! c69a762d2705923f8fd6cfa55eccbfe8  gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
! f883b6f9068f6e8adca73dd70b3c9110  gcc/testsuite/gcc.dg/tree-ssa/useless-1.c
  99aa4b3086bd54b2fa365b5e4b9c58fa  gcc/testsuite/gcc.dg/trunc-1.c
  5a58fa954426a9307499c22fa4d90b23  gcc/testsuite/gcc.dg/typedef-init.c
  033f9eaca6e2312d2cefbe1ee49f3460  gcc/testsuite/gcc.dg/typedef-redecl.c
  7b938b0cb614b822c40b1d1cd3386863  gcc/testsuite/gcc.dg/typedef-redecl.h
  0347a7dc32b8dfb279bdfe3b50e84008  gcc/testsuite/gcc.dg/typeof-1.c
  de8fdd5952fa2932ecbb34d020db3223  gcc/testsuite/gcc.dg/typespec-1.c
  162aee94d382b45e32a043caff03684f  gcc/testsuite/gcc.dg/ultrasp1.c
  ed2b73d80d75f96b69fc515ae2a8e2f2  gcc/testsuite/gcc.dg/ultrasp10.c
  e9ec9a7a1c116a57514c6e26dba325e2  gcc/testsuite/gcc.dg/ultrasp11.c
--- 16214,16614 ----
  fd36e8c42459bd36680b21f47b33b671  gcc/testsuite/gcc.dg/torture/nested-fn-1.c
  8132f35495ec4a09ea8604f1ad9ecf88  gcc/testsuite/gcc.dg/torture/pr16104-1.c
  01c583edb41b632b835aa892b9c1cb14  gcc/testsuite/gcc.dg/torture/pr17933-1.c
! 9a101464bb6b9086c793a8354f1ce0ee  gcc/testsuite/gcc.dg/torture/pr18582-1.c
  d35af8d91a3ed51b0b2ec71757f0125d  gcc/testsuite/gcc.dg/torture/pr19462-1.c
! a529f9306045f8f12f51c3005f9a1c90  gcc/testsuite/gcc.dg/torture/pr19683-1.c
  28ae1108afbb5d46f8cc84a90cbf6bc7  gcc/testsuite/gcc.dg/torture/pr20314-1.c
! 7110f126ba86c8f503a0f52465265751  gcc/testsuite/gcc.dg/torture/pr20314-2.c
  b5000ff41188ffefe908fe9425b50e56  gcc/testsuite/gcc.dg/torture/pr21817-1.c
+ 691910482d7399206a137ceb06c9e120  gcc/testsuite/gcc.dg/torture/pr23424-1.c
+ 4420ebc93d4bcf725e01d756628d7958  gcc/testsuite/gcc.dg/torture/pr24257.c
+ c8fa8f8456a740696d47e2bfcf74184c  gcc/testsuite/gcc.dg/torture/pr24626-1.c
+ dbd1ab0425e9e09c61ac5b56bde95859  gcc/testsuite/gcc.dg/torture/pr24626-2.c
+ b6196144ca8a344f7eaecb1b389a7aa5  gcc/testsuite/gcc.dg/torture/pr24626-3.c
+ e0143dfae40092dc89e3b1a088370e88  gcc/testsuite/gcc.dg/torture/pr24626-4.c
+ 514aca1a501e01eec552798fbb3d8dfc  gcc/testsuite/gcc.dg/torture/pr24750-1.c
+ 98fba13047a6cfb5f660402f3f56296f  gcc/testsuite/gcc.dg/torture/pr24912-1.c
+ 300cb5378e0677f7e2bda649022df518  gcc/testsuite/gcc.dg/torture/pr25183.c
+ b93e5a6d4aa60a17bfa7ec5bda2eb25a  gcc/testsuite/gcc.dg/torture/pr25654.c
+ 81035e7a609855a8022fd1e3b78def06  gcc/testsuite/gcc.dg/torture/pr25706-1.c
+ 0586ed66752951ce87141ec98a28e764  gcc/testsuite/gcc.dg/torture/pr25718-1.c
+ ee07fa195ebdd428b605017416bd1f2e  gcc/testsuite/gcc.dg/torture/pr25947-1.c
+ 7cdcc1be6cfdfe50717906508657e13a  gcc/testsuite/gcc.dg/torture/pr26258.c
  d870c565ecc3624fb4fbcb1510c36484  gcc/testsuite/gcc.dg/torture/tree-loop-1.c
  36de78b1e0dee582fcda7292901df258  gcc/testsuite/gcc.dg/trampoline-1.c
  6d50839b8de376e357caa647c5713316  gcc/testsuite/gcc.dg/transparent-union-1.c
  ef5bc6d620cc68ec203b322faa805c5b  gcc/testsuite/gcc.dg/transparent-union-2.c
  4d56b8e63668daab3951eed210064027  gcc/testsuite/gcc.dg/transparent-union-3.c
! 11f059e83dc6392e3262e900d4421030  gcc/testsuite/gcc.dg/transparent-union-4.c
! 374c28bb928f90240daa5bac2fe84e13  gcc/testsuite/gcc.dg/transparent-union-5.c
! e1e165ac5b18578c45e3525ad11828f0  gcc/testsuite/gcc.dg/tree-prof/inliner-1.c
! 05dc783ad54b783da5e00939908d5416  gcc/testsuite/gcc.dg/tree-prof/tree-prof.exp
! 1b74a5f0ff60519aa78acb745cde207d  gcc/testsuite/gcc.dg/tree-prof/update-cunroll-2.c
! 1ec28ba2efc227629105cdbfd480320e  gcc/testsuite/gcc.dg/tree-prof/update-loopch.c
! a9a4d7328774e5255c51da9b66b63f87  gcc/testsuite/gcc.dg/tree-prof/update-tailcall.c
! c9698beda57999f557aa67e056174f2d  gcc/testsuite/gcc.dg/tree-prof/val-prof-1.c
! da3fd46aaa95376e99e77d97fa797864  gcc/testsuite/gcc.dg/tree-prof/val-prof-2.c
! 0e346ad9383d6f88417c144318ff59bf  gcc/testsuite/gcc.dg/tree-prof/val-prof-3.c
! b47c96654e91a3b6c31e7c85f7b9e084  gcc/testsuite/gcc.dg/tree-prof/val-prof-4.c
! 45f876c737d370e536165184c906ff0a  gcc/testsuite/gcc.dg/tree-prof/val-prof-5.c
! fe711dab440ac707ef3ac832742ef1f8  gcc/testsuite/gcc.dg/tree-ssa/20030530-2.c
! 5b09897d5620f3a60aa5b131f66843c9  gcc/testsuite/gcc.dg/tree-ssa/20030611-1.c
! e097525376501a6e9ab7d198318a63bc  gcc/testsuite/gcc.dg/tree-ssa/20030703-1.c
! 00f622c7e3fcffe5d94d74ff4a90b58b  gcc/testsuite/gcc.dg/tree-ssa/20030703-2.c
! 5c1e70f84d197518e0f58a34eb06c052  gcc/testsuite/gcc.dg/tree-ssa/20030708-1.c
! 9cb9f633c567aaf5a8c36cf1198f4982  gcc/testsuite/gcc.dg/tree-ssa/20030709-1.c
! fe4d77243db6adfc8ac770e580ccf037  gcc/testsuite/gcc.dg/tree-ssa/20030709-2.c
! 003b7084a8a221a4b972ed5ee05d3bdf  gcc/testsuite/gcc.dg/tree-ssa/20030709-3.c
! 2e8a76f2b2eaf9219e7992779a5604c2  gcc/testsuite/gcc.dg/tree-ssa/20030710-1.c
! 25a6fe9c58987eea0de5e8c176beeec8  gcc/testsuite/gcc.dg/tree-ssa/20030711-1.c
! 2a41a0df036e3c2179f676ff0af9ae43  gcc/testsuite/gcc.dg/tree-ssa/20030711-2.c
! 7073ea58fbbee855b92e3cb63dd7387b  gcc/testsuite/gcc.dg/tree-ssa/20030711-3.c
! 7a838a4110c0140ce4fce12282c6820d  gcc/testsuite/gcc.dg/tree-ssa/20030714-1.c
! 814f77f173e73a4c135e681a08c162f5  gcc/testsuite/gcc.dg/tree-ssa/20030714-2.c
! 6f78c6ee1aeba3f64403762efc5766e6  gcc/testsuite/gcc.dg/tree-ssa/20030728-1.c
! 227900d9c56ccd16fafdcf63d6ff451c  gcc/testsuite/gcc.dg/tree-ssa/20030729-1.c
! a11361cb9dd6a1fa8d532b12980ff915  gcc/testsuite/gcc.dg/tree-ssa/20030730-1.c
! 2ecf0c95efa1fb93a0c7455ee70b3556  gcc/testsuite/gcc.dg/tree-ssa/20030730-2.c
! 84fddb5bedde7ff512d766c5d119b15f  gcc/testsuite/gcc.dg/tree-ssa/20030731-1.c
! 9d21860cdc66ff51d37dd8d818bf4990  gcc/testsuite/gcc.dg/tree-ssa/20030731-2.c
! c4e300e4e61cba02befcb2569548bf04  gcc/testsuite/gcc.dg/tree-ssa/20030807-1.c
! 0ce4766b876b246106ca1cd1a9c12753  gcc/testsuite/gcc.dg/tree-ssa/20030807-10.c
! 76d48427361d7200f249eedb0063fa70  gcc/testsuite/gcc.dg/tree-ssa/20030807-11.c
! ebd3c335e51c9f6df06714edb0690c6b  gcc/testsuite/gcc.dg/tree-ssa/20030807-2.c
! a6fecb0cc25f351631df9ecbc441f5f9  gcc/testsuite/gcc.dg/tree-ssa/20030807-3.c
! 4063ca57d30186e224e0deb1a63accce  gcc/testsuite/gcc.dg/tree-ssa/20030807-5.c
! d590e576474d1c79c154fcabd3d66306  gcc/testsuite/gcc.dg/tree-ssa/20030807-6.c
! 24d8ba36bea9a26906b3e73ea52e5949  gcc/testsuite/gcc.dg/tree-ssa/20030807-7.c
! 4c76d7007946ed2de1c6faa0c3fc2a1e  gcc/testsuite/gcc.dg/tree-ssa/20030807-8.c
! d2fe8f9401ae256b81160b0cdf1ef940  gcc/testsuite/gcc.dg/tree-ssa/20030807-9.c
! 778e66f03c633c7fd4befba8f49106c2  gcc/testsuite/gcc.dg/tree-ssa/20030808-1.c
! fb6a0d36bb1eeca8db9c6b34a4195b7d  gcc/testsuite/gcc.dg/tree-ssa/20030814-1.c
! aa827ea796f6a7786cc237115c3e2902  gcc/testsuite/gcc.dg/tree-ssa/20030814-2.c
! 842f3ef39c620c0fca4cb8bed82bc11e  gcc/testsuite/gcc.dg/tree-ssa/20030814-3.c
! ee659206d704344e7bc72c85db340c8d  gcc/testsuite/gcc.dg/tree-ssa/20030814-4.c
! ea55bf53cf9fa235512d7e6f90fd75d9  gcc/testsuite/gcc.dg/tree-ssa/20030814-5.c
! 5a19f64a43d9285409f07466f5d7dc9a  gcc/testsuite/gcc.dg/tree-ssa/20030814-6.c
! b2a413504ec4d1f4efde257aeaa1de14  gcc/testsuite/gcc.dg/tree-ssa/20030814-7.c
! b45fd4a283a641205628d0c1153aa2b9  gcc/testsuite/gcc.dg/tree-ssa/20030815-1.c
  37b6d017e93749c4f054272493006e39  gcc/testsuite/gcc.dg/tree-ssa/20030820-1.c
  14f412add3e73bb1cf98a6edef9af53e  gcc/testsuite/gcc.dg/tree-ssa/20030820-2.c
! c8f8bc58aa620beefdd16fcc9bea83cb  gcc/testsuite/gcc.dg/tree-ssa/20030821-1.c
! 454ad30d0d894c3daf43c52458741f35  gcc/testsuite/gcc.dg/tree-ssa/20030824-1.c
! e2d2c8df168f45fec0bd5449ea654fdc  gcc/testsuite/gcc.dg/tree-ssa/20030824-2.c
! ce03c288701895969b067c9ccf002d0e  gcc/testsuite/gcc.dg/tree-ssa/20030825-1.c
! 1f944ea23174816ed3387750d0b17733  gcc/testsuite/gcc.dg/tree-ssa/20030907-1.c
  d3e4952123ac0028935a5d65da05cd67  gcc/testsuite/gcc.dg/tree-ssa/20030907-2.c
! 31c74b119425c221e5373778b2712a80  gcc/testsuite/gcc.dg/tree-ssa/20030917-1.c
  ba2fbe68b2ea77c9003879dab67f3804  gcc/testsuite/gcc.dg/tree-ssa/20030917-2.c
! 3388bee4a263b5137656c9239135d009  gcc/testsuite/gcc.dg/tree-ssa/20030917-3.c
  ad3d44926acf90e0683b2abbd536b57c  gcc/testsuite/gcc.dg/tree-ssa/20030918-1.c
  b711d5b48e3978f92fa0b2c439cf6c14  gcc/testsuite/gcc.dg/tree-ssa/20030920-1.c
! f782e2e1a28927191aed87dbb6a4e227  gcc/testsuite/gcc.dg/tree-ssa/20030922-1.c
! 39ef108c7ebcb9d9a1d22d0b4da2aa4b  gcc/testsuite/gcc.dg/tree-ssa/20030922-2.c
! 02104347794e2ab060c922a906cc936d  gcc/testsuite/gcc.dg/tree-ssa/20031015-1.c
! 74246cac64ef1ec2f665cd33d4f63dce  gcc/testsuite/gcc.dg/tree-ssa/20031021-1.c
! 6c75ee2e1e47480a0c81176e11f5ddd7  gcc/testsuite/gcc.dg/tree-ssa/20031022-1.c
  bdedc20a8695902ec09f4a5c8ba7b012  gcc/testsuite/gcc.dg/tree-ssa/20031031-1.c
! 2c1ca5b9d4ec3098850222854f9c43c3  gcc/testsuite/gcc.dg/tree-ssa/20031106-1.c
! f052b468d20e921a41a7cb3b3385e033  gcc/testsuite/gcc.dg/tree-ssa/20031106-2.c
! defb9dff208d7a79e1d73c7dbd942c16  gcc/testsuite/gcc.dg/tree-ssa/20031106-3.c
! d8938b9ec10d712ae5ea3ed7d4669840  gcc/testsuite/gcc.dg/tree-ssa/20031106-4.c
! d237f0dee0c27a894c831beabb2e3203  gcc/testsuite/gcc.dg/tree-ssa/20031106-5.c
! 4cf6dba36df0a4c611a863db675c461d  gcc/testsuite/gcc.dg/tree-ssa/20031106-6.c
  3d74f7a86f1ec677f56458b70548904e  gcc/testsuite/gcc.dg/tree-ssa/20031113-1.c
! 523503c76ca62f10da315e3b327137f7  gcc/testsuite/gcc.dg/tree-ssa/20031216-1.c
  ac7ae0e4acb8ff1383bf2cdaf6e6e4ae  gcc/testsuite/gcc.dg/tree-ssa/20040121-1.c
! fbc296000951474aeff24b6821778d2f  gcc/testsuite/gcc.dg/tree-ssa/20040204-1.c
  f77e8abfc662bb2df841fb591e394a5d  gcc/testsuite/gcc.dg/tree-ssa/20040209-1.c
! 38824ef0fa6f6b0315d4837ea1875076  gcc/testsuite/gcc.dg/tree-ssa/20040210-1.c
! 1c15d05ae7a9f899882d34a4a873a96b  gcc/testsuite/gcc.dg/tree-ssa/20040211-1.c
! 4e9a73626618206affd903c370098656  gcc/testsuite/gcc.dg/tree-ssa/20040216-1.c
  a16d2e01da70ca721400fe836a568770  gcc/testsuite/gcc.dg/tree-ssa/20040302-1.c
! 204b1741857060c7feb64792c5f691a9  gcc/testsuite/gcc.dg/tree-ssa/20040305-1.c
  5615bf10dfe846a0602fd8956a60aec0  gcc/testsuite/gcc.dg/tree-ssa/20040313-1.c
  0138094a92b4816f6f1cf41d51f16912  gcc/testsuite/gcc.dg/tree-ssa/20040319-1.c
  2a8b94927ebf8e329037b7253ec6e329  gcc/testsuite/gcc.dg/tree-ssa/20040324-1.c
  5d26a52105764c38ddee33d39de337e3  gcc/testsuite/gcc.dg/tree-ssa/20040326-1.c
  68c84e300d62bfd5e4d2a2605a3ee084  gcc/testsuite/gcc.dg/tree-ssa/20040326-2.c
  30bf8f2d4da95eb4f5baf8b9f486ec9f  gcc/testsuite/gcc.dg/tree-ssa/20040408-1.c
! a8e0545c6492970683efd6d5ceba4cd9  gcc/testsuite/gcc.dg/tree-ssa/20040430-1.c
! 58d810877ef42adb5ed40c161cd73e3d  gcc/testsuite/gcc.dg/tree-ssa/20040513-1.c
! f7d8908a2270406c7805d42c68ef22e4  gcc/testsuite/gcc.dg/tree-ssa/20040513-2.c
! e05bb8ea189e2d916245aee7b6a843d1  gcc/testsuite/gcc.dg/tree-ssa/20040514-1.c
! 5773cc5738deb83e41728d5142ddc0ac  gcc/testsuite/gcc.dg/tree-ssa/20040514-2.c
! e70891254ffa350ef2818416c28d3717  gcc/testsuite/gcc.dg/tree-ssa/20040517-1.c
! 9bad61c83fd90cf20061a06c69b8604f  gcc/testsuite/gcc.dg/tree-ssa/20040518-1.c
! 713ffd35a4dae03d69b611c8fc0229b5  gcc/testsuite/gcc.dg/tree-ssa/20040518-2.c
! d060f97fcba01f85527e8794f09576c6  gcc/testsuite/gcc.dg/tree-ssa/20040615-1.c
! 9128db869f366a703149ba66fb2a955c  gcc/testsuite/gcc.dg/tree-ssa/20040624-1.c
! 3ccc2d5432858c59a2ab601b3d6a9691  gcc/testsuite/gcc.dg/tree-ssa/20040703-1.c
  e12c9ed0224acebe9161af9589a42ccf  gcc/testsuite/gcc.dg/tree-ssa/20040713-1.c
! 709e5b544c75a34fdcf1e449c6bda5fd  gcc/testsuite/gcc.dg/tree-ssa/20040721-1.c
! 7a86102e55e7dbcb857d4155c9dd2191  gcc/testsuite/gcc.dg/tree-ssa/20040729-1.c
! 3801950f2a5947f40172c01a96003640  gcc/testsuite/gcc.dg/tree-ssa/20040911-1.c
! a1e39e534946b78e2333c1143df6b85f  gcc/testsuite/gcc.dg/tree-ssa/20041002-1.c
! 4ab0a01cdce775bea15dcc3235cec991  gcc/testsuite/gcc.dg/tree-ssa/20041008-1.c
  93366da6daaa0436c31dfcb03c746093  gcc/testsuite/gcc.dg/tree-ssa/20041110-1.c
! 54b22142e5a257f072f0ea15fee6739a  gcc/testsuite/gcc.dg/tree-ssa/20041122-1.c
! eb98151818e3d4695f869d68053f5ff0  gcc/testsuite/gcc.dg/tree-ssa/20050128-1.c
! e7ac24deef98f159af186d60e4144cce  gcc/testsuite/gcc.dg/tree-ssa/20050215-1.c
! 7d79a6f2b9743e4ab402a6bb9da388e6  gcc/testsuite/gcc.dg/tree-ssa/20050314-1.c
! b098db36e4fd1c307d577e998ba80fd0  gcc/testsuite/gcc.dg/tree-ssa/20050412-1.c
! 2d274eeb3ee0b4bf3349f747deaf9b02  gcc/testsuite/gcc.dg/tree-ssa/20050719-1.c
! d7e2ee5363c34991d69f6afe7bd3b54d  gcc/testsuite/gcc.dg/tree-ssa/alias-1.c
! c57609b2031c4283a55d3f305c89340e  gcc/testsuite/gcc.dg/tree-ssa/alias-2.c
! 71ca6830378ac71c408f419d1b5b7308  gcc/testsuite/gcc.dg/tree-ssa/asm-1.c
! 83b3299a792a45308bcd0dc162d822fc  gcc/testsuite/gcc.dg/tree-ssa/asm-2.c
! 87f1de078b88b6c72fec9db6e4639ea8  gcc/testsuite/gcc.dg/tree-ssa/asm-3.c
! 83df8d38fc2b455f3bb754388413b9b4  gcc/testsuite/gcc.dg/tree-ssa/bool-1.c
! 30c29fd84c6243178414bc1daedfbfa3  gcc/testsuite/gcc.dg/tree-ssa/bool-2.c
! a495787083f9c711ad6ac1a918e965b9  gcc/testsuite/gcc.dg/tree-ssa/bool-3.c
! 3a56777ff2d157c3e565ed7d42371b15  gcc/testsuite/gcc.dg/tree-ssa/bool-4.c
! 85a8aec55b7fb62f1258a3dffe1ab447  gcc/testsuite/gcc.dg/tree-ssa/bool-5.c
! fd0ea9a7d29fd8643b3c0db81afe0a43  gcc/testsuite/gcc.dg/tree-ssa/bool-6.c
! 789961e59e138f7dde6d64a1b820b2de  gcc/testsuite/gcc.dg/tree-ssa/bool-7.c
! 71a836bd8b5db09de6e7acf460124551  gcc/testsuite/gcc.dg/tree-ssa/bool-8.c
! d5f55d135517211d512c885f4bc1cdaa  gcc/testsuite/gcc.dg/tree-ssa/bool-9.c
! 7eb995ba1b9c09b8e8c0f7b605c1aad0  gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-1.c
! 8303451506a4ac94b06d522deb55e366  gcc/testsuite/gcc.dg/tree-ssa/builtin-fprintf-chk-1.c
! 2877c050428faf4346d10117235b64c7  gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-1.c
! 9fc294caeb70106f1e2fecbc745695aa  gcc/testsuite/gcc.dg/tree-ssa/builtin-printf-chk-1.c
! d7189fc8ac555a81d434d41e1ea26698  gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-1.c
! ac2049e2e57f11c14225a0758fad7fd7  gcc/testsuite/gcc.dg/tree-ssa/builtin-vfprintf-chk-1.c
! 72dfc2fee8060bafcf3dc2f179b17de5  gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-1.c
! c321786347cc78e16e575c7a9ab22dad  gcc/testsuite/gcc.dg/tree-ssa/builtin-vprintf-chk-1.c
! 140ecbba840e5a08fcdb30a99a5a9546  gcc/testsuite/gcc.dg/tree-ssa/cfgcleanup-1.c
! 7227d478f3c8d89b9cf67e32a04e1071  gcc/testsuite/gcc.dg/tree-ssa/complex-1.c
! f5afcba63b5ff2b3b24ba99651f4c789  gcc/testsuite/gcc.dg/tree-ssa/complex-2.c
! 0f9b4364a33a07070f9c8b1cd09d50c1  gcc/testsuite/gcc.dg/tree-ssa/copy-headers.c
! 33a3fcae747cee654667314a41d7dae6  gcc/testsuite/gcc.dg/tree-ssa/flatten-1.c
! 03fc48a2dc21cd902a995ee99a40cdd7  gcc/testsuite/gcc.dg/tree-ssa/flatten-2.c
! f4aa4bca7c182fe308facd599569298b  gcc/testsuite/gcc.dg/tree-ssa/foldaddr-1.c
! fb7ea1e0730127563b41cfed3dedcdfd  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
! e600a9b449f5ec50591510c34c45461b  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11a.c
! 9b1d1c73363530785c0f64dae731aa3c  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11b.c
! 4a4c4dc6f03db827023c85d39b2f83f3  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11c.c
! e3bc86d53ae2651a2a42287c7bc368b8  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-2.c
! 14b53f0d2c7afd198c2d983848d539bb  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-25.c
! 6f75b20a0d6c224cbe95411c29045847  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-26.c
! 8efbe5b3eefdfb50d9ad0de91a407183  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-28.c
! 177224d689859f09a893bc1111106654  gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c
! bec6b7e4063fd9d13bfd257268c2397b  gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c
! 122af387dab35a1c2435adbecf8264e5  gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-2.c
! ee0564e9d214fe5d7c14a3fcf3790afe  gcc/testsuite/gcc.dg/tree-ssa/ifc-3.c
! 7b8076a5837ff8ff037d20a37fa6b826  gcc/testsuite/gcc.dg/tree-ssa/inline_asm-1.c
! db6b2a8f9208e5d07675183d4eb6de70  gcc/testsuite/gcc.dg/tree-ssa/inline_asm-2.c
! 8bf08723c530eac9bbcf3015a43e358f  gcc/testsuite/gcc.dg/tree-ssa/loop-1.c
! 798c34ad912efd5181dc54507d59dcd3  gcc/testsuite/gcc.dg/tree-ssa/loop-10.c
! ba9582179c5c5ca76dd9e1ecdea12a56  gcc/testsuite/gcc.dg/tree-ssa/loop-11.c
! 6d6fea9d8a2a210fb9dbdbdd3166c884  gcc/testsuite/gcc.dg/tree-ssa/loop-14.c
! 4006101eaace9c1366aac0326945806e  gcc/testsuite/gcc.dg/tree-ssa/loop-2.c
! 75da6d77f9ab4a3caebb0f56eb6dd700  gcc/testsuite/gcc.dg/tree-ssa/loop-3.c
! 3b02bdec3d3f06cacfb90dd791db9dd5  gcc/testsuite/gcc.dg/tree-ssa/loop-4.c
! 992f0b8d1d8197b8de6725aaab328b1a  gcc/testsuite/gcc.dg/tree-ssa/loop-5.c
! 441c6982e50018a6d3dcd45ced49c71f  gcc/testsuite/gcc.dg/tree-ssa/loop-6.c
! 22c8b44555ae25363f7e28a8d51410eb  gcc/testsuite/gcc.dg/tree-ssa/loop-7.c
! ab8f7c766193562e8c5f16a8a97e777c  gcc/testsuite/gcc.dg/tree-ssa/loop-8.c
! ca60d15c705ab307b185849a6d684577  gcc/testsuite/gcc.dg/tree-ssa/loop-9.c
! 6adb249d7a8ebf966a6e2b5e51802b7e  gcc/testsuite/gcc.dg/tree-ssa/ltrans-1.c
! 7947e09a80d7fe5ac0103d9f98ed28dd  gcc/testsuite/gcc.dg/tree-ssa/ltrans-2.c
! c45cbede57f23039e7e695e1bb1e4be5  gcc/testsuite/gcc.dg/tree-ssa/ltrans-3.c
! 70883b17dd043b15c7afdec1707e5d0b  gcc/testsuite/gcc.dg/tree-ssa/ltrans-4.c
! 6ffd4296b916ba1eebf9c6d98d030840  gcc/testsuite/gcc.dg/tree-ssa/ltrans-8.c
! c91abdfc532fcffae48d19d97620f337  gcc/testsuite/gcc.dg/tree-ssa/phi-opt-1.c
! 81c23b6e31c1af326035a3bd6b03da8f  gcc/testsuite/gcc.dg/tree-ssa/phi-opt-2.c
! 0b64e5a601bd4064c37ea0ed5439599c  gcc/testsuite/gcc.dg/tree-ssa/phi-opt-3.c
! 03b1beaa593d5e57c18cb8e30e55a6f4  gcc/testsuite/gcc.dg/tree-ssa/phi-opt-4.c
! ad44f3ceaf5a6b79ae5eb147839ca852  gcc/testsuite/gcc.dg/tree-ssa/phi-opt-5.c
! 31f3785da61fd84f661cc063e3d130d3  gcc/testsuite/gcc.dg/tree-ssa/pr14341.c
! 413c8fa56b7ddd751384e30d222cae8b  gcc/testsuite/gcc.dg/tree-ssa/pr14490-1.c
! 4dbd89329c8cb09fd35c67f75f8808df  gcc/testsuite/gcc.dg/tree-ssa/pr14490-2.c
! 140ca3ad18a00d27da98f8b3c35968fc  gcc/testsuite/gcc.dg/tree-ssa/pr14490-3.c
! b1c55bb2bbaaaaad6e44748adb6849d6  gcc/testsuite/gcc.dg/tree-ssa/pr14490-4.c
! f5163e12b453c07a066f073741c8040d  gcc/testsuite/gcc.dg/tree-ssa/pr14814.c
! adbd4b30a7e809ea0be286f7ac82fc4c  gcc/testsuite/gcc.dg/tree-ssa/pr14841.c
! 60dc83a675ddc0d797452eaaa0bc4420  gcc/testsuite/gcc.dg/tree-ssa/pr15349.c
  62600822d88828e393d9efe9f65e0fb1  gcc/testsuite/gcc.dg/tree-ssa/pr15791-1.c
  622a67339e32d57e1703eb816c9cddfc  gcc/testsuite/gcc.dg/tree-ssa/pr15791-2.c
! 60208923fa136080caefbbee2e86be67  gcc/testsuite/gcc.dg/tree-ssa/pr15791-3.c
! 0f59bb1d8a1193143a12e70d489de8a4  gcc/testsuite/gcc.dg/tree-ssa/pr15791-4.c
! 5c84d01e2380defec463c6de4c81154b  gcc/testsuite/gcc.dg/tree-ssa/pr15791-5.c
! 4beee17e2cf20a789132431078e6dd60  gcc/testsuite/gcc.dg/tree-ssa/pr16721.c
! 59ac8b661ab30713b4b1b874522fb798  gcc/testsuite/gcc.dg/tree-ssa/pr17141-1.c
! 8294ea9e5d58164b7f50bce49821b29b  gcc/testsuite/gcc.dg/tree-ssa/pr17141-2.c
! bdacd6178391819e18aa67f345b478cf  gcc/testsuite/gcc.dg/tree-ssa/pr17598.c
! 1b30aa1b9995f5a977fa62533175394c  gcc/testsuite/gcc.dg/tree-ssa/pr18133-1.c
! 2ca1beeaddd03f9da7b07bc53ff300da  gcc/testsuite/gcc.dg/tree-ssa/pr18133-2.c
! 5c337aeca23453fd8f4048d19b395d2c  gcc/testsuite/gcc.dg/tree-ssa/pr18134.c
! 76aa230627b8e7465ff491074e004bc0  gcc/testsuite/gcc.dg/tree-ssa/pr19055-2.c
! 748df78c92f15139ad74e3704fff1d9e  gcc/testsuite/gcc.dg/tree-ssa/pr19055.c
! 541537e822ae19daa4b9b607f4be039d  gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c
! f2a0270baef39377c4c930b7f4f9f6ab  gcc/testsuite/gcc.dg/tree-ssa/pr19210-2.c
! 5f8c8706514a59d109cec4139595188a  gcc/testsuite/gcc.dg/tree-ssa/pr19633.c
! 1dffcc8d33417b86507eca807817631f  gcc/testsuite/gcc.dg/tree-ssa/pr20139.c
! dfefe3e99109ac8880ae612b43ce828e  gcc/testsuite/gcc.dg/tree-ssa/pr20470.c
! 50fa95184525227ec9edcf572adafb03  gcc/testsuite/gcc.dg/tree-ssa/pr20490.c
! 1fd8307ea0dfbdb939cacd542baf768a  gcc/testsuite/gcc.dg/tree-ssa/pr20657.c
! 5d43e001b8df540557d756a4e9dab179  gcc/testsuite/gcc.dg/tree-ssa/pr20701.c
! 2c8ca6ed2d1eb42c87d99a0183f280a9  gcc/testsuite/gcc.dg/tree-ssa/pr20702.c
  738c7cc83dcdd6356d2c052f533c2329  gcc/testsuite/gcc.dg/tree-ssa/pr20739.c
! 8ca077d2fdc81ac38c3b5db2bd1669b0  gcc/testsuite/gcc.dg/tree-ssa/pr20913.c
! 21ca149e1a153a2e4912b783ba87a9cd  gcc/testsuite/gcc.dg/tree-ssa/pr20933.c
! 6facf1cb745a1713016b9938ebd25908  gcc/testsuite/gcc.dg/tree-ssa/pr21001.c
! 3df7eb8e85d5e3fbf792b99dc93158cb  gcc/testsuite/gcc.dg/tree-ssa/pr21029.c
! beffffe8293288a651397a70142190f5  gcc/testsuite/gcc.dg/tree-ssa/pr21031.c
! 1668e1e5ed6075bfd2d85760820c5305  gcc/testsuite/gcc.dg/tree-ssa/pr21086.c
! 006801787cb622b2d9358d0f9eb48f6c  gcc/testsuite/gcc.dg/tree-ssa/pr21090.c
! 682eda9a36b8cf270a52dfe4e77dbe81  gcc/testsuite/gcc.dg/tree-ssa/pr21171.c
! 6230b1a92b7b7696938721766486aa49  gcc/testsuite/gcc.dg/tree-ssa/pr21294.c
! 9f9eaaeec583d0deb4e33fb5c3bd15dc  gcc/testsuite/gcc.dg/tree-ssa/pr21332.c
! d972e9ed2f9d2443bf953de76af815f5  gcc/testsuite/gcc.dg/tree-ssa/pr21458.c
! b35f8040bd0d9cc3ef35bb1913d6a394  gcc/testsuite/gcc.dg/tree-ssa/pr21563.c
! 3d62514005f6a043d2ec8056e5843020  gcc/testsuite/gcc.dg/tree-ssa/pr21574.c
! 279147285dc93f2714357fa0e06aa2e0  gcc/testsuite/gcc.dg/tree-ssa/pr21582.c
! 60c633efc59be7b1583e766488a5198b  gcc/testsuite/gcc.dg/tree-ssa/pr21658.c
! 6720f0a10bf164980f8b5a6d6ae40df4  gcc/testsuite/gcc.dg/tree-ssa/pr21959.c
! 5d92691a0da3aac64d1d2ccfde2cfa17  gcc/testsuite/gcc.dg/tree-ssa/pr21985.c
! c9764a905f2c37d0f5420dcc057352f0  gcc/testsuite/gcc.dg/tree-ssa/pr22018.c
! cf4e2ad6faa2026dd607f7453b493b9f  gcc/testsuite/gcc.dg/tree-ssa/pr22026.c
! 863d6cfd8ce80f2eaac8afb1fc35c911  gcc/testsuite/gcc.dg/tree-ssa/pr22051-1.c
! e4a4425437c33938a177a28fd87d34d2  gcc/testsuite/gcc.dg/tree-ssa/pr22051-2.c
! 70c6287755c1525a02056b173da26bc3  gcc/testsuite/gcc.dg/tree-ssa/pr22117.c
  8722e1903d33eba8d8172a467f1f57eb  gcc/testsuite/gcc.dg/tree-ssa/pr22171.c
! d9df7625f66b989cd9c941e4fe5b29c1  gcc/testsuite/gcc.dg/tree-ssa/pr22230.c
! 80b2afdd2139f061a900d515b850e588  gcc/testsuite/gcc.dg/tree-ssa/pr22236.c
! ccccc42f5040fc9f5af0996772c7d24c  gcc/testsuite/gcc.dg/tree-ssa/pr22321.c
  e41277e04bee7df7b11d55da9b4fe987  gcc/testsuite/gcc.dg/tree-ssa/pr22591.c
+ 6ec855d3db6bc5e4410f28561c40c9a3  gcc/testsuite/gcc.dg/tree-ssa/pr23048.c
+ e48cefd245c9ec0d0668af64bdeb7c2d  gcc/testsuite/gcc.dg/tree-ssa/pr23109.c
+ 47af3309c96c9aefd2530eecc942887d  gcc/testsuite/gcc.dg/tree-ssa/pr23115.c
  17cf4f2be6b7c7f23ca1e880e6d2fe18  gcc/testsuite/gcc.dg/tree-ssa/pr23192.c
+ 1fe2b7b4b490cdf9b653867ecd2b355c  gcc/testsuite/gcc.dg/tree-ssa/pr23234.c
+ a5f7733eac883776dbeb84ba46b2d522  gcc/testsuite/gcc.dg/tree-ssa/pr23382.c
+ 53e80f6e819356859c66e2548d7bd5cf  gcc/testsuite/gcc.dg/tree-ssa/pr23386.c
+ 2874b76c743a08977faa79fb2448e722  gcc/testsuite/gcc.dg/tree-ssa/pr23391.c
+ 871b28d56be6aa074bb5016467b3ad28  gcc/testsuite/gcc.dg/tree-ssa/pr23433.c
+ cac5e1a7d91932fb11d9c96707d7f1fa  gcc/testsuite/gcc.dg/tree-ssa/pr23434.c
  a6f655f4f2c501df04e063c61d2edb55  gcc/testsuite/gcc.dg/tree-ssa/pr23546.c
+ f4e27609f61b8c202ebb29b08e322c43  gcc/testsuite/gcc.dg/tree-ssa/pr24117.c
+ 26ec017ae40de49b569479db9d90e482  gcc/testsuite/gcc.dg/tree-ssa/pr24627.c
+ e1bb4bd1396ce7f70b31214d44f00d45  gcc/testsuite/gcc.dg/tree-ssa/pr24670.c
+ d3d5d3454b7a9fec378a207a77937780  gcc/testsuite/gcc.dg/tree-ssa/pr24840.c
+ e39066db23dc56c017c673fca462f358  gcc/testsuite/gcc.dg/tree-ssa/pr26180.c
+ 0ec49536ad1cc1d04272945aaeb2202b  gcc/testsuite/gcc.dg/tree-ssa/pta-fp.c
+ 91df939c8eddff2cf35b4db4f9e39d65  gcc/testsuite/gcc.dg/tree-ssa/reassoc-1.c
+ f9e75bdc17fa24ce59f2d1638359e7a2  gcc/testsuite/gcc.dg/tree-ssa/reassoc-2.c
+ 8bf2f9036c495bac6368326d07ba7f15  gcc/testsuite/gcc.dg/tree-ssa/reassoc-3.c
+ 583c54dfcdc35694f32ad61130af2d1c  gcc/testsuite/gcc.dg/tree-ssa/reassoc-4.c
+ cea45eefb066f77be04d95855be54503  gcc/testsuite/gcc.dg/tree-ssa/recip-1.c
+ d93d306f9f73904f53c1618b7a18e815  gcc/testsuite/gcc.dg/tree-ssa/recip-2.c
+ 623c8bdbd149d8e24acf4969b4b20bb5  gcc/testsuite/gcc.dg/tree-ssa/recip-3.c
+ 1d0da1576d42627cf4758fbc11c7cfd7  gcc/testsuite/gcc.dg/tree-ssa/recip-4.c
+ fb68b850a94919434b5d900ac59b1f6c  gcc/testsuite/gcc.dg/tree-ssa/recip-5.c
+ a8a1bf1aad4a5cdf5515651835432cca  gcc/testsuite/gcc.dg/tree-ssa/recip-6.c
+ cb56b53dc3c37514185e780caa57db5c  gcc/testsuite/gcc.dg/tree-ssa/recip-7.c
+ 2dd9af3e8f15ed84ebd23fdcc60857b2  gcc/testsuite/gcc.dg/tree-ssa/salias-1.c
  52daa8eedbd22c7715c760e3a07d16d9  gcc/testsuite/gcc.dg/tree-ssa/scev-1.c
  4323482b616b668100a20fa9ef8249fa  gcc/testsuite/gcc.dg/tree-ssa/scev-2.c
! 5950a1075b7f3a458633e5eed78bcf5f  gcc/testsuite/gcc.dg/tree-ssa/sra-1.c
! 2c490055e53c0f2cce079fd609af658e  gcc/testsuite/gcc.dg/tree-ssa/sra-2.c
! 21f8179e9c8c353b636411455dc869cd  gcc/testsuite/gcc.dg/tree-ssa/sra-3.c
! 99b233f24bad267de308331bef72589e  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-1.c
! 90b2153a68fe24591703574df5e21633  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-10.c
! 7a3fa8614f3c400e179bc792910f5b17  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-11.c
! 117a7197008a189d9d1f30625843cc53  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-12.c
! 79d87848a9926772f40773e98f2ea942  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-2.c
! 24c639918669e4e67226653e8b26b6b0  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-3.c
! 7b14d21d142f8d504ab3dbc9f415828c  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-7.c
! 50fc5d3ff16499c407a1a8136e154928  gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-9.c
! 0be9e2696c43b94bf0ef5bcd13560ec8  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-1.c
! 7402eb318f939c5510f126effea75fdb  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-2.c
! 080a61b1202d617658f0766fb9a63cad  gcc/testsuite/gcc.dg/tree-ssa/ssa-dce-3.c
! 42310b3b3e5c03a00392ffb654707515  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-ccp-1.c
! 2ed8fc800b17184871b5342a45d52696  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-cse-1.c
! 5373e2a303f0ff7f64974b7cad0b2b8b  gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-1.c
! fdf69faf1a95d34a2babccba1720977d  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-1.c
! d86d2656ca1cf59618c1811c6898e037  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-2.c
! f66f0b01e824f80f3504519d9a93db6f  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-3.c
! c24591c26b9653cea8ac5e089e3ac6db  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-4.c
! 93e2b2ea9eb754740ef710123e70f265  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-5.c
! 540348a493ddb2721b352c4ee9a9e4ff  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-6.c
! 99e9b7e4a4e6ec5634d9bca48e486cd4  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-7.c
! f4779c6680cebbcb248e8fd574b9bfa0  gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-8.c
! 1c303bf60000e2a8001cd04c5917566f  gcc/testsuite/gcc.dg/tree-ssa/ssa-eustores.c
! b91da7178f30c07d5decac1b2eba7d80  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-1.c
! a3864ecbb5f02b2294a0d54b023bd7b7  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-10.c
! ab98f31b0c023c6ba751bf8ef42da290  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-11.c
! eba70e336abb6deecd4d2ed9a9c09952  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-12.c
! 256591a08d0fbc277017cf0fe1af6d4f  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-13.c
! 2d728328674a541362729003f0ecb5ff  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-14.c
! 075148306b88f1da3e51419817313c97  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-2.c
! 347e61714c1c77694f36c4b4df2f74bf  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-3.c
! 909026894d8391ce6061c09e72123ae3  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-4.c
! c64d2f1af55d496b1cd815bad4a6a96a  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-5.c
! f42e5d25fea42552e96256d1b803e57b  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-6.c
! c21d5759433af3bb1770bbc98eaf7aa6  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-7.c
! efdae5a6c7b5b3020e377a1743df6140  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-8.c
! 562f490c3e907c0cf951018f83771993  gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-9.c
! 017e6a77af2a0e3345fe79e3a6593930  gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-1.c
! 19c075c883e47842ab5cd8c3be734c5a  gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-2.c
! 30483892f615caea78b31fe5b5418ba5  gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-3.c
! 45f80cf61ddfc5b81144552a51162880  gcc/testsuite/gcc.dg/tree-ssa/ssa-sink-4.c
! 09a809ac0cd72c77fb0cd37738397624  gcc/testsuite/gcc.dg/tree-ssa/stdarg-1.c
! f25e1528c4db3216adb1cfba708db8d8  gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c
! 20fe62ae5e8fa88ed0c122cb3ac5456e  gcc/testsuite/gcc.dg/tree-ssa/stdarg-3.c
! 03f22b0e4d7a3aad5dddfa8231526795  gcc/testsuite/gcc.dg/tree-ssa/stdarg-4.c
! 38f57a1c89c0329a10e5d86b7cb83295  gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c
! 7ee4b4375026ced302ff0d8422ac62a0  gcc/testsuite/gcc.dg/tree-ssa/structopt-1.c
! 9df872803712ed06150f9e0ea290b39b  gcc/testsuite/gcc.dg/tree-ssa/structopt-2.c
! e4933b882d605107a3e26359ff03a02a  gcc/testsuite/gcc.dg/tree-ssa/structopt-3.c
! c9bdabd586651d2f9a33f15aa17e4e60  gcc/testsuite/gcc.dg/tree-ssa/tailcall-1.c
! 6ac5f031ba27eb14925abd4950e316f6  gcc/testsuite/gcc.dg/tree-ssa/tailcall-2.c
! a0210d6fe57c24da589a20ea219556a1  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-1.c
! 9a22515f8bc0382f17b9647b5335010d  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-2.c
! 6b8f9e5aa8bd8bf34b75eb15fbc8b328  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-3.c
! f5b684faadecd37a9231356e230804d7  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-4.c
! 64589d1b84bf10100424dad05b3c2e7b  gcc/testsuite/gcc.dg/tree-ssa/tailrecursion-5.c
! fa8dff92aa35bc5d778028e19f3e8781  gcc/testsuite/gcc.dg/tree-ssa/tree-ssa.exp
! 490c8d439fa495d30cd618a2092b7757  gcc/testsuite/gcc.dg/tree-ssa/upcast-1.c
! e2fba7853313e9b9c75032593b00fd51  gcc/testsuite/gcc.dg/tree-ssa/update-cunroll.c
! 2efc8e92a9e33481f5faf0d566346d67  gcc/testsuite/gcc.dg/tree-ssa/update-threading.c
! 4308dddbf522a2bfe90e821c01cbbde4  gcc/testsuite/gcc.dg/tree-ssa/useless-1.c
! 1a11f203920d968ffc109a1cc9583382  gcc/testsuite/gcc.dg/tree-ssa/vrp01.c
! 23dcc07a87f8018514817949e88fef84  gcc/testsuite/gcc.dg/tree-ssa/vrp02.c
! a48f8a7ce3431866280fc0899f57b31e  gcc/testsuite/gcc.dg/tree-ssa/vrp03.c
! f6b4818f5aeefb107fe36bd65c25cc69  gcc/testsuite/gcc.dg/tree-ssa/vrp04.c
! 02d1ca48ea4bf5b9f4bea35453daedd5  gcc/testsuite/gcc.dg/tree-ssa/vrp05.c
! cb85e02308f90adaa9357ddfaf4fc4e9  gcc/testsuite/gcc.dg/tree-ssa/vrp06.c
! e57caca8b55c3c6d0526612883620dbd  gcc/testsuite/gcc.dg/tree-ssa/vrp07.c
! 618ff7bca7681c76211084093bc2fba3  gcc/testsuite/gcc.dg/tree-ssa/vrp08.c
! 5706b0760a8ac283f17fa3c0bc4c7ef9  gcc/testsuite/gcc.dg/tree-ssa/vrp09.c
! 8f07eaab92f75b69087cfc765f06ab0e  gcc/testsuite/gcc.dg/tree-ssa/vrp10.c
! 6baf9137724100634b01a3b8213efe2e  gcc/testsuite/gcc.dg/tree-ssa/vrp11.c
! f3d86cc60994f06a98f8b82fb45992b0  gcc/testsuite/gcc.dg/tree-ssa/vrp12.c
! 208df939c3d0ac1c24d91116de34d255  gcc/testsuite/gcc.dg/tree-ssa/vrp13.c
! 64429bd1904f085e3660b2ff912a6125  gcc/testsuite/gcc.dg/tree-ssa/vrp14.c
! 836141730ebed697af22c97202faf15b  gcc/testsuite/gcc.dg/tree-ssa/vrp15.c
! c554f3c110bb98b34dd3e723fa174bd9  gcc/testsuite/gcc.dg/tree-ssa/vrp16.c
! 37b14fa8c97b79bfba3959c26a2142aa  gcc/testsuite/gcc.dg/tree-ssa/vrp17.c
! fd94b7592e5af9196de198cdfca17818  gcc/testsuite/gcc.dg/tree-ssa/vrp18.c
! 4b3acff030018f19f43b10f22480cfdc  gcc/testsuite/gcc.dg/tree-ssa/vrp19.c
! 8c117fa978dbf67f93ef2501720ab48f  gcc/testsuite/gcc.dg/tree-ssa/vrp20.c
! 042d6b97f1046a4a234a5c591e1a87ed  gcc/testsuite/gcc.dg/tree-ssa/vrp21.c
! 63176004cb8d9a996e6fed7812d7df94  gcc/testsuite/gcc.dg/tree-ssa/wholeprogram-1.c
! 22cecfb6e50e9a0bfcb8417c616ecff4  gcc/testsuite/gcc.dg/tree-ssa/wholeprogram-2.c
  99aa4b3086bd54b2fa365b5e4b9c58fa  gcc/testsuite/gcc.dg/trunc-1.c
  5a58fa954426a9307499c22fa4d90b23  gcc/testsuite/gcc.dg/typedef-init.c
  033f9eaca6e2312d2cefbe1ee49f3460  gcc/testsuite/gcc.dg/typedef-redecl.c
  7b938b0cb614b822c40b1d1cd3386863  gcc/testsuite/gcc.dg/typedef-redecl.h
  0347a7dc32b8dfb279bdfe3b50e84008  gcc/testsuite/gcc.dg/typeof-1.c
  de8fdd5952fa2932ecbb34d020db3223  gcc/testsuite/gcc.dg/typespec-1.c
+ 1cc7d04808baa8f231877b2a2f8ec29f  gcc/testsuite/gcc.dg/ucnid-1.c
+ 115d9287c288e297e7ecffc8d0d640bf  gcc/testsuite/gcc.dg/ucnid-2.c
+ 44e76ff56bf4ec03ed8a9004fde7509f  gcc/testsuite/gcc.dg/ucnid-3.c
+ 41260c5d5996e3291b79557a3e93a529  gcc/testsuite/gcc.dg/ucnid-4.c
+ 207a8830e3ac1365d49ec6f9a86f0d30  gcc/testsuite/gcc.dg/ucnid-5.c
+ 6cf5a2f6c7fe4117abbd1f600ed3ff81  gcc/testsuite/gcc.dg/ucnid-6.c
  162aee94d382b45e32a043caff03684f  gcc/testsuite/gcc.dg/ultrasp1.c
  ed2b73d80d75f96b69fc515ae2a8e2f2  gcc/testsuite/gcc.dg/ultrasp10.c
  e9ec9a7a1c116a57514c6e26dba325e2  gcc/testsuite/gcc.dg/ultrasp11.c
*************** e80fcfc95aa764ab5173fe0441bd64f0  gcc/te
*** 17527,17539 ****
  f0a8a0b26965879e40a88ebccf31030c  gcc/testsuite/gcc.dg/uninit-1.c
  2efe604c8afc3ddbb3731d3111a1bee7  gcc/testsuite/gcc.dg/uninit-10.c
  47ed84368456fefad7abc1900b77eb03  gcc/testsuite/gcc.dg/uninit-11.c
  e7bbbf0090661e8a065ace2511f8f195  gcc/testsuite/gcc.dg/uninit-2.c
  9f0fb0245ee08bf0f10f3a180e2006cd  gcc/testsuite/gcc.dg/uninit-3.c
! d37b87a3341d5c9a8abac4ac47c1b8df  gcc/testsuite/gcc.dg/uninit-4.c
! af150904d1ab27049e751cfe71293bce  gcc/testsuite/gcc.dg/uninit-5.c
  3c151f7c8ccd2ef3938ef0448635a88c  gcc/testsuite/gcc.dg/uninit-6.c
  02fd8399336707a49596611f5e0d77ff  gcc/testsuite/gcc.dg/uninit-8.c
! ef92619a17772d7674bdb6cdfbfab67e  gcc/testsuite/gcc.dg/uninit-9.c
  16629fbf66db8d64116183c2cffefbb4  gcc/testsuite/gcc.dg/uninit-A.c
  fce48cae3da7d32c821f9ffe0f3a2987  gcc/testsuite/gcc.dg/uninit-B.c
  cb38da50a5c4228ccc9424c776452cb1  gcc/testsuite/gcc.dg/uninit-C.c
--- 16624,16639 ----
  f0a8a0b26965879e40a88ebccf31030c  gcc/testsuite/gcc.dg/uninit-1.c
  2efe604c8afc3ddbb3731d3111a1bee7  gcc/testsuite/gcc.dg/uninit-10.c
  47ed84368456fefad7abc1900b77eb03  gcc/testsuite/gcc.dg/uninit-11.c
+ 0f74715307480eaa0f1ede0a00d7d489  gcc/testsuite/gcc.dg/uninit-12.c
+ bbade8f6ea2d43db8024c489475c82af  gcc/testsuite/gcc.dg/uninit-13.c
+ 7eea6f3931a5572af13879f31560102e  gcc/testsuite/gcc.dg/uninit-14.c
  e7bbbf0090661e8a065ace2511f8f195  gcc/testsuite/gcc.dg/uninit-2.c
  9f0fb0245ee08bf0f10f3a180e2006cd  gcc/testsuite/gcc.dg/uninit-3.c
! e36b0a4b14063baf6381118a03371e4a  gcc/testsuite/gcc.dg/uninit-4.c
! 9c9ae385fc71a7c13e5524784cc39d70  gcc/testsuite/gcc.dg/uninit-5.c
  3c151f7c8ccd2ef3938ef0448635a88c  gcc/testsuite/gcc.dg/uninit-6.c
  02fd8399336707a49596611f5e0d77ff  gcc/testsuite/gcc.dg/uninit-8.c
! 6ea00b5c511f3badb68b366c54f77cd0  gcc/testsuite/gcc.dg/uninit-9.c
  16629fbf66db8d64116183c2cffefbb4  gcc/testsuite/gcc.dg/uninit-A.c
  fce48cae3da7d32c821f9ffe0f3a2987  gcc/testsuite/gcc.dg/uninit-B.c
  cb38da50a5c4228ccc9424c776452cb1  gcc/testsuite/gcc.dg/uninit-C.c
*************** eb3da821b8325355aae91cb8e079d6a4  gcc/te
*** 17545,17557 ****
  b9bb4f2aa63b0063ee5ebd05ee909084  gcc/testsuite/gcc.dg/uninit-I.c
  78c7acd37bc5c230e62db954ee385285  gcc/testsuite/gcc.dg/union-1.c
  19582a249859766163d52754d6531172  gcc/testsuite/gcc.dg/union-2.c
  a7ac2b6782378edf99026215c26ce37f  gcc/testsuite/gcc.dg/unordered-1.c
  fced4847e686e50fcf2f9178fed8ec41  gcc/testsuite/gcc.dg/unordered-2.c
  71d6c034e39b6c686c0b734cd47d63f2  gcc/testsuite/gcc.dg/unordered-3.c
! 1fd79cf0a79a2323734ac93b09a4c724  gcc/testsuite/gcc.dg/unroll-1.c
  aa7c265797a6b0a2b548e25a531baf92  gcc/testsuite/gcc.dg/unused-1.c
  8ba0a7c993176dd2077bdae924adddc8  gcc/testsuite/gcc.dg/unused-2.c
! ab4388fbc891efa6bd4ea338695fd64f  gcc/testsuite/gcc.dg/unused-3.c
  f55895cb94c5e964c468715a41917cb5  gcc/testsuite/gcc.dg/unused-4.c
  514522eb235dda25d2291d3a4faf0580  gcc/testsuite/gcc.dg/unused-5.c
  e3db8ed02ca0ecad28455ac3f0b93696  gcc/testsuite/gcc.dg/unused-6.c
--- 16645,16661 ----
  b9bb4f2aa63b0063ee5ebd05ee909084  gcc/testsuite/gcc.dg/uninit-I.c
  78c7acd37bc5c230e62db954ee385285  gcc/testsuite/gcc.dg/union-1.c
  19582a249859766163d52754d6531172  gcc/testsuite/gcc.dg/union-2.c
+ e4b537e85147239a3fc4b998be3eac4c  gcc/testsuite/gcc.dg/union-cast-1.c
+ 9fa2cff5bcff4df8b1fc7bf0d88b061b  gcc/testsuite/gcc.dg/union-cast-2.c
+ b909732314b5b1dd0dbae5d059adef6f  gcc/testsuite/gcc.dg/union-cast-3.c
  a7ac2b6782378edf99026215c26ce37f  gcc/testsuite/gcc.dg/unordered-1.c
  fced4847e686e50fcf2f9178fed8ec41  gcc/testsuite/gcc.dg/unordered-2.c
  71d6c034e39b6c686c0b734cd47d63f2  gcc/testsuite/gcc.dg/unordered-3.c
! f9705026f87be900b46e00364aa2298f  gcc/testsuite/gcc.dg/unroll-1.c
! 9f04d15f61bc5234f83304afbd259806  gcc/testsuite/gcc.dg/unsigned-long-compare.c
  aa7c265797a6b0a2b548e25a531baf92  gcc/testsuite/gcc.dg/unused-1.c
  8ba0a7c993176dd2077bdae924adddc8  gcc/testsuite/gcc.dg/unused-2.c
! 8ea67291b6065e3954d79cfd0329672b  gcc/testsuite/gcc.dg/unused-3.c
  f55895cb94c5e964c468715a41917cb5  gcc/testsuite/gcc.dg/unused-4.c
  514522eb235dda25d2291d3a4faf0580  gcc/testsuite/gcc.dg/unused-5.c
  e3db8ed02ca0ecad28455ac3f0b93696  gcc/testsuite/gcc.dg/unused-6.c
*************** b9094e47fb1bcf5228d5a172f181d34c  gcc/te
*** 17559,17665 ****
  5fb1882dbd19a99231ccfb010ee68bd5  gcc/testsuite/gcc.dg/va-arg-1.c
  1cf7bde6d2bbf11d4cb7b99fc070f910  gcc/testsuite/gcc.dg/va-arg-2.c
  7eb72d01fa5dd0efeb65de148d13d82f  gcc/testsuite/gcc.dg/va-arg-3.c
! d02f9656631c2615923d88b8c44be21c  gcc/testsuite/gcc.dg/vect/pr16105.c
! 8ab4c330748112c1be6a29fab9bd8407  gcc/testsuite/gcc.dg/vect/pr18308.c
! 07747cad73fd15fff4e936e6f72a3346  gcc/testsuite/gcc.dg/vect/pr18400.c
! d6aff1909a921e27333361faf66ca1fd  gcc/testsuite/gcc.dg/vect/pr18425.c
! 660dba77f26204989505ad3cd618c2d8  gcc/testsuite/gcc.dg/vect/pr18536.c
! c695dc2264c3ab79501734468e2dd0bf  gcc/testsuite/gcc.dg/vect/pr20122.c
  90ab48a907acc4d2920aaff47f390c7f  gcc/testsuite/gcc.dg/vect/tree-vect.h
! c95a68e6649f0c173afb9ff81b624b21  gcc/testsuite/gcc.dg/vect/vect-1.c
! 35ec8cf8f68f247a1a3cded2943d6837  gcc/testsuite/gcc.dg/vect/vect-10.c
! 234a5af3543ca1da9ef11b86ea96885c  gcc/testsuite/gcc.dg/vect/vect-11.c
! 307c9044de3821651da72e4c6d425124  gcc/testsuite/gcc.dg/vect/vect-12.c
! 9862c7a9cc8af0fb7735f7a1120f0f34  gcc/testsuite/gcc.dg/vect/vect-13.c
! 984fbbca4991e5df1d103f53b9c883c9  gcc/testsuite/gcc.dg/vect/vect-14.c
! 54db45bccab22ba541f20cafe492cad1  gcc/testsuite/gcc.dg/vect/vect-15.c
! 871bd95fbd069770dedd86d46d3cee7f  gcc/testsuite/gcc.dg/vect/vect-16.c
! 3d54e82eb877a152970853dec97ffe17  gcc/testsuite/gcc.dg/vect/vect-17.c
! f7bff0b59e47c0cf67234cf70404397a  gcc/testsuite/gcc.dg/vect/vect-18.c
! 5a4c541bcd765c7986c187f09d2c9448  gcc/testsuite/gcc.dg/vect/vect-19.c
! 5fd38a7278d8c83fab6057c9e4e4d188  gcc/testsuite/gcc.dg/vect/vect-2.c
! a259db5149951271f0b4ed016e2076b1  gcc/testsuite/gcc.dg/vect/vect-20.c
! f3b7f477ae13d39b6ed5b30d0b9ae27a  gcc/testsuite/gcc.dg/vect/vect-21.c
! a9e250f5c9f2bb93b8bed811fec1abd5  gcc/testsuite/gcc.dg/vect/vect-22.c
! ab8a5afb72c4ad6b8bcd13b5014df4e9  gcc/testsuite/gcc.dg/vect/vect-23.c
! f86ec8c0254700db89c92f255b3230db  gcc/testsuite/gcc.dg/vect/vect-24.c
! a22d4041cb50fb51c3875d66f02ded0d  gcc/testsuite/gcc.dg/vect/vect-25.c
! aff5f82b270cf2bda386da6f8aaf06d0  gcc/testsuite/gcc.dg/vect/vect-26.c
! 0697de81ac26ce20c343a8cd849b55b9  gcc/testsuite/gcc.dg/vect/vect-27.c
! 5f2aff40d83b9da47254c78c54289609  gcc/testsuite/gcc.dg/vect/vect-28.c
! 7541f3401f43175556b2e5ddc224a4ff  gcc/testsuite/gcc.dg/vect/vect-29.c
! 8e9c1f9eaeb44fae79fc6d9cf4a0b9b6  gcc/testsuite/gcc.dg/vect/vect-3.c
! a2ce7df0032267e67e76f30f11632ffd  gcc/testsuite/gcc.dg/vect/vect-30.c
! c3de7556c39353e26babe6470ad15591  gcc/testsuite/gcc.dg/vect/vect-31.c
! c6fec3b3f10e0bfff7ce313e952d64c1  gcc/testsuite/gcc.dg/vect/vect-32.c
! 3df22000f831ff7f871f84ac57d42359  gcc/testsuite/gcc.dg/vect/vect-33.c
! f49f6794c4c510a1e8ff8c2742ddfe47  gcc/testsuite/gcc.dg/vect/vect-34.c
! fbe3c19822f0034a4d8571660b9e1942  gcc/testsuite/gcc.dg/vect/vect-35.c
! d9a9f99ac51f2cdbe58402773ed92596  gcc/testsuite/gcc.dg/vect/vect-36.c
! 4ad0a6c075b77682451ba81be9a4858f  gcc/testsuite/gcc.dg/vect/vect-37.c
! bf6b858a573c62d7133096b5e9815fdf  gcc/testsuite/gcc.dg/vect/vect-38.c
! 1fe40801c3ab3170459a4b976a5df092  gcc/testsuite/gcc.dg/vect/vect-4.c
! 0cc1f4a664863a3a34f1b6090e02ceff  gcc/testsuite/gcc.dg/vect/vect-40.c
! 321d9f1876d7055b79daae9c27770870  gcc/testsuite/gcc.dg/vect/vect-41.c
! db281fadb5ca77b86d89156775013357  gcc/testsuite/gcc.dg/vect/vect-42.c
! 1dc59c2aaa3bf836e03703e23693bf8a  gcc/testsuite/gcc.dg/vect/vect-43.c
! 9da59bddd5695d8d1d0157b8cdc137ed  gcc/testsuite/gcc.dg/vect/vect-44.c
! 7a8a68be2fdef6415f642c3c70f4b946  gcc/testsuite/gcc.dg/vect/vect-45.c
! 10b25e362e937856d310e125d232dcb2  gcc/testsuite/gcc.dg/vect/vect-46.c
! 57255ccdf12954cfe18749746e6eb598  gcc/testsuite/gcc.dg/vect/vect-47.c
! 0ab12480c3db7a78f6aebd2f8ccb1ae0  gcc/testsuite/gcc.dg/vect/vect-48.c
! 0048094d7270c25f82d274a107b9a599  gcc/testsuite/gcc.dg/vect/vect-49.c
! b8608ba5d7136abc0ad2eb9532f84082  gcc/testsuite/gcc.dg/vect/vect-5.c
! 3ab647977c9f1fb7a87c3f7c5ab6dfd3  gcc/testsuite/gcc.dg/vect/vect-50.c
! cfd6ec3f86c231125a21c6cb1597e494  gcc/testsuite/gcc.dg/vect/vect-51.c
! bb9a4a4f0657a56f95cba2d694e0fde8  gcc/testsuite/gcc.dg/vect/vect-52.c
! 0d9801c4aa307c4dc428494a9ce38313  gcc/testsuite/gcc.dg/vect/vect-53.c
! d590a705633ad5fce83614969140d178  gcc/testsuite/gcc.dg/vect/vect-54.c
! ab55b1e63f5ab2b2b0ced787544ada48  gcc/testsuite/gcc.dg/vect/vect-55.c
! c2f6c9462301e94c36109544aabb690f  gcc/testsuite/gcc.dg/vect/vect-56.c
! 7f6f5461c01f4b85bdfe6d4cfc9f658f  gcc/testsuite/gcc.dg/vect/vect-57.c
! e5e3d388552555aa8c5eca2c2698b8b5  gcc/testsuite/gcc.dg/vect/vect-58.c
! 05253e9f740e237faf35a5a6df411992  gcc/testsuite/gcc.dg/vect/vect-59.c
! a0120f48f4f0895e1e35fec2cb7f5292  gcc/testsuite/gcc.dg/vect/vect-6.c
! fca7b6e5f106683c7bb357db7e7a84da  gcc/testsuite/gcc.dg/vect/vect-60.c
! 9deb4fcc8459b752ad0e40bcfb59191c  gcc/testsuite/gcc.dg/vect/vect-61.c
! 4150ae40bedeaf1394d889a0cf19f06b  gcc/testsuite/gcc.dg/vect/vect-62.c
! c72b3cd401ccbf6093b7f44a672318b6  gcc/testsuite/gcc.dg/vect/vect-63.c
! bb573d8cbb2f35604ab00aa3e338e6dd  gcc/testsuite/gcc.dg/vect/vect-64.c
! 9f4b4d2a160332a3434418baf7aa85ab  gcc/testsuite/gcc.dg/vect/vect-65.c
! a7edf5cbd8d598e5553377ca19c23ce9  gcc/testsuite/gcc.dg/vect/vect-66.c
! 46a7145406329c29f168b56c005b6891  gcc/testsuite/gcc.dg/vect/vect-67.c
! 7d6b3f7101629a64735a0a0605a17dd8  gcc/testsuite/gcc.dg/vect/vect-68.c
! abf7b7a96220f428c9b017bc243c17e2  gcc/testsuite/gcc.dg/vect/vect-69.c
! c969e8210f9de27b61a1b23c438766c7  gcc/testsuite/gcc.dg/vect/vect-7.c
! 38fe6406af6bd490d812ad10e78f4e24  gcc/testsuite/gcc.dg/vect/vect-70.c
! 8e98403305e9e4d4c0af9f5a9ebb8d9c  gcc/testsuite/gcc.dg/vect/vect-71.c
! fa60146c65642c3d9a06a0e94bffde35  gcc/testsuite/gcc.dg/vect/vect-72.c
! 8112cd8ccfc477f3cf1762e0306cd940  gcc/testsuite/gcc.dg/vect/vect-73.c
! beac2ca997ed8da1c26756fc830ed7a7  gcc/testsuite/gcc.dg/vect/vect-74.c
! 2292dfd54d680706dc872a27c0dd67d0  gcc/testsuite/gcc.dg/vect/vect-75.c
! dc7ae7bb701f43e5261f8b3357eac6d9  gcc/testsuite/gcc.dg/vect/vect-76.c
! 05603fa96d4a510dad51501251fa6de3  gcc/testsuite/gcc.dg/vect/vect-77.c
! e8a83a144054954601b086ff6eafb494  gcc/testsuite/gcc.dg/vect/vect-78.c
! a68200f47d5d919786159674bd3bec9f  gcc/testsuite/gcc.dg/vect/vect-79.c
! 5f9fd8694d97c9b785b48f0f15b1b218  gcc/testsuite/gcc.dg/vect/vect-8.c
! 0d57137a95ccf9eda8da348c46de1e74  gcc/testsuite/gcc.dg/vect/vect-80.c
! ae813ba854011a07e969347be60d0e95  gcc/testsuite/gcc.dg/vect/vect-82.c
! 58647342c0d27bf56ba013d7d0546e6b  gcc/testsuite/gcc.dg/vect/vect-82_64.c
! 079af77b7c541947308b41a2fc75fdec  gcc/testsuite/gcc.dg/vect/vect-83.c
! 0641ea15fd76405216fb77d360a38a8e  gcc/testsuite/gcc.dg/vect/vect-83_64.c
! 5c441a785ea252a9dab428426f09dd14  gcc/testsuite/gcc.dg/vect/vect-85.c
! fc685363d0cedc8ba955d196c2d1b260  gcc/testsuite/gcc.dg/vect/vect-86.c
! 54613c6e5743d5ba3e904e715b42a693  gcc/testsuite/gcc.dg/vect/vect-87.c
! 23d49cb0fe45e3717066aecacf75ecad  gcc/testsuite/gcc.dg/vect/vect-88.c
! 85b821cc8cf74b0a15c81fed02845ce6  gcc/testsuite/gcc.dg/vect/vect-89.c
! 3c2f4210811b7f838ad653fe4efcb3bc  gcc/testsuite/gcc.dg/vect/vect-9.c
! 5255626bbd9c5f86510ba97aa7351bbc  gcc/testsuite/gcc.dg/vect/vect-96.c
! c6147aa8e2223be00e47fb616f39295f  gcc/testsuite/gcc.dg/vect/vect-97.c
! 264c98a8ff447f94e131ba60f5f2c137  gcc/testsuite/gcc.dg/vect/vect-98.c
! a0429866b04d0336b7297e0ca244f06c  gcc/testsuite/gcc.dg/vect/vect-all.c
! a6f1c109d679a529b917d722cae271fb  gcc/testsuite/gcc.dg/vect/vect-none.c
! d80a69a8c2e97e956d7fc83218abcdad  gcc/testsuite/gcc.dg/vect/vect.exp
  682b52464ba3c1efc4293e4f2d4ba5b7  gcc/testsuite/gcc.dg/verbose-asm.c
  041fff4d324fc530a54c5034fa50048f  gcc/testsuite/gcc.dg/visibility-1.c
  ef79ece01e8a70a1ed6b1875bd44c735  gcc/testsuite/gcc.dg/visibility-10.c
--- 16663,16824 ----
  5fb1882dbd19a99231ccfb010ee68bd5  gcc/testsuite/gcc.dg/va-arg-1.c
  1cf7bde6d2bbf11d4cb7b99fc070f910  gcc/testsuite/gcc.dg/va-arg-2.c
  7eb72d01fa5dd0efeb65de148d13d82f  gcc/testsuite/gcc.dg/va-arg-3.c
! 38b5f8eb174faf97ec096757a537ba68  gcc/testsuite/gcc.dg/varpool-1.c
! 59c1f0ab54926b9636fd26d6957858a5  gcc/testsuite/gcc.dg/vect/Os-vect-95.c
! 15857bdea2f80cb44b07a22e15057131  gcc/testsuite/gcc.dg/vect/fast-math-vect-reduc-5.c
! 87aeac3ba379aae409aeddf8c74b9e5f  gcc/testsuite/gcc.dg/vect/fast-math-vect-reduc-7.c
! ac90ad8f4383592387ff86cb8dbd78ce  gcc/testsuite/gcc.dg/vect/nodump-pr23073.c
! 369dd1feda702908145aac35769f6e3a  gcc/testsuite/gcc.dg/vect/pr16105.c
! 0a62167fbb422fb9d5f72a82002aa913  gcc/testsuite/gcc.dg/vect/pr18308.c
! e1bcf789590fd82cc8454c21d434baa7  gcc/testsuite/gcc.dg/vect/pr18400.c
! 645ff9360ffdb88920a90f602391ae90  gcc/testsuite/gcc.dg/vect/pr18425.c
! a49102b46dc586c052a36b6e0e711080  gcc/testsuite/gcc.dg/vect/pr18536.c
! 3de1937cf23eaa345f5cb811d31e3a5f  gcc/testsuite/gcc.dg/vect/pr20122.c
! 93062dc07459216ae29daaf0daf682b7  gcc/testsuite/gcc.dg/vect/pr21969.c
! 2272cdf5868f3917b9a996f48b9a7ecf  gcc/testsuite/gcc.dg/vect/pr22480.c
! 21dafceafaa251599db2c2c9610f6798  gcc/testsuite/gcc.dg/vect/pr22506.c
! 388aae043f21f441eacdb80d2ecaedfa  gcc/testsuite/gcc.dg/vect/pr23816-1.c
! 0a0515428c2b76eadcc0c2f19461a495  gcc/testsuite/gcc.dg/vect/pr23816-2.c
! 9d70b883e452139874cd6a44a43e01b1  gcc/testsuite/gcc.dg/vect/pr23831.c
! 3ed904762fc60bc108ce010e53c35487  gcc/testsuite/gcc.dg/vect/pr24049.c
! 5333d6d7b598846ce5c108d9000394a4  gcc/testsuite/gcc.dg/vect/pr24059.c
! 13fae091e3084165d8014de990e903dc  gcc/testsuite/gcc.dg/vect/pr24300.c
! 38653ea337561bdc3facb737a4d31ce5  gcc/testsuite/gcc.dg/vect/trapv-vect-reduc-4.c
  90ab48a907acc4d2920aaff47f390c7f  gcc/testsuite/gcc.dg/vect/tree-vect.h
! 61a9d3421257be5725fe676b479895b0  gcc/testsuite/gcc.dg/vect/vect-1.c
! 76110dd68b7e4f39ba9528b6ffc2ea6c  gcc/testsuite/gcc.dg/vect/vect-10.c
! d8ef54934623d2cfb4fa8444268d424e  gcc/testsuite/gcc.dg/vect/vect-100.c
! c36e218c8568014c5d967502c766e929  gcc/testsuite/gcc.dg/vect/vect-101.c
! 55905eaa0107b2f64b8857a233206823  gcc/testsuite/gcc.dg/vect/vect-102.c
! 0fc706948d35f7b3b6fa0f22c0fe7284  gcc/testsuite/gcc.dg/vect/vect-103.c
! c46aec46352ee6f2eeba61926e029298  gcc/testsuite/gcc.dg/vect/vect-104.c
! 7bff910f38ef5db406112e9b27779c6f  gcc/testsuite/gcc.dg/vect/vect-105.c
! 6da0993bfddbde3be1b92290a62a07fa  gcc/testsuite/gcc.dg/vect/vect-106.c
! e90d398a3698a65cabdd5552ab9ad6e0  gcc/testsuite/gcc.dg/vect/vect-107.c
! 7ffe63e2ca67535f18b162a86cc041ff  gcc/testsuite/gcc.dg/vect/vect-108.c
! a05a2a9bec93e76570ff167ce8c02025  gcc/testsuite/gcc.dg/vect/vect-109.c
! 443d5334875472fc4b8eaef6de37f891  gcc/testsuite/gcc.dg/vect/vect-11.c
! 1872747cea0ee381e2cb370921b0e399  gcc/testsuite/gcc.dg/vect/vect-110.c
! 270cfa5523fb4d1ba39463f68ff6a1c2  gcc/testsuite/gcc.dg/vect/vect-111.c
! 00463c901413b9e13ad90efdc29a1417  gcc/testsuite/gcc.dg/vect/vect-112.c
! 3002d608dc370ceeefef867a0a65a7ee  gcc/testsuite/gcc.dg/vect/vect-113.c
! 0253ca1973c0fd87c5deef07c8ee84d3  gcc/testsuite/gcc.dg/vect/vect-114.c
! 0ef2f672c647cee5a16d57800faadd5d  gcc/testsuite/gcc.dg/vect/vect-115.c
! 93ac18cbcc98bb31626e83bac88ac263  gcc/testsuite/gcc.dg/vect/vect-116.c
! 4bdfd21d62be6491e01cc12ac361e215  gcc/testsuite/gcc.dg/vect/vect-11a.c
! 200133fde46f93b56984e88dfd15f33a  gcc/testsuite/gcc.dg/vect/vect-12.c
! f6700333decdd30a0436d6e93342f6f2  gcc/testsuite/gcc.dg/vect/vect-13.c
! bd41f30565800fa62c2efcfb1df85b4d  gcc/testsuite/gcc.dg/vect/vect-14.c
! c8e317461f45d15eafd3485fe8b1e5ec  gcc/testsuite/gcc.dg/vect/vect-15.c
! 87852953f3918a7210d537c79e8d44b2  gcc/testsuite/gcc.dg/vect/vect-16.c
! f21b8a643d4abb7ea9fc075854137bd2  gcc/testsuite/gcc.dg/vect/vect-17.c
! abb8ce6b3aa764628c7a62f9a01f046e  gcc/testsuite/gcc.dg/vect/vect-18.c
! 04dab9a5d4d025faf3fa2e8b757c40af  gcc/testsuite/gcc.dg/vect/vect-19.c
! a125147e88db01fbd4e272d4959069af  gcc/testsuite/gcc.dg/vect/vect-2.c
! 9dbafc02cc90c0281688829d8145e77c  gcc/testsuite/gcc.dg/vect/vect-20.c
! 143e2a9125862d2e1d967f6491980ced  gcc/testsuite/gcc.dg/vect/vect-21.c
! 401d1d76b174f72fa01cb5234093ace0  gcc/testsuite/gcc.dg/vect/vect-22.c
! 1a0b9b7aa2e72a88f922a45c5c6a0350  gcc/testsuite/gcc.dg/vect/vect-23.c
! 484dbbd10bbe7f62702386fe6a46e152  gcc/testsuite/gcc.dg/vect/vect-24.c
! acedf2c5ca8148570717294d2f25c9c1  gcc/testsuite/gcc.dg/vect/vect-25.c
! 78f6802591e55830d75d4931d97a1656  gcc/testsuite/gcc.dg/vect/vect-26.c
! 7767b2220c0c702fc6577baa68001f0f  gcc/testsuite/gcc.dg/vect/vect-27.c
! 235aaa072c6f956be8c354d35b471b9c  gcc/testsuite/gcc.dg/vect/vect-28.c
! 57793e52b5d33a4a486a13ed24dd1b6b  gcc/testsuite/gcc.dg/vect/vect-29.c
! 3eda32d6f0ea48b87a094d018865b9bc  gcc/testsuite/gcc.dg/vect/vect-3.c
! 6fec16cbd25b3a3b93ee924449db618c  gcc/testsuite/gcc.dg/vect/vect-30.c
! 38ff6188d6b370c80bc12b62c0c0e4ab  gcc/testsuite/gcc.dg/vect/vect-31.c
! e41c1448c0d7d5f4ae7cfcf3e0287158  gcc/testsuite/gcc.dg/vect/vect-32.c
! 979985977a04c173df41924ff4772ae7  gcc/testsuite/gcc.dg/vect/vect-33.c
! 104c0d582cf4383348201a0d99ce6141  gcc/testsuite/gcc.dg/vect/vect-34.c
! 697c8016706becdc505b9752ce507a22  gcc/testsuite/gcc.dg/vect/vect-35.c
! bb6ad51fa92b32a7e4bc0c5cc99d611b  gcc/testsuite/gcc.dg/vect/vect-36.c
! 3c793244641a6cdd3fdd318aed72f6d8  gcc/testsuite/gcc.dg/vect/vect-37.c
! ec21503f35cacd9c3d5aafd0f9438658  gcc/testsuite/gcc.dg/vect/vect-38.c
! f4a1dbb91c86b429353ab61027175755  gcc/testsuite/gcc.dg/vect/vect-4.c
! b85d8acdf455a7f5d3ab4c3ff3cac79e  gcc/testsuite/gcc.dg/vect/vect-40.c
! 060b638f153d310e767d65fceb725c7b  gcc/testsuite/gcc.dg/vect/vect-42.c
! 91495743286c69a94760b577119feaa6  gcc/testsuite/gcc.dg/vect/vect-43.c
! 0b944297408577354f5dfa558acc4df4  gcc/testsuite/gcc.dg/vect/vect-44.c
! f8919260623a7f7b94475cc6eb4880f9  gcc/testsuite/gcc.dg/vect/vect-45.c
! cd4c48ddde0e77e1739cac27d5b871dc  gcc/testsuite/gcc.dg/vect/vect-46.c
! a52a3fc845e50beb6f74e65414615268  gcc/testsuite/gcc.dg/vect/vect-48.c
! e82aa53a01b1d9ca267d00f7b576c2f5  gcc/testsuite/gcc.dg/vect/vect-49.c
! c634d269556dbb4b19aad650b61e5956  gcc/testsuite/gcc.dg/vect/vect-5.c
! 4e0070bea82ff24e9a5b5c496703ac73  gcc/testsuite/gcc.dg/vect/vect-50.c
! cc187a587ea10d035ad6ffe4e6f79083  gcc/testsuite/gcc.dg/vect/vect-51.c
! 75756b9842d73046ab5638d8cf4e8508  gcc/testsuite/gcc.dg/vect/vect-52.c
! 2ed78a9305a6325428a9b9bf5b9c53bf  gcc/testsuite/gcc.dg/vect/vect-53.c
! 70f3a6e9990cb07cc0b5e3253c2b91d9  gcc/testsuite/gcc.dg/vect/vect-54.c
! 248c82f8fb5cfbceac5ecfab45f45ccb  gcc/testsuite/gcc.dg/vect/vect-56.c
! 92d6e48b827c88a25ea12a6e8f755ba1  gcc/testsuite/gcc.dg/vect/vect-57.c
! 8f761728093a35051d9a3935cba4fa16  gcc/testsuite/gcc.dg/vect/vect-58.c
! 56f931db0473763c930e34b3a662d873  gcc/testsuite/gcc.dg/vect/vect-6.c
! 6f500837f0f499e4d879be1d39fda14f  gcc/testsuite/gcc.dg/vect/vect-60.c
! 9fe7e687468f44047d103134fa23ed1a  gcc/testsuite/gcc.dg/vect/vect-61.c
! ccfbb19f91c8d94ba8f6322547fdc4e1  gcc/testsuite/gcc.dg/vect/vect-62.c
! 4428a9dcbf5c5b31580f8f276cc91f80  gcc/testsuite/gcc.dg/vect/vect-63.c
! 55b7da0501d7eef9edb9d49370d23428  gcc/testsuite/gcc.dg/vect/vect-64.c
! 6a74d81c78678f415e92b389a019e006  gcc/testsuite/gcc.dg/vect/vect-65.c
! 063237dbe1a233ca1b6e5f08f23f5b48  gcc/testsuite/gcc.dg/vect/vect-66.c
! 8e56aec401e69d159c623c14403ed91b  gcc/testsuite/gcc.dg/vect/vect-67.c
! 6d0b566f3a481d21ad921e41fe3ad88e  gcc/testsuite/gcc.dg/vect/vect-68.c
! 5569a85ea51b81b67305452d9ff8f479  gcc/testsuite/gcc.dg/vect/vect-69.c
! 9c39e81d732011a35da5581a678bcd65  gcc/testsuite/gcc.dg/vect/vect-7.c
! 1aa8f8197ddfef0b0903b99dd00bb7bb  gcc/testsuite/gcc.dg/vect/vect-70.c
! 92cc99f26441975a69b5ec726be9c6a1  gcc/testsuite/gcc.dg/vect/vect-71.c
! e519a157af04ab16f0f968cca4330fa9  gcc/testsuite/gcc.dg/vect/vect-72.c
! 7158349fa614776dee6073821a6da833  gcc/testsuite/gcc.dg/vect/vect-73.c
! fbb192944ee7caeef12b1c8bf34fac1b  gcc/testsuite/gcc.dg/vect/vect-74.c
! a59511869f1ee80e4e9e306bd7074c5f  gcc/testsuite/gcc.dg/vect/vect-75.c
! 1815c1d1c29e2716b476b8344aed09d2  gcc/testsuite/gcc.dg/vect/vect-76.c
! f49cd9e5726145cb50b75ce1550784df  gcc/testsuite/gcc.dg/vect/vect-77.c
! c65c7862cf7b5f1d9d52dc1f12558e86  gcc/testsuite/gcc.dg/vect/vect-78.c
! f9a496bc19de56ee1207aa19dabdfe98  gcc/testsuite/gcc.dg/vect/vect-79.c
! 9dfb5af61f6dbd239af70e823055b97b  gcc/testsuite/gcc.dg/vect/vect-8.c
! 4d5065c76ddff6c1d44cd5b4b72da422  gcc/testsuite/gcc.dg/vect/vect-80.c
! 89b2e50215cc9344bac5c2290f4a539a  gcc/testsuite/gcc.dg/vect/vect-82.c
! 5305d61913bba9e69af98912133446c6  gcc/testsuite/gcc.dg/vect/vect-82_64.c
! 7780bee622f264817a7450479da52e8c  gcc/testsuite/gcc.dg/vect/vect-83.c
! 6687bab37389ec321aec07a643fcc3f7  gcc/testsuite/gcc.dg/vect/vect-83_64.c
! e94d9961179898ca0664b4c71aaadd55  gcc/testsuite/gcc.dg/vect/vect-85.c
! 7c213a2d3413ca19c109c096ae99c518  gcc/testsuite/gcc.dg/vect/vect-86.c
! 699cdb40bfae5a5a7fa72bd7cad9f6c8  gcc/testsuite/gcc.dg/vect/vect-87.c
! b3cd3b10ce8d8532d6e3013f9f720d16  gcc/testsuite/gcc.dg/vect/vect-88.c
! e2ae20c81026a312d9bc775cb1a56730  gcc/testsuite/gcc.dg/vect/vect-89.c
! 8232d7bb59927c5b2ec596735134a4f3  gcc/testsuite/gcc.dg/vect/vect-9.c
! 18392f08e32d992f30a92561751b2ec4  gcc/testsuite/gcc.dg/vect/vect-91.c
! 68787a8506218a50d2e51cc7b38d0956  gcc/testsuite/gcc.dg/vect/vect-92.c
! 88d5be853003073208969e7e0269beea  gcc/testsuite/gcc.dg/vect/vect-93.c
! 17486cddb6dd32acda8ac856dbea13a9  gcc/testsuite/gcc.dg/vect/vect-95.c
! 21f933bd5ea28f343e2902bf3a9b3587  gcc/testsuite/gcc.dg/vect/vect-96.c
! c451e39b564abd41415f6dfd15474734  gcc/testsuite/gcc.dg/vect/vect-97.c
! 4407177129c8c51ea968f9dc25c18e21  gcc/testsuite/gcc.dg/vect/vect-98.c
! 65bd72ad44052c78d154d12a2aa078b9  gcc/testsuite/gcc.dg/vect/vect-99.c
! 24bf631f69301c73611d870cabe88acd  gcc/testsuite/gcc.dg/vect/vect-all.c
! 34f34a67876b23053b9654dc17287ade  gcc/testsuite/gcc.dg/vect/vect-dv-1.c
! 54e25682b936b2ebf72ea30c1c71cd89  gcc/testsuite/gcc.dg/vect/vect-dv-2.c
! a0008c3bb00408f6bbe3633aac101075  gcc/testsuite/gcc.dg/vect/vect-ifcvt-10.c
! 62ac795ebcdb5193f8751ca73a260bc1  gcc/testsuite/gcc.dg/vect/vect-ifcvt-2.c
! ffc64e916f7d29e08d6398ca928ccee4  gcc/testsuite/gcc.dg/vect/vect-ifcvt-3.c
! 57cb51ce05f025809a8f4cacec19fbed  gcc/testsuite/gcc.dg/vect/vect-ifcvt-4.c
! fd0cc4ec8bf1c73a32089a2c01823b69  gcc/testsuite/gcc.dg/vect/vect-ifcvt-5.c
! c2e8f59f6567847e6b16b110468e5732  gcc/testsuite/gcc.dg/vect/vect-ifcvt-6.c
! 9f2bb901451d9f53fd5521daee7a3fe3  gcc/testsuite/gcc.dg/vect/vect-ifcvt-7.c
! 9598f4e8250f9eeca9799022fdb55049  gcc/testsuite/gcc.dg/vect/vect-ifcvt-9.c
! 8609778490e019c523231aeab59ae494  gcc/testsuite/gcc.dg/vect/vect-reduc-1.c
! 7bcbbbf10ad3817c6d9270e35bec2474  gcc/testsuite/gcc.dg/vect/vect-reduc-1char.c
! 71f9270d1720f17f07e4504dfee55ab3  gcc/testsuite/gcc.dg/vect/vect-reduc-1short.c
! 79b08a25c6cd609d5e58975351fd95b2  gcc/testsuite/gcc.dg/vect/vect-reduc-2.c
! 3ffb1326cccaea2620d7a50145a05b46  gcc/testsuite/gcc.dg/vect/vect-reduc-2char.c
! 94317f112f21b355de96c6833ed7d692  gcc/testsuite/gcc.dg/vect/vect-reduc-2short.c
! 699efcef471eace764fd97dd431d620d  gcc/testsuite/gcc.dg/vect/vect-reduc-3.c
! f536a4d153a59458713da1453f0bbb21  gcc/testsuite/gcc.dg/vect/vect-reduc-6.c
! 27e75eae65492efbef07d54baae8ad9d  gcc/testsuite/gcc.dg/vect/vect-reduc-7.c
! d5822b16997ba120e14796a660147809  gcc/testsuite/gcc.dg/vect/vect-reduc-8.c
! 3317be40805ad22a1a03f9c365d304b6  gcc/testsuite/gcc.dg/vect/vect-reduc-9.c
! 890a7e5a748ea7a2db4d60341d2209b0  gcc/testsuite/gcc.dg/vect/vect-shift-1.c
! c3b8e84be256ebaa78836dddfb1adaf1  gcc/testsuite/gcc.dg/vect/vect.exp
  682b52464ba3c1efc4293e4f2d4ba5b7  gcc/testsuite/gcc.dg/verbose-asm.c
  041fff4d324fc530a54c5034fa50048f  gcc/testsuite/gcc.dg/visibility-1.c
  ef79ece01e8a70a1ed6b1875bd44c735  gcc/testsuite/gcc.dg/visibility-10.c
*************** cef7070b381518da6b1a5af1d304f9f6  gcc/te
*** 17674,17679 ****
--- 16833,16839 ----
  51bd3363341ceb4e539e21557ec163d2  gcc/testsuite/gcc.dg/visibility-a.c
  65032f980ed26d35986016868f58f5fb  gcc/testsuite/gcc.dg/visibility-b.c
  3914edf5bc61ae4a7f8bfe7daf7a917f  gcc/testsuite/gcc.dg/visibility-c.c
+ 86ff2e0220006b62079262b0a60c8325  gcc/testsuite/gcc.dg/visibility-d.c
  3e1ba4e8c65af4f1d7b139f51191b956  gcc/testsuite/gcc.dg/vla-2.c
  6da7e407ab569942e7bcc48db1e5e9a0  gcc/testsuite/gcc.dg/vla-3.c
  7c812137a18ff02eb065abda9d45bbc7  gcc/testsuite/gcc.dg/vla-init-1.c
*************** a6cbfa0e1febdc24c55462118baed2d9  gcc/te
*** 17776,17789 ****
  a89c7a49191b8c215d45bfcd40dbf073  gcc/testsuite/gcc.dg/vmx/spill2.c
  4ad67e9b592e66eb6b2836bd582e41ea  gcc/testsuite/gcc.dg/vmx/spill3.c
  b74b4229263d70abbf112c2c622f29ba  gcc/testsuite/gcc.dg/vmx/t.c
! 478b33172a099319d7c94edd5aee496a  gcc/testsuite/gcc.dg/vmx/varargs-1.c
  15ebdb6bd2f562d6d29fd6dcfabbef19  gcc/testsuite/gcc.dg/vmx/varargs-2.c
  882296448ff1569550d5cc0fbbffd7cb  gcc/testsuite/gcc.dg/vmx/varargs-3.c
  85dd99be8c8600253b6299684e997376  gcc/testsuite/gcc.dg/vmx/varargs-4.c
  3b83b84983785b62d2f5d8f3e3a9e4a0  gcc/testsuite/gcc.dg/vmx/varargs-5.c
  5cc01078c1f3f451644a44dfdc807444  gcc/testsuite/gcc.dg/vmx/varargs-6.c
  441584a435c20e33e9ba2840da79de7b  gcc/testsuite/gcc.dg/vmx/varargs-7.c
! d52a83e69106c128dc7d96969c6c65ed  gcc/testsuite/gcc.dg/vmx/vmx.exp
  0e39fb03e625fd0928ac3568284946cb  gcc/testsuite/gcc.dg/vmx/x-01.c
  780491d8a6964b34313eb871098c1ec6  gcc/testsuite/gcc.dg/vmx/x-02.c
  ff3cd9551d1dd9b4583c366dae3bac4e  gcc/testsuite/gcc.dg/vmx/x-03.c
--- 16936,16949 ----
  a89c7a49191b8c215d45bfcd40dbf073  gcc/testsuite/gcc.dg/vmx/spill2.c
  4ad67e9b592e66eb6b2836bd582e41ea  gcc/testsuite/gcc.dg/vmx/spill3.c
  b74b4229263d70abbf112c2c622f29ba  gcc/testsuite/gcc.dg/vmx/t.c
! 45503aad478d338e7fe457e2a68fced4  gcc/testsuite/gcc.dg/vmx/varargs-1.c
  15ebdb6bd2f562d6d29fd6dcfabbef19  gcc/testsuite/gcc.dg/vmx/varargs-2.c
  882296448ff1569550d5cc0fbbffd7cb  gcc/testsuite/gcc.dg/vmx/varargs-3.c
  85dd99be8c8600253b6299684e997376  gcc/testsuite/gcc.dg/vmx/varargs-4.c
  3b83b84983785b62d2f5d8f3e3a9e4a0  gcc/testsuite/gcc.dg/vmx/varargs-5.c
  5cc01078c1f3f451644a44dfdc807444  gcc/testsuite/gcc.dg/vmx/varargs-6.c
  441584a435c20e33e9ba2840da79de7b  gcc/testsuite/gcc.dg/vmx/varargs-7.c
! 76c515379356c29ff1b622e22f7aa542  gcc/testsuite/gcc.dg/vmx/vmx.exp
  0e39fb03e625fd0928ac3568284946cb  gcc/testsuite/gcc.dg/vmx/x-01.c
  780491d8a6964b34313eb871098c1ec6  gcc/testsuite/gcc.dg/vmx/x-02.c
  ff3cd9551d1dd9b4583c366dae3bac4e  gcc/testsuite/gcc.dg/vmx/x-03.c
*************** a839e38d5fdcecdad410c10f0712349f  gcc/te
*** 17795,17812 ****
  a19666095820b8aebc1ef8d84e2f9001  gcc/testsuite/gcc.dg/void-cast-1.c
  63af52d24b19759036249ea919e57846  gcc/testsuite/gcc.dg/void-cast-2.c
  4f86f41367e187a8eaafc00476f3e985  gcc/testsuite/gcc.dg/volatile1.c
- 96dc67a9f7700adcc8c8ed2470e1e011  gcc/testsuite/gcc.dg/vr-mult-1.c
- 5679a348183319d7b643f0d8dd78bfda  gcc/testsuite/gcc.dg/vr-mult-2.c
  4aa02781167f1251520d288681a4b02d  gcc/testsuite/gcc.dg/warn-1.c
  06467199d10c768530ff05eb6bc16fb8  gcc/testsuite/gcc.dg/wcaselabel-1.c
  d91e023a81202843f93ef98d9386955f  gcc/testsuite/gcc.dg/wchar_t-1.c
  f2cc2a4270e9964959b2a5f3df5cdaae  gcc/testsuite/gcc.dg/wchar_t-2.c
! e18fb97d5f78944d15f33e30e8975e64  gcc/testsuite/gcc.dg/weak/typeof-2.c
  986c02c7e51f343e3970338f5a1ba853  gcc/testsuite/gcc.dg/weak/weak-1.c
  5b030d8bcb22dedd984e8d8dae17cfb6  gcc/testsuite/gcc.dg/weak/weak-10.c
  121bd4b7463864effe08a934bc490b0d  gcc/testsuite/gcc.dg/weak/weak-11.c
  64a74c79e46532418d1a7abe90d28930  gcc/testsuite/gcc.dg/weak/weak-12.c
  fc79cd4804afe5fc2b7f140f5eae482d  gcc/testsuite/gcc.dg/weak/weak-13.c
  3662d1fbfdd56e6dd5a87baf8c78410f  gcc/testsuite/gcc.dg/weak/weak-2.c
  cfefa8846a8d94d0e3aa00b841802592  gcc/testsuite/gcc.dg/weak/weak-3.c
  66df7ede09b74690c141035924b813ec  gcc/testsuite/gcc.dg/weak/weak-4.c
--- 16955,16971 ----
  a19666095820b8aebc1ef8d84e2f9001  gcc/testsuite/gcc.dg/void-cast-1.c
  63af52d24b19759036249ea919e57846  gcc/testsuite/gcc.dg/void-cast-2.c
  4f86f41367e187a8eaafc00476f3e985  gcc/testsuite/gcc.dg/volatile1.c
  4aa02781167f1251520d288681a4b02d  gcc/testsuite/gcc.dg/warn-1.c
  06467199d10c768530ff05eb6bc16fb8  gcc/testsuite/gcc.dg/wcaselabel-1.c
  d91e023a81202843f93ef98d9386955f  gcc/testsuite/gcc.dg/wchar_t-1.c
  f2cc2a4270e9964959b2a5f3df5cdaae  gcc/testsuite/gcc.dg/wchar_t-2.c
! 449d32dd66f1b6a48c7071b257d2504a  gcc/testsuite/gcc.dg/weak/typeof-2.c
  986c02c7e51f343e3970338f5a1ba853  gcc/testsuite/gcc.dg/weak/weak-1.c
  5b030d8bcb22dedd984e8d8dae17cfb6  gcc/testsuite/gcc.dg/weak/weak-10.c
  121bd4b7463864effe08a934bc490b0d  gcc/testsuite/gcc.dg/weak/weak-11.c
  64a74c79e46532418d1a7abe90d28930  gcc/testsuite/gcc.dg/weak/weak-12.c
  fc79cd4804afe5fc2b7f140f5eae482d  gcc/testsuite/gcc.dg/weak/weak-13.c
+ 2dbf1902b4b321c5bf3cfc37eae03a68  gcc/testsuite/gcc.dg/weak/weak-14.c
  3662d1fbfdd56e6dd5a87baf8c78410f  gcc/testsuite/gcc.dg/weak/weak-2.c
  cfefa8846a8d94d0e3aa00b841802592  gcc/testsuite/gcc.dg/weak/weak-3.c
  66df7ede09b74690c141035924b813ec  gcc/testsuite/gcc.dg/weak/weak-4.c
*************** e635c2089c58720a27dfd31bf12116f7  gcc/te
*** 17815,17826 ****
  05583da12dddd7c57c3404af50dd5d54  gcc/testsuite/gcc.dg/weak/weak-7.c
  ef4ea7d4216e9123244c1d14e75ca376  gcc/testsuite/gcc.dg/weak/weak-8.c
  df7f481c6f796831760bd5209df6243d  gcc/testsuite/gcc.dg/weak/weak-9.c
! 94b7a601a303161ded0090240f9af5b0  gcc/testsuite/gcc.dg/weak/weak.exp
  c6a61511e6fb0917ffba55a76df61339  gcc/testsuite/gcc.dg/winline-1.c
  6b68673ca9f7b446eab731a341c42c55  gcc/testsuite/gcc.dg/winline-2.c
  3725591cf700cdfcc1a553e59f6b23d1  gcc/testsuite/gcc.dg/winline-3.c
  154eb8683c7b5d706865008188d0d8ff  gcc/testsuite/gcc.dg/winline-4.c
! 5daeb2f9d0fe25622fc79f2a66319731  gcc/testsuite/gcc.dg/winline-5.c
  edad680a4d1d5df67f239a8b93dd3820  gcc/testsuite/gcc.dg/winline-6.c
  410083c8e67c171ce7642f21c1ff2c4e  gcc/testsuite/gcc.dg/winline-7.c
  49cd32efb1d04d4b3e2e3e83ef6be23f  gcc/testsuite/gcc.dg/wint_t-1.c
--- 16974,16985 ----
  05583da12dddd7c57c3404af50dd5d54  gcc/testsuite/gcc.dg/weak/weak-7.c
  ef4ea7d4216e9123244c1d14e75ca376  gcc/testsuite/gcc.dg/weak/weak-8.c
  df7f481c6f796831760bd5209df6243d  gcc/testsuite/gcc.dg/weak/weak-9.c
! ae2fea8c3f5112b505248451d9e9eb22  gcc/testsuite/gcc.dg/weak/weak.exp
  c6a61511e6fb0917ffba55a76df61339  gcc/testsuite/gcc.dg/winline-1.c
  6b68673ca9f7b446eab731a341c42c55  gcc/testsuite/gcc.dg/winline-2.c
  3725591cf700cdfcc1a553e59f6b23d1  gcc/testsuite/gcc.dg/winline-3.c
  154eb8683c7b5d706865008188d0d8ff  gcc/testsuite/gcc.dg/winline-4.c
! 82d7359e7b202b4f72e19163913e1cbb  gcc/testsuite/gcc.dg/winline-5.c
  edad680a4d1d5df67f239a8b93dd3820  gcc/testsuite/gcc.dg/winline-6.c
  410083c8e67c171ce7642f21c1ff2c4e  gcc/testsuite/gcc.dg/winline-7.c
  49cd32efb1d04d4b3e2e3e83ef6be23f  gcc/testsuite/gcc.dg/wint_t-1.c
*************** fde5cbed4304481836e4888bd782a081  gcc/te
*** 17838,17852 ****
  39e70a9253914cba1b4c6bcacbc50ec9  gcc/testsuite/gcc.dg/wtr-union-init-1.c
  793a3798c92ea32ec1fcea0e6299262d  gcc/testsuite/gcc.dg/wtr-union-init-2.c
  74a5f44fe667a8b7a06e2c1ec2083029  gcc/testsuite/gcc.dg/wtr-union-init-3.c
  4e040b1868690b5543136a52a2f030b3  gcc/testsuite/gcc.misc-tests/acker1.c
! d22b1881bd70e1dbe140f45207f8e8d5  gcc/testsuite/gcc.misc-tests/acker1.exp
  71d3ee0645552a8ac482152d2cf671b1  gcc/testsuite/gcc.misc-tests/arm-isr.c
! 961c2ebf194598f5452524ad661b213b  gcc/testsuite/gcc.misc-tests/arm-isr.exp
  69ee82e02b642cb6edfac2cec4b99756  gcc/testsuite/gcc.misc-tests/bprob-1.c
  f518f799be11856d2873be113760c75d  gcc/testsuite/gcc.misc-tests/bprob-2.c
! 2d19bafa11bb798d9a24aeac493c027c  gcc/testsuite/gcc.misc-tests/bprob.exp
  a11bded9860644075434da1f07b7f1bf  gcc/testsuite/gcc.misc-tests/dhry.c
! 5cc8d88bb6f9ac695f577b5739ca08f5  gcc/testsuite/gcc.misc-tests/dhry.exp
  850c45b3c3b492adf09b115c0d2d2286  gcc/testsuite/gcc.misc-tests/dhry.h
  02aa6ab9e158e9fa6e94768d75bd86cb  gcc/testsuite/gcc.misc-tests/gcov-1.c
  44d73a2d21081bbe1b4c64084331ec77  gcc/testsuite/gcc.misc-tests/gcov-10.c
--- 16997,17012 ----
  39e70a9253914cba1b4c6bcacbc50ec9  gcc/testsuite/gcc.dg/wtr-union-init-1.c
  793a3798c92ea32ec1fcea0e6299262d  gcc/testsuite/gcc.dg/wtr-union-init-2.c
  74a5f44fe667a8b7a06e2c1ec2083029  gcc/testsuite/gcc.dg/wtr-union-init-3.c
+ 28a4accc531f37d70039e0ae190b5bb5  gcc/testsuite/gcc.dg/wtypequal.c
  4e040b1868690b5543136a52a2f030b3  gcc/testsuite/gcc.misc-tests/acker1.c
! 006922c516b42e91ba67fc8000a03e66  gcc/testsuite/gcc.misc-tests/acker1.exp
  71d3ee0645552a8ac482152d2cf671b1  gcc/testsuite/gcc.misc-tests/arm-isr.c
! 42d32e29730ac6e35d68e99000c3bbf5  gcc/testsuite/gcc.misc-tests/arm-isr.exp
  69ee82e02b642cb6edfac2cec4b99756  gcc/testsuite/gcc.misc-tests/bprob-1.c
  f518f799be11856d2873be113760c75d  gcc/testsuite/gcc.misc-tests/bprob-2.c
! 7fc3f3217a4ed617700605cdb71cce19  gcc/testsuite/gcc.misc-tests/bprob.exp
  a11bded9860644075434da1f07b7f1bf  gcc/testsuite/gcc.misc-tests/dhry.c
! 82ed9c97b6b1099c38c76a45dc69b074  gcc/testsuite/gcc.misc-tests/dhry.exp
  850c45b3c3b492adf09b115c0d2d2286  gcc/testsuite/gcc.misc-tests/dhry.h
  02aa6ab9e158e9fa6e94768d75bd86cb  gcc/testsuite/gcc.misc-tests/gcov-1.c
  44d73a2d21081bbe1b4c64084331ec77  gcc/testsuite/gcc.misc-tests/gcov-10.c
*************** c400cc0e03e4317110d582fdba04ace0  gcc/te
*** 17855,17888 ****
  7a8ab4c1f62f1462575863cae613404b  gcc/testsuite/gcc.misc-tests/gcov-2.c
  95f736db1045ebd2bcc69cdfad244b96  gcc/testsuite/gcc.misc-tests/gcov-3.c
  7ee7fdf2863e181255489c48059d04a0  gcc/testsuite/gcc.misc-tests/gcov-4.c
! ea62a894945deb19187bf85649daea1d  gcc/testsuite/gcc.misc-tests/gcov-4b.c
  3de3228964abb899dfdf7f0613136f40  gcc/testsuite/gcc.misc-tests/gcov-5b.c
  9f0a4f4ae87d9c8e7ee70f27c75d5114  gcc/testsuite/gcc.misc-tests/gcov-6.c
  5324617bdeb58cd08b3e16f20f9e3c50  gcc/testsuite/gcc.misc-tests/gcov-7.c
  cd07c3504059efe7fb7533158e061864  gcc/testsuite/gcc.misc-tests/gcov-8.c
  c80d5a6473bfd6e4b6e87a183c6d05b5  gcc/testsuite/gcc.misc-tests/gcov-9.c
! 528767d1dfb6076b3b815e25eb735017  gcc/testsuite/gcc.misc-tests/gcov.exp
! 485fadb316b6a700f50ceccc50665dd4  gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
! 353571f7e7d28530b3c81f3d3c47224b  gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
! 06fe8065a97c8a40f1719ddc26543a35  gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
! b81b0f364ade60ae4b32a08dcfd8206d  gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
! 0194e6bb14bf45fd07a915d01df2f2dc  gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
  51bca646196e93b1c8a68319441e0595  gcc/testsuite/gcc.misc-tests/linkage-x.c
  4020995d3b08e117c48c529d5bc0b3ec  gcc/testsuite/gcc.misc-tests/linkage-y.c
! 5768226681cf5fca241cbee678d353b8  gcc/testsuite/gcc.misc-tests/linkage.exp
  1d8fa0a1210ed4c4bf0ff4dfa959f060  gcc/testsuite/gcc.misc-tests/matrix1.c
! 8c8ae1ae39b9d9f9b14da29fb0764cf6  gcc/testsuite/gcc.misc-tests/matrix1.exp
  fb7a4e029ce05eea8ba0f03f9033caa2  gcc/testsuite/gcc.misc-tests/mg.c
! 387704d70930892b4869533edc511bd8  gcc/testsuite/gcc.misc-tests/mg.exp
  37d75aade49dd3329803e520456ae8a6  gcc/testsuite/gcc.misc-tests/sieve.c
! 56efd126c640aaf994bb8bd0aba157c1  gcc/testsuite/gcc.misc-tests/sieve.exp
  f0e0d52dbb689249f8d057f00e4c65e9  gcc/testsuite/gcc.misc-tests/sort2.c
! 9da21bba807bde6e3f721c3b9368431b  gcc/testsuite/gcc.misc-tests/sort2.exp
! 2014a613cc45593f4cb86ab7c162861c  gcc/testsuite/gcc.target/alpha/alpha.exp
  fff402ffde26523392f70a76d0e2b789  gcc/testsuite/gcc.target/alpha/pr19518.c
  690aefdb7e83ee1cdd46e97c7e836a69  gcc/testsuite/gcc.target/frv/all-accs-1.c
  c0c899f24ad2c8cded9eb768be028e70  gcc/testsuite/gcc.target/frv/all-mclracca-1.c
  79a85d43df57eb30b9f06067b133e437  gcc/testsuite/gcc.target/frv/all-mdpackh-1.c
  3fdc2543f4f94275f7348f51b96a108a  gcc/testsuite/gcc.target/frv/all-tls-global-dynamic.c
  c068ace31d06706ae394e43e9e52ec28  gcc/testsuite/gcc.target/frv/all-tls-initial-exec-pic.c
  0a90bd3ba312653c28e69dc8e2149b81  gcc/testsuite/gcc.target/frv/all-tls-initial-exec.c
--- 17015,17069 ----
  7a8ab4c1f62f1462575863cae613404b  gcc/testsuite/gcc.misc-tests/gcov-2.c
  95f736db1045ebd2bcc69cdfad244b96  gcc/testsuite/gcc.misc-tests/gcov-3.c
  7ee7fdf2863e181255489c48059d04a0  gcc/testsuite/gcc.misc-tests/gcov-4.c
! 7d9bedbf8aa7d7ba724d6149406ba528  gcc/testsuite/gcc.misc-tests/gcov-4b.c
  3de3228964abb899dfdf7f0613136f40  gcc/testsuite/gcc.misc-tests/gcov-5b.c
  9f0a4f4ae87d9c8e7ee70f27c75d5114  gcc/testsuite/gcc.misc-tests/gcov-6.c
  5324617bdeb58cd08b3e16f20f9e3c50  gcc/testsuite/gcc.misc-tests/gcov-7.c
  cd07c3504059efe7fb7533158e061864  gcc/testsuite/gcc.misc-tests/gcov-8.c
  c80d5a6473bfd6e4b6e87a183c6d05b5  gcc/testsuite/gcc.misc-tests/gcov-9.c
! c107441f04572c682757349f31747533  gcc/testsuite/gcc.misc-tests/gcov.exp
! cecbda394313eabaf737f33035ce4e65  gcc/testsuite/gcc.misc-tests/i386-pf-3dnow-1.c
! 836ecf485dce45ad93ce8f66faefd09f  gcc/testsuite/gcc.misc-tests/i386-pf-athlon-1.c
! 186c531af5b7679ff9e3c325f43b6126  gcc/testsuite/gcc.misc-tests/i386-pf-none-1.c
! 65fcb4a855bda2bd71304bd38b4e7145  gcc/testsuite/gcc.misc-tests/i386-pf-sse-1.c
! 400a1676270e4c324e2370f3d1fefb46  gcc/testsuite/gcc.misc-tests/i386-prefetch.exp
  51bca646196e93b1c8a68319441e0595  gcc/testsuite/gcc.misc-tests/linkage-x.c
  4020995d3b08e117c48c529d5bc0b3ec  gcc/testsuite/gcc.misc-tests/linkage-y.c
! e77bd89cd3a3ad9974641a007d71e585  gcc/testsuite/gcc.misc-tests/linkage.exp
  1d8fa0a1210ed4c4bf0ff4dfa959f060  gcc/testsuite/gcc.misc-tests/matrix1.c
! 7b663564f55d806bc04f45d8c771499f  gcc/testsuite/gcc.misc-tests/matrix1.exp
! b45579fdac6008721502ddecb5df29d8  gcc/testsuite/gcc.misc-tests/mg-2.c
! e743953bacee2ff7ea90a32554bfda92  gcc/testsuite/gcc.misc-tests/mg-2.exp
  fb7a4e029ce05eea8ba0f03f9033caa2  gcc/testsuite/gcc.misc-tests/mg.c
! 90b513da65bc0f417bca9690661ccff9  gcc/testsuite/gcc.misc-tests/mg.exp
! e13f4812f67e1c43482e19fb0c617708  gcc/testsuite/gcc.misc-tests/options.exp
  37d75aade49dd3329803e520456ae8a6  gcc/testsuite/gcc.misc-tests/sieve.c
! d2d221ddfc22617a6807b13f27f26661  gcc/testsuite/gcc.misc-tests/sieve.exp
  f0e0d52dbb689249f8d057f00e4c65e9  gcc/testsuite/gcc.misc-tests/sort2.c
! 52a316ef76be9e648b4bd8691f4d4792  gcc/testsuite/gcc.misc-tests/sort2.exp
! f125813d8979781792ab95c79efe5ae8  gcc/testsuite/gcc.target/alpha/20000715-1.c
! 606e0fd9f9014582eb7fd999c72ed03f  gcc/testsuite/gcc.target/alpha/20011018-1.c
! 7756978846f5c17b9bc830d5906cf03a  gcc/testsuite/gcc.target/alpha/980217-1.c
! 6659fb3215b284268eb1df067aeff4d8  gcc/testsuite/gcc.target/alpha/alpha.exp
! a6e6a20bfb66616db39b1382efe3d81f  gcc/testsuite/gcc.target/alpha/asm-1.c
! 1c9e454a96bdf68b22460af6474169db  gcc/testsuite/gcc.target/alpha/base-1.c
! bb4370dc2e0c56fe6a1d257df7a21f91  gcc/testsuite/gcc.target/alpha/base-2.c
! a25e2111595c980d3d1db7fce98f3a29  gcc/testsuite/gcc.target/alpha/cix-1.c
! 7bc242ab1c6c275408f15331cb101009  gcc/testsuite/gcc.target/alpha/cix-2.c
! 107f94ad8c13d9c030ae006f60d46ee2  gcc/testsuite/gcc.target/alpha/max-1.c
! 2f913e0e9be28e5c0cd8c756bf5bbe18  gcc/testsuite/gcc.target/alpha/max-2.c
  fff402ffde26523392f70a76d0e2b789  gcc/testsuite/gcc.target/alpha/pr19518.c
+ b36471f8edbf2a11ce23359823ecc10b  gcc/testsuite/gcc.target/alpha/pr24178.c
+ 9c8bc602c2049fcb00add1999ad75fcb  gcc/testsuite/gcc.target/cris/cris.exp
+ 3d314ecc18a99e2b5bb66241cb3576d7  gcc/testsuite/gcc.target/cris/rld-legit1.c
+ 167ddc115a9368874024099f6cd878fc  gcc/testsuite/gcc.target/cris/rld-legit2.c
+ b61eb0ddbad1b40e036b36a24ea1f5aa  gcc/testsuite/gcc.target/cris/torture/cris-torture.exp
+ 46bb07141c5993a8c5154d62b285f8c7  gcc/testsuite/gcc.target/cris/torture/no-pro-epi-1.c
+ 4181eccc65a7ef0c720e1f62eafc01fa  gcc/testsuite/gcc.target/cris/torture/pr24750-2.c
  690aefdb7e83ee1cdd46e97c7e836a69  gcc/testsuite/gcc.target/frv/all-accs-1.c
  c0c899f24ad2c8cded9eb768be028e70  gcc/testsuite/gcc.target/frv/all-mclracca-1.c
  79a85d43df57eb30b9f06067b133e437  gcc/testsuite/gcc.target/frv/all-mdpackh-1.c
+ 655e07c903ac0880eceacf38ce885f5e  gcc/testsuite/gcc.target/frv/all-read-write-1.c
  3fdc2543f4f94275f7348f51b96a108a  gcc/testsuite/gcc.target/frv/all-tls-global-dynamic.c
  c068ace31d06706ae394e43e9e52ec28  gcc/testsuite/gcc.target/frv/all-tls-initial-exec-pic.c
  0a90bd3ba312653c28e69dc8e2149b81  gcc/testsuite/gcc.target/frv/all-tls-initial-exec.c
*************** d7f2f60c2c464ec7133704d0b8deb86d  gcc/te
*** 17911,17958 ****
  d8fff2cc6bc3321095b7345915e98ec1  gcc/testsuite/gcc.target/frv/fr550-builtins-4.c
  4f94aea2a37f6adad09abfdbb47bb87e  gcc/testsuite/gcc.target/frv/fr550-builtins-5.c
  7639532da8cf32e8d2747a66977cd3a9  gcc/testsuite/gcc.target/frv/frv.exp
  942931dae7a14d8fada085f1f9ea20b2  gcc/testsuite/gcc.target/i386/abi-1.c
! d5cdf0d4042e9eaf43c3e93573cbd144  gcc/testsuite/gcc.target/i386/amd64-abi-1.c
  64cab598aed73a3824556e410024defc  gcc/testsuite/gcc.target/i386/asm-1.c
  bfbac75bbc2903bc9ce6d39c53d89c68  gcc/testsuite/gcc.target/i386/defines-1.c
  73d516febd7b11c39305fc45aeb62e82  gcc/testsuite/gcc.target/i386/defines-2.c
! 225c98764bda53dfafaf1bcfbab24ded  gcc/testsuite/gcc.target/i386/i386.exp
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
  e09aee999f6555d054fbc943434e9e4e  gcc/testsuite/gcc.target/i386/pr17692.c
  fdacb6b61a5d36e161500b14166654ae  gcc/testsuite/gcc.target/i386/pr21101.c
  fb5ac9503ce60bf2d3106e1e1e07ea98  gcc/testsuite/gcc.target/i386/pr21291.c
  036875bffbf4f4acfbb2f1daa06251d4  gcc/testsuite/gcc.target/i386/pr22362.c
  b020a80ff1ecc51322bc72bec3f843ba  gcc/testsuite/gcc.target/i386/pr23098.c
  17eab0967ccfb5e6f292d53f3bf04c6c  gcc/testsuite/gcc.target/i386/pr23575.c
  adcdec8ed0466d3411f5313513271763  gcc/testsuite/gcc.target/i386/sse-1.c
  c8ebaa4fbf842e380858abefff6acc66  gcc/testsuite/gcc.target/i386/sse-3.c
  5d81ca69ddc7b70211c056c3bdc53dfa  gcc/testsuite/gcc.target/i386/sse-4.c
  845de8711de12ad1852cb72abde413c9  gcc/testsuite/gcc.target/i386/vect-args.c
! 67cadea614481e3b8f471a79cfec5f03  gcc/testsuite/gcc.target/ia64/ia64.exp
  077bd168db3c45990d24d018d5e07d0d  gcc/testsuite/gcc.target/ia64/sibcall-unwind-1.c
  5615b8122ed00d78fc52d2429980f925  gcc/testsuite/gcc.target/ia64/sibcall-unwind-2.c
  8406827b264a157de89d9732b5828af7  gcc/testsuite/gcc.target/ia64/small-addr-1.c
! afe14f0027f407ae82783426fce57b95  gcc/testsuite/gcc.target/mips/asm-1.c
! dbe08ac33e751bd40a0688befe31a4fc  gcc/testsuite/gcc.target/mips/fix-vr4130-1.c
! e6e175488707fbe00f77246d1cce7ec5  gcc/testsuite/gcc.target/mips/fix-vr4130-2.c
! 493ae8ef45648fe3eee5a7236a370af0  gcc/testsuite/gcc.target/mips/fix-vr4130-3.c
! 2b09ef96aa493e19aaac166ef33745b9  gcc/testsuite/gcc.target/mips/fix-vr4130-4.c
! 9f2dee4d1162a25372e1ee3699095c47  gcc/testsuite/gcc.target/mips/mips-3d-1.c
! 2381cb59aca5746da749999e4ffd3037  gcc/testsuite/gcc.target/mips/mips-3d-2.c
! 6d7c149a5b22548da09312a669dcba81  gcc/testsuite/gcc.target/mips/mips-3d-3.c
! 11d20a2aea75055d35c396e96770d817  gcc/testsuite/gcc.target/mips/mips-3d-4.c
! 6cc424410060026dbc08c71c259c2730  gcc/testsuite/gcc.target/mips/mips-3d-5.c
! 72c19f015e4c7762dd12126279207725  gcc/testsuite/gcc.target/mips/mips-3d-6.c
! 00d5d6d9d8e03afa1100fb9e2513bfc5  gcc/testsuite/gcc.target/mips/mips-3d-7.c
! 5345a158d2a60c525ead1491c1d16a27  gcc/testsuite/gcc.target/mips/mips-3d-8.c
! 56a79e9628f31d55691c915cdccc9edd  gcc/testsuite/gcc.target/mips/mips-3d-9.c
! 43c535f6a823d294588c080f1d993e3d  gcc/testsuite/gcc.target/mips/mips-ps-1.c
! 75f9438336959f868b8bb7fd97dfeef0  gcc/testsuite/gcc.target/mips/mips-ps-2.c
! 23dfb169ebe36356667cc7806b07f995  gcc/testsuite/gcc.target/mips/mips-ps-3.c
! f6fb0c42ff3e8fa587ce359787ffa9e3  gcc/testsuite/gcc.target/mips/mips-ps-4.c
! 1a447da3bb67659a303881e1a619c9a6  gcc/testsuite/gcc.target/mips/mips-ps-type.c
! 5828ee9f8ec547ba2976efd4733d46a6  gcc/testsuite/gcc.target/mips/mips.exp
! 23adbd995594300dfe339b2fb4282ae4  gcc/testsuite/gcc.target/mips/sb1-1.c
  f94446d8f756e626b7ed117601c82b43  gcc/testsuite/gcc.target/sparc/align.c
  61fdcc3e39deca7e4f123378b814dd0f  gcc/testsuite/gcc.target/sparc/combined-1.c
  0d476e7d021a9af6de17c1d92c85244d  gcc/testsuite/gcc.target/sparc/combined-2.c
--- 17092,17435 ----
  d8fff2cc6bc3321095b7345915e98ec1  gcc/testsuite/gcc.target/frv/fr550-builtins-4.c
  4f94aea2a37f6adad09abfdbb47bb87e  gcc/testsuite/gcc.target/frv/fr550-builtins-5.c
  7639532da8cf32e8d2747a66977cd3a9  gcc/testsuite/gcc.target/frv/frv.exp
+ 64a97cafd362c172e87723e067a061ed  gcc/testsuite/gcc.target/i386/20000609-1.c
+ 62c9e31d1459c4e0f5fe89402c05e1ac  gcc/testsuite/gcc.target/i386/20000614-1.c
+ ca2d3eef9f33e84d74a798acf86f3a11  gcc/testsuite/gcc.target/i386/20000614-2.c
+ e78e407bc6ee86710dd29068b7416a9b  gcc/testsuite/gcc.target/i386/20000720-1.c
+ 7006824174e8d835e29501c45835c73d  gcc/testsuite/gcc.target/i386/20000807-1.c
+ 586888e49d46fe392f4cc77277c8f1fd  gcc/testsuite/gcc.target/i386/20000904-1.c
+ b774b264efc24e692626d35c72506b10  gcc/testsuite/gcc.target/i386/20001127-1.c
+ a86f72db8437d94f8b14e039906b9b2e  gcc/testsuite/gcc.target/i386/20010202-1.c
+ 1b10e4c320a896e6fb71d4ed6f128a16  gcc/testsuite/gcc.target/i386/20010520-1.c
+ 12ba4b776e310cf9bba7c7ca3e1f20be  gcc/testsuite/gcc.target/i386/20011009-1.c
+ 193edcd5f5b3f01859fe10312eaeba50  gcc/testsuite/gcc.target/i386/20011029-2.c
+ 8d61d8c30e388c23126def96a1d3d29f  gcc/testsuite/gcc.target/i386/20011107-1.c
+ cb30638c9972ea66130917f8c91f8be2  gcc/testsuite/gcc.target/i386/20011119-1.c
+ e6b4924bb469232f340833f0f591f2b7  gcc/testsuite/gcc.target/i386/20020201-3.c
+ 475b369186b9d5dfdd5ff6ae67fe27b2  gcc/testsuite/gcc.target/i386/20020218-1.c
+ 3699f1d76aa8a56937f17e97635ccf30  gcc/testsuite/gcc.target/i386/20020224-1.c
+ 9c6e8021340e07eafba1b5ee1e3bca1d  gcc/testsuite/gcc.target/i386/20020426-1.c
+ 3b384fd9e8d005aab14d76c862d7a91d  gcc/testsuite/gcc.target/i386/20020523-1.c
+ 62061175e0c27a0dc939debd0f86fb62  gcc/testsuite/gcc.target/i386/20020523-2.c
+ a5d71e5ea21c5d678d1cde25cfea576a  gcc/testsuite/gcc.target/i386/20020531-1.c
+ 24b90fde9851285b23d1f1935d8ab5d0  gcc/testsuite/gcc.target/i386/20020616-1.c
+ cbd3c4d7fc5ea9bb17a62a4fe18f8da0  gcc/testsuite/gcc.target/i386/20020729-1.c
+ 1972f52a8e93b034e93a203266ab861d  gcc/testsuite/gcc.target/i386/20030217-1.c
+ 2dbcb4141bae483fc787f52046296225  gcc/testsuite/gcc.target/i386/20030926-1.c
+ fd702924dd6dbd253be38cbf2122c11e  gcc/testsuite/gcc.target/i386/20040112-1.c
+ b2bb539654ba2d8bde16ecceaf5266f2  gcc/testsuite/gcc.target/i386/20050113-1.c
+ a7556e3d9e8e29562f1ee775c2ab8d47  gcc/testsuite/gcc.target/i386/20060218-1.c
+ 806c44d2a2d69eedc68b183626a91575  gcc/testsuite/gcc.target/i386/387-1.c
+ 78f90b3230736b420e84c609b5d4de1f  gcc/testsuite/gcc.target/i386/387-2.c
+ e396024e0ed9450ede9b4b145a1215c1  gcc/testsuite/gcc.target/i386/387-3.c
+ f239e9a16c526d3bac748bbff8a404ac  gcc/testsuite/gcc.target/i386/387-4.c
+ 9b733ac79d6eb0bed8edb9c9ab0df72f  gcc/testsuite/gcc.target/i386/387-5.c
+ 4463aaaae14a8feab3f199b69bc26362  gcc/testsuite/gcc.target/i386/387-6.c
+ 9c6a0f2ae5765e41139b632767e017ac  gcc/testsuite/gcc.target/i386/387-7.c
+ 8c22eaeda4d1abb98215f7bcd989e899  gcc/testsuite/gcc.target/i386/387-8.c
+ c4085c002b989e3f1f2391d00f40b148  gcc/testsuite/gcc.target/i386/3dnow-1.c
+ 2016733ed3862062c666d6bb504d1aec  gcc/testsuite/gcc.target/i386/3dnow-2.c
+ 6b902155a67b83eb87226f8b29de37ff  gcc/testsuite/gcc.target/i386/3dnowA-1.c
+ 334393799326f0dd1813806c4876dab1  gcc/testsuite/gcc.target/i386/3dnowA-2.c
+ 1e6e7c81f663924899370f48efc9e350  gcc/testsuite/gcc.target/i386/980211-1.c
+ 030b3916b9a241eb07d4fa2827632904  gcc/testsuite/gcc.target/i386/980226-1.c
+ e90f9757aa5088741552f673a0de11dc  gcc/testsuite/gcc.target/i386/980414-1.c
+ 8afc402239d07e76906c762972fb5bbf  gcc/testsuite/gcc.target/i386/980520-1.c
+ 990874ed97d51944558b292f90184481  gcc/testsuite/gcc.target/i386/980709-1.c
+ 634069e932f55f6741be991c3152cbb2  gcc/testsuite/gcc.target/i386/990117-1.c
+ f2d4c90873efcdf15771dd6b4f71e74d  gcc/testsuite/gcc.target/i386/990130-1.c
+ 85d5d8fb3fa281ad36887b87195fa640  gcc/testsuite/gcc.target/i386/990213-2.c
+ 3e4fe8f304187ffceba7edef3278f80c  gcc/testsuite/gcc.target/i386/990214-1.c
+ 43a987f829ab50f6fb86c08bdba9667e  gcc/testsuite/gcc.target/i386/990424-1.c
+ 84ccdc32cd08b9844af1f2ee9dd5fab3  gcc/testsuite/gcc.target/i386/990524-1.c
+ 73279112712423358c67c1f5b94694d3  gcc/testsuite/gcc.target/i386/991129-1.c
+ 0a38ae14afd96656dae805cfdf2024f8  gcc/testsuite/gcc.target/i386/991209-1.c
+ f59fc49b57786f9ac82bd5523e6df9af  gcc/testsuite/gcc.target/i386/991214-1.c
+ 95ebf1aec469d19bfa75bd0e6d174ef3  gcc/testsuite/gcc.target/i386/991230-1.c
  942931dae7a14d8fada085f1f9ea20b2  gcc/testsuite/gcc.target/i386/abi-1.c
! 59d3d9e29e7d3eb368b970d623c19193  gcc/testsuite/gcc.target/i386/amd64-abi-1.c
  64cab598aed73a3824556e410024defc  gcc/testsuite/gcc.target/i386/asm-1.c
+ b1d31a7d76b87c20371a2d7b34c4cbab  gcc/testsuite/gcc.target/i386/asm-2.c
+ a5f5603e35c4246276ef827f335f1bfb  gcc/testsuite/gcc.target/i386/asm-3.c
+ 71645b4660c5eecfd2fc6aaf83382f14  gcc/testsuite/gcc.target/i386/asm-4.c
+ 7b0d2024ac0d798e1770ac1333267e5a  gcc/testsuite/gcc.target/i386/asm-5.c
+ ad2f0873cab70d6695e750e762c13549  gcc/testsuite/gcc.target/i386/attributes-error.c
+ 71880b595a9c0166f57838e16052c9c4  gcc/testsuite/gcc.target/i386/bitfield1.c
+ ba26cf4100a704dcde75d45bd70ffa9d  gcc/testsuite/gcc.target/i386/bitfield2.c
+ 2b295d2a1443ab97dfca9f62cded592b  gcc/testsuite/gcc.target/i386/bitfield3.c
+ 4f86addd3f30ece17962f90a75f40e2d  gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c
+ 62610903f90b410c6c36801586295ccb  gcc/testsuite/gcc.target/i386/cadd.c
+ 42e77591f7aa4b9d549c16e0df102830  gcc/testsuite/gcc.target/i386/call-1.c
+ 8d9a374e483f67119b63d070b3169ca3  gcc/testsuite/gcc.target/i386/clobbers.c
+ 0996c8208cda65b52a4297edb6340ed4  gcc/testsuite/gcc.target/i386/cmov1.c
+ e06749d5edd11f83ba59a8f8d7aa0454  gcc/testsuite/gcc.target/i386/cmov2.c
+ 9c988e8f80893c6aa6d8fcf82fac62b5  gcc/testsuite/gcc.target/i386/cmov3.c
+ 3a12627557fe1036e31bd56326aa80b1  gcc/testsuite/gcc.target/i386/cmov4.c
+ a747cf9fefb0f5eb3f463204001dd748  gcc/testsuite/gcc.target/i386/cmov5.c
+ 7f026ae64f3641ac9365b33f53d12b61  gcc/testsuite/gcc.target/i386/compress-float-387-pic.c
+ 76df9940a73e61802ff8b1425230b631  gcc/testsuite/gcc.target/i386/compress-float-387.c
+ 34d9c69cc2d09f9688f5329147d0fc57  gcc/testsuite/gcc.target/i386/compress-float-sse-pic.c
+ f9b2c1943395654b208baf2f5dbf288f  gcc/testsuite/gcc.target/i386/compress-float-sse.c
+ 8ca24bc1432c09b4cd565c4c86866351  gcc/testsuite/gcc.target/i386/cvt-1.c
  bfbac75bbc2903bc9ce6d39c53d89c68  gcc/testsuite/gcc.target/i386/defines-1.c
  73d516febd7b11c39305fc45aeb62e82  gcc/testsuite/gcc.target/i386/defines-2.c
! 435fa0160dadb67b6f727e49f094dddf  gcc/testsuite/gcc.target/i386/fastcall-1.c
! bc495e4a8bfc14334adcfbb37d97ad1e  gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c
! 7ff2a6b4786a6bd60d920c119b4c921f  gcc/testsuite/gcc.target/i386/fpcvt-1.c
! d00ec27a282186715b068226b132b18b  gcc/testsuite/gcc.target/i386/fpcvt-2.c
! 34d3f00f44694da3c16d49e8e6ce3e5f  gcc/testsuite/gcc.target/i386/fpcvt-3.c
! 659dda33ca796bf1fb09c16c9dedd808  gcc/testsuite/gcc.target/i386/fpcvt-4.c
! df217f3523aaf1206b213f366b96b2d6  gcc/testsuite/gcc.target/i386/i386.exp
! 56fb28dfefcb2fc61e41ed6eadfc1a3f  gcc/testsuite/gcc.target/i386/lea.c
! 48d31a795ac8363c32dce39c317a0c6a  gcc/testsuite/gcc.target/i386/local.c
! 4f84ec63986a59b1cf289e809f125180  gcc/testsuite/gcc.target/i386/local2.c
! 32748697f1f70964f0551b3d48c5545d  gcc/testsuite/gcc.target/i386/loop-1.c
! a4c4791c33c3d8e73eb4944ac9e0c0c3  gcc/testsuite/gcc.target/i386/loop-2.c
! fb6277135b11c40083fa3b8c4e349133  gcc/testsuite/gcc.target/i386/loop-3.c
! 650a9bbb8bb7d1e1d326b474c41e999c  gcc/testsuite/gcc.target/i386/memset-1.c
! 49bb89efaca40b47e6a2f0495f2899fe  gcc/testsuite/gcc.target/i386/minmax-1.c
! 6d7aafebff7fbfc5a139ab601e740f76  gcc/testsuite/gcc.target/i386/minmax-2.c
! 3b7138af69003b3a663e5d092a389196  gcc/testsuite/gcc.target/i386/mmx-1.c
! caa00f3827f7f7b8727193aa4fbeb02b  gcc/testsuite/gcc.target/i386/mmx-2.c
! 04db03897e9e2ec2bfff446584f519f7  gcc/testsuite/gcc.target/i386/mmx-3.c
! 1f3e7936ecec6223b397055fd495335a  gcc/testsuite/gcc.target/i386/mmx-4.c
! efa31b336ed2ed8943f9de44758bdfb2  gcc/testsuite/gcc.target/i386/mmx-5.c
! 2b7c4e83255a2dcee59a97597d2135d3  gcc/testsuite/gcc.target/i386/mmx-6.c
! 59e9f34a0c53e0ef7cf40e71d6716b9e  gcc/testsuite/gcc.target/i386/mmx-7.c
! 8889f53be76c9b6ee271ede1faefe8f7  gcc/testsuite/gcc.target/i386/movq-2.c
! d6a39ff6bf8e6ed56cce8b26063b6d9f  gcc/testsuite/gcc.target/i386/movq.c
! c43eecdeb76f0c89e8459f381fe7fb6a  gcc/testsuite/gcc.target/i386/mul.c
! 51d9ad7c9789e407d7d43b1b57342381  gcc/testsuite/gcc.target/i386/pentium4-not-mull.c
! 21c5c53933434082fe39c02e137e74e1  gcc/testsuite/gcc.target/i386/pic-1.c
! cc28a1ad4e53477457a6ed168ed05bf9  gcc/testsuite/gcc.target/i386/pr12092-1.c
  8951a1fa31f2d45ef9eacfff6a733f77  gcc/testsuite/gcc.target/i386/pr13366.c
+ efa2cf0acdde5fdc81dd8b1a41a1ef26  gcc/testsuite/gcc.target/i386/pr14289-1.c
  e09aee999f6555d054fbc943434e9e4e  gcc/testsuite/gcc.target/i386/pr17692.c
+ 168a9e99323ac254cdf40afbe168c365  gcc/testsuite/gcc.target/i386/pr18614-1.c
+ 24b74aeb573670bebe702939cddf8159  gcc/testsuite/gcc.target/i386/pr19236-1.c
+ 5195656eeba8721ee73be40d2f471bc5  gcc/testsuite/gcc.target/i386/pr20204.c
  fdacb6b61a5d36e161500b14166654ae  gcc/testsuite/gcc.target/i386/pr21101.c
  fb5ac9503ce60bf2d3106e1e1e07ea98  gcc/testsuite/gcc.target/i386/pr21291.c
+ e41aa30b7c11d3abfaec9393cd5ffb83  gcc/testsuite/gcc.target/i386/pr21518.c
  036875bffbf4f4acfbb2f1daa06251d4  gcc/testsuite/gcc.target/i386/pr22362.c
+ da34aa28d537d18fc2a008104a8373ff  gcc/testsuite/gcc.target/i386/pr22432.c
+ afafb70a7eff18b56ebd35e19b0ee05c  gcc/testsuite/gcc.target/i386/pr22576.c
+ 45d383dfa2f795b8f4f4293d5154758a  gcc/testsuite/gcc.target/i386/pr22585.c
  b020a80ff1ecc51322bc72bec3f843ba  gcc/testsuite/gcc.target/i386/pr23098.c
+ a52819317d1b1c66a5d3850f5bbfd0fa  gcc/testsuite/gcc.target/i386/pr23268.c
+ a9d6d2150599c08a2860af0cfe78073e  gcc/testsuite/gcc.target/i386/pr23376.c
+ f4eabc468c231361cd601d816312cb56  gcc/testsuite/gcc.target/i386/pr23570.c
  17eab0967ccfb5e6f292d53f3bf04c6c  gcc/testsuite/gcc.target/i386/pr23575.c
+ f9c281324b5c903ecd400633ca95fa09  gcc/testsuite/gcc.target/i386/pr23943.c
+ e99eb064d503f38b5a9c419915b38ae9  gcc/testsuite/gcc.target/i386/pr24055.c
+ 6c3533c64579164d28aec474a4fe6ff2  gcc/testsuite/gcc.target/i386/pr24306.c
+ 32fe0462a1b53d3fc2901ef49c868f00  gcc/testsuite/gcc.target/i386/pr24315.c
+ 852de875f9bfe1b54b7b53fa234cb7f6  gcc/testsuite/gcc.target/i386/pr25254.c
+ fa176122821be9d08a71a2fabbe6df9e  gcc/testsuite/gcc.target/i386/pr25293.c
+ b0f3e20116859839b0034ead4c4919b1  gcc/testsuite/gcc.target/i386/pr25654.c
+ 7fd617aaf0d7ee1e3c720b9780d5b2c9  gcc/testsuite/gcc.target/i386/pr9771-1.c
+ 02adbe6793bd8331bb32af90439f574f  gcc/testsuite/gcc.target/i386/regparm-stdcall.c
+ 818b9820fac6e68cc6ff88e4a09ef005  gcc/testsuite/gcc.target/i386/regparm.c
+ 51aca2178b5ab93c7b6438c65394c512  gcc/testsuite/gcc.target/i386/rotate-1.c
+ dff14197dcdc21d2b0a58713c30cfefe  gcc/testsuite/gcc.target/i386/sibcall-5.c
+ a4c459cc5e023ec2389b9f6f5e39b4fb  gcc/testsuite/gcc.target/i386/signbit-1.c
+ b1514d445e1b09461cab0d68588d1334  gcc/testsuite/gcc.target/i386/signbit-2.c
+ bee18202fc2bf00d7f9385c5cc53277c  gcc/testsuite/gcc.target/i386/signbit-3.c
  adcdec8ed0466d3411f5313513271763  gcc/testsuite/gcc.target/i386/sse-1.c
+ 234c39ee35523d1ddae3886ba1df0661  gcc/testsuite/gcc.target/i386/sse-10.c
+ 45f1db06dc77f534c24d2360cf7f7413  gcc/testsuite/gcc.target/i386/sse-11.c
+ 43752ec480bcb1c867626cde6dd600e0  gcc/testsuite/gcc.target/i386/sse-12.c
+ 93931d968ce7a742e6a92420704ca0a9  gcc/testsuite/gcc.target/i386/sse-13.c
+ a14a3c5452af0f0c3fd3aa461c361ce4  gcc/testsuite/gcc.target/i386/sse-14.c
+ b9e2808a3a55b726edac71f79691878b  gcc/testsuite/gcc.target/i386/sse-15.c
+ 8926e53f233d04982e0bc8af7fb5cdcd  gcc/testsuite/gcc.target/i386/sse-16.c
+ ac956409974f86cabf6c497ae158d0a3  gcc/testsuite/gcc.target/i386/sse-2.c
  c8ebaa4fbf842e380858abefff6acc66  gcc/testsuite/gcc.target/i386/sse-3.c
  5d81ca69ddc7b70211c056c3bdc53dfa  gcc/testsuite/gcc.target/i386/sse-4.c
+ b3eaaeae38fc140b37a78b0bfcf5b233  gcc/testsuite/gcc.target/i386/sse-5.c
+ 8a35daea99e84a50ebee33818b32f3fa  gcc/testsuite/gcc.target/i386/sse-6.c
+ 04f192fb107ed385afc76e3f88600fed  gcc/testsuite/gcc.target/i386/sse-7.c
+ 22136d004f7f6bbedc2c42e2672bf62f  gcc/testsuite/gcc.target/i386/sse-8.c
+ 355584ae88a324da127f545a4cbc7e60  gcc/testsuite/gcc.target/i386/sse-9.c
+ 659a0e412fb09b0114aa56dac887a7c7  gcc/testsuite/gcc.target/i386/sse-vect-types.c
+ 940cf9a4e9463c618db2939380399cac  gcc/testsuite/gcc.target/i386/ssefn-1.c
+ 646cf57bb834801898dfa37fc3735598  gcc/testsuite/gcc.target/i386/ssefn-2.c
+ 288d22e90ab9e548dc330a679cb8d975  gcc/testsuite/gcc.target/i386/ssefn-3.c
+ d31825971dc63934c9e5433ef9ae2c2a  gcc/testsuite/gcc.target/i386/ssefn-4.c
+ bd10201e011063d5ac5e0bec82308ad0  gcc/testsuite/gcc.target/i386/ssefp-1.c
+ ea3d1ca3cab5c41ace70db628397c752  gcc/testsuite/gcc.target/i386/ssefp-2.c
+ 74be1fc83dabd786dff5427dcbe5896d  gcc/testsuite/gcc.target/i386/sseregparm-1.c
+ 77ef275fe31187f629334c9755529e61  gcc/testsuite/gcc.target/i386/sseregparm-2.c
+ 129cf9d00d9f7607ba8b502f63eca244  gcc/testsuite/gcc.target/i386/sseregparm-3.c
+ 0a21d69e3d118cf1f7cbecccb3bac154  gcc/testsuite/gcc.target/i386/sseregparm-4.c
+ b0a7b4df88996018183609ca95cee8db  gcc/testsuite/gcc.target/i386/sseregparm-5.c
+ 111dad5799f5719dbebcb970c49c1b91  gcc/testsuite/gcc.target/i386/sseregparm-6.c
+ 6ebc9c95ca997554fe0fc2ac89424c36  gcc/testsuite/gcc.target/i386/sseregparm-7.c
+ 5436f8e64541eadb49f6c2e17269c5a9  gcc/testsuite/gcc.target/i386/ssetype-1.c
+ f0c62ee7d319e56cb75bc857ffbf1485  gcc/testsuite/gcc.target/i386/ssetype-2.c
+ 28237801b0fe47a878cafab680acf4d4  gcc/testsuite/gcc.target/i386/ssetype-3.c
+ 5f393f414c97d158b6bd7f1f91da4e1c  gcc/testsuite/gcc.target/i386/ssetype-4.c
+ a425bf2ee5b842d4fe0792cf7d96d8b2  gcc/testsuite/gcc.target/i386/ssetype-5.c
+ 5adc41b6e41ba8b2fda9e3963579a109  gcc/testsuite/gcc.target/i386/tailcall-1.c
+ d7b2ab8de6a5e64237f5fc10401d91fd  gcc/testsuite/gcc.target/i386/unroll-1.c
  845de8711de12ad1852cb72abde413c9  gcc/testsuite/gcc.target/i386/vect-args.c
! 8554b61d191afc1f9687e5647af25d53  gcc/testsuite/gcc.target/i386/volatile-1.c
! 86d301e58db7307bf43487b5e03731da  gcc/testsuite/gcc.target/i386/xorps.c
! 09fb6852403bb7a0b9b3339c49e09efb  gcc/testsuite/gcc.target/ia64/20010423-1.c
! d42256aef37a73ae61dad2030303738b  gcc/testsuite/gcc.target/ia64/20020313-1.c
! 80710ab442f553a1629beb106d8276a3  gcc/testsuite/gcc.target/ia64/20020326-1.c
! ab85237eb97b722f7106870c72402a8f  gcc/testsuite/gcc.target/ia64/20030225-2.c
! 8c89d907e6dbdb14670a389723b3506c  gcc/testsuite/gcc.target/ia64/20030405-1.c
! 12c2330c97195c7bf90780ebf816b9bf  gcc/testsuite/gcc.target/ia64/20030811-1.c
! a285a7a4bba38f8493ae6f3ed39a4914  gcc/testsuite/gcc.target/ia64/20040303-1.c
! decf68915fe7cbaf22ca75bf23d8f1c4  gcc/testsuite/gcc.target/ia64/asm-1.c
! e50239a34975c5fbc852ce8f339c44ea  gcc/testsuite/gcc.target/ia64/float80-1.c
! 05521da4e9f9fb30611b269a0f85f60c  gcc/testsuite/gcc.target/ia64/float80-2.c
! 0f199eb345776f279fae96dc20d08800  gcc/testsuite/gcc.target/ia64/float80-varargs-1.c
! 6041fe0c66eb4a56d5a404563f5a874c  gcc/testsuite/gcc.target/ia64/fpreg-1.c
! de4e305b115a22fef774b1524552bf20  gcc/testsuite/gcc.target/ia64/fpreg-2.c
! 9eb711889815fa93fba9a61566c648bc  gcc/testsuite/gcc.target/ia64/fptr-1.c
! 08fa38ef5026e6de3937383461ad92f2  gcc/testsuite/gcc.target/ia64/got-1.c
! f99edd44787d4cf8d58702d6d6204b39  gcc/testsuite/gcc.target/ia64/ia64.exp
! 78e9bbaeebf5b8a61104ae2da0c31b16  gcc/testsuite/gcc.target/ia64/postinc-1.c
  077bd168db3c45990d24d018d5e07d0d  gcc/testsuite/gcc.target/ia64/sibcall-unwind-1.c
  5615b8122ed00d78fc52d2429980f925  gcc/testsuite/gcc.target/ia64/sibcall-unwind-2.c
  8406827b264a157de89d9732b5828af7  gcc/testsuite/gcc.target/ia64/small-addr-1.c
! d3b8fc8ddcf2655e363124ef946fbf85  gcc/testsuite/gcc.target/ia64/types-1.c
! e7cfcf35d3576cc348fad814806318e1  gcc/testsuite/gcc.target/ia64/types-2.c
! 83e05e55312e94542e704d4c1106ecc7  gcc/testsuite/gcc.target/ia64/visibility-1.c
! ab4a753420c7cc112326b8711285358c  gcc/testsuite/gcc.target/ia64/visibility-2.c
! 3169abb5899120a0fbee7ca513b4d876  gcc/testsuite/gcc.target/mips/args-1.c
! 50f988403fd9a3e22a623e08100b7ad4  gcc/testsuite/gcc.target/mips/args-2.c
! 3442c97ca89afee3f413aa19e65ccd4d  gcc/testsuite/gcc.target/mips/args-3.c
! 162079ce7b8f953a5cab7f6c03512168  gcc/testsuite/gcc.target/mips/asm-1.c
! e1b789273a6c9eea16be7cfa69123b0c  gcc/testsuite/gcc.target/mips/branch-1.c
! b974d6b28afadab1ca4ecda49b90c911  gcc/testsuite/gcc.target/mips/ext_ins.c
! 7b78c2233e317d0a1b44e56bab930e03  gcc/testsuite/gcc.target/mips/fix-vr4130-1.c
! 9b20afbb62374b176e32ea06b03225ec  gcc/testsuite/gcc.target/mips/fix-vr4130-2.c
! c11ab84d33161fda699c7d819f46e5b3  gcc/testsuite/gcc.target/mips/fix-vr4130-3.c
! f2b08c8a56427787501e283138782958  gcc/testsuite/gcc.target/mips/fix-vr4130-4.c
! fa7dc54784b9ff4619869971795e0d51  gcc/testsuite/gcc.target/mips/fpcmp-1.c
! 3cca4f61280e36a63a365e65ecd28d0d  gcc/testsuite/gcc.target/mips/fpcmp-2.c
! a5525d17a08018766b2b48beff7cd2f4  gcc/testsuite/gcc.target/mips/mips-3d-1.c
! bbf1e40f4ad10ebca7ba402e9160d1d7  gcc/testsuite/gcc.target/mips/mips-3d-2.c
! bf3aa2d86cb594dd1a72199dd0f82698  gcc/testsuite/gcc.target/mips/mips-3d-3.c
! 4c8fe170c7d82f16c414883ec3709915  gcc/testsuite/gcc.target/mips/mips-3d-4.c
! da5c143ece20807ae67d3d943fe80a8c  gcc/testsuite/gcc.target/mips/mips-3d-5.c
! 823ab7ab535d2f8e4a54d5f07fe31512  gcc/testsuite/gcc.target/mips/mips-3d-6.c
! 02883fec6ccdd15ffa680c8ea037c7a9  gcc/testsuite/gcc.target/mips/mips-3d-7.c
! 7edd53b27a44f07d37311cd6160031e3  gcc/testsuite/gcc.target/mips/mips-3d-8.c
! 74c9a5228f18f844b5656b1046b76231  gcc/testsuite/gcc.target/mips/mips-3d-9.c
! 32f0d0f4fb502ff55bfa3a025fc5bed1  gcc/testsuite/gcc.target/mips/mips-ps-1.c
! a872fb98ea7c73a52cbe2c076c91148a  gcc/testsuite/gcc.target/mips/mips-ps-2.c
! eb46832c9022fb0955f325b179e129d0  gcc/testsuite/gcc.target/mips/mips-ps-3.c
! f4fc92238764e1f57023d1ac750a97de  gcc/testsuite/gcc.target/mips/mips-ps-4.c
! 4b8da2dbcac520ba2b35825e89a05047  gcc/testsuite/gcc.target/mips/mips-ps-type.c
! 0219e27b2f9e91cc043c059eb5cdd476  gcc/testsuite/gcc.target/mips/mips.exp
! b7916c01d25412f03a8516f79915a48c  gcc/testsuite/gcc.target/mips/mips16e-extends.c
! 50bfdcf7de92c8495a7fb6d6fef3c071  gcc/testsuite/gcc.target/mips/mips32-dsp-type.c
! 6dcfd74cb89943c2268a131e49bd003c  gcc/testsuite/gcc.target/mips/mips32-dsp.c
! bd69e55e4ed71331508ae8c95f2ca4cc  gcc/testsuite/gcc.target/mips/movcc-1.c
! 97dee9363d867cf9351955ffd9626d09  gcc/testsuite/gcc.target/mips/movcc-2.c
! 749947df8466f122869b9fb347f3a6ab  gcc/testsuite/gcc.target/mips/movcc-3.c
! dd7c1c9a78e9bb7129d4bdcd91042339  gcc/testsuite/gcc.target/mips/nmadd-1.c
! ac8158b0b713d71eec94e47ed877668f  gcc/testsuite/gcc.target/mips/nmadd-2.c
! a4205e0d19e7a55c8731d1c45fd5f589  gcc/testsuite/gcc.target/mips/rsqrt-1.c
! 39feb4b4c670f17a67616a81db99cf7f  gcc/testsuite/gcc.target/mips/rsqrt-2.c
! 782befc6970d12ac82f92f954aa2505c  gcc/testsuite/gcc.target/mips/rsqrt-3.c
! 82d388ae443a9437c790ca2ccedb9f06  gcc/testsuite/gcc.target/mips/sb1-1.c
! 684de9811e64d1992e326b7ea3215845  gcc/testsuite/gcc.target/mips/vr-mult-1.c
! d95bdfe00c827bd30b10c253d0fe61e0  gcc/testsuite/gcc.target/mips/vr-mult-2.c
! 2eae00e26ad9fe436d4b551c56a71f2f  gcc/testsuite/gcc.target/powerpc/20020118-1.c
! f8eb6380d279ede14fb1a775a77e90fa  gcc/testsuite/gcc.target/powerpc/20030218-1.c
! b90c556060ead9eca4ae58eec1975294  gcc/testsuite/gcc.target/powerpc/20030505.c
! ee737184c69185ff4d7409ed3d8ba237  gcc/testsuite/gcc.target/powerpc/20040121-1.c
! 7f3bd20634f73fc1deec8aa90c642fd6  gcc/testsuite/gcc.target/powerpc/20040622-1.c
! a0db9858c9cdf40b60373edd5e4386c1  gcc/testsuite/gcc.target/powerpc/20041111-1.c
! f9186a72f6f2a7901a74b324dac8988d  gcc/testsuite/gcc.target/powerpc/20050603-1.c
! 750f0abbe27d85652145da23690e2b26  gcc/testsuite/gcc.target/powerpc/20050603-3.c
! 9bdfdb4006b5849c28b0d06e77c90bf8  gcc/testsuite/gcc.target/powerpc/20050830-1.c
! fbcbdfa94f40435fc4b96cfab7a6b7b1  gcc/testsuite/gcc.target/powerpc/980827-1.c
! 26929c1388eaa7f471cb50b64cffb966  gcc/testsuite/gcc.target/powerpc/altivec-1.c
! 7796793f137aee4b5f601a0df72846aa  gcc/testsuite/gcc.target/powerpc/altivec-10.c
! 13566c3b1e796ccd167714c3dad40479  gcc/testsuite/gcc.target/powerpc/altivec-11.c
! c775de2533b58abcd5401e9b36ebee35  gcc/testsuite/gcc.target/powerpc/altivec-12.c
! da524158d6afb4e8a0c29d5f438ed17f  gcc/testsuite/gcc.target/powerpc/altivec-13.c
! a8fb1c301b04cc91d980e131565caa1c  gcc/testsuite/gcc.target/powerpc/altivec-14.c
! d53d1211b5a5cd941d863285ecba5bd4  gcc/testsuite/gcc.target/powerpc/altivec-15.c
! 93f9fd9016e41f722c61f0ead39c163c  gcc/testsuite/gcc.target/powerpc/altivec-16.c
! cd37a8c29916e7b0eab28733eeaa4897  gcc/testsuite/gcc.target/powerpc/altivec-17.c
! 4c271776303074c2401391f9151d9e49  gcc/testsuite/gcc.target/powerpc/altivec-18.c
! 3355c2f1ada94e89ae92e108e7ef613a  gcc/testsuite/gcc.target/powerpc/altivec-19.c
! 8f0d55d8e43198f25504f8bc895afb9f  gcc/testsuite/gcc.target/powerpc/altivec-2.c
! ad868252778f7a9f95861bcd61280ddb  gcc/testsuite/gcc.target/powerpc/altivec-20.c
! 90e2ee93ef4999c7d6a95ae09189f916  gcc/testsuite/gcc.target/powerpc/altivec-21.c
! 1ceaa2714013f6644c619866214ebcc3  gcc/testsuite/gcc.target/powerpc/altivec-22.c
! 37aa2c6d8f993795b708ff6ad02bf8f3  gcc/testsuite/gcc.target/powerpc/altivec-3.c
! a24b312c47908b473332a4f135d2deb7  gcc/testsuite/gcc.target/powerpc/altivec-4.c
! a0ebeab91897b44a482609ba9cb3f9a9  gcc/testsuite/gcc.target/powerpc/altivec-5.c
! 4e972519f6464ff269286374e2ac9cff  gcc/testsuite/gcc.target/powerpc/altivec-6.c
! 5d287a948344bdb2bb5994e0e9c93d2b  gcc/testsuite/gcc.target/powerpc/altivec-7.c
! e821ed1be7fd32d7445688e1246a36a7  gcc/testsuite/gcc.target/powerpc/altivec-8.c
! dac4effe71a7289bfae09dc712821e14  gcc/testsuite/gcc.target/powerpc/altivec-9.c
! 73be8ab690524e215c032d58009b9157  gcc/testsuite/gcc.target/powerpc/altivec-consts.c
! 8ff1cd00dd120a9a3074ea05c49f47f8  gcc/testsuite/gcc.target/powerpc/altivec-pr22085.c
! ffc2800a06e8fef9a92b843cdb827e6e  gcc/testsuite/gcc.target/powerpc/altivec-splat.c
! 3ffbad0a183253dd49a14c95e1f9e616  gcc/testsuite/gcc.target/powerpc/altivec-types-1.c
! 2fabd70465808dc383437811778591e1  gcc/testsuite/gcc.target/powerpc/altivec-types-2.c
! dbcc5463fa4853b6308b2bd65d6d1dfc  gcc/testsuite/gcc.target/powerpc/altivec-types-3.c
! 67cee80632c505cdb26ab7ae4f85d040  gcc/testsuite/gcc.target/powerpc/altivec-types-4.c
! 2b4ae1b0084454816ec1f4c047208aaa  gcc/testsuite/gcc.target/powerpc/altivec-varargs-1.c
! 7a5ff22983b0a6c2151902dfaa833d65  gcc/testsuite/gcc.target/powerpc/altivec-vec-merge.c
! 375660d7437aba4961b96f917b1e7d29  gcc/testsuite/gcc.target/powerpc/altivec_check.h
! 7e107ab6c5260e30e79b1ac12cb58e8b  gcc/testsuite/gcc.target/powerpc/compress-float-ppc-pic.c
! 7943405ea88dcb41173e1dd683891874  gcc/testsuite/gcc.target/powerpc/compress-float-ppc.c
! 965986b227062a2b8c664c916a71ad45  gcc/testsuite/gcc.target/powerpc/darwin-abi-1.c
! f1de6a326b4846750e0ac1ab775db181  gcc/testsuite/gcc.target/powerpc/darwin-abi-2.c
! 4b26b2b0c1600f70ab03780a630e9d65  gcc/testsuite/gcc.target/powerpc/darwin-bool-1.c
! d898994d2dd12e123fcb756d46aed2c4  gcc/testsuite/gcc.target/powerpc/darwin-bool-2.c
! e5a3f954e535f339c4a0f35fc50c6302  gcc/testsuite/gcc.target/powerpc/darwin-longdouble.c
! cf7c82ea38c291e7006ae7c2eb1753dd  gcc/testsuite/gcc.target/powerpc/darwin-longlong.c
! 4dbff077cb3e8124197729c3a94647bb  gcc/testsuite/gcc.target/powerpc/darwin-misaligned.c
! 0fde2e4890bda051e595c55b3efebeee  gcc/testsuite/gcc.target/powerpc/doloop-1.c
! 95f0a3ed470b480e62e5510f13cd33b8  gcc/testsuite/gcc.target/powerpc/macho-lo-sum.c
! cf48a1643b8ffd654d4cc2db4d74aafe  gcc/testsuite/gcc.target/powerpc/powerpc.exp
! 25ee68e75d563ab07d72d89d0d85c800  gcc/testsuite/gcc.target/powerpc/ppc-and-1.c
! 3815f53acf69d3059d0616c511f670c5  gcc/testsuite/gcc.target/powerpc/ppc-bitfield1.c
! 615987c065b85a21874f0b80a0e3f380  gcc/testsuite/gcc.target/powerpc/ppc-compare-1.c
! 123fe3978babf048069d5731695300ab  gcc/testsuite/gcc.target/powerpc/ppc-eabi.c
! 384725f498b861af6f8bed0530eeac73  gcc/testsuite/gcc.target/powerpc/ppc-fmadd-1.c
! b49bfc8892e32ccd4715b924f41106d6  gcc/testsuite/gcc.target/powerpc/ppc-fmadd-2.c
! 90d042fffee10d77e01ab7cf9fcbb7c1  gcc/testsuite/gcc.target/powerpc/ppc-fmadd-3.c
! 2f98c9de092b752f4149c60367c90247  gcc/testsuite/gcc.target/powerpc/ppc-fsel-1.c
! 28c82cf854d14b9e7b445bab023fb08c  gcc/testsuite/gcc.target/powerpc/ppc-fsel-2.c
! 4607e864b19fd011a4f1d730e041efc9  gcc/testsuite/gcc.target/powerpc/ppc-fsel-3.c
! bb5f5f530e621748748879b844d09373  gcc/testsuite/gcc.target/powerpc/ppc-ldstruct.c
! 4dd62ada8a08c47c10cc137b67c1d70c  gcc/testsuite/gcc.target/powerpc/ppc-mov-1.c
! f6390cfcea3795f2dbb85227a272f393  gcc/testsuite/gcc.target/powerpc/ppc-sdata-1.c
! b5ba424150d6f9f7d45a408112480ef3  gcc/testsuite/gcc.target/powerpc/ppc-sdata-2.c
! 6bee4b61a91fdcf2ce29a319025fde82  gcc/testsuite/gcc.target/powerpc/ppc-spe.c
! 8090a7561c909b0fda44aa5ce2bfa9e4  gcc/testsuite/gcc.target/powerpc/ppc-spe64-1.c
! 3133ebba619e0d3d6789cfea332b5e61  gcc/testsuite/gcc.target/powerpc/ppc-stackalign-1.c
! 347db92de42c68a0e17367b289aaa20b  gcc/testsuite/gcc.target/powerpc/ppc-stfiwx.c
! bf1d512a3ecf96a2d17f548c028c6982  gcc/testsuite/gcc.target/powerpc/ppc-vector-memcpy.c
! 149416702c77daa6a1ec819d76e9b553  gcc/testsuite/gcc.target/powerpc/ppc-vector-memset.c
! e56ce616936c1d7a0a7a282f51024ec0  gcc/testsuite/gcc.target/powerpc/ppc64-abi-1.c
! 5a473ba3e21885bb666d741001ae7c30  gcc/testsuite/gcc.target/powerpc/ppc64-abi-2.c
! 650fe61f1a51f45b472b793bd7161dfa  gcc/testsuite/gcc.target/powerpc/ppc64-abi-3.c
! ea1d9e504101479c0517d08a9f1ca588  gcc/testsuite/gcc.target/powerpc/ppc64-toc.c
! 08d921ea4223f5f12726484c57673e10  gcc/testsuite/gcc.target/powerpc/pr16155.c
! 17a16a66e2baa76e8ea220d3e0f65b35  gcc/testsuite/gcc.target/powerpc/pr16286.c
! deff93582c89e477b3831564035d97b3  gcc/testsuite/gcc.target/powerpc/pr18096-1.c
! ab27caeed3a927279188546795ad1803  gcc/testsuite/gcc.target/powerpc/pr25960.c
! bf385d7310a8dab90ee44f86832aa03b  gcc/testsuite/gcc.target/powerpc/rs6000-fpint-2.c
! 9d573583f65f14f71c9c7e9e2b9a3264  gcc/testsuite/gcc.target/powerpc/rs6000-fpint.c
! 83fb5e490c5b87853f92a84054671203  gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-1.c
! 2eeea8fb3857592874b0b7f5047f6f47  gcc/testsuite/gcc.target/powerpc/rs6000-ldouble-2.c
! 463874923b13eb53fbc22485107b8765  gcc/testsuite/gcc.target/powerpc/rs6000-power2-1.c
! ab2573d845ce9cf1329608f1f5c71e1e  gcc/testsuite/gcc.target/powerpc/rs6000-power2-2.c
! e4076561bf343823ba2b5380a58ad6b5  gcc/testsuite/gcc.target/powerpc/spe1.c
! 3533e6de95ac4d270e5e38c3fbac3f72  gcc/testsuite/gcc.target/powerpc/stabs-attrib-vect-darwin.c
  f94446d8f756e626b7ed117601c82b43  gcc/testsuite/gcc.target/sparc/align.c
  61fdcc3e39deca7e4f123378b814dd0f  gcc/testsuite/gcc.target/sparc/combined-1.c
  0d476e7d021a9af6de17c1d92c85244d  gcc/testsuite/gcc.target/sparc/combined-2.c
*************** f94446d8f756e626b7ed117601c82b43  gcc/te
*** 17960,17965 ****
--- 17437,17443 ----
  8ea2f290b8d1bb372250ab75b13653b9  gcc/testsuite/gcc.target/sparc/fandnot.c
  2bb72ee0cebaf90f38c9223a9d6ceda9  gcc/testsuite/gcc.target/sparc/fandnots.c
  ac06a3b7853caffeb81a94b6156bdbdd  gcc/testsuite/gcc.target/sparc/fands.c
+ 002c7962cc9b569a9b63386024caba83  gcc/testsuite/gcc.target/sparc/fexpand-2.c
  dea84c5b8bdad5da8766cf3cb31b888e  gcc/testsuite/gcc.target/sparc/fexpand.c
  88a8d0fc7367ef87824161109ed38561  gcc/testsuite/gcc.target/sparc/fnand.c
  74b749847de443914e900375206bfdc3  gcc/testsuite/gcc.target/sparc/fnands.c
*************** bb68d7c78b1cb44c467d50043aafb12c  gcc/te
*** 17976,17982 ****
--- 17454,17462 ----
  9529e4a39bae9620dc59004cb0ec4092  gcc/testsuite/gcc.target/sparc/fpadd16s.c
  8a751f7cbad2b565d634914ca89a4551  gcc/testsuite/gcc.target/sparc/fpadd32.c
  7efe7d6dfe46005ac34237aa9e3e023c  gcc/testsuite/gcc.target/sparc/fpadd32s.c
+ 296cb7fa3c599895363c464ddd0464b8  gcc/testsuite/gcc.target/sparc/fpmerge-2.c
  9ccf50046437def0babb8d5c95efcd88  gcc/testsuite/gcc.target/sparc/fpmerge.c
+ 8bba6e0b8450d23474e433c3411be107  gcc/testsuite/gcc.target/sparc/fpmul-2.c
  fe5b0cd5973c6dc085abebd386625a64  gcc/testsuite/gcc.target/sparc/fpmul.c
  1456dfe0241f0d964b7fc35ecedcd72e  gcc/testsuite/gcc.target/sparc/fpsub16.c
  2f5594ce0d3bd671052c5b81dcb77df7  gcc/testsuite/gcc.target/sparc/fpsub16s.c
*************** ee302d993f68621386f88c2997835050  gcc/te
*** 17986,17993 ****
  990393d30e644786d30c4af5253b1905  gcc/testsuite/gcc.target/sparc/fxnors.c
  119856c33aa08ef8de392f6f67147c38  gcc/testsuite/gcc.target/sparc/fxor.c
  c18e0726af4158f9f944069a676b6c7f  gcc/testsuite/gcc.target/sparc/fxors.c
  0e5130135e48573657f6f1f054ac8e81  gcc/testsuite/gcc.target/sparc/pdist.c
! ca61cca925c1134e859844049aaa94f1  gcc/testsuite/gcc.target/sparc/sparc.exp
  915575c8ca5dab04f27a345a86fb9ba9  gcc/testsuite/gcc.target/xstormy16/below100.S
  1594c5c73df84e3d3c12204103dd4c1f  gcc/testsuite/gcc.target/xstormy16/below100.ld
  9f984f9d0cbb8c3563080f4e31e30e70  gcc/testsuite/gcc.target/xstormy16/below_100.c
--- 17466,17498 ----
  990393d30e644786d30c4af5253b1905  gcc/testsuite/gcc.target/sparc/fxnors.c
  119856c33aa08ef8de392f6f67147c38  gcc/testsuite/gcc.target/sparc/fxor.c
  c18e0726af4158f9f944069a676b6c7f  gcc/testsuite/gcc.target/sparc/fxors.c
+ ae090e0c723fcb38984fc5a5aaa5be3a  gcc/testsuite/gcc.target/sparc/noresult.c
+ 6d6cc035a875191fddbd86856d0947b7  gcc/testsuite/gcc.target/sparc/pdist-2.c
+ 71f0add7ec0b671923cbaee0306a8d26  gcc/testsuite/gcc.target/sparc/pdist-3.c
  0e5130135e48573657f6f1f054ac8e81  gcc/testsuite/gcc.target/sparc/pdist.c
! 54d043a9c1ca682b46a61666fadb6ffc  gcc/testsuite/gcc.target/sparc/sparc.exp
! 231a29c37421f789917dfb39159e85ab  gcc/testsuite/gcc.target/x86_64/abi/README.gcc
! 5b34c90e8cf7cf95e6074ea3ce2fa785  gcc/testsuite/gcc.target/x86_64/abi/abi-x86_64.exp
! 315c5d0e02ef985b9774593047ac14a0  gcc/testsuite/gcc.target/x86_64/abi/args.h
! 8482d8a619ec974384a5550963432489  gcc/testsuite/gcc.target/x86_64/abi/asm-support.s
! a9f31dc88e0cc35b4cad6c0ab1bec6df  gcc/testsuite/gcc.target/x86_64/abi/defines.h
! ced3e7fc25757fe027f4eacc904e6881  gcc/testsuite/gcc.target/x86_64/abi/macros.h
! df350cc8fc42fcbfb44edc088765d60a  gcc/testsuite/gcc.target/x86_64/abi/test_3_element_struct_and_unions.c
! 54a02258e782aaa35101b4f6cddbe300  gcc/testsuite/gcc.target/x86_64/abi/test_basic_alignment.c
! 21f9b335d755c74bdef8998aeac98585  gcc/testsuite/gcc.target/x86_64/abi/test_basic_array_size_and_align.c
! fd2b5f4dd5a0e31df35f191e7f56c413  gcc/testsuite/gcc.target/x86_64/abi/test_basic_returning.c
! 7e1ddc49c842e2c92c18b50766e1c949  gcc/testsuite/gcc.target/x86_64/abi/test_basic_sizes.c
! 9e3d9cb6535fad215b46012125f3797a  gcc/testsuite/gcc.target/x86_64/abi/test_basic_struct_size_and_align.c
! 863911e02ace898542b03e3553f020a1  gcc/testsuite/gcc.target/x86_64/abi/test_basic_union_size_and_align.c
! 191df70ef74ab14088479fed479b6a36  gcc/testsuite/gcc.target/x86_64/abi/test_bitfields.c
! c48c02707eed4c21b1fea0eb0be3e02a  gcc/testsuite/gcc.target/x86_64/abi/test_complex_returning.c
! d1aa3b503894f1728782a16daf8bca83  gcc/testsuite/gcc.target/x86_64/abi/test_passing_floats.c
! 5b6a5f2f84b12e957730dff2455076d9  gcc/testsuite/gcc.target/x86_64/abi/test_passing_integers.c
! 4797d80662d19d0a4a578d0ae1627d8b  gcc/testsuite/gcc.target/x86_64/abi/test_passing_structs.c
! 83d81ea8d13fe674037de1aacf16063d  gcc/testsuite/gcc.target/x86_64/abi/test_passing_structs_and_unions.c
! 25ea3c952b114c009d750a4dc579507d  gcc/testsuite/gcc.target/x86_64/abi/test_passing_unions.c
! bf7fa9afe2144252b6d775c4fc6b3850  gcc/testsuite/gcc.target/x86_64/abi/test_struct_returning.c
! 77a2aaa1772edf65040dc6929b494d8f  gcc/testsuite/gcc.target/x86_64/abi/test_varargs.c
  915575c8ca5dab04f27a345a86fb9ba9  gcc/testsuite/gcc.target/xstormy16/below100.S
  1594c5c73df84e3d3c12204103dd4c1f  gcc/testsuite/gcc.target/xstormy16/below100.ld
  9f984f9d0cbb8c3563080f4e31e30e70  gcc/testsuite/gcc.target/xstormy16/below_100.c
*************** de974d8f497b1ad76694e8f9333fcd26  gcc/te
*** 18194,18200 ****
  92244b620516764d25382b815309419b  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c
  292d09294f8beccfa611eb5d5ace3e5d  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c
  399545481a5e90f464e00d2cdb3b624f  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c
! 572c0f6a7471ba7b89ab730249943600  gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
  07ed0a71cf8e1ab9f1b43290f5beb239  gcc/testsuite/gcc.test-framework/README
  096a37c4b1e488bdb060872ca7b99862  gcc/testsuite/gcc.test-framework/dg-bogus-exp-P.c
  ee0e6b3ffbbb52d6ec18df05697d1010  gcc/testsuite/gcc.test-framework/dg-bogus-exp-XF.c
--- 17699,17705 ----
  92244b620516764d25382b815309419b  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_8.c
  292d09294f8beccfa611eb5d5ace3e5d  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_b.c
  399545481a5e90f464e00d2cdb3b624f  gcc/testsuite/gcc.target/xstormy16/sfr/27_if0_sfrw_bitfield_f.c
! 0d7fd8c4c962e69595cdb4e6058234b6  gcc/testsuite/gcc.target/xstormy16/xstormy16.exp
  07ed0a71cf8e1ab9f1b43290f5beb239  gcc/testsuite/gcc.test-framework/README
  096a37c4b1e488bdb060872ca7b99862  gcc/testsuite/gcc.test-framework/dg-bogus-exp-P.c
  ee0e6b3ffbbb52d6ec18df05697d1010  gcc/testsuite/gcc.test-framework/dg-bogus-exp-XF.c
*************** ee0e6b3ffbbb52d6ec18df05697d1010  gcc/te
*** 18204,18265 ****
  806c2baf0fe3db4e7c7266ec338f180e  gcc/testsuite/gcc.test-framework/dg-do-run-exp-P.c
  a6313be69fbbba7767a5eec1889c256f  gcc/testsuite/gcc.test-framework/dg-dot-run-exp-P.c
  5b7c92d83f3c70816ff19d8159b0b99e  gcc/testsuite/gcc.test-framework/dg-dot-run-exp-U.c
  57c10a0c0410d339d538a11cea5aa5cd  gcc/testsuite/gcc.test-framework/dg-dox-run-exp-XF.c
! 59306cbcc7659ab3a9de64328a9f9c2a  gcc/testsuite/gcc.test-framework/dg-error-exp-P.c
! 52b259d3a2b2d970c9ddb31059d8609b  gcc/testsuite/gcc.test-framework/dg-error-exp-XP.c
  734dc5c6db137d083a1d15aff870648d  gcc/testsuite/gcc.test-framework/dg-excess-errors-exp-XF.c
  75ded3562d15f4b91a8b19c3e63ab5cc  gcc/testsuite/gcc.test-framework/dg-excess-errors-exp-XP.c
  2902dae468de0112a11f157477ff0e0e  gcc/testsuite/gcc.test-framework/dg-output-exp-P.c
  34394118c6187de3c53a1131ca37c8c5  gcc/testsuite/gcc.test-framework/dg-output-exp-XF.c
  1633a69e2ab65182b7d68d82de29bd9a  gcc/testsuite/gcc.test-framework/dg-warning-exp-P.c
! f363d005cb8679900890a81f95a580ad  gcc/testsuite/gcc.test-framework/gen_directive_tests
! d876dac67cb867a2ed8393812b25b365  gcc/testsuite/gcc.test-framework/test-framework.awk
! 12f21bce091e3c46d464f20b41b10b56  gcc/testsuite/gcc.test-framework/test-framework.exp
  36cd9c1e3875c80db22097b9c2ad49b3  gcc/testsuite/gfortran.dg/PR19754_1.f90
  0c95496297d3f7c6f4da308bb248095b  gcc/testsuite/gfortran.dg/PR19754_2.f90
  ce32673088c3b07b2450b05154ff077f  gcc/testsuite/gfortran.dg/achar_1.f90
  2ca82d5f95419efa97441fefb5d80bdb  gcc/testsuite/gfortran.dg/altreturn_1.f90
  7c49b5aae0452b3d9de83c951ecc812f  gcc/testsuite/gfortran.dg/append-1.f90
  91775ce54ebd3e79f1c1d61923dcc451  gcc/testsuite/gfortran.dg/array-1.f90
  1f97b4f0dca764838294052acc156f85  gcc/testsuite/gfortran.dg/array_constructor_3.f90
  6b96d70766eaf58b5853527d5eb75dce  gcc/testsuite/gfortran.dg/array_constructor_4.f90
  9918ac77cf760a3800e94da773f0a74b  gcc/testsuite/gfortran.dg/array_constructor_5.f90
  deab4a6796b2447e0b52d276de9e7520  gcc/testsuite/gfortran.dg/assign.f90
! 33bb9c6a0efda6c1c378e2203614d936  gcc/testsuite/gfortran.dg/assign_1.f90
  d13716000aff2182530213b6daeb5f10  gcc/testsuite/gfortran.dg/assign_2.f90
  a0494aa37ce786eddcb2107da73e9e9d  gcc/testsuite/gfortran.dg/assign_3.f90
  bd3eaa5ee0e2bbe2c28826271bd7069f  gcc/testsuite/gfortran.dg/assign_4.f
  f3fec4b773a296229e75e60ef6cafa3d  gcc/testsuite/gfortran.dg/assign_4.f90
  966d7e116c2df8e1539e6653d8cd7dc2  gcc/testsuite/gfortran.dg/assignment_1.f90
! 9fde702cc7bdddee647d7195a3270ddf  gcc/testsuite/gfortran.dg/assumed_dummy_1.f90
  1e7f74d6532554c8c19294f2cb8ebfdb  gcc/testsuite/gfortran.dg/auto_array_1.f90
  31e9278c6f1c25f6970f1455223ed3c0  gcc/testsuite/gfortran.dg/auto_save_1.f90
  64d0b87543050b6c3e0f57334afee034  gcc/testsuite/gfortran.dg/backslash_1.f90
  239114651bbe9b53f1996646af1a1149  gcc/testsuite/gfortran.dg/backslash_2.f90
  e90c72bd73e32550cfe8cfceae2beca3  gcc/testsuite/gfortran.dg/backspace.f
  e1f7ca52435ccdb5b247636195724346  gcc/testsuite/gfortran.dg/backspace.f90
  3c4c1693d1e2dd1b1d545776261690aa  gcc/testsuite/gfortran.dg/badline.f
  bb9c8393402df06534440c801c44edb3  gcc/testsuite/gfortran.dg/blockdata_1.f90
  e1e6e91037e7eac695683515f951782c  gcc/testsuite/gfortran.dg/bound_1.f90
  f0d730c3594ce2f358ac721c25ef3407  gcc/testsuite/gfortran.dg/boz_1.f90
  510c34a7ff95c5e38f0673515e9e70dd  gcc/testsuite/gfortran.dg/boz_3.f90
  b87d9e6c413d4f8ab0b74203734a7315  gcc/testsuite/gfortran.dg/boz_4.f90
  c440b791ae108c650b5935a259dc2225  gcc/testsuite/gfortran.dg/char_array_constructor.f90
  fc84e7b63f3cdd6fa8977860df5cda65  gcc/testsuite/gfortran.dg/char_array_structure_constructor.f90
  e1dbdb6541eb13f3a773f8b1c4112427  gcc/testsuite/gfortran.dg/char_initialiser_actual.f90
  090349644ce89a4aaeecb39dadcdeb9c  gcc/testsuite/gfortran.dg/char_pointer_assign.f90
  d53f14813aa1509776d377b9e182bc10  gcc/testsuite/gfortran.dg/char_pointer_comp_assign.f90
  e3d5f4f89b94ba79dc02a40e4bd258f5  gcc/testsuite/gfortran.dg/char_pointer_dependency.f90
  0a720e6a6558f262847f7182dbd5bdc0  gcc/testsuite/gfortran.dg/char_pointer_dummy.f90
  f02833e9af9ec0b8e00c3fb71106bac8  gcc/testsuite/gfortran.dg/char_pointer_func.f90
  b68510025102f4e42c5ab3a0ebf1b5aa  gcc/testsuite/gfortran.dg/comma_format_extension_1.f
  e9f174aaa655ec093b7c3dc075581e89  gcc/testsuite/gfortran.dg/comma_format_extension_2.f
! e846bb844e0d5dd2b05f20f7725c0b22  gcc/testsuite/gfortran.dg/comma_format_extension_3.f
! fb87252b4557b0a56f9b194d28a2b5f2  gcc/testsuite/gfortran.dg/comma_format_extension_4.f
  ad56b8ccf93a09af1f57171e13ba7a6a  gcc/testsuite/gfortran.dg/common_1.f90
  1a3f0a95a819503c9a7f4ee394db0fae  gcc/testsuite/gfortran.dg/common_2.f90
  c2a0876dd85c6ece5d309ef2cf58c533  gcc/testsuite/gfortran.dg/common_3.f90
! 9b40af3442d45f6e82348f9e9476c3b2  gcc/testsuite/gfortran.dg/common_4.f90
  708b07742dd336a5262e2f8d90c1b999  gcc/testsuite/gfortran.dg/common_5.f
  efd711390e553828ec90bbbf4d5fdcf6  gcc/testsuite/gfortran.dg/common_6.f90
  c2a62eaad6d91833a21f583e497677ce  gcc/testsuite/gfortran.dg/common_equivalence_1.f
--- 17709,17860 ----
  806c2baf0fe3db4e7c7266ec338f180e  gcc/testsuite/gcc.test-framework/dg-do-run-exp-P.c
  a6313be69fbbba7767a5eec1889c256f  gcc/testsuite/gcc.test-framework/dg-dot-run-exp-P.c
  5b7c92d83f3c70816ff19d8159b0b99e  gcc/testsuite/gcc.test-framework/dg-dot-run-exp-U.c
+ 9f8f4ea16ba2646996879f7608b9b52d  gcc/testsuite/gcc.test-framework/dg-dot-run-sif-exp-P.c
+ 9a87899151da235984fb6749b28907be  gcc/testsuite/gcc.test-framework/dg-dot-run-sif-exp-U.c
+ cd70dd0ba16b9864289de2ea9edf48fd  gcc/testsuite/gcc.test-framework/dg-dot-run-xif-exp-P.c
+ ef4cdaeca533b915db4979161ac9cba3  gcc/testsuite/gcc.test-framework/dg-dot-run-xif-exp-XP.c
  57c10a0c0410d339d538a11cea5aa5cd  gcc/testsuite/gcc.test-framework/dg-dox-run-exp-XF.c
! b0b1b597ee8c8332ec789b02f501175d  gcc/testsuite/gcc.test-framework/dg-error-exp-P.c
! 308ecca24fbb5474c9052f38f7a7dda3  gcc/testsuite/gcc.test-framework/dg-error-exp-XP.c
  734dc5c6db137d083a1d15aff870648d  gcc/testsuite/gcc.test-framework/dg-excess-errors-exp-XF.c
  75ded3562d15f4b91a8b19c3e63ab5cc  gcc/testsuite/gcc.test-framework/dg-excess-errors-exp-XP.c
  2902dae468de0112a11f157477ff0e0e  gcc/testsuite/gcc.test-framework/dg-output-exp-P.c
  34394118c6187de3c53a1131ca37c8c5  gcc/testsuite/gcc.test-framework/dg-output-exp-XF.c
  1633a69e2ab65182b7d68d82de29bd9a  gcc/testsuite/gcc.test-framework/dg-warning-exp-P.c
! c05e21a72d690b82ec8afccc4a756b3b  gcc/testsuite/gcc.test-framework/gen_directive_tests
! 7fa8de92600afd3f811f331075590e59  gcc/testsuite/gcc.test-framework/test-framework.awk
! 6fe9e2ddbf643517661f94d2e604b565  gcc/testsuite/gcc.test-framework/test-framework.exp
  36cd9c1e3875c80db22097b9c2ad49b3  gcc/testsuite/gfortran.dg/PR19754_1.f90
  0c95496297d3f7c6f4da308bb248095b  gcc/testsuite/gfortran.dg/PR19754_2.f90
+ 5353068217f60e06a82e93edf98d882a  gcc/testsuite/gfortran.dg/PR19872.f
+ 832071fca984774daef24e24111824fe  gcc/testsuite/gfortran.dg/PR24188.f
  ce32673088c3b07b2450b05154ff077f  gcc/testsuite/gfortran.dg/achar_1.f90
+ f3f465c9a8b38931a7489d45556204bf  gcc/testsuite/gfortran.dg/advance.f90
+ 762441c3489be61276162b0dd388e187  gcc/testsuite/gfortran.dg/aint_anint_1.f90
+ 0372a292244bd2342316a86ca38fff46  gcc/testsuite/gfortran.dg/aliasing_dummy_1.f90
+ 94f9ef263bb5355f2046bc11a2bf506f  gcc/testsuite/gfortran.dg/allocate_char_star_scalar_1.f90
  2ca82d5f95419efa97441fefb5d80bdb  gcc/testsuite/gfortran.dg/altreturn_1.f90
  7c49b5aae0452b3d9de83c951ecc812f  gcc/testsuite/gfortran.dg/append-1.f90
  91775ce54ebd3e79f1c1d61923dcc451  gcc/testsuite/gfortran.dg/array-1.f90
+ 264e19af1be27bdf2ee8658e9abd7225  gcc/testsuite/gfortran.dg/array_alloc_1.f90
+ a196ab2113d0958808fa34db31a0bb20  gcc/testsuite/gfortran.dg/array_alloc_2.f90
+ a057ce5dee83affed1d7948f47b80405  gcc/testsuite/gfortran.dg/array_alloc_3.f90
+ 44b591a1fd7bf35e94f9320f34479fa0  gcc/testsuite/gfortran.dg/array_constructor_1.f90
+ cb05105269864c2be54d40dd22c77bde  gcc/testsuite/gfortran.dg/array_constructor_10.f90
+ 592272b37f4a35c95df0d684a5d88de8  gcc/testsuite/gfortran.dg/array_constructor_11.f90
+ dc4c0a748741c9ba7482f9ee1b1aa726  gcc/testsuite/gfortran.dg/array_constructor_12.f90
+ c404924b69df8e1ff68ec61e74f21d6b  gcc/testsuite/gfortran.dg/array_constructor_2.f90
  1f97b4f0dca764838294052acc156f85  gcc/testsuite/gfortran.dg/array_constructor_3.f90
  6b96d70766eaf58b5853527d5eb75dce  gcc/testsuite/gfortran.dg/array_constructor_4.f90
  9918ac77cf760a3800e94da773f0a74b  gcc/testsuite/gfortran.dg/array_constructor_5.f90
+ 6dc05669b848d267b25c38806e59d51f  gcc/testsuite/gfortran.dg/array_constructor_6.f90
+ 0965c3437a2116ac32e573441184fdee  gcc/testsuite/gfortran.dg/array_constructor_7.f90
+ b4019b0f6faabbc51d698bec4f4094ee  gcc/testsuite/gfortran.dg/array_constructor_8.f90
+ f51979fbd89c7c2a189f663dbf93fa38  gcc/testsuite/gfortran.dg/array_constructor_9.f90
+ 2f9d83f2495ca572918ad1169ed18322  gcc/testsuite/gfortran.dg/arrayio_0.f90
+ 944d8a174d75b1c2e13ed2ddf70ba876  gcc/testsuite/gfortran.dg/arrayio_1.f90
+ 1bd5e1326b7e0112dd6c440bc7ff9e4e  gcc/testsuite/gfortran.dg/arrayio_2.f90
+ 464fdf5b0f515ce504fe0f8e2ee07c6b  gcc/testsuite/gfortran.dg/arrayio_3.f90
+ 4042242806976787cc2719282ff81591  gcc/testsuite/gfortran.dg/arrayio_4.f90
+ 3d6948c55ae3ecc98582866566484795  gcc/testsuite/gfortran.dg/arrayio_5.f90
+ 5bcacd12a0d03db4bcc76616bd9dd8dc  gcc/testsuite/gfortran.dg/arrayio_6.f90
+ 567a9b08d9a54b471ed15c86abaa38ca  gcc/testsuite/gfortran.dg/arrayio_7.f90
+ 611a6f77d166cac7710980b9634f4d83  gcc/testsuite/gfortran.dg/arrayio_derived_1.f90
+ 2b2c726e08ba1c26507c7392e63e1029  gcc/testsuite/gfortran.dg/arrayio_derived_2.f90
  deab4a6796b2447e0b52d276de9e7520  gcc/testsuite/gfortran.dg/assign.f90
! 4fd44d78ecb3264e1dd3d6bbb0ca8ea6  gcc/testsuite/gfortran.dg/assign_1.f90
  d13716000aff2182530213b6daeb5f10  gcc/testsuite/gfortran.dg/assign_2.f90
  a0494aa37ce786eddcb2107da73e9e9d  gcc/testsuite/gfortran.dg/assign_3.f90
  bd3eaa5ee0e2bbe2c28826271bd7069f  gcc/testsuite/gfortran.dg/assign_4.f
  f3fec4b773a296229e75e60ef6cafa3d  gcc/testsuite/gfortran.dg/assign_4.f90
+ f501ad9fe36a5716a92695db1f43f9de  gcc/testsuite/gfortran.dg/assign_5.f90
+ 7a9255b8194890e4998558c6c4abb2e9  gcc/testsuite/gfortran.dg/assign_6.f
+ 22f24d3c246ad7fac63a61b19149cfb1  gcc/testsuite/gfortran.dg/assign_7.f
+ 8a3f0942bd4a75e57daf738c679f4094  gcc/testsuite/gfortran.dg/assign_func_dtcomp_1.f90
  966d7e116c2df8e1539e6653d8cd7dc2  gcc/testsuite/gfortran.dg/assignment_1.f90
! 10199e9b831f43ad1d5782ede78784c3  gcc/testsuite/gfortran.dg/associated_1.f90
! e4ca90cb6d2b3bdb1e98d02433df5329  gcc/testsuite/gfortran.dg/assumed_charlen_function_1.f90
! f484c374c6a3a4d7adab5922c2c33aec  gcc/testsuite/gfortran.dg/assumed_charlen_function_2.f90
! b002ce75b328967bcaefe0211b8660c4  gcc/testsuite/gfortran.dg/assumed_charlen_function_3.f90
! d48b8275a538ac0d669f5492201f7f56  gcc/testsuite/gfortran.dg/assumed_dummy_1.f90
! a354232bd9503a7fd83e2c5ee0b6097e  gcc/testsuite/gfortran.dg/assumed_dummy_2.f90
! 4ea579a901f2ba867f7acca09b97b2d8  gcc/testsuite/gfortran.dg/assumed_present.f90
! 525855a9cbbc83fdc0ef217e4e239ed6  gcc/testsuite/gfortran.dg/assumed_shape_nml.f90
! 8f39ca0fa7ec868f32955b89b86956aa  gcc/testsuite/gfortran.dg/assumed_shape_ranks_1.f90
! 5cbda22a679e93aeea1fe4ac123aa1b8  gcc/testsuite/gfortran.dg/assumed_size_dt_dummy.f90
! 66154fee1020a0a24d30dceed64aa503  gcc/testsuite/gfortran.dg/assumed_size_nml.f90
! c9865a102cd2c58ad3328f0e26f9511d  gcc/testsuite/gfortran.dg/assumed_size_refs_1.f90
! 8a906da2dd57160bc40a533546e0e98c  gcc/testsuite/gfortran.dg/assumed_size_refs_2.f90
! 8bf64bb3c49e7fe58c386a66c599504b  gcc/testsuite/gfortran.dg/assumed_size_refs_3.f90
  1e7f74d6532554c8c19294f2cb8ebfdb  gcc/testsuite/gfortran.dg/auto_array_1.f90
+ 1c6c779626ab1b7d54e1a586a48711ba  gcc/testsuite/gfortran.dg/auto_char_dummy_array_1.f90
+ 29b52a7f53ee3cda359befb242d43896  gcc/testsuite/gfortran.dg/auto_internal_assumed.f90
  31e9278c6f1c25f6970f1455223ed3c0  gcc/testsuite/gfortran.dg/auto_save_1.f90
+ b347390b63a364594179b619dec33a75  gcc/testsuite/gfortran.dg/automatic_char_len_1.f90
+ 0bb10fbdd251207409a82e8715768a6e  gcc/testsuite/gfortran.dg/automatic_char_len_2.f90
+ d5b2ee81246f6427b4f5a7f1e1c7156d  gcc/testsuite/gfortran.dg/automatic_module_variable.f90
  64d0b87543050b6c3e0f57334afee034  gcc/testsuite/gfortran.dg/backslash_1.f90
  239114651bbe9b53f1996646af1a1149  gcc/testsuite/gfortran.dg/backslash_2.f90
  e90c72bd73e32550cfe8cfceae2beca3  gcc/testsuite/gfortran.dg/backspace.f
  e1f7ca52435ccdb5b247636195724346  gcc/testsuite/gfortran.dg/backspace.f90
+ 6c2cd67548ac29f08c3da1958fd505a3  gcc/testsuite/gfortran.dg/backspace_2.f
+ 9aa1c10ef4f0b494c94c9d4834821ab0  gcc/testsuite/gfortran.dg/backspace_3.f
+ e380ee240bef5ba4ef76004d28c8e451  gcc/testsuite/gfortran.dg/backspace_4.f
+ 1caecf47c75a5289cf7aaab54f8f3116  gcc/testsuite/gfortran.dg/bad_automatic_objects_1.f90
  3c4c1693d1e2dd1b1d545776261690aa  gcc/testsuite/gfortran.dg/badline.f
  bb9c8393402df06534440c801c44edb3  gcc/testsuite/gfortran.dg/blockdata_1.f90
  e1e6e91037e7eac695683515f951782c  gcc/testsuite/gfortran.dg/bound_1.f90
  f0d730c3594ce2f358ac721c25ef3407  gcc/testsuite/gfortran.dg/boz_1.f90
  510c34a7ff95c5e38f0673515e9e70dd  gcc/testsuite/gfortran.dg/boz_3.f90
  b87d9e6c413d4f8ab0b74203734a7315  gcc/testsuite/gfortran.dg/boz_4.f90
+ 50b8ea121016f94e2c0c93e00eb07d33  gcc/testsuite/gfortran.dg/boz_5.f90
+ f4eda2a91b3f1d79985435e1a8052ace  gcc/testsuite/gfortran.dg/boz_6.f90
+ 7f957e0512d9f4df37716d12316c46d5  gcc/testsuite/gfortran.dg/byte_1.f90
+ d04db9714722a890fe3f299c043d6607  gcc/testsuite/gfortran.dg/byte_2.f90
  c440b791ae108c650b5935a259dc2225  gcc/testsuite/gfortran.dg/char_array_constructor.f90
  fc84e7b63f3cdd6fa8977860df5cda65  gcc/testsuite/gfortran.dg/char_array_structure_constructor.f90
+ 9c89ef1cca24790678c93ba1101a3b30  gcc/testsuite/gfortran.dg/char_associated_1.f90
+ 2df12c6a93046b8c4d62b805a2c66a40  gcc/testsuite/gfortran.dg/char_cshift_1.f90
+ 509a2dea562a88df3dbb02e71fb5b263  gcc/testsuite/gfortran.dg/char_cshift_2.f90
+ 75c47eb93a14d5d213b3f60c8b5973ab  gcc/testsuite/gfortran.dg/char_eoshift_1.f90
+ b49e8e45ad4a01e1f573af7b0b859b92  gcc/testsuite/gfortran.dg/char_eoshift_2.f90
+ 70e5e3ee5ffcfa26bf246cd743fcc9b0  gcc/testsuite/gfortran.dg/char_eoshift_3.f90
+ a5383ad3b0fefa0235741a43dfa16374  gcc/testsuite/gfortran.dg/char_eoshift_4.f90
  e1dbdb6541eb13f3a773f8b1c4112427  gcc/testsuite/gfortran.dg/char_initialiser_actual.f90
+ f570030b90e009805fc32fef7360536e  gcc/testsuite/gfortran.dg/char_pack_1.f90
+ 5b78075b3385a72bb848282a910bc1d8  gcc/testsuite/gfortran.dg/char_pack_2.f90
  090349644ce89a4aaeecb39dadcdeb9c  gcc/testsuite/gfortran.dg/char_pointer_assign.f90
+ 8f2ff48ae137debd1b6433fed37c16e0  gcc/testsuite/gfortran.dg/char_pointer_assign_2.f90
  d53f14813aa1509776d377b9e182bc10  gcc/testsuite/gfortran.dg/char_pointer_comp_assign.f90
  e3d5f4f89b94ba79dc02a40e4bd258f5  gcc/testsuite/gfortran.dg/char_pointer_dependency.f90
  0a720e6a6558f262847f7182dbd5bdc0  gcc/testsuite/gfortran.dg/char_pointer_dummy.f90
  f02833e9af9ec0b8e00c3fb71106bac8  gcc/testsuite/gfortran.dg/char_pointer_func.f90
+ 20e99cf4aeea0d603a681f08f02c73a1  gcc/testsuite/gfortran.dg/char_reshape_1.f90
+ eb9b1f9becb3e2a0e65e424a29804cb6  gcc/testsuite/gfortran.dg/char_result_1.f90
+ 84353330a329a78551b2beb2c5ac65e3  gcc/testsuite/gfortran.dg/char_result_10.f90
+ ca6bbc99fbc23476b8d70ee57510d9fb  gcc/testsuite/gfortran.dg/char_result_11.f90
+ 984513d583537dec7fd278cffcfa0a0f  gcc/testsuite/gfortran.dg/char_result_2.f90
+ 7aca40512679e7e9da0693bc91c40364  gcc/testsuite/gfortran.dg/char_result_3.f90
+ 152c4e2ad0f865e1d6650776fa835c5e  gcc/testsuite/gfortran.dg/char_result_4.f90
+ f7d230606b53d7b328f30f5b3d6608dc  gcc/testsuite/gfortran.dg/char_result_5.f90
+ 00cbda87a0197e80adc24929dea11307  gcc/testsuite/gfortran.dg/char_result_6.f90
+ 3f291663e070509620e75c6122153126  gcc/testsuite/gfortran.dg/char_result_7.f90
+ ca4b0bc893c4f8ba04025c60cee63437  gcc/testsuite/gfortran.dg/char_result_8.f90
+ 5093ae73a32a476b807d4a5128b4ed80  gcc/testsuite/gfortran.dg/char_result_9.f90
+ bb69e0872b57496c95baa511ecf95e48  gcc/testsuite/gfortran.dg/char_spread_1.f90
+ 8d1693bd67d27c569f3e9ff4ac088821  gcc/testsuite/gfortran.dg/char_transpose_1.f90
+ d1940306fe5a3d3fd7c9cc49a49912c1  gcc/testsuite/gfortran.dg/char_unpack_1.f90
+ f49d34a82c898cf3391989ab79571b0d  gcc/testsuite/gfortran.dg/char_unpack_2.f90
+ 4f528cfd42ea48c4b550a3f7e5d18547  gcc/testsuite/gfortran.dg/chkbits.f90
+ 6f0e4161eae5e447fc186bcb32642801  gcc/testsuite/gfortran.dg/comma.f
  b68510025102f4e42c5ab3a0ebf1b5aa  gcc/testsuite/gfortran.dg/comma_format_extension_1.f
  e9f174aaa655ec093b7c3dc075581e89  gcc/testsuite/gfortran.dg/comma_format_extension_2.f
! e38edb0e607a003fddf67b7597b40626  gcc/testsuite/gfortran.dg/comma_format_extension_3.f
! 98ccfd52a304ae6f57a2247d77115f41  gcc/testsuite/gfortran.dg/comma_format_extension_4.f
  ad56b8ccf93a09af1f57171e13ba7a6a  gcc/testsuite/gfortran.dg/common_1.f90
  1a3f0a95a819503c9a7f4ee394db0fae  gcc/testsuite/gfortran.dg/common_2.f90
  c2a0876dd85c6ece5d309ef2cf58c533  gcc/testsuite/gfortran.dg/common_3.f90
! 92c11ac3992f23a38197e7f8043b96a0  gcc/testsuite/gfortran.dg/common_4.f90
  708b07742dd336a5262e2f8d90c1b999  gcc/testsuite/gfortran.dg/common_5.f
  efd711390e553828ec90bbbf4d5fdcf6  gcc/testsuite/gfortran.dg/common_6.f90
  c2a62eaad6d91833a21f583e497677ce  gcc/testsuite/gfortran.dg/common_equivalence_1.f
*************** c2a62eaad6d91833a21f583e497677ce  gcc/te
*** 18267,18308 ****
  7a04e00a061694524e6a58fb9d90aff0  gcc/testsuite/gfortran.dg/common_equivalence_3.f
  1a863b860aa1c3085939d9de58db3424  gcc/testsuite/gfortran.dg/common_pointer_1.f90
  cfd54d23052dc6b16ad17bcf76406ff1  gcc/testsuite/gfortran.dg/complex_int_1.f90
  2d5510828587d52c4ef6fdd67e0b31d1  gcc/testsuite/gfortran.dg/complex_read.f90
  d7579b8d3e86545a00a17e2f17b2b860  gcc/testsuite/gfortran.dg/complex_write.f90
  c726108aa1cbfbc0c1b801b6ba5ab484  gcc/testsuite/gfortran.dg/contained_1.f90
! a5b73600d2dafa16eb551b401fe8bb24  gcc/testsuite/gfortran.dg/contained_equivalence_1.f90
  7a3e47074b3fa94a7580a20fbf161d14  gcc/testsuite/gfortran.dg/data_char_1.f90
! db1c86586209e539f8bf50bb7f33c65a  gcc/testsuite/gfortran.dg/deallocate_stat.f90
  431530310efb9ec01e397a4a411f8e67  gcc/testsuite/gfortran.dg/debug_1.f90
  2d5af451897a230f5c4e75f539402003  gcc/testsuite/gfortran.dg/deftype_1.f90
  95f2419e774289de06c61e6b37f84b63  gcc/testsuite/gfortran.dg/der_array_1.f90
  77c0c842b646f7572ab61ceb388c9536  gcc/testsuite/gfortran.dg/der_array_io_1.f90
  5a75c0e0705ded3d8e6c3f3bed66f6ea  gcc/testsuite/gfortran.dg/der_array_io_2.f90
  724f9d3d145864ae88e5dd56e28658f3  gcc/testsuite/gfortran.dg/der_array_io_3.f90
  54d58321c463de955b80652c000a0a1e  gcc/testsuite/gfortran.dg/der_io_1.f90
  2520b2121bba08e6b262ed618af815c5  gcc/testsuite/gfortran.dg/der_pointer_1.f90
! d7fad30aed7fbb3defe1e3cba6885245  gcc/testsuite/gfortran.dg/dev_null.f90
  fea18fc8aaa232a79d68ed895d366065  gcc/testsuite/gfortran.dg/dfloat_1.f90
! 2ae61eb1af8a62620d49e66c0c0ad9c6  gcc/testsuite/gfortran.dg/dg.exp
  950b86336c95e11166419c60906905bd  gcc/testsuite/gfortran.dg/direct_io_1.f90
  0e94eeda02976adc3e6b7f11fd84f199  gcc/testsuite/gfortran.dg/direct_io_2.f90
! a3f04c1f01833ed39e08ad3ca9f23ead  gcc/testsuite/gfortran.dg/direct_io_3.f90
  284b669e1d4a30d12cb5bda22c4025f3  gcc/testsuite/gfortran.dg/direct_io_4.f90
  c7a75d3b71316ff89b47fa9681cf8066  gcc/testsuite/gfortran.dg/do_1.f90
  aaad3ee6d838c85816284d4c01090f19  gcc/testsuite/gfortran.dg/do_iterator.f90
  89a29a36e872746cadea68f28ae330ea  gcc/testsuite/gfortran.dg/dollar_edit_descriptor-1.f
  81c02ab79001889d92651612f04f4029  gcc/testsuite/gfortran.dg/dos_eol.f
  28c9ee70843b7ef41ef74327bc08fb12  gcc/testsuite/gfortran.dg/double_complex_1.f90
  a6123bf77f221c60e8ae2f81bf6d0479  gcc/testsuite/gfortran.dg/duplicate_labels.f90
! bdb45f687b5d3ca807045edcc5137867  gcc/testsuite/gfortran.dg/e_d_fmt.f90
  2bc32bf3d4cbd294c902ac169f80f695  gcc/testsuite/gfortran.dg/edit_real_1.f90
  9322412de6af3d6d2ddc02a981d1eb87  gcc/testsuite/gfortran.dg/empty_format_1.f90
  ab3f96ec42d69cf7b38f37fa9bc2c94f  gcc/testsuite/gfortran.dg/endfile.f90
  c5fcdb329e48c8195fc4112f8e79724d  gcc/testsuite/gfortran.dg/endfile_2.f90
  d567d5b4840878ab834bb0c7bbc09c37  gcc/testsuite/gfortran.dg/entry_1.f90
  dde6c08dab677880bb894b2143cf090b  gcc/testsuite/gfortran.dg/entry_2.f90
  9ed1fb10bd35039c373802778017d0b3  gcc/testsuite/gfortran.dg/entry_3.f90
! e5c77569beecdcca6d82afdeab3b11cb  gcc/testsuite/gfortran.dg/entry_4.f90
  7ab702c0c5c00cd9a2eeea0ee8dacf87  gcc/testsuite/gfortran.dg/eof_1.f90
  015463de1e45aea184a6fc4fa3d85c7b  gcc/testsuite/gfortran.dg/eof_2.f90
  6ff48082aaf8a0109f0b0ac9c3edb72c  gcc/testsuite/gfortran.dg/eor_1.f90
--- 17862,17954 ----
  7a04e00a061694524e6a58fb9d90aff0  gcc/testsuite/gfortran.dg/common_equivalence_3.f
  1a863b860aa1c3085939d9de58db3424  gcc/testsuite/gfortran.dg/common_pointer_1.f90
  cfd54d23052dc6b16ad17bcf76406ff1  gcc/testsuite/gfortran.dg/complex_int_1.f90
+ de1b5d5dc97f6005532533e028a29670  gcc/testsuite/gfortran.dg/complex_intrinsic_1.f90
+ 7c823bfc6fe5a1777f3e40fc0e756cd0  gcc/testsuite/gfortran.dg/complex_intrinsic_2.f90
  2d5510828587d52c4ef6fdd67e0b31d1  gcc/testsuite/gfortran.dg/complex_read.f90
  d7579b8d3e86545a00a17e2f17b2b860  gcc/testsuite/gfortran.dg/complex_write.f90
+ 234f42a9585030949ffe1d9e158cdb15  gcc/testsuite/gfortran.dg/constant_substring.f
  c726108aa1cbfbc0c1b801b6ba5ab484  gcc/testsuite/gfortran.dg/contained_1.f90
! 28bf1a74da5c8d8e9638411e2d180e30  gcc/testsuite/gfortran.dg/contained_equivalence_1.f90
! 3e6601d715c346714d5942c158ecc96f  gcc/testsuite/gfortran.dg/convert_1.f90
! eeee9d88b6595b9295d02b4f4b784cd5  gcc/testsuite/gfortran.dg/cray_pointers_1.f90
! db58ddeb48ebd6fae1e16180edf2e92d  gcc/testsuite/gfortran.dg/cray_pointers_2.f90
! 49ea5999b0fbbd860fa0b8b1e6a01397  gcc/testsuite/gfortran.dg/cray_pointers_3.f90
! c00f3a9d2f365b0dab03e2415fabbc16  gcc/testsuite/gfortran.dg/cray_pointers_4.f90
! 985ed487b1fd75c4094127537afaacd7  gcc/testsuite/gfortran.dg/cray_pointers_5.f90
! 45cf1db3a2d65107b4b8071bb8e28c91  gcc/testsuite/gfortran.dg/csqrt_2.f
! 83532a23dfd59d84167330d06154c78b  gcc/testsuite/gfortran.dg/d_lines_1.f
! 1a302a979ad4a0b3fcc309e0ba686fd6  gcc/testsuite/gfortran.dg/d_lines_2.f
! 987f880150c0dbd1e6567b250ddb9842  gcc/testsuite/gfortran.dg/d_lines_3.f
! b494fac3983a388281d078b0757553e5  gcc/testsuite/gfortran.dg/d_lines_4.f
! ad1671c9a89b0639af833c746c8e6caf  gcc/testsuite/gfortran.dg/d_lines_5.f
  7a3e47074b3fa94a7580a20fbf161d14  gcc/testsuite/gfortran.dg/data_char_1.f90
! 17a84ea61846d43aaaf6065f8588bfae  gcc/testsuite/gfortran.dg/data_char_2.f90
! a83e50972b9e5e750b5ecce121891d85  gcc/testsuite/gfortran.dg/data_constraints_1.f90
! 3ece70a5bb9b24671d4c8179edf9b97a  gcc/testsuite/gfortran.dg/data_constraints_2.f90
! 433440f2bc7400a428ec319b70a4c7c4  gcc/testsuite/gfortran.dg/data_initialized.f90
! 9fcbe2e532ad3b34161b543669b7df98  gcc/testsuite/gfortran.dg/deallocate_stat.f90
  431530310efb9ec01e397a4a411f8e67  gcc/testsuite/gfortran.dg/debug_1.f90
+ 6fa85f111ecc96c1a16beef036b64c3c  gcc/testsuite/gfortran.dg/default_initialization.f90
  2d5af451897a230f5c4e75f539402003  gcc/testsuite/gfortran.dg/deftype_1.f90
+ f1315c405d72b632bf1260f77c98f35b  gcc/testsuite/gfortran.dg/dependency_1.f90
  95f2419e774289de06c61e6b37f84b63  gcc/testsuite/gfortran.dg/der_array_1.f90
  77c0c842b646f7572ab61ceb388c9536  gcc/testsuite/gfortran.dg/der_array_io_1.f90
  5a75c0e0705ded3d8e6c3f3bed66f6ea  gcc/testsuite/gfortran.dg/der_array_io_2.f90
  724f9d3d145864ae88e5dd56e28658f3  gcc/testsuite/gfortran.dg/der_array_io_3.f90
+ d8550edab8d5e7f71c87159df4ae1257  gcc/testsuite/gfortran.dg/der_charlen_1.f90
  54d58321c463de955b80652c000a0a1e  gcc/testsuite/gfortran.dg/der_io_1.f90
+ af3f8014e4d83111e67abc78cb3134af  gcc/testsuite/gfortran.dg/der_io_2.f90
+ 40bbc1b616ce88dbe80a27b33710bd58  gcc/testsuite/gfortran.dg/der_io_3.f90
  2520b2121bba08e6b262ed618af815c5  gcc/testsuite/gfortran.dg/der_pointer_1.f90
! bf5b308cd1f07ab2684c62117e3344ce  gcc/testsuite/gfortran.dg/der_pointer_2.f90
! bf70cd429d2bb96e66108ecbde6782f6  gcc/testsuite/gfortran.dg/der_pointer_3.f90
! ecd42a3420126b6a93a5afd67728f3ab  gcc/testsuite/gfortran.dg/der_pointer_4.f90
! e18724265ec6aab79c0620180f09bb92  gcc/testsuite/gfortran.dg/der_ptr_component_1.f90
! a466fd6c42d7959249200b6a5f8d0976  gcc/testsuite/gfortran.dg/derived_init_1.f90
! fce84d21ee6ff370ffe985495a21211b  gcc/testsuite/gfortran.dg/derived_pointer_null_1.f90
! 64554deb3b97ec2c6f1b0bd4aa0d04fc  gcc/testsuite/gfortran.dg/derived_pointer_recursion.f90
! 21dd790eb5de9f5842955d3e4168f143  gcc/testsuite/gfortran.dg/derived_recursion.f90
! 64d6328e4b4c2c0b48ff755c5bc95dd5  gcc/testsuite/gfortran.dg/dev_null.f90
  fea18fc8aaa232a79d68ed895d366065  gcc/testsuite/gfortran.dg/dfloat_1.f90
! 839d9eae81132e19d18cfa61f925218a  gcc/testsuite/gfortran.dg/dg.exp
  950b86336c95e11166419c60906905bd  gcc/testsuite/gfortran.dg/direct_io_1.f90
  0e94eeda02976adc3e6b7f11fd84f199  gcc/testsuite/gfortran.dg/direct_io_2.f90
! df2f28f9f16982ad455240a03d5df8d9  gcc/testsuite/gfortran.dg/direct_io_3.f90
  284b669e1d4a30d12cb5bda22c4025f3  gcc/testsuite/gfortran.dg/direct_io_4.f90
  c7a75d3b71316ff89b47fa9681cf8066  gcc/testsuite/gfortran.dg/do_1.f90
  aaad3ee6d838c85816284d4c01090f19  gcc/testsuite/gfortran.dg/do_iterator.f90
  89a29a36e872746cadea68f28ae330ea  gcc/testsuite/gfortran.dg/dollar_edit_descriptor-1.f
  81c02ab79001889d92651612f04f4029  gcc/testsuite/gfortran.dg/dos_eol.f
  28c9ee70843b7ef41ef74327bc08fb12  gcc/testsuite/gfortran.dg/double_complex_1.f90
+ e502cb8498ee960aa04f5582e80cd76c  gcc/testsuite/gfortran.dg/dummy_functions_1.f90
+ 03bd714eaa69313727e986882e4113cb  gcc/testsuite/gfortran.dg/dup_save_1.f90
+ 2f68cd20d1477a0097f672c2f484822b  gcc/testsuite/gfortran.dg/dup_save_2.f90
  a6123bf77f221c60e8ae2f81bf6d0479  gcc/testsuite/gfortran.dg/duplicate_labels.f90
! e491dbb72a9f7ce30acc6d14dc49e1a6  gcc/testsuite/gfortran.dg/e_d_fmt.f90
  2bc32bf3d4cbd294c902ac169f80f695  gcc/testsuite/gfortran.dg/edit_real_1.f90
+ 0152497e60abd10da3f36bf800ddb07d  gcc/testsuite/gfortran.dg/elemental_pointer_1.f90
+ ed47c43794bebcf8371646132156853f  gcc/testsuite/gfortran.dg/elemental_subroutine_1.f90
+ 1027ed66732cfc901dab052e2393287e  gcc/testsuite/gfortran.dg/elemental_subroutine_2.f90
  9322412de6af3d6d2ddc02a981d1eb87  gcc/testsuite/gfortran.dg/empty_format_1.f90
+ ee4b4d80fe61032942726ef5584aaa91  gcc/testsuite/gfortran.dg/endfile.f
  ab3f96ec42d69cf7b38f37fa9bc2c94f  gcc/testsuite/gfortran.dg/endfile.f90
  c5fcdb329e48c8195fc4112f8e79724d  gcc/testsuite/gfortran.dg/endfile_2.f90
  d567d5b4840878ab834bb0c7bbc09c37  gcc/testsuite/gfortran.dg/entry_1.f90
  dde6c08dab677880bb894b2143cf090b  gcc/testsuite/gfortran.dg/entry_2.f90
  9ed1fb10bd35039c373802778017d0b3  gcc/testsuite/gfortran.dg/entry_3.f90
! 0a29a68ad4d4109bb5bda5914e3b725c  gcc/testsuite/gfortran.dg/entry_4.f90
! d9c60fad31625139f9e0a67c69d59e59  gcc/testsuite/gfortran.dg/entry_5.f90
! 15436482b970bb22c54730b1fef169e1  gcc/testsuite/gfortran.dg/enum_1.f90
! 04cf22d4d30474efdc2a85b44f31083a  gcc/testsuite/gfortran.dg/enum_10.c
! f10b1605595518ecd9f97c6bc03f627b  gcc/testsuite/gfortran.dg/enum_10.f90
! 92a112ec1f0eeb587e1b8558c0411d31  gcc/testsuite/gfortran.dg/enum_2.f90
! 9b522a8e26ddce8fd6fcd41a09ec5ed2  gcc/testsuite/gfortran.dg/enum_3.f90
! 1fc6347c2b6d4b8db044f90f96814a7b  gcc/testsuite/gfortran.dg/enum_4.f90
! aa3dcabbde3b04caed1e6863f126ce7f  gcc/testsuite/gfortran.dg/enum_5.f90
! 6c0b99dd92727c2a648f491cf9abab5d  gcc/testsuite/gfortran.dg/enum_6.f90
! 1f279e24bae5421294ffee463f68a235  gcc/testsuite/gfortran.dg/enum_7.f90
! fe3652169161a36c3c104f14016389da  gcc/testsuite/gfortran.dg/enum_8.f90
! 61ebb28a55ceee07b33711b45069b868  gcc/testsuite/gfortran.dg/enum_9.f90
  7ab702c0c5c00cd9a2eeea0ee8dacf87  gcc/testsuite/gfortran.dg/eof_1.f90
  015463de1e45aea184a6fc4fa3d85c7b  gcc/testsuite/gfortran.dg/eof_2.f90
  6ff48082aaf8a0109f0b0ac9c3edb72c  gcc/testsuite/gfortran.dg/eor_1.f90
*************** fbfb93faf7606e6e79f5ada1190b2701  gcc/te
*** 18314,18356 ****
  555016d7b0cf326a219bd5609eb70233  gcc/testsuite/gfortran.dg/eoshift.f90
  8b93d7eb59bd2b679bb01fc1438b3c05  gcc/testsuite/gfortran.dg/equiv_1.f90
  8221ad019e6d77341ef39ce052f45d6d  gcc/testsuite/gfortran.dg/equiv_2.f90
  2c31bf65fe9d807e4c5584060770c00f  gcc/testsuite/gfortran.dg/f2c_1.f90
! e5b63e3c682a4ddf2d8741a5ee1819ce  gcc/testsuite/gfortran.dg/f2c_2.f90
  6634e6f80768c1f0c1177c0d979f206b  gcc/testsuite/gfortran.dg/f2c_3.f90
  97ea4b1b9d2697cdf51b7ab31d9e5336  gcc/testsuite/gfortran.dg/f2c_7.f90
  038cbd43ca2c9e8c5b73e40c42b96d18  gcc/testsuite/gfortran.dg/fmt_read.f90
! dd37f2c2631ff19e489cccf25064cc4f  gcc/testsuite/gfortran.dg/fmt_read_bz_bn.f90
  c32350da82df632ecbd7ca1c2fd0d5d7  gcc/testsuite/gfortran.dg/fmt_t_1.f90
  61891007d1e9dca11ef477ca94fc6cc6  gcc/testsuite/gfortran.dg/forall_1.f90
  dd053536101d7491c8daab673de5fb5a  gcc/testsuite/gfortran.dg/func_derived_1.f90
  db7fb41cad42f0573d62d9d599f1cff7  gcc/testsuite/gfortran.dg/func_result_1.f90
  3b9b90698893259f5c87d9dae144af46  gcc/testsuite/gfortran.dg/func_result_2.f90
  877bcb109c291e807b0f25e03b6b7500  gcc/testsuite/gfortran.dg/g77/12002.f
  02ebd0497bc8cdc9538186880daceba0  gcc/testsuite/gfortran.dg/g77/12632.f
  556d3e8f9ae488f09addc5cbca3addd2  gcc/testsuite/gfortran.dg/g77/13037.f
  4cad78aca0c2d9e768c5e96a81b1488e  gcc/testsuite/gfortran.dg/g77/13060.f
! 24ea122f89cd9aa1da2780e8bf8c13a1  gcc/testsuite/gfortran.dg/g77/1832.f
  fc54ee27f55573d6b68516b302136f47  gcc/testsuite/gfortran.dg/g77/19981119-0.f
! 1e6523f81521358c2bd7139156cd4096  gcc/testsuite/gfortran.dg/g77/19981216-0.f
  19e6376609e843e89364f0cc1930fc2d  gcc/testsuite/gfortran.dg/g77/19990218-0.f
  d88e6491437cdcbb1a35ea199674a0b9  gcc/testsuite/gfortran.dg/g77/19990218-1.f
! b915be426517792b50fe94431b59d7d2  gcc/testsuite/gfortran.dg/g77/19990305-0.f
! 4655a9cf30dc14352f2217d8d62354c4  gcc/testsuite/gfortran.dg/g77/19990313-0.f
! 748cd3c75f891974820bebea47ce4dab  gcc/testsuite/gfortran.dg/g77/19990313-1.f
! 070890e377c68be02d4d017d41cbef53  gcc/testsuite/gfortran.dg/g77/19990313-2.f
! 2dab2a73b7bc8ffa8290df97ca0275aa  gcc/testsuite/gfortran.dg/g77/19990313-3.f
  94a54ca0a5a0f6710c92444bb6d5859c  gcc/testsuite/gfortran.dg/g77/19990419-0.f
  a116bf819adc5ddac0039048d7c1226d  gcc/testsuite/gfortran.dg/g77/19990419-1.f
  096a67d2fb9701f68c468be3867c0915  gcc/testsuite/gfortran.dg/g77/19990502-0.f
! 870ee3c89e568330f3b5d5deb8d2bb6a  gcc/testsuite/gfortran.dg/g77/19990502-1.f
  09aa969bd721da5359238359208186a3  gcc/testsuite/gfortran.dg/g77/19990525-0.f
  99af2d5f8bed55d4f9540aca739feac6  gcc/testsuite/gfortran.dg/g77/19990826-0.f
  2f79897a6309a4808ba46bbd9f7f340d  gcc/testsuite/gfortran.dg/g77/19990826-1.f
  80af9174ae2dadc9bae81ba9cc92c175  gcc/testsuite/gfortran.dg/g77/19990826-2.f
  6283338438c6c24a654072670be373cc  gcc/testsuite/gfortran.dg/g77/19990826-3.f
  9fedb8683ade739cb98db70d4ee9ec98  gcc/testsuite/gfortran.dg/g77/19990905-0.f
! f0d91b1f13ca24a87551c038faa2a8fe  gcc/testsuite/gfortran.dg/g77/19990905-1.f
! 4cc3f00cca57d43cdc27ff9c55ecc9e7  gcc/testsuite/gfortran.dg/g77/19990905-2.f
  5b8bdd4ab957f222af460db90d89b2b7  gcc/testsuite/gfortran.dg/g77/20000412-1.f
  93f2fa18c03960506da2fc4ac6e07a63  gcc/testsuite/gfortran.dg/g77/20000503-1.f
  9e2081f4f469ca919521650977f1d1c7  gcc/testsuite/gfortran.dg/g77/20000511-1.f
--- 17960,18033 ----
  555016d7b0cf326a219bd5609eb70233  gcc/testsuite/gfortran.dg/eoshift.f90
  8b93d7eb59bd2b679bb01fc1438b3c05  gcc/testsuite/gfortran.dg/equiv_1.f90
  8221ad019e6d77341ef39ce052f45d6d  gcc/testsuite/gfortran.dg/equiv_2.f90
+ 81fca82d5cbacf45dab41afd015c381d  gcc/testsuite/gfortran.dg/equiv_5.f90
+ 007a185cab4821daf8f77132f4d4a74a  gcc/testsuite/gfortran.dg/equiv_constraint_1.f90
+ 543301b1a775ea4093061f42a562a5c7  gcc/testsuite/gfortran.dg/equiv_constraint_2.f90
+ d5ee90c8c3018cbb8ee0d4f94ce174b8  gcc/testsuite/gfortran.dg/equiv_constraint_3.f90
+ 9d7fe38fcdaa6d1edb4d178d6b4873a2  gcc/testsuite/gfortran.dg/equiv_constraint_4.f90
+ 5b846cc26849a1ab60f8d75954fa8a90  gcc/testsuite/gfortran.dg/equiv_constraint_5.f90
+ 011e025aadf505d11b0788e0bab74323  gcc/testsuite/gfortran.dg/equiv_constraint_6.f90
+ a43710324e64acb7477b94fa94aaf657  gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
+ aba6412d200f34a2f3f0349a3ed48f80  gcc/testsuite/gfortran.dg/equiv_constraint_8.f90
+ df764dd66e24cfa5a1af1a03b983104b  gcc/testsuite/gfortran.dg/external_implicit_none.f90
+ e0fd8c91aa27ccff64241869522133be  gcc/testsuite/gfortran.dg/external_initializer.f90
+ 269635d95f1d0b2e442e620a89567fca  gcc/testsuite/gfortran.dg/external_procedures_1.f90
  2c31bf65fe9d807e4c5584060770c00f  gcc/testsuite/gfortran.dg/f2c_1.f90
! 6782a9dee9dcf0dd117c57d403dc7640  gcc/testsuite/gfortran.dg/f2c_2.f90
  6634e6f80768c1f0c1177c0d979f206b  gcc/testsuite/gfortran.dg/f2c_3.f90
+ 3d202da2d92200b236ba697ba285da12  gcc/testsuite/gfortran.dg/f2c_4.c
+ 84874ee5868a0acafe23a775a7554ba0  gcc/testsuite/gfortran.dg/f2c_4.f90
+ 415705f715d6aea7da295239300cfe4c  gcc/testsuite/gfortran.dg/f2c_5.c
+ f8d151c2f54f4221a4e3d69b694bb148  gcc/testsuite/gfortran.dg/f2c_5.f90
+ 581631ea8adfac04123d3985fb11f177  gcc/testsuite/gfortran.dg/f2c_6.f90
  97ea4b1b9d2697cdf51b7ab31d9e5336  gcc/testsuite/gfortran.dg/f2c_7.f90
+ 119af5d2a294f56dc05ae8e93a0a6b9a  gcc/testsuite/gfortran.dg/fgetc_1.f90
+ 8d8068df6ac24ffed1c07629391baa04  gcc/testsuite/gfortran.dg/fgetc_2.f90
+ a02ea3c93114fc9f530a1acaaf89cda3  gcc/testsuite/gfortran.dg/fgetc_3.f90
+ 31dfe23a9890ac54036415c0d994f72a  gcc/testsuite/gfortran.dg/flush_1.f90
  038cbd43ca2c9e8c5b73e40c42b96d18  gcc/testsuite/gfortran.dg/fmt_read.f90
! 83a5b8bf2992da93ab1adb8c112574d0  gcc/testsuite/gfortran.dg/fmt_read_bz_bn.f90
  c32350da82df632ecbd7ca1c2fd0d5d7  gcc/testsuite/gfortran.dg/fmt_t_1.f90
+ cf6a8208b8c1f85d72c0d6ad794b175b  gcc/testsuite/gfortran.dg/fmt_t_2.f90
+ 3311e8e0085e4cc75e7a368c8e80e3ac  gcc/testsuite/gfortran.dg/fmt_tl.f
+ 43557405f1ab19cf5f6db14961f1a44f  gcc/testsuite/gfortran.dg/fmt_white.f
+ a7e72ef4efd3bc474bfad62d98a78b37  gcc/testsuite/gfortran.dg/fold_nearest.f90
  61891007d1e9dca11ef477ca94fc6cc6  gcc/testsuite/gfortran.dg/forall_1.f90
+ 52a3f13b979b92e74930c12598ca953e  gcc/testsuite/gfortran.dg/forall_2.f90
+ 2a37c865afb27d8a80cb1bb50744c3ac  gcc/testsuite/gfortran.dg/forall_3.f90
+ fa1886fa5dd54e469939cee73f4cf669  gcc/testsuite/gfortran.dg/ftell_1.f90
+ ffc0006ba15e6184838651596951add9  gcc/testsuite/gfortran.dg/ftell_2.f90
  dd053536101d7491c8daab673de5fb5a  gcc/testsuite/gfortran.dg/func_derived_1.f90
+ 06d9ce66a1bef956d41027df46c022ca  gcc/testsuite/gfortran.dg/func_derived_2.f90
+ bdc048ffb5a0c40795e425a12332d4d7  gcc/testsuite/gfortran.dg/func_derived_3.f90
  db7fb41cad42f0573d62d9d599f1cff7  gcc/testsuite/gfortran.dg/func_result_1.f90
  3b9b90698893259f5c87d9dae144af46  gcc/testsuite/gfortran.dg/func_result_2.f90
  877bcb109c291e807b0f25e03b6b7500  gcc/testsuite/gfortran.dg/g77/12002.f
  02ebd0497bc8cdc9538186880daceba0  gcc/testsuite/gfortran.dg/g77/12632.f
  556d3e8f9ae488f09addc5cbca3addd2  gcc/testsuite/gfortran.dg/g77/13037.f
  4cad78aca0c2d9e768c5e96a81b1488e  gcc/testsuite/gfortran.dg/g77/13060.f
! 9bc2ccc4743f8b4f71d10068e2fcfb13  gcc/testsuite/gfortran.dg/g77/1832.f
  fc54ee27f55573d6b68516b302136f47  gcc/testsuite/gfortran.dg/g77/19981119-0.f
! 5774c61aee55784890696b5491106f06  gcc/testsuite/gfortran.dg/g77/19981216-0.f
  19e6376609e843e89364f0cc1930fc2d  gcc/testsuite/gfortran.dg/g77/19990218-0.f
  d88e6491437cdcbb1a35ea199674a0b9  gcc/testsuite/gfortran.dg/g77/19990218-1.f
! 992d377644f91f3ae8af9b9a47321afa  gcc/testsuite/gfortran.dg/g77/19990305-0.f
! 65b18f3d404f5afe93c0f5ac75d4122b  gcc/testsuite/gfortran.dg/g77/19990313-0.f
! 3b05db541ed81dd7a8bd7c4bcd11dcba  gcc/testsuite/gfortran.dg/g77/19990313-1.f
! 11838d9f355653a616642bd630be4319  gcc/testsuite/gfortran.dg/g77/19990313-2.f
! 06c4456c26e20b290d738ed0a72bb3b9  gcc/testsuite/gfortran.dg/g77/19990313-3.f
  94a54ca0a5a0f6710c92444bb6d5859c  gcc/testsuite/gfortran.dg/g77/19990419-0.f
  a116bf819adc5ddac0039048d7c1226d  gcc/testsuite/gfortran.dg/g77/19990419-1.f
  096a67d2fb9701f68c468be3867c0915  gcc/testsuite/gfortran.dg/g77/19990502-0.f
! 243b628c1fba0171470e31d85796be8a  gcc/testsuite/gfortran.dg/g77/19990502-1.f
  09aa969bd721da5359238359208186a3  gcc/testsuite/gfortran.dg/g77/19990525-0.f
  99af2d5f8bed55d4f9540aca739feac6  gcc/testsuite/gfortran.dg/g77/19990826-0.f
  2f79897a6309a4808ba46bbd9f7f340d  gcc/testsuite/gfortran.dg/g77/19990826-1.f
  80af9174ae2dadc9bae81ba9cc92c175  gcc/testsuite/gfortran.dg/g77/19990826-2.f
  6283338438c6c24a654072670be373cc  gcc/testsuite/gfortran.dg/g77/19990826-3.f
  9fedb8683ade739cb98db70d4ee9ec98  gcc/testsuite/gfortran.dg/g77/19990905-0.f
! 03f90d267c1042299d09705acec68251  gcc/testsuite/gfortran.dg/g77/19990905-1.f
! 7bbda5abcb7c64c5d9c0ec3db752da11  gcc/testsuite/gfortran.dg/g77/19990905-2.f
  5b8bdd4ab957f222af460db90d89b2b7  gcc/testsuite/gfortran.dg/g77/20000412-1.f
  93f2fa18c03960506da2fc4ac6e07a63  gcc/testsuite/gfortran.dg/g77/20000503-1.f
  9e2081f4f469ca919521650977f1d1c7  gcc/testsuite/gfortran.dg/g77/20000511-1.f
*************** f0d91b1f13ca24a87551c038faa2a8fe  gcc/te
*** 18358,18385 ****
  8c1b6e37f20e059b9d33078948483a18  gcc/testsuite/gfortran.dg/g77/20000518.f
  34cb481547ef3f25ce326251b45b537e  gcc/testsuite/gfortran.dg/g77/20000601-1.f
  10e717dd526d3363aa4e249c2cc2e357  gcc/testsuite/gfortran.dg/g77/20000601-2.f
! 1dc9b42d8f73dc528e149ce9d4eb5d42  gcc/testsuite/gfortran.dg/g77/20000629-1.f
  a331271b8df3b23f31eb7aa03061b3e0  gcc/testsuite/gfortran.dg/g77/20000630-2.f
  ac69e35ec8a83847603877736e8cd46a  gcc/testsuite/gfortran.dg/g77/20001111.f
  787568d0c1679686795dc0dd96859066  gcc/testsuite/gfortran.dg/g77/20010115.f
  f62a3d49a8f5f24ed9a4d3a8902d7d89  gcc/testsuite/gfortran.dg/g77/20010116.f
! 6a69e8e1817dbe3b4ab6c25bf13d20d6  gcc/testsuite/gfortran.dg/g77/20010216-1.f
  42bd075e2f01e62a447bb5c3c46bc179  gcc/testsuite/gfortran.dg/g77/20010321-1.f
  61fb23590346bcc01103183661548acc  gcc/testsuite/gfortran.dg/g77/20010426-1.f
! b40602fa359ecf365af79e48fbe838ee  gcc/testsuite/gfortran.dg/g77/20010426.f
  f6c03f65429e0d090361d63745d26d31  gcc/testsuite/gfortran.dg/g77/20010430.f
! bee38df3af05057832adca756573c61f  gcc/testsuite/gfortran.dg/g77/20010519-1.f
  3e93fe3ed379cf6c0386f58de8698507  gcc/testsuite/gfortran.dg/g77/20010610.f
! 0c1947d5b760d49d016e1da37ed02726  gcc/testsuite/gfortran.dg/g77/20020307-1.f
  419b824ba987cdb8d2ae7d0670cd7023  gcc/testsuite/gfortran.dg/g77/20030115-1.f
! 6e70d8638222cbbb1a9f02b554f79fb3  gcc/testsuite/gfortran.dg/g77/20030326-1.f
  631891a247898fb310df32d8fe06a54d  gcc/testsuite/gfortran.dg/g77/6177.f
  b24f067dcba71c9828e34889ff389717  gcc/testsuite/gfortran.dg/g77/7388.f
! 792a27842da5e5b4df27330db3386e96  gcc/testsuite/gfortran.dg/g77/8485.f
  4dde1c61d85b401b8b0447eeae19b7b9  gcc/testsuite/gfortran.dg/g77/9263.f
! 1df9fbced22834d9297b990db5faf95f  gcc/testsuite/gfortran.dg/g77/947.f
  024563618261c7c2eda855abad5ba04b  gcc/testsuite/gfortran.dg/g77/960317-1.f
! fd80ff72927168884a1b4157beb21268  gcc/testsuite/gfortran.dg/g77/970125-0.f
  b7601a98949014c0b672a5ae3d1d44fc  gcc/testsuite/gfortran.dg/g77/970625-2.f
  e48a6adf7417be2e9e5c431aeaf89800  gcc/testsuite/gfortran.dg/g77/970816-3.f
  a2b1e430bb2cc8d70eba7fac7bd65222  gcc/testsuite/gfortran.dg/g77/970915-0.f
--- 18035,18062 ----
  8c1b6e37f20e059b9d33078948483a18  gcc/testsuite/gfortran.dg/g77/20000518.f
  34cb481547ef3f25ce326251b45b537e  gcc/testsuite/gfortran.dg/g77/20000601-1.f
  10e717dd526d3363aa4e249c2cc2e357  gcc/testsuite/gfortran.dg/g77/20000601-2.f
! 5b80bb5360ede8eda5c74010870db1d2  gcc/testsuite/gfortran.dg/g77/20000629-1.f
  a331271b8df3b23f31eb7aa03061b3e0  gcc/testsuite/gfortran.dg/g77/20000630-2.f
  ac69e35ec8a83847603877736e8cd46a  gcc/testsuite/gfortran.dg/g77/20001111.f
  787568d0c1679686795dc0dd96859066  gcc/testsuite/gfortran.dg/g77/20010115.f
  f62a3d49a8f5f24ed9a4d3a8902d7d89  gcc/testsuite/gfortran.dg/g77/20010116.f
! 3dd5de27548f030afd7099183f701a3d  gcc/testsuite/gfortran.dg/g77/20010216-1.f
  42bd075e2f01e62a447bb5c3c46bc179  gcc/testsuite/gfortran.dg/g77/20010321-1.f
  61fb23590346bcc01103183661548acc  gcc/testsuite/gfortran.dg/g77/20010426-1.f
! 5f189a7e89f7d801de4cb2d11b5e3be8  gcc/testsuite/gfortran.dg/g77/20010426.f
  f6c03f65429e0d090361d63745d26d31  gcc/testsuite/gfortran.dg/g77/20010430.f
! 8dcb82a759bed381958212657d579480  gcc/testsuite/gfortran.dg/g77/20010519-1.f
  3e93fe3ed379cf6c0386f58de8698507  gcc/testsuite/gfortran.dg/g77/20010610.f
! 59fdc20a8e1999accc4ae1bfa1394e80  gcc/testsuite/gfortran.dg/g77/20020307-1.f
  419b824ba987cdb8d2ae7d0670cd7023  gcc/testsuite/gfortran.dg/g77/20030115-1.f
! 2ebc00cd2e9b45e542949714bc18803f  gcc/testsuite/gfortran.dg/g77/20030326-1.f
  631891a247898fb310df32d8fe06a54d  gcc/testsuite/gfortran.dg/g77/6177.f
  b24f067dcba71c9828e34889ff389717  gcc/testsuite/gfortran.dg/g77/7388.f
! 9490b574bedee884fe74b0e876e2ec29  gcc/testsuite/gfortran.dg/g77/8485.f
  4dde1c61d85b401b8b0447eeae19b7b9  gcc/testsuite/gfortran.dg/g77/9263.f
! f55177cdb300a4ef5bfbeffcad230a57  gcc/testsuite/gfortran.dg/g77/947.f
  024563618261c7c2eda855abad5ba04b  gcc/testsuite/gfortran.dg/g77/960317-1.f
! b53679d037558aff69ef730e1f31755f  gcc/testsuite/gfortran.dg/g77/970125-0.f
  b7601a98949014c0b672a5ae3d1d44fc  gcc/testsuite/gfortran.dg/g77/970625-2.f
  e48a6adf7417be2e9e5c431aeaf89800  gcc/testsuite/gfortran.dg/g77/970816-3.f
  a2b1e430bb2cc8d70eba7fac7bd65222  gcc/testsuite/gfortran.dg/g77/970915-0.f
*************** ac13e0ae44c41cb0aee56de205b24a6e  gcc/te
*** 18397,18419 ****
  ae928a3982a066d928063d50ace97dc6  gcc/testsuite/gfortran.dg/g77/980519-2.f
  80392055d9fa5d62073ff37dcfe789a7  gcc/testsuite/gfortran.dg/g77/980520-1.f
  a85861a0d55747ec81a6f6ff9abbbc59  gcc/testsuite/gfortran.dg/g77/980615-0.f
! 318e0d16be2cfe3c920f753c0fbb4313  gcc/testsuite/gfortran.dg/g77/980616-0.f
  c3ddecbeab19b90677541cf76acaac9d  gcc/testsuite/gfortran.dg/g77/980628-0.f
  1e0e70eb38a08984269d69576d372475  gcc/testsuite/gfortran.dg/g77/980628-1.f
! c2c658216b8a40620cb19cfba7f8e98e  gcc/testsuite/gfortran.dg/g77/980628-10.f
! dbd50e96c7fa845b40a2e2f73895f97a  gcc/testsuite/gfortran.dg/g77/980628-2.f
! 5f41389b50dcf0ea6483c78e341d6d0b  gcc/testsuite/gfortran.dg/g77/980628-3.f
  e343f08719f64d19c54050cab2a03006  gcc/testsuite/gfortran.dg/g77/980628-7.f
  fefba559d3e038653dd9d384ff504208  gcc/testsuite/gfortran.dg/g77/980628-8.f
! b7551ecfd3ca7b2b3984ae1cfa351247  gcc/testsuite/gfortran.dg/g77/980628-9.f
  3fa79dedbeeef1dbf8bbb00f7e784688  gcc/testsuite/gfortran.dg/g77/980701-0.f
  d585d34dc180093e68a600ba5dc9b52e  gcc/testsuite/gfortran.dg/g77/980701-1.f
  5b8e4d3e937b6a6803378fc996daa1cc  gcc/testsuite/gfortran.dg/g77/980729-0.f
  2101f50ac159df80eeb505634cd4a578  gcc/testsuite/gfortran.dg/g77/981117-1.f
! 58b6c4c7b24c5c055cbfb1ab4fff9799  gcc/testsuite/gfortran.dg/g77/990115-1.f
  6e591a26e09a34ae9fc73de68604e976  gcc/testsuite/gfortran.dg/g77/README
! 015ad1e9278ca086c2fea5e3688cb46c  gcc/testsuite/gfortran.dg/g77/alpha1.f
! 23a15dd6c8f26c44ac0332b77ce97d2c  gcc/testsuite/gfortran.dg/g77/cabs.f
  578f69c372c06569362fb355faa8bca7  gcc/testsuite/gfortran.dg/g77/check0.f
  43b72c8efdccf45c88f385d0e1ddc98f  gcc/testsuite/gfortran.dg/g77/claus.f
  8ab9ec4971f59cb107bdaa1f422c1298  gcc/testsuite/gfortran.dg/g77/complex_1.f
--- 18074,18096 ----
  ae928a3982a066d928063d50ace97dc6  gcc/testsuite/gfortran.dg/g77/980519-2.f
  80392055d9fa5d62073ff37dcfe789a7  gcc/testsuite/gfortran.dg/g77/980520-1.f
  a85861a0d55747ec81a6f6ff9abbbc59  gcc/testsuite/gfortran.dg/g77/980615-0.f
! b4439c3fe8d10267be11141987cfe3ed  gcc/testsuite/gfortran.dg/g77/980616-0.f
  c3ddecbeab19b90677541cf76acaac9d  gcc/testsuite/gfortran.dg/g77/980628-0.f
  1e0e70eb38a08984269d69576d372475  gcc/testsuite/gfortran.dg/g77/980628-1.f
! 360f5bbb4cd238bbbcce4270b63d928f  gcc/testsuite/gfortran.dg/g77/980628-10.f
! 2b6f8af2b8030c6f9a28cf456ab32b96  gcc/testsuite/gfortran.dg/g77/980628-2.f
! a20daa288cc22699844b9c9175679280  gcc/testsuite/gfortran.dg/g77/980628-3.f
  e343f08719f64d19c54050cab2a03006  gcc/testsuite/gfortran.dg/g77/980628-7.f
  fefba559d3e038653dd9d384ff504208  gcc/testsuite/gfortran.dg/g77/980628-8.f
! dcd45e6612250cdb489e7ef027eea681  gcc/testsuite/gfortran.dg/g77/980628-9.f
  3fa79dedbeeef1dbf8bbb00f7e784688  gcc/testsuite/gfortran.dg/g77/980701-0.f
  d585d34dc180093e68a600ba5dc9b52e  gcc/testsuite/gfortran.dg/g77/980701-1.f
  5b8e4d3e937b6a6803378fc996daa1cc  gcc/testsuite/gfortran.dg/g77/980729-0.f
  2101f50ac159df80eeb505634cd4a578  gcc/testsuite/gfortran.dg/g77/981117-1.f
! 6aa55ceeb1750d7c19158792b5f97400  gcc/testsuite/gfortran.dg/g77/990115-1.f
  6e591a26e09a34ae9fc73de68604e976  gcc/testsuite/gfortran.dg/g77/README
! 4593fcff4c64feb2721eea31b88dfb95  gcc/testsuite/gfortran.dg/g77/alpha1.f
! efecedac9e7bab236ce7623faf8e2ec5  gcc/testsuite/gfortran.dg/g77/cabs.f
  578f69c372c06569362fb355faa8bca7  gcc/testsuite/gfortran.dg/g77/check0.f
  43b72c8efdccf45c88f385d0e1ddc98f  gcc/testsuite/gfortran.dg/g77/claus.f
  8ab9ec4971f59cb107bdaa1f422c1298  gcc/testsuite/gfortran.dg/g77/complex_1.f
*************** d836c14b2ccaf34e68b93edc09c31075  gcc/te
*** 18425,18433 ****
  d5fc5246359d20c7e9cc672903b75930  gcc/testsuite/gfortran.dg/g77/cpp5.h
  c69f5543560a22ab72c19b13c5895a8e  gcc/testsuite/gfortran.dg/g77/cpp5inc.h
  ce9dc5394eccb224b2147c8433041ed4  gcc/testsuite/gfortran.dg/g77/cpp6.f
! 89ac385f25f4364c6e1b16b5ae0a64a7  gcc/testsuite/gfortran.dg/g77/dcomplex.f
  9ad01b7b7526f78267a8fbe38bee1555  gcc/testsuite/gfortran.dg/g77/dnrm2.f
! 5ede21f59a762ce67df24a594656d259  gcc/testsuite/gfortran.dg/g77/erfc.f
  5f07e6fafeed89aeef7c7bdcad5664c7  gcc/testsuite/gfortran.dg/g77/f77-edit-apostrophe-out.f
  0d8a0ba8ae1d7da40a25931e3cfb1204  gcc/testsuite/gfortran.dg/g77/f77-edit-colon-out.f
  1f6781d6cf004a145321247795101e47  gcc/testsuite/gfortran.dg/g77/f77-edit-h-out.f
--- 18102,18110 ----
  d5fc5246359d20c7e9cc672903b75930  gcc/testsuite/gfortran.dg/g77/cpp5.h
  c69f5543560a22ab72c19b13c5895a8e  gcc/testsuite/gfortran.dg/g77/cpp5inc.h
  ce9dc5394eccb224b2147c8433041ed4  gcc/testsuite/gfortran.dg/g77/cpp6.f
! 80bb5aaec505e20de95b0bd2cfec49cc  gcc/testsuite/gfortran.dg/g77/dcomplex.f
  9ad01b7b7526f78267a8fbe38bee1555  gcc/testsuite/gfortran.dg/g77/dnrm2.f
! 03928a3dffea80f63474ee9665a7b120  gcc/testsuite/gfortran.dg/g77/erfc.f
  5f07e6fafeed89aeef7c7bdcad5664c7  gcc/testsuite/gfortran.dg/g77/f77-edit-apostrophe-out.f
  0d8a0ba8ae1d7da40a25931e3cfb1204  gcc/testsuite/gfortran.dg/g77/f77-edit-colon-out.f
  1f6781d6cf004a145321247795101e47  gcc/testsuite/gfortran.dg/g77/f77-edit-h-out.f
*************** ce9dc5394eccb224b2147c8433041ed4  gcc/te
*** 18438,18446 ****
  94f03005b32e68a8eb26fb9016c3cf82  gcc/testsuite/gfortran.dg/g77/f77-edit-t-in.f
  2fd189574e5e3e327e513bc9ad958b51  gcc/testsuite/gfortran.dg/g77/f77-edit-t-out.f
  8ead1844fa1fa124ddaf73fab0bd65ac  gcc/testsuite/gfortran.dg/g77/f77-edit-x-out.f
! 90f48eeb6287103bfbcafca0a4b3752a  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f
! 75aadc602540e121e5f26313af263c68  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-mathematical.f
! b1b48fca46f66d1e261f2d2eed679b50  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-numeric.f
  96977883421b175b67be1118b794bd56  gcc/testsuite/gfortran.dg/g77/ffixed-form-1.f
  29ff9a4381ca8c02a6e5817b0a713d27  gcc/testsuite/gfortran.dg/g77/ffixed-form-2.f
  57194471031e9d956071d8b5b26dad72  gcc/testsuite/gfortran.dg/g77/ffixed-line-length-0.f
--- 18115,18123 ----
  94f03005b32e68a8eb26fb9016c3cf82  gcc/testsuite/gfortran.dg/g77/f77-edit-t-in.f
  2fd189574e5e3e327e513bc9ad958b51  gcc/testsuite/gfortran.dg/g77/f77-edit-t-out.f
  8ead1844fa1fa124ddaf73fab0bd65ac  gcc/testsuite/gfortran.dg/g77/f77-edit-x-out.f
! 23733a12bd23700fe1c05c2d88adaad8  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-bit.f
! abd59bf787fa16689fefb79e92a01bdc  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-mathematical.f
! a96df20cee2e5770e7a64ab1d0c332a6  gcc/testsuite/gfortran.dg/g77/f90-intrinsic-numeric.f
  96977883421b175b67be1118b794bd56  gcc/testsuite/gfortran.dg/g77/ffixed-form-1.f
  29ff9a4381ca8c02a6e5817b0a713d27  gcc/testsuite/gfortran.dg/g77/ffixed-form-2.f
  57194471031e9d956071d8b5b26dad72  gcc/testsuite/gfortran.dg/g77/ffixed-line-length-0.f
*************** c34f0338bfd38cc5789eae9ef9b39d98  gcc/te
*** 18452,18459 ****
  536d1ae729593f200381628d100a2b86  gcc/testsuite/gfortran.dg/g77/ffree-form-3.f
  b76273e7af403caabc68f7f1973b211c  gcc/testsuite/gfortran.dg/g77/fno-underscoring.f
  51a2c0c69a512565c359338191e9e39e  gcc/testsuite/gfortran.dg/g77/funderscoring.f
! 4e6b7765ba2134bc507259bde21be582  gcc/testsuite/gfortran.dg/g77/int8421.f
! e3e21f1e711000a7a7b1837bce2dbea7  gcc/testsuite/gfortran.dg/g77/intrinsic-unix-bessel.f
  eeb1076395b9033c0dd4f2a74228a5f3  gcc/testsuite/gfortran.dg/g77/intrinsic-unix-erf.f
  b95bed0058de43a18f0b95b0a13babee  gcc/testsuite/gfortran.dg/g77/labug1.f
  5cd5db2f5585dc7595a6f6ad12e9e45d  gcc/testsuite/gfortran.dg/g77/large_vec.f
--- 18129,18136 ----
  536d1ae729593f200381628d100a2b86  gcc/testsuite/gfortran.dg/g77/ffree-form-3.f
  b76273e7af403caabc68f7f1973b211c  gcc/testsuite/gfortran.dg/g77/fno-underscoring.f
  51a2c0c69a512565c359338191e9e39e  gcc/testsuite/gfortran.dg/g77/funderscoring.f
! 4ef4fced408b1eb7aac84475388ec11b  gcc/testsuite/gfortran.dg/g77/int8421.f
! 0359ea7900fa257c4b5aa3ece8aac208  gcc/testsuite/gfortran.dg/g77/intrinsic-unix-bessel.f
  eeb1076395b9033c0dd4f2a74228a5f3  gcc/testsuite/gfortran.dg/g77/intrinsic-unix-erf.f
  b95bed0058de43a18f0b95b0a13babee  gcc/testsuite/gfortran.dg/g77/labug1.f
  5cd5db2f5585dc7595a6f6ad12e9e45d  gcc/testsuite/gfortran.dg/g77/large_vec.f
*************** be4453fbf0f2790e43fd00617cc3e7ea  gcc/te
*** 18463,18555 ****
  632f6b94f0110d72eedbee7641bd627f  gcc/testsuite/gfortran.dg/g77/strlen0.f
  26374b4f17ec9ded8cafd5c6666580d5  gcc/testsuite/gfortran.dg/g77/toon_1.f
  507107b1fe21bc057b23f80e4813a779  gcc/testsuite/gfortran.dg/g77/xformat.f
! 20309cf39d41b9bce0749e959d0cb2a1  gcc/testsuite/gfortran.dg/g77_intrinsics_funcs.f
! fabba7807c9249830126c97d3dfd6b6f  gcc/testsuite/gfortran.dg/g77_intrinsics_sub.f
  176b7a49d60c5170e3547883e19d1aa6  gcc/testsuite/gfortran.dg/generic_1.f90
  950e0227bc118a7f1b3b9a411904385b  gcc/testsuite/gfortran.dg/generic_2.f90
  8903ef8f818c080ee22a33c4093134b8  gcc/testsuite/gfortran.dg/generic_3.f90
  dde1a2efd44a1842615d10e590968dd6  gcc/testsuite/gfortran.dg/getenv_1.f90
! 02325c42dbe88848a5e3bafe27873b29  gcc/testsuite/gfortran.dg/hollerith.f90
! 0c3afa45bfc2063f9608f6d6f01b44d1  gcc/testsuite/gfortran.dg/hollerith2.f90
  ac7abff09db32e7d44719f0d0472dc64  gcc/testsuite/gfortran.dg/hollerith3.f90
  734294d4da978b08e76ca2804bec998f  gcc/testsuite/gfortran.dg/hollerith4.f90
  54d24831a056edc0a7c0fa6b7434377b  gcc/testsuite/gfortran.dg/hollerith_1.f90
! a14a5fa97e81a400bd650471329582e7  gcc/testsuite/gfortran.dg/hollerith_f95.f90
! 010b9d81ec159241afccfafe04481d3b  gcc/testsuite/gfortran.dg/hollerith_legacy.f90
! 890c6f78e4d709ee40f5526a89683947  gcc/testsuite/gfortran.dg/ichar_1.f90
  166141e535015cde6b99ee5b4024f1f5  gcc/testsuite/gfortran.dg/implicit_1.f90
  64f1f368548042ba6814a03f6bea8f36  gcc/testsuite/gfortran.dg/implicit_2.f90
  f91933b2213ae0e2eb08e9d25f71bae4  gcc/testsuite/gfortran.dg/implicit_3.f90
  df16e04a147c4b5c3f07ec512e168b87  gcc/testsuite/gfortran.dg/implicit_5.f90
  8b8b6023f7cb77eb5ef45a5e631ba8c9  gcc/testsuite/gfortran.dg/inquire-complex.f90
  be795e80364b41af20887114b9af7291  gcc/testsuite/gfortran.dg/inquire.f90
  90423fca02398a6f55da36f8a889ca3e  gcc/testsuite/gfortran.dg/inquire_5.f90
  fbdf3dbc8604bd48c410cc6c2ac05aee  gcc/testsuite/gfortran.dg/inquire_6.f90
  8283bb4be36f05c63ad546fdd62f3531  gcc/testsuite/gfortran.dg/inquire_7.f90
  39b40793ece3e8c584665b0dc674ff07  gcc/testsuite/gfortran.dg/inquire_8.f90
  0502fac72f1b8a1a31e6ed12f1c575f4  gcc/testsuite/gfortran.dg/int_1.f90
  90b3155638c5685439fb666f6912408c  gcc/testsuite/gfortran.dg/intrinsic_modulo_1.f90
  3bbb1901584e77f5fff0a4ba7e9a9933  gcc/testsuite/gfortran.dg/intrinsic_verify_1.f90
  b970e12e9b81e2fa5708fa8924a00c7d  gcc/testsuite/gfortran.dg/io_invalid_1.f90
  b7304d50b4a45d453cab3d197a166686  gcc/testsuite/gfortran.dg/iostat_1.f90
  f4da554728a4712248154dc0a019644f  gcc/testsuite/gfortran.dg/iostat_2.f90
  401f6fb5eb7e23838be93598139f9063  gcc/testsuite/gfortran.dg/ishft.f90
  4f674de130200a007cf1ee068838e622  gcc/testsuite/gfortran.dg/largeequiv_1.f90
  6b10115fba6bad4e5a0a58ba881f0ab8  gcc/testsuite/gfortran.dg/list_read_1.f90
  7e8fb2e2920423473d1ab171b01cb2df  gcc/testsuite/gfortran.dg/list_read_2.f90
  799ffeafd700d24bd3e365a8addcfa10  gcc/testsuite/gfortran.dg/list_read_3.f90
  36e928b3a5b9a5d89ecebae1c130be22  gcc/testsuite/gfortran.dg/list_read_4.f90
  43ab2f3e8b339b2cf76baeeb254701b0  gcc/testsuite/gfortran.dg/logical_comp.f90
  d790ddb406b38b67d83bc92f76cdf315  gcc/testsuite/gfortran.dg/logical_data_1.f90
! 7ee3c12d2b7cbc0c81de0e40d666017e  gcc/testsuite/gfortran.dg/logint-1.f
! 2610889d28b48622f4c2ae7665f45069  gcc/testsuite/gfortran.dg/logint-2.f
! 383da1e52c5b46e90bf9e7a91e044142  gcc/testsuite/gfortran.dg/logint-3.f
  2e16436245080196a00fafc9ba1a1a0d  gcc/testsuite/gfortran.dg/longline.f
  171ff4e94d0631976b7afcc00a2dd130  gcc/testsuite/gfortran.dg/matmul_1.f90
  0039aa87d8c7bb33fdd7971da66f6212  gcc/testsuite/gfortran.dg/merge_char_1.f90
  48136c0e5c25c04a882912ce8d637360  gcc/testsuite/gfortran.dg/module_blank_common.f90
  ed10080acb110d0627baacb5a9284e73  gcc/testsuite/gfortran.dg/module_commons_1.f90
  8ddc8ce9aa09445fff3b918fe8d41694  gcc/testsuite/gfortran.dg/module_double_reuse.f90
  632137a9d037966252a4a6da162a6f84  gcc/testsuite/gfortran.dg/module_equivalence_1.f90
! f5e13ae86058d221b8a88213295e2fc0  gcc/testsuite/gfortran.dg/module_interface_1.f90
  ab43a12e9d7dd4f0eed4d087fc19a84f  gcc/testsuite/gfortran.dg/named_interface.f90
  41fabfed6789708fd01fe5dcc87777b2  gcc/testsuite/gfortran.dg/namelist_1.f90
! 7b366d052086c9701bcb8bd8c0823220  gcc/testsuite/gfortran.dg/namelist_11.f
! f13f1c6adba13322606188fb43f6098d  gcc/testsuite/gfortran.dg/namelist_12.f
! f090c85effa83b96f6fd24bcd4afb38c  gcc/testsuite/gfortran.dg/namelist_13.f90
! e3b74ac0003fd01f0e6bf2775c2368aa  gcc/testsuite/gfortran.dg/namelist_14.f90
! b2ecc314d519e8409e7ef1ee4d950a43  gcc/testsuite/gfortran.dg/namelist_15.f90
  1966e4eb56d2152bb7331ac3bba7364a  gcc/testsuite/gfortran.dg/namelist_16.f90
  6287a7e85d43fd474429c5fab5201b5b  gcc/testsuite/gfortran.dg/namelist_17.f90
  c712cbc767f63da4a05d98b002857e2e  gcc/testsuite/gfortran.dg/namelist_18.f90
  809608771664a5ada528ef8a651941d3  gcc/testsuite/gfortran.dg/namelist_19.f90
  cd112962907d7cdcead33a96010fbfd8  gcc/testsuite/gfortran.dg/namelist_2.f90
  616c505c906c398d6dba9d204cb485c3  gcc/testsuite/gfortran.dg/namelist_20.f90
  1dfc7b131bae9468faca33bcea3ec9bb  gcc/testsuite/gfortran.dg/namelist_3.f90
  ac9bd591200a71d55876b90027fe1ffc  gcc/testsuite/gfortran.dg/namelist_print_1.f
  e0d5d7f85bba8e168fd923e2a3baf213  gcc/testsuite/gfortran.dg/namelist_print_2.f
! dbf76db1aefb688dad65a28c5d6571d5  gcc/testsuite/gfortran.dg/namelist_use.f90
! 248dd686ee0ac5b53ac4691b06f73163  gcc/testsuite/gfortran.dg/namelist_use_only.f90
  15d0cea07e785184b1d7ba9b925a077e  gcc/testsuite/gfortran.dg/negative_unit.f
! 104ef75f279584b66d4311915f117564  gcc/testsuite/gfortran.dg/nested_modules_1.f90
  730255e540584d9c74033c64ae070925  gcc/testsuite/gfortran.dg/nested_reshape.f90
  7a5c853472af3c05a8afc2f8d7ad7adb  gcc/testsuite/gfortran.dg/nesting_1.f90
  dcf2b1740ef71dad5a682ea69da7143e  gcc/testsuite/gfortran.dg/noadv_size.f90
  eb6af590881f3e995fc6b2c78089f277  gcc/testsuite/gfortran.dg/nullify_1.f
  3961c09453f94a6cd6afebfe5fbfe111  gcc/testsuite/gfortran.dg/oldstyle_1.f90
  c205a0b166ecdef2ccd1b9b1a0677b97  gcc/testsuite/gfortran.dg/open-options-blanks.f
  61e7a8977edf731042228fdeb2153529  gcc/testsuite/gfortran.dg/open_new.f90
  178a850a935984712c450bd9bb00e795  gcc/testsuite/gfortran.dg/open_readonly_1.f90
  683572a90d2fd1dc546fbd32f93633aa  gcc/testsuite/gfortran.dg/output_exponents_1.f90
  5353068217f60e06a82e93edf98d882a  gcc/testsuite/gfortran.dg/overwrite_1.f
  ca8a7af6f8bb7f6ff4a50754b6ccaf23  gcc/testsuite/gfortran.dg/pad_no.f90
  20f5555ad18fb82bbee124f3cd547f33  gcc/testsuite/gfortran.dg/parameter_save.f90
  167e2c845977efe871ac5273625f18f4  gcc/testsuite/gfortran.dg/past_eor.f90
  b8411fe9cca01b5165020fe5db99ea7f  gcc/testsuite/gfortran.dg/pointer_init_1.f90
  c47875bcd653c4574e99444029c51b62  gcc/testsuite/gfortran.dg/power.f90
  41cf415c6e21f209054052055d3b27e2  gcc/testsuite/gfortran.dg/pr12884.f
  df72a0f18d76ce4a590e15487ed343d8  gcc/testsuite/gfortran.dg/pr15129.f90
! 959b29d4b25b9782764eee005d3ec2e6  gcc/testsuite/gfortran.dg/pr15140.f90
  4076e43994fe55c557a14fbc0964d3e8  gcc/testsuite/gfortran.dg/pr15164.f90
  e856749a2f697d7f749055113e13a589  gcc/testsuite/gfortran.dg/pr15324.f90
  dbb8e54e6b81b534dfd398b6617f77f8  gcc/testsuite/gfortran.dg/pr15332.f
--- 18140,18317 ----
  632f6b94f0110d72eedbee7641bd627f  gcc/testsuite/gfortran.dg/g77/strlen0.f
  26374b4f17ec9ded8cafd5c6666580d5  gcc/testsuite/gfortran.dg/g77/toon_1.f
  507107b1fe21bc057b23f80e4813a779  gcc/testsuite/gfortran.dg/g77/xformat.f
! dac2b9577ceb331b0ff10a6ae5e92edb  gcc/testsuite/gfortran.dg/g77_intrinsics_funcs.f
! b962c14c96afb2eb5a3c6190d299940f  gcc/testsuite/gfortran.dg/g77_intrinsics_sub.f
  176b7a49d60c5170e3547883e19d1aa6  gcc/testsuite/gfortran.dg/generic_1.f90
  950e0227bc118a7f1b3b9a411904385b  gcc/testsuite/gfortran.dg/generic_2.f90
  8903ef8f818c080ee22a33c4093134b8  gcc/testsuite/gfortran.dg/generic_3.f90
+ d21248018105fd7ccacf9fa869f57e0a  gcc/testsuite/gfortran.dg/generic_4.f90
  dde1a2efd44a1842615d10e590968dd6  gcc/testsuite/gfortran.dg/getenv_1.f90
! 4f5eddf8da8a13e786cbfc023f1e089b  gcc/testsuite/gfortran.dg/global_references_1.f90
! 78ad83f92f96083b053855987b213a5c  gcc/testsuite/gfortran.dg/global_references_2.f90
! 55e7857d1dafac193e2cd5a0a381424f  gcc/testsuite/gfortran.dg/gnu_logical_1.F
! fcddec2c8be6f5c85fd4943091dc86d1  gcc/testsuite/gfortran.dg/gnu_logical_2.f90
! 361bf8573acec01a7db297dcb95d5da7  gcc/testsuite/gfortran.dg/goto_1.f
! fbfa9b3b0277f5d6f294ca4b255faa29  gcc/testsuite/gfortran.dg/hollerith.f90
! 855af7807ad9d75aef7ff85c2859a0c2  gcc/testsuite/gfortran.dg/hollerith2.f90
  ac7abff09db32e7d44719f0d0472dc64  gcc/testsuite/gfortran.dg/hollerith3.f90
  734294d4da978b08e76ca2804bec998f  gcc/testsuite/gfortran.dg/hollerith4.f90
  54d24831a056edc0a7c0fa6b7434377b  gcc/testsuite/gfortran.dg/hollerith_1.f90
! 2dc11218dff78eafff53e621b0d19703  gcc/testsuite/gfortran.dg/hollerith_f95.f90
! 97817c9e8655d82d313b882f31ef6954  gcc/testsuite/gfortran.dg/hollerith_legacy.f90
! 7c3dc49eef0ad6b3aec02d521e08d1f1  gcc/testsuite/gfortran.dg/host_dummy_index_1.f90
! b3deead3474d01306ce66d3857feb610  gcc/testsuite/gfortran.dg/host_used_types_1.f90
! 62a8904690ab3ce1ecb304b4131c61ed  gcc/testsuite/gfortran.dg/ichar_1.f90
! 9f00cdde2669030be42ca86f95884598  gcc/testsuite/gfortran.dg/ichar_2.f90
! d827b941652feab002a335b27a4dd9f2  gcc/testsuite/gfortran.dg/imag_1.f
! c6549853c833790b375d19a785c7d993  gcc/testsuite/gfortran.dg/imag_2.f
  166141e535015cde6b99ee5b4024f1f5  gcc/testsuite/gfortran.dg/implicit_1.f90
  64f1f368548042ba6814a03f6bea8f36  gcc/testsuite/gfortran.dg/implicit_2.f90
  f91933b2213ae0e2eb08e9d25f71bae4  gcc/testsuite/gfortran.dg/implicit_3.f90
+ 8cd3941d98c16e2512f8c0bdaef38a6f  gcc/testsuite/gfortran.dg/implicit_4.f90
  df16e04a147c4b5c3f07ec512e168b87  gcc/testsuite/gfortran.dg/implicit_5.f90
+ 5641ddc8a0165f046a5b1a8b1743d5bc  gcc/testsuite/gfortran.dg/implicit_6.f90
+ 43802d74ee74a03ed66a1107a0b6e156  gcc/testsuite/gfortran.dg/implicit_7.f90
+ c47597a040be738db1346ce9cc2eb1bf  gcc/testsuite/gfortran.dg/implicit_actual.f90
+ 8440b02283098bf612921e6dc6b6e367  gcc/testsuite/gfortran.dg/impure_assignment_1.f90
+ 55154e9c56766a6020535f7260695649  gcc/testsuite/gfortran.dg/in_pack_rank7.f90
+ 4acc99a70aaaaeff31d7329293b94fb8  gcc/testsuite/gfortran.dg/initialization_1.f90
  8b8b6023f7cb77eb5ef45a5e631ba8c9  gcc/testsuite/gfortran.dg/inquire-complex.f90
  be795e80364b41af20887114b9af7291  gcc/testsuite/gfortran.dg/inquire.f90
  90423fca02398a6f55da36f8a889ca3e  gcc/testsuite/gfortran.dg/inquire_5.f90
  fbdf3dbc8604bd48c410cc6c2ac05aee  gcc/testsuite/gfortran.dg/inquire_6.f90
  8283bb4be36f05c63ad546fdd62f3531  gcc/testsuite/gfortran.dg/inquire_7.f90
  39b40793ece3e8c584665b0dc674ff07  gcc/testsuite/gfortran.dg/inquire_8.f90
+ 0c3afe8d127930934eef68e2e717b0ee  gcc/testsuite/gfortran.dg/inquire_9.f90
  0502fac72f1b8a1a31e6ed12f1c575f4  gcc/testsuite/gfortran.dg/int_1.f90
+ f50768bb76ee566e4b81c2ef0a6c3d9b  gcc/testsuite/gfortran.dg/intent_out_1.f90
+ 4cd7b571c93976bb5fcf7cfbede61f45  gcc/testsuite/gfortran.dg/intent_used_1.f90
+ 4a8beb26ab72af02789bfeb4a15083e6  gcc/testsuite/gfortran.dg/interface_1.f90
+ 17c4562b792e274c16da9b6a78b41db8  gcc/testsuite/gfortran.dg/interface_2.f90
+ a759616c63f4308f80df71d84f7fb337  gcc/testsuite/gfortran.dg/internal_dummy_1.f90
+ 3d45f709628d35ba184c97f2f92ab45a  gcc/testsuite/gfortran.dg/internal_references_1.f90
+ b9d3a9777c3e4f769a0c4b108f79e27f  gcc/testsuite/gfortran.dg/internal_references_2.f90
+ 158148c8114ef87230684d4013a74def  gcc/testsuite/gfortran.dg/intrinsic_external_1.f90
  90b3155638c5685439fb666f6912408c  gcc/testsuite/gfortran.dg/intrinsic_modulo_1.f90
  3bbb1901584e77f5fff0a4ba7e9a9933  gcc/testsuite/gfortran.dg/intrinsic_verify_1.f90
+ d35e3d709c2b1407a42e20fdd87d26c9  gcc/testsuite/gfortran.dg/io_constraints_1.f90
+ d789dd2c0661e232d021d54131b10b69  gcc/testsuite/gfortran.dg/io_constraints_2.f90
  b970e12e9b81e2fa5708fa8924a00c7d  gcc/testsuite/gfortran.dg/io_invalid_1.f90
+ 0342f02b3fb0dc962de676768d66af8d  gcc/testsuite/gfortran.dg/iomsg_1.f90
  b7304d50b4a45d453cab3d197a166686  gcc/testsuite/gfortran.dg/iostat_1.f90
  f4da554728a4712248154dc0a019644f  gcc/testsuite/gfortran.dg/iostat_2.f90
  401f6fb5eb7e23838be93598139f9063  gcc/testsuite/gfortran.dg/ishft.f90
+ 9a8e89b9ac2275a2e3072655f27d6962  gcc/testsuite/gfortran.dg/label_1.f90
+ 42f3b3ba2d4378acfb69d1d5a708d707  gcc/testsuite/gfortran.dg/label_2.f90
+ 16d8f9727399c81ae6c4599744b88b8a  gcc/testsuite/gfortran.dg/label_3.f90
+ 60297964f612376548102cc11e03a8f8  gcc/testsuite/gfortran.dg/large_integer_kind_1.f90
+ b016fed1faa74c59125643e97bb95a1b  gcc/testsuite/gfortran.dg/large_integer_kind_2.f90
+ bd17fa8f5a361b5aff415b4762e905b2  gcc/testsuite/gfortran.dg/large_real_kind_1.f90
+ 8815cf3d18552e9472835f28fe699998  gcc/testsuite/gfortran.dg/large_real_kind_2.F90
+ 929cbfc4212454a2d6c7f111fa761219  gcc/testsuite/gfortran.dg/large_real_kind_form_io_1.f90
+ 8614462cecb85bca461c951f15cb417e  gcc/testsuite/gfortran.dg/large_real_kind_form_io_2.f90
  4f674de130200a007cf1ee068838e622  gcc/testsuite/gfortran.dg/largeequiv_1.f90
+ 603828b585296b52648297f368e12a8a  gcc/testsuite/gfortran.dg/line_length_1.f
+ bb3b373c21b1beb428686382a9fe319e  gcc/testsuite/gfortran.dg/line_length_2.f90
  6b10115fba6bad4e5a0a58ba881f0ab8  gcc/testsuite/gfortran.dg/list_read_1.f90
  7e8fb2e2920423473d1ab171b01cb2df  gcc/testsuite/gfortran.dg/list_read_2.f90
  799ffeafd700d24bd3e365a8addcfa10  gcc/testsuite/gfortran.dg/list_read_3.f90
  36e928b3a5b9a5d89ecebae1c130be22  gcc/testsuite/gfortran.dg/list_read_4.f90
+ a11d63bfe283efac6d60fa7c9d4a3856  gcc/testsuite/gfortran.dg/list_read_5.f90
+ c30d93cd56b74ca3bca7e17183c6fb62  gcc/testsuite/gfortran.dg/literal_character_constant_1.inc
+ 96d8aac7a658fcecf923a5c08fdbdaeb  gcc/testsuite/gfortran.dg/literal_character_constant_1_x.F
+ fe90073fb4e5cee39b74c1beaf9d4591  gcc/testsuite/gfortran.dg/literal_character_constant_1_y.F
+ 71ac5cc5c299b0f3aea39d501e48a633  gcc/testsuite/gfortran.dg/literal_character_constant_1_z.F
+ 66245f2bdb7b67c1e243cbd59c270959  gcc/testsuite/gfortran.dg/loc_1.f90
+ 8d5f3e178cd098f2d7e11aa87c4a0920  gcc/testsuite/gfortran.dg/loc_2.f90
  43ab2f3e8b339b2cf76baeeb254701b0  gcc/testsuite/gfortran.dg/logical_comp.f90
  d790ddb406b38b67d83bc92f76cdf315  gcc/testsuite/gfortran.dg/logical_data_1.f90
! 2cde76e6e4f3175cf21675c3a4e3dcc4  gcc/testsuite/gfortran.dg/logint-1.f
! e8369cf8500479fa8592d6ad221df22b  gcc/testsuite/gfortran.dg/logint-2.f
! cc537c18cadc7f751e2b61f5197b80e7  gcc/testsuite/gfortran.dg/logint-3.f
  2e16436245080196a00fafc9ba1a1a0d  gcc/testsuite/gfortran.dg/longline.f
+ b49070ec831f64c85f249772acd9a59f  gcc/testsuite/gfortran.dg/malloc_free_1.f90
  171ff4e94d0631976b7afcc00a2dd130  gcc/testsuite/gfortran.dg/matmul_1.f90
+ 3a3e2e45cd059f3718c8ca35c0c270d3  gcc/testsuite/gfortran.dg/maxval_maxloc_conformance_1.f90
  0039aa87d8c7bb33fdd7971da66f6212  gcc/testsuite/gfortran.dg/merge_char_1.f90
+ eeec051d497127f1ede77e4c9b0a4d06  gcc/testsuite/gfortran.dg/merge_char_const.f90
+ 39267eb2a7da9bb2c75e76503586d534  gcc/testsuite/gfortran.dg/mixed_io_1.c
+ 4d177b554db287eb47a74e591be97a68  gcc/testsuite/gfortran.dg/mixed_io_1.f90
  48136c0e5c25c04a882912ce8d637360  gcc/testsuite/gfortran.dg/module_blank_common.f90
  ed10080acb110d0627baacb5a9284e73  gcc/testsuite/gfortran.dg/module_commons_1.f90
  8ddc8ce9aa09445fff3b918fe8d41694  gcc/testsuite/gfortran.dg/module_double_reuse.f90
  632137a9d037966252a4a6da162a6f84  gcc/testsuite/gfortran.dg/module_equivalence_1.f90
! 9aa358b43568fee3a7953c95d24c9bad  gcc/testsuite/gfortran.dg/module_interface_1.f90
! 776328eadaf6fdc5bd402ed71dc60087  gcc/testsuite/gfortran.dg/module_parameter_array_refs_1.f90
! 83a84ddcb72e8ad5daa1e49bbce84383  gcc/testsuite/gfortran.dg/modulo_1.f90
! b00d6522a9d5d742581a4a4f36262305  gcc/testsuite/gfortran.dg/mvbits_1.f90
  ab43a12e9d7dd4f0eed4d087fc19a84f  gcc/testsuite/gfortran.dg/named_interface.f90
  41fabfed6789708fd01fe5dcc87777b2  gcc/testsuite/gfortran.dg/namelist_1.f90
! bb9e1faa31bc5c9b556516c7dce79bce  gcc/testsuite/gfortran.dg/namelist_11.f
! f9e4099dca8de5d2033abcfd75f66d0d  gcc/testsuite/gfortran.dg/namelist_12.f
! 067c57b6eb8ed249c4d2680e2ccdfdfd  gcc/testsuite/gfortran.dg/namelist_13.f90
! 61ae84d66b646d47d0bdbe05378351df  gcc/testsuite/gfortran.dg/namelist_14.f90
! 164de2992dc00816da3d8e4c8d95c834  gcc/testsuite/gfortran.dg/namelist_15.f90
  1966e4eb56d2152bb7331ac3bba7364a  gcc/testsuite/gfortran.dg/namelist_16.f90
  6287a7e85d43fd474429c5fab5201b5b  gcc/testsuite/gfortran.dg/namelist_17.f90
  c712cbc767f63da4a05d98b002857e2e  gcc/testsuite/gfortran.dg/namelist_18.f90
  809608771664a5ada528ef8a651941d3  gcc/testsuite/gfortran.dg/namelist_19.f90
  cd112962907d7cdcead33a96010fbfd8  gcc/testsuite/gfortran.dg/namelist_2.f90
  616c505c906c398d6dba9d204cb485c3  gcc/testsuite/gfortran.dg/namelist_20.f90
+ a949db3010c7e3a5c6e461cb69a1bd19  gcc/testsuite/gfortran.dg/namelist_21.f90
+ 66b1f75e5c823449a67d638a54b04b2a  gcc/testsuite/gfortran.dg/namelist_22.f90
  1dfc7b131bae9468faca33bcea3ec9bb  gcc/testsuite/gfortran.dg/namelist_3.f90
+ 73de646ecd69b0bf965fecc1ccd64052  gcc/testsuite/gfortran.dg/namelist_blockdata.f
+ 069dbff7c2c727c922c2a492f0feb75e  gcc/testsuite/gfortran.dg/namelist_char_only.f90
+ ef48962027e736e82d3ed040adafacb0  gcc/testsuite/gfortran.dg/namelist_empty.f90
  ac9bd591200a71d55876b90027fe1ffc  gcc/testsuite/gfortran.dg/namelist_print_1.f
  e0d5d7f85bba8e168fd923e2a3baf213  gcc/testsuite/gfortran.dg/namelist_print_2.f
! beb2764c530f6b9f5f0e61a74fe74b73  gcc/testsuite/gfortran.dg/namelist_use.f90
! 34ef38686fe1e2bc7e2460835a611a73  gcc/testsuite/gfortran.dg/namelist_use_only.f90
! 1862cb9eebd4e552a120cfc0f5f7b9a3  gcc/testsuite/gfortran.dg/negative-z-descriptor.f90
  15d0cea07e785184b1d7ba9b925a077e  gcc/testsuite/gfortran.dg/negative_unit.f
! 6e09f602faf1075e7895c6164b850f83  gcc/testsuite/gfortran.dg/nested_modules_1.f90
! bf95ac16885c317fe6be9ea12782bdd5  gcc/testsuite/gfortran.dg/nested_modules_2.f90
! 80506fe15e570fa26cacd88f038cb89b  gcc/testsuite/gfortran.dg/nested_modules_3.f90
! 3207b24a295264f4594594e5ea74b325  gcc/testsuite/gfortran.dg/nested_modules_4.f90
! ceb540e9fa51ec142422337e989249f9  gcc/testsuite/gfortran.dg/nested_modules_5.f90
  730255e540584d9c74033c64ae070925  gcc/testsuite/gfortran.dg/nested_reshape.f90
  7a5c853472af3c05a8afc2f8d7ad7adb  gcc/testsuite/gfortran.dg/nesting_1.f90
+ 6b992b6c61a7c0311f95207c9fb8ccaa  gcc/testsuite/gfortran.dg/nesting_2.f90
+ 65ed039732aa02c5d870a2ab5b4ab69a  gcc/testsuite/gfortran.dg/nesting_3.f90
+ cf1aadbb18d5e6f8399c252ebc5de0bf  gcc/testsuite/gfortran.dg/nint_1.f90
  dcf2b1740ef71dad5a682ea69da7143e  gcc/testsuite/gfortran.dg/noadv_size.f90
+ 4feba1e10c04fc9dcb174a8eb1a71b14  gcc/testsuite/gfortran.dg/non_module_public.f90
+ 35eb73c9b56e47a30bea45c41325ad03  gcc/testsuite/gfortran.dg/nonreturning_statements.f90
+ 3fb21e1a3ab7abb4fda4c7de5e911da6  gcc/testsuite/gfortran.dg/null_1.f90
  eb6af590881f3e995fc6b2c78089f277  gcc/testsuite/gfortran.dg/nullify_1.f
+ 4831e0a5e4bdd7a487718fe5350ad267  gcc/testsuite/gfortran.dg/nullify_2.f90
  3961c09453f94a6cd6afebfe5fbfe111  gcc/testsuite/gfortran.dg/oldstyle_1.f90
  c205a0b166ecdef2ccd1b9b1a0677b97  gcc/testsuite/gfortran.dg/open-options-blanks.f
+ 941113644c9b039dadaf2ea8f8b4331d  gcc/testsuite/gfortran.dg/open_access_1.f90
+ a8a33897308ab7f5b85ca7f10bddef38  gcc/testsuite/gfortran.dg/open_access_append_1.f90
+ f31db360d1672d024deb7374a64d44ed  gcc/testsuite/gfortran.dg/open_access_append_2.f90
  61e7a8977edf731042228fdeb2153529  gcc/testsuite/gfortran.dg/open_new.f90
  178a850a935984712c450bd9bb00e795  gcc/testsuite/gfortran.dg/open_readonly_1.f90
+ 5ccf7de561546930e7dadd4fdbad8762  gcc/testsuite/gfortran.dg/open_status_1.f90
+ 7007a7e7d7c2b7dcf2a7d91680833691  gcc/testsuite/gfortran.dg/open_status_2.f90
  683572a90d2fd1dc546fbd32f93633aa  gcc/testsuite/gfortran.dg/output_exponents_1.f90
  5353068217f60e06a82e93edf98d882a  gcc/testsuite/gfortran.dg/overwrite_1.f
  ca8a7af6f8bb7f6ff4a50754b6ccaf23  gcc/testsuite/gfortran.dg/pad_no.f90
  20f5555ad18fb82bbee124f3cd547f33  gcc/testsuite/gfortran.dg/parameter_save.f90
+ 510e6ab845e1decc438e4fb90ee836d5  gcc/testsuite/gfortran.dg/parens_1.f90
+ f0e895951aca1144ddd789aeb786353c  gcc/testsuite/gfortran.dg/parens_2.f90
+ 8186fee5d689f45d8c0b17dd1086bf5d  gcc/testsuite/gfortran.dg/parens_3.f90
+ e105e31832fc448a5431c6aa3d02cf0c  gcc/testsuite/gfortran.dg/parens_4.f90
+ 62d357f4e2c900610ecab0eea231b9f8  gcc/testsuite/gfortran.dg/parens_5.f90
  167e2c845977efe871ac5273625f18f4  gcc/testsuite/gfortran.dg/past_eor.f90
+ 914ea2a0f7d0ad0e0524582a226dc29c  gcc/testsuite/gfortran.dg/pointer_assign_1.f90
+ e32f69eddc30676f01b94926f5915137  gcc/testsuite/gfortran.dg/pointer_component_type_1.f90
  b8411fe9cca01b5165020fe5db99ea7f  gcc/testsuite/gfortran.dg/pointer_init_1.f90
  c47875bcd653c4574e99444029c51b62  gcc/testsuite/gfortran.dg/power.f90
  41cf415c6e21f209054052055d3b27e2  gcc/testsuite/gfortran.dg/pr12884.f
  df72a0f18d76ce4a590e15487ed343d8  gcc/testsuite/gfortran.dg/pr15129.f90
! 84a2259df58a58af62b88732f4acd394  gcc/testsuite/gfortran.dg/pr15140.f90
  4076e43994fe55c557a14fbc0964d3e8  gcc/testsuite/gfortran.dg/pr15164.f90
  e856749a2f697d7f749055113e13a589  gcc/testsuite/gfortran.dg/pr15324.f90
  dbb8e54e6b81b534dfd398b6617f77f8  gcc/testsuite/gfortran.dg/pr15332.f
*************** a865a1b8fb2e27e3aaed7d95ad51a646  gcc/te
*** 18562,18568 ****
  d4b5dae95f75ea9a415a1afdcf2b6455  gcc/testsuite/gfortran.dg/pr16935.f90
  e6648976e2e071c2d54ab7b1776a2f6c  gcc/testsuite/gfortran.dg/pr16938.f90
  2bd7746b5b00b3df4fb38ae88daab005  gcc/testsuite/gfortran.dg/pr17090.f90
! 7e681310158e28e86480b73e03ffd9ec  gcc/testsuite/gfortran.dg/pr17143.f90
  0815bf6f3b4674671db45ef8012b8be8  gcc/testsuite/gfortran.dg/pr17164.f90
  1ec54c0d13858cb4d53a084c745af3eb  gcc/testsuite/gfortran.dg/pr17229.f
  5536aee36343b23fff04ade3f6d4b5e5  gcc/testsuite/gfortran.dg/pr17285.f90
--- 18324,18330 ----
  d4b5dae95f75ea9a415a1afdcf2b6455  gcc/testsuite/gfortran.dg/pr16935.f90
  e6648976e2e071c2d54ab7b1776a2f6c  gcc/testsuite/gfortran.dg/pr16938.f90
  2bd7746b5b00b3df4fb38ae88daab005  gcc/testsuite/gfortran.dg/pr17090.f90
! d7a80c65cffcd92492b4026296d157f2  gcc/testsuite/gfortran.dg/pr17143.f90
  0815bf6f3b4674671db45ef8012b8be8  gcc/testsuite/gfortran.dg/pr17164.f90
  1ec54c0d13858cb4d53a084c745af3eb  gcc/testsuite/gfortran.dg/pr17229.f
  5536aee36343b23fff04ade3f6d4b5e5  gcc/testsuite/gfortran.dg/pr17285.f90
*************** f9796b29ff5836464caab271b6d6fcd1  gcc/te
*** 18581,18586 ****
--- 18343,18350 ----
  e438a8b638f669284ddf9fd1adbd7068  gcc/testsuite/gfortran.dg/pr19467.f90
  00574db204a101f5bd852a0916a950a6  gcc/testsuite/gfortran.dg/pr19657.f
  bba1949e771176eca56620f592fec9c4  gcc/testsuite/gfortran.dg/pr19926.f90
+ 436429eb3bdf8e747e9baaf8030bbb4f  gcc/testsuite/gfortran.dg/pr19928-1.f90
+ f9ceb2733fa7f30d63522b5c011b756f  gcc/testsuite/gfortran.dg/pr19928-2.f90
  30aebf69198473923b60bbab6cafa05b  gcc/testsuite/gfortran.dg/pr19936_1.f90
  7fe5c318350a52400c5dbd328ca6b65f  gcc/testsuite/gfortran.dg/pr19936_2.f90
  a21cc4ab33b1cfd66732338936f2a4af  gcc/testsuite/gfortran.dg/pr19936_3.f90
*************** edfeecfc08651770dbce7ace561a6340  gcc/te
*** 18594,18608 ****
  06f68ba3e8b694bdc75295b59df2974f  gcc/testsuite/gfortran.dg/pr20950.f
  12fbcad362d09f6d87d7740642e52ee3  gcc/testsuite/gfortran.dg/pr20954.f
  b4eada0068eb23085e582567514188e7  gcc/testsuite/gfortran.dg/pr21177.f90
  f5b5ba523f27f950d57c892c4cf5e8cf  gcc/testsuite/gfortran.dg/print_fmt_1.f90
  4cc3ac286e866ea892b31ede79414d2a  gcc/testsuite/gfortran.dg/print_fmt_2.f90
  5bbf134aeded8e4f4101016a2a2d034f  gcc/testsuite/gfortran.dg/print_fmt_3.f
! 0b0d01a5813fe1eb2b0102648c1b6591  gcc/testsuite/gfortran.dg/promotion.f90
! d92eb71189e4e4f4639096c39859e725  gcc/testsuite/gfortran.dg/read_float_1.f90
  7919f7fe5728e532ca7141b09ddd62cd  gcc/testsuite/gfortran.dg/real_const_1.f
  68f10c8f9f2989d7477294a7adb9b04d  gcc/testsuite/gfortran.dg/real_const_2.f90
  bcaaa0a5f38f8f008df73c7fd2535256  gcc/testsuite/gfortran.dg/real_do_1.f90
  b228541dba5ac8fb67ed965213fb7cd7  gcc/testsuite/gfortran.dg/real_index_1.f90
  7374e874fd37a55d08d2a48e44e60dca  gcc/testsuite/gfortran.dg/reduction.f90
  fec1b6ce565025020ec539c5de80446c  gcc/testsuite/gfortran.dg/reshape-alloc.f90
  81f4d28ee3870be17bd0927078276074  gcc/testsuite/gfortran.dg/reshape-complex.f90
--- 18358,18395 ----
  06f68ba3e8b694bdc75295b59df2974f  gcc/testsuite/gfortran.dg/pr20950.f
  12fbcad362d09f6d87d7740642e52ee3  gcc/testsuite/gfortran.dg/pr20954.f
  b4eada0068eb23085e582567514188e7  gcc/testsuite/gfortran.dg/pr21177.f90
+ 3dc356c26ded26f6b71cb7aac01864e9  gcc/testsuite/gfortran.dg/pr21730.f
+ 3819df86d2c67b90c3998bf5813dd323  gcc/testsuite/gfortran.dg/pr22491.f
+ 8a0e7bdbf816fcc71b18a34688ff8f22  gcc/testsuite/gfortran.dg/pr23095.f
+ 18a963a12a2b15e718085744526b1722  gcc/testsuite/gfortran.dg/pr24823.f
+ a9a5b66281c8c9e0942c85e67f8e2219  gcc/testsuite/gfortran.dg/pr25603.f
  f5b5ba523f27f950d57c892c4cf5e8cf  gcc/testsuite/gfortran.dg/print_fmt_1.f90
  4cc3ac286e866ea892b31ede79414d2a  gcc/testsuite/gfortran.dg/print_fmt_2.f90
  5bbf134aeded8e4f4101016a2a2d034f  gcc/testsuite/gfortran.dg/print_fmt_3.f
! a8b1a136d9f125d0413fca1f7f1ff3cf  gcc/testsuite/gfortran.dg/print_fmt_4.f
! 1a3df594e0222a8b894c931b542fb049  gcc/testsuite/gfortran.dg/private_type_1.f90
! ba4a5d8add53cfada770f5d0bf7b4fc0  gcc/testsuite/gfortran.dg/private_type_2.f90
! af10ff8ea50de09ef51c3af84aa9085c  gcc/testsuite/gfortran.dg/private_type_3.f90
! a675e83fe7cf6de39bdf48c92840980b  gcc/testsuite/gfortran.dg/private_type_4.f90
! d1ce6cd3cc329f3c0b216d9947ff1a56  gcc/testsuite/gfortran.dg/procedure_lvalue.f90
! 7865efadac8d4954c10d01e399ea675b  gcc/testsuite/gfortran.dg/promotion.f90
! 82ac84f934151e2b1dfbc40c3c8dee08  gcc/testsuite/gfortran.dg/pure_byref_1.f90
! 7a2b2219499e14b32d0d693849c4033e  gcc/testsuite/gfortran.dg/pure_byref_2.f90
! cbdd56d6d0a1f0740293b92cb7939fd4  gcc/testsuite/gfortran.dg/pure_byref_3.f90
! 74316893c5981958987d1175bad4509a  gcc/testsuite/gfortran.dg/pure_non_intrinsic_dummy_1.f90
! e8cfe02d842315915935d05244628738  gcc/testsuite/gfortran.dg/read_comma.f
! a8d0c3d35123a3415b827804c001c0d1  gcc/testsuite/gfortran.dg/read_eof_1.f90
! 184afce80151330e438b567cc90fb5f1  gcc/testsuite/gfortran.dg/read_eof_2.f90
! afcf87b5402a549af19595076a3e6095  gcc/testsuite/gfortran.dg/read_eof_3.f90
! 9fd36acbf7195e54543d725a79963818  gcc/testsuite/gfortran.dg/read_eor.f90
! 6bb6bd2bcc0162c46dde6e942732ea49  gcc/testsuite/gfortran.dg/read_float_1.f90
! 2247ab4e69745fa00f2ac26a0539b578  gcc/testsuite/gfortran.dg/read_noadvance.f90
! f3b42dde0a1bd6f3702be6e6eac82ea9  gcc/testsuite/gfortran.dg/read_x_eor.f90
  7919f7fe5728e532ca7141b09ddd62cd  gcc/testsuite/gfortran.dg/real_const_1.f
  68f10c8f9f2989d7477294a7adb9b04d  gcc/testsuite/gfortran.dg/real_const_2.f90
  bcaaa0a5f38f8f008df73c7fd2535256  gcc/testsuite/gfortran.dg/real_do_1.f90
  b228541dba5ac8fb67ed965213fb7cd7  gcc/testsuite/gfortran.dg/real_index_1.f90
+ 04f606c5811e60de02914e885b7b322b  gcc/testsuite/gfortran.dg/recursive_statement_functions.f90
  7374e874fd37a55d08d2a48e44e60dca  gcc/testsuite/gfortran.dg/reduction.f90
  fec1b6ce565025020ec539c5de80446c  gcc/testsuite/gfortran.dg/reshape-alloc.f90
  81f4d28ee3870be17bd0927078276074  gcc/testsuite/gfortran.dg/reshape-complex.f90
*************** d088cd1dddd94a5cc78135c60659e17e  gcc/te
*** 18610,18642 ****
  dad102820948ce7d13120a91b4fce2e0  gcc/testsuite/gfortran.dg/reshape_rank7.f90
  b6d62abcada60cbdca4e99091f35f5f0  gcc/testsuite/gfortran.dg/ret_array_1.f90
  ba4309199b6de8e3f6569168576b672d  gcc/testsuite/gfortran.dg/ret_pointer_1.f90
  05a9768a34905753d775e740c2b04ac5  gcc/testsuite/gfortran.dg/return_1.f90
  cfa3c5abdb5c5b8ecbae05161a24979e  gcc/testsuite/gfortran.dg/rewind_1.f90
  cf312106ea57ecf768f6b24b13308511  gcc/testsuite/gfortran.dg/same_name_1.f90
! f880209c4ac6a48f3ed208b28be93cc3  gcc/testsuite/gfortran.dg/scale_1.f90
  ab76721865850a0b6434fc07f1856cd7  gcc/testsuite/gfortran.dg/select_1.f90
  f88e2e63dd6f4af4e0cf6b122d5ce33a  gcc/testsuite/gfortran.dg/select_2.f90
  6adef87d7db611b1be5b65dd0232ca97  gcc/testsuite/gfortran.dg/select_3.f90
  a8915b84412b8a80d6a5acd416b43e64  gcc/testsuite/gfortran.dg/select_4.f90
! b97695b24b74bb431ea0330e34f8b523  gcc/testsuite/gfortran.dg/select_5.f90
  c87b3782a45f9a2204d8af5980f03bfe  gcc/testsuite/gfortran.dg/shape_1.f90
  79956bde50d18dc54cc40b48b3ca21a2  gcc/testsuite/gfortran.dg/shift-alloc.f90
  7b1184e923af066c99dfd04c9b054ebd  gcc/testsuite/gfortran.dg/shift-kind.f90
  70de57c924e76dc6d1e498e2259aeb38  gcc/testsuite/gfortran.dg/simpleif_1.f90
  0bd4a476c1e494cf5646e7afc7922748  gcc/testsuite/gfortran.dg/simplify_modulo.f90
  85bef460546bfc479debba6e0beb0a8f  gcc/testsuite/gfortran.dg/spec_expr_1.f90
  71087dd3d8e303803a7d757baed6544f  gcc/testsuite/gfortran.dg/stfunc_2.f90
  e6d56b3f1f4b771e51631f96a7561f4c  gcc/testsuite/gfortran.dg/string_ctor_1.f90
  230f3ac65d829fdd4d14a340c2dcc070  gcc/testsuite/gfortran.dg/string_pad_trunc.f90
  ba26063ec693e7a4394e5ff26e3562a8  gcc/testsuite/gfortran.dg/substr_1.f90
  5424f3bff4c9d1e6157821ae991f0b7d  gcc/testsuite/gfortran.dg/tiny_1.f90
  4daea39a2fe2e879af278efc47b3c78c  gcc/testsuite/gfortran.dg/tiny_2.f90
! 30394157b3fcd2a5d34fc6130d2efc94  gcc/testsuite/gfortran.dg/tl_editing.f90
  3fbf4177ee06fcb76a0344d70e79d1b8  gcc/testsuite/gfortran.dg/use_allocated_1.f90
  b03597d62ffc90b37e2a1765bda01163  gcc/testsuite/gfortran.dg/write_0_pe_format.f90
  fa9ae1cc2a2c40ce2c42f46b13c5f789  gcc/testsuite/gfortran.dg/write_to_null.f90
! 30e13abe1c667d95e0e00b2e8d187d1f  gcc/testsuite/gfortran.dg/wtruncate.f
! 63dcd8710d4fff4cc8361ab6823709e2  gcc/testsuite/gfortran.dg/wtruncate.f90
  aaf778d7d71a7063e4f7dbbe4e813333  gcc/testsuite/gfortran.dg/x_slash_1.f
  4f06bbd93341caab57317817f81000ef  gcc/testsuite/gfortran.fortran-torture/ChangeLog.g95
  772f1b6dc3c8d14d2867d2107031100f  gcc/testsuite/gfortran.fortran-torture/compile/actual.f90
--- 18397,18472 ----
  dad102820948ce7d13120a91b4fce2e0  gcc/testsuite/gfortran.dg/reshape_rank7.f90
  b6d62abcada60cbdca4e99091f35f5f0  gcc/testsuite/gfortran.dg/ret_array_1.f90
  ba4309199b6de8e3f6569168576b672d  gcc/testsuite/gfortran.dg/ret_pointer_1.f90
+ 997f28c8a9ecbc34e215835b53eea5c4  gcc/testsuite/gfortran.dg/ret_pointer_2.f90
  05a9768a34905753d775e740c2b04ac5  gcc/testsuite/gfortran.dg/return_1.f90
  cfa3c5abdb5c5b8ecbae05161a24979e  gcc/testsuite/gfortran.dg/rewind_1.f90
+ d7e3e49a15b671085b9f1361264e6d95  gcc/testsuite/gfortran.dg/runtime_warning_1.f90
  cf312106ea57ecf768f6b24b13308511  gcc/testsuite/gfortran.dg/same_name_1.f90
! 3be31d6701d7a8a94d4813824eb5ef6f  gcc/testsuite/gfortran.dg/save_1.f90
! 969e348eec71de0c469550da97db323d  gcc/testsuite/gfortran.dg/save_common.f90
! 1a1f478cd1af5c7ca0f1139bd3142853  gcc/testsuite/gfortran.dg/save_result.f90
! 0944816956cbd579fd7a671afc0db963  gcc/testsuite/gfortran.dg/scale_1.f90
! 5e7353b89070fbfe5ca1f3d3f6c83cad  gcc/testsuite/gfortran.dg/scan_1.f90
! 7485f7bce0c258f218f7cbbcc2c25240  gcc/testsuite/gfortran.dg/secnds.f
  ab76721865850a0b6434fc07f1856cd7  gcc/testsuite/gfortran.dg/select_1.f90
  f88e2e63dd6f4af4e0cf6b122d5ce33a  gcc/testsuite/gfortran.dg/select_2.f90
  6adef87d7db611b1be5b65dd0232ca97  gcc/testsuite/gfortran.dg/select_3.f90
  a8915b84412b8a80d6a5acd416b43e64  gcc/testsuite/gfortran.dg/select_4.f90
! a22f62b47828a0752ab18dd2a9904c83  gcc/testsuite/gfortran.dg/select_5.f90
  c87b3782a45f9a2204d8af5980f03bfe  gcc/testsuite/gfortran.dg/shape_1.f90
+ a595708102408f8ce774d8f550b87904  gcc/testsuite/gfortran.dg/shape_2.f90
  79956bde50d18dc54cc40b48b3ca21a2  gcc/testsuite/gfortran.dg/shift-alloc.f90
  7b1184e923af066c99dfd04c9b054ebd  gcc/testsuite/gfortran.dg/shift-kind.f90
  70de57c924e76dc6d1e498e2259aeb38  gcc/testsuite/gfortran.dg/simpleif_1.f90
  0bd4a476c1e494cf5646e7afc7922748  gcc/testsuite/gfortran.dg/simplify_modulo.f90
+ 4b76f06af801096fcdfad0f2cd948f55  gcc/testsuite/gfortran.dg/single_char_string.f90
+ 902d29439cf81a252237ce8758bff284  gcc/testsuite/gfortran.dg/slash_1.f90
  85bef460546bfc479debba6e0beb0a8f  gcc/testsuite/gfortran.dg/spec_expr_1.f90
+ e50338827fa0a2f4c86e55a9d77c7e7d  gcc/testsuite/gfortran.dg/spec_expr_2.f90
+ 010cfcdec31146aa14377199603e5cca  gcc/testsuite/gfortran.dg/spread_scalar_source.f90
+ 8297205d0fd462057bf77c41569c1427  gcc/testsuite/gfortran.dg/static_linking_1.c
+ fdcc241cfe92b58fca2cd6843c525442  gcc/testsuite/gfortran.dg/static_linking_1.f
+ bf0f78ddd69ccd4c8c96ce04c0da6db7  gcc/testsuite/gfortran.dg/stfunc_1.f90
  71087dd3d8e303803a7d757baed6544f  gcc/testsuite/gfortran.dg/stfunc_2.f90
  e6d56b3f1f4b771e51631f96a7561f4c  gcc/testsuite/gfortran.dg/string_ctor_1.f90
  230f3ac65d829fdd4d14a340c2dcc070  gcc/testsuite/gfortran.dg/string_pad_trunc.f90
+ 61ae637c594b34019ba57391c63641f5  gcc/testsuite/gfortran.dg/subnormal_1.f90
  ba26063ec693e7a4394e5ff26e3562a8  gcc/testsuite/gfortran.dg/substr_1.f90
+ a925dc24dc88f988a2c3d72d6db706b6  gcc/testsuite/gfortran.dg/substring_equivalence.f90
+ 3b4201ec9c6aea178a28aa44df4df077  gcc/testsuite/gfortran.dg/t_editing.f
  5424f3bff4c9d1e6157821ae991f0b7d  gcc/testsuite/gfortran.dg/tiny_1.f90
  4daea39a2fe2e879af278efc47b3c78c  gcc/testsuite/gfortran.dg/tiny_2.f90
! dcf919020a36ccc93088f38d127d220d  gcc/testsuite/gfortran.dg/tl_editing.f90
! c3572529ab78240983dfcb3bc0f7c814  gcc/testsuite/gfortran.dg/typed_subroutine_1.f90
! 0e692a977ecc4ab86f2eddee444794b4  gcc/testsuite/gfortran.dg/uncommon_block_data_1.f90
! 2fb717fe29fa528056cd388b7064ce96  gcc/testsuite/gfortran.dg/underflow.f90
! 4cd1fccad23f9b899ae16c00ddcce726  gcc/testsuite/gfortran.dg/unf_io_convert_1.f90
! b9667e889cd6aa546a5b10334ece6fe9  gcc/testsuite/gfortran.dg/unf_io_convert_2.f90
! 20e9acf1fef8829793262886bb3b6cb5  gcc/testsuite/gfortran.dg/unf_io_convert_3.f90
! ee8d03929f4d61ca6a8f5a65ddacf3cf  gcc/testsuite/gfortran.dg/unf_io_convert_4.f90
  3fbf4177ee06fcb76a0344d70e79d1b8  gcc/testsuite/gfortran.dg/use_allocated_1.f90
+ 2ca001757f748b7bd68cd6ce46ac569c  gcc/testsuite/gfortran.dg/used_dummy_types_1.f90
+ 1b482dce377e98f1cf6ba65db90c710c  gcc/testsuite/gfortran.dg/used_dummy_types_2.f90
+ 3960cc7f3e37c45e3ab2eb1e6f49937d  gcc/testsuite/gfortran.dg/used_dummy_types_3.f90
+ 43105f8477af55b7e2d0ab163519eec6  gcc/testsuite/gfortran.dg/used_dummy_types_4.f90
+ 6adebbb82d7ea38033de886feec9fe1c  gcc/testsuite/gfortran.dg/used_dummy_types_5.f90
+ 88757509261c1ab1d2855aff838986eb  gcc/testsuite/gfortran.dg/used_types_1.f90
+ 88b395b7198f6396a1e668f709553508  gcc/testsuite/gfortran.dg/userdef_operator_1.f90
+ b8f2fb695b91d597ed8c7194e2b482f2  gcc/testsuite/gfortran.dg/vect/pr19049.f90
+ 0815f0c55ddd0c15e6b562fe62b22bdc  gcc/testsuite/gfortran.dg/vect/vect-1.f90
+ fc2ea39da5339b8fae4325778b4161b2  gcc/testsuite/gfortran.dg/vect/vect-2.f90
+ 251437dbdec59a2676b5d71386d78411  gcc/testsuite/gfortran.dg/vect/vect-3.f90
+ 718c3815190fa306667ad565ed78a481  gcc/testsuite/gfortran.dg/vect/vect-4.f90
+ 96b021189f6de196b9deff16a6a988dd  gcc/testsuite/gfortran.dg/vect/vect-5.f90
+ 0fc7ade67c84f250fa8f44f24b11b63e  gcc/testsuite/gfortran.dg/vect/vect.exp
+ ae79af47097b6fa393f61536baee22e0  gcc/testsuite/gfortran.dg/vector_subscript_1.f90
+ 9206e2127fe7833b7ffdd6daf40b63ac  gcc/testsuite/gfortran.dg/vector_subscript_2.f90
+ 355f71857e4d70eec2b706ae1ab82a95  gcc/testsuite/gfortran.dg/where_nested_1.f90
  b03597d62ffc90b37e2a1765bda01163  gcc/testsuite/gfortran.dg/write_0_pe_format.f90
+ 7473ac1b4a52104cfad7b6f694ce6a82  gcc/testsuite/gfortran.dg/write_padding.f90
  fa9ae1cc2a2c40ce2c42f46b13c5f789  gcc/testsuite/gfortran.dg/write_to_null.f90
! c9823efc4e3d9bdf48de2ccdbac46410  gcc/testsuite/gfortran.dg/wtruncate.f
! 01cac9d3343abed2d1ed65ab5a782622  gcc/testsuite/gfortran.dg/wtruncate.f90
  aaf778d7d71a7063e4f7dbbe4e813333  gcc/testsuite/gfortran.dg/x_slash_1.f
  4f06bbd93341caab57317817f81000ef  gcc/testsuite/gfortran.fortran-torture/ChangeLog.g95
  772f1b6dc3c8d14d2867d2107031100f  gcc/testsuite/gfortran.fortran-torture/compile/actual.f90
*************** aaf778d7d71a7063e4f7dbbe4e813333  gcc/te
*** 18644,18650 ****
  82775aea043bb1c46d8cb089803279f4  gcc/testsuite/gfortran.fortran-torture/compile/ambig.f90
  dcf134ed5f2823525e631805c8ce9273  gcc/testsuite/gfortran.fortran-torture/compile/arrayio.f90
  bb59bc612e4ff3905614ceeae7d89150  gcc/testsuite/gfortran.fortran-torture/compile/bergervoet2.f90
! f812682c32e9e933e584b96ba6e3227e  gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
  d34063f5c0cc449ee1e78199c2bc37d9  gcc/testsuite/gfortran.fortran-torture/compile/contained_1.f90
  beef214f45f74ba36c7a5a4a3952c926  gcc/testsuite/gfortran.fortran-torture/compile/contained_2.f90
  d039d16d7f0a08a436419a71fc41edc0  gcc/testsuite/gfortran.fortran-torture/compile/contained_3.f90
--- 18474,18480 ----
  82775aea043bb1c46d8cb089803279f4  gcc/testsuite/gfortran.fortran-torture/compile/ambig.f90
  dcf134ed5f2823525e631805c8ce9273  gcc/testsuite/gfortran.fortran-torture/compile/arrayio.f90
  bb59bc612e4ff3905614ceeae7d89150  gcc/testsuite/gfortran.fortran-torture/compile/bergervoet2.f90
! cb3299e7e36ce59d3f5d659c579db955  gcc/testsuite/gfortran.fortran-torture/compile/compile.exp
  d34063f5c0cc449ee1e78199c2bc37d9  gcc/testsuite/gfortran.fortran-torture/compile/contained_1.f90
  beef214f45f74ba36c7a5a4a3952c926  gcc/testsuite/gfortran.fortran-torture/compile/contained_2.f90
  d039d16d7f0a08a436419a71fc41edc0  gcc/testsuite/gfortran.fortran-torture/compile/contained_3.f90
*************** d039d16d7f0a08a436419a71fc41edc0  gcc/te
*** 18652,18661 ****
--- 18482,18496 ----
  546708a4c39eec692248059892e0043b  gcc/testsuite/gfortran.fortran-torture/compile/contained_5.f90
  b75c3a60997c0699281da4cc41f1a40d  gcc/testsuite/gfortran.fortran-torture/compile/convert.f90
  1b2b38469bf7a98f9c81fcfafa9a3649  gcc/testsuite/gfortran.fortran-torture/compile/data_1.f90
+ 2b6d6fe08291807dd41cd6ce960977d9  gcc/testsuite/gfortran.fortran-torture/compile/defined_type_1.f90
+ 0b86723fc4116b9c5a4b2cee24d8c9ff  gcc/testsuite/gfortran.fortran-torture/compile/defined_type_2.f90
+ f3a38a670c2c7605a2980f3bfc56ef14  gcc/testsuite/gfortran.fortran-torture/compile/defined_type_3.f90
  032d6b2491065b6b6470ebec375bfe0a  gcc/testsuite/gfortran.fortran-torture/compile/do_1.f90
  dc29bbc52186e55755f6f1f337f406a4  gcc/testsuite/gfortran.fortran-torture/compile/dummyfn.f90
+ d41d8cd98f00b204e9800998ecf8427e  gcc/testsuite/gfortran.fortran-torture/compile/empty.f90
  4c258bc39228e86793ad95c3923fcfdd  gcc/testsuite/gfortran.fortran-torture/compile/empty_interface_1.f90
  748d960a121dcac69ef600c8bb324620  gcc/testsuite/gfortran.fortran-torture/compile/emptyif.f90
+ 15d9010af89cbc6f8117afebfc0666ef  gcc/testsuite/gfortran.fortran-torture/compile/enum_1.f90
  79dabd6ebc6797ac54c557790956f6f2  gcc/testsuite/gfortran.fortran-torture/compile/fnresvar.f90
  a64fc0d523f699c2975df76560185a51  gcc/testsuite/gfortran.fortran-torture/compile/gen_interf.f90
  be99b8777a343a29919d27d328e75169  gcc/testsuite/gfortran.fortran-torture/compile/implicit.f90
*************** f490e694b59104dd03f0c8a253b5d6cf  gcc/te
*** 18675,18680 ****
--- 18510,18516 ----
  a4007eed3efba0125bcf797792cd3e5e  gcc/testsuite/gfortran.fortran-torture/compile/noncontinuation_1.f
  6ed3cf4eaf6247dc7dcf33e32bee0f62  gcc/testsuite/gfortran.fortran-torture/compile/parameter_1.f90
  cef7fda06429875db1e236b1b8b0e693  gcc/testsuite/gfortran.fortran-torture/compile/parameter_2.f90
+ 275b09a1267290ddf06dfeed6646e987  gcc/testsuite/gfortran.fortran-torture/compile/pr24136.f
  7602f8cc2d0ebd2bf0bb974069a764e0  gcc/testsuite/gfortran.fortran-torture/compile/shape_reshape.f90
  d5ee9d72b3b02f47b393934ca0c89627  gcc/testsuite/gfortran.fortran-torture/compile/stoppause.f90
  0be215e4a53f9370c44eaa153bf1ed6e  gcc/testsuite/gfortran.fortran-torture/compile/strparm_1.f90
*************** e25ff9fa4944309fa0b43e64bc42e976  gcc/te
*** 18723,18728 ****
--- 18559,18565 ----
  ef8d6bb021bb240908ae614c67fe1db9  gcc/testsuite/gfortran.fortran-torture/execute/emptyif.f90
  f4ffc01d5df41a17fea5266d2eaacc2d  gcc/testsuite/gfortran.fortran-torture/execute/entry_1.f90
  d248fa7dddb1805a0fd21ab10542722a  gcc/testsuite/gfortran.fortran-torture/execute/entry_10.f90
+ 92d32267cbc00a5bf0963988c37aa8fe  gcc/testsuite/gfortran.fortran-torture/execute/entry_11.f90
  8a169f9861f03d1d496ab5cd7c24d29a  gcc/testsuite/gfortran.fortran-torture/execute/entry_2.f90
  0da710449afb281fd04dd22f24251482  gcc/testsuite/gfortran.fortran-torture/execute/entry_3.f90
  02bc8d360db773aea62cde70acf74529  gcc/testsuite/gfortran.fortran-torture/execute/entry_4.f90
*************** d248fa7dddb1805a0fd21ab10542722a  gcc/te
*** 18731,18742 ****
  9ebdf507ccfe0ab06ad461824776b790  gcc/testsuite/gfortran.fortran-torture/execute/entry_7.f90
  54e9ea5ae6c883be14200b1601f588e7  gcc/testsuite/gfortran.fortran-torture/execute/entry_8.f90
  51a6da13d9260e38a2c4736789563626  gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90
  42a641078f071973c4952980fe881f4e  gcc/testsuite/gfortran.fortran-torture/execute/equiv_1.f90
  7c1fe2e65bd6764a489dbf7e0b6435ef  gcc/testsuite/gfortran.fortran-torture/execute/equiv_2.f90
  afc90fd730d588915b9e0f3e68d4f3f0  gcc/testsuite/gfortran.fortran-torture/execute/equiv_3.f90
  3f7aad9ef2e32401c255424624a6d534  gcc/testsuite/gfortran.fortran-torture/execute/equiv_4.f90
  5468c314e679782b098df90704b52287  gcc/testsuite/gfortran.fortran-torture/execute/equiv_init_1.f90
! 72141e177016473bd24abe1b05bf54bb  gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
  e29ba4ef7327796599cfa794be5f281c  gcc/testsuite/gfortran.fortran-torture/execute/f2_edit_1.f90
  6f6d56288c39e4c068cbc93b2c642881  gcc/testsuite/gfortran.fortran-torture/execute/forall.f90
  906a73a3f92ed05efcd5b5d1be488fbd  gcc/testsuite/gfortran.fortran-torture/execute/forall_1.f90
--- 18568,18583 ----
  9ebdf507ccfe0ab06ad461824776b790  gcc/testsuite/gfortran.fortran-torture/execute/entry_7.f90
  54e9ea5ae6c883be14200b1601f588e7  gcc/testsuite/gfortran.fortran-torture/execute/entry_8.f90
  51a6da13d9260e38a2c4736789563626  gcc/testsuite/gfortran.fortran-torture/execute/entry_9.f90
+ 080ecfa318edb87bf0ce9aecdbaf0391  gcc/testsuite/gfortran.fortran-torture/execute/enum_1.f90
+ 2f871b1da9b674614c4e1ca075ebffac  gcc/testsuite/gfortran.fortran-torture/execute/enum_2.f90
+ 286e72553e650c4774c3a9278f897ea1  gcc/testsuite/gfortran.fortran-torture/execute/enum_3.f90
+ 056645b9bd407fd3dea6d8d13e5b259f  gcc/testsuite/gfortran.fortran-torture/execute/enum_4.f90
  42a641078f071973c4952980fe881f4e  gcc/testsuite/gfortran.fortran-torture/execute/equiv_1.f90
  7c1fe2e65bd6764a489dbf7e0b6435ef  gcc/testsuite/gfortran.fortran-torture/execute/equiv_2.f90
  afc90fd730d588915b9e0f3e68d4f3f0  gcc/testsuite/gfortran.fortran-torture/execute/equiv_3.f90
  3f7aad9ef2e32401c255424624a6d534  gcc/testsuite/gfortran.fortran-torture/execute/equiv_4.f90
  5468c314e679782b098df90704b52287  gcc/testsuite/gfortran.fortran-torture/execute/equiv_init_1.f90
! 041a76c38dabf1e222811509ae42a758  gcc/testsuite/gfortran.fortran-torture/execute/execute.exp
  e29ba4ef7327796599cfa794be5f281c  gcc/testsuite/gfortran.fortran-torture/execute/f2_edit_1.f90
  6f6d56288c39e4c068cbc93b2c642881  gcc/testsuite/gfortran.fortran-torture/execute/forall.f90
  906a73a3f92ed05efcd5b5d1be488fbd  gcc/testsuite/gfortran.fortran-torture/execute/forall_1.f90
*************** a1bf32e3034f8ae442331ac7fb24e1d5  gcc/te
*** 18756,18761 ****
--- 18597,18603 ----
  32edf1d006210088c2a8acb23fdae81d  gcc/testsuite/gfortran.fortran-torture/execute/inquire_2.f90
  58c651fb3ffe22a1eb818b1c37b56f1f  gcc/testsuite/gfortran.fortran-torture/execute/inquire_3.f90
  ecfbc5792be8146dc4180ddf82227b32  gcc/testsuite/gfortran.fortran-torture/execute/inquire_4.f90
+ cb4446d41f77e034910a573f87fd34c4  gcc/testsuite/gfortran.fortran-torture/execute/inquire_5.f90
  4e62bf0859394332d134e10d40b398f6  gcc/testsuite/gfortran.fortran-torture/execute/integer_select.f90
  56dae04ea5d5076cfc1b28905b5aa772  gcc/testsuite/gfortran.fortran-torture/execute/integer_select_1.f90
  3fcbfc408dd0207ced332d7b7960f27c  gcc/testsuite/gfortran.fortran-torture/execute/internal_write.f90
*************** ae40217bed30e1ba041b0ddce9f64348  gcc/te
*** 18830,18835 ****
--- 18672,18680 ----
  bf42a844d5392372f628d55dcd25a0ed  gcc/testsuite/gfortran.fortran-torture/execute/partparm.f90
  1b3c8103e577d6573dbb820adbe8d138  gcc/testsuite/gfortran.fortran-torture/execute/plusconst_1.f90
  240543a22e9182330b10db910c8569cc  gcc/testsuite/gfortran.fortran-torture/execute/power.f90
+ aa816d8f5ef5d24a6e170c281a0e6293  gcc/testsuite/gfortran.fortran-torture/execute/pr19269-1.f90
+ 594fbc7ad162e540f2bad75ec6d72c7e  gcc/testsuite/gfortran.fortran-torture/execute/pr23373-1.f90
+ cee22871b175d8dabd9e3488fa5fec75  gcc/testsuite/gfortran.fortran-torture/execute/pr23373-2.f90
  78df18b9400c1b2f401164418dc104c0  gcc/testsuite/gfortran.fortran-torture/execute/procarg.f90
  54b26651618ba6afa7aae0c3b8994e66  gcc/testsuite/gfortran.fortran-torture/execute/ptr.f90
  eae8dc541702830d5c63bf337333c15b  gcc/testsuite/gfortran.fortran-torture/execute/random_1.f90
*************** eae8dc541702830d5c63bf337333c15b  gcc/te
*** 18839,18844 ****
--- 18684,18691 ----
  63e101d84ac93b10d7fb272568c3da6f  gcc/testsuite/gfortran.fortran-torture/execute/read_null_string.f90
  ae6603961f751b81b00fdd411932f246  gcc/testsuite/gfortran.fortran-torture/execute/retarray.f90
  09ec49247f4f4175745fd200841e1112  gcc/testsuite/gfortran.fortran-torture/execute/retarray_2.f90
+ 782cc2188a40be9c05823726f5004872  gcc/testsuite/gfortran.fortran-torture/execute/save_1.f90
+ d9e7212ca2c8b61d299beec5e8b6e23b  gcc/testsuite/gfortran.fortran-torture/execute/save_2.f90
  b0d4bea247f90bad5b3e070067a952c1  gcc/testsuite/gfortran.fortran-torture/execute/scalarize.f90
  cbe630d093895dfc907df7134c9956a2  gcc/testsuite/gfortran.fortran-torture/execute/scalarize2.f90
  50f47fbaa1ba0e95584369952871d97e  gcc/testsuite/gfortran.fortran-torture/execute/scalarize3.f90
*************** d12068da26dea9491f04cfe03a0f20b9  gcc/te
*** 18875,18930 ****
  303d2ed346b5877c874e82c368c784ba  gcc/testsuite/gfortran.fortran-torture/execute/where_8.f90
  d67eed00ffebcafb164b4683c564d121  gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f90
  be634afd323491ebdde9405975234d0c  gcc/testsuite/gfortran.fortran-torture/execute/write_logical.f90
! 00a1b7e434c97a783c54556262ece46c  gcc/testsuite/lib/c-torture.exp
! 77fd09c8a0bab2e507d7549ff1e407c0  gcc/testsuite/lib/compat.exp
! d8270456fac4be6a3812490017727d4c  gcc/testsuite/lib/copy-file.exp
! 54afae923e7da5a4d95b970aebc134ae  gcc/testsuite/lib/dg-pch.exp
! 0e980397ac5f9c5133916bcfa98d3347  gcc/testsuite/lib/file-format.exp
! 029b3dfa398416fb49ad9350da773349  gcc/testsuite/lib/fortran-torture.exp
! 24a7ac64ddfadbdc83e2ce7f02173040  gcc/testsuite/lib/g++-dg.exp
! bc99033f0801300b16237bee3dd328fe  gcc/testsuite/lib/g++.exp
! 9a8676a301f90e2a432af6cce4f65db9  gcc/testsuite/lib/gcc-defs.exp
! 2b14ebbadc8e1ec238f82a7e089b4ee4  gcc/testsuite/lib/gcc-dg.exp
! 079c573944f0ab529436a0c870fd7657  gcc/testsuite/lib/gcc.exp
! 400b24a52cc57f3f76abc7ff2aae506e  gcc/testsuite/lib/gcov.exp
! d51971876c8fe45eac0784b5db39334f  gcc/testsuite/lib/gfortran-dg.exp
! 4448b356fcf3cbe9c3846a115fc560c8  gcc/testsuite/lib/gfortran.exp
! c0088686e90dd155a799d6b7f957cac3  gcc/testsuite/lib/mike-g++.exp
! 3daa2cd18809330c70d78e1a9fe5ca51  gcc/testsuite/lib/mike-gcc.exp
! 9523d56141311736863ec362b5fc5659  gcc/testsuite/lib/objc-dg.exp
! 9d383a5da9297846ee333dc02c6f6e4a  gcc/testsuite/lib/objc-torture.exp
! e7c058614a76a6a4022661cac0e3a0b7  gcc/testsuite/lib/objc.exp
! 70fd8be249e729a6bd63bf3a91703cae  gcc/testsuite/lib/profopt.exp
! e862e52b520aedebcd4f9c1f0be15d15  gcc/testsuite/lib/prune.exp
! b75f70e688d2420c6e018dfec93fb805  gcc/testsuite/lib/scanasm.exp
! a15abbb4adc7f0811e295eb23eb9f164  gcc/testsuite/lib/scantree.exp
! 940f48d861d40a7ffe3ed9c727774e93  gcc/testsuite/lib/target-libpath.exp
! 042b1403e9b583920bf7a1223b0c709f  gcc/testsuite/lib/target-supports-dg.exp
! 1fa5b97ee18a03092769a7d5b4dba69c  gcc/testsuite/lib/target-supports.exp
! 26e91887cef2664b6e275a1c83457b5f  gcc/testsuite/lib/treelang-dg.exp
! 00a110bd27997e3cf3b92943bd924fa3  gcc/testsuite/lib/treelang.exp
! 6a9a7dd1080d2483a26b06b447153f86  gcc/testsuite/lib/wrapper.exp
  3b8fd8c2ee22e0099d80e4fa89e2befc  gcc/testsuite/objc.dg/alias.m
  a1be9e5501b4997f5240469850890333  gcc/testsuite/objc.dg/anon-1.m
  78ba3f1e49ecbf82a9c24165dae0c507  gcc/testsuite/objc.dg/bitfield-1.m
  49675f4f06303a402845baa4ba77c171  gcc/testsuite/objc.dg/bitfield-2.m
  1be372102b55990318c21d0b244f840b  gcc/testsuite/objc.dg/bitfield-3.m
  61e7138c23da7374ed5112117f28b6f2  gcc/testsuite/objc.dg/bitfield-4.m
  1c24ac889eef3749cd9397383ac17ed3  gcc/testsuite/objc.dg/call-super-1.m
  abf43990194997cd63c77e7e622eaef5  gcc/testsuite/objc.dg/call-super-2.m
  cd83986f81e84d76c36942eb580590be  gcc/testsuite/objc.dg/call-super-3.m
  d631117350445f6fb36053f1c97b7cbf  gcc/testsuite/objc.dg/category-1.m
  e14f8ce7c1cf0a9aa852e809639149ff  gcc/testsuite/objc.dg/class-1.m
  d784ebcfd5db343ad8531e94a46f8eae  gcc/testsuite/objc.dg/class-2.m
! 02ce8e0ba82ba1133faa43d3a834cd8a  gcc/testsuite/objc.dg/class-protocol-1.m
! bd8e85515d3a7bdabefec148b5329b79  gcc/testsuite/objc.dg/comp-types-1.m
  c8326ae2bb2884e806cd4cc176d05d43  gcc/testsuite/objc.dg/comp-types-2.m
  7407b86bd67a0dd84bd0f73b4e4da009  gcc/testsuite/objc.dg/comp-types-3.m
  199316103e184c26eb6c15eedc25d23d  gcc/testsuite/objc.dg/comp-types-4.m
! 83ab486d0cad3a10acc0c565219f027f  gcc/testsuite/objc.dg/comp-types-5.m
! 934ee49848b122ad7a2a77355b260571  gcc/testsuite/objc.dg/comp-types-6.m
  ff192eb53975468b7f7bfd43698d8b9e  gcc/testsuite/objc.dg/comp-types-7.m
  7956ed2705023777b0d68e104790ebec  gcc/testsuite/objc.dg/const-str-1.m
  1ce94eed7fce057599c1e1a9456ba608  gcc/testsuite/objc.dg/const-str-2.m
  6a50f3f71cf41bbdcd0e9a0b04df0684  gcc/testsuite/objc.dg/const-str-3.m
  1bcd6b46dbd2ac43660f1eb4cb5363ee  gcc/testsuite/objc.dg/const-str-4.m
--- 18722,18915 ----
  303d2ed346b5877c874e82c368c784ba  gcc/testsuite/gfortran.fortran-torture/execute/where_8.f90
  d67eed00ffebcafb164b4683c564d121  gcc/testsuite/gfortran.fortran-torture/execute/write_a_1.f90
  be634afd323491ebdde9405975234d0c  gcc/testsuite/gfortran.fortran-torture/execute/write_logical.f90
! 8815e0dfa095686c089408952da63d2c  gcc/testsuite/lib/c-torture.exp
! 78116525ae3d662d5ae2cd728a1a423e  gcc/testsuite/lib/compat.exp
! 5a4dd1e98d131d890b0c255e976b5053  gcc/testsuite/lib/copy-file.exp
! d66c26116c06f751d68a5d28912feacc  gcc/testsuite/lib/dg-pch.exp
! 5250a1407d3ad5d7cd60d726c32a06ee  gcc/testsuite/lib/file-format.exp
! 7227545ed97eb4fc9813e25d20c12568  gcc/testsuite/lib/fortran-torture.exp
! 04a10506a83b7041eeb7fc5a07c46e2e  gcc/testsuite/lib/g++-dg.exp
! 88d949596cbf21f936eda83ec95acb63  gcc/testsuite/lib/g++.exp
! cc849226a30cbcd5f57d18718dff5cd0  gcc/testsuite/lib/gcc-defs.exp
! 8779a6a32e1414fa87849e1885fd21d0  gcc/testsuite/lib/gcc-dg.exp
! 06d11839fd76b6fde78df0f604681610  gcc/testsuite/lib/gcc.exp
! 4e5f631b256c7a433e374c7f03a48e83  gcc/testsuite/lib/gcov.exp
! f0dd9173a87d2fbbda9de545f25f00d6  gcc/testsuite/lib/gfortran-dg.exp
! c90634cf4d71192dc25d3e145268bcb1  gcc/testsuite/lib/gfortran.exp
! d9bb0bf4cb184b4ee2b266af68d6046b  gcc/testsuite/lib/mike-g++.exp
! 0489cf99fe71d6f304006e151bc81436  gcc/testsuite/lib/mike-gcc.exp
! 6089fe148e9882d10a959d270ba27dff  gcc/testsuite/lib/obj-c++-dg.exp
! 3b1a466c0c2d2d4c3f2a28190e86fa5d  gcc/testsuite/lib/obj-c++.exp
! ca8ad2fd26b091b024c7af27439410e0  gcc/testsuite/lib/objc-dg.exp
! 4adc566edc3573000fed730fc2268c1f  gcc/testsuite/lib/objc-torture.exp
! a6fecee608868b0584d0d623e0a20829  gcc/testsuite/lib/objc.exp
! b55f70769ed1597404ff664696c356b4  gcc/testsuite/lib/profopt.exp
! 9dff6866a96894b8e6b71da5699c396c  gcc/testsuite/lib/prune.exp
! 8738d01ac18be22bc9ea072c7ce435f5  gcc/testsuite/lib/scanasm.exp
! 092a3348c114986117be67546cc26a63  gcc/testsuite/lib/scandump.exp
! 384e873f6a14b951bb7739813de5fafc  gcc/testsuite/lib/scanipa.exp
! d3550babdd957b1fc2bc538b2abd4d38  gcc/testsuite/lib/scantree.exp
! 4093876a7f73d1ebac7226aef0ded165  gcc/testsuite/lib/target-libpath.exp
! 91803e3d0fa23055a8aef14ff8db4882  gcc/testsuite/lib/target-supports-dg.exp
! b83d09875ba398496a50c118fc370673  gcc/testsuite/lib/target-supports.exp
! 2a32d515a44c0d5bd437fcd104aecc0a  gcc/testsuite/lib/treelang-dg.exp
! ea476709284dbda092ed129ce2a8059d  gcc/testsuite/lib/treelang.exp
! 1f06c6bf8a9b959a86d01f94872700d6  gcc/testsuite/lib/wrapper.exp
! 127bbc9d03fd6ab08e139cd60ab62c09  gcc/testsuite/obj-c++.dg/basic.mm
! 57fb2bacb2e6cda84cbd98e229ff27b9  gcc/testsuite/obj-c++.dg/bitfield-1.mm
! 032984f40c644c34284fdb6cd2e16352  gcc/testsuite/obj-c++.dg/bitfield-2.mm
! 6a392cf01e261b8d61ccf7859462ceeb  gcc/testsuite/obj-c++.dg/bitfield-3.mm
! 134213564829beab1573622be7a6ff16  gcc/testsuite/obj-c++.dg/bitfield-4.mm
! d9f96f9f3306018ad08cef55bc5349f7  gcc/testsuite/obj-c++.dg/bitfield-5.mm
! b18324b044b6b695f4718eef09742607  gcc/testsuite/obj-c++.dg/class-protocol-1.mm
! a5daa4cd352a54ca8dddf5d18efb629b  gcc/testsuite/obj-c++.dg/comp-types-1.mm
! fcbd6d34fab967afc68044cbc6bebd90  gcc/testsuite/obj-c++.dg/comp-types-10.mm
! bd3e293035b634876686f52f4bca903a  gcc/testsuite/obj-c++.dg/comp-types-11.mm
! 4a5302e58615dfac1e5aa97df4747efd  gcc/testsuite/obj-c++.dg/comp-types-12.mm
! eadf0278caf93cd03f14c44e63ca99ab  gcc/testsuite/obj-c++.dg/comp-types-2.mm
! 5c0756aaa37860c8ae5359b42b237f32  gcc/testsuite/obj-c++.dg/comp-types-3.mm
! e6c2549d74aa54ce001fb39b8bd77572  gcc/testsuite/obj-c++.dg/comp-types-4.mm
! f2fc36166a21e21a4a4bc94e5da78028  gcc/testsuite/obj-c++.dg/comp-types-5.mm
! 894aeb71c71db100059dd6acfd69f3cc  gcc/testsuite/obj-c++.dg/comp-types-6.mm
! ac0b35dcfcf72480c040349b2b8a874b  gcc/testsuite/obj-c++.dg/comp-types-7.mm
! 9ce88bec8d5f2bfce2db6bd95858e9ee  gcc/testsuite/obj-c++.dg/comp-types-8.mm
! 1843142e897b823690e98b835d1d39b4  gcc/testsuite/obj-c++.dg/comp-types-9.mm
! 7956ed2705023777b0d68e104790ebec  gcc/testsuite/obj-c++.dg/const-str-1.mm
! fc24f476ce5e7ef0216f5a2a31dca825  gcc/testsuite/obj-c++.dg/const-str-10.mm
! fef71d1616e3bb71bdbaa9bce6f07ec0  gcc/testsuite/obj-c++.dg/const-str-11.mm
! 1ce94eed7fce057599c1e1a9456ba608  gcc/testsuite/obj-c++.dg/const-str-2.mm
! 6a50f3f71cf41bbdcd0e9a0b04df0684  gcc/testsuite/obj-c++.dg/const-str-3.mm
! 1542379b5bd4500a7b8dd548c82350c3  gcc/testsuite/obj-c++.dg/const-str-4.mm
! bbac855c2d8cf350ef4f369f315f1657  gcc/testsuite/obj-c++.dg/const-str-5.mm
! 24a5bd21c3bb3a08c13834250039d746  gcc/testsuite/obj-c++.dg/const-str-6.mm
! 5bdc434a83e0b999035fb3eefc7b9367  gcc/testsuite/obj-c++.dg/const-str-7.mm
! 50fc79560005c6450b51a29f5b9145a7  gcc/testsuite/obj-c++.dg/const-str-8.mm
! 8b4d07b883b2e1bcfb583df4bb843cc3  gcc/testsuite/obj-c++.dg/const-str-9.mm
! 7f4674fcf09a64d078914dbeb3f70be9  gcc/testsuite/obj-c++.dg/cxx-class-1.mm
! edc4d1949e0bf0b126f7d43c296603f6  gcc/testsuite/obj-c++.dg/cxx-ivars-1.mm
! eff522a5cf31831518a401c8f1cf5a13  gcc/testsuite/obj-c++.dg/cxx-ivars-2.mm
! 0991f8f7916d3d788961406481f24dd1  gcc/testsuite/obj-c++.dg/cxx-ivars-3.mm
! 2cf2799fabbad73600416cc39da09cd2  gcc/testsuite/obj-c++.dg/cxx-scope-1.mm
! 8bbda9cc86a3bcc1f1cea9c0f334307b  gcc/testsuite/obj-c++.dg/cxx-scope-2.mm
! a766f9984e30125ed65a4569cd6054ac  gcc/testsuite/obj-c++.dg/defs.mm
! 360e4e482f1d76d3d5536b94e4599427  gcc/testsuite/obj-c++.dg/dg.exp
! ff09985655f304be699aaf3b8ac7d0c6  gcc/testsuite/obj-c++.dg/empty-private-1.mm
! 67b66a1a73e6ad7b0f292c0aeef62418  gcc/testsuite/obj-c++.dg/encode-1.mm
! ba1f2ad68c635bb5041fab780cc6a85a  gcc/testsuite/obj-c++.dg/encode-2.mm
! fb8a4e585ce20b2fb64e5c19ab3d4433  gcc/testsuite/obj-c++.dg/encode-3.mm
! a3b6de460d500718f042bed33828dfb0  gcc/testsuite/obj-c++.dg/encode-4.mm
! 2f9ac5f124053472c1a6176dbe540754  gcc/testsuite/obj-c++.dg/encode-5.mm
! 00a302ff6653ef3507da883b48f13799  gcc/testsuite/obj-c++.dg/encode-6.mm
! 9b1f4a8b5280d2a7ec591a74c0d1ca0d  gcc/testsuite/obj-c++.dg/encode-7.mm
! 0db2caed58518d9b817da21898b345dc  gcc/testsuite/obj-c++.dg/encode-8.mm
! ef56cc53818b0b645388355f927747ae  gcc/testsuite/obj-c++.dg/except-1.mm
! f4087f18e0094d7a210e142256c41875  gcc/testsuite/obj-c++.dg/extern-c-1.mm
! e7fb320f22d720d1153b22a297d68332  gcc/testsuite/obj-c++.dg/extra-semi.mm
! b68d4f57d7c7b40f5a0cac24d0fb7f84  gcc/testsuite/obj-c++.dg/fix-and-continue-2.mm
! eab1faf4c1cef2d8e28cb203efc366fc  gcc/testsuite/obj-c++.dg/gnu-runtime-1.mm
! b94882af21e5c0fa5c9b1c215c9963dd  gcc/testsuite/obj-c++.dg/gnu-runtime-2.mm
! 2b6def41ba33e1e09d40a7fc52545d75  gcc/testsuite/obj-c++.dg/gnu-runtime-3.mm
! 7aca21c6e5454756b6620d39651c19c5  gcc/testsuite/obj-c++.dg/isa-field-1.mm
! 80a5e0e86ec3c079cdbdca08983bdec0  gcc/testsuite/obj-c++.dg/ivar-list-semi.mm
! 6c851e7b3193e56de0b458f8c6227446  gcc/testsuite/obj-c++.dg/layout-1.mm
! 3ad61d3c5f99d04d8de0d3eb46c83261  gcc/testsuite/obj-c++.dg/local-decl-1.mm
! 237edc221dc0cb73012b6f771c679099  gcc/testsuite/obj-c++.dg/lookup-1.mm
! 41ba6608f9a0c576b8fb305a36919a54  gcc/testsuite/obj-c++.dg/lookup-2.mm
! e5590a2a3f8b22c8f340429d19038365  gcc/testsuite/obj-c++.dg/method-1.mm
! c836a5859424a8fb8a975c0022cb723f  gcc/testsuite/obj-c++.dg/method-10.mm
! c1c6ac69f9fb8fa359b8781a4519a01a  gcc/testsuite/obj-c++.dg/method-11.mm
! 98d2a14f99faa28dcd7aa78305f0989a  gcc/testsuite/obj-c++.dg/method-12.mm
! caf0ee4573cbb496f40289725202f92c  gcc/testsuite/obj-c++.dg/method-13.mm
! 172164daa5b2292983d23e0e5d5a94eb  gcc/testsuite/obj-c++.dg/method-14.mm
! c71894d868f58c8c5042254d2a579856  gcc/testsuite/obj-c++.dg/method-15.mm
! 93b11d4a45de802289a7b7ab96cedd8b  gcc/testsuite/obj-c++.dg/method-16.mm
! beee3a3803902eae9abe535d4a6c3eeb  gcc/testsuite/obj-c++.dg/method-17.mm
! 956a4f445f1949a644580e9b460afe4b  gcc/testsuite/obj-c++.dg/method-18.mm
! 6a5b91128634b7fc71f8c0894e128d2c  gcc/testsuite/obj-c++.dg/method-19.mm
! d58599f557f1af2b4ee8e622d2cee4b3  gcc/testsuite/obj-c++.dg/method-2.mm
! c0e3440d87797991072d80bcf576ef1f  gcc/testsuite/obj-c++.dg/method-20.mm
! db4e4d42e61653f5422cda8eec5aa1c2  gcc/testsuite/obj-c++.dg/method-21.mm
! 281137caa8036d7e4160c7b9c449b6e4  gcc/testsuite/obj-c++.dg/method-3.mm
! 9fc47211d6352141993769c8d0933b76  gcc/testsuite/obj-c++.dg/method-4.mm
! 8dca1a88a72c3e78b91a92f1aee5db48  gcc/testsuite/obj-c++.dg/method-5.mm
! 863303cf0676d58af8e44b921e6bee90  gcc/testsuite/obj-c++.dg/method-6.mm
! 3f26cbabf60600595807159a6fd46e3a  gcc/testsuite/obj-c++.dg/method-7.mm
! 772288a3e0aea75f53b9b2d55ce9ced1  gcc/testsuite/obj-c++.dg/method-8.mm
! 33715216da20ae929f7de21cf363aa06  gcc/testsuite/obj-c++.dg/method-9.mm
! 04b68702c98df44203839f41455667dc  gcc/testsuite/obj-c++.dg/no-extra-load.mm
! 1a4179dd6a0ea2b3668757d27f79ca2b  gcc/testsuite/obj-c++.dg/objc-gc-3.mm
! bd3b42583db47ebcc7fac037f85f00ed  gcc/testsuite/obj-c++.dg/overload-1.mm
! c1d24514e97259a51ce837ee3271bc0b  gcc/testsuite/obj-c++.dg/pragma-1.mm
! 05fd50ce3311545c4dfe190b89320967  gcc/testsuite/obj-c++.dg/pragma-2.mm
! 632857e225c44e8402a3c277d5e16578  gcc/testsuite/obj-c++.dg/private-1.mm
! 971a7207caabc621fb734fc97253f8ed  gcc/testsuite/obj-c++.dg/private-2.mm
! 4d4bd4a6e94f7ca1dcbd85c5c66e8f14  gcc/testsuite/obj-c++.dg/proto-lossage-1.mm
! f0b9884c1de6674b724f6ea9b7c54270  gcc/testsuite/obj-c++.dg/proto-lossage-2.mm
! 4f83624cd4815311ebcf83e52d935a9b  gcc/testsuite/obj-c++.dg/proto-lossage-3.mm
! 7b7948a080e57d7b003f53d6599c0353  gcc/testsuite/obj-c++.dg/proto-lossage-4.mm
! 40b981421154ac96e17299bce5569949  gcc/testsuite/obj-c++.dg/proto-lossage-5.mm
! fd29bc4e26ebfbde2219d16bcd57ff44  gcc/testsuite/obj-c++.dg/proto-lossage-6.mm
! 9752c20c19428d868b3e2fe3f7f7140f  gcc/testsuite/obj-c++.dg/proto-qual-1.mm
! 927ca69b7262463be6abc9eeb9126a0d  gcc/testsuite/obj-c++.dg/qual-types-1.mm
! 1a1c40979049410f20a8586a0ba7d7bd  gcc/testsuite/obj-c++.dg/selector-1.mm
! a03725272990e84f2869b60defe5ac27  gcc/testsuite/obj-c++.dg/selector-2.mm
! 2c926d8be13c99e0ac12b5736a3d98b6  gcc/testsuite/obj-c++.dg/selector-3.mm
! 72d7d0cb14cd29f3a8a1147573720da3  gcc/testsuite/obj-c++.dg/selector-4.mm
! 4f99ef7f55f6e4eb747974d3fd9747ec  gcc/testsuite/obj-c++.dg/selector-5.mm
! c9626ed5af2c7ed10e5901e35207dfe4  gcc/testsuite/obj-c++.dg/selector-6.mm
! 9ffa53fe9cd18e75db15fac4c20ab1bd  gcc/testsuite/obj-c++.dg/stubify-1.mm
! b207a6ebe8a4e87c3aeca994806ff43b  gcc/testsuite/obj-c++.dg/stubify-2.mm
! bc9aa7712b120aebc943581aa15c9c31  gcc/testsuite/obj-c++.dg/super-class-1.mm
! 1a6b04e406f4b9ed4b0295b5673e71d6  gcc/testsuite/obj-c++.dg/super-class-2.mm
! 5f7cf7eb1290cd0ac7cc810aca461fcb  gcc/testsuite/obj-c++.dg/super-dealloc-1.mm
! 43c780cbecdb5565a2bda8b0795d5cf8  gcc/testsuite/obj-c++.dg/super-dealloc-2.mm
! 30f971d2089464a55a0f4da33eca3c3d  gcc/testsuite/obj-c++.dg/template-1.mm
! 3a6ca2f8e7c1bd1db697e25fcd733e81  gcc/testsuite/obj-c++.dg/template-2.mm
! 528382987fe9dc8545552b212f7e7dd2  gcc/testsuite/obj-c++.dg/template-3.mm
! d76159162d3cb5eb7167d877ce298aea  gcc/testsuite/obj-c++.dg/template-4.mm
! 16c84b8dac3e603d47b441ebc558a515  gcc/testsuite/obj-c++.dg/template-5.mm
! 0bdbca560ce8a34081b447e4651b483d  gcc/testsuite/obj-c++.dg/template-6.mm
! be651162b8810cb9582734fdbf97dbce  gcc/testsuite/obj-c++.dg/try-catch-1.mm
! 49889360a17310a94a0d85c87ca03271  gcc/testsuite/obj-c++.dg/try-catch-10.mm
! ca234d2fc9426cbcf8cc137f56fb29ae  gcc/testsuite/obj-c++.dg/try-catch-11.mm
! 165a4320f73ece122a77cefcaf14a2fa  gcc/testsuite/obj-c++.dg/try-catch-2.mm
! ae73e5288191ebf470684cc792732b10  gcc/testsuite/obj-c++.dg/try-catch-3.mm
! ab26c644da07ff6820be7567e0d98660  gcc/testsuite/obj-c++.dg/try-catch-4.mm
! f80dc47b629cb94d0cd311a6a7f315f1  gcc/testsuite/obj-c++.dg/try-catch-5.mm
! f4f1fe6c960ffa81d0cccc1460f1b58a  gcc/testsuite/obj-c++.dg/try-catch-6.mm
! 462325a96e5f5d00468b971bbfaf34f1  gcc/testsuite/obj-c++.dg/try-catch-7.mm
! 931a9479539418f04c0f496471292be1  gcc/testsuite/obj-c++.dg/try-catch-8.mm
! 60e3600086fcaf8723cd67b307833309  gcc/testsuite/obj-c++.dg/try-catch-9.mm
! 058d590ce01326d234253b8bfed1ac4e  gcc/testsuite/obj-c++.dg/typedef-alias-1.mm
! c772995ff9bc8013a6893182686d19f7  gcc/testsuite/obj-c++.dg/va-meth-1.mm
  3b8fd8c2ee22e0099d80e4fa89e2befc  gcc/testsuite/objc.dg/alias.m
  a1be9e5501b4997f5240469850890333  gcc/testsuite/objc.dg/anon-1.m
  78ba3f1e49ecbf82a9c24165dae0c507  gcc/testsuite/objc.dg/bitfield-1.m
  49675f4f06303a402845baa4ba77c171  gcc/testsuite/objc.dg/bitfield-2.m
  1be372102b55990318c21d0b244f840b  gcc/testsuite/objc.dg/bitfield-3.m
  61e7138c23da7374ed5112117f28b6f2  gcc/testsuite/objc.dg/bitfield-4.m
+ 1bed3599150a6f94cb85c282e93a2776  gcc/testsuite/objc.dg/bitfield-5.m
  1c24ac889eef3749cd9397383ac17ed3  gcc/testsuite/objc.dg/call-super-1.m
  abf43990194997cd63c77e7e622eaef5  gcc/testsuite/objc.dg/call-super-2.m
  cd83986f81e84d76c36942eb580590be  gcc/testsuite/objc.dg/call-super-3.m
  d631117350445f6fb36053f1c97b7cbf  gcc/testsuite/objc.dg/category-1.m
  e14f8ce7c1cf0a9aa852e809639149ff  gcc/testsuite/objc.dg/class-1.m
  d784ebcfd5db343ad8531e94a46f8eae  gcc/testsuite/objc.dg/class-2.m
! 0c46ab551bf471e8e3733a2614da22a9  gcc/testsuite/objc.dg/class-protocol-1.m
! e56b01a01c0b2a840b4c7861c095d3ca  gcc/testsuite/objc.dg/comp-types-1.m
! bd3e293035b634876686f52f4bca903a  gcc/testsuite/objc.dg/comp-types-10.m
! 4a5302e58615dfac1e5aa97df4747efd  gcc/testsuite/objc.dg/comp-types-11.m
  c8326ae2bb2884e806cd4cc176d05d43  gcc/testsuite/objc.dg/comp-types-2.m
  7407b86bd67a0dd84bd0f73b4e4da009  gcc/testsuite/objc.dg/comp-types-3.m
  199316103e184c26eb6c15eedc25d23d  gcc/testsuite/objc.dg/comp-types-4.m
! 8e113dd70a1da280170f54eda8c858d1  gcc/testsuite/objc.dg/comp-types-5.m
! ac0b35dcfcf72480c040349b2b8a874b  gcc/testsuite/objc.dg/comp-types-6.m
  ff192eb53975468b7f7bfd43698d8b9e  gcc/testsuite/objc.dg/comp-types-7.m
+ a0ab44df3d62ecb4c161f1393a7ea4c7  gcc/testsuite/objc.dg/comp-types-8.m
+ fcbd6d34fab967afc68044cbc6bebd90  gcc/testsuite/objc.dg/comp-types-9.m
  7956ed2705023777b0d68e104790ebec  gcc/testsuite/objc.dg/const-str-1.m
+ fc24f476ce5e7ef0216f5a2a31dca825  gcc/testsuite/objc.dg/const-str-10.m
+ fef71d1616e3bb71bdbaa9bce6f07ec0  gcc/testsuite/objc.dg/const-str-11.m
  1ce94eed7fce057599c1e1a9456ba608  gcc/testsuite/objc.dg/const-str-2.m
  6a50f3f71cf41bbdcd0e9a0b04df0684  gcc/testsuite/objc.dg/const-str-3.m
  1bcd6b46dbd2ac43660f1eb4cb5363ee  gcc/testsuite/objc.dg/const-str-4.m
*************** bbac855c2d8cf350ef4f369f315f1657  gcc/te
*** 18936,18978 ****
  2e14a155dd27e09e146716eaefa227d5  gcc/testsuite/objc.dg/defs.m
  9fb0d0425de67ea8d0f344eebdeef247  gcc/testsuite/objc.dg/desig-init-1.m
  35496e95171f548a40cf930fea45d49f  gcc/testsuite/objc.dg/desig-init-2.m
! d334afd3379dd7cf955835b80e3720df  gcc/testsuite/objc.dg/dg.exp
  a12565c5f06257f835c09c8bb6522085  gcc/testsuite/objc.dg/encode-1.m
  c12c0338abec7667befc0ff72f62f05c  gcc/testsuite/objc.dg/encode-2.m
  ca8454136d5c683a4dd611b9f0c2e1cb  gcc/testsuite/objc.dg/encode-3.m
  5e347f3323974b2009b0aeac1fd83a2e  gcc/testsuite/objc.dg/encode-4.m
  9b1f4a8b5280d2a7ec591a74c0d1ca0d  gcc/testsuite/objc.dg/encode-5.m
  d87ff51e256fd6af045acce1094cbbfa  gcc/testsuite/objc.dg/fsyntax-only.m
  061d01fdea5bf45169a2c496a30f8ef4  gcc/testsuite/objc.dg/func-ptr-1.m
  223c5b08704c54ac38d49dc9f2b8d723  gcc/testsuite/objc.dg/func-ptr-2.m
  d77ab725798547aaec5fe03dfdd02495  gcc/testsuite/objc.dg/fwd-proto-1.m
  eab1faf4c1cef2d8e28cb203efc366fc  gcc/testsuite/objc.dg/gnu-runtime-1.m
  e48888b66789fae4562e3b5eaf6c8c76  gcc/testsuite/objc.dg/headers.m
  7f354935cc62656cf6faf10233b8a719  gcc/testsuite/objc.dg/id-1.m
! 3f1a95dedf82c1e5a0e6653a7175d383  gcc/testsuite/objc.dg/image-info.m
  ef027ba6682833a14c376b2fcb64444e  gcc/testsuite/objc.dg/local-decl-1.m
  ad6d4ecb4a2310dd80782a448b073bd9  gcc/testsuite/objc.dg/local-decl-2.m
  685a6ee5e2f3b80ff14b507e3986b729  gcc/testsuite/objc.dg/method-1.m
  c45c97b76d675ea697b68fb9bd8ded2a  gcc/testsuite/objc.dg/method-10.m
  d7d1b004c64569190a3a6e3a1adcfe2a  gcc/testsuite/objc.dg/method-11.m
  956a4f445f1949a644580e9b460afe4b  gcc/testsuite/objc.dg/method-12.m
  c56d69a0a005d96f4238a4bc5908eb47  gcc/testsuite/objc.dg/method-13.m
  c0e3440d87797991072d80bcf576ef1f  gcc/testsuite/objc.dg/method-14.m
  f00cd88add91ecc5ecc2a311e5080729  gcc/testsuite/objc.dg/method-2.m
  5b3115a64c7b7b3e18e5d5a8d232e96b  gcc/testsuite/objc.dg/method-3.m
  c1c6ac69f9fb8fa359b8781a4519a01a  gcc/testsuite/objc.dg/method-4.m
! 110bc97387c9f9bf71cbcfdd361115e0  gcc/testsuite/objc.dg/method-5.m
! da273c7f3acb8812243a023efda81ef9  gcc/testsuite/objc.dg/method-6.m
! 2ebbeaa351d7d360e014d26057d3bf24  gcc/testsuite/objc.dg/method-7.m
  172164daa5b2292983d23e0e5d5a94eb  gcc/testsuite/objc.dg/method-8.m
! b982436a7b43404f54f3fb49e38ce1be  gcc/testsuite/objc.dg/method-9.m
  69bacf80761635c545d87c91cc287531  gcc/testsuite/objc.dg/missing-proto-1.m
  56651a021e1eb7eb1a267d430fca0f45  gcc/testsuite/objc.dg/missing-proto-2.m
  c265ca7405bca937bc031a0042311641  gcc/testsuite/objc.dg/missing-proto-3.m
  fcd05c4c0185fc0b317bc6ea1cbc3895  gcc/testsuite/objc.dg/naming-1.m
  1c3d6df7bd4f4872b4e211cc67167170  gcc/testsuite/objc.dg/naming-2.m
! 36650bdcd2812d58767e0f538d4c4ffc  gcc/testsuite/objc.dg/nested-func-1.m
  6eed5537eae24ed6634c3706c12f2114  gcc/testsuite/objc.dg/param-1.m
  bbb9e9964ba890fd063f19dd542cd683  gcc/testsuite/objc.dg/private-1.m
  fe3ca05ce80d57fadc06b2f9fe6b480c  gcc/testsuite/objc.dg/private-2.m
  9f5c1032fa7bddb99dec5b812922cd6b  gcc/testsuite/objc.dg/proto-hier-1.m
--- 18921,18981 ----
  2e14a155dd27e09e146716eaefa227d5  gcc/testsuite/objc.dg/defs.m
  9fb0d0425de67ea8d0f344eebdeef247  gcc/testsuite/objc.dg/desig-init-1.m
  35496e95171f548a40cf930fea45d49f  gcc/testsuite/objc.dg/desig-init-2.m
! 90917730f1858ef7970e03b9be4c0f9d  gcc/testsuite/objc.dg/dg.exp
  a12565c5f06257f835c09c8bb6522085  gcc/testsuite/objc.dg/encode-1.m
  c12c0338abec7667befc0ff72f62f05c  gcc/testsuite/objc.dg/encode-2.m
  ca8454136d5c683a4dd611b9f0c2e1cb  gcc/testsuite/objc.dg/encode-3.m
  5e347f3323974b2009b0aeac1fd83a2e  gcc/testsuite/objc.dg/encode-4.m
  9b1f4a8b5280d2a7ec591a74c0d1ca0d  gcc/testsuite/objc.dg/encode-5.m
+ 74af5a1b1d3042d411a3a596d2611ff2  gcc/testsuite/objc.dg/encode-6.m
+ edbfca17600aa79dc7ea8e7975c68e88  gcc/testsuite/objc.dg/error-1.m
+ e7fb320f22d720d1153b22a297d68332  gcc/testsuite/objc.dg/extra-semi.m
+ 57b97ca41afb25e2059cabf7237776fd  gcc/testsuite/objc.dg/fix-and-continue-1.m
+ b68d4f57d7c7b40f5a0cac24d0fb7f84  gcc/testsuite/objc.dg/fix-and-continue-2.m
  d87ff51e256fd6af045acce1094cbbfa  gcc/testsuite/objc.dg/fsyntax-only.m
  061d01fdea5bf45169a2c496a30f8ef4  gcc/testsuite/objc.dg/func-ptr-1.m
  223c5b08704c54ac38d49dc9f2b8d723  gcc/testsuite/objc.dg/func-ptr-2.m
  d77ab725798547aaec5fe03dfdd02495  gcc/testsuite/objc.dg/fwd-proto-1.m
  eab1faf4c1cef2d8e28cb203efc366fc  gcc/testsuite/objc.dg/gnu-runtime-1.m
+ b94882af21e5c0fa5c9b1c215c9963dd  gcc/testsuite/objc.dg/gnu-runtime-2.m
  e48888b66789fae4562e3b5eaf6c8c76  gcc/testsuite/objc.dg/headers.m
  7f354935cc62656cf6faf10233b8a719  gcc/testsuite/objc.dg/id-1.m
! 855d607ac52b24750a5756be22833efe  gcc/testsuite/objc.dg/image-info.m
! 0bfae4f232fc9c8ea328dec7e4d3245a  gcc/testsuite/objc.dg/isa-field-1.m
! 1b3d3ea7043662443cb098be304a926a  gcc/testsuite/objc.dg/layout-1.m
  ef027ba6682833a14c376b2fcb64444e  gcc/testsuite/objc.dg/local-decl-1.m
  ad6d4ecb4a2310dd80782a448b073bd9  gcc/testsuite/objc.dg/local-decl-2.m
+ 6e68dd56ccfd8f69463c2c3e0954e504  gcc/testsuite/objc.dg/lookup-1.m
  685a6ee5e2f3b80ff14b507e3986b729  gcc/testsuite/objc.dg/method-1.m
  c45c97b76d675ea697b68fb9bd8ded2a  gcc/testsuite/objc.dg/method-10.m
  d7d1b004c64569190a3a6e3a1adcfe2a  gcc/testsuite/objc.dg/method-11.m
  956a4f445f1949a644580e9b460afe4b  gcc/testsuite/objc.dg/method-12.m
  c56d69a0a005d96f4238a4bc5908eb47  gcc/testsuite/objc.dg/method-13.m
  c0e3440d87797991072d80bcf576ef1f  gcc/testsuite/objc.dg/method-14.m
+ c0ce1b8e5a25cc72623e9e42dc6e7486  gcc/testsuite/objc.dg/method-15.m
+ 273f998d8039a4cd6a7d4287efa0dbf9  gcc/testsuite/objc.dg/method-16.m
+ a97792162726106bdfe2c136e5b2f9df  gcc/testsuite/objc.dg/method-17.m
+ f39d99ba8f6fd285831ea92f53205a4f  gcc/testsuite/objc.dg/method-18.m
+ 43593ba337c45b827c91a01cc0349008  gcc/testsuite/objc.dg/method-19.m
  f00cd88add91ecc5ecc2a311e5080729  gcc/testsuite/objc.dg/method-2.m
  5b3115a64c7b7b3e18e5d5a8d232e96b  gcc/testsuite/objc.dg/method-3.m
  c1c6ac69f9fb8fa359b8781a4519a01a  gcc/testsuite/objc.dg/method-4.m
! 80d8e031ae3fa04b284d26f585d556d6  gcc/testsuite/objc.dg/method-5.m
! e7ab854463d69d296f9f6637cd17593d  gcc/testsuite/objc.dg/method-6.m
! d3fc59b8195a5039f4307bde4ac892af  gcc/testsuite/objc.dg/method-7.m
  172164daa5b2292983d23e0e5d5a94eb  gcc/testsuite/objc.dg/method-8.m
! 2f2a9e254fb9d5555d4d04fb40062fd8  gcc/testsuite/objc.dg/method-9.m
  69bacf80761635c545d87c91cc287531  gcc/testsuite/objc.dg/missing-proto-1.m
  56651a021e1eb7eb1a267d430fca0f45  gcc/testsuite/objc.dg/missing-proto-2.m
  c265ca7405bca937bc031a0042311641  gcc/testsuite/objc.dg/missing-proto-3.m
  fcd05c4c0185fc0b317bc6ea1cbc3895  gcc/testsuite/objc.dg/naming-1.m
  1c3d6df7bd4f4872b4e211cc67167170  gcc/testsuite/objc.dg/naming-2.m
! eaeb35046708fd5256990371c85e1e09  gcc/testsuite/objc.dg/next-runtime-1.m
! 589c83541ccd22618136365114cce686  gcc/testsuite/objc.dg/no-extra-load.m
! 2df9b65e6355ba51e666327c000d4f67  gcc/testsuite/objc.dg/objc-fast-4.m
! 1a4179dd6a0ea2b3668757d27f79ca2b  gcc/testsuite/objc.dg/objc-gc-4.m
  6eed5537eae24ed6634c3706c12f2114  gcc/testsuite/objc.dg/param-1.m
+ 05fd50ce3311545c4dfe190b89320967  gcc/testsuite/objc.dg/pragma-1.m
  bbb9e9964ba890fd063f19dd542cd683  gcc/testsuite/objc.dg/private-1.m
  fe3ca05ce80d57fadc06b2f9fe6b480c  gcc/testsuite/objc.dg/private-2.m
  9f5c1032fa7bddb99dec5b812922cd6b  gcc/testsuite/objc.dg/proto-hier-1.m
*************** f6d6b7454f0d00e836de017738aaf087  gcc/te
*** 18981,18991 ****
  f0b9884c1de6674b724f6ea9b7c54270  gcc/testsuite/objc.dg/proto-lossage-2.m
  4f83624cd4815311ebcf83e52d935a9b  gcc/testsuite/objc.dg/proto-lossage-3.m
  fd0b48d499e8f102c91bce628ac9003b  gcc/testsuite/objc.dg/proto-lossage-4.m
  4517eb33c22dabb53af868d625e6d848  gcc/testsuite/objc.dg/proto-qual-1.m
  972f3e70da97a1cf924caf0139a388da  gcc/testsuite/objc.dg/selector-1.m
! d1968305e6adc643c173f8e091195361  gcc/testsuite/objc.dg/selector-2.m
  98f5fd366b95a44daadee7e065e871f8  gcc/testsuite/objc.dg/sizeof-1.m
! 731907b262562fa92455a34aeb875bab  gcc/testsuite/objc.dg/special/special.exp
  975de79e3c4224535252732e8954b34d  gcc/testsuite/objc.dg/special/unclaimed-category-1.h
  e29d9c9be3301aa71322ee54cc09d2f8  gcc/testsuite/objc.dg/special/unclaimed-category-1.m
  048774d808e0fc9c9202fdcb3cfd7b06  gcc/testsuite/objc.dg/special/unclaimed-category-1a.m
--- 18984,18998 ----
  f0b9884c1de6674b724f6ea9b7c54270  gcc/testsuite/objc.dg/proto-lossage-2.m
  4f83624cd4815311ebcf83e52d935a9b  gcc/testsuite/objc.dg/proto-lossage-3.m
  fd0b48d499e8f102c91bce628ac9003b  gcc/testsuite/objc.dg/proto-lossage-4.m
+ 40b981421154ac96e17299bce5569949  gcc/testsuite/objc.dg/proto-lossage-5.m
+ d26b84bd4fece35e5ae1ec9a7c6d4f15  gcc/testsuite/objc.dg/proto-lossage-6.m
  4517eb33c22dabb53af868d625e6d848  gcc/testsuite/objc.dg/proto-qual-1.m
  972f3e70da97a1cf924caf0139a388da  gcc/testsuite/objc.dg/selector-1.m
! a03725272990e84f2869b60defe5ac27  gcc/testsuite/objc.dg/selector-2.m
! 2c926d8be13c99e0ac12b5736a3d98b6  gcc/testsuite/objc.dg/selector-3.m
! 1a1c40979049410f20a8586a0ba7d7bd  gcc/testsuite/objc.dg/selector-4.m
  98f5fd366b95a44daadee7e065e871f8  gcc/testsuite/objc.dg/sizeof-1.m
! 626ffbad5122e788be1bb15ffefb382c  gcc/testsuite/objc.dg/special/special.exp
  975de79e3c4224535252732e8954b34d  gcc/testsuite/objc.dg/special/unclaimed-category-1.h
  e29d9c9be3301aa71322ee54cc09d2f8  gcc/testsuite/objc.dg/special/unclaimed-category-1.m
  048774d808e0fc9c9202fdcb3cfd7b06  gcc/testsuite/objc.dg/special/unclaimed-category-1a.m
*************** e29d9c9be3301aa71322ee54cc09d2f8  gcc/te
*** 18993,19011 ****
  44c850eb724ab694c1eea579910821bd  gcc/testsuite/objc.dg/static-1.m
  918ac91df06a71b4b96b8d4f94b841d9  gcc/testsuite/objc.dg/stret-1.m
  b152871d70e8883099db0b461252034f  gcc/testsuite/objc.dg/stret-2.m
  7e68d7fe39ddc6065769f26089764fd6  gcc/testsuite/objc.dg/super-class-1.m
  60b26516b7ca4fb595e5b80262d80505  gcc/testsuite/objc.dg/super-class-2.m
  99fd34048a19b3f02aa0a90acc3ca65d  gcc/testsuite/objc.dg/super-class-3.m
  1d19ec2511cf554463b5ee8cb3b14e74  gcc/testsuite/objc.dg/symtab-1.m
  6ecc53b62cd2c845865391faf03290aa  gcc/testsuite/objc.dg/sync-1.m
  b44fb7d1a255ac00bf4a879a7c682ac7  gcc/testsuite/objc.dg/try-catch-1.m
! d28cbe5367ea54b8219c5df72534e238  gcc/testsuite/objc.dg/try-catch-2.m
  f49944a012a2a91a8cc5e94fd87cf329  gcc/testsuite/objc.dg/try-catch-3.m
  51214bb792c2a1e650ea6fb65e91228a  gcc/testsuite/objc.dg/try-catch-4.m
  81f82195bf174990bd080fdaeaeb55d6  gcc/testsuite/objc.dg/try-catch-5.m
  f9f85e9811b2bdca45b0f29f19a26002  gcc/testsuite/objc.dg/type-size-1.m
  6bc6f6cb9f22e30fec7ba72d901afa3f  gcc/testsuite/objc.dg/type-size-2.m
  70fe644bd095fffd4c99cfc4fcd913bf  gcc/testsuite/objc.dg/type-stream-1.m
  d2d07c2ebcb90350a34d2a0a2a215530  gcc/testsuite/objc.dg/undeclared-selector.m
  3fade48c940710beea7cf2462c5bf227  gcc/testsuite/objc.dg/va-meth-1.m
  ad588be086756c7bce570ed5a28030b0  gcc/testsuite/objc.dg/volatile-1.m
--- 19000,19027 ----
  44c850eb724ab694c1eea579910821bd  gcc/testsuite/objc.dg/static-1.m
  918ac91df06a71b4b96b8d4f94b841d9  gcc/testsuite/objc.dg/stret-1.m
  b152871d70e8883099db0b461252034f  gcc/testsuite/objc.dg/stret-2.m
+ a0902ec641c536c1b938ec5541cb75fa  gcc/testsuite/objc.dg/stubify-1.m
+ 27a6cb216139648d634482e917720a20  gcc/testsuite/objc.dg/stubify-2.m
  7e68d7fe39ddc6065769f26089764fd6  gcc/testsuite/objc.dg/super-class-1.m
  60b26516b7ca4fb595e5b80262d80505  gcc/testsuite/objc.dg/super-class-2.m
  99fd34048a19b3f02aa0a90acc3ca65d  gcc/testsuite/objc.dg/super-class-3.m
+ 0ba28af5566df9d589d0f8fe95fa4389  gcc/testsuite/objc.dg/super-class-4.m
+ 5f7cf7eb1290cd0ac7cc810aca461fcb  gcc/testsuite/objc.dg/super-dealloc-1.m
+ 43c780cbecdb5565a2bda8b0795d5cf8  gcc/testsuite/objc.dg/super-dealloc-2.m
  1d19ec2511cf554463b5ee8cb3b14e74  gcc/testsuite/objc.dg/symtab-1.m
  6ecc53b62cd2c845865391faf03290aa  gcc/testsuite/objc.dg/sync-1.m
  b44fb7d1a255ac00bf4a879a7c682ac7  gcc/testsuite/objc.dg/try-catch-1.m
! ca234d2fc9426cbcf8cc137f56fb29ae  gcc/testsuite/objc.dg/try-catch-10.m
  f49944a012a2a91a8cc5e94fd87cf329  gcc/testsuite/objc.dg/try-catch-3.m
  51214bb792c2a1e650ea6fb65e91228a  gcc/testsuite/objc.dg/try-catch-4.m
  81f82195bf174990bd080fdaeaeb55d6  gcc/testsuite/objc.dg/try-catch-5.m
+ 94baabc85539ddbc144e14a6e1ed0627  gcc/testsuite/objc.dg/try-catch-6.m
+ 931a9479539418f04c0f496471292be1  gcc/testsuite/objc.dg/try-catch-7.m
+ 49889360a17310a94a0d85c87ca03271  gcc/testsuite/objc.dg/try-catch-9.m
  f9f85e9811b2bdca45b0f29f19a26002  gcc/testsuite/objc.dg/type-size-1.m
  6bc6f6cb9f22e30fec7ba72d901afa3f  gcc/testsuite/objc.dg/type-size-2.m
  70fe644bd095fffd4c99cfc4fcd913bf  gcc/testsuite/objc.dg/type-stream-1.m
+ 058d590ce01326d234253b8bfed1ac4e  gcc/testsuite/objc.dg/typedef-alias-1.m
  d2d07c2ebcb90350a34d2a0a2a215530  gcc/testsuite/objc.dg/undeclared-selector.m
  3fade48c940710beea7cf2462c5bf227  gcc/testsuite/objc.dg/va-meth-1.m
  ad588be086756c7bce570ed5a28030b0  gcc/testsuite/objc.dg/volatile-1.m
*************** b57a70e439d632d14a0304bd8e072792  gcc/te
*** 19014,19021 ****
  dc152a112ab02327dad6ca23a9256151  gcc/testsuite/objc.dg/zero-link-2.m
  999202351e5d8f0921e297ed37e27905  gcc/testsuite/objc.dg/zero-link-3.m
  0d71c48c831bf5882b80c4cd6ca9d9d8  gcc/testsuite/objc/compile/20011211-1.m
! 51bf9e3b71ed912bf46fc18bb78bc2aa  gcc/testsuite/objc/compile/compile.exp
  41f9da1aa9876935f010f6e2b17679e6  gcc/testsuite/objc/compile/pr18406.m
  e3e4236a254b8433f0922e0210b7dfe8  gcc/testsuite/objc/execute/IMP.m
  8187b8b6a976d6234ab07f6ca61a3d77  gcc/testsuite/objc/execute/_cmd.m
  19c0cc9918dda6977e9d1f06cdfbbba1  gcc/testsuite/objc/execute/accessing_ivars.m
--- 19030,19038 ----
  dc152a112ab02327dad6ca23a9256151  gcc/testsuite/objc.dg/zero-link-2.m
  999202351e5d8f0921e297ed37e27905  gcc/testsuite/objc.dg/zero-link-3.m
  0d71c48c831bf5882b80c4cd6ca9d9d8  gcc/testsuite/objc/compile/20011211-1.m
! e04e7706137720c3013eb31ffc6ee63c  gcc/testsuite/objc/compile/compile.exp
  41f9da1aa9876935f010f6e2b17679e6  gcc/testsuite/objc/compile/pr18406.m
+ ec6d0a38a35052a5a7323ad5b1322f24  gcc/testsuite/objc/compile/trivial.m
  e3e4236a254b8433f0922e0210b7dfe8  gcc/testsuite/objc/execute/IMP.m
  8187b8b6a976d6234ab07f6ca61a3d77  gcc/testsuite/objc/execute/_cmd.m
  19c0cc9918dda6977e9d1f06cdfbbba1  gcc/testsuite/objc/execute/accessing_ivars.m
*************** d3ddace903d79503a056ba3d2512a96e  gcc/te
*** 19067,19073 ****
  c2480ddb11a5f2f046c00d64af1cb427  gcc/testsuite/objc/execute/encode-1.m
  c3ef77d8eed55465371ea923284e1526  gcc/testsuite/objc/execute/enumeration-1.m
  108aeaf36cb16758e518e52a9ff71234  gcc/testsuite/objc/execute/enumeration-2.m
! b5bc911fc86eef8a03f89aab4cc17e38  gcc/testsuite/objc/execute/execute.exp
  cad3b31ba4ec282f94aee3275ac9323e  gcc/testsuite/objc/execute/fdecl.m
  01ae3f92615802cefa70672d94875777  gcc/testsuite/objc/execute/formal_protocol-1.m
  03ae57328c9c2a7b245dd73eb68bf6a9  gcc/testsuite/objc/execute/formal_protocol-2.m
--- 19084,19096 ----
  c2480ddb11a5f2f046c00d64af1cb427  gcc/testsuite/objc/execute/encode-1.m
  c3ef77d8eed55465371ea923284e1526  gcc/testsuite/objc/execute/enumeration-1.m
  108aeaf36cb16758e518e52a9ff71234  gcc/testsuite/objc/execute/enumeration-2.m
! dd314e9b8c0e2c9691ef30316f03e65a  gcc/testsuite/objc/execute/exceptions/catchall-1.m
! 33cd7ee2a1e1a3fc9512b79370cd98a4  gcc/testsuite/objc/execute/exceptions/exceptions.exp
! 234cd2e90b9956fd47b334f2e8fea7bb  gcc/testsuite/objc/execute/exceptions/finally-1.m
! ae1dc09e6a465a7a35b30251112a71ad  gcc/testsuite/objc/execute/exceptions/foward-1.m
! 0670c37d803a44017c5297807c7d9ca2  gcc/testsuite/objc/execute/exceptions/local-variables-1.m
! 1ca694d85b4f9a6366c524681e0805bc  gcc/testsuite/objc/execute/exceptions/trivial.m
! acaccab6b7f87abf009a85c31f0c1d96  gcc/testsuite/objc/execute/execute.exp
  cad3b31ba4ec282f94aee3275ac9323e  gcc/testsuite/objc/execute/fdecl.m
  01ae3f92615802cefa70672d94875777  gcc/testsuite/objc/execute/formal_protocol-1.m
  03ae57328c9c2a7b245dd73eb68bf6a9  gcc/testsuite/objc/execute/formal_protocol-2.m
*************** d16c9a355836b15bbe2b9a07b3fdc558  gcc/te
*** 19086,19098 ****
  bcb51a6dcc4b738b7a1bb2e3d891a7fb  gcc/testsuite/objc/execute/nested-1.m
  31c172d5ddf747078e02716455244a02  gcc/testsuite/objc/execute/nested-2.m
  cfadb48dac5ad9763d3fe7c225ed60cc  gcc/testsuite/objc/execute/nested-3.m
! dd6fc0941bb2345138ceaf78b6ca8bc4  gcc/testsuite/objc/execute/next_mapping.h
  68ba78e82fe95233ef3d0409e09d3ad9  gcc/testsuite/objc/execute/nil_method-1.m
  c23cd4ff83806c22d24136d660a740a6  gcc/testsuite/objc/execute/no_clash.m
  f668dcd5e9b135efccc2c5c106a5608a  gcc/testsuite/objc/execute/np-1.m
  dabafd4c4909310a5610f1239f22b618  gcc/testsuite/objc/execute/np-2.m
  9ffe60728767d540e78c2d6b8d71e88c  gcc/testsuite/objc/execute/object_is_class.m
  9e240137615f342aef4e152b8e0b7f3d  gcc/testsuite/objc/execute/object_is_meta_class.m
  0368c7aa7d8e54a81a793dca4e02646a  gcc/testsuite/objc/execute/private.m
  1db6a253ea0b0378bcf3805ec7916bb6  gcc/testsuite/objc/execute/protocol-isEqual-1.m
  ace7eac979c19cd464cdd1e3c11c2ab9  gcc/testsuite/objc/execute/protocol-isEqual-2.m
--- 19109,19123 ----
  bcb51a6dcc4b738b7a1bb2e3d891a7fb  gcc/testsuite/objc/execute/nested-1.m
  31c172d5ddf747078e02716455244a02  gcc/testsuite/objc/execute/nested-2.m
  cfadb48dac5ad9763d3fe7c225ed60cc  gcc/testsuite/objc/execute/nested-3.m
! 6c82cebc488641608c8cc5ef9d45440c  gcc/testsuite/objc/execute/nested-func-1.m
! 00ae34c050fb37802c4974b11cb77e44  gcc/testsuite/objc/execute/next_mapping.h
  68ba78e82fe95233ef3d0409e09d3ad9  gcc/testsuite/objc/execute/nil_method-1.m
  c23cd4ff83806c22d24136d660a740a6  gcc/testsuite/objc/execute/no_clash.m
  f668dcd5e9b135efccc2c5c106a5608a  gcc/testsuite/objc/execute/np-1.m
  dabafd4c4909310a5610f1239f22b618  gcc/testsuite/objc/execute/np-2.m
  9ffe60728767d540e78c2d6b8d71e88c  gcc/testsuite/objc/execute/object_is_class.m
  9e240137615f342aef4e152b8e0b7f3d  gcc/testsuite/objc/execute/object_is_meta_class.m
+ e7e7338a9abeeb97d7187cb948d0784f  gcc/testsuite/objc/execute/pr25328.m
  0368c7aa7d8e54a81a793dca4e02646a  gcc/testsuite/objc/execute/private.m
  1db6a253ea0b0378bcf3805ec7916bb6  gcc/testsuite/objc/execute/protocol-isEqual-1.m
  ace7eac979c19cd464cdd1e3c11c2ab9  gcc/testsuite/objc/execute/protocol-isEqual-2.m
*************** bc09762b3e74fc0227216052a970a32c  gcc/te
*** 19109,19420 ****
  318a61b0250e72af17f13433cbe7c899  gcc/testsuite/objc/execute/string3.m
  745164878e340e7e3913196da0f9cbab  gcc/testsuite/objc/execute/string4.m
  a15f4a807f9ba61e7f1f938b35d010a1  gcc/testsuite/objc/execute/va_method.m
! 67421e8b6a87851294ca9087cdec31d5  gcc/testsuite/treelang/ChangeLog
! baa8ede89374c5e980b092d80fb5b2ef  gcc/testsuite/treelang/Makefile.in
! f4452dfc9c6c8e9754a65c6cc913c36f  gcc/testsuite/treelang/a01gcci01.c
! 13845574d7f47c593c3dce045885ec1c  gcc/testsuite/treelang/a01gcci01.tree
! 897d9565e81d0360bfe446940de713f0  gcc/testsuite/treelang/a01gcco01runpgm
  bf22e28b9aea9db69f316d07777d7eb0  gcc/testsuite/treelang/compile/autofunc.tree
  9787b9901d0eae3abfa0a7279a68ca08  gcc/testsuite/treelang/compile/badchar.tree
  2263f3550f4ed6f3be2a638a4a192bc3  gcc/testsuite/treelang/compile/badreturn.tree
! 6f6509f991d8011b5b2caa1efe49f51a  gcc/testsuite/treelang/compile/compile.exp
! 7b14d0dfae0b348c9139db467bf0cc45  gcc/testsuite/treelang/compile/exit.tree
  6f16c9ad71f2951f3cb4984ece3743a9  gcc/testsuite/treelang/compile/externvar.tree
! 904ffc265135f16d9482655f48e34aff  gcc/testsuite/treelang/compile/extrafunc.tree
! eafd1ec3f73289bc79cc60dc40e68188  gcc/testsuite/treelang/compile/extravar.tree
  44f2db2abba0b745e7fe80dfe07b39a0  gcc/testsuite/treelang/compile/extref.tree
  c2dd08f2750bbe013aef311e750ef629  gcc/testsuite/treelang/compile/full_unit.tree
  2daa65f5af7ea9789005f3801ca99ce0  gcc/testsuite/treelang/compile/function-1.tree
  c8334f111e4ae502fcbf1514fd84458f  gcc/testsuite/treelang/compile/mismatch.tree
  4d706dc2e0f9aa032bba15197e54cfce  gcc/testsuite/treelang/compile/noproto.tree
  d99e0a81d02f139b5e8db3be3267d8b3  gcc/testsuite/treelang/compile/novar.tree
  1bf222b6bf53d0dd7e42e02ec8dbb4f8  gcc/testsuite/treelang/compile/syntax-1.tree
  cd013d732c15b972ffdbfba6d1f394c9  gcc/testsuite/treelang/compile/tabs.tree
! a0fd88d34cdf57169c20d4b33dca4225  gcc/testsuite/treelang/compile/unsigned.tree
! 7c3b3f42c955f11a2bedeaec9a6ae5df  gcc/testsuite/treelang/compile/var_defs.tree
! 6f6509f991d8011b5b2caa1efe49f51a  gcc/testsuite/treelang/execute/execute.exp
  2722ca6509c015c8673cb50b7501084d  gcc/testsuite/treelang/execute/funccall-2.tree
  52aaaccea0ad3a603cfc8b2f96fcf0d9  gcc/testsuite/treelang/execute/funccall.tree
  e71ab95e5921117ef957f6657e39065f  gcc/testsuite/treelang/execute/initial.tree
  1373d7bce5990f4405f75672ff93923b  gcc/testsuite/treelang/execute/main.tree
  4083d265d13ea8108a5df14f6f8b4865  gcc/testsuite/treelang/execute/static.tree
! 6b3632ef71a6394a4d1690cc423a90dc  gcc/testsuite/treelang/treetests.exp
! 2a96a1d6af64dfa44c10a0d00013f91c  gcc/timevar.c
! 9449e7165b30d4952d165fe1f96e30e9  gcc/timevar.def
! 0deb1bfa7081c862640c3d8d17aa7b35  gcc/timevar.h
! 13216857c7bbdbeb1de4b481050ba0a1  gcc/tlink.c
! a0449ae4e27e2ee9bd58396e21bd4207  gcc/toplev.c
! a44bc90d2ed1e7ccf9e23de4bf6f8b87  gcc/toplev.h
! d1c1a4384d1851cf0962bc62f6858363  gcc/tracer.c
! 253a5ae2a09d821a8f0ff0d28df2f3f9  gcc/tree-browser.c
! ef4c475336fcd56912b831fe60511de9  gcc/tree-browser.def
! d9ea5a7eb4f998bc1b0dfe2282e60740  gcc/tree-cfg.c
! d88c16732404234f6bcb08c7a27205b1  gcc/tree-chrec.c
! afa1e89fc42e646571efbffe47848376  gcc/tree-chrec.h
! eb0c8a32f3ebfe9636b2fa9a90e3ff46  gcc/tree-complex.c
! 3865ffa39b6999d99ee686d4a0a7ce63  gcc/tree-data-ref.c
! e1d270f5c7c0c6729b201c400abefff3  gcc/tree-data-ref.h
! 1add1655d5aec7cd062556eb55d7b850  gcc/tree-dfa.c
! 750bf8dd6d749aa0e0e7f632425fb376  gcc/tree-dump.c
! 37d0c217a5da00d787500eaefc05c401  gcc/tree-dump.h
! 765abe3b5df19a7cf54724a048cd01a9  gcc/tree-eh.c
! 6fb5c53bb9d84ddb8b2f5f3660b7b56e  gcc/tree-flow-inline.h
! 08f8066f69fe729682e3d708ff895660  gcc/tree-flow.h
! 6625c3a0a0606610910c19c5b2703c00  gcc/tree-gimple.c
! da503723285d40fef6e24dd262ee0e93  gcc/tree-gimple.h
! d65de93cf41e48d51c3cc36d48a0b026  gcc/tree-if-conv.c
! 0cd32a71284bbd2c21c915ec6ea2c5db  gcc/tree-inline.c
! 133c89063702aa00cc657094f1e3309f  gcc/tree-inline.h
! 92089b8bec5b049cbe5e770f510f79ce  gcc/tree-into-ssa.c
! 855b3c3b11a2af760a4052f2a22817fb  gcc/tree-iterator.c
! 894c5c7ca0fc6649cb84ac8635d02c8c  gcc/tree-iterator.h
! e13fc7c9b4fe014ea06ac7fee8432cdd  gcc/tree-loop-linear.c
! b049004ab71f236c3a3f4924e1bb26e9  gcc/tree-mudflap.c
! 65ba2901182b5ac017bc27ba8165e7cf  gcc/tree-mudflap.h
! dcab9a81070f092549af6513b07a02ba  gcc/tree-nested.c
! bf18efa664a3fbde87a0f44328713101  gcc/tree-nomudflap.c
! ccf49e580ab04766db2c7c509d43d183  gcc/tree-nrv.c
! 71029e50eef108b96da725ccda679327  gcc/tree-optimize.c
! 4bd87660628f2563dd0a01702c1f3562  gcc/tree-outof-ssa.c
! a20b9277b4ee8e74674f4a8f219fa7a0  gcc/tree-pass.h
! 74ffd228a19332bd7ec7ed845d2ea3a7  gcc/tree-phinodes.c
! 1cb9db12f0b3644ac6e96b566a91971f  gcc/tree-pretty-print.c
! b97c9ff313c27a00bf87990001823793  gcc/tree-profile.c
! c5afa5666face93731c0b44f00518509  gcc/tree-scalar-evolution.c
! 637591aba87a0675cf4efe847b2f5c8f  gcc/tree-scalar-evolution.h
! cded51fbb5d6e29f709fdafbe727910f  gcc/tree-sra.c
! f172b24b54bb9d9836fe41c6c76285e4  gcc/tree-ssa-alias.c
! 8d3da43f1a31d5b5753f1e970cb8c609  gcc/tree-ssa-ccp.c
! 7d0d037ce5438835c23ff51ef16cacf1  gcc/tree-ssa-copy.c
! 84dc69d94dc5f4031833213be1e8eaba  gcc/tree-ssa-copyrename.c
! d4430e2b3150c6d94dd439396bfbe84b  gcc/tree-ssa-dce.c
! 3e2a6120852d0537425d6c3c9ebdbf01  gcc/tree-ssa-dom.c
! 81f144294cabda5310df81b793469da5  gcc/tree-ssa-dse.c
! 389b52dbf716c2c3ef507ce60bed7b40  gcc/tree-ssa-forwprop.c
! 0d652a3d2e64add5d54b79073cea8540  gcc/tree-ssa-live.c
! 99a92965ee030a3facf9421e2fd1a9be  gcc/tree-ssa-live.h
! bc921f1b84012a9c92f60b33373b6167  gcc/tree-ssa-loop-ch.c
! ba309f20c98ead23d3dd09c264b99bf7  gcc/tree-ssa-loop-im.c
! fcdec331f670fe0cc16a985d37fa3189  gcc/tree-ssa-loop-ivcanon.c
! 6fca79fd914aacc6641fe35e3f9b1e52  gcc/tree-ssa-loop-ivopts.c
! fbf6024c5709f61ce025251853af4894  gcc/tree-ssa-loop-manip.c
! b735f2da5539b829fbc0669bc443909f  gcc/tree-ssa-loop-niter.c
! 17b5d579e04073579e9661838e184537  gcc/tree-ssa-loop-unswitch.c
! a6bb4b46832818296bc48560d8381f4a  gcc/tree-ssa-loop.c
! b19a9a54c4066bb7044b0c2482539e9e  gcc/tree-ssa-operands.c
! a8da3b621697433f6195bf2b3a737b38  gcc/tree-ssa-operands.h
! a7a29395c59d9f08052b073c4dcaedd3  gcc/tree-ssa-phiopt.c
! 158aa8720f4751c6592a7c2ff2708039  gcc/tree-ssa-pre.c
! 35ad766fe7e3c3cd32b1e7d5ce66f349  gcc/tree-ssa-propagate.c
! c5fa65fe63412c31b6bbb6f4c9ec99cf  gcc/tree-ssa-propagate.h
! b4c15c65a99faa16f9fda88a7e13499f  gcc/tree-ssa-threadupdate.c
! d4a21900000668a1f85358318ff34861  gcc/tree-ssa.c
! 7b83d994cc6eaa4c137090f97d88ddec  gcc/tree-ssanames.c
! 321b084c765d50cf2630c99a98f25558  gcc/tree-tailcall.c
! b754d66d4d01b0d4d8a8be15e7d5fdaa  gcc/tree-vect-analyze.c
! 0d9e73cc34be10b22dcb293fb254734e  gcc/tree-vect-transform.c
! 02d4344d4b3f3a2d5fa67773f0225563  gcc/tree-vectorizer.c
! 3ab61abea52c1070bdd080349397fee2  gcc/tree-vectorizer.h
! b5b1ce6c87f1e3822ec8bf5697e778c4  gcc/tree-vn.c
! 7f63eb42b23cda57f6de85eb1c72489b  gcc/tree.c
! 611dd4f97c98144027151f367cb0fd29  gcc/tree.def
! 2cb195e682291c799cae60e594136fe2  gcc/tree.h
! 873971b1400152da5a1f54bce4d5a24a  gcc/treelang/ChangeLog
! 9134d9f23f500427dcb6ab042af11950  gcc/treelang/Make-lang.in
  760e83cfd90fc02bffdf85e5e4d77bb3  gcc/treelang/README
! 4d01c3ea71da029c4242927c8a3115e8  gcc/treelang/config-lang.in
! 2c57f3adedf8ddf2813cdff160b65c46  gcc/treelang/lang-specs.h
! 92f1a2614689111a3fc4bb9912846769  gcc/treelang/lang.opt
! ca38000fe27a3e0e9f3f251676562875  gcc/treelang/lex.l
! 0decbd7ffd05b6c75265b3d9db02d58c  gcc/treelang/parse.y
! 443a3b0f26ebf78941a934a963ca74df  gcc/treelang/spec.c
! 2da4c94a3604f4d5f15c1c556951ec00  gcc/treelang/tree-convert.c
! bb16fa23536dd29daea48244d2efee36  gcc/treelang/tree1.c
! 3cf12e0868e2c77c5c0821a74d429b3e  gcc/treelang/treelang.h
! 779775626bf1468aa55bce843aced984  gcc/treelang/treelang.texi
! a0ba2c727381ddf088bdaa9ed1526df5  gcc/treelang/treetree.c
! b24d6cec7bc30d99b0f9d4402cad2469  gcc/treelang/treetree.h
! 5b4f85825316f9c25c732e9846d35403  gcc/tsystem.h
! 954fa95563f836fd5baadf6b2d181932  gcc/typeclass.h
! 4f04fa4b85ab0d8e2ffdd484271910c1  gcc/unwind-c.c
! b14583fbd7fb92be300a8f47a4cfed74  gcc/unwind-compat.c
! 1ba077f3e78ad7f798e79c717345bede  gcc/unwind-compat.h
! 89b773fb54a9b499cf577162cbf1d324  gcc/unwind-dw2-fde-compat.c
! b61e9cd73924280f12ae4b3dea7229e2  gcc/unwind-dw2-fde-darwin.c
! 5811ec391ca1e511254db0409ff479d3  gcc/unwind-dw2-fde-glibc.c
! 2fdcf4c0523efa04dd4d462fee36bddd  gcc/unwind-dw2-fde.c
! c3ca299aec789b7f64bb2f7eb5234232  gcc/unwind-dw2-fde.h
! be19243db9ffeb4694a70bc0ced8c061  gcc/unwind-dw2.c
! 933793c62418f9b4a4bf3f5220a2b968  gcc/unwind-dw2.h
! 254c2dda22c5857aa5325b5e84d573e9  gcc/unwind-pe.h
! 3ab64ca9bc63f2a1dbed1b2560c99b99  gcc/unwind-sjlj.c
! 604e68825f687abdab3c98a534504785  gcc/unwind.h
! 1808a207a87fbe9034b9561f4fd645f8  gcc/unwind.inc
! feacd47b6679ba1264735b8683ca0527  gcc/value-prof.c
! b8980f2ff17830de52d1388574a1ad2c  gcc/value-prof.h
! 91fb712322d752c6f94477f6adf93a47  gcc/var-tracking.c
! 3019466fdd3d90dfa929219252bf9df8  gcc/varasm.c
! 940c80e53a4a412bb576b1b9959194ca  gcc/varray.c
! 3626383e4ca4cd61989ff2a0d226d7a0  gcc/varray.h
! 58d095e86dac6a1eb3501715c47042fb  gcc/vec.c
! 7edc23ca01ad4abb3b52e1c9cc254d9a  gcc/vec.h
! 237caf3a954e13155b64dcd4d0da9d28  gcc/version.c
  3efbf60f6340944c31fed5e38dc8f7dd  gcc/version.h
! df156fe52e268230159902d1b2cd5027  gcc/vmsdbg.h
! ddbcf368790df5cb0c58286ac002e4b1  gcc/vmsdbgout.c
! b69bb794a014d444dc0878a122aa9311  gcc/web.c
  42adadee6c316f624c86e3ccfdeee75c  gcc/xcoff.h
! bc582fa182a58fd05891c8b77a50b134  gcc/xcoffout.c
! b01db88ebe8b0994941cc1c43934011f  gcc/xcoffout.h
! 94d55d512a9ba36caa9b7df079bae19f  include/COPYING
! 3a668810fc8d78ffce280adf2de8e622  include/ChangeLog
! cffcac38adb3b73b235ebef827a0ed7b  include/ChangeLog-9103
! 886287592ff8c2aad9fcf6658470887f  include/ansidecl.h
! 387fadd144c3f0a6e1539f605a563867  include/demangle.h
! 78226edd4be1ddcf9c8e57dae850d449  include/dyn-string.h
! 694387941daf42982f59d07d978b2280  include/fibheap.h
! 9bd376fdc680c4801bb7e676aa80b2eb  include/filenames.h
! 41e02028fea8e2eadd52a90caf0376e3  include/floatformat.h
! d54eb7868908574db9965575a16c1819  include/fnmatch.h
! 317b3fc837139b901dfba9292e3576ca  include/getopt.h
! e6897f312786fb47057062a0865ec0f9  include/hashtab.h
! d65c072d911abf785a0a648f676a3ba9  include/libiberty.h
! e1b9929975775d9831fb9d726e48230e  include/md5.h
! c14e4868200f00ec814858d3f2e6f824  include/objalloc.h
! 0e9fbb49e74e0ad596a117d9f6ba4c44  include/obstack.h
! b2ec49c538bbc288540fe1fc2bb7517b  include/partition.h
! 2ccf4ca81f396940231fdd26144b9fc2  include/safe-ctype.h
! 1309f7f8ff9241b427948c8c5761b316  include/sort.h
! dc9746a8f0faf58a191db4392a3189dd  include/splay-tree.h
! 4ebaa58a8bcb2ad62a520447123446ed  include/symcat.h
! c38b82bb82381011919906bfc101a973  include/ternary.h
  9e4da3ee24c6f11a47fa7d5cae9a03d0  include/xregex.h
! 17eeca2dc8ed2db2505c4aa25bb83cd2  include/xregex2.h
! 70cd2f7c23937504aadc034afd22ade1  include/xtensa-config.h
! a482fa6e4319106918b7361fa9cd0e67  install-sh
! ac81461263c340d1f6c7ed86a63b06de  intl/.cvsignore
! ab8908a0509ca14201c91ba20993c34a  intl/ChangeLog
! 4becf4ef30c903a599af029384136f99  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
  9f2cd7720d43a1e32a19f9a922e94fa2  intl/aclocal.m4
! 1a3edce9d5dfae1fa331cb73c08e6976  intl/bindtextdom.c
  8d681f6f96799ca356c0ec51ac3bb19a  intl/config.h.in
  8a751062d7db9b6e8163667e5626fcb5  intl/config.intl.in
  730ace174102eb2472bea1bf9cc49612  intl/configure
  efe3fe832deb9fdc1164141aaa52e892  intl/configure.ac
! 2a415c3f3fce6aaf2088b30347ac768e  intl/dcgettext.c
! afe61f1151985430d3ef6986570e06c6  intl/dcigettext.c
! a01e5096340e338f04724001b79a3525  intl/dcngettext.c
! 2e93dffbd619b358093a2cba5ec2c8f4  intl/dgettext.c
! 0899454cc96c42fe49d416a905e6158a  intl/dngettext.c
! 9307347478294fcda0c5d83a2988290f  intl/eval-plural.h
! 1a2e1f5979c27b7efae539d12241d6b1  intl/explodename.c
! 8663ce3376ff340e60596fb872a79cf8  intl/finddomain.c
! 7cadd50308b483d034d5c7b5b82d6708  intl/gettext.c
! abf60dd558dd4fe7b0ab17d16e3718b9  intl/gettextP.h
! 2bab8edc6f0537704caf3a05e519a2a2  intl/gmo.h
! d4b384e1a2a93680884c570927ccfe4e  intl/hash-string.h
! b3a1221e67f182a92bbf09dab0edc4b8  intl/intl-compat.c
! 41713e5f37ee309c3935b10fdf8f6882  intl/l10nflist.c
! cad930eee0ebe6caaf92c2d4e0450467  intl/libgnuintl.h
! eab8ba37c14c9b2ea90351a2fbc80fc9  intl/loadinfo.h
! 5f3d5aa9023c234c1cc9a46121435b66  intl/loadmsgcat.c
! 86d8951325f0bf10f43754d9c05e2758  intl/localcharset.c
! 8e2dcd374a946d562ecbbfbbd0ac2a43  intl/localcharset.h
! 487be754d7813d9e3671107c28a6b372  intl/locale.alias
! 6aaf69efbd6ea0ab6ed02f8cfea64bda  intl/localealias.c
! 86b4e05129cf3f0cbcf0d890f20fe316  intl/localename.c
! 66e776ef136d8be792dfc5628e186df6  intl/log.c
! 8c281de7382bf0241deffed7967e1b4c  intl/ngettext.c
! 6110b08cb3fc89c95d23f487f2389b64  intl/osdep.c
! 0f96f085d8dbdf67697a23f38865ffc1  intl/plural-exp.c
! 4b41c3ca05dfe9445743033b5ae7cf6e  intl/plural-exp.h
! 6751e8a8fee59eef6c9c2d26faca3568  intl/plural.c
! 27aa90e42613dcc1b3fd0f6522875079  intl/plural.y
! 8ba33a586960c0e4072c7d1f7b50b93e  intl/relocatable.c
! b06d53a83585fd7db8c2db9a182549e0  intl/relocatable.h
! ab99112442f51f89c122ffba737fdcdc  intl/textdomain.c
! 381c07b9e7db090feb66e737c84d9993  libada/ChangeLog
! 35b041011bba7ece3667aa843251f037  libada/Makefile.in
! b00081627666571decd79b0b7367ca00  libada/configure
! bd117467cbb66ffd3004284491e94704  libada/configure.ac
! ac81461263c340d1f6c7ed86a63b06de  libcpp/.cvsignore
! 0b4add26dddd3dd115c6a8a5a536345b  libcpp/ChangeLog
! 6ca505b8cabc03d6e7b22dc9f2095aee  libcpp/Makefile.in
! b88d8329be28feaae7b9f34e41302697  libcpp/aclocal.m4
! eb5a7c1a492f43b1575616e5b747abed  libcpp/charset.c
! 757457303335578319a186d7c2f5d433  libcpp/config.in
! 36dacbe084aa5ce3ec64fd9e14515c0f  libcpp/configure
! bc660582fb1b46542917ae298ac9697b  libcpp/configure.ac
! 14163c2841b9f5f6b48cd4929baa2c89  libcpp/directives.c
! e711c2870d69245de40d556d82947400  libcpp/errors.c
! ae16cd61e845fd68d6a17999b552d138  libcpp/expr.c
! 82fd96710c325cd580bcee2df0737846  libcpp/files.c
! 49c79c66556202b2b6cfcc711c94840f  libcpp/identifiers.c
! e7eb9312efb3aa1e6e292f0198659c27  libcpp/include/cpp-id-data.h
! 8a3ae1e6e0234cef0991b13548e0b60f  libcpp/include/cpplib.h
! f50b0702f1e5b15ed223972166154606  libcpp/include/line-map.h
! 1a83659ea07de8d5e032870cde36a1eb  libcpp/include/mkdeps.h
! 895c5df163ad61327a1f1b0459d077ba  libcpp/include/symtab.h
! 7a6e3ec7c1ddde7e47b0905f285482a7  libcpp/init.c
! 669a6d09fd6c26c1351268ce1a1dade4  libcpp/internal.h
! ebd3806bb245d65f90f701ba80c5cf89  libcpp/lex.c
! 8e6e5d058811e05ce1dd63d10eb9a728  libcpp/line-map.c
! 24306814dc20094b8472c575bb12bfc6  libcpp/macro.c
! 684490d08fdddac341de109d19b1c2b1  libcpp/makedepend.c
! 9633f47a7551994802951a51b51f21e6  libcpp/mkdeps.c
! 11a1ca02b5637013b0e1cac01571a279  libcpp/pch.c
! bd0dd2eb8e86bfcd0c18e64e519042af  libcpp/po/ChangeLog
! ae33e6211592ad1ebacd790f732ee9f5  libcpp/po/be.gmo
! 4f076de14255a846edf06b2ff7b28bc2  libcpp/po/be.po
! 6ebd48af027eda23128fc1666ae91cb5  libcpp/po/ca.gmo
! 4bf49740aa9c74c78251d80a0d1047be  libcpp/po/ca.po
! 1e46d481da982e4d3e5e2569961dec01  libcpp/po/cpplib.pot
! b6b85fd4c0ff3c73cbe68cd3d2f74806  libcpp/po/da.gmo
! 47faf3860811314280d8218490811b99  libcpp/po/da.po
! 7a3f11dbf56153a5787ccefc9d1eb2ec  libcpp/po/de.gmo
! f984a845841d365336c00f86d1ff0dce  libcpp/po/de.po
! bf39896bc888cb7baa36df85f80cb7c6  libcpp/po/el.gmo
! 93fae610a63d0f26ebc023059c472b22  libcpp/po/el.po
! feac85ca74d981876cfdd57c38cc798d  libcpp/po/es.gmo
! 2bceefe45bf2b726897447be0b2531b5  libcpp/po/es.po
! 6327e503b17a737a4480f3c443eaf1c0  libcpp/po/fr.gmo
! b500690becdc7dfef4114b37d6ffa476  libcpp/po/fr.po
! 62f2daf887751a5e4f3999c9d0a9b77c  libcpp/po/ja.gmo
! 6295753286050c1a6c3c3242a2185562  libcpp/po/ja.po
! 4537784ec225eddd307cb457aa6aa7f4  libcpp/po/nl.gmo
! 49857f23343f33fbe31e9af04302e615  libcpp/po/nl.po
! 7fe097f9aba2afca5df3cbe72dcb7edc  libcpp/po/rw.gmo
! 703e2238ba0fbf235d101143de61e3a9  libcpp/po/rw.po
! 847fcdacf04418fa9639b4de40f659ff  libcpp/po/sv.gmo
! 9e374879ef1543e77bf87b83eeeea915  libcpp/po/sv.po
! 434d619bf85b76b414eed130161176b0  libcpp/po/tr.gmo
! ec0731835f5104a59cf71cbb58543f0a  libcpp/po/tr.po
! bf468de8b9fbb2797137ee16fedb22c1  libcpp/po/vi.gmo
! afa121f4a938f361ddcb357d60ec7609  libcpp/po/vi.po
! 1a12971101d06797ea7786ed7e1ac94c  libcpp/symtab.c
! 5871a3b9ed0f3aa9945ba16ab2442ae5  libcpp/system.h
! 24b13d1f57b1c67644bec801bf2ae8ac  libcpp/traditional.c
! 7a55d18961523bad054a918d584a6667  libcpp/ucnid.h
! b39cac9c72b8bed17c033346e0c620a3  libcpp/ucnid.pl
! ca61e5e024f0d1d1e58e2ea5fa61727e  libcpp/ucnid.tab
! ac81461263c340d1f6c7ed86a63b06de  libffi/.cvsignore
! bc5d1ea4aa0035442c54d2d020ce8a94  libffi/ChangeLog
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
  085f9917800070e791f49bf4733e23fa  libffi/LICENSE
! 9990f7108fcaee40e768c526513a5f26  libffi/Makefile.am
! 42ae9eb89d969c5c2bce1a4fd185aee4  libffi/Makefile.in
  dd0edecd243634e1925c0ce2134aaa45  libffi/README
  0ec3418e6c2e6b89c24cffd4322b6368  libffi/acinclude.m4
! 8122dd2d5ecda309c0adffff58d5df4a  libffi/aclocal.m4
! b733326553f0bb20a57b7ff4c6915278  libffi/configure
! 0d312d77ab346baeaf948b5970a11150  libffi/configure.ac
  bec544523f8f7f3d5136f67598cf609a  libffi/configure.host
! a43eeb86871f975d813c68f49e4e3338  libffi/fficonfig.h.in
! 800593333c0fdb237201a25cf22c1121  libffi/include/Makefile.am
! 899be852a58f878cc62d735fc899cd31  libffi/include/Makefile.in
  86d1b1eed4cf701bc02fa6868a70ef99  libffi/include/ffi.h.in
  bb2e4dcd0558bce2932a1b59e204d1c6  libffi/include/ffi_common.h
  fea69bf0c254aa8f860a0b0ed487546d  libffi/libtool-version
--- 19134,19465 ----
  318a61b0250e72af17f13433cbe7c899  gcc/testsuite/objc/execute/string3.m
  745164878e340e7e3913196da0f9cbab  gcc/testsuite/objc/execute/string4.m
  a15f4a807f9ba61e7f1f938b35d010a1  gcc/testsuite/objc/execute/va_method.m
! f75f927a9c0d97f897fd1c1c04753f90  gcc/testsuite/treelang/ChangeLog
! 313583ae3942145d6eb5c134ba96d7f9  gcc/testsuite/treelang/Makefile.in
  bf22e28b9aea9db69f316d07777d7eb0  gcc/testsuite/treelang/compile/autofunc.tree
  9787b9901d0eae3abfa0a7279a68ca08  gcc/testsuite/treelang/compile/badchar.tree
  2263f3550f4ed6f3be2a638a4a192bc3  gcc/testsuite/treelang/compile/badreturn.tree
! 10cbe4de243d12093c027c325337a984  gcc/testsuite/treelang/compile/compile.exp
! ff60f8c067643ca246b045139f9a66e9  gcc/testsuite/treelang/compile/exit.tree
  6f16c9ad71f2951f3cb4984ece3743a9  gcc/testsuite/treelang/compile/externvar.tree
! 47742f54105f24256c0d48b95f96ee33  gcc/testsuite/treelang/compile/extrafunc.tree
! 2353c3c863f824b137352ae337fea180  gcc/testsuite/treelang/compile/extravar.tree
  44f2db2abba0b745e7fe80dfe07b39a0  gcc/testsuite/treelang/compile/extref.tree
  c2dd08f2750bbe013aef311e750ef629  gcc/testsuite/treelang/compile/full_unit.tree
  2daa65f5af7ea9789005f3801ca99ce0  gcc/testsuite/treelang/compile/function-1.tree
+ 0236cc0d9b6f0dd3aebcae471cebe57d  gcc/testsuite/treelang/compile/memory.tree
  c8334f111e4ae502fcbf1514fd84458f  gcc/testsuite/treelang/compile/mismatch.tree
  4d706dc2e0f9aa032bba15197e54cfce  gcc/testsuite/treelang/compile/noproto.tree
  d99e0a81d02f139b5e8db3be3267d8b3  gcc/testsuite/treelang/compile/novar.tree
  1bf222b6bf53d0dd7e42e02ec8dbb4f8  gcc/testsuite/treelang/compile/syntax-1.tree
  cd013d732c15b972ffdbfba6d1f394c9  gcc/testsuite/treelang/compile/tabs.tree
! 8f6010500f2b8997dc84d74899f7959e  gcc/testsuite/treelang/compile/unsigned.tree
! 72628750871817b712ec6148df6ae1be  gcc/testsuite/treelang/compile/var_defs-2.tree
! 9eb620ed0d8f0a65c6387d17719115d1  gcc/testsuite/treelang/compile/var_defs.tree
! 10cbe4de243d12093c027c325337a984  gcc/testsuite/treelang/execute/execute.exp
  2722ca6509c015c8673cb50b7501084d  gcc/testsuite/treelang/execute/funccall-2.tree
  52aaaccea0ad3a603cfc8b2f96fcf0d9  gcc/testsuite/treelang/execute/funccall.tree
  e71ab95e5921117ef957f6657e39065f  gcc/testsuite/treelang/execute/initial.tree
  1373d7bce5990f4405f75672ff93923b  gcc/testsuite/treelang/execute/main.tree
  4083d265d13ea8108a5df14f6f8b4865  gcc/testsuite/treelang/execute/static.tree
! 977add612578e684d299face27494a13  gcc/testsuite/treelang/output/output-1.c
! 897d9565e81d0360bfe446940de713f0  gcc/testsuite/treelang/output/output-1.out
! d61d9e63987b03be2db18b0d6498baf0  gcc/testsuite/treelang/output/output-1.tree
! d02325b0bf9d764f7aa9c4cd8aca2e4e  gcc/testsuite/treelang/output/output.exp
! 06b55b5961e93a64307fd3e2e441b672  gcc/timevar.c
! 64afc03d46fe58a03fa302bf4ba4b912  gcc/timevar.def
! 9913782e2a7e5e58c0d0b0a94f27d817  gcc/timevar.h
! 44c386511c2725ffa24c3e4f46c1887a  gcc/tlink.c
! 7d5f507624c7b1ad588a86b47d05bda1  gcc/toplev.c
! af6a495f7c9399b48d358271e528fa5d  gcc/toplev.h
! 2a116029bd1a90bdfc5c8262fa87db53  gcc/tracer.c
! c36d397450b2e4ea865c711e241cc928  gcc/tree-browser.c
! aa5802463f7b387e937d0237794ed298  gcc/tree-browser.def
! 26b9a5f183d0d804ef84736ae63940d3  gcc/tree-cfg.c
! 0a0249f335254d15509635f5d2f857c1  gcc/tree-cfgcleanup.c
! 542b0cb7a8e8857c6f1355d8a5131f86  gcc/tree-chrec.c
! f2edad39da22c60cfba2be2d3950552d  gcc/tree-chrec.h
! dd7f5a34b201a1de80a63bb49cb1c887  gcc/tree-complex.c
! d22f7b5db64275fbe2e095b278094c90  gcc/tree-data-ref.c
! 419f2ae93c8bb8f7fa4d8e227f583319  gcc/tree-data-ref.h
! af937327b23740896e9876e299a5ea05  gcc/tree-dfa.c
! 5dca548660eabcc2e813557ef977ef3b  gcc/tree-dump.c
! 2c7625c6119a41515ca0152cd9282ceb  gcc/tree-dump.h
! 923e68981663a72e91e340852f46b0db  gcc/tree-eh.c
! 9d8c423e3f6319706a0d22f3764e4fef  gcc/tree-flow-inline.h
! f0dc70481b7c6c46ae4ff72bd661e9db  gcc/tree-flow.h
! 3bb199b0a5b9edcbb7e4b0ffe3226fcd  gcc/tree-gimple.c
! 14be3ce7a2110a2285adedca6df418cb  gcc/tree-gimple.h
! 4ee719a21dbdc6375c1788b9c81fdcfd  gcc/tree-if-conv.c
! cc2a78e385ff518205c9ae3e74407410  gcc/tree-inline.c
! 7d61c447658d025406967ba67459d614  gcc/tree-inline.h
! 595b98f01a136de18e307bfc3b04fab6  gcc/tree-into-ssa.c
! 96f17d0e6afb0a54c6f0f4b01fa0c663  gcc/tree-iterator.c
! 509c975f37eaeb79a30aed2199244393  gcc/tree-iterator.h
! 5cbb0ac118f609c1df7ac29b8f8faf58  gcc/tree-loop-linear.c
! ef932beb0084a6a5ecf700c4c9b59083  gcc/tree-mudflap.c
! 66aee037868b207974e9924daabc7f9a  gcc/tree-mudflap.h
! 75ef58eb7a77fcc4ff648fbc57a59c46  gcc/tree-nested.c
! 5b1d60bce435ce24c56f9cea85aa9093  gcc/tree-nomudflap.c
! 288a03d4307b5ca21ad3c02afa982b84  gcc/tree-nrv.c
! da8e3149893baa221ae8f8d5d0f5fdfe  gcc/tree-object-size.c
! 291e39e1918cd34cbd95c23f9ddde5e6  gcc/tree-optimize.c
! 95869facb8fd0d8f8d58068d1b9fba7f  gcc/tree-outof-ssa.c
! 67995b0e517845f65020809c503ed4f0  gcc/tree-pass.h
! 3c3fa6a46f70264ad332a53d50543e2d  gcc/tree-phinodes.c
! 3d6b92f9ddfe52e6a629df3645f0a257  gcc/tree-pretty-print.c
! 7d162346382088784aa54c26ece4ddba  gcc/tree-profile.c
! d63bfa365d28f468f5d9ff2cfd599df8  gcc/tree-scalar-evolution.c
! 79f144379314c666c0467d311ba3f2c2  gcc/tree-scalar-evolution.h
! 2daf70613769a2c9d640d2afa24cf7ce  gcc/tree-sra.c
! 2e403dca6a338f42ea52c39429474b73  gcc/tree-ssa-address.c
! f5f538ae2ec89eabf45a4661a64fe76b  gcc/tree-ssa-alias.c
! 13a23377dc395d81377c52d2ebeb9a44  gcc/tree-ssa-ccp.c
! 1e0da098a714bdbfab688f36a3e79e57  gcc/tree-ssa-copy.c
! 1feaceb23ed7459c8059ddb8b0c74264  gcc/tree-ssa-copyrename.c
! d561f74898505330079adf8ddf2d29db  gcc/tree-ssa-dce.c
! 92695cfc9ccf115664c480f54048dc91  gcc/tree-ssa-dom.c
! 19aba42d2fd43da6d1711f6025390381  gcc/tree-ssa-dse.c
! 13b3f130ad1784d5deb0103d95305c1c  gcc/tree-ssa-forwprop.c
! 93da89c10e848947e91a484d4ff683b0  gcc/tree-ssa-live.c
! aa63e183fe81182da0c3b2a451f83532  gcc/tree-ssa-live.h
! 1a9435e946923531c11de261de3ada9f  gcc/tree-ssa-loop-ch.c
! e067c51d4842f514ed22c465946e46c1  gcc/tree-ssa-loop-im.c
! 207c3456a47dc6dc94c729dab154516c  gcc/tree-ssa-loop-ivcanon.c
! 28aca88a43d3b585998421a740224927  gcc/tree-ssa-loop-ivopts.c
! bb8b0377582d2378a64b0d31d39311c6  gcc/tree-ssa-loop-manip.c
! 524c85b9be2275ab5fed2c0cbdc3da10  gcc/tree-ssa-loop-niter.c
! 99041bfa759bb63bc039dd75c2bc0694  gcc/tree-ssa-loop-unswitch.c
! 8db9641e29f506200b9b2c64b43e5251  gcc/tree-ssa-loop.c
! 7a69fa1c8f82e62bd20fb83d8c73343c  gcc/tree-ssa-math-opts.c
! f8556614ef514c39f3ab9d91abaf2cc7  gcc/tree-ssa-operands.c
! a959f7832b6805b461ed03b3b6579468  gcc/tree-ssa-operands.h
! 1ef51a14dd1be80c17d2ff3ef644cccc  gcc/tree-ssa-opfinalize.h
! 7330a578ec207219828b91f990184c30  gcc/tree-ssa-phiopt.c
! c819ab25f8c72338694780f7395a1d6c  gcc/tree-ssa-pre.c
! 1c02be84855fb7d9f7c7ae8a43b75532  gcc/tree-ssa-propagate.c
! 277c037bb22716be5cd879eb4cbe7111  gcc/tree-ssa-propagate.h
! 329f3f1042683e5a6f7f91a4b3be3797  gcc/tree-ssa-reassoc.c
! e6b50c425057736a70d2f843b065ae89  gcc/tree-ssa-sink.c
! fca242a1682d3894ecb784f7e2af6f5a  gcc/tree-ssa-structalias.c
! 9f5b154fc0cf9fa20190e8ff9f0933cc  gcc/tree-ssa-structalias.h
! d155a389b422d013d9d9dfb32323eab0  gcc/tree-ssa-threadupdate.c
! d84b6f06fd53136099996938b9086625  gcc/tree-ssa-uncprop.c
! 7478e882a54e2666b1b7bd588ff8cb79  gcc/tree-ssa.c
! cf843639c7936d91682e0263bc985515  gcc/tree-ssanames.c
! 94b2ec96c0d0f93be5c38062b5c2b848  gcc/tree-stdarg.c
! ef8dc73cb6337c6ec2995d4d673f7c2c  gcc/tree-stdarg.h
! 573499a1c16c08fb467a8007960d3840  gcc/tree-tailcall.c
! 8a034affc406333efbdcd70a07a6de4a  gcc/tree-vect-analyze.c
! 9a9d50439b2ab4a8a0025a1ae3012d46  gcc/tree-vect-generic.c
! f65d21f395c904acf6d1f4f6068ce770  gcc/tree-vect-transform.c
! abedac22a5ea9ff168ae1975dae2899a  gcc/tree-vectorizer.c
! 3f4630838559811b5915374819286cfe  gcc/tree-vectorizer.h
! d7e741daa227b7f9ec8ea6f2818c1852  gcc/tree-vn.c
! cb29ba8f1dc174927b3534fda5f97a2e  gcc/tree-vrp.c
! 961dc5e8bc9b8778e67b683b791c7bc5  gcc/tree.c
! 7dff6e696bcde70b85b0275411e40d48  gcc/tree.def
! e7e56f3cbecc892b2032dbb23b023af5  gcc/tree.h
! 49d0c6dd11f78d34d5a0140071dd1819  gcc/treelang/ChangeLog
! b7ebbe0538eaca7adc7ab69d66d0a20a  gcc/treelang/Make-lang.in
  760e83cfd90fc02bffdf85e5e4d77bb3  gcc/treelang/README
! 2d0b5ee532afab1c1300761a2e2ffbdb  gcc/treelang/config-lang.in
! 203e7d792c51368099b358cbe2ade9a9  gcc/treelang/lang-specs.h
! 6dd0a8542ff9f09863d67f2490caaf23  gcc/treelang/lang.opt
! b80ef96b2f9763ceeaccf1b435128644  gcc/treelang/lex.l
! 80d1fa7210518eb0b9be71ee351ac839  gcc/treelang/parse.y
! f4b75081527b51efe106272b91b5f093  gcc/treelang/spec.c
! 35875c8f9965bd2dfcfaf79318c88124  gcc/treelang/tree-convert.c
! ab763986d6734b4f55f2162353b7982f  gcc/treelang/tree1.c
! 7922e68290eb856c81a89016b9e2794a  gcc/treelang/treelang.h
! 839b789b1d55d49f870128ced0e4711e  gcc/treelang/treelang.texi
! 174044f951b6443cdb706d4ab6e020ca  gcc/treelang/treetree.c
! ebd7296f98087987213b84ca450932ac  gcc/treelang/treetree.h
! 914f29674b53e8644b06349dc0e6d243  gcc/treestruct.def
! 529367571f637cd2fc44d4a487c543c3  gcc/tsystem.h
! d88370ee340d4f7be4b7d48b828944fc  gcc/typeclass.h
! ac9bbb0059ae17449311055a34a3bb82  gcc/unwind-c.c
! a44b8e2db13346664e7c38d99099d0f6  gcc/unwind-compat.c
! 0b1ac7f3e7286d15b9cf1cb2d10fb656  gcc/unwind-compat.h
! 958c450f054c4a7d180432a816b5faeb  gcc/unwind-dw2-fde-compat.c
! bc05bafe777230637f3174f38108f303  gcc/unwind-dw2-fde-darwin.c
! b7d9b41d399c7717af6e1ac0aa805ff2  gcc/unwind-dw2-fde-glibc.c
! 7cb55190791be42bb7d6e5c68b3fc25a  gcc/unwind-dw2-fde.c
! 1c83a30cc7ad414c6e2a0aac7d0caab6  gcc/unwind-dw2-fde.h
! d92477a9a5050657e202cf031b771123  gcc/unwind-dw2.c
! fc10f71b1699c823d01fa2447b9efb0a  gcc/unwind-dw2.h
! 326e2ededd9191d9a8a4d5d981e853c6  gcc/unwind-generic.h
! 89511f4e0d153bd7cbefb06ae4e6d80e  gcc/unwind-pe.h
! 8d68b1f7a6cc808002e27e281411bab6  gcc/unwind-sjlj.c
! 82b0d712db9ec479304edce656c1bdd9  gcc/unwind.inc
! 9be35d9560e408c35f3f45e30fdfbe06  gcc/value-prof.c
! 357cf55f1edc058a6c51e98897c24cd5  gcc/value-prof.h
! 83674d70c70802e39bc5be9f0657c70c  gcc/var-tracking.c
! d0968771bb7e5705282026891bc374b8  gcc/varasm.c
! 18b2bc22a2ee584c1270b0ad616e07a7  gcc/varray.c
! 5dbe784899e63e7a6ec62fcd6fa99f3c  gcc/varray.h
! 4b057d17439bd80a0c57d67bdbe59228  gcc/vec.c
! 8e34d51c14944501c84d5492d61dec8f  gcc/vec.h
! b14475634e1157136beef85881406ee7  gcc/version.c
  3efbf60f6340944c31fed5e38dc8f7dd  gcc/version.h
! 83eb1e2040aa37a95d1f8ded321baa45  gcc/vmsdbg.h
! a003613960e601ddabf302992c881ccc  gcc/vmsdbgout.c
! dff68a7d7760383084de0b7aadd126da  gcc/web.c
  42adadee6c316f624c86e3ccfdeee75c  gcc/xcoff.h
! 97f77845fff3b89c5a42ba925036cb35  gcc/xcoffout.c
! adbf31d6cbf71fd15431da99081710b1  gcc/xcoffout.h
! 6a131f3d583478dd1cd63831d88476d4  gnattools/ChangeLog
! dc082238adcd62c985680e2967afece4  gnattools/Makefile.in
! 48213afdf8ef31ddcd83f58d74f8d524  gnattools/configure
! 8440f201742266e5f9c05547e86918f9  gnattools/configure.ac
! 59530bdf33659b29e73d4adb9f9f6552  include/COPYING
! 3d326b64c47dc47117e261224f24b538  include/ChangeLog
! 24516b717009640ce59780ea65675d4f  include/ChangeLog-9103
! e1083a1fae50362cefde0b1f620e9401  include/ansidecl.h
! b2ddffedc5a0d937b2d01d8fc32d1be0  include/demangle.h
! bf491c715785399f572f97dec7b6241c  include/dyn-string.h
! e3351927fc3d8abd8345b9e8e239cc73  include/fibheap.h
! bbdaba0c22a6d674c54ef02f26e33fa9  include/filenames.h
! 02627b4b0d54316ab7b3b2c80e1925f9  include/floatformat.h
! 7d6baaede380aa3344526a4bbf8a294f  include/fnmatch.h
! 2df953364d736c4cc07d3f3b0ff63714  include/getopt.h
! c7907270bfd5633f14250a01b762459e  include/hashtab.h
! 9655d67bbbcfd545cf262cf2c6ccdcfe  include/libiberty.h
! da493ec956bfe96176186182b0f33baa  include/md5.h
! 44b3dbe9efa457af0cf4f032193dd1f5  include/objalloc.h
! 5fd93204de68ae19148e1cb24c4be9f3  include/obstack.h
! b212dcdaf1121bd8a14b03ebb2ce5ce1  include/partition.h
! 4a10474f2f043d12cb8c292f1d1cf002  include/safe-ctype.h
! ffc879400e93c3be7e8727262ff65700  include/sort.h
! dfaa5839da11dd006023e97a2ab9fbaf  include/splay-tree.h
! c665cdb0d6c3bfb5d86841b168a2d1f9  include/symcat.h
! bbf5a6a7b70efde41e703f72d9732f81  include/ternary.h
  9e4da3ee24c6f11a47fa7d5cae9a03d0  include/xregex.h
! 0294cecbb1f66d640ccba3a5d862d05b  include/xregex2.h
! 2c935fd183e6a6d7f7b385cbd91a8d5b  include/xtensa-config.h
! aded5875c5d5830de6653181e8ced19c  install-sh
! 486fea4d6b935b5dea5114d332198f5a  intl/ChangeLog
! bdc0232aa388b8e69badb2ba683b14db  intl/Makefile.in
  6ec998bb4716c744bf8185e607f69301  intl/README
  76ca170a525d5b84d90f0478fe788931  intl/VERSION
  9f2cd7720d43a1e32a19f9a922e94fa2  intl/aclocal.m4
! d4abe82ea322701d2385778a2fcd0804  intl/bindtextdom.c
  8d681f6f96799ca356c0ec51ac3bb19a  intl/config.h.in
  8a751062d7db9b6e8163667e5626fcb5  intl/config.intl.in
  730ace174102eb2472bea1bf9cc49612  intl/configure
  efe3fe832deb9fdc1164141aaa52e892  intl/configure.ac
! ff5c358b1507e45a2106b23b7e6c70a3  intl/dcgettext.c
! 81b58accbd88cd8159471d322723c42d  intl/dcigettext.c
! 0cfc94e602bc20d958f014c77ebf357c  intl/dcngettext.c
! 15f7a4462b82902df60f7a54cfedfa52  intl/dgettext.c
! 804b497bba8cd86283af3198469a9e21  intl/dngettext.c
! 6e671cf01cbb93dedaf7b3688062d7b8  intl/eval-plural.h
! 1e4b5d6e86db4708199e0b7b61d06232  intl/explodename.c
! 6f008e715086ccfb7e8e44c007fc7bc9  intl/finddomain.c
! 24c6e42d8020a8759b3c8b13e0c37493  intl/gettext.c
! 27f0efcc3ff8493519140cb36aeead2a  intl/gettextP.h
! c6620ffc92d5853137d3ac11300de38a  intl/gmo.h
! 049ba34a0c8d1fe665e8119e579dce4c  intl/hash-string.h
! 7b5af5c4e777690b9851b3e85603bcc8  intl/intl-compat.c
! 9f41e951f166a5aedcc25268c161d1da  intl/l10nflist.c
! 05f03dc9d9297a33c64a74880c06a7ea  intl/libgnuintl.h
! 0ad4083e3b5df1f764bb605dcf657b88  intl/loadinfo.h
! d8e3733cf513bbf862ca090cf6403edf  intl/loadmsgcat.c
! 0ff7bc241f5ea36688cf8bb6ac801b5d  intl/localcharset.c
! 4d8b75dcdafb699870e4133fba5b58f0  intl/localcharset.h
! bb9312cab68737125445f5932ae7140a  intl/locale.alias
! bdad874b80d29c70bb040f2ddeb67c5d  intl/localealias.c
! 8179cdac0affac17e1f1ed2087b4595a  intl/localename.c
! 78672e3784df9ceba75d1d004d6a1f78  intl/log.c
! 040acf17db43770b3eeab4337e031fc0  intl/ngettext.c
! 506ef276b14575f52af7a6982d58e666  intl/osdep.c
! 12ff40e8c89d99dc7b704bac9434124a  intl/plural-exp.c
! 4109118983200f4aa853bf0cb466c586  intl/plural-exp.h
! 0f3d1bb596252bdacce100082392dedf  intl/plural.c
! d50a8c6c5b41089930accbdce767d3c0  intl/plural.y
! b4758a0194e3e41362b939911472ce62  intl/relocatable.c
! bedade7bcfc3bc5eb09a2c6844f637f3  intl/relocatable.h
! 43f287d082528203fc85c1d2d81bf30d  intl/textdomain.c
! bb2a237eebd88b70aae23171bfa77cf9  libada/ChangeLog
! 3b89f82968351773e0c6960218e9d316  libada/Makefile.in
! a3510e57da1bf9f934db08dc76e6156f  libada/configure
! d735567b6ee58584faabff4d025366f9  libada/configure.ac
! 3faf0cc36a255cf5a93667a5882a9b36  libcpp/ChangeLog
! ff60b27d1ae37f86e5939a17eca8ed9d  libcpp/Makefile.in
! 647f30740ad5a45cc52fdcd1751083bf  libcpp/aclocal.m4
! eb7be65bab396bc84b16e705dd8a0710  libcpp/charset.c
! e44d01e78376e7f771c9797f88e255e7  libcpp/config.in
! a670f8456d84a0c74ee643f41e0419f2  libcpp/configure
! 68c1426655bcdc07830b9e1e699aad49  libcpp/configure.ac
! a9e6ac8c670195ba56e3fd6b64c4919a  libcpp/directives.c
! 987a70a9481e341460bd807b4ee94e31  libcpp/errors.c
! 5517fbb5bc1fb807a51018f79c77250f  libcpp/expr.c
! 07e310a215ed8630f41adbccc11b6d02  libcpp/files.c
! 51e2b3bfbe7f0fedf9e4cd0a1c5d65c4  libcpp/identifiers.c
! c678428e2def1464e5603d1cba9c6465  libcpp/include/cpp-id-data.h
! c5f65f779e87cd84b9a3862cc29b17f4  libcpp/include/cpplib.h
! bf72664c1bd7c8f3c7c9ddc44382580f  libcpp/include/line-map.h
! 9e8cb55c79b95957e89caacd1ebe18e7  libcpp/include/mkdeps.h
! 80effe517a6f62b7634befb3b43a9e8a  libcpp/include/symtab.h
! fd8c57b6a260ceea7fd3db0bbec49826  libcpp/init.c
! 753e0903f9ab9999bc1e0c1c3a487aad  libcpp/internal.h
! 3184e11819a4fb179ab5cb6dcb002d07  libcpp/lex.c
! 0c58f1b82574ea7e8c4b97eb6a67eadc  libcpp/line-map.c
! 5f0cedd38376882302bc65cf85630273  libcpp/macro.c
! bd3ad232a81e8a65301172800949c9b8  libcpp/makedepend.c
! f534edcdcc5f5c162170f3c205980359  libcpp/makeucnid.c
! 4b9888d0f579e19deaa5f2aa24e15894  libcpp/mkdeps.c
! 164388d30ab16a17dbe92c50920628a3  libcpp/pch.c
! 1c55ad7c14a60cd7915b57fb59fcc8e8  libcpp/po/ChangeLog
! 0b6995e3f08d4c142412635095defd27  libcpp/po/be.gmo
! 883c41cf83bb85f7b8eb6e327d66da55  libcpp/po/be.po
! 9160aa3d0ec05f4e934baecaceabd0ed  libcpp/po/ca.gmo
! 866f7036130bdc63bf9611a285c919fa  libcpp/po/ca.po
! b7bef265a698145d15f3259a4043d623  libcpp/po/cpplib.pot
! 744cd7456f3d5249b98d3c9b6506e3ac  libcpp/po/da.gmo
! 3e7256ee8fa957c9f5318c74738278c0  libcpp/po/da.po
! 3afbd853cd2c976f2dac00808d95e847  libcpp/po/de.gmo
! de14220eac9dae3701a067b175e91646  libcpp/po/de.po
! da04ff6c6e07f22a95fad81bd61c6775  libcpp/po/el.gmo
! 0178720d7bce9c80b21ddd1b47d98b4a  libcpp/po/el.po
! e6f75d6a6729852c62a6f3d67cfe1509  libcpp/po/es.gmo
! 732bdb8a49431f4dc7cb2a753ad2b267  libcpp/po/es.po
! 7c099f35b5e31c94e867e28d4b359778  libcpp/po/fr.gmo
! a522511f0954eb0823514e79f0391b36  libcpp/po/fr.po
! fded5d124ccda522cdc86dc47922e7b2  libcpp/po/ja.gmo
! 3b729607c6609124e8ec5acd6766bc32  libcpp/po/ja.po
! b16cd68aba125c2e53c79bb2d4c6101a  libcpp/po/nl.gmo
! b2869a870bad1a3ed3314eae9a37e26b  libcpp/po/nl.po
! a4dedbba337dae417f4be9050b96e5ee  libcpp/po/rw.gmo
! fce7cb68a95628cd81376d37b37cfb40  libcpp/po/rw.po
! 959afd3f21fbf69867ee82649e3c7bda  libcpp/po/sv.gmo
! c51af9de467ae07e5f22c1ef80ec217f  libcpp/po/sv.po
! 114da0612c3d95f219b4810f2f2c941d  libcpp/po/tr.gmo
! 633d2dade207edb4e1e213b82c1d84e9  libcpp/po/tr.po
! c39014918dc4172459b0a8cada99b01c  libcpp/po/vi.gmo
! 7b76d593245a3ddef3677bf3a7745e6b  libcpp/po/vi.po
! e74043686c587c195759b5eab0966bec  libcpp/po/zh_CN.gmo
! 5dd3b8364ba476f47a4b5fce73baaef0  libcpp/po/zh_CN.po
! e748b11a8760b4a8717f37cd32b26eae  libcpp/symtab.c
! 8a10d329d58f963bbc22146326cf8ba4  libcpp/system.h
! b940e25481e4fb146a808c2d2f9f44cf  libcpp/traditional.c
! 273f6edd239910923af1435d8fef46fc  libcpp/ucnid.h
! 62b01578743d74de9c0d15087276717c  libcpp/ucnid.tab
! f3092911d8a3811ceea321b8ec7773e3  libffi/ChangeLog
  fbbc216bc25d759a72ea3e6d734af56b  libffi/ChangeLog.libgcj
  d946d2b97454ad50a1dbfbf48923c5be  libffi/ChangeLog.v1
  085f9917800070e791f49bf4733e23fa  libffi/LICENSE
! 6a742ff0a4a5c7bceb221a0f6d2af5c3  libffi/Makefile.am
! 772c26d9d6bc78ba2a7ac1f7bbc141ef  libffi/Makefile.in
  dd0edecd243634e1925c0ce2134aaa45  libffi/README
  0ec3418e6c2e6b89c24cffd4322b6368  libffi/acinclude.m4
! 539069e9d7faa18cd5d628b86cc63c8c  libffi/aclocal.m4
! ad42064e1467867c0762142817576987  libffi/configure
! 8ef478f588931c857de49779973319e6  libffi/configure.ac
  bec544523f8f7f3d5136f67598cf609a  libffi/configure.host
! c33b0c4e6ef9bd820b096cf9579551e8  libffi/fficonfig.h.in
! cc40571eca4949cf0f7038d231e3180d  libffi/include/Makefile.am
! 807f1e28e9beedb0e68cef8f09dfeee9  libffi/include/Makefile.in
  86d1b1eed4cf701bc02fa6868a70ef99  libffi/include/ffi.h.in
  bb2e4dcd0558bce2932a1b59e204d1c6  libffi/include/ffi_common.h
  fea69bf0c254aa8f860a0b0ed487546d  libffi/libtool-version
*************** b11579afef24bc718c1033e6ac222903  libffi
*** 19424,19438 ****
  1c6e7df6f3da0759184a7f42da05913e  libffi/src/arm/ffi.c
  129d5ce3064dbf3e3a99dba0c6ee50b6  libffi/src/arm/ffitarget.h
  770a4cd16a128d62845938d09cd01463  libffi/src/arm/sysv.S
  c23b060daf7379293b692b26b96c773c  libffi/src/debug.c
  0d4e7344633ddb45c6fdee8053ae93df  libffi/src/ffitest.c
  cc24323b21ba3942d80c174e9e14b3eb  libffi/src/frv/eabi.S
  91330821fbb0cbecadc61c5f1a113050  libffi/src/frv/ffi.c
  d1bbd2a84870a27472a8f2e38af7ec3f  libffi/src/frv/ffitarget.h
  9e6464ebb4b54be50c23a1c4a5c605aa  libffi/src/ia64/ffi.c
! a6d101ee8acad37f0b3e472b4b686de4  libffi/src/ia64/ffitarget.h
  744b95e6d9f4fd403516c7be72e27914  libffi/src/ia64/ia64_flags.h
! d9449ba560c5e6d13f4aaac2a255f744  libffi/src/ia64/unix.S
  341795d6d831cb5a5858c6c2596649da  libffi/src/java_raw_api.c
  2ecbb989d460cbc1292d7dbe3f073e97  libffi/src/m32r/ffi.c
  1cf60578f42fad0141df7c5c8a43a407  libffi/src/m32r/ffitarget.h
--- 19469,19486 ----
  1c6e7df6f3da0759184a7f42da05913e  libffi/src/arm/ffi.c
  129d5ce3064dbf3e3a99dba0c6ee50b6  libffi/src/arm/ffitarget.h
  770a4cd16a128d62845938d09cd01463  libffi/src/arm/sysv.S
+ c0b13c03f581fd34b9463a7b934394ea  libffi/src/cris/ffi.c
+ de1ccbe3822f2bfb4f864ca6867c9d65  libffi/src/cris/ffitarget.h
+ b17e59bf6ba716c77cd9ca7a4e39e672  libffi/src/cris/sysv.S
  c23b060daf7379293b692b26b96c773c  libffi/src/debug.c
  0d4e7344633ddb45c6fdee8053ae93df  libffi/src/ffitest.c
  cc24323b21ba3942d80c174e9e14b3eb  libffi/src/frv/eabi.S
  91330821fbb0cbecadc61c5f1a113050  libffi/src/frv/ffi.c
  d1bbd2a84870a27472a8f2e38af7ec3f  libffi/src/frv/ffitarget.h
  9e6464ebb4b54be50c23a1c4a5c605aa  libffi/src/ia64/ffi.c
! 8392763ada23e8f27267865dbc74c819  libffi/src/ia64/ffitarget.h
  744b95e6d9f4fd403516c7be72e27914  libffi/src/ia64/ia64_flags.h
! f74a75a09da3de47ede03973d7404f1f  libffi/src/ia64/unix.S
  341795d6d831cb5a5858c6c2596649da  libffi/src/java_raw_api.c
  2ecbb989d460cbc1292d7dbe3f073e97  libffi/src/m32r/ffi.c
  1cf60578f42fad0141df7c5c8a43a407  libffi/src/m32r/ffitarget.h
*************** fde1f5cb81ab7ce114af861c94c368c0  libffi
*** 19440,19491 ****
  02286b8ab506a66e4ea41015fb2c4fab  libffi/src/m68k/ffi.c
  a591afdd6fceb96566ab43e4a2f2e692  libffi/src/m68k/ffitarget.h
  68712d7da5c3c036ee6a3c915294925d  libffi/src/m68k/sysv.S
! 56beb72e019fc1e06d87eaa2fcc24323  libffi/src/mips/ffi.c
! e32fe305f89e9639ee8fc903d28f99a0  libffi/src/mips/ffitarget.h
  a9b002727584815726e8b4f27b59b1f8  libffi/src/mips/n32.S
! 6e6e4abcad3da021a787f5955770c2ee  libffi/src/mips/o32.S
  2e24a1be4ef2e07069153d1c7dd98f3a  libffi/src/pa/ffi.c
  d37939f41706b752d955ca00b22eefbb  libffi/src/pa/ffitarget.h
  fd7540758a5d180e7a27b55187ee9b6c  libffi/src/pa/linux.S
  d23701ff3a05628dde1d8c18d2911662  libffi/src/powerpc/aix.S
  049e042e968b560f48689cfc881d2db6  libffi/src/powerpc/aix_closure.S
  41549f68aeedd29e849159d4567ede07  libffi/src/powerpc/asm.h
! 61f822f0298a1bd27b62e7cb421fc97c  libffi/src/powerpc/darwin.S
! 305fe84e5eb35f0762be4feab1aea840  libffi/src/powerpc/darwin_closure.S
! 436563359f28c480b42aedeb5a7e7931  libffi/src/powerpc/ffi.c
  a5488f46dd8d3936dc78322e68bd4e7a  libffi/src/powerpc/ffi_darwin.c
! c6636cf45de17c69d5affc204f8316ee  libffi/src/powerpc/ffitarget.h
! 5e0ab5c06c75a3b67d22efe0959a8f41  libffi/src/powerpc/linux64.S
! 29ef2d91bb6151668076027e076ab5c8  libffi/src/powerpc/linux64_closure.S
! 98d153bfc4999e8ce24792d61620410c  libffi/src/powerpc/ppc_closure.S
! 956435918f1432204be610864df9f4d8  libffi/src/powerpc/sysv.S
! a454b8e335a076bf55035b68f6526e33  libffi/src/prep_cif.c
  3b1e13772c2bd8ebbf51d0be097581af  libffi/src/raw_api.c
  b493eee9f034b8079060cf2a323543f8  libffi/src/s390/ffi.c
  9ef0dc6b1d0a81fb5de092076d57090f  libffi/src/s390/ffitarget.h
  b824586cfd875b7c1c6f7482800cb3ab  libffi/src/s390/sysv.S
! 2034144eb9c87f3ad07fd9ba8b9e0ba3  libffi/src/sh/ffi.c
  b09467107867053f95dbf8f5de6e1597  libffi/src/sh/ffitarget.h
! 2856b0306776f44ce907a42dc30a4f58  libffi/src/sh/sysv.S
! 0d63b213e999218daa6dcdc5a1e60744  libffi/src/sh64/ffi.c
  428dab3f0a468e35cacb8f9056692fcd  libffi/src/sh64/ffitarget.h
! e2a1ecaa36a455e1ccec5660ccb48ca4  libffi/src/sh64/sysv.S
  c327d3b09d5b98a3143bc02fd3758edc  libffi/src/sparc/ffi.c
  4f88ee04ece8cef7f52a40a807a46035  libffi/src/sparc/ffitarget.h
  d8e8e41b53e8162fd60f3af758918c02  libffi/src/sparc/v8.S
  21972ac3a88f80f58ebdf5344f0a72f7  libffi/src/sparc/v9.S
  40d8d8e5d7aa9942d5b3d161502d52b4  libffi/src/types.c
! fe8720ba3b65249ab239a55536fd6568  libffi/src/x86/ffi.c
! bd14523d22c834946fafb7f4d7d21edb  libffi/src/x86/ffi64.c
  829e0f33f9d784955a4d9026b482d027  libffi/src/x86/ffitarget.h
! 4ab47d2230118abb493faee2699ce34b  libffi/src/x86/sysv.S
! fd09f39826320b70362816b3ec9024d3  libffi/src/x86/unix64.S
! 53e481f71098524d27da490dc2b52b53  libffi/src/x86/win32.S
  1ded054093de910d9786c62bc4fe8cc6  libffi/stamp-h.in
  04e06926cecf1198af45894dc46ffd39  libffi/testsuite/Makefile.am
! 9f91003bdf681b7d6ba9be41e432c6db  libffi/testsuite/Makefile.in
  dce80ba7e038ca18591aabc6d3d2582c  libffi/testsuite/config/default.exp
! f428e5edc229b1a87ec1ca1d49917ad1  libffi/testsuite/lib/libffi-dg.exp
  a24c2116a39e098a6217e8a2179d95ad  libffi/testsuite/libffi.call/call.exp
  fe7cc6db29cc7f04692ffc0800c15a1a  libffi/testsuite/libffi.call/closure_fn0.c
  946c5b2c986a68c74abf67cf5f4c2190  libffi/testsuite/libffi.call/closure_fn1.c
--- 19488,19539 ----
  02286b8ab506a66e4ea41015fb2c4fab  libffi/src/m68k/ffi.c
  a591afdd6fceb96566ab43e4a2f2e692  libffi/src/m68k/ffitarget.h
  68712d7da5c3c036ee6a3c915294925d  libffi/src/m68k/sysv.S
! 8db0bfa21753ca1b755525ecb9787d48  libffi/src/mips/ffi.c
! 7e5652ee9324ce7de09738eb0a40634f  libffi/src/mips/ffitarget.h
  a9b002727584815726e8b4f27b59b1f8  libffi/src/mips/n32.S
! d5c6db40871a7db351fa61d5c6c26332  libffi/src/mips/o32.S
  2e24a1be4ef2e07069153d1c7dd98f3a  libffi/src/pa/ffi.c
  d37939f41706b752d955ca00b22eefbb  libffi/src/pa/ffitarget.h
  fd7540758a5d180e7a27b55187ee9b6c  libffi/src/pa/linux.S
  d23701ff3a05628dde1d8c18d2911662  libffi/src/powerpc/aix.S
  049e042e968b560f48689cfc881d2db6  libffi/src/powerpc/aix_closure.S
  41549f68aeedd29e849159d4567ede07  libffi/src/powerpc/asm.h
! 24ade1d97acb5fb9f4033f7266b5cede  libffi/src/powerpc/darwin.S
! 31cb78f1f10503180bd8dc1ea0076ad1  libffi/src/powerpc/darwin_closure.S
! 41ca1d06b65b75a1e0e4026513774dda  libffi/src/powerpc/ffi.c
  a5488f46dd8d3936dc78322e68bd4e7a  libffi/src/powerpc/ffi_darwin.c
! 946f792a8a21ad07625bb8eb9c7690f3  libffi/src/powerpc/ffitarget.h
! 8d13132c7ab5f81d40001ddd8c34913f  libffi/src/powerpc/linux64.S
! 325558a67c0c8328677344b0f5fb99aa  libffi/src/powerpc/linux64_closure.S
! b56a83f6de30a17f7421c565ba87b5f2  libffi/src/powerpc/ppc_closure.S
! d2a7592d05163f2557c76cd666c606df  libffi/src/powerpc/sysv.S
! ce1e9380f66d7d02f05383ad664a2ff0  libffi/src/prep_cif.c
  3b1e13772c2bd8ebbf51d0be097581af  libffi/src/raw_api.c
  b493eee9f034b8079060cf2a323543f8  libffi/src/s390/ffi.c
  9ef0dc6b1d0a81fb5de092076d57090f  libffi/src/s390/ffitarget.h
  b824586cfd875b7c1c6f7482800cb3ab  libffi/src/s390/sysv.S
! 1c658942b0b58707f6b66fc51fcb90a6  libffi/src/sh/ffi.c
  b09467107867053f95dbf8f5de6e1597  libffi/src/sh/ffitarget.h
! 32929aac78430f0924e3b8b9b7e60ac7  libffi/src/sh/sysv.S
! b8f11ab50d32d4f232292a5ff6e65978  libffi/src/sh64/ffi.c
  428dab3f0a468e35cacb8f9056692fcd  libffi/src/sh64/ffitarget.h
! a8cf9500590d1df61f1b457761267678  libffi/src/sh64/sysv.S
  c327d3b09d5b98a3143bc02fd3758edc  libffi/src/sparc/ffi.c
  4f88ee04ece8cef7f52a40a807a46035  libffi/src/sparc/ffitarget.h
  d8e8e41b53e8162fd60f3af758918c02  libffi/src/sparc/v8.S
  21972ac3a88f80f58ebdf5344f0a72f7  libffi/src/sparc/v9.S
  40d8d8e5d7aa9942d5b3d161502d52b4  libffi/src/types.c
! abf17f7676299406a0c52bd3bcd6d708  libffi/src/x86/ffi.c
! d9284ffa59d849a49d711487567d489b  libffi/src/x86/ffi64.c
  829e0f33f9d784955a4d9026b482d027  libffi/src/x86/ffitarget.h
! d2fb4ef14f437e6c7653cdd95d20b462  libffi/src/x86/sysv.S
! 3c45fb0f3b6e17d837bdb82e751f2743  libffi/src/x86/unix64.S
! af3e62702bd4e408e4017a4387c728b2  libffi/src/x86/win32.S
  1ded054093de910d9786c62bc4fe8cc6  libffi/stamp-h.in
  04e06926cecf1198af45894dc46ffd39  libffi/testsuite/Makefile.am
! 3fcf0724069dadf066a4f7fbf1a63dbf  libffi/testsuite/Makefile.in
  dce80ba7e038ca18591aabc6d3d2582c  libffi/testsuite/config/default.exp
! 10df917d27310d64f5b2f95cf267380c  libffi/testsuite/lib/libffi-dg.exp
  a24c2116a39e098a6217e8a2179d95ad  libffi/testsuite/libffi.call/call.exp
  fe7cc6db29cc7f04692ffc0800c15a1a  libffi/testsuite/libffi.call/closure_fn0.c
  946c5b2c986a68c74abf67cf5f4c2190  libffi/testsuite/libffi.call/closure_fn1.c
*************** eea826014bfb840bcf68346d3dfdcd67  libffi
*** 19507,19515 ****
--- 19555,19566 ----
  61f9321c3d73c8ed7063af894bd49d92  libffi/testsuite/libffi.call/cls_3byte2.c
  8df082fc51bb99de4c7ae3a056c1628d  libffi/testsuite/libffi.call/cls_4_1byte.c
  10c3062e4c0ff0ca0e90df20ea482a04  libffi/testsuite/libffi.call/cls_4byte.c
+ 905fd003b40798518e56f3d858f6117e  libffi/testsuite/libffi.call/cls_5_1_byte.c
  62be5284f5c5bb8527dfaca88c289303  libffi/testsuite/libffi.call/cls_5byte.c
  75f85bf4d0c0323801f485e33a7c3be6  libffi/testsuite/libffi.call/cls_64byte.c
+ e8a2bb0c22547b1dd93a54c0c8351034  libffi/testsuite/libffi.call/cls_6_1_byte.c
  dbdb6d2af69f9aa3bf875c492346a93b  libffi/testsuite/libffi.call/cls_6byte.c
+ 6cf8f7ca8cf3a19b77459c60e4e1a5a1  libffi/testsuite/libffi.call/cls_7_1_byte.c
  f537c64e2d4f5d5b1d97bf0219829a07  libffi/testsuite/libffi.call/cls_7byte.c
  975b016d9cd5b83ebd0122ff3e7c71a1  libffi/testsuite/libffi.call/cls_8byte.c
  c945ad2fcf487ddf8fbfd9aa51c314a9  libffi/testsuite/libffi.call/cls_9byte1.c
*************** cbc2a8621e8c8384a82e03f1ae2f5ee6  libffi
*** 19541,19547 ****
  31dfb3d9a6eef8749b1c48a97adac3d8  libffi/testsuite/libffi.call/cls_ushort.c
  56ad61fcb0a76f50c0bd1b5786acfba6  libffi/testsuite/libffi.call/ffitest.h
  0ec9c0453c7c5ab9fd2f5f9e2eae1230  libffi/testsuite/libffi.call/float.c
! ae86cec98c4d06702b3de147e21053f7  libffi/testsuite/libffi.call/float1.c
  eab98d79e404c61620101d178bc8feb1  libffi/testsuite/libffi.call/float2.c
  7d6d1a3a3cfc9d32bcd76ae40d409d9a  libffi/testsuite/libffi.call/float3.c
  f5260f5f182a88a7a32d7079b77a540b  libffi/testsuite/libffi.call/many.c
--- 19592,19598 ----
  31dfb3d9a6eef8749b1c48a97adac3d8  libffi/testsuite/libffi.call/cls_ushort.c
  56ad61fcb0a76f50c0bd1b5786acfba6  libffi/testsuite/libffi.call/ffitest.h
  0ec9c0453c7c5ab9fd2f5f9e2eae1230  libffi/testsuite/libffi.call/float.c
! e649f05b0820b441480eb308fd1f0f89  libffi/testsuite/libffi.call/float1.c
  eab98d79e404c61620101d178bc8feb1  libffi/testsuite/libffi.call/float2.c
  7d6d1a3a3cfc9d32bcd76ae40d409d9a  libffi/testsuite/libffi.call/float3.c
  f5260f5f182a88a7a32d7079b77a540b  libffi/testsuite/libffi.call/many.c
*************** c596ddb985689ec61b12aaa3d22affa3  libffi
*** 19572,20287 ****
  243f7581c06247a647a3a55b051b8d5e  libffi/testsuite/libffi.special/ffitestcxx.h
  08bb6568e653b7801b6e74501a0c8886  libffi/testsuite/libffi.special/special.exp
  2eae8a5b3ba2f1438bd633704a31b923  libffi/testsuite/libffi.special/unwindtest.cc
! ac81461263c340d1f6c7ed86a63b06de  libgfortran/.cvsignore
! 4b4fe3692d3018e79d29fad649b657bf  libgfortran/ChangeLog
! 3411a30fd64447fa5cbb0ee9827ba900  libgfortran/Makefile.am
! 38cb411b3387d3ce9270500e6a3d6555  libgfortran/Makefile.in
! 02bd06d32d0884b115e943481bc3e005  libgfortran/acinclude.m4
! 0f4f0f6dffab8ef04317b78b641c2f30  libgfortran/aclocal.m4
! 62dc194ac59f64a47d33fd5ce9b5d290  libgfortran/c99_protos.h
! a2536339d22764313d55f804cba44ae3  libgfortran/config.h.in
! f3188471940def67d345eef7784edffb  libgfortran/configure
! 80aad7550b2c31009c63b33ae9b7f145  libgfortran/configure.ac
  2e50a8343319a5542ee10ec4d8a933b1  libgfortran/fmain.c
! 826103e38cc3a1235b4aa1d9d7bdd4ed  libgfortran/generated/_abs_c4.f90
! 061436ae0e8035d552ffca04c373ec36  libgfortran/generated/_abs_c8.f90
! a657c81fb004d65834953a61ea997432  libgfortran/generated/_abs_i4.f90
! c4a6528b88051c68512390b6d0bd86a0  libgfortran/generated/_abs_i8.f90
! 65fb088560dc78c82c5153dcf6a3b0cc  libgfortran/generated/_abs_r4.f90
! 4d9341c04624fad1578b7c8dc286af2d  libgfortran/generated/_abs_r8.f90
! 3849e5ad6f128e350505d7429ccf1b8d  libgfortran/generated/_acos_r4.f90
! d4c853d76f8faf652e728624f5e61d47  libgfortran/generated/_acos_r8.f90
! 6b96c51810e96ff564f6d6746c5da472  libgfortran/generated/_aint_r4.f90
! 1ff90b6804501b2a4f2869a9788665ed  libgfortran/generated/_aint_r8.f90
! aebd8af27762396f7f24a95cfe590e3b  libgfortran/generated/_anint_r4.f90
! 5adfd6c05b80e8d36b01e27d9fb7bfd4  libgfortran/generated/_anint_r8.f90
! 0be7bea192108118fbf1c3c92cf73f8a  libgfortran/generated/_asin_r4.f90
! 3a35dba9f5aa94e2f347036306696963  libgfortran/generated/_asin_r8.f90
! a67202a73d4d3269319e5fb1f17abe7c  libgfortran/generated/_atan2_r4.f90
! 6e301f60f59d720821e97c701d6e078b  libgfortran/generated/_atan2_r8.f90
! 3b11090a5ee14b839416a503e5655b03  libgfortran/generated/_atan_r4.f90
! 0789f1cfd8c4da1157a0332f9c7c4357  libgfortran/generated/_atan_r8.f90
! 1c566ff0ffdf21f05f85ae30b595ff80  libgfortran/generated/_conjg_c4.f90
! 07aa05c8dfbd3dafaaa9a9a33552b29f  libgfortran/generated/_conjg_c8.f90
! 7a3aa300b4c2856ac24a776c8e4eb6db  libgfortran/generated/_cos_c4.f90
! fb3ef4dc1ae439e35c5add6f98727655  libgfortran/generated/_cos_c8.f90
! 63695a07cbf6ced74cf3ade8de179b46  libgfortran/generated/_cos_r4.f90
! b360a3f68869c82728686ac290b97087  libgfortran/generated/_cos_r8.f90
! 21fdb3f321f98a1bb10b2472589af9e3  libgfortran/generated/_cosh_r4.f90
! 43480b53919172e106f0981c8ac9de77  libgfortran/generated/_cosh_r8.f90
! d62f5c677ac136e03bf63723b4096666  libgfortran/generated/_dim_i4.f90
! 594bbcb5609a7ce6d8262b0e421f3d02  libgfortran/generated/_dim_i8.f90
! 802324fb6775b5bf469081ae5ff81b27  libgfortran/generated/_dim_r4.f90
! 13205abb3964db47e02f25296655501a  libgfortran/generated/_dim_r8.f90
! 9340ab59fc2f0d9ff76ff16a58057ac1  libgfortran/generated/_exp_c4.f90
! c185f5b5c48e7fc6d21f25435808dfa4  libgfortran/generated/_exp_c8.f90
! 16f0d42fb368a839cfbf2630bfe13a58  libgfortran/generated/_exp_r4.f90
! 465605dcbf83a7a484ac8d4a227471cb  libgfortran/generated/_exp_r8.f90
! 1c6c6bcdd38f642e9573d7bc63ee5578  libgfortran/generated/_log10_r4.f90
! 574ef980a3ad08c2ba7b7db06ae01f1d  libgfortran/generated/_log10_r8.f90
! 8ce4c8b094c80a034344a7c768ccafec  libgfortran/generated/_log_c4.f90
! 44058c1af6529844d676f21981b73de6  libgfortran/generated/_log_c8.f90
! 4e414696da88cddb769f72f93f6534f5  libgfortran/generated/_log_r4.f90
! b1192584584b1b44ca630fc236d3446a  libgfortran/generated/_log_r8.f90
! 19433342e480b6788649c1c328a0f04e  libgfortran/generated/_mod_i4.f90
! 5cca3b2d4cb6f52ebb7dc9b3d1ce1b38  libgfortran/generated/_mod_i8.f90
! 5ba71148af04d7a2cb40b3af863f2dc5  libgfortran/generated/_mod_r4.f90
! e0d6d411fad780c102d47e2aab9d3855  libgfortran/generated/_mod_r8.f90
! 606184a28a2dfb3d164733673ba0f5b7  libgfortran/generated/_sign_i4.f90
! af8664d2f76f30ac477193720edb3b52  libgfortran/generated/_sign_i8.f90
! a55ee4ddf310c82af3b83ba5b1996ef1  libgfortran/generated/_sign_r4.f90
! 8747ffd37b88fbe264401680a72caac8  libgfortran/generated/_sign_r8.f90
! 806da782f3ab54acae6e3f7671e63e3e  libgfortran/generated/_sin_c4.f90
! c2c35724a6755193c3099e0124c0c23d  libgfortran/generated/_sin_c8.f90
! ae25ca0ceccddb4791daf5db5c818658  libgfortran/generated/_sin_r4.f90
! faba29979271133b8a426a927ef3eb27  libgfortran/generated/_sin_r8.f90
! 0ae3824054edaf2550a09b22a3ba0abd  libgfortran/generated/_sinh_r4.f90
! c113a9bfb0effc5cb8d4f9c1b73cf435  libgfortran/generated/_sinh_r8.f90
! c4e7296d3211b2f2e96cb517fed49a62  libgfortran/generated/_sqrt_c4.f90
! 33fda20b1af8a63928834d1741047f5a  libgfortran/generated/_sqrt_c8.f90
! e8b4646951c62f5e8fc27d223bb0be80  libgfortran/generated/_sqrt_r4.f90
! 11a841f5cac00017593b53fac50b2ee5  libgfortran/generated/_sqrt_r8.f90
! 078fe74104507366b301da6fc3ccff33  libgfortran/generated/_tan_r4.f90
! b68adbd323960885123369362420cac4  libgfortran/generated/_tan_r8.f90
! 88dc464bee4ed5e17d61d8be632cd96b  libgfortran/generated/_tanh_r4.f90
! ed7ec50e815dfc08460e48e1ecee4b88  libgfortran/generated/_tanh_r8.f90
! 258b70c45711544ffe916584fa6d1bdf  libgfortran/generated/all_l4.c
! d23d61021feacf8015b4c27cdf92fb67  libgfortran/generated/all_l8.c
! 9ea091bb781c207d928c5d2e1a88b683  libgfortran/generated/any_l4.c
! c6d4713c096cb84fea7a706b1a092f59  libgfortran/generated/any_l8.c
! 0e8bf8868ffb8883e285ee430f3c4600  libgfortran/generated/count_4_l4.c
! 137237a613b44ad09a35f59be46e7ef1  libgfortran/generated/count_4_l8.c
! 49349377f820a9763fad626eb2b37c62  libgfortran/generated/count_8_l4.c
! 004b5f310e26be934d6aa351db4d744f  libgfortran/generated/count_8_l8.c
! a50012124d92627e2374dfbe6ed43ce7  libgfortran/generated/cshift1_4.c
! e258a6cea377d2b80267db3f854a5462  libgfortran/generated/cshift1_8.c
! a9287bfbfe67e7598cb03756e59d23fb  libgfortran/generated/dotprod_c4.c
! 8a05efd7da1f9ef942b3febe9125cc0f  libgfortran/generated/dotprod_c8.c
! 2bae8fbd6c128f51419f6834a8167d00  libgfortran/generated/dotprod_i4.c
! f44fc7d383eb1f18773127c0df7ca589  libgfortran/generated/dotprod_i8.c
! 44c28a9a9c1ac59c1ac69e95a1ec318a  libgfortran/generated/dotprod_l4.c
! 5c5da25a75c645d1bacd691a1f19ad24  libgfortran/generated/dotprod_l8.c
! 2c9375471781b8ad26a04662335bebe9  libgfortran/generated/dotprod_r4.c
! 7907f8258a0812c261af534a3e3185c1  libgfortran/generated/dotprod_r8.c
! e61151262bf60a73fd3de9297326ca88  libgfortran/generated/eoshift1_4.c
! 43b38abd2557d85d285601e0253cd33c  libgfortran/generated/eoshift1_8.c
! 02fbaf56be13ce6fb9175945024e6c8d  libgfortran/generated/eoshift3_4.c
! a04cdcff2415e0d505d0ddad66a23bca  libgfortran/generated/eoshift3_8.c
! 203887f748ccfd7eaf199d5874e31bc8  libgfortran/generated/exp_c4.c
! 2007f9f71453a96f2f838a1b5260da28  libgfortran/generated/exp_c8.c
! 07ecefdaa18ae3f7867bcdd603f8bc12  libgfortran/generated/exponent_r4.c
! 6dbfac23ca7601c211379e437c94a8e6  libgfortran/generated/exponent_r8.c
! fb6531032897fe552fa6efdb7f8a9145  libgfortran/generated/fraction_r4.c
! f71aafc245520f07109de99063da3f3b  libgfortran/generated/fraction_r8.c
! 17fe91ca9d515a5c0b1899e1c4838cc8  libgfortran/generated/hyp_c4.c
! ba78a0c79d9c588bc07d9101e255bb23  libgfortran/generated/hyp_c8.c
! 98c78b978ef8ae8d3141d01bf01ea924  libgfortran/generated/in_pack_c4.c
! 487827d8e84c2234e1315e2dd035a786  libgfortran/generated/in_pack_c8.c
! e5dacb83ea1283e0f6c902c223b98fc9  libgfortran/generated/in_pack_i4.c
! 1a0565274cd98939ac484f42aef75d36  libgfortran/generated/in_pack_i8.c
! 1befbef44d4ac2f2b6b80f418953ba39  libgfortran/generated/in_unpack_c4.c
! 795dd9d62bfad0c10a8a487830fd1778  libgfortran/generated/in_unpack_c8.c
! 42dd9e8e4fedc5c4ff0b867651a7ec7e  libgfortran/generated/in_unpack_i4.c
! 954f844caf9d50fc7a139e323912cd63  libgfortran/generated/in_unpack_i8.c
! ce8a9318e1dc106e79d2cf85cd177fd1  libgfortran/generated/matmul_c4.c
! 2fcd6f3149903835cde0d5e6d109c9e5  libgfortran/generated/matmul_c8.c
! 974aca30b354c95882a726de7cc9ed1f  libgfortran/generated/matmul_i4.c
! ca86fad8e0eb742e61c9ced3c843b596  libgfortran/generated/matmul_i8.c
! 43982bfe1ff7ac732546ddc130573bbf  libgfortran/generated/matmul_l4.c
! f8b210fbf5ee8658f5d18fbab2c562f4  libgfortran/generated/matmul_l8.c
! 568473b3b614a6cef79fc09a6e8b90e0  libgfortran/generated/matmul_r4.c
! f0fb3083fadcdef8edb30dab99ceaacf  libgfortran/generated/matmul_r8.c
! ec3e749f29ce13ff212e16a929e0d327  libgfortran/generated/maxloc0_4_i4.c
! de6b3692d0498bcc5c21f4faa2d5d3ab  libgfortran/generated/maxloc0_4_i8.c
! b95aa8d2501da80d17a698a6400121d5  libgfortran/generated/maxloc0_4_r4.c
! aaa8be32fe2a1eae2ac4a1d777860047  libgfortran/generated/maxloc0_4_r8.c
! 996d7cb02ee04efaf3af86b18b2e012f  libgfortran/generated/maxloc0_8_i4.c
! 4a9263060d38d8e14f856b475f06765c  libgfortran/generated/maxloc0_8_i8.c
! e6346fe953ab6fcbf993ff7d5cb30ed5  libgfortran/generated/maxloc0_8_r4.c
! 4d12b413b85f3d91fe5424f64171f207  libgfortran/generated/maxloc0_8_r8.c
! 91877b0d26be11cd8a06d6b18fb3f734  libgfortran/generated/maxloc1_4_i4.c
! 4760774665f26cf7571ce23fe7527c2c  libgfortran/generated/maxloc1_4_i8.c
! 1c546943e10b8ae26211f229f9133c49  libgfortran/generated/maxloc1_4_r4.c
! a614ac6133bf0d68a096c61f186f2533  libgfortran/generated/maxloc1_4_r8.c
! a7610e7ca5af2addce2d9daa8ce86884  libgfortran/generated/maxloc1_8_i4.c
! 93ee1868048cb7ae3d3eebb85e9cc1c9  libgfortran/generated/maxloc1_8_i8.c
! da24af3d83e9ac52dc524b7ec10215fa  libgfortran/generated/maxloc1_8_r4.c
! 99e02c3b3839e10a69ee9bbacdc862d2  libgfortran/generated/maxloc1_8_r8.c
! 6cc8ff064edf67040e3888cf79018629  libgfortran/generated/maxval_i4.c
! a4d17cb3bb8692f68f8d1cb46cad834a  libgfortran/generated/maxval_i8.c
! 1bb5b3acf542db8e0a11d17ead3b4b5b  libgfortran/generated/maxval_r4.c
! ce6aaee1920998f2006eaee42bd829dd  libgfortran/generated/maxval_r8.c
! e21e43d58f2dbdfcfad7db379e89cd42  libgfortran/generated/minloc0_4_i4.c
! 4775c9a1d547f214700838c92c34315b  libgfortran/generated/minloc0_4_i8.c
! 9448620c4c662fcef51bf7250bb9e31c  libgfortran/generated/minloc0_4_r4.c
! ca256e34b4b81f5cb9cc209e10795c6e  libgfortran/generated/minloc0_4_r8.c
! 17b812776d83f92888732ad14378ca90  libgfortran/generated/minloc0_8_i4.c
! d92866b0ec807b379f1306dafb05a1b8  libgfortran/generated/minloc0_8_i8.c
! 3571fa005b8125df9660f6a5f8f335d0  libgfortran/generated/minloc0_8_r4.c
! afcda7cf9abb9a4fa4947c395591dc5f  libgfortran/generated/minloc0_8_r8.c
! 645ee204f606cbd2c85e1089ba1f599a  libgfortran/generated/minloc1_4_i4.c
! e05a9061d622ffe747c0f4806691e474  libgfortran/generated/minloc1_4_i8.c
! e7b61205680ea3d57ee8b0b05519dd5d  libgfortran/generated/minloc1_4_r4.c
! 3446cdb76360d34710a4592afec0c73c  libgfortran/generated/minloc1_4_r8.c
! 5d3f1ff9123e6e774ca4e25e2e957c5f  libgfortran/generated/minloc1_8_i4.c
! 1655b3d2bbea90943792e17d509e224b  libgfortran/generated/minloc1_8_i8.c
! 29ff9c9253799c130002e95e814cf47e  libgfortran/generated/minloc1_8_r4.c
! f7454febc517fb2ea034300cd1f56392  libgfortran/generated/minloc1_8_r8.c
! 1334a059d1e886f10d00bccf3df87e45  libgfortran/generated/minval_i4.c
! c3722877e11c36c428db578fa255be1d  libgfortran/generated/minval_i8.c
! 9ee1904d52a1f4c67f71ed79a3767cb5  libgfortran/generated/minval_r4.c
! bb0f78b193769c2de0101977b205310a  libgfortran/generated/minval_r8.c
! 79465f17f3c564cd6ce997124c3b8e4e  libgfortran/generated/nearest_r4.c
! e24cba904b982b606eda0ec3433ae214  libgfortran/generated/nearest_r8.c
! 23a28274b16a5a1a0caab1d11dac7177  libgfortran/generated/pow_c4_i4.c
! e1df05421081abe3a27489428bf7532c  libgfortran/generated/pow_c4_i8.c
! 629732c221b232a53b9fef49ca6ace46  libgfortran/generated/pow_c8_i4.c
! 477207c1e6dd8094b49e5f3596396282  libgfortran/generated/pow_c8_i8.c
! a973d94021ea16e36bd97a89984926fa  libgfortran/generated/pow_i4_i4.c
! 5fdcd234bc5ceaebf54ab156e6335933  libgfortran/generated/pow_i4_i8.c
! b2b62872253a60c7b38d71aff9bac236  libgfortran/generated/pow_i8_i4.c
! 5d12ca7e6bd3e668f91f521fb90383b4  libgfortran/generated/pow_i8_i8.c
! b9879c2026a0c34ef0ac5cee1fd96c43  libgfortran/generated/pow_r4_i4.c
! cd42b686a57842d24af44fab0f787d7c  libgfortran/generated/pow_r4_i8.c
! fac8ceb2086a9991b71d6ee894924d44  libgfortran/generated/pow_r8_i4.c
! 2c50e1cae2a4ee5ecdc5a4acdf0497a8  libgfortran/generated/pow_r8_i8.c
! 05dbde9e4011ed8a6f6501438dfbd0d6  libgfortran/generated/product_c4.c
! b46dd9787dc50a7eb60a6d55783439c9  libgfortran/generated/product_c8.c
! 395eaabc62015ef5a2405ddea1c71a9e  libgfortran/generated/product_i4.c
! f5e56e7f09f6b71de378e00b1b6a5233  libgfortran/generated/product_i8.c
! 003e99ca64c0c0bab2d8289b2e94e620  libgfortran/generated/product_r4.c
! 09d943272f81c200f79c212e53353963  libgfortran/generated/product_r8.c
! 1943f854f0851f71195846906288ddf7  libgfortran/generated/reshape_c4.c
! f76d496b57a7bb4186f6fc9be23dcf8d  libgfortran/generated/reshape_c8.c
! 76df372102c4abdb7036952effed1a85  libgfortran/generated/reshape_i4.c
! 8c504b0d4a8f28db90071a4e145f929c  libgfortran/generated/reshape_i8.c
! f1a821fb3260213f8e873ce2bba395c4  libgfortran/generated/set_exponent_r4.c
! 8026d8c44e9d501e54d07a62a38d396d  libgfortran/generated/set_exponent_r8.c
! b647e47c53a06ca59a358f08249173e6  libgfortran/generated/shape_i4.c
! 69f976b9d883b7017d859e678281ef16  libgfortran/generated/shape_i8.c
! f6bb20989f57f0ea7c610cd654a35d43  libgfortran/generated/sum_c4.c
! 7fe9c4964bb1e529373af855347abfd1  libgfortran/generated/sum_c8.c
! 2352e5b146625c8735be71e0ff18e408  libgfortran/generated/sum_i4.c
! c5dbb6a74d0e192f94c00dec41314f60  libgfortran/generated/sum_i8.c
! 4a154371c8e5ebe3a2e4ceb7b7f73b10  libgfortran/generated/sum_r4.c
! a03f6d761a0476c7e7114af7d3010a97  libgfortran/generated/sum_r8.c
! 87548cf31bdac03b00c42893d8db392e  libgfortran/generated/transpose_c4.c
! ceadbd7c7eaa837f846878dd713291d6  libgfortran/generated/transpose_c8.c
! dd5fdb0b3f815a1641dca1dcfa4b859d  libgfortran/generated/transpose_i4.c
! 020adfd67ac8177ad1a2a0f2c23265f4  libgfortran/generated/transpose_i8.c
! 9bb0e958166371633af97824e11c911c  libgfortran/generated/trig_c4.c
! d535904fb19922b2a9af0e5e879e80aa  libgfortran/generated/trig_c8.c
! 31f49387fdf2ef7f757c4411f6871021  libgfortran/intrinsics/abort.c
! 7344924d9ea166d8efa642b60f124878  libgfortran/intrinsics/args.c
! df6c4ad435a9df68d332654ee4d20cd8  libgfortran/intrinsics/associated.c
! 7cc838a6565a51110cbfebe512cfa2e7  libgfortran/intrinsics/bessel.c
! f7fa8bb56f932d07ba3537fc27124424  libgfortran/intrinsics/c99_functions.c
! fb812afb49f5b0a2a632fa263faa80fa  libgfortran/intrinsics/chdir.c
! 7cab653a4aa99155bc440a51ae8de1d9  libgfortran/intrinsics/cpu_time.c
! 1b20760585fab97b1f1117faa9d973f2  libgfortran/intrinsics/cshift0.c
! c7d997ceaeec17c314e88f2fb679a3e6  libgfortran/intrinsics/date_and_time.c
! a2836aacc50ea68c9c59943dd65fb281  libgfortran/intrinsics/dprod_r8.f90
! ffbfef914857fbd1fc28a444f84ed205  libgfortran/intrinsics/env.c
! 00d29a4741524a2cf9035747311aac22  libgfortran/intrinsics/eoshift0.c
! 021326df44e45a19031bd25d51a0bcce  libgfortran/intrinsics/eoshift2.c
! c47e895dc5255d7884c8994390c69784  libgfortran/intrinsics/erf.c
! 54874863b0e428b395aa03008a1ecfc7  libgfortran/intrinsics/etime.c
! 3364fa3e7e65fbba305fd7995f6d1a6b  libgfortran/intrinsics/exit.c
! 078222cc3bcef6f7a1cd8505f14b2fd9  libgfortran/intrinsics/f2c_specifics.F90
! 9eb6cc2d85baba9fb5c248e0f6eef845  libgfortran/intrinsics/flush.c
! db49af9d62c64663236de03eae1816b9  libgfortran/intrinsics/fnum.c
! e92bf810821010484fa017e509c576b4  libgfortran/intrinsics/gerror.c
! 900615c610d969cd6016432e26cb48d0  libgfortran/intrinsics/getXid.c
! 5b9faa70b782fce70bf4e1bc8ff50dd2  libgfortran/intrinsics/getcwd.c
! 0a7a18fa74da7298aac8411aeda91889  libgfortran/intrinsics/getlog.c
! 3f750500ff5c1308b22a5c6d138f4058  libgfortran/intrinsics/hostnm.c
! 17c8d0fc219c32c1bcc87a9ce0f44619  libgfortran/intrinsics/ierrno.c
! ed44d2f85ce5d980cede12cd393c59e2  libgfortran/intrinsics/ishftc.c
! 388d8cffe18a4e3470c69f42374ea500  libgfortran/intrinsics/kill.c
! b064a8965d0f8fb3c21c32a3f3d4af68  libgfortran/intrinsics/link.c
! d9743af29e415d30e2b78847641ed346  libgfortran/intrinsics/mvbits.c
! f2ecb459ac3cbe988faadbbee983be36  libgfortran/intrinsics/pack_generic.c
! 5f6e2cb2fdd3db880739a99e593d6020  libgfortran/intrinsics/perror.c
! 2a8b75614b6ba377dbe5314b322ae242  libgfortran/intrinsics/rand.c
! e8a8a4d4dd77ca332410517af2c67b2d  libgfortran/intrinsics/random.c
! a899b41be59684cd1eae6e4da1659143  libgfortran/intrinsics/rename.c
! b1b07ecd234a24192ef4557947fc579b  libgfortran/intrinsics/reshape_generic.c
! 0bc0455d1d3c7402ab5132e2d50b5e0b  libgfortran/intrinsics/reshape_packed.c
! 8c6f39d21c98ffaf609a2e1362add33c  libgfortran/intrinsics/selected_int_kind.f90
! da5d4c58b20841cbb19da80dc08b1020  libgfortran/intrinsics/selected_real_kind.f90
! e4cab2a48cfff52b1a7af692c49f1c3a  libgfortran/intrinsics/size.c
! ad8d7b865ad257a1d506d646a4876649  libgfortran/intrinsics/sleep.c
! d39c840658c8b7c0a25b4b3d9b8e7e4a  libgfortran/intrinsics/spread_generic.c
! 26e2cf756fcb3a1105e98c1d82cd8266  libgfortran/intrinsics/stat.c
! d5261211b2002015ad06bcc624663e37  libgfortran/intrinsics/string_intrinsics.c
! 94785ea6db9a06951886499ccc4b49ff  libgfortran/intrinsics/symlnk.c
! be28fedc944c743cd4798bc285df0ee4  libgfortran/intrinsics/system.c
! c02b7b869306e4a2b6244212acca3736  libgfortran/intrinsics/system_clock.c
! 8e0ec01faa7f1f82ae9144565a05cbde  libgfortran/intrinsics/time.c
! f37075d2b5cd9fe363532a14c53806d2  libgfortran/intrinsics/transpose_generic.c
! 1db684868740ccf732a485c4e41186b6  libgfortran/intrinsics/tty.c
! 32077598351014bfd13d77df30abcfb6  libgfortran/intrinsics/umask.c
! 24ec216dab72c5bf01ef1463ac4c5a50  libgfortran/intrinsics/unlink.c
! bf7217e830ace4b32083966009a20c01  libgfortran/intrinsics/unpack_generic.c
! 4d6996f29f26754121fe54907c7847d7  libgfortran/io/backspace.c
! e47d458213cbd78b7ed76f2e7e3d91bf  libgfortran/io/close.c
! 7f325dbe11a4cc88fb6f411b821e8d88  libgfortran/io/endfile.c
! 960f3dd048091c39e8810bcd13631a8b  libgfortran/io/format.c
! d7690b35ee5c1d671fe8421e2b72ee44  libgfortran/io/inquire.c
! f2c75e78c31dbf436830cb61e43e70c9  libgfortran/io/io.h
! 373d25de2f08a8fdaf74ef8a189234f0  libgfortran/io/list_read.c
! 416bd1bba67c887e7fbbfea385aee956  libgfortran/io/lock.c
! adbe030b72eb5c8745d72116710b2207  libgfortran/io/open.c
! 19d96a3b2e0cbf602fadff5977783258  libgfortran/io/read.c
! 1dadcdb3f22becc5c1afa3076d2bd5f7  libgfortran/io/rewind.c
! 62200a1643dae87f8ca069dc5625b26e  libgfortran/io/transfer.c
! 2825319bf833888af32b993f907973d7  libgfortran/io/unit.c
! 9450c07b725677e02361161a42a1b81b  libgfortran/io/unix.c
! 71c51219f57561a6e4ed8229fa97684b  libgfortran/io/write.c
! 6637fc1658fa03408bb4d79175e1a51a  libgfortran/libgfortran.h
! 77280bb7ee423875e03d9c0d34527df6  libgfortran/libtool-version
! 3cdbce398c5f4c6fe469b2a81ab59fc5  libgfortran/m4/all.m4
! b4a9ccfebdcccbdbfd3317333ef076fe  libgfortran/m4/any.m4
! c91041bfea172386a6307aaa19fc4e6a  libgfortran/m4/cexp.m4
! 7eb358a48bf4f65944f3eecce7c3f528  libgfortran/m4/chyp.m4
! c06a7e41060b632fdaea36f718c0f874  libgfortran/m4/count.m4
! 09a2b5b10fd02c1fc8ef61192a6e61d7  libgfortran/m4/cshift1.m4
! 3a5ba7e8caddad1e87329441b7613448  libgfortran/m4/ctrig.m4
! c814caab07301c48ceed2e6bcb437366  libgfortran/m4/dotprod.m4
! af873c0e5ddae082a6eaf0acf09b10ea  libgfortran/m4/dotprodc.m4
! 3ec7e42922d764cef16481cb0af19f8e  libgfortran/m4/dotprodl.m4
! feb49d01f2ca758fdd4d7741a23e1731  libgfortran/m4/eoshift1.m4
! cf7bbb3728a008f5b19797d5ea4d5971  libgfortran/m4/eoshift3.m4
! 9140ed429e790301035f869f68e64ed4  libgfortran/m4/exponent.m4
! a0e6f7c1300b8de8e893d4b091c3ca22  libgfortran/m4/fraction.m4
! 9a7a1bd533e63f6f08c5974ed0006849  libgfortran/m4/head.m4
! 240e63a6055482b2b9411d10eb718dbd  libgfortran/m4/iforeach.m4
! 55b29765593eb0c3186b019597d414ed  libgfortran/m4/ifunction.m4
! 57cc52bd3ff2b2ea70098237bc37e258  libgfortran/m4/in_pack.m4
! 7e2e91d1060b89384216340d857fdabe  libgfortran/m4/in_unpack.m4
  af7950241e7e076f2ee76579ae3d4426  libgfortran/m4/iparm.m4
! 05a7a811f03e27329da12a7899a97c5f  libgfortran/m4/matmul.m4
! c1455c490742473a9e68fed46680a9a1  libgfortran/m4/matmull.m4
! 9c29cd6c7a1d554b76e9c504369ea003  libgfortran/m4/maxloc0.m4
! 6d8b3501e5e9e513f5c1cbe262e2b4a9  libgfortran/m4/maxloc1.m4
! e001b3008618c0ac13a638771c4f32ff  libgfortran/m4/maxval.m4
! a70114c21be92b9517d84f7ba16ecda4  libgfortran/m4/minloc0.m4
! 037a885cd28535af8a284d6b4c314705  libgfortran/m4/minloc1.m4
! fbb375022f2c3e32a2a73d4b87129d51  libgfortran/m4/minval.m4
! aa3a3d15fc845d4badf5a5c7e80bb27a  libgfortran/m4/mtype.m4
! bb40607fc04eede98aaa0a141ea437bb  libgfortran/m4/nearest.m4
! 2bd89336b8fecdc6631a59275e11ef34  libgfortran/m4/pow.m4
! e6b3c6d325fb2681a80bcbe817130322  libgfortran/m4/product.m4
! e5669a57e7e9a27d00aa7d194e28b2fd  libgfortran/m4/reshape.m4
! c50c0b8aea26a55fd23e4514634cf0d5  libgfortran/m4/set_exponent.m4
! 3a6284b8301eafda7cd1e1c2e839eb4e  libgfortran/m4/shape.m4
! 14e55bc4619d14fe17f23af68c90a235  libgfortran/m4/specific.m4
! c84956a588edb20a903bb8bb657657ad  libgfortran/m4/specific2.m4
! bb7ee3977887ad63e8552dcd91d24463  libgfortran/m4/sum.m4
! dde266266b65465992b5991c47f59e23  libgfortran/m4/transpose.m4
  0ad0318f00c85db29d184dc3dff12276  libgfortran/m4/types.m4
  cd5733452b05f18d7cce28e6b3ed1e34  libgfortran/mk-sik-inc.sh
  69dde50e05115bbc693fded21eebb445  libgfortran/mk-srk-inc.sh
! 4cc7ba470e0b619f14e22ac6b4df6d0d  libgfortran/runtime/compile_options.c
! 5b9dc7287f531c8d64a5e95c4e4aedbd  libgfortran/runtime/environ.c
! 4bdb80a4d8c5fc6f872ede62e84d6298  libgfortran/runtime/error.c
! 1f19ffe4a29900620cbf402a1b1a4767  libgfortran/runtime/in_pack_generic.c
! 5672e771dba2407f2298f22ef0c71300  libgfortran/runtime/in_unpack_generic.c
! 60211e912d43d314552171f50be2f1e6  libgfortran/runtime/main.c
! ce58317d779590734d91054e1ebcf2b4  libgfortran/runtime/memory.c
! 2770a106f1d53a4be54bcc7327470971  libgfortran/runtime/normalize.c
! 9cf9c9b207a5152cb04a80d9df81792a  libgfortran/runtime/pause.c
! ad0f0310d39954660a355219a0b79b48  libgfortran/runtime/select.c
! 46a97b520066e767a3c08b380c366394  libgfortran/runtime/stop.c
! 8b14237743c726920a5f02b6ac9592c6  libgfortran/runtime/string.c
! 7fbc338309ac38fefcd64b04bb903e34  libiberty/COPYING.LIB
! b0f08fa61ef082ee15435aaee45db946  libiberty/ChangeLog
! 6d4c2580e2ab4f45a305ede094998336  libiberty/Makefile.in
  294191545dc71f5ad13229b0a5bfd7b1  libiberty/README
! 5b535b62413b3770aeca6d516e0d6325  libiberty/_doprnt.c
! 7205cd3b640330a0caee1bb3d7a7076a  libiberty/aclocal.m4
! e9ff099df53462f7df5a268e290f39c2  libiberty/alloca.c
! d105d43b25b5a5967d6bdbd3896f3666  libiberty/argv.c
! d7dc1f8a85ce158eb03a1caa6dc4544f  libiberty/asprintf.c
! 7f287b3ca15a90be56f7c3a16c173765  libiberty/atexit.c
! 4c66c13dfbbbb1d40d3df3e372faecc8  libiberty/basename.c
! cbdf255d69208be101da878ed2a52d26  libiberty/bcmp.c
! cdc3e09fe5ca8e250ef3ab38d77e63fa  libiberty/bcopy.c
! d09d6a99ec0ae4b43b4f9bd38a65fecf  libiberty/bsearch.c
! 440895d178199c0a1ce1562d7b19cce3  libiberty/bzero.c
! 99712b511be511b380f9561e8f94f251  libiberty/calloc.c
! 564e36eb3ffdf2492724309477bdba44  libiberty/choose-temp.c
! 7af729f41caa18c07461d9894a4e2a28  libiberty/clock.c
! db12eb172b1675b0ebbff211b9834735  libiberty/concat.c
  fdaf5fdc2a84ff34103604588aea1a3b  libiberty/config.h-vms
! 257e628b640593358b0c5dbec851f315  libiberty/config.in
! 556411b44a957219c953a1a61e522b78  libiberty/config.table
  4004fdcde347fda58406b4b84a995c66  libiberty/config/mh-aix
  7b65854f594c84e80295173de277b3dc  libiberty/config/mh-cxux7
  044204f5b4bcac5eae2face0602129ae  libiberty/config/mh-fbsd21
  904bdcd9daf97fa55a9ca8901ffe7435  libiberty/config/mh-openedition
  38e76da568ab25260754fdb9d5080513  libiberty/config/mh-windows
! afb1b21f50cd4d7adbb90111232946d1  libiberty/configure
! 0207d7ecca8e0661bd6734c220d2ce87  libiberty/configure.ac
! 373c5062b80c1f8c030fcefd5bdc9e6c  libiberty/copying-lib.texi
! e3dc621adfe4ff6730b6510641537ea4  libiberty/copysign.c
! ca6749dc0617d80a69ca7aa9bcbca216  libiberty/cp-demangle.c
! b29996cf3b0c1fd430178d9d21274f2d  libiberty/cp-demangle.h
! 710711092973e0580e43a93f57d9474e  libiberty/cp-demint.c
! d02c2a47ceec54676fa8221674340718  libiberty/cplus-dem.c
! 069562b9bb3712513c7a0b017a12f271  libiberty/dyn-string.c
! 846c5e5797cff2d03945fdc045c06cd5  libiberty/fdmatch.c
! 880a3787b2519407b6b6b6138b627c91  libiberty/ffs.c
! b1ab4811c02803a3d2ed8bf611d44632  libiberty/fibheap.c
! 68e7c391a5deb0d1ce33c1832d0567b7  libiberty/floatformat.c
! 5a0e7522053fc29b178bcd5ee644aaee  libiberty/fnmatch.c
  30a2550d37938d1e3354632161ac1d0b  libiberty/fnmatch.txh
! a83b9fa741638bd0bca5182dd69355ad  libiberty/fopen_unlocked.c
! 56a1d6ebafda18d027897637dc693da8  libiberty/functions.texi
! 372093196abf4e95605e71908a6b1a41  libiberty/gather-docs
! 81053feb399b85f027c34d3f81f803c2  libiberty/getcwd.c
! 90ab3f8e537a4a950cb6e33224995e3c  libiberty/getopt.c
! 5fd11388f488b53ec69eeb3e71161636  libiberty/getopt1.c
! 8ff0eec816410579eaba5f8a7d344d16  libiberty/getpagesize.c
! 163b78dbb9c54e4309a6e6ad8b75f365  libiberty/getpwd.c
! 6b1a3bf9f11deb195411cb3a81367aeb  libiberty/getruntime.c
! 0b5c47943d67a3755d7c9967dc2eebf9  libiberty/hashtab.c
! 1c0e78f1f5b82f68ef3b0ab27bafdc39  libiberty/hex.c
! 5d62866e7afd8f107daa8b78e25ffe6f  libiberty/index.c
! 6ed63c8ebf03f39587c4e94168c397e1  libiberty/insque.c
! 8095916864bd273f9aa6a8ad82835c3e  libiberty/lbasename.c
  18b9304d730b955b7e77b09e91d50418  libiberty/libiberty.texi
! 44b18d3583ce02eae3b33f1a8dc219d5  libiberty/lrealpath.c
! 0fd9f0b3e810378c0119bb0bbfa71418  libiberty/maint-tool
! 6fc79a46ae7d6d544a8532ad8a240b08  libiberty/make-relative-prefix.c
! 9d92e1eb73e143f9929e5dd2f206c380  libiberty/make-temp-file.c
  e331b31ce1cbf27a44f2fbeb54fa7b17  libiberty/makefile.vms
! f4dfb207df40e10bd11308e0ce3ce6a2  libiberty/md5.c
! 779184f152031d9e89e7a2a9a391d0c2  libiberty/memchr.c
! cdbdeda3aa5ead4a36801fadc3f146a8  libiberty/memcmp.c
! 24195385014105e131223c01a804f443  libiberty/memcpy.c
! 397993b1bae5f3599d20edfa9a83526d  libiberty/memmove.c
! b175cc1b085dffa46a41dbe21686ef15  libiberty/mempcpy.c
! 80908dce1ac75994099637449014ef87  libiberty/memset.c
! 570331eb7d8c6e008cbb4988539d17aa  libiberty/mkstemps.c
! 969668698375a7ecf08bc086b9613a31  libiberty/mpw-config.in
! 54c65d1bafd7d8d29b9d29761d977020  libiberty/mpw-make.sed
! 9de6f56befd6350286f5a42836a8433a  libiberty/mpw.c
  7897e43bedd2def4beb6eb73003efa68  libiberty/msdos.c
! b706ad2fbdb4ed4f56e23b97bbeef477  libiberty/objalloc.c
! 0b098dc2e9bb206f6c642981a8306c60  libiberty/obstack.c
  051d336f4d87cf832d5adf343a10cbe0  libiberty/obstacks.texi
! 087f5237d8b7fff69418811efec227e6  libiberty/partition.c
! 1446d025a5106b528dd68a4a30bd9794  libiberty/pex-common.h
! 316a7c2d1f782c47f715dde7eaa48faf  libiberty/pex-djgpp.c
! 5949dc1e0a5865570a8c462f794bc88c  libiberty/pex-mpw.c
! 9016bdcbb5f2f04001165c88178c0c05  libiberty/pex-msdos.c
! dfc59121719c673229b4d57fa6102e7d  libiberty/pex-os2.c
! 296a33db095578f8f0c9bd125cc8a88d  libiberty/pex-unix.c
! 49774af6de2338be2f2c8d19e4cfb9f3  libiberty/pex-win32.c
! f45d0f6037219afd14080d7ddd7199f0  libiberty/pexecute.txh
! 063fdcd29dc11c6e1b9fa27573075f06  libiberty/physmem.c
! 5925c1d64a6e31ffabbe2fd74d65960b  libiberty/putenv.c
! 504517a55f72370938a142085a4fd57b  libiberty/random.c
! dd14fb73b7a6df165351f06d413b7722  libiberty/regex.c
! ae878fdfb59df3c8bfba85bb4487543a  libiberty/rename.c
! 4c0be9f784bf4c61bc89098eebc6e575  libiberty/rindex.c
! ad466048c0305c4348d1580f76acc53e  libiberty/safe-ctype.c
! cf9cc42905f451f49e3a24a45bcb77bc  libiberty/setenv.c
! 56e3dde90b64b261c6ddd7e2da7faeb2  libiberty/sigsetmask.c
! d043445f610b855cf628b72e75e0df3e  libiberty/snprintf.c
! bcd38bbff8e80df6e908d7ee57d7b681  libiberty/sort.c
! bef51eff7a41882d4763c4157d06feba  libiberty/spaces.c
! c08238baaf9e8e7f273ffedd3cf4539a  libiberty/splay-tree.c
! e1e2c4f1af5569c3e5c98104737bcf76  libiberty/stpcpy.c
! 2ebe7af7eb364da1cabfe63fc01100da  libiberty/stpncpy.c
! 3c49bc872649b875bc538b2eba35673a  libiberty/strcasecmp.c
! 215e80e7d6c184653c73bd04ba1353e9  libiberty/strchr.c
! 6929380bdc5bb0e6c00b6cc71854a3a3  libiberty/strdup.c
! 51997ebbfe999aa08152c9d6322c520c  libiberty/strerror.c
! e4c888912855032c9b8f69d6075f10ee  libiberty/strncasecmp.c
! 7b2896b51c389a6a7d557ea01e8c872a  libiberty/strncmp.c
! 1ee23798a9223ef8947a376a0b3cfea2  libiberty/strrchr.c
! 727138823f2cb70a3af09ef22e46bee0  libiberty/strsignal.c
! 65f6273a1fb49204f10d98f21904cb90  libiberty/strstr.c
! 25fbadcc933dbfa07cb1a249ab97e01e  libiberty/strtod.c
! aee79a74ba6f2ec43325737b7e4e86c2  libiberty/strtol.c
! e06d6526f14dcd0834827520331fef16  libiberty/strtoul.c
! 63c9e635f440ae8e224846d98bb51f4b  libiberty/ternary.c
! 27e356fc46c6c1fc7c2a73d2f838de37  libiberty/testsuite/Makefile.in
! 44219372bdf11390086234a1ff50cbff  libiberty/testsuite/demangle-expected
! e8139e58f07d90e80fc1b17a3e47fa93  libiberty/testsuite/test-demangle.c
! 70661957f2bc5c40ea102d97ab0bf5c0  libiberty/tmpnam.c
! 36268f56b790422bf6993a0485f36afa  libiberty/vasprintf.c
! 0ad8bcaf347187c9147577999d73e9cf  libiberty/vfork.c
! 49f0de47280a87bb9f87fe2bf517a2e6  libiberty/vfprintf.c
  9a46f8a6bd6b911849f209d09e94b66f  libiberty/vmsbuild.com
! 300e0b92c4a5f271ba217f5077600323  libiberty/vprintf.c
! 3913f665d742eec8aee40fab6823489d  libiberty/vsnprintf.c
! 947e47f2994c3ece81ff8c57777ef568  libiberty/vsprintf.c
! ec0e1274190167f1f05b8b2eed4f4fed  libiberty/waitpid.c
! 2f8818cd4649e4dd9891653f15b8e2fc  libiberty/xatexit.c
! e416488ce7ad148c9030ed0f54645f30  libiberty/xexit.c
! 1bdfb937e0df4543c60ea33babbfb453  libiberty/xmalloc.c
! f3030e6275b76dd6ea06d80a92ccdc27  libiberty/xmemdup.c
! f20e7cc03de67e377c14074ad8117a2d  libiberty/xstrdup.c
! 4bd3afb8fc654a444f5390dbb53c3816  libiberty/xstrerror.c
! ac81461263c340d1f6c7ed86a63b06de  libjava/.cvsignore
  94d55d512a9ba36caa9b7df079bae19f  libjava/COPYING
! 94f915e2ecdec1e9f3d984ffaac92c53  libjava/ChangeLog
! cd8a361fdecdae865f473a6f2cf9fd8b  libjava/ChangeLog-1999
! 4588de29d13f7eaa964141902c347636  libjava/ChangeLog-2001
! 6083f84e4eb51e2dc3b24736498cf862  libjava/ChangeLog-2002
! 4530bcd4ef89ef3a79bd80e91b2a36a5  libjava/ChangeLog-2003
! 2dc583b32a93a3a02ca7ae5add57f10a  libjava/HACKING
! 84706803a544c5820821cbbc020d39cf  libjava/LIBGCJ_LICENSE
! aaeec8f902081e1d6ab06fe201329e08  libjava/Makefile.am
! 47f47f41e1fb7d01eb40d3e1d32c5a6a  libjava/Makefile.in
! ad7e029769786ded8152b84425ae0b6a  libjava/NEWS
  b8af03ff64b9879992c9382503d9910e  libjava/README
  fcab9c26cd6f539addaab81491b62c25  libjava/THANKS
! b13efae29a1b4e94b014715ff7dbc687  libjava/acinclude.m4
! e0529650d8ff4ad5fad975b05f35343b  libjava/aclocal.m4
  efc33151e6f0752ce2b40ae21ab49671  libjava/addr2name.awk
! 1b3ae835d6026e7741025198e1e0a33f  libjava/boehm.cc
! ae192dfae9a5a8332f6c24170d95f987  libjava/configure
! eb86ee798400689bc38a69c64440f71e  libjava/configure.ac
! 2445cf5e69a3d9211a2bf022e2955b02  libjava/configure.host
  b8f5774479fe86f56e7e491189ccf0b5  libjava/darwin.cc
! e9eb027fe87013496a7965bd25258d3f  libjava/defineclass.cc
! 1fbad51236fb98774e365452063ac44b  libjava/exception.cc
! b87406da95018ec9039cbcdce2cefe7b  libjava/external/Makefile.am
! 623bda0344ae8fdee45ea9df729e36ac  libjava/external/Makefile.in
! 19926238491666aca594b13f6b691863  libjava/external/README
! 182cbaa1f01c990ae1117e9c065e7bd7  libjava/external/sax/Makefile.am
! 7a051b7f22479203557d729c4258e9d8  libjava/external/sax/Makefile.in
! de1ad3c4705dc5ed78e6752d127ca258  libjava/external/sax/README
! 24c4cd52776f0b9c2549cc98b91c02ce  libjava/external/sax/org/xml/sax/AttributeList.java
! e2acefbebe4576d15351243a8f8f4561  libjava/external/sax/org/xml/sax/Attributes.java
! 6d65dd78bae45a470676032f61c78f09  libjava/external/sax/org/xml/sax/ContentHandler.java
! 12afee48aca92abbe8d0dd79ddc949e8  libjava/external/sax/org/xml/sax/DTDHandler.java
! 2590436857a5bbda00e89084ccbb416e  libjava/external/sax/org/xml/sax/DocumentHandler.java
! 4d0347571cd0b2b993738a9a86f362eb  libjava/external/sax/org/xml/sax/EntityResolver.java
! e17a54160cc30eab7918213c5256c1eb  libjava/external/sax/org/xml/sax/ErrorHandler.java
! ea5f3e32f1a4b8c50031b38188c8f8f3  libjava/external/sax/org/xml/sax/HandlerBase.java
! bcf19c4dc9723f8672cdd93a48897bf9  libjava/external/sax/org/xml/sax/InputSource.java
! c35c35e0c07898558e164d5f11166dbb  libjava/external/sax/org/xml/sax/Locator.java
! dafaf414f8584ceae82503d8b7344fc0  libjava/external/sax/org/xml/sax/Parser.java
! 4cb884f125d1fff049983a6c10e83d0f  libjava/external/sax/org/xml/sax/SAXException.java
! a46a38e1d25f5807a8be993d5699bdfe  libjava/external/sax/org/xml/sax/SAXNotRecognizedException.java
! dbac2d151fa0a3ab5e7b22d81477b067  libjava/external/sax/org/xml/sax/SAXNotSupportedException.java
! 98ea753ea3f52d96f0e02285b212d53d  libjava/external/sax/org/xml/sax/SAXParseException.java
! bd6308412acf8271d4dd4b74f61a596e  libjava/external/sax/org/xml/sax/XMLFilter.java
! d40643a0d00f8c5b3966741e5523f7d1  libjava/external/sax/org/xml/sax/XMLReader.java
! a759b541be3da99ddea497f4a8de6883  libjava/external/sax/org/xml/sax/ext/Attributes2.java
! f6f68c92ae7db0c7804987c2f69b357a  libjava/external/sax/org/xml/sax/ext/Attributes2Impl.java
! 5027be23904af11d9859461ede0b3e72  libjava/external/sax/org/xml/sax/ext/DeclHandler.java
! dcb82da00e4ca6c18e028318a919bd61  libjava/external/sax/org/xml/sax/ext/DefaultHandler2.java
! 40e9048086e330781611c89030434a50  libjava/external/sax/org/xml/sax/ext/EntityResolver2.java
! 08ad44117ebbc8aec07bb503258b73af  libjava/external/sax/org/xml/sax/ext/LexicalHandler.java
! 1cd32b0123872f6ebb1aa9e4cfff6c19  libjava/external/sax/org/xml/sax/ext/Locator2.java
! 725430ee1f65ffdb9f462e5664acf166  libjava/external/sax/org/xml/sax/ext/Locator2Impl.java
! 05209ef33d80de4cbf0b99fa32c790ea  libjava/external/sax/org/xml/sax/ext/package.html
! 456e551533ce7357a37586db0151abb5  libjava/external/sax/org/xml/sax/helpers/AttributeListImpl.java
! f8d76461b6ff01a1cf192b3a283af37b  libjava/external/sax/org/xml/sax/helpers/AttributesImpl.java
! bb1f8d0b056ddda67fbc9a2b7aeb9086  libjava/external/sax/org/xml/sax/helpers/DefaultHandler.java
! feecd128d14d2e360c7ade21139aa714  libjava/external/sax/org/xml/sax/helpers/LocatorImpl.java
! eb9debf62841a328642763e86f7ebbc8  libjava/external/sax/org/xml/sax/helpers/NamespaceSupport.java
! 48113b3f7c5187b6591ac88a5a0a3f7c  libjava/external/sax/org/xml/sax/helpers/NewInstance.java
! c4ffad5ff6395644b89e85e3c60105be  libjava/external/sax/org/xml/sax/helpers/ParserAdapter.java
! 6d3f81ebf332f240f10f6c66ae3d0b37  libjava/external/sax/org/xml/sax/helpers/ParserFactory.java
! c48b1433c828dbe250d7b511c6c8c1fc  libjava/external/sax/org/xml/sax/helpers/XMLFilterImpl.java
! 4c3bddac3f983e9af499371d2467b597  libjava/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java
! bc03ab93306eea908ef9b61383ce41c5  libjava/external/sax/org/xml/sax/helpers/XMLReaderFactory.java
! 5bdca2ee07219ac8a6aedd6f030f0997  libjava/external/sax/org/xml/sax/helpers/package.html
! 5f5708616a540aa06ab3fa31f8cc46e5  libjava/external/sax/org/xml/sax/package.html
! 09e84721c652ff50fdad9a7215863899  libjava/external/w3c_dom/COPYRIGHT.html
! 49d906a2d2b83f99196a5e5aa1f1df8d  libjava/external/w3c_dom/Makefile.am
! 93754ac988638f3c2f86ff6b6e2ac189  libjava/external/w3c_dom/Makefile.in
! 6e52fb724e7d281f80276187f3c9e286  libjava/external/w3c_dom/README
! a2df55935d2b1a33193f8d1a7789912a  libjava/external/w3c_dom/org/w3c/dom/Attr.java
! 08b4ecfae7fe5d5b389fb95d53b89721  libjava/external/w3c_dom/org/w3c/dom/CDATASection.java
! 11d4f66f9880f06ffb4d93bdc34210d4  libjava/external/w3c_dom/org/w3c/dom/CharacterData.java
! a25bf475ed00ee19bbee23dbd3e1177a  libjava/external/w3c_dom/org/w3c/dom/Comment.java
! e95b671a72ce64335f3431e0d347ffb5  libjava/external/w3c_dom/org/w3c/dom/DOMConfiguration.java
! 54192d27d8a6e983b94fdec8822a0a10  libjava/external/w3c_dom/org/w3c/dom/DOMError.java
! f49224b7c11b4e61dca07b14ee5de6c7  libjava/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java
! cdbf1c0e4e9f0ded6f4da6b90dd6d4df  libjava/external/w3c_dom/org/w3c/dom/DOMException.java
! 67cb1599da63f4e8512abf5de2b20141  libjava/external/w3c_dom/org/w3c/dom/DOMImplementation.java
! 224ce71cc41fee1dd811a75865d725a8  libjava/external/w3c_dom/org/w3c/dom/DOMImplementationList.java
! 47b9ca27ceea29cbee7a9838051b6ec7  libjava/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java
! 65c2d6b0f6bbfefbaa3f389c0a13faf4  libjava/external/w3c_dom/org/w3c/dom/DOMLocator.java
! 1659c83560bd0d8209e870fc4b46c3c3  libjava/external/w3c_dom/org/w3c/dom/DOMStringList.java
! 530dc17fe4f0bc7718c42684baa32e72  libjava/external/w3c_dom/org/w3c/dom/Document.java
! bc801b56e6093ac399d9ac31ac6a0428  libjava/external/w3c_dom/org/w3c/dom/DocumentFragment.java
! 30f7ac8b82a259fed40564fabc341215  libjava/external/w3c_dom/org/w3c/dom/DocumentType.java
! e6d12822507ee116c13538699350217e  libjava/external/w3c_dom/org/w3c/dom/Element.java
! 2cc895f4b690121f2f3cf75fd212834d  libjava/external/w3c_dom/org/w3c/dom/Entity.java
! 329ac44b44a190913a5a4d7f36eb46c3  libjava/external/w3c_dom/org/w3c/dom/EntityReference.java
! c38bd747a24550f224bd73f66860a53f  libjava/external/w3c_dom/org/w3c/dom/NameList.java
! 1259cd9761cb5fa45fa4085fdc3b6f36  libjava/external/w3c_dom/org/w3c/dom/NamedNodeMap.java
! b789e60d833248249145f0ec818f04d0  libjava/external/w3c_dom/org/w3c/dom/Node.java
! e260532506a1e0d9d1ad7ea3e6d91a2d  libjava/external/w3c_dom/org/w3c/dom/NodeList.java
! 0942eabbd6ec995f14e8171f6a9b12fd  libjava/external/w3c_dom/org/w3c/dom/Notation.java
! 6e005657e711880c4a79773ea9874c6b  libjava/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java
! 6df9fedf7e17214ffeffd2f16319c1c0  libjava/external/w3c_dom/org/w3c/dom/Text.java
! d34062a50b425fa924316d73c3a49cf5  libjava/external/w3c_dom/org/w3c/dom/TypeInfo.java
! 4345597a3f200747267ba5fdeadd323d  libjava/external/w3c_dom/org/w3c/dom/UserDataHandler.java
! ce313209fa592e366af916e101c615ea  libjava/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java
! 06391c1de49bb448a0eeacedc0fbde07  libjava/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java
! e1d3d29c32828d98e1cb7e3026ccce25  libjava/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java
! e1506c4a53d71c285a5f43b420f96ed2  libjava/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java
! adaadf04f1d702d99b889f0b94315922  libjava/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java
! 793706961c3261ea40577c257dd8c185  libjava/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java
! 1f19b0cf5ec7aeeed1f103a195737c85  libjava/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java
! aa4988b7845ca470feddbd343e4e6207  libjava/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java
! 2d35b1f9e093a90e698e9b1118d3276b  libjava/external/w3c_dom/org/w3c/dom/css/CSSRule.java
! c9c5fdc3bed2027e7f62a8a6f01a4945  libjava/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java
! dfa5de4700b37a20e816369a4c92a6ef  libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java
! ba8480a01b370a968a3a983c1215a64a  libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java
! b54919fb87571108249dda3dad369ede  libjava/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java
! 639dc0127a9ac0350b0704deb1bc9d6d  libjava/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java
! 1ebf2ee2ab246e1bad91b55465c9eea4  libjava/external/w3c_dom/org/w3c/dom/css/CSSValue.java
! 868a77b588dc5fcc83c540e25fbcf2dc  libjava/external/w3c_dom/org/w3c/dom/css/CSSValueList.java
! 9d9226cb9e91a043ae87f4e0a0f956fd  libjava/external/w3c_dom/org/w3c/dom/css/Counter.java
! 6cae306a271233daa2d4bd7b4cd33371  libjava/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java
! 737299879f37acfed94f7090f3b7832f  libjava/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java
! be5a9dc6b5c59de16702b64b1968b8d5  libjava/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java
! 1a25fbc8a1a5a4a7f3447fffb3ca2af9  libjava/external/w3c_dom/org/w3c/dom/css/RGBColor.java
! d2032b5a0493bfc9ed84158c487855c8  libjava/external/w3c_dom/org/w3c/dom/css/Rect.java
! 4f7e44c8fcc4ef3b4fa44d29d12684ee  libjava/external/w3c_dom/org/w3c/dom/css/ViewCSS.java
! ba9dab5ef4f5eb273fbee6aa5c282d25  libjava/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java
! ab7fb1083767826a499b0b450db0f326  libjava/external/w3c_dom/org/w3c/dom/events/Event.java
! 06c7b629ef6ed565646a5126e4f7b9f8  libjava/external/w3c_dom/org/w3c/dom/events/EventException.java
! b2b749df80450c25edd89ec82c3fe634  libjava/external/w3c_dom/org/w3c/dom/events/EventListener.java
! 19b3b5a99aab7c6e543cda3f126a81e5  libjava/external/w3c_dom/org/w3c/dom/events/EventTarget.java
! 1d87829474cb9f2490e64be6cf2e7071  libjava/external/w3c_dom/org/w3c/dom/events/MouseEvent.java
! 0c2ee04635f87eb3feb489517302f799  libjava/external/w3c_dom/org/w3c/dom/events/MutationEvent.java
! 237fbfb6d0341a0f110fe2e2aacb2aa2  libjava/external/w3c_dom/org/w3c/dom/events/UIEvent.java
! 5e8c7c4dae839a551c0516d611a498cb  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java
! d65adaf088b1d82f9a868ae42c3b01f2  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java
! 5078d4b1c46318af6da27415a22883ed  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java
! a8e9e52ffe1447d95e24e081c58bca42  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java
! 2d33feaae72ae81de12bebc965a2dc20  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java
! 8542b0106d2ce69b6da4416b2673a2d5  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java
! 65a2df1c6ea92aa0f66983dec91da99d  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java
! 33f57ac011448b5039ff472b32a60653  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java
! 4e0794619df460716806b27aa07547da  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java
! efcca8aa3ed178e1759ea0a1ad3ea4f9  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java
! 3913b015ba54d4456b7fcc0306b03be4  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java
! 363a276d4c8401c8e16ab45bb1bd8bdb  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java
! 2878865652b093a1080d7164b1c41521  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java
! 55ae97e6ffdb23c2a104a09204fcafb8  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java
! 5898f9fd9c0849fb99897580a1d9a442  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java
! 9d4d60d7d9546fea9f95979b77a33c02  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java
! 7a40ae5ba63391992372ccd72c2ee7f8  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java
! 97c19f4bba5de3a319dbbbadc0b4a534  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java
! 86af2b6fdb3f37706cf4b44e03116f1e  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java
! e0dc3daaa7ffcc398959e9783896d02d  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java
! 6f57992267a86432d00f8438ef7298f4  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java
! 9612b8a673565ce50d85cd1116359738  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java
! 0f670b47e8c79f4239caf83d13826167  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java
! d9b7dc49b984ed008278fba8084903ea  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java
! c77e236a3982553a6a75e16b788674b0  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java
! a98f63522672c0b330a799e576af1af4  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java
! 1b56e5a5b3ea088f4f59bba0b837e471  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java
! a241cc94285969b069b05f5e520743fc  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java
! 92d426e1fceeef1493a4ec13b5969f52  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java
! 4693058ac1b6479d0cd077d34884e229  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java
! c4a98fbbc0846fcba4995592fd7bce99  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java
! efaf79ce559aa46b25f268acf87779ec  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java
! 0287c0fbf9c821fcdef01d781198854c  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java
! 6cb69fa93f7fbea4c26c976a1bd33827  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java
! 7f5cdb9fafaf388cbb1794a71df3a99e  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java
! 0bb310df44b56833a7e0c2d7d0739ad8  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java
! 18b0295f4e31aebc71cd87bcf77d106a  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java
! 0e1da434ae008d4a13eb11b308d83c81  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java
! 92804f848ae92bf443680bfc1059990f  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java
! 8b467e0dcf9396bbee26215645746276  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java
! 5e8ff11ae67a2ccd4b6bd83bcdb850db  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java
! 47db86c5db278ff0d7c75d584e2202a6  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java
! 8a4a504c2dfeb1126d679c5e5420b983  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java
! 14e699d612955b66db2443a39e68f532  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java
! e1deae385e3079ed4ee8a5175d2cbd16  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java
! 33ca5c3ec9648f4c1d8877b692486193  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java
! 5ded721c5ae0727e81eb7650434a6aa5  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java
! 3b2ebbe6f5fa0d5919fc2f585514b9c2  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java
! ae84015010ef3b1695da6deeabebdc95  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java
! acb6d46decd52de55711584051492722  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java
! 23332062d6143c26cbb7b8e0c412ef24  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java
! dae393f92ca5bd4b83fe610b8b08528c  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java
! 11f17369cca77ecd5961a15d0c5ef21a  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java
! 902bd7eb94fbbbfc5f9e7c33f8d7804f  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java
! 4451c3669b2ef5f9124af8a53218d7db  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java
! 00642b75463796f9a8968892e6894193  libjava/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java
! 2d3566ca7f6fea45114b3aa05606b244  libjava/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java
! 853beadf4288d7f8cf35564794c7f570  libjava/external/w3c_dom/org/w3c/dom/ls/LSException.java
! fe7a577ff4bcd5476bff5f7dd0ee98cd  libjava/external/w3c_dom/org/w3c/dom/ls/LSInput.java
! c8ad200a8c9bf4f9b52739464865fb89  libjava/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java
! 631290efaf1a1de87e02dd0029190971  libjava/external/w3c_dom/org/w3c/dom/ls/LSOutput.java
! 331c88ee430a94e1e10e3b0e34610658  libjava/external/w3c_dom/org/w3c/dom/ls/LSParser.java
! 3f277b11e7fafe88bc0f9d0657755af4  libjava/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java
! f94f8038881a372915d7576ca27a51f7  libjava/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java
! 69d450a87ab072ece40e5aba99d168e3  libjava/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java
! 5ce0ed38afa7733507b60158142150d1  libjava/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java
! 3809b3bb70afc2b86a5a24b9a94f0212  libjava/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java
! d6d600f600dcacc20c3b54e9739e61ab  libjava/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java
! b225ac3cb17bc5f4cc00b302e5158495  libjava/external/w3c_dom/org/w3c/dom/ranges/Range.java
! 8486de81741eab07aeda96442cc80ecb  libjava/external/w3c_dom/org/w3c/dom/ranges/RangeException.java
! da89bc2fa8eed4ee84f3b361030002a6  libjava/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java
! d2d32b775d8278e90da246ce48fd0d61  libjava/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java
! 7492577e9e703050be0096b482311581  libjava/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java
! d243aa09a06281c2038ba895fbe4616d  libjava/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java
! 3204434c09f4f205d3dfa2cc100956e9  libjava/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java
! 050304ae43ac1c47a27a7cc6c8b6dd6f  libjava/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java
! e8d0a5733978716077c08dacd45b9ece  libjava/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java
! e455a89d12f94d4330335713e277680f  libjava/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java
! 0912b44acaee094ff34efaee446f3605  libjava/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java
! df54fc3a305dd812f202629dfc01e97b  libjava/external/w3c_dom/org/w3c/dom/views/AbstractView.java
! 624699aa255ea806a36a92fabe55dbda  libjava/external/w3c_dom/org/w3c/dom/views/DocumentView.java
! 097f2efbc34258c86ccecc6c34d75af8  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java
! 96b87b44265ea552ebf540583cad24c4  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathException.java
! b985f2af519fd764fe1acd2f67bb05a3  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java
! 208d955eaa1c62d234f348d6370db0d2  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java
! 185c15fc37dbf71dbc076eca95385f7e  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java
! ee70cb1f6db1c9898512bce3cd32d675  libjava/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java
! 41e851e76bff82d7b492d444f91d4c0e  libjava/gcj/.cvsignore
! 7acc5c1c4ded4fb2e32d0a4ab1d6b040  libjava/gcj/Makefile.am
! e66ac9e3ea0d169728a7db6108e2821b  libjava/gcj/Makefile.in
  94b9871091f1caff9dc28dce6439c7dc  libjava/gcj/array.h
  361e9d926f9533fff97836fc99ee52b3  libjava/gcj/cni.h
  1132746ded1c01c81bf0574be6c00359  libjava/gcj/field.h
! 50dbc88b5bdbbeead2ba483794d2d889  libjava/gcj/javaprims.h
  889018fe1f6304db88020c202bf148fe  libjava/gcj/libgcj-config.h.in
  eafd77f0472be0989ca80a47fdbf37fb  libjava/gcj/method.h
! 253f17b801985634afbd1faea3bf1d4e  libjava/gij.cc
  e1408d5d275b717aaa0330aa1b6043db  libjava/gnu/awt/LightweightRedirector.java
  e4a6533e6ba178693bf1cd76421aa764  libjava/gnu/awt/j2d/AbstractGraphicsState.java
  a47831f8c3de048876eaf738f495ece9  libjava/gnu/awt/j2d/DirectRasterGraphics.java
  9438a98d9934857d33c83edf8940b240  libjava/gnu/awt/j2d/Graphics2DImpl.java
  e6d0aaf195e964a73613f6fc834f5737  libjava/gnu/awt/j2d/IntegerGraphicsState.java
  87b502a55fc8ebd6560ff3d0f2d852fc  libjava/gnu/awt/j2d/MappedRaster.java
! 526e520f1ffc7ce914dee88a0b21ff70  libjava/gnu/awt/xlib/XCanvasPeer.java
! 560d5b06fc2530d2ebfb4e5535600b93  libjava/gnu/awt/xlib/XEventLoop.java
! d62b73f1fd41c9130484ce027404d02d  libjava/gnu/awt/xlib/XEventQueue.java
  53ec5c0451922f91a1aee0e78522d541  libjava/gnu/awt/xlib/XFontMetrics.java
  a0ad96a231e7570ab39ed02408b516fc  libjava/gnu/awt/xlib/XFontPeer.java
! 0af5dc67bdaa3126bd5477e11c3e971f  libjava/gnu/awt/xlib/XFramePeer.java
! d5e0ce45342bc2af0415bde2b391cd88  libjava/gnu/awt/xlib/XGraphics.java
! 4cef99bd8b0aa71308470f4e86e76510  libjava/gnu/awt/xlib/XGraphicsConfiguration.java
  538a4d513db3c7f29b2df243bcf8ea6f  libjava/gnu/awt/xlib/XOffScreenImage.java
  fb918e795e5190d2e3111f940f9fd21c  libjava/gnu/awt/xlib/XPanelPeer.java
! 8f78d134e9d6b16adc17df6a40c069c0  libjava/gnu/awt/xlib/XToolkit.java
! 9b039c1e624293ed1b67795ad8fc174f  libjava/gnu/classpath/Configuration.java.in
! 5701025f72f3629b866ae4510ca933bb  libjava/gnu/classpath/ServiceFactory.java
! c0fb484479d8e332b9a82be6e8ade102  libjava/gnu/classpath/ServiceProviderLoadingAction.java
  e4acb82414edbb239a7ccb7d8ce34d15  libjava/gnu/gcj/Core.java
  171be5b658721d8feeaec562d0afe9a6  libjava/gnu/gcj/RawData.java
  df5faff9d49065e045ce4110ee5f0fb0  libjava/gnu/gcj/RawDataManaged.java
  ef4b09d90de627a4acbe1fe57fb399ec  libjava/gnu/gcj/convert/Blocks-3.txt
! c567ee6b4908cf4e8e82a3de42f4a9d1  libjava/gnu/gcj/convert/BytesToUnicode.java
! 222d05c3bb2bf2d35ef3a438ba183144  libjava/gnu/gcj/convert/Convert.java
! 1e8a49ad72cf652fec9d91af0e2fcf83  libjava/gnu/gcj/convert/IOConverter.java
  781e55330d3b64c0196a76e77f39747c  libjava/gnu/gcj/convert/Input_8859_1.java
  f20859efb59e3ce361c2ab9e96649567  libjava/gnu/gcj/convert/Input_ASCII.java
  3864e59856993ff2de5dd8a3fa819d89  libjava/gnu/gcj/convert/Input_EUCJIS.java
--- 19623,25597 ----
  243f7581c06247a647a3a55b051b8d5e  libffi/testsuite/libffi.special/ffitestcxx.h
  08bb6568e653b7801b6e74501a0c8886  libffi/testsuite/libffi.special/special.exp
  2eae8a5b3ba2f1438bd633704a31b923  libffi/testsuite/libffi.special/unwindtest.cc
! fa5952015a2c7a548dc857859d9c0a46  libgfortran/ChangeLog
! d5de2ee08a61475f7d1032a4e17b8ca2  libgfortran/Makefile.am
! 8ad64b4210a5d2801f97013e1ef67aee  libgfortran/Makefile.in
! 6938e76ead61f5cd6886657c95b2f1e9  libgfortran/acinclude.m4
! d2a2a5cc8011e2b879743ab2e15083a8  libgfortran/aclocal.m4
! a5f820509ab43827a1ba1bd034a6e0eb  libgfortran/c99_protos.h
! 71b6b3ff9f73e8fe1ddb1f12225d3b51  libgfortran/config.h.in
! 1b5e3724b2e48edcdf37d6e4350d2726  libgfortran/config/fpu-387.h
! 9658dae3c342366ee6ce6ae3d868ad27  libgfortran/config/fpu-aix.h
! 752cd58f64310f1fa3a85dfe08e368fc  libgfortran/config/fpu-generic.h
! 660563c67f7dea87770f4c7d14df8165  libgfortran/config/fpu-glibc.h
! 8231e3e624e1379f299cf4967ba6c28f  libgfortran/config/fpu-sysv.h
! e697b41f20c29bc9e08e9daf6d370608  libgfortran/configure
! f66e62e2badcd0bd31f3664bd628b950  libgfortran/configure.ac
! 5bb05782f75c25bb6f3fea77915d2d01  libgfortran/configure.host
  2e50a8343319a5542ee10ec4d8a933b1  libgfortran/fmain.c
! 4fde68acadd46bc4d5b520994cd351cf  libgfortran/generated/_abs_c10.F90
! 4e6cdc20b76df44dc9783a134b5a665b  libgfortran/generated/_abs_c16.F90
! 55488ef26dba95419eae3600924fb487  libgfortran/generated/_abs_c4.F90
! 08ef52260317e0d9318ad62846f87208  libgfortran/generated/_abs_c8.F90
! 824bce18971e854dcd089f9de141a48e  libgfortran/generated/_abs_i16.F90
! 613c102df26f283747927df9dac1df91  libgfortran/generated/_abs_i4.F90
! f0b2ce0b704667b2295434d2102863c1  libgfortran/generated/_abs_i8.F90
! 83f21e06cf128048f732a3951d713230  libgfortran/generated/_abs_r10.F90
! c89c1972a0dd798379f2e7ab32738b04  libgfortran/generated/_abs_r16.F90
! b7116298c07a5c9a4f48ac7d578a7330  libgfortran/generated/_abs_r4.F90
! 0ed833ffe0c8cdf815995373cbfcd17f  libgfortran/generated/_abs_r8.F90
! 3ec38d015c26b9fcfea85a12e521ce6c  libgfortran/generated/_acos_r10.F90
! 530f90ef14c448f3c2a6ab1ccae41290  libgfortran/generated/_acos_r16.F90
! 299a1358b4b881f1b18be6cb52d990c9  libgfortran/generated/_acos_r4.F90
! ed2f5014c1de538591295bb841df1ae1  libgfortran/generated/_acos_r8.F90
! a4077d25c3a9bd5d3de350b3d1e7794d  libgfortran/generated/_aint_r10.F90
! 4bd5b81594e7b4e841ccd9455156c566  libgfortran/generated/_aint_r16.F90
! 9e188c26b67b844a0e8ae86d4980249e  libgfortran/generated/_aint_r4.F90
! 2029dba6bd28923325db91ed7d49c14e  libgfortran/generated/_aint_r8.F90
! d87f3f99aa33f70b06dc818774e5fcfc  libgfortran/generated/_anint_r10.F90
! 83e7aab3c7a2f82a1e4f618bdaceff35  libgfortran/generated/_anint_r16.F90
! 0051cd36ea4137480b6a455319a2e834  libgfortran/generated/_anint_r4.F90
! ee26ed4494efd2973048f48ddcc13a6f  libgfortran/generated/_anint_r8.F90
! 69d3a0d19b4febb5769d556c5dbda7ff  libgfortran/generated/_asin_r10.F90
! 7dfca16d843e2e44cdea3938b873365e  libgfortran/generated/_asin_r16.F90
! 561447fa21b64fa023a8001aa12c8efe  libgfortran/generated/_asin_r4.F90
! 2a6d3c626ef9895b7017871eaac549fe  libgfortran/generated/_asin_r8.F90
! 77568ac91c63eb5184dd2ef85470e330  libgfortran/generated/_atan2_r10.F90
! d66f931bb99ebc159a555dbeb8561002  libgfortran/generated/_atan2_r16.F90
! 1505e48611fcdb3bfc4752cc791a3c5c  libgfortran/generated/_atan2_r4.F90
! db408067cab5851e02a7e85108c675b1  libgfortran/generated/_atan2_r8.F90
! 619d3043329e1619166ed74a93655e42  libgfortran/generated/_atan_r10.F90
! 025ba135ef7d082010c3af6fae0f9210  libgfortran/generated/_atan_r16.F90
! a27e1d0df388cdd1b66b6caaa0d90ccf  libgfortran/generated/_atan_r4.F90
! a45f1877275b6955b82529fc09e9759c  libgfortran/generated/_atan_r8.F90
! 1443557437f8ccae05a50860d357ed71  libgfortran/generated/_conjg_c10.F90
! 827181ad7dbea05f3e83dbf824075fba  libgfortran/generated/_conjg_c16.F90
! 182d47ed58b94cb3ef96eaeaf4cf5a09  libgfortran/generated/_conjg_c4.F90
! 9adcbb9f61d85161de2a4aa539ddcfbf  libgfortran/generated/_conjg_c8.F90
! 847ce1d75a63d21c7e1fd72bfb975de0  libgfortran/generated/_cos_c10.F90
! 643342fed128f65658a9326087e36e2d  libgfortran/generated/_cos_c16.F90
! cf775e6808b313c351f71ce1cf265edd  libgfortran/generated/_cos_c4.F90
! c8f8e9e0a5838d745462bce2888ace8c  libgfortran/generated/_cos_c8.F90
! e3a14e9d0e1823a66dbb66d61bba42f7  libgfortran/generated/_cos_r10.F90
! f318b36955817b9db7e8cd3738fb5370  libgfortran/generated/_cos_r16.F90
! 475ecb4fc317ad70e2c2c95a8ecf71f5  libgfortran/generated/_cos_r4.F90
! 852ab6f56b0c075ab74b382b7baed013  libgfortran/generated/_cos_r8.F90
! 03c87d3c9158b0707f8e457840cfe247  libgfortran/generated/_cosh_r10.F90
! 3b92179d9b684424979f3c5bdc8a9393  libgfortran/generated/_cosh_r16.F90
! 2039881daa0aa8c03d21adb384a4b097  libgfortran/generated/_cosh_r4.F90
! 3f9f3c8f8d0a04db42af3c68c7f43a84  libgfortran/generated/_cosh_r8.F90
! cc745bbe35bedbbfaca426fd0dcc4736  libgfortran/generated/_dim_i16.F90
! 675ff6f814711d40c4baac9f93741559  libgfortran/generated/_dim_i4.F90
! 7cce72c419e4107baae9eeaff8afbba2  libgfortran/generated/_dim_i8.F90
! cb36e5c6d90a6682079a79b032a8dea9  libgfortran/generated/_dim_r10.F90
! d0689dbfb9e020de9b209e5981cb602a  libgfortran/generated/_dim_r16.F90
! a93f3e19e4f56f94fafa8b5507ddf685  libgfortran/generated/_dim_r4.F90
! e6a76c33ae9711cd9ebf2762d8150483  libgfortran/generated/_dim_r8.F90
! d2af5a91d65423a53345ba183fe5d97c  libgfortran/generated/_exp_c10.F90
! b621c6c85b8e378e97d5b47a5bad68bf  libgfortran/generated/_exp_c16.F90
! 1ddb1dfa64a726ccdfcb3c564ab274c9  libgfortran/generated/_exp_c4.F90
! a33ac37a2ed8abe94cce513a86b9d29c  libgfortran/generated/_exp_c8.F90
! 00c26d8b056acbd69e0241ae9ea93ac5  libgfortran/generated/_exp_r10.F90
! 720871ca732d079a64a2113ead8ac7ed  libgfortran/generated/_exp_r16.F90
! 42eb6d43c72a513619ceed0013f1623e  libgfortran/generated/_exp_r4.F90
! ea2cdf7840050253cbd4a243c2d44620  libgfortran/generated/_exp_r8.F90
! f4d1ada7098b0d61b6809ae4b6527c06  libgfortran/generated/_log10_r10.F90
! abe46e41ee955bcdd92b3fa4a72f52bc  libgfortran/generated/_log10_r16.F90
! 7d39364d7ae07124151d70201af1e476  libgfortran/generated/_log10_r4.F90
! 69443b3ae1e190df9865815220e2aab1  libgfortran/generated/_log10_r8.F90
! bb23f1f27b8eece33c82a504687934f3  libgfortran/generated/_log_c10.F90
! 1c9f83ab44d13aeed387bf741dfe0632  libgfortran/generated/_log_c16.F90
! cbec232e75b3d27b280c6a29088d0ae2  libgfortran/generated/_log_c4.F90
! 3fca3e81854c837a99e5f7419a0ca029  libgfortran/generated/_log_c8.F90
! 56d7d7a91d346db3710d54c8f8fe35ae  libgfortran/generated/_log_r10.F90
! e75cc2e554c5ebc62977e861ed007a60  libgfortran/generated/_log_r16.F90
! 54b6836d00029999d427062b36f12681  libgfortran/generated/_log_r4.F90
! e698a989c790403681fa41a4b9136f65  libgfortran/generated/_log_r8.F90
! 491439225bb3a6b16c9515cbd4c32827  libgfortran/generated/_mod_i16.F90
! 89c1ad70ade7e1fd6349621ec01353c8  libgfortran/generated/_mod_i4.F90
! 263c92cc8c895e6b6e5bbcd2908eea1c  libgfortran/generated/_mod_i8.F90
! 18ab933198b7ef40c6deaceb9580e029  libgfortran/generated/_mod_r4.F90
! 05007f597a9ac5f63ab40c0d3f54f100  libgfortran/generated/_mod_r8.F90
! a2b81112a12e2259ac4da24131250e74  libgfortran/generated/_sign_i16.F90
! 1f414d4c5cca15702fbc1ab4406fd170  libgfortran/generated/_sign_i4.F90
! 4612c75bf77aef02f001989392b02e85  libgfortran/generated/_sign_i8.F90
! a1b1de3f4e28eacbb6c93750155c1eef  libgfortran/generated/_sign_r10.F90
! 9dcd08c8b01b5468f192ec59a0d90062  libgfortran/generated/_sign_r16.F90
! d8db4f42ad15c93a317f9e17a04ba5fa  libgfortran/generated/_sign_r4.F90
! 7501c3e92b17cc0fe2dc6de3fc16b762  libgfortran/generated/_sign_r8.F90
! 47dfc3e8067d4bfe1c597d6a5fb1a059  libgfortran/generated/_sin_c10.F90
! fd5516942cd7efdef41418cb2b2382e6  libgfortran/generated/_sin_c16.F90
! 374b41bd72372c403dc88f50fc02665f  libgfortran/generated/_sin_c4.F90
! e524728457fd200a8bfb35aef894eee2  libgfortran/generated/_sin_c8.F90
! 183aace4ddf7b32959f9b7598cf977c3  libgfortran/generated/_sin_r10.F90
! 72887501fd01815806fe53161626f95a  libgfortran/generated/_sin_r16.F90
! f7006b047ed8e5f04b83dc641d8364b9  libgfortran/generated/_sin_r4.F90
! 1632fd89f75c29330b52e55af9b328fd  libgfortran/generated/_sin_r8.F90
! c6f5989948e5adba47c03820a807dc49  libgfortran/generated/_sinh_r10.F90
! a468fe7608ef457d5e442fb28fe722d4  libgfortran/generated/_sinh_r16.F90
! fa4bca8fa7b8fa1a0f2789a2f1c1f443  libgfortran/generated/_sinh_r4.F90
! 53f883a63ab7e6c7a04d3bd6938cf884  libgfortran/generated/_sinh_r8.F90
! 5b699704fad37a61424666a287c07a5c  libgfortran/generated/_sqrt_c10.F90
! 3eb49c92faa3bf791ff7cc9590bc8922  libgfortran/generated/_sqrt_c16.F90
! 17ed7e6759f65b5ad15ee49dab20d861  libgfortran/generated/_sqrt_c4.F90
! f6b34ea411e31d413715af7bf5fca3ac  libgfortran/generated/_sqrt_c8.F90
! 07431467af598cc90e95e4971abd9869  libgfortran/generated/_sqrt_r10.F90
! d80ca4ab77bec7e803c1b2b500d78ca2  libgfortran/generated/_sqrt_r16.F90
! c8152e7f0b1ba311c227c26eac4d294d  libgfortran/generated/_sqrt_r4.F90
! 83b73b0928c7498c8db67e416a156531  libgfortran/generated/_sqrt_r8.F90
! 4a3a70dd53d4036936011ea10221556a  libgfortran/generated/_tan_r10.F90
! e104851246a0cb95e2e1cafb96eb0dcc  libgfortran/generated/_tan_r16.F90
! 029737123319e84c99edfd92a2b67fd9  libgfortran/generated/_tan_r4.F90
! ecd8b7c6b82806fe14bc25d227524615  libgfortran/generated/_tan_r8.F90
! 5c28b726460a1b0ed58454f469937e60  libgfortran/generated/_tanh_r10.F90
! dc1b43d6bd1e2943dc5bdc1dbd1b66c2  libgfortran/generated/_tanh_r16.F90
! fd630133add90ac2e637d4c7f10a3307  libgfortran/generated/_tanh_r4.F90
! e5730f5759ea040e6a84fe366452aafa  libgfortran/generated/_tanh_r8.F90
! 5f45a87be38f6bd3e0a1f897e7f1ee92  libgfortran/generated/all_l16.c
! 4bc279f31e81b109ed2dbf5c7a5668ec  libgfortran/generated/all_l4.c
! 5eda1c78f91513c64d748bfa0a8c99af  libgfortran/generated/all_l8.c
! 713ad7fff139772352fb04a9b5cb9235  libgfortran/generated/any_l16.c
! 68ea9766e5c59ab8291323e7bc1352e0  libgfortran/generated/any_l4.c
! 05d92c00f46950abc5e4b357cd2823b1  libgfortran/generated/any_l8.c
! 073798b536c92f6578da5279937acc94  libgfortran/generated/count_16_l16.c
! 64a81d0a8f75c89c499ea075a746ef1c  libgfortran/generated/count_16_l4.c
! 500e5fd3f71ef440d486a361e11b4fe1  libgfortran/generated/count_16_l8.c
! 771c2309a2d8e1ec16508621964e7345  libgfortran/generated/count_4_l16.c
! 116220658cb76166338acd4257e7f39f  libgfortran/generated/count_4_l4.c
! b646cc848f8151e010a87028c646f7fa  libgfortran/generated/count_4_l8.c
! 64acf31d978afa27620d37df574f2b3b  libgfortran/generated/count_8_l16.c
! 20dc1c36a62b7159f43d449673054674  libgfortran/generated/count_8_l4.c
! 32a211b5c3117900d964927dcb25dfc3  libgfortran/generated/count_8_l8.c
! 0da55d1925602541ab5b5c33305888d6  libgfortran/generated/cshift1_16.c
! 4b4f8191ae6ec3a9fdc3f05d0d7ee7dc  libgfortran/generated/cshift1_4.c
! c78432a9037255110cab49fd3bbe81cd  libgfortran/generated/cshift1_8.c
! 7d46c0f77831f121d06dcf75f5d4c549  libgfortran/generated/dotprod_c10.c
! d3b274bdb76b7dfb76f2ffe07a10bebb  libgfortran/generated/dotprod_c16.c
! c9168b6eec3f23de9943fea4170f0e44  libgfortran/generated/dotprod_c4.c
! a57cb82fe4f43c33a8cc25d49310c6e1  libgfortran/generated/dotprod_c8.c
! 050a229114286028eaa0b0e966c12ece  libgfortran/generated/dotprod_i16.c
! 169da8c8a497819da2450561343699f8  libgfortran/generated/dotprod_i4.c
! 12609954d6d35b6791520b37b627d317  libgfortran/generated/dotprod_i8.c
! 746073799db98a3ebbe05ce940c6ba29  libgfortran/generated/dotprod_l16.c
! 1523722306f8b44fd62b64f694d0fbe0  libgfortran/generated/dotprod_l4.c
! b44e2322e2c744fd1ae9e1b1fab1b124  libgfortran/generated/dotprod_l8.c
! 4b7e62323d0529c5cb5a106f3f0be583  libgfortran/generated/dotprod_r10.c
! b31b639efacf7ef534e52aae3d945f2f  libgfortran/generated/dotprod_r16.c
! 2c05018012b5d2cacd824890e3379e42  libgfortran/generated/dotprod_r4.c
! 74a61c50758e4967a8f72cada2bd38f4  libgfortran/generated/dotprod_r8.c
! 97c59d15572f2b0c754ccbba4bdb7f29  libgfortran/generated/eoshift1_16.c
! 8ee2c5199d4ea2b1367978fa4170df2a  libgfortran/generated/eoshift1_4.c
! 17ddf2e2521d7a3d96e6ddacbf5bf92c  libgfortran/generated/eoshift1_8.c
! 282759e3a44f0e97502b1636c9d548d5  libgfortran/generated/eoshift3_16.c
! a6f732ed25a053a445384f00b92c43a0  libgfortran/generated/eoshift3_4.c
! b1a203ec5d637e4a280ac4381705b500  libgfortran/generated/eoshift3_8.c
! e5852ac94835723284f9a9739d4370e8  libgfortran/generated/exponent_r10.c
! 4e0f49552818f6a67e9c80b7fd3be7e4  libgfortran/generated/exponent_r16.c
! d7c38046f3c9bd13701dba92d42c0f10  libgfortran/generated/exponent_r4.c
! 5caaf141fc1e570a5bf462b451b40d99  libgfortran/generated/exponent_r8.c
! 058decb49875098c1f1baa3f543ae2c5  libgfortran/generated/fraction_r10.c
! 6f3ceacf667c26702b128d96558b81c0  libgfortran/generated/fraction_r16.c
! 8f9558c78505c6b2223f2613e9dc493e  libgfortran/generated/fraction_r4.c
! 6a4a7a65e1a095acba3575277f0fdad0  libgfortran/generated/fraction_r8.c
! b4dbab38e8d0d7f86beaeeb6716406d5  libgfortran/generated/in_pack_c10.c
! a2d2ed0d73e50b7506ba0db28395088c  libgfortran/generated/in_pack_c16.c
! c52af27747bb0f18c268a66ed4b08a0f  libgfortran/generated/in_pack_c4.c
! 679ba400418e460fed31c4e594b961b5  libgfortran/generated/in_pack_c8.c
! 5f1f63087289a88eb9e0dbbc23ae7465  libgfortran/generated/in_pack_i16.c
! 81db8eae4c4e96d54a0d283a2181f6da  libgfortran/generated/in_pack_i4.c
! 016554219aafb88570c9f128c0af6332  libgfortran/generated/in_pack_i8.c
! f52be8c009640cc7333ebecc1f5a073f  libgfortran/generated/in_unpack_c10.c
! 8e79cd914103ae499d5c4472e09c9e27  libgfortran/generated/in_unpack_c16.c
! cf497a2501e69cbbd9cda4806450e0a8  libgfortran/generated/in_unpack_c4.c
! 470c07799e94ef59e4157155f5ef7bba  libgfortran/generated/in_unpack_c8.c
! 9e9b0b17145f8dd7af0be98c27a2c5d8  libgfortran/generated/in_unpack_i16.c
! 92175ce92a77cba5ebb57d0ef25efa9c  libgfortran/generated/in_unpack_i4.c
! 7366643c3a818285c9f8a73145192680  libgfortran/generated/in_unpack_i8.c
! 71bc82b633ca0a1dd25663fccc71b077  libgfortran/generated/matmul_c10.c
! d6c806b620f696b6adab14430e6cc0f0  libgfortran/generated/matmul_c16.c
! 7c7402d8d83ac0725b7ec393fbe21d24  libgfortran/generated/matmul_c4.c
! cc4f09805d6fa42f561e12ee9d30ba3a  libgfortran/generated/matmul_c8.c
! 9a9358ef2ad75e705cadf3e7a262aeab  libgfortran/generated/matmul_i16.c
! 2eb505f1442d93714c21f99c2997cf1d  libgfortran/generated/matmul_i4.c
! 3319b56a014363933dd4a6acc901ccc7  libgfortran/generated/matmul_i8.c
! 3b06064f8e07f96ca6fc433799991c33  libgfortran/generated/matmul_l16.c
! 57f27ac516a4e7f8f422e9be32359206  libgfortran/generated/matmul_l4.c
! 8220eada33a3b85941797679c8df187f  libgfortran/generated/matmul_l8.c
! 72034a04101d0b48abe83ebdf91dc9aa  libgfortran/generated/matmul_r10.c
! c4a86defcced9abc4222886b7485903a  libgfortran/generated/matmul_r16.c
! 24dc083660021b38a9f1233e53de8d64  libgfortran/generated/matmul_r4.c
! c134957b98044d7ebf7c89e48659b1c2  libgfortran/generated/matmul_r8.c
! 3e08f3b742ba76b761d034ab6316f99c  libgfortran/generated/maxloc0_16_i16.c
! e95d1ebba2053bcc67a2e9e152cc4f40  libgfortran/generated/maxloc0_16_i4.c
! f958b7d54e2d5984c7cf72f5d40eb26d  libgfortran/generated/maxloc0_16_i8.c
! 9f37ec1add1e662e2584f082135faf30  libgfortran/generated/maxloc0_16_r10.c
! 31e1696415ec6b5ae64306128c54ff5b  libgfortran/generated/maxloc0_16_r16.c
! 2e83c07b83f5847cb8cfea12c0e21d16  libgfortran/generated/maxloc0_16_r4.c
! a473140ceb3b0eb8f5c963baf056c133  libgfortran/generated/maxloc0_16_r8.c
! 7afdfb4ac516106b7e776e68fe0188c0  libgfortran/generated/maxloc0_4_i16.c
! dc71dd89ae27346a92bdc2bcd8e9326c  libgfortran/generated/maxloc0_4_i4.c
! 80eeb5b513efae2ab6d5c54bf84c16ff  libgfortran/generated/maxloc0_4_i8.c
! fcc859459e08c8f09c5db82daefa0797  libgfortran/generated/maxloc0_4_r10.c
! de2cef190c29ed9fa0ea133800309756  libgfortran/generated/maxloc0_4_r16.c
! c9197a777ca2e1a560dc94e13965b54b  libgfortran/generated/maxloc0_4_r4.c
! 77e6912e38d495b97181dd3bf94112ad  libgfortran/generated/maxloc0_4_r8.c
! bc89df425e62f61c0361fd5a4ea1dd8b  libgfortran/generated/maxloc0_8_i16.c
! 00e47ea5c6a1cf6acf1ac02fcfdf01bc  libgfortran/generated/maxloc0_8_i4.c
! 33a0d99352a27789bfd23ce0f8dc4ccd  libgfortran/generated/maxloc0_8_i8.c
! 856d5faed2e0eac3ca237ab5e37a07f0  libgfortran/generated/maxloc0_8_r10.c
! 44ec6dc436d10af86b3785d38050dc3b  libgfortran/generated/maxloc0_8_r16.c
! 96336a0c51182d6826b12e3ea4700d48  libgfortran/generated/maxloc0_8_r4.c
! d219968aeb3a30ca68584eaff2ef42f5  libgfortran/generated/maxloc0_8_r8.c
! 892bb64bfc16a5d9717a42628e5c1510  libgfortran/generated/maxloc1_16_i16.c
! cea00eb6de07026d90c4cf486c5bdb2d  libgfortran/generated/maxloc1_16_i4.c
! bb4a8d4d00a52e7184610ef281fe3938  libgfortran/generated/maxloc1_16_i8.c
! e08527e0b3f510f6aba59d91cc503447  libgfortran/generated/maxloc1_16_r10.c
! e41acb348703f70e9c2edbfccbf0801a  libgfortran/generated/maxloc1_16_r16.c
! b6c10f9bff9e957f3afad2fb80e46964  libgfortran/generated/maxloc1_16_r4.c
! d5964b1f09f1fa095472bb15043df85c  libgfortran/generated/maxloc1_16_r8.c
! 03ad7c9ecc22a07fac4c2e9d20ce616d  libgfortran/generated/maxloc1_4_i16.c
! 5b9548572ef72dd4ad7cdb3d414b7223  libgfortran/generated/maxloc1_4_i4.c
! 10d0401964dfa83b8113faeef83889cc  libgfortran/generated/maxloc1_4_i8.c
! f74253077e32c7d2fd316a4cbeae3349  libgfortran/generated/maxloc1_4_r10.c
! 68fbf614be234e27cf657768ca523417  libgfortran/generated/maxloc1_4_r16.c
! 8e920c19e2a658bf35740a4a7cebc3ed  libgfortran/generated/maxloc1_4_r4.c
! 794ce3d5a693cfbf6a96ca94112980f1  libgfortran/generated/maxloc1_4_r8.c
! d5c1a67eaab80abdc70aa311ea993304  libgfortran/generated/maxloc1_8_i16.c
! dd88f4a5686c7acf63d3c9d68f92899b  libgfortran/generated/maxloc1_8_i4.c
! 8adb484f6188a28dc19e3e90f98d6f80  libgfortran/generated/maxloc1_8_i8.c
! 0a623fe3d82791a3dd2789149876d5d5  libgfortran/generated/maxloc1_8_r10.c
! f076ec3def8ff409769ebe19b5986b07  libgfortran/generated/maxloc1_8_r16.c
! 0d0bfa9715007f76de55ed0efd93b825  libgfortran/generated/maxloc1_8_r4.c
! c58e58d46caf5c5618fe952b381c91db  libgfortran/generated/maxloc1_8_r8.c
! b108a788dbc97cccce5a7e8081d16d9e  libgfortran/generated/maxval_i16.c
! 79bf5857a5ea6105d78f48941f16c2b4  libgfortran/generated/maxval_i4.c
! 3a2721624e54f9d1e0867c8d0ad3ad75  libgfortran/generated/maxval_i8.c
! c46205a385e9fa84cb9c9ce35e9676e5  libgfortran/generated/maxval_r10.c
! 01b65036db7e39742ad7d66e42d5d826  libgfortran/generated/maxval_r16.c
! 6cc0ec5236bc7dade6360f3c2892b9ef  libgfortran/generated/maxval_r4.c
! 24f0ab0cad17a28e3cc2e4f60ee3ac4f  libgfortran/generated/maxval_r8.c
! d884e5e96fc7cd467de61d1463cb4601  libgfortran/generated/minloc0_16_i16.c
! 507b7ed559ea0322dc119e4133016d10  libgfortran/generated/minloc0_16_i4.c
! fefae78e3b0a56adda744484fb575624  libgfortran/generated/minloc0_16_i8.c
! f316babe564c04c361368a38a9e056b6  libgfortran/generated/minloc0_16_r10.c
! 6df87bb60334e0f008225a91cd181aa8  libgfortran/generated/minloc0_16_r16.c
! 2d306cac8d880203cbea55d7bf9a24c1  libgfortran/generated/minloc0_16_r4.c
! 86d62022ca8851e27502a04ae7131bf2  libgfortran/generated/minloc0_16_r8.c
! 098548f5881204bb14d884a6b44808b2  libgfortran/generated/minloc0_4_i16.c
! 44f7bb356af3d13a8e1f22536e134b39  libgfortran/generated/minloc0_4_i4.c
! c2ed86f55e884e06355cef024736e783  libgfortran/generated/minloc0_4_i8.c
! 0c7ff70a270f2ce3a7b6068df17b0fa9  libgfortran/generated/minloc0_4_r10.c
! ae6c4405563a52408cd5d4d5579bdd48  libgfortran/generated/minloc0_4_r16.c
! 5a317da6b029696bd56416ce5646f94b  libgfortran/generated/minloc0_4_r4.c
! dea65d019c408b1a51f75edb7a4d2918  libgfortran/generated/minloc0_4_r8.c
! 0389026a9593f1b01d03d6f13bef4787  libgfortran/generated/minloc0_8_i16.c
! 17560b2cd2e88d6bc4f0076251d8f02d  libgfortran/generated/minloc0_8_i4.c
! 1e0579f94804b9ad3de4fd271b6d6ae1  libgfortran/generated/minloc0_8_i8.c
! bedcaeea75d46c5c0bf883174cbbe26f  libgfortran/generated/minloc0_8_r10.c
! 420681603791a450286f69da357069ce  libgfortran/generated/minloc0_8_r16.c
! 302b6527acc62411f08839d3228401e9  libgfortran/generated/minloc0_8_r4.c
! 12f74f02738e6ecb58852dfed52ea4b4  libgfortran/generated/minloc0_8_r8.c
! 37a65c0bc6284ee967c751a8d2a195fe  libgfortran/generated/minloc1_16_i16.c
! d9687ab9c926f3d20054d6952845d761  libgfortran/generated/minloc1_16_i4.c
! 5c4600ac1b190f3f60c3f9e1024e0542  libgfortran/generated/minloc1_16_i8.c
! 4c0a38a5ee11702fad13ba41ec68a28d  libgfortran/generated/minloc1_16_r10.c
! e2f4322f717af48d24f472723302c1a1  libgfortran/generated/minloc1_16_r16.c
! c893d6b0c670255b3fbeda173df1d735  libgfortran/generated/minloc1_16_r4.c
! 06eaf56b93aa1621fd5e527c45bdd095  libgfortran/generated/minloc1_16_r8.c
! 15c9f84640d5d9ebe33defe30c91c83f  libgfortran/generated/minloc1_4_i16.c
! 2b6d74edce761a6dca7a25de7f406149  libgfortran/generated/minloc1_4_i4.c
! 21bb9c420eda95a9f3042bd5ce805e08  libgfortran/generated/minloc1_4_i8.c
! 3a7c488005583bd774009b698020b132  libgfortran/generated/minloc1_4_r10.c
! 5044a92836e032d340360e829f58dbfe  libgfortran/generated/minloc1_4_r16.c
! 1db62993904ab5806115ff5a06b1f66d  libgfortran/generated/minloc1_4_r4.c
! ac845eb97436f1bf67679ed94f699ed4  libgfortran/generated/minloc1_4_r8.c
! 2cef6fa2a4e3ca2256041f61eaea446b  libgfortran/generated/minloc1_8_i16.c
! db5dffd55e049e25b2a417b6bc0a23b3  libgfortran/generated/minloc1_8_i4.c
! 9fe6bbd5f12025bf114383be6730ed84  libgfortran/generated/minloc1_8_i8.c
! 1fc9f0e70b2a5122c50c25c59ed0532e  libgfortran/generated/minloc1_8_r10.c
! 5c4c2f3ed9f223caf4c308fe821057e3  libgfortran/generated/minloc1_8_r16.c
! 70f1854419e4c795c5a450f2a4ff0209  libgfortran/generated/minloc1_8_r4.c
! 80b894fa292ea82b6a6b2da3f56042a3  libgfortran/generated/minloc1_8_r8.c
! eb8c606df7761036588e435730410c48  libgfortran/generated/minval_i16.c
! bc3da6490aaed169ccc0db410e4da59d  libgfortran/generated/minval_i4.c
! 85b3b9a911549696fd1d94e3e86de46a  libgfortran/generated/minval_i8.c
! bc9dfea4b5f488cd27ca7cd526ec1bcb  libgfortran/generated/minval_r10.c
! 15d13d76882b7b2ac5371d3b1f94f47a  libgfortran/generated/minval_r16.c
! 8477bc7c78044e909bb5a65a33dcd6c1  libgfortran/generated/minval_r4.c
! f782896f571363ea2d4f83109a77873b  libgfortran/generated/minval_r8.c
! 9eceb723094b7902234d3acc470d6a3f  libgfortran/generated/nearest_r10.c
! abeda9cce7a2467b81ec21c704654a9d  libgfortran/generated/nearest_r16.c
! 497845b71ddd79adef33ec587e74db37  libgfortran/generated/nearest_r4.c
! 9916f80ea022ba7f535601d5972e5350  libgfortran/generated/nearest_r8.c
! c6bcdd775317356ef0c82f67d0d42e37  libgfortran/generated/pow_c10_i16.c
! fddcba28cb941a1ac01e29cf1856f342  libgfortran/generated/pow_c10_i4.c
! e973eb93520e11d11098806d501bc592  libgfortran/generated/pow_c10_i8.c
! fbfacea0d492107bcd05f36c1494f4eb  libgfortran/generated/pow_c16_i16.c
! ef64e1b1b0fa2810fd54758670ec261c  libgfortran/generated/pow_c16_i4.c
! 7b69497fc2f79a1ba9b521b16ddcbfb5  libgfortran/generated/pow_c16_i8.c
! ab5c09ea5684a4925a7727c184c1f43f  libgfortran/generated/pow_c4_i16.c
! d6578ac058c4a237532df22062d7771a  libgfortran/generated/pow_c4_i4.c
! d16eaf33b5ecbbe4d09b2eeeea2bf420  libgfortran/generated/pow_c4_i8.c
! ae484b4474855f9edefa3d3d9df923c7  libgfortran/generated/pow_c8_i16.c
! b23e6c2a907a47feb73a04e0d325cf76  libgfortran/generated/pow_c8_i4.c
! 140ac1b537cfa7cc75fa5715a3d0193a  libgfortran/generated/pow_c8_i8.c
! 439b08fa2ec836587e3019e1c8cd641a  libgfortran/generated/pow_i16_i16.c
! 89187e99835d95fa69152aadde64e72b  libgfortran/generated/pow_i16_i4.c
! c58dde0ac44ce8a84338295ad2d63f05  libgfortran/generated/pow_i16_i8.c
! 698b51be7d63db6dc2dcdecc3dfb3c56  libgfortran/generated/pow_i4_i16.c
! f2f0a99d5b6288448086bb4eb7a1a21d  libgfortran/generated/pow_i4_i4.c
! 08b7fe63ba98b72d00a13af0104298e9  libgfortran/generated/pow_i4_i8.c
! 3c3e7fce0ee2501ac08a7532d22a903d  libgfortran/generated/pow_i8_i16.c
! 6318e6bad193e632b9f3d087827f69ab  libgfortran/generated/pow_i8_i4.c
! bd9f1dbb49425a6b592a165d59b17a48  libgfortran/generated/pow_i8_i8.c
! 15a087065f27435cfd99328b21661876  libgfortran/generated/pow_r10_i16.c
! f46537d2ab80225bd52a2dbe83fd92c5  libgfortran/generated/pow_r10_i4.c
! 33ab6b08599cdd8d4c14e9eb62f7de83  libgfortran/generated/pow_r10_i8.c
! 6429168ad5d17400829a658516b48b50  libgfortran/generated/pow_r16_i16.c
! eeb7ee08eb2373552898670858b3c467  libgfortran/generated/pow_r16_i4.c
! feae63e6f66d33de34eefc4c5e2cb862  libgfortran/generated/pow_r16_i8.c
! e3b63a9ad88b2f7f7e6e96e3dfedce1a  libgfortran/generated/pow_r4_i16.c
! 90467e8f7c70a77e8b0b02bc062fd1ff  libgfortran/generated/pow_r4_i4.c
! cdc67273972635ad9605cc5e066d57ba  libgfortran/generated/pow_r4_i8.c
! 50b65a9e63d87ce61276f72bffd7b52d  libgfortran/generated/pow_r8_i16.c
! f5453b19ac9948e2d6471e4a5768678e  libgfortran/generated/pow_r8_i4.c
! aae27a417a7e8dcfbc51616821886874  libgfortran/generated/pow_r8_i8.c
! dec57caae28b73b676817c1e4f434d9a  libgfortran/generated/product_c10.c
! ca136d81b43a5253423d5cc9b90b6047  libgfortran/generated/product_c16.c
! 97ae644e53d68a4a2b2ed776d4f6cab0  libgfortran/generated/product_c4.c
! d6541bf73b108c7029951e1747f47dc6  libgfortran/generated/product_c8.c
! 1e7c524fb1aa53b92b1b536610f1c909  libgfortran/generated/product_i16.c
! f9d557516348808e08967f355f3076d5  libgfortran/generated/product_i4.c
! b9aee3739f37b097386efbf53f4222d6  libgfortran/generated/product_i8.c
! a2b252ec20d7b6d44318013d365ac873  libgfortran/generated/product_r10.c
! 3ccc8de393004682a3854133e95064aa  libgfortran/generated/product_r16.c
! cc542456c664b04149ce68ff0b5c47e6  libgfortran/generated/product_r4.c
! 4e94209c522719a08e41fffcf0bfaa17  libgfortran/generated/product_r8.c
! 5f32174063ca07daf0ecc76e52b711b4  libgfortran/generated/reshape_c10.c
! b5661d2799a278c3dbc1e3fad53b2e3a  libgfortran/generated/reshape_c16.c
! ff3e0145630510fc0b77f8811c050d47  libgfortran/generated/reshape_c4.c
! 9155cfc3aa744e1e9df3d1b4d2bdb510  libgfortran/generated/reshape_c8.c
! 23d387d5b7337701bf485d6647f98e25  libgfortran/generated/reshape_i16.c
! 65f4f2dd5a9c5b22e5f592ec1932f0ae  libgfortran/generated/reshape_i4.c
! 02652a63605952dc5d08f09cea569ed8  libgfortran/generated/reshape_i8.c
! 4c8e03dc9da6708169ebf76080f0809a  libgfortran/generated/set_exponent_r10.c
! b9f82ac8904fd679a7dd8e1c6508a093  libgfortran/generated/set_exponent_r16.c
! e15d83e308e0f8f632553a0edfdde82f  libgfortran/generated/set_exponent_r4.c
! 8b33cabe13ebe6b79042f85ad2378a87  libgfortran/generated/set_exponent_r8.c
! 06ee2235781bcdfe7899bdda5abbf9d8  libgfortran/generated/shape_i16.c
! d75819d95ce2c4c7d71d7cb4111b5836  libgfortran/generated/shape_i4.c
! ff736aa4275d6c5232929d159ac1d10f  libgfortran/generated/shape_i8.c
! 5978a5d0800b295a563140b07aaa297a  libgfortran/generated/sum_c10.c
! 0d188455c27e4b51960613893d38b764  libgfortran/generated/sum_c16.c
! 2bd558c16d29b79fcfe4084fe5a9fbad  libgfortran/generated/sum_c4.c
! b6a14ddc9b912a8bca447bb7da5e79e4  libgfortran/generated/sum_c8.c
! d251a861086ff1cfe85f0ff19fdbefe5  libgfortran/generated/sum_i16.c
! a5a1ce0dec07eee04ae312a0a1a33bba  libgfortran/generated/sum_i4.c
! b2c79a9d55040b1c7a748c6cc6169a7b  libgfortran/generated/sum_i8.c
! df2a770090d0f9b66dad3ec2ceb56406  libgfortran/generated/sum_r10.c
! bdbf7a019d9f56fada37694c77439c3c  libgfortran/generated/sum_r16.c
! 5e3c6447ffc1fc90581eb91947a72d6a  libgfortran/generated/sum_r4.c
! 87b2ab89b7aec2581a464ec544b42e5c  libgfortran/generated/sum_r8.c
! 47b9018c1785c204c2d6230a92b92c49  libgfortran/generated/transpose_c10.c
! 08acf745aa7ebd5d916fb9edfd44ac65  libgfortran/generated/transpose_c16.c
! fc50ce808955ea67cca94a0503b2923c  libgfortran/generated/transpose_c4.c
! 3147d6ce490b1783ba1d525dff64c8bf  libgfortran/generated/transpose_c8.c
! ba424dd7c08f39f8397cc0060c042d9e  libgfortran/generated/transpose_i16.c
! 653886bcef2de39ec0765a8142578383  libgfortran/generated/transpose_i4.c
! 046647bf81273eff3b5b7674c6b1b936  libgfortran/generated/transpose_i8.c
! 126df8df2305ea15d8b344f65e178c30  libgfortran/intrinsics/abort.c
! feb4a51f21dcf63e670dc45fde5fccaf  libgfortran/intrinsics/args.c
! 88ede6129303c1c8e09c726a4da44b69  libgfortran/intrinsics/associated.c
! adfd2ddc0b5c427a16665c435c6ac64d  libgfortran/intrinsics/bessel.c
! bf3dc08a8fffd7f553856d96734165d5  libgfortran/intrinsics/c99_functions.c
! 78c25334fcb4d6d5175e3f80c3da8e35  libgfortran/intrinsics/chdir.c
! 41d56242b747ebfa494b73ecbda18006  libgfortran/intrinsics/cpu_time.c
! 6daa35050009a134d51fb57e1a53c482  libgfortran/intrinsics/cshift0.c
! 37245ecebdb9856f793e2199c900bb7b  libgfortran/intrinsics/ctime.c
! cf67bad89e9794c584f252703735895e  libgfortran/intrinsics/date_and_time.c
! 93e511f4d69e73795c4411dfaf35a4a2  libgfortran/intrinsics/dprod_r8.f90
! eaa3575b437e9aa257b67505c8263617  libgfortran/intrinsics/env.c
! 535e79b9633babc50c87ccb9ee00f947  libgfortran/intrinsics/eoshift0.c
! e7ac42bdc58111e788f6e1000ef4f993  libgfortran/intrinsics/eoshift2.c
! 0824b4fbea1839ee6bcd477428a7b790  libgfortran/intrinsics/erf.c
! 6a07ee1efc1024d252885cc38e333d08  libgfortran/intrinsics/etime.c
! 022464079d982c55bc090fe211b3cdcd  libgfortran/intrinsics/exit.c
! ce77b9717d46371a859e47bc075c7801  libgfortran/intrinsics/f2c_specifics.F90
! 3fa950ba48f48654abd8bf5f5302be8a  libgfortran/intrinsics/fget.c
! 7800412851ab00a883f75e8e2bdd7c7a  libgfortran/intrinsics/flush.c
! 670c76f8ed32a9526ffea433144c34af  libgfortran/intrinsics/fnum.c
! b3ff3195869a6dd136b92e6ef6ce23ce  libgfortran/intrinsics/ftell.c
! 3927719a4f4d6c66ff9c0d86e8658a56  libgfortran/intrinsics/gerror.c
! c0b60c2bcdeff27c01db35cced5f09d8  libgfortran/intrinsics/getXid.c
! 8091ff43f382b1226cc3752e90d05a24  libgfortran/intrinsics/getcwd.c
! 184f5251134205c67862851ed6d4a105  libgfortran/intrinsics/getlog.c
! 483279d85246a8070353f025678dd3a3  libgfortran/intrinsics/hostnm.c
! 15140308e172d67a7811ebec1ed94286  libgfortran/intrinsics/hyper.c
! 07efc2a53556a1e259b725f5abb928ad  libgfortran/intrinsics/ierrno.c
! ba558c1c9746bc42a44f1f84f978a804  libgfortran/intrinsics/ishftc.c
! a4ab88d4b2f636f0dcacb28bfecbb453  libgfortran/intrinsics/kill.c
! d223750f1f1113df397f0c52f17f3b39  libgfortran/intrinsics/link.c
! 65b892ec466b7022fdc3237bcd6a3a46  libgfortran/intrinsics/malloc.c
! 9caf1637de872717375b554adfeae3ac  libgfortran/intrinsics/mvbits.c
! 9fc30ba51f7a09072c9687b3d3b8c7cd  libgfortran/intrinsics/pack_generic.c
! f3056917c8204d5ff98a73afb34cbc55  libgfortran/intrinsics/perror.c
! 28f528f7a5160ecf9fe6ae2bef5cf5e1  libgfortran/intrinsics/rand.c
! 3fe87319ee4e669859c1ccd51206c21d  libgfortran/intrinsics/random.c
! cce348acc170ecf4aedd271661e58a31  libgfortran/intrinsics/rename.c
! d81fe81c4ff58cc76ceb8a18691c538b  libgfortran/intrinsics/reshape_generic.c
! 8848ba49939a352b898b3e55701ee1f3  libgfortran/intrinsics/reshape_packed.c
! 17a7c40ad25545607937a7ce3bf78653  libgfortran/intrinsics/selected_int_kind.f90
! 482105ecc765a3bf1b49624f9158adc4  libgfortran/intrinsics/selected_real_kind.f90
! 3a1ddd57833b95e7594937fb962a46b9  libgfortran/intrinsics/signal.c
! c226ee10e2257dc5fd205b2561c2071e  libgfortran/intrinsics/size.c
! 5a4a717a6539b8e9f896746305508fd9  libgfortran/intrinsics/sleep.c
! ed8b7059ec7d042b0475df3c0d5c3857  libgfortran/intrinsics/spread_generic.c
! 1c6b13cdfa07313454bdf3919f5e7c12  libgfortran/intrinsics/stat.c
! 5cfe85b9153205db778137e9354361b8  libgfortran/intrinsics/string_intrinsics.c
! 85e1d5f489789c222c4120b857dad76e  libgfortran/intrinsics/symlnk.c
! 176613ea3882e9e21df72996c03932ac  libgfortran/intrinsics/system.c
! 3da2c7d15e1271142fd6d8f93878b3cc  libgfortran/intrinsics/system_clock.c
! c9576c2e29b4632aeb6f9ff97c2a8232  libgfortran/intrinsics/time.c
! b8faecccf32646d919d29e08aea3f613  libgfortran/intrinsics/transpose_generic.c
! 547e2a82982f7de01a5a03a453e37b97  libgfortran/intrinsics/tty.c
! f85812c8162be389c1280f2d129ab907  libgfortran/intrinsics/umask.c
! 6c94ec51d1a26ba885463fcc1b734e8b  libgfortran/intrinsics/unlink.c
! 82a53e9bf24e3db38bb0b72268cf59be  libgfortran/intrinsics/unpack_generic.c
! 19143704b6e0a99f5e0c458401a55591  libgfortran/io/close.c
! 2aafe7a74fa48c1076ff8432a9d4b85f  libgfortran/io/file_pos.c
! 22eb5afe67293cf42d65a8ce76623ce2  libgfortran/io/format.c
! 97ff980a4340a4821969064500e2ebe2  libgfortran/io/inquire.c
! b599d0517d187f37b66722bdf9fae30c  libgfortran/io/io.h
! bd3d626c439a343a98ed3f0e042dff78  libgfortran/io/list_read.c
! 55d55876009d4ba13c8f9c2bf68ed9a2  libgfortran/io/lock.c
! d4e57ce4e16c0e8ed40e58b2b85e0ecb  libgfortran/io/open.c
! e255a9c0471b6521e5222bbabbefb442  libgfortran/io/read.c
! f2f5b5fac8a071ec775dcce20adcc797  libgfortran/io/size_from_kind.c
! 4ad51e1ddf11f1f071394a4242195b0e  libgfortran/io/transfer.c
! 2ccdb2c6597c8411b5aaf1504e15fb04  libgfortran/io/unit.c
! a9505d7ea68d7550804264b6643da4a7  libgfortran/io/unix.c
! 63e4a852f52fb54ab9f3bcc84b3b0a11  libgfortran/io/unix.h
! 250735384948f81e299eb090a2b4ae02  libgfortran/io/write.c
! db7817769c1b61384014296f7655b8a2  libgfortran/libgfortran.h
! a66e9f7d08d761f66c5227b5147a655f  libgfortran/libtool-version
! 9aff89419f84f88332b5287e2b719f9d  libgfortran/m4/all.m4
! ce216712a6105cc9406975ef571d8991  libgfortran/m4/any.m4
! b9975784e6ed8279905297af70bfccdc  libgfortran/m4/count.m4
! a9232ea4bffe39dee2f2759f8d417075  libgfortran/m4/cshift1.m4
! 4fd1b49594bbe8c83fec7ff5268c9c81  libgfortran/m4/dotprod.m4
! 2a28cda004acd81f530695b0174425a2  libgfortran/m4/dotprodc.m4
! 8b4499bec9f1b8c47e5ba42654387656  libgfortran/m4/dotprodl.m4
! 5251f620013edc49ae3b35be2e16e245  libgfortran/m4/eoshift1.m4
! 73ed2ae0eb8925ecba7526ac1c3cd745  libgfortran/m4/eoshift3.m4
! 35216f507ef6d770706ede3518bd372e  libgfortran/m4/exponent.m4
! 5a657e92b71952c921617b4d5c35a906  libgfortran/m4/fraction.m4
! f814e0677f960243d6cc482f0ba5f09e  libgfortran/m4/head.m4
! 51ea0b999e34b5105b0c7718f206b240  libgfortran/m4/iforeach.m4
! 6dfbae05a4b48862b6d489e3549bbc24  libgfortran/m4/ifunction.m4
! 51fc0d9729231d3bab08f08360fedc25  libgfortran/m4/in_pack.m4
! 799572366891f22e4a6f2a64763ee58d  libgfortran/m4/in_unpack.m4
  af7950241e7e076f2ee76579ae3d4426  libgfortran/m4/iparm.m4
! aa654164be90e6653c0a549e1a2d63d8  libgfortran/m4/matmul.m4
! a64117c2ba9e112d0f82b2e06f309a80  libgfortran/m4/matmull.m4
! 749ac53ac9c7093c121c0479be4d2125  libgfortran/m4/maxloc0.m4
! a98a260d52593dfe83843d1feacb2045  libgfortran/m4/maxloc1.m4
! d58ff492b36006031de0443629ad9b23  libgfortran/m4/maxval.m4
! d799c08fc68b424bb4af4f1c4aa48161  libgfortran/m4/minloc0.m4
! 8046538b3ca96455a1c48006e08d44e6  libgfortran/m4/minloc1.m4
! b746801e286977267740677998340cbd  libgfortran/m4/minval.m4
! 5523222f0e4fe934d1dca095f4f6fa27  libgfortran/m4/mtype.m4
! 7fb3e4ccba67703baf2feb49fa8f4363  libgfortran/m4/nearest.m4
! 76bc252527106c946218f93141612719  libgfortran/m4/pow.m4
! f925916cfafacaf34f6682a5eaf16372  libgfortran/m4/product.m4
! 68b4d7a8689a528402ca773dc202ffb3  libgfortran/m4/reshape.m4
! 97e68d492e4db1e63cfa21cbc315a68b  libgfortran/m4/set_exponent.m4
! 4b629dcc2738999d0759e72c7d573d27  libgfortran/m4/shape.m4
! 90998ff96db00298d317860279afab90  libgfortran/m4/specific.m4
! d9848c2d13fa10a74d409797bbe62367  libgfortran/m4/specific2.m4
! cc702d402d139e1b24d6e8bfa9f0feab  libgfortran/m4/sum.m4
! b4d0f212a5bbbff25c1d7bbf80b12dfa  libgfortran/m4/transpose.m4
  0ad0318f00c85db29d184dc3dff12276  libgfortran/m4/types.m4
+ 909b76aad5179a6fe90dcdb8361961e6  libgfortran/mk-kinds-h.sh
  cd5733452b05f18d7cce28e6b3ed1e34  libgfortran/mk-sik-inc.sh
  69dde50e05115bbc693fded21eebb445  libgfortran/mk-srk-inc.sh
! 7bfaa9f3aa5a9675b16341c71816315e  libgfortran/runtime/compile_options.c
! 62488a0b0a97f72738923d80842e44d8  libgfortran/runtime/environ.c
! 01a0e983296e41771c0ba6fd4fc3b413  libgfortran/runtime/error.c
! b41c52478c55eb0e870aff4f6c83d1db  libgfortran/runtime/fpu.c
! 20fbb9fa1dcb14ddb52fc357714c2676  libgfortran/runtime/in_pack_generic.c
! 23c9f23976de1e2a2d4b99df15365d99  libgfortran/runtime/in_unpack_generic.c
! 978efbfc87a07e1d67d73898b25adaef  libgfortran/runtime/main.c
! ce251c8430f3192ba5c969f3f6da80f5  libgfortran/runtime/memory.c
! 1dd060e3ca7cda17353ba6c2b46b6c6e  libgfortran/runtime/normalize.c
! 7dc4583411511eeb6544ebcd2f62560f  libgfortran/runtime/pause.c
! 0af1855586b82ce6abdc5bcbe4b4c8a7  libgfortran/runtime/select.c
! a11b58ce7b16ef6aa7b6594a0698cf8b  libgfortran/runtime/stop.c
! db17311c35e495c996fa1c1354d8f628  libgfortran/runtime/string.c
! a916467b91076e631dd8edb7424769c7  libiberty/COPYING.LIB
! 703d285b97325c98e00270c7c5740d6d  libiberty/ChangeLog
! 8d07ef85ded1734ff3be0936e96bdc82  libiberty/Makefile.in
  294191545dc71f5ad13229b0a5bfd7b1  libiberty/README
! 8797cb1a6faa84f3c7fe3d12164a4b13  libiberty/_doprnt.c
! ac704a94dd14d576472e2209daf29cdc  libiberty/aclocal.m4
! e60c2e7c5dcdd19510066c13f1a527d3  libiberty/alloca.c
! f97b0a4139a106bc1674f3f6d1af6f0b  libiberty/argv.c
! 1ff1c82c53060dceecc901cf0b63c950  libiberty/asprintf.c
! a16ea056b95fd70c21333db132da14ff  libiberty/at-file.texi
! c34119797a13e71989722851c14b711b  libiberty/atexit.c
! ab8d4cd68aa4892e2318d2c71864cc56  libiberty/basename.c
! 17a1f1d7f5acf01ce922d98210067542  libiberty/bcmp.c
! 842606d1283483301611ebda802d4178  libiberty/bcopy.c
! fe609e6de441faf95f55a6b481804e41  libiberty/bsearch.c
! 4a0acb9356a52f3bcfd67efa26997b58  libiberty/bzero.c
! 5bd055836a440051d7c561a9f591ecbb  libiberty/calloc.c
! 379a897b438cc01bfe348081fb6f0c06  libiberty/choose-temp.c
! a8391a5d7431a4e11f61be41386a3356  libiberty/clock.c
! 7696d31c3756d5ad3fa306cef3599c5b  libiberty/concat.c
  fdaf5fdc2a84ff34103604588aea1a3b  libiberty/config.h-vms
! dd2971acf38c8b94a06c8309086d6de5  libiberty/config.in
  4004fdcde347fda58406b4b84a995c66  libiberty/config/mh-aix
  7b65854f594c84e80295173de277b3dc  libiberty/config/mh-cxux7
  044204f5b4bcac5eae2face0602129ae  libiberty/config/mh-fbsd21
  904bdcd9daf97fa55a9ca8901ffe7435  libiberty/config/mh-openedition
  38e76da568ab25260754fdb9d5080513  libiberty/config/mh-windows
! 4f4649eeb5452037581c4961891652d4  libiberty/configure
! 289103344322aabfd6b0c3986648e4fc  libiberty/configure.ac
! a8959f1d1758eb14819753023f89d199  libiberty/copying-lib.texi
! fe053283d3559af3ec5cac45f8ead009  libiberty/copysign.c
! e42637980225b70de3af54ae725ea31d  libiberty/cp-demangle.c
! 79045ff4b417fef74eea19ec259f5eef  libiberty/cp-demangle.h
! a57edfd55211c46358188905b2dfac7d  libiberty/cp-demint.c
! 9d9beea4df9bc80fe6a803d6df8b5472  libiberty/cplus-dem.c
! 7e772185592cfb1b5ecf5335889e71a0  libiberty/dyn-string.c
! d7cc74911527c672bba716c9a793ed94  libiberty/fdmatch.c
! 0c2635175b975823b40980974dfc2110  libiberty/ffs.c
! 1dd36e1601883f5bc897c94e6f06b33b  libiberty/fibheap.c
! 12285d52087fab28dde449b82a44a08b  libiberty/floatformat.c
! aa0f79d836563e6a0cd92ab678b07aaf  libiberty/fnmatch.c
  30a2550d37938d1e3354632161ac1d0b  libiberty/fnmatch.txh
! 2ae40f31f6899f80f81abe3810702435  libiberty/fopen_unlocked.c
! 7ffe2d6d2b579833ab9d003d06c5ee62  libiberty/functions.texi
! 9a504fc6f981505eee669fd71657624a  libiberty/gather-docs
! 754c5ef42440c5d1b62146174a6636e4  libiberty/getcwd.c
! eb843075f87d187630f6a3d849b93e64  libiberty/getopt.c
! 7c932073da197aa34eb3383960a114fd  libiberty/getopt1.c
! bb0043d92c716691cc17b80c845c336b  libiberty/getpagesize.c
! 5e520e600636a692f52e62dcfb01921c  libiberty/getpwd.c
! 5c0eb869d31323424849c0aab9247722  libiberty/getruntime.c
! 0c70ad1e35bb090b52ed593865025741  libiberty/gettimeofday.c
! c39bedead227c1278faef880c1ad4d08  libiberty/hashtab.c
! 5e32ec629f36b60b40d64e2765b84ad2  libiberty/hex.c
! 4d485e7735be430b22aea0abb4938e26  libiberty/index.c
! 63603f59c10b854880473f2105993706  libiberty/insque.c
! dd4459d067ddcc1144926103908d94bb  libiberty/lbasename.c
  18b9304d730b955b7e77b09e91d50418  libiberty/libiberty.texi
! 2c56f9552603480f87b7136972894128  libiberty/lrealpath.c
! 63f182056dc07de23f0795030fddb331  libiberty/maint-tool
! d55e5d026b0f0cf0a1e06a592cd542be  libiberty/make-relative-prefix.c
! 3a2fa59555ba074a642f332e8ed421ec  libiberty/make-temp-file.c
  e331b31ce1cbf27a44f2fbeb54fa7b17  libiberty/makefile.vms
! cae2c391feb26227e1cf16d6419da2fa  libiberty/md5.c
! c8e83a77812bbb5089066e944e77128c  libiberty/memchr.c
! a528eda37da892ba47489adc65a5876c  libiberty/memcmp.c
! 95ce22742f0fff45d387a5edfafe5ea0  libiberty/memcpy.c
! 17849b03ded61c7a4eab9a092a1ec466  libiberty/memmove.c
! 302752b6f91e8b56b9944c1a48d780f9  libiberty/mempcpy.c
! d165e2ea5dd22486fc47a26cb1122187  libiberty/memset.c
! 0ff9ac67f525fded5b15e03991c50642  libiberty/mkstemps.c
  7897e43bedd2def4beb6eb73003efa68  libiberty/msdos.c
! 684ab2f5de6b46501aac279f2bd2f92b  libiberty/objalloc.c
! ab0f43a6703e0705b4e8bac274635b56  libiberty/obstack.c
  051d336f4d87cf832d5adf343a10cbe0  libiberty/obstacks.texi
! 2dc701f26fe6579d2d2d223fce98be18  libiberty/partition.c
! 518a95eba153702bf66366c8dc63f232  libiberty/pex-common.c
! cd237e14c76670c65cf48d57a3bc3572  libiberty/pex-common.h
! 368500b052f5ae593d4552821135a3d5  libiberty/pex-djgpp.c
! 83ac7892cca6e5b7ea4908d725952766  libiberty/pex-msdos.c
! d67a9b0906ffa961fdc411aa936fdfb1  libiberty/pex-one.c
! f95ca5085c8256190aae061de4e76f06  libiberty/pex-unix.c
! 9343c3b75e5c63412bead01d941acffb  libiberty/pex-win32.c
! 928fe1ec8b6b613bf523fcdfd0b8d88e  libiberty/pexecute.c
! 3b676729ba2ee705a260fb5c7f380032  libiberty/pexecute.txh
! af9bee5d1912e623defe1a7ee0ebc296  libiberty/physmem.c
! f7e45d3f23f83574372065030595efa7  libiberty/putenv.c
! db9be0bda70e724fa67044d66299b85d  libiberty/random.c
! 60656698122b80711c2cc8d35f29d9da  libiberty/regex.c
! 24eab3d83825c3be13549dc62b6d63d6  libiberty/rename.c
! 74850488731148a9c9f410042144f37d  libiberty/rindex.c
! b91dd39a7b9d4c9d03edc8a6cdf81978  libiberty/safe-ctype.c
! 26cebc96bf0afd6f4549daa75df55ad1  libiberty/setenv.c
! cafcb336a6d21898592c5cdaa7c5a3a7  libiberty/sigsetmask.c
! 508df49caf0f63878c515fb3998b5a27  libiberty/snprintf.c
! 32ea90e5aded75d1cbed83fc52123753  libiberty/sort.c
! d86a2cadfe8dbad9abe796fca261dd06  libiberty/spaces.c
! 47d72c6adf3f4f862acb06471958f7c0  libiberty/splay-tree.c
! bac20c1a198662917e6bc775ad9bd0cf  libiberty/stpcpy.c
! ec776b1c7d69d111cf8371fa0a1ff356  libiberty/stpncpy.c
! 0c900e9180d750a26ac0ddb237151832  libiberty/strcasecmp.c
! 13cce636dd9882e42c9fc5d607351f4f  libiberty/strchr.c
! 9f681e91439ac44c9df8e1b1deef33b5  libiberty/strdup.c
! b3aaeed201f3c6fd293e9f9618350bfe  libiberty/strerror.c
! 2d414e20c053293f373a5306192db8f5  libiberty/strncasecmp.c
! 7a2af59d38fecd41d10bb27112051f66  libiberty/strncmp.c
! 2d92725e49581d86d7cf06fb40def19d  libiberty/strndup.c
! 5b0eb0000c746fc4c1854f00bb80b53d  libiberty/strrchr.c
! e10b314802d21dd9bf042ad2cbfa8b71  libiberty/strsignal.c
! e2f3721273c7ef1ab0194aad78ffa3aa  libiberty/strstr.c
! f824ac0dcaa3a91b48d01cc80a7d17ef  libiberty/strtod.c
! 975b1003b58e3cca76c06e7237a14e0d  libiberty/strtol.c
! 26196a9a92fae743a06d65f0e081084b  libiberty/strtoul.c
! 9e1bb6fe95ebb6415672ddf1da29ec65  libiberty/strverscmp.c
! 937e3fb4f58bc3a9c6c783cd10aa8022  libiberty/ternary.c
! c0bc6b8e27a35b700909f682c940a15c  libiberty/testsuite/Makefile.in
! 7a534bdaa5f6ec4946a3473bc45a3f99  libiberty/testsuite/demangle-expected
! 76bac178712f63534358d10ff1f03961  libiberty/testsuite/test-demangle.c
! e9e958dbfc45a08dbbbbe48c83d3987e  libiberty/testsuite/test-pexecute.c
! 6b513119d8c36af928821e8ec24265d7  libiberty/tmpnam.c
! fed47804d20d26873d480f5166e7d864  libiberty/unlink-if-ordinary.c
! 76ece2eeaeac16005683a3e7bae1f2cb  libiberty/vasprintf.c
! 8e71982d77e91c0e3c57ca86c8a1b548  libiberty/vfork.c
! dc973aeb02b4545e42f179263612a4d6  libiberty/vfprintf.c
  9a46f8a6bd6b911849f209d09e94b66f  libiberty/vmsbuild.com
! 9cf75296ffdf5af13ece69eea5cb16a4  libiberty/vprintf.c
! bed73a98fd3178ecd9433e0f6a3ed214  libiberty/vsnprintf.c
! 9e789d58cebe756b96be30941debb05e  libiberty/vsprintf.c
! 9c22926d0b260822786460b98e517ad8  libiberty/waitpid.c
! f32b581d10bcc500277b6f4b4f923a4e  libiberty/xatexit.c
! 22389f4e282e4b739e0c1d70cba66cc1  libiberty/xexit.c
! cdc140ce93944c5bb2ac62cd3dfd86d6  libiberty/xmalloc.c
! 344bbf391c173eb006d2b3fa364f63db  libiberty/xmemdup.c
! 9609edf2f881f61eb24039301994216a  libiberty/xstrdup.c
! 6f774a92661ca4a067f1691a7925524b  libiberty/xstrerror.c
! c6e7ef53b4ff115a136d917511222656  libiberty/xstrndup.c
  94d55d512a9ba36caa9b7df079bae19f  libjava/COPYING
! 1c3c989e021f081835002245f62bdd68  libjava/ChangeLog
! 03e1f38b916604fdf1470238201325f3  libjava/ChangeLog-1998
! 691acb61fbd6a2235826ff55db5578be  libjava/ChangeLog-1999
! b58c6701706771a02bf00a77666941ef  libjava/ChangeLog-2000
! a9d916a0c06ff5cfbfa93484d161f5ef  libjava/ChangeLog-2001
! aeb0858191862f6397523d5046bb740b  libjava/ChangeLog-2002
! ee4b38ffd5e359f0a8d9f62132ccea95  libjava/ChangeLog-2003
! d20dd09834420c921e1a92e09aff0c88  libjava/ChangeLog-2004
! 4ada373ed623140c88cd783c6c75b71e  libjava/HACKING
! e6044391ca5876bd430bc51e9e144cf6  libjava/LIBGCJ_LICENSE
! 19060b1d4fd6acbb410b33810e36f6bc  libjava/Makefile.am
! 7576fa603e22a48fa67028bebf041ae0  libjava/Makefile.in
! 9dd432872e3bbb6e7cd07279a4a71baa  libjava/NEWS
  b8af03ff64b9879992c9382503d9910e  libjava/README
  fcab9c26cd6f539addaab81491b62c25  libjava/THANKS
! 23e04428e0cf1213d3c27f2f57011328  libjava/aclocal.m4
  efc33151e6f0752ce2b40ae21ab49671  libjava/addr2name.awk
! 0ef3b9bd9af6e0b55866fcdefea710a7  libjava/boehm.cc
! ec7d42d24b99dfdbe4796088ce2a8045  libjava/classpath/.cdtproject
! 09623b6fb228f20f12b8d188340174bd  libjava/classpath/.classpath
! 8078498f58e87e93cea5ad80f2b4f378  libjava/classpath/.externalToolBuilders/Autogen.launch
! 03e1476f3de1531593754fe9a4641838  libjava/classpath/.externalToolBuilders/CompileNative.launch
! bd5c337c48375b77b5f1260e2b8b5883  libjava/classpath/.externalToolBuilders/Configure.launch
! b6a91d856398d7b33a86a506c2fd646c  libjava/classpath/.externalToolBuilders/CreateLocaleData.launch
! 9a5b532e5655405a9b54306765cdc18d  libjava/classpath/.project
! 9653ec3427bc33c4d24eaf776f551806  libjava/classpath/.settings/org.eclipse.core.resources.prefs
! eb6d54356d50ae794680b571e048e059  libjava/classpath/.settings/org.eclipse.jdt.core.prefs
! e9b110f78d779338c46a28927503c161  libjava/classpath/.settings/org.eclipse.jdt.ui.prefs
! 957c0ffa7dd8bc3aa295800002f27e5d  libjava/classpath/AUTHORS
! efd97e0bb913655e0c8b16fa78bdded4  libjava/classpath/BUGS
! af0004801732bc4b20d90f351cf80510  libjava/classpath/COPYING
! bf427699dd4c7199dc14a55771db1d8e  libjava/classpath/ChangeLog
! 539139753b2aae955026b6567ec391ea  libjava/classpath/ChangeLog-2003
! a5b24de904ca628e02ef4e7aaee0378e  libjava/classpath/ChangeLog-2004
! f7bfe5262913dc92ad513695ddbcf4f3  libjava/classpath/ChangeLog.gcj
! a09dff495a9043fcf7b463f0b5c4fdd6  libjava/classpath/ChangeLog.gnujaxp.1
! 3353fabfae7cca9e6c4f821919e4275c  libjava/classpath/ChangeLog.gnujaxp.2
! b35964059a02f01f39b05a95b401f586  libjava/classpath/ChangeLog.libxmlj
! 5abc852d2573a40df611801dbcf1f948  libjava/classpath/ChangeLog.usermap
! 26c7da8460a5d7751bb3637e486661de  libjava/classpath/HACKING
! 2b16bc96299662397edef4d6502aeddb  libjava/classpath/INSTALL
! fdbfa9bcb359f2079099739547a52b57  libjava/classpath/LICENSE
! 2b022486fe999ec522d8abf6abcade19  libjava/classpath/Makefile.am
! 1a1333bdb1d187351cdb5df81c3b2590  libjava/classpath/Makefile.in
! 126aef03d4145d62df82de5b275feb8b  libjava/classpath/NEWS
! 9b7cebb5673df838ace41edaf7132d66  libjava/classpath/README
! b90757b146d159651d71c58f41d0ae27  libjava/classpath/THANKYOU
! a254dcd317014dec25a8314e7d870df4  libjava/classpath/TODO
! cc176a09ccd36d9641201d5d66312517  libjava/classpath/aclocal.m4
! 4616353f484dd5e4269482458daae300  libjava/classpath/autogen.sh
! d15d3b6c9879ab566f628422a39aba2f  libjava/classpath/compat/Makefile.am
! ae51d50b587fd9b213988d1c3402fb38  libjava/classpath/compat/java.net/GetSocketOptionInfo.java
! ec231a7a9c55537d6ff0337c5abcbc6f  libjava/classpath/compat/java.net/Makefile.am
! 27c8bb9b7b765848dd693ec30b296f76  libjava/classpath/compat/java.net/PlainSocketImpl.java
! 260e4ed334e2e9940c05d30462b3fc68  libjava/classpath/compat/java.net/README
! 65dacb61cf43d44fdb40dc6ed2aab64a  libjava/classpath/config.guess
! 7307ff5b4961a0ee6ed6d1686a9a42db  libjava/classpath/config.sub
! f7142104e9b2b8d0fe36ab097944c71a  libjava/classpath/configure
! 85b7e33c2d865ae70cbe3e4620f0db77  libjava/classpath/configure.ac
! 9a0a00a5c28b4a18d6ebca8ff3c80cf7  libjava/classpath/depcomp
! f876350b3e9ab36cbccb20ac3545a508  libjava/classpath/doc/Makefile.am
! 4ea2e88aaf766606e9f8b974d522c343  libjava/classpath/doc/Makefile.in
! ac83292049f265bac1ac61b413f818ca  libjava/classpath/doc/README.jaxp
! 0843e70fd87496224b3b9cfd0c2b16bf  libjava/classpath/doc/api/Makefile.am
! 19089253459a1caf6cae92e28deaef93  libjava/classpath/doc/api/Makefile.in
! 7f134b998d8bf4bd9c6caac7cd0e21db  libjava/classpath/doc/hacking.texinfo
! 4b767da829c5c129f367d730d49e9b2e  libjava/classpath/doc/native.api
! 31a593525e5b6e25ec28936546aa0929  libjava/classpath/doc/testing.framework.text
! daa67cb9040176c815bdd1cf9bf838cf  libjava/classpath/doc/texinfo.tex
! ca068137926a97a600932e6d34e874f3  libjava/classpath/doc/unicode/BLOCKS.TXT
! ef4b09d90de627a4acbe1fe57fb399ec  libjava/classpath/doc/unicode/Blocks-3.txt
! 1e279fac4bb85c147ef686801571ef9a  libjava/classpath/doc/unicode/ReadMe-2.1.1.txt
! a7e4c36f08c0ffaa38107d2df0fdbabf  libjava/classpath/doc/unicode/ReadMe-3.0.0.txt
! f3525739033ea3248225ebbb3eaa0200  libjava/classpath/doc/unicode/SpecialCasing-2.txt
! 0c6e32dc534ef5b342cb1b343b8ccd3c  libjava/classpath/doc/unicode/UnicodeCharacterDatabase-3.0.0.html
! 69390debc1887254261d679c8dab6257  libjava/classpath/doc/unicode/UnicodeData-2.1.2.txt
! de32fc0b56a621b76dabba8b83518758  libjava/classpath/doc/unicode/UnicodeData-3.0.0.html
! 10e81bc5287453e30e4692d42e5b4a0f  libjava/classpath/doc/unicode/UnicodeData-3.0.0.txt
! 330407522a943b40b63f392afd77e491  libjava/classpath/doc/vmintegration.texinfo
! 6a764009879bf6ac4d5f9de2ead4ee2a  libjava/classpath/doc/www.gnu.org/Makefile
! fb95d7db846568125b81881ff622f3e2  libjava/classpath/doc/www.gnu.org/README
! 0778405677f2d587cf4adea1625e033f  libjava/classpath/doc/www.gnu.org/announce/19990206.txt
! d487357bdb0d6d6e7daf39f96967c08d  libjava/classpath/doc/www.gnu.org/announce/19990206.wml
! 38ddf5d420dfe56e92a9677d58dc6d71  libjava/classpath/doc/www.gnu.org/announce/20001120.wml
! 6f5ff1abec7aaab7968f23e8e297b26e  libjava/classpath/doc/www.gnu.org/announce/20010106.wml
! 0a6dfd766bd2ab9c60690f836510c4fe  libjava/classpath/doc/www.gnu.org/announce/20020208.wml
! ae7cde9355e04d10a7cfead44c329324  libjava/classpath/doc/www.gnu.org/announce/20040313.wml
! df0fffebbfa41c0bb46e1fd1150f90f1  libjava/classpath/doc/www.gnu.org/announce/20040502.wml
! d1e067a7dd7a1a2e496ad9f783b1d172  libjava/classpath/doc/www.gnu.org/announce/20040712.wml
! edf68dceb01879a17617a86b6e1e519e  libjava/classpath/doc/www.gnu.org/announce/20040913.wml
! 086e1cbc3ec42f2b7c08977cfa2345c0  libjava/classpath/doc/www.gnu.org/announce/20041115.wml
! 1cc84fd51674f816efe05ef47f6cba5c  libjava/classpath/doc/www.gnu.org/announce/20050107.wml
! 95961252075654e1a167e9285e9649df  libjava/classpath/doc/www.gnu.org/announce/20050226.wml
! 605d51803a203bee9648ccd23318070d  libjava/classpath/doc/www.gnu.org/announce/20050429.wml
! 77d20a06bd248cb89f412dc3bb24ffbe  libjava/classpath/doc/www.gnu.org/announce/20050630.wml
! 6761334b7d9cd8ee7d9fcb4dc7f12c88  libjava/classpath/doc/www.gnu.org/announce/20050715.wml
! 419bfe2ec24e5dcc5ba48acad846268c  libjava/classpath/doc/www.gnu.org/announce/20050906.wml
! b17af6a639a6847b79be2a05cb1839e2  libjava/classpath/doc/www.gnu.org/announce/20051102.wml
! f5e12e3c786e1e9b5df2fb30cda9d490  libjava/classpath/doc/www.gnu.org/announce/Makefile
! 09cad218812c42c32241c37cb3cbdcd9  libjava/classpath/doc/www.gnu.org/announce/announcements.wml
! 57b6da6464aba57b5846d3af9aec60d1  libjava/classpath/doc/www.gnu.org/benchmarks.wml
! 94559a61c45ba594eab9297a89c69424  libjava/classpath/doc/www.gnu.org/bugs.wml
! abdd2eccb562edd9c88a6bbaadc3155a  libjava/classpath/doc/www.gnu.org/corba.wml
! 5a8f68bdf442e735fbf8c65ae21cb5d5  libjava/classpath/doc/www.gnu.org/cp-tools/Makefile
! cbbe4e509a9d74c14167a91281f9970a  libjava/classpath/doc/www.gnu.org/cp-tools/cp-tools.wml
! c482a67d12ba221489c8d160536e0fce  libjava/classpath/doc/www.gnu.org/cp-tools/texidoclet.html
! 7e037ffe39933a928253003439735e40  libjava/classpath/doc/www.gnu.org/docs/Makefile
! 5b87a32b1de60e9efdd1a6ba7940754e  libjava/classpath/doc/www.gnu.org/docs/docs.wml
! 076460fc4995f23f04ce0c579f7737b9  libjava/classpath/doc/www.gnu.org/docs/jikesrvm.wml
! 0d7285ed1497a75cfc33b4b9a18951cc  libjava/classpath/doc/www.gnu.org/docs/orp.wml
! b111fd09d3019700a24235bf5a718ab7  libjava/classpath/doc/www.gnu.org/downloads/19990206.wml
! 13045deb9bb32b17ce084c27273a6836  libjava/classpath/doc/www.gnu.org/downloads/20001120.wml
! 51030558ac67af8b445c5ae286e53daa  libjava/classpath/doc/www.gnu.org/downloads/20010106.wml
! 2e68190681d4b8ac4fc647e1d0f3c1e3  libjava/classpath/doc/www.gnu.org/downloads/20020208.wml
! d51391a4fba70bc4ff62ed7afd1f980e  libjava/classpath/doc/www.gnu.org/downloads/Makefile
! f4b7b75416ead8d1a339bbb5ef378f45  libjava/classpath/doc/www.gnu.org/downloads/downloads.wml
! 511c5198067ce65779045350c9e01932  libjava/classpath/doc/www.gnu.org/events/Makefile
! 7aa0dd0511b143ba9d4e1743f524596f  libjava/classpath/doc/www.gnu.org/events/escape_fosdem05.wml
! 876f852a02fd4f275f9454e58eb8f3a9  libjava/classpath/doc/www.gnu.org/events/events.wml
! 41f0ad389317d16527ea495534897c18  libjava/classpath/doc/www.gnu.org/events/fosdem04.wml
! d6dcbded819876db6947cda526ff908a  libjava/classpath/doc/www.gnu.org/external.wml
! 22f819bb2ff7717e321849ef897f15f3  libjava/classpath/doc/www.gnu.org/faq/Makefile
! 0db36a4898db954bc2b53eea8c6ec3b6  libjava/classpath/doc/www.gnu.org/faq/faq.wml
! b8bc10b91d4666b90e199ea393250e4e  libjava/classpath/doc/www.gnu.org/home.wml
! c6a4064b7505805cc2d87f6c84c4cf65  libjava/classpath/doc/www.gnu.org/include/layout.wml
! 23f08f65e09f076dc458345f29851f40  libjava/classpath/doc/www.gnu.org/include/macros.wml
! 5f67cf091d9928f0c2b9301e2cabdd3d  libjava/classpath/doc/www.gnu.org/inetlib.wml
! 4ef6b8eb1d5094c5465b87e0228ec49e  libjava/classpath/doc/www.gnu.org/license.wml
! 98c370a7f0b33edc3897fcc345e0a1f0  libjava/classpath/doc/www.gnu.org/news.wml
! 1a27b499e72fb608637a836f27d50291  libjava/classpath/doc/www.gnu.org/newsitems.txt
! 42225a9c7de61ed87d9627a20eeaf4aa  libjava/classpath/doc/www.gnu.org/savannah.css
! e074ff541cc1f27587ded1b1d2d64580  libjava/classpath/doc/www.gnu.org/stories.wml
! a3ef0f7631277f4c8a3c5ee7307519a0  libjava/classpath/doc/www.gnu.org/tasks.wml
! 793c1c7c0a665a2a773f35a16f1837b2  libjava/classpath/examples/Makefile.am
! 13d896ef2cbdec7516e374df61746044  libjava/classpath/examples/Makefile.in
! 8649fa7ef09149674ee2ba32d9b0a617  libjava/classpath/examples/Makefile.jawt.in
! 9d3848d04736e0850d1e7939e7a9b9ba  libjava/classpath/examples/README
! 7dce9c2faf01c2181d40cce4d468686b  libjava/classpath/examples/gnu/classpath/examples/CORBA/NamingService/Demo.java
! 069eb75282017abbbbcb02e39fc5c471  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/Demo.java
! f709e56712052542ab52289d3a8364f2  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/DemoServer.java
! 66bc86bcd212e2e001e1286180fd2800  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/DemoServant.java
! 10abc0c4dcd07430983419e3d5140d11  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/DemoTester.java
! 175e21f13b86ee05b25d67c14199832f  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/DirectTest.java
! ec70e9e138cd0e73c9047547a1bcce08  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/RequestTest.java
! fcd5f9083130f274de1349afcc4723cf  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPass.java
! b65a6e19203b3a3eb72f4f6b5588180b  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPassHelper.java
! c4fc3e9ed9f94a33f1a5025a3d60f222  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToPassHolder.java
! b0778155c37147fcdbec5c2ec6b492fd  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturn.java
! 0ff1b72452f52f53b036952e8f3112a2  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturnHelper.java
! fe44b0c1bdf6d1c463d5fe4b73811e3e  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/StructureToReturnHolder.java
! 199cbb4c3338beac558ccb38ee6b6c7c  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNode.java
! 3420aebf76e12bcc3589a10c3b288980  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNodeHelper.java
! b0a91daa2cf288a21f271c64900563b0  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/TreeNodeHolder.java
! af6a4f393ce57eae4d3d40e6cdd34296  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisException.java
! a25c53b60b6fc0054058517fb2cf093d  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/WeThrowThisExceptionHelper.java
! 14c052f8bf70b86ddc04cc2fd76344e0  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterImplBase.java
! afd3fb4aa80ddaa62250694072220f90  libjava/classpath/examples/gnu/classpath/examples/CORBA/SimpleCommunication/communication/_DemoTesterStub.java
! 0bed1b20b3c155ca52a33b2451acb7df  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/README.html
! 84369a1248bce3143a8e3841ba9626df  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/CanvasWorld.java
! c3488b6b66ccf8a8ed9c444bb2aeddac  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/ChatConstants.java
! 49698fb76428746dbd423f4465483ff6  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/ClientFrame.java
! fb84b07545bcfb608b39da1d2161c117  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/Demo.java
! b2c60c1ffc13a9fcc220055855ffa3b1  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/GameManager.java
! 6f6f81623dd15a02a8b754f639f7e455  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/GameManagerImpl.java
! 114b7a53a671d0ed8847ca4a96cc203e  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/IorReader.java
! b6de744835438f42a550b5808c49bc77  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/OrbStarter.java
! 28b77cb2abcdc3b6a566e9d02569395b  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/Player.java
! dc7836f54778e8f25dea11bebd295b4d  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/PlayerImpl.java
! 0b00983909bce931de3251f7599afe91  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/PlayingDesk.java
! 083cc91008540ed0a97306f87d1cf48a  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/State.java
! 56d33dff7b33d6962fffbc9749affe85  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/X5Server.java
! 22e55fcef8726d291e9983610f256d03  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_GameManagerImpl_Tie.java
! 4b7e51122632616bc072f7ed4e9093da  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_GameManager_Stub.java
! a8d2caea7a390209e2b9b604d977dbcf  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_PlayerImpl_Tie.java
! 2cd6bc338fe91ff5cf6073a952ae1408  libjava/classpath/examples/gnu/classpath/examples/CORBA/swing/x5/_Player_Stub.java
! 8ffd4887198ecc1b0736ffd97104497e  libjava/classpath/examples/gnu/classpath/examples/awt/Demo.java
! 54a7ae34b3a2ff024eb38612931fc87f  libjava/classpath/examples/gnu/classpath/examples/datatransfer/Demo.java
! d27c940c19cf347a76704012c2f79f0f  libjava/classpath/examples/gnu/classpath/examples/html/Demo.java
! 64798a1f4e94c9ea3c8f9ba80e53c4ca  libjava/classpath/examples/gnu/classpath/examples/icons/big-fullscreen.png
! 7530290f1cd5d5b608006deddf7ec5f1  libjava/classpath/examples/gnu/classpath/examples/icons/big-home.png
! 20e4d42b87b98992d98384a2f7f5e11b  libjava/classpath/examples/gnu/classpath/examples/icons/big-warning.png
! 04983e9c25204e4b74367a2c95c8eaa0  libjava/classpath/examples/gnu/classpath/examples/icons/stock-copy.png
! 5205953a2950a7c930d98af96c4d67c2  libjava/classpath/examples/gnu/classpath/examples/icons/stock-cut.png
! df84db048a3a4594593afd3501edd21d  libjava/classpath/examples/gnu/classpath/examples/icons/stock-go-back.png
! 9b18c20a6af5a8b31c37cbfd8ded1033  libjava/classpath/examples/gnu/classpath/examples/icons/stock-go-down.png
! 9e2bb1316e0a5fda282d728271a5e672  libjava/classpath/examples/gnu/classpath/examples/icons/stock-go-forward.png
! 3667410f7b4a5521fbae538ef3b104fe  libjava/classpath/examples/gnu/classpath/examples/icons/stock-mic.png
! 638defd5447912712eafb55165fad9ba  libjava/classpath/examples/gnu/classpath/examples/icons/stock-new.png
! c474accd786fa47e86b6505821d9d11b  libjava/classpath/examples/gnu/classpath/examples/icons/stock-open.png
! daa42b301e172a61be1c719a43fdf72d  libjava/classpath/examples/gnu/classpath/examples/icons/stock-paste.png
! dc00800eaa9138b33ba8208bb3983737  libjava/classpath/examples/gnu/classpath/examples/icons/stock-quit.png
! 184fed19d2372d74107f333a0e139229  libjava/classpath/examples/gnu/classpath/examples/icons/stock-save-as.png
! 41065ed0692113e917d50f1651643fd1  libjava/classpath/examples/gnu/classpath/examples/icons/stock-save.png
! 0d8aaf78872356931ce1facfe247fa3c  libjava/classpath/examples/gnu/classpath/examples/icons/stock-spell-check.png
! 14851d3ae8d891f74846e44cdcc90740  libjava/classpath/examples/gnu/classpath/examples/jawt/DemoJAWT.c
! 68d4ecac8a4d18f013b166c34618798d  libjava/classpath/examples/gnu/classpath/examples/jawt/DemoJAWT.java
! 3fc7403e0238933c951d797335fa974c  libjava/classpath/examples/gnu/classpath/examples/midi/Demo.java
! 46783d97d41703363971c80b9c6fc8ae  libjava/classpath/examples/gnu/classpath/examples/swing/ButtonDemo.java
! 7b60c00e7dab2f4b1591037df36dbda6  libjava/classpath/examples/gnu/classpath/examples/swing/ClasspathSwingActivityBoard.launch
! b1820e5630390fdbf90ca44f79a5f701  libjava/classpath/examples/gnu/classpath/examples/swing/ComboBoxDemo.java
! d57d7b25a1d8b89ddb5a5e016a3fbcd9  libjava/classpath/examples/gnu/classpath/examples/swing/Demo.java
! d87c0965431d9dd1f43a71314d860929  libjava/classpath/examples/gnu/classpath/examples/swing/FileChooserDemo.java
! 08f0ac6109380bc99d29d2c4ad5c3690  libjava/classpath/examples/gnu/classpath/examples/swing/GNULookAndFeel.java
! b68d5efcc2ac9cd89327f62c793dbe7d  libjava/classpath/examples/gnu/classpath/examples/swing/ProgressBarDemo.java
! 0bf17c55185964753c699ab5a6952177  libjava/classpath/examples/gnu/classpath/examples/swing/ScrollBarDemo.java
! 042081c2042559aac9d99a51cac0c5d5  libjava/classpath/examples/gnu/classpath/examples/swing/SliderDemo.java
! 657b264f55fe0f618c1b46be028401e1  libjava/classpath/examples/gnu/classpath/examples/swing/TextFieldDemo.java
! e47d349bd42beebe71c6e90361837497  libjava/classpath/external/Makefile.am
! 5067d0ede7fa0cd3b5690c6cc243956f  libjava/classpath/external/Makefile.in
! 19926238491666aca594b13f6b691863  libjava/classpath/external/README
! b142390a2b618614a35f966d4791b53a  libjava/classpath/external/sax/Makefile.am
! ece7ae05fe2f962911dc2efe9cf35f88  libjava/classpath/external/sax/Makefile.in
! de1ad3c4705dc5ed78e6752d127ca258  libjava/classpath/external/sax/README
! 6c78cf60a99398cb08c029f32f74875d  libjava/classpath/external/sax/org/xml/sax/AttributeList.java
! 0bd16cea3a353e3a6cc50099959c2eb3  libjava/classpath/external/sax/org/xml/sax/Attributes.java
! 46fcdda0f2b74d213f19bb454fc21719  libjava/classpath/external/sax/org/xml/sax/ContentHandler.java
! 45719695a992c5aef485d61382180f12  libjava/classpath/external/sax/org/xml/sax/DTDHandler.java
! bc97df65f1ac2420c5562ab55fffd81c  libjava/classpath/external/sax/org/xml/sax/DocumentHandler.java
! 7cfaca6d0b2fb0e3b6bc0d700ccd49f0  libjava/classpath/external/sax/org/xml/sax/EntityResolver.java
! 0a080b519a1aefffc13fb9c2cbaf3107  libjava/classpath/external/sax/org/xml/sax/ErrorHandler.java
! 05e43a971f19e16a531a166d7118ae3d  libjava/classpath/external/sax/org/xml/sax/HandlerBase.java
! 77e3a96933f41759a69909661cc30ca2  libjava/classpath/external/sax/org/xml/sax/InputSource.java
! 3f2fc5acd0e8987efaadacf375ba1488  libjava/classpath/external/sax/org/xml/sax/Locator.java
! 885cfa7bb561c91e6cc4ef27c13590bd  libjava/classpath/external/sax/org/xml/sax/Parser.java
! 5f0cbe5a8bb354e941a4613f4ce9f330  libjava/classpath/external/sax/org/xml/sax/SAXException.java
! 83f131216b61c69e08850b549421bfa7  libjava/classpath/external/sax/org/xml/sax/SAXNotRecognizedException.java
! 77a36c5ecc97f70e11340141bfe96498  libjava/classpath/external/sax/org/xml/sax/SAXNotSupportedException.java
! 23e1f2833c671271fdb6e6301f16ef14  libjava/classpath/external/sax/org/xml/sax/SAXParseException.java
! ed39e066635246a605ff5a4d76176d9d  libjava/classpath/external/sax/org/xml/sax/XMLFilter.java
! 8338b563af96340ff6824442b3a46a73  libjava/classpath/external/sax/org/xml/sax/XMLReader.java
! 3cd0443857ca88859060d01406a45682  libjava/classpath/external/sax/org/xml/sax/ext/Attributes2.java
! 9fe898d7c202edc28d2df2519f4c3f41  libjava/classpath/external/sax/org/xml/sax/ext/Attributes2Impl.java
! 9cbd4690e1917dab69ad713521e86386  libjava/classpath/external/sax/org/xml/sax/ext/DeclHandler.java
! de9f32c1fcb710efa0328263d5da018b  libjava/classpath/external/sax/org/xml/sax/ext/DefaultHandler2.java
! 40e9048086e330781611c89030434a50  libjava/classpath/external/sax/org/xml/sax/ext/EntityResolver2.java
! 74fa2a378fe7b446de65b8d25bcfd651  libjava/classpath/external/sax/org/xml/sax/ext/LexicalHandler.java
! 798f7cc5a9b3e3ffa47f49311b39ce98  libjava/classpath/external/sax/org/xml/sax/ext/Locator2.java
! 725430ee1f65ffdb9f462e5664acf166  libjava/classpath/external/sax/org/xml/sax/ext/Locator2Impl.java
! 62d9940a46ef50f2dbb40bc958541c14  libjava/classpath/external/sax/org/xml/sax/ext/package.html
! 0743fe5d71de254eee128f74f11b31b0  libjava/classpath/external/sax/org/xml/sax/helpers/AttributeListImpl.java
! ea238d6900a6350327cc3154e22d45e4  libjava/classpath/external/sax/org/xml/sax/helpers/AttributesImpl.java
! f64230d580b3b1ecfac1075cc6bf2b51  libjava/classpath/external/sax/org/xml/sax/helpers/DefaultHandler.java
! bb2315902589145f676cb5c8eb040b56  libjava/classpath/external/sax/org/xml/sax/helpers/LocatorImpl.java
! 4965c8d8cf9702c2d3c4559a7a15e5f3  libjava/classpath/external/sax/org/xml/sax/helpers/NamespaceSupport.java
! 5aeb80a4f926d08bc03c9e671be19cd3  libjava/classpath/external/sax/org/xml/sax/helpers/NewInstance.java
! 8721025c359010ea1e07537326e00c99  libjava/classpath/external/sax/org/xml/sax/helpers/ParserAdapter.java
! 3b84b03241610106e587e6489e185988  libjava/classpath/external/sax/org/xml/sax/helpers/ParserFactory.java
! acceac2df530f43882a79019e0175aaf  libjava/classpath/external/sax/org/xml/sax/helpers/XMLFilterImpl.java
! 4c3bddac3f983e9af499371d2467b597  libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderAdapter.java
! d7ccb199701e9de45044c41988e0496f  libjava/classpath/external/sax/org/xml/sax/helpers/XMLReaderFactory.java
! 2417779a0f0929b3ad06300661562d01  libjava/classpath/external/sax/org/xml/sax/helpers/package.html
! 6a04aff29fb439b7b3b6ba37910862af  libjava/classpath/external/sax/org/xml/sax/package.html
! 09e84721c652ff50fdad9a7215863899  libjava/classpath/external/w3c_dom/COPYRIGHT.html
! e1b1294fade207453ae3ca9c6de24f31  libjava/classpath/external/w3c_dom/Makefile.am
! 8d311417c1dff2648d44ec56c4e790de  libjava/classpath/external/w3c_dom/Makefile.in
! 6e52fb724e7d281f80276187f3c9e286  libjava/classpath/external/w3c_dom/README
! a2df55935d2b1a33193f8d1a7789912a  libjava/classpath/external/w3c_dom/org/w3c/dom/Attr.java
! 08b4ecfae7fe5d5b389fb95d53b89721  libjava/classpath/external/w3c_dom/org/w3c/dom/CDATASection.java
! 11d4f66f9880f06ffb4d93bdc34210d4  libjava/classpath/external/w3c_dom/org/w3c/dom/CharacterData.java
! a25bf475ed00ee19bbee23dbd3e1177a  libjava/classpath/external/w3c_dom/org/w3c/dom/Comment.java
! e95b671a72ce64335f3431e0d347ffb5  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMConfiguration.java
! 54192d27d8a6e983b94fdec8822a0a10  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMError.java
! f49224b7c11b4e61dca07b14ee5de6c7  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMErrorHandler.java
! cdbf1c0e4e9f0ded6f4da6b90dd6d4df  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMException.java
! 67cb1599da63f4e8512abf5de2b20141  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementation.java
! 224ce71cc41fee1dd811a75865d725a8  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationList.java
! 47b9ca27ceea29cbee7a9838051b6ec7  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMImplementationSource.java
! 65c2d6b0f6bbfefbaa3f389c0a13faf4  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMLocator.java
! 1659c83560bd0d8209e870fc4b46c3c3  libjava/classpath/external/w3c_dom/org/w3c/dom/DOMStringList.java
! 530dc17fe4f0bc7718c42684baa32e72  libjava/classpath/external/w3c_dom/org/w3c/dom/Document.java
! bc801b56e6093ac399d9ac31ac6a0428  libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentFragment.java
! 30f7ac8b82a259fed40564fabc341215  libjava/classpath/external/w3c_dom/org/w3c/dom/DocumentType.java
! e6d12822507ee116c13538699350217e  libjava/classpath/external/w3c_dom/org/w3c/dom/Element.java
! 2cc895f4b690121f2f3cf75fd212834d  libjava/classpath/external/w3c_dom/org/w3c/dom/Entity.java
! 329ac44b44a190913a5a4d7f36eb46c3  libjava/classpath/external/w3c_dom/org/w3c/dom/EntityReference.java
! c38bd747a24550f224bd73f66860a53f  libjava/classpath/external/w3c_dom/org/w3c/dom/NameList.java
! 1259cd9761cb5fa45fa4085fdc3b6f36  libjava/classpath/external/w3c_dom/org/w3c/dom/NamedNodeMap.java
! b789e60d833248249145f0ec818f04d0  libjava/classpath/external/w3c_dom/org/w3c/dom/Node.java
! e260532506a1e0d9d1ad7ea3e6d91a2d  libjava/classpath/external/w3c_dom/org/w3c/dom/NodeList.java
! 0942eabbd6ec995f14e8171f6a9b12fd  libjava/classpath/external/w3c_dom/org/w3c/dom/Notation.java
! 6e005657e711880c4a79773ea9874c6b  libjava/classpath/external/w3c_dom/org/w3c/dom/ProcessingInstruction.java
! 6df9fedf7e17214ffeffd2f16319c1c0  libjava/classpath/external/w3c_dom/org/w3c/dom/Text.java
! d34062a50b425fa924316d73c3a49cf5  libjava/classpath/external/w3c_dom/org/w3c/dom/TypeInfo.java
! 4345597a3f200747267ba5fdeadd323d  libjava/classpath/external/w3c_dom/org/w3c/dom/UserDataHandler.java
! ce313209fa592e366af916e101c615ea  libjava/classpath/external/w3c_dom/org/w3c/dom/bootstrap/DOMImplementationRegistry.java
! 06391c1de49bb448a0eeacedc0fbde07  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSS2Properties.java
! e1d3d29c32828d98e1cb7e3026ccce25  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSCharsetRule.java
! e1506c4a53d71c285a5f43b420f96ed2  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSFontFaceRule.java
! adaadf04f1d702d99b889f0b94315922  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSImportRule.java
! 793706961c3261ea40577c257dd8c185  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSMediaRule.java
! 1f19b0cf5ec7aeeed1f103a195737c85  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPageRule.java
! aa4988b7845ca470feddbd343e4e6207  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSPrimitiveValue.java
! 2d35b1f9e093a90e698e9b1118d3276b  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRule.java
! c9c5fdc3bed2027e7f62a8a6f01a4945  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSRuleList.java
! dfa5de4700b37a20e816369a4c92a6ef  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleDeclaration.java
! ba8480a01b370a968a3a983c1215a64a  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleRule.java
! b54919fb87571108249dda3dad369ede  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSStyleSheet.java
! 639dc0127a9ac0350b0704deb1bc9d6d  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSUnknownRule.java
! 1ebf2ee2ab246e1bad91b55465c9eea4  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValue.java
! 868a77b588dc5fcc83c540e25fbcf2dc  libjava/classpath/external/w3c_dom/org/w3c/dom/css/CSSValueList.java
! 9d9226cb9e91a043ae87f4e0a0f956fd  libjava/classpath/external/w3c_dom/org/w3c/dom/css/Counter.java
! 6cae306a271233daa2d4bd7b4cd33371  libjava/classpath/external/w3c_dom/org/w3c/dom/css/DOMImplementationCSS.java
! 737299879f37acfed94f7090f3b7832f  libjava/classpath/external/w3c_dom/org/w3c/dom/css/DocumentCSS.java
! be5a9dc6b5c59de16702b64b1968b8d5  libjava/classpath/external/w3c_dom/org/w3c/dom/css/ElementCSSInlineStyle.java
! 1a25fbc8a1a5a4a7f3447fffb3ca2af9  libjava/classpath/external/w3c_dom/org/w3c/dom/css/RGBColor.java
! d2032b5a0493bfc9ed84158c487855c8  libjava/classpath/external/w3c_dom/org/w3c/dom/css/Rect.java
! 4f7e44c8fcc4ef3b4fa44d29d12684ee  libjava/classpath/external/w3c_dom/org/w3c/dom/css/ViewCSS.java
! ba9dab5ef4f5eb273fbee6aa5c282d25  libjava/classpath/external/w3c_dom/org/w3c/dom/events/DocumentEvent.java
! ab7fb1083767826a499b0b450db0f326  libjava/classpath/external/w3c_dom/org/w3c/dom/events/Event.java
! 06c7b629ef6ed565646a5126e4f7b9f8  libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventException.java
! b2b749df80450c25edd89ec82c3fe634  libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventListener.java
! 19b3b5a99aab7c6e543cda3f126a81e5  libjava/classpath/external/w3c_dom/org/w3c/dom/events/EventTarget.java
! 1d87829474cb9f2490e64be6cf2e7071  libjava/classpath/external/w3c_dom/org/w3c/dom/events/MouseEvent.java
! 0c2ee04635f87eb3feb489517302f799  libjava/classpath/external/w3c_dom/org/w3c/dom/events/MutationEvent.java
! 237fbfb6d0341a0f110fe2e2aacb2aa2  libjava/classpath/external/w3c_dom/org/w3c/dom/events/UIEvent.java
! 5e8c7c4dae839a551c0516d611a498cb  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAnchorElement.java
! d65adaf088b1d82f9a868ae42c3b01f2  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAppletElement.java
! 5078d4b1c46318af6da27415a22883ed  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLAreaElement.java
! a8e9e52ffe1447d95e24e081c58bca42  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBRElement.java
! 2d33feaae72ae81de12bebc965a2dc20  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseElement.java
! 8542b0106d2ce69b6da4416b2673a2d5  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBaseFontElement.java
! 65a2df1c6ea92aa0f66983dec91da99d  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLBodyElement.java
! 33f57ac011448b5039ff472b32a60653  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLButtonElement.java
! 4e0794619df460716806b27aa07547da  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLCollection.java
! efcca8aa3ed178e1759ea0a1ad3ea4f9  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDListElement.java
! 3913b015ba54d4456b7fcc0306b03be4  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDirectoryElement.java
! 363a276d4c8401c8e16ab45bb1bd8bdb  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDivElement.java
! 2878865652b093a1080d7164b1c41521  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLDocument.java
! 55ae97e6ffdb23c2a104a09204fcafb8  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLElement.java
! 5898f9fd9c0849fb99897580a1d9a442  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFieldSetElement.java
! 9d4d60d7d9546fea9f95979b77a33c02  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFontElement.java
! 7a40ae5ba63391992372ccd72c2ee7f8  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFormElement.java
! 97c19f4bba5de3a319dbbbadc0b4a534  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameElement.java
! 86af2b6fdb3f37706cf4b44e03116f1e  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLFrameSetElement.java
! e0dc3daaa7ffcc398959e9783896d02d  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHRElement.java
! 6f57992267a86432d00f8438ef7298f4  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadElement.java
! 9612b8a673565ce50d85cd1116359738  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHeadingElement.java
! 0f670b47e8c79f4239caf83d13826167  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLHtmlElement.java
! d9b7dc49b984ed008278fba8084903ea  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIFrameElement.java
! c77e236a3982553a6a75e16b788674b0  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLImageElement.java
! a98f63522672c0b330a799e576af1af4  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLInputElement.java
! 1b56e5a5b3ea088f4f59bba0b837e471  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLIsIndexElement.java
! a241cc94285969b069b05f5e520743fc  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLIElement.java
! 92d426e1fceeef1493a4ec13b5969f52  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLabelElement.java
! 4693058ac1b6479d0cd077d34884e229  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLegendElement.java
! c4a98fbbc0846fcba4995592fd7bce99  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLLinkElement.java
! efaf79ce559aa46b25f268acf87779ec  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMapElement.java
! 0287c0fbf9c821fcdef01d781198854c  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMenuElement.java
! 6cb69fa93f7fbea4c26c976a1bd33827  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLMetaElement.java
! 7f5cdb9fafaf388cbb1794a71df3a99e  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLModElement.java
! 0bb310df44b56833a7e0c2d7d0739ad8  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOListElement.java
! 18b0295f4e31aebc71cd87bcf77d106a  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLObjectElement.java
! 0e1da434ae008d4a13eb11b308d83c81  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptGroupElement.java
! 92804f848ae92bf443680bfc1059990f  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionElement.java
! 8b467e0dcf9396bbee26215645746276  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLOptionsCollection.java
! 5e8ff11ae67a2ccd4b6bd83bcdb850db  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParagraphElement.java
! 47db86c5db278ff0d7c75d584e2202a6  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLParamElement.java
! 8a4a504c2dfeb1126d679c5e5420b983  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLPreElement.java
! 14e699d612955b66db2443a39e68f532  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLQuoteElement.java
! e1deae385e3079ed4ee8a5175d2cbd16  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLScriptElement.java
! 33ca5c3ec9648f4c1d8877b692486193  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLSelectElement.java
! 5ded721c5ae0727e81eb7650434a6aa5  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLStyleElement.java
! 3b2ebbe6f5fa0d5919fc2f585514b9c2  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCaptionElement.java
! ae84015010ef3b1695da6deeabebdc95  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableCellElement.java
! acb6d46decd52de55711584051492722  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableColElement.java
! 23332062d6143c26cbb7b8e0c412ef24  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableElement.java
! dae393f92ca5bd4b83fe610b8b08528c  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableRowElement.java
! 11f17369cca77ecd5961a15d0c5ef21a  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTableSectionElement.java
! 902bd7eb94fbbbfc5f9e7c33f8d7804f  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTextAreaElement.java
! 4451c3669b2ef5f9124af8a53218d7db  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLTitleElement.java
! 00642b75463796f9a8968892e6894193  libjava/classpath/external/w3c_dom/org/w3c/dom/html2/HTMLUListElement.java
! 2d3566ca7f6fea45114b3aa05606b244  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/DOMImplementationLS.java
! 853beadf4288d7f8cf35564794c7f570  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSException.java
! fe7a577ff4bcd5476bff5f7dd0ee98cd  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSInput.java
! c8ad200a8c9bf4f9b52739464865fb89  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSLoadEvent.java
! 631290efaf1a1de87e02dd0029190971  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSOutput.java
! 331c88ee430a94e1e10e3b0e34610658  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParser.java
! 3f277b11e7fafe88bc0f9d0657755af4  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSParserFilter.java
! f94f8038881a372915d7576ca27a51f7  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSProgressEvent.java
! 69d450a87ab072ece40e5aba99d168e3  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSResourceResolver.java
! 5ce0ed38afa7733507b60158142150d1  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializer.java
! 3809b3bb70afc2b86a5a24b9a94f0212  libjava/classpath/external/w3c_dom/org/w3c/dom/ls/LSSerializerFilter.java
! d6d600f600dcacc20c3b54e9739e61ab  libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/DocumentRange.java
! b225ac3cb17bc5f4cc00b302e5158495  libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/Range.java
! 8486de81741eab07aeda96442cc80ecb  libjava/classpath/external/w3c_dom/org/w3c/dom/ranges/RangeException.java
! da89bc2fa8eed4ee84f3b361030002a6  libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/DocumentStyle.java
! d2d32b775d8278e90da246ce48fd0d61  libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/LinkStyle.java
! 7492577e9e703050be0096b482311581  libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/MediaList.java
! d243aa09a06281c2038ba895fbe4616d  libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheet.java
! 3204434c09f4f205d3dfa2cc100956e9  libjava/classpath/external/w3c_dom/org/w3c/dom/stylesheets/StyleSheetList.java
! 050304ae43ac1c47a27a7cc6c8b6dd6f  libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/DocumentTraversal.java
! e8d0a5733978716077c08dacd45b9ece  libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeFilter.java
! e455a89d12f94d4330335713e277680f  libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/NodeIterator.java
! 0912b44acaee094ff34efaee446f3605  libjava/classpath/external/w3c_dom/org/w3c/dom/traversal/TreeWalker.java
! df54fc3a305dd812f202629dfc01e97b  libjava/classpath/external/w3c_dom/org/w3c/dom/views/AbstractView.java
! 624699aa255ea806a36a92fabe55dbda  libjava/classpath/external/w3c_dom/org/w3c/dom/views/DocumentView.java
! 097f2efbc34258c86ccecc6c34d75af8  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathEvaluator.java
! 96b87b44265ea552ebf540583cad24c4  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathException.java
! b985f2af519fd764fe1acd2f67bb05a3  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathExpression.java
! 208d955eaa1c62d234f348d6370db0d2  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNSResolver.java
! 185c15fc37dbf71dbc076eca95385f7e  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathNamespace.java
! ee70cb1f6db1c9898512bce3cd32d675  libjava/classpath/external/w3c_dom/org/w3c/dom/xpath/XPathResult.java
! 1bfbfdc18c72e60a2921315d2339ccce  libjava/classpath/gnu/CORBA/Asynchron.java
! 07a6add342305f9995fd15f0640dd41b  libjava/classpath/gnu/CORBA/BigDecimalHelper.java
! 032bda88da4b056fb13f32a85147bc80  libjava/classpath/gnu/CORBA/ByteArrayComparator.java
! 9bdfcd542c4d2fe05350eb1447332173  libjava/classpath/gnu/CORBA/CDR/AbstractCdrInput.java
! 48b66d9643172635a28965a5f484b9d1  libjava/classpath/gnu/CORBA/CDR/AbstractCdrOutput.java
! 15ad745faafef73f1c4539d35bfea815  libjava/classpath/gnu/CORBA/CDR/AbstractDataInput.java
! d40c05e936d37f40be9b81d632957a59  libjava/classpath/gnu/CORBA/CDR/AbstractDataOutput.java
! 36a021f730673b52ea442a732a75ed03  libjava/classpath/gnu/CORBA/CDR/AligningInput.java
! a08f843b9c56d008fabdbc153438a4cf  libjava/classpath/gnu/CORBA/CDR/AligningOutput.java
! 5d97e27f55433b6c6b680e60fe57157d  libjava/classpath/gnu/CORBA/CDR/ArrayValueHelper.java
! c3321105d3b0acd798345ae90f2b23fb  libjava/classpath/gnu/CORBA/CDR/BigEndianInputStream.java
! aa04ead5e961611fbe89cd750055dc1d  libjava/classpath/gnu/CORBA/CDR/BigEndianOutputStream.java
! 4ad04e6d36ff0712549c6a2b2167f0af  libjava/classpath/gnu/CORBA/CDR/BufferedCdrOutput.java
! a0aa6345154b3b0d3f740862f52712ad  libjava/classpath/gnu/CORBA/CDR/BufferredCdrInput.java
! e2b4efbe684757d6d82ba15c4d697e1c  libjava/classpath/gnu/CORBA/CDR/EncapsulationStream.java
! beef988844c0822e9b0de21f5e899149  libjava/classpath/gnu/CORBA/CDR/HeadlessInput.java
! e32434a85a9a086cc1db5db83ce647e6  libjava/classpath/gnu/CORBA/CDR/IDLTypeHelper.java
! a533adc2825c74d584d518a49425534f  libjava/classpath/gnu/CORBA/CDR/LittleEndianInputStream.java
! 8adbf9c680f5832ec994e90111b3e853  libjava/classpath/gnu/CORBA/CDR/LittleEndianOutputStream.java
! e7074ebd46cdfd7461f81fe9cca1a555  libjava/classpath/gnu/CORBA/CDR/UnknownExceptionCtxHandler.java
! 6c0c653d2da4c80f2395921e226a8e0e  libjava/classpath/gnu/CORBA/CDR/VMVio.java
! 644cc78bed596d5bf09f2be2b0f54bf7  libjava/classpath/gnu/CORBA/CDR/Vio.java
! 4daa656268e932fd27cbf3dfeac4ef90  libjava/classpath/gnu/CORBA/CDR/gnuRuntime.java
! 050b68f525c198b20b645b71a5f874f4  libjava/classpath/gnu/CORBA/CDR/gnuValueStream.java
! e6c184cf376ad7dffb80773f718e5c5d  libjava/classpath/gnu/CORBA/CdrEncapsCodecImpl.java
! 6536e038e77006fa57b21998c30c6088  libjava/classpath/gnu/CORBA/Connected_objects.java
! 5d1a382aafc15edf1bb48b27cebf3f91  libjava/classpath/gnu/CORBA/CorbaList.java
! 57ea9006242b6c13aee5aa5d492bbea4  libjava/classpath/gnu/CORBA/DefaultSocketFactory.java
! 7b48d4199df4803b567a495af126ab54  libjava/classpath/gnu/CORBA/DefinitionKindHolder.java
! 9e60aaa372795d6c1abc3cf2d1d47d0d  libjava/classpath/gnu/CORBA/DuplicateNameHolder.java
! 8a54d56735708b42d6349ce857be693a  libjava/classpath/gnu/CORBA/DynAn/AbstractAny.java
! dc66f1a46e7c1b964be7480dff68b783  libjava/classpath/gnu/CORBA/DynAn/DivideableAny.java
! 4024df36a0ee52ab076a9abf8223caca  libjava/classpath/gnu/CORBA/DynAn/NameValuePairHolder.java
! 3fc87e816a612ec4bd265baa28a55c82  libjava/classpath/gnu/CORBA/DynAn/RecordAny.java
! d46ed7db211f9d590f0a0501c7996675  libjava/classpath/gnu/CORBA/DynAn/UndivideableAny.java
! ede9fbcebaed17b93ebf402c80947ec2  libjava/classpath/gnu/CORBA/DynAn/ValueChangeListener.java
! ffb9f4198257fdab26588928f6fc994f  libjava/classpath/gnu/CORBA/DynAn/gnuDynAny.java
! 35c53146e5db2d85b3eb846b9ea6dd5a  libjava/classpath/gnu/CORBA/DynAn/gnuDynAnyFactory.java
! 718ac3fe08560586b80a2b8c60e91c37  libjava/classpath/gnu/CORBA/DynAn/gnuDynArray.java
! e9a8c94acf2726736e61d139ecf305b6  libjava/classpath/gnu/CORBA/DynAn/gnuDynEnum.java
! 6cb5c5071c44dc73620f17f236f40ec3  libjava/classpath/gnu/CORBA/DynAn/gnuDynFixed.java
! 0d37a325e5569a60f21764bb2bf717ff  libjava/classpath/gnu/CORBA/DynAn/gnuDynSequence.java
! 27359515cb4e0d2a9ef0dfdcd3fd340d  libjava/classpath/gnu/CORBA/DynAn/gnuDynStruct.java
! ffe9600aea69a76d993c8a27ce8bf1e8  libjava/classpath/gnu/CORBA/DynAn/gnuDynUnion.java
! 0604194af25506366932c1239099a437  libjava/classpath/gnu/CORBA/DynAn/gnuDynValue.java
! ae18791f72b27346d7e41194c5c5ec13  libjava/classpath/gnu/CORBA/DynAn/gnuDynValueBox.java
! bb5e82928a8127cb74a0c4c6c054e3f4  libjava/classpath/gnu/CORBA/DynAnySeqHolder.java
! bbccd0d487106634a82f6dbef5d9dc5b  libjava/classpath/gnu/CORBA/EmptyExceptionHolder.java
! ffb55bc189ac038d9fffa20be87f9a57  libjava/classpath/gnu/CORBA/ForwardRequestHelper.java
! 2bbf3841e39d314de5a32afe78e317c2  libjava/classpath/gnu/CORBA/GIOP/CancelHeader.java
! edc5a11c11ea2a9a1702aa6aae624f4c  libjava/classpath/gnu/CORBA/GIOP/CharSets_OSF.java
! fe567d6f81ddcab686f442d4cceaad42  libjava/classpath/gnu/CORBA/GIOP/CloseMessage.java
! a8d8f7dbea1bdb46d35e80fd0a669ab4  libjava/classpath/gnu/CORBA/GIOP/CodeSetServiceContext.java
! 12b0b2f7368fe4f752c5701cbfd3b2ea  libjava/classpath/gnu/CORBA/GIOP/ContextHandler.java
! e4bf822d2942394d56d8cd285f06d26e  libjava/classpath/gnu/CORBA/GIOP/ErrorMessage.java
! 3a8f9d4a6c4917d017d8ff4433927e01  libjava/classpath/gnu/CORBA/GIOP/MessageHeader.java
! da81e61b50fe7e10313594757de612de  libjava/classpath/gnu/CORBA/GIOP/ReplyHeader.java
! 826f2e3f9153f6192970164057501b34  libjava/classpath/gnu/CORBA/GIOP/RequestHeader.java
! 3bf65890dc568b1c58f80d59c6960a58  libjava/classpath/gnu/CORBA/GIOP/ServiceContext.java
! 7c0282a7688358094a1aaa28c1a1ae8e  libjava/classpath/gnu/CORBA/GIOP/v1_0/CancelHeader.java
! 71641644bfbc61ecbd28c8b40d361fe2  libjava/classpath/gnu/CORBA/GIOP/v1_0/ReplyHeader.java
! e5ce86fd425b10eb1f1f0153b61595f7  libjava/classpath/gnu/CORBA/GIOP/v1_0/RequestHeader.java
! df128f9237341210a7147dcd0cbfefc2  libjava/classpath/gnu/CORBA/GIOP/v1_2/ReplyHeader.java
! 8196066b6a94682c64dd8b810e214e56  libjava/classpath/gnu/CORBA/GIOP/v1_2/RequestHeader.java
! ab97e6bc2a1db00259f5ce25a2289334  libjava/classpath/gnu/CORBA/GeneralHolder.java
! a3508109973299bb1d12c52af8aa663f  libjava/classpath/gnu/CORBA/HolderLocator.java
! 254b0403cc76b298973c8c3c3072f33a  libjava/classpath/gnu/CORBA/IOR.java
! a8a9c1fbeb8bd1140232c66a7254b4ca  libjava/classpath/gnu/CORBA/Interceptor/ClientRequestInterceptors.java
! 58c465173eef3b3f7a640c1c954b54a6  libjava/classpath/gnu/CORBA/Interceptor/ForwardRequestHolder.java
! 1ea153e36708186182c608497282ad2c  libjava/classpath/gnu/CORBA/Interceptor/IORInterceptors.java
! 5571c5726da84ebace9be4860f4aa926  libjava/classpath/gnu/CORBA/Interceptor/Registrator.java
! 7f7ac0abb7eb75a513d156783cdaec77  libjava/classpath/gnu/CORBA/Interceptor/ServerRequestInterceptors.java
! 93787b25fd2246beaa773fcb743e6a10  libjava/classpath/gnu/CORBA/Interceptor/gnuClientRequestInfo.java
! 8ab405daca4117b3eed78c4e35f64f6f  libjava/classpath/gnu/CORBA/Interceptor/gnuIcCurrent.java
! 7874ee518fccdc10e0f4bb0cde96e490  libjava/classpath/gnu/CORBA/Interceptor/gnuIorInfo.java
! d1d142613befdf812d17c4711be7e26b  libjava/classpath/gnu/CORBA/Interceptor/gnuServerRequestInfo.java
! 9d617f1628534499abee258742882256  libjava/classpath/gnu/CORBA/IorDelegate.java
! 4be60297cd85fda9930d3b83cf9d9fb5  libjava/classpath/gnu/CORBA/IorObject.java
! 8db929f4e2d608a36ac48ce39e685b42  libjava/classpath/gnu/CORBA/IorProvider.java
! e08c2210e28d0727eb701b0147e2169b  libjava/classpath/gnu/CORBA/Minor.java
! 12a61d6069c1cb5cde5ce9296677eec0  libjava/classpath/gnu/CORBA/NameDynAnyPairHolder.java
! 6fbe0e0e6782cd4818d40a9c38bf40e3  libjava/classpath/gnu/CORBA/NameDynAnyPairSeqHolder.java
! c9f042086c2cacbf664a340126d7d95d  libjava/classpath/gnu/CORBA/NameValuePairHolder.java
! eb1a56289e7430bc68448922a3e45ec3  libjava/classpath/gnu/CORBA/NameValuePairSeqHolder.java
! 7a426c2dfc352b9011199477fe9a0ffb  libjava/classpath/gnu/CORBA/NamingService/Binding_iterator_impl.java
! b8c2bd902fad7c16afa82d4a8f74070b  libjava/classpath/gnu/CORBA/NamingService/Ext.java
! dcfe8e210975920356c100650b30c836  libjava/classpath/gnu/CORBA/NamingService/NameComponentComparator.java
! 8d7676439bb94ea6fdab1a3ddc700fb4  libjava/classpath/gnu/CORBA/NamingService/NameParser.java
! bc25c8ea4ab62b0284bbcab43f2e03f3  libjava/classpath/gnu/CORBA/NamingService/NameTransformer.java
! 96ed903088392cd68e8f96d3f1f7f546  libjava/classpath/gnu/CORBA/NamingService/NameValidator.java
! ec0c58cccba2878dbdcdb4c51cce0107  libjava/classpath/gnu/CORBA/NamingService/NamingMap.java
! 418eed989c5e34ace4d292a0cd3403d3  libjava/classpath/gnu/CORBA/NamingService/NamingServiceTransient.java
! c8ed41c85ba06b0df06e8925cd6bbf4a  libjava/classpath/gnu/CORBA/NamingService/TransientContext.java
! 869d554bdb6eabfa3e8b6742abe7f212  libjava/classpath/gnu/CORBA/ObjectCreator.java
! 809df45cd15f0411769df731c9756efa  libjava/classpath/gnu/CORBA/OctetHolder.java
! bffb39dd3adf6d18161fb738e9efc589  libjava/classpath/gnu/CORBA/OrbFocused.java
! 5e753336a83bc29ceff4377746fe71e5  libjava/classpath/gnu/CORBA/OrbFunctional.java
! 218c0ecef56c49c1297c0ca0776de84d  libjava/classpath/gnu/CORBA/OrbRestricted.java
! 8d7a463a96e5762538f522aef7660322  libjava/classpath/gnu/CORBA/Poa/AOM.java
! 57be75f201d4a175f0260cf7939969a1  libjava/classpath/gnu/CORBA/Poa/AccessiblePolicy.java
! fe9ae8963c6584c4225e0a58a2977ebc  libjava/classpath/gnu/CORBA/Poa/DynamicImpHandler.java
! 345546f590adfdecbe3ce041dc434e14  libjava/classpath/gnu/CORBA/Poa/ForwardRequestHolder.java
! 8b1946a146fff28582bf8b2392cfae34  libjava/classpath/gnu/CORBA/Poa/ForwardedServant.java
! 525af413ab0e9569ddc48ddfd2e2cacd  libjava/classpath/gnu/CORBA/Poa/InvalidPolicyHolder.java
! f34957e6819dc423c781eb194ae40d8a  libjava/classpath/gnu/CORBA/Poa/LocalDelegate.java
! 9e38caeda3d51d8e48e680c6497e708c  libjava/classpath/gnu/CORBA/Poa/LocalRequest.java
! 6b34adbdd6e1ff9dbd597e36612c8b66  libjava/classpath/gnu/CORBA/Poa/LocalServerRequest.java
! 07dbb10def59c6cc850362dd77bb1275  libjava/classpath/gnu/CORBA/Poa/ORB_1_4.java
! 593a66c30795a8fee5f21f5b504633cd  libjava/classpath/gnu/CORBA/Poa/ServantDelegateImpl.java
! 38db77f89bfe75d22d4fcbca9740bca8  libjava/classpath/gnu/CORBA/Poa/StandardPolicies.java
! f0e947470ce8c242935f85355099c057  libjava/classpath/gnu/CORBA/Poa/gnuAdapterActivator.java
! e42df9fec3d07b404e49d89553506b67  libjava/classpath/gnu/CORBA/Poa/gnuForwardRequest.java
! 94e144961774df69d5e56d0be29e85e1  libjava/classpath/gnu/CORBA/Poa/gnuIdAssignmentPolicy.java
! a67f3004770b8de239bfcb76c28e9e2e  libjava/classpath/gnu/CORBA/Poa/gnuIdUniquenessPolicy.java
! 2d7ac22502a51b976bb43d2602e6df4b  libjava/classpath/gnu/CORBA/Poa/gnuImplicitActivationPolicy.java
! 8f6e4af83fad26925d6ef3a5a42c272b  libjava/classpath/gnu/CORBA/Poa/gnuLifespanPolicy.java
! ee304b22bd54a7cd91604f599e1e8412  libjava/classpath/gnu/CORBA/Poa/gnuPOA.java
! d2ac255a4eacf642370b16ce2dc46e59  libjava/classpath/gnu/CORBA/Poa/gnuPOAManager.java
! f4eb2eb8378fbdd435aae42840aba005  libjava/classpath/gnu/CORBA/Poa/gnuPoaCurrent.java
! 5986e9cb8e8709c45913427478f931d5  libjava/classpath/gnu/CORBA/Poa/gnuRequestProcessingPolicy.java
! 79cc5ef40b9d1cefa01f57028973d97b  libjava/classpath/gnu/CORBA/Poa/gnuServantObject.java
! 5616d2c1cf9c4213f4ab5e94bdaa837b  libjava/classpath/gnu/CORBA/Poa/gnuServantRetentionPolicy.java
! 177c3facf0ccad21892fadfc11b0044f  libjava/classpath/gnu/CORBA/Poa/gnuThreadPolicy.java
! 79ce4ab4d13d45b99ae6310a046021fe  libjava/classpath/gnu/CORBA/RawReply.java
! 335678c1557dfa3186e646c66018509d  libjava/classpath/gnu/CORBA/ResponseHandlerImpl.java
! 29deca04ef26650ab1c4df0fd9fbfc62  libjava/classpath/gnu/CORBA/ServiceDetailHolder.java
! 218870d4b2189bee3cb58ee36a50b0f2  libjava/classpath/gnu/CORBA/ServiceRequestAdapter.java
! f6e76aaeafa829585e32da42886c9731  libjava/classpath/gnu/CORBA/SetOverrideTypeHolder.java
! 6688c9c04f76500eb19b3339cf696458  libjava/classpath/gnu/CORBA/SimpleDelegate.java
! 7d19bd30bf63c4635b48e825e74ec4a4  libjava/classpath/gnu/CORBA/SocketRepository.java
! 4252c5a61375ae5b7067df3aca8db3cd  libjava/classpath/gnu/CORBA/StreamBasedRequest.java
! 0568f7c790dfad783efa768c1fbd4818  libjava/classpath/gnu/CORBA/StreamHolder.java
! 6b2524834a8add0e1913e40c2f389993  libjava/classpath/gnu/CORBA/StubLocator.java
! d2e47b7940e7ab8971fda590d6abcb1e  libjava/classpath/gnu/CORBA/TypeCodeHelper.java
! 2e6c3b02f7b39186d0e143290a9e1c58  libjava/classpath/gnu/CORBA/TypeKindNamer.java
! 54489a790026e3d49111daf8a857039c  libjava/classpath/gnu/CORBA/Unexpected.java
! e3551a415e763c34e16333ead9d501af  libjava/classpath/gnu/CORBA/Version.java
! bb68fb883812c9fa52282b88cd6e31c0  libjava/classpath/gnu/CORBA/WCharHolder.java
! a549650722fa49aaf0f71cc0550192f4  libjava/classpath/gnu/CORBA/WStringHolder.java
! f17da665c4f109969490ef1f27e3084c  libjava/classpath/gnu/CORBA/_PolicyImplBase.java
! b3264221b764ef8ceac6e6315bfe2cf3  libjava/classpath/gnu/CORBA/gnuAny.java
! 4c0542aaf4cc0a188b1d348513c06d88  libjava/classpath/gnu/CORBA/gnuCodecFactory.java
! 3552f91db49da7be5401cc9402b772f6  libjava/classpath/gnu/CORBA/gnuContext.java
! b52035fcb7fa0570b3323461d366c27a  libjava/classpath/gnu/CORBA/gnuContextList.java
! c3bdcd29dd9797f04704207cb0f94a8d  libjava/classpath/gnu/CORBA/gnuEnvironment.java
! 2fdd2a8391f374fcb76e2d4969a1052f  libjava/classpath/gnu/CORBA/gnuExceptionList.java
! 2c13988f4a67cabd1637296b9e85a741  libjava/classpath/gnu/CORBA/gnuNVList.java
! 6d14479b06e9c8c27d795b4ebbc7fafa  libjava/classpath/gnu/CORBA/gnuNamedValue.java
! c7a71a693ce9df8cdfbb5a5a65d6a546  libjava/classpath/gnu/CORBA/gnuRequest.java
! 9d6bcb7324de733a9b29ee664401f498  libjava/classpath/gnu/CORBA/gnuValueHolder.java
! 1ebdd3445df270518fa2dbad2f0468f6  libjava/classpath/gnu/CORBA/interfaces/SocketFactory.java
! 948dda7bb40d19c838191a085ec7ec38  libjava/classpath/gnu/CORBA/interfaces/package.html
! 95459fae5ced5345c7dfd361ea156c9a  libjava/classpath/gnu/CORBA/typecodes/AliasTypeCode.java
! da505d5a191e150bd4ac06cbfa91f6b1  libjava/classpath/gnu/CORBA/typecodes/ArrayTypeCode.java
! 3e9464d6ce892ba320f0eca10ab34aaa  libjava/classpath/gnu/CORBA/typecodes/FixedTypeCode.java
! 611e8759bf2e21e1f943bf6557336a7e  libjava/classpath/gnu/CORBA/typecodes/GeneralTypeCode.java
! 7ff1592e951c52fa335b0d5439608a5f  libjava/classpath/gnu/CORBA/typecodes/PrimitiveTypeCode.java
! fbd2c115537d607928f1a025e99deb82  libjava/classpath/gnu/CORBA/typecodes/RecordTypeCode.java
! 23e4d9d3eacb87db2ef30a56fbf4a1ee  libjava/classpath/gnu/CORBA/typecodes/RecursiveTypeCode.java
! f2dfeec94305bfa941b9f34743b72b0d  libjava/classpath/gnu/CORBA/typecodes/StringTypeCode.java
! ab20bbe7f3743dae0def1b7c61a8df45  libjava/classpath/gnu/CORBA/typecodes/package.html
! 93c665b5cf4546adcf61a019dd88c6aa  libjava/classpath/gnu/classpath/ByteArray.java
! a96e47d9ea148c4b178c6f98d0044733  libjava/classpath/gnu/classpath/Configuration.java.in
! bfd8113dd1fdd584796554066d46a75e  libjava/classpath/gnu/classpath/Pointer.java
! 2e851e0e11cb6ff887486733859d0985  libjava/classpath/gnu/classpath/Pointer32.java
! 07eb456692c381baaf2e5ef9e1d2643a  libjava/classpath/gnu/classpath/Pointer64.java
! 1e06c2b26a8655ead36d9e49af832c51  libjava/classpath/gnu/classpath/ServiceFactory.java
! 1ca215b0de2cd1a760997f5f1751c5de  libjava/classpath/gnu/classpath/ServiceProviderLoadingAction.java
! 968f0746f24ccf13fb0e0526e19f5790  libjava/classpath/gnu/classpath/SystemProperties.java
! f4d17294dddf393f2db088fd075da6a0  libjava/classpath/gnu/classpath/debug/Component.java
! 4bb3f4b30e02837f4ea16444d98d6cbc  libjava/classpath/gnu/classpath/debug/PreciseFilter.java
! 4e6cebd6922e799f37352dee93d23d95  libjava/classpath/gnu/classpath/debug/SystemLogger.java
! 26a52a634c70aa5f78031f53245b70fe  libjava/classpath/gnu/classpath/jdwp/Jdwp.java
! 1da3e835ca9ec22791f90888de49f09f  libjava/classpath/gnu/classpath/jdwp/JdwpConstants.java
! 1d2852240d5c4e27bef16298f7ccbb90  libjava/classpath/gnu/classpath/jdwp/event/ClassPrepareEvent.java
! 9b9add09f6c072f8ca6a6ce8b0be6bf1  libjava/classpath/gnu/classpath/jdwp/event/Event.java
! a5ff9fbc3ffb22abf875275270b4f81d  libjava/classpath/gnu/classpath/jdwp/event/EventManager.java
! df601f3a88935a1c66b18275fa325c24  libjava/classpath/gnu/classpath/jdwp/event/EventRequest.java
! b09e8e6c77256ca3d59cde091c4afba4  libjava/classpath/gnu/classpath/jdwp/event/ThreadEndEvent.java
! 4339d2cffbaa5f228feb6df125bc8912  libjava/classpath/gnu/classpath/jdwp/event/ThreadStartEvent.java
! 597565415b295a1eb6043262d4eba2ab  libjava/classpath/gnu/classpath/jdwp/event/VmDeathEvent.java
! cb434631d815998c9f00af89045faf46  libjava/classpath/gnu/classpath/jdwp/event/VmInitEvent.java
! 91e3fa4c04544caef081d636bf37ff85  libjava/classpath/gnu/classpath/jdwp/event/filters/ClassExcludeFilter.java
! 975cca94d47954ba718f8a944671a556  libjava/classpath/gnu/classpath/jdwp/event/filters/ClassMatchFilter.java
! 5a79a54f1404575757d94567e7969ff8  libjava/classpath/gnu/classpath/jdwp/event/filters/ClassOnlyFilter.java
! 00ccfdea1407cf72c326dc5b2dec9b6b  libjava/classpath/gnu/classpath/jdwp/event/filters/ConditionalFilter.java
! 197846322aa68cc6928a2ba4f5358679  libjava/classpath/gnu/classpath/jdwp/event/filters/CountFilter.java
! 6771f75c10b585deb9a8dd7b5bc753d2  libjava/classpath/gnu/classpath/jdwp/event/filters/ExceptionOnlyFilter.java
! ecd8ca6ba002feab65e1dc6ee08ba2c1  libjava/classpath/gnu/classpath/jdwp/event/filters/FieldOnlyFilter.java
! 18e822bd25394b638a41d9798804f364  libjava/classpath/gnu/classpath/jdwp/event/filters/IEventFilter.java
! 5814ec0555b037acfc7c92ac9dee27b8  libjava/classpath/gnu/classpath/jdwp/event/filters/InstanceOnlyFilter.java
! 73147fdb05967781aa00ed97cdcf739a  libjava/classpath/gnu/classpath/jdwp/event/filters/LocationOnlyFilter.java
! 2c53194136e0e9d2f21c3c0f420a6dfb  libjava/classpath/gnu/classpath/jdwp/event/filters/StepFilter.java
! f400253e7623698f714559b99ecd7abb  libjava/classpath/gnu/classpath/jdwp/event/filters/ThreadOnlyFilter.java
! e62e96c500e107dfd42df98be86f38f7  libjava/classpath/gnu/classpath/jdwp/exception/InvalidClassException.java
! a4191fc19ce1d203e0af5fc91456c78f  libjava/classpath/gnu/classpath/jdwp/exception/InvalidClassLoaderException.java
! 0fe1076a2f380ba533c3a57fefeb8207  libjava/classpath/gnu/classpath/jdwp/exception/InvalidCountException.java
! caac3ec389f7911a65808c4a8c86a38a  libjava/classpath/gnu/classpath/jdwp/exception/InvalidEventTypeException.java
! a58d37ea31df8ba501c97fd223dc940f  libjava/classpath/gnu/classpath/jdwp/exception/InvalidFieldException.java
! 71d6f3c51be37a80c5c029add046307c  libjava/classpath/gnu/classpath/jdwp/exception/InvalidLocationException.java
! bea4f47f98667b61a6e749df49fa62f4  libjava/classpath/gnu/classpath/jdwp/exception/InvalidMethodException.java
! 82a110b565c67b99fb89336299d891e0  libjava/classpath/gnu/classpath/jdwp/exception/InvalidObjectException.java
! 91b64552cf65e63cf6f6115c920a989f  libjava/classpath/gnu/classpath/jdwp/exception/InvalidStringException.java
! e5c5a82479e031425d54f6d5d23465b7  libjava/classpath/gnu/classpath/jdwp/exception/InvalidThreadException.java
! f490edb3653f39b9bcd1371f2c3ce3ca  libjava/classpath/gnu/classpath/jdwp/exception/InvalidThreadGroupException.java
! a66450337ade42e58b0e43c03317d4fa  libjava/classpath/gnu/classpath/jdwp/exception/JdwpException.java
! 317b701ac080f31204dfa22d02c63bfb  libjava/classpath/gnu/classpath/jdwp/exception/JdwpIllegalArgumentException.java
! d5b58f387fc46499af277f908c43a2a1  libjava/classpath/gnu/classpath/jdwp/exception/JdwpInternalErrorException.java
! 2e3238e783645b6c75a881085cd9100c  libjava/classpath/gnu/classpath/jdwp/exception/NotImplementedException.java
! 5ece09c612b7fec7769c55a0543a8a14  libjava/classpath/gnu/classpath/jdwp/exception/VmDeadException.java
! 54ed0c4711972a923fe47a186df4e488  libjava/classpath/gnu/classpath/jdwp/id/ArrayId.java
! 1fce33899c764f0e09d9c89fae819c85  libjava/classpath/gnu/classpath/jdwp/id/ArrayReferenceTypeId.java
! 0695b65253e503db2ecd0d55007160db  libjava/classpath/gnu/classpath/jdwp/id/ClassLoaderId.java
! d547dfcd1a6f074f18a8e239c650181f  libjava/classpath/gnu/classpath/jdwp/id/ClassObjectId.java
! ac5d2f5e8ae0865b03c8232b21c50c8c  libjava/classpath/gnu/classpath/jdwp/id/ClassReferenceTypeId.java
! 389514654efed78d5a081942db5fe056  libjava/classpath/gnu/classpath/jdwp/id/InterfaceReferenceTypeId.java
! d73deab504baa1f7138717cc487c5d27  libjava/classpath/gnu/classpath/jdwp/id/JdwpId.java
! 11f6d4100c88e872d17acacded558329  libjava/classpath/gnu/classpath/jdwp/id/ObjectId.java
! dc473f56becb41687f00ca5c331ca435  libjava/classpath/gnu/classpath/jdwp/id/ReferenceTypeId.java
! 68fe8cb0d3bd087a29b6a2debb6f2d99  libjava/classpath/gnu/classpath/jdwp/id/StringId.java
! 33047e44c9cc193e24ce5013e441477f  libjava/classpath/gnu/classpath/jdwp/id/ThreadGroupId.java
! fc43dcd22095d9010da256ee5e52779a  libjava/classpath/gnu/classpath/jdwp/id/ThreadId.java
! 47b137e7f0cb2675781b48da00f8debc  libjava/classpath/gnu/classpath/jdwp/processor/ArrayReferenceCommandSet.java
! 9636d54abbe2e0ba9224c5a8fc106f8f  libjava/classpath/gnu/classpath/jdwp/processor/ArrayTypeCommandSet.java
! 08b1b0e7d1f36bb5ee7c25057f3b25ad  libjava/classpath/gnu/classpath/jdwp/processor/ClassLoaderReferenceCommandSet.java
! 00e03b28dc325e3da5d93ba699bcff77  libjava/classpath/gnu/classpath/jdwp/processor/ClassObjectReferenceCommandSet.java
! d662fe211a249ff8b3ec1dd04166b41e  libjava/classpath/gnu/classpath/jdwp/processor/ClassTypeCommandSet.java
! 2cda784e2eb44c0b0bf4a6a34f3adcca  libjava/classpath/gnu/classpath/jdwp/processor/CommandSet.java
! 5bc62f66380f6f426073bd444aa7b2e9  libjava/classpath/gnu/classpath/jdwp/processor/EventRequestCommandSet.java
! e0aff4872a527d802a4412c7336c7190  libjava/classpath/gnu/classpath/jdwp/processor/FieldCommandSet.java
! c31bc6e75d546820cff5264ec664792c  libjava/classpath/gnu/classpath/jdwp/processor/InterfaceTypeCommandSet.java
! a0387d928e87ca4b0860a20b5ddd8d04  libjava/classpath/gnu/classpath/jdwp/processor/MethodCommandSet.java
! ca8aea18d2f860f23b3ded9836e3cf60  libjava/classpath/gnu/classpath/jdwp/processor/ObjectReferenceCommandSet.java
! 17170ed87589f67e48458a57f570bafe  libjava/classpath/gnu/classpath/jdwp/processor/PacketProcessor.java
! 368c7c950df1407497f3c6ccbab99148  libjava/classpath/gnu/classpath/jdwp/processor/ReferenceTypeCommandSet.java
! 6ce93b08e23c7dd44b9d13d28d3ed431  libjava/classpath/gnu/classpath/jdwp/processor/StackFrameCommandSet.java
! 55a2c2fdd718a1e80f0aca4fa81987e9  libjava/classpath/gnu/classpath/jdwp/processor/StringReferenceCommandSet.java
! 282af6d8e8ab235682e190fea2e41d41  libjava/classpath/gnu/classpath/jdwp/processor/ThreadGroupReferenceCommandSet.java
! 2218867116006bf90ed49b88c1bd5ccf  libjava/classpath/gnu/classpath/jdwp/processor/ThreadReferenceCommandSet.java
! 32a692252c7f40fbc94c63f164659f3f  libjava/classpath/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java
! f60393d6a04e8cb34963d79c2f4eb854  libjava/classpath/gnu/classpath/jdwp/transport/ITransport.java
! 000f582c4388672b96b5f820fc34bba2  libjava/classpath/gnu/classpath/jdwp/transport/JdwpCommandPacket.java
! 87c8202d2c581d97b0eaae2923d03982  libjava/classpath/gnu/classpath/jdwp/transport/JdwpConnection.java
! 09703d6ac380c31b73609ca01858fb82  libjava/classpath/gnu/classpath/jdwp/transport/JdwpPacket.java
! ffbdc0515a961ad4c1ca99ea92c70ae1  libjava/classpath/gnu/classpath/jdwp/transport/JdwpReplyPacket.java
! 57a21da94df6e4ac041d3919517c5cf5  libjava/classpath/gnu/classpath/jdwp/transport/SocketTransport.java
! d377975ecf4b283a82dcb42ea44c34a9  libjava/classpath/gnu/classpath/jdwp/transport/TransportException.java
! 8febf9adc887c8ebb886b1da7bb12330  libjava/classpath/gnu/classpath/jdwp/transport/TransportFactory.java
! 32502e3b103da8ac60258607bdebaa4d  libjava/classpath/gnu/classpath/jdwp/util/JdwpString.java
! f5a1aa1ec2ef8622706fedd69c97eb94  libjava/classpath/gnu/classpath/jdwp/util/LineTable.java
! 2d31d3cce2f74517fd3c222160d2a224  libjava/classpath/gnu/classpath/jdwp/util/Location.java
! 0511721dc2fae5d85db9440ed23d5ab3  libjava/classpath/gnu/classpath/jdwp/util/MethodResult.java
! 646e7c4f2bbbedb80919dd665de293e0  libjava/classpath/gnu/classpath/jdwp/util/Signature.java
! 68a1b0d812a69a08ea29167fdb200356  libjava/classpath/gnu/classpath/jdwp/util/Value.java
! 8892c77affbd9904c0e7be8709e0dcbf  libjava/classpath/gnu/classpath/jdwp/util/VariableTable.java
! 39243f0abd4c148873ff4a55ffbc82fd  libjava/classpath/gnu/java/awt/AWTUtilities.java
! e986b136d99b39d46bd378136d680e7d  libjava/classpath/gnu/java/awt/BitMaskExtent.java
! e6708bfd6459a9148092895ea2f63810  libjava/classpath/gnu/java/awt/BitwiseXORComposite.java
! 1da1b2b085a2679b975797eaadab1d7b  libjava/classpath/gnu/java/awt/Buffers.java
! 09dcb5df97ff674b828c770569c1e30f  libjava/classpath/gnu/java/awt/ClasspathToolkit.java
! 6772c1b98d446efe60204e9b546f7590  libjava/classpath/gnu/java/awt/ComponentDataBlitOp.java
! f90d61b699cf3713d0ddaceffab5a058  libjava/classpath/gnu/java/awt/EmbeddedWindow.java
! 84f7def41574a40b551c151d385d10c1  libjava/classpath/gnu/java/awt/EventModifier.java
! 7639b3833cfc0c3e232ba2a3c11167ef  libjava/classpath/gnu/java/awt/GradientPaintContext.java
! a13ed7e4a492d27087a1d42a9dcfe7c3  libjava/classpath/gnu/java/awt/color/CieXyzConverter.java
! 9303bc4292efee2b391beea66a767c39  libjava/classpath/gnu/java/awt/color/ClutProfileConverter.java
! e1861db68e1436d17e82fe8abd5ac76b  libjava/classpath/gnu/java/awt/color/ColorLookUpTable.java
! beac39f1598d16782849944e0a3fba8f  libjava/classpath/gnu/java/awt/color/ColorSpaceConverter.java
! 5f451ef25b34b766280375573d17ef88  libjava/classpath/gnu/java/awt/color/GrayProfileConverter.java
! 72dfbe1e09748187cea9f5c947e9a399  libjava/classpath/gnu/java/awt/color/GrayScaleConverter.java
! ada17ed70af8dd5afed78fec336fb236  libjava/classpath/gnu/java/awt/color/LinearRGBConverter.java
! ee64dc21aab7eebe3199393ce3bb6e29  libjava/classpath/gnu/java/awt/color/ProfileHeader.java
! d5b6d7162c5d15d21496f4033715eac3  libjava/classpath/gnu/java/awt/color/PyccConverter.java
! 5b7c3f9f4e5d0ee3e4e57490f47b07ca  libjava/classpath/gnu/java/awt/color/RgbProfileConverter.java
! 207968707556d8f79de08e5a225bbc56  libjava/classpath/gnu/java/awt/color/SrgbConverter.java
! 84224f0f72c5c80dcda4d763aebed5ba  libjava/classpath/gnu/java/awt/color/TagEntry.java
! b32f5ae3886194a1cb77c85c7ea2f139  libjava/classpath/gnu/java/awt/color/ToneReproductionCurve.java
! d26f7ff163b47dc7efcab0395bb78a92  libjava/classpath/gnu/java/awt/color/package.html
! 88efad0eb2d28658f7f65bc07c9f5630  libjava/classpath/gnu/java/awt/doc-files/BitwiseXORComposite-1.png
! 977ca09cd8f540256430f8a83c666523  libjava/classpath/gnu/java/awt/image/ImageDecoder.java
! 662c313dc41a250f8e6110d8c8521e02  libjava/classpath/gnu/java/awt/image/XBMDecoder.java
! 203fb8dc8382a66cfe10591f1dfcdf3f  libjava/classpath/gnu/java/awt/image/package.html
! 799fa3dc11a5b09fedefa917690a4eae  libjava/classpath/gnu/java/awt/package.html
! 8971c9ae093b1cc4d9379cdf301c9883  libjava/classpath/gnu/java/awt/peer/ClasspathFontPeer.java
! c633e524e24fca28b3a24060577cb942  libjava/classpath/gnu/java/awt/peer/ClasspathTextLayoutPeer.java
! f3f487d5362b5125e8786db4734ff9f5  libjava/classpath/gnu/java/awt/peer/EmbeddedWindowPeer.java
! 769b16d1a7a891254e832bd59436d11e  libjava/classpath/gnu/java/awt/peer/GLightweightPeer.java
! 9db08b129609965301ecc767c296cf26  libjava/classpath/gnu/java/awt/peer/gtk/GThreadMutex.java
! d6255af27aac41d97d01cb7e2c683c16  libjava/classpath/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java
! 31a4d3ebadd6fc3f08111e732a486b41  libjava/classpath/gnu/java/awt/peer/gtk/GdkFontMetrics.java
! e4f11a79d4ca0ebdc18cea05f9ba9f6b  libjava/classpath/gnu/java/awt/peer/gtk/GdkFontPeer.java
! 6299fcde45d5c49e72648ec7545ea651  libjava/classpath/gnu/java/awt/peer/gtk/GdkGlyphVector.java
! 78ca55717df01458d8bae3dc67e18bea  libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphics.java
! 858bd7332285d1ea1cf48bcee14f15be  libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphics2D.java
! 91a45738c2929896f13c92fd048536e1  libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java
! 6c6319dedfdd9af40481d687f4389fb9  libjava/classpath/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
! 107fecffe4f2882ec94be73560b75b1d  libjava/classpath/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
! 8df84515055b1a119a1079b732bd7e68  libjava/classpath/gnu/java/awt/peer/gtk/GdkRobotPeer.java
! f97436c89d3a0f5ff6f94d7c06138bfc  libjava/classpath/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java
! 3864489a2578fbca11c849b6e64ed5f6  libjava/classpath/gnu/java/awt/peer/gtk/GdkTextLayout.java
! 801cabbaf2b4520bf6a6f64bdf29d0e7  libjava/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java
! c5c6bb4df8f626e2769755e6a5ae9005  libjava/classpath/gnu/java/awt/peer/gtk/GtkCanvasPeer.java
! 44c6c2633e81bd4d4056065e4d3b885f  libjava/classpath/gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
! e7a6d994c82885307d85eabbd81faf6b  libjava/classpath/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
! ee3be4146b6383c1871a415028855b2a  libjava/classpath/gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
! 78f69ecb7f31bebc486df22e360be83a  libjava/classpath/gnu/java/awt/peer/gtk/GtkChoicePeer.java
! 2d97e630d33ceedf23b2e792b99890c9  libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboard.java
! 809f8b3a2f7c96de3c10149325c2ef51  libjava/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java
! fabd669b792a48b37fbcc6d73d6f3aa2  libjava/classpath/gnu/java/awt/peer/gtk/GtkComponentPeer.java
! a4a037b33b46f0fa4eabf9200d55c490  libjava/classpath/gnu/java/awt/peer/gtk/GtkContainerPeer.java
! 148449f70201921bfc6a840a74312be7  libjava/classpath/gnu/java/awt/peer/gtk/GtkDialogPeer.java
! 388c9737b3c76f9160f57994385d28ec  libjava/classpath/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java
! 8c17e1a115bf4120ae405504ec87b58e  libjava/classpath/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
! f73c54c45f6a79778c07380a4b516d80  libjava/classpath/gnu/java/awt/peer/gtk/GtkFontPeer.java
! 8be8421f4319f31adc65026d668ecd34  libjava/classpath/gnu/java/awt/peer/gtk/GtkFramePeer.java
! 44f5ce09c95ec2e97057be0b3f2c2a2a  libjava/classpath/gnu/java/awt/peer/gtk/GtkGenericPeer.java
! 0f86723a08ed7756c6216b13795908a5  libjava/classpath/gnu/java/awt/peer/gtk/GtkImage.java
! bf6f2c5ca25e74901a4f1c20e3dd997a  libjava/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java
! c06d4d8d71ff02e43bd96056e7665cc6  libjava/classpath/gnu/java/awt/peer/gtk/GtkLabelPeer.java
! 92d54b281f9b9f8b5f72be0afa02ce4b  libjava/classpath/gnu/java/awt/peer/gtk/GtkListPeer.java
! 0fafc15d8df1dbd901699c35f7b5af8b  libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
! ce93bcec5c7f7690c0ac920aa824214b  libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
! 72732f026ff1769f7621a21c58a10c95  libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
! 7570e41b36bda22d496c6a25becdbc0e  libjava/classpath/gnu/java/awt/peer/gtk/GtkMenuPeer.java
! 601ab9bd9dace4e98859a6684bcde159  libjava/classpath/gnu/java/awt/peer/gtk/GtkPanelPeer.java
! 2e86edeacae3fd50ce1bc4a2286db0da  libjava/classpath/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
! 42ec69e61b174870a6114463ae84a315  libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
! 3daacbcbd4553ef7108a3bb637240a12  libjava/classpath/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
! 9f3a79ccc0a58478f68ae2cb935594d3  libjava/classpath/gnu/java/awt/peer/gtk/GtkSelection.java
! 8b06a915267145e71a3bba63f4562f22  libjava/classpath/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
! 684e934335d0343814bdc42c7822c9f1  libjava/classpath/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
! ef9c2a331ff5bcbc571d9192d8d19d40  libjava/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java
! 6f29e45dabfe2a2d115ab52b22b8cc81  libjava/classpath/gnu/java/awt/peer/gtk/GtkVolatileImage.java
! 81544226885b3919c7b23db5b3d38cda  libjava/classpath/gnu/java/awt/peer/gtk/GtkWindowPeer.java
! 408fb341119a1789005b716d0082e2a4  libjava/classpath/gnu/java/awt/peer/gtk/package.html
! 52201644940a059731bcfb828e349fc1  libjava/classpath/gnu/java/awt/peer/package.html
! c3d031d812f4bc4c096ef2d590cf9fea  libjava/classpath/gnu/java/awt/peer/qt/MainQtThread.java
! 2d3ea6ebd63565466d5229236deb0e60  libjava/classpath/gnu/java/awt/peer/qt/NativeWrapper.java
! e5cd82905404d43b4e9db241ee3ff152  libjava/classpath/gnu/java/awt/peer/qt/QMatrix.java
! 4d4b62e1f9931a1356e923248e2b1cfe  libjava/classpath/gnu/java/awt/peer/qt/QPainterPath.java
! 27efb2cce1b94e5f66c7c9c893a86dae  libjava/classpath/gnu/java/awt/peer/qt/QPen.java
! 233d083ece12c379d2e42e954e244738  libjava/classpath/gnu/java/awt/peer/qt/QtAudioClip.java
! 3573527829c7a32a466e80dee0b954b1  libjava/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java
! 8d5c68ca84ae2704abeba49a837e3bb9  libjava/classpath/gnu/java/awt/peer/qt/QtCanvasPeer.java
! 8123f66f3c69eb9a1d91d5d08e19cbd7  libjava/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java
! be2a2b4c9ed1f9446ad0ec53e5b00ddb  libjava/classpath/gnu/java/awt/peer/qt/QtChoicePeer.java
! 7ef8f8bb229d966e0ff3ec807f588321  libjava/classpath/gnu/java/awt/peer/qt/QtComponentGraphics.java
! 29651c1624cf85e412444ddd80cbe494  libjava/classpath/gnu/java/awt/peer/qt/QtComponentPeer.java
! 6121c6d4644ded7b0022f866d7e64712  libjava/classpath/gnu/java/awt/peer/qt/QtContainerPeer.java
! 844baef028fef0abb93cb37f860aebd8  libjava/classpath/gnu/java/awt/peer/qt/QtDialogPeer.java
! 1b5628f2dd2ec6091ef976e6df9a9e4c  libjava/classpath/gnu/java/awt/peer/qt/QtEmbeddedWindowPeer.java
! 7e58e9ab82152a68c3a4018abbb3b8f6  libjava/classpath/gnu/java/awt/peer/qt/QtFileDialogPeer.java
! 498a69f9502b49979e09c3f199d4d2a7  libjava/classpath/gnu/java/awt/peer/qt/QtFontMetrics.java
! aacdd3bfccf8628308fd7ee354d6f45c  libjava/classpath/gnu/java/awt/peer/qt/QtFontPeer.java
! 3f87e8521c3e4e596833237d9c30116d  libjava/classpath/gnu/java/awt/peer/qt/QtFramePeer.java
! e7186f5a2d3497ec2a51168bfa6b7e10  libjava/classpath/gnu/java/awt/peer/qt/QtGraphics.java
! 960f03434ab11d84a9a093649bcfeb60  libjava/classpath/gnu/java/awt/peer/qt/QtGraphicsEnvironment.java
! f43895ecc4d45aee626494787f6c19f7  libjava/classpath/gnu/java/awt/peer/qt/QtImage.java
! 61054f99b99631e28ba3c50d14bdf4a5  libjava/classpath/gnu/java/awt/peer/qt/QtImageConsumer.java
! 9096c77fcdc23ecfb7ede51a1a76a80d  libjava/classpath/gnu/java/awt/peer/qt/QtImageDirectGraphics.java
! 58e88ba8349da7e6e1ac1fa7c8363b8a  libjava/classpath/gnu/java/awt/peer/qt/QtImageGraphics.java
! 7302faed108bf7dbb334bdfeb8858d91  libjava/classpath/gnu/java/awt/peer/qt/QtLabelPeer.java
! 83a434f72a03f87f8eaa8ebaa287b058  libjava/classpath/gnu/java/awt/peer/qt/QtListPeer.java
! 862c44f186979041e213ce5ba8fc84e6  libjava/classpath/gnu/java/awt/peer/qt/QtMenuBarPeer.java
! 1dbb2b410d355cf6650652ef4c71c93b  libjava/classpath/gnu/java/awt/peer/qt/QtMenuComponentPeer.java
! b121ca316369fce2e20e9e5a937abd3d  libjava/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java
! 13b23de8392e1afc0687e1cf25e77a4f  libjava/classpath/gnu/java/awt/peer/qt/QtMenuPeer.java
! f96ab4ae9441ea7ca143147f28bb0e58  libjava/classpath/gnu/java/awt/peer/qt/QtPanelPeer.java
! 58cc0fc46e9a346bf07121600f61b385  libjava/classpath/gnu/java/awt/peer/qt/QtPopupMenuPeer.java
! e8ec517eb93135af939aae2b7899759b  libjava/classpath/gnu/java/awt/peer/qt/QtRepaintThread.java
! 2d3cdb6ac946c7ffde3751cdd180df5f  libjava/classpath/gnu/java/awt/peer/qt/QtScreenDevice.java
! 7e9e77262c99048f7f72f2697ee63b65  libjava/classpath/gnu/java/awt/peer/qt/QtScreenDeviceConfiguration.java
! d3440985d4f70b075e10a4c14d0093a2  libjava/classpath/gnu/java/awt/peer/qt/QtScrollPanePeer.java
! 7f63e0a813930e2748a21d31ef9c874a  libjava/classpath/gnu/java/awt/peer/qt/QtScrollbarPeer.java
! a538d6255911af4ac4201be8c27cdfd5  libjava/classpath/gnu/java/awt/peer/qt/QtTextAreaPeer.java
! 84ba94b46bf1b791009268beef8a2b7f  libjava/classpath/gnu/java/awt/peer/qt/QtTextFieldPeer.java
! 4214970728e526774e00f6b56ea3fa9c  libjava/classpath/gnu/java/awt/peer/qt/QtToolkit.java
! f0dd9ceb8ad968b6e82a0ff31fe76df5  libjava/classpath/gnu/java/awt/peer/qt/QtVolatileImage.java
! a8c49af2b4a5a59991fdfb59e2150157  libjava/classpath/gnu/java/awt/peer/qt/QtWindowPeer.java
! cb8f3455b5957eadb85352a84b478bf3  libjava/classpath/gnu/java/beans/BeanInfoEmbryo.java
! 7aa213dd1d6e73e4e54661ff6fbc1bfd  libjava/classpath/gnu/java/beans/DummyAppletContext.java
! 028fafb5c709899a6e70028548fde7dc  libjava/classpath/gnu/java/beans/DummyAppletStub.java
! 5a3ac2221fc4fab1c0c526896db45ea9  libjava/classpath/gnu/java/beans/ExplicitBeanInfo.java
! 25c8940cdf55481a7db830c9a7d89b4f  libjava/classpath/gnu/java/beans/IntrospectionIncubator.java
! a506eeb7f342e6ef8edde24e61d3942c  libjava/classpath/gnu/java/beans/TODO
! da0dbadea6ab8dc65398ab5e221a4606  libjava/classpath/gnu/java/beans/decoder/AbstractContext.java
! 31324bef4480f3688edb7265a1f5cd9b  libjava/classpath/gnu/java/beans/decoder/AbstractCreatableObjectContext.java
! 11fc43f0c7eccf22557c1e9effe84622  libjava/classpath/gnu/java/beans/decoder/AbstractElementHandler.java
! 657e2f01a74fb0e220ea38e2c8026f6d  libjava/classpath/gnu/java/beans/decoder/AbstractObjectContext.java
! 201144be9117c9342e185b9e8734eaf2  libjava/classpath/gnu/java/beans/decoder/ArrayContext.java
! e78d2222d2985606a2ef788b10b118e4  libjava/classpath/gnu/java/beans/decoder/ArrayHandler.java
! ac22e3fa45395c2912625d8954ab8c46  libjava/classpath/gnu/java/beans/decoder/AssemblyException.java
! d67316931fc12672cef264a8b313a244  libjava/classpath/gnu/java/beans/decoder/BooleanHandler.java
! ff267cf63368778d896bb7f8dde0f2fd  libjava/classpath/gnu/java/beans/decoder/ByteHandler.java
! 5d92986f5c2597a529be3edcc3103a5d  libjava/classpath/gnu/java/beans/decoder/CharHandler.java
! f6ca22e14935fb22e8d9ed724fdc26ef  libjava/classpath/gnu/java/beans/decoder/ClassHandler.java
! ee20fd15f5ff4e440a104bb7e0eb8372  libjava/classpath/gnu/java/beans/decoder/ConstructorContext.java
! afc6b6a84fe70babb384b64bd8bd8f78  libjava/classpath/gnu/java/beans/decoder/Context.java
! dfaffa8c81614b9dc9ca6048f087f3a3  libjava/classpath/gnu/java/beans/decoder/DecoderContext.java
! 72e7d993d3b29c563cb74bed92d8924a  libjava/classpath/gnu/java/beans/decoder/DefaultExceptionListener.java
! a12b08b487bf89c37ca9c6ced61da6ad  libjava/classpath/gnu/java/beans/decoder/DoubleHandler.java
! a647bd542b71f3f276d69e46fe2e1dbb  libjava/classpath/gnu/java/beans/decoder/DummyContext.java
! 3591eadd4d68ebe518a6fec0cdfbacce  libjava/classpath/gnu/java/beans/decoder/DummyHandler.java
! 4e8a5d039690e226f218037b5fb52470  libjava/classpath/gnu/java/beans/decoder/ElementHandler.java
! 64b7420fbc18b59c183d28f4e5ada324  libjava/classpath/gnu/java/beans/decoder/FloatHandler.java
! 65ec987fc510b38281bcb76a896fb704  libjava/classpath/gnu/java/beans/decoder/GrowableArrayContext.java
! 34d7103af2a4b26d68c0159f590bb9c1  libjava/classpath/gnu/java/beans/decoder/IndexContext.java
! 2cd8fd9dfd829619d024f5c7bb15acde  libjava/classpath/gnu/java/beans/decoder/IntHandler.java
! 406dc4889f3c15ed6e8a68566ca5240b  libjava/classpath/gnu/java/beans/decoder/JavaHandler.java
! efd79c5bbbbe05c3a102f1d9b13ce96e  libjava/classpath/gnu/java/beans/decoder/LongHandler.java
! 8884fc46079202dfe9e2e8b5b0c4d0cd  libjava/classpath/gnu/java/beans/decoder/MethodContext.java
! f5e91b3ca0610a71f24218e4204f4276  libjava/classpath/gnu/java/beans/decoder/MethodFinder.java
! 66748177694bca053bc05e0359b2721f  libjava/classpath/gnu/java/beans/decoder/NullHandler.java
! 69a97cd4280fa8d5ba5c690a9c0d67e3  libjava/classpath/gnu/java/beans/decoder/ObjectContext.java
! 0d6d0c488cca9d0165bc4c46ffa68384  libjava/classpath/gnu/java/beans/decoder/ObjectHandler.java
! 36e7a2806d93516033a6cb7d51bd1861  libjava/classpath/gnu/java/beans/decoder/PersistenceParser.java
! eb6e25c9d4223f25f303832bd85ea186  libjava/classpath/gnu/java/beans/decoder/PropertyContext.java
! 7bf182357d562e51d6afe260e85059cb  libjava/classpath/gnu/java/beans/decoder/ShortHandler.java
! 84890bca670d7956bfc8755466b58673  libjava/classpath/gnu/java/beans/decoder/SimpleHandler.java
! 07b48fe8b63a4befb89dbf64e7e48257  libjava/classpath/gnu/java/beans/decoder/StaticMethodContext.java
! ca1bb704c7ea514a2b2ae8d206399394  libjava/classpath/gnu/java/beans/decoder/StringHandler.java
! 0bca172fa8fc4fc0fd22725f1a11d26f  libjava/classpath/gnu/java/beans/decoder/VoidHandler.java
! bf6d22177beb116b57b9b5a31e8bf14a  libjava/classpath/gnu/java/beans/decoder/package.html
! a3587b75d8b6d4b793b41d42c15ebf92  libjava/classpath/gnu/java/beans/editors/ColorEditor.java
! fdd29be56e8da4b085cd0e065c200926  libjava/classpath/gnu/java/beans/editors/FontEditor.java
! cea66180f8add4c8df413f4618cda712  libjava/classpath/gnu/java/beans/editors/NativeBooleanEditor.java
! 252f5cdfd17c869c5f410ad129a14a85  libjava/classpath/gnu/java/beans/editors/NativeByteEditor.java
! b497b308b08fc517afe1119d68dd1920  libjava/classpath/gnu/java/beans/editors/NativeDoubleEditor.java
! 9aba15fcd377c0250674b7ea05f512b2  libjava/classpath/gnu/java/beans/editors/NativeFloatEditor.java
! c1a89d5101cf2201e0614a089dc097c0  libjava/classpath/gnu/java/beans/editors/NativeIntEditor.java
! dece8703aa3f001b242ae571e7dcf301  libjava/classpath/gnu/java/beans/editors/NativeLongEditor.java
! 779071e674e2e04a3771a5a736549591  libjava/classpath/gnu/java/beans/editors/NativeShortEditor.java
! 2710ef7348e8de731d1955e8c5ece1d0  libjava/classpath/gnu/java/beans/editors/StringEditor.java
! 9bfb11f3e76a546ffa4ef8b8929967c8  libjava/classpath/gnu/java/beans/editors/TODO
! 834c7813f7551b4fc510c1ab5a3b81f1  libjava/classpath/gnu/java/beans/editors/package.html
! d515d2377484d62b6972235f0d31e5d1  libjava/classpath/gnu/java/beans/package.html
! 18a10b2fd430f6b7ca21bffa7bfc9856  libjava/classpath/gnu/java/io/ASN1ParsingException.java
! f9498fa07c989a84c1091a33807e80ba  libjava/classpath/gnu/java/io/Base64InputStream.java
! aec629af391ca24fadc97dab80f217b0  libjava/classpath/gnu/java/io/ClassLoaderObjectInputStream.java
! ec162326a13905b42d1f40a7e448b7db  libjava/classpath/gnu/java/io/NullOutputStream.java
! a7e319575ab348f1a697df21f9dab34a  libjava/classpath/gnu/java/io/ObjectIdentityWrapper.java
! eb33c47f575011fb53384b8ce10a4585  libjava/classpath/gnu/java/io/PlatformHelper.java
! 50c96ad7b4da4a5017d93bad916d8256  libjava/classpath/gnu/java/io/class-dependencies.conf
! afa4892c0ed3ad81c97e57f887d8838e  libjava/classpath/gnu/java/io/package.html
! 33e50ea40cd93d738cc791a89c27c8e5  libjava/classpath/gnu/java/lang/ArrayHelper.java
! 92620f23d992c62aa3bb1194656f69c1  libjava/classpath/gnu/java/lang/CharData.java
! 41d4b28eb2b3e334c0f66528f337dd84  libjava/classpath/gnu/java/lang/ClassHelper.java
! c42686a76df7b83e8dfcf04f12e8918d  libjava/classpath/gnu/java/lang/MainThread.java
! d3c011a2cd07ed14e71cea46db9ae402  libjava/classpath/gnu/java/lang/package.html
! 87ee87d45afc864ac0318d754d6c97a5  libjava/classpath/gnu/java/lang/reflect/TypeSignature.java
! eb1193d8e049fac8b00f693358717f7f  libjava/classpath/gnu/java/lang/reflect/package.html
! 65a19aa3572c164ec6819bad35eac208  libjava/classpath/gnu/java/locale/LocaleHelper.java
! 6f5b3b3aaf766c74cfd3c27da98f459f  libjava/classpath/gnu/java/locale/package.html
! f849d13a83ff648ac3be2b336285b498  libjava/classpath/gnu/java/math/MPN.java
! 8185d59fa8262d8f15c33d1dd3b22d84  libjava/classpath/gnu/java/math/package.html
! ce3256f88ee20fbb88c97a957acb5edd  libjava/classpath/gnu/java/net/BASE64.java
! 18e1d24d16ef6825abe5812bf7ebf9f1  libjava/classpath/gnu/java/net/CRLFInputStream.java
! 74ae555092ef0cd022b4c561b62c40cf  libjava/classpath/gnu/java/net/CRLFOutputStream.java
! d398ec8375fef694b9bdcfc52e5e6993  libjava/classpath/gnu/java/net/EmptyX509TrustManager.java
! 570ebe4ae431e2e0f9d30c6ff03d4562  libjava/classpath/gnu/java/net/GetLocalHostAction.java
! 3a5ee0712679c21feaec1103fc1c7376  libjava/classpath/gnu/java/net/HeaderFieldHelper.java
! be0c76aefc57ea054154184a39e3a92c  libjava/classpath/gnu/java/net/LineInputStream.java
! ad9a845821c8d08b92ced80a19302789  libjava/classpath/gnu/java/net/PlainDatagramSocketImpl.java
! 492c6a0be9e9cfeb12a8319171412bc7  libjava/classpath/gnu/java/net/PlainSocketImpl.java
! c1704a1222888b2df9e0adfe7459ce74  libjava/classpath/gnu/java/net/URLParseError.java
! 4992f1d35047d3553fe635e408bf1848  libjava/classpath/gnu/java/net/package.html
! 72eec228f672e18f05f34f465d611bb0  libjava/classpath/gnu/java/net/protocol/file/Connection.java
! 54cac1fdc323393ec861c3e1d46e5db4  libjava/classpath/gnu/java/net/protocol/file/Handler.java
! d329eebf698d8101eead82eec2385fba  libjava/classpath/gnu/java/net/protocol/file/package.html
! 7894d03ed45e5bbe5dc1c0ce6bebfa3f  libjava/classpath/gnu/java/net/protocol/ftp/ActiveModeDTP.java
! 3a97e6d370578deeae9e571d8de07a6c  libjava/classpath/gnu/java/net/protocol/ftp/BlockInputStream.java
! 0ac4518d773516ce5801626265acafe4  libjava/classpath/gnu/java/net/protocol/ftp/BlockOutputStream.java
! ed7f49da2365c08f803abf6a4c1b2c3d  libjava/classpath/gnu/java/net/protocol/ftp/CompressedInputStream.java
! df3e2c37e6312d93dc7e14d416699e77  libjava/classpath/gnu/java/net/protocol/ftp/CompressedOutputStream.java
! 3d7f4991a4d54db5625751dd29b72736  libjava/classpath/gnu/java/net/protocol/ftp/DTP.java
! f988705921b4bb7c2ebae94c675b6ee2  libjava/classpath/gnu/java/net/protocol/ftp/DTPInputStream.java
! 079c8598449344becc505bde5ea25f67  libjava/classpath/gnu/java/net/protocol/ftp/DTPOutputStream.java
! 9e67846dfbcfff33a628292ed5dd28bb  libjava/classpath/gnu/java/net/protocol/ftp/FTPConnection.java
! 54ecc5b0224cb23a694814e29587b909  libjava/classpath/gnu/java/net/protocol/ftp/FTPException.java
! f1ceecb2521ea9cbfe751f0b44ebd770  libjava/classpath/gnu/java/net/protocol/ftp/FTPResponse.java
! c082b6879a762ecae411628b09d77ab0  libjava/classpath/gnu/java/net/protocol/ftp/FTPURLConnection.java
! 93ca47d1ab7565a3f1fdf83cd0238c3d  libjava/classpath/gnu/java/net/protocol/ftp/Handler.java
! 2109fd03e39e82fa2949b202dfb233b6  libjava/classpath/gnu/java/net/protocol/ftp/PassiveModeDTP.java
! ef0be1d3326449901307885ed128dd47  libjava/classpath/gnu/java/net/protocol/ftp/StreamInputStream.java
! 6ce9eedda3ae5235ea445b47fec93bfd  libjava/classpath/gnu/java/net/protocol/ftp/StreamOutputStream.java
! df6ac77433dca25ff4b557ac002db8b7  libjava/classpath/gnu/java/net/protocol/ftp/package.html
! e87f3637c02ef6c5ce46f26438220cb6  libjava/classpath/gnu/java/net/protocol/http/Authenticator.java
! 3497c21a0211035519f73088c0fc0d9b  libjava/classpath/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java
! d1b3637ac6a4315938fdd5e5cd1d4148  libjava/classpath/gnu/java/net/protocol/http/ChunkedInputStream.java
! ba1209c207a53b5207ad3ff9a4adb26e  libjava/classpath/gnu/java/net/protocol/http/Cookie.java
! ecab0e0f44ab73bc63a93bda34c12af8  libjava/classpath/gnu/java/net/protocol/http/CookieManager.java
! e6729da26027e82d7c725155369ad665  libjava/classpath/gnu/java/net/protocol/http/Credentials.java
! e2e33fba4c3af270d3d9cb7fba062599  libjava/classpath/gnu/java/net/protocol/http/HTTPConnection.java
! 2fe7fe8f919b607d677b6da735d4c36c  libjava/classpath/gnu/java/net/protocol/http/HTTPDateFormat.java
! 24a6c7c4cb175133c70393ef231f22ea  libjava/classpath/gnu/java/net/protocol/http/HTTPURLConnection.java
! b7db55d28a498e849b4eec01ffdb828b  libjava/classpath/gnu/java/net/protocol/http/Handler.java
! d770e203fbc0afc4d14ac7b348e5f93e  libjava/classpath/gnu/java/net/protocol/http/Headers.java
! dfb284ce4e4db93df7d7161ca6ddb983  libjava/classpath/gnu/java/net/protocol/http/LimitedLengthInputStream.java
! 07918097997d6ef80c602ab7e81c4bbd  libjava/classpath/gnu/java/net/protocol/http/Request.java
! eecc1e8b09a10797daa1ccd03d42b9e2  libjava/classpath/gnu/java/net/protocol/http/RequestBodyWriter.java
! 1834e916832ae76b57cabad0ca502777  libjava/classpath/gnu/java/net/protocol/http/Response.java
! d71d83c4227b454c6f667f6f8e214ff0  libjava/classpath/gnu/java/net/protocol/http/ResponseHeaderHandler.java
! dcda3fda1067deac5faedec7294610e4  libjava/classpath/gnu/java/net/protocol/http/SimpleCookieManager.java
! 70af22ea1664d0d947e80926215f3ffe  libjava/classpath/gnu/java/net/protocol/http/package.html
! 8c552cf01574064643d88d234f310984  libjava/classpath/gnu/java/net/protocol/https/Handler.java
! 41fdd373726e1fb75ee53344973dd49c  libjava/classpath/gnu/java/net/protocol/jar/Connection.java
! c4cb59ee33463c03dc5f6231c1deae97  libjava/classpath/gnu/java/net/protocol/jar/Handler.java
! 9f86a5b512b612b7372a75ce2c3d5eb3  libjava/classpath/gnu/java/net/protocol/jar/package.html
! 14b7ea5bcad2ac28781d6bb744607841  libjava/classpath/gnu/java/nio/ChannelInputStream.java
! c43d76eac7d62afdcdb71fe26c73bd78  libjava/classpath/gnu/java/nio/ChannelOutputStream.java
! 6f0aa2fadc3e9461d67d86bac69a769a  libjava/classpath/gnu/java/nio/ChannelReader.java
! 3cc19a7686271fe501e2f4fe16b66e7f  libjava/classpath/gnu/java/nio/DatagramChannelImpl.java
! 4c6ce8b84ba6faf46753a19928866ec0  libjava/classpath/gnu/java/nio/DatagramChannelSelectionKey.java
! b7ac4216880ea0c5222a1b0bbdd363af  libjava/classpath/gnu/java/nio/FileLockImpl.java
! f1187434a842873956904eaf814ef181  libjava/classpath/gnu/java/nio/InputStreamChannel.java
! 901194f7d39cc762c10bc3b45f157e36  libjava/classpath/gnu/java/nio/NIOConstants.java
! 0320218d9742f332a1c077dd2fdbd0c6  libjava/classpath/gnu/java/nio/NIODatagramSocket.java
! 3b27e9d5735ad2051e64c91d4a888201  libjava/classpath/gnu/java/nio/NIOServerSocket.java
! 88149703e6839f9b9b036e635b153cd6  libjava/classpath/gnu/java/nio/NIOSocket.java
! 53b11d8397caf69da0b0c5fa32ef1ac6  libjava/classpath/gnu/java/nio/OutputStreamChannel.java
! e63129e1c245cc3e46f992f0073a3873  libjava/classpath/gnu/java/nio/PipeImpl.java
! 0300a9a6e58484a83f59ad45b7062a38  libjava/classpath/gnu/java/nio/SelectionKeyImpl.java
! 0f66a19710d99c023026ad2c07c7e483  libjava/classpath/gnu/java/nio/SelectorImpl.java
! 6255b561e9642522631e4177be5e82ca  libjava/classpath/gnu/java/nio/SelectorProviderImpl.java
! fb9c8931f5b2cbfb4a373f974fbde70c  libjava/classpath/gnu/java/nio/ServerSocketChannelImpl.java
! c0b1af3429401be93f63d7ef16f6d3f9  libjava/classpath/gnu/java/nio/ServerSocketChannelSelectionKey.java
! 827f1b5a12c5d72fafa85b2d9851f676  libjava/classpath/gnu/java/nio/SocketChannelImpl.java
! c3b8ca28783e79275d3d2c7244f3706f  libjava/classpath/gnu/java/nio/SocketChannelSelectionKey.java
! 89fc59fe32800e7c8dc9f4c336869047  libjava/classpath/gnu/java/nio/channels/FileChannelImpl.java
! 2732a06ff4a33bb2622b56c0ac8ab674  libjava/classpath/gnu/java/nio/channels/package.html
! e9d263e1ef1b9f64d6df20f8987bac73  libjava/classpath/gnu/java/nio/charset/ByteCharset.java
! 3bbad057726e297376498a658f8904de  libjava/classpath/gnu/java/nio/charset/Cp424.java
! 03e2d5ba1965175740a6a2ec6163aba5  libjava/classpath/gnu/java/nio/charset/Cp437.java
! 9dedb9abc42b80bf466a40b4cbc074c6  libjava/classpath/gnu/java/nio/charset/Cp737.java
! 86dd38fbbf20cdcd4da66f451f905065  libjava/classpath/gnu/java/nio/charset/Cp775.java
! f7cccb0dae5e7a675b70b72105aae58a  libjava/classpath/gnu/java/nio/charset/Cp850.java
! dc94ccdc968d301e4668da559352a063  libjava/classpath/gnu/java/nio/charset/Cp852.java
! 3bde18f228a825fa9bd298285161a2dc  libjava/classpath/gnu/java/nio/charset/Cp855.java
! 7ed6e666d4abe11948de71a0f3a0b84b  libjava/classpath/gnu/java/nio/charset/Cp857.java
! 69cfdfbc0faec6cf36e33ba53539fbff  libjava/classpath/gnu/java/nio/charset/Cp860.java
! be5392b8f5a5e002f37e7b27b7be6bf4  libjava/classpath/gnu/java/nio/charset/Cp861.java
! 7c77ab1734f2eb1d270b0a7d1368ec1d  libjava/classpath/gnu/java/nio/charset/Cp862.java
! 41444979078a521dd9795503297fe165  libjava/classpath/gnu/java/nio/charset/Cp863.java
! a5e680c91604075dc1a053ca37b6814f  libjava/classpath/gnu/java/nio/charset/Cp864.java
! 6924c9c82738de39af9b317d45513aec  libjava/classpath/gnu/java/nio/charset/Cp865.java
! 3ac8d2ab47856a56803364591e95b17d  libjava/classpath/gnu/java/nio/charset/Cp866.java
! c2dd3cdbb4cbca86ce32cf918dd486df  libjava/classpath/gnu/java/nio/charset/Cp869.java
! 0242dcdd211b6d9967de9d803aa7e4c4  libjava/classpath/gnu/java/nio/charset/Cp874.java
! 4b7fffc12a865b65c6f764ca537031a5  libjava/classpath/gnu/java/nio/charset/EncodingHelper.java
! afc5f752f2921281948f23ab6ed23783  libjava/classpath/gnu/java/nio/charset/ISO_8859_1.java
! 143f899e6e5ca0bfe66463a38518495d  libjava/classpath/gnu/java/nio/charset/ISO_8859_13.java
! 57f167a60cae66814c0f55b43be51c01  libjava/classpath/gnu/java/nio/charset/ISO_8859_15.java
! 8f0df33d8df42be3b27c38558bee46a0  libjava/classpath/gnu/java/nio/charset/ISO_8859_2.java
! 5ea80e25c5a9f48acec1516f3b79d3ee  libjava/classpath/gnu/java/nio/charset/ISO_8859_3.java
! bbdba362ec5926ea6ffbfd4d47c6d24b  libjava/classpath/gnu/java/nio/charset/ISO_8859_4.java
! 4ee103ba6c2a256524ad965993106c6d  libjava/classpath/gnu/java/nio/charset/ISO_8859_5.java
! a6eec52dce1f2fa1ea213e27c87cad11  libjava/classpath/gnu/java/nio/charset/ISO_8859_6.java
! 93aa3991e2c372095aa977e94045470f  libjava/classpath/gnu/java/nio/charset/ISO_8859_7.java
! 23074adce49c25f9d7a2e9017074d5ec  libjava/classpath/gnu/java/nio/charset/ISO_8859_8.java
! a319adb453bbdf9f359bf5e90d40e145  libjava/classpath/gnu/java/nio/charset/ISO_8859_9.java
! 4b50bd67acb444c9090b90b86f9d1b09  libjava/classpath/gnu/java/nio/charset/KOI_8.java
! d16b495ccc84d7f14b44b170b36c152c  libjava/classpath/gnu/java/nio/charset/MS874.java
! 0e59d0e75c9c6bbafa7171322a6ff0ee  libjava/classpath/gnu/java/nio/charset/MacCentralEurope.java
! 34f808a52a9ea8ce1cc61241b0ecacd3  libjava/classpath/gnu/java/nio/charset/MacCroatian.java
! c0b23353500c1245b3d0f379683b103b  libjava/classpath/gnu/java/nio/charset/MacCyrillic.java
! 1a1888de56fda48d72c75b761a85b321  libjava/classpath/gnu/java/nio/charset/MacDingbat.java
! 6fe72aa2dd2cfb554e12cc658824fc9b  libjava/classpath/gnu/java/nio/charset/MacGreek.java
! c07e3b14d36299a1b676103753d99349  libjava/classpath/gnu/java/nio/charset/MacIceland.java
! 3edec252de5b04bb580f3f9055acff40  libjava/classpath/gnu/java/nio/charset/MacRoman.java
! acd522a772710c2c2a582a0596552bee  libjava/classpath/gnu/java/nio/charset/MacRomania.java
! 053ef974fd991f0ca8f3a8301ca48f65  libjava/classpath/gnu/java/nio/charset/MacSymbol.java
! 187da158b3a1bc8c98c9af9eabdb6342  libjava/classpath/gnu/java/nio/charset/MacThai.java
! 07f7a84c1bb782306ed6de6641e682d3  libjava/classpath/gnu/java/nio/charset/MacTurkish.java
! ce9554cfb91de85cfd32595d7787d81d  libjava/classpath/gnu/java/nio/charset/Provider.java
! 7d4caf2322da50fa614adc0d5ed72542  libjava/classpath/gnu/java/nio/charset/US_ASCII.java
! b9bf16a1bb46bf9e04977edd10708000  libjava/classpath/gnu/java/nio/charset/UTF_16.java
! a96ca3c262a123f8d6db6434c1424734  libjava/classpath/gnu/java/nio/charset/UTF_16BE.java
! ac07f43c769728a8f4eb66b3fdd434d3  libjava/classpath/gnu/java/nio/charset/UTF_16Decoder.java
! 993b44115099b3a68394c2847443045f  libjava/classpath/gnu/java/nio/charset/UTF_16Encoder.java
! bb99cfca7467997b5433dbab7b77afb2  libjava/classpath/gnu/java/nio/charset/UTF_16LE.java
! c481597e585fe4116f3c47cf62691c0a  libjava/classpath/gnu/java/nio/charset/UTF_8.java
! ef79d4491b87df900f4e9819304d377c  libjava/classpath/gnu/java/nio/charset/UnicodeLittle.java
! 37c4306a29a1480e7835db284c57f6ac  libjava/classpath/gnu/java/nio/charset/Windows1250.java
! 75260f0543e088255f80a83f5bf3b8b6  libjava/classpath/gnu/java/nio/charset/Windows1251.java
! d01c5731cded12513d3c02007cb76840  libjava/classpath/gnu/java/nio/charset/Windows1252.java
! cd764739d584cab06e48db0252e5e819  libjava/classpath/gnu/java/nio/charset/Windows1253.java
! 76e77e24a9125d27e88a744a8da165cc  libjava/classpath/gnu/java/nio/charset/Windows1254.java
! b95b10fd19eb0cc4b04918800ab70ac2  libjava/classpath/gnu/java/nio/charset/Windows1255.java
! b52b6040fdd8224e1e5193cc11e3545a  libjava/classpath/gnu/java/nio/charset/Windows1256.java
! 11aed5105d14fdc5f18c180ce4860149  libjava/classpath/gnu/java/nio/charset/Windows1257.java
! fe3c9eb5b05762ed18ebd7ad27d22746  libjava/classpath/gnu/java/nio/charset/Windows1258.java
! dc276444834519bbaa326263a5d03247  libjava/classpath/gnu/java/nio/charset/iconv/IconvCharset.java
! 4a97ef3a1b875cbab5d54e7e9af0f262  libjava/classpath/gnu/java/nio/charset/iconv/IconvDecoder.java
! 77803b0db7f61a0b588826878cae6128  libjava/classpath/gnu/java/nio/charset/iconv/IconvEncoder.java
! d7dbb9637064d00cd0d1fb7d660c7692  libjava/classpath/gnu/java/nio/charset/iconv/IconvMetaData.java
! 647e279bab0d7fb2010230f88df3e2a3  libjava/classpath/gnu/java/nio/charset/iconv/IconvProvider.java
! 804299a26aa6996958d974fc27f289de  libjava/classpath/gnu/java/nio/charset/package.html
! ed359b2765f59fb48d48e24da6189b0d  libjava/classpath/gnu/java/nio/package.html
! aa271fa42c265afa3754581c9af62be2  libjava/classpath/gnu/java/rmi/RMIMarshalledObjectInputStream.java
! c985f314f6ec378df3feb01a79e7147a  libjava/classpath/gnu/java/rmi/RMIMarshalledObjectOutputStream.java
! 8b7d4351b1b7e6361480253654734924  libjava/classpath/gnu/java/rmi/dgc/DGCImpl.java
! 3570f117f1cca027b64a79a07e0cb739  libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Skel.java
! ed1680c4dcf7a93b269a60a0ee0e8643  libjava/classpath/gnu/java/rmi/dgc/DGCImpl_Stub.java
! fa12c4fcacb3fa147ead2cde47a63290  libjava/classpath/gnu/java/rmi/dgc/package.html
! 628463e5efd1216488ad4320938e84f9  libjava/classpath/gnu/java/rmi/package.html
! 9127ffedb906834f1ab6d0bc17eff674  libjava/classpath/gnu/java/rmi/registry/RegistryImpl.java
! 57146752cb5e2ed5297e552e38ccbfe5  libjava/classpath/gnu/java/rmi/registry/RegistryImpl_Skel.java
! 44962b9314f70c5d9bcd2bece9d23717  libjava/classpath/gnu/java/rmi/registry/RegistryImpl_Stub.java
! 8527bcff2ebf8c8055492fce0ece4eb9  libjava/classpath/gnu/java/rmi/registry/package.html
! acb79590b4c6bcf1cc91063d8877aedd  libjava/classpath/gnu/java/rmi/server/ConnectionRunnerPool.java
! 33220ae4d35c5979aa32522eee44b14f  libjava/classpath/gnu/java/rmi/server/ProtocolConstants.java
! ae165923593d4da9b7544bc8dfa250da  libjava/classpath/gnu/java/rmi/server/RMIClassLoaderImpl.java
! 5f0f74433d380f71e8392d020c93d2b0  libjava/classpath/gnu/java/rmi/server/RMIDefaultSocketFactory.java
! c9c2100bc2deef4edbce09e73acc8c0e  libjava/classpath/gnu/java/rmi/server/RMIHashes.java
! d52bb69c637ee74fdb950dd72217d63a  libjava/classpath/gnu/java/rmi/server/RMIIncomingThread.java
! e36bed3aad2b03b5340b668f77d411b9  libjava/classpath/gnu/java/rmi/server/RMIObjectInputStream.java
! 42b9350ca0b90a1700e77677d0965737  libjava/classpath/gnu/java/rmi/server/RMIObjectOutputStream.java
! 9d578d58d4450d6285e9fe007a81b440  libjava/classpath/gnu/java/rmi/server/RMIVoidValue.java
! a61b7e2877c262ddfbde3dd607a5aaba  libjava/classpath/gnu/java/rmi/server/UnicastConnection.java
! 5a3c92104a1af13b05e9fcfc0208cc53  libjava/classpath/gnu/java/rmi/server/UnicastConnectionManager.java
! 09a84acbcb674dc88a70817387786a48  libjava/classpath/gnu/java/rmi/server/UnicastRef.java
! 98ae8e4580e7b1d95903063be03e1c14  libjava/classpath/gnu/java/rmi/server/UnicastRemoteCall.java
! e7598c0b85d330692d5a402add136205  libjava/classpath/gnu/java/rmi/server/UnicastRemoteStub.java
! 3bbd2fa423563811bbd6e4073837bb23  libjava/classpath/gnu/java/rmi/server/UnicastServer.java
! 458395e573048ee18ef973fef9faceec  libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
! 969e42043b90cd140763fe8a215566d3  libjava/classpath/gnu/java/rmi/server/package.html
! efd1800653941d0f37a0f81631f7d94b  libjava/classpath/gnu/java/security/Engine.java
! 3580d0f2a0137b44fc8d411d1e937f76  libjava/classpath/gnu/java/security/OID.java
! 04210617d3f29ad3c1b3f7b9652b2791  libjava/classpath/gnu/java/security/PolicyFile.java
! 278571cdee159cb5f021fad248d503ab  libjava/classpath/gnu/java/security/action/GetPropertyAction.java
! 2ea8809f9128c8a662549e314c94d82d  libjava/classpath/gnu/java/security/action/GetSecurityPropertyAction.java
! 709710e954f75ff525e56432e11fd508  libjava/classpath/gnu/java/security/action/SetAccessibleAction.java
! 0f9da52074de76980086a1b3420177d3  libjava/classpath/gnu/java/security/action/package.html
! adab1ebd61755014389ace24656d421d  libjava/classpath/gnu/java/security/ber/BER.java
! 380a3f702017c61d3e03dcd1d1534744  libjava/classpath/gnu/java/security/ber/BEREncodingException.java
! b161364f395d6f6588aa36889676cbcc  libjava/classpath/gnu/java/security/ber/BERReader.java
! 26d226e15b37a5f93e360352de6ef866  libjava/classpath/gnu/java/security/ber/BERValue.java
! db07476389039ca8d30e7e31e4e874f0  libjava/classpath/gnu/java/security/ber/package.html
! 2700c7f272779465eddf9873e09aaf0d  libjava/classpath/gnu/java/security/der/BitString.java
! 37ab1372d5212e1eb5864e66ccae8bcc  libjava/classpath/gnu/java/security/der/DER.java
! c530cb3dd22738c0f2f6aea70ddd1cf1  libjava/classpath/gnu/java/security/der/DEREncodingException.java
! c0f3ff20d57d8906184c12c427d482f2  libjava/classpath/gnu/java/security/der/DERReader.java
! 4a4245443375837f4d85620e84ba8cff  libjava/classpath/gnu/java/security/der/DERValue.java
! 683593aa0b8bc5a7d6f7d1e0f08f9a8f  libjava/classpath/gnu/java/security/der/DERWriter.java
! 6f0625fffa91ee47743a07e80bfe10c3  libjava/classpath/gnu/java/security/der/package.html
! e251621ec4034e19d3c9f564c7c0c1f9  libjava/classpath/gnu/java/security/package.html
! fb13115550bc0ead5abd0f67db9eec59  libjava/classpath/gnu/java/security/pkcs/PKCS7SignedData.java
! c43a8314a178ade96fb7333843ca0c6a  libjava/classpath/gnu/java/security/pkcs/SignerInfo.java
! c3c3f929a9494a215577f76495cc7243  libjava/classpath/gnu/java/security/pkcs/package.html
! 78f92d5895c604fee3b098d7d0035358  libjava/classpath/gnu/java/security/provider/CollectionCertStoreImpl.java
! 6669893a62bea6ac1b386a3c08c01df6  libjava/classpath/gnu/java/security/provider/DSAKeyFactory.java
! b8a8b92dac16876ced3b0bf91c0f11f3  libjava/classpath/gnu/java/security/provider/DSAKeyPairGenerator.java
! fca7f52ea6fd130b3ed6961571ceb389  libjava/classpath/gnu/java/security/provider/DSAParameterGenerator.java
! 1e590f3bab477b35a1b87f6190140a03  libjava/classpath/gnu/java/security/provider/DSAParameters.java
! 18a79632d6b77cf04bfec466dc1fd400  libjava/classpath/gnu/java/security/provider/DSASignature.java
! 3d140348bae170aa9dc4109f1e612e45  libjava/classpath/gnu/java/security/provider/DefaultPolicy.java
! 5a97137a2b0029b00810df638cf28123  libjava/classpath/gnu/java/security/provider/DiffieHellmanKeyFactoryImpl.java
! e5457653a1597e0ebd3c6ed9f4f2803f  libjava/classpath/gnu/java/security/provider/DiffieHellmanKeyPairGeneratorImpl.java
! b438e5375761a4009bf8ce88fe63ff59  libjava/classpath/gnu/java/security/provider/EncodedKeyFactory.java
! b23c10ef6b356006cad9c783b579972d  libjava/classpath/gnu/java/security/provider/Gnu.java
! 4eaa0f02ce3a8e970552f203172dd58d  libjava/classpath/gnu/java/security/provider/GnuDHPublicKey.java
! 1b177dfde422e042144d63e30fe97195  libjava/classpath/gnu/java/security/provider/GnuDSAPrivateKey.java
! 7afb8311011f4250ec4e59a513d62f67  libjava/classpath/gnu/java/security/provider/GnuDSAPublicKey.java
! 98e03165586d5f8fc0717f528e88caaa  libjava/classpath/gnu/java/security/provider/GnuRSAPrivateKey.java
! 5d0317889dba01043863b51a25c7a8bf  libjava/classpath/gnu/java/security/provider/GnuRSAPublicKey.java
! db9e309cd08fdc99661bfea4b010b3a0  libjava/classpath/gnu/java/security/provider/MD2withRSA.java
! ddfbb99fd964f2cbd2b778405817895a  libjava/classpath/gnu/java/security/provider/MD4withRSA.java
! 5fdfbf91e188f39e6f9802583b43cf10  libjava/classpath/gnu/java/security/provider/MD5.java
! ec5f421f69aeaeea7938e1f93afb5075  libjava/classpath/gnu/java/security/provider/MD5withRSA.java
! e24a66d3373bb2499b1d27ad76d7394d  libjava/classpath/gnu/java/security/provider/PKIXCertPathValidatorImpl.java
! 2ae124ce22f5b401999081b710373ce1  libjava/classpath/gnu/java/security/provider/RSA.java
! 902eb9eff0291612e962cda966612df0  libjava/classpath/gnu/java/security/provider/RSAKeyFactory.java
! 0e80855bf1c085fac48e5dea448bd95c  libjava/classpath/gnu/java/security/provider/SHA.java
! 1b965093dbda9f1fdf3c8f5396c9a9c9  libjava/classpath/gnu/java/security/provider/SHA1PRNG.java
! f6467d575160d715655b265abd2cebba  libjava/classpath/gnu/java/security/provider/SHA1withRSA.java
! 417ca5b68e81091497d0d288c45dc0df  libjava/classpath/gnu/java/security/provider/X509CertificateFactory.java
! 1c9045de26994b099ed404b15e7797ef  libjava/classpath/gnu/java/security/provider/package.html
! 28d313b611dc15a69c4c2e49c31466d4  libjava/classpath/gnu/java/security/util/Prime.java
! a293d5984d0659933497b93dd2644589  libjava/classpath/gnu/java/security/util/package.html
! 31bd2ee12e18ed5f488564a489417e62  libjava/classpath/gnu/java/security/x509/GnuPKIExtension.java
! 814ca639082b5db8cde00d6b05612922  libjava/classpath/gnu/java/security/x509/PolicyNodeImpl.java
! fcdeee0286cbd3b7ec6d99c1e9c0c340  libjava/classpath/gnu/java/security/x509/Util.java
! 5f347b9fc9ca820dd65f7cac369c30b1  libjava/classpath/gnu/java/security/x509/X500DistinguishedName.java
! ffc1facf95e5047242b07674bc542b89  libjava/classpath/gnu/java/security/x509/X509CRL.java
! 17fcf4336abaec75a2271a0c1529b284  libjava/classpath/gnu/java/security/x509/X509CRLEntry.java
! a6f72fff38de4062050c8e59fb471a34  libjava/classpath/gnu/java/security/x509/X509CRLSelectorImpl.java
! d7596611bd3da28dfa6939a04e0db2fe  libjava/classpath/gnu/java/security/x509/X509CertPath.java
! d6de6443051066abbb6993d62d1b66b7  libjava/classpath/gnu/java/security/x509/X509CertSelectorImpl.java
! 3d35fd6cad93318b01d1286e4a24aa94  libjava/classpath/gnu/java/security/x509/X509Certificate.java
! 21557f6ef8e6109a1cb3afbd62357dc8  libjava/classpath/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java
! 97ae65209e09680fa1d28f691912f8bc  libjava/classpath/gnu/java/security/x509/ext/BasicConstraints.java
! ed8493da612ea892c674d37cadbe30a7  libjava/classpath/gnu/java/security/x509/ext/CRLNumber.java
! 511c3e16f9f3d2c384aa45e7416b82c1  libjava/classpath/gnu/java/security/x509/ext/CertificatePolicies.java
! 2fd2fcb8330c7e5dff312b90d2c29e3b  libjava/classpath/gnu/java/security/x509/ext/ExtendedKeyUsage.java
! b046ac6fed8467bfdeca4d03a92c5b78  libjava/classpath/gnu/java/security/x509/ext/Extension.java
! 14d3a1b4fd7a4380be0bcadb20cd45dc  libjava/classpath/gnu/java/security/x509/ext/GeneralNames.java
! 56895c0e02f880fb7443db7e9aa32b5d  libjava/classpath/gnu/java/security/x509/ext/IssuerAlternativeNames.java
! 2b721e69c95bd0973d4661b6849f5c69  libjava/classpath/gnu/java/security/x509/ext/KeyUsage.java
! 90ab0b172da50e81029b0d3f66e77a05  libjava/classpath/gnu/java/security/x509/ext/PolicyConstraint.java
! 205a4d25dd85c97da3e79664f8c3f75a  libjava/classpath/gnu/java/security/x509/ext/PolicyMappings.java
! 60a3b6fd7157dcd87e704bbfc5155959  libjava/classpath/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java
! c7881362fc74ef79bf9b728c761842df  libjava/classpath/gnu/java/security/x509/ext/ReasonCode.java
! 3344ac09b4c530cc83f71ff7e44c00f7  libjava/classpath/gnu/java/security/x509/ext/SubjectAlternativeNames.java
! c8e81936e1d36e044f51349408c920e6  libjava/classpath/gnu/java/security/x509/ext/SubjectKeyIdentifier.java
! 6d10b558201bfc494342fc6b87c0fa51  libjava/classpath/gnu/java/security/x509/ext/package.html
! 40e92a2f8252b662794db750a98cc77a  libjava/classpath/gnu/java/security/x509/package.html
! 2835577cbe477d29b97bf18f8c21c478  libjava/classpath/gnu/java/text/AttributedFormatBuffer.java
! 2ffd479c01eecdbfdf211ec1b888cde9  libjava/classpath/gnu/java/text/BaseBreakIterator.java
! 5e06b20201b5b5985f2dcbd8e57477a0  libjava/classpath/gnu/java/text/CharacterBreakIterator.java
! be388a4d00da20d98e8e92a9a4befd7a  libjava/classpath/gnu/java/text/FormatBuffer.java
! ccab0c50fcd8fb2862e33098582c316b  libjava/classpath/gnu/java/text/FormatCharacterIterator.java
! 6dc791404a314e768ac5cd80e1f50a5c  libjava/classpath/gnu/java/text/LineBreakIterator.java
! d36524402a2eadfe145316e0285fcaea  libjava/classpath/gnu/java/text/SentenceBreakIterator.java
! 332150a946e542d8af288d44dc8a14e3  libjava/classpath/gnu/java/text/StringFormatBuffer.java
! 955fc0a7c0373e8ef5ded7442c75a08e  libjava/classpath/gnu/java/text/WordBreakIterator.java
! b6c926f0644210a2950be6b5595bc61f  libjava/classpath/gnu/java/text/package.html
! 22cf21531da5f1c46d662039176afee7  libjava/classpath/gnu/java/util/DoubleEnumeration.java
! 56e1a25d85d375f5fa1f39e234310250  libjava/classpath/gnu/java/util/EmptyEnumeration.java
! 3c90d8bb874e28a0878282ed743b4c04  libjava/classpath/gnu/java/util/package.html
! 29a1110b1cc3bc35b86f611c0443b108  libjava/classpath/gnu/java/util/prefs/FileBasedFactory.java
! c12ea968a4a59834965090d846641a56  libjava/classpath/gnu/java/util/prefs/MemoryBasedFactory.java
! 60544b94e7acdaf3360af5890fd13ccf  libjava/classpath/gnu/java/util/prefs/MemoryBasedPreferences.java
! 7e01c9d9e6ec1917cf8afeef20b28f44  libjava/classpath/gnu/java/util/prefs/NodeReader.java
! 29619c71e19317b7fdee9fa8f7c0bdd7  libjava/classpath/gnu/java/util/prefs/NodeWriter.java
! 2a3b3d7ef5404fc46d80ec00816e4bbe  libjava/classpath/gnu/java/util/prefs/package.html
! afc0668b58ddecb8b4c64e62780dfe88  libjava/classpath/gnu/javax/crypto/DiffieHellmanImpl.java
! 90dbae10219512918dceee71839ac62c  libjava/classpath/gnu/javax/crypto/GnuDHPrivateKey.java
! 36a019efba3e8ccb5e7b997a3ac1e2a8  libjava/classpath/gnu/javax/crypto/RSACipherImpl.java
! c756bb06852e33e436be294a941a42a0  libjava/classpath/gnu/javax/imageio/bmp/BMPDecoder.java
! f5473542893ef1fd40e6ab53916b39c6  libjava/classpath/gnu/javax/imageio/bmp/BMPException.java
! d2b89e0e600abd1fab272d72d73e250b  libjava/classpath/gnu/javax/imageio/bmp/BMPFileHeader.java
! 9128e66eb2b8cf7701fda8dba7ead7b3  libjava/classpath/gnu/javax/imageio/bmp/BMPImageReader.java
! e57fa41e713b4a80afff8d48ced561b7  libjava/classpath/gnu/javax/imageio/bmp/BMPImageReaderSpi.java
! 7b2cedc212fe57f761eb9ce6e80b13ac  libjava/classpath/gnu/javax/imageio/bmp/BMPInfoHeader.java
! 460020a4a6a10ec7c343453581f6a509  libjava/classpath/gnu/javax/imageio/bmp/DecodeBF16.java
! 3e038e52d796cbaab444c4e1814438c3  libjava/classpath/gnu/javax/imageio/bmp/DecodeBF32.java
! b89aec824651b54af06b422f168539db  libjava/classpath/gnu/javax/imageio/bmp/DecodeRGB1.java
! 8abf86b9897aed48693272aac8ddfd30  libjava/classpath/gnu/javax/imageio/bmp/DecodeRGB24.java
! 040153435eaae2a2f156b1b5a7f197b1  libjava/classpath/gnu/javax/imageio/bmp/DecodeRGB4.java
! 22dc0352fc8538c39e5a1b44828b3936  libjava/classpath/gnu/javax/imageio/bmp/DecodeRGB8.java
! d9e8a2ab925220a2dcaa2e9ddbdd8426  libjava/classpath/gnu/javax/imageio/bmp/DecodeRLE4.java
! e6e1afa9095b5919ac078f5063ddc0a9  libjava/classpath/gnu/javax/imageio/bmp/DecodeRLE8.java
! 3cea470dc404b87aaa2681b77f07b703  libjava/classpath/gnu/javax/rmi/CORBA/CorbaInput.java
! 2a13fcf47f3a51e79b7f15c0322ba1d0  libjava/classpath/gnu/javax/rmi/CORBA/CorbaOutput.java
! c5e4617ea17a8820a922b7b93ab92d9b  libjava/classpath/gnu/javax/rmi/CORBA/DefaultWriteObjectTester.java
! 11583386532df489e704ff602d741ae9  libjava/classpath/gnu/javax/rmi/CORBA/DelegateFactory.java
! f5ed80a0eed92e772ae3969b3f173c4d  libjava/classpath/gnu/javax/rmi/CORBA/GetDelegateInstanceException.java
! 2c94557058caeee396e142f5d635910c  libjava/classpath/gnu/javax/rmi/CORBA/PortableRemoteObjectDelegateImpl.java
! d7947e5ba1e1bbe970be2af0fa31902d  libjava/classpath/gnu/javax/rmi/CORBA/RmiUtilities.java
! 612f3e484924788a4855abe3fe38624d  libjava/classpath/gnu/javax/rmi/CORBA/StubDelegateImpl.java
! 34e140a9967f4f19d024555ee6ca3fec  libjava/classpath/gnu/javax/rmi/CORBA/TieTargetRecord.java
! 0aaae146c28155e16c9c15fdf9569dd3  libjava/classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java
! e1b98960d2a347e165b7e4840e811ae9  libjava/classpath/gnu/javax/rmi/CORBA/ValueHandlerDelegateImpl.java
! e7d392eb64d5b9a84acbff4df17727f2  libjava/classpath/gnu/javax/sound/midi/alsa/AlsaInputPortDevice.java
! 38ab1774672ac5307b4a07df25be0152  libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiDeviceProvider.java
! eaf1feb0ce021be073c9fb253980b872  libjava/classpath/gnu/javax/sound/midi/alsa/AlsaMidiSequencerDevice.java
! dcd346f5dbd0e1ff80af3541bd67c663  libjava/classpath/gnu/javax/sound/midi/alsa/AlsaOutputPortDevice.java
! ab41caedc3312ff876146cb2190ac8e9  libjava/classpath/gnu/javax/sound/midi/alsa/AlsaPortDevice.java
! 24089c3e0c461156fb173673c6f0779b  libjava/classpath/gnu/javax/sound/midi/dssi/DSSIMidiDeviceProvider.java
! 790b81d58e0c9e04750752b9595187a0  libjava/classpath/gnu/javax/sound/midi/dssi/DSSISynthesizer.java
! bba239dd656209e009e2afb8011e3d97  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/Error.png
! 3b0276e7aa06813b136baaeff0c605d2  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/Inform.png
! fb083498e3c8c8d5fb97cfb1401f40e8  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/JavaCup.png
! 75221617774d93cc9ad66aeb5301e27b  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/JavaCupLarge.png
! 3b0276e7aa06813b136baaeff0c605d2  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/Question.png
! ac5c54c718848096b3f9d470ab2ecfe9  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/README
! 17211a2c9554d782794f466d5e58db2b  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/TreeClosed.png
! 6ccf32101c4c651ea914d94fa6832454  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/TreeLeaf-normal.png
! 74756613e930b194d5fc7fcec4e91a76  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/TreeLeaf.png
! 1cbff739630b1002b02b3f2198898d89  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/TreeOpen.png
! bba239dd656209e009e2afb8011e3d97  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/Warn.png
! f7a04d46c75585a40270e90603de94b9  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/file-folders.png
! ae1fd3d9991940ff1e957c35a1bd5fe5  libjava/classpath/gnu/javax/swing/plaf/gtk/icons/slider.png
! 3c230f134528254b31fcc4347b198674  libjava/classpath/gnu/javax/swing/text/html/package.html
! 4a29da681b2e2af05716647bed24186d  libjava/classpath/gnu/javax/swing/text/html/parser/HTML_401F.java
! 12f2791a6082a94b632fd256560fabae  libjava/classpath/gnu/javax/swing/text/html/parser/gnuDTD.java
! a04a9003c3944ac87fa997706dbd0b08  libjava/classpath/gnu/javax/swing/text/html/parser/htmlAttributeSet.java
! 1aee4912f7d850523e3d57baad8fb6cc  libjava/classpath/gnu/javax/swing/text/html/parser/htmlValidator.java
! 0f536651cca82c98d845962bfbb5586d  libjava/classpath/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java
! 361e9090500540f33cce1ce23b72ed5b  libjava/classpath/gnu/javax/swing/text/html/parser/models/TableRowContentModel.java
! 9bfad700101f2025b7d9ef90a7b2ac34  libjava/classpath/gnu/javax/swing/text/html/parser/models/list.java
! aa6e90efb89bdc7c30dfd192936e2155  libjava/classpath/gnu/javax/swing/text/html/parser/models/noTagModel.java
! 0c63df756e8c200c5c4ac60d3899b6a9  libjava/classpath/gnu/javax/swing/text/html/parser/models/node.java
! 0b560f266b7ffc15c7ecf40d0ae51b06  libjava/classpath/gnu/javax/swing/text/html/parser/models/package.html
! b4095c7e309c2c1c8f372d302b9c43a3  libjava/classpath/gnu/javax/swing/text/html/parser/models/transformer.java
! 6e83404de2a9a0e070a999416efe81cb  libjava/classpath/gnu/javax/swing/text/html/parser/package.html
! 65557512a5dbda60b3afe8cf8cf4a253  libjava/classpath/gnu/javax/swing/text/html/parser/support/Parser.java
! b688e14adcf7193cfcbc599f75e65ef1  libjava/classpath/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java
! a36cee38bf0f951e0bda3e3e11937e3c  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Buffer.java
! 1ed23519d62e9ad95e6c7ce735b7bda0  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java
! 0b6c5f21dc9c3fe550bd07bb9a295215  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Location.java
! a8061241cd616e8cb0d1e6d7c4ef5ebe  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/ParseException.java
! 8e0fde30bf48a70a4d7602b05d821710  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Queue.java
! 3f79da599278c98d57ac98e0a8651205  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java
! bea5305ac7444033efff31ce09e4fdfb  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/Token.java
! c4d95f8cb62dae1f26dc0f9d995f4ed2  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/node.java
! 0c6571cfc23fd75a4d3fc6cd3616a3a6  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/package.html
! 0d3a070aa173197834bd653461ef1516  libjava/classpath/gnu/javax/swing/text/html/parser/support/low/pattern.java
! eab6a5b97be8aa5d58908211c01cfcb0  libjava/classpath/gnu/javax/swing/text/html/parser/support/package.html
! c74773e7a53d56bc3ea4985f3d07b511  libjava/classpath/gnu/javax/swing/text/html/parser/support/parameterDefaulter.java
! ff0834e83879ded0ec28ee035a014619  libjava/classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java
! e4cf871e46268313b23f395d5bf1c9b3  libjava/classpath/gnu/regexp/CharIndexed.java
! 642f60d38668c759cf9facfff53f3873  libjava/classpath/gnu/regexp/CharIndexedCharArray.java
! 6732d936d2e63aa3cc72b96fb1c9defe  libjava/classpath/gnu/regexp/CharIndexedInputStream.java
! 229f69a8ddea11eb805e5edd45d54cc5  libjava/classpath/gnu/regexp/CharIndexedString.java
! 8c05b4d35db58e448a19ca69fce234c6  libjava/classpath/gnu/regexp/CharIndexedStringBuffer.java
! e504433f9b93ab0681bdf76276b0049d  libjava/classpath/gnu/regexp/RE.java
! bbaee76212de1c5df26a9299615a4091  libjava/classpath/gnu/regexp/REException.java
! bfac3afecd1e1f63e2d53ae4b8777b5a  libjava/classpath/gnu/regexp/REFilterInputStream.java
! 5fe40c3e83bfcd02514da5072ce472bf  libjava/classpath/gnu/regexp/REMatch.java
! c2fcf2e92fb98e7e40d68f96651c4cc0  libjava/classpath/gnu/regexp/REMatchEnumeration.java
! 41d5a914da3201cc6704d976ebce3306  libjava/classpath/gnu/regexp/RESyntax.java
! a528fb805e935e00c7f98083962c613b  libjava/classpath/gnu/regexp/REToken.java
! ade340689bbbafbcc79731e1702ec216  libjava/classpath/gnu/regexp/RETokenAny.java
! b81b9d66176d6e1faeaa1e4244cd9391  libjava/classpath/gnu/regexp/RETokenBackRef.java
! 4d0859b6cb560800201d748e9d6092d1  libjava/classpath/gnu/regexp/RETokenChar.java
! 479965258097421c0316fc6dadeec030  libjava/classpath/gnu/regexp/RETokenEnd.java
! a64a31b3943d4229aed260be6569fa77  libjava/classpath/gnu/regexp/RETokenEndSub.java
! c47c6a9c22e5cf1130be582c18011c16  libjava/classpath/gnu/regexp/RETokenIndependent.java
! c70e3e5d392a3a3c01b00c7ab667da31  libjava/classpath/gnu/regexp/RETokenLookAhead.java
! 8432a9faf99daf9afe6b2e19164e5f4e  libjava/classpath/gnu/regexp/RETokenLookBehind.java
! 88aa28f13d0bb2dc012737818c97f316  libjava/classpath/gnu/regexp/RETokenNamedProperty.java
! 2bdffaeaf6f04280e53dc3beb5158db3  libjava/classpath/gnu/regexp/RETokenOneOf.java
! 2005ac850272741cedcc6d9a235ed08c  libjava/classpath/gnu/regexp/RETokenPOSIX.java
! 1358da35a16f4d05362030257ecd14d7  libjava/classpath/gnu/regexp/RETokenRange.java
! 7f6d3e528e9ac2be1a5adcace344ee25  libjava/classpath/gnu/regexp/RETokenRepeated.java
! a8af7491fdcad2a8a9add5cbbb560362  libjava/classpath/gnu/regexp/RETokenStart.java
! eb6ba6614ace9758e5ae7ea3d61367b4  libjava/classpath/gnu/regexp/RETokenWordBoundary.java
! 1bfdd1a6767afafa97d14c93c236a084  libjava/classpath/gnu/regexp/UncheckedRE.java
! b508bca77e451baa54be0c3eab0c367c  libjava/classpath/gnu/test/Fail.java
! 850543fcb40e1da76f3a007c15e24f22  libjava/classpath/gnu/test/Makefile.am
! 8f443c3c67279d1215c006cfeef6fca3  libjava/classpath/gnu/test/Pass.java
! ff88b2f8c53e406fa395c1cbf1ea16a3  libjava/classpath/gnu/test/Result.java
! 776ffc70d5b5349ef264fbe864a3d9b0  libjava/classpath/gnu/test/Test.java
! 88dcf3dce9d56786e16070c56dd607fb  libjava/classpath/gnu/test/Unresolved.java
! c79e8bb7992c1e2a3e29f3bc08a8b457  libjava/classpath/gnu/test/Unsupported.java
! 1f113f97aa5f74dddada051311a9397a  libjava/classpath/gnu/test/Untested.java
! 517e23f4e7c84169f8d388c22889cc83  libjava/classpath/gnu/test/XFail.java
! 166de0425806f89acc7dcc758147894c  libjava/classpath/gnu/test/XPass.java
! a4b69f9ca985f4930b89e855f0090f47  libjava/classpath/gnu/xml/aelfred2/ContentHandler2.java
! 8ccf8795dcd581063a6c8ea7e7e65480  libjava/classpath/gnu/xml/aelfred2/JAXPFactory.java
! cfa341ad7fc63854166d5483fbdb02a9  libjava/classpath/gnu/xml/aelfred2/SAXDriver.java
! 4dab909b85777344ee7158a836af2291  libjava/classpath/gnu/xml/aelfred2/XmlParser.java
! 76fd6c449dac91f02d1806de8a12a7e2  libjava/classpath/gnu/xml/aelfred2/XmlReader.java
! 94a1396750c1ce521fd28f5bffe3d4bf  libjava/classpath/gnu/xml/aelfred2/package.html
! 8c938df6bb0da552d0c987422b0aabfe  libjava/classpath/gnu/xml/dom/Consumer.java
! 72d47a4f103b90440391145071f4e000  libjava/classpath/gnu/xml/dom/DTDAttributeTypeInfo.java
! ccdc9e1b66c21c2a8cc28be7c2a46887  libjava/classpath/gnu/xml/dom/DTDElementTypeInfo.java
! f381bff3835255bd1976e3828ee5d2af  libjava/classpath/gnu/xml/dom/DomAttr.java
! 4d9dbf2422ca3051d8a10c122c7bcfa9  libjava/classpath/gnu/xml/dom/DomCDATASection.java
! 3217c7cbe0e85ea664157cb9c9e49467  libjava/classpath/gnu/xml/dom/DomCharacterData.java
! d4726a64d1cc08fa8044fbc9ba3a74e1  libjava/classpath/gnu/xml/dom/DomComment.java
! 1c686ec1e18af3c204e4ca895a8191d4  libjava/classpath/gnu/xml/dom/DomDOMException.java
! ae9b2b0cf47d143da1a9d0e24b42afa4  libjava/classpath/gnu/xml/dom/DomDoctype.java
! b48a5741eb7f3f395cb089ffb4165891  libjava/classpath/gnu/xml/dom/DomDocument.java
! 8ff34ba66fecb1736ce1ad54617c0193  libjava/classpath/gnu/xml/dom/DomDocumentBuilder.java
! 8861ae32f52d5a19206ec8acbf3630a8  libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java
! 4def236c7bfa1cbc592a2fe9d1deb6f8  libjava/classpath/gnu/xml/dom/DomDocumentConfiguration.java
! 1615a9c8cd1d2ae583278e1d5f2ed113  libjava/classpath/gnu/xml/dom/DomDocumentFragment.java
! 7d69a57c9d4a033ad241b44aeafa4ee1  libjava/classpath/gnu/xml/dom/DomElement.java
! b9360c2550f844ee841afa776098a488  libjava/classpath/gnu/xml/dom/DomEntity.java
! b8f9442177dbc44186a843fee100ea3b  libjava/classpath/gnu/xml/dom/DomEntityReference.java
! 7fd1dbc8c6056a4b03accc0de35bb304  libjava/classpath/gnu/xml/dom/DomEvent.java
! baee871fd8d18e2647740f555773d740  libjava/classpath/gnu/xml/dom/DomExtern.java
! d032023bfae59f7004447a02985f11e7  libjava/classpath/gnu/xml/dom/DomImpl.java
! 90b6a483ec523fa5d08f31205af8e3df  libjava/classpath/gnu/xml/dom/DomIterator.java
! 3f0a3871f006c9ad1d44787298efc8a6  libjava/classpath/gnu/xml/dom/DomNSResolverContext.java
! 0ecfb89f1472e6a49421b06508ed6b70  libjava/classpath/gnu/xml/dom/DomNamedNodeMap.java
! 4742904804805b5632743b62dff1fbf0  libjava/classpath/gnu/xml/dom/DomNode.java
! e51216d547500d5a77effbbef003078b  libjava/classpath/gnu/xml/dom/DomNodeIterator.java
! 0145b3e75f22c190ab36c4036addf7d4  libjava/classpath/gnu/xml/dom/DomNotation.java
! 892dde97052a4912a07b12fd08e92c69  libjava/classpath/gnu/xml/dom/DomNsNode.java
! c5ca7166b329b7ae9df376ec3d62b589  libjava/classpath/gnu/xml/dom/DomProcessingInstruction.java
! 43140559491b1558c040de9ba4d6dbd1  libjava/classpath/gnu/xml/dom/DomText.java
! e25c23eac54344752061c544683861c6  libjava/classpath/gnu/xml/dom/DomXPathExpression.java
! 52cb4a8f29b3487e53e05d606309373e  libjava/classpath/gnu/xml/dom/DomXPathNSResolver.java
! 20a8b33d496753143eadf88d6e1ba633  libjava/classpath/gnu/xml/dom/DomXPathResult.java
! 82b6f4b2dffa9f56eb64f187f71a1b9e  libjava/classpath/gnu/xml/dom/ImplementationList.java
! 731571e2dd356b1b66aa542ec053043c  libjava/classpath/gnu/xml/dom/ImplementationSource.java
! ec434e346ae2d8b24b0d559d5f0afec0  libjava/classpath/gnu/xml/dom/JAXPFactory.java
! 4bf637a469ef668270996220fba01556  libjava/classpath/gnu/xml/dom/html2/DomHTMLAnchorElement.java
! f1185f7f6f293ede623927478651bd06  libjava/classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java
! 2091abae049bc728f20aa2e57accc935  libjava/classpath/gnu/xml/dom/html2/DomHTMLAreaElement.java
! 77973c0eb7373efa6efd7bcca0dc0f10  libjava/classpath/gnu/xml/dom/html2/DomHTMLBRElement.java
! 01bc2d17ca94a23a7ef48ddca727c82d  libjava/classpath/gnu/xml/dom/html2/DomHTMLBaseElement.java
! 99ee10f85f29098714cc34337970d9d3  libjava/classpath/gnu/xml/dom/html2/DomHTMLBaseFontElement.java
! 83405620fbafbf3cd0c59daf27fffc49  libjava/classpath/gnu/xml/dom/html2/DomHTMLBodyElement.java
! c91e5646f46cbe9174434c1190ab94c8  libjava/classpath/gnu/xml/dom/html2/DomHTMLButtonElement.java
! e52591030c8c2b4e0c8f24f238cb1425  libjava/classpath/gnu/xml/dom/html2/DomHTMLCollection.java
! ff93a763ec7ce41111ed2b51e00c42aa  libjava/classpath/gnu/xml/dom/html2/DomHTMLDListElement.java
! 072a4c36ea3cfc9bccba8109b0587fba  libjava/classpath/gnu/xml/dom/html2/DomHTMLDirectoryElement.java
! 365566f5efa25b9bca0e37a0b93d1484  libjava/classpath/gnu/xml/dom/html2/DomHTMLDivElement.java
! 5fb15a0bd75c73083f67094806c12261  libjava/classpath/gnu/xml/dom/html2/DomHTMLDocument.java
! a7522662e208fff5b8a30e40458e3ad8  libjava/classpath/gnu/xml/dom/html2/DomHTMLElement.java
! bfbdff13c6a55db1eead9c3af772d17b  libjava/classpath/gnu/xml/dom/html2/DomHTMLFieldSetElement.java
! ec9596f69a43822249b1f484c593dfd4  libjava/classpath/gnu/xml/dom/html2/DomHTMLFontElement.java
! ed429891811ded105a2e210f28e8ca6a  libjava/classpath/gnu/xml/dom/html2/DomHTMLFormElement.java
! 4cd26de7ec627142a4e2211c18b56efd  libjava/classpath/gnu/xml/dom/html2/DomHTMLFrameElement.java
! 110a8f22456e797b1ebd3f3d595dc831  libjava/classpath/gnu/xml/dom/html2/DomHTMLFrameSetElement.java
! 5cf1e905407bdb8b6653603c8682639d  libjava/classpath/gnu/xml/dom/html2/DomHTMLHRElement.java
! f2d951f1ad239d7b301a186b40768531  libjava/classpath/gnu/xml/dom/html2/DomHTMLHeadElement.java
! fb1ea75980ae41158c195859512f098e  libjava/classpath/gnu/xml/dom/html2/DomHTMLHeadingElement.java
! 0929aee44b1953de461a33bc39a0371f  libjava/classpath/gnu/xml/dom/html2/DomHTMLHtmlElement.java
! 7b9cddc4054277e792971e0bf1076ddb  libjava/classpath/gnu/xml/dom/html2/DomHTMLIFrameElement.java
! bd0a15c6e58505584b54affd3344da4b  libjava/classpath/gnu/xml/dom/html2/DomHTMLImageElement.java
! 09672bdc3919d125dbcddd3917fb889a  libjava/classpath/gnu/xml/dom/html2/DomHTMLImpl.java
! 2d742db090cc39b1a2f8fc9426646789  libjava/classpath/gnu/xml/dom/html2/DomHTMLInputElement.java
! def212b55f0b2b0c55cff5be14f1f5c6  libjava/classpath/gnu/xml/dom/html2/DomHTMLIsIndexElement.java
! 80d70d087e77463a3d793833ff7b5b3a  libjava/classpath/gnu/xml/dom/html2/DomHTMLLIElement.java
! f8fdf79231ce0410ff4157b11ab18432  libjava/classpath/gnu/xml/dom/html2/DomHTMLLabelElement.java
! 99c04e17695765a050f07a7ffd28b105  libjava/classpath/gnu/xml/dom/html2/DomHTMLLegendElement.java
! b0cb06fc87e523357aa1c3a378390f37  libjava/classpath/gnu/xml/dom/html2/DomHTMLLinkElement.java
! 0fd9cfe1a1aca263a06c1aa58efa20f5  libjava/classpath/gnu/xml/dom/html2/DomHTMLMapElement.java
! 199050e38af6e7288d0b5b3056aab82f  libjava/classpath/gnu/xml/dom/html2/DomHTMLMenuElement.java
! 2b70ea5230f6071686f92d061466e2f1  libjava/classpath/gnu/xml/dom/html2/DomHTMLMetaElement.java
! 2ef738ebdcf7d4f41f8a101e8382ca51  libjava/classpath/gnu/xml/dom/html2/DomHTMLModElement.java
! 421877c6f2f75dc4490a358a795e26fa  libjava/classpath/gnu/xml/dom/html2/DomHTMLOListElement.java
! 324b2cb53c64e54c437ea5c9a518fdf3  libjava/classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java
! 5931fab86a44a8a85e75b67123310b61  libjava/classpath/gnu/xml/dom/html2/DomHTMLOptGroupElement.java
! c8463f2f3a08e7d0b1da82abaf59403e  libjava/classpath/gnu/xml/dom/html2/DomHTMLOptionElement.java
! bb5f13e9303089ad4fe5ff87f4ee5203  libjava/classpath/gnu/xml/dom/html2/DomHTMLParagraphElement.java
! ddba0a4f064c0154f1edb32fd290262e  libjava/classpath/gnu/xml/dom/html2/DomHTMLParamElement.java
! 89d9865de96974f477dd426de26ec1d7  libjava/classpath/gnu/xml/dom/html2/DomHTMLParser.java
! 5e050a5ec14fe401c9bff6f9ca024f79  libjava/classpath/gnu/xml/dom/html2/DomHTMLPreElement.java
! f6ae6de58d3c11f93c0b920fd62d151c  libjava/classpath/gnu/xml/dom/html2/DomHTMLQuoteElement.java
! b49ff9d186e561c220860be3652b7f7c  libjava/classpath/gnu/xml/dom/html2/DomHTMLScriptElement.java
! ad21caea5bf9a58e670af9ef406c7aef  libjava/classpath/gnu/xml/dom/html2/DomHTMLSelectElement.java
! e86223d55faa94f568588260687a4a10  libjava/classpath/gnu/xml/dom/html2/DomHTMLStyleElement.java
! 6b8f46615744aa818fa4fdda6966d5f1  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableCaptionElement.java
! d84144e4ccec776c3f6361f781ff3aac  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableCellElement.java
! d9860b0ff73b139453cc676201a886e7  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableColElement.java
! cf439a470b9b6bf8db490ce689293427  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableElement.java
! 8465940d75120bbc60b90bd91b879f97  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableRowElement.java
! 991825d0a5a8f353a6e4c452badf5235  libjava/classpath/gnu/xml/dom/html2/DomHTMLTableSectionElement.java
! bed871f9c8fcdd0d3c7a10537bdcb2da  libjava/classpath/gnu/xml/dom/html2/DomHTMLTextAreaElement.java
! 282c6090feea3804f8277a3ac1e23e51  libjava/classpath/gnu/xml/dom/html2/DomHTMLTitleElement.java
! 1c3ccefa66c535f3f93a7b08d16fa393  libjava/classpath/gnu/xml/dom/html2/DomHTMLUListElement.java
! c668870f1321214c1a39ba5b6b2923e2  libjava/classpath/gnu/xml/dom/ls/DomLSException.java
! 428a94d7c5c9ad03e66af31af19f95ea  libjava/classpath/gnu/xml/dom/ls/DomLSInput.java
! d3fd9b5b7d3c8f60461984eb9871d43f  libjava/classpath/gnu/xml/dom/ls/DomLSOutput.java
! aae09c56758b59ecb8e31f3f15330070  libjava/classpath/gnu/xml/dom/ls/DomLSParser.java
! f0c9578b14b745f1376dc6dd47f171f9  libjava/classpath/gnu/xml/dom/ls/DomLSSerializer.java
! 949a9359c1c0c1d934f9c573d9ab98fb  libjava/classpath/gnu/xml/dom/ls/FilteredSAXEventSink.java
! 8b81620fd21593679c3f9430de6caa97  libjava/classpath/gnu/xml/dom/ls/ReaderInputStream.java
! b4c6392b92f876c4dd2924147b3a4c93  libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java
! 57f8470d833b7249dadf926ff241f93d  libjava/classpath/gnu/xml/dom/ls/WriterOutputStream.java
! 5c03dc00ba2cedc9601869693be9a0b0  libjava/classpath/gnu/xml/dom/package.html
! 73cc05d9256be4a26dacff2f083286f8  libjava/classpath/gnu/xml/libxmlj/dom/GnomeAttr.java
! 0a331775425440985414942d90dceb00  libjava/classpath/gnu/xml/libxmlj/dom/GnomeCDATASection.java
! 56e7290f64754503e942f8a95eecb0ca  libjava/classpath/gnu/xml/libxmlj/dom/GnomeCharacterData.java
! 8995990188097ecb1f118844b7579c29  libjava/classpath/gnu/xml/libxmlj/dom/GnomeComment.java
! cb20d0fc81af279a800cb8dae2c44bf4  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDOMException.java
! 5113fc4683b396c37bc263c259acb684  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDOMStringList.java
! 2fd8cee6b543b98b4c215b4e4c2a58f2  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDocument.java
! 0f868b0e56be050faa33f616c3266ff7  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDocumentBuilder.java
! 0c6c19eaa6774b941cb1c2f7f10b890d  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDocumentBuilderFactory.java
! 4413a8513918735a3b1bbcff79424ff6  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDocumentFragment.java
! 04242424332debc19cd2811a18e83c21  libjava/classpath/gnu/xml/libxmlj/dom/GnomeDocumentType.java
! 0b4bb00665ff67036911556418eedb61  libjava/classpath/gnu/xml/libxmlj/dom/GnomeElement.java
! ba8fb5fb23458acba162db3ec7fdb005  libjava/classpath/gnu/xml/libxmlj/dom/GnomeEntity.java
! 626a7d1801b722126c4f1b749f70dcd7  libjava/classpath/gnu/xml/libxmlj/dom/GnomeEntityReference.java
! 7e5e01f1f97ab936080138cdf882b7da  libjava/classpath/gnu/xml/libxmlj/dom/GnomeNamedNodeMap.java
! 9c602355bb6ad3f77569100d6e89a6b4  libjava/classpath/gnu/xml/libxmlj/dom/GnomeNode.java
! 2d8491a6d4e40e2a4397ff12935b2afc  libjava/classpath/gnu/xml/libxmlj/dom/GnomeNodeList.java
! 81e433183c8357a8a0e67f8613f82bbf  libjava/classpath/gnu/xml/libxmlj/dom/GnomeNotation.java
! 840d65220782df3cd8880802eb1efb52  libjava/classpath/gnu/xml/libxmlj/dom/GnomeProcessingInstruction.java
! 6ca1e91e776ac35e498cd55bbc6ede6f  libjava/classpath/gnu/xml/libxmlj/dom/GnomeText.java
! 773424f128ba66182e3cbf51717d7b19  libjava/classpath/gnu/xml/libxmlj/dom/GnomeTypeInfo.java
! e6de312c7401955fd4c1988713bf3217  libjava/classpath/gnu/xml/libxmlj/dom/GnomeXPathExpression.java
! b95f2c156f8994280d9e1b9372b940c0  libjava/classpath/gnu/xml/libxmlj/dom/GnomeXPathNSResolver.java
! 750912b199a8453a1de0b57747cbb7fa  libjava/classpath/gnu/xml/libxmlj/dom/GnomeXPathNodeList.java
! e0ca5995f884399aa5ed2e24ed3c332c  libjava/classpath/gnu/xml/libxmlj/dom/GnomeXPathResult.java
! 07a0a8502fdc8569f86e06459988d5d8  libjava/classpath/gnu/xml/libxmlj/sax/GnomeLocator.java
! 5b3494b58e700f36dbb9abf25902eaa4  libjava/classpath/gnu/xml/libxmlj/sax/GnomeSAXParser.java
! db1ce73e410d4ab21f454fa76d8a3670  libjava/classpath/gnu/xml/libxmlj/sax/GnomeSAXParserFactory.java
! 3930316c9b2d4b872b5d871fc5bddade  libjava/classpath/gnu/xml/libxmlj/sax/GnomeXMLReader.java
! be44de2be2279ca0dc6942246f45abb4  libjava/classpath/gnu/xml/libxmlj/sax/Namespaces.java
! ea0558cf8dd460364cf2cf48fd0cc7d7  libjava/classpath/gnu/xml/libxmlj/sax/StringArrayAttributes.java
! b6f137db574ae1f6a18a19118fe840e8  libjava/classpath/gnu/xml/libxmlj/sax/XMLName.java
! 6ff086ed8ffce216f14f83e0eb4b6bc0  libjava/classpath/gnu/xml/libxmlj/transform/ErrorListenerErrorHandler.java
! 16f77884d265e88fb7a929c9a3f060fc  libjava/classpath/gnu/xml/libxmlj/transform/GnomeTransformer.java
! ec7a647167f81ad12209c870c11c6309  libjava/classpath/gnu/xml/libxmlj/transform/GnomeTransformerFactory.java
! 5c369a49ced6c252298f5bf5d917958f  libjava/classpath/gnu/xml/libxmlj/transform/URIResolverEntityResolver.java
! 766f0a6a4ee1855207a84032670bb2d7  libjava/classpath/gnu/xml/libxmlj/transform/package.html
! 7cf4aa17a96a3fa2f9fed28210ba0d0c  libjava/classpath/gnu/xml/libxmlj/util/EmptyNodeList.java
! 520758f4e8c4f13b56c3fb11b35041eb  libjava/classpath/gnu/xml/libxmlj/util/NamedInputStream.java
! 1b9319f41c3857a46fe8ef26d62d0bb7  libjava/classpath/gnu/xml/libxmlj/util/StandaloneDocumentType.java
! 4b47984567afba7b0b5be581d58debd2  libjava/classpath/gnu/xml/libxmlj/util/StandaloneLocator.java
! d992a168fd43a22b9b88faeebc005173  libjava/classpath/gnu/xml/libxmlj/util/XMLJ.java
! 6acbb67278179136a42e41024fa34df9  libjava/classpath/gnu/xml/pipeline/CallFilter.java
! 6314aa65524a2a3ba8d023f5d83f1419  libjava/classpath/gnu/xml/pipeline/DomConsumer.java
! b825cf7afd2a2e993ababdb8c17499c1  libjava/classpath/gnu/xml/pipeline/EventConsumer.java
! 6b2a20826680a7d16a1b82bd584be9a0  libjava/classpath/gnu/xml/pipeline/EventFilter.java
! 5e0401951b84dfa9f23d54f14afd8801  libjava/classpath/gnu/xml/pipeline/LinkFilter.java
! 56a9ce2ce5a609164ac7b15df1ab94e1  libjava/classpath/gnu/xml/pipeline/NSFilter.java
! 2c0b57020a62b45fec48739904420218  libjava/classpath/gnu/xml/pipeline/PipelineFactory.java
! 97ea71131da88b53c17d4c6c6530dd4f  libjava/classpath/gnu/xml/pipeline/TeeConsumer.java
! db93be260c3bdb09e9281b2ac45e2095  libjava/classpath/gnu/xml/pipeline/TextConsumer.java
! 3d559376a77aaf6b450e8998fdae4e5e  libjava/classpath/gnu/xml/pipeline/ValidationConsumer.java
! 3b3d2b0296828b09494191564ec3f2ff  libjava/classpath/gnu/xml/pipeline/WellFormednessFilter.java
! 92f8af4b3cfddadfba732bc3c143b243  libjava/classpath/gnu/xml/pipeline/XIncludeFilter.java
! e1d1c9e715ff0891da0316d17638d3cf  libjava/classpath/gnu/xml/pipeline/XsltFilter.java
! f2e7803342b30192fea843661fbe92d6  libjava/classpath/gnu/xml/pipeline/package.html
! 735d8433ade6ab0a65ab547c4648e100  libjava/classpath/gnu/xml/stream/AttributeImpl.java
! 38c33ace88a79555220adcec0e6160a5  libjava/classpath/gnu/xml/stream/CharactersImpl.java
! 00598bf102bef2ce5638c1ef320a9708  libjava/classpath/gnu/xml/stream/CommentImpl.java
! 03eaff5e74dca4e616790b6c74516bd4  libjava/classpath/gnu/xml/stream/DTDImpl.java
! 1096578090f90527c94dc2d3d5544746  libjava/classpath/gnu/xml/stream/EndDocumentImpl.java
! e9617c73a3ffff1064d0c16eefaa7d1c  libjava/classpath/gnu/xml/stream/EndElementImpl.java
! 5d989e050c5f99296ba7b9a086d866a5  libjava/classpath/gnu/xml/stream/EndEntityImpl.java
! 76bcf1dc717a6856a2df34e756ca3799  libjava/classpath/gnu/xml/stream/EntityDeclarationImpl.java
! 2d8fe5cfa73b40bb3bfeec2bab2fc3bd  libjava/classpath/gnu/xml/stream/EntityReferenceImpl.java
! df090e0c431d033a04fc316a3aa20156  libjava/classpath/gnu/xml/stream/FilteredEventReader.java
! 3f441bc730e645e25e727873c1c09853  libjava/classpath/gnu/xml/stream/FilteredStreamReader.java
! dc392000fe0aa0084e3767e0860a1fb8  libjava/classpath/gnu/xml/stream/LocationImpl.java
! b39c53d8b9e28abe2313957901cdd9d4  libjava/classpath/gnu/xml/stream/NamespaceImpl.java
! a17f3e5f72032f20b98dd5a68bfe3810  libjava/classpath/gnu/xml/stream/NotationDeclarationImpl.java
! c6f6123538bd00eda65cff66f5ba44c0  libjava/classpath/gnu/xml/stream/ProcessingInstructionImpl.java
! 107dd89db71636d7553e33f638468acb  libjava/classpath/gnu/xml/stream/StartDocumentImpl.java
! 56cff1e22ea5249384e998c4f8c40d85  libjava/classpath/gnu/xml/stream/StartElementImpl.java
! 89bd0afdd7d6cf2beb7faba241646869  libjava/classpath/gnu/xml/stream/StartEntityImpl.java
! 24d45889d1e5352cb7abf5f23cbeaa0c  libjava/classpath/gnu/xml/stream/XMLEventAllocatorImpl.java
! a43385cce8636e20d56892cfc071342f  libjava/classpath/gnu/xml/stream/XMLEventFactoryImpl.java
! f136900ec2340f3da85cb25d6b39c058  libjava/classpath/gnu/xml/stream/XMLEventImpl.java
! cd595b5902079a8113d75d6718c20308  libjava/classpath/gnu/xml/stream/XMLEventReaderImpl.java
! 50ca428aef7034fe923cbe3675888aed  libjava/classpath/gnu/xml/stream/XMLEventWriterImpl.java
! 6f4a25acccd790016404a395597de2f0  libjava/classpath/gnu/xml/stream/XMLInputFactoryImpl.java
! cb8dd5caa31bf403798e783901375b9b  libjava/classpath/gnu/xml/stream/XMLOutputFactoryImpl.java
! a5a94bdff3f632573bb7e50b7a679c20  libjava/classpath/gnu/xml/stream/XMLStreamReaderImpl.java
! cf189b6b6eb6d2d70b3e1b3908e5c716  libjava/classpath/gnu/xml/stream/XMLStreamWriterImpl.java
! 61e205582fbf33281461e7aae86c8883  libjava/classpath/gnu/xml/transform/AbstractNumberNode.java
! adbbda592178f4229258acdfa1980f9c  libjava/classpath/gnu/xml/transform/ApplyImportsNode.java
! cffa5833429633158b4a0d1400e640e4  libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java
! 2ab9b139726c4ed6f7da245c0f492b0e  libjava/classpath/gnu/xml/transform/AttributeNode.java
! cca105fbe412c8afd4232252ad18db71  libjava/classpath/gnu/xml/transform/AttributeSet.java
! 617a325a78e665f9b66651fa7fc7ab20  libjava/classpath/gnu/xml/transform/Bindings.java
! 7e3ed6eb61e7b4a0da2e93b85e2bde6f  libjava/classpath/gnu/xml/transform/CallTemplateNode.java
! a153a3571afcdb101e7a261eb5dedfbf  libjava/classpath/gnu/xml/transform/ChooseNode.java
! f1857813055227452960d7b79829301b  libjava/classpath/gnu/xml/transform/CommentNode.java
! c992632b837c092ddb3056c38faf023a  libjava/classpath/gnu/xml/transform/CopyNode.java
! 38b73d92e29ea6953942eba0bc22d19a  libjava/classpath/gnu/xml/transform/CopyOfNode.java
! 4a0b916c6b15f8b45700ad9e083497fd  libjava/classpath/gnu/xml/transform/CurrentFunction.java
! 021aba92a3b3a84d91e060bd96a4812d  libjava/classpath/gnu/xml/transform/DOMSourceLocator.java
! 4747ed08afed2ffc81e76e39abc25e89  libjava/classpath/gnu/xml/transform/DocumentFunction.java
! 363ae174087da5f9b0cff906da79668d  libjava/classpath/gnu/xml/transform/ElementAvailableFunction.java
! 69fad114b113f35f7fc390484224e88a  libjava/classpath/gnu/xml/transform/ElementNode.java
! 8dc7f25d9bd8e2f5521b32b0e791ac5d  libjava/classpath/gnu/xml/transform/ErrorListenerErrorHandler.java
! 180c08dd3b4784a4c60f51825d9b2cf9  libjava/classpath/gnu/xml/transform/ForEachNode.java
! 5e43b6dee92e1c4312b284e87313c3e4  libjava/classpath/gnu/xml/transform/FormatNumberFunction.java
! 557054e82e89c8c2569bfa5aa629d5bf  libjava/classpath/gnu/xml/transform/FunctionAvailableFunction.java
! fd75534ddd27cb1249a97a4f71d1bf6c  libjava/classpath/gnu/xml/transform/GenerateIdFunction.java
! d75623cf8ad706459ab12be0bea416b3  libjava/classpath/gnu/xml/transform/IfNode.java
! 18e56b5fa7335592d8cd40237f9010c4  libjava/classpath/gnu/xml/transform/Key.java
! 020d159bc3698ec70ca9d2d273c8ba3b  libjava/classpath/gnu/xml/transform/KeyFunction.java
! 610e9af11dd2524e664f23fb30c33178  libjava/classpath/gnu/xml/transform/LiteralNode.java
! 62baceca81a1351035afa567620d6c72  libjava/classpath/gnu/xml/transform/MessageNode.java
! e32dfdc08e0bb9dcf3ab44d41d6f4f5d  libjava/classpath/gnu/xml/transform/NodeNumberNode.java
! f6661fe700599ccc375b97972dd58d1e  libjava/classpath/gnu/xml/transform/NumberNode.java
! 1b39dd3c86faa8c26dbffbcd5cf8e663  libjava/classpath/gnu/xml/transform/OtherwiseNode.java
! 6a65d98226f9a0d0cdea1ae0af4063a9  libjava/classpath/gnu/xml/transform/ParameterNode.java
! 314ed551763a642039c9c390fec347d8  libjava/classpath/gnu/xml/transform/ProcessingInstructionNode.java
! bff2c7087659476d4c4b4ef283917220  libjava/classpath/gnu/xml/transform/SAXSerializer.java
! 6ddacf8336f2a4b68ce3a0224b866213  libjava/classpath/gnu/xml/transform/SortKey.java
! 2a56338f217c1eb805d7aec56403b102  libjava/classpath/gnu/xml/transform/StreamSerializer.java
! a32b941b7b0db8bae1a2859ef5b02c9d  libjava/classpath/gnu/xml/transform/Stylesheet.java
! 572fee128677d1b4d5d702eca6bb47f1  libjava/classpath/gnu/xml/transform/SystemPropertyFunction.java
! f0e592d710f5cc174b58ad9fcc5303bf  libjava/classpath/gnu/xml/transform/Template.java
! 84a7cc001625450972209448e19d4a15  libjava/classpath/gnu/xml/transform/TemplateNode.java
! 270d6191ba0f9edf2f30e83b870cf153  libjava/classpath/gnu/xml/transform/TemplatesImpl.java
! 1a9c9363056f688211dfd619ca707d07  libjava/classpath/gnu/xml/transform/TextNode.java
! 18b66617cb4c925b83abb343b705178c  libjava/classpath/gnu/xml/transform/TransformerFactoryImpl.java
! 9d040bbd6c9ce2cb8c54c94a592a54a8  libjava/classpath/gnu/xml/transform/TransformerImpl.java
! 6e18b502b98f3593949296ae1d279d53  libjava/classpath/gnu/xml/transform/TransformerOutputProperties.java
! e8ffefcb5d4b68d41fece72e693fbe81  libjava/classpath/gnu/xml/transform/URIResolverEntityResolver.java
! 58b8456190a2a8cc7ae5c27becefaaa5  libjava/classpath/gnu/xml/transform/UnparsedEntityUriFunction.java
! 871d17e0cbe91bdb7bc1aca1958211e3  libjava/classpath/gnu/xml/transform/ValueOfNode.java
! dc8039518f74008c212ecb4f95893bc7  libjava/classpath/gnu/xml/transform/WhenNode.java
! c172b36e3ff7483789146a4b22bc0e7f  libjava/classpath/gnu/xml/transform/WithParam.java
! 76bc5ac4eb5271591f2cf811f518763e  libjava/classpath/gnu/xml/transform/XSLComparator.java
! d84136692858c236fd1415e657966391  libjava/classpath/gnu/xml/transform/XSLURIResolver.java
! a5f7457b48f962fd02f2f51b9c655c3b  libjava/classpath/gnu/xml/transform/package.html
! 68a90b20266115fb6e2f8f7e371e0a13  libjava/classpath/gnu/xml/util/DoParse.java
! 632bbf7874e12cfc54da4c340ab08c5b  libjava/classpath/gnu/xml/util/DomParser.java
! 4d2fe6ab192dc213e3712012b6f547be  libjava/classpath/gnu/xml/util/Resolver.java
! 11c7281f77fe7d696668b1f76febab8e  libjava/classpath/gnu/xml/util/SAXNullTransformerFactory.java
! 94b0ae7b5635c885a09364074f47d29e  libjava/classpath/gnu/xml/util/XCat.java
! c277b373299fcebfaf39160b260ccb15  libjava/classpath/gnu/xml/util/XHTMLWriter.java
! 23c312abde6f7146321ba5377c637f03  libjava/classpath/gnu/xml/util/XMLWriter.java
! df1890cb981553493160f2d55e0bd5d4  libjava/classpath/gnu/xml/util/package.html
! 3a1fb5c3d995e3070f21851db4709532  libjava/classpath/gnu/xml/xpath/AndExpr.java
! 825bd2e6abc1918d0585d0528db87b45  libjava/classpath/gnu/xml/xpath/ArithmeticExpr.java
! ee82850a9b36458de288aa187d5d9e3f  libjava/classpath/gnu/xml/xpath/BooleanFunction.java
! 936a3b53b3cd1b58a8bfd29228d01bf0  libjava/classpath/gnu/xml/xpath/CeilingFunction.java
! 7f11abc02c1fbc6fa6237439754d241a  libjava/classpath/gnu/xml/xpath/ConcatFunction.java
! 9153f477f552f72826c9a5b36dedd2d9  libjava/classpath/gnu/xml/xpath/Constant.java
! ec90384d04dde3233611a2e500faa6d9  libjava/classpath/gnu/xml/xpath/ContainsFunction.java
! d770747485ebdda9fcf246d3757bf374  libjava/classpath/gnu/xml/xpath/CountFunction.java
! 544497aa7338132f993f4cf1793b6bae  libjava/classpath/gnu/xml/xpath/DocumentOrderComparator.java
! 2dec0503ff7bd46ed591b06a3ba0fd33  libjava/classpath/gnu/xml/xpath/EqualityExpr.java
! 926811f4f97188775be2aa9827af05fc  libjava/classpath/gnu/xml/xpath/Expr.java
! c0e574bac167a56722b041e1e6ff1d4b  libjava/classpath/gnu/xml/xpath/FalseFunction.java
! 29c128fcd1c6531994ab1b984106ecea  libjava/classpath/gnu/xml/xpath/FloorFunction.java
! fb2bd03f8a1c59d607c20cb44a75d969  libjava/classpath/gnu/xml/xpath/Function.java
! ade442f4cbc5a5d0498284b61b7ff367  libjava/classpath/gnu/xml/xpath/FunctionCall.java
! 17b9a1ec875212cbacda884a7829724d  libjava/classpath/gnu/xml/xpath/IdFunction.java
! 2fddb3eda436c89f2fe9caeabc92cc0f  libjava/classpath/gnu/xml/xpath/LangFunction.java
! 67daa0b941b36c93ba462abfcbd99e02  libjava/classpath/gnu/xml/xpath/LastFunction.java
! b8b738df192610a254330b3d2fcf811e  libjava/classpath/gnu/xml/xpath/LocalNameFunction.java
! 88b7f071555ff0165313eadddaf503d9  libjava/classpath/gnu/xml/xpath/NameFunction.java
! 2f336e9714f71885c2615e15101ef205  libjava/classpath/gnu/xml/xpath/NameTest.java
! bf8684630df57f010e6c7767b36ee2ce  libjava/classpath/gnu/xml/xpath/NamespaceTest.java
! f45a7b8e9e92d0c51383c722a086e672  libjava/classpath/gnu/xml/xpath/NamespaceUriFunction.java
! a90a7e1760fd5a566aa6e5bde04c7124  libjava/classpath/gnu/xml/xpath/NegativeExpr.java
! f9e52f7f53e160751c071e87743adfac  libjava/classpath/gnu/xml/xpath/NodeTypeTest.java
! bddce049127940c5462b50427b36827f  libjava/classpath/gnu/xml/xpath/NormalizeSpaceFunction.java
! d74b4064f8a76b3d6f63582a2a6d0e3c  libjava/classpath/gnu/xml/xpath/NotFunction.java
! 9b8fe7539a7dc84e78e7aaee5eb1cb50  libjava/classpath/gnu/xml/xpath/NumberFunction.java
! de46af718e4bcac53d3299e8d1d0b2a2  libjava/classpath/gnu/xml/xpath/OrExpr.java
! 59bd9792210bc3f11222b6d244a7e40d  libjava/classpath/gnu/xml/xpath/ParenthesizedExpr.java
! f12ac48a6f6e344bc57212c62b6714d0  libjava/classpath/gnu/xml/xpath/Path.java
! edc411dfa7a19f2f60af9c61456e30a5  libjava/classpath/gnu/xml/xpath/Pattern.java
! 13b3614f7bf4ccf0ea802fe686c06bf4  libjava/classpath/gnu/xml/xpath/PositionFunction.java
! b95cb7a5eaa395e8ee041096049fb3ed  libjava/classpath/gnu/xml/xpath/Predicate.java
! dbdae4358c02f32460d90f2827618136  libjava/classpath/gnu/xml/xpath/RelationalExpr.java
! 149700cf61305e122023767a35751bc4  libjava/classpath/gnu/xml/xpath/Root.java
! 02b8b2afa506c3f16d9b7ecf235d7198  libjava/classpath/gnu/xml/xpath/RoundFunction.java
! ab498a709ec273348a4907d22e895d7a  libjava/classpath/gnu/xml/xpath/Selector.java
! b95aa1d470eb36b91c410c2046063f26  libjava/classpath/gnu/xml/xpath/StartsWithFunction.java
! a505aa338ee1b8cd0331f741bfdce565  libjava/classpath/gnu/xml/xpath/Steps.java
! c3f32ab61a7194ff46f0679ff9bda740  libjava/classpath/gnu/xml/xpath/StringFunction.java
! 59ede2f6b636ddf61442cf01a2b5dce2  libjava/classpath/gnu/xml/xpath/StringLengthFunction.java
! 68746d737c35e08ae4bb06732535b0ee  libjava/classpath/gnu/xml/xpath/SubstringAfterFunction.java
! aef8fbebe9832803bbcf28589fc95e87  libjava/classpath/gnu/xml/xpath/SubstringBeforeFunction.java
! 5f9edbb3287845879baaa1eaa9f53247  libjava/classpath/gnu/xml/xpath/SubstringFunction.java
! f76874c7593e7a921e469d25ca450f6b  libjava/classpath/gnu/xml/xpath/SumFunction.java
! 6e0a537cfedbe33a7cd706958fbc7b30  libjava/classpath/gnu/xml/xpath/Test.java
! 75ec85e07efeb10ce1344f726b2f2676  libjava/classpath/gnu/xml/xpath/TranslateFunction.java
! 80ec999ad7e07e94bf90c795c6ba40d4  libjava/classpath/gnu/xml/xpath/TrueFunction.java
! b8168e7b316671b06510f931e1da0e51  libjava/classpath/gnu/xml/xpath/UnionExpr.java
! 8a56c3a3b3cb6148cc51e76dc8027a1e  libjava/classpath/gnu/xml/xpath/VariableReference.java
! 8138b1ae630baef3a417f46d5a72bb89  libjava/classpath/gnu/xml/xpath/XPathFactoryImpl.java
! 4b338a4a8365cf784b5dc54ff2fa327c  libjava/classpath/gnu/xml/xpath/XPathImpl.java
! 78ce52ba1490c7b12fb5637f61409765  libjava/classpath/gnu/xml/xpath/XPathParser.java
! a90d245c62b4487ae51d6a927be0ecbc  libjava/classpath/gnu/xml/xpath/XPathParser.y
! 78254bb02f682f1f8d87ba5d384a1e7c  libjava/classpath/gnu/xml/xpath/XPathTokenizer.java
! 49a45bb701724c09c9b788366286d77c  libjava/classpath/include/Makefile.am
! 7edc188e1f43ad063bf68a77246ce174  libjava/classpath/include/Makefile.in
! 48c88fb64db53dcd43bfc007d92e4141  libjava/classpath/include/config.h.in
! f21e36f16e9b073e88e6c74695c6bd6a  libjava/classpath/include/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.h
! 3fa983de7e4eedbd9122dc178adf03c5  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkFontPeer.h
! 4c59ed3e764da4c17882f90a02408a13  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphics.h
! 58601512c42cd1b36a66204a8e2beedf  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphics2D.h
! 4e08bc4eed6a767dec91265148cf90e9  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.h
! 78029c147456289354c50a305054dd6c  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkPixbufDecoder.h
! 94354106be55886437b6ec3894923e5a  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkRobotPeer.h
! ddd4f756ae83ad7ecc67c7ef8a5eb0bf  libjava/classpath/include/gnu_java_awt_peer_gtk_GdkTextLayout.h
! c32c3c41dfea940d60d1d410961caedf  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkButtonPeer.h
! 74462f37b418537995afea4583c8f4cb  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkCanvasPeer.h
! 0fbbf37bb6cf994c04e8d7d5e758cdbf  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.h
! e264159d9608c024f7da0bd77e7adace  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.h
! eb2b209c9a52a37e6d724e0b9e8c8857  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkCheckboxPeer.h
! dd638ca5d4e6c4b1c54439983f8b2fdf  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkChoicePeer.h
! 24f2e6d69c5a8db26d89c177fdd95f1b  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkClipboard.h
! 76aee7306cca4ada4c7f02dfe2f8a33f  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkComponentPeer.h
! 27d5f5e2dd4eb2246283410e5a313e64  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.h
! 10daeabeab8ec41ed3bc4fd3cd902e8b  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFileDialogPeer.h
! bf9d095544c5d82b1e55e712ee8af911  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkFramePeer.h
! 890a675b79e848f422cfa163b2db1c9a  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkGenericPeer.h
! 00801eb36ce5a958a74ddc5ff048de7b  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkImage.h
! bd018cf84902ccb17d0001d324fbd708  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkLabelPeer.h
! 616a2fc1e4a6266be22e2f45f0d1c656  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkListPeer.h
! d6022ddd72756e3bf2973a3e4aa137af  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkMenuBarPeer.h
! cfda2ca5d2d08b1ef7e40e0e85ca6f34  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.h
! a26620da6e1b79fde566325305ac8f3b  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkMenuItemPeer.h
! 78d5c8b9fa3bbe1b3d396c70295a7ce8  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkMenuPeer.h
! 32b6f5a9ae9a3f8e2f81343a2375bea3  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkPanelPeer.h
! 42fe1a9925850032a8c351065b785ec6  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.h
! c09d060cd4e3b6de6a357c7af0894511  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkScrollPanePeer.h
! 8aaf3565c29e112bbc55c45f2f033849  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkScrollbarPeer.h
! b70f552412a9dcec3a1ba405e19bacbb  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkSelection.h
! c26d2fd139117638400af3c83fd91fa1  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkTextAreaPeer.h
! 2884550177a87ad3ec4c33457b509523  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkTextFieldPeer.h
! bdcda7a348bcb12dd6bb8a3a6c4b2f1f  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkToolkit.h
! 5f69522dd8da3784cb1676ca1c5dfc0a  libjava/classpath/include/gnu_java_awt_peer_gtk_GtkWindowPeer.h
! 214a43fa3b8190faad321129d7866eca  libjava/classpath/include/gnu_java_awt_peer_qt_MainQtThread.h
! b10fcf3222c70ed56342c0d2bb0c211b  libjava/classpath/include/gnu_java_awt_peer_qt_QMatrix.h
! 4d469d89f7606a58eee7ec20241963bd  libjava/classpath/include/gnu_java_awt_peer_qt_QPainterPath.h
! bdbdf5dfd60dc6d0e170ff139993a7bc  libjava/classpath/include/gnu_java_awt_peer_qt_QPen.h
! 59a1866c1534a43f644a3a6267bbed6e  libjava/classpath/include/gnu_java_awt_peer_qt_QtAudioClip.h
! 168f0c9376d8423f1c552141f7ac50ae  libjava/classpath/include/gnu_java_awt_peer_qt_QtButtonPeer.h
! 5e388941fda07620e56e08a63fbafb0c  libjava/classpath/include/gnu_java_awt_peer_qt_QtCanvasPeer.h
! 52057fb47c1b45abe73f38d9f1d79f50  libjava/classpath/include/gnu_java_awt_peer_qt_QtCheckboxPeer.h
! f64eef81cba292d9e8831fad77353c4d  libjava/classpath/include/gnu_java_awt_peer_qt_QtChoicePeer.h
! 474e2e67a345c3fb0ac92165aa86bfd0  libjava/classpath/include/gnu_java_awt_peer_qt_QtComponentPeer.h
! bb8dc1bd3915c2103f77b317f272cb8b  libjava/classpath/include/gnu_java_awt_peer_qt_QtContainerPeer.h
! 2a2d33937b11cd1aa7bf26e402265bb8  libjava/classpath/include/gnu_java_awt_peer_qt_QtDialogPeer.h
! 353f7b8821144c56ac805512c9489340  libjava/classpath/include/gnu_java_awt_peer_qt_QtEmbeddedWindowPeer.h
! e3413bed35c043fc81d9f300cdb7293f  libjava/classpath/include/gnu_java_awt_peer_qt_QtFileDialogPeer.h
! 7215a16241c3a61c91691631d41d705c  libjava/classpath/include/gnu_java_awt_peer_qt_QtFontMetrics.h
! fb27d51eb95db2436e084ae73bb47056  libjava/classpath/include/gnu_java_awt_peer_qt_QtFontPeer.h
! 893382129cbf9d3d8cc52d10b815fcac  libjava/classpath/include/gnu_java_awt_peer_qt_QtFramePeer.h
! 1682600043d4bbf988b0275459c447e6  libjava/classpath/include/gnu_java_awt_peer_qt_QtGraphics.h
! fc098255346e93bb29872edcf61b675d  libjava/classpath/include/gnu_java_awt_peer_qt_QtGraphicsEnvironment.h
! e9267f740dcc1074367a70ee449611a8  libjava/classpath/include/gnu_java_awt_peer_qt_QtImage.h
! 4c3a85d5782ed45959862a907f9cc904  libjava/classpath/include/gnu_java_awt_peer_qt_QtLabelPeer.h
! ac985f1160d6c2080c7a7bcf29ebd1c4  libjava/classpath/include/gnu_java_awt_peer_qt_QtListPeer.h
! cd67c4d5f22b7bc5c49684705fbe820c  libjava/classpath/include/gnu_java_awt_peer_qt_QtMenuBarPeer.h
! 0556bf42f528f219908fbae022f563b9  libjava/classpath/include/gnu_java_awt_peer_qt_QtMenuComponentPeer.h
! b7154e63fb784c95e6c15edeb8193e7a  libjava/classpath/include/gnu_java_awt_peer_qt_QtMenuItemPeer.h
! 2d8f072c40b73382a4467192105f9e4c  libjava/classpath/include/gnu_java_awt_peer_qt_QtMenuPeer.h
! 9087441f53bf07e3344e80cbad95492a  libjava/classpath/include/gnu_java_awt_peer_qt_QtPanelPeer.h
! ac34abaa45e6dee3ef1bc1a72896d393  libjava/classpath/include/gnu_java_awt_peer_qt_QtPopupMenuPeer.h
! f21cc7d1f7023a2a3c2f435750ff6fa4  libjava/classpath/include/gnu_java_awt_peer_qt_QtScreenDevice.h
! 55ef7c8efd06938ab97e3f14580a2267  libjava/classpath/include/gnu_java_awt_peer_qt_QtScrollPanePeer.h
! 5ce4ad0491ec574c5d38f93d39de4659  libjava/classpath/include/gnu_java_awt_peer_qt_QtScrollbarPeer.h
! 8ac60a18ee9ad13ce0f3225ed5a93c24  libjava/classpath/include/gnu_java_awt_peer_qt_QtTextAreaPeer.h
! 5ebbbe0dea8cd53a422bae0a1ffeda9d  libjava/classpath/include/gnu_java_awt_peer_qt_QtTextFieldPeer.h
! 4de744fef12d3cf9b5f5467c0c893c17  libjava/classpath/include/gnu_java_awt_peer_qt_QtToolkit.h
! 8c8dfaeb98442e56465369c56b4e5687  libjava/classpath/include/gnu_java_awt_peer_qt_QtVolatileImage.h
! 6a6bb583f811f3ad54cd1381c98f7c2e  libjava/classpath/include/gnu_java_awt_peer_qt_QtWindowPeer.h
! 18c0d62205fd883117c7b64709cf755d  libjava/classpath/include/gnu_java_net_PlainDatagramSocketImpl.h
! 2181f4087e53f14720952509f9e66206  libjava/classpath/include/gnu_java_net_PlainSocketImpl.h
! 7004909f4b9fac56fffcd69a03f9b3be  libjava/classpath/include/gnu_java_nio_VMPipe.h
! 5975bda1afa72f38fc91e1ecc4e3fd1f  libjava/classpath/include/gnu_java_nio_VMSelector.h
! 95ff17d6eac0a14f39ee614a20755fef  libjava/classpath/include/gnu_java_nio_channels_FileChannelImpl.h
! 7ff8e9cf6549f6726aee2b297d43aea2  libjava/classpath/include/gnu_java_nio_charset_iconv_IconvDecoder.h
! ae70ad9d3c7740f75e220c8f73a74381  libjava/classpath/include/gnu_java_nio_charset_iconv_IconvEncoder.h
! 1c5d43f6b1d547080e75b96347da8a54  libjava/classpath/include/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.h
! 8f98ecdb6e1e3cc17de78949f8eee306  libjava/classpath/include/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.h
! a684c905959bb6b82de1fd2d7d071ebb  libjava/classpath/include/gnu_javax_sound_midi_alsa_AlsaPortDevice.h
! c6b28662d970e0937fb252d9d36ccf19  libjava/classpath/include/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.h
! bfc9c210def1ca53607d606b8db45e12  libjava/classpath/include/gnu_javax_sound_midi_dssi_DSSISynthesizer.h
! 046d2d356e537314921d62b537bf08ea  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeAttr.h
! c33697096ec563d8ce71f685b7e65e9e  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeDocument.h
! 98b22b700369a5ec4647dd793670e9cf  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeDocumentBuilder.h
! 59d1b597cb35c7eb0b7cdebf6cf53165  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeDocumentType.h
! 6e27a487c4a069d75ec9175c81a4a685  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeElement.h
! c98d7af4dfa0908b8edefbe13248f1f4  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeEntity.h
! 384d49f5d2d52951ea4b36d088e29105  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeNamedNodeMap.h
! d3ca068152d904c88dcadb81c6f00340  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeNode.h
! 90297fe5732a0b030fa2e39656b1a247  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeNodeList.h
! 61c8066303683ee661262d0f2f4b1b2f  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeNotation.h
! 12c91fae57d47ab1ec5116b387bfc858  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeProcessingInstruction.h
! 8db26695f3830390bf98072e1181f395  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeTypeInfo.h
! 404013988370a61a1564e3001414e3c5  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeXPathExpression.h
! be5b7cfdaefaa873a18ce7065e2fe52c  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeXPathNSResolver.h
! 4931e7d43fb4a9d9856daf1fd6fa7ff4  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeXPathNodeList.h
! 9b59c9e617234153cc60f0fd51887436  libjava/classpath/include/gnu_xml_libxmlj_dom_GnomeXPathResult.h
! 13694f0adab42bae6f78a99557d41c58  libjava/classpath/include/gnu_xml_libxmlj_sax_GnomeLocator.h
! 0da1aa352651fc78b33cce5befdb185d  libjava/classpath/include/gnu_xml_libxmlj_sax_GnomeXMLReader.h
! c908e67a4f58259591b400a45ef0af93  libjava/classpath/include/gnu_xml_libxmlj_transform_GnomeTransformer.h
! cb471580e8fa1cc53595610381d90531  libjava/classpath/include/gnu_xml_libxmlj_transform_GnomeTransformerFactory.h
! 38cfabca5d4a03a5087e8acf8bf885e4  libjava/classpath/include/java_io_VMFile.h
! 4b714ce162b768dc6e3d4c87c19ff165  libjava/classpath/include/java_io_VMObjectInputStream.h
! aae8db399f8e3e007f91a854ebfd7175  libjava/classpath/include/java_io_VMObjectStreamClass.h
! bf1cb7b9d71922df8c8b18be1235afc6  libjava/classpath/include/java_lang_Math.h
! 691b8b8f48ec7d24892caa687fa00865  libjava/classpath/include/java_lang_VMDouble.h
! 78a27cf9274b8ad70755489bb76ae593  libjava/classpath/include/java_lang_VMFloat.h
! 72976a2092aa6ad74640570e735fe5da  libjava/classpath/include/java_lang_VMProcess.h
! 20546599edb1df06e2e6d633dc150233  libjava/classpath/include/java_lang_VMSystem.h
! f88b8f65d82ab37605d6ec9219f26d57  libjava/classpath/include/java_lang_reflect_Array.h
! 7cec28c2523a69b244b4e081ed20cd1f  libjava/classpath/include/java_net_VMInetAddress.h
! ff275f8f065fd77c2ee7b6d2091158cd  libjava/classpath/include/java_net_VMNetworkInterface.h
! 21c22c283bff41040ff1921643219dd7  libjava/classpath/include/java_nio_MappedByteBufferImpl.h
! e468c525ec52f1378da3b4904bd0700e  libjava/classpath/include/java_nio_VMDirectByteBuffer.h
! 1334935e3354e9c1e8a5bbb54036109c  libjava/classpath/include/java_util_VMTimeZone.h
! 81061ea320f03674b110138a0e743781  libjava/classpath/include/jawt.h
! 0d7ab9fc4ef6699abacdcdb685e59987  libjava/classpath/include/jawt_md.h
! 829d146e2b32a8c6976a5e6f597d7e52  libjava/classpath/include/jni.h
! 1ab2532d84b1392342ec1cbe7b08b5b9  libjava/classpath/include/jni_md-x86-linux-gnu.h
! e7e174685c6ae852e4b5e7431fddc5c8  libjava/classpath/install-sh
! 93b058496a67df12ff11114fcfb970b2  libjava/classpath/java/applet/Applet.java
! 4d0a82b61a09b6eebeab692074b3403d  libjava/classpath/java/applet/AppletContext.java
! 46aa154aea3bb851e422ad3a4e8e4cf6  libjava/classpath/java/applet/AppletStub.java
! a43e7e75b6e966ea8567002181ba0b64  libjava/classpath/java/applet/AudioClip.java
! 4fa3f63383b744a1275737d93718b056  libjava/classpath/java/applet/package.html
! 09b4543cb62a40ba2c2c61edee9ea51d  libjava/classpath/java/awt/AWTError.java
! 73611e5facf648a83a556fb111d9fa8d  libjava/classpath/java/awt/AWTEvent.java
! 983dbd444e9dfe00bc509d0af4538f58  libjava/classpath/java/awt/AWTEventMulticaster.java
! 2fc708be3748052c73179f7d40d48cc2  libjava/classpath/java/awt/AWTException.java
! dafd5907478bbe47ae98665c1edfccc0  libjava/classpath/java/awt/AWTKeyStroke.java
! 55c7ba6de3baa477b61c93010e59ebce  libjava/classpath/java/awt/AWTPermission.java
! eeccff4ba503330ca60d72eaee3103c3  libjava/classpath/java/awt/ActiveEvent.java
! 5d673cc6eb10c3f7465949f5f46ac9a9  libjava/classpath/java/awt/Adjustable.java
! 9a03564151d3f7ff774a93765afd2622  libjava/classpath/java/awt/AlphaComposite.java
! 0c9ae25c6663374cba8baaa8dbf91a3d  libjava/classpath/java/awt/AttributeValue.java
! 7a42398129b21865e76140e3a2972b43  libjava/classpath/java/awt/BasicStroke.java
! fdef635878992d116bc2fe4532787f09  libjava/classpath/java/awt/BorderLayout.java
! dd041320767729c098cc9e0e93367329  libjava/classpath/java/awt/BufferCapabilities.java
! b8f15f8bce29a23f9a1e19edd95944b9  libjava/classpath/java/awt/Button.java
! 8282246292ef0add7791bc750f28de40  libjava/classpath/java/awt/Canvas.java
! 9de2a93f04dacec3bd1b1a9286260921  libjava/classpath/java/awt/CardLayout.java
! 1b51cc2e98f949bacfc2b927723811f5  libjava/classpath/java/awt/Checkbox.java
! b3a471a55bad108dcd0e8a236c9a7202  libjava/classpath/java/awt/CheckboxGroup.java
! bd535580c8ab15dacc64365f150941bd  libjava/classpath/java/awt/CheckboxMenuItem.java
! 35adacc66944b1d57bbdb5ae1c89fe08  libjava/classpath/java/awt/Choice.java
! a68df7444ce1342dfa0633f7bece9e20  libjava/classpath/java/awt/Color.java
! 006620112cbe356a78804c7c8114d1a3  libjava/classpath/java/awt/ColorPaintContext.java
! 978af9368d90b3457b262a21ab6eeecb  libjava/classpath/java/awt/Component.java
! 2ebe99fbb36a813733910d9ceebd66b6  libjava/classpath/java/awt/ComponentOrientation.java
! 3ce1fabea0d6caef272a6d85259ca11f  libjava/classpath/java/awt/Composite.java
! 8ee54edfe3a2e64489802d7853ba22f6  libjava/classpath/java/awt/CompositeContext.java
! fe09deae6b85beb338772ca3e98dd12c  libjava/classpath/java/awt/Container.java
! 0199a80288f6cdddaf5bb4aebeca8ec5  libjava/classpath/java/awt/ContainerOrderFocusTraversalPolicy.java
! 861fc36e9de6a1b7fbfa98448b7177ac  libjava/classpath/java/awt/Cursor.java
! fd814311030c9bcbf4297a32e025fab7  libjava/classpath/java/awt/DefaultFocusTraversalPolicy.java
! 557e5e617bebfdc3244ffcbd8dc920cc  libjava/classpath/java/awt/DefaultKeyboardFocusManager.java
! 204c1df9732410c34f579c06e573497e  libjava/classpath/java/awt/Dialog.java
! 385ce6ecbaaa1e21bdedb65f8a436280  libjava/classpath/java/awt/Dimension.java
! 743d891c619b12151ef041b599dabcc7  libjava/classpath/java/awt/DisplayMode.java
! f356314ec517858c9772be91787e602b  libjava/classpath/java/awt/Event.java
! 52c961117bad02922a79ca6cdc3e6187  libjava/classpath/java/awt/EventDispatchThread.java
! 3ef9db191d9f886f2b3e8f51276c6212  libjava/classpath/java/awt/EventQueue.java
! 11bd1cb1737eb3872a75393bc0b74af0  libjava/classpath/java/awt/FileDialog.java
! 56170b02ac3ea235d862a17d15c1b8f3  libjava/classpath/java/awt/FlowLayout.java
! c2ce2a9db0ad74da0b58f039bb8bf8e8  libjava/classpath/java/awt/FocusTraversalPolicy.java
! 5708f65aa28adcb132046faf4d9a2f39  libjava/classpath/java/awt/Font.java
! f876e330e2e7fd4ae5386a7e1b960bc0  libjava/classpath/java/awt/FontFormatException.java
! de55366fa42bc6fccb4d7c331bf75696  libjava/classpath/java/awt/FontMetrics.java
! 1704ee326851f6d7b6f16207512c815b  libjava/classpath/java/awt/Frame.java
! 281aa3d68a6849a5220495d1cca572c8  libjava/classpath/java/awt/GradientPaint.java
! 7d042afa0f97b04b6523e41df1497338  libjava/classpath/java/awt/Graphics.java
! 8b67ba41a7157304090635a44a538e2d  libjava/classpath/java/awt/Graphics2D.java
! 089c55999c8d4e138e78dbd84cc237f8  libjava/classpath/java/awt/GraphicsConfigTemplate.java
! 0a70843766270f25716ba3d79d69ecfd  libjava/classpath/java/awt/GraphicsConfiguration.java
! bd69c1f73cd1a656cf4c4dc4cadf72ff  libjava/classpath/java/awt/GraphicsDevice.java
! aaa9c0e6aa6fe84a88edb820db66adb2  libjava/classpath/java/awt/GraphicsEnvironment.java
! 99de899ef884bc8d630f9baca0763a71  libjava/classpath/java/awt/GridBagConstraints.java
! 384fb0bb5bf8aff3ea8127d4c483200d  libjava/classpath/java/awt/GridBagLayout.java
! 18bb47e8987b68237badbeb927b66a31  libjava/classpath/java/awt/GridBagLayoutInfo.java
! 5b7bf877c64086f245cdaa3473f2f467  libjava/classpath/java/awt/GridLayout.java
! e7fc51184d90a36cbba5af2483d3bf10  libjava/classpath/java/awt/HeadlessException.java
! 4b1ced4bef605be68a0606047173abbb  libjava/classpath/java/awt/IllegalComponentStateException.java
! 94e31dbbe7bdb0ec58e59d52922d319e  libjava/classpath/java/awt/Image.java
! 2e77a8eb349cb185ea7a97cca56ea804  libjava/classpath/java/awt/ImageCapabilities.java
! 6307900c306dd6419b11441bb1d4c05d  libjava/classpath/java/awt/Insets.java
! f60e748ba27366d3e783d6929fef057e  libjava/classpath/java/awt/ItemSelectable.java
! e64b344213124c9099c897bcf9af512c  libjava/classpath/java/awt/JobAttributes.java
! f249576c3b73cb6012145579c34689dd  libjava/classpath/java/awt/KeyEventDispatcher.java
! d9506b235381cfc1b695c84593898365  libjava/classpath/java/awt/KeyEventPostProcessor.java
! 8fca244577ea7f109d38453677950ced  libjava/classpath/java/awt/KeyboardFocusManager.java
! a52fb6c2c72fa8857d5cab5b59729bb8  libjava/classpath/java/awt/Label.java
! 2324570d08f6a388562bea775b94dd9b  libjava/classpath/java/awt/LayoutManager.java
! 9a9880231867e75d9aa863538b063ed3  libjava/classpath/java/awt/LayoutManager2.java
! 13bad3e49f43f19c9ceb5d798e87249c  libjava/classpath/java/awt/List.java
! 52e063807f6d0f47177d2c0ed39f8810  libjava/classpath/java/awt/MediaTracker.java
! 768b751a2fe345556858973c87b8add0  libjava/classpath/java/awt/Menu.java
! 2847799f2f39b99d0be01950f615ee86  libjava/classpath/java/awt/MenuBar.java
! d74b297cafc6913850ad0daa80b08782  libjava/classpath/java/awt/MenuComponent.java
! eeaf291a4b2de35cba44eab57208911e  libjava/classpath/java/awt/MenuContainer.java
! 26e37e02521190d88962aefdf897de3d  libjava/classpath/java/awt/MenuItem.java
! aae3471c32690b5c16b22490ba01af57  libjava/classpath/java/awt/MenuShortcut.java
! d1fa2e510ca84746265f77348caa803b  libjava/classpath/java/awt/PageAttributes.java
! dc2b5ced37781d0b3f51c2159d9cf983  libjava/classpath/java/awt/Paint.java
! d32a051ce0f6087dfbf0563816152598  libjava/classpath/java/awt/PaintContext.java
! 79050388821f351fc6b306ce4c84181f  libjava/classpath/java/awt/Panel.java
! 5a8957fe2a776732a62e887ab2750edf  libjava/classpath/java/awt/Point.java
! 38baed0d550ab43bbc131847d2dc2b3c  libjava/classpath/java/awt/Polygon.java
! fae87ab35989c9bc61eabf4ab9560e5c  libjava/classpath/java/awt/PopupMenu.java
! 21ab216a0edd470ba87bdd70bce5cedb  libjava/classpath/java/awt/PrintGraphics.java
! 1d5b6010cd3ab0f0bace7176e04c39d7  libjava/classpath/java/awt/PrintJob.java
! 45169a9c98983f2773bd48b4b0d48436  libjava/classpath/java/awt/Rectangle.java
! a854f2308f63bdaeb3b2e693d86a7016  libjava/classpath/java/awt/RenderingHints.java
! 4a790c131e97a71e85e549c28eee32a7  libjava/classpath/java/awt/Robot.java
! cead2fd8ec4b4bb63a9062094709d68c  libjava/classpath/java/awt/ScrollPane.java
! e2d574c2da7dec143944b9f8a7d3f033  libjava/classpath/java/awt/ScrollPaneAdjustable.java
! 86d4fa3cb36ff9f7c77a420acda90683  libjava/classpath/java/awt/Scrollbar.java
! c429f9ec16d9dd384fe8fef0ad242948  libjava/classpath/java/awt/Shape.java
! 2b8adf3780eec352dbd010171b8ba8bd  libjava/classpath/java/awt/Stroke.java
! b06c68870ba6fc740bd2db26819c05ca  libjava/classpath/java/awt/SystemColor.java
! e241d175d57246669589a7638e5de837  libjava/classpath/java/awt/TextArea.java
! 142c12a7a77ba29787a7db91e2a3bd03  libjava/classpath/java/awt/TextComponent.java
! a93acfc7bfab1aadde7ce21a09ac6431  libjava/classpath/java/awt/TextField.java
! 1b0c4c3e4d7310c4b4ac3999c54d707b  libjava/classpath/java/awt/TexturePaint.java
! 35d24a1e8b575cb3052d07b622a76a07  libjava/classpath/java/awt/Toolkit.java
! 277526c477040fd7220ba442c01c4a94  libjava/classpath/java/awt/Transparency.java
! 16a8efc1947a695870a2a9dd7c223245  libjava/classpath/java/awt/Window.java
! 653c4a8935aa0aa7cd67e0f80d07309f  libjava/classpath/java/awt/color/CMMException.java
! f66fd6913a6642d3165d2a68ad1de0bf  libjava/classpath/java/awt/color/ColorSpace.java
! 040b2f71ba39e2abc9fc6fa831f86f9d  libjava/classpath/java/awt/color/ICC_ColorSpace.java
! ecd6a85379813b6896b03bec48fdf4c0  libjava/classpath/java/awt/color/ICC_Profile.java
! 0e4bafc48d8786ed3ec2747c3afb12a3  libjava/classpath/java/awt/color/ICC_ProfileGray.java
! 71e21dc54737a97160e00db37b0a3488  libjava/classpath/java/awt/color/ICC_ProfileRGB.java
! f48aacb43d83cbc96d91a2d5b98c7c20  libjava/classpath/java/awt/color/ProfileDataException.java
! 6f3498377a3195bee4c8e8b02adba254  libjava/classpath/java/awt/color/package.html
! c30b920c5d013acaf12363da89ab19fa  libjava/classpath/java/awt/datatransfer/Clipboard.java
! 15fa70c41af7ed04036259437a3c7c92  libjava/classpath/java/awt/datatransfer/ClipboardOwner.java
! 12b75cb3c3bf1de831caa2fd6d6aa004  libjava/classpath/java/awt/datatransfer/DataFlavor.java
! 9b8fe2ca63fa46df5860b64d24e6eb70  libjava/classpath/java/awt/datatransfer/FlavorEvent.java
! 36142389274bdcf4a580ffb81462dc12  libjava/classpath/java/awt/datatransfer/FlavorListener.java
! c45aadea9d5a0ff5d58003513e86e943  libjava/classpath/java/awt/datatransfer/FlavorMap.java
! ffcda7cb8c416854f97590142cfb0b5c  libjava/classpath/java/awt/datatransfer/FlavorTable.java
! 469ea7296416285d08a4ec6795df8ac8  libjava/classpath/java/awt/datatransfer/MimeTypeParseException.java
! 77065436dd21ca9a6c3740a367c6052b  libjava/classpath/java/awt/datatransfer/StringSelection.java
! 50375caf2d6e44d7ad8006ec5837e07a  libjava/classpath/java/awt/datatransfer/SystemFlavorMap.java
! 539dfdcafd0fd707271d28089fd72175  libjava/classpath/java/awt/datatransfer/Transferable.java
! 2d33272f94436bc735cf31da68c82aaf  libjava/classpath/java/awt/datatransfer/UnsupportedFlavorException.java
! db92fc388b5b178905f493e99ee5ed3a  libjava/classpath/java/awt/datatransfer/package.html
! 0e4fdf1a2dab2b6319e05c4733c73d63  libjava/classpath/java/awt/dnd/Autoscroll.java
! fffa99d600b6aa1b9442b4c26078a83b  libjava/classpath/java/awt/dnd/DnDConstants.java
! 7b612ba318ed4ca0e053c2e1c759f71a  libjava/classpath/java/awt/dnd/DnDEventMulticaster.java
! 72694dff042753ff6f2cf8e9ceb9820c  libjava/classpath/java/awt/dnd/DragGestureEvent.java
! 21bee360c5bda0c06c6eacb096f574a5  libjava/classpath/java/awt/dnd/DragGestureListener.java
! b51faccf647f0b1a28956684b793339c  libjava/classpath/java/awt/dnd/DragGestureRecognizer.java
! 41269dfb5a437b1867a59155ec422780  libjava/classpath/java/awt/dnd/DragSource.java
! 24ee7142fc87dad3070a5826772e6b84  libjava/classpath/java/awt/dnd/DragSourceAdapter.java
! 8b287ed1d8f883767dc0a7fc40770a64  libjava/classpath/java/awt/dnd/DragSourceContext.java
! d25a4b4727414f936b1b15789a7f9645  libjava/classpath/java/awt/dnd/DragSourceDragEvent.java
! 84d5279b9cbadf3d1347af4e533f4ebd  libjava/classpath/java/awt/dnd/DragSourceDropEvent.java
! bca56e1681dc9fbdda0ab958b3fe28d6  libjava/classpath/java/awt/dnd/DragSourceEvent.java
! 699405b87396bf1d842c8b6282b6b702  libjava/classpath/java/awt/dnd/DragSourceListener.java
! 3ff7346b2dc950b452317b87fb8cc2dc  libjava/classpath/java/awt/dnd/DragSourceMotionListener.java
! 1ec27c48fdace6134565fb591008e9fa  libjava/classpath/java/awt/dnd/DropTarget.java
! 908e87a508685e731c26d0a2b03f76fe  libjava/classpath/java/awt/dnd/DropTargetAdapter.java
! ea7d20f6f3c2e5b76fb3813176a0350f  libjava/classpath/java/awt/dnd/DropTargetContext.java
! 585c96715f4b1e15cc8fba5d74b5d5d5  libjava/classpath/java/awt/dnd/DropTargetDragEvent.java
! f800321ebd5196017e67cf3ecb97f47a  libjava/classpath/java/awt/dnd/DropTargetDropEvent.java
! 93fcf004776f7189e59924fa55776049  libjava/classpath/java/awt/dnd/DropTargetEvent.java
! c712aec65d325da1a0ec848810d81fa8  libjava/classpath/java/awt/dnd/DropTargetListener.java
! f53faf2871ce01c37f2b7a137f279adb  libjava/classpath/java/awt/dnd/InvalidDnDOperationException.java
! 0a2e5e43da8084b5f7b35b74ee8d931e  libjava/classpath/java/awt/dnd/MouseDragGestureRecognizer.java
! 4190aaf2490c2a72eaedd826b9cc021d  libjava/classpath/java/awt/dnd/package.html
! 819b153c23fead510e17e61a26154e02  libjava/classpath/java/awt/dnd/peer/DragSourceContextPeer.java
! 58fb04053e15bcd224aa536a4545a8d5  libjava/classpath/java/awt/dnd/peer/DropTargetContextPeer.java
! 2f2c1b39a170734092e475796de4b0be  libjava/classpath/java/awt/dnd/peer/DropTargetPeer.java
! 7dfd0a5e776f0cfdb1dee677ca0b516b  libjava/classpath/java/awt/dnd/peer/package.html
! e0090160706d8dedaa35116a37334f70  libjava/classpath/java/awt/event/AWTEventListener.java
! 5cbebd2cdb43b2b4722eb40ed09ef10a  libjava/classpath/java/awt/event/AWTEventListenerProxy.java
! 95a41b8133e45d185020dd83f44bd4b3  libjava/classpath/java/awt/event/ActionEvent.java
! fa95fbcb2313077b176404ee50f01a97  libjava/classpath/java/awt/event/ActionListener.java
! bb958ccd0b19049d4d95a9031587c797  libjava/classpath/java/awt/event/AdjustmentEvent.java
! 6c1e9ebd30a7e9ae22412ca067e6a870  libjava/classpath/java/awt/event/AdjustmentListener.java
! 0a977d42e7a296201a2258993587c5f7  libjava/classpath/java/awt/event/ComponentAdapter.java
! 31cf7ad4f0944e8b4a0934933844b334  libjava/classpath/java/awt/event/ComponentEvent.java
! 7a16b9b205efe6a3cbc99abd6e89da3c  libjava/classpath/java/awt/event/ComponentListener.java
! 4da979a37d3b06e4bbc5008437dbd8a4  libjava/classpath/java/awt/event/ContainerAdapter.java
! e63f8d96bfce0fae9798bf064f0dc337  libjava/classpath/java/awt/event/ContainerEvent.java
! ed1739f0df7913bed234ccfb7241e6ce  libjava/classpath/java/awt/event/ContainerListener.java
! 7fe5a2a2e715256c112330eb9bfc5dd8  libjava/classpath/java/awt/event/FocusAdapter.java
! 3c5afa9beaddd62fb201f3b69639401b  libjava/classpath/java/awt/event/FocusEvent.java
! 3b63443816a587b14d373ae087866ece  libjava/classpath/java/awt/event/FocusListener.java
! 3924ab3b1c7ddeb34ee312a2b48a8a73  libjava/classpath/java/awt/event/HierarchyBoundsAdapter.java
! ff3a698b42bad085ff127bb5801fa3f7  libjava/classpath/java/awt/event/HierarchyBoundsListener.java
! 71f64bf7168abf1476ec38add35adfe4  libjava/classpath/java/awt/event/HierarchyEvent.java
! 3658d8e2e418118bb51e548441b3d461  libjava/classpath/java/awt/event/HierarchyListener.java
! 5694daf288078d83a031780c2bc1d974  libjava/classpath/java/awt/event/InputEvent.java
! 13251fa798efca12f0fe76e596071be0  libjava/classpath/java/awt/event/InputMethodEvent.java
! ff840c6b92e858152d0be6d9b1103e81  libjava/classpath/java/awt/event/InputMethodListener.java
! cef663be16531aa1e585b9b5f05fe718  libjava/classpath/java/awt/event/InvocationEvent.java
! 8d740a3d0c66bf48af74071e1d6dad3b  libjava/classpath/java/awt/event/ItemEvent.java
! 058cb7981ac7cf24e097c4382ad52e1f  libjava/classpath/java/awt/event/ItemListener.java
! 94f0cfdee718970fe638b94b3506583e  libjava/classpath/java/awt/event/KeyAdapter.java
! b36195c6defc30a8a0f32045336e493c  libjava/classpath/java/awt/event/KeyEvent.java
! 867e3c6d2cac9c233bac5bb0ecd958b8  libjava/classpath/java/awt/event/KeyListener.java
! 45eb7cd0efc982c1f56836e18d81c86c  libjava/classpath/java/awt/event/MouseAdapter.java
! 6cc40ae17a372e6020ab88afa9e65405  libjava/classpath/java/awt/event/MouseEvent.java
! f7d9e53dbb7138a2fccd58c032aba16b  libjava/classpath/java/awt/event/MouseListener.java
! dbe893c53708e651a497dc1fd47c9770  libjava/classpath/java/awt/event/MouseMotionAdapter.java
! 9420ef805947252f8a2e56ec9f9eb9ff  libjava/classpath/java/awt/event/MouseMotionListener.java
! d2037ac3ddc90a3101edc5117548afb1  libjava/classpath/java/awt/event/MouseWheelEvent.java
! 10a47b41120e53c669336f9397dccc4c  libjava/classpath/java/awt/event/MouseWheelListener.java
! 2853fe8f71cf0c6febc484fa498b381b  libjava/classpath/java/awt/event/PaintEvent.java
! 8a7ee1f223798c04ff4a8e92522bdcc2  libjava/classpath/java/awt/event/TextEvent.java
! b0457bc89d244dfeb9ed954c79807e45  libjava/classpath/java/awt/event/TextListener.java
! a150c2dca681d16f721d636645061f5b  libjava/classpath/java/awt/event/WindowAdapter.java
! 9d95acb70588e488ae6b42cfdbbcc288  libjava/classpath/java/awt/event/WindowEvent.java
! 8d50e18c4a45ffb7e782637cb58c7b70  libjava/classpath/java/awt/event/WindowFocusListener.java
! 0fdd1bdc071ba4314755c223b4d8e3bf  libjava/classpath/java/awt/event/WindowListener.java
! 04806e4acc215381d3d3542dfe0b4614  libjava/classpath/java/awt/event/WindowStateListener.java
! 4962b2fbb506eec1df6e69dc18438d78  libjava/classpath/java/awt/event/package.html
! 2d045f23869484a3fed4fa394241827b  libjava/classpath/java/awt/font/FontRenderContext.java
! 0c4ace6faebc633a63a47a2b49767ba7  libjava/classpath/java/awt/font/GlyphJustificationInfo.java
! 43b93f9ff1451713497758ff5a438abf  libjava/classpath/java/awt/font/GlyphMetrics.java
! 5b4f8da1f7fea34f66512bb94123f854  libjava/classpath/java/awt/font/GlyphVector.java
! 8ea84918fb0045e5be09e6b7c24bca26  libjava/classpath/java/awt/font/GraphicAttribute.java
! b0fb1515cb6faf62395da5e018d4b72b  libjava/classpath/java/awt/font/ImageGraphicAttribute.java
! 2cbbec6e06964836cf581e2b42403652  libjava/classpath/java/awt/font/LineBreakMeasurer.java
! 294e72c94f0e95ace5bc21c0aca2fb9a  libjava/classpath/java/awt/font/LineMetrics.java
! ecb5be39e5693a1303adebab4b65ca6a  libjava/classpath/java/awt/font/MultipleMaster.java
! 1bd17d1cb4bdc1be3e117a5c4bbbb898  libjava/classpath/java/awt/font/NumericShaper.java
! c13d3f8d01b2d81f03ee8119aeeb3468  libjava/classpath/java/awt/font/OpenType.java
! de3410f5390186672864d20eeecd10c4  libjava/classpath/java/awt/font/ShapeGraphicAttribute.java
! 1a1c0e50903ad0793be8dab845f7f145  libjava/classpath/java/awt/font/TextAttribute.java
! 9442914b6ee853648b39bbe937e8b231  libjava/classpath/java/awt/font/TextHitInfo.java
! 696afe4d2a1d7b0dc5ad6872d3ea888d  libjava/classpath/java/awt/font/TextLayout.java
! c28c56da10e69e3562a149a7270c616d  libjava/classpath/java/awt/font/TextMeasurer.java
! 99676cd9c6f6959e4369ff08bbd74efb  libjava/classpath/java/awt/font/TransformAttribute.java
! 46398dbe0aa137e08746ae3f5952bb67  libjava/classpath/java/awt/font/package.html
! f12dddc0919752ad00274c2be4153851  libjava/classpath/java/awt/geom/AffineTransform.java
! 17218cd19893a95b2ed1689552d60dbc  libjava/classpath/java/awt/geom/Arc2D.java
! a381e9c039d61caa58fcb985be6cfb7a  libjava/classpath/java/awt/geom/Area.java
! d466499e24c171ffbf3380fb347df3a4  libjava/classpath/java/awt/geom/CubicCurve2D.java
! b792020712e518d86c95d0836dddcaee  libjava/classpath/java/awt/geom/Dimension2D.java
! ccd21f35c4716acaebefa4b42d2c00af  libjava/classpath/java/awt/geom/Ellipse2D.java
! 0f655adbe49cd140ecd44822a12128fc  libjava/classpath/java/awt/geom/FlatteningPathIterator.java
! 73bf57acda10157abf22964d3b3d5773  libjava/classpath/java/awt/geom/GeneralPath.java
! 05f780c309d51548ac84b9df394317a9  libjava/classpath/java/awt/geom/IllegalPathStateException.java
! ca5321220e2080da0ec230fce2496b91  libjava/classpath/java/awt/geom/Line2D.java
! 9de6eb2ce83fc5b70cacb2d82ccc2e54  libjava/classpath/java/awt/geom/NoninvertibleTransformException.java
! f2f83df0ed690bcc1ae49d1ce981b9c3  libjava/classpath/java/awt/geom/PathIterator.java
! 3c8e4054441e76ce55a773c5a710a6c3  libjava/classpath/java/awt/geom/Point2D.java
! 5eff29d0a6820b6083973ee7c1afd5db  libjava/classpath/java/awt/geom/QuadCurve2D.java
! bec922709a56678702ac7c3782b0fd42  libjava/classpath/java/awt/geom/Rectangle2D.java
! febb9f9a78a0b198ecc417127af85b47  libjava/classpath/java/awt/geom/RectangularShape.java
! 07682bd33891720c614ba84e2806d062  libjava/classpath/java/awt/geom/RoundRectangle2D.java
! c11cd969b2267c6dc34298ac0e420a4b  libjava/classpath/java/awt/geom/doc-files/Area-1.png
! 0125a79ecd96cf321a605a10b7359122  libjava/classpath/java/awt/geom/doc-files/CubicCurve2D-1.png
! 9647917cd4939a852a459039c94313e2  libjava/classpath/java/awt/geom/doc-files/CubicCurve2D-2.png
! 5eadc6fce85ba8e2d84cdcd4cb512dad  libjava/classpath/java/awt/geom/doc-files/CubicCurve2D-3.png
! c38ed1af43ab69d5454c0bf994b1950c  libjava/classpath/java/awt/geom/doc-files/CubicCurve2D-4.png
! 6203261b61d166742b5201398a4f11f3  libjava/classpath/java/awt/geom/doc-files/CubicCurve2D-5.png
! 4fb914165077bb1aea9e0707b4f07c25  libjava/classpath/java/awt/geom/doc-files/Ellipse-1.png
! 2c2566d33581cd7c8261d08f55df5271  libjava/classpath/java/awt/geom/doc-files/FlatteningPathIterator-1.html
! 28d2dd159f2f10588be090aafe83924b  libjava/classpath/java/awt/geom/doc-files/GeneralPath-1.png
! 5ba45ab2e05f605014663667078c973f  libjava/classpath/java/awt/geom/doc-files/QuadCurve2D-1.png
! 3dd6e35d933217af34b1a286c80c543b  libjava/classpath/java/awt/geom/doc-files/QuadCurve2D-2.png
! f5cfefa54c4bc6113d35471de53d85fb  libjava/classpath/java/awt/geom/doc-files/QuadCurve2D-3.png
! 68db99c858f2599b39cd5be434c04d56  libjava/classpath/java/awt/geom/doc-files/QuadCurve2D-4.png
! 50969a468353f39012fd98d2b327fa5a  libjava/classpath/java/awt/geom/doc-files/QuadCurve2D-5.png
! 7b1aef86be5300ac41efceee346dec7e  libjava/classpath/java/awt/geom/package.html
! 23a0242ab30d315c3cca600695415814  libjava/classpath/java/awt/im/InputContext.java
! c7c0d36bc43d4793c3c8aa664cbed778  libjava/classpath/java/awt/im/InputMethodHighlight.java
! afc8ae44904be94804726fe3764ed4d3  libjava/classpath/java/awt/im/InputMethodRequests.java
! 0f37bf4b555f6c927209a7f28641a580  libjava/classpath/java/awt/im/InputSubset.java
! 5d2b22fe177286c5ecce5ded4129e73b  libjava/classpath/java/awt/im/package.html
! 5fc91bcd0cf47d2eec7669bbbfee3b4e  libjava/classpath/java/awt/im/spi/InputMethod.java
! ca928512ebc354767f8cabc7bb5862b1  libjava/classpath/java/awt/im/spi/InputMethodContext.java
! d4ff462e5f842fdd49b9e73b72599924  libjava/classpath/java/awt/im/spi/InputMethodDescriptor.java
! e707cf66fe0fe3c5b6979a541571b1d0  libjava/classpath/java/awt/im/spi/package.html
! 4c881931cdb42f34f2e96b3ec535924b  libjava/classpath/java/awt/image/AffineTransformOp.java
! 8dfaf0a2bdef9d31214b478750ec05e6  libjava/classpath/java/awt/image/AreaAveragingScaleFilter.java
! 6a5129312934152ec886cbb056728150  libjava/classpath/java/awt/image/BandCombineOp.java
! 29ddf30ee09f5a6d9c1780aaa62d6f1e  libjava/classpath/java/awt/image/BandedSampleModel.java
! 7fd2b66aba851b8fd7432073148bee15  libjava/classpath/java/awt/image/BufferStrategy.java
! 0144d7314bc10338cae9226eac06fac1  libjava/classpath/java/awt/image/BufferedImage.java
! 31059a42081872caa29cb72d23d0bf7d  libjava/classpath/java/awt/image/BufferedImageFilter.java
! cb2ecf71eb30e9d73247b07b140faf04  libjava/classpath/java/awt/image/BufferedImageOp.java
! e0cf7d67c8c4b8c8a7bd0348a3b0f6e6  libjava/classpath/java/awt/image/ByteLookupTable.java
! 910b5206b1ff67bc6670d72a56152b29  libjava/classpath/java/awt/image/ColorConvertOp.java
! 63e530e8ec2f53f4760dce2e7070a2ac  libjava/classpath/java/awt/image/ColorModel.java
! 00ed96e7bfbaa94677ba021044c931de  libjava/classpath/java/awt/image/ComponentColorModel.java
! 6e9139969df41b5da821f3ad33c7ceea  libjava/classpath/java/awt/image/ComponentSampleModel.java
! 96e0d1bf21c5525dc71edbe45fcc81c6  libjava/classpath/java/awt/image/ConvolveOp.java
! 7ac86ba59ac7a888169f3bb986722843  libjava/classpath/java/awt/image/CropImageFilter.java
! 393229b3bf78282d4c94d53c1cae0e29  libjava/classpath/java/awt/image/DataBuffer.java
! a2dd844c89cb0c6fd41202761cf66377  libjava/classpath/java/awt/image/DataBufferByte.java
! cd8cb047cfa4aa134c89ccf539741a52  libjava/classpath/java/awt/image/DataBufferDouble.java
! 815289cd905df7f9e8f1fa885e94e3af  libjava/classpath/java/awt/image/DataBufferFloat.java
! 032d57699af4442a433cd9abf8d9df3b  libjava/classpath/java/awt/image/DataBufferInt.java
! f69a99a4b40e41771f3d8c6595ae6d21  libjava/classpath/java/awt/image/DataBufferShort.java
! b8dde158a0677fafce9560e20d857a73  libjava/classpath/java/awt/image/DataBufferUShort.java
! cdb204ede5f73756dfec94c695073082  libjava/classpath/java/awt/image/DirectColorModel.java
! 8a3bdda6d8bcb06ca373de48d49e367c  libjava/classpath/java/awt/image/FilteredImageSource.java
! 5b9e74251e4f303623ce2fff434b6fda  libjava/classpath/java/awt/image/ImageConsumer.java
! bfec14e097a837c9bd1cf8fa968e1231  libjava/classpath/java/awt/image/ImageFilter.java
! 28e9fb4c11c88281ab31b44fbb749344  libjava/classpath/java/awt/image/ImageObserver.java
! 91f80b5d97936636084d01ea2dd1f7dc  libjava/classpath/java/awt/image/ImageProducer.java
! 55fa73258864d85e05208acf2d8809be  libjava/classpath/java/awt/image/ImagingOpException.java
! d79e17031d3f5fd29c5d620e183a12b5  libjava/classpath/java/awt/image/IndexColorModel.java
! 44a0b89c3ade6f8ccad695e57ed33ebc  libjava/classpath/java/awt/image/Kernel.java
! ecbc3543aacf4337c7755e64ed028cd1  libjava/classpath/java/awt/image/LookupOp.java
! 395ccaf15dce465175896cae0d6def7a  libjava/classpath/java/awt/image/LookupTable.java
! 99863ec081185a54ddc3c5e40377b419  libjava/classpath/java/awt/image/MemoryImageSource.java
! 4083fa89f459a45d06a944e6f75ae70c  libjava/classpath/java/awt/image/MultiPixelPackedSampleModel.java
! bc880d0867215d449fad40f02c979fcb  libjava/classpath/java/awt/image/PackedColorModel.java
! 62ec68644214daa33c56d031010b28ca  libjava/classpath/java/awt/image/PixelGrabber.java
! 55dac31d34695c38e9905fca3f52bece  libjava/classpath/java/awt/image/PixelInterleavedSampleModel.java
! 07a86061c43c42554fd03565addcdb6c  libjava/classpath/java/awt/image/RGBImageFilter.java
! c742a7ed579a37400bc2979399d1cc00  libjava/classpath/java/awt/image/Raster.java
! 445a21131802ff6602a99ac33ecab852  libjava/classpath/java/awt/image/RasterFormatException.java
! d240869b146d25c4835acbe264a5f324  libjava/classpath/java/awt/image/RasterOp.java
! 1b1947d9dc83bb59a1b1685b57ff4da1  libjava/classpath/java/awt/image/RenderedImage.java
! f42a9f6bf324deadec63e51f4c98e174  libjava/classpath/java/awt/image/ReplicateScaleFilter.java
! 728e46d63fdc3730a4ed8da0f4af7d9f  libjava/classpath/java/awt/image/RescaleOp.java
! 7c68fc59ff198802a4a4ae9e04610ad6  libjava/classpath/java/awt/image/SampleModel.java
! 7992ddf2fd00f78e2c07679061c6be29  libjava/classpath/java/awt/image/ShortLookupTable.java
! 29f77fd3a5617558eb341393c05630c3  libjava/classpath/java/awt/image/SinglePixelPackedSampleModel.java
! 5e11c682959157cf2a271fab82b24ea5  libjava/classpath/java/awt/image/TileObserver.java
! e8b68b1b8a5fdaf6ac003fec9532a4c4  libjava/classpath/java/awt/image/VolatileImage.java
! b776494aa6fe600edbcc95c95d3f04fc  libjava/classpath/java/awt/image/WritableRaster.java
! 21e83d15fdc53bcd24cbf140f493450c  libjava/classpath/java/awt/image/WritableRenderedImage.java
! 470b001b4d3ee5382934dc7cd4563464  libjava/classpath/java/awt/image/package.html
! 70ecb8cd87601b7373ad5b57c4b1f128  libjava/classpath/java/awt/image/renderable/ContextualRenderedImageFactory.java
! 5eaff427789d2b17d49dafc3cff8dc1f  libjava/classpath/java/awt/image/renderable/ParameterBlock.java
! 8d315751c37678f057d4775d50e590d8  libjava/classpath/java/awt/image/renderable/RenderContext.java
! 290e3415f2797feab18fd8357019d254  libjava/classpath/java/awt/image/renderable/RenderableImage.java
! 35d4b8e537a793ea57c3380dc820a45c  libjava/classpath/java/awt/image/renderable/RenderableImageOp.java
! 55da34058c7d5558e83079221d7ec0a2  libjava/classpath/java/awt/image/renderable/RenderableImageProducer.java
! 1f6111f2d5297dcd946be8dc697c460c  libjava/classpath/java/awt/image/renderable/RenderedImageFactory.java
! 1852ad9dd63b22d1eb1d9aa20a65678c  libjava/classpath/java/awt/image/renderable/package.html
! d5a9a48133b7106b196ca316f229d0a6  libjava/classpath/java/awt/package.html
! ba892f833c89463c5b948486fca0200e  libjava/classpath/java/awt/peer/ButtonPeer.java
! 4a65706990339e62e8cdf5f7986a503a  libjava/classpath/java/awt/peer/CanvasPeer.java
! ec6eb1ef0ab020939c80b027ed93116d  libjava/classpath/java/awt/peer/CheckboxMenuItemPeer.java
! 8f244e8013772d579c7d40b7d8386f9d  libjava/classpath/java/awt/peer/CheckboxPeer.java
! a0e88c14c748d35b04dd5dec67eb9a08  libjava/classpath/java/awt/peer/ChoicePeer.java
! 0d00b30076d3ec4b7242a4a2ffde2362  libjava/classpath/java/awt/peer/ComponentPeer.java
! b14be97e52af1d6c261f2f786235f16d  libjava/classpath/java/awt/peer/ContainerPeer.java
! 5f4fc748116ad183bbf78e15c81ec189  libjava/classpath/java/awt/peer/DialogPeer.java
! 40e8629997f29028b1b98d2e14dca704  libjava/classpath/java/awt/peer/FileDialogPeer.java
! 0e55695298142bdd91de1083dc5c0663  libjava/classpath/java/awt/peer/FontPeer.java
! 5053b284160b8639d57f603770344200  libjava/classpath/java/awt/peer/FramePeer.java
! 558e907d799f62c74745708594b700ee  libjava/classpath/java/awt/peer/LabelPeer.java
! 056720ca412baee4ad09b086d94010e3  libjava/classpath/java/awt/peer/LightweightPeer.java
! 1fdc3a46f89c126f8736a02bf0ae9c66  libjava/classpath/java/awt/peer/ListPeer.java
! bc689b567a31f44c51b1309e1fe1d0a6  libjava/classpath/java/awt/peer/MenuBarPeer.java
! 86d2164c42c3108a184bf03954f45d17  libjava/classpath/java/awt/peer/MenuComponentPeer.java
! 4991774a78fe9952e213f6216e0bc89b  libjava/classpath/java/awt/peer/MenuItemPeer.java
! 3a936b9a808ccc93088b4aeb41951db1  libjava/classpath/java/awt/peer/MenuPeer.java
! 778b2d95350df4db0ed445469749e3e2  libjava/classpath/java/awt/peer/PanelPeer.java
! 4663b421dbf58d1d7dc011224742681d  libjava/classpath/java/awt/peer/PopupMenuPeer.java
! 3001c40867da1061b071ca28fd022e01  libjava/classpath/java/awt/peer/RobotPeer.java
! bd2948c8a74ef0aba7c3a89fa1e2430b  libjava/classpath/java/awt/peer/ScrollPanePeer.java
! 9230c55e0402dc6ba799599d294f4f9e  libjava/classpath/java/awt/peer/ScrollbarPeer.java
! 71a023533acee7f050a859acbdbfa9d3  libjava/classpath/java/awt/peer/TextAreaPeer.java
! 696abe6adfd60f9cfb62956eaab56abf  libjava/classpath/java/awt/peer/TextComponentPeer.java
! 8c41c761e71a71793c6505720cb64bf0  libjava/classpath/java/awt/peer/TextFieldPeer.java
! a371b9f307700a97292d462b9bd278ff  libjava/classpath/java/awt/peer/WindowPeer.java
! 15c1860a43f39e651b6422e70badc7cb  libjava/classpath/java/awt/peer/package.html
! f0654bb5278464da5ab9578b706acda3  libjava/classpath/java/awt/print/Book.java
! d6db3d64a5f9f201883a45da3967aacf  libjava/classpath/java/awt/print/PageFormat.java
! c9cb7786622220e5493c7c61d08ec867  libjava/classpath/java/awt/print/Pageable.java
! bb89dea278a8fa2e049363b069eac747  libjava/classpath/java/awt/print/Paper.java
! 5f05806bbbd52697d523f34c9c6ed82d  libjava/classpath/java/awt/print/Printable.java
! 8ccf66177a86921c082db1d4da18a877  libjava/classpath/java/awt/print/PrinterAbortException.java
! a2fdd459bca3735ec0b2b1ed4e7add39  libjava/classpath/java/awt/print/PrinterException.java
! e4102549093bf9f709750a01e491e924  libjava/classpath/java/awt/print/PrinterGraphics.java
! 2cb23f9ef5dd37d4d9e5550ff1ceff55  libjava/classpath/java/awt/print/PrinterIOException.java
! e8962744665d0ae1ad16ec8ec888c772  libjava/classpath/java/awt/print/PrinterJob.java
! e02e29675537a3e560b6abcf5e7cdf54  libjava/classpath/java/awt/print/package.html
! 66859cc560d875b915db7dcf91b973d4  libjava/classpath/java/beans/AppletInitializer.java
! f2f893578a6ffa3a9cb926ac64cdd52d  libjava/classpath/java/beans/BeanDescriptor.java
! b06a63dd816ad97b6f63cab5047b5494  libjava/classpath/java/beans/BeanInfo.java
! b74ca25ad51d703d683944c910f57ad9  libjava/classpath/java/beans/Beans.java
! 9b2aa715e65f8133b659d0ac08c0ae86  libjava/classpath/java/beans/Customizer.java
! cdc981f4b30081d9fc66cefa964f9dd2  libjava/classpath/java/beans/DesignMode.java
! 8c2f4f55bd2057728b9e816c5cc8bba9  libjava/classpath/java/beans/EventHandler.java
! 9e1edb89a067eaa9b8efc31adeef6e1f  libjava/classpath/java/beans/EventSetDescriptor.java
! 7291e36205125185c2384314540ff1ee  libjava/classpath/java/beans/ExceptionListener.java
! a5a361fff045dda0b18ed8c464c775e5  libjava/classpath/java/beans/Expression.java
! 195e5be5fe096592aa9f1afe809d8227  libjava/classpath/java/beans/FeatureDescriptor.java
! ee4f17ccc92f4dcfa6ec2363fddce6a0  libjava/classpath/java/beans/IndexedPropertyDescriptor.java
! b8a0b11213a17a791217811346692886  libjava/classpath/java/beans/IntrospectionException.java
! c469284deaaf7969f4ee46b00c1e39fe  libjava/classpath/java/beans/Introspector.java
! a6f9225ee38dd07f3898a6396d48b522  libjava/classpath/java/beans/MethodDescriptor.java
! 2b56f27ee8246ed4f3feb5664daa9cf4  libjava/classpath/java/beans/ParameterDescriptor.java
! 4a145793c30e9ebe719c07aecf620b8f  libjava/classpath/java/beans/PropertyChangeEvent.java
! 6c4e5a21eb2ec8f4fe19c3076214b076  libjava/classpath/java/beans/PropertyChangeListener.java
! bd4e4903e0af6f3a0c427c57f5337d2b  libjava/classpath/java/beans/PropertyChangeListenerProxy.java
! b182cc5bbd93699c09bd4c6db38beb2b  libjava/classpath/java/beans/PropertyChangeSupport.java
! db9735ec2341c0aac59469c173ddc824  libjava/classpath/java/beans/PropertyDescriptor.java
! ccbfb854fde39ad98a42e620a506fe6d  libjava/classpath/java/beans/PropertyEditor.java
! 6147b6c75d037922e876f9a330a2bef8  libjava/classpath/java/beans/PropertyEditorManager.java
! 9bc7e98ec76b700b2771874fe75c31ce  libjava/classpath/java/beans/PropertyEditorSupport.java
! e1e162d8301aaadabc14ed4af9943e57  libjava/classpath/java/beans/PropertyVetoException.java
! 0eb86e0cf5528a7a77d3276210acdff8  libjava/classpath/java/beans/SimpleBeanInfo.java
! 6f5ff0793249716023d1efb91ab7c585  libjava/classpath/java/beans/Statement.java
! 937f340ee40ed4bfb6a6c68551f79479  libjava/classpath/java/beans/TODO
! 350370e33795110c4582d6eccdccd4ae  libjava/classpath/java/beans/VetoableChangeListener.java
! 5786241bb4ff8dca4196ca7328519143  libjava/classpath/java/beans/VetoableChangeListenerProxy.java
! 2642c6058f560fc1712f3ed890af19ad  libjava/classpath/java/beans/VetoableChangeSupport.java
! 918f7cec8b71e958afe2726eb3be3f1a  libjava/classpath/java/beans/Visibility.java
! 279790dc02b278c122289ef39b6dbfc4  libjava/classpath/java/beans/XMLDecoder.java
! 177cb9ea4561fbcf21151c575bdfef3d  libjava/classpath/java/beans/beancontext/BeanContext.java
! 78600e3bc21a5f1eef1bc6d5af14eec1  libjava/classpath/java/beans/beancontext/BeanContextChild.java
! caa12c52b46965d8ce3e5c1ddf98c668  libjava/classpath/java/beans/beancontext/BeanContextChildComponentProxy.java
! d807c884321ac37a104651c98384393c  libjava/classpath/java/beans/beancontext/BeanContextChildSupport.java
! 2ece5ef619184a3c835c4c8eec521de8  libjava/classpath/java/beans/beancontext/BeanContextContainerProxy.java
! 79ced98624747e6612d12fb0c240f7fa  libjava/classpath/java/beans/beancontext/BeanContextEvent.java
! 83eb87f7166dedfc5149cfdc20d58028  libjava/classpath/java/beans/beancontext/BeanContextMembershipEvent.java
! 5f242d5c4406500152edd4531e1f34ec  libjava/classpath/java/beans/beancontext/BeanContextMembershipListener.java
! ecca086efc5c4a76113325410f7fb726  libjava/classpath/java/beans/beancontext/BeanContextProxy.java
! b349816cc0e200c7592e16ed93fdb30f  libjava/classpath/java/beans/beancontext/BeanContextServiceAvailableEvent.java
! f319a7d21e30cd43ad571f7d805dc6c5  libjava/classpath/java/beans/beancontext/BeanContextServiceProvider.java
! 54b02422ff8ea3b74a2aa4bdc499c12d  libjava/classpath/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java
! e874cb832aa2bb111d4ab5b3ae24e1f6  libjava/classpath/java/beans/beancontext/BeanContextServiceRevokedEvent.java
! 7c418b9ee73f4a5bd92a1c90c0525595  libjava/classpath/java/beans/beancontext/BeanContextServiceRevokedListener.java
! f09f2a9de8393c165e2541ac46d6b7c6  libjava/classpath/java/beans/beancontext/BeanContextServices.java
! c6b8ef0afcf1b944f2fb3892a91a6f18  libjava/classpath/java/beans/beancontext/BeanContextServicesListener.java
! a7cb34f92664410779ee7f068e6ed645  libjava/classpath/java/beans/beancontext/BeanContextServicesSupport.java
! 86ee48bb41e65ecfd7231be02e5d6c7b  libjava/classpath/java/beans/beancontext/BeanContextSupport.java
! 6b6bdb3a1c0dcdd951d70fa035c56c16  libjava/classpath/java/beans/beancontext/package.html
! cf515659d8a0da1eb6885f0b0cc35e37  libjava/classpath/java/beans/package.html
! bd3a1da7bcbb3b6b4192816526872c4d  libjava/classpath/java/io/BufferedInputStream.java
! 051084a1b6216d592bee8fa11dab1996  libjava/classpath/java/io/BufferedOutputStream.java
! e72c405af58df380a44c36179ba9476a  libjava/classpath/java/io/BufferedReader.java
! 1dafe868bba534d6f6705ab3f6d41ec8  libjava/classpath/java/io/BufferedWriter.java
! 146dd978f4d11b6cd020a789998a21f2  libjava/classpath/java/io/ByteArrayInputStream.java
! d291f45db49a5b09f1143423ad8b7b1a  libjava/classpath/java/io/ByteArrayOutputStream.java
! 73b7f543d5cdf1f1076f03c1b383bd08  libjava/classpath/java/io/CharArrayReader.java
! 10ef46a66485fbcd9f8d11b90bbd0f61  libjava/classpath/java/io/CharArrayWriter.java
! 77b6282539c010ca1c0737e3eb108930  libjava/classpath/java/io/CharConversionException.java
! a652453a1b2a029f365894e40c67409f  libjava/classpath/java/io/Closeable.java
! 8c88e7d062187c0b9192d5e225108af3  libjava/classpath/java/io/DataInput.java
! 7c7a5029e9d3576a79cca9b7fdfcedfd  libjava/classpath/java/io/DataInputStream.java
! 1d22642d4fce2ea98138caa1db1cbaca  libjava/classpath/java/io/DataOutput.java
! 49c65a3e1e47089bfb4dc16c86aa582c  libjava/classpath/java/io/DataOutputStream.java
! b535c3761a318e6b19ec99256bb418e7  libjava/classpath/java/io/DeleteFileHelper.java
! 9658050446049873f46d14b755dfc88c  libjava/classpath/java/io/EOFException.java
! 46773102e16192c8d374db87be5a61bf  libjava/classpath/java/io/Externalizable.java
! 92d439ccd47d6fac591e25701df64ff6  libjava/classpath/java/io/File.java
! 8402d2c3a268070657cb22dd7e2ad98b  libjava/classpath/java/io/FileDescriptor.java
! 27f86e47b5e926f729459e8c81823b35  libjava/classpath/java/io/FileFilter.java
! 5713a6f67fc75f5a58daf51c6bbc29e8  libjava/classpath/java/io/FileInputStream.java
! d0faa3a75fdc462d4ea48e21eb986e62  libjava/classpath/java/io/FileNotFoundException.java
! cc231a70ef83ad06d114abdac2e2f95d  libjava/classpath/java/io/FileOutputStream.java
! 038d2a756c88f3ead95d3760b7156bc3  libjava/classpath/java/io/FilePermission.java
! b0632b0335ff2df2678cf4d636bd5423  libjava/classpath/java/io/FileReader.java
! 74e47e5bb4032cf2c7a47dfd20a2e8f5  libjava/classpath/java/io/FileWriter.java
! eed9edc61046f75e3659b172606fff4a  libjava/classpath/java/io/FilenameFilter.java
! 27270c7d05cfc56492bf7e849ef3c67f  libjava/classpath/java/io/FilterInputStream.java
! e7eefef1eadf0eb66fa32cf48c32f942  libjava/classpath/java/io/FilterOutputStream.java
! 8429f2438b93dc0a35cf7ab1af33b475  libjava/classpath/java/io/FilterReader.java
! 9195b92e6cde66611e107600701a8d46  libjava/classpath/java/io/FilterWriter.java
! 0314b68654969815dee6accc51f3aee0  libjava/classpath/java/io/Flushable.java
! bbe394d33ad390db2c2ae6d9cb83a8dc  libjava/classpath/java/io/IOException.java
! 99b1862caed8936a92beec6074fcd775  libjava/classpath/java/io/InputStream.java
! 5a3fdc0416649543bc4f15ac510d7159  libjava/classpath/java/io/InputStreamReader.java
! 43ae321e626265f242af5d9bcf1f0b2d  libjava/classpath/java/io/InterruptedIOException.java
! 28f7ef7157712f0b2d2e15a2bea51783  libjava/classpath/java/io/InvalidClassException.java
! 42e6d5e983ae2198175dce74f67527cc  libjava/classpath/java/io/InvalidObjectException.java
! 8da6f33a59c73de2c7f103383f6efd82  libjava/classpath/java/io/LineNumberInputStream.java
! b57926f7beecdf9d02ec7d03bd725c73  libjava/classpath/java/io/LineNumberReader.java
! 8e726f44c2de40be86aebf2921ac522d  libjava/classpath/java/io/NotActiveException.java
! 95ff51b6536a2b4041d8be56a1ff61ed  libjava/classpath/java/io/NotSerializableException.java
! 8cd59aff7de863305333356c0893403d  libjava/classpath/java/io/ObjectInput.java
! 3bf6a7243d2471fde9720939b3b9faae  libjava/classpath/java/io/ObjectInputStream.java
! 79bcfcf4b74bba353baed8c65f160303  libjava/classpath/java/io/ObjectInputValidation.java
! 29b0a340df2b174a8d9b6c13b560ec07  libjava/classpath/java/io/ObjectOutput.java
! 939b918d5df14abdb0a3d31a494220fe  libjava/classpath/java/io/ObjectOutputStream.java
! 01d55ee0aba4f14a9ce5fc1d5dc1677b  libjava/classpath/java/io/ObjectStreamClass.java
! 8f19b7ef4e3b6bd3aae0721878c900c1  libjava/classpath/java/io/ObjectStreamConstants.java
! 6c3ae1430ccbf4c167efc0b50168598f  libjava/classpath/java/io/ObjectStreamException.java
! 01868818240c4cc10cd9ea4fba05a7f4  libjava/classpath/java/io/ObjectStreamField.java
! a07922cc26856f9a684f7e3f02f03815  libjava/classpath/java/io/OptionalDataException.java
! 93b62e21323e1e05e51a3df3cbe48133  libjava/classpath/java/io/OutputStream.java
! 814b0369651b08349953c584f42629c2  libjava/classpath/java/io/OutputStreamWriter.java
! 8a59fa8a1335547cd950f6453e2d4aff  libjava/classpath/java/io/PipedInputStream.java
! a73ce79c4ff1d4bf0dde68992b2b74b0  libjava/classpath/java/io/PipedOutputStream.java
! 226727b7c58c6cbcae481010a0f26fa4  libjava/classpath/java/io/PipedReader.java
! 4db572ed5463da6fbedacefa394ed253  libjava/classpath/java/io/PipedWriter.java
! b24cfd8abe3ca38af6fe80f9a752c9f2  libjava/classpath/java/io/PrintStream.java
! 2cefd254a2f0432b6bda98d9f462ac00  libjava/classpath/java/io/PrintWriter.java
! a0a5b6413abc953c67b37641cc724d33  libjava/classpath/java/io/PushbackInputStream.java
! 9c8144557d51485c8452bc75e2b985f7  libjava/classpath/java/io/PushbackReader.java
! c5b62affcab5362f541f5102a3a01e96  libjava/classpath/java/io/RandomAccessFile.java
! bfc1694507ef25a2016654cf2032fdfc  libjava/classpath/java/io/Reader.java
! 9ac6fab1afc57d19e87a19a1075ed1a6  libjava/classpath/java/io/SequenceInputStream.java
! 160532df05be258e20157abd19075913  libjava/classpath/java/io/Serializable.java
! df539764d486b4e49a4cdb36d3b080ce  libjava/classpath/java/io/SerializablePermission.java
! c4ef1d6c9a84261d35ba2101a989925f  libjava/classpath/java/io/StreamCorruptedException.java
! 64019e0df9fa80671320374048a3d318  libjava/classpath/java/io/StreamTokenizer.java
! a964b818404a4377200d2bf90a18125e  libjava/classpath/java/io/StringBufferInputStream.java
! 08c2881279326c10af41279b5bc1b3c0  libjava/classpath/java/io/StringReader.java
! 6712047b4b8a68e5fd15a1e2babc9baf  libjava/classpath/java/io/StringWriter.java
! 5a491c502f2af3ab7452f2ed239d5d49  libjava/classpath/java/io/SyncFailedException.java
! b9de6ffe8aebbc04c19b36578c8bc671  libjava/classpath/java/io/UTFDataFormatException.java
! 994466674f59830dab9d07591e49d5c8  libjava/classpath/java/io/UnsupportedEncodingException.java
! 43728707bf9876cab58ff811545c070f  libjava/classpath/java/io/WriteAbortedException.java
! 16adf872846cbf23424f844dc7e3d971  libjava/classpath/java/io/Writer.java
! feeb281fd00b9f20a654729a6587a45f  libjava/classpath/java/io/class-dependencies.conf
! e1c0b47d8b8004676b88b0fd53b8d7c3  libjava/classpath/java/io/package.html
! ba760ba75214c17c11cfee9bca1f1495  libjava/classpath/java/lang/AbstractMethodError.java
! 1d2a171b1ed3586896d56dd02c1cb7f6  libjava/classpath/java/lang/Appendable.java
! bc1f05909895baa4dd541631d7eab5b2  libjava/classpath/java/lang/ArithmeticException.java
! 5c7f2f7b3a5e456b06b2349d646332b8  libjava/classpath/java/lang/ArrayIndexOutOfBoundsException.java
! 5d6f04355ed104784ed91849935aa41d  libjava/classpath/java/lang/ArrayStoreException.java
! 4eda676c77b806b83e71af4ede4df20a  libjava/classpath/java/lang/AssertionError.java
! 936913c1be139adfe32daee462bd15b1  libjava/classpath/java/lang/Boolean.java
! cde80c62849f52dd020e3659584fd64d  libjava/classpath/java/lang/Byte.java
! 91f4580f12be942ab346d97c9f54ec79  libjava/classpath/java/lang/CharSequence.java
! 96f3da9230e9069250a70b25a365a72d  libjava/classpath/java/lang/Character.java
! b9f4f28ef23d337fd766009a452839f1  libjava/classpath/java/lang/Class.java
! c1d85b40691f8c2b110f5f455fbc7472  libjava/classpath/java/lang/ClassCastException.java
! 1a36355c42ae5389e3109aa32a363247  libjava/classpath/java/lang/ClassCircularityError.java
! f57fa7d978419194baeae918b7e8afa8  libjava/classpath/java/lang/ClassFormatError.java
! df605db16d89e2206aae22acc31f63c1  libjava/classpath/java/lang/ClassLoader.java
! ddbf1011c41f100a30d6c79156129ea5  libjava/classpath/java/lang/ClassNotFoundException.java
! c2cb1cdb4b2835142c8a1c00a6d6d11c  libjava/classpath/java/lang/CloneNotSupportedException.java
! c6f6d64cf00ed8a31f75018a6faa9811  libjava/classpath/java/lang/Cloneable.java
! 206372f4314d7a1b820b1c1bfdb3afb6  libjava/classpath/java/lang/Comparable.java
! c438ef6330b8587cd7b0baada646a4cd  libjava/classpath/java/lang/Compiler.java
! 6cbd23cd709060c6af66192e87d9d2b8  libjava/classpath/java/lang/Double.java
! 29b3e6886fc8e12a21c93752ae3099ca  libjava/classpath/java/lang/EnumConstantNotPresentException.java
! c123c919fd20377ee8fea797c915de7f  libjava/classpath/java/lang/Error.java
! d9869a62642d5569010fd14e88eb0d4c  libjava/classpath/java/lang/Exception.java
! 0dbc0ec4df650cdc1fac88142c9ce8a7  libjava/classpath/java/lang/ExceptionInInitializerError.java
! 61b29f709839816d2df30431e9e304b4  libjava/classpath/java/lang/Float.java
! b01a8acc254f2b034ab37e497ade812d  libjava/classpath/java/lang/IllegalAccessError.java
! 18a8de113e5edcdb67e35826daf14ac6  libjava/classpath/java/lang/IllegalAccessException.java
! 23b27b70d74a34aad7ff22ad083bcad7  libjava/classpath/java/lang/IllegalArgumentException.java
! 14182599468b3ca25819f3566f4ddf8a  libjava/classpath/java/lang/IllegalMonitorStateException.java
! dfb4715acd509d524325f0467496cfe7  libjava/classpath/java/lang/IllegalStateException.java
! 454cc2be424b88ac6d8afe8a5c24df64  libjava/classpath/java/lang/IllegalThreadStateException.java
! 333118771ee34d6f6363113c098ea9a5  libjava/classpath/java/lang/IncompatibleClassChangeError.java
! 2fd3d6c2f0c4ccc1da0fba4088aad178  libjava/classpath/java/lang/IndexOutOfBoundsException.java
! d474cbb9cb29a58021e2e92186efdb18  libjava/classpath/java/lang/InheritableThreadLocal.java
! d57e56fe8c584725df9320c336d0ce86  libjava/classpath/java/lang/InstantiationError.java
! b267c63b409d02950cccc8ac84536bf5  libjava/classpath/java/lang/InstantiationException.java
! 2b5af644020c7e35a5bb940e31919e56  libjava/classpath/java/lang/Integer.java
! 596501440d14d3a0672475587617e950  libjava/classpath/java/lang/InternalError.java
! 7b77ff5020454dfe53b0620c5e3dec3f  libjava/classpath/java/lang/InterruptedException.java
! cad49ee721e3540e96b68b5509a13d71  libjava/classpath/java/lang/LinkageError.java
! c2a65f3c022421ac10e628cdab3f00fd  libjava/classpath/java/lang/Long.java
! 461c00865c16f0c8de073919c6927b32  libjava/classpath/java/lang/Math.java
! 2a286726871dc8fd076d292437d28cb4  libjava/classpath/java/lang/NegativeArraySizeException.java
! 4ba8d3784e601dc4903ec09bee833ec5  libjava/classpath/java/lang/NoClassDefFoundError.java
! cd3ab338752958e82db62023459ce0d7  libjava/classpath/java/lang/NoSuchFieldError.java
! 5be2e192b7a57f72ee6671cc07e3c8ff  libjava/classpath/java/lang/NoSuchFieldException.java
! 37d1ad496d9865f10eaf4329837f0ab7  libjava/classpath/java/lang/NoSuchMethodError.java
! dfc5093fa8e6048a714a1f01c6a53f45  libjava/classpath/java/lang/NoSuchMethodException.java
! bb2bdd11a068ddd2dff0293dc413a6ad  libjava/classpath/java/lang/NullPointerException.java
! 49c637f729ed1c32dd39d4136569047e  libjava/classpath/java/lang/Number.java
! a35874e689ae6bfc7187e6260180057f  libjava/classpath/java/lang/NumberFormatException.java
! a15a878864578df2b2a36974ee5263d5  libjava/classpath/java/lang/Object.java
! 0a27cb95598f8ab92a85208073b069a6  libjava/classpath/java/lang/OutOfMemoryError.java
! 480eb7625a26453e10099a18dc50f7d1  libjava/classpath/java/lang/Package.java
! 12a5fa032a011d42b9de4e5d775b998e  libjava/classpath/java/lang/Process.java
! ae596d4394a6a0c723c4dffd6187851c  libjava/classpath/java/lang/Readable.java
! 7770428d1685812dcda80d9b3574727c  libjava/classpath/java/lang/Runnable.java
! 38a06b8ad456dcbb0247772749e52fb0  libjava/classpath/java/lang/Runtime.java
! 3330ea1dfc439ed898baca6c16b0ff42  libjava/classpath/java/lang/RuntimeException.java
! e9a99219899897b8d75e696d7eb5911d  libjava/classpath/java/lang/RuntimePermission.java
! 58f257f7c0a90993ae93935f4b5e420e  libjava/classpath/java/lang/SecurityException.java
! 0b09b59bb5fc4200dd4acb1bbc77326b  libjava/classpath/java/lang/SecurityManager.java
! 2cadb68ee34e57053426443484c81acf  libjava/classpath/java/lang/Short.java
! 94f72f79a780d45162324c373f1038f9  libjava/classpath/java/lang/StackOverflowError.java
! f1aa20ef42afcd4c3c4e69c238544a45  libjava/classpath/java/lang/StackTraceElement.java
! 9283d315a963955495d4f176fbad8888  libjava/classpath/java/lang/StrictMath.java
! ef63727e2439d784a92933afd12f2625  libjava/classpath/java/lang/String.java
! 3c003c8f3e5c72d0ba7e61a932bfbb82  libjava/classpath/java/lang/StringBuffer.java
! 0ba2a79f31443ee211a3f775e598d69e  libjava/classpath/java/lang/StringBuilder.java
! 847361196ebef9b54643d2bcac2c8af0  libjava/classpath/java/lang/StringIndexOutOfBoundsException.java
! 9f341a6c0c40f92289fcc754dd242df1  libjava/classpath/java/lang/System.java
! 6ea81198308c6e9ebce08c253db7418a  libjava/classpath/java/lang/Thread.java
! 4886e25c137abb88a886b016e46cc40c  libjava/classpath/java/lang/ThreadDeath.java
! fe0517398fd7429163821e71295e05f2  libjava/classpath/java/lang/ThreadGroup.java
! 1b39e3e260dd34b2171a0fcfe25be253  libjava/classpath/java/lang/ThreadLocal.java
! 186106af37a1fba24197f3dcfb81a660  libjava/classpath/java/lang/Throwable.java
! 4179b30f474a39102c49ed0bf1c285a0  libjava/classpath/java/lang/TypeNotPresentException.java
! 964281fa894743283e28575467ca3ddc  libjava/classpath/java/lang/UnknownError.java
! 4c91726f1193c8a8259524065cf77d2b  libjava/classpath/java/lang/UnsatisfiedLinkError.java
! 8fac31c11caf2abd619d35024fa1b426  libjava/classpath/java/lang/UnsupportedClassVersionError.java
! ff0073ca3e8fd9ce1661f73af1c26f35  libjava/classpath/java/lang/UnsupportedOperationException.java
! 1487a0a42ce9ce603829b45492028f11  libjava/classpath/java/lang/VerifyError.java
! 919dec588a2480e49d3560efc40bf394  libjava/classpath/java/lang/VirtualMachineError.java
! 9a8fdef31710fec0e4002b5588aaceb4  libjava/classpath/java/lang/Void.java
! 99496e57dfa09b0652d5b7f6ffcf3d6e  libjava/classpath/java/lang/annotation/AnnotationFormatError.java
! 162ea506060d07a19223fcad689886cf  libjava/classpath/java/lang/annotation/AnnotationTypeMismatchException.java
! 22ca070ef5d38a181c4ae5baa097ee38  libjava/classpath/java/lang/annotation/package.html
! b4536fd67b7ba85b491fb6dab121b277  libjava/classpath/java/lang/class-dependencies.conf
! 5a115c34f3d237a2f76209117578959b  libjava/classpath/java/lang/package.html
! 476c783f2ad1e1f7ebb5eee4a8671fa8  libjava/classpath/java/lang/ref/PhantomReference.java
! 37a9f417c4ee25f5ff494e37753a43eb  libjava/classpath/java/lang/ref/Reference.java
! cd9bcf602da0540f96c98cf47b6a23e6  libjava/classpath/java/lang/ref/ReferenceQueue.java
! 07d55f1cab11b1724bcb4f848c581322  libjava/classpath/java/lang/ref/SoftReference.java
! bb4a1c7966e8d1e13efb0351c57e267b  libjava/classpath/java/lang/ref/WeakReference.java
! f82e394042da448171dfe3ae02c4d87b  libjava/classpath/java/lang/ref/package.html
! c03095419a6e2d5344d06e3c687e021c  libjava/classpath/java/lang/reflect/AccessibleObject.java
! c244ccb406d2c44a0cd3fe38f66e79b0  libjava/classpath/java/lang/reflect/Array.java
! 24deaa42e989f41526a2901ca135bc4f  libjava/classpath/java/lang/reflect/GenericArrayType.java
! db74c764747390b613d69681f6cc07bf  libjava/classpath/java/lang/reflect/GenericSignatureFormatError.java
! f572121339fe3fe78282f556e82f5f75  libjava/classpath/java/lang/reflect/InvocationHandler.java
! 19146ce26ce528b2d165ad219b4b0d3d  libjava/classpath/java/lang/reflect/InvocationTargetException.java
! 0dafaa8f69c49c2078a475fbd6c6ce9a  libjava/classpath/java/lang/reflect/Member.java
! 9ba1c68513319fb518596400b26ce45b  libjava/classpath/java/lang/reflect/Modifier.java
! 56533b729747e6dd76cbea81673b091a  libjava/classpath/java/lang/reflect/ParameterizedType.java
! 45c0f5616ac033d133c52f37e2f47cee  libjava/classpath/java/lang/reflect/Proxy.java
! 0cc473707874672ac32eb291094f49d6  libjava/classpath/java/lang/reflect/README
! dbc8cea6aa7a4dbc5bad2eaaf94d7516  libjava/classpath/java/lang/reflect/ReflectPermission.java
! ef8684c6f93632869e3f38dc5b9b62af  libjava/classpath/java/lang/reflect/TODO
! fe18bc8706e8e99718473c495032245b  libjava/classpath/java/lang/reflect/Type.java
! cfc879ec3442827752f6a4f29e89c574  libjava/classpath/java/lang/reflect/UndeclaredThrowableException.java
! cf6c95fa6d1a291fae6a2edf1d019d5b  libjava/classpath/java/lang/reflect/WildcardType.java
! 475bcfea083c9075cf7102bd92efd4e7  libjava/classpath/java/lang/reflect/package.html
! a4fbb99532dfd54bdb44966d49c39431  libjava/classpath/java/math/BigDecimal.java
! 9a0355a87730246b3b014946bf650dd6  libjava/classpath/java/math/BigInteger.java
! b4536fd67b7ba85b491fb6dab121b277  libjava/classpath/java/math/class-dependencies.conf
! 8defd38e3c4f8e3037b4751f79931428  libjava/classpath/java/math/package.html
! e240e49426238da19266fbca550ea507  libjava/classpath/java/net/Authenticator.java
! b8bda9c14043d578ab123ccf27a3c9fe  libjava/classpath/java/net/BindException.java
! 542b45cbd231d9442d5047df645153c3  libjava/classpath/java/net/ConnectException.java
! db67aec43784e621e542d6cf201f3edc  libjava/classpath/java/net/ContentHandler.java
! ff09d7fb408e73b31944ab8da5de1851  libjava/classpath/java/net/ContentHandlerFactory.java
! e23c6c3cc98b4653462d797bd763c5e5  libjava/classpath/java/net/DatagramPacket.java
! 3f4ca90c952bd54c2ae7ef2f465063b8  libjava/classpath/java/net/DatagramSocket.java
! ca69fdf3f11fbaa41a970a1e7e801b46  libjava/classpath/java/net/DatagramSocketImpl.java
! 6dda383bc3075ff7a1a69012bc9136e3  libjava/classpath/java/net/DatagramSocketImplFactory.java
! 61a5601d70bea30e77eedc5595aefc20  libjava/classpath/java/net/FileNameMap.java
! 584a5bb83a57a1d7bbbc66ebe382865c  libjava/classpath/java/net/HttpURLConnection.java
! b2ded1eca80aed3591101ece395783f1  libjava/classpath/java/net/Inet4Address.java
! 5f4e01468dfb02aaca6b0fff15cc499d  libjava/classpath/java/net/Inet6Address.java
! a0c99ebb2a87e0d12e4a60b79ca71053  libjava/classpath/java/net/InetAddress.java
! 1f5b8dc79e53c3681c7bae24b0855983  libjava/classpath/java/net/InetSocketAddress.java
! 3f0560e4b66601a0f66f3e7d81f09db2  libjava/classpath/java/net/JarURLConnection.java
! 7942627c1c7dff047391034699183061  libjava/classpath/java/net/MalformedURLException.java
! d1c12c73a6096b0f613ad16fee654b8c  libjava/classpath/java/net/MimeTypeMapper.java
! 175596c358ee08ad3ffb8cfff3fedf44  libjava/classpath/java/net/MulticastSocket.java
! 1208e199c7bc3b87550a84abbaa032e3  libjava/classpath/java/net/NetPermission.java
! 53fc84d507bed2c274f289583f78664a  libjava/classpath/java/net/NetworkInterface.java
! 360ba161604356de8de2535793d67890  libjava/classpath/java/net/NoRouteToHostException.java
! 5d9e1753a6fc2345bf094e5d156bbbf9  libjava/classpath/java/net/PasswordAuthentication.java
! 5b8fcbcaaef9dde47e2f7b368270aca2  libjava/classpath/java/net/PortUnreachableException.java
! 456bcd8f42e296d4c31de7453e5b522e  libjava/classpath/java/net/ProtocolException.java
! f4fdb62ef076543908ce26c9ddf46ce3  libjava/classpath/java/net/STATUS
! 4d8c62d757e29a0644c563923c98c482  libjava/classpath/java/net/ServerSocket.java
! 498ca5e67df10ef7f2d8258baedb87ac  libjava/classpath/java/net/Socket.java
! 9138fcf722d07066d8b5bba3b30dce2f  libjava/classpath/java/net/SocketAddress.java
! cee6ab374dfdb48f42cbebd602c55ea5  libjava/classpath/java/net/SocketException.java
! 77221a31ecc54d475b984f103d1a2c7a  libjava/classpath/java/net/SocketImpl.java
! f004005c01a9ab347d8212386babf435  libjava/classpath/java/net/SocketImplFactory.java
! a08f9d6d6b12d745f67b2565cabd9405  libjava/classpath/java/net/SocketOptions.java
! 3fe8c08259e5d6dbcfa9186334eaf337  libjava/classpath/java/net/SocketPermission.java
! f3494192902b17b849f6875a218463d8  libjava/classpath/java/net/SocketTimeoutException.java
! 69a36fec42d00490bd5c54afb8eea236  libjava/classpath/java/net/TODO
! 3d60923b96535b3d24e569449254b008  libjava/classpath/java/net/URI.java
! a4f509141094f7ca20497c93ab05b9cb  libjava/classpath/java/net/URISyntaxException.java
! 25bc852919779697f91840f6bd30c33a  libjava/classpath/java/net/URL.java
! 201f7542c1383e57044fdd806661e395  libjava/classpath/java/net/URLClassLoader.java
! 70c2a476d0dab4303f2042e694008eef  libjava/classpath/java/net/URLConnection.java
! fe228beb414d9935202985cf35c91b31  libjava/classpath/java/net/URLDecoder.java
! a0e1e8c00c8b2810bfe4ffa6fdd428f3  libjava/classpath/java/net/URLEncoder.java
! 0f73ab3d718be57391604382ed36e71b  libjava/classpath/java/net/URLStreamHandler.java
! 7c2a468e192dc6050ef0225d7159e734  libjava/classpath/java/net/URLStreamHandlerFactory.java
! 3688a0459616834c38aec6db63794545  libjava/classpath/java/net/UnknownHostException.java
! 2dcd95cba9bf28a19e850c6f6e957a0d  libjava/classpath/java/net/UnknownServiceException.java
! 6ce78a6e5ec995173014c15260d328c7  libjava/classpath/java/net/class-dependencies.conf
! ce5e7fa5557dd45abaace04270586832  libjava/classpath/java/net/package.html
! ca42311cb285b0ecbd18e6439a8542e4  libjava/classpath/java/nio/Buffer.java
! e046d4726ed5c54bd8da00a56c54fc75  libjava/classpath/java/nio/BufferOverflowException.java
! f4e7b30adbe8f8f68add28ea479dd6ec  libjava/classpath/java/nio/BufferUnderflowException.java
! 2e41bb2fc963ffc295e53dcd44848252  libjava/classpath/java/nio/ByteBuffer.java
! 56100d43638acd037e3338e30d965dd4  libjava/classpath/java/nio/ByteBufferHelper.java
! 316b6051d886452df21e4a4637c2184e  libjava/classpath/java/nio/ByteBufferImpl.java
! a6be57d969af975dd25dca49203d8fd5  libjava/classpath/java/nio/ByteOrder.java
! 7a8c97f366ecbce9a63d916357554584  libjava/classpath/java/nio/CharBuffer.java
! 390965c16abeba01f148bb8900f5bdc3  libjava/classpath/java/nio/CharBufferImpl.java
! 1e0f9a95ffafaa5b070558aadddc3c15  libjava/classpath/java/nio/CharViewBufferImpl.java
! 0479134e081d8933625dc1cae2de3d22  libjava/classpath/java/nio/DirectByteBufferImpl.java
! 06ea7c247ed5181c14e0ac0699597a14  libjava/classpath/java/nio/DoubleBuffer.java
! bdb96fdfa5b3e0bf4b11a804415c183b  libjava/classpath/java/nio/DoubleBufferImpl.java
! 948d8c46076a5107030c3fbc03f51e37  libjava/classpath/java/nio/DoubleViewBufferImpl.java
! 5f39e839b64b9fbca5a8c3c25bf0145c  libjava/classpath/java/nio/FloatBuffer.java
! d83a25fffd48d15b59798371ce1792bb  libjava/classpath/java/nio/FloatBufferImpl.java
! 2b4177904496dfed2f970dbf4732cd96  libjava/classpath/java/nio/FloatViewBufferImpl.java
! d649e621c190f0ab358e3f4d5ae9415a  libjava/classpath/java/nio/IntBuffer.java
! f09e374627ac38ea9e39a5cbbae1591c  libjava/classpath/java/nio/IntBufferImpl.java
! b9c32e38e5e30b1d5b5b4002ab81b844  libjava/classpath/java/nio/IntViewBufferImpl.java
! a9b412afd015373d82e82d5ab06e4765  libjava/classpath/java/nio/InvalidMarkException.java
! e4c9f18c414e5ad6e7d2b91783798472  libjava/classpath/java/nio/LongBuffer.java
! c5e2cdadb171805c6569c92fefc18f4c  libjava/classpath/java/nio/LongBufferImpl.java
! 8cadddea4254c1e45b4abd9fc8f23905  libjava/classpath/java/nio/LongViewBufferImpl.java
! fa0bc42b2799d3e656aed4805f9da93b  libjava/classpath/java/nio/MappedByteBuffer.java
! 1873674017ec49dc75858b989bf309cc  libjava/classpath/java/nio/MappedByteBufferImpl.java
! 6f289832c372be8f2c43c246cd5b23f3  libjava/classpath/java/nio/ReadOnlyBufferException.java
! 462b0a0c06523378932287c3eecf4c72  libjava/classpath/java/nio/ShortBuffer.java
! 4ac0b85068e67df00c8bd2b89475134b  libjava/classpath/java/nio/ShortBufferImpl.java
! 03a5a5f334651886ef308bad391d8b80  libjava/classpath/java/nio/ShortViewBufferImpl.java
! 1baa8f7e6d0091be93376520cc9a499c  libjava/classpath/java/nio/channels/AlreadyConnectedException.java
! dbea6067018e55f771e45828dfb1a226  libjava/classpath/java/nio/channels/AsynchronousCloseException.java
! 710d8710ee888ac74782a1f986d8e4ff  libjava/classpath/java/nio/channels/ByteChannel.java
! 066fdc1bdc4058003a205a5760660ff9  libjava/classpath/java/nio/channels/CancelledKeyException.java
! 95ff4fbbf373ea0ea2bd78b67b185f5d  libjava/classpath/java/nio/channels/Channel.java
! 8b73e283f384644a5040d9d453740d87  libjava/classpath/java/nio/channels/Channels.java
! d379b9595a6a9f99847d64d25a30b6a9  libjava/classpath/java/nio/channels/ClosedByInterruptException.java
! 527dc7b3ddd0e25f0ec38ef4669340c5  libjava/classpath/java/nio/channels/ClosedChannelException.java
! 6f8af487356f4e145ec665277d3574ed  libjava/classpath/java/nio/channels/ClosedSelectorException.java
! 71f4ca17af65df782769046dbc9b69a2  libjava/classpath/java/nio/channels/ConnectionPendingException.java
! 071e60d487507fe500e262a6d3900e76  libjava/classpath/java/nio/channels/DatagramChannel.java
! ef90ba9d11f8ad06641ad9236540f095  libjava/classpath/java/nio/channels/FileChannel.java
! 025274cca594d5c9915db4d730715492  libjava/classpath/java/nio/channels/FileLock.java
! a50d0b33d4e12ff2b4b64772b0996ba1  libjava/classpath/java/nio/channels/FileLockInterruptionException.java
! dbbd5ca9e0654968156365b154d65ea5  libjava/classpath/java/nio/channels/GatheringByteChannel.java
! fb6ce4f1ade957dcc39c705e234b45c7  libjava/classpath/java/nio/channels/IllegalBlockingModeException.java
! f456aebb1148eccb320d013a59e08afc  libjava/classpath/java/nio/channels/IllegalSelectorException.java
! 98fabd3cddf9361fc8658090d93f3bce  libjava/classpath/java/nio/channels/InterruptibleChannel.java
! 769574229958856c3adf64709a9fadd0  libjava/classpath/java/nio/channels/NoConnectionPendingException.java
! 51c1bef6d0315f5c132eb01d4ec59eda  libjava/classpath/java/nio/channels/NonReadableChannelException.java
! 6ae8d9a3c4e8ff54bfda7e876f0bfa44  libjava/classpath/java/nio/channels/NonWritableChannelException.java
! 13281f339f83807dee344596e5b8cb48  libjava/classpath/java/nio/channels/NotYetBoundException.java
! 512a0d1f9d00ce908576bb46c084ccbd  libjava/classpath/java/nio/channels/NotYetConnectedException.java
! 2fcaa4e389400eb03009544f6cd75e82  libjava/classpath/java/nio/channels/OverlappingFileLockException.java
! 3497df48040665cb2d895dcde932c3a9  libjava/classpath/java/nio/channels/Pipe.java
! f2d3e64e0d0da6373145cefa1bcfcf90  libjava/classpath/java/nio/channels/ReadableByteChannel.java
! ec73d2c8e604493fee13b81b2ef4d841  libjava/classpath/java/nio/channels/ScatteringByteChannel.java
! b0bbbff3f597e764fa064458f790641d  libjava/classpath/java/nio/channels/SelectableChannel.java
! 9101adbff9d14477ba901f4d015703da  libjava/classpath/java/nio/channels/SelectionKey.java
! 8c210ff474d55d598bd90409d8bfd312  libjava/classpath/java/nio/channels/Selector.java
! 70c053154a0d4d59a19eb316b0905d68  libjava/classpath/java/nio/channels/ServerSocketChannel.java
! 5d698004defa43ee535b988f74456f0f  libjava/classpath/java/nio/channels/SocketChannel.java
! 5502203c4e5449213bbcc8239b7824a0  libjava/classpath/java/nio/channels/UnresolvedAddressException.java
! c2f7ce17e79fb1b7b7550c32b49dabde  libjava/classpath/java/nio/channels/UnsupportedAddressTypeException.java
! d159355f26b1dc9138eabb7923035828  libjava/classpath/java/nio/channels/WritableByteChannel.java
! 0f3153b380b4e2315b01e35d4c5d30e7  libjava/classpath/java/nio/channels/package.html
! 55e9c9e704f1e0d3b769650f262d5b7f  libjava/classpath/java/nio/channels/spi/AbstractInterruptibleChannel.java
! b1d23b25f92a5bec80739875856558eb  libjava/classpath/java/nio/channels/spi/AbstractSelectableChannel.java
! b03f06bd33f8c1704d60fae0518aa6fd  libjava/classpath/java/nio/channels/spi/AbstractSelectionKey.java
! bbf4e7ae0d4794a4873eaf3bbdc04ca0  libjava/classpath/java/nio/channels/spi/AbstractSelector.java
! 9118d150a0d713011789608fbaaa44cf  libjava/classpath/java/nio/channels/spi/SelectorProvider.java
! c35632e01c2a9b7d3034e94e041d1b4a  libjava/classpath/java/nio/channels/spi/package.html
! cf393fbbd101f728e87850d056dbcf9b  libjava/classpath/java/nio/charset/CharacterCodingException.java
! ff69609b6c17d54eb9b732fccee7b4b6  libjava/classpath/java/nio/charset/Charset.java
! 930a386b1d01e878089f4c7ab4170772  libjava/classpath/java/nio/charset/CharsetDecoder.java
! 4d9ed43a0ca6ac9d70f2816bd1270216  libjava/classpath/java/nio/charset/CharsetEncoder.java
! 07843d2cc2ca591c0831630ec8012682  libjava/classpath/java/nio/charset/CoderMalfunctionError.java
! 5e746f31faff5ba40db3a06b08946f12  libjava/classpath/java/nio/charset/CoderResult.java
! 63c001554da99c55708fa76da5530812  libjava/classpath/java/nio/charset/CodingErrorAction.java
! 5fac3903986060fab17142496da75255  libjava/classpath/java/nio/charset/IllegalCharsetNameException.java
! 74989bdcd9effb82e405af3ba3ee19e5  libjava/classpath/java/nio/charset/MalformedInputException.java
! dfd0e50b4278667f745e7c012afeb2a4  libjava/classpath/java/nio/charset/UnmappableCharacterException.java
! 03d71e2a3904df83ae6f1b9111cea5e8  libjava/classpath/java/nio/charset/UnsupportedCharsetException.java
! 27f0705edade0984daacb7e6606a5b81  libjava/classpath/java/nio/charset/package.html
! 4122023d26c3f4763758ec56b4736d37  libjava/classpath/java/nio/charset/spi/CharsetProvider.java
! a62abdaf9a08188a02e42b8e2319f0f1  libjava/classpath/java/nio/charset/spi/package.html
! b4536fd67b7ba85b491fb6dab121b277  libjava/classpath/java/nio/class-dependencies.conf
! de9fb35db2714bd8b05b4ee71d9ef71a  libjava/classpath/java/nio/package.html
! 55db193cf4180104111a432455a607f0  libjava/classpath/java/rmi/AccessException.java
! bc602e13262972bcaafac796210cab12  libjava/classpath/java/rmi/AlreadyBoundException.java
! d91201193e6dcbbf621b1714ad5c462a  libjava/classpath/java/rmi/ConnectException.java
! 05faded6f964ab134e97d7c7d7cd9886  libjava/classpath/java/rmi/ConnectIOException.java
! 21b1ecae857e1b9258737df2d9f3277d  libjava/classpath/java/rmi/MarshalException.java
! f4a92d406a294ccc3bbab9ab4b3e44ca  libjava/classpath/java/rmi/MarshalledObject.java
! 50762d6755f86bb3b706a20edffd58d7  libjava/classpath/java/rmi/Naming.java
! 83aef773e84334c191f51eb547726c0b  libjava/classpath/java/rmi/NoSuchObjectException.java
! 73051fbc73430daa5e5b0cc4077bf76f  libjava/classpath/java/rmi/NotBoundException.java
! ffedc825e80aebdce901701952939ac4  libjava/classpath/java/rmi/RMISecurityException.java
! 5c91245e61b344b8403a0db0288dae3a  libjava/classpath/java/rmi/RMISecurityManager.java
! dd50d1cdac650fb71f7b03b0c694c616  libjava/classpath/java/rmi/Remote.java
! c189269db95d5c38d6533806453206fd  libjava/classpath/java/rmi/RemoteException.java
! 6643082f5790658a62bc72427583ac44  libjava/classpath/java/rmi/ServerError.java
! 52ff2bcc91df521b96236cf9b2d3c4d0  libjava/classpath/java/rmi/ServerException.java
! cf0bd8d7ff33b35fa22ccc364c7cc549  libjava/classpath/java/rmi/ServerRuntimeException.java
! 4c4902cb0d529125068c7cc696325658  libjava/classpath/java/rmi/StubNotFoundException.java
! 438ed6feb2cced9769ffcc771464bd6d  libjava/classpath/java/rmi/UnexpectedException.java
! ee92323722063d332d0b0144de76d53b  libjava/classpath/java/rmi/UnknownHostException.java
! 40c103ba30e6b811a3073fb2eca6f403  libjava/classpath/java/rmi/UnmarshalException.java
! f37476820202e95cf9c8989693fdc060  libjava/classpath/java/rmi/activation/Activatable.java
! c39bc3fab34c6289fa9a5bf7081ab1e8  libjava/classpath/java/rmi/activation/ActivateFailedException.java
! e3cda4691e78a924499c9fd45179f510  libjava/classpath/java/rmi/activation/ActivationDesc.java
! 7b91e14f3f3eeb929eb97d18c155c4ec  libjava/classpath/java/rmi/activation/ActivationException.java
! 56f9222e255a6849c8ea45efd143a31a  libjava/classpath/java/rmi/activation/ActivationGroup.java
! 3b4da6e5c84ecf1a420f1a8671eee45c  libjava/classpath/java/rmi/activation/ActivationGroupDesc.java
! 7ba006054365d7cf8bf6381e504be2d3  libjava/classpath/java/rmi/activation/ActivationGroupID.java
! a79f1f0045eab7681dc1eb775b7cd0f5  libjava/classpath/java/rmi/activation/ActivationGroup_Stub.java
! 995fc00e4cd4dffb485f3431345750bc  libjava/classpath/java/rmi/activation/ActivationID.java
! 44bdfac3397ef19c76b458ae124b01aa  libjava/classpath/java/rmi/activation/ActivationInstantiator.java
! 039fc59ae4b11519337a281cd6bc824b  libjava/classpath/java/rmi/activation/ActivationMonitor.java
! 3463da4fa0a984fd824aaf4a12e2842a  libjava/classpath/java/rmi/activation/ActivationSystem.java
! 9dc0a44ab04c9fe371cb66924e16306a  libjava/classpath/java/rmi/activation/Activator.java
! 7cfcc931820749c6a726d9bce79059e9  libjava/classpath/java/rmi/activation/UnknownGroupException.java
! 79a1355fcbf8219dc0662cc9d3fde45f  libjava/classpath/java/rmi/activation/UnknownObjectException.java
! 4159b55d2843cc954ebaac9bcf91c39d  libjava/classpath/java/rmi/activation/package.html
! 352fdd64b3d385f765f234c68897560e  libjava/classpath/java/rmi/dgc/DGC.java
! ffe726e390bd764fc4ddf9d4f92352df  libjava/classpath/java/rmi/dgc/Lease.java
! 6d7322b6572c856c68d5e87aad440c67  libjava/classpath/java/rmi/dgc/VMID.java
! 3ba9b23add0ea5271f2b06975e2819af  libjava/classpath/java/rmi/dgc/package.html
! 7026205ea378c525c63207daa3bb9681  libjava/classpath/java/rmi/package.html
! 0806abe97e43a40097f3cca0a3f5fe5f  libjava/classpath/java/rmi/registry/LocateRegistry.java
! 3ff354abbce1b7b105841e0cff3d8f0d  libjava/classpath/java/rmi/registry/Registry.java
! 6ac0c85502b97b46a3b0ab60b6e66702  libjava/classpath/java/rmi/registry/RegistryHandler.java
! d6c38dbd6907e1cf4ce141cfe8c3bd4a  libjava/classpath/java/rmi/registry/package.html
! 09e7556e8f940b5726a8d62201ebaced  libjava/classpath/java/rmi/server/ExportException.java
! 28f98a9bc4600196a568e10e318859a2  libjava/classpath/java/rmi/server/LoaderHandler.java
! 983470717ac60eccca85005bb4bae0e1  libjava/classpath/java/rmi/server/LogStream.java
! 014fb105c3cc60ffa724911c08fb74be  libjava/classpath/java/rmi/server/ObjID.java
! 2e0f59770f99f3648fcd709f657bca7e  libjava/classpath/java/rmi/server/Operation.java
! fe69b01715ac0f430d8176dee95d540a  libjava/classpath/java/rmi/server/RMIClassLoader.java
! cd304d0be61b59f8ff0ae108337606cb  libjava/classpath/java/rmi/server/RMIClassLoaderSpi.java
! e42949a32303081bd22690941c759fe0  libjava/classpath/java/rmi/server/RMIClientSocketFactory.java
! 2916ab987ecb158afe92324d71a3f2f0  libjava/classpath/java/rmi/server/RMIFailureHandler.java
! c2e49be768870d8621f0f18ee8fad01c  libjava/classpath/java/rmi/server/RMIServerSocketFactory.java
! 20da1c8e8284c878161a26df03020fde  libjava/classpath/java/rmi/server/RMISocketFactory.java
! cba9bec699b833be023cba35ee19a464  libjava/classpath/java/rmi/server/RemoteCall.java
! f346407ac829c25edf0113444aee6e6b  libjava/classpath/java/rmi/server/RemoteObject.java
! 51eb2d61db0e8cbac1329de09b6d3643  libjava/classpath/java/rmi/server/RemoteRef.java
! 05db2b8d6da7f572208dbee3ec2557bc  libjava/classpath/java/rmi/server/RemoteServer.java
! 0163676bedf99d397e6a178c419209fa  libjava/classpath/java/rmi/server/RemoteStub.java
! e4916ba48e2e6824e3acd1bfadf4f7ef  libjava/classpath/java/rmi/server/ServerCloneException.java
! f428cc81a9d95dbcb5562018c3fd517c  libjava/classpath/java/rmi/server/ServerNotActiveException.java
! e1294452d39988099776509b3d88904c  libjava/classpath/java/rmi/server/ServerRef.java
! ec1233b1590c6e1212609a57d7bae909  libjava/classpath/java/rmi/server/Skeleton.java
! 8b7cea03f72ac2c5d6902550ee6b362f  libjava/classpath/java/rmi/server/SkeletonMismatchException.java
! bfdb0fa8e4c4ea2a6ced7e5c3d578633  libjava/classpath/java/rmi/server/SkeletonNotFoundException.java
! 4b2b55eb68a5fb44448d4b995e82457f  libjava/classpath/java/rmi/server/SocketSecurityException.java
! 7280a627fa2c0f08f1f442e51711db4d  libjava/classpath/java/rmi/server/UID.java
! 94565b31664949678968edddc6e04c48  libjava/classpath/java/rmi/server/UnicastRemoteObject.java
! 24ff72b02694583761f264c968921694  libjava/classpath/java/rmi/server/Unreferenced.java
! 7e90b7106e0dd10c2914766c94b14b8c  libjava/classpath/java/rmi/server/package.html
! 61e160bd329332a4e18d8cc9bc34560d  libjava/classpath/java/security/AccessControlContext.java
! fd964179ce0a5fa081d61c0efaae7cc5  libjava/classpath/java/security/AccessControlException.java
! c8b55d6e59e00618af3c40c27c5ced7e  libjava/classpath/java/security/AccessController.java
! ad8fd4a96e0c6d7971a2217ae8a401d7  libjava/classpath/java/security/AlgorithmParameterGenerator.java
! 5d533754e1cff641a0024f97352ddaf6  libjava/classpath/java/security/AlgorithmParameterGeneratorSpi.java
! 8774a787c71719fa5a723b970ff5a054  libjava/classpath/java/security/AlgorithmParameters.java
! 11c816e119c4381a752084d2720eb8a7  libjava/classpath/java/security/AlgorithmParametersSpi.java
! e88b13ac57184952ab51a5d1a58311dd  libjava/classpath/java/security/AllPermission.java
! 5f81d9cf8b7a861d2a619d6d9f301b5f  libjava/classpath/java/security/BasicPermission.java
! f77c6c76fb03f025b0bcfc42e31762be  libjava/classpath/java/security/Certificate.java
! 68cd1cf7c0541f82f6ae30152e756672  libjava/classpath/java/security/CodeSource.java
! 053a1ea24285fb1897514a6c7c5cdd80  libjava/classpath/java/security/DigestException.java
! d2d28b9be29ca116a4cb1ff406ea2a80  libjava/classpath/java/security/DigestInputStream.java
! ebe6d0b554a67cab0a83c3e5e6f26ec1  libjava/classpath/java/security/DigestOutputStream.java
! 57cb783a6d50277f86b50f5873860196  libjava/classpath/java/security/DomainCombiner.java
! 04ea8dc20278396210a8518d6497a105  libjava/classpath/java/security/DummyKeyPairGenerator.java
! 0250f4df8bab0c1a07cb022372b532b7  libjava/classpath/java/security/DummyMessageDigest.java
! 4835e3f7f9b5f41817be7344098134b1  libjava/classpath/java/security/DummySignature.java
! f1d031248bccdc8a86b091b9d75845ee  libjava/classpath/java/security/GeneralSecurityException.java
! 08c38aa2cbc0c5c1f5d8f9e44dfb1448  libjava/classpath/java/security/Guard.java
! c9dd05a404fe8f227afde943a23f1125  libjava/classpath/java/security/GuardedObject.java
! 5195cf1da538fdfa2bb5c4adcd2b501b  libjava/classpath/java/security/Identity.java
! d3ac8776edd67d9dac2421a62631ccf1  libjava/classpath/java/security/IdentityScope.java
! f54607d2308755f00a1beb3210f11de5  libjava/classpath/java/security/IntersectingDomainCombiner.java
! b1ecd82caeff4d489e409d57ec76ef27  libjava/classpath/java/security/InvalidAlgorithmParameterException.java
! 227cd12a2c035109f0e58887b3f0e661  libjava/classpath/java/security/InvalidKeyException.java
! 63ca641212357554b43d13534bc097cf  libjava/classpath/java/security/InvalidParameterException.java
! 6146dcb5a628085b4bfbc7585d3c9c1c  libjava/classpath/java/security/Key.java
! 3943f2114cea21f5f8202c725e4869e2  libjava/classpath/java/security/KeyException.java
! 8eb8f2c5714d39f7f09820f8b3b183a5  libjava/classpath/java/security/KeyFactory.java
! 340e4721b23a072445dcbd6f4a7da037  libjava/classpath/java/security/KeyFactorySpi.java
! 153c67d6e26c39d55bf0f0289118c5ed  libjava/classpath/java/security/KeyManagementException.java
! afcc9074f4f46221f8fbf330ffcff5b0  libjava/classpath/java/security/KeyPair.java
! 8fe594131a5f9815f799eedeeb9ddc9a  libjava/classpath/java/security/KeyPairGenerator.java
! 3fe5841742fc3c72e47653aa0cf49fcc  libjava/classpath/java/security/KeyPairGeneratorSpi.java
! ed0c7c0e86fe344584d95296bb02f1b3  libjava/classpath/java/security/KeyStore.java
! dfe7082b75c9812edf726d9b15e4930c  libjava/classpath/java/security/KeyStoreException.java
! 3df6b037f6fe9e0ad6033ffa77fc8ec6  libjava/classpath/java/security/KeyStoreSpi.java
! 19c05f72b13cc0f360382217b91e9507  libjava/classpath/java/security/MessageDigest.java
! 7ae506e74047906f74f420a6d1bb2ae9  libjava/classpath/java/security/MessageDigestSpi.java
! b2a0482a8305c3eac96405d31a3e7cbd  libjava/classpath/java/security/NoSuchAlgorithmException.java
! ebf6a2ddaada7218f7c78b435c147feb  libjava/classpath/java/security/NoSuchProviderException.java
! 6f7abbe8090ab7d69d43fd3c59e673d6  libjava/classpath/java/security/Permission.java
! f2158bb91aa394565e6952a65118aa21  libjava/classpath/java/security/PermissionCollection.java
! c8b4e9fda9fca8ce98d38e25f045ecb1  libjava/classpath/java/security/Permissions.java
! 0fdb137e7fb2a113553f02b37a3b497f  libjava/classpath/java/security/Policy.java
! aff1b5f9ed795f6685961b784f48c48c  libjava/classpath/java/security/Principal.java
! cc8b958ace9378f7a565eaf3d4d7a2e3  libjava/classpath/java/security/PrivateKey.java
! c0ee998cafb42c373db7296e12f43f37  libjava/classpath/java/security/PrivilegedAction.java
! c03f81c5ad14653e85a32bc042a4cc24  libjava/classpath/java/security/PrivilegedActionException.java
! b03e9b6495006f370c2284dfea732bfc  libjava/classpath/java/security/PrivilegedExceptionAction.java
! 22caa2e7bdd8936295656e10535ff243  libjava/classpath/java/security/ProtectionDomain.java
! 05e17970f22b4482300351b03d270f60  libjava/classpath/java/security/Provider.java
! 8d9652777d9709be7b4c60d4e3dc68cf  libjava/classpath/java/security/ProviderException.java
! aef8bc6ec4103dde0d0d299bf06eace0  libjava/classpath/java/security/PublicKey.java
! a859e9032b578e9a110c5d9af30c7f07  libjava/classpath/java/security/SecureClassLoader.java
! 2b6534cc6699c0beac3b04793177bff5  libjava/classpath/java/security/SecureRandom.java
! ed2c54fbffd3e5b157db6c2e043ffd8f  libjava/classpath/java/security/SecureRandomSpi.java
! 9295b45daec759652858a6436ed7426c  libjava/classpath/java/security/Security.java
! 15be5db5f2930f64f30a847cba977af2  libjava/classpath/java/security/SecurityPermission.java
! 871c5894330b7e414e7af564e386c4e8  libjava/classpath/java/security/Signature.java
! 613c8edd81d53f9063ad4adb97e892b0  libjava/classpath/java/security/SignatureException.java
! 344f8e89735e6654f34aab5c6710ee25  libjava/classpath/java/security/SignatureSpi.java
! f1b76b3fe56537216e8d22845209d3ed  libjava/classpath/java/security/SignedObject.java
! ba5ce8b927d517650d4a8dfb64e7d7a9  libjava/classpath/java/security/Signer.java
! e0e93bc8d1d700ce5c467dffb22568b7  libjava/classpath/java/security/UnrecoverableKeyException.java
! f1fc021354b1b21229e7e4a74dd2ffd2  libjava/classpath/java/security/UnresolvedPermission.java
! bd291151c60161bffdc6b1b1c7355064  libjava/classpath/java/security/acl/Acl.java
! e8100b361e2e2a059ed8f3f2c08801f5  libjava/classpath/java/security/acl/AclEntry.java
! 4cbc804434330a49458674f17b9ff437  libjava/classpath/java/security/acl/AclNotFoundException.java
! 89199785b1eadfb75126fa49f9311e78  libjava/classpath/java/security/acl/Group.java
! af8385d9a4e2330f6ecf302a7ad393ca  libjava/classpath/java/security/acl/LastOwnerException.java
! d6ce017c46c54ce8584678f5637f5a18  libjava/classpath/java/security/acl/NotOwnerException.java
! f8896bfb4866b51604a8ba0f30347094  libjava/classpath/java/security/acl/Owner.java
! c943ec245d2f2012c6d7d8e92dbdfe64  libjava/classpath/java/security/acl/Permission.java
! cdabf40dae0cb3c4a7306b9f1a3962e5  libjava/classpath/java/security/acl/package.html
! 62aab69439ccfaa135567107f805a0c7  libjava/classpath/java/security/cert/CRL.java
! 10dd46d06d4508c08dd8537b63bd3b10  libjava/classpath/java/security/cert/CRLException.java
! 7f3acd4fb7a7f3eb7faf56494f4f6f36  libjava/classpath/java/security/cert/CRLSelector.java
! e6c859d4b5e1bf4a44d99f6389687def  libjava/classpath/java/security/cert/CertPath.java
! 0c3afebc76e0b7a8bf835c32cdf0500e  libjava/classpath/java/security/cert/CertPathBuilder.java
! 3b94882f6549ff2888d85d59c308dfae  libjava/classpath/java/security/cert/CertPathBuilderException.java
! 29f5befe4a23c182983850f80fa41e3a  libjava/classpath/java/security/cert/CertPathBuilderResult.java
! 201612f11652f144666a27e2d345da3f  libjava/classpath/java/security/cert/CertPathBuilderSpi.java
! 0f122137df44b95e4e9dc902826e2a15  libjava/classpath/java/security/cert/CertPathParameters.java
! 8f555aea699c158fbb99c83ad7808d8f  libjava/classpath/java/security/cert/CertPathValidator.java
! d1391ddd4cf648c4958a7352f7c76d72  libjava/classpath/java/security/cert/CertPathValidatorException.java
! 8a3742ff121f8075dc6df122cd758675  libjava/classpath/java/security/cert/CertPathValidatorResult.java
! ffb4206b19b9eeeb81c3d36d3ae897fe  libjava/classpath/java/security/cert/CertPathValidatorSpi.java
! cf588cd085700789f6a73c4c1912f1ac  libjava/classpath/java/security/cert/CertSelector.java
! 385aff28b9e65f825c6f015469cd6204  libjava/classpath/java/security/cert/CertStore.java
! 98a85fc8557d0f6dc0bf4ef75886362e  libjava/classpath/java/security/cert/CertStoreException.java
! e0257c581bcc1203be1e5211295b7175  libjava/classpath/java/security/cert/CertStoreParameters.java
! 8ce4a07b4f45e02aa41df59f0bf25e37  libjava/classpath/java/security/cert/CertStoreSpi.java
! 0f70a2aa0b874dc13d094ee85664abac  libjava/classpath/java/security/cert/Certificate.java
! 7a8f8f589e905f1a7f76653563583a7b  libjava/classpath/java/security/cert/CertificateEncodingException.java
! f474f8c6f8cdd8386241645bba4539f3  libjava/classpath/java/security/cert/CertificateException.java
! cc1efb0d663158368cfd6eadf10b9906  libjava/classpath/java/security/cert/CertificateExpiredException.java
! 94f9dfc1366d22e028fc27084d1ff28b  libjava/classpath/java/security/cert/CertificateFactory.java
! e7aafa738bb5be8473970432c78b711c  libjava/classpath/java/security/cert/CertificateFactorySpi.java
! e347633cc60a34933c6db321bb97f14e  libjava/classpath/java/security/cert/CertificateNotYetValidException.java
! 827f0f180ab38ff343692d424eeb7de2  libjava/classpath/java/security/cert/CertificateParsingException.java
! 48d2fb5a3ee076a062bb422c53c41ea6  libjava/classpath/java/security/cert/CollectionCertStoreParameters.java
! bec90d9fe88108ca552f500118095231  libjava/classpath/java/security/cert/LDAPCertStoreParameters.java
! 8fd651f0365c86017dd8cc15b41edc0b  libjava/classpath/java/security/cert/PKIXBuilderParameters.java
! a13405cea6c59d363307edf637a30d1e  libjava/classpath/java/security/cert/PKIXCertPathBuilderResult.java
! f4625d2c67bca6b005099c2585350b2f  libjava/classpath/java/security/cert/PKIXCertPathChecker.java
! 9b6ddca50ceceeccadaaafadd1f7a623  libjava/classpath/java/security/cert/PKIXCertPathValidatorResult.java
! a4030d3d12ec955a230992c49c936636  libjava/classpath/java/security/cert/PKIXParameters.java
! 11804974a32af4f2604b8d10d8bbbe3d  libjava/classpath/java/security/cert/PolicyNode.java
! c75270a12a37e1f2f826345675567075  libjava/classpath/java/security/cert/PolicyQualifierInfo.java
! 0e56b5f98856ebe5a8e5667898bef41e  libjava/classpath/java/security/cert/TrustAnchor.java
! 832b2afb07c4a9b61c3d5554c96c1ab9  libjava/classpath/java/security/cert/X509CRL.java
! befd7aa98aeddab3453eec309d910e3b  libjava/classpath/java/security/cert/X509CRLEntry.java
! 24aae212a1041b29dc87e47d55c4c44a  libjava/classpath/java/security/cert/X509CRLSelector.java
! f354ae82e4ca45a5c570edfc3f4e64e1  libjava/classpath/java/security/cert/X509CertSelector.java
! 44b8a9e49216d407009b0576fde854f3  libjava/classpath/java/security/cert/X509Certificate.java
! 0c6d9f4c2d652b4d414a4385ea093faf  libjava/classpath/java/security/cert/X509Extension.java
! c3423f3c8156f830764e8c4672862a03  libjava/classpath/java/security/cert/package.html
! 3351d48b7e9f8e2bbf15d73522bf28f7  libjava/classpath/java/security/interfaces/DSAKey.java
! 15d4d76cd8aa3753eef93c780e0ceb07  libjava/classpath/java/security/interfaces/DSAKeyPairGenerator.java
! c99bb308f00a444d15635ef21a050e4f  libjava/classpath/java/security/interfaces/DSAParams.java
! fbf077203a5aaabf397a2e55aa6647d4  libjava/classpath/java/security/interfaces/DSAPrivateKey.java
! 1affac5a8987c326f11e60567549703d  libjava/classpath/java/security/interfaces/DSAPublicKey.java
! 620a36085872af9e95936d550b238b57  libjava/classpath/java/security/interfaces/RSAKey.java
! 8308068688cf5ee1f7a78e250bee4001  libjava/classpath/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java
! b29d83681ba7fe7dce4f23581d647892  libjava/classpath/java/security/interfaces/RSAPrivateCrtKey.java
! c41db653d120214333a9fb15bc544ada  libjava/classpath/java/security/interfaces/RSAPrivateKey.java
! 3c4b38c77b66fa890c57d2bfe231b8b9  libjava/classpath/java/security/interfaces/RSAPublicKey.java
! 6a114adf8fd1d801c13fe6a1da45ce26  libjava/classpath/java/security/interfaces/package.html
! c0dd03db6d5ff5c846782bc78f4cbcdb  libjava/classpath/java/security/package.html
! 504968157e2e72ffdaa1fc0920cd5243  libjava/classpath/java/security/spec/AlgorithmParameterSpec.java
! dd3b466b24c853b7d7a7a468ea618c28  libjava/classpath/java/security/spec/DSAParameterSpec.java
! a679f78c9ab4cb551f222002c97df07f  libjava/classpath/java/security/spec/DSAPrivateKeySpec.java
! 7f20cd2cc203be0823ecb2f7bcfbbb7f  libjava/classpath/java/security/spec/DSAPublicKeySpec.java
! 6b3ea5c42ff1e904982138ce48ca1552  libjava/classpath/java/security/spec/EncodedKeySpec.java
! 51d3ced10e5ea3b8f047a83a82186178  libjava/classpath/java/security/spec/InvalidKeySpecException.java
! 436ce8a5c4de4bdb08fac2beb4f96303  libjava/classpath/java/security/spec/InvalidParameterSpecException.java
! b23f9578b2228e126305799413ad6482  libjava/classpath/java/security/spec/KeySpec.java
! a63c7c6b67148cea49b8047b8658cb05  libjava/classpath/java/security/spec/PKCS8EncodedKeySpec.java
! 3d226ef9f45b36a29ed2772d6ef43325  libjava/classpath/java/security/spec/PSSParameterSpec.java
! e30b7bea659b3dce61195e2e6026c1fe  libjava/classpath/java/security/spec/RSAKeyGenParameterSpec.java
! 606fae3cbe9109017a5e744278ecd80b  libjava/classpath/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java
! 7181d3ccf7c5257e69c2e1155edd3d21  libjava/classpath/java/security/spec/RSAOtherPrimeInfo.java
! 291c6f4fb0097080f3707e0a30680f0a  libjava/classpath/java/security/spec/RSAPrivateCrtKeySpec.java
! 4fe6b6444d304ad18ed2f0ea14208647  libjava/classpath/java/security/spec/RSAPrivateKeySpec.java
! 6853669b0b591abc02bfcf79c5e41236  libjava/classpath/java/security/spec/RSAPublicKeySpec.java
! 6afdc79de3bea4b8c36c30e54a0f19d7  libjava/classpath/java/security/spec/X509EncodedKeySpec.java
! 7bb29884b71c2ba7b4a7fdbb9ebd8ac2  libjava/classpath/java/security/spec/package.html
! e3a5c9f2070a5c62731d5ece41f29157  libjava/classpath/java/sql/Array.java
! 49a06c907f9e790ed95477828d53c1a3  libjava/classpath/java/sql/BatchUpdateException.java
! 7dd7a3c32b9e0f88a5b96a1e86321f22  libjava/classpath/java/sql/Blob.java
! b58a2314361118c8ecfe8443929693d2  libjava/classpath/java/sql/CallableStatement.java
! 4ab512a7106b62c9fd75f3e0a38e6860  libjava/classpath/java/sql/Clob.java
! 838730e9942718bd675281ac8714e9bb  libjava/classpath/java/sql/Connection.java
! baa658089efa58594ac5ed75a615d825  libjava/classpath/java/sql/DataTruncation.java
! df63453b57ebe9c2667705bba6a8f73f  libjava/classpath/java/sql/DatabaseMetaData.java
! ca3e77117a5fda7a945194b4d3d4db3c  libjava/classpath/java/sql/Date.java
! 06f7bdfa18a2c591ae7b019c215a9a11  libjava/classpath/java/sql/Driver.java
! 5e18d2fa635930e3688cb736ffb5aa16  libjava/classpath/java/sql/DriverManager.java
! bc711375b9f09a01b6a13b1ad0b04d60  libjava/classpath/java/sql/DriverPropertyInfo.java
! b19f240d95aa7d860fa01a57d1a2beb4  libjava/classpath/java/sql/ParameterMetaData.java
! 164bb892ff82d98a0d5a14a540c03bc3  libjava/classpath/java/sql/PreparedStatement.java
! 4bb658432ccb3cc6b9e845ad4ef11485  libjava/classpath/java/sql/Ref.java
! 97a62658abf2e3adf8c69e378ab7935c  libjava/classpath/java/sql/ResultSet.java
! f0f2d2dcf1c7f9327202c4e12c9fdc08  libjava/classpath/java/sql/ResultSetMetaData.java
! a2457cf9b1ad11619414c4181d88b168  libjava/classpath/java/sql/SQLData.java
! b336dd67685cb53b89b43440210c32ea  libjava/classpath/java/sql/SQLException.java
! e4ed0c0a95a60547fe97f9f3e8953623  libjava/classpath/java/sql/SQLInput.java
! 64c9cdae3c567734f7cd6182e373335a  libjava/classpath/java/sql/SQLOutput.java
! 76e62274d3327fa574605002d5717672  libjava/classpath/java/sql/SQLPermission.java
! f1ee3938a62dcb90bf52b3835d7197eb  libjava/classpath/java/sql/SQLWarning.java
! 204593d632713e0647ba693f4626050d  libjava/classpath/java/sql/Savepoint.java
! 5edd9a1b57064dd1f316f4e97ef554cd  libjava/classpath/java/sql/Statement.java
! 200468a6af5d84d77c8f62546fd8aae9  libjava/classpath/java/sql/Struct.java
! c1d4d1a58f6df05b3ab05a2bfe78e76f  libjava/classpath/java/sql/Time.java
! bc062514fbe8735ed0c95944648a1e6c  libjava/classpath/java/sql/Timestamp.java
! 18ae6a542e389d1b44c161b83c9264c6  libjava/classpath/java/sql/Types.java
! a69fddf63f2ef3bca97ee481209abcfe  libjava/classpath/java/sql/package.html
! 16db12adb3e4c86929889d00514e6563  libjava/classpath/java/text/Annotation.java
! a8a4dcfe10f5c8a8c5b0ad4d2e09e5d4  libjava/classpath/java/text/AttributedCharacterIterator.java
! 12b9d67ff6f11dcc551862de098a1432  libjava/classpath/java/text/AttributedString.java
! 9bebaf88893588ae883efa58646d7776  libjava/classpath/java/text/AttributedStringIterator.java
! 989e894fe6ae4c90801e93322905d79d  libjava/classpath/java/text/BreakIterator.java
! 7307be144b92d5493dd4df540bfff8ed  libjava/classpath/java/text/CharacterIterator.java
! 97cd24b608f688b3fd5aeb63120d00bc  libjava/classpath/java/text/ChoiceFormat.java
! 15b115d2890610864eaa736abe346270  libjava/classpath/java/text/CollationElementIterator.java
! 4a1bfa14ae65556982c467111bb367e0  libjava/classpath/java/text/CollationKey.java
! 5dca3567b3294f175381b8c46a020c40  libjava/classpath/java/text/Collator.java
! 6d036b7c13da404910b00c941b6c69fb  libjava/classpath/java/text/DateFormat.java
! 8d505da046af2c41d140bfad05284f3d  libjava/classpath/java/text/DateFormatSymbols.java
! 01feb9da650f3accca60a236a5a0463d  libjava/classpath/java/text/DecimalFormat.java
! ac18d2a9c4e5534a13de091e7e5c2772  libjava/classpath/java/text/DecimalFormatSymbols.java
! f75e6c636ccaeee625b611171650c24d  libjava/classpath/java/text/FieldPosition.java
! 2376e8c072b7fab4f944e1183a6e53d5  libjava/classpath/java/text/Format.java
! 921047b0e32dbc415aa2f5b5317a0db9  libjava/classpath/java/text/MessageFormat.java
! bc7e1671f766a60509197dc84d58d0ed  libjava/classpath/java/text/NumberFormat.java
! e3c5fe528e26d9edddb1ce0a6155f257  libjava/classpath/java/text/ParseException.java
! f1a4c59d384a4b0d05774b9262235c5b  libjava/classpath/java/text/ParsePosition.java
! e4be021db03bebb0fea3398cfe3b42a5  libjava/classpath/java/text/RuleBasedCollator.java
! ac93c997d4ee15bd787d7d87d763d75b  libjava/classpath/java/text/SimpleDateFormat.java
! ff0d28084cf389ad49e1bbb0153d0dae  libjava/classpath/java/text/StringCharacterIterator.java
! a7c07d6460a5913ba024e8921f8a43e0  libjava/classpath/java/text/class-dependencies.conf
! 663ccca1fa8f909fa260006f68b2fd36  libjava/classpath/java/text/package.html
! 5fe26433bda0337e9dd6d3f2eeac0382  libjava/classpath/java/util/AbstractCollection.java
! bf439a2d8c67ebf062edab9260ea111c  libjava/classpath/java/util/AbstractList.java
! 2e624a62f3997b071ae89a6e1d597369  libjava/classpath/java/util/AbstractMap.java
! 6560b9c4895920ad569207f647b7c67c  libjava/classpath/java/util/AbstractSequentialList.java
! f90ad5a6cd69a1e5d2ee35d49cd6af80  libjava/classpath/java/util/AbstractSet.java
! bc325b20fbfcf79289b06d99fd2e59c4  libjava/classpath/java/util/ArrayList.java
! beefa460ec6d5532221786bc7f32e230  libjava/classpath/java/util/Arrays.java
! 651f81129f79dc31b491e20a2d73e7a7  libjava/classpath/java/util/BitSet.java
! 567d02d577ab5aeb4bb72532cd91aec5  libjava/classpath/java/util/Calendar.java
! 5a010fbfcaf05f6d4589cff309a362e1  libjava/classpath/java/util/Collection.java
! e877d30ddc9381287100a61c09dffd80  libjava/classpath/java/util/Collections.java
! d8d51946a6292066041bc264532eecb3  libjava/classpath/java/util/Comparator.java
! 6f175fd96ebbbddb49394e03a888a413  libjava/classpath/java/util/ConcurrentModificationException.java
! 0951ff6f711d39de47255d6e9566339a  libjava/classpath/java/util/Currency.java
! a246e9379159134e94c218d6f3d84255  libjava/classpath/java/util/Date.java
! 2d18fbad93cfc2951e959ecdc6cd91b1  libjava/classpath/java/util/Dictionary.java
! ee20181da911eb971fa182f28c5588f9  libjava/classpath/java/util/EmptyStackException.java
! 46463be8666a6797317d3359e01eca08  libjava/classpath/java/util/Enumeration.java
! f92594781134c57a81c14d4a15f9f41e  libjava/classpath/java/util/EventListener.java
! 5972e50d60446ea20373b66747ee2059  libjava/classpath/java/util/EventListenerProxy.java
! b163499cfbfb3f9c8be4327f9efc6ab1  libjava/classpath/java/util/EventObject.java
! e234a01f07a88eddc43a911908d4171e  libjava/classpath/java/util/GregorianCalendar.java
! c2adf9d42e2397753b6c5047bfb9fc90  libjava/classpath/java/util/HashMap.java
! 9974202f18f5a353de6c0ac561fd189c  libjava/classpath/java/util/HashSet.java
! 0cf09f4e8f59e1c3bc6197abd8f9f206  libjava/classpath/java/util/Hashtable.java
! 3864db1401cde6c86294460ab74fb4f8  libjava/classpath/java/util/IdentityHashMap.java
! 9f6e3fa591edb6d4ab298be22bbc679f  libjava/classpath/java/util/InvalidPropertiesFormatException.java
! e8d5bd987123ef5806c050c1555600a3  libjava/classpath/java/util/Iterator.java
! 9ae515652751e1dc2a813294d361d2ad  libjava/classpath/java/util/LinkedHashMap.java
! d784a0bfdeb847c2ac2cfc144f0e3579  libjava/classpath/java/util/LinkedHashSet.java
! e5e38291d677665db268e557f2a7fc10  libjava/classpath/java/util/LinkedList.java
! 870f74e05e17863c6f6f14aaa41a44f3  libjava/classpath/java/util/List.java
! 8d2f30e6df48e30130e9ea1518f1d91b  libjava/classpath/java/util/ListIterator.java
! a03a73ea43c64c673072f77ddbca647e  libjava/classpath/java/util/ListResourceBundle.java
! 0826a1eb2d4472f561940cc9110d3711  libjava/classpath/java/util/Locale.java
! baa03c61be6503705dc3ef585a9b2db9  libjava/classpath/java/util/Map.java
! 0afd296143a881bc9abac5a042ac38b1  libjava/classpath/java/util/MissingResourceException.java
! a11fc23807331f02ad03a22c46e1a3b2  libjava/classpath/java/util/NoSuchElementException.java
! ed584fca082b4cab43c04bd3f829f26d  libjava/classpath/java/util/Observable.java
! e16211980f020e38fa9daee03cbddc60  libjava/classpath/java/util/Observer.java
! 618310a70571ceeb78260a4bb28ff5e6  libjava/classpath/java/util/Properties.java
! 3e0b1d0142eb6c6c149aa8fbaf98df34  libjava/classpath/java/util/PropertyPermission.java
! 5d4c15543018d78491dba89f2c3e6e37  libjava/classpath/java/util/PropertyPermissionCollection.java
! fd377bb2e06d17c2480efcfbb053e8d9  libjava/classpath/java/util/PropertyResourceBundle.java
! 0f8922094f3f597d515cb0f49433e456  libjava/classpath/java/util/Random.java
! dff7e08d060edbfcc220ef2cf01ea8f6  libjava/classpath/java/util/RandomAccess.java
! 1fba4b137a70133936ad90a60e38f515  libjava/classpath/java/util/ResourceBundle.java
! 093e02b6d8cdcefba6c04599ac1e2294  libjava/classpath/java/util/Set.java
! b726bbcefdb1f7df91e133cc6dd6ef74  libjava/classpath/java/util/SimpleTimeZone.java
! 65fad0e15c9e032199559679272e30a3  libjava/classpath/java/util/SortedMap.java
! f82ee4979f3f5142f48b356ce26eff7d  libjava/classpath/java/util/SortedSet.java
! 16af6ac1bc9f058cedb1ca8e72e30768  libjava/classpath/java/util/Stack.java
! 18a190ba22c6ae02f1ee509258a6e2b4  libjava/classpath/java/util/StringTokenizer.java
! 48ce72de60c797250a88b20d9444ee07  libjava/classpath/java/util/TimeZone.java
! b81932934117f6e6982bdd72a492a38d  libjava/classpath/java/util/Timer.java
! 7eaebebb883eb24252ae5a3ecba2ba5b  libjava/classpath/java/util/TimerTask.java
! 3ae624e90f52a86110581766924846c8  libjava/classpath/java/util/TooManyListenersException.java
! 0ee0d69286add2e5d314aee95c6b700f  libjava/classpath/java/util/TreeMap.java
! c5167c6cf435271f1d1e3cf2c7cbcff8  libjava/classpath/java/util/TreeSet.java
! d3678dd696c7ec4604b01fe554329ccf  libjava/classpath/java/util/Vector.java
! 93f12f52b4ab3c342247ccb8c971e711  libjava/classpath/java/util/WeakHashMap.java
! 980956428b4f968d31399725bb709c8f  libjava/classpath/java/util/class-dependencies.conf
! ac4f5af27a8a1630c0b2716af336b946  libjava/classpath/java/util/jar/Attributes.java
! e2769bd6cfbb778f3790d3def292c340  libjava/classpath/java/util/jar/JarEntry.java
! f571c8ed79e5b08fec093d4c35cc181a  libjava/classpath/java/util/jar/JarException.java
! bc9e2d6fdbeac23d8565058214e3fc93  libjava/classpath/java/util/jar/JarFile.java
! 43fa9bbea2524ebfbbec3b2424ec9145  libjava/classpath/java/util/jar/JarInputStream.java
! 142604a321a02dc1546282f58db51bd5  libjava/classpath/java/util/jar/JarOutputStream.java
! c20beebf5cd663937e4d0781e395fdcb  libjava/classpath/java/util/jar/Manifest.java
! a5f47c39325709d334437b29f46a7175  libjava/classpath/java/util/jar/package.html
! 684454042453f557dea8242b79cd8878  libjava/classpath/java/util/logging/ConsoleHandler.java
! d0cdc1364bb67c824739dcbef275d95e  libjava/classpath/java/util/logging/ErrorManager.java
! 4f774d9d93d0c6341885c6b61ecd5397  libjava/classpath/java/util/logging/FileHandler.java
! 959b5c35674dd46cbde27f7218802e6a  libjava/classpath/java/util/logging/Filter.java
! 0b95a047fb9f865eca3f4fdef751274c  libjava/classpath/java/util/logging/Formatter.java
! 32acc7080b3387bee7b382ef5101e805  libjava/classpath/java/util/logging/Handler.java
! 9b2c9dd357952c9568f554490c03f9f2  libjava/classpath/java/util/logging/Level.java
! de578717dc386d7c95ce1cfda66616b1  libjava/classpath/java/util/logging/LogManager.java
! ff911be377d676845925a2483c8da7d5  libjava/classpath/java/util/logging/LogRecord.java
! de61ac9f52e32fb1ae8ab2b512f52c07  libjava/classpath/java/util/logging/Logger.java
! 4f0fa6619824d4a47b3ff1c3f9845969  libjava/classpath/java/util/logging/LoggingPermission.java
! 5399f385cf00276cce00879f6c0c0eef  libjava/classpath/java/util/logging/MemoryHandler.java
! 184bdf78a04913bfa56d5f33ae5b7abd  libjava/classpath/java/util/logging/SimpleFormatter.java
! edff5b70780346fd6a842b1781db61ba  libjava/classpath/java/util/logging/SocketHandler.java
! 59995ea75f102b548c066ffca38a0adf  libjava/classpath/java/util/logging/StreamHandler.java
! 2e4aaec78672d8abde8939d203ca4774  libjava/classpath/java/util/logging/XMLFormatter.java
! c9943eb70232dd4ef2834e0412dc8a69  libjava/classpath/java/util/logging/package.html
! 452915554e8b31948f3845ca1a356a58  libjava/classpath/java/util/package.html
! 37cd2a753e99c3520747e753870241ba  libjava/classpath/java/util/prefs/AbstractPreferences.java
! 791aaf6f6fca0e48fb5bfd780c618834  libjava/classpath/java/util/prefs/BackingStoreException.java
! 48c382ca2af4118bdf585b7101393400  libjava/classpath/java/util/prefs/InvalidPreferencesFormatException.java
! f411b0e8c4561611b1929120f190d43f  libjava/classpath/java/util/prefs/NodeChangeEvent.java
! 0f3c228bf4339e2938f75c998b335df3  libjava/classpath/java/util/prefs/NodeChangeListener.java
! 53dcd9258ee0385e2e20d1a8d479983d  libjava/classpath/java/util/prefs/PreferenceChangeEvent.java
! 0582e114085f23d9b93d05b955b8f88a  libjava/classpath/java/util/prefs/PreferenceChangeListener.java
! 405b4a364c37e44074482ce501c0057a  libjava/classpath/java/util/prefs/Preferences.java
! edbc54ebd9416e78c95d584d3e358b4e  libjava/classpath/java/util/prefs/PreferencesFactory.java
! c005bf45ae224942cf65f014b5eb6fcd  libjava/classpath/java/util/prefs/package.html
! c78d187cb40d45df8b95f6c20ad74b7c  libjava/classpath/java/util/regex/MatchResult.java
! 00db6e0500d03881c47cbff1a2c51660  libjava/classpath/java/util/regex/Matcher.java
! b05ce951616eb6877ce0d683ad6ea445  libjava/classpath/java/util/regex/Pattern.java
! 08bb08f715d640a0d3c5027928432446  libjava/classpath/java/util/regex/PatternSyntaxException.java
! 3b4977f0b820ca3ae90ff4daab8f641c  libjava/classpath/java/util/regex/package.html
! 4eec4ea9bbe5ff12b2585a42d6747796  libjava/classpath/java/util/zip/Adler32.java
! bc9fcd8c6008e781682c055bea7008b3  libjava/classpath/java/util/zip/CRC32.java
! 78aa8d22cb7735b9f1e2144601d50f8f  libjava/classpath/java/util/zip/CheckedInputStream.java
! 9c9b5d979318617b0094d357c6212eae  libjava/classpath/java/util/zip/CheckedOutputStream.java
! bc2b87895b86cd66a1021d211cddb248  libjava/classpath/java/util/zip/Checksum.java
! 18df14755133df714fe4504d23d8597d  libjava/classpath/java/util/zip/DataFormatException.java
! e936ee186b4ac2e8a51eca5e851397f1  libjava/classpath/java/util/zip/Deflater.java
! 2dd7624640185ac325a97e63196e02ec  libjava/classpath/java/util/zip/DeflaterConstants.java
! 104a5486c84142840ae4aa22daa5d7ef  libjava/classpath/java/util/zip/DeflaterEngine.java
! 567ad46058a09246646939e114a89111  libjava/classpath/java/util/zip/DeflaterHuffman.java
! 23b32ab394c04feb57b19561c1934b24  libjava/classpath/java/util/zip/DeflaterOutputStream.java
! 8a6b1f0b9552f1345475fbdff4e939f5  libjava/classpath/java/util/zip/DeflaterPending.java
! 2c930a7ace3a16fe7318c1956c124876  libjava/classpath/java/util/zip/GZIPInputStream.java
! 7d64c5c16b26f3ff891aeb665768d3ae  libjava/classpath/java/util/zip/GZIPOutputStream.java
! 7509347c91ed8b973f5bd6201fdd6228  libjava/classpath/java/util/zip/Inflater.java
! 14f802816beb8af34007611d91efa481  libjava/classpath/java/util/zip/InflaterDynHeader.java
! d126cb0bb0d348429c89e13767bd57d1  libjava/classpath/java/util/zip/InflaterHuffmanTree.java
! 050bb0dae5f92484a5329fce91d0c144  libjava/classpath/java/util/zip/InflaterInputStream.java
! 46ddb46b736c6275b8ca1d0583e34ea2  libjava/classpath/java/util/zip/OutputWindow.java
! a69dcbb2dc8bca02e2d6d8e2476cdc7f  libjava/classpath/java/util/zip/PendingBuffer.java
! 8a8f16ddb66f4213b61b0088c340bee2  libjava/classpath/java/util/zip/StreamManipulator.java
! 6e1a4ed0b713c68bbe7a453e5cd3c64f  libjava/classpath/java/util/zip/ZipConstants.java
! ec61d461eed8b29f84d3d914a6d1c6ca  libjava/classpath/java/util/zip/ZipEntry.java
! 5d3294b1fcc586bcd7393a0af2482642  libjava/classpath/java/util/zip/ZipException.java
! c3d3b96e718d7d38bd7de4895621e697  libjava/classpath/java/util/zip/ZipFile.java
! 556ee73276137eec25f5bbe6eab1e6f1  libjava/classpath/java/util/zip/ZipInputStream.java
! 10a7bef4a25a4bce430231b9693db658  libjava/classpath/java/util/zip/ZipOutputStream.java
! 3754bfd959ea029b79c6ab9a9705ff63  libjava/classpath/java/util/zip/package.html
! 89647d9490211ef5daeb7ea6c50b7afd  libjava/classpath/javax/accessibility/Accessible.java
! 17559d04b89b1d04f9c7b0bb1e429bba  libjava/classpath/javax/accessibility/AccessibleAction.java
! 64b1aac03be60144a0ddc82fe99246b5  libjava/classpath/javax/accessibility/AccessibleBundle.java
! d6e1558620c8e62690407aa148981b18  libjava/classpath/javax/accessibility/AccessibleComponent.java
! fb8f46c685f86e4682b6d0804b186d7b  libjava/classpath/javax/accessibility/AccessibleContext.java
! 2a8409ef128fbe42678efbdf21f16354  libjava/classpath/javax/accessibility/AccessibleEditableText.java
! 14383f61d25f5d05881570ba03a80e65  libjava/classpath/javax/accessibility/AccessibleExtendedComponent.java
! 3e72f6387f5681fd360367851a06ac77  libjava/classpath/javax/accessibility/AccessibleExtendedTable.java
! 9af700271a77684229ed93457822a984  libjava/classpath/javax/accessibility/AccessibleHyperlink.java
! 469d6cdd82930aa5df7ad60cf7963012  libjava/classpath/javax/accessibility/AccessibleHypertext.java
! dba04c587856d8308762761cfbc2d97d  libjava/classpath/javax/accessibility/AccessibleIcon.java
! d2c035bd0394169ee72edba4ec4e0db3  libjava/classpath/javax/accessibility/AccessibleKeyBinding.java
! 109cd9ad0b40716abf148341232b4274  libjava/classpath/javax/accessibility/AccessibleRelation.java
! 11704680d8822c4e75cfaafad154e268  libjava/classpath/javax/accessibility/AccessibleRelationSet.java
! bebc15b714eef5cc30964b10ab43facb  libjava/classpath/javax/accessibility/AccessibleResourceBundle.java
! b50d381dfcbda3071d29c115acd4868f  libjava/classpath/javax/accessibility/AccessibleRole.java
! 2aa4d359d02a6f5e9f8ea567f1be8e73  libjava/classpath/javax/accessibility/AccessibleSelection.java
! 669a920781a51bfad7cb9f49a18d5935  libjava/classpath/javax/accessibility/AccessibleState.java
! e87d9912f1a16d681289e5dfb696cdc8  libjava/classpath/javax/accessibility/AccessibleStateSet.java
! 98aea76ede0e50c969259d7885674798  libjava/classpath/javax/accessibility/AccessibleTable.java
! 28f07cd436ce3cd9b177906def9b11ca  libjava/classpath/javax/accessibility/AccessibleTableModelChange.java
! f6b3f89e8b5c32dabb35ac3cb18cdd67  libjava/classpath/javax/accessibility/AccessibleText.java
! bc6e879ff9ac78ad9f70e43281a23106  libjava/classpath/javax/accessibility/AccessibleValue.java
! cea74c2c16fd4e890714666b18022229  libjava/classpath/javax/accessibility/package.html
! 2f7b9bff6e69e7ffd64cc5aa526a1bae  libjava/classpath/javax/crypto/BadPaddingException.java
! 7185a1e32b9d64311d36fd129245c51d  libjava/classpath/javax/crypto/Cipher.java
! 500fba94f4cf11c85e8b801b323d4d34  libjava/classpath/javax/crypto/CipherInputStream.java
! c41c3eaf33827c724c678fb8ade4d1bf  libjava/classpath/javax/crypto/CipherOutputStream.java
! 3be95ea39304e94b2d6d5d26558d69db  libjava/classpath/javax/crypto/CipherSpi.java
! c4c334bc389060f78d2ce739b719d9a0  libjava/classpath/javax/crypto/EncryptedPrivateKeyInfo.java
! 7a4771354f589db6d4550191cf3b111e  libjava/classpath/javax/crypto/ExemptionMechanism.java
! c0d6944454752d20c17317d13e6e1361  libjava/classpath/javax/crypto/ExemptionMechanismException.java
! b82896134d80c320f71a54f08a1d5763  libjava/classpath/javax/crypto/ExemptionMechanismSpi.java
! 21d8fd61c28fc161db8b6f06708be6c7  libjava/classpath/javax/crypto/IllegalBlockSizeException.java
! 939e4b562440748c1bfa63ffe85e0a96  libjava/classpath/javax/crypto/KeyAgreement.java
! ff2aed0c69f1591b98c050155b40c1a5  libjava/classpath/javax/crypto/KeyAgreementSpi.java
! 73c8423ad6e7b0632171bf48f5545bc3  libjava/classpath/javax/crypto/KeyGenerator.java
! b9e625e19ab8c612b40e075e23af9d18  libjava/classpath/javax/crypto/KeyGeneratorSpi.java
! 5be92138698933e0e3bfe417e2d34789  libjava/classpath/javax/crypto/Mac.java
! bfd031cfd2548d6f4a8a6a665a271bf8  libjava/classpath/javax/crypto/MacSpi.java
! 844302bc19133304e6d9f748484c3d33  libjava/classpath/javax/crypto/NoSuchPaddingException.java
! 5eb8fa7d33600e2353ce09971cd71e88  libjava/classpath/javax/crypto/NullCipher.java
! 67bb84e575b0a79eb2f7fafbd19708ea  libjava/classpath/javax/crypto/NullCipherImpl.java
! ec1cde8d2f9a419e7af15cbcb0887de1  libjava/classpath/javax/crypto/SealedObject.java
! c2c14ed16f5b3ad569e078a626e0cb6c  libjava/classpath/javax/crypto/SecretKey.java
! b6c362386af766ae21dd18379537e5dd  libjava/classpath/javax/crypto/SecretKeyFactory.java
! 324f2dc899099b48041193e29eafe550  libjava/classpath/javax/crypto/SecretKeyFactorySpi.java
! a60611911284fadc553fd727482a2939  libjava/classpath/javax/crypto/ShortBufferException.java
! 61d0bcdbeefe49d322684a30d162a518  libjava/classpath/javax/crypto/interfaces/DHKey.java
! b5b8f9feeed94c25e897e5b735331181  libjava/classpath/javax/crypto/interfaces/DHPrivateKey.java
! ce2da5512f5b97a904d4670bbe624794  libjava/classpath/javax/crypto/interfaces/DHPublicKey.java
! 5f414011a0f37562cd11244997ee4d3c  libjava/classpath/javax/crypto/interfaces/PBEKey.java
! 141cf7f9059a8473c44c49b586dd8be6  libjava/classpath/javax/crypto/interfaces/package.html
! 8cc17037c55069401b4b3da22a17ae17  libjava/classpath/javax/crypto/package.html
! e132822a5289418b2be6c37ad8b94e68  libjava/classpath/javax/crypto/spec/DESKeySpec.java
! 6e8d06c186e4f4783cb58bf8a266831c  libjava/classpath/javax/crypto/spec/DESedeKeySpec.java
! d715579dccecb958baaf3b47a13fe6b0  libjava/classpath/javax/crypto/spec/DHGenParameterSpec.java
! 786e115909b093868c8315051e2b8026  libjava/classpath/javax/crypto/spec/DHParameterSpec.java
! a7440b597b461ab90dc61a55378eb0b1  libjava/classpath/javax/crypto/spec/DHPrivateKeySpec.java
! bd33c9711b7ebc29bb73087d9b28f590  libjava/classpath/javax/crypto/spec/DHPublicKeySpec.java
! 709ef163d2cb05d92d51f5d72b997372  libjava/classpath/javax/crypto/spec/IvParameterSpec.java
! 474363c9378ea2061f6a64e2a2168b78  libjava/classpath/javax/crypto/spec/PBEKeySpec.java
! 6e587f7128e82e41867226c109dedbf1  libjava/classpath/javax/crypto/spec/PBEParameterSpec.java
! 8acf4a87aec734ab24f7e2236d4da494  libjava/classpath/javax/crypto/spec/RC2ParameterSpec.java
! af0483b099ac262fa3427c3101c112c4  libjava/classpath/javax/crypto/spec/RC5ParameterSpec.java
! f1d546cc38ba8ae2168abf03f5e45c40  libjava/classpath/javax/crypto/spec/SecretKeySpec.java
! 8be529984d3ffedaab848d73cdd0cb05  libjava/classpath/javax/crypto/spec/package.html
! 65c323a47f90ca980b63020cfebfc058  libjava/classpath/javax/imageio/IIOException.java
! 2ab9839207102b09cac25068ce722288  libjava/classpath/javax/imageio/IIOImage.java
! 67a954a0deacfbadfad2fb29e7cd8961  libjava/classpath/javax/imageio/IIOParam.java
! 93d4fe3607e39657479cb1c78b1ceac9  libjava/classpath/javax/imageio/IIOParamController.java
! 5f12552785a0abdda6b8896a80c9879d  libjava/classpath/javax/imageio/ImageIO.java
! cba02cd6fdeb5d10b3240ada3f1c8138  libjava/classpath/javax/imageio/ImageReadParam.java
! 07c49cd6f50b53c500a017065bc8a083  libjava/classpath/javax/imageio/ImageReader.java
! 4e3ac9b7716f1f3409182cc48e168958  libjava/classpath/javax/imageio/ImageTranscoder.java
! 007e3caa97325552772e4dd834857f6f  libjava/classpath/javax/imageio/ImageTypeSpecifier.java
! 7c5fdecfc4b5931a3ba03a1e0fed59c2  libjava/classpath/javax/imageio/ImageWriteParam.java
! 17a578363a502547165aecd7813ea6f6  libjava/classpath/javax/imageio/ImageWriter.java
! 643578bd8e753fb7d82fe29d8c8c3f29  libjava/classpath/javax/imageio/event/IIOReadProgressListener.java
! 5fa59e3e86f30b39ec4ba68a6e45bd99  libjava/classpath/javax/imageio/event/IIOReadUpdateListener.java
! e297fc824f965e9f9e5aef2bc2cc4324  libjava/classpath/javax/imageio/event/IIOReadWarningListener.java
! 74e5807410e976af800f9b0b19267ff9  libjava/classpath/javax/imageio/event/IIOWriteProgressListener.java
! a0c99e75871c0590d4f068a072fadd27  libjava/classpath/javax/imageio/event/IIOWriteWarningListener.java
! 6ab16a715829b8c5d85cba9564b47902  libjava/classpath/javax/imageio/event/package.html
! 627a8efd506fb0718f1d814e06c6d1db  libjava/classpath/javax/imageio/metadata/IIOInvalidTreeException.java
! 13cf28772617b265ff6ab068fc8e340a  libjava/classpath/javax/imageio/metadata/IIOMetadata.java
! e4bbfc9764aaae5b9e164a95ee822776  libjava/classpath/javax/imageio/metadata/IIOMetadataController.java
! 1969aa34f58bd4e85d38e7f426a970ed  libjava/classpath/javax/imageio/metadata/IIOMetadataFormat.java
! 18810ef50470e3c0fed203b844829a39  libjava/classpath/javax/imageio/metadata/IIOMetadataFormatImpl.java
! 448c65072584bb7dc0c1759d31108a89  libjava/classpath/javax/imageio/metadata/IIOMetadataNode.java
! 78b85ca1d3ef6f40250482324b1c9ec4  libjava/classpath/javax/imageio/metadata/package.html
! 84409db27d8d1a9dd11812f5f03cd9d3  libjava/classpath/javax/imageio/package.html
! c82bd75a240c5794d2ca90ac38449e1f  libjava/classpath/javax/imageio/spi/IIORegistry.java
! 8f6f9c1426d39a398d9840e94aeebd6c  libjava/classpath/javax/imageio/spi/IIOServiceProvider.java
! de5cdebd855aa1a7f7d62abf48ac7081  libjava/classpath/javax/imageio/spi/ImageInputStreamSpi.java
! 4c8e57b07f10981f8504e8383e4607db  libjava/classpath/javax/imageio/spi/ImageOutputStreamSpi.java
! 282c58e23b8bfa9bc127f6457e2da992  libjava/classpath/javax/imageio/spi/ImageReaderSpi.java
! b556e6669ff5cd71d03af705b6e695b0  libjava/classpath/javax/imageio/spi/ImageReaderWriterSpi.java
! 536ac9b2acd266c5ef964f2e426967a5  libjava/classpath/javax/imageio/spi/ImageTranscoderSpi.java
! b9a72fd8ada27fe14c06e9adb9f3f306  libjava/classpath/javax/imageio/spi/ImageWriterSpi.java
! 821a4d5a1b27bafbb4f26ad068e73d89  libjava/classpath/javax/imageio/spi/RegisterableService.java
! d95be9de03daf07ba9efababa2cad2db  libjava/classpath/javax/imageio/spi/ServiceRegistry.java
! ff80dd01a26c9340e12a2573a78173b2  libjava/classpath/javax/imageio/spi/package.html
! 459cb3cb0a125a6e5a68fea295052ee5  libjava/classpath/javax/imageio/stream/FileCacheImageInputStream.java
! 1b67a9f68264ba9fd1b5f214491a1c83  libjava/classpath/javax/imageio/stream/FileCacheImageOutputStream.java
! 3bd99d469978be78bdc0e55df645285d  libjava/classpath/javax/imageio/stream/FileImageInputStream.java
! eadf23e6e083f3fc4ed79fc2a36af782  libjava/classpath/javax/imageio/stream/FileImageOutputStream.java
! af69c82cba4cf40f8b78fa746749999c  libjava/classpath/javax/imageio/stream/IIOByteBuffer.java
! 9439fca33590f619c0f1f171f4e5b8dc  libjava/classpath/javax/imageio/stream/ImageInputStream.java
! e2c134b3e1881c64fc945df133b915d7  libjava/classpath/javax/imageio/stream/ImageInputStreamImpl.java
! acc9819a7a69476d9c4d1d63a495b51d  libjava/classpath/javax/imageio/stream/ImageOutputStream.java
! 0edf70f9c44dd44254e0e42da280f360  libjava/classpath/javax/imageio/stream/ImageOutputStreamImpl.java
! 093032c2dd5325838f79149176bd4609  libjava/classpath/javax/imageio/stream/MemoryCacheImageInputStream.java
! 1f054b68e8da4ee0ee7120171660fb27  libjava/classpath/javax/imageio/stream/MemoryCacheImageOutputStream.java
! 84448d5509238b4718151c6bc0e2f881  libjava/classpath/javax/imageio/stream/package.html
! ca23a2b2cf6979528be70091db81ed25  libjava/classpath/javax/naming/AuthenticationException.java
! 3af448c966b543a5006e562548e7aedd  libjava/classpath/javax/naming/AuthenticationNotSupportedException.java
! fba6875ae7af075d8a565253fb24ea95  libjava/classpath/javax/naming/BinaryRefAddr.java
! 977ad0c23ad03a1bd3d861a57fca6f0b  libjava/classpath/javax/naming/Binding.java
! 9de8124193f74dcc9d6b3dff806ae4ab  libjava/classpath/javax/naming/CannotProceedException.java
! 305595301c7f30769c9fbf71507d7f3a  libjava/classpath/javax/naming/CommunicationException.java
! a5a866f89a918f4f9067fd97b12c19b4  libjava/classpath/javax/naming/CompositeName.java
! 6380385b6b3f40976d358f5984d9fb27  libjava/classpath/javax/naming/CompoundName.java
! 590434c27e2d18e082540a9ef31a943c  libjava/classpath/javax/naming/ConfigurationException.java
! c9d8fd63fdd30a42b3814f9e8c74f91e  libjava/classpath/javax/naming/Context.java
! ae189a6802fbfbd31d0cd813cd1bf9fa  libjava/classpath/javax/naming/ContextNotEmptyException.java
! a7dc75e876cb7d6495039eb376dfd482  libjava/classpath/javax/naming/InitialContext.java
! d0421899ac9b47366cddf183c3834989  libjava/classpath/javax/naming/InsufficientResourcesException.java
! d01c35c43f4ef0ec7d6d3f85cf7e01ca  libjava/classpath/javax/naming/InterruptedNamingException.java
! da065bfe42c7f30d67a69fce7f622a20  libjava/classpath/javax/naming/InvalidNameException.java
! 4fc0ab0d88a74729ca9b87107db0ab74  libjava/classpath/javax/naming/LimitExceededException.java
! d47bd87d4b29edd1253b576385ed00ce  libjava/classpath/javax/naming/LinkException.java
! 22c57f7bdcd5b2f6cba3fc6a45434bcd  libjava/classpath/javax/naming/LinkLoopException.java
! 9e63592f6472c7c5cb59da199bfc642c  libjava/classpath/javax/naming/LinkRef.java
! ff1b4b5b585febd41d18e612a374bbfc  libjava/classpath/javax/naming/MalformedLinkException.java
! 669756af887232f7fdfb8da97e4874dc  libjava/classpath/javax/naming/Name.java
! 25e4e99ce026b9298c53a2f800326cc7  libjava/classpath/javax/naming/NameAlreadyBoundException.java
! 8d1b4cb4a951d22a9b0091a2424d6335  libjava/classpath/javax/naming/NameClassPair.java
! f7b372a88517bb6fbc2a83363f42d6db  libjava/classpath/javax/naming/NameNotFoundException.java
! 6e8424a75613412f4894a66763e30164  libjava/classpath/javax/naming/NameParser.java
! a24f3428d5cf3828824ab2867b2a9982  libjava/classpath/javax/naming/NamingEnumeration.java
! 06330335f76663622427e7577011ac50  libjava/classpath/javax/naming/NamingException.java
! 5a4102ab658d3cfd921c674a12242884  libjava/classpath/javax/naming/NamingSecurityException.java
! 108fa110fd7b626c18cee9a565224679  libjava/classpath/javax/naming/NoInitialContextException.java
! 5d5c362d221bb42f8af1d90e9560092b  libjava/classpath/javax/naming/NoPermissionException.java
! d0008db2772eb1d06189aeaae370fcf1  libjava/classpath/javax/naming/NotContextException.java
! e0ed0d126e91eb6ff6ee138bccdc5fa8  libjava/classpath/javax/naming/OperationNotSupportedException.java
! acbbd0214a755115cf31d4c19f73d721  libjava/classpath/javax/naming/PartialResultException.java
! 8b1241daf0fb786d5105d72e6d195f20  libjava/classpath/javax/naming/RefAddr.java
! 3548ce79bf887545d699e78a3511dfb7  libjava/classpath/javax/naming/Reference.java
! 13d4222c62a4fb5284adaa4a87bb945f  libjava/classpath/javax/naming/Referenceable.java
! 2906cfa2d26c430bfb860d2c2a1b847a  libjava/classpath/javax/naming/ReferralException.java
! 7f5c133e4c6d3057f8bd977e13f717c6  libjava/classpath/javax/naming/ServiceUnavailableException.java
! 2bb37dd97aadef47d3a182094acd754e  libjava/classpath/javax/naming/SizeLimitExceededException.java
! cef2088d9ee8ff462ec08ac88c0ca293  libjava/classpath/javax/naming/StringRefAddr.java
! 5f8386afc5bbb87276f7c1cef8c39963  libjava/classpath/javax/naming/TimeLimitExceededException.java
! add3a13ff3e2970d02eb2f75ba69e9a8  libjava/classpath/javax/naming/directory/Attribute.java
! 16249b20d4406363191c34f34b8f1033  libjava/classpath/javax/naming/directory/AttributeInUseException.java
! ce9a7fca84a0bcfe43e2854ed7d24c3f  libjava/classpath/javax/naming/directory/AttributeModificationException.java
! c2d228817aec6131f5d3c2ce3af080b9  libjava/classpath/javax/naming/directory/Attributes.java
! d9df7355bb95628862d0bb1f79ce6c12  libjava/classpath/javax/naming/directory/BasicAttribute.java
! 67c0364d53a745e1b5d6adc6d26aa4f0  libjava/classpath/javax/naming/directory/BasicAttributes.java
! 11b7070629edcf03667ee37c4e0d050f  libjava/classpath/javax/naming/directory/DirContext.java
! 236aba5043dbd38fb142d0dd1df02204  libjava/classpath/javax/naming/directory/InitialDirContext.java
! 29fbc04ce525e57e7c32cf47b2180048  libjava/classpath/javax/naming/directory/InvalidAttributeIdentifierException.java
! 43e8e46857d86abce913b420acbd30d7  libjava/classpath/javax/naming/directory/InvalidAttributeValueException.java
! 771ddd9867f245f40aa2149d21bbc6f3  libjava/classpath/javax/naming/directory/InvalidAttributesException.java
! 98ea45c0ed5cc3ac16e36c3820348a0f  libjava/classpath/javax/naming/directory/InvalidSearchControlsException.java
! cb31663d0b5d42949616a894e2109ab3  libjava/classpath/javax/naming/directory/InvalidSearchFilterException.java
! 9af388066efdefeb74a04f5e82442a90  libjava/classpath/javax/naming/directory/ModificationItem.java
! 667d388ce8226754466d6ea90d28f4f4  libjava/classpath/javax/naming/directory/NoSuchAttributeException.java
! c0e5646cb206275633ac8eafb914b164  libjava/classpath/javax/naming/directory/SchemaViolationException.java
! 447fb64bfa7c347989ff37bbe5cf082e  libjava/classpath/javax/naming/directory/SearchControls.java
! 077abcdc04df5c5934d10ac531f286a1  libjava/classpath/javax/naming/directory/SearchResult.java
! 5f4203a2ed0cb774df76d1a7f474f2dd  libjava/classpath/javax/naming/directory/package.html
! 9c17f007aa47c8eb4000acbea87f0a5e  libjava/classpath/javax/naming/event/EventContext.java
! f2735a32751cf9a7e5ffd8578ceb836c  libjava/classpath/javax/naming/event/EventDirContext.java
! 647a6144d40f76f46db19e162c3139e0  libjava/classpath/javax/naming/event/NamespaceChangeListener.java
! bddbc447127125d82c11c247f38c4136  libjava/classpath/javax/naming/event/NamingEvent.java
! ed2a3dcf900321c502cbb7882eed8287  libjava/classpath/javax/naming/event/NamingExceptionEvent.java
! de5fd66686d9e773defc572b3cc06383  libjava/classpath/javax/naming/event/NamingListener.java
! c4ff409b644a2b158946acddd2f59fc5  libjava/classpath/javax/naming/event/ObjectChangeListener.java
! 610652452d07d28be569ea7a3d5bad9c  libjava/classpath/javax/naming/event/package.html
! cdba94764fc9b19af499da2b12941cd6  libjava/classpath/javax/naming/ldap/Control.java
! c19e47cdc82b5b0c912ad8f4146ec2cd  libjava/classpath/javax/naming/ldap/ControlFactory.java
! f7dc9bfadeeee91e5f5cbd3a9edcf9c6  libjava/classpath/javax/naming/ldap/ExtendedRequest.java
! 514eddc5a4b53e1474c11516b31106e2  libjava/classpath/javax/naming/ldap/ExtendedResponse.java
! 0738d022fbe71fc7918553ded261b298  libjava/classpath/javax/naming/ldap/HasControls.java
! 61def9520aff97c75541fa24411919b6  libjava/classpath/javax/naming/ldap/InitialLdapContext.java
! 440177352ecc1f05bb6eb83d1f64fb2f  libjava/classpath/javax/naming/ldap/LdapContext.java
! cace8996e2e2a13fa1fe12e91ff69203  libjava/classpath/javax/naming/ldap/LdapReferralException.java
! 655b524f02d138420860e7a10392ffeb  libjava/classpath/javax/naming/ldap/UnsolicitedNotification.java
! c2258645823fa1ddd5f8270589f75080  libjava/classpath/javax/naming/ldap/UnsolicitedNotificationEvent.java
! 2ef110ca5907a32d7ca294ebe9ddce78  libjava/classpath/javax/naming/ldap/UnsolicitedNotificationListener.java
! d4e2cfc01ede67283db55df7b7e7d93e  libjava/classpath/javax/naming/ldap/package.html
! 8ca08f053c820bca3515224680dd10a0  libjava/classpath/javax/naming/package.html
! e0e61dc263a08264249b3f6726718d9d  libjava/classpath/javax/naming/spi/DirObjectFactory.java
! d5bdd3d8c763644b2aba4923a1c2d073  libjava/classpath/javax/naming/spi/DirStateFactory.java
! 294f35f17a8030ef6cffc52ff569df18  libjava/classpath/javax/naming/spi/DirectoryManager.java
! 7ea9820520277dd302bdc386f439a892  libjava/classpath/javax/naming/spi/InitialContextFactory.java
! f55f0dde25170f2134be05feedd9ffd4  libjava/classpath/javax/naming/spi/InitialContextFactoryBuilder.java
! 22c717c15898b22e24f27828a54f6ff5  libjava/classpath/javax/naming/spi/NamingManager.java
! a0917a08ad228ad3361336dd78f1b638  libjava/classpath/javax/naming/spi/ObjectFactory.java
! 0a5f6e6cb4cab6a639417d6b35324180  libjava/classpath/javax/naming/spi/ObjectFactoryBuilder.java
! d1e43d821ab394b9fef3bb4f5f08ab81  libjava/classpath/javax/naming/spi/ResolveResult.java
! fe43e9618d8f41b9f41810ab7cfef293  libjava/classpath/javax/naming/spi/Resolver.java
! 3fbcbce1e4b8361f47bf780bdc8a8f87  libjava/classpath/javax/naming/spi/StateFactory.java
! 2cb5d37d5a845062865f37e5fa3d0bb4  libjava/classpath/javax/naming/spi/package.html
! 0a1b3a981749ea157e864d8844b43294  libjava/classpath/javax/net/ServerSocketFactory.java
! 38d344a5e803243e5452cec51feb2ed5  libjava/classpath/javax/net/SocketFactory.java
! 7472128e116172c79ea4e0f24c54311e  libjava/classpath/javax/net/VanillaServerSocketFactory.java
! 78999270e9592c5dba4f97734876b55e  libjava/classpath/javax/net/VanillaSocketFactory.java
! 45e4bf7021826aceb187a64615c93118  libjava/classpath/javax/net/package.html
! edefa6d424409b080bd439f0a508aab9  libjava/classpath/javax/net/ssl/HandshakeCompletedEvent.java
! ffafb874164ac8ac911bc49b696a69fb  libjava/classpath/javax/net/ssl/HandshakeCompletedListener.java
! c6a662e74a3b32c10e582c6304d4c7e5  libjava/classpath/javax/net/ssl/HostnameVerifier.java
! 383308b0ece19fd4a4ae8d566bc4f8e3  libjava/classpath/javax/net/ssl/HttpsURLConnection.java
! fe347ee6b7a82d51bcd3b16af520ae5c  libjava/classpath/javax/net/ssl/KeyManager.java
! c0ea8477eb502b06a1bb22672baa3cf1  libjava/classpath/javax/net/ssl/KeyManagerFactory.java
! 3f161465d86aefa7f0f4b52e31e57e2f  libjava/classpath/javax/net/ssl/KeyManagerFactorySpi.java
! fb5747fe58ce7463968c845006a62be2  libjava/classpath/javax/net/ssl/ManagerFactoryParameters.java
! 97dbdcbcd29d9b976cf1e33ef38c13df  libjava/classpath/javax/net/ssl/SSLContext.java
! 905f2f6f3b0ea88d6b72f225b5f3fe78  libjava/classpath/javax/net/ssl/SSLContextSpi.java
! 10ffa6aa67b4351ca8f9beab02d47a52  libjava/classpath/javax/net/ssl/SSLException.java
! 060ec69a9d2ed3b58a42c004cbcf85dc  libjava/classpath/javax/net/ssl/SSLHandshakeException.java
! 624da442741b602455c6dd09452cca34  libjava/classpath/javax/net/ssl/SSLKeyException.java
! 423b3f34145390d6ad4069a32fdce1a8  libjava/classpath/javax/net/ssl/SSLPeerUnverifiedException.java
! 4136e3fa3b12ac782f721c9e6bd23726  libjava/classpath/javax/net/ssl/SSLPermission.java
! 7fbd7cab122bdebff8a51b0adcdf7ec1  libjava/classpath/javax/net/ssl/SSLProtocolException.java
! 756d9007a27ae5cf184433e8c073e3de  libjava/classpath/javax/net/ssl/SSLServerSocket.java
! cf765aab4f05e091d7d48855be7b0062  libjava/classpath/javax/net/ssl/SSLServerSocketFactory.java
! 6b300bdac2c7be7632c13d29bf7daa04  libjava/classpath/javax/net/ssl/SSLSession.java
! c37b6b32f816f7ef7aa123566c7240be  libjava/classpath/javax/net/ssl/SSLSessionBindingEvent.java
! 371dae5501a97f3fe7149401e1ba9b1e  libjava/classpath/javax/net/ssl/SSLSessionBindingListener.java
! 33e29a84c1295a252866e82e9d0e5624  libjava/classpath/javax/net/ssl/SSLSessionContext.java
! d2e5183d804f595151aac0de2d8fff0e  libjava/classpath/javax/net/ssl/SSLSocket.java
! 6eaa0ce3149d3e3136c225791206bf26  libjava/classpath/javax/net/ssl/SSLSocketFactory.java
! 421e86a9f3e3363d8307427fa921a44c  libjava/classpath/javax/net/ssl/TrivialHostnameVerifier.java
! 42e71ffa8416d5b54eed401fab573bc9  libjava/classpath/javax/net/ssl/TrustManager.java
! 302293019fa548664b250322187d5668  libjava/classpath/javax/net/ssl/TrustManagerFactory.java
! a610e00277da3319f6d3d42073cfa68f  libjava/classpath/javax/net/ssl/TrustManagerFactorySpi.java
! 35a4713def039a3419b77113707175a5  libjava/classpath/javax/net/ssl/X509KeyManager.java
! 6f550c01792d1f8af3e1bcc0f0d0461a  libjava/classpath/javax/net/ssl/X509TrustManager.java
! 40d81165bfa134fbab683d77c42b6de8  libjava/classpath/javax/net/ssl/package.html
! 175e0dfad52e42650d448d690f5627c1  libjava/classpath/javax/print/AttributeException.java
! 9eccd608fae4033c1b5eb88e8c7abeb0  libjava/classpath/javax/print/CancelablePrintJob.java
! ded0d6b8749ad8aebe995b10cd1445dc  libjava/classpath/javax/print/Doc.java
! 87fdb23f51003fb89d2f02341d1dedb8  libjava/classpath/javax/print/DocFlavor.java
! b41c0f6f1a8a7171afb36d31571a8ad3  libjava/classpath/javax/print/DocPrintJob.java
! 576288974d42a8d56bf33a060a48111f  libjava/classpath/javax/print/FlavorException.java
! 637ffbe857ce35cf669df5eee2af03d1  libjava/classpath/javax/print/MultiDoc.java
! bc71b65281dd35553d4253f7e682dfcf  libjava/classpath/javax/print/MultiDocPrintJob.java
! d642d6b7356f09ad2381de1e25f283d4  libjava/classpath/javax/print/MultiDocPrintService.java
! 62c6051b14e4523ceb94eab7c78ca618  libjava/classpath/javax/print/PrintException.java
! fc13e877976dd73b0c43a6b92b597ac1  libjava/classpath/javax/print/PrintService.java
! ea02ee6a435d99eb70235f6385ba1e8a  libjava/classpath/javax/print/PrintServiceLookup.java
! aa840bb32dd4ac0f655d22b9850e47aa  libjava/classpath/javax/print/ServiceUIFactory.java
! b7d4e5c60d25b98c29fa408c51986c3b  libjava/classpath/javax/print/StreamPrintService.java
! f9f46c5cc09b85a29aca82251447be53  libjava/classpath/javax/print/URIException.java
! 3eb864eb33b06f66ba3e78f2c3780f36  libjava/classpath/javax/print/attribute/Attribute.java
! 6ec549155245ebd31933101671751db0  libjava/classpath/javax/print/attribute/AttributeSet.java
! b6c46a15f3b5c9042a45bd970f28edba  libjava/classpath/javax/print/attribute/AttributeSetUtilities.java
! c9297542933606e4458651b5df99fbda  libjava/classpath/javax/print/attribute/DateTimeSyntax.java
! dbb3f6a200d3661a85d42ca927925a8a  libjava/classpath/javax/print/attribute/DocAttribute.java
! 7553025acb61c95bc58145276a8c57c8  libjava/classpath/javax/print/attribute/DocAttributeSet.java
! 42eb7ff1008551bc8772d0cedac7ca82  libjava/classpath/javax/print/attribute/EnumSyntax.java
! 7b6a377b3e6ea740c9952aa8688a0d06  libjava/classpath/javax/print/attribute/HashAttributeSet.java
! 52c8c0783d0dd8ca24845ebcdb0ad9ad  libjava/classpath/javax/print/attribute/HashDocAttributeSet.java
! c52006c1edd57240582976cdd4019870  libjava/classpath/javax/print/attribute/HashPrintJobAttributeSet.java
! a4bd5dbb78d3373832c73a9cf7836add  libjava/classpath/javax/print/attribute/HashPrintRequestAttributeSet.java
! 849b338889ad7f8ba296e0671a31b185  libjava/classpath/javax/print/attribute/HashPrintServiceAttributeSet.java
! bf6022d26438f5f9a329ed6d7eea69b2  libjava/classpath/javax/print/attribute/IntegerSyntax.java
! 371e7796bf23fc38a0e223bb3ab799ce  libjava/classpath/javax/print/attribute/PrintJobAttribute.java
! 97fd4caaa904d62c671f82cf9e5b3418  libjava/classpath/javax/print/attribute/PrintJobAttributeSet.java
! f5630476778550c262b17303596175b8  libjava/classpath/javax/print/attribute/PrintRequestAttribute.java
! b0db223351cb972ed34e036e99686478  libjava/classpath/javax/print/attribute/PrintRequestAttributeSet.java
! 2680147afb84b114c84029f14bdba289  libjava/classpath/javax/print/attribute/PrintServiceAttribute.java
! 8663b655ba50621a3a05ccd80b2d180c  libjava/classpath/javax/print/attribute/PrintServiceAttributeSet.java
! 733b5114d4310cee39f87a922d99e190  libjava/classpath/javax/print/attribute/ResolutionSyntax.java
! 31e980387fc232c5b46c8ca4fa3d0e1d  libjava/classpath/javax/print/attribute/SetOfIntegerSyntax.java
! 48fd825706859c4450f04edc49fcde56  libjava/classpath/javax/print/attribute/Size2DSyntax.java
! c93d9395e1e282c54c6b54fb7b9fa85c  libjava/classpath/javax/print/attribute/SupportedValuesAttribute.java
! f747414875674397f0579ea496ac41d7  libjava/classpath/javax/print/attribute/TextSyntax.java
! e699a1313ea71d1250263b69872f9f32  libjava/classpath/javax/print/attribute/URISyntax.java
! 48d77336699bbb030a9318e43c53daed  libjava/classpath/javax/print/attribute/UnmodifiableSetException.java
! abf93cf5aaff264e35e8d979904c1082  libjava/classpath/javax/print/attribute/package.html
! 548a305f9b1ff28d0d32d46748426b7e  libjava/classpath/javax/print/attribute/standard/Chromaticity.java
! da5bd31813e8fb191edad9b7e038e7f3  libjava/classpath/javax/print/attribute/standard/ColorSupported.java
! 4bedbc6de33ed9976f59539693fb5ad9  libjava/classpath/javax/print/attribute/standard/Compression.java
! 1cd0a676467d929c8d36be16d1abbe19  libjava/classpath/javax/print/attribute/standard/Copies.java
! 7c37bac78009a6322fd72d536eed0ff7  libjava/classpath/javax/print/attribute/standard/CopiesSupported.java
! d7cf477c3744703a31d507670b447d59  libjava/classpath/javax/print/attribute/standard/DateTimeAtCompleted.java
! bc4001532bda254c2c029c091431cbbf  libjava/classpath/javax/print/attribute/standard/DateTimeAtCreation.java
! 9369c685d1fc7d3d2c418d7147717388  libjava/classpath/javax/print/attribute/standard/DateTimeAtProcessing.java
! e3c9a4a50048b935b964532d4347f2a3  libjava/classpath/javax/print/attribute/standard/Destination.java
! 7872f8acde4f8843b4356eb36f9d2bd4  libjava/classpath/javax/print/attribute/standard/DocumentName.java
! b0ff0ae212bb749cad20b97673630bc2  libjava/classpath/javax/print/attribute/standard/Fidelity.java
! f1bb76c1b636a2cdfae8ef641b073e5f  libjava/classpath/javax/print/attribute/standard/Finishings.java
! 84f4f01cd063d0ed568715670b5594a7  libjava/classpath/javax/print/attribute/standard/JobHoldUntil.java
! 2e10f0bc7f5ccd8e9d502f72e04ab73e  libjava/classpath/javax/print/attribute/standard/JobImpressions.java
! 77ec9a8698db94e3379f4c8318820742  libjava/classpath/javax/print/attribute/standard/JobImpressionsCompleted.java
! c26b6eab185fa344010d386db52b3035  libjava/classpath/javax/print/attribute/standard/JobImpressionsSupported.java
! 9429817ed764367c13515f19d6a6a74f  libjava/classpath/javax/print/attribute/standard/JobKOctets.java
! cccda5f2f3b36ce7b30694df27329772  libjava/classpath/javax/print/attribute/standard/JobKOctetsProcessed.java
! e619d044a4a892aa2325a5206fb59055  libjava/classpath/javax/print/attribute/standard/JobKOctetsSupported.java
! 9641ee2fa06f3dc7c677a16c77ef0f25  libjava/classpath/javax/print/attribute/standard/JobMediaSheets.java
! aa232e903c556fc3a937afbeb74594c8  libjava/classpath/javax/print/attribute/standard/JobMediaSheetsCompleted.java
! ffd142d4df864b7498236e3d0f672df8  libjava/classpath/javax/print/attribute/standard/JobMediaSheetsSupported.java
! 1c8b8efba7f07bb7bc3275c60f6f5693  libjava/classpath/javax/print/attribute/standard/JobMessageFromOperator.java
! 54c582fb8a90a73678aa8cad9cfa1ad9  libjava/classpath/javax/print/attribute/standard/JobName.java
! a31a44ac03029cc91db36703cbb1c788  libjava/classpath/javax/print/attribute/standard/JobOriginatingUserName.java
! 61a66409040b6bb7e0aad74f3b3670f9  libjava/classpath/javax/print/attribute/standard/JobPriority.java
! f0fc79f8d2833fc34ad4f5833fa13bc7  libjava/classpath/javax/print/attribute/standard/JobPrioritySupported.java
! 7971a3ff1122ca1e48739af92f11145f  libjava/classpath/javax/print/attribute/standard/JobSheets.java
! 5b88c2e1470afd9be48c4934e8db7f0e  libjava/classpath/javax/print/attribute/standard/JobState.java
! feb763d080c5026261ff9d53052b26c3  libjava/classpath/javax/print/attribute/standard/JobStateReason.java
! a54a5715240ee95389e9afcdd8c159b4  libjava/classpath/javax/print/attribute/standard/JobStateReasons.java
! 2a2f17c28c26426713ffadf67a4ab9f0  libjava/classpath/javax/print/attribute/standard/Media.java
! 30db2b938f0eaf266b6154b1b73df880  libjava/classpath/javax/print/attribute/standard/MediaPrintableArea.java
! 3dbddc8fd4cbd9ce601602da4740d0f2  libjava/classpath/javax/print/attribute/standard/MediaSize.java
! a131296fc0e82fbc3ff8c5f8f9cf09a8  libjava/classpath/javax/print/attribute/standard/MediaSizeName.java
! 74f6a9edf0426d918a43ea1622dd824e  libjava/classpath/javax/print/attribute/standard/MultipleDocumentHandling.java
! 423b2490fbb170edaeeaf2e02fc01009  libjava/classpath/javax/print/attribute/standard/NumberOfDocuments.java
! ab7895e83ccd4881fd87cabcef46a498  libjava/classpath/javax/print/attribute/standard/NumberOfInterveningJobs.java
! 44d7e8d8d06ba7d340f35aeb5aa39409  libjava/classpath/javax/print/attribute/standard/NumberUp.java
! 9150929d7758e6e1ac01f199879c0b28  libjava/classpath/javax/print/attribute/standard/NumberUpSupported.java
! 6477b625d2bcf3c86ca19f94bdcfa0ea  libjava/classpath/javax/print/attribute/standard/OrientationRequested.java
! a19a0b52c3b4c95a665cfd6c6564ad76  libjava/classpath/javax/print/attribute/standard/OutputDeviceAssigned.java
! 8505703afc6b4ee8958a744184017afe  libjava/classpath/javax/print/attribute/standard/PDLOverrideSupported.java
! 51332a8a87c3ac7f43ac483a2e2bad4a  libjava/classpath/javax/print/attribute/standard/PageRanges.java
! c661ffa08df9e238d12da004157b95ac  libjava/classpath/javax/print/attribute/standard/PagesPerMinute.java
! 548359b56d14eaf086357cc58e35c8bf  libjava/classpath/javax/print/attribute/standard/PagesPerMinuteColor.java
! e3bd912407ca82aaa9fc1a8ad919e6ed  libjava/classpath/javax/print/attribute/standard/PresentationDirection.java
! 114330dd3df135bc2c3a9425a31e4eb3  libjava/classpath/javax/print/attribute/standard/PrintQuality.java
! 34187f360bf28d9128192a8bac10b8b4  libjava/classpath/javax/print/attribute/standard/PrinterInfo.java
! 2eca1d2e896080ce5782489322e0240c  libjava/classpath/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
! 7bb2f1aa7bff396ac9e832f6362207f4  libjava/classpath/javax/print/attribute/standard/PrinterLocation.java
! 3eb410dbc8413a216a040e2ef2460515  libjava/classpath/javax/print/attribute/standard/PrinterMakeAndModel.java
! b70db20f5ed5b3c21d9d48928fc1f5f4  libjava/classpath/javax/print/attribute/standard/PrinterMessageFromOperator.java
! 1e153b01c8fec09dabcd7f210de43ece  libjava/classpath/javax/print/attribute/standard/PrinterMoreInfo.java
! 4f64d3a44df2c950d2f22ac56ee559b8  libjava/classpath/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java
! 067ca4eed92331963e783bce1bfbd3ea  libjava/classpath/javax/print/attribute/standard/PrinterName.java
! 79b98a96ac9e9c1e9f8eaa9626b1ff32  libjava/classpath/javax/print/attribute/standard/PrinterResolution.java
! a103198185ffaf1ab19d0b5e421d4219  libjava/classpath/javax/print/attribute/standard/PrinterState.java
! 4989cbaae6780a600de79e96d0c941b5  libjava/classpath/javax/print/attribute/standard/PrinterStateReason.java
! 7c570ce639eac7199ee8547e99d2df57  libjava/classpath/javax/print/attribute/standard/PrinterStateReasons.java
! c929429d72bfa14485ea3f58dcbe696c  libjava/classpath/javax/print/attribute/standard/PrinterURI.java
! e7a26bda4d82594d28c6573adaa828b8  libjava/classpath/javax/print/attribute/standard/QueuedJobCount.java
! f7381a26f0208701be54cc198eb6d44f  libjava/classpath/javax/print/attribute/standard/ReferenceUriSchemesSupported.java
! 0f1923372c609274105204b99895b5c5  libjava/classpath/javax/print/attribute/standard/RequestingUserName.java
! e08375d141d453261024b8510c4c91d6  libjava/classpath/javax/print/attribute/standard/Severity.java
! 2259a9ee6ee4c34f0324f73c04b5d5be  libjava/classpath/javax/print/attribute/standard/SheetCollate.java
! d3a96d31d64405c3e2d9e7076d407450  libjava/classpath/javax/print/attribute/standard/Sides.java
! ff30efec6750bf72f66f9cae5978dd60  libjava/classpath/javax/print/attribute/standard/package.html
! 4c5497fb53d9b52efa4475f96a3d2b58  libjava/classpath/javax/print/event/PrintEvent.java
! 817713d29f972a28a73ea4d0d5060fcd  libjava/classpath/javax/print/event/PrintJobAdapter.java
! 07fb7e3a7137a43927616dd11dbb28e8  libjava/classpath/javax/print/event/PrintJobAttributeEvent.java
! 1330d9162b37d1e22e4960ee786c7ab5  libjava/classpath/javax/print/event/PrintJobAttributeListener.java
! c7904aa3aaabf162a5d926c404d684a6  libjava/classpath/javax/print/event/PrintJobEvent.java
! 8435ba4ffa7196ccae7925e737e5fe2e  libjava/classpath/javax/print/event/PrintJobListener.java
! aaa5ff453e6f4c88493a966d67dcb9e4  libjava/classpath/javax/print/event/PrintServiceAttributeEvent.java
! 6fa35decbab586d6090fc7c0e9085366  libjava/classpath/javax/print/event/PrintServiceAttributeListener.java
! 2a748abb550f5ce7ec79cfbd02359060  libjava/classpath/javax/print/event/package.html
! 231cc485522ce82052ea516e4496ff62  libjava/classpath/javax/print/package.html
! f76cc24cdfa797985823798605fd0022  libjava/classpath/javax/rmi/CORBA/ClassDesc.java
! 6de2034c018a872792e2cc44562d3f75  libjava/classpath/javax/rmi/CORBA/PortableRemoteObjectDelegate.java
! c5080bc2efa3ecf5bb32d33eca03514d  libjava/classpath/javax/rmi/CORBA/Stub.java
! d438ae470f6232fdeb0bf3d80fdee977  libjava/classpath/javax/rmi/CORBA/StubDelegate.java
! 781090696daf823eb9267465c482f971  libjava/classpath/javax/rmi/CORBA/Tie.java
! bdc32641d40570842a6ad06950a3c96a  libjava/classpath/javax/rmi/CORBA/Util.java
! f6aa49ae136cb19c275ff41191eeb5c9  libjava/classpath/javax/rmi/CORBA/UtilDelegate.java
! 8cb8a85a63fac5d6f1d2b73f13c502ef  libjava/classpath/javax/rmi/CORBA/ValueHandler.java
! d77716c16c2bc35c5f31f578dd46787d  libjava/classpath/javax/rmi/CORBA/ValueHandlerMultiFormat.java
! a5b20367de296bfb0d6ea7aa23c81842  libjava/classpath/javax/rmi/CORBA/package.html
! c2ac1c01881569126705925c12859c7c  libjava/classpath/javax/rmi/PortableRemoteObject.java
! a5b20367de296bfb0d6ea7aa23c81842  libjava/classpath/javax/rmi/package.html
! 5412805a8390d83bfd7d2326c1f91858  libjava/classpath/javax/security/auth/AuthPermission.java
! fce21acc0007a646a70045a7637525e9  libjava/classpath/javax/security/auth/DestroyFailedException.java
! 0abbe965650378f6d8e91e775e234387  libjava/classpath/javax/security/auth/Destroyable.java
! 9f69141a64489983ccb8ee3d2c61e850  libjava/classpath/javax/security/auth/Policy.java
! 45e2109da8d557868a5d93ce3119340f  libjava/classpath/javax/security/auth/PrivateCredentialPermission.java
! f60172dc33964ed65eadd6bb00c73947  libjava/classpath/javax/security/auth/RefreshFailedException.java
! e4a3fe8310afcffac072d88622cd48a4  libjava/classpath/javax/security/auth/Refreshable.java
! 5da92298464db5619f87726cd9911b10  libjava/classpath/javax/security/auth/Subject.java
! ed3d54c1edca716a98174f84f1a7e1e4  libjava/classpath/javax/security/auth/SubjectDomainCombiner.java
! 1f2a167b14f01a5b79eac191ada86c6e  libjava/classpath/javax/security/auth/callback/Callback.java
! 20937381fffaddf3875beab41d2e1dec  libjava/classpath/javax/security/auth/callback/CallbackHandler.java
! a1058a6ee3ce78f6712e94971929899f  libjava/classpath/javax/security/auth/callback/ChoiceCallback.java
! 7d262848996ecd5306f4176d2b4e342d  libjava/classpath/javax/security/auth/callback/ConfirmationCallback.java
! ce9eb98018ea5d342d5d8ab6fb9edb30  libjava/classpath/javax/security/auth/callback/LanguageCallback.java
! 006a456a9cf3873bace9f5fc9a810a67  libjava/classpath/javax/security/auth/callback/NameCallback.java
! a2f118b45913f4c68bfebad2bde72009  libjava/classpath/javax/security/auth/callback/PasswordCallback.java
! 68694849860cd45b899a51c98a6d92cc  libjava/classpath/javax/security/auth/callback/TextInputCallback.java
! dc4a2ec3232a2209f9aa617df5fdb679  libjava/classpath/javax/security/auth/callback/TextOutputCallback.java
! 2bbfb8a1880d47aba1e94e126a5e06fa  libjava/classpath/javax/security/auth/callback/UnsupportedCallbackException.java
! 34c61797314e8fea47bd2fc9fe82aeec  libjava/classpath/javax/security/auth/callback/package.html
! a45ec3267bcf93a5b62e152e58a84053  libjava/classpath/javax/security/auth/login/AccountExpiredException.java
! 34b91c2d9bbe4c3b8b3cd2350a28f0c1  libjava/classpath/javax/security/auth/login/AppConfigurationEntry.java
! 84a9917057f001eeb767f58f330933af  libjava/classpath/javax/security/auth/login/Configuration.java
! 6a85fca241578e4b07980ac8412db235  libjava/classpath/javax/security/auth/login/CredentialExpiredException.java
! 533db60016f7f94c584d6bb7104d28c3  libjava/classpath/javax/security/auth/login/FailedLoginException.java
! 0e8e2826499c73c3c94f8601eccb898d  libjava/classpath/javax/security/auth/login/LoginContext.java
! 207bfda7ace107f4eadbd859a2e48b61  libjava/classpath/javax/security/auth/login/LoginException.java
! 7ab92fd4cd7f15ac23845dbf5ec7f1c2  libjava/classpath/javax/security/auth/login/NullConfiguration.java
! 580d8d3048a522f21f85ed297cc1504d  libjava/classpath/javax/security/auth/login/package.html
! e7258b81e990e2f8a81c1e8b345e2ef0  libjava/classpath/javax/security/auth/package.html
! 1e7371ca443e57c9541be48fda28fb29  libjava/classpath/javax/security/auth/spi/LoginModule.java
! 4dd3836a51a97d6ee205f4faab4226cf  libjava/classpath/javax/security/auth/spi/package.html
! 3c902354a6e7ecf4be3f3ed47367aeff  libjava/classpath/javax/security/auth/x500/X500Principal.java
! ae25f9768d466d909a4419777f835f6f  libjava/classpath/javax/security/auth/x500/X500PrivateCredential.java
! d93eea1d8f3d65914067e1431c982f4e  libjava/classpath/javax/security/auth/x500/package.html
! 3591540556d26e4285cd6f45ee1d58b7  libjava/classpath/javax/security/cert/Certificate.java
! afce0cfcf1eb8fb9e7a34aed235ed90b  libjava/classpath/javax/security/cert/CertificateEncodingException.java
! 704864d6cb5f2ca4be5bbc7b2da9f491  libjava/classpath/javax/security/cert/CertificateException.java
! 8a9fd8226a4ae62deabf5be7814d9af6  libjava/classpath/javax/security/cert/CertificateExpiredException.java
! 001fac5b78c33890535c93005cb50d5f  libjava/classpath/javax/security/cert/CertificateNotYetValidException.java
! 337316b11edddf5b34a1178167c374b0  libjava/classpath/javax/security/cert/CertificateParsingException.java
! 4c3dd6c5093449cb3273ff3897635237  libjava/classpath/javax/security/cert/X509CertBridge.java
! 18beea09817b6bae928d135548617d32  libjava/classpath/javax/security/cert/X509Certificate.java
! a35e12551895ab175402df4880589b31  libjava/classpath/javax/security/cert/package.html
! 1ab8976a6ae2cc424c81a96f8d684568  libjava/classpath/javax/security/package.html
! 1d78eb51c99a916f7dfa9e98894a9b3f  libjava/classpath/javax/security/sasl/AuthenticationException.java
! adc838fde28e612a5e5bc172c8aa6206  libjava/classpath/javax/security/sasl/AuthorizeCallback.java
! 9b16dfec5f1e7919ec4175189a78d313  libjava/classpath/javax/security/sasl/RealmCallback.java
! 8dcf0c8cbdf9c7b1421488c791b50691  libjava/classpath/javax/security/sasl/RealmChoiceCallback.java
! 021940614ec9194865dfafa827bb68d0  libjava/classpath/javax/security/sasl/Sasl.java
! f9c84714808264874ef7802a87d66e7d  libjava/classpath/javax/security/sasl/SaslClient.java
! 517184484b82db6b6b81159daf9c42ad  libjava/classpath/javax/security/sasl/SaslClientFactory.java
! 17206a86e992467636257c404bccca7b  libjava/classpath/javax/security/sasl/SaslException.java
! 313ab118014605a432d61eb55ad7de0d  libjava/classpath/javax/security/sasl/SaslServer.java
! 17c5e2f4bfb0d78357c2462dac6739ac  libjava/classpath/javax/security/sasl/SaslServerFactory.java
! 9b0bb7c8a840ac8fbe47cfeac1ba2659  libjava/classpath/javax/security/sasl/package.html
! 65af62dea3d932f80d542baf7073889a  libjava/classpath/javax/sound/midi/ControllerEventListener.java
! e2efb6d7f68b80f1b2db45a44e363a8d  libjava/classpath/javax/sound/midi/Instrument.java
! 883dad7248c49852a7901fd8bf5ed0c1  libjava/classpath/javax/sound/midi/InvalidMidiDataException.java
! 5e18e9ae3995ceb09f3697c114809faf  libjava/classpath/javax/sound/midi/MetaEventListener.java
! 8fcec744e6ddb6f1d17bb287e65ec403  libjava/classpath/javax/sound/midi/MetaMessage.java
! f2f7a7a4860051e3cd41d982d3d758bc  libjava/classpath/javax/sound/midi/MidiChannel.java
! 6f545b8cf7d095168dc69875da9739e5  libjava/classpath/javax/sound/midi/MidiDevice.java
! 60cc9238dead62e0adcb26663506f5a3  libjava/classpath/javax/sound/midi/MidiEvent.java
! 8e6d981157fddf00d027064102f25f14  libjava/classpath/javax/sound/midi/MidiFileFormat.java
! 804afba5acf20aa95751addd638d51be  libjava/classpath/javax/sound/midi/MidiMessage.java
! bb918cc6f8b1fcb1b06bc48e2f360aa0  libjava/classpath/javax/sound/midi/MidiSystem.java
! 8725f9cc536561577eab20db35deb51b  libjava/classpath/javax/sound/midi/MidiUnavailableException.java
! 2c46ebdfab9829dd4713d5e49eb690e4  libjava/classpath/javax/sound/midi/Patch.java
! a6fbfb20bd1b5a89f5d0257ef9bf43e0  libjava/classpath/javax/sound/midi/Receiver.java
! de7f8ba40082f9dd1fbf9bc8522612ea  libjava/classpath/javax/sound/midi/Sequence.java
! 2616e2e99c6a68ae36901b74b4bebeca  libjava/classpath/javax/sound/midi/Sequencer.java
! 0f8e70033d018b506b36dee136ea9900  libjava/classpath/javax/sound/midi/ShortMessage.java
! 71db3255ea4c35537d46787eff897d41  libjava/classpath/javax/sound/midi/Soundbank.java
! f1809e8c6a9121cac6df990026166f98  libjava/classpath/javax/sound/midi/SoundbankResource.java
! 8e3708d022dba14bc441f6d4e69c116b  libjava/classpath/javax/sound/midi/Synthesizer.java
! b592996e644f51821e0bdaa06f0c259b  libjava/classpath/javax/sound/midi/SysexMessage.java
! 00f4e9b2b043d523e909a513b5c12599  libjava/classpath/javax/sound/midi/Track.java
! e3338874dfa54604030f72878561ae30  libjava/classpath/javax/sound/midi/Transmitter.java
! 5829090b85d0d855139e3a1f051d8088  libjava/classpath/javax/sound/midi/VoiceStatus.java
! 39791309d76f98ba7b6c99c2061f1267  libjava/classpath/javax/sound/midi/spi/MidiDeviceProvider.java
! f3fbf929a5467456804bfed81f099612  libjava/classpath/javax/sound/midi/spi/MidiFileReader.java
! 25a3dbdde8c7a28e11b335163230095c  libjava/classpath/javax/sound/midi/spi/MidiFileWriter.java
! bedae8c22a2814f81551e0f8b4d797fb  libjava/classpath/javax/sound/midi/spi/SoundbankReader.java
! 61c98f695505d4cc225d44c2f0e5902f  libjava/classpath/javax/sound/sampled/AudioFileFormat.java
! 908b1dc05e6e0b62739bd4e9ec62a8ae  libjava/classpath/javax/sound/sampled/AudioFormat.java
! 974c413565ecb3ea231a6b38ccd0b084  libjava/classpath/javax/sound/sampled/AudioInputStream.java
! 2554ade65aeeb69de9b8945ad9b7c621  libjava/classpath/javax/sound/sampled/AudioPermission.java
! c628b5588f8010c4cf95590b84b92e8d  libjava/classpath/javax/sound/sampled/AudioSystem.java
! a81d13ad9d909c31a9c787e31895fc9e  libjava/classpath/javax/sound/sampled/BooleanControl.java
! cf748d920cf0096ce9afe5d26733a806  libjava/classpath/javax/sound/sampled/Clip.java
! aa284be9f609eef5dac50bc2fbc2a2e0  libjava/classpath/javax/sound/sampled/CompoundControl.java
! aaf9ec1664ad6bc7ee4f0d8cb33a5965  libjava/classpath/javax/sound/sampled/Control.java
! a8a17bcc28344784334d132552afdc81  libjava/classpath/javax/sound/sampled/DataLine.java
! f506e40b849129edd0e27aea35c4aa2d  libjava/classpath/javax/sound/sampled/EnumControl.java
! 4df1b38a453c7beb91da88d11f45abd8  libjava/classpath/javax/sound/sampled/FloatControl.java
! ba3b32c49d0256c35693873a9aa6ca71  libjava/classpath/javax/sound/sampled/Line.java
! 959bf1b87c71bae51ae850d05028de6e  libjava/classpath/javax/sound/sampled/LineEvent.java
! bef9661095bb663d7b7b33bc2b936139  libjava/classpath/javax/sound/sampled/LineListener.java
! 8c341da940b83d37d646032cfe7854b0  libjava/classpath/javax/sound/sampled/LineUnavailableException.java
! 6289e41c8d62c0524690029ed858da44  libjava/classpath/javax/sound/sampled/Mixer.java
! 36895bbef8d553877287a19de84ec4da  libjava/classpath/javax/sound/sampled/Port.java
! aca81af7eb2878e21ee1ec0f262d139c  libjava/classpath/javax/sound/sampled/ReverbType.java
! 4988e9f9786c94536de6287db9777198  libjava/classpath/javax/sound/sampled/SourceDataLine.java
! 3d121806856a5a236fb308c6d1091480  libjava/classpath/javax/sound/sampled/TargetDataLine.java
! ccabdac277a41e68ba70f7c04dadecab  libjava/classpath/javax/sound/sampled/UnsupportedAudioFileException.java
! c74c1bd66eb012d74a51dd86c356e4e1  libjava/classpath/javax/sound/sampled/spi/AudioFileReader.java
! bfa4a958338ff65e1c946432798e7720  libjava/classpath/javax/sound/sampled/spi/AudioFileWriter.java
! d52f6c838e40e75476fecf22b37d7205  libjava/classpath/javax/sound/sampled/spi/FormatConversionProvider.java
! 964937583c98fcb3112b1c3dbefba073  libjava/classpath/javax/sound/sampled/spi/MixerProvider.java
! 58db3e6ca1a2c41464114edffffd2bd8  libjava/classpath/javax/sql/ConnectionEvent.java
! 6099e1d28651ac6ec4ce215da582093d  libjava/classpath/javax/sql/ConnectionEventListener.java
! ecdc84aa5adf5d64a7bc521436efcc31  libjava/classpath/javax/sql/ConnectionPoolDataSource.java
! 4acfbdedfb4406f01bb85a2c93b9855a  libjava/classpath/javax/sql/DataSource.java
! 7270898d3b6ac5958fbe1aa1e3d37bce  libjava/classpath/javax/sql/PooledConnection.java
! 71be2878d81db130672c33e021f416b6  libjava/classpath/javax/sql/RowSet.java
! 007db06b7223d7c122ebb26b92c37cc3  libjava/classpath/javax/sql/RowSetEvent.java
! 945f1bd92f14067852bd4b76fa3c89e7  libjava/classpath/javax/sql/RowSetInternal.java
! dc127b4bed019cb8d4bac3c3dbeadc36  libjava/classpath/javax/sql/RowSetListener.java
! ad0905c28eead47de0da72d2c18169d3  libjava/classpath/javax/sql/RowSetMetaData.java
! 0d8443a2405e272c06100e792b4bd775  libjava/classpath/javax/sql/RowSetReader.java
! 078a218da7b0bb5b8821d01bafebc9a7  libjava/classpath/javax/sql/RowSetWriter.java
! 25045baa64548bd0cd8749cc92dbd79c  libjava/classpath/javax/sql/XAConnection.java
! 44defb9f4211055636a1aad78f16d525  libjava/classpath/javax/sql/XADataSource.java
! 141db6e86fe939c11af133e766127825  libjava/classpath/javax/sql/package.html
! 5608f8f0ce65a1753c6aea3f14d1db3f  libjava/classpath/javax/swing/AbstractAction.java
! c8d8af6ca1dc1591cd37d98bde82ed64  libjava/classpath/javax/swing/AbstractButton.java
! 9347e4709aa87a388d6d6864c136ae05  libjava/classpath/javax/swing/AbstractCellEditor.java
! 64b1ca498e2805b99eeb9fc9ded90d4c  libjava/classpath/javax/swing/AbstractListModel.java
! 64d0e10a9da69e6cb3aebff328d6faa6  libjava/classpath/javax/swing/AbstractSpinnerModel.java
! ecdf1999f48fc1f050705956d5e0836a  libjava/classpath/javax/swing/Action.java
! e2b91665b917c0ea3f71f36784c3da20  libjava/classpath/javax/swing/ActionMap.java
! 141b3111ac9d0f02d57f9753dd19bf87  libjava/classpath/javax/swing/BorderFactory.java
! 0b3558274030dae33aa07627249f6930  libjava/classpath/javax/swing/BoundedRangeModel.java
! 6e2ad41cea23fab1fe0f31ffd9751f94  libjava/classpath/javax/swing/Box.java
! cc58cd25459d991022f3db3bed73f3f4  libjava/classpath/javax/swing/BoxLayout.java
! 7ffac86ddcfc2149ef60cfad1831ef52  libjava/classpath/javax/swing/ButtonGroup.java
! e1e8f67056efeeae77bbc5ec7e836852  libjava/classpath/javax/swing/ButtonModel.java
! 8c5761c5dcd372881129a136e6b50f25  libjava/classpath/javax/swing/CellEditor.java
! b7c050e9e035b27dceefc88d377ea468  libjava/classpath/javax/swing/CellRendererPane.java
! f2b432a53c32bfc79547decd8dc256f3  libjava/classpath/javax/swing/ComboBoxEditor.java
! e42056652c24f9ca8664614e215ff84c  libjava/classpath/javax/swing/ComboBoxModel.java
! 9ed52ca63b3c9bbfea126d1ca4d957c9  libjava/classpath/javax/swing/ComponentInputMap.java
! 2f31fa72ffdf674ea30adce0d337b1f4  libjava/classpath/javax/swing/DebugGraphics.java
! a00b79941662cd814199e1d8c08d233b  libjava/classpath/javax/swing/DefaultBoundedRangeModel.java
! 5bce8caa4f979321126ea429c8a805c6  libjava/classpath/javax/swing/DefaultButtonModel.java
! 39cbfb66a7a2d41cd1162a1fa7bf1d5e  libjava/classpath/javax/swing/DefaultCellEditor.java
! ae06eaf690bffe01c864c6a390544937  libjava/classpath/javax/swing/DefaultComboBoxModel.java
! e219a1c81d650cc8d2bbb04e61a5a9cf  libjava/classpath/javax/swing/DefaultDesktopManager.java
! f0a48bbf08eac7a3480b1db1f82d4311  libjava/classpath/javax/swing/DefaultFocusManager.java
! e944454201fcad262cf00513397b84d1  libjava/classpath/javax/swing/DefaultListCellRenderer.java
! 9c49d85b371593bd0a7d15074ce54630  libjava/classpath/javax/swing/DefaultListModel.java
! 69c57f9b3cd627df669700b7129697fb  libjava/classpath/javax/swing/DefaultListSelectionModel.java
! f5c64e62014918f89e8dfaf0eac47fb4  libjava/classpath/javax/swing/DefaultSingleSelectionModel.java
! 6c5fbea0bd866c531639156a73433540  libjava/classpath/javax/swing/DesktopManager.java
! b9d8ef4753eec2dc831677a6e4ef3a6e  libjava/classpath/javax/swing/FocusManager.java
! 3548f90fa3a5a0f04878024fd0b16f33  libjava/classpath/javax/swing/GrayFilter.java
! 4c19f4a0ae0354e259a386b41e9f2924  libjava/classpath/javax/swing/Icon.java
! 46d4e0f2103b0cf9f9908e6d5211d88d  libjava/classpath/javax/swing/ImageIcon.java
! 9b64ded2abb5fdee62927cdd5e9aa533  libjava/classpath/javax/swing/InputMap.java
! 08b1f7a9e0b8d1e9eb44515fc9ed9e4b  libjava/classpath/javax/swing/InputVerifier.java
! 38cc03b57efefcfab6ab99726e235275  libjava/classpath/javax/swing/InternalFrameFocusTraversalPolicy.java
! e2a52afffe01d46157dbc23ea73c0ed6  libjava/classpath/javax/swing/JApplet.java
! 82cad0e65190732b6904084aa6c6addf  libjava/classpath/javax/swing/JButton.java
! 4495c82f9efc41b5fd04cef0136b18f1  libjava/classpath/javax/swing/JCheckBox.java
! 131ba168f7d3271f204cecdffabd7cd3  libjava/classpath/javax/swing/JCheckBoxMenuItem.java
! 41479648ad43210beacd8fb1fe8496d1  libjava/classpath/javax/swing/JColorChooser.java
! 66cd3e72bc191007471e4656d4ca48a1  libjava/classpath/javax/swing/JComboBox.java
! 396f31bc08038b68004d32cbe70c6c70  libjava/classpath/javax/swing/JComponent.java
! 3da0effba2f2bc60b2e4bc7f5174bcdd  libjava/classpath/javax/swing/JDesktopPane.java
! fd544d2768d0a137f55fb723496a378a  libjava/classpath/javax/swing/JDialog.java
! 0d996cbb03b4ce1d6ae6a85817eb4dfa  libjava/classpath/javax/swing/JEditorPane.java
! 22629cb7f6e5f0a3f9547b74be2bb79f  libjava/classpath/javax/swing/JFileChooser.java
! a2d9b56ac2d31dbdb7b08aad933b9851  libjava/classpath/javax/swing/JFormattedTextField.java
! ecfcb85094fc01bcb32d25cb3d68eb48  libjava/classpath/javax/swing/JFrame.java
! f205d5f477dbafc1e46a7334810fcdfe  libjava/classpath/javax/swing/JInternalFrame.java
! 9912103e983e03faede0a74d09d11661  libjava/classpath/javax/swing/JLabel.java
! 816785f78b1672843a3c18a20149ef47  libjava/classpath/javax/swing/JLayeredPane.java
! 1bf376271b76fe29a5705cb5dfe6527e  libjava/classpath/javax/swing/JList.java
! a30303472b23498ca96f1fd546809988  libjava/classpath/javax/swing/JMenu.java
! 6ddbbbac06ad27294cdfc8f90c3c3ae1  libjava/classpath/javax/swing/JMenuBar.java
! 1bf2080d8ef3a207394c878180ac3cbd  libjava/classpath/javax/swing/JMenuItem.java
! 9780b6c6301a1878bbb07bb9a0ef6a59  libjava/classpath/javax/swing/JOptionPane.java
! c24c299ac5b9ffbc68a2568606844790  libjava/classpath/javax/swing/JPanel.java
! d67e86f4e355c3df37666fe99f9c8276  libjava/classpath/javax/swing/JPasswordField.java
! 5b3d8c8d7f63f38923687bb792a37ea1  libjava/classpath/javax/swing/JPopupMenu.java
! d3554f84ddf7bc3230e05c75b288a8f5  libjava/classpath/javax/swing/JProgressBar.java
! 4f4935f3ad1bf2708a7b79b8b45665ac  libjava/classpath/javax/swing/JRadioButton.java
! 0a7ba074ac69cede8ed954d5b068cde6  libjava/classpath/javax/swing/JRadioButtonMenuItem.java
! d7ed29cf8899c9ead3146c7be8c257ef  libjava/classpath/javax/swing/JRootPane.java
! 7dea5daf1d37773ada868f3c562e5b93  libjava/classpath/javax/swing/JScrollBar.java
! 318d5da640e35ab1352237c0bf0e35b7  libjava/classpath/javax/swing/JScrollPane.java
! 4af6851b70b5aa20c2d53cb1c897f3b4  libjava/classpath/javax/swing/JSeparator.java
! a29aa80d777a73f4056d0fb4181b6628  libjava/classpath/javax/swing/JSlider.java
! ed28e7e344281a63619b6141e39c81f5  libjava/classpath/javax/swing/JSpinner.java
! 3d87e5f8f672d26d7772f2cec25c4201  libjava/classpath/javax/swing/JSplitPane.java
! 05fcbd65e127a6257f3811596ada874b  libjava/classpath/javax/swing/JTabbedPane.java
! 0db9c35767428746ca9f6fc804082f44  libjava/classpath/javax/swing/JTable.java
! 7ed1fe4d7c5c466e463e85118c537b05  libjava/classpath/javax/swing/JTextArea.java
! 665418f5fe9eccc584ad26c551e2f8f8  libjava/classpath/javax/swing/JTextField.java
! 78c7cd3d3a8be021ac43857ea9917d9e  libjava/classpath/javax/swing/JTextPane.java
! 84bbe61589c4a903e8ca34d47ff87eff  libjava/classpath/javax/swing/JToggleButton.java
! a7224899538e6853a26a84fcaef02526  libjava/classpath/javax/swing/JToolBar.java
! 15e4d9b0d407aa445c220ac43bb2ae68  libjava/classpath/javax/swing/JToolTip.java
! 5e7fa0b5617d3362892699b1ce2313ea  libjava/classpath/javax/swing/JTree.java
! 900eae0c4a4d611bbb604d379221b7d9  libjava/classpath/javax/swing/JViewport.java
! 8e5dc005f722a7787c0625d07193b410  libjava/classpath/javax/swing/JWindow.java
! 17b03b10b24fc25554e01123e942b338  libjava/classpath/javax/swing/KeyStroke.java
! e5a61cc0e0490bfdedb94bdfb52d1ca4  libjava/classpath/javax/swing/KeyboardManager.java
! 4efb9571e2bd3927ef05a909d7466a7b  libjava/classpath/javax/swing/LayoutFocusTraversalPolicy.java
! 891cf698940726b394827fdcd45eeca1  libjava/classpath/javax/swing/ListCellRenderer.java
! 0711c4a830c45a1b78a4e6c0491c0012  libjava/classpath/javax/swing/ListModel.java
! 0f68df96bbf5d1b08b10615d9f72ef2c  libjava/classpath/javax/swing/ListSelectionModel.java
! 30dd53594320bac6adb24891bed90c1a  libjava/classpath/javax/swing/LookAndFeel.java
! 1d7da7a2e9bd274de0ca9d1f3bef396c  libjava/classpath/javax/swing/MenuElement.java
! cb49942005d03a112bb1d9fd24405a26  libjava/classpath/javax/swing/MenuSelectionManager.java
! 4b9a5600f82415938f53886936cdf82e  libjava/classpath/javax/swing/MutableComboBoxModel.java
! ad6d44f898ae567399d1e90d2ab8e3dd  libjava/classpath/javax/swing/OverlayLayout.java
! 469605cc6be09105bd1822fe7b1ebec4  libjava/classpath/javax/swing/Popup.java
! d3f0a15a026ca534251d49ff2f52cba4  libjava/classpath/javax/swing/PopupFactory.java
! 9320596910cee7a3ce6ffe7ce22874c6  libjava/classpath/javax/swing/ProgressMonitor.java
! 7423c390f8893c3be227656cc9cb51d0  libjava/classpath/javax/swing/ProgressMonitorInputStream.java
! 040eedb10ae4cbe8e0ba837c90472760  libjava/classpath/javax/swing/Renderer.java
! 519f9b58369cc4908da2f6e0c750bf4f  libjava/classpath/javax/swing/RepaintManager.java
! 7f4a8db9d9894e77626daadd27e5d4c3  libjava/classpath/javax/swing/RootPaneContainer.java
! 94d579fb31090a11faf1df621f9bbba6  libjava/classpath/javax/swing/ScrollPaneConstants.java
! ce836223025559c1fc6629264e82db56  libjava/classpath/javax/swing/ScrollPaneLayout.java
! 30538261bd0d17037d47b8c128065dff  libjava/classpath/javax/swing/Scrollable.java
! faf13bfe1e6416a9192ce9b634923318  libjava/classpath/javax/swing/SingleSelectionModel.java
! 90bb54aae129fe389642716fb50d0b92  libjava/classpath/javax/swing/SizeRequirements.java
! c1605605d0ff43a0e9385e5279b3a8d9  libjava/classpath/javax/swing/SizeSequence.java
! 2c58ccb9271d5d5d80d06cfaea805e71  libjava/classpath/javax/swing/SortingFocusTraversalPolicy.java
! 48b98cbcf143a1645e73b5524ad8a3fe  libjava/classpath/javax/swing/SpinnerDateModel.java
! e87ae5d626f3febb64f552fed120d4bb  libjava/classpath/javax/swing/SpinnerListModel.java
! de18dc64514b6a7570ac8c5379ad730f  libjava/classpath/javax/swing/SpinnerModel.java
! 61f711c01edddcf3be38f7e4711cb767  libjava/classpath/javax/swing/SpinnerNumberModel.java
! 92a845adec830707dd91238088ba96db  libjava/classpath/javax/swing/Spring.java
! 62bae33cfce2ad99fa98b8dd67a6f1da  libjava/classpath/javax/swing/SpringLayout.java
! fc51e04bae328bf249c122ecf29e278c  libjava/classpath/javax/swing/SwingConstants.java
! 0d61211e990afea7441ff90cdd0b5480  libjava/classpath/javax/swing/SwingUtilities.java
! b687b9b15dcc569ebe3555e21c660600  libjava/classpath/javax/swing/Timer.java
! 7d265e1b3e6ffb4955f17a3bee4045b6  libjava/classpath/javax/swing/ToolTipManager.java
! 7b1e3162e9822302822d3c8e6b67e3cb  libjava/classpath/javax/swing/TransferHandler.java
! f9ab24401d5cd8ed57721b29602bb30f  libjava/classpath/javax/swing/UIDefaults.java
! 66e3e87205b581b537704ea87de5f604  libjava/classpath/javax/swing/UIManager.java
! f031fb3cefc166290ab85603d6271df3  libjava/classpath/javax/swing/UnsupportedLookAndFeelException.java
! ef49dbf874792382cc7ed1ec8c804718  libjava/classpath/javax/swing/ViewportLayout.java
! f852e5946045285a58d63e68e842b5c3  libjava/classpath/javax/swing/WindowConstants.java
! 620974102ad4eb32858c5df6f28ec59d  libjava/classpath/javax/swing/border/AbstractBorder.java
! 86f8d0efb660db558bdf713759774e40  libjava/classpath/javax/swing/border/BevelBorder.java
! 6bb06da116bb7169753f436e7969cba2  libjava/classpath/javax/swing/border/Border.java
! fd29487dc60e0d6b51759e97f75e3c19  libjava/classpath/javax/swing/border/CompoundBorder.java
! bf888e1f5860c09ab9265d83d11b8dd9  libjava/classpath/javax/swing/border/EmptyBorder.java
! d255c738439c051c685d4128f23a213c  libjava/classpath/javax/swing/border/EtchedBorder.java
! 29c5e911db9b9e31d0b786da794a0174  libjava/classpath/javax/swing/border/LineBorder.java
! 7bb34fa2b15e852d01c895c51eee96b8  libjava/classpath/javax/swing/border/MatteBorder.java
! 8ef64028f806eefa800a6163b681ad9b  libjava/classpath/javax/swing/border/SoftBevelBorder.java
! 2c0bfdc3716d179b262c6c92cfe08ee6  libjava/classpath/javax/swing/border/TitledBorder.java
! 03bd64f4395100b9cc54c91c87e0647a  libjava/classpath/javax/swing/border/doc-files/BevelBorder-1.png
! 23a253cbadc6937a236ea1f72dbcb86a  libjava/classpath/javax/swing/border/doc-files/BevelBorder-2.png
! aa959fe6dbe96c957fa8f43e6511931d  libjava/classpath/javax/swing/border/doc-files/BevelBorder-3.png
! 6f3212edd48ff7d8c282c0ea987d67dd  libjava/classpath/javax/swing/border/doc-files/EmptyBorder-1.png
! f0d681d608106c8bfaad8e563bb251ed  libjava/classpath/javax/swing/border/doc-files/EtchedBorder-1.png
! de4211aae692e6fd920637abf7d24f62  libjava/classpath/javax/swing/border/doc-files/EtchedBorder-2.png
! adf24dd1fd92b89d4b402ae0e3153843  libjava/classpath/javax/swing/border/doc-files/LineBorder-1.png
! 996dddf1721185014d0a5b0617309264  libjava/classpath/javax/swing/border/doc-files/MatteBorder-1.png
! 1569d96e627fb01d81bd6f3c6ce96c13  libjava/classpath/javax/swing/border/doc-files/MatteBorder-2.png
! 8b9dc63fc4e26f6ada56619cd6df280f  libjava/classpath/javax/swing/border/doc-files/MatteBorder-3.png
! aff328c3a6b5f79ceef239f4b65ad46b  libjava/classpath/javax/swing/border/doc-files/MatteBorder-4.png
! 982d529c0f69764a51304a5d493134c9  libjava/classpath/javax/swing/border/doc-files/MatteBorder-5.png
! 12a8a60c90d96cc74bad14f34ea3aeb4  libjava/classpath/javax/swing/border/doc-files/MatteBorder-6.png
! c3846400745d2b820c1159a860cb08a2  libjava/classpath/javax/swing/border/doc-files/SoftBevelBorder-1.png
! 9cbfca2d41cb0b639cb5c756db18347a  libjava/classpath/javax/swing/border/doc-files/SoftBevelBorder-2.png
! aeea6a0afe84e6c187dbd647451b9790  libjava/classpath/javax/swing/border/doc-files/SoftBevelBorder-3.png
! 3025c189dd0ca8410744cf5779e379ff  libjava/classpath/javax/swing/border/package.html
! de26e6f6983e6e59993bd8a55ad110c9  libjava/classpath/javax/swing/colorchooser/AbstractColorChooserPanel.java
! beff10ea5148bd89b5fdbb0c37df6a5d  libjava/classpath/javax/swing/colorchooser/ColorChooserComponentFactory.java
! 79ae1d30095eb141a21f538d56b42597  libjava/classpath/javax/swing/colorchooser/ColorSelectionModel.java
! 1e7ae2928f3dfb1d27b8ed9e9c01a1ef  libjava/classpath/javax/swing/colorchooser/DefaultColorSelectionModel.java
! 23144a6e94c6486c78faaf252d43ce5f  libjava/classpath/javax/swing/colorchooser/DefaultHSBChooserPanel.java
! 2efdcb1728ebb04a8aef0af022e48a79  libjava/classpath/javax/swing/colorchooser/DefaultPreviewPanel.java
! 2b7603d81906bf93b9d531f96183c7bc  libjava/classpath/javax/swing/colorchooser/DefaultRGBChooserPanel.java
! 06538d58c35f01bde7103119430099ae  libjava/classpath/javax/swing/colorchooser/DefaultSwatchChooserPanel.java
! c2293700dd0a90c84f6a0e5548e10590  libjava/classpath/javax/swing/colorchooser/package.html
! 237a5a4151d254532f6c035a55304b33  libjava/classpath/javax/swing/event/AncestorEvent.java
! a9c3bfba965005a088edd90a022a91f3  libjava/classpath/javax/swing/event/AncestorListener.java
! 72860703dae8f8fad97ad8e1cee3f9f6  libjava/classpath/javax/swing/event/CaretEvent.java
! a22d37f01eaaffbe028f1cda0db59ed6  libjava/classpath/javax/swing/event/CaretListener.java
! d96b03f635cad427d8157e660ee8f9dd  libjava/classpath/javax/swing/event/CellEditorListener.java
! 0376332e69289974e7843dd21fa28ef1  libjava/classpath/javax/swing/event/ChangeEvent.java
! 4147cf333924f20f371a191bc38d34b5  libjava/classpath/javax/swing/event/ChangeListener.java
! 16401eeb072300f49c7b39b718c1884d  libjava/classpath/javax/swing/event/DocumentEvent.java
! ee1c0be80615d1327111f1c00f7fb444  libjava/classpath/javax/swing/event/DocumentListener.java
! a0142b6e0735a78d82bd13832ad1a354  libjava/classpath/javax/swing/event/EventListenerList.java
! f4db9ed9085a7e23273f545249f93d37  libjava/classpath/javax/swing/event/HyperlinkEvent.java
! 756cc6832a2e356760df1ccf265e71cd  libjava/classpath/javax/swing/event/HyperlinkListener.java
! a35c695a45d57fe2986806f7d7cba686  libjava/classpath/javax/swing/event/InternalFrameAdapter.java
! 908137cf76d794207c411696fb136111  libjava/classpath/javax/swing/event/InternalFrameEvent.java
! 7b15e9052de27a266db482156e59c63a  libjava/classpath/javax/swing/event/InternalFrameListener.java
! ea783bcc67240d4faaf5ed43ab76663f  libjava/classpath/javax/swing/event/ListDataEvent.java
! 4e2c422eb6cd1d0813aceec9aabf1e43  libjava/classpath/javax/swing/event/ListDataListener.java
! cdeed135075f9f1bebcd5cbe962d20d4  libjava/classpath/javax/swing/event/ListSelectionEvent.java
! 2f75ddf376113203db23fc4aca0051c7  libjava/classpath/javax/swing/event/ListSelectionListener.java
! 9e10d967bd45a5921d9231f3ab042267  libjava/classpath/javax/swing/event/MenuDragMouseEvent.java
! 77d5090a87562b791bde7ed9b02fec1a  libjava/classpath/javax/swing/event/MenuDragMouseListener.java
! e22f85b3754077582893fd695e79f52b  libjava/classpath/javax/swing/event/MenuEvent.java
! 56e936225f02a1f2f2d4145a03271c90  libjava/classpath/javax/swing/event/MenuKeyEvent.java
! f0c3920dd6e6be478a3c4bda0e346da2  libjava/classpath/javax/swing/event/MenuKeyListener.java
! 27a8d8d364f1a8f0b8589fe01cc331d1  libjava/classpath/javax/swing/event/MenuListener.java
! caaeef61b82545ce47ee400f95d83ba9  libjava/classpath/javax/swing/event/MouseInputAdapter.java
! eefd57d079bf9e48d91cb04b71a743fd  libjava/classpath/javax/swing/event/MouseInputListener.java
! a751286352b896e55c2316cd322f46d3  libjava/classpath/javax/swing/event/PopupMenuEvent.java
! b6f3a3a48587cc4bcab697f626034a46  libjava/classpath/javax/swing/event/PopupMenuListener.java
! af99a575a25a7d62fdf0c7bf0d9498f1  libjava/classpath/javax/swing/event/SwingPropertyChangeSupport.java
! e57127ee770fb5a4fa054b0abec92c2f  libjava/classpath/javax/swing/event/TableColumnModelEvent.java
! f8f7f7217118db78a77c6c5bad4f5904  libjava/classpath/javax/swing/event/TableColumnModelListener.java
! 8bec0acefafae285123c5f4c1312bdaa  libjava/classpath/javax/swing/event/TableModelEvent.java
! 56fdfc08dadbb94de137eb56ee78bdc4  libjava/classpath/javax/swing/event/TableModelListener.java
! 1c87fbf289d2ab8598d842b7c38c946f  libjava/classpath/javax/swing/event/TreeExpansionEvent.java
! 5546b0996b81369c4cef5ebdb21c7e1d  libjava/classpath/javax/swing/event/TreeExpansionListener.java
! b965de50ac64fd5f8c8ec25b591e0034  libjava/classpath/javax/swing/event/TreeModelEvent.java
! 6073d96fe782501c276cf8e2fb4e5ff1  libjava/classpath/javax/swing/event/TreeModelListener.java
! 6c5cad9902e26e524771f806ff73394c  libjava/classpath/javax/swing/event/TreeSelectionEvent.java
! 55b7b88155106849b347b90239f19e09  libjava/classpath/javax/swing/event/TreeSelectionListener.java
! 2c74ea9a69b58ce2907f8a753fdf09b0  libjava/classpath/javax/swing/event/TreeWillExpandListener.java
! 0edbd7b6da8f3e2151ff426522add44b  libjava/classpath/javax/swing/event/UndoableEditEvent.java
! 41a304586bb76aec30279001c8537133  libjava/classpath/javax/swing/event/UndoableEditListener.java
! 928f18cc699c64014b97a2e96ee9a33f  libjava/classpath/javax/swing/event/package.html
! 1b26e15fcb41c93621e5b6251aa44fbd  libjava/classpath/javax/swing/filechooser/FileFilter.java
! 7cfa0153cfc3a8a5daa47409230855b3  libjava/classpath/javax/swing/filechooser/FileSystemView.java
! 0e834fcb3156c95d70c128c874980ab2  libjava/classpath/javax/swing/filechooser/FileView.java
! 299daef3950d5034483d4a22d636baef  libjava/classpath/javax/swing/filechooser/UnixFileSystemView.java
! 1b776d19d547892437ceea13e5e5f0af  libjava/classpath/javax/swing/filechooser/package.html
! 5c59ca975fefa8b3dd1e1343dc2e4c92  libjava/classpath/javax/swing/package.html
! 02cd21b9963e73da46bad6310ef2cbdd  libjava/classpath/javax/swing/plaf/ActionMapUIResource.java
! 7ac5a54f7d89bb1a7fdc3bec012452f9  libjava/classpath/javax/swing/plaf/BorderUIResource.java
! 0c8c9389c83af6011478cee2c9ae20ac  libjava/classpath/javax/swing/plaf/ButtonUI.java
! 728aa5d43e3049ae7a989fc5f60cc2bc  libjava/classpath/javax/swing/plaf/ColorChooserUI.java
! 1258f4c85f2cd534e8b41335c0516a77  libjava/classpath/javax/swing/plaf/ColorUIResource.java
! 78e857929bd9af312e84243d618f6e14  libjava/classpath/javax/swing/plaf/ComboBoxUI.java
! fa8ad750d3d8b300bfaf90d5598d6a94  libjava/classpath/javax/swing/plaf/ComponentInputMapUIResource.java
! 9ce14ca7ae878bb308e4e8c7ab7b2383  libjava/classpath/javax/swing/plaf/ComponentUI.java
! c7a03eb5a753a12312755a8f903629f1  libjava/classpath/javax/swing/plaf/DesktopIconUI.java
! 1744d2712ba1d97414323c7fee234672  libjava/classpath/javax/swing/plaf/DesktopPaneUI.java
! b8b37868dc2ff49e384e67cead5f6e1c  libjava/classpath/javax/swing/plaf/DimensionUIResource.java
! 3e52361673ea8e1151e91603438fb0f4  libjava/classpath/javax/swing/plaf/FileChooserUI.java
! 6d6a88a3774763dfacb2d0e37b504dbb  libjava/classpath/javax/swing/plaf/FontUIResource.java
! 11b208232b924cfe415c2b39f4cc6186  libjava/classpath/javax/swing/plaf/IconUIResource.java
! 32ebae02a8f1ae84519eb4e9a95ce007  libjava/classpath/javax/swing/plaf/InputMapUIResource.java
! 4b2e3e8d77dceaf418be50c4f59c64b2  libjava/classpath/javax/swing/plaf/InsetsUIResource.java
! 9bf5ff28d7cb7d4b5d4071fef7225e0f  libjava/classpath/javax/swing/plaf/InternalFrameUI.java
! 3463ab6f37af563f4da71ee15f91410e  libjava/classpath/javax/swing/plaf/LabelUI.java
! 48fa1fd52faa4079513bba8474f2b813  libjava/classpath/javax/swing/plaf/ListUI.java
! 538e77dac867f357725113c2b710c011  libjava/classpath/javax/swing/plaf/MenuBarUI.java
! 2eea6c93f9c588b7b11e61f393a16557  libjava/classpath/javax/swing/plaf/MenuItemUI.java
! 3c8ba6a66bbe56dbd8422ef2fdf99bb0  libjava/classpath/javax/swing/plaf/OptionPaneUI.java
! b18eb540ccbe2b93cd5b6fef335f8868  libjava/classpath/javax/swing/plaf/PanelUI.java
! 07dcb2e876648a68e2c8aa85cf99591b  libjava/classpath/javax/swing/plaf/PopupMenuUI.java
! e04fdb67d95d1892ebb302d6f2fbdb2c  libjava/classpath/javax/swing/plaf/ProgressBarUI.java
! 8d1af8a35a2ca4424a1b2446f23aafc1  libjava/classpath/javax/swing/plaf/RootPaneUI.java
! 3acdf8620a58766c74dc5f670daa86d3  libjava/classpath/javax/swing/plaf/ScrollBarUI.java
! f14d5c33537a7935b7b23d3b0b015844  libjava/classpath/javax/swing/plaf/ScrollPaneUI.java
! 616e7100b041e9a2a930b06ee23da779  libjava/classpath/javax/swing/plaf/SeparatorUI.java
! e3812ee9674bfd452db7af1efcf76149  libjava/classpath/javax/swing/plaf/SliderUI.java
! f85ac84db678cd9f8b51ca656e26332a  libjava/classpath/javax/swing/plaf/SpinnerUI.java
! b6486732416a7f04f5a3161b156c7b56  libjava/classpath/javax/swing/plaf/SplitPaneUI.java
! fcac304d921ab1699954f0a67f3291e9  libjava/classpath/javax/swing/plaf/TabbedPaneUI.java
! 017e617d8bdeacfae1d21fbf3bdab151  libjava/classpath/javax/swing/plaf/TableHeaderUI.java
! d5671ba51d02f647f9a8bf9221e2ca4b  libjava/classpath/javax/swing/plaf/TableUI.java
! 61bc2dbee2b3a9de46bfb96fdc6bed89  libjava/classpath/javax/swing/plaf/TextUI.java
! 5f1a6194408472a2f9cb721f3e773a8d  libjava/classpath/javax/swing/plaf/ToolBarUI.java
! 47cb0ae31edac39845850448ca1e18d6  libjava/classpath/javax/swing/plaf/ToolTipUI.java
! a28198cf0fabbf915455c34cc3beb50a  libjava/classpath/javax/swing/plaf/TreeUI.java
! 575e5d74e998a2827bfbfc71c8ccfaf1  libjava/classpath/javax/swing/plaf/UIResource.java
! 0295feaa84bad1e4a4ddaebb81be073b  libjava/classpath/javax/swing/plaf/ViewportUI.java
! 7a629731fd6da07e72bade5d4663632b  libjava/classpath/javax/swing/plaf/basic/BasicArrowButton.java
! 5252cbd87cb7765782eeb458777e8831  libjava/classpath/javax/swing/plaf/basic/BasicBorders.java
! b851f2bf0a75c2f2dfe4a8798dde32d8  libjava/classpath/javax/swing/plaf/basic/BasicButtonListener.java
! a9f5134ab4fde4bba24d17f8ab10ec9b  libjava/classpath/javax/swing/plaf/basic/BasicButtonUI.java
! fcd71d5d37cf96dc9814331c90af37cd  libjava/classpath/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java
! 0394bde9c49ed4df1f65de73793a67a0  libjava/classpath/javax/swing/plaf/basic/BasicCheckBoxUI.java
! 084f321b8bcdbf4a53cfa6878c239764  libjava/classpath/javax/swing/plaf/basic/BasicColorChooserUI.java
! a5b3719babec8fe84d58089bfdd37e6d  libjava/classpath/javax/swing/plaf/basic/BasicComboBoxEditor.java
! 937f57ac8cb404b41e68a523b658d179  libjava/classpath/javax/swing/plaf/basic/BasicComboBoxRenderer.java
! b56907805fd966526adac6f49f072766  libjava/classpath/javax/swing/plaf/basic/BasicComboBoxUI.java
! 07e93f81d8183b311d7c04dfdc46e16e  libjava/classpath/javax/swing/plaf/basic/BasicComboPopup.java
! c250bfc07c030e633a1bf6b5eadaa0a3  libjava/classpath/javax/swing/plaf/basic/BasicDesktopIconUI.java
! 2179d9603fde9d5c0367e6a376921f64  libjava/classpath/javax/swing/plaf/basic/BasicDesktopPaneUI.java
! ccceea264c24b053732c65ee60939dd9  libjava/classpath/javax/swing/plaf/basic/BasicDirectoryModel.java
! 5a09570c8c0cf0c2ef1cbcfa0ddd749c  libjava/classpath/javax/swing/plaf/basic/BasicEditorPaneUI.java
! 3ecbeb27f186d21fa26832d256d75862  libjava/classpath/javax/swing/plaf/basic/BasicFileChooserUI.java
! e4fd159769221cbdfb3bad014b0a7235  libjava/classpath/javax/swing/plaf/basic/BasicFormattedTextFieldUI.java
! 9e926ed6a67dbbba3b6c0c6866dba3ac  libjava/classpath/javax/swing/plaf/basic/BasicGraphicsUtils.java
! 8c9ba1fed0181ccfbdb6ed2dfb6b1345  libjava/classpath/javax/swing/plaf/basic/BasicIconFactory.java
! 472398605d1f711a0fe51c0319adc91e  libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
! 54ba97b3b27e5530c30e5664495fb501  libjava/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java
! 187e4a34ebc2a1a8da250da18cadd613  libjava/classpath/javax/swing/plaf/basic/BasicLabelUI.java
! 1a9317eaaa48cc737943b444bcd6628c  libjava/classpath/javax/swing/plaf/basic/BasicListUI.java
! cfbe108213c344a2d6ed5bf3faa089ce  libjava/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java
! 637bf594592a262f766a528b6bfeee29  libjava/classpath/javax/swing/plaf/basic/BasicMenuBarUI.java
! 95abac5672c509602d0c9c65ae0e486e  libjava/classpath/javax/swing/plaf/basic/BasicMenuItemUI.java
! d7da61a4acce0bdb9483dd4711e4cfd8  libjava/classpath/javax/swing/plaf/basic/BasicMenuUI.java
! 07816ae34cd27bea5f9c702829c18862  libjava/classpath/javax/swing/plaf/basic/BasicOptionPaneUI.java
! fbf83a427687bc962f444134e4f0a622  libjava/classpath/javax/swing/plaf/basic/BasicPanelUI.java
! 569b126f393d67bdbe34d3b5f128f987  libjava/classpath/javax/swing/plaf/basic/BasicPasswordFieldUI.java
! 913b958ee2e3d058f950e57a2d701eb2  libjava/classpath/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java
! 1973a905bdf7126a63a2a4a73c661074  libjava/classpath/javax/swing/plaf/basic/BasicPopupMenuUI.java
! 7cb0dee9b736a6bdd9941ce259f001e1  libjava/classpath/javax/swing/plaf/basic/BasicProgressBarUI.java
! 5fb1c32f9bb6fbab38da846bb0888e2c  libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java
! 3483daa7d37816fbea5c57a848b48c25  libjava/classpath/javax/swing/plaf/basic/BasicRadioButtonUI.java
! cb89efa053c15d33d463e9ce46d205a7  libjava/classpath/javax/swing/plaf/basic/BasicRootPaneUI.java
! 2b9771ce744830c52e3ff22c5b2992dc  libjava/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java
! 874b31c14de0a57c1d22c6d9e6fa85ba  libjava/classpath/javax/swing/plaf/basic/BasicScrollPaneUI.java
! 79a19ae09d54f07bade640826c9c164a  libjava/classpath/javax/swing/plaf/basic/BasicSeparatorUI.java
! 50ce107eccf74ea55c722aab56708fb8  libjava/classpath/javax/swing/plaf/basic/BasicSliderUI.java
! b0c916e94722752f39fd73028240e000  libjava/classpath/javax/swing/plaf/basic/BasicSpinnerUI.java
! 9f0b64fca38466bc06c5778246b7d6d3  libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneDivider.java
! 641fe5eb8fd755221c0439da60c8c046  libjava/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java
! 646474c4a036afccfa8606f91e9c253d  libjava/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java
! e4dce18de30b4466e6885042e9ec9f6d  libjava/classpath/javax/swing/plaf/basic/BasicTableHeaderUI.java
! f0c443387e45ef5bce5315a30be07c94  libjava/classpath/javax/swing/plaf/basic/BasicTableUI.java
! ff80b531c0ff54fd4a4abf67fc53c221  libjava/classpath/javax/swing/plaf/basic/BasicTextAreaUI.java
! 58ebe18a615371014d47efa09df64906  libjava/classpath/javax/swing/plaf/basic/BasicTextFieldUI.java
! e7f474bbebe4be8c52b3e6ccfadeeb05  libjava/classpath/javax/swing/plaf/basic/BasicTextPaneUI.java
! 552cc09320d430ff9988e35571343527  libjava/classpath/javax/swing/plaf/basic/BasicTextUI.java
! ad6b85c79425c88bb312fdcac0cc56ac  libjava/classpath/javax/swing/plaf/basic/BasicToggleButtonUI.java
! f69e930f9f1991969009e031111e74d5  libjava/classpath/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java
! 37489f374daed4396a31f3c8aeb57821  libjava/classpath/javax/swing/plaf/basic/BasicToolBarUI.java
! f055521332945f75ba235876c8a5b220  libjava/classpath/javax/swing/plaf/basic/BasicToolTipUI.java
! c86cd28c67cb44bd10292033d4ca2890  libjava/classpath/javax/swing/plaf/basic/BasicTreeUI.java
! 132971b5997b41b131f3cb5fed56646d  libjava/classpath/javax/swing/plaf/basic/BasicViewportUI.java
! aee7369df1c8891b373a8c196d22e618  libjava/classpath/javax/swing/plaf/basic/ComboPopup.java
! 0ddaf9a3ed7a3e50df96b239e3c184a0  libjava/classpath/javax/swing/plaf/basic/DefaultMenuLayout.java
! 6e5f46fdbaad38cc99f3a6c2e07e1423  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders-1.png
! 8b9897c83a6140ec5b347ef9dbf20dac  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders-2.png
! 74349d8e54e033d730f3b1cfc24d0bd1  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-1.png
! 2d763cdb0060c977a9f355f129129401  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.FieldBorder-1.png
! 236b2eaf65bb7fb4d21cd61ea27124e5  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.MarginBorder-1.png
! aa4f6d8f2b58a8d7a2b512c5fd524201  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.MenuBarBorder-1.png
! 29dee5b10ce1b4cdb911764e1cf99502  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.RadioButtonBorder-1.png
! b88f8570a04b058c95f0878a8472ab21  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-1.png
! 46ad9812b5b3a9c2596c5a8d165bc51c  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-2.png
! b7d390efa274ece51f4ef5de93ac08c4  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneDividerBorder-1.png
! df849e18c77b0cc651e919609da6d56f  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicBorders.ToggleButtonBorder-1.png
! 5f006d5e1d81bb8aff6808788b210a35  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-1.png
! a414123ca5e1ceb684dc5939af918db3  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-2.png
! d1e55884e15b1536fe5a924fecb680a4  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-3.png
! 1dc7d6412f9315d1a8b7f4aa371f5501  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-4.png
! 58594e9a3e723f52720b863751ac339f  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-5.png
! d0794580b9dd479c694d47aefa6ecd10  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-6.png
! 400de10edd3f4db0a9e30b32b846fb7b  libjava/classpath/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-7.png
! 48801d9d8ae38d268dc374d5ddcb04be  libjava/classpath/javax/swing/plaf/basic/package.html
! 0e6fae23bcc509f1656b59f016b65cbe  libjava/classpath/javax/swing/plaf/doc-files/ComponentUI-1.dia
! 27e9489fd6417d1b19c4bd819c2f99b2  libjava/classpath/javax/swing/plaf/doc-files/ComponentUI-1.png
! bd414488334e8a2aa791b1506fd2718e  libjava/classpath/javax/swing/plaf/doc-files/TreeUI-1.png
! 577ea546f05052ed114b3379d457d776  libjava/classpath/javax/swing/plaf/metal/DefaultMetalTheme.java
! 36e53d54f8aa1a39fdbd9aafa4421e2e  libjava/classpath/javax/swing/plaf/metal/MetalBorders.java
! ed2c99df3ec5ca270e3cc1d02c9a67ea  libjava/classpath/javax/swing/plaf/metal/MetalButtonListener.java
! ee1a6f851a4a9038fadb1254c581e4d8  libjava/classpath/javax/swing/plaf/metal/MetalButtonUI.java
! c2d50be5139f5eb288ad635314520eea  libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxIcon.java
! 17ae9522cf19644d1293b3209d89905d  libjava/classpath/javax/swing/plaf/metal/MetalCheckBoxUI.java
! c50c7ecb9a097ddea89127398eb2c7fd  libjava/classpath/javax/swing/plaf/metal/MetalComboBoxButton.java
! 7c421320a248c09a8b7f6d52f29825d4  libjava/classpath/javax/swing/plaf/metal/MetalComboBoxEditor.java
! dcd07675e4e528bc1e5dfd544170888d  libjava/classpath/javax/swing/plaf/metal/MetalComboBoxIcon.java
! 888bf8738b879c464277bb630f5b957f  libjava/classpath/javax/swing/plaf/metal/MetalComboBoxUI.java
! ed48914cee998d6816dd6f6ac9f96465  libjava/classpath/javax/swing/plaf/metal/MetalDesktopIconUI.java
! 7ac7e8b7f79a0c89c75a8afbb218f554  libjava/classpath/javax/swing/plaf/metal/MetalFileChooserUI.java
! ae73b5070dbdf39f22d8a994a2e27c38  libjava/classpath/javax/swing/plaf/metal/MetalIconFactory.java
! 670a1b15054867a09d00812130654171  libjava/classpath/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java
! ba012428d2122d9425bfa7f21bea408c  libjava/classpath/javax/swing/plaf/metal/MetalInternalFrameUI.java
! cd520c9e84bd04fc3f0392f6384cdab8  libjava/classpath/javax/swing/plaf/metal/MetalLabelUI.java
! 69bb09550e1cdc742747229ef1652727  libjava/classpath/javax/swing/plaf/metal/MetalLookAndFeel.java
! 99790332ff3e478c5e0d39e88dbc951d  libjava/classpath/javax/swing/plaf/metal/MetalMenuBarUI.java
! 2b8e15a030814e96e5a0d16089b8fa00  libjava/classpath/javax/swing/plaf/metal/MetalPopupMenuSeparatorUI.java
! 4a511ca57cdce3ffa68deef6b08c1d8b  libjava/classpath/javax/swing/plaf/metal/MetalProgressBarUI.java
! 2fc55cc7763fedc00a2755a865bddd66  libjava/classpath/javax/swing/plaf/metal/MetalRadioButtonUI.java
! c77f31fc10dea12a6547f419396efd42  libjava/classpath/javax/swing/plaf/metal/MetalRootPaneUI.java
! d40d51e8cb4e6b35c538f742bf45ae52  libjava/classpath/javax/swing/plaf/metal/MetalScrollBarUI.java
! add7048b959968c8edf9d721b2a33649  libjava/classpath/javax/swing/plaf/metal/MetalScrollButton.java
! 4db4e29036bb10f2d8b1eb8850878772  libjava/classpath/javax/swing/plaf/metal/MetalScrollPaneUI.java
! 7a6d45792142749323783f1575f4cfe9  libjava/classpath/javax/swing/plaf/metal/MetalSeparatorUI.java
! 97bcacbe1720d57389d558e5a9513965  libjava/classpath/javax/swing/plaf/metal/MetalSliderUI.java
! b061355f101ae301ca0360f8f005624e  libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneDivider.java
! 1be1421a39bfce9bf5a57f28ab8ac785  libjava/classpath/javax/swing/plaf/metal/MetalSplitPaneUI.java
! f37dbb50d4e0f78cd9972316ea7911aa  libjava/classpath/javax/swing/plaf/metal/MetalTabbedPaneUI.java
! 2553cc854964913e4116ff79c225ed65  libjava/classpath/javax/swing/plaf/metal/MetalTextFieldUI.java
! b90dfc0487d7f3a2c16ccc2f80894f86  libjava/classpath/javax/swing/plaf/metal/MetalTheme.java
! 5163b0e782e4343607027f288a3a1181  libjava/classpath/javax/swing/plaf/metal/MetalToggleButtonUI.java
! 7f80d1370fd5b806b7085cafb234e0cc  libjava/classpath/javax/swing/plaf/metal/MetalToolBarUI.java
! 3d6180d84b38629df1dd4f85521dd0b4  libjava/classpath/javax/swing/plaf/metal/MetalToolTipUI.java
! 6b88ffd3bc7d78c7390b43798661432a  libjava/classpath/javax/swing/plaf/metal/MetalTreeUI.java
! 33ab8a162e079b7b4c42e6471959240e  libjava/classpath/javax/swing/plaf/metal/MetalUtils.java
! 536467f5936abc70d547b0424ac78723  libjava/classpath/javax/swing/plaf/metal/OceanTheme.java
! 1f4f4249c9594f6d984855b49964cf4f  libjava/classpath/javax/swing/plaf/metal/package.html
! b99ff51d6a6f3af2d57987ff4c2e2ddb  libjava/classpath/javax/swing/plaf/multi/MultiButtonUI.java
! 99329c55e802203e4af1bd5fab25a09b  libjava/classpath/javax/swing/plaf/multi/MultiColorChooserUI.java
! 12bd5da73a9cb3e9a1f060485b4f6ba4  libjava/classpath/javax/swing/plaf/multi/MultiComboBoxUI.java
! 64e6b631f2369256f902e4b71897d025  libjava/classpath/javax/swing/plaf/multi/MultiDesktopIconUI.java
! 028fac1c49fc8e735386dd4ffc10cb3f  libjava/classpath/javax/swing/plaf/multi/MultiDesktopPaneUI.java
! 5fe768d3eea1acfdad0a9295c78cba0b  libjava/classpath/javax/swing/plaf/multi/MultiFileChooserUI.java
! b3bac37e2fbb70e1a83b242cbeb68d27  libjava/classpath/javax/swing/plaf/multi/MultiInternalFrameUI.java
! d512a0e21722dab9ca8fa8e004230d3b  libjava/classpath/javax/swing/plaf/multi/MultiLabelUI.java
! 1d29aef9f7f3bb80876a6632b720fa77  libjava/classpath/javax/swing/plaf/multi/MultiListUI.java
! afe12530ed5a374d5e32ba9eec225809  libjava/classpath/javax/swing/plaf/multi/MultiLookAndFeel.java
! d18229345e2857dd86a2edaea2174cee  libjava/classpath/javax/swing/plaf/multi/MultiMenuBarUI.java
! e5e50129fc4eadc629bf3e0128dae597  libjava/classpath/javax/swing/plaf/multi/MultiMenuItemUI.java
! ea5bfad055531b9c3c352ef9d02b4be4  libjava/classpath/javax/swing/plaf/multi/MultiOptionPaneUI.java
! a4771dfec8ff985855f51ab23eba1e8d  libjava/classpath/javax/swing/plaf/multi/MultiPanelUI.java
! ff249d4bbaf9668db3e444ee63e20460  libjava/classpath/javax/swing/plaf/multi/MultiPopupMenuUI.java
! db41f97a4506b6f4b54a1a14fcfb48fa  libjava/classpath/javax/swing/plaf/multi/MultiProgressBarUI.java
! d028ac7776c123e64f5d628ce2f54e14  libjava/classpath/javax/swing/plaf/multi/MultiRootPaneUI.java
! b2b1099c8b8138813e7b3d894ee93185  libjava/classpath/javax/swing/plaf/multi/MultiScrollBarUI.java
! b78973f7d5985737bad6ae499391b0ca  libjava/classpath/javax/swing/plaf/multi/MultiScrollPaneUI.java
! c0836f8f00af05957c66294ce5b4777a  libjava/classpath/javax/swing/plaf/multi/MultiSeparatorUI.java
! e4e27ac25949a07b10ff4acded49b394  libjava/classpath/javax/swing/plaf/multi/MultiSliderUI.java
! 8563365bdad0b70f347238df64256fbd  libjava/classpath/javax/swing/plaf/multi/MultiSpinnerUI.java
! c64174cb815f23d3b9deb5fbbd7d783a  libjava/classpath/javax/swing/plaf/multi/MultiSplitPaneUI.java
! bce63e986a2bc2dbc83f7c608ebc22c4  libjava/classpath/javax/swing/plaf/multi/MultiTabbedPaneUI.java
! 79dd6ca341cd11541ceb53c16882bfd2  libjava/classpath/javax/swing/plaf/multi/MultiTableHeaderUI.java
! b6d6a748aaa24c2de305fdacb3411f4f  libjava/classpath/javax/swing/plaf/multi/MultiTableUI.java
! c784a9cbd220fafea2fb31c52ccbacd5  libjava/classpath/javax/swing/plaf/multi/MultiTextUI.java
! b762f6a9cbe12c79d93add456a63ff35  libjava/classpath/javax/swing/plaf/multi/MultiToolBarUI.java
! 62792f733452b42a5c3d392587e2568c  libjava/classpath/javax/swing/plaf/multi/MultiToolTipUI.java
! 6d97cb863a5fef9a640c7485725d810d  libjava/classpath/javax/swing/plaf/multi/MultiTreeUI.java
! 45350850f0f62543cb1f4c6818bcb7e6  libjava/classpath/javax/swing/plaf/multi/MultiViewportUI.java
! 006d6f937007d4f3576e10a0f4f8eae4  libjava/classpath/javax/swing/plaf/multi/package.html
! f1a2d582dbcfca69eecd065e603ddf38  libjava/classpath/javax/swing/plaf/package.html
! df05f39c2d40a8c8a014bd64ef625e30  libjava/classpath/javax/swing/table/AbstractTableModel.java
! edb8aeccfa541784455f288884b7ff5c  libjava/classpath/javax/swing/table/DefaultTableCellRenderer.java
! 050009aeb573090d0401e1b9e2a8f4ab  libjava/classpath/javax/swing/table/DefaultTableColumnModel.java
! 01fb1975d0c9625efb822b54e5642b04  libjava/classpath/javax/swing/table/DefaultTableModel.java
! 29bb681fe9bc0517903ad2074b3be35f  libjava/classpath/javax/swing/table/JTableHeader.java
! f41398d08b6ec78137a84b36c5282a38  libjava/classpath/javax/swing/table/TableCellEditor.java
! 4f1fba29b7b37a823b4ef90257494a58  libjava/classpath/javax/swing/table/TableCellRenderer.java
! 05841812a29ba32abee34bc0b8f5a20c  libjava/classpath/javax/swing/table/TableColumn.java
! 33be99da6f5b1f77e17fca52db8bddc7  libjava/classpath/javax/swing/table/TableColumnModel.java
! 7e56a2f4c44d3cb77635823712ee1c9a  libjava/classpath/javax/swing/table/TableModel.java
! e08385cc4da18b02a996780f5e874a77  libjava/classpath/javax/swing/table/package.html
! 311fa03ea533487ccefe71f90a02b18b  libjava/classpath/javax/swing/text/AbstractDocument.java
! d22cbdcd004a3cdd1e412390330d0867  libjava/classpath/javax/swing/text/AbstractWriter.java
! 0364490621f833475d606d021c140358  libjava/classpath/javax/swing/text/AttributeSet.java
! 1cc249c53d6112ecfe1ed1d579b0285a  libjava/classpath/javax/swing/text/BadLocationException.java
! 89cf60e49057e1228df5e44679d1c7c9  libjava/classpath/javax/swing/text/BoxView.java
! e5d7810e3007e087881781b8ad260afc  libjava/classpath/javax/swing/text/Caret.java
! 0fd1f403dbdcda203d40fd86b5cd661b  libjava/classpath/javax/swing/text/ChangedCharSetException.java
! ed2290fad206fc491d07f460777418b5  libjava/classpath/javax/swing/text/ComponentView.java
! 8e0cde29c20458577ef700a6c5c62af0  libjava/classpath/javax/swing/text/CompositeView.java
! f3b6ab12ce7414f8b53ea8807d69d135  libjava/classpath/javax/swing/text/DateFormatter.java
! 97299f27a8d2b18675c3c7934f43eb74  libjava/classpath/javax/swing/text/DefaultCaret.java
! 77fb5bea81098fe815a8096e77e3df28  libjava/classpath/javax/swing/text/DefaultEditorKit.java
! e5f0e43cd7aed3a8d89e8976d033f8c6  libjava/classpath/javax/swing/text/DefaultFormatter.java
! 10b1508b7c06d9773b98937a35595018  libjava/classpath/javax/swing/text/DefaultHighlighter.java
! 0eb891ad0ba1c4f9cef46419bd531408  libjava/classpath/javax/swing/text/DefaultStyledDocument.java
! 51e85ea60d150845d8ac436b08ebb4ea  libjava/classpath/javax/swing/text/DefaultTextUI.java
! 7cb14f0bff8bb45a70d6207cc856e56d  libjava/classpath/javax/swing/text/Document.java
! d410d09ad53ded833cc8a002d77cab33  libjava/classpath/javax/swing/text/DocumentFilter.java
! 4e0a7d169cf3833c8fd37172dd6edfa0  libjava/classpath/javax/swing/text/EditorKit.java
! f892c4d84fde1dd0396f88e5bd6961cd  libjava/classpath/javax/swing/text/Element.java
! e6b0af590a495251682ec2b8dc7b7663  libjava/classpath/javax/swing/text/ElementIterator.java
! 6dbf81131cd5b9cac8eb4109e2773810  libjava/classpath/javax/swing/text/FieldView.java
! 90d2ebea802bd53845227e8d3c9e0e68  libjava/classpath/javax/swing/text/FlowView.java
! b41def83f247f060ae03816254bc7a52  libjava/classpath/javax/swing/text/GapContent.java
! f53c228d2ea21e08f71255be263a46d8  libjava/classpath/javax/swing/text/GlyphView.java
! c1118a1264a85fb5f5744360e596244b  libjava/classpath/javax/swing/text/Highlighter.java
! f5d2a1521144e8cc6212bc02801d2145  libjava/classpath/javax/swing/text/IconView.java
! 32161fecad09ca377d39269d96029bd5  libjava/classpath/javax/swing/text/InternationalFormatter.java
! cbadf04ff5ac805d4ad4a82d66a865aa  libjava/classpath/javax/swing/text/JTextComponent.java
! 0a3732820eddf2515fbe29b5e0e7126c  libjava/classpath/javax/swing/text/Keymap.java
! 532c046c470e069230f702bd793e156d  libjava/classpath/javax/swing/text/LabelView.java
! 41bc032287b1c6670a110a5d64f35e79  libjava/classpath/javax/swing/text/LayeredHighlighter.java
! 0d04b5edeb585edaaf54335626f616ad  libjava/classpath/javax/swing/text/LayoutQueue.java
! fe68400538ef82d0dba5fd107031c241  libjava/classpath/javax/swing/text/MutableAttributeSet.java
! 7a46d7295a255465cb413bfe18d5d435  libjava/classpath/javax/swing/text/NavigationFilter.java
! 3c6087c6057484e5c93f6b143354b946  libjava/classpath/javax/swing/text/ParagraphView.java
! a02eaadf94e0bddac0fe0b2d9a43ab58  libjava/classpath/javax/swing/text/PasswordView.java
! c756efb0a61791de0718617427319743  libjava/classpath/javax/swing/text/PlainDocument.java
! fb12e2f98c95119befc974f255c4ad47  libjava/classpath/javax/swing/text/PlainView.java
! 9db2a7cc8c4795e9df2d503c329877fc  libjava/classpath/javax/swing/text/Position.java
! c0b140ee4df41d681e8d9f48fd0d7a1e  libjava/classpath/javax/swing/text/Segment.java
! b394cb5eff635420254f296274bfb745  libjava/classpath/javax/swing/text/SimpleAttributeSet.java
! 2353a78c3db03c79b0d4d0940925aff8  libjava/classpath/javax/swing/text/StringContent.java
! 628cf091ad377a77aa0308d45ee13677  libjava/classpath/javax/swing/text/Style.java
! 20c55ab861932431af49482879e3f8f8  libjava/classpath/javax/swing/text/StyleConstants.java
! 0811fec6434178d35953b8485f2e2d2c  libjava/classpath/javax/swing/text/StyleContext.java
! 4adaa53e642d505c4e41b227bdabe805  libjava/classpath/javax/swing/text/StyledDocument.java
! 4a42a33fa532b81a1f2d2d9b3528ace0  libjava/classpath/javax/swing/text/StyledEditorKit.java
! 3fb66daba66dd1c0e4a2ad95ed3c9618  libjava/classpath/javax/swing/text/TabExpander.java
! ff5ba7ca2296f22dc365d26b1e1ab169  libjava/classpath/javax/swing/text/TabSet.java
! 0877cd51494388b4a0cc476777277bd1  libjava/classpath/javax/swing/text/TabStop.java
! 844b0e774c5230fec5effba39d621290  libjava/classpath/javax/swing/text/TabableView.java
! c39eb39fdd15328b0227f3e5871eb581  libjava/classpath/javax/swing/text/TextAction.java
! 4ddad26d41fe491d9e94c1ecd5c2a801  libjava/classpath/javax/swing/text/Utilities.java
! 00d3694fe74d68bf6c897ea805c7654f  libjava/classpath/javax/swing/text/View.java
! 8599b0e0a1903c4989ff1195d920c5e6  libjava/classpath/javax/swing/text/ViewFactory.java
! 0e4dc1eb85e2e243658baf1921e8b8a3  libjava/classpath/javax/swing/text/WrappedPlainView.java
! d8a9232e2a41d54c1205f780668aaac2  libjava/classpath/javax/swing/text/html/CSS.java
! a191ca4edc184edae80092a66ac4988a  libjava/classpath/javax/swing/text/html/HTML.java
! 37f36d3ec204d17a810e867878b47519  libjava/classpath/javax/swing/text/html/HTMLDocument.java
! 1efc93d6db1520ee3e3b308d82175705  libjava/classpath/javax/swing/text/html/HTMLEditorKit.java
! 241a4c88d808224cba42482c7d0a82f1  libjava/classpath/javax/swing/text/html/HTMLFrameHyperlinkEvent.java
! 3c230f134528254b31fcc4347b198674  libjava/classpath/javax/swing/text/html/package.html
! cec31edbc758a32360db67c4b77b518d  libjava/classpath/javax/swing/text/html/parser/AttributeList.java
! c05ae225068bc7fd08265f74b03cff23  libjava/classpath/javax/swing/text/html/parser/ContentModel.java
! 623478692f3c3950455843a9543b5cfa  libjava/classpath/javax/swing/text/html/parser/DTD.java
! 8bb7b184fb2402427b4b16ecf63b37a5  libjava/classpath/javax/swing/text/html/parser/DTDConstants.java
! fd8cd76a78e92256941a34a4d9c98ff5  libjava/classpath/javax/swing/text/html/parser/DocumentParser.java
! 57ef2f453c214929d73d1a862c7bbecd  libjava/classpath/javax/swing/text/html/parser/Element.java
! 81b0dd621b4de188e3ebbe2111d4e63c  libjava/classpath/javax/swing/text/html/parser/Entity.java
! ac203a134735ca4fc951857476ef94dd  libjava/classpath/javax/swing/text/html/parser/Parser.java
! 89fc1b2900641e8edfe4d115d8ea61bf  libjava/classpath/javax/swing/text/html/parser/ParserDelegator.java
! 7add2b7e7d3d934f5f8f209582e2d786  libjava/classpath/javax/swing/text/html/parser/TagElement.java
! 2fde82cba5a48185fc3ee4deaa096886  libjava/classpath/javax/swing/text/html/parser/package.html
! 789f3ead51a3225aeaaa0ec1b7e0381f  libjava/classpath/javax/swing/text/package.html
! 63cbee222a4e3c4c841f4b126308163a  libjava/classpath/javax/swing/text/rtf/ControlWordToken.java
! 056cb19937b530f4847130e50dcb4a22  libjava/classpath/javax/swing/text/rtf/RTFEditorKit.java
! 3d46685f13e137dcde98f8c87aca6728  libjava/classpath/javax/swing/text/rtf/RTFParseException.java
! 526a1ba2385f0bd373eb7c1532d6da0f  libjava/classpath/javax/swing/text/rtf/RTFParser.java
! f1eb9a486d4d5279f14621936f98c8b2  libjava/classpath/javax/swing/text/rtf/RTFScanner.java
! 90ff0c4c18035d8e539f43fd8c88a8ec  libjava/classpath/javax/swing/text/rtf/TextToken.java
! 1c60359f51bb1fb7dffc759ca63d51b1  libjava/classpath/javax/swing/text/rtf/Token.java
! 2d3ea95b3cfaded0720b7dad8462663c  libjava/classpath/javax/swing/tree/AbstractLayoutCache.java
! 954deae7347a75f50d9d18eed19fe4e6  libjava/classpath/javax/swing/tree/DefaultMutableTreeNode.java
! a74ea8fce4971006fc7e250a7b62997d  libjava/classpath/javax/swing/tree/DefaultTreeCellEditor.java
! 149deca9a63ae3313c5c4766b1a2711d  libjava/classpath/javax/swing/tree/DefaultTreeCellRenderer.java
! 1f9398070cffd66e9ba7a21dbdfc2e69  libjava/classpath/javax/swing/tree/DefaultTreeModel.java
! 567d7812c7569fca2b3aec8ef88382ed  libjava/classpath/javax/swing/tree/DefaultTreeSelectionModel.java
! aca92dba66760fe5e1374f613e3c3a97  libjava/classpath/javax/swing/tree/ExpandVetoException.java
! 5a1558df1cbdcf5ffe0c03669b0aad94  libjava/classpath/javax/swing/tree/FixedHeightLayoutCache.java
! fbec1cb1d70dc35ee8f1a44885e1e4fa  libjava/classpath/javax/swing/tree/MutableTreeNode.java
! 0301d1320f1249f460531eb2ab9becde  libjava/classpath/javax/swing/tree/RowMapper.java
! 9f49ed5a0796fae684a12e8ec8af720a  libjava/classpath/javax/swing/tree/TreeCellEditor.java
! bd10b8d85dfe3e389746ae4da73e816a  libjava/classpath/javax/swing/tree/TreeCellRenderer.java
! 0912103db18898f3afbdd51e56434a0d  libjava/classpath/javax/swing/tree/TreeModel.java
! ded17e242840af1f6f98d3c24ba2e306  libjava/classpath/javax/swing/tree/TreeNode.java
! f40be95f193d1750626f578247adbd81  libjava/classpath/javax/swing/tree/TreePath.java
! e89140864855cb623c4fb8f8d802b2c6  libjava/classpath/javax/swing/tree/TreeSelectionModel.java
! 643dd272849b853a20bfdd20c8045554  libjava/classpath/javax/swing/tree/VariableHeightLayoutCache.java
! 6358fcdc29936bf27ad7654e9b610bed  libjava/classpath/javax/swing/tree/package.html
! 6e85632be96d48bfe012bb3061184656  libjava/classpath/javax/swing/undo/AbstractUndoableEdit.java
! e2c89a46d4f84c274f80a32073a2cde4  libjava/classpath/javax/swing/undo/CannotRedoException.java
! 544e4267ca386f073807010d6fbe98b4  libjava/classpath/javax/swing/undo/CannotUndoException.java
! aee9ada5f84bc2322d6816ad8795d2a3  libjava/classpath/javax/swing/undo/CompoundEdit.java
! 76fec3d810f9a3439f166c56c1e05c64  libjava/classpath/javax/swing/undo/StateEdit.java
! 4f7c4945e7cd635b5c4e15d456347020  libjava/classpath/javax/swing/undo/StateEditable.java
! 550dfce18ab867d315b839967ecab2c6  libjava/classpath/javax/swing/undo/UndoManager.java
! fa167194621b7cd6a808f5db9ca0470c  libjava/classpath/javax/swing/undo/UndoableEdit.java
! 2c4c565ab499a08d993a2d082f5541b9  libjava/classpath/javax/swing/undo/UndoableEditSupport.java
! 47858b60e455aee5b80b2aed6a68ec9e  libjava/classpath/javax/swing/undo/package.html
! 42c42f2066a2cb8dacab4f691df603b8  libjava/classpath/javax/transaction/HeuristicCommitException.java
! 2f5cb7d2677aebbc924123829437ab97  libjava/classpath/javax/transaction/HeuristicMixedException.java
! e329b373a1980d2f4407c948a1dcfda8  libjava/classpath/javax/transaction/HeuristicRollbackException.java
! 0b337aabf22ec8d6bb90c745ab688742  libjava/classpath/javax/transaction/InvalidTransactionException.java
! c24be3f1ca0f0e3d20df2f5d4e375423  libjava/classpath/javax/transaction/NotSupportedException.java
! cf99b5a9a3ed5f27f7b7e2290f51bbbe  libjava/classpath/javax/transaction/RollbackException.java
! da8bb75441ec85d4397388fc4ed1d023  libjava/classpath/javax/transaction/Status.java
! 1eb6e8232abc4b7e52b6b6dfa8632a0b  libjava/classpath/javax/transaction/Synchronization.java
! 3f398639c4e28810aa2574531c5427a6  libjava/classpath/javax/transaction/SystemException.java
! e1a208965b38a86a23408947c0a817fe  libjava/classpath/javax/transaction/Transaction.java
! 852a5839aa5124b8c7b673439360efd8  libjava/classpath/javax/transaction/TransactionManager.java
! 780e26e13a811c744aea518c8812f1ad  libjava/classpath/javax/transaction/TransactionRequiredException.java
! e03d75624bcd795db224bb8ae30a07e3  libjava/classpath/javax/transaction/TransactionRolledbackException.java
! 2b1959c24358ad0dc32da4cc00b92ec9  libjava/classpath/javax/transaction/UserTransaction.java
! 603f270efbe6c18e85f5283e228ac333  libjava/classpath/javax/transaction/package.html
! 3409284acf1cc5bcb6d7c24b1c19c7a2  libjava/classpath/javax/transaction/xa/XAException.java
! 187bc6413d9eced64adb10781b41bf73  libjava/classpath/javax/transaction/xa/XAResource.java
! 55b13890723254a3dbf71affcc3e3206  libjava/classpath/javax/transaction/xa/Xid.java
! ea5c27f2a304e5699d91fe6f33cd98fc  libjava/classpath/javax/transaction/xa/package.html
! 317878af8ec83946d9aded3ed3633708  libjava/classpath/javax/xml/XMLConstants.java
! 21d00b73f7a0ee295f42de77a2623b2e  libjava/classpath/javax/xml/datatype/DatatypeConfigurationException.java
! d279d1ff2e90b088ede476c4462055cb  libjava/classpath/javax/xml/datatype/DatatypeConstants.java
! 90e865a8b9793cf0383aa0fe24826c5b  libjava/classpath/javax/xml/datatype/DatatypeFactory.java
! 648f54f1de691a815d3e1feb380c56fa  libjava/classpath/javax/xml/datatype/Duration.java
! b59adb4321015e13649da72248452a80  libjava/classpath/javax/xml/datatype/XMLGregorianCalendar.java
! df768a067cca297abc1469dd4952bd37  libjava/classpath/javax/xml/datatype/package.html
! 5f9a2544df27ade9bfb3f828ff67f3b6  libjava/classpath/javax/xml/namespace/NamespaceContext.java
! 1a8ad7e9e257c69a6e8846eefadfa635  libjava/classpath/javax/xml/namespace/QName.java
! 570a4e159913a1d9b4a2e887a4d993a3  libjava/classpath/javax/xml/namespace/package.html
! 65c2de996a6611f298a67bfdf43d0c9a  libjava/classpath/javax/xml/parsers/DocumentBuilder.java
! 7e1b8227b4c9701858cfe7a46ec38089  libjava/classpath/javax/xml/parsers/DocumentBuilderFactory.java
! bd507097cb82e8fca178afd67f729af1  libjava/classpath/javax/xml/parsers/FactoryConfigurationError.java
! 3aecc8d3009780bd488642622035354c  libjava/classpath/javax/xml/parsers/ParserConfigurationException.java
! cab7aa001b3174f7ca38a7884a005714  libjava/classpath/javax/xml/parsers/SAXParser.java
! 9a294749368ac69f7390b5b7c32e46f8  libjava/classpath/javax/xml/parsers/SAXParserFactory.java
! 5e617fd6ca646fb0784af7a5d34e2afc  libjava/classpath/javax/xml/parsers/package.html
! e71e65ab37c80a964e5bd45ddddf0a9a  libjava/classpath/javax/xml/stream/EventFilter.java
! 58dea61ec531844ca7062193d8b2f8f3  libjava/classpath/javax/xml/stream/FactoryConfigurationError.java
! 297a5ebbb73655d659ed4d7d697bb161  libjava/classpath/javax/xml/stream/Location.java
! d828b2115803c06970904c843acc6b2b  libjava/classpath/javax/xml/stream/StreamFilter.java
! 70148f785f57e8e9196d8cb5fb68a5ce  libjava/classpath/javax/xml/stream/XMLEventFactory.java
! 51e4b5a480a39288148e78b37e10df91  libjava/classpath/javax/xml/stream/XMLEventReader.java
! 19958957491a8cfa92e6d70ae93d6ee8  libjava/classpath/javax/xml/stream/XMLEventWriter.java
! 99971b57e94eb1fb2ed4c52ce8b11e2b  libjava/classpath/javax/xml/stream/XMLFilter.java
! 8232fbe8d94697c6ace280213b73de22  libjava/classpath/javax/xml/stream/XMLInputFactory.java
! 153d86f0ccf82053ab870fa5dedfc949  libjava/classpath/javax/xml/stream/XMLIterator.java
! ec227237abb34a44b825fcc57bfa7892  libjava/classpath/javax/xml/stream/XMLOutputFactory.java
! a009b670cca521fa70345fa170b9b6f5  libjava/classpath/javax/xml/stream/XMLReporter.java
! 34fa5ef7b8f514909d6b179119c1db52  libjava/classpath/javax/xml/stream/XMLResolver.java
! 0fb0b92c85a3729b4b06ba3b8819c9b2  libjava/classpath/javax/xml/stream/XMLStreamConstants.java
! 72176183702ca45381ce0de116008407  libjava/classpath/javax/xml/stream/XMLStreamException.java
! f2a3287084a1af1180e14a14cde05801  libjava/classpath/javax/xml/stream/XMLStreamReader.java
! 4a614e3cafea159a53d5fe50f1f0043f  libjava/classpath/javax/xml/stream/XMLStreamWriter.java
! 246fc36602a5c00e3612947c5b5cdafa  libjava/classpath/javax/xml/stream/events/Attribute.java
! 307ecb1b58c223dbd93bae84ef32c349  libjava/classpath/javax/xml/stream/events/Characters.java
! 142a01c533ef283d95d9c55dbc286575  libjava/classpath/javax/xml/stream/events/Comment.java
! ab551816fc6e65d87ae25034f13aaf73  libjava/classpath/javax/xml/stream/events/DTD.java
! b7aa53589906728cf5f9f52985896e3e  libjava/classpath/javax/xml/stream/events/EndDocument.java
! 2b8578d9af9eca1e8cb83a4808085144  libjava/classpath/javax/xml/stream/events/EndElement.java
! 5ff4037dbe0e8a21802d8067c28068c4  libjava/classpath/javax/xml/stream/events/EndEntity.java
! e1f02337203e79105223f76158cf02cc  libjava/classpath/javax/xml/stream/events/EntityDeclaration.java
! eb0b01f7b651fb89a9595776a081ad37  libjava/classpath/javax/xml/stream/events/EntityReference.java
! a57d90378be167c42f45d1bff2eec55e  libjava/classpath/javax/xml/stream/events/Namespace.java
! f73e541fbdd507beba7be7f1284da206  libjava/classpath/javax/xml/stream/events/NotationDeclaration.java
! 366cad469f74a53dc8297a5b7f08dfde  libjava/classpath/javax/xml/stream/events/ProcessingInstruction.java
! 2a025eff5aaf5fdf4bf4043db478c04e  libjava/classpath/javax/xml/stream/events/StartDocument.java
! 66ad15d821a432779bb4b1f5ea3954aa  libjava/classpath/javax/xml/stream/events/StartElement.java
! 98687e672f31eb16bed182e66ada0c04  libjava/classpath/javax/xml/stream/events/StartEntity.java
! acded69bc81ed80e50906c642b61ccc6  libjava/classpath/javax/xml/stream/events/XMLEvent.java
! 37c7e5b6b36db9f65b278102da1e6f82  libjava/classpath/javax/xml/stream/util/EventReaderDelegate.java
! 1ead80b1e09d50a7990e01afb8afa9b9  libjava/classpath/javax/xml/stream/util/ReaderDelegate.java
! 44ac6608353f7a4bbffef5caccc4307e  libjava/classpath/javax/xml/stream/util/XMLEventAllocator.java
! f56d1f0ef3c5eb847de35439db4abeda  libjava/classpath/javax/xml/stream/util/XMLEventConsumer.java
! 4530e50faa5c8963749151d8ef85e6b2  libjava/classpath/javax/xml/transform/ErrorListener.java
! 8ede3d4aae37301dda2e45c9303eef89  libjava/classpath/javax/xml/transform/OutputKeys.java
! 551029236f9493846f4d8cf9be311709  libjava/classpath/javax/xml/transform/Result.java
! 7642775e09117500d65de02937cc514e  libjava/classpath/javax/xml/transform/Source.java
! ccee62d06535f5d18d12060fa10b34b0  libjava/classpath/javax/xml/transform/SourceLocator.java
! 444cafa52e7ab88d428bc334e06345c9  libjava/classpath/javax/xml/transform/Templates.java
! 700ae07f2730cad49cb86b05143fca90  libjava/classpath/javax/xml/transform/Transformer.java
! 0dde17fa7987f66aa8406f9cd18fab16  libjava/classpath/javax/xml/transform/TransformerConfigurationException.java
! 3cb01f11df7f60d5732f183f8319ea22  libjava/classpath/javax/xml/transform/TransformerException.java
! d1fa961ed08534995cdf7dbfcceef943  libjava/classpath/javax/xml/transform/TransformerFactory.java
! a09d9696aad04b026189e94c40064206  libjava/classpath/javax/xml/transform/TransformerFactoryConfigurationError.java
! 442c2572d139a4f0d1728ccc95f8faf5  libjava/classpath/javax/xml/transform/URIResolver.java
! cb622754c83bad2a71251e7a0f183416  libjava/classpath/javax/xml/transform/dom/DOMLocator.java
! 84b404bd061e30537b10d2090e54f48d  libjava/classpath/javax/xml/transform/dom/DOMResult.java
! fbf3ded8c33c8d1c812f97c2447275ee  libjava/classpath/javax/xml/transform/dom/DOMSource.java
! 557a82352d28fa7c528ee1ad11574cea  libjava/classpath/javax/xml/transform/dom/package.html
! adbec903ccf392b12f025f7d577ba0c6  libjava/classpath/javax/xml/transform/package.html
! 733bd48ecc688599911c7c0a737f7835  libjava/classpath/javax/xml/transform/sax/SAXResult.java
! ee927619638e3da3aeaa6d2e00dc8aea  libjava/classpath/javax/xml/transform/sax/SAXSource.java
! 7686ad32023e6aab871921cbda5b92fa  libjava/classpath/javax/xml/transform/sax/SAXTransformerFactory.java
! 6821f39ecded306763ab2a2180552cd6  libjava/classpath/javax/xml/transform/sax/TemplatesHandler.java
! 3494ff789444b30e8d2f08d2250a9f39  libjava/classpath/javax/xml/transform/sax/TransformerHandler.java
! 68d9200e7d29b229613bf7f2404e7281  libjava/classpath/javax/xml/transform/sax/package.html
! d6088bb7c391a23786d71969cda3eacc  libjava/classpath/javax/xml/transform/stream/StreamResult.java
! f35a2cf0ca375c6c47829b576f8da7d2  libjava/classpath/javax/xml/transform/stream/StreamSource.java
! 16721db49d22ee81a2eab6ed880af4fe  libjava/classpath/javax/xml/transform/stream/package.html
! 1ffae666412d76f4027613d0ca21dcf6  libjava/classpath/javax/xml/validation/Schema.java
! fdf7b0d3cd512c04ff325e8222cab059  libjava/classpath/javax/xml/validation/SchemaFactory.java
! 8f228f80dec68d771bf2c344331e3d3a  libjava/classpath/javax/xml/validation/TypeInfoProvider.java
! e71e77f1d8e0962adfb2b2bfdfbb030e  libjava/classpath/javax/xml/validation/Validator.java
! 1832a49cb92951bbaf21c3811f2372da  libjava/classpath/javax/xml/validation/ValidatorHandler.java
! f5a66440ec6770ba58a27c38411905e0  libjava/classpath/javax/xml/validation/package.html
! 60536e9c2a46c75166b85bfe040e041f  libjava/classpath/javax/xml/xpath/XPath.java
! 71232e9591349414fc5981072b4dec19  libjava/classpath/javax/xml/xpath/XPathConstants.java
! 4d55defa05eebc5c24f1ac9214bc169e  libjava/classpath/javax/xml/xpath/XPathException.java
! 8ba68480235dd439c6acecdaa04d8b84  libjava/classpath/javax/xml/xpath/XPathExpression.java
! 063c7b2cb07f961c6d3bd8b2543b13d0  libjava/classpath/javax/xml/xpath/XPathExpressionException.java
! 2877d10d3ce10ef5127fc50b4d525b06  libjava/classpath/javax/xml/xpath/XPathFactory.java
! c5a7be3b61d1c3520ab4e96d5fea9e02  libjava/classpath/javax/xml/xpath/XPathFactoryConfigurationException.java
! 41baf2d3f8239a556b4c1c5d2b2c3845  libjava/classpath/javax/xml/xpath/XPathFunction.java
! 78177499cf0fd2182e087e973a169bfb  libjava/classpath/javax/xml/xpath/XPathFunctionException.java
! f4a7d2c71a87477d48ad2949b61ba083  libjava/classpath/javax/xml/xpath/XPathFunctionResolver.java
! 661079e4b6a87b7a6b798cc2d0f71109  libjava/classpath/javax/xml/xpath/XPathVariableResolver.java
! 4195e7f3734630104cdf377940a46f56  libjava/classpath/javax/xml/xpath/package.html
! bc0bff0f3bb2e4093e4f3d0f97e1a9a4  libjava/classpath/lib/Makefile.am
! 833e3d4fd56fe19ef814c5c1c5778d90  libjava/classpath/lib/Makefile.gcj
! 2be4811da50904415328b7b28d7e7bd1  libjava/classpath/lib/Makefile.in
! 7a2fa6a7ebf5b262e5efd15e55f453fe  libjava/classpath/lib/copy-vmresources.sh.in
! 13b489fbfc90f8b5bfd73261ff29f31f  libjava/classpath/lib/gen-classlist.sh.in
! 67c96d024f9908ee35274b5a2a9b6541  libjava/classpath/lib/jazzlib/index.html
! 545da362878557001e67e2a58d19ab9f  libjava/classpath/lib/jazzlib/makeJazzlibDist.sh
! c432590f139a87c0d9c806ce2945aab9  libjava/classpath/lib/mkcollections.pl.in
! ab6af8e7e57cd53102d36691b36b7b8f  libjava/classpath/lib/mkdep.pl.in
! da8628a18d17917520e3e1f1009fe3e1  libjava/classpath/lib/split-for-gcj.sh
! feca6c456fdbbc9c031b750f939e4302  libjava/classpath/lib/standard.omit
! 540446c4576c78868dbf4cb52366e9d8  libjava/classpath/ltcf-c.sh
! a2d47602fcd7324c616dc9afe83fc435  libjava/classpath/ltcf-cxx.sh
! fffe423a2194a2fcc3890bba0d9ac23f  libjava/classpath/ltcf-gcj.sh
! f8fb5135aeb8bdb63492e8623fb95adc  libjava/classpath/ltconfig
! 4b3e304e3d4ddfc595254461d1db73b6  libjava/classpath/ltmain.sh
! 6daf62d446d744821a432a21147e3ec5  libjava/classpath/m4/acattribute.m4
! c827fc9777ea4b057bf3b63e46c9eccf  libjava/classpath/m4/accross.m4
! c0b6c8a1e8525e314d308c85d53bbc31  libjava/classpath/m4/acinclude.m4
! 998940a8ee25ca89805ed7da63536782  libjava/classpath/m4/iconv.m4
! 77931c860806547ce9fc56097a731c6f  libjava/classpath/m4/lib-ld.m4
! 50120e7fff340d87578219756e55a5e3  libjava/classpath/m4/lib-link.m4
! 4455537cdae70977a1283180062a2d8d  libjava/classpath/m4/lib-prefix.m4
! 8bc9c6be20df8421c1a687421fbfde85  libjava/classpath/m4/pkg.m4
! 41a1f90974d52d40bcd4784b81bb462b  libjava/classpath/mauve-classpath
! 8cd9d6e2b43401cf0ec48d44c199c64f  libjava/classpath/missing
! ce1fb6b579015b49d94f3b093f4cb332  libjava/classpath/mkinstalldirs
! 642f5d8e3f977b3eb2cb8b929df15f64  libjava/classpath/native/Makefile.am
! f4707f135606841b778e8b4b64f1d52f  libjava/classpath/native/Makefile.in
! ac6d08f6b07d5e388d6fd596c0bce153  libjava/classpath/native/fdlibm/Makefile.am
! c25ac28ed5d5d4fa6ae7d70fae6a84de  libjava/classpath/native/fdlibm/Makefile.in
! a880c234a9d44345604bafb7807c31dd  libjava/classpath/native/fdlibm/dtoa.c
! 8758dda5a76bae7d7c4eb541d61113f7  libjava/classpath/native/fdlibm/e_acos.c
! 4e21b8156c60e3319edce17c1caf98a9  libjava/classpath/native/fdlibm/e_asin.c
! 55067bec1b3ce8a5190a9005396b916f  libjava/classpath/native/fdlibm/e_atan2.c
! 1b3dd08502098926c50207cb3cf47be4  libjava/classpath/native/fdlibm/e_exp.c
! 879efc260f2720496675696cc9aa575a  libjava/classpath/native/fdlibm/e_fmod.c
! 391e12085b568ada269ed04e14d186a3  libjava/classpath/native/fdlibm/e_log.c
! ff1f71f227d41782663a4294a52021a8  libjava/classpath/native/fdlibm/e_pow.c
! f017fd0cd07ee245d3376fb9e4f698b9  libjava/classpath/native/fdlibm/e_rem_pio2.c
! 788efcef257a0648aefe95e18083c9a6  libjava/classpath/native/fdlibm/e_remainder.c
! 50d67196d185ea66284cd6e883ab9d2c  libjava/classpath/native/fdlibm/e_scalb.c
! 209c83f3b0778186d17cd4fe9a8cb628  libjava/classpath/native/fdlibm/e_sqrt.c
! 5dcb6b4f5d31dab45c524da62186a295  libjava/classpath/native/fdlibm/fdlibm.h
! 061f724257fb8d839263b0349ead49bd  libjava/classpath/native/fdlibm/ieeefp.h
! fabcb5d1451ff08486577bb78c40b1bb  libjava/classpath/native/fdlibm/java-assert.h
! da0a5da0fde722faec99c97dfe39e05a  libjava/classpath/native/fdlibm/k_cos.c
! 05fbb2138bfd2de31460bd4411c5d61c  libjava/classpath/native/fdlibm/k_rem_pio2.c
! 0472c6b76326206d4d1e0490f33d2e41  libjava/classpath/native/fdlibm/k_sin.c
! 1c5e43c5889740fe9bad2569e33923fb  libjava/classpath/native/fdlibm/k_tan.c
! d37b846fa5ae593f39ba1a8da098a03a  libjava/classpath/native/fdlibm/mprec.c
! 850d250566c0205bf6ab59ef5d6c8328  libjava/classpath/native/fdlibm/mprec.h
! 107a200b158caac87047da803bf88242  libjava/classpath/native/fdlibm/s_atan.c
! 15cafe9763d41dda071f249cb349ad60  libjava/classpath/native/fdlibm/s_ceil.c
! f48c97a1bdbc85036d7fdab48abc536f  libjava/classpath/native/fdlibm/s_copysign.c
! 4686e5a79c826538bcbf502c672bf440  libjava/classpath/native/fdlibm/s_cos.c
! 0367fb1ad554f7156e26d56a794591d9  libjava/classpath/native/fdlibm/s_fabs.c
! 052d5d8381205f33f373afc1751ff897  libjava/classpath/native/fdlibm/s_finite.c
! 4385ec42e82c200209d655bea07787fc  libjava/classpath/native/fdlibm/s_floor.c
! 37813f783b80c8f38fc4ebc7925228f8  libjava/classpath/native/fdlibm/s_rint.c
! 76965dfc1345bb1d7b13f69951b48eb1  libjava/classpath/native/fdlibm/s_scalbn.c
! 8ce55e70629de083edf8041acf013939  libjava/classpath/native/fdlibm/s_sin.c
! 2fa0a599133a56fb195b93ad4628bc9c  libjava/classpath/native/fdlibm/s_tan.c
! 3f7a3a03571ff9a1d0ca86d450db4cdc  libjava/classpath/native/fdlibm/sf_fabs.c
! 127723cba15649f341b34665d1571165  libjava/classpath/native/fdlibm/sf_rint.c
! 0cbf3d489db77cdbc17d32470006fa7c  libjava/classpath/native/fdlibm/strtod.c
! d5dcfe5006a1f1473cb4b752430fefca  libjava/classpath/native/fdlibm/w_acos.c
! 27a1371c4c922cd9dcca48adeb7c8f55  libjava/classpath/native/fdlibm/w_asin.c
! 43b2479a5578fb0fa937bae587304b8d  libjava/classpath/native/fdlibm/w_atan2.c
! acf5e0124e5f6eb025ab139c8b8405de  libjava/classpath/native/fdlibm/w_exp.c
! 3a9db14dcda0b1d608038cab549c02ab  libjava/classpath/native/fdlibm/w_fmod.c
! 0315bc78738b343b5386066d4ca41d8c  libjava/classpath/native/fdlibm/w_log.c
! fcde59b4c779793eb076b4517d2dde0b  libjava/classpath/native/fdlibm/w_pow.c
! 6431279f0b17dec4770d407eff9fc71c  libjava/classpath/native/fdlibm/w_remainder.c
! bb84b3cd77f245147929b536a705b614  libjava/classpath/native/fdlibm/w_sqrt.c
! 9e1f2dd262c2da2298b6a11a09793258  libjava/classpath/native/jawt/Makefile.am
! c2a8f96e1a71f96fbbf158c63870e62a  libjava/classpath/native/jawt/Makefile.in
! 702455e91c9938f15c247f292b49cdac  libjava/classpath/native/jawt/jawt.c
! cb3d554b80c38d534243db6263b09113  libjava/classpath/native/jni/Makefile.am
! 725d4b6108a4b3e3b6a5ff3f27dad312  libjava/classpath/native/jni/Makefile.in
! 4aa3e6f22a25fd608b8abb711f0bfdcb  libjava/classpath/native/jni/classpath/Makefile.am
! 18aa58b3a8903bb67d2bc3e4459aac3e  libjava/classpath/native/jni/classpath/Makefile.in
! f8357d5e944eafd1eab3bc3407f8997d  libjava/classpath/native/jni/classpath/classpath_jawt.h
! ce8f9f80189cd841e26b6e3e375004a2  libjava/classpath/native/jni/classpath/jcl.c
! 3b7bb1d1f212b9c904241d25f9bab981  libjava/classpath/native/jni/classpath/jcl.h
! 557a521d929c4bb8923c2994997d8865  libjava/classpath/native/jni/classpath/jnilink.c
! 45ed9b081822fb8ca918285327cb163e  libjava/classpath/native/jni/classpath/jnilink.h
! 05f000c4b2ea207b4338c002943c4ea7  libjava/classpath/native/jni/classpath/native_state.c
! 2cc06abf846d008490041ea26db09e97  libjava/classpath/native/jni/classpath/native_state.h
! 9888c9d3fb933284e442b77140e98ab5  libjava/classpath/native/jni/gtk-peer/Makefile.am
! 429478539517cdb70170bd95808f813e  libjava/classpath/native/jni/gtk-peer/Makefile.in
! 126602fafad59bf3d15cdf89ae3fb853  libjava/classpath/native/jni/gtk-peer/gdkfont.h
! f3fa26cf62c603ab2cc0b1ae2e7dbe01  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
! 84c3f7947d183f66dd8ee717d6ae0626  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
! 334ce7d38d489c3bd547ba2719af5a58  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
! 0a15bb1be5a2b91830c08b0f263dbf85  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
! 4b804902a0f3540d6c710a1455a62fd3  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c
! 05bb0a341b4d34d65189d913871b5041  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
! 46fe1f24ceb881a414e0ce6ba11b469a  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
! b950c639400c25cde4d6c88cedfca494  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c
! 7bab87870ad75e1a5789b0ae0090077c  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
! 40e5ae41f0cfada286f69d0a5c0a9bff  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
! e0995b4ab9634ba07b4ee2033ccfdb81  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
! 7b7e5cdbe916e5f8adb2d922565b4cad  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
! f8a90ba897e2e5ec78cc959e0cc79ef8  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
! 6857fed35bb9476d6d87cb3624267233  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
! 5e51bdfb34beebc05013d0dd411629f6  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
! af6946ffb4fb0ace2df25a9ee8c1e6d7  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
! 33ad7b99574837cc9fee2609826d707e  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
! ba9caac2833ddfce04ad8036012dfef8  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
! 6880fea6acc22b63e5c575466a0b789a  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
! 5df5fdcaa3f68c4df34237ba2a3844eb  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c
! d2e1b54684078d5cc54f3e881c0a35e9  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImage.c
! 87714651d45b12cc771bf72e245b298f  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
! a2de1ca0aa8d1e3d680188f0962608e8  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
! 02dd3d1f2ab982425393bdedfc21751d  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
! 2a171d7390b1c6b19faf83da30899aff  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.c
! 5621805bd23d57d6cbbb4fd3e0ba4a4c  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
! a214deb503a5332d1ddec503f8f77ef6  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
! fd1e93e758c6c90dec44f4f1287a6004  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
! 9bef0489464827225d20825417d34d76  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
! bd592499b2589f732e839d66b55023b6  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
! eb237381b40d5c7e114ada74efe94250  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollbarPeer.c
! 23d051a0b26894f327419f0988c0264e  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkSelection.c
! 60f893c13030e0b8bc011eac692fb24a  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
! 370d3925b2cb6504589de57a7e40121e  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
! 23a58c3a970e612ce7b935ddba677d94  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
! 7e0832f0d4b4d5b13c927e9fa287433e  libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
! 02d3633fd2778cda7ed43db4d09208f1  libjava/classpath/native/jni/gtk-peer/gthread-jni.c
! 39de0524be8549df36e0a40521475020  libjava/classpath/native/jni/gtk-peer/gthread-jni.h
! 69dbeb22c46f44576943e6d7674f234e  libjava/classpath/native/jni/gtk-peer/gtk_jawt.c
! c6d41835b7b43a979439fe8a0c1a5557  libjava/classpath/native/jni/gtk-peer/gtkcairopeer.h
! 0f572b579721e5d309e81b091276b6f3  libjava/classpath/native/jni/gtk-peer/gtkpeer.h
! 01974455ab8a1bb8e77352875f34e0a9  libjava/classpath/native/jni/java-io/Makefile.am
! b7dc03f6f0fcf40427a82b3508ff1db5  libjava/classpath/native/jni/java-io/Makefile.in
! a3da9149df22e5c4a9023585ace5b114  libjava/classpath/native/jni/java-io/java_io_VMFile.c
! 4e26fb1d76a5caf835b783e70e791feb  libjava/classpath/native/jni/java-io/java_io_VMObjectInputStream.c
! 30cb8babf1e0a52bf5e115158e7f9be5  libjava/classpath/native/jni/java-io/java_io_VMObjectStreamClass.c
! 20a7e45201b87596ea4a00a3030c25ca  libjava/classpath/native/jni/java-io/javaio.c
! 2a5f08a81b8e95ebea2362b09a8e8456  libjava/classpath/native/jni/java-io/javaio.h
! 9ec0f207ca14433510f989a10c976d90  libjava/classpath/native/jni/java-lang/Makefile.am
! de0f1b098aaca3b3a72892dc18fcb019  libjava/classpath/native/jni/java-lang/Makefile.in
! 1b90e64a70c6fe01881da245f2bd6fb0  libjava/classpath/native/jni/java-lang/java_lang_Math.c
! c84a84d3ebabc351823cde103093d5ce  libjava/classpath/native/jni/java-lang/java_lang_VMDouble.c
! a792f7642b21feb094146ccdf775c77a  libjava/classpath/native/jni/java-lang/java_lang_VMFloat.c
! ca6ab62e0ca77b60ebbe470a973ea290  libjava/classpath/native/jni/java-lang/java_lang_VMProcess.c
! 3aaffc1dd22ca57cec967131a645fa47  libjava/classpath/native/jni/java-lang/java_lang_VMSystem.c
! 2a328aad939615ace8f05b0b0c363cfd  libjava/classpath/native/jni/java-lang/java_lang_reflect_Array.c
! 99f412b509e1b72f3f902118d66c0445  libjava/classpath/native/jni/java-net/Makefile.am
! 889c958f85daa49972ea20654955fba0  libjava/classpath/native/jni/java-net/Makefile.in
! a5bc3b5c9c7d45b81399d2bfade27ee1  libjava/classpath/native/jni/java-net/gnu_java_net_PlainDatagramSocketImpl.c
! 863d520aab5ef40111f15443b864877f  libjava/classpath/native/jni/java-net/gnu_java_net_PlainSocketImpl.c
! 4ef6c37711edfe6a20bbf59e7d0ed914  libjava/classpath/native/jni/java-net/java_net_VMInetAddress.c
! 1c84e02f58392d9757efd1bd7029e30d  libjava/classpath/native/jni/java-net/java_net_VMNetworkInterface.c
! 18e6b8117e71888b62ac0e44d6476f28  libjava/classpath/native/jni/java-net/javanet.c
! 84f22e2abeeea681d38edc66dc8b12db  libjava/classpath/native/jni/java-net/javanet.h
! 611cfb93882a49b512f4d00f670aef35  libjava/classpath/native/jni/java-nio/Makefile.am
! a79980378e945612c7e7ba4ec98b6674  libjava/classpath/native/jni/java-nio/Makefile.in
! 2356fe26068f05c0a6cb5998240487f4  libjava/classpath/native/jni/java-nio/gnu_java_nio_VMPipe.c
! 061e1d00c84a89e7869ba4fc39767aec  libjava/classpath/native/jni/java-nio/gnu_java_nio_VMSelector.c
! 8e1f6239cd6f390a34e94273a720d603  libjava/classpath/native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c
! 6c713b5066283564347f714da0843981  libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvDecoder.c
! 05dd2c3a32c6259e62aa7b5f4cc081e6  libjava/classpath/native/jni/java-nio/gnu_java_nio_charset_iconv_IconvEncoder.c
! 6986649a982ed00e5a0c9bdf1b1c8ab6  libjava/classpath/native/jni/java-nio/java_nio.c
! 5eaf5889eba9af5157bd5663e8f83099  libjava/classpath/native/jni/java-nio/java_nio_MappedByteBufferImpl.c
! 4ffc166ceb4ab993ff56128d385b4ee3  libjava/classpath/native/jni/java-nio/java_nio_VMDirectByteBuffer.c
! 38a965919398d3de604c45b114678018  libjava/classpath/native/jni/java-util/Makefile.am
! b85eb0e2318808f9b0df8ec715b4a8e2  libjava/classpath/native/jni/java-util/Makefile.in
! 7c34b052e91b5e1eeedf130e37741a44  libjava/classpath/native/jni/java-util/java_util_VMTimeZone.c
! e9f463ed5edfcbe71d36f0061191e645  libjava/classpath/native/jni/midi-alsa/.cvsignore
! ce94c37c683d507f820e51d3cf89905c  libjava/classpath/native/jni/midi-alsa/Makefile.am
! 30215e0e56763825d6270060226e88f1  libjava/classpath/native/jni/midi-alsa/Makefile.in
! 4ed24cbfb9bc9dde556f1cd69cfa36ab  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaMidiDeviceProvider.c
! 8af238a9fe366d5abc4101a156b65f53  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaMidiSequencerDevice.c
! 3345223070b720f5fe0e73291c98a16c  libjava/classpath/native/jni/midi-alsa/gnu_javax_sound_midi_alsa_AlsaPortDevice.c
! 88d9378475f928bbc49c73e0034a9f23  libjava/classpath/native/jni/midi-dssi/.cvsignore
! cc5a2a2eb665cca14ffacab09fe8bec1  libjava/classpath/native/jni/midi-dssi/Makefile.am
! 025d61d2ad01a78e9620ce6ce60dd692  libjava/classpath/native/jni/midi-dssi/Makefile.in
! 55872a059efad33ca45d659329d305df  libjava/classpath/native/jni/midi-dssi/README
! 7e2cbdd8bd825a0e9b8fff8312f08c23  libjava/classpath/native/jni/midi-dssi/dssi_data.h
! a327f8aeaed292079be8a7fcdfc7c271  libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSIMidiDeviceProvider.c
! eb0b6628f176aab4fafbc3ade2acec00  libjava/classpath/native/jni/midi-dssi/gnu_javax_sound_midi_dssi_DSSISynthesizer.c
! 78e95f48a1b1b34a86f1c1a7edd4b121  libjava/classpath/native/jni/qt-peer/Makefile.am
! ca208d1838b43c5e1dbd131ee65562ef  libjava/classpath/native/jni/qt-peer/Makefile.in
! 6bbc1719e04678326aa50de1179bf872  libjava/classpath/native/jni/qt-peer/buttonevent.h
! c26e5598cceac1bc7119ae22d548ca69  libjava/classpath/native/jni/qt-peer/componentevent.cpp
! 044c9fb01081e4c7ee34200f903c12fb  libjava/classpath/native/jni/qt-peer/componentevent.h
! eddc568506321ffcae234040f5004ddf  libjava/classpath/native/jni/qt-peer/containers.h
! db55e6af7cff0e8bfbd1086643b3f54c  libjava/classpath/native/jni/qt-peer/eventmethods.h
! 963e1735c7b52dd6bb6e181cc2bc8710  libjava/classpath/native/jni/qt-peer/keybindings.cpp
! 3ab5174c17e899534840623ca1c06dae  libjava/classpath/native/jni/qt-peer/keybindings.h
! 5c15f5fade23823dcef9d679378e5430  libjava/classpath/native/jni/qt-peer/mainqtthread.cpp
! 1ab1013cb00c5be6d802f8ba188e4dbf  libjava/classpath/native/jni/qt-peer/mainthreadinterface.cpp
! 2c0901379ea6b0e724c1756053d6620e  libjava/classpath/native/jni/qt-peer/mainthreadinterface.h
! 92d85a2178394ecc1730ea9c551bd617  libjava/classpath/native/jni/qt-peer/nativewrapper.cpp
! eb9ee506c76987a1686010a1c4c23b0b  libjava/classpath/native/jni/qt-peer/nativewrapper.h
! a07eb706fc8a3d4003a17ff72fd89c1a  libjava/classpath/native/jni/qt-peer/qmatrix.cpp
! 02a512cf31db69c405fbf6b67cfea9c5  libjava/classpath/native/jni/qt-peer/qpainterpath.cpp
! b1c8a4a66f35f9551769f3802ff84a40  libjava/classpath/native/jni/qt-peer/qpen.cpp
! 2abf153ebc187b62753bf51436ddae33  libjava/classpath/native/jni/qt-peer/qtaudioclip.cpp
! 1f654fa0e3ff97c8c1362048343f0349  libjava/classpath/native/jni/qt-peer/qtbuttonpeer.cpp
! 374878c3b5948a942f7768fbb4ac85d7  libjava/classpath/native/jni/qt-peer/qtcanvaspeer.cpp
! 324c5a3e4535a2f692ed2068aa2349d4  libjava/classpath/native/jni/qt-peer/qtcheckboxpeer.cpp
! f506d09ff74ee9e624816263fb5f38e2  libjava/classpath/native/jni/qt-peer/qtchoicepeer.cpp
! 27a82808c99a23820d9d688ed01607cf  libjava/classpath/native/jni/qt-peer/qtcomponent.cpp
! 4c34788df835ef6865fe4390ec871ef0  libjava/classpath/native/jni/qt-peer/qtcomponent.h
! 417e7469ccfeddc7384b691b584d1866  libjava/classpath/native/jni/qt-peer/qtcomponentpeer.cpp
! 3e677ec3121b103efa74c6045584fb36  libjava/classpath/native/jni/qt-peer/qtdialogpeer.cpp
! 7d793d7f6772fe9eb437966bc75f4c3e  libjava/classpath/native/jni/qt-peer/qtembeddedwindowpeer.cpp
! 3b0716087424bc9341b6e9f3651f6948  libjava/classpath/native/jni/qt-peer/qtfiledialogpeer.cpp
! 5f11460a36a5ce5c436453199b261a94  libjava/classpath/native/jni/qt-peer/qtfont.h
! 72fe5e41e9b9bbc8a7b45f9deb162da0  libjava/classpath/native/jni/qt-peer/qtfontmetrics.cpp
! a3df4650f90e9f5ee043c0070e969634  libjava/classpath/native/jni/qt-peer/qtfontpeer.cpp
! ac465b17d839310c51cfb2b0200dc807  libjava/classpath/native/jni/qt-peer/qtframepeer.cpp
! e902959c64a04ef59d028b5b1823c6be  libjava/classpath/native/jni/qt-peer/qtgraphics.cpp
! 4d25b38b57247304983091c15f897c80  libjava/classpath/native/jni/qt-peer/qtgraphics.h
! d7ffe9389ff961b59107a8a32515e113  libjava/classpath/native/jni/qt-peer/qtimage.cpp
! 1573b47331b1d41dd67c21c04331dd9f  libjava/classpath/native/jni/qt-peer/qtimage.h
! f70ace4b81e3be0e4774ac7467e47379  libjava/classpath/native/jni/qt-peer/qtlabelpeer.cpp
! 0c58e6f642dc07e7f67b6e43f2f507f7  libjava/classpath/native/jni/qt-peer/qtlistpeer.cpp
! ff2c4e3266d87f50482e5928d767d852  libjava/classpath/native/jni/qt-peer/qtmenubarpeer.cpp
! d1dc70e2ccacc003e8951b20fd9789d0  libjava/classpath/native/jni/qt-peer/qtmenucomponentpeer.cpp
! b4495bac2fd02831f7d73905e3b6f8ef  libjava/classpath/native/jni/qt-peer/qtmenuitempeer.cpp
! e484b5e4ab87f61ceecea207b59d75de  libjava/classpath/native/jni/qt-peer/qtmenupeer.cpp
! 938cbd2d66748f43dd6056594d38ff4b  libjava/classpath/native/jni/qt-peer/qtpanelpeer.cpp
! 069f204a9fabfc3625bc951b7396bd26  libjava/classpath/native/jni/qt-peer/qtpopupmenupeer.cpp
! 08771cc203d267e9bd1dd117feaad62e  libjava/classpath/native/jni/qt-peer/qtscreendevice.cpp
! 041247d058bbdf99f18354889e5e7055  libjava/classpath/native/jni/qt-peer/qtscrollbarpeer.cpp
! 0f148b2922eae3a44110ddca8e26f757  libjava/classpath/native/jni/qt-peer/qtscrollpanepeer.cpp
! 5d801fa1d350101e6a3e1e4ba3af1c3f  libjava/classpath/native/jni/qt-peer/qtstrings.cpp
! 47ad64202b4ba60c44debddc87f9809c  libjava/classpath/native/jni/qt-peer/qtstrings.h
! fc3daf7c6d0d37841be75a4cf6848a90  libjava/classpath/native/jni/qt-peer/qttextareapeer.cpp
! decb350d0696e50bab9ccf221a4cf031  libjava/classpath/native/jni/qt-peer/qttextfieldpeer.cpp
! 7bfdc3c70880e87cd1dd982f2aefbfd8  libjava/classpath/native/jni/qt-peer/qttoolkit.cpp
! 6a0a38aca06fd4eea267594a8660813e  libjava/classpath/native/jni/qt-peer/qtvolatileimage.cpp
! 0362ba5d57a2ad7a1c51274a1a64ef1f  libjava/classpath/native/jni/qt-peer/qtwindowpeer.cpp
! db7b924dd81076a7da4baa3e4da6f37f  libjava/classpath/native/jni/qt-peer/slotcallbacks.cpp
! dfc91d9106be2aa6799accb5fd905c84  libjava/classpath/native/jni/qt-peer/slotcallbacks.h
! 5ac3ab93c09d6b37eed61960db93eb4e  libjava/classpath/native/jni/xmlj/BUGS
! cbd3a3a5278d3af6991111ca60314df2  libjava/classpath/native/jni/xmlj/Makefile.am
! ef105bfabeb9eda8ec60ac4f7cb660d6  libjava/classpath/native/jni/xmlj/Makefile.in
! a2c641147a0afe153ff0e0aed7475aee  libjava/classpath/native/jni/xmlj/xmlj_dom.c
! f596295ba3e499ce77130f3598958826  libjava/classpath/native/jni/xmlj/xmlj_dom.h
! 64c062c6f10400810955e708adc7d662  libjava/classpath/native/jni/xmlj/xmlj_error.c
! 65d878ba2ba427307455dabbdbf5d16a  libjava/classpath/native/jni/xmlj/xmlj_error.h
! f768ba6066e9ed34c4f45e11914bd70f  libjava/classpath/native/jni/xmlj/xmlj_io.c
! bb6b6fd175e61354c4a8bf84d534ecfb  libjava/classpath/native/jni/xmlj/xmlj_io.h
! 46df6f39e85ca06a1760e02ebe4daa22  libjava/classpath/native/jni/xmlj/xmlj_node.c
! e9e7e4ed6b07750ef3c7058cf43bb043  libjava/classpath/native/jni/xmlj/xmlj_node.h
! 497f19fbe1287ae0bf20fbf21b548ab3  libjava/classpath/native/jni/xmlj/xmlj_sax.c
! 1f76c78299726ae6ae06dde1632d6c51  libjava/classpath/native/jni/xmlj/xmlj_sax.h
! 963e3517148504c304473de133a9248e  libjava/classpath/native/jni/xmlj/xmlj_transform.c
! 679ae573ca806e6ae03f33295814128b  libjava/classpath/native/jni/xmlj/xmlj_util.c
! edf2da4f30670b354d3cb0d3c717a148  libjava/classpath/native/jni/xmlj/xmlj_util.h
! 71c0f53a0b00f1a19a3d5026b6f06501  libjava/classpath/native/jni/xmlj/xmlj_xpath.c
! f3d93e71a0eefe83028547c38aee9bff  libjava/classpath/native/target/Linux/Makefile.am
! 13576f6d2f1a9f90dcc9d57872ade4a3  libjava/classpath/native/target/Linux/Makefile.in
! 8dfa3544470e0fd638e59f9f1c6820d7  libjava/classpath/native/target/Linux/target_native.h
! 3540152be63fdfac503d4ddbcad70701  libjava/classpath/native/target/Linux/target_native_file.h
! 81b77d5c2a695e3c96aec937029aed16  libjava/classpath/native/target/Linux/target_native_io.h
! 8c827252faa1464ceba4e2a7a0287b5c  libjava/classpath/native/target/Linux/target_native_math_float.h
! be2307b539ec0190846ad0a9fe119152  libjava/classpath/native/target/Linux/target_native_math_int.h
! a41a8cecc445587bf8c752729f7af5fa  libjava/classpath/native/target/Linux/target_native_misc.h
! 435ff53b12bfd93c5566a58695d74ddc  libjava/classpath/native/target/Linux/target_native_network.h
! dd40edff47993ec1140c2f895f056d19  libjava/classpath/native/target/Makefile.am
! 83fa3fd690f1de8846c40fff0b0ffa3d  libjava/classpath/native/target/Makefile.in
! a3d009868476db10df6fdd32500d36b0  libjava/classpath/native/target/generic/Makefile.am
! 1cabb4927ae5639ab0b86917cef6f928  libjava/classpath/native/target/generic/Makefile.in
! 25ff041c541212654f6d172c04197cc1  libjava/classpath/native/target/generic/target_generic.h
! 4e2c0ec8e11bf5e813d3ab1f9bd46f00  libjava/classpath/native/target/generic/target_generic_file.h
! e67401431367e4bc5d8604ed2278a310  libjava/classpath/native/target/generic/target_generic_io.h
! f031208cefe662d6d90949c5a716f8e7  libjava/classpath/native/target/generic/target_generic_math_float.h
! 8283e3de4c42e5c4c7798ed2bf47f4de  libjava/classpath/native/target/generic/target_generic_math_int.h
! d5bb68ab8fe8e1d39ada42432f958135  libjava/classpath/native/target/generic/target_generic_misc.h
! 17001e834df8ed6b1a3d84cb497c2ec3  libjava/classpath/native/target/generic/target_generic_network.h
! 9e2775ea994edda0636fddee756bec10  libjava/classpath/native/target/readme.txt
! 506a0a47db1228679fba586f87153bf5  libjava/classpath/native/testsuite/Makefile.am
! fd34cd5de2687b1c50f875d6e4d5a021  libjava/classpath/native/testsuite/guile-jvm.c
! 097d7fc4fb7a1d90b023d612b6b3118c  libjava/classpath/native/vmi/Makefile.am
! 27f800fecedd191b4994d5bba5e837f7  libjava/classpath/native/vmi/TODO
! 6b74c1a1ec169fdbe3792ad49bd54e93  libjava/classpath/native/vmi/vmi.c
! 7bab2f828f21edd093e5260e6c165dcd  libjava/classpath/native/vmi/vmi.h
! 9f51ca6d32a6cf01000b2308701b5c63  libjava/classpath/org/ietf/jgss/ChannelBinding.java
! 1954b5027345fc853431434b4e4980c6  libjava/classpath/org/ietf/jgss/GSSContext.java
! 186fb58294849e5c15cc8c0adc3e75aa  libjava/classpath/org/ietf/jgss/GSSCredential.java
! 5e135dc2caf1ecb6d2d11217a64cd7b9  libjava/classpath/org/ietf/jgss/GSSException.java
! a802e6b48e0a63a2390cc87d36413e5a  libjava/classpath/org/ietf/jgss/GSSManager.java
! 97f5a12f224e061fb65bbc1132165acf  libjava/classpath/org/ietf/jgss/GSSName.java
! 40674343fffaacb8a2b592fdb4a7b625  libjava/classpath/org/ietf/jgss/MessageProp.java
! f3e5bc245214109323e2559d661dc6cf  libjava/classpath/org/ietf/jgss/Oid.java
! 0f6a08d2f16b0e6882c32cd486d127c2  libjava/classpath/org/omg/CORBA/ACTIVITY_COMPLETED.java
! 4340291ec3dc2ab83acc0a5ae734d45b  libjava/classpath/org/omg/CORBA/ACTIVITY_REQUIRED.java
! d717857bbb4c5b42c9da9d0027883e7e  libjava/classpath/org/omg/CORBA/ARG_IN.java
! c2b38288e4911103a160e5644fd96e82  libjava/classpath/org/omg/CORBA/ARG_INOUT.java
! b3d08eae2b108f185eeab1c6895fb3e1  libjava/classpath/org/omg/CORBA/ARG_OUT.java
! d390976243b7fcaf0e278a737540cc05  libjava/classpath/org/omg/CORBA/Any.java
! e9b0eb9fc6eb2547d13a322ad43e8ab3  libjava/classpath/org/omg/CORBA/AnyHolder.java
! bea46637fe9964d0614fabcccd74e49b  libjava/classpath/org/omg/CORBA/AnySeqHelper.java
! d9ca8330a3e7ecf5daf1eee680c4cbe8  libjava/classpath/org/omg/CORBA/AnySeqHolder.java
! 8783d5fca4931a62a2ff8b2d4947008e  libjava/classpath/org/omg/CORBA/BAD_CONTEXT.java
! d32e07ba39367a1c059d6d66762895c9  libjava/classpath/org/omg/CORBA/BAD_INV_ORDER.java
! 745ed3d0817a41ec6d6e5fdeea24f5c1  libjava/classpath/org/omg/CORBA/BAD_OPERATION.java
! 816e1dbd1ded55d3237ed5d5d215d7b4  libjava/classpath/org/omg/CORBA/BAD_PARAM.java
! cba5a6dfa5def1cdca5a903a739859e5  libjava/classpath/org/omg/CORBA/BAD_POLICY.java
! cd959613d62cf44d86533557b7173a37  libjava/classpath/org/omg/CORBA/BAD_POLICY_TYPE.java
! 87f28fa9603f2ca41404f4b05e1285ae  libjava/classpath/org/omg/CORBA/BAD_POLICY_VALUE.java
! 886efc82cc21b12fcde5d27ebafd3427  libjava/classpath/org/omg/CORBA/BAD_QOS.java
! 74bf8bbdb942c9d34554917f66cd3058  libjava/classpath/org/omg/CORBA/BAD_TYPECODE.java
! 4e32364cd9ede18619050717e49081d8  libjava/classpath/org/omg/CORBA/BooleanHolder.java
! 08f4c8cf0e38f7650e88c5b9757d008f  libjava/classpath/org/omg/CORBA/BooleanSeqHelper.java
! fc4cce3f90ddae51be0f7baa00c8f96c  libjava/classpath/org/omg/CORBA/BooleanSeqHolder.java
! 60906050e872a6e88ae1e69ca3ed3ee3  libjava/classpath/org/omg/CORBA/Bounds.java
! 7470c21611b37d6740adc397d3d8e3f0  libjava/classpath/org/omg/CORBA/ByteHolder.java
! a83600c6bd3ef5ffa531b8a6551a61af  libjava/classpath/org/omg/CORBA/CODESET_INCOMPATIBLE.java
! f58bc4e47f32596e9788a484f621ed5f  libjava/classpath/org/omg/CORBA/COMM_FAILURE.java
! 69c476081c8382bef011b2a3585ce930  libjava/classpath/org/omg/CORBA/CTX_RESTRICT_SCOPE.java
! 843a4ab3c1a5d16711d0a840459bdb81  libjava/classpath/org/omg/CORBA/CharHolder.java
! a4fe921d3ebe2f1a77290e14236619bd  libjava/classpath/org/omg/CORBA/CharSeqHelper.java
! 56cc64c012303c143b80c07e3e457c16  libjava/classpath/org/omg/CORBA/CharSeqHolder.java
! 8cc7d9b94f2b15623ff7dce895d6bd6f  libjava/classpath/org/omg/CORBA/CompletionStatus.java
! 7cf98f5152fc5eac1f545348497e828c  libjava/classpath/org/omg/CORBA/CompletionStatusHelper.java
! a35a9d002be73f352f9f1de59c22e5ea  libjava/classpath/org/omg/CORBA/Context.java
! ee3341b5ed40cb527d0ccbfda0a0b70c  libjava/classpath/org/omg/CORBA/ContextList.java
! 83f33ac999c2ac61991c0746c02b2845  libjava/classpath/org/omg/CORBA/Current.java
! a83f7836ff6ad0949f05908f6eb077cd  libjava/classpath/org/omg/CORBA/CurrentHelper.java
! 2e7296a5441ddb581cfb63a41f457af7  libjava/classpath/org/omg/CORBA/CurrentHolder.java
! d9154890f4d0bc441c3520804dd11c6e  libjava/classpath/org/omg/CORBA/CurrentOperations.java
! b355b0097e69f737d54ad6e066aa2412  libjava/classpath/org/omg/CORBA/CustomMarshal.java
! f3d4a7b75468c8e68f5c60a0294fc1ec  libjava/classpath/org/omg/CORBA/CustomValue.java
! f22870d7752605efc7ef5da256cf3753  libjava/classpath/org/omg/CORBA/DATA_CONVERSION.java
! dd2cacadb88a98101e7ea4fad1cd4349  libjava/classpath/org/omg/CORBA/DataInputStream.java
! f4962eea63ed998bd1642d055db2e158  libjava/classpath/org/omg/CORBA/DataOutputStream.java
! 9fe6736c0a55cb632cc08979d0700c72  libjava/classpath/org/omg/CORBA/DefinitionKind.java
! 9fe258d0a80f4cdaff4ca360b9e98aeb  libjava/classpath/org/omg/CORBA/DefinitionKindHelper.java
! 2dad5979c827179bd527e1e794b4905b  libjava/classpath/org/omg/CORBA/DomainManager.java
! 1ccfa33f7c5ab5e1516b20e02469bfdf  libjava/classpath/org/omg/CORBA/DomainManagerOperations.java
! c7afcd0d65416a6ad6c436044489d42a  libjava/classpath/org/omg/CORBA/DoubleHolder.java
! f180d4c5848393b97f47c5083d459e22  libjava/classpath/org/omg/CORBA/DoubleSeqHelper.java
! d9d756cb0ef89767584a2e054998ca66  libjava/classpath/org/omg/CORBA/DoubleSeqHolder.java
! 27fd11788335dbdf8a47857df3866edd  libjava/classpath/org/omg/CORBA/DynAny.java
! 4b204eb99958970b916bf7fabed9590b  libjava/classpath/org/omg/CORBA/DynAnyPackage/Invalid.java
! 36fdda32b84da3cf1f37b8ce57e5b1a1  libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidSeq.java
! 14178a729a76d87279274da8e7eecb6b  libjava/classpath/org/omg/CORBA/DynAnyPackage/InvalidValue.java
! b4092226151cf028dd74514fb7ed527d  libjava/classpath/org/omg/CORBA/DynAnyPackage/TypeMismatch.java
! 7ad99e9a2b0692fcadbe65903077e5df  libjava/classpath/org/omg/CORBA/DynAnyPackage/package.html
! 17a3faf36656135e74213c21b3a66ed3  libjava/classpath/org/omg/CORBA/DynArray.java
! 08d916f725a3e8761a082966848b47ab  libjava/classpath/org/omg/CORBA/DynEnum.java
! b395a34c2ea188aec6490c8fa49b42e4  libjava/classpath/org/omg/CORBA/DynFixed.java
! 678a54a8c9604eb6ed0ed416353d6c2f  libjava/classpath/org/omg/CORBA/DynSequence.java
! ff982334cc882b3233b12c6a6724c685  libjava/classpath/org/omg/CORBA/DynStruct.java
! 5f0fc2c3a9c4e169bb4f95ee8098e0a8  libjava/classpath/org/omg/CORBA/DynUnion.java
! 687e571c49c5a5ddcc9dcc2289d38e22  libjava/classpath/org/omg/CORBA/DynValue.java
! 120253925d7f7edd5d63593a42fedd93  libjava/classpath/org/omg/CORBA/DynamicImplementation.java
! 56d5cbdda4685c3b03d0ce3dd8b141b3  libjava/classpath/org/omg/CORBA/Environment.java
! a016ed739d8ee485630171aa2be3b8ce  libjava/classpath/org/omg/CORBA/ExceptionList.java
! 1d8d7f7e7455f385ca9044e263d3b2ed  libjava/classpath/org/omg/CORBA/FREE_MEM.java
! 12db5ac10a33bb67a6e280e402960a41  libjava/classpath/org/omg/CORBA/FieldNameHelper.java
! 39e9aec96a36ff61fe98680d7c1725b1  libjava/classpath/org/omg/CORBA/FixedHolder.java
! 4684c08289e67132fa08769bf17e8f39  libjava/classpath/org/omg/CORBA/FloatHolder.java
! f5ac725f52fa0ddf1157608cab6ab50f  libjava/classpath/org/omg/CORBA/FloatSeqHelper.java
! c3392046f645b67f781f64e83dd320fb  libjava/classpath/org/omg/CORBA/FloatSeqHolder.java
! dd7eb844e96ada129f315cdfd56124df  libjava/classpath/org/omg/CORBA/IDLType.java
! 9bc3e5fcb3a86305fe20e1191451ea50  libjava/classpath/org/omg/CORBA/IDLTypeHelper.java
! cc0f8827dd4d99f481b1ba39ff9f9f78  libjava/classpath/org/omg/CORBA/IDLTypeOperations.java
! 1b8f12e30e70f28285089d7ca72eed9e  libjava/classpath/org/omg/CORBA/IMP_LIMIT.java
! b609b177acb2f9ac6721cc035a5efb60  libjava/classpath/org/omg/CORBA/INITIALIZE.java
! f2f04044a06bbe0d881fd730f74832fb  libjava/classpath/org/omg/CORBA/INTERNAL.java
! b24e9013ebc524da2f0a5d3686bf7be6  libjava/classpath/org/omg/CORBA/INTF_REPOS.java
! 12e2ad3337a00c4de1ae0951c581050e  libjava/classpath/org/omg/CORBA/INVALID_ACTIVITY.java
! ad3def3857e477799df32d1c882c681f  libjava/classpath/org/omg/CORBA/INVALID_TRANSACTION.java
! 854e042f7c1f6aaaaf3c04bcca1f28dc  libjava/classpath/org/omg/CORBA/INV_FLAG.java
! f39711df53a5e99bc5e970abaf46e56b  libjava/classpath/org/omg/CORBA/INV_IDENT.java
! 7e802f1aab8565f6dea279e4d9d20a85  libjava/classpath/org/omg/CORBA/INV_OBJREF.java
! f3adfe9d9b6c158d1a0bbf55be55c4f1  libjava/classpath/org/omg/CORBA/INV_POLICY.java
! 997fd352ea28c65ccd51f1546c6d99d2  libjava/classpath/org/omg/CORBA/IRObject.java
! 5df15bf25160b1b9762f4146766f5e74  libjava/classpath/org/omg/CORBA/IRObjectOperations.java
! 5182a69805b987c03ddac75530bc33d3  libjava/classpath/org/omg/CORBA/IdentifierHelper.java
! 2cc923dfc212f92cd4d99ea0537d21a0  libjava/classpath/org/omg/CORBA/IntHolder.java
! 8b919f6d84356f5d9153211744c0bcc5  libjava/classpath/org/omg/CORBA/LocalObject.java
! 7d5574538200fa06b8b300bc8a759dab  libjava/classpath/org/omg/CORBA/LongHolder.java
! a01bbb1eded1e0a560a51b27ddefb5f3  libjava/classpath/org/omg/CORBA/LongLongSeqHelper.java
! a361b65433dff7777939c62e3142da97  libjava/classpath/org/omg/CORBA/LongLongSeqHolder.java
! 0171ac461bebb96b8344b1ac24e2cd70  libjava/classpath/org/omg/CORBA/LongSeqHelper.java
! f6b8aa75fe64b3c1514667012131b145  libjava/classpath/org/omg/CORBA/LongSeqHolder.java
! b685d43ff549790b0848be3df7b541db  libjava/classpath/org/omg/CORBA/MARSHAL.java
! f3d4e586357da68833015d5f3b576a26  libjava/classpath/org/omg/CORBA/NO_IMPLEMENT.java
! 6af66695c086f28ee0ae0ae1d00680cc  libjava/classpath/org/omg/CORBA/NO_MEMORY.java
! 3a8772a3ccb39d26b02b492a7794ecd0  libjava/classpath/org/omg/CORBA/NO_PERMISSION.java
! 49ab08a74e19f26f33bdad8ea15a1b57  libjava/classpath/org/omg/CORBA/NO_RESOURCES.java
! e0e1de6241cb5168408e39c3a1d5f600  libjava/classpath/org/omg/CORBA/NO_RESPONSE.java
! 58c36bcf8285cee27dda0c141f6c87fd  libjava/classpath/org/omg/CORBA/NVList.java
! 53836add5a0738b6077df578fc7509af  libjava/classpath/org/omg/CORBA/NameValuePair.java
! d7fb3ef9ca4bcc5f6989ed2693492e74  libjava/classpath/org/omg/CORBA/NameValuePairHelper.java
! bef7822b81515c579ccb3880be0aeeac  libjava/classpath/org/omg/CORBA/NamedValue.java
! 0e219d371a83e1fe13974aa233e3ca15  libjava/classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java
! 6aa101c0ee22a2333cf1c9e116a47f7d  libjava/classpath/org/omg/CORBA/OBJ_ADAPTER.java
! 768deb16e9796e30d26410624d00c486  libjava/classpath/org/omg/CORBA/OMGVMCID.java
! ff63fae15d20b4669e106178506e591a  libjava/classpath/org/omg/CORBA/ORB.java
! 7b2fa3aea653dce2cfb9a1367c339822  libjava/classpath/org/omg/CORBA/ORBPackage/InconsistentTypeCode.java
! 707383f9b278ded966cf0185769ae0c3  libjava/classpath/org/omg/CORBA/ORBPackage/InvalidName.java
! 9a5273a2d891d27a5833dd0da9e552e8  libjava/classpath/org/omg/CORBA/ORBPackage/package.html
! 95ed2eaae52c159eed8cbf2cc7fe5a0d  libjava/classpath/org/omg/CORBA/Object.java
! 56bc277eb844f55f04b2138a4b5cdde9  libjava/classpath/org/omg/CORBA/ObjectHelper.java
! 32ae2d82a3f02c35409c4176a0d77636  libjava/classpath/org/omg/CORBA/ObjectHolder.java
! 48d940a33ef0a405ad4b34aacb5c5ab9  libjava/classpath/org/omg/CORBA/OctetSeqHelper.java
! f7e2714a6372b007d35b367b2d7279a3  libjava/classpath/org/omg/CORBA/OctetSeqHolder.java
! b19ed997994fb51d02b0f37e23c71f2e  libjava/classpath/org/omg/CORBA/PERSIST_STORE.java
! 1a9a06065a601bf239aa68eeba67b22c  libjava/classpath/org/omg/CORBA/PRIVATE_MEMBER.java
! 4d196090439ab7baced3c3d5afa7e692  libjava/classpath/org/omg/CORBA/PUBLIC_MEMBER.java
! fb386b1bffa8f5ee61f177c4d7fa7643  libjava/classpath/org/omg/CORBA/ParameterMode.java
! aee120b06bf988cf334eaeb7fa67cf3a  libjava/classpath/org/omg/CORBA/ParameterModeHelper.java
! b64123e7f8971bd2aac6d66ece47c8b2  libjava/classpath/org/omg/CORBA/ParameterModeHolder.java
! 4ac2add158f0c9b280bb43a4f8764770  libjava/classpath/org/omg/CORBA/Policy.java
! 5472a4f476857d516f12c5a0da859fae  libjava/classpath/org/omg/CORBA/PolicyError.java
! f2a3a109a2c8e0fd6b7bc60637bfce26  libjava/classpath/org/omg/CORBA/PolicyErrorCodeHelper.java
! 3bac4371493a295ca7798fc58b441e2f  libjava/classpath/org/omg/CORBA/PolicyErrorHelper.java
! 04b00b1e8a0821f44c15668699200237  libjava/classpath/org/omg/CORBA/PolicyErrorHolder.java
! 3e56f78ccb516e56dbe231e5ce959751  libjava/classpath/org/omg/CORBA/PolicyHelper.java
! 5b62e1087bbf7339e0c7081ab1260859  libjava/classpath/org/omg/CORBA/PolicyHolder.java
! 85d1e2156fa7e38e0f5990a7df3ce102  libjava/classpath/org/omg/CORBA/PolicyListHelper.java
! e32c2c7350585f68dc8d8539e287e0e3  libjava/classpath/org/omg/CORBA/PolicyListHolder.java
! c9b74be54aa4de47deeee8c87fc2ded2  libjava/classpath/org/omg/CORBA/PolicyOperations.java
! 84c248491852bf3dce8a910b8a6feaf8  libjava/classpath/org/omg/CORBA/PolicyTypeHelper.java
! 4712fb7e64d05e98601a2d4a9ee3ca59  libjava/classpath/org/omg/CORBA/Principal.java
! 329ca0ded00b6ad6c53090a7b05ee192  libjava/classpath/org/omg/CORBA/PrincipalHolder.java
! d889b845a2da3bc2a12cb08604a28d89  libjava/classpath/org/omg/CORBA/REBIND.java
! b4d68f3dc06bf7067b6715cce9754856  libjava/classpath/org/omg/CORBA/RepositoryIdHelper.java
! e11478ba85f9684e512e293647bf1256  libjava/classpath/org/omg/CORBA/Request.java
! 11dbde970e4aff147e06608a81dff000  libjava/classpath/org/omg/CORBA/ServerRequest.java
! 1c1b7db2df4eceda21fbbcb0fe982e78  libjava/classpath/org/omg/CORBA/ServiceDetail.java
! 190c00d0fcd472457abe38bcea473e8f  libjava/classpath/org/omg/CORBA/ServiceDetailHelper.java
! e670732c0e90fd6882dfd9772cd10d46  libjava/classpath/org/omg/CORBA/ServiceInformation.java
! 990782f856958d421700bccd2d059577  libjava/classpath/org/omg/CORBA/ServiceInformationHelper.java
! 20f3184ccb95dd60c41f4d1d362f54ef  libjava/classpath/org/omg/CORBA/ServiceInformationHolder.java
! 906a2d97b8e6ce99b4064ac559bbb35a  libjava/classpath/org/omg/CORBA/SetOverrideType.java
! 465bba099fcc23dd4af933e06c243ea3  libjava/classpath/org/omg/CORBA/SetOverrideTypeHelper.java
! 1a391b9e5428a5d7411d6b97d7d25780  libjava/classpath/org/omg/CORBA/ShortHolder.java
! 46e741cac35372a0bbcbde89623743f8  libjava/classpath/org/omg/CORBA/ShortSeqHelper.java
! c19281785e3518425906530325a50ca1  libjava/classpath/org/omg/CORBA/ShortSeqHolder.java
! ad4c172bd180b8db71628e3c3f741aa3  libjava/classpath/org/omg/CORBA/StringHolder.java
! 0f65a4d677a23ace2a87b8d7fbcbbdfd  libjava/classpath/org/omg/CORBA/StringSeqHelper.java
! de16694828d815a2f3eac62d8dc7da62  libjava/classpath/org/omg/CORBA/StringSeqHolder.java
! af17acb0d337a29c259f47b6efaaf188  libjava/classpath/org/omg/CORBA/StringValueHelper.java
! ffc6bf4e2c31a5680eb4d43a447c73df  libjava/classpath/org/omg/CORBA/StructMember.java
! 281db88a9380881355443939724779c0  libjava/classpath/org/omg/CORBA/StructMemberHelper.java
! 7b765ce81d5c98158b54ab711e30eb38  libjava/classpath/org/omg/CORBA/SystemException.java
! 9105e5ae9323425ea2027fc169b8e1fe  libjava/classpath/org/omg/CORBA/TCKind.java
! 4997f5f7ced0dab8b3ffd648c4e27e9e  libjava/classpath/org/omg/CORBA/TIMEOUT.java
! 60e7e2ea4a08b4ce0742ca3d335e9b8c  libjava/classpath/org/omg/CORBA/TRANSACTION_MODE.java
! 465055489e8ec3af51caaaa7cf0c1dee  libjava/classpath/org/omg/CORBA/TRANSACTION_REQUIRED.java
! 0933b947842f3a3a468465f6451d84e1  libjava/classpath/org/omg/CORBA/TRANSACTION_ROLLEDBACK.java
! d568013ec218c853dc07a69262442bd5  libjava/classpath/org/omg/CORBA/TRANSACTION_UNAVAILABLE.java
! c60af165b26e278824d42dc5ddb001c4  libjava/classpath/org/omg/CORBA/TRANSIENT.java
! 9493dd90d745368006a12de153507a98  libjava/classpath/org/omg/CORBA/TypeCode.java
! 43cace74c30c038385abad9967306d79  libjava/classpath/org/omg/CORBA/TypeCodeHolder.java
! 6d7f38ff4e9b0ba6dcacbb680a7b543f  libjava/classpath/org/omg/CORBA/TypeCodePackage/BadKind.java
! 5f1c7100498fbbb8fcbe3cf0c97ec89d  libjava/classpath/org/omg/CORBA/TypeCodePackage/Bounds.java
! 7ad99e9a2b0692fcadbe65903077e5df  libjava/classpath/org/omg/CORBA/TypeCodePackage/package.html
! 5ec0ec6b170467f694812086cfe52984  libjava/classpath/org/omg/CORBA/ULongLongSeqHelper.java
! 49d4c1055852258d26f2861c1beea25d  libjava/classpath/org/omg/CORBA/ULongLongSeqHolder.java
! 797dea213df44fb7d632edc253c026e9  libjava/classpath/org/omg/CORBA/ULongSeqHelper.java
! 73920257d237aa67bd26d11c42aecbd6  libjava/classpath/org/omg/CORBA/ULongSeqHolder.java
! 371c7a6fffbf16cc1f596b28c084db68  libjava/classpath/org/omg/CORBA/UNKNOWN.java
! a6b65e71c68b9b982a18a7098d019282  libjava/classpath/org/omg/CORBA/UNSUPPORTED_POLICY.java
! 8d98ceefa33f46fc58d4b54c63d84991  libjava/classpath/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java
! e4b74079d834f0e24278c56c192da9c1  libjava/classpath/org/omg/CORBA/UShortSeqHelper.java
! e2efb6dd8042ae6b5ea6d22c5817287c  libjava/classpath/org/omg/CORBA/UShortSeqHolder.java
! 0d60424d7df3229e2aa6822d733fe196  libjava/classpath/org/omg/CORBA/UnionMember.java
! 1b557f193673d986fbb9bc8c4eed5642  libjava/classpath/org/omg/CORBA/UnionMemberHelper.java
! 76647ff222475dd8f6392e3ccb6e4048  libjava/classpath/org/omg/CORBA/UnknownUserException.java
! adae6a09e9b6aa7b2bcae3a8950c23a4  libjava/classpath/org/omg/CORBA/UnknownUserExceptionHelper.java
! 5aae89cc35ab1d4038efec9850632636  libjava/classpath/org/omg/CORBA/UnknownUserExceptionHolder.java
! cfcc1a856a2b9b46284c02886d5f5295  libjava/classpath/org/omg/CORBA/UserException.java
! 5671ff982de10e0b5f071ef3f37e2cfa  libjava/classpath/org/omg/CORBA/VM_ABSTRACT.java
! 125f46f80143f1c7e09d5d95f7c8b09d  libjava/classpath/org/omg/CORBA/VM_CUSTOM.java
! aeb7465eafd6f4f6d0cc51ebad9c1845  libjava/classpath/org/omg/CORBA/VM_NONE.java
! 95042b89771d5b395f0350e709c2a06e  libjava/classpath/org/omg/CORBA/VM_TRUNCATABLE.java
! e2797c2c46e2610e83dcbf7fd1f8814a  libjava/classpath/org/omg/CORBA/ValueBaseHelper.java
! 8d62e8d7fed420eaad48daf86490607a  libjava/classpath/org/omg/CORBA/ValueBaseHolder.java
! 29f9e389b5a4e5fb746546c07826ec44  libjava/classpath/org/omg/CORBA/ValueMember.java
! 3159756f55f33c693b9e5f8eeeaaab29  libjava/classpath/org/omg/CORBA/ValueMemberHelper.java
! 557b2e6df6777d3a483aa6229ec4d0c4  libjava/classpath/org/omg/CORBA/VersionSpecHelper.java
! 86ca4350b2f435e2e8ba2f86d70dd44f  libjava/classpath/org/omg/CORBA/VisibilityHelper.java
! c8ae07bc3927726115df06de767d2c5e  libjava/classpath/org/omg/CORBA/WCharSeqHelper.java
! f2d45fd0ad027699cb8d11e55ac1fac6  libjava/classpath/org/omg/CORBA/WCharSeqHolder.java
! b07249980f44418ed64c4d9c4efb09dc  libjava/classpath/org/omg/CORBA/WStringSeqHelper.java
! d273d51d791567c2981db4649add2d4a  libjava/classpath/org/omg/CORBA/WStringSeqHolder.java
! f420f0b8e852d37f5e78b4534c89c872  libjava/classpath/org/omg/CORBA/WStringValueHelper.java
! 62ced73580254d237ef7f76a4a0cb65b  libjava/classpath/org/omg/CORBA/WrongTransaction.java
! 2247e002e3ba1cbe46acb9ecb197aba4  libjava/classpath/org/omg/CORBA/WrongTransactionHelper.java
! 227bd0be21fb34756733b0213d396a17  libjava/classpath/org/omg/CORBA/WrongTransactionHolder.java
! 2c431acdc6b50b244f7b8d2bd30b6b35  libjava/classpath/org/omg/CORBA/_IDLTypeStub.java
! 9755e690a6339f4a73cad56766c2bf4f  libjava/classpath/org/omg/CORBA/_PolicyStub.java
! 2ced3f6827e940693cc1bf1f9b1680b7  libjava/classpath/org/omg/CORBA/package.html
! 15c7fdf628175a83ed26cbf1ef284f84  libjava/classpath/org/omg/CORBA/portable/ApplicationException.java
! 0a685a5a9df8a46b727faf097ac57a91  libjava/classpath/org/omg/CORBA/portable/ApplicationException.jbx
! 35761ddf3dafb1fd97452e99e80bb37e  libjava/classpath/org/omg/CORBA/portable/BoxedValueHelper.java
! 2c2c54c6de87a4a0b14d8f84afe325bc  libjava/classpath/org/omg/CORBA/portable/CustomValue.java
! 7d284349a0b6cf140007e8a1114c347f  libjava/classpath/org/omg/CORBA/portable/Delegate.java
! 0b7a67d3113a9e23f83758263b3ac88c  libjava/classpath/org/omg/CORBA/portable/IDLEntity.java
! 2b67ba7c413b583b4e41635c0dedd450  libjava/classpath/org/omg/CORBA/portable/IndirectionException.java
! 6bf8df90e12469a7c57e6e2809eb8f54  libjava/classpath/org/omg/CORBA/portable/InputStream.java
! c248069e50a15e1375f7e2ab6c7de91b  libjava/classpath/org/omg/CORBA/portable/InvokeHandler.java
! d4fda711e7476f4afa28a5753872ba5f  libjava/classpath/org/omg/CORBA/portable/ObjectImpl.java
! 7a5789b32141069a8ae2d3290e0ae4be  libjava/classpath/org/omg/CORBA/portable/OutputStream.java
! 4793b4119cae89260c53c9ce83545f44  libjava/classpath/org/omg/CORBA/portable/RemarshalException.java
! c8b630af286ed006f207c287ab7bc811  libjava/classpath/org/omg/CORBA/portable/ResponseHandler.java
! 2af6fb0576cfec9b3f41d6e4c1815577  libjava/classpath/org/omg/CORBA/portable/ServantObject.java
! 44e6a30d7de3bff6a2ba044f0bea7302  libjava/classpath/org/omg/CORBA/portable/Streamable.java
! 91e5f580bbb0e1a1c912e6872e791088  libjava/classpath/org/omg/CORBA/portable/StreamableValue.java
! 365d6f10cd42e3262ab33834bf052a5b  libjava/classpath/org/omg/CORBA/portable/UnknownException.java
! 9d3341ad28238f6027c49a85b0d477c9  libjava/classpath/org/omg/CORBA/portable/ValueBase.java
! 96c59ed54f7701b3a324823990848585  libjava/classpath/org/omg/CORBA/portable/ValueFactory.java
! c34a3bfa5380ecbb9edb971bf9f85c37  libjava/classpath/org/omg/CORBA/portable/package.html
! afc94e095eeb0d7cf067b0a515e3d8ae  libjava/classpath/org/omg/CORBA_2_3/ORB.java
! 31f585b93b11e7e623016d89e41608f0  libjava/classpath/org/omg/CORBA_2_3/package.html
! ceaa92c900a583da030f0c8b9e8662db  libjava/classpath/org/omg/CORBA_2_3/portable/Delegate.java
! b997d1520f54c91e162d8ec3c170afe1  libjava/classpath/org/omg/CORBA_2_3/portable/InputStream.java
! 1d7acae7638fc3f7b11f122f4ca6b6df  libjava/classpath/org/omg/CORBA_2_3/portable/ObjectImpl.java
! 62ace45ef7ae73d8013f25d7870a484e  libjava/classpath/org/omg/CORBA_2_3/portable/OutputStream.java
! 5f0e1193b99c2d46fe2f7e30eab3c59c  libjava/classpath/org/omg/CORBA_2_3/portable/package.html
! a98db555d6f6cd9d799506f70ce0802b  libjava/classpath/org/omg/CosNaming/Binding.java
! b184d2234c4e149e61f7e25ce6ac43b6  libjava/classpath/org/omg/CosNaming/BindingHelper.java
! 5d8e26389d7db05da1d34e615ce13e90  libjava/classpath/org/omg/CosNaming/BindingHolder.java
! 378d7d64bb995c51d71c3782a9dae5a4  libjava/classpath/org/omg/CosNaming/BindingIterator.java
! 7622e73e82d2079a539715031da91c28  libjava/classpath/org/omg/CosNaming/BindingIteratorHelper.java
! 7d4ca53e2d41cac662074b519dc1b6e4  libjava/classpath/org/omg/CosNaming/BindingIteratorHolder.java
! 2fe95c77dc760229b255bfccae0ee277  libjava/classpath/org/omg/CosNaming/BindingIteratorOperations.java
! 420c9cfe4735139663100e335269f3d5  libjava/classpath/org/omg/CosNaming/BindingIteratorPOA.java
! 335e2556953aeb32fc4d8b1ed98f5af8  libjava/classpath/org/omg/CosNaming/BindingListHelper.java
! 2bf3a12afafad20a82bb9e0537d69eda  libjava/classpath/org/omg/CosNaming/BindingListHolder.java
! 444a665ef82b62faf9b9ce110f718e50  libjava/classpath/org/omg/CosNaming/BindingType.java
! f56f40d21e5be1c71980804041d51fe4  libjava/classpath/org/omg/CosNaming/BindingTypeHelper.java
! a0d9612193cf15d6c95b69cbec8ef67f  libjava/classpath/org/omg/CosNaming/BindingTypeHolder.java
! 5481710fe87a140d513d37114afd2a59  libjava/classpath/org/omg/CosNaming/IstringHelper.java
! 52df806169259797a34a75210935615a  libjava/classpath/org/omg/CosNaming/NameComponent.java
! 5607d61ecfdd690611255038de0129e2  libjava/classpath/org/omg/CosNaming/NameComponentHelper.java
! c8c75411352756b8b480c9e35f1ee079  libjava/classpath/org/omg/CosNaming/NameComponentHolder.java
! d663c185d866232d05443e1719699a75  libjava/classpath/org/omg/CosNaming/NameHelper.java
! 144edc962225f3f03a83aa43526527a2  libjava/classpath/org/omg/CosNaming/NameHolder.java
! 304596177d2dcc12d0c75036cb598494  libjava/classpath/org/omg/CosNaming/NamingContext.java
! 62ddc4ac432d31eb1288ade3abff4cc7  libjava/classpath/org/omg/CosNaming/NamingContextExt.java
! 64baec8bfec1ffd75547310de22167d7  libjava/classpath/org/omg/CosNaming/NamingContextExtHelper.java
! c194f89461c5fd9aa17bdb4a23d781ef  libjava/classpath/org/omg/CosNaming/NamingContextExtHolder.java
! 466b8b2079eac949de5f530f83fc2e94  libjava/classpath/org/omg/CosNaming/NamingContextExtOperations.java
! 4ac2a86c800647ad4d8d7e4eafc2cfe7  libjava/classpath/org/omg/CosNaming/NamingContextExtPOA.java
! ca054675fd458fd34e1ea888d2901f91  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java
! 210641bbaa14f7b3db4d048e92d21842  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java
! 016674c0fd441ab1d2f70f7724004b7f  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java
! 1d3af66b5671158d69fb4ba45b978553  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java
! f907f1a86dda28cc55e233d2c5191e96  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java
! 0ca434e9472e243c7deb2670c96dcb44  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java
! ac74c4dcecc69d4853289c7ce481acd9  libjava/classpath/org/omg/CosNaming/NamingContextExtPackage/package.html
! ec8d842da6b642644616141f59560d84  libjava/classpath/org/omg/CosNaming/NamingContextHelper.java
! f5041b089a04e94b68c318ff8dcfc43a  libjava/classpath/org/omg/CosNaming/NamingContextHolder.java
! 9232b94469f61bd875355d56944846fc  libjava/classpath/org/omg/CosNaming/NamingContextOperations.java
! 761a422ff2cd969adf43b88f55517dbe  libjava/classpath/org/omg/CosNaming/NamingContextPOA.java
! 2008c9478269b63d50e7053ee334bb27  libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java
! 3856ded994ba2459d77dd724a63b1284  libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java
! ef8f7f1136661cdfda907ef000bab331  libjava/classpath/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.java
! d41bd821bba09bb47d69fd9899d34fa1  libjava/classpath/org/omg/CosNaming/NamingContextPackage/CannotProceed.java
! 0b610ae1ad5790df29da0f2d3fe84487  libjava/classpath/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java
! 04630468f723b90be6f05cc2b4f94748  libjava/classpath/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.java
! 951f02e88a5f4e75809e67e7a402acaa  libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidName.java
! d0167780c5ebe8207bebd2dcc1282870  libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java
! b5fb9230810b154df646f9cb48ca4274  libjava/classpath/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.java
! dc73e3c79a22707636db8a45c53f84a8  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmpty.java
! 358dec3f21890fdc11ade6986f9a69ce  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java
! 16ec98b5b14f571e246ee6a25c3b3a55  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.java
! c001843e4f5d713c86efffca0c478fee  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFound.java
! 609af3d159d36dec8fb33c2d9caea243  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java
! 875ca400aeae70a50f2cdd67c33fef5b  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.java
! 352190df48953e96b102578b11a853fa  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java
! 85cc533868ebdc71c7d68266aa0efc06  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java
! 7810abb591e1afa08f2116a09418fb53  libjava/classpath/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java
! 1313c18c0f4af5d93c29da3845ae5e6e  libjava/classpath/org/omg/CosNaming/NamingContextPackage/package.html
! 6075fa6dec5a294a2fc16e6d963111e1  libjava/classpath/org/omg/CosNaming/_BindingIteratorImplBase.java
! a15524067e090ce3a818dcf96996e9f7  libjava/classpath/org/omg/CosNaming/_BindingIteratorStub.java
! f3ae74ac39b8ab76ed5bb130e1df68ff  libjava/classpath/org/omg/CosNaming/_NamingContextExtImplBase.java
! 674a84cfd977a63afae707de638d8ba1  libjava/classpath/org/omg/CosNaming/_NamingContextExtStub.java
! dc7ca72bb1ca70a995bcbb33561ab358  libjava/classpath/org/omg/CosNaming/_NamingContextImplBase.java
! 9ec3d7d45ffbee47dadabe354810b2e6  libjava/classpath/org/omg/CosNaming/_NamingContextStub.java
! bc336da85b52bb6dbb9d931f143c927a  libjava/classpath/org/omg/CosNaming/package.html
! 8c492419c638244d12594c09c20510ed  libjava/classpath/org/omg/Dynamic/Parameter.java
! 5acae3cbf5908d23ceba392f2ffb9251  libjava/classpath/org/omg/DynamicAny/AnySeqHelper.java
! d151099c53ee9ff5df536ea78c27efce  libjava/classpath/org/omg/DynamicAny/DynAny.java
! 5ecac85cf442d14df2517802c5de9248  libjava/classpath/org/omg/DynamicAny/DynAnyFactory.java
! 33a6c5526c7f49a57c323d378add771e  libjava/classpath/org/omg/DynamicAny/DynAnyFactoryHelper.java
! 34a3316ae258d1b1a56856781f316d20  libjava/classpath/org/omg/DynamicAny/DynAnyFactoryOperations.java
! 435ec42c143fff23c6e9f4630832527e  libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java
! c683abea206d2b08148a65d4f20b5d57  libjava/classpath/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java
! ee843f0230cdd5ebd4eff05e4111636c  libjava/classpath/org/omg/DynamicAny/DynAnyHelper.java
! d3ee426f7d7e8ff7ffd31b5925f667ed  libjava/classpath/org/omg/DynamicAny/DynAnyOperations.java
! 87a402f8b78601b29592e7ffae3a40f9  libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java
! 46e5a799d0005d115e3d79e1f4ed925f  libjava/classpath/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java
! badad4656f43970e0daf01bb0283c0c6  libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java
! 944a5b52364674cb3b0d19466bcad6a0  libjava/classpath/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java
! 616b3a45f0841baacb7a90316798adfd  libjava/classpath/org/omg/DynamicAny/DynAnyPackage/package.html
! 48ba2abd73282ba7ad8ae7c6bea1e646  libjava/classpath/org/omg/DynamicAny/DynAnySeqHelper.java
! b7eea5124c21513ddb4df3cee14aa676  libjava/classpath/org/omg/DynamicAny/DynArray.java
! 971523e09a6c6de62e02a9da2744f0b4  libjava/classpath/org/omg/DynamicAny/DynArrayHelper.java
! ff34f4ee7fef5eaeebfcac978704cf9d  libjava/classpath/org/omg/DynamicAny/DynArrayOperations.java
! dc288ad74974eb84947f2f6c8051ce89  libjava/classpath/org/omg/DynamicAny/DynEnum.java
! 8dda8c95f20522a9f9b64b62e5526704  libjava/classpath/org/omg/DynamicAny/DynEnumHelper.java
! ad1a396f50e86fcef040b8eafb12688a  libjava/classpath/org/omg/DynamicAny/DynEnumOperations.java
! 24cbce7e6d569d64cdb8ba7f34b30a1c  libjava/classpath/org/omg/DynamicAny/DynFixed.java
! a380dced1794abfc8cba4a13c3822925  libjava/classpath/org/omg/DynamicAny/DynFixedHelper.java
! 4423a4c63c8b7bab6692d3e15946f87b  libjava/classpath/org/omg/DynamicAny/DynFixedOperations.java
! af889fb03ce4e8dc486654a5a0f6c34a  libjava/classpath/org/omg/DynamicAny/DynSequence.java
! 7e4c3b11e7f7c35d4e0528f6deef1e06  libjava/classpath/org/omg/DynamicAny/DynSequenceHelper.java
! f8574b236b51fa087033aa8daaf32870  libjava/classpath/org/omg/DynamicAny/DynSequenceOperations.java
! 3e314721d053e1bf51c5478c0362ac7b  libjava/classpath/org/omg/DynamicAny/DynStruct.java
! fa043567c881c37c98d3d5ed1ebfd587  libjava/classpath/org/omg/DynamicAny/DynStructHelper.java
! 1b0769b99b4b9158a1d1f0bf746439fd  libjava/classpath/org/omg/DynamicAny/DynStructOperations.java
! 768ea8e3a612679ed00a34f176a32365  libjava/classpath/org/omg/DynamicAny/DynUnion.java
! bc7da8334e11129751d3e6e9ec628b6c  libjava/classpath/org/omg/DynamicAny/DynUnionHelper.java
! 843450efc42a16e285d6acf9b9f08045  libjava/classpath/org/omg/DynamicAny/DynUnionOperations.java
! c35b7b8215d57b57ca62b08e58e755b4  libjava/classpath/org/omg/DynamicAny/DynValue.java
! b1778e3ee70befd8ecb8c9bc6e918888  libjava/classpath/org/omg/DynamicAny/DynValueBox.java
! 4fd0c668d679dcd91fb094e218f67f22  libjava/classpath/org/omg/DynamicAny/DynValueBoxOperations.java
! 1667c8e4a11acf2d70d208d82f005ea1  libjava/classpath/org/omg/DynamicAny/DynValueCommon.java
! 6594006b842b1aa96bbe044a9655d0a4  libjava/classpath/org/omg/DynamicAny/DynValueCommonOperations.java
! 41d563ad94bdf0ff7544595555ded74d  libjava/classpath/org/omg/DynamicAny/DynValueHelper.java
! cef262f616e1f49222f081f7f2c9a70e  libjava/classpath/org/omg/DynamicAny/DynValueOperations.java
! 359d5aef84d30f372f7d9883a07f8d5e  libjava/classpath/org/omg/DynamicAny/FieldNameHelper.java
! 77466d789f498d00073fe79378563f9c  libjava/classpath/org/omg/DynamicAny/NameDynAnyPair.java
! 2c48e2b37b50abad2b0e835616be9840  libjava/classpath/org/omg/DynamicAny/NameDynAnyPairHelper.java
! 8a62435ff15e5c82e47c7ebffc4816b8  libjava/classpath/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java
! e2cb74b2018b7d873413b3ca5fab713a  libjava/classpath/org/omg/DynamicAny/NameValuePair.java
! 4458cd655fe00fb5a237a8b58e535b77  libjava/classpath/org/omg/DynamicAny/NameValuePairHelper.java
! a657558f503b3b48fdef026f0da6825c  libjava/classpath/org/omg/DynamicAny/NameValuePairSeqHelper.java
! 357b300f49f3dc1b61a6a82ddb2817b6  libjava/classpath/org/omg/DynamicAny/_DynAnyFactoryStub.java
! 5a768e8264f41283edc4ac453adf56dc  libjava/classpath/org/omg/DynamicAny/_DynAnyStub.java
! 349701612aa56b68d2233a9f62030e2d  libjava/classpath/org/omg/DynamicAny/_DynArrayStub.java
! 544312f65e755899449204fbf4404e97  libjava/classpath/org/omg/DynamicAny/_DynEnumStub.java
! 21bdb78c8ea08d6e0da13a0378b779af  libjava/classpath/org/omg/DynamicAny/_DynFixedStub.java
! 2e3d6a1f35c66e873d42705111207c8e  libjava/classpath/org/omg/DynamicAny/_DynSequenceStub.java
! 34186786a045114dd90c756452ecd274  libjava/classpath/org/omg/DynamicAny/_DynStructStub.java
! 393437a32720ec69d7946cd3e5263b79  libjava/classpath/org/omg/DynamicAny/_DynUnionStub.java
! 4c3ef4089802485768a78b61d2e0bd55  libjava/classpath/org/omg/DynamicAny/_DynValueStub.java
! ff68e5386065fc8c097b51049ba9b9b9  libjava/classpath/org/omg/DynamicAny/package.html
! a6cad6d84d6cd14c44369dc9fc3f2ba2  libjava/classpath/org/omg/IOP/CodeSets.java
! 79a995350257cce9378bd668eb4bde55  libjava/classpath/org/omg/IOP/Codec.java
! cbf8592247124605c83acfb3a4d92ea8  libjava/classpath/org/omg/IOP/CodecFactory.java
! 3835e3c654bf2d03479ea9653a8070ec  libjava/classpath/org/omg/IOP/CodecFactoryHelper.java
! 660d9b2d794ca53c5a8b6a499153279c  libjava/classpath/org/omg/IOP/CodecFactoryOperations.java
! ff98b561b4b218cbd30d4574de5bf179  libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java
! 8c511fedd36567b3bd743bacbcd5e362  libjava/classpath/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java
! 2be0e0c32a15d673ae5ffd7ff6635892  libjava/classpath/org/omg/IOP/CodecOperations.java
! de0cdcb4183eaa9532fc72ba06dcc57c  libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatch.java
! 0e8e7f65d8b94fb49a085e824561954c  libjava/classpath/org/omg/IOP/CodecPackage/FormatMismatchHelper.java
! ac075b21de009e3a80b3f5fd256d8375  libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java
! 6646a0d5d3bb55efc859ec1e224ee198  libjava/classpath/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java
! ade38ef8bd5998187ff34467eace6731  libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatch.java
! 1bcb4c7a9b76b5f62b220ca137325f68  libjava/classpath/org/omg/IOP/CodecPackage/TypeMismatchHelper.java
! 89da3170a6f76baa7ce150a09ce309c9  libjava/classpath/org/omg/IOP/ComponentIdHelper.java
! 9f460ce497bae35d01c294cd02945fa8  libjava/classpath/org/omg/IOP/ENCODING_CDR_ENCAPS.java
! 4947ce9632b27dd8560daceba64c23c6  libjava/classpath/org/omg/IOP/Encoding.java
! f641d6207c67130f9fda1d671359de41  libjava/classpath/org/omg/IOP/ExceptionDetailMessage.java
! 74b5f55feb9f88e108786615ebc815a1  libjava/classpath/org/omg/IOP/IOR.java
! 5b15d1869cc37238fb571d6d1efbb3b0  libjava/classpath/org/omg/IOP/IORHelper.java
! e4d13c67deb39324d1a10665ebb9010a  libjava/classpath/org/omg/IOP/IORHolder.java
! 9bded2bdfec31f1da116085d053d7ec9  libjava/classpath/org/omg/IOP/MultipleComponentProfileHelper.java
! 8edbf136e3226d390f337d3153ee9fc1  libjava/classpath/org/omg/IOP/MultipleComponentProfileHolder.java
! 627253f6db3fb2c2e68c97afb60705d8  libjava/classpath/org/omg/IOP/ProfileIdHelper.java
! 5a1143d45c64e3b867e2dff3a2558d02  libjava/classpath/org/omg/IOP/RMICustomMaxStreamFormat.java
! ca992206a237868672c053e9043fecf5  libjava/classpath/org/omg/IOP/ServiceContext.java
! a474a982560efe9c832399ec0c65c845  libjava/classpath/org/omg/IOP/ServiceContextHelper.java
! 37265c4745af7a6c952cbae9eac3a5d1  libjava/classpath/org/omg/IOP/ServiceContextHolder.java
! 23dc1bf108390003b613ce387c315f18  libjava/classpath/org/omg/IOP/ServiceContextListHelper.java
! 1b14b2574694f4fdeefe1ab909027584  libjava/classpath/org/omg/IOP/ServiceContextListHolder.java
! 5d6e4679b1982450cd91328a36489c4f  libjava/classpath/org/omg/IOP/ServiceIdHelper.java
! f265badf8beebd3d17c41b031d2c4a0d  libjava/classpath/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.java
! c549cf5b559e6b99ad2b8301402d459c  libjava/classpath/org/omg/IOP/TAG_CODE_SETS.java
! f453f2542259842721f98cbc470494a9  libjava/classpath/org/omg/IOP/TAG_INTERNET_IOP.java
! 78fb9c188eec54e0bce5b8e310c8e5b0  libjava/classpath/org/omg/IOP/TAG_JAVA_CODEBASE.java
! ab1c16266adc2dada933870b403ec29b  libjava/classpath/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.java
! f108b804699c5c811ba62e046fd8b889  libjava/classpath/org/omg/IOP/TAG_ORB_TYPE.java
! 287e28c09a130083cc30202c025be3e0  libjava/classpath/org/omg/IOP/TAG_POLICIES.java
! 2dcfe753624da218429602d9c4b66668  libjava/classpath/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.java
! fdc7d03bca5c769223603bbee8759697  libjava/classpath/org/omg/IOP/TaggedComponent.java
! 0cf7ee18d7a4b0b0b7081f74aae3bbb8  libjava/classpath/org/omg/IOP/TaggedComponentHelper.java
! 2a805ba1dfba6c3ccf3fba76aca6045b  libjava/classpath/org/omg/IOP/TaggedComponentHolder.java
! 679361945998bb08f80a7ce1d362a202  libjava/classpath/org/omg/IOP/TaggedProfile.java
! d09cf108bb5d30df5c52cbec4a6d3347  libjava/classpath/org/omg/IOP/TaggedProfileHelper.java
! 2595430859a42806735e30dbf1192f12  libjava/classpath/org/omg/IOP/TaggedProfileHolder.java
! 1c52ee047fe5f6596d34203f7ee50c32  libjava/classpath/org/omg/IOP/TransactionService.java
! a57ae497b2d1282bf591d9ad218ea579  libjava/classpath/org/omg/Messaging/SYNC_WITH_TRANSPORT.java
! d4c0e03bb248c4511f033172af42b9d8  libjava/classpath/org/omg/Messaging/SyncScopeHelper.java
! 4d41818183bc8615258308c13000c16d  libjava/classpath/org/omg/Messaging/package.html
! 988d5297e8fa76246d8a37784f305993  libjava/classpath/org/omg/PortableInterceptor/ACTIVE.java
! b64c66645ba63fea73ea99d76cbd87b2  libjava/classpath/org/omg/PortableInterceptor/AdapterManagerIdHelper.java
! 1b5eb131e0ac293f428c15c357f0444a  libjava/classpath/org/omg/PortableInterceptor/AdapterNameHelper.java
! a83f916f05df8b57e9f1276f0cc28013  libjava/classpath/org/omg/PortableInterceptor/AdapterStateHelper.java
! 598da6757416855159c487998a77a45c  libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfo.java
! 8a84a165a99d7bd22c34c743d67520b6  libjava/classpath/org/omg/PortableInterceptor/ClientRequestInfoOperations.java
! d184381c01540702d937253b35e1ee78  libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptor.java
! 4317181bb54085d369258c14b3557e4e  libjava/classpath/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java
! a14e9614cae0c5388615214794889474  libjava/classpath/org/omg/PortableInterceptor/Current.java
! 6f53bf2d1ae3eab7f2634017ee2f9c0f  libjava/classpath/org/omg/PortableInterceptor/CurrentHelper.java
! e3bd6cd6c0a95c3777cd79d89fdc8938  libjava/classpath/org/omg/PortableInterceptor/CurrentOperations.java
! 8982fbfa44bfa0d1c1c8b05441f21e64  libjava/classpath/org/omg/PortableInterceptor/DISCARDING.java
! 1aefad3472fb68fdcc89906913bb4eaa  libjava/classpath/org/omg/PortableInterceptor/ForwardRequest.java
! 23c957a58771706237b9e6cf2e0b2df2  libjava/classpath/org/omg/PortableInterceptor/ForwardRequestHelper.java
! e6c97557cb12b5126191cf38590845c0  libjava/classpath/org/omg/PortableInterceptor/HOLDING.java
! 4721b70c975aad02e80e7e85c96d3622  libjava/classpath/org/omg/PortableInterceptor/INACTIVE.java
! 4fd25c35bec1cfa247499815bdbc637e  libjava/classpath/org/omg/PortableInterceptor/IORInfo.java
! dda56878fbc0d3ec37846b85bb9082e0  libjava/classpath/org/omg/PortableInterceptor/IORInfoOperations.java
! bfebfb2185a6c926419ddf362249469c  libjava/classpath/org/omg/PortableInterceptor/IORInterceptor.java
! b309df6819980f0baad75f0db8d1078e  libjava/classpath/org/omg/PortableInterceptor/IORInterceptorOperations.java
! 2f1dbc722e8b54d7dd84a4f8de862df5  libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0.java
! 29e593fa55c4e4f0f921a03e6743a166  libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java
! cc521ced48dd901d81d5b2069c27a32e  libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java
! ad357953d923e97a56406f1538a9402c  libjava/classpath/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java
! fb8d6d9cffc7955572275c8c19522c1c  libjava/classpath/org/omg/PortableInterceptor/Interceptor.java
! e503d6736af4c7a5c9f5a69b80bc1a2f  libjava/classpath/org/omg/PortableInterceptor/InterceptorOperations.java
! f7cd793b0acb6fad07e438e03d7161a4  libjava/classpath/org/omg/PortableInterceptor/InvalidSlot.java
! bc22e945be68faa5ea5f4e9f8d9c35bc  libjava/classpath/org/omg/PortableInterceptor/InvalidSlotHelper.java
! c4462b97065e88eeb0587e4b0538761b  libjava/classpath/org/omg/PortableInterceptor/LOCATION_FORWARD.java
! 052dfb8c7a823df7d6c8beaf82f4810a  libjava/classpath/org/omg/PortableInterceptor/NON_EXISTENT.java
! 230234186e2e8e7ec96ce3850f0d1e2a  libjava/classpath/org/omg/PortableInterceptor/ORBIdHelper.java
! 87b11342038a9edd7cba1609c9c6c10e  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfo.java
! 787f0fcb8cc5f0bf8885a6f090f7ac30  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoOperations.java
! dff3822be3b163666cd1f185d5fbfdbf  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java
! c99c3ae56b2aef89bb99a14dba8a3efa  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java
! c3880457b29e59beafe2ca6e0f9a1bfc  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java
! b75757d73775d5cb1680c7e87a404717  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java
! b3b9f6dc321ae0491250a7151dbc47ce  libjava/classpath/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java
! 0fdd18fef8991f5716b644d9246f197d  libjava/classpath/org/omg/PortableInterceptor/ORBInitializer.java
! ddeac594b2701d3a404149bdb3d76612  libjava/classpath/org/omg/PortableInterceptor/ORBInitializerOperations.java
! 74a2e87b2d4dccc82df285d765ef11f1  libjava/classpath/org/omg/PortableInterceptor/ObjectIdHelper.java
! df68e02d5cc0a1f999fa0bbf934b0240  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactory.java
! d67443cce713cb2a3977789b2291b836  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java
! 4e228ab5b67ee1d47028645076bfac33  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java
! 4c6d72c3e15e38b41e2663fa61230dd0  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceFactoryOperations.java
! af66d1099ce1be54205825dc31eb6f89  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplate.java
! d4977c6a78872dd32bce42a5af380205  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java
! 0f47f97b88d61cb2292e89aad980f13e  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java
! 22759eb2278189e81d31b4b5321b4c09  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java
! 956d140b1c09123f651de2a7b5663d94  libjava/classpath/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java
! 28cb6de7d7fb7dc0edc0952c82356900  libjava/classpath/org/omg/PortableInterceptor/PolicyFactory.java
! 53b66f6ec4281384908a939297487cd9  libjava/classpath/org/omg/PortableInterceptor/PolicyFactoryOperations.java
! d1dac87d0e6e000c6c35af10ddf06952  libjava/classpath/org/omg/PortableInterceptor/RequestInfo.java
! 169e2e7d9c5dbecedd62998cf4912463  libjava/classpath/org/omg/PortableInterceptor/RequestInfoOperations.java
! 5a85a7bf14757821fb2d6c44f5b99bc0  libjava/classpath/org/omg/PortableInterceptor/SUCCESSFUL.java
! e80ca7a7395e25fecc247bcc579a7b00  libjava/classpath/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java
! 17dafbaa82d01b21145d632f50d2b27f  libjava/classpath/org/omg/PortableInterceptor/ServerIdHelper.java
! 402eb0b78a0e9eca5cfce3a5b85d5ed3  libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfo.java
! e3ed26063dbbba59159e3438c9435f54  libjava/classpath/org/omg/PortableInterceptor/ServerRequestInfoOperations.java
! 3f2580dcb24541a205c0fdeb7548755c  libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptor.java
! 4d34ed3c6b9d93aacc08238237c924d7  libjava/classpath/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java
! 9816ed6a73c8ff4e503e9ce9f94b5679  libjava/classpath/org/omg/PortableInterceptor/TRANSPORT_RETRY.java
! 1f6eb8bfbcde7dbe6d20a00cde9e69c4  libjava/classpath/org/omg/PortableInterceptor/USER_EXCEPTION.java
! 4ac8b360267b1e49ee5dad19e073589d  libjava/classpath/org/omg/PortableInterceptor/_IORInterceptor_3_0Stub.java
! 6ca6bd9a788b0212f09ce36218cbff4d  libjava/classpath/org/omg/PortableInterceptor/package.html
! 50c58a0f8ddc880ff559dea0029c76f6  libjava/classpath/org/omg/PortableServer/AdapterActivator.java
! b847b7ab93b9b439303f4298d98f280a  libjava/classpath/org/omg/PortableServer/AdapterActivatorOperations.java
! dd2c52142c071e69a5cede9440ae83cf  libjava/classpath/org/omg/PortableServer/Current.java
! e593de406668a03f9feab194fd510580  libjava/classpath/org/omg/PortableServer/CurrentHelper.java
! 861426e6a74832f77d67460b19e499c2  libjava/classpath/org/omg/PortableServer/CurrentOperations.java
! ec241498b5eab43bd43bc562787a62e2  libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContext.java
! cd2e11b8e1cae3da12d31fda89a11175  libjava/classpath/org/omg/PortableServer/CurrentPackage/NoContextHelper.java
! 36edcd81aed099b926625f92241f8c39  libjava/classpath/org/omg/PortableServer/DynamicImplementation.java
! 9edffdd476515c66510cbbcf24c16b8c  libjava/classpath/org/omg/PortableServer/ForwardRequest.java
! b4d1dd2720a4426e521a3d32c30fd679  libjava/classpath/org/omg/PortableServer/ForwardRequestHelper.java
! 93cffd3e15569471b42b5648cd356976  libjava/classpath/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java
! 7223a2cb979e92a2193ac671667c622a  libjava/classpath/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java
! b5ab23c419f819a704c1851f580d633f  libjava/classpath/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java
! b028dfb3725a2025a8f81eaf2e331140  libjava/classpath/org/omg/PortableServer/IdAssignmentPolicy.java
! b22b3c41499ca3cd9afa3ce6d8fe813f  libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyOperations.java
! cd45b47108f9df761422e76f5f4a27e6  libjava/classpath/org/omg/PortableServer/IdAssignmentPolicyValue.java
! fcefbcd9c75a3f13ad2fb9e7f11194f7  libjava/classpath/org/omg/PortableServer/IdUniquenessPolicy.java
! 87718aaa0ec2c2f751b5cd71c0e7cb24  libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyOperations.java
! 001a8df7a609f83c42f548ba30861099  libjava/classpath/org/omg/PortableServer/IdUniquenessPolicyValue.java
! 0d4683f9dcdd0103632486c5f397ddd7  libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicy.java
! 18b0458b4c048f869f2286d95dd271aa  libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyOperations.java
! 73c9e27536d4f1075c343e0f470833be  libjava/classpath/org/omg/PortableServer/ImplicitActivationPolicyValue.java
! 0bc5289eaf90db8ca8ec6d38587f8b99  libjava/classpath/org/omg/PortableServer/LIFESPAN_POLICY_ID.java
! aa645436ce2e346dea228d33feb248eb  libjava/classpath/org/omg/PortableServer/LifespanPolicy.java
! 9c83c5401fa876b0e534fe738f6f1f8f  libjava/classpath/org/omg/PortableServer/LifespanPolicyOperations.java
! 40cdc30cd6052d759d5aa31ae7b1ca2a  libjava/classpath/org/omg/PortableServer/LifespanPolicyValue.java
! 255c7672a4586e7551f505191adc24ca  libjava/classpath/org/omg/PortableServer/POA.java
! f603a460375f33442b133512c4c27a2b  libjava/classpath/org/omg/PortableServer/POAHelper.java
! e81198cbb1012ad518b31868d38887bc  libjava/classpath/org/omg/PortableServer/POAManager.java
! 1384d09af3fd85a7b61973af41fa86b3  libjava/classpath/org/omg/PortableServer/POAManagerOperations.java
! 8bb2370b9237e2af2cabadfe146f0aa1  libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactive.java
! a2c3b60a7e23af57c4bbcdea19da88ab  libjava/classpath/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java
! 14a5697edad8092a0159bd631a13ef6f  libjava/classpath/org/omg/PortableServer/POAManagerPackage/State.java
! 1238850567fa7d815c2fb3f9753f93cf  libjava/classpath/org/omg/PortableServer/POAManagerPackage/package.html
! 4928e83c902ff71936e67ecc48f4558e  libjava/classpath/org/omg/PortableServer/POAOperations.java
! a2783397e02325f011fa2b3466a0c849  libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java
! e55c93348cdf07a5ae10deda8d87a284  libjava/classpath/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java
! 91640538009d991f651d79930adb8644  libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistent.java
! 5d6ca5d5049c1b238fb6ca7ad9b8a588  libjava/classpath/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java
! 3280b37d14c8d2a91ec573840cda8cff  libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicy.java
! 3416dfca0a6cff5fb50ecb5346372b03  libjava/classpath/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java
! 06a23731251a4b3b21494e907296852d  libjava/classpath/org/omg/PortableServer/POAPackage/NoServant.java
! 855498221546fd81255d07cd35063e09  libjava/classpath/org/omg/PortableServer/POAPackage/NoServantHelper.java
! a848bdad048a9857e44c3ef78059bef6  libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java
! cc8f2123f809af16abd4b3c114a399e2  libjava/classpath/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java
! c06406e0fbbec0950a1737290bbe7c3d  libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActive.java
! 2d8b1c98bb81264c019c7b3a5168de76  libjava/classpath/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java
! 7888dae8879f877ea1edff8ffd2a878a  libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActive.java
! 3c037706b3faf22f28a198d14b6e10dd  libjava/classpath/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java
! 9e16e132d7ec40af7f73139f9890b9c4  libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActive.java
! 54f60454fbdd0112cf4c53d45c48994c  libjava/classpath/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java
! 14b118d5cfa87e8195f4ba3224adf610  libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapter.java
! 900cd4963689dc9c96e274e432f0988b  libjava/classpath/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java
! 2f1fdcef108f36b9772c6cf8d1bc48fd  libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicy.java
! fc4ecb525b396d8f06c42c53193079e8  libjava/classpath/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java
! a3e1a97220b9711648504c2f108efc83  libjava/classpath/org/omg/PortableServer/POAPackage/package.html
! c1875e5d6ba77f74878e86d498dc871a  libjava/classpath/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java
! 54bb39da1953c604161b97752d95e94a  libjava/classpath/org/omg/PortableServer/RequestProcessingPolicy.java
! e77740db76d71902bfbd8ad34f6c14ed  libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyOperations.java
! 5fab2704ea1fd5cb324f44a128c51ceb  libjava/classpath/org/omg/PortableServer/RequestProcessingPolicyValue.java
! fa9792ace268d9badbe533e94df6ec08  libjava/classpath/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java
! cc2507c9dcb415e592feb0d59ed6e1ae  libjava/classpath/org/omg/PortableServer/Servant.java
! cd51de484ef8551e6f253186ee182aae  libjava/classpath/org/omg/PortableServer/ServantActivator.java
! 8d0e382da6db11f1dc13c40f8992139f  libjava/classpath/org/omg/PortableServer/ServantActivatorHelper.java
! bcee79ea972225570b03e94a758e9497  libjava/classpath/org/omg/PortableServer/ServantActivatorOperations.java
! a4903de1fd801e4a82387a9578638307  libjava/classpath/org/omg/PortableServer/ServantActivatorPOA.java
! b63d6b3ab7d429a13a7e327f313287bd  libjava/classpath/org/omg/PortableServer/ServantLocator.java
! 84c1db3901da6442dddd58357c62b843  libjava/classpath/org/omg/PortableServer/ServantLocatorHelper.java
! 12e863f4b8c9e30722ba6ba481b0ed3c  libjava/classpath/org/omg/PortableServer/ServantLocatorOperations.java
! 8e6af67cd28ef291d89c1ce23af5c7fc  libjava/classpath/org/omg/PortableServer/ServantLocatorPOA.java
! d0339574e4b01d57dd3cceb6ea5f851d  libjava/classpath/org/omg/PortableServer/ServantLocatorPackage/CookieHolder.java
! 3804fee66456e434bffdfe85ca5308f9  libjava/classpath/org/omg/PortableServer/ServantLocatorPackage/package.html
! 8d5fa010d7bc6d48cc3a3b4414914205  libjava/classpath/org/omg/PortableServer/ServantManager.java
! 91fc7b6cd1f97676f84feb6becc79083  libjava/classpath/org/omg/PortableServer/ServantManagerOperations.java
! 1f8365c5d6a668c355c3c485fb51ba37  libjava/classpath/org/omg/PortableServer/ServantRetentionPolicy.java
! 6b27cdb6fd0ec90f2117948f12d97cea  libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyOperations.java
! b830c255e8f7605e9ca069dff377873b  libjava/classpath/org/omg/PortableServer/ServantRetentionPolicyValue.java
! 4654b4a872a74e9aa984353b9bee8a4f  libjava/classpath/org/omg/PortableServer/THREAD_POLICY_ID.java
! 4bad6d3563a17a8b54ae57483d4ac9a4  libjava/classpath/org/omg/PortableServer/ThreadPolicy.java
! f0f0804eb8ffac20e42aacb0f1e1244f  libjava/classpath/org/omg/PortableServer/ThreadPolicyOperations.java
! 1e84448f802a831a66a22b4031912794  libjava/classpath/org/omg/PortableServer/ThreadPolicyValue.java
! 0ff57ed01c36282cfad59cc9e47fd2d2  libjava/classpath/org/omg/PortableServer/_ServantActivatorStub.java
! 7e7d01b7d42657d4c96c88cd9c3a814e  libjava/classpath/org/omg/PortableServer/_ServantLocatorStub.java
! f225e4d0c127aba2b6f3e74da1d4913f  libjava/classpath/org/omg/PortableServer/package.html
! 0f55e2f8f7f0976b7792c4de2b362107  libjava/classpath/org/omg/PortableServer/portable/Delegate.java
! 005327b926ed68700306c3d1bb2485e0  libjava/classpath/org/omg/SendingContext/RunTime.java
! 69b00ef38f5bf63f2102e24d01f9feb5  libjava/classpath/org/omg/SendingContext/RunTimeOperations.java
! d41d8cd98f00b204e9800998ecf8427e  libjava/classpath/org/omg/SendingContext/package.html
! 01a36d2c7b5fed81b0e7f14c3ef3f2a2  libjava/classpath/org/omg/stub/java/rmi/_Remote_Stub.java
! 811bcd60e2cf38d9296ca5089ccab273  libjava/classpath/org/omg/stub/java/rmi/package.html
! fc9dd82c21a2db50c9cdb2fd8bf47094  libjava/classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider
! ecc733d4497a677117a532a306a6dfc2  libjava/classpath/resource/META-INF/services/javax.xml.parsers.DocumentBuilderFactory
! bdc936b2976a84975a0f9d5a183ab3c8  libjava/classpath/resource/META-INF/services/javax.xml.parsers.SAXParserFactory
! 457a8e5b612afd364a7d12c3d67cb936  libjava/classpath/resource/META-INF/services/javax.xml.parsers.TransformerFactory
! 1b6e8c26a39c60548ad6c7c5b9e2f89d  libjava/classpath/resource/META-INF/services/org.xml.sax.driver
! cad51c3713baaa941a9b438646fa1f9b  libjava/classpath/resource/Makefile.am
! b55d42752bce6bd7eee847562aefc797  libjava/classpath/resource/Makefile.in
! b1b378b5efd37121fb14c0299ca29e01  libjava/classpath/resource/gnu/java/awt/peer/gtk/font.properties
! 56acd945d4d2409ffaf600ff430f84ec  libjava/classpath/resource/gnu/java/locale/LocaleInformation.properties
! ec4056111ba760dfbad4ea98556cc859  libjava/classpath/resource/gnu/java/locale/LocaleInformation_aa.properties
! f4cf579ee1ef589434da8ea323ebd1c4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_aa_DJ.properties
! 5e554d9d97e363b1cc6e082334afb92c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_aa_ER.properties
! 6e96b36d064335b1ce4bf32169e480ce  libjava/classpath/resource/gnu/java/locale/LocaleInformation_aa_ER_SAAHO.properties
! 404fe09d1b30e1720c702cb1c58fc369  libjava/classpath/resource/gnu/java/locale/LocaleInformation_aa_ET.properties
! 17ba77d6a72d69b3b00dc14efbbca326  libjava/classpath/resource/gnu/java/locale/LocaleInformation_af.properties
! a45f8f58df4119d427abb65f71bb4377  libjava/classpath/resource/gnu/java/locale/LocaleInformation_af_ZA.properties
! a8d41b92ee4ae16b0a8528adea9d1ab8  libjava/classpath/resource/gnu/java/locale/LocaleInformation_am.properties
! f9584bb33d58b8f4421c53dbfa36175b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_am_ET.properties
! d72657f36aea3bfce7bc471bc3dd15c0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar.properties
! edeb0b3963380df94aebb763ab462715  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_DZ.properties
! a39e263069b2a67be22f9ce4a527993d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_IN.properties
! f40efb231c8933517f9c843e5ca5c8b7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_IQ.properties
! 8d5c450dee5400619c0d31ae272a7d54  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_JO.properties
! 6a5a7d0c3713ad5f08b68e469dde9ee2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_KW.properties
! 79e6796384275c822656410787a75923  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_LB.properties
! 8cd20d7d60ec5abce487e45e5d191639  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_LY.properties
! c0e43d0e643250a5ebaf55d856db7783  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_MA.properties
! a6f12a16b4f409151d44d8d0026cdb01  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_QA.properties
! 5a4e68967b2ea1395e509c5be5c6cf1d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_SA.properties
! 3ee4eb569cb4bd6c863b19280b6fe575  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_SY.properties
! 615fbc5016ba5a1946a4c5bd5b00bf20  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_TN.properties
! 1fb708bd57a3cd320bcacd469a3abcc5  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ar_YE.properties
! 117eb1189ebbc453922b08950812cb8f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_as.properties
! c9339a5e58670c79b5eb9469f663c2b9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_as_IN.properties
! 0b5cc8c4f45ba7106ac4458fb7eeaf45  libjava/classpath/resource/gnu/java/locale/LocaleInformation_az_Cyrl.properties
! cf1fce2c72bf9e0cad57d9385dafcbfb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_be.properties
! 7aee5ca324228247fd80f0bbae6e62b7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_be_BY.properties
! db9557fe3041a7f78f1028d7a8235f22  libjava/classpath/resource/gnu/java/locale/LocaleInformation_bg.properties
! d78a262a6876a3688c9a8909f1ba878f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_bg_BG.properties
! d3e5cb0a7fecccf03ea56852e3c2877d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_bn.properties
! aca70e6a873dd71f85ee8b574a225f18  libjava/classpath/resource/gnu/java/locale/LocaleInformation_bn_IN.properties
! 97aa38487567ffc0809140f1251614c8  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ca.properties
! b88ba934cc34992ad81208f71343206d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ca_ES.properties
! 2b0d047b3af4145e3c51e72669cdbeda  libjava/classpath/resource/gnu/java/locale/LocaleInformation_cs.properties
! a2eb02817706c7d1144c38dac4eb4b96  libjava/classpath/resource/gnu/java/locale/LocaleInformation_cs_CZ.properties
! 759bb276592ef9cfd497fb763bd56213  libjava/classpath/resource/gnu/java/locale/LocaleInformation_cy.properties
! 016458b0bc552a29624f1b286bbd47d1  libjava/classpath/resource/gnu/java/locale/LocaleInformation_cy_GB.properties
! e13b65262ac255757aa40029731c51f9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_da.properties
! 7dc53c23e10da30cf40235dff0fd4dac  libjava/classpath/resource/gnu/java/locale/LocaleInformation_da_DK.properties
! f4f9c95b3ae56169b8b4a176ef34464f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de.properties
! cb0131db0697fa9ff5a21885422ca218  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_AT.properties
! 24f857caeedbbae043f223b7c63cdde2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_BE.properties
! ad33b205fbf93d33d32dae9500e2d179  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_CH.properties
! db225d44c219c114b0f0a98a05ec19b0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_DE.properties
! bbb8799a38722a5cafcca35ffdee71bf  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_LI.properties
! 24c3771c3ddfec1ed05d6af2c299cde2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_de_LU.properties
! c6cdcc125f0ada48657bff2d5bafc3b0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_dv.properties
! 05d7604345886a8d4278e13f684ebc5e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_dv_MV.properties
! 0107782f3550c9fd15ca17f7ea30670e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_dz.properties
! 679d2f90d126dbb76d3872adddc707b7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_dz_BT.properties
! 195d7b96f1aa17eeb9a515a8aa6f85dd  libjava/classpath/resource/gnu/java/locale/LocaleInformation_el.properties
! daacf97c17fcefb55dddae8904a8cf8f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_el_GR.properties
! 49101e47188b3f762e7ece6f772d218d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en.properties
! d4856db833a3338eafdaf4a4dd844635  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_AS.properties
! 174c759a937f6cf8fdeea1067d39e5b4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_AU.properties
! cb00497c16821d5c8a088ea2721fd6a2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_BE.properties
! 6d747ea3858696d3d7ddc9fa515cffea  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_BW.properties
! 7135d44f999b1fbb49a05c63fac60860  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_BZ.properties
! 04d6a93c87a03e37d31bcac72feb1d0c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_CA.properties
! ab0163bf1188b04c7eb7346690bff12f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_GB.properties
! 05536a4a218bd458f7c6953b36bf8249  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_GU.properties
! 6c6a2d77c67f24b10ca5ee179a677460  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_HK.properties
! 2863d01498d88b0011b3ddce9f31e7bc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_IE.properties
! 97a8bd746bfe809293642d71e98c7ee1  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_IN.properties
! 648615a2eb9fbfd66aa84db8ba6228e9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_MH.properties
! 0cc0b781581e9ca2e212923b24d75397  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_MP.properties
! 2625a212b585ba46c663b95777018e1a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_MT.properties
! cda4039b26761c57e001676aff876304  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_NZ.properties
! f37bb83bb8ae20f26fd84c3aadd3ef25  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_PH.properties
! 81781554f271b82c80e40ecb16d9e186  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_PK.properties
! a51f4e74a232acffc68edeb4c8c85869  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_SG.properties
! d44544d06b5f7bf6e5b5e5ae61083f51  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_UM.properties
! ecd38e54414e41ccd86f87922d4e553a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_US.properties
! fd575b32c7bb0c125bb9d608904fd2bc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_US_POSIX.properties
! d78fade2d95b37a791127e46b63e3bed  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_VI.properties
! 342e39b678bdaf9831a716cb09491e42  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_ZA.properties
! 09a71da601abf723c5ab68e5919a126a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_en_ZW.properties
! 60deed680825154595b11bff6a90e899  libjava/classpath/resource/gnu/java/locale/LocaleInformation_eo.properties
! 098e44957e8a1dca17c8337b2786771d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es.properties
! c46ebc43ed7e710a069a590af9d6cd40  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_AR.properties
! 0899c107cf0b6342c99baadd24a15493  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_BO.properties
! c3af362f50a4cbe4e0cdd99c6349d3d3  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_CL.properties
! 1aa0008b9638ed9a335348443a450a53  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_CO.properties
! 45f709be72f2b27d5b43999db45db031  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_CR.properties
! 7d0d6915e395cc31881cc9251a917085  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_DO.properties
! 2e3f1b95ad45d46af4ac97310366bc44  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_EC.properties
! 729385dae71a0257f420e15fd3b57771  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_ES.properties
! 5be263f44e7603b33e1d1098af5bea11  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_GT.properties
! 0c39d0d52490b318119225f3393d5763  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_HN.properties
! 3b59e95d4dc2be00d706f16106551fe1  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_MX.properties
! 011ec4f3900c8494cb85cb2a4b1c1ef1  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_NI.properties
! d520c39a66cbd6222a2c81a13a79e7a7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_PA.properties
! d3fb1ff1ccd58a9de63ad156300a801a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_PE.properties
! 357cee161f87b8b73cfd9b58c2a5c45e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_PR.properties
! 21aa44f299ad282857e7ab1baaad7a2b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_PY.properties
! 6871d8c04275464ded68a0a3059c5c0a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_SV.properties
! 4dfb86970f4424bd01baebf0b721106e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_US.properties
! 803988192181aa61717db7b02febf53b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_UY.properties
! 5e18b3fbb1cee08fe597b648e9433b08  libjava/classpath/resource/gnu/java/locale/LocaleInformation_es_VE.properties
! 7b1867bf163f91a37140aeb9dea6ec45  libjava/classpath/resource/gnu/java/locale/LocaleInformation_et.properties
! 32751cfc2282982f93863b57c081bb5f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_et_EE.properties
! 7246a686277de0554ff745f875a592eb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_eu.properties
! defdcf57f6a828b6fcbcd4abce1a2d0a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_eu_ES.properties
! 8845827a4917b6a604b2bae757808219  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fa.properties
! d68a8a4ec80f2dda82f204072426a537  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fa_AF.properties
! bf18c775db98a8274c884365345f018e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fa_IR.properties
! 37f5218bc177f9f2a93f14781e34a2d6  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fi.properties
! a00f4fd6d75facc0fa64af63563e55e2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fi_FI.properties
! 3947e64f03b659684d15f92bb926212a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fo.properties
! 6e563fe45eb01115b1f7969e2f0550d4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fo_FO.properties
! 05a8e6fb489e247d1bd18b2b7be51318  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fr.properties
! 31879f6e58554ef994468f7442ce003c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fr_BE.properties
! c592ef9b9b45b3527643a6cc0933f14b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fr_CA.properties
! 9a0094f6891c45dfa4c7b87a8244a441  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fr_CH.properties
! a6ffc4d69dec23fd51d2ddced4f03fae  libjava/classpath/resource/gnu/java/locale/LocaleInformation_fr_LU.properties
! 960eb024a6fad26074d2cafd410fd70d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ga.properties
! d4f9a715adb2ab9750fc0a5ba7e2ffc7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ga_IE.properties
! f3a0b149bf21e1e9a986fee49495235b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gl.properties
! 64d6f953aef755a33299165dc82fd32e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gl_ES.properties
! 06eaaf45412c64847c9269c8afc2a8ad  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gu.properties
! 6e3cf8f50627631e082f07191e0e48a9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gu_IN.properties
! c42048114fc4853d78327dea10d4de0b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gv.properties
! 37c3924599ee447dd0a5dff372b4cbba  libjava/classpath/resource/gnu/java/locale/LocaleInformation_gv_GB.properties
! ade056ef549d1006d1f69c18ecdc2fa4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_he.properties
! 292bf8fffcbc69e38feea568ffe882fb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_he_IL.properties
! 343da84bb393542101b4baeeb1ca59fc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hi.properties
! c0bff79efc9958aa7f92e7aa69beed98  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hi_IN.properties
! 0bff7544c2e0b6bcb4cb7ad2989121f6  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hr.properties
! dc2f0a190320ab33ca019cc06cdd68ae  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hu.properties
! 056b13720c2bf98af2aecc1da394c7a4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hu_HU.properties
! 5ed5e0ead78e1922e3a56416dd4b1beb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hy.properties
! bae7ed54b6664801ef1f0e8902857235  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hy_AM.properties
! 83ec7b2f751186b7be7d036e6fde181b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_hy_AM_REVISED.properties
! afe0dd23bdd8d21f435d1fd14aaf2dc3  libjava/classpath/resource/gnu/java/locale/LocaleInformation_id.properties
! 76dc38815d0850278a7a48bd649b93cb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_id_ID.properties
! 7285c130a53f574f928bc83a2d5046a3  libjava/classpath/resource/gnu/java/locale/LocaleInformation_is.properties
! a81f3fe7e264e4fec4a9bf82b9fec131  libjava/classpath/resource/gnu/java/locale/LocaleInformation_is_IS.properties
! e0c4582d67b95d1c23345ed59e318b89  libjava/classpath/resource/gnu/java/locale/LocaleInformation_it.properties
! 419c6b8b881e2bdfa859557ef7ab9244  libjava/classpath/resource/gnu/java/locale/LocaleInformation_it_CH.properties
! 3ec096f8bb6770226093f2eae0baf4cc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_it_IT.properties
! b2fc106c237a3c0a3196f79ced41e413  libjava/classpath/resource/gnu/java/locale/LocaleInformation_iu.properties
! 8aecdd364272349affd1028ce17d3c5f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ja.properties
! 67472587831e1a5d105a5b4f9ab15898  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ja_JP.properties
! bf10b03ef9f9e1c27d892629cbdba789  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ka.properties
! 4cc5694b319ef4f5454bcb3663d4b3ca  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kk.properties
! 2f908da73211401d0e659bff1fad1146  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kk_KZ.properties
! 9ffbac972efa8b423d890c9369402f18  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kl.properties
! 59360e39965ca3787269f2be0370cf3d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kl_GL.properties
! 3059f36a38bb41f7bda3b1728e496596  libjava/classpath/resource/gnu/java/locale/LocaleInformation_km.properties
! 86ea466969fcd9c5b391fd8b0e0f7704  libjava/classpath/resource/gnu/java/locale/LocaleInformation_km_KH.properties
! 7c1e33f113c5d5b1b7bfbcfed1d3ea9d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kn.properties
! 77efb112fdd3cd15057da89568398ea2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kn_IN.properties
! 82f819fc084fcab98d8f66f64af29e40  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ko.properties
! e84793561bd653665a75375857a5e15a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ko_KR.properties
! 03d22f033c9994773b49bdb2b0cc7056  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kw.properties
! 29e2c82ed64cc64bba4799821b9dca7c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_kw_GB.properties
! d70f9fcd1d277bcb5e39b3a75af7fd74  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ky.properties
! e2ea26bf400bd19ed2e29189cdeb6869  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lo.properties
! 3809c0b7e76fd5d64529ca0a22168f66  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lo_LA.properties
! d4b89e7e2366fc7c99c15ce7c175c31a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lt.properties
! 62b9c34e9259de97927f00c7593dd425  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lt_LT.properties
! 2a81a824821927c419b32c24256484ef  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lv.properties
! 5e1c120f84a61a65227186f068b900c4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_lv_LV.properties
! c12f90a9a5e0619a657aeaf2fde7b961  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mk.properties
! 6fcf427f59d5751cb1537edd051046ca  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ml.properties
! cbbfea3e5648a3ad889302465fa2cf03  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ml_IN.properties
! d51e188ccd6f7fcbbeee39c4904b3678  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mn.properties
! 950115c844aab1c2068d3568faa6d069  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mn_MN.properties
! ce4a91ceb807adef14754df60338c62f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mr.properties
! f4606c4d6286a24926f42bdc10fb9f4f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mr_IN.properties
! 7406ac052a0b406f8cb3fac01835be67  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ms.properties
! 09d71d160a7abf4ab3b5c78910fecd7c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ms_BN.properties
! ff16cc024fbe409c1391cb927c863d9a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ms_MY.properties
! 470ccd26639839b3cabae5b8224b585b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mt.properties
! 3ccbb08df1f8959eabf9006f4bafff2e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_mt_MT.properties
! 88fcb8629fcc96923388555ce85a30b0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nb.properties
! 1aec4024dcb544fa0937c88a8a21c779  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nb_NO.properties
! 80b387fa62cf7bb8ae834b187c69753c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nl.properties
! b6ef75b864095dad868ddf48841e2b4b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nl_BE.properties
! 2678a2d0a8301aba03a07ae8a733d37f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nl_NL.properties
! 7e5aa65bea01ec0cbc017715c26d9084  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nn.properties
! b6e5c612bf8b70efa7101eb2984d4c7a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_nn_NO.properties
! 8ccfc27f24fb8e4994f96e8cbe252b29  libjava/classpath/resource/gnu/java/locale/LocaleInformation_om.properties
! 9b1971eb3f9fa076096ce8c8df6949f0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_om_ET.properties
! f49a70b61a4003bca9b9098fa5a9e15a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_om_KE.properties
! 2b7afbfb7d86ffaf7b570aaa3018d235  libjava/classpath/resource/gnu/java/locale/LocaleInformation_or.properties
! 1ad2caf6178c5cc452b6440b837f2619  libjava/classpath/resource/gnu/java/locale/LocaleInformation_or_IN.properties
! 8341e71e5e3561f5c4c6a0406804b969  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pa.properties
! c60d79e6d82a517ba0375d3a4e39229e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pa_IN.properties
! 069837cfce14e2c548b1d47b4d9eb44d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pl.properties
! 4b01491c4fd3c52bd00d99dcec9946bc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pl_PL.properties
! 4e3be5a9b526efacdcd8f328dc1f698e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ps.properties
! cf3ad3fd6ffc7d2025e995970ed86ac5  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ps_AF.properties
! f567ab0da7149e0c3726073c45c30b84  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pt.properties
! d0412f1d721cc4b33743a07aa8c2adad  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pt_BR.properties
! b82e2efaf252dae6fb6d5a28852277c6  libjava/classpath/resource/gnu/java/locale/LocaleInformation_pt_PT.properties
! df546fc07f0e30ce8cf1d8a24c5ac9f9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ro.properties
! e1aba04163458d7fec5be81250f1bd41  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ro_RO.properties
! 2e515819835cee4d6834208bd91c8aa9  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ru.properties
! 4dafc8149c79240ef7c48f3330e7e26f  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ru_RU.properties
! e13d911cb2e92e13d78f039e53302a2d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ru_UA.properties
! 29918316e4335a3c215f259f97390a97  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sa.properties
! a71c6d361bc3fc918c49ef3a6d49b849  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sa_IN.properties
! 321d3c4dea87b6495d5e86e753e19839  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sk.properties
! 6f42a641527772cab74ebae9cfe2d336  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sk_SK.properties
! 0b539912d4e1145418082a9e20ddc13e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sl.properties
! bdb704f7bfed54e2d3ce64560021a6c0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_so.properties
! a7e33aa4f2103a8fb12e2cae16ba9acb  libjava/classpath/resource/gnu/java/locale/LocaleInformation_so_DJ.properties
! 165df24d6faa4563012ba4e03d85b8a2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_so_ET.properties
! c1a0c11dc2fdcad004b0af3c4722d707  libjava/classpath/resource/gnu/java/locale/LocaleInformation_so_KE.properties
! 40c062d3b2d0050a63d9c37156dec146  libjava/classpath/resource/gnu/java/locale/LocaleInformation_so_SO.properties
! e2c83e8dbfe65ee6fa3f7b912265488d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sq.properties
! 373635bef597f541ec3596f7b8df6fe7  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sq_AL.properties
! c91bd29b72fb485f33e2d5c57063420d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sr.properties
! 802ce44236bad656ba27b88ccfc55ec2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sr_Latn.properties
! a12dd4ca09f2191479209c60de31651b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sv.properties
! 9f95c0377dec4b298dafc28602cf0702  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sv_FI.properties
! eaf56b0688d26153448e09281e2fbff4  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sv_SE.properties
! 1e6e70b98e8b9e72ef7b04f25a7373ee  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sw.properties
! a8e5606f7d41951904d94b8df50503de  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sw_KE.properties
! dd3655791d9c874fb1d025fe6ffff7e6  libjava/classpath/resource/gnu/java/locale/LocaleInformation_sw_TZ.properties
! 7bc8132a2471b866db3726bb3e14ee07  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ta.properties
! dfa774cdbef0592a5b60903f5a7deac5  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ta_IN.properties
! 40d8eeb62e9f0395c06891212fcf7d2d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_te.properties
! 5a2ce8d05a660a76c7f61689aef71fb8  libjava/classpath/resource/gnu/java/locale/LocaleInformation_te_IN.properties
! 0568ac3db568dc22f8aae41349fe1d0e  libjava/classpath/resource/gnu/java/locale/LocaleInformation_th.properties
! 82adc6d96c651364f611cb97967f088d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_th_TH.properties
! 60729d6e58ce46c645fca1f0a7aeb448  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ti.properties
! bea85be08a69a238ba9b2be558ac4002  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ti_ER.properties
! 541c98ad38ad86bcf1a82cb053aa978a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ti_ET.properties
! 8596bb845e4318efad4d60bc840c60e5  libjava/classpath/resource/gnu/java/locale/LocaleInformation_tr.properties
! 58a917209193ea67e635f76372eedd16  libjava/classpath/resource/gnu/java/locale/LocaleInformation_tr_TR.properties
! 075105eff557b0e59e829ba850eff5c0  libjava/classpath/resource/gnu/java/locale/LocaleInformation_tt.properties
! 5f2f1644e2a4113dac006b6ed9f9de07  libjava/classpath/resource/gnu/java/locale/LocaleInformation_tt_RU.properties
! 523452bb0971c898caf67d0b73677c54  libjava/classpath/resource/gnu/java/locale/LocaleInformation_uk.properties
! e2d92b351e3f2f5fbe3350702a18b69a  libjava/classpath/resource/gnu/java/locale/LocaleInformation_uk_UA.properties
! 53c0b94ba3930f99698530b2b13c87e2  libjava/classpath/resource/gnu/java/locale/LocaleInformation_ur.properties
! f4e10e4a148b969c0e80f68d13da92f1  libjava/classpath/resource/gnu/java/locale/LocaleInformation_uz.properties
! 1c3296df9fad02f392a28f6c4f0e512b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_uz_AF.properties
! 9d4cc7fa13e7d301bad377c5f201fdbd  libjava/classpath/resource/gnu/java/locale/LocaleInformation_vi.properties
! 9d04ad3c569376753465bb97132cc3bc  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh.properties
! 8b89dc57cfdee902bd4870be6574cce6  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_CN_Hans.properties
! c3d86dc75e1b903c10a45380114951a5  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_HK_Hant.properties
! 7345155fc2d7a558a464ed4eaa588d8c  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_Hant.properties
! 7d5eed2ed952f8cdfe6163c32f18280b  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_MO_Hant.properties
! 1c1bce7e252a3cf2826be4d888ce0d41  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_SG_Hans.properties
! 780475c9997b6c8e3b5b83ca96eb017d  libjava/classpath/resource/gnu/java/locale/LocaleInformation_zh_TW_Hant.properties
! c69c767f20649fa4464972326740f26e  libjava/classpath/resource/gnu/regexp/MessagesBundle.properties
! d2e09c777164ba510e4062b75308482b  libjava/classpath/resource/gnu/regexp/MessagesBundle_fr.properties
! 9a253e2fc234435ec06931f89645ce99  libjava/classpath/resource/gnu/regexp/MessagesBundle_it.properties
! 3c57a30106d342871bc8d12b350006e1  libjava/classpath/resource/java/security/classpath.security
! d2e275f2c4869c908e16f70ed62b971c  libjava/classpath/resource/java/util/iso4217.properties
! d0d0a0e923a2a840a5a12e3605efb8bf  libjava/classpath/resource/java/util/logging/logging.properties
! ddc4fbdb92341fefa981794f8ac4d011  libjava/classpath/resource/org/ietf/jgss/MessagesBundle.properties
! b7822de83487820df683f01003c0acc5  libjava/classpath/scripts/Makefile.am
! 34424b7587082e13570d182ed69b6958  libjava/classpath/scripts/Makefile.in
! 3a1bde71bb65110863bac8cdb8fef920  libjava/classpath/scripts/check_jni_methods.sh
! 2395322acd11ec2c3be09677b0eecd4a  libjava/classpath/scripts/checkstyle-config.xml
! fdf8e1d52721b348d987bc2d8505d805  libjava/classpath/scripts/checkstyle-header.regex
! a54b0d5dc3dfb674a67f251913b71fcd  libjava/classpath/scripts/checkstyle-suppressions.xml
! 3321ea7c4215dda401ac1a1ed2f33cf2  libjava/classpath/scripts/checkstyle.css
! 99bff90356de3b03520d66069a0ff662  libjava/classpath/scripts/checkstyle2html.xsl
! 74089dc7a3afea9fa5b2730801eb3d0f  libjava/classpath/scripts/classpath-build
! 7faec20700d1bf0b6de0f6c30669bdf9  libjava/classpath/scripts/classpath-daily
! 1e62bf021be562329cb7f63327895e5a  libjava/classpath/scripts/classpath.spec.in
! 6194210f04337c23bc0984cc9c1e1b7d  libjava/classpath/scripts/eclipse-gnu.xml
! 6f1c971442ff116de2b2b8d3d87c0c68  libjava/classpath/scripts/generate-locale-list.sh
! 0e4e6ac3e475e22669713e6d0efa693c  libjava/classpath/scripts/jalopy-gnu.xml
! 515a76c60db847dba91f919420171243  libjava/classpath/scripts/japi
! 52216d2fdc6b6b9cabbe5d2b9ceb6467  libjava/classpath/scripts/kissme-mauve
! 6850dff5e18c8077607539f52a44a232  libjava/classpath/scripts/loc
! 24f2a7c1e5755399e2e4e362c1f72634  libjava/classpath/scripts/patches.pl
! d9e37064451eeeba871b4f67ce8d78bb  libjava/classpath/scripts/timezones.pl
! b53ebc9e85ee794efaca3758c79fc599  libjava/classpath/scripts/tzabbrevs
! 098833eb15d53ba0beca5222eeb3b3f8  libjava/classpath/scripts/unicode-blocks.pl
! d55959d7cf1687a8f4ea76c1ab7d7c74  libjava/classpath/scripts/unicode-muncher.pl
! 475e561c2b07a11b955dbe58aa8a0986  libjava/classpath/test/Makefile.am
! 87690248a98b3427634a71ff0df2d4ce  libjava/classpath/test/base/OutputClass.java
! 2e910b5fef3fba17d0f1dad47b10cc3c  libjava/classpath/test/gnu.java.lang.reflect/Makefile.am
! fbd19b0bdb7acf35ced24b76672d484c  libjava/classpath/test/gnu.java.lang.reflect/TypeSignatureTest.java
! 80da4f46734dcbce56e12b132733bd7c  libjava/classpath/test/java.beans/DescriptorTest.java
! 195eb17acb729288c7777cfbd9b1ca9e  libjava/classpath/test/java.beans/IntrospectorTest.java
! a46d59386c9d75ff23764969f20f257f  libjava/classpath/test/java.beans/PropertyChangeSupportTest.java
! 209f3c4a2dd64aec0799ed683b674a46  libjava/classpath/test/java.io/BufferedByteOutputStreamTest.java
! 327b505acc6e8f70c384021d6794e762  libjava/classpath/test/java.io/BufferedCharWriterTest.java
! f98fe92aea2cfff8968e9fee2ccc0657  libjava/classpath/test/java.io/BufferedInputStreamTest.java
! 1131738d2247495429e3452c5a56e7e1  libjava/classpath/test/java.io/BufferedReaderTest.java
! fdc82fe7279ed215e753ac596086cc88  libjava/classpath/test/java.io/ByteArrayInputStreamTest.java
! 516e9a869ed7d0e0c1c22c26cdbc7cfa  libjava/classpath/test/java.io/CharArrayReaderTest.java
! 51b5f41717680a3b1b0fc57683512fb7  libjava/classpath/test/java.io/DataInputOutputTest.java
! 3c4e7c9ca4e2f7b5edc75bc443d60667  libjava/classpath/test/java.io/FileInputStreamTest.java
! b8de245e52a9897433ee483efa925726  libjava/classpath/test/java.io/FileOutputStreamTest.java
! d9b353960bb62d804c6f82691c75fe8a  libjava/classpath/test/java.io/FileReaderTest.java
! 3d57bc156f8b32ff9f8e85f510abe7a3  libjava/classpath/test/java.io/FileTest.java
! f7dbd324002d53c039200f20a57c4f89  libjava/classpath/test/java.io/FileWriterTest.java
! f0ab062af388887bb2444a503393827d  libjava/classpath/test/java.io/HairyGraph.java
! ec365e6fcfd547e84c7b99648036937b  libjava/classpath/test/java.io/LineNumberInputStreamTest.java
! aff817227a800d269211297648c15f5d  libjava/classpath/test/java.io/LineNumberReaderTest.java
! ddacc74eb68ef73920abbba399140c60  libjava/classpath/test/java.io/Makefile.am
! 4dca1ce606480ddc5302a5c2247ce85a  libjava/classpath/test/java.io/OOSCallDefault.java
! 03f49ad41b888ae47bea84955fa15106  libjava/classpath/test/java.io/OOSExtern.java
! d0bb006552d831da67879d49b7d4423f  libjava/classpath/test/java.io/OOSNoCallDefault.java
! 99954888f6a7f457a202aada7c16d13c  libjava/classpath/test/java.io/ObjectInputStreamTest.java
! 16f3d9b3ab6b0b4ae1201c4b3883d81b  libjava/classpath/test/java.io/ObjectOutputStreamTest.java
! e9742dbef04be589d452bc2bc3885125  libjava/classpath/test/java.io/ObjectStreamClassTest.java
! 522dcaac843f85a0a229cd24c9905ee6  libjava/classpath/test/java.io/PipedReaderWriterTest.java
! 452469893a9f09f020b47a79730b751c  libjava/classpath/test/java.io/PipedStreamTest.java
! 566ef7897068ddcf30c6825aeed19323  libjava/classpath/test/java.io/PrintStreamTest.java
! e921ccb808f3a7efd284a6aab9182fe2  libjava/classpath/test/java.io/PrintWriterTest.java
! 4726f4555d55fcb8baa4876501f521b8  libjava/classpath/test/java.io/PushbackInputStreamTest.java
! 9097c23e91210732871c576527632055  libjava/classpath/test/java.io/PushbackReaderTest.java
! a5d1e0dd3a1d8e1b7a1ccb545ceb5d1d  libjava/classpath/test/java.io/README
! ff9e58b51148cd5781cce17b2fb56e1a  libjava/classpath/test/java.io/RandomAccessFileTest.java
! e881dbbca1a3fff2095db34eb75d4a69  libjava/classpath/test/java.io/SequenceInputStreamTest.java
! 617e393d818594adf97ebf3c4dc0a60d  libjava/classpath/test/java.io/StreamTokenizerTest.java
! c31f6f63123b8f95e1a56201f7c4eb5d  libjava/classpath/test/java.io/StringBufferInputStreamTest.java
! 6b253d1c422f696a20e86b040359af19  libjava/classpath/test/java.io/StringWriterTest.java
! e47f6900449e3e4e8ce390e75a7afeeb  libjava/classpath/test/java.io/Test.java
! 2ce27006897af1d9e43100f4d0217674  libjava/classpath/test/java.io/UTF8EncodingTest.java
! 77f8820078e019a995d61c5b1fa12aaf  libjava/classpath/test/java.io/calldefault.data
! 2127d8380d67bc0d56f58c29ef07a13a  libjava/classpath/test/java.io/dataoutput-jdk.out
! 976f50e93b72a6d6a3172ac71c219550  libjava/classpath/test/java.io/external.data
! eb98ecd31a8e3506cda0c176dd4b5e35  libjava/classpath/test/java.io/graph.data
! 432acd6b6f106158c0f5a4c29e953b76  libjava/classpath/test/java.io/nocalldefault.data
! 3a0bbb2aa307d4abd55e56a66d918c15  libjava/classpath/test/java.io/notserial.data
! 4ee7a53fadfedbaa5e0ccb8e40b78456  libjava/classpath/test/java.io/notserialfield.data
! 76e67ce11025e58c4140bd1b547e85b9  libjava/classpath/test/java.io/stream-tokenizer.data
! 4fe255c701e80e3a836a5b7d74f2eb6b  libjava/classpath/test/java.io/utf8test-jdk.out
! d65f32a7b6a256d6967d328399811aab  libjava/classpath/test/java.lang.reflect/ArrayTest.java
! ba5c97aa9a5bc6bcbdb010f76958cff4  libjava/classpath/test/java.lang.reflect/Makefile.am
! cc5c28d509df4c2cc0df0073d84cefdc  libjava/classpath/test/java.net/BUGS
! 3cf103f4aaafd869bd0617f0e9cc0e0d  libjava/classpath/test/java.net/ClientDatagram.java
! 43da028f1b3904fa59764797c166a64c  libjava/classpath/test/java.net/ClientSocket.java
! 531274bcbfe1fd7505ff63bcb240a8c1  libjava/classpath/test/java.net/Makefile.am
! 64033a25f22bc4eed15eb936e580111d  libjava/classpath/test/java.net/MulticastClient.java
! e9cb56d40f25ff6dec1c5712015e3068  libjava/classpath/test/java.net/MulticastServer.java
! 77389a03bdf575584fc21dfdc8492cf4  libjava/classpath/test/java.net/ServerDatagram.java
! 0d8e22b5a77e6c86f7d187e07f98f8b2  libjava/classpath/test/java.net/ServerSocketTest.java
! aa8e70bb397135a43c970faa9d4b195f  libjava/classpath/test/java.net/SubSocket.java
! c09245d04565fd1a1e20085f2890c97f  libjava/classpath/test/java.net/TestNameLookups.java
! 61e4d41dd097752a45d143a16d41f2f9  libjava/classpath/test/java.net/URLTest.java
! 6af25682949b1f9e192d10ea23d0fad4  libjava/classpath/test/java.net/runtest
! 88e596795336c1405746b96f74affbe6  libjava/classpath/test/java.util/ArraysTest.java
! 57af7f54044d3350d968148e974fc731  libjava/classpath/test/java.util/Makefile.am
! dcf70b5bee351412d2322b9121eb2ee7  libjava/classpath/test/native/lib/JNILinkTest.java
! 820b7c564a870b8f30026ce6a0eac2aa  libjava/classpath/test/native/lib/MethodTester.c
! 24abcfee258a48daa2f86a9ad8ca27d8  libjava/classpath/test/native/lib/MethodTester.h
! fb330c2e9cbfcd760918f8ae1d4d20d8  libjava/classpath/testsuite/config/tests
! 273f9ac8faafa9062a2251670b948934  libjava/classpath/testsuite/java.io/IsAbsoluteTest.java
! 1c58dff540ec32ac51c7d774e10aa4fc  libjava/classpath/testsuite/java.io/RandomAccessFileTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.io/execute.exp
! 7ad383d87581496b1e64f864a9e7a61e  libjava/classpath/testsuite/java.lang/ArrayTest.java
! e2ff18d9e1890aa112f3f4e3ffd35d32  libjava/classpath/testsuite/java.lang/BooleanTest.java
! afcffe2ea7829581ea93aa27b77c3c17  libjava/classpath/testsuite/java.lang/ByteTest.java
! 9f754607451ef9f20e21b47132408521  libjava/classpath/testsuite/java.lang/CastTest.java
! d0647adb494f2e6f128be53dc4e343fb  libjava/classpath/testsuite/java.lang/ClassForNameTest.java
! 4468916c8d004e669ae87763a32fc5f7  libjava/classpath/testsuite/java.lang/ExceptionTest.java
! 9313c12bb6e77601f6f33149113a5c24  libjava/classpath/testsuite/java.lang/FloatingDecimalTest.java
! aca71f478f65e948cfb4a6c88d86c0d1  libjava/classpath/testsuite/java.lang/IsInstanceTest.java
! de3ab3d4d0903b604daa9b55c5b789e0  libjava/classpath/testsuite/java.lang/JoinTest.java
! 42de86bd2c8ba99682e66a949d80c832  libjava/classpath/testsuite/java.lang/LongFieldTest.java
! 349e92a092ce4bef296aec88fedb9a7b  libjava/classpath/testsuite/java.lang/NewInstanceTest.java
! 6251493f6634b03ce487dadd3c98fe86  libjava/classpath/testsuite/java.lang/NullcastTest.java
! dd0f2b8df0e356ef34d58da98b5ba20c  libjava/classpath/testsuite/java.lang/OutOfMemoryErrorTest.java
! 0fb0bfaf386fc8f6bc81ab681a754e25  libjava/classpath/testsuite/java.lang/StringTest.java
! 4582b794a9aa886e5a77e88b79cef92c  libjava/classpath/testsuite/java.lang/SyncronizedTest.java
! 2232fa7fe8b85bedcc3e268192342180  libjava/classpath/testsuite/java.lang/TestCasts.java
! 1b85a04bcf0332e9b81cd6777055f0a9  libjava/classpath/testsuite/java.lang/ThreadTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.lang/execute.exp
! 498229338297500234a7955c429ef104  libjava/classpath/testsuite/java.net/DatagramSocketSendReceiveTest.java
! c55f6871445303a71d2c86f46f55f67c  libjava/classpath/testsuite/java.net/DatagramSocketTest.java
! 2ef3304d2db4866a06489ba61ceec4e2  libjava/classpath/testsuite/java.net/SocketSendReceiveTest.java
! b3a90683dafc7a426e2ddcbba16c689a  libjava/classpath/testsuite/java.net/SocketTest.java
! d83aac620742ba63610ceae494f8e20b  libjava/classpath/testsuite/java.net/URLTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.net/execute.exp
! 0b0f8803be559bd7d111c2c5d4aac764  libjava/classpath/testsuite/java.opstack/LeftBehind.j
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.opstack/execute.exp
! f6898ae11918d405f9ca2c0aa2a54d95  libjava/classpath/testsuite/java.sun.awt/FrameMenuTest.java
! c13afa9f68065eebe718c85ffa8fc03c  libjava/classpath/testsuite/java.sun.awt/FrameTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.sun.awt/execute.exp
! 505139d9858424b1af3c99491e481f8b  libjava/classpath/testsuite/java.sun.tools/ClassPathTest.java
! 17360702a1b00c991306b98a5aa80292  libjava/classpath/testsuite/java.sun.tools/JavacTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.sun.tools/execute.exp
! 5f246d646492e495d96910425c46392c  libjava/classpath/testsuite/java.text/MessageFormatTest.java
! 915fcf48025863552646878da42ebd99  libjava/classpath/testsuite/java.text/SimpleDateFormatTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.text/execute.exp
! 11676bf52c91eaace4a799b5c23bdf49  libjava/classpath/testsuite/java.util/ResourceBundleTest.java
! 4fdab9e7c31731a56ba74328c93a1d2e  libjava/classpath/testsuite/java.util/SimpleTimeZoneTest.java
! 08455bb773f2309e2781d3574b854116  libjava/classpath/testsuite/java.util/execute.exp
! 33bd971b565d4446c2a4dc74a4529002  libjava/classpath/testsuite/javax.swing.text.html.parser/AllParserTests.java
! 8af3244303b89f789fd074cc44e2dc74  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/HTML_Test.java
! 9e217a5d19d6e378ba3932b9077e8efd  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/AttributeList_test.java
! 584b6f1ca69ee982403cf0cfba26b207  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/DTD_test.java
! 2431af480a0edf27d83d1032d278a019  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/Element_Test.java
! d164b4b8c3fdf457f593f70269c20a0b  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/Entity_Test.java
! c766173e6479ae1bfc6d7930b67b1402  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/HTML_parsing.java
! 9465e77e048ebadaf3ff5dcd0dd2e6b1  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/HTML_randomTable.java
! 86eb3219cbf3d52833da22732c7d284c  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/ParserEntityResolverTest.java
! 376267a04a89cf7fb140728d88d9faec  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/ParserTest.java
! a59f0c20e6e0a2855de6e7b451a7fdec  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/Parser_Test.java
! dcaa5ae95ee4fca7a8f211d9b41b6a60  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/TagElement_Test.java
! 77b1e347384f43fd75f1f5fb7a14af5d  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/TestCase.java
! 1bc06d23c8af1ebb15d33f696ac97f8a  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/Text.java
! de986b9bda0af9b86f2da3e354502433  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/Token_locations.java
! 14108b99e490010313587ce45c1cc2a4  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/low/Buffer_Test.java
! 2700e78a190cf13a6e52331704e220a5  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/low/Constants_Test.java
! 74bb2e2d8cb82fc5511a256d9efd285f  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/low/ReaderTokenizer_Test.java
! 9504348d2428976d54658ace748bbb9a  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/parameterDefaulter_Test.java
! a6dfcdbf34321d37f5efbf9cd52c4ea8  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/supplementaryNotifications.java
! c01b531d1420ee50feea8784c70ce849  libjava/classpath/testsuite/javax.swing.text.html.parser/test/gnu/javax/swing/text/html/parser/textPreProcessor_Test.java
! 67be2972c8a24b1d68b92a7ffe3b9538  libjava/classpath/testsuite/lib/java.exp
! 76fd9f5f59a0884c8bc76ee83ba0e82d  libjava/classpath/testsuite/scheme/test.scm
! 0602b2ab28c6903f355663d15c84e1ec  libjava/classpath/vm/Makefile.am
! 70b08aad43ab69c1894278b7bbefe1a1  libjava/classpath/vm/reference/Makefile.am
! 14bbfdddd1d1ff5a5b3d9e4db7c86942  libjava/classpath/vm/reference/gnu/classpath/VMStackWalker.java
! 85a802ef5b76e5bf8485e2db27a9ba59  libjava/classpath/vm/reference/gnu/classpath/VMSystemProperties.java
! 4463ae42cf1ad671d370c899bd34f61b  libjava/classpath/vm/reference/gnu/classpath/jdwp/VMFrame.java
! d9fc871a4691c55651de6d1e71ff6c98  libjava/classpath/vm/reference/gnu/classpath/jdwp/VMIdManager.java
! 2403f85914b7c0ea5347038f5e85a5d5  libjava/classpath/vm/reference/gnu/classpath/jdwp/VMVirtualMachine.java
! 36bc62673a671b70f36d909560076e2f  libjava/classpath/vm/reference/gnu/java/nio/VMPipe.java
! 489ba2fc2829922bfd24f52b8409f27d  libjava/classpath/vm/reference/gnu/java/nio/VMSelector.java
! c944d19dc12e75e1c1373aaccdeceb1f  libjava/classpath/vm/reference/java/io/VMFile.java
! a301eb1efe33eae1ea5a84568ab40028  libjava/classpath/vm/reference/java/io/VMObjectInputStream.java
! 3f1444e06f9eb0e89a5f074d5cb827ab  libjava/classpath/vm/reference/java/io/VMObjectStreamClass.java
! 648506154e98aaf933ef3c47565ddd2c  libjava/classpath/vm/reference/java/lang/VMClass.java
! b59b623b771d66a6e64b9906bfa7c7a9  libjava/classpath/vm/reference/java/lang/VMClassLoader.java
! d3b5830eb5fe5a011c070ab6046b36f5  libjava/classpath/vm/reference/java/lang/VMCompiler.java
! a267e9423b270cc46328ea333f6c5ef6  libjava/classpath/vm/reference/java/lang/VMDouble.java
! daac36ad1a831f7cdacc6a2e824d781f  libjava/classpath/vm/reference/java/lang/VMFloat.java
! 8078d1fd354d7f8a891e5b09ce64d78f  libjava/classpath/vm/reference/java/lang/VMObject.java
! 258dfd76100cc386a0aa5ddea57b4717  libjava/classpath/vm/reference/java/lang/VMProcess.java
! b0b0a0c5762e0de9d2dbfa74fa4584b4  libjava/classpath/vm/reference/java/lang/VMRuntime.java
! 47b6d2a6e6e17a52963ce67e065950c9  libjava/classpath/vm/reference/java/lang/VMString.java
! ec4b77a6abebfd88755860b49cde26e0  libjava/classpath/vm/reference/java/lang/VMSystem.java
! 027868d09a695c947420e12fa6ddc285  libjava/classpath/vm/reference/java/lang/VMThread.java
! 0ebc7a07cc7e2710bbe8050a4f23c364  libjava/classpath/vm/reference/java/lang/VMThrowable.java
! 7fe3a0c95f58fc1766da6caf7416f144  libjava/classpath/vm/reference/java/lang/reflect/Constructor.java
! c982fbbc79ab58b7c6b6b567ab8b2e9c  libjava/classpath/vm/reference/java/lang/reflect/Field.java
! 5bf22e774219d4c5a871567659dbfa1d  libjava/classpath/vm/reference/java/lang/reflect/Method.java
! 4204a911a6237d778e704d29281fcedd  libjava/classpath/vm/reference/java/lang/reflect/VMProxy.java
! 8702ccf9349c1f1994f144d8380e5b3b  libjava/classpath/vm/reference/java/net/VMInetAddress.java
! 579d414acf957eff03fa4f432b855de2  libjava/classpath/vm/reference/java/net/VMNetworkInterface.java
! c1ce4729db55108c4a08b25266172219  libjava/classpath/vm/reference/java/nio/VMDirectByteBuffer.java
! 88082325cb3ddb81917eae68d8a5efe9  libjava/classpath/vm/reference/java/nio/channels/VMChannels.java
! 80cacd49b9f9294198fc7160be7258b3  libjava/classpath/vm/reference/java/security/VMAccessController.java
! 23407d86048687509bc3eac4bae21dba  libjava/classpath/vm/reference/java/util/VMTimeZone.java
! 1bdf678ad6ff0badb5d09ed3f0de2901  libjava/configure
! ad90b98694005dcb2a798d8ed8ac8573  libjava/configure.ac
! b6c8e01f00c91857e16468b6c89c83ee  libjava/configure.host
  b8f5774479fe86f56e7e491189ccf0b5  libjava/darwin.cc
! e32b4648c83361586fc302ec37e7f2c8  libjava/defineclass.cc
! 524c24c76da99cdb92e6120f4d203c1d  libjava/exception.cc
! 554b018d0c459bbb31eb8dc86896eeda  libjava/gcj/Makefile.am
! 5d6ec366885d038b1370ab5a4ab4fa27  libjava/gcj/Makefile.in
  94b9871091f1caff9dc28dce6439c7dc  libjava/gcj/array.h
  361e9d926f9533fff97836fc99ee52b3  libjava/gcj/cni.h
  1132746ded1c01c81bf0574be6c00359  libjava/gcj/field.h
! 08cf60864176804955c3b27ffef069bf  libjava/gcj/javaprims.h
  889018fe1f6304db88020c202bf148fe  libjava/gcj/libgcj-config.h.in
  eafd77f0472be0989ca80a47fdbf37fb  libjava/gcj/method.h
! 5f4d5a28341b444a09616e8e20fb581e  libjava/gij.cc
! 6e723136970e5453af7dc8d053b7ee7e  libjava/gnu/CORBA/DynAn/RecordAny.java
! 85c6019f1a18f56de9c30e308c4a6997  libjava/gnu/CORBA/DynAn/gnuDynValue.java
! 5ba17516c2589dc03e88dd6c8b17ace6  libjava/gnu/CORBA/ObjectCreator.java
  e1408d5d275b717aaa0330aa1b6043db  libjava/gnu/awt/LightweightRedirector.java
  e4a6533e6ba178693bf1cd76421aa764  libjava/gnu/awt/j2d/AbstractGraphicsState.java
  a47831f8c3de048876eaf738f495ece9  libjava/gnu/awt/j2d/DirectRasterGraphics.java
  9438a98d9934857d33c83edf8940b240  libjava/gnu/awt/j2d/Graphics2DImpl.java
  e6d0aaf195e964a73613f6fc834f5737  libjava/gnu/awt/j2d/IntegerGraphicsState.java
  87b502a55fc8ebd6560ff3d0f2d852fc  libjava/gnu/awt/j2d/MappedRaster.java
! a68dcc6dfde2993e7089cb7372a3039c  libjava/gnu/awt/xlib/XCanvasPeer.java
! 80088c6d0842cc3db49ada1787d15d81  libjava/gnu/awt/xlib/XEventLoop.java
! b14d1d9eb350260c365790ca7450f833  libjava/gnu/awt/xlib/XEventQueue.java
  53ec5c0451922f91a1aee0e78522d541  libjava/gnu/awt/xlib/XFontMetrics.java
  a0ad96a231e7570ab39ed02408b516fc  libjava/gnu/awt/xlib/XFontPeer.java
! 760387f43dcecd56ea9c756b5e1ecaa7  libjava/gnu/awt/xlib/XFramePeer.java
! 8d5edc26e9dfe829a16dd4adba769884  libjava/gnu/awt/xlib/XGraphics.java
! 838dc3b8da79378e46009b988830f30a  libjava/gnu/awt/xlib/XGraphicsConfiguration.java
! 377366208ce102ccd0fd1ea274a86921  libjava/gnu/awt/xlib/XGraphicsDevice.java
! 41831550bf0b76f32869844b4a077669  libjava/gnu/awt/xlib/XGraphicsEnvironment.java
  538a4d513db3c7f29b2df243bcf8ea6f  libjava/gnu/awt/xlib/XOffScreenImage.java
  fb918e795e5190d2e3111f940f9fd21c  libjava/gnu/awt/xlib/XPanelPeer.java
! 944dfc2eb32cf870c3d6eb49c7668dce  libjava/gnu/awt/xlib/XToolkit.java
! 8d03b3039f62734b5dddb1d61dd3c43a  libjava/gnu/classpath/SystemProperties.java
! aac82dc678f898e68569c72f622f1368  libjava/gnu/classpath/jdwp/VMFrame.java
! d9fc871a4691c55651de6d1e71ff6c98  libjava/gnu/classpath/jdwp/VMIdManager.java
! 30928c4b751bbec20732504f4b93116c  libjava/gnu/classpath/jdwp/VMVirtualMachine.java
! e234741301680f6a269c521e5b2a388d  libjava/gnu/classpath/natSystemProperties.cc
  e4acb82414edbb239a7ccb7d8ce34d15  libjava/gnu/gcj/Core.java
  171be5b658721d8feeaec562d0afe9a6  libjava/gnu/gcj/RawData.java
  df5faff9d49065e045ce4110ee5f0fb0  libjava/gnu/gcj/RawDataManaged.java
  ef4b09d90de627a4acbe1fe57fb399ec  libjava/gnu/gcj/convert/Blocks-3.txt
! e2ade05f7cddb6eca22246d52b2c2e2a  libjava/gnu/gcj/convert/BytesToCharsetAdaptor.java
! f07ad2a886807d9c2552b90c7d8cfc9a  libjava/gnu/gcj/convert/BytesToUnicode.java
! 4e8754a376465d2cac1ef405811f3ed9  libjava/gnu/gcj/convert/CharsetToBytesAdaptor.java
! a71943d5cd9e9946add4550761c01864  libjava/gnu/gcj/convert/Convert.java
! 4ae64ac08a0fbed71405149f348a40ec  libjava/gnu/gcj/convert/IOConverter.java
  781e55330d3b64c0196a76e77f39747c  libjava/gnu/gcj/convert/Input_8859_1.java
  f20859efb59e3ce361c2ab9e96649567  libjava/gnu/gcj/convert/Input_ASCII.java
  3864e59856993ff2de5dd8a3fa819d89  libjava/gnu/gcj/convert/Input_EUCJIS.java
*************** a94d74e5e243c2d86401596218a21dd9  libjav
*** 20304,20310 ****
  bf1f4ff4bb7fbbc5f890dad3c3927fb2  libjava/gnu/gcj/convert/Output_UTF8.java
  c365c83ae463ec131d8f78516911214b  libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.java
  80147ee9a6766166e922c47a9fb38cb6  libjava/gnu/gcj/convert/Output_iconv.java
! bb58e7b2c5a964bc3c33a0690d8516c8  libjava/gnu/gcj/convert/UnicodeToBytes.java
  9c1563cb3847f9784f1f14ffa3cbd51b  libjava/gnu/gcj/convert/Unicode_to_JIS.cc
  bbefc594ee07e14b90b818d6cab51f37  libjava/gnu/gcj/convert/gen-from-JIS.c
  cbd560aed882aee9a181a30c0ae862ca  libjava/gnu/gcj/convert/make-trie.c
--- 25614,25620 ----
  bf1f4ff4bb7fbbc5f890dad3c3927fb2  libjava/gnu/gcj/convert/Output_UTF8.java
  c365c83ae463ec131d8f78516911214b  libjava/gnu/gcj/convert/Output_UnicodeLittleUnmarked.java
  80147ee9a6766166e922c47a9fb38cb6  libjava/gnu/gcj/convert/Output_iconv.java
! 8e37cf5a2ddeafada809fefe1d709713  libjava/gnu/gcj/convert/UnicodeToBytes.java
  9c1563cb3847f9784f1f14ffa3cbd51b  libjava/gnu/gcj/convert/Unicode_to_JIS.cc
  bbefc594ee07e14b90b818d6cab51f37  libjava/gnu/gcj/convert/gen-from-JIS.c
  cbd560aed882aee9a181a30c0ae862ca  libjava/gnu/gcj/convert/make-trie.c
*************** b03e02b6e7cda13a458df4297b36145e  libjav
*** 20320,20345 ****
  62a37e42a98dd01e29c8213868fa48a0  libjava/gnu/gcj/io/shs.cc
  8f1ec7e9346a12bc56d9c857547ff1a7  libjava/gnu/gcj/io/shs.h
  9f5cb2455bcab48b05b585fdf677a70c  libjava/gnu/gcj/natCore.cc
! ccf3b6fd5095d6ab2f307367e13a4ff8  libjava/gnu/gcj/runtime/BootClassLoader.java
  b6aa8cc2f2f2e8a2b70f4db1897cd0b9  libjava/gnu/gcj/runtime/ExtensionClassLoader.java
- 3fd485f4d8832d26e1f7860e8b76bb61  libjava/gnu/gcj/runtime/FileDeleter.java
  2bdc00c37658396b2a19729297563872  libjava/gnu/gcj/runtime/FinalizerThread.java
! 59e31d0bca46819b405f1a9479039de5  libjava/gnu/gcj/runtime/HelperClassLoader.java
  8c6d2d72ce42cadced5e17a376983878  libjava/gnu/gcj/runtime/JNIWeakRef.java
! 5421b4dd1f2d603ffe9b9527de88120c  libjava/gnu/gcj/runtime/MethodRef.java
! a6f2d419b79dcd9d1727c3b6e37961a3  libjava/gnu/gcj/runtime/NameFinder.java
! d76c4bce8c497dca9dc9e8f8b7cec857  libjava/gnu/gcj/runtime/PersistentByteMap.java
  d601713d0b5c750d456829227f98dd26  libjava/gnu/gcj/runtime/SharedLibHelper.java
  1a56ad1428c9e67644279607f926e4b7  libjava/gnu/gcj/runtime/SharedLibLoader.java
! 2d19c02805608d85ff756e7e470110d8  libjava/gnu/gcj/runtime/StackTrace.java
! 4a0012e240fdd4659b2622721ddffe3f  libjava/gnu/gcj/runtime/StringBuffer.java
! a6c47023121b9b98d5f3b07e655b5056  libjava/gnu/gcj/runtime/SystemClassLoader.java
  65192ddddf357c5c201cf611030e1474  libjava/gnu/gcj/runtime/natFinalizerThread.cc
- 6213334087d4a06145ffeaf74e77c612  libjava/gnu/gcj/runtime/natNameFinder.cc
  1e90eaac3a45a9fa9c690b5e37050bba  libjava/gnu/gcj/runtime/natSharedLibLoader.cc
- a3d8ee0a31929d23a36145cfd0b695a0  libjava/gnu/gcj/runtime/natStackTrace.cc
  3f632693d00686dc0930890a74811449  libjava/gnu/gcj/runtime/natStringBuffer.cc
! b5cf884d936407c820518bd243e5cd12  libjava/gnu/gcj/tools/gcj_dbtool/Main.java
  1e7304d93092e980b91d800710886306  libjava/gnu/gcj/tools/gcj_dbtool/natMain.cc
  33fd5368589235677b1c64a7906595a6  libjava/gnu/gcj/util/Debug.java
  3cc687520fbf09ed7d43c6a2e270d94c  libjava/gnu/gcj/util/natDebug.cc
--- 25630,25650 ----
  62a37e42a98dd01e29c8213868fa48a0  libjava/gnu/gcj/io/shs.cc
  8f1ec7e9346a12bc56d9c857547ff1a7  libjava/gnu/gcj/io/shs.h
  9f5cb2455bcab48b05b585fdf677a70c  libjava/gnu/gcj/natCore.cc
! 2f7d822a6497d9ffec8304ca713e3277  libjava/gnu/gcj/runtime/BootClassLoader.java
  b6aa8cc2f2f2e8a2b70f4db1897cd0b9  libjava/gnu/gcj/runtime/ExtensionClassLoader.java
  2bdc00c37658396b2a19729297563872  libjava/gnu/gcj/runtime/FinalizerThread.java
! b9e2c2af0c673168dd3d64e3fa6dbc10  libjava/gnu/gcj/runtime/HelperClassLoader.java
  8c6d2d72ce42cadced5e17a376983878  libjava/gnu/gcj/runtime/JNIWeakRef.java
! 70b565b809ad2410751f245d219e3481  libjava/gnu/gcj/runtime/NameFinder.java
! d132f21817debe69ce1d3c1534a6693b  libjava/gnu/gcj/runtime/PersistentByteMap.java
  d601713d0b5c750d456829227f98dd26  libjava/gnu/gcj/runtime/SharedLibHelper.java
  1a56ad1428c9e67644279607f926e4b7  libjava/gnu/gcj/runtime/SharedLibLoader.java
! 38c41f2e29b59d4925dde08e71586f33  libjava/gnu/gcj/runtime/StringBuffer.java
! 31408fcede48f06216c3a637e584191c  libjava/gnu/gcj/runtime/SystemClassLoader.java
  65192ddddf357c5c201cf611030e1474  libjava/gnu/gcj/runtime/natFinalizerThread.cc
  1e90eaac3a45a9fa9c690b5e37050bba  libjava/gnu/gcj/runtime/natSharedLibLoader.cc
  3f632693d00686dc0930890a74811449  libjava/gnu/gcj/runtime/natStringBuffer.cc
! 965119103e1eb9ad173c0ce02e4a052f  libjava/gnu/gcj/tools/gcj_dbtool/Main.java
  1e7304d93092e980b91d800710886306  libjava/gnu/gcj/tools/gcj_dbtool/natMain.cc
  33fd5368589235677b1c64a7906595a6  libjava/gnu/gcj/util/Debug.java
  3cc687520fbf09ed7d43c6a2e270d94c  libjava/gnu/gcj/util/natDebug.cc
*************** f81f58fe5c74655d9b44f053d97327e8  libjav
*** 20347,20359 ****
  cef15199ffe09cbe13c2e57e2689b054  libjava/gnu/gcj/xlib/Colormap.java
  ac14f9f1fc82a881d41fbf7357a65df2  libjava/gnu/gcj/xlib/Display.java
  3c9aacb014221a6ca630a9365fdf19fc  libjava/gnu/gcj/xlib/Drawable.java
! 800ea378bc871901ee8aa92d1ce9cfd7  libjava/gnu/gcj/xlib/Font.java
  916315a5da5155045823519f210be81c  libjava/gnu/gcj/xlib/GC.java
  3ce10e4aa38061ad16ff2638d00226d2  libjava/gnu/gcj/xlib/Pixmap.java
  bf0596feb76810a4439e26dbfecd56da  libjava/gnu/gcj/xlib/Screen.java
  20ee43a357f6381ffb3876581592b4f4  libjava/gnu/gcj/xlib/Visual.java
  23f400f9ed91209609afa3f8eb3b78c2  libjava/gnu/gcj/xlib/WMSizeHints.java
! 51d5a39f6d813de7c8dfd7583c05e71b  libjava/gnu/gcj/xlib/Window.java
  10481138bb9ea548b260924a9e72668d  libjava/gnu/gcj/xlib/WindowAttributes.java
  5de0e149c544a7d87b611abb4756422b  libjava/gnu/gcj/xlib/XAnyEvent.java
  bed3486e75968dcc33dce128e9ee1bd6  libjava/gnu/gcj/xlib/XButtonEvent.java
--- 25652,25664 ----
  cef15199ffe09cbe13c2e57e2689b054  libjava/gnu/gcj/xlib/Colormap.java
  ac14f9f1fc82a881d41fbf7357a65df2  libjava/gnu/gcj/xlib/Display.java
  3c9aacb014221a6ca630a9365fdf19fc  libjava/gnu/gcj/xlib/Drawable.java
! 6a897a67be31fb6a9a811c92e53f978c  libjava/gnu/gcj/xlib/Font.java
  916315a5da5155045823519f210be81c  libjava/gnu/gcj/xlib/GC.java
  3ce10e4aa38061ad16ff2638d00226d2  libjava/gnu/gcj/xlib/Pixmap.java
  bf0596feb76810a4439e26dbfecd56da  libjava/gnu/gcj/xlib/Screen.java
  20ee43a357f6381ffb3876581592b4f4  libjava/gnu/gcj/xlib/Visual.java
  23f400f9ed91209609afa3f8eb3b78c2  libjava/gnu/gcj/xlib/WMSizeHints.java
! ea7fbb8c43672b20ef33314ba65b433c  libjava/gnu/gcj/xlib/Window.java
  10481138bb9ea548b260924a9e72668d  libjava/gnu/gcj/xlib/WindowAttributes.java
  5de0e149c544a7d87b611abb4756422b  libjava/gnu/gcj/xlib/XAnyEvent.java
  bed3486e75968dcc33dce128e9ee1bd6  libjava/gnu/gcj/xlib/XButtonEvent.java
*************** ca64f2f60565fc04caa2ea6bf60fe04f  libjav
*** 20370,20382 ****
  bf475378370f3b5ad67c1022b0eb31aa  libjava/gnu/gcj/xlib/natColormap.cc
  defd9e9f38bba661d9e4fee85b767c34  libjava/gnu/gcj/xlib/natDisplay.cc
  2006c9f4df3e7a5e9d812eb542931117  libjava/gnu/gcj/xlib/natDrawable.cc
! 9db1e0dd4340dbe6f8b56721bd926e19  libjava/gnu/gcj/xlib/natFont.cc
  ca66742958af1fc99b641271466e1c04  libjava/gnu/gcj/xlib/natGC.cc
  2dc380b1a5232349b9a3846262d534f4  libjava/gnu/gcj/xlib/natPixmap.cc
  d111c59e8680db80fb63f521315ffa57  libjava/gnu/gcj/xlib/natScreen.cc
  205712fa874aebc6ff3132ea977cdcc1  libjava/gnu/gcj/xlib/natVisual.cc
  99c39776801972f9208a0900f03ce22c  libjava/gnu/gcj/xlib/natWMSizeHints.cc
! 83c7bb70a2cda974fb296f0f3ca1ef84  libjava/gnu/gcj/xlib/natWindow.cc
  07d171112455faa0402400cc7d5a850c  libjava/gnu/gcj/xlib/natWindowAttributes.cc
  8909f3be485498e67e56152ada8d0238  libjava/gnu/gcj/xlib/natXAnyEvent.cc
  e7b8f4064626e02f9169a6d1c2595dfc  libjava/gnu/gcj/xlib/natXButtonEvent.cc
--- 25675,25687 ----
  bf475378370f3b5ad67c1022b0eb31aa  libjava/gnu/gcj/xlib/natColormap.cc
  defd9e9f38bba661d9e4fee85b767c34  libjava/gnu/gcj/xlib/natDisplay.cc
  2006c9f4df3e7a5e9d812eb542931117  libjava/gnu/gcj/xlib/natDrawable.cc
! e46cb1aa64ea98aa0c9a55ae2e278dbd  libjava/gnu/gcj/xlib/natFont.cc
  ca66742958af1fc99b641271466e1c04  libjava/gnu/gcj/xlib/natGC.cc
  2dc380b1a5232349b9a3846262d534f4  libjava/gnu/gcj/xlib/natPixmap.cc
  d111c59e8680db80fb63f521315ffa57  libjava/gnu/gcj/xlib/natScreen.cc
  205712fa874aebc6ff3132ea977cdcc1  libjava/gnu/gcj/xlib/natVisual.cc
  99c39776801972f9208a0900f03ce22c  libjava/gnu/gcj/xlib/natWMSizeHints.cc
! 818b7fcae1b741dd7cf5f92a4c15fe64  libjava/gnu/gcj/xlib/natWindow.cc
  07d171112455faa0402400cc7d5a850c  libjava/gnu/gcj/xlib/natWindowAttributes.cc
  8909f3be485498e67e56152ada8d0238  libjava/gnu/gcj/xlib/natXAnyEvent.cc
  e7b8f4064626e02f9169a6d1c2595dfc  libjava/gnu/gcj/xlib/natXButtonEvent.cc
*************** e7b8f4064626e02f9169a6d1c2595dfc  libjav
*** 20386,23253 ****
  e4a3c705d8321475d557b92d0e5f0a89  libjava/gnu/gcj/xlib/natXExposeEvent.cc
  37bb54c329486a05802e08a62fa9a9a4  libjava/gnu/gcj/xlib/natXImage.cc
  6f419dc99f89cbe01237c07463913483  libjava/gnu/gcj/xlib/natXUnmapEvent.cc
! 4700a85ab869b959fbe3e735daf6acdc  libjava/gnu/java/awt/BitMaskExtent.java
! 00a0c3672afc6f64f54a5c63fba99506  libjava/gnu/java/awt/BitwiseXORComposite.java
! 973cecc1ac549ff013ad33c9e7496239  libjava/gnu/java/awt/Buffers.java
! f3a479f26aa09f5e155dff9db2a1e1ad  libjava/gnu/java/awt/ClasspathToolkit.java
! 73e59dc5ad1e4fd00b579e7255d32d01  libjava/gnu/java/awt/ComponentDataBlitOp.java
! 902cc941d781333c94c96a529323b90d  libjava/gnu/java/awt/EmbeddedWindow.java
! 4ae6b820d1dd91c10f2e3f679e008cce  libjava/gnu/java/awt/EmbeddedWindowSupport.java
! ff193d08d912ff4d38383784dbbb8b1f  libjava/gnu/java/awt/EventModifier.java
! bea1cde873ed52d08cd41a027222bc61  libjava/gnu/java/awt/color/CieXyzConverter.java
! 2da1532c011b16dd496f70513083f584  libjava/gnu/java/awt/color/ClutProfileConverter.java
! 6bd56423ab30c074323ad7c79964a607  libjava/gnu/java/awt/color/ColorLookUpTable.java
! b60b1cac6d6cce5a3651ec61c030f31c  libjava/gnu/java/awt/color/ColorSpaceConverter.java
! fc8bedfda39da1eb87b69cfc84e1bf8f  libjava/gnu/java/awt/color/GrayProfileConverter.java
! d827a231c61d90f91987df77c5894cb9  libjava/gnu/java/awt/color/GrayScaleConverter.java
! 4dba966af74f9d04c58769b6e4b20a89  libjava/gnu/java/awt/color/LinearRGBConverter.java
! c2d771ed6de50508cb81d5b6cc67ae7e  libjava/gnu/java/awt/color/ProfileHeader.java
! 3ca8d11dafe71895acec97f799669b23  libjava/gnu/java/awt/color/PyccConverter.java
! 3ac80d64ba62852f507d76920a5bfe4e  libjava/gnu/java/awt/color/RgbProfileConverter.java
! 97b76e183e19edd28035be49dd53a2ad  libjava/gnu/java/awt/color/SrgbConverter.java
! a5eed67be97df4af6b99fb0c75db0f63  libjava/gnu/java/awt/color/TagEntry.java
! 67c84cd5c05dc613eaeeae9be1207f2a  libjava/gnu/java/awt/color/ToneReproductionCurve.java
! 88efad0eb2d28658f7f65bc07c9f5630  libjava/gnu/java/awt/doc-files/BitwiseXORComposite-1.png
! f3ef737f755e39d1bd0e52ba7cb44c5c  libjava/gnu/java/awt/image/ImageDecoder.java
! cc4a39545730f4268d7c467aa406e86b  libjava/gnu/java/awt/image/XBMDecoder.java
! 5158a9b4636b9f7072bdf49c5385ab23  libjava/gnu/java/awt/peer/ClasspathFontPeer.java
! a7979c5b9a3c83e8d97dbc8072b0d8ae  libjava/gnu/java/awt/peer/ClasspathTextLayoutPeer.java
! 056fb2604a9ad988858272652f5da51e  libjava/gnu/java/awt/peer/EmbeddedWindowPeer.java
! 61066f448601178ffbda940d1e5155cd  libjava/gnu/java/awt/peer/GLightweightPeer.java
! 6e0274057ed23c931f816b7a56a0dccf  libjava/gnu/java/awt/peer/gtk/GThreadMutex.java
! c99a8ea62276ba07f651edb7b22bc0fb  libjava/gnu/java/awt/peer/gtk/GThreadNativeMethodRunner.java
! ff3f731a6214a5fdceba5d8318185afa  libjava/gnu/java/awt/peer/gtk/GdkFontMetrics.java
! eabc13d37fe61a4cbad2c7464e87bfaf  libjava/gnu/java/awt/peer/gtk/GdkFontPeer.java
! 19456884c02c70661eb9cdd1e73fd6c9  libjava/gnu/java/awt/peer/gtk/GdkGlyphVector.java
! 04a68f429ac665817a89554599f22cdd  libjava/gnu/java/awt/peer/gtk/GdkGraphics.java
! 3c5515181cb250d1a1074890df0326ee  libjava/gnu/java/awt/peer/gtk/GdkGraphics2D.java
! 63cfe827494cfb65ac2022bdf92f634a  libjava/gnu/java/awt/peer/gtk/GdkGraphicsConfiguration.java
! 193d76c69f24065c50b8107063806d41  libjava/gnu/java/awt/peer/gtk/GdkGraphicsEnvironment.java
! d9eb899ee7061fa8ddf04ce5bf32491f  libjava/gnu/java/awt/peer/gtk/GdkPixbufDecoder.java
! 383d94e0c48d22d72ca562dd74676945  libjava/gnu/java/awt/peer/gtk/GdkRobotPeer.java
! 838b8975fdb39c5ef5bd82d4f2b4208e  libjava/gnu/java/awt/peer/gtk/GdkScreenGraphicsDevice.java
! e22f463b264f901524432cddfc6ed832  libjava/gnu/java/awt/peer/gtk/GdkTextLayout.java
! 2d39f610f0cf49fcc4257880fd3c2023  libjava/gnu/java/awt/peer/gtk/GtkButtonPeer.java
! 04879a761eda5467125bfb28c7df44c3  libjava/gnu/java/awt/peer/gtk/GtkCanvasPeer.java
! 81b955bd72e94592419dbb6cbe9e0606  libjava/gnu/java/awt/peer/gtk/GtkCheckboxGroupPeer.java
! 8645d77749054764f0983b412ac8f794  libjava/gnu/java/awt/peer/gtk/GtkCheckboxMenuItemPeer.java
! 4b7d57e7ea828bcbd828031f5afdf7ec  libjava/gnu/java/awt/peer/gtk/GtkCheckboxPeer.java
! 6a53a1d1733fff8512a6e0950094c916  libjava/gnu/java/awt/peer/gtk/GtkChoicePeer.java
! c7034a344facf98498ba6cfb963b8086  libjava/gnu/java/awt/peer/gtk/GtkClipboard.java
! eb89423a2df52b48ad0f2d1e45fa9d86  libjava/gnu/java/awt/peer/gtk/GtkComponentPeer.java
! 25bac0cf8ef9c9f5dcc4cc9ca3871ad7  libjava/gnu/java/awt/peer/gtk/GtkContainerPeer.java
! c570e91d1e7505ca13d94f1758624d75  libjava/gnu/java/awt/peer/gtk/GtkDialogPeer.java
! fe0c00e3c2dff5c09e9b8decfb47dea4  libjava/gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java
! fa5a9ae2fb6cf9fe7f48747fd99dcb9c  libjava/gnu/java/awt/peer/gtk/GtkFileDialogPeer.java
! 6ed06c75cc82b5ebb4953f7a6edd9e2f  libjava/gnu/java/awt/peer/gtk/GtkFontPeer.java
! bafdb6ee86ae5a9d4a990f003aa834fb  libjava/gnu/java/awt/peer/gtk/GtkFramePeer.java
! 7b47307cbffa96b76a2c789905061a11  libjava/gnu/java/awt/peer/gtk/GtkGenericPeer.java
! 6316cb07d4850f03c0359bd2cb2e53b6  libjava/gnu/java/awt/peer/gtk/GtkImage.java
! 05215c180b7bd2123421e5b796b5b76d  libjava/gnu/java/awt/peer/gtk/GtkImagePainter.java
! 00b429c1f207fbe313ae52a4609365ab  libjava/gnu/java/awt/peer/gtk/GtkLabelPeer.java
! 89301a2a23e40761eef28fff1a2fd495  libjava/gnu/java/awt/peer/gtk/GtkListPeer.java
! cf99df61330c1ac31c978275dd739c0e  libjava/gnu/java/awt/peer/gtk/GtkMenuBarPeer.java
! b57d4dcc99e825e5fee0c6626058afbb  libjava/gnu/java/awt/peer/gtk/GtkMenuComponentPeer.java
! 4c62d10667c1d198c058051cbe37e7de  libjava/gnu/java/awt/peer/gtk/GtkMenuItemPeer.java
! 01244b6dbe47204e9396919de8774acc  libjava/gnu/java/awt/peer/gtk/GtkMenuPeer.java
! 31a2dbf2726de424a9dbb3e0dbfbb8e1  libjava/gnu/java/awt/peer/gtk/GtkOffScreenImage.java
! a57e41d05c1b8d4b783c77bc408a9055  libjava/gnu/java/awt/peer/gtk/GtkPanelPeer.java
! 5da28de5522aa5ef11e3cc87c293993e  libjava/gnu/java/awt/peer/gtk/GtkPopupMenuPeer.java
! 4331d0a1cc54924ca8a24a5b0cbc1d1c  libjava/gnu/java/awt/peer/gtk/GtkScrollPanePeer.java
! 9ee4340578c3c54f18eee0cbf9c99acf  libjava/gnu/java/awt/peer/gtk/GtkScrollbarPeer.java
! 5896ce4c49e354b6a7a73a8ca49fc1f4  libjava/gnu/java/awt/peer/gtk/GtkTextAreaPeer.java
! abafb23ee07d5238c971fd42e1a74430  libjava/gnu/java/awt/peer/gtk/GtkTextComponentPeer.java
! bd4e99113a113353be21d125cf5133e4  libjava/gnu/java/awt/peer/gtk/GtkTextFieldPeer.java
! 9a5f0b152ccf4557c6dac62fb744b926  libjava/gnu/java/awt/peer/gtk/GtkToolkit.java
! 9a84d41f91c28a15b404b913595c0897  libjava/gnu/java/awt/peer/gtk/GtkWindowPeer.java
! 61c6215542edcba01d122efa9cd5cb47  libjava/gnu/java/awt/peer/gtk/Test.java
! 83871edcc89223f7bef57bb04b46ad0f  libjava/gnu/java/awt/peer/gtk/TestAWT.java
! 09396eb0ef6a6e863b11229452760b79  libjava/gnu/java/beans/BeanInfoEmbryo.java
! 77a532b1b9ca294bc287f5fb03dd0b5d  libjava/gnu/java/beans/DummyAppletContext.java
! f4c9c074fd8e448603cc3e758a4dedcf  libjava/gnu/java/beans/DummyAppletStub.java
! 2b538197287fcb2a4a9cf3237838a56c  libjava/gnu/java/beans/ExplicitBeanInfo.java
! e8f3725520618cb8f63e1104b154f861  libjava/gnu/java/beans/IntrospectionIncubator.java
! e2a7b2ccf771b72ea4694212985cef3c  libjava/gnu/java/beans/decoder/AbstractContext.java
! 708ad151fa31ec914396ef9c34173fef  libjava/gnu/java/beans/decoder/AbstractCreatableObjectContext.java
! d57c818e91210b40f629d1333a66841a  libjava/gnu/java/beans/decoder/AbstractElementHandler.java
! a41332c7cf0139d02327a6a43414aff2  libjava/gnu/java/beans/decoder/AbstractObjectContext.java
! eb1d562d6b4dec70b54f7cc6a22482b2  libjava/gnu/java/beans/decoder/ArrayContext.java
! 6fa3f544556537040ecf7f27ad1d926f  libjava/gnu/java/beans/decoder/ArrayHandler.java
! ef8d7e4fca0bfde52e92d583fd0697eb  libjava/gnu/java/beans/decoder/AssemblyException.java
! 08c55401de9ef4e08eae66f8902d61ee  libjava/gnu/java/beans/decoder/BooleanHandler.java
! 9330d622146bc8d896ea680bf633d897  libjava/gnu/java/beans/decoder/ByteHandler.java
! 15ee49f984bf24bfbe3565a77bde54c0  libjava/gnu/java/beans/decoder/CharHandler.java
! f315ec586b8668cec3aebd5d47e1d772  libjava/gnu/java/beans/decoder/ClassHandler.java
! 4f74dde608bfce521142bc941fd25415  libjava/gnu/java/beans/decoder/ConstructorContext.java
! 4eb0685d88833c491d13918b9d9a73f1  libjava/gnu/java/beans/decoder/Context.java
! a14caeeda9f5399351198b3aa9902eb6  libjava/gnu/java/beans/decoder/DecoderContext.java
! d8b3cb46d582f0b41c426c3d227df825  libjava/gnu/java/beans/decoder/DefaultExceptionListener.java
! 508dc0ed23d5f464a2572d34d711b79c  libjava/gnu/java/beans/decoder/DoubleHandler.java
! 0fde62096fe7c4122c2d408bc9e14172  libjava/gnu/java/beans/decoder/DummyContext.java
! 4c2b657911b3e4a933d40b520016bf77  libjava/gnu/java/beans/decoder/DummyHandler.java
! 2f90a98d89ea8bdde0d62b6a570dbe20  libjava/gnu/java/beans/decoder/ElementHandler.java
! decbc3aae3b39ca0407d2b578aecc45f  libjava/gnu/java/beans/decoder/FloatHandler.java
! 7d06cef1690b264b623f0925a032bafa  libjava/gnu/java/beans/decoder/GrowableArrayContext.java
! 63a750d2d14fa2c48e0726ec8c4d487a  libjava/gnu/java/beans/decoder/IndexContext.java
! 92726720a00bf9bdbcb11cc45d2d7ed0  libjava/gnu/java/beans/decoder/IntHandler.java
! 6dceebb13d68bfbfc67287c53620ed4c  libjava/gnu/java/beans/decoder/JavaHandler.java
! 78c259ee542257657760a2c9daf51819  libjava/gnu/java/beans/decoder/LongHandler.java
! 4f922286ba998bfafcc2cdeed3083a2f  libjava/gnu/java/beans/decoder/MethodContext.java
! 09fa2540fde15c903a9d8992497b3fba  libjava/gnu/java/beans/decoder/MethodFinder.java
! c1d3498ef4228f8974e0c8750e52c85b  libjava/gnu/java/beans/decoder/NullHandler.java
! 94bbe153aa870abfc65dc1b0272de515  libjava/gnu/java/beans/decoder/ObjectContext.java
! 48e17591de284b26359ec8e8eb3b6bcb  libjava/gnu/java/beans/decoder/ObjectHandler.java
! 109d43abfd1ab1c1cf0380c9ab7e1a76  libjava/gnu/java/beans/decoder/PersistenceParser.java
! 5a6762078a8f9ae60d797d28980f0829  libjava/gnu/java/beans/decoder/PropertyContext.java
! a60c16222017876be26326fcd5a1178b  libjava/gnu/java/beans/decoder/ShortHandler.java
! 8d0443817f56bdd159eb38f79476c297  libjava/gnu/java/beans/decoder/SimpleHandler.java
! 791fc18b10b9a6678361d2fcafd06503  libjava/gnu/java/beans/decoder/StaticMethodContext.java
! ea9c9ee023f63c0672f85bd57dd6199f  libjava/gnu/java/beans/decoder/StringHandler.java
! e9d4afdc0a2db21dabef75e8999afc3a  libjava/gnu/java/beans/decoder/VoidHandler.java
! 7473a1b56c91429c8a18a45e05a0759c  libjava/gnu/java/beans/editors/ColorEditor.java
! 23fd7d60870dd5c1cf49c658d7ea6e4e  libjava/gnu/java/beans/editors/FontEditor.java
! 63bb90ce54aa5a0288dce7b31c280bbb  libjava/gnu/java/beans/editors/NativeBooleanEditor.java
! e8f4aa282b4ed3b26654e5b6a6b829bc  libjava/gnu/java/beans/editors/NativeByteEditor.java
! 1eb29648bbe045b9dc70106b88628603  libjava/gnu/java/beans/editors/NativeDoubleEditor.java
! 03d60ac97ddd44171a0858d2d3628c29  libjava/gnu/java/beans/editors/NativeFloatEditor.java
! f72dc1a86f84a7784aabf6569d75b126  libjava/gnu/java/beans/editors/NativeIntEditor.java
! d7bf5a96a0f1d0e5df23cc4ed34c95ad  libjava/gnu/java/beans/editors/NativeLongEditor.java
! ff268a1b9a13c53459ae78d2e1ca08a6  libjava/gnu/java/beans/editors/NativeShortEditor.java
! 9dfbea0c6712e7dee1883d6dd6179e54  libjava/gnu/java/beans/editors/StringEditor.java
! 580fce43aa31cfafa35eb8e28c8ce40b  libjava/gnu/java/io/ASN1ParsingException.java
! 98ff3ea94583d214d6af5fe4a2875721  libjava/gnu/java/io/Base64InputStream.java
! 5b3309e61753ec1833b16f759c459b26  libjava/gnu/java/io/ClassLoaderObjectInputStream.java
! b92ed3d3265bcc4e7d966775d8c80d41  libjava/gnu/java/io/NullOutputStream.java
! eb4bf80231829bd7c53cbaacfeb2b5c6  libjava/gnu/java/io/ObjectIdentityWrapper.java
! 56b4759862fa482c07dc2098941ce68d  libjava/gnu/java/lang/ArrayHelper.java
! a423017eb1c0af3a13f73e6fd523daf2  libjava/gnu/java/lang/CharData.java
! a5a276ffb83290bad12fe96edb5f2eb0  libjava/gnu/java/lang/ClassHelper.java
! 126b441fd8de833ee6707ee9d6af88e7  libjava/gnu/java/lang/MainThread.java
! 204c09b2b63a8b5051f65a13298b1f05  libjava/gnu/java/lang/natMainThread.cc
! 57d243ba867f1f33fe07a12e453916ae  libjava/gnu/java/lang/reflect/TypeSignature.java
! 9e0effeef9ebf8681da4b0685207ce5a  libjava/gnu/java/locale/Calendar.java
! 2892bd5a274abd6f218fc21f548d34e5  libjava/gnu/java/locale/Calendar_de.java
! 4c78f678657ef8fa8984c3e1090416a9  libjava/gnu/java/locale/Calendar_en.java
! 2e30ee4dc0932e0e0954f0bc2196894d  libjava/gnu/java/locale/Calendar_nl.java
! 7c5b29fd9bc2526a2e9ccb7961761a90  libjava/gnu/java/locale/LocaleInformation.java
! 8ce7aee70ffdb2ba3c8060c8c86af8a2  libjava/gnu/java/locale/LocaleInformation_af_ZA.java
! 9a4a0c04500b14406cfd767794118157  libjava/gnu/java/locale/LocaleInformation_ar_AE.java
! 55fe4489194f3d2e70ca7302347b0b2e  libjava/gnu/java/locale/LocaleInformation_ar_BH.java
! 2e7003cf4f385c78c18022ae3a7ad19b  libjava/gnu/java/locale/LocaleInformation_ar_DZ.java
! ae6fd1060445920cd479ec140abb4449  libjava/gnu/java/locale/LocaleInformation_ar_EG.java
! bfca7bead44b0139ea24d88ebdbba53c  libjava/gnu/java/locale/LocaleInformation_ar_IN.java
! c5d87081b37d7739993d93878ef1182e  libjava/gnu/java/locale/LocaleInformation_ar_IQ.java
! 3ec94c5196fcecc7118d055d62f60e44  libjava/gnu/java/locale/LocaleInformation_ar_JO.java
! 7dcd84a5b03f727eb86dc2fecf0254c4  libjava/gnu/java/locale/LocaleInformation_ar_KW.java
! 8e015f2c7ccef7e521568c781dbf764b  libjava/gnu/java/locale/LocaleInformation_ar_LB.java
! f329ed246ac8ded7fd1782702b68745c  libjava/gnu/java/locale/LocaleInformation_ar_LY.java
! 5ced11f47d490e3dc8d52f47ec3158ea  libjava/gnu/java/locale/LocaleInformation_ar_MA.java
! 2d154d960c5901439bdf569cf056b36a  libjava/gnu/java/locale/LocaleInformation_ar_OM.java
! 534e9010b51627a6d7631d0b2c7db74c  libjava/gnu/java/locale/LocaleInformation_ar_QA.java
! 0f31a1d07366bf4d217c5fb3e01b2f9d  libjava/gnu/java/locale/LocaleInformation_ar_SD.java
! 813ce2724bbd25067d0f36f6017f077e  libjava/gnu/java/locale/LocaleInformation_ar_SY.java
! feb72fa73e466d07b538f4e4276d6078  libjava/gnu/java/locale/LocaleInformation_ar_TN.java
! c5b1efbd5ee6c98ec7cac515aca4c2b6  libjava/gnu/java/locale/LocaleInformation_ar_YE.java
! f902ecf34e0b3f157730ff163f54d596  libjava/gnu/java/locale/LocaleInformation_be_BY.java
! 7ef3dbf8ace7793c44115ae931f858de  libjava/gnu/java/locale/LocaleInformation_bn_IN.java
! c952b9d5d4e3be94f470540ae3a09467  libjava/gnu/java/locale/LocaleInformation_br_FR.java
! ce9ce4b95906745451aeeefa3df664a2  libjava/gnu/java/locale/LocaleInformation_bs_BA.java
! be703db896dd1d1842896a9a1984f7fe  libjava/gnu/java/locale/LocaleInformation_ca_ES.java
! 145c48c4616e569d5fbd3506585d01f2  libjava/gnu/java/locale/LocaleInformation_cs_CZ.java
! 11c00f3ab2c04c009992a03c01d01d5c  libjava/gnu/java/locale/LocaleInformation_cy_GB.java
! 5b7eb738593881f66e8e25db3b405800  libjava/gnu/java/locale/LocaleInformation_da_DK.java
! 3a94e1812562691959729a03266dfd3d  libjava/gnu/java/locale/LocaleInformation_de.java
! 75d3eb961b09c221e19f7400c9fed56c  libjava/gnu/java/locale/LocaleInformation_de_AT.java
! 9197fc87c2929b9ab10d6a688405cdc9  libjava/gnu/java/locale/LocaleInformation_de_BE.java
! 9dec069876e578d3d1d52f91005dff93  libjava/gnu/java/locale/LocaleInformation_de_CH.java
! 36102720a1136fd61dc1b1f25e02fcd0  libjava/gnu/java/locale/LocaleInformation_de_DE.java
! 8309aff033eabf87bb0cec638d4b1d56  libjava/gnu/java/locale/LocaleInformation_de_LU.java
! a06bea8efc3c9a488ddc50a17b8df2ad  libjava/gnu/java/locale/LocaleInformation_el_GR.java
! 568b1dbfc95b95a45487dff271b79356  libjava/gnu/java/locale/LocaleInformation_en.java
! d3c8ca5f9a4d6eee2a9cfa1f9295bb27  libjava/gnu/java/locale/LocaleInformation_en_AU.java
! 0331cc5455cd6005a84075a0e22e3b32  libjava/gnu/java/locale/LocaleInformation_en_BW.java
! 32d9a6e2fa322ac0a8e1d7c0330b021f  libjava/gnu/java/locale/LocaleInformation_en_CA.java
! 3b3bd1158788c43870df18b8633e21d7  libjava/gnu/java/locale/LocaleInformation_en_DK.java
! 8b7852f6ec702fe7a5072e697c579702  libjava/gnu/java/locale/LocaleInformation_en_GB.java
! aa48e212aacd8d1da7d1b6acb49931b7  libjava/gnu/java/locale/LocaleInformation_en_HK.java
! 026ac8a3ac0a7992dc901f59de108f67  libjava/gnu/java/locale/LocaleInformation_en_IE.java
! 1714d3e71d4431621ce42a8209c7117c  libjava/gnu/java/locale/LocaleInformation_en_IN.java
! c1157f0d8c59361577aaa3620c20ef23  libjava/gnu/java/locale/LocaleInformation_en_NZ.java
! 0ec9bf5566ec44d241b3320b085ef28c  libjava/gnu/java/locale/LocaleInformation_en_PH.java
! 44214b9b8d70dc7e432585bdb7c94d79  libjava/gnu/java/locale/LocaleInformation_en_SG.java
! 59098338f5fca2ae2018e62059e05030  libjava/gnu/java/locale/LocaleInformation_en_US.java
! c78ea188e7181d2f24bbc793b3223e9a  libjava/gnu/java/locale/LocaleInformation_en_ZA.java
! b866acbe75c74a8a5329f016d1839078  libjava/gnu/java/locale/LocaleInformation_en_ZW.java
! d271d448cfbcabbd178ea6781ea6fe9a  libjava/gnu/java/locale/LocaleInformation_es_AR.java
! 6d2c1b46ec3c5e91945badf29adacd39  libjava/gnu/java/locale/LocaleInformation_es_BO.java
! 9e65be183df912cb1f6b3bc969598cb8  libjava/gnu/java/locale/LocaleInformation_es_CL.java
! c9b48c91da50bdf28131ec8236f0e6ff  libjava/gnu/java/locale/LocaleInformation_es_CO.java
! 17b68b43391cad4c2fa34c05b9c64bea  libjava/gnu/java/locale/LocaleInformation_es_CR.java
! aaaf75d39c69ee950c9f59b30107f74e  libjava/gnu/java/locale/LocaleInformation_es_DO.java
! fd41bf533bb5a6036617131da4d0589c  libjava/gnu/java/locale/LocaleInformation_es_EC.java
! e3b65a88b46416b9a84bc76f56728a31  libjava/gnu/java/locale/LocaleInformation_es_ES.java
! ed1ad9b7e834b1e1f9f2a83abdd2e1e0  libjava/gnu/java/locale/LocaleInformation_es_GT.java
! 9f539fb4faf548ee06f4005c91c00f7c  libjava/gnu/java/locale/LocaleInformation_es_HN.java
! 1038c89d8db6641975276b9bd7f57008  libjava/gnu/java/locale/LocaleInformation_es_MX.java
! 94bf9de0a496e735d0374f37449d646b  libjava/gnu/java/locale/LocaleInformation_es_NI.java
! 7cba16f4f0f8986eb38accfdbe19e225  libjava/gnu/java/locale/LocaleInformation_es_PA.java
! c4663ecc74bf9cee9d84bd02381af5e6  libjava/gnu/java/locale/LocaleInformation_es_PE.java
! f0c3ae0fd06dd6646d39d6b1aa43305c  libjava/gnu/java/locale/LocaleInformation_es_PR.java
! ffacfc0cd3f20f8566b843420f191996  libjava/gnu/java/locale/LocaleInformation_es_PY.java
! 3775921354013a193b752d9bc33da313  libjava/gnu/java/locale/LocaleInformation_es_SV.java
! c1a08c59a1ac3fd77471e79e28c70524  libjava/gnu/java/locale/LocaleInformation_es_US.java
! bf3711b5bc4f63f75aa33b16dcfa5b1a  libjava/gnu/java/locale/LocaleInformation_es_UY.java
! 7b9c64c512bae7aac0e7a3ce6c4f4a60  libjava/gnu/java/locale/LocaleInformation_es_VE.java
! 9ac541a54b176788a7d4ae03bd86f16c  libjava/gnu/java/locale/LocaleInformation_et_EE.java
! aa2c16e5eabf3db5a04d356ac038d564  libjava/gnu/java/locale/LocaleInformation_eu_ES.java
! c601764f4d2baf4582f2b55012835c7e  libjava/gnu/java/locale/LocaleInformation_fa_IR.java
! 4ce4aaec23f947183eb40d66fa035867  libjava/gnu/java/locale/LocaleInformation_fi_FI.java
! 357adbd95975a12b8318cc443f1e18ac  libjava/gnu/java/locale/LocaleInformation_fo_FO.java
! a02a15566931335a65800e05969c862d  libjava/gnu/java/locale/LocaleInformation_fr_BE.java
! e82fcb9d062ddca28dda57eb96ea6d3f  libjava/gnu/java/locale/LocaleInformation_fr_CA.java
! f5dc9c3b0a67d5d73274ab40746ee646  libjava/gnu/java/locale/LocaleInformation_fr_CH.java
! a9aff95743712563082ed4ad18056707  libjava/gnu/java/locale/LocaleInformation_fr_FR.java
! 60503eb328510473c113ddb88cd6896f  libjava/gnu/java/locale/LocaleInformation_fr_LU.java
! 3445a39e5e84418d8192375eaded9950  libjava/gnu/java/locale/LocaleInformation_ga_IE.java
! 3a5c5ce9ba574f4a2b1243ed1a6f9076  libjava/gnu/java/locale/LocaleInformation_gd_GB.java
! 10ccb84c44f5ddd31e098da614e602ae  libjava/gnu/java/locale/LocaleInformation_gl_ES.java
! 13a549450356f57d9e824c75b3638e6f  libjava/gnu/java/locale/LocaleInformation_gv_GB.java
! 45575ee406f298b2b7d32992dcc35b99  libjava/gnu/java/locale/LocaleInformation_he_IL.java
! c18a4eb752af556050242c66381104d2  libjava/gnu/java/locale/LocaleInformation_hi_IN.java
! 6593a2ec0af737a1c0b3cc3fada3d2d5  libjava/gnu/java/locale/LocaleInformation_hr_HR.java
! 4c8140a23c26653f20b9ded6c2a697eb  libjava/gnu/java/locale/LocaleInformation_hu_HU.java
! cd523e22b71654f23eb618b1422c2266  libjava/gnu/java/locale/LocaleInformation_id_ID.java
! 3da509155e9c7b4157c1c58b69639bab  libjava/gnu/java/locale/LocaleInformation_it_CH.java
! 3efbd5c00fe1a8da7cfaf37a8315dc89  libjava/gnu/java/locale/LocaleInformation_it_IT.java
! 2732a1b66b9b8f946cd705aa681103bc  libjava/gnu/java/locale/LocaleInformation_iw_IL.java
! de579db1d9e668916795c419600ec0f6  libjava/gnu/java/locale/LocaleInformation_ja_JP.java
! 2e1f2ffdd26e5e0e77a6569a95419557  libjava/gnu/java/locale/LocaleInformation_ka_GE.java
! 86e596d7baf6c086a0b376de66527c13  libjava/gnu/java/locale/LocaleInformation_kl_GL.java
! 77679b85f6c7a201a26115272ee981df  libjava/gnu/java/locale/LocaleInformation_ko_KR.java
! 27d3edb86ff292a6a55b32a8c3025d48  libjava/gnu/java/locale/LocaleInformation_kw_GB.java
! 9e8b797a0855c9755ee173448f2e44af  libjava/gnu/java/locale/LocaleInformation_lt_LT.java
! 7bb0ad84ba2a33f60c512dcbe4ca4505  libjava/gnu/java/locale/LocaleInformation_lv_LV.java
! 2ed8bc7c02161d05044239aee9921d44  libjava/gnu/java/locale/LocaleInformation_mi_NZ.java
! d822e96b799a9d7745aa78411fa3ced6  libjava/gnu/java/locale/LocaleInformation_mk_MK.java
! 00509f8ce54feb003d264730abeb8e85  libjava/gnu/java/locale/LocaleInformation_mr_IN.java
! 11d559843748a0f3d916bfb53aaf96f3  libjava/gnu/java/locale/LocaleInformation_mt_MT.java
! bad049f96cfc4d66d0cc4aa9ea25c6f2  libjava/gnu/java/locale/LocaleInformation_nl.java
! 6dec732b97669f0a4b652f38fd3f824f  libjava/gnu/java/locale/LocaleInformation_nl_BE.java
! 2a931730842c2723d2189ce727eee89b  libjava/gnu/java/locale/LocaleInformation_nl_NL.java
! 36ec8e89fb164584d1f332a2d93623c9  libjava/gnu/java/locale/LocaleInformation_nn_NO.java
! a1b81ee5749335de53b122ff49cff9bd  libjava/gnu/java/locale/LocaleInformation_no_NO.java
! f1bb6e20d4019edb8162ca74ba2608ad  libjava/gnu/java/locale/LocaleInformation_oc_FR.java
! 030526c0ae0273c08bb668e7e7eddcbd  libjava/gnu/java/locale/LocaleInformation_pl_PL.java
! 5864d8676bfeaaebbb3993137bd78f9e  libjava/gnu/java/locale/LocaleInformation_pt_BR.java
! c086d02c319fcd825c4ec44470869d97  libjava/gnu/java/locale/LocaleInformation_pt_PT.java
! 97526ca0618a10900a3c6a16a9a74191  libjava/gnu/java/locale/LocaleInformation_ro_RO.java
! 4284c61a9551b90ad29ea7eba493d366  libjava/gnu/java/locale/LocaleInformation_ru_RU.java
! 94b8edaa5a008bbe25229a734e0ae464  libjava/gnu/java/locale/LocaleInformation_ru_UA.java
! dc8b3de938a7eba2deb9419d036ac597  libjava/gnu/java/locale/LocaleInformation_se_NO.java
! df2e16834a125a26ed9e8cd6c174ee87  libjava/gnu/java/locale/LocaleInformation_sk_SK.java
! f9a07c799a4cc6efc54b301261d02bcd  libjava/gnu/java/locale/LocaleInformation_sl_SI.java
! bfe42a36e4f286237c9690986252bead  libjava/gnu/java/locale/LocaleInformation_sq_AL.java
! 4e5a8e3aa39b27e8554c4428ee6bb123  libjava/gnu/java/locale/LocaleInformation_sr_YU.java
! 21c2520f65d33ec976a2b58d4630a4b9  libjava/gnu/java/locale/LocaleInformation_sv_FI.java
! ca8129ec792e73f93c7beab276fdd4e0  libjava/gnu/java/locale/LocaleInformation_sv_SE.java
! 97074cadd6b41044812f8aa85161262e  libjava/gnu/java/locale/LocaleInformation_ta_IN.java
! 556edd2ab8771172f891bf3dde6b8f79  libjava/gnu/java/locale/LocaleInformation_te_IN.java
! 072c6888d42f50b76d66aba33e924a18  libjava/gnu/java/locale/LocaleInformation_tg_TJ.java
! de2421c2e5fbd30bf37d27c3273daf3f  libjava/gnu/java/locale/LocaleInformation_tl_PH.java
! 47666e8ad393d6af6b56ddb1a51a92b0  libjava/gnu/java/locale/LocaleInformation_tr_TR.java
! b009fcdb2c49bceda071dd681eeaff0e  libjava/gnu/java/locale/LocaleInformation_uk_UA.java
! e06307b11cd3765662d96a6556b2fbdc  libjava/gnu/java/locale/LocaleInformation_ur_PK.java
! 4e076a49112d9fb45a048ab248417594  libjava/gnu/java/locale/LocaleInformation_uz_UZ.java
! 80e3476b04a08eaeee17f850c077f5cd  libjava/gnu/java/locale/LocaleInformation_vi_VN.java
! 1396f9d4c1fa82949ac82ec66cfac4d4  libjava/gnu/java/locale/LocaleInformation_yi_US.java
! ca2cdab1335a9da5ea252c99bcb82c27  libjava/gnu/java/locale/LocaleInformation_zh_CN.java
! 0012def1a98f4e282f974aa05509a264  libjava/gnu/java/locale/LocaleInformation_zh_HK.java
! f0d51620b28477a7563c8250f2e030dd  libjava/gnu/java/locale/LocaleInformation_zh_SG.java
! 15bfd7e87fe279da7f5ebe24c05e3b6d  libjava/gnu/java/locale/LocaleInformation_zh_TW.java
! 700035deab36df81803b3aa6897f03d6  libjava/gnu/java/math/MPN.java
! ca4b5d01a014c42536525e347ce4ca72  libjava/gnu/java/net/BASE64.java
! 3ea9efd7db3ea6c7df22ff034345166b  libjava/gnu/java/net/CRLFInputStream.java
! 5b1f2e935efeb7a4a8908a0b441bdacd  libjava/gnu/java/net/CRLFOutputStream.java
! 1290080a8ad85a70f5e0eec49798aab9  libjava/gnu/java/net/DefaultContentHandlerFactory.java
! 38053a02759566fa2b308062062d8f14  libjava/gnu/java/net/EmptyX509TrustManager.java
! fa203947dfa3ee57b0cb08e54117f897  libjava/gnu/java/net/GetLocalHostAction.java
! ea1bfc732a2571142fe2395b769bc020  libjava/gnu/java/net/HeaderFieldHelper.java
! 0c8c1b793b1f473955923795c361002a  libjava/gnu/java/net/LineInputStream.java
! 72fae8cc756708382b5a25a20737c519  libjava/gnu/java/net/PlainDatagramSocketImpl.java
! eb1f952f23064c49cefabcdb387997f7  libjava/gnu/java/net/PlainSocketImpl.java
! cdeb788fc87f243a097084a0040fdd57  libjava/gnu/java/net/URLParseError.java
  d9b29b8294c58409235594201413dc95  libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc
! 6551ac0c3eccd42e5afe7e6219a56c11  libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
  5e83d55877cb24426be5359d5c40f8bd  libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
  d6a9b780a28afc317d11ea27f94fc448  libjava/gnu/java/net/natPlainSocketImplNoNet.cc
! 624baf0491e6575cb5cd3ddbae5fe24b  libjava/gnu/java/net/natPlainSocketImplPosix.cc
! c5dcfdb861d707f55f7403374bdfa044  libjava/gnu/java/net/natPlainSocketImplWin32.cc
  92519bc3a52a1bdf0b42a788661a5bcd  libjava/gnu/java/net/protocol/core/Connection.java
  bdcb8e9d2d8a08f125de3168878c4a09  libjava/gnu/java/net/protocol/core/CoreInputStream.java
  2ee0a1c8055cc886c615bd80daa5f50b  libjava/gnu/java/net/protocol/core/Handler.java
  ec33c998e82a7d76787fca918c89c7b1  libjava/gnu/java/net/protocol/core/natCoreInputStream.cc
- 4abdf8a40c8e27e662e6d60f3f67bf5c  libjava/gnu/java/net/protocol/file/Connection.java
- 304508514d1133136259fa3885efb273  libjava/gnu/java/net/protocol/file/Handler.java
- 3befacb5875d82cba7decd2601719954  libjava/gnu/java/net/protocol/ftp/ActiveModeDTP.java
- 137d1175c836676e3e19b5fddfe31cc8  libjava/gnu/java/net/protocol/ftp/BlockInputStream.java
- df570bf20b8f69287694ff0895f9fae4  libjava/gnu/java/net/protocol/ftp/BlockOutputStream.java
- ad38598c32295d371a0505caadc6c566  libjava/gnu/java/net/protocol/ftp/CompressedInputStream.java
- 87082faacf0aa30336adbb7c4578dcb0  libjava/gnu/java/net/protocol/ftp/CompressedOutputStream.java
- 1611c91ac9254be081c7ceac87dfd31e  libjava/gnu/java/net/protocol/ftp/DTP.java
- dadebc4a4958837f54f0e3bbaca36596  libjava/gnu/java/net/protocol/ftp/DTPInputStream.java
- c5738b6c11a22f03edf03f48470c70ca  libjava/gnu/java/net/protocol/ftp/DTPOutputStream.java
- 2649b705b332daa33b0060b1c68bc849  libjava/gnu/java/net/protocol/ftp/FTPConnection.java
- 752eca2af708b3e2bb02c656ce9adba7  libjava/gnu/java/net/protocol/ftp/FTPException.java
- 93d0259e40f6101fdb3f007015960586  libjava/gnu/java/net/protocol/ftp/FTPResponse.java
- 65f23d0d611d3a13df746e5f752789d9  libjava/gnu/java/net/protocol/ftp/FTPURLConnection.java
- 0e34296ec30b8ae29d2c745135d26b99  libjava/gnu/java/net/protocol/ftp/Handler.java
- 4571d018b0738b08bd54a47c279ed6f1  libjava/gnu/java/net/protocol/ftp/PassiveModeDTP.java
- e2e6202d8e6d71b992ef31aaa9d0f3a2  libjava/gnu/java/net/protocol/ftp/StreamInputStream.java
- 6db9965dfe56ce8e39c94be94292a4b6  libjava/gnu/java/net/protocol/ftp/StreamOutputStream.java
- 8acd7c5c032334e933915b202146d239  libjava/gnu/java/net/protocol/ftp/package.html
  6a8f94313b2a30810e39e96a64dcd2ad  libjava/gnu/java/net/protocol/gcjlib/Connection.java
  487eb8cedecccc92088e0314ede6839e  libjava/gnu/java/net/protocol/gcjlib/Handler.java
! 6415e22f7b2fe946134211d15c7216d1  libjava/gnu/java/net/protocol/http/Authenticator.java
! 6ff900c03dd0904250e2bf4508848acd  libjava/gnu/java/net/protocol/http/ByteArrayRequestBodyWriter.java
! 84b1d1542baf7a7662c431b058666009  libjava/gnu/java/net/protocol/http/ByteArrayResponseBodyReader.java
! f33d2befa4ad40ad81a52b6f30eb5d32  libjava/gnu/java/net/protocol/http/ChunkedInputStream.java
! ac555adc7ef3beb568b8fbaba5648638  libjava/gnu/java/net/protocol/http/Cookie.java
! 2bebda30e8f7311da317650683cdb91d  libjava/gnu/java/net/protocol/http/CookieManager.java
! 502cb805b584ba6fa3522881d7efab22  libjava/gnu/java/net/protocol/http/Credentials.java
! 00c09639b6983448145fa309d3443dd3  libjava/gnu/java/net/protocol/http/HTTPConnection.java
! d239576fe50a63fb4618777322ee7202  libjava/gnu/java/net/protocol/http/HTTPDateFormat.java
! ee968f903fef782781d8b13f10eed186  libjava/gnu/java/net/protocol/http/HTTPURLConnection.java
! e51384d825981b41c5f876555bc695a2  libjava/gnu/java/net/protocol/http/Handler.java
! c97373c3b2fb2f5a07b57b0259163164  libjava/gnu/java/net/protocol/http/Headers.java
! 874da591de27add262badb3b2845b465  libjava/gnu/java/net/protocol/http/Request.java
! 02bfd717a53aac7a60553748942e29ea  libjava/gnu/java/net/protocol/http/RequestBodyWriter.java
! e31e583520035e73bb197eaf5ed1d26d  libjava/gnu/java/net/protocol/http/Response.java
! ed5ec780a81be2eed220c806b237a349  libjava/gnu/java/net/protocol/http/ResponseBodyReader.java
! 0093c188f84ba80d6e6b2293515badc7  libjava/gnu/java/net/protocol/http/ResponseHeaderHandler.java
! abfb8b6776e311087bd858f192ac32d1  libjava/gnu/java/net/protocol/http/SimpleCookieManager.java
! 6a77c045de2fcbedd3f94186d419fd45  libjava/gnu/java/net/protocol/http/event/ConnectionEvent.java
! 78ea2d686389b96f090404077fe19e3c  libjava/gnu/java/net/protocol/http/event/ConnectionListener.java
! de538053e0750e2942df2172d981b121  libjava/gnu/java/net/protocol/http/event/RequestEvent.java
! 7f75b6f279a402207675fc9817058ce7  libjava/gnu/java/net/protocol/http/event/RequestListener.java
! ccea28db320d5c115ffd7b245afeaf57  libjava/gnu/java/net/protocol/https/Handler.java
! 91056f5c508e18bd5190adf2bab12596  libjava/gnu/java/net/protocol/jar/Connection.java
! 41dfd873fd6c074f605b2bc8a90062bd  libjava/gnu/java/net/protocol/jar/Handler.java
! 9902e0768ead73f666ae91fc2a270c33  libjava/gnu/java/nio/ChannelInputStream.java
! 82566c9b04c39f61d57d34823c73f03f  libjava/gnu/java/nio/ChannelOutputStream.java
! cb76ff8454bc5b746db812a55624a889  libjava/gnu/java/nio/ChannelReader.java
! 6e193b0517444f202d58f33cff7a2b0d  libjava/gnu/java/nio/DatagramChannelImpl.java
! d14cc960f6378b6cb59d372afcae5f5c  libjava/gnu/java/nio/DatagramChannelSelectionKey.java
! cb6015e455fcac6b1f9ae9b14693b1b2  libjava/gnu/java/nio/FileLockImpl.java
! 71489da981303e357057477514ece231  libjava/gnu/java/nio/InputStreamChannel.java
! f142c6608a074887967f7da1b74ef8a1  libjava/gnu/java/nio/NIOConstants.java
! 39bddf115205de68353b39379a959276  libjava/gnu/java/nio/NIODatagramSocket.java
! 7af214d431d58a477307ef40e0bcd2d0  libjava/gnu/java/nio/NIOServerSocket.java
! 587d1bb7c7794236067e2ccdbd6686a3  libjava/gnu/java/nio/NIOSocket.java
! bb328de7ee7e7e77b6cb89a88773c0a6  libjava/gnu/java/nio/OutputStreamChannel.java
! a6e5d6007251bec04d9dfdef965bf9d5  libjava/gnu/java/nio/PipeImpl.java
! 1fc00d32d315bf50f725f926034877bf  libjava/gnu/java/nio/SelectionKeyImpl.java
! aeb2f7fe72aa7b600bcb189eab608f2f  libjava/gnu/java/nio/SelectorImpl.java
! 9b5f02ed17294f9e054f638baf06ad5a  libjava/gnu/java/nio/SelectorProviderImpl.java
! 1d6d4dfd7d6f9e98a6d4071fe4b2a837  libjava/gnu/java/nio/ServerSocketChannelImpl.java
! c14b3efaf490ed5648a9d99d9d9a13b3  libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java
! 45d4c7f51b5fd1cfc58dd58b8a11f896  libjava/gnu/java/nio/SocketChannelImpl.java
! 934d549145f58b862ee33b978e0ae1ec  libjava/gnu/java/nio/SocketChannelSelectionKey.java
! 50c7499977fa42561e7770a3e3c1e3f0  libjava/gnu/java/nio/VMPipe.java
! d04cdfdc9e1697daefd48cac010b720d  libjava/gnu/java/nio/VMSelector.java
! 9b2726afec4ecd391c8ed0a041733828  libjava/gnu/java/nio/channels/FileChannelImpl.java
  575c1291931c0398fe68b7a11ebaf56c  libjava/gnu/java/nio/channels/natFileChannelEcos.cc
! e6f1a02192a2e9e3db13e0136ad69d72  libjava/gnu/java/nio/channels/natFileChannelPosix.cc
  a2d0bf28c0e4078f1ea995aa9ad29f1e  libjava/gnu/java/nio/channels/natFileChannelWin32.cc
- c60d1ca4708a1b2870be1f30e66aabb9  libjava/gnu/java/nio/charset/ISO_8859_1.java
- a3d62a753e75fb04db81f4cca7f4b8c6  libjava/gnu/java/nio/charset/Provider.java
- 726a67ed746815b5c42f278769890c5b  libjava/gnu/java/nio/charset/US_ASCII.java
- 281092c4a334350f96b5e92f37864a87  libjava/gnu/java/nio/charset/UTF_16.java
- 007e31c244d69c4b5ae81b743b612d3d  libjava/gnu/java/nio/charset/UTF_16BE.java
- bd6d525a43ff4e46c8a17e780cf6a800  libjava/gnu/java/nio/charset/UTF_16Decoder.java
- 04d56dab6e4eff4553b4153e6a66eb52  libjava/gnu/java/nio/charset/UTF_16Encoder.java
- 10cd5d09a2dc86e927edda25700a9556  libjava/gnu/java/nio/charset/UTF_16LE.java
- a81b72901870173b7ef706c4c25f335c  libjava/gnu/java/nio/charset/UTF_8.java
  8ebe6d880112167c99859a7c303a61eb  libjava/gnu/java/nio/natNIOServerSocket.cc
  cd6c955f144fe77d7ecdc4e395190e82  libjava/gnu/java/nio/natPipeImplEcos.cc
! 6083138bc35a2a96f71e3c4e725bb2fa  libjava/gnu/java/nio/natPipeImplPosix.cc
  ee753ef0d970cdd89b8116291fd8994d  libjava/gnu/java/nio/natPipeImplWin32.cc
  9b9b814091f4d041d8bf33a83d48af23  libjava/gnu/java/nio/natSelectorImplEcos.cc
  84551c2aa9367c343fa04c5cc1ade07e  libjava/gnu/java/nio/natSelectorImplPosix.cc
  c63cf04e292ec947c38c4da75fb662dd  libjava/gnu/java/nio/natSelectorImplWin32.cc
! 54a20404a608b75508eb26e140887ba8  libjava/gnu/java/rmi/RMIMarshalledObjectInputStream.java
! cda4f7715405e7b39fc287b86c14d5f7  libjava/gnu/java/rmi/RMIMarshalledObjectOutputStream.java
! 675a116fec4c110b41853f584a7f71a4  libjava/gnu/java/rmi/dgc/DGCImpl.java
! d350729b3ceafb007c5e23e0d6a8a0ea  libjava/gnu/java/rmi/dgc/DGCImpl_Skel.java
! 73f70304df6f9a419764879abab75850  libjava/gnu/java/rmi/dgc/DGCImpl_Stub.java
! 158013e5feb3f7506ac376a69a1a3715  libjava/gnu/java/rmi/registry/RegistryImpl.java
! 0d91e9d1a595c6286757f57b79157744  libjava/gnu/java/rmi/registry/RegistryImpl_Skel.java
! 74de1c6fadfa12851a18308fea8a6e6b  libjava/gnu/java/rmi/registry/RegistryImpl_Stub.java
! f48281b0f85c2ede81e65dc7ebaaef21  libjava/gnu/java/rmi/rmic/Compile_gcj.java
! b3e4317c8a32eebab73151c1ad3e7326  libjava/gnu/java/rmi/rmic/Compile_jikes.java
! 8c26332b9aa24207f530d62cb705a8c6  libjava/gnu/java/rmi/rmic/Compile_kjc.java
! c6169e8c0eb27f74c7bd255207924b9d  libjava/gnu/java/rmi/rmic/Compiler.java
! 95c1843949aca13959a9e0dd60121d12  libjava/gnu/java/rmi/rmic/CompilerProcess.java
! b4ed598207ed099e840c9d1d6a8584fb  libjava/gnu/java/rmi/rmic/RMIC.java
! 4baef9a7fe8802fac574a40e18d9e8a6  libjava/gnu/java/rmi/rmic/RMICException.java
! 2e203413417b3cd374ac3be969dc6a9a  libjava/gnu/java/rmi/rmic/TabbedWriter.java
! ef25eaa20286967f1393fe783c41ae3e  libjava/gnu/java/rmi/server/ConnectionRunnerPool.java
! ca84547adb6bafcc0f273fa690010bde  libjava/gnu/java/rmi/server/ProtocolConstants.java
! 89371d0cc1fd5ac42aa344f535cb265b  libjava/gnu/java/rmi/server/RMIDefaultSocketFactory.java
! bf516e3f7d6498ac00021f8546df831c  libjava/gnu/java/rmi/server/RMIHashes.java
! 2c201f55142735ae58ead450a2559253  libjava/gnu/java/rmi/server/RMIIncomingThread.java
! 1c9cd64ab79afc350c0f6dd8592d6775  libjava/gnu/java/rmi/server/RMIObjectInputStream.java
! 2f4ef6181b89424d8db9d8d140b4f03d  libjava/gnu/java/rmi/server/RMIObjectOutputStream.java
! 040711dc5629c54784de155a94c68b17  libjava/gnu/java/rmi/server/RMIVoidValue.java
! 446bfa20b5be691eb7d6820f75bd10da  libjava/gnu/java/rmi/server/UnicastConnection.java
! 72213edb114476a199dacc39b91a3f1a  libjava/gnu/java/rmi/server/UnicastConnectionManager.java
! b019b0a3a95e2f54c03059b43446f5c2  libjava/gnu/java/rmi/server/UnicastRef.java
! bfeba83964d38575a65c8fd49587eea2  libjava/gnu/java/rmi/server/UnicastRemoteCall.java
! 9aa322eecb08aeb7589a6a8a3d19aeb0  libjava/gnu/java/rmi/server/UnicastRemoteStub.java
! b1a7e650fac821eeafbce61cf36aa3ef  libjava/gnu/java/rmi/server/UnicastServer.java
! 0a8f678226cfefa7d43dc0bb33fb2d32  libjava/gnu/java/rmi/server/UnicastServerRef.java
! 235e5f0f6d8cfea84996d15865191946  libjava/gnu/java/security/Engine.java
! a850f25868d24bca70254d6992e57467  libjava/gnu/java/security/OID.java
! 5a89fac2007d696a8742f1977b3949bc  libjava/gnu/java/security/PolicyFile.java
! fdba86d8ab707a323967623ea43cebc7  libjava/gnu/java/security/action/GetPropertyAction.java
! dd1231c99bbe38cdc84014d66e6d59d5  libjava/gnu/java/security/action/GetSecurityPropertyAction.java
! 4ae3127e51187f5181b1f16afb7cff0f  libjava/gnu/java/security/action/SetAccessibleAction.java
! 1b39639f67511341b1387a28cd39fcdc  libjava/gnu/java/security/ber/BER.java
! 877f75deabe5a29016d1aa566dc91ce1  libjava/gnu/java/security/ber/BEREncodingException.java
! 985adcb832ef3488eb262133a6ee8e2c  libjava/gnu/java/security/ber/BERReader.java
! 3c5e1fcf828ce89b30a114d062934d2f  libjava/gnu/java/security/ber/BERValue.java
! 846f568a7fee0b7a089bae3146ccf7ce  libjava/gnu/java/security/der/BitString.java
! 23a739a994dc14f604e457f9ed1a9e95  libjava/gnu/java/security/der/DER.java
! a5939166b1e368af2d360cc809282bba  libjava/gnu/java/security/der/DEREncodingException.java
! 4ea01a903f9ee6eb4a876e17de362128  libjava/gnu/java/security/der/DERReader.java
! 053c8bd8e520aba921199e33d5a8a5f6  libjava/gnu/java/security/der/DERValue.java
! 468a875e8cb434500ca31c53cc665c40  libjava/gnu/java/security/der/DERWriter.java
! abdbb18edd978f6cf2e4ca8a15f9d082  libjava/gnu/java/security/pkcs/PKCS7SignedData.java
! 9f3cf21b60a32f70327a02edb7f02b78  libjava/gnu/java/security/pkcs/SignerInfo.java
! ec8190aa2f0d5a403e49f81d8474b4bb  libjava/gnu/java/security/provider/CollectionCertStoreImpl.java
! a2afb2b9a7752ac125ecd918733ce96c  libjava/gnu/java/security/provider/DSAKeyFactory.java
! e1314e7a81b368e4f0420fb75c163a76  libjava/gnu/java/security/provider/DSAKeyPairGenerator.java
! 604af68135f3e548265437503782673a  libjava/gnu/java/security/provider/DSAParameterGenerator.java
! acb32289583e378d31618b0fa1033ae1  libjava/gnu/java/security/provider/DSAParameters.java
! 282091e5f95f2317dc9cbeda07888823  libjava/gnu/java/security/provider/DSASignature.java
! fedaf2fd9858a0a59b935900ddb1d6c2  libjava/gnu/java/security/provider/DefaultPolicy.java
! 4e3ac4752941192d252f73d37ea7f4b7  libjava/gnu/java/security/provider/EncodedKeyFactory.java
! e347abdc6a049a64a6d2495bba67376f  libjava/gnu/java/security/provider/Gnu.java
! a9f2a69bfce101fc907a6794eda838f0  libjava/gnu/java/security/provider/GnuDHPublicKey.java
! 52ea68cbe99d5dacead02046c6f2f4be  libjava/gnu/java/security/provider/GnuDSAPrivateKey.java
! 23ac255ec73ee3a16d12abc57becf58d  libjava/gnu/java/security/provider/GnuDSAPublicKey.java
! 346b3e77924308e4228db47fd8a4b0f1  libjava/gnu/java/security/provider/GnuRSAPrivateKey.java
! 302da44332ddacfee607d7ea3184c6c9  libjava/gnu/java/security/provider/GnuRSAPublicKey.java
! 218e55f528d5f7dec888181dee2617ea  libjava/gnu/java/security/provider/MD2withRSA.java
! 4aa353ba2d5a676bce227cf4cbab8f31  libjava/gnu/java/security/provider/MD4withRSA.java
! 17644b0cfd428438a89e1362729f937e  libjava/gnu/java/security/provider/MD5.java
! ae8557c7d34af82b5adc8b3a79db7239  libjava/gnu/java/security/provider/MD5withRSA.java
! ef53c8166cbc349f82913d47b6754cf1  libjava/gnu/java/security/provider/PKIXCertPathValidatorImpl.java
! 59657493d5ee5819c740ee92a24185f5  libjava/gnu/java/security/provider/RSA.java
! c99ff6224247816b3f9a14cc8860355d  libjava/gnu/java/security/provider/RSAKeyFactory.java
! 8e80f5081fb992a57e59fa831703663b  libjava/gnu/java/security/provider/SHA.java
! 261dfb90dae98a5b6077b6cb46a85e55  libjava/gnu/java/security/provider/SHA1PRNG.java
! c54657fd4b2725766970481b22471638  libjava/gnu/java/security/provider/SHA1withRSA.java
! b589bf9b6a1df0f2891cd575a24a053b  libjava/gnu/java/security/provider/X509CertificateFactory.java
! 98b063d12627f9dbfee45ce9019dc6db  libjava/gnu/java/security/util/Prime.java
! 84d65234ec01fd28f3a1b63566d4a957  libjava/gnu/java/security/x509/GnuPKIExtension.java
! f0f66d103df056679f9eb907c256a53d  libjava/gnu/java/security/x509/PolicyNodeImpl.java
! a15a72fbaeefefe79a37c664e2cc20ca  libjava/gnu/java/security/x509/Util.java
! 81e13e80667dd46c9b616b708325f14e  libjava/gnu/java/security/x509/X500DistinguishedName.java
! d9f3c65be1ac8289113aa72d1b9fac5d  libjava/gnu/java/security/x509/X509CRL.java
! 7c83777665606c9db25fac5b4515300a  libjava/gnu/java/security/x509/X509CRLEntry.java
! d6d52b54fb5edc74a7eff13e43c9cbf7  libjava/gnu/java/security/x509/X509CRLSelectorImpl.java
! bebecfdf3fd49e9d4ad9f42a789d6bcb  libjava/gnu/java/security/x509/X509CertPath.java
! 5a5a586edaf58c61ddf94a994da56b6c  libjava/gnu/java/security/x509/X509CertSelectorImpl.java
! c28c3c6b13b5d6b8e6c0f326d78c01db  libjava/gnu/java/security/x509/X509Certificate.java
! 189a3071322421181c1c368bbe14a27c  libjava/gnu/java/security/x509/ext/AuthorityKeyIdentifier.java
! 23cf713222eff479909c2ecf13393230  libjava/gnu/java/security/x509/ext/BasicConstraints.java
! 1bf3d7902a62b17647e15940fffc13ca  libjava/gnu/java/security/x509/ext/CRLNumber.java
! 6f761add13d6b2de9c93dfdd743f4273  libjava/gnu/java/security/x509/ext/CertificatePolicies.java
! 727ebe045c7cabec1b4c18e2ea02e436  libjava/gnu/java/security/x509/ext/ExtendedKeyUsage.java
! 7034e53b1fa5d538a4b351ea94fa006b  libjava/gnu/java/security/x509/ext/Extension.java
! 662eaa90c4b811a8fd221201dbcbbd61  libjava/gnu/java/security/x509/ext/GeneralNames.java
! fc48605829b64ced2380f8e89670126c  libjava/gnu/java/security/x509/ext/IssuerAlternativeNames.java
! 6beeffb599bcf7a29c8f53108b3e8ca0  libjava/gnu/java/security/x509/ext/KeyUsage.java
! 4a0660eda487a819159fcafc703f5f38  libjava/gnu/java/security/x509/ext/PolicyConstraint.java
! 6b6069820833ea25cd5fbdcdd059e149  libjava/gnu/java/security/x509/ext/PolicyMappings.java
! fbc20e686ef16de37d10724a780cfd81  libjava/gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java
! 02e9945038ecb196fd2afdcd9e45cab1  libjava/gnu/java/security/x509/ext/ReasonCode.java
! c4f1cbab7ac588dcfa9adfbf16c29a45  libjava/gnu/java/security/x509/ext/SubjectAlternativeNames.java
! d1e3caae256233f961a868b08356edbc  libjava/gnu/java/security/x509/ext/SubjectKeyIdentifier.java
! 8c55c996336bb8871800fa6fcd56312e  libjava/gnu/java/text/AttributedFormatBuffer.java
! 60f8f940e09ebc2091288dfd6747fd45  libjava/gnu/java/text/BaseBreakIterator.java
! 7f56faddadaedd49538fc201986d6f27  libjava/gnu/java/text/CharacterBreakIterator.java
! 93d32b64607d4b58f5c0910df1fdf753  libjava/gnu/java/text/FormatBuffer.java
! 18fa83aaf252b9a1947d748b1aae8716  libjava/gnu/java/text/FormatCharacterIterator.java
! b44fafa6eb3c56bf577ac6a332b4a8e4  libjava/gnu/java/text/LineBreakIterator.java
! b1e97a859729fe3ad59d42117a6cd4ab  libjava/gnu/java/text/SentenceBreakIterator.java
! 81860fb36203c72bff43673e1fe25d5c  libjava/gnu/java/text/StringFormatBuffer.java
! 0efe2ced5916832d75bf9f3d68b06fa6  libjava/gnu/java/text/WordBreakIterator.java
! 87b462874a4a3de8834ae566d2b46ad1  libjava/gnu/java/util/DoubleEnumeration.java
! 721595961c8fe60e28d911437959c3fa  libjava/gnu/java/util/EmptyEnumeration.java
! dc1c01c9fdd403494ce2d9ace702a179  libjava/gnu/java/util/prefs/FileBasedFactory.java
! bdc23177bcba14ee82ad774173488e38  libjava/gnu/java/util/prefs/MemoryBasedFactory.java
! cc84c351e8c9480a67b2f4c2215528d1  libjava/gnu/java/util/prefs/MemoryBasedPreferences.java
! 98fd617988192ccc24e793d784306080  libjava/gnu/java/util/prefs/NodeReader.java
! 17898f1aeb8f9c200a561d2e69ccf475  libjava/gnu/java/util/prefs/NodeWriter.java
! e28cfc0b5b604881775f3576254af514  libjava/gnu/regexp/CharIndexed.java
! 8e768eec3a2739db1b778fe731ec7cae  libjava/gnu/regexp/CharIndexedCharArray.java
! 51c0332461ea6e8bd62139183f697cd8  libjava/gnu/regexp/CharIndexedInputStream.java
! d0f93a634792c3f0fb7bf63e16e8ca4b  libjava/gnu/regexp/CharIndexedString.java
! 18325689f4b65127fd91af5fef59d715  libjava/gnu/regexp/CharIndexedStringBuffer.java
! 690a68ec6633b4a5da207e8e5307e41a  libjava/gnu/regexp/MessagesBundle.properties
! 43ee563c682f6b6045a6ec5090bf8653  libjava/gnu/regexp/MessagesBundle_fr.properties
! 2ca5c6ed64e61113b8d237b7a0414952  libjava/gnu/regexp/RE.java
! 9c2e4e317b862c3ce2a692a47c04b626  libjava/gnu/regexp/REException.java
! c9aa7a2d3136116c1dff49437475259e  libjava/gnu/regexp/REFilterInputStream.java
! f52c7ff7a4e8098be8a7a9d76b00ec1b  libjava/gnu/regexp/REMatch.java
! 54cbd2dd46a3dfd7be0cf6342f365636  libjava/gnu/regexp/REMatchEnumeration.java
! bccbeceba3f41a3715a981ee5d4351e6  libjava/gnu/regexp/RESyntax.java
! 181eab891ba76478a28e21c702a67f72  libjava/gnu/regexp/REToken.java
! 84f81f8c6128396cd8dd470006e4a04d  libjava/gnu/regexp/RETokenAny.java
! c05b56431a026f44360793f34b62cf96  libjava/gnu/regexp/RETokenBackRef.java
! f96a67548e1f6d28fbe509b917f23274  libjava/gnu/regexp/RETokenChar.java
! e77cb6d2cf828b37e215f81a7c4b79c0  libjava/gnu/regexp/RETokenEnd.java
! cf0b3b9e8b943e99db4042dc1f7483ec  libjava/gnu/regexp/RETokenEndSub.java
! e879db19d3570f3f8d5500da44213af7  libjava/gnu/regexp/RETokenLookAhead.java
! f30f0e1b92c6356085607998973093f0  libjava/gnu/regexp/RETokenOneOf.java
! ae88cbf97f0cee7144c942a0f86fc660  libjava/gnu/regexp/RETokenPOSIX.java
! 5e9cdf6728ef1af30b8b3b95c39875e5  libjava/gnu/regexp/RETokenRange.java
! 90a0c21407a9b54e4462f99d9e721ca9  libjava/gnu/regexp/RETokenRepeated.java
! 39ea9d831746cc02c44e4cbab3f2dae9  libjava/gnu/regexp/RETokenStart.java
! 689a51d03c973278149aa015e796eadc  libjava/gnu/regexp/RETokenWordBoundary.java
! 146923ad757d358ebed034913d4de2cb  libjava/gnu/regexp/UncheckedRE.java
! c26ef538e67e3deb512779799b28091e  libjava/gnu/xml/aelfred2/ContentHandler2.java
! 7780e0453ac20446471564b3f9619d0e  libjava/gnu/xml/aelfred2/JAXPFactory.java
! 8be7547c5d7fdfbaa19754c784097144  libjava/gnu/xml/aelfred2/SAXDriver.java
! 2b25537715f0c0f99314c865305ea896  libjava/gnu/xml/aelfred2/XmlParser.java
! af1756890c9737bdfae5baa2791cb520  libjava/gnu/xml/aelfred2/XmlReader.java
! 94a1396750c1ce521fd28f5bffe3d4bf  libjava/gnu/xml/aelfred2/package.html
! bd7422843a0ff49efb9859d97feb99ea  libjava/gnu/xml/dom/Consumer.java
! b3cbe0292002dcfc49070c72c6316c09  libjava/gnu/xml/dom/DTDAttributeTypeInfo.java
! 333eea1b6ea378b12fd8b1fec1254a99  libjava/gnu/xml/dom/DTDElementTypeInfo.java
! 86844919a5a580669700fa7b900e6610  libjava/gnu/xml/dom/DomAttr.java
! 4b9f767f55d7fe0b6bfff99be9e56f13  libjava/gnu/xml/dom/DomCDATASection.java
! 32dae6b5fa67df781d8f7fc46e3bd0cf  libjava/gnu/xml/dom/DomCharacterData.java
! 897ff595d27bfd60bb61e42219e563fa  libjava/gnu/xml/dom/DomComment.java
! 903c026aa2cf6667765524c0bdb16c6b  libjava/gnu/xml/dom/DomDOMException.java
! 52797c5cfae7312c3158f20ad8eb988e  libjava/gnu/xml/dom/DomDoctype.java
! a5f741d6b1b8c8b8a65e579ad270993e  libjava/gnu/xml/dom/DomDocument.java
! 23e41ec8afbdc4262bc9d65f27b45966  libjava/gnu/xml/dom/DomDocumentBuilder.java
! ee1041dac15fb93978df227bdc83fb7c  libjava/gnu/xml/dom/DomDocumentBuilderFactory.java
! b219f237d8ba492348ac747f84e673c7  libjava/gnu/xml/dom/DomDocumentConfiguration.java
! 63225efeef1e72722354b63353218a05  libjava/gnu/xml/dom/DomDocumentFragment.java
! b8bd910d399ce7b7518a3a7e0f0037a8  libjava/gnu/xml/dom/DomElement.java
! 1c6e746a2b999f7b3f20818d4519fe59  libjava/gnu/xml/dom/DomEntity.java
! 8645a436e70e5079334fa2032d584fd1  libjava/gnu/xml/dom/DomEntityReference.java
! fe90af1c8640286849b427344b4f92aa  libjava/gnu/xml/dom/DomEvent.java
! 88885584af95c7ffbfc11f0d173ef2b2  libjava/gnu/xml/dom/DomExtern.java
! c07550757b9ad7956bbf932f68658002  libjava/gnu/xml/dom/DomImpl.java
! 6c91017d58e0de5173469613c9a4f459  libjava/gnu/xml/dom/DomIterator.java
! f9ba0587f075dba968be1a3c5dcda401  libjava/gnu/xml/dom/DomNSResolverContext.java
! 96dc9fd28a4645702f57385442ed833a  libjava/gnu/xml/dom/DomNamedNodeMap.java
! 76c24846c5c069c36b6f911d1a35ba8a  libjava/gnu/xml/dom/DomNode.java
! 0806311830cbdc6953e757973b84c6a8  libjava/gnu/xml/dom/DomNodeIterator.java
! ad7dea61862424da19b79165a15787d6  libjava/gnu/xml/dom/DomNotation.java
! 3b6d9e0ca5575548820a2602cba0659f  libjava/gnu/xml/dom/DomNsNode.java
! ad454b6f5f4c5d13ffc6a2a9e4a485ec  libjava/gnu/xml/dom/DomProcessingInstruction.java
! 0b0ed75c2b509f28517b4166b82a3143  libjava/gnu/xml/dom/DomText.java
! baf8d7a94d5332599bc8d29f446b9dec  libjava/gnu/xml/dom/DomXPathExpression.java
! 2220dd81624f9e3b75da57ec34ba34e3  libjava/gnu/xml/dom/DomXPathNSResolver.java
! 4ec1f99900b821b6953ee4196da70f7d  libjava/gnu/xml/dom/DomXPathResult.java
! 2fa9312834f4dd502da99a8f4da562fe  libjava/gnu/xml/dom/ImplementationList.java
! 132f0665bbe29f3e0e79b8e61390c6b2  libjava/gnu/xml/dom/ImplementationSource.java
! 2e3ee2740253b47552302501724fe832  libjava/gnu/xml/dom/JAXPFactory.java
! ec872e0a9438ddf66493c19b081ec80a  libjava/gnu/xml/dom/ls/DomLSException.java
! 7e343a6d1fd3c3599da3870f5e47724a  libjava/gnu/xml/dom/ls/DomLSInput.java
! 9df0aa862f976730fe147636c1978c1a  libjava/gnu/xml/dom/ls/DomLSOutput.java
! 28aae42f8fee117467f1bb569c818123  libjava/gnu/xml/dom/ls/DomLSParser.java
! a8f1a79e0a9ac08c38ebe7ed2cd245c2  libjava/gnu/xml/dom/ls/DomLSSerializer.java
! 45dc39d1e5f2ee292798c053249655dc  libjava/gnu/xml/dom/ls/FilteredSAXEventSink.java
! 0058a6f8b645c28ad7b6757fca46575f  libjava/gnu/xml/dom/ls/ReaderInputStream.java
! 4a278d2d4c0e4d509acb6b3a1c78e54e  libjava/gnu/xml/dom/ls/SAXEventSink.java
! a4644e892b412363dba9a8bb544d45d7  libjava/gnu/xml/dom/ls/WriterOutputStream.java
! 5c03dc00ba2cedc9601869693be9a0b0  libjava/gnu/xml/dom/package.html
! d4e0ff30c59cb3b80f3c29efe6debb8a  libjava/gnu/xml/pipeline/CallFilter.java
! d7afeda1c180f3d78d131da0fd4650d4  libjava/gnu/xml/pipeline/DomConsumer.java
! 563412ccff508ec331a8c954b4f51926  libjava/gnu/xml/pipeline/EventConsumer.java
! d5c43e35f305467f2c2ee78bef7021b3  libjava/gnu/xml/pipeline/EventFilter.java
! 13a8357fb7c8da9fde52cc1060a80e65  libjava/gnu/xml/pipeline/LinkFilter.java
! a59617b546d5078567ed1d761bc7cecf  libjava/gnu/xml/pipeline/NSFilter.java
! 70f7f4148c693e4473f67c8d835ffcf5  libjava/gnu/xml/pipeline/PipelineFactory.java
! 98d24c228802fe569bd8d34096b5db07  libjava/gnu/xml/pipeline/TeeConsumer.java
! 95a6e72b482df1da77bcfdeda606eeaa  libjava/gnu/xml/pipeline/TextConsumer.java
! 324108add20a8b9782741836c51db147  libjava/gnu/xml/pipeline/ValidationConsumer.java
! 9fa423b2d726f6acac6a53217d2674f3  libjava/gnu/xml/pipeline/WellFormednessFilter.java
! bf4530a5836deb393ee7c49c6b006491  libjava/gnu/xml/pipeline/XIncludeFilter.java
! af24fb240e67078f31720cffd7afea92  libjava/gnu/xml/pipeline/XsltFilter.java
! f2e7803342b30192fea843661fbe92d6  libjava/gnu/xml/pipeline/package.html
! b56d001f0840db7b23099fc7a54c7850  libjava/gnu/xml/transform/AbstractNumberNode.java
! 138729afa585c1ad3469b80e37d95df4  libjava/gnu/xml/transform/ApplyImportsNode.java
! cb7bd6b4c06b5b532e3ded6175f010ea  libjava/gnu/xml/transform/ApplyTemplatesNode.java
! dc75d518f1c81413614ede35291a2c83  libjava/gnu/xml/transform/AttributeNode.java
! 2f459decc86a4fa46c413d2041999bdf  libjava/gnu/xml/transform/AttributeSet.java
! d602c42980ba8ea78193d5d647aa2736  libjava/gnu/xml/transform/Bindings.java
! f941533a345337a61316b556f91a92f6  libjava/gnu/xml/transform/CallTemplateNode.java
! 015a58da90a130128fa882cb4fc0dfb4  libjava/gnu/xml/transform/ChooseNode.java
! 40db2be558940e7354c92fc553fb81e5  libjava/gnu/xml/transform/CommentNode.java
! 6c45904f4745e6bccca0fc56fa450f90  libjava/gnu/xml/transform/CopyNode.java
! 73586cc8d1d97a5e294a2ad4cd7f1956  libjava/gnu/xml/transform/CopyOfNode.java
! 4e97cca3cdf0b45889c0e9ad96bb74cd  libjava/gnu/xml/transform/CurrentFunction.java
! 8e9c1b459244c5034f20a60fc1fa2537  libjava/gnu/xml/transform/DOMSourceLocator.java
! 66d902c57e5ad117939e30b1f2221a68  libjava/gnu/xml/transform/DocumentFunction.java
! d67e97d341c875675acc04810bcdee69  libjava/gnu/xml/transform/ElementAvailableFunction.java
! a74995a8e9a551e20c6e8559a650828f  libjava/gnu/xml/transform/ElementNode.java
! edcebd5e5e363c207095b11be7ec1593  libjava/gnu/xml/transform/ErrorListenerErrorHandler.java
! c9941631353892048e234d2e13dfc54a  libjava/gnu/xml/transform/ForEachNode.java
! 7a8ddc032221c68f2d7e0f5fbf4d7025  libjava/gnu/xml/transform/FormatNumberFunction.java
! 79e955803724ef94f4188c4506a38280  libjava/gnu/xml/transform/FunctionAvailableFunction.java
! 7854a15e569d8be65d1479e5f6950541  libjava/gnu/xml/transform/GenerateIdFunction.java
! 3dad5cb7ee1c0e5af7615ff748b5c13b  libjava/gnu/xml/transform/IfNode.java
! 71bfef592c056e0117ce7721f1516783  libjava/gnu/xml/transform/Key.java
! 663569d3004b5c2011ab5c7068795a75  libjava/gnu/xml/transform/KeyFunction.java
! f2e569ae71ac3650718588b703a94664  libjava/gnu/xml/transform/LiteralNode.java
! c8d753e034be6072f104dfce1a5a66ba  libjava/gnu/xml/transform/MessageNode.java
! c711dee2e692ed416591a709eca5395c  libjava/gnu/xml/transform/NodeNumberNode.java
! 6ea258a86f98d21bcb347604a23c429e  libjava/gnu/xml/transform/NumberNode.java
! 2668933ccc51ad2fb4843b6e0682ea7a  libjava/gnu/xml/transform/OtherwiseNode.java
! 93c1a9b5b67cb5c1f196dd26fbce2113  libjava/gnu/xml/transform/ParameterNode.java
! c61eb188025052c749d58849fd8d4861  libjava/gnu/xml/transform/ProcessingInstructionNode.java
! 483b83c73856100a3a83ce7e5228422a  libjava/gnu/xml/transform/SAXSerializer.java
! e6a3cb7c47c3815bcb2779b62e65291f  libjava/gnu/xml/transform/SortKey.java
! 6f1c2f3948a01aeb9497c31495255213  libjava/gnu/xml/transform/StreamSerializer.java
! 47f9df01bb932becb8cfb9813ce984ff  libjava/gnu/xml/transform/Stylesheet.java
! 1bcdc36b454176532dee71a516841a5a  libjava/gnu/xml/transform/SystemPropertyFunction.java
! f8a16c084274d1322f76816a4534ecbb  libjava/gnu/xml/transform/Template.java
! 4ef6271d45ba4c64dba82204a549a792  libjava/gnu/xml/transform/TemplateNode.java
! 98b939ea73a349aa4da40fdf03b9a516  libjava/gnu/xml/transform/TemplatesImpl.java
! 246421ba11eeb96ac00e75f00c9bb5f5  libjava/gnu/xml/transform/TextNode.java
! bf3ea87edfacad2bddf901e27f7b03ef  libjava/gnu/xml/transform/TransformerFactoryImpl.java
! 24ccb3381e19f342c5f6dfbd275104b3  libjava/gnu/xml/transform/TransformerImpl.java
! 9b5ef1608b89e202630e2c64340a6924  libjava/gnu/xml/transform/TransformerOutputProperties.java
! 481a92781d7b058d46d7a60c2d0bf134  libjava/gnu/xml/transform/URIResolverEntityResolver.java
! 443d35632a109c177f667b392cc8b041  libjava/gnu/xml/transform/UnparsedEntityUriFunction.java
! 3bea1f89737340f4f44a997989f0c7e5  libjava/gnu/xml/transform/ValueOfNode.java
! e3c863a23eeda0e97c08f5cddce60a70  libjava/gnu/xml/transform/WhenNode.java
! 9ad226dc87791f5a4c4133c9b31cc10c  libjava/gnu/xml/transform/WithParam.java
! 15be9a10ce51e2ae305ff4fb78581022  libjava/gnu/xml/transform/XSLComparator.java
! 75f1d507154a7eae6ee7e529ffac94d8  libjava/gnu/xml/transform/XSLURIResolver.java
! a5f7457b48f962fd02f2f51b9c655c3b  libjava/gnu/xml/transform/package.html
! 7e6fd54afa4e1a7b2dc1730df42114ec  libjava/gnu/xml/util/DoParse.java
! 18b745b60d905f40b24b3d0631e17e8f  libjava/gnu/xml/util/DomParser.java
! bfabdd4ad4727f5f6ccde412b8fd97cd  libjava/gnu/xml/util/Resolver.java
! 634ed2fb4f45104b14615ea826fc53c6  libjava/gnu/xml/util/SAXNullTransformerFactory.java
! 00f452cdf1d46ac18fd0b1f9470a1e33  libjava/gnu/xml/util/XCat.java
! db08dcf8a080d3f616c3eb9fa26fe75c  libjava/gnu/xml/util/XHTMLWriter.java
! 2994297d544c7717a1046f6dedea7746  libjava/gnu/xml/util/XMLWriter.java
! df1890cb981553493160f2d55e0bd5d4  libjava/gnu/xml/util/package.html
! 8944b6bb1ad99b29334af499d601317a  libjava/gnu/xml/xpath/AndExpr.java
! f534cedcd91ece1d53f85d3c3258c674  libjava/gnu/xml/xpath/ArithmeticExpr.java
! ed33098a7c493c545460e69481fbbe60  libjava/gnu/xml/xpath/BooleanFunction.java
! fc61fac486c9d27fa9b8bdeff65dcd65  libjava/gnu/xml/xpath/CeilingFunction.java
! 77d3bce60771265996836c881f3f941e  libjava/gnu/xml/xpath/ConcatFunction.java
! 7547057bea1266cbf6a6470de1511c11  libjava/gnu/xml/xpath/Constant.java
! 6c6cc13c2b2e3cd86dde28a367782881  libjava/gnu/xml/xpath/ContainsFunction.java
! a0fd6ad33770347c5dc23750f1ec2abb  libjava/gnu/xml/xpath/CountFunction.java
! 900f6d53829af391032761b46a7533e6  libjava/gnu/xml/xpath/DocumentOrderComparator.java
! ce23066ab267eba1bc6ba149a444a3b5  libjava/gnu/xml/xpath/EqualityExpr.java
! de29e05d4cf5c8765a928821b2b02861  libjava/gnu/xml/xpath/Expr.java
! ff318c61583bd8b8388de9ed02951bc7  libjava/gnu/xml/xpath/FalseFunction.java
! a76899701db6df0a21ea363e13dc4503  libjava/gnu/xml/xpath/FloorFunction.java
! bf0cac5382785b57421d4973e6034ecb  libjava/gnu/xml/xpath/Function.java
! f0e58a825fdf14f75eadc1fe44da2888  libjava/gnu/xml/xpath/FunctionCall.java
! baccc4fdd02bcfa5e93785fc13da66a4  libjava/gnu/xml/xpath/IdFunction.java
! 0f6844155081d5c1c380f30749b08b60  libjava/gnu/xml/xpath/LangFunction.java
! 9a8361ff290e90ee483c03be2ecaaf58  libjava/gnu/xml/xpath/LastFunction.java
! 069203bce9b74829278b7d77104a3df1  libjava/gnu/xml/xpath/LocalNameFunction.java
! 87844589393f73cc0202367c7ca5b434  libjava/gnu/xml/xpath/NameFunction.java
! c132bb6607e21275c00a6ef1e18aaed8  libjava/gnu/xml/xpath/NameTest.java
! 945a7ccdaa9bc6db6a4bc4502b7005e6  libjava/gnu/xml/xpath/NamespaceTest.java
! d9e23d51fdff29237ca806992dadcde0  libjava/gnu/xml/xpath/NamespaceUriFunction.java
! bde0f123c31feb48304fc6b7775f723d  libjava/gnu/xml/xpath/NegativeExpr.java
! 4b964902f919cc5b4bf66a649a65251f  libjava/gnu/xml/xpath/NodeTypeTest.java
! b7a4da95c30cbd9052305e31ab3ad1bd  libjava/gnu/xml/xpath/NormalizeSpaceFunction.java
! 17173abefbc0f5098a97985001cd8dc2  libjava/gnu/xml/xpath/NotFunction.java
! 9223e73a5e9199a93f2aa1cf5ea91a40  libjava/gnu/xml/xpath/NumberFunction.java
! c18792d820fb192583b8a516160b7e48  libjava/gnu/xml/xpath/OrExpr.java
! 825e4971dc40c19d3d347251c84575e3  libjava/gnu/xml/xpath/ParenthesizedExpr.java
! 86cfa10ec85dc885ee7b7764cd859c28  libjava/gnu/xml/xpath/Path.java
! cc55c2acffb01cf19bf71ad3174c7211  libjava/gnu/xml/xpath/Pattern.java
! 4b11315581df12c63e0387914045c886  libjava/gnu/xml/xpath/PositionFunction.java
! 9c80edd250350cf1317edd3f83065e13  libjava/gnu/xml/xpath/Predicate.java
! 87ea3e84092ed28c40343fe1161dbd6c  libjava/gnu/xml/xpath/RelationalExpr.java
! c8ce5553c79b09d4e47456da9a2d0d69  libjava/gnu/xml/xpath/Root.java
! 3e5f7077116435eb314f7a8887a9ef9b  libjava/gnu/xml/xpath/RoundFunction.java
! 9d7b36d628bbbf9f1fa14f55c37e0967  libjava/gnu/xml/xpath/Selector.java
! 5eedaff66cf612a906201d9c9ec09594  libjava/gnu/xml/xpath/StartsWithFunction.java
! 1eee65f1c39332f9072f895d55c76a13  libjava/gnu/xml/xpath/Steps.java
! 6b19a5e55a205a83bfe0d32f58411fc3  libjava/gnu/xml/xpath/StringFunction.java
! 304b968ea2006e4ea0a5fcae5c5ed2ee  libjava/gnu/xml/xpath/StringLengthFunction.java
! 58a6599345b15b7468fa1c8f44491e24  libjava/gnu/xml/xpath/SubstringAfterFunction.java
! 42bc2842f3f7d2a9e8c77ff0d62b164a  libjava/gnu/xml/xpath/SubstringBeforeFunction.java
! 03fd4d13881791748d79218b7e38bab6  libjava/gnu/xml/xpath/SubstringFunction.java
! 9d47b66cfc241dc5fc3ae913eb271151  libjava/gnu/xml/xpath/SumFunction.java
! a89c90da03ff5900c482042ef7a420b6  libjava/gnu/xml/xpath/Test.java
! a9de35d28ac236083d342efcfe39f71b  libjava/gnu/xml/xpath/TranslateFunction.java
! 43db44ffd853f416f3accff65b888780  libjava/gnu/xml/xpath/TrueFunction.java
! 29db92d1bced841a67022872fc31fb06  libjava/gnu/xml/xpath/UnionExpr.java
! 963f2325460d3b95eb5568f2f1b55501  libjava/gnu/xml/xpath/VariableReference.java
! 71ec9e57361a1bdd4342133dfa39cf2b  libjava/gnu/xml/xpath/XPathFactoryImpl.java
! dd338543c52ccf9c69e15b83464732bc  libjava/gnu/xml/xpath/XPathImpl.java
! ee39370bd25ad09eeb6e0adbb53d581a  libjava/gnu/xml/xpath/XPathParser.java
! 175ba6b0a1b888fa692fb3edf31a80f4  libjava/gnu/xml/xpath/XPathParser.y
! 966ed0ce3b2ea6019dccec26411d3f94  libjava/gnu/xml/xpath/XPathTokenizer.java
! 7bd3b9ae8c6fa245e8d11b8d9c7accc4  libjava/include/.cvsignore
! d4fd72c4a920e8ada788fba1e9c72123  libjava/include/Makefile.am
! 5d98aac248b583d27a65950d7d1653bf  libjava/include/Makefile.in
  b2c1fd6580a74e9409da97b7d903e312  libjava/include/boehm-gc.h
! 88fed1de1d0186fb9a16b7ddf2302519  libjava/include/config.h.in
  c4f13c76610deabfbf13fce4ed092a52  libjava/include/darwin-signal.h
  103d984e127298285d898fdf861bbcc4  libjava/include/default-signal.h
  61a8f68287be880d78be5f3a87955a5b  libjava/include/dwarf2-signal.h
  aa8a9cdeb8ac492990052b2e3f224667  libjava/include/execution.h
! 384a80fb5b03f2250d9c159001480e64  libjava/include/i386-signal.h
  236d1671f79ab5d9e6b987e93d051bc4  libjava/include/java-assert.h
  d66bf0f1a1d12efd11fc047959c52eab  libjava/include/java-chardecomp.h
! 50bb0fec40855cb56ca526cf5d28cb3a  libjava/include/java-chartables.h
  b88c9d141cd0ae62903ccbb3dc5a9e8d  libjava/include/java-cpool.h
  b08fcab1147c4c0f06f4b3054856c91b  libjava/include/java-insns.h
! ca6b408845d8e1c29884d2c27753d35b  libjava/include/java-interp.h
! d297209498258dac076993676296c072  libjava/include/java-props.h
! da63d5f9ac14db70b22f1d9c1dbd1dcf  libjava/include/java-stack.h
! 0789d9932454f5ec288d266ada58126d  libjava/include/jawt.h
! 763b17cf3295749a1d95aa7b7b837b7d  libjava/include/jawt_md.h
! 8029549dd2ab5917c1af9aa0920f8a43  libjava/include/jni.h
! 3420ede0c100bf5cb3ba28144e3a668c  libjava/include/jvm.h
  55ed6e8ea2ae96155602547fcfe5d96c  libjava/include/jvmpi.h
  9441b9d3f94beac1a647035979b982bb  libjava/include/mips-signal.h
  6cb1b655ac757a3e299eb50f5dbee908  libjava/include/no-gc.h
  dc5ae11aa4d5874055cf367180dff7c5  libjava/include/no-threads.h
  8de1c85740456c7a7de765e3c50522ef  libjava/include/pa-signal.h
  6777c6d12df6603c54d46c1c6bba7bcf  libjava/include/posix-threads.h
! 1f5cd39df961d644ef7e0c8536b88621  libjava/include/posix.h
  b315ac636a1fe99a9bd26e3e806cd134  libjava/include/powerpc-signal.h
  6869fd746eb8c3dad811ceaa6bc10054  libjava/include/s390-signal.h
! 0dca6f40820422e5f1d84d99b08a04bb  libjava/include/sh-signal.h
  f5b53b2a72c970a11da53e6a1d293c2d  libjava/include/sparc-signal.h
  1ded054093de910d9786c62bc4fe8cc6  libjava/include/stamp-h.in
  fcc68eea0e37ca05d241fcd08098f4d2  libjava/include/win32-signal.h
  d799c46a0bab61ed909e368cd7dcc256  libjava/include/win32-threads.h
  b16429d3b1d37bdb78d6d1aa19160085  libjava/include/win32.h
! 90d1f158a328a75373335e2c604b85a6  libjava/include/x86_64-signal.h
! 6212e5399aa4dc6edf776ccceb1d7664  libjava/interpret.cc
! 43011f0235e06f668522936caddb04bf  libjava/java/applet/Applet.java
! 8a78e9d7be8730c4a2b49e6a832c4cbf  libjava/java/applet/AppletContext.java
! 1d252adca2809ef2a2b2c1d876a6ab1a  libjava/java/applet/AppletStub.java
! d83910a110efa240391bba1dcecbecaf  libjava/java/applet/AudioClip.java
! 6c72d3b470136a9f22fea1e5aefa5a85  libjava/java/awt/AWTError.java
! 927117b62f39b2021ce62b59c0aeb4e7  libjava/java/awt/AWTEvent.java
! cb52f58803314494fee4354844a9297b  libjava/java/awt/AWTEventMulticaster.java
! d97533fe22ed335dc6dd7871e8847526  libjava/java/awt/AWTException.java
! 683b7af0cc3d460b83e072fcbb7c893a  libjava/java/awt/AWTKeyStroke.java
! 4cb152a00ac7c47cc84589c3a61b2685  libjava/java/awt/AWTPermission.java
! 5eeefd4c3f3882b9c90fbc89474d5b4d  libjava/java/awt/ActiveEvent.java
! 9775c4a6dc73c4f5ecb814ef5bb0fb54  libjava/java/awt/Adjustable.java
! f0f0f4fa0650f190649ee87a9523ea2a  libjava/java/awt/AlphaComposite.java
! 98a68cf0352ce79910a4375f3e778717  libjava/java/awt/AttributeValue.java
! 07fd2f222eaa4314c4925027c6ac0ce8  libjava/java/awt/BasicStroke.java
! e451e766a666e32cf0d1defc2de82ee0  libjava/java/awt/BorderLayout.java
! e5b27acac8ca5f9efbecb4d03e1f9eff  libjava/java/awt/BufferCapabilities.java
! 361e4eea02148dcf7ff7f4252c71cd72  libjava/java/awt/Button.java
! e384588a42c96e73103535317a8bf965  libjava/java/awt/Canvas.java
! 13a0ffb891acaf63fb877096a2fcad29  libjava/java/awt/CardLayout.java
! faa0b6bb8624dffd1d8ee1315422f70c  libjava/java/awt/Checkbox.java
! 61ad680db9c5e04e487e3115c2b5cb07  libjava/java/awt/CheckboxGroup.java
! 0e633ea9f968032a1058c2f3d66c0b10  libjava/java/awt/CheckboxMenuItem.java
! ef0891d24e7547314feb8bcf103c6714  libjava/java/awt/Choice.java
! b56e8e479207574f2d691a350be651d4  libjava/java/awt/Color.java
! fb4cff4b8ea21b779406b3103cc38741  libjava/java/awt/ColorPaintContext.java
! 260fa17f0ada153f59bd2e26e2376868  libjava/java/awt/Component.java
! 9e7d200a4df1284f161eea89da642ad9  libjava/java/awt/ComponentOrientation.java
! 73260ee8d608612b11e20ef59f64d079  libjava/java/awt/Composite.java
! 2acf140b8cf30e1357ed1925d38e52d2  libjava/java/awt/CompositeContext.java
! 418ab865ae123cb9b170dd8b27f3ee86  libjava/java/awt/Container.java
! 83e385fce0e90d31fca15d40b22da806  libjava/java/awt/ContainerOrderFocusTraversalPolicy.java
! 9921223b0d3ca57355f12f5b66fd05f2  libjava/java/awt/Cursor.java
! 0f46d07f8cce000d721fbfad1506a1d9  libjava/java/awt/DefaultFocusTraversalPolicy.java
! 7366007d2012f2646e51728e551c8836  libjava/java/awt/DefaultKeyboardFocusManager.java
! bfd29c0cbfef52faeeba5936958e53bc  libjava/java/awt/Dialog.java
! ebd74bd3ca903aab85522fa16b8854bc  libjava/java/awt/Dimension.java
! 6f9aea8af026be641bc405b77e1f5621  libjava/java/awt/DisplayMode.java
! 20950f5c9d7a016142e2d7b17536f6c6  libjava/java/awt/Event.java
! 204b5860ded3440fe7891ffc86fe5c39  libjava/java/awt/EventDispatchThread.java
! f6460def9948cea1f9cab771788fb23a  libjava/java/awt/EventQueue.java
! 500b133820a98f95a54b18c5ce628484  libjava/java/awt/FileDialog.java
! 5296ca809476b874c0635f23693990e0  libjava/java/awt/FlowLayout.java
! fc4c9cfcd95caab1e2a9ea5219217bfd  libjava/java/awt/FocusTraversalPolicy.java
! 7cc0f37107328d70a0cafbe5c47d05c1  libjava/java/awt/Font.java
! 0246a6fef8c21f984f6a8af81d9b6404  libjava/java/awt/FontFormatException.java
! b61245fd089307de3ef663d1e600ee33  libjava/java/awt/FontMetrics.java
! 10f2259a0fad2b5659773b477326c22e  libjava/java/awt/Frame.java
! 20c194b521c972fd9476d8069cfbe340  libjava/java/awt/GradientPaint.java
! c62328407c3c860ac1f477581b0a6580  libjava/java/awt/Graphics.java
! 2466b896db6027f8643971276116813c  libjava/java/awt/Graphics2D.java
! 8ea98abc6e8555935088821af52ced9e  libjava/java/awt/GraphicsConfigTemplate.java
! 0cd7144b85957801b2cd7c0f270b2c9c  libjava/java/awt/GraphicsConfiguration.java
! f1bb88c175a59287cadf99732ee8f667  libjava/java/awt/GraphicsDevice.java
! fee2a4349eb23090449142e3841a9458  libjava/java/awt/GraphicsEnvironment.java
! 9bc99615884e2ac1f0f822e8c8516971  libjava/java/awt/GridBagConstraints.java
! 19bbb8c3bd8dff03cf7b09f343035e5f  libjava/java/awt/GridBagLayout.java
! 795c277367ac2ac6776da9d381f97366  libjava/java/awt/GridBagLayoutInfo.java
! 0077da7a15afeb78da54bb6d8cec014c  libjava/java/awt/GridLayout.java
! 3ae508118148b557d320911b9c08c320  libjava/java/awt/HeadlessException.java
! 05462dbd0a7def10dfcf92d09b26c994  libjava/java/awt/IllegalComponentStateException.java
! 640ec3ab2dd4e83e712922cd124944aa  libjava/java/awt/Image.java
! 15af9c6c55f2c84d964b5df54010be3c  libjava/java/awt/ImageCapabilities.java
! 43f5c33196b6b98516d3881459a536a8  libjava/java/awt/Insets.java
! 1f68ad27bf561a9f6e342a2d53c2255a  libjava/java/awt/ItemSelectable.java
! f5fc2f553606baa2df256d9b0247fbf1  libjava/java/awt/JobAttributes.java
! d675610b1daa750e9c528b2a4de31774  libjava/java/awt/KeyEventDispatcher.java
! fbb0449b014296b8f1fd125068c194c0  libjava/java/awt/KeyEventPostProcessor.java
! 5ad9c1d87ebbd69c210e053f779a55f1  libjava/java/awt/KeyboardFocusManager.java
! 5ad845b062e69a61ecd246a473c88faa  libjava/java/awt/Label.java
! 9def19734d65ad865db3e0a28c3a5191  libjava/java/awt/LayoutManager.java
! baa2f52db34d2c9ce086be503d73fb28  libjava/java/awt/LayoutManager2.java
! 09df6e66fcc0b12dbc0ff176a207f5b7  libjava/java/awt/List.java
! 48517059597e160fad2b0c2e9430b781  libjava/java/awt/MediaTracker.java
! 65a250a98291c507f431cf774be41707  libjava/java/awt/Menu.java
! cf6cf23852850ad078346986883bc2c6  libjava/java/awt/MenuBar.java
! 60bdbfa9737217d20128d5e4358b5115  libjava/java/awt/MenuComponent.java
! 60e46eaef9899c603e9be327c11d515e  libjava/java/awt/MenuContainer.java
! 38a701675fdd41aa2d083e5d536e8e78  libjava/java/awt/MenuItem.java
! a096b412140e318860b192dc09f8379f  libjava/java/awt/MenuShortcut.java
! 33633338d77a1e65262c838a2ce88c66  libjava/java/awt/PageAttributes.java
! a4caa6d1fe02d9c9bd657758b2ff7e8f  libjava/java/awt/Paint.java
! b9d837e392fef7b0efcc78ab331ad875  libjava/java/awt/PaintContext.java
! 3b7a9fcc11111aeeb8b7bfb617546a8a  libjava/java/awt/Panel.java
! 486f260a628532252f48337b0457a06c  libjava/java/awt/Point.java
! 22b93925b97cdba0122df8b2669f876d  libjava/java/awt/Polygon.java
! b1a907b4460c003e1e2120e6eeab7a04  libjava/java/awt/PopupMenu.java
! 94667107c2912d540410fb20c68bfd62  libjava/java/awt/PrintGraphics.java
! e08fffd4841cb4a13fea4ea3a2083f80  libjava/java/awt/PrintJob.java
! 9da8b27fa0ef6891c7fd77b7a1c356bf  libjava/java/awt/Rectangle.java
! b83f8b1be3660935a6342a912744668f  libjava/java/awt/RenderingHints.java
! 60de43b69e7801b5040f58ff6b1d4d55  libjava/java/awt/Robot.java
! ac9809b9acb014fe80cf4de3fb230b8b  libjava/java/awt/ScrollPane.java
! ce5d82ec33ea2ee47266ccea870e228e  libjava/java/awt/ScrollPaneAdjustable.java
! 472f1004399ff079c5646997c239d39b  libjava/java/awt/Scrollbar.java
! 7a5eb5c5e5958905d82e4a1802e92d98  libjava/java/awt/Shape.java
! b05f65723b7724b84e8211b4e61723d0  libjava/java/awt/Stroke.java
! 2a41e692569a37ddc21dfe3eae22c97f  libjava/java/awt/SystemColor.java
! 5e7aaf0ec95be6401dbd09fec586bdbb  libjava/java/awt/TextArea.java
! 067f03badcabb82a4bfa94e2d6456319  libjava/java/awt/TextComponent.java
! 68886f5cc5fc6761a1311b08f4fe34a0  libjava/java/awt/TextField.java
! 19dfd7a19117344b4842c84fe44f887f  libjava/java/awt/TexturePaint.java
! 23cce88f73be968af192c3f4e6a68007  libjava/java/awt/Toolkit.java
! 65059a94fd1c5b5cc67bfc44c4c01811  libjava/java/awt/Transparency.java
! 89d9e5bded0c3426c303e6ec50fd86e0  libjava/java/awt/Window.java
! 00d078c199ff67b12825215f83ad93d4  libjava/java/awt/color/CMMException.java
! 0528fda7ca3ecafc9bfa1354bb45faa0  libjava/java/awt/color/ColorSpace.java
! 529918c9e082ba26a991adbac5700fc9  libjava/java/awt/color/ICC_ColorSpace.java
! 336ce949459a7f3978d7e75bf0f67868  libjava/java/awt/color/ICC_Profile.java
! 63827cc0dd5eeaa8e977c8adb45c484b  libjava/java/awt/color/ICC_ProfileGray.java
! 3977f65d276b7836331745952f687c0c  libjava/java/awt/color/ICC_ProfileRGB.java
! 3c9583e3149c2a7c96276e96ea6cae07  libjava/java/awt/color/ProfileDataException.java
! 9dd7c2ad1e45c4d64e4d2df344813a65  libjava/java/awt/datatransfer/Clipboard.java
! 661658e816213c9c68b93cd330621493  libjava/java/awt/datatransfer/ClipboardOwner.java
! 87663bbff3ec05abef8d3d6c643cbfc1  libjava/java/awt/datatransfer/DataFlavor.java
! e3b9255510e608e09fe7419c9d08eec2  libjava/java/awt/datatransfer/FlavorMap.java
! 24fefc85a19c504c7cde6c5417847da7  libjava/java/awt/datatransfer/FlavorTable.java
! 4df8695a985bd9573bb8c5f5875d5fab  libjava/java/awt/datatransfer/MimeTypeParseException.java
! a2a519bb6172a0883291d29ef749f3e7  libjava/java/awt/datatransfer/StringSelection.java
! de06f29bdddb7c96723ec337d6778ad7  libjava/java/awt/datatransfer/SystemFlavorMap.java
! c323c07d8035363b5f9b7447a5724ef4  libjava/java/awt/datatransfer/Transferable.java
! 5bce440399e016e80ee0a2c516d9d1fb  libjava/java/awt/datatransfer/UnsupportedFlavorException.java
! 375355ef7b4fb0b2f734685707865f18  libjava/java/awt/dnd/Autoscroll.java
! 2c23b855f96f64e05f8b1a84a6137ef8  libjava/java/awt/dnd/DnDConstants.java
! e933b46a4fdc1c72bc94f3a577a639c0  libjava/java/awt/dnd/DnDEventMulticaster.java
! cdc10e974325532d60321aef0eaaa47e  libjava/java/awt/dnd/DragGestureEvent.java
! 393b34531e783fb43734d92f3920695e  libjava/java/awt/dnd/DragGestureListener.java
! 164bea8021b1ae791514c3dba05f290d  libjava/java/awt/dnd/DragGestureRecognizer.java
! 9aa7da2405c599d3d5bce67645e59d8f  libjava/java/awt/dnd/DragSource.java
! 77d10a0d8ac8480a7719f50570f8e0d6  libjava/java/awt/dnd/DragSourceAdapter.java
! 3fadd964f6006cb8c54790248ff9d5a2  libjava/java/awt/dnd/DragSourceContext.java
! 7461af1d7af473250fd966cce260d2fd  libjava/java/awt/dnd/DragSourceDragEvent.java
! 79251b7db42036bea06e767baaba36bf  libjava/java/awt/dnd/DragSourceDropEvent.java
! 0facb142f57be08d9db4b41db291d509  libjava/java/awt/dnd/DragSourceEvent.java
! e1548b75df4b956f404520574ec1b686  libjava/java/awt/dnd/DragSourceListener.java
! 3a246d0745c7dc94fadd21bbe91aad4f  libjava/java/awt/dnd/DragSourceMotionListener.java
! 5616c6484e20774570fb72066f93dac4  libjava/java/awt/dnd/DropTarget.java
! 25c70686335662d15d1d2ae3500e1059  libjava/java/awt/dnd/DropTargetAdapter.java
! 6da1e9a5450ebc80b9afa57d38819287  libjava/java/awt/dnd/DropTargetContext.java
! 9606648897e9463b8d08d571f9f55c42  libjava/java/awt/dnd/DropTargetDragEvent.java
! af5571db15c6d7b423c7392d3f44c06c  libjava/java/awt/dnd/DropTargetDropEvent.java
! 0927c1140cfc62aeac151505f200658a  libjava/java/awt/dnd/DropTargetEvent.java
! c339b2e8b979113debe06a614f4eb1ad  libjava/java/awt/dnd/DropTargetListener.java
! f14456c9e07a34abd6842e9f81815e1d  libjava/java/awt/dnd/InvalidDnDOperationException.java
! 479e25485053374685dd8e0123025e3a  libjava/java/awt/dnd/MouseDragGestureRecognizer.java
! e1056b77c980694886385da139d0cfd4  libjava/java/awt/dnd/peer/DragSourceContextPeer.java
! f2372bc6653f6e55eb9625d3026b1474  libjava/java/awt/dnd/peer/DropTargetContextPeer.java
! 8e7e7d869374e9e5b75c29858ab374cc  libjava/java/awt/dnd/peer/DropTargetPeer.java
! 7437287ce71d2bd67c3a2015db5d0c85  libjava/java/awt/event/AWTEventListener.java
! 4e4dc5ad596ae66d447fdb0dc4c98a03  libjava/java/awt/event/AWTEventListenerProxy.java
! 93a8f653905bef9c957cf0d7858560e9  libjava/java/awt/event/ActionEvent.java
! a45f7fe04097c4bb08dc40a4aa1761ac  libjava/java/awt/event/ActionListener.java
! 702af4ac06ab9384ce8654910cd2dbd5  libjava/java/awt/event/AdjustmentEvent.java
! b3d0a4a331f1e409bb5e07de24a8971a  libjava/java/awt/event/AdjustmentListener.java
! e9f95f606742a09e45703460df3edc21  libjava/java/awt/event/ComponentAdapter.java
! 105c5ec46789e607cec5edb9ea14a9e7  libjava/java/awt/event/ComponentEvent.java
! ec6b13e8889c72c6b24d4f60ad46ce1c  libjava/java/awt/event/ComponentListener.java
! 346886612dad69fba4e01c2431a3fa9d  libjava/java/awt/event/ContainerAdapter.java
! 8b251db9b9e90db0dce821c91ca6a56f  libjava/java/awt/event/ContainerEvent.java
! 7020b2c762d9433fb9a3776cef2272ac  libjava/java/awt/event/ContainerListener.java
! de709606d17c65812e4585f0a1da4919  libjava/java/awt/event/FocusAdapter.java
! 93573ae584457e115bece78249a2ce71  libjava/java/awt/event/FocusEvent.java
! 6f6498faa4b1d1fcb7e44f225ece2def  libjava/java/awt/event/FocusListener.java
! 187342bb2057027c6d2ff698e99179d5  libjava/java/awt/event/HierarchyBoundsAdapter.java
! 39311ef84a4335f8d2c2cf7c269e5532  libjava/java/awt/event/HierarchyBoundsListener.java
! ad23d63fc92c24bf8cf64fbccde3a6e7  libjava/java/awt/event/HierarchyEvent.java
! f37a178560d5582315acb39cb03829e6  libjava/java/awt/event/HierarchyListener.java
! 05a17156c27785d485da4034d1eb3da4  libjava/java/awt/event/InputEvent.java
! 49b3905688e50c154e549888cc8427a0  libjava/java/awt/event/InputMethodEvent.java
! 4b135904fb6766dc6e81960dfdff02d5  libjava/java/awt/event/InputMethodListener.java
! d8617c8b7590ed5f0a06db20e6a7d51b  libjava/java/awt/event/InvocationEvent.java
! 3e6bd30a1963371a1901a84a554a37d8  libjava/java/awt/event/ItemEvent.java
! c26f999b844d95805b675962df21cf48  libjava/java/awt/event/ItemListener.java
! c034144b29003b06a0b619b6c5cab372  libjava/java/awt/event/KeyAdapter.java
! 4cdd09aa55a67f256ea0403021a99289  libjava/java/awt/event/KeyEvent.java
! cf8b4951c634d7529747dad0b308c013  libjava/java/awt/event/KeyListener.java
! fe8bea0b5f7d2ab68c4f31b00a19b8a9  libjava/java/awt/event/MouseAdapter.java
! 7682223e6df49a29175b962ba7bf884d  libjava/java/awt/event/MouseEvent.java
! 4e5703bad1926e16dc376d17941c25d1  libjava/java/awt/event/MouseListener.java
! 0acb6a5348ea7d540e4e3b0bfaf95ef2  libjava/java/awt/event/MouseMotionAdapter.java
! fcf6bc187665e036cc04f66006dfa79d  libjava/java/awt/event/MouseMotionListener.java
! f4c24174251ab8e3e1b473dfefb5cd0e  libjava/java/awt/event/MouseWheelEvent.java
! 3c0bc38487491520094bee2c88813047  libjava/java/awt/event/MouseWheelListener.java
! f3359dde52d5db3ca62a5f047cc61983  libjava/java/awt/event/PaintEvent.java
! 10f674897ca3c5911ee76665a46f1e3f  libjava/java/awt/event/TextEvent.java
! 4cf8a50c6374ff7c91f3a9a3c85e4d7e  libjava/java/awt/event/TextListener.java
! beb0710da7d060ee6bea361a6d46dda9  libjava/java/awt/event/WindowAdapter.java
! 0168806ca968c02b372fe716744749a8  libjava/java/awt/event/WindowEvent.java
! 4a41e2e0756c018a0fe19a33c7752fb7  libjava/java/awt/event/WindowFocusListener.java
! 4874f39c3a97a1e726747fff8f270f0d  libjava/java/awt/event/WindowListener.java
! 3d08f1effff08872cf5a9a16dc5f53b7  libjava/java/awt/event/WindowStateListener.java
! cf1a5c4ec599f6c0ffc3354539299335  libjava/java/awt/font/FontRenderContext.java
! 369eb93c6bc665e100251589b3e5c4c4  libjava/java/awt/font/GlyphJustificationInfo.java
! d82ca7e0f444828e67a5642a21484fbd  libjava/java/awt/font/GlyphMetrics.java
! 152f6f6e8f75720867200896fffaa274  libjava/java/awt/font/GlyphVector.java
! ca37409e08e9c0569a0bd2f9c0ab45e7  libjava/java/awt/font/GraphicAttribute.java
! 378992a4483b5ba5bc0979eaf336ff4f  libjava/java/awt/font/ImageGraphicAttribute.java
! 48ce820ff946d05b1c6d824715787bb9  libjava/java/awt/font/LineBreakMeasurer.java
! 429e0e9234a1b29382c92221ce98297d  libjava/java/awt/font/LineMetrics.java
! 3e3c857223fd74772ffdd8b65e54a76e  libjava/java/awt/font/MultipleMaster.java
! 3d0a6a1238e2b24cc3e1598d37dedcaf  libjava/java/awt/font/NumericShaper.java
! b4806e8beb3912f6aab88287278a1572  libjava/java/awt/font/OpenType.java
! 507d24b99169448c3e339a37e152633a  libjava/java/awt/font/ShapeGraphicAttribute.java
! 00925642c7bb47f1aa52f57ecd6d1747  libjava/java/awt/font/TextAttribute.java
! 9768cd0d537ed8115e34b7c7c12a23f1  libjava/java/awt/font/TextHitInfo.java
! 505204d7f786907def5dec0e3b3d3416  libjava/java/awt/font/TextLayout.java
! e5e3af50e287228babe251d896866395  libjava/java/awt/font/TextMeasurer.java
! 25f105d0026d74a5d1b97b00a6412e4d  libjava/java/awt/font/TransformAttribute.java
! 009bf9e9fbe5bd8511c85da4c516e4e7  libjava/java/awt/geom/AffineTransform.java
! 9d9b4ae4c1618f77df99c49bd9638777  libjava/java/awt/geom/Arc2D.java
! 03b80b18e0dfec1bf00c9f60d42d5466  libjava/java/awt/geom/Area.java
! 8e986ca9c6e4740d2bcced7a12866f12  libjava/java/awt/geom/CubicCurve2D.java
! 494e5ac1b88d20afd01790dc40da843f  libjava/java/awt/geom/Dimension2D.java
! 2688abd6847543152f6db5a2cd9e4316  libjava/java/awt/geom/Ellipse2D.java
! 4c95290c440207b218a38d3321e224bc  libjava/java/awt/geom/FlatteningPathIterator.java
! d2bcbbfa7fc4a864215cbf9333526ec3  libjava/java/awt/geom/GeneralPath.java
! af27948bba6dbc7bb4b1cf6d5a1e3ab8  libjava/java/awt/geom/IllegalPathStateException.java
! b9ebb96937aa7fee031aa5c7d89af771  libjava/java/awt/geom/Line2D.java
! ad5ff62558c585a60ccba148a2f96478  libjava/java/awt/geom/NoninvertibleTransformException.java
! 8736c5233357558e69301f9803626d14  libjava/java/awt/geom/PathIterator.java
! 2136d0b30176d82bbd6c15f86d539c8a  libjava/java/awt/geom/Point2D.java
! 9ef1bcf8a8bbdcbc6ea63c989f9cc24a  libjava/java/awt/geom/QuadCurve2D.java
! 128ad4ab6daf7a16eb1634fc1c4cb545  libjava/java/awt/geom/Rectangle2D.java
! 623abf2076868b27f14a794c8682e843  libjava/java/awt/geom/RectangularShape.java
! 1e479f398f31b87fb8db543d4e765b71  libjava/java/awt/geom/RoundRectangle2D.java
! c11cd969b2267c6dc34298ac0e420a4b  libjava/java/awt/geom/doc-files/Area-1.png
! 0125a79ecd96cf321a605a10b7359122  libjava/java/awt/geom/doc-files/CubicCurve2D-1.png
! 9647917cd4939a852a459039c94313e2  libjava/java/awt/geom/doc-files/CubicCurve2D-2.png
! 5eadc6fce85ba8e2d84cdcd4cb512dad  libjava/java/awt/geom/doc-files/CubicCurve2D-3.png
! c38ed1af43ab69d5454c0bf994b1950c  libjava/java/awt/geom/doc-files/CubicCurve2D-4.png
! 6203261b61d166742b5201398a4f11f3  libjava/java/awt/geom/doc-files/CubicCurve2D-5.png
! 4fb914165077bb1aea9e0707b4f07c25  libjava/java/awt/geom/doc-files/Ellipse-1.png
! 2c2566d33581cd7c8261d08f55df5271  libjava/java/awt/geom/doc-files/FlatteningPathIterator-1.html
! 28d2dd159f2f10588be090aafe83924b  libjava/java/awt/geom/doc-files/GeneralPath-1.png
! 5ba45ab2e05f605014663667078c973f  libjava/java/awt/geom/doc-files/QuadCurve2D-1.png
! 3dd6e35d933217af34b1a286c80c543b  libjava/java/awt/geom/doc-files/QuadCurve2D-2.png
! f5cfefa54c4bc6113d35471de53d85fb  libjava/java/awt/geom/doc-files/QuadCurve2D-3.png
! 68db99c858f2599b39cd5be434c04d56  libjava/java/awt/geom/doc-files/QuadCurve2D-4.png
! 50969a468353f39012fd98d2b327fa5a  libjava/java/awt/geom/doc-files/QuadCurve2D-5.png
! f224cfbc2c0bbc5c99f7d67bd345ad22  libjava/java/awt/im/InputContext.java
! 742c7c2bd7e2c6d12544225a9925d36d  libjava/java/awt/im/InputMethodHighlight.java
! 29f3a974b4264ab2f0a7ca41a2d4f19a  libjava/java/awt/im/InputMethodRequests.java
! 2b70d1f9fcaf0c079fb4ad26c702d265  libjava/java/awt/im/InputSubset.java
! c5c83f2439e44e516c94d1ad768c3d7b  libjava/java/awt/im/spi/InputMethod.java
! e23d739312298b614e25611b5bc14b70  libjava/java/awt/im/spi/InputMethodContext.java
! ababdee55b6253465b0e2576aca3efb0  libjava/java/awt/im/spi/InputMethodDescriptor.java
! 23605d1470b2d6649eebd37fc9841be8  libjava/java/awt/image/AffineTransformOp.java
! 0c9f01091a21b94db3444d172755ece3  libjava/java/awt/image/AreaAveragingScaleFilter.java
! fa2332d08e56664918573a8d251cbd17  libjava/java/awt/image/BandCombineOp.java
! 19a3b780b8afc1928bd1f03c3a086686  libjava/java/awt/image/BandedSampleModel.java
! a9e9b5adecf23376f185aeddfde5ecfa  libjava/java/awt/image/BufferStrategy.java
! 25a46fdf9d66b3ea87ac03fa457086a2  libjava/java/awt/image/BufferedImage.java
! dc324677efaf6bcb7c0625c5c6fdefe7  libjava/java/awt/image/BufferedImageFilter.java
! 687f44fc7cd60db11e8bc6b2c3799a3f  libjava/java/awt/image/BufferedImageOp.java
! 98d9dc375651688ad816d444c78fa157  libjava/java/awt/image/ByteLookupTable.java
! 415aa760eb1c2f293092173d71dea9cd  libjava/java/awt/image/ColorConvertOp.java
! c15beb4d05460301b70ae09ff33b016f  libjava/java/awt/image/ColorModel.java
! 96840c2546a91b17d7c6c5559c7b2953  libjava/java/awt/image/ComponentColorModel.java
! b6416ed589e75c6687b98ab6d8f25bed  libjava/java/awt/image/ComponentSampleModel.java
! 9cbbccf982cc7652d24b695ae2bd4fc1  libjava/java/awt/image/ConvolveOp.java
! 3ba6f1cbec0ca542a55914f540bc5790  libjava/java/awt/image/CropImageFilter.java
! 6d8dacb0080d0e2c12d37076f093e354  libjava/java/awt/image/DataBuffer.java
! 17191aa63969d415ece96d9983b594f7  libjava/java/awt/image/DataBufferByte.java
! 487972dccca7d4cf0394dbc7133f5c93  libjava/java/awt/image/DataBufferDouble.java
! 1724fd3e2a3e633c69ec5b456bf97a5e  libjava/java/awt/image/DataBufferFloat.java
! d07c8707d9f749d46f76303db55d0457  libjava/java/awt/image/DataBufferInt.java
! 7392223c7194e5829daed15891d33e3c  libjava/java/awt/image/DataBufferShort.java
! 1de35d1eecce53d536fa1cb18fa65e5e  libjava/java/awt/image/DataBufferUShort.java
! 38421350c0fa488057ddb6527e94cd03  libjava/java/awt/image/DirectColorModel.java
! 051cab3ebc66962cacd3ff197d734321  libjava/java/awt/image/FilteredImageSource.java
! cfbaf4aea32b531a10b06b8b412b2c6c  libjava/java/awt/image/ImageConsumer.java
! a478556108636d47ce370d863568969c  libjava/java/awt/image/ImageFilter.java
! eb9069d7b480c98c9e531c7f423a468b  libjava/java/awt/image/ImageObserver.java
! a0738cc36c64389d832fc74d5c0514b1  libjava/java/awt/image/ImageProducer.java
! 882f4fc0efb00f59a66b59ce9149162b  libjava/java/awt/image/ImagingOpException.java
! 0714c2544184a775c2fe53c90ee630f5  libjava/java/awt/image/IndexColorModel.java
! 2485244738300e593a6be46a9c70b81b  libjava/java/awt/image/Kernel.java
! c45533b07e87427331851f02542193cd  libjava/java/awt/image/LookupOp.java
! 3e09c0253fe94dd224d706242dbbb51c  libjava/java/awt/image/LookupTable.java
! 57e057621a4b002c9f7c34ce2db98acb  libjava/java/awt/image/MemoryImageSource.java
! 7b97adcbf97b9c2a3f6a99c67311608e  libjava/java/awt/image/MultiPixelPackedSampleModel.java
! dd7c58f7461a7e41a7261efb2acdcb16  libjava/java/awt/image/PackedColorModel.java
! 91ddec89fac6d842e69422500f0e9f78  libjava/java/awt/image/PixelGrabber.java
! 246dcf8deccb41d500fdfaa046f1514b  libjava/java/awt/image/PixelInterleavedSampleModel.java
! 67b68f3e736b6d60f62668f688720413  libjava/java/awt/image/RGBImageFilter.java
! 2c2a1d012516a2838f90aeec334b7960  libjava/java/awt/image/Raster.java
! 4ad592cf357b3d44a22abe4e7b8876cf  libjava/java/awt/image/RasterFormatException.java
! 9b8fb0a5092b7b63e21ccf40286dd65a  libjava/java/awt/image/RasterOp.java
! 54f203ceb8a9f5033964b49686d2560b  libjava/java/awt/image/RenderedImage.java
! a449ff0f0fac0517c536d8ab36b90122  libjava/java/awt/image/ReplicateScaleFilter.java
! 1e4dc234323c71b83a3e3076b1181170  libjava/java/awt/image/RescaleOp.java
! c91001cb7ab138cd3a056dd078c906d8  libjava/java/awt/image/SampleModel.java
! 34e13fdfce2dbc46c0df97b8f0c3636d  libjava/java/awt/image/ShortLookupTable.java
! 6fea0536664196de9ef59b6aa7e48b23  libjava/java/awt/image/SinglePixelPackedSampleModel.java
! 5138469b07703169039d8312ea4c4a8b  libjava/java/awt/image/TileObserver.java
! a99b9c92d17ca4bea0f626f18da8cf40  libjava/java/awt/image/VolatileImage.java
! f8991ac3d21260d9ea9b6db9ef971a4f  libjava/java/awt/image/WritableRaster.java
! cf415db7fee0c628d3ff387a24b6d03f  libjava/java/awt/image/WritableRenderedImage.java
! f64e55785690ea95cc64ebdd2cd00897  libjava/java/awt/image/renderable/ContextualRenderedImageFactory.java
! 52d1d93679aaba41b63453f6050b6451  libjava/java/awt/image/renderable/ParameterBlock.java
! 245f2b72f1cb77783f428ba4373b8dcd  libjava/java/awt/image/renderable/RenderContext.java
! 32cb582263c6573bd52ce335a145acc8  libjava/java/awt/image/renderable/RenderableImage.java
! 7f52bae703e37a16daa07f3284cd1fbf  libjava/java/awt/image/renderable/RenderableImageOp.java
! 7424bc4ff8c9c43672fd214aaf3dd38a  libjava/java/awt/image/renderable/RenderableImageProducer.java
! 24b3dd11817151e1296c7656f7a8fc62  libjava/java/awt/image/renderable/RenderedImageFactory.java
! 78bfb5588104a1d8c13cf4a70e809480  libjava/java/awt/peer/ButtonPeer.java
! 4ac1222b5a1eef33f4ea23f457e95dc6  libjava/java/awt/peer/CanvasPeer.java
! 203904aa93a4be31c101a5da30d43cdd  libjava/java/awt/peer/CheckboxMenuItemPeer.java
! d3f19a9bd26f42796989946d0b45b6c8  libjava/java/awt/peer/CheckboxPeer.java
! 3136326daab6fb5b9bd61ed61ff51a0d  libjava/java/awt/peer/ChoicePeer.java
! 5afd159fe62539120052d14d06177e97  libjava/java/awt/peer/ComponentPeer.java
! 1c12ba7e4d5a5ddd9c66d30ad59ff8a7  libjava/java/awt/peer/ContainerPeer.java
! 3a75ffa9cac7f213508effb02c6af5fa  libjava/java/awt/peer/DialogPeer.java
! 0843db409efe5ee15099151c4a38f681  libjava/java/awt/peer/FileDialogPeer.java
! 1b917e2671e55cc9f540bce6b91d22b3  libjava/java/awt/peer/FontPeer.java
! 740f9078c87a73497513975f6fa6ec4b  libjava/java/awt/peer/FramePeer.java
! 607afb40c7d329c3123d6af89e149d79  libjava/java/awt/peer/LabelPeer.java
! f03bff26c6244a8e3030dd4de389b3df  libjava/java/awt/peer/LightweightPeer.java
! ba05e4d196a8c6627bbaaa8bd29c45bb  libjava/java/awt/peer/ListPeer.java
! c22b6701e096a22864990964a501246c  libjava/java/awt/peer/MenuBarPeer.java
! fd2f181100890eb0924fa1009f04ab1d  libjava/java/awt/peer/MenuComponentPeer.java
! 3974d3d1ecc4a9e230a3e675f875d0df  libjava/java/awt/peer/MenuItemPeer.java
! fe0ead1ad2908933fbf03414a79cf966  libjava/java/awt/peer/MenuPeer.java
! 6dc14944905607999fe9a1531106d582  libjava/java/awt/peer/PanelPeer.java
! 8cf6af571354557699f6eaa2f205f21a  libjava/java/awt/peer/PopupMenuPeer.java
! 06df2d823b958f46e6b1888b46997b4a  libjava/java/awt/peer/RobotPeer.java
! c93dc34d461c58c8fddb71bcde957f83  libjava/java/awt/peer/ScrollPanePeer.java
! a6568884f1425ef19fcbfd6711276dc7  libjava/java/awt/peer/ScrollbarPeer.java
! f4e0ea9848784e2ba0c3587e8b272ec0  libjava/java/awt/peer/TextAreaPeer.java
! 5dccfbeb171b621806f6d2be563d6854  libjava/java/awt/peer/TextComponentPeer.java
! 547f9470fed7db16c2b5fd0288f17c1b  libjava/java/awt/peer/TextFieldPeer.java
! 7ed2acaa92132f110fa96d7cfc4f8ffe  libjava/java/awt/peer/WindowPeer.java
! f463e9ea4df5f740b8bfd2fa6d951391  libjava/java/awt/print/Book.java
! 274138aeb527d88b91bfaa6f662d5cec  libjava/java/awt/print/PageFormat.java
! 5463f1b8596d0a7db2ac6bfc5bb60e0a  libjava/java/awt/print/Pageable.java
! 79b6dd1bc84d2bab4cbd3bcbe9188594  libjava/java/awt/print/Paper.java
! 7566c4f34887477443a925c2968f84b3  libjava/java/awt/print/Printable.java
! abbc86abfbf29972b7b078a90619089f  libjava/java/awt/print/PrinterAbortException.java
! 0f6b0b07480d4e3b4f7827ade59524aa  libjava/java/awt/print/PrinterException.java
! 3b61e6d9f83f74816524c533fac38b03  libjava/java/awt/print/PrinterGraphics.java
! 23cf09df761d7b85deccddbfb406bffa  libjava/java/awt/print/PrinterIOException.java
! e1623757aee8d7f2add2cbcd56275b19  libjava/java/awt/print/PrinterJob.java
! 2ed9a9703013e7c4ce0d41553ba08ddc  libjava/java/beans/AppletInitializer.java
! d2734480e9495e5d1627d7c880afb652  libjava/java/beans/BeanDescriptor.java
! 75d6817fdcac41d0c22560e7341c7174  libjava/java/beans/BeanInfo.java
! d0840b6aa98e3b60af3f45bb7ae0f7c9  libjava/java/beans/Beans.java
! ae4d1123bc81131a75e826aaf27d617f  libjava/java/beans/Customizer.java
! b778e7004ea911e0a22b895efd828e0d  libjava/java/beans/DesignMode.java
! 87819466966580b6f7fb0226bf42aa70  libjava/java/beans/EventHandler.java
! 34e495c824d7ce34ad3786e3f541c13d  libjava/java/beans/EventSetDescriptor.java
! 1be99b03994365f6fa31663a4671b724  libjava/java/beans/ExceptionListener.java
! f9c2bec1e8ec2023528c68c08d87268b  libjava/java/beans/Expression.java
! c9c807bc217adf3352b5b8964078bdd0  libjava/java/beans/FeatureDescriptor.java
! 9c10fa3e70f5cad074b5ab5f399022d1  libjava/java/beans/IndexedPropertyDescriptor.java
! a777ee8466ea055b5b4f966f893be61d  libjava/java/beans/IntrospectionException.java
! 7e95e7606a641dbad8bfb6fa64f3bb2f  libjava/java/beans/Introspector.java
! 6ed96b58c4c33a9653f988f15fba040e  libjava/java/beans/MethodDescriptor.java
! beeaca89e1ee1c56c8031cca86c13b4d  libjava/java/beans/ParameterDescriptor.java
! 9ec89821fb67e27c130ca8a25abd9c9f  libjava/java/beans/PropertyChangeEvent.java
! 812e9385c4845d282722a625f66ec947  libjava/java/beans/PropertyChangeListener.java
! a1211f30d0313bae8b2226aad42f65b0  libjava/java/beans/PropertyChangeListenerProxy.java
! e88a65e2e29eed81f9d614a9c74b6df8  libjava/java/beans/PropertyChangeSupport.java
! d0b0ee02b1922ec1d7e91642ae480566  libjava/java/beans/PropertyDescriptor.java
! c5d0a543d14b958c59fba936545e9d47  libjava/java/beans/PropertyEditor.java
! aea47f2160c056977fab13a938b470fe  libjava/java/beans/PropertyEditorManager.java
! 7dc9095e57e256c86b71a3ae6235e57d  libjava/java/beans/PropertyEditorSupport.java
! 0cc28dc73a0087f101d5b2212c03e770  libjava/java/beans/PropertyVetoException.java
! dde80fa91c4dc27b57dc55369cee18dd  libjava/java/beans/SimpleBeanInfo.java
! 956f446946225f65950f5ed9cb9557a4  libjava/java/beans/Statement.java
! 32b63fc20edeadea36b41b7cbda2cd3a  libjava/java/beans/VetoableChangeListener.java
! 67e7dcf6325c0c6e7815c88c9ca7bd03  libjava/java/beans/VetoableChangeListenerProxy.java
! aa8dfdadbed4ab454b0536b4f610393c  libjava/java/beans/VetoableChangeSupport.java
! 558f8b69f8474d9093db21ed736a5d46  libjava/java/beans/Visibility.java
! d0d621b45ac5b30f5be6ae2e8829b097  libjava/java/beans/XMLDecoder.java
! 44180b0068a039974e94fa7b5295653c  libjava/java/beans/beancontext/BeanContext.java
! 84cf44cc462840031de8f6366d4886b0  libjava/java/beans/beancontext/BeanContextChild.java
! cc78c41a548d86feaa1244767a70abaa  libjava/java/beans/beancontext/BeanContextChildComponentProxy.java
! 52a0b4dc65f9030f47438c03d8ef7775  libjava/java/beans/beancontext/BeanContextChildSupport.java
! 7af1f8007ce77c992126fd78e182cf7d  libjava/java/beans/beancontext/BeanContextContainerProxy.java
! dc5ece212f467a7b5be626d2439463dc  libjava/java/beans/beancontext/BeanContextEvent.java
! c64302bf7621ce33edcb125c8bfa627e  libjava/java/beans/beancontext/BeanContextMembershipEvent.java
! 42b78406665afa8de876e4652e8ff035  libjava/java/beans/beancontext/BeanContextMembershipListener.java
! ef183462905fc1138dbd6c7354cc8731  libjava/java/beans/beancontext/BeanContextProxy.java
! 3c13dd536549bf863b8ba3a702f7c926  libjava/java/beans/beancontext/BeanContextServiceAvailableEvent.java
! 3e3d15ef87b58da44c040c191500000b  libjava/java/beans/beancontext/BeanContextServiceProvider.java
! 08e9489ba84d697ae4435060d516e909  libjava/java/beans/beancontext/BeanContextServiceProviderBeanInfo.java
! 23ddc00cdc3e34ba61b60f939ae90b4f  libjava/java/beans/beancontext/BeanContextServiceRevokedEvent.java
! 2b60af8d6621bcefd9282d88f856c2e1  libjava/java/beans/beancontext/BeanContextServiceRevokedListener.java
! b5c44b13d4b15e8764a52251cb62a249  libjava/java/beans/beancontext/BeanContextServices.java
! f715db4138d7b11a328643eb21462f68  libjava/java/beans/beancontext/BeanContextServicesListener.java
! 434739836911c4e0df927d061662772a  libjava/java/beans/beancontext/BeanContextServicesSupport.java
! c460ab8808f58f4de1ec04c51d39d452  libjava/java/beans/beancontext/BeanContextSupport.java
! 22c13836c2e8c4aeb696c71a3d68791f  libjava/java/io/BufferedInputStream.java
! da690e9209e2d3e363197eec9329b50b  libjava/java/io/BufferedOutputStream.java
! 886afaf408e1dc27bf4a06093e20559e  libjava/java/io/BufferedReader.java
! 7f0c760ff685f3ed54bdc3c5ef001ff0  libjava/java/io/BufferedWriter.java
! a31f408068d8868c2d8ccc4f7f9c1e2e  libjava/java/io/ByteArrayInputStream.java
! 49aa067b7bd2c953e7446aa9f9314917  libjava/java/io/ByteArrayOutputStream.java
! 1398742d1a9b1eae5c2459d50bb90136  libjava/java/io/CharArrayReader.java
! 11742a3f9155d8793912673313c33e25  libjava/java/io/CharArrayWriter.java
! 0d7dd6bbacc13522d9bd53df36b88a17  libjava/java/io/CharConversionException.java
! 0b8f8bb6dffc7ed954d175a3cd91a74f  libjava/java/io/DataInput.java
! 3609c717a6e8d680d7a8394aa77bde4c  libjava/java/io/DataInputStream.java
! 45df783e608733a10b104014f00e3918  libjava/java/io/DataOutput.java
! 6cd585bf4f20f90d65be9651102f5490  libjava/java/io/DataOutputStream.java
! a130e8828fb203336679c8a90bb19b46  libjava/java/io/EOFException.java
! 3f64ba3536130a289b851f2b94e042d4  libjava/java/io/Externalizable.java
! 7c680dcd18ceaeca98425806cb4285c1  libjava/java/io/File.java
! 6fa3db95b00937d999d14efcdbc3b981  libjava/java/io/FileDescriptor.java
! 28ca7a330cc74570a7a5adcf4889c2fc  libjava/java/io/FileFilter.java
! 379e4e77b77f718ed5de6f1676aa8787  libjava/java/io/FileInputStream.java
! bd2173e87a2481fc50e95bef179103db  libjava/java/io/FileNotFoundException.java
! fd7cc6562fe61ad19be8533bbc8eca60  libjava/java/io/FileOutputStream.java
! 02a6bb56fc5f2fb9147ae6cf66747de7  libjava/java/io/FilePermission.java
! eccec1101a5b60b6a7e25bce6fb73763  libjava/java/io/FileReader.java
! 85be19d55bf232037d2826ca4e4533b5  libjava/java/io/FileWriter.java
! 5e43f5966106c1986a7a03d7527f45ff  libjava/java/io/FilenameFilter.java
! 816a10737cfc1b4f077d6af0cc08d304  libjava/java/io/FilterInputStream.java
! b8e9d7c764d06981576d069461804f46  libjava/java/io/FilterOutputStream.java
! 4b249b785f75765c50ae167f302db243  libjava/java/io/FilterReader.java
! 4202884c8ea523c37d18e1bc1d2903a7  libjava/java/io/FilterWriter.java
! dad714d61f3f7b03b30eb2cdab345494  libjava/java/io/IOException.java
! 1417de045191145f74b4b8b2955ed08a  libjava/java/io/InputStream.java
! a5304ae5cf00c32d12da85dee29a5e7b  libjava/java/io/InputStreamReader.java
! e9cbee513db4ca8ec4d0ef64aae1193d  libjava/java/io/InterruptedIOException.java
! 2e831c1b78e0f32010e3042f2c134d6d  libjava/java/io/InvalidClassException.java
! 8e43d62fc98c86274619a4b2ca0ecaf6  libjava/java/io/InvalidObjectException.java
! f8853e8feb773c72f6482a9ffa24e778  libjava/java/io/LineNumberInputStream.java
! f90cf0f1094760502c9379494fa7aa87  libjava/java/io/LineNumberReader.java
! 3680cd67ca12d67daa95ecccec10af1d  libjava/java/io/NotActiveException.java
! fa5ce3b99cceca5c018229e7a58441a3  libjava/java/io/NotSerializableException.java
! 90d34b613c791dee5cc385f770dc6cb2  libjava/java/io/ObjectInput.java
! 5250f366970dd28c6c6ef84966a4b0c5  libjava/java/io/ObjectInputStream.java
! 10a24b7e49593d14c261099bfa624ead  libjava/java/io/ObjectInputValidation.java
! 4c013a4c6434e1580923679c4a9bfb29  libjava/java/io/ObjectOutput.java
! 2572cbf439931ce09fd399e24688fe06  libjava/java/io/ObjectOutputStream.java
! fc5bfa8d4f4dcb4031714ec37fb7a631  libjava/java/io/ObjectStreamClass.java
! 38ec1d60b8ebc0a885908f8127ea0984  libjava/java/io/ObjectStreamConstants.java
! 2f3affe6d368817487efe5308a34b1d9  libjava/java/io/ObjectStreamException.java
! 36836a6ab03b28e7a1c4f1e330432247  libjava/java/io/ObjectStreamField.java
! 311d4c159e2cd2f3c8a7aeadf4cd0d95  libjava/java/io/OptionalDataException.java
! d09ac69212f396bfb85848a2a2cdb3f0  libjava/java/io/OutputStream.java
! 07a59e687c9dd02b379878c2f2f647ca  libjava/java/io/OutputStreamWriter.java
! 6dfa21dafeb620009d5c2a11b19181f7  libjava/java/io/PipedInputStream.java
! 97246040c4e8cfb76936d42f2cb1fcd7  libjava/java/io/PipedOutputStream.java
! 920f7ca42e027ffc9f6a5731077d3643  libjava/java/io/PipedReader.java
! e3610a055ce1595459f7788c0ca27f57  libjava/java/io/PipedWriter.java
! e03dd77e981d2f75f8eea684b79fc252  libjava/java/io/PrintStream.java
! 9f5952744e3671a97315359dc1b3cb34  libjava/java/io/PrintWriter.java
! 7315187eb952912f2ae693a026d34062  libjava/java/io/PushbackInputStream.java
! 4d9e9bdcf3acd4ffde12d3b30054b27e  libjava/java/io/PushbackReader.java
! e5380b0a7832424e88f4bdaae9ea9c7f  libjava/java/io/RandomAccessFile.java
! fdf602dc737e9c7ae50c139c728f847b  libjava/java/io/Reader.java
! 73bffa0a657b9ad33fca785619d431b0  libjava/java/io/SequenceInputStream.java
! 42ca6387d3a35bac4980306d96a4ab7f  libjava/java/io/Serializable.java
! a49a336c4e6abe618769669ea40517c3  libjava/java/io/SerializablePermission.java
! c5a46e81f81cfcbf93bf30d05ddd133c  libjava/java/io/StreamCorruptedException.java
! 71ae497f0849cb49ef7c77ab80ac478d  libjava/java/io/StreamTokenizer.java
! a0e5d6091eee53bd4209891534302c39  libjava/java/io/StringBufferInputStream.java
! 95708b9f98db139688c0b7958128efbe  libjava/java/io/StringReader.java
! 8b8f3b59ce06194235e0b6a9c20e82af  libjava/java/io/StringWriter.java
! ec70185cb82e9f5f31a45045e869b35c  libjava/java/io/SyncFailedException.java
! 8ab81b257b8f7fee147b10dcb2045622  libjava/java/io/UTFDataFormatException.java
! 4611a526c361824fbf6cd311f52976cd  libjava/java/io/UnsupportedEncodingException.java
! 422e4a022c09c23d596b1ff4dfb4deca  libjava/java/io/VMObjectStreamClass.java
! 2438b8810a0c7e4f4fdca64b0d58a133  libjava/java/io/WriteAbortedException.java
! 53def13aaf2656416676e28614883326  libjava/java/io/Writer.java
  84254834f71b07e430fcc1ae0b042adb  libjava/java/io/natFilePosix.cc
  116bfcbb1fd28c3e8171c0f6bbcd82d2  libjava/java/io/natFileWin32.cc
! e1f3792d1812985a1019591b41acca5d  libjava/java/io/natObjectInputStream.cc
  b06e742b25b49cb2b76aaa7ba83a7c7a  libjava/java/io/natVMObjectStreamClass.cc
! e96fc733343867facc488b78e037e067  libjava/java/lang/AbstractMethodError.java
! 7deccf0e2b53b40887a1cc2a124c2fca  libjava/java/lang/ArithmeticException.java
! c57cfce08282c3ba36e9dbbf289e7455  libjava/java/lang/ArrayIndexOutOfBoundsException.java
! 1079a25673828d1daf75db0f47200839  libjava/java/lang/ArrayStoreException.java
! f278e929e86da7229545e336cc7102ab  libjava/java/lang/AssertionError.java
! 75caf5fd69a4e16b8104f3235045950e  libjava/java/lang/Boolean.java
! af41431eb7269b536360927e65edab3c  libjava/java/lang/Byte.java
! dcb0d4caa2cf0040acb92ac1397b5810  libjava/java/lang/CharSequence.java
! e70a17bcb7d10a6826fc5878378ca7d6  libjava/java/lang/Character.java
! a575e8e1c10abb7715c454adb90ae059  libjava/java/lang/Class.h
! d75de0d19a4a8006b6242bc030e8d2ec  libjava/java/lang/Class.java
! db7a4cebffa0518c5b11cd04ab246f5f  libjava/java/lang/ClassCastException.java
! 47f71ae563cd10344031685f84637a6b  libjava/java/lang/ClassCircularityError.java
! 9139cf0bf31eaf0698bbdd4393de5c8f  libjava/java/lang/ClassFormatError.java
! c48254da1cd67598bed887bf6722cc21  libjava/java/lang/ClassLoader.java
! bb1eae33ed6e0db9e36c8704ac6c91e3  libjava/java/lang/ClassNotFoundException.java
! 8de05d6c30e65792d8e51517f7627597  libjava/java/lang/CloneNotSupportedException.java
! 7fc79954544d5890a920a15e9256c58f  libjava/java/lang/Cloneable.java
! 099f55f567a295c7d8873329bbba8501  libjava/java/lang/Comparable.java
! c9b662f745e7f1f791cd59e0245d58e5  libjava/java/lang/Compiler.java
! fc9781a6a8a56515cafb29f5d1310f68  libjava/java/lang/Double.java
  445be71f45312965061d41a9bead88ae  libjava/java/lang/EcosProcess.java
! 987c723b0a9863cfaff5be10c7432fa5  libjava/java/lang/Error.java
! 1266c436cfb8fc8a1c5d4664bf7baec8  libjava/java/lang/Exception.java
! d37ad76ad9f3c63fe0596fb69017cf53  libjava/java/lang/ExceptionInInitializerError.java
! 32741825f23decd906af7b286d0efd28  libjava/java/lang/Float.java
! 03de85072b72a809e2fecf51aad7d3e1  libjava/java/lang/IllegalAccessError.java
! 47947ca9eaddf6a06cf9a60df8f5a566  libjava/java/lang/IllegalAccessException.java
! 2328fb60cd61fcdf09d28e5617cfbec7  libjava/java/lang/IllegalArgumentException.java
! e50573e7b7d5a4533b5142e87d07cfe9  libjava/java/lang/IllegalMonitorStateException.java
! 82a0b80dcad9b59c1b1ee127c324602b  libjava/java/lang/IllegalStateException.java
! 33f12b5fdd7ab5ac9720a52b8a9adf61  libjava/java/lang/IllegalThreadStateException.java
! 0e219a109d36cae89410f7c214484441  libjava/java/lang/IncompatibleClassChangeError.java
! 07113e129028c2948ee58c208c0a47c7  libjava/java/lang/IndexOutOfBoundsException.java
! e47d0662727ca22a6a8ee9d8987942b7  libjava/java/lang/InheritableThreadLocal.java
! bb220de913d4f99a2d0df86b3ad6a2ff  libjava/java/lang/InstantiationError.java
! 956dc0b3af39c30570e6d79e79f46b2d  libjava/java/lang/InstantiationException.java
! 2e9256c13c52768a64bb3f7a7e1e0f84  libjava/java/lang/Integer.java
! e10bd16cf3cb4c3ee5eb304902d2893a  libjava/java/lang/InternalError.java
! 8bab8660a1c610e61d303fab96e039cf  libjava/java/lang/InterruptedException.java
! ed2353997db1c79c9fbd2bc22ea8aa3a  libjava/java/lang/LinkageError.java
! c3f49791f9c4a8c2cbd853a2edbb9b57  libjava/java/lang/Long.java
! deafabd724af39f06a7de950424d780c  libjava/java/lang/Math.java
! effcf1cb52ae64e3d00f18f897e43df9  libjava/java/lang/NegativeArraySizeException.java
! 075e3ebe758626267a8e0e9a3b0a8e90  libjava/java/lang/NoClassDefFoundError.java
! 43e0322674ea5e7e2afb705320afadbb  libjava/java/lang/NoSuchFieldError.java
! a285ab79f83285b35713bb2e142da19b  libjava/java/lang/NoSuchFieldException.java
! 81388ae3950803b77489cc56c47d0b43  libjava/java/lang/NoSuchMethodError.java
! c7a024dd54a3acf945d689eee5757eb6  libjava/java/lang/NoSuchMethodException.java
! 365f03a1e73f3c18a8bdcf1d4e931e65  libjava/java/lang/NullPointerException.java
! 0231450a9b6c53a9872d8aea54861863  libjava/java/lang/Number.java
! 97d25119517b4654b9e3b51b4b4706f4  libjava/java/lang/NumberFormatException.java
! fc103489afae115b3c91ead9f02b5d28  libjava/java/lang/Object.h
! cbc1348821b98acc74e4904f5fda958b  libjava/java/lang/Object.java
! 2be9a31930d1a9dfaccb8ec64c9c4b0c  libjava/java/lang/OutOfMemoryError.java
! cf9affc31bda086e85c135dc3771c326  libjava/java/lang/Package.java
  1caacd4d98a513a3eb8846f0e38be3bf  libjava/java/lang/PosixProcess.java
! 7a2a4652a54d37fa6c75a4a5008e4ade  libjava/java/lang/Process.java
! fded546a5addecf0384164913f629699  libjava/java/lang/Runnable.java
! 85a4aadd914376d82024fdd6bea4ddfd  libjava/java/lang/Runtime.java
! f4cb8f1478e2a431259c257e026036c1  libjava/java/lang/RuntimeException.java
! 31f1128ef0319a05036386708ded29f8  libjava/java/lang/RuntimePermission.java
! 78da9140d787512656d4039798c242ed  libjava/java/lang/SecurityException.java
! e4b7f1259adfb84c16b8063dd2abf69f  libjava/java/lang/SecurityManager.java
! 7adcf5a0cec2e120092542c7e6ca8507  libjava/java/lang/Short.java
! c92c1a40c4c1acdb11ac5f57fbc000a4  libjava/java/lang/StackOverflowError.java
! 88dad614a5aea68efec4193b73c1b671  libjava/java/lang/StackTraceElement.java
! e42b4cec32b11548b25b497d8f065642  libjava/java/lang/StrictMath.java
! 4bfca99af4ee8b33861e051464eaff52  libjava/java/lang/String.java
! 006b5c46829802474970a50585b1f374  libjava/java/lang/StringBuffer.java
! 4330a887ccc1bcf1f2f7f0f28bd82c43  libjava/java/lang/StringIndexOutOfBoundsException.java
! e268b55014ab6e090596e6fe6b22acc9  libjava/java/lang/System.java
  5bf2b7a368ac731ae7610bd532aa6d6f  libjava/java/lang/Thread.java
! 77497f69a9ea60df606963e910e92e7b  libjava/java/lang/ThreadDeath.java
! ca28ac3c09b22e2764c8cab5c0183a44  libjava/java/lang/ThreadGroup.java
! ca21085b8a24bd1e182de06594bcf036  libjava/java/lang/ThreadLocal.java
! 1d4ba002588346700cd1d69a0150e9b0  libjava/java/lang/Throwable.java
! 4b5dfc17b3865878cdbcd2f3eb2a758d  libjava/java/lang/UnknownError.java
! 184a9a7ff6592a59fac41dff9414af65  libjava/java/lang/UnsatisfiedLinkError.java
! 9e3b86b90dee129796e100a9d4ecd505  libjava/java/lang/UnsupportedClassVersionError.java
! d0c275a3b32f98917be0aab8801c21f3  libjava/java/lang/UnsupportedOperationException.java
! 1644f5465fd19f83ef4df2f804472c1a  libjava/java/lang/VMClassLoader.java
! bda8d54820fc097bced76d5b25edf3e2  libjava/java/lang/VMCompiler.java
! 00a102003f13d90ad4bdc3320b138b26  libjava/java/lang/VMSecurityManager.java
! f9add5a4d3c4245fe88ca50948a0f9dd  libjava/java/lang/VMThrowable.java
! 33b9ebc70d5fc7473ba6a13d22552602  libjava/java/lang/VerifyError.java
! 1e41cf4254564d46faae1ef8f4a54460  libjava/java/lang/VirtualMachineError.java
! f5ee2d5ca4509155cdd3a9f6b077f528  libjava/java/lang/Void.java
  14df9fbde49dfe0dd672c7187fb8197c  libjava/java/lang/Win32Process.java
! ab75e19638c3cc59541661d0672eb7e1  libjava/java/lang/dtoa.c
! 8758dda5a76bae7d7c4eb541d61113f7  libjava/java/lang/e_acos.c
! f4f75e4d8d000574827517fa222f7c71  libjava/java/lang/e_asin.c
! 55067bec1b3ce8a5190a9005396b916f  libjava/java/lang/e_atan2.c
! 04fca217985d3b994dbe4ad4e1b6aa92  libjava/java/lang/e_exp.c
! 879efc260f2720496675696cc9aa575a  libjava/java/lang/e_fmod.c
! 391e12085b568ada269ed04e14d186a3  libjava/java/lang/e_log.c
! ff1f71f227d41782663a4294a52021a8  libjava/java/lang/e_pow.c
! ee298ef4d869f1583677e78cf5cd70f8  libjava/java/lang/e_rem_pio2.c
! 788efcef257a0648aefe95e18083c9a6  libjava/java/lang/e_remainder.c
! 50d67196d185ea66284cd6e883ab9d2c  libjava/java/lang/e_scalb.c
! 209c83f3b0778186d17cd4fe9a8cb628  libjava/java/lang/e_sqrt.c
! 6b3e92e30c1060a625dca58556de2b75  libjava/java/lang/fdlibm.h
! 4dd4ce597bb7f78330fcd32920a61b8c  libjava/java/lang/ieeefp.h
! da0a5da0fde722faec99c97dfe39e05a  libjava/java/lang/k_cos.c
! 05fbb2138bfd2de31460bd4411c5d61c  libjava/java/lang/k_rem_pio2.c
! 0472c6b76326206d4d1e0490f33d2e41  libjava/java/lang/k_sin.c
! 1c5e43c5889740fe9bad2569e33923fb  libjava/java/lang/k_tan.c
! 4d196e7716702a582b84537f1dcea234  libjava/java/lang/mprec.c
! e8f7fa060267c80460fc25acc130a542  libjava/java/lang/mprec.h
! 0e03aa9505189b6a268502954e459993  libjava/java/lang/natCharacter.cc
! bcd91cf00a8ac475757c86f788cd7e52  libjava/java/lang/natClass.cc
! 88d0985d2e3db4a26119ef1bc413112e  libjava/java/lang/natClassLoader.cc
! 7d6de15286393d9085915c8d26c7ab91  libjava/java/lang/natDouble.cc
  55412650ccf3af3ec8376e685f6d4845  libjava/java/lang/natEcosProcess.cc
  842368c7e6ed293e6e3f310ed9a3076f  libjava/java/lang/natFloat.cc
  c6eaf1e2175d821debebc2878c0520ef  libjava/java/lang/natMath.cc
  cd3a737f2db795fb827d767120fffa58  libjava/java/lang/natObject.cc
! f1cdd7e99d2b32238dccdad7f27dfb9a  libjava/java/lang/natPosixProcess.cc
! 8cb7cb4ecaa3a5ce9a7bf1cd280790ae  libjava/java/lang/natRuntime.cc
! c65995c60273483f16ae41a03b6dea52  libjava/java/lang/natString.cc
  7c87f5acddd8589e59cea5b11b3e5db6  libjava/java/lang/natStringBuffer.cc
! 26955fca411c7e3367f4d48bf968f32b  libjava/java/lang/natSystem.cc
! b1ab8b4b9d3d21c6a62c5b71366fa358  libjava/java/lang/natThread.cc
! f26a6e07419c6b49cd2fbb273820c6b1  libjava/java/lang/natVMClassLoader.cc
! b353a4db158c64aef144cc2fb2d5441e  libjava/java/lang/natVMSecurityManager.cc
  099b753a5e3e667eac01d2545526506e  libjava/java/lang/natWin32Process.cc
! 859bd639c7e8223a6fd9c54a55ceb9ab  libjava/java/lang/ref/PhantomReference.java
! c51b3c8999640534e7326a2420b40eda  libjava/java/lang/ref/Reference.java
! 478edf7910cb3e01f685c09c254f7ec8  libjava/java/lang/ref/ReferenceQueue.java
! f933322bd67a86c179105efb31f97f24  libjava/java/lang/ref/SoftReference.java
! a0ae5aa7f1bafdd6fdf7db8a352fb473  libjava/java/lang/ref/WeakReference.java
  84d4e612ccf6975b97cff68e6b2b2b90  libjava/java/lang/ref/natReference.cc
! b28d10d5da5e999e7bbbb02a4a276709  libjava/java/lang/reflect/AccessibleObject.java
! 1b70fcea846e40710820067760c93725  libjava/java/lang/reflect/Array.java
  1acebfe7e254c1c539fd5220d40baef5  libjava/java/lang/reflect/Constructor.java
  897b833f60e84c7f9e734ed63b6e1b6f  libjava/java/lang/reflect/Field.java
- 24c9e673adfc96902c757a8f9ef0fcc8  libjava/java/lang/reflect/InvocationHandler.java
- 74c1d358683e428bde40997660c85912  libjava/java/lang/reflect/InvocationTargetException.java
- 1d865e412280d0b494a934da3e85b256  libjava/java/lang/reflect/Member.java
  fbf77c87007d7a169c6e076c6d1278ba  libjava/java/lang/reflect/Method.java
! 4c26e524e230e1348a77d77d82a4fca1  libjava/java/lang/reflect/Modifier.java
! e7349dd6952d74b850892fe4b298cf0b  libjava/java/lang/reflect/Proxy.java
! 2976ce3d7a8a615820665108e3fe2e1e  libjava/java/lang/reflect/ReflectPermission.java
! 4588d2e004ac8e56fe3c17f061b7dc85  libjava/java/lang/reflect/UndeclaredThrowableException.java
! a55ed0f26a5e0cde17706783791fb771  libjava/java/lang/reflect/natArray.cc
! c287b6ed7c8151f7a2f72e9a87f66df8  libjava/java/lang/reflect/natConstructor.cc
! d53e6737a04a4d5bc2595c4c7fa73add  libjava/java/lang/reflect/natField.cc
! c404f3436a7cbdec86f4acb524e8c591  libjava/java/lang/reflect/natMethod.cc
! 5792a78b7ec940d3f2dde416cdd8d59b  libjava/java/lang/reflect/natProxy.cc
! 107a200b158caac87047da803bf88242  libjava/java/lang/s_atan.c
! 15cafe9763d41dda071f249cb349ad60  libjava/java/lang/s_ceil.c
! f48c97a1bdbc85036d7fdab48abc536f  libjava/java/lang/s_copysign.c
! 4686e5a79c826538bcbf502c672bf440  libjava/java/lang/s_cos.c
! 0367fb1ad554f7156e26d56a794591d9  libjava/java/lang/s_fabs.c
! 4385ec42e82c200209d655bea07787fc  libjava/java/lang/s_floor.c
! 37813f783b80c8f38fc4ebc7925228f8  libjava/java/lang/s_rint.c
! 76965dfc1345bb1d7b13f69951b48eb1  libjava/java/lang/s_scalbn.c
! 8ce55e70629de083edf8041acf013939  libjava/java/lang/s_sin.c
! 2fa0a599133a56fb195b93ad4628bc9c  libjava/java/lang/s_tan.c
! 3f7a3a03571ff9a1d0ca86d450db4cdc  libjava/java/lang/sf_fabs.c
! 127723cba15649f341b34665d1571165  libjava/java/lang/sf_rint.c
! 015eb8305962bd6d2cb17d26dd27ef24  libjava/java/lang/strtod.c
! d5dcfe5006a1f1473cb4b752430fefca  libjava/java/lang/w_acos.c
! 27a1371c4c922cd9dcca48adeb7c8f55  libjava/java/lang/w_asin.c
! 43b2479a5578fb0fa937bae587304b8d  libjava/java/lang/w_atan2.c
! acf5e0124e5f6eb025ab139c8b8405de  libjava/java/lang/w_exp.c
! 3a9db14dcda0b1d608038cab549c02ab  libjava/java/lang/w_fmod.c
! 0315bc78738b343b5386066d4ca41d8c  libjava/java/lang/w_log.c
! fcde59b4c779793eb076b4517d2dde0b  libjava/java/lang/w_pow.c
! 6431279f0b17dec4770d407eff9fc71c  libjava/java/lang/w_remainder.c
! bb84b3cd77f245147929b536a705b614  libjava/java/lang/w_sqrt.c
! 3dd34fa12cf271f99c486b1a60e71254  libjava/java/math/BigDecimal.java
! 71cb2059df5d2c9e01cb239a742fb730  libjava/java/math/BigInteger.java
! 60e13e29dfc8f651b5bedde0c8b040e0  libjava/java/net/Authenticator.java
! 539c96ca0fb5667b572bf9ecd8120fed  libjava/java/net/BindException.java
! c922312481e7bc45f2d3631ed821885b  libjava/java/net/ConnectException.java
! 2f62a3f3ab09246467546d0ac3fd76ce  libjava/java/net/ContentHandler.java
! e748d3fb7e8ce3f15de8ead3d65e319c  libjava/java/net/ContentHandlerFactory.java
! 62066d9dbaee54046eea6a2729825e8b  libjava/java/net/DatagramPacket.java
! ab6c549d695cd223e1fe06fe8cc8ecc1  libjava/java/net/DatagramSocket.java
! e0efd4bf7131500cbc612d3c9ebac85f  libjava/java/net/DatagramSocketImpl.java
! 6fd2e4b8bd4b559b5f92fe85f77225e6  libjava/java/net/DatagramSocketImplFactory.java
! 0f7d5aada33d603d01bd69048e13ded4  libjava/java/net/FileNameMap.java
! 6cef506c69da4aaa112f1bddf5519d31  libjava/java/net/HttpURLConnection.java
! 043958b57a25f6e35265a9f238827c9c  libjava/java/net/Inet4Address.java
! 20bc5a98f0faacdbbea7e12d9f5e15d7  libjava/java/net/Inet6Address.java
! 2012bdd7d065eaa4fcd34f5823b3e4dc  libjava/java/net/InetAddress.java
! fd372ef78be2e6074e1aac3ecbaafd57  libjava/java/net/InetSocketAddress.java
! 983fd2969441403229204627dd26d96f  libjava/java/net/JarURLConnection.java
! bba08ddf7358a3e1206b1091c2b25481  libjava/java/net/MalformedURLException.java
! 4997ee690dc75f15d10b751fbf536781  libjava/java/net/MulticastSocket.java
! fcb4c2fcf62757c9bfee116a60c1d9d3  libjava/java/net/NetPermission.java
! c023ba29fbeb0a4ec7d59e60056dd483  libjava/java/net/NetworkInterface.java
! b261fc10b523cc94e0c74558601c0301  libjava/java/net/NoRouteToHostException.java
! d9b522795ac827fd65e8a1063af06586  libjava/java/net/PasswordAuthentication.java
! 5785820a5e088c9508801df941d9e137  libjava/java/net/PortUnreachableException.java
! 702cdcd867996f517d5afd2ae47ae5f3  libjava/java/net/ProtocolException.java
! cabed84f302d3ca2b7cc33d589b200e3  libjava/java/net/ServerSocket.java
! 8c726d13299b1a535f5a1aed52c71f57  libjava/java/net/Socket.java
! 130d747b60a9528a155e04a41e7c10e8  libjava/java/net/SocketAddress.java
! eb61ff6ce437b6dd4bae0cce4695c5de  libjava/java/net/SocketException.java
! 0d4a4f9fa065fdd73ef71248a250ea21  libjava/java/net/SocketImpl.java
! e1820b809f582ca7d75a7fafd369b313  libjava/java/net/SocketImplFactory.java
! b1709857e4517d45aa1b38a4e47fd335  libjava/java/net/SocketOptions.java
! 2498ccbbf2d9b8573beffeb203a39f4a  libjava/java/net/SocketPermission.java
! d84afed5ffee775ddd195cc6b2629e77  libjava/java/net/SocketTimeoutException.java
! bd0ae593b6e1822e413be9593b3495da  libjava/java/net/URI.java
! f51fc0603615be6b1b45c7bd17ee54c3  libjava/java/net/URISyntaxException.java
! b83bf18569dead89bbd49c16898d444e  libjava/java/net/URL.java
! 00203d7dc8b1211ab79b8f1be859c014  libjava/java/net/URLClassLoader.java
! 763228f68ca39bdd5c7a9d0cbf618244  libjava/java/net/URLConnection.java
! 07b586565d98370536890bd0aefea733  libjava/java/net/URLDecoder.java
! fc1a6d3cccddda0fe6c6116fbcf5e54d  libjava/java/net/URLEncoder.java
! d3b76ef3ec78f2c40d706b2048a0e0ca  libjava/java/net/URLStreamHandler.java
! a155bf59992c1842d3afb38737c1e0e1  libjava/java/net/URLStreamHandlerFactory.java
! a644b717c323a6a7a0f57e687375fe74  libjava/java/net/UnknownHostException.java
! f99d157b01c328711e2e506deb5c5203  libjava/java/net/UnknownServiceException.java
  17bc892a6540f518b849167a4c35f8b9  libjava/java/net/natInetAddressNoNet.cc
  51c25382f5a2880fe83f88bf79649fbf  libjava/java/net/natInetAddressPosix.cc
  61dc6eb17c86d882416fa31544d5b649  libjava/java/net/natInetAddressWin32.cc
! 82c0a0144235ee5825107aa5bb6e43ab  libjava/java/net/natNetworkInterfaceNoNet.cc
! 1602eaa918227bb011e485da72166556  libjava/java/net/natNetworkInterfacePosix.cc
! c1fb17c2052c60e13688981071330a70  libjava/java/net/natNetworkInterfaceWin32.cc
! a4d439e1de7274d071f98754502d9a0d  libjava/java/nio/Buffer.java
! aa5549d0a9fcbc8b43a3848bb8172b01  libjava/java/nio/BufferOverflowException.java
! 0f5518a7a6a4323257447d39ea42928a  libjava/java/nio/BufferUnderflowException.java
! 33097a90f70ab2848cf992622a3d11c4  libjava/java/nio/ByteBuffer.java
! 36b88d7a0593bf445c8006f83a7ff3b3  libjava/java/nio/ByteBufferHelper.java
! c258b6838abacdab438034fc8856858e  libjava/java/nio/ByteBufferImpl.java
! d9d4942a4177b3a1dbd535ef1cc39135  libjava/java/nio/ByteOrder.java
! 409903677f9662a80636f5dab3867f00  libjava/java/nio/CharBuffer.java
! a172ddb3a027a2cc4d737409b8ea7466  libjava/java/nio/CharBufferImpl.java
! 213517041cb14d720455b6e09458a81a  libjava/java/nio/CharViewBufferImpl.java
! 305fe50fc78ffb793bbaf44b85653f54  libjava/java/nio/DirectByteBufferImpl.java
! 3ca772379bb012d13de79fd14583dd9b  libjava/java/nio/DoubleBuffer.java
! ee6af503cd87971ac515b17ba9785849  libjava/java/nio/DoubleBufferImpl.java
! 7cb98694a6efa3a9fdc7c21b6d0927ec  libjava/java/nio/DoubleViewBufferImpl.java
! 292d85475973fa2da5c69339f80ca94d  libjava/java/nio/FloatBuffer.java
! bdcbc7fba52adc644c90ef1a47fb54a1  libjava/java/nio/FloatBufferImpl.java
! a8936841a8e0e2ca4ae6a1227d3d30fe  libjava/java/nio/FloatViewBufferImpl.java
! bcfcbeb0034346e0d8e5834888018229  libjava/java/nio/IntBuffer.java
! 606da1f2707ea369719470007d12d151  libjava/java/nio/IntBufferImpl.java
! 2b9d5cb5487c6ebbb20c91fa95050cf7  libjava/java/nio/IntViewBufferImpl.java
! 8a8a110fd54dc91a2f201c662b122b87  libjava/java/nio/InvalidMarkException.java
! 9a1b2f8b34267d2f9c96b6fd9f14de03  libjava/java/nio/LongBuffer.java
! 9231078773e3ff7768f2f85ff3e923b5  libjava/java/nio/LongBufferImpl.java
! a8c9a91bc48aaeaa8209af8bd5b42ebf  libjava/java/nio/LongViewBufferImpl.java
! 33e2839a488380af180bb9c53b39c196  libjava/java/nio/MappedByteBuffer.java
! 46a5593208e4a1a575ab0e9d50cda3db  libjava/java/nio/MappedByteBufferImpl.java
! 6872f3023009198422d06771dc2bb733  libjava/java/nio/ReadOnlyBufferException.java
! ee94e881baa56996bf20127814ed76b4  libjava/java/nio/ShortBuffer.java
! 510dfc6796fe4ba848986d80ccad24a5  libjava/java/nio/ShortBufferImpl.java
! 8d2b700be3f6c1cd4d59d90c71b9b8b1  libjava/java/nio/ShortViewBufferImpl.java
! 787f8e4d866a58cb91a23237671cfa1d  libjava/java/nio/VMDirectByteBuffer.java
! e1404a4d3b522ec6cf7229e45b14d4fe  libjava/java/nio/channels/AlreadyConnectedException.java
! 43df7dfda317a768350354df1bfc9aba  libjava/java/nio/channels/AsynchronousCloseException.java
! 4a9193558ad94c98ad551a76c4dbd465  libjava/java/nio/channels/ByteChannel.java
! 29fcd836666df9fbf3cd49a726395a75  libjava/java/nio/channels/CancelledKeyException.java
! 7b82479709fc1cd619a5f95ee2b33504  libjava/java/nio/channels/Channel.java
! 046171f07dc447ca0b36f59d418228ae  libjava/java/nio/channels/Channels.java
! 0426aff440bc082fff82791e62a064ac  libjava/java/nio/channels/ClosedByInterruptException.java
! c32b4e4ad18b9ca674a2b665c07e9add  libjava/java/nio/channels/ClosedChannelException.java
! d030f54f2f5b39ebb34902b56a4abdc1  libjava/java/nio/channels/ClosedSelectorException.java
! 612d388676d14fd259a02ae38fcae1aa  libjava/java/nio/channels/ConnectionPendingException.java
! 82217b00498996e9eac8964c2c37b1fc  libjava/java/nio/channels/DatagramChannel.java
! 1616c26a8400507bfdf517f12b786905  libjava/java/nio/channels/FileChannel.java
! 048ee65b0a2796496cbe8c176c50fa1d  libjava/java/nio/channels/FileLock.java
! 17e46218dc369e2fb3b47197f262fe2f  libjava/java/nio/channels/FileLockInterruptionException.java
! 447e5c03e45f58c877924c0e5954d38c  libjava/java/nio/channels/GatheringByteChannel.java
! 6eb82e166280772ef4229e0d7a5e9346  libjava/java/nio/channels/IllegalBlockingModeException.java
! 601aeb3cf2871db32c9bd1ac2778ad04  libjava/java/nio/channels/IllegalSelectorException.java
! f599d510523e12aef9c69c1adbeacf24  libjava/java/nio/channels/InterruptibleChannel.java
! b4b817199554065aaaa0e5bc9fd3e16f  libjava/java/nio/channels/NoConnectionPendingException.java
! 98ae0bc2b93c09a0888e6ac86f55a118  libjava/java/nio/channels/NonReadableChannelException.java
! 3d2a848cc38ff38fc13deb575fea4c78  libjava/java/nio/channels/NonWritableChannelException.java
! 2fea58d4621a095cb8653a9980dac328  libjava/java/nio/channels/NotYetBoundException.java
! 13c902606c873ec42baf865d4c0d5c93  libjava/java/nio/channels/NotYetConnectedException.java
! f131d1a0206b2661044362fe0b27a0bc  libjava/java/nio/channels/OverlappingFileLockException.java
! d0cb7d92813a91db573a81b83272c4b1  libjava/java/nio/channels/Pipe.java
! aeaffdf9de4557ae555401e8000a44a5  libjava/java/nio/channels/ReadableByteChannel.java
! 89654243556c47d216f3babb909ca0f5  libjava/java/nio/channels/ScatteringByteChannel.java
! f67cb2839c6fbe9de599cfa5bf837bab  libjava/java/nio/channels/SelectableChannel.java
! dd0c8441d0d370528cd61df8e06e6135  libjava/java/nio/channels/SelectionKey.java
! 51b0fc16b0ff4847f659415496b1c4f6  libjava/java/nio/channels/Selector.java
! ac697c6407ba9dd336505d8ffcf91ff9  libjava/java/nio/channels/ServerSocketChannel.java
! 2a11828e53460514f7a7824ab3b0f889  libjava/java/nio/channels/SocketChannel.java
! 8b1d38adbd66703aec03153a1920d0cc  libjava/java/nio/channels/UnresolvedAddressException.java
! b7a26772b0a6e5ef2c8dbecb3dbf3f56  libjava/java/nio/channels/UnsupportedAddressTypeException.java
! 3a402b600fd2fba4559cdcc01cf51f1b  libjava/java/nio/channels/WritableByteChannel.java
  de95ab9b80a6e44589d33bfa1213db39  libjava/java/nio/channels/natChannels.cc
! 435ba634c62983da8d691e60d06298cb  libjava/java/nio/channels/spi/AbstractInterruptibleChannel.java
! 57c8f0ef897cda53ef69f2445850e81c  libjava/java/nio/channels/spi/AbstractSelectableChannel.java
! cfa715d7acbc7f67b4751d74012417ae  libjava/java/nio/channels/spi/AbstractSelectionKey.java
! dc0ddecf98603a73da8033a5d26040bb  libjava/java/nio/channels/spi/AbstractSelector.java
! 6f2dbbf0932b12387b777e860983aecf  libjava/java/nio/channels/spi/SelectorProvider.java
! e0ae87062a2d62c363f56bb22f52165c  libjava/java/nio/charset/CharacterCodingException.java
! 2f672e2f7872d2de65523095d6f68dc8  libjava/java/nio/charset/Charset.java
! ff4f2df3d9e855e662eebb67ea3439b0  libjava/java/nio/charset/CharsetDecoder.java
! 0131ccba0d8eabb5c2f0b41b525403c1  libjava/java/nio/charset/CharsetEncoder.java
! 386ed7d768c8c05b08a7a6e3e8dfe2ca  libjava/java/nio/charset/CoderMalfunctionError.java
! f9e23e7fd0df59f2821e59029a3ba3ba  libjava/java/nio/charset/CoderResult.java
! 8a52b998207aef19cd3b214b190a94e1  libjava/java/nio/charset/CodingErrorAction.java
! 75c8861403365cbe9f9600190fc1516f  libjava/java/nio/charset/IllegalCharsetNameException.java
! 17e753f38dd620b5ac1c3286bbb473d8  libjava/java/nio/charset/MalformedInputException.java
! 2b747dc91e9ce98c6023ab511a61b750  libjava/java/nio/charset/UnmappableCharacterException.java
! 1f7caa065d09839e42e9cb2a455707f6  libjava/java/nio/charset/UnsupportedCharsetException.java
! e1a3888e87530e2dfe29d7ad5cf28d68  libjava/java/nio/charset/spi/CharsetProvider.java
  55656ec1d5fd06cb6f85c50ddc227382  libjava/java/nio/natDirectByteBufferImpl.cc
! c6dad42d304e5e3d951f3f91672d0065  libjava/java/rmi/AccessException.java
! 4bd3033997bfe5a78c1ceff72d63b6fa  libjava/java/rmi/AlreadyBoundException.java
! 27b275626015632f6d3f39d5ef12a1a3  libjava/java/rmi/ConnectException.java
! 5870f4fe19912cb4a1899b3d2f5e45a0  libjava/java/rmi/ConnectIOException.java
! c5203bc420186272ece1b622326b5c02  libjava/java/rmi/MarshalException.java
! 137e72eeb64f7c42704a351c5499223e  libjava/java/rmi/MarshalledObject.java
! 75dd5f4781422bd99a8553e88a639b42  libjava/java/rmi/Naming.java
! cac3f0c03e7367b5cb5f2ce6a67ab88d  libjava/java/rmi/NoSuchObjectException.java
! a3bf20c5af69db6507016cf3fce625b1  libjava/java/rmi/NotBoundException.java
! 5c2b97d396aee5bde9fb89cfe1c98e06  libjava/java/rmi/RMISecurityException.java
! 59a69d7754c03772bce79d3ce45239da  libjava/java/rmi/RMISecurityManager.java
! 1e6174d28b381344e78a37bcc51cce56  libjava/java/rmi/Remote.java
! 2ffff67750083713061280c64ba08135  libjava/java/rmi/RemoteException.java
! 4dff85f009753690c7e91e9f184b707c  libjava/java/rmi/ServerError.java
! ceb780c7d5715667314590bb5976887d  libjava/java/rmi/ServerException.java
! 2a259df357e001d89942a4a1fc389d69  libjava/java/rmi/ServerRuntimeException.java
! 524ba039650739ea5dd0f47bdc73ed82  libjava/java/rmi/StubNotFoundException.java
! 2f520aca54db054cbb157d37e8a30876  libjava/java/rmi/UnexpectedException.java
! 7c2b884f5fce8118bc57b4ea171e9187  libjava/java/rmi/UnknownHostException.java
! 155a39ea3161a9e44dbd03834b89cf0d  libjava/java/rmi/UnmarshalException.java
! 89156dfcd49890c7401b38cc086cfc00  libjava/java/rmi/activation/Activatable.java
! 81d55e3b6a2140a00a5ac59d54b99f61  libjava/java/rmi/activation/ActivateFailedException.java
! 769208103a923724edd6a0c3e9db020d  libjava/java/rmi/activation/ActivationDesc.java
! 2c475fe7fb71d397cdd8e09b0ddafc6e  libjava/java/rmi/activation/ActivationException.java
! eab921fb9892707fe99ee6b54e972494  libjava/java/rmi/activation/ActivationGroup.java
! b6228637e463819675301705837334cb  libjava/java/rmi/activation/ActivationGroupDesc.java
! b85e548af817811fbb9893c2f4729370  libjava/java/rmi/activation/ActivationGroupID.java
! b1e815ea74c808616926945d43306bb8  libjava/java/rmi/activation/ActivationID.java
! e0eb93a28d868a37bcdda9a9a68c7d0f  libjava/java/rmi/activation/ActivationInstantiator.java
! fb6466fa984387a8bb8bddaef52f0459  libjava/java/rmi/activation/ActivationMonitor.java
! bc1864a133dc9edc36409c8553bde59f  libjava/java/rmi/activation/ActivationSystem.java
! 81896f5afe6f84fc2dbb685f38b4c5f3  libjava/java/rmi/activation/Activator.java
! a4fff6d4e08c886e9854917c29681a72  libjava/java/rmi/activation/UnknownGroupException.java
! e3f456810b365cfa2b35db54292afca5  libjava/java/rmi/activation/UnknownObjectException.java
! 22dbcc694fa2fc46314d358829f057b0  libjava/java/rmi/dgc/DGC.java
! 70f55ca2b5a4b88ae21d6b96f13155fb  libjava/java/rmi/dgc/Lease.java
! 24fbf1e70adfee853fb4634e2a4e5ef4  libjava/java/rmi/dgc/VMID.java
! a6c8e31f7afe258a20bad5f0de1c7650  libjava/java/rmi/registry/LocateRegistry.java
! 4e90935d7853cf17380db28765a91ce1  libjava/java/rmi/registry/Registry.java
! 5b33ded207420f7ce1c2b16d8f16e084  libjava/java/rmi/registry/RegistryHandler.java
! fd64f453d737e0ba73b319aa6ab05c90  libjava/java/rmi/server/ExportException.java
! dc79bb26e407531a0b7be2f80a8a08c4  libjava/java/rmi/server/LoaderHandler.java
! 3f044d334ba0adfaf0a18754ee525444  libjava/java/rmi/server/LogStream.java
! 9b75379971c1303a3199d6ec67745274  libjava/java/rmi/server/ObjID.java
! e11c5b8a703557e03d06789115cd012f  libjava/java/rmi/server/Operation.java
! 13125ad9f709bb4ba41e02bbfd1c2676  libjava/java/rmi/server/RMIClassLoader.java
! 6f14360de179e4b25553fc3177e65e50  libjava/java/rmi/server/RMIClassLoaderSpi.java
! 4e7c6f703d543f65e8e318c3f4e3b43c  libjava/java/rmi/server/RMIClientSocketFactory.java
! b94cae73d88c8ddeab24448c53b816e6  libjava/java/rmi/server/RMIFailureHandler.java
! 7e5c84b8053d23922f0c2db3768a451c  libjava/java/rmi/server/RMIServerSocketFactory.java
! a35c4b4f1f9c833c19a6761f15b29b56  libjava/java/rmi/server/RMISocketFactory.java
! 0e79171a0eace3f562f61fd69037f8f6  libjava/java/rmi/server/RemoteCall.java
! 1cb8abbb4c0087ac81e6bfe3df93f592  libjava/java/rmi/server/RemoteObject.java
! ccfff65d836d0541058da3254b4c11da  libjava/java/rmi/server/RemoteRef.java
! 4f62dfd335510ff534f50744489f2998  libjava/java/rmi/server/RemoteServer.java
! 88f747b7554fabda18027bd76a71fc4a  libjava/java/rmi/server/RemoteStub.java
! 9c4badfd85894d5f7f87914a5681ad2b  libjava/java/rmi/server/ServerCloneException.java
! 6a7045db8f6c36d0f1b64938214f93d8  libjava/java/rmi/server/ServerNotActiveException.java
! a2aabe2a9df120004ff16945437ef3d0  libjava/java/rmi/server/ServerRef.java
! de2a0df604284bc0140abcd337d25313  libjava/java/rmi/server/Skeleton.java
! 5859a5c67ccc502a64dcf79eb652b73b  libjava/java/rmi/server/SkeletonMismatchException.java
! 5a5b21c0bc8446c281e7c3683c220e5d  libjava/java/rmi/server/SkeletonNotFoundException.java
! dd7096ae9e819d41e0005e0db3d1329d  libjava/java/rmi/server/SocketSecurityException.java
! d5645f071fa2ebda05e76f632b5f9f1e  libjava/java/rmi/server/UID.java
! 1ae29f41e16db52395286eb2481e421d  libjava/java/rmi/server/UnicastRemoteObject.java
! 76a851e703e5186bd1d8c5563d97a51e  libjava/java/rmi/server/Unreferenced.java
! 34d0beb22c27145098fc58c07b81566a  libjava/java/security/AccessControlContext.java
! a7865c85bffb2a9a42509724fb5ef2df  libjava/java/security/AccessControlException.java
! cf406de968f4ad8ec05e525550b81b0e  libjava/java/security/AccessController.java
! 704cf04f4ef9e65dbb3490f82905996d  libjava/java/security/AlgorithmParameterGenerator.java
! 6d87fca7c6c0062711f5aa4f8643aec0  libjava/java/security/AlgorithmParameterGeneratorSpi.java
! e0fea5050f49f8a20c85acacb87d5b1c  libjava/java/security/AlgorithmParameters.java
! 5a7d41e17debb55d6c88c0faedbaa6b3  libjava/java/security/AlgorithmParametersSpi.java
! 43de4bef810979384d503cb222b8d33b  libjava/java/security/AllPermission.java
! 01efde3ddf50135ebaf7f0b82ca35ab1  libjava/java/security/BasicPermission.java
! 07390c49794ee000eb7af3068c29a1f8  libjava/java/security/Certificate.java
! c63a75ee945694b46521f959c63bf2e7  libjava/java/security/CodeSource.java
! 245aba06f8ee6c6fc89e3105498f0d8b  libjava/java/security/DigestException.java
! bc369afeec3973fff9864e1465371db5  libjava/java/security/DigestInputStream.java
! df0e15fa439ee792c8d761374d7389ad  libjava/java/security/DigestOutputStream.java
! 8d80b5acce73fa75142edda5e99eaca2  libjava/java/security/DomainCombiner.java
! 052adbbb7fc4348900ceb7d3328e9eb2  libjava/java/security/DummyKeyPairGenerator.java
! 95c6bfc69b051eb3ae8ea040e3cf9868  libjava/java/security/DummyMessageDigest.java
! 45a716f352cd2eaeeb842222838cedff  libjava/java/security/DummySignature.java
! b96ee79478bdc4c84e2c62fc533376e7  libjava/java/security/GeneralSecurityException.java
! e99fa060f27ea3b010b24c47120b50f5  libjava/java/security/Guard.java
! aac87863b64ab1092c06d1e5cd1f2d21  libjava/java/security/GuardedObject.java
! 7a5ddcac9b55d2d12f7ea42984bfc3c0  libjava/java/security/Identity.java
! fe65fd5325370a6a795b40436762738b  libjava/java/security/IdentityScope.java
! 9c06af56f7b7cdb753b23b5eb55fb4a8  libjava/java/security/InvalidAlgorithmParameterException.java
! a2bb9e679af9f0a3356b65aca4a1c907  libjava/java/security/InvalidKeyException.java
! ed21e24ae91c5af780a9f366f0831c54  libjava/java/security/InvalidParameterException.java
! 9ee6e8b2b8cf7d967c660ad85af21f11  libjava/java/security/Key.java
! 9d5faa52191a028f7ee08b712c3b8a43  libjava/java/security/KeyException.java
! 11e6bf610419db0f0089824606e60d0c  libjava/java/security/KeyFactory.java
! 87dd3bef09fe7bfd157603cd247d1a9f  libjava/java/security/KeyFactorySpi.java
! ca8b07d9ab3892b75be8ffed942afeb3  libjava/java/security/KeyManagementException.java
! f4a022d1710ce0e14745300d27ed3ebc  libjava/java/security/KeyPair.java
! 7f8a0dc302ddcdfebf73965b9ef7732b  libjava/java/security/KeyPairGenerator.java
! 71119d9ce6b4e2a5ad739143c2db2770  libjava/java/security/KeyPairGeneratorSpi.java
! a956c55f20fcc5dd7f650df8eb5e33b4  libjava/java/security/KeyStore.java
! f70ac02da37b9b9f0437061c11ece8f8  libjava/java/security/KeyStoreException.java
! cb5529720fe3890773360edd560c4df0  libjava/java/security/KeyStoreSpi.java
! d2711b858ecf4a40f4a8536a020eb6f9  libjava/java/security/MessageDigest.java
! 18a30fdecdb2e4b080f795f9af84767a  libjava/java/security/MessageDigestSpi.java
! 9b5f239642952511426ae1584c8126db  libjava/java/security/NoSuchAlgorithmException.java
! 8c65d8450a816c9a94968b72487cfe0a  libjava/java/security/NoSuchProviderException.java
! af215738562055982e4b318c5c25178c  libjava/java/security/Permission.java
! 10e1f47b0fe08c61ac4bf4c3eecd6b81  libjava/java/security/PermissionCollection.java
! 2d9d1fadba6ce9daf76f5b59bc6a0bfc  libjava/java/security/Permissions.java
! 4327bb17aebfbfd22aa721f4d76e68b0  libjava/java/security/Policy.java
! 92d4790d10fe7d2fd051887ae2fb1395  libjava/java/security/Principal.java
! a074e2ba8d20724414c9010cc8b18b72  libjava/java/security/PrivateKey.java
! 65dbffd90e0b752531cec395bc7c4eb3  libjava/java/security/PrivilegedAction.java
! 7551fe17f9c322b238f1a27b6ba7d889  libjava/java/security/PrivilegedActionException.java
! 7e873eb90864424d50434931655573b2  libjava/java/security/PrivilegedExceptionAction.java
! 7cb921fd46f6009b10b1123d247d6f5a  libjava/java/security/ProtectionDomain.java
! 07d782c0dcf91763f7400dd25fbe4a9a  libjava/java/security/Provider.java
! 9bc99cb5aaad46e1287b569dc1addea9  libjava/java/security/ProviderException.java
! 2db6c649d2ec877104766fe3edb3a15c  libjava/java/security/PublicKey.java
! 3b9cb702a686465bfe8ef5fbd3aa3e63  libjava/java/security/SecureClassLoader.java
! 4318e06d08b841d880542c730cafdd45  libjava/java/security/SecureRandom.java
! 428cd103e2335ca5da80f05a2651287f  libjava/java/security/SecureRandomSpi.java
! dd13d1ec0c6b14ebd1ecad2e8b2f7601  libjava/java/security/Security.java
! 1a6c5e6f1dc4b3c66196bca06f1885a1  libjava/java/security/SecurityPermission.java
! 380bc83a461406fe2920394e1c8cf5e9  libjava/java/security/Signature.java
! 0b39a2c487c6a2ca7e4a8b94b74d7612  libjava/java/security/SignatureException.java
! e1180905376654c88bbe84979caa611a  libjava/java/security/SignatureSpi.java
! 2a21faf64a46d1c9d3685820770f32d4  libjava/java/security/SignedObject.java
! 57905df73bb5c85ecc2913f35353b86b  libjava/java/security/Signer.java
! 2c476f56b0c54f394fba341d1f002b81  libjava/java/security/UnrecoverableKeyException.java
! 651a6afeada1bd781364723b558d0d1d  libjava/java/security/UnresolvedPermission.java
! c3800d8a767fd515d1f329c80987099c  libjava/java/security/acl/Acl.java
! 4db87a2d94177fcdd112d7857b308f20  libjava/java/security/acl/AclEntry.java
! 2917338fa5e0b9ab060b8c6e4d695d76  libjava/java/security/acl/AclNotFoundException.java
! 1594747f3a4b9220f97e553ffc756ab9  libjava/java/security/acl/Group.java
! 456bbd1131acf469b52cf782827c3398  libjava/java/security/acl/LastOwnerException.java
! fdf22ccb03d68e06a059dde9db30877a  libjava/java/security/acl/NotOwnerException.java
! 221419167dd2271e48916cda2f260782  libjava/java/security/acl/Owner.java
! 97eda210c6869a9bc3b721a325cb79c7  libjava/java/security/acl/Permission.java
! dcc8189154bd06647fbf290dd20a2e81  libjava/java/security/cert/CRL.java
! e1bafb0a85ec9a23d02f01cc1b801256  libjava/java/security/cert/CRLException.java
! 251beb976458d4131a4e9588a1c0183a  libjava/java/security/cert/CRLSelector.java
! f203fc5624889e6dacd773c0755671a9  libjava/java/security/cert/CertPath.java
! 7c812ed48ddb718fdb66b80b84929fb7  libjava/java/security/cert/CertPathBuilder.java
! ea9d0d7357087ae5e70676c966bcbcd2  libjava/java/security/cert/CertPathBuilderException.java
! 477c4ebf514857825953a7a7aeb435e3  libjava/java/security/cert/CertPathBuilderResult.java
! 6593e4d522c6f70b6397802bf1bcfb46  libjava/java/security/cert/CertPathBuilderSpi.java
! e31aeed149b6265ac9dcee6d1bc42ea0  libjava/java/security/cert/CertPathParameters.java
! 4b5fe3723eab220530c089d814ddc64c  libjava/java/security/cert/CertPathValidator.java
! fe7097338644872443e44c6af0b5390e  libjava/java/security/cert/CertPathValidatorException.java
! 6e5b4d6c7287e6883f6cd441d3f49a03  libjava/java/security/cert/CertPathValidatorResult.java
! af178b58f9aa822457466e6a6a07147a  libjava/java/security/cert/CertPathValidatorSpi.java
! e40b626b387734eef2ec9a78ae02f55a  libjava/java/security/cert/CertSelector.java
! ac4302699356806da10f70d188999007  libjava/java/security/cert/CertStore.java
! 819a6d628939bfac65473d5b91fd84da  libjava/java/security/cert/CertStoreException.java
! b41f08a7ad0473fd572f4185c2bb9d32  libjava/java/security/cert/CertStoreParameters.java
! a1c462ed6f1be55e008202432aa9b9a4  libjava/java/security/cert/CertStoreSpi.java
! 8cb359d39702949482a67ae15dc28f18  libjava/java/security/cert/Certificate.java
! 4d050126f4943e502a8dc3c83d66e23c  libjava/java/security/cert/CertificateEncodingException.java
! 7f54f492bbb1f64d44c28c37c3fa16de  libjava/java/security/cert/CertificateException.java
! 9c31235a8ec55959cc36dba8486a8c64  libjava/java/security/cert/CertificateExpiredException.java
! d351ebff911e6ad0bef6d90a8076ad69  libjava/java/security/cert/CertificateFactory.java
! faafa343b4a9d96520908e186a2d580a  libjava/java/security/cert/CertificateFactorySpi.java
! c8538322cde529f9e448f0f124533dfa  libjava/java/security/cert/CertificateNotYetValidException.java
! 0a6c71b2c194c351aab15f5afaa7e3ad  libjava/java/security/cert/CertificateParsingException.java
! bef0a1bc6175c32399d306384264da88  libjava/java/security/cert/CollectionCertStoreParameters.java
! fc7eb2fce909f500f060e961ad541afc  libjava/java/security/cert/LDAPCertStoreParameters.java
! 2db1f01fe5db43ed72876ed0451cceac  libjava/java/security/cert/PKIXBuilderParameters.java
! a90c8875ac20dbba7e17471282a1a13b  libjava/java/security/cert/PKIXCertPathBuilderResult.java
! f2ae42c9779ba93861a5c3e34fbefbb7  libjava/java/security/cert/PKIXCertPathChecker.java
! 31191ec4f48bd7e1796297c7f67429fc  libjava/java/security/cert/PKIXCertPathValidatorResult.java
! 74609a7ee2d53c0107ab124eb925e026  libjava/java/security/cert/PKIXParameters.java
! f091351c7306a7a9ef9e0c86fdc97c0e  libjava/java/security/cert/PolicyNode.java
! 4be8eabe4ca1ca749bb25e8a13d86ebf  libjava/java/security/cert/PolicyQualifierInfo.java
! 00d19f1f9868b357dd9dedac18a920c1  libjava/java/security/cert/TrustAnchor.java
! 6e121e68fb4e58059c460cdc7db2360f  libjava/java/security/cert/X509CRL.java
! d0441f9f5a80682c3aa07dab6ab780df  libjava/java/security/cert/X509CRLEntry.java
! 2a3e0169cc92d0e7325f9e1904c11029  libjava/java/security/cert/X509CRLSelector.java
! 48f5be80e2c97e271026098b6444e4d6  libjava/java/security/cert/X509CertSelector.java
! d534810f4b0da6b313466877d3e687ed  libjava/java/security/cert/X509Certificate.java
! 202d791786b66f63160e08064c012ede  libjava/java/security/cert/X509Extension.java
  45e9331e8c4fe87eb043176949c6fc40  libjava/java/security/classpath.security
- 05cf8051ed53e6eda4e37ab935f4ccfe  libjava/java/security/interfaces/DSAKey.java
- 0c0066186c36c4ebb02dc7f324792a9c  libjava/java/security/interfaces/DSAKeyPairGenerator.java
- ebcbc3f90e81c994e95b39cb2c84bbd3  libjava/java/security/interfaces/DSAParams.java
- c4fe85df4a1239fff983c142afa1928f  libjava/java/security/interfaces/DSAPrivateKey.java
- e9b61a016e56de1a79c5a6210b35393c  libjava/java/security/interfaces/DSAPublicKey.java
- aa922e1aa72958f3ee68e7acc3f1df10  libjava/java/security/interfaces/RSAKey.java
- f9a74718134c86448efec6281769afbd  libjava/java/security/interfaces/RSAMultiPrimePrivateCrtKey.java
- 4f2d5d408da89bf3abea50591bdf4eb9  libjava/java/security/interfaces/RSAPrivateCrtKey.java
- c6ce9c7f89e331e2004fc21231635c84  libjava/java/security/interfaces/RSAPrivateKey.java
- 50f9fd130711703cf11afadd90175861  libjava/java/security/interfaces/RSAPublicKey.java
  7ba6b1101fde93a39b0377813a7d16a7  libjava/java/security/libgcj.security
! d086fcfd9b580a8c1719f41b489a1680  libjava/java/security/spec/AlgorithmParameterSpec.java
! 66a9186b7ce8d64c2f69949efb0aa7e3  libjava/java/security/spec/DSAParameterSpec.java
! b5740b26780ece9c92d53a209f30152c  libjava/java/security/spec/DSAPrivateKeySpec.java
! 3c35dffc827f92c2c58aa2a777abc465  libjava/java/security/spec/DSAPublicKeySpec.java
! 8613915cb341bf5d0f282d8e55dd3b8a  libjava/java/security/spec/EncodedKeySpec.java
! d41a539621019e7b7e81df4d495b217f  libjava/java/security/spec/InvalidKeySpecException.java
! 64c104770166751215d99a16d1e54b5b  libjava/java/security/spec/InvalidParameterSpecException.java
! 5708a639a559f47ba11d9f0cf495c740  libjava/java/security/spec/KeySpec.java
! c6342f64a6bb42f937c84794a97308a1  libjava/java/security/spec/PKCS8EncodedKeySpec.java
! 65fa29ff47cc65339df9f01ed356368a  libjava/java/security/spec/PSSParameterSpec.java
! 96e73308fb83688492e819bc3bcba51a  libjava/java/security/spec/RSAKeyGenParameterSpec.java
! 6b7bdbb62ec7a114e391624d4c0fc96c  libjava/java/security/spec/RSAMultiPrimePrivateCrtKeySpec.java
! b17092ca8db663225c869069d753dcea  libjava/java/security/spec/RSAOtherPrimeInfo.java
! 299ab99ac4685ca1b46a59ea2f1a99de  libjava/java/security/spec/RSAPrivateCrtKeySpec.java
! 4fd947af16e2146c6e81eefd0fa21769  libjava/java/security/spec/RSAPrivateKeySpec.java
! cc9dee774a378831d9137af0d79a2527  libjava/java/security/spec/RSAPublicKeySpec.java
! c5ce0c08c530c35e89bae723d4a08983  libjava/java/security/spec/X509EncodedKeySpec.java
! 81075c049ddcd61cd21d663ea2416598  libjava/java/sql/Array.java
! 8bac28257fd570e71e9704b36f53b2a7  libjava/java/sql/BatchUpdateException.java
! e7afaa4874528302953886bdb84eb533  libjava/java/sql/Blob.java
! 6eddc6e31c094648c82e70aaf95404af  libjava/java/sql/CallableStatement.java
! 0cd820d214cbcf34fa822f66b55a4719  libjava/java/sql/Clob.java
! 41013423b7fa2cc86645ec095570588a  libjava/java/sql/Connection.java
! 1f1658dc2fc42c390dc05585c555aefa  libjava/java/sql/DataTruncation.java
! 67866a79e40623f1f9b6b75e8b1085a0  libjava/java/sql/DatabaseMetaData.java
! 0fe2f8ec0470072546957387c08ef505  libjava/java/sql/Date.java
! 4c08f7b8ffdbb3820664ed3ced2842a7  libjava/java/sql/Driver.java
! 47922102c14d9486450429df2717965f  libjava/java/sql/DriverManager.java
! 24232a267953773ee9afd69e22662bce  libjava/java/sql/DriverPropertyInfo.java
! 2d9f561186649c39f0218a995b158a40  libjava/java/sql/ParameterMetaData.java
! 73fffde65f1deea03956972dc879be69  libjava/java/sql/PreparedStatement.java
! 5e5aa1d3c82aeabdfbd0993efd1ee54a  libjava/java/sql/Ref.java
! fb427c09886493e739131d0fedf7b07b  libjava/java/sql/ResultSet.java
! 84520063292675e192794fcfe3b2e7a7  libjava/java/sql/ResultSetMetaData.java
! d7bad73a6038b90585b2ec8118cd86b2  libjava/java/sql/SQLData.java
! 3d0c45309670ad0550ed9066b1e5ec61  libjava/java/sql/SQLException.java
! a45472f66485af6a085fdfda9668b492  libjava/java/sql/SQLInput.java
! c34cd08cf53008fc096c61a20c31190b  libjava/java/sql/SQLOutput.java
! 1eca5f0b47b55896ed75b2ea5a7e2014  libjava/java/sql/SQLPermission.java
! 41d61657b7a5677d1b46b31836d2ff70  libjava/java/sql/SQLWarning.java
! 01736900513ab612df4e43f4a2aac5b1  libjava/java/sql/Savepoint.java
! a0a2b096f9c267574c4b1901c321ece8  libjava/java/sql/Statement.java
! bb59542a56c07d074158419dbfd1049a  libjava/java/sql/Struct.java
! 7558b709804233e842b4f65a9ec5361a  libjava/java/sql/Time.java
! de499802306e388ed02c856d2683d50b  libjava/java/sql/Timestamp.java
! 0c2e0941100621fd27998f2f1f103431  libjava/java/sql/Types.java
! d955642fad41a199b8ad3704af9f0fec  libjava/java/text/Annotation.java
! c101e89b9114765f38b1e0a65e222ffb  libjava/java/text/AttributedCharacterIterator.java
! 5f7178cc68d0ab2bdd8c851e855c03ea  libjava/java/text/AttributedString.java
! 0508b555dc2d05c152c0cd3ae5fb8c46  libjava/java/text/AttributedStringIterator.java
! 08f0ddf30e60e9f1e927f13c43ffcf49  libjava/java/text/BreakIterator.java
! dd6ee066e673807a3666520f26bd7786  libjava/java/text/CharacterIterator.java
! cdcd318bc5fbeb6cacc23c556fa42152  libjava/java/text/ChoiceFormat.java
! 34a0192c2cd081c75359167fae7c29bb  libjava/java/text/CollationElementIterator.java
! 77cd5925d6717b5b47c3d71de5b628b1  libjava/java/text/CollationKey.java
! 89323fbed54fd43900efe059aee1c27b  libjava/java/text/Collator.java
! 3d627169d33301563cfd5df30cf29fb2  libjava/java/text/DateFormat.java
! a96890e1c61df4ce795df035982a65c3  libjava/java/text/DateFormatSymbols.java
! d988c279a05059ef0766403e8e896fe8  libjava/java/text/DecimalFormat.java
! c4183fc00947dd19f6e640ec8ef430a9  libjava/java/text/DecimalFormatSymbols.java
! c5517a3829a44eeb261c80b400646180  libjava/java/text/FieldPosition.java
! ac546610d6176686ad7638ed54cc625e  libjava/java/text/Format.java
! c57e1b0c426cc6058bf6851602e6b07a  libjava/java/text/MessageFormat.java
! 25b7d3a1902c3bae8cdf46a3c61e4cc0  libjava/java/text/NumberFormat.java
! 2e77895f27731324902a1097c4e09574  libjava/java/text/ParseException.java
! a4c4c88ab8bf31f257fae5211744c618  libjava/java/text/ParsePosition.java
! 2c3824391b90ce20713bd6f630ab79dc  libjava/java/text/RuleBasedCollator.java
! 05db2e17535e1aca53bc94e4e22b62c9  libjava/java/text/SimpleDateFormat.java
! f2a933945261c04f1477fd444e568956  libjava/java/text/StringCharacterIterator.java
  1a0c8d1f8762b747a35f3c5c6ae0c540  libjava/java/text/natCollator.cc
! ebdd599c9c010fe95c7a979c9a4c99ce  libjava/java/util/AbstractCollection.java
! 1a11e74a52423d0b09b714fbcefe3e1b  libjava/java/util/AbstractList.java
! 60e43b49dd0211c21098c99392eebb6c  libjava/java/util/AbstractMap.java
! 4d627b0659565d3a0511f6fe43d37af0  libjava/java/util/AbstractSequentialList.java
! bc818ee5e0455c66e375824bbce2b3e5  libjava/java/util/AbstractSet.java
! accbd3bdab49287089634d212970db80  libjava/java/util/ArrayList.java
! 985fce76c2fb0db567e2e94e49288ea7  libjava/java/util/Arrays.java
! 92f2e9d2c720bda23849ee53ace33829  libjava/java/util/BitSet.java
! af4986a8d16f75a71fbf400eaeea378d  libjava/java/util/Calendar.java
! d54bfbc663a49c710aaa604694844e22  libjava/java/util/Collection.java
! 761e77d8893137c3edbb036344903306  libjava/java/util/Collections.java
! 883a8cb5c874c92eb5917b4ff85198c4  libjava/java/util/Comparator.java
! 691717c7073e5bca99bfe65b5c826de4  libjava/java/util/ConcurrentModificationException.java
! 1ba795fd0070f45a64943434c366f815  libjava/java/util/Currency.java
! 74790863bcc1bd6deaf7112f2cb957c8  libjava/java/util/Date.java
! ba5a4486c2bbf698a4897ee3cfd564a2  libjava/java/util/Dictionary.java
! fd8f636a43b0db5c1207b80fef7e80fa  libjava/java/util/EmptyStackException.java
! e43578ef726bfb4f48e33f908a5a948b  libjava/java/util/Enumeration.java
! a2f3cd0b0f442928bc4561cec4ffab2c  libjava/java/util/EventListener.java
! ccc02cd2025dbeb3c81d3f9e0a431b3f  libjava/java/util/EventListenerProxy.java
! 38fa84ae822b6f0f0b714ea3948840e2  libjava/java/util/EventObject.java
! 55c3656d9a889243958a2f5470f1e640  libjava/java/util/GregorianCalendar.java
! d4b59d1f67de609ea8e24e42c6bab719  libjava/java/util/HashMap.java
! c608eb95df97d8cee65e9f3a4dbb457b  libjava/java/util/HashSet.java
! 7218b2f4165e132c880314e1a6e59a06  libjava/java/util/Hashtable.java
! 9783d4db4d06348e72503fb5c7a5b8a9  libjava/java/util/IdentityHashMap.java
! 6f1be1d99a3f5b24a27560733f7c0769  libjava/java/util/Iterator.java
! 36950532534529fcde0a7a72e6701571  libjava/java/util/LinkedHashMap.java
! 6d49f760ccb899b7be5a11a129d3c9f7  libjava/java/util/LinkedHashSet.java
! 8e711cce0d11278189c39a4b7630e4b0  libjava/java/util/LinkedList.java
! e9e1656f70f04e5b7348ea020dbc1fdf  libjava/java/util/List.java
! 187ac043837a26a1e670257cbe2c5941  libjava/java/util/ListIterator.java
! 440c575a229c60cc316f27bf65854059  libjava/java/util/ListResourceBundle.java
! e9041d7916cb38b9e9cb70eb06b13ee3  libjava/java/util/Locale.java
! a4449862cfd57528ba3bfad8612c25b3  libjava/java/util/Map.java
! bbc2887828a505801875d34afcdd1bdc  libjava/java/util/MissingResourceException.java
! c82deec2ac1dc09084ca61e433ed919c  libjava/java/util/NoSuchElementException.java
! bd1d0bc9e20fd6d7166c815d23bec83a  libjava/java/util/Observable.java
! 2a9215eaf2dfed532119d9b92131035d  libjava/java/util/Observer.java
! ed9e49af8c69ebdf6d00eeea4640cb0d  libjava/java/util/Properties.java
! 3ca505eb7d9de69eab53a8a8ce2904a4  libjava/java/util/PropertyPermission.java
! 22ee3b172c679da2b2a442a9b10b1acd  libjava/java/util/PropertyPermissionCollection.java
! 1db962ee794b844492edb19463af397b  libjava/java/util/PropertyResourceBundle.java
! ecc546f8699f79375e2a6d71d5e078f5  libjava/java/util/Random.java
! 1cc590659d31a2fbc0bd959960693368  libjava/java/util/RandomAccess.java
! 02ddb0a5cb5832b88ec57a734f379bfb  libjava/java/util/ResourceBundle.java
! 8a5429208cfa579b9f500635db009dce  libjava/java/util/Set.java
! 5c9ee1849729602ac7886d7a05897b1b  libjava/java/util/SimpleTimeZone.java
! 5b1b05523d404d295ffc6fd906605fef  libjava/java/util/SortedMap.java
! a77f69fb63798cc08fd417c11c14672d  libjava/java/util/SortedSet.java
! aa2ae7b804b31c085619a0ae882f99de  libjava/java/util/Stack.java
! 27c053b392570f643ee3ea09ae0d2e19  libjava/java/util/StringTokenizer.java
! ef866538fd5a78227700d666449bed4b  libjava/java/util/TimeZone.java
! efbf404727dd25f4743098bddeefa345  libjava/java/util/Timer.java
! 0d84bd2f6f433602bd166c021318998c  libjava/java/util/TimerTask.java
! 097c66143eb9a9f9b2bb741501bd0cff  libjava/java/util/TooManyListenersException.java
! f4af74cf6e7edfd16c200585535f7e99  libjava/java/util/TreeMap.java
! 76152455cd0f4d0d66b045d54cd9a342  libjava/java/util/TreeSet.java
! 56141120cfd393722c82155b0fe8676b  libjava/java/util/VMTimeZone.java
! 659c7192a3a82313e0b77835fbabb794  libjava/java/util/Vector.java
! 70008843857cb33b53d2488b3c5f1626  libjava/java/util/WeakHashMap.java
! 8810f6721c8550da21cbe3c366c4567a  libjava/java/util/jar/Attributes.java
! f3c2bde333d7b1c53c739d10c452329c  libjava/java/util/jar/JarEntry.java
! 633ea8c436f28f08b1f4d869b890b258  libjava/java/util/jar/JarException.java
! 7a3b6a318750be04d527abc0d1f676de  libjava/java/util/jar/JarFile.java
! ff8d6a0799ca63384bf1b3cf35f684d0  libjava/java/util/jar/JarInputStream.java
! b618e0e44c1101452cffdc1408ca0193  libjava/java/util/jar/JarOutputStream.java
! a90c0b1e50c6e639c0fb034ed16218b0  libjava/java/util/jar/Manifest.java
! 44b63e1b4bebae6768b5e6265fde9183  libjava/java/util/logging/ConsoleHandler.java
! 68f786ba1dbb2ec693e954a44cfd2da0  libjava/java/util/logging/ErrorManager.java
! 58ae777c4297024bab5f806692b15108  libjava/java/util/logging/FileHandler.java
! 491949b235f2ad94baa5e458238c488d  libjava/java/util/logging/Filter.java
! 0573adc9abcf63012ac99f90ea96ed09  libjava/java/util/logging/Formatter.java
! a8e9053ae445f7ee1d649c5d0f242e28  libjava/java/util/logging/Handler.java
! af99f09df38aecfebc1be6caef039e88  libjava/java/util/logging/Level.java
! 97f59486d13396eceef83dcd9e75822b  libjava/java/util/logging/LogManager.java
! fa1f82db3e73bc7cce71d272c5eca987  libjava/java/util/logging/LogRecord.java
! 1b471a4cd9a22bdecc5cda0d93f01398  libjava/java/util/logging/Logger.java
! 36e4ddf1ca8a1cde7ceeb9b5e9a035dc  libjava/java/util/logging/LoggingPermission.java
! 41130dd177ec5fa6b9c2272b0c6fc4d1  libjava/java/util/logging/MemoryHandler.java
! a002f234707b0e9f56d6b3fe9f8296bf  libjava/java/util/logging/SimpleFormatter.java
! dda90f06cf6c5f6aa6014e8ddce22fb5  libjava/java/util/logging/SocketHandler.java
! 606b98f2e4e23adc4b1a6574b4a1faef  libjava/java/util/logging/StreamHandler.java
! ecef47236a47deeec70302b07131d427  libjava/java/util/logging/XMLFormatter.java
  a8a109e84e6cb0612ed5da3f51ce4f2d  libjava/java/util/logging/logging.properties
! 1994483dc0f992fbc3740ed7cef1fca7  libjava/java/util/logging/natLogger.cc
! 9ce324aa06122ee1148e68a41b3a2083  libjava/java/util/natResourceBundle.cc
  55240de7d7becadb2d8663153ecab259  libjava/java/util/natVMTimeZone.cc
! d28cb33bc9c19f6f0c84363d2fcddb92  libjava/java/util/prefs/AbstractPreferences.java
! 256e83f25fad75473932c391552cb14b  libjava/java/util/prefs/BackingStoreException.java
! 28951caa79e6a62a68459a78ba4504b0  libjava/java/util/prefs/InvalidPreferencesFormatException.java
! 87aa7bff5ac1d29571104efcf9735ce2  libjava/java/util/prefs/NodeChangeEvent.java
! 2cbc48b59cbcfdd2a12ce623c273b17d  libjava/java/util/prefs/NodeChangeListener.java
! 4b994ebc7b557f8c3fe2410604c815e3  libjava/java/util/prefs/PreferenceChangeEvent.java
! 5a7d4b7431fa6d6b7cd0e33dc81c5c81  libjava/java/util/prefs/PreferenceChangeListener.java
! 400963230924fd2a327d5f2598b544ed  libjava/java/util/prefs/Preferences.java
! 63bfa559995e4aba45c88cc29335bb94  libjava/java/util/prefs/PreferencesFactory.java
! 85dd546c6649c275399a4431c311f966  libjava/java/util/regex/Matcher.java
! 2c06886b5910415b9ad2429d4090d6cd  libjava/java/util/regex/Pattern.java
! 403229bb073f94d1d31e151c43571b45  libjava/java/util/regex/PatternSyntaxException.java
! 60e812205db1c9217885c22a89e43fcc  libjava/java/util/zip/Adler32.java
! 72ebf52147630fcf515407834f1f296c  libjava/java/util/zip/CRC32.java
! 2fa0ed75771c3308b914770b4e88aafa  libjava/java/util/zip/CheckedInputStream.java
! a7e5af15abb6a1a93e5ff1d1ed471753  libjava/java/util/zip/CheckedOutputStream.java
! c739403d3917777989d801804a636590  libjava/java/util/zip/Checksum.java
! 350397e46b376392d5dd5b38ac810c3b  libjava/java/util/zip/DataFormatException.java
! 9b5bc9cf047fc26360878a5076219053  libjava/java/util/zip/Deflater.java
! dd4dea28fe11a1dad5b6cfcd00cd04c8  libjava/java/util/zip/DeflaterOutputStream.java
! e44178cde34125a8c7d25b57c0c58d80  libjava/java/util/zip/GZIPInputStream.java
! ee251f2510d5da9135a5b7b3bee0b28c  libjava/java/util/zip/GZIPOutputStream.java
! b2d3704f59a33a6ae469bfb2486d1211  libjava/java/util/zip/Inflater.java
! b071a4ce0883c630fbaa0571bf8f34c5  libjava/java/util/zip/InflaterInputStream.java
! 2b61aa5a2dac29480dd5bd41a6c2d636  libjava/java/util/zip/ZipConstants.java
! eda9e159f8d75a36b092d2e9582bc37a  libjava/java/util/zip/ZipEntry.java
! f3b7099cf4b32a8e4aa4a783dbab180c  libjava/java/util/zip/ZipException.java
! 417ffca3bf3546a080b3fea1e8ec92ab  libjava/java/util/zip/ZipFile.java
! e40a156d7de5a9ca2595fbdb18bdff17  libjava/java/util/zip/ZipInputStream.java
! bac3c12500202f33cfb5213845e34268  libjava/java/util/zip/ZipOutputStream.java
  25df7cd5571d97e22829f6244a1b2e1f  libjava/java/util/zip/natDeflater.cc
  df7b112bc4248d86d37b1f679c2660c4  libjava/java/util/zip/natInflater.cc
! 38f946a082306b1a6db1bbb6c0a62893  libjava/javax/accessibility/Accessible.java
! ee5122da071ebc2738acdfd9cd8684fe  libjava/javax/accessibility/AccessibleAction.java
! 9792dfb5f067461ce61296aac16ec933  libjava/javax/accessibility/AccessibleBundle.java
! e19b24e843d424276a54fc2ff8083787  libjava/javax/accessibility/AccessibleComponent.java
! 3cd8bbb58af255da7f4362a134e75ebb  libjava/javax/accessibility/AccessibleContext.java
! efede2653bbe1b2f9538c6a87b962007  libjava/javax/accessibility/AccessibleEditableText.java
! 67b81294339dd7271f270cceff85fe2b  libjava/javax/accessibility/AccessibleExtendedComponent.java
! 378a7d2fc08206e8c456ea9771835f42  libjava/javax/accessibility/AccessibleExtendedTable.java
! 6611833e2e0b789e345b2ebefa849bfa  libjava/javax/accessibility/AccessibleHyperlink.java
! 2fa514f9ef628c51a221d39cbb1f94b6  libjava/javax/accessibility/AccessibleHypertext.java
! a5404398e7b16b5c2732ce7c3b9e6132  libjava/javax/accessibility/AccessibleIcon.java
! 8fa535322d10b78b9b8a4e4560ed6c75  libjava/javax/accessibility/AccessibleKeyBinding.java
! 54c515c0704327bf2d7bc1914be87a40  libjava/javax/accessibility/AccessibleRelation.java
! 43166582397b6153bcb50c44abd17748  libjava/javax/accessibility/AccessibleRelationSet.java
! b762e6200ce214b2b0b32366a639c9d9  libjava/javax/accessibility/AccessibleResourceBundle.java
! 382bb4564925e5f84a023d76d3337ac0  libjava/javax/accessibility/AccessibleRole.java
! 83fdb67155e25fb7444b114ce8f39e6b  libjava/javax/accessibility/AccessibleSelection.java
! f6c4fcba7648c1eb4bfb2f3666c30d29  libjava/javax/accessibility/AccessibleState.java
! 88e39c8b251ef205ab4a56be237af32c  libjava/javax/accessibility/AccessibleStateSet.java
! 3ddcdca293a6b9a820a2240e8c68ad23  libjava/javax/accessibility/AccessibleTable.java
! d667564970fc93528ae1ebcfc247e8c2  libjava/javax/accessibility/AccessibleTableModelChange.java
! 7f116c6c527b1df487a39130eb906ff9  libjava/javax/accessibility/AccessibleText.java
! 43024925d51991b9e60671fa94de5fb8  libjava/javax/accessibility/AccessibleValue.java
! fa98caef88c572988a4c70b84fe3faa3  libjava/javax/crypto/BadPaddingException.java
! 32c6f38ad32fb2ee34cc2d4365d661f2  libjava/javax/crypto/Cipher.java
! 51eb2f6380c6c3903a022d027742e27a  libjava/javax/crypto/CipherInputStream.java
! 29be710f3099eca4d99fe724eda8dede  libjava/javax/crypto/CipherOutputStream.java
! bc341a3c86b30fe794b3ef9360e7304d  libjava/javax/crypto/CipherSpi.java
! 54cd86e0158600b076b1fd48920f0b45  libjava/javax/crypto/EncryptedPrivateKeyInfo.java
! 7e48cf082ae3b3ee30048620b28ce8cb  libjava/javax/crypto/ExemptionMechanism.java
! 504885e68b0a4a2e7cf20e12cee26ddc  libjava/javax/crypto/ExemptionMechanismException.java
! ad7171e67fe4e10ddbf8fba59a6d0e31  libjava/javax/crypto/ExemptionMechanismSpi.java
! 48b160ea7a8dbd08f2116cec4c2463c1  libjava/javax/crypto/IllegalBlockSizeException.java
! 008b218c06a01ac2025e871e0e4ef35c  libjava/javax/crypto/KeyAgreement.java
! a9ef84cdb1a85bb4cae5bd59ff8d2efa  libjava/javax/crypto/KeyAgreementSpi.java
! 2cd67f18c208374125b8ea7ad79bc490  libjava/javax/crypto/KeyGenerator.java
! 508ba53153977b82bc3513745075f7ac  libjava/javax/crypto/KeyGeneratorSpi.java
! a9a33a739642c284882e7f3e1a83d4a3  libjava/javax/crypto/Mac.java
! 6f43f62c80fd0fefba1a9b618f7ff039  libjava/javax/crypto/MacSpi.java
! e84f105df1e1ce1e663c4e083681b40b  libjava/javax/crypto/NoSuchPaddingException.java
! 87d70d50643abdf1f059ad294fc68e5c  libjava/javax/crypto/NullCipher.java
! 5540fa51ef0bf172a158263d75e9452c  libjava/javax/crypto/NullCipherImpl.java
! f8315c6e4e3f58f5270788c361961fb7  libjava/javax/crypto/SealedObject.java
! 18497070eaf5a97fc7e7eeef463c78f3  libjava/javax/crypto/SecretKey.java
! b996abf4253c0a0c3a140afd19eb5876  libjava/javax/crypto/SecretKeyFactory.java
! 2991dcaa3c9ba4c496607aa3cc6cfb98  libjava/javax/crypto/SecretKeyFactorySpi.java
! 5098b20300ff0cdf88a012b6da4d3d42  libjava/javax/crypto/ShortBufferException.java
! fb9fa50bc5721078de0d9b552aa9af17  libjava/javax/crypto/interfaces/DHKey.java
! ef89eb5b2b991943b85a536cd0369e3d  libjava/javax/crypto/interfaces/DHPrivateKey.java
! aedfd31806a36ff58561f6e4f6eefcf4  libjava/javax/crypto/interfaces/DHPublicKey.java
! 9978f96c2854b4804da3f4469cdb980a  libjava/javax/crypto/interfaces/PBEKey.java
! eb5f71687f818d4aef7ef6b72bcba64f  libjava/javax/crypto/spec/DESKeySpec.java
! 705d931f608dd1f1dde1c727b18d6a2f  libjava/javax/crypto/spec/DESedeKeySpec.java
! 0842c36d3dbee1ad11b5cd783e925376  libjava/javax/crypto/spec/DHGenParameterSpec.java
! 72fc61275cdfebec856ed0c977637ee1  libjava/javax/crypto/spec/DHParameterSpec.java
! 750adfd50de8efebec3229115b8115b9  libjava/javax/crypto/spec/DHPrivateKeySpec.java
! 31f9396e0ab4b8dd50ea749aec59d1b3  libjava/javax/crypto/spec/DHPublicKeySpec.java
! 3957c4a71fba8c57965218acb16142f1  libjava/javax/crypto/spec/IvParameterSpec.java
! 9fe29f7b4ee46b9c615511003fc1e564  libjava/javax/crypto/spec/PBEKeySpec.java
! 6d4aa7a671d6f7fb7a4d3b3ed850358a  libjava/javax/crypto/spec/PBEParameterSpec.java
! e990c747af5c5497e0494b4c57beae58  libjava/javax/crypto/spec/RC2ParameterSpec.java
! db866fed91e89e2cd5b739b13139962c  libjava/javax/crypto/spec/RC5ParameterSpec.java
! 83c7755e32c0b5d2b2dde54a1242309b  libjava/javax/crypto/spec/SecretKeySpec.java
! e715893bab0498fe1bf4a8fce6840120  libjava/javax/imageio/IIOException.java
! af25330bfad3b38527f7c8995f8adb81  libjava/javax/imageio/IIOImage.java
! ad5aabdcf154e17dbdd60d2ccbc0f395  libjava/javax/imageio/IIOParam.java
! 9947d6ab76b37c4ab0e727353aa534c8  libjava/javax/imageio/IIOParamController.java
! 8dd681b08eeb28ca11ce296ed3089dbe  libjava/javax/imageio/ImageIO.java
! 44b53a91bb5014157a8ff99bc883abc3  libjava/javax/imageio/ImageReadParam.java
! 6c8e2026e2d06fab52e6fb93ab76e87c  libjava/javax/imageio/ImageReader.java
! 9b38a5cc1961026b8ddc2f7ee340fc3e  libjava/javax/imageio/ImageTranscoder.java
! 3c3b2e0a3f12dec6ee0dfacdc3e51364  libjava/javax/imageio/ImageTypeSpecifier.java
! 7bea1e8139a39ae5d0a4055f72ddeebd  libjava/javax/imageio/ImageWriteParam.java
! 7044e6cef7b437c5a3aa3e269db79f2c  libjava/javax/imageio/ImageWriter.java
! f84ebd9613e6aebb18f55dbebe1f2776  libjava/javax/imageio/event/IIOReadProgressListener.java
! f9d22f1e633437ae960b438d047efbef  libjava/javax/imageio/event/IIOReadUpdateListener.java
! c81702514172bf3104a5cd4d5ffa6325  libjava/javax/imageio/event/IIOReadWarningListener.java
! a08f0f73a9c62113c7ee37cf4307bb4a  libjava/javax/imageio/event/IIOWriteProgressListener.java
! 38ee53c68b4e4353832d8bda3ed4b5a2  libjava/javax/imageio/event/IIOWriteWarningListener.java
! 46fd2285f054fd0808899a5f5e29359d  libjava/javax/imageio/event/package.html
! 86cd09ec5a470a13f1b24f1c6b59db66  libjava/javax/imageio/metadata/IIOAttr.java
! 77df1d9d2e0dd4ff5982af8d369953a8  libjava/javax/imageio/metadata/IIOInvalidTreeException.java
! 454636b80de83da6417bb9f26d11be8c  libjava/javax/imageio/metadata/IIOMetadata.java
! b594146ba35a81ad6e1c3704e30b7b75  libjava/javax/imageio/metadata/IIOMetadataController.java
! 39c2858fa4bcf138a10ed990453d9373  libjava/javax/imageio/metadata/IIOMetadataFormat.java
! 8e987fffc4c49d436e92e1eb3893c365  libjava/javax/imageio/metadata/IIOMetadataFormatImpl.java
! c73f8573f9a8dcbfd0f4d003d998780c  libjava/javax/imageio/metadata/IIOMetadataNode.java
! 0dc71f0701bdb5914cefebf4980575a0  libjava/javax/imageio/metadata/IIONamedNodeMap.java
! 16d5b620f395f3107b269c473b2b2018  libjava/javax/imageio/metadata/IIONodeList.java
! aa4f22968017f6d6dd77b39373c3e160  libjava/javax/imageio/metadata/package.html
! b9a79a8fffe1e5be52c4f23b82c25818  libjava/javax/imageio/package.html
! 5dd6c56c788463a6d03d25251707dbf2  libjava/javax/imageio/spi/IIORegistry.java
! 70d97ed404f95cc33682cb3b32b9c710  libjava/javax/imageio/spi/IIOServiceProvider.java
! 7aa282c4f6eac667c1d1213b665a0849  libjava/javax/imageio/spi/ImageInputStreamSpi.java
! ca7906fe6451e153fa02c44f5208f5d5  libjava/javax/imageio/spi/ImageOutputStreamSpi.java
! 42a7f43258ca2edddd1a8d9453f86299  libjava/javax/imageio/spi/ImageReaderSpi.java
! 91e7e69e791c724b344abd4032e51461  libjava/javax/imageio/spi/ImageReaderWriterSpi.java
! 09ec60918a2d5184d510855d02ed336c  libjava/javax/imageio/spi/ImageTranscoderSpi.java
! 34e1ebfa937e0556fb752de8d94b5e03  libjava/javax/imageio/spi/ImageWriterSpi.java
! b15b7b22ac823872002c46fd1d8a061c  libjava/javax/imageio/spi/RegisterableService.java
! a28d885d9e6dd2df6d57fd7245d3470a  libjava/javax/imageio/spi/ServiceRegistry.java
! 85b32dc9c96eb57e5085d61b75aa8f53  libjava/javax/imageio/spi/package.html
! 09e2af7b2e7315dcc4c3c110fe0165d6  libjava/javax/imageio/stream/FileCacheImageInputStream.java
! 0ffc21b51e8fb57600d46081d3910888  libjava/javax/imageio/stream/FileCacheImageOutputStream.java
! 28a8b6d8414396c51b80a2ff07c0524a  libjava/javax/imageio/stream/FileImageInputStream.java
! b37db2220823613e011992d1403c411b  libjava/javax/imageio/stream/FileImageOutputStream.java
! 1d94e3be3cc00c1fd84572f0e887243e  libjava/javax/imageio/stream/IIOByteBuffer.java
! 50204d4d7d6d5aea815f212d23deb7f7  libjava/javax/imageio/stream/ImageInputStream.java
! 1d0ed2b27a7b8e38e0dee9b2f0947253  libjava/javax/imageio/stream/ImageInputStreamImpl.java
! 6896ad4b83b5e87c6bc24ae8c5c3da31  libjava/javax/imageio/stream/ImageOutputStream.java
! 4775ccd7e7114b4e15ac2b08bd3e6ad5  libjava/javax/imageio/stream/ImageOutputStreamImpl.java
! 77fda4b459978cdf3d5929ce5f4ea27c  libjava/javax/imageio/stream/MemoryCacheImageInputStream.java
! 116fa24631b1952b9eed840d5088568e  libjava/javax/imageio/stream/MemoryCacheImageOutputStream.java
! da53270ac86dc5011c4b76a66283c3fc  libjava/javax/imageio/stream/package.html
! 2c696a6c71feacdef239900cebea8444  libjava/javax/naming/AuthenticationException.java
! 8ce4e4ec9998d66d68ed726f4239a912  libjava/javax/naming/AuthenticationNotSupportedException.java
! 606c1411b9f2f393535bd8ff39616289  libjava/javax/naming/BinaryRefAddr.java
! 67adf73e0e4ccede8a570732441dc0c4  libjava/javax/naming/Binding.java
! 68632940f15fb0b2944108e7b0c2c462  libjava/javax/naming/CannotProceedException.java
! 9ff10a8c98ed8da5e1d6cfc9d1f930e6  libjava/javax/naming/CommunicationException.java
! 7d3369f05d5de373a0950c0585dbb7af  libjava/javax/naming/CompositeName.java
! de9e71478d16f88cdcadc119cc29bc87  libjava/javax/naming/CompoundName.java
! 2b1067964a8d8adaa63790a3b06b43a8  libjava/javax/naming/ConfigurationException.java
! a257c4a1b7cf6810c6357258274f50be  libjava/javax/naming/Context.java
! 1cbb840d58019afb3390dd8f81a72593  libjava/javax/naming/ContextNotEmptyException.java
! afeac3fb56260d0bb9f3fcf7e2f1b147  libjava/javax/naming/InitialContext.java
! 1e6208679f1e95890fb5f6cd0d45af76  libjava/javax/naming/InsufficientResourcesException.java
! 02730237c45c457919ff6290af5d8687  libjava/javax/naming/InterruptedNamingException.java
! a767862455cc2a9791dd895c38020b5a  libjava/javax/naming/InvalidNameException.java
! d68a76fdaed656554f55ea164b2224e2  libjava/javax/naming/LimitExceededException.java
! 626c35ed2efdae593394d6981222d24f  libjava/javax/naming/LinkException.java
! 8f4a70e90ff3e82203722b18c7e091f2  libjava/javax/naming/LinkLoopException.java
! 525f2e0a4fe4d733a738b645f318db9b  libjava/javax/naming/LinkRef.java
! b2efedba8a0b038104a536fcb537f2ed  libjava/javax/naming/MalformedLinkException.java
! a88864c0290ebcaee758922e7cf6454e  libjava/javax/naming/Name.java
! 173163ad7a80004c8c90008ee240b66d  libjava/javax/naming/NameAlreadyBoundException.java
! 375160a450acb39741c0756269e317b4  libjava/javax/naming/NameClassPair.java
! 29a39880f86047ad530de00239a9b147  libjava/javax/naming/NameNotFoundException.java
! 18109d59067f1305d682dfd15d9779ab  libjava/javax/naming/NameParser.java
! 8facc8069bc0029e4696d6791ee8f576  libjava/javax/naming/NamingEnumeration.java
! e32d72e73311cbe37582f187ba416cef  libjava/javax/naming/NamingException.java
! 97c82c94fba163b00aa3db8b8a8e424f  libjava/javax/naming/NamingSecurityException.java
! b3fc6c544dc2b32a351014ddfdef5513  libjava/javax/naming/NoInitialContextException.java
! bbb4057c171f66c70a27ccd492573324  libjava/javax/naming/NoPermissionException.java
! 4c60e586b6a2cacf9b948507b90d112d  libjava/javax/naming/NotContextException.java
! 2d67eeb89063f3bb8d122a9bae58b3ec  libjava/javax/naming/OperationNotSupportedException.java
! e261401ac95361b875ce7e478956f565  libjava/javax/naming/PartialResultException.java
! 4e1b4cddb930ac4275f94c532ee9b8c2  libjava/javax/naming/RefAddr.java
! 0a3fbc6034df65cee63259a814c0831c  libjava/javax/naming/Reference.java
! 9464e80bdb94166ad0979ee3036f9c4d  libjava/javax/naming/Referenceable.java
! 9e6ebd85fb4882b78b860bb350952908  libjava/javax/naming/ReferralException.java
! 4f1f15cb704834f140109f9cb368716b  libjava/javax/naming/ServiceUnavailableException.java
! fb47d1d9a0b8e45666976fda3ef05b53  libjava/javax/naming/SizeLimitExceededException.java
! 53df728601f9eb45f27de06d37f3b221  libjava/javax/naming/StringRefAddr.java
! 98bd51d4f00c23d37a8a5795ffd4a1b9  libjava/javax/naming/TimeLimitExceededException.java
! ab6b08467fba0e0b7d084f004a55d718  libjava/javax/naming/directory/Attribute.java
! 1db27e6e7a3b870552842764142ad3ff  libjava/javax/naming/directory/AttributeInUseException.java
! 318f4ae113e476d86661dd184ebe0be8  libjava/javax/naming/directory/AttributeModificationException.java
! eb1d744feb77c38158e5eaf17cf1b873  libjava/javax/naming/directory/Attributes.java
! ba146994fafd0adfe03153ebf03c45b1  libjava/javax/naming/directory/BasicAttribute.java
! acc982d143f01e5e254639078ec65408  libjava/javax/naming/directory/BasicAttributes.java
! 6a9d29644d5aaf9a3e43e6fa324b00ae  libjava/javax/naming/directory/DirContext.java
! 4fe1cd98d4f3415c281d0d6ff2d66b45  libjava/javax/naming/directory/InitialDirContext.java
! 7d32be91176f836bab3b53547bafef03  libjava/javax/naming/directory/InvalidAttributeIdentifierException.java
! 09135b4217b1093a44e0b7f11b7bf5e1  libjava/javax/naming/directory/InvalidAttributeValueException.java
! 03d2e67803891c871fbafc0d56164915  libjava/javax/naming/directory/InvalidAttributesException.java
! 2b5205d8ec9c81f78620a6de4fde786c  libjava/javax/naming/directory/InvalidSearchControlsException.java
! 1aed1c3d835c52f0e3387364a9b2e4fa  libjava/javax/naming/directory/InvalidSearchFilterException.java
! aa52ef9650dd3ca52bb57bed4896c5a2  libjava/javax/naming/directory/ModificationItem.java
! 366a9b79d4f6dd4081c7be51ca1fb34e  libjava/javax/naming/directory/NoSuchAttributeException.java
! adb5566ca4a46a4bed8f349b61c146b0  libjava/javax/naming/directory/SchemaViolationException.java
! 1d132d4d49f276833c175978ea038ec1  libjava/javax/naming/directory/SearchControls.java
! 376cf4ac07ec737c92a9e921f45819f2  libjava/javax/naming/directory/SearchResult.java
! e8d9993c84f231c3e5b39462344b3156  libjava/javax/naming/event/EventContext.java
! 6d67208fefd941400db0da65e3bdd2ed  libjava/javax/naming/event/EventDirContext.java
! 5ad7e0e3f4466ea78606bc3b4ac07288  libjava/javax/naming/event/NamespaceChangeListener.java
! 8ae4fd997c5d3238c8a050da41dad7d9  libjava/javax/naming/event/NamingEvent.java
! 0b7d7c1b91c871dca13d1e0a92efeb40  libjava/javax/naming/event/NamingExceptionEvent.java
! 9bb0856df64ec18543962ae24ab87d8e  libjava/javax/naming/event/NamingListener.java
! 6450f5c41b104f2c6206a9c2d5e93f04  libjava/javax/naming/event/ObjectChangeListener.java
! efda6b7a760402d114e5624d01b680c2  libjava/javax/naming/ldap/Control.java
! 2e9569095fe95b6eb649e8f966d643da  libjava/javax/naming/ldap/ControlFactory.java
! 9d39f8626d2c1a28631c34c92b406b47  libjava/javax/naming/ldap/ExtendedRequest.java
! 040dd56fc5f9ad51e79b33fd350acf5d  libjava/javax/naming/ldap/ExtendedResponse.java
! 4bb226e036ea5c6db5dfa83c9c0b91ef  libjava/javax/naming/ldap/HasControls.java
! 67ed169fcdbe8b98d767d107f5e84958  libjava/javax/naming/ldap/InitialLdapContext.java
! 3fa2f894667786abe87ca417c486df56  libjava/javax/naming/ldap/LdapContext.java
! 418c97faaa08ef795d0172b0509640b3  libjava/javax/naming/ldap/LdapReferralException.java
! 1b0d34abb568b7a131d7eea1253c7c27  libjava/javax/naming/ldap/UnsolicitedNotification.java
! 2eb6c1550f6eed124c57ea9c650d089c  libjava/javax/naming/ldap/UnsolicitedNotificationEvent.java
! 05b8d12570081c7f16bc766c7ee5576a  libjava/javax/naming/ldap/UnsolicitedNotificationListener.java
! e9afb84d94306f8bbb65156e960e2735  libjava/javax/naming/spi/DirObjectFactory.java
! f2f9da7bb09b8f7d9c17b7f99aaa344d  libjava/javax/naming/spi/DirStateFactory.java
! dd5ccd7fbad8a34fdfe23ad57a9f1b53  libjava/javax/naming/spi/DirectoryManager.java
! 6238e7c0b765aa4abc2f47fa398e6d5b  libjava/javax/naming/spi/InitialContextFactory.java
! 4d95a3cbc36a4fdbace7cdcfc3c30392  libjava/javax/naming/spi/InitialContextFactoryBuilder.java
! 133e84dd68ad57f17149f953c6efe31d  libjava/javax/naming/spi/NamingManager.java
! 991892f669862f2f62049aeb0ebca89c  libjava/javax/naming/spi/ObjectFactory.java
! b5ee2787467650451693935bda394b6d  libjava/javax/naming/spi/ObjectFactoryBuilder.java
! 77e5e2aabaaa09d7f840d68755d8c7d3  libjava/javax/naming/spi/ResolveResult.java
! 7b0f7c11aab68969a91612777ecb8ca1  libjava/javax/naming/spi/Resolver.java
! 5d29ca6ffa5f837df15aaf9844bb8cfe  libjava/javax/naming/spi/StateFactory.java
! 07922c371444c607f571bc81d5f30493  libjava/javax/net/ServerSocketFactory.java
! d84fd688a95784c976b26fdd056ecd73  libjava/javax/net/SocketFactory.java
! 3a0901a55dfd65217c05adbd0ad0d03f  libjava/javax/net/VanillaServerSocketFactory.java
! ddab78167a2cccc879796fe14f2a1ce7  libjava/javax/net/VanillaSocketFactory.java
! dfc8b9e8a7a0c67d3ec5abbbc21098af  libjava/javax/net/ssl/HandshakeCompletedEvent.java
! b5e67b48a1692b7d066f516135f11ce8  libjava/javax/net/ssl/HandshakeCompletedListener.java
! 5592617fda07ac6eed5c415d51637ae5  libjava/javax/net/ssl/HostnameVerifier.java
! 06d096260ffe0a3ccb09b9a19fbc6810  libjava/javax/net/ssl/HttpsURLConnection.java
! 9d5d3c2cb34f0a3e97ea82be021ea26c  libjava/javax/net/ssl/KeyManager.java
! 975dedf994be1afd3802a929e646b04e  libjava/javax/net/ssl/KeyManagerFactory.java
! e62054a1cd981f0b4cc3e2201da40e96  libjava/javax/net/ssl/KeyManagerFactorySpi.java
! 33761b7b3db62d9ece869c28b7af0c25  libjava/javax/net/ssl/ManagerFactoryParameters.java
! 683722754f688db167abe59ae1e1117d  libjava/javax/net/ssl/SSLContext.java
! 72528d4bd737c5fa98e98a12763c2f31  libjava/javax/net/ssl/SSLContextSpi.java
! 7683693deeba9c4ab72cd79a37a1f8d1  libjava/javax/net/ssl/SSLException.java
! 1da99dc274187fc2243b4df7021ce10c  libjava/javax/net/ssl/SSLHandshakeException.java
! 392f3e899f4bf123326e320de6ba0008  libjava/javax/net/ssl/SSLKeyException.java
! eb9b495e65536a5106e7a5d749786b54  libjava/javax/net/ssl/SSLPeerUnverifiedException.java
! 9f85d46659195da7b92a5006436e69a3  libjava/javax/net/ssl/SSLPermission.java
! 76b8d7eb42fc3aa8b93b51e28479aec3  libjava/javax/net/ssl/SSLProtocolException.java
! 06fa216fc4ad3fc737fc613019b87f27  libjava/javax/net/ssl/SSLServerSocket.java
! 6da460c3cb5886563aa1847d327183d1  libjava/javax/net/ssl/SSLServerSocketFactory.java
! 7021e54498bc30831a0186a9acf801fc  libjava/javax/net/ssl/SSLSession.java
! 2138e45ef3d5183a6444fd75e0bd7518  libjava/javax/net/ssl/SSLSessionBindingEvent.java
! 5bc64b3caf4f3d38982548190d90593e  libjava/javax/net/ssl/SSLSessionBindingListener.java
! 2fa089907deda6aa2a8e73873f1681f9  libjava/javax/net/ssl/SSLSessionContext.java
! 28735f27f23fb8929c3539ff5ec87f61  libjava/javax/net/ssl/SSLSocket.java
! a39995ed87caae790884283de7fd332b  libjava/javax/net/ssl/SSLSocketFactory.java
! 2ed7ff8c4e32cf92c39a35936829fdea  libjava/javax/net/ssl/TrivialHostnameVerifier.java
! 9938f2c1726920f470f7515d2be5e1a1  libjava/javax/net/ssl/TrustManager.java
! 8fdb24d6df973297111bc96bcd807f66  libjava/javax/net/ssl/TrustManagerFactory.java
! 3bb2e7dcd35a0eb1c133c487c72a4b14  libjava/javax/net/ssl/TrustManagerFactorySpi.java
! 308b5295c66cda03db440ffabefbfce4  libjava/javax/net/ssl/X509KeyManager.java
! f02e3c18fd234d50d3bd047853890c70  libjava/javax/net/ssl/X509TrustManager.java
! efdc60cbfe5caff2bfc7a7617c65cb9f  libjava/javax/print/AttributeException.java
! e65a7f8ad05c3e57785c3168f890be0b  libjava/javax/print/CancelablePrintJob.java
! 96911e8ecab51fb5b1af5bdfc3c2e23f  libjava/javax/print/Doc.java
! 668f1049a315ecbbbd1a342964efc98d  libjava/javax/print/DocFlavor.java
! 02baa769f568a1294a32851091ed350d  libjava/javax/print/DocPrintJob.java
! 73895298aef5cf12b69f2b87bf5761ab  libjava/javax/print/FlavorException.java
! 7b4cd2ab7f394adc51b8cdfe2aaa68dc  libjava/javax/print/MultiDoc.java
! 15f43144a25f225ee54d53ad4756d799  libjava/javax/print/MultiDocPrintJob.java
! d411de2c9ad49cda4d3a55bc9f57e78d  libjava/javax/print/MultiDocPrintService.java
! ed712c99eb1a5f3025a5f64767295d40  libjava/javax/print/PrintException.java
! 7fbf8aac86588104c4477ee352c4f96f  libjava/javax/print/PrintService.java
! 9745eee9bba2994f6fc57decb8b693d7  libjava/javax/print/PrintServiceLookup.java
! ca21d1c66c01d653b0a86ae1bac0fa0a  libjava/javax/print/ServiceUIFactory.java
! ade5a69a4daf2589eda43cfcd0567711  libjava/javax/print/StreamPrintService.java
! 546c2d27332230f814e61713f7dc5b93  libjava/javax/print/URIException.java
! 9a096edfeaeaba2baf4bcfbef07f83cf  libjava/javax/print/attribute/Attribute.java
! fb3b9abff9b029655e1b13cc6ce54a21  libjava/javax/print/attribute/AttributeSet.java
! 1358ea5fe31c1e587b34fd7d3df665bf  libjava/javax/print/attribute/AttributeSetUtilities.java
! ca31169c0903de09de23e8fdfa1b6583  libjava/javax/print/attribute/DateTimeSyntax.java
! 09974ffe4ba4f3db779c1cece0fb8a39  libjava/javax/print/attribute/DocAttribute.java
! 46b9f74f6ef3b85c1e8707e2cd55b4ce  libjava/javax/print/attribute/DocAttributeSet.java
! 80030b2c124ac5f88838ae142ca7e8aa  libjava/javax/print/attribute/EnumSyntax.java
! 07aab8815b69c6a86a5197700f8605ad  libjava/javax/print/attribute/HashAttributeSet.java
! 6c95e4b7f620563cf63bcf961bd44c2f  libjava/javax/print/attribute/HashDocAttributeSet.java
! d999a24ee8a7935c05e3304905f8340d  libjava/javax/print/attribute/HashPrintJobAttributeSet.java
! eb71bd56ceafdfed2d47936035626b98  libjava/javax/print/attribute/HashPrintRequestAttributeSet.java
! c5b2cb214b4a863f44e715aa6f371ef8  libjava/javax/print/attribute/HashPrintServiceAttributeSet.java
! 6e10e62e3e94fe3fe1e777471025b076  libjava/javax/print/attribute/IntegerSyntax.java
! d7ef7095b5ea743e14157f36cadfe94e  libjava/javax/print/attribute/PrintJobAttribute.java
! 63a48f64075386a9e6d54f874a039d67  libjava/javax/print/attribute/PrintJobAttributeSet.java
! 0feb00a0feae5d33130648738d07f6aa  libjava/javax/print/attribute/PrintRequestAttribute.java
! 919db97fb1589243e57fe5786cab863f  libjava/javax/print/attribute/PrintRequestAttributeSet.java
! 478c19ee261c641dd088253314758160  libjava/javax/print/attribute/PrintServiceAttribute.java
! 751074a5875eba470402effa1682be91  libjava/javax/print/attribute/PrintServiceAttributeSet.java
! 28c5881d3b96cac5844acea183b8ef0f  libjava/javax/print/attribute/ResolutionSyntax.java
! 1feff59e00a18f7d1fa74cb6d113bfb0  libjava/javax/print/attribute/SetOfIntegerSyntax.java
! 6198d92476b4f23d118f27b7a4ab6922  libjava/javax/print/attribute/Size2DSyntax.java
! 5c0297a14dfe5e52535019d2b197e5d4  libjava/javax/print/attribute/SupportedValuesAttribute.java
! 0fd21a13437ad3d4c029124e6c9b66bc  libjava/javax/print/attribute/TextSyntax.java
! 5f4812fa6f983a499e5e87ec18f8f27b  libjava/javax/print/attribute/URISyntax.java
! cc4fd46a2707679f8af3084d653963bb  libjava/javax/print/attribute/UnmodifiableSetException.java
! 38edca99426cfc20c38ed43d7475a061  libjava/javax/print/attribute/standard/Chromaticity.java
! 7d13d1a29facadf994642b34f413b595  libjava/javax/print/attribute/standard/ColorSupported.java
! a0633c2e3084d6131f61d314783f4122  libjava/javax/print/attribute/standard/Compression.java
! 72cad77c0794ab332bc3bff1c1608791  libjava/javax/print/attribute/standard/Copies.java
! 3b08da2777c9c6f43938ef2c3c4c30d1  libjava/javax/print/attribute/standard/CopiesSupported.java
! 490f167484ab75b80a7c798978930741  libjava/javax/print/attribute/standard/DateTimeAtCompleted.java
! d39ce2ee8c0b91be3aa8a0f9828c3d25  libjava/javax/print/attribute/standard/DateTimeAtCreation.java
! 254669b9363081e4df3bed4d96f176f6  libjava/javax/print/attribute/standard/DateTimeAtProcessing.java
! 336f72186d353635dbd5d96847172a30  libjava/javax/print/attribute/standard/Destination.java
! 699f9a8c24249a0bceca369dcaf8e82e  libjava/javax/print/attribute/standard/DocumentName.java
! 81daae80c80b61b4525d1a0240461c70  libjava/javax/print/attribute/standard/Fidelity.java
! 2e894a0a4c7e8b3d2cf0725d3a9c76b6  libjava/javax/print/attribute/standard/Finishings.java
! dafdd2777399401c2f6c65f32e0b000a  libjava/javax/print/attribute/standard/JobHoldUntil.java
! 33ba7eb8a58d15d4e9cf12648da77e10  libjava/javax/print/attribute/standard/JobImpressions.java
! 7f2bc0368c5c4d01947aabec08a532fd  libjava/javax/print/attribute/standard/JobImpressionsCompleted.java
! 6ec8f02e6df83a07b314690560426921  libjava/javax/print/attribute/standard/JobImpressionsSupported.java
! 1ff25d42338268f4b444661aed28424d  libjava/javax/print/attribute/standard/JobKOctets.java
! 3c724775179ae7317693622dcca5dea4  libjava/javax/print/attribute/standard/JobKOctetsProcessed.java
! cb77b2c768784647e30e4106840ea3ad  libjava/javax/print/attribute/standard/JobKOctetsSupported.java
! 6088ce37a60faf7219e6a751d7c6f703  libjava/javax/print/attribute/standard/JobMediaSheets.java
! 657493cdb0ac8a3f98f53a9993658308  libjava/javax/print/attribute/standard/JobMediaSheetsCompleted.java
! 6b7bcba3e4ec301c5e5976c4ce7f522f  libjava/javax/print/attribute/standard/JobMediaSheetsSupported.java
! cf479c8d5d750a957990def5e95c7ff7  libjava/javax/print/attribute/standard/JobMessageFromOperator.java
! 89f317e61961e927ca77d03b368276a2  libjava/javax/print/attribute/standard/JobName.java
! 1d4cbf82dc986a8a5ebca74b7070b0af  libjava/javax/print/attribute/standard/JobOriginatingUserName.java
! 5a8e4d9494c3432315e2ec0c1c493501  libjava/javax/print/attribute/standard/JobPriority.java
! 6589bbb9a22f06d7bc09cf89e21eff99  libjava/javax/print/attribute/standard/JobPrioritySupported.java
! ec5dafe3195e35f4442d0b03ae3e8bc1  libjava/javax/print/attribute/standard/JobSheets.java
! d620e287dc7641f6494b462bad48cbe0  libjava/javax/print/attribute/standard/JobState.java
! 84b2d39c45c89d74813123c90710b089  libjava/javax/print/attribute/standard/JobStateReason.java
! 82c78d0c865d55d35057b5af5955524e  libjava/javax/print/attribute/standard/JobStateReasons.java
! 19ed714b6e9e182c0cba6833aea3ea8d  libjava/javax/print/attribute/standard/Media.java
! 8fb6740dc9c2ebe1e29e433b273471d1  libjava/javax/print/attribute/standard/MediaPrintableArea.java
! c5938f7c13db6ca4abae423e4f575628  libjava/javax/print/attribute/standard/MediaSize.java
! 74d7ab01a6405d1f234f264f9c5277f8  libjava/javax/print/attribute/standard/MediaSizeName.java
! d2edf789e24ebf9ba280b69c66ba9774  libjava/javax/print/attribute/standard/MultipleDocumentHandling.java
! 48408c4af343a226b713dd7469fef17b  libjava/javax/print/attribute/standard/NumberOfDocuments.java
! 1b3f0e832e983224e81f8896e6c844c4  libjava/javax/print/attribute/standard/NumberOfInterveningJobs.java
! c67253982177acfb11e2ba5d43392421  libjava/javax/print/attribute/standard/NumberUp.java
! b6a4dd5a66c0558acb7572181543e831  libjava/javax/print/attribute/standard/NumberUpSupported.java
! f7e90cc7cf3a2a6567839e2d72127a5e  libjava/javax/print/attribute/standard/OrientationRequested.java
! dcfada33a632f7577e9b733110c270ed  libjava/javax/print/attribute/standard/OutputDeviceAssigned.java
! 6afba122ef062bba94af29dfaca97e36  libjava/javax/print/attribute/standard/PDLOverrideSupported.java
! 2474fc14f6890d7090e4ddf2063e19fa  libjava/javax/print/attribute/standard/PageRanges.java
! 3e5f856d1457af92d6756bafc23bc213  libjava/javax/print/attribute/standard/PagesPerMinute.java
! 5ad44a9b999c5cc2098585c30ac1ea0d  libjava/javax/print/attribute/standard/PagesPerMinuteColor.java
! b2e30c79d8a1304ef26c36450ac0e818  libjava/javax/print/attribute/standard/PresentationDirection.java
! e2ec5969ac0f74d28a6dbccd459fbffb  libjava/javax/print/attribute/standard/PrintQuality.java
! 5d07823c88c32d74ee7da61de8d56c78  libjava/javax/print/attribute/standard/PrinterInfo.java
! 9211aabab4edbe2b34834d46a91835cb  libjava/javax/print/attribute/standard/PrinterIsAcceptingJobs.java
! ad4ea0a86e09e191fdf5c4c7277dcac6  libjava/javax/print/attribute/standard/PrinterLocation.java
! e7edae07ad929e6f1aabe6db1091c290  libjava/javax/print/attribute/standard/PrinterMakeAndModel.java
! 1b0e7df3a85f1278a6bb8d2200956f91  libjava/javax/print/attribute/standard/PrinterMessageFromOperator.java
! 303cbcd381587ec522c9029f722b3606  libjava/javax/print/attribute/standard/PrinterMoreInfo.java
! cf56d047ef8c25b7ecbc1daf723c6fd5  libjava/javax/print/attribute/standard/PrinterMoreInfoManufacturer.java
! 09eeefd015c1c7cc4345c83707b281f8  libjava/javax/print/attribute/standard/PrinterName.java
! 4856b0ae90ce42ec3dac2e18cdc562d1  libjava/javax/print/attribute/standard/PrinterResolution.java
! a80afa50dfd2aca42624ae5a4207a3b3  libjava/javax/print/attribute/standard/PrinterState.java
! dd9fe3f9495eca80a008c95496142fe3  libjava/javax/print/attribute/standard/PrinterStateReason.java
! d42eb34347f8e4d8b157a37165503b9f  libjava/javax/print/attribute/standard/PrinterStateReasons.java
! 5efd8e69aefb0496fdfffec8466b5bb0  libjava/javax/print/attribute/standard/PrinterURI.java
! 94b38955e2d710e2981a99fbc4b15f86  libjava/javax/print/attribute/standard/QueuedJobCount.java
! a418ff1d5cc1515a0f2f6252b4858b5f  libjava/javax/print/attribute/standard/ReferenceUriSchemesSupported.java
! 2eabddedfe923629518b254ec2920d02  libjava/javax/print/attribute/standard/RequestingUserName.java
! dfd4a09f42ab5716749591650999bd20  libjava/javax/print/attribute/standard/Severity.java
! 473da8e72e38249469af0d3866e06bb2  libjava/javax/print/attribute/standard/SheetCollate.java
! 43dee9683880c037f47213d5129a08f6  libjava/javax/print/attribute/standard/Sides.java
! 19f201d75117ab931f734a28795da9d0  libjava/javax/print/event/PrintEvent.java
! d74f93f5c1dc01ee94bc72cff947ef2c  libjava/javax/print/event/PrintJobAdapter.java
! 22fefb56498cecb3e53b88f97bab6a5d  libjava/javax/print/event/PrintJobAttributeEvent.java
! 96030e8e0d727f343d9d426b1013b2d1  libjava/javax/print/event/PrintJobAttributeListener.java
! 4c4f1716086653dbd5a96948990b281c  libjava/javax/print/event/PrintJobEvent.java
! 06cfee7d4d3f3b58458dd19631342c24  libjava/javax/print/event/PrintJobListener.java
! 72aaa15a44101229653613efe6258511  libjava/javax/print/event/PrintServiceAttributeEvent.java
! 887981c75ac47a67ee49f1240f7d51ef  libjava/javax/print/event/PrintServiceAttributeListener.java
! 2e27f1e19bb7c0d3aa5b9f1418580dea  libjava/javax/security/auth/AuthPermission.java
! f5790f5d5d4813123c706b72a0e46aa2  libjava/javax/security/auth/DestroyFailedException.java
! 801df8349a77983db82f3bf0c6209337  libjava/javax/security/auth/Destroyable.java
! 24092b3e12a80a29a783798157c3a8ba  libjava/javax/security/auth/Policy.java
! 0e1edb1c0e7b146a35cb883223df5539  libjava/javax/security/auth/PrivateCredentialPermission.java
! dd60505dc921e84a3e7c430ea1c370ef  libjava/javax/security/auth/RefreshFailedException.java
! 48326a439c27fbb5a75172587aa34d16  libjava/javax/security/auth/Refreshable.java
! a0cb656efd6e87b51595260fb9a5baa0  libjava/javax/security/auth/Subject.java
! df6538cfd822fe3e989a7dc305388504  libjava/javax/security/auth/SubjectDomainCombiner.java
! 6a3ae38a548e9e140864b2125d0d9bc4  libjava/javax/security/auth/callback/Callback.java
! 0a7e136d52f6c22f1b5579474389868f  libjava/javax/security/auth/callback/CallbackHandler.java
! f1237fe9b0ce42e8b01f41b118a3cb46  libjava/javax/security/auth/callback/ChoiceCallback.java
! c2b110f914b667adf6eedf9d0e566d9e  libjava/javax/security/auth/callback/ConfirmationCallback.java
! 8e00a4b3d9d6cf643d874359578f6f70  libjava/javax/security/auth/callback/LanguageCallback.java
! 5ca09b059a3e46e808f0b0274d303dc7  libjava/javax/security/auth/callback/NameCallback.java
! dd37511b0c9eaf066f099f907731881f  libjava/javax/security/auth/callback/PasswordCallback.java
! ce1fbbf842286fb425586f93893cc821  libjava/javax/security/auth/callback/TextInputCallback.java
! eab11dfc769a681cc225c67e61984855  libjava/javax/security/auth/callback/TextOutputCallback.java
! cc57fe46b5d6e738819bba812e59be47  libjava/javax/security/auth/callback/UnsupportedCallbackException.java
! 3b70697417842ffb46bf84e7bd42a442  libjava/javax/security/auth/login/AccountExpiredException.java
! b2862369614e78e7fdf18ff3231e032d  libjava/javax/security/auth/login/AppConfigurationEntry.java
! 3c5906513574ab5f4ffb4b602e45d7f2  libjava/javax/security/auth/login/Configuration.java
! fd5ad27c9d41bdf2d66465c6e623cf28  libjava/javax/security/auth/login/CredentialExpiredException.java
! cadf197e345018d6c60f22e5a60608bf  libjava/javax/security/auth/login/FailedLoginException.java
! 50a51f077fbedd94bd5d568181b2515b  libjava/javax/security/auth/login/LoginContext.java
! 33c1ea483412da9df389398cab9685d3  libjava/javax/security/auth/login/LoginException.java
! 2b5fd5f0022666087b9c1e63ba67fd43  libjava/javax/security/auth/login/NullConfiguration.java
! 472b38b154d75eeaefb2d8466d50e1e7  libjava/javax/security/auth/spi/LoginModule.java
! ee30d99f81a89f75734e93e4c3c9193f  libjava/javax/security/auth/x500/X500Principal.java
! da8f18c27a8775425e396d5c8d2a0b28  libjava/javax/security/auth/x500/X500PrivateCredential.java
! 2ccbc73c8dd63464a55c6bb6723edacf  libjava/javax/security/cert/Certificate.java
! 8e2c5d00f45e68fca4cc2d8cc4eefe50  libjava/javax/security/cert/CertificateEncodingException.java
! dfd7fbb6e08b6633a01eaebdc6be2da4  libjava/javax/security/cert/CertificateException.java
! c36b1feaeeee346d1f0b029a844057b2  libjava/javax/security/cert/CertificateExpiredException.java
! 2a747fece0225275fbde66459835b9a2  libjava/javax/security/cert/CertificateNotYetValidException.java
! 74bd749ae1da2e0daf6e964275df7326  libjava/javax/security/cert/CertificateParsingException.java
! 9735359c9216009694df2d140a89d2e8  libjava/javax/security/cert/X509CertBridge.java
! 7c164f2dccd53d8941989f6cac0df002  libjava/javax/security/cert/X509Certificate.java
! 1d047195712930b904252a7b08c7ae8f  libjava/javax/security/sasl/AuthenticationException.java
! 8be07ad07766e9908775c87554835669  libjava/javax/security/sasl/AuthorizeCallback.java
! 62e93d02626495825a5e64271ddbc93e  libjava/javax/security/sasl/RealmCallback.java
! 34381cc6173aa2c62f5e6acbaacaf676  libjava/javax/security/sasl/RealmChoiceCallback.java
! 2c010a64b35efa00833e349e57f0f674  libjava/javax/security/sasl/Sasl.java
! c2adadd7ad89dd90879c1baaf0938410  libjava/javax/security/sasl/SaslClient.java
! d49d99b39f2615aaa6ab4c8b2cc312a4  libjava/javax/security/sasl/SaslClientFactory.java
! 9bedac56b9ea86efbb7effeff22ee59f  libjava/javax/security/sasl/SaslException.java
! bf1bde8648416172a4b8b203517a9cef  libjava/javax/security/sasl/SaslServer.java
! c4c8caa98fa66c816973e93949ac59ec  libjava/javax/security/sasl/SaslServerFactory.java
! 61b167147ddfc0403d1e1e8653558e39  libjava/javax/sql/ConnectionEvent.java
! df7bc0bc3461ea2f5e50d0300cc15032  libjava/javax/sql/ConnectionEventListener.java
! 63f36786ea5ca806740cf24f18c83348  libjava/javax/sql/ConnectionPoolDataSource.java
! f48ed9b8b416c7ba627d39759050ed93  libjava/javax/sql/DataSource.java
! 6cae613efb951153d8ebf3e88fc914d2  libjava/javax/sql/PooledConnection.java
! f28f7fa7cf4dbfecf17e657c69974a21  libjava/javax/sql/RowSet.java
! 01dab5e60658f06eafbade90a8549184  libjava/javax/sql/RowSetEvent.java
! 513b600db6e9eff5c20cfb236a50cc04  libjava/javax/sql/RowSetInternal.java
! 938960e2a3e713d247b7644111aa9801  libjava/javax/sql/RowSetListener.java
! 3cbb25648cd3e1976c4c3b942b4d8b6a  libjava/javax/sql/RowSetMetaData.java
! 799624cea1dd3a2ebc190213ad9d5b82  libjava/javax/sql/RowSetReader.java
! fc53ea30bf46ce5095488721f36fca5e  libjava/javax/sql/RowSetWriter.java
! c4962d2079e1b19c76bca64c55690eda  libjava/javax/sql/XAConnection.java
! f4fe2f87c470c063db302846b5e08358  libjava/javax/sql/XADataSource.java
! 73364db686866c0b0bbd445be7ca70a0  libjava/javax/swing/AbstractAction.java
! cb7eadd045911024208d82990c190e7e  libjava/javax/swing/AbstractButton.java
! 6442171ffcd9fcc6a7330bb1c5f5a972  libjava/javax/swing/AbstractCellEditor.java
! 9c457be0f68b4dccc897e55390f4076a  libjava/javax/swing/AbstractListModel.java
! 692ad2dbb56495bf7883c98f82247b67  libjava/javax/swing/AbstractSpinnerModel.java
! e1a05a4007a1cd42c29375d10d90b5ef  libjava/javax/swing/Action.java
! 8a048f15dadd14514594e3a3e531d8f0  libjava/javax/swing/ActionMap.java
! f6d0ad7aabd3c424033c3ff543938d48  libjava/javax/swing/BorderFactory.java
! 470426b5ec03820230c4f19d2763ec8d  libjava/javax/swing/BoundedRangeModel.java
! 34aab0ed95b403b3bad63aed456d8b72  libjava/javax/swing/Box.java
! e00e7670772c05ddf8603399e85785b0  libjava/javax/swing/BoxLayout.java
! 9eaf89d627f067ef34574a3ae767710b  libjava/javax/swing/ButtonGroup.java
! 4e3640d22777d6441de2ab54078b47c4  libjava/javax/swing/ButtonModel.java
! f3fff3955ff5df8918dd0468e13b75ce  libjava/javax/swing/CellEditor.java
! b00b7257c49e7e0e65ae595531d47b30  libjava/javax/swing/CellRendererPane.java
! 9310f44fef6edd784b0389b404490c43  libjava/javax/swing/ComboBoxEditor.java
! c82191a57a450ef87499a9f282e7c703  libjava/javax/swing/ComboBoxModel.java
! d812f8f768fea1b23a1834f190b351b3  libjava/javax/swing/ComponentInputMap.java
! 62b7186339a98f8029b4228e5f6ecdd7  libjava/javax/swing/DebugGraphics.java
! 34ab364aeab2a4f3a13e7e2b9ab361b4  libjava/javax/swing/DefaultBoundedRangeModel.java
! 69c8607f17632f8193ffe664017f3b25  libjava/javax/swing/DefaultButtonModel.java
! 2547184a9ce3ca67c9fbe61a74caeab2  libjava/javax/swing/DefaultCellEditor.java
! 7aeabd53fffe2a6d1c9631cef18ffa74  libjava/javax/swing/DefaultComboBoxModel.java
! c4dd66a91abad364b7d713bbe719dfab  libjava/javax/swing/DefaultDesktopManager.java
! 8ab269a0abaec7ff45decaeb25599048  libjava/javax/swing/DefaultFocusManager.java
! ff746d73ee3e8a7610fc8ab1c8178e3e  libjava/javax/swing/DefaultListCellRenderer.java
! ae5bae81e3e57dbe20c11159c6efeea7  libjava/javax/swing/DefaultListModel.java
! 26073ec0eb79c22f2119e513a8ee0434  libjava/javax/swing/DefaultListSelectionModel.java
! 49cdbf26e95a242a5de95f804516dea6  libjava/javax/swing/DefaultSingleSelectionModel.java
! 54b4e531385c501a5bdcad38352f8b6a  libjava/javax/swing/DesktopManager.java
! d0ae7c08dcb1a1ea98c4592792a46fc2  libjava/javax/swing/FocusManager.java
! c023f53c07e53121a081771583d7e2b0  libjava/javax/swing/GrayFilter.java
! 82ab8a3f37da34b6b7492982aa873c7e  libjava/javax/swing/Icon.java
! 132a74b45b83079c3f2a90a600445822  libjava/javax/swing/ImageIcon.java
! afd8e71cebdf80cbc53ecf9883a73efa  libjava/javax/swing/InputMap.java
! db32e604d9c7c4368bd78577227b2497  libjava/javax/swing/InputVerifier.java
! b7c96a70bc7ad2af88d30900e5c8b5b8  libjava/javax/swing/InternalFrameFocusTraversalPolicy.java
! e40b4ebffc0c8428e5bd7a7408342419  libjava/javax/swing/JApplet.java
! 8041bd6bcd59f96b891d52e8bb33d6df  libjava/javax/swing/JButton.java
! 406fc2a11f6cace9d29330b0d6f40d57  libjava/javax/swing/JCheckBox.java
! f2c873a749dca4b544fd44ac96a24823  libjava/javax/swing/JCheckBoxMenuItem.java
! 42cfcc4581deb8b5d625ccade36addbf  libjava/javax/swing/JColorChooser.java
! 57cd476a3c3878f7e1846b602020c494  libjava/javax/swing/JComboBox.java
! 342cbcb52e53bb35d5777e0dfdfd890b  libjava/javax/swing/JComponent.java
! 01fbb3643bd45841993eb9b844722c3a  libjava/javax/swing/JDesktopPane.java
! fbffd01ef008dc034b09e127bf322f23  libjava/javax/swing/JDialog.java
! 7ea7b418cb5457efe51f7db129da0484  libjava/javax/swing/JEditorPane.java
! 7fe49a82f8f07eb153ee92d4dca46133  libjava/javax/swing/JFileChooser.java
! 31be34f2b21a239f897abceffbc53eac  libjava/javax/swing/JFormattedTextField.java
! 5a243eb8caf67cdc74019092a6935a79  libjava/javax/swing/JFrame.java
! 58abf0d5f525ddf3ae6cac75c9ffd56d  libjava/javax/swing/JInternalFrame.java
! 9146f042cb0526b92bf002815ff7440e  libjava/javax/swing/JLabel.java
! 9e880cf6de11e5a0d1f4095883534d40  libjava/javax/swing/JLayeredPane.java
! b17ede91ec1605f735481e906ebf75bf  libjava/javax/swing/JList.java
! 02e7f19b8be0b52b50f2e7813554d514  libjava/javax/swing/JMenu.java
! 7ac8cd0280950fb89aaf5623e6b3a042  libjava/javax/swing/JMenuBar.java
! 56cdae50d63b5f2ec0aeabd3ae17a660  libjava/javax/swing/JMenuItem.java
! 1b54933ea2f76c9d2501add2d500b6f5  libjava/javax/swing/JOptionPane.java
! e64af5051e7af48b25d6ad2b2c88f04e  libjava/javax/swing/JPanel.java
! 8ca99600b179393709f128a2e2dfd8bb  libjava/javax/swing/JPasswordField.java
! c836121dbb3ce19b2dbac2d281991516  libjava/javax/swing/JPopupMenu.java
! d99cc3d25f89bcfb916975aaf0fbe2b6  libjava/javax/swing/JProgressBar.java
! d48114d66678b15793dc8a0fcdf90e95  libjava/javax/swing/JRadioButton.java
! 4ba32c24b4c08c5cf0841aa0c9893f82  libjava/javax/swing/JRadioButtonMenuItem.java
! 736afb204686a3ef175909c264462e69  libjava/javax/swing/JRootPane.java
! 7b80015a9db733557004b87332ef6b4d  libjava/javax/swing/JScrollBar.java
! f07165e88873ccb3e741d88ad806536d  libjava/javax/swing/JScrollPane.java
! 7a85af00f1bbcb5f8a5d09751eab26e1  libjava/javax/swing/JSeparator.java
! cc46efbc1b367b5e9728a130f091ba72  libjava/javax/swing/JSlider.java
! 303d37936ee50dfd3c27972a05aabc2d  libjava/javax/swing/JSpinner.java
! 75df352f5ce95df704877487049c4e37  libjava/javax/swing/JSplitPane.java
! f55ff64800273cf72abaae75fdd10699  libjava/javax/swing/JTabbedPane.java
! 55d0c547f1f8a2056d20fb6020887208  libjava/javax/swing/JTable.java
! 0f976f4429a5f6c2c35cfd05ec022f85  libjava/javax/swing/JTextArea.java
! 50e16e359d78838f5facd82e3a1c99fc  libjava/javax/swing/JTextField.java
! af7de5511fb72e0273d03e0f0645dd66  libjava/javax/swing/JTextPane.java
! e769f1487960980684f6d51f158a141d  libjava/javax/swing/JToggleButton.java
! 44bf66975b53496833330408d23f3c42  libjava/javax/swing/JToolBar.java
! f5367c3605450c8b864a8e9b8687564e  libjava/javax/swing/JToolTip.java
! 80de2c04337813b1c817a267920d3d2e  libjava/javax/swing/JTree.java
! de99a1dd00b49fbfe81acd2aa79472e0  libjava/javax/swing/JViewport.java
! 7cedb58c87037cad76eed53df26616b0  libjava/javax/swing/JWindow.java
! bf63247b364119bcb9301225656fdbb8  libjava/javax/swing/KeyStroke.java
! 6dfa5f38f430f6153ed368d351962259  libjava/javax/swing/LayoutFocusTraversalPolicy.java
! ed64fa3a615f7cc6771588b8a1bc3389  libjava/javax/swing/ListCellRenderer.java
! 78725c8415e3e003ee5876abe60c2acf  libjava/javax/swing/ListModel.java
! 5988bc1cc00e6ebbe070c9fa35c32afe  libjava/javax/swing/ListSelectionModel.java
! ff7f9696ea2dccc7fde22377cf949c13  libjava/javax/swing/LookAndFeel.java
! a9fe90ec6781999e51873e9cfd26e836  libjava/javax/swing/MenuElement.java
! d01c8215bebb8708bd50bcd4bc2b472c  libjava/javax/swing/MenuSelectionManager.java
! ebd8425211e9ea6c5b2075d46a14be32  libjava/javax/swing/MutableComboBoxModel.java
! a41e8d72158de1e60dd6a2dbcb0ba101  libjava/javax/swing/OverlayLayout.java
! 15cc80c5d475222809a1e6a2a6abb5c3  libjava/javax/swing/Popup.java
! 87142c9e4ef2a500223f42073a5364b4  libjava/javax/swing/PopupFactory.java
! b89192ae7214105a84a4c4fd8d8d5371  libjava/javax/swing/ProgressMonitor.java
! 171cfb76c80c556f1a71cf7bc1306b2a  libjava/javax/swing/ProgressMonitorInputStream.java
! 74e69103f8c99751e85ef4da3874f86b  libjava/javax/swing/Renderer.java
! ca29484b57f589d0c79fbb66aad9c332  libjava/javax/swing/RepaintManager.java
! 13623a80aa54f518f9e91b8b72a77f46  libjava/javax/swing/RootPaneContainer.java
! e2c5eda13104bdefef79fc8b83f6755c  libjava/javax/swing/ScrollPaneConstants.java
! 16affdfa89e5c85616f32007e52aae26  libjava/javax/swing/ScrollPaneLayout.java
! 6ebb921c315d7eb7b504c2aff11e9de2  libjava/javax/swing/Scrollable.java
! aa45d10513d89726d44b671b398f9f85  libjava/javax/swing/SingleSelectionModel.java
! 058ba22e18494215025cb67437308d19  libjava/javax/swing/SizeRequirements.java
! 8037e3a233ae33d34c2a0cee971281f0  libjava/javax/swing/SizeSequence.java
! a72228c2a44b4f08884c3c8b4317a74f  libjava/javax/swing/SortingFocusTraversalPolicy.java
! 73643232578fbea2908a6e4b4dda1490  libjava/javax/swing/SpinnerDateModel.java
! 0967038d23ee1f73e77f1619abb7d433  libjava/javax/swing/SpinnerListModel.java
! 18827bba82fdf9066e70cfb424082a6e  libjava/javax/swing/SpinnerModel.java
! 83b68fe06d896dbd6e65bc6382665794  libjava/javax/swing/SpinnerNumberModel.java
! 8c8fa552a2a6494a45e6b95ff037cea9  libjava/javax/swing/Spring.java
! c47df55272ccb01ebb56e6792f76e33d  libjava/javax/swing/SpringLayout.java
! 4461b2758468007093e9561eb2b5160f  libjava/javax/swing/SwingConstants.java
! ee1225754e074a48ff1d16887ddb4ba5  libjava/javax/swing/SwingUtilities.java
! 2513a88aad9dc420ca67fffd6d3a58a4  libjava/javax/swing/Timer.java
! 374c9498e747e8c9c0294cd3a6687b4e  libjava/javax/swing/ToolTipManager.java
! cbec459cc29ff09a2baa570bbd272a48  libjava/javax/swing/TransferHandler.java
! b6435857839d01ba86374d1a6ce9035a  libjava/javax/swing/UIDefaults.java
! 3c0d75cae90546f8486bc779c8bddb93  libjava/javax/swing/UIManager.java
! 82aac3a3dde49b1017f1aae2dfe2f2a3  libjava/javax/swing/UnsupportedLookAndFeelException.java
! 9eab50c3dec3e05e4d4e70bc679ca912  libjava/javax/swing/ViewportLayout.java
! 51c9664ab1c12ea919bd66580dcb9f02  libjava/javax/swing/WindowConstants.java
! 872945d1ed201e7392b2ffc58a2fef40  libjava/javax/swing/border/AbstractBorder.java
! 5a4019f0713b62f108a0221e754ce172  libjava/javax/swing/border/BevelBorder.java
! 297b270ca9ca88cba40e2789d608a408  libjava/javax/swing/border/Border.java
! 53387b4ed946c74dc3d0b0e9a2ee79dd  libjava/javax/swing/border/CompoundBorder.java
! a85daeb4f74057751e849aac48d6fde8  libjava/javax/swing/border/EmptyBorder.java
! 266f82341af2d22a934eb635bc1a1455  libjava/javax/swing/border/EtchedBorder.java
! 5d8e0cd53f1732eed3519efbfcfd414f  libjava/javax/swing/border/LineBorder.java
! 36330160f55e86cbf3e22aeaa71a7ad6  libjava/javax/swing/border/MatteBorder.java
! 2e352d21eb27090e4f2886ad0fb15fa0  libjava/javax/swing/border/SoftBevelBorder.java
! ff7f2846630a3ac39fedaef1b4c10cef  libjava/javax/swing/border/TitledBorder.java
! 03bd64f4395100b9cc54c91c87e0647a  libjava/javax/swing/border/doc-files/BevelBorder-1.png
! 23a253cbadc6937a236ea1f72dbcb86a  libjava/javax/swing/border/doc-files/BevelBorder-2.png
! aa959fe6dbe96c957fa8f43e6511931d  libjava/javax/swing/border/doc-files/BevelBorder-3.png
! 6f3212edd48ff7d8c282c0ea987d67dd  libjava/javax/swing/border/doc-files/EmptyBorder-1.png
! f0d681d608106c8bfaad8e563bb251ed  libjava/javax/swing/border/doc-files/EtchedBorder-1.png
! de4211aae692e6fd920637abf7d24f62  libjava/javax/swing/border/doc-files/EtchedBorder-2.png
! adf24dd1fd92b89d4b402ae0e3153843  libjava/javax/swing/border/doc-files/LineBorder-1.png
! 996dddf1721185014d0a5b0617309264  libjava/javax/swing/border/doc-files/MatteBorder-1.png
! 1569d96e627fb01d81bd6f3c6ce96c13  libjava/javax/swing/border/doc-files/MatteBorder-2.png
! 8b9dc63fc4e26f6ada56619cd6df280f  libjava/javax/swing/border/doc-files/MatteBorder-3.png
! aff328c3a6b5f79ceef239f4b65ad46b  libjava/javax/swing/border/doc-files/MatteBorder-4.png
! 982d529c0f69764a51304a5d493134c9  libjava/javax/swing/border/doc-files/MatteBorder-5.png
! 12a8a60c90d96cc74bad14f34ea3aeb4  libjava/javax/swing/border/doc-files/MatteBorder-6.png
! c3846400745d2b820c1159a860cb08a2  libjava/javax/swing/border/doc-files/SoftBevelBorder-1.png
! 9cbfca2d41cb0b639cb5c756db18347a  libjava/javax/swing/border/doc-files/SoftBevelBorder-2.png
! aeea6a0afe84e6c187dbd647451b9790  libjava/javax/swing/border/doc-files/SoftBevelBorder-3.png
! 3419edae51a7a10cdf91b8cae8362a94  libjava/javax/swing/colorchooser/AbstractColorChooserPanel.java
! 0aebbecd533ac7ef908f291d16dfe95d  libjava/javax/swing/colorchooser/ColorChooserComponentFactory.java
! fda76ec9bf8a891a430c9a610a66d8fa  libjava/javax/swing/colorchooser/ColorSelectionModel.java
! 4fa76e4b35582b2c6b315e74a4d42278  libjava/javax/swing/colorchooser/DefaultColorSelectionModel.java
! c2bab9a2390ca6f97d97997bf82a68ef  libjava/javax/swing/colorchooser/DefaultHSBChooserPanel.java
! 2c41fc1cdd1d994bd5ca19d3d3959b99  libjava/javax/swing/colorchooser/DefaultPreviewPanel.java
! f6e2913f6c6843af82e0af5227a97b81  libjava/javax/swing/colorchooser/DefaultRGBChooserPanel.java
! d0e23aacdca03ea4d4dfb32d97b01a8b  libjava/javax/swing/colorchooser/DefaultSwatchChooserPanel.java
! 2e189b99d4fa7775cc9f9ef7b8a0664b  libjava/javax/swing/event/AncestorEvent.java
! 234a2ea3d321b41e458cce33d9fb0e30  libjava/javax/swing/event/AncestorListener.java
! 47d06f5c4f98d213599fd78d45630bd3  libjava/javax/swing/event/CaretEvent.java
! 8a963d9c3cadb72b0f843d4faee96b3e  libjava/javax/swing/event/CaretListener.java
! 3fd622e7c60f9e642474cade48a49680  libjava/javax/swing/event/CellEditorListener.java
! 5ef4dc4b32e80d8edc94dc697bc4458f  libjava/javax/swing/event/ChangeEvent.java
! ea2043a8f331214b6e3ed0016cf4a284  libjava/javax/swing/event/ChangeListener.java
! 1f81ad5197ef33bc96acf8ec06514282  libjava/javax/swing/event/DocumentEvent.java
! e6421e397de7dffa34f44ccef268ff57  libjava/javax/swing/event/DocumentListener.java
! c4ef6bfca46844b619289d00ba2cd069  libjava/javax/swing/event/EventListenerList.java
! 152a89e03b3cd9463df270933e477ad9  libjava/javax/swing/event/HyperlinkEvent.java
! dd33b0544e8a3bc4549cb6593cf5b1f7  libjava/javax/swing/event/HyperlinkListener.java
! 0d6f9c5ca5f7097164d9756eaf6acb14  libjava/javax/swing/event/InternalFrameAdapter.java
! aad8f6da7c93de602cf789ad05492b5a  libjava/javax/swing/event/InternalFrameEvent.java
! dadf1c6cb99b70a6af4aa3017e7ba9b2  libjava/javax/swing/event/InternalFrameListener.java
! aab375001ff6bcd8d87c9e19456c3d9b  libjava/javax/swing/event/ListDataEvent.java
! 4a0322a6e12781359145ab716fa109cc  libjava/javax/swing/event/ListDataListener.java
! c620e0fd4125123aa27dd096f6245431  libjava/javax/swing/event/ListSelectionEvent.java
! 0081fbed54d0d38dffa0e3ee4cc6f3db  libjava/javax/swing/event/ListSelectionListener.java
! 0fdc976622f87c5c493d259a58631489  libjava/javax/swing/event/MenuDragMouseEvent.java
! 44b4b89b2d203b8edc07384d23cfa6a0  libjava/javax/swing/event/MenuDragMouseListener.java
! 12c0a6c22cdf13ae3a5a330e4e0fa4ec  libjava/javax/swing/event/MenuEvent.java
! 246510d39d4b0c618a84737e3011b199  libjava/javax/swing/event/MenuKeyEvent.java
! 51549d836f4a6ab3825a8fbd0c914d3b  libjava/javax/swing/event/MenuKeyListener.java
! 13a4bf7d6e49ad20b939caa60b97c7b8  libjava/javax/swing/event/MenuListener.java
! 4151a3409bd76558de4d16271805d8ec  libjava/javax/swing/event/MouseInputAdapter.java
! 601714c9377c049c23f304efc9a945fd  libjava/javax/swing/event/MouseInputListener.java
! 9148e3f2394718402b15245fcb24ddd4  libjava/javax/swing/event/PopupMenuEvent.java
! 4e2e038f6628dd6f77290366731c7ae4  libjava/javax/swing/event/PopupMenuListener.java
! b19234090a4bbe314cf97fe49e29fdbf  libjava/javax/swing/event/SwingPropertyChangeSupport.java
! d6c6bb9f533057596828f8d459b18215  libjava/javax/swing/event/TableColumnModelEvent.java
! b6d85a2657845a493924ab26f578b602  libjava/javax/swing/event/TableColumnModelListener.java
! 3b48dc88786bedf415df296d25c8990b  libjava/javax/swing/event/TableModelEvent.java
! 1d546ea8975d281123d3e74d69dd556f  libjava/javax/swing/event/TableModelListener.java
! 58d89033d38b91ebd87c1326522d581d  libjava/javax/swing/event/TreeExpansionEvent.java
! c341d496ea24d7d1675b722ef47121a3  libjava/javax/swing/event/TreeExpansionListener.java
! d1dec338bfc33e80ad696fc368450e0b  libjava/javax/swing/event/TreeModelEvent.java
! 7528d8d9e633da7517e1ad42ee3f46fe  libjava/javax/swing/event/TreeModelListener.java
! 5265677d419c2ec5fa8adf48ec6a4cad  libjava/javax/swing/event/TreeSelectionEvent.java
! c4251dfe98c61eb42bbfdffaab806369  libjava/javax/swing/event/TreeSelectionListener.java
! dd671b37d3ed32a39992b2796a8c3e19  libjava/javax/swing/event/TreeWillExpandListener.java
! e8967d29f48026c19eaaaf8c1e87f9c2  libjava/javax/swing/event/UndoableEditEvent.java
! 38476e1d965c8bb78f064c09ea0d26f7  libjava/javax/swing/event/UndoableEditListener.java
! c5a348e6f6e6f16d3d311efe06bc0ef8  libjava/javax/swing/filechooser/FileFilter.java
! db756f7c6dc3d9b886d6c97bf6f5fe7e  libjava/javax/swing/filechooser/FileSystemView.java
! 5dc389b7936066c7b99b50e53e1125bb  libjava/javax/swing/filechooser/FileView.java
! 500d33c86a4e23dd48ddfbdda44fa44d  libjava/javax/swing/plaf/ActionMapUIResource.java
! b0cbd456a0a0386d429ef0842dc4f3d7  libjava/javax/swing/plaf/BorderUIResource.java
! f3fc571d67c8636c43d2d16ec049a173  libjava/javax/swing/plaf/ButtonUI.java
! 0fb366128defd4bd7c28e59b6e303f62  libjava/javax/swing/plaf/ColorChooserUI.java
! 0d5f2cdee1a6b7c10a9854bf629582b4  libjava/javax/swing/plaf/ColorUIResource.java
! e339c28ae9a2473ece93d9de69ede20e  libjava/javax/swing/plaf/ComboBoxUI.java
! 51e52516e580170c7030aa3015319524  libjava/javax/swing/plaf/ComponentInputMapUIResource.java
! 3e3b88727c9eab51669d6e882f9e50f6  libjava/javax/swing/plaf/ComponentUI.java
! c3e6aafa068f66a06d6ce378d553b4d8  libjava/javax/swing/plaf/DesktopIconUI.java
! 886f29ef4f6104093067c3c8b81bd0ca  libjava/javax/swing/plaf/DesktopPaneUI.java
! 68ca7e962946782626746e1708ffec60  libjava/javax/swing/plaf/DimensionUIResource.java
! 6c07fb52892d2a2246b2d2a370ebae09  libjava/javax/swing/plaf/FileChooserUI.java
! cec0db86606fac90b8022d27dffb6298  libjava/javax/swing/plaf/FontUIResource.java
! 3c8d0be55be2efe270af2956420cd668  libjava/javax/swing/plaf/IconUIResource.java
! 795d674bf95c5620c55412345cf4441d  libjava/javax/swing/plaf/InputMapUIResource.java
! 3ee8200b0e3972678fdd78f5316c7526  libjava/javax/swing/plaf/InsetsUIResource.java
! 3cf8e9a8cdc93aeeef7b69a66df5620f  libjava/javax/swing/plaf/InternalFrameUI.java
! 5cb5d6839770698248f74cd49deaade7  libjava/javax/swing/plaf/LabelUI.java
! f62c41135456d3ebe32a9f5c291ab47e  libjava/javax/swing/plaf/ListUI.java
! c0ba2f16aa4a58a7bd0e79662c1e974f  libjava/javax/swing/plaf/MenuBarUI.java
! f8b8aef6ed6610fa2cad8b36b9bf6ccd  libjava/javax/swing/plaf/MenuItemUI.java
! f162dfb616b13e80d243c01a4c2568eb  libjava/javax/swing/plaf/OptionPaneUI.java
! 62b4753a00d21dd62a55b44daab5ceb7  libjava/javax/swing/plaf/PanelUI.java
! 988a629d92bf1c1bcf026c866daa64fe  libjava/javax/swing/plaf/PopupMenuUI.java
! e958237aa421145fcd59d121b9c5fb05  libjava/javax/swing/plaf/ProgressBarUI.java
! 005e416e4923a98f602ae190b5c1be11  libjava/javax/swing/plaf/RootPaneUI.java
! 945d683e9c0cdbc1347daff4d529982d  libjava/javax/swing/plaf/ScrollBarUI.java
! e0d4eab7a75b7916d36e5e247af4db77  libjava/javax/swing/plaf/ScrollPaneUI.java
! 5dbb96c1f5e9c90830288b93ccd607eb  libjava/javax/swing/plaf/SeparatorUI.java
! a7d8f845c5adc5fdfc9d472c6f0be1bb  libjava/javax/swing/plaf/SliderUI.java
! 50f1ff2dbe95fd26829c26d0214eeb06  libjava/javax/swing/plaf/SpinnerUI.java
! fb3d019bfa29b92d1383eac4012b525b  libjava/javax/swing/plaf/SplitPaneUI.java
! 0525dceaa76e9fa3dd35dc4be7c2ef07  libjava/javax/swing/plaf/TabbedPaneUI.java
! d869b22c737c095bb90f499c2a7f888c  libjava/javax/swing/plaf/TableHeaderUI.java
! 19c8d34b94bd6fb986bcdea5d7815424  libjava/javax/swing/plaf/TableUI.java
! 071ea3bd58fafae5cf1d82db7df6cc3f  libjava/javax/swing/plaf/TextUI.java
! c772aaf445d247237d455b1873b88aec  libjava/javax/swing/plaf/ToolBarUI.java
! a0935307e7f7c5414951508a25853809  libjava/javax/swing/plaf/ToolTipUI.java
! 813ed13c4f64e14967f520edd5dd34ea  libjava/javax/swing/plaf/TreeUI.java
! b52528bac5a6bc16c67019f440015c22  libjava/javax/swing/plaf/UIResource.java
! fbc40b497a3df654da95d74b61597483  libjava/javax/swing/plaf/ViewportUI.java
! f93088c8eae0f367aa3bdb2cb0f62ecf  libjava/javax/swing/plaf/basic/BasicArrowButton.java
! efd84fa2af15578e8d6ba238d6d5c771  libjava/javax/swing/plaf/basic/BasicBorders.java
! 32b2b5b446322b90e7213d99d53126ab  libjava/javax/swing/plaf/basic/BasicButtonListener.java
! cf4aa0f8f0e5541f28890ab6bf27f3df  libjava/javax/swing/plaf/basic/BasicButtonUI.java
! dc818ec954e97949145ccab47d23202b  libjava/javax/swing/plaf/basic/BasicCheckBoxMenuItemUI.java
! fbe40f0551ba4eebde29a0a6a9c01264  libjava/javax/swing/plaf/basic/BasicCheckBoxUI.java
! 831fd8ebfe27aa7d4d561dc09907f57a  libjava/javax/swing/plaf/basic/BasicColorChooserUI.java
! e00b2d0f1b701279673e20fd6a3da780  libjava/javax/swing/plaf/basic/BasicComboBoxEditor.java
! 6f6a2918f29d37b488ab32a6f8fbb2ec  libjava/javax/swing/plaf/basic/BasicComboBoxRenderer.java
! 6fe31ca3de60833a24798a95ca81c311  libjava/javax/swing/plaf/basic/BasicComboBoxUI.java
! c54b99137c814553b1021b89076868a3  libjava/javax/swing/plaf/basic/BasicComboPopup.java
! 4f2adbbd7d007c3daad007082754f27d  libjava/javax/swing/plaf/basic/BasicDesktopIconUI.java
! 7776c67741356624662fc852a0c62c36  libjava/javax/swing/plaf/basic/BasicDesktopPaneUI.java
! 12be4968ecb4f6b08f1da7716ea11b91  libjava/javax/swing/plaf/basic/BasicEditorPaneUI.java
! c951ae03212cf540e275cb3221f366b3  libjava/javax/swing/plaf/basic/BasicFormattedTextFieldUI.java
! 34372eca2a2ed1c12294013044def5c8  libjava/javax/swing/plaf/basic/BasicGraphicsUtils.java
! f6c7fc42786ec2d7497cbe9ea66939f7  libjava/javax/swing/plaf/basic/BasicIconFactory.java
! 3b4980c4a2ace7b157aa1e77c200e5b1  libjava/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
! ef93723f579b5332be7c4f99eeef2d8c  libjava/javax/swing/plaf/basic/BasicInternalFrameUI.java
! 8c5580a5ef957d68608b2fb47a0d6ec0  libjava/javax/swing/plaf/basic/BasicLabelUI.java
! e7e56300785055a082ce3f1e5fd004c2  libjava/javax/swing/plaf/basic/BasicListUI.java
! 9df8d76189357fdefc20936e10497592  libjava/javax/swing/plaf/basic/BasicLookAndFeel.java
! d63e5a73aa59c58a5b520f6c462140d9  libjava/javax/swing/plaf/basic/BasicMenuBarUI.java
! 5146e65cf63fde48c10d7e0958ab6d22  libjava/javax/swing/plaf/basic/BasicMenuItemUI.java
! f3cbcb7ab90920d1d7b66b3aa1f82ff4  libjava/javax/swing/plaf/basic/BasicMenuUI.java
! 39ff0439f7623c56c98f59180641bcea  libjava/javax/swing/plaf/basic/BasicOptionPaneUI.java
! 80d99ddaf657da3d0e5bf448ff8ad46f  libjava/javax/swing/plaf/basic/BasicPanelUI.java
! 7a5654074406bf4896fe18516b45bc20  libjava/javax/swing/plaf/basic/BasicPasswordFieldUI.java
! 0b566a58d9266469e74539b5c194c85d  libjava/javax/swing/plaf/basic/BasicPopupMenuSeparatorUI.java
! 4e99027b6da25e8119087deffb3de251  libjava/javax/swing/plaf/basic/BasicPopupMenuUI.java
! 66387a782290608f77ba110d2cf35e5f  libjava/javax/swing/plaf/basic/BasicProgressBarUI.java
! d1eacefd2f0fb20ea62ec6aa0fbaece0  libjava/javax/swing/plaf/basic/BasicRadioButtonMenuItemUI.java
! 8d6f6343435be17f61fbf3efd0a0b83f  libjava/javax/swing/plaf/basic/BasicRadioButtonUI.java
! 448b23336725f5a39bb6723cfd7e01f2  libjava/javax/swing/plaf/basic/BasicRootPaneUI.java
! 71002a8e0a9ffb028a1977af0cf647f9  libjava/javax/swing/plaf/basic/BasicScrollBarUI.java
! 82877f65412aad0615d987d843d032fe  libjava/javax/swing/plaf/basic/BasicScrollPaneUI.java
! 12d1eca1b8f5593771403d2ad8c0b5ef  libjava/javax/swing/plaf/basic/BasicSeparatorUI.java
! 184f299a478aa0876dcae7b7e728ef47  libjava/javax/swing/plaf/basic/BasicSliderUI.java
! f6b1b7c4aa5b6f7e8f9a05167f2903a0  libjava/javax/swing/plaf/basic/BasicSpinnerUI.java
! 64cbeceb19b5761b4671cd1ecc628b62  libjava/javax/swing/plaf/basic/BasicSplitPaneDivider.java
! 21116a10433262abe7d1707b10d9b4c5  libjava/javax/swing/plaf/basic/BasicSplitPaneUI.java
! 398e206b68d256eb03a02359c7d9f87a  libjava/javax/swing/plaf/basic/BasicTabbedPaneUI.java
! 9f72e46044b0edcc802dfe02d674f686  libjava/javax/swing/plaf/basic/BasicTableHeaderUI.java
! 06fabdb69704815c6bcae446f44817ac  libjava/javax/swing/plaf/basic/BasicTableUI.java
! c9b218487f3d3dc474da00fa5ac19eef  libjava/javax/swing/plaf/basic/BasicTextAreaUI.java
! de3d037066ad2c54bc9409516a836850  libjava/javax/swing/plaf/basic/BasicTextFieldUI.java
! 21307357601eb7211f4f93792ad2145f  libjava/javax/swing/plaf/basic/BasicTextPaneUI.java
! 5c1fbc8acf680979f86328fb94b6761d  libjava/javax/swing/plaf/basic/BasicTextUI.java
! 1ae4791f682f20d27097f98ee45bdb78  libjava/javax/swing/plaf/basic/BasicToggleButtonUI.java
! 6ca3a27510c6a02489948a4d1de661e8  libjava/javax/swing/plaf/basic/BasicToolBarSeparatorUI.java
! 86c62d4e02b6bcf719832c351f65ac21  libjava/javax/swing/plaf/basic/BasicToolBarUI.java
! 702ebea2e6b9b77f675764c4484d13f6  libjava/javax/swing/plaf/basic/BasicToolTipUI.java
! cec93c7a94f26fd657d4bb0830a651b6  libjava/javax/swing/plaf/basic/BasicTreeUI.java
! 70d997d53bbd202d14d5ffdf8d493cce  libjava/javax/swing/plaf/basic/BasicViewportUI.java
! c72200dd742dd467c03ed9b36b3d8378  libjava/javax/swing/plaf/basic/ComboPopup.java
! 6e5f46fdbaad38cc99f3a6c2e07e1423  libjava/javax/swing/plaf/basic/doc-files/BasicBorders-1.png
! 8b9897c83a6140ec5b347ef9dbf20dac  libjava/javax/swing/plaf/basic/doc-files/BasicBorders-2.png
! 74349d8e54e033d730f3b1cfc24d0bd1  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.ButtonBorder-1.png
! 2d763cdb0060c977a9f355f129129401  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.FieldBorder-1.png
! 236b2eaf65bb7fb4d21cd61ea27124e5  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.MarginBorder-1.png
! aa4f6d8f2b58a8d7a2b512c5fd524201  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.MenuBarBorder-1.png
! 29dee5b10ce1b4cdb911764e1cf99502  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.RadioButtonBorder-1.png
! b88f8570a04b058c95f0878a8472ab21  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-1.png
! 46ad9812b5b3a9c2596c5a8d165bc51c  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneBorder-2.png
! b7d390efa274ece51f4ef5de93ac08c4  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.SplitPaneDividerBorder-1.png
! df849e18c77b0cc651e919609da6d56f  libjava/javax/swing/plaf/basic/doc-files/BasicBorders.ToggleButtonBorder-1.png
! 5f006d5e1d81bb8aff6808788b210a35  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-1.png
! a414123ca5e1ceb684dc5939af918db3  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-2.png
! d1e55884e15b1536fe5a924fecb680a4  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-3.png
! 1dc7d6412f9315d1a8b7f4aa371f5501  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-4.png
! 58594e9a3e723f52720b863751ac339f  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-5.png
! d0794580b9dd479c694d47aefa6ecd10  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-6.png
! 400de10edd3f4db0a9e30b32b846fb7b  libjava/javax/swing/plaf/basic/doc-files/BasicGraphicsUtils-7.png
! 0e6fae23bcc509f1656b59f016b65cbe  libjava/javax/swing/plaf/doc-files/ComponentUI-1.dia
! 27e9489fd6417d1b19c4bd819c2f99b2  libjava/javax/swing/plaf/doc-files/ComponentUI-1.png
! bd414488334e8a2aa791b1506fd2718e  libjava/javax/swing/plaf/doc-files/TreeUI-1.png
! a0337fb28a4ce0a5c311661ba447acad  libjava/javax/swing/plaf/metal/DefaultMetalTheme.java
! 9a918f60e75d261cea5ed110c2bcf9e6  libjava/javax/swing/plaf/metal/MetalLookAndFeel.java
! 552302ff0ddbcae5e8dadcdeecb82f07  libjava/javax/swing/plaf/metal/MetalTheme.java
! bac55f72127c7da739990638d5a9fbb1  libjava/javax/swing/table/AbstractTableModel.java
! 51875bcbe83b22df59e95771ea3701e7  libjava/javax/swing/table/DefaultTableCellRenderer.java
! f42206c90ac0feb6de00ea8b67f2f66a  libjava/javax/swing/table/DefaultTableColumnModel.java
! c6d1d86da37b315ee1efa71d9ec8d7c9  libjava/javax/swing/table/DefaultTableModel.java
! 1c595a9dd54b42b36cf2970877e9cbb9  libjava/javax/swing/table/JTableHeader.java
! 8b1b85fe576cf170b656a075688d922d  libjava/javax/swing/table/TableCellEditor.java
! b42bf062d1a53d6b4a488a73263a2cf2  libjava/javax/swing/table/TableCellRenderer.java
! 556cc44de12d21f323ccd4192a77b548  libjava/javax/swing/table/TableColumn.java
! 56eeea7aaa3a29d56ca1a1a83fbdbe80  libjava/javax/swing/table/TableColumnModel.java
! 0ef2ff2220df18a5211c3a38978904b4  libjava/javax/swing/table/TableModel.java
! 079ffc076446bbf748999a0dc0f559bf  libjava/javax/swing/text/AbstractDocument.java
! c7885d5fe62171c90c2fcd83f81b505f  libjava/javax/swing/text/AttributeSet.java
! 28ffe6aa8eaaf703c085400e24b4d9e6  libjava/javax/swing/text/BadLocationException.java
! c03bec6ed178acf27e10dcc29356f5a1  libjava/javax/swing/text/Caret.java
! d569350afeae36b7bba388890b21259e  libjava/javax/swing/text/ComponentView.java
! bf5aee15a1e444f47594336659c364a2  libjava/javax/swing/text/DefaultCaret.java
! 278229a762f5d6e2df5ac513f42b85d1  libjava/javax/swing/text/DefaultEditorKit.java
! 133304035c761e163ed2c4f59db40568  libjava/javax/swing/text/DefaultHighlighter.java
! 93905fd049dabc49eb18c410bd59530b  libjava/javax/swing/text/DefaultStyledDocument.java
! 8351f06a3eb38de15df7620db6c184ad  libjava/javax/swing/text/Document.java
! e07843b829e9a1748bae75aefeb3b19c  libjava/javax/swing/text/DocumentFilter.java
! acb92df5b1f573d7d3996319657d8a88  libjava/javax/swing/text/EditorKit.java
! 7d81598149d05056d5604ef225f75286  libjava/javax/swing/text/Element.java
! e377e23404d9c75f7c255342c368264e  libjava/javax/swing/text/FieldView.java
! 20fe420dc34797d9b0b95510610ba20b  libjava/javax/swing/text/GapContent.java
! c6a214be6ec39382e01b4796ee61b1b3  libjava/javax/swing/text/Highlighter.java
! 6a7818f55b9b52fa2c6b52464ff76498  libjava/javax/swing/text/JTextComponent.java
! 4ed2b26a9d4d4e829a2b3d160cae5204  libjava/javax/swing/text/Keymap.java
! eac3f0939ffb6429979409fc91d955f4  libjava/javax/swing/text/LayeredHighlighter.java
! fff9f15d95ce34025c10f9d9e1c3b1b0  libjava/javax/swing/text/MutableAttributeSet.java
! 2eeab3399d3592c8393b12f5d7f82cc9  libjava/javax/swing/text/NavigationFilter.java
! 8b009a52330c581901028e1d68c5cc3d  libjava/javax/swing/text/PasswordView.java
! 163e7ff5eee6424fd75615df5ef8f073  libjava/javax/swing/text/PlainDocument.java
! 8e9b8d0d81a57840cb5f2ac1c341cc2f  libjava/javax/swing/text/PlainView.java
! d049650756e7f3f505b5fb572bce273d  libjava/javax/swing/text/Position.java
! 5294edfe0a5ad9de6eb6b1bdf8a1e782  libjava/javax/swing/text/Segment.java
! b5362fe547198ab2edcf2c53a97ba6c5  libjava/javax/swing/text/SimpleAttributeSet.java
! ee6a3f0453c0c6aaee34486d622e093d  libjava/javax/swing/text/StringContent.java
! c8ca7d7495da450956f854d50c22fc91  libjava/javax/swing/text/Style.java
! 6fa7f2f3e82ebf06d3f2e056c04f361f  libjava/javax/swing/text/StyleConstants.java
! 0d2437495596c06f57e00d1765470444  libjava/javax/swing/text/StyleContext.java
! 996b09ab8947f659297bd224009b35f9  libjava/javax/swing/text/StyledDocument.java
! 5b66627469d9ab7971421bfe1632d42d  libjava/javax/swing/text/StyledEditorKit.java
! 83c5495e77222f967eedd82eb41e0ecc  libjava/javax/swing/text/TabExpander.java
! 749c45c3a2bdab03a005d4d31a788940  libjava/javax/swing/text/TabSet.java
! d3fadcbb2f981d6834878a5aa33b284b  libjava/javax/swing/text/TabStop.java
! a9398880a6f511dabb62a02ee17e659d  libjava/javax/swing/text/TabableView.java
! ffc0d509dd11ffa1268a9f8cc528423f  libjava/javax/swing/text/TextAction.java
! 91f9ed797a1e6f62b9ccab1836300075  libjava/javax/swing/text/Utilities.java
! 779bc9e00dc8704c60b987b0970750a3  libjava/javax/swing/text/View.java
! 7c365af2eeea5adeeb1eba7c89dfae10  libjava/javax/swing/text/ViewFactory.java
! d3e67255c51e1e17ac251cda18ddcd60  libjava/javax/swing/text/html/HTML.java
! df7b57214c5db5e31bb16f0b139bb18d  libjava/javax/swing/text/html/parser/ParserDelegator.java
! 8c32e447117543b1ec1f79340ef6eee5  libjava/javax/swing/tree/AbstractLayoutCache.java
! 3b367a6ce72651e5b01ef19d3c24206a  libjava/javax/swing/tree/DefaultMutableTreeNode.java
! 0d306205bc1b87516285039f10195853  libjava/javax/swing/tree/DefaultTreeCellEditor.java
! a9707f353ebf88e2d1534543bbb16adb  libjava/javax/swing/tree/DefaultTreeCellRenderer.java
! 4716247aad7eb95bb79c9431fcb0bbab  libjava/javax/swing/tree/DefaultTreeModel.java
! 0ae0069a4dbcd85b3654f1645a1b4b8e  libjava/javax/swing/tree/DefaultTreeSelectionModel.java
! deb6b7c0fdce59d63443e5f70311fea6  libjava/javax/swing/tree/ExpandVetoException.java
! dca08decc895d68d3bbe7df4b9b459fc  libjava/javax/swing/tree/FixedHeightLayoutCache.java
! 7d072a8815e34af55b1867229d39a09c  libjava/javax/swing/tree/MutableTreeNode.java
! 452c7f7decb6f3a908700610ebd720ff  libjava/javax/swing/tree/RowMapper.java
! 720461bb2b9c16ef340306c86d3398b7  libjava/javax/swing/tree/TreeCellEditor.java
! da13352699d9e16a129a07b17d8200de  libjava/javax/swing/tree/TreeCellRenderer.java
! 783117295fba4922de5622ea58a48f44  libjava/javax/swing/tree/TreeModel.java
! b8c3713fa582e67c33c9f54205483951  libjava/javax/swing/tree/TreeNode.java
! c1825857b6992c305de4f4f530d37d96  libjava/javax/swing/tree/TreePath.java
! 4f4438384018c76cca58f256f6e28148  libjava/javax/swing/tree/TreeSelectionModel.java
! d77f6c50e5f5c38ad7e5d16e3d8d80a8  libjava/javax/swing/tree/VariableHeightLayoutCache.java
! 93616d4f28e9dea2f8d0aba2c54cd71d  libjava/javax/swing/undo/AbstractUndoableEdit.java
! 55b467a2765dd4efe132654c2dd67e98  libjava/javax/swing/undo/CannotRedoException.java
! bbfd2d54b63756aa860f49fdd1e6e6d0  libjava/javax/swing/undo/CannotUndoException.java
! a548c1028b92f3cb68e27106762ee9dc  libjava/javax/swing/undo/CompoundEdit.java
! c60b24d5981a6f1eace600ba2b549c79  libjava/javax/swing/undo/StateEdit.java
! d529f11180d2d7dac806745d64cdf2a1  libjava/javax/swing/undo/StateEditable.java
! 2084132b20ffd8b3fbbb3e487e7f65f1  libjava/javax/swing/undo/UndoManager.java
! 7756b420b9025fee080b3dcb89305773  libjava/javax/swing/undo/UndoableEdit.java
! ca208a3233e94cc6cad87cdafe9b0df6  libjava/javax/swing/undo/UndoableEditSupport.java
! 17f1f09cda758b93f37376adb6aa29a7  libjava/javax/transaction/HeuristicCommitException.java
! 02d4818b6210148a9dc8d347757d500c  libjava/javax/transaction/HeuristicMixedException.java
! 7da89a4883087f637b3790e56d109fc9  libjava/javax/transaction/HeuristicRollbackException.java
! b94a8b4d3ae7c3da606f8b2208a0e444  libjava/javax/transaction/InvalidTransactionException.java
! 40185c4d714c0a4a2b09ba38996c24b7  libjava/javax/transaction/NotSupportedException.java
! 1a76405ae1d5e4bde91936c4569776bc  libjava/javax/transaction/RollbackException.java
! d78f88ac56dde34ddaa2c268159c55a5  libjava/javax/transaction/Status.java
! 2e1efb9c5dda4465e2a444ca25ad9bba  libjava/javax/transaction/Synchronization.java
! 80458790df7e7fd99e7c5f2de23e1b93  libjava/javax/transaction/SystemException.java
! 023c2b5091fbb96a5864f317b3e7aa22  libjava/javax/transaction/Transaction.java
! c1de008d85a98d24cf3954a8cbc09ad8  libjava/javax/transaction/TransactionManager.java
! 73280f2041fe9ead19b027a1526f5b11  libjava/javax/transaction/TransactionRequiredException.java
! b4facb60129537d92bb4548179d3b0d9  libjava/javax/transaction/TransactionRolledbackException.java
! b503282948cf33d7c3c4fc8bbc7e5f73  libjava/javax/transaction/UserTransaction.java
! 347968976e3e1b1b00e80d5dff96c9ff  libjava/javax/transaction/xa/XAException.java
! 7d5632aecdc2f74d3be531b847bbb543  libjava/javax/transaction/xa/XAResource.java
! 6ceac5de541ae5a562bfa8798f3ac636  libjava/javax/transaction/xa/Xid.java
! d7194ab7d72ccce9bf309ad3bdaeb85f  libjava/javax/xml/XMLConstants.java
! bfdab4a52edfb5729415cd5645ddd34d  libjava/javax/xml/datatype/DatatypeConfigurationException.java
! e7dc8553e6e224ce0e37b07c130124d5  libjava/javax/xml/datatype/DatatypeConstants.java
! f62c9f4d334686ee7630014e9a87c546  libjava/javax/xml/datatype/DatatypeFactory.java
! cffe1d82e416bdab1588abd8773982ac  libjava/javax/xml/datatype/Duration.java
! 08523da5eefe0645849a94967d55e602  libjava/javax/xml/datatype/XMLGregorianCalendar.java
! df768a067cca297abc1469dd4952bd37  libjava/javax/xml/datatype/package.html
! 01bdbe59c51cbbbf707925d4d52fe325  libjava/javax/xml/namespace/NamespaceContext.java
! 9116edca0fa7ee23f4f406feb218c0b0  libjava/javax/xml/namespace/QName.java
! 570a4e159913a1d9b4a2e887a4d993a3  libjava/javax/xml/namespace/package.html
! 23ccf4fede1de622c08b1cb9bccefc4d  libjava/javax/xml/parsers/DocumentBuilder.java
! 2dcef7ee3a5bc1c47b3bb69af43975bc  libjava/javax/xml/parsers/DocumentBuilderFactory.java
! 4cc45b6d9376bca8aa56e42c4e41d907  libjava/javax/xml/parsers/FactoryConfigurationError.java
! f1f382731c03073e15cdb8e4cb9788fa  libjava/javax/xml/parsers/ParserConfigurationException.java
! 00b6fdc8f31c3adfc226fcc93ba3ffb4  libjava/javax/xml/parsers/SAXParser.java
! 8fd62a8e4edd7bb53449245e84c7be15  libjava/javax/xml/parsers/SAXParserFactory.java
! 5e617fd6ca646fb0784af7a5d34e2afc  libjava/javax/xml/parsers/package.html
! f8dda73efe689b20e7bc3009dc7a4685  libjava/javax/xml/transform/ErrorListener.java
! 9401236be7d978e5e2503b5548df2cc3  libjava/javax/xml/transform/OutputKeys.java
! 12203adb052cac070a62da25a331a1f8  libjava/javax/xml/transform/Result.java
! 37f54355d3014d54e76e95d496099e6a  libjava/javax/xml/transform/Source.java
! efea8859d5c59431cb2ec74d85cc6bd4  libjava/javax/xml/transform/SourceLocator.java
! 59c4e981d9f46cbfb7af725bbf673abf  libjava/javax/xml/transform/Templates.java
! d5da8bc3a3077d31a4faae09441b1e8d  libjava/javax/xml/transform/Transformer.java
! cdfaf9ccfa0d58440b3c8e91cff26149  libjava/javax/xml/transform/TransformerConfigurationException.java
! a671bfb3513da2933a31d054f9e34259  libjava/javax/xml/transform/TransformerException.java
! a045f1885e78be46db2ead29fe01b67c  libjava/javax/xml/transform/TransformerFactory.java
! cbc2c2ae6e26c05796d616f7d19961a4  libjava/javax/xml/transform/TransformerFactoryConfigurationError.java
! 1666446dfa83c13730e6a036da5984d8  libjava/javax/xml/transform/URIResolver.java
! ed8f4ec2dbbde78711a52310dd3c195f  libjava/javax/xml/transform/dom/DOMLocator.java
! d70166bd65f5503a3d1b203d68f9a0f2  libjava/javax/xml/transform/dom/DOMResult.java
! f7c403c85c957d95e3393ad2c4ad059e  libjava/javax/xml/transform/dom/DOMSource.java
! 557a82352d28fa7c528ee1ad11574cea  libjava/javax/xml/transform/dom/package.html
! adbec903ccf392b12f025f7d577ba0c6  libjava/javax/xml/transform/package.html
! 315b9c066aa8e5dad8204408a133f4aa  libjava/javax/xml/transform/sax/SAXResult.java
! 500ee0fcfae406183e58f2e63baca655  libjava/javax/xml/transform/sax/SAXSource.java
! 7fd5f39dfd1bf422c186c3ece61f308e  libjava/javax/xml/transform/sax/SAXTransformerFactory.java
! 45f3a24a9ff9ffaeedfdbb5a70351f20  libjava/javax/xml/transform/sax/TemplatesHandler.java
! e6c55757404a5689b43ae0e7c1819107  libjava/javax/xml/transform/sax/TransformerHandler.java
! 68d9200e7d29b229613bf7f2404e7281  libjava/javax/xml/transform/sax/package.html
! 79340b7609017ef2e0931e9272b4ff53  libjava/javax/xml/transform/stream/StreamResult.java
! 9f00f5c400e78c81a3ee197148386dd1  libjava/javax/xml/transform/stream/StreamSource.java
! 16721db49d22ee81a2eab6ed880af4fe  libjava/javax/xml/transform/stream/package.html
! b97387827634ab902706ae4a976d67ba  libjava/javax/xml/validation/Schema.java
! b08fbcbcc6efb12a464930cdf87519a5  libjava/javax/xml/validation/SchemaFactory.java
! b7273e1e2848e7e36aa257ba32d1dba4  libjava/javax/xml/validation/TypeInfoProvider.java
! 28b74ca1fcbaf3a9710166a7d2e2b29f  libjava/javax/xml/validation/Validator.java
! 5ebb2b299f2f4f090e33d0aa561b4af2  libjava/javax/xml/validation/ValidatorHandler.java
! f5a66440ec6770ba58a27c38411905e0  libjava/javax/xml/validation/package.html
! 9760cb60ccae2bd329c41777599f9fe2  libjava/javax/xml/xpath/XPath.java
! e6c57e56dfe98df65fe7848c9d313718  libjava/javax/xml/xpath/XPathConstants.java
! 42c622d8dd87cff1e81fd7bcc8fbf7f5  libjava/javax/xml/xpath/XPathException.java
! c2c82c733dc5f1d561816394b358a7e4  libjava/javax/xml/xpath/XPathExpression.java
! 2db9680bc243858e76248432a81ef417  libjava/javax/xml/xpath/XPathExpressionException.java
! 3934e2d1e14da4ec56dacfe90a22d1e7  libjava/javax/xml/xpath/XPathFactory.java
! d126f1cc32f886f2407d1fa2e1279e53  libjava/javax/xml/xpath/XPathFactoryConfigurationException.java
! d69d4c454c488e55b6b042757bdcfa54  libjava/javax/xml/xpath/XPathFunction.java
! ab6e3ac640669e8febd4581cc271fe8e  libjava/javax/xml/xpath/XPathFunctionException.java
! f01b1d8ccf1ae6400369b840465eb5b9  libjava/javax/xml/xpath/XPathFunctionResolver.java
! 4df6dc1d88780bad642bff2b1419dc0b  libjava/javax/xml/xpath/XPathVariableResolver.java
! 4195e7f3734630104cdf377940a46f56  libjava/javax/xml/xpath/package.html
! 5fa83f146645672d321dfe92c45050b0  libjava/jawt.c
! 0d29fab8fd3598718a19a57fe83ead4a  libjava/jni.cc
! 1b008d76d71effa7340c7bc196b1b388  libjava/jni/classpath/classpath_jawt.h
! 635b1cd6ee28db23d28a524216806aef  libjava/jni/classpath/native_state.c
! d1fc93ba5f475c6314ad93d4566f8754  libjava/jni/classpath/native_state.h
! d8b04d299c9bc5c05d8a49be24814ec9  libjava/jni/gtk-peer/gdkfont.h
! fdf5150c7e230dbcde634b7fb3980070  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GThreadNativeMethodRunner.c
! c4d35a3bc4bcb0455db100064c8a9e3f  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
! 9924c87262d052bdeca4c495301f46c7  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
! 17a4999d953313ba41516808468d4aa5  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c
! 226ba43609f5d37a6c1d99437f04df8b  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphicsEnvironment.c
! e73c77796c1961acfecf7d83847671c9  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkPixbufDecoder.c
! 20a57d08eb6ab09bd8d91f538bb70d39  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkRobotPeer.c
! 603a9157ee6a896d05e82fcbdbc1a054  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkTextLayout.c
! c2dc244eb5deabee72a453672dbf85ab  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkButtonPeer.c
! a4a76cb538e65b89cef970282d84cdad  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCanvasPeer.c
! 7588c3c57098d2ffa15d87ce44af78e6  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer.c
! 9bef0d85aee641462d5520c4e3d9792b  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxMenuItemPeer.c
! ee68eccb483f951deaf538220bc511b3  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkCheckboxPeer.c
! b18578d93162a1d281077a53f478fe72  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
! 718846090c2809dddd11a6e3a4b4ce64  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkClipboard.c
! 67d7ba1312779eb9fe338c815a63360f  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
! 41b208e1a69283ef6cffd7e6918957b7  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c
! db64e5426d7a77d266594ffd836d6370  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
! ac3719535f60ef55a7cab32e8b56834b  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFileDialogPeer.c
! 0da2f1ead7016cc04c7ff729777cbec3  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkFramePeer.c
! d67632d6030e24a62dccdbe8ad513220  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkGenericPeer.c
! abfdfb80fef4a559d3e41bcbad4cba8e  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkImagePainter.c
! 7fcb54558720d2fa1483b67dc4cb98ba  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkLabelPeer.c
! 1ddad46a4ecf453a28f19a6177f60193  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkListPeer.c
! 04b732741fa8ac9b3ded3e4dfaa578c4  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuBarPeer.c
! b3bf01f64b63b9fdf8a58cd62a2f86b5  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuComponentPeer.c
! a19aa80118c869116a4a622c15305660  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuItemPeer.c
! 0e00e185316db47a50b6f8f6b1afd8cc  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c
! b42ce74979c536a309dfca2ee9eed676  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPanelPeer.c
! 2393583270b88be371d4b6ea95f0d596  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c
! 7a5a3938845db508f302f42ad62e3bdc  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollBarPeer.c
! 2e001cc6d8cc1e0f1e115c4cf3836f5a  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
! 16a7b60bccb0ed2a63c7eaf4bb5def26  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
! 1297252469b06b8692242eac2431593e  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextComponentPeer.c
! a9e619493d929723f756639fb93d2c75  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
! 85336a2eedab1e2f1fdb1134c395abee  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkToolkit.c
! 2017e6e04ce6fb43d2cbe3df05fca571  libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
! 56e1dc87c05a3b0e792f68ab2f48db85  libjava/jni/gtk-peer/gthread-jni.c
! b1946fdc92febc042f46f61f859fc764  libjava/jni/gtk-peer/gthread-jni.h
! aceb60824e22732fd0a76c90fdf5177e  libjava/jni/gtk-peer/gtk_jawt.c
! ff13277400843f1b7611b04bb7235117  libjava/jni/gtk-peer/gtkcairopeer.h
! 443e772042c2195cf2f1a2dd752b41ba  libjava/jni/gtk-peer/gtkpeer.h
  d04590c4dc6a61734d09958671cba4da  libjava/libgcj-test.spec.in
  1633d308648ff7348f9557a588ca6d39  libjava/libgcj.pc.in
  951ec925ca91ea2a5236d0f25d8db838  libjava/libgcj.spec.in
- 3d4a33013a6e48b3df24d0f6cfecd519  libjava/libltdl/.cvsignore
  d8045f3b8f929c1cb29a1e3fd737b499  libjava/libltdl/COPYING.LIB
! 88ff5aab0840359ebb9f0ea363517566  libjava/libltdl/ChangeLog
  6824f0f26586155951e5e6d7499e6269  libjava/libltdl/Makefile.am
! f0fc479b9827216034a3a365eb6e8194  libjava/libltdl/Makefile.in
  36da24f9facf00b349ea10dba3789d92  libjava/libltdl/README
  5d62561c282968a4d91cbc2d4315496b  libjava/libltdl/acinclude.m4
  45d4596e8d45a315492e15447e57daa1  libjava/libltdl/aclocal.m4
--- 25691,26045 ----
  e4a3c705d8321475d557b92d0e5f0a89  libjava/gnu/gcj/xlib/natXExposeEvent.cc
  37bb54c329486a05802e08a62fa9a9a4  libjava/gnu/gcj/xlib/natXImage.cc
  6f419dc99f89cbe01237c07463913483  libjava/gnu/gcj/xlib/natXUnmapEvent.cc
! e49b20cdd65246f8ff1597744ac67090  libjava/gnu/java/lang/MainThread.java
! 3be19192e05c3801e95c4899ca6f274d  libjava/gnu/java/lang/natMainThread.cc
! d0f47725b8b93a779546b3a153a48b57  libjava/gnu/java/locale/Calendar.java
! 03577dcaa85b47a1d65c84b1f4ff5808  libjava/gnu/java/locale/Calendar_de.java
! b8e477471072de9404b833da528d24ab  libjava/gnu/java/locale/Calendar_en.java
! dffbd78312908f02370de2c53784276b  libjava/gnu/java/locale/Calendar_nl.java
! 0e33801680eeaa7e966a7ced3cc5784c  libjava/gnu/java/locale/LocaleInformation.java
! 3263b59345f662643ea2226988fc0b75  libjava/gnu/java/locale/LocaleInformation_af_ZA.java
! e6ae035c2eddfc737e7eaccef1e9068a  libjava/gnu/java/locale/LocaleInformation_ar_AE.java
! 81e5aae97f558b171aa0dce99eaa7a67  libjava/gnu/java/locale/LocaleInformation_ar_BH.java
! 1fa278524095a2f06e1ed978e3b51785  libjava/gnu/java/locale/LocaleInformation_ar_DZ.java
! dc0c920051cd5ec6f105f8a18e1b17b1  libjava/gnu/java/locale/LocaleInformation_ar_EG.java
! ea427e4e77d273291c0d4709a579dcb3  libjava/gnu/java/locale/LocaleInformation_ar_IN.java
! 3bc53dc1ac9aac9366af164f234ba36b  libjava/gnu/java/locale/LocaleInformation_ar_IQ.java
! 0e2d1643e26f5ee89fc13e736c319319  libjava/gnu/java/locale/LocaleInformation_ar_JO.java
! 25dd84f8ba2afe7f502eeeb0d5b1cf2c  libjava/gnu/java/locale/LocaleInformation_ar_KW.java
! e01438915ae9045396d036112a2b99d1  libjava/gnu/java/locale/LocaleInformation_ar_LB.java
! 62460f51a3aa1a2ba3db5c98319ca64d  libjava/gnu/java/locale/LocaleInformation_ar_LY.java
! 8e15e3cce1d6d53c53c1f402b2a3b1cd  libjava/gnu/java/locale/LocaleInformation_ar_MA.java
! 33763a5f76d303dacfae081a9d14b7ed  libjava/gnu/java/locale/LocaleInformation_ar_OM.java
! f3d88e94e7232d7d73c66041848ae827  libjava/gnu/java/locale/LocaleInformation_ar_QA.java
! d9278e15018a641031ef76a6f9ec2bd2  libjava/gnu/java/locale/LocaleInformation_ar_SD.java
! 4670422fa59bc6aab2ba4ba1f0463b1d  libjava/gnu/java/locale/LocaleInformation_ar_SY.java
! c30b2bd9ea92d48acb1c18936cf9c43a  libjava/gnu/java/locale/LocaleInformation_ar_TN.java
! dc7e29780602a224c4fde0be502ec673  libjava/gnu/java/locale/LocaleInformation_ar_YE.java
! 277381f7cbe23e6bd5be7201647cc95a  libjava/gnu/java/locale/LocaleInformation_be_BY.java
! 904f79baa2f43a56237264a0e15bf3f9  libjava/gnu/java/locale/LocaleInformation_bn_IN.java
! 3c91c436ae9f0d4dcfac638d226af3ac  libjava/gnu/java/locale/LocaleInformation_br_FR.java
! 3d52e3a70e455578c8cf67adc70819d4  libjava/gnu/java/locale/LocaleInformation_bs_BA.java
! c4049cbc34cfb24cf9fbc79ebbe3b851  libjava/gnu/java/locale/LocaleInformation_ca_ES.java
! 94e148c5fa52d49db433ed59e379e357  libjava/gnu/java/locale/LocaleInformation_cs_CZ.java
! 97502bc2edcc1a9ac34be79a52fc61d0  libjava/gnu/java/locale/LocaleInformation_cy_GB.java
! 9f9655abe5e4209213132a5e980a61df  libjava/gnu/java/locale/LocaleInformation_da_DK.java
! bbd5386b67af8afd52446a6efe0ed6f3  libjava/gnu/java/locale/LocaleInformation_de.java
! 5b16ed11fc8bd2e557abc25b094dfe22  libjava/gnu/java/locale/LocaleInformation_de_AT.java
! 0e0cc2cc7375ab7556d39baa843ef4ea  libjava/gnu/java/locale/LocaleInformation_de_BE.java
! b21d3b11f0ce1a1d7bcf8ed66be070d3  libjava/gnu/java/locale/LocaleInformation_de_CH.java
! e654c86f57d355de4ecbfdac049c679d  libjava/gnu/java/locale/LocaleInformation_de_DE.java
! f30b755020656710f05f1dbdabc654c6  libjava/gnu/java/locale/LocaleInformation_de_LU.java
! 37d6f5e05f13ce4c1aed214a12742dc3  libjava/gnu/java/locale/LocaleInformation_el_GR.java
! 3afcb3de8d358a523e92a588475f1576  libjava/gnu/java/locale/LocaleInformation_en.java
! 35728c29cc835237bca3b180c0f33b1f  libjava/gnu/java/locale/LocaleInformation_en_AU.java
! 6898ac39ca3a37f547d05d1a10bdec40  libjava/gnu/java/locale/LocaleInformation_en_BW.java
! 7888e268742c2d88752af53695023bc2  libjava/gnu/java/locale/LocaleInformation_en_CA.java
! cb53be6296dc2c72587960d24f09f273  libjava/gnu/java/locale/LocaleInformation_en_DK.java
! 0be74aeefc0237e203e264cee2947822  libjava/gnu/java/locale/LocaleInformation_en_GB.java
! 477de127f9dbb548a89266fae477af0f  libjava/gnu/java/locale/LocaleInformation_en_HK.java
! b80b3ce3b5f386e5fcf515aa5d563bd6  libjava/gnu/java/locale/LocaleInformation_en_IE.java
! 7cbbe1773bebdc3e6060cb8030de9128  libjava/gnu/java/locale/LocaleInformation_en_IN.java
! 40eaa0d80dd5f6a8611c9201ead9bb1a  libjava/gnu/java/locale/LocaleInformation_en_NZ.java
! fb26e562c9d72e7c7aaa90faac41daee  libjava/gnu/java/locale/LocaleInformation_en_PH.java
! d7a4fe04c48bfb9c82863fe9cf415706  libjava/gnu/java/locale/LocaleInformation_en_SG.java
! 16b0ae70715dee567d8aa7b6fcce3435  libjava/gnu/java/locale/LocaleInformation_en_US.java
! 538c65647d62d8c95b6d23c26907243f  libjava/gnu/java/locale/LocaleInformation_en_ZA.java
! d87589863f7d94c1b2f4338baff3bc84  libjava/gnu/java/locale/LocaleInformation_en_ZW.java
! 929e2f5b3029679e3fa2cb2773173f1d  libjava/gnu/java/locale/LocaleInformation_es_AR.java
! 5031c0891064b8e0f4d299c3b00860ec  libjava/gnu/java/locale/LocaleInformation_es_BO.java
! c72d8f5aed7cd13a94671f02a7a4d9ab  libjava/gnu/java/locale/LocaleInformation_es_CL.java
! 2ccf10089773c827c39971cdfc195d8c  libjava/gnu/java/locale/LocaleInformation_es_CO.java
! e3a607570b3692aa625a800325e639c3  libjava/gnu/java/locale/LocaleInformation_es_CR.java
! 16aba7ae4c16c5b4898c6621d3878962  libjava/gnu/java/locale/LocaleInformation_es_DO.java
! 5452e5fad4d40a16c79a6b8f3eda0cbf  libjava/gnu/java/locale/LocaleInformation_es_EC.java
! d972f6eff8f36105863d75ba3faf29d0  libjava/gnu/java/locale/LocaleInformation_es_ES.java
! f58e663035640a8a2f44861890ad151d  libjava/gnu/java/locale/LocaleInformation_es_GT.java
! b7226df13483d6b3cba138010d7cf014  libjava/gnu/java/locale/LocaleInformation_es_HN.java
! 35c72dfb753c6abdebe0ea60f2011fb4  libjava/gnu/java/locale/LocaleInformation_es_MX.java
! 19a3b1f2762c9d15c2d6e337349c1076  libjava/gnu/java/locale/LocaleInformation_es_NI.java
! ae6304773b422be3bf40faba314a310a  libjava/gnu/java/locale/LocaleInformation_es_PA.java
! 32809c3cc5ae7614d1e078fffa1cd4ef  libjava/gnu/java/locale/LocaleInformation_es_PE.java
! cb23c878e9f017e888a4cd7263d3e351  libjava/gnu/java/locale/LocaleInformation_es_PR.java
! 7d7369c788fed5a4b9d67aabbc2395a3  libjava/gnu/java/locale/LocaleInformation_es_PY.java
! a6a1367f5d85efea3e89703b205adc53  libjava/gnu/java/locale/LocaleInformation_es_SV.java
! b60e6b26ac8d8b4e80f0f9c9bd37825d  libjava/gnu/java/locale/LocaleInformation_es_US.java
! e3f510ea5d3be04c14b14c54a5d97438  libjava/gnu/java/locale/LocaleInformation_es_UY.java
! 3f9eb2c68840e00bf22a3c14702d3dad  libjava/gnu/java/locale/LocaleInformation_es_VE.java
! 9e1eb43d091d855d7c78528f27874f84  libjava/gnu/java/locale/LocaleInformation_et_EE.java
! 1f072ebb615249a646c21b960bc02435  libjava/gnu/java/locale/LocaleInformation_eu_ES.java
! bf843b65bdb7365889f34fd340943b18  libjava/gnu/java/locale/LocaleInformation_fa_IR.java
! 4cf18806087a69e2dd1999b11664dce5  libjava/gnu/java/locale/LocaleInformation_fi_FI.java
! 6f52f41637ad0c4a67d9b809bcca4be4  libjava/gnu/java/locale/LocaleInformation_fo_FO.java
! 45818c3a45432f24581f2c1a5f10f557  libjava/gnu/java/locale/LocaleInformation_fr_BE.java
! ef8f3dbb1ce4ff510d227fb446143962  libjava/gnu/java/locale/LocaleInformation_fr_CA.java
! 43054d4d909b6c71b312200eac9a1be8  libjava/gnu/java/locale/LocaleInformation_fr_CH.java
! 40f1e6aad64b7029d183e28291b08f14  libjava/gnu/java/locale/LocaleInformation_fr_FR.java
! 79e2a255750586b4be011c789c0a7c7c  libjava/gnu/java/locale/LocaleInformation_fr_LU.java
! f466e3ad8a794a49acd392f061afc59d  libjava/gnu/java/locale/LocaleInformation_ga_IE.java
! 867329c740e1d5a32ecdc06e658ff712  libjava/gnu/java/locale/LocaleInformation_gd_GB.java
! b556a89e4cd01fc585296322a797d1c3  libjava/gnu/java/locale/LocaleInformation_gl_ES.java
! dcd87c149727ff8eea641672c5bd6f72  libjava/gnu/java/locale/LocaleInformation_gv_GB.java
! 071f70434b7ba5e83f252d4946148b8b  libjava/gnu/java/locale/LocaleInformation_he_IL.java
! 7e9009c2c779dea49faad8bbf1318f5b  libjava/gnu/java/locale/LocaleInformation_hi_IN.java
! 1b47f6f3acedcde8a38312d46c8c4d39  libjava/gnu/java/locale/LocaleInformation_hr_HR.java
! f25fcb30365fa6322612f791083cb561  libjava/gnu/java/locale/LocaleInformation_hu_HU.java
! 58865fd4db81b258e50b84bd83d82521  libjava/gnu/java/locale/LocaleInformation_id_ID.java
! bbb680326490377abae7bf1d5d85f7c1  libjava/gnu/java/locale/LocaleInformation_it_CH.java
! c60b710ea90f69b4ee9ae89dbc2248b8  libjava/gnu/java/locale/LocaleInformation_it_IT.java
! dfa57430f991992f642b1f01ed13f87a  libjava/gnu/java/locale/LocaleInformation_iw_IL.java
! 4c128975aadded217a896b0fd92f6fee  libjava/gnu/java/locale/LocaleInformation_ja_JP.java
! 20e6d458c1edbf320e07ffd7dbb55618  libjava/gnu/java/locale/LocaleInformation_ka_GE.java
! a91d15917f6af09b9d770f760c0fb6b9  libjava/gnu/java/locale/LocaleInformation_kl_GL.java
! bb998155ab36aca7c13646923ec1608c  libjava/gnu/java/locale/LocaleInformation_ko_KR.java
! ef0cf73ba9d015e339cc645b7e4265f3  libjava/gnu/java/locale/LocaleInformation_kw_GB.java
! 1237e7ebdaf8e641daad1bba38b2f9f5  libjava/gnu/java/locale/LocaleInformation_lt_LT.java
! e6000f9a85c4a47236a0a6add666269e  libjava/gnu/java/locale/LocaleInformation_lv_LV.java
! 672069c023ff746df796eceabe4da9a2  libjava/gnu/java/locale/LocaleInformation_mi_NZ.java
! 9cca0b98b83b161abce791658b5fe28e  libjava/gnu/java/locale/LocaleInformation_mk_MK.java
! a2d800a3e877d7a63b1d2070cb438512  libjava/gnu/java/locale/LocaleInformation_mr_IN.java
! e2a59d4da333e69a91fbee3f83249d81  libjava/gnu/java/locale/LocaleInformation_mt_MT.java
! 7b468d0c266ecb17dccc1563cd4745ac  libjava/gnu/java/locale/LocaleInformation_nl.java
! baf72b31639d3b6f4e95ff548c05b1d4  libjava/gnu/java/locale/LocaleInformation_nl_BE.java
! 030b7417502fa564754e7ce9eafbd54e  libjava/gnu/java/locale/LocaleInformation_nl_NL.java
! e991cf25c62efcb4d7117da2c081d0d8  libjava/gnu/java/locale/LocaleInformation_nn_NO.java
! e03c989657da7da05dd7c4d812ae5ffe  libjava/gnu/java/locale/LocaleInformation_no_NO.java
! 2d945b4aee85a0c8bda2bd86b8aed091  libjava/gnu/java/locale/LocaleInformation_oc_FR.java
! 4b5dbf8792903a79b3202680c7a9c4d5  libjava/gnu/java/locale/LocaleInformation_pl_PL.java
! 831f140d084d606164d01df913a91238  libjava/gnu/java/locale/LocaleInformation_pt_BR.java
! 04eaf5bf99c8b39a0878766dcf269834  libjava/gnu/java/locale/LocaleInformation_pt_PT.java
! dc8f82ac202a0315d968218e60f6553e  libjava/gnu/java/locale/LocaleInformation_ro_RO.java
! d1056864b2bc8bbe41d12dd867499be2  libjava/gnu/java/locale/LocaleInformation_ru_RU.java
! e0055acc2afa2980ec048427bfa74280  libjava/gnu/java/locale/LocaleInformation_ru_UA.java
! 6eb4d9c92070481b649f2cd6b9902f3e  libjava/gnu/java/locale/LocaleInformation_se_NO.java
! f5244a58bd34c3f337d8cbf4e769fe2e  libjava/gnu/java/locale/LocaleInformation_sk_SK.java
! 020642269839dbc6e661e82d5d1dacf5  libjava/gnu/java/locale/LocaleInformation_sl_SI.java
! 20cada1f9dd791cb5717ef22e8052636  libjava/gnu/java/locale/LocaleInformation_sq_AL.java
! 8b582a2010bc9d434af4154136c93cf2  libjava/gnu/java/locale/LocaleInformation_sr_YU.java
! c69ec793375c3c7b2ab346dd9c60ac9a  libjava/gnu/java/locale/LocaleInformation_sv_FI.java
! 83aa7f44e7b429836831ab9a84a05ae0  libjava/gnu/java/locale/LocaleInformation_sv_SE.java
! db72b6a0baecfbe87c82fac46cfa6a1a  libjava/gnu/java/locale/LocaleInformation_ta_IN.java
! 083fadf17ca7b9463a30d2d386b54b0d  libjava/gnu/java/locale/LocaleInformation_te_IN.java
! 89f600c7f085ab88584d00f9cb5ad617  libjava/gnu/java/locale/LocaleInformation_tg_TJ.java
! cd764044869c29b6a8677035559b1a27  libjava/gnu/java/locale/LocaleInformation_tl_PH.java
! 3921975ea70861957ac8260a96ff177c  libjava/gnu/java/locale/LocaleInformation_tr_TR.java
! da758ca0acca25ff281659ecb587fbd2  libjava/gnu/java/locale/LocaleInformation_uk_UA.java
! eb1ecabc0a8056626fdc787940d64f11  libjava/gnu/java/locale/LocaleInformation_ur_PK.java
! 0c9e77ff1c7cf6aaf05233582da468ff  libjava/gnu/java/locale/LocaleInformation_uz_UZ.java
! f1ca541245add3453ee26d4a4912b90c  libjava/gnu/java/locale/LocaleInformation_vi_VN.java
! bb397c23475e39494a4d9059cf29d4ce  libjava/gnu/java/locale/LocaleInformation_yi_US.java
! 2d210700609de2c84df4686cbafceadf  libjava/gnu/java/locale/LocaleInformation_zh_CN.java
! 5285f619c34ab68d37cdf44e942d6ac9  libjava/gnu/java/locale/LocaleInformation_zh_HK.java
! 3cd3e29bf17929e9361fcc9de559e734  libjava/gnu/java/locale/LocaleInformation_zh_SG.java
! e2db939220321e556d144cda8ca251de  libjava/gnu/java/locale/LocaleInformation_zh_TW.java
! 4d3cfa003e14164129506a05177d90e5  libjava/gnu/java/net/DefaultContentHandlerFactory.java
! 87c19b99aab85ab6af1ac46251c0d59c  libjava/gnu/java/net/PlainDatagramSocketImpl.java
! a6c2547cb8677be9fe70ee3e1fbaac8b  libjava/gnu/java/net/PlainSocketImpl.java
  d9b29b8294c58409235594201413dc95  libjava/gnu/java/net/natPlainDatagramSocketImplNoNet.cc
! 791fac6716697903f21ff557be99fce2  libjava/gnu/java/net/natPlainDatagramSocketImplPosix.cc
  5e83d55877cb24426be5359d5c40f8bd  libjava/gnu/java/net/natPlainDatagramSocketImplWin32.cc
  d6a9b780a28afc317d11ea27f94fc448  libjava/gnu/java/net/natPlainSocketImplNoNet.cc
! e0a241ba74551e221238c8157359c370  libjava/gnu/java/net/natPlainSocketImplPosix.cc
! b81c193f61672dea7c28b80649b3688f  libjava/gnu/java/net/natPlainSocketImplWin32.cc
  92519bc3a52a1bdf0b42a788661a5bcd  libjava/gnu/java/net/protocol/core/Connection.java
  bdcb8e9d2d8a08f125de3168878c4a09  libjava/gnu/java/net/protocol/core/CoreInputStream.java
  2ee0a1c8055cc886c615bd80daa5f50b  libjava/gnu/java/net/protocol/core/Handler.java
  ec33c998e82a7d76787fca918c89c7b1  libjava/gnu/java/net/protocol/core/natCoreInputStream.cc
  6a8f94313b2a30810e39e96a64dcd2ad  libjava/gnu/java/net/protocol/gcjlib/Connection.java
  487eb8cedecccc92088e0314ede6839e  libjava/gnu/java/net/protocol/gcjlib/Handler.java
! f518fcd91d22dfb30f1e2216fe22292b  libjava/gnu/java/net/protocol/jar/Connection.java
! 2df75a953b95c7c2a6eabdf938a4425f  libjava/gnu/java/nio/DatagramChannelImpl.java
! 080418d21505c1bba54d21ba69e89417  libjava/gnu/java/nio/DatagramChannelSelectionKey.java
! e6740f3781bd070fb48136ce898ae75d  libjava/gnu/java/nio/NIOServerSocket.java
! cd9488f7c3be6e68043acaec832d1c4a  libjava/gnu/java/nio/ServerSocketChannelImpl.java
! c962ed0d9f2d86e156bcafafd4cfac0b  libjava/gnu/java/nio/ServerSocketChannelSelectionKey.java
! 629d7278a59a559cc24b8961e68c1d83  libjava/gnu/java/nio/SocketChannelImpl.java
! 6a3b16c21c98ab398316f77be6fcf5c4  libjava/gnu/java/nio/SocketChannelSelectionKey.java
! 36bc62673a671b70f36d909560076e2f  libjava/gnu/java/nio/VMPipe.java
! 489ba2fc2829922bfd24f52b8409f27d  libjava/gnu/java/nio/VMSelector.java
! 03b42a7aa82e2d8429073946159babff  libjava/gnu/java/nio/channels/FileChannelImpl.java
  575c1291931c0398fe68b7a11ebaf56c  libjava/gnu/java/nio/channels/natFileChannelEcos.cc
! 0f9d1e1f5bbdce4093a978b5803d9228  libjava/gnu/java/nio/channels/natFileChannelPosix.cc
  a2d0bf28c0e4078f1ea995aa9ad29f1e  libjava/gnu/java/nio/channels/natFileChannelWin32.cc
  8ebe6d880112167c99859a7c303a61eb  libjava/gnu/java/nio/natNIOServerSocket.cc
  cd6c955f144fe77d7ecdc4e395190e82  libjava/gnu/java/nio/natPipeImplEcos.cc
! 37f279d2b608fdeab0f08f8d3af51b46  libjava/gnu/java/nio/natPipeImplPosix.cc
  ee753ef0d970cdd89b8116291fd8994d  libjava/gnu/java/nio/natPipeImplWin32.cc
  9b9b814091f4d041d8bf33a83d48af23  libjava/gnu/java/nio/natSelectorImplEcos.cc
  84551c2aa9367c343fa04c5cc1ade07e  libjava/gnu/java/nio/natSelectorImplPosix.cc
  c63cf04e292ec947c38c4da75fb662dd  libjava/gnu/java/nio/natSelectorImplWin32.cc
! be7da9f4fa636c7ac8af7470356a2d6e  libjava/gnu/java/rmi/rmic/Compile_gcj.java
! 4b632c4fd0f0c29c11593c36cdde4bdc  libjava/gnu/java/rmi/rmic/Compile_jikes.java
! 14acfbf085b27d1fff070eecfe839255  libjava/gnu/java/rmi/rmic/Compile_kjc.java
! ab8a5d85cf0537b36a8ee834081a9161  libjava/gnu/java/rmi/rmic/Compiler.java
! 47ccaabad49c56e3c95215841bee2bd7  libjava/gnu/java/rmi/rmic/CompilerProcess.java
! 3abc3cd96cba36c02b1716feb30d97d3  libjava/gnu/java/rmi/rmic/RMIC.java
! 082dd27b234fc8ea8679f6cca37ad4de  libjava/gnu/java/rmi/rmic/RMICException.java
! 0367ffb88d49f58432214291fd629d67  libjava/gnu/java/rmi/rmic/TabbedWriter.java
! d1b32c1999cfbaeb6ae23068c6b6144a  libjava/include/Makefile.am
! 861ec28fa364187d86a21f8bc449f52d  libjava/include/Makefile.in
  b2c1fd6580a74e9409da97b7d903e312  libjava/include/boehm-gc.h
! 38453b16018921bc8a13c8893cd3ce49  libjava/include/config.h.in
  c4f13c76610deabfbf13fce4ed092a52  libjava/include/darwin-signal.h
  103d984e127298285d898fdf861bbcc4  libjava/include/default-signal.h
  61a8f68287be880d78be5f3a87955a5b  libjava/include/dwarf2-signal.h
  aa8a9cdeb8ac492990052b2e3f224667  libjava/include/execution.h
! 536d1908ea6aac35622ff756bc3457b2  libjava/include/i386-signal.h
  236d1671f79ab5d9e6b987e93d051bc4  libjava/include/java-assert.h
  d66bf0f1a1d12efd11fc047959c52eab  libjava/include/java-chardecomp.h
! 917a25471fcb47a55a40b09b1b424177  libjava/include/java-chartables.h
  b88c9d141cd0ae62903ccbb3dc5a9e8d  libjava/include/java-cpool.h
  b08fcab1147c4c0f06f4b3054856c91b  libjava/include/java-insns.h
! 3b336ab4d5872a57e5691097e7086ceb  libjava/include/java-interp.h
! 7d1ab627515f3b2ccf5bc2c21273d98c  libjava/include/java-props.h
! a68478b423dafaa70c4da49610de3447  libjava/include/java-stack.h
! 65430e66fb91e22872b5b3c9e59ac154  libjava/include/jni_md.h
! e51754502267c0a88f2b41089efa6539  libjava/include/jvm.h
  55ed6e8ea2ae96155602547fcfe5d96c  libjava/include/jvmpi.h
  9441b9d3f94beac1a647035979b982bb  libjava/include/mips-signal.h
  6cb1b655ac757a3e299eb50f5dbee908  libjava/include/no-gc.h
  dc5ae11aa4d5874055cf367180dff7c5  libjava/include/no-threads.h
  8de1c85740456c7a7de765e3c50522ef  libjava/include/pa-signal.h
  6777c6d12df6603c54d46c1c6bba7bcf  libjava/include/posix-threads.h
! 20853e8bf78f74871496864550bbe1dd  libjava/include/posix.h
  b315ac636a1fe99a9bd26e3e806cd134  libjava/include/powerpc-signal.h
  6869fd746eb8c3dad811ceaa6bc10054  libjava/include/s390-signal.h
! f243a5d3a83aa60ce13f3450dbca9505  libjava/include/sh-signal.h
  f5b53b2a72c970a11da53e6a1d293c2d  libjava/include/sparc-signal.h
  1ded054093de910d9786c62bc4fe8cc6  libjava/include/stamp-h.in
  fcc68eea0e37ca05d241fcd08098f4d2  libjava/include/win32-signal.h
  d799c46a0bab61ed909e368cd7dcc256  libjava/include/win32-threads.h
  b16429d3b1d37bdb78d6d1aa19160085  libjava/include/win32.h
! b709cb2e9a6ecb52b9a15ab3e5d62d04  libjava/include/x86_64-signal.h
! 6c6eaa9d63184f50137cec3f82d27fea  libjava/interpret.cc
! 04f98dd9701c18c24cc0d6cbe57f8246  libjava/java/io/BufferedInputStream.java
! c4e02fc4b8338a79209271623cae134c  libjava/java/io/File.java
! eba737eedc4ffd5b1cdb50e5f2ae22d5  libjava/java/io/FileInputStream.java
! d2774e832d18e21d6541d9237a512738  libjava/java/io/FileOutputStream.java
! da5eebfb313d495bab101771a63b575c  libjava/java/io/InputStreamReader.java
! a78f1de6ef3802bb45ac92fb2d5aff8b  libjava/java/io/ObjectInputStream.java
! b57298dc9e7051ba1dbcc2e74ad2e9b3  libjava/java/io/OutputStreamWriter.java
! 490447e13f04f1d20f01b83bcafc527e  libjava/java/io/PrintStream.java
! 0a139089b1a67ffed5fea23b272c1c15  libjava/java/io/RandomAccessFile.java
! bdc5f3a50210b5547431d3962ae997e3  libjava/java/io/VMObjectStreamClass.java
  84254834f71b07e430fcc1ae0b042adb  libjava/java/io/natFilePosix.cc
  116bfcbb1fd28c3e8171c0f6bbcd82d2  libjava/java/io/natFileWin32.cc
! 8c0397c082e30b6e51e7698bcce82da7  libjava/java/io/natObjectInputStream.cc
  b06e742b25b49cb2b76aaa7ba83a7c7a  libjava/java/io/natVMObjectStreamClass.cc
! 218a17e96a7e553e8c9ca99ee8b80ea0  libjava/java/lang/Character.java
! c414735db893e63f9abab2687f37d58d  libjava/java/lang/Class.h
! 9ca1e403d47d2fb7fd50e3c929c19737  libjava/java/lang/Class.java
! fcfee336c00d1366377a9fa642b6e5e8  libjava/java/lang/ClassLoader.java
! 81e274d94af3ef2dd3cc4e0886841c2c  libjava/java/lang/Double.java
  445be71f45312965061d41a9bead88ae  libjava/java/lang/EcosProcess.java
! dad5b59d36d53cd120ea099a53c9bd38  libjava/java/lang/Float.java
! 733a85c6acae2ac1ea4011cdb386b8e1  libjava/java/lang/InheritableThreadLocal.java
! 68e0eaf134aa5acd1482facc1a3a21a5  libjava/java/lang/Object.h
! c82d4c0cedf3ab8ffafe9665afb69cd2  libjava/java/lang/Object.java
! 575fe73937d18b39b1da16e1c9cab201  libjava/java/lang/Package.java
  1caacd4d98a513a3eb8846f0e38be3bf  libjava/java/lang/PosixProcess.java
! 5c15de64a68aced4de5e09dc21fbb221  libjava/java/lang/Runtime.java
! 95ac869ec5fcb59c05ba6c0c61d7740f  libjava/java/lang/SecurityManager.java
! c1059e8d6cd7376df07614ae4ae3f986  libjava/java/lang/String.java
! 123939a31d093c4bf27672d3533bddc9  libjava/java/lang/StringBuffer.java
! 7a528ed3b2ee7beca02feef12d95cd9e  libjava/java/lang/StringBuilder.java
! 5f6df35640d42c1fa0b8d47f3e655b54  libjava/java/lang/System.java
  5bf2b7a368ac731ae7610bd532aa6d6f  libjava/java/lang/Thread.java
! c6dc5f258945946dc3e17f135211d920  libjava/java/lang/ThreadLocal.java
! a612ffa639ee67d0ba34654737c3b3b6  libjava/java/lang/VMClassLoader.java
! 0fb3abd754904c976b235c978ded866f  libjava/java/lang/VMCompiler.java
! e4a505d675c44032ed0e72872051a756  libjava/java/lang/VMSecurityManager.java
! 135da01ab45c9064576729980a37881d  libjava/java/lang/VMThrowable.java
  14df9fbde49dfe0dd672c7187fb8197c  libjava/java/lang/Win32Process.java
! da56503e4909a42c45e294b4e39066b7  libjava/java/lang/natCharacter.cc
! 92e210f27fddcb8fac0c9abe8718ea98  libjava/java/lang/natClass.cc
! c2eda97296a5bc02f3125b32cc684fac  libjava/java/lang/natClassLoader.cc
! 4adc2e4f70133ab6f3e2e6863b3f79fe  libjava/java/lang/natDouble.cc
  55412650ccf3af3ec8376e685f6d4845  libjava/java/lang/natEcosProcess.cc
  842368c7e6ed293e6e3f310ed9a3076f  libjava/java/lang/natFloat.cc
  c6eaf1e2175d821debebc2878c0520ef  libjava/java/lang/natMath.cc
  cd3a737f2db795fb827d767120fffa58  libjava/java/lang/natObject.cc
! 1d7383a5b3fdcb4526e9bd5bfeffa256  libjava/java/lang/natPosixProcess.cc
! 5b331cbd93de7a11302353ee7b366ff6  libjava/java/lang/natRuntime.cc
! 3e3b56e1095278c8157cb8f2dc12bc5c  libjava/java/lang/natString.cc
  7c87f5acddd8589e59cea5b11b3e5db6  libjava/java/lang/natStringBuffer.cc
! 92fc2d4684569b69bf88c5c4889f4932  libjava/java/lang/natStringBuilder.cc
! 0ae0fd1fc6e45ca7f4a205e24cc9c929  libjava/java/lang/natSystem.cc
! 3e525b3aeaf1496f0bd0e03858dbd1a7  libjava/java/lang/natThread.cc
! 56f29de1cc4b68d0b08138097f5885c1  libjava/java/lang/natVMClassLoader.cc
! bd021f48afbe6669c18c10ff6a7c110c  libjava/java/lang/natVMSecurityManager.cc
! 5afba3c79c9c0d7cce53da7183991901  libjava/java/lang/natVMThrowable.cc
  099b753a5e3e667eac01d2545526506e  libjava/java/lang/natWin32Process.cc
! 6bbaa09317cbb2bde3438aca6dfe7c70  libjava/java/lang/ref/Reference.java
  84d4e612ccf6975b97cff68e6b2b2b90  libjava/java/lang/ref/natReference.cc
! 4ff7c377734a63f247b8a506558a230d  libjava/java/lang/reflect/Array.java
  1acebfe7e254c1c539fd5220d40baef5  libjava/java/lang/reflect/Constructor.java
  897b833f60e84c7f9e734ed63b6e1b6f  libjava/java/lang/reflect/Field.java
  fbf77c87007d7a169c6e076c6d1278ba  libjava/java/lang/reflect/Method.java
! b02bc2af3d8f7c2b87dae7e9525263e1  libjava/java/lang/reflect/Modifier.java
! f0a1aebf51b36f78a6eb35867c06b096  libjava/java/lang/reflect/VMProxy.java
! 17f45a748ca87818a75fce2d6211dc33  libjava/java/lang/reflect/natArray.cc
! 5128b1642aca1459d2410d56c109e2dd  libjava/java/lang/reflect/natConstructor.cc
! 7d5b63d90d6f74e336cb9205b2a75c07  libjava/java/lang/reflect/natField.cc
! 4df8d49c7e504446cda192b4d7ae3306  libjava/java/lang/reflect/natMethod.cc
! b679b42e0db57444479e335a4030776b  libjava/java/net/InetAddress.java
! 423fa10a04504daee54a158fce2de659  libjava/java/net/JarURLConnection.java
! 6126fb4bbed0b622bf6a1bfffcff1219  libjava/java/net/URL.java
! 2fbeb1caabeac14f1d2ddf2eadcb8cd4  libjava/java/net/URLClassLoader.java
! 299f752ec516318825e1b3f6200ee17d  libjava/java/net/URLConnection.java
! 91c1c32ff4c6a9fb2416afb72f619d65  libjava/java/net/VMNetworkInterface.java
  17bc892a6540f518b849167a4c35f8b9  libjava/java/net/natInetAddressNoNet.cc
  51c25382f5a2880fe83f88bf79649fbf  libjava/java/net/natInetAddressPosix.cc
  61dc6eb17c86d882416fa31544d5b649  libjava/java/net/natInetAddressWin32.cc
! f2e41ee0592fa195fa2e671b60322c07  libjava/java/net/natVMNetworkInterfaceNoNet.cc
! cb19607c8bcb405288be01b84d70dfbb  libjava/java/net/natVMNetworkInterfacePosix.cc
! 39d11700e2bd3136b0006c573fef9ee4  libjava/java/net/natVMNetworkInterfaceWin32.cc
! fe54e3a9725f75bc8b6158a25399b1a6  libjava/java/nio/Buffer.java
! 24b22f95bf1f1d90b02c16635a2fff8d  libjava/java/nio/DirectByteBufferImpl.java
! 827e2ba85c8779d1a723573ace9cec55  libjava/java/nio/MappedByteBuffer.java
! 5a761b5b8963c29007372a91fd401950  libjava/java/nio/MappedByteBufferImpl.java
! 7cccde31dedfb3ae30d6ef3d0fed58e0  libjava/java/nio/VMDirectByteBuffer.java
! df12f4e3471b5eea9de7361bdd6b3f76  libjava/java/nio/channels/Channels.java
  de95ab9b80a6e44589d33bfa1213db39  libjava/java/nio/channels/natChannels.cc
! 5ad04c124345e9f79cdd590d34410c71  libjava/java/nio/charset/Charset.java
  55656ec1d5fd06cb6f85c50ddc227382  libjava/java/nio/natDirectByteBufferImpl.cc
! f4725aff97fb1d3115fec06548d863ab  libjava/java/security/AccessControlContext.java
! d35622bf658df84f41669a4c6a1cb797  libjava/java/security/AccessController.java
  45e9331e8c4fe87eb043176949c6fc40  libjava/java/security/classpath.security
  7ba6b1101fde93a39b0377813a7d16a7  libjava/java/security/libgcj.security
! 33999090196adef5917b6e445bf29f13  libjava/java/text/Collator.java
! 045e3155658c170c657ab502b0969b36  libjava/java/text/DateFormat.java
! 8d5ecfb80297730d7c35583130d1b877  libjava/java/text/DateFormatSymbols.java
! 6b5b7addf11bdc0b34a8a3dc359cfce7  libjava/java/text/DecimalFormatSymbols.java
  1a0c8d1f8762b747a35f3c5c6ae0c540  libjava/java/text/natCollator.cc
! 73e58eea3e531133649624f42951800f  libjava/java/util/Calendar.java
! 63bffdde4f1c42c7656532c40c1add1b  libjava/java/util/Currency.java
! 1511dbe8c2c2498bcab2d56a216fdbd3  libjava/java/util/GregorianCalendar.java
! ddae9be734f0688a1f54f1534a3e5527  libjava/java/util/Locale.java
! 1b71e6690e3e8aff14c002e737b6267c  libjava/java/util/ResourceBundle.java
! 23407d86048687509bc3eac4bae21dba  libjava/java/util/VMTimeZone.java
! 3ed9c814f88a056cc49a6adb10f41af5  libjava/java/util/logging/LogManager.java
! 0ecd8a719ea2d56b123a34ac2a297225  libjava/java/util/logging/Logger.java
  a8a109e84e6cb0612ed5da3f51ce4f2d  libjava/java/util/logging/logging.properties
! bb73c20ffe93db182dd3b0768ee66576  libjava/java/util/logging/natLogger.cc
! e5543464e57ed648e578875e9442536f  libjava/java/util/natResourceBundle.cc
  55240de7d7becadb2d8663153ecab259  libjava/java/util/natVMTimeZone.cc
! edfad4e9a5736365921a254cb51f0c04  libjava/java/util/zip/Deflater.java
! 96feb18ca90ad5624e693e1cf3ffa082  libjava/java/util/zip/DeflaterOutputStream.java
! 9142efccfa92712adb223f22094f1e9a  libjava/java/util/zip/GZIPInputStream.java
! ed59b11c0920ac9cdb130c2233633a76  libjava/java/util/zip/GZIPOutputStream.java
! a701b0e387d1ed425c7d20c15a2c6e2e  libjava/java/util/zip/Inflater.java
! 0d21e22342ee383609d72bf1be140eb3  libjava/java/util/zip/InflaterInputStream.java
  25df7cd5571d97e22829f6244a1b2e1f  libjava/java/util/zip/natDeflater.cc
  df7b112bc4248d86d37b1f679c2660c4  libjava/java/util/zip/natInflater.cc
! b6a0576651d5fd292c4fdac857ee3e2f  libjava/jni.cc
  d04590c4dc6a61734d09958671cba4da  libjava/libgcj-test.spec.in
  1633d308648ff7348f9557a588ca6d39  libjava/libgcj.pc.in
  951ec925ca91ea2a5236d0f25d8db838  libjava/libgcj.spec.in
  d8045f3b8f929c1cb29a1e3fd737b499  libjava/libltdl/COPYING.LIB
! 51f8690f44eee29c364a21b0ff97e922  libjava/libltdl/ChangeLog
  6824f0f26586155951e5e6d7499e6269  libjava/libltdl/Makefile.am
! 0eaf9d24fa5e24b8194949e9f3d80b11  libjava/libltdl/Makefile.in
  36da24f9facf00b349ea10dba3789d92  libjava/libltdl/README
  5d62561c282968a4d91cbc2d4315496b  libjava/libltdl/acinclude.m4
  45d4596e8d45a315492e15447e57daa1  libjava/libltdl/aclocal.m4
*************** ee99980905e04ebd71dda86810af81a5  libjav
*** 23262,23314 ****
  83074663a630af06ca2f83f047851a00  libjava/libltdl/ltmain.sh
  0a5e8ed778878a2656e3ea2313dac833  libjava/libltdl/missing
  792922784eade1d03ecb1b33ba8bb7c3  libjava/libltdl/mkinstalldirs
! b93f4e0a6c4ac6dcebda6a3b208b0640  libjava/libtool-version
! 32881b8afe11c71af8eee63adbec0422  libjava/link.cc
! f9c7378adc951bb9ebbddc24491dd5f3  libjava/mauve-libgcj
  b9b84e76d51b653c7fec2c1d882759c1  libjava/no-threads.cc
  e760b0ffcb334f44eac33b922cd34c6a  libjava/nogc.cc
- 686c2a1099089ea2d49539098171526f  libjava/org/ietf/jgss/ChannelBinding.java
- 94678d15acdb6a75708c1ee099a111e4  libjava/org/ietf/jgss/GSSContext.java
- 698115a82c0706d61d801b391ace1540  libjava/org/ietf/jgss/GSSCredential.java
- 953a325d58789f36ba08737c3e2604ca  libjava/org/ietf/jgss/GSSException.java
- d150c53e0275c7e50fef25e73a9ba47b  libjava/org/ietf/jgss/GSSManager.java
- 6ce77272343e7325e9b2c8c905e57463  libjava/org/ietf/jgss/GSSName.java
- 94dae48bb4ce6fa1c81c85e454fdc2b6  libjava/org/ietf/jgss/MessageProp.java
- bd4a644c4cb20c85db81c50d8a920369  libjava/org/ietf/jgss/MessagesBundle.properties
- 33d3c0f7a5fbe6bc3611d22a61c7f227  libjava/org/ietf/jgss/Oid.java
  8bc9c6be20df8421c1a687421fbfde85  libjava/pkg.m4
! bc74f03e163eee1ae71ec527ee4e9fce  libjava/posix-threads.cc
  fbe0da51c9e893762a6e4d2f87868e09  libjava/posix.cc
! 187050069e7b3e4e4f327053026f689f  libjava/prims.cc
! db2a6ed9769b185121e611b5727fa40a  libjava/scripts/MakeCharTables.java
  792d88462341952031e20db7cda3ce3f  libjava/scripts/MakeDefaultMimeTypes.java
! cbaa3d7bfdbdbc0826becd3e1ba46591  libjava/scripts/TexinfoDoclet.java
! 36250430ea5f00d551b6e8e2db676c84  libjava/scripts/classes.pl
! 1e38df4723fb3b54612bfa487c5167ff  libjava/scripts/encodings.pl
  c8714116496fe0e703adf657629a1849  libjava/scripts/mime.types
  935a2f525bf80646e23dc9f4e8dbd7b6  libjava/scripts/showval.java
! 69bfba2b24f0eecb74eef973fb428b60  libjava/scripts/unicode-blocks.pl
  c242fb9c1ab6ebbbad4784da68e32084  libjava/scripts/unicode-decomp.pl
! b35b2124a2f2bc5624c8c9429a287281  libjava/scripts/unicode-muncher.pl
  022571a9128f917eeb56cccf634885bb  libjava/sysdep/alpha/locks.h
  e55413161338793e68a3308fa3495d95  libjava/sysdep/dwarf2-backtrace.cc
  a9f1ecb8549f2168d406db491508aba4  libjava/sysdep/generic/locks.h
  478bf5beccbaa3c0463ec664322edabf  libjava/sysdep/i386/locks.h
! 9c22210e55708b47659bb40a8ea27aa7  libjava/sysdep/ia64-frame.h
! 7bafc37dbb25e4dd175f96dcd450c843  libjava/sysdep/ia64.c
  a13e6e998b97c19921eb8b4083444f17  libjava/sysdep/ia64/locks.h
  8c7a4ebd8370941ecf6cadce018158ba  libjava/sysdep/mips/locks.h
! 8e7792aec9389bf61d3d703b3c7ebb75  libjava/sysdep/pa/locks.h
! 994c6ddb7707dbf8b656302426343d01  libjava/sysdep/powerpc/locks.h
  a589e0b072d6eabca190815fdf0c5025  libjava/sysdep/s390/locks.h
  ac9ce4b055928d3a370bea6c7f4d7707  libjava/sysdep/sh/locks.h
  dfe570919fd25f16312d84294242a469  libjava/sysdep/sparc/locks.h
  6201dffba23fd1cbc5c29d3697c1a4b3  libjava/sysdep/x86-64/locks.h
  bd41c02d42e4fcef561d88d14c49efc4  libjava/testsuite/ChangeLog-old
! 8f59570e9be92857b18d3192602f5bad  libjava/testsuite/Makefile.am
! fddb3cd9d6f46d8339e6900a48a54486  libjava/testsuite/Makefile.in
  dce80ba7e038ca18591aabc6d3d2582c  libjava/testsuite/config/default.exp
! b9e1e6b2a4362649d6e3d6af9620c1cd  libjava/testsuite/lib/libjava.exp
  1cb376d608ce588877129087d302ad27  libjava/testsuite/libjava.cni/PR9577.java
  e134ced312b3511d88943d57ccd70c83  libjava/testsuite/libjava.cni/PR9577.out
  1306dc378a3efbedd8411f9513e1df23  libjava/testsuite/libjava.cni/cni.exp
--- 26054,26108 ----
  83074663a630af06ca2f83f047851a00  libjava/libltdl/ltmain.sh
  0a5e8ed778878a2656e3ea2313dac833  libjava/libltdl/missing
  792922784eade1d03ecb1b33ba8bb7c3  libjava/libltdl/mkinstalldirs
! 662ab0378ddb3ebfd0ed023a6704e566  libjava/libtool-version
! 200035ecdbdc8f49be422df85bf684cf  libjava/link.cc
! 5002bce0c7a25165f25bad30a4751c04  libjava/mauve-libgcj
! 8537f7d3f7e9fbeff538884167edf894  libjava/mingwld.m4
  b9b84e76d51b653c7fec2c1d882759c1  libjava/no-threads.cc
  e760b0ffcb334f44eac33b922cd34c6a  libjava/nogc.cc
  8bc9c6be20df8421c1a687421fbfde85  libjava/pkg.m4
! 1235b12d97722c8f74d759f88af3cc0c  libjava/posix-threads.cc
  fbe0da51c9e893762a6e4d2f87868e09  libjava/posix.cc
! 592c6caedf71f3750d1fbbf054f3bf09  libjava/prims.cc
! e78ba84d733731034a4ed9d7245ce3b4  libjava/scripts/MakeCharTables.java
  792d88462341952031e20db7cda3ce3f  libjava/scripts/MakeDefaultMimeTypes.java
! 889dd8875a84a119533818b9903ac0d2  libjava/scripts/classes.pl
! 6d795c65b67f245c88b61f68c93bf95b  libjava/scripts/encodings.pl
! 51d7fe051d226badc13cd76238274380  libjava/scripts/makemake.tcl
  c8714116496fe0e703adf657629a1849  libjava/scripts/mime.types
  935a2f525bf80646e23dc9f4e8dbd7b6  libjava/scripts/showval.java
! 3b11a2e02d97a6f176850cd2320a0e3e  libjava/scripts/unicode-blocks.pl
  c242fb9c1ab6ebbbad4784da68e32084  libjava/scripts/unicode-decomp.pl
! 69f9fdb5a0aef9e7d3c883266d4ce668  libjava/scripts/unicode-muncher.pl
! 13610a6881d7cbdb8a1316a70b52048e  libjava/shlibpath.m4
! 31ebaeb338e9d43fca2f76b4e2f258d4  libjava/sources.am
! 452eda020430708650a8ee093556ec5a  libjava/stacktrace.cc
! 046d36119a8b1ce85bccceb7603dc5dc  libjava/standard.omit.in
  022571a9128f917eeb56cccf634885bb  libjava/sysdep/alpha/locks.h
+ 433e10e115547d819ac98359574aee0f  libjava/sysdep/descriptor-n.h
+ 91690f00407b09a38d13eb69091bc2d0  libjava/sysdep/descriptor-y.h
  e55413161338793e68a3308fa3495d95  libjava/sysdep/dwarf2-backtrace.cc
+ 317eff966be38420557ff1f02b15055a  libjava/sysdep/generic/backtrace.h
  a9f1ecb8549f2168d406db491508aba4  libjava/sysdep/generic/locks.h
+ 8162efa8cf4be8ec4032152fb61d057b  libjava/sysdep/i386/backtrace.h
  478bf5beccbaa3c0463ec664322edabf  libjava/sysdep/i386/locks.h
! 666347edce43205f6432ab08fb50eed3  libjava/sysdep/ia64-frame.h
! f311196c6783e314ec5dd0fa017e7f35  libjava/sysdep/ia64.c
  a13e6e998b97c19921eb8b4083444f17  libjava/sysdep/ia64/locks.h
  8c7a4ebd8370941ecf6cadce018158ba  libjava/sysdep/mips/locks.h
! f7cb242be81e65e88bf59d31809f77f7  libjava/sysdep/pa/descriptor.h
! b7c39107509405b69fc3878590a6d63f  libjava/sysdep/pa/locks.h
! 2862e252c71c1a318a86716d3d8fb772  libjava/sysdep/powerpc/descriptor.h
! caee0d5194cca1d60986140ef8760b25  libjava/sysdep/powerpc/locks.h
  a589e0b072d6eabca190815fdf0c5025  libjava/sysdep/s390/locks.h
  ac9ce4b055928d3a370bea6c7f4d7707  libjava/sysdep/sh/locks.h
  dfe570919fd25f16312d84294242a469  libjava/sysdep/sparc/locks.h
  6201dffba23fd1cbc5c29d3697c1a4b3  libjava/sysdep/x86-64/locks.h
  bd41c02d42e4fcef561d88d14c49efc4  libjava/testsuite/ChangeLog-old
! 0b32a796619e51f99e8a88ae4c5a8a16  libjava/testsuite/Makefile.am
! e64b8ca61a6fcb0b3e17a8713bb9a434  libjava/testsuite/Makefile.in
  dce80ba7e038ca18591aabc6d3d2582c  libjava/testsuite/config/default.exp
! 296ae53955a9d13a160b3a8986cf89d5  libjava/testsuite/lib/libjava.exp
  1cb376d608ce588877129087d302ad27  libjava/testsuite/libjava.cni/PR9577.java
  e134ced312b3511d88943d57ccd70c83  libjava/testsuite/libjava.cni/PR9577.out
  1306dc378a3efbedd8411f9513e1df23  libjava/testsuite/libjava.cni/cni.exp
*************** bef376e148e0924e5191e37810b18e59  libjav
*** 23365,23381 ****
--- 26159,26184 ----
  fab0f1aeabb09be13f4bdebb24d31f86  libjava/testsuite/libjava.compile/PR19277.java
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/PR19277.xfail
  55ca5bc1edeacb3a7dbffe086871eede  libjava/testsuite/libjava.compile/PR19295.java
+ 6e212fe79b7c15609e935df876d55401  libjava/testsuite/libjava.compile/PR19674.java
+ 73b746c07c2ec30d8a57be4c4ac460a4  libjava/testsuite/libjava.compile/PR20312.java
+ 7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/PR20312.xfail
  52a8a74e666e84761a591fd8bd75a6d9  libjava/testsuite/libjava.compile/PR206.java
+ 011bf539c334f68b07947f894b81f79a  libjava/testsuite/libjava.compile/PR20697.java
  031ad78781d9520a98815b45f57ed6c8  libjava/testsuite/libjava.compile/PR207.java
  ebbbe8ca236b53f91e4a7d3fa731f2b7  libjava/testsuite/libjava.compile/PR207.xfail
  3a3267a528653157410cc08303d44d0a  libjava/testsuite/libjava.compile/PR208.java
  ebbbe8ca236b53f91e4a7d3fa731f2b7  libjava/testsuite/libjava.compile/PR208.xfail
  aacfe8a835ac786cbc68e44b672eb0ed  libjava/testsuite/libjava.compile/PR209.java
+ 85dcc433f61ed3e11f7ffe3551d79b8a  libjava/testsuite/libjava.compile/PR21045.java
  693dafb1d1861999a17021c31cee9716  libjava/testsuite/libjava.compile/PR224.java
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/PR224.xfail
  8539368deee049218c5aad571175c081  libjava/testsuite/libjava.compile/PR232.java
  a9afc42f0ac3ac8f0a60ed5cd5f5159d  libjava/testsuite/libjava.compile/PR232B.java
  90c432b193634a7bb3799ba6cb6f050f  libjava/testsuite/libjava.compile/PR234.java
+ 9e91a2b54aa7f112bb5e4cc9fedacaa9  libjava/testsuite/libjava.compile/PR23431_1.java
+ 7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/PR23431_1.xfail
+ 8e51e857ab0dfbc042c75da8daf3d5a0  libjava/testsuite/libjava.compile/PR23431_2.java
+ 7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/PR23431_2.xfail
  224b9f0018442640dbe77b1c2a530642  libjava/testsuite/libjava.compile/PR235.java
  6cc7143c98ca4460a764a3fe4375074f  libjava/testsuite/libjava.compile/PR238.java
  ebbbe8ca236b53f91e4a7d3fa731f2b7  libjava/testsuite/libjava.compile/PR238.xfail
*************** ebbbe8ca236b53f91e4a7d3fa731f2b7  libjav
*** 23435,23440 ****
--- 26238,26244 ----
  1bb3641cca10a6f451a23f72bf6da9ed  libjava/testsuite/libjava.compile/perc.java
  ad8b3ab2ecb09c0fd4203bf3935ee7fb  libjava/testsuite/libjava.compile/plusplus.java
  01414a39592eabf7fb2a38ca381d8579  libjava/testsuite/libjava.compile/pr10459.java
+ e44c5e53d062e6724dc8e550f40318c9  libjava/testsuite/libjava.compile/pr13788.java
  cad3fa9e48e6c5af1c8bd55dcbc61cc2  libjava/testsuite/libjava.compile/pr15656.java
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/pr15656.xfail
  eb6c1ee34c963fb2ac815607a7d671ab  libjava/testsuite/libjava.compile/pr172.java
*************** eb6c1ee34c963fb2ac815607a7d671ab  libjav
*** 23444,23449 ****
--- 26248,26255 ----
  4e4be9339df603ff73a4ee1196d769cb  libjava/testsuite/libjava.compile/pr176.java
  ab896855770b60eb606b4af189294960  libjava/testsuite/libjava.compile/pr21519.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.compile/pr21519.no-link
+ 501bfc9d22f687b78c093227a81904c5  libjava/testsuite/libjava.compile/pr21540.java
+ 74adef24712d2f18643c0fdcb1620669  libjava/testsuite/libjava.compile/pr25429.java
  9a95fdd926ef9e3e5af452a653c82691  libjava/testsuite/libjava.compile/pr7912.java
  b8a1d9b1c3beb3470510393e035c29b4  libjava/testsuite/libjava.compile/pr8712.java
  cc07a44dae9b5a88fae62d29d3f7e59f  libjava/testsuite/libjava.compile/pr8955.java
*************** cc07a44dae9b5a88fae62d29d3f7e59f  libjav
*** 23459,23464 ****
--- 26265,26272 ----
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/redef5.xfail
  79ca7962c898c028a35056cc6c2c693e  libjava/testsuite/libjava.compile/redef6.java
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/redef6.xfail
+ 3bf9b98e30a3886b0ed7d1d2f235c598  libjava/testsuite/libjava.compile/rh174912.java
+ 18d86717af3f69cdd457827ac28a5560  libjava/testsuite/libjava.compile/rh175833.java
  dd0a30f0cd5cf9f618b87ac8d0f173cf  libjava/testsuite/libjava.compile/static_1.java
  7d7ac3fc492c9fabd0b3bcad458d0d80  libjava/testsuite/libjava.compile/static_1.xfail
  3571dcbe51dfe5c25099c8ae6cfc5f0c  libjava/testsuite/libjava.compile/static_2.java
*************** e8945a4a04112ba90c2af941b65d4493  libjav
*** 23480,23486 ****
  ebbbe8ca236b53f91e4a7d3fa731f2b7  libjava/testsuite/libjava.compile/weirddecl.xfail
  282a2574b51bd991355217a4881aef9e  libjava/testsuite/libjava.compile/zeroexp.java
  e54d6484becb823de24eb82dada64bc0  libjava/testsuite/libjava.jacks/jacks.exp
! f852867dae1670c8cc03b0b73d2a5f33  libjava/testsuite/libjava.jacks/jacks.xfail
  864ca283cb0c81106a6f7b450886ec4d  libjava/testsuite/libjava.jar/jar.exp
  c95a29b2bd827bf60f47c9fbd5a55635  libjava/testsuite/libjava.jar/simple.jar
  c08e241c192d631497bded5926a907ff  libjava/testsuite/libjava.jar/simple.java
--- 26288,26294 ----
  ebbbe8ca236b53f91e4a7d3fa731f2b7  libjava/testsuite/libjava.compile/weirddecl.xfail
  282a2574b51bd991355217a4881aef9e  libjava/testsuite/libjava.compile/zeroexp.java
  e54d6484becb823de24eb82dada64bc0  libjava/testsuite/libjava.jacks/jacks.exp
! 4a34bc55c34c0d04cfd85a1a1295f597  libjava/testsuite/libjava.jacks/jacks.xfail
  864ca283cb0c81106a6f7b450886ec4d  libjava/testsuite/libjava.jar/jar.exp
  c95a29b2bd827bf60f47c9fbd5a55635  libjava/testsuite/libjava.jar/simple.jar
  c08e241c192d631497bded5926a907ff  libjava/testsuite/libjava.jar/simple.java
*************** cfee37cc09ac4a762cca29c4995ad01a  libjav
*** 23522,23528 ****
  da33008a788fb5f5827a66450521e314  libjava/testsuite/libjava.jni/invoke.c
  f7b0b30783fc45050cda4c538d6ac815  libjava/testsuite/libjava.jni/invoke.java
  bef8cafe5513c6677e1d68b5123f7244  libjava/testsuite/libjava.jni/invoke.out
! f20f3cbf1386eead03bf3624d62a7968  libjava/testsuite/libjava.jni/jni.exp
  30671cc206534ecc057603b5591e34f9  libjava/testsuite/libjava.jni/jniutf.c
  ac325c49f0d5d2866ec91cde65940bcb  libjava/testsuite/libjava.jni/jniutf.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.jni/jniutf.out
--- 26330,26336 ----
  da33008a788fb5f5827a66450521e314  libjava/testsuite/libjava.jni/invoke.c
  f7b0b30783fc45050cda4c538d6ac815  libjava/testsuite/libjava.jni/invoke.java
  bef8cafe5513c6677e1d68b5123f7244  libjava/testsuite/libjava.jni/invoke.out
! d3556e4f5b00905bffa87e06e672b341  libjava/testsuite/libjava.jni/jni.exp
  30671cc206534ecc057603b5591e34f9  libjava/testsuite/libjava.jni/jniutf.c
  ac325c49f0d5d2866ec91cde65940bcb  libjava/testsuite/libjava.jni/jniutf.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.jni/jniutf.out
*************** b54cf73a9d5b56b6edd1a17d37451d46  libjav
*** 23538,23543 ****
--- 26346,26357 ----
  8abd0d13249e576e3196609578d9d286  libjava/testsuite/libjava.jni/pr11951.c
  a3b997591d55498eb3e19692584c8709  libjava/testsuite/libjava.jni/pr11951.java
  b026324c6904b2a9cb4b88d6d61c81d1  libjava/testsuite/libjava.jni/pr11951.out
+ c5872cb67d387913d319dd93f17ed500  libjava/testsuite/libjava.jni/pr18278.c
+ 08038364e250530fca454a39f3084e4c  libjava/testsuite/libjava.jni/pr18278.java
+ 6bcdd30cea393f4804efca402a86783e  libjava/testsuite/libjava.jni/pr18278.out
+ a420afb8fdbb8a47982941bf7ed4fb3f  libjava/testsuite/libjava.jni/pr23739.c
+ 5a1cba4d90333bb7f7bbd668e2f8da5f  libjava/testsuite/libjava.jni/pr23739.java
+ d157b6857ae8e820282813482b389652  libjava/testsuite/libjava.jni/pr23739.out
  7953020be25f14fdcb11f898f0501d9d  libjava/testsuite/libjava.jni/register.c
  b9574c77e7e46b76c2018263e0b03459  libjava/testsuite/libjava.jni/register.java
  2a53da1a6fbfc0bafdd96b0a2ea29515  libjava/testsuite/libjava.jni/register.out
*************** d3b81b9b9fae3bb2fd0477f4f1f1035f  libjav
*** 23571,23576 ****
--- 26385,26391 ----
  cbaf0b2f425f8f339a4df35727daf519  libjava/testsuite/libjava.lang/EvaluationOrder.java
  2027eccd5c1ef67110ce54dc72663358  libjava/testsuite/libjava.lang/EvaluationOrder.out
  1a14588faeddfc4fd9fff7baea1f46a7  libjava/testsuite/libjava.lang/ExtraClassLoader.java
+ 46358f06e85cd7147d737826a91bf8d9  libjava/testsuite/libjava.lang/ExtraClassLoader.out
  f650f5ae06b03c378a1e3b846c95c060  libjava/testsuite/libjava.lang/FileHandleGcTest.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/FileHandleGcTest.out
  0594baa3d33ce5e686c76d9ea8c971eb  libjava/testsuite/libjava.lang/Final.java
*************** b42c8ec1d8f17b803721718edef8321d  libjav
*** 23637,23642 ****
--- 26452,26461 ----
  d36f8f9425c4a8000ad9c4a97185aca5  libjava/testsuite/libjava.lang/PR16867.out
  035fb00b9a72d270c64769176f21759a  libjava/testsuite/libjava.lang/PR18699.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/PR18699.out
+ 83454d370345d8b0b5b8c58b2206390a  libjava/testsuite/libjava.lang/PR19870.java
+ 66889d1eab7aab3e0ae9250d944febcc  libjava/testsuite/libjava.lang/PR19870.out
+ 8e49b3934f38afacd6180248f61b36b4  libjava/testsuite/libjava.lang/PR19870_2.java
+ 9bc49f56ea837262cf2e8f15d3bc0696  libjava/testsuite/libjava.lang/PR19870_2.out
  efdd3753c16123ffa54010dc417277fe  libjava/testsuite/libjava.lang/PR19921.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/PR19921.out
  ac7fc8c4f3352c3512125fa4dd6fbddd  libjava/testsuite/libjava.lang/PR20056.java
*************** b16e52327db0f6d4de8161d14ff556c2  libjav
*** 23705,23711 ****
  1b8e91e1d973d473116254aebeeca2bb  libjava/testsuite/libjava.lang/TLtest.java
  c1747864bded548039ce844811c45883  libjava/testsuite/libjava.lang/TLtest.out
  b16e52327db0f6d4de8161d14ff556c2  libjava/testsuite/libjava.lang/TLtest.xfail
! e9b9bd3917fd621b390b3727721aaee1  libjava/testsuite/libjava.lang/TestProxy.java
  41d9737bc75ae8fa57b7a84a44fba01c  libjava/testsuite/libjava.lang/TestProxy.out
  5712226f1e5c9428e728e754955e16e0  libjava/testsuite/libjava.lang/Thread_Alive.java
  07e7a58356a7f50471d15da3ebd74658  libjava/testsuite/libjava.lang/Thread_Alive.out
--- 26524,26530 ----
  1b8e91e1d973d473116254aebeeca2bb  libjava/testsuite/libjava.lang/TLtest.java
  c1747864bded548039ce844811c45883  libjava/testsuite/libjava.lang/TLtest.out
  b16e52327db0f6d4de8161d14ff556c2  libjava/testsuite/libjava.lang/TLtest.xfail
! 5bc6447db72fcf0c60904882ef73d9c9  libjava/testsuite/libjava.lang/TestProxy.java
  41d9737bc75ae8fa57b7a84a44fba01c  libjava/testsuite/libjava.lang/TestProxy.out
  5712226f1e5c9428e728e754955e16e0  libjava/testsuite/libjava.lang/Thread_Alive.java
  07e7a58356a7f50471d15da3ebd74658  libjava/testsuite/libjava.lang/Thread_Alive.out
*************** f5ba8de422a2c5c80bd98d7e688f0e98  libjav
*** 23860,23877 ****
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/pr13107.out
  0f3776294902428ad4763442d240ef3e  libjava/testsuite/libjava.lang/pr13107_2.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/pr13107_2.out
- 4502a86acab330365d096036cf6c5569  libjava/testsuite/libjava.lang/pr13107_2.xfail
  02211531c27fefca9425d2c98ec8e7eb  libjava/testsuite/libjava.lang/pr13107_3.java
  897316929176464ebc9ad085f31e7284  libjava/testsuite/libjava.lang/pr13107_3.out
- 4502a86acab330365d096036cf6c5569  libjava/testsuite/libjava.lang/pr13107_3.xfail
  325534b33eb96a4b84a41c27d6494897  libjava/testsuite/libjava.lang/pr133.java
  cb4fd8dcab0bef425a0aed90eac0de21  libjava/testsuite/libjava.lang/pr133.out
  2dd7b4866dbabf93cbe158a36e7b37de  libjava/testsuite/libjava.lang/pr16789.java
  d42f2da1df5ecdf29be4ac27edda0c12  libjava/testsuite/libjava.lang/pr16789.out
  826e2499947e72d4382d3864918444b7  libjava/testsuite/libjava.lang/pr179.java
  29288e294f89ce551732ba7e46a1d068  libjava/testsuite/libjava.lang/pr179.out
  78329f1aefb96107aa5f709fabcd3a06  libjava/testsuite/libjava.lang/pr184.java
  dfd622aec684e9846731bc8751ca9695  libjava/testsuite/libjava.lang/pr184.out
  b69f7c53f59a41b63169fc4abba31a4d  libjava/testsuite/libjava.lang/pr6388.java
  269da7fd5e1efc64d0538387108caf08  libjava/testsuite/libjava.lang/pr6388.out
  09e05b3fbc01d20ed4308f0da6866469  libjava/testsuite/libjava.lang/pr83.java
--- 26679,26701 ----
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/pr13107.out
  0f3776294902428ad4763442d240ef3e  libjava/testsuite/libjava.lang/pr13107_2.java
  d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/pr13107_2.out
  02211531c27fefca9425d2c98ec8e7eb  libjava/testsuite/libjava.lang/pr13107_3.java
  897316929176464ebc9ad085f31e7284  libjava/testsuite/libjava.lang/pr13107_3.out
  325534b33eb96a4b84a41c27d6494897  libjava/testsuite/libjava.lang/pr133.java
  cb4fd8dcab0bef425a0aed90eac0de21  libjava/testsuite/libjava.lang/pr133.out
  2dd7b4866dbabf93cbe158a36e7b37de  libjava/testsuite/libjava.lang/pr16789.java
  d42f2da1df5ecdf29be4ac27edda0c12  libjava/testsuite/libjava.lang/pr16789.out
+ bbdf3c3b79894a8c6b140112163cd013  libjava/testsuite/libjava.lang/pr17536.java
+ 674441960ca1ba2de08ad4e50c9fde98  libjava/testsuite/libjava.lang/pr17536.out
  826e2499947e72d4382d3864918444b7  libjava/testsuite/libjava.lang/pr179.java
  29288e294f89ce551732ba7e46a1d068  libjava/testsuite/libjava.lang/pr179.out
  78329f1aefb96107aa5f709fabcd3a06  libjava/testsuite/libjava.lang/pr184.java
  dfd622aec684e9846731bc8751ca9695  libjava/testsuite/libjava.lang/pr184.out
+ c41d993027701e321b5514c676c415c5  libjava/testsuite/libjava.lang/pr21785.java
+ d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.lang/pr21785.out
+ 56b5502d0cd6e4d4cf454d601283d0d0  libjava/testsuite/libjava.lang/pr21844.java
+ c30f7472766d25af1dc80b3ffc9a58c7  libjava/testsuite/libjava.lang/pr21844.out
+ a7b3d53eb58720e1cfbb78d5859dd1eb  libjava/testsuite/libjava.lang/pr22211.java
  b69f7c53f59a41b63169fc4abba31a4d  libjava/testsuite/libjava.lang/pr6388.java
  269da7fd5e1efc64d0538387108caf08  libjava/testsuite/libjava.lang/pr6388.out
  09e05b3fbc01d20ed4308f0da6866469  libjava/testsuite/libjava.lang/pr83.java
*************** a9fbdc2cf5fddb18c1a49ed5750a240e  libjav
*** 23927,23970 ****
  86b7bcaab67e81448a283a94ef8caeb4  libjava/testsuite/libjava.loader/loader.exp
  535c341accf683784d36e9ccb76e01ef  libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
  e9910ad80efb8d33fd62025e4856c13b  libjava/testsuite/libjava.mauve/mauve.exp
! 400d03cd1dbd4abc8c6261d5b87f2f64  libjava/testsuite/libjava.mauve/xfails
  4e83ea7a96f2216869c8c6eb5b5299e2  libjava/testsuite/libjava.verify/README.verify
  1894f669f9cf4ab8f83689ddfd7ed580  libjava/testsuite/libjava.verify/verify.exp
! ef8ee8a54319e0cf5d1eb6e5de71fcf8  libjava/verify.cc
  a96bfe2f74207bef0f1b6dcafa4d7495  libjava/win32-threads.cc
  0a87f464b4cf71fd089a5857f22934f8  libjava/win32.cc
! ac81461263c340d1f6c7ed86a63b06de  libmudflap/.cvsignore
! 2038f0daec3543d46724cb70b4a01991  libmudflap/ChangeLog
! 5819b825335edc897fe336c7089c3bb7  libmudflap/Makefile.am
! 0ad672c1d858a74f2283e9094687f77c  libmudflap/Makefile.in
! 31849fccd1f6b97f0b0a3a2b4f594e13  libmudflap/aclocal.m4
! 3cee33440ccf73be994bdc20adeb785c  libmudflap/config.h.in
! eb165bf30ac8fcf1f1a287285d784127  libmudflap/configure
! aa1cfd41df6bd5bf214600a94f496a83  libmudflap/configure.ac
  5b95ad6add3888b3ac1fd4fc7b3704ca  libmudflap/libtool-version
! ecfa62d83ea59aa1151c19bc2858cae2  libmudflap/mf-heuristics.c
! 8220fa4a067512176867197ea660c7aa  libmudflap/mf-hooks1.c
! e67d1b54634060fd35ebe5932591ce9e  libmudflap/mf-hooks2.c
! 778f350c7227a9ca3c7e62a9b8756723  libmudflap/mf-hooks3.c
! bd9247e11e44490d164019f1f0bfa2f3  libmudflap/mf-impl.h
! c634717d6ae578972a73210e913aaa03  libmudflap/mf-runtime.c
! 92cda17abc91c50a4ab3864f0be6acf0  libmudflap/mf-runtime.h
  8f93cea3023d6f4d27e295ebcc0eef13  libmudflap/testsuite/Makefile.am
! 5e35b22bebd3b4b6b9c4c413416e8a27  libmudflap/testsuite/Makefile.in
  5ac298bc8467994a49a168c684bc6c7f  libmudflap/testsuite/config/default.exp
! e9b449c63b3330b60840e79bc7e85ab3  libmudflap/testsuite/lib/libmudflap.exp
! b674f5c8efda391cdb8aa2dc0bdf9c04  libmudflap/testsuite/lib/mfdg.exp
! 0102d38ed1c4e0b480b970a05de00860  libmudflap/testsuite/libmudflap.c++/c++frags.exp
  1830ea68643f44237915e2a6414343e4  libmudflap/testsuite/libmudflap.c++/ctors-1.cxx
  0664a8e0e26fe32e4ba53e290492a108  libmudflap/testsuite/libmudflap.c++/ctors-2.cxx
! f8df5e3f3d3432a13fb337dc14b2b54e  libmudflap/testsuite/libmudflap.c++/ctors.exp
  977ee4b2e6d8864d4bc297e7efd1d402  libmudflap/testsuite/libmudflap.c++/fail24-frag.cxx
  2808a924b14f78acf11c583882b7d6db  libmudflap/testsuite/libmudflap.c++/pass27-frag.cxx
  edbb438f0e609167bd4c13e189260b06  libmudflap/testsuite/libmudflap.c++/pass28-frag.cxx
  4f788a287f0720a650ef76df57d2454d  libmudflap/testsuite/libmudflap.c++/pass31-frag.cxx
  5392e0176915d724401bda33f40f4abf  libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx
  ae5bc015a6733e8177f80cba80771837  libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx
! 2e968239532999f7510a72755cb5e355  libmudflap/testsuite/libmudflap.c/cfrags.exp
  f01a0cca9b0931395ffe1201d36e4a2e  libmudflap/testsuite/libmudflap.c/fail1-frag.c
  f7c87793139e650065d52a07a41f2024  libmudflap/testsuite/libmudflap.c/fail10-frag.c
  ce0b75d9dff7b48f609760f1fc621f91  libmudflap/testsuite/libmudflap.c/fail11-frag.c
--- 26751,26803 ----
  86b7bcaab67e81448a283a94ef8caeb4  libjava/testsuite/libjava.loader/loader.exp
  535c341accf683784d36e9ccb76e01ef  libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
  e9910ad80efb8d33fd62025e4856c13b  libjava/testsuite/libjava.mauve/mauve.exp
! d9f809c11b22c0ab49809adca70d1eb1  libjava/testsuite/libjava.mauve/xfails
! a16c97a8ee8f2dccdee326949e71fe73  libjava/testsuite/libjava.special/pr21115.java
! d41d8cd98f00b204e9800998ecf8427e  libjava/testsuite/libjava.special/pr21115.out
! 26e969b702c0f288f0cbbecce0618370  libjava/testsuite/libjava.special/pr21115I.java
! 51b959bd2fe8a6112c447832a94be22e  libjava/testsuite/libjava.special/special.exp
  4e83ea7a96f2216869c8c6eb5b5299e2  libjava/testsuite/libjava.verify/README.verify
  1894f669f9cf4ab8f83689ddfd7ed580  libjava/testsuite/libjava.verify/verify.exp
! 797d303a514c20c7dce679826e84a594  libjava/verify.cc
  a96bfe2f74207bef0f1b6dcafa4d7495  libjava/win32-threads.cc
  0a87f464b4cf71fd089a5857f22934f8  libjava/win32.cc
! 932029549181873bfaed04ff1b3aaac4  libmudflap/ChangeLog
! fa4aa84cc855088c953c9dc060cdae79  libmudflap/Makefile.am
! b01393eb1183eee5ca0411047ce350cf  libmudflap/Makefile.in
! 9883ed42b491d8aea83fdde90561cf2a  libmudflap/acinclude.m4
! 7f06c312447f5e7b1daa2ce4fb17c8a9  libmudflap/aclocal.m4
! 7db664a20bdc3fb767d6a7527fe774f7  libmudflap/config.h.in
! f32b68409091db56ede30701ffe4cb34  libmudflap/configure
! ff24dab86c9a8dbaddf52766b8d18684  libmudflap/configure.ac
  5b95ad6add3888b3ac1fd4fc7b3704ca  libmudflap/libtool-version
! 2585c7c2989699cd7c7e922aae29ff3e  libmudflap/mf-heuristics.c
! 1c8d7e13b9720c679595138a7b139f6e  libmudflap/mf-hooks1.c
! 14e987d1cfd537b9b84954cf7e265cfb  libmudflap/mf-hooks2.c
! e18665cbf4269b7420e7fac826eb355d  libmudflap/mf-hooks3.c
! 57481d8438b618ce5ec8ae5d3d36a166  libmudflap/mf-impl.h
! 5163571e137a825be03d317d3c764be6  libmudflap/mf-runtime.c
! 57eac2691205ac96ac5b911eadc48a9d  libmudflap/mf-runtime.h
  8f93cea3023d6f4d27e295ebcc0eef13  libmudflap/testsuite/Makefile.am
! 271c722014016d3bcff7bf048495f36e  libmudflap/testsuite/Makefile.in
  5ac298bc8467994a49a168c684bc6c7f  libmudflap/testsuite/config/default.exp
! a995386888a1c268eddcd515cd029a60  libmudflap/testsuite/lib/libmudflap.exp
! d236be8ebb86b1a02183c46eba75944f  libmudflap/testsuite/lib/mfdg.exp
! 7ade6c0499dc3239c629c1e957b2f431  libmudflap/testsuite/libmudflap.c++/c++frags.exp
  1830ea68643f44237915e2a6414343e4  libmudflap/testsuite/libmudflap.c++/ctors-1.cxx
  0664a8e0e26fe32e4ba53e290492a108  libmudflap/testsuite/libmudflap.c++/ctors-2.cxx
! bd1018dca1ea8fc5da276c326a626e9e  libmudflap/testsuite/libmudflap.c++/ctors.exp
  977ee4b2e6d8864d4bc297e7efd1d402  libmudflap/testsuite/libmudflap.c++/fail24-frag.cxx
  2808a924b14f78acf11c583882b7d6db  libmudflap/testsuite/libmudflap.c++/pass27-frag.cxx
  edbb438f0e609167bd4c13e189260b06  libmudflap/testsuite/libmudflap.c++/pass28-frag.cxx
  4f788a287f0720a650ef76df57d2454d  libmudflap/testsuite/libmudflap.c++/pass31-frag.cxx
  5392e0176915d724401bda33f40f4abf  libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx
  ae5bc015a6733e8177f80cba80771837  libmudflap/testsuite/libmudflap.c++/pass55-frag.cxx
! 7eb589ee8a3fefbd689201c7b8902a9a  libmudflap/testsuite/libmudflap.c++/pass57-frag.cxx
! 0f08d34091cd27effc81885632d774c3  libmudflap/testsuite/libmudflap.c++/pass58-frag.cxx
! c9d3ad2536feea6a8a2a3f5484a53f46  libmudflap/testsuite/libmudflap.c/cfrags.exp
! 121505ecdbce8b8873304c7d6a72d063  libmudflap/testsuite/libmudflap.c/externs-1.c
! 993f5f7b14a780e467f56b3793dba92a  libmudflap/testsuite/libmudflap.c/externs-2.c
! 22d357285b967798a52c460962e93a3c  libmudflap/testsuite/libmudflap.c/externs.exp
  f01a0cca9b0931395ffe1201d36e4a2e  libmudflap/testsuite/libmudflap.c/fail1-frag.c
  f7c87793139e650065d52a07a41f2024  libmudflap/testsuite/libmudflap.c/fail10-frag.c
  ce0b75d9dff7b48f609760f1fc621f91  libmudflap/testsuite/libmudflap.c/fail11-frag.c
*************** ee3183f0f8a460d9bd993d7f826fa90d  libmud
*** 23996,24002 ****
--- 26829,26837 ----
  af2dbd515fe01a4fdcc3fb8037f815b1  libmudflap/testsuite/libmudflap.c/fail36-frag.c
  6b03e3ceeea233e0fc7024caeba81855  libmudflap/testsuite/libmudflap.c/fail37-frag.c
  aa7f3be8fbb9c6a0ff826c01c206365b  libmudflap/testsuite/libmudflap.c/fail38-frag.c
+ 33cf873dd7dd7eddf7bad374ef08cdef  libmudflap/testsuite/libmudflap.c/fail39-frag.c
  0dfd981ee2e625ca1e22d36d0108cc9a  libmudflap/testsuite/libmudflap.c/fail4-frag.c
+ e6c7b28b6896f9a0da785219b693b806  libmudflap/testsuite/libmudflap.c/fail40-frag.c
  9e31dcfd9573de93e2b46d9f0e382376  libmudflap/testsuite/libmudflap.c/fail5-frag.c
  b86a1b2de633cab886f73596afbb0057  libmudflap/testsuite/libmudflap.c/fail6-frag.c
  2a52c49e96c0b6cfecc1650a8fd4f934  libmudflap/testsuite/libmudflap.c/fail7-frag.c
*************** b86a1b2de633cab886f73596afbb0057  libmud
*** 24004,24010 ****
  3edcdff474432dfaf325151a5f6e0720  libmudflap/testsuite/libmudflap.c/fail9-frag.c
  26dd600a9bb460e591c39eb8038965c3  libmudflap/testsuite/libmudflap.c/heap-scalestress.c
  892cb51e70b3c7990d964bcc9554e64f  libmudflap/testsuite/libmudflap.c/hook-allocstuff.c
! 0db2423fceddea49779f253ac20b461d  libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
  1546be985276a26f219aeb6add96ae00  libmudflap/testsuite/libmudflap.c/pass1-frag.c
  ae1dfac3738764a8a9a0f48c0108d255  libmudflap/testsuite/libmudflap.c/pass10-frag.c
  08c9e782994ebb9725c5782a6335688c  libmudflap/testsuite/libmudflap.c/pass11-frag.c
--- 26839,26846 ----
  3edcdff474432dfaf325151a5f6e0720  libmudflap/testsuite/libmudflap.c/fail9-frag.c
  26dd600a9bb460e591c39eb8038965c3  libmudflap/testsuite/libmudflap.c/heap-scalestress.c
  892cb51e70b3c7990d964bcc9554e64f  libmudflap/testsuite/libmudflap.c/hook-allocstuff.c
! ed4e3eea9eee75592c5aeab77bb02846  libmudflap/testsuite/libmudflap.c/hook2-allocstuff.c
! 3aed31ce0e5584762dc5d2b6c857cf79  libmudflap/testsuite/libmudflap.c/pass-stratcliff.c
  1546be985276a26f219aeb6add96ae00  libmudflap/testsuite/libmudflap.c/pass1-frag.c
  ae1dfac3738764a8a9a0f48c0108d255  libmudflap/testsuite/libmudflap.c/pass10-frag.c
  08c9e782994ebb9725c5782a6335688c  libmudflap/testsuite/libmudflap.c/pass11-frag.c
*************** c502e330a2452b0db330811b47612f98  libmud
*** 24048,24138 ****
  a051a4c55bb7af739947f5202bd4ddff  libmudflap/testsuite/libmudflap.c/pass52-frag.c
  68b3516885a8c2fcfdba7df5322933ed  libmudflap/testsuite/libmudflap.c/pass53-frag.c
  e8d6c9eb8a817572b55f6b93f1d82fda  libmudflap/testsuite/libmudflap.c/pass54-frag.c
  d5c53f81b148c1f3d90f58f8fd0b0ba3  libmudflap/testsuite/libmudflap.c/pass6-frag.c
  807688f14acaf9a36cdbcdb58bdf64d5  libmudflap/testsuite/libmudflap.c/pass7-frag.c
  06a0d20fdc7fd6d86138520c8f85c892  libmudflap/testsuite/libmudflap.c/pass8-frag.c
  f27eddb3a4c53d7592b38d6175922ed2  libmudflap/testsuite/libmudflap.c/pass9-frag.c
  59bc8b5b9bb1a57bbf115f50d7877305  libmudflap/testsuite/libmudflap.cth/cthfrags.exp
! ec638a03f66871142acdac50a24e9149  libmudflap/testsuite/libmudflap.cth/pass37-frag.c
! 53f03df8e5e7d6ddf2191ee1f3febd96  libmudflap/testsuite/libmudflap.cth/pass39-frag.c
  9c6e0ee7556df21372ba89fcb2612d17  libmudflap/testsuite/libmudflap.cth/pass40-frag.c
  60168171460c9277504005955b1ea1b8  libmudflap/testsuite/mfconfig.exp.in
! ac81461263c340d1f6c7ed86a63b06de  libobjc/.cvsignore
! 6f74fcce27f2fe487669db0dbb0733ac  libobjc/ChangeLog
! 8d205dadd49654e75d3d44757def295a  libobjc/Makefile.in
! 100a8a616b158f80f9852ceb5f5f0ce0  libobjc/NXConstStr.m
! 89e7d8ea7feedf1c3710ee80febe4f73  libobjc/Object.m
! da3ed3804177b057aaf2f6fc9f46ccb7  libobjc/Protocol.m
! aa5319dd541cdb0eb8622f9adf66b761  libobjc/README
  25a63d98d74b70ef05b601805902d36d  libobjc/README.threads
  5f43a1e6c71bc1280356588a4137977d  libobjc/THREADS
  04172dc01230eaa2ce321d62de8c5739  libobjc/THREADS.MACH
  699379f016a7be9f58ad8d4833725d66  libobjc/acinclude.m4
! 8ce8ec43c1b519579b3e2e688a8d31d1  libobjc/aclocal.m4
! b99ef0075aa13cf6d8204a0f89474a36  libobjc/archive.c
! 3ef7edab1cfd021b3fb5da677061faca  libobjc/class.c
! fcf7f656efa703c164caa74749e878f3  libobjc/config.h.in
! 20575d009a00b2feb7ac979a3444cd96  libobjc/configure
! c9d916b6b3a9614a97e2d34857f760c1  libobjc/configure.ac
! 110d0b4275d6bc6ee1f9a7ac17a38343  libobjc/encoding.c
! 1afef13966cc44b9d8cf7711f95802fb  libobjc/exception.c
! f4a78ac1bef3c61b63b045ed69055fed  libobjc/gc.c
! 534999827a125e2fb80abc924e091381  libobjc/hash.c
! c92f3938299783b8b37fbe85a6bfc43d  libobjc/hash_compat.c
! 9130f7b696559998f2a05f4e6d589e80  libobjc/init.c
! b658d5bb041eb002c9aeb4cbae769bca  libobjc/libobjc.def
! 5f67e0588b52ca8989f2e6fc2d683a60  libobjc/libobjc_entry.c
! 866b8aca71ad54c66713a17254f55bb1  libobjc/linking.m
! dab44d6496d6ce1edd7d5c5f27b904ce  libobjc/makefile.dos
! 7e9262916e9993e89a441893e43708c4  libobjc/misc.c
! bbe65827b7fa7dc37750b2dde78e6398  libobjc/nil_method.c
! 15bba2462d5678c4b676eb9feb5951da  libobjc/objc/NXConstStr.h
! a208345ba56c6fe7bd0b0e31261df766  libobjc/objc/Object.h
! cb13f790cb53adba78e2f43d60921c77  libobjc/objc/Protocol.h
! b5a34b08e4b57291b02a988e213b42dd  libobjc/objc/encoding.h
! 735b7f3a5b33efd65a3d7135510b8914  libobjc/objc/hash.h
! 78651d5c6d5d4acb9f50af8805ab4ba9  libobjc/objc/objc-api.h
! 8c5036288ef4cb5e9b8191cee3710aef  libobjc/objc/objc-decls.h
! efc662d1710ec983b1658c6fa13a8767  libobjc/objc/objc-list.h
! d0f6e5c7042d5759db5f7cf2962b069c  libobjc/objc/objc.h
! e02b3897fdbaa6bd2b0a02b5d3175980  libobjc/objc/runtime.h
! 025b9d771bb9c6e53a798e213c0dacbf  libobjc/objc/sarray.h
! 19c723d86f59cb305c6c869dc2c58622  libobjc/objc/thr.h
! 10cec4a0328a689ec38c55ecc2a1b825  libobjc/objc/typedstream.h
! 16a26c00473e17c1d7deb0a97c318f34  libobjc/objects.c
! 84dd4aa4fd3d1383495677517e47409a  libobjc/sarray.c
! 58dcc0f566fcc444dc8408233ac0646a  libobjc/selector.c
! fe1065473f8d6a1c28ea3990599ef397  libobjc/sendmsg.c
! b7303d3c92443681bb56da08379df615  libobjc/thr-dce.c
! f52a5cea239b5db021b94525bb739c5a  libobjc/thr-decosf1.c
! 0e22884cb854bcc098ed27054a46eb0e  libobjc/thr-irix.c
! 93617305c4b0eabe6aa378534292dc89  libobjc/thr-mach.c
! d9904ed6560cd3f29a9a6a49e7063a7b  libobjc/thr-objc.c
! a6891e721c6ec59e1416e4bd9c974e7b  libobjc/thr-os2.c
! db48979f0c55de317c25502d7eb70e32  libobjc/thr-posix.c
! f939de4f1ad02585c7382b9e9d600f39  libobjc/thr-pthreads.c
! dac3f9fec4da0f8eb7c29674114da5f2  libobjc/thr-rtems.c
! c8a5d651d7a9816bb64b3eaed9f7c813  libobjc/thr-single.c
! 79918aee4b55a6481332511e7361f14c  libobjc/thr-solaris.c
! c8a5d651d7a9816bb64b3eaed9f7c813  libobjc/thr-vxworks.c
! 01163d478093aa7c6fad4c566c1782e8  libobjc/thr-win32.c
! 8ae8d26e64351ff1b21a5d4d5c128a82  libobjc/thr.c
! ac81461263c340d1f6c7ed86a63b06de  libstdc++-v3/.cvsignore
! 855684211e089ede4836a2ea0284018d  libstdc++-v3/ChangeLog
! a9f7157d0e65450f88d5f0fb0ab9b6b9  libstdc++-v3/ChangeLog-2000
  c8785b12d58c99355a04453d38ca1f7c  libstdc++-v3/ChangeLog-2001
  a26d9a931f6b718d74468499f816cf2d  libstdc++-v3/ChangeLog-2002
  a662434a55aced1e46a58ddfaf8410c4  libstdc++-v3/ChangeLog-2003
  1ccdc0ec99a50bb586cb4279c137a6bf  libstdc++-v3/ChangeLog-2004
! cd4edb7d3ab953d59570b392eef83888  libstdc++-v3/Makefile.am
! 0346c7b005799da6ec6c78a523b88193  libstdc++-v3/Makefile.in
  70aebba2e3a9ac130e2e1c0413fa44ea  libstdc++-v3/README
! 88327799149f3115ffa1d12d686a5f09  libstdc++-v3/acconfig.h
! f1192f24b14fa4a6571b20512d1b1e67  libstdc++-v3/acinclude.m4
! deec9e4227077d5d6e7ce23893958291  libstdc++-v3/aclocal.m4
! 3f63e92d349b4af7707b5a6aa8c31d4e  libstdc++-v3/config.h.in
  26cfcac76d7eae2d78f365b85f11b083  libstdc++-v3/config/abi/alpha-linux-gnu/baseline_symbols.txt
! d66bc07774ad933f438fcd78eb27d0ef  libstdc++-v3/config/abi/compatibility.h
  7ee48c26c8494dba539e8b2c60ae3a07  libstdc++-v3/config/abi/hppa-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/i386-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/i486-linux-gnu/baseline_symbols.txt
--- 26884,27003 ----
  a051a4c55bb7af739947f5202bd4ddff  libmudflap/testsuite/libmudflap.c/pass52-frag.c
  68b3516885a8c2fcfdba7df5322933ed  libmudflap/testsuite/libmudflap.c/pass53-frag.c
  e8d6c9eb8a817572b55f6b93f1d82fda  libmudflap/testsuite/libmudflap.c/pass54-frag.c
+ cb3ccbf6d4f3904248184c7db388827d  libmudflap/testsuite/libmudflap.c/pass56-frag.c
  d5c53f81b148c1f3d90f58f8fd0b0ba3  libmudflap/testsuite/libmudflap.c/pass6-frag.c
  807688f14acaf9a36cdbcdb58bdf64d5  libmudflap/testsuite/libmudflap.c/pass7-frag.c
  06a0d20fdc7fd6d86138520c8f85c892  libmudflap/testsuite/libmudflap.c/pass8-frag.c
  f27eddb3a4c53d7592b38d6175922ed2  libmudflap/testsuite/libmudflap.c/pass9-frag.c
  59bc8b5b9bb1a57bbf115f50d7877305  libmudflap/testsuite/libmudflap.cth/cthfrags.exp
! 2be92110f47f3766d5d7efbcfb344fab  libmudflap/testsuite/libmudflap.cth/pass37-frag.c
! 67c76fce7dd9dbb0f532d7e9f5c09f7a  libmudflap/testsuite/libmudflap.cth/pass39-frag.c
  9c6e0ee7556df21372ba89fcb2612d17  libmudflap/testsuite/libmudflap.cth/pass40-frag.c
  60168171460c9277504005955b1ea1b8  libmudflap/testsuite/mfconfig.exp.in
! 5b866e518c45feccd52c1ee632284a37  libobjc/ChangeLog
! 5714b5cbf2480ce0e0b442106c54b0aa  libobjc/Makefile.in
! b72b505ce44f731e074f50699c5692e8  libobjc/NXConstStr.m
! 601602b8688b4064b961b0c12d68360d  libobjc/Object.m
! 440a59ef5eeb54b012a2da2368e3ecf6  libobjc/Protocol.m
! d5edaeee0d84e4305368367019952ba7  libobjc/README
  25a63d98d74b70ef05b601805902d36d  libobjc/README.threads
  5f43a1e6c71bc1280356588a4137977d  libobjc/THREADS
  04172dc01230eaa2ce321d62de8c5739  libobjc/THREADS.MACH
  699379f016a7be9f58ad8d4833725d66  libobjc/acinclude.m4
! d949e6f76eadc6425feb10d6bbfa5512  libobjc/aclocal.m4
! 3598800373e37a35c5ef72090f08700f  libobjc/archive.c
! a2d0a2cb6330c5ab046d41aa5cddaec9  libobjc/class.c
! 59ab7e6b11aed06943a67b6aa18d26eb  libobjc/config.h.in
! 3f31a491ab0603aaf5ad3deecabce01f  libobjc/configure
! 72ed727583fb4bfdfbc4e9772acb5096  libobjc/configure.ac
! eff54df7305ee13db7d8c4408d1d0cea  libobjc/encoding.c
! 501172917391a0a4dbbbbc24f5c86338  libobjc/exception.c
! dc0f182279a68a1c96c84513c5539020  libobjc/gc.c
! 443e0f51e4234f65f9c053e1c069809d  libobjc/hash.c
! 91cb1b1265d50d6846f90677f199dc31  libobjc/hash_compat.c
! f24efa2fd5250907dea44d94f84a70ff  libobjc/init.c
! b89bed97ac83b311682d33cdbb3b264c  libobjc/libobjc.def
! 0920835505f8fb0059bf64da0ac3b5d3  libobjc/libobjc_entry.c
! 2ee0ad2e597b5139e7540846e1bcf5a7  libobjc/linking.m
! 32591f2f2426807ebd929112339fc415  libobjc/makefile.dos
! 465941444484732053196c2ee0a53f8d  libobjc/misc.c
! 6f0c2aa2fb9d8b286d79cf85f05edea0  libobjc/nil_method.c
! 0c2a34678090093c801b898172eb484c  libobjc/objc/NXConstStr.h
! 90e0c2deb393e7ca61d6492d419b895c  libobjc/objc/Object.h
! 91ab26bbac7d284c7ce478b776e4c84e  libobjc/objc/Protocol.h
! 6635e7ff8386b7c2c9a97594ad4b091d  libobjc/objc/encoding.h
! c1ff083fd3396f3644a58a5c2e712e9e  libobjc/objc/hash.h
! c66dd318f0e49c408801fbf834680e3b  libobjc/objc/objc-api.h
! c7d0efdd99197bebee159d315f2671ca  libobjc/objc/objc-decls.h
! 78b257002549800aa3bfd0889fcb19b7  libobjc/objc/objc-list.h
! b264e9271db862a5b3092d194ccc8c7b  libobjc/objc/objc.h
! fb6f645c968daffebacfa17b376103a4  libobjc/objc/runtime.h
! 61e765a5af1d80618605dbb76d4a28bf  libobjc/objc/sarray.h
! ec113c9208369cd3f6d3f99b51a69470  libobjc/objc/thr.h
! 52024d61a674d6e143ad0f09ffa7933f  libobjc/objc/typedstream.h
! e783ac62e749500d23f0e9cfdb4641e5  libobjc/objects.c
! 2ba2a81a6b56c077d16e14c5739e2ed9  libobjc/sarray.c
! 2dd872e1aa34f9eda1155a06808a06f2  libobjc/selector.c
! 936b85b860287a434a8b714e505bdc26  libobjc/sendmsg.c
! e2ff9d01d9f1cfa0b875ce081de1c691  libobjc/thr-dce.c
! e2ff9d01d9f1cfa0b875ce081de1c691  libobjc/thr-decosf1.c
! 9fe6d51233d7e4f8622ab7189bb970ce  libobjc/thr-irix.c
! 27c9f493b5d949850335da1efa9e1335  libobjc/thr-mach.c
! 8c139a4f54ba9fdaa09715caeeb6aa23  libobjc/thr-objc.c
! cd0cfe67afa625f8f0e818c7499a7b25  libobjc/thr-os2.c
! 7f2482ac15012de9268b36050e48971f  libobjc/thr-posix.c
! c908e776662db2f2b5ebfafbfbe7b672  libobjc/thr-pthreads.c
! 01b7a3fdf418543a74f29111f7c31e2f  libobjc/thr-rtems.c
! dc40c43e3b37ec7b0fc4a64a75a54c87  libobjc/thr-single.c
! 95d9c99ff185dc39a81c6d4521741823  libobjc/thr-solaris.c
! dc40c43e3b37ec7b0fc4a64a75a54c87  libobjc/thr-vxworks.c
! 1e0b955d26e11a355d21cad4f2007898  libobjc/thr-win32.c
! 5314fd1def4a84ee5c5c93c8a9a1a8ba  libobjc/thr.c
! 303c571bf8c204d003ab763c28b73600  libssp/ChangeLog
! 0feba99ecb64ee1476bce73aac7e5e1f  libssp/Makefile.am
! 79d10dd6218b7986dee0283d91c1959f  libssp/Makefile.in
! ecd168ad8773b20aedf1fc1d71d25701  libssp/aclocal.m4
! 5c83a817966cd519e85c7716ddf62aeb  libssp/config.h.in
! 56857fa43c3c596cc648a667252fa5e0  libssp/configure
! c102dbbadd019e4f346c49ab6036a185  libssp/configure.ac
! 456e7303587b50b3605893b03a726ab7  libssp/gets-chk.c
! 0ac32b60459d1fdec670990324d7bdc6  libssp/libtool-version
! 7f05cab73fa6dbabd22c2d35bb01dfdc  libssp/memcpy-chk.c
! 5075ae52780951723f7f88086f686b07  libssp/memmove-chk.c
! cf36af429bfa22cea101741af1572938  libssp/mempcpy-chk.c
! 75e46a6fe019ee8cb454a32b208bbdd6  libssp/memset-chk.c
! fbffa13ad639366e415790736d09e524  libssp/snprintf-chk.c
! b4fe54e1470f8d1ead65eb7d711634b4  libssp/sprintf-chk.c
! 30fe18fe58673ceff5d7a1908f19a9bf  libssp/ssp-local.c
! 58399dbab454a14753e41515f7276028  libssp/ssp.c
! c9466abd7fdc0983cd02ea090d784046  libssp/ssp.map
! 7209d6cb7c59442dc7f1503619715944  libssp/ssp/ssp.h.in
! bc8ced1483bd23ebeb0d012d392eacd1  libssp/ssp/stdio.h
! 435d9219a886db74effce0915ab47570  libssp/ssp/string.h
! eedcb30bb5e1189173c5a377cae8e014  libssp/ssp/unistd.h
! 4478d869ee26983019698c99786ada99  libssp/stpcpy-chk.c
! 397bc9c39d6ee4d1ec4051667b8aa915  libssp/strcat-chk.c
! 0c2e4f5199176eebec763901abe8e7fc  libssp/strcpy-chk.c
! 50852d34ba8596685fdb6f7c549cf5c5  libssp/strncat-chk.c
! 062bfaca10505a776cb397b9ad6418b5  libssp/strncpy-chk.c
! 5b568b3f83a33ce26abd2184b4f49f87  libssp/vsnprintf-chk.c
! 7dbcd73efdcd7e29635d58af69cbd48d  libssp/vsprintf-chk.c
! 886ef8a0327077a8d9ed0d19bdf48d2e  libstdc++-v3/ChangeLog
! 0cda0576312959181333fb6113d11fca  libstdc++-v3/ChangeLog-1998
! c1b0e4b61db61eeb710dcf9bb925f9eb  libstdc++-v3/ChangeLog-1999
! 7b42e2258fc86c55d4a1196c3073f514  libstdc++-v3/ChangeLog-2000
  c8785b12d58c99355a04453d38ca1f7c  libstdc++-v3/ChangeLog-2001
  a26d9a931f6b718d74468499f816cf2d  libstdc++-v3/ChangeLog-2002
  a662434a55aced1e46a58ddfaf8410c4  libstdc++-v3/ChangeLog-2003
  1ccdc0ec99a50bb586cb4279c137a6bf  libstdc++-v3/ChangeLog-2004
! 7a908db4e94a5be5c13d095a1b19d7de  libstdc++-v3/Makefile.am
! 4487026b63b2214c1f5b5b1652b33e56  libstdc++-v3/Makefile.in
  70aebba2e3a9ac130e2e1c0413fa44ea  libstdc++-v3/README
! 72343ed00872776a4bfcacd185dca8d7  libstdc++-v3/acinclude.m4
! 96913fccbfa23bc694e395fc8d2a06ff  libstdc++-v3/aclocal.m4
! 97611d40f427eb10c233f2dc1d22b5fb  libstdc++-v3/config.h.in
  26cfcac76d7eae2d78f365b85f11b083  libstdc++-v3/config/abi/alpha-linux-gnu/baseline_symbols.txt
! 959e2dffb738c609ebec4c922eb8931c  libstdc++-v3/config/abi/compatibility.h
  7ee48c26c8494dba539e8b2c60ae3a07  libstdc++-v3/config/abi/hppa-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/i386-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/i486-linux-gnu/baseline_symbols.txt
*************** eef8eda2abdac189bd904036488ffb75  libstd
*** 24146,24295 ****
  7ee48c26c8494dba539e8b2c60ae3a07  libstdc++-v3/config/abi/sparc-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/x86_64-linux-gnu/32/baseline_symbols.txt
  90ac5e3fd2fe44724c9f2cc43527ca97  libstdc++-v3/config/abi/x86_64-linux-gnu/baseline_symbols.txt
! 63b6cc38e90aa8fee89689296ce68aab  libstdc++-v3/config/allocator/bitmap_allocator_base.h
! e3700f87bcf3b03137ef69961705fb47  libstdc++-v3/config/allocator/malloc_allocator_base.h
! 5be227a48caa626b0e0a383b79d5ec85  libstdc++-v3/config/allocator/mt_allocator_base.h
! 4377bf0b9e3ce973c0d40c7ab5fd9a82  libstdc++-v3/config/allocator/new_allocator_base.h
! 3859d7227276e356bbe6396721f1a89e  libstdc++-v3/config/allocator/pool_allocator_base.h
! 281f43987cf4a1fdd86c368cc81c8228  libstdc++-v3/config/cpu/alpha/atomic_word.h
! 6a029dea1f75c4fe44b0cf71ba59f4b4  libstdc++-v3/config/cpu/alpha/atomicity.h
! 713106a2994dc29b73c723f7df537973  libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
! 9e5599fd7a4901d23a621ff7f2d32e0c  libstdc++-v3/config/cpu/cris/atomic_word.h
! a33843d4e6db12e924d7a9fd6fab190a  libstdc++-v3/config/cpu/cris/atomicity.h
! 1a3ff3cbd4ca48d3cc6b11eaf2cc3058  libstdc++-v3/config/cpu/generic/atomic_word.h
! 03e8194bb51256189665efd51ec64383  libstdc++-v3/config/cpu/generic/atomicity.h
! a4675b90521e897a7b15874389e405d5  libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
! 53bf7f6a39d5a35637382d30b05e3c55  libstdc++-v3/config/cpu/hppa/atomicity.h
! d570015ef9950d1f0423b7e82a39d7ac  libstdc++-v3/config/cpu/i386/atomicity.h
! 1a8f22502a4f9ed7c03cbacceb6e0307  libstdc++-v3/config/cpu/i486/atomicity.h
! df3d70ae4c46766eeb30c1d451b84b40  libstdc++-v3/config/cpu/ia64/atomic_word.h
! 4a2640334430a851decc7bf212d5dd94  libstdc++-v3/config/cpu/ia64/atomicity.h
! 7d588ff47ba435d877dd51d7599ea0b6  libstdc++-v3/config/cpu/m68k/atomicity.h
! 47d64d6436a81dae1c677c0784d8ce07  libstdc++-v3/config/cpu/mips/atomicity.h
! f9f21d6b5ec7fffa4f9939486ed7bd35  libstdc++-v3/config/cpu/powerpc/atomic_word.h
! 4eed39af8243f6295f364e00b1c83055  libstdc++-v3/config/cpu/powerpc/atomicity.h
! f983244226fabfad7f93b87e257f823f  libstdc++-v3/config/cpu/s390/atomicity.h
! 1a3255a085a37460ca01d2bed3d99424  libstdc++-v3/config/cpu/sh/atomicity.h
! a024b60c156f806fe267b012b0ad90ba  libstdc++-v3/config/cpu/sparc/atomic_word.h
! 0f11660ae152e168d48e2b61c8772fc2  libstdc++-v3/config/cpu/sparc/atomicity.h
! 1f6ba37c49bc67798fc823c87a7d6fc4  libstdc++-v3/config/io/basic_file_stdio.cc
! 941637922b9dfef9858d9d54a8234571  libstdc++-v3/config/io/basic_file_stdio.h
! 3739ebcb6a11cbc27e5f61d0fc56163e  libstdc++-v3/config/io/c_io_stdio.h
  5c97d0529432c17d5922b81bdd0459a7  libstdc++-v3/config/linker-map.dummy
! ce8942a38db8d2468b5c17719cffc0a4  libstdc++-v3/config/linker-map.gnu
! 0a5b73d99a61ba6920e504847053e67c  libstdc++-v3/config/locale/darwin/ctype_members.cc
! fbfcd7296794df400b950cc5efc33752  libstdc++-v3/config/locale/generic/c++locale_internal.h
! c277631214cf7604257079fb9e223884  libstdc++-v3/config/locale/generic/c_locale.cc
! 84073cc9b0daf29e48d25158827ae5c4  libstdc++-v3/config/locale/generic/c_locale.h
! 32e3e10f494f535508ef8e3d757138b6  libstdc++-v3/config/locale/generic/codecvt_members.cc
! 727b9fcf68a17ffe5ff2e0ad20e4fa8f  libstdc++-v3/config/locale/generic/collate_members.cc
! 075ddee859d5b0f993d7d02484da30e7  libstdc++-v3/config/locale/generic/ctype_members.cc
! 1686f361c89363815ed02b11a6273c1a  libstdc++-v3/config/locale/generic/messages_members.cc
! 46acd0b4d217b4c1af1e2fb86ee61bfb  libstdc++-v3/config/locale/generic/messages_members.h
! 0f0a565e315825c0a2c9d4ec4af7fc75  libstdc++-v3/config/locale/generic/monetary_members.cc
! 6db3c82e8b2b05a61e4c90852f0a9633  libstdc++-v3/config/locale/generic/numeric_members.cc
! f5fd68cbeafe0d33114ca3fb403e175a  libstdc++-v3/config/locale/generic/time_members.cc
! 95d51db4eef64acb4e9bc842a60a30a0  libstdc++-v3/config/locale/generic/time_members.h
! 7f40c212e3a8017c68328117ee57153f  libstdc++-v3/config/locale/gnu/c++locale_internal.h
! 9377a4e3a4d75ed1e3319a5c3000ebb0  libstdc++-v3/config/locale/gnu/c_locale.cc
! 9bff8a25915bdf1d9052996f1334b572  libstdc++-v3/config/locale/gnu/c_locale.h
! e920c473e7a51b284cd9b5d1874b1ea3  libstdc++-v3/config/locale/gnu/codecvt_members.cc
! b68a9605ebdd03bdce9e35a843348a48  libstdc++-v3/config/locale/gnu/collate_members.cc
! c9ece65d69e33719733184c0dcb3342d  libstdc++-v3/config/locale/gnu/ctype_members.cc
! 584412fbfd135180f4db8c7f744da5b6  libstdc++-v3/config/locale/gnu/messages_members.cc
! 16a9f1257794e447fa392da64451d680  libstdc++-v3/config/locale/gnu/messages_members.h
! 476aef540580b57b6361e94db760104b  libstdc++-v3/config/locale/gnu/monetary_members.cc
! cf3de21f9a5f1f52e97cb73f5cb7282f  libstdc++-v3/config/locale/gnu/numeric_members.cc
! 370abedffecda214b2d5f74a6c5b3946  libstdc++-v3/config/locale/gnu/time_members.cc
! 3af3f7276a186692b08ed7b10e11025c  libstdc++-v3/config/locale/gnu/time_members.h
! bbcbb79fa7d06acbb7bb4b7dc5789c21  libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
! 312d1d5701b8f61124e172c878d6af17  libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
! 771fd2214d6b4615e35601d92a2e0fab  libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
! 925a1a995e90a7c35e3999cbf6e327e7  libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
! be1d3504911ea3c8a32f097bacf6683e  libstdc++-v3/config/os/aix/atomic_word.h
! 3af23659a88f53128444ed7a3080a2a9  libstdc++-v3/config/os/aix/atomicity.h
! c79d8b118d5d68c1c292355c8b474c7b  libstdc++-v3/config/os/aix/ctype_base.h
! cb993110a0287979b88c8706174917a8  libstdc++-v3/config/os/aix/ctype_inline.h
! b2d105d412aa61a1ee1c76102f03d82a  libstdc++-v3/config/os/aix/ctype_noninline.h
! aa2fe0436d50cf330f54e7e6b257f6ca  libstdc++-v3/config/os/aix/os_defines.h
! e1966813e523d11302c3d36632728193  libstdc++-v3/config/os/bsd/darwin/ctype_base.h
! 52e48241f7b6c1d566bf82483077b254  libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
! cf64f0552d0159ec858864537c7c2d87  libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h
! ba7123ce8e451ea65913e01c3a00aeae  libstdc++-v3/config/os/bsd/darwin/os_defines.h
! 5e2015131ebacb8ca7fd091c0fe0bad3  libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
! e522fa942c293ff31d95613ce54d9c10  libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
! cf64f0552d0159ec858864537c7c2d87  libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h
! ce249e135582507220513d2d399bcaa7  libstdc++-v3/config/os/bsd/freebsd/os_defines.h
! 68905538c05a163dddb776779db817b5  libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
! 78f5d305ab119ccfbd596873841033f0  libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
! ee7c63fe486daac3236cc9d9aef8c6e0  libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
! 0fa380f3ae5e9f5a0df88b2408a6f92f  libstdc++-v3/config/os/bsd/netbsd/os_defines.h
! b812835420aa7eaadd0244e6fe7e772e  libstdc++-v3/config/os/djgpp/ctype_base.h
! 7f6d7fd21be78b04f5f9e4c59a6df10f  libstdc++-v3/config/os/djgpp/ctype_inline.h
! 78e377c319931d1c9819c88241223058  libstdc++-v3/config/os/djgpp/ctype_noninline.h
! 73269d93f7cebd670326e3ee4089ad9e  libstdc++-v3/config/os/djgpp/os_defines.h
! 10db7ab859d054b7bdaf9312a6cb16d2  libstdc++-v3/config/os/generic/ctype_base.h
! 06689013932adc35167d236ec0eddc1f  libstdc++-v3/config/os/generic/ctype_inline.h
! 89f0558615b21bd50d8809f1fd8d2654  libstdc++-v3/config/os/generic/ctype_noninline.h
! 3c527d3143088b2b29894a814347e66c  libstdc++-v3/config/os/generic/os_defines.h
! d0aa01e2def93e7b5057f4c5b81fef1a  libstdc++-v3/config/os/gnu-linux/ctype_base.h
! 1a393c2f844aeb8d37c5b3389db786b2  libstdc++-v3/config/os/gnu-linux/ctype_inline.h
! c21054f9fb86df1c0a6b2946aa77eca2  libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
! 7b0b07a7f90bd4352eaf342e8fffb5fa  libstdc++-v3/config/os/gnu-linux/os_defines.h
! 34fb9f53bad2fb955caa2ae5e19f717a  libstdc++-v3/config/os/hpux/ctype_base.h
! 1a393c2f844aeb8d37c5b3389db786b2  libstdc++-v3/config/os/hpux/ctype_inline.h
! 45e8c6ee8cfed5c58032b7f65524c3b7  libstdc++-v3/config/os/hpux/ctype_noninline.h
! 15fbccd6ab265f07ab829e95772db5b7  libstdc++-v3/config/os/hpux/os_defines.h
! 579271461306746ba8ca749a20e2976e  libstdc++-v3/config/os/irix/atomic_word.h
! ee17d82bcee915be6103749dc7b00de3  libstdc++-v3/config/os/irix/atomicity.h
! 2bde9773456e96bed15eea00b23aed70  libstdc++-v3/config/os/irix/irix5.2/ctype_base.h
! 9332d7782857613ec19babfe02e353b8  libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h
! 5381ae1f5cae538e66569a031710e15b  libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h
! 2ff0a07aa7a65f0c5efdb689d57cd5df  libstdc++-v3/config/os/irix/irix5.2/os_defines.h
! 45de26fcceb9e9ec70d1811fce5d049d  libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
! c45d2e3298fa0793043193af2106567d  libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
! 09b91b2943a2e6147d0ebc8f10d21f1b  libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h
! 9e1e22223622358f7ae2284815cb9435  libstdc++-v3/config/os/irix/irix6.5/os_defines.h
! 551f4dab40480382c53bcadaf36cf4a0  libstdc++-v3/config/os/mingw32/ctype_base.h
! c728dd387cd8d068e8dff9cd017d728a  libstdc++-v3/config/os/mingw32/ctype_inline.h
! 6abbbe23df0ac13c14e7d69dd1605310  libstdc++-v3/config/os/mingw32/ctype_noninline.h
! a28ad3bec50213740d08c4802bea2d54  libstdc++-v3/config/os/mingw32/os_defines.h
! d39312fa03db4e0eb16804483ce01a09  libstdc++-v3/config/os/newlib/ctype_base.h
! 3e560e7b257d256f4123a219cb54f5d1  libstdc++-v3/config/os/newlib/ctype_inline.h
! 00c718260338045da7190abd9dc8f97c  libstdc++-v3/config/os/newlib/ctype_noninline.h
! c230db5f1dc6fe6c7c19a88dca06ed6e  libstdc++-v3/config/os/newlib/os_defines.h
! ba22c32b30db32c977ae44fea5ecb9d9  libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
! 633fb0b72cc9150e2443d82124e1bf7b  libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
! 62e7ca911520e66a9ed46af14b488607  libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h
! f983b7e2efd81195a2098d165b8701dd  libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
! 7be273801690e50bcd8997697456caaa  libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h
! 1e8b0547d4a7ca826740b63d4b816fe1  libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h
! 7cce820cbdff0306a803f913ff207b59  libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h
! 3680c993a37e332f0fa13e6736123f8d  libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h
! e82536df671a73762e092690fc1a6747  libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h
! 3ee9b4682a39584042741c5b332e50ed  libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h
! e5ba78b14af2e64889d8d1d21f12d188  libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h
! 60a513a0751a529a6e4c633555384760  libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h
! 6f09d7daa78020743f15d03916186cc9  libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
! 1a393c2f844aeb8d37c5b3389db786b2  libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
! 720d5c893008f42b69ded0ad47ddc24c  libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h
! e0fb7417e9a5ea7b0b76c3f2e943d00f  libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h
! 4ccfb125c4395539a99ea87691fd659c  libstdc++-v3/config/os/tpf/ctype_base.h
! 9a9bb1e6fbec91cc9ba2ae14417e8ca8  libstdc++-v3/config/os/tpf/ctype_inline.h
! 08fcd9e099965bace21f53facdea815f  libstdc++-v3/config/os/tpf/ctype_noninline.h
! 39603e0b80dbaeb60961a2a2b78b71b0  libstdc++-v3/config/os/tpf/os_defines.h
! bb1989398bad39c0a3163743bf5f8221  libstdc++-v3/config/os/vxworks/ctype_base.h
! ec1c6f396b394fcd3abb4a58c5b427a7  libstdc++-v3/config/os/vxworks/ctype_inline.h
! cf5b19ca68324c61c1d764f55aafe57a  libstdc++-v3/config/os/vxworks/ctype_noninline.h
! 5f231061a1d09f180bafe83ffd4b537a  libstdc++-v3/config/os/vxworks/os_defines.h
! 1565e4322ad6e6de1dafb9c3cf9637b7  libstdc++-v3/config/os/windiss/ctype_base.h
! 992909cbcc0be849d9572526cb1e95ba  libstdc++-v3/config/os/windiss/ctype_inline.h
! e9fe2fdbd51265ee1cccae63f5501e8b  libstdc++-v3/config/os/windiss/ctype_noninline.h
! 8878527d3634600f2e4df7b67860ce0f  libstdc++-v3/config/os/windiss/os_defines.h
! 79965d4cae61b1a6c5ff958fbdf36209  libstdc++-v3/configure
! 1e5f3f707d1bfbc2b831e25836b8ab13  libstdc++-v3/configure.ac
! 96f94dc22d923a450a345cfb070c3cf8  libstdc++-v3/configure.host
! 2a351ef20b76ceeb08d55a13d69fe57e  libstdc++-v3/crossconfig.m4
  aa2618b72e9e6b60c247861d940e095e  libstdc++-v3/docs/doxygen/Intro.3
  d8c25a7f2e3cc9c9843f69e291490c01  libstdc++-v3/docs/doxygen/TODO
  befdc00614bb944b16d1a5ad413afdb3  libstdc++-v3/docs/doxygen/doxygroups.cc
--- 27011,27163 ----
  7ee48c26c8494dba539e8b2c60ae3a07  libstdc++-v3/config/abi/sparc-linux-gnu/baseline_symbols.txt
  92918d9562a9cfbda8b8f5c34030b0e8  libstdc++-v3/config/abi/x86_64-linux-gnu/32/baseline_symbols.txt
  90ac5e3fd2fe44724c9f2cc43527ca97  libstdc++-v3/config/abi/x86_64-linux-gnu/baseline_symbols.txt
! d8ba7ff334568318962e423a1781152d  libstdc++-v3/config/allocator/bitmap_allocator_base.h
! 8e87789402c37b2534e6b6f40746fb79  libstdc++-v3/config/allocator/malloc_allocator_base.h
! db851f5f78a1f06dbcbd90fd3c4f1d90  libstdc++-v3/config/allocator/mt_allocator_base.h
! cc0d1f63262702ed63c71ab7a677fe36  libstdc++-v3/config/allocator/new_allocator_base.h
! b18eb01282e46b4cb271422fcec1219d  libstdc++-v3/config/allocator/pool_allocator_base.h
! 07dd2a78589ba1f2728412619d32fb32  libstdc++-v3/config/cpu/alpha/atomic_word.h
! a6a0b78aaa5ca62051610bab469be0e4  libstdc++-v3/config/cpu/alpha/atomicity.h
! 77731a4b235f3d89f8b5dce021ff61da  libstdc++-v3/config/cpu/arm/cxxabi_tweaks.h
! 015762cd59997274aad1f384c1559cce  libstdc++-v3/config/cpu/cris/atomic_word.h
! 0614ee948718c1bfac10f6f46bf8d96b  libstdc++-v3/config/cpu/cris/atomicity.h
! 619dfb67a8e7faeb5dedfa8c1ef7ab5f  libstdc++-v3/config/cpu/generic/atomic_word.h
! 1a886f313a989da0fbc76bdab8b55bcd  libstdc++-v3/config/cpu/generic/atomicity.h
! 202dc3c41a8e12b2947f776ec6e38ce0  libstdc++-v3/config/cpu/generic/cpu_defines.h
! a25edee1a7e73eef5b21b385e483f35a  libstdc++-v3/config/cpu/generic/cxxabi_tweaks.h
! 13962f16f1d7fb878f5be2eec1913191  libstdc++-v3/config/cpu/hppa/atomicity.h
! ca2f789473cde4c2939ab79da8632c73  libstdc++-v3/config/cpu/i386/atomicity.h
! 4518922a79b7afbd7d7d93c1c9f63aff  libstdc++-v3/config/cpu/i486/atomicity.h
! 84055007ce60a08d16a018c0046397c1  libstdc++-v3/config/cpu/ia64/atomic_word.h
! 4660373603b1ce3595e390af35462e5c  libstdc++-v3/config/cpu/ia64/atomicity.h
! b7466a970e97a3dd13fe179f87e1d3ca  libstdc++-v3/config/cpu/m68k/atomicity.h
! 575c1e9362862ae551e2ccd2fdf70dcf  libstdc++-v3/config/cpu/mips/atomicity.h
! e5c37bf271e88f0e1ce2c4e24e2a9593  libstdc++-v3/config/cpu/powerpc/atomic_word.h
! 336193239b0e24eb8aea16e7d8e9f4cb  libstdc++-v3/config/cpu/powerpc/atomicity.h
! 25dcce3f7637e9d6346925a3fbd097ff  libstdc++-v3/config/cpu/powerpc/cpu_defines.h
! 70089c5180d3c32d684c06d75fbff6dc  libstdc++-v3/config/cpu/s390/atomicity.h
! fb902ef4278c622b1f299f6eb50885f4  libstdc++-v3/config/cpu/sh/atomicity.h
! beb1b79de6daa8fc96aa36b86b472399  libstdc++-v3/config/cpu/sparc/atomic_word.h
! eb0c8d65a76ecbccb1e23553eab50e90  libstdc++-v3/config/cpu/sparc/atomicity.h
! 8f0d0601943b4169ea7c9a8befd5a616  libstdc++-v3/config/io/basic_file_stdio.cc
! e5531ac63bfe13111d69665ea5f8bc1d  libstdc++-v3/config/io/basic_file_stdio.h
! 31c99d7d3559917a462158cbeab1b344  libstdc++-v3/config/io/c_io_stdio.h
  5c97d0529432c17d5922b81bdd0459a7  libstdc++-v3/config/linker-map.dummy
! 38a6484aaa6e2bea1e22b4a94ddc719d  libstdc++-v3/config/linker-map.gnu
! 1c2e32acfc86d63c07e08269227367a4  libstdc++-v3/config/locale/darwin/ctype_members.cc
! d32499dd25904175ecc862a6d291dfe4  libstdc++-v3/config/locale/generic/c++locale_internal.h
! 4397a3551ff330c84d770aa5777f31d4  libstdc++-v3/config/locale/generic/c_locale.cc
! 59ed6f62484ca9e42a6f523a5db55002  libstdc++-v3/config/locale/generic/c_locale.h
! 018d90c4129fbc23ded7ac6f1b114fc6  libstdc++-v3/config/locale/generic/codecvt_members.cc
! 34c2cd8dce12b786be17aaa9ae5d39ca  libstdc++-v3/config/locale/generic/collate_members.cc
! d256b5ba2144f8a883a9d5a9c5f99882  libstdc++-v3/config/locale/generic/ctype_members.cc
! 7f2fae66fa57fc53a1fdd6fc96552d3d  libstdc++-v3/config/locale/generic/messages_members.cc
! 68ad583471c9522eefc8673a5ac971a5  libstdc++-v3/config/locale/generic/messages_members.h
! a84dcd52d0389cb9e99a92f8b70682ba  libstdc++-v3/config/locale/generic/monetary_members.cc
! 7125e73e3a6a36ffd7e53577b3b03703  libstdc++-v3/config/locale/generic/numeric_members.cc
! 0aed265b85f6618f326fcff909029d85  libstdc++-v3/config/locale/generic/time_members.cc
! 79142abaa337b5d91d3db23bd66142a1  libstdc++-v3/config/locale/generic/time_members.h
! ac7017f67ce96ea226b43252afda4728  libstdc++-v3/config/locale/gnu/c++locale_internal.h
! 6a0b4a1afb2c70ef89f78a8d1fbe4b31  libstdc++-v3/config/locale/gnu/c_locale.cc
! f3ce604c218221c59d3fb0c56562a2e5  libstdc++-v3/config/locale/gnu/c_locale.h
! cb8ba560a662c33267e6ce15f0517956  libstdc++-v3/config/locale/gnu/codecvt_members.cc
! 5b28d882d98c51af6a4ba30dbfac615d  libstdc++-v3/config/locale/gnu/collate_members.cc
! d512d8f2bfac4d99809a4e0d24c1d45e  libstdc++-v3/config/locale/gnu/ctype_members.cc
! cfec193c24225f8e1983bc3be9ed1111  libstdc++-v3/config/locale/gnu/messages_members.cc
! 1fc7fadb48f26a2ad74899f4dc728803  libstdc++-v3/config/locale/gnu/messages_members.h
! 8982e8b9d503884450ef289bc46af195  libstdc++-v3/config/locale/gnu/monetary_members.cc
! 3a16d39f98e84eafcdb8d211d58373ec  libstdc++-v3/config/locale/gnu/numeric_members.cc
! 341920088949fbad3ade984dec5a5e05  libstdc++-v3/config/locale/gnu/time_members.cc
! 8a5485cc41451cafc3ab4ff9d7ca8213  libstdc++-v3/config/locale/gnu/time_members.h
! bdd5eb053851bab5f6ec34ddb9339720  libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.cc
! cf79b73db5b774b74b12f617ee65e0f0  libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h
! a67412917a252e123ede2edacea48cc9  libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.cc
! fcb0ce4ff29756dce461f3b7b6ae13b8  libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h
! d0c8048c2319f352ac66e196a4c2024a  libstdc++-v3/config/os/aix/atomic_word.h
! 41c8c6cc599a8e02554b2fb791af876f  libstdc++-v3/config/os/aix/atomicity.h
! ca0da3e75b3f60c0a752615787fbff00  libstdc++-v3/config/os/aix/ctype_base.h
! 160beade5b1c170b179399a77a386c35  libstdc++-v3/config/os/aix/ctype_inline.h
! 264387e8e6825a832b2d618216d7965d  libstdc++-v3/config/os/aix/ctype_noninline.h
! b131aec609dad0966d77e9ac051ac864  libstdc++-v3/config/os/aix/os_defines.h
! 1960f4022e121d9151bcaaf9180e2398  libstdc++-v3/config/os/bsd/darwin/ctype_base.h
! 4c2601e77a062648f880cc10ec60cdf0  libstdc++-v3/config/os/bsd/darwin/ctype_inline.h
! f7aaeee342e506e7bb218490edaf6051  libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h
! 2a424ed659f02c90f351f77eb9215dbd  libstdc++-v3/config/os/bsd/darwin/os_defines.h
! 96acc6c320b15094b860bd727d99a90f  libstdc++-v3/config/os/bsd/darwin/ppc-extra.ver
! 883691e874cfd9276c55b413a02a72f7  libstdc++-v3/config/os/bsd/freebsd/ctype_base.h
! 8ccc8462dc223cb8c2b378e05c456d6c  libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h
! f7aaeee342e506e7bb218490edaf6051  libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h
! 8f87501388d666bc945106d3d7669081  libstdc++-v3/config/os/bsd/freebsd/os_defines.h
! 6f1a59b981fddfb68124259abed287a7  libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
! 37c807e2addda73c80fb8fb2e6eafb45  libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
! 09c383278de7b672762c81c9ebec8c94  libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
! 16b7bc78b59e211b686a9ad76d053192  libstdc++-v3/config/os/bsd/netbsd/os_defines.h
! 432feaad414a6a34a82c6985dbb81c19  libstdc++-v3/config/os/djgpp/ctype_base.h
! d476687f297991f2c6aed39a7ba99dea  libstdc++-v3/config/os/djgpp/ctype_inline.h
! ff9e9767d0a3ed118b50f8582823047a  libstdc++-v3/config/os/djgpp/ctype_noninline.h
! 9dab21433cb28c2bc4d8e4f473aa23d5  libstdc++-v3/config/os/djgpp/os_defines.h
! d0c620ac0cf29e599519cf4e3d71aeaa  libstdc++-v3/config/os/generic/ctype_base.h
! e75ffd356b6692ea0e365af0cb532c06  libstdc++-v3/config/os/generic/ctype_inline.h
! 4d9781da3da4542438ca698440827dd3  libstdc++-v3/config/os/generic/ctype_noninline.h
! 77da08705561ada72e3307b7b494acef  libstdc++-v3/config/os/generic/os_defines.h
! 0480eeab866d45fb5d9c2ebcddc11d12  libstdc++-v3/config/os/gnu-linux/ctype_base.h
! 1e28252efa19b70fc0a628caa0f6b137  libstdc++-v3/config/os/gnu-linux/ctype_inline.h
! 211510a76389736ea5c73b61a0ac1a3b  libstdc++-v3/config/os/gnu-linux/ctype_noninline.h
! f40524fbbb0a76279446fae4c10fd644  libstdc++-v3/config/os/gnu-linux/os_defines.h
! 2ee30dbaedc3119fb0b6b6704f3139a7  libstdc++-v3/config/os/hpux/ctype_base.h
! 1e28252efa19b70fc0a628caa0f6b137  libstdc++-v3/config/os/hpux/ctype_inline.h
! f0fe9d4647664f10e31d1f2fc26e1677  libstdc++-v3/config/os/hpux/ctype_noninline.h
! 1ef005e3fe6bca0a6976084ae5668ec8  libstdc++-v3/config/os/hpux/os_defines.h
! 67356144e9002e149659ff86d3fb66f1  libstdc++-v3/config/os/irix/atomic_word.h
! 0bee6792e9316146e43202696c2b46fd  libstdc++-v3/config/os/irix/atomicity.h
! 7475ffe23a6c10ecd20c021b82993d40  libstdc++-v3/config/os/irix/irix5.2/ctype_base.h
! a03112fdeffdae59dec0f5180e4a598e  libstdc++-v3/config/os/irix/irix5.2/ctype_inline.h
! 2d2f9446646ccfcd7fc5b0af12bcf05e  libstdc++-v3/config/os/irix/irix5.2/ctype_noninline.h
! 694e46159ce1934d0eb0edc103dafc10  libstdc++-v3/config/os/irix/irix5.2/os_defines.h
! f01de1234671798674162d9ac2ab2990  libstdc++-v3/config/os/irix/irix6.5/ctype_base.h
! ea6c077877c7c5794f8ca4193ccb304e  libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h
! 09eab5bfa5f41e233ee88dd2a045cac2  libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h
! ffdf8d6699467e5d9df01c411dc677fb  libstdc++-v3/config/os/irix/irix6.5/os_defines.h
! 59d5fc1c379fd7b1e712921b12b5c928  libstdc++-v3/config/os/mingw32/ctype_base.h
! a3dd03069e6c4df85b06b17efded66f7  libstdc++-v3/config/os/mingw32/ctype_inline.h
! a21d31babf8bb53915fc0734edb3b9b1  libstdc++-v3/config/os/mingw32/ctype_noninline.h
! 914a233eee0f0a76977e1a2cda6f72b5  libstdc++-v3/config/os/mingw32/os_defines.h
! 7eccc730f33333e249154adaba37afa4  libstdc++-v3/config/os/newlib/ctype_base.h
! a7557c2f4bc0d220cb9b2311f1950a22  libstdc++-v3/config/os/newlib/ctype_inline.h
! c3f45f2478473e12badbcc1a6fb56feb  libstdc++-v3/config/os/newlib/ctype_noninline.h
! fe57b85517d57daa409217dbd3a8a2dd  libstdc++-v3/config/os/newlib/os_defines.h
! e09bf53ccedf570b9f516521c9c2a43e  libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h
! 55a09a92cbbfd13d83089431ccaf00a1  libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h
! 7c90b9ef125485816313b6c88c8eec66  libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h
! 532e247bc379012f914d3b2e6c6a3a74  libstdc++-v3/config/os/qnx/qnx6.1/os_defines.h
! 98fa6d92e5179eb16cc9b65c9a292612  libstdc++-v3/config/os/solaris/solaris2.5/ctype_base.h
! 49a1165f6fb4461627f3c0e8ade37bc3  libstdc++-v3/config/os/solaris/solaris2.5/ctype_inline.h
! 5289e31748628e88187e1b8ebfb8474c  libstdc++-v3/config/os/solaris/solaris2.5/ctype_noninline.h
! 23a02cada210b3654086d3a7d0daa452  libstdc++-v3/config/os/solaris/solaris2.5/os_defines.h
! 5e7a5c09c83a8bb81e316b070dd88602  libstdc++-v3/config/os/solaris/solaris2.6/ctype_base.h
! 6cfb61af1bfe01cf32ad3c09083c06c8  libstdc++-v3/config/os/solaris/solaris2.6/ctype_inline.h
! 6be856ffdb4dba09717244e414b0cbcc  libstdc++-v3/config/os/solaris/solaris2.6/ctype_noninline.h
! 62dfbd511aa6427e78d6a54e5f6890d6  libstdc++-v3/config/os/solaris/solaris2.6/os_defines.h
! a61a3c344534ab366f76a0499cb03059  libstdc++-v3/config/os/solaris/solaris2.7/ctype_base.h
! 1e28252efa19b70fc0a628caa0f6b137  libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h
! ddee228716fc26a430dc9349c96f7c08  libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h
! 88f632ea51b611d13c3d48b04d1d5418  libstdc++-v3/config/os/solaris/solaris2.7/os_defines.h
! 459db659767914e6410aadbdc67c89ed  libstdc++-v3/config/os/tpf/ctype_base.h
! ac711303cc1ae4b2fa9c3e3879458a1d  libstdc++-v3/config/os/tpf/ctype_inline.h
! ad870ee65929585f0cfcb182f831d94b  libstdc++-v3/config/os/tpf/ctype_noninline.h
! 38688a1d2770ce1627be622965f1a031  libstdc++-v3/config/os/tpf/os_defines.h
! 3581a71fef06f909bbe71a274eb2993e  libstdc++-v3/config/os/vxworks/ctype_base.h
! 4184a74c3b512c59f167271d24aa6870  libstdc++-v3/config/os/vxworks/ctype_inline.h
! bee1c2ea52479ff4702e982503ca1d3a  libstdc++-v3/config/os/vxworks/ctype_noninline.h
! 7638987695b99cc36e7b26560dacd747  libstdc++-v3/config/os/vxworks/os_defines.h
! bc76ed08da5b7677bfc69ce142caa991  libstdc++-v3/config/os/windiss/ctype_base.h
! 6bba90d82a0fafc243d88b770e6c21cd  libstdc++-v3/config/os/windiss/ctype_inline.h
! ce1dd5a6e806870585250cf4d074e7fe  libstdc++-v3/config/os/windiss/ctype_noninline.h
! 07262ffb4a10891e5b18511af34cd4e5  libstdc++-v3/config/os/windiss/os_defines.h
! c484fdce76dedd43e67ceb791bfb443d  libstdc++-v3/configure
! 3727087cacd57271bd51ec914a2f4f01  libstdc++-v3/configure.ac
! 5c9293e4d0bd2cbbec499b321a93948c  libstdc++-v3/configure.host
! 0b5440acfe80d9f5a707f86f531220a0  libstdc++-v3/crossconfig.m4
  aa2618b72e9e6b60c247861d940e095e  libstdc++-v3/docs/doxygen/Intro.3
  d8c25a7f2e3cc9c9843f69e291490c01  libstdc++-v3/docs/doxygen/TODO
  befdc00614bb944b16d1a5ad413afdb3  libstdc++-v3/docs/doxygen/doxygroups.cc
*************** b6a4a36017995814cc629c26201386c2  libstd
*** 24299,24311 ****
  cee8efab5b682ad67943a39adc8af7bf  libstdc++-v3/docs/doxygen/stdheader.cc
  07000167c8cbcff254fe201db5fc6add  libstdc++-v3/docs/doxygen/style.css
  af6aadf2f27d7e98074e70fd4d2ab4e0  libstdc++-v3/docs/doxygen/tables.html
! d4e9bdfd8815c72b5bd694ee88f4e086  libstdc++-v3/docs/doxygen/user.cfg.in
  cb5a82e40c58938e2fad6aba46d0ef76  libstdc++-v3/docs/html/17_intro/BADNAMES
  99155f11bbb6c503a9a1e3fc4aa010ed  libstdc++-v3/docs/html/17_intro/BUGS
  291223e85fecbabff5925d2837049939  libstdc++-v3/docs/html/17_intro/C++STYLE
  f55426a1b386b224d648d29d93f3e9cf  libstdc++-v3/docs/html/17_intro/CHECKLIST
! 94d55d512a9ba36caa9b7df079bae19f  libstdc++-v3/docs/html/17_intro/COPYING
! cd8e4dfa2ebcc3fa3ba2f7e531b69e4b  libstdc++-v3/docs/html/17_intro/COPYING.DOC
  5e926fa26d67274277d19ce3df4df439  libstdc++-v3/docs/html/17_intro/DESIGN
  6edb4d3c2c28ff87c2d8f216161e3422  libstdc++-v3/docs/html/17_intro/HEADER_POLICY
  68223d825e372b5115fa93da54d89e19  libstdc++-v3/docs/html/17_intro/PROBLEMS
--- 27167,27179 ----
  cee8efab5b682ad67943a39adc8af7bf  libstdc++-v3/docs/doxygen/stdheader.cc
  07000167c8cbcff254fe201db5fc6add  libstdc++-v3/docs/doxygen/style.css
  af6aadf2f27d7e98074e70fd4d2ab4e0  libstdc++-v3/docs/doxygen/tables.html
! 159eba15036b16ab1f2af84c136fa022  libstdc++-v3/docs/doxygen/user.cfg.in
  cb5a82e40c58938e2fad6aba46d0ef76  libstdc++-v3/docs/html/17_intro/BADNAMES
  99155f11bbb6c503a9a1e3fc4aa010ed  libstdc++-v3/docs/html/17_intro/BUGS
  291223e85fecbabff5925d2837049939  libstdc++-v3/docs/html/17_intro/C++STYLE
  f55426a1b386b224d648d29d93f3e9cf  libstdc++-v3/docs/html/17_intro/CHECKLIST
! 59530bdf33659b29e73d4adb9f9f6552  libstdc++-v3/docs/html/17_intro/COPYING
! 18ba770020b624031bc7c8a7b055d776  libstdc++-v3/docs/html/17_intro/COPYING.DOC
  5e926fa26d67274277d19ce3df4df439  libstdc++-v3/docs/html/17_intro/DESIGN
  6edb4d3c2c28ff87c2d8f216161e3422  libstdc++-v3/docs/html/17_intro/HEADER_POLICY
  68223d825e372b5115fa93da54d89e19  libstdc++-v3/docs/html/17_intro/PROBLEMS
*************** f595d98b1eb9cd433be22de9d4857fbb  libstd
*** 24316,24328 ****
  ce88169a1074a35a21cd3450542c7944  libstdc++-v3/docs/html/17_intro/confdeps.png
  7b0766d895d5e1a05e36804b80c3ae15  libstdc++-v3/docs/html/17_intro/configury.html
  cfb9e628eb3e7be84809f5405422c608  libstdc++-v3/docs/html/17_intro/contribute.html
! 545546c63c5753ca4a4b709719b1b4a1  libstdc++-v3/docs/html/17_intro/headers_cc.txt
  b23528cbd5a0b1bf78f855e1f29ec8c8  libstdc++-v3/docs/html/17_intro/howto.html
  bcef788655e11a7d460b3ad439f0fae6  libstdc++-v3/docs/html/17_intro/license.html
  cbe85e70113273235269c1e60a607138  libstdc++-v3/docs/html/17_intro/porting-howto.html
  3590f2b747eb6df0d428db4888130ddb  libstdc++-v3/docs/html/17_intro/porting-howto.xml
! 43c90887489c33672461157008f1f81d  libstdc++-v3/docs/html/17_intro/porting.html
! b0377f0dce769efb86a5ceaff0e73f2a  libstdc++-v3/docs/html/17_intro/porting.texi
  c0c7eeeaeaa7f499716abde8d7306825  libstdc++-v3/docs/html/18_support/howto.html
  2cf6a902ee1680593ff262ccb67bad4b  libstdc++-v3/docs/html/19_diagnostics/howto.html
  487c271bb263b1f1bd0c0bc911ee4bd8  libstdc++-v3/docs/html/20_util/allocator.html
--- 27184,27196 ----
  ce88169a1074a35a21cd3450542c7944  libstdc++-v3/docs/html/17_intro/confdeps.png
  7b0766d895d5e1a05e36804b80c3ae15  libstdc++-v3/docs/html/17_intro/configury.html
  cfb9e628eb3e7be84809f5405422c608  libstdc++-v3/docs/html/17_intro/contribute.html
! 5117bc680169b895226f8761119e6dfa  libstdc++-v3/docs/html/17_intro/headers_cc.txt
  b23528cbd5a0b1bf78f855e1f29ec8c8  libstdc++-v3/docs/html/17_intro/howto.html
  bcef788655e11a7d460b3ad439f0fae6  libstdc++-v3/docs/html/17_intro/license.html
  cbe85e70113273235269c1e60a607138  libstdc++-v3/docs/html/17_intro/porting-howto.html
  3590f2b747eb6df0d428db4888130ddb  libstdc++-v3/docs/html/17_intro/porting-howto.xml
! 08d3ca2ce40080a04f8bcd351a913f37  libstdc++-v3/docs/html/17_intro/porting.html
! 48d5266a63c4d2bf6cbd3affeb597c91  libstdc++-v3/docs/html/17_intro/porting.texi
  c0c7eeeaeaa7f499716abde8d7306825  libstdc++-v3/docs/html/18_support/howto.html
  2cf6a902ee1680593ff262ccb67bad4b  libstdc++-v3/docs/html/19_diagnostics/howto.html
  487c271bb263b1f1bd0c0bc911ee4bd8  libstdc++-v3/docs/html/20_util/allocator.html
*************** ebb90967ba2cb693b18ff84e460261ba  libstd
*** 24343,26347 ****
  091edc4e6cde9c2483725c31f0c1f16e  libstdc++-v3/docs/html/26_numerics/howto.html
  04634d92698ab47d0ef884fbbc9123a6  libstdc++-v3/docs/html/27_io/binary_iostreams_kanze.txt
  8df1a969d47ddd463121be67c1317f5e  libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
! a0dc7951090956b17b29f6435c18ceaa  libstdc++-v3/docs/html/27_io/howto.html
  487fd00ae9958022896748bad45fc7d2  libstdc++-v3/docs/html/Makefile
  f4d51a7e309abbbe4c0491100b27b53c  libstdc++-v3/docs/html/abi.html
! 2eaacd825d49d01fca6490b4b425488f  libstdc++-v3/docs/html/configopts.html
! 26106c13cc9de76fc559fac681663fa4  libstdc++-v3/docs/html/debug.html
  e8600ee4c25ca784c6bc896f3c778579  libstdc++-v3/docs/html/debug_mode.html
! 8e53b5ab2d9cd2612c648f525c288426  libstdc++-v3/docs/html/documentation.html
  a8be05e7b31562c65e7b5657b3212ab4  libstdc++-v3/docs/html/explanations.html
  d277321924975a19f27a64275026dd15  libstdc++-v3/docs/html/ext/ballocator_doc.html
! d4731e1f91fa77113e3a7c834b351066  libstdc++-v3/docs/html/ext/howto.html
! b9c8db58aaa9235ca151378861b0767c  libstdc++-v3/docs/html/ext/lwg-active.html
! aca9bf0b851665a79255aa2853d855f2  libstdc++-v3/docs/html/ext/lwg-defects.html
! 5eb5d123bf7085c1ea12b13e5a8c987b  libstdc++-v3/docs/html/ext/mt_allocator.html
  6ab0d4db4c5c82dc560425b36a2d0471  libstdc++-v3/docs/html/ext/sgiexts.html
! 747c87f2f164705ef4d9d7399a7ad985  libstdc++-v3/docs/html/faq/index.html
! 8feaa8fdc6d5af83c94a2a0557e7419f  libstdc++-v3/docs/html/faq/index.txt
! 00f08e81e74a69e0617f7dbec8363321  libstdc++-v3/docs/html/install.html
  89af7232308fcd3be5ac891be10fe912  libstdc++-v3/docs/html/lib3styles.css
  946dfd1d05d272636f527377c14a2e4c  libstdc++-v3/docs/html/makedoc.awk
! 8f2ac887668326431b83e4e7e52d64f9  libstdc++-v3/docs/html/test.html
! 1520379d1feb00053d7d8439915c8923  libstdc++-v3/fragment.am
! c381ac4900d21bf9ea99630cef356a6b  libstdc++-v3/include/Makefile.am
! f5b502761989299422db0aa386fc6ab2  libstdc++-v3/include/Makefile.in
! 8d01b5682d12efff4dce5f0b290c5f4b  libstdc++-v3/include/backward/algo.h
! d9c5362b7ceb80c3d8a821947071d3d8  libstdc++-v3/include/backward/algobase.h
! 358c08b744ff9b48233f7825a424ee59  libstdc++-v3/include/backward/alloc.h
! 72727fcda45888e531cafcc3fa3d7240  libstdc++-v3/include/backward/backward_warning.h
! c6f5e5a6cc87e2335d75dd40ce712188  libstdc++-v3/include/backward/bvector.h
! 8a6b704530e3e842fb327eafc9987cca  libstdc++-v3/include/backward/complex.h
! d3c60eefe9d2c59a2a055e0c906d6aa7  libstdc++-v3/include/backward/defalloc.h
! f964133d95742e9a51e72db08689ffe5  libstdc++-v3/include/backward/deque.h
! e235666ceded1ceb287f5d887ebb556f  libstdc++-v3/include/backward/fstream.h
! 060729b167510c8abb8e44a028374ee3  libstdc++-v3/include/backward/function.h
! c602bb0741231914e4faf3de921dbec3  libstdc++-v3/include/backward/hash_map.h
! 9d37e0e747d3d5d318410848cfa31fc5  libstdc++-v3/include/backward/hash_set.h
! e155bb0303797686862115843843943e  libstdc++-v3/include/backward/hashtable.h
! 322ef8ab1edccf35f2211e1276d84666  libstdc++-v3/include/backward/heap.h
! 82df76ffe920f06cb8d00acfbacf95e6  libstdc++-v3/include/backward/iomanip.h
! 70e6038537a4fc7d50600f44e2e0e306  libstdc++-v3/include/backward/iostream.h
! d934e67073c3cdc6edf0bbb484d603fb  libstdc++-v3/include/backward/istream.h
! 039d0eb317288a7912a181d6b3934d9b  libstdc++-v3/include/backward/iterator.h
! 5401236ed728211c21769062294fc524  libstdc++-v3/include/backward/list.h
! bf376c06fd7d10d851920352a606dc45  libstdc++-v3/include/backward/map.h
! 12ef72be91e658c40d9b491c3355177a  libstdc++-v3/include/backward/multimap.h
! 4228ce60634379e25f5e97c35fba81cc  libstdc++-v3/include/backward/multiset.h
! 56b510231a4b95991260f9718f0c252c  libstdc++-v3/include/backward/new.h
! a5314537c755ae8094498cdbded5c82a  libstdc++-v3/include/backward/ostream.h
! 289b09cb906f0d600e36c5d435498b3d  libstdc++-v3/include/backward/pair.h
! 295a275c2d6133c9508b085a6106b2b9  libstdc++-v3/include/backward/queue.h
! 5dd9e24bba492f4d71b9520b2ce4fb42  libstdc++-v3/include/backward/rope.h
! 41184ab6b98ad2b4dacb04f4a85b2aff  libstdc++-v3/include/backward/set.h
! 3792f0dd96ab79655b353132c62b8811  libstdc++-v3/include/backward/slist.h
! 5e248bd583f934fb60ca18129775a9b4  libstdc++-v3/include/backward/stack.h
! e459d4aeaca64ff74a6884a2a2a3b283  libstdc++-v3/include/backward/stream.h
! c42de28b2696b3a8b383e7c20fb62d9c  libstdc++-v3/include/backward/streambuf.h
! 40501aecacb4646ac501fd4ebe03d080  libstdc++-v3/include/backward/strstream
! b49846a5f5b03a71390ef56cae63ff45  libstdc++-v3/include/backward/tempbuf.h
! ca634644163ef05f0fb0fa5ac2b29a49  libstdc++-v3/include/backward/tree.h
! 9318dedd8d93760e20b8033e078595a6  libstdc++-v3/include/backward/vector.h
! e64a97cd2a0e1baa0b9b5b0f98012448  libstdc++-v3/include/bits/allocator.h
! dba2439de18b6c6b4380575dbc28daae  libstdc++-v3/include/bits/atomicity.h
! 9c084f137e4379070995b9445702e1af  libstdc++-v3/include/bits/basic_ios.h
! d9b98deca85e221a77e07818c186c6ff  libstdc++-v3/include/bits/basic_ios.tcc
! 542ee3132cd1a2b96bbca2c396436688  libstdc++-v3/include/bits/basic_string.h
! afa346345432d4f199f342cbee520537  libstdc++-v3/include/bits/basic_string.tcc
! 65a2c441dbc9c3a34b668a274fb8a687  libstdc++-v3/include/bits/boost_concept_check.h
! 98965ca2d067c87698de96f85e2dd4b6  libstdc++-v3/include/bits/c++config
! e50c7e7552ebb5fe3213531b1188de11  libstdc++-v3/include/bits/char_traits.h
! 0f655652b4c9579c09f065461c110fb6  libstdc++-v3/include/bits/codecvt.h
! e8f8be39afe561dbeaf0363c1e8c9e6a  libstdc++-v3/include/bits/concept_check.h
! b2be7c7ad9ec51b1d996b2a716aaa40b  libstdc++-v3/include/bits/concurrence.h
! 0d85902ac908b3df6820d4aea00de28d  libstdc++-v3/include/bits/cpp_type_traits.h
! 172b4b84a242ee881089193a16adc773  libstdc++-v3/include/bits/deque.tcc
! 3e5595f9d10324a00ee76a32154e6ae2  libstdc++-v3/include/bits/fstream.tcc
! 04225ecd7a54e232fea2f4932bbd83de  libstdc++-v3/include/bits/functexcept.h
! 0b54fcd69dd568a442f83ce5ed31e903  libstdc++-v3/include/bits/gslice.h
! fb98a295d49abaccc2f00d2cbfa461cf  libstdc++-v3/include/bits/gslice_array.h
! 590a474eb44f8a03a7befb81d53a0ad2  libstdc++-v3/include/bits/indirect_array.h
! b9b2a14cb5d2f27b9079aa2d6caf76de  libstdc++-v3/include/bits/ios_base.h
! a03b199d015cfa6756925a1ace30b605  libstdc++-v3/include/bits/istream.tcc
! b4194d3cb094a5f2ac97be42bcb31f80  libstdc++-v3/include/bits/list.tcc
! d1c0f2cada1c3b147e3eca668e0022be  libstdc++-v3/include/bits/locale_classes.h
! 01fd2278a21097c89556a422b448abf6  libstdc++-v3/include/bits/locale_facets.h
! b72e4c94f2440ca0ec897dc3d4cc0c93  libstdc++-v3/include/bits/locale_facets.tcc
! 66bbc87279cebefd53c0c43cdcf0ae8f  libstdc++-v3/include/bits/localefwd.h
! 64f8f1e35eda5e6f5c8dedb1f317125e  libstdc++-v3/include/bits/mask_array.h
! bb3f389c4a1bf1e60c826305ab300a7c  libstdc++-v3/include/bits/ostream.tcc
! 3e5145b590fa9119e431f0792227bfdf  libstdc++-v3/include/bits/postypes.h
! 627a7ff6bb544ba90822c9e45ad93343  libstdc++-v3/include/bits/slice_array.h
! 9505b7e8a97e5c35a94c5523f06ae9bc  libstdc++-v3/include/bits/sstream.tcc
! 4fcb1313fcebb197a90ab886b8f9c971  libstdc++-v3/include/bits/stl_algo.h
! db0ac82c9557132bdf4303a65a358d94  libstdc++-v3/include/bits/stl_algobase.h
! 732ce0b2dd32973681dd593e435c0c07  libstdc++-v3/include/bits/stl_bvector.h
! 9e6db27f050f9fbd592a1ea341573c3a  libstdc++-v3/include/bits/stl_construct.h
! 717ce2e04da152e94c8093ce530eb658  libstdc++-v3/include/bits/stl_deque.h
! 3daa83be3e29c02f8bbdb1edf486fcd8  libstdc++-v3/include/bits/stl_function.h
! 50751abd6ba90524e2be43b51b295339  libstdc++-v3/include/bits/stl_heap.h
! 0d05d8ff69ed49b9263724ec4ae5118a  libstdc++-v3/include/bits/stl_iterator.h
! a472a9c09e3f4a3547956631fee38e72  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
! 4505f2b08a35a49860c807524ac937cd  libstdc++-v3/include/bits/stl_iterator_base_types.h
! 3ef110e77632c61c1c99c2b8eb2045b6  libstdc++-v3/include/bits/stl_list.h
! cd46057c72f0ca1a67bdc699ca02e0ef  libstdc++-v3/include/bits/stl_map.h
! 967ff1a7a43f74d5b78e66b6025c6774  libstdc++-v3/include/bits/stl_multimap.h
! 7bcc36845cf1fdefba826e3a0cb211cc  libstdc++-v3/include/bits/stl_multiset.h
! 52cc2d91b130ae8b4910116e0bfda85b  libstdc++-v3/include/bits/stl_numeric.h
! 8a6f2621789382256c785eca33e50218  libstdc++-v3/include/bits/stl_pair.h
! 50a7bb1708cb81c808cce7384645a1c9  libstdc++-v3/include/bits/stl_queue.h
! 63fc9ee2b05ba31f99818ffe1b051774  libstdc++-v3/include/bits/stl_raw_storage_iter.h
! 23dbd0042a685ba85f19b5b50d40e123  libstdc++-v3/include/bits/stl_relops.h
! a29536e82114138d376c37f35e1a4f00  libstdc++-v3/include/bits/stl_set.h
! 69c376b5ebfa6b05cb7c4a7ed8aa0e07  libstdc++-v3/include/bits/stl_stack.h
! 2a7218d39202186e824c58f9969bc493  libstdc++-v3/include/bits/stl_tempbuf.h
! c5ffdcaca94adc86a4fcb38fbfe0c832  libstdc++-v3/include/bits/stl_tree.h
! 95c6fe5d08f2a8dd83a797cbc6b1f3a3  libstdc++-v3/include/bits/stl_uninitialized.h
! 7bde5fc4694d26a9bbaabed33ea27058  libstdc++-v3/include/bits/stl_vector.h
! 1f430113e703b375c2e492172107a5c2  libstdc++-v3/include/bits/stream_iterator.h
! b3b42272bfda3ea4fec90839d035463a  libstdc++-v3/include/bits/streambuf.tcc
! d76d9badc179d60d90a3b9e29262c941  libstdc++-v3/include/bits/streambuf_iterator.h
! d9bc8849e21b43067e8cb0bf698344e1  libstdc++-v3/include/bits/stringfwd.h
! c5d3b36d02f177182537d6afb1a71c3c  libstdc++-v3/include/bits/valarray_after.h
! a564ec67f5e3182dfe7133addf1b158a  libstdc++-v3/include/bits/valarray_array.h
! f53d5428dd35ab5907001afd91f59388  libstdc++-v3/include/bits/valarray_array.tcc
! 8aee22d7a45298abe85195d583992f18  libstdc++-v3/include/bits/valarray_before.h
! c9b9873041cab821220cda6ced3e0729  libstdc++-v3/include/bits/vector.tcc
! 2da65118213e7e27e5d4d09be974c3fc  libstdc++-v3/include/c/std_cassert.h
! 7fc0130555d9215380296870a843f991  libstdc++-v3/include/c/std_cctype.h
! 66636afb5592971448e135051b7bc906  libstdc++-v3/include/c/std_cerrno.h
! c67a4a33f70f9291b8822f35a9519ba8  libstdc++-v3/include/c/std_cfloat.h
! fe7d862405bcbce4c515f768ac941f7f  libstdc++-v3/include/c/std_ciso646.h
! 74246fad77575f39b43f3e2c9732705b  libstdc++-v3/include/c/std_climits.h
! 87c0232b140c8495651b064563d9ccd6  libstdc++-v3/include/c/std_clocale.h
! c226bbd2905cec1b806c327bcf2f5601  libstdc++-v3/include/c/std_cmath.h
! e38a9fd7eca5e3e7c24181c0c897b49b  libstdc++-v3/include/c/std_csetjmp.h
! 300532173c32eba12fdfc02d7c8188fb  libstdc++-v3/include/c/std_csignal.h
! ad04498c1ca340cce76190c59d033ec5  libstdc++-v3/include/c/std_cstdarg.h
! 5a2121550bbe518cb9725c2f2f7b6ae2  libstdc++-v3/include/c/std_cstddef.h
! df62de908fe7917221c2f1350a2f5a04  libstdc++-v3/include/c/std_cstdio.h
! 2637ad60704885e198fe39223b290ee5  libstdc++-v3/include/c/std_cstdlib.h
! 86b1e66d58780bc5d2c9c20cdff8190e  libstdc++-v3/include/c/std_cstring.h
! f0a81907851d510dcd371dbccdaf8abd  libstdc++-v3/include/c/std_ctime.h
! eefc091e15c3e103a716cd7f4d83431b  libstdc++-v3/include/c/std_cwchar.h
! 3978eef53d936cce4acfefc79a8541b5  libstdc++-v3/include/c/std_cwctype.h
! 37d5fdc18e7fe578c104cfe12b44877e  libstdc++-v3/include/c_compatibility/assert.h
! e4c7ef272cd0295ec30d0c1a00b3c9d8  libstdc++-v3/include/c_compatibility/ctype.h
! 128734a5ddef1ce07792851fdfee0779  libstdc++-v3/include/c_compatibility/errno.h
! fccc60d42ae8cb5ca549ab7b7bc74f5f  libstdc++-v3/include/c_compatibility/float.h
! e3fdd6de4d503e08daf61f1de5ee714b  libstdc++-v3/include/c_compatibility/iso646.h
! c12ab3df1e7d51aa60d74b6637f3ddbd  libstdc++-v3/include/c_compatibility/limits.h
! fb0d21e2942bbf1123ba989d4d17f8b3  libstdc++-v3/include/c_compatibility/locale.h
! 88a64d6eb0cf641eb6ff3e1ce82277a3  libstdc++-v3/include/c_compatibility/math.h
! f734c948b214371466b6e9db09529eba  libstdc++-v3/include/c_compatibility/setjmp.h
! ca6a060769d0b10783e82988978d610f  libstdc++-v3/include/c_compatibility/signal.h
! eba8b211bb4bc05a7152afe32c50617c  libstdc++-v3/include/c_compatibility/stdarg.h
! 95687ec58250a1a939b92fc82ae20d57  libstdc++-v3/include/c_compatibility/stddef.h
! 22b8035dec886efdeeffb72e01c2bdd7  libstdc++-v3/include/c_compatibility/stdio.h
! 43ada6697a86f62092f869a6e3bc7c12  libstdc++-v3/include/c_compatibility/stdlib.h
! afad96c9d2d1335fd6f201ae6b2c828d  libstdc++-v3/include/c_compatibility/string.h
! 289a72144a025e33afdc9f69f8d6c4e9  libstdc++-v3/include/c_compatibility/time.h
! 061321dd59e32549c0dac4425cf985f2  libstdc++-v3/include/c_compatibility/wchar.h
! c4c893cd72bbd8fc5b751d49c92006f5  libstdc++-v3/include/c_compatibility/wctype.h
! 08ed12af891cdd7dd248701b15905724  libstdc++-v3/include/c_std/cmath.tcc
! 82a411a3f335c5e01ae8d1a626703237  libstdc++-v3/include/c_std/std_cassert.h
! ed45982c0390b975759db44d49ec3b37  libstdc++-v3/include/c_std/std_cctype.h
! 39dbe80d829240373ba287dc7dd839b4  libstdc++-v3/include/c_std/std_cerrno.h
! 5435871ff5bf88fe8f910c454051e470  libstdc++-v3/include/c_std/std_cfloat.h
! fe7d862405bcbce4c515f768ac941f7f  libstdc++-v3/include/c_std/std_ciso646.h
! d7dafadc492048da97adaf8c2394e7bf  libstdc++-v3/include/c_std/std_climits.h
! 5942b8bf14c45c9963bba1e3cac49eb5  libstdc++-v3/include/c_std/std_clocale.h
! ec419a2032bff8b5cb8dd4966f422c41  libstdc++-v3/include/c_std/std_cmath.h
! 383ecd447ae95a2adf14e115ec57e480  libstdc++-v3/include/c_std/std_csetjmp.h
! e7f140ebb8d60a42d0bb271ba115ed15  libstdc++-v3/include/c_std/std_csignal.h
! 2dca055bcf22474026ad79ec3d3037f5  libstdc++-v3/include/c_std/std_cstdarg.h
! 49084e2731172fbb0b32c486bc77e3ff  libstdc++-v3/include/c_std/std_cstddef.h
! 2e6068cf551312891d9611ac17c8a05f  libstdc++-v3/include/c_std/std_cstdio.h
! abf3da95400964406efaedb2e24ad9fe  libstdc++-v3/include/c_std/std_cstdlib.h
! e5741ec9ba2b1a42edb3a793e0756ffc  libstdc++-v3/include/c_std/std_cstring.h
! 205c3f65d70da1be2f0b3d22f7f9e8a8  libstdc++-v3/include/c_std/std_ctime.h
! 34d90f125d8fa8d879bfea54b6f05796  libstdc++-v3/include/c_std/std_cwchar.h
! 5275f1aeffef30ff24504c04af5076fc  libstdc++-v3/include/c_std/std_cwctype.h
! 831d9abeb19cf91b42eac055a9b322ef  libstdc++-v3/include/debug/bitset
! 0f3d5843e73c676c53c502bbe38b47b6  libstdc++-v3/include/debug/debug.h
! 5b04eec0709de0cd9c1dac464c535172  libstdc++-v3/include/debug/deque
! 5ec587f004679d2d011ba176a9fbea8c  libstdc++-v3/include/debug/formatter.h
! da6a28ed9e65bfe16f755ba1474e61b9  libstdc++-v3/include/debug/hash_map
! da7cf6c8a3d4356c17e8a8785aac0661  libstdc++-v3/include/debug/hash_map.h
! c95aab995529dfd3c1e4a2d17fb2c703  libstdc++-v3/include/debug/hash_multimap.h
! 3dc982df26ee89027da3ec3fdaca6f7d  libstdc++-v3/include/debug/hash_multiset.h
! 5c61656446add59f893c8d8cace50e3f  libstdc++-v3/include/debug/hash_set
! 80ce6af163ad5f3a9216589b9a777efe  libstdc++-v3/include/debug/hash_set.h
! 5ccdf4e939d84db577c72cb20362f860  libstdc++-v3/include/debug/list
! 9fb80f0ccb21f44a3f6c3fd0c61fb546  libstdc++-v3/include/debug/map
! 0197887441b6297de1a1b279cbf1dd4e  libstdc++-v3/include/debug/map.h
! 7a2819839942c8b434e78effcb75232e  libstdc++-v3/include/debug/multimap.h
! 94ecfb5d12fe77a429d3a68a12a46f3f  libstdc++-v3/include/debug/multiset.h
! 992f40a923010787607d9494402c4fcf  libstdc++-v3/include/debug/safe_base.h
! f8d022a05283672a3e77f4ff55bba374  libstdc++-v3/include/debug/safe_iterator.h
! a4300514694de54a248a9f98102a9f21  libstdc++-v3/include/debug/safe_iterator.tcc
! e26da2ac74f0878f9bd7e0da98d673c9  libstdc++-v3/include/debug/safe_sequence.h
! 53ef68258ffecf7b6c8d97866775dbb1  libstdc++-v3/include/debug/set
! 939dbc206726090f554b922e5b6c01d6  libstdc++-v3/include/debug/set.h
! e9707afb7e37a444aef5672565597339  libstdc++-v3/include/debug/string
! 46ca3793478cc42a9ce1ef74b6102638  libstdc++-v3/include/debug/vector
! 25f93b2b7a6bdf3204109443905f9257  libstdc++-v3/include/ext/algorithm
! 53fd2318cb882d51935c10f9c6458b4c  libstdc++-v3/include/ext/array_allocator.h
! e265dd01fb8cc6422f96acb7dda19a08  libstdc++-v3/include/ext/bitmap_allocator.h
! 196b7fe39b3f06fdf52da90f9a740c40  libstdc++-v3/include/ext/codecvt_specializations.h
! 9d924fd788a413e79f65f288ed82e80d  libstdc++-v3/include/ext/debug_allocator.h
! 5f5168db40dda5787ee77e28739ee255  libstdc++-v3/include/ext/functional
! 3f2ee027496ab23c461227f8073b1807  libstdc++-v3/include/ext/hash_fun.h
! 28dcdf460de398e7d5b9fbc1b30a4de2  libstdc++-v3/include/ext/hash_map
! d83e6f955455b80fa38c8f0d59a7f3db  libstdc++-v3/include/ext/hash_set
! c48a39d29d2e0c78901233feb70e19ce  libstdc++-v3/include/ext/hashtable.h
! ef80b54b15af456a341cbefd3855b72a  libstdc++-v3/include/ext/iterator
! 7b47380f240aee54aac1eb3e44e52c03  libstdc++-v3/include/ext/malloc_allocator.h
! 1f3f62bdd9209aeaad443c8caf652f0e  libstdc++-v3/include/ext/memory
! 710d29c544923044a45adb3d22fa67e8  libstdc++-v3/include/ext/mt_allocator.h
! 839ea0a2da27396c055cc36346b4b9b4  libstdc++-v3/include/ext/new_allocator.h
! 30f9178dc7efd135d6efaf79c0020e8a  libstdc++-v3/include/ext/numeric
! 9b04a19e66612dee0448ea52e4fef96f  libstdc++-v3/include/ext/pod_char_traits.h
! bdf2f4af012d948710c42891b4f4b72a  libstdc++-v3/include/ext/pool_allocator.h
! f44c4295b95ae4121e0052fd467d6cbd  libstdc++-v3/include/ext/rb_tree
! 1ca38db502771518a5f21071248666a6  libstdc++-v3/include/ext/rope
! 910a7494272843c30cc2b660b4e6dfbf  libstdc++-v3/include/ext/ropeimpl.h
! c38b470f6a992a1c06ecfa0eac6c17ec  libstdc++-v3/include/ext/slist
! 0936639c5d3b129728ec275d7c157222  libstdc++-v3/include/ext/stdio_filebuf.h
! dbebf76bc5d7adbbfb5578794eee3591  libstdc++-v3/include/ext/stdio_sync_filebuf.h
! 5624807b5891ec4edaf850ea246e1ae1  libstdc++-v3/include/std/std_algorithm.h
! a3f41f60f57b0cdd5ca80b73cc7a2c21  libstdc++-v3/include/std/std_bitset.h
! 1fe511cfc675a413576b6e452ed47064  libstdc++-v3/include/std/std_complex.h
! 3db16b006c2b68cb6519b2f187b8641e  libstdc++-v3/include/std/std_deque.h
! acbd9d811cee1f5cfebca97dce35c142  libstdc++-v3/include/std/std_fstream.h
! 4208bfc88ce796ab9629e0a7c7f3d68c  libstdc++-v3/include/std/std_functional.h
! f7966ed25cbc369c7c5404a82a456fe8  libstdc++-v3/include/std/std_iomanip.h
! f2a085c4ad0aabde4f74c7c7d2e7671e  libstdc++-v3/include/std/std_ios.h
! 0ee9fdb3efc20419f2b3c5999d2c310b  libstdc++-v3/include/std/std_iosfwd.h
! b7638c70479194c844cef8d925cd5978  libstdc++-v3/include/std/std_iostream.h
! 5c9150a8d2b6cc83bf3d33a07266500e  libstdc++-v3/include/std/std_istream.h
! c02f47ea67cd7bdd2ba69ee768a89b34  libstdc++-v3/include/std/std_iterator.h
! b27b9b027bdc866ca1b6de4c2a80c8fa  libstdc++-v3/include/std/std_limits.h
! f5927b17743f4fa1b5e55416f1d154ca  libstdc++-v3/include/std/std_list.h
! a0a5ad3578c4180725d6e1001d238363  libstdc++-v3/include/std/std_locale.h
! 1b079b908b18f55718741693d34bea86  libstdc++-v3/include/std/std_map.h
! cd03d84cca7c0128f843cea07cd605a1  libstdc++-v3/include/std/std_memory.h
! e5fb35165f95edcf3001a0dc3ef4f09f  libstdc++-v3/include/std/std_numeric.h
! 7417d051170556dd76479b5b88ae8b00  libstdc++-v3/include/std/std_ostream.h
! abdaead5874f580687572e97f6fa6372  libstdc++-v3/include/std/std_queue.h
! d836cd452e21832ba6277bea874ca9d2  libstdc++-v3/include/std/std_set.h
! 374aad40c683af844d8da1bf32ee12d4  libstdc++-v3/include/std/std_sstream.h
! 4a7ac2969cafd937ef0884a3c4b118d3  libstdc++-v3/include/std/std_stack.h
! 7cab278a8d666f764f34547811576d08  libstdc++-v3/include/std/std_stdexcept.h
! e4425b5c362036fdfb7a90d5bfb1def4  libstdc++-v3/include/std/std_streambuf.h
! 84b97b009b954429f699c9759c0663db  libstdc++-v3/include/std/std_string.h
! 62ee59069fe36eca2b05be13c0f5bb3d  libstdc++-v3/include/std/std_utility.h
! cd71c78b43ec4468bf881151098aaa78  libstdc++-v3/include/std/std_valarray.h
! 6d20674a8fb5eea8267bfa689cd3a1ae  libstdc++-v3/include/std/std_vector.h
! 57cc9bdbdd4de449b4154ae81b7ada23  libstdc++-v3/include/stdc++.h
! 81c66c7e613936984671ef2afd29f4a8  libstdc++-v3/include/tr1/array
! 7c2dbdd038890ced8eb80e1eb65cfa6b  libstdc++-v3/include/tr1/bind_iterate.h
! e52ab19ac76aa27fcd03f300c380490b  libstdc++-v3/include/tr1/bind_repeat.h
! 88e206fc10eec45b04427c219bb35594  libstdc++-v3/include/tr1/boost_shared_ptr.h
! df9f5773f6edc68f01d91b7d053ecf63  libstdc++-v3/include/tr1/functional
! db4d5a368b7c83f84596fd29d845a559  libstdc++-v3/include/tr1/functional_iterate.h
! 726b210e538771f0543d66329584e4e3  libstdc++-v3/include/tr1/hashtable
! 08f0a58a585e9a205e41bb3d0883f70b  libstdc++-v3/include/tr1/memory
! 488f544088ffc86a8805d90e7601223b  libstdc++-v3/include/tr1/mu_iterate.h
! 84a15cd6495aad89109747a9642b3319  libstdc++-v3/include/tr1/ref_fwd.h
! 079433f00e6c255a44a268ea41031323  libstdc++-v3/include/tr1/ref_wrap_iterate.h
! 546eb8ee1e7d7fe339bee045041d52d3  libstdc++-v3/include/tr1/repeat.h
! d0830f9af1e167b3ef94e86bdcc1699d  libstdc++-v3/include/tr1/tuple
! 973b53b69a7682bbb45aa2eb44f2182a  libstdc++-v3/include/tr1/tuple_iterate.h
! 4a85361940eea7708516705d9bfd62c6  libstdc++-v3/include/tr1/type_traits
! ced05bccada96e391eb9bf818a6c6e49  libstdc++-v3/include/tr1/type_traits_fwd.h
! 12c79f803a6f8d343d24e59524f158f2  libstdc++-v3/include/tr1/unordered_map
! 937306fbed85ab02f20900c1d790f602  libstdc++-v3/include/tr1/unordered_set
! 4e38f872c35c384f15a59e12166fe8a6  libstdc++-v3/include/tr1/utility
! fb3c015055598361f803edaf81a0e916  libstdc++-v3/libmath/Makefile.am
! 999b89c03134befb99aad246b63e2909  libstdc++-v3/libmath/Makefile.in
! 0e60381b541de5d6e770a19f7c657baa  libstdc++-v3/libmath/copysignf.c
! 4176424a7165f157eebbf7d72845f6df  libstdc++-v3/libmath/mathconf.h
! 2c563f6d32edc96288491dd6942a1b71  libstdc++-v3/libmath/signbit.c
! 4f2ab370f625c379cfb24576ce5ed99b  libstdc++-v3/libmath/signbitf.c
! 7afffc1d2d837e1c542c3d7965e8607d  libstdc++-v3/libmath/signbitl.c
! 47249c11dbdec811ccfdb32868bd45d4  libstdc++-v3/libmath/stubs.c
! d32bfe146b0a28b759b15ed6a2e32a88  libstdc++-v3/libsupc++/Makefile.am
! dcb6a5d4fa6531c5283a87e20e78ef31  libstdc++-v3/libsupc++/Makefile.in
! ed424464ee25d42e9d8b1e18b2ad967f  libstdc++-v3/libsupc++/cxxabi.h
! a357752bfeada99323d472bcbf7558f9  libstdc++-v3/libsupc++/del_op.cc
! 6f147a5201a1acb3df0e68993ad217c8  libstdc++-v3/libsupc++/del_opnt.cc
! 39fc70c4f1a7aedff425c530eae6f012  libstdc++-v3/libsupc++/del_opv.cc
! 9f12f48ba186fb9524b8d2149a974e35  libstdc++-v3/libsupc++/del_opvnt.cc
! defb3551b4c055a410043e71f5351761  libstdc++-v3/libsupc++/eh_alloc.cc
! f400f299b655333571248c703b4f1796  libstdc++-v3/libsupc++/eh_aux_runtime.cc
! 5628bc38d04e17262d328d6fb55e1856  libstdc++-v3/libsupc++/eh_catch.cc
! 95a9fae5dbc74a3ebf6f1ce01a5b05d0  libstdc++-v3/libsupc++/eh_exception.cc
! 95a1e8cf28ccda2dead19f3d89983617  libstdc++-v3/libsupc++/eh_globals.cc
! 31223dc18772cca5c7234100c484eeab  libstdc++-v3/libsupc++/eh_personality.cc
! 52ffeaa60d930af865e5ccd703b9e0e1  libstdc++-v3/libsupc++/eh_term_handler.cc
! 4778ed292b8b4d5c6194a197ec7da832  libstdc++-v3/libsupc++/eh_terminate.cc
! 18e30a8ce78021e4be6269d229b2909d  libstdc++-v3/libsupc++/eh_throw.cc
! 2bde0f500c33b4d131cdba00956820f9  libstdc++-v3/libsupc++/eh_type.cc
! 688ff3aaef13013a0e33c3316b95a1d7  libstdc++-v3/libsupc++/eh_unex_handler.cc
! fa34b1cf2a5995f496bda4e0f372928f  libstdc++-v3/libsupc++/exception
! 51d07b1c9ba4d18a0ef7bff815e86390  libstdc++-v3/libsupc++/exception_defines.h
! 29618746ae10aebcf141da9b55ac0b3d  libstdc++-v3/libsupc++/guard.cc
! f9aa484fbfa15f9cc46efb5efd89cf21  libstdc++-v3/libsupc++/new
! 652780aeab3280b1d2e761d8c9ffd1a0  libstdc++-v3/libsupc++/new_handler.cc
! 8b39802a8228b4a25521d991b2cdfaeb  libstdc++-v3/libsupc++/new_op.cc
! c57d0501c6bff2b79ee4a68ee84fc787  libstdc++-v3/libsupc++/new_opnt.cc
! 89dc2a1093543b3a85b4b0d1789f6676  libstdc++-v3/libsupc++/new_opv.cc
! fe125d186f910414735ac18ce5a727b1  libstdc++-v3/libsupc++/new_opvnt.cc
! 789da1f04f5d60073c0f188d79d9ad68  libstdc++-v3/libsupc++/pure.cc
! 33ba14854c237eada9f3a698eaf781ec  libstdc++-v3/libsupc++/tinfo.cc
! d5e6d8dfa5a39e2d3a6a13db2a440bc0  libstdc++-v3/libsupc++/tinfo.h
! 7c01407a5139c624db1c06b2a8bd0fa2  libstdc++-v3/libsupc++/tinfo2.cc
! b17f571059c966c6d3861c81a37a4af2  libstdc++-v3/libsupc++/typeinfo
! 56f8fb45a8a2021b7103b2695d74ce74  libstdc++-v3/libsupc++/unwind-cxx.h
! 93e54fd5c942074a2217c1d70e5fe133  libstdc++-v3/libsupc++/vec.cc
! 7ab0ea61a3da31741f6004ec3eadd7b3  libstdc++-v3/libsupc++/vterminate.cc
! d241a253bb11877e6f55986ac7af2e36  libstdc++-v3/linkage.m4
! 9fc98e5b6a3fdbae0303306e81fa6577  libstdc++-v3/po/Makefile.am
! b88562fc9f1906f54345b469637442e3  libstdc++-v3/po/Makefile.in
! 40dca05090c534f278354b45713ba7fb  libstdc++-v3/po/POTFILES.in
  a3a922f9c16410e9a1f3efffbb707017  libstdc++-v3/po/de.po
  5fb51673038baf4f5e72275460d22e3f  libstdc++-v3/po/fr.po
  11079eef5dba307de8012bb549b39ebd  libstdc++-v3/po/libstdc++.pot
! 406334c3319494b68eca357fe3d57b92  libstdc++-v3/po/string_literals.cc
! 0bf040eef8fa68d4ba97dc4b7b2c89b6  libstdc++-v3/scripts/check_compile
  3cb9e49f27487b20ceec03d1d420ad79  libstdc++-v3/scripts/check_performance
! 8ec6185ea8b9cc0342dcf46f75e44270  libstdc++-v3/scripts/create_testsuite_files
! 1b12b183fd2e61b1f3952087eb45e8fd  libstdc++-v3/scripts/extract_symvers
  755b77f929d926f07f3257df2e802f2e  libstdc++-v3/scripts/gen_bind_includers.pl
  0d84fcf9b040827c404f80ca782b168b  libstdc++-v3/scripts/gen_includers.pl
! f04aecc43acd9e8243c65fcf97f019b9  libstdc++-v3/scripts/testsuite_flags.in
! d7aaf58e93b4f6024a0d9f3658c2d1f7  libstdc++-v3/src/Makefile.am
! e8a777ea21b6f38ccf50023b4980aab1  libstdc++-v3/src/Makefile.in
! 7d554b2f4e9c59c313b42b58d041b3c3  libstdc++-v3/src/allocator-inst.cc
! d890e35e7fef8bde8440a7cacff836f6  libstdc++-v3/src/bitmap_allocator.cc
! 3fbacff596980b37a2f4376ca17e079e  libstdc++-v3/src/codecvt.cc
! 635e0cacb84afc6b0cb557912bc15055  libstdc++-v3/src/compatibility.cc
! 1fe615827e1969cb74664e21922bf02f  libstdc++-v3/src/complex_io.cc
! f6b57645d59acaa9bbe15b3a20c31537  libstdc++-v3/src/concept-inst.cc
! 1308d5e87aff4099828e966b51b9056d  libstdc++-v3/src/ctype.cc
! 62f4562f90938cba5c9295be23b79aa3  libstdc++-v3/src/debug.cc
! d94822f7f6534d871b2ee105d2fadd98  libstdc++-v3/src/debug_list.cc
! 641b0956b2f384dc73fce6300304330c  libstdc++-v3/src/ext-inst.cc
! 8cf946fd23794a64da02eeae60962706  libstdc++-v3/src/fstream-inst.cc
! 8666194dbba39c6159ac80ed9977706c  libstdc++-v3/src/functexcept.cc
! 74ea6e1cde1885ffa3789c59afe0c2f4  libstdc++-v3/src/globals_io.cc
! 9ff74f0d2bdff080605402eed078ee50  libstdc++-v3/src/globals_locale.cc
! 07caa02e96085d45bac9bd022f93e7e6  libstdc++-v3/src/io-inst.cc
! 4eef4ca8aaef5d70d0da08766f6e80f8  libstdc++-v3/src/ios.cc
! 0500f4b6fdb8521fda50933f79d44cee  libstdc++-v3/src/ios_failure.cc
! 92b3ade3862a7b5f1e48f0536d24a835  libstdc++-v3/src/ios_init.cc
! 6ffbe5771f17a91bc4ae6c1ea940498e  libstdc++-v3/src/ios_locale.cc
! af2ff35612aba32432ea30a2d1b2d5fd  libstdc++-v3/src/istream-inst.cc
! bf349cf08f47f05a549a9e1a5c5a149b  libstdc++-v3/src/istream.cc
! 0bdc3916863f7b86ee1e9147462832d9  libstdc++-v3/src/limits.cc
! 3e1551bd621129b979ceb4036183e054  libstdc++-v3/src/list.cc
! 949477fd30ab9a476953ae571557448f  libstdc++-v3/src/locale-inst.cc
! 7f9842ebfdad56ec8da107bc4f02f1f0  libstdc++-v3/src/locale-misc-inst.cc
! f16fe4711385bee8d1cc7d1d9b7161d9  libstdc++-v3/src/locale.cc
! be6008ce57ff37fd89e4abab17418451  libstdc++-v3/src/locale_facets.cc
! 2fb761d09c57cc57c33f87d8f7faf7fa  libstdc++-v3/src/locale_init.cc
! 4b76a8e0c60b13f678e62f3a9ea0dad4  libstdc++-v3/src/localename.cc
! f4e63f0e1b4265d20e1b4299f433a30e  libstdc++-v3/src/misc-inst.cc
! ca805b92ce2e886f483e0829e8b32da8  libstdc++-v3/src/mt_allocator.cc
! 4f53311abf7d3fb1287c2dac21e88e53  libstdc++-v3/src/ostream-inst.cc
! e915d2b692fb2a86b6ba173af873bb6a  libstdc++-v3/src/pool_allocator.cc
! 4167243f02627c88a22d916be7927edb  libstdc++-v3/src/sstream-inst.cc
! deffa11a8d59228b783d82c44ed8ef6c  libstdc++-v3/src/stdexcept.cc
! 5f938f282afac49983a53d20c330e763  libstdc++-v3/src/streambuf-inst.cc
! 8a6abd295e18c50291871fab7121c416  libstdc++-v3/src/streambuf.cc
! b80788ce3d40673cb9bbb14dff0826b7  libstdc++-v3/src/string-inst.cc
! f071c3ab5b6bc01731b9a66c585ddaf7  libstdc++-v3/src/strstream.cc
! 2110947fc78d93e37f17171e46bc466c  libstdc++-v3/src/tree.cc
! 83fcb05e7c213519ad5d460f28e027c6  libstdc++-v3/src/valarray-inst.cc
! b88640429508abaff1f9846614dced7e  libstdc++-v3/src/wlocale-inst.cc
! 1e68c0237033b9403090aa1f0ba24ea3  libstdc++-v3/src/wstring-inst.cc
! 683dd39661108381b7d29085e5a32aef  libstdc++-v3/testsuite/17_intro/header_cassert.cc
! 758d40a76c15baf1744e08bc8851d1c7  libstdc++-v3/testsuite/17_intro/header_cerrno.cc
! af103d858fcc86ef5a7fe459980a6823  libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
! 5973196d37572d100b65ad4380c83947  libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
! f9ace6859a027d04f3a23712444b2b38  libstdc++-v3/testsuite/17_intro/header_cstddef.cc
! 10a21f28ffb8811737d415fc6e46d633  libstdc++-v3/testsuite/17_intro/header_cstdio.cc
! cdc4253e4f7e40b7b93373bcb24fd6a6  libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
! e026b321bdd43174cd58bb80c8b0a030  libstdc++-v3/testsuite/17_intro/header_cstring.cc
! 53392e27e19769d49778a3f82fdc73f5  libstdc++-v3/testsuite/17_intro/header_ctime.cc
! 77214bc6395299d68e2314b32f1de865  libstdc++-v3/testsuite/17_intro/header_cwchar.cc
! 3d2599edb1aa331f412bfbf3d0c8bc69  libstdc++-v3/testsuite/17_intro/header_cwctype.cc
! 1e8ff94d82d0bf729d3c1cdb2ab258bc  libstdc++-v3/testsuite/17_intro/header_fstream.cc
! 15f50ef96afcff1adc7655a83c0115da  libstdc++-v3/testsuite/17_intro/header_iomanip.cc
! 047e27ea3f62eafb0e5c35de008512f7  libstdc++-v3/testsuite/17_intro/header_ios.cc
! 35389eef25f53f7181614a4a240e5ff7  libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
! 73ee3484635d77e9895af9ec9a35f605  libstdc++-v3/testsuite/17_intro/header_iostream.cc
! 2aaef3ec922748aeb5909f51b1342ea3  libstdc++-v3/testsuite/17_intro/header_istream.cc
! dfdc10ff65db94a76b6311b37b6ae4b5  libstdc++-v3/testsuite/17_intro/header_ostream.cc
! 7cb9a0555013def25693caaeb17cf3ea  libstdc++-v3/testsuite/17_intro/header_sstream.cc
! 368f045d63ca1b00132d43ab0e97f34b  libstdc++-v3/testsuite/17_intro/header_streambuf.cc
! 632af13d0f7c80848ef446e80704b1d7  libstdc++-v3/testsuite/17_intro/headers.cc
! 4ad553f41c1a5eafde9ff9847c091230  libstdc++-v3/testsuite/17_intro/headers_c++.cc
! 9a0ea1671d79971d44f412a7841d57c6  libstdc++-v3/testsuite/17_intro/headers_c.cc
  dc052f366da14143979fde1cb7b296ea  libstdc++-v3/testsuite/18_support/14026.cc
! 9db641109f08bdcaa1090c7341b105b1  libstdc++-v3/testsuite/18_support/new_delete_placement.cc
! 7bdd10560b54d9f647cd7db2818e511f  libstdc++-v3/testsuite/18_support/numeric_limits.cc
! e6a90fab24b1fcfb99d63e1fb68b8d98  libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc
! cf7a051b2a801757cec57c98f29cd3f5  libstdc++-v3/testsuite/20_util/functional/binders.cc
! 39d82b99db268caa90fb1f58fabec864  libstdc++-v3/testsuite/20_util/functional/comparisons.cc
! 94bb2b1c9caa3438c1d2daef057200d5  libstdc++-v3/testsuite/20_util/memory/16505.cc
! b9f7ee5ddcf92f3af03468484821472f  libstdc++-v3/testsuite/20_util/memory/allocator/1.cc
! f2ebf12befece095a6f3ccb0acc65f3e  libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc
! ff95b196bf543cd0108643f96b59219c  libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc
! 400eab4433cccf5aed1badac2c10f01d  libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc
! 9d8258f09bb52b818416836cd08d5c59  libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc
! 5821bdd0c76ea3d286e343da19d94df3  libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc
! cf4ecdf52585f7b24e0dbf3e671d6736  libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc
! d4d45c1321ae38b1b05e502c8479e604  libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc
! 8674a4776652e59701952606d815cc54  libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc
! df0551926507bee61f2abd97a4cd8bc6  libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc
! 3c7503d81863c805970cba7f619ed28e  libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc
! 190b3db8a89eda70566a7b6fac38b067  libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc
! 4ea0dd1285c27298284df27b71f11c96  libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc
! b692dc910c64d9b08b9d67146e49b1f6  libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
! 8552c81696b48aced432b3819e73bd77  libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc
! c3fec86cefa8d96267c9b7d6ffc966db  libstdc++-v3/testsuite/20_util/utility/pair/1.cc
! 25d656290213059348e2faed47f15437  libstdc++-v3/testsuite/20_util/utility/pair/2.cc
! edc26c81af436a8411b7a438a113ed32  libstdc++-v3/testsuite/20_util/utility/pair/3.cc
! 1de8334f9b809b7a2d8d40151d5d7183  libstdc++-v3/testsuite/20_util/utility/pair/4.cc
! 4b56036117d84767f9c14169db142e57  libstdc++-v3/testsuite/20_util/utility/rel_ops.cc
! 19ed05c4205ecc6084f932dfe89c4900  libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc
! 8834daeee2ab853cfe5ab4c88ae9182f  libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc
! e5f1d9e251860efd724539e9657dd94c  libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc
! de193a49b4843b4f25f90eb88f2e0d81  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc
! e70290088017f439091aa9ac0bdae6ef  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc
! 9ec6c28182361ee66c8de2efc53f603f  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
! 6e442ab67bcfb227bdb0aec524cb76c5  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc
! b348fb241fd20ebb5c86d8fa780e566f  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc
! 30cb76d88f01dff00743a32710753f01  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc
! 46af26050e5685f914a468d7fb49b6d0  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc
! 813d4e85127047c5a509d49c32245d6c  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc
! 7127333c4ffd8d74d5dd922f84c75aa3  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc
! 8af819f284c6526a48b33ca255fbf679  libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
! 6ed157164a4aa59a693b56ec289586a3  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
! 83d9835500a8498e6cad76dc8ca570f7  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
! dddde6feee9837eb6ebe3506157ff3d2  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
! 38865fe680921704bff944f44e9c3faf  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
! 85455c902b2b1745a08d66cbd9a04714  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
! 8b1eb593929a337a00100bfa684b8e68  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
! 232da99139362d63d432e931d0269faa  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
! 7b2e418c306b3096e00299fa50abf111  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
! c5b18eae329389b7e85cfeb246516df2  libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
! f6d39e49fe3e78ff463514d5ae49ea09  libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc
! 548b49ccd5ecb075a450f15ab3d3bde5  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
! 191912c851f673f91f04c35dd3e5f67b  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc
! a35757b0e86d1e7c7f70b040c7bd9fd1  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc
! 05ef6ef3279ada3520d12a742da91fcb  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc
! c5ce630b807ab4b4ae534607164b0341  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc
! 9e65bd05cbfbb1331610567e7c8dd1ca  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc
! c0c0dae7210b7f3369f394e9f90d38d8  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc
! cf5ddadce3d9d5471c22c108dec7953c  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc
! aa87090c27e5eb7a9047371cc2bdb009  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc
! 25f56c21fded97a759d3b7ba4afe4158  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc
! 2e790636acff68a57f1c9023fb9135e9  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc
! 3dccb548f6d292460e553f4daa450862  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
! 9690b136bceffa63c7b278230d9e0a4f  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc
! 20ac03aaad884ee1678703f82d4bf3a2  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc
! a19e29c58326d1b801603096994cc52a  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc
! 36951b6a825fc94fe6019829db03194f  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc
! 1b4cf468253bf088ad0e618461f0df2a  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc
! 56b39968573f62a1071aae54bce9bb49  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc
! 7954fe32c214f1e95efa73b1f4537ff4  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc
! 679f2ba1da50bc794b3109dc32ee2582  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc
! 23595a0550b38951794aed732c3ff817  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc
! f8b6f463d0417fc049fd63a61c2a16c4  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc
! 97cf26bb64a1d710df415ba1ba63dcb3  libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc
! 05bbb66b797f7043a2c070dcfbb660b5  libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc
! 064ea2d5a6e2554c30cf0053aed9b18d  libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc
! 33e0afa4263083371b38aac51ba90e27  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc
! 1b5ca175fe37bf1c5d0c583bf386b002  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc
! a35ad285f106ee4629a4d8f438a273b5  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc
! c2a5cf5735f218343259624695383b59  libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc
! a16a33a97356d49bdfb67c22901ec8be  libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc
! 8ed9e7eb9a0ad9f9e1f28da1bd474bc0  libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc
! 8bdb2a2403a8577e912c1498151ee44b  libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc
! 5e3b21100c82471bb9d76d822904e40a  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc
! 7916d23c4b81a0e02759650b27ae93e3  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc
! 5c3c04b02e7b55ddc75845b1f7318272  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
! 305e78d382b30f64661c8443ca51bbaa  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc
! 8afb71ff912326825a3decf4d384ce43  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc
! 45e03d37a1e03b91f14de99d9d4708ef  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc
! 296c822723753a528084fcd35c744afd  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc
! 6a75ad1dc943b4c0ccba8757841b314b  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc
! 717177f190cabcaf8b4af4ccc646c144  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc
! 49bc7ca8a55d295fcc5ecdc5e484c159  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc
! 8e6dce45c430e656a93fe3698ff0afb7  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc
! 4dffedf0fd162ebbc160dcdbd91cd8ec  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc
! 0d4b73c6ac9c88080e296ccd29182422  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
! b7e782d7e707e7dcad25b0a7b8c08dd5  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
! 7be4290332bc0eb9adc7b1532c7cea57  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc
! d7ee4535f847e809baa10c306fee8024  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc
! eeaafb0967ef8cef3940ec70022195a1  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc
! 1b11be3291f8321053ca9d428f38b866  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc
! 22dca91c4d5f384af69a9de6e1f5112c  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc
! f7beb4b22388c1823e7d01e5e987c2cf  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc
! e64bdae4885f463fba16c55bab10b866  libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc
! d92851a12ad4d6ae44d82e8749509820  libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc
! 675ec429e8b568d4b21e003fa0224929  libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc
! e864de1e12aea60103f6639af712e27b  libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc
! 83529d818dd48e3074171e41a3c4ba95  libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc
! e28d8e98908a689cd5da382af7e05a2d  libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc
! 4481f8722125ac50f6a289c17f1e02e9  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
! baf188fd10de8c7accd7ba77f79997e8  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
! 3d8bec69171ac5b61342310192a22c6d  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
! 162a7eccdd4c7038dfeb4fccf7429338  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc
! 77e470838f5fbb8242d1f571bf980a5e  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc
! 79a7f48b28818a841b1d36ec46bcd180  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc
! ee20160074988e8fd5092fee1118e4e0  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc
! 8b33042e25e1e1705376fe89778c6859  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc
! f10a2584bd891c46f61384f92f5bf1b7  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
! 1ca5e573fc2fbdca33c423316b004360  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc
! f7cc0d4919927b2b530efe85980f49fa  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc
! 2521910ed8bc21bfd07e436e51a6b72d  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc
! 7dd2f165a78ac2583576258859ca4334  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc
! 9725544b2f88120b385e33dc4c271751  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc
! 7f64ae4fe3e4bb6172182d8d48ebdb29  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc
! 73f06308e957375987eff707f63751eb  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc
! 9516157342bc1ea40c715c0966e90f90  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc
! c2b6b099c2f6886f44e1e38bd7ecfa0e  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc
! 03fa0fb6636b03e067ba36a2ac50b50e  libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc
! 90932405f22062a849328979cc39aaa4  libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc
! 53e8987293eaff2824199b579209a35f  libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
! d8987ff05ce20f555180bfeb96002669  libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
! fd71a71fa238b50056eb110f292e23a9  libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc
! 9ad54e95164575b75c7e1bc9272eb369  libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc
! c544b9c53f0636a5a793c244f9698b09  libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
! 076aaacbb12f81f8ef08044665e27969  libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc
! ba2d4acc36dd321140a5307e392ae8d9  libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
! d7a867ad710e70e98ab9664f5b315d0c  libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc
! d3904617c488fb9e4d56aa50589701bc  libstdc++-v3/testsuite/22_locale/codecvt/1.cc
! 1558373abd15327f35c4b19ba2235e3a  libstdc++-v3/testsuite/22_locale/codecvt/2.cc
! ec2fe96e114fe94595d752455209df4e  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
! 6424a6e58e9a100386a207f775f8e6c7  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc
! 5db7d8ade067154ccaf3ce1c959d98ae  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
! e1b60207279528a4827de2e6bd0522d5  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
! 328a0d48243f5a2ff0458e375638ef31  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
! b6c7ce68415a21b8c86a32876c9324b0  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
! 41477ffdf84423f0dafb9be14748715b  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc
! c025c4e2bb26e6a2c7bd3346da72929a  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
! c058c8d74722f4d9f93299ae750dc67c  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
! dfcda1af14db29805c34200c1a2c8c27  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
! 9eaab0bc20eeea9b94a2ba865c437ac5  libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
! 67b358f3842036bc9c99afb33bd694be  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc
! 5b304ed1f1c542db2e550805d6878221  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
! fd6f4a754fb987ce58a991de53382222  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
! 0b3de0222de3ef992c6b7ca85119de32  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc
! 43f0ef37321620fed831137d16e49b03  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc
! 8244c0458d782818bbc8f5c93397d714  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc
! 5b72cb1f43f657c7fe618bc3e0217d6d  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc
! 6c35535839358cb5065095c00eef0587  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc
! c4c3ae579e06d8bda856f7c5957e1621  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
! 8dade10f694f8bd3e842c2fed218f214  libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
! e3a84d1b0683b2d197cd36670d1f896e  libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
! 7f9fd5b50e46ff676ced4deef1da15e2  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
! 8c0e73c37b3769955e555c1ac54bb65a  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
! 003bfc579067e5b318545ff43e8f58bf  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
! f53b435f7eca86ecd38daebaec4ed5ae  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
! a34a7c14a2a989579fd5f3a3a9555eb9  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc
! aa7559c028c54e178d8c5b249fa20bc2  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc
! 18cc378ef6c951f673d132af36e94532  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
! de7446c062061216d23fd265aa33d300  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
! b96dd8ea87581514dcfd4383b374e4e0  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc
! 44f1208ea0f8829218ae86afbc705ebc  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
! 78297f74872d12e7110965efa3c4b974  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
! 987c5e95998527e75187b91054c78b2e  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
! 00eb7651621c910c4b47c6f82bfafa6d  libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
! 2be80d74c364ad24d3a62e8d716f7308  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc
! 75957a6afa67cf07f05e15ade422995a  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
! 399cae6b22c0ae64f4176542286a5b67  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
! ae92b081ed43ce9864f0e526eb77957a  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc
! 065790e74e8f152164427332e03089c7  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc
! 3b0af8516515b2f47e4f34eadacd2d47  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc
! 92f4715a00f108bbf2d6060fb1b27f4c  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
! a80053d79b9c9a14aa44fe08be38c3ae  libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc
! f187614d1aa3793b6eace423a09d147e  libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc
! 840b54d6142ba73c7da2310fc84cf49b  libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc
! 521b859099f8f8eff1c81d4c2bb12ff3  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
! 9abdc25559074a7d916c9e7da5bc7327  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc
! ad440f2bf912ad885ef72a38e1369d47  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
! 41242ce511b46d1a72d2db8019e7f2df  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
! ca5308b381afc6bc364d2cbeb541bf5b  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
! dd7a782319a1ee6beff3a3582d597efe  libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
! 9b513d628a0acf2618690e5feb62382e  libstdc++-v3/testsuite/22_locale/collate/1.cc
! 44c3fd4474344d64049e50a4ffe32911  libstdc++-v3/testsuite/22_locale/collate/2.cc
! e09c54b8f590de35e84e1d4d5df62e60  libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
! ec69f83d04bb14739c106d03f117a0c6  libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
! 0e191ee0d47a675468f222b8a25b2e00  libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
! 81784ed18afab0cc44dea1ce810cdfe1  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
! e066b458956ed2f92cc0cb2428ccef8d  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
! b6cfccc0484cbfdc517b72e805b7353d  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
! 471584cc79f127e96049443e79b067e2  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
! f9435421086446f7b02f021c18962a06  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
! e42ba44395d56d4432a886d492343bd0  libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
! 3752e00c1de1de902a4617b79e5160f0  libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
! 5f1b27c734313d88da1f0dccc26cd44c  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc
! 3d644df212bf4316dd06e7233d2a439d  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
! 471584cc79f127e96049443e79b067e2  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
! f9435421086446f7b02f021c18962a06  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
! 676da9f0c322b13267c49886dd5190ff  libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
! 46bbd613959b43bb9472f13155230a91  libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
! 1bbfaf4ba6b5f2f2ad40c28165bbb5ba  libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
! 0f4045b412f2e060f261a2c413f84c67  libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
! 739818fd717a2d3d0ee733f542af5a68  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
! 31a08c705d36bcca7bb2da1734068409  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
! 86d3b8b16ec5eeb57cf9048c1c9a63a9  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
! 966594ada45349b8b2060bb0192b1e4a  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
! c6454ff6b5474dffce41141c0419f20e  libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
! af40143d285bbf93318e4c9d991a02db  libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
! 77a878ae01e0b273b5459e0e6f346acc  libstdc++-v3/testsuite/22_locale/ctype/1.cc
! 30f516c3d78af86ce5e2798c4abf0da5  libstdc++-v3/testsuite/22_locale/ctype/2.cc
! 428d1673a81a6dd46a1d1601d02683f2  libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
! a21fb9b95c16d020a68856c216b53415  libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
! fd8528b25becbb5b69c217f184650875  libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
! ad1674bb96f9f9d6dbaa617f9ea92770  libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
! 2e771fa72c60e21a07d969f6850f82a7  libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
! 3a31e99d36603378d17eb90a766c9f71  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc
! 9e99c9b27b8276d7432b22c09fbb2e5d  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc
! edc6038953fa92576820bb9985bd54ab  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
! f11a96600dec19d1c6d9baaa3e2f147f  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
! 2d7b683e02efd9c28fbfe443649ab437  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
! c44de49acfc179f9cd15c48871113f0f  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
! 64551794d12ad34c465d5d88739a01dd  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc
! 842f419c4735258fca837c954adf73fd  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc
! 9353d81a85b0c76f9ae43b2b5ca59e21  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
! 56b4c9fd0ad5de6cb8c65989f794f868  libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
! b3048e3a619b3a70f46e55af9d313ac1  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
! d1599a8eae97092430a24472e3e282a2  libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
! cf10789256cd8d39b09f8e7f474631dc  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
! 221805a65c9c8e539b3563e7fb4f1705  libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
! 2521624b7e6587030cea39fb2ec6d2a3  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc
! a8313278aa62d190e7f8c95a367ac095  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
! 65c0fb665aea353de8427fe799fab601  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
! 8a753473e80de3578fa7f5e8bfe52ccd  libstdc++-v3/testsuite/22_locale/ctype_base/1.cc
! a85ce5d81359bf3858ded79a5f798d6d  libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
! d420aa472c3d6a7bf58ea86e9240750b  libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
! 6cdd519cb35e88a0511927d69ecb01be  libstdc++-v3/testsuite/22_locale/facet/1.cc
! 1af120177573f093a38417209bff876a  libstdc++-v3/testsuite/22_locale/facet/2.cc
! dddbb16d7ea6b45c1fd10b8d70acee26  libstdc++-v3/testsuite/22_locale/global_templates/1.cc
! 69d92b6236aea918659b045211519c47  libstdc++-v3/testsuite/22_locale/locale/13630.cc
! 4b68b529d1591e16f8f7c673c0b45fca  libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
! 2e82146988fdd19b2afdc1b102f7230d  libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
! 08c443e1a4443271f807ce1afff53c16  libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
! 9deec0422daac2eec432de2a7659e835  libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
! 2d98eea5a8c900a4967153085afb2a97  libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
! e572f84f02913ab77b079684c4b7bf69  libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
! 99c026b9ac0c4b82612e6c91bf17c15b  libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
! d8158e3613a6fc779d3264e76adf06a3  libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
! e4f5a7c3018a78f689b5bb377806bbf8  libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
! 867f789f63aa8fa08e53d0c8dfe499ec  libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
! b4a50835acd38ff71091ce84d186aaa8  libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
! 83dac221efbfd00eb4fbdeb097fefe4b  libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
! 69c0266293d62cbd352730e45c6febf8  libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
! a944129f8f41d21c34474da9dc05735e  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc
! 384efd70b74aa278def60255ab81336b  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
! 6f1e7a83473cbc6fd17d6c7166656e65  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
! 0d5307cee31b0dea468949964ed11270  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc
! b55968d7b94f788c482a6e7c174aa4bd  libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
! e245444cad487bfd5d8c7ab59e9bb6fb  libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
! 27cd0da7c64242fe162127dc4b53dfd2  libstdc++-v3/testsuite/22_locale/messages/1.cc
! cfdfce26771dc4e87c1b31336c1a9252  libstdc++-v3/testsuite/22_locale/messages/2.cc
! ca2e569661283993c18d9a89bcf4652d  libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
! 784aad83ddde6122915f6711f5ee12ea  libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
! 8296554686c85007053c32bb2a23b9c0  libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
! bc857e60e180b7e79d25c8b74743a10d  libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
! fbbba36573f95004879d626a1ed7939a  libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
! 5aefe4fc5c35dfc32a78a66918dbd010  libstdc++-v3/testsuite/22_locale/money_get/1.cc
! f82b9d5e27791d1f7d8d0887d51bcbeb  libstdc++-v3/testsuite/22_locale/money_get/2.cc
! 2bfa76d5b8b69a24e3c4b10edaf934f7  libstdc++-v3/testsuite/22_locale/money_get/3.cc
! 0930042e1b1e060e3cc10879abd97c98  libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
! c1a125b4226730e9633ca8f1f60b2a5f  libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
! 1b1d3dc96cc4c637f83425e7e1271d81  libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
! 1f217e1faf1aa66200f49c42d19e79c8  libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
! 4060359e49a9a7d6ac447186d8c794ff  libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
! 329b89dc8a9ffd9713a4bf9200d369d0  libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
! 034db87984b5d0c6821134342d292ae2  libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc
! b517ae52eb1ef9e271b2c04f65b2248e  libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
! 0188fa4a022dce8bb1c071f9576207c6  libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
! ff9d5d2b17c38e8caf356ce30da97ae6  libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
! 9940fd020bde7ccb4b4831811fc616d6  libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
! ba054367ed44e07e37d11f34b592641d  libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc
! ad9b47ae8fa91c81007bcede0cab372e  libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
! 0f57e75b3a6de7a96cc49dc3fbebd2ec  libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
! ef42af698c421e00d9bcb2b6c3c44a99  libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
! abf563d26b7113f6b87783bcfbfe2862  libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc
! 0d3b834ac609a98b45b0f15df1b392c4  libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc
! 012108ba5049cc94c2b216dfb94b261a  libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc
! 008c8f8e5a15c6e58e4b13a3f1a0017c  libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc
! 5f2be3b1f729e7294ba59670798a5e36  libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc
! 7669fed6356f2d6824efca8d1701bad3  libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
! 5b331fdb00cf67d3385793772810a9ce  libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
! 4249c9eae25f06a3879059d0c6cd4657  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
! 0ae93fdb47728886c6cfb2c84cb0b700  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
! 7930dfef14c6ed938db3aaca3128f62d  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
! 207b417fac3065125a30fb56c470ddde  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
! c09d667c21994633af37f0740453b116  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
! d0ce80a253c4eeb166b06f94f0baada6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
! 7d849b3e648af365f5289f3a6fe57f88  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc
! cc94553d3061b8f789e3a1f0447e16f8  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
! 5ee836b272a89ef1e2d759297545624d  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
! 006aef635f9b472517e4b461fe0a8fc1  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
! 0f7e927a1ee82394be846d6183c84be6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
! 949b591b6268c5b2455396b344261c76  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc
! faaa801700212a534d2ecc701798b1ae  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
! d4d8b005465c84c09b2a9b1f96b91db6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
! f6052b058383755d353f5b0d6c564fd6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
! 8f13852fa399846f54cf7915841bb716  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc
! 853600318f5fda0d0c8ededead0f75dc  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc
! dfe43e6fdb5637e4299265c6c879e23a  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc
! 6aa50bfbf53ec4ce49ff036e540d0756  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc
! 22dd311fe35c38031aab1caf28361174  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc
! 7669fed6356f2d6824efca8d1701bad3  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
! 5b331fdb00cf67d3385793772810a9ce  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
! 686258c51e50919b49ae0a23d7781923  libstdc++-v3/testsuite/22_locale/money_put/1.cc
! 9538b8ce631c3f42d1f7ce84be0ae57e  libstdc++-v3/testsuite/22_locale/money_put/2.cc
! 380050223f3c3648677b06e0600e0689  libstdc++-v3/testsuite/22_locale/money_put/3.cc
! 66b59d5f241d07309f371f66f5f9fd42  libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
! 59425573b824a7d6d0562c50c3f712ec  libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc
! 62981f2e0bbdab09299f4f73e437b5f8  libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
! 1a3c84aecc15d7eaba764e9db173c307  libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
! 989b3ed32f65961feddb584cbb31ff71  libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc
! 15060f7a7d578117ec72606207401f68  libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc
! 8fd31aef254045cfb219ef71743f6637  libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc
! ab3ed658fad6bd4d6c3c3105e6817648  libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
! a3de72ea9c716ae3cf86e70ebfe5a1c5  libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
! d2c56b1d8a20510d01b2b2bbb6460090  libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
! f5def40adc3a1cfeed15129ec5db1956  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
! f88a4901f0e9088a2b5d7d905fe005b4  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc
! 9d1b1200bcf2b600305d0f68ba5e600f  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
! bc0afa939064067cdd942c4f7f6a9f04  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
! de264aa131baace7c6a7b7f42475a15c  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc
! 5f6c505ceb5acb0fc627131a6e11e463  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc
! 3f75ad313bb4961fcf24e563935083e4  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc
! a3de72ea9c716ae3cf86e70ebfe5a1c5  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
! d2c56b1d8a20510d01b2b2bbb6460090  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
! 83745bf28c93a74e8498efbf6a7cb2df  libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
! bbdb5ecc236bf2f91d9c57a9b61f96c8  libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
! d3bd54c8c4b80f4556488428f5b54a0c  libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
! 1c3716fe0f13940fbe932f7131413821  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
! b62c31c3ae2f02dfdc794776d76eb4fc  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
! 2e572d2faac09b4f93b97f6ee2219e90  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc
! 135ecb825722e4591da4cc88c5acc7df  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
! 7df6c08416632e18de72a93c689c1742  libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
! 479d25a4a9f489bd3ab6f2a3b5ec7ee2  libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
! aefb3854e2b21c27c88bc6972c351cbb  libstdc++-v3/testsuite/22_locale/num_get/1.cc
! cc12ddd0e796a28cc2b5a13127fb3fcb  libstdc++-v3/testsuite/22_locale/num_get/2.cc
! 65853d82faba63d6798da0cc0aecd3ea  libstdc++-v3/testsuite/22_locale/num_get/3.cc
! 67425bdf981b811b03643673619201f6  libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
! abade76f6f58472d35f31be068ce3e2d  libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
! 76a12559b984fceb8b42fb9bbd76f693  libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc
! 8e106639cff2ed619a4c8d9478776ff9  libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
! dc710bb13291948c8e27a6852fdf6579  libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc
! 5118ad077413c43bd8011162c23b1a69  libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc
! b63c4974208d504a08d418817cf02f7a  libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
! d934cee8f1861ff5e72218e1529b5bc6  libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
! cc72daa9fa80c177123d67d884bf0f63  libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc
! 52e3f9594c68b70cdf285e0c840d4669  libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
! 2e42bd99cbb6ab8cb7badd8620c2dcda  libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc
! 2c2824f0a32db7f9346fed56d720b8ec  libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
! 232cecdfefb5d3e7431b734b26840841  libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
! d03bdd43af7c20f5163802b1308f845a  libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc
! 51c518a7adc1690c3c636b85e52c5ba7  libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc
! 9a2b54a0d54200d4b9eebe716586352c  libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
! a3de72ea9c716ae3cf86e70ebfe5a1c5  libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
! d2c56b1d8a20510d01b2b2bbb6460090  libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
! 56c385ccafcf4cbf1e493fd537bbc3b7  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
! d06bee3953bde866484abb972b8aae17  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
! 409befa144f82fd5bf79221419ff5219  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc
! 70878e34a84f0f9a9156a38be6240ad6  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
! 6eddab57b499e5d079a41af670365c3b  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc
! 922e47152552460dce8a89b143e6c81d  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc
! 78d9a4a0a3265158947b0e85f19548ef  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
! cd6e847a61cc3ac58a5963ce5cd92987  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
! 583980d2b430e910209b83d871697f4b  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc
! 34e7709ad5ede9907db9be67e58bb973  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
! 91d3392d0f270f153b20865fad61e589  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc
! 47ec914ae63dde4c5f95026cf1f6b200  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
! cc9c155b4e1d3b2e3d10267604125f5f  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
! 9c8260ae11a7e5cca48b5cb1b90b9e8a  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc
! 6718ee299f63fdb645d5ea42e633cf85  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc
! ff5f3967964bd03db6d0030c6b2c68b7  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
! a3de72ea9c716ae3cf86e70ebfe5a1c5  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
! d2c56b1d8a20510d01b2b2bbb6460090  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
! 17502899994a21e37ee7a01ca24171dc  libstdc++-v3/testsuite/22_locale/num_put/1.cc
! 797e9b7de1f6824fd68f277c4564d507  libstdc++-v3/testsuite/22_locale/num_put/2.cc
! 7bd6d16da3c78fdf050dfab2de962e2c  libstdc++-v3/testsuite/22_locale/num_put/3.cc
! 7808e0a2b7ea6652e3145f1d9d28fd8d  libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
! 278712fc61918fcca80538584326b2b6  libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
! 5c428a14b12816fb889d17aaa9182fed  libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc
! c59fcffc8b57bd716ec69bc5a226031f  libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc
! 79ea9391f27f7a5538edb20652e6504c  libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
! 198188e43444823c430e438b4bd6eed0  libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
! 0de8355eedb8db59bae1a4bcae093731  libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
! dd7eab6dda48b257bfb44b351a5e2f9a  libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc
! 658f9ce809c86430159639354ffdef9e  libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
! 0c6b9e6d092cc3e96a6976266f072bfa  libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc
! 8b81561810d8ab79cb044b900570d5bb  libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc
! 659d42b77e98219c1e89668cf5d44e66  libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc
! 3560071dfb29f64028ed168c48204ee0  libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc
! e459656e2650c3b260946de4e8d84466  libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
! 09e13a951d2922183cdf26a7d6ef1ec3  libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
! 62cf6465be529086d30229ce1ccab9df  libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
! 85ebdcc9774bc6a590f2fa70f3a68acc  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
! 38e48bcf35504768e8157549185f1282  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc
! 3feb470b58df8fe01fc0823801a370f9  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc
! 14311897dd63e6ce8d8344d2ceeb52ee  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc
! 5ba9b5752c47e6d6b2e290efe1998d39  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
! 08a9ead91eabb57064867f46308636ed  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
! 386cd61c84f9d9113ed4e994bf633aa1  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
! 0fd8acd438ce3afe546ba1448224e598  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc
! 41f2ffef59c71eeb2167131b4e6f0108  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
! c7e2c0ea1d27b9bb5a98f995f240ed10  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc
! ca9bc75faf1762ebe4d6e3a519b5856d  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc
! 7a43a2a229a289a4c06bf9c3e06f0eed  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc
! cf01cbd4796c7e71ba241a180458c2a9  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc
! 09e13a951d2922183cdf26a7d6ef1ec3  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
! 62cf6465be529086d30229ce1ccab9df  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
! d5c6181490fdd2c86e651ad3e16f63ef  libstdc++-v3/testsuite/22_locale/numpunct/1.cc
! 21fac0ca4c7189e6ef253b76d2d71728  libstdc++-v3/testsuite/22_locale/numpunct/2.cc
! 91d89f71266e53fe756ad6b0a1550aa2  libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
! 783f34b6173074972c5ec6722670a535  libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
! a9024b16bd7df67d4ab6d2288c3fbcdb  libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
! 77af6c21b4caf70a68bb7d25e91e35a6  libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc
! 6cf6ddeae707872f2d474ba546871e60  libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
! d6c92e4cb7a77c70848af06be2a1e3a5  libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
! d0255a2126d3866837e9e307bed8f2ca  libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
! 7ec8ba7aa35a25d950432101b19e86dd  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc
! 7783e21edecb6a5b4abe4265ea839093  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
! 56a1b7d8daed44d6d02560f05d8463c3  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc
! 05fd98c7540604ed3d3d956f24222dfe  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc
! b41efffe3388b76925dd06b651f30d39  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
! 438c7e9c8dfee855ec0a30ce0114d743  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
! 7bdc157747543bb9df4efd5c6e762e42  libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
! 63d8cf4f29d7c67638ed506d1793c1e8  libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
! 677652c44b166a424d02a54065617c0d  libstdc++-v3/testsuite/22_locale/time_get/1.cc
! 502321b91016f21956c041fac6d62b26  libstdc++-v3/testsuite/22_locale/time_get/2.cc
! 279ee4a2e3976bc50b00152fbfb42130  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
! 58a3acefb285b20192fad03ddf86f943  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc
! ce062167254ced8d934a5f2ede99e805  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
! 12e321a4c98bfd63ff02afab4ff1e7a4  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
! 1795c6a1e6e65f2e5d727b1229cdc4e1  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
! 288ce38730f176f9cf689c2cb9640dc3  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
! e68a8c8ec01e1119ed49013d7da8312c  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
! 05d386f489a774170dec1daa87db6d90  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
! 6076625674c29413b3b2d2ad374689b5  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
! 3e95939f98289cedde5885b07bd33419  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
! ba6f14746900258fb90634ea9d84cb43  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
! eff36fa0416dce58e21ed3c56069982c  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
! 0f12b501c1f36bc676cc4568201ae780  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
! 95e6977d5009373db59e66bc97f5abf6  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
! 95cc1149336d67a4bd0be4aeb0c0f1e8  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
! c6ef338c472a9b029b258d98ac3aa40a  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
! b6afed9e175c3da447cd5b01c2e4bc03  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
! 4d5f0f6b6dd070e89105e060ea329c62  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc
! 5ceabd052d18d87d767dad70f45b585f  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
! e5a35d98735e543107ec0a9369887df4  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
! 97d63584b32d37b5d3c8ff9b2623fe48  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
! e8fab954e08c8f270e5c5e60eeaa393d  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc
! 03d40adc61941f014562e163454684ba  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
! 218f8082d7c80b5a48151c591a9c77b2  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
! 50086e6d5149b7703b184071d306de85  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
! 450362c6bec04409cf509f3dcdbdbcab  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
! ab647d5ad6e94b1d0b090ddfb4b5cb90  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
! 836ead014c6f33e2f6fc0739d1c16921  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
! a36980f96b19adf190bbaa88e83539d3  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
! 9cf0c92ee823e1f1eae8480367717378  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
! c7ad7bb809aa02a703fb8c1cacb62266  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
! ab181e983edc42b8ca603e6e43f5a98f  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
! fd285cf6c773aa6b2094fa271bc9bc11  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
! efc0e3c5a5d5552c38d0fa07f19ee5f0  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
! 3e68b19c757fc58612a61e97ec8adfdf  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
! c3fb73950a280af882ff2d05f407f276  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
! f22f0060c647039c6f4ba2e64f167e25  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
! b517fe7851eb6af473446bf530783b7c  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
! 855f70aa57ed9fd3c46e9e30cea38f34  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
! e83a436004d541a8a4add9fc8f368e75  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
! d41f0c534ac8c0744b162e33c837c7e4  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
! 100142d5965f181f0032630ef4a22cd3  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
! 4e1f90eca5ed0b749e14d44c1ea73a05  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
! 413403c0c9960de421e837c50efdff3b  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
! b3f76bb64919653ddcb03a7351d9b683  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
! 100142d5965f181f0032630ef4a22cd3  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
! 4e1f90eca5ed0b749e14d44c1ea73a05  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
! 0b54310b0811c5284ca034d568fcea71  libstdc++-v3/testsuite/22_locale/time_put/1.cc
! 6b223e126b5abf41bd01764c9cfdff8d  libstdc++-v3/testsuite/22_locale/time_put/2.cc
! 52485af66505fa8206a2e8df58b9b010  libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
! 33ad0bd3c3827be3eeeb1871ce02f5d0  libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
! 8c1c93101f82e6d2bbbe8e02fc593ef7  libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
! 670cb6ad1d149cf08b8523b22da51d65  libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
! 9890426a81613df5d6cb9d6caab0dde0  libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
! e2e8e847129557b9216f1f41ecce9052  libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
! 8939f2f030434b5d0a9ce108bb69776b  libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
! 79ff4f2da35b31b22b105cfca5bd7657  libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
! a2f02af0979e70ab1bd626e058b48f45  libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
! fe552458a955c38244dd931237380e26  libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
! aecbc72c1fba80f70a6686717a9c27a1  libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
! 7de8c702e8e71728abecaedd2f749168  libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
! c6df848db116326a4eeb18f74d500a25  libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
! 3eab747b12ca632ebb08ae556a90d53b  libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
! ba0307160070a86e839e525775f30c4c  libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
! ca7520e1a63234cd0d2b998601ef54c0  libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
! bac155724c2fe57670b2d9ed3c834f3c  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
! fca4ec334f8a93fb87e46b54f1d7ed78  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
! fdad2a4cbf562f9fb7611ae3f738071b  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
! 312f22d8c97ada8c483a711a399ad4f0  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
! da4549ea627e8e8011ff987e2b2b1fcf  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
! 3c3f75449be0343aa8b29e86e13f5d60  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
! f6bf23ca25d907d8352abc54ad9a7033  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
! 59c0f278e77ac302dbc9f828c44e04c3  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
! a24131caabea08d6c9d4a9c06f1c7eed  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
! 1d4c6e9b41b00a7fe9c7396522df4cac  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
! f787d0ab26c1d86098b539ec39f6e9ce  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
! 1ef6f4eaadbdfadc9d34d77cbdf484d5  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
! 0f3d2406858ddf25854b40040a5e2b11  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
! 92475a87817e8ea5f47a4bcded1d6686  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
! ba0307160070a86e839e525775f30c4c  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
! ca7520e1a63234cd0d2b998601ef54c0  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
! a3a014bf4370a13d4eddb6810c3690e2  libstdc++-v3/testsuite/23_containers/bitset/18604.cc
! b2e9156d4736607a8518d4ecd0545d4a  libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
! 0aaaea88c22d34f55026e8997301ef58  libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
! 8dc157aa4f81fd1feaf780c0388e925a  libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
! 965b5e6dc114bab63e4fc54deb8ef549  libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
! bf4de730ad8a54168433d191381147b2  libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
! a111e89d4a372fc8ffec50a8ee10bd42  libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
! 9a2f485447cbba0d146401ab853c7399  libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc
! f75f08fcb0c37ffb95522f4da7390982  libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
! 5dc61aa60f3a5b87b1cd5f1d6aeae63c  libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
! bbe30d6805d20aaa9920808f6ba14198  libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
! e8f9133fff454bc6ed77b0742125a5bd  libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
! abbd699613ba819a61dc3db69bfeb004  libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
! 42bc31bddac304da6e5add01192d6daf  libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
! 1205a772f13a1506f1307341de9878d8  libstdc++-v3/testsuite/23_containers/deque/1.cc
! 47ac2ebf2a1a3530ac3ec4316d206128  libstdc++-v3/testsuite/23_containers/deque/14340.cc
! 96c3e7c0b789800e81388ce6060f9891  libstdc++-v3/testsuite/23_containers/deque/18604.cc
! a4b2d516bb637d318cac6cc5351c3163  libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
! a98e8706a103646bc26f5694bf5879bb  libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
! 1f4d7dc4da166761d0718abb24a9ee3a  libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
! a25b47baff1079bde449c961d2f3b42d  libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
! 2075e16a7cbbe3505c3bcd13fe31f765  libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation.cc
! 353fc88667645a8878c1cc2858f2ba2b  libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
! 70564d23d3797adaf00af4ebc612da4f  libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
! b0d53156494f8c317068ba51010b9ed7  libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
! 3915ade76cea28f138b9feed000f7edf  libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
! 1fd2f562975054b91ed77e31118ef03c  libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc
! 9bb1a1dd83e19901aa6a11396a0f20ef  libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
! 29eb5de4b8c3834ab8ab72cd46d4e120  libstdc++-v3/testsuite/23_containers/list/1.cc
! e19fc392c40f6b0868c6c27254b9a525  libstdc++-v3/testsuite/23_containers/list/14340.cc
! 2c21fedd924b941d5642c1c4e890ad0c  libstdc++-v3/testsuite/23_containers/list/18604.cc
! 9e704853cec9cb72b555bf988f6add3b  libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
! 07513836b1ba91bc8d87b8cdae313a24  libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
! 071c750543a8b1466c39a7addd0bbd2f  libstdc++-v3/testsuite/23_containers/list/cons/1.cc
! 55375491ee78c25a66385c2cc9d18641  libstdc++-v3/testsuite/23_containers/list/cons/2.cc
! 0369b6f23cb53fa220eee5154ecb10e1  libstdc++-v3/testsuite/23_containers/list/cons/3.cc
! 86166d5b41d9732845f5bb584dd4ff56  libstdc++-v3/testsuite/23_containers/list/cons/4.cc
! 3f076d40783d1404743069864ff49c94  libstdc++-v3/testsuite/23_containers/list/cons/5.cc
! 1fcc4bca5d9ebee6f97818390031c990  libstdc++-v3/testsuite/23_containers/list/cons/6.cc
! e4c6c3453309ba2402ce4d66b2337bb0  libstdc++-v3/testsuite/23_containers/list/cons/7.cc
! eb512806d6efd83ffe296121b4b45aef  libstdc++-v3/testsuite/23_containers/list/cons/8.cc
! 250d4ad50270f5298c5b768f309c9350  libstdc++-v3/testsuite/23_containers/list/cons/9.cc
! a22417c38affbd4ad4ba0b999d1f9235  libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
! 13b7caf10a6214f2f4f1f1bfaa989a60  libstdc++-v3/testsuite/23_containers/list/explicit_instantiation.cc
! 8c559eebed506306c3486d7039d03e70  libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
! 9cb9a54e0206c155ddaea8166fd4dd10  libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
! f379d4fc54b3eb836fe5ec438e07ab52  libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
! f6f53875bc6ec58d4d7ecf5e3c9878b8  libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
! d0fe6e73e5b8950da44262b07d386b2e  libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
! 2963cfe87c97488428646e6c4f039a5a  libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
! bf9a99dd08eda16576d1867ea4d6c4e3  libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
! 55a8d0c2a3210df7664dc45f33b04dd1  libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc
! f005750556c4a5d1b820f275aa284eb2  libstdc++-v3/testsuite/23_containers/list/operators/1.cc
! bd2aaf139929150ade7af027bc0f3e07  libstdc++-v3/testsuite/23_containers/list/operators/2.cc
! 9ee9abcd84021b7501b3740555b8a70a  libstdc++-v3/testsuite/23_containers/list/operators/3.cc
! 44202014b11f930bd30411a74a0bbf15  libstdc++-v3/testsuite/23_containers/list/operators/4.cc
! ded5ce9e88ae459f9394098cb136ce5a  libstdc++-v3/testsuite/23_containers/map/1.cc
! f3a6cca2482463f98ce4bbefd215a079  libstdc++-v3/testsuite/23_containers/map/14340.cc
! 13c3095a7b05619e478d120cb35eecf2  libstdc++-v3/testsuite/23_containers/map/18604.cc
! 4ebdd196f489bc7f53840b2e144644de  libstdc++-v3/testsuite/23_containers/map/explicit_instantiation.cc
! ff17dfd85521734e2354f4c94365b834  libstdc++-v3/testsuite/23_containers/map/insert/1.cc
! 83488d5cd6db5d82fe7ac969642dea3d  libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
! 229dc89f61102e4cbb432a95da905fd7  libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
! 2a8a211b0267ac37aa36de069c92f83b  libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
! db5b73515723aea0c8134ca3ea57ab19  libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc
! fb07d2e6c3b130e906a8986ea17b82b0  libstdc++-v3/testsuite/23_containers/map/operators/1.cc
! ecbe18da2a1c0edb433371f689b56b2a  libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
! 0cf5ed8206454cd0c064f64947447a7b  libstdc++-v3/testsuite/23_containers/multimap/1.cc
! 15a0c566bf8f9cf50da0b5645db7ccde  libstdc++-v3/testsuite/23_containers/multimap/14340.cc
! f8654e04c96fee2d1f15ed54a273f72a  libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation.cc
! c18d1228b12d82530a57028924bab01a  libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
! 3fcc30e8a702410fc71ec59fb73ea0a4  libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
! 5709c210cbdabc9bdd0468bd4caaabdb  libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc
! 1a3a90314c27e9e30f0575f496722f0c  libstdc++-v3/testsuite/23_containers/multiset/1.cc
! 398e4076b18debab96eec74f199ba5c5  libstdc++-v3/testsuite/23_containers/multiset/14340.cc
! 1b06b3f6dd1650702ca1cd83c42337d5  libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation.cc
! a08ae6ecebcc355e2ad02cd109b0fa13  libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
! 76bf9035cb347179b6a077cb54bbad9f  libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
! 7a1c61f406d9a347dc19491534386686  libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
! 67b957cbcc90e9990fc5148dd0c3ef21  libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
! acc6fe57f8e551c3b6090b5f76659e4a  libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc
! fc179a7048e2c023ba31f7e0800d3ddf  libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
! 62302728f3348ae4fcddda3cc4f985a9  libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
! 0a17ea416e321c0ce95055d34dfb5c4e  libstdc++-v3/testsuite/23_containers/set/1.cc
! 8a34e8ad6bbfa22728fecd14fb6eaa00  libstdc++-v3/testsuite/23_containers/set/14340.cc
! e14d4eb44cb4a57614a8d0aec1dd7d18  libstdc++-v3/testsuite/23_containers/set/18604.cc
! a3bbdfaa53dc892567818297a32bae02  libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
! 11a045dff2f8af2b60bf24e2a0f99bbc  libstdc++-v3/testsuite/23_containers/set/explicit_instantiation.cc
! f62ae61eaf84a5851d71058563bec71a  libstdc++-v3/testsuite/23_containers/set/insert/1.cc
! 3d540f2bccb635bd43e7e8db11a1d2c3  libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
! a60362b3af507c75952e5bfca30acbfd  libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
! 42876782209cfa21261faedd40d1651b  libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
! c6d26b6639ba089de93f86ce80b92834  libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
! 5dfa31723a5b8c7cb9f988e3bdac4d97  libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc
! 9fe25fb1be418231a622eae4a6e20484  libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
! 52d51b5ff50960a7f0382da76cbf3448  libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
! e4660d43a966624ec54743756efe7456  libstdc++-v3/testsuite/23_containers/vector/1.cc
! b9dcfbf9ad2540b9367cab4a2018f2f2  libstdc++-v3/testsuite/23_containers/vector/14340.cc
! 7de94f1858c0819ee1ed6aec0778efab  libstdc++-v3/testsuite/23_containers/vector/18604.cc
! 02f6233600be1993bef8a14b804c4518  libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
! e995f53fc062125e3374c0c6aa7144c6  libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
! 2f8a84c7cc5c5deaaed150f4f7d25869  libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
! 9d094a12b995d488dd798136dddd642c  libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
! 0cc61f21d45d666ddf6ab8e53cbdc345  libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
! 0187a4c8db58d6a12c12463792c76954  libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
! 7bb2e0893b82ff64f94c77b17f2c8912  libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
! 55d02f7de21ea96088733708bdd22c9d  libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
! b91666131674442f32e5fffde1c59776  libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
! f2c47d43305302c666c889bbbce307b9  libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
! 4fe7d0f89a1b67bea85d79d6a7a94f89  libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
! 07e4f5dc9fad07c30826e565dd854fbd  libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
! 4b7c34ada63c00e1d6d1cc4bcb7108b7  libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
! 08bfa395cc98df61ea5459e5f79c2e57  libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
! c5bc8535af19de335c6574d5a4ac1370  libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
! 32519cd01671f382d9e5e8bf3e585cbf  libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation.cc
! c92b7b81263b7683644553950174caa3  libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
! 610901d7ef0174741994f7648c9e13c7  libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
! 44b56126b30197f520477084db34131d  libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
! 60809c5dc44ae76d0c39e7ce73f07045  libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
! 0d0c57cddc9beeed009beb55d7e6e8c6  libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
! a9d3ccb0ef90d6f452b0ea5f3e782be4  libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
! b4eaaa9e3e5c4543af6751ae7a135419  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
! 3b85dab72ae201e95b7047619c4ed3c5  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc
! 74208021c6d65ea79f87f77fc2ffdbf1  libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
! 911290483aeb1fd3daa8edc0ffeba797  libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
! 03e6ffbb3c915f771bc394acb58e4dcb  libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
! f17841e4b6fa43ab0ae9cd28b585279f  libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
! 0f8dab454e7229371f49b26c6e391f09  libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
! 6e9c6f6bd16b19a7915d8a54eef8e13b  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
! 4f38b325387606e218e7755cc71b1b16  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
! 2a107654593eb074274846a1290ecd64  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
! 0e997affe76d8b57bf795a783986cd29  libstdc++-v3/testsuite/24_iterators/iterator.cc
! b4d05133b1d64b0f214fb7d664a48c2c  libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
! 7693fc2a6d3b60d21235e3c8687ba571  libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
! 5b844e67ccb6100c089c821826c7f71a  libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
! e39bd6e1519f461c54f8817a58f3811a  libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
! 6899c6d16cb87df0b292856d8b0e267b  libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
! 652aad2ced9edd516098305145ed6069  libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
! 1aae623756cf2e465e32ef58b3813259  libstdc++-v3/testsuite/25_algorithms/binary_search.cc
! afdf8f46df1e00e9d4a5871021065085  libstdc++-v3/testsuite/25_algorithms/copy/1.cc
! 31d5f1d3e898011eea956c89455b14bc  libstdc++-v3/testsuite/25_algorithms/copy/2.cc
! d3afcdf4bd2d747e3413c6f8dd4a8bfd  libstdc++-v3/testsuite/25_algorithms/copy/3.cc
! a291cc524c674d1df096691161bfc535  libstdc++-v3/testsuite/25_algorithms/copy/4.cc
! 5e6d1854b0d7067ff02a3974aec6e31d  libstdc++-v3/testsuite/25_algorithms/equal.cc
! 7326f645df7338ccdcc9699379644c6d  libstdc++-v3/testsuite/25_algorithms/fill/1.cc
! aeddde25884ec33a282c2a4d1816b486  libstdc++-v3/testsuite/25_algorithms/fill/2.cc
! 9a5e8949fed693329c72d6fdc02cdb4b  libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc
! 48967cfb4d6df594db4b72675278275e  libstdc++-v3/testsuite/25_algorithms/heap.cc
! e1213f8ec6cd72cf52462a0f04e1c09a  libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
! eecfe682fbead0e556cdf1f1c7b7bd86  libstdc++-v3/testsuite/25_algorithms/lower_bound.cc
! 94d948b4dd893e09d3e737b8f0d28081  libstdc++-v3/testsuite/25_algorithms/min_max.cc
! 5b54eafa3634e72c26fa7a8c3681b1bf  libstdc++-v3/testsuite/25_algorithms/partition.cc
! 5f069bf90e594989fd73a25aaf12dfde  libstdc++-v3/testsuite/25_algorithms/rotate.cc
! 29b24a659ab524bc1fe160bf15ee2a1a  libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
! d1622169305755b7d706bd855d480d0d  libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
! 4a1b9953b8a95dcc9133265f3650846c  libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
! 2acfe9d35c79c357777af5d61b9c19e2  libstdc++-v3/testsuite/25_algorithms/sort.cc
! c08125d000ff1fa0382d3f4754f7d400  libstdc++-v3/testsuite/25_algorithms/unique/1.cc
! 38081124a5e1d0fae9b92226de13e220  libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
! adfaf0ce522718f3f155c9a4aa5e44f3  libstdc++-v3/testsuite/25_algorithms/unique/2.cc
! 3153db75a0844bdefbfef1e3e55fe870  libstdc++-v3/testsuite/26_numerics/cmath/19322.cc
! 7843915bbad6ce17883f9f29da36b03c  libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc
! 878941c3bd4b707ddacf1bf4a73970db  libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
! 0c7a120ddbbab2853031d8daa5d5ba3a  libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc
! 697e9ae95594661b06d36f5f35b171f6  libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc
! 9ee1f4a8759da5e4e9c6b8e6757fcac7  libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc
  b10d80495d382414960c76cc30a6c72a  libstdc++-v3/testsuite/26_numerics/cmath/overloads.cc
! 372fc0b58be0a361072f5cc44ecae7ae  libstdc++-v3/testsuite/26_numerics/cmath/powi.cc
! a03e735cfed696176faba9e897fd9d51  libstdc++-v3/testsuite/26_numerics/complex/13450.cc
! ffd5ace831a1ba8d8060a2de261eaab3  libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
! b4164911722190f08ca69b4d4f2461c6  libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc
! 3a5b916c4f0d71e7cc7750a003e84d21  libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc
  c47a31a7f378ac3ded9ade6d39cfe5e2  libstdc++-v3/testsuite/26_numerics/complex/pow.cc
! cfb00094cab58d2df17e43994d12c0e9  libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc
  3e191d68e11822f58de5e4bd15365ca5  libstdc++-v3/testsuite/26_numerics/valarray/binary_closure.cc
! 4b8f005d06d2c9bbca7e68419c765473  libstdc++-v3/testsuite/26_numerics/valarray/slice.cc
! 1907f30fb04466e37d3e7d55bf4a266f  libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc
! 580a43e97acf7dd2eb46862afcd677dd  libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc
! b1b5466f7a5b0e62025fb9bc93d7b9d0  libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc
! cfcf604ecec3ce39a322abaad60725c2  libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc
! c092ddab1aec9b2ea57454edb5664362  libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc
! be1bb176aacd0e7176a61e6364fc0cea  libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
! 3d48cf66170981ce21a2dcb2e4ae18f3  libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
! de1f41348fb5ea75fc78e293586e19a6  libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
! 8ab5d25b6c2ac0524625094eadad1bcc  libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc
! a37749bf28ed7deba816f111b57cf240  libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
! 4872feae31953c18c8dfd6846d960a03  libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc
! 8fa6dde5724733a14be9848c59585887  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc
! f91f41923926d33e438c7e19ede61b2b  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc
! ca3de1ce3467ea75844ed2d5ff66f057  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc
! 3882731db3bab6477ed5e911b4c81593  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc
! 8c5cc8ecc3b951f2e0809fc43633a30a  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc
! d0672daa41d91319b5e170465e40a914  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
! 8546c8aba0fc14fad92c03243528d4c0  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
! cf368a74c0edeeb0c5f8008070b38fe3  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
! 53928fc3bde1c25206377550c1d9bfe1  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc
! b00a15c1ae325ad2e652c1929e9ea340  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
! 11903c0fa724560209f14ed8e244007a  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc
! de9d3e5d1c39eb840b42bf70449e241b  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc
! 3cbcf8d8479097145ece2cd2bdf7d8a8  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc
! 40aa6d6974cf725d3ecd8e4156cf1df7  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc
! ce412d043dfdbc29d0077f5c966ef61c  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc
! dadde6d616195c56e2c7bc95711cc20e  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc
! 2f2f9033a8806ed796b135fa26a5aa5d  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc
! 5ed1f3af1536800cbdafafd7445e61e2  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc
! 23ea2300a94cd508517ed541215e898f  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
! 2e5f748ce866164de0c23c416de90e84  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc
! 68a0d40ffcf542360bbc9e2eef2af7ef  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
! 5f1f6da769ff39ae56fcd09d46d45aca  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
! 8d3e72fdfe0293e23d6744f3d0f38d2a  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
! 9d50ba97d83841ab42e8a189be07a059  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
! b33da5fd2a3421262443311e07570068  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
! d296e821d10e552b237934bae21a8de1  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
! 2d58f3e765be0a3d06032b4018d24fb2  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
! 10233c3fd1ec06622c3ed0bebdfbfe65  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc
! 6db0eacc796bcf01eaf2c55fcd775360  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
! 22c918272130f5a95f4dc49a10af08fa  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc
! 8e9af70055b4552dc3c05fef060dda0f  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc
! a8b25f47cfb9960de3f517758ebb11cf  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
! 21a2c9d9024426a6a7dff3109e2b19ec  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
! c61134bb7fd0e00b74ba43a921898a88  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
! e8304ecaa3a2d1c9d367b17d904561a5  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
! 45ebd02946397c098093f1646dff666c  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
! d5465dc787d7fc1963e37c73c3835d16  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
! 23d72d1b6fa13a2b9d3af05c862bb6a6  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc
! e9377f4a69e9fb871477e993458c2fd6  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
! 02f70c72060e8ea4db104a687bf52458  libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
! 3b8205f386ae5319f068834f05f721b7  libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc
! a7806897d9a0cb10eb46d736f0d6213c  libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
! 3467025b97835c8ad8bbac06a23c603e  libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc
! 04aa32345428b4a7d825bb35e9acbd37  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
! 9358f673359ef0155c0bd5fb84e7b01e  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
! ad6965c3c2366dd28a76d7c317a0e2b9  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc
! 8b5c179137ca1ae7637f95957fec61f6  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc
! 3cf7aa87f5dbe5bb5458fa224028b9a4  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc
! 4bd2149eb58c83afd5f3a763ea2b3b47  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc
! 45419e94fb4dd482049907438a29ecf0  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc
! 1da3368a05bd218b3d260d408d5bdb14  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc
! 8de970cc57e3471e7fc8c888db511ddb  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc
! 3e8d242538f2e72e1535220bb49a12c8  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc
! 87292d8429a065a6497a33804f138cf4  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc
! 2f590b7d443b1a039193b5ac8e049169  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc
! 65ee568e635090adbedc568ea39db796  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc
! 203930069fdc6bb856e89a657598dc69  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc
! 5b87f0ce9968eff7e9c2611dff2a124e  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc
! 5d24a90a5ae890eda25a3cfbb6fe4cc3  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc
! e6e36abffe9629fd57d334c72d6c5359  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc
! 26d186a50a74159401e108f6556b7e55  libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc
! 3778cae4757dbcbf1346a7e56bc328b4  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
! 75c270bbd0262e78e0a414a0a5a5161d  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
! 0b572699b55f45240cfe8c048cdb964f  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc
! 10278f0634caee39377f69cedafb5862  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
! 609cb63e79c429d538c6a33403aa54e7  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
! 1361c58268c369f2aeef82d354a160cf  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc
! a1f53874897b7c1167f0cbaf99db7018  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc
! 660177642bb5cd6d9faedc93dc2d783d  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc
! 6068569eca519a104246a1ba3a667937  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc
! c61675fe973f3932f8ec0c72e95d18d0  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc
! a77145f09b3d8f0470d5853dc6598ca1  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc
! b89cfecaa5f04dd907164c9b0889b6d9  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc
! f27981ac3eee30ece93ec79acd2b1d37  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
! fa16e649b5b0891dc119c4d47bf5dcd0  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
! 3196e44a6b4955d513c9ba9cc4ea5563  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
! c8af7446fd142c327267171d48ea9bf6  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc
! 3e0524632d7a132d69261c6310f0654e  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc
! 43c8209f84757b217bbd7bffe818d48b  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc
! 55a60395b3982a29a56af4fadad7e6c5  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc
! 3a154af31f7d0500f55717a350d38bc7  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc
! 3f4c26d1ebfee3f54c1567b91d574d4a  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc
! ebcd5bf96c2ba4354eeb5200d63af7f3  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
! 86af04b28650106e3c36daf8714009f4  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
! 91bc91837f8d341081421b9e7fff23da  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
! 405766009b430235e90c8d04b98c33a2  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc
! 7d0b3893aee8c9625610a0b47ca22d60  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc
! 7b81b58a19c27f12d681d04e909f99a9  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc
! b7b67ac7cbbfbc590e2f0a3dc0b1e8ae  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
! a8ee36379a0addf55d7670041018f3ab  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc
! d839266770d2885cef31bf7093d90107  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc
! 5a50cae3c17fc580c4e8213fa089e605  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc
! 5c2d154a78b213278ea6cac322bea0a0  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc
! 9fc5791445e0d6b55250d297a5210aae  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc
! 389358256105d26930045c6c4324da47  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
! c927bb97506faf9399b9cf1f8d315a57  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc
! 628f25f32e6111923f81a52fc5dae4ce  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
! d1bef4b8a5d53884c54ddca6f229269e  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc
! 54e500043b09bed3939bc7634f2164d9  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc
! 2a7b4c60ef06c6958c0177d7f01cb777  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc
! f29d74cd76bbf4c4f3a1b4781b105ccb  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc
! a9770424890dec83a7ccdce2bbfd9846  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
! 2f23cb9fa98e6505da9f32a94b20e5ce  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc
! 8a2705cfb743829aca140e66ae563b63  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
! 2796ce890210ba71aa98991250be379b  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc
! e405218efed4733bbe6c70c3823397a9  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc
! 2d924f2cceb88f6cb6f327ac37eaab09  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc
! 58dab909bd7d0511dca90c2f2776cba8  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc
! a17a327f8732470e952f334ac3f4dfd9  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
! 434621a1e1a01162a44aab88f897b374  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc
! b65f390329e96a16b67131370cea4c8c  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
! 369dd8c09dae88c8123373460cc81d39  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc
! 3b5c638c1b488f7d494f6edead6a9477  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc
! 234b9748962e229da9ecb8da238c6d37  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc
! bc9b6058c7204a88dabf68ab3205b646  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc
! 81e76128c6262503fcf48ceb2f0635b7  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc
! bdfb153b084e57118fa48c55233c538b  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc
! cb49439b58b886b102b894d164eb0c16  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc
! 09c44e7cad906ca29fa58a6ed450bfc6  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc
! 489c15aead3a8b3cf984dd4409b19d91  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
! 7425776eb21ad9c696dd5f31518a04e1  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
! 4c65f96085b9d6b0b919093df4c92cc2  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc
! 3fbccae9e4dac18bb992ed1e2bc68d42  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc
! 558d69f66000607207c09d119cb5f1ab  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
! 7b7e70487bdc9c5028616e993b2293be  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc
! 652262e6090baab102a6bce921b81dc6  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc
! 7f60a4514d2fb71d1e9ad29150c8fca8  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
! 78cb36466d8c38a2d5ed68e0fd4cdab8  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
! bf667d425b26721a1be28a34828b581c  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc
! b1296a11dad4ab8ef70e68c19da6ae94  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
! f31a2e093b711e815dcd294d9d0c0d63  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
! 0c60cec9a5b6cb78dbb42566f0e8ff1d  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc
! cdf2b37e5452a46f4ec75a2e2422e65f  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
! c5c3f279f8daf8db75d7c8385c6586e5  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
! 191393dd03e46518585b8702e80a1503  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc
! 8173a70f340d1d26e2605a782f91a772  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
! a26e652d805707fd3189878502b03318  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
! 279f13690cdda08a0ddf52d13fb792ae  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc
! 62bf2e780680a1e09cd5a2a4ac85e44a  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc
! 97d9e451679645575662d8048c83abf2  libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc
! 41ed2b83f2660e1c3cf2c32b27bc1011  libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc
! 7c93cd51eade91e418a64f0a8bc54696  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
! d098ff0e9127b712a0f48cbb9de4f5bf  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
! 5359f69ffb196a8a1bff23838f4fec6d  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
! dd79e9bcbb5256ac3d12205dbb0af1e6  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
! a023dd3c3ebf901c7c27edd4b0696e56  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
! f0f7148fc22b77fbad3d045081890a22  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc
! ec8ed3f8c06ba4c6357b0c2d35797488  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
! bd3354c97a5fc7a4cd3ae5393ec0548c  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc
! 0ba812ce443460d27bc5541c21b03d35  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc
! 0a1cb5f78e2ca901ab864ca55de061c4  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
! 08924b099f48a1f382f8ea4ee6e81a3b  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc
! d027b5026d16f4ead8b2f2e85bd6dc72  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc
! 71ac8036cb257fbdfd6e656e150e6937  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc
! eaf28a4027f708f651b7b18bda5d8f83  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
! 79d1b349317c59ea01ae5498409384de  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc
! 501d74dd1fee171fe9d1fe21d1d4f2e7  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc
! cd712fa39137198cdb40fde1116c8008  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc
! 165080fc478ed7c23cbddc282eafc2db  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
! 4ed84f47a24dd7dac2adecf1a270f012  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
! fe3e63c9a860aa85d36ab07371d0b1c6  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc
! ced39e2cc80ea56afe6866233364cfc7  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc
! 5a1f274101651f3f7ac4c5bc932ed4db  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
! 98520038ba400d8e73c6b5fff0db2ae6  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
! 36af7d93e14ed7521cb2947b82d65b41  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc
! 67d49880e02a9eeb5af95b2a178046b1  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc
! 6aa848e03b7d45ebc1dde32757d183b7  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
! 71b4bad5389b10d78c38c4bab9df7c5f  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc
! 5faf8a005fd124897cd5dfb62c738c3d  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc
! f5f4e107a332c1855b35f38d20d9ab97  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc
! 1778fd3e6b61fe5992c3fbf7e1b5f82c  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc
! 77c334f5d2d16b9e32c6c1c0bd16f1bd  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
! 68630dae40f2b2f11148fd42943d7467  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc
! 85dc7995161d32512377d06e0e6f4b84  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc
! 6d23766d318d478fe20efd434f850eda  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
! fb458debe704e23d45b8340339860f56  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc
! d78ce885e55c5d83c5b9fb2c4db6dfce  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc
! ef4a9d8aff01e6f54835fa3604963887  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc
! f4cefd3b2fe673b54576ebb934d6dfb1  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc
! e7e1392ab9f20f34c2b3700cff60bca6  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc
! 60c30ec4fd7ca97daba8bfd0c62efe64  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc
! 63b55728313066c74410a6a69ef9a930  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
! f9488842d53d800286a73b4b4c7e3257  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
! 8378b6f30602731f7f168bb6db3aaf0c  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc
! b20d92b1cbf4e3057b0d72f4671056b0  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc
! dc75d8a455ce522c842dd4aa198fda03  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc
! 3579aaeb542858d468a941828f3d0f47  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
! d115cf4b437e2a98c6b5138349cc1454  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc
! 8543a88b50b5ab458202c21c1fa3c2d6  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc
! 1b3e0aa4689b582b55a4ff8dfd7214d4  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc
! f4425f472dd2fe423e54a09b35a8990d  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc
! c58dfd2c2e5a5211325da05d16c6248c  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc
! d781f7117019fcacfedcaf5d500a5b16  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc
! 4c7eef73320e98d9bb03997325ca1a6d  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
! efd837b58d07efdef1af7c5da86cd261  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
! 7e9f5a7b8a46013970945cda5b14050a  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
! 70ef5de3ee4b900c92dc8118e23bc460  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
! d19294169209f167e95418b71fed579c  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
! e590e3becf15baff88bcd67abcce98d8  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc
! 38ac32c74bb303486cf74984b450ebfd  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
! 29b3fe60154bd402112ed2c0c26c5d06  libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
! 48992524d69121d921b231d241273c09  libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
! d4408538c825f3a65389947ca87aef91  libstdc++-v3/testsuite/27_io/basic_fstream/3.cc
! c9c71270569fb20d419a3dba7642e2cc  libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
! 31582f44d807b54f721b6f00eb19e6f4  libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc
! b9df977fe4ab8bf7f07e9811bc7dbf10  libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
! 1020150f90cca73f5e0bee9f642fbe32  libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
! c31d86ee723054701a2961c084ffeeaf  libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc
! 047411e10e5db67cc7c3c1b2e6142c65  libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
! 35e29860c10fca13c9e58fe4c1f2a5a1  libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
! f519ab0578ec11691b965dda7b2b43db  libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
! 39a41a3d078a36d7d140f5284deae05a  libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
! 2b85f1105d628178109dab91170a14bd  libstdc++-v3/testsuite/27_io/basic_ios/1.cc
! 1fe739dc38e8e36606c613999502319a  libstdc++-v3/testsuite/27_io/basic_ios/2.cc
! d6719ef3fc1bfe4ee0c67c95e56a72b2  libstdc++-v3/testsuite/27_io/basic_ios/3.cc
! bd7d29d687ee3632a6bd83ea47e37650  libstdc++-v3/testsuite/27_io/basic_ios/4.cc
! aa9dd52f61ca365e3bc3aa0003a2cc67  libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc
! f183d4996231368c1bb1166cfe56bb51  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc
! 743f8446552b2152b103aecba31af489  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc
! c07c6aee25c85fe13604644147c87dca  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
! 2ec5938873968616a3d4f0e730503db7  libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc
! 7db1c935af20b39b39f58a60ebb92155  libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
! bf037c39232beeefe5246e824b0a6037  libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc
! af101b879e2b4ed095da457e9b0f9924  libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc
! afb700cf60742ef9f65e14311be6c6a7  libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
! 5990fb94232693681953c00d6c4b865e  libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc
! 2ccbe0dd83201c99eaba7fdde9e8c586  libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
! 895a2549d86fa66592ac2d8627c4d3e2  libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
! d82b3eb4bde635f5a6262cd168fb9f2e  libstdc++-v3/testsuite/27_io/basic_iostream/3.cc
! 63c3c61eab39ddf29f10116a41371f62  libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
! d70b7f6d8198157ce660b441a36df02c  libstdc++-v3/testsuite/27_io/basic_istream/1.cc
! f7cc9584437753a5408a6ec4b44f309a  libstdc++-v3/testsuite/27_io/basic_istream/2.cc
! 9822bc569ac4b3e547f9525b329c3da4  libstdc++-v3/testsuite/27_io/basic_istream/3.cc
! 63a3385bbcb1cb64c6c35cb41b123503  libstdc++-v3/testsuite/27_io/basic_istream/4.cc
! 4fd40f0af08c5a794786acea013e4bb1  libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc
! 259761cc0f1bb5663adf5ac9330beba8  libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc
! baf5979746641916a5bfc839f19b342c  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
! aea00ac5f01073ec2bf5e1daba271327  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
! d2943bb193e6e0cbce78e82ebfc5d315  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc
! cb1b94b8bababa6a95683b234baac16a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc
! 1114c64c05db87d73da516f481857e9b  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc
! 2281538c5d863e5d23972d082675603a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc
! c11227dbf3dfa2e3cf100f41f2833bb3  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc
! fa1787fe0cf73b90ddd6d69c8b0918c2  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
! 20f34846da1fd281cfd5cb432a93bb02  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc
! 6ea259b8887a7c69a714818f51705516  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
! 3047d50b13b94dbdd8857a1499b7ec91  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc
! 8dcafb8a3b0eeadabc52e92a0631b1d3  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc
! 24e602e7ee10c82c5fbe31b9a1b9e10e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc
! 5041874a8e6dbe7b6e7b9c0e3ee4286f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc
! 613fb56bcf3e59ac5f9c2b8c82422c6e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc
! a5a5b006592690d85f83af507a484e77  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc
! f039b05b9dceb8391b4fc26d3eb92089  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
! f7258dd2301faa1f7a75f7c698abf3a9  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc
! 0b4ec00006eee7237149e44d729aa3de  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc
! 8eb25df131f86593db26cbb77dd81e31  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc
! ea3f0f77fb99b67c8f0e276ab7c18653  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
! 48c5237a0fae47026627ae5cdcd8fbac  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc
! 7b70e44bdca194a53d821c004671ac12  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
! 4e2dee71d89b23344e0ca6b0b1929557  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
! 5df372fc4b049d5f1faa9fc6f7d4980e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc
! 4a965b4071dce93ffe3b67526fb73cbb  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
! 8f1ee5185747a9c31b0ac5fe71fe6e20  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
! dd14bfc4f064ed313da0da19024c8b8a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc
! ddb47360a0a3d3b883aacfcfb3d1207b  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc
! 1a13faf2cca7093507962ab345db6dd8  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc
! 29f9aacdd7b26bb9934e0ff9590a7234  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc
! 93c1c8dd1174a3a564b57033796fe8ac  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc
! 6789217d45a16053b074ca0ac91a4dac  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc
! 59cf3b6636366f01ee73344be9dade1f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc
! 657df5ac0444d7ca66bf4e6f355ae4b7  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc
! dfad7b6e027108fc3f4e3141b332481e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc
! 18372478ab44fd8b29b011d78f646a28  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc
! 10e0f43808b375f8aab1e55422a129b5  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc
! 62e7cacabe5f6499d6156a4db6a66cce  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc
! 16d99d544d78a1c1e08fc1fc3c3496a4  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc
! 17dd3c4450992065f456bb89add7cdc0  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc
! f63d729394dd5e1675e87332be7c2b22  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc
! 71e7d70e6c1f9a36a90dc7c0ca7ad170  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc
! 0b4ecab178f1cd305bbce57dd6c2c519  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc
! 43b02f66cc9ef2126ce53d1883ec205a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc
! f66031df573285a7c81b5a44a83d9201  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc
! e8fe4a68b5ecdc63c96a61fe42708cca  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc
! 1df860d4794d67769cb5820bfdf41ed2  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc
! 815811a9d13572953d69d0dacd032cc5  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc
! 5450b95f33f0182c28b9842813083184  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc
! ecddd64c757b0a3497921cf3ec8dc6a7  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc
! bdbcb8dac02c9fa730cf0077b8e67298  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc
! 753d98cb6aa08fe384f2bf8696868f43  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc
! a85c13b78e1329e11f61653a89fce726  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc
! 1db38f38a772cbcda4f36ca7cb736437  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc
! d5ca8b3a872ff09a7491ca81cb5c2bca  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
! 07a767696136daf0ac365fd5eff55e0e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc
! 9ca0eb2b72def1acc5f091cfa360da2c  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc
! 5881fecc3bd9a6e21b4a447d940e88d0  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc
! 738516213afc3895532a9d602b42be79  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc
! c53acdddddb5ed1f90ddd950342cfb13  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc
! 86571658f5f08a6e17b67aeda8e08d36  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc
! 5c4a3b820819d3cdca3e4af10bd582eb  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc
! 099d75d7afb445265970b86e583188f8  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc
! a16473cf047ece38e3b6205b2f44227d  libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc
! 42edd407d6448489f699dd80d688428c  libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc
! 30e673eba7e28d8da2e747b87c8f1bb4  libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc
! 15c97eda5facfde4d8e07ba78561482c  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc
! 18fbc46bea796fcd55e8321dc98e9b51  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc
! 482d3e981e381ae25993e8100464cf41  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc
! dc2c5f1a02e174e3954fee4b400fab8d  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc
! 8ca379a7053560d60de927ff4ffa9de6  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc
! 7f1852546f297fe8d51411dd6c628d39  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc
! 627f1067b082a448d8e03e610e33ca39  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc
! 8228875a16ad4e0126b21205b6309712  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
! 78a05ca6d27ad7dd4919efd23630f5e4  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc
! d2d98d3939a56a1c24d63e04f04e07cd  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc
! c975f60b54db9e7998341305cec31383  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc
! cf420f4c2a567857772bed3facce6554  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc
! 84a387f7deb3a738c3e4d5ee8d79ba82  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc
! 6b3c09f4a8885c00fae9315720860f8d  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
! 7a7abe0651337e4adee39e33d416bcc9  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc
! 6beb76869612cffe0afb2c27095ef7c8  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc
! 901ed69e8bb910502cce38826f578eef  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
! ac737475884a6852da0b2c16c29021d1  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc
! 91c1c9d0a70a31ebc8d1f5f82d2b3c1e  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc
! 3bacf5f85848e66d6e0c8789d072e3e4  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc
! a78b1109e425cd095960099ff64a84a7  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc
! 3582bca01d06bfc2abfa8d0753b64d07  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
! 96a2f12c5ff1ea15f67de854769be28a  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc
! 53521a093cbeaeebb4bb015dbb180d3e  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc
! e7d7dc457916b3161857fb42f97d04fe  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc
! 070cf45375f2d0afbd98262e07ef2a46  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc
! 565ffd1382b08f7670e9b20dedc39a0b  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc
! 96e60fd5413ab79945004d5462515e6d  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
! f67b3c47858b9cac4c43417c4491213b  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc
! 548667bef748bd6328e6af14110f44eb  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc
! cd75e5d193f9907d1339566eec8d47f9  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc
! 43186a145cb16f8acdc0bc72663b1b1e  libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
! edfc3f005a41d1c89e7777a7a4f8be47  libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc
! 72591faf8d1eb8ae977294997a418775  libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
! fe1682b54070a55c4508f22e0862f8b1  libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
! 313d37349db8f26f3bce65fe3128bc0c  libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc
! 1fb4a92cf28e5c4c9d4d5caa703393de  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc
! f088ee3fdb2a63cf03097daf9d455af2  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc
! 358a9d4b737c6b044a89ce40c2a5764d  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc
! 4be4b4d44de8d2299561dfcf611e9e62  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc
! 973b53a59a1f8ae2c2f6b207a0868be1  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
! 56cb55634eb808ee3608ccf91fae0191  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc
! 4e88ac8591690f6683883bcd75015440  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc
! 247968f7ac9026da4d3b17e21901e5be  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
! 3d599ee718bb5f2e25b2222bed4c0081  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc
! b6c5d9755b5673d24e4243b8473656a5  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc
! 3c83f1ae94ca42530fbd321adbebb76d  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc
! 540a69e96771e47f84ddda92e7e760bf  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc
! f8a9951d82cac87cc94c7f06d2148f5f  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc
! cfcfafe48770b4eac24f8b7bb5bc6090  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc
! 80d876dcfec4ac5be6390822c8fd9973  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
! c35a291ddc5f4ce1bee6ac6c6cbeaf1d  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc
! 72119f3a7b41e5b1d7ace08a15af2f8e  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc
! 8d588499a1048d085fbcfa7fb6cad24b  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc
! 901353487976534e40d9de391cde85b3  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc
! ea996bfde21c46b4d76e8f1174e98ba1  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
! fd75bb6546e04f32031512a16d20ef5e  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
! 1b0e3063b6b89cd7dfe3d81e01e9730b  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc
! bf586ac5c12a9837a2dc23206155b8d3  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc
! 382ce420b63085ed5eae837ad48be651  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc
! 678a5ba535552a7899af1a1826ec67e8  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc
! deeb1f9ab36b59ab284f3487fbbecca4  libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc
! bd9207c3664a3caa79c8715e407b5550  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc
! 341713fbc639d3e918f613d5f9fdaa2d  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc
! 4c9e20b7de961b321324d1925d9f2213  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc
! e81a20a3856aeb4a82589e5a42797193  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc
! ca5e17731298dfbefa5e0bfd10994823  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
! 889a695c0847c3c4d1a6571cf9bc7037  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc
! f4a4b66c8ae36ce88f0295c2c9af0803  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc
! 61cc532fe3d4a83cbcd8f3f88ca51b57  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc
! bcb4b06324787cadb8ee2d45c02687e3  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc
! 8bb34c851a402df4e8eca76254e5cd77  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
! 00084f44487d33b2f751e23445c4b52b  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
! cf575a4532f3b3059d19421262e71c9f  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc
! 5ab64776020f39cf2867eea71465ac40  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc
! 956604370ccdc27099bb61085a395cb2  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc
! 942a932fed93101ce50ec351a2cdabc7  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
! f63c71b8c3806a23c68b067c6a7bc558  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
! 2c7d9b94c84000aaf2d62d6c80bb1c63  libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc
! b3839f5dc7f7dcd5b567ad244fd34084  libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc
! dceab846f736b9d716b8e556a9a17537  libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
! 2f1a1e4cbaabb01a7a979754a5adcaab  libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
! 63b9470d0931a7725d6650b3ce9094a2  libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc
! be5acfac917441a33d22aeb3917690c7  libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
! 887fc6f9889e219541b96975bcb76d7a  libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc
! 5b875824f8f526c9ab4867e9194b4e5c  libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc
! b087b612da960936eef43f3d71dc32c5  libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
! 5856d293ea26db2b3ec5fc41598cadaf  libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
! dbe04cd193e2753487c2fa0cde80e340  libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
! dc7ef097ece236d2f6faf48c7605a060  libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
! 178d4233a2a44bdf27605330ff825ae5  libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc
! 59d533eea32fec2b24351c8b712094df  libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
! 76c299b1bd8ce3028b1bea3404370659  libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc
! 1a2676bd893960c0ee545c0ebef11915  libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
! b2ea8b5862054ef34658075cc7e58b06  libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc
! f7af99a1a658e832c5a7f7a99793a145  libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
! 12cc7c7ffe4d2a573cc39fe12fda36d7  libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
! 0bae269c5c3a9401646b77ab502e0702  libstdc++-v3/testsuite/27_io/basic_ostream/3.cc
! e79af90405764f7ccba49285ada6a94c  libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
! ac613778d2e3d09e0449c11c0fb3c286  libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc
! 9d3c5939ca9f6ac96f5a053bbaeb3b98  libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc
! 801b5b88d6f96125afffaab546bcdd40  libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
! eba83e072478feacd5bc7c109f02209f  libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
! d674e800ae7f1a6375305a02ede4df01  libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
! a911d6ade7f1d669281be1606df8bbb6  libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc
! 6707ca1e7ca27928f85ce8c4c6fc4453  libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
! 928efc810ac94e095c514725a6af797e  libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc
! ea66299fc23e3734d1059d57e0954059  libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc
! 4edde74154de9ad32eb897eaba0e5323  libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc
! f66a9f25538c6f30a8df4b1174e92e50  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
! 11435d245915fd5ce8b33b238f118f40  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
! eabfb2ea1f21327b3afec08966ecc5f9  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc
! 02411ebea7c39cb12e569654fd40de20  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
! d50ee5e4befe25d4e4d58002ae574845  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
! d9d06bfdcb2194485ab5fd296e99bc9c  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc
! edf8f87d52508fa1caea203ed6608f6a  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc
! 762b18723045c6d9dc5873d1588a6c38  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
  3f80a2d8f780661dc531048f81b2ce1e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc
! 4a30987b73a8b3bdf703fecf19324166  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
! 303bfb8bba09ca9af4294bc5367d4370  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc
! 2092b1b41ec05998d85cb112206cd7f6  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
! 4ee6df017c25c96ee6dc4652e30cb69a  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc
! 72da7e9585a515e6c981efaa79a80654  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc
  7a998c441fa3ee84dbf83f135da4a66c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc
! e0c0362254947202c6f0ac49749561eb  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc
! 8d889fe59530dea3b6b426b6cd940e1b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc
! d0f22a451a557c11a232f7414b74d6af  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc
! ac53ce7a29699c592981c80dc7b48af8  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc
! 76a97dbcb4acc7ea1767338513b10eb2  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
! bf5e57b428560793320abaeb01f6d25b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc
! c8fc78ba1d6144f2e76a889845444ac9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc
! d85e2597686bcd31cb4557f14d521fa9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
! f782eaaeff47cc2d8a3baba93bc797bf  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
! 7a18ba910037219ba64675603d1bedb7  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
  97a78b44b2ad57cc7a4fa378e50aa45a  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc
! 8261c28bde79fa0ba931a4c42449aedc  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc
! 17d7bc1a5766eaa16af75ccd3e43f23e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc
! 8f8fce97cfb96356656f53f20561c9bd  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc
! 575119c004c45307720885e36d8ee267  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc
! 3a330f8f62c5e5c209cbeb28a3c04208  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc
! 907c95ba3a5758b374174a5d002500cf  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc
! e063293639db1d0c1df5dbd6e7d11733  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc
! 20734207a1e81da4653918b38d5dda56  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc
! 5336affce91081120ee99f2e6b4e152e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc
! 8a81a2267cd163ec99f09129a3c72173  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc
! 7796a6ff0bacd8ac80848b080266457a  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc
! d7eff045176ade2094d6f4b29dc66c22  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc
! 6e294c3cba3793bca564f25127db6c56  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc
! 2ce793ac7e2255e5ffa2547e58e6ce98  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc
! 5d259328148027802c605a959b47bd5e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc
! 0f53fd2c98db789650ab033ec9d01803  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc
! 9427e9cf969f0d08f14a1a13b87485a8  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc
! 94d52c0d98f01361a36cec703084be1e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc
! d01bac530faefa2bf6f8e40491f05c7f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc
! 1e39c9c0421bc82db0c18bd9c64c09fc  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc
! e8c66a1dcf0c63e42eb4bc2cbb15b2a2  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc
! 730bd178b12255cf436f4e695a5895f9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc
! 858bb0490059b61ca60d266be92a304b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc
! b652eeb8f92df32926c5475647fc74c7  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc
! 0dc40d09690ec65fe9030b17c0840eab  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc
! fddfd87da0ec6c2d22496d60cdc2f7c4  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc
! 7eef5f2c3fe9fe66fafee99e29caa8ba  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc
! 1e06fbbe421cb886ba1b48d8d6c904a7  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc
! 37e760f9ba50f155f58b38cf225e08f1  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc
! 53c04b87aa40533f0f608727b199159c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc
! 9294e05fc628bf160676e5950b7d4058  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc
! b82f977e6079989656def360285fd239  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc
! 7652cd85ce5d07ac1621cbd414769d14  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc
! 3c66bba715d7f6197ff03fc0ba34499b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc
! ba6ef7b397f544044b770ac1e2168911  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc
! ebb68e181439b7134f638df3b6639584  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc
! bc79f80d422ebf102ce67ee75db7d666  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc
! 77c12777cfec6292b769b6018ffe7c63  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc
! cd29c72c9232fab03891ae5af4ee86ea  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc
! 00dd04056472f222e843f0492c49a27c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc
! 34ed19a88a54ae80d30e1e6a5c428240  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc
! cf79f3a0ca7f2eef6c3f03d554c1eeed  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc
! a79ccde5935e7041a1bf18bc50a88096  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc
! 5456256c64f31161469b76369b1f9e9e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc
! bbe8e125367ad6662ced114b7c6556b7  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc
! fb7099e4bf2aadee6d246ee62b3a601c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc
! 204783671741a99e2d6bc059527001e9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc
! 9910e534f3ce3d00dde6550aa09d1a10  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc
! f92d95cd4d8deee2422d96e3a5a1f380  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc
! d26ea3a7ced193ba86cde311df99ac32  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc
! 26c9ad4b62e0af30cb04cca791255207  libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc
! 9ab1429c6a44d903c883a25b00067735  libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc
! 7565362f74b5a18b535bd7f330d8387b  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc
! 68cbba08ada2a7f1978efbea4d976d68  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc
! 0d4e20643dacdfe2ffbeaef46de4c7ea  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
! 7d44ef635d001475ce2cc2a083e202be  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
! 9b52ed76d6b46220fc71d0b5b9027755  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc
! f3e4a996f7c06ba14f16d0e1bc44156d  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
! bf26a28dc7fed3f348d9ae68c97709e8  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc
! 730a5433997cce835cd8929f25d113a3  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
! 42dfb34a7c80916786b3ceaf0f301e34  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc
! 81b3573bf9472f1cff147e20ec07950d  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
! c5aa7f3054d42fb45c8c780d7546dd65  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
! 7e9d0834f8b8c8f17bd56091b95c7bab  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc
! 18b5dd467516097df2b050087baa7650  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc
! 66d856416c5329c400756ea7c303904d  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
! 5286185057c8c8476b485aefdc369d13  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
! 9820c003cf77209f2ac0922851ffa2e5  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc
! d05491a4dd37d3f50ae49d6523f6fe3b  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
! 1574595b62e9654512368ad382e0962e  libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
! 99354d9756da9b1f10302fced49dacfa  libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
! c08ef6c3a3238b24baf86ff9dceab845  libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
! 5a987309519bddc5d78a3672ff3e41be  libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
! f482eb109c2c742eb7e53cc7e7185360  libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc
! 4b3093a531ae84a045e668c8aaf06026  libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
! b8665ba8d472baf980b87bcfa712380a  libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc
! b913a71c5326d3b2956164127a1eaade  libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc
! 29c9697594913a000bd8757a0e146189  libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc
! 610981b0b08734d6a3861e73c0f17f0b  libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc
! 0067f776c69bec3360a7a5572d7b438f  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc
! 92b96be0e0d0f9009bbd3d8d9234e58d  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc
! 5d0ca680f26621adff66486cca06e893  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc
! e34f823844c3d54292fbafc13806f265  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc
! 7f929649a3909bda1e23491614ad5b81  libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc
! 769ab15a2e667721330afa7c5ddf327e  libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc
! 0d06ba137a8977496985561905115094  libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc
! b7145f894e070c9611d3e745e8b12659  libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc
! e433901fc7ab00bf773373cf093dc877  libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc
! 8e2689150d86b653c81e55e1e5e09f44  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc
! 303964ca52c6bbe7d1c2a13309205771  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc
! e501ed1cd0d4e208fafd2bcac83816b3  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
! 04ed8a84eb9c3e507f1cd03834ece1a4  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
! a593c4885f3596745fb852581c4d38ae  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc
! 729756db537c5b569c86cea8ccd10362  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc
! aa2cb034b478647c56ea6b5bc374adb5  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
! 013881431ca55a743bacef58c0807854  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
! 684338fa20ae0a4f4089d62718a0e588  libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
! 85a5702392c8550b947397d458d3bdac  libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
! 4f9aa06982f1be0413d396d2719a7f50  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc
! 4892afab82a553feb16c95ec5755e9d5  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc
! 3b5997d3adebb14d4e20e03dd924cdb3  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc
! a696c52152c0e0387357c7690442abec  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc
! b63877bf55d54fafc7092b678335f4d9  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc
! d9c78be127dc16cf0b4e2be4f33b2c30  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc
! 75bef9c5c1beafb37d7885dececba398  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc
! 847340978da4a1540cb27a8b89d5efcb  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc
! 3dfd3093847d80fbb22ba70adf5d6036  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc
! ae1ad2f50003ad90711372ef773ac1be  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc
! 16d5a492cdfa470836ce935b169a634a  libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc
! 72bafb8c5d09dae4805b241e4c341cbc  libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc
! 3fbf35c11bc430d5d14889ead547623b  libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc
! f14ae2a7b7bb6e1ff0fb032ddcc7a551  libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc
! 8902f03faca92abf49313ca42f4316f3  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc
! 9c45c9f34fc6b6b9865ad4670b9ef871  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc
! d6c5c20e51d4ed015aaac4d9d4a5981d  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc
! cbc7c80c34e0fd78592934763ea4668c  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc
! 7ee508bdf8b498d72109525f83d6abb8  libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc
! 4b331efd0a0cac4ea33be1492544cf76  libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc
! 97c7d7cfc23f46c76ec2083653495998  libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
! 954c3c42003c0de1c3e0f80f2bf452e6  libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
! 4a9cee3b8bd808ac97a506f60aad4bd9  libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc
! 2b41a89c1c59bea35e2c3612d9b8fa5f  libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
! e12f2703c53b613daaf2e22b4a1af529  libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
! a3e35b945fa3dec3b35dfee4c5067c5c  libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc
! 18cfc4cc3951bb94c6ae37d07f91c70d  libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc
! a5feb41f3c81e512174321bfc2e29e54  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc
! bd1fe9c5c08433c0b37ddcd5fdb549d0  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
! d2cd6e46999f760aeb6c0a6eee0bd803  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc
! 77e062ac09674f7ccfb54450f12f4da0  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
! 82ec0750288acade5662a088c751dc13  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc
! 0b07c8b9e9b2a67a4b1d9c7763b9a51e  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc
! 4e4507db487dfd44f69c50a2e166c16f  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc
! fcb1c47ab8a26dc2e4be8a893283afe1  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc
! e28f7c3ba34fadcccf173353514087e3  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc
! 662aafc620f6b3a480d6a39050bca26c  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc
! 9392d35bbc9fd8afc2754b04d5dcac66  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc
! f969fa2e1aff813f73eadc3a9d3b6d83  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc
! c6953af142be9dde53140fc0cb1bde46  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc
! 1ad1cb03840f0128209de5e698eaaa50  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc
! 95a36495575a47e9272d04929acf6cca  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc
! 1fd6e4667e614c5c20889b09759a6d18  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc
! 6206e179eeb62dc4f9e866dbe660e592  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc
! ec25fd253004f745a763f7e61823c6fc  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc
! f6ccc3a12530b6b95545bf8e0e53f764  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc
! b8aaddc84da8e5d7711355e0856f8c7b  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc
! bb312a10966ccc54e38bd035cd57b5bf  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc
! 4e130de3e6ad54ce9ac3257257733931  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc
! 5a14b6617f3324bbc5afdcd0a90e7adc  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc
! 539639491815ace0c76e2044652319a6  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc
! e0739e619559fff1bf50ca92f96d92cf  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc
! 4c0d6f1644669840514c4d17730e119d  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc
! 93989c2d9c8ab44e8f179f4dfb0dd382  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc
! d2d1925fb83de1c60b24dab29983405b  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc
! d5a22c870d78d04eab42a4b7dc5546cb  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc
! 4e314668d10857f4ba3ebcc70c0752bf  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc
! 288bba44c2379eedec5bb3a01ec11516  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc
! 04e18ee911fd2b824daeb57a5f17a69a  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc
! 968815bd9c6652404b199d4ae60d3032  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc
! 9cbf592171ab8d43d00f078d4f4b530b  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc
! f7fee9af4d48053773a271a9df4f4b7b  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc
! 6bbd5d9b0c8af0dca4c39fc0d4c47cc3  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc
! ab7a386b3d10b0fa5071d9a138a0cc94  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc
! 552059fc736fcb70c6aafb08521d4376  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc
! 51b5c7694d48ad4addaede102464824c  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc
! 4b97abd680d1d3021c7b06a37aaa515f  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc
! d7b9f750d78850f6ac3e1eaede167483  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc
! 57a02afbdad3a9258be484f02fa1dd21  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc
! 52a0c96ebe19483941db8863674ef347  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc
! eb5803ff35873deb132b2eb0afd1a881  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc
! 8fc6b0ae0e1d87ebe685c7891fe5b3cb  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc
! b411b6fcc6d8758b1f496481af03f3f5  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc
! 41201b92ff52b098362fa048517e8d1b  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc
! 5c2d8bcbf61680cd8d3e6c6360ea7faf  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc
! 64621b6f133205995bf0f4454c3a2ca4  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc
! c172c89ce7bd672a733ee90c1cb4d7e6  libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc
! 9051b0ef3e53d8e30bb551b79991e0e0  libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc
! 745de11caee4ffbec45e234876e1d2a2  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc
! 96ea829b32d223a9c6b9ea2c8f494c57  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc
! 96a1aea2bfb87869c8478da99c848994  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc
! 6c1655cbef28045bff4695ed06ea057e  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc
! 338acb2532c6d07479eb5c4569d553fd  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc
! b6afe97bbf2b5373b3b6815fbebf75ce  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc
! ef6f72d9109e6b28a40d7a7d9dfcb7ce  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc
! 7e1d91d7fe1ac5d070e116055b1901a2  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc
! 1df576215f05c6148de0ff93cc0c9a29  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc
! eaeac953ce67b31236c0712a1273ad0f  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc
! 9c53f34b0316618c9fdcade2f22f4909  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc
! d38cc533c9fb5a8c5643f2c477427e0e  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc
! b10ef69a67b7a054fe89233c000785cf  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc
! d4ab3b88dc0530951ea40b98882d8169  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc
! f8f60964cd7a3c5ce641f1ae033e1be9  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc
! 690beefd2691dc8aa21944fa0c550a7b  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc
! 61047187f758045b5f5663af03a899ae  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc
! f80f5def4cd7cd3c8a2405d3ddce7540  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc
! c299ee1c8a4f80927305cd732e71cb43  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc
! b503a2d2c73f084b77e637527b45122c  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc
! 8f66c5d8a0250cca831b367bd0e26eba  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc
! 6db93379b9a03196c7998c08a970a6bb  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc
! 703f57ea0e479d4c7f580b1eb3575963  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc
! 7e35466b49634e6e2f9651842d94b373  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc
! a44a0b81338c22eea850dd44444d5c05  libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc
! 7d27a0775d63d61fb9de6d3d6da8e8d9  libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc
! 917a36c3c2bfc9758bd5ec1e7639ee02  libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc
! 5fdccebbc2f503a3405cccae5d450ee1  libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc
! 1b4bde78807d90a2d0e7804fa2f7c002  libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
! 5c0a2e679f8e7b6b90227f99d18d8e6e  libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
! 21546fb998be51b985218ade694d86fa  libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc
! bca3ef0b4441c976a93104205854a89f  libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
! 0fa2dc897a559ebd3f53f83d2e5b8b1d  libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc
! fe1f1be51b6b8f275814ecb6f6cb10cd  libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc
! d9391847bfd7b986b08988596332eba8  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
! 2bd61aa15da6526ac80ae6861fd506e6  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc
! 639fe7eb306df1ada2c224fb3d0608c3  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc
! f427e189a2ad054fb6a3b80b7fa32e2b  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc
! 686e60704e6e29df71330a814c3f0cb2  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
! 8a6e0267600fc0040deced368fe599cd  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc
! 0e74d848937b2d47e2ab1800e273be6c  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc
! c7bffe509426ae03b446db0db2cac7d8  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc
! 81506b10b273e39e1fb7035809f7eb53  libstdc++-v3/testsuite/27_io/fpos/1.cc
! d781e7348701865dac2269dd99991cb0  libstdc++-v3/testsuite/27_io/fpos/11450.cc
! 0e96c942accaa9ac4cffb702a6f38aec  libstdc++-v3/testsuite/27_io/fpos/14252.cc
! 0f616c8411fc92556d16f49a771ed903  libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
! ce311ddedd7eb420b6835bc9935b5284  libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
! 252db8604345e73662f23572be23042a  libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
! b8ee3386ad6521e72b5fd25eb7089959  libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
! 058bf44071af8afedf294c6a1b5c1e50  libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
! 164e78eefe73d16d5b998cbc86669615  libstdc++-v3/testsuite/27_io/fpos/14775.cc
! 8e4117392d9f7fa1a2d44a11799676fa  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
! 9f469eb7401de043a85a6aeef26e5267  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
! 2a88eec52b8f83bfa7ca001a28daf4e1  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
! ff868872a38f6a20b77af55a38d52120  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
! e7ee058a895a3a54e5d813031650f421  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc
! 1b5e5fd2147c3a1531cdfac1d9a3dd27  libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
! b1cbf5f7c95e01ddafb3f558cee1d8ae  libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
! 22923fbdbca52063cb2460e1cf09f265  libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
! f98edba4011372049fecca338fb80623  libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
! a8a6a56b2f1cab85bc73bb22594bb741  libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
! d5f5aae7bec185a2b090c2d3c8dd75da  libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
! 9b6e90fd908bc42418e960ed55eeb702  libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
! 99f54877d7693326a2a7de5ecf4d7a25  libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
! 6aceb62a4c3b341b638c0157e74484a6  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc
! cacea0585ee06f81539a77df3df398c7  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc
! 949fb2e85ccd6318ae459f20026e6277  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc
! bdf77ecc99c202ee295857273177b9c3  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc
! afdc5cd14848fcba31e4a23a7e6c78f2  libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc
! 4f4e442b05a6700dbf6e0b8b8a75ae78  libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc
! 79b740e51a10ea5f6519114174e3085e  libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc
! b24d28acd3a435046ecac169200d8078  libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc
! 015ffd9aaefcb9b2c6a03579ec03d0c0  libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc
! 4025b1a5455236a23d6281faab0e639d  libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc
! df95dd9e037aaab9af333d3ad4cddf12  libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc
! 430a379ce20c35398da6ac2ac6ad5f7d  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
! 91d70ac3df08f75fbf9ba35ac45dd5a6  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
! f72bbe19743a89bba78d4fd80911bfb6  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc
! f7ac25381d7190f1dc49e5ee7a51deef  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc
! 7c9bbf0cac1f6456f9d78a71b4c90505  libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
! 0482c803ba8aa547dcafa25ad4614165  libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc
! f37ee6d746118393b38959c9808a6609  libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
! 3dab506ed6daf8e70d3547061274bd49  libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
! 094e9909ae5310a60c5c9b35d5a7153a  libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc
! 80efad9d797d13ceb67f2315d45ec066  libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc
! c6d3d978424ec860a06f2607870c4a20  libstdc++-v3/testsuite/27_io/objects/char/1.cc
! a6e9021c82998bd5f90b0141c88bd751  libstdc++-v3/testsuite/27_io/objects/char/10.cc
! bac4687163d8f7931845c1c38bcf4cb0  libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
! cb3d34011bdc15f3840bd3169e2087c3  libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
! c57dd0f05434d2672644824ff64d994d  libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
! abb92c4566eb85d2adff888b0c6a1efd  libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
! 39c9e780b59dd7aec7c7d99cbaba5e39  libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
! e0bef5ee21b5c28db822ab3f821b498b  libstdc++-v3/testsuite/27_io/objects/char/2.cc
! e7080fc7bae2ac983a83d2158cbbded0  libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc
  8c1b578bb2722053c950f2cf943baf83  libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.in
! 1ef9e1967906835c7792caeea132a90c  libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc
  daa7a5fffcba8b5ec5ca1a8de7734416  libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.in
! 0aaed01830d4ac45b2cf095ae901b002  libstdc++-v3/testsuite/27_io/objects/char/3045.cc
! c0320de9207fc21cc6e8622e69757088  libstdc++-v3/testsuite/27_io/objects/char/3647.cc
! b1c7b325aa99e739e775bdb86c75c86f  libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/char/3_xin.in
! 2f1b247ef78dc19abb827521621c7d0c  libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/testsuite/27_io/objects/char/4_xin.in
! db1828c22ab32ab4e9900b858ef402ec  libstdc++-v3/testsuite/27_io/objects/char/5.cc
! 4d10e8af28ee09abfdfde0d25a49e4be  libstdc++-v3/testsuite/27_io/objects/char/5268.cc
! dc889e2365373239ea1e890fee01fd06  libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
  81dc9bdb52d04dc20036dbd8313ed055  libstdc++-v3/testsuite/27_io/objects/char/5280_xin.in
! 82bba9d292b4deebb47eda51601f92f0  libstdc++-v3/testsuite/27_io/objects/char/6.cc
! c4c44ede587b947a4078f7ac69452665  libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
  d8e8fca2dc0f896fd7cb4cb0031ba249  libstdc++-v3/testsuite/27_io/objects/char/6548_xin.in
! 1fdf488cdb469d998ea1ac4505104643  libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc
  069d0b68d99275bb4412e90bd9d5c966  libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.in
! 768e1fa0cf13dc1283455bb704fe28b4  libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc
  6b76e6feddcc145dc3499d8d123d9da7  libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.in
! 3218f77987edde2ed048b28995ae4846  libstdc++-v3/testsuite/27_io/objects/char/7.cc
! 3061c3b451733c29725fe26ad8d5b758  libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
  0bee89b07a248e27c83fc3d5951213c1  libstdc++-v3/testsuite/27_io/objects/char/7744_xin.in
! f6bed760a5b0b314814899ca4ecdf693  libstdc++-v3/testsuite/27_io/objects/char/8.cc
! 8ad5a95d91c64800f98692d71a7f15b0  libstdc++-v3/testsuite/27_io/objects/char/9.cc
! 75ea7518304ffdeca0a7ca8e83780b42  libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
! 44742bade213e958990f1084a39389d0  libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc
  33ab658c3d687d1d73a0e92a596f725e  libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.in
! 38fb482cf59e5438a9e9d58ba1d14959  libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
! f10153d0e9c5eadd2e13ed87ab4ce4e2  libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
! f071a1450f783fb15b17d84c3700f414  libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
! 83777827e3e70cc0371d18d0b830ac51  libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
! 2ba53a18c174ee065429e978255dae61  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc
! 6c9b249dd8c608c9ed435fe17206b6cb  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc
! 9a39a6d20b6509db6018a020b9018bf5  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc
! 8bcfe948483314d7912c4616b2f7a659  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc
! 86475a8a1a5cc5f95afa5ba7211a8d68  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc
! 029aab4ecdafcf6ead8bca53229360ed  libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
! 8e9143042aa6e4607bfe9dc054fc9aa5  libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
  d577273ff885c3f84dadb8578bb41399  libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.in
! a5037963952740e17a7d1dd9594fc564  libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
! cdb087df27aa92b0a3ca34c2713a6f4c  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc
  8c1b578bb2722053c950f2cf943baf83  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.in
! a91e048e0d5eb3041ac1f970979cf64a  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc
  daa7a5fffcba8b5ec5ca1a8de7734416  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.in
! cacc713bf0630be7c0727ab7f1e30d91  libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
! d5293947001510ebc90088dcc187e480  libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
! 44b22f43480fcc4ffbf18e4ac2376b93  libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.in
! cf59997a88fdbf965fa77b4c029fd6b5  libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.in
! 717a4641e6e06d5e035551a358f26683  libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
! 864087ada13cead815ebd713aa4011d9  libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
! 50319564e26ae81fcbc5a21b543c220e  libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc
  e7df7cd2ca07f4f1ab415d457a6e1c13  libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.in
! 39e7fda399c844e7171ce250160d2735  libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
! 045b24912d819d31e30c0a945fc6c5ff  libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc
  d8e8fca2dc0f896fd7cb4cb0031ba249  libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.in
! 423a7c4374e94cec473971bbcc32c2f2  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc
  069d0b68d99275bb4412e90bd9d5c966  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.in
! 65b69bea1f25d9fb675b7c01be1a357a  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc
  6b76e6feddcc145dc3499d8d123d9da7  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.in
! 4ac9d122e3a883b32dba7ae4294e0bea  libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
! de324ff0d3e78294e9040cbe1375ef9c  libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc
  0bee89b07a248e27c83fc3d5951213c1  libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.in
! 56eec23e7af17ed17533d40a2225804b  libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
! b7893db0b450aa3e72e72be705aa752a  libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
! 8f762d7bb08f56fd57c8e7d5250e74bf  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc
! a629d7308ee03767256e50e28cafd11c  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc
  33ab658c3d687d1d73a0e92a596f725e  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.in
! 68f234406522f7b15d4bd720e5e2082d  libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
! 60b595a67aadc08b0f39fc314aff55a1  libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.in
! ec13077ba45368d456045a1203d6fab1  libstdc++-v3/testsuite/27_io/types/1.cc
! d8b9f7919024d17415f724a3ac95ce05  libstdc++-v3/testsuite/27_io/types/2.cc
! 3fd82f08ab16a228039562396b3e281f  libstdc++-v3/testsuite/27_io/types/3.cc
! 02e052f323ffda25bb25528b910f8a9a  libstdc++-v3/testsuite/Makefile.am
! 6e0cfaffbc6cb54a9e26c131b0547eb3  libstdc++-v3/testsuite/Makefile.in
! 02143153c968c0f22ee7bc20083dfa85  libstdc++-v3/testsuite/backward/11460.cc
! 3489918bda0c32e7f47c2cdaed6c6ae3  libstdc++-v3/testsuite/backward/header_deque_h.cc
! 5fe56078eceb550d7c427511cee65437  libstdc++-v3/testsuite/backward/header_hash_map_h.cc
! 3d6631e8f7c3380b7fec1ed14e6a25d2  libstdc++-v3/testsuite/backward/header_hash_set_h.cc
! 405c7396312c069142fb8d66f6b3bed1  libstdc++-v3/testsuite/backward/header_hashtable_h.cc
! 9536aaf93e7a83b2d6e1d16477088bf3  libstdc++-v3/testsuite/backward/header_iterator_h.cc
! 15e5b0d9049c16dd7dae3e3982dd0384  libstdc++-v3/testsuite/backward/header_rope_h.cc
! 93b2f57dac29e295798cf424e91f3bab  libstdc++-v3/testsuite/backward/header_slist_h.cc
! 583f436e2f32dcf9fd8e7d55baab83cd  libstdc++-v3/testsuite/backward/header_tempbuf_h.cc
! bb0db5bce4bebbbb9ab34df3a6125738  libstdc++-v3/testsuite/backward/strstream_members.cc
! b8d927a38c5f1f30554c00aaeeaeea36  libstdc++-v3/testsuite/config/default.exp
  e7df7cd2ca07f4f1ab415d457a6e1c13  libstdc++-v3/testsuite/data/cin_unget-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/filebuf_members-1.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/filebuf_members-1.txt
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt
  257fe0db99863816a52a38f17ff2b6e0  libstdc++-v3/testsuite/data/filebuf_virtuals-2.tst
  c60cf81cc6840306d8596ba2c247b314  libstdc++-v3/testsuite/data/filebuf_virtuals-3.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ifstream_members-1.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ifstream_members-1.txt
  defd4e72d866ce6c29ce58537281afa2  libstdc++-v3/testsuite/data/ios_base_members_static-1.tst
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/istream_extractor_other-1.tst
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/istream_extractor_other-1.txt
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/istream_extractor_other-2.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/istream_seeks-1.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/istream_seeks-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/istream_seeks-2.tst
--- 27211,29711 ----
  091edc4e6cde9c2483725c31f0c1f16e  libstdc++-v3/docs/html/26_numerics/howto.html
  04634d92698ab47d0ef884fbbc9123a6  libstdc++-v3/docs/html/27_io/binary_iostreams_kanze.txt
  8df1a969d47ddd463121be67c1317f5e  libstdc++-v3/docs/html/27_io/binary_iostreams_kuehl.txt
! 5ce9fd2803d729caff6ecd66d7d8b0f6  libstdc++-v3/docs/html/27_io/howto.html
  487fd00ae9958022896748bad45fc7d2  libstdc++-v3/docs/html/Makefile
  f4d51a7e309abbbe4c0491100b27b53c  libstdc++-v3/docs/html/abi.html
! 80c5972ad7dd6e534979d821e8e4d1c1  libstdc++-v3/docs/html/configopts.html
! f24b16621f9f122b0f42dbfdd6939c0e  libstdc++-v3/docs/html/debug.html
  e8600ee4c25ca784c6bc896f3c778579  libstdc++-v3/docs/html/debug_mode.html
! 5f06e64ff414ee1ec50e4c71bfec5d5f  libstdc++-v3/docs/html/documentation.html
  a8be05e7b31562c65e7b5657b3212ab4  libstdc++-v3/docs/html/explanations.html
  d277321924975a19f27a64275026dd15  libstdc++-v3/docs/html/ext/ballocator_doc.html
! db796c9410959d28301d4d8593340669  libstdc++-v3/docs/html/ext/howto.html
! 670dcbfa9e06da8adb55f1fcbe6e2500  libstdc++-v3/docs/html/ext/lwg-active.html
! c38347b693f8a1fd03914be1946f6eff  libstdc++-v3/docs/html/ext/lwg-defects.html
! bf324191918412248c92aafb91a48dcc  libstdc++-v3/docs/html/ext/mt_allocator.html
! 5108579e07d973e02177b64c8fff0d41  libstdc++-v3/docs/html/ext/pb_assoc/Std_hash_set_impl.jpg
! a7c0eeb8a8afc3972bf9b975997606f1  libstdc++-v3/docs/html/ext/pb_assoc/acks.html
! adeb6c648f80b1440be6c7d552f379da  libstdc++-v3/docs/html/ext/pb_assoc/balls_and_bins.jpg
! 6f59b7338a9559097337ec4cbf971894  libstdc++-v3/docs/html/ext/pb_assoc/basic_assoc_cntnr.html
! d407425f09248a929cbeb817d08d74bd  libstdc++-v3/docs/html/ext/pb_assoc/basic_assoc_cntnr_compound_data.html
! 5c13c3facfd7823faba72382c5e90eae  libstdc++-v3/docs/html/ext/pb_assoc/basic_assoc_cntnr_no_data.html
! 5743a2559bf2c0cebfcf07a1ef2d7341  libstdc++-v3/docs/html/ext/pb_assoc/basic_ds_tag.html
! ff8e76cd02f27649b676a27a7d5e0790  libstdc++-v3/docs/html/ext/pb_assoc/basic_hash_assoc_cntnr.html
! ca187f912fbc34c631975fdb48e5d035  libstdc++-v3/docs/html/ext/pb_assoc/basic_hash_ds_tag.html
! bd254adbfa08241366475086280bb806  libstdc++-v3/docs/html/ext/pb_assoc/basic_invalidation_guarantee.html
! f0690d2ae79f8acf3c4f0332c81b929f  libstdc++-v3/docs/html/ext/pb_assoc/basic_ms_tag.html
! 15755640bb3ebce6fd175374ae52ce30  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_assoc_cntnr.html
! 268f7124d002a5372f4f416a6f70cbed  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_const_node_iterator.html
! db334262a12d0f1efe91f47fec39f22b  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_node_iterator.html
! 41362326a4bf73173803d6acb6d0635a  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev.html
! 41362326a4bf73173803d6acb6d0635a  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_assoc_cntnr_rev_it.html
! daee3eff638c5650b554188a1d0ca3e1  libstdc++-v3/docs/html/ext/pb_assoc/basic_tree_ds_tag.html
! 96bc037a20ecf523c583f8e711c9e580  libstdc++-v3/docs/html/ext/pb_assoc/cc_hash_assoc_cntnr.html
! 59a12ea44160e9c5e665111afe8cae9e  libstdc++-v3/docs/html/ext/pb_assoc/cc_hash_ds_tag.html
! e6319e48cae228e91728e96543f85708  libstdc++-v3/docs/html/ext/pb_assoc/cc_hash_max_collision_check_resize_trigger.html
! aa55d9da5dcbd5aec22c4fff6eab95f9  libstdc++-v3/docs/html/ext/pb_assoc/cc_hash_policy_cd.jpg
! 222331c99b9b30c705da1953263e9642  libstdc++-v3/docs/html/ext/pb_assoc/cd.jpg
! fe35e6a7b8957e66a6ee9b6d11126a97  libstdc++-v3/docs/html/ext/pb_assoc/component_requirements.html
! d3c986a5a2e54402ba4b4a505dcac27b  libstdc++-v3/docs/html/ext/pb_assoc/compound_data_enabled_ms_tag.html
! 28e933d4d286b770f2287d15cf8637bb  libstdc++-v3/docs/html/ext/pb_assoc/compound_data_type.html
! b0dfde586492caf382387e3dab54ddbb  libstdc++-v3/docs/html/ext/pb_assoc/compound_ds_tag.html
! dee69c5a11c6c3b0e829423d20e68946  libstdc++-v3/docs/html/ext/pb_assoc/concepts.html
! 4840c28dfea688242044bb795b271a84  libstdc++-v3/docs/html/ext/pb_assoc/contact.html
! ace540bb29dec1cdc142065113118b74  libstdc++-v3/docs/html/ext/pb_assoc/counter_update_metadata.html
! d6bbc285904ba24ebafd6543c83b9adf  libstdc++-v3/docs/html/ext/pb_assoc/counter_update_policy.html
! 48e88d9f1dbe1c2e89b2ff7bec0701ec  libstdc++-v3/docs/html/ext/pb_assoc/data_enabled_ms_tag.html
! 1c4219d6854992525b766e8892cc36b3  libstdc++-v3/docs/html/ext/pb_assoc/design.html
! 93504ee7890f33b7c7b093cf63cc6320  libstdc++-v3/docs/html/ext/pb_assoc/different_underlying_dss.jpg
! 3bf774bb4f278ceda9ea763422c8d15a  libstdc++-v3/docs/html/ext/pb_assoc/direct_mask_range_hashing.html
! 48e55f759d0d1711b4b89bd740d509ba  libstdc++-v3/docs/html/ext/pb_assoc/direct_mod_range_hashing.html
! 736f622246e9317780f558f1d7b5fe44  libstdc++-v3/docs/html/ext/pb_assoc/disclaimer.html
! 8f45a325be64992880883469db07bc11  libstdc++-v3/docs/html/ext/pb_assoc/ds_gen.html
! 504a090b2f95e89209c1f69217060684  libstdc++-v3/docs/html/ext/pb_assoc/ds_tag_cd.jpg
! d214e604883406a940df5a2e7d7c0e62  libstdc++-v3/docs/html/ext/pb_assoc/ds_traits.html
! b2c4604322a0ca1d6280aedff4bbc666  libstdc++-v3/docs/html/ext/pb_assoc/embedded_lists_1.jpg
! 3b1150274f0a7710aa9a65ea4d586f5d  libstdc++-v3/docs/html/ext/pb_assoc/embedded_lists_2.jpg
! 5ded818b8bf70c4df7d50f395316b9a5  libstdc++-v3/docs/html/ext/pb_assoc/examples.html
! fdcaa51df461adb9b4d502c3a67d183e  libstdc++-v3/docs/html/ext/pb_assoc/exception_guarantees_specifics.html
! 8c3806e75297c2f7dc92f0b3293a2962  libstdc++-v3/docs/html/ext/pb_assoc/find_invalidation_guarantee.html
! c2b48008106b750238de2c1c15bc6e93  libstdc++-v3/docs/html/ext/pb_assoc/find_iterators_cd.jpg
! 42057b8611ceca017d16af36f73fbbc8  libstdc++-v3/docs/html/ext/pb_assoc/find_iterators_range_ops_1.jpg
! 0ab6b75c206878aa3ec4b28f093c8298  libstdc++-v3/docs/html/ext/pb_assoc/find_iterators_range_ops_2.jpg
! 6bc8a5a4b34420ea3cd3c7b6cf29b06e  libstdc++-v3/docs/html/ext/pb_assoc/generics.html
! a3d1741ab1cb371e3ad9c5e4e6330a26  libstdc++-v3/docs/html/ext/pb_assoc/gp_hash_assoc_cntnr.html
! 4bc23e78967b9b14050fb6a87f26fc24  libstdc++-v3/docs/html/ext/pb_assoc/gp_hash_ds_tag.html
! ad8873d2cd11695aa6a3bc1b343a4aaf  libstdc++-v3/docs/html/ext/pb_assoc/gp_hash_policy_cd.jpg
! aaccc080fabf3ee8e3e264c225e86667  libstdc++-v3/docs/html/ext/pb_assoc/hash_and_probe_general.html
! a9f8f3bca8bc30bc91dc405207980c06  libstdc++-v3/docs/html/ext/pb_assoc/hash_based_containers.html
! b94ab7e90d782852b3dc35a042313d3b  libstdc++-v3/docs/html/ext/pb_assoc/hash_cd.jpg
! 83ca0519ef86cc9be578033c9b83d3e4  libstdc++-v3/docs/html/ext/pb_assoc/hash_exponential_size_policy.html
! e8e68eaea537b2079293f1a4f56c3e64  libstdc++-v3/docs/html/ext/pb_assoc/hash_fn.html
! 0c88a6ef3e2263d3e286f34e92c50a79  libstdc++-v3/docs/html/ext/pb_assoc/hash_load_check_resize_trigger.html
! 38f9cac4fbd37c908872d9523dafe86f  libstdc++-v3/docs/html/ext/pb_assoc/hash_policies.html
! 106231906dfa05d700e9a84360ddc045  libstdc++-v3/docs/html/ext/pb_assoc/hash_policy_cd.jpg
! afecb0b576725689c78c38b0db5e5a08  libstdc++-v3/docs/html/ext/pb_assoc/hash_prime_size_policy.html
! b3d20019eadd159cface99eb81771eed  libstdc++-v3/docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram.jpg
! a6b9ede4c36854e6f997e227a89da495  libstdc++-v3/docs/html/ext/pb_assoc/hash_range_hashing_seq_diagram2.jpg
! 850a95ced8147b70507e13c7f15ba7dd  libstdc++-v3/docs/html/ext/pb_assoc/hash_ranged_hash_range_hashing_fns.jpg
! 6588a3c7c24a763ad3bc39bae5485e20  libstdc++-v3/docs/html/ext/pb_assoc/hash_standard_resize_policy.html
! d08bb93d4bf47d9eebd656e69421f6e4  libstdc++-v3/docs/html/ext/pb_assoc/home.html
! 85d816fff684dd463a718d94d1bae7ab  libstdc++-v3/docs/html/ext/pb_assoc/index.html
! 31af417283faa389023a428c51038019  libstdc++-v3/docs/html/ext/pb_assoc/insert_resize_sequence_diagram1.jpg
! 77d3a257e49487e0ccd1d61cfb3e0b7d  libstdc++-v3/docs/html/ext/pb_assoc/insert_resize_sequence_diagram2.jpg
! fee067f2e486b8ad73a48a1462b21b43  libstdc++-v3/docs/html/ext/pb_assoc/insert_resize_sequence_diagram3.jpg
! aca06f1c86585e44f73b631940af7574  libstdc++-v3/docs/html/ext/pb_assoc/insert_type_methods.html
! bf252c80185e71a0fde01b1a9abab1ed  libstdc++-v3/docs/html/ext/pb_assoc/interface.html
! 9ed0049abb2efd5b6b41c0af1cc5b0df  libstdc++-v3/docs/html/ext/pb_assoc/interval_node_invariants.jpg
! cc2907f738e2d86c8b204119f70d1c93  libstdc++-v3/docs/html/ext/pb_assoc/introduction.html
! 6964d5fd7e697696371b6986154ab9c1  libstdc++-v3/docs/html/ext/pb_assoc/invalidation_guarantee_cd.jpg
! 70347255cd70b136c888a88eb5cf1997  libstdc++-v3/docs/html/ext/pb_assoc/invalidation_guarantee_erase.jpg
! b1df7848cbb012764c5171d78e27a8dc  libstdc++-v3/docs/html/ext/pb_assoc/lib_download.html
! 1174a471e8dc60b9d53baeb9718e5cb1  libstdc++-v3/docs/html/ext/pb_assoc/linear_probe_fn.html
! 70aadcac3f552ea654c8de2810d0b625  libstdc++-v3/docs/html/ext/pb_assoc/list_updates.html
! 6076b73f28236e7ea1273f4c0b6fb52e  libstdc++-v3/docs/html/ext/pb_assoc/lu_assoc_cntnr.html
! d9626cf2c63b60211c0a68be8d9a0c0f  libstdc++-v3/docs/html/ext/pb_assoc/lu_based_containers.html
! a70920c1870542d6cf0a211f605fe353  libstdc++-v3/docs/html/ext/pb_assoc/lu_cd.jpg
! 0ee29d527b243f32072dc35b0b462d99  libstdc++-v3/docs/html/ext/pb_assoc/lu_ds_tag.html
! 4e93ecbefc4804d4a379975be19209be  libstdc++-v3/docs/html/ext/pb_assoc/lu_ops.jpg
! 1ff0341cc692bf649d80f5d8371f3b37  libstdc++-v3/docs/html/ext/pb_assoc/mmap_value_utils.html
! 583d59037d6af36d79572ebf0f8e215c  libstdc++-v3/docs/html/ext/pb_assoc/motivation.html
! 3e9ede2791962b10876d0ce4df531a2b  libstdc++-v3/docs/html/ext/pb_assoc/move_to_front_update_metadata.html
! 0693356971488e9d5b869f717f5ac7df  libstdc++-v3/docs/html/ext/pb_assoc/move_to_front_update_policy.html
! a5ce798adc9ff7e76cfcd4f1f5e72d23  libstdc++-v3/docs/html/ext/pb_assoc/ms_cd.jpg
! f61c1b7ddb6f43d2936e8581f18538c0  libstdc++-v3/docs/html/ext/pb_assoc/ms_gen.html
! 03f187b59de742612ddb81cf0aac297b  libstdc++-v3/docs/html/ext/pb_assoc/ms_tag_cd.jpg
! ba516742ab4541de021deab5754bed7f  libstdc++-v3/docs/html/ext/pb_assoc/ms_traits.html
! b9062b58e4b0ad4c53af1e310f49303e  libstdc++-v3/docs/html/ext/pb_assoc/node_invariant_invalidations.jpg
! 7ef15906aa18684f75e35f3c689421ed  libstdc++-v3/docs/html/ext/pb_assoc/node_invariants.html
! 283dc0847bf1c93fec63c60d98f679ae  libstdc++-v3/docs/html/ext/pb_assoc/node_invariants.jpg
! 4d14586bebb497ff55349cc92503f430  libstdc++-v3/docs/html/ext/pb_assoc/non_unique_mapping.html
! ced467f39124f3390ac4cd80ac95ce82  libstdc++-v3/docs/html/ext/pb_assoc/non_unique_mapping_containers.jpg
! bd2cd8f8b0e4f68f428efebce76b4e3b  libstdc++-v3/docs/html/ext/pb_assoc/null_data_type.html
! 2b70d93fc092165b04bfa44f4f98d0b6  libstdc++-v3/docs/html/ext/pb_assoc/null_hash_fn.html
! 02185edde5c6b6939b792517531414f8  libstdc++-v3/docs/html/ext/pb_assoc/null_probe_fn.html
! 8d27ed6804de51fa5595c819d24045d7  libstdc++-v3/docs/html/ext/pb_assoc/order_by_key.html
! d246b8a3b804a744ba86f0c29376ebe0  libstdc++-v3/docs/html/ext/pb_assoc/order_statistics_key.html
! 60d521b7a0d0364dd5504e02ee6fbe82  libstdc++-v3/docs/html/ext/pb_assoc/order_statistics_key_cmp.html
! 58009502dd2dbcb0cdf4d39d555fd261  libstdc++-v3/docs/html/ext/pb_assoc/order_statistics_node_updator.html
! 22761affb23ebcb9e8f5cb0c0ddc49b3  libstdc++-v3/docs/html/ext/pb_assoc/ov_tree_ds_tag.html
! c60f60ed4cdfb0c12fafe86baac318bd  libstdc++-v3/docs/html/ext/pb_assoc/overview.html
! fb8f599d201f57030bf09aab2e9f713f  libstdc++-v3/docs/html/ext/pb_assoc/pb_assoc_ex.html
! 2cec425c5789a4bc7b2128e257c1a290  libstdc++-v3/docs/html/ext/pb_assoc/portability.html
! 665ffb50a11bb96c0797d5eecb6feccb  libstdc++-v3/docs/html/ext/pb_assoc/quadratic_probe_fn.html
! 520d528ea4e8a558957c9e8e72cd3cab  libstdc++-v3/docs/html/ext/pb_assoc/range_invalidation_guarantee.html
! e7c9c14c0503ef7ac25e1c0cc3ffc89c  libstdc++-v3/docs/html/ext/pb_assoc/rank_node_invariants.jpg
! 30b65a385137806fb166d7a48483425b  libstdc++-v3/docs/html/ext/pb_assoc/rationale_null_node_updator.jpg
! ce4a1d94bafc4a475cbfc588d4121a5f  libstdc++-v3/docs/html/ext/pb_assoc/rb_tree_ds_tag.html
! 299860d279d4f98b9736bcdeadcd6c62  libstdc++-v3/docs/html/ext/pb_assoc/reference_iterator.jpg
! e76da01a5c6f946d08c69ee9dea07816  libstdc++-v3/docs/html/ext/pb_assoc/references.html
! 133b0b797d0603d0bee3f9ec65385a03  libstdc++-v3/docs/html/ext/pb_assoc/regression_tests.html
! c6f6c82badd4a5b25e7e43d883e40a30  libstdc++-v3/docs/html/ext/pb_assoc/resize_general.html
! d9a02e0c84d0172d27030cad81e236d5  libstdc++-v3/docs/html/ext/pb_assoc/resize_policies.html
! 1ff9bbcb053c58ef0faacdb12abf5ce8  libstdc++-v3/docs/html/ext/pb_assoc/resize_policy_cd.jpg
! 79956ec18d8d0ce3b55fd786880dfb1a  libstdc++-v3/docs/html/ext/pb_assoc/restoring_node_invariants.jpg
! f21b3812984ab79ea9c81b7d3480840d  libstdc++-v3/docs/html/ext/pb_assoc/sample_node_updator.hpp
! ae05b32bab6d086fd306bbfb00278f27  libstdc++-v3/docs/html/ext/pb_assoc/sample_probe_fn.hpp
! c9c6fd17147ceacf4d72557d5af5b638  libstdc++-v3/docs/html/ext/pb_assoc/sample_probe_fn.html
! 0d4471935ed5e8ecdb9ba9c92368a687  libstdc++-v3/docs/html/ext/pb_assoc/sample_range_hashing.hpp
! 3a0333aad348e91f5d76b2e476d4b0c1  libstdc++-v3/docs/html/ext/pb_assoc/sample_range_hashing.html
! b06d3cb17fd029577dac0edde50a74f6  libstdc++-v3/docs/html/ext/pb_assoc/sample_ranged_hash_fn.hpp
! 4a9a2769e54ef7f491b29488f147a8fb  libstdc++-v3/docs/html/ext/pb_assoc/sample_ranged_hash_fn.html
! 3507844d52b1757395747156cc64cf69  libstdc++-v3/docs/html/ext/pb_assoc/sample_ranged_probe_fn.hpp
! 946c71892bbdd42f617273b101dd2dee  libstdc++-v3/docs/html/ext/pb_assoc/sample_ranged_probe_fn.html
! ce06c8737fc2a62a2d7a1689f221d479  libstdc++-v3/docs/html/ext/pb_assoc/sample_resize_policy.hpp
! bbfb600ca78b24820b995dae300377b1  libstdc++-v3/docs/html/ext/pb_assoc/sample_resize_policy.html
! ea9532cc0cd231a895de5fea343f6922  libstdc++-v3/docs/html/ext/pb_assoc/sample_resize_trigger.hpp
! 364f0f9fdda069af916cc901b4cc8d94  libstdc++-v3/docs/html/ext/pb_assoc/sample_size_policy.hpp
! 2cff5c64113d90f3ef802813dc5eaa4f  libstdc++-v3/docs/html/ext/pb_assoc/sample_update_policy.hpp
! a4a9e6dd866c17ad2723fd37d3725535  libstdc++-v3/docs/html/ext/pb_assoc/size_policies_general.html
! f0fac9ea93d221e0a5fe0991810f66b1  libstdc++-v3/docs/html/ext/pb_assoc/splay_tree_ds_tag.html
! 53947a5b5c693413f014d2a3d7cf0c33  libstdc++-v3/docs/html/ext/pb_assoc/timing_tests.html
! 67ffb18e7539c1696914c01a315ba452  libstdc++-v3/docs/html/ext/pb_assoc/toc.html
! 77f092f535ac60647281cb21c07a45f6  libstdc++-v3/docs/html/ext/pb_assoc/tree_assoc_cntnr.html
! ef7995629d46ac2f4e8e23fd27d87cb8  libstdc++-v3/docs/html/ext/pb_assoc/tree_assoc_cntnr_const_node_iterator.html
! d1ac21f8d35955e0b5e5f3e9385e757c  libstdc++-v3/docs/html/ext/pb_assoc/tree_assoc_cntnr_node_iterator.html
! 78b31fd82d94b905900dfa7063914017  libstdc++-v3/docs/html/ext/pb_assoc/tree_based_containers.html
! 5a78dbab09283d7eb065705c12de5ebb  libstdc++-v3/docs/html/ext/pb_assoc/tree_cd.jpg
! 9060cc5b30bcc3d76c27b45de2135205  libstdc++-v3/docs/html/ext/pb_assoc/trigger_policies_general.html
! 9313ac7515b78c98ca8644db65db770f  libstdc++-v3/docs/html/ext/pb_assoc/tutorial.html
! 255006208bf23dcbe172d4f45c515f51  libstdc++-v3/docs/html/ext/pb_assoc/update_seq_diagram.jpg
  6ab0d4db4c5c82dc560425b36a2d0471  libstdc++-v3/docs/html/ext/sgiexts.html
! 5ea4c1997a2bff43ac7f44e0a6256b3c  libstdc++-v3/docs/html/ext/tr1.html
! 8cbaab2ebf8835fd3bdc9f26f2641f6c  libstdc++-v3/docs/html/faq/index.html
! c22fe8b16b7af7ee542ccc47e5388999  libstdc++-v3/docs/html/faq/index.txt
! e95efcfc4eb803dc6afc31a3c938e4f2  libstdc++-v3/docs/html/install.html
  89af7232308fcd3be5ac891be10fe912  libstdc++-v3/docs/html/lib3styles.css
  946dfd1d05d272636f527377c14a2e4c  libstdc++-v3/docs/html/makedoc.awk
! c9833f9adfe8ae327c4d27232851f0d4  libstdc++-v3/docs/html/test.html
! 66fc6bbadeca9084644a78da8cd388d8  libstdc++-v3/fragment.am
! ac1d6d49e3cc1b83ec883374b9e2a894  libstdc++-v3/include/Makefile.am
! 9492915e7e7a8822625ad3a8a01bdb4c  libstdc++-v3/include/Makefile.in
! dd9310d6f4f702dc7b3d3457a75b104f  libstdc++-v3/include/backward/algo.h
! feb5de7ec6aea8da0020f1ae779187ed  libstdc++-v3/include/backward/algobase.h
! 3ba1b1c0a0b40003743fb60a1107ab4b  libstdc++-v3/include/backward/alloc.h
! 5085f03bcf7f05ca665c1bb2b81b5bdf  libstdc++-v3/include/backward/backward_warning.h
! df8d299d60ed8c4998276f48c9e23df1  libstdc++-v3/include/backward/bvector.h
! 7ccd4c417b15de6b60e3e0828793370a  libstdc++-v3/include/backward/complex.h
! ce18d42369f1bcccce096ff0b7b12be1  libstdc++-v3/include/backward/defalloc.h
! 8db8dfed31698f2540e66246c35ada87  libstdc++-v3/include/backward/deque.h
! 50f3db69a7f16c989c3098bee7027566  libstdc++-v3/include/backward/fstream.h
! db909fb2e4d159e58ffb79855b8f7160  libstdc++-v3/include/backward/function.h
! e904d0ee93d6e641f26a9733680c2748  libstdc++-v3/include/backward/hash_map.h
! 4d65a9cd4205caf4c1ccaad00b590bd0  libstdc++-v3/include/backward/hash_set.h
! df9d5b3ffd6bfc846a4880735a1caa90  libstdc++-v3/include/backward/hashtable.h
! 92993a8e73dcf95d1fc8cc5e02e2e3dd  libstdc++-v3/include/backward/heap.h
! afb49d4dcac24fcb59bc0c248c846cee  libstdc++-v3/include/backward/iomanip.h
! e8fa8de45f6138ef070c12e11e5e5523  libstdc++-v3/include/backward/iostream.h
! 3c2644f47ef50773b583484d141b8e5c  libstdc++-v3/include/backward/istream.h
! b71d3fcd7912ae20398254f6945a2915  libstdc++-v3/include/backward/iterator.h
! 05244a1e5c1d6552481f6437276e115b  libstdc++-v3/include/backward/list.h
! bbe244a3e37c93e87b998ebafb92f6c2  libstdc++-v3/include/backward/map.h
! ba690d270f7a10f3b1ec651bf884c373  libstdc++-v3/include/backward/multimap.h
! 335007f36836d0be67e6610b814fe467  libstdc++-v3/include/backward/multiset.h
! e37535f60a88b41dd4a6f809fa2773f1  libstdc++-v3/include/backward/new.h
! 13df3b8558fd1b74f76e774e195767fa  libstdc++-v3/include/backward/ostream.h
! d61b68c764a7d20bc0c02c6378318f7a  libstdc++-v3/include/backward/pair.h
! 705234b72ded8b36e4022ae17ccce92a  libstdc++-v3/include/backward/queue.h
! 3cfe698dbc96aa6bf80521abc09afa38  libstdc++-v3/include/backward/rope.h
! 31ce6dfa319d9d104b68370e58521a57  libstdc++-v3/include/backward/set.h
! 9f511d97773651ded99407255bde516f  libstdc++-v3/include/backward/slist.h
! e37e6cbdb055dda8950cc87e8038b6bf  libstdc++-v3/include/backward/stack.h
! 09776498ec7d2b907592a1545bbc5857  libstdc++-v3/include/backward/stream.h
! c8a06e6c96a1c9c2429fbec9cca44d7a  libstdc++-v3/include/backward/streambuf.h
! 4ab31378f261a0b5e10efa79ef3cc358  libstdc++-v3/include/backward/strstream
! 558ccc847f2459c29c02835af1438b02  libstdc++-v3/include/backward/tempbuf.h
! f41f47f248b612e5ad93d0703e22d651  libstdc++-v3/include/backward/tree.h
! a86702b2a1503b3889f4a715774cba0d  libstdc++-v3/include/backward/vector.h
! c259244df8889aa366799fddd1c46e83  libstdc++-v3/include/bits/allocator.h
! 78f4d8000bb76d2ef3974a3b478990ec  libstdc++-v3/include/bits/atomicity.h
! cbf739afe88575d647acfbd41e44967e  libstdc++-v3/include/bits/basic_ios.h
! 0d7efab4713b0e1cb3e083d70403a2bc  libstdc++-v3/include/bits/basic_ios.tcc
! fe4025610ab85a07bf2955cf55895234  libstdc++-v3/include/bits/basic_string.h
! f45e06906bd952d0d73452cf4d33cc03  libstdc++-v3/include/bits/basic_string.tcc
! 3da361d927145d1b5d9cb277dc546f8a  libstdc++-v3/include/bits/boost_concept_check.h
! b6443f07d2ca02aed08f48f6442b5f1f  libstdc++-v3/include/bits/c++config
! d50da3910373f17d5acf10be49b00873  libstdc++-v3/include/bits/char_traits.h
! b776bd878c17ef3e59fbcd6ab7dda26a  libstdc++-v3/include/bits/codecvt.h
! 951facae6cd748f54b167fb78865f89a  libstdc++-v3/include/bits/concept_check.h
! 46a944ae842881ea442239cc4490839e  libstdc++-v3/include/bits/concurrence.h
! 6ba20e8fe8f5dafa0d045f85a78f4829  libstdc++-v3/include/bits/cpp_type_traits.h
! d9609e6c01c019875af433a10c3c1103  libstdc++-v3/include/bits/deque.tcc
! d3b94301053e3d6dab5d06609ccd5074  libstdc++-v3/include/bits/fstream.tcc
! 5661467b7337d1465561d4e05af61ade  libstdc++-v3/include/bits/functexcept.h
! 8bea80ae222730dc17641f068becb800  libstdc++-v3/include/bits/gslice.h
! 3d90cdf051aefadc95a725dbb520252a  libstdc++-v3/include/bits/gslice_array.h
! e4fbaf65940ce048b651d668c0bd0e3b  libstdc++-v3/include/bits/indirect_array.h
! 1999c41ca885838ef32639e1317b81cc  libstdc++-v3/include/bits/ios_base.h
! 818ef837afbe1a054a63858f444d7c7e  libstdc++-v3/include/bits/istream.tcc
! 522a035e327ac9803384381c16cd4e62  libstdc++-v3/include/bits/list.tcc
! bdb83db0f4b4f1de1e7c3b4c5343f15c  libstdc++-v3/include/bits/locale_classes.h
! c89c3323e8d3180915b4a837917a0f48  libstdc++-v3/include/bits/locale_facets.h
! e5f454083c74aca07dd9c1ed82c57a17  libstdc++-v3/include/bits/locale_facets.tcc
! df17b69462293b2a942d09f85685fcc6  libstdc++-v3/include/bits/localefwd.h
! 64338d6304accffdada16fa2c651b99d  libstdc++-v3/include/bits/mask_array.h
! e5bdb3b28092e9992885b411cdd7614b  libstdc++-v3/include/bits/ostream.tcc
! e28a3ca275cc0e39ce0e794e2f09c0c4  libstdc++-v3/include/bits/postypes.h
! 13ee9d8c4370b9350ef25c0bb2e49c75  libstdc++-v3/include/bits/slice_array.h
! 0b86e687283352a5f677ffd3c1054dbb  libstdc++-v3/include/bits/sstream.tcc
! 800fa70e31d3e8806372ccac03d1632e  libstdc++-v3/include/bits/stl_algo.h
! b6fa85e710cfe50a35f74a37e9809df9  libstdc++-v3/include/bits/stl_algobase.h
! c45a37336ac99d7eab4cdd36f7e5deaa  libstdc++-v3/include/bits/stl_bvector.h
! fb1cd4242866fe1d819517395095e4a0  libstdc++-v3/include/bits/stl_construct.h
! 802917ed995a2ff41a00125663ace0c6  libstdc++-v3/include/bits/stl_deque.h
! 5d336d26fe597fb0728dd01bdbb94126  libstdc++-v3/include/bits/stl_function.h
! 1ab0498c4d70e5a59d380c007cc448ac  libstdc++-v3/include/bits/stl_heap.h
! 8a5b3d0ee806ff37f99f283adab6ac3e  libstdc++-v3/include/bits/stl_iterator.h
! 596dcdc351f1df3ded602af8a2c63b75  libstdc++-v3/include/bits/stl_iterator_base_funcs.h
! f8c9560537b1b404d67336de11dee13e  libstdc++-v3/include/bits/stl_iterator_base_types.h
! d6194a414fb57d132c4854aa9c74d3fd  libstdc++-v3/include/bits/stl_list.h
! df820406867a68af43fa73078d7c4866  libstdc++-v3/include/bits/stl_map.h
! 68787d1878935217035780735b541d7b  libstdc++-v3/include/bits/stl_multimap.h
! 5364fa357803a180f32f12a96627a94a  libstdc++-v3/include/bits/stl_multiset.h
! 0cf351a0ff67afd3bb6edc24f9b841e1  libstdc++-v3/include/bits/stl_numeric.h
! e4ca0a69a2f4aae93056db336275b3a0  libstdc++-v3/include/bits/stl_pair.h
! e066bb08b7e2f1f01b6989ce1a0cf820  libstdc++-v3/include/bits/stl_queue.h
! 1e59ec1fc865de53ce1d4dbe27618495  libstdc++-v3/include/bits/stl_raw_storage_iter.h
! b7d496e054ac4985d028458e2bb40012  libstdc++-v3/include/bits/stl_relops.h
! 4b61a769f7b087a90f4cfb32ec518d6a  libstdc++-v3/include/bits/stl_set.h
! 7c023d80ec8a8bde3f85269d7b30ca19  libstdc++-v3/include/bits/stl_stack.h
! 6877d3f717d37d1c0d72a09c7e39acf2  libstdc++-v3/include/bits/stl_tempbuf.h
! d13c63d47f494a0c21b0e22f900a9b65  libstdc++-v3/include/bits/stl_tree.h
! 7b4aa8cd766ce5026f65eff579b77232  libstdc++-v3/include/bits/stl_uninitialized.h
! 0ba20a83f9e7903afe9b99979c797a1b  libstdc++-v3/include/bits/stl_vector.h
! 2cb6db104531a922bb9ba1060468fd89  libstdc++-v3/include/bits/stream_iterator.h
! 583d0167b689d383e32509376ef764be  libstdc++-v3/include/bits/streambuf.tcc
! b72581771289133e658556dd0a6c80cb  libstdc++-v3/include/bits/streambuf_iterator.h
! 06a40ec1af46d5b42989b6a8c5342834  libstdc++-v3/include/bits/stringfwd.h
! f9e7d69ad25f01569b909918f656ddc2  libstdc++-v3/include/bits/valarray_after.h
! bde44f5d705060f8e62683233627f241  libstdc++-v3/include/bits/valarray_array.h
! 14f99c5db2db12c6cc23545e162cdaa3  libstdc++-v3/include/bits/valarray_array.tcc
! 62f630491b412ab32b92cdf6f670f9fc  libstdc++-v3/include/bits/valarray_before.h
! a3f502499ae6359e6a5e837e506d6b8f  libstdc++-v3/include/bits/vector.tcc
! d9e8ca0ba0d7e043d00b414d477dda24  libstdc++-v3/include/c/std_cassert.h
! fcb9dac8dafa5c09b6a9815d96a1c427  libstdc++-v3/include/c/std_cctype.h
! 17f26f571fb9580a38fe9ee4349b6ece  libstdc++-v3/include/c/std_cerrno.h
! ad5685798be64cc1781b2f026e39905b  libstdc++-v3/include/c/std_cfloat.h
! e33782107f424507678ae203dc226729  libstdc++-v3/include/c/std_ciso646.h
! 00cf524bf89c46954ea3a52c061884bd  libstdc++-v3/include/c/std_climits.h
! c036b12675633fcea139d72ee94c01e3  libstdc++-v3/include/c/std_clocale.h
! f3c99f346389b7daefc91ec6b38d596f  libstdc++-v3/include/c/std_cmath.h
! 05a60497662b575a028b40c3669591c4  libstdc++-v3/include/c/std_csetjmp.h
! 68afe483b8823cfac0cfe90bd94e845b  libstdc++-v3/include/c/std_csignal.h
! 7a93ec885379dadeb7a288283197711e  libstdc++-v3/include/c/std_cstdarg.h
! 80db5bb536259264af19797699366b41  libstdc++-v3/include/c/std_cstddef.h
! 88ce1d5a47a8d68f56bd35327b74e19c  libstdc++-v3/include/c/std_cstdio.h
! f04052d845dc97c57512243becbffc22  libstdc++-v3/include/c/std_cstdlib.h
! 6e7e2be3717e3015d50a706d639f83e7  libstdc++-v3/include/c/std_cstring.h
! b87980992c2d7b092db46ba61bb28f91  libstdc++-v3/include/c/std_ctime.h
! a619880e71016795b089504e6a4eed0e  libstdc++-v3/include/c/std_cwchar.h
! 41df63f838f23649e31feed869bac49b  libstdc++-v3/include/c/std_cwctype.h
! b5b7b5d22a9160039456d0fc07531ab5  libstdc++-v3/include/c_compatibility/assert.h
! 3d9fd4675b7aeb7874d0dbcb3233d29c  libstdc++-v3/include/c_compatibility/ctype.h
! 598fe90f9f90b5673257e4745923f7b1  libstdc++-v3/include/c_compatibility/errno.h
! d85994776d2566a2cdf4e592c45bd932  libstdc++-v3/include/c_compatibility/float.h
! 90b74800e6b496a56a9bcd2c66b7a9bf  libstdc++-v3/include/c_compatibility/iso646.h
! 8cd955dc4cc81dbe29a320722522cc83  libstdc++-v3/include/c_compatibility/limits.h
! 4da2a8b1f5ec91706178ee6505bb8e01  libstdc++-v3/include/c_compatibility/locale.h
! 0a8397d8fb0bef8f39ab1b787a714568  libstdc++-v3/include/c_compatibility/math.h
! 0bcd2037fdcaec96f72b7771d754e36d  libstdc++-v3/include/c_compatibility/setjmp.h
! 3d76b14ca984447d55e865b391e43560  libstdc++-v3/include/c_compatibility/signal.h
! d4fa9745b2d7f63471645d8cdb44f83d  libstdc++-v3/include/c_compatibility/stdarg.h
! 48fbbaf19db96b3d95d8761e18037364  libstdc++-v3/include/c_compatibility/stddef.h
! 042cf1a3b1031287b6b22dd3e8aa7929  libstdc++-v3/include/c_compatibility/stdio.h
! 7ba6b7bf00dcef0b846aba55bb7ed93b  libstdc++-v3/include/c_compatibility/stdlib.h
! a43b3f12d6214e1e0544eb16778081ca  libstdc++-v3/include/c_compatibility/string.h
! dfabbb7eb5a9f39d8a85981e068d32fd  libstdc++-v3/include/c_compatibility/time.h
! 04936dcffb7e31e70c5b3f268ef399a8  libstdc++-v3/include/c_compatibility/wchar.h
! eae443076d3a644c2ce93d685a12c214  libstdc++-v3/include/c_compatibility/wctype.h
! 17c4111248c0a23af415f9f36b9a6d89  libstdc++-v3/include/c_std/cmath.tcc
! 7cdf61b4ec8a66a05459b92586eb4b6b  libstdc++-v3/include/c_std/std_cassert.h
! 3e608f8edb7e13863c853010b6d5f582  libstdc++-v3/include/c_std/std_cctype.h
! a60f5029d4643ce289d4c99e3bbbb76d  libstdc++-v3/include/c_std/std_cerrno.h
! bd505a1ebadb0804ab55e47658012425  libstdc++-v3/include/c_std/std_cfloat.h
! 4ee31cca4e134af3eb274aca530c9b02  libstdc++-v3/include/c_std/std_ciso646.h
! 2743bf4b5902977684383aaa4266e398  libstdc++-v3/include/c_std/std_climits.h
! 679debcd4ae96fd4c0685f358431632c  libstdc++-v3/include/c_std/std_clocale.h
! e49207c8858b32e1d6ecd2c172542c51  libstdc++-v3/include/c_std/std_cmath.h
! f07f39bd79ac6c5a8cb9b5c6a6761619  libstdc++-v3/include/c_std/std_csetjmp.h
! 854d694729bffe7c5e4a7567e6e66ba4  libstdc++-v3/include/c_std/std_csignal.h
! fb524e0a338deccd9297fa2d07e90b96  libstdc++-v3/include/c_std/std_cstdarg.h
! 313ae2d9a6b9a7dc2bae0200b68c0433  libstdc++-v3/include/c_std/std_cstddef.h
! c1132d3a29a5d9f07839da7ec64eb28e  libstdc++-v3/include/c_std/std_cstdio.h
! ad8a5740ea3749c389a9959e5a538e42  libstdc++-v3/include/c_std/std_cstdlib.h
! 0efd1f38ed46447c460c05ced28f1112  libstdc++-v3/include/c_std/std_cstring.h
! d017bd442184953e3cba39da5569535e  libstdc++-v3/include/c_std/std_ctime.h
! 23a8b5907949a6ccdda5bcebe77693a3  libstdc++-v3/include/c_std/std_cwchar.h
! 712456725cee69fc10e4b46e48c7be80  libstdc++-v3/include/c_std/std_cwctype.h
! 1488cdf6d904932a07e81bbf8918a2dc  libstdc++-v3/include/debug/bitset
! 3cf4207cc29810f1459242363b802e39  libstdc++-v3/include/debug/debug.h
! d94f535965901b9e7ece7688169c650b  libstdc++-v3/include/debug/deque
! 996b012292c93d5a0219e6449daf3c8a  libstdc++-v3/include/debug/formatter.h
! 2eb3a526860eecbbec59feef84647b69  libstdc++-v3/include/debug/functions.h
! 3a2ec3facbd4b1a0f7d80857f37a807e  libstdc++-v3/include/debug/hash_map
! 1f98bfe2462c3c42d9066c565e7e1304  libstdc++-v3/include/debug/hash_map.h
! 4b86faf3c526a220c52dc991eca6f8dc  libstdc++-v3/include/debug/hash_multimap.h
! 8c796b5f17374d5c3eed3a1fee4b83e3  libstdc++-v3/include/debug/hash_multiset.h
! f8f3e7a94bc8109846792c4e5875b604  libstdc++-v3/include/debug/hash_set
! 96239717efe606cc7acb473cf1a88d6b  libstdc++-v3/include/debug/hash_set.h
! e958d4b692825a087d0d792452da1044  libstdc++-v3/include/debug/list
! a06cd0c0f2c0f16a7c2c5d2465dbd6dd  libstdc++-v3/include/debug/macros.h
! bbaf8dd90167eeb05e22fc63f13662ea  libstdc++-v3/include/debug/map
! 980aadd8df4c713a4b7dd44720710d82  libstdc++-v3/include/debug/map.h
! f3cde66948efba4aca7586a5a44da44c  libstdc++-v3/include/debug/multimap.h
! 053adc5a46cabdd0cd7cdfbc91e45485  libstdc++-v3/include/debug/multiset.h
! fec267cefc9b3dbc562cba1850345f4d  libstdc++-v3/include/debug/safe_base.h
! feb4e060adc1277b41e0ac7538fa620e  libstdc++-v3/include/debug/safe_iterator.h
! 4ecebc986387e8c61ac279249c7590ac  libstdc++-v3/include/debug/safe_iterator.tcc
! b0b18c30ba50d570298e7259630ce01c  libstdc++-v3/include/debug/safe_sequence.h
! ca109471d6c87e3fde25647a6d1dd7a7  libstdc++-v3/include/debug/set
! 80c9f0087e05cc68e8d64641b46c9196  libstdc++-v3/include/debug/set.h
! 34490e21ce7b90125a0d4c99b033a392  libstdc++-v3/include/debug/string
! 7273cab909d26a54698aaff9d13f4eb1  libstdc++-v3/include/debug/vector
! 1e96bd3eaaac1883686aa3b2184d882b  libstdc++-v3/include/ext/algorithm
! 773aeb7e3d7286f47756db9a6519b4c1  libstdc++-v3/include/ext/array_allocator.h
! 94e0cab0287a679a5013f0a8499422f2  libstdc++-v3/include/ext/bitmap_allocator.h
! 60f8784ef2bc5f2fd721d029a31061e1  libstdc++-v3/include/ext/codecvt_specializations.h
! 15a032ed28a7c294bf0fc556b99df1a8  libstdc++-v3/include/ext/debug_allocator.h
! 6f6aabdd21715ab4a3f7c68381b6fbeb  libstdc++-v3/include/ext/functional
! b363f9825747a3bee48a826ac62013e7  libstdc++-v3/include/ext/hash_fun.h
! fb0045af1444024e192d205c3a443091  libstdc++-v3/include/ext/hash_map
! e9343014c846f9b348e714e997db3f79  libstdc++-v3/include/ext/hash_set
! 06c9bb281c56fdeef0a91f4dbee8a97c  libstdc++-v3/include/ext/hashtable.h
! ab182b75a5036c97a4c7a92601858c38  libstdc++-v3/include/ext/iterator
! 24ae3753872da0d5168a9566ba8653c4  libstdc++-v3/include/ext/malloc_allocator.h
! e62e9b4b504dbf03984fd0ee0528f343  libstdc++-v3/include/ext/memory
! 83ac83c1d1d9bdf6923ad2cca644e647  libstdc++-v3/include/ext/mt_allocator.h
! a124e39dda60d8f250576ca030596520  libstdc++-v3/include/ext/new_allocator.h
! 14e82facad009ef8957ae929844c4014  libstdc++-v3/include/ext/numeric
! 2cdc08f9bb83a883fd549ebb0b362dac  libstdc++-v3/include/ext/pb_assoc/assoc_cntnr.hpp
! 4c93ad3e50c6cb09b9eb4dba6cceeef5  libstdc++-v3/include/ext/pb_assoc/data_type.hpp
! 6ee7450ddc2c84297b9a9a30e670cfd5  libstdc++-v3/include/ext/pb_assoc/detail/assoc_cntnr_base.hpp
! de3a5bfae761460679db04450a412f0f  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructor_destructor_fn_imps.hpp
! d0f01ccf84f65ee6b89856fcc9353b90  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/constructors_destructor_fn_imps.hpp
! eb6e0136051719f581e9803ece52e679  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_extract_key.hpp
! 440bb2c78aabd9af6bf628cf1ae17874  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_find_fn_imps.hpp
! e1df221cbca54ca335f2f385c2846423  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/d_insert_fn_imps.hpp
! 387cc212f0443ffcf04045996a1391c0  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/erase_fn_imps.hpp
! 81ffb410cf32ec18f1e83f0bfb91a292  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/extract_key.hpp
! 70d12f4af23b2736c0a9077198655f70  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/info_fn_imps.hpp
! 891dc2e773ba91c97a9338f8a3ca188a  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/insert_fn_imps.hpp
! bc0ab1c78ade8124594ecb00fdd02ea0  libstdc++-v3/include/ext/pb_assoc/detail/basic_assoc_cntnr/iterators_fn_imps.hpp
! 8f591d56f89ed30dfe4dfd6ec0beaed6  libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
! e6b3e6616fe9d26ab4ecc29867e4c124  libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/constructors_destructor_fn_imps.hpp
! 5fd6320d2c17aecf1079551fb561931c  libstdc++-v3/include/ext/pb_assoc/detail/basic_hash_assoc_cntnr/resize_fn_imps.hpp
! 1c0ca6791dafcc27ff487da9c82d3570  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
! 1c0ca6791dafcc27ff487da9c82d3570  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/constructors_destructor_fn_imps.hpp
! b933c6facc27f8c166ec376e33b187c5  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/erase_fn_imps.hpp
! 7b2cc9a0958bd1c96485f9bd81236fde  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/node_iteration_fn_imps.hpp
! ec9a6fe2731a39cb1b2ca6685667feee  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/policy_access_fn_imps.hpp
! 6228dcf5a0b2f4d22d85bc1e3ff3bf70  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_erase_fn_imps.hpp
! e4f07e3991f1c7b03c885406bd0d4f10  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/r_range_iteration_fn_imps.hpp
! e4f07e3991f1c7b03c885406bd0d4f10  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/range_iteration_fn_imps.hpp
! 97948b447265937b9778b836801af667  libstdc++-v3/include/ext/pb_assoc/detail/basic_tree_assoc_cntnr/split_join_fn_imps.hpp
! 27f530ca09ab438a350bbd8fbefc4870  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/bin_search_tree_.hpp
! 61ebb4c73a43f8fe76f7b6b5885d35b5  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp
! e98ccab7c19b02840a7dfee4709cd87f  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp
! ebd81d7d9f4565fc45aa840b73abd4ff  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp
! 9a6c3118a0ccb7e4ab7ae640f786646d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/debug_fn_imps.hpp
! 49dfe4948b8f3a7e401870836df46836  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/erase_fn_imps.hpp
! bc46d50fc10a5dd72894d62daf63065d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_fn_imps.hpp
! d26f8067ecc81417896a8743510eaf74  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/find_iterators.hpp
! c622462a8b1e132a10761833124dbf1d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/info_fn_imps.hpp
! 163e35f30ef733e1f28bd3741dca229d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/insert_fn_imps.hpp
! 86581859517ba83f7e71245f1b4d9064  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/iterators_fn_imps.hpp
! a1fa71057b39217e652910f33417686d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/node_iterators.hpp
! 3a2bce927876d5e51edcac0f2acfbbe7  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/r_erase_fn_imps.hpp
! db0f825434ce0cae43ed26f1ff4a86d6  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/rotate_fn_imps.hpp
! bd0fcf22b7a916062d91cdde19d57e8d  libstdc++-v3/include/ext/pb_assoc/detail/bin_search_tree_/split_join_fn_imps.hpp
! b2946a104e7d48cab973bf52a060637c  libstdc++-v3/include/ext/pb_assoc/detail/cc_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
! 548a42b6165895ab6afc16cf704394b2  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cc_ht_map_.hpp
! 1e009beddf51acc30d3f514c33a3fdfe  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cmp_fn_imps.hpp
! eb597486a36cf7992d3bec71d674f957  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/cond_key_dtor_entry_dealtor.hpp
! b1109ad78f57d92f60e574f238e3ff7a  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_fn_imps.hpp
! 12431046e315201366c9503412af0de8  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
! 8bdb82137a2668da29166ecda2643b13  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
! d0b2304bd6bd285b745cdf2775ae17b5  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_fn_imps.hpp
! 2570882a5895229bdfe5e36edadd493e  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_no_store_hash_fn_imps.hpp
! 3074980a4329fe8f7a13605f030ca611  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/debug_store_hash_fn_imps.hpp
! f7747f3e2b89ede0cd4b9452a8d21ac1  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/entry_list_fn_imps.hpp
! 591a6508359326a0873881ef308eaa70  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_fn_imps.hpp
! 004fbc49514911d0193c20094446b4e7  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_no_store_hash_fn_imps.hpp
! 10539b711250436544693bd41733d12f  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/erase_store_hash_fn_imps.hpp
! 18349ac6a74657798e0d641f0e4d350a  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_fn_imps.hpp
! ee83477df4016e9740e93f6dfd3dd481  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_no_store_hash_fn_imps.hpp
! 6a36beddb42b41295c87a869d6553cf0  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/find_store_hash_fn_imps.hpp
! db2367656bebb3a173c61c951271ecba  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/info_fn_imps.hpp
! 9b5e416ecda15d803d83ca00b63bdde3  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_fn_imps.hpp
! 15a7d0c64559deeea60625cfb66d3ea9  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_no_store_hash_fn_imps.hpp
! 749d5dd8309fa107bc31f1cb4bad6b3d  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/insert_store_hash_fn_imps.hpp
! e2b4d00d80a046f741ffd702ac86608a  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/iterators_fn_imps.hpp
! 40785389429eaad5f88cbdeaa655ee86  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/policy_access_fn_imps.hpp
! 387cfb829312414dd323641291156648  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_fn_imps.hpp
! 3d4cc76561b37c7c117d21d68e921cf0  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_no_store_hash_fn_imps.hpp
! 8a33e43854f407b68f94d4ae0ddb1cf8  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/resize_store_hash_fn_imps.hpp
! 67f26ce08f2647f32c741e3ff33f8a87  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/size_fn_imps.hpp
! 06d0ca9bf8f049e10cb76e9356d7d0d6  libstdc++-v3/include/ext/pb_assoc/detail/cc_ht_map_/standard_policies.hpp
! 0ca540e22487c42806f8422f7d8dfd6d  libstdc++-v3/include/ext/pb_assoc/detail/cond_dealtor.hpp
! 78d8a701e42a8b4a383c9b39c10a5e2c  libstdc++-v3/include/ext/pb_assoc/detail/constructors_destructor_fn_imps.hpp
! a084bc622faddbffa8e04455ebf219ff  libstdc++-v3/include/ext/pb_assoc/detail/ds_trait_imp.hpp
! a1a71f169bac271a00d83b553a6bf1ee  libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/eq_by_less.hpp
! 41144f8a2051d1884aa54f49a73636ea  libstdc++-v3/include/ext/pb_assoc/detail/eq_fn/hash_eq_fn.hpp
! ed8bad826529581ddc290ca625e02c70  libstdc++-v3/include/ext/pb_assoc/detail/gp_hash_assoc_cntnr/constructor_destructor_fn_imps.hpp
! 1f247cda217efa6982a01b717ca4b751  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_fn_imps.hpp
! fd600dae6478364cbdba93700243e497  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_no_store_hash_fn_imps.hpp
! 89e55afb99ddeb595016cb5a32be688d  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/constructor_destructor_store_hash_fn_imps.hpp
! 9d7201afc51244b22662f2c38da9a2e3  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_fn_imps.hpp
! 63cc6584ec1851235398fafa9fd9f315  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_no_store_hash_fn_imps.hpp
! d37710a6935a48f7ebcc77a88b43a35d  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/debug_store_hash_fn_imps.hpp
! bd93b6247a09172832c21db8c85b47e1  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_fn_imps.hpp
! 956500d6c7b84879898dc9fb71cccc26  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_no_store_hash_fn_imps.hpp
! 672e97b727f67d7d0260c495f59dc0c1  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/erase_store_hash_fn_imps.hpp
! 074dd5bd80e263eefd4d2ed0a586e348  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_fn_imps.hpp
! 8fdbc4d8c60b5cfdf9273b36f9b03529  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_no_store_hash_fn_imps.hpp
! 8bbb66c762de5889100042ab2e2b282a  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/find_store_hash_fn_imps.hpp
! 2e9b7c59e0b1b282620b1b3df8603744  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/gp_ht_map_.hpp
! 85af28da75f225c4dcc5fdb72eeaaf89  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/info_fn_imps.hpp
! acd7db3a89c283545da053244c223527  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_fn_imps.hpp
! a2895438b2eeba3edcd7b48a0d9347d2  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_no_store_hash_fn_imps.hpp
! 0f7db546af10286a79ffb1e2ec9102d0  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/insert_store_hash_fn_imps.hpp
! 11b73950ab040878e770899d7cdedc39  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/iterator_fn_imps.hpp
! e60fb6e176f484c6e34ddb81298276bc  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/policy_access_fn_imps.hpp
! 12f29324151a01cf827d4addab701a38  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_fn_imps.hpp
! 3b08d62028a96079796ef21f40a3330b  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_no_store_hash_fn_imps.hpp
! ad2ae684cbd92305ded28c14f280ff4a  libstdc++-v3/include/ext/pb_assoc/detail/gp_ht_map_/resize_store_hash_fn_imps.hpp
! 0d62345bff5221ac5aca35d8e6b01bea  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mask_range_hashing_imp.hpp
! 610c5ee2f330e6cac5864a7a95dea407  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/direct_mod_range_hashing_imp.hpp
! 728dea2dbd15516fe2759b9199b9e4a6  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/linear_probe_fn_imp.hpp
! b610b55e97f2ceff7adb25db28e034df  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mask_based_range_hashing.hpp
! c71c61e8cb77ce7e5046e3da3f880810  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/mod_based_range_hashing.hpp
! 353d51025805d7a1ff996d7212f32afd  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/probe_fn_base.hpp
! c3e2b16b892bbf7cd6677469e28a3dc6  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/quadratic_probe_fn_imp.hpp
! 3ec843d605eee6422540ad33c701ecdf  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_hash_fn.hpp
! 92bf4ed8d3a62212c5968bfa2be5559d  libstdc++-v3/include/ext/pb_assoc/detail/hash_fn/ranged_probe_fn.hpp
! 1d8f697e7045b01c644b66a87f8c8d7f  libstdc++-v3/include/ext/pb_assoc/detail/hash_types_traits.hpp
! 550bfc5cec323863d9159220ccef132d  libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/constructor_destructor_fn_imps.hpp
! a1afcd038f68b340e9e502bad974e4bf  libstdc++-v3/include/ext/pb_assoc/detail/lu_assoc_cntnr/policy_access_fn_imps.hpp
! 8c406c388aed3506245e31ff9ca4a88b  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/constructor_destructor_fn_imps.hpp
! 030d5f7eec3ca7833c2eeef424636283  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/debug_fn_imps.hpp
! 8e7e9e6b0ea7a24c3991669bda12cae4  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/erase_fn_imps.hpp
! 4099e7e726890570dcf19962b5a51828  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/find_fn_imps.hpp
! 5a1787fa0d384b959a0125411638e896  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/info_fn_imps.hpp
! caf9a92d971c03eae35e0f822158f399  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/insert_fn_imps.hpp
! 7ba7c83588ea7fd72e2e050e0d83107c  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/iterators_fn_imps.hpp
! 7a159fc0f9cfdccf5100e70e0db84496  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/lu_map_.hpp
! fc77019136a67c439b5c36b24666567c  libstdc++-v3/include/ext/pb_assoc/detail/lu_map_/policy_access_fn_imps.hpp
! f806fae72c6fa4fb7811dfdf5f65474b  libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_metadata_imp.hpp
! 80112d05f3392ad7bd3f694ce4b9a77c  libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/counter_lu_policy_imp.hpp
! bc997251e460ff5c70f33529122119ba  libstdc++-v3/include/ext/pb_assoc/detail/lu_policy/mtf_lu_policy_imp.hpp
! 8a9e1ffeec7813d360bf0f93216e6d84  libstdc++-v3/include/ext/pb_assoc/detail/map_debug_base.hpp
! 63a495a8790cc5e2ffdabad29f30f4ca  libstdc++-v3/include/ext/pb_assoc/detail/mapping_level_imp.hpp
! 62f28e73d8d96c6601e1a4a49080333d  libstdc++-v3/include/ext/pb_assoc/detail/ms_category_imp.hpp
! 3dc1458185185f8f2317dccef65080b4  libstdc++-v3/include/ext/pb_assoc/detail/ms_trait_imp.hpp
! 6ee5a4e422620cad404078d15cd3a5cc  libstdc++-v3/include/ext/pb_assoc/detail/order_statistics_imp.hpp
! 632ff52474b9c59856320cfbc3b37307  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/cond_dtor.hpp
! 5965d4dee5b0feab4429e2d8b393de94  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
! 589cbf512988433b4dbfd3c0ed9862c9  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/debug_fn_imps.hpp
! 38e7b7e175f703a05d63e3c854560bca  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/erase_fn_imps.hpp
! 174253631ec33ec6e0cd8fef2fd9a283  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/find_fn_imps.hpp
! 9299f9674c58ca466cc311760232db18  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/info_fn_imps.hpp
! 658e1f2ed467f123d1cb9c3ba2b81e0f  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/insert_fn_imps.hpp
! c7e2d5a55fd197bf93a8375f3d5c6aac  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/iterators_fn_imps.hpp
! 3829267d24253b4cd4481881ea762ec0  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/node_iterators.hpp
! 1acad7d982a7759a136f258da064b2f5  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/ov_tree_map_.hpp
! c5cc1e22925031292e318519af415e1c  libstdc++-v3/include/ext/pb_assoc/detail/ov_tree_map_/split_join_fn_imps.hpp
! aae747175b24b3c6541f38128d069fc6  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp
! 478cbac92d57b24275370fc6bcc54894  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/debug_fn_imps.hpp
! b96ac7a97e76cb93b891dcadf0690491  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/erase_fn_imps.hpp
! 66c68e59c4b4bbd54a6a341bff98f480  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/find_fn_imps.hpp
! 83c6ca9020b8b43f242c9748340abcff  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/info_fn_imps.hpp
! c7a7e69aded13d83318713a318316a00  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/insert_fn_imps.hpp
! 741817edbe7ab46600b368aa14caa9d7  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/node.hpp
! e98a7c2b89cda41b55f2ba4f0e29f8bd  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/rb_tree_.hpp
! 7cb0ebcb97217b0cd07170348b4b4f50  libstdc++-v3/include/ext/pb_assoc/detail/rb_tree_map_/split_join_fn_imps.hpp
! f265374962a6157537c76e4af47b94b6  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/cc_hash_max_collision_resize_trigger_imp.hpp
! 3c0c4662c8134cc59e30765aff1df936  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_exponential_size_policy_imp.hpp
! c56c09c80c0113338abff885111a4e0a  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
! 837bd1be56c89b597b8ca352337b0d9c  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_prime_size_policy_imp.hpp
! bcc2095e0af8db1635ff03163a9d9f69  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/hash_standard_resize_policy_imp.hpp
! 87aa72a270e20be1a5ea94feb7693005  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/ht_prime_size_policy_imp.hpp
! 3a55363e8e33f67b2bd78f7daf0db05b  libstdc++-v3/include/ext/pb_assoc/detail/resize_policy/size_base.hpp
! e4e301e86804a5d70d785acf258022d0  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/constructors_destructor_fn_imps.hpp
! 0161321c5f2301c21316efe0b0cd9fed  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/debug_fn_imps.hpp
! 63c5b341d0f22bf2a1893d065476b6ac  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/erase_fn_imps.hpp
! 22e55e13f6c44c7d2f0f8bae186d4634  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/find_fn_imps.hpp
! 50a8c89744d8eee72951454299784645  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/info_fn_imps.hpp
! c52b0f1b9c2954da80893612850c81d8  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/insert_fn_imps.hpp
! ae961089033417c13f99ac1bcc428e5b  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/node.hpp
! b17dc8c74641231dab7c8b5662e4d73b  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_fn_imps.hpp
! e90574ee90e0c832784d88127d686e10  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/splay_tree_.hpp
! 4e76495c1c0dadf6198c4f98066e3c52  libstdc++-v3/include/ext/pb_assoc/detail/splay_tree_/split_join_fn_imps.hpp
! 13e9d774579f01704722f8b0c78bd615  libstdc++-v3/include/ext/pb_assoc/detail/standard_policies.hpp
! b1f8ac8f29f3b691dea07fe54753d550  libstdc++-v3/include/ext/pb_assoc/detail/standard_sizes.hpp
! 7301a05f26e6596d515d5a3b253cba98  libstdc++-v3/include/ext/pb_assoc/detail/tree_assoc_cntnr/constructor_destructor_fn_imps.hpp
! ec7c0444c35fe6fd7490ef5dc432ebfd  libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/null_node_updator_imp.hpp
! 6ee5a4e422620cad404078d15cd3a5cc  libstdc++-v3/include/ext/pb_assoc/detail/tree_policy/order_statistics_imp.hpp
! 10c530dfcfd98ceb8696ced622386fbb  libstdc++-v3/include/ext/pb_assoc/detail/type_utils.hpp
! 26d8ed0af46c89d6aa9e7d06f86c82aa  libstdc++-v3/include/ext/pb_assoc/detail/typelist.hpp
! 4cfe5d267e3b9c216094f3c9840067c7  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_append.hpp
! 13d7e6f91e871d6be07e25ce90065043  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_apply.hpp
! 9d759d34d0c00b0103c8c56b7c22a6b9  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_at_index.hpp
! 6299a5a2d099ae73cc242e7a29f366f9  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_contains.hpp
! 685e33b8a161933cccc5bfead28b1f94  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_filter.hpp
! e7c82c07bda8e406ce131693bcc93bef  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_transform.hpp
! 34f60ac2d1d7d56383bdfde65dc36340  libstdc++-v3/include/ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp
! 765a950d0bc314590a22c9ca6a843c9e  libstdc++-v3/include/ext/pb_assoc/detail/types_traits.hpp
! 494a7e2fe7b7592d309f67e9c9db8657  libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_find_iterator.hpp
! 781de06937c41867fa1bfffc57f27c36  libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/const_iterator.hpp
! 251048643db84dd57fa0bd32a6572220  libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/find_iterator.hpp
! 7ea9d21be3f16b6342f02ae89d67592e  libstdc++-v3/include/ext/pb_assoc/detail/unordered_iterator/iterator.hpp
! 0e4a8889d32d3752760a5378636b889e  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/constructor_destructor_and_related.hpp
! 586c6a584ee4717b3a1432fab1dbf974  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_fn_imps.hpp
! 93fec8ef940e1779ac15a084d2e9a407  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/erase_if_pred.hpp
! 084d48f43f0ab2e7555f9abbaa3f0611  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/find_fn_imps.hpp
! 63dc15767a9ee292ea3f76ed66f6e2aa  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/info_fn_imps.hpp
! 24de65d1cfdb9c8b61d5f0fa85a3cf09  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/insert_fn_imps.hpp
! aff11c6bc039c61618dedc9432853137  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/invalidation_guarantee_selector.hpp
! 474a158c289b81d9f2d42e09ec5e7857  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/it_value_type_traits.hpp
! 237e91fdd9aa434fa5b755df4e555322  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator.hpp
! fbbd05c7e7bd7fb3ac0fc1ead5b816fa  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/iterator_fn_imps.hpp
! 708552501587f4e4d62ab88e99ef71b3  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/ref_pair.hpp
! 638e5f9b51cc293f1363ebe6707debab  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_adapter.hpp
! 13cf647e56b3beba0e8be95a115d3d17  libstdc++-v3/include/ext/pb_assoc/detail/value_type_adapter/value_type_traits.hpp
! 557cf6e8e8fc31e043c4366c76cd8ca8  libstdc++-v3/include/ext/pb_assoc/ds_trait.hpp
! afd0ca85e11e87963bad7f17f0f4f012  libstdc++-v3/include/ext/pb_assoc/exception.hpp
! f70f66208587c70a153a7bae97919ea5  libstdc++-v3/include/ext/pb_assoc/hash_policy.hpp
! badeecf06b6be41be1cf53eb76e6b716  libstdc++-v3/include/ext/pb_assoc/lu_policy.hpp
! 135564d90cf628fc410c84aea0569009  libstdc++-v3/include/ext/pb_assoc/ms_trait.hpp
! 9d86399b061f68c73fb101b8e85f6698  libstdc++-v3/include/ext/pb_assoc/tree_policy.hpp
! 6eab94f93ce91558821527bc52ee4115  libstdc++-v3/include/ext/pb_assoc/trivial_iterator_def.hpp
! 26a3cd87e4e6b45411e360698ed3b482  libstdc++-v3/include/ext/pod_char_traits.h
! ea473b7ad59a8d91cea59291730a593e  libstdc++-v3/include/ext/pool_allocator.h
! 71e68668b94c30107bae3082be915e61  libstdc++-v3/include/ext/rb_tree
! ed3f6fb6dd27fb3dc72344f1b6c52488  libstdc++-v3/include/ext/rc_string_base.h
! bfff8e97b8c7d18b7eb2d08baadfaedc  libstdc++-v3/include/ext/rope
! 4cedb624d25d2dae282f0e4164592622  libstdc++-v3/include/ext/ropeimpl.h
! 0d426e6f69115c10ff680b7f2da6289a  libstdc++-v3/include/ext/slist
! 48164f5a6c5baed40537d7fd01758686  libstdc++-v3/include/ext/sso_string_base.h
! 4def74a3e5281445f3a9e2bc7335d89e  libstdc++-v3/include/ext/stdio_filebuf.h
! 29a9e3b8f215a815e677b87c52c54089  libstdc++-v3/include/ext/stdio_sync_filebuf.h
! 41b042e075b0917f2d08ab12034509a3  libstdc++-v3/include/ext/typelist.h
! 3a3d0eb79038a290cc5cd2a9857577dd  libstdc++-v3/include/ext/vstring.h
! 73338616cd34cd1ccfc7956174c18861  libstdc++-v3/include/ext/vstring.tcc
! 8a22799e58daf6aaad188042c1b93c6e  libstdc++-v3/include/ext/vstring_fwd.h
! 122272fe5301c08b2c2bef1bd219b176  libstdc++-v3/include/ext/vstring_util.h
! 3376fb6c9da93cfd8ab32375d5678554  libstdc++-v3/include/std/std_algorithm.h
! e3bfda8f8491f5ae9ac288ad205bd63e  libstdc++-v3/include/std/std_bitset.h
! 156ca918c5ff0ecd142330a0532b286f  libstdc++-v3/include/std/std_complex.h
! 6705fad21c86172b36072e3708c1f101  libstdc++-v3/include/std/std_deque.h
! f9a2a4066c86af610c97a12a8a82519b  libstdc++-v3/include/std/std_fstream.h
! 290552448b23b0e4816bf22bcc19ec47  libstdc++-v3/include/std/std_functional.h
! b290a5a062adc3b79f4896e9d2f94c3c  libstdc++-v3/include/std/std_iomanip.h
! fc5bd9e2056853776d31a63855397c2e  libstdc++-v3/include/std/std_ios.h
! ea584d960061aab6468607a44c852626  libstdc++-v3/include/std/std_iosfwd.h
! d964787da43c7546e165c59f01a66e7b  libstdc++-v3/include/std/std_iostream.h
! 4de31f8d5fad45f6964ea179831e4000  libstdc++-v3/include/std/std_istream.h
! 00a42b3ce9f2b7b8d99a7fda778c9ba8  libstdc++-v3/include/std/std_iterator.h
! 29e254f6ed143f92f56da7007b0a8615  libstdc++-v3/include/std/std_limits.h
! b0ac5811adc3223fbdc0743aa099209c  libstdc++-v3/include/std/std_list.h
! 65df88e825761f411ad9821ca6bdf7df  libstdc++-v3/include/std/std_locale.h
! 7a0841cb344aebf7166dcd45e9e02820  libstdc++-v3/include/std/std_map.h
! 52662f553d0b62c1aba4942d3d386bcc  libstdc++-v3/include/std/std_memory.h
! b15a3f447991964b86ace447719b2271  libstdc++-v3/include/std/std_numeric.h
! b5a5a3fadea4f7c4f0b8bebb2aca30a2  libstdc++-v3/include/std/std_ostream.h
! 202dd1772cd3f40f9ecbfab1cbb15d37  libstdc++-v3/include/std/std_queue.h
! 3631b2c8b89a5229a7dce53c662d8b68  libstdc++-v3/include/std/std_set.h
! 74fdcc4fd8f57ca6989722faa592b682  libstdc++-v3/include/std/std_sstream.h
! 270bd0ad2bc11b449d28501032489e62  libstdc++-v3/include/std/std_stack.h
! e2c74260f2e013338a74d325e00fa9b9  libstdc++-v3/include/std/std_stdexcept.h
! b659f1f7942695a275a6b956110c22c0  libstdc++-v3/include/std/std_streambuf.h
! f42ad3257022020665f9fe0cc86e324b  libstdc++-v3/include/std/std_string.h
! 5e4804b7beffef1706e75413e47c08dd  libstdc++-v3/include/std/std_utility.h
! 9a18b58a1fc295999abddc0efce338be  libstdc++-v3/include/std/std_valarray.h
! 6343a89bef19fd62adfb918bea1a837a  libstdc++-v3/include/std/std_vector.h
! 12c0f1c2616d7a889f00e0ad53cc32bc  libstdc++-v3/include/stdc++.h
! 36cdd92c8d8f31364f022b41e31e65df  libstdc++-v3/include/tr1/array
! 309002475b45b99080bf2ddde2e8cc69  libstdc++-v3/include/tr1/bind_iterate.h
! ac4790f11a7cbb67eb82ef757ba6440d  libstdc++-v3/include/tr1/bind_repeat.h
! a2293acc9741860114904f16570419e5  libstdc++-v3/include/tr1/boost_shared_ptr.h
! 9487069fc422f175a0d3c03136cafc7f  libstdc++-v3/include/tr1/functional
! 888a5ee076e9f2b986bc68dee375a7ec  libstdc++-v3/include/tr1/functional_iterate.h
! 7559ce1b5e0a40a9be28fe71c3ed105d  libstdc++-v3/include/tr1/hashtable
! fc8c4cb454ba17995d118fe3a23cccbd  libstdc++-v3/include/tr1/memory
! 574af87e57dee701a3ec950f3fa9df92  libstdc++-v3/include/tr1/mu_iterate.h
! bd24937354284482db4de9b97fed4fd0  libstdc++-v3/include/tr1/ref_fwd.h
! 540dc80349b80e1c7cf712db59183807  libstdc++-v3/include/tr1/ref_wrap_iterate.h
! bd5e4a3abe661dd593ad080cb8a9b395  libstdc++-v3/include/tr1/repeat.h
! a17712c8e271c157699d9340c10551f7  libstdc++-v3/include/tr1/tuple
! 5f9a9b435ba5c351dc7ae0de31bca0f6  libstdc++-v3/include/tr1/tuple_iterate.h
! 3579ee58c9493ddac75abba45f48bc04  libstdc++-v3/include/tr1/type_traits
! 3122bad3f48a1863b5a681a8b37bc823  libstdc++-v3/include/tr1/type_traits_fwd.h
! 777efdca9c33df0358915f339e3a9dba  libstdc++-v3/include/tr1/unordered_map
! 80636a19e39ab2b5953a7d355794371f  libstdc++-v3/include/tr1/unordered_set
! dbf2fb0d467be7eac78b4ea68ccb4082  libstdc++-v3/include/tr1/utility
! 342df024156bfb5b9a33e4c2e5f62123  libstdc++-v3/libmath/Makefile.am
! 0e5ac5a69ecbbb70e1eafd212180fdc3  libstdc++-v3/libmath/Makefile.in
! 50ac1242546de19dfdb4f637cf3083eb  libstdc++-v3/libmath/copysignf.c
! f1fdb697ba78bbf7dea60b30751bca50  libstdc++-v3/libmath/mathconf.h
! 296345529ffeb1e8126de4c9ccf7caab  libstdc++-v3/libmath/signbit.c
! 1a25472513057b5705e89c9c6492d0ca  libstdc++-v3/libmath/signbitf.c
! c8635b0d178683f678e749c7b49d4f76  libstdc++-v3/libmath/signbitl.c
! 1174ef24cc0b1d593fa3d77c4a2d5560  libstdc++-v3/libmath/stubs.c
! 68f2ca49cf9ca4df21c023e9699f272b  libstdc++-v3/libsupc++/Makefile.am
! 9c5807677577bf9673386dbdcf04fc1d  libstdc++-v3/libsupc++/Makefile.in
! ab9eb7d9866468663886419dea4fe977  libstdc++-v3/libsupc++/cxxabi.h
! f9be5685ad09f6f42258e1253d10f867  libstdc++-v3/libsupc++/del_op.cc
! b599b02fbc7b6f1390ce4b04f8099818  libstdc++-v3/libsupc++/del_opnt.cc
! 3b36206febe83d16778338c3e98f6f6f  libstdc++-v3/libsupc++/del_opv.cc
! 16ccae0997c6296d5b56307645050324  libstdc++-v3/libsupc++/del_opvnt.cc
! 7acf340dd252252cb1d5a47c21a611f2  libstdc++-v3/libsupc++/eh_alloc.cc
! 4961d9b920bae5b081eca5f88f618bbb  libstdc++-v3/libsupc++/eh_arm.cc
! c71138d8b85ca9a614c0a411a3b60f52  libstdc++-v3/libsupc++/eh_aux_runtime.cc
! 96502332309fc3aff90712f126ff03ed  libstdc++-v3/libsupc++/eh_call.cc
! 01783f0fcd1995cdb1435e7c476d4761  libstdc++-v3/libsupc++/eh_catch.cc
! b3c6f68c123d678cb2b95a4aa0e728fc  libstdc++-v3/libsupc++/eh_exception.cc
! 8423cfbcc967294ee3bf5e022cf0afb9  libstdc++-v3/libsupc++/eh_globals.cc
! d60fc88d4013213bc1249656dc953e8f  libstdc++-v3/libsupc++/eh_personality.cc
! cd466e383cdf2c1c7d772d4446a1d319  libstdc++-v3/libsupc++/eh_term_handler.cc
! 89d2e91f7c1a9b2f872b68f3a2c0dd99  libstdc++-v3/libsupc++/eh_terminate.cc
! e3a301657fb3e6adc9c0c79930881210  libstdc++-v3/libsupc++/eh_throw.cc
! 1907eae145c6a37c2fc6dddf2e1f9aed  libstdc++-v3/libsupc++/eh_type.cc
! 77c058f9189f59a7337c783d71839be7  libstdc++-v3/libsupc++/eh_unex_handler.cc
! ac6243d8bde29b86395bd2bb63ef6fd7  libstdc++-v3/libsupc++/exception
! 77e0d7860635c2716960a44dc141d6f2  libstdc++-v3/libsupc++/exception_defines.h
! 61a784e9019cd0598426b53b2157f705  libstdc++-v3/libsupc++/guard.cc
! 3c27fce5bbc6c17b754488fe1bbd6e8b  libstdc++-v3/libsupc++/new
! 265a142be63e1f2425752e1ec65ea8b2  libstdc++-v3/libsupc++/new_handler.cc
! 368292020dcb45312a733c8d2a0d9ff2  libstdc++-v3/libsupc++/new_op.cc
! 2053aaa67fb17e98a83bfbc97ed26630  libstdc++-v3/libsupc++/new_opnt.cc
! f23328616fcf1dce862b655521df2408  libstdc++-v3/libsupc++/new_opv.cc
! 9ab5e44d261a096b629ca5ae2b1f7191  libstdc++-v3/libsupc++/new_opvnt.cc
! a1c5a5e44ee3400d53491ba19f3acc30  libstdc++-v3/libsupc++/pure.cc
! 3baa029bbde7030200861b7f93cce2ca  libstdc++-v3/libsupc++/tinfo.cc
! b488f6862a6a13b90d3c45a88c761f48  libstdc++-v3/libsupc++/tinfo.h
! ab79475363842537f956985b43a3ac22  libstdc++-v3/libsupc++/tinfo2.cc
! 94d16c03b3369711d45afba7727e9139  libstdc++-v3/libsupc++/typeinfo
! 56c983074ebdf2d8b1af4fd0dc48e641  libstdc++-v3/libsupc++/unwind-cxx.h
! ae5011024e4a424fe7b7950e55014fc0  libstdc++-v3/libsupc++/vec.cc
! cc29c66e3f0ad2070f35ff4cf3ad9042  libstdc++-v3/libsupc++/vterminate.cc
! cb6f0e8d1442b1d131becde45f1e5a12  libstdc++-v3/linkage.m4
! 84df437f315d2191d8a99223e574a423  libstdc++-v3/po/Makefile.am
! a4dd8a91abedb1ab7d220d0c6662d3e7  libstdc++-v3/po/Makefile.in
! 2d18d9581d7c33805f2e0ce12d8dd08d  libstdc++-v3/po/POTFILES.in
  a3a922f9c16410e9a1f3efffbb707017  libstdc++-v3/po/de.po
  5fb51673038baf4f5e72275460d22e3f  libstdc++-v3/po/fr.po
  11079eef5dba307de8012bb549b39ebd  libstdc++-v3/po/libstdc++.pot
! c3b22990a446a1fd05f218fad0435ff3  libstdc++-v3/po/string_literals.cc
! 68e00bdf16130dcbb5b5d1c4a5cacb89  libstdc++-v3/scripts/check_compile
  3cb9e49f27487b20ceec03d1d420ad79  libstdc++-v3/scripts/check_performance
! c9fd73a39f72c911b994fbf3cd888888  libstdc++-v3/scripts/create_testsuite_files
! e47831ef5105a9098495aeab6e335dbf  libstdc++-v3/scripts/extract_symvers
  755b77f929d926f07f3257df2e802f2e  libstdc++-v3/scripts/gen_bind_includers.pl
  0d84fcf9b040827c404f80ca782b168b  libstdc++-v3/scripts/gen_includers.pl
! fdd814182968a2fd624e125464f8f71a  libstdc++-v3/scripts/make_exports.pl
! c48d7355af47e0d8ebbde458e392baf8  libstdc++-v3/scripts/testsuite_flags.in
! 8051d7ee5637f3a8f705cb33210d7891  libstdc++-v3/src/Makefile.am
! babc6f9dd82e9fad6ae9c5a5ea638d7f  libstdc++-v3/src/Makefile.in
! 2754a6ca0f6f0e6ecb5c3fd875604d3e  libstdc++-v3/src/allocator-inst.cc
! fde0053b430211b8d99246a2f66b526a  libstdc++-v3/src/bitmap_allocator.cc
! a174b44bc697e7ad50597009892b88e2  libstdc++-v3/src/codecvt.cc
! cab7b066b71dfae7bccb2a31354b4c99  libstdc++-v3/src/compatibility.cc
! 0180d20c54f4289b77aef231cc61a0b9  libstdc++-v3/src/complex_io.cc
! 11ba5a38927c2e3cde1af960688b893f  libstdc++-v3/src/concept-inst.cc
! fdf5f2280c0fc760f41e97a1bf4cfecc  libstdc++-v3/src/ctype.cc
! d3063fba4dba8df1d6f602d8b3bff53a  libstdc++-v3/src/debug.cc
! 75ea9e79d52d9a0774ddf5203742e626  libstdc++-v3/src/debug_list.cc
! d6bfbf66a5d419e384b3f82fa16fe1ae  libstdc++-v3/src/ext-inst.cc
! bc325d4f3828eefacf6210d8bed82861  libstdc++-v3/src/fstream-inst.cc
! 2264c2144510020496cb087ca4e1a2ea  libstdc++-v3/src/functexcept.cc
! b07e87c5496f4cc4a31fa0aa64be8ef6  libstdc++-v3/src/globals_io.cc
! 98e681c6c387c64babb67df13b42832b  libstdc++-v3/src/globals_locale.cc
! a05193d33bf063e4b72117ff6e14a380  libstdc++-v3/src/ios-inst.cc
! 6b1d0feef8178b56ac5e09bce720380c  libstdc++-v3/src/ios.cc
! 373863dd9170c9ee31a99642c6ab54fe  libstdc++-v3/src/ios_failure.cc
! 174b78a78d574c7b11a7b8d371ffb257  libstdc++-v3/src/ios_init.cc
! 37f46cd3824a2bd0f4f200a5e852a458  libstdc++-v3/src/ios_locale.cc
! 8321b176238fc00d093fbf951157f773  libstdc++-v3/src/iostream-inst.cc
! 93ed1a092a54d3177bbb46967c742ed1  libstdc++-v3/src/istream-inst.cc
! 3675b1a1cd8ef42f2149de96383699a5  libstdc++-v3/src/istream.cc
! 9ec53f67fadbece3714dc62ad8c25f8f  libstdc++-v3/src/limits.cc
! 7a95ea42b6326cce36ac9b7c205d4c3a  libstdc++-v3/src/list.cc
! f2277d0fd2e6ef817b9b26ca26698da7  libstdc++-v3/src/locale-inst.cc
! 80df4c946cff61d1a01e4aa7f46db829  libstdc++-v3/src/locale-misc-inst.cc
! 1ff57008e23981f237c220c1ddc5d932  libstdc++-v3/src/locale.cc
! 50fd02751c161081d732f3fb14f706eb  libstdc++-v3/src/locale_facets.cc
! 3fc8fd5730492f45e5b7bc6cec07c3b6  libstdc++-v3/src/locale_init.cc
! d84bc2879d6e5cebe9d5af90107f8dd4  libstdc++-v3/src/localename.cc
! 126ea6e0b855837eebfbf6645b3554c0  libstdc++-v3/src/misc-inst.cc
! de6fc8bf7900fde61ab821c758b89642  libstdc++-v3/src/mt_allocator.cc
! b25d5b55313bad1db65a89cae79785d6  libstdc++-v3/src/ostream-inst.cc
! b2738b25d29990970869159f8bf747b5  libstdc++-v3/src/pool_allocator.cc
! c0471cb1358c0129d4e71661db3e8e97  libstdc++-v3/src/sstream-inst.cc
! 011f1c694f9da99974ca042945add6ae  libstdc++-v3/src/stdexcept.cc
! bfba09cdda9154f9f3ca5844194b3b1d  libstdc++-v3/src/streambuf-inst.cc
! fda0e7dddaa5fea972097c2ffe460d3e  libstdc++-v3/src/streambuf.cc
! d59bf4c11f43fd41429a6bd40173fc44  libstdc++-v3/src/string-inst.cc
! 2e85619d17955eddd48e4338e8b703ca  libstdc++-v3/src/strstream.cc
! 40f20f47bfac5bd990c3e2df26c81e89  libstdc++-v3/src/tree.cc
! 3bd37e9d3c1456f51781314a0896709e  libstdc++-v3/src/valarray-inst.cc
! 3b5001e53ebdb0114c6065dd569c8837  libstdc++-v3/src/wlocale-inst.cc
! ff697dedd3dbeb0ab5a0366d4e754cd7  libstdc++-v3/src/wstring-inst.cc
! eeda817b9853e0d93d89594b32dce51c  libstdc++-v3/testsuite/17_intro/header_cassert.cc
! 5492de2b817eae7b826f7d62f7ca5ff3  libstdc++-v3/testsuite/17_intro/header_cerrno.cc
! 16a38b9c6eb24c98678076e60f8d2c34  libstdc++-v3/testsuite/17_intro/header_csetjmp.cc
! a6116e6477ba5f59a9cbcf7d5d8f7791  libstdc++-v3/testsuite/17_intro/header_cstdarg.cc
! 8391576bdc49806b381639505ce0f0db  libstdc++-v3/testsuite/17_intro/header_cstddef.cc
! 4f5361418ee0a8e43e365c2f72d8dc30  libstdc++-v3/testsuite/17_intro/header_cstdio.cc
! 127dec25c87e69f4a9992c2567e2e5f1  libstdc++-v3/testsuite/17_intro/header_cstdlib.cc
! 9745a093020471ffa55c8c0593c0164e  libstdc++-v3/testsuite/17_intro/header_cstring.cc
! 33b8c0f4087cff146e6f26f67fa24d98  libstdc++-v3/testsuite/17_intro/header_ctime.cc
! a24376eaf81344c95f2a6780d788646a  libstdc++-v3/testsuite/17_intro/header_cwchar.cc
! bef594d05fb55bac6b2e00a5bda9bb1b  libstdc++-v3/testsuite/17_intro/header_cwctype.cc
! b577ede3875e3e15ffbec13398d3d481  libstdc++-v3/testsuite/17_intro/header_fstream.cc
! 79beba2a8e93df0f73764e9ca3c65146  libstdc++-v3/testsuite/17_intro/header_iomanip.cc
! debb9f38f6322cd3cfab11e723bb8259  libstdc++-v3/testsuite/17_intro/header_ios.cc
! 039234369bf2bcbe07509957e20f53f7  libstdc++-v3/testsuite/17_intro/header_iosfwd.cc
! 74a4da14f2030bbbf7c51cf614e88b0e  libstdc++-v3/testsuite/17_intro/header_iostream.cc
! 3ebbba83535109fac0d204e7c8a87dbc  libstdc++-v3/testsuite/17_intro/header_istream.cc
! 744f031889979eee307538a66fd1c62a  libstdc++-v3/testsuite/17_intro/header_ostream.cc
! 1167ff8904b9d77c648cacca7e80a9ee  libstdc++-v3/testsuite/17_intro/header_sstream.cc
! 3e0f32c48632308986740d1e45de85ac  libstdc++-v3/testsuite/17_intro/header_streambuf.cc
! 880e78633064d157339cee407b626eb1  libstdc++-v3/testsuite/17_intro/headers.cc
! e4c0ca2833677c79b8136c8643688d81  libstdc++-v3/testsuite/17_intro/headers_c++.cc
! ca45a16d6d75bdb1413cf03fd5962321  libstdc++-v3/testsuite/17_intro/headers_c.cc
! d6ff6959de7c295a3a687d595e163eec  libstdc++-v3/testsuite/17_intro/no_assert_neg.cc
  dc052f366da14143979fde1cb7b296ea  libstdc++-v3/testsuite/18_support/14026.cc
! 30a0166be4c5158b87f1b3482ebd7d36  libstdc++-v3/testsuite/18_support/new_delete_placement.cc
! 65352d0b721cfd23c68a5d9a354268b6  libstdc++-v3/testsuite/18_support/numeric_limits/denorm_min.cc
! 64f7a04cf088e881baf6d8acb5e49160  libstdc++-v3/testsuite/18_support/numeric_limits/digits10.cc
! a212d5e9e658767dee021685ff518f2e  libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc
! d3344081a3ef49e6b9182c27487c8d95  libstdc++-v3/testsuite/18_support/numeric_limits/infinity.cc
! 9e1fb0bafa38f1ecb2724e31bd897c63  libstdc++-v3/testsuite/18_support/numeric_limits/is_iec559.cc
! 760d9a2982ad475e11fa65bcefb91cad  libstdc++-v3/testsuite/18_support/numeric_limits/min_max.cc
! cf577a3577b4ff26182b42d8f0365e83  libstdc++-v3/testsuite/18_support/numeric_limits/quiet_NaN.cc
! 7e139ba4a3204eecbc396fe90d6d39f3  libstdc++-v3/testsuite/18_support/numeric_limits/sign.cc
! d3728dc4f9493e025133e3c8ecef9547  libstdc++-v3/testsuite/18_support/numeric_limits/specialization.cc
! 6efb339d963a59af922132aa08feea7c  libstdc++-v3/testsuite/18_support/numeric_limits/traps.cc
! 0ec056769802aaa0fe66101304c240ae  libstdc++-v3/testsuite/19_diagnostics/23591_thread-1.c
! 6d232c2d469bd29cb43f87f574178453  libstdc++-v3/testsuite/19_diagnostics/stdexceptions.cc
! 2490b65515fc57cfbf4a7c210e1f98f9  libstdc++-v3/testsuite/20_util/functional/binders/1.cc
! 970b0803e871b64b4a0c6f893d25ce2f  libstdc++-v3/testsuite/20_util/functional/binders/3113.cc
! c0be9cc323f980d148e16e7d07fbbd20  libstdc++-v3/testsuite/20_util/functional/comparisons.cc
! c9a831dbdb4ff7f072471721f3c05a40  libstdc++-v3/testsuite/20_util/memory/16505.cc
! ac220e485364d8e9dd401eada9d54a72  libstdc++-v3/testsuite/20_util/memory/allocator/1.cc
! fbb90398c26091d24a9623d29d1bf9e0  libstdc++-v3/testsuite/20_util/memory/allocator/10378.cc
! bd376959c10b698e3235efbdc8c9e384  libstdc++-v3/testsuite/20_util/memory/allocator/14176.cc
! d78e0e3db59798d8ebfc50bab33ffef0  libstdc++-v3/testsuite/20_util/memory/allocator/8230.cc
! dafb82b1e6b7cebc3404af023e7b7bda  libstdc++-v3/testsuite/20_util/memory/auto_ptr/1.cc
! 1cb2ba5ab1012a4f20ecd5261bdad2bd  libstdc++-v3/testsuite/20_util/memory/auto_ptr/2.cc
! 363ba65a21882da206084aa42458c100  libstdc++-v3/testsuite/20_util/memory/auto_ptr/3.cc
! f2e9832e07d695de394dfdfa387cd09b  libstdc++-v3/testsuite/20_util/memory/auto_ptr/3946.cc
! 0651094e018bedefbf17de9ee46b9cc7  libstdc++-v3/testsuite/20_util/memory/auto_ptr/4.cc
! 2dce7c9e2a5ff5848a22fb9b7d2f1ed5  libstdc++-v3/testsuite/20_util/memory/auto_ptr/5.cc
! bf61923eb1f9313c84f395d6ba1218be  libstdc++-v3/testsuite/20_util/memory/auto_ptr/6.cc
! 2d044ad31e5543c1e56cadd80cfd311f  libstdc++-v3/testsuite/20_util/memory/auto_ptr/7.cc
! a2fb77b4531d5f8974be0e908feea6f8  libstdc++-v3/testsuite/20_util/memory/auto_ptr/assign_neg.cc
! 4156dbc6ba6115490d85f82e5b5c4c3d  libstdc++-v3/testsuite/20_util/memory/raw_storage_iterator.cc
! 2b7301bb7536172faa44ac56cb383c18  libstdc++-v3/testsuite/20_util/memory/temporary_buffer.cc
! 29ec08bf88e940b55444c259ad6b873d  libstdc++-v3/testsuite/20_util/utility/pair/1.cc
! 9beb031e92598f1961ba9919e0e120d3  libstdc++-v3/testsuite/20_util/utility/pair/2.cc
! ec5cff8a7e7c69fa4f5ad81264182ad8  libstdc++-v3/testsuite/20_util/utility/pair/3.cc
! 1f05a015bb5a840675b062e241473340  libstdc++-v3/testsuite/20_util/utility/pair/4.cc
! 9d855c8d9026ba6f61a46992745b5200  libstdc++-v3/testsuite/20_util/utility/rel_ops.cc
! c72ece91ff1bc2df404cba925396fb86  libstdc++-v3/testsuite/21_strings/basic_string/1.cc
! fb8ca8fa14724e9b6544fab71f0273ac  libstdc++-v3/testsuite/21_strings/basic_string/2.cc
! 1fd5cc534dde92518c5352bd9598784a  libstdc++-v3/testsuite/21_strings/basic_string/append/char/1.cc
! a64941f592713ac8355f23ef49aba930  libstdc++-v3/testsuite/21_strings/basic_string/append/char/2.cc
! 31d976dc16791ebd1fa7749928ce2cb7  libstdc++-v3/testsuite/21_strings/basic_string/append/char/3.cc
! 67038124c981c2a2a46a9d4b1ec13f2a  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/1.cc
! f7fd80c4ed1c6482009b0226b11623d1  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/2.cc
! eb5801e76e8121d8fe8215f98c2e2a16  libstdc++-v3/testsuite/21_strings/basic_string/append/wchar_t/3.cc
! b1f00d2cb3286b1c94ec180288e479c2  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/1.cc
! 0db5b6b470f8ce5ba357c794b9762ba1  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/2.cc
! acb4120dbda15e159bb8268c375e384e  libstdc++-v3/testsuite/21_strings/basic_string/assign/char/3.cc
! d7f0512bbea891778db632daf7ecad1c  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/1.cc
! ac91bf8a840c0b4357d36df569e232a8  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/2.cc
! 3c06501ee4f69e0a4c2ae2cec6609feb  libstdc++-v3/testsuite/21_strings/basic_string/assign/wchar_t/3.cc
! 3d539be78e8636f1cf94aeb2d2c8f375  libstdc++-v3/testsuite/21_strings/basic_string/capacity/1.cc
! 1d929d32b305745ce315b38643900059  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/1.cc
! f064a42e6ab25e90a11f410f623349fd  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/18654.cc
! 2d4e7b9b577d7065bb81a9688cfc29fb  libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/2.cc
! 328ef903dcb8343bcfe6ede728bc065d  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/1.cc
! ec6f7d3d04725a4aa24d5b22c5e3b9af  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc
! ff910d8b73032d1432ffe12ae75e9245  libstdc++-v3/testsuite/21_strings/basic_string/capacity/wchar_t/2.cc
! e9ab9eedbbe9fd258d2372d656980165  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/1.cc
! 8fd787140f7e953d548ccf9bd021d5a8  libstdc++-v3/testsuite/21_strings/basic_string/compare/char/13650.cc
! f49196eb6935097e8a125212d305de4a  libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/1.cc
! 3796a0de5aa4c5aae46b3e4d5ac22dde  libstdc++-v3/testsuite/21_strings/basic_string/compare/wchar_t/13650.cc
! c2558108c5b95cd5a18d8d9e62016311  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/1.cc
! d991767a50a7801296ec46a42efc8138  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/2.cc
! bf514156be30a5895fc572b1fb760ee3  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/3.cc
! 74e11f37e923c9645bd187faccaf0862  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/4.cc
! 9d1bc911a6a17bdae8b5f819653730ee  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/5.cc
! da640fb93700bfdd2424bb93c16ca2d0  libstdc++-v3/testsuite/21_strings/basic_string/cons/char/6.cc
! 1d8e6e6ad9a623c0e45b3e5ec788c05b  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/1.cc
! d2c91a6e45ef0b3266b8acdc37cf29a6  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/2.cc
! 86ca9b9b794b600b3aef77f71707c692  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/3.cc
! 4be2cc8d827d2fa6ae245f115b0bf878  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/4.cc
! 1f9ac0083a0966b7e114a27a7005fd8b  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/5.cc
! 1d3c72c061c325375ce4b8a8473852da  libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/6.cc
! 4d9b97659025e6bd6bc928a64e5f60d7  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/1.cc
! efb64a3652f7dfefe4be471ae70ab3cd  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/2.cc
! d89b4aa2540d207edcbc84f2c668a1dc  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/21674.cc
! 8ac2297ffa2a5132d22be3f2cf98e338  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/3.cc
! a2da21f60dc3b67506627218495643e5  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/4.cc
! 4c40f581826d7c29e894be5ccf197d99  libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/empty.cc
! af958a08cb925dc43ea353565b9d131e  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/1.cc
! b8ad7c1b99003a5dda3e51210677fa94  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/2.cc
! 2dddb67f995059167e7de33fd6a9c9c9  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc
! 38d1160eb0b80302cbfb92fd837ff162  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/3.cc
! e186be51d00d4da4adddc5755a5edf43  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/4.cc
! 9e46be68e14b5b01ebd75c0f7aa771fa  libstdc++-v3/testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc
! 43891b38f039ca347fa77d916bc15127  libstdc++-v3/testsuite/21_strings/basic_string/find/char/1.cc
! 20d8a6352a80290dc635770fe543c670  libstdc++-v3/testsuite/21_strings/basic_string/find/char/2.cc
! 0d469cb4191e5cd0f60294d1c68d9865  libstdc++-v3/testsuite/21_strings/basic_string/find/char/3.cc
! a73c73b4c166d29f1ec7fc17bce1a9be  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/1.cc
! 41c1222c1afecf7e60b42480a6249c72  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/2.cc
! 55535f72534746b993c124ca449c1e87  libstdc++-v3/testsuite/21_strings/basic_string/find/wchar_t/3.cc
! 49f236f649a7185f991a284d71f8aeba  libstdc++-v3/testsuite/21_strings/basic_string/insert/char/1.cc
! f2ae576c98a9dfd6113de63554630556  libstdc++-v3/testsuite/21_strings/basic_string/insert/char/2.cc
! f6a7e9e2230e3af558a88a567f6816da  libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/1.cc
! cf81b154e6bccfa9fb66884002f1d858  libstdc++-v3/testsuite/21_strings/basic_string/insert/wchar_t/2.cc
! bd5434eee42018b040736440bc7a3567  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/1.cc
! bc5e331f9c3c04eae5b6118dad9742aa  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/10.cc
! ba13f5cdda11639c544fce524d37069b  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/11.cc
! fc5881f5a4ce434d4d02cfbeb384fa7c  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/4.cc
! c9b6c6418ab83a73c681ba4b2fe27043  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/5.cc
! dab3e180cbeeb150f3ff4b4ead4194d1  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/6.cc
! c67d5d5b60c10dec24358e2b598c2396  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/7.cc
! 649c63d6ef6505394c2afd2f77405070  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/8.cc
! 7dd58a615c835ac84f0a7a94d040c642  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/char/9.cc
! 2fb3518c86fcede0123820568c3e8f5d  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-in.cc
! e26ffdae1fec30fd074240846943f08c  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/pod/10081-out.cc
! 433bca349b116687dcd4631f78a0bd08  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/1.cc
! 961559b90586b061c0bd144c7d30c0c9  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc
! fbf9aaef9099f119cb5488fa3d3ea5da  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc
! a8465b9be86e3f5fa4eeecc3626a81d7  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/4.cc
! c86f0ba5de44af5e1f25f99e56fe5e7a  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc
! 4df370ed7fa6b9c5579a8cd9ee582d32  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/6.cc
! 7efda4b677be8c82dc0538dd596d1980  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/7.cc
! 3eae0368c05f750dc9147069c64ccc00  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/8.cc
! 8b11dc4c1550c3db1a3c12267e423510  libstdc++-v3/testsuite/21_strings/basic_string/inserters_extractors/wchar_t/9.cc
! 9a706bc4c0d51796821972138f80070e  libstdc++-v3/testsuite/21_strings/basic_string/operations/char/1.cc
! 19fc89781af6ac14f1b8839708df7188  libstdc++-v3/testsuite/21_strings/basic_string/operations/wchar_t/1.cc
! 316ac560b401515204e301ecb58082e1  libstdc++-v3/testsuite/21_strings/basic_string/operators/char/1.cc
! 5f6d2aa451c886fd535bf57af7878f2f  libstdc++-v3/testsuite/21_strings/basic_string/operators/char/2.cc
! 83112026553ab8864c1b1f926b5fe9ca  libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/1.cc
! 57f75a08496d530e4b6132a626baa913  libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/2.cc
! 7b638d3e1a053df5133543857f9354a6  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/1.cc
! db1fc0c8338e8ef78c04939c618f850f  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/2.cc
! 4e47b86cde71a34038c2fa6f9ea03379  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/3.cc
! ed0efcd0d840ee62339ebf1d58ecb201  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/4.cc
! a6daa3aba6889d71f1c693edbcadb3a0  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/5.cc
! 4ddf2b16fe72bd1543e4d0721e53b967  libstdc++-v3/testsuite/21_strings/basic_string/replace/char/6.cc
! d5a2b2057ae35a1cdbea11cfc764a7e5  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/1.cc
! 8d0b2fa3290edb66f40f933a1c3eeec7  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/2.cc
! 0093013665ff81d56b98ab20b07ad785  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/3.cc
! f37775aafb4db4e1a94412f34b44e143  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/4.cc
! f102874e65a66298a3205383c1dc31ca  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/5.cc
! 652a8a18592d159d6ac6d1a3ffb35de8  libstdc++-v3/testsuite/21_strings/basic_string/replace/wchar_t/6.cc
! 7e94abe602ff47b7e75037d115544213  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/1.cc
! f2bd47a32aa689debb24597582a5e059  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/2.cc
! d5c8b54f64075f653344505c383c89fc  libstdc++-v3/testsuite/21_strings/basic_string/rfind/char/3.cc
! 73021d53970cb6686383f254f1d46668  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/1.cc
! 3c109cd46cf67d2cefe4eee628f8e578  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/2.cc
! 2dfb638761c9dcecf002a604b9a648b9  libstdc++-v3/testsuite/21_strings/basic_string/rfind/wchar_t/3.cc
! 4048b38d92ffd5dbbaa70865e63f643f  libstdc++-v3/testsuite/21_strings/basic_string/substr/char/1.cc
! ae01ceafa4303d64f271b829204fbb69  libstdc++-v3/testsuite/21_strings/basic_string/substr/wchar_t/1.cc
! b3d2e9057e6ac002e747f8c28acd4ee2  libstdc++-v3/testsuite/21_strings/basic_string/types/23767.cc
! 660c7093cd043f44bcf965e7d10a7be2  libstdc++-v3/testsuite/21_strings/c_strings/char/1.cc
! 24f2ae3762090086d159363c65de6367  libstdc++-v3/testsuite/21_strings/c_strings/char/2.cc
! e4c92bb1bf959365f345c34f982ea532  libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/1.cc
! f2bac52a58997bcc128f0475df9af356  libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/2.cc
! ba31c9a7075b8034a5ac21714a7924bb  libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/24559.cc
! b777967bb794b7b66c0268aa891c3b1b  libstdc++-v3/testsuite/21_strings/char_traits/requirements/char/1.cc
! 5fc2b3a7fc3923f83c805d3299ca2db2  libstdc++-v3/testsuite/21_strings/char_traits/requirements/short/1.cc
! c7dbc547f3c13f76783a113c80093f15  libstdc++-v3/testsuite/21_strings/char_traits/requirements/wchar_t/1.cc
! 679193baccb759e0977e1c4eda1432ab  libstdc++-v3/testsuite/21_strings/char_traits/typedefs/char/1.cc
! eacf3bdc524bf5dddafd7049d5a9cf76  libstdc++-v3/testsuite/22_locale/codecvt/1.cc
! ea0810259e73cf44015d7854eda7add4  libstdc++-v3/testsuite/22_locale/codecvt/2.cc
! 71eb626c69c3aad650b0330500e7705d  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc
! 263a49c6e6a81be2b78a6576c9f0316e  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/1.cc
! 55434017e1eb2ca5dc2c9ed826661b4c  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc
! d4e5201887d86b8d266b32461e06e65a  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc
! 29b8a957cdb4f5e088d940c0170968d4  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/4.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc
! 1c1b3757a83ebeab4731337b920acb02  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc
! e614980951291d97bc2031fbdcb8b86e  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/1.cc
! 5fcb4fbac474a54caf89af65bd8f861d  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/2.cc
! 772bcab7ed618e312ba5240a58e64134  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/3.cc
! bc2d07f409b2037fc374845a2c80c5af  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/4.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc
! 2dbf638eb4ac5b535460e8102a14148a  libstdc++-v3/testsuite/22_locale/codecvt/in/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/in/char/wrapped_locale.cc
! 936bc580afdc1967b4eacd7636349ee3  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/1.cc
! b31d6ce2bffec6968262084439fa6f2c  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/2.cc
! 77bea471efa9eb82c4127139dfec1751  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/3.cc
! 60d8675c9e48665014633828c5e40252  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/4.cc
! d22a24bc3fc36391b27f586b67044c2e  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/5.cc
! f5d193d8fd79dc62a6c6e4b9b577073b  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/6.cc
! f9afdea086ba871e9921f063e9be6b14  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/7.cc
! 4370635812127ebcdba5c95699db15c5  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/8.cc
! 0a2fb6907871bdcfeccdf9e0bd18512b  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/9.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc
! f6d2c832e0b0bdf3a46f4d52a485ac06  libstdc++-v3/testsuite/22_locale/codecvt/length/char/1.cc
! 07c6776ff700a1c0b655b6a34de54cd0  libstdc++-v3/testsuite/22_locale/codecvt/length/char/2.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/length/char/wrapped_locale.cc
! 470b8adfc9f2c019b94869657393cb97  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/1.cc
! 924679a9b547fbf62f51bd458f671b16  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/2.cc
! 345fdd9e7c34f17f4daf6cb1a91d472b  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/3.cc
! b10c90ef04e63edd9754990b82c3bf87  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/4.cc
! fd95869603473af19ca910a4e9ab3142  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/5.cc
! b2f2c6530f01b3209332392b884fd64f  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/6.cc
! 5771e8f26e92fe79e010638b42bb35eb  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/7.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc
! beb217b19d9260a1d94d72639fe2f1af  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc
! fa6ccb9d0b274e47fadeef8d3c59c3a9  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/1.cc
! 05f77841e03649427458737ed3b41f56  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/2.cc
! f697fefc1183caaa339499c183b46187  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/3.cc
! 1d5f3554fed4c3d6468fd021c9eb59a3  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/4.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc
! 42dd270ae9979ce1ad76704481e6368c  libstdc++-v3/testsuite/22_locale/codecvt/out/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/out/char/wrapped_locale.cc
! acda72724c0706fe8b278cfd2058d7a0  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/1.cc
! 5feb440bd512d56ef95bf3d130d59e3e  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/2.cc
! dd3abd8d2101479f01ffd86bf721febc  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/3.cc
! a0fa7183866840c95895f3c8dfc64065  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/4.cc
! b07c4c90a4d72fa73d91feb375ead845  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/5.cc
! c5bc13d0a2bf790a58e49f78674312c1  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/6.cc
! ea4cf406aecf62c09b3ebe90cf953fa5  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/7.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc
! 4464d034b58152ec8c44613373b7fbf2  libstdc++-v3/testsuite/22_locale/codecvt/unicode/1.cc
! c3ab5397ddd6614a9d5f4da269ea85d7  libstdc++-v3/testsuite/22_locale/codecvt/unicode/char.cc
! 9bebd806a7a2d31f8bf3a66a512504d8  libstdc++-v3/testsuite/22_locale/codecvt/unicode/wchar_t.cc
! 25c9d5f9a91bef2abce3a5c532cb5b34  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc
! 9cdb139986d90db435b0c74bdf6bcb15  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/1.cc
! 566b1f193cad0dcb5bb8bbcf3e6c10c1  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/2.cc
! d0b9518108626edf630f00d546628074  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/3.cc
! bbe3c8a5305ba8fee1b9ab11bbad39c4  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/4.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc
! 855b10f8c431fd807d2c986e37b2120f  libstdc++-v3/testsuite/22_locale/codecvt_byname/1.cc
! a633836c80707ebf842e145865f90474  libstdc++-v3/testsuite/22_locale/collate/1.cc
! f839d86a243e38f7b125064949b4a992  libstdc++-v3/testsuite/22_locale/collate/2.cc
! f84b0bfa7508fc1b17c6e5f9b15da32d  libstdc++-v3/testsuite/22_locale/collate/compare/char/1.cc
! 856b6a5d0624235e58d67bd85fccf6e4  libstdc++-v3/testsuite/22_locale/collate/compare/char/2.cc
! e2f9513cb1c853053e6b211f223b9153  libstdc++-v3/testsuite/22_locale/collate/compare/char/3.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/collate/compare/char/wrapped_locale.cc
! 39b0c25b3099ee5a6e37ecb65433e265  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/1.cc
! 72dd146d0ea4ed54a40a5ad403e8aebb  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/2.cc
! 57e1fdad78ca1f8fb836cb5787f0d200  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/3.cc
! b22eb8cbb132f980641bc94d2060b3f0  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc
! bb595ed3904835030c8a23f69f9b111d  libstdc++-v3/testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc
! ba370b04e277c868c70f8a1b41d20f9b  libstdc++-v3/testsuite/22_locale/collate/hash/char/1.cc
! 36288200a9567db4568fda8f5883e7a0  libstdc++-v3/testsuite/22_locale/collate/hash/char/2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/collate/hash/char/wrapped_locale.cc
! fb4b7243cae6b83e7ed1b269661df479  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/1.cc
! 3868045eb468c4239138610e9c7a26dd  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/2.cc
! b22eb8cbb132f980641bc94d2060b3f0  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc
! bb595ed3904835030c8a23f69f9b111d  libstdc++-v3/testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc
! 26bff63e9355802a577653282dd58e97  libstdc++-v3/testsuite/22_locale/collate/transform/char/2.cc
! e1d62641ad7c87faa4efcea1383b8f8b  libstdc++-v3/testsuite/22_locale/collate/transform/char/3.cc
! d3c8b768eec4082cb1a78f165b90ceb4  libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_env.cc
! 27815e1f6a8ac8a281ec5667908d1af1  libstdc++-v3/testsuite/22_locale/collate/transform/char/wrapped_locale.cc
! 69791d43a0c96311381458c2d1acd21d  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/2.cc
! 8e5c22eddb2cf763d249d6aee6449751  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/3.cc
! 05e552c087c614e83f119e113722b858  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc
! 7ca492e5f1221aa23217c21f756d2815  libstdc++-v3/testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc
! b9b1b0a191736fce46630cf07b977356  libstdc++-v3/testsuite/22_locale/collate_byname/1.cc
! 4d50a1d19b94f75472480a5550817b7c  libstdc++-v3/testsuite/22_locale/collate_byname/named_equivalence.cc
! 225209292b1c206357812ad4c41ed21d  libstdc++-v3/testsuite/22_locale/ctype/1.cc
! 342dde13ba48d1bc3db1fa1b92493fac  libstdc++-v3/testsuite/22_locale/ctype/2.cc
! 4f46e1dc304f6c5eff801d9897ff1009  libstdc++-v3/testsuite/22_locale/ctype/cons/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/cons/char/wrapped_locale.cc
! 8251604909a806005b622174c1ca02d9  libstdc++-v3/testsuite/22_locale/ctype/is/char/1.cc
! 61208d28963d2c7c2f9d214d079281a8  libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc
! c6a3d776894bd22dfd2801263551546e  libstdc++-v3/testsuite/22_locale/ctype/is/char/3.cc
! 00bf5b4bec70c2a64851c7b6b6c0e6ab  libstdc++-v3/testsuite/22_locale/ctype/is/char/9858.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/ctype/is/char/wrapped_locale.cc
! 3064f4294b833824054cab449e8f018c  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/1.cc
! 5044c4e92eb995d4501451c4dab3943f  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/11740.cc
! 19ec061ffacfe7bf33d6531b3c9be075  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc
! 25613f9641f01cc6daf66192ade80e52  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/1.cc
! cb79639bce35c5d9e092f599b557569a  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/19955.cc
! 81111449a6969d18675c359aad740e08  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_env.cc
! 4a4b4c793245cea51a44a5c0e3ad6208  libstdc++-v3/testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc
! 27c229b442085f7437e67d040697fce9  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/1.cc
! c292e9cad3698a84006c832446eb0c55  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/2.cc
! 16ddc115d19f8881997f953fb7aa5388  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/3.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc
! 6cbbe35e3f049dce69ed282bde0094c4  libstdc++-v3/testsuite/22_locale/ctype/scan/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/scan/char/wrapped_locale.cc
! 92bfcbf22007474ffec160c3f8f9cb37  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc
! d901ae1456230403090de5858faac33d  libstdc++-v3/testsuite/22_locale/ctype/to/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/to/char/wrapped_locale.cc
! c8e9522dc79f4f3d48afd61cfb6c0772  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc
! 7768346f455a59d1b19a6a18f3b769d3  libstdc++-v3/testsuite/22_locale/ctype/widen/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/widen/char/wrapped_locale.cc
! 31f0453b845033f39e08eac170f3aa74  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/1.cc
! 04e8cdd2167f9c435b919b17a51baa13  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/2.cc
! 610748f6536fb2fe70db4c5fca292352  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/3.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc
! da746cf7e638d9f24935fd65c734d043  libstdc++-v3/testsuite/22_locale/ctype_base/1.cc
! 55f47e6a81359f0d7ede655873ad31ca  libstdc++-v3/testsuite/22_locale/ctype_base/11844.cc
! fa30c5414b274bfa6c39c5f6f6611891  libstdc++-v3/testsuite/22_locale/ctype_byname/1.cc
! 9bb4bf16ce2549efd2b17f909c2465ba  libstdc++-v3/testsuite/22_locale/facet/1.cc
! e654d166e7c772cc9f6c8b47013e7f08  libstdc++-v3/testsuite/22_locale/facet/2.cc
! 55b0e62e8c7371472b66fe4cbb8dc5f7  libstdc++-v3/testsuite/22_locale/facet/25421.cc
! 233d86e25bfd7e1389e1b0c5f60b5956  libstdc++-v3/testsuite/22_locale/global_templates/1.cc
! 62a97a59b1f9e45018f6eced6d9aa4f0  libstdc++-v3/testsuite/22_locale/locale/13630.cc
! 2cd0df28c984dd3aecd19c232e7bbc48  libstdc++-v3/testsuite/22_locale/locale/cons/1.cc
! 91b4404f534fab0e1c00f76a6788c2f9  libstdc++-v3/testsuite/22_locale/locale/cons/12352.cc
! 947842891e62448f01de00c76fc06697  libstdc++-v3/testsuite/22_locale/locale/cons/12438.cc
! 95efac10cdea2e77dad6229bc0608537  libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-1.cc
! d2d1876ec778b9d7768635b22e0e167f  libstdc++-v3/testsuite/22_locale/locale/cons/12658_thread-2.cc
! 9c47c1b09da354a9e98e48b2d4a20afb  libstdc++-v3/testsuite/22_locale/locale/cons/2.cc
! 05a95fd302bdd06cacb4bc308fd9e0c9  libstdc++-v3/testsuite/22_locale/locale/cons/4.cc
! b8601f73efc6cd67100d61d7845fa330  libstdc++-v3/testsuite/22_locale/locale/cons/5.cc
! dd0a2532b8e7e587aa4855ade47bd2af  libstdc++-v3/testsuite/22_locale/locale/cons/6.cc
! 4702cd5e12484ebc9a2b1fcaea64d0a4  libstdc++-v3/testsuite/22_locale/locale/cons/7.cc
! 677e5aab0b0c6a5dc19eed5ff655506e  libstdc++-v3/testsuite/22_locale/locale/cons/7222-c.cc
! 19eb4af00a3a17abfb8dce42ddc21983  libstdc++-v3/testsuite/22_locale/locale/cons/7222-env.cc
! 1a789a4c2d17a4dffacbd14aa93f2c18  libstdc++-v3/testsuite/22_locale/locale/cons/8.cc
! 5b6a47f876b247a5314c96eda46b80b5  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/1.cc
! 9156295778d819fd0bc156c919121c81  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/14071.cc
! eb89bffb72fb7254ddbe456e2036a45e  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/2.cc
! b451611f8fa5c3b0bd9ec403f0207c25  libstdc++-v3/testsuite/22_locale/locale/global_locale_objects/3.cc
! bde8d322d9fc56fe023ccd482bda0f14  libstdc++-v3/testsuite/22_locale/locale/operations/1.cc
! 6766d3317e43afe2c66e8dc22b93de75  libstdc++-v3/testsuite/22_locale/locale/operations/2.cc
! f6a1bd9de3b250497cc0e6a2a778581c  libstdc++-v3/testsuite/22_locale/messages/1.cc
! 337ab2fbda94023d43c10539e98463c0  libstdc++-v3/testsuite/22_locale/messages/2.cc
! 446581b7acbacc645d8cf5aa8a82130d  libstdc++-v3/testsuite/22_locale/messages/members/char/1.cc
! dc3335a79f89eeb906b1a7f0db7e1022  libstdc++-v3/testsuite/22_locale/messages/members/char/2.cc
! f5e0e2d27d9507c498c76647bac48edb  libstdc++-v3/testsuite/22_locale/messages/members/char/3.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/messages/members/char/wrapped_locale.cc
! e2935559066e22556a7b04bc17e193e7  libstdc++-v3/testsuite/22_locale/messages_byname/1.cc
! dc1c5ced1ba7f2c0dd23a1b4ba5248f5  libstdc++-v3/testsuite/22_locale/messages_byname/named_equivalence.cc
! cf75974ea306cd01f575c627fb122ce8  libstdc++-v3/testsuite/22_locale/money_get/1.cc
! 49b660507859585d936c37ec2c53101d  libstdc++-v3/testsuite/22_locale/money_get/2.cc
! 8af9952a5e819f9bbe953f89bca09ff5  libstdc++-v3/testsuite/22_locale/money_get/3.cc
! 2a8ed19d299bc883d62f978139d6fd0d  libstdc++-v3/testsuite/22_locale/money_get/get/char/1.cc
! cd233a01086f81b811b89af44c26041f  libstdc++-v3/testsuite/22_locale/money_get/get/char/10.cc
! ae71fce8cb483b3a9aa7b0cc0d5ef030  libstdc++-v3/testsuite/22_locale/money_get/get/char/11.cc
! 88fa99273dfc464dd7d9144f8a3f2c32  libstdc++-v3/testsuite/22_locale/money_get/get/char/11528.cc
! a340f2586af283ae138fb1124312f9ef  libstdc++-v3/testsuite/22_locale/money_get/get/char/12.cc
! 16a0e91599eee35e9684dabc55193bc0  libstdc++-v3/testsuite/22_locale/money_get/get/char/13.cc
! 25c983f9bf22d130e2a65a0f2604f911  libstdc++-v3/testsuite/22_locale/money_get/get/char/14.cc
! 12921d12881838055cef46ce5569dfda  libstdc++-v3/testsuite/22_locale/money_get/get/char/15.cc
! 93250ab61a0a4703528fb02760642952  libstdc++-v3/testsuite/22_locale/money_get/get/char/16.cc
! 3db40fd91d2c6ed2da7050b8fe4f4d8d  libstdc++-v3/testsuite/22_locale/money_get/get/char/17.cc
! 1e736f934f512d6c87cca6d0a48ff971  libstdc++-v3/testsuite/22_locale/money_get/get/char/18.cc
! beec2030121a4b9410175793cd490b1e  libstdc++-v3/testsuite/22_locale/money_get/get/char/19.cc
! 192aa49cd34d0c7451735bf3da4b03ec  libstdc++-v3/testsuite/22_locale/money_get/get/char/2.cc
! aa47a013c5e5ca23d273ca0f6a63ece1  libstdc++-v3/testsuite/22_locale/money_get/get/char/22131.cc
! 3487b6e5bcfc12b97a7bfa7bfe80efb5  libstdc++-v3/testsuite/22_locale/money_get/get/char/3.cc
! f96f876547d092f85e0599ddd0818855  libstdc++-v3/testsuite/22_locale/money_get/get/char/4.cc
! e693a67b5a14808151b76e293cc9d3f2  libstdc++-v3/testsuite/22_locale/money_get/get/char/5.cc
! db33ae0cb3a98aacc11a86e316debac4  libstdc++-v3/testsuite/22_locale/money_get/get/char/6.cc
! df08a7775fa3b8b47b38440ee016b08f  libstdc++-v3/testsuite/22_locale/money_get/get/char/7.cc
! ab4e9323242259e72deade827305bd48  libstdc++-v3/testsuite/22_locale/money_get/get/char/8.cc
! 892bdd357384974c3043a3e0c40aaa7e  libstdc++-v3/testsuite/22_locale/money_get/get/char/9.cc
! 0bfeefb137b3f109217e18b09e4830fd  libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_env.cc
! 10176359abc4ea06f5f603d6a0b553f2  libstdc++-v3/testsuite/22_locale/money_get/get/char/wrapped_locale.cc
! 5ed2872c15104ae21b99b76107451b82  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/1.cc
! ea9e63e7b9cba9347aca916294ddd058  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/10.cc
! eb18cd60a59f93c9297dc0d157f1880f  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11.cc
! 6fadea92cda550bc59a506c8625ffcf9  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/11528.cc
! 09eb7a9dd8dd26bea3de76250b536ea2  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/12.cc
! 001b8761cc8332039771be736118fe7d  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/13.cc
! de58420648714d408d7c839c6bfef85b  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/14.cc
! a58e8c91b0216aecb6b7d44b93ecb5b1  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/15.cc
! c57fdc5cf945e0f92b151b5052e195a8  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/16.cc
! 7a7c42ef35dd5f21c3b9a6d8b58578df  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/17.cc
! 617af5192efcb9bacfb8f2a6b3f6546b  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/18.cc
! 86256204a3c4b144d329630962a2ebb6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/19.cc
! 6b39266d7b9a248ce13815ce93f4b50f  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/2.cc
! c945d07b37693472d4512fc8c1459fe6  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/22131.cc
! f21a4eeea3fb440a508cd41c5a92ddca  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/3.cc
! 3b24ce156f8d130c4e4969ea2053b678  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/4.cc
! 7aa157ba79363329a7c4aabfe859a6d4  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/5.cc
! d5abd15743f9057ca589442c122018a3  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/6.cc
! b5d3eb664e1b649b8f7e35a06b6790c3  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/7.cc
! e5faf670309cb1df5734663ad12586b2  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/8.cc
! 1ce3342ba057ec8da10af38ec2f70161  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/9.cc
! 0bfeefb137b3f109217e18b09e4830fd  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc
! 10176359abc4ea06f5f603d6a0b553f2  libstdc++-v3/testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc
! 99414aa64caaedc48b2d0ce26d4fde64  libstdc++-v3/testsuite/22_locale/money_put/1.cc
! 6c1c851b4fcad44887eb0bc817be69ff  libstdc++-v3/testsuite/22_locale/money_put/2.cc
! 26c94a7fe4717c4afbe687b7779b4d1b  libstdc++-v3/testsuite/22_locale/money_put/3.cc
! 7380f8a78be8e9945b38a19c0f14ca95  libstdc++-v3/testsuite/22_locale/money_put/put/char/1.cc
! c19271e7e4e592b4bae64883c368fa57  libstdc++-v3/testsuite/22_locale/money_put/put/char/12971.cc
! 3e13d69df5f7d27bf54490ba287d14a8  libstdc++-v3/testsuite/22_locale/money_put/put/char/2.cc
! a7ec779a4618374957a5de2d8f9851a4  libstdc++-v3/testsuite/22_locale/money_put/put/char/3.cc
! 436c89b585fdafe107f33e1b98684da6  libstdc++-v3/testsuite/22_locale/money_put/put/char/4.cc
! 8a43c73861e7ba766dd91e0992337b7b  libstdc++-v3/testsuite/22_locale/money_put/put/char/5.cc
! 02e2fda4b532ec1b9a82549efde37cbc  libstdc++-v3/testsuite/22_locale/money_put/put/char/6.cc
! bf8d1a90fef9818d5584f78dc28dd874  libstdc++-v3/testsuite/22_locale/money_put/put/char/9780-3.cc
! 5619ba953632a19e26cc21b6ce1de68b  libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_env.cc
! 34fde6f20a6987069f4cbcdb4cc320ca  libstdc++-v3/testsuite/22_locale/money_put/put/char/wrapped_locale.cc
! 7149c0725938f0e2c372781280ed14a7  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/1.cc
! e1f79cc832e6c3ba41d881220afe7afe  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/12971.cc
! ae14c9b4499df1bf6a390494c328d021  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/2.cc
! 6c0b9ea37a742fe99d090c815b007a56  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/3.cc
! 98983f5d4cba833c80b25f1458ac3202  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/4.cc
! c6dc51cc9b2f670a6c612a0cd898ddd6  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/5.cc
! 40cbdf0ef9332cf81be56340150cf01c  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/6.cc
! 5619ba953632a19e26cc21b6ce1de68b  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc
! 34fde6f20a6987069f4cbcdb4cc320ca  libstdc++-v3/testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc
! a05f5671fe5ba2af88f5bcd17c2f41d1  libstdc++-v3/testsuite/22_locale/moneypunct/1.cc
! 8a8b58e74b23439d47f78035dca6ca2f  libstdc++-v3/testsuite/22_locale/moneypunct/2.cc
! c4e8db6c5a5bdbe2dfcb63b22ce1c1df  libstdc++-v3/testsuite/22_locale/moneypunct/3.cc
! 559610752d27d08f26ce6198c665f656  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/1.cc
! 6aafb03df6cf44301a4fe73148906654  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc
! 7d3859f370ba0d73567024853c5e21c9  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/1.cc
! 0640cfd88c4eb5589704a3b911ba7491  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc
! 0925eee7f16c5b9237d0f663b98db14a  libstdc++-v3/testsuite/22_locale/moneypunct_byname/1.cc
! b0f7521048c1ca16568ba78d223b8693  libstdc++-v3/testsuite/22_locale/moneypunct_byname/named_equivalence.cc
! 6f102114569e56c61b400587e757dd3c  libstdc++-v3/testsuite/22_locale/num_get/1.cc
! fd8e7877cd388a02ae65b72aff288c66  libstdc++-v3/testsuite/22_locale/num_get/2.cc
! 7ebe99720f7b8a4ff247fff3854a64e9  libstdc++-v3/testsuite/22_locale/num_get/3.cc
! a3fb6f0eeae52cd91405a716c0e3e947  libstdc++-v3/testsuite/22_locale/num_get/get/char/1.cc
! 480258af5d16a7b9d3f527b53a50c930  libstdc++-v3/testsuite/22_locale/num_get/get/char/10.cc
! 1cf6b33e02f221c3230e548e99586204  libstdc++-v3/testsuite/22_locale/num_get/get/char/11.cc
! 364c78eb8589290a06923ca65f7902e4  libstdc++-v3/testsuite/22_locale/num_get/get/char/12.cc
! f652af0aea6ce54953a1a8f098ae50d3  libstdc++-v3/testsuite/22_locale/num_get/get/char/13.cc
! 2d2fc4ea6a6dd16aafa5aee5214dd429  libstdc++-v3/testsuite/22_locale/num_get/get/char/14.cc
! f44acc4a82d722046560198c18426f9f  libstdc++-v3/testsuite/22_locale/num_get/get/char/15.cc
! 7399f59ecf638d16cbff5dd0af7bb8f5  libstdc++-v3/testsuite/22_locale/num_get/get/char/16.cc
! b9b5d6a3b8528549548521c08a5ded11  libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc
! cba2aa0c4ac9c01fbd9046eb44ccffc6  libstdc++-v3/testsuite/22_locale/num_get/get/char/22131.cc
! 190b01d18c2770ef6f397b3dbbc8701b  libstdc++-v3/testsuite/22_locale/num_get/get/char/23953.cc
! 77801db9cd7d8e604b57ed8926564953  libstdc++-v3/testsuite/22_locale/num_get/get/char/3.cc
! 2497e65903e7755f06d0d93697867d6a  libstdc++-v3/testsuite/22_locale/num_get/get/char/4.cc
! 893a901ca9aae56d1629bb3ab8b669c4  libstdc++-v3/testsuite/22_locale/num_get/get/char/5.cc
! 7354b10b87470b8e91842c0a4111c191  libstdc++-v3/testsuite/22_locale/num_get/get/char/6.cc
! 8704a042ca27b7ad5b3c0160dcfbfdc7  libstdc++-v3/testsuite/22_locale/num_get/get/char/7.cc
! d23d39d72fd99a60923ae3b62f057816  libstdc++-v3/testsuite/22_locale/num_get/get/char/8.cc
! 4c0d197e3d695cd26b46f49b4b340740  libstdc++-v3/testsuite/22_locale/num_get/get/char/9.cc
! 5619ba953632a19e26cc21b6ce1de68b  libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_env.cc
! 34fde6f20a6987069f4cbcdb4cc320ca  libstdc++-v3/testsuite/22_locale/num_get/get/char/wrapped_locale.cc
! 3c6c7ef98976bd3f467cb9c894815997  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/1.cc
! 74f6faf7f06f3caab5f6c37084b19754  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/10.cc
! 96fe310270df41f50d7c4498065bef58  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/11.cc
! 9a0d5d18587a17f68662541a5947cf46  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/12.cc
! bcaad06fcb7e08af089dfa08fb09c984  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/13.cc
! f52dfe680925a87b27c0a036691139da  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/14.cc
! 707c39bf6d3d64873226bf5f53ea7df3  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/15.cc
! 290c1eb9a999a6170e1033e525695686  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/16.cc
! 636bcec805d03f27f10748e4e68c7bb3  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc
! 59a36f90fb84de090579631aebd1f966  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/22131.cc
! 881f9812a20722ab6f06b355599707f1  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/23953.cc
! dc92e41cc0036647614532b376b3ca1a  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/3.cc
! f9fdfab668bd9afa4d2e34880cd7a966  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/4.cc
! 779d244c9ba2eaf6c7e9d11c2fc76779  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/5.cc
! aa043df323d0119b9a14e536370a132d  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/6.cc
! 3db4b4bd10240423114a8a26dd04ef4b  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/7.cc
! 9f203d5cd607d53f907674363bcc1078  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/8.cc
! 77a54921d4908466f1a1826e74bf66c1  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/9.cc
! 5619ba953632a19e26cc21b6ce1de68b  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc
! 34fde6f20a6987069f4cbcdb4cc320ca  libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc
! eade0e7ec6a3f0511280dea684b75fb4  libstdc++-v3/testsuite/22_locale/num_put/1.cc
! 80df44d11fef3cfc679fe8d14dd9f878  libstdc++-v3/testsuite/22_locale/num_put/2.cc
! 77cddd4b01867dce7d6803d5ab24b035  libstdc++-v3/testsuite/22_locale/num_put/3.cc
! 8de17a7e7e1888ab73385bb4f6194229  libstdc++-v3/testsuite/22_locale/num_put/put/char/1.cc
! 79318185c0cc3915b846d3fa46530f60  libstdc++-v3/testsuite/22_locale/num_put/put/char/10.cc
! d57aa5d6236ecb33e46d39db6fa52eed  libstdc++-v3/testsuite/22_locale/num_put/put/char/14220.cc
! 59b810d8a5120fae02474dd67b5dfa2c  libstdc++-v3/testsuite/22_locale/num_put/put/char/15565.cc
! 14d4874406a183fc33f85df784e85e00  libstdc++-v3/testsuite/22_locale/num_put/put/char/2.cc
! 5815f759a8b61485ca7737fcdb280297  libstdc++-v3/testsuite/22_locale/num_put/put/char/20909.cc
! 203ee47f6f3d72d1c1f45c694e68a359  libstdc++-v3/testsuite/22_locale/num_put/put/char/20914.cc
! 9feb3de93f26cd2d64819c8b6d72d3b7  libstdc++-v3/testsuite/22_locale/num_put/put/char/23953.cc
! 7ea36dff55ffa49ee2f7d08ac51af6b6  libstdc++-v3/testsuite/22_locale/num_put/put/char/3.cc
! a157cd8dd19b708dfbb8bb0d43e92a1b  libstdc++-v3/testsuite/22_locale/num_put/put/char/4.cc
! d72d1a458f0d620492cf4afba4c46523  libstdc++-v3/testsuite/22_locale/num_put/put/char/5.cc
! 2cb3177848f5bc8696cbef9aba713a9b  libstdc++-v3/testsuite/22_locale/num_put/put/char/6.cc
! 031a8a375eadd9edc589eb58c6e98999  libstdc++-v3/testsuite/22_locale/num_put/put/char/7.cc
! 5790df9cac655225ea43c0984aacb529  libstdc++-v3/testsuite/22_locale/num_put/put/char/8.cc
! 4fd641c9e3bdb055fc73ae68024dce09  libstdc++-v3/testsuite/22_locale/num_put/put/char/9.cc
! 99166eb4afcffd8ef657a9f3c240349c  libstdc++-v3/testsuite/22_locale/num_put/put/char/9780-2.cc
! fcb7c4e5df7cfd918d009fa3b7931581  libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_env.cc
! 338e7d335a529ae5038993ccb4a3cdec  libstdc++-v3/testsuite/22_locale/num_put/put/char/wrapped_locale.cc
! 9228935e0603ac3ec8f5573ab35f6b58  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/1.cc
! e2daaa158030330f4ad70437eaea2b23  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/10.cc
! c13417686afce9d967430f7d4ce00bd3  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/14220.cc
! c97eea87f43b448c61108950645ad275  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/15565.cc
! aa554a01086cea35d880d036e944602e  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/2.cc
! 8bb42d00761c25597889b32702f1277c  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20909.cc
! cb102acc72af8bee3dfb851b64710a7f  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/20914.cc
! 3d804f69fa3a9c23bbd5162440796df4  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/23953.cc
! 0f97d62ccce84e9cbe4df8117f7350b5  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/3.cc
! a4cdfbaaa1c8126dcd34c422569a86ac  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/4.cc
! 2ccfb5fd40061d27e72287c7da0ff210  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/5.cc
! d1a87ed72ffaccabe7343b95b999db59  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/6.cc
! 1d468deb4c77d19cbe5ea5302e7c9b19  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/7.cc
! 145e1bad0b6f9fd2c404917430b7cb09  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/8.cc
! 0bbcc061602230fb69610d0aa9f6ef79  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/9.cc
! fcb7c4e5df7cfd918d009fa3b7931581  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc
! 338e7d335a529ae5038993ccb4a3cdec  libstdc++-v3/testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc
! 57e8f335e537da1142ed33f794a7626a  libstdc++-v3/testsuite/22_locale/numpunct/1.cc
! 20300ca31f93c7e75591c047648a8239  libstdc++-v3/testsuite/22_locale/numpunct/2.cc
! e74e9bd50e50bf9e68d64a5bc7a56c03  libstdc++-v3/testsuite/22_locale/numpunct/members/char/1.cc
! 894fdceb3a68db6c1f1cb4a158599105  libstdc++-v3/testsuite/22_locale/numpunct/members/char/2.cc
! 6087fc35ae82e7ab003008581c0ab984  libstdc++-v3/testsuite/22_locale/numpunct/members/char/3.cc
! 7e6dc704aca7cca37793ec9ae47afe99  libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_1.cc
! 8f55987c229175c6f68cc7406f96e30d  libstdc++-v3/testsuite/22_locale/numpunct/members/char/cache_2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/numpunct/members/char/wrapped_locale.cc
! b1f4dfa084397b4e45be1de6628da66b  libstdc++-v3/testsuite/22_locale/numpunct/members/pod/1.cc
! 7049bf6ebed5385b31d6e7ac541ae1df  libstdc++-v3/testsuite/22_locale/numpunct/members/pod/2.cc
! 7b2c8180ffe191c89a087b16b104fa1b  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/1.cc
! 1c1172964c44e4105664faa05b7e2767  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/2.cc
! 838d476bc672c348664275a6870409ab  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_1.cc
! 94767febcef9243dbffb009d9690da94  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/cache_2.cc
! 01f6528df342fa85787fce0e5dc04b80  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc
! d30f0eec420cd89e2858ed333a5807d1  libstdc++-v3/testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc
! f113656a9b4c86d33a02a966e3ab2b06  libstdc++-v3/testsuite/22_locale/numpunct_byname/1.cc
! 2b516b5a59d024486274471fef51e487  libstdc++-v3/testsuite/22_locale/numpunct_byname/named_equivalence.cc
! 3cce809a3c6806a7e78d04c83201fe61  libstdc++-v3/testsuite/22_locale/time_get/1.cc
! 511b59d59b02e1183cc19b5033c9f9aa  libstdc++-v3/testsuite/22_locale/time_get/2.cc
! 9b6857448de6a4549057688feb505613  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc
! 981cb23b320a22afda9fd3c28b7457f4  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/1.cc
! 80bb32a2cc93f1166081993f13705cdc  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc
! 5d88bf0983a277eecdae01b0eddd2fb3  libstdc++-v3/testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc
! c61d31f55bc353f7ef815a8d3dfbf39c  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/1.cc
! e93a31c862420be2bc258ef7177ff84a  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12750.cc
! 8ddc03bed510a701dae4fbc39aa0ae4a  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/12791.cc
! 53c3b0ff80e78be161d5699538ea4bc9  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/2.cc
! 991c96881a80049b7dc10e96afebd99e  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/3.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc
! 2eedf2b5352007186b70ad9a3fedbd36  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/1.cc
! 32813a376e6e1046cd33cec691480206  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12750.cc
! e1863b80bd8ff6bf6c5448fbed10d1d7  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/12791.cc
! 082ea55c280a102b60cc96a37e1d48f1  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/2.cc
! cc5fe2c748b89a47b6469d4203f87eef  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/3.cc
! 80bc4255d8c76694a5e37362a5732462  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc
! f1ff8a1e01be7cb6916a9502f59c4363  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/1.cc
! 650a520cac36fc92fac514e4b62d2877  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/2.cc
! 42c771a6dd4235a1f5bf8b6ef4b9c3da  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/3.cc
! 56397ed5945aa815e0ca8dc7d0aa2b3a  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc
! bba2b304db12e3d5e17a9a0ac96cdcc6  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/1.cc
! 8ab75ce90c740c6af27c807bad048447  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc
! f5db7295fa1b5681d66e078f14bd02e9  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/3.cc
! cc589e089906977f1ea604894763bbfd  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc
! 833111be181c62189c1f12db73eafda9  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/1.cc
! ee37b8c232a68d372c4554c45a1a2766  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
! 4f33e1f7cef3d7afd2099a053dd6febb  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/3.cc
! 3734e1421f70cea3fd91f19ac578899f  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/4.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc
! b4ca872484831965afcc50a1c92c12d2  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/1.cc
! b708df1bf97546192fc6b4693a033fd0  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
! 21692f3edb54a5254c45b7b792edad7b  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/3.cc
! e51b394af6a6f0196daf6fe966dbd6fe  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/4.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc
! 5c7902d62fc84619f24a0fbe8e4af72b  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/1.cc
! 5cb83417bf758be5bd13524bcf2830d1  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/2.cc
! c17208554ed4b013a8f2daef32d6c943  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/3.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc
! bd7bd3d2f5d5859ea887d001f2b4f555  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/1.cc
! 420fc7e004113b935036928c961303b4  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc
! ec09954079071a1b36a764a7a7b805be  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc
! 0bd660517e8446d9913a138abe248892  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc
! 85c914e577f712e40eb9dfee319b9d41  libstdc++-v3/testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc
! 73186eb5ea22f082d2341262d4b7cbc2  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/1.cc
! 16ca3f1ad9f08282a127031c8e3a6335  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/3.cc
! e43aa7336fc4ef68ce0014a7521ed33a  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_env.cc
! c6215156da7bde34a72f545982a54800  libstdc++-v3/testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc
! 3b8be7ace2fdcd290c3b509a926a31d7  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/1.cc
! fab0be25d4c45da8e404414cedd0a3a5  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/3.cc
! e43aa7336fc4ef68ce0014a7521ed33a  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc
! c6215156da7bde34a72f545982a54800  libstdc++-v3/testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc
! 8c212e605f2bfa38b80ee3ad8a4cd1f8  libstdc++-v3/testsuite/22_locale/time_put/1.cc
! f587d3248907cb34cc737ded4c351a70  libstdc++-v3/testsuite/22_locale/time_put/2.cc
! e21776126e987495e874173bef4de5a6  libstdc++-v3/testsuite/22_locale/time_put/put/char/1.cc
! e721a255a9ee128af374fd93959f1456  libstdc++-v3/testsuite/22_locale/time_put/put/char/10.cc
! 8edfc59b0f30df1b1148f16225a93411  libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_1.cc
! e7dbacc32c2778b57bcd0813f3e37473  libstdc++-v3/testsuite/22_locale/time_put/put/char/12439_3.cc
! 03640a25dab7909c88ee20e88d7be8d1  libstdc++-v3/testsuite/22_locale/time_put/put/char/17038.cc
! 6ace7ab861353d966e2be2e22015e76d  libstdc++-v3/testsuite/22_locale/time_put/put/char/2.cc
! 898ba70596a7d099dbc946e86b570e68  libstdc++-v3/testsuite/22_locale/time_put/put/char/3.cc
! 79a24fc185ef54d1c44d021c33b901ec  libstdc++-v3/testsuite/22_locale/time_put/put/char/4.cc
! 646c51ca238970b3d61bbfe7b538cbcf  libstdc++-v3/testsuite/22_locale/time_put/put/char/5.cc
! 2de7bcadaabab7388ee22fb97015b86a  libstdc++-v3/testsuite/22_locale/time_put/put/char/6.cc
! a53859e24c6962811e2a87f28a5dec37  libstdc++-v3/testsuite/22_locale/time_put/put/char/7.cc
! e5ac3f603b9a50c8d059669582709761  libstdc++-v3/testsuite/22_locale/time_put/put/char/8.cc
! dd1047441ee18e5a3f23fe91a0b3abf2  libstdc++-v3/testsuite/22_locale/time_put/put/char/9.cc
! 5935af773cef82589e7bfa8473d3e865  libstdc++-v3/testsuite/22_locale/time_put/put/char/9780-1.cc
! 924ae67bb18dc38905d8e7c82615b82e  libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_env.cc
! 78c51a07e906eaaaab5f28fbcc54de6a  libstdc++-v3/testsuite/22_locale/time_put/put/char/wrapped_locale.cc
! 6013c873c15e2e749e7f929096191d71  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc
! 139a2ecd10c64712ce5bb947b3b8905a  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc
! 56830e116baaa481c35a80cab74ca0bb  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_1.cc
! f1859261903142f4fe9b8f7aa83da7b1  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_2.cc
! 6145b7e66e2f34edeb7f96b8ce3bd12f  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/12439_3.cc
! 53adf3829cc57059927980f3b172cfba  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/17038.cc
! 01fc50324731e1dae322cdc99849aa7e  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/2.cc
! c11433cb76c09ea89b088ba388bac810  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/3.cc
! b19f81e4353a791ba047c669364623b9  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/4.cc
! b47fb9fea0e04c8fcc27c92fb9ba1b7c  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc
! cb613171af840d3f2a71a93cdfb72a84  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/6.cc
! 4679fa445a82611ed25416eec81475bc  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/7.cc
! 8e6706f354512d8f1168e17b29b8e465  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/8.cc
! 6793e7213bea5a5492ba777ee7b328e5  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc
! 924ae67bb18dc38905d8e7c82615b82e  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc
! 78c51a07e906eaaaab5f28fbcc54de6a  libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc
! 6122912a063ac7f1ffe009e07f28b95d  libstdc++-v3/testsuite/23_containers/bitset/18604.cc
! e3c1cad55f2d1ba912bc74689e47bcf0  libstdc++-v3/testsuite/23_containers/bitset/cons/1.cc
! 504f8e5bead414b4afa1eedc5dc1fda9  libstdc++-v3/testsuite/23_containers/bitset/cons/16020.cc
! c6fdad34aeaaed40640b88875b73eec1  libstdc++-v3/testsuite/23_containers/bitset/cons/6282.cc
! d354c864ad2dffab03db43abddded34d  libstdc++-v3/testsuite/23_containers/bitset/count/6124.cc
! a130226b568a49ed83da9c6ebfaa3fb4  libstdc++-v3/testsuite/23_containers/bitset/ext/15361.cc
! 8b24f4cd476b9d38261b5890a9e7ba3e  libstdc++-v3/testsuite/23_containers/bitset/input/1.cc
! fc7636db5c2bcd765a0e2f9c739cdf15  libstdc++-v3/testsuite/23_containers/bitset/invalidation/1.cc
! 388ba35822265f9f8e4a118301482832  libstdc++-v3/testsuite/23_containers/bitset/operations/1.cc
! 28577f3a4783de8cf019a4fd8e96b912  libstdc++-v3/testsuite/23_containers/bitset/operations/13838.cc
! 54dbd6648aedab47d3d118790f5311ad  libstdc++-v3/testsuite/23_containers/bitset/operations/2.cc
! 347f068aece362cd40ff7af50574cdd4  libstdc++-v3/testsuite/23_containers/bitset/test/1.cc
! 6875dbc89674eacb74f30c67fa986799  libstdc++-v3/testsuite/23_containers/bitset/to_string/1.cc
! ee50f691e63c0e327f283bbfffeee153  libstdc++-v3/testsuite/23_containers/bitset/to_ulong/1.cc
! 54ede407fedbe13bdfb70ff96aa7ff5f  libstdc++-v3/testsuite/23_containers/deque/1.cc
! 2d0bdae9a19f551f197c80a1f93dd92b  libstdc++-v3/testsuite/23_containers/deque/14340.cc
! c9f37a22e3be58b0d81bcc5ab5ba9fbd  libstdc++-v3/testsuite/23_containers/deque/18604.cc
! 97b382fc78d6cfab384acf2c161f08c8  libstdc++-v3/testsuite/23_containers/deque/check_construct_destroy.cc
! 9d9e7077bfe1dac71846927d08798bfa  libstdc++-v3/testsuite/23_containers/deque/cons/1.cc
! 7fbe10be1fded4445eecd36272e7f403  libstdc++-v3/testsuite/23_containers/deque/cons/2.cc
! f08f852fd8b449d30b11ff31ae8ec440  libstdc++-v3/testsuite/23_containers/deque/cons/clear_allocator.cc
! 90bd32e4acaffaa72a07372cf7a19daa  libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/1.cc
! a6a98d7c3999940566a077effff6c901  libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/2.cc
! 438ed7331d9403d06e3ba11a11329365  libstdc++-v3/testsuite/23_containers/deque/explicit_instantiation/3.cc
! fd3dddfdcaee8f78290251874f6ff13e  libstdc++-v3/testsuite/23_containers/deque/invalidation/1.cc
! 171f1d450ab588a61479c94eefca0236  libstdc++-v3/testsuite/23_containers/deque/invalidation/2.cc
! bb6e6542b2936932dac82fbe02dfc3c9  libstdc++-v3/testsuite/23_containers/deque/invalidation/3.cc
! 7f3b2563965a78d102bf1b552f1717ca  libstdc++-v3/testsuite/23_containers/deque/invalidation/4.cc
! 39aa52f7ffe9961bd213178cc54fb545  libstdc++-v3/testsuite/23_containers/deque/modifiers/swap.cc
! 051ec2086c5bd2fff3984bda54c350f4  libstdc++-v3/testsuite/23_containers/deque/operators/1.cc
! c538dfe6193d3c58ed4fe04c9e85a22e  libstdc++-v3/testsuite/23_containers/list/1.cc
! c0096919536c20a0a1e0d82726d7e979  libstdc++-v3/testsuite/23_containers/list/14340.cc
! 5de4b142fa08d07f0c7122318930188b  libstdc++-v3/testsuite/23_containers/list/18604.cc
! 3434ef8980e508d5be2a542bd142dcfe  libstdc++-v3/testsuite/23_containers/list/23781.cc
! 3e8b791dee8ee0b8618c8c74a0c574bb  libstdc++-v3/testsuite/23_containers/list/capacity/1.cc
! 70e73dd4b80b2ccd5eeb421577443d6c  libstdc++-v3/testsuite/23_containers/list/check_construct_destroy.cc
! 2c599dad66ab127fc261cc44c88e1e9a  libstdc++-v3/testsuite/23_containers/list/cons/1.cc
! 725ac311f556c56d2416d132909a1a80  libstdc++-v3/testsuite/23_containers/list/cons/2.cc
! 9489d08aeed8f45a9ac003e107122737  libstdc++-v3/testsuite/23_containers/list/cons/3.cc
! a73a427a52b5f9d5a4b11cae4b6fd8a6  libstdc++-v3/testsuite/23_containers/list/cons/4.cc
! f24c2de60cb97f950d6854c0978d60bd  libstdc++-v3/testsuite/23_containers/list/cons/5.cc
! aa93f77759250357d9f49809f79d2cf4  libstdc++-v3/testsuite/23_containers/list/cons/6.cc
! ca2ce8b8c867e145430cb5a33879c369  libstdc++-v3/testsuite/23_containers/list/cons/7.cc
! 29c5a58c7917eedaecaa5fbb06ea607d  libstdc++-v3/testsuite/23_containers/list/cons/8.cc
! eb2c51330a7e56a962f4e16655e361b1  libstdc++-v3/testsuite/23_containers/list/cons/9.cc
! 768e5090f8dfd7b862200d9b1981a532  libstdc++-v3/testsuite/23_containers/list/cons/clear_allocator.cc
! b1ed8acf3ae9a0d6acedf0bc893867aa  libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/1.cc
! 89a0f5b6f42cfaba74550765c0de5ef7  libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/2.cc
! f62c536abf614712dfbf9e0963cd2210  libstdc++-v3/testsuite/23_containers/list/explicit_instantiation/3.cc
! 9500a7754e159b2f1d8f44a0f1a90e8a  libstdc++-v3/testsuite/23_containers/list/invalidation/1.cc
! 82061f1ebc7cf353ba49ae865fa68dca  libstdc++-v3/testsuite/23_containers/list/invalidation/2.cc
! 4ba166d9bec4d8b68a64d906c2da1563  libstdc++-v3/testsuite/23_containers/list/invalidation/3.cc
! c0fd614b21f101bc4be16b9fe5a2bf5c  libstdc++-v3/testsuite/23_containers/list/invalidation/4.cc
! 8cf6e583e247123e5252f14b7be5e4ab  libstdc++-v3/testsuite/23_containers/list/modifiers/1.cc
! e4280edb778b214277c9bb3952584160  libstdc++-v3/testsuite/23_containers/list/modifiers/2.cc
! b0558b259cae5208a439db67ad9a146d  libstdc++-v3/testsuite/23_containers/list/modifiers/3.cc
! 6ba98c02049e1647c62b73c2654c4079  libstdc++-v3/testsuite/23_containers/list/modifiers/swap.cc
! 51df4b0fe3eb0feac946ca998a2d204e  libstdc++-v3/testsuite/23_containers/list/operators/1.cc
! f7d0c021d74f7369d7ba4fc18be9c928  libstdc++-v3/testsuite/23_containers/list/operators/2.cc
! a7671fae8a5ad9814a5a261b60ff6dd5  libstdc++-v3/testsuite/23_containers/list/operators/3.cc
! 869429e3a1eb67df5e6e553246b64e74  libstdc++-v3/testsuite/23_containers/list/operators/4.cc
! a996f07720dadd95611e419e437a1b3a  libstdc++-v3/testsuite/23_containers/map/1.cc
! 62eb6e579c5a48a9b8c8937c23611d04  libstdc++-v3/testsuite/23_containers/map/14340.cc
! 19894928cd459f61ac25fad8c1bcd46e  libstdc++-v3/testsuite/23_containers/map/18604.cc
! 4b5af2a94f2c75f903af6b3e751abeb2  libstdc++-v3/testsuite/23_containers/map/23781.cc
! a1807c57327a3c9db5103b3658ad320b  libstdc++-v3/testsuite/23_containers/map/element_access/1.cc
! 3780bfa7415b3bd9c4bba1f15ae30fa2  libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/1.cc
! 39d5e66ba70c966bfe9356c9ae7dc91b  libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/2.cc
! f2ea419d95a5de1887ce9243db881bf3  libstdc++-v3/testsuite/23_containers/map/explicit_instantiation/3.cc
! 22281840ef0a8fc60a123838346197d8  libstdc++-v3/testsuite/23_containers/map/insert/1.cc
! bac7e30594dd1e90e02ee841cbe42e56  libstdc++-v3/testsuite/23_containers/map/insert/16813.cc
! a307bdee525042a6d79a6687ca532f34  libstdc++-v3/testsuite/23_containers/map/invalidation/1.cc
! 9a767b12f7b94dd5f92682d5b717e986  libstdc++-v3/testsuite/23_containers/map/invalidation/2.cc
! ea6af4a361bd04f4bb81141b46513e62  libstdc++-v3/testsuite/23_containers/map/modifiers/swap.cc
! 4da7956cc19809c9250ead80d25b00d6  libstdc++-v3/testsuite/23_containers/map/operators/1.cc
! 9a414bd19eb3e2b9426568b097bfc094  libstdc++-v3/testsuite/23_containers/map/operators/1_neg.cc
! ca57aa8821ba5c32db7180740077f066  libstdc++-v3/testsuite/23_containers/multimap/1.cc
! 7994ef862967359f9f6a453de7f1c903  libstdc++-v3/testsuite/23_containers/multimap/14340.cc
! c95ebc654f424c7e790511e47cd57681  libstdc++-v3/testsuite/23_containers/multimap/23781.cc
! 3f083786fb9f09e0a57de33ee5dbfb23  libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/1.cc
! fcafb5e86fe12609a02cac9156c6dfb1  libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/2.cc
! 6ccddab4223877dc56f0a9a0bffd0daa  libstdc++-v3/testsuite/23_containers/multimap/explicit_instantiation/3.cc
! 27e10a00502abf6b0f028f83c27ee98c  libstdc++-v3/testsuite/23_containers/multimap/invalidation/1.cc
! fee28cb95a6756f216e7dbb9d8be8f7f  libstdc++-v3/testsuite/23_containers/multimap/invalidation/2.cc
! e00e1f2df58b4ba0f243ef6a21e0d163  libstdc++-v3/testsuite/23_containers/multimap/modifiers/swap.cc
! 5b1d069564f385c9ec430e13afb3666c  libstdc++-v3/testsuite/23_containers/multiset/1.cc
! fd72059f5bec2a84bab81b5f756d0c00  libstdc++-v3/testsuite/23_containers/multiset/14340.cc
! 40014b3265a79da50a0e5eacd6fcdb79  libstdc++-v3/testsuite/23_containers/multiset/23781.cc
! 9ccef0e7af5b153f38523b96407bd568  libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/1.cc
! d0cc44b39ea830ef9bb51841bed616af  libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/2.cc
! e33dff48ff817120b52e68a2cc9db4bf  libstdc++-v3/testsuite/23_containers/multiset/explicit_instantiation/3.cc
! d99afc06e629ab98d4dc12f95926f43f  libstdc++-v3/testsuite/23_containers/multiset/insert/1.cc
! 341b76d76222484f383f06d2b23ed064  libstdc++-v3/testsuite/23_containers/multiset/insert/2.cc
! dbbc362a7c5629024470fc9eb18169df  libstdc++-v3/testsuite/23_containers/multiset/invalidation/1.cc
! 859017d1f3225e25c2cc6fb4d800a962  libstdc++-v3/testsuite/23_containers/multiset/invalidation/2.cc
! ecada1660e4bca018fe462094cecb010  libstdc++-v3/testsuite/23_containers/multiset/modifiers/swap.cc
! 5a3f0bda330bb90474f62154e3fcb4e1  libstdc++-v3/testsuite/23_containers/priority_queue/members/7161.cc
! 2f7d6bb5bb3f0bd97647c798633fd5e9  libstdc++-v3/testsuite/23_containers/queue/members/7157.cc
! 175b8e8627ee3bdfa80c4ba4f6157331  libstdc++-v3/testsuite/23_containers/set/1.cc
! 80de0f6b5b2473f4fee9b5e14dc38faf  libstdc++-v3/testsuite/23_containers/set/14340.cc
! e72c27aca5c090828d491d694e658a14  libstdc++-v3/testsuite/23_containers/set/18604.cc
! e629157cf7fee3755cd06ba33f5b3724  libstdc++-v3/testsuite/23_containers/set/23781.cc
! feeec9402cd1a50321b9c8cdddb272a8  libstdc++-v3/testsuite/23_containers/set/check_construct_destroy.cc
! 8e746c113305794691ee92b1f15b2921  libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/1.cc
! 595e3c33a7c283040d03d7ac823b8d78  libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/2.cc
! 1cea0891776082d12d4700af3d7d6d41  libstdc++-v3/testsuite/23_containers/set/explicit_instantiation/3.cc
! b0a12d0e5a246c719b98953c8947f714  libstdc++-v3/testsuite/23_containers/set/insert/1.cc
! 098fea1a8c28f9971bd2ce5b5d97054d  libstdc++-v3/testsuite/23_containers/set/invalidation/1.cc
! bb748f5205ebebd341f477da83b6a5ef  libstdc++-v3/testsuite/23_containers/set/invalidation/2.cc
! e417d563be0513f30076ca356033638f  libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc
! 333261d8bf197d930f39cb217374b4d8  libstdc++-v3/testsuite/23_containers/set/modifiers/17948.cc
! 38f0023dfc3867c4c46930e7349d0ecb  libstdc++-v3/testsuite/23_containers/set/modifiers/swap.cc
! 866bd9c9f58848b5dac647403c54b70b  libstdc++-v3/testsuite/23_containers/set/operators/1_neg.cc
! 3766f273fefa45639b112365fd001479  libstdc++-v3/testsuite/23_containers/stack/members/7158.cc
! 4016d14dde20079664ad3755ac3a2f05  libstdc++-v3/testsuite/23_containers/vector/1.cc
! 9c57830d5532468fe46cc22f9596c74f  libstdc++-v3/testsuite/23_containers/vector/14340.cc
! 03c48ccab8bffb004a5345d8a343d992  libstdc++-v3/testsuite/23_containers/vector/18604.cc
! c783e82808a7a7dd00c93c82d5b92bcb  libstdc++-v3/testsuite/23_containers/vector/bool/1.cc
! 30994491c77f11df9c2a04bcfe11a862  libstdc++-v3/testsuite/23_containers/vector/bool/21244.cc
! 9e3ccc98fc56cc985de500f0a4ea19ed  libstdc++-v3/testsuite/23_containers/vector/bool/23632.cc
! 1140df9dce9318e036fedc49e141c745  libstdc++-v3/testsuite/23_containers/vector/bool/6886.cc
! a816fdc60de0472e631b887f0a5bd4a8  libstdc++-v3/testsuite/23_containers/vector/bool/clear_allocator.cc
! 6aaba51191eba7ad033fb89d2b49c727  libstdc++-v3/testsuite/23_containers/vector/capacity/1.cc
! b589898b20d4e416bf164453bcd9b29f  libstdc++-v3/testsuite/23_containers/vector/capacity/2.cc
! b0a942886b39f1539a16086413c3c21c  libstdc++-v3/testsuite/23_containers/vector/capacity/8230.cc
! cc4c5b4380db6a7bb51546028ee95d78  libstdc++-v3/testsuite/23_containers/vector/check_construct_destroy.cc
! 82477a2941737ff19779a1e1a00be5f1  libstdc++-v3/testsuite/23_containers/vector/cons/1.cc
! 720fa5c4788fa607c99a80db35e0a38c  libstdc++-v3/testsuite/23_containers/vector/cons/2.cc
! 2118d180f79b003e72b930e9da410154  libstdc++-v3/testsuite/23_containers/vector/cons/3.cc
! ae2d15143544a7e7e70f783df80ea3a2  libstdc++-v3/testsuite/23_containers/vector/cons/4.cc
! c6f201a1d1323bffa227a8b00e383c26  libstdc++-v3/testsuite/23_containers/vector/cons/6513.cc
! 8d015a177b04ef169a03d0ae7ed9554a  libstdc++-v3/testsuite/23_containers/vector/cons/clear_allocator.cc
! 1286c0ad19266d6bf6faf9201607a4e9  libstdc++-v3/testsuite/23_containers/vector/data_access/1.cc
! 31b94e888e0ea0a84cfae6deb2b27be0  libstdc++-v3/testsuite/23_containers/vector/element_access/1.cc
! 38d9329eb7c731a7192bbbc71bac3dec  libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/1.cc
! 7447a84b1994df35a5a909204b3da8ca  libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/2.cc
! d41cd2d0dac9b37413d1af186f183d00  libstdc++-v3/testsuite/23_containers/vector/explicit_instantiation/3.cc
! f54d19caf3682fedf0d8d218db91201d  libstdc++-v3/testsuite/23_containers/vector/invalidation/1.cc
! 1c6ad48631de3929c56cd27de3df862e  libstdc++-v3/testsuite/23_containers/vector/invalidation/2.cc
! ee64778d28a3a03030ad165850f43f92  libstdc++-v3/testsuite/23_containers/vector/invalidation/3.cc
! e15dbb280ee4517fe3187ede4b4e9e91  libstdc++-v3/testsuite/23_containers/vector/invalidation/4.cc
! 68c42176d415ebc256d2b30d936c5628  libstdc++-v3/testsuite/23_containers/vector/modifiers/1.cc
! 45e98195a531fa92f1222b5bbc0facff  libstdc++-v3/testsuite/23_containers/vector/modifiers/2.cc
! b4850574ca35ff4e444872f04af9eae0  libstdc++-v3/testsuite/23_containers/vector/modifiers/insert/1.cc
! 173435e3652fdaefafd3f41cb58a4a14  libstdc++-v3/testsuite/23_containers/vector/modifiers/swap.cc
! 3d4803167a994be80bf4369e91c2c2ab  libstdc++-v3/testsuite/23_containers/vector/resize/1.cc
! 3503b36fcd7bc43585ba62797e2d4485  libstdc++-v3/testsuite/23_containers/vector/types/23767.cc
! 9d5f79895c5bb9c9a460f97b8ec25090  libstdc++-v3/testsuite/24_iterators/back_insert_iterator.cc
! d2fae5b9c21f1a3b1245cea011500500  libstdc++-v3/testsuite/24_iterators/front_insert_iterator.cc
! 66e1421d2c1b18698ab00f4e89d97746  libstdc++-v3/testsuite/24_iterators/insert_iterator.cc
! 38191d1b4ba9637b4be7a49e66c3384d  libstdc++-v3/testsuite/24_iterators/istream_iterator.cc
! 592a682507c8b2df2207aeb435f9e7d1  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/1.cc
! 7d2bcdce65c77a3fd2de762d85143bca  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2.cc
! 2f6fbf01714c43f46000366b728b0aa1  libstdc++-v3/testsuite/24_iterators/istreambuf_iterator/2627.cc
! caad5a592b26943a0758b77f62f24143  libstdc++-v3/testsuite/24_iterators/iterator.cc
! 64e28a96a1f519e8fc5d2dcf3bcdac26  libstdc++-v3/testsuite/24_iterators/ostream_iterator.cc
! afe5989c8473b121014e75263d0af4b4  libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/1.cc
! bd72d31d0ab24fa5a47aea5e02ff8af8  libstdc++-v3/testsuite/24_iterators/ostreambuf_iterator/2.cc
! e01dcb7704e6c59e800f5e9f8c918364  libstdc++-v3/testsuite/24_iterators/reverse_iterator/1.cc
! 714e28adf64ab6e3588aff6a5b4bc090  libstdc++-v3/testsuite/24_iterators/reverse_iterator/11729.cc
! 8d99ff9bf689433cd068407dc5ba9162  libstdc++-v3/testsuite/24_iterators/reverse_iterator/2.cc
! a0fb9648428b38e11fff01a47044082d  libstdc++-v3/testsuite/24_iterators/reverse_iterator/3.cc
! 138b77fe50e25556d3d04b08ea13c852  libstdc++-v3/testsuite/25_algorithms/adjacent_find/1.cc
! d5bdc00fb34902fcacb278dd50f2c096  libstdc++-v3/testsuite/25_algorithms/adjacent_find/check_type.cc
! 8be1e8739ff116f1b11789b478a230d9  libstdc++-v3/testsuite/25_algorithms/binary_search.cc
! bdaa6fa1078f3cc5647fb96b6ae64b08  libstdc++-v3/testsuite/25_algorithms/binary_search/1.cc
! 8d4ac24a3496969b0c2c56fb64e4390c  libstdc++-v3/testsuite/25_algorithms/binary_search/check_type.cc
! 1b6a74971f54647a30bb828331532dd4  libstdc++-v3/testsuite/25_algorithms/copy/1.cc
! 25f0e7f5cc3bb72e3deba1703071d74f  libstdc++-v3/testsuite/25_algorithms/copy/2.cc
! 643c7ff0c4601a1e1d4621775be5b437  libstdc++-v3/testsuite/25_algorithms/copy/3.cc
! aec0c9b07646d885fd67c8fd9d2ea076  libstdc++-v3/testsuite/25_algorithms/copy/4.cc
! 839a663fda87865e7985c2ba8f2bf4cc  libstdc++-v3/testsuite/25_algorithms/count/1.cc
! 2fde09ba2d646ed158bc5897b9756243  libstdc++-v3/testsuite/25_algorithms/count/check_type.cc
! ff36bfe49ef0bdcc85c16d08ffe1b806  libstdc++-v3/testsuite/25_algorithms/count_if/1.cc
! 5a452428beb04dac65f2f25ff2e6e5bf  libstdc++-v3/testsuite/25_algorithms/count_if/check_type.cc
! a2fa3791a47b4082ed35fb9799245c24  libstdc++-v3/testsuite/25_algorithms/equal/1.cc
! 3e6c42c4acda00b2681e31031d86d89e  libstdc++-v3/testsuite/25_algorithms/equal/check_type.cc
! e8291cb2aab130e95dc1e98276a47242  libstdc++-v3/testsuite/25_algorithms/equal/equal.cc
! f6d1d3820c70429df07ba609045d953b  libstdc++-v3/testsuite/25_algorithms/equal_range/1.cc
! 78eb2d45b335810ec3a50a8431add3f0  libstdc++-v3/testsuite/25_algorithms/equal_range/check_type.cc
! ce4224d05da3e894df8b166fc38cc074  libstdc++-v3/testsuite/25_algorithms/fill/1.cc
! a923fb0581080a26d67f32725ee9537a  libstdc++-v3/testsuite/25_algorithms/fill/2.cc
! 847263747ec730cda1af403fc720313e  libstdc++-v3/testsuite/25_algorithms/find/1.cc
! 52e7661145b5c49552d74adb7f7054d3  libstdc++-v3/testsuite/25_algorithms/find/17441.cc
! 331fbf09ac2c0918d1555a68a6a27ec1  libstdc++-v3/testsuite/25_algorithms/find/check_type.cc
! 391de17c1f42f7dd20062e4022c2b82e  libstdc++-v3/testsuite/25_algorithms/find_end/1.cc
! 7824a40aa7a6ddd08f2d3bf249d1b19c  libstdc++-v3/testsuite/25_algorithms/find_end/check_type.cc
! c1e1b98eef45341929d4ea5b8216e3f7  libstdc++-v3/testsuite/25_algorithms/find_first_of/1.cc
! ec6e1239b5b1ea80ee55d87bc2b45ce3  libstdc++-v3/testsuite/25_algorithms/find_first_of/check_type.cc
! 1edec22da472bb12b1ad442010da91dc  libstdc++-v3/testsuite/25_algorithms/find_first_of/concept_check_1.cc
! 6f6fa4f40eb891685165a05ce410a3c8  libstdc++-v3/testsuite/25_algorithms/find_if/1.cc
! 654bf2b203b7021cbc220bbe0908a603  libstdc++-v3/testsuite/25_algorithms/find_if/check_type.cc
! d39f17ac52bcbfabe232ea7e205cb12e  libstdc++-v3/testsuite/25_algorithms/heap/heap.cc
! 31514357e7a43f03f68fc2223ade5a6b  libstdc++-v3/testsuite/25_algorithms/includes/1.cc
! 7372f8baa9ee4f9cdaa023eb0b87c9a4  libstdc++-v3/testsuite/25_algorithms/includes/check_type.cc
! 9dc3b472bcb5f546c4cbc031adb5345b  libstdc++-v3/testsuite/25_algorithms/inplace_merge/1.cc
! 69420b83f2edf57450a797718f13e429  libstdc++-v3/testsuite/25_algorithms/inplace_merge/check_type.cc
! 95fa1fdee1e1fca12e9caeb7f04ab12e  libstdc++-v3/testsuite/25_algorithms/iter_swap/20577.cc
! 2757fd35e90c94e7dc8eda7def3e6021  libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/1.cc
! 73236026a72375b3134edb5c6eef01d9  libstdc++-v3/testsuite/25_algorithms/lexicographical_compare/check_type.cc
! ecd63c0cb57313dd1eb7677135c369cd  libstdc++-v3/testsuite/25_algorithms/lower_bound/1.cc
! 4b2c24aa4256578ce314946b658bf36d  libstdc++-v3/testsuite/25_algorithms/lower_bound/check_type.cc
! 736ca1c9abaa71dced0f3d1aa4bfec37  libstdc++-v3/testsuite/25_algorithms/lower_bound/lower_bound.cc
! 64a2a4fb6ea53e0b7588447c40753351  libstdc++-v3/testsuite/25_algorithms/max_element/1.cc
! b625876a2ab7482eb3e0d66bf6379b2d  libstdc++-v3/testsuite/25_algorithms/max_element/check_type.cc
! 8e5f47b51504c3a2b6cc7ee2416a50ea  libstdc++-v3/testsuite/25_algorithms/merge/1.cc
! a72f0f02cf52867fcc36fac0ea3e0314  libstdc++-v3/testsuite/25_algorithms/merge/check_type.cc
! d1ded690906eae20c3a8430bc04c8894  libstdc++-v3/testsuite/25_algorithms/min_element/1.cc
! fb10234ff1e150047f10706b75cacdb3  libstdc++-v3/testsuite/25_algorithms/min_element/check_type.cc
! c60dbe3bfd9f4423c9c3caaa6e052fd8  libstdc++-v3/testsuite/25_algorithms/min_max.cc
! b41beb55b5bc0f051c8be52c1fa8b17b  libstdc++-v3/testsuite/25_algorithms/mismatch/1.cc
! 651dd573d3f880bb82d671f3ced38710  libstdc++-v3/testsuite/25_algorithms/mismatch/check_type.cc
! a9cd706860244951cd303a70e2b07d23  libstdc++-v3/testsuite/25_algorithms/next_permutation/1.cc
! 2139dfe67f0d399f9a301079a1717f0f  libstdc++-v3/testsuite/25_algorithms/next_permutation/check_type.cc
! d9c6694115f88c4ee9897befa2acd6b9  libstdc++-v3/testsuite/25_algorithms/nth_element/1.cc
! e00dd867369837b71b81ac13e840f75b  libstdc++-v3/testsuite/25_algorithms/nth_element/check_type.cc
! 7994b559e33117a9dacfffc3e423b697  libstdc++-v3/testsuite/25_algorithms/partial_sort/1.cc
! 89d144b12d7977a120d2608b0d6be5c5  libstdc++-v3/testsuite/25_algorithms/partial_sort/check_type.cc
! c8a407446d47dad73bf79c0a9fc9673d  libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/1.cc
! 26680240ad11fd4104c76aaa919c76ac  libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/check_type.cc
! 36401b0f704a97bfc4880d0a1a6a839b  libstdc++-v3/testsuite/25_algorithms/partition/partition.cc
! a7241814fbe6d923368fca8b8d4f28b0  libstdc++-v3/testsuite/25_algorithms/prev_permutation/1.cc
! 3162696b844917eb30a25ca28e55a4eb  libstdc++-v3/testsuite/25_algorithms/prev_permutation/check_type.cc
! 1e4b0f113c445d3d4999c4581a60677c  libstdc++-v3/testsuite/25_algorithms/remove/1.cc
! b0ca904e5125daaa405d76af855f5027  libstdc++-v3/testsuite/25_algorithms/remove/check_type.cc
! 0e069bb05bd85166538e6830ee611626  libstdc++-v3/testsuite/25_algorithms/remove_if/1.cc
! 6b6626da397ab75081fb29bf2c73757c  libstdc++-v3/testsuite/25_algorithms/remove_if/check_type.cc
! 8e99c830b68a04f20968ccc1121f46e1  libstdc++-v3/testsuite/25_algorithms/replace/1.cc
! 1e8ac834ef7131b9f5c8aa1ef1a2a8aa  libstdc++-v3/testsuite/25_algorithms/replace/check_type.cc
! 476ad08b625e2a175403b4ecece4bad9  libstdc++-v3/testsuite/25_algorithms/replace_copy/1.cc
! 8766a85719022ac3e5ceb2e998619324  libstdc++-v3/testsuite/25_algorithms/replace_copy/check_type.cc
! d04b318d76773c63d6720ae9df4f1452  libstdc++-v3/testsuite/25_algorithms/replace_copy_if/1.cc
! a144ac782584e3fda2e475cadd7081f9  libstdc++-v3/testsuite/25_algorithms/replace_copy_if/check_type.cc
! d390231307044d4461ea52a6571f86f1  libstdc++-v3/testsuite/25_algorithms/replace_if/1.cc
! 4389bd2732de38b61cc3860f4ff51f0b  libstdc++-v3/testsuite/25_algorithms/replace_if/check_type.cc
! 73573caf046fc4011bb46ce78db19df9  libstdc++-v3/testsuite/25_algorithms/rotate/1.cc
! 0955127431b02d65c63b7b808f96baea  libstdc++-v3/testsuite/25_algorithms/rotate/check_type.cc
! bef71a9c5246e2dfb61ea8ad906906b5  libstdc++-v3/testsuite/25_algorithms/rotate/rotate.cc
! cfb607be7ccab154db9b5c6c06155da5  libstdc++-v3/testsuite/25_algorithms/search/1.cc
! aa868d7b7898c78820e8fdf3351b9c50  libstdc++-v3/testsuite/25_algorithms/search/check_type.cc
! 2149e467f0f55bfcc92df3c005b3eaca  libstdc++-v3/testsuite/25_algorithms/search_n/11400.cc
! 7e19d508bdb2907d92c6e61104e16c96  libstdc++-v3/testsuite/25_algorithms/search_n/check_type.cc
! 818d8986abbc711ad62535822344e566  libstdc++-v3/testsuite/25_algorithms/search_n/iterator.cc
! 3415574175e589d14646baa7a4078a05  libstdc++-v3/testsuite/25_algorithms/set_difference/1.cc
! 4b537e78d9b152d6a6be119890fb5661  libstdc++-v3/testsuite/25_algorithms/set_difference/check_type.cc
! df3bd5774f4dcee94d11983c03fa7b92  libstdc++-v3/testsuite/25_algorithms/set_intersection/1.cc
! a3a52267e2ce3d2da0951580e82c4e5a  libstdc++-v3/testsuite/25_algorithms/set_intersection/check_type.cc
! 94aa83e873e517023c027f0bdcb4d8a8  libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/1.cc
! d9709d076ccec9e40a18dd9fd073fc4d  libstdc++-v3/testsuite/25_algorithms/set_symmetric_difference/check_type.cc
! 10572654ea45f0fb8deeba7cf5a32b2c  libstdc++-v3/testsuite/25_algorithms/set_union/1.cc
! 2b77b39b7c206ba09953e8721c764e77  libstdc++-v3/testsuite/25_algorithms/set_union/check_type.cc
! 07ec38ecb8f721601ca4321ab6e8cd3a  libstdc++-v3/testsuite/25_algorithms/sort.cc
! 46fbdd5bbfe4c1828d0bc6885849d7c4  libstdc++-v3/testsuite/25_algorithms/stable_sort/1.cc
! 5a2dcdeea25ee753807b74719b108fe7  libstdc++-v3/testsuite/25_algorithms/stable_sort/check_type.cc
! b1a7a412fe3c43457be68121686496e9  libstdc++-v3/testsuite/25_algorithms/swap_ranges/1.cc
! 1aef93168e138aeafae33beb64afbf7f  libstdc++-v3/testsuite/25_algorithms/swap_ranges/check_type.cc
! 448e107c0603fc96411eb07455156d63  libstdc++-v3/testsuite/25_algorithms/unique/1.cc
! d69a74cf8dfd401b149273ada188b643  libstdc++-v3/testsuite/25_algorithms/unique/11480.cc
! 9bbf3c3c722bf8a97db5716b15050ecb  libstdc++-v3/testsuite/25_algorithms/unique/2.cc
! caa831425e5e5731f0f02f136103747f  libstdc++-v3/testsuite/25_algorithms/unique_copy/1.cc
! b098e6b293459181bb0358742ab29c6c  libstdc++-v3/testsuite/25_algorithms/unique_copy/check_type.cc
! db7dff8b41f8e17e00a4dd0ba9327b23  libstdc++-v3/testsuite/25_algorithms/upper_bound/1.cc
! 441c7b9436dc7f702595890c81edbb51  libstdc++-v3/testsuite/25_algorithms/upper_bound/check_type.cc
! f27621afbcd922ac03ab7dccabb6be50  libstdc++-v3/testsuite/26_numerics/cmath/19322.cc
! 62b21c25b9794738ccc33d171a3ceaa3  libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc
! 4375a75bd831a72358554e5ab42f91a8  libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc
! acdb8eb4971b360b1bee414b9e717a6c  libstdc++-v3/testsuite/26_numerics/cmath/c_math.cc
! a184319a4f4fca070326f7b537babd91  libstdc++-v3/testsuite/26_numerics/cmath/c_math_dynamic.cc
! c6a8aff51d5547e389896052483ac84f  libstdc++-v3/testsuite/26_numerics/cmath/fabs_inline.cc
  b10d80495d382414960c76cc30a6c72a  libstdc++-v3/testsuite/26_numerics/cmath/overloads.cc
! 06641b4c7d1b07fafb97c0a1f296c59d  libstdc++-v3/testsuite/26_numerics/cmath/powi.cc
! a0a4c0cbbfe78c6bc90ddd3d712d7369  libstdc++-v3/testsuite/26_numerics/complex/13450.cc
! c04fd6ed883464110da66281ab63cfa8  libstdc++-v3/testsuite/26_numerics/complex/buggy_complex.cc
! 0e208157b5192e797e302f6cf817dc10  libstdc++-v3/testsuite/26_numerics/complex/complex_inserters_extractors.cc
! 135e4b571b14df8f6a5b31906fce5a87  libstdc++-v3/testsuite/26_numerics/complex/complex_value.cc
  c47a31a7f378ac3ded9ade6d39cfe5e2  libstdc++-v3/testsuite/26_numerics/complex/pow.cc
! b00fc0ce56109620ecfab042f11d78fb  libstdc++-v3/testsuite/26_numerics/cstdlib/13943.cc
! b75059c096bb35e2ec3be1e65ae6806e  libstdc++-v3/testsuite/26_numerics/numeric/sum_diff.cc
  3e191d68e11822f58de5e4bd15365ca5  libstdc++-v3/testsuite/26_numerics/valarray/binary_closure.cc
! b7013808727d9c8d8b0ce63592bd9cb2  libstdc++-v3/testsuite/26_numerics/valarray/slice.cc
! ba4bc7506784b53e6739beb805281d26  libstdc++-v3/testsuite/26_numerics/valarray/slice_array_assignment.cc
! 7fa488264dcc17437996162b778d36fe  libstdc++-v3/testsuite/26_numerics/valarray/valarray.cc
! b7722355b93718741fcd703edd6fb05e  libstdc++-v3/testsuite/26_numerics/valarray/valarray_const_bracket.cc
! c6e726f55e8d28328c29a330f4e33fe8  libstdc++-v3/testsuite/26_numerics/valarray/valarray_name_lookup.cc
! 2ec3450ae79220f9cd035b53a69d60de  libstdc++-v3/testsuite/26_numerics/valarray/valarray_operators.cc
! 366edb9996b141fcc973f71e023c117c  libstdc++-v3/testsuite/26_numerics/valarray/valarray_subset_assignment.cc
! 5a2d7c44cfae5f51e30b43cc594c13c1  libstdc++-v3/testsuite/27_io/basic_filebuf/1.cc
! f5cbbda3b1046808160e2704c7dca4b2  libstdc++-v3/testsuite/27_io/basic_filebuf/2.cc
! fe313ea7f2eb1fd9489060dea5cd71b4  libstdc++-v3/testsuite/27_io/basic_filebuf/3.cc
! 6e379bfaa2f110b924b03ed19939f8d0  libstdc++-v3/testsuite/27_io/basic_filebuf/4.cc
! b313bf464f0c1823e28d9ea837f6ae14  libstdc++-v3/testsuite/27_io/basic_filebuf/close/12790-1.cc
! c80dda9540f1f571b2d662a0117b17d2  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/1.cc
! e0ff7a6ee150a841289929cda5341a44  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-1.cc
! e87614a82f144f1e5d0ee066bd86dfa2  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-2.cc
! 2f6083b8445aa38491b35a63aa0d9344  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-3.cc
! 5995527b3c74dd1c1950517e71b4d7c6  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/12790-4.cc
! e453364ac5120b70c53027d52ecdf574  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
! e90a539cad29c8f853e50472a81dc593  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
! f90fd11490d12e0ade18ebde48646879  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
! db1232dce02c931f0cdfe9fc03e023be  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4879.cc
! 803044555d291f16888e52281918516f  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
! 98eef044dc433afb402774b8df0dbff5  libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/9964.cc
! a414361446c99b6bd1b36580cd5147d1  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc
! 878912f1323ad43070a58ced577e900c  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc
! 1c7f79b3452c0795427b814aa258c822  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc
! 91d25d85901fc7c3c0da9f47ea13c476  libstdc++-v3/testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc
! 5aa77a10aed37b3e03ee1a114eaee00f  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/char/1.cc
! 1222c606fa24d354847b935ace9e5965  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/1.cc
! 302141ac8d6d25d06ee0e43821f59aa5  libstdc++-v3/testsuite/27_io/basic_filebuf/cons/wchar_t/10132-1.cc
! 87187013b2a72db34d0879bdd6809221  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/12206.cc
! 322675112e58a7adbbac659507d12f75  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/1.cc
! bd19f7262fdeacaf659365c27559ebda  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13007.cc
! d438915f2118974194c3409a06aa14a6  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc
! dd69d678d3c54b999ef8710c04f7a481  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc
! 8c302117ca8b8b26a533378acb9be6f6  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc
! d53d569eec7f541afb38665e06dba465  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc
! 237a620035027dc514aaf688d60e0831  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
! 4223c7c38865d50bac9b1b898781265a  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/2.cc
! 3e8540cbdb48c88629d8ebb5f8062d2f  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/3.cc
! 02477a2405b8e1bab67bd8373526236e  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/9322.cc
! d550389e643ec9ba77f63073e926691b  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/1.cc
! f79b4bee2271fdaadd19b0c0cd0a71c1  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/12868.cc
! ed67447c8de2fd88629b28cff08644c1  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc
! 90e14e94886d48727fa21da75b6fe260  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc
! 8efa3cc00cb60b51019f20e900d5f0db  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc
! ac5fa8ea49bc7a70e203a3088a32fa37  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc
! deae3fb75084e6e5c6e6471e3f5f6f6a  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
! 1c409248caf7fe46e5b1ec520eed1d37  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc
! 4d01ce0eef79e0e870b8a584311c1dfc  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/3.cc
! 22a9ca9f409a286eefaeb26c3688eeb5  libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc
! 695f8be33a4e27b199020ab9ecab2ddf  libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
! 111c9c045e8b802d9fc952f399fa2edc  libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/9701-3.cc
! 37ff7fe4592ee404e9f91165dbb7ab39  libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
! 56ed3d4e7e3cf27d344cd6ed2ea4f8e5  libstdc++-v3/testsuite/27_io/basic_filebuf/open/12790-1.cc
! 9b4b36699eb2f74358e7e063a975521d  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
! 5579a59f1b09a59bf83598a4f2fb51e0  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
! 4d5785ed7243ab4902a095f265b3c1a5  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/3.cc
! 51cb66c7ec106ae4bead6f9fc17b0965  libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/9507.cc
! 8d888ffdff5f97d9901783ac3379ebab  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/1.cc
! da36de8e056277359b1c50c9e6dad981  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/13858.cc
! dfaf59a576a48d2a7b1ed6bb31662d4f  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2-unbuf.cc
! 4920425b241a31d9a1c5123d4a089fc5  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/2.cc
! e50929868d988aac76c3eff6aa8271ee  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/3599.cc
! 5e7244c383f17f9e31ff50e513d61bef  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9169.cc
! bab75649c2ac12728e3f7f9a5bbb6e03  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc
! a2b78d360e8f04adeff50f58f9ea7a48  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/char/9988.cc
! b739a6014f729932f26d5bf62c19799a  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc
! f0e39372ff272b308135a0d50e421883  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc
! 03e802004b9b0c054c527f802946ce28  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc
! fc86ebd28ffb9f0be8f59534b7deeadf  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc
! 16ea479614843588a0ca9318e200c63d  libstdc++-v3/testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc
! bbd79f641a8320381e58dbafa5e82610  libstdc++-v3/testsuite/27_io/basic_filebuf/pbackfail/char/9761.cc
! 83ac383d7d051013ade829e6d464f465  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
! 59faddda644201ff64f831d6c3a513a9  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
! 9bdf122b40e75481de9a591016175e0f  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-out.cc
! f7be104d492a30d89631ba2ef3daf271  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
! bbf1a130f94a8f85a93864f788f95b32  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
! ae9ea66f007975c47a343a0bf0f306c8  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-out.cc
! 6c0eb092f0b4bc027b5b238d38a82d24  libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/9825.cc
! 88579ee4fec07ffdcd366ab45829364d  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/10132-2.cc
! 5ccf26547c616cf87cd1b5493365f054  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-1.cc
! 2d3b7eec7c68d2fed078ab1183886d93  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-2.cc
! e397ffd9a5c30216a25c938ca6d849b7  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-3.cc
! a89f077e3e542ebdf3f8da4f1370ab1e  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/12790-4.cc
! 192c9de99598beb96eceb3dabc406750  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
! 5f08d478d912d7b647a30d0037a1af02  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
! 1e3cf43747f50f5f204b71178f9c69d2  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
! 68df50183a1d875f33da0843577ba0aa  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/11543.cc
! 86571d9eb7a6514258e9de1d411da672  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12232.cc
! 9434bfa4a619a65c7d54eed0d6b7a179  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-1.cc
! 63c6109978d60acf1d0e1fb52796a7d1  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-2.cc
! f9519b2e85c8a268b2d5e955ea00a1d1  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-3.cc
! dc296b5212d4c9aa78193500303bfe1a  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/12790-4.cc
! a84a4998fe4337d7e4a9a74d1b327e08  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
! ea1940bca0d238239295b9207aedaf81  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
! 75b994f0f86e3c888257bbd9b414bc77  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
! 8cf1b81acbef4da82ea3be5f92ad3fd8  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-in.cc
! 13cf31ae74421446a4289e7fe78a6889  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-io.cc
! d98d0e88f7a8d2b6c811ec14c66501ba  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/3-out.cc
! 81d9a8929add1cfd9b674bc4c10eead4  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc
! 55f6ce9d4cf59cd5f0bb761ead1b6085  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc
! 9812a67c95c8cfaa1ea40bb6f41b8396  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc
! 993db4f6693c8fa73d86318227391a74  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc
! 69c5fcd1ab885dc48533e4225d7dbe65  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc
! 8e86e39b29ae199d401f07a2de8ccc08  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc
! fad66246e16f52f798f4a624789acd46  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/2.cc
! 00a073c7c683b8967598b070f423596a  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc
! 705560c6bb406f69a4299a752465d24f  libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/wchar_t/9875_seekoff.cc
! 5989b8fc73f7e8e172c88a07fb03ee8d  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/10132-3.cc
! 7eb5914327121b5d13690dec6fb2f859  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-1.cc
! a81e20569d90ca9d8be841b947bd113f  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-2.cc
! e3c73725bcab168d19fbe5bb12927196  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/12790-3.cc
! b6614de375c6392acf92240c09dbfd48  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
! 70f0aeb5a73856a1a49197ffbfea4c74  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc
! d938bfcd8b645a838323177444f34cb6  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
! 9551ec4096d3f90d1f5c8e1a804bba1d  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-1.cc
! 1c55c283119e0b00840481462e5f59fa  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-2.cc
! ad935fa611970bd92278e267819fa9dd  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-3.cc
! 596616850749d0c6b7510a2bec849e00  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/12790-4.cc
! 7123d1c483b4905ebfe55ca9b10c7aa8  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
! bda4c52c5186feec05f9f9b127c4af12  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc
! ba4a0286bc17dfbe5556333c61fa2c95  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
! b178cbdd167188eab7d3f72d57ca2c03  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-in.cc
! f92bd568337e716661e2b0bbd1520574  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-io.cc
! 4a877d3f07c0989e19f6c4b9d71170c1  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/3-out.cc
! b44eba0083f1d9d822bc841554900685  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc
! ee49cdc0a5f27dd804c449881d8ba202  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc
! 8ba5a0bb0d58ac7c28d2a1fdb91dd563  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc
! 7844623e81f036c9a59b047d54fe0812  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-3.cc
! a2072f45218bc5c0c201b1a43a2f6b55  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc
! 88159011c749af3708ab6adf1975f1ce  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc
! d57b9b5479e82acfb2df08c2fde95b8a  libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/wchar_t/9875_seekpos.cc
! 62caaba060bfd1f9411e287d262ee604  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/1.cc
! 35a7ddfabb7f635dd658bc4c5591658a  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-1.cc
! 620c8c9fcc2720f3440c6f078fae29a7  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/12875-2.cc
! b55d106a40cce1ef23764b464e0fba81  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/2.cc
! 6c0bbe17e235a824abb316192db5aa00  libstdc++-v3/testsuite/27_io/basic_filebuf/setbuf/char/3.cc
! 5db804ebf65ca3703e3d867c2c669d4a  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
! 465d8a9547edfc14dd4fffeb9e73bda4  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
! 87ca5f5707a860c6cf815f62cfd06fa7  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-out.cc
! 9e9cd04c0bb256db680a6c9e248fd4f5  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
! 2add9d5ff230cf8eb854f9f2e04cf253  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
! 0c6421cb63762e413c8a45993dbd9542  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-out.cc
! d88e6ba8e42c7168ba0775ed2b429699  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
! aedfe73d83429386ad0e9524c6f7dc49  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
! e8555b0d41248ce6266c210c37226217  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-out.cc
! a78600e260288f3955c1bc9853985c62  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
! 2d6db01609a7b47294df0b358345bb4d  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
! d9e24d0eecc96e2dc11078c950d180d2  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc
! 654751f870aad4a56f9dba7184b01458  libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/3.cc
! b95f44d49dcdaed157f55ec6e0129762  libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc
! a5b25235d234fd4ddaf95a2bfc80f1ea  libstdc++-v3/testsuite/27_io/basic_filebuf/showmanyc/char/9533-2.cc
! cee2f8791059885e9f4ffd2b14919b3d  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
! 61ddd3231e4b415692803b6dccc87219  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
! df961464198cbd9581077b8ee472a35b  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
! cf9c7ec158bbe9c9fac4f13088880851  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
! 9efe5cf862b01376105f273b60ce5595  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
! 0185e322229730051ea5e02803f6779f  libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-out.cc
! c60959251b525f6855f25eef2255a011  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
! 2719e1efea7001c8f740964055011f85  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-io.cc
! e26f8bd1fc3f240035349d664f758c44  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc
! 54d74c493a37ec81067727f806cd893c  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
! 86435e17f19b9678e024802cef91c29b  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-io.cc
! 615b2a90eaece1fb3f311631d998d4e4  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc
! 81fe4b1e5c557a88196b9ce77a97c488  libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc
! bc58e59331285c539dff3502d214a394  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
! 6002a5b2fd623f600dd588bd5a412acb  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-io.cc
! 3a4e9a4da18fd55ea324c57b6de67e4d  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-out.cc
! 618034672ad842d64a74891e1e47d784  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1057.cc
! bddf86bb03818423094536ccda0aef14  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
! 6dd21a0041f1c432a1874b02ce2190dc  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
! a20618e77823d137f9348b7710e2fd53  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-out.cc
! 272a002950c6b134ea8ff1aa791bfd27  libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/9701-2.cc
! a4e70655aed2e1b098d64e33fb9ed89f  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
! 502510787ac7a50c0f1b5a7d747f2898  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
! 3bf4c5d6230d622f83f7fedd4f81bae5  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-out.cc
! 89832774b4e7442c306395c475471a2d  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1057.cc
! 401ccb3c7043d595e75cf63db8ad6c38  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
! b579d0dfbce8163430d1b897c97a77f3  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-io.cc
! 9ececb66565de177c6d775a8325b692e  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-out.cc
! a3a5fdaa3a42f68a097fc09db37a95a1  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9339.cc
! 6c8a8f92ac64640873689672eed23749  libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/9701-1.cc
! 42e981d9a2fe572a04cb68dd5e32e7f9  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
! 4ee63a5125759ef71fadd75a7c093296  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc
! 43c9d57ebeb6d7c22fbba8bda7dc2a6c  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-out.cc
! ed95925e8396eeb9610aac4fc4de30a7  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
! 18e137e1b7e129a69b5c85c8126b1eca  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc
! 41639a2a07fe6311b6ceab9a4b70cd40  libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-out.cc
! e3cf929c0d8b63f64069d0eef099cb68  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1.cc
! 62a08c6e05103494171add5827f87a33  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/1057.cc
! c8a21ae3e39352e187e7b78bd8371826  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/char/9182-1.cc
! a29a8835618d4df563c8d348e007160a  libstdc++-v3/testsuite/27_io/basic_filebuf/sync/wchar_t/1.cc
! dc5861d796ed2c3fe99fe3a3fccc5020  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/10096.cc
! ef384e93f8ccabf68675d00c454e94a0  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/1.cc
! bddd0b6add36029f09d66764fd3ec57e  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/10097.cc
! 55809df9c05205f89ab0f5c42d511eb7  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/2.cc
! 515206fbdab4c822a2a0650b1174eb14  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/char/9027.cc
! d29985cc155b916c27a748d53f4a2cb2  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc
! 6ae78ed2cda389389d5dd2ac4e6856b1  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-1.cc
! f271ae397b1787f91d303a77ce317334  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-2.cc
! d80bad1a41c36edc4a254baa0b05aa64  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-3.cc
! 6f3da8c52095cde3c8951fac0a1f37c8  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11389-4.cc
! dd48314518dc9f92ec71dcfa845c710a  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-1.cc
! 437df3e3ddd73a1fc842c7c4ed14065e  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11544-2.cc
! 2488c488afd3fbb1632588d69d32048f  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
! 4dd4b73c231a3777d39f533b5a929983  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc
! 7f2169cbbd63b69f50b3e0637cab3f8b  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc
! e35b47ff8ad122eed5c93de65335af9f  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/4.cc
! 164081f25ebcc7cb62217eae05641ef4  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/5.cc
! c1b88dd3542e7ecd1648e149144ecf2b  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc
! 270d5489ae848fe2ddd1a2cb87b0e29f  libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc
! b145f37f294c8e36c9f6f25cf36b3db5  libstdc++-v3/testsuite/27_io/basic_fstream/1.cc
! 4d0058eb9c810e7c72b9c3f3c0bff91c  libstdc++-v3/testsuite/27_io/basic_fstream/2.cc
! 5e3bfa3f018b43a2cdc343322eab65be  libstdc++-v3/testsuite/27_io/basic_fstream/3.cc
! 7a223baa0548289f6530beee954de994  libstdc++-v3/testsuite/27_io/basic_fstream/4.cc
! 4c762fc6f34cc8bcda5b2d4041bf70e1  libstdc++-v3/testsuite/27_io/basic_fstream/rdbuf/char/2832.cc
! eebc2ee5d37c410dc14dba0761a777f1  libstdc++-v3/testsuite/27_io/basic_ifstream/1.cc
! a269fd7d5ee6684c2d00390df670e81e  libstdc++-v3/testsuite/27_io/basic_ifstream/2.cc
! d4a9ab7669353c24473f2b279ec38b62  libstdc++-v3/testsuite/27_io/basic_ifstream/3.cc
! 64f6be8f2fcfa11b1b04f22145b01f15  libstdc++-v3/testsuite/27_io/basic_ifstream/4.cc
! 23e677b0bb0067ed8a3629b4ec109206  libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
! 1581d3bee24ab8ee2fc26cdee8f47e4d  libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
! 2c80e8cbe58b101a6511f6e4b5223225  libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
! 51731fa8b32e75a08dc07e86883cb253  libstdc++-v3/testsuite/27_io/basic_ios/1.cc
! 53927276e9791319ece1906d3f0db7bc  libstdc++-v3/testsuite/27_io/basic_ios/2.cc
! 04e7e3a89b53eadb195c06ccae22e997  libstdc++-v3/testsuite/27_io/basic_ios/3.cc
! 172f782e157252163c34ddfd044461bf  libstdc++-v3/testsuite/27_io/basic_ios/4.cc
! 757349604d6a5ee43f1e20b49b51f997  libstdc++-v3/testsuite/27_io/basic_ios/clear/char/1.cc
! a4a08ace3e5f0e009b1f7e768778feca  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/1.cc
! 101205acb78925e8ffd3a8cc029bb1b4  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/2.cc
! fb6fa53bf1d4aa93884b68d6e893e9d3  libstdc++-v3/testsuite/27_io/basic_ios/cons/char/3.cc
! f43123080e55d09283755afe61eb6e9e  libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/1.cc
! 47bf205941bb1377dbd5cae6f8f61ee7  libstdc++-v3/testsuite/27_io/basic_ios/copyfmt/char/2.cc
! f7816db8f3058adfc34862b4c2840629  libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/1.cc
! 6a827c68e4e2ac0e3d75a5547d007d86  libstdc++-v3/testsuite/27_io/basic_ios/exceptions/char/2.cc
! 341f78f4c39c0f1eb2006e44bf6dc9c4  libstdc++-v3/testsuite/27_io/basic_ios/imbue/14072.cc
! 0e77dbd70cf940cf46fb8c2d5aa05dcf  libstdc++-v3/testsuite/27_io/basic_ios/locales/char/1.cc
! ae938d4e935c3d4c07d0a0a98113fa5b  libstdc++-v3/testsuite/27_io/basic_iostream/1.cc
! 4d5ab8bb3990c78228aa1300294083f3  libstdc++-v3/testsuite/27_io/basic_iostream/2.cc
! de77d4e6c6bea0ecffed5b714000eab1  libstdc++-v3/testsuite/27_io/basic_iostream/3.cc
! d3c5bd02e798740b522fd78266b2e45d  libstdc++-v3/testsuite/27_io/basic_iostream/4.cc
! eb106a1251295225b2dc605f80c5e4ec  libstdc++-v3/testsuite/27_io/basic_istream/1.cc
! 5e066270cab16ca48e68c77298523ac4  libstdc++-v3/testsuite/27_io/basic_istream/2.cc
! 62810fb8a079adff5fd454b313987b2d  libstdc++-v3/testsuite/27_io/basic_istream/3.cc
! 6a2ac51ec4d9e07d30b680c92a3e935d  libstdc++-v3/testsuite/27_io/basic_istream/4.cc
! 53a75b356f5f6e601e58b97143858292  libstdc++-v3/testsuite/27_io/basic_istream/exceptions/char/9561.cc
! 33d4e4890f9880d8ddaa992f1f9a10c7  libstdc++-v3/testsuite/27_io/basic_istream/exceptions/wchar_t/9561.cc
! c6f1f5149f92a07ff18020167c903613  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc
! 07ef57f085ad9d9e94ebf301578210f7  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc
! 11c97b50a62f739dc5852b68a28064cc  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc
! e712f20fc84e14f9cd06e8e825c0182e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc
! d97c51a2f5bcd1921e7b1c178f37960e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc
! 1a3b55007109c3104eba9be6e8554fc6  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc
! bc13674332e5a45f8b609eca669392a6  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc
! 118f5e262e1a495f4eba8951094d8aee  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc
! 76e1619340bf535aa9d529915de756bc  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc
! fbf50c08365531403bbd25324e74df1a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc
! 0915ffbcc0b413cc935c05e85a0e321f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc
! 4e19389683bbd9aec4069fd8ed645de2  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/9555-ia.cc
! 8a8baab353770344240578d607ac3b7d  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_badbit_throw.cc
! 23c0651f57957e71d57183bb55bd2b3f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit.cc
! 28da013cd72781273673c4e607b89415  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/exceptions_failbit_throw.cc
! e8007cc55744538150aeaa497e054361  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/pod/3983-1.cc
! 14f82e04869011f2fdb5fd3eef117723  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc
! 258d1832f41a9cbd75cd393837fb6411  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/02.cc
! aca5c7a92bace4f0c96288e283baf7cd  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/03.cc
! fd37a8390a5d366b07413596ec609450  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/06.cc
! 3e8268fe18cfeacd0c939fdb7e8e0e1f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/07.cc
! 0df5685946f01d33b6c8fe61725ad5a8  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/08.cc
! 45597592d38ea873b1952befaedd9fe2  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc
! 09f608ea89c72ef209680bdf5b99ead1  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc
! b463ad117ef50b5d94bb5fb07de5558d  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/11.cc
! ac48a4f5d026cc20284914f92ff0cf18  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc
! 0c39ef5e096f996eb5e6d15e3484c81e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc
! f31a7ec8cfb55a9d2d8e096ce81e74d3  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/9555-ia.cc
! 85499687c4628931a40983fa586827e8  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_badbit_throw.cc
! 3d6682e721ce3aaa7b7612b0229225ac  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit.cc
! 45445ca5057666c903ea1058016f6e34  libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/exceptions_failbit_throw.cc
! 6fa2304404f3e8e0d0280d0939f05a7e  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/1.cc
! b17367b19e7fb7bdd2046f83c735894f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/11095-i.cc
! d48554518f5721db035a0dd65cb0c0cf  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/2.cc
! dd8262ab84befb0da1fd60a70a143b32  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/3.cc
! edd51083540c2d07f1f1578ad7967494  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/4.cc
! cb22d393e1ccc677c9bbd2765cbf4d7c  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9555-ic.cc
! e502bd14f92e04efbfe0c94e784b1ae1  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/char/9826.cc
! 72403f608a00a58949b0ca922483248f  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc
! 485adfdc0ad13cdf7ec5d6ce467d5a62  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/1.cc
! d79efac1ee75bca25797973f3362ef41  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/11095-i.cc
! 8abb2a84fdafba7cd56fd684d7f8aa52  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/2.cc
! dfb156b9209417293dca7c107c9ab6c6  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/3.cc
! 9e0c6222dce303b7b542ee08c496ddea  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc
! a04997559838fa4e2721f1a3f13643c9  libstdc++-v3/testsuite/27_io/basic_istream/extractors_character/wchar_t/9555-ic.cc
! e399d45c86783e36b110085e1c30862a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/1.cc
! 2be0ed69ddaf6ba53078d12e3abd23dc  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/2.cc
! 2e3fb149140ef119e14eaff68bc8be1c  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/3.cc
! bd289c8039e01cde81e7e362cbf4b69c  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc
! c75c3f88359ce75a882875eb6d495d17  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9424-in.cc
! 9837b98cc2ef3a2b754c5a910100b2f6  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/9555-io.cc
! a7fc860b0fabb5a588ea5f31d3c2f9b2  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/error_failbit.cc
! 7d43366a064b29a9b0c26f841d45e03d  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_badbit_throw.cc
! 244f7df284cfb8dc76a5ff9076afc2a6  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_failbit_throw.cc
! aa16132ddeba41ff44f499aabfd54a3b  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/char/exceptions_null.cc
! 65e7ad76247ccd17d565f377af533287  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/pod/3983-3.cc
! 56874cc45829170bef710bc5357f7683  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/1.cc
! f7d591ed5666afeadde3d29fe4af5bfa  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc
! b5c4c38bf07ce1123982a4cb0116b5fe  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/3.cc
! c90bc44cfd89962e7e5d32d4ce2a4f5a  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9318-in.cc
! caa53f4de3b7c5e4889af6dc68680135  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9424-in.cc
! 5fc55c88c07c61857703c440d4a1e844  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/9555-io.cc
! 68a8664a8c74989606be58fb5b0a9800  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/error_failbit.cc
! fe48d42cb84d11bb11e025b3799f9437  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_badbit_throw.cc
! 1ad3ebf116e1f98ba57824e0b0c717cd  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_failbit_throw.cc
! bfd775a5115b3481cdfc299e88054a54  libstdc++-v3/testsuite/27_io/basic_istream/extractors_other/wchar_t/exceptions_null.cc
! c70f02d678bf7cf995e2af834126fbe1  libstdc++-v3/testsuite/27_io/basic_istream/get/char/1.cc
! 2ff77e20ae74af04716afb19818140ef  libstdc++-v3/testsuite/27_io/basic_istream/get/char/2.cc
! f5461ebe34df96d20d44f0a110735e76  libstdc++-v3/testsuite/27_io/basic_istream/get/char/3.cc
! bcbfd8f412f8b909a360c85cb58c89de  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/1.cc
! 969437fc5faac15f762dc51638bbb75a  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/2.cc
! 5bef118eecfbc1146f104783a9c024bd  libstdc++-v3/testsuite/27_io/basic_istream/get/wchar_t/3.cc
! 9431ad552a62c93f0b257396264b6057  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/1.cc
! 51d9616bad45b53c9a1a8b97c2227129  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/2.cc
! d05a4b74a4e3a6f199e12ca183bb7cc3  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/3.cc
! caabc60f370c25582f0cc27317169eaf  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/4.cc
! 0984b73a4d11e9bf1bb77dc85078050f  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/5.cc
! de7abe3133c8d72b86c27a2f6da61d32  libstdc++-v3/testsuite/27_io/basic_istream/getline/char/6.cc
! 32f50b539ed7517556bd1a7c12666013  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/1.cc
! 2f8c8a615bd6412938b3ff13abeeaa2f  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/2.cc
! 0b12d590b579604ac3f109fef7ba572a  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/3.cc
! 6fdbbb551b4232e582b3a618146a604c  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/4.cc
! 89d89f0bf3bb93e590bf7ec14af2a179  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/5.cc
! 41d3011589aa9429529245367a7d2bb7  libstdc++-v3/testsuite/27_io/basic_istream/getline/wchar_t/6.cc
! 5d37cf2e9dc58ead3573791f9d348a28  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/1.cc
! 7b0179ea8916d91a55a775fcb3ed85be  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/2.cc
! 0337c18a824fbdb6cb6a2e54b156cee5  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/3.cc
! 917a1e409d34cff0aeecadd4fc34cf06  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/6360.cc
! b5be02785113897e9b484905cb4e2cd5  libstdc++-v3/testsuite/27_io/basic_istream/ignore/char/7220.cc
! e8c0e50c4fab00e0f3fea0de1fd86791  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/1.cc
! 6341298a6744a0c0196458536b1c98fb  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/2.cc
! 6d24a1d5a9d082d81efb72b7e83e997b  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/3.cc
! d2f39923a68d011cd86e8ac15ffcbced  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/6360.cc
! a691ccdd92298c6bcc99f2e4c0ab2682  libstdc++-v3/testsuite/27_io/basic_istream/ignore/wchar_t/7220.cc
! 84772af43e77af47f19bd8e3b05efca0  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/1.cc
! a3c379c32d4718c55ef9414161cc82ac  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/12296.cc
! f03276f7c04e46561afe7c5a4a46e494  libstdc++-v3/testsuite/27_io/basic_istream/peek/char/6414.cc
! ecf8c53be6cd2f32e30f4dfed57b6e99  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/1.cc
! 899e24a92d29bbb39855441bf18c2474  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/12296.cc
! 1760a84490dc9aa3357b47a9c8475d02  libstdc++-v3/testsuite/27_io/basic_istream/peek/wchar_t/6414.cc
! 0c5cc4b7057ba3d337f812a89e91804a  libstdc++-v3/testsuite/27_io/basic_istream/putback/char/1.cc
! a59d98bbf2a16a9b4b71ba0666ba59b7  libstdc++-v3/testsuite/27_io/basic_istream/putback/wchar_t/1.cc
! 9f9c097d7da305d506899bfc41300c18  libstdc++-v3/testsuite/27_io/basic_istream/read/char/1.cc
! 095b55629954bcd33d4670849d848bf2  libstdc++-v3/testsuite/27_io/basic_istream/read/char/2.cc
! 43d8af1e8c5c9bc0207a26214e0152ae  libstdc++-v3/testsuite/27_io/basic_istream/read/char/3.cc
! 9f8b038b2605fd0593a0882f72920808  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/1.cc
! 7a786aabeb9424769144d10db79c7f3d  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/2.cc
! f031bcea4f7b6dad101108fbac60992d  libstdc++-v3/testsuite/27_io/basic_istream/read/wchar_t/3.cc
! c905649d78cfc01d64952d47f3e6e90b  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-1.cc
! 3a7a78ba7206b134458e96069e5b9bf6  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
! ffc16267e0e3155a890591b1d0398d33  libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/8258.cc
! 4b1566e32fce3a391d3de18f4e753b62  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-1.cc
! dee03404233a0b8a4374aa0dc0b89d6c  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
! 6e757cd0299070f9d1cc5643a78b91bc  libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/8258.cc
! ff08bd59f203044c5ddb9b1b13bfec9e  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/2.cc
! 15a6e46fba65e696edf5e86ff0fc8624  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-1.cc
! b8fad9f0e4bf8460309ef7ed37f5b5bb  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/8348-2.cc
! 85a2332777ebe21cfebc18c42bafa6a0  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/exceptions_badbit_throw.cc
! 88622a494573c43842f6034dfa673340  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/fstream.cc
! 999ce2d93a5669c979c406ee18ee278a  libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
! 6552ddf1c34d08777c141ead1abc0190  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/2.cc
! f3960d07b199cb113cc58c50774dcf2a  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-1.cc
! 5b883cd9d176fa2bf4a22b0681aa4f15  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc
! 319b8e9abf5eb5dc9c68e658fb7961db  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/exceptions_badbit_throw.cc
! 259bd3f0ae6bda32950a2913a1ad2f1f  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc
! 556783c124340b6e39c41d19e7ca4c70  libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
! c8f868a3b8a70f3a491a41011ecd5ee0  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/1.cc
! 3325dad293a5c1f17557bf50d61ce663  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/12297.cc
! 2a9ee6617033957059f5e83cb8ca5836  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/2.cc
! 80c5e3ac2792f7c76103607597332006  libstdc++-v3/testsuite/27_io/basic_istream/sentry/char/3.cc
! be6faebec5e838b67e9cc289ea4e0d81  libstdc++-v3/testsuite/27_io/basic_istream/sentry/pod/1.cc
! ada9e0fec55e8edb42df3796c5d7ce9d  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/1.cc
! 4536e2f559a3e9cd4b8045c3d6432857  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc
! 9aa0dd8382b85ac00a0364da2ec04607  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/2.cc
! eaa25998677cce98c4596b4d91dc957b  libstdc++-v3/testsuite/27_io/basic_istream/sentry/wchar_t/3.cc
! d13ac522b4e56367863c4b00b2f453bc  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
! b1870ff77048be07ca78756733e4b82b  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/2.cc
! 80af2daa2410c74cf1d1515679e27e41  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/8348.cc
! 35e60d76e5e8765ec50c42a86d5a2688  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/exceptions_badbit_throw.cc
! d9eea1fccd185233429e8109fa597383  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/fstream.cc
! 08b4835a6ce016378c90f1aa0fa3f31e  libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
! a8f01478c7311504cd4d05c2daa97090  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
! 3c9ec65fa5fb6be20c99ecb6c552b2de  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/2.cc
! 7ba86878a6e5a6133cf60f077edf40c2  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc
! d6abe233825f1c95ed6b542cf77fda59  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/exceptions_badbit_throw.cc
! 907753c86a4653fb993a600adec9a55d  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc
! 9d6acd0d3ed915414bd716e9470a220b  libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
! ef9cea88f2ef62ae4a7973811b63747e  libstdc++-v3/testsuite/27_io/basic_istream/ws/char/1.cc
! 1573b9f8dee17cd568b427628ddceafd  libstdc++-v3/testsuite/27_io/basic_istream/ws/wchar_t/1.cc
! 7fad230a4b4add2827994b6d547bfd98  libstdc++-v3/testsuite/27_io/basic_istringstream/1.cc
! cb11ee4f6cd8aa31faca5e3b0f8ce7ba  libstdc++-v3/testsuite/27_io/basic_istringstream/2.cc
! 3206068c3a588af5aa66177aecc44fe1  libstdc++-v3/testsuite/27_io/basic_istringstream/3.cc
! d6d89780b54d3851296723ed585a7eea  libstdc++-v3/testsuite/27_io/basic_istringstream/4.cc
! d3057fe6720a6faeec748b0bf9428a71  libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/char/2832.cc
! 709ddb8e42a2b91189cf48f15ea5af62  libstdc++-v3/testsuite/27_io/basic_istringstream/rdbuf/wchar_t/2832.cc
! 11d07d7f240a07c37c7d8adbd05a70c5  libstdc++-v3/testsuite/27_io/basic_istringstream/str/char/1.cc
! 4a3c2253a0df67f8737d0d1d950bfab5  libstdc++-v3/testsuite/27_io/basic_istringstream/str/wchar_t/1.cc
! f7a8c2bd56ac0832571ad0ab1a5421aa  libstdc++-v3/testsuite/27_io/basic_ofstream/1.cc
! 9578a25521f30ceb47c10827b09fb0be  libstdc++-v3/testsuite/27_io/basic_ofstream/2.cc
! 77dec01a8ebe5ec7ca100bede923415c  libstdc++-v3/testsuite/27_io/basic_ofstream/3.cc
! 6e99020493e8618f35580d3f5b151e24  libstdc++-v3/testsuite/27_io/basic_ofstream/4.cc
! ae213d66283c439f992dc09dfaf2618c  libstdc++-v3/testsuite/27_io/basic_ofstream/cons/char/2.cc
! c1c01b0b7928dcec3d6d327d36f25d08  libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
! 6f2f13150960dfb0df674d9030486f8c  libstdc++-v3/testsuite/27_io/basic_ofstream/rdbuf/char/2832.cc
! 57f3f3d1b801db6900a973f4f9db8a76  libstdc++-v3/testsuite/27_io/basic_ostream/1.cc
! baccab339e0064fb95e21a9669fe04c7  libstdc++-v3/testsuite/27_io/basic_ostream/2.cc
! e2c18b99cb0efdcebaa3592e45622a56  libstdc++-v3/testsuite/27_io/basic_ostream/3.cc
! c5262593d1d52349efc63b0e6aaeee19  libstdc++-v3/testsuite/27_io/basic_ostream/4.cc
! b6266129ecffc3b2e132913ba921849d  libstdc++-v3/testsuite/27_io/basic_ostream/cons/char/9827.cc
! f2deccddc6044a8146797623395f6c54  libstdc++-v3/testsuite/27_io/basic_ostream/cons/wchar_t/9827.cc
! 6aed43e59a009fb49e5356d3b7e85269  libstdc++-v3/testsuite/27_io/basic_ostream/endl/char/1.cc
! 1a7675e3050987b46822713d88243da9  libstdc++-v3/testsuite/27_io/basic_ostream/endl/wchar_t/1.cc
! 4862a7b95af3f09d32ae5a15dbdba33e  libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/1.cc
! c4a615715234ed6eeb9a3160de68f364  libstdc++-v3/testsuite/27_io/basic_ostream/ends/char/2.cc
! 7761106801afbf36de8462d3c1b1b5be  libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/1.cc
! 07ea0115f7804bc6b6efb41439017bd0  libstdc++-v3/testsuite/27_io/basic_ostream/ends/wchar_t/2.cc
! 92662506a5f12bb20313c0ba32741f83  libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/char/9561.cc
! ea9def62e23372e6cdba243a7f05e75b  libstdc++-v3/testsuite/27_io/basic_ostream/exceptions/wchar_t/9561.cc
! 42a414887b47ac572b5b0118b914ca9c  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/1.cc
! 39ab34e1d3ea0b322b2bb8edac2f8592  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/2.cc
! d29b82a485da0a1f5e7458192d694a84  libstdc++-v3/testsuite/27_io/basic_ostream/flush/char/exceptions_badbit_throw.cc
! 93f262abf4f0ca36ba32db335aa2af68  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/1.cc
! fcbc8bec60d485c5ca2f1b8ff24879ea  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/2.cc
! 1da3d43a601f61866a6e6f690d370449  libstdc++-v3/testsuite/27_io/basic_ostream/flush/wchar_t/exceptions_badbit_throw.cc
! 28c98173081ea97e8b40a5e9b40e80ce  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc
! 42e8b1288a72487ab399b7877c61999b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc
  3f80a2d8f780661dc531048f81b2ce1e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/23871.cc
! c3423e2f0a96acde0cc99bbc21ee3b14  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/3.cc
! cc616b8bd022bd984e09eef78f0dbb43  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4.cc
! e57d43ae720efd428ca0d83977d8bcd1  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/4402.cc
! 820eba1b560e9c7c7094ff734b2b58cb  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/5.cc
! 694434a957f9eb4f55e43e63798e3d1c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc
  7a998c441fa3ee84dbf83f135da4a66c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/7.cc
! e28c250ea03ef57c65acad2ec1d506e3  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/9555-oa.cc
! 3055726c27d743f34a94102c98cbad30  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_badbit_throw.cc
! 6e1efec9a50fddd5bc9f5edeb7b6fc09  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/exceptions_failbit_throw.cc
! 5947f63c3b1c9418bd8f2bef4ad6bcd0  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/pod/23875.cc
! 0d19116a82fa6071055c6ce26275238b  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc
! 24b449d5169307758341a97404129e05  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc
! b252e83d980a10e3aaafddb34a387df6  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/3.cc
! d285e2b2872963fad16b0ec2696ce0de  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4.cc
! 009aac3f88727676800222e3eba3d627  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
! ee2188eb1cf13d2672ba0e13935b25da  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/5.cc
! 8ae42b4188c10a49732dc390528e10f3  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc
  97a78b44b2ad57cc7a4fa378e50aa45a  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/7.cc
! 98ed7be7675e5106f78a78fcb9a9b035  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/9555-oa.cc
! 945bb7e14245d8b7af13c586f30af2f9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_badbit_throw.cc
! 024940c92e5130ae00176c55de53550f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/exceptions_failbit_throw.cc
! 97bbdc8cce95dc866e13e356808fa9e2  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/1.cc
! 5ce13d87fcfd55d3bea329d7860bed78  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oa.cc
! ce8ab8c2155174567434495ecdc33827  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-ob.cc
! f5654b215303a891b069b67130601b5f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/11095-oc.cc
! 6688c2f3581b4940af0dd8d981c5291f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/2.cc
! 926d27c5ccc5d74d9daff8948e36f857  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/3.cc
! e5445af1ba8663833de3912da014a403  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/4.cc
! 401ddf7bf0ae8f97921a7b2e0ab56a74  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/5.cc
! b7f7725fa042f22a97d386ac0a6642c6  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/6.cc
! d0dabf0cea8188e4cd5f3b4ad31556f8  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/8.cc
! 4a02d49ef3098b28dcdc012e03329abf  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/char/9555-oc.cc
! aa3276df4f289104d7dae538ef187346  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/1.cc
! 37bcb901b365114b6cbbef695db5fd92  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-od.cc
! 534f5c2c6d4f66fd3436a3982388e743  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-oe.cc
! 1698b7244b78ce9e984d8f5c56b2295d  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/11095-of.cc
! e7b66f36bfebe8a39d5cf5c36debc35d  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/2.cc
! 138d1bd95184255d67f5fd537b416850  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/3.cc
! fd8796e926ec78912f81b9572033daf8  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/4.cc
! a3e839957cda057ca5dab0acf2c10d15  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/5.cc
! f9172acf0678cce012f1084e41d7cd14  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/6.cc
! 7967ba9560a8235b4713a976569802d9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc
! 08411f71192ddf4e699d801bcf725c99  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc
! 286d2c4be7a7e90d650381cfce0a6dd2  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_character/wchar_t/9555-oc.cc
! 9db8858803455217f2e7af157e0f5d57  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/1.cc
! 0437cd7193d442de8a0c33a147b9cf13  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/2.cc
! a0932bcffeee66758750ecac2939ab4f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/3.cc
! 813e03f2937b4ef98180de72a17e2ed6  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/4.cc
! bb5f0bc57b8f854061a08567470620ef  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/5.cc
! b2d4175da3a75940242b3ca7867682bf  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9318-out.cc
! 67a5bd3c860a16cf589880e0f8235fb2  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9424-out.cc
! 5d75d04defb5554c4872ce486339042d  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/9555-oo.cc
! a4108e317396eb2b9180e2399441520f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/error_failbit.cc
! ff9fbd56f1d2d68039c0dd76cc767cca  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_badbit_throw.cc
! 99d6f9a30d537bb0a8564e8ee9a591e5  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_failbit_throw.cc
! f80931644febee2f686eca89f9b8c5b0  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/exceptions_null.cc
! b6e77a46fffdcb28399bb3ce1345d88e  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc
! 84da4fea21d42729413c34e37ad661b9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/2.cc
! 3231440d590614b997da03dce34d84cb  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/3.cc
! 9b5a6a423f3cc64b83204169c1b26c05  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/4.cc
! 2ec7bb698b3e2b43602edcc50910b7fb  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/5.cc
! 13b1dce62e9006a67b9536ad2d9d8c65  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9318-out.cc
! afdfc2d5374e6582e48f170c74f0b791  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9424-out.cc
! 99d7431fbdd54a01d2f2babcfd1e53a9  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/9555-oo.cc
! 621992424bfdbc48aebfa2f294e92c9c  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_failbit.cc
! c215067ff74214a817caa77603a10182  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_badbit_throw.cc
! ce42eaabea0472bae863f2709bb2f97f  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_failbit_throw.cc
! 0d69d092cc5cc3b5e7028123ee5568ec  libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/exceptions_null.cc
! 19fa31e8689e25e3abee865b6b36d4ba  libstdc++-v3/testsuite/27_io/basic_ostream/put/char/1.cc
! 14391d883cf4f84732515d134551df99  libstdc++-v3/testsuite/27_io/basic_ostream/put/wchar_t/1.cc
! 7ed545229f33b20d22865c23f058b64f  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-fstream.cc
! b2ef54ff10b94bb69b75c261445d2d85  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/2346-sstream.cc
! 577afdf3ee968ee60b2f8e283b74a0a3  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/char/exceptions_badbit_throw.cc
! c9d51f912291cb5551e496618f2aedb2  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc
! b9e0d3fd488b446a66af1c08274e2edc  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/2346-sstream.cc
! 84a1e95b9e30928a1b00cd9973835060  libstdc++-v3/testsuite/27_io/basic_ostream/seekp/wchar_t/exceptions_badbit_throw.cc
! f6ef231307a2c900176b6177acbacf2b  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/1.cc
! 5adf9bf287cd4472914ef24222afb3f7  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/char/2.cc
! 0691cd56ba484d4812dc3740b1ef1181  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/pod/1.cc
! 0028f08eb0bc5eddfd5bf311a24468fa  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/1.cc
! ff45e37059a25c7c28e88323e5af6af2  libstdc++-v3/testsuite/27_io/basic_ostream/sentry/wchar_t/2.cc
! 9bbc65abd3ee5a5656740d94237ff115  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/1.cc
! 20a4a7b0a679e975bedef209ae0d7dae  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/2.cc
! da8b756748a6cdc91cbbce4c12a4f17a  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/char/exceptions_badbit_throw.cc
! 6dbe56b621c2dc3c9f2ef95baf59aa74  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc
! c477542191cfe97158acc3a9d5efaa65  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/2.cc
! c81053d9e8e32d1c36e845800e3d5e8e  libstdc++-v3/testsuite/27_io/basic_ostream/tellp/wchar_t/exceptions_badbit_throw.cc
! 32c8ca3bead793e08d4b96de6c38456f  libstdc++-v3/testsuite/27_io/basic_ostream/write/char/1.cc
! 942954676fbab776798b94ad70fdb216  libstdc++-v3/testsuite/27_io/basic_ostream/write/wchar_t/1.cc
! b7dd5c5f396a5e2cb9437a4c9daa4b5d  libstdc++-v3/testsuite/27_io/basic_ostringstream/1.cc
! 118f278ac4e0f4aca36294f1d8e42cc8  libstdc++-v3/testsuite/27_io/basic_ostringstream/2.cc
! 927113c808468e4c78de6ba626044621  libstdc++-v3/testsuite/27_io/basic_ostringstream/3.cc
! a7589fe0ca3b47a059e5e6ed98d99b0e  libstdc++-v3/testsuite/27_io/basic_ostringstream/4.cc
! b65b586e937aa306e68ac18775dcb89c  libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/char/3.cc
! 030b192ddd367ba49812de4742f6d0ef  libstdc++-v3/testsuite/27_io/basic_ostringstream/cons/wchar_t/3.cc
! 888b6ce6b46d814002cedb5c6f5c742d  libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/char/2832.cc
! 5d6290bbf02cf76d9ab8ac99a9187195  libstdc++-v3/testsuite/27_io/basic_ostringstream/rdbuf/wchar_t/2832.cc
! b98b28f4f928565bdc9660be58426a84  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/1.cc
! 705f2c4db3c5648e1623233fbbc9cc7e  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/char/2.cc
! 3715c6ae87624cf87ae76537abb9fccf  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc
! 26842119cf489bee7ad5e55f9f4dc488  libstdc++-v3/testsuite/27_io/basic_ostringstream/str/wchar_t/2.cc
! 5568df6f2d1db61817f36be3bfded76b  libstdc++-v3/testsuite/27_io/basic_streambuf/1.cc
! a179521b368670aacdc42118580645cf  libstdc++-v3/testsuite/27_io/basic_streambuf/2.cc
! 17812f455d588fe6a513f0dc1a3a6670  libstdc++-v3/testsuite/27_io/basic_streambuf/3.cc
! 135b0d6c04c4e233ac0be639abf47b0d  libstdc++-v3/testsuite/27_io/basic_streambuf/cons/char/1.cc
! ef6d8567decafc6ddc74815d4390b3e9  libstdc++-v3/testsuite/27_io/basic_streambuf/cons/wchar_t/1.cc
! 26816cd3a9bb0447f4e8f73c8edc301a  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/1.cc
! 0d66e7122d602bf3b8a3030d42f0ae7a  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-1.cc
! c89cd823052781f9edb04a472fe5434a  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc
! 1edfa442e46afdcefbf494b5875df1d3  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/char/9322.cc
! ae81f674d104c3dec1c56df3919294ee  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/1.cc
! 67911d8dbdad3238e0a684f12d98d529  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-1.cc
! 127461951fec03c75ad22b6103f04583  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc
! 5fb7f5ad71cffdb1b5946420fd3df399  libstdc++-v3/testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc
! 126c9663a4e291da1b216ab293c4c0fa  libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/char/1.cc
! 9ad8594a71a19ee292cdb849b8d1cf40  libstdc++-v3/testsuite/27_io/basic_streambuf/in_avail/wchar_t/1.cc
! 6c3c86ef242b123b76542affc24775b9  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/1.cc
! d8d9c45023a49f33da93deb27a0f160f  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/2.cc
! 41ac5016b8160f1280c12696d627fc38  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/char/3599.cc
! e69fc1d483f9a162b6bb052ba87079de  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc
! 729384bfceb4cff10250c9c82faef94c  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/2.cc
! 867e47b77aeb5e285fa831a646599b88  libstdc++-v3/testsuite/27_io/basic_streambuf/overflow/wchar_t/3599.cc
! 5c8231dafad520fa768b19854d54bc07  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/char/1.cc
! 0edf4efbd9d26faad0fec4b3653f0172  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc
! 872299fe3d2df2587cc4db8ba6971ce2  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/char/1.cc
! 1114593d5f142d1623ed9523afe8b3be  libstdc++-v3/testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc
! 844bab3b0936b6adf9c6b2908382290e  libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/char/9538.cc
! 9e8779c831b4ca0116085bb0e5072ef0  libstdc++-v3/testsuite/27_io/basic_streambuf/sputbackc/wchar_t/9538.cc
! f312b59f900c0c0b4209a6acf02d9424  libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/char/1057.cc
! 645ca0bcaa1a78364ac2f5e88c4fbe8f  libstdc++-v3/testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc
! 13fdcaec2d3dae0da0a826546a819ac5  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1.cc
! 7058b732a080938bd1cb10fbe29c8d94  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/char/1057.cc
! d94fa135f0d55e6c481a48588cc78053  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc
! 0f5a9af3351a6cac32a6811ae5eb60be  libstdc++-v3/testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc
! 976ad62c4826f7fcb66aa168b9269d26  libstdc++-v3/testsuite/27_io/basic_streambuf/sync/char/1057.cc
! 1d631c005c73d35e56a315acf7a934ad  libstdc++-v3/testsuite/27_io/basic_streambuf/sync/wchar_t/1057.cc
! e1f8f2b407ed9cd9adda5ec760ba5299  libstdc++-v3/testsuite/27_io/basic_stringbuf/1.cc
! d2e94b8e708525c815625b1850b193e3  libstdc++-v3/testsuite/27_io/basic_stringbuf/2.cc
! 13ab95d35d82139411fb8db3e6721242  libstdc++-v3/testsuite/27_io/basic_stringbuf/3.cc
! ad6fd12fde6d5c18c62a8b02ecef1db7  libstdc++-v3/testsuite/27_io/basic_stringbuf/4.cc
! f70bad5f425957c3de7d2819aca54c90  libstdc++-v3/testsuite/27_io/basic_stringbuf/5.cc
! 63074e8f31f50f8423f9de209c71e833  libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/char/1.cc
! 8067b3f1d78cf4395d14942fcdabc92c  libstdc++-v3/testsuite/27_io/basic_stringbuf/cons/wchar_t/1.cc
! dbf9cd57bb19522dd8d220b19eb65dc4  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/1.cc
! 58b2a645418a6cf892acdccf5d4e75be  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/char/9322.cc
! 01c1d77be508f8ee769b9dd35fa28213  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/1.cc
! 63992ad81d58502d1efb58fc27d65bdb  libstdc++-v3/testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc
! 3204b6a8ad55226634f93c610fa50a11  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/1.cc
! 85e122ea1b99adaf3ff36a68f2277bc9  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/char/21955.cc
! 8d3e71733237676acfc08098ec82b9c3  libstdc++-v3/testsuite/27_io/basic_stringbuf/in_avail/wchar_t/1.cc
! a1756c479a53bc047c2fc3add4c81932  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/1.cc
! 461dcd101e960548efa88b417dde20a2  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/2.cc
! bf695e063e998deca345991c54c64d66  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/3599.cc
! 77849127622d2b2450f1af6ffd369e3d  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/char/9988.cc
! a3419c29e6419a1ce83e002b087c0665  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/1.cc
! 6ee2c01aa1a478568ae65c1dc3effba2  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/2.cc
! 85d7887b25624c599015e0933ee45015  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/3599.cc
! 02d7101934abe8a0fc1e3d3414fb5f53  libstdc++-v3/testsuite/27_io/basic_stringbuf/overflow/wchar_t/9988.cc
! 30c450576f1d2d5fe36301f8fa001e8c  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/1.cc
! 5278f4c24be8d16038bf34c2b8c175ee  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/char/2.cc
! 51a50b15d5eb3630ddb9fdbb8a2f23a0  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/1.cc
! fc6e7bec39e74b26bccd03a9096176e6  libstdc++-v3/testsuite/27_io/basic_stringbuf/pbackfail/wchar_t/2.cc
! c4e58d488cb0b3ec2dc6ad8a446355a7  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc
! 993d60f1290ff40d54324b19543d0722  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/char/9825.cc
! 1eb244a5f490e6c457626518489990ea  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc
! 78fb2db364bf01d322e7f0d59c235945  libstdc++-v3/testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/9825.cc
! e763ff26c6e9543d88a702d18a6d7dec  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/1.cc
! 23678857929cd52aeca2171693196cca  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/10975.cc
! f34cde8146547afb8533d0f2113c2147  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/16956.cc
! 8783233816ea45272aea1a8701323c97  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/char/2.cc
! 882ccdafdee7cc75ff0a0c085ef4c844  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc
! 1665fd18d3937fb2706f3faadf3cf72a  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/10975.cc
! 6425783fd72ca082ba3627f07e2eb16e  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/16956.cc
! dcc5017ca6e18be7cbcc1f845527cd9e  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekoff/wchar_t/2.cc
! 3c4dff49038832b997482e5d89703baf  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/1.cc
! 16f49fc837958a59c155dc04f84bbc7d  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/2.cc
! 78ccf6f250966c2f868690e45dc8bc3d  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/char/3.cc
! 577bc53b1fbd1115ad669f6257d34165  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc
! 971326d15ce00f8df0d986e37f967a61  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/2.cc
! 4047629f1b7c3e636b1f11f94055da61  libstdc++-v3/testsuite/27_io/basic_stringbuf/seekpos/wchar_t/3.cc
! 76c11bdcab60f3d9b62599723f55e8da  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/1.cc
! 14c0e7d41c9904b31f4a26008dde1361  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/2.cc
! 05e1b9f4eaf97164148b5404eabfba23  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/3.cc
! 763b5ba1f521f784e6a2208a008789ce  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/char/4.cc
! 7857e728f7295df5ab1ce530b131529f  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/1.cc
! 552af0ad3f409c7e8d401c3c8192eb17  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/2.cc
! f35e7116f0bff6d2b01141cbe3f938ff  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/3.cc
! 26bc247ff8f540a0909fa18873ec484c  libstdc++-v3/testsuite/27_io/basic_stringbuf/setbuf/wchar_t/4.cc
! 948d559c6dae17dd2e7f9f23a95a5349  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/char/1.cc
! 45aad0ceeb41a2f055c0e8609daa9117  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc
! 39771e9d343db72e51e8cca37a54dda1  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/char/1.cc
! 876862382c8d5facfd4ae53f844d9b9c  libstdc++-v3/testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc
! 3926563c744518889082a3dad90b6324  libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/char/1.cc
! eb9f0dcb50899d8864e5517d6b119536  libstdc++-v3/testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc
! efa15562a3fa322bad537d2a87e44be9  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc
! 7e64e372eadcbf0796efa5c517a71beb  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/char/9425.cc
! cc7af11c541efc6cf0d9816d3182956e  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc
! 63ecae16a50163373d72ba2e35e046f8  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/9425.cc
! 91edfdbea2bbd5377ba78a99efb5a96c  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1.cc
! 99078e172fede14cc387ada5162644c4  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/1057.cc
! 2c283572bfdba8d80a44efde448ed6bb  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/char/9404-1.cc
! 03360ff7467221725799e2f67d2967df  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1.cc
! abe38eefecf0e6d3d019da4b753020be  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc
! 2e6fa5f27c469ce48e2ac1023b152a92  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputc/wchar_t/9404-1.cc
! 5d66ec2f409b79185f363fc916e60505  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1.cc
! 81303bd445f013c0daad82c7eaca36ee  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/1057.cc
! 405a7c0b74ab5d626943766e789d62f0  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/char/9404-2.cc
! c95edb7e185e78c6483fb2b0fd2ef7bf  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1.cc
! 869fc836a7a1d99879a24b6ba77026c9  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc
! 0cf33e031793d2da09dabe33821e3396  libstdc++-v3/testsuite/27_io/basic_stringbuf/sputn/wchar_t/9404-2.cc
! 4c83dd98191ad556f84d80f773b5c6bf  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/1.cc
! a4604bfe1e7fdfe9309c1b4e12ff22d8  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/2.cc
! eacb92859571b21c3fb999f790d7c504  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3.cc
! 805be30c802236cfea4363d15e2f3c74  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/char/3955.cc
! 870d4933a4952cad1a3e5ab8ccc8f7b8  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/1.cc
! ee2f7379b539ecf211f1ca93a5c3b6ee  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/2.cc
! 3850ceaefb25fb590b027c979cf5a265  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3.cc
! bc993a1bdd05ada2c978c0ab9e87cf6c  libstdc++-v3/testsuite/27_io/basic_stringbuf/str/wchar_t/3955.cc
! 1041e23d0ab50cb017d473d4b6297437  libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/char/1.cc
! 6eeeb66e48bc75fd878afba32f2a17d5  libstdc++-v3/testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc
! 4aa1cb654adad6926194e3f7cebf7ce9  libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/char/1057.cc
! 06d5559368f4ef74525e6ed9b2b093af  libstdc++-v3/testsuite/27_io/basic_stringbuf/sync/wchar_t/1057.cc
! 3902b899df00423e507d8c2bd185be26  libstdc++-v3/testsuite/27_io/basic_stringstream/1.cc
! 8e3bfb0b849dd2cccb0fec03393197e0  libstdc++-v3/testsuite/27_io/basic_stringstream/2.cc
! be2790c683b9264f9b5d0fb045b8dbf7  libstdc++-v3/testsuite/27_io/basic_stringstream/3.cc
! 08e18b1be768a5e2aa817642e4b08bc4  libstdc++-v3/testsuite/27_io/basic_stringstream/4.cc
! e2a59d384545b23f8ba2a324d879ca14  libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/char/2832.cc
! 64b033dbc16d64fe9154d185599a9cfc  libstdc++-v3/testsuite/27_io/basic_stringstream/rdbuf/wchar_t/2832.cc
! 1ede8633d8917e8f17bcb4c592fe15da  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/1.cc
! b1c0263c95ed1ac80dadf188f3d13ccc  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/2.cc
! e48eb9a4082a4e8d76da53dc92cb8e79  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/3.cc
! ff5b4d06c6e4a8cb8b8b96e50823b961  libstdc++-v3/testsuite/27_io/basic_stringstream/str/char/4.cc
! 77211ed6b0dc7e51e49489fade8490f2  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/1.cc
! a42ee0452f07684fc9e14844301e7a66  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/2.cc
! 7d75047fda808ae18b0a0975bcf8aab0  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/3.cc
! d769a0c55bcbe018b94141b910162e9f  libstdc++-v3/testsuite/27_io/basic_stringstream/str/wchar_t/4.cc
! e356b0e474e13577f8bd73dbca53c7ee  libstdc++-v3/testsuite/27_io/fpos/1.cc
! 30c87be5947e77b7daf756f122e90866  libstdc++-v3/testsuite/27_io/fpos/11450.cc
! 2bccc1345c1aabcc22623d787c2b5a51  libstdc++-v3/testsuite/27_io/fpos/14252.cc
! 7ff57a2b71462d5051937f87d4f6f252  libstdc++-v3/testsuite/27_io/fpos/14320-1.cc
! 1a0d7d569f13ee80145d85ca45c065ea  libstdc++-v3/testsuite/27_io/fpos/14320-2.cc
! c3787a5c9e60bcdd648080da74dea201  libstdc++-v3/testsuite/27_io/fpos/14320-3.cc
! 12a1eab9a608f7f703c90508ee495211  libstdc++-v3/testsuite/27_io/fpos/14320-4.cc
! 0d9fdc7b60ea99d926efff6a630a7d0f  libstdc++-v3/testsuite/27_io/fpos/14320-5.cc
! 9dffd098c03428f58b47d8b6b184a3c8  libstdc++-v3/testsuite/27_io/fpos/14775.cc
! ddf20b18eb119f174caa5b8cd933a48b  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/1.cc
! 55be6c77a0d681389ba49ec0d6677a6f  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/12065.cc
! 13d8376b65cf991b1af35a00d3a83cdc  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/2.cc
! 02eb85edcd211c2ba7d60016f312dbd8  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/3.cc
! 34da159a4be1f7d01a9334fd3de432ff  libstdc++-v3/testsuite/27_io/fpos/mbstate_t/4_neg.cc
! b9ddbbbff177b1d10c540e941f408fc4  libstdc++-v3/testsuite/27_io/ios_base/callbacks/1.cc
! 78dbb2b3b8c0906bc24a67569c6cb117  libstdc++-v3/testsuite/27_io/ios_base/cons/assign_neg.cc
! fcbbbb58c0d26638ca60e43be9b26106  libstdc++-v3/testsuite/27_io/ios_base/cons/copy_neg.cc
! 6e6c6658184858f72b68ee4ee1cf4752  libstdc++-v3/testsuite/27_io/ios_base/state/1.cc
! d84dc5258bff29b19c74ea7d4bc05bef  libstdc++-v3/testsuite/27_io/ios_base/storage/1.cc
! 12bde5e5efa2f48b7af260597b9f8cce  libstdc++-v3/testsuite/27_io/ios_base/storage/11584.cc
! 43bd030db7aff83837c664807ac5346f  libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc
! 68bd56e61a71c277fb60ac77ad1dfb12  libstdc++-v3/testsuite/27_io/ios_base/storage/3.cc
! c0a83600da50ad2f57c9aeb619e8272e  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/1.cc
! d9bbe1ca2c3f701db83299617a7ca55c  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/16959.cc
! 56effae37f5924003f4ad81417f9ae9d  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/2.cc
! aecb39339121aea4c8ee6b1e132b708a  libstdc++-v3/testsuite/27_io/ios_base/sync_with_stdio/9523.cc
! b4692add843acd6654593946f4f1cb8b  libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc
! 9b2d37c840175fc5cd75cf9a77d72993  libstdc++-v3/testsuite/27_io/ios_base/types/fmtflags/case_label.cc
! 78d9f9cfe481d6b9c6cbb274835f0846  libstdc++-v3/testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc
! c2da803cae04356b7224d84bd3f9ff90  libstdc++-v3/testsuite/27_io/ios_base/types/iostate/case_label.cc
! c6919f6302a5b7d829f4b0b01a524dba  libstdc++-v3/testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc
! db624e42cb11b925ecd7ada8dfb87bbc  libstdc++-v3/testsuite/27_io/ios_base/types/openmode/case_label.cc
! f6e086471265147e043d0ac440e014bc  libstdc++-v3/testsuite/27_io/ios_base/types/seekdir/case_label.cc
! 958b856ab0d8643f4b44b640dec1be26  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/1.cc
! 0caf7d7f83721dd4dd9bcae25ba3c4c8  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/char/2.cc
! f8d8eff03cc99f2d4e938d1da3b91df8  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/1.cc
! f25dd3a1e389dd2551cbb2fca9056840  libstdc++-v3/testsuite/27_io/manipulators/adjustfield/wchar_t/2.cc
! 74456f7f31d65a6752886a3cfd1005b4  libstdc++-v3/testsuite/27_io/manipulators/basefield/char/1.cc
! 3bef4d27053570916e7b497b5ee87123  libstdc++-v3/testsuite/27_io/manipulators/basefield/wchar_t/1.cc
! 0ef8160583c84b55e3410e6705642711  libstdc++-v3/testsuite/27_io/manipulators/standard/char/1.cc
! 311a741db7158005e8871b0a4a059ab1  libstdc++-v3/testsuite/27_io/manipulators/standard/char/2.cc
! 26f0a21bd249ff9ccafe0d6d2606fc29  libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/1.cc
! fc390aeade70c435779824927c39ce8d  libstdc++-v3/testsuite/27_io/manipulators/standard/wchar_t/2.cc
! b5e50b66444274289f812d7d8f291045  libstdc++-v3/testsuite/27_io/objects/char/1.cc
! 0d8cfe0b3502018032c7816bf5625c64  libstdc++-v3/testsuite/27_io/objects/char/10.cc
! 8d6e9f2ad5b80950499808aa46b96fdc  libstdc++-v3/testsuite/27_io/objects/char/12048-1.cc
! b3a8e5a93db0d8a095f34a39a2d784ff  libstdc++-v3/testsuite/27_io/objects/char/12048-2.cc
! 6234c8b082a05fdef092b1425332156f  libstdc++-v3/testsuite/27_io/objects/char/12048-3.cc
! 2506f4fba137444635084d124bbde167  libstdc++-v3/testsuite/27_io/objects/char/12048-4.cc
! 107755eeece23e33745bee6fd89b0429  libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
! 5cb1b80f854a44d1a41bf119db5ba39a  libstdc++-v3/testsuite/27_io/objects/char/2.cc
! 5d94744868f7e0507fccf58e9936850d  libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.cc
  8c1b578bb2722053c950f2cf943baf83  libstdc++-v3/testsuite/27_io/objects/char/2523-1_xin.in
! d2473f05c6540617d293cb699bb2b87b  libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.cc
  daa7a5fffcba8b5ec5ca1a8de7734416  libstdc++-v3/testsuite/27_io/objects/char/2523-2_xin.in
! 6bf967b4a4c95539bd8adf830a512bfc  libstdc++-v3/testsuite/27_io/objects/char/3045.cc
! 192f3a1e5299e02b64b047887f3d52f9  libstdc++-v3/testsuite/27_io/objects/char/3647.cc
! 027aa60a0168ed86e3b760ffa053c032  libstdc++-v3/testsuite/27_io/objects/char/3_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/char/3_xin.in
! 3628dba2d048d8ddad52a2291ce40150  libstdc++-v3/testsuite/27_io/objects/char/4_xin.cc
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/testsuite/27_io/objects/char/4_xin.in
! 2b11c444c814b3591dd5077558347310  libstdc++-v3/testsuite/27_io/objects/char/5.cc
! daf31fb195b932c58cb28b70ab08066d  libstdc++-v3/testsuite/27_io/objects/char/5268.cc
! 09fa53cc95cd06c27780ce02e8b9ff1e  libstdc++-v3/testsuite/27_io/objects/char/5280_xin.cc
  81dc9bdb52d04dc20036dbd8313ed055  libstdc++-v3/testsuite/27_io/objects/char/5280_xin.in
! eb267237b5bf913c932e98c937d9d96d  libstdc++-v3/testsuite/27_io/objects/char/6.cc
! b4ea9630cc825fc00be7741e2e480f98  libstdc++-v3/testsuite/27_io/objects/char/6548_xin.cc
  d8e8fca2dc0f896fd7cb4cb0031ba249  libstdc++-v3/testsuite/27_io/objects/char/6548_xin.in
! b14175ad40bf66cc8aea26f41ce97d89  libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.cc
  069d0b68d99275bb4412e90bd9d5c966  libstdc++-v3/testsuite/27_io/objects/char/6648-1_xin.in
! b4cd199d1620bef89ad373e7e2ac33d4  libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.cc
  6b76e6feddcc145dc3499d8d123d9da7  libstdc++-v3/testsuite/27_io/objects/char/6648-2_xin.in
! c0e35673d48e4df4f2099056de6d8681  libstdc++-v3/testsuite/27_io/objects/char/7.cc
! 8b37fd267ed2835dd6f63663b1c84187  libstdc++-v3/testsuite/27_io/objects/char/7744_xin.cc
  0bee89b07a248e27c83fc3d5951213c1  libstdc++-v3/testsuite/27_io/objects/char/7744_xin.in
! 0d8f5834f31bbf302a33873d9b554917  libstdc++-v3/testsuite/27_io/objects/char/8.cc
! 1f721b35adeae33edd85a6cedb6c5bd5  libstdc++-v3/testsuite/27_io/objects/char/9.cc
! 7b23a00b09b83d2f41e064ab03d336d7  libstdc++-v3/testsuite/27_io/objects/char/9661-1.cc
! e8741a839906eee6a086d4dee629b71d  libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.cc
  33ab658c3d687d1d73a0e92a596f725e  libstdc++-v3/testsuite/27_io/objects/char/9661-2_xin.in
! 4baeda44e953e0445221dfdd1090e949  libstdc++-v3/testsuite/27_io/objects/wchar_t/1.cc
! 61fb5f6393065ce46474809fd1c59614  libstdc++-v3/testsuite/27_io/objects/wchar_t/10.cc
! 146ed13e317b8bebfae14be866fbf34b  libstdc++-v3/testsuite/27_io/objects/wchar_t/11.cc
! c0f01ae71cd0ba48fc263d5bac782924  libstdc++-v3/testsuite/27_io/objects/wchar_t/12.cc
! 77193cf92419d96e9d404132369dfdfd  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-1.cc
! 4999be124754b57b9224bf22407a416f  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-2.cc
! dbe6a30ffea62d47bd3a7af9035e89e4  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-3.cc
! 5660131a9e9a5ffbcfb19a29ba745339  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-4.cc
! 623e12274f943300ef3f232253bb795b  libstdc++-v3/testsuite/27_io/objects/wchar_t/12048-5.cc
! 5a93e207734bc1372e92eac94b21119f  libstdc++-v3/testsuite/27_io/objects/wchar_t/13.cc
! b98c1f6941a06185056bea493bf03886  libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.cc
  d577273ff885c3f84dadb8578bb41399  libstdc++-v3/testsuite/27_io/objects/wchar_t/13582-1_xin.in
! c2a8be370b6a05e4ed7376b177bace05  libstdc++-v3/testsuite/27_io/objects/wchar_t/2.cc
! d8fcd1b17fc4392db0ba2200bdae8269  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.cc
  8c1b578bb2722053c950f2cf943baf83  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-1_xin.in
! b1aa3064d95b478c1ef1e01a53d3156c  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.cc
  daa7a5fffcba8b5ec5ca1a8de7734416  libstdc++-v3/testsuite/27_io/objects/wchar_t/2523-2_xin.in
! 34716c30adfd4d0870cab07fc98679b9  libstdc++-v3/testsuite/27_io/objects/wchar_t/3045.cc
! fb00aa4805fa383a72aa482f8b7145a4  libstdc++-v3/testsuite/27_io/objects/wchar_t/3647.cc
! 8fcabf476758a3e8c9f8fca7d613381c  libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/wchar_t/3_xin.in
! f8e9ab534ab98b75b5d6f136d651df0f  libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.cc
  68b329da9893e34099c7d8ad5cb9c940  libstdc++-v3/testsuite/27_io/objects/wchar_t/4_xin.in
! 5b1aac126ecc3160cb65965b6872eb5d  libstdc++-v3/testsuite/27_io/objects/wchar_t/5.cc
! be65113eaa3c8e064a46bf4cdab678d2  libstdc++-v3/testsuite/27_io/objects/wchar_t/5268.cc
! c38f05957f59192b6426300f2f3168ba  libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.cc
  e7df7cd2ca07f4f1ab415d457a6e1c13  libstdc++-v3/testsuite/27_io/objects/wchar_t/5280_xin.in
! a485eef9564472c5e8d9b149f076f4f4  libstdc++-v3/testsuite/27_io/objects/wchar_t/6.cc
! 0d309c71d74219b590dceb2e08ae0e33  libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.cc
  d8e8fca2dc0f896fd7cb4cb0031ba249  libstdc++-v3/testsuite/27_io/objects/wchar_t/6548_xin.in
! bd9bdb105aa28f6614631e9b6477874c  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.cc
  069d0b68d99275bb4412e90bd9d5c966  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-1_xin.in
! e776b1b868a8c57b2bf7538fe35576bb  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.cc
  6b76e6feddcc145dc3499d8d123d9da7  libstdc++-v3/testsuite/27_io/objects/wchar_t/6648-2_xin.in
! 5a7cefd4f6c0ac1a0b93d9057ad6af9a  libstdc++-v3/testsuite/27_io/objects/wchar_t/7.cc
! 5cd59fe4e64d1ca209629c08e30f0bb3  libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.cc
  0bee89b07a248e27c83fc3d5951213c1  libstdc++-v3/testsuite/27_io/objects/wchar_t/7744_xin.in
! 6b653505531cd90a51f8246703363a4a  libstdc++-v3/testsuite/27_io/objects/wchar_t/8.cc
! d2976792cf7901d8157618d853ead729  libstdc++-v3/testsuite/27_io/objects/wchar_t/9520.cc
! 1d3149cc23baff1802d640a0bd08a283  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-1.cc
! cb88009508bd3725a541c1d27dd7e542  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.cc
  33ab658c3d687d1d73a0e92a596f725e  libstdc++-v3/testsuite/27_io/objects/wchar_t/9661-2_xin.in
! 896c566d6aeded3ae383f0c36239fc6d  libstdc++-v3/testsuite/27_io/objects/wchar_t/9662.cc
! 904eba32b3af962df0073522c7bafcbd  libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.cc
  b715c45a6677f269807dab0bbcf0ee1d  libstdc++-v3/testsuite/27_io/objects/wchar_t/9_xin.in
! 16b9f6db5364e690efdc888499ab47ac  libstdc++-v3/testsuite/27_io/types/1.cc
! 0c7d1086d76212c07e2058b1c9363310  libstdc++-v3/testsuite/27_io/types/2.cc
! 2bf6adb0a7f4b5fbe295d688941410a5  libstdc++-v3/testsuite/27_io/types/3.cc
! f0f0a8edc2f7fbb6313ad8ea849122c5  libstdc++-v3/testsuite/Makefile.am
! 922fbaf31695c539c6539b16af2b7408  libstdc++-v3/testsuite/Makefile.in
! 3f174a312fd59c9450e92090e45cb069  libstdc++-v3/testsuite/backward/11460.cc
! 8a6c9c20eb2873d8b10a827e24e3417c  libstdc++-v3/testsuite/backward/header_deque_h.cc
! 9e9a0edb7ae2fae7ba63ef4f4e2c2722  libstdc++-v3/testsuite/backward/header_hash_map_h.cc
! 0cb3a15aba47afe993a436dafc7e5af9  libstdc++-v3/testsuite/backward/header_hash_set_h.cc
! 406aad6c18655c110ab6167ceddc5457  libstdc++-v3/testsuite/backward/header_hashtable_h.cc
! d9fc1d929823297c4d8a00f1e589f618  libstdc++-v3/testsuite/backward/header_iterator_h.cc
! 2502782badc92614914c7f53f7106625  libstdc++-v3/testsuite/backward/header_rope_h.cc
! bb40967db000888a30b237e6fa279892  libstdc++-v3/testsuite/backward/header_slist_h.cc
! e9470f2b2c6654bdbcd19887ba5e0e01  libstdc++-v3/testsuite/backward/header_tempbuf_h.cc
! dcf1294fb5529b566f6ce16ca194102b  libstdc++-v3/testsuite/backward/strstream_members.cc
! aa65212093c26d7321d074db8adcd60d  libstdc++-v3/testsuite/config/default.exp
  e7df7cd2ca07f4f1ab415d457a6e1c13  libstdc++-v3/testsuite/data/cin_unget-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/filebuf_members-1.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/filebuf_members-1.txt
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/filebuf_virtuals-1.tst
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/filebuf_virtuals-1.txt
  257fe0db99863816a52a38f17ff2b6e0  libstdc++-v3/testsuite/data/filebuf_virtuals-2.tst
  c60cf81cc6840306d8596ba2c247b314  libstdc++-v3/testsuite/data/filebuf_virtuals-3.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ifstream_members-1.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ifstream_members-1.txt
  defd4e72d866ce6c29ce58537281afa2  libstdc++-v3/testsuite/data/ios_base_members_static-1.tst
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/istream_extractor_other-1.tst
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/istream_extractor_other-1.txt
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/istream_extractor_other-2.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/istream_seeks-1.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/istream_seeks-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/istream_seeks-2.tst
*************** c301fea40cf8411c67e670f55107c746  libstd
*** 26351,26358 ****
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ofstream_members-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/ostream_inserter_char-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/ostream_inserter_char-1.txt
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ostream_seeks-1.tst
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekoff-1io.tst
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekoff-1out.tst
--- 29715,29722 ----
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ofstream_members-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/ostream_inserter_char-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/ostream_inserter_char-1.txt
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/ostream_inserter_other-1.tst
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/ostream_inserter_other-2.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/ostream_seeks-1.tst
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekoff-1io.tst
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekoff-1out.tst
*************** b764f52b36be7850b3d1f9862b1dfd53  libstd
*** 26366,26374 ****
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekpos.txt
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/sgetc.txt
  4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/sgetn.txt
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt
! d7b4e91eb785b4eaafb9816f71e4da36  libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/wistream_seeks-1.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/wistream_seeks-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/wistream_seeks-2.tst
--- 29730,29738 ----
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/seekpos.txt
  b764f52b36be7850b3d1f9862b1dfd53  libstdc++-v3/testsuite/data/sgetc.txt
  4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/sgetn.txt
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/wistream_extractor_other-1.tst
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/wistream_extractor_other-1.txt
! 9840cbd0a09202e26b13b0e8b03bc3f6  libstdc++-v3/testsuite/data/wistream_extractor_other-2.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/wistream_seeks-1.tst
  ebca6518833036563116938dafd11410  libstdc++-v3/testsuite/data/wistream_seeks-1.txt
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/wistream_seeks-2.tst
*************** c301fea40cf8411c67e670f55107c746  libstd
*** 26376,26881 ****
  c301fea40cf8411c67e670f55107c746  libstdc++-v3/testsuite/data/wistream_unformatted-1.txt
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/wostream_inserter_char-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/wostream_inserter_char-1.txt
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst
! 4545819a480b93d5f28a6cb5978a59b2  libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/wostream_seeks-1.tst
! 0014510aaabafca8ba676d32d8d755ce  libstdc++-v3/testsuite/demangle/abi_examples/01.cc
! 7a693ad551e6a241dd63f5dc0fbecff1  libstdc++-v3/testsuite/demangle/abi_examples/02.cc
! 77dcc4a8a65a1d885512d9bba720a4f2  libstdc++-v3/testsuite/demangle/abi_examples/03.cc
! 42aa7f77627b384f964751e5dffddff2  libstdc++-v3/testsuite/demangle/abi_examples/04.cc
! 47d363581189d8bdb2a65a1c94ad44a5  libstdc++-v3/testsuite/demangle/abi_examples/05.cc
! 9f6cfe0f56b3806274c6207a6483f113  libstdc++-v3/testsuite/demangle/abi_examples/06.cc
! e4d80dc3cdd81117334e5070d69c3521  libstdc++-v3/testsuite/demangle/abi_examples/07.cc
! f6f4ed58c39b949d2d33beabea51b578  libstdc++-v3/testsuite/demangle/abi_examples/08.cc
! e51d8a71101ddecbcbe352d30e148e4c  libstdc++-v3/testsuite/demangle/abi_examples/09.cc
! 8173ed69e2fde9357102e0f954fec044  libstdc++-v3/testsuite/demangle/abi_examples/10.cc
! e04906d33b86c3af83c8ddecd49ce81f  libstdc++-v3/testsuite/demangle/abi_examples/11.cc
! 07331f1eb2e7e4165ddc36d2fcf48646  libstdc++-v3/testsuite/demangle/abi_examples/12.cc
! 05220e2a6ccbd21dc91cead34a45232b  libstdc++-v3/testsuite/demangle/abi_examples/13.cc
! 290afc0595f16eaaf539ee5d43818643  libstdc++-v3/testsuite/demangle/abi_examples/14.cc
! 749ddfdcd39f8152003e78db5113010d  libstdc++-v3/testsuite/demangle/abi_examples/15.cc
! 4737a70a43c84de48a48836ef261acb4  libstdc++-v3/testsuite/demangle/abi_examples/16.cc
! 8fe23517d8f3d63010c35a100e84e96a  libstdc++-v3/testsuite/demangle/abi_examples/17.cc
! c75027a9f3f4380fa758b3e8c36b029e  libstdc++-v3/testsuite/demangle/abi_examples/18.cc
! db27c49a95fb3ec09951d4f3d7e931cd  libstdc++-v3/testsuite/demangle/abi_examples/19.cc
! 9ed458d904b28bc418ab50a78a05e083  libstdc++-v3/testsuite/demangle/abi_examples/20.cc
! 88786f4433229fa67094551047e204ce  libstdc++-v3/testsuite/demangle/abi_examples/21.cc
! 88786f4433229fa67094551047e204ce  libstdc++-v3/testsuite/demangle/abi_examples/22.cc
! d4da082fe3a5813703472a552ca7feb9  libstdc++-v3/testsuite/demangle/abi_examples/23.cc
! 03752ffa6d85498d66d21582103b3168  libstdc++-v3/testsuite/demangle/abi_examples/24.cc
! 1d2e9bf03468cae9f81b2ed3e31fe867  libstdc++-v3/testsuite/demangle/abi_examples/25.cc
! 7aa8e96d299c8a5276e9a09543ac59e8  libstdc++-v3/testsuite/demangle/abi_examples/26.cc
! 03e9f27a565b8bbe1d63533762d52a4a  libstdc++-v3/testsuite/demangle/abi_text/01.cc
! 29100cebcffaa6c52bbfaf0aad441ef6  libstdc++-v3/testsuite/demangle/abi_text/02.cc
! 0d4f2ffdbf79c18c627314d18bc3f280  libstdc++-v3/testsuite/demangle/abi_text/03.cc
! 17613602382ca24779023100f5655e99  libstdc++-v3/testsuite/demangle/abi_text/04.cc
! b1ebd8cf5f672c2528265d31ccb81d5c  libstdc++-v3/testsuite/demangle/abi_text/05.cc
! f7c28372b6574263fa8e240cdb19e055  libstdc++-v3/testsuite/demangle/abi_text/06.cc
! ccd899b692749f87d339f8d86417fbd7  libstdc++-v3/testsuite/demangle/abi_text/07.cc
! b76ba39d6bb6cd749ec10ae49ca0436e  libstdc++-v3/testsuite/demangle/abi_text/08.cc
! 0229778df8dfa8baba8c2cd645bdf713  libstdc++-v3/testsuite/demangle/abi_text/09.cc
! 605751278def2e0b31780ccf879a0354  libstdc++-v3/testsuite/demangle/abi_text/10.cc
! 7de8cc0f35bf58d7858c5da17a0c0e99  libstdc++-v3/testsuite/demangle/abi_text/11.cc
! fadd85075598c3d6f4735e09215c75dd  libstdc++-v3/testsuite/demangle/abi_text/12.cc
! d051a3abfb01e1761ad0d400bdc7b511  libstdc++-v3/testsuite/demangle/abi_text/13.cc
! 9d7623d392950d7cfda5dca47f10df4c  libstdc++-v3/testsuite/demangle/abi_text/14.cc
! 717d3a54df19f65804c0caa0d54c46d2  libstdc++-v3/testsuite/demangle/regression/3111-1.cc
! 14281a98dcb1547a625a0d16770c2c40  libstdc++-v3/testsuite/demangle/regression/3111-2.cc
! dd68a33d1755f4a223b74404b5756c1c  libstdc++-v3/testsuite/demangle/regression/7986-01.cc
! 6413a4bc24ed3ca442bc7a693c13fcf9  libstdc++-v3/testsuite/demangle/regression/7986-02.cc
! e820c391851fc412e0492ebc5f617ad3  libstdc++-v3/testsuite/demangle/regression/7986-03.cc
! 570a8c765f8d5bb974ee86118af6fd77  libstdc++-v3/testsuite/demangle/regression/7986-04.cc
! 03afd2e23cd78057c429e3fb0462ab91  libstdc++-v3/testsuite/demangle/regression/7986-05.cc
! 9afc3de04b3e0b86cea759a5db340460  libstdc++-v3/testsuite/demangle/regression/7986-06.cc
! eeea5d0835d18c3713d5e204bef1f95b  libstdc++-v3/testsuite/demangle/regression/7986-07.cc
! 6bef28a0e80d959df43a67baa8f14235  libstdc++-v3/testsuite/demangle/regression/7986-08.cc
! 31a5d81aafd44895ea1fc3b1b3cb0d75  libstdc++-v3/testsuite/demangle/regression/7986-09.cc
! 7d3c7a81489db3feb66818bcd5eae336  libstdc++-v3/testsuite/demangle/regression/7986-10.cc
! 0465aff6197bdc0e2f92a618861383d3  libstdc++-v3/testsuite/demangle/regression/7986-11.cc
! 8393f2703fb0ae3eeee5e2934748a8e1  libstdc++-v3/testsuite/demangle/regression/7986-12.cc
! 03b17289d2ccc96d7674f35f292dabfe  libstdc++-v3/testsuite/demangle/regression/7986.cc
! 8a9d56ac6b5b3cffe09596763ce2df8a  libstdc++-v3/testsuite/demangle/regression/8897.cc
! c7000b235b233330c2027e57d25bc5ad  libstdc++-v3/testsuite/demangle/regression/cw-01.cc
! b5970dc2d9be5244ffc58bf38f310760  libstdc++-v3/testsuite/demangle/regression/cw-02.cc
! 13f70a3b47c2426653095797f8faca20  libstdc++-v3/testsuite/demangle/regression/cw-03.cc
! 67f37609c08f57c05d4a3fd60e536ef2  libstdc++-v3/testsuite/demangle/regression/cw-04.cc
! 8d0ea30f27ee71d96d72708496de043a  libstdc++-v3/testsuite/demangle/regression/cw-05.cc
! 97f5d8337df1cfd871d521a43a11482a  libstdc++-v3/testsuite/demangle/regression/cw-06.cc
! 65298191eccce515044958d6859afa32  libstdc++-v3/testsuite/demangle/regression/cw-07.cc
! c91987c105ba7a4ee6cf46712c48e08c  libstdc++-v3/testsuite/demangle/regression/cw-08.cc
! 693a5873a656caed17d7e2642ba28f22  libstdc++-v3/testsuite/demangle/regression/cw-09.cc
! a5d4a4353e11481c0e676de4b173c3d8  libstdc++-v3/testsuite/demangle/regression/cw-10.cc
! 6e10ae128d7d400039122fa3cc7977e5  libstdc++-v3/testsuite/demangle/regression/cw-11.cc
! c7b65a30fbe8fe9e09039974d301cc33  libstdc++-v3/testsuite/demangle/regression/cw-12.cc
! 09a341d3a7223aaed29ff904038daf75  libstdc++-v3/testsuite/demangle/regression/cw-13.cc
! 10899ec8b44b75c903ee84aceae6ced5  libstdc++-v3/testsuite/demangle/regression/cw-14.cc
! 119cbc626aa06e8687550fb45ba10d7a  libstdc++-v3/testsuite/demangle/regression/cw-15.cc
! 01225201934d408496d818d99c6faedd  libstdc++-v3/testsuite/demangle/regression/cw-16.cc
! 5ef470d66334f22d0b8eba41aeb5d1d8  libstdc++-v3/testsuite/demangle/regression/old.cc
! 4f1f12148ec12ca8737b42ced005367a  libstdc++-v3/testsuite/ext/array_allocator/1.cc
! 3a2777a91208b318df9668a39ccdc576  libstdc++-v3/testsuite/ext/array_allocator/2.cc
! 76818cf732b8932071b9ada980f53801  libstdc++-v3/testsuite/ext/array_allocator/3.cc
! 85d1a42ca003268a12f813c68a4808d9  libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
! 8f8fc8dc8bb50b7a873896b695115161  libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
! bfcdb7a8cfcd710d33991c23692f9efd  libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
! 6919fd3519cdb313ae1f0a02a5c0c685  libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
! b4cc5595ed1c3141da754040f6c503f0  libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
! aaf0624b189f05f790e52557ae2164e2  libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
! ec8f6c28f8f72aeffdc6f0f51474b3d9  libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
! ce45c162e856f3605b9c015be0d5a5d7  libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
! a476a1a18146426ade6bc4a2f406b243  libstdc++-v3/testsuite/ext/concept_checks.cc
! 131b260fef4c9084dea8927a073e9885  libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
! edb6f06410a3c27aac377d7ed715e36d  libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
! 5c969b0a188c5210e3a9ced3c6859cfb  libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
! 4c0214bb0812b3cefea22af9fe2f5fbb  libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc
! 2495b75ae122eac6da5bb4b6d024a906  libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
! ea395968fdc83e0d7027f43343bf570d  libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
! e15fb4b4e0304bf06453b8629b264c2c  libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
! 36690cb1e03e2a9cb57a1c91f704bbc4  libstdc++-v3/testsuite/ext/hash_map/1.cc
! 9f57e30a4a5f8c64b41e5f7091b5c140  libstdc++-v3/testsuite/ext/hash_map/14648.cc
  65cb35d5903bd0a45309e7b2b5f269cd  libstdc++-v3/testsuite/ext/hash_map/23528.cc
! 4ec54c4116a176a09c84b6c55a447d20  libstdc++-v3/testsuite/ext/hash_map/instantiate.cc
! 529e521fa08b946e74a2dd26f08c6270  libstdc++-v3/testsuite/ext/hash_set/1.cc
! cf8773d8e58f986a68137643c34710cc  libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc
! b628b972db82d2a79472f11505d8f587  libstdc++-v3/testsuite/ext/hash_set/instantiate.cc
! 1997cb74334e24f26a31a8e9b6c6ccf3  libstdc++-v3/testsuite/ext/headers.cc
! f44b70d28d4f65b42b7207976778ba9b  libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
! aaf5fa2238fd3e0dafafdd492956b4ec  libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
! 1bbfdfca3bb57a3c0b4524012e50bc94  libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
! d1eadc4854f198ceeb3327422dd3233f  libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
! 8f01f67e5cf7d9e4b8fbd067270208f8  libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
! e65c23a094df5ce56e125ed6ebe6cf51  libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
! 5cd819345887fe36928a205fc00120d3  libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc
! 6144dff1545d04233f58fa5886028363  libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc
! e287ed501f2522253a47293f45c34c24  libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
! 8883b461689e7da3d2fe093141b5b2e5  libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
! 2ce55991dda2ce681d0cd1ddbd91b6f8  libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc
! 5deafc9d1d9705eae878de5b14c719e7  libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
! e21eaec512c720adce6db797bab55f95  libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
! 56826f866b0b8fe5c4ff65c616706f68  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc
! a2ab9f1f0822d8965841e6e18b3d5674  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc
! 0d401b2837217150335824a1d8c05a34  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc
! 0cc847fcb8f7681eb6db39ec2aa5528a  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc
! 3b20241060acc98511db70c7e2c6071e  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc
! 5f7b82d546ddfac4d463523c50ff8e82  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc
! afd06349ceaf6ada612cba0b06c83b06  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc
! f487efe77bf22e54a9805321ef185520  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc
! 28f3e3bafc0f7c43a4fe8466b12bb65d  libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
! aebcebff1449f55355a61e3ada9e16dd  libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
! c5bcff2ed064cd3303e3d51545f37997  libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
! e89aba2f90fc9c7cd6718865f971907e  libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
! 1a43f805ca4bad5ea27e8649fe536a9a  libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
! 70d45813f37e5f72c334e720394a1db6  libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
! 4cbc509612568c93efc283a55f6d2f9b  libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
! 52e19fd4ab30271c5a53fb8b2f4e5ef0  libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
! 096184f07a670c593a6d6f91b004da15  libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
! 389112b11e57ed3de19d08b60526a670  libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
! 80aa61dda408c9ae847138df18e7f49b  libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
! e48d52963779a54408ed9f174b0cab99  libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
! c0379afc317c6f168817d8951ea26e28  libstdc++-v3/testsuite/ext/pod_char_traits.cc
! c4ee9a90d83aa20657d0e18464164bfa  libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
! 377968f89983d44808cc5f6e30f68f03  libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
! 8620f663978127211de6d38696dd74a1  libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
! cc2dc2bd721f7ac5ea4da9e351a9c981  libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
! d4f0fa2d3b3559cf650e55b7660a26fd  libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
! 9d5d041fce5d0ed91cc548ba0e086b90  libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc
! 370124555adbcc4235cbe4e97db675e7  libstdc++-v3/testsuite/ext/rope/1.cc
! 41871752363c9576f4ab9c9e6734f052  libstdc++-v3/testsuite/ext/rope/2.cc
! acd7d95c0f1448e509670cdc2ef828cf  libstdc++-v3/testsuite/ext/rope/3.cc
! b99b8f485227e3df386d156e90936622  libstdc++-v3/testsuite/ext/rope/4.cc
! 532c40d56d4091f4a62e3d824a99a147  libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
! 8fb46396ae2297a43f9f2725e9127806  libstdc++-v3/testsuite/ext/slist/instantiate.cc
! 04b0d6314d7a23f83cd9b3a47d561869  libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc
! 1a81f51ba7e6f142a211948ef1e2151d  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
! 314ec420f3eb1bf94933144e167a30f4  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
! 2b7103ac78fd69269b7cfedfb5a60083  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
! 46ace9763d26f5d155cba0ea4c5bc883  libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
! d7c540ee7615b837e96526a3829a4eba  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
! 3f028f496e589d91035910b62d9baa33  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc
! 8936d6067005deb4ad4ea07a740e4879  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc
! 2e46fc31043cc5efbf93c67bded68dca  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc
! 48121b6eb7068751f1080e2440415b92  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc
! 16156e5a6eb049867b9e3903e5c21508  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc
! 1f733e6c0ce2f2bd963d17738f12f326  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc
! c1624a31c5a22a2f2d2b2326d872ea51  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc
! b7e9f0c5e61fe5e7febb33bc6a26726e  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc
! 4655cf62774952e20c243dcc6b3102d3  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc
! c695be2d4ce5918fbf775d027d4417ae  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc
! 6501ac7b56f5bbc2aa97f698143fcc79  libstdc++-v3/testsuite/lib/dg-options.exp
! f2381c0d7dd7a8f636bb6d0da12129f6  libstdc++-v3/testsuite/lib/libstdc++.exp
! 34a4bf3337bbd4d8a88db6062a1e47b0  libstdc++-v3/testsuite/lib/prune.exp
! 81a4e8c9692f4bd9d5c993a84008d25f  libstdc++-v3/testsuite/libstdc++-abi/abi.exp
! 7f6b86d65248e8502929e4668a59f847  libstdc++-v3/testsuite/libstdc++-dg/normal.exp
! d14b67d62632b7171f77551cd123756d  libstdc++-v3/testsuite/performance/20_util/allocator/insert.cc
! 661a496f21509169c33138ce956cbeb1  libstdc++-v3/testsuite/performance/20_util/allocator/insert_insert.cc
! 02cc238b0440889eafe4d9394ac52469  libstdc++-v3/testsuite/performance/20_util/allocator/list_sort_search.cc
! 63cc15ba360c25891e7fea467bf0f7a2  libstdc++-v3/testsuite/performance/20_util/allocator/map_mt_find.cc
! 3480f888e26648243d2304a8e4d563e1  libstdc++-v3/testsuite/performance/20_util/allocator/map_thread.cc
! 5d112a184214ce9c7807571a28e2aa28  libstdc++-v3/testsuite/performance/20_util/allocator/producer_consumer.cc
! f464eaf8c6b42ee26f4596c8bf837c75  libstdc++-v3/testsuite/performance/21_strings/string_append.cc
! b0eab610d813700092348eeb495630e2  libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc
! b978bc9a9504c67dc65b490cd1fe9eac  libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc
! 307cb750d2554ffddad0382c95da49b8  libstdc++-v3/testsuite/performance/21_strings/string_find.cc
! 0618d73975fc1506034ddbea0f932567  libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
! 74e3d88fc61643eabbf5e2ac7b5768cf  libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
! f10b025af8a395645cb1ed793d40829c  libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc
! a7e9f7509d2c062de0c3a17b5fa604f0  libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
! 6cada54bcb81bcbb34477478c3736528  libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
! 5b521111843155661487e3982f0d8035  libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
! ea5c013dafafd2131033fee30718dc44  libstdc++-v3/testsuite/performance/23_containers/container_benchmark.cc
! 9c5c84029b4c475e0a04062d9e603629  libstdc++-v3/testsuite/performance/23_containers/list_create_fill_sort.cc
! f3e2ae77d86f5f45286400f96839ce9e  libstdc++-v3/testsuite/performance/23_containers/map_create_fill.cc
! c1d7381fbfb3f916aa020eda01268edf  libstdc++-v3/testsuite/performance/23_containers/set_create_from_sorted.cc
! 8d7676208faa059bc627c6616a03a889  libstdc++-v3/testsuite/performance/23_containers/set_insert_from_sorted.cc
! 24f6b8c031caea4671c8f402fe08e1ad  libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
! e3d5f5441baf738e28d6855b56aacade  libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
! e5713e65ffc718cdd5f42a56a6798cf2  libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
! 55c2e8c888574a223a15101cab26d82c  libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
! b50281fef91e9cf9168e8d6fbdd10d09  libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
! 7b24899aa1781f4145b95dc984104a60  libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
! 10586639745c28d4b246607afdb08026  libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
! 20f0c92b85a431bcc760f6c5014eeacd  libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
! b298adcd1efdda16c35cbd26824be677  libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
! e059d5fcbdfff0c53f81b41c73642f8a  libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
! a4af9ba571e9d7dfa3dded1a83f52e84  libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
! 955c2e922097c231976861dc3a05170b  libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
! 85f709a9ebacfced21be387523d55301  libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
! 9765bc74692807cde25983fcf59aea57  libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
! 196e27f9c810c99ec3bd696873c1b893  libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
! e44f08a4e0a1f56adf277a0546afde57  libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
! e7d4d308ed6b17a2916dc432a090c64f  libstdc++-v3/testsuite/testsuite_abi.cc
! aae78c4e82520e0947690d226c5e80b5  libstdc++-v3/testsuite/testsuite_abi.h
! 68fde9d3f496a23d9b80f4996959331e  libstdc++-v3/testsuite/testsuite_abi_check.cc
! 7ede0aa64eb177d2405da9559c5131b0  libstdc++-v3/testsuite/testsuite_allocator.cc
! 2e61fef5bdc67767f32e7ffc7e6c7062  libstdc++-v3/testsuite/testsuite_allocator.h
! 7bec139c4527830823f28d686afb4a40  libstdc++-v3/testsuite/testsuite_character.cc
! 3b1140f031199a0482189a0585c2f6b3  libstdc++-v3/testsuite/testsuite_character.h
! 4018d19598044a660769e54ad01826cc  libstdc++-v3/testsuite/testsuite_hooks.cc
! 60a585da151298f9c6a028f8c6856b08  libstdc++-v3/testsuite/testsuite_hooks.h
! 8ad08649a6a468a2e9ac1442226ce141  libstdc++-v3/testsuite/testsuite_io.h
! ec56f5347e360e47d3d4813e02308872  libstdc++-v3/testsuite/testsuite_iterators.h
! 92a151d93cd6fa334e9d8fa890744de4  libstdc++-v3/testsuite/testsuite_performance.h
! 05095dbc99feb2d650b2e6cf263eaa2a  libstdc++-v3/testsuite/testsuite_tr1.h
! bf89500003e55d950096a235e293f7e4  libstdc++-v3/testsuite/thread/18185.cc
! db941737b6e5b80db8a0e2925297b30a  libstdc++-v3/testsuite/thread/pthread1.cc
! b986fc8f65a2c2a3fc422b7e8e2b09ab  libstdc++-v3/testsuite/thread/pthread2.cc
! a41f0e4f1b7028e94ce801632429dbfa  libstdc++-v3/testsuite/thread/pthread3.cc
! 9676358c301bd2593b8cf8fcf3e04ffb  libstdc++-v3/testsuite/thread/pthread4.cc
! 0fb6b940d006df9dd27523b959f6844c  libstdc++-v3/testsuite/thread/pthread5.cc
! 5d532491e077fd152b263ed51f51e251  libstdc++-v3/testsuite/thread/pthread6.cc
! d232b58f46f52d69397704a61cc4fa47  libstdc++-v3/testsuite/thread/pthread7-rope.cc
! 0671ee2e404bbadc042fc9d35644877b  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc
! e15673f95e192255391f05d97fbd9ba5  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc
! 4fef4a512f5f01ab6257fde78431e810  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc
! 742670339d10f5d0fe1b7ce37630a3f8  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc
! 7eea130cebc2c6fa5c918ffc0a35ac0a  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc
! ccc4476cee6102beb0dc755634b16c83  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
! 4b25f5c2b6194d879bf667bd835f7514  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc
! 1d4fd36fe4dd72e4e2010f116c8ce6fe  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc
! 82dffb7a2bb25c1d83f9b7497d5a0aa9  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc
! 56a9f9a5aa77268969cff4c6c09e72af  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
! f98f9d25e1421899243feb788092b264  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc
! 6839e97488d1ba3b82ce9188ae35d2c5  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc
! 6180a12732d793733b6eb53ebcf8914d  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc
! c34cf7e6a0c54f6873ac089d82ac4046  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc
! 6139b2225a9d1137b10b5a21359027b4  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc
! 63b2cfc19ee21994f02687c229bd30e8  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc
! 0e609218c700537a66998184d5091093  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc
! 19314837090352d69be84aef3c8278e6  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc
! 04417460e3512b635da2de7232c34402  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc
! 4d4d0eb6064bb2da548185511d78bf77  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc
! 4d212ceda2522a5833bebeb2649e6592  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc
! c4bb1c8d35dfca3adb85ead6faf4a225  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc
! dd3981feb95dab1766b904ac6686f3a1  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc
! 95eed2ae107a15cf696c1c6b30156267  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc
! da54b57bca43d0ad7aa840d7497dcf9a  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc
! 2a5666abd251c0352146c79649ca30b1  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc
! 69642cebb4e9ebc31a936b7d8ab418c4  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc
! 362ab8cdcfcfbe7c231e2f47ba26fbc3  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc
! 238133d161c4dce9f413dc4e4c9212b7  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc
! 5590b0e159c846652c9efaba813228e1  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc
! dc7cd470fa9eb506d19ff02c507200b2  libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc
! 8f5f4efc6668e91b6f1466b3e2226a71  libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
! 9c66fc7c9e10b1c1a545d4a08f22295c  libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
! 9bf27677dc7766d8d9d3570225bfba23  libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
! 158ded4cf1ad7c4e5f808b7e8cda48b5  libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
! 84f482703eb9b9020c6074a721e483e6  libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
! cf89b7fbc2d255d4bf35930bb0955a40  libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
! 75a5bcdf410902f30425f2e38ba83754  libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
! 08f91b6d1d56a67b2df5cd15278664d2  libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
! 2c2ffa598baa008edaacec499e752b19  libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
! de135b1d8ec693b621cd838214bd92a5  libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
! 140b9b41af48e02a9195f1d522c1ac7b  libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
! f960466f6b87ac7570cbef2312344af1  libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
! c6dd3728baf4121091decbf9550185b8  libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
! 75068613d006a958e7cc68b67a3c62de  libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc
! 0bb1e6bf059dd51fc65af7ccb1953734  libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc
! aeb5621dce87ad6289d5678d0830d592  libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
! 0ace16880429e5b4bae96a2f3d46d8fd  libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
! 62a57ad9febc7a8a189471314afcadc8  libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
! 4611f07e43ea6474207bf94b9995107b  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
! 5e20ba3eab6830555a30140707d49ff2  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
! 2a7b1e7c08bb077798ab2d9e2f69d9a3  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
! 25aa1bf81362d4c8bd7455ec6cab2b8f  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
! 588f2c5184874cf7f434514e7d0f94c8  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
! 7933f9bd7d3b9e8443fb62d6b75d794e  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
! 005857b8562105491de5a0a5fd9ad671  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
! c4df3560722c378a855496060f0699b8  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
! a174539968036f0b54b46d138a092bed  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
! f9a619016bf8fced78c53bca5e40f53f  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
! 74076fe1c0aa4bde85872f6780557e7c  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
! 3372395b1ad010a08aa557ff0f6dbf31  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
! 67f6131e1f5f966e8bf6e0eba5ac96c4  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc
! 2b78d9012aab1e5cb9113539ece421d8  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc
! 0507aa357479e9284373112a37c64622  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
! f3b2796a3219a76267b016f8c7ec31c2  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
! fbbed9cab28448152a1fabe7b321558a  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
! 4284652cb0005926fbbfb62f5a0db406  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
! 9f22ada50b1ec6263032ca51c828caab  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
! ec104da6cfb025942bc945cc3b18c622  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
! aa9826c874a36c0882752093cb0470ee  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
! ecb69da114c5413695ab7e46c3648c48  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
! 7b139f0a6881ae3fa737184748665a0d  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
! f8c24ac7a831dc603fccc192bc734f93  libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
! 2489e3936273aef217768e05286e5c77  libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
! ba4e5c99b89f3ba5c92376098b7e9417  libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
! ab962dedb3f216fbcfb3a0b08c3bf8bc  libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
! f3fc1e45f574a94a0d68e0bd493e1134  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
! f8ad18f0f046688b1f6a0b7145855d4c  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
! 23f75b01cfc35400059c7b4d4da43c76  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
! 2e7bfb22d9f08813b45672d6ce84eda7  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
! 5d7b7df020c316438b6c9e889471b511  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
! 2c37fab3effda7fa1b38488bd29923e2  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
! 2abc07c075e33966ea0901534ba454a4  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
! 7ccabef418e4dc95afe96ecfe9192cd3  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
! 7210b1bbbfa70afbb0b1aef38eb8521b  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
! 4af10896cb5387881d2ee356e048275a  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
! a0db04006cc482840f6ab5ac1e1a4e81  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
! f17b0a3a0941c088dc50a29dcb8f3a0a  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
! fa790a7a1a10f9830afede377f1255fa  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
! 4f89884f578c62dc30d4b905b8edf09a  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
! 4a61304d9d2f10f1c56bc60d75f7c316  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
! 28ba8260b46c823f0c761ab3413d1129  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
! b500aa976671e80691ba8a585d1af3fe  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
! ae08ac5f710f9389325d2d7f74291dd3  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
! e86db9501d534f13492cf0753ed3260e  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
! cc7fb1494854ed2d9f3af29b07e3457c  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
! 462c70125d80de8bc111181fcaaf1420  libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
! 367b613f86b834ebf678bdf8e983d441  libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
! 99f54fe91e2301683de8d6d2d7bee489  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
! 82f3cc30c303cafaa51ab60ca9f5ffdb  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
! 9152cff307d0daf40fe968340e581dd3  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
! 65a6f11870d6e800e294d3b47a1c5cd1  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
! e5f3332e9ef53d7ef613ef683111778a  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
! 2e977c316cd690bb143224d9f2ba9fcc  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
! f9420f964c31db5937bb6204cdfca49c  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
! f91c05c40061db9ddf5756721103e87e  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
! 726db0be9e0480bb96e3bf908991f353  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
! aa8f457b8fa0ac55aa72a722d3e95f6d  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
! 63a9335467d4f721120e0d3059efa1de  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
! f968d6a0865e65575e8787fe06b6cd1d  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
! 3f9418a1d6fd09c57cfd25ddc005c756  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
! a582f7b2c1b563e90a8963de68a43ae1  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
! 3ce8a41e31f911c8776a7bdeb287f1cc  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
! af31550fc3364d1a76d383f3b4965ee7  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
! e08435c61fb1b1424686423257007efc  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
! 80ef0bf1aec8287b56ce029c161a8204  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
! 6c57381124f9b8fabb66380f0cc9721a  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
! 759b9eaa96d570ce2b0cc1bd47974aed  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
! d9dd9cddabd22b6603edc199658b2793  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
! 83a8e4f0854817da73e2a89feb45d159  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
! 93eb9c97f39edf389d127d38e1016516  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
! 0dc2e5ba81b45c3302b8645fbacfebb8  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
! 0eec15884e1304607644b30138a182d0  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
! c8abe94bb9d51f9b2a7fadcb744b7749  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
! e8b3c27990d42d60cb8e075a9ca0d44c  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
! d0b697528e4d5c6a53d094fed76caa33  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
! e35850c0c8d3199d27ea632939bd4901  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
! f1cbc7ee2468571e2511e92f3da24ccf  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
! 80181e7235650ab2468b40b1746cc9a3  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
! b9bf8f515bde36a9571430d4196b113c  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
! a3c53019bf08157da31f67824fef4142  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
! db7054630c79daf3f2f483c62ce3122b  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
! 4a5b0b57a3b0d244e14a926ef20ce18e  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
! 5964288efc4b29fd804f68036062a281  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
! 29c226866149e4a5f85d80c6bb0b8467  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
! 3cf398f9812f4f98e576f5ad39c951ed  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
! 99fff8e81a3bcab633bf71ce3017530f  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
! 4a305ea0ac89d94add1c249b010747d2  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
! 063942abdf40e47fcbf26e8d52a159f3  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
! 5363ece28b255961a88b794ac461da89  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
! fc6258ce43a67f908df22c510840669e  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
! 88a2f319ebffd8b4559fcb2d377a0da6  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc
! 88a2f319ebffd8b4559fcb2d377a0da6  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
! f12b16916d1f510d0e8a741977f30228  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc
! 8164cdd00ba314779517c61be817865c  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc
! d0e41c655c56d171eccf7427f14899d8  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc
! 693ebe9b168b738ced820c8cd0e05b55  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc
! ce205e18cb141d4749bb50b84a183eca  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc
! 5877e59b100f2e15971f5072dfc1519c  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc
! 39fec6d91683cb8f4bce8b3dafe3140a  libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
! 169f416a9efdd6467f044ae6e713e7f7  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
  953cc8f09dbe7409c84c7c8886d48bfc  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc
  509bf5b3419cb229a38f3f7f097bd59f  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc
  9d92d8ccd31bfc203cbd456e938c13e7  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc
! bb3a1a76687314e3c980a3bc74db7034  libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc
! 65ad0c3e1d03907375274bf46ce05e01  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
! 780d476d943d240eee84db779d5d8071  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc
! ab99162834b031cff81822b7632775c5  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
! 0220af3cb11a5c4188dfbabd3b0465dd  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
  a7bfa3a58d76da29c9632dcfcb98cc72  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc
  cf3374db6cc3e991cdbc8f780d1e1a68  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc
  ace1960397da810b6e3d910b33914ab6  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc
! 0d4e2c70eeca99b3b05fe2be0620bf53  libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc
! 337b2f84b527f7efd60bccd2fc6a874a  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
! 1a14573465eb9aa57824a39f1e04b2a9  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc
! e9d167425ec2a216e3977bce5990f96b  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
! e794b1a1240c9d62849c81ac0018b66a  libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc
! 26fe214abe53e4b12734dd9325c34f52  libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc
! 7eec7f5ee1e3deb1e62da53965236ce8  libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc
! 3f07c39f0c6070d0b5dfa3d39c55988b  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
! 105843bbdef2eda520cad72ea0a81301  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
! dc9c95244bbad7b5b3b436ad6adee8bd  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc
! 9ae6f6804ad38dad63523c67bcc69804  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc
! 867fcb04b8c94c0ec303f907d3281cd0  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc
! 2913493aca89a650f7bb249a8c6aa850  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc
! 413fc0d581c90a522c619a2c82fe9bc3  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc
  03dc19165bbe22a54b42e8512f9a5c6b  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc
! 72816fc27824c6261d370e0754b954b6  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc
! fb112cebcdc1094fb99317333aea4087  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc
! a795a4b874466b88a5aa1c6afecade6c  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc
! 07d02d50f41419a77aadb169ca90ebc4  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc
! aa060818a639f8cc3015114f2230c0e9  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc
! d2e367a38724f0835331656b785835ba  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
! 89d24888c975b735ceee6d5922b2f42f  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc
! 0762675c59c2aec12ec466cb881df800  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
! 9d4302f26b4282b07dcd1e8cc1981eda  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc
! b6566a4c577e54892e7e0d6009ad0dcb  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
! dd3c974adeca696d80e6cc408f77e1ea  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
! 78848b0d7099a09f724326dda03ced77  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
! 30725a04a0e8746ee4445469ec30b7b6  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
! 55f33fb353bcf53908ce06b19e7c6d8a  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
! 152d647cd0255efebcc2de1f0d6ae4af  libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
! 5b0ffbad7e882e2169ca99689f1289de  libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
! abb40078801fc0b420d1b5b070ee34f7  libtool.m4
! 3478a7d8a17205de4dc4038427af3b02  ltcf-c.sh
! d5bb5bbe6247f6136d6b0f7d14e8a365  ltcf-cxx.sh
! ec2741ed09351388fcf2b57e2296f6ae  ltcf-gcj.sh
! 6085a0302010f141615432882978c51b  ltconfig
! e3b5a6caf6e07e0b7be8cf89ebfb90cc  ltmain.sh
! 05d3026e5dbc19923dbe542bd1eb9ab4  maintainer-scripts/ChangeLog
! 31816563a48006f019a0dcc6f4175d16  maintainer-scripts/README
! 1f7fb0775adeac040c7473672f42e96b  maintainer-scripts/crontab
  ef4b5d39023785696cb4b2cf6822bdc6  maintainer-scripts/doc_exclude
! 7af828e6a27a49424037401444a9027f  maintainer-scripts/gcc_release
  5a590c51b17d10747f3ce2694caf0ff2  maintainer-scripts/maintainer-addresses
! a3ec509ec604f41e60bf2e95a019672c  maintainer-scripts/update_version
! 8acb5a3f1b6e48b54be6b27cca1ef0b8  maintainer-scripts/update_web_docs
  898da0420f60478a6a6081da2a4b4c80  maintainer-scripts/update_web_docs_libstdcxx
! 7b96d9939a11fd753d6876b858ac1c3b  maintainer-scripts/update_web_docs_old
! fd5dd60aa8cefab9462677280ea74a61  missing
  fbe2467afef81c41c166173adeb0ee20  mkdep
! cfbd1f0cc32bb4f6feb804354401e61a  mkinstalldirs
! c71ddf72c059891ca0bd1727f5aa0de1  move-if-change
! e8b74bd777dcff9aa7eaff1cff0208f7  symlink-tree
! 7588c5103af27cc93537977f059f52dc  ylwrap
! ac81461263c340d1f6c7ed86a63b06de  zlib/.cvsignore
! bb3faacdb9870d17f3d943ffd3c5ec2b  zlib/ChangeLog
! 05f3e99cc2bcd262dba1850a4068b074  zlib/ChangeLog.gcj
! 61fe02005a355bbf57d334aa849c1841  zlib/FAQ
! 79d2fd35dc9f76486c221139c83d3e45  zlib/INDEX
  862b025c21bb5196a095e67906faaf90  zlib/Makefile.am
! dcae41d8f611113af73cc0dcad7cae14  zlib/Makefile.in
! 43f94d74339a76dfc2684d45f286092c  zlib/README
  004a8c34eba1b805f836a09dd4759f34  zlib/acinclude.m4
! a403843e84cbc5899dab7dfeb2bd969f  zlib/aclocal.m4
! e80d6b0ef3bb11e6817c5122a490b5e2  zlib/adler32.c
  20f77f458f4939b33398c7f344c8c8e6  zlib/algorithm.txt
  33f38274c7dccea11499945914ff4b96  zlib/amiga/Makefile.pup
! 766c1859ab1eeb225c847fe6acbc71a9  zlib/amiga/Makefile.sas
  f7ebf8d1bc1a0f11f070a20a5c01da96  zlib/as400/bndsrc
! 3628684ad31e3af41fd589f1550a06df  zlib/as400/compile.clp
! 412296d33484adae3fb23cdfc5dd5336  zlib/as400/readme.txt
! 937055a92cd940147eb07dc147525765  zlib/as400/zlib.inc
! ce1f4a34e24939f1a31d486e448574a2  zlib/compress.c
! 06eaadfc09d2865de5332da75ddf2bd5  zlib/configure
  0582263edc64a7c34d462117448c9ffb  zlib/configure.ac
! f2da47ac3c4da7befca1244ab818d202  zlib/contrib/README.contrib
! 8ff0978dce732de244fe18b2affac26a  zlib/contrib/ada/mtest.adb
! ec03b3754596010c2287bab7b790b421  zlib/contrib/ada/read.adb
! 634c6e83e5fcd295e1a9a58c2e04fe47  zlib/contrib/ada/readme.txt
  8197c8e51a900ed2a1e98d9c1455dba0  zlib/contrib/ada/test.adb
! 81b9c71ba668e28df236aaa18842ed59  zlib/contrib/ada/zlib-streams.adb
! 4eb00c572e9ddae8a602344db9b65f0e  zlib/contrib/ada/zlib-streams.ads
! 1f9266a30d5fead86071bac961448e1b  zlib/contrib/ada/zlib-thin.adb
! 30d7515959b53c2dd5b044a9469d0cc3  zlib/contrib/ada/zlib-thin.ads
! fd96ef834b05ad92e00ed382b91d586d  zlib/contrib/ada/zlib.adb
! d54d9ce242eaaa7f01caa0558db7bf6f  zlib/contrib/ada/zlib.ads
! 0d7fa68ee7af61a3ee3a7372068c575b  zlib/contrib/ada/zlib.gpr
  b0cb77005e7a1be0d723626a8dc2a81d  zlib/contrib/asm586/README.586
! a132faa3fcddfd2f03d30f792eb587f0  zlib/contrib/asm586/match.S
  b892e5050fcd1e4f35f4bdd3c052baea  zlib/contrib/asm686/README.686
! 333cc17c9afd47fcfa3edb9229f6161d  zlib/contrib/asm686/match.S
  5cd923d6c5e717cdc43180aaa2eeed18  zlib/contrib/blast/Makefile
  b93c34189a9302e6f43c53c7d0277637  zlib/contrib/blast/README
  0bd31a47d90cfaa14a527cb32c7293ea  zlib/contrib/blast/blast.c
  9678605932ee6c765735b1b799c66e56  zlib/contrib/blast/blast.h
  f8dd3560a13a68bd15f5ca5a53c94ce9  zlib/contrib/blast/test.pk
  1201a93782f0542d6fbf5134c1a5a4c6  zlib/contrib/blast/test.txt
! 1f871b1b3083fd510fa0df64d30d377f  zlib/contrib/delphi/ZLib.pas
  b02c46423595bd6358de3b7c5a148a88  zlib/contrib/delphi/ZLibConst.pas
  e43e458c50d36075813a1533d05a0bdc  zlib/contrib/delphi/readme.txt
  c148b8d9735dae8041cac72d1b119590  zlib/contrib/delphi/zlibd32.mak
! 3f7722a22ac2756368042371135b75e0  zlib/contrib/gzappend/gzappend.c
  84ff1d06483d3da2af928cddcab88a1b  zlib/contrib/infback9/README
! 3b37bb6ceecd40c24ab92cdea9a79a0d  zlib/contrib/infback9/infback9.c
! bddf171f369cba08a4846b225c163164  zlib/contrib/infback9/infback9.h
  1558f49aeca6376b7aa331add59e0e06  zlib/contrib/infback9/inffix9.h
  8a4de1bca6c4182d025ea55062d125d9  zlib/contrib/infback9/inflate9.h
! 9a7e219eba925ffd7a939835b548ad25  zlib/contrib/infback9/inftree9.c
! 7921ae75c3af5d168887872373d804d4  zlib/contrib/infback9/inftree9.h
! cdc1426e7077a4703ab9fb83f7650084  zlib/contrib/inflate86/inffas86.c
! 93eb4cdb4ebeabbd5d74016d3c9c87c3  zlib/contrib/inflate86/inffast.S
  a20e40dae1e8b28ef2ec9ed98fdc8a03  zlib/contrib/iostream/test.cpp
  a73c28679044fdf0a8057c5193db8da0  zlib/contrib/iostream/zfstream.cpp
  93f90ecc4d5299d820c3da08f7c7e7d2  zlib/contrib/iostream/zfstream.h
--- 29740,30328 ----
  c301fea40cf8411c67e670f55107c746  libstdc++-v3/testsuite/data/wistream_unformatted-1.txt
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/wostream_inserter_char-1.tst
  8d8081da9135510f03511651e8401c59  libstdc++-v3/testsuite/data/wostream_inserter_char-1.txt
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/wostream_inserter_other-1.tst
! e44a73a6debfaf1d24105f3a4c82815c  libstdc++-v3/testsuite/data/wostream_inserter_other-2.tst
  d41d8cd98f00b204e9800998ecf8427e  libstdc++-v3/testsuite/data/wostream_seeks-1.tst
! 6baa16ec41f1cd5380fe4b3663a69ad5  libstdc++-v3/testsuite/demangle/abi_examples/01.cc
! aa569b9ea184fbb30f1897944be3ea8b  libstdc++-v3/testsuite/demangle/abi_examples/02.cc
! 0e3326124f178c44f12e31dc73955c41  libstdc++-v3/testsuite/demangle/abi_examples/03.cc
! 0303bba575aee98e7c7b2d915850941d  libstdc++-v3/testsuite/demangle/abi_examples/04.cc
! 1a74a89e7753deadf730bdd313210b8a  libstdc++-v3/testsuite/demangle/abi_examples/05.cc
! 9c989da9b9e3cc97a167080f61e77be1  libstdc++-v3/testsuite/demangle/abi_examples/06.cc
! 4bfab5935daa564444b44c5f7f487d6e  libstdc++-v3/testsuite/demangle/abi_examples/07.cc
! 8fcc0ccda2cda6ad3b930235350ccdf2  libstdc++-v3/testsuite/demangle/abi_examples/08.cc
! ed8be9fe7dcb8574318edbe8c5f8d9a8  libstdc++-v3/testsuite/demangle/abi_examples/09.cc
! ad98c6b6eb6d7e48c2f755db1dad0f14  libstdc++-v3/testsuite/demangle/abi_examples/10.cc
! 24a100ac1e9286487f2280ff76b14b49  libstdc++-v3/testsuite/demangle/abi_examples/11.cc
! 369e3e5dcf9c93c5b92e0964b84dedba  libstdc++-v3/testsuite/demangle/abi_examples/12.cc
! 87d3152c96daab364d4369e429b0d31c  libstdc++-v3/testsuite/demangle/abi_examples/13.cc
! 21875bcb0ee9ab39bf4fa7d0dc9b4345  libstdc++-v3/testsuite/demangle/abi_examples/14.cc
! b30fa2050962269d13c82f0484cd7ba1  libstdc++-v3/testsuite/demangle/abi_examples/15.cc
! 13e97da9557f7bd7f8e87e81b32f8361  libstdc++-v3/testsuite/demangle/abi_examples/16.cc
! 522a6b32c5a7744968532284ea671db3  libstdc++-v3/testsuite/demangle/abi_examples/17.cc
! 612c53e56c97d60b43e560c68105851e  libstdc++-v3/testsuite/demangle/abi_examples/18.cc
! a8711fe1c846b775c602930a0203599b  libstdc++-v3/testsuite/demangle/abi_examples/19.cc
! b7807410fbc5fd5d581933dbabc0c33a  libstdc++-v3/testsuite/demangle/abi_examples/20.cc
! 423fef9765afa2caedafa727d30a688a  libstdc++-v3/testsuite/demangle/abi_examples/21.cc
! 423fef9765afa2caedafa727d30a688a  libstdc++-v3/testsuite/demangle/abi_examples/22.cc
! daff3b83331bc1568a1516df63b0bcb9  libstdc++-v3/testsuite/demangle/abi_examples/23.cc
! b4e723535061aa2d2da5f9d575e8964d  libstdc++-v3/testsuite/demangle/abi_examples/24.cc
! 4e470a370385a80524be709bdb63e5cb  libstdc++-v3/testsuite/demangle/abi_examples/25.cc
! bf1ac131e2809190b32fa8efcfdf0c71  libstdc++-v3/testsuite/demangle/abi_examples/26.cc
! d438270cde39451f990f271d0c72dd8a  libstdc++-v3/testsuite/demangle/abi_text/01.cc
! 55862dd8326d8a38c552656bb18cd44d  libstdc++-v3/testsuite/demangle/abi_text/02.cc
! afdf006644bd88f4acd8cd5e3ff1d118  libstdc++-v3/testsuite/demangle/abi_text/03.cc
! cb64e5f816ab88940859b1cbc8cdc7b2  libstdc++-v3/testsuite/demangle/abi_text/04.cc
! a1ae301a0f1798f6f22a04ab1638af96  libstdc++-v3/testsuite/demangle/abi_text/05.cc
! 77e510f0e7a88b399173f5090efedc1b  libstdc++-v3/testsuite/demangle/abi_text/06.cc
! e02863f32197021bff3d56bb8af91206  libstdc++-v3/testsuite/demangle/abi_text/07.cc
! c6f5c87ea00bc42ece2ce0f7fd5bc7ed  libstdc++-v3/testsuite/demangle/abi_text/08.cc
! 884b839c75b47c2425babf86b6e44efd  libstdc++-v3/testsuite/demangle/abi_text/09.cc
! 365d232278898e112e69d74404ba3047  libstdc++-v3/testsuite/demangle/abi_text/10.cc
! f23b6d01f9055c69c90bbc51fbd340b1  libstdc++-v3/testsuite/demangle/abi_text/11.cc
! 6d513066cb7c0416544cabfe212a190a  libstdc++-v3/testsuite/demangle/abi_text/12.cc
! 87e3f30134de62eb88410c18be9864f1  libstdc++-v3/testsuite/demangle/abi_text/13.cc
! 6875a1a0f4590d882b999a4df673bedc  libstdc++-v3/testsuite/demangle/abi_text/14.cc
! 81dc3f5192ff735a04b1acb4da3383fc  libstdc++-v3/testsuite/demangle/regression/3111-1.cc
! 938fd7b04551289679af9b2c92618534  libstdc++-v3/testsuite/demangle/regression/3111-2.cc
! 9e29b69670a48b8c9a55e7373d34ecd5  libstdc++-v3/testsuite/demangle/regression/7986-01.cc
! 780db37bc7f8264a3591455823fe3f4a  libstdc++-v3/testsuite/demangle/regression/7986-02.cc
! c2105e40bc3442d9089231a501327a2d  libstdc++-v3/testsuite/demangle/regression/7986-03.cc
! 6fa442ab085e38e124e6e1f5459fb8b7  libstdc++-v3/testsuite/demangle/regression/7986-04.cc
! 5e83a29a2bcd574479a9f3baf3ee9ebc  libstdc++-v3/testsuite/demangle/regression/7986-05.cc
! c46895c5becdf6879e6ec9ad2c7439e0  libstdc++-v3/testsuite/demangle/regression/7986-06.cc
! 74883f9df7671056fb6acbd0e34548f8  libstdc++-v3/testsuite/demangle/regression/7986-07.cc
! 9010fc38404d5d849b5a8b7b9e066b96  libstdc++-v3/testsuite/demangle/regression/7986-08.cc
! da4f0c2dc9c3f000089708b48c17717a  libstdc++-v3/testsuite/demangle/regression/7986-09.cc
! 8c0f080eb42d2a34214258fd53c6d0c6  libstdc++-v3/testsuite/demangle/regression/7986-10.cc
! b778153cc1cb75f13c79280ce7cd8a37  libstdc++-v3/testsuite/demangle/regression/7986-11.cc
! 3ccb5be48a45fd0aac63ec023fd03e6c  libstdc++-v3/testsuite/demangle/regression/7986-12.cc
! eaf9017490fc0bb9560e62158d4ef844  libstdc++-v3/testsuite/demangle/regression/7986.cc
! cb9e01a960661535d7b75bb32ca81137  libstdc++-v3/testsuite/demangle/regression/8897.cc
! b5d52adf184b03f5ff2e48492c90251b  libstdc++-v3/testsuite/demangle/regression/cw-01.cc
! 9f811d366942a13aac38516afe76fd64  libstdc++-v3/testsuite/demangle/regression/cw-02.cc
! 5ad8677fdbd1be7a51517905d702cd49  libstdc++-v3/testsuite/demangle/regression/cw-03.cc
! 9e5f6dd5160cd96dc5f2745646d98d8e  libstdc++-v3/testsuite/demangle/regression/cw-04.cc
! 3713413e9eb6ebc546d4ebfc25224721  libstdc++-v3/testsuite/demangle/regression/cw-05.cc
! 2b6e0e6bcd8b765ed99558b6050c828f  libstdc++-v3/testsuite/demangle/regression/cw-06.cc
! e0225346b2644e9cd746b825c6a308dd  libstdc++-v3/testsuite/demangle/regression/cw-07.cc
! 89934df9de88be8b56a4ee6baab49814  libstdc++-v3/testsuite/demangle/regression/cw-08.cc
! c0957176f49396338933bbf249bb4d94  libstdc++-v3/testsuite/demangle/regression/cw-09.cc
! 841cfbbd745aadf2975ca6d1c703c3aa  libstdc++-v3/testsuite/demangle/regression/cw-10.cc
! 24c8904f150bfc6b44f77d3da5ccd2bd  libstdc++-v3/testsuite/demangle/regression/cw-11.cc
! be2b00f632d154e40316e7b36cb4f155  libstdc++-v3/testsuite/demangle/regression/cw-12.cc
! 4839a9b8dd3334c6166071d498c171ae  libstdc++-v3/testsuite/demangle/regression/cw-13.cc
! 2f15b1b3febfd8c84496c8bd76605e27  libstdc++-v3/testsuite/demangle/regression/cw-14.cc
! 04871e130a14d660afcefd31007070b2  libstdc++-v3/testsuite/demangle/regression/cw-15.cc
! b5072843b018a8038294dac46dc636f2  libstdc++-v3/testsuite/demangle/regression/cw-16.cc
! f67ebae2293e8569fc3d9a3cad7230d0  libstdc++-v3/testsuite/demangle/regression/old.cc
! dab1150eceb0fa4b1e9339401f8e6f67  libstdc++-v3/testsuite/ext/array_allocator/1.cc
! a6b72ee5e5b8efaa0b89a092e14d74c6  libstdc++-v3/testsuite/ext/array_allocator/2.cc
! b13696d549eb0a33b42f90be10a32527  libstdc++-v3/testsuite/ext/array_allocator/3.cc
! f9bd9527a4f538e50d9df79abf313910  libstdc++-v3/testsuite/ext/array_allocator/check_allocate_max_size.cc
! d3de8aac2c266ca175565cc0ec4ee5b1  libstdc++-v3/testsuite/ext/array_allocator/check_deallocate_null.cc
! 979be8642c1cd81dcb916ff4be4d7cb3  libstdc++-v3/testsuite/ext/array_allocator/check_delete.cc
! f8aea7d719c401a69df84f9bdaf93536  libstdc++-v3/testsuite/ext/array_allocator/check_new.cc
! d351b23f251d0ff793962301a9c8efcb  libstdc++-v3/testsuite/ext/bitmap_allocator/check_allocate_max_size.cc
! f1d56791dd0ec79bbfe86db21efdd850  libstdc++-v3/testsuite/ext/bitmap_allocator/check_deallocate_null.cc
! 2a68b4c33563eda807c8eab15ddaa4c4  libstdc++-v3/testsuite/ext/bitmap_allocator/check_delete.cc
! 19b913b766722701c156bdcaff9b268a  libstdc++-v3/testsuite/ext/bitmap_allocator/check_new.cc
! 5db14c692c38712cb699c0de3216b26f  libstdc++-v3/testsuite/ext/concept_checks.cc
! d1a0ec16305f0ab42cd78eef9713904a  libstdc++-v3/testsuite/ext/debug_allocator/check_deallocate_null.cc
! a6d05abbd030504b8dabbfd0207ad3b9  libstdc++-v3/testsuite/ext/debug_allocator/check_delete.cc
! 066bfe4db773578bd739c92c6eaaa19f  libstdc++-v3/testsuite/ext/debug_allocator/check_new.cc
! f7255f65a27eec514c8bb01bd0820d61  libstdc++-v3/testsuite/ext/debug_allocator/instantiate.cc
! f12b8cc394fe2995570200f4568e2b54  libstdc++-v3/testsuite/ext/enc_filebuf/char/13189.cc
! 93863df1fd67f1717beb55dd49fa02e2  libstdc++-v3/testsuite/ext/enc_filebuf/char/13598.cc
! 441090f8b708c06fab2985ff9d3d16b8  libstdc++-v3/testsuite/ext/enc_filebuf/wchar_t/13189.cc
! 5b0a611b01cd506908d8a9660163ebe9  libstdc++-v3/testsuite/ext/hash_map/1.cc
! 1c3cc77206377eebd4b2f96ccf048491  libstdc++-v3/testsuite/ext/hash_map/14648.cc
  65cb35d5903bd0a45309e7b2b5f269cd  libstdc++-v3/testsuite/ext/hash_map/23528.cc
! 57c29db016278e84d6ee2dd9c3489101  libstdc++-v3/testsuite/ext/hash_map/instantiate.cc
! a38f0c0d2f74ac54fd6da5969b2e096f  libstdc++-v3/testsuite/ext/hash_set/1.cc
! 51b71af025adabda222bcdb31770855c  libstdc++-v3/testsuite/ext/hash_set/check_construct_destroy.cc
! 678ee9e5de0ac0409cb4216e9015eb87  libstdc++-v3/testsuite/ext/hash_set/instantiate.cc
! e981337d1b1a0c9d998dc448da2fde39  libstdc++-v3/testsuite/ext/headers.cc
! 0e6b3e6825ed928adc88c401f0aef524  libstdc++-v3/testsuite/ext/is_heap/1.cc
! aa4f6f7b46e6c05a7270e8ee499c9b43  libstdc++-v3/testsuite/ext/is_heap/check_type.cc
! 6f66002a50550120b0d94d148b577369  libstdc++-v3/testsuite/ext/malloc_allocator/check_allocate_max_size.cc
! 9aee3866567addb1ab8efa42972622bc  libstdc++-v3/testsuite/ext/malloc_allocator/check_deallocate_null.cc
! 497c64621914a61bdf6995f9d134a363  libstdc++-v3/testsuite/ext/malloc_allocator/check_delete.cc
! 640dd23a9daa46a488981110412a9f44  libstdc++-v3/testsuite/ext/malloc_allocator/check_new.cc
! c78311ac46c99035d2419a37fc8a3c46  libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_global.cc
! d7c6734ee6328dd0f23c570c1c6c3b63  libstdc++-v3/testsuite/ext/malloc_allocator/deallocate_local.cc
! 9538d8776892bb52ef03320247f1ecec  libstdc++-v3/testsuite/ext/malloc_allocator/instantiate.cc
! 2c7fe5873185ee92aedf98db48f39214  libstdc++-v3/testsuite/ext/median.cc
! 22e770599bfed14bc26e102b2220e16a  libstdc++-v3/testsuite/ext/mt_allocator/22309_thread.cc
! 0eaef6f7ce472de85cf6aca083444657  libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_big_per_type.cc
! acfcfde5e220da74d3652de639f2f0aa  libstdc++-v3/testsuite/ext/mt_allocator/check_allocate_max_size.cc
! e7baea69b7585fd6dcebcaebabd3626a  libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null.cc
! abfc3df109c20e2586d2b1c0bf09aacc  libstdc++-v3/testsuite/ext/mt_allocator/check_deallocate_null_thread.cc
! 304bb1c9fc4f65744823d45a6eeaf6db  libstdc++-v3/testsuite/ext/mt_allocator/check_delete.cc
! cf93dc7f1eccbe682f2990d54a01f11c  libstdc++-v3/testsuite/ext/mt_allocator/check_new.cc
! 6fa5d968411dadbf888b369b94f286d2  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-2.cc
! ed26b1e21e95b92048e57194c96995b0  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global-4.cc
! 662d271208a2ff3ef51b2060a2dcc516  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-1.cc
! 575d2ea108b55ad82bede42f0337baa7  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_global_thread-3.cc
! f9d9e434fb2fcf9fae87535b47e3b256  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-2.cc
! 9f0b14198afd59c006e6a1d96584c260  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-4.cc
! b10ef7e78de334531d25171052a69a26  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-6.cc
! bfb77a507b73f3d5b5eb2b67f1d309ec  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local-8.cc
! 150fe26234c35e59d07f797c6ce1dca2  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-1.cc
! 51d2defcf7c675440fc5744b7c9840c2  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-3.cc
! b388473a30b6c6053358c5c4ca806968  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-5.cc
! 203850dbcac07e778c14164e252d8d3a  libstdc++-v3/testsuite/ext/mt_allocator/deallocate_local_thread-7.cc
! 9608e40cd49dfd10a8315be0f570d5f4  libstdc++-v3/testsuite/ext/mt_allocator/instantiate.cc
! f2f26f830254a33c92367497fcd1c308  libstdc++-v3/testsuite/ext/mt_allocator/tune-1.cc
! af3b706b00d84e6406a816cab1af6163  libstdc++-v3/testsuite/ext/mt_allocator/tune-2.cc
! 6a45b7185bc92331ea93e2dbef65b6fc  libstdc++-v3/testsuite/ext/mt_allocator/tune-3.cc
! 50eef438e81aca1694eeb4a504582bbd  libstdc++-v3/testsuite/ext/mt_allocator/tune-4.cc
! eed028192486f8bd52e8a13dd455e4af  libstdc++-v3/testsuite/ext/new_allocator/check_allocate_max_size.cc
! d2d66ef21240281c3ae840d078f63f5b  libstdc++-v3/testsuite/ext/new_allocator/check_deallocate_null.cc
! 196160ad056063cda31e9a3c3216fcdf  libstdc++-v3/testsuite/ext/new_allocator/check_delete.cc
! dee963ffe1eaea4285efcda47f89bc1b  libstdc++-v3/testsuite/ext/new_allocator/check_new.cc
! f2040e4d322cc15ff8bc6c0cc7a51ced  libstdc++-v3/testsuite/ext/new_allocator/deallocate_global.cc
! c41aacb8ee77f042af26094f9bc2fcb4  libstdc++-v3/testsuite/ext/new_allocator/deallocate_local.cc
! dc423bde2bbafce54dba9cd4e8ce40e5  libstdc++-v3/testsuite/ext/new_allocator/instantiate.cc
! a9b4426cfa047ce41de4a88a156eda58  libstdc++-v3/testsuite/ext/pb_assoc/example/basic_map.cc
! f62a26a7264a907fa33919025b83a4f2  libstdc++-v3/testsuite/ext/pb_assoc/example/basic_multimap.cc
! a3aa1e45aa86d9052a1a226d9c34b271  libstdc++-v3/testsuite/ext/pb_assoc/example/basic_set.cc
! 0efb83107c0c6329e69591cf0b664607  libstdc++-v3/testsuite/ext/pb_assoc/example/ds_traits.cc
! 2e157acb3ceaad6eb93605b5288f694d  libstdc++-v3/testsuite/ext/pb_assoc/example/erase_if.cc
! ff28fd6e98d66e81d09bf62f1d6a4f26  libstdc++-v3/testsuite/ext/pb_assoc/example/extract_key.cc
! 92a64027c3a52945e26bb55b9e3604aa  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_find_neg.cc
! 8596981566acbafab891dffcebaa946a  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_illegal_resize.cc
! a52f5251fb87d74bf8829247d9e9536a  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_initial_size.cc
! 07374ef8816810800953211fe7bd7706  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_load_set_change.cc
! 1e12354e4d619ec0d21729cdc4060c68  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_mod.cc
! 3b7b79bc1dbcba5f241389a3546edd5e  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize.cc
! 143ce6abc1f7f931410f57661541a7cb  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_resize_neg.cc
! 6a1babfb077d6b6c876ea11aca27afc5  libstdc++-v3/testsuite/ext/pb_assoc/example/hash_shift_mask.cc
! 1e8fe4fac571c684e70371788da1422e  libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level.cc
! de86ed9525cf73c1dec122263ba51381  libstdc++-v3/testsuite/ext/pb_assoc/example/mapping_level_neg.cc
! 4e3b6c4199afb5e459b474461a138c37  libstdc++-v3/testsuite/ext/pb_assoc/example/ms_traits.cc
! a1bd330a33086d8cd491e68dfa381ee3  libstdc++-v3/testsuite/ext/pb_assoc/example/ranged_hash.cc
! 52aa6a297f919876c0f7bd4aec790bac  libstdc++-v3/testsuite/ext/pb_assoc/example/store_hash.cc
! b244fcfbfe419a10417d2aa76abf0266  libstdc++-v3/testsuite/ext/pb_assoc/example/tree_intervals.cc
! 5d77f167283e3fa2d1961fb93a5d4484  libstdc++-v3/testsuite/ext/pb_assoc/example/tree_join.cc
! 25e8d4c806d8b2296e78957e521625c6  libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics.cc
! 50fbb883919c77c305dd7f998a732584  libstdc++-v3/testsuite/ext/pb_assoc/example/tree_order_statistics_join.cc
! 4581dd2f138a2bbaf01840faa4934b73  libstdc++-v3/testsuite/ext/pb_assoc/example/tree_split.cc
! 6b21fc68b48245e547f0f75001363c97  libstdc++-v3/testsuite/ext/pod_char_traits.cc
! c41f6baf716c507c2e1f69116d9395fe  libstdc++-v3/testsuite/ext/pool_allocator/allocate_chunk.cc
! dbbe17ff8664604abde21eae42e671cf  libstdc++-v3/testsuite/ext/pool_allocator/check_allocate_max_size.cc
! 8f7e22672447e07c81ff4040ade29a80  libstdc++-v3/testsuite/ext/pool_allocator/check_deallocate_null.cc
! 467461ac2ca7450022854b0c2eb727f4  libstdc++-v3/testsuite/ext/pool_allocator/check_delete.cc
! b642690cc0986202bd43cdfba7b122f6  libstdc++-v3/testsuite/ext/pool_allocator/check_new.cc
! 7331c929ac0506bfcbe0bf413ef540d0  libstdc++-v3/testsuite/ext/pool_allocator/instantiate.cc
! 3ba9750185a06e330176d6735a8bcf35  libstdc++-v3/testsuite/ext/rope/1.cc
! 2ab527dd6464eb6e2af0d040f7b061a7  libstdc++-v3/testsuite/ext/rope/2.cc
! 3963cfae912898f426647ff00473ae60  libstdc++-v3/testsuite/ext/rope/3.cc
! ff0804cffe66aba10b5577506f65552f  libstdc++-v3/testsuite/ext/rope/4.cc
! 434e86e504781dde6ce0414b0d0c0468  libstdc++-v3/testsuite/ext/slist/23781.cc
! 281a2c0470bc14103fc88043a39bd454  libstdc++-v3/testsuite/ext/slist/check_construct_destroy.cc
! 42fe5d6e022e21951592d5105e88077a  libstdc++-v3/testsuite/ext/slist/instantiate.cc
! f62edfb8fd8484117cf8ef64b8034519  libstdc++-v3/testsuite/ext/stdio_filebuf/char/1.cc
! d8cff49c306ac1b2aeef0df1ea187d28  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-1.cc
! eb56e0e9db5594e78acd7a43f5709825  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-2.cc
! b7a4bce581d48ed0edad8fd8ce0ca996  libstdc++-v3/testsuite/ext/stdio_filebuf/char/10063-3.cc
! b6f18d977f49144b620c6941e4a6499e  libstdc++-v3/testsuite/ext/stdio_filebuf/char/2.cc
! a3dbd03383777fd882466b0d7aa22f79  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/1.cc
! a7083e5f820113b955d126fa190d660e  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-1.cc
! a396bc9b3be94322ee1113e4f497919c  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-2.cc
! df34aaa0c8a8055b94f7db53e5a7a8d8  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-3.cc
! 65bb67e3c9ccb5590d7c1594f3dc1ca8  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/char/12048-4.cc
! c827a44d16571afec7c457bcd1699347  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc
! ba92301883bfda0def158866c1e49db8  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc
! 8542b54aeb7e7544bbc9601ed9b700a1  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-1.cc
! d1259c7d0737aa87709e2ac50fbf3f50  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-2.cc
! 3708300018349a28d2ffdf34e1ddc4cc  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-3.cc
! ecb8988aee34c764573bce1486595051  libstdc++-v3/testsuite/ext/stdio_sync_filebuf/wchar_t/12948-4.cc
! f601fcad24dabb427165e7dd3c373d86  libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/1.cc
! 82dcc63c1a4d2b2016de4178b7556165  libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/2.cc
! 5368d0eebf5cd8197e1f81157b3716f3  libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/char/1.cc
! 5d49ce823f61353fa2a72864f4e093e4  libstdc++-v3/testsuite/ext/vstring/explicit_instantiation/wchar_t/1.cc
! 7ddbf2c75012b06ed6703032ea0048cd  libstdc++-v3/testsuite/ext/vstring/types/23767.cc
! a93f752da4afaf4a22586fea36a985dd  libstdc++-v3/testsuite/lib/dg-options.exp
! 546e647d74a9aa3b396e1807a24c4102  libstdc++-v3/testsuite/lib/libstdc++.exp
! 8c3e5bd88e2879a8c6afcca41209d50e  libstdc++-v3/testsuite/lib/prune.exp
! 1efbf164bd3d449ca820ab9e7266499e  libstdc++-v3/testsuite/libstdc++-abi/abi.exp
! 258ecb4d206cb422c519584e5fac5c19  libstdc++-v3/testsuite/libstdc++-dg/normal.exp
! 469223d27ef9fcef8c4cd3299d09f398  libstdc++-v3/testsuite/performance/21_strings/string_append.cc
! 0b2bd89754f70c14d56b53a8d6dcf25d  libstdc++-v3/testsuite/performance/21_strings/string_append_2.cc
! f0cd6e3cb76131487b0cbbc689d74e1b  libstdc++-v3/testsuite/performance/21_strings/string_cons_input_iterator.cc
! 7d9f723f73c87db182754cbe6cd72f94  libstdc++-v3/testsuite/performance/21_strings/string_find.cc
! a10aa48ec382b64174f0e7e904345f1b  libstdc++-v3/testsuite/performance/22_locale/is_wchar_t.cc
! 9b7deb87ca1d2580d83d5d1f3478247a  libstdc++-v3/testsuite/performance/22_locale/narrow_widen_char.cc
! 96c4ebaca6c88017940ba8bc5eeaec58  libstdc++-v3/testsuite/performance/22_locale/narrow_widen_wchar_t.cc
! 7fa8e34bbf438ce0c1f61429c512380b  libstdc++-v3/testsuite/performance/22_locale/wchar_t_in.cc
! b743938411c76a32789b47b3f3c96f27  libstdc++-v3/testsuite/performance/22_locale/wchar_t_length.cc
! ffc291affaadedc8b7c186471483e9cb  libstdc++-v3/testsuite/performance/22_locale/wchar_t_out.cc
! 620c1aba6883b0817fd03c47da47c446  libstdc++-v3/testsuite/performance/23_containers/create/map.cc
! f1d0fc37f94a5dee9add8234597a37bf  libstdc++-v3/testsuite/performance/23_containers/create_from_sorted/set.cc
! cf273431a7709e692cda0a195640dc93  libstdc++-v3/testsuite/performance/23_containers/create_sort/list.cc
! d9166ae59297f24e021debd9d6a47324  libstdc++-v3/testsuite/performance/23_containers/find/map.cc
! 072926b37163a469c7954dc87026e846  libstdc++-v3/testsuite/performance/23_containers/index/map.cc
! 603535153afafb4b655010494cd746ee  libstdc++-v3/testsuite/performance/23_containers/insert/associative.cc
! d79ea7bedad2359dcbc86f5b2c38d31e  libstdc++-v3/testsuite/performance/23_containers/insert/sequence.cc
! f601966810a75b264d17e2486c502ca3  libstdc++-v3/testsuite/performance/23_containers/insert_erase/associative.cc
! 6a8d990ffbb059c2ec73bf241177b2d2  libstdc++-v3/testsuite/performance/23_containers/insert_from_sorted/set.cc
! 1483836d166b2c35ee82328dbd8d27b9  libstdc++-v3/testsuite/performance/23_containers/producer_consumer/associative.cc
! 3ac6f6cb0c206b88fb79d1ead0befe63  libstdc++-v3/testsuite/performance/23_containers/producer_consumer/sequence.cc
! fe6257c8109f01bb76b0bd66c9864f8a  libstdc++-v3/testsuite/performance/23_containers/sort_search/list.cc
! 2b371a3051562390d218784f7591158b  libstdc++-v3/testsuite/performance/25_algorithms/search_n.cc
! c9d860018afbd28acafbbb078ee25abc  libstdc++-v3/testsuite/performance/26_numerics/complex_norm.cc
! 761f7373969987e5516729dc51601548  libstdc++-v3/testsuite/performance/27_io/cout_insert_int.cc
! 988b5fe8855f6c8c5379f808bbd9e2be  libstdc++-v3/testsuite/performance/27_io/filebuf_copy.cc
! 2cf8b16a83c58f02d50defb3311c65fb  libstdc++-v3/testsuite/performance/27_io/filebuf_sgetn_unbuf.cc
! e53ccb2cc8a12034c13916299a57c372  libstdc++-v3/testsuite/performance/27_io/filebuf_sputc.cc
! 085ca6b608da1e408c1114063e084981  libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
! 3c54ba9240ef0d195a390fc1ce4e79b6  libstdc++-v3/testsuite/performance/27_io/fmtflags_manipulators.cc
! f48b23a1afa46e109195a3966fa25625  libstdc++-v3/testsuite/performance/27_io/fstream_seek_write.cc
! 620d455f164653a23f88f4ee207437bf  libstdc++-v3/testsuite/performance/27_io/ifstream_extract_chars.cc
! 560ca3b6ae6d1fb6d2fdb345c810d3cc  libstdc++-v3/testsuite/performance/27_io/ifstream_extract_float.cc
! 52c99773a3b3dc49f0a4371149999641  libstdc++-v3/testsuite/performance/27_io/ifstream_extract_int.cc
! 4e877bdb8f4072c534e4bdefa7fc66e4  libstdc++-v3/testsuite/performance/27_io/ifstream_getline-2.cc
! c8174cd420fbccdd7329832b1f563bb0  libstdc++-v3/testsuite/performance/27_io/ifstream_getline.cc
! 4d962619fc78fccceb1d5be99e9f53bf  libstdc++-v3/testsuite/performance/27_io/ofstream_insert_float.cc
! a94b7932754e742f11bbdbdb8643f078  libstdc++-v3/testsuite/performance/27_io/ofstream_insert_int.cc
! 58aff0ee0f9c4c4a087f14853b03fe72  libstdc++-v3/testsuite/performance/27_io/stringbuf_overflow.cc
! b280a5516182e1dbe3868f20f8bbf017  libstdc++-v3/testsuite/testsuite_abi.cc
! 7b1cc038de279f933c9ef7c3b2860c26  libstdc++-v3/testsuite/testsuite_abi.h
! d2c448c847a65ca541aeb64ddc1adba8  libstdc++-v3/testsuite/testsuite_abi_check.cc
! 30448bde9e3c810d7d5b1fe0226eb5d7  libstdc++-v3/testsuite/testsuite_allocator.cc
! daf8db809ddf7ce782aee66e77855eb1  libstdc++-v3/testsuite/testsuite_allocator.h
! dfe1c2d3f3ca23d253f4463a431fd5b3  libstdc++-v3/testsuite/testsuite_character.cc
! 942b8f8c55f613b91a188e5c84efda15  libstdc++-v3/testsuite/testsuite_character.h
! e176610c65e483a8f5fd22506d7a9b60  libstdc++-v3/testsuite/testsuite_common_types.h
! f37ed40642c76a7eef77616af7d78574  libstdc++-v3/testsuite/testsuite_hooks.cc
! 9748f8d1a0ff3fa985d2eac3ad497825  libstdc++-v3/testsuite/testsuite_hooks.h
! 962a3625238760f758091189bf03a89f  libstdc++-v3/testsuite/testsuite_io.h
! 263181a512da378f11457c4688791e7c  libstdc++-v3/testsuite/testsuite_iterators.h
! 4a35cb93f76137fb15c36b462e0177c0  libstdc++-v3/testsuite/testsuite_performance.h
! 0d94f0a82bb1df3a34c47e8990e12100  libstdc++-v3/testsuite/testsuite_shared.cc
! 264ab266716c63f6380543083986c7a0  libstdc++-v3/testsuite/testsuite_tr1.h
! 43705292deed57a408b4b7fee4346551  libstdc++-v3/testsuite/testsuite_visualization.h
! 941950883e694fa5e2e8c8796dc36a59  libstdc++-v3/testsuite/thread/18185.cc
! 5ba317763bc6f8f2adac4af24d27ac57  libstdc++-v3/testsuite/thread/pthread1.cc
! 62a6cb02c6e563ba7ca21e8cac2d1296  libstdc++-v3/testsuite/thread/pthread2.cc
! 92e9829839bd494f3403a897ac4e8d97  libstdc++-v3/testsuite/thread/pthread3.cc
! 5d9d2dcaf021fb57a19febf11252e6b0  libstdc++-v3/testsuite/thread/pthread4.cc
! a8373a62613ba7708632fce9c9280a4c  libstdc++-v3/testsuite/thread/pthread5.cc
! c090164f18dde68df51ba3a2202bb83e  libstdc++-v3/testsuite/thread/pthread6.cc
! 783cb710d4171f28e4c29c3fb03c2484  libstdc++-v3/testsuite/thread/pthread7-rope.cc
! af141f4628cdf6ef2692d1e12155ae4b  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared.cc
! 38c27e3d56579f44588b4faeaa829763  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared2.cc
! 1630040127d0d3eb24a449ade1a13f20  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/not_shared3.cc
! 2935af2437aba992a68529890cfb224d  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/shared.cc
! fc603a3f1589563f440a8828ff288a87  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/enable_shared_from_this/still_shared.cc
! 614bcd08d62aa7f1cbea8c773d9fc4b4  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/assign.cc
! a4e4caf07df3015b94d8c3ae4c2ac315  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr.cc
! 2388970cf461f084eafc951af5bffab4  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_neg.cc
! 58bd0f505a4fd33a9c9132ad49d2c8ef  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/auto_ptr_rvalue_neg.cc
! 1d8452ff2e52ef91375d52932c4654ee  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr.cc
! 12b0fe09929c1c084b0712b3e0d0d099  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/assign/shared_ptr_neg.cc
! badecda3f30d62b74030fe077a78b51e  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/comparison/cmp.cc
! 7d6a1aba7e51374d3953a00e3f085529  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr.cc
! 8afbf4b29571911a2001ee5016bffdec  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/auto_ptr_neg.cc
! d8a7c6a332dac594279d79f1205fca1c  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/copy.cc
! bd5d4660062280f7e415378b63c8e2cc  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/default.cc
! 617205f805de52cdd8a461055cd79739  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/pointer.cc
! 6e580a595ad88d071c4f2494e76c6cf8  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr.cc
! 88cccd2973c333f86055710f853b9cc9  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/cons/weak_ptr_expired.cc
! 5730e36994a96ac7f2ca9e2b45172beb  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/dest/dest.cc
! fb18ced7dce36bde738243716a1af4f1  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/24595.cc
! 874b1b4b734b0e8e2c8220cef77824b8  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/io.cc
! 623ad17ebf1fe3ceecd3441598bf1d23  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/misc/swap.cc
! 0257567d77f7e8ec1ba96a0f5ecd1b19  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/24805.cc
! 4a6ad365d2dc61e390895af6bccb4a32  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset.cc
! 60eec4eb9e63d1e42b29e25f1df36596  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/reset_neg.cc
! da87d611ce9ad3f8a3ff67277c37d181  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap.cc
! 76ab4224482e38490215f045023eff64  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/modifiers/swap_neg.cc
! 416b967cfc09c4012835be04c465fa26  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/bool_conv.cc
! 119d02e6bbd3f117e1dc96b322a26462  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/get.cc
! d8a4988963a6982be43a4ca911cabf3b  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/unique.cc
! 2cb8540f612c012565e1b38374423e50  libstdc++-v3/testsuite/tr1/2_general_utilities/memory/shared_ptr/observers/use_count.cc
! 743b0510a0927f73174c46bc5be9a464  libstdc++-v3/testsuite/tr1/3_function_objects/bind/all_bound.cc
! f004403aa0b4ba3fd11c7b84caa6be7f  libstdc++-v3/testsuite/tr1/3_function_objects/bind/nested.cc
! b74547d6373863cb0712b3492024200f  libstdc++-v3/testsuite/tr1/3_function_objects/bind/placeholders.cc
! c20e284183750df95a3d9a12fd9711cf  libstdc++-v3/testsuite/tr1/3_function_objects/bind/ref.cc
! 6e30da1942039602586366b7ac046b71  libstdc++-v3/testsuite/tr1/3_function_objects/function/1.cc
! 1c48734a9bc517869e414d6a647ef102  libstdc++-v3/testsuite/tr1/3_function_objects/function/2.cc
! 3b906403066123b357ded5eee104e8e7  libstdc++-v3/testsuite/tr1/3_function_objects/function/3.cc
! b792012749039c51867fbcffd4008e13  libstdc++-v3/testsuite/tr1/3_function_objects/function/4.cc
! 6fbedd097012438f7ed8ba1b0db99cf2  libstdc++-v3/testsuite/tr1/3_function_objects/function/5.cc
! d4033d8a4add23d7b5fa9942a9854d55  libstdc++-v3/testsuite/tr1/3_function_objects/function/6.cc
! 07d4db1c72d1936b04fcc0b24f7527f0  libstdc++-v3/testsuite/tr1/3_function_objects/function/7.cc
! e34fb61844145d40eb280362db4ffcba  libstdc++-v3/testsuite/tr1/3_function_objects/function/8.cc
! 2297e73622f3819cce6e8820c0f8b560  libstdc++-v3/testsuite/tr1/3_function_objects/function/9.cc
! 83651046f3b62f55772d1d94ba690afa  libstdc++-v3/testsuite/tr1/3_function_objects/mem_fn.cc
! be9ee0b0d208f11c2f1dfc4b7150da01  libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/invoke.cc
! d4ad50b07aaa3f422784e55343fe20c7  libstdc++-v3/testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc
! f97cd14bdebccdf33705f6bf0157773f  libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc
! b5ca95137aabb7ccce32d245b8eec9b2  libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_all_extents.cc
! b68c1166494f8749f024894ed1272670  libstdc++-v3/testsuite/tr1/4_metaprogramming/array_modifications/remove_extent.cc
! 47843ebd9405b78ae8db0c88920e4270  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/is_arithmetic.cc
! b8c63df9956a7023679dd448f031cf79  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_arithmetic/typedefs.cc
! 64c6092c1ddc5454510ae25c8a6f9f67  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/is_compound.cc
! 930912cec958923df4f2a0d41d0cf256  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_compound/typedefs.cc
! 5ec11ba8bb0c9cbf14bf934111748836  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/is_fundamental.cc
! d878f7a05021eb6ec0dee32848ba7ea9  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_fundamental/typedefs.cc
! bd5922e4dd30cdc1c8ad4c4e5d173508  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/is_member_pointer.cc
! 1f8d2a90653af0febdd729069cd9edef  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_member_pointer/typedefs.cc
! b63521c80c49b1dc15b5a247b8b37e80  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/24808.cc
! 29c12ef676154c42103af7cc5caa178c  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/is_object.cc
! 305eb36479f54f06eeb8f54fe84bba42  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_object/typedefs.cc
! f4b84ed215acfd48ee2381365e31af8c  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/is_scalar.cc
! 65c5cd743646c15913f8d746dd36a19e  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_scalar/typedefs.cc
! 4781399ad1bb906be46e9d56c8af5e97  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/is_union_or_class.cc
! d1a5c9aba826a1b51f903bc99b1dc411  libstdc++-v3/testsuite/tr1/4_metaprogramming/composite_type_traits/is_union_or_class/typedefs.cc
! a7d392d49b1f26b6f10c6451e00a5aad  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_const.cc
! d207a5e250167dce80252a6a4304acde  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_cv.cc
! 3ab6d42ed485b8b8cca7d61b0439bc46  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/add_volatile.cc
! 7378545bcd23207252b41ec1d1307064  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_const.cc
! 1e8a31142a8c5dfa094093665e83190a  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_cv.cc
! 95106eee301116e4720f7a15de2b7801  libstdc++-v3/testsuite/tr1/4_metaprogramming/const_volatile_modifications/remove_volatile.cc
! ab9eaa6991213b609aabaeacfeca8579  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type.cc
! bfe8fe349afafcfdf0254e5cef4c9ee9  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/true_false_type_typedefs.cc
! 0813fb653eff8cb3cfdf5804f6cac767  libstdc++-v3/testsuite/tr1/4_metaprogramming/helper_classes/typedefs.cc
! 6c15f3fc7a25d63ea55f3423aa00d03b  libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/aligned_storage.cc
! a54f2f90156c2e5716325f52fbeadba9  libstdc++-v3/testsuite/tr1/4_metaprogramming/other_transformations/aligned_storage/typedefs.cc
! 1ea0dea45a460ed859685c52049f12b7  libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/add_pointer.cc
! 2992544e9b296cc268292202a2706185  libstdc++-v3/testsuite/tr1/4_metaprogramming/pointer_modifications/remove_pointer.cc
! 18bc192a6ce53d3edb12bec7347757d3  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/is_array.cc
! c65aaa357ffc15b723cb76a9b496040d  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_array/typedefs.cc
! 101faa6a72b06af9478dd3afb82337cb  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/24808.cc
! 4fba2de7e9426664ed2406887d97294f  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/is_enum.cc
! 8521b461477525c27146e66da831b845  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_enum/typedefs.cc
! 5ddc5db25eb23e5f561324ada783e131  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/is_floating_point.cc
! cd660f92460805a0b6c900c9134675c5  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_floating_point/typedefs.cc
! a8b292c762a27099b2b210a03afe7151  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/24808.cc
! 77e1132bd791bc436e0564d1efa57cb9  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/is_function.cc
! cd06f31db5a75ea972eed3d2447e0500  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_function/typedefs.cc
! 0e53ea9631cb205bd265176e74058fde  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/is_integral.cc
! 41966fa3101c34d7e9ef031a48346276  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_integral/typedefs.cc
! 9f7ccad502faeb100cc89c12eada859e  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/is_member_function_pointer.cc
! 7ee272e7debc378d7dd20f27c2dca7c9  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_function_pointer/typedefs.cc
! edcf7a7d620bd86772f0f15a9ae4aa69  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/is_member_object_pointer.cc
! 8496bbd5fa0ab5867a37a5f0b4613815  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_member_object_pointer/typedefs.cc
! c1e419ef4cc0fd5ab68a80c0ccf30046  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/is_pointer.cc
! ca8391b66f141ce24632d0249d5bc304  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_pointer/typedefs.cc
! 72300f7ac86fe4d5e23a0ffddfe5403b  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/is_reference.cc
! 4841a3f23a6e810dc16e46e9659c7de1  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_reference/typedefs.cc
! 4b586b468840727c4d6100bbcb0facf2  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/is_void.cc
! 89b36a951a8b905e00bb124a5068937d  libstdc++-v3/testsuite/tr1/4_metaprogramming/primary_type_categories/is_void/typedefs.cc
! c9cea0c40aa27938e7fd3fdd510b9848  libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/add_reference.cc
! aa1d92e4a73effa37c1abade91ab4216  libstdc++-v3/testsuite/tr1/4_metaprogramming/reference_modifications/remove_reference.cc
! 9f6e28e3f2ccdb55e85c6c7b1f2ada93  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/is_base_of.cc
! 80a4740ffeef55caa3f9f6a8e8ad6e58  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_base_of/typedefs.cc
! a299bfb13f6c729ef361e8cb3fbf6cdd  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/is_convertible.cc
! a097268664e3ae1c1f1d2c6dcad780f9  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_convertible/typedefs.cc
! 268ac45c881f83a35ba4ea54a6f8d788  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/is_same.cc
! 94371155541cb642883e9dfa1b2a0313  libstdc++-v3/testsuite/tr1/4_metaprogramming/relationships_between_types/is_same/typedefs.cc
! b4bde7e888301d7a665abe048d6dfe5d  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/alignment_of.cc
! 9fc8c038e4f52185c69788d57b376b83  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/alignment_of/typedefs.cc
! 2b90d8560baf963129daee1f5c51ddcf  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/extent.cc
! 5c1a727ed370eb9f386ce70c683226a1  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/extent/typedefs.cc
! 7847cfd48ad5d792982c51fe6fc34b8c  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/has_nothrow_assign.cc
! 3fb392b893649c2fee3a8e6d93761f60  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_assign/typedefs.cc
! eb609026770faa55f7f538ff8031b8d9  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/has_nothrow_constructor.cc
! f1aa5cb3f81fb15ab156fb729eb2e892  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_constructor/typedefs.cc
! 26dd1197b307990b6ab8d73c0aa4754f  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/has_nothrow_copy.cc
! 00794152603e3a33523b26e2d9b1cba3  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_nothrow_copy/typedefs.cc
! c321b3433d1e5db014746e11529c91d9  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/has_trivial_assign.cc
! 84dfd9017b24bd787fa08cc88261e08b  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_assign/typedefs.cc
! 73f10a6965bf2a11827a1f0a51ed6d0f  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/has_trivial_constructor.cc
! 355bde2d04845e6acbaa203ef46478fd  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_constructor/typedefs.cc
! 439887df5856e770cc9c2a55613cd9c7  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/has_trivial_copy.cc
! 3c8c31ab91c12815678b4c5d2aedf749  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_copy/typedefs.cc
! 6a44b7d979b262ee8b17268a6d60736e  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/has_trivial_destructor.cc
! 988fe5c7dd71df98d1f349fefedfe2c1  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/has_trivial_destructor/typedefs.cc
! 7aee714c044bfa94d1966562906befdb  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/is_abstract.cc
! 497932027b2d126338bb34edd69d08a9  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_abstract/typedefs.cc
! 1a0d36e124a580e3c89d39f248790139  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/is_const.cc
! 226b2fa71996d0f92e864eb056b3a9c0  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_const/typedefs.cc
! aab19d67959e75abca01cd4e182543fe  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/is_empty.cc
! c30158901b4925624297ec08c21e2894  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_empty/typedefs.cc
! 91d88b5647413cd42b8f95e0c2fe7814  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/is_pod.cc
! 301a2b375b6fc5c1b8e573087b417a8d  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_pod/typedefs.cc
! a58ef64b85b0fa460365218888aaf127  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/24809.cc
! 2866609a019059caa9fd419e40d0bdb8  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/is_polymorphic.cc
! c06964867ade24ecdcd0f343ae902c2f  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_polymorphic/typedefs.cc
! 3783ba1b5687495a5249ef47b7defbd0  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/is_signed.cc
! df8c7671aeed7faf756dc4e7e726feee  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_signed/typedefs.cc
! 48b4751308319eef462585063399ad70  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/is_unsigned.cc
! cef5106e9245ad9789b270130bf6268e  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_unsigned/typedefs.cc
! e6a08183a8504117ba009bdf4ad1a090  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/is_volatile.cc
! fcf78137ae29e0b03c40ed347ed3881e  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/is_volatile/typedefs.cc
! 3d6d151c710ce1db318040d1204f076f  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/rank.cc
! 590e42cc97d1f0aa2dea11c6b3ead439  libstdc++-v3/testsuite/tr1/4_metaprogramming/type_properties/rank/typedefs.cc
! 166eaa35423b5f7dd25cb323ebe167c9  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/empty.cc
! 9a8f91a368460e0561a8dc7abd11027e  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/max_size.cc
! 9a8f91a368460e0561a8dc7abd11027e  libstdc++-v3/testsuite/tr1/6_containers/array/capacity/size.cc
! efefe9db44fa3153ffa6e991872bc519  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/equal.cc
! 9b0bcfc8ff537dbe7fcb908f56c1ea72  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater.cc
! fb78303ac4a970a37eb1003cb4e4e451  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/greater_or_equal.cc
! 1ef9c5bf8568352a423a84b56bfa3d36  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less.cc
! 2bcb96cb056a8b59899bd7b28d892b9f  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/less_or_equal.cc
! 155fb06ea1e7bffd93eb3766544d1724  libstdc++-v3/testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc
! c02be441de39a45ffc88c95cf7c51dc8  libstdc++-v3/testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc
! 61d24b4b5ee6a34e21c502f39c5ae3c7  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc
  953cc8f09dbe7409c84c7c8886d48bfc  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/back.cc
  509bf5b3419cb229a38f3f7f097bd59f  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/data.cc
  9d92d8ccd31bfc203cbd456e938c13e7  libstdc++-v3/testsuite/tr1/6_containers/array/element_access/front.cc
! e96ba6bb2427503e920a4916f07a4324  libstdc++-v3/testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc
! 462b7be9ff5555748d39ce67d89cfde4  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/contiguous.cc
! d9b695615a35c83086d0b1ed73c64e12  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/instantiate.cc
! 197d17a03da6373e9d11307b1ca5676a  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/typedefs.cc
! abff42ee4d81596f26de61a7300d76be  libstdc++-v3/testsuite/tr1/6_containers/array/requirements/zero_sized_arrays.cc
  a7bfa3a58d76da29c9632dcfcb98cc72  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/get.cc
  cf3374db6cc3e991cdbc8f780d1e1a68  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_element.cc
  ace1960397da810b6e3d910b33914ab6  libstdc++-v3/testsuite/tr1/6_containers/array/tuple_interface/tuple_size.cc
! 74c1ddfd3c513aa5181e0e1addfed9a5  libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/comparisons.cc
! b6ab03cb09ac5ef63caa0d0546b36b5e  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/assignment.cc
! 0c4b96fc65fd63b1ef228f7b10c4fc49  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/big_tuples.cc
! abb058b88b5ca68e0772d9d187e67c42  libstdc++-v3/testsuite/tr1/6_containers/tuple/cons/constructor.cc
! 4b3ebffdd7b8a4e6ae0b4775a6b83476  libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/23978.cc
! c2182f26a1eb8de77e1a4002f0f41ff0  libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/make_tuple.cc
! 5f7fcfda3ccd7e46909b06b57dfb8108  libstdc++-v3/testsuite/tr1/6_containers/tuple/creation_functions/tie.cc
! 028c371ead6fe93ad2199123f9794aba  libstdc++-v3/testsuite/tr1/6_containers/tuple/element_access/get.cc
! 6ff350d477083c24cca74406135cab32  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_element.cc
! 4e068c8675c443f09133db72ce660f63  libstdc++-v3/testsuite/tr1/6_containers/tuple/tuple_size.cc
! 8f7d38cf9fe2227169b0cc8c6d1d7784  libstdc++-v3/testsuite/tr1/6_containers/unordered/23781.cc
! 484f401515e839550bc51c4b2b62a717  libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-map.cc
! 04732290fdef66a839d66e2c3bad1f91  libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-multimap.cc
! d3674dcd25c1291ee957424e17509057  libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-multiset.cc
! 703ff316da2d279559164fc06b60560a  libstdc++-v3/testsuite/tr1/6_containers/unordered/erase/24061-set.cc
! 1742f64a247741cda9e9722d2f30ccf3  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/map1.cc
! c95338afe6ad0bf42f7407909732f146  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multimap1.cc
! 1c446b4c8b38eb15ec8b00b90666577c  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/multiset1.cc
! fdc618c064902efe4155e1cb5b708e57  libstdc++-v3/testsuite/tr1/6_containers/unordered/find/set1.cc
! 1b7d4358b095b70dee54d1128d4cc43f  libstdc++-v3/testsuite/tr1/6_containers/unordered/hash/24799.cc
! 561575d852094fba18448d182fed90a2  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23053.cc
  03dc19165bbe22a54b42e8512f9a5c6b  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/23465.cc
! fcdd3d7a578ab822c3fef17f55a4f599  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/24054.cc
! e35e876f0407f9cd82df681afb1bc046  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/24064.cc
! 3c8792ea277750b891ee48f5c1a42a00  libstdc++-v3/testsuite/tr1/6_containers/unordered/hashtable/26127.cc
! bbf61676a40da0c607b9d41efd246f73  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-map.cc
! eb53ba47e35f65ca8f92cd09735491e7  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-multimap.cc
! 9f7585331823e1b8bff2f79585fda8ac  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-multiset.cc
! 975c2d77be93005c907e5bcc958924a7  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/24061-set.cc
! 1c9f406130baeb25d436c1eb06e621c9  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/array_syntax.cc
! 22a35452d33e4e1fa2c516ddd6f2523a  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_range.cc
! 54fc1fc41837b6b9e045e42a75f9b49c  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/map_single.cc
! a9ebb600b75fd61e1bee19445c73d8d8  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_range.cc
! 5c633a957f2ab82fa52a0e0a9a422650  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multimap_single.cc
! 56fee1b97bc3df8511e84517548d64ae  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_range.cc
! 3ca4ef52e31e5cd6d8391ae994ce5662  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/multiset_single.cc
! 4ded43487b600805778ea6daeb371bb5  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_range.cc
! 82a8f1a5fa1eebbc1e865a518ac08787  libstdc++-v3/testsuite/tr1/6_containers/unordered/insert/set_single.cc
! fa4cce75c981c862a372b5300da05b2f  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/hash.cc
! b89c630af22adbb803838c2e670db3c0  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/map.cc
! b6302871eda032a13d28c7b37d970450  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multimap.cc
! c0aceb1979a0bee402d7ce6e01a64bf2  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/multiset.cc
! f0792d45f29ece092ca3c2a596e6a885  libstdc++-v3/testsuite/tr1/6_containers/unordered/instantiate/set.cc
! 6121664ee749ed350f80260b74713ddf  libstdc++-v3/testsuite/tr1/6_containers/unordered/types/map_iterator.cc
! d91b7069589afbeabac7a7d8745c0fba  libstdc++-v3/testsuite/tr1/6_containers/unordered/types/multimap_iterator.cc
! 448b22ee7caaf8b7cd791c1fda31c7e7  libstdc++-v3/testsuite/tr1/6_containers/unordered/types/multiset_iterator.cc
! 2033efbc377c5845441e264267e6cf0b  libstdc++-v3/testsuite/tr1/6_containers/unordered/types/set_iterator.cc
! f6b58b72320c7f5fcee315768bef9653  libstdc++-v3/testsuite/tr1/6_containers/utility/19535.cc
! bc31d8096f41dbaadf17d5b94a89eee9  libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
! 55724e0090c2a11c8d24775b2f95adb0  libtool.m4
! b310b3f4bcccb5f1a8da9a6ce4dc63bc  ltcf-c.sh
! a2d47602fcd7324c616dc9afe83fc435  ltcf-cxx.sh
! fffe423a2194a2fcc3890bba0d9ac23f  ltcf-gcj.sh
! f8fb5135aeb8bdb63492e8623fb95adc  ltconfig
! 4b3e304e3d4ddfc595254461d1db73b6  ltmain.sh
! 2a320993cc917d571623681b4e0b602a  maintainer-scripts/ChangeLog
! 9bf52719995189b7572953a25ad202ed  maintainer-scripts/README
! f70d5c3ec086dd7e108490d40e5d8d16  maintainer-scripts/crontab
  ef4b5d39023785696cb4b2cf6822bdc6  maintainer-scripts/doc_exclude
! 6b73ae700bc676e650b98283f19f4a50  maintainer-scripts/gcc_release
  5a590c51b17d10747f3ce2694caf0ff2  maintainer-scripts/maintainer-addresses
! 67147b0d6cd79b577afefa2d239c1996  maintainer-scripts/update_version
! 85e924fd76686eb9ad59d37632eca7c0  maintainer-scripts/update_version_svn
! 4266548572467fa2831f49320523313c  maintainer-scripts/update_web_docs
  898da0420f60478a6a6081da2a4b4c80  maintainer-scripts/update_web_docs_libstdcxx
! ac5c1027bffb5222dc95165f0b86e33f  maintainer-scripts/update_web_docs_libstdcxx_svn
! 53247f2e766199397f04a18a3d0d18b8  maintainer-scripts/update_web_docs_svn
! 5d58f0dd4262171a71b65bd515d85d07  missing
  fbe2467afef81c41c166173adeb0ee20  mkdep
! 64e8ff72710e830f15a347863b848c7d  mkinstalldirs
! 71323f5ff2322f0045e03b0a6c8a9fc5  move-if-change
! cf2baa0854f564a7785307e79f155efc  symlink-tree
! e0a5f7e59d19edfd4b4d26479a141f02  ylwrap
! aa319be8e891c83fa9842f07c35c9b0a  zlib/ChangeLog
! 65bfef8a1f724456dfd975485d2d6f91  zlib/ChangeLog.gcj
! 2f46720fda5ab68a1e495009895d874c  zlib/FAQ
! 8851ace55681b1664d97c045d71e339b  zlib/INDEX
  862b025c21bb5196a095e67906faaf90  zlib/Makefile.am
! 178f50edfd4cd2e75f98b0e974d70b15  zlib/Makefile.in
! 2e63c150dadd81155aa19c4bdc312af6  zlib/README
  004a8c34eba1b805f836a09dd4759f34  zlib/acinclude.m4
! a92adfaa3854f355efa273fbd1e7b739  zlib/aclocal.m4
! cccc0237e39ac6ca8f28e602d446848c  zlib/adler32.c
  20f77f458f4939b33398c7f344c8c8e6  zlib/algorithm.txt
  33f38274c7dccea11499945914ff4b96  zlib/amiga/Makefile.pup
! 462e728224c552eab6f56c3eef89bb16  zlib/amiga/Makefile.sas
  f7ebf8d1bc1a0f11f070a20a5c01da96  zlib/as400/bndsrc
! a68285f641336e36a0df329ba793bc51  zlib/as400/compile.clp
! 1cf8b432cc388e9f81521bc8befa409a  zlib/as400/readme.txt
! b6939ef53a4f778f1896d46b3082d437  zlib/as400/zlib.inc
! 36221d8d590068ca5432fb4602e4219d  zlib/compress.c
! c6cc09827821321f74228507ca047c91  zlib/configure
  0582263edc64a7c34d462117448c9ffb  zlib/configure.ac
! 249561260ad9fb1372265976e2124a54  zlib/contrib/README.contrib
! cd14a97dd8a0613bb1244a68c0c764d6  zlib/contrib/ada/buffer_demo.adb
! 20f2b8d64f3507ea0eb67bf4be048599  zlib/contrib/ada/mtest.adb
! a223bf66e23cc79eba08eadd40ee269b  zlib/contrib/ada/read.adb
! c998583cdc1fe9d7f8f6b92d1a9551a3  zlib/contrib/ada/readme.txt
  8197c8e51a900ed2a1e98d9c1455dba0  zlib/contrib/ada/test.adb
! 5d67ffc3a8cbe706d47d25f8124c72dd  zlib/contrib/ada/zlib-streams.adb
! db47a997637e82e3d692755e95cf3ce3  zlib/contrib/ada/zlib-streams.ads
! d520a330ed13ea54e7b20c8e5de64579  zlib/contrib/ada/zlib-thin.adb
! ee26f1def943266c185232086fa0a9a3  zlib/contrib/ada/zlib-thin.ads
! f46bd97cccf4719989ee553daa36f8c6  zlib/contrib/ada/zlib.adb
! 71de2670f2e588b51c62e7f6a9046399  zlib/contrib/ada/zlib.ads
! 38044e8f5f88e1f70ade036779d56ee8  zlib/contrib/ada/zlib.gpr
  b0cb77005e7a1be0d723626a8dc2a81d  zlib/contrib/asm586/README.586
! e40bacf416b2875f5ad5143d13b838dd  zlib/contrib/asm586/match.S
  b892e5050fcd1e4f35f4bdd3c052baea  zlib/contrib/asm686/README.686
! d21fe6f7f0bb5d3bb0606dab222c65e9  zlib/contrib/asm686/match.S
  5cd923d6c5e717cdc43180aaa2eeed18  zlib/contrib/blast/Makefile
  b93c34189a9302e6f43c53c7d0277637  zlib/contrib/blast/README
  0bd31a47d90cfaa14a527cb32c7293ea  zlib/contrib/blast/blast.c
  9678605932ee6c765735b1b799c66e56  zlib/contrib/blast/blast.h
  f8dd3560a13a68bd15f5ca5a53c94ce9  zlib/contrib/blast/test.pk
  1201a93782f0542d6fbf5134c1a5a4c6  zlib/contrib/blast/test.txt
! 51f92225b20e677805bf53398461e279  zlib/contrib/delphi/ZLib.pas
  b02c46423595bd6358de3b7c5a148a88  zlib/contrib/delphi/ZLibConst.pas
  e43e458c50d36075813a1533d05a0bdc  zlib/contrib/delphi/readme.txt
  c148b8d9735dae8041cac72d1b119590  zlib/contrib/delphi/zlibd32.mak
! 3af963f013b9f2dd2614151755e1918c  zlib/contrib/dotzlib/DotZLib.build
! f8b0da2a5ad0018962542d37e28b7e24  zlib/contrib/dotzlib/DotZLib.chm
! 46821b590c4a11eab8409b1d3f1c6fca  zlib/contrib/dotzlib/DotZLib.sln
! 1c4d680e0a7d884e1ff2eb9fe92e2a64  zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs
! d6acb5c5103ba67c699b968e2eeade80  zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs
! acbd0707dec064c9fea7f233ae58ad64  zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs
! 4cfcdf79b322f51bc41ca5b978a74058  zlib/contrib/dotzlib/DotZLib/CodecBase.cs
! 10024fce06fd0c6f0203446fe0379ea2  zlib/contrib/dotzlib/DotZLib/Deflater.cs
! 2010d638863ec0b4ce43cbe3913c0010  zlib/contrib/dotzlib/DotZLib/DotZLib.cs
! 1549ce82a2662e77a22625f68c0a5d36  zlib/contrib/dotzlib/DotZLib/DotZLib.csproj
! ba7aefafd1ccfab990b2dbfb50b05056  zlib/contrib/dotzlib/DotZLib/GZipStream.cs
! 919ff618691b348acc66c6e8c240a2ad  zlib/contrib/dotzlib/DotZLib/Inflater.cs
! 615d3876990a8c8dd5b19ee406ac31ff  zlib/contrib/dotzlib/DotZLib/UnitTests.cs
! 81543b22c36f10d20ac9712f8d80ef8d  zlib/contrib/dotzlib/LICENSE_1_0.txt
! ea4fc8852fadf9ca55eeecb9c665edac  zlib/contrib/dotzlib/readme.txt
  84ff1d06483d3da2af928cddcab88a1b  zlib/contrib/infback9/README
! 012a21f164da3db8a91ecad5aca76ee3  zlib/contrib/infback9/infback9.c
! 52b1ed99960d3ed7ed60cd20295e64a8  zlib/contrib/infback9/infback9.h
  1558f49aeca6376b7aa331add59e0e06  zlib/contrib/infback9/inffix9.h
  8a4de1bca6c4182d025ea55062d125d9  zlib/contrib/infback9/inflate9.h
! 34b2d10cd7b852eb31a131a1a27540ed  zlib/contrib/infback9/inftree9.c
! b23a46062ff083b2c9e41ddb4cb40b24  zlib/contrib/infback9/inftree9.h
! 7e6b7046b068af969d89b4eddff4cd12  zlib/contrib/inflate86/inffas86.c
! 56cc7e752a85f9d6489892aad226976b  zlib/contrib/inflate86/inffast.S
  a20e40dae1e8b28ef2ec9ed98fdc8a03  zlib/contrib/iostream/test.cpp
  a73c28679044fdf0a8057c5193db8da0  zlib/contrib/iostream/zfstream.cpp
  93f90ecc4d5299d820c3da08f7c7e7d2  zlib/contrib/iostream/zfstream.h
*************** d32476bde4e6d5f889092fdff6f8cdb0  zlib/c
*** 26886,26975 ****
  8e843c6f8614b260b153091edf9af3ec  zlib/contrib/iostream3/test.cc
  dda5e85498fe3936fabd955b5504c74e  zlib/contrib/iostream3/zfstream.cc
  938f58c179fabf6ff9ffb85395ada81f  zlib/contrib/iostream3/zfstream.h
! 2ee4e1faec356a2fc3c9abbbafb3ab2d  zlib/contrib/masm686/match.asm
! eeb8be443d18ec1e561da8b5daf30dd9  zlib/contrib/masmx86/gvmat32.asm
! 88e1473c2801cdc775914da136152d4a  zlib/contrib/masmx86/gvmat32c.c
! 5ea1e20f678b1cfdf41fd3781c566122  zlib/contrib/masmx86/inffas32.asm
! 77dceecf7e1b89850cb315a7d6c25edc  zlib/contrib/masmx86/mkasm.bat
  c1151cd52df47bb02e63765a2cf0aea5  zlib/contrib/masmx86/readme.txt
! 15988f1c931e99123112c513fdf4b7af  zlib/contrib/minizip/ChangeLogUnzip
  064c9424ffab4af58c685140bb0fc3a0  zlib/contrib/minizip/Makefile
! a4fdb93427b21cba68aee91eba93d745  zlib/contrib/minizip/crypt.h
! 02dac74b13711af58d956b1e7225cfad  zlib/contrib/minizip/ioapi.c
! b8db58b055674a2de0801bd4594fd314  zlib/contrib/minizip/ioapi.h
! 804ad46ff7655849c8919ba3fd049749  zlib/contrib/minizip/iowin32.c
! 3dfa4595476eb691aecfec085e98bc4b  zlib/contrib/minizip/iowin32.h
! fe5eca2013b9558a21ec2baa50c79d04  zlib/contrib/minizip/miniunz.c
! 5bdb660ac23a41cbb9c6c71a9abe1141  zlib/contrib/minizip/minizip.c
! d3cd344a4eeb5f01bcfe2faca765d96f  zlib/contrib/minizip/unzip.c
! 5fa907b5ef8a4c582834ad5aedeed157  zlib/contrib/minizip/unzip.h
! 7758dc19b3891aaef7d0d2932766b8e5  zlib/contrib/minizip/zip.c
! fa2a34818249ea883620bd102bf46051  zlib/contrib/minizip/zip.h
  6e41517081b62c5045e67146c2b5c3ec  zlib/contrib/pascal/example.pas
  6f8616a2ea8e227457c9f191b4c71018  zlib/contrib/pascal/readme.txt
  c148b8d9735dae8041cac72d1b119590  zlib/contrib/pascal/zlibd32.mak
! 61f7fde9e1551c585ffc7acc73adaefc  zlib/contrib/pascal/zlibpas.pas
  a24c2a64fd0dd7fbd4efcda584c6dbb2  zlib/contrib/puff/Makefile
  948659135181da512e6c37dd759d142d  zlib/contrib/puff/README
! b2acfae50accbc94efc1e5db5c9edd7c  zlib/contrib/puff/puff.c
  83b240a60ad08d0843cd59130514d11e  zlib/contrib/puff/puff.h
  b1319227312f62c24d98d619b417a43b  zlib/contrib/puff/zeros.raw
! 169a4e6570c644e3e324d2386803213c  zlib/contrib/testzlib/testzlib.c
! c1315cf3ad6a718d2abeef2d0407b531  zlib/contrib/testzlib/testzlib.sln
! da7e61f0bbad09df93ab022824c8b0f6  zlib/contrib/testzlib/testzlib.vcproj
  45070687ecca4a8953f666b91a4b54f4  zlib/contrib/untgz/Makefile
  d3be2a78c4fd759d1578b6d91f8430c1  zlib/contrib/untgz/Makefile.msc
! a39733fd70e850e4fc7fb6c71bec515b  zlib/contrib/untgz/untgz.c
! 94928575e535e4057290970b885627f0  zlib/contrib/visual-basic.txt
! b11f9afab73c5a2cca7834dfb7a8086e  zlib/contrib/vstudio/readme.txt
! 335526147221cd74a1f4af7c0b4a1467  zlib/contrib/vstudio/vc7/miniunz.vcproj
! 735ae5a3cfaf8ff75714724a8bbe788f  zlib/contrib/vstudio/vc7/minizip.vcproj
! 0128769b1d3921b08092f112386e2f5e  zlib/contrib/vstudio/vc7/zlib.rc
! 939b8eacbaaffe7bafda17e429494b57  zlib/contrib/vstudio/vc7/zlibstat.vcproj
! d9490d2a83389ca4942de759c3dd5e0f  zlib/contrib/vstudio/vc7/zlibvc.def
! 360612ac001f676b657c009e03bcb054  zlib/contrib/vstudio/vc7/zlibvc.sln
! 646210f700b91f81e3c91c99379eeced  zlib/contrib/vstudio/vc7/zlibvc.vcproj
! 4e9b77aca44ad3e1ed2f4dd46a3a279a  zlib/crc32.c
  4d1cfa258e52f3f91b09afdba248fec5  zlib/crc32.h
! a8a5f084b23524063ae941c6736c85c3  zlib/deflate.c
! cd28c3f31c103016473ac4a103dce491  zlib/deflate.h
! 9ad04e19800e008de881e26b679a6ffc  zlib/example.c
! cea606c8ee05cf160f16e3586c27ae6c  zlib/gzio.c
! d7ba523b64854cc5b3e31fd1658c6b4f  zlib/infback.c
! 0d09de8137d54974a05f79af7dccc2a4  zlib/inffast.c
  6829902d95364faa2e740e7359a50c30  zlib/inffast.h
  28aabce27feb2810caf634a39abb9d8b  zlib/inffixed.h
! 0c50e143ca4d5a440acd7b22be1d2371  zlib/inflate.c
! 803cea7942860089772be09a135575d2  zlib/inflate.h
! ddcf5b70e01c10fd385285c616c9c004  zlib/inftrees.c
! cac79f654a753d3f690b89e2c4d9968a  zlib/inftrees.h
! ff87b3909649459d2dc1ce814d2ed4f2  zlib/minigzip.c
  367a6681620b24f35b9f7ea8052ded02  zlib/msdos/Makefile.bor
  4f19e137e3e8d914e11e6a3ee6a573e6  zlib/msdos/Makefile.dj2
  99fda4c0fbbf08a0e28661ef73637acd  zlib/msdos/Makefile.emx
  48686747348b407b05482812dd24dacf  zlib/msdos/Makefile.msc
  bfc4da357339a32c6eb0e6ff32e914be  zlib/msdos/Makefile.tc
! e64d29c29123dfacf3918fa6f1dae5a4  zlib/old/Make_vms.com
! e1793b04d7a50f35ebabc5359627f7cd  zlib/old/Makefile.riscos
! a86ba4247d255810b001c53b4d0512f6  zlib/old/README
  cbf38eb0d95e0f43faf627cf42a680a7  zlib/old/descrip.mms
  ca7056eeceb590882d508f85d6709826  zlib/old/os2/Makefile.os2
  b917eb81b8d4b72931282aeedc167f83  zlib/old/os2/zlib.def
  e21bd4d2d67ee4030af03bc0e2825017  zlib/old/zlib.html
! ebe5f83fdc4f5a1cc4cba8d1f94f470f  zlib/qnx/package.qpg
! 9ff77eea1ab5b8dab595e0295ccb4af2  zlib/trees.c
  9c26c55c8a5b7121850f83947a523c04  zlib/trees.h
  493f9abed520d7300ecc4653a6d36056  zlib/uncompr.c
! 0c45f7ab57cd6427be2c6385d71d42b0  zlib/win32/DLL_FAQ.txt
  c059de64a10de2a36c6532b69264e96f  zlib/win32/Makefile.bor
  a8f9f13405e6246901020800f625b42b  zlib/win32/Makefile.emx
  5fda3b362c91ca815dbe58fc690fd05c  zlib/win32/Makefile.gcc
  c037b7eba51b3378b724c0aa1835b08c  zlib/win32/Makefile.msc
  fc995731322e520fc79d35a78fefe0c5  zlib/win32/zlib.def
! b6cc8f40a98c6b1ffe71adb7602ddcc4  zlib/win32/zlib1.rc
! 3196b5955432e8ddc860839dfb72899e  zlib/zconf.h
! 0ca6315d98f0c9b57bf1cf260eef30ce  zlib/zconf.in.h
! 11e065eba21365b451e11989ef2ac972  zlib/zlib.3
! f593a2c4c459dfef5a073fb4a3f6611f  zlib/zlib.h
! c2aafae0d5775601534652f61e57c1e2  zlib/zutil.c
! 2de1cb29852f4fcd7c170ba0b3f3af06  zlib/zutil.h
--- 30333,30460 ----
  8e843c6f8614b260b153091edf9af3ec  zlib/contrib/iostream3/test.cc
  dda5e85498fe3936fabd955b5504c74e  zlib/contrib/iostream3/zfstream.cc
  938f58c179fabf6ff9ffb85395ada81f  zlib/contrib/iostream3/zfstream.h
! f651ab8d0700299fd096d3f2e5c7842f  zlib/contrib/masm686/match.asm
! 94027d9beeb5a59503ac3978f9999e90  zlib/contrib/masmx64/bld_ml64.bat
! 8c542d6025c72a9412bd2b55cf9bbb12  zlib/contrib/masmx64/gvmat64.asm
! 8049971777ec44ca48f3043d9c4d1192  zlib/contrib/masmx64/gvmat64.obj
! 9fc847031fe997481ee56fd48f2d485e  zlib/contrib/masmx64/inffas8664.c
! 4a1e9475a90b962cdfe594a07d0ab5a2  zlib/contrib/masmx64/inffasx64.asm
! 35e51e29b6183834943dacbf58a4276c  zlib/contrib/masmx64/inffasx64.obj
! e959e4624edfbf8fb56cb4995ea8e434  zlib/contrib/masmx64/readme.txt
! d33dd763b83d1715ca5810268f456cfe  zlib/contrib/masmx86/bld_ml32.bat
! 125d7c41202d30aa1c351a262a833fa4  zlib/contrib/masmx86/gvmat32.asm
! 62490f807440608131632137a4fe96a1  zlib/contrib/masmx86/gvmat32.obj
! 1cd12b655d7000e26b02d0e08eaaa6e9  zlib/contrib/masmx86/gvmat32c.c
! 5bc05d116342fbbfe2ed883466646ab4  zlib/contrib/masmx86/inffas32.asm
! 1ddb7c4061d8a9c96346d0eac2eb5c77  zlib/contrib/masmx86/inffas32.obj
! b09862f378a5ac5a715d0ccac01e6164  zlib/contrib/masmx86/mkasm.bat
  c1151cd52df47bb02e63765a2cf0aea5  zlib/contrib/masmx86/readme.txt
! f5639ed89c22cf7579c199ea4b9221bc  zlib/contrib/minizip/ChangeLogUnzip
  064c9424ffab4af58c685140bb0fc3a0  zlib/contrib/minizip/Makefile
! 96e2f910016050b4a5069076f079b053  zlib/contrib/minizip/crypt.h
! e772ba9fb98505ed80cf02a91d36e583  zlib/contrib/minizip/ioapi.c
! 66a1104147319ea0001ef2b571533779  zlib/contrib/minizip/ioapi.h
! 606f41bd5419cad60d6ac30943c5f2bd  zlib/contrib/minizip/iowin32.c
! 1b7939780b09eb9faa1c4d348eeef7b8  zlib/contrib/minizip/iowin32.h
! 6da0720d7ef48b92c64b83d85d1da19d  zlib/contrib/minizip/miniunz.c
! bd6d9ada3dadf82a841ca8374734e91e  zlib/contrib/minizip/minizip.c
! 49a004d6abe7b80acdf295a5b529289f  zlib/contrib/minizip/mztools.c
! 4ab99e16ecdf8c6c547ded1d623d5bec  zlib/contrib/minizip/mztools.h
! 95938c542b55f0eb4f4bb2e5a720e63b  zlib/contrib/minizip/unzip.c
! dcb83d113c8e95724e4afd3689bc7b99  zlib/contrib/minizip/unzip.h
! e7e30992d9d541a36cd7bfa1447bd803  zlib/contrib/minizip/zip.c
! 69177475c4ff0cd2865060a6a3e88612  zlib/contrib/minizip/zip.h
  6e41517081b62c5045e67146c2b5c3ec  zlib/contrib/pascal/example.pas
  6f8616a2ea8e227457c9f191b4c71018  zlib/contrib/pascal/readme.txt
  c148b8d9735dae8041cac72d1b119590  zlib/contrib/pascal/zlibd32.mak
! 9d642adfa3206f574774cbf6410922e9  zlib/contrib/pascal/zlibpas.pas
  a24c2a64fd0dd7fbd4efcda584c6dbb2  zlib/contrib/puff/Makefile
  948659135181da512e6c37dd759d142d  zlib/contrib/puff/README
! e51db1c3e473d9de0479f24aaaa667c3  zlib/contrib/puff/puff.c
  83b240a60ad08d0843cd59130514d11e  zlib/contrib/puff/puff.h
  b1319227312f62c24d98d619b417a43b  zlib/contrib/puff/zeros.raw
! e1cff30e41ca85e942fcf385a8613677  zlib/contrib/testzlib/testzlib.c
! 9fc09497cd386635010c5b665cac77b4  zlib/contrib/testzlib/testzlib.txt
  45070687ecca4a8953f666b91a4b54f4  zlib/contrib/untgz/Makefile
  d3be2a78c4fd759d1578b6d91f8430c1  zlib/contrib/untgz/Makefile.msc
! 1ff457742eb3588db60fd059d56a5dd5  zlib/contrib/untgz/untgz.c
! ce377b65f44ec3b7af92777ee56e7f92  zlib/contrib/vstudio/readme.txt
! 82cadc5a3c12124f75f166e29461dc42  zlib/contrib/vstudio/vc7/miniunz.vcproj
! fa78e6f945bf5906487c82cf2ec70d2a  zlib/contrib/vstudio/vc7/minizip.vcproj
! 3f7c990598bcfd06df9b694b2b1edac6  zlib/contrib/vstudio/vc7/testzlib.vcproj
! 5ffdadadb5319e72f722ec576ddd24fc  zlib/contrib/vstudio/vc7/zlib.rc
! 6f2d51563779fc31b3011a7be57dc8fe  zlib/contrib/vstudio/vc7/zlibstat.vcproj
! 41b372b405fce554e5998a957a0694d0  zlib/contrib/vstudio/vc7/zlibvc.def
! 50839e302dd8b29d2cc380749f24e463  zlib/contrib/vstudio/vc7/zlibvc.sln
! 3ca49a3bbc4c0af9df773580bc0c3192  zlib/contrib/vstudio/vc7/zlibvc.vcproj
! 8893f062bcecc09045af2aa75eed4a43  zlib/contrib/vstudio/vc8/miniunz.vcproj
! 388dc9447efa3eaa2c9f988cbceb4063  zlib/contrib/vstudio/vc8/minizip.vcproj
! c519305ad59b85ab5721ffcc5e1c8aef  zlib/contrib/vstudio/vc8/testzlib.vcproj
! 392ce061fe5b4dbed0ea5745f5a91fca  zlib/contrib/vstudio/vc8/testzlibdll.vcproj
! 5ffdadadb5319e72f722ec576ddd24fc  zlib/contrib/vstudio/vc8/zlib.rc
! 9b1b012ff0badd1ec0dcd4c4942d6ee4  zlib/contrib/vstudio/vc8/zlibstat.vcproj
! 41b372b405fce554e5998a957a0694d0  zlib/contrib/vstudio/vc8/zlibvc.def
! e41d47c058dd65d90fa84f7363119906  zlib/contrib/vstudio/vc8/zlibvc.sln
! 0d1293f9a9e043a4a2cb3648f164d1f9  zlib/contrib/vstudio/vc8/zlibvc.vcproj
! a2383d459115f91a07f1e6b7ee866313  zlib/crc32.c
  4d1cfa258e52f3f91b09afdba248fec5  zlib/crc32.h
! 0151db3c0a7950205ca9fdc91aa6595a  zlib/deflate.c
! ff436ec8f71c19474a729ad1c6ac4084  zlib/deflate.h
! 24f6de3c86d60f533f2c9864b62c0f9b  zlib/example.c
! 87a45be5f8697d2e1dbc7116b773bea6  zlib/examples/README.examples
! 4061e63cf68f479ebbd4bab90178a774  zlib/examples/fitblk.c
! a176563f098ef3e542d9bf36781f0e95  zlib/examples/gun.c
! c85d901c638e14eed68016a9f32ad1e1  zlib/examples/gzappend.c
! 4d1b00795bdb9db9dbdbada6d5d9c2a1  zlib/examples/gzjoin.c
! 5e5d30233eba13898b27e3d445da8bb6  zlib/examples/gzlog.c
! c89f3fed448c4160fcffeb74c59420cf  zlib/examples/gzlog.h
! 8ee8237960a886f8044085dce29d28f6  zlib/examples/zlib_how.html
! c398c905ceef0d201cf4ece220ae33ef  zlib/examples/zpipe.c
! cf2e1bcb2e5e9e03587633a5e75bf887  zlib/examples/zran.c
! fa9527fdf9ed2ad4d9a392e568843c8b  zlib/gzio.c
! 79484c049a6c2a110eff24b5235dd4a3  zlib/infback.c
! 962b35b2eed3bf72d26eedd0f68e16a3  zlib/inffast.c
  6829902d95364faa2e740e7359a50c30  zlib/inffast.h
  28aabce27feb2810caf634a39abb9d8b  zlib/inffixed.h
! 9132e0c3c8f19d887904d8ba81446a33  zlib/inflate.c
! 33ea38bfbc068b14f1931aff7cce56ac  zlib/inflate.h
! a6a36b368661bdabf81b1fe66f3e1831  zlib/inftrees.c
! 438e654ab8fe4725813cfa33107c2863  zlib/inftrees.h
! c364b6c0a3fcafa15c4c985bbece9d6e  zlib/make_vms.com
! bf7fc2d94a5ef34e545cfbf3c96ab0c6  zlib/minigzip.c
  367a6681620b24f35b9f7ea8052ded02  zlib/msdos/Makefile.bor
  4f19e137e3e8d914e11e6a3ee6a573e6  zlib/msdos/Makefile.dj2
  99fda4c0fbbf08a0e28661ef73637acd  zlib/msdos/Makefile.emx
  48686747348b407b05482812dd24dacf  zlib/msdos/Makefile.msc
  bfc4da357339a32c6eb0e6ff32e914be  zlib/msdos/Makefile.tc
! 281c9a86ce42a799859a5978bc732cc5  zlib/old/Makefile.riscos
! bbfa7b4766eb254d816bcd7faf48f0f5  zlib/old/README
  cbf38eb0d95e0f43faf627cf42a680a7  zlib/old/descrip.mms
  ca7056eeceb590882d508f85d6709826  zlib/old/os2/Makefile.os2
  b917eb81b8d4b72931282aeedc167f83  zlib/old/os2/zlib.def
+ 94928575e535e4057290970b885627f0  zlib/old/visual-basic.txt
  e21bd4d2d67ee4030af03bc0e2825017  zlib/old/zlib.html
! 40371ddbff913a46bd6f0385fd2f6a08  zlib/projects/README.projects
! 0a40f9a6600555d6dcefa8c588c0c9c7  zlib/projects/visualc6/README.txt
! 68d16c1acb358ea0c36dad9fca875df0  zlib/projects/visualc6/example.dsp
! 0d3076f4e2dab0e86a956dcd41a91c14  zlib/projects/visualc6/minigzip.dsp
! 0612e64c00d71189e6b2aca773650356  zlib/projects/visualc6/zlib.dsp
! f6fcecb88e4c0ce6748129c3594e2b23  zlib/projects/visualc6/zlib.dsw
! b1d93a6570d6b3f27f757f4faf1e3e4c  zlib/qnx/package.qpg
! a4e2bd5ae8a365f42b3f25fc07833a27  zlib/trees.c
  9c26c55c8a5b7121850f83947a523c04  zlib/trees.h
  493f9abed520d7300ecc4653a6d36056  zlib/uncompr.c
! 757906707fac712caaa0f6f18302d916  zlib/win32/DLL_FAQ.txt
  c059de64a10de2a36c6532b69264e96f  zlib/win32/Makefile.bor
  a8f9f13405e6246901020800f625b42b  zlib/win32/Makefile.emx
  5fda3b362c91ca815dbe58fc690fd05c  zlib/win32/Makefile.gcc
  c037b7eba51b3378b724c0aa1835b08c  zlib/win32/Makefile.msc
+ 617de05b0d813cb919e4a95eb8d03b86  zlib/win32/VisualC.txt
  fc995731322e520fc79d35a78fefe0c5  zlib/win32/zlib.def
! 904b106375b0bb1dc7675213ecf90af3  zlib/win32/zlib1.rc
! 9ae7afd6eb0367f9b95acc8895a4d14b  zlib/zconf.h
! d0b5d7082e4506c4f500d073fde64911  zlib/zconf.in.h
! 785dc03452f0508ff0678fba2457e0ba  zlib/zlib.3
! 9c4b84aff68aa55f2e9bf70481b94333  zlib/zlib.h
! 7ef2dbc6a81ad19372109cfb9f41a88e  zlib/zutil.c
! fb8bb0cf448c65e0a37c44f282bee824  zlib/zutil.h
diff -Nrcpad gcc-4.0.2/Makefile.def gcc-4.1.0/Makefile.def
*** gcc-4.0.2/Makefile.def	Mon Jan 17 23:50:25 2005
--- gcc-4.1.0/Makefile.def	Fri Nov 11 21:47:07 2005
*************** AutoGen definitions Makefile.tpl;
*** 18,24 ****
  // 
  // You should have received a copy of the GNU General Public License
  // along with this program; if not, write to the Free Software
! // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
  
  // "missing" indicates that that module doesn't supply
--- 18,24 ----
  // 
  // You should have received a copy of the GNU General Public License
  // along with this program; if not, write to the Free Software
! // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  
  
  // "missing" indicates that that module doesn't supply
*************** host_modules= { module= ash; };
*** 37,44 ****
  host_modules= { module= autoconf; };
  host_modules= { module= automake; };
  host_modules= { module= bash; };
! host_modules= { module= bfd; bootstrap=true; };
! host_modules= { module= opcodes; bootstrap=true; };
  host_modules= { module= binutils; bootstrap=true; };
  host_modules= { module= bison; no_check_cross= true; };
  host_modules= { module= byacc; no_check_cross= true; };
--- 37,44 ----
  host_modules= { module= autoconf; };
  host_modules= { module= automake; };
  host_modules= { module= bash; };
! host_modules= { module= bfd; lib_path=.; bootstrap=true; };
! host_modules= { module= opcodes; lib_path=.; bootstrap=true; };
  host_modules= { module= binutils; bootstrap=true; };
  host_modules= { module= bison; no_check_cross= true; };
  host_modules= { module= byacc; no_check_cross= true; };
*************** host_modules= { module= fixincludes;
*** 60,66 ****
  host_modules= { module= flex; no_check_cross= true; };
  host_modules= { module= gas; bootstrap=true; };
  host_modules= { module= gcc; bootstrap=true; 
! 		target="`if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi`";
  		extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
  host_modules= { module= gawk; };
  host_modules= { module= gettext; };
--- 60,66 ----
  host_modules= { module= flex; no_check_cross= true; };
  host_modules= { module= gas; bootstrap=true; };
  host_modules= { module= gcc; bootstrap=true; 
! 		target="`if [ -f stage_last ]; then echo quickstrap ; else echo all; fi`";
  		extra_make_flags="$(EXTRA_GCC_FLAGS)"; };
  host_modules= { module= gawk; };
  host_modules= { module= gettext; };
*************** host_modules= { module= libtermcap; no_c
*** 111,123 ****
                  missing=distclean;
                  missing=maintainer-clean; };
  host_modules= { module= utils; no_check=true; };
  
! target_modules = { module= libstdc++-v3; raw_cxx=true; };
! target_modules = { module= libmudflap; };
  target_modules = { module= newlib; };
  target_modules = { module= libgfortran; };
  target_modules = { module= libobjc; };
! target_modules = { module= libtermcap; no_check=true; stage=true;
                     missing=mostlyclean;
                     missing=clean;
                     missing=distclean;
--- 111,125 ----
                  missing=distclean;
                  missing=maintainer-clean; };
  host_modules= { module= utils; no_check=true; };
+ host_modules= { module= gnattools; };
  
! target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; };
! target_modules = { module= libmudflap; lib_path=.libs; };
! target_modules = { module= libssp; lib_path=.libs; };
  target_modules = { module= newlib; };
  target_modules = { module= libgfortran; };
  target_modules = { module= libobjc; };
! target_modules = { module= libtermcap; no_check=true;
                     missing=mostlyclean;
                     missing=clean;
                     missing=distclean;
*************** target_modules = { module= gperf; };
*** 129,135 ****
  target_modules = { module= examples; no_check=true; no_install=true; };
  target_modules = { module= libffi; };
  target_modules = { module= libjava; raw_cxx=true; };
! target_modules = { module= zlib; stage=true; };
  target_modules = { module= boehm-gc; };
  target_modules = { module= qthreads; };
  target_modules = { module= rda; };
--- 131,137 ----
  target_modules = { module= examples; no_check=true; no_install=true; };
  target_modules = { module= libffi; };
  target_modules = { module= libjava; raw_cxx=true; };
! target_modules = { module= zlib; };
  target_modules = { module= boehm-gc; };
  target_modules = { module= qthreads; };
  target_modules = { module= rda; };
*************** flags_to_pass = { flag= infodir ; };
*** 171,178 ****
  flags_to_pass = { flag= libdir ; };
  flags_to_pass = { flag= libexecdir ; };
  flags_to_pass = { flag= lispdir ; };
- flags_to_pass = { flag= libstdcxx_incdir ; };
- flags_to_pass = { flag= libsubdir ; };
  flags_to_pass = { flag= localstatedir ; };
  flags_to_pass = { flag= mandir ; };
  flags_to_pass = { flag= oldincludedir ; };
--- 173,178 ----
*************** flags_to_pass = { flag= sharedstatedir ;
*** 182,195 ****
  flags_to_pass = { flag= sysconfdir ; };
  flags_to_pass = { flag= tooldir ; };
  flags_to_pass = { flag= build_tooldir ; };
- flags_to_pass = { flag= gxx_include_dir ; };
- flags_to_pass = { flag= gcc_version ; };
- flags_to_pass = { flag= gcc_version_trigger ; };
  flags_to_pass = { flag= target_alias ; };
  
  // Build tools
  flags_to_pass = { flag= BISON ; };
  flags_to_pass = { flag= CC_FOR_BUILD ; };
  flags_to_pass = { flag= CXX_FOR_BUILD ; };
  flags_to_pass = { flag= EXPECT ; };
  flags_to_pass = { flag= FLEX ; };
--- 182,193 ----
  flags_to_pass = { flag= sysconfdir ; };
  flags_to_pass = { flag= tooldir ; };
  flags_to_pass = { flag= build_tooldir ; };
  flags_to_pass = { flag= target_alias ; };
  
  // Build tools
  flags_to_pass = { flag= BISON ; };
  flags_to_pass = { flag= CC_FOR_BUILD ; };
+ flags_to_pass = { flag= CFLAGS_FOR_BUILD ; };
  flags_to_pass = { flag= CXX_FOR_BUILD ; };
  flags_to_pass = { flag= EXPECT ; };
  flags_to_pass = { flag= FLEX ; };
*************** flags_to_pass = { flag= DLLTOOL_FOR_TARG
*** 225,234 ****
--- 223,236 ----
  flags_to_pass = { flag= GCJ_FOR_TARGET ; };
  flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
  flags_to_pass = { flag= LD_FOR_TARGET ; };
+ flags_to_pass = { flag= LIPO_FOR_TARGET ; };
+ flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
  flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; };
  flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
  flags_to_pass = { flag= NM_FOR_TARGET ; };
+ flags_to_pass = { flag= OBJDUMP_FOR_TARGET ; };
  flags_to_pass = { flag= RANLIB_FOR_TARGET ; };
+ flags_to_pass = { flag= STRIP_FOR_TARGET ; };
  flags_to_pass = { flag= WINDRES_FOR_TARGET ; };
  
  // Inter-module dependencies
*************** dependencies = { module=all-build-fixinc
*** 246,254 ****
  
  // Host modules specific to gcc.
  dependencies = { module=configure-gcc; on=configure-intl; };
! dependencies = { module=configure-gcc; on=configure-binutils; };
! dependencies = { module=configure-gcc; on=configure-gas; };
! dependencies = { module=configure-gcc; on=configure-ld; };
  dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
  dependencies = { module=all-gcc; on=all-intl; };
  dependencies = { module=all-gcc; on=all-build-texinfo; };
--- 248,256 ----
  
  // Host modules specific to gcc.
  dependencies = { module=configure-gcc; on=configure-intl; };
! dependencies = { module=configure-gcc; on=all-binutils; };
! dependencies = { module=configure-gcc; on=all-gas; };
! dependencies = { module=configure-gcc; on=all-ld; };
  dependencies = { module=all-gcc; on=all-libiberty; hard=true; };
  dependencies = { module=all-gcc; on=all-intl; };
  dependencies = { module=all-gcc; on=all-build-texinfo; };
*************** dependencies = { module=all-gcc; on=all-
*** 257,265 ****
  dependencies = { module=all-gcc; on=all-build-flex; };
  dependencies = { module=all-gcc; on=all-build-libiberty; };
  dependencies = { module=all-gcc; on=all-build-fixincludes; };
- dependencies = { module=all-gcc; on=all-binutils; };
- dependencies = { module=all-gcc; on=all-gas; };
- dependencies = { module=all-gcc; on=all-ld; };
  dependencies = { module=all-gcc; on=all-zlib; };
  dependencies = { module=all-gcc; on=all-libcpp; hard=true; };
  dependencies = { module=all-gcc; on=all-libiberty; };
--- 259,264 ----
*************** dependencies = { module=all-libcpp; on=a
*** 273,282 ****
  
  dependencies = { module=all-fixincludes; on=all-libiberty; };
  
  // Host modules specific to gdb.
- dependencies = { module=configure-gdb; on=configure-itcl; };
- dependencies = { module=configure-gdb; on=configure-tcl; };
- dependencies = { module=configure-gdb; on=configure-tk; };
  dependencies = { module=configure-gdb; on=configure-sim; };
  dependencies = { module=all-gdb; on=all-libiberty; };
  dependencies = { module=all-gdb; on=all-opcodes; };
--- 272,280 ----
  
  dependencies = { module=all-fixincludes; on=all-libiberty; };
  
+ dependencies = { module=all-gnattools; on=all-target-libada; };
+ 
  // Host modules specific to gdb.
  dependencies = { module=configure-gdb; on=configure-sim; };
  dependencies = { module=all-gdb; on=all-libiberty; };
  dependencies = { module=all-gdb; on=all-opcodes; };
*************** dependencies = { module=all-gdb; on=all-
*** 285,294 ****
  dependencies = { module=all-gdb; on=all-build-bison; };
  dependencies = { module=all-gdb; on=all-build-byacc; };
  dependencies = { module=all-gdb; on=all-sim; };
- dependencies = { module=install-gdb; on=install-tcl; };
- dependencies = { module=install-gdb; on=install-tk; };
- dependencies = { module=install-gdb; on=install-itcl; };
- dependencies = { module=install-gdb; on=install-libgui; };
  
  dependencies = { module=configure-libgui; on=configure-tcl; };
  dependencies = { module=configure-libgui; on=configure-tk; };
--- 283,288 ----
*************** lang_env_dependencies = { module=libada;
*** 418,424 ****
--- 412,420 ----
  lang_env_dependencies = { module=libgfortran; };
  lang_env_dependencies = { module=libffi; };
  lang_env_dependencies = { module=libjava; cxx=true; };
+ lang_env_dependencies = { module=libmudflap; };
  lang_env_dependencies = { module=libobjc; };
+ lang_env_dependencies = { module=libssp; };
  lang_env_dependencies = { module=libstdc++-v3; };
  lang_env_dependencies = { module=zlib; };
  
*************** bootstrap_stage = {
*** 478,483 ****
  	stage_configure_flags="@stage2_werror_flag@" ;
  	stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; };
  bootstrap_stage = {
! 	id=feedback ; prev=1 ;
  	stage_configure_flags="@stage2_werror_flag@" ;
  	stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; };
--- 474,480 ----
  	stage_configure_flags="@stage2_werror_flag@" ;
  	stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"' ; };
  bootstrap_stage = {
! 	id=feedback ; prev=profile ;
! 	bootstrap_target=profiledbootstrap ;
  	stage_configure_flags="@stage2_werror_flag@" ;
  	stage_make_flags='CFLAGS="$(BOOT_CFLAGS) -fprofile-use"' ; };
diff -Nrcpad gcc-4.0.2/Makefile.in gcc-4.1.0/Makefile.in
*** gcc-4.0.2/Makefile.in	Wed Sep 28 06:16:38 2005
--- gcc-4.1.0/Makefile.in	Thu Dec 15 14:02:02 2005
***************
*** 17,23 ****
  # 
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  #
  
  # -------------------------------
--- 17,23 ----
  # 
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  #
  
  # -------------------------------
*************** LN_S = @LN_S@
*** 72,116 ****
  # Miscellaneous non-standard autoconf-set variables
  # -------------------------------------------------
  
- # The file containing GCC's version number.
- gcc_version_trigger = @gcc_version_trigger@
- gcc_version = @gcc_version@
- 
  # The gcc driver likes to know the arguments it was configured with.
  TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
  
- gxx_include_dir = @gxx_include_dir@
- libstdcxx_incdir = @libstdcxx_incdir@
- 
  tooldir = @tooldir@
  build_tooldir = @build_tooldir@
  
- # Directory in which the compiler finds executables, libraries, etc.
- libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
  GDB_NLM_DEPS = 
  
  # This is the name of the environment variable used for the path to
  # the libraries.
  RPATH_ENVVAR = @RPATH_ENVVAR@
  
- # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared
- # was used.
- SET_LIB_PATH = @SET_LIB_PATH@
- 
- # configure.in sets SET_LIB_PATH to this if --enable-shared was used.
- # Some platforms don't like blank entries, so we remove duplicate,
- # leading and trailing colons.
- REALLY_SET_LIB_PATH = \
-   @SET_GCC_LIB_PATH@ \
-   $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
- 
  # This is the list of directories to be built for the build system.
  BUILD_CONFIGDIRS = libiberty
  # Build programs are put under this directory.
  BUILD_SUBDIR = @build_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the build system.
! BUILD_CONFIGARGS = @build_configargs@
  
  # This is the list of variables to export in the environment when
  # configuring any subdirectory.  It must also be exported whenever
--- 72,96 ----
  # Miscellaneous non-standard autoconf-set variables
  # -------------------------------------------------
  
  # The gcc driver likes to know the arguments it was configured with.
  TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
  
  tooldir = @tooldir@
  build_tooldir = @build_tooldir@
  
  GDB_NLM_DEPS = 
  
  # This is the name of the environment variable used for the path to
  # the libraries.
  RPATH_ENVVAR = @RPATH_ENVVAR@
  
  # This is the list of directories to be built for the build system.
  BUILD_CONFIGDIRS = libiberty
  # Build programs are put under this directory.
  BUILD_SUBDIR = @build_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the build system.
! BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)"
  
  # This is the list of variables to export in the environment when
  # configuring any subdirectory.  It must also be exported whenever
*************** SUBDIRS = @configdirs@
*** 149,156 ****
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the host system.
  HOST_CONFIGARGS = @host_configargs@
  # This is the list of variables to export in the environment when
! # configuring subdirectories for the host system.
  HOST_EXPORTS = \
  	$(BASE_EXPORTS) \
  	CC="$(CC)"; export CC; \
--- 129,140 ----
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the host system.
  HOST_CONFIGARGS = @host_configargs@
+ # Host programs are put under this directory, which is . except if building
+ # with srcdir=..
+ HOST_SUBDIR = @host_subdir@
  # This is the list of variables to export in the environment when
! # configuring subdirectories for the host system.  We need to pass
! # some to the GCC configure because of its hybrid host/target nature.
  HOST_EXPORTS = \
  	$(BASE_EXPORTS) \
  	CC="$(CC)"; export CC; \
*************** HOST_EXPORTS = \
*** 169,185 ****
  	WINDRES="$(WINDRES)"; export WINDRES; \
  	OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
  	OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
  	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
  	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
  	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
! 	SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \
! 	@SET_GCC_LIB_PATH@
  
  # Similar, for later GCC stages.
! STAGE_HOST_EXPORTS = \
  	$(HOST_EXPORTS) \
! 	CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
! 	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
--- 153,182 ----
  	WINDRES="$(WINDRES)"; export WINDRES; \
  	OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
  	OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 	AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
+ 	AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
+ 	GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
+ 	LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
+ 	NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
+ 	OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
  	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
  	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
  	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
! @if gcc-bootstrap
! 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
! @endif gcc-bootstrap
! 	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
  
  # Similar, for later GCC stages.
! POSTSTAGE1_HOST_EXPORTS = \
  	$(HOST_EXPORTS) \
! 	CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
! 	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
! 	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
! 	  $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
! 	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
! 	  -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
*************** TARGET_CONFIGDIRS = @target_configdirs@
*** 188,200 ****
  TARGET_SUBDIR = @target_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the target.
! TARGET_CONFIGARGS = @target_configargs@
  # This is the list of variables to export in the environment when
  # configuring subdirectories for the host system.
  BASE_TARGET_EXPORTS = \
  	$(BASE_EXPORTS) \
  	AR="$(AR_FOR_TARGET)"; export AR; \
! 	AS="$(AS_FOR_TARGET)"; export AS; \
  	CC="$(CC_FOR_TARGET)"; export CC; \
  	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
  	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
--- 185,197 ----
  TARGET_SUBDIR = @target_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the target.
! TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
  # This is the list of variables to export in the environment when
  # configuring subdirectories for the host system.
  BASE_TARGET_EXPORTS = \
  	$(BASE_EXPORTS) \
  	AR="$(AR_FOR_TARGET)"; export AR; \
! 	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
  	CC="$(CC_FOR_TARGET)"; export CC; \
  	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
  	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
*************** BASE_TARGET_EXPORTS = \
*** 203,215 ****
  	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
  	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
  	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
! 	LD="$(LD_FOR_TARGET)"; export LD; \
  	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
! 	NM="$(NM_FOR_TARGET)"; export NM; \
  	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
  	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
! 	SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \
! 	@SET_GCC_LIB_PATH@
  
  RAW_CXX_TARGET_EXPORTS = \
  	$(BASE_TARGET_EXPORTS) \
--- 200,214 ----
  	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
  	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
  	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
! 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
  	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
! 	LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
! 	NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
! 	OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
  	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
  	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
! 	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
  
  RAW_CXX_TARGET_EXPORTS = \
  	$(BASE_TARGET_EXPORTS) \
*************** BUILD_PREFIX_1 = @BUILD_PREFIX_1@
*** 254,300 ****
  # here so that they can be overridden by Makefile fragments.
  BOOT_CFLAGS= -g -O2
  
! CONFIGURED_BISON = @CONFIGURED_BISON@
! BISON = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/bison/tests/bison ; \
! 	 else \
! 	    echo ${CONFIGURED_BISON} ; \
! 	 fi`
! 
! CONFIGURED_YACC = @CONFIGURED_YACC@
! YACC = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/bison/tests/bison -y ; \
! 	elif [ -f $$r/$(BUILD_SUBDIR)/byacc/byacc ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/byacc/byacc ; \
! 	else \
! 	    echo ${CONFIGURED_YACC} ; \
! 	fi`
! 
! CONFIGURED_FLEX = @CONFIGURED_FLEX@
! FLEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \
! 	else echo ${CONFIGURED_FLEX} ; fi`
! 
! CONFIGURED_LEX = @CONFIGURED_LEX@
! LEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \
! 	else echo ${CONFIGURED_LEX} ; fi`
! 
! CONFIGURED_M4 = @CONFIGURED_M4@
! M4 = `if [ -f $$r/$(BUILD_SUBDIR)/m4/m4 ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/m4/m4 ; \
! 	else echo ${CONFIGURED_M4} ; fi`
! 
! # For an installed makeinfo, we require it to be from texinfo 4.2 or
! # higher, else we use the "missing" dummy.  We also pass the subdirectory
! # makeinfo even if only the Makefile is there, because Texinfo builds its
! # manual when made, and it requires its own version.
! CONFIGURED_MAKEINFO = @CONFIGURED_MAKEINFO@
! MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo ; \
! 	else if (${CONFIGURED_MAKEINFO} --version \
! 	  | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \
!         then echo ${CONFIGURED_MAKEINFO}; else echo $$s/missing makeinfo; fi; fi`
  
  # This just becomes part of the MAKEINFO definition passed down to
  # sub-makes.  It lets flags be given on the command line while still
--- 253,266 ----
  # here so that they can be overridden by Makefile fragments.
  BOOT_CFLAGS= -g -O2
  
! BISON = @BISON@
! YACC = @YACC@
! FLEX = @FLEX@
! LEX = @LEX@
! M4 = @M4@
! MAKEINFO = @MAKEINFO@
! EXPECT = @EXPECT@
! RUNTEST = @RUNTEST@
  
  # This just becomes part of the MAKEINFO definition passed down to
  # sub-makes.  It lets flags be given on the command line while still
*************** MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/
*** 302,486 ****
  # (Default to avoid splitting info files by setting the threshold high.)
  MAKEINFOFLAGS = --split-size=5000000
  
- EXPECT = `if [ -f $$r/expect/expect ] ; \
- 	then echo $$r/expect/expect ; \
- 	else echo expect ; fi`
- 
- RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \
- 	then echo $$s/dejagnu/runtest ; \
- 	else echo runtest ; fi`
- 
  # ---------------------------------------------
  # Programs producing files for the HOST machine
  # ---------------------------------------------
  
- # This is the list of directories that may be needed in RPATH_ENVVAR
- # so that programs built for the host machine work.
- HOST_LIB_PATH = $$r/bfd:$$r/opcodes
- 
  AS = @AS@
- 
  AR = @AR@
  AR_FLAGS = rc
- 
  CC = @CC@
- CFLAGS = @CFLAGS@
- LIBCFLAGS = $(CFLAGS)
- 
  CXX = @CXX@
- CXXFLAGS = @CXXFLAGS@
- LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
- 
  DLLTOOL = @DLLTOOL@
- 
- NM = @NM@
- 
  LD = @LD@
! LDFLAGS = 
! 
  RANLIB = @RANLIB@
! 
  WINDRES = @WINDRES@
  
  PICFLAG = 
  
  # -----------------------------------------------
  # Programs producing files for the TARGET machine
  # -----------------------------------------------
  
- # This is the list of directories that may be needed in RPATH_ENVVAR
- # so that prorgams built for the target machine work.
- TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:$$r/$(TARGET_SUBDIR)/libmudflap/.libs
- 
  FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
  
  AR_FOR_TARGET=@AR_FOR_TARGET@
- CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@
- USUAL_AR_FOR_TARGET = ` \
-   if [ -f $$r/binutils/ar ] ; then \
-     echo $$r/binutils/ar ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(AR); \
-     else \
-       echo $(CONFIGURED_AR_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
  AS_FOR_TARGET=@AS_FOR_TARGET@
! CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
! USUAL_AS_FOR_TARGET = ` \
!   if [ -f $$r/gas/as-new ] ; then \
!     echo $$r/gas/as-new ; \
!   elif [ -f $$r/gcc/xgcc ]; then \
!     $(CC_FOR_TARGET) -print-prog-name=as ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       echo $(AS); \
!     else \
!       echo $(CONFIGURED_AS_FOR_TARGET) ; \
!     fi; \
!   fi`
  
- CC_FOR_TARGET = @CC_FOR_TARGET@
- # During gcc bootstrap, if we use some random cc for stage1 then
- # CFLAGS will be just -g.  We want to ensure that TARGET libraries
- # (which we know are built with gcc) are built with optimizations so
- # prepend -O2 when setting CFLAGS_FOR_TARGET.
- CFLAGS_FOR_TARGET = -O2 $(CFLAGS)
  # If GCC_FOR_TARGET is not overriden on the command line, then this
  # variable is passed down to the gcc Makefile, where it is used to
  # build libgcc2.a.  We define it here so that it can itself be
  # overridden on the command line.
! GCC_FOR_TARGET=@GCC_FOR_TARGET@
! USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET)
! LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
! 
! CXX_FOR_TARGET = @CXX_FOR_TARGET@
! RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@
! CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
! RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
! CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
! LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
! 
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
- CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
- USUAL_DLLTOOL_FOR_TARGET = ` \
-   if [ -f $$r/binutils/dlltool ] ; then \
-     echo $$r/binutils/dlltool ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(DLLTOOL); \
-     else \
-       echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
- GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
- GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
- 
  LD_FOR_TARGET=@LD_FOR_TARGET@
- CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
- USUAL_LD_FOR_TARGET = ` \
-   if [ -f $$r/ld/ld-new ] ; then \
-     echo $$r/ld/ld-new ; \
-   elif [ -f $$r/gcc/xgcc ]; then \
-     $(CC_FOR_TARGET) -print-prog-name=ld ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(LD); \
-     else \
-       echo $(CONFIGURED_LD_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
- LDFLAGS_FOR_TARGET = 
  
  NM_FOR_TARGET=@NM_FOR_TARGET@
! CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
! USUAL_NM_FOR_TARGET = ` \
!   if [ -f $$r/binutils/nm-new ] ; then \
!     echo $$r/binutils/nm-new ; \
!   elif [ -f $$r/gcc/xgcc ]; then \
!     $(CC_FOR_TARGET) -print-prog-name=nm ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       echo $(NM); \
!     else \
!       echo $(CONFIGURED_NM_FOR_TARGET) ; \
!     fi; \
!   fi`
! 
  RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
! CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@
! USUAL_RANLIB_FOR_TARGET = ` \
!   if [ -f $$r/binutils/ranlib ] ; then \
!     echo $$r/binutils/ranlib ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       if [ x'$(RANLIB)' != x ]; then \
!          echo $(RANLIB); \
!       else \
!          echo ranlib; \
!       fi; \
!     else \
!       echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \
!     fi; \
!   fi`
! 
  WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
- CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@
- USUAL_WINDRES_FOR_TARGET = ` \
-   if [ -f $$r/binutils/windres ] ; then \
-     echo $$r/binutils/windres ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(WINDRES); \
-     else \
-       echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \
-     fi; \
-   fi`
  
  PICFLAG_FOR_TARGET = 
  
  # ------------------------------------
--- 268,340 ----
  # (Default to avoid splitting info files by setting the threshold high.)
  MAKEINFOFLAGS = --split-size=5000000
  
  # ---------------------------------------------
  # Programs producing files for the HOST machine
  # ---------------------------------------------
  
  AS = @AS@
  AR = @AR@
  AR_FLAGS = rc
  CC = @CC@
  CXX = @CXX@
  DLLTOOL = @DLLTOOL@
  LD = @LD@
! LIPO = @LIPO@
! NM = @NM@
  RANLIB = @RANLIB@
! STRIP = @STRIP@
  WINDRES = @WINDRES@
  
+ CFLAGS = @CFLAGS@
+ LDFLAGS = 
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
  PICFLAG = 
  
  # -----------------------------------------------
  # Programs producing files for the TARGET machine
  # -----------------------------------------------
  
  FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
  
  AR_FOR_TARGET=@AR_FOR_TARGET@
  AS_FOR_TARGET=@AS_FOR_TARGET@
! CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
  
  # If GCC_FOR_TARGET is not overriden on the command line, then this
  # variable is passed down to the gcc Makefile, where it is used to
  # build libgcc2.a.  We define it here so that it can itself be
  # overridden on the command line.
! GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
  LD_FOR_TARGET=@LD_FOR_TARGET@
  
+ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
  NM_FOR_TARGET=@NM_FOR_TARGET@
! OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
  RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
! STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
  WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
  
+ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+ 
+ # During gcc bootstrap, if we use some random cc for stage1 then
+ # CFLAGS will be just -g.  We want to ensure that TARGET libraries
+ # (which we know are built with gcc) are built with optimizations so
+ # prepend -O2 when setting CFLAGS_FOR_TARGET.
+ CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = 
  PICFLAG_FOR_TARGET = 
  
  # ------------------------------------
*************** PICFLAG_FOR_TARGET = 
*** 489,495 ****
  
  # The first rule in the file had better be this one.  Don't put any above it.
  # This lives here to allow makefile fragments to contain dependencies.
! @default_target@:
  
  #### host and target specific makefile fragments come in here.
  @target_makefile_frag@
--- 343,349 ----
  
  # The first rule in the file had better be this one.  Don't put any above it.
  # This lives here to allow makefile fragments to contain dependencies.
! all:
  
  #### host and target specific makefile fragments come in here.
  @target_makefile_frag@
*************** PICFLAG_FOR_TARGET = 
*** 498,503 ****
--- 352,396 ----
  @host_makefile_frag@
  ###
  
+ # This is the list of directories that may be needed in RPATH_ENVVAR
+ # so that prorgams built for the target machine work.
+ TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(HOST_LIB_PATH_gcc)
+ 
+ @if target-libstdc++-v3
+ TARGET_LIB_PATH_libstdc++-v3 = $$r/$(TARGET_SUBDIR)/libstdc++-v3/.libs:
+ @endif target-libstdc++-v3
+ 
+ @if target-libmudflap
+ TARGET_LIB_PATH_libmudflap = $$r/$(TARGET_SUBDIR)/libmudflap/.libs:
+ @endif target-libmudflap
+ 
+ @if target-libssp
+ TARGET_LIB_PATH_libssp = $$r/$(TARGET_SUBDIR)/libssp/.libs:
+ @endif target-libssp
+ 
+ 
+ 
+ # This is the list of directories that may be needed in RPATH_ENVVAR
+ # so that programs built for the host machine work.
+ HOST_LIB_PATH = $(HOST_LIB_PATH_bfd)$(HOST_LIB_PATH_opcodes)
+ 
+ # Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch
+ @if gcc
+ HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc:$$r/$(HOST_SUBDIR)/prev-gcc:
+ @endif gcc
+ 
+ 
+ @if bfd
+ HOST_LIB_PATH_bfd = \
+   $$r/$(HOST_SUBDIR)/bfd/.:$$r/$(HOST_SUBDIR)/prev-bfd/.:
+ @endif bfd
+ 
+ @if opcodes
+ HOST_LIB_PATH_opcodes = \
+   $$r/$(HOST_SUBDIR)/opcodes/.:$$r/$(HOST_SUBDIR)/prev-opcodes/.:
+ @endif opcodes
+ 
+ 
  # Flags to pass down to all sub-makes.
  BASE_FLAGS_TO_PASS = \
  	"DESTDIR=$(DESTDIR)" \
*************** BASE_FLAGS_TO_PASS = \
*** 511,518 ****
  	"libdir=$(libdir)" \
  	"libexecdir=$(libexecdir)" \
  	"lispdir=$(lispdir)" \
- 	"libstdcxx_incdir=$(libstdcxx_incdir)" \
- 	"libsubdir=$(libsubdir)" \
  	"localstatedir=$(localstatedir)" \
  	"mandir=$(mandir)" \
  	"oldincludedir=$(oldincludedir)" \
--- 404,409 ----
*************** BASE_FLAGS_TO_PASS = \
*** 522,533 ****
  	"sysconfdir=$(sysconfdir)" \
  	"tooldir=$(tooldir)" \
  	"build_tooldir=$(build_tooldir)" \
- 	"gxx_include_dir=$(gxx_include_dir)" \
- 	"gcc_version=$(gcc_version)" \
- 	"gcc_version_trigger=$(gcc_version_trigger)" \
  	"target_alias=$(target_alias)" \
  	"BISON=$(BISON)" \
  	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
  	"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
  	"EXPECT=$(EXPECT)" \
  	"FLEX=$(FLEX)" \
--- 413,422 ----
  	"sysconfdir=$(sysconfdir)" \
  	"tooldir=$(tooldir)" \
  	"build_tooldir=$(build_tooldir)" \
  	"target_alias=$(target_alias)" \
  	"BISON=$(BISON)" \
  	"CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
  	"CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \
  	"EXPECT=$(EXPECT)" \
  	"FLEX=$(FLEX)" \
*************** BASE_FLAGS_TO_PASS = \
*** 559,582 ****
  	"GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
  	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
  	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
  	"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
  	"LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \
  	"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
  	"RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
  	"WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
  	"CONFIG_SHELL=$(SHELL)" \
  	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
  
! # For any flags above that may contain shell code that varies from one
! # target library to another.  When doing recursive invocations of the
! # top-level Makefile, we don't want the outer make to evaluate them,
! # so we pass these variables down unchanged.  They must not contain
! # single nor double quotes.
! RECURSE_FLAGS = \
! 	CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
! 	RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
! 
! RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS)
  
  # Flags to pass down to most sub-makes, in which we're building with
  # the host environment.
--- 448,467 ----
  	"GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
  	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
  	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
+ 	"LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
+ 	"LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
  	"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
  	"LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \
  	"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
+ 	"OBJDUMP_FOR_TARGET=$(OBJDUMP_FOR_TARGET)" \
  	"RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
+ 	"STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \
  	"WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \
  	"CONFIG_SHELL=$(SHELL)" \
  	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
  
! # We leave this in just in case, but it is not needed anymore.
! RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
  
  # Flags to pass down to most sub-makes, in which we're building with
  # the host environment.
*************** EXTRA_HOST_FLAGS = \
*** 587,594 ****
--- 472,481 ----
  	'CXX=$(CXX)' \
  	'DLLTOOL=$(DLLTOOL)' \
  	'LD=$(LD)' \
+ 	'LIPO=$(LIPO)' \
  	'NM=$(NM)' \
  	'RANLIB=$(RANLIB)' \
+ 	'STRIP=$(STRIP)' \
  	'WINDRES=$(WINDRES)'
  
  FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
*************** X11_FLAGS_TO_PASS = \
*** 607,625 ****
  
  # Flags to pass down to makes which are built with the target environment.
  # The double $ decreases the length of the command line; the variables
! # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.
  EXTRA_TARGET_FLAGS = \
  	'AR=$$(AR_FOR_TARGET)' \
! 	'AS=$$(AS_FOR_TARGET)' \
  	'CC=$$(CC_FOR_TARGET)' \
  	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
  	'CXX=$$(CXX_FOR_TARGET)' \
  	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
  	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
! 	'LD=$$(LD_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
  	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
! 	'NM=$$(NM_FOR_TARGET)' \
  	'RANLIB=$$(RANLIB_FOR_TARGET)' \
  	'WINDRES=$$(WINDRES_FOR_TARGET)'
  
--- 494,515 ----
  
  # Flags to pass down to makes which are built with the target environment.
  # The double $ decreases the length of the command line; the variables
! # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
! # COMPILER_ prefixed variables are not passed down so we expand them here.
  EXTRA_TARGET_FLAGS = \
  	'AR=$$(AR_FOR_TARGET)' \
! 	'AS=$(COMPILER_AS_FOR_TARGET)' \
  	'CC=$$(CC_FOR_TARGET)' \
  	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
  	'CXX=$$(CXX_FOR_TARGET)' \
  	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
  	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
! 	'LD=$(COMPILER_LD_FOR_TARGET)' \
! 	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
  	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
! 	'NM=$(COMPILER_NM_FOR_TARGET)' \
! 	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
  	'RANLIB=$$(RANLIB_FOR_TARGET)' \
  	'WINDRES=$$(WINDRES_FOR_TARGET)'
  
*************** EXTRA_GCC_FLAGS = \
*** 635,641 ****
  	'BUILD_PREFIX=$(BUILD_PREFIX)' \
  	'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \
  	"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
- 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
  	"`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
  	"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
  	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
--- 525,530 ----
*************** configure-host:  \
*** 715,725 ****
      maybe-configure-guile \
      maybe-configure-tk \
      maybe-configure-libtermcap \
!     maybe-configure-utils
  .PHONY: configure-target
  configure-target:  \
      maybe-configure-target-libstdc++-v3 \
      maybe-configure-target-libmudflap \
      maybe-configure-target-newlib \
      maybe-configure-target-libgfortran \
      maybe-configure-target-libobjc \
--- 604,616 ----
      maybe-configure-guile \
      maybe-configure-tk \
      maybe-configure-libtermcap \
!     maybe-configure-utils \
!     maybe-configure-gnattools
  .PHONY: configure-target
  configure-target:  \
      maybe-configure-target-libstdc++-v3 \
      maybe-configure-target-libmudflap \
+     maybe-configure-target-libssp \
      maybe-configure-target-newlib \
      maybe-configure-target-libgfortran \
      maybe-configure-target-libobjc \
*************** configure-target:  \
*** 739,745 ****
  
  # The target built for a native non-bootstrap build.
  .PHONY: all
! all: unstage all-host all-target stage
  
  .PHONY: all-build
  all-build:  \
--- 630,651 ----
  
  # The target built for a native non-bootstrap build.
  .PHONY: all
! all:
! @if gcc-bootstrap
! 	[ -f stage_final ] || echo stage3 > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble
! @endif gcc-bootstrap
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if [ -f stage_last ]; then \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
! 	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
! 	fi
! 	@: $(MAKE); $(stage)
  
  .PHONY: all-build
  all-build:  \
*************** all-host:  \
*** 817,827 ****
      maybe-all-guile \
      maybe-all-tk \
      maybe-all-libtermcap \
!     maybe-all-utils
  .PHONY: all-target
  all-target:  \
      maybe-all-target-libstdc++-v3 \
      maybe-all-target-libmudflap \
      maybe-all-target-newlib \
      maybe-all-target-libgfortran \
      maybe-all-target-libobjc \
--- 723,735 ----
      maybe-all-guile \
      maybe-all-tk \
      maybe-all-libtermcap \
!     maybe-all-utils \
!     maybe-all-gnattools
  .PHONY: all-target
  all-target:  \
      maybe-all-target-libstdc++-v3 \
      maybe-all-target-libmudflap \
+     maybe-all-target-libssp \
      maybe-all-target-newlib \
      maybe-all-target-libgfortran \
      maybe-all-target-libobjc \
*************** all-target:  \
*** 845,851 ****
  # but it may do additional work as well).
  
  .PHONY: do-info
! do-info: unstage info-host info-target stage
  
  .PHONY: info-host
  info-host:  \
--- 753,766 ----
  # but it may do additional work as well).
  
  .PHONY: do-info
! do-info:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) info-host \
! 	  info-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: info-host
  info-host:  \
*************** info-host:  \
*** 914,925 ****
      maybe-info-guile \
      maybe-info-tk \
      maybe-info-libtermcap \
!     maybe-info-utils
  
  .PHONY: info-target
  info-target:  \
      maybe-info-target-libstdc++-v3 \
      maybe-info-target-libmudflap \
      maybe-info-target-newlib \
      maybe-info-target-libgfortran \
      maybe-info-target-libobjc \
--- 829,842 ----
      maybe-info-guile \
      maybe-info-tk \
      maybe-info-libtermcap \
!     maybe-info-utils \
!     maybe-info-gnattools
  
  .PHONY: info-target
  info-target:  \
      maybe-info-target-libstdc++-v3 \
      maybe-info-target-libmudflap \
+     maybe-info-target-libssp \
      maybe-info-target-newlib \
      maybe-info-target-libgfortran \
      maybe-info-target-libobjc \
*************** info-target:  \
*** 938,944 ****
      maybe-info-target-libada
  
  .PHONY: do-dvi
! do-dvi: unstage dvi-host dvi-target stage
  
  .PHONY: dvi-host
  dvi-host:  \
--- 855,868 ----
      maybe-info-target-libada
  
  .PHONY: do-dvi
! do-dvi:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) dvi-host \
! 	  dvi-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: dvi-host
  dvi-host:  \
*************** dvi-host:  \
*** 1007,1018 ****
      maybe-dvi-guile \
      maybe-dvi-tk \
      maybe-dvi-libtermcap \
!     maybe-dvi-utils
  
  .PHONY: dvi-target
  dvi-target:  \
      maybe-dvi-target-libstdc++-v3 \
      maybe-dvi-target-libmudflap \
      maybe-dvi-target-newlib \
      maybe-dvi-target-libgfortran \
      maybe-dvi-target-libobjc \
--- 931,944 ----
      maybe-dvi-guile \
      maybe-dvi-tk \
      maybe-dvi-libtermcap \
!     maybe-dvi-utils \
!     maybe-dvi-gnattools
  
  .PHONY: dvi-target
  dvi-target:  \
      maybe-dvi-target-libstdc++-v3 \
      maybe-dvi-target-libmudflap \
+     maybe-dvi-target-libssp \
      maybe-dvi-target-newlib \
      maybe-dvi-target-libgfortran \
      maybe-dvi-target-libobjc \
*************** dvi-target:  \
*** 1031,1037 ****
      maybe-dvi-target-libada
  
  .PHONY: do-html
! do-html: unstage html-host html-target stage
  
  .PHONY: html-host
  html-host:  \
--- 957,970 ----
      maybe-dvi-target-libada
  
  .PHONY: do-html
! do-html:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) html-host \
! 	  html-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: html-host
  html-host:  \
*************** html-host:  \
*** 1100,1111 ****
      maybe-html-guile \
      maybe-html-tk \
      maybe-html-libtermcap \
!     maybe-html-utils
  
  .PHONY: html-target
  html-target:  \
      maybe-html-target-libstdc++-v3 \
      maybe-html-target-libmudflap \
      maybe-html-target-newlib \
      maybe-html-target-libgfortran \
      maybe-html-target-libobjc \
--- 1033,1046 ----
      maybe-html-guile \
      maybe-html-tk \
      maybe-html-libtermcap \
!     maybe-html-utils \
!     maybe-html-gnattools
  
  .PHONY: html-target
  html-target:  \
      maybe-html-target-libstdc++-v3 \
      maybe-html-target-libmudflap \
+     maybe-html-target-libssp \
      maybe-html-target-newlib \
      maybe-html-target-libgfortran \
      maybe-html-target-libobjc \
*************** html-target:  \
*** 1124,1130 ****
      maybe-html-target-libada
  
  .PHONY: do-TAGS
! do-TAGS: unstage TAGS-host TAGS-target stage
  
  .PHONY: TAGS-host
  TAGS-host:  \
--- 1059,1072 ----
      maybe-html-target-libada
  
  .PHONY: do-TAGS
! do-TAGS:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) TAGS-host \
! 	  TAGS-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: TAGS-host
  TAGS-host:  \
*************** TAGS-host:  \
*** 1193,1204 ****
      maybe-TAGS-guile \
      maybe-TAGS-tk \
      maybe-TAGS-libtermcap \
!     maybe-TAGS-utils
  
  .PHONY: TAGS-target
  TAGS-target:  \
      maybe-TAGS-target-libstdc++-v3 \
      maybe-TAGS-target-libmudflap \
      maybe-TAGS-target-newlib \
      maybe-TAGS-target-libgfortran \
      maybe-TAGS-target-libobjc \
--- 1135,1148 ----
      maybe-TAGS-guile \
      maybe-TAGS-tk \
      maybe-TAGS-libtermcap \
!     maybe-TAGS-utils \
!     maybe-TAGS-gnattools
  
  .PHONY: TAGS-target
  TAGS-target:  \
      maybe-TAGS-target-libstdc++-v3 \
      maybe-TAGS-target-libmudflap \
+     maybe-TAGS-target-libssp \
      maybe-TAGS-target-newlib \
      maybe-TAGS-target-libgfortran \
      maybe-TAGS-target-libobjc \
*************** TAGS-target:  \
*** 1217,1223 ****
      maybe-TAGS-target-libada
  
  .PHONY: do-install-info
! do-install-info: unstage install-info-host install-info-target stage
  
  .PHONY: install-info-host
  install-info-host:  \
--- 1161,1174 ----
      maybe-TAGS-target-libada
  
  .PHONY: do-install-info
! do-install-info:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) install-info-host \
! 	  install-info-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: install-info-host
  install-info-host:  \
*************** install-info-host:  \
*** 1286,1297 ****
      maybe-install-info-guile \
      maybe-install-info-tk \
      maybe-install-info-libtermcap \
!     maybe-install-info-utils
  
  .PHONY: install-info-target
  install-info-target:  \
      maybe-install-info-target-libstdc++-v3 \
      maybe-install-info-target-libmudflap \
      maybe-install-info-target-newlib \
      maybe-install-info-target-libgfortran \
      maybe-install-info-target-libobjc \
--- 1237,1250 ----
      maybe-install-info-guile \
      maybe-install-info-tk \
      maybe-install-info-libtermcap \
!     maybe-install-info-utils \
!     maybe-install-info-gnattools
  
  .PHONY: install-info-target
  install-info-target:  \
      maybe-install-info-target-libstdc++-v3 \
      maybe-install-info-target-libmudflap \
+     maybe-install-info-target-libssp \
      maybe-install-info-target-newlib \
      maybe-install-info-target-libgfortran \
      maybe-install-info-target-libobjc \
*************** install-info-target:  \
*** 1310,1316 ****
      maybe-install-info-target-libada
  
  .PHONY: do-installcheck
! do-installcheck: unstage installcheck-host installcheck-target stage
  
  .PHONY: installcheck-host
  installcheck-host:  \
--- 1263,1276 ----
      maybe-install-info-target-libada
  
  .PHONY: do-installcheck
! do-installcheck:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installcheck-host \
! 	  installcheck-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: installcheck-host
  installcheck-host:  \
*************** installcheck-host:  \
*** 1379,1390 ****
      maybe-installcheck-guile \
      maybe-installcheck-tk \
      maybe-installcheck-libtermcap \
!     maybe-installcheck-utils
  
  .PHONY: installcheck-target
  installcheck-target:  \
      maybe-installcheck-target-libstdc++-v3 \
      maybe-installcheck-target-libmudflap \
      maybe-installcheck-target-newlib \
      maybe-installcheck-target-libgfortran \
      maybe-installcheck-target-libobjc \
--- 1339,1352 ----
      maybe-installcheck-guile \
      maybe-installcheck-tk \
      maybe-installcheck-libtermcap \
!     maybe-installcheck-utils \
!     maybe-installcheck-gnattools
  
  .PHONY: installcheck-target
  installcheck-target:  \
      maybe-installcheck-target-libstdc++-v3 \
      maybe-installcheck-target-libmudflap \
+     maybe-installcheck-target-libssp \
      maybe-installcheck-target-newlib \
      maybe-installcheck-target-libgfortran \
      maybe-installcheck-target-libobjc \
*************** installcheck-target:  \
*** 1403,1409 ****
      maybe-installcheck-target-libada
  
  .PHONY: do-mostlyclean
! do-mostlyclean: unstage mostlyclean-host mostlyclean-target stage
  
  .PHONY: mostlyclean-host
  mostlyclean-host:  \
--- 1365,1378 ----
      maybe-installcheck-target-libada
  
  .PHONY: do-mostlyclean
! do-mostlyclean:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) mostlyclean-host \
! 	  mostlyclean-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: mostlyclean-host
  mostlyclean-host:  \
*************** mostlyclean-host:  \
*** 1472,1483 ****
      maybe-mostlyclean-guile \
      maybe-mostlyclean-tk \
      maybe-mostlyclean-libtermcap \
!     maybe-mostlyclean-utils
  
  .PHONY: mostlyclean-target
  mostlyclean-target:  \
      maybe-mostlyclean-target-libstdc++-v3 \
      maybe-mostlyclean-target-libmudflap \
      maybe-mostlyclean-target-newlib \
      maybe-mostlyclean-target-libgfortran \
      maybe-mostlyclean-target-libobjc \
--- 1441,1454 ----
      maybe-mostlyclean-guile \
      maybe-mostlyclean-tk \
      maybe-mostlyclean-libtermcap \
!     maybe-mostlyclean-utils \
!     maybe-mostlyclean-gnattools
  
  .PHONY: mostlyclean-target
  mostlyclean-target:  \
      maybe-mostlyclean-target-libstdc++-v3 \
      maybe-mostlyclean-target-libmudflap \
+     maybe-mostlyclean-target-libssp \
      maybe-mostlyclean-target-newlib \
      maybe-mostlyclean-target-libgfortran \
      maybe-mostlyclean-target-libobjc \
*************** mostlyclean-target:  \
*** 1496,1502 ****
      maybe-mostlyclean-target-libada
  
  .PHONY: do-clean
! do-clean: unstage clean-host clean-target stage
  
  .PHONY: clean-host
  clean-host:  \
--- 1467,1480 ----
      maybe-mostlyclean-target-libada
  
  .PHONY: do-clean
! do-clean:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) clean-host \
! 	  clean-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: clean-host
  clean-host:  \
*************** clean-host:  \
*** 1565,1576 ****
      maybe-clean-guile \
      maybe-clean-tk \
      maybe-clean-libtermcap \
!     maybe-clean-utils
  
  .PHONY: clean-target
  clean-target:  \
      maybe-clean-target-libstdc++-v3 \
      maybe-clean-target-libmudflap \
      maybe-clean-target-newlib \
      maybe-clean-target-libgfortran \
      maybe-clean-target-libobjc \
--- 1543,1556 ----
      maybe-clean-guile \
      maybe-clean-tk \
      maybe-clean-libtermcap \
!     maybe-clean-utils \
!     maybe-clean-gnattools
  
  .PHONY: clean-target
  clean-target:  \
      maybe-clean-target-libstdc++-v3 \
      maybe-clean-target-libmudflap \
+     maybe-clean-target-libssp \
      maybe-clean-target-newlib \
      maybe-clean-target-libgfortran \
      maybe-clean-target-libobjc \
*************** clean-target:  \
*** 1589,1595 ****
      maybe-clean-target-libada
  
  .PHONY: do-distclean
! do-distclean: unstage distclean-host distclean-target stage
  
  .PHONY: distclean-host
  distclean-host:  \
--- 1569,1582 ----
      maybe-clean-target-libada
  
  .PHONY: do-distclean
! do-distclean:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) distclean-host \
! 	  distclean-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: distclean-host
  distclean-host:  \
*************** distclean-host:  \
*** 1658,1669 ****
      maybe-distclean-guile \
      maybe-distclean-tk \
      maybe-distclean-libtermcap \
!     maybe-distclean-utils
  
  .PHONY: distclean-target
  distclean-target:  \
      maybe-distclean-target-libstdc++-v3 \
      maybe-distclean-target-libmudflap \
      maybe-distclean-target-newlib \
      maybe-distclean-target-libgfortran \
      maybe-distclean-target-libobjc \
--- 1645,1658 ----
      maybe-distclean-guile \
      maybe-distclean-tk \
      maybe-distclean-libtermcap \
!     maybe-distclean-utils \
!     maybe-distclean-gnattools
  
  .PHONY: distclean-target
  distclean-target:  \
      maybe-distclean-target-libstdc++-v3 \
      maybe-distclean-target-libmudflap \
+     maybe-distclean-target-libssp \
      maybe-distclean-target-newlib \
      maybe-distclean-target-libgfortran \
      maybe-distclean-target-libobjc \
*************** distclean-target:  \
*** 1682,1688 ****
      maybe-distclean-target-libada
  
  .PHONY: do-maintainer-clean
! do-maintainer-clean: unstage maintainer-clean-host maintainer-clean-target stage
  
  .PHONY: maintainer-clean-host
  maintainer-clean-host:  \
--- 1671,1684 ----
      maybe-distclean-target-libada
  
  .PHONY: do-maintainer-clean
! do-maintainer-clean:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) maintainer-clean-host \
! 	  maintainer-clean-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: maintainer-clean-host
  maintainer-clean-host:  \
*************** maintainer-clean-host:  \
*** 1751,1762 ****
      maybe-maintainer-clean-guile \
      maybe-maintainer-clean-tk \
      maybe-maintainer-clean-libtermcap \
!     maybe-maintainer-clean-utils
  
  .PHONY: maintainer-clean-target
  maintainer-clean-target:  \
      maybe-maintainer-clean-target-libstdc++-v3 \
      maybe-maintainer-clean-target-libmudflap \
      maybe-maintainer-clean-target-newlib \
      maybe-maintainer-clean-target-libgfortran \
      maybe-maintainer-clean-target-libobjc \
--- 1747,1760 ----
      maybe-maintainer-clean-guile \
      maybe-maintainer-clean-tk \
      maybe-maintainer-clean-libtermcap \
!     maybe-maintainer-clean-utils \
!     maybe-maintainer-clean-gnattools
  
  .PHONY: maintainer-clean-target
  maintainer-clean-target:  \
      maybe-maintainer-clean-target-libstdc++-v3 \
      maybe-maintainer-clean-target-libmudflap \
+     maybe-maintainer-clean-target-libssp \
      maybe-maintainer-clean-target-newlib \
      maybe-maintainer-clean-target-libgfortran \
      maybe-maintainer-clean-target-libobjc \
*************** local-distclean:
*** 1805,1810 ****
--- 1803,1811 ----
  	  rm -rf $(TARGET_SUBDIR); \
  	else true; fi
  	-rm -rf $(BUILD_SUBDIR)
+ 	-if [ "$(HOST_SUBDIR)" != "." ]; then \
+ 	  rm -rf $(HOST_SUBDIR); \
+ 	else true; fi
  	-rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
  	-rm -f texinfo/doc/Makefile texinfo/po/POTFILES
  	-rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
*************** clean-target-libgcc:
*** 1837,1843 ****
  check: do-check
  
  # Only include modules actually being configured and built.
! do-check: unstage  \
      maybe-check-ash \
      maybe-check-autoconf \
      maybe-check-automake \
--- 1838,1845 ----
  check: do-check
  
  # Only include modules actually being configured and built.
! .PHONY: check-host
! check-host:  \
      maybe-check-ash \
      maybe-check-autoconf \
      maybe-check-automake \
*************** do-check: unstage  \
*** 1904,1911 ****
--- 1906,1918 ----
      maybe-check-tk \
      maybe-check-libtermcap \
      maybe-check-utils \
+     maybe-check-gnattools
+ 
+ .PHONY: check-target
+ check-target:  \
      maybe-check-target-libstdc++-v3 \
      maybe-check-target-libmudflap \
+     maybe-check-target-libssp \
      maybe-check-target-newlib \
      maybe-check-target-libgfortran \
      maybe-check-target-libobjc \
*************** do-check: unstage  \
*** 1921,1927 ****
      maybe-check-target-boehm-gc \
      maybe-check-target-qthreads \
      maybe-check-target-rda \
!     maybe-check-target-libada stage
  
  # Automated reporting of test results.
  
--- 1928,1941 ----
      maybe-check-target-boehm-gc \
      maybe-check-target-qthreads \
      maybe-check-target-rda \
!     maybe-check-target-libada
! 
! do-check:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target
! 	@: $(MAKE); $(stage)
  
  # Automated reporting of test results.
  
*************** mail-report-with-warnings.log: warning.l
*** 1947,1953 ****
  # Installation targets.
  
  .PHONY: install uninstall
! install: installdirs install-host install-target
  
  .PHONY: install-host-nogcc
  install-host-nogcc:  \
--- 1961,1972 ----
  # Installation targets.
  
  .PHONY: install uninstall
! install:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target
! 	@: $(MAKE); $(stage)
  
  .PHONY: install-host-nogcc
  install-host-nogcc:  \
*************** install-host-nogcc:  \
*** 2015,2021 ****
      maybe-install-guile \
      maybe-install-tk \
      maybe-install-libtermcap \
!     maybe-install-utils
  
  .PHONY: install-host
  install-host:  \
--- 2034,2041 ----
      maybe-install-guile \
      maybe-install-tk \
      maybe-install-libtermcap \
!     maybe-install-utils \
!     maybe-install-gnattools
  
  .PHONY: install-host
  install-host:  \
*************** install-host:  \
*** 2084,2095 ****
      maybe-install-guile \
      maybe-install-tk \
      maybe-install-libtermcap \
!     maybe-install-utils
  
  .PHONY: install-target
  install-target:  \
      maybe-install-target-libstdc++-v3 \
      maybe-install-target-libmudflap \
      maybe-install-target-newlib \
      maybe-install-target-libgfortran \
      maybe-install-target-libobjc \
--- 2104,2117 ----
      maybe-install-guile \
      maybe-install-tk \
      maybe-install-libtermcap \
!     maybe-install-utils \
!     maybe-install-gnattools
  
  .PHONY: install-target
  install-target:  \
      maybe-install-target-libstdc++-v3 \
      maybe-install-target-libmudflap \
+     maybe-install-target-libssp \
      maybe-install-target-newlib \
      maybe-install-target-libgfortran \
      maybe-install-target-libobjc \
*************** uninstall:
*** 2114,2120 ****
  install.all: install-no-fixedincludes
  	@if [ -f ./gcc/Makefile ] ; then \
  		r=`${PWD_COMMAND}` ; export r ; \
- 		$(SET_LIB_PATH) \
  		$(HOST_EXPORTS) \
  		(cd ./gcc && \
  		$(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
--- 2136,2141 ----
*************** etags tags: TAGS
*** 2158,2172 ****
  # built are.
  TAGS: do-TAGS
  
  # --------------------------------------
  # Modules which run on the build machine
  # --------------------------------------
  
  .PHONY: configure-build-libiberty maybe-configure-build-libiberty
  maybe-configure-build-libiberty:
  @if build-libiberty
  maybe-configure-build-libiberty: configure-build-libiberty
! configure-build-libiberty:
  	@test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2179,2203 ----
  # built are.
  TAGS: do-TAGS
  
+ # ------------------------------------
+ # Macros for configure and all targets
+ # ------------------------------------
+ 
+ 
+ 
+ 
+ 
  # --------------------------------------
  # Modules which run on the build machine
  # --------------------------------------
  
+ 
  .PHONY: configure-build-libiberty maybe-configure-build-libiberty
  maybe-configure-build-libiberty:
  @if build-libiberty
  maybe-configure-build-libiberty: configure-build-libiberty
! configure-build-libiberty: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/libiberty/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/libiberty ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-libiberty:
*** 2175,2237 ****
  	echo Configuring in $(BUILD_SUBDIR)/libiberty; \
  	cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/libiberty "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/libiberty"; \
! 	  libsrcdir="$$s/libiberty"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-libiberty
  
  .PHONY: all-build-libiberty maybe-all-build-libiberty
  maybe-all-build-libiberty:
  @if build-libiberty
  TARGET-build-libiberty=all
  maybe-all-build-libiberty: all-build-libiberty
  all-build-libiberty: configure-build-libiberty
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/libiberty && \
! 	  $(MAKE)  $(TARGET-build-libiberty))
  @endif build-libiberty
  
  .PHONY: configure-build-bison maybe-configure-build-bison
  maybe-configure-build-bison:
  @if build-bison
  maybe-configure-build-bison: configure-build-bison
! configure-build-bison:
  	@test ! -f $(BUILD_SUBDIR)/bison/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/bison ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2206,2251 ----
  	echo Configuring in $(BUILD_SUBDIR)/libiberty; \
  	cd "$(BUILD_SUBDIR)/libiberty" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/libiberty/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
! 	libsrcdir="$$s/libiberty"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-libiberty
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-libiberty maybe-all-build-libiberty
  maybe-all-build-libiberty:
  @if build-libiberty
  TARGET-build-libiberty=all
  maybe-all-build-libiberty: all-build-libiberty
  all-build-libiberty: configure-build-libiberty
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/libiberty && \
! 	  $(MAKE)   $(TARGET-build-libiberty))
  @endif build-libiberty
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-bison maybe-configure-build-bison
  maybe-configure-build-bison:
  @if build-bison
  maybe-configure-build-bison: configure-build-bison
! configure-build-bison: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/bison/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/bison ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-bison:
*** 2240,2302 ****
  	echo Configuring in $(BUILD_SUBDIR)/bison; \
  	cd "$(BUILD_SUBDIR)/bison" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/bison "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/bison"; \
! 	  libsrcdir="$$s/bison"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-bison
  
  .PHONY: all-build-bison maybe-all-build-bison
  maybe-all-build-bison:
  @if build-bison
  TARGET-build-bison=all
  maybe-all-build-bison: all-build-bison
  all-build-bison: configure-build-bison
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/bison && \
! 	  $(MAKE)  $(TARGET-build-bison))
  @endif build-bison
  
  .PHONY: configure-build-byacc maybe-configure-build-byacc
  maybe-configure-build-byacc:
  @if build-byacc
  maybe-configure-build-byacc: configure-build-byacc
! configure-build-byacc:
  	@test ! -f $(BUILD_SUBDIR)/byacc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/byacc ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2254,2299 ----
  	echo Configuring in $(BUILD_SUBDIR)/bison; \
  	cd "$(BUILD_SUBDIR)/bison" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/bison/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/bison"; \
! 	libsrcdir="$$s/bison"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-bison
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-bison maybe-all-build-bison
  maybe-all-build-bison:
  @if build-bison
  TARGET-build-bison=all
  maybe-all-build-bison: all-build-bison
  all-build-bison: configure-build-bison
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/bison && \
! 	  $(MAKE)   $(TARGET-build-bison))
  @endif build-bison
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-byacc maybe-configure-build-byacc
  maybe-configure-build-byacc:
  @if build-byacc
  maybe-configure-build-byacc: configure-build-byacc
! configure-build-byacc: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/byacc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/byacc ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-byacc:
*** 2305,2367 ****
  	echo Configuring in $(BUILD_SUBDIR)/byacc; \
  	cd "$(BUILD_SUBDIR)/byacc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/byacc "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/byacc"; \
! 	  libsrcdir="$$s/byacc"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-byacc
  
  .PHONY: all-build-byacc maybe-all-build-byacc
  maybe-all-build-byacc:
  @if build-byacc
  TARGET-build-byacc=all
  maybe-all-build-byacc: all-build-byacc
  all-build-byacc: configure-build-byacc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/byacc && \
! 	  $(MAKE)  $(TARGET-build-byacc))
  @endif build-byacc
  
  .PHONY: configure-build-flex maybe-configure-build-flex
  maybe-configure-build-flex:
  @if build-flex
  maybe-configure-build-flex: configure-build-flex
! configure-build-flex:
  	@test ! -f $(BUILD_SUBDIR)/flex/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/flex ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2302,2347 ----
  	echo Configuring in $(BUILD_SUBDIR)/byacc; \
  	cd "$(BUILD_SUBDIR)/byacc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/byacc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/byacc"; \
! 	libsrcdir="$$s/byacc"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-byacc
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-byacc maybe-all-build-byacc
  maybe-all-build-byacc:
  @if build-byacc
  TARGET-build-byacc=all
  maybe-all-build-byacc: all-build-byacc
  all-build-byacc: configure-build-byacc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/byacc && \
! 	  $(MAKE)   $(TARGET-build-byacc))
  @endif build-byacc
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-flex maybe-configure-build-flex
  maybe-configure-build-flex:
  @if build-flex
  maybe-configure-build-flex: configure-build-flex
! configure-build-flex: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/flex/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/flex ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-flex:
*** 2370,2432 ****
  	echo Configuring in $(BUILD_SUBDIR)/flex; \
  	cd "$(BUILD_SUBDIR)/flex" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/flex "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/flex"; \
! 	  libsrcdir="$$s/flex"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-flex
  
  .PHONY: all-build-flex maybe-all-build-flex
  maybe-all-build-flex:
  @if build-flex
  TARGET-build-flex=all
  maybe-all-build-flex: all-build-flex
  all-build-flex: configure-build-flex
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/flex && \
! 	  $(MAKE)  $(TARGET-build-flex))
  @endif build-flex
  
  .PHONY: configure-build-m4 maybe-configure-build-m4
  maybe-configure-build-m4:
  @if build-m4
  maybe-configure-build-m4: configure-build-m4
! configure-build-m4:
  	@test ! -f $(BUILD_SUBDIR)/m4/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/m4 ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2350,2395 ----
  	echo Configuring in $(BUILD_SUBDIR)/flex; \
  	cd "$(BUILD_SUBDIR)/flex" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/flex/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/flex"; \
! 	libsrcdir="$$s/flex"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-flex
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-flex maybe-all-build-flex
  maybe-all-build-flex:
  @if build-flex
  TARGET-build-flex=all
  maybe-all-build-flex: all-build-flex
  all-build-flex: configure-build-flex
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/flex && \
! 	  $(MAKE)   $(TARGET-build-flex))
  @endif build-flex
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-m4 maybe-configure-build-m4
  maybe-configure-build-m4:
  @if build-m4
  maybe-configure-build-m4: configure-build-m4
! configure-build-m4: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/m4/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/m4 ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-m4:
*** 2435,2497 ****
  	echo Configuring in $(BUILD_SUBDIR)/m4; \
  	cd "$(BUILD_SUBDIR)/m4" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/m4 "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/m4"; \
! 	  libsrcdir="$$s/m4"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-m4
  
  .PHONY: all-build-m4 maybe-all-build-m4
  maybe-all-build-m4:
  @if build-m4
  TARGET-build-m4=all
  maybe-all-build-m4: all-build-m4
  all-build-m4: configure-build-m4
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/m4 && \
! 	  $(MAKE)  $(TARGET-build-m4))
  @endif build-m4
  
  .PHONY: configure-build-texinfo maybe-configure-build-texinfo
  maybe-configure-build-texinfo:
  @if build-texinfo
  maybe-configure-build-texinfo: configure-build-texinfo
! configure-build-texinfo:
  	@test ! -f $(BUILD_SUBDIR)/texinfo/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/texinfo ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2398,2443 ----
  	echo Configuring in $(BUILD_SUBDIR)/m4; \
  	cd "$(BUILD_SUBDIR)/m4" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/m4/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/m4"; \
! 	libsrcdir="$$s/m4"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-m4
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-m4 maybe-all-build-m4
  maybe-all-build-m4:
  @if build-m4
  TARGET-build-m4=all
  maybe-all-build-m4: all-build-m4
  all-build-m4: configure-build-m4
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/m4 && \
! 	  $(MAKE)   $(TARGET-build-m4))
  @endif build-m4
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-texinfo maybe-configure-build-texinfo
  maybe-configure-build-texinfo:
  @if build-texinfo
  maybe-configure-build-texinfo: configure-build-texinfo
! configure-build-texinfo: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/texinfo/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/texinfo ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-texinfo:
*** 2500,2562 ****
  	echo Configuring in $(BUILD_SUBDIR)/texinfo; \
  	cd "$(BUILD_SUBDIR)/texinfo" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/texinfo "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/texinfo"; \
! 	  libsrcdir="$$s/texinfo"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-texinfo
  
  .PHONY: all-build-texinfo maybe-all-build-texinfo
  maybe-all-build-texinfo:
  @if build-texinfo
  TARGET-build-texinfo=all
  maybe-all-build-texinfo: all-build-texinfo
  all-build-texinfo: configure-build-texinfo
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/texinfo && \
! 	  $(MAKE)  $(TARGET-build-texinfo))
  @endif build-texinfo
  
  .PHONY: configure-build-fixincludes maybe-configure-build-fixincludes
  maybe-configure-build-fixincludes:
  @if build-fixincludes
  maybe-configure-build-fixincludes: configure-build-fixincludes
! configure-build-fixincludes:
  	@test ! -f $(BUILD_SUBDIR)/fixincludes/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/fixincludes ; \
  	r=`${PWD_COMMAND}`; export r; \
--- 2446,2491 ----
  	echo Configuring in $(BUILD_SUBDIR)/texinfo; \
  	cd "$(BUILD_SUBDIR)/texinfo" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/texinfo/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/texinfo"; \
! 	libsrcdir="$$s/texinfo"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-texinfo
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-texinfo maybe-all-build-texinfo
  maybe-all-build-texinfo:
  @if build-texinfo
  TARGET-build-texinfo=all
  maybe-all-build-texinfo: all-build-texinfo
  all-build-texinfo: configure-build-texinfo
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/texinfo && \
! 	  $(MAKE)   $(TARGET-build-texinfo))
  @endif build-texinfo
  
+ 
+ 
+ 
+ 
  .PHONY: configure-build-fixincludes maybe-configure-build-fixincludes
  maybe-configure-build-fixincludes:
  @if build-fixincludes
  maybe-configure-build-fixincludes: configure-build-fixincludes
! configure-build-fixincludes: 
! 	@$(unstage)
  	@test ! -f $(BUILD_SUBDIR)/fixincludes/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/fixincludes ; \
  	r=`${PWD_COMMAND}`; export r; \
*************** configure-build-fixincludes:
*** 2565,2680 ****
  	echo Configuring in $(BUILD_SUBDIR)/fixincludes; \
  	cd "$(BUILD_SUBDIR)/fixincludes" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/fixincludes "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/fixincludes"; \
! 	  libsrcdir="$$s/fixincludes"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)"  \
  	  || exit 1
  @endif build-fixincludes
  
  .PHONY: all-build-fixincludes maybe-all-build-fixincludes
  maybe-all-build-fixincludes:
  @if build-fixincludes
  TARGET-build-fixincludes=all
  maybe-all-build-fixincludes: all-build-fixincludes
  all-build-fixincludes: configure-build-fixincludes
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/fixincludes && \
! 	  $(MAKE)  $(TARGET-build-fixincludes))
  @endif build-fixincludes
  
  
  # --------------------------------------
  # Modules which run on the host machine
  # --------------------------------------
  
  .PHONY: configure-ash maybe-configure-ash
  maybe-configure-ash:
  @if ash
  maybe-configure-ash: configure-ash
! configure-ash:
! 	@test ! -f ash/Makefile || exit 0; \
! 	[ -d ash ] || mkdir ash; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in ash; \
! 	cd ash || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/ash"; \
! 	    libsrcdir="$$s/ash";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/ash"; \
! 	    libsrcdir="$$s/ash";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif ash
  
  .PHONY: all-ash maybe-all-ash
  maybe-all-ash:
  @if ash
  TARGET-ash=all
  maybe-all-ash: all-ash
  all-ash: configure-ash
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ash && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-ash))
  @endif ash
  
  .PHONY: check-ash maybe-check-ash
  maybe-check-ash:
  @if ash
  maybe-check-ash: check-ash
  
  check-ash:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ash && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif ash
  
--- 2494,2596 ----
  	echo Configuring in $(BUILD_SUBDIR)/fixincludes; \
  	cd "$(BUILD_SUBDIR)/fixincludes" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(BUILD_SUBDIR)/fixincludes/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/fixincludes"; \
! 	libsrcdir="$$s/fixincludes"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif build-fixincludes
  
+ 
+ 
+ 
+ 
  .PHONY: all-build-fixincludes maybe-all-build-fixincludes
  maybe-all-build-fixincludes:
  @if build-fixincludes
  TARGET-build-fixincludes=all
  maybe-all-build-fixincludes: all-build-fixincludes
  all-build-fixincludes: configure-build-fixincludes
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(BUILD_EXPORTS) \
  	(cd $(BUILD_SUBDIR)/fixincludes && \
! 	  $(MAKE)   $(TARGET-build-fixincludes))
  @endif build-fixincludes
  
  
+ 
+ 
+ 
  # --------------------------------------
  # Modules which run on the host machine
  # --------------------------------------
  
+ 
  .PHONY: configure-ash maybe-configure-ash
  maybe-configure-ash:
  @if ash
  maybe-configure-ash: configure-ash
! configure-ash: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/ash/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ash ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/ash; \
! 	cd "$(HOST_SUBDIR)/ash" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/ash/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ash"; \
+ 	libsrcdir="$$s/ash"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif ash
  
+ 
+ 
+ 
+ 
  .PHONY: all-ash maybe-all-ash
  maybe-all-ash:
  @if ash
  TARGET-ash=all
  maybe-all-ash: all-ash
  all-ash: configure-ash
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ash))
  @endif ash
  
+ 
+ 
+ 
  .PHONY: check-ash maybe-check-ash
  maybe-check-ash:
  @if ash
  maybe-check-ash: check-ash
  
  check-ash:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif ash
  
*************** maybe-install-ash:
*** 2684,2694 ****
  maybe-install-ash: install-ash
  
  install-ash: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ash && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif ash
  
--- 2600,2611 ----
  maybe-install-ash: install-ash
  
  install-ash: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif ash
  
*************** maybe-info-ash: info-ash
*** 2701,2716 ****
  
  info-ash: \
      configure-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2618,2633 ----
  
  info-ash: \
      configure-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-ash: dvi-ash
*** 2727,2742 ****
  
  dvi-ash: \
      configure-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2644,2659 ----
  
  dvi-ash: \
      configure-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-ash: html-ash
*** 2753,2768 ****
  
  html-ash: \
      configure-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2670,2685 ----
  
  html-ash: \
      configure-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-ash: TAGS-ash
*** 2779,2794 ****
  
  TAGS-ash: \
      configure-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2696,2711 ----
  
  TAGS-ash: \
      configure-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-ash: install-info-ash
*** 2806,2821 ****
  install-info-ash: \
      configure-ash \
      info-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2723,2738 ----
  install-info-ash: \
      configure-ash \
      info-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-ash: installcheck-ash
*** 2832,2847 ****
  
  installcheck-ash: \
      configure-ash 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2749,2764 ----
  
  installcheck-ash: \
      configure-ash 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-ash:
*** 2857,2872 ****
  maybe-mostlyclean-ash: mostlyclean-ash
  
  mostlyclean-ash: 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2774,2789 ----
  maybe-mostlyclean-ash: mostlyclean-ash
  
  mostlyclean-ash: 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-ash:
*** 2882,2897 ****
  maybe-clean-ash: clean-ash
  
  clean-ash: 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2799,2814 ----
  maybe-clean-ash: clean-ash
  
  clean-ash: 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-ash:
*** 2907,2922 ****
  maybe-distclean-ash: distclean-ash
  
  distclean-ash: 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2824,2839 ----
  maybe-distclean-ash: distclean-ash
  
  distclean-ash: 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-ash:
*** 2932,2947 ****
  maybe-maintainer-clean-ash: maintainer-clean-ash
  
  maintainer-clean-ash: 
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in ash" ; \
! 	(cd ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2849,2864 ----
  maybe-maintainer-clean-ash: maintainer-clean-ash
  
  maintainer-clean-ash: 
+ 	@$(unstage)
  	@[ -f ./ash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in ash" ; \
! 	(cd $(HOST_SUBDIR)/ash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-ash: 
*** 2952,3010 ****
  @endif ash
  
  
  .PHONY: configure-autoconf maybe-configure-autoconf
  maybe-configure-autoconf:
  @if autoconf
  maybe-configure-autoconf: configure-autoconf
! configure-autoconf:
! 	@test ! -f autoconf/Makefile || exit 0; \
! 	[ -d autoconf ] || mkdir autoconf; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in autoconf; \
! 	cd autoconf || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/autoconf"; \
! 	    libsrcdir="$$s/autoconf";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/autoconf"; \
! 	    libsrcdir="$$s/autoconf";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif autoconf
  
  .PHONY: all-autoconf maybe-all-autoconf
  maybe-all-autoconf:
  @if autoconf
  TARGET-autoconf=all
  maybe-all-autoconf: all-autoconf
  all-autoconf: configure-autoconf
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd autoconf && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-autoconf))
  @endif autoconf
  
  .PHONY: check-autoconf maybe-check-autoconf
  maybe-check-autoconf:
  @if autoconf
  maybe-check-autoconf: check-autoconf
  
  check-autoconf:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd autoconf && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif autoconf
  
--- 2869,2933 ----
  @endif ash
  
  
+ 
  .PHONY: configure-autoconf maybe-configure-autoconf
  maybe-configure-autoconf:
  @if autoconf
  maybe-configure-autoconf: configure-autoconf
! configure-autoconf: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/autoconf/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/autoconf ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/autoconf; \
! 	cd "$(HOST_SUBDIR)/autoconf" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/autoconf/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/autoconf"; \
+ 	libsrcdir="$$s/autoconf"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif autoconf
  
+ 
+ 
+ 
+ 
  .PHONY: all-autoconf maybe-all-autoconf
  maybe-all-autoconf:
  @if autoconf
  TARGET-autoconf=all
  maybe-all-autoconf: all-autoconf
  all-autoconf: configure-autoconf
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/autoconf && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-autoconf))
  @endif autoconf
  
+ 
+ 
+ 
  .PHONY: check-autoconf maybe-check-autoconf
  maybe-check-autoconf:
  @if autoconf
  maybe-check-autoconf: check-autoconf
  
  check-autoconf:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/autoconf && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif autoconf
  
*************** maybe-install-autoconf:
*** 3014,3024 ****
  maybe-install-autoconf: install-autoconf
  
  install-autoconf: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd autoconf && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif autoconf
  
--- 2937,2948 ----
  maybe-install-autoconf: install-autoconf
  
  install-autoconf: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/autoconf && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif autoconf
  
*************** maybe-info-autoconf: info-autoconf
*** 3031,3046 ****
  
  info-autoconf: \
      configure-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2955,2970 ----
  
  info-autoconf: \
      configure-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-autoconf: dvi-autoconf
*** 3057,3072 ****
  
  dvi-autoconf: \
      configure-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 2981,2996 ----
  
  dvi-autoconf: \
      configure-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-autoconf: html-autoconf
*** 3083,3098 ****
  
  html-autoconf: \
      configure-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3007,3022 ----
  
  html-autoconf: \
      configure-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-autoconf: TAGS-autoconf
*** 3109,3124 ****
  
  TAGS-autoconf: \
      configure-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3033,3048 ----
  
  TAGS-autoconf: \
      configure-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-autoconf: install-inf
*** 3136,3151 ****
  install-info-autoconf: \
      configure-autoconf \
      info-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3060,3075 ----
  install-info-autoconf: \
      configure-autoconf \
      info-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-autoconf: installchec
*** 3162,3177 ****
  
  installcheck-autoconf: \
      configure-autoconf 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3086,3101 ----
  
  installcheck-autoconf: \
      configure-autoconf 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-autoconf:
*** 3187,3202 ****
  maybe-mostlyclean-autoconf: mostlyclean-autoconf
  
  mostlyclean-autoconf: 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3111,3126 ----
  maybe-mostlyclean-autoconf: mostlyclean-autoconf
  
  mostlyclean-autoconf: 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-autoconf:
*** 3212,3227 ****
  maybe-clean-autoconf: clean-autoconf
  
  clean-autoconf: 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3136,3151 ----
  maybe-clean-autoconf: clean-autoconf
  
  clean-autoconf: 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-autoconf:
*** 3237,3252 ****
  maybe-distclean-autoconf: distclean-autoconf
  
  distclean-autoconf: 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3161,3176 ----
  maybe-distclean-autoconf: distclean-autoconf
  
  distclean-autoconf: 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-autoconf:
*** 3262,3277 ****
  maybe-maintainer-clean-autoconf: maintainer-clean-autoconf
  
  maintainer-clean-autoconf: 
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in autoconf" ; \
! 	(cd autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3186,3201 ----
  maybe-maintainer-clean-autoconf: maintainer-clean-autoconf
  
  maintainer-clean-autoconf: 
+ 	@$(unstage)
  	@[ -f ./autoconf/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in autoconf" ; \
! 	(cd $(HOST_SUBDIR)/autoconf && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-autoconf: 
*** 3282,3340 ****
  @endif autoconf
  
  
  .PHONY: configure-automake maybe-configure-automake
  maybe-configure-automake:
  @if automake
  maybe-configure-automake: configure-automake
! configure-automake:
! 	@test ! -f automake/Makefile || exit 0; \
! 	[ -d automake ] || mkdir automake; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in automake; \
! 	cd automake || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/automake"; \
! 	    libsrcdir="$$s/automake";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/automake"; \
! 	    libsrcdir="$$s/automake";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif automake
  
  .PHONY: all-automake maybe-all-automake
  maybe-all-automake:
  @if automake
  TARGET-automake=all
  maybe-all-automake: all-automake
  all-automake: configure-automake
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd automake && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-automake))
  @endif automake
  
  .PHONY: check-automake maybe-check-automake
  maybe-check-automake:
  @if automake
  maybe-check-automake: check-automake
  
  check-automake:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd automake && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif automake
  
--- 3206,3270 ----
  @endif autoconf
  
  
+ 
  .PHONY: configure-automake maybe-configure-automake
  maybe-configure-automake:
  @if automake
  maybe-configure-automake: configure-automake
! configure-automake: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/automake/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/automake ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/automake; \
! 	cd "$(HOST_SUBDIR)/automake" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/automake/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/automake"; \
+ 	libsrcdir="$$s/automake"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif automake
  
+ 
+ 
+ 
+ 
  .PHONY: all-automake maybe-all-automake
  maybe-all-automake:
  @if automake
  TARGET-automake=all
  maybe-all-automake: all-automake
  all-automake: configure-automake
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/automake && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-automake))
  @endif automake
  
+ 
+ 
+ 
  .PHONY: check-automake maybe-check-automake
  maybe-check-automake:
  @if automake
  maybe-check-automake: check-automake
  
  check-automake:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/automake && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif automake
  
*************** maybe-install-automake:
*** 3344,3354 ****
  maybe-install-automake: install-automake
  
  install-automake: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd automake && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif automake
  
--- 3274,3285 ----
  maybe-install-automake: install-automake
  
  install-automake: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/automake && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif automake
  
*************** maybe-info-automake: info-automake
*** 3361,3376 ****
  
  info-automake: \
      configure-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3292,3307 ----
  
  info-automake: \
      configure-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-automake: dvi-automake
*** 3387,3402 ****
  
  dvi-automake: \
      configure-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3318,3333 ----
  
  dvi-automake: \
      configure-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-automake: html-automake
*** 3413,3428 ****
  
  html-automake: \
      configure-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3344,3359 ----
  
  html-automake: \
      configure-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-automake: TAGS-automake
*** 3439,3454 ****
  
  TAGS-automake: \
      configure-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3370,3385 ----
  
  TAGS-automake: \
      configure-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-automake: install-inf
*** 3466,3481 ****
  install-info-automake: \
      configure-automake \
      info-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3397,3412 ----
  install-info-automake: \
      configure-automake \
      info-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-automake: installchec
*** 3492,3507 ****
  
  installcheck-automake: \
      configure-automake 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3423,3438 ----
  
  installcheck-automake: \
      configure-automake 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-automake:
*** 3517,3532 ****
  maybe-mostlyclean-automake: mostlyclean-automake
  
  mostlyclean-automake: 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3448,3463 ----
  maybe-mostlyclean-automake: mostlyclean-automake
  
  mostlyclean-automake: 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-automake:
*** 3542,3557 ****
  maybe-clean-automake: clean-automake
  
  clean-automake: 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3473,3488 ----
  maybe-clean-automake: clean-automake
  
  clean-automake: 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-automake:
*** 3567,3582 ****
  maybe-distclean-automake: distclean-automake
  
  distclean-automake: 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3498,3513 ----
  maybe-distclean-automake: distclean-automake
  
  distclean-automake: 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-automake:
*** 3592,3607 ****
  maybe-maintainer-clean-automake: maintainer-clean-automake
  
  maintainer-clean-automake: 
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in automake" ; \
! 	(cd automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3523,3538 ----
  maybe-maintainer-clean-automake: maintainer-clean-automake
  
  maintainer-clean-automake: 
+ 	@$(unstage)
  	@[ -f ./automake/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in automake" ; \
! 	(cd $(HOST_SUBDIR)/automake && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-automake: 
*** 3612,3670 ****
  @endif automake
  
  
  .PHONY: configure-bash maybe-configure-bash
  maybe-configure-bash:
  @if bash
  maybe-configure-bash: configure-bash
! configure-bash:
! 	@test ! -f bash/Makefile || exit 0; \
! 	[ -d bash ] || mkdir bash; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in bash; \
! 	cd bash || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/bash"; \
! 	    libsrcdir="$$s/bash";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/bash"; \
! 	    libsrcdir="$$s/bash";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bash
  
  .PHONY: all-bash maybe-all-bash
  maybe-all-bash:
  @if bash
  TARGET-bash=all
  maybe-all-bash: all-bash
  all-bash: configure-bash
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bash && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-bash))
  @endif bash
  
  .PHONY: check-bash maybe-check-bash
  maybe-check-bash:
  @if bash
  maybe-check-bash: check-bash
  
  check-bash:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bash && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bash
  
--- 3543,3607 ----
  @endif automake
  
  
+ 
  .PHONY: configure-bash maybe-configure-bash
  maybe-configure-bash:
  @if bash
  maybe-configure-bash: configure-bash
! configure-bash: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/bash/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bash ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/bash; \
! 	cd "$(HOST_SUBDIR)/bash" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/bash/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bash"; \
+ 	libsrcdir="$$s/bash"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bash
  
+ 
+ 
+ 
+ 
  .PHONY: all-bash maybe-all-bash
  maybe-all-bash:
  @if bash
  TARGET-bash=all
  maybe-all-bash: all-bash
  all-bash: configure-bash
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bash))
  @endif bash
  
+ 
+ 
+ 
  .PHONY: check-bash maybe-check-bash
  maybe-check-bash:
  @if bash
  maybe-check-bash: check-bash
  
  check-bash:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bash
  
*************** maybe-install-bash:
*** 3674,3684 ****
  maybe-install-bash: install-bash
  
  install-bash: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bash && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bash
  
--- 3611,3622 ----
  maybe-install-bash: install-bash
  
  install-bash: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bash && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bash
  
*************** maybe-info-bash: info-bash
*** 3691,3706 ****
  
  info-bash: \
      configure-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3629,3644 ----
  
  info-bash: \
      configure-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-bash: dvi-bash
*** 3717,3732 ****
  
  dvi-bash: \
      configure-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3655,3670 ----
  
  dvi-bash: \
      configure-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-bash: html-bash
*** 3743,3758 ****
  
  html-bash: \
      configure-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3681,3696 ----
  
  html-bash: \
      configure-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-bash: TAGS-bash
*** 3769,3784 ****
  
  TAGS-bash: \
      configure-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3707,3722 ----
  
  TAGS-bash: \
      configure-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-bash: install-info-ba
*** 3796,3811 ****
  install-info-bash: \
      configure-bash \
      info-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3734,3749 ----
  install-info-bash: \
      configure-bash \
      info-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-bash: installcheck-ba
*** 3822,3837 ****
  
  installcheck-bash: \
      configure-bash 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3760,3775 ----
  
  installcheck-bash: \
      configure-bash 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-bash:
*** 3847,3862 ****
  maybe-mostlyclean-bash: mostlyclean-bash
  
  mostlyclean-bash: 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3785,3800 ----
  maybe-mostlyclean-bash: mostlyclean-bash
  
  mostlyclean-bash: 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-bash:
*** 3872,3887 ****
  maybe-clean-bash: clean-bash
  
  clean-bash: 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3810,3825 ----
  maybe-clean-bash: clean-bash
  
  clean-bash: 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-bash:
*** 3897,3912 ****
  maybe-distclean-bash: distclean-bash
  
  distclean-bash: 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3835,3850 ----
  maybe-distclean-bash: distclean-bash
  
  distclean-bash: 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-bash:
*** 3922,3937 ****
  maybe-maintainer-clean-bash: maintainer-clean-bash
  
  maintainer-clean-bash: 
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bash" ; \
! 	(cd bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 3860,3875 ----
  maybe-maintainer-clean-bash: maintainer-clean-bash
  
  maintainer-clean-bash: 
+ 	@$(unstage)
  	@[ -f ./bash/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bash" ; \
! 	(cd $(HOST_SUBDIR)/bash && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-bash: 
*** 3942,3976 ****
  @endif bash
  
  
  .PHONY: configure-bfd maybe-configure-bfd
  maybe-configure-bfd:
  @if bfd
  maybe-configure-bfd: configure-bfd
! configure-bfd:
  	@test -f stage_last && exit 0; \
! 	test ! -f bfd/Makefile || exit 0; \
! 	[ -d bfd ] || mkdir bfd; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in bfd; \
! 	cd bfd || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
! 	    libsrcdir="$$s/bfd";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
! 	    libsrcdir="$$s/bfd";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bfd
  
  .PHONY: all-bfd maybe-all-bfd
  maybe-all-bfd:
  @if bfd
--- 3880,4066 ----
  @endif bash
  
  
+ 
  .PHONY: configure-bfd maybe-configure-bfd
  maybe-configure-bfd:
  @if bfd
  maybe-configure-bfd: configure-bfd
! configure-bfd: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/bfd/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bfd ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/bfd; \
! 	cd "$(HOST_SUBDIR)/bfd" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bfd
  
+ 
+ 
+ .PHONY: configure-stage1-bfd maybe-configure-stage1-bfd
+ maybe-configure-stage1-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stage1-bfd: configure-stage1-bfd
+ configure-stage1-bfd: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif bfd-bootstrap
+ 
+ .PHONY: configure-stage2-bfd maybe-configure-stage2-bfd
+ maybe-configure-stage2-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stage2-bfd: configure-stage2-bfd
+ configure-stage2-bfd: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif bfd-bootstrap
+ 
+ .PHONY: configure-stage3-bfd maybe-configure-stage3-bfd
+ maybe-configure-stage3-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stage3-bfd: configure-stage3-bfd
+ configure-stage3-bfd: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif bfd-bootstrap
+ 
+ .PHONY: configure-stage4-bfd maybe-configure-stage4-bfd
+ maybe-configure-stage4-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stage4-bfd: configure-stage4-bfd
+ configure-stage4-bfd: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif bfd-bootstrap
+ 
+ .PHONY: configure-stageprofile-bfd maybe-configure-stageprofile-bfd
+ maybe-configure-stageprofile-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stageprofile-bfd: configure-stageprofile-bfd
+ configure-stageprofile-bfd: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif bfd-bootstrap
+ 
+ .PHONY: configure-stagefeedback-bfd maybe-configure-stagefeedback-bfd
+ maybe-configure-stagefeedback-bfd:
+ @if bfd-bootstrap
+ maybe-configure-stagefeedback-bfd: configure-stagefeedback-bfd
+ configure-stagefeedback-bfd: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/bfd ; \
+ 	cd $(HOST_SUBDIR)/bfd || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/bfd/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bfd"; \
+ 	libsrcdir="$$s/bfd"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif bfd-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-bfd maybe-all-bfd
  maybe-all-bfd:
  @if bfd
*************** all-bfd: configure-bfd
*** 3980,4002 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bfd && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-bfd))
  @endif bfd
  
  .PHONY: check-bfd maybe-check-bfd
  maybe-check-bfd:
  @if bfd
  maybe-check-bfd: check-bfd
  
  check-bfd:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bfd && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bfd
  
--- 4070,4281 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bfd && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bfd))
  @endif bfd
  
+ 
+ 
+ .PHONY: all-stage1-bfd maybe-all-stage1-bfd
+ .PHONY: clean-stage1-bfd maybe-clean-stage1-bfd
+ maybe-all-stage1-bfd:
+ maybe-clean-stage1-bfd:
+ @if bfd-bootstrap
+ maybe-all-stage1-bfd: all-stage1-bfd
+ all-stage1: all-stage1-bfd
+ TARGET-stage1-bfd = $(TARGET-bfd)
+ all-stage1-bfd: configure-stage1-bfd
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-bfd)
+ 
+ maybe-clean-stage1-bfd: clean-stage1-bfd
+ clean-stage1: clean-stage1-bfd
+ clean-stage1-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif bfd-bootstrap
+ 
+ 
+ .PHONY: all-stage2-bfd maybe-all-stage2-bfd
+ .PHONY: clean-stage2-bfd maybe-clean-stage2-bfd
+ maybe-all-stage2-bfd:
+ maybe-clean-stage2-bfd:
+ @if bfd-bootstrap
+ maybe-all-stage2-bfd: all-stage2-bfd
+ all-stage2: all-stage2-bfd
+ TARGET-stage2-bfd = $(TARGET-bfd)
+ all-stage2-bfd: configure-stage2-bfd
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-bfd)
+ 
+ maybe-clean-stage2-bfd: clean-stage2-bfd
+ clean-stage2: clean-stage2-bfd
+ clean-stage2-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif bfd-bootstrap
+ 
+ 
+ .PHONY: all-stage3-bfd maybe-all-stage3-bfd
+ .PHONY: clean-stage3-bfd maybe-clean-stage3-bfd
+ maybe-all-stage3-bfd:
+ maybe-clean-stage3-bfd:
+ @if bfd-bootstrap
+ maybe-all-stage3-bfd: all-stage3-bfd
+ all-stage3: all-stage3-bfd
+ TARGET-stage3-bfd = $(TARGET-bfd)
+ all-stage3-bfd: configure-stage3-bfd
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-bfd)
+ 
+ maybe-clean-stage3-bfd: clean-stage3-bfd
+ clean-stage3: clean-stage3-bfd
+ clean-stage3-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif bfd-bootstrap
+ 
+ 
+ .PHONY: all-stage4-bfd maybe-all-stage4-bfd
+ .PHONY: clean-stage4-bfd maybe-clean-stage4-bfd
+ maybe-all-stage4-bfd:
+ maybe-clean-stage4-bfd:
+ @if bfd-bootstrap
+ maybe-all-stage4-bfd: all-stage4-bfd
+ all-stage4: all-stage4-bfd
+ TARGET-stage4-bfd = $(TARGET-bfd)
+ all-stage4-bfd: configure-stage4-bfd
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-bfd)
+ 
+ maybe-clean-stage4-bfd: clean-stage4-bfd
+ clean-stage4: clean-stage4-bfd
+ clean-stage4-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif bfd-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-bfd maybe-all-stageprofile-bfd
+ .PHONY: clean-stageprofile-bfd maybe-clean-stageprofile-bfd
+ maybe-all-stageprofile-bfd:
+ maybe-clean-stageprofile-bfd:
+ @if bfd-bootstrap
+ maybe-all-stageprofile-bfd: all-stageprofile-bfd
+ all-stageprofile: all-stageprofile-bfd
+ TARGET-stageprofile-bfd = $(TARGET-bfd)
+ all-stageprofile-bfd: configure-stageprofile-bfd
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-bfd)
+ 
+ maybe-clean-stageprofile-bfd: clean-stageprofile-bfd
+ clean-stageprofile: clean-stageprofile-bfd
+ clean-stageprofile-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif bfd-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-bfd maybe-all-stagefeedback-bfd
+ .PHONY: clean-stagefeedback-bfd maybe-clean-stagefeedback-bfd
+ maybe-all-stagefeedback-bfd:
+ maybe-clean-stagefeedback-bfd:
+ @if bfd-bootstrap
+ maybe-all-stagefeedback-bfd: all-stagefeedback-bfd
+ all-stagefeedback: all-stagefeedback-bfd
+ TARGET-stagefeedback-bfd = $(TARGET-bfd)
+ all-stagefeedback-bfd: configure-stagefeedback-bfd
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-bfd)
+ 
+ maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd
+ clean-stagefeedback: clean-stagefeedback-bfd
+ clean-stagefeedback-bfd:
+ 	@[ -f $(HOST_SUBDIR)/bfd/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-bfd/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/bfd && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif bfd-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-bfd maybe-check-bfd
  maybe-check-bfd:
  @if bfd
  maybe-check-bfd: check-bfd
  
  check-bfd:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bfd && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bfd
  
*************** maybe-install-bfd:
*** 4006,4016 ****
  maybe-install-bfd: install-bfd
  
  install-bfd: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bfd && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bfd
  
--- 4285,4296 ----
  maybe-install-bfd: install-bfd
  
  install-bfd: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bfd && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bfd
  
*************** info-bfd: \
*** 4026,4038 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4306,4317 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-bfd: \
*** 4052,4064 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4331,4342 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-bfd: \
*** 4078,4090 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4356,4367 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-bfd: \
*** 4104,4116 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4381,4392 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-bfd: \
*** 4131,4143 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4407,4418 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-bfd: \
*** 4157,4169 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4432,4443 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-bfd: 
*** 4182,4194 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4456,4467 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-bfd: 
*** 4207,4219 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4480,4491 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-bfd: 
*** 4232,4244 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4504,4515 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-bfd: 
*** 4257,4269 ****
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bfd" ; \
! 	(cd bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4528,4539 ----
  	@[ -f ./bfd/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bfd" ; \
! 	(cd $(HOST_SUBDIR)/bfd && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-bfd: 
*** 4274,4308 ****
  @endif bfd
  
  
  .PHONY: configure-opcodes maybe-configure-opcodes
  maybe-configure-opcodes:
  @if opcodes
  maybe-configure-opcodes: configure-opcodes
! configure-opcodes:
  	@test -f stage_last && exit 0; \
! 	test ! -f opcodes/Makefile || exit 0; \
! 	[ -d opcodes ] || mkdir opcodes; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in opcodes; \
! 	cd opcodes || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
! 	    libsrcdir="$$s/opcodes";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
! 	    libsrcdir="$$s/opcodes";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif opcodes
  
  .PHONY: all-opcodes maybe-all-opcodes
  maybe-all-opcodes:
  @if opcodes
--- 4544,4730 ----
  @endif bfd
  
  
+ 
  .PHONY: configure-opcodes maybe-configure-opcodes
  maybe-configure-opcodes:
  @if opcodes
  maybe-configure-opcodes: configure-opcodes
! configure-opcodes: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/opcodes/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/opcodes ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/opcodes; \
! 	cd "$(HOST_SUBDIR)/opcodes" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif opcodes
  
+ 
+ 
+ .PHONY: configure-stage1-opcodes maybe-configure-stage1-opcodes
+ maybe-configure-stage1-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stage1-opcodes: configure-stage1-opcodes
+ configure-stage1-opcodes: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif opcodes-bootstrap
+ 
+ .PHONY: configure-stage2-opcodes maybe-configure-stage2-opcodes
+ maybe-configure-stage2-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stage2-opcodes: configure-stage2-opcodes
+ configure-stage2-opcodes: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif opcodes-bootstrap
+ 
+ .PHONY: configure-stage3-opcodes maybe-configure-stage3-opcodes
+ maybe-configure-stage3-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stage3-opcodes: configure-stage3-opcodes
+ configure-stage3-opcodes: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif opcodes-bootstrap
+ 
+ .PHONY: configure-stage4-opcodes maybe-configure-stage4-opcodes
+ maybe-configure-stage4-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stage4-opcodes: configure-stage4-opcodes
+ configure-stage4-opcodes: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif opcodes-bootstrap
+ 
+ .PHONY: configure-stageprofile-opcodes maybe-configure-stageprofile-opcodes
+ maybe-configure-stageprofile-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stageprofile-opcodes: configure-stageprofile-opcodes
+ configure-stageprofile-opcodes: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif opcodes-bootstrap
+ 
+ .PHONY: configure-stagefeedback-opcodes maybe-configure-stagefeedback-opcodes
+ maybe-configure-stagefeedback-opcodes:
+ @if opcodes-bootstrap
+ maybe-configure-stagefeedback-opcodes: configure-stagefeedback-opcodes
+ configure-stagefeedback-opcodes: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/opcodes ; \
+ 	cd $(HOST_SUBDIR)/opcodes || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/opcodes/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/opcodes"; \
+ 	libsrcdir="$$s/opcodes"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif opcodes-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-opcodes maybe-all-opcodes
  maybe-all-opcodes:
  @if opcodes
*************** all-opcodes: configure-opcodes
*** 4312,4334 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd opcodes && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-opcodes))
  @endif opcodes
  
  .PHONY: check-opcodes maybe-check-opcodes
  maybe-check-opcodes:
  @if opcodes
  maybe-check-opcodes: check-opcodes
  
  check-opcodes:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd opcodes && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif opcodes
  
--- 4734,4945 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/opcodes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-opcodes))
  @endif opcodes
  
+ 
+ 
+ .PHONY: all-stage1-opcodes maybe-all-stage1-opcodes
+ .PHONY: clean-stage1-opcodes maybe-clean-stage1-opcodes
+ maybe-all-stage1-opcodes:
+ maybe-clean-stage1-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stage1-opcodes: all-stage1-opcodes
+ all-stage1: all-stage1-opcodes
+ TARGET-stage1-opcodes = $(TARGET-opcodes)
+ all-stage1-opcodes: configure-stage1-opcodes
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-opcodes)
+ 
+ maybe-clean-stage1-opcodes: clean-stage1-opcodes
+ clean-stage1: clean-stage1-opcodes
+ clean-stage1-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ .PHONY: all-stage2-opcodes maybe-all-stage2-opcodes
+ .PHONY: clean-stage2-opcodes maybe-clean-stage2-opcodes
+ maybe-all-stage2-opcodes:
+ maybe-clean-stage2-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stage2-opcodes: all-stage2-opcodes
+ all-stage2: all-stage2-opcodes
+ TARGET-stage2-opcodes = $(TARGET-opcodes)
+ all-stage2-opcodes: configure-stage2-opcodes
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-opcodes)
+ 
+ maybe-clean-stage2-opcodes: clean-stage2-opcodes
+ clean-stage2: clean-stage2-opcodes
+ clean-stage2-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ .PHONY: all-stage3-opcodes maybe-all-stage3-opcodes
+ .PHONY: clean-stage3-opcodes maybe-clean-stage3-opcodes
+ maybe-all-stage3-opcodes:
+ maybe-clean-stage3-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stage3-opcodes: all-stage3-opcodes
+ all-stage3: all-stage3-opcodes
+ TARGET-stage3-opcodes = $(TARGET-opcodes)
+ all-stage3-opcodes: configure-stage3-opcodes
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-opcodes)
+ 
+ maybe-clean-stage3-opcodes: clean-stage3-opcodes
+ clean-stage3: clean-stage3-opcodes
+ clean-stage3-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ .PHONY: all-stage4-opcodes maybe-all-stage4-opcodes
+ .PHONY: clean-stage4-opcodes maybe-clean-stage4-opcodes
+ maybe-all-stage4-opcodes:
+ maybe-clean-stage4-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stage4-opcodes: all-stage4-opcodes
+ all-stage4: all-stage4-opcodes
+ TARGET-stage4-opcodes = $(TARGET-opcodes)
+ all-stage4-opcodes: configure-stage4-opcodes
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-opcodes)
+ 
+ maybe-clean-stage4-opcodes: clean-stage4-opcodes
+ clean-stage4: clean-stage4-opcodes
+ clean-stage4-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-opcodes maybe-all-stageprofile-opcodes
+ .PHONY: clean-stageprofile-opcodes maybe-clean-stageprofile-opcodes
+ maybe-all-stageprofile-opcodes:
+ maybe-clean-stageprofile-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stageprofile-opcodes: all-stageprofile-opcodes
+ all-stageprofile: all-stageprofile-opcodes
+ TARGET-stageprofile-opcodes = $(TARGET-opcodes)
+ all-stageprofile-opcodes: configure-stageprofile-opcodes
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-opcodes)
+ 
+ maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes
+ clean-stageprofile: clean-stageprofile-opcodes
+ clean-stageprofile-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-opcodes maybe-all-stagefeedback-opcodes
+ .PHONY: clean-stagefeedback-opcodes maybe-clean-stagefeedback-opcodes
+ maybe-all-stagefeedback-opcodes:
+ maybe-clean-stagefeedback-opcodes:
+ @if opcodes-bootstrap
+ maybe-all-stagefeedback-opcodes: all-stagefeedback-opcodes
+ all-stagefeedback: all-stagefeedback-opcodes
+ TARGET-stagefeedback-opcodes = $(TARGET-opcodes)
+ all-stagefeedback-opcodes: configure-stagefeedback-opcodes
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-opcodes)
+ 
+ maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes
+ clean-stagefeedback: clean-stagefeedback-opcodes
+ clean-stagefeedback-opcodes:
+ 	@[ -f $(HOST_SUBDIR)/opcodes/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-opcodes/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/opcodes && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif opcodes-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-opcodes maybe-check-opcodes
  maybe-check-opcodes:
  @if opcodes
  maybe-check-opcodes: check-opcodes
  
  check-opcodes:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/opcodes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif opcodes
  
*************** maybe-install-opcodes:
*** 4338,4348 ****
  maybe-install-opcodes: install-opcodes
  
  install-opcodes: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd opcodes && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif opcodes
  
--- 4949,4960 ----
  maybe-install-opcodes: install-opcodes
  
  install-opcodes: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/opcodes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif opcodes
  
*************** info-opcodes: \
*** 4358,4370 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4970,4981 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-opcodes: \
*** 4384,4396 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 4995,5006 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-opcodes: \
*** 4410,4422 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5020,5031 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-opcodes: \
*** 4436,4448 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5045,5056 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-opcodes: \
*** 4463,4475 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5071,5082 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-opcodes: \
*** 4489,4501 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5096,5107 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-opcodes: 
*** 4514,4526 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5120,5131 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-opcodes: 
*** 4539,4551 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5144,5155 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-opcodes: 
*** 4564,4576 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5168,5179 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-opcodes: 
*** 4589,4601 ****
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in opcodes" ; \
! 	(cd opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5192,5203 ----
  	@[ -f ./opcodes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in opcodes" ; \
! 	(cd $(HOST_SUBDIR)/opcodes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-opcodes: 
*** 4606,4640 ****
  @endif opcodes
  
  
  .PHONY: configure-binutils maybe-configure-binutils
  maybe-configure-binutils:
  @if binutils
  maybe-configure-binutils: configure-binutils
! configure-binutils:
  	@test -f stage_last && exit 0; \
! 	test ! -f binutils/Makefile || exit 0; \
! 	[ -d binutils ] || mkdir binutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in binutils; \
! 	cd binutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
! 	    libsrcdir="$$s/binutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
! 	    libsrcdir="$$s/binutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif binutils
  
  .PHONY: all-binutils maybe-all-binutils
  maybe-all-binutils:
  @if binutils
--- 5208,5394 ----
  @endif opcodes
  
  
+ 
  .PHONY: configure-binutils maybe-configure-binutils
  maybe-configure-binutils:
  @if binutils
  maybe-configure-binutils: configure-binutils
! configure-binutils: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/binutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/binutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/binutils; \
! 	cd "$(HOST_SUBDIR)/binutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif binutils
  
+ 
+ 
+ .PHONY: configure-stage1-binutils maybe-configure-stage1-binutils
+ maybe-configure-stage1-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stage1-binutils: configure-stage1-binutils
+ configure-stage1-binutils: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif binutils-bootstrap
+ 
+ .PHONY: configure-stage2-binutils maybe-configure-stage2-binutils
+ maybe-configure-stage2-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stage2-binutils: configure-stage2-binutils
+ configure-stage2-binutils: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif binutils-bootstrap
+ 
+ .PHONY: configure-stage3-binutils maybe-configure-stage3-binutils
+ maybe-configure-stage3-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stage3-binutils: configure-stage3-binutils
+ configure-stage3-binutils: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif binutils-bootstrap
+ 
+ .PHONY: configure-stage4-binutils maybe-configure-stage4-binutils
+ maybe-configure-stage4-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stage4-binutils: configure-stage4-binutils
+ configure-stage4-binutils: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif binutils-bootstrap
+ 
+ .PHONY: configure-stageprofile-binutils maybe-configure-stageprofile-binutils
+ maybe-configure-stageprofile-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stageprofile-binutils: configure-stageprofile-binutils
+ configure-stageprofile-binutils: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif binutils-bootstrap
+ 
+ .PHONY: configure-stagefeedback-binutils maybe-configure-stagefeedback-binutils
+ maybe-configure-stagefeedback-binutils:
+ @if binutils-bootstrap
+ maybe-configure-stagefeedback-binutils: configure-stagefeedback-binutils
+ configure-stagefeedback-binutils: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/binutils ; \
+ 	cd $(HOST_SUBDIR)/binutils || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/binutils/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/binutils"; \
+ 	libsrcdir="$$s/binutils"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif binutils-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-binutils maybe-all-binutils
  maybe-all-binutils:
  @if binutils
*************** all-binutils: configure-binutils
*** 4644,4666 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd binutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-binutils))
  @endif binutils
  
  .PHONY: check-binutils maybe-check-binutils
  maybe-check-binutils:
  @if binutils
  maybe-check-binutils: check-binutils
  
  check-binutils:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd binutils && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif binutils
  
--- 5398,5609 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/binutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-binutils))
  @endif binutils
  
+ 
+ 
+ .PHONY: all-stage1-binutils maybe-all-stage1-binutils
+ .PHONY: clean-stage1-binutils maybe-clean-stage1-binutils
+ maybe-all-stage1-binutils:
+ maybe-clean-stage1-binutils:
+ @if binutils-bootstrap
+ maybe-all-stage1-binutils: all-stage1-binutils
+ all-stage1: all-stage1-binutils
+ TARGET-stage1-binutils = $(TARGET-binutils)
+ all-stage1-binutils: configure-stage1-binutils
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-binutils)
+ 
+ maybe-clean-stage1-binutils: clean-stage1-binutils
+ clean-stage1: clean-stage1-binutils
+ clean-stage1-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif binutils-bootstrap
+ 
+ 
+ .PHONY: all-stage2-binutils maybe-all-stage2-binutils
+ .PHONY: clean-stage2-binutils maybe-clean-stage2-binutils
+ maybe-all-stage2-binutils:
+ maybe-clean-stage2-binutils:
+ @if binutils-bootstrap
+ maybe-all-stage2-binutils: all-stage2-binutils
+ all-stage2: all-stage2-binutils
+ TARGET-stage2-binutils = $(TARGET-binutils)
+ all-stage2-binutils: configure-stage2-binutils
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-binutils)
+ 
+ maybe-clean-stage2-binutils: clean-stage2-binutils
+ clean-stage2: clean-stage2-binutils
+ clean-stage2-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif binutils-bootstrap
+ 
+ 
+ .PHONY: all-stage3-binutils maybe-all-stage3-binutils
+ .PHONY: clean-stage3-binutils maybe-clean-stage3-binutils
+ maybe-all-stage3-binutils:
+ maybe-clean-stage3-binutils:
+ @if binutils-bootstrap
+ maybe-all-stage3-binutils: all-stage3-binutils
+ all-stage3: all-stage3-binutils
+ TARGET-stage3-binutils = $(TARGET-binutils)
+ all-stage3-binutils: configure-stage3-binutils
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-binutils)
+ 
+ maybe-clean-stage3-binutils: clean-stage3-binutils
+ clean-stage3: clean-stage3-binutils
+ clean-stage3-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif binutils-bootstrap
+ 
+ 
+ .PHONY: all-stage4-binutils maybe-all-stage4-binutils
+ .PHONY: clean-stage4-binutils maybe-clean-stage4-binutils
+ maybe-all-stage4-binutils:
+ maybe-clean-stage4-binutils:
+ @if binutils-bootstrap
+ maybe-all-stage4-binutils: all-stage4-binutils
+ all-stage4: all-stage4-binutils
+ TARGET-stage4-binutils = $(TARGET-binutils)
+ all-stage4-binutils: configure-stage4-binutils
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-binutils)
+ 
+ maybe-clean-stage4-binutils: clean-stage4-binutils
+ clean-stage4: clean-stage4-binutils
+ clean-stage4-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif binutils-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-binutils maybe-all-stageprofile-binutils
+ .PHONY: clean-stageprofile-binutils maybe-clean-stageprofile-binutils
+ maybe-all-stageprofile-binutils:
+ maybe-clean-stageprofile-binutils:
+ @if binutils-bootstrap
+ maybe-all-stageprofile-binutils: all-stageprofile-binutils
+ all-stageprofile: all-stageprofile-binutils
+ TARGET-stageprofile-binutils = $(TARGET-binutils)
+ all-stageprofile-binutils: configure-stageprofile-binutils
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-binutils)
+ 
+ maybe-clean-stageprofile-binutils: clean-stageprofile-binutils
+ clean-stageprofile: clean-stageprofile-binutils
+ clean-stageprofile-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif binutils-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-binutils maybe-all-stagefeedback-binutils
+ .PHONY: clean-stagefeedback-binutils maybe-clean-stagefeedback-binutils
+ maybe-all-stagefeedback-binutils:
+ maybe-clean-stagefeedback-binutils:
+ @if binutils-bootstrap
+ maybe-all-stagefeedback-binutils: all-stagefeedback-binutils
+ all-stagefeedback: all-stagefeedback-binutils
+ TARGET-stagefeedback-binutils = $(TARGET-binutils)
+ all-stagefeedback-binutils: configure-stagefeedback-binutils
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-binutils)
+ 
+ maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils
+ clean-stagefeedback: clean-stagefeedback-binutils
+ clean-stagefeedback-binutils:
+ 	@[ -f $(HOST_SUBDIR)/binutils/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-binutils/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/binutils && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif binutils-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-binutils maybe-check-binutils
  maybe-check-binutils:
  @if binutils
  maybe-check-binutils: check-binutils
  
  check-binutils:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/binutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif binutils
  
*************** maybe-install-binutils:
*** 4670,4680 ****
  maybe-install-binutils: install-binutils
  
  install-binutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd binutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif binutils
  
--- 5613,5624 ----
  maybe-install-binutils: install-binutils
  
  install-binutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/binutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif binutils
  
*************** info-binutils: \
*** 4690,4702 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5634,5645 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-binutils: \
*** 4716,4728 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5659,5670 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-binutils: \
*** 4742,4754 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5684,5695 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-binutils: \
*** 4768,4780 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5709,5720 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-binutils: \
*** 4795,4807 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5735,5746 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-binutils: \
*** 4821,4833 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5760,5771 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-binutils: 
*** 4846,4858 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5784,5795 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-binutils: 
*** 4871,4883 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5808,5819 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-binutils: 
*** 4896,4908 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5832,5843 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-binutils: 
*** 4921,4933 ****
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in binutils" ; \
! 	(cd binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5856,5867 ----
  	@[ -f ./binutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in binutils" ; \
! 	(cd $(HOST_SUBDIR)/binutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-binutils: 
*** 4938,4985 ****
  @endif binutils
  
  
  .PHONY: configure-bison maybe-configure-bison
  maybe-configure-bison:
  @if bison
  maybe-configure-bison: configure-bison
! configure-bison:
! 	@test ! -f bison/Makefile || exit 0; \
! 	[ -d bison ] || mkdir bison; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in bison; \
! 	cd bison || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/bison"; \
! 	    libsrcdir="$$s/bison";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/bison"; \
! 	    libsrcdir="$$s/bison";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bison
  
  .PHONY: all-bison maybe-all-bison
  maybe-all-bison:
  @if bison
  TARGET-bison=all
  maybe-all-bison: all-bison
  all-bison: configure-bison
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bison && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-bison))
  @endif bison
  
  .PHONY: check-bison maybe-check-bison
  maybe-check-bison:
  @if bison
--- 5872,5924 ----
  @endif binutils
  
  
+ 
  .PHONY: configure-bison maybe-configure-bison
  maybe-configure-bison:
  @if bison
  maybe-configure-bison: configure-bison
! configure-bison: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/bison/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bison ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/bison; \
! 	cd "$(HOST_SUBDIR)/bison" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/bison/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bison"; \
+ 	libsrcdir="$$s/bison"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bison
  
+ 
+ 
+ 
+ 
  .PHONY: all-bison maybe-all-bison
  maybe-all-bison:
  @if bison
  TARGET-bison=all
  maybe-all-bison: all-bison
  all-bison: configure-bison
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bison && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bison))
  @endif bison
  
+ 
+ 
+ 
  .PHONY: check-bison maybe-check-bison
  maybe-check-bison:
  @if bison
*************** maybe-check-bison: check-bison
*** 4987,4998 ****
  
  # This module is only tested in a native toolchain.
  check-bison:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd bison && $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif bison
--- 5926,5938 ----
  
  # This module is only tested in a native toolchain.
  check-bison:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/bison && \
! 	    $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif bison
*************** maybe-install-bison:
*** 5003,5013 ****
  maybe-install-bison: install-bison
  
  install-bison: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bison && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bison
  
--- 5943,5954 ----
  maybe-install-bison: install-bison
  
  install-bison: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bison && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bison
  
*************** maybe-info-bison: info-bison
*** 5020,5035 ****
  
  info-bison: \
      configure-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5961,5976 ----
  
  info-bison: \
      configure-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-bison: dvi-bison
*** 5046,5061 ****
  
  dvi-bison: \
      configure-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 5987,6002 ----
  
  dvi-bison: \
      configure-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-bison: html-bison
*** 5072,5087 ****
  
  html-bison: \
      configure-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6013,6028 ----
  
  html-bison: \
      configure-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-bison: TAGS-bison
*** 5098,5113 ****
  
  TAGS-bison: \
      configure-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6039,6054 ----
  
  TAGS-bison: \
      configure-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-bison: install-info-b
*** 5125,5140 ****
  install-info-bison: \
      configure-bison \
      info-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6066,6081 ----
  install-info-bison: \
      configure-bison \
      info-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-bison: installcheck-b
*** 5151,5166 ****
  
  installcheck-bison: \
      configure-bison 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6092,6107 ----
  
  installcheck-bison: \
      configure-bison 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-bison:
*** 5176,5191 ****
  maybe-mostlyclean-bison: mostlyclean-bison
  
  mostlyclean-bison: 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6117,6132 ----
  maybe-mostlyclean-bison: mostlyclean-bison
  
  mostlyclean-bison: 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-bison:
*** 5201,5216 ****
  maybe-clean-bison: clean-bison
  
  clean-bison: 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6142,6157 ----
  maybe-clean-bison: clean-bison
  
  clean-bison: 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-bison:
*** 5226,5241 ****
  maybe-distclean-bison: distclean-bison
  
  distclean-bison: 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6167,6182 ----
  maybe-distclean-bison: distclean-bison
  
  distclean-bison: 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-bison:
*** 5251,5266 ****
  maybe-maintainer-clean-bison: maintainer-clean-bison
  
  maintainer-clean-bison: 
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bison" ; \
! 	(cd bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6192,6207 ----
  maybe-maintainer-clean-bison: maintainer-clean-bison
  
  maintainer-clean-bison: 
+ 	@$(unstage)
  	@[ -f ./bison/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bison" ; \
! 	(cd $(HOST_SUBDIR)/bison && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-bison: 
*** 5271,5318 ****
  @endif bison
  
  
  .PHONY: configure-byacc maybe-configure-byacc
  maybe-configure-byacc:
  @if byacc
  maybe-configure-byacc: configure-byacc
! configure-byacc:
! 	@test ! -f byacc/Makefile || exit 0; \
! 	[ -d byacc ] || mkdir byacc; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in byacc; \
! 	cd byacc || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/byacc"; \
! 	    libsrcdir="$$s/byacc";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/byacc"; \
! 	    libsrcdir="$$s/byacc";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif byacc
  
  .PHONY: all-byacc maybe-all-byacc
  maybe-all-byacc:
  @if byacc
  TARGET-byacc=all
  maybe-all-byacc: all-byacc
  all-byacc: configure-byacc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd byacc && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-byacc))
  @endif byacc
  
  .PHONY: check-byacc maybe-check-byacc
  maybe-check-byacc:
  @if byacc
--- 6212,6264 ----
  @endif bison
  
  
+ 
  .PHONY: configure-byacc maybe-configure-byacc
  maybe-configure-byacc:
  @if byacc
  maybe-configure-byacc: configure-byacc
! configure-byacc: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/byacc/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/byacc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/byacc; \
! 	cd "$(HOST_SUBDIR)/byacc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/byacc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/byacc"; \
+ 	libsrcdir="$$s/byacc"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif byacc
  
+ 
+ 
+ 
+ 
  .PHONY: all-byacc maybe-all-byacc
  maybe-all-byacc:
  @if byacc
  TARGET-byacc=all
  maybe-all-byacc: all-byacc
  all-byacc: configure-byacc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/byacc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-byacc))
  @endif byacc
  
+ 
+ 
+ 
  .PHONY: check-byacc maybe-check-byacc
  maybe-check-byacc:
  @if byacc
*************** maybe-check-byacc: check-byacc
*** 5320,5331 ****
  
  # This module is only tested in a native toolchain.
  check-byacc:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd byacc && $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif byacc
--- 6266,6278 ----
  
  # This module is only tested in a native toolchain.
  check-byacc:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/byacc && \
! 	    $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif byacc
*************** maybe-install-byacc:
*** 5336,5346 ****
  maybe-install-byacc: install-byacc
  
  install-byacc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd byacc && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif byacc
  
--- 6283,6294 ----
  maybe-install-byacc: install-byacc
  
  install-byacc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/byacc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif byacc
  
*************** maybe-info-byacc: info-byacc
*** 5353,5368 ****
  
  info-byacc: \
      configure-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6301,6316 ----
  
  info-byacc: \
      configure-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-byacc: dvi-byacc
*** 5379,5394 ****
  
  dvi-byacc: \
      configure-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6327,6342 ----
  
  dvi-byacc: \
      configure-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-byacc: html-byacc
*** 5405,5420 ****
  
  html-byacc: \
      configure-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6353,6368 ----
  
  html-byacc: \
      configure-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-byacc: TAGS-byacc
*** 5431,5446 ****
  
  TAGS-byacc: \
      configure-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6379,6394 ----
  
  TAGS-byacc: \
      configure-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-byacc: install-info-b
*** 5458,5473 ****
  install-info-byacc: \
      configure-byacc \
      info-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6406,6421 ----
  install-info-byacc: \
      configure-byacc \
      info-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-byacc: installcheck-b
*** 5484,5499 ****
  
  installcheck-byacc: \
      configure-byacc 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6432,6447 ----
  
  installcheck-byacc: \
      configure-byacc 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-byacc:
*** 5509,5524 ****
  maybe-mostlyclean-byacc: mostlyclean-byacc
  
  mostlyclean-byacc: 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6457,6472 ----
  maybe-mostlyclean-byacc: mostlyclean-byacc
  
  mostlyclean-byacc: 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-byacc:
*** 5534,5549 ****
  maybe-clean-byacc: clean-byacc
  
  clean-byacc: 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6482,6497 ----
  maybe-clean-byacc: clean-byacc
  
  clean-byacc: 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-byacc:
*** 5559,5574 ****
  maybe-distclean-byacc: distclean-byacc
  
  distclean-byacc: 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6507,6522 ----
  maybe-distclean-byacc: distclean-byacc
  
  distclean-byacc: 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-byacc:
*** 5584,5599 ****
  maybe-maintainer-clean-byacc: maintainer-clean-byacc
  
  maintainer-clean-byacc: 
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in byacc" ; \
! 	(cd byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6532,6547 ----
  maybe-maintainer-clean-byacc: maintainer-clean-byacc
  
  maintainer-clean-byacc: 
+ 	@$(unstage)
  	@[ -f ./byacc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in byacc" ; \
! 	(cd $(HOST_SUBDIR)/byacc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-byacc: 
*** 5604,5662 ****
  @endif byacc
  
  
  .PHONY: configure-bzip2 maybe-configure-bzip2
  maybe-configure-bzip2:
  @if bzip2
  maybe-configure-bzip2: configure-bzip2
! configure-bzip2:
! 	@test ! -f bzip2/Makefile || exit 0; \
! 	[ -d bzip2 ] || mkdir bzip2; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in bzip2; \
! 	cd bzip2 || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/bzip2"; \
! 	    libsrcdir="$$s/bzip2";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/bzip2"; \
! 	    libsrcdir="$$s/bzip2";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bzip2
  
  .PHONY: all-bzip2 maybe-all-bzip2
  maybe-all-bzip2:
  @if bzip2
  TARGET-bzip2=all
  maybe-all-bzip2: all-bzip2
  all-bzip2: configure-bzip2
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bzip2 && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-bzip2))
  @endif bzip2
  
  .PHONY: check-bzip2 maybe-check-bzip2
  maybe-check-bzip2:
  @if bzip2
  maybe-check-bzip2: check-bzip2
  
  check-bzip2:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bzip2 && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bzip2
  
--- 6552,6616 ----
  @endif byacc
  
  
+ 
  .PHONY: configure-bzip2 maybe-configure-bzip2
  maybe-configure-bzip2:
  @if bzip2
  maybe-configure-bzip2: configure-bzip2
! configure-bzip2: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/bzip2/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/bzip2 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/bzip2; \
! 	cd "$(HOST_SUBDIR)/bzip2" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/bzip2/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/bzip2"; \
+ 	libsrcdir="$$s/bzip2"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif bzip2
  
+ 
+ 
+ 
+ 
  .PHONY: all-bzip2 maybe-all-bzip2
  maybe-all-bzip2:
  @if bzip2
  TARGET-bzip2=all
  maybe-all-bzip2: all-bzip2
  all-bzip2: configure-bzip2
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-bzip2))
  @endif bzip2
  
+ 
+ 
+ 
  .PHONY: check-bzip2 maybe-check-bzip2
  maybe-check-bzip2:
  @if bzip2
  maybe-check-bzip2: check-bzip2
  
  check-bzip2:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif bzip2
  
*************** maybe-install-bzip2:
*** 5666,5676 ****
  maybe-install-bzip2: install-bzip2
  
  install-bzip2: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd bzip2 && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bzip2
  
--- 6620,6631 ----
  maybe-install-bzip2: install-bzip2
  
  install-bzip2: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif bzip2
  
*************** maybe-info-bzip2: info-bzip2
*** 5683,5698 ****
  
  info-bzip2: \
      configure-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6638,6653 ----
  
  info-bzip2: \
      configure-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-bzip2: dvi-bzip2
*** 5709,5724 ****
  
  dvi-bzip2: \
      configure-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6664,6679 ----
  
  dvi-bzip2: \
      configure-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-bzip2: html-bzip2
*** 5735,5750 ****
  
  html-bzip2: \
      configure-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6690,6705 ----
  
  html-bzip2: \
      configure-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-bzip2: TAGS-bzip2
*** 5761,5776 ****
  
  TAGS-bzip2: \
      configure-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6716,6731 ----
  
  TAGS-bzip2: \
      configure-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-bzip2: install-info-b
*** 5788,5803 ****
  install-info-bzip2: \
      configure-bzip2 \
      info-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6743,6758 ----
  install-info-bzip2: \
      configure-bzip2 \
      info-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-bzip2: installcheck-b
*** 5814,5829 ****
  
  installcheck-bzip2: \
      configure-bzip2 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6769,6784 ----
  
  installcheck-bzip2: \
      configure-bzip2 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-bzip2:
*** 5839,5854 ****
  maybe-mostlyclean-bzip2: mostlyclean-bzip2
  
  mostlyclean-bzip2: 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6794,6809 ----
  maybe-mostlyclean-bzip2: mostlyclean-bzip2
  
  mostlyclean-bzip2: 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-bzip2:
*** 5864,5879 ****
  maybe-clean-bzip2: clean-bzip2
  
  clean-bzip2: 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6819,6834 ----
  maybe-clean-bzip2: clean-bzip2
  
  clean-bzip2: 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-bzip2:
*** 5889,5904 ****
  maybe-distclean-bzip2: distclean-bzip2
  
  distclean-bzip2: 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6844,6859 ----
  maybe-distclean-bzip2: distclean-bzip2
  
  distclean-bzip2: 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-bzip2:
*** 5914,5929 ****
  maybe-maintainer-clean-bzip2: maintainer-clean-bzip2
  
  maintainer-clean-bzip2: 
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bzip2" ; \
! 	(cd bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6869,6884 ----
  maybe-maintainer-clean-bzip2: maintainer-clean-bzip2
  
  maintainer-clean-bzip2: 
+ 	@$(unstage)
  	@[ -f ./bzip2/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in bzip2" ; \
! 	(cd $(HOST_SUBDIR)/bzip2 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-bzip2: 
*** 5934,5992 ****
  @endif bzip2
  
  
  .PHONY: configure-dejagnu maybe-configure-dejagnu
  maybe-configure-dejagnu:
  @if dejagnu
  maybe-configure-dejagnu: configure-dejagnu
! configure-dejagnu:
! 	@test ! -f dejagnu/Makefile || exit 0; \
! 	[ -d dejagnu ] || mkdir dejagnu; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in dejagnu; \
! 	cd dejagnu || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/dejagnu"; \
! 	    libsrcdir="$$s/dejagnu";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/dejagnu"; \
! 	    libsrcdir="$$s/dejagnu";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif dejagnu
  
  .PHONY: all-dejagnu maybe-all-dejagnu
  maybe-all-dejagnu:
  @if dejagnu
  TARGET-dejagnu=all
  maybe-all-dejagnu: all-dejagnu
  all-dejagnu: configure-dejagnu
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd dejagnu && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-dejagnu))
  @endif dejagnu
  
  .PHONY: check-dejagnu maybe-check-dejagnu
  maybe-check-dejagnu:
  @if dejagnu
  maybe-check-dejagnu: check-dejagnu
  
  check-dejagnu:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd dejagnu && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif dejagnu
  
--- 6889,6953 ----
  @endif bzip2
  
  
+ 
  .PHONY: configure-dejagnu maybe-configure-dejagnu
  maybe-configure-dejagnu:
  @if dejagnu
  maybe-configure-dejagnu: configure-dejagnu
! configure-dejagnu: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/dejagnu/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/dejagnu ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/dejagnu; \
! 	cd "$(HOST_SUBDIR)/dejagnu" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/dejagnu/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/dejagnu"; \
+ 	libsrcdir="$$s/dejagnu"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif dejagnu
  
+ 
+ 
+ 
+ 
  .PHONY: all-dejagnu maybe-all-dejagnu
  maybe-all-dejagnu:
  @if dejagnu
  TARGET-dejagnu=all
  maybe-all-dejagnu: all-dejagnu
  all-dejagnu: configure-dejagnu
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dejagnu))
  @endif dejagnu
  
+ 
+ 
+ 
  .PHONY: check-dejagnu maybe-check-dejagnu
  maybe-check-dejagnu:
  @if dejagnu
  maybe-check-dejagnu: check-dejagnu
  
  check-dejagnu:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif dejagnu
  
*************** maybe-install-dejagnu:
*** 5996,6006 ****
  maybe-install-dejagnu: install-dejagnu
  
  install-dejagnu: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd dejagnu && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif dejagnu
  
--- 6957,6968 ----
  maybe-install-dejagnu: install-dejagnu
  
  install-dejagnu: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif dejagnu
  
*************** maybe-info-dejagnu: info-dejagnu
*** 6013,6028 ****
  
  info-dejagnu: \
      configure-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 6975,6990 ----
  
  info-dejagnu: \
      configure-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-dejagnu: dvi-dejagnu
*** 6039,6054 ****
  
  dvi-dejagnu: \
      configure-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7001,7016 ----
  
  dvi-dejagnu: \
      configure-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-dejagnu: html-dejagnu
*** 6065,6080 ****
  
  html-dejagnu: \
      configure-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7027,7042 ----
  
  html-dejagnu: \
      configure-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-dejagnu: TAGS-dejagnu
*** 6091,6106 ****
  
  TAGS-dejagnu: \
      configure-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7053,7068 ----
  
  TAGS-dejagnu: \
      configure-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-dejagnu: install-info
*** 6118,6133 ****
  install-info-dejagnu: \
      configure-dejagnu \
      info-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7080,7095 ----
  install-info-dejagnu: \
      configure-dejagnu \
      info-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-dejagnu: installcheck
*** 6144,6159 ****
  
  installcheck-dejagnu: \
      configure-dejagnu 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7106,7121 ----
  
  installcheck-dejagnu: \
      configure-dejagnu 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-dejagnu:
*** 6169,6184 ****
  maybe-mostlyclean-dejagnu: mostlyclean-dejagnu
  
  mostlyclean-dejagnu: 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7131,7146 ----
  maybe-mostlyclean-dejagnu: mostlyclean-dejagnu
  
  mostlyclean-dejagnu: 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-dejagnu:
*** 6194,6209 ****
  maybe-clean-dejagnu: clean-dejagnu
  
  clean-dejagnu: 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7156,7171 ----
  maybe-clean-dejagnu: clean-dejagnu
  
  clean-dejagnu: 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-dejagnu:
*** 6219,6234 ****
  maybe-distclean-dejagnu: distclean-dejagnu
  
  distclean-dejagnu: 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7181,7196 ----
  maybe-distclean-dejagnu: distclean-dejagnu
  
  distclean-dejagnu: 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-dejagnu:
*** 6244,6259 ****
  maybe-maintainer-clean-dejagnu: maintainer-clean-dejagnu
  
  maintainer-clean-dejagnu: 
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in dejagnu" ; \
! 	(cd dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7206,7221 ----
  maybe-maintainer-clean-dejagnu: maintainer-clean-dejagnu
  
  maintainer-clean-dejagnu: 
+ 	@$(unstage)
  	@[ -f ./dejagnu/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in dejagnu" ; \
! 	(cd $(HOST_SUBDIR)/dejagnu && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-dejagnu: 
*** 6264,6322 ****
  @endif dejagnu
  
  
  .PHONY: configure-diff maybe-configure-diff
  maybe-configure-diff:
  @if diff
  maybe-configure-diff: configure-diff
! configure-diff:
! 	@test ! -f diff/Makefile || exit 0; \
! 	[ -d diff ] || mkdir diff; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in diff; \
! 	cd diff || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/diff"; \
! 	    libsrcdir="$$s/diff";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/diff"; \
! 	    libsrcdir="$$s/diff";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif diff
  
  .PHONY: all-diff maybe-all-diff
  maybe-all-diff:
  @if diff
  TARGET-diff=all
  maybe-all-diff: all-diff
  all-diff: configure-diff
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd diff && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-diff))
  @endif diff
  
  .PHONY: check-diff maybe-check-diff
  maybe-check-diff:
  @if diff
  maybe-check-diff: check-diff
  
  check-diff:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd diff && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif diff
  
--- 7226,7290 ----
  @endif dejagnu
  
  
+ 
  .PHONY: configure-diff maybe-configure-diff
  maybe-configure-diff:
  @if diff
  maybe-configure-diff: configure-diff
! configure-diff: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/diff/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/diff ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/diff; \
! 	cd "$(HOST_SUBDIR)/diff" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/diff/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/diff"; \
+ 	libsrcdir="$$s/diff"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif diff
  
+ 
+ 
+ 
+ 
  .PHONY: all-diff maybe-all-diff
  maybe-all-diff:
  @if diff
  TARGET-diff=all
  maybe-all-diff: all-diff
  all-diff: configure-diff
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/diff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-diff))
  @endif diff
  
+ 
+ 
+ 
  .PHONY: check-diff maybe-check-diff
  maybe-check-diff:
  @if diff
  maybe-check-diff: check-diff
  
  check-diff:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/diff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif diff
  
*************** maybe-install-diff:
*** 6326,6336 ****
  maybe-install-diff: install-diff
  
  install-diff: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd diff && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif diff
  
--- 7294,7305 ----
  maybe-install-diff: install-diff
  
  install-diff: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/diff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif diff
  
*************** maybe-info-diff: info-diff
*** 6343,6358 ****
  
  info-diff: \
      configure-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7312,7327 ----
  
  info-diff: \
      configure-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-diff: dvi-diff
*** 6369,6384 ****
  
  dvi-diff: \
      configure-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7338,7353 ----
  
  dvi-diff: \
      configure-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-diff: html-diff
*** 6395,6410 ****
  
  html-diff: \
      configure-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7364,7379 ----
  
  html-diff: \
      configure-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-diff: TAGS-diff
*** 6421,6436 ****
  
  TAGS-diff: \
      configure-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7390,7405 ----
  
  TAGS-diff: \
      configure-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-diff: install-info-di
*** 6448,6463 ****
  install-info-diff: \
      configure-diff \
      info-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7417,7432 ----
  install-info-diff: \
      configure-diff \
      info-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-diff: installcheck-di
*** 6474,6489 ****
  
  installcheck-diff: \
      configure-diff 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7443,7458 ----
  
  installcheck-diff: \
      configure-diff 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-diff:
*** 6499,6514 ****
  maybe-mostlyclean-diff: mostlyclean-diff
  
  mostlyclean-diff: 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7468,7483 ----
  maybe-mostlyclean-diff: mostlyclean-diff
  
  mostlyclean-diff: 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-diff:
*** 6524,6539 ****
  maybe-clean-diff: clean-diff
  
  clean-diff: 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7493,7508 ----
  maybe-clean-diff: clean-diff
  
  clean-diff: 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-diff:
*** 6549,6564 ****
  maybe-distclean-diff: distclean-diff
  
  distclean-diff: 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7518,7533 ----
  maybe-distclean-diff: distclean-diff
  
  distclean-diff: 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-diff:
*** 6574,6589 ****
  maybe-maintainer-clean-diff: maintainer-clean-diff
  
  maintainer-clean-diff: 
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in diff" ; \
! 	(cd diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7543,7558 ----
  maybe-maintainer-clean-diff: maintainer-clean-diff
  
  maintainer-clean-diff: 
+ 	@$(unstage)
  	@[ -f ./diff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in diff" ; \
! 	(cd $(HOST_SUBDIR)/diff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-diff: 
*** 6594,6641 ****
  @endif diff
  
  
  .PHONY: configure-dosutils maybe-configure-dosutils
  maybe-configure-dosutils:
  @if dosutils
  maybe-configure-dosutils: configure-dosutils
! configure-dosutils:
! 	@test ! -f dosutils/Makefile || exit 0; \
! 	[ -d dosutils ] || mkdir dosutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in dosutils; \
! 	cd dosutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/dosutils"; \
! 	    libsrcdir="$$s/dosutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/dosutils"; \
! 	    libsrcdir="$$s/dosutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif dosutils
  
  .PHONY: all-dosutils maybe-all-dosutils
  maybe-all-dosutils:
  @if dosutils
  TARGET-dosutils=all
  maybe-all-dosutils: all-dosutils
  all-dosutils: configure-dosutils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd dosutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-dosutils))
  @endif dosutils
  
  .PHONY: check-dosutils maybe-check-dosutils
  maybe-check-dosutils:
  @if dosutils
--- 7563,7615 ----
  @endif diff
  
  
+ 
  .PHONY: configure-dosutils maybe-configure-dosutils
  maybe-configure-dosutils:
  @if dosutils
  maybe-configure-dosutils: configure-dosutils
! configure-dosutils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/dosutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/dosutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/dosutils; \
! 	cd "$(HOST_SUBDIR)/dosutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/dosutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/dosutils"; \
+ 	libsrcdir="$$s/dosutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif dosutils
  
+ 
+ 
+ 
+ 
  .PHONY: all-dosutils maybe-all-dosutils
  maybe-all-dosutils:
  @if dosutils
  TARGET-dosutils=all
  maybe-all-dosutils: all-dosutils
  all-dosutils: configure-dosutils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/dosutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-dosutils))
  @endif dosutils
  
+ 
+ 
+ 
  .PHONY: check-dosutils maybe-check-dosutils
  maybe-check-dosutils:
  @if dosutils
*************** maybe-install-dosutils:
*** 6651,6661 ****
  maybe-install-dosutils: install-dosutils
  
  install-dosutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd dosutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif dosutils
  
--- 7625,7636 ----
  maybe-install-dosutils: install-dosutils
  
  install-dosutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/dosutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif dosutils
  
*************** maybe-info-dosutils: info-dosutils
*** 6668,6683 ****
  
  info-dosutils: \
      configure-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7643,7658 ----
  
  info-dosutils: \
      configure-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-dosutils: dvi-dosutils
*** 6694,6709 ****
  
  dvi-dosutils: \
      configure-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7669,7684 ----
  
  dvi-dosutils: \
      configure-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-dosutils: html-dosutils
*** 6720,6735 ****
  
  html-dosutils: \
      configure-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7695,7710 ----
  
  html-dosutils: \
      configure-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-dosutils: TAGS-dosutils
*** 6746,6761 ****
  
  TAGS-dosutils: \
      configure-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7721,7736 ----
  
  TAGS-dosutils: \
      configure-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-dosutils: install-inf
*** 6773,6788 ****
  install-info-dosutils: \
      configure-dosutils \
      info-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7748,7763 ----
  install-info-dosutils: \
      configure-dosutils \
      info-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-dosutils: installchec
*** 6799,6814 ****
  
  installcheck-dosutils: \
      configure-dosutils 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7774,7789 ----
  
  installcheck-dosutils: \
      configure-dosutils 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-dosutils:
*** 6824,6839 ****
  maybe-mostlyclean-dosutils: mostlyclean-dosutils
  
  mostlyclean-dosutils: 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7799,7814 ----
  maybe-mostlyclean-dosutils: mostlyclean-dosutils
  
  mostlyclean-dosutils: 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-dosutils:
*** 6849,6864 ****
  maybe-clean-dosutils: clean-dosutils
  
  clean-dosutils: 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7824,7839 ----
  maybe-clean-dosutils: clean-dosutils
  
  clean-dosutils: 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-dosutils:
*** 6874,6889 ****
  maybe-distclean-dosutils: distclean-dosutils
  
  distclean-dosutils: 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7849,7864 ----
  maybe-distclean-dosutils: distclean-dosutils
  
  distclean-dosutils: 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-dosutils:
*** 6899,6914 ****
  maybe-maintainer-clean-dosutils: maintainer-clean-dosutils
  
  maintainer-clean-dosutils: 
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in dosutils" ; \
! 	(cd dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7874,7889 ----
  maybe-maintainer-clean-dosutils: maintainer-clean-dosutils
  
  maintainer-clean-dosutils: 
+ 	@$(unstage)
  	@[ -f ./dosutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in dosutils" ; \
! 	(cd $(HOST_SUBDIR)/dosutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-dosutils: 
*** 6919,6977 ****
  @endif dosutils
  
  
  .PHONY: configure-etc maybe-configure-etc
  maybe-configure-etc:
  @if etc
  maybe-configure-etc: configure-etc
! configure-etc:
! 	@test ! -f etc/Makefile || exit 0; \
! 	[ -d etc ] || mkdir etc; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in etc; \
! 	cd etc || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/etc"; \
! 	    libsrcdir="$$s/etc";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/etc"; \
! 	    libsrcdir="$$s/etc";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif etc
  
  .PHONY: all-etc maybe-all-etc
  maybe-all-etc:
  @if etc
  TARGET-etc=all
  maybe-all-etc: all-etc
  all-etc: configure-etc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd etc && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-etc))
  @endif etc
  
  .PHONY: check-etc maybe-check-etc
  maybe-check-etc:
  @if etc
  maybe-check-etc: check-etc
  
  check-etc:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd etc && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif etc
  
--- 7894,7958 ----
  @endif dosutils
  
  
+ 
  .PHONY: configure-etc maybe-configure-etc
  maybe-configure-etc:
  @if etc
  maybe-configure-etc: configure-etc
! configure-etc: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/etc/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/etc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/etc; \
! 	cd "$(HOST_SUBDIR)/etc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/etc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/etc"; \
+ 	libsrcdir="$$s/etc"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif etc
  
+ 
+ 
+ 
+ 
  .PHONY: all-etc maybe-all-etc
  maybe-all-etc:
  @if etc
  TARGET-etc=all
  maybe-all-etc: all-etc
  all-etc: configure-etc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/etc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-etc))
  @endif etc
  
+ 
+ 
+ 
  .PHONY: check-etc maybe-check-etc
  maybe-check-etc:
  @if etc
  maybe-check-etc: check-etc
  
  check-etc:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/etc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif etc
  
*************** maybe-install-etc:
*** 6981,6991 ****
  maybe-install-etc: install-etc
  
  install-etc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd etc && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif etc
  
--- 7962,7973 ----
  maybe-install-etc: install-etc
  
  install-etc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/etc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif etc
  
*************** maybe-info-etc: info-etc
*** 6998,7013 ****
  
  info-etc: \
      configure-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 7980,7995 ----
  
  info-etc: \
      configure-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-etc: dvi-etc
*** 7024,7039 ****
  
  dvi-etc: \
      configure-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8006,8021 ----
  
  dvi-etc: \
      configure-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-etc: html-etc
*** 7050,7065 ****
  
  html-etc: \
      configure-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8032,8047 ----
  
  html-etc: \
      configure-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-etc: TAGS-etc
*** 7076,7091 ****
  
  TAGS-etc: \
      configure-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8058,8073 ----
  
  TAGS-etc: \
      configure-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-etc: install-info-etc
*** 7103,7118 ****
  install-info-etc: \
      configure-etc \
      info-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8085,8100 ----
  install-info-etc: \
      configure-etc \
      info-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-etc: installcheck-etc
*** 7129,7144 ****
  
  installcheck-etc: \
      configure-etc 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8111,8126 ----
  
  installcheck-etc: \
      configure-etc 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-etc:
*** 7154,7169 ****
  maybe-mostlyclean-etc: mostlyclean-etc
  
  mostlyclean-etc: 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8136,8151 ----
  maybe-mostlyclean-etc: mostlyclean-etc
  
  mostlyclean-etc: 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-etc:
*** 7179,7194 ****
  maybe-clean-etc: clean-etc
  
  clean-etc: 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8161,8176 ----
  maybe-clean-etc: clean-etc
  
  clean-etc: 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-etc:
*** 7204,7219 ****
  maybe-distclean-etc: distclean-etc
  
  distclean-etc: 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8186,8201 ----
  maybe-distclean-etc: distclean-etc
  
  distclean-etc: 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-etc:
*** 7229,7244 ****
  maybe-maintainer-clean-etc: maintainer-clean-etc
  
  maintainer-clean-etc: 
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in etc" ; \
! 	(cd etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8211,8226 ----
  maybe-maintainer-clean-etc: maintainer-clean-etc
  
  maintainer-clean-etc: 
+ 	@$(unstage)
  	@[ -f ./etc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in etc" ; \
! 	(cd $(HOST_SUBDIR)/etc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-etc: 
*** 7249,7296 ****
  @endif etc
  
  
  .PHONY: configure-fastjar maybe-configure-fastjar
  maybe-configure-fastjar:
  @if fastjar
  maybe-configure-fastjar: configure-fastjar
! configure-fastjar:
! 	@test ! -f fastjar/Makefile || exit 0; \
! 	[ -d fastjar ] || mkdir fastjar; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in fastjar; \
! 	cd fastjar || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/fastjar"; \
! 	    libsrcdir="$$s/fastjar";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/fastjar"; \
! 	    libsrcdir="$$s/fastjar";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fastjar
  
  .PHONY: all-fastjar maybe-all-fastjar
  maybe-all-fastjar:
  @if fastjar
  TARGET-fastjar=all
  maybe-all-fastjar: all-fastjar
  all-fastjar: configure-fastjar
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fastjar && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-fastjar))
  @endif fastjar
  
  .PHONY: check-fastjar maybe-check-fastjar
  maybe-check-fastjar:
  @if fastjar
--- 8231,8283 ----
  @endif etc
  
  
+ 
  .PHONY: configure-fastjar maybe-configure-fastjar
  maybe-configure-fastjar:
  @if fastjar
  maybe-configure-fastjar: configure-fastjar
! configure-fastjar: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/fastjar/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fastjar ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/fastjar; \
! 	cd "$(HOST_SUBDIR)/fastjar" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/fastjar/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/fastjar"; \
+ 	libsrcdir="$$s/fastjar"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fastjar
  
+ 
+ 
+ 
+ 
  .PHONY: all-fastjar maybe-all-fastjar
  maybe-all-fastjar:
  @if fastjar
  TARGET-fastjar=all
  maybe-all-fastjar: all-fastjar
  all-fastjar: configure-fastjar
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fastjar && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fastjar))
  @endif fastjar
  
+ 
+ 
+ 
  .PHONY: check-fastjar maybe-check-fastjar
  maybe-check-fastjar:
  @if fastjar
*************** maybe-check-fastjar: check-fastjar
*** 7298,7309 ****
  
  # This module is only tested in a native toolchain.
  check-fastjar:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd fastjar && $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif fastjar
--- 8285,8297 ----
  
  # This module is only tested in a native toolchain.
  check-fastjar:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/fastjar && \
! 	    $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif fastjar
*************** maybe-install-fastjar:
*** 7314,7324 ****
  maybe-install-fastjar: install-fastjar
  
  install-fastjar: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fastjar && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fastjar
  
--- 8302,8313 ----
  maybe-install-fastjar: install-fastjar
  
  install-fastjar: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fastjar && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fastjar
  
*************** maybe-info-fastjar: info-fastjar
*** 7331,7346 ****
  
  info-fastjar: \
      configure-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8320,8335 ----
  
  info-fastjar: \
      configure-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-fastjar: dvi-fastjar
*** 7357,7372 ****
  
  dvi-fastjar: \
      configure-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8346,8361 ----
  
  dvi-fastjar: \
      configure-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-fastjar: html-fastjar
*** 7383,7398 ****
  
  html-fastjar: \
      configure-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8372,8387 ----
  
  html-fastjar: \
      configure-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-fastjar: TAGS-fastjar
*** 7409,7424 ****
  
  TAGS-fastjar: \
      configure-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8398,8413 ----
  
  TAGS-fastjar: \
      configure-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-fastjar: install-info
*** 7436,7451 ****
  install-info-fastjar: \
      configure-fastjar \
      info-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8425,8440 ----
  install-info-fastjar: \
      configure-fastjar \
      info-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-fastjar: installcheck
*** 7462,7477 ****
  
  installcheck-fastjar: \
      configure-fastjar 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8451,8466 ----
  
  installcheck-fastjar: \
      configure-fastjar 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-fastjar:
*** 7487,7502 ****
  maybe-mostlyclean-fastjar: mostlyclean-fastjar
  
  mostlyclean-fastjar: 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8476,8491 ----
  maybe-mostlyclean-fastjar: mostlyclean-fastjar
  
  mostlyclean-fastjar: 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-fastjar:
*** 7512,7527 ****
  maybe-clean-fastjar: clean-fastjar
  
  clean-fastjar: 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8501,8516 ----
  maybe-clean-fastjar: clean-fastjar
  
  clean-fastjar: 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-fastjar:
*** 7537,7552 ****
  maybe-distclean-fastjar: distclean-fastjar
  
  distclean-fastjar: 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8526,8541 ----
  maybe-distclean-fastjar: distclean-fastjar
  
  distclean-fastjar: 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-fastjar:
*** 7562,7577 ****
  maybe-maintainer-clean-fastjar: maintainer-clean-fastjar
  
  maintainer-clean-fastjar: 
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fastjar" ; \
! 	(cd fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8551,8566 ----
  maybe-maintainer-clean-fastjar: maintainer-clean-fastjar
  
  maintainer-clean-fastjar: 
+ 	@$(unstage)
  	@[ -f ./fastjar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fastjar" ; \
! 	(cd $(HOST_SUBDIR)/fastjar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-fastjar: 
*** 7582,7640 ****
  @endif fastjar
  
  
  .PHONY: configure-fileutils maybe-configure-fileutils
  maybe-configure-fileutils:
  @if fileutils
  maybe-configure-fileutils: configure-fileutils
! configure-fileutils:
! 	@test ! -f fileutils/Makefile || exit 0; \
! 	[ -d fileutils ] || mkdir fileutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in fileutils; \
! 	cd fileutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/fileutils"; \
! 	    libsrcdir="$$s/fileutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/fileutils"; \
! 	    libsrcdir="$$s/fileutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fileutils
  
  .PHONY: all-fileutils maybe-all-fileutils
  maybe-all-fileutils:
  @if fileutils
  TARGET-fileutils=all
  maybe-all-fileutils: all-fileutils
  all-fileutils: configure-fileutils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fileutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-fileutils))
  @endif fileutils
  
  .PHONY: check-fileutils maybe-check-fileutils
  maybe-check-fileutils:
  @if fileutils
  maybe-check-fileutils: check-fileutils
  
  check-fileutils:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fileutils && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif fileutils
  
--- 8571,8635 ----
  @endif fastjar
  
  
+ 
  .PHONY: configure-fileutils maybe-configure-fileutils
  maybe-configure-fileutils:
  @if fileutils
  maybe-configure-fileutils: configure-fileutils
! configure-fileutils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/fileutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fileutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/fileutils; \
! 	cd "$(HOST_SUBDIR)/fileutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/fileutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/fileutils"; \
+ 	libsrcdir="$$s/fileutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fileutils
  
+ 
+ 
+ 
+ 
  .PHONY: all-fileutils maybe-all-fileutils
  maybe-all-fileutils:
  @if fileutils
  TARGET-fileutils=all
  maybe-all-fileutils: all-fileutils
  all-fileutils: configure-fileutils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fileutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fileutils))
  @endif fileutils
  
+ 
+ 
+ 
  .PHONY: check-fileutils maybe-check-fileutils
  maybe-check-fileutils:
  @if fileutils
  maybe-check-fileutils: check-fileutils
  
  check-fileutils:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fileutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif fileutils
  
*************** maybe-install-fileutils:
*** 7644,7654 ****
  maybe-install-fileutils: install-fileutils
  
  install-fileutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fileutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fileutils
  
--- 8639,8650 ----
  maybe-install-fileutils: install-fileutils
  
  install-fileutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fileutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fileutils
  
*************** maybe-info-fileutils: info-fileutils
*** 7661,7676 ****
  
  info-fileutils: \
      configure-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8657,8672 ----
  
  info-fileutils: \
      configure-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-fileutils: dvi-fileutils
*** 7687,7702 ****
  
  dvi-fileutils: \
      configure-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8683,8698 ----
  
  dvi-fileutils: \
      configure-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-fileutils: html-fileutils
*** 7713,7728 ****
  
  html-fileutils: \
      configure-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8709,8724 ----
  
  html-fileutils: \
      configure-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-fileutils: TAGS-fileutils
*** 7739,7754 ****
  
  TAGS-fileutils: \
      configure-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8735,8750 ----
  
  TAGS-fileutils: \
      configure-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-fileutils: install-in
*** 7766,7781 ****
  install-info-fileutils: \
      configure-fileutils \
      info-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8762,8777 ----
  install-info-fileutils: \
      configure-fileutils \
      info-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-fileutils: installche
*** 7792,7807 ****
  
  installcheck-fileutils: \
      configure-fileutils 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8788,8803 ----
  
  installcheck-fileutils: \
      configure-fileutils 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-fileutils:
*** 7817,7832 ****
  maybe-mostlyclean-fileutils: mostlyclean-fileutils
  
  mostlyclean-fileutils: 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8813,8828 ----
  maybe-mostlyclean-fileutils: mostlyclean-fileutils
  
  mostlyclean-fileutils: 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-fileutils:
*** 7842,7857 ****
  maybe-clean-fileutils: clean-fileutils
  
  clean-fileutils: 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8838,8853 ----
  maybe-clean-fileutils: clean-fileutils
  
  clean-fileutils: 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-fileutils:
*** 7867,7882 ****
  maybe-distclean-fileutils: distclean-fileutils
  
  distclean-fileutils: 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8863,8878 ----
  maybe-distclean-fileutils: distclean-fileutils
  
  distclean-fileutils: 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-fileutils:
*** 7892,7907 ****
  maybe-maintainer-clean-fileutils: maintainer-clean-fileutils
  
  maintainer-clean-fileutils: 
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fileutils" ; \
! 	(cd fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8888,8903 ----
  maybe-maintainer-clean-fileutils: maintainer-clean-fileutils
  
  maintainer-clean-fileutils: 
+ 	@$(unstage)
  	@[ -f ./fileutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fileutils" ; \
! 	(cd $(HOST_SUBDIR)/fileutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-fileutils: 
*** 7912,7970 ****
  @endif fileutils
  
  
  .PHONY: configure-findutils maybe-configure-findutils
  maybe-configure-findutils:
  @if findutils
  maybe-configure-findutils: configure-findutils
! configure-findutils:
! 	@test ! -f findutils/Makefile || exit 0; \
! 	[ -d findutils ] || mkdir findutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in findutils; \
! 	cd findutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/findutils"; \
! 	    libsrcdir="$$s/findutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/findutils"; \
! 	    libsrcdir="$$s/findutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif findutils
  
  .PHONY: all-findutils maybe-all-findutils
  maybe-all-findutils:
  @if findutils
  TARGET-findutils=all
  maybe-all-findutils: all-findutils
  all-findutils: configure-findutils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd findutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-findutils))
  @endif findutils
  
  .PHONY: check-findutils maybe-check-findutils
  maybe-check-findutils:
  @if findutils
  maybe-check-findutils: check-findutils
  
  check-findutils:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd findutils && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif findutils
  
--- 8908,8972 ----
  @endif fileutils
  
  
+ 
  .PHONY: configure-findutils maybe-configure-findutils
  maybe-configure-findutils:
  @if findutils
  maybe-configure-findutils: configure-findutils
! configure-findutils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/findutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/findutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/findutils; \
! 	cd "$(HOST_SUBDIR)/findutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/findutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/findutils"; \
+ 	libsrcdir="$$s/findutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif findutils
  
+ 
+ 
+ 
+ 
  .PHONY: all-findutils maybe-all-findutils
  maybe-all-findutils:
  @if findutils
  TARGET-findutils=all
  maybe-all-findutils: all-findutils
  all-findutils: configure-findutils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/findutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-findutils))
  @endif findutils
  
+ 
+ 
+ 
  .PHONY: check-findutils maybe-check-findutils
  maybe-check-findutils:
  @if findutils
  maybe-check-findutils: check-findutils
  
  check-findutils:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/findutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif findutils
  
*************** maybe-install-findutils:
*** 7974,7984 ****
  maybe-install-findutils: install-findutils
  
  install-findutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd findutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif findutils
  
--- 8976,8987 ----
  maybe-install-findutils: install-findutils
  
  install-findutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/findutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif findutils
  
*************** maybe-info-findutils: info-findutils
*** 7991,8006 ****
  
  info-findutils: \
      configure-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 8994,9009 ----
  
  info-findutils: \
      configure-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-findutils: dvi-findutils
*** 8017,8032 ****
  
  dvi-findutils: \
      configure-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9020,9035 ----
  
  dvi-findutils: \
      configure-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-findutils: html-findutils
*** 8043,8058 ****
  
  html-findutils: \
      configure-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9046,9061 ----
  
  html-findutils: \
      configure-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-findutils: TAGS-findutils
*** 8069,8084 ****
  
  TAGS-findutils: \
      configure-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9072,9087 ----
  
  TAGS-findutils: \
      configure-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-findutils: install-in
*** 8096,8111 ****
  install-info-findutils: \
      configure-findutils \
      info-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9099,9114 ----
  install-info-findutils: \
      configure-findutils \
      info-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-findutils: installche
*** 8122,8137 ****
  
  installcheck-findutils: \
      configure-findutils 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9125,9140 ----
  
  installcheck-findutils: \
      configure-findutils 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-findutils:
*** 8147,8162 ****
  maybe-mostlyclean-findutils: mostlyclean-findutils
  
  mostlyclean-findutils: 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9150,9165 ----
  maybe-mostlyclean-findutils: mostlyclean-findutils
  
  mostlyclean-findutils: 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-findutils:
*** 8172,8187 ****
  maybe-clean-findutils: clean-findutils
  
  clean-findutils: 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9175,9190 ----
  maybe-clean-findutils: clean-findutils
  
  clean-findutils: 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-findutils:
*** 8197,8212 ****
  maybe-distclean-findutils: distclean-findutils
  
  distclean-findutils: 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9200,9215 ----
  maybe-distclean-findutils: distclean-findutils
  
  distclean-findutils: 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-findutils:
*** 8222,8237 ****
  maybe-maintainer-clean-findutils: maintainer-clean-findutils
  
  maintainer-clean-findutils: 
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in findutils" ; \
! 	(cd findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9225,9240 ----
  maybe-maintainer-clean-findutils: maintainer-clean-findutils
  
  maintainer-clean-findutils: 
+ 	@$(unstage)
  	@[ -f ./findutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in findutils" ; \
! 	(cd $(HOST_SUBDIR)/findutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-findutils: 
*** 8242,8300 ****
  @endif findutils
  
  
  .PHONY: configure-find maybe-configure-find
  maybe-configure-find:
  @if find
  maybe-configure-find: configure-find
! configure-find:
! 	@test ! -f find/Makefile || exit 0; \
! 	[ -d find ] || mkdir find; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in find; \
! 	cd find || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/find"; \
! 	    libsrcdir="$$s/find";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/find"; \
! 	    libsrcdir="$$s/find";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif find
  
  .PHONY: all-find maybe-all-find
  maybe-all-find:
  @if find
  TARGET-find=all
  maybe-all-find: all-find
  all-find: configure-find
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd find && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-find))
  @endif find
  
  .PHONY: check-find maybe-check-find
  maybe-check-find:
  @if find
  maybe-check-find: check-find
  
  check-find:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd find && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif find
  
--- 9245,9309 ----
  @endif findutils
  
  
+ 
  .PHONY: configure-find maybe-configure-find
  maybe-configure-find:
  @if find
  maybe-configure-find: configure-find
! configure-find: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/find/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/find ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/find; \
! 	cd "$(HOST_SUBDIR)/find" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/find/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/find"; \
+ 	libsrcdir="$$s/find"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif find
  
+ 
+ 
+ 
+ 
  .PHONY: all-find maybe-all-find
  maybe-all-find:
  @if find
  TARGET-find=all
  maybe-all-find: all-find
  all-find: configure-find
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/find && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-find))
  @endif find
  
+ 
+ 
+ 
  .PHONY: check-find maybe-check-find
  maybe-check-find:
  @if find
  maybe-check-find: check-find
  
  check-find:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/find && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif find
  
*************** maybe-install-find:
*** 8304,8314 ****
  maybe-install-find: install-find
  
  install-find: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd find && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif find
  
--- 9313,9324 ----
  maybe-install-find: install-find
  
  install-find: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/find && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif find
  
*************** maybe-info-find: info-find
*** 8321,8336 ****
  
  info-find: \
      configure-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9331,9346 ----
  
  info-find: \
      configure-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-find: dvi-find
*** 8347,8362 ****
  
  dvi-find: \
      configure-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9357,9372 ----
  
  dvi-find: \
      configure-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-find: html-find
*** 8373,8388 ****
  
  html-find: \
      configure-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9383,9398 ----
  
  html-find: \
      configure-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-find: TAGS-find
*** 8399,8414 ****
  
  TAGS-find: \
      configure-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9409,9424 ----
  
  TAGS-find: \
      configure-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-find: install-info-fi
*** 8426,8441 ****
  install-info-find: \
      configure-find \
      info-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9436,9451 ----
  install-info-find: \
      configure-find \
      info-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-find: installcheck-fi
*** 8452,8467 ****
  
  installcheck-find: \
      configure-find 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9462,9477 ----
  
  installcheck-find: \
      configure-find 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-find:
*** 8477,8492 ****
  maybe-mostlyclean-find: mostlyclean-find
  
  mostlyclean-find: 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9487,9502 ----
  maybe-mostlyclean-find: mostlyclean-find
  
  mostlyclean-find: 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-find:
*** 8502,8517 ****
  maybe-clean-find: clean-find
  
  clean-find: 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9512,9527 ----
  maybe-clean-find: clean-find
  
  clean-find: 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-find:
*** 8527,8542 ****
  maybe-distclean-find: distclean-find
  
  distclean-find: 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9537,9552 ----
  maybe-distclean-find: distclean-find
  
  distclean-find: 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-find:
*** 8552,8567 ****
  maybe-maintainer-clean-find: maintainer-clean-find
  
  maintainer-clean-find: 
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in find" ; \
! 	(cd find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9562,9577 ----
  maybe-maintainer-clean-find: maintainer-clean-find
  
  maintainer-clean-find: 
+ 	@$(unstage)
  	@[ -f ./find/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in find" ; \
! 	(cd $(HOST_SUBDIR)/find && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-find: 
*** 8572,8630 ****
  @endif find
  
  
  .PHONY: configure-fixincludes maybe-configure-fixincludes
  maybe-configure-fixincludes:
  @if fixincludes
  maybe-configure-fixincludes: configure-fixincludes
! configure-fixincludes:
! 	@test ! -f fixincludes/Makefile || exit 0; \
! 	[ -d fixincludes ] || mkdir fixincludes; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in fixincludes; \
! 	cd fixincludes || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/fixincludes"; \
! 	    libsrcdir="$$s/fixincludes";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/fixincludes"; \
! 	    libsrcdir="$$s/fixincludes";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fixincludes
  
  .PHONY: all-fixincludes maybe-all-fixincludes
  maybe-all-fixincludes:
  @if fixincludes
  TARGET-fixincludes=all
  maybe-all-fixincludes: all-fixincludes
  all-fixincludes: configure-fixincludes
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fixincludes && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-fixincludes))
  @endif fixincludes
  
  .PHONY: check-fixincludes maybe-check-fixincludes
  maybe-check-fixincludes:
  @if fixincludes
  maybe-check-fixincludes: check-fixincludes
  
  check-fixincludes:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fixincludes && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif fixincludes
  
--- 9582,9646 ----
  @endif find
  
  
+ 
  .PHONY: configure-fixincludes maybe-configure-fixincludes
  maybe-configure-fixincludes:
  @if fixincludes
  maybe-configure-fixincludes: configure-fixincludes
! configure-fixincludes: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/fixincludes/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/fixincludes ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/fixincludes; \
! 	cd "$(HOST_SUBDIR)/fixincludes" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/fixincludes/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/fixincludes"; \
+ 	libsrcdir="$$s/fixincludes"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif fixincludes
  
+ 
+ 
+ 
+ 
  .PHONY: all-fixincludes maybe-all-fixincludes
  maybe-all-fixincludes:
  @if fixincludes
  TARGET-fixincludes=all
  maybe-all-fixincludes: all-fixincludes
  all-fixincludes: configure-fixincludes
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-fixincludes))
  @endif fixincludes
  
+ 
+ 
+ 
  .PHONY: check-fixincludes maybe-check-fixincludes
  maybe-check-fixincludes:
  @if fixincludes
  maybe-check-fixincludes: check-fixincludes
  
  check-fixincludes:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif fixincludes
  
*************** maybe-install-fixincludes:
*** 8634,8644 ****
  maybe-install-fixincludes: install-fixincludes
  
  install-fixincludes: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd fixincludes && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fixincludes
  
--- 9650,9661 ----
  maybe-install-fixincludes: install-fixincludes
  
  install-fixincludes: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif fixincludes
  
*************** maybe-html-fixincludes: html-fixincludes
*** 8671,8686 ****
  
  html-fixincludes: \
      configure-fixincludes 
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fixincludes" ; \
! 	(cd fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9688,9703 ----
  
  html-fixincludes: \
      configure-fixincludes 
+ 	@$(unstage)
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in fixincludes" ; \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-fixincludes:
*** 8726,8741 ****
  maybe-mostlyclean-fixincludes: mostlyclean-fixincludes
  
  mostlyclean-fixincludes: 
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fixincludes" ; \
! 	(cd fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9743,9758 ----
  maybe-mostlyclean-fixincludes: mostlyclean-fixincludes
  
  mostlyclean-fixincludes: 
+ 	@$(unstage)
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in fixincludes" ; \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-fixincludes:
*** 8751,8766 ****
  maybe-clean-fixincludes: clean-fixincludes
  
  clean-fixincludes: 
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fixincludes" ; \
! 	(cd fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9768,9783 ----
  maybe-clean-fixincludes: clean-fixincludes
  
  clean-fixincludes: 
+ 	@$(unstage)
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in fixincludes" ; \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-fixincludes:
*** 8776,8791 ****
  maybe-distclean-fixincludes: distclean-fixincludes
  
  distclean-fixincludes: 
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fixincludes" ; \
! 	(cd fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9793,9808 ----
  maybe-distclean-fixincludes: distclean-fixincludes
  
  distclean-fixincludes: 
+ 	@$(unstage)
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in fixincludes" ; \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-fixincludes:
*** 8801,8816 ****
  maybe-maintainer-clean-fixincludes: maintainer-clean-fixincludes
  
  maintainer-clean-fixincludes: 
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fixincludes" ; \
! 	(cd fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9818,9833 ----
  maybe-maintainer-clean-fixincludes: maintainer-clean-fixincludes
  
  maintainer-clean-fixincludes: 
+ 	@$(unstage)
  	@[ -f ./fixincludes/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in fixincludes" ; \
! 	(cd $(HOST_SUBDIR)/fixincludes && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-fixincludes: 
*** 8821,8868 ****
  @endif fixincludes
  
  
  .PHONY: configure-flex maybe-configure-flex
  maybe-configure-flex:
  @if flex
  maybe-configure-flex: configure-flex
! configure-flex:
! 	@test ! -f flex/Makefile || exit 0; \
! 	[ -d flex ] || mkdir flex; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in flex; \
! 	cd flex || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/flex"; \
! 	    libsrcdir="$$s/flex";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/flex"; \
! 	    libsrcdir="$$s/flex";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif flex
  
  .PHONY: all-flex maybe-all-flex
  maybe-all-flex:
  @if flex
  TARGET-flex=all
  maybe-all-flex: all-flex
  all-flex: configure-flex
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd flex && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-flex))
  @endif flex
  
  .PHONY: check-flex maybe-check-flex
  maybe-check-flex:
  @if flex
--- 9838,9890 ----
  @endif fixincludes
  
  
+ 
  .PHONY: configure-flex maybe-configure-flex
  maybe-configure-flex:
  @if flex
  maybe-configure-flex: configure-flex
! configure-flex: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/flex/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/flex ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/flex; \
! 	cd "$(HOST_SUBDIR)/flex" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/flex/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/flex"; \
+ 	libsrcdir="$$s/flex"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif flex
  
+ 
+ 
+ 
+ 
  .PHONY: all-flex maybe-all-flex
  maybe-all-flex:
  @if flex
  TARGET-flex=all
  maybe-all-flex: all-flex
  all-flex: configure-flex
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/flex && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-flex))
  @endif flex
  
+ 
+ 
+ 
  .PHONY: check-flex maybe-check-flex
  maybe-check-flex:
  @if flex
*************** maybe-check-flex: check-flex
*** 8870,8881 ****
  
  # This module is only tested in a native toolchain.
  check-flex:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd flex && $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif flex
--- 9892,9904 ----
  
  # This module is only tested in a native toolchain.
  check-flex:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/flex && \
! 	    $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif flex
*************** maybe-install-flex:
*** 8886,8896 ****
  maybe-install-flex: install-flex
  
  install-flex: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd flex && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif flex
  
--- 9909,9920 ----
  maybe-install-flex: install-flex
  
  install-flex: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/flex && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif flex
  
*************** maybe-info-flex: info-flex
*** 8903,8918 ****
  
  info-flex: \
      configure-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9927,9942 ----
  
  info-flex: \
      configure-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-flex: dvi-flex
*** 8929,8944 ****
  
  dvi-flex: \
      configure-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9953,9968 ----
  
  dvi-flex: \
      configure-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-flex: html-flex
*** 8955,8970 ****
  
  html-flex: \
      configure-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 9979,9994 ----
  
  html-flex: \
      configure-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-flex: TAGS-flex
*** 8981,8996 ****
  
  TAGS-flex: \
      configure-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10005,10020 ----
  
  TAGS-flex: \
      configure-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-flex: install-info-fl
*** 9008,9023 ****
  install-info-flex: \
      configure-flex \
      info-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10032,10047 ----
  install-info-flex: \
      configure-flex \
      info-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-flex: installcheck-fl
*** 9034,9049 ****
  
  installcheck-flex: \
      configure-flex 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10058,10073 ----
  
  installcheck-flex: \
      configure-flex 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-flex:
*** 9059,9074 ****
  maybe-mostlyclean-flex: mostlyclean-flex
  
  mostlyclean-flex: 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10083,10098 ----
  maybe-mostlyclean-flex: mostlyclean-flex
  
  mostlyclean-flex: 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-flex:
*** 9084,9099 ****
  maybe-clean-flex: clean-flex
  
  clean-flex: 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10108,10123 ----
  maybe-clean-flex: clean-flex
  
  clean-flex: 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-flex:
*** 9109,9124 ****
  maybe-distclean-flex: distclean-flex
  
  distclean-flex: 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10133,10148 ----
  maybe-distclean-flex: distclean-flex
  
  distclean-flex: 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-flex:
*** 9134,9149 ****
  maybe-maintainer-clean-flex: maintainer-clean-flex
  
  maintainer-clean-flex: 
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in flex" ; \
! 	(cd flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10158,10173 ----
  maybe-maintainer-clean-flex: maintainer-clean-flex
  
  maintainer-clean-flex: 
+ 	@$(unstage)
  	@[ -f ./flex/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in flex" ; \
! 	(cd $(HOST_SUBDIR)/flex && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-flex: 
*** 9154,9188 ****
  @endif flex
  
  
  .PHONY: configure-gas maybe-configure-gas
  maybe-configure-gas:
  @if gas
  maybe-configure-gas: configure-gas
! configure-gas:
  	@test -f stage_last && exit 0; \
! 	test ! -f gas/Makefile || exit 0; \
! 	[ -d gas ] || mkdir gas; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gas; \
! 	cd gas || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
! 	    libsrcdir="$$s/gas";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
! 	    libsrcdir="$$s/gas";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gas
  
  .PHONY: all-gas maybe-all-gas
  maybe-all-gas:
  @if gas
--- 10178,10364 ----
  @endif flex
  
  
+ 
  .PHONY: configure-gas maybe-configure-gas
  maybe-configure-gas:
  @if gas
  maybe-configure-gas: configure-gas
! configure-gas: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/gas/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gas ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gas; \
! 	cd "$(HOST_SUBDIR)/gas" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gas
  
+ 
+ 
+ .PHONY: configure-stage1-gas maybe-configure-stage1-gas
+ maybe-configure-stage1-gas:
+ @if gas-bootstrap
+ maybe-configure-stage1-gas: configure-stage1-gas
+ configure-stage1-gas: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif gas-bootstrap
+ 
+ .PHONY: configure-stage2-gas maybe-configure-stage2-gas
+ maybe-configure-stage2-gas:
+ @if gas-bootstrap
+ maybe-configure-stage2-gas: configure-stage2-gas
+ configure-stage2-gas: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gas-bootstrap
+ 
+ .PHONY: configure-stage3-gas maybe-configure-stage3-gas
+ maybe-configure-stage3-gas:
+ @if gas-bootstrap
+ maybe-configure-stage3-gas: configure-stage3-gas
+ configure-stage3-gas: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gas-bootstrap
+ 
+ .PHONY: configure-stage4-gas maybe-configure-stage4-gas
+ maybe-configure-stage4-gas:
+ @if gas-bootstrap
+ maybe-configure-stage4-gas: configure-stage4-gas
+ configure-stage4-gas: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gas-bootstrap
+ 
+ .PHONY: configure-stageprofile-gas maybe-configure-stageprofile-gas
+ maybe-configure-stageprofile-gas:
+ @if gas-bootstrap
+ maybe-configure-stageprofile-gas: configure-stageprofile-gas
+ configure-stageprofile-gas: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gas-bootstrap
+ 
+ .PHONY: configure-stagefeedback-gas maybe-configure-stagefeedback-gas
+ maybe-configure-stagefeedback-gas:
+ @if gas-bootstrap
+ maybe-configure-stagefeedback-gas: configure-stagefeedback-gas
+ configure-stagefeedback-gas: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/gas ; \
+ 	cd $(HOST_SUBDIR)/gas || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gas/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gas"; \
+ 	libsrcdir="$$s/gas"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gas-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-gas maybe-all-gas
  maybe-all-gas:
  @if gas
*************** all-gas: configure-gas
*** 9192,9214 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gas && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gas))
  @endif gas
  
  .PHONY: check-gas maybe-check-gas
  maybe-check-gas:
  @if gas
  maybe-check-gas: check-gas
  
  check-gas:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gas && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gas
  
--- 10368,10579 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gas && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gas))
  @endif gas
  
+ 
+ 
+ .PHONY: all-stage1-gas maybe-all-stage1-gas
+ .PHONY: clean-stage1-gas maybe-clean-stage1-gas
+ maybe-all-stage1-gas:
+ maybe-clean-stage1-gas:
+ @if gas-bootstrap
+ maybe-all-stage1-gas: all-stage1-gas
+ all-stage1: all-stage1-gas
+ TARGET-stage1-gas = $(TARGET-gas)
+ all-stage1-gas: configure-stage1-gas
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-gas)
+ 
+ maybe-clean-stage1-gas: clean-stage1-gas
+ clean-stage1: clean-stage1-gas
+ clean-stage1-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif gas-bootstrap
+ 
+ 
+ .PHONY: all-stage2-gas maybe-all-stage2-gas
+ .PHONY: clean-stage2-gas maybe-clean-stage2-gas
+ maybe-all-stage2-gas:
+ maybe-clean-stage2-gas:
+ @if gas-bootstrap
+ maybe-all-stage2-gas: all-stage2-gas
+ all-stage2: all-stage2-gas
+ TARGET-stage2-gas = $(TARGET-gas)
+ all-stage2-gas: configure-stage2-gas
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-gas)
+ 
+ maybe-clean-stage2-gas: clean-stage2-gas
+ clean-stage2: clean-stage2-gas
+ clean-stage2-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif gas-bootstrap
+ 
+ 
+ .PHONY: all-stage3-gas maybe-all-stage3-gas
+ .PHONY: clean-stage3-gas maybe-clean-stage3-gas
+ maybe-all-stage3-gas:
+ maybe-clean-stage3-gas:
+ @if gas-bootstrap
+ maybe-all-stage3-gas: all-stage3-gas
+ all-stage3: all-stage3-gas
+ TARGET-stage3-gas = $(TARGET-gas)
+ all-stage3-gas: configure-stage3-gas
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-gas)
+ 
+ maybe-clean-stage3-gas: clean-stage3-gas
+ clean-stage3: clean-stage3-gas
+ clean-stage3-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif gas-bootstrap
+ 
+ 
+ .PHONY: all-stage4-gas maybe-all-stage4-gas
+ .PHONY: clean-stage4-gas maybe-clean-stage4-gas
+ maybe-all-stage4-gas:
+ maybe-clean-stage4-gas:
+ @if gas-bootstrap
+ maybe-all-stage4-gas: all-stage4-gas
+ all-stage4: all-stage4-gas
+ TARGET-stage4-gas = $(TARGET-gas)
+ all-stage4-gas: configure-stage4-gas
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-gas)
+ 
+ maybe-clean-stage4-gas: clean-stage4-gas
+ clean-stage4: clean-stage4-gas
+ clean-stage4-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif gas-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-gas maybe-all-stageprofile-gas
+ .PHONY: clean-stageprofile-gas maybe-clean-stageprofile-gas
+ maybe-all-stageprofile-gas:
+ maybe-clean-stageprofile-gas:
+ @if gas-bootstrap
+ maybe-all-stageprofile-gas: all-stageprofile-gas
+ all-stageprofile: all-stageprofile-gas
+ TARGET-stageprofile-gas = $(TARGET-gas)
+ all-stageprofile-gas: configure-stageprofile-gas
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-gas)
+ 
+ maybe-clean-stageprofile-gas: clean-stageprofile-gas
+ clean-stageprofile: clean-stageprofile-gas
+ clean-stageprofile-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif gas-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-gas maybe-all-stagefeedback-gas
+ .PHONY: clean-stagefeedback-gas maybe-clean-stagefeedback-gas
+ maybe-all-stagefeedback-gas:
+ maybe-clean-stagefeedback-gas:
+ @if gas-bootstrap
+ maybe-all-stagefeedback-gas: all-stagefeedback-gas
+ all-stagefeedback: all-stagefeedback-gas
+ TARGET-stagefeedback-gas = $(TARGET-gas)
+ all-stagefeedback-gas: configure-stagefeedback-gas
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-gas)
+ 
+ maybe-clean-stagefeedback-gas: clean-stagefeedback-gas
+ clean-stagefeedback: clean-stagefeedback-gas
+ clean-stagefeedback-gas:
+ 	@[ -f $(HOST_SUBDIR)/gas/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-gas/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/gas && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif gas-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-gas maybe-check-gas
  maybe-check-gas:
  @if gas
  maybe-check-gas: check-gas
  
  check-gas:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gas && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gas
  
*************** maybe-install-gas:
*** 9218,9228 ****
  maybe-install-gas: install-gas
  
  install-gas: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gas && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gas
  
--- 10583,10594 ----
  maybe-install-gas: install-gas
  
  install-gas: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gas && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gas
  
*************** info-gas: \
*** 9238,9250 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10604,10615 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-gas: \
*** 9264,9276 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10629,10640 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-gas: \
*** 9290,9302 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10654,10665 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-gas: \
*** 9316,9328 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10679,10690 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-gas: \
*** 9343,9355 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10705,10716 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-gas: \
*** 9369,9381 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10730,10741 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-gas: 
*** 9394,9406 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10754,10765 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-gas: 
*** 9419,9431 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10778,10789 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-gas: 
*** 9444,9456 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10802,10813 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gas: 
*** 9469,9481 ****
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gas" ; \
! 	(cd gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 10826,10837 ----
  	@[ -f ./gas/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gas" ; \
! 	(cd $(HOST_SUBDIR)/gas && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gas: 
*** 9486,9546 ****
  @endif gas
  
  
  .PHONY: configure-gcc maybe-configure-gcc
  maybe-configure-gcc:
  @if gcc
  maybe-configure-gcc: configure-gcc
! configure-gcc:
  	@test -f stage_last && exit 0; \
! 	test ! -f gcc/Makefile || exit 0; \
! 	[ -d gcc ] || mkdir gcc; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gcc; \
! 	cd gcc || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
! 	    libsrcdir="$$s/gcc";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
! 	    libsrcdir="$$s/gcc";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gcc
  
  .PHONY: all-gcc maybe-all-gcc
  maybe-all-gcc:
  @if gcc
! TARGET-gcc=`if [ -f gcc/stage_last ]; then echo quickstrap ; else echo all; fi`
  maybe-all-gcc: all-gcc
  all-gcc: configure-gcc
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gcc && $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) \
! 	  $(TARGET-gcc))
  @endif gcc
  
  .PHONY: check-gcc maybe-check-gcc
  maybe-check-gcc:
  @if gcc
  maybe-check-gcc: check-gcc
  
  check-gcc:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gcc && $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) check)
  
  @endif gcc
  
--- 10842,11243 ----
  @endif gas
  
  
+ 
  .PHONY: configure-gcc maybe-configure-gcc
  maybe-configure-gcc:
  @if gcc
  maybe-configure-gcc: configure-gcc
! configure-gcc: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/gcc/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gcc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gcc; \
! 	cd "$(HOST_SUBDIR)/gcc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gcc
  
+ 
+ 
+ .PHONY: configure-stage1-gcc maybe-configure-stage1-gcc
+ maybe-configure-stage1-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stage1-gcc: configure-stage1-gcc
+ configure-stage1-gcc: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif gcc-bootstrap
+ 
+ .PHONY: configure-stage2-gcc maybe-configure-stage2-gcc
+ maybe-configure-stage2-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stage2-gcc: configure-stage2-gcc
+ configure-stage2-gcc: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gcc-bootstrap
+ 
+ .PHONY: configure-stage3-gcc maybe-configure-stage3-gcc
+ maybe-configure-stage3-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stage3-gcc: configure-stage3-gcc
+ configure-stage3-gcc: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gcc-bootstrap
+ 
+ .PHONY: configure-stage4-gcc maybe-configure-stage4-gcc
+ maybe-configure-stage4-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stage4-gcc: configure-stage4-gcc
+ configure-stage4-gcc: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gcc-bootstrap
+ 
+ .PHONY: configure-stageprofile-gcc maybe-configure-stageprofile-gcc
+ maybe-configure-stageprofile-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stageprofile-gcc: configure-stageprofile-gcc
+ configure-stageprofile-gcc: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gcc-bootstrap
+ 
+ .PHONY: configure-stagefeedback-gcc maybe-configure-stagefeedback-gcc
+ maybe-configure-stagefeedback-gcc:
+ @if gcc-bootstrap
+ maybe-configure-stagefeedback-gcc: configure-stagefeedback-gcc
+ configure-stagefeedback-gcc: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/gcc ; \
+ 	cd $(HOST_SUBDIR)/gcc || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gcc/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gcc"; \
+ 	libsrcdir="$$s/gcc"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif gcc-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-gcc maybe-all-gcc
  maybe-all-gcc:
  @if gcc
! TARGET-gcc=`if [ -f stage_last ]; then echo quickstrap ; else echo all; fi`
  maybe-all-gcc: all-gcc
  all-gcc: configure-gcc
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gcc && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(TARGET-gcc))
  @endif gcc
  
+ 
+ 
+ .PHONY: all-stage1-gcc maybe-all-stage1-gcc
+ .PHONY: clean-stage1-gcc maybe-clean-stage1-gcc
+ maybe-all-stage1-gcc:
+ maybe-clean-stage1-gcc:
+ @if gcc-bootstrap
+ maybe-all-stage1-gcc: all-stage1-gcc
+ all-stage1: all-stage1-gcc
+ TARGET-stage1-gcc = $(TARGET-gcc)
+ all-stage1-gcc: configure-stage1-gcc
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stage1-gcc)
+ 
+ maybe-clean-stage1-gcc: clean-stage1-gcc
+ clean-stage1: clean-stage1-gcc
+ clean-stage1-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ .PHONY: all-stage2-gcc maybe-all-stage2-gcc
+ .PHONY: clean-stage2-gcc maybe-clean-stage2-gcc
+ maybe-all-stage2-gcc:
+ maybe-clean-stage2-gcc:
+ @if gcc-bootstrap
+ maybe-all-stage2-gcc: all-stage2-gcc
+ all-stage2: all-stage2-gcc
+ TARGET-stage2-gcc = $(TARGET-gcc)
+ all-stage2-gcc: configure-stage2-gcc
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)  $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stage2-gcc)
+ 
+ maybe-clean-stage2-gcc: clean-stage2-gcc
+ clean-stage2: clean-stage2-gcc
+ clean-stage2-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		 $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ .PHONY: all-stage3-gcc maybe-all-stage3-gcc
+ .PHONY: clean-stage3-gcc maybe-clean-stage3-gcc
+ maybe-all-stage3-gcc:
+ maybe-clean-stage3-gcc:
+ @if gcc-bootstrap
+ maybe-all-stage3-gcc: all-stage3-gcc
+ all-stage3: all-stage3-gcc
+ TARGET-stage3-gcc = $(TARGET-gcc)
+ all-stage3-gcc: configure-stage3-gcc
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)  $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stage3-gcc)
+ 
+ maybe-clean-stage3-gcc: clean-stage3-gcc
+ clean-stage3: clean-stage3-gcc
+ clean-stage3-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		 $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ .PHONY: all-stage4-gcc maybe-all-stage4-gcc
+ .PHONY: clean-stage4-gcc maybe-clean-stage4-gcc
+ maybe-all-stage4-gcc:
+ maybe-clean-stage4-gcc:
+ @if gcc-bootstrap
+ maybe-all-stage4-gcc: all-stage4-gcc
+ all-stage4: all-stage4-gcc
+ TARGET-stage4-gcc = $(TARGET-gcc)
+ all-stage4-gcc: configure-stage4-gcc
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)  $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stage4-gcc)
+ 
+ maybe-clean-stage4-gcc: clean-stage4-gcc
+ clean-stage4: clean-stage4-gcc
+ clean-stage4-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		 $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-gcc maybe-all-stageprofile-gcc
+ .PHONY: clean-stageprofile-gcc maybe-clean-stageprofile-gcc
+ maybe-all-stageprofile-gcc:
+ maybe-clean-stageprofile-gcc:
+ @if gcc-bootstrap
+ maybe-all-stageprofile-gcc: all-stageprofile-gcc
+ all-stageprofile: all-stageprofile-gcc
+ TARGET-stageprofile-gcc = $(TARGET-gcc)
+ all-stageprofile-gcc: configure-stageprofile-gcc
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stageprofile-gcc)
+ 
+ maybe-clean-stageprofile-gcc: clean-stageprofile-gcc
+ clean-stageprofile: clean-stageprofile-gcc
+ clean-stageprofile-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-gcc maybe-all-stagefeedback-gcc
+ .PHONY: clean-stagefeedback-gcc maybe-clean-stagefeedback-gcc
+ maybe-all-stagefeedback-gcc:
+ maybe-clean-stagefeedback-gcc:
+ @if gcc-bootstrap
+ maybe-all-stagefeedback-gcc: all-stagefeedback-gcc
+ all-stagefeedback: all-stagefeedback-gcc
+ TARGET-stagefeedback-gcc = $(TARGET-gcc)
+ all-stagefeedback-gcc: configure-stagefeedback-gcc
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) \
+ 		$(TARGET-stagefeedback-gcc)
+ 
+ maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc
+ clean-stagefeedback: clean-stagefeedback-gcc
+ clean-stagefeedback-gcc:
+ 	@[ -f $(HOST_SUBDIR)/gcc/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-gcc/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/gcc && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) clean
+ @endif gcc-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-gcc maybe-check-gcc
  maybe-check-gcc:
  @if gcc
  maybe-check-gcc: check-gcc
  
  check-gcc:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gcc && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) check)
  
  @endif gcc
  
*************** maybe-install-gcc:
*** 9550,9560 ****
  maybe-install-gcc: install-gcc
  
  install-gcc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gcc && $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) install)
  
  @endif gcc
  
--- 11247,11258 ----
  maybe-install-gcc: install-gcc
  
  install-gcc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gcc && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) install)
  
  @endif gcc
  
*************** info-gcc: \
*** 9570,9582 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11268,11279 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-gcc: \
*** 9596,9608 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11293,11304 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-gcc: \
*** 9622,9634 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11318,11329 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-gcc: \
*** 9648,9660 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11343,11354 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-gcc: \
*** 9675,9687 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11369,11380 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-gcc: \
*** 9701,9713 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11394,11405 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-gcc: 
*** 9726,9738 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11418,11429 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-gcc: 
*** 9751,9763 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11442,11453 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-gcc: 
*** 9776,9788 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11466,11477 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gcc: 
*** 9801,9813 ****
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gcc" ; \
! 	(cd gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11490,11501 ----
  	@[ -f ./gcc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gcc" ; \
! 	(cd $(HOST_SUBDIR)/gcc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gcc: 
*** 9818,9876 ****
  @endif gcc
  
  
  .PHONY: configure-gawk maybe-configure-gawk
  maybe-configure-gawk:
  @if gawk
  maybe-configure-gawk: configure-gawk
! configure-gawk:
! 	@test ! -f gawk/Makefile || exit 0; \
! 	[ -d gawk ] || mkdir gawk; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gawk; \
! 	cd gawk || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gawk"; \
! 	    libsrcdir="$$s/gawk";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gawk"; \
! 	    libsrcdir="$$s/gawk";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gawk
  
  .PHONY: all-gawk maybe-all-gawk
  maybe-all-gawk:
  @if gawk
  TARGET-gawk=all
  maybe-all-gawk: all-gawk
  all-gawk: configure-gawk
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gawk && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gawk))
  @endif gawk
  
  .PHONY: check-gawk maybe-check-gawk
  maybe-check-gawk:
  @if gawk
  maybe-check-gawk: check-gawk
  
  check-gawk:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gawk && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gawk
  
--- 11506,11570 ----
  @endif gcc
  
  
+ 
  .PHONY: configure-gawk maybe-configure-gawk
  maybe-configure-gawk:
  @if gawk
  maybe-configure-gawk: configure-gawk
! configure-gawk: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gawk/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gawk ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gawk; \
! 	cd "$(HOST_SUBDIR)/gawk" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gawk/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gawk"; \
+ 	libsrcdir="$$s/gawk"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gawk
  
+ 
+ 
+ 
+ 
  .PHONY: all-gawk maybe-all-gawk
  maybe-all-gawk:
  @if gawk
  TARGET-gawk=all
  maybe-all-gawk: all-gawk
  all-gawk: configure-gawk
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gawk && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gawk))
  @endif gawk
  
+ 
+ 
+ 
  .PHONY: check-gawk maybe-check-gawk
  maybe-check-gawk:
  @if gawk
  maybe-check-gawk: check-gawk
  
  check-gawk:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gawk && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gawk
  
*************** maybe-install-gawk:
*** 9880,9890 ****
  maybe-install-gawk: install-gawk
  
  install-gawk: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gawk && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gawk
  
--- 11574,11585 ----
  maybe-install-gawk: install-gawk
  
  install-gawk: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gawk && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gawk
  
*************** maybe-info-gawk: info-gawk
*** 9897,9912 ****
  
  info-gawk: \
      configure-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11592,11607 ----
  
  info-gawk: \
      configure-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gawk: dvi-gawk
*** 9923,9938 ****
  
  dvi-gawk: \
      configure-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11618,11633 ----
  
  dvi-gawk: \
      configure-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gawk: html-gawk
*** 9949,9964 ****
  
  html-gawk: \
      configure-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11644,11659 ----
  
  html-gawk: \
      configure-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gawk: TAGS-gawk
*** 9975,9990 ****
  
  TAGS-gawk: \
      configure-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11670,11685 ----
  
  TAGS-gawk: \
      configure-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gawk: install-info-ga
*** 10002,10017 ****
  install-info-gawk: \
      configure-gawk \
      info-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11697,11712 ----
  install-info-gawk: \
      configure-gawk \
      info-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gawk: installcheck-ga
*** 10028,10043 ****
  
  installcheck-gawk: \
      configure-gawk 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11723,11738 ----
  
  installcheck-gawk: \
      configure-gawk 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gawk:
*** 10053,10068 ****
  maybe-mostlyclean-gawk: mostlyclean-gawk
  
  mostlyclean-gawk: 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11748,11763 ----
  maybe-mostlyclean-gawk: mostlyclean-gawk
  
  mostlyclean-gawk: 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gawk:
*** 10078,10093 ****
  maybe-clean-gawk: clean-gawk
  
  clean-gawk: 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11773,11788 ----
  maybe-clean-gawk: clean-gawk
  
  clean-gawk: 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gawk:
*** 10103,10118 ****
  maybe-distclean-gawk: distclean-gawk
  
  distclean-gawk: 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11798,11813 ----
  maybe-distclean-gawk: distclean-gawk
  
  distclean-gawk: 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gawk:
*** 10128,10143 ****
  maybe-maintainer-clean-gawk: maintainer-clean-gawk
  
  maintainer-clean-gawk: 
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gawk" ; \
! 	(cd gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11823,11838 ----
  maybe-maintainer-clean-gawk: maintainer-clean-gawk
  
  maintainer-clean-gawk: 
+ 	@$(unstage)
  	@[ -f ./gawk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gawk" ; \
! 	(cd $(HOST_SUBDIR)/gawk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gawk: 
*** 10148,10206 ****
  @endif gawk
  
  
  .PHONY: configure-gettext maybe-configure-gettext
  maybe-configure-gettext:
  @if gettext
  maybe-configure-gettext: configure-gettext
! configure-gettext:
! 	@test ! -f gettext/Makefile || exit 0; \
! 	[ -d gettext ] || mkdir gettext; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gettext; \
! 	cd gettext || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gettext"; \
! 	    libsrcdir="$$s/gettext";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gettext"; \
! 	    libsrcdir="$$s/gettext";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gettext
  
  .PHONY: all-gettext maybe-all-gettext
  maybe-all-gettext:
  @if gettext
  TARGET-gettext=all
  maybe-all-gettext: all-gettext
  all-gettext: configure-gettext
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gettext && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gettext))
  @endif gettext
  
  .PHONY: check-gettext maybe-check-gettext
  maybe-check-gettext:
  @if gettext
  maybe-check-gettext: check-gettext
  
  check-gettext:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gettext && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gettext
  
--- 11843,11907 ----
  @endif gawk
  
  
+ 
  .PHONY: configure-gettext maybe-configure-gettext
  maybe-configure-gettext:
  @if gettext
  maybe-configure-gettext: configure-gettext
! configure-gettext: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gettext/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gettext ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gettext; \
! 	cd "$(HOST_SUBDIR)/gettext" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gettext/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gettext"; \
+ 	libsrcdir="$$s/gettext"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gettext
  
+ 
+ 
+ 
+ 
  .PHONY: all-gettext maybe-all-gettext
  maybe-all-gettext:
  @if gettext
  TARGET-gettext=all
  maybe-all-gettext: all-gettext
  all-gettext: configure-gettext
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gettext && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gettext))
  @endif gettext
  
+ 
+ 
+ 
  .PHONY: check-gettext maybe-check-gettext
  maybe-check-gettext:
  @if gettext
  maybe-check-gettext: check-gettext
  
  check-gettext:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gettext && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gettext
  
*************** maybe-install-gettext:
*** 10210,10220 ****
  maybe-install-gettext: install-gettext
  
  install-gettext: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gettext && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gettext
  
--- 11911,11922 ----
  maybe-install-gettext: install-gettext
  
  install-gettext: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gettext && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gettext
  
*************** maybe-info-gettext: info-gettext
*** 10227,10242 ****
  
  info-gettext: \
      configure-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11929,11944 ----
  
  info-gettext: \
      configure-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gettext: dvi-gettext
*** 10253,10268 ****
  
  dvi-gettext: \
      configure-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11955,11970 ----
  
  dvi-gettext: \
      configure-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gettext: html-gettext
*** 10279,10294 ****
  
  html-gettext: \
      configure-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 11981,11996 ----
  
  html-gettext: \
      configure-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gettext: TAGS-gettext
*** 10305,10320 ****
  
  TAGS-gettext: \
      configure-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12007,12022 ----
  
  TAGS-gettext: \
      configure-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gettext: install-info
*** 10332,10347 ****
  install-info-gettext: \
      configure-gettext \
      info-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12034,12049 ----
  install-info-gettext: \
      configure-gettext \
      info-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gettext: installcheck
*** 10358,10373 ****
  
  installcheck-gettext: \
      configure-gettext 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12060,12075 ----
  
  installcheck-gettext: \
      configure-gettext 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gettext:
*** 10383,10398 ****
  maybe-mostlyclean-gettext: mostlyclean-gettext
  
  mostlyclean-gettext: 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12085,12100 ----
  maybe-mostlyclean-gettext: mostlyclean-gettext
  
  mostlyclean-gettext: 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gettext:
*** 10408,10423 ****
  maybe-clean-gettext: clean-gettext
  
  clean-gettext: 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12110,12125 ----
  maybe-clean-gettext: clean-gettext
  
  clean-gettext: 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gettext:
*** 10433,10448 ****
  maybe-distclean-gettext: distclean-gettext
  
  distclean-gettext: 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12135,12150 ----
  maybe-distclean-gettext: distclean-gettext
  
  distclean-gettext: 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gettext:
*** 10458,10473 ****
  maybe-maintainer-clean-gettext: maintainer-clean-gettext
  
  maintainer-clean-gettext: 
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gettext" ; \
! 	(cd gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12160,12175 ----
  maybe-maintainer-clean-gettext: maintainer-clean-gettext
  
  maintainer-clean-gettext: 
+ 	@$(unstage)
  	@[ -f ./gettext/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gettext" ; \
! 	(cd $(HOST_SUBDIR)/gettext && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gettext: 
*** 10478,10536 ****
  @endif gettext
  
  
  .PHONY: configure-gnuserv maybe-configure-gnuserv
  maybe-configure-gnuserv:
  @if gnuserv
  maybe-configure-gnuserv: configure-gnuserv
! configure-gnuserv:
! 	@test ! -f gnuserv/Makefile || exit 0; \
! 	[ -d gnuserv ] || mkdir gnuserv; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gnuserv; \
! 	cd gnuserv || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gnuserv"; \
! 	    libsrcdir="$$s/gnuserv";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gnuserv"; \
! 	    libsrcdir="$$s/gnuserv";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gnuserv
  
  .PHONY: all-gnuserv maybe-all-gnuserv
  maybe-all-gnuserv:
  @if gnuserv
  TARGET-gnuserv=all
  maybe-all-gnuserv: all-gnuserv
  all-gnuserv: configure-gnuserv
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gnuserv && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gnuserv))
  @endif gnuserv
  
  .PHONY: check-gnuserv maybe-check-gnuserv
  maybe-check-gnuserv:
  @if gnuserv
  maybe-check-gnuserv: check-gnuserv
  
  check-gnuserv:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gnuserv && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gnuserv
  
--- 12180,12244 ----
  @endif gettext
  
  
+ 
  .PHONY: configure-gnuserv maybe-configure-gnuserv
  maybe-configure-gnuserv:
  @if gnuserv
  maybe-configure-gnuserv: configure-gnuserv
! configure-gnuserv: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gnuserv/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gnuserv ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gnuserv; \
! 	cd "$(HOST_SUBDIR)/gnuserv" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gnuserv/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gnuserv"; \
+ 	libsrcdir="$$s/gnuserv"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gnuserv
  
+ 
+ 
+ 
+ 
  .PHONY: all-gnuserv maybe-all-gnuserv
  maybe-all-gnuserv:
  @if gnuserv
  TARGET-gnuserv=all
  maybe-all-gnuserv: all-gnuserv
  all-gnuserv: configure-gnuserv
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnuserv))
  @endif gnuserv
  
+ 
+ 
+ 
  .PHONY: check-gnuserv maybe-check-gnuserv
  maybe-check-gnuserv:
  @if gnuserv
  maybe-check-gnuserv: check-gnuserv
  
  check-gnuserv:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gnuserv
  
*************** maybe-install-gnuserv:
*** 10540,10550 ****
  maybe-install-gnuserv: install-gnuserv
  
  install-gnuserv: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gnuserv && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gnuserv
  
--- 12248,12259 ----
  maybe-install-gnuserv: install-gnuserv
  
  install-gnuserv: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gnuserv
  
*************** maybe-info-gnuserv: info-gnuserv
*** 10557,10572 ****
  
  info-gnuserv: \
      configure-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12266,12281 ----
  
  info-gnuserv: \
      configure-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gnuserv: dvi-gnuserv
*** 10583,10598 ****
  
  dvi-gnuserv: \
      configure-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12292,12307 ----
  
  dvi-gnuserv: \
      configure-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gnuserv: html-gnuserv
*** 10609,10624 ****
  
  html-gnuserv: \
      configure-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12318,12333 ----
  
  html-gnuserv: \
      configure-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gnuserv: TAGS-gnuserv
*** 10635,10650 ****
  
  TAGS-gnuserv: \
      configure-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12344,12359 ----
  
  TAGS-gnuserv: \
      configure-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gnuserv: install-info
*** 10662,10677 ****
  install-info-gnuserv: \
      configure-gnuserv \
      info-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12371,12386 ----
  install-info-gnuserv: \
      configure-gnuserv \
      info-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gnuserv: installcheck
*** 10688,10703 ****
  
  installcheck-gnuserv: \
      configure-gnuserv 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12397,12412 ----
  
  installcheck-gnuserv: \
      configure-gnuserv 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gnuserv:
*** 10713,10728 ****
  maybe-mostlyclean-gnuserv: mostlyclean-gnuserv
  
  mostlyclean-gnuserv: 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12422,12437 ----
  maybe-mostlyclean-gnuserv: mostlyclean-gnuserv
  
  mostlyclean-gnuserv: 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gnuserv:
*** 10738,10753 ****
  maybe-clean-gnuserv: clean-gnuserv
  
  clean-gnuserv: 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12447,12462 ----
  maybe-clean-gnuserv: clean-gnuserv
  
  clean-gnuserv: 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gnuserv:
*** 10763,10778 ****
  maybe-distclean-gnuserv: distclean-gnuserv
  
  distclean-gnuserv: 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12472,12487 ----
  maybe-distclean-gnuserv: distclean-gnuserv
  
  distclean-gnuserv: 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gnuserv:
*** 10788,10803 ****
  maybe-maintainer-clean-gnuserv: maintainer-clean-gnuserv
  
  maintainer-clean-gnuserv: 
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gnuserv" ; \
! 	(cd gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12497,12512 ----
  maybe-maintainer-clean-gnuserv: maintainer-clean-gnuserv
  
  maintainer-clean-gnuserv: 
+ 	@$(unstage)
  	@[ -f ./gnuserv/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gnuserv" ; \
! 	(cd $(HOST_SUBDIR)/gnuserv && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gnuserv: 
*** 10808,10866 ****
  @endif gnuserv
  
  
  .PHONY: configure-gprof maybe-configure-gprof
  maybe-configure-gprof:
  @if gprof
  maybe-configure-gprof: configure-gprof
! configure-gprof:
! 	@test ! -f gprof/Makefile || exit 0; \
! 	[ -d gprof ] || mkdir gprof; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gprof; \
! 	cd gprof || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gprof"; \
! 	    libsrcdir="$$s/gprof";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gprof"; \
! 	    libsrcdir="$$s/gprof";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gprof
  
  .PHONY: all-gprof maybe-all-gprof
  maybe-all-gprof:
  @if gprof
  TARGET-gprof=all
  maybe-all-gprof: all-gprof
  all-gprof: configure-gprof
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gprof && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gprof))
  @endif gprof
  
  .PHONY: check-gprof maybe-check-gprof
  maybe-check-gprof:
  @if gprof
  maybe-check-gprof: check-gprof
  
  check-gprof:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gprof && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gprof
  
--- 12517,12581 ----
  @endif gnuserv
  
  
+ 
  .PHONY: configure-gprof maybe-configure-gprof
  maybe-configure-gprof:
  @if gprof
  maybe-configure-gprof: configure-gprof
! configure-gprof: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gprof/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gprof ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gprof; \
! 	cd "$(HOST_SUBDIR)/gprof" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gprof/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gprof"; \
+ 	libsrcdir="$$s/gprof"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gprof
  
+ 
+ 
+ 
+ 
  .PHONY: all-gprof maybe-all-gprof
  maybe-all-gprof:
  @if gprof
  TARGET-gprof=all
  maybe-all-gprof: all-gprof
  all-gprof: configure-gprof
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gprof && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gprof))
  @endif gprof
  
+ 
+ 
+ 
  .PHONY: check-gprof maybe-check-gprof
  maybe-check-gprof:
  @if gprof
  maybe-check-gprof: check-gprof
  
  check-gprof:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gprof && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gprof
  
*************** maybe-install-gprof:
*** 10870,10880 ****
  maybe-install-gprof: install-gprof
  
  install-gprof: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gprof && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gprof
  
--- 12585,12596 ----
  maybe-install-gprof: install-gprof
  
  install-gprof: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gprof && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gprof
  
*************** maybe-info-gprof: info-gprof
*** 10887,10902 ****
  
  info-gprof: \
      configure-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12603,12618 ----
  
  info-gprof: \
      configure-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gprof: dvi-gprof
*** 10913,10928 ****
  
  dvi-gprof: \
      configure-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12629,12644 ----
  
  dvi-gprof: \
      configure-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gprof: html-gprof
*** 10939,10954 ****
  
  html-gprof: \
      configure-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12655,12670 ----
  
  html-gprof: \
      configure-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gprof: TAGS-gprof
*** 10965,10980 ****
  
  TAGS-gprof: \
      configure-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12681,12696 ----
  
  TAGS-gprof: \
      configure-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gprof: install-info-g
*** 10992,11007 ****
  install-info-gprof: \
      configure-gprof \
      info-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12708,12723 ----
  install-info-gprof: \
      configure-gprof \
      info-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gprof: installcheck-g
*** 11018,11033 ****
  
  installcheck-gprof: \
      configure-gprof 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12734,12749 ----
  
  installcheck-gprof: \
      configure-gprof 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gprof:
*** 11043,11058 ****
  maybe-mostlyclean-gprof: mostlyclean-gprof
  
  mostlyclean-gprof: 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12759,12774 ----
  maybe-mostlyclean-gprof: mostlyclean-gprof
  
  mostlyclean-gprof: 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gprof:
*** 11068,11083 ****
  maybe-clean-gprof: clean-gprof
  
  clean-gprof: 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12784,12799 ----
  maybe-clean-gprof: clean-gprof
  
  clean-gprof: 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gprof:
*** 11093,11108 ****
  maybe-distclean-gprof: distclean-gprof
  
  distclean-gprof: 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12809,12824 ----
  maybe-distclean-gprof: distclean-gprof
  
  distclean-gprof: 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gprof:
*** 11118,11133 ****
  maybe-maintainer-clean-gprof: maintainer-clean-gprof
  
  maintainer-clean-gprof: 
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gprof" ; \
! 	(cd gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12834,12849 ----
  maybe-maintainer-clean-gprof: maintainer-clean-gprof
  
  maintainer-clean-gprof: 
+ 	@$(unstage)
  	@[ -f ./gprof/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gprof" ; \
! 	(cd $(HOST_SUBDIR)/gprof && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gprof: 
*** 11138,11196 ****
  @endif gprof
  
  
  .PHONY: configure-gzip maybe-configure-gzip
  maybe-configure-gzip:
  @if gzip
  maybe-configure-gzip: configure-gzip
! configure-gzip:
! 	@test ! -f gzip/Makefile || exit 0; \
! 	[ -d gzip ] || mkdir gzip; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gzip; \
! 	cd gzip || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gzip"; \
! 	    libsrcdir="$$s/gzip";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gzip"; \
! 	    libsrcdir="$$s/gzip";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gzip
  
  .PHONY: all-gzip maybe-all-gzip
  maybe-all-gzip:
  @if gzip
  TARGET-gzip=all
  maybe-all-gzip: all-gzip
  all-gzip: configure-gzip
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gzip && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-gzip))
  @endif gzip
  
  .PHONY: check-gzip maybe-check-gzip
  maybe-check-gzip:
  @if gzip
  maybe-check-gzip: check-gzip
  
  check-gzip:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gzip && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gzip
  
--- 12854,12918 ----
  @endif gprof
  
  
+ 
  .PHONY: configure-gzip maybe-configure-gzip
  maybe-configure-gzip:
  @if gzip
  maybe-configure-gzip: configure-gzip
! configure-gzip: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gzip/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gzip ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gzip; \
! 	cd "$(HOST_SUBDIR)/gzip" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gzip/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gzip"; \
+ 	libsrcdir="$$s/gzip"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gzip
  
+ 
+ 
+ 
+ 
  .PHONY: all-gzip maybe-all-gzip
  maybe-all-gzip:
  @if gzip
  TARGET-gzip=all
  maybe-all-gzip: all-gzip
  all-gzip: configure-gzip
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gzip && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gzip))
  @endif gzip
  
+ 
+ 
+ 
  .PHONY: check-gzip maybe-check-gzip
  maybe-check-gzip:
  @if gzip
  maybe-check-gzip: check-gzip
  
  check-gzip:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gzip && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif gzip
  
*************** maybe-install-gzip:
*** 11200,11210 ****
  maybe-install-gzip: install-gzip
  
  install-gzip: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gzip && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gzip
  
--- 12922,12933 ----
  maybe-install-gzip: install-gzip
  
  install-gzip: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gzip && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif gzip
  
*************** maybe-info-gzip: info-gzip
*** 11217,11232 ****
  
  info-gzip: \
      configure-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12940,12955 ----
  
  info-gzip: \
      configure-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gzip: dvi-gzip
*** 11243,11258 ****
  
  dvi-gzip: \
      configure-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12966,12981 ----
  
  dvi-gzip: \
      configure-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gzip: html-gzip
*** 11269,11284 ****
  
  html-gzip: \
      configure-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 12992,13007 ----
  
  html-gzip: \
      configure-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gzip: TAGS-gzip
*** 11295,11310 ****
  
  TAGS-gzip: \
      configure-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13018,13033 ----
  
  TAGS-gzip: \
      configure-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gzip: install-info-gz
*** 11322,11337 ****
  install-info-gzip: \
      configure-gzip \
      info-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13045,13060 ----
  install-info-gzip: \
      configure-gzip \
      info-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gzip: installcheck-gz
*** 11348,11363 ****
  
  installcheck-gzip: \
      configure-gzip 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13071,13086 ----
  
  installcheck-gzip: \
      configure-gzip 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gzip:
*** 11373,11388 ****
  maybe-mostlyclean-gzip: mostlyclean-gzip
  
  mostlyclean-gzip: 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13096,13111 ----
  maybe-mostlyclean-gzip: mostlyclean-gzip
  
  mostlyclean-gzip: 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gzip:
*** 11398,11413 ****
  maybe-clean-gzip: clean-gzip
  
  clean-gzip: 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13121,13136 ----
  maybe-clean-gzip: clean-gzip
  
  clean-gzip: 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gzip:
*** 11423,11438 ****
  maybe-distclean-gzip: distclean-gzip
  
  distclean-gzip: 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13146,13161 ----
  maybe-distclean-gzip: distclean-gzip
  
  distclean-gzip: 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gzip:
*** 11448,11463 ****
  maybe-maintainer-clean-gzip: maintainer-clean-gzip
  
  maintainer-clean-gzip: 
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gzip" ; \
! 	(cd gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13171,13186 ----
  maybe-maintainer-clean-gzip: maintainer-clean-gzip
  
  maintainer-clean-gzip: 
+ 	@$(unstage)
  	@[ -f ./gzip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gzip" ; \
! 	(cd $(HOST_SUBDIR)/gzip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gzip: 
*** 11468,11526 ****
  @endif gzip
  
  
  .PHONY: configure-hello maybe-configure-hello
  maybe-configure-hello:
  @if hello
  maybe-configure-hello: configure-hello
! configure-hello:
! 	@test ! -f hello/Makefile || exit 0; \
! 	[ -d hello ] || mkdir hello; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in hello; \
! 	cd hello || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/hello"; \
! 	    libsrcdir="$$s/hello";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/hello"; \
! 	    libsrcdir="$$s/hello";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif hello
  
  .PHONY: all-hello maybe-all-hello
  maybe-all-hello:
  @if hello
  TARGET-hello=all
  maybe-all-hello: all-hello
  all-hello: configure-hello
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd hello && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-hello))
  @endif hello
  
  .PHONY: check-hello maybe-check-hello
  maybe-check-hello:
  @if hello
  maybe-check-hello: check-hello
  
  check-hello:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd hello && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif hello
  
--- 13191,13255 ----
  @endif gzip
  
  
+ 
  .PHONY: configure-hello maybe-configure-hello
  maybe-configure-hello:
  @if hello
  maybe-configure-hello: configure-hello
! configure-hello: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/hello/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/hello ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/hello; \
! 	cd "$(HOST_SUBDIR)/hello" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/hello/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/hello"; \
+ 	libsrcdir="$$s/hello"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif hello
  
+ 
+ 
+ 
+ 
  .PHONY: all-hello maybe-all-hello
  maybe-all-hello:
  @if hello
  TARGET-hello=all
  maybe-all-hello: all-hello
  all-hello: configure-hello
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/hello && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-hello))
  @endif hello
  
+ 
+ 
+ 
  .PHONY: check-hello maybe-check-hello
  maybe-check-hello:
  @if hello
  maybe-check-hello: check-hello
  
  check-hello:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/hello && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif hello
  
*************** maybe-install-hello:
*** 11530,11540 ****
  maybe-install-hello: install-hello
  
  install-hello: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd hello && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif hello
  
--- 13259,13270 ----
  maybe-install-hello: install-hello
  
  install-hello: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/hello && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif hello
  
*************** maybe-info-hello: info-hello
*** 11547,11562 ****
  
  info-hello: \
      configure-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13277,13292 ----
  
  info-hello: \
      configure-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-hello: dvi-hello
*** 11573,11588 ****
  
  dvi-hello: \
      configure-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13303,13318 ----
  
  dvi-hello: \
      configure-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-hello: html-hello
*** 11599,11614 ****
  
  html-hello: \
      configure-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13329,13344 ----
  
  html-hello: \
      configure-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-hello: TAGS-hello
*** 11625,11640 ****
  
  TAGS-hello: \
      configure-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13355,13370 ----
  
  TAGS-hello: \
      configure-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-hello: install-info-h
*** 11652,11667 ****
  install-info-hello: \
      configure-hello \
      info-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13382,13397 ----
  install-info-hello: \
      configure-hello \
      info-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-hello: installcheck-h
*** 11678,11693 ****
  
  installcheck-hello: \
      configure-hello 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13408,13423 ----
  
  installcheck-hello: \
      configure-hello 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-hello:
*** 11703,11718 ****
  maybe-mostlyclean-hello: mostlyclean-hello
  
  mostlyclean-hello: 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13433,13448 ----
  maybe-mostlyclean-hello: mostlyclean-hello
  
  mostlyclean-hello: 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-hello:
*** 11728,11743 ****
  maybe-clean-hello: clean-hello
  
  clean-hello: 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13458,13473 ----
  maybe-clean-hello: clean-hello
  
  clean-hello: 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-hello:
*** 11753,11768 ****
  maybe-distclean-hello: distclean-hello
  
  distclean-hello: 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13483,13498 ----
  maybe-distclean-hello: distclean-hello
  
  distclean-hello: 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-hello:
*** 11778,11793 ****
  maybe-maintainer-clean-hello: maintainer-clean-hello
  
  maintainer-clean-hello: 
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in hello" ; \
! 	(cd hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13508,13523 ----
  maybe-maintainer-clean-hello: maintainer-clean-hello
  
  maintainer-clean-hello: 
+ 	@$(unstage)
  	@[ -f ./hello/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in hello" ; \
! 	(cd $(HOST_SUBDIR)/hello && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-hello: 
*** 11798,11856 ****
  @endif hello
  
  
  .PHONY: configure-indent maybe-configure-indent
  maybe-configure-indent:
  @if indent
  maybe-configure-indent: configure-indent
! configure-indent:
! 	@test ! -f indent/Makefile || exit 0; \
! 	[ -d indent ] || mkdir indent; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in indent; \
! 	cd indent || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/indent"; \
! 	    libsrcdir="$$s/indent";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/indent"; \
! 	    libsrcdir="$$s/indent";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif indent
  
  .PHONY: all-indent maybe-all-indent
  maybe-all-indent:
  @if indent
  TARGET-indent=all
  maybe-all-indent: all-indent
  all-indent: configure-indent
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd indent && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-indent))
  @endif indent
  
  .PHONY: check-indent maybe-check-indent
  maybe-check-indent:
  @if indent
  maybe-check-indent: check-indent
  
  check-indent:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd indent && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif indent
  
--- 13528,13592 ----
  @endif hello
  
  
+ 
  .PHONY: configure-indent maybe-configure-indent
  maybe-configure-indent:
  @if indent
  maybe-configure-indent: configure-indent
! configure-indent: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/indent/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/indent ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/indent; \
! 	cd "$(HOST_SUBDIR)/indent" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/indent/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/indent"; \
+ 	libsrcdir="$$s/indent"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif indent
  
+ 
+ 
+ 
+ 
  .PHONY: all-indent maybe-all-indent
  maybe-all-indent:
  @if indent
  TARGET-indent=all
  maybe-all-indent: all-indent
  all-indent: configure-indent
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/indent && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-indent))
  @endif indent
  
+ 
+ 
+ 
  .PHONY: check-indent maybe-check-indent
  maybe-check-indent:
  @if indent
  maybe-check-indent: check-indent
  
  check-indent:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/indent && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif indent
  
*************** maybe-install-indent:
*** 11860,11870 ****
  maybe-install-indent: install-indent
  
  install-indent: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd indent && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif indent
  
--- 13596,13607 ----
  maybe-install-indent: install-indent
  
  install-indent: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/indent && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif indent
  
*************** maybe-info-indent: info-indent
*** 11877,11892 ****
  
  info-indent: \
      configure-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13614,13629 ----
  
  info-indent: \
      configure-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-indent: dvi-indent
*** 11903,11918 ****
  
  dvi-indent: \
      configure-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13640,13655 ----
  
  dvi-indent: \
      configure-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-indent: html-indent
*** 11929,11944 ****
  
  html-indent: \
      configure-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13666,13681 ----
  
  html-indent: \
      configure-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-indent: TAGS-indent
*** 11955,11970 ****
  
  TAGS-indent: \
      configure-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13692,13707 ----
  
  TAGS-indent: \
      configure-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-indent: install-info-
*** 11982,11997 ****
  install-info-indent: \
      configure-indent \
      info-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13719,13734 ----
  install-info-indent: \
      configure-indent \
      info-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-indent: installcheck-
*** 12008,12023 ****
  
  installcheck-indent: \
      configure-indent 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13745,13760 ----
  
  installcheck-indent: \
      configure-indent 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-indent:
*** 12033,12048 ****
  maybe-mostlyclean-indent: mostlyclean-indent
  
  mostlyclean-indent: 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13770,13785 ----
  maybe-mostlyclean-indent: mostlyclean-indent
  
  mostlyclean-indent: 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-indent:
*** 12058,12073 ****
  maybe-clean-indent: clean-indent
  
  clean-indent: 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13795,13810 ----
  maybe-clean-indent: clean-indent
  
  clean-indent: 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-indent:
*** 12083,12098 ****
  maybe-distclean-indent: distclean-indent
  
  distclean-indent: 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13820,13835 ----
  maybe-distclean-indent: distclean-indent
  
  distclean-indent: 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-indent:
*** 12108,12123 ****
  maybe-maintainer-clean-indent: maintainer-clean-indent
  
  maintainer-clean-indent: 
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in indent" ; \
! 	(cd indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 13845,13860 ----
  maybe-maintainer-clean-indent: maintainer-clean-indent
  
  maintainer-clean-indent: 
+ 	@$(unstage)
  	@[ -f ./indent/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in indent" ; \
! 	(cd $(HOST_SUBDIR)/indent && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-indent: 
*** 12128,12162 ****
  @endif indent
  
  
  .PHONY: configure-intl maybe-configure-intl
  maybe-configure-intl:
  @if intl
  maybe-configure-intl: configure-intl
! configure-intl:
  	@test -f stage_last && exit 0; \
! 	test ! -f intl/Makefile || exit 0; \
! 	[ -d intl ] || mkdir intl; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in intl; \
! 	cd intl || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
! 	    libsrcdir="$$s/intl";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
! 	    libsrcdir="$$s/intl";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif intl
  
  .PHONY: all-intl maybe-all-intl
  maybe-all-intl:
  @if intl
--- 13865,14051 ----
  @endif indent
  
  
+ 
  .PHONY: configure-intl maybe-configure-intl
  maybe-configure-intl:
  @if intl
  maybe-configure-intl: configure-intl
! configure-intl: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/intl/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/intl ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/intl; \
! 	cd "$(HOST_SUBDIR)/intl" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif intl
  
+ 
+ 
+ .PHONY: configure-stage1-intl maybe-configure-stage1-intl
+ maybe-configure-stage1-intl:
+ @if intl-bootstrap
+ maybe-configure-stage1-intl: configure-stage1-intl
+ configure-stage1-intl: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif intl-bootstrap
+ 
+ .PHONY: configure-stage2-intl maybe-configure-stage2-intl
+ maybe-configure-stage2-intl:
+ @if intl-bootstrap
+ maybe-configure-stage2-intl: configure-stage2-intl
+ configure-stage2-intl: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif intl-bootstrap
+ 
+ .PHONY: configure-stage3-intl maybe-configure-stage3-intl
+ maybe-configure-stage3-intl:
+ @if intl-bootstrap
+ maybe-configure-stage3-intl: configure-stage3-intl
+ configure-stage3-intl: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif intl-bootstrap
+ 
+ .PHONY: configure-stage4-intl maybe-configure-stage4-intl
+ maybe-configure-stage4-intl:
+ @if intl-bootstrap
+ maybe-configure-stage4-intl: configure-stage4-intl
+ configure-stage4-intl: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif intl-bootstrap
+ 
+ .PHONY: configure-stageprofile-intl maybe-configure-stageprofile-intl
+ maybe-configure-stageprofile-intl:
+ @if intl-bootstrap
+ maybe-configure-stageprofile-intl: configure-stageprofile-intl
+ configure-stageprofile-intl: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif intl-bootstrap
+ 
+ .PHONY: configure-stagefeedback-intl maybe-configure-stagefeedback-intl
+ maybe-configure-stagefeedback-intl:
+ @if intl-bootstrap
+ maybe-configure-stagefeedback-intl: configure-stagefeedback-intl
+ configure-stagefeedback-intl: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/intl ; \
+ 	cd $(HOST_SUBDIR)/intl || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/intl/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/intl"; \
+ 	libsrcdir="$$s/intl"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif intl-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-intl maybe-all-intl
  maybe-all-intl:
  @if intl
*************** all-intl: configure-intl
*** 12166,12188 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd intl && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-intl))
  @endif intl
  
  .PHONY: check-intl maybe-check-intl
  maybe-check-intl:
  @if intl
  maybe-check-intl: check-intl
  
  check-intl:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd intl && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif intl
  
--- 14055,14266 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/intl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-intl))
  @endif intl
  
+ 
+ 
+ .PHONY: all-stage1-intl maybe-all-stage1-intl
+ .PHONY: clean-stage1-intl maybe-clean-stage1-intl
+ maybe-all-stage1-intl:
+ maybe-clean-stage1-intl:
+ @if intl-bootstrap
+ maybe-all-stage1-intl: all-stage1-intl
+ all-stage1: all-stage1-intl
+ TARGET-stage1-intl = $(TARGET-intl)
+ all-stage1-intl: configure-stage1-intl
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-intl)
+ 
+ maybe-clean-stage1-intl: clean-stage1-intl
+ clean-stage1: clean-stage1-intl
+ clean-stage1-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif intl-bootstrap
+ 
+ 
+ .PHONY: all-stage2-intl maybe-all-stage2-intl
+ .PHONY: clean-stage2-intl maybe-clean-stage2-intl
+ maybe-all-stage2-intl:
+ maybe-clean-stage2-intl:
+ @if intl-bootstrap
+ maybe-all-stage2-intl: all-stage2-intl
+ all-stage2: all-stage2-intl
+ TARGET-stage2-intl = $(TARGET-intl)
+ all-stage2-intl: configure-stage2-intl
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-intl)
+ 
+ maybe-clean-stage2-intl: clean-stage2-intl
+ clean-stage2: clean-stage2-intl
+ clean-stage2-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif intl-bootstrap
+ 
+ 
+ .PHONY: all-stage3-intl maybe-all-stage3-intl
+ .PHONY: clean-stage3-intl maybe-clean-stage3-intl
+ maybe-all-stage3-intl:
+ maybe-clean-stage3-intl:
+ @if intl-bootstrap
+ maybe-all-stage3-intl: all-stage3-intl
+ all-stage3: all-stage3-intl
+ TARGET-stage3-intl = $(TARGET-intl)
+ all-stage3-intl: configure-stage3-intl
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-intl)
+ 
+ maybe-clean-stage3-intl: clean-stage3-intl
+ clean-stage3: clean-stage3-intl
+ clean-stage3-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif intl-bootstrap
+ 
+ 
+ .PHONY: all-stage4-intl maybe-all-stage4-intl
+ .PHONY: clean-stage4-intl maybe-clean-stage4-intl
+ maybe-all-stage4-intl:
+ maybe-clean-stage4-intl:
+ @if intl-bootstrap
+ maybe-all-stage4-intl: all-stage4-intl
+ all-stage4: all-stage4-intl
+ TARGET-stage4-intl = $(TARGET-intl)
+ all-stage4-intl: configure-stage4-intl
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-intl)
+ 
+ maybe-clean-stage4-intl: clean-stage4-intl
+ clean-stage4: clean-stage4-intl
+ clean-stage4-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif intl-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-intl maybe-all-stageprofile-intl
+ .PHONY: clean-stageprofile-intl maybe-clean-stageprofile-intl
+ maybe-all-stageprofile-intl:
+ maybe-clean-stageprofile-intl:
+ @if intl-bootstrap
+ maybe-all-stageprofile-intl: all-stageprofile-intl
+ all-stageprofile: all-stageprofile-intl
+ TARGET-stageprofile-intl = $(TARGET-intl)
+ all-stageprofile-intl: configure-stageprofile-intl
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-intl)
+ 
+ maybe-clean-stageprofile-intl: clean-stageprofile-intl
+ clean-stageprofile: clean-stageprofile-intl
+ clean-stageprofile-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif intl-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-intl maybe-all-stagefeedback-intl
+ .PHONY: clean-stagefeedback-intl maybe-clean-stagefeedback-intl
+ maybe-all-stagefeedback-intl:
+ maybe-clean-stagefeedback-intl:
+ @if intl-bootstrap
+ maybe-all-stagefeedback-intl: all-stagefeedback-intl
+ all-stagefeedback: all-stagefeedback-intl
+ TARGET-stagefeedback-intl = $(TARGET-intl)
+ all-stagefeedback-intl: configure-stagefeedback-intl
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-intl)
+ 
+ maybe-clean-stagefeedback-intl: clean-stagefeedback-intl
+ clean-stagefeedback: clean-stagefeedback-intl
+ clean-stagefeedback-intl:
+ 	@[ -f $(HOST_SUBDIR)/intl/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-intl/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/intl && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif intl-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-intl maybe-check-intl
  maybe-check-intl:
  @if intl
  maybe-check-intl: check-intl
  
  check-intl:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/intl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif intl
  
*************** maybe-install-intl:
*** 12192,12202 ****
  maybe-install-intl: install-intl
  
  install-intl: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd intl && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif intl
  
--- 14270,14281 ----
  maybe-install-intl: install-intl
  
  install-intl: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/intl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif intl
  
*************** info-intl: \
*** 12212,12224 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14291,14302 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-intl: \
*** 12238,12250 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14316,14327 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-intl: \
*** 12264,12276 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14341,14352 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-intl: \
*** 12290,12302 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14366,14377 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-intl: \
*** 12317,12329 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14392,14403 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-intl: \
*** 12343,12355 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14417,14428 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-intl: 
*** 12368,12380 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14441,14452 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-intl: 
*** 12393,12405 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14465,14476 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-intl: 
*** 12418,12430 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14489,14500 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-intl: 
*** 12443,12455 ****
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in intl" ; \
! 	(cd intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14513,14524 ----
  	@[ -f ./intl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in intl" ; \
! 	(cd $(HOST_SUBDIR)/intl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-intl: 
*** 12460,12518 ****
  @endif intl
  
  
  .PHONY: configure-tcl maybe-configure-tcl
  maybe-configure-tcl:
  @if tcl
  maybe-configure-tcl: configure-tcl
! configure-tcl:
! 	@test ! -f tcl/Makefile || exit 0; \
! 	[ -d tcl ] || mkdir tcl; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in tcl; \
! 	cd tcl || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/tcl"; \
! 	    libsrcdir="$$s/tcl";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/tcl"; \
! 	    libsrcdir="$$s/tcl";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tcl
  
  .PHONY: all-tcl maybe-all-tcl
  maybe-all-tcl:
  @if tcl
  TARGET-tcl=all
  maybe-all-tcl: all-tcl
  all-tcl: configure-tcl
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tcl && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-tcl))
  @endif tcl
  
  .PHONY: check-tcl maybe-check-tcl
  maybe-check-tcl:
  @if tcl
  maybe-check-tcl: check-tcl
  
  check-tcl:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tcl && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif tcl
  
--- 14529,14593 ----
  @endif intl
  
  
+ 
  .PHONY: configure-tcl maybe-configure-tcl
  maybe-configure-tcl:
  @if tcl
  maybe-configure-tcl: configure-tcl
! configure-tcl: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/tcl/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tcl ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/tcl; \
! 	cd "$(HOST_SUBDIR)/tcl" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/tcl/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/tcl"; \
+ 	libsrcdir="$$s/tcl"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tcl
  
+ 
+ 
+ 
+ 
  .PHONY: all-tcl maybe-all-tcl
  maybe-all-tcl:
  @if tcl
  TARGET-tcl=all
  maybe-all-tcl: all-tcl
  all-tcl: configure-tcl
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tcl))
  @endif tcl
  
+ 
+ 
+ 
  .PHONY: check-tcl maybe-check-tcl
  maybe-check-tcl:
  @if tcl
  maybe-check-tcl: check-tcl
  
  check-tcl:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif tcl
  
*************** maybe-install-tcl:
*** 12522,12532 ****
  maybe-install-tcl: install-tcl
  
  install-tcl: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tcl && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif tcl
  
--- 14597,14608 ----
  maybe-install-tcl: install-tcl
  
  install-tcl: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif tcl
  
*************** maybe-info-tcl: info-tcl
*** 12539,12554 ****
  
  info-tcl: \
      configure-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14615,14630 ----
  
  info-tcl: \
      configure-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-tcl: dvi-tcl
*** 12565,12580 ****
  
  dvi-tcl: \
      configure-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14641,14656 ----
  
  dvi-tcl: \
      configure-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-tcl: html-tcl
*** 12591,12606 ****
  
  html-tcl: \
      configure-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14667,14682 ----
  
  html-tcl: \
      configure-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-tcl: TAGS-tcl
*** 12617,12632 ****
  
  TAGS-tcl: \
      configure-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14693,14708 ----
  
  TAGS-tcl: \
      configure-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-tcl: install-info-tcl
*** 12644,12659 ****
  install-info-tcl: \
      configure-tcl \
      info-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14720,14735 ----
  install-info-tcl: \
      configure-tcl \
      info-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-tcl: installcheck-tcl
*** 12670,12685 ****
  
  installcheck-tcl: \
      configure-tcl 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14746,14761 ----
  
  installcheck-tcl: \
      configure-tcl 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-tcl:
*** 12705,12720 ****
  maybe-clean-tcl: clean-tcl
  
  clean-tcl: 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14781,14796 ----
  maybe-clean-tcl: clean-tcl
  
  clean-tcl: 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-tcl:
*** 12730,12745 ****
  maybe-distclean-tcl: distclean-tcl
  
  distclean-tcl: 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14806,14821 ----
  maybe-distclean-tcl: distclean-tcl
  
  distclean-tcl: 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-tcl:
*** 12755,12770 ****
  maybe-maintainer-clean-tcl: maintainer-clean-tcl
  
  maintainer-clean-tcl: 
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tcl" ; \
! 	(cd tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14831,14846 ----
  maybe-maintainer-clean-tcl: maintainer-clean-tcl
  
  maintainer-clean-tcl: 
+ 	@$(unstage)
  	@[ -f ./tcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tcl" ; \
! 	(cd $(HOST_SUBDIR)/tcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-tcl: 
*** 12775,12833 ****
  @endif tcl
  
  
  .PHONY: configure-itcl maybe-configure-itcl
  maybe-configure-itcl:
  @if itcl
  maybe-configure-itcl: configure-itcl
! configure-itcl:
! 	@test ! -f itcl/Makefile || exit 0; \
! 	[ -d itcl ] || mkdir itcl; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in itcl; \
! 	cd itcl || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/itcl"; \
! 	    libsrcdir="$$s/itcl";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/itcl"; \
! 	    libsrcdir="$$s/itcl";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif itcl
  
  .PHONY: all-itcl maybe-all-itcl
  maybe-all-itcl:
  @if itcl
  TARGET-itcl=all
  maybe-all-itcl: all-itcl
  all-itcl: configure-itcl
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd itcl && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-itcl))
  @endif itcl
  
  .PHONY: check-itcl maybe-check-itcl
  maybe-check-itcl:
  @if itcl
  maybe-check-itcl: check-itcl
  
  check-itcl:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd itcl && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif itcl
  
--- 14851,14915 ----
  @endif tcl
  
  
+ 
  .PHONY: configure-itcl maybe-configure-itcl
  maybe-configure-itcl:
  @if itcl
  maybe-configure-itcl: configure-itcl
! configure-itcl: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/itcl/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/itcl ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/itcl; \
! 	cd "$(HOST_SUBDIR)/itcl" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/itcl/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/itcl"; \
+ 	libsrcdir="$$s/itcl"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif itcl
  
+ 
+ 
+ 
+ 
  .PHONY: all-itcl maybe-all-itcl
  maybe-all-itcl:
  @if itcl
  TARGET-itcl=all
  maybe-all-itcl: all-itcl
  all-itcl: configure-itcl
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/itcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-itcl))
  @endif itcl
  
+ 
+ 
+ 
  .PHONY: check-itcl maybe-check-itcl
  maybe-check-itcl:
  @if itcl
  maybe-check-itcl: check-itcl
  
  check-itcl:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/itcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif itcl
  
*************** maybe-install-itcl:
*** 12837,12847 ****
  maybe-install-itcl: install-itcl
  
  install-itcl: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd itcl && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif itcl
  
--- 14919,14930 ----
  maybe-install-itcl: install-itcl
  
  install-itcl: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/itcl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif itcl
  
*************** maybe-info-itcl: info-itcl
*** 12854,12869 ****
  
  info-itcl: \
      configure-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14937,14952 ----
  
  info-itcl: \
      configure-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-itcl: dvi-itcl
*** 12880,12895 ****
  
  dvi-itcl: \
      configure-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14963,14978 ----
  
  dvi-itcl: \
      configure-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-itcl: html-itcl
*** 12906,12921 ****
  
  html-itcl: \
      configure-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 14989,15004 ----
  
  html-itcl: \
      configure-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-itcl: TAGS-itcl
*** 12932,12947 ****
  
  TAGS-itcl: \
      configure-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15015,15030 ----
  
  TAGS-itcl: \
      configure-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-itcl: install-info-it
*** 12959,12974 ****
  install-info-itcl: \
      configure-itcl \
      info-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15042,15057 ----
  install-info-itcl: \
      configure-itcl \
      info-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-itcl: installcheck-it
*** 12985,13000 ****
  
  installcheck-itcl: \
      configure-itcl 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15068,15083 ----
  
  installcheck-itcl: \
      configure-itcl 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-itcl:
*** 13010,13025 ****
  maybe-mostlyclean-itcl: mostlyclean-itcl
  
  mostlyclean-itcl: 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15093,15108 ----
  maybe-mostlyclean-itcl: mostlyclean-itcl
  
  mostlyclean-itcl: 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-itcl:
*** 13035,13050 ****
  maybe-clean-itcl: clean-itcl
  
  clean-itcl: 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15118,15133 ----
  maybe-clean-itcl: clean-itcl
  
  clean-itcl: 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-itcl:
*** 13060,13075 ****
  maybe-distclean-itcl: distclean-itcl
  
  distclean-itcl: 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15143,15158 ----
  maybe-distclean-itcl: distclean-itcl
  
  distclean-itcl: 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-itcl:
*** 13085,13100 ****
  maybe-maintainer-clean-itcl: maintainer-clean-itcl
  
  maintainer-clean-itcl: 
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in itcl" ; \
! 	(cd itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15168,15183 ----
  maybe-maintainer-clean-itcl: maintainer-clean-itcl
  
  maintainer-clean-itcl: 
+ 	@$(unstage)
  	@[ -f ./itcl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in itcl" ; \
! 	(cd $(HOST_SUBDIR)/itcl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-itcl: 
*** 13105,13139 ****
  @endif itcl
  
  
  .PHONY: configure-ld maybe-configure-ld
  maybe-configure-ld:
  @if ld
  maybe-configure-ld: configure-ld
! configure-ld:
  	@test -f stage_last && exit 0; \
! 	test ! -f ld/Makefile || exit 0; \
! 	[ -d ld ] || mkdir ld; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in ld; \
! 	cd ld || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
! 	    libsrcdir="$$s/ld";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
! 	    libsrcdir="$$s/ld";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif ld
  
  .PHONY: all-ld maybe-all-ld
  maybe-all-ld:
  @if ld
--- 15188,15374 ----
  @endif itcl
  
  
+ 
  .PHONY: configure-ld maybe-configure-ld
  maybe-configure-ld:
  @if ld
  maybe-configure-ld: configure-ld
! configure-ld: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/ld; \
! 	cd "$(HOST_SUBDIR)/ld" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif ld
  
+ 
+ 
+ .PHONY: configure-stage1-ld maybe-configure-stage1-ld
+ maybe-configure-stage1-ld:
+ @if ld-bootstrap
+ maybe-configure-stage1-ld: configure-stage1-ld
+ configure-stage1-ld: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif ld-bootstrap
+ 
+ .PHONY: configure-stage2-ld maybe-configure-stage2-ld
+ maybe-configure-stage2-ld:
+ @if ld-bootstrap
+ maybe-configure-stage2-ld: configure-stage2-ld
+ configure-stage2-ld: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif ld-bootstrap
+ 
+ .PHONY: configure-stage3-ld maybe-configure-stage3-ld
+ maybe-configure-stage3-ld:
+ @if ld-bootstrap
+ maybe-configure-stage3-ld: configure-stage3-ld
+ configure-stage3-ld: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif ld-bootstrap
+ 
+ .PHONY: configure-stage4-ld maybe-configure-stage4-ld
+ maybe-configure-stage4-ld:
+ @if ld-bootstrap
+ maybe-configure-stage4-ld: configure-stage4-ld
+ configure-stage4-ld: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif ld-bootstrap
+ 
+ .PHONY: configure-stageprofile-ld maybe-configure-stageprofile-ld
+ maybe-configure-stageprofile-ld:
+ @if ld-bootstrap
+ maybe-configure-stageprofile-ld: configure-stageprofile-ld
+ configure-stageprofile-ld: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif ld-bootstrap
+ 
+ .PHONY: configure-stagefeedback-ld maybe-configure-stagefeedback-ld
+ maybe-configure-stagefeedback-ld:
+ @if ld-bootstrap
+ maybe-configure-stagefeedback-ld: configure-stagefeedback-ld
+ configure-stagefeedback-ld: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/ld ; \
+ 	cd $(HOST_SUBDIR)/ld || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/ld"; \
+ 	libsrcdir="$$s/ld"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif ld-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-ld maybe-all-ld
  maybe-all-ld:
  @if ld
*************** all-ld: configure-ld
*** 13143,13165 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ld && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-ld))
  @endif ld
  
  .PHONY: check-ld maybe-check-ld
  maybe-check-ld:
  @if ld
  maybe-check-ld: check-ld
  
  check-ld:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ld && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif ld
  
--- 15378,15589 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ld && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-ld))
  @endif ld
  
+ 
+ 
+ .PHONY: all-stage1-ld maybe-all-stage1-ld
+ .PHONY: clean-stage1-ld maybe-clean-stage1-ld
+ maybe-all-stage1-ld:
+ maybe-clean-stage1-ld:
+ @if ld-bootstrap
+ maybe-all-stage1-ld: all-stage1-ld
+ all-stage1: all-stage1-ld
+ TARGET-stage1-ld = $(TARGET-ld)
+ all-stage1-ld: configure-stage1-ld
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-ld)
+ 
+ maybe-clean-stage1-ld: clean-stage1-ld
+ clean-stage1: clean-stage1-ld
+ clean-stage1-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif ld-bootstrap
+ 
+ 
+ .PHONY: all-stage2-ld maybe-all-stage2-ld
+ .PHONY: clean-stage2-ld maybe-clean-stage2-ld
+ maybe-all-stage2-ld:
+ maybe-clean-stage2-ld:
+ @if ld-bootstrap
+ maybe-all-stage2-ld: all-stage2-ld
+ all-stage2: all-stage2-ld
+ TARGET-stage2-ld = $(TARGET-ld)
+ all-stage2-ld: configure-stage2-ld
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-ld)
+ 
+ maybe-clean-stage2-ld: clean-stage2-ld
+ clean-stage2: clean-stage2-ld
+ clean-stage2-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif ld-bootstrap
+ 
+ 
+ .PHONY: all-stage3-ld maybe-all-stage3-ld
+ .PHONY: clean-stage3-ld maybe-clean-stage3-ld
+ maybe-all-stage3-ld:
+ maybe-clean-stage3-ld:
+ @if ld-bootstrap
+ maybe-all-stage3-ld: all-stage3-ld
+ all-stage3: all-stage3-ld
+ TARGET-stage3-ld = $(TARGET-ld)
+ all-stage3-ld: configure-stage3-ld
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-ld)
+ 
+ maybe-clean-stage3-ld: clean-stage3-ld
+ clean-stage3: clean-stage3-ld
+ clean-stage3-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif ld-bootstrap
+ 
+ 
+ .PHONY: all-stage4-ld maybe-all-stage4-ld
+ .PHONY: clean-stage4-ld maybe-clean-stage4-ld
+ maybe-all-stage4-ld:
+ maybe-clean-stage4-ld:
+ @if ld-bootstrap
+ maybe-all-stage4-ld: all-stage4-ld
+ all-stage4: all-stage4-ld
+ TARGET-stage4-ld = $(TARGET-ld)
+ all-stage4-ld: configure-stage4-ld
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-ld)
+ 
+ maybe-clean-stage4-ld: clean-stage4-ld
+ clean-stage4: clean-stage4-ld
+ clean-stage4-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif ld-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-ld maybe-all-stageprofile-ld
+ .PHONY: clean-stageprofile-ld maybe-clean-stageprofile-ld
+ maybe-all-stageprofile-ld:
+ maybe-clean-stageprofile-ld:
+ @if ld-bootstrap
+ maybe-all-stageprofile-ld: all-stageprofile-ld
+ all-stageprofile: all-stageprofile-ld
+ TARGET-stageprofile-ld = $(TARGET-ld)
+ all-stageprofile-ld: configure-stageprofile-ld
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-ld)
+ 
+ maybe-clean-stageprofile-ld: clean-stageprofile-ld
+ clean-stageprofile: clean-stageprofile-ld
+ clean-stageprofile-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif ld-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-ld maybe-all-stagefeedback-ld
+ .PHONY: clean-stagefeedback-ld maybe-clean-stagefeedback-ld
+ maybe-all-stagefeedback-ld:
+ maybe-clean-stagefeedback-ld:
+ @if ld-bootstrap
+ maybe-all-stagefeedback-ld: all-stagefeedback-ld
+ all-stagefeedback: all-stagefeedback-ld
+ TARGET-stagefeedback-ld = $(TARGET-ld)
+ all-stagefeedback-ld: configure-stagefeedback-ld
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-ld)
+ 
+ maybe-clean-stagefeedback-ld: clean-stagefeedback-ld
+ clean-stagefeedback: clean-stagefeedback-ld
+ clean-stagefeedback-ld:
+ 	@[ -f $(HOST_SUBDIR)/ld/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-ld/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/ld && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif ld-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-ld maybe-check-ld
  maybe-check-ld:
  @if ld
  maybe-check-ld: check-ld
  
  check-ld:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ld && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif ld
  
*************** maybe-install-ld:
*** 13169,13179 ****
  maybe-install-ld: install-ld
  
  install-ld: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd ld && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif ld
  
--- 15593,15604 ----
  maybe-install-ld: install-ld
  
  install-ld: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/ld && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif ld
  
*************** info-ld: \
*** 13189,13201 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15614,15625 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-ld: \
*** 13215,13227 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15639,15650 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-ld: \
*** 13241,13253 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15664,15675 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-ld: \
*** 13267,13279 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15689,15700 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-ld: \
*** 13294,13306 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15715,15726 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-ld: \
*** 13320,13332 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15740,15751 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-ld: 
*** 13345,13357 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15764,15775 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-ld: 
*** 13370,13382 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15788,15799 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-ld: 
*** 13395,13407 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15812,15823 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-ld: 
*** 13420,13432 ****
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in ld" ; \
! 	(cd ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 15836,15847 ----
  	@[ -f ./ld/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in ld" ; \
! 	(cd $(HOST_SUBDIR)/ld && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-ld: 
*** 13437,13471 ****
  @endif ld
  
  
  .PHONY: configure-libcpp maybe-configure-libcpp
  maybe-configure-libcpp:
  @if libcpp
  maybe-configure-libcpp: configure-libcpp
! configure-libcpp:
  	@test -f stage_last && exit 0; \
! 	test ! -f libcpp/Makefile || exit 0; \
! 	[ -d libcpp ] || mkdir libcpp; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in libcpp; \
! 	cd libcpp || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
! 	    libsrcdir="$$s/libcpp";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
! 	    libsrcdir="$$s/libcpp";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libcpp
  
  .PHONY: all-libcpp maybe-all-libcpp
  maybe-all-libcpp:
  @if libcpp
--- 15852,16038 ----
  @endif ld
  
  
+ 
  .PHONY: configure-libcpp maybe-configure-libcpp
  maybe-configure-libcpp:
  @if libcpp
  maybe-configure-libcpp: configure-libcpp
! configure-libcpp: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/libcpp/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libcpp ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/libcpp; \
! 	cd "$(HOST_SUBDIR)/libcpp" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libcpp
  
+ 
+ 
+ .PHONY: configure-stage1-libcpp maybe-configure-stage1-libcpp
+ maybe-configure-stage1-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stage1-libcpp: configure-stage1-libcpp
+ configure-stage1-libcpp: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif libcpp-bootstrap
+ 
+ .PHONY: configure-stage2-libcpp maybe-configure-stage2-libcpp
+ maybe-configure-stage2-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stage2-libcpp: configure-stage2-libcpp
+ configure-stage2-libcpp: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libcpp-bootstrap
+ 
+ .PHONY: configure-stage3-libcpp maybe-configure-stage3-libcpp
+ maybe-configure-stage3-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stage3-libcpp: configure-stage3-libcpp
+ configure-stage3-libcpp: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libcpp-bootstrap
+ 
+ .PHONY: configure-stage4-libcpp maybe-configure-stage4-libcpp
+ maybe-configure-stage4-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stage4-libcpp: configure-stage4-libcpp
+ configure-stage4-libcpp: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libcpp-bootstrap
+ 
+ .PHONY: configure-stageprofile-libcpp maybe-configure-stageprofile-libcpp
+ maybe-configure-stageprofile-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stageprofile-libcpp: configure-stageprofile-libcpp
+ configure-stageprofile-libcpp: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libcpp-bootstrap
+ 
+ .PHONY: configure-stagefeedback-libcpp maybe-configure-stagefeedback-libcpp
+ maybe-configure-stagefeedback-libcpp:
+ @if libcpp-bootstrap
+ maybe-configure-stagefeedback-libcpp: configure-stagefeedback-libcpp
+ configure-stagefeedback-libcpp: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/libcpp ; \
+ 	cd $(HOST_SUBDIR)/libcpp || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libcpp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libcpp"; \
+ 	libsrcdir="$$s/libcpp"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libcpp-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-libcpp maybe-all-libcpp
  maybe-all-libcpp:
  @if libcpp
*************** all-libcpp: configure-libcpp
*** 13475,13497 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libcpp && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-libcpp))
  @endif libcpp
  
  .PHONY: check-libcpp maybe-check-libcpp
  maybe-check-libcpp:
  @if libcpp
  maybe-check-libcpp: check-libcpp
  
  check-libcpp:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libcpp && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libcpp
  
--- 16042,16253 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libcpp && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libcpp))
  @endif libcpp
  
+ 
+ 
+ .PHONY: all-stage1-libcpp maybe-all-stage1-libcpp
+ .PHONY: clean-stage1-libcpp maybe-clean-stage1-libcpp
+ maybe-all-stage1-libcpp:
+ maybe-clean-stage1-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stage1-libcpp: all-stage1-libcpp
+ all-stage1: all-stage1-libcpp
+ TARGET-stage1-libcpp = $(TARGET-libcpp)
+ all-stage1-libcpp: configure-stage1-libcpp
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-libcpp)
+ 
+ maybe-clean-stage1-libcpp: clean-stage1-libcpp
+ clean-stage1: clean-stage1-libcpp
+ clean-stage1-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ .PHONY: all-stage2-libcpp maybe-all-stage2-libcpp
+ .PHONY: clean-stage2-libcpp maybe-clean-stage2-libcpp
+ maybe-all-stage2-libcpp:
+ maybe-clean-stage2-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stage2-libcpp: all-stage2-libcpp
+ all-stage2: all-stage2-libcpp
+ TARGET-stage2-libcpp = $(TARGET-libcpp)
+ all-stage2-libcpp: configure-stage2-libcpp
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-libcpp)
+ 
+ maybe-clean-stage2-libcpp: clean-stage2-libcpp
+ clean-stage2: clean-stage2-libcpp
+ clean-stage2-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ .PHONY: all-stage3-libcpp maybe-all-stage3-libcpp
+ .PHONY: clean-stage3-libcpp maybe-clean-stage3-libcpp
+ maybe-all-stage3-libcpp:
+ maybe-clean-stage3-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stage3-libcpp: all-stage3-libcpp
+ all-stage3: all-stage3-libcpp
+ TARGET-stage3-libcpp = $(TARGET-libcpp)
+ all-stage3-libcpp: configure-stage3-libcpp
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-libcpp)
+ 
+ maybe-clean-stage3-libcpp: clean-stage3-libcpp
+ clean-stage3: clean-stage3-libcpp
+ clean-stage3-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ .PHONY: all-stage4-libcpp maybe-all-stage4-libcpp
+ .PHONY: clean-stage4-libcpp maybe-clean-stage4-libcpp
+ maybe-all-stage4-libcpp:
+ maybe-clean-stage4-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stage4-libcpp: all-stage4-libcpp
+ all-stage4: all-stage4-libcpp
+ TARGET-stage4-libcpp = $(TARGET-libcpp)
+ all-stage4-libcpp: configure-stage4-libcpp
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-libcpp)
+ 
+ maybe-clean-stage4-libcpp: clean-stage4-libcpp
+ clean-stage4: clean-stage4-libcpp
+ clean-stage4-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-libcpp maybe-all-stageprofile-libcpp
+ .PHONY: clean-stageprofile-libcpp maybe-clean-stageprofile-libcpp
+ maybe-all-stageprofile-libcpp:
+ maybe-clean-stageprofile-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stageprofile-libcpp: all-stageprofile-libcpp
+ all-stageprofile: all-stageprofile-libcpp
+ TARGET-stageprofile-libcpp = $(TARGET-libcpp)
+ all-stageprofile-libcpp: configure-stageprofile-libcpp
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-libcpp)
+ 
+ maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp
+ clean-stageprofile: clean-stageprofile-libcpp
+ clean-stageprofile-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-libcpp maybe-all-stagefeedback-libcpp
+ .PHONY: clean-stagefeedback-libcpp maybe-clean-stagefeedback-libcpp
+ maybe-all-stagefeedback-libcpp:
+ maybe-clean-stagefeedback-libcpp:
+ @if libcpp-bootstrap
+ maybe-all-stagefeedback-libcpp: all-stagefeedback-libcpp
+ all-stagefeedback: all-stagefeedback-libcpp
+ TARGET-stagefeedback-libcpp = $(TARGET-libcpp)
+ all-stagefeedback-libcpp: configure-stagefeedback-libcpp
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-libcpp)
+ 
+ maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp
+ clean-stagefeedback: clean-stagefeedback-libcpp
+ clean-stagefeedback-libcpp:
+ 	@[ -f $(HOST_SUBDIR)/libcpp/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-libcpp/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/libcpp && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif libcpp-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-libcpp maybe-check-libcpp
  maybe-check-libcpp:
  @if libcpp
  maybe-check-libcpp: check-libcpp
  
  check-libcpp:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libcpp && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libcpp
  
*************** maybe-install-libcpp:
*** 13501,13511 ****
  maybe-install-libcpp: install-libcpp
  
  install-libcpp: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libcpp && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libcpp
  
--- 16257,16268 ----
  maybe-install-libcpp: install-libcpp
  
  install-libcpp: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libcpp && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libcpp
  
*************** info-libcpp: \
*** 13521,13533 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16278,16289 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-libcpp: \
*** 13547,13559 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16303,16314 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-libcpp: \
*** 13573,13585 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16328,16339 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-libcpp: \
*** 13599,13611 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16353,16364 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-libcpp: \
*** 13626,13638 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16379,16390 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-libcpp: \
*** 13652,13664 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16404,16415 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-libcpp: 
*** 13677,13689 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16428,16439 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-libcpp: 
*** 13702,13714 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16452,16463 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-libcpp: 
*** 13727,13739 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16476,16487 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libcpp: 
*** 13752,13764 ****
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libcpp" ; \
! 	(cd libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16500,16511 ----
  	@[ -f ./libcpp/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libcpp" ; \
! 	(cd $(HOST_SUBDIR)/libcpp && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libcpp: 
*** 13769,13827 ****
  @endif libcpp
  
  
  .PHONY: configure-libgui maybe-configure-libgui
  maybe-configure-libgui:
  @if libgui
  maybe-configure-libgui: configure-libgui
! configure-libgui:
! 	@test ! -f libgui/Makefile || exit 0; \
! 	[ -d libgui ] || mkdir libgui; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in libgui; \
! 	cd libgui || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libgui"; \
! 	    libsrcdir="$$s/libgui";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libgui"; \
! 	    libsrcdir="$$s/libgui";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libgui
  
  .PHONY: all-libgui maybe-all-libgui
  maybe-all-libgui:
  @if libgui
  TARGET-libgui=all
  maybe-all-libgui: all-libgui
  all-libgui: configure-libgui
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libgui && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-libgui))
  @endif libgui
  
  .PHONY: check-libgui maybe-check-libgui
  maybe-check-libgui:
  @if libgui
  maybe-check-libgui: check-libgui
  
  check-libgui:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libgui && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libgui
  
--- 16516,16580 ----
  @endif libcpp
  
  
+ 
  .PHONY: configure-libgui maybe-configure-libgui
  maybe-configure-libgui:
  @if libgui
  maybe-configure-libgui: configure-libgui
! configure-libgui: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/libgui/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libgui ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/libgui; \
! 	cd "$(HOST_SUBDIR)/libgui" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/libgui/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libgui"; \
+ 	libsrcdir="$$s/libgui"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libgui
  
+ 
+ 
+ 
+ 
  .PHONY: all-libgui maybe-all-libgui
  maybe-all-libgui:
  @if libgui
  TARGET-libgui=all
  maybe-all-libgui: all-libgui
  all-libgui: configure-libgui
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libgui && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libgui))
  @endif libgui
  
+ 
+ 
+ 
  .PHONY: check-libgui maybe-check-libgui
  maybe-check-libgui:
  @if libgui
  maybe-check-libgui: check-libgui
  
  check-libgui:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libgui && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libgui
  
*************** maybe-install-libgui:
*** 13831,13841 ****
  maybe-install-libgui: install-libgui
  
  install-libgui: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libgui && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libgui
  
--- 16584,16595 ----
  maybe-install-libgui: install-libgui
  
  install-libgui: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libgui && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libgui
  
*************** maybe-info-libgui: info-libgui
*** 13848,13863 ****
  
  info-libgui: \
      configure-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16602,16617 ----
  
  info-libgui: \
      configure-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-libgui: dvi-libgui
*** 13874,13889 ****
  
  dvi-libgui: \
      configure-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16628,16643 ----
  
  dvi-libgui: \
      configure-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-libgui: html-libgui
*** 13900,13915 ****
  
  html-libgui: \
      configure-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16654,16669 ----
  
  html-libgui: \
      configure-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-libgui: TAGS-libgui
*** 13926,13941 ****
  
  TAGS-libgui: \
      configure-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16680,16695 ----
  
  TAGS-libgui: \
      configure-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-libgui: install-info-
*** 13953,13968 ****
  install-info-libgui: \
      configure-libgui \
      info-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16707,16722 ----
  install-info-libgui: \
      configure-libgui \
      info-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-libgui: installcheck-
*** 13979,13994 ****
  
  installcheck-libgui: \
      configure-libgui 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16733,16748 ----
  
  installcheck-libgui: \
      configure-libgui 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-libgui:
*** 14004,14019 ****
  maybe-mostlyclean-libgui: mostlyclean-libgui
  
  mostlyclean-libgui: 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16758,16773 ----
  maybe-mostlyclean-libgui: mostlyclean-libgui
  
  mostlyclean-libgui: 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-libgui:
*** 14029,14044 ****
  maybe-clean-libgui: clean-libgui
  
  clean-libgui: 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16783,16798 ----
  maybe-clean-libgui: clean-libgui
  
  clean-libgui: 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-libgui:
*** 14054,14069 ****
  maybe-distclean-libgui: distclean-libgui
  
  distclean-libgui: 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16808,16823 ----
  maybe-distclean-libgui: distclean-libgui
  
  distclean-libgui: 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-libgui:
*** 14079,14094 ****
  maybe-maintainer-clean-libgui: maintainer-clean-libgui
  
  maintainer-clean-libgui: 
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libgui" ; \
! 	(cd libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 16833,16848 ----
  maybe-maintainer-clean-libgui: maintainer-clean-libgui
  
  maintainer-clean-libgui: 
+ 	@$(unstage)
  	@[ -f ./libgui/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libgui" ; \
! 	(cd $(HOST_SUBDIR)/libgui && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libgui: 
*** 14099,14133 ****
  @endif libgui
  
  
  .PHONY: configure-libiberty maybe-configure-libiberty
  maybe-configure-libiberty:
  @if libiberty
  maybe-configure-libiberty: configure-libiberty
! configure-libiberty:
  	@test -f stage_last && exit 0; \
! 	test ! -f libiberty/Makefile || exit 0; \
! 	[ -d libiberty ] || mkdir libiberty; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in libiberty; \
! 	cd libiberty || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
! 	    libsrcdir="$$s/libiberty";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
! 	    libsrcdir="$$s/libiberty";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libiberty
  
  .PHONY: all-libiberty maybe-all-libiberty
  maybe-all-libiberty:
  @if libiberty
--- 16853,17039 ----
  @endif libgui
  
  
+ 
  .PHONY: configure-libiberty maybe-configure-libiberty
  maybe-configure-libiberty:
  @if libiberty
  maybe-configure-libiberty: configure-libiberty
! configure-libiberty: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/libiberty/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiberty ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/libiberty; \
! 	cd "$(HOST_SUBDIR)/libiberty" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libiberty
  
+ 
+ 
+ .PHONY: configure-stage1-libiberty maybe-configure-stage1-libiberty
+ maybe-configure-stage1-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stage1-libiberty: configure-stage1-libiberty
+ configure-stage1-libiberty: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif libiberty-bootstrap
+ 
+ .PHONY: configure-stage2-libiberty maybe-configure-stage2-libiberty
+ maybe-configure-stage2-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stage2-libiberty: configure-stage2-libiberty
+ configure-stage2-libiberty: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libiberty-bootstrap
+ 
+ .PHONY: configure-stage3-libiberty maybe-configure-stage3-libiberty
+ maybe-configure-stage3-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stage3-libiberty: configure-stage3-libiberty
+ configure-stage3-libiberty: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libiberty-bootstrap
+ 
+ .PHONY: configure-stage4-libiberty maybe-configure-stage4-libiberty
+ maybe-configure-stage4-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stage4-libiberty: configure-stage4-libiberty
+ configure-stage4-libiberty: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libiberty-bootstrap
+ 
+ .PHONY: configure-stageprofile-libiberty maybe-configure-stageprofile-libiberty
+ maybe-configure-stageprofile-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stageprofile-libiberty: configure-stageprofile-libiberty
+ configure-stageprofile-libiberty: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libiberty-bootstrap
+ 
+ .PHONY: configure-stagefeedback-libiberty maybe-configure-stagefeedback-libiberty
+ maybe-configure-stagefeedback-libiberty:
+ @if libiberty-bootstrap
+ maybe-configure-stagefeedback-libiberty: configure-stagefeedback-libiberty
+ configure-stagefeedback-libiberty: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/libiberty ; \
+ 	cd $(HOST_SUBDIR)/libiberty || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/libiberty/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
+ 	libsrcdir="$$s/libiberty"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif libiberty-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-libiberty maybe-all-libiberty
  maybe-all-libiberty:
  @if libiberty
*************** all-libiberty: configure-libiberty
*** 14137,14159 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libiberty && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-libiberty))
  @endif libiberty
  
  .PHONY: check-libiberty maybe-check-libiberty
  maybe-check-libiberty:
  @if libiberty
  maybe-check-libiberty: check-libiberty
  
  check-libiberty:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libiberty && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libiberty
  
--- 17043,17254 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libiberty && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libiberty))
  @endif libiberty
  
+ 
+ 
+ .PHONY: all-stage1-libiberty maybe-all-stage1-libiberty
+ .PHONY: clean-stage1-libiberty maybe-clean-stage1-libiberty
+ maybe-all-stage1-libiberty:
+ maybe-clean-stage1-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stage1-libiberty: all-stage1-libiberty
+ all-stage1: all-stage1-libiberty
+ TARGET-stage1-libiberty = $(TARGET-libiberty)
+ all-stage1-libiberty: configure-stage1-libiberty
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-libiberty)
+ 
+ maybe-clean-stage1-libiberty: clean-stage1-libiberty
+ clean-stage1: clean-stage1-libiberty
+ clean-stage1-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ .PHONY: all-stage2-libiberty maybe-all-stage2-libiberty
+ .PHONY: clean-stage2-libiberty maybe-clean-stage2-libiberty
+ maybe-all-stage2-libiberty:
+ maybe-clean-stage2-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stage2-libiberty: all-stage2-libiberty
+ all-stage2: all-stage2-libiberty
+ TARGET-stage2-libiberty = $(TARGET-libiberty)
+ all-stage2-libiberty: configure-stage2-libiberty
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-libiberty)
+ 
+ maybe-clean-stage2-libiberty: clean-stage2-libiberty
+ clean-stage2: clean-stage2-libiberty
+ clean-stage2-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ .PHONY: all-stage3-libiberty maybe-all-stage3-libiberty
+ .PHONY: clean-stage3-libiberty maybe-clean-stage3-libiberty
+ maybe-all-stage3-libiberty:
+ maybe-clean-stage3-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stage3-libiberty: all-stage3-libiberty
+ all-stage3: all-stage3-libiberty
+ TARGET-stage3-libiberty = $(TARGET-libiberty)
+ all-stage3-libiberty: configure-stage3-libiberty
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-libiberty)
+ 
+ maybe-clean-stage3-libiberty: clean-stage3-libiberty
+ clean-stage3: clean-stage3-libiberty
+ clean-stage3-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ .PHONY: all-stage4-libiberty maybe-all-stage4-libiberty
+ .PHONY: clean-stage4-libiberty maybe-clean-stage4-libiberty
+ maybe-all-stage4-libiberty:
+ maybe-clean-stage4-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stage4-libiberty: all-stage4-libiberty
+ all-stage4: all-stage4-libiberty
+ TARGET-stage4-libiberty = $(TARGET-libiberty)
+ all-stage4-libiberty: configure-stage4-libiberty
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-libiberty)
+ 
+ maybe-clean-stage4-libiberty: clean-stage4-libiberty
+ clean-stage4: clean-stage4-libiberty
+ clean-stage4-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-libiberty maybe-all-stageprofile-libiberty
+ .PHONY: clean-stageprofile-libiberty maybe-clean-stageprofile-libiberty
+ maybe-all-stageprofile-libiberty:
+ maybe-clean-stageprofile-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stageprofile-libiberty: all-stageprofile-libiberty
+ all-stageprofile: all-stageprofile-libiberty
+ TARGET-stageprofile-libiberty = $(TARGET-libiberty)
+ all-stageprofile-libiberty: configure-stageprofile-libiberty
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-libiberty)
+ 
+ maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty
+ clean-stageprofile: clean-stageprofile-libiberty
+ clean-stageprofile-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-libiberty maybe-all-stagefeedback-libiberty
+ .PHONY: clean-stagefeedback-libiberty maybe-clean-stagefeedback-libiberty
+ maybe-all-stagefeedback-libiberty:
+ maybe-clean-stagefeedback-libiberty:
+ @if libiberty-bootstrap
+ maybe-all-stagefeedback-libiberty: all-stagefeedback-libiberty
+ all-stagefeedback: all-stagefeedback-libiberty
+ TARGET-stagefeedback-libiberty = $(TARGET-libiberty)
+ all-stagefeedback-libiberty: configure-stagefeedback-libiberty
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-libiberty)
+ 
+ maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty
+ clean-stagefeedback: clean-stagefeedback-libiberty
+ clean-stagefeedback-libiberty:
+ 	@[ -f $(HOST_SUBDIR)/libiberty/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-libiberty/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/libiberty && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif libiberty-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-libiberty maybe-check-libiberty
  maybe-check-libiberty:
  @if libiberty
  maybe-check-libiberty: check-libiberty
  
  check-libiberty:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libiberty && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libiberty
  
*************** maybe-install-libiberty:
*** 14163,14173 ****
  maybe-install-libiberty: install-libiberty
  
  install-libiberty: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libiberty && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libiberty
  
--- 17258,17269 ----
  maybe-install-libiberty: install-libiberty
  
  install-libiberty: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libiberty && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libiberty
  
*************** info-libiberty: \
*** 14183,14195 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17279,17290 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-libiberty: \
*** 14209,14221 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17304,17315 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-libiberty: \
*** 14235,14247 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17329,17340 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-libiberty: \
*** 14261,14273 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17354,17365 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-libiberty: \
*** 14288,14300 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17380,17391 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-libiberty: \
*** 14314,14326 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17405,17416 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-libiberty: 
*** 14339,14351 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17429,17440 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-libiberty: 
*** 14364,14376 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17453,17464 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-libiberty: 
*** 14389,14401 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17477,17488 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libiberty: 
*** 14414,14426 ****
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libiberty" ; \
! 	(cd libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17501,17512 ----
  	@[ -f ./libiberty/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libiberty" ; \
! 	(cd $(HOST_SUBDIR)/libiberty && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libiberty: 
*** 14431,14489 ****
  @endif libiberty
  
  
  .PHONY: configure-libtool maybe-configure-libtool
  maybe-configure-libtool:
  @if libtool
  maybe-configure-libtool: configure-libtool
! configure-libtool:
! 	@test ! -f libtool/Makefile || exit 0; \
! 	[ -d libtool ] || mkdir libtool; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in libtool; \
! 	cd libtool || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libtool"; \
! 	    libsrcdir="$$s/libtool";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libtool"; \
! 	    libsrcdir="$$s/libtool";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libtool
  
  .PHONY: all-libtool maybe-all-libtool
  maybe-all-libtool:
  @if libtool
  TARGET-libtool=all
  maybe-all-libtool: all-libtool
  all-libtool: configure-libtool
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libtool && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-libtool))
  @endif libtool
  
  .PHONY: check-libtool maybe-check-libtool
  maybe-check-libtool:
  @if libtool
  maybe-check-libtool: check-libtool
  
  check-libtool:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libtool && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libtool
  
--- 17517,17581 ----
  @endif libiberty
  
  
+ 
  .PHONY: configure-libtool maybe-configure-libtool
  maybe-configure-libtool:
  @if libtool
  maybe-configure-libtool: configure-libtool
! configure-libtool: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/libtool/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libtool ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/libtool; \
! 	cd "$(HOST_SUBDIR)/libtool" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/libtool/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libtool"; \
+ 	libsrcdir="$$s/libtool"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libtool
  
+ 
+ 
+ 
+ 
  .PHONY: all-libtool maybe-all-libtool
  maybe-all-libtool:
  @if libtool
  TARGET-libtool=all
  maybe-all-libtool: all-libtool
  all-libtool: configure-libtool
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libtool && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtool))
  @endif libtool
  
+ 
+ 
+ 
  .PHONY: check-libtool maybe-check-libtool
  maybe-check-libtool:
  @if libtool
  maybe-check-libtool: check-libtool
  
  check-libtool:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libtool && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif libtool
  
*************** maybe-install-libtool:
*** 14493,14503 ****
  maybe-install-libtool: install-libtool
  
  install-libtool: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libtool && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libtool
  
--- 17585,17596 ----
  maybe-install-libtool: install-libtool
  
  install-libtool: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libtool && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libtool
  
*************** maybe-info-libtool: info-libtool
*** 14510,14525 ****
  
  info-libtool: \
      configure-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17603,17618 ----
  
  info-libtool: \
      configure-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-libtool: dvi-libtool
*** 14536,14551 ****
  
  dvi-libtool: \
      configure-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17629,17644 ----
  
  dvi-libtool: \
      configure-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-libtool: html-libtool
*** 14562,14577 ****
  
  html-libtool: \
      configure-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17655,17670 ----
  
  html-libtool: \
      configure-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-libtool: TAGS-libtool
*** 14588,14603 ****
  
  TAGS-libtool: \
      configure-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17681,17696 ----
  
  TAGS-libtool: \
      configure-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-libtool: install-info
*** 14615,14630 ****
  install-info-libtool: \
      configure-libtool \
      info-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17708,17723 ----
  install-info-libtool: \
      configure-libtool \
      info-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-libtool: installcheck
*** 14641,14656 ****
  
  installcheck-libtool: \
      configure-libtool 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17734,17749 ----
  
  installcheck-libtool: \
      configure-libtool 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-libtool:
*** 14666,14681 ****
  maybe-mostlyclean-libtool: mostlyclean-libtool
  
  mostlyclean-libtool: 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17759,17774 ----
  maybe-mostlyclean-libtool: mostlyclean-libtool
  
  mostlyclean-libtool: 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-libtool:
*** 14691,14706 ****
  maybe-clean-libtool: clean-libtool
  
  clean-libtool: 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17784,17799 ----
  maybe-clean-libtool: clean-libtool
  
  clean-libtool: 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-libtool:
*** 14716,14731 ****
  maybe-distclean-libtool: distclean-libtool
  
  distclean-libtool: 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17809,17824 ----
  maybe-distclean-libtool: distclean-libtool
  
  distclean-libtool: 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-libtool:
*** 14741,14756 ****
  maybe-maintainer-clean-libtool: maintainer-clean-libtool
  
  maintainer-clean-libtool: 
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libtool" ; \
! 	(cd libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17834,17849 ----
  maybe-maintainer-clean-libtool: maintainer-clean-libtool
  
  maintainer-clean-libtool: 
+ 	@$(unstage)
  	@[ -f ./libtool/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in libtool" ; \
! 	(cd $(HOST_SUBDIR)/libtool && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libtool: 
*** 14761,14819 ****
  @endif libtool
  
  
  .PHONY: configure-m4 maybe-configure-m4
  maybe-configure-m4:
  @if m4
  maybe-configure-m4: configure-m4
! configure-m4:
! 	@test ! -f m4/Makefile || exit 0; \
! 	[ -d m4 ] || mkdir m4; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in m4; \
! 	cd m4 || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/m4"; \
! 	    libsrcdir="$$s/m4";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/m4"; \
! 	    libsrcdir="$$s/m4";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif m4
  
  .PHONY: all-m4 maybe-all-m4
  maybe-all-m4:
  @if m4
  TARGET-m4=all
  maybe-all-m4: all-m4
  all-m4: configure-m4
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd m4 && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-m4))
  @endif m4
  
  .PHONY: check-m4 maybe-check-m4
  maybe-check-m4:
  @if m4
  maybe-check-m4: check-m4
  
  check-m4:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd m4 && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif m4
  
--- 17854,17918 ----
  @endif libtool
  
  
+ 
  .PHONY: configure-m4 maybe-configure-m4
  maybe-configure-m4:
  @if m4
  maybe-configure-m4: configure-m4
! configure-m4: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/m4/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/m4 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/m4; \
! 	cd "$(HOST_SUBDIR)/m4" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/m4/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/m4"; \
+ 	libsrcdir="$$s/m4"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif m4
  
+ 
+ 
+ 
+ 
  .PHONY: all-m4 maybe-all-m4
  maybe-all-m4:
  @if m4
  TARGET-m4=all
  maybe-all-m4: all-m4
  all-m4: configure-m4
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/m4 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-m4))
  @endif m4
  
+ 
+ 
+ 
  .PHONY: check-m4 maybe-check-m4
  maybe-check-m4:
  @if m4
  maybe-check-m4: check-m4
  
  check-m4:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/m4 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif m4
  
*************** maybe-install-m4:
*** 14823,14833 ****
  maybe-install-m4: install-m4
  
  install-m4: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd m4 && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif m4
  
--- 17922,17933 ----
  maybe-install-m4: install-m4
  
  install-m4: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/m4 && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif m4
  
*************** maybe-info-m4: info-m4
*** 14840,14855 ****
  
  info-m4: \
      configure-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17940,17955 ----
  
  info-m4: \
      configure-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-m4: dvi-m4
*** 14866,14881 ****
  
  dvi-m4: \
      configure-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17966,17981 ----
  
  dvi-m4: \
      configure-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-m4: html-m4
*** 14892,14907 ****
  
  html-m4: \
      configure-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 17992,18007 ----
  
  html-m4: \
      configure-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-m4: TAGS-m4
*** 14918,14933 ****
  
  TAGS-m4: \
      configure-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18018,18033 ----
  
  TAGS-m4: \
      configure-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-m4: install-info-m4
*** 14945,14960 ****
  install-info-m4: \
      configure-m4 \
      info-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18045,18060 ----
  install-info-m4: \
      configure-m4 \
      info-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-m4: installcheck-m4
*** 14971,14986 ****
  
  installcheck-m4: \
      configure-m4 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18071,18086 ----
  
  installcheck-m4: \
      configure-m4 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-m4:
*** 14996,15011 ****
  maybe-mostlyclean-m4: mostlyclean-m4
  
  mostlyclean-m4: 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18096,18111 ----
  maybe-mostlyclean-m4: mostlyclean-m4
  
  mostlyclean-m4: 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-m4:
*** 15021,15036 ****
  maybe-clean-m4: clean-m4
  
  clean-m4: 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18121,18136 ----
  maybe-clean-m4: clean-m4
  
  clean-m4: 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-m4:
*** 15046,15061 ****
  maybe-distclean-m4: distclean-m4
  
  distclean-m4: 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18146,18161 ----
  maybe-distclean-m4: distclean-m4
  
  distclean-m4: 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-m4:
*** 15071,15086 ****
  maybe-maintainer-clean-m4: maintainer-clean-m4
  
  maintainer-clean-m4: 
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in m4" ; \
! 	(cd m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18171,18186 ----
  maybe-maintainer-clean-m4: maintainer-clean-m4
  
  maintainer-clean-m4: 
+ 	@$(unstage)
  	@[ -f ./m4/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in m4" ; \
! 	(cd $(HOST_SUBDIR)/m4 && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-m4: 
*** 15091,15149 ****
  @endif m4
  
  
  .PHONY: configure-make maybe-configure-make
  maybe-configure-make:
  @if make
  maybe-configure-make: configure-make
! configure-make:
! 	@test ! -f make/Makefile || exit 0; \
! 	[ -d make ] || mkdir make; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in make; \
! 	cd make || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/make"; \
! 	    libsrcdir="$$s/make";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/make"; \
! 	    libsrcdir="$$s/make";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif make
  
  .PHONY: all-make maybe-all-make
  maybe-all-make:
  @if make
  TARGET-make=all
  maybe-all-make: all-make
  all-make: configure-make
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd make && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-make))
  @endif make
  
  .PHONY: check-make maybe-check-make
  maybe-check-make:
  @if make
  maybe-check-make: check-make
  
  check-make:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd make && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif make
  
--- 18191,18255 ----
  @endif m4
  
  
+ 
  .PHONY: configure-make maybe-configure-make
  maybe-configure-make:
  @if make
  maybe-configure-make: configure-make
! configure-make: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/make/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/make ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/make; \
! 	cd "$(HOST_SUBDIR)/make" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/make/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/make"; \
+ 	libsrcdir="$$s/make"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif make
  
+ 
+ 
+ 
+ 
  .PHONY: all-make maybe-all-make
  maybe-all-make:
  @if make
  TARGET-make=all
  maybe-all-make: all-make
  all-make: configure-make
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/make && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-make))
  @endif make
  
+ 
+ 
+ 
  .PHONY: check-make maybe-check-make
  maybe-check-make:
  @if make
  maybe-check-make: check-make
  
  check-make:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/make && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif make
  
*************** maybe-install-make:
*** 15153,15163 ****
  maybe-install-make: install-make
  
  install-make: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd make && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif make
  
--- 18259,18270 ----
  maybe-install-make: install-make
  
  install-make: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/make && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif make
  
*************** maybe-info-make: info-make
*** 15170,15185 ****
  
  info-make: \
      configure-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18277,18292 ----
  
  info-make: \
      configure-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-make: dvi-make
*** 15196,15211 ****
  
  dvi-make: \
      configure-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18303,18318 ----
  
  dvi-make: \
      configure-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-make: html-make
*** 15222,15237 ****
  
  html-make: \
      configure-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18329,18344 ----
  
  html-make: \
      configure-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-make: TAGS-make
*** 15248,15263 ****
  
  TAGS-make: \
      configure-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18355,18370 ----
  
  TAGS-make: \
      configure-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-make: install-info-ma
*** 15275,15290 ****
  install-info-make: \
      configure-make \
      info-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18382,18397 ----
  install-info-make: \
      configure-make \
      info-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-make: installcheck-ma
*** 15301,15316 ****
  
  installcheck-make: \
      configure-make 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18408,18423 ----
  
  installcheck-make: \
      configure-make 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-make:
*** 15326,15341 ****
  maybe-mostlyclean-make: mostlyclean-make
  
  mostlyclean-make: 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18433,18448 ----
  maybe-mostlyclean-make: mostlyclean-make
  
  mostlyclean-make: 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-make:
*** 15351,15366 ****
  maybe-clean-make: clean-make
  
  clean-make: 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18458,18473 ----
  maybe-clean-make: clean-make
  
  clean-make: 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-make:
*** 15376,15391 ****
  maybe-distclean-make: distclean-make
  
  distclean-make: 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18483,18498 ----
  maybe-distclean-make: distclean-make
  
  distclean-make: 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-make:
*** 15401,15416 ****
  maybe-maintainer-clean-make: maintainer-clean-make
  
  maintainer-clean-make: 
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in make" ; \
! 	(cd make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18508,18523 ----
  maybe-maintainer-clean-make: maintainer-clean-make
  
  maintainer-clean-make: 
+ 	@$(unstage)
  	@[ -f ./make/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in make" ; \
! 	(cd $(HOST_SUBDIR)/make && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-make: 
*** 15421,15468 ****
  @endif make
  
  
  .PHONY: configure-mmalloc maybe-configure-mmalloc
  maybe-configure-mmalloc:
  @if mmalloc
  maybe-configure-mmalloc: configure-mmalloc
! configure-mmalloc:
! 	@test ! -f mmalloc/Makefile || exit 0; \
! 	[ -d mmalloc ] || mkdir mmalloc; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in mmalloc; \
! 	cd mmalloc || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/mmalloc"; \
! 	    libsrcdir="$$s/mmalloc";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/mmalloc"; \
! 	    libsrcdir="$$s/mmalloc";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif mmalloc
  
  .PHONY: all-mmalloc maybe-all-mmalloc
  maybe-all-mmalloc:
  @if mmalloc
  TARGET-mmalloc=all
  maybe-all-mmalloc: all-mmalloc
  all-mmalloc: configure-mmalloc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd mmalloc && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-mmalloc))
  @endif mmalloc
  
  .PHONY: check-mmalloc maybe-check-mmalloc
  maybe-check-mmalloc:
  @if mmalloc
--- 18528,18580 ----
  @endif make
  
  
+ 
  .PHONY: configure-mmalloc maybe-configure-mmalloc
  maybe-configure-mmalloc:
  @if mmalloc
  maybe-configure-mmalloc: configure-mmalloc
! configure-mmalloc: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/mmalloc/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/mmalloc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/mmalloc; \
! 	cd "$(HOST_SUBDIR)/mmalloc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/mmalloc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/mmalloc"; \
+ 	libsrcdir="$$s/mmalloc"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif mmalloc
  
+ 
+ 
+ 
+ 
  .PHONY: all-mmalloc maybe-all-mmalloc
  maybe-all-mmalloc:
  @if mmalloc
  TARGET-mmalloc=all
  maybe-all-mmalloc: all-mmalloc
  all-mmalloc: configure-mmalloc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-mmalloc))
  @endif mmalloc
  
+ 
+ 
+ 
  .PHONY: check-mmalloc maybe-check-mmalloc
  maybe-check-mmalloc:
  @if mmalloc
*************** maybe-install-mmalloc:
*** 15478,15488 ****
  maybe-install-mmalloc: install-mmalloc
  
  install-mmalloc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd mmalloc && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif mmalloc
  
--- 18590,18601 ----
  maybe-install-mmalloc: install-mmalloc
  
  install-mmalloc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif mmalloc
  
*************** maybe-info-mmalloc: info-mmalloc
*** 15495,15510 ****
  
  info-mmalloc: \
      configure-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18608,18623 ----
  
  info-mmalloc: \
      configure-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-mmalloc: dvi-mmalloc
*** 15521,15536 ****
  
  dvi-mmalloc: \
      configure-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18634,18649 ----
  
  dvi-mmalloc: \
      configure-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-mmalloc: html-mmalloc
*** 15547,15562 ****
  
  html-mmalloc: \
      configure-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18660,18675 ----
  
  html-mmalloc: \
      configure-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-mmalloc: TAGS-mmalloc
*** 15573,15588 ****
  
  TAGS-mmalloc: \
      configure-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18686,18701 ----
  
  TAGS-mmalloc: \
      configure-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-mmalloc: install-info
*** 15600,15615 ****
  install-info-mmalloc: \
      configure-mmalloc \
      info-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18713,18728 ----
  install-info-mmalloc: \
      configure-mmalloc \
      info-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-mmalloc: installcheck
*** 15626,15641 ****
  
  installcheck-mmalloc: \
      configure-mmalloc 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18739,18754 ----
  
  installcheck-mmalloc: \
      configure-mmalloc 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-mmalloc:
*** 15651,15666 ****
  maybe-mostlyclean-mmalloc: mostlyclean-mmalloc
  
  mostlyclean-mmalloc: 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18764,18779 ----
  maybe-mostlyclean-mmalloc: mostlyclean-mmalloc
  
  mostlyclean-mmalloc: 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-mmalloc:
*** 15676,15691 ****
  maybe-clean-mmalloc: clean-mmalloc
  
  clean-mmalloc: 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18789,18804 ----
  maybe-clean-mmalloc: clean-mmalloc
  
  clean-mmalloc: 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-mmalloc:
*** 15701,15716 ****
  maybe-distclean-mmalloc: distclean-mmalloc
  
  distclean-mmalloc: 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18814,18829 ----
  maybe-distclean-mmalloc: distclean-mmalloc
  
  distclean-mmalloc: 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-mmalloc:
*** 15726,15741 ****
  maybe-maintainer-clean-mmalloc: maintainer-clean-mmalloc
  
  maintainer-clean-mmalloc: 
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in mmalloc" ; \
! 	(cd mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18839,18854 ----
  maybe-maintainer-clean-mmalloc: maintainer-clean-mmalloc
  
  maintainer-clean-mmalloc: 
+ 	@$(unstage)
  	@[ -f ./mmalloc/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in mmalloc" ; \
! 	(cd $(HOST_SUBDIR)/mmalloc && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-mmalloc: 
*** 15746,15804 ****
  @endif mmalloc
  
  
  .PHONY: configure-patch maybe-configure-patch
  maybe-configure-patch:
  @if patch
  maybe-configure-patch: configure-patch
! configure-patch:
! 	@test ! -f patch/Makefile || exit 0; \
! 	[ -d patch ] || mkdir patch; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in patch; \
! 	cd patch || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/patch"; \
! 	    libsrcdir="$$s/patch";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/patch"; \
! 	    libsrcdir="$$s/patch";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif patch
  
  .PHONY: all-patch maybe-all-patch
  maybe-all-patch:
  @if patch
  TARGET-patch=all
  maybe-all-patch: all-patch
  all-patch: configure-patch
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd patch && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-patch))
  @endif patch
  
  .PHONY: check-patch maybe-check-patch
  maybe-check-patch:
  @if patch
  maybe-check-patch: check-patch
  
  check-patch:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd patch && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif patch
  
--- 18859,18923 ----
  @endif mmalloc
  
  
+ 
  .PHONY: configure-patch maybe-configure-patch
  maybe-configure-patch:
  @if patch
  maybe-configure-patch: configure-patch
! configure-patch: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/patch/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/patch ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/patch; \
! 	cd "$(HOST_SUBDIR)/patch" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/patch/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/patch"; \
+ 	libsrcdir="$$s/patch"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif patch
  
+ 
+ 
+ 
+ 
  .PHONY: all-patch maybe-all-patch
  maybe-all-patch:
  @if patch
  TARGET-patch=all
  maybe-all-patch: all-patch
  all-patch: configure-patch
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/patch && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-patch))
  @endif patch
  
+ 
+ 
+ 
  .PHONY: check-patch maybe-check-patch
  maybe-check-patch:
  @if patch
  maybe-check-patch: check-patch
  
  check-patch:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/patch && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif patch
  
*************** maybe-install-patch:
*** 15808,15818 ****
  maybe-install-patch: install-patch
  
  install-patch: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd patch && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif patch
  
--- 18927,18938 ----
  maybe-install-patch: install-patch
  
  install-patch: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/patch && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif patch
  
*************** maybe-info-patch: info-patch
*** 15825,15840 ****
  
  info-patch: \
      configure-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18945,18960 ----
  
  info-patch: \
      configure-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-patch: dvi-patch
*** 15851,15866 ****
  
  dvi-patch: \
      configure-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18971,18986 ----
  
  dvi-patch: \
      configure-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-patch: html-patch
*** 15877,15892 ****
  
  html-patch: \
      configure-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 18997,19012 ----
  
  html-patch: \
      configure-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-patch: TAGS-patch
*** 15903,15918 ****
  
  TAGS-patch: \
      configure-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19023,19038 ----
  
  TAGS-patch: \
      configure-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-patch: install-info-p
*** 15930,15945 ****
  install-info-patch: \
      configure-patch \
      info-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19050,19065 ----
  install-info-patch: \
      configure-patch \
      info-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-patch: installcheck-p
*** 15956,15971 ****
  
  installcheck-patch: \
      configure-patch 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19076,19091 ----
  
  installcheck-patch: \
      configure-patch 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-patch:
*** 15981,15996 ****
  maybe-mostlyclean-patch: mostlyclean-patch
  
  mostlyclean-patch: 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19101,19116 ----
  maybe-mostlyclean-patch: mostlyclean-patch
  
  mostlyclean-patch: 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-patch:
*** 16006,16021 ****
  maybe-clean-patch: clean-patch
  
  clean-patch: 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19126,19141 ----
  maybe-clean-patch: clean-patch
  
  clean-patch: 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-patch:
*** 16031,16046 ****
  maybe-distclean-patch: distclean-patch
  
  distclean-patch: 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19151,19166 ----
  maybe-distclean-patch: distclean-patch
  
  distclean-patch: 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-patch:
*** 16056,16071 ****
  maybe-maintainer-clean-patch: maintainer-clean-patch
  
  maintainer-clean-patch: 
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in patch" ; \
! 	(cd patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19176,19191 ----
  maybe-maintainer-clean-patch: maintainer-clean-patch
  
  maintainer-clean-patch: 
+ 	@$(unstage)
  	@[ -f ./patch/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in patch" ; \
! 	(cd $(HOST_SUBDIR)/patch && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-patch: 
*** 16076,16134 ****
  @endif patch
  
  
  .PHONY: configure-perl maybe-configure-perl
  maybe-configure-perl:
  @if perl
  maybe-configure-perl: configure-perl
! configure-perl:
! 	@test ! -f perl/Makefile || exit 0; \
! 	[ -d perl ] || mkdir perl; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in perl; \
! 	cd perl || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/perl"; \
! 	    libsrcdir="$$s/perl";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/perl"; \
! 	    libsrcdir="$$s/perl";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif perl
  
  .PHONY: all-perl maybe-all-perl
  maybe-all-perl:
  @if perl
  TARGET-perl=all
  maybe-all-perl: all-perl
  all-perl: configure-perl
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd perl && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-perl))
  @endif perl
  
  .PHONY: check-perl maybe-check-perl
  maybe-check-perl:
  @if perl
  maybe-check-perl: check-perl
  
  check-perl:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd perl && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif perl
  
--- 19196,19260 ----
  @endif patch
  
  
+ 
  .PHONY: configure-perl maybe-configure-perl
  maybe-configure-perl:
  @if perl
  maybe-configure-perl: configure-perl
! configure-perl: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/perl/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/perl ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/perl; \
! 	cd "$(HOST_SUBDIR)/perl" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/perl/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/perl"; \
+ 	libsrcdir="$$s/perl"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif perl
  
+ 
+ 
+ 
+ 
  .PHONY: all-perl maybe-all-perl
  maybe-all-perl:
  @if perl
  TARGET-perl=all
  maybe-all-perl: all-perl
  all-perl: configure-perl
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/perl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-perl))
  @endif perl
  
+ 
+ 
+ 
  .PHONY: check-perl maybe-check-perl
  maybe-check-perl:
  @if perl
  maybe-check-perl: check-perl
  
  check-perl:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/perl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif perl
  
*************** maybe-install-perl:
*** 16138,16148 ****
  maybe-install-perl: install-perl
  
  install-perl: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd perl && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif perl
  
--- 19264,19275 ----
  maybe-install-perl: install-perl
  
  install-perl: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/perl && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif perl
  
*************** maybe-info-perl: info-perl
*** 16155,16170 ****
  
  info-perl: \
      configure-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19282,19297 ----
  
  info-perl: \
      configure-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-perl: dvi-perl
*** 16181,16196 ****
  
  dvi-perl: \
      configure-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19308,19323 ----
  
  dvi-perl: \
      configure-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-perl: html-perl
*** 16207,16222 ****
  
  html-perl: \
      configure-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19334,19349 ----
  
  html-perl: \
      configure-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-perl: TAGS-perl
*** 16233,16248 ****
  
  TAGS-perl: \
      configure-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19360,19375 ----
  
  TAGS-perl: \
      configure-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-perl: install-info-pe
*** 16260,16275 ****
  install-info-perl: \
      configure-perl \
      info-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19387,19402 ----
  install-info-perl: \
      configure-perl \
      info-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-perl: installcheck-pe
*** 16286,16301 ****
  
  installcheck-perl: \
      configure-perl 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19413,19428 ----
  
  installcheck-perl: \
      configure-perl 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-perl:
*** 16311,16326 ****
  maybe-mostlyclean-perl: mostlyclean-perl
  
  mostlyclean-perl: 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19438,19453 ----
  maybe-mostlyclean-perl: mostlyclean-perl
  
  mostlyclean-perl: 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-perl:
*** 16336,16351 ****
  maybe-clean-perl: clean-perl
  
  clean-perl: 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19463,19478 ----
  maybe-clean-perl: clean-perl
  
  clean-perl: 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-perl:
*** 16361,16376 ****
  maybe-distclean-perl: distclean-perl
  
  distclean-perl: 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19488,19503 ----
  maybe-distclean-perl: distclean-perl
  
  distclean-perl: 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-perl:
*** 16386,16401 ****
  maybe-maintainer-clean-perl: maintainer-clean-perl
  
  maintainer-clean-perl: 
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in perl" ; \
! 	(cd perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19513,19528 ----
  maybe-maintainer-clean-perl: maintainer-clean-perl
  
  maintainer-clean-perl: 
+ 	@$(unstage)
  	@[ -f ./perl/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in perl" ; \
! 	(cd $(HOST_SUBDIR)/perl && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-perl: 
*** 16406,16464 ****
  @endif perl
  
  
  .PHONY: configure-prms maybe-configure-prms
  maybe-configure-prms:
  @if prms
  maybe-configure-prms: configure-prms
! configure-prms:
! 	@test ! -f prms/Makefile || exit 0; \
! 	[ -d prms ] || mkdir prms; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in prms; \
! 	cd prms || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/prms"; \
! 	    libsrcdir="$$s/prms";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/prms"; \
! 	    libsrcdir="$$s/prms";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif prms
  
  .PHONY: all-prms maybe-all-prms
  maybe-all-prms:
  @if prms
  TARGET-prms=all
  maybe-all-prms: all-prms
  all-prms: configure-prms
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd prms && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-prms))
  @endif prms
  
  .PHONY: check-prms maybe-check-prms
  maybe-check-prms:
  @if prms
  maybe-check-prms: check-prms
  
  check-prms:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd prms && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif prms
  
--- 19533,19597 ----
  @endif perl
  
  
+ 
  .PHONY: configure-prms maybe-configure-prms
  maybe-configure-prms:
  @if prms
  maybe-configure-prms: configure-prms
! configure-prms: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/prms/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/prms ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/prms; \
! 	cd "$(HOST_SUBDIR)/prms" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/prms/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/prms"; \
+ 	libsrcdir="$$s/prms"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif prms
  
+ 
+ 
+ 
+ 
  .PHONY: all-prms maybe-all-prms
  maybe-all-prms:
  @if prms
  TARGET-prms=all
  maybe-all-prms: all-prms
  all-prms: configure-prms
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/prms && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-prms))
  @endif prms
  
+ 
+ 
+ 
  .PHONY: check-prms maybe-check-prms
  maybe-check-prms:
  @if prms
  maybe-check-prms: check-prms
  
  check-prms:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/prms && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif prms
  
*************** maybe-install-prms:
*** 16468,16478 ****
  maybe-install-prms: install-prms
  
  install-prms: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd prms && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif prms
  
--- 19601,19612 ----
  maybe-install-prms: install-prms
  
  install-prms: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/prms && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif prms
  
*************** maybe-info-prms: info-prms
*** 16485,16500 ****
  
  info-prms: \
      configure-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19619,19634 ----
  
  info-prms: \
      configure-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-prms: dvi-prms
*** 16511,16526 ****
  
  dvi-prms: \
      configure-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19645,19660 ----
  
  dvi-prms: \
      configure-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-prms: html-prms
*** 16537,16552 ****
  
  html-prms: \
      configure-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19671,19686 ----
  
  html-prms: \
      configure-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-prms: TAGS-prms
*** 16563,16578 ****
  
  TAGS-prms: \
      configure-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19697,19712 ----
  
  TAGS-prms: \
      configure-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-prms: install-info-pr
*** 16590,16605 ****
  install-info-prms: \
      configure-prms \
      info-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19724,19739 ----
  install-info-prms: \
      configure-prms \
      info-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-prms: installcheck-pr
*** 16616,16631 ****
  
  installcheck-prms: \
      configure-prms 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19750,19765 ----
  
  installcheck-prms: \
      configure-prms 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-prms:
*** 16641,16656 ****
  maybe-mostlyclean-prms: mostlyclean-prms
  
  mostlyclean-prms: 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19775,19790 ----
  maybe-mostlyclean-prms: mostlyclean-prms
  
  mostlyclean-prms: 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-prms:
*** 16666,16681 ****
  maybe-clean-prms: clean-prms
  
  clean-prms: 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19800,19815 ----
  maybe-clean-prms: clean-prms
  
  clean-prms: 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-prms:
*** 16691,16706 ****
  maybe-distclean-prms: distclean-prms
  
  distclean-prms: 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19825,19840 ----
  maybe-distclean-prms: distclean-prms
  
  distclean-prms: 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-prms:
*** 16716,16731 ****
  maybe-maintainer-clean-prms: maintainer-clean-prms
  
  maintainer-clean-prms: 
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in prms" ; \
! 	(cd prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19850,19865 ----
  maybe-maintainer-clean-prms: maintainer-clean-prms
  
  maintainer-clean-prms: 
+ 	@$(unstage)
  	@[ -f ./prms/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in prms" ; \
! 	(cd $(HOST_SUBDIR)/prms && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-prms: 
*** 16736,16794 ****
  @endif prms
  
  
  .PHONY: configure-rcs maybe-configure-rcs
  maybe-configure-rcs:
  @if rcs
  maybe-configure-rcs: configure-rcs
! configure-rcs:
! 	@test ! -f rcs/Makefile || exit 0; \
! 	[ -d rcs ] || mkdir rcs; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in rcs; \
! 	cd rcs || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/rcs"; \
! 	    libsrcdir="$$s/rcs";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/rcs"; \
! 	    libsrcdir="$$s/rcs";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif rcs
  
  .PHONY: all-rcs maybe-all-rcs
  maybe-all-rcs:
  @if rcs
  TARGET-rcs=all
  maybe-all-rcs: all-rcs
  all-rcs: configure-rcs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd rcs && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-rcs))
  @endif rcs
  
  .PHONY: check-rcs maybe-check-rcs
  maybe-check-rcs:
  @if rcs
  maybe-check-rcs: check-rcs
  
  check-rcs:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd rcs && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif rcs
  
--- 19870,19934 ----
  @endif prms
  
  
+ 
  .PHONY: configure-rcs maybe-configure-rcs
  maybe-configure-rcs:
  @if rcs
  maybe-configure-rcs: configure-rcs
! configure-rcs: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/rcs/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/rcs ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/rcs; \
! 	cd "$(HOST_SUBDIR)/rcs" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/rcs/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/rcs"; \
+ 	libsrcdir="$$s/rcs"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif rcs
  
+ 
+ 
+ 
+ 
  .PHONY: all-rcs maybe-all-rcs
  maybe-all-rcs:
  @if rcs
  TARGET-rcs=all
  maybe-all-rcs: all-rcs
  all-rcs: configure-rcs
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/rcs && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-rcs))
  @endif rcs
  
+ 
+ 
+ 
  .PHONY: check-rcs maybe-check-rcs
  maybe-check-rcs:
  @if rcs
  maybe-check-rcs: check-rcs
  
  check-rcs:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/rcs && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif rcs
  
*************** maybe-install-rcs:
*** 16798,16808 ****
  maybe-install-rcs: install-rcs
  
  install-rcs: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd rcs && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif rcs
  
--- 19938,19949 ----
  maybe-install-rcs: install-rcs
  
  install-rcs: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/rcs && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif rcs
  
*************** maybe-info-rcs: info-rcs
*** 16815,16830 ****
  
  info-rcs: \
      configure-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19956,19971 ----
  
  info-rcs: \
      configure-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-rcs: dvi-rcs
*** 16841,16856 ****
  
  dvi-rcs: \
      configure-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 19982,19997 ----
  
  dvi-rcs: \
      configure-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-rcs: html-rcs
*** 16867,16882 ****
  
  html-rcs: \
      configure-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20008,20023 ----
  
  html-rcs: \
      configure-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-rcs: TAGS-rcs
*** 16893,16908 ****
  
  TAGS-rcs: \
      configure-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20034,20049 ----
  
  TAGS-rcs: \
      configure-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-rcs: install-info-rcs
*** 16920,16935 ****
  install-info-rcs: \
      configure-rcs \
      info-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20061,20076 ----
  install-info-rcs: \
      configure-rcs \
      info-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-rcs: installcheck-rcs
*** 16946,16961 ****
  
  installcheck-rcs: \
      configure-rcs 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20087,20102 ----
  
  installcheck-rcs: \
      configure-rcs 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-rcs:
*** 16971,16986 ****
  maybe-mostlyclean-rcs: mostlyclean-rcs
  
  mostlyclean-rcs: 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20112,20127 ----
  maybe-mostlyclean-rcs: mostlyclean-rcs
  
  mostlyclean-rcs: 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-rcs:
*** 16996,17011 ****
  maybe-clean-rcs: clean-rcs
  
  clean-rcs: 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20137,20152 ----
  maybe-clean-rcs: clean-rcs
  
  clean-rcs: 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-rcs:
*** 17021,17036 ****
  maybe-distclean-rcs: distclean-rcs
  
  distclean-rcs: 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20162,20177 ----
  maybe-distclean-rcs: distclean-rcs
  
  distclean-rcs: 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-rcs:
*** 17046,17061 ****
  maybe-maintainer-clean-rcs: maintainer-clean-rcs
  
  maintainer-clean-rcs: 
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in rcs" ; \
! 	(cd rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20187,20202 ----
  maybe-maintainer-clean-rcs: maintainer-clean-rcs
  
  maintainer-clean-rcs: 
+ 	@$(unstage)
  	@[ -f ./rcs/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in rcs" ; \
! 	(cd $(HOST_SUBDIR)/rcs && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-rcs: 
*** 17066,17124 ****
  @endif rcs
  
  
  .PHONY: configure-readline maybe-configure-readline
  maybe-configure-readline:
  @if readline
  maybe-configure-readline: configure-readline
! configure-readline:
! 	@test ! -f readline/Makefile || exit 0; \
! 	[ -d readline ] || mkdir readline; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in readline; \
! 	cd readline || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/readline"; \
! 	    libsrcdir="$$s/readline";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/readline"; \
! 	    libsrcdir="$$s/readline";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif readline
  
  .PHONY: all-readline maybe-all-readline
  maybe-all-readline:
  @if readline
  TARGET-readline=all
  maybe-all-readline: all-readline
  all-readline: configure-readline
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd readline && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-readline))
  @endif readline
  
  .PHONY: check-readline maybe-check-readline
  maybe-check-readline:
  @if readline
  maybe-check-readline: check-readline
  
  check-readline:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd readline && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif readline
  
--- 20207,20271 ----
  @endif rcs
  
  
+ 
  .PHONY: configure-readline maybe-configure-readline
  maybe-configure-readline:
  @if readline
  maybe-configure-readline: configure-readline
! configure-readline: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/readline/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/readline ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/readline; \
! 	cd "$(HOST_SUBDIR)/readline" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/readline/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/readline"; \
+ 	libsrcdir="$$s/readline"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif readline
  
+ 
+ 
+ 
+ 
  .PHONY: all-readline maybe-all-readline
  maybe-all-readline:
  @if readline
  TARGET-readline=all
  maybe-all-readline: all-readline
  all-readline: configure-readline
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/readline && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-readline))
  @endif readline
  
+ 
+ 
+ 
  .PHONY: check-readline maybe-check-readline
  maybe-check-readline:
  @if readline
  maybe-check-readline: check-readline
  
  check-readline:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/readline && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif readline
  
*************** maybe-install-readline:
*** 17128,17138 ****
  maybe-install-readline: install-readline
  
  install-readline: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd readline && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif readline
  
--- 20275,20286 ----
  maybe-install-readline: install-readline
  
  install-readline: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/readline && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif readline
  
*************** maybe-info-readline: info-readline
*** 17145,17160 ****
  
  info-readline: \
      configure-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20293,20308 ----
  
  info-readline: \
      configure-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-readline: dvi-readline
*** 17171,17186 ****
  
  dvi-readline: \
      configure-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20319,20334 ----
  
  dvi-readline: \
      configure-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-readline: html-readline
*** 17197,17212 ****
  
  html-readline: \
      configure-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20345,20360 ----
  
  html-readline: \
      configure-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-readline: TAGS-readline
*** 17223,17238 ****
  
  TAGS-readline: \
      configure-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20371,20386 ----
  
  TAGS-readline: \
      configure-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-readline: install-inf
*** 17250,17265 ****
  install-info-readline: \
      configure-readline \
      info-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20398,20413 ----
  install-info-readline: \
      configure-readline \
      info-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-readline: installchec
*** 17276,17291 ****
  
  installcheck-readline: \
      configure-readline 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20424,20439 ----
  
  installcheck-readline: \
      configure-readline 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-readline:
*** 17301,17316 ****
  maybe-mostlyclean-readline: mostlyclean-readline
  
  mostlyclean-readline: 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20449,20464 ----
  maybe-mostlyclean-readline: mostlyclean-readline
  
  mostlyclean-readline: 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-readline:
*** 17326,17341 ****
  maybe-clean-readline: clean-readline
  
  clean-readline: 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20474,20489 ----
  maybe-clean-readline: clean-readline
  
  clean-readline: 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-readline:
*** 17351,17366 ****
  maybe-distclean-readline: distclean-readline
  
  distclean-readline: 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20499,20514 ----
  maybe-distclean-readline: distclean-readline
  
  distclean-readline: 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-readline:
*** 17376,17391 ****
  maybe-maintainer-clean-readline: maintainer-clean-readline
  
  maintainer-clean-readline: 
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in readline" ; \
! 	(cd readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20524,20539 ----
  maybe-maintainer-clean-readline: maintainer-clean-readline
  
  maintainer-clean-readline: 
+ 	@$(unstage)
  	@[ -f ./readline/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in readline" ; \
! 	(cd $(HOST_SUBDIR)/readline && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-readline: 
*** 17396,17443 ****
  @endif readline
  
  
  .PHONY: configure-release maybe-configure-release
  maybe-configure-release:
  @if release
  maybe-configure-release: configure-release
! configure-release:
! 	@test ! -f release/Makefile || exit 0; \
! 	[ -d release ] || mkdir release; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in release; \
! 	cd release || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/release"; \
! 	    libsrcdir="$$s/release";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/release"; \
! 	    libsrcdir="$$s/release";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif release
  
  .PHONY: all-release maybe-all-release
  maybe-all-release:
  @if release
  TARGET-release=all
  maybe-all-release: all-release
  all-release: configure-release
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd release && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-release))
  @endif release
  
  .PHONY: check-release maybe-check-release
  maybe-check-release:
  @if release
--- 20544,20596 ----
  @endif readline
  
  
+ 
  .PHONY: configure-release maybe-configure-release
  maybe-configure-release:
  @if release
  maybe-configure-release: configure-release
! configure-release: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/release/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/release ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/release; \
! 	cd "$(HOST_SUBDIR)/release" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/release/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/release"; \
+ 	libsrcdir="$$s/release"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif release
  
+ 
+ 
+ 
+ 
  .PHONY: all-release maybe-all-release
  maybe-all-release:
  @if release
  TARGET-release=all
  maybe-all-release: all-release
  all-release: configure-release
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/release && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-release))
  @endif release
  
+ 
+ 
+ 
  .PHONY: check-release maybe-check-release
  maybe-check-release:
  @if release
*************** maybe-info-release: info-release
*** 17465,17480 ****
  
  info-release: \
      configure-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20618,20633 ----
  
  info-release: \
      configure-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-release: dvi-release
*** 17491,17506 ****
  
  dvi-release: \
      configure-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20644,20659 ----
  
  dvi-release: \
      configure-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-release: html-release
*** 17517,17532 ****
  
  html-release: \
      configure-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20670,20685 ----
  
  html-release: \
      configure-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-release: TAGS-release
*** 17543,17558 ****
  
  TAGS-release: \
      configure-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20696,20711 ----
  
  TAGS-release: \
      configure-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-release: install-info
*** 17570,17585 ****
  install-info-release: \
      configure-release \
      info-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20723,20738 ----
  install-info-release: \
      configure-release \
      info-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-release: installcheck
*** 17596,17611 ****
  
  installcheck-release: \
      configure-release 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20749,20764 ----
  
  installcheck-release: \
      configure-release 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-release:
*** 17621,17636 ****
  maybe-mostlyclean-release: mostlyclean-release
  
  mostlyclean-release: 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20774,20789 ----
  maybe-mostlyclean-release: mostlyclean-release
  
  mostlyclean-release: 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-release:
*** 17646,17661 ****
  maybe-clean-release: clean-release
  
  clean-release: 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20799,20814 ----
  maybe-clean-release: clean-release
  
  clean-release: 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-release:
*** 17671,17686 ****
  maybe-distclean-release: distclean-release
  
  distclean-release: 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20824,20839 ----
  maybe-distclean-release: distclean-release
  
  distclean-release: 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-release:
*** 17696,17711 ****
  maybe-maintainer-clean-release: maintainer-clean-release
  
  maintainer-clean-release: 
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in release" ; \
! 	(cd release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20849,20864 ----
  maybe-maintainer-clean-release: maintainer-clean-release
  
  maintainer-clean-release: 
+ 	@$(unstage)
  	@[ -f ./release/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in release" ; \
! 	(cd $(HOST_SUBDIR)/release && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-release: 
*** 17716,17774 ****
  @endif release
  
  
  .PHONY: configure-recode maybe-configure-recode
  maybe-configure-recode:
  @if recode
  maybe-configure-recode: configure-recode
! configure-recode:
! 	@test ! -f recode/Makefile || exit 0; \
! 	[ -d recode ] || mkdir recode; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in recode; \
! 	cd recode || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/recode"; \
! 	    libsrcdir="$$s/recode";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/recode"; \
! 	    libsrcdir="$$s/recode";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif recode
  
  .PHONY: all-recode maybe-all-recode
  maybe-all-recode:
  @if recode
  TARGET-recode=all
  maybe-all-recode: all-recode
  all-recode: configure-recode
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd recode && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-recode))
  @endif recode
  
  .PHONY: check-recode maybe-check-recode
  maybe-check-recode:
  @if recode
  maybe-check-recode: check-recode
  
  check-recode:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd recode && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif recode
  
--- 20869,20933 ----
  @endif release
  
  
+ 
  .PHONY: configure-recode maybe-configure-recode
  maybe-configure-recode:
  @if recode
  maybe-configure-recode: configure-recode
! configure-recode: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/recode/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/recode ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/recode; \
! 	cd "$(HOST_SUBDIR)/recode" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/recode/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/recode"; \
+ 	libsrcdir="$$s/recode"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif recode
  
+ 
+ 
+ 
+ 
  .PHONY: all-recode maybe-all-recode
  maybe-all-recode:
  @if recode
  TARGET-recode=all
  maybe-all-recode: all-recode
  all-recode: configure-recode
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/recode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-recode))
  @endif recode
  
+ 
+ 
+ 
  .PHONY: check-recode maybe-check-recode
  maybe-check-recode:
  @if recode
  maybe-check-recode: check-recode
  
  check-recode:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/recode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif recode
  
*************** maybe-install-recode:
*** 17778,17788 ****
  maybe-install-recode: install-recode
  
  install-recode: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd recode && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif recode
  
--- 20937,20948 ----
  maybe-install-recode: install-recode
  
  install-recode: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/recode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif recode
  
*************** maybe-info-recode: info-recode
*** 17795,17810 ****
  
  info-recode: \
      configure-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20955,20970 ----
  
  info-recode: \
      configure-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-recode: dvi-recode
*** 17821,17836 ****
  
  dvi-recode: \
      configure-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 20981,20996 ----
  
  dvi-recode: \
      configure-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-recode: html-recode
*** 17847,17862 ****
  
  html-recode: \
      configure-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21007,21022 ----
  
  html-recode: \
      configure-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-recode: TAGS-recode
*** 17873,17888 ****
  
  TAGS-recode: \
      configure-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21033,21048 ----
  
  TAGS-recode: \
      configure-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-recode: install-info-
*** 17900,17915 ****
  install-info-recode: \
      configure-recode \
      info-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21060,21075 ----
  install-info-recode: \
      configure-recode \
      info-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-recode: installcheck-
*** 17926,17941 ****
  
  installcheck-recode: \
      configure-recode 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21086,21101 ----
  
  installcheck-recode: \
      configure-recode 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-recode:
*** 17951,17966 ****
  maybe-mostlyclean-recode: mostlyclean-recode
  
  mostlyclean-recode: 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21111,21126 ----
  maybe-mostlyclean-recode: mostlyclean-recode
  
  mostlyclean-recode: 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-recode:
*** 17976,17991 ****
  maybe-clean-recode: clean-recode
  
  clean-recode: 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21136,21151 ----
  maybe-clean-recode: clean-recode
  
  clean-recode: 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-recode:
*** 18001,18016 ****
  maybe-distclean-recode: distclean-recode
  
  distclean-recode: 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21161,21176 ----
  maybe-distclean-recode: distclean-recode
  
  distclean-recode: 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-recode:
*** 18026,18041 ****
  maybe-maintainer-clean-recode: maintainer-clean-recode
  
  maintainer-clean-recode: 
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in recode" ; \
! 	(cd recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21186,21201 ----
  maybe-maintainer-clean-recode: maintainer-clean-recode
  
  maintainer-clean-recode: 
+ 	@$(unstage)
  	@[ -f ./recode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in recode" ; \
! 	(cd $(HOST_SUBDIR)/recode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-recode: 
*** 18046,18104 ****
  @endif recode
  
  
  .PHONY: configure-sed maybe-configure-sed
  maybe-configure-sed:
  @if sed
  maybe-configure-sed: configure-sed
! configure-sed:
! 	@test ! -f sed/Makefile || exit 0; \
! 	[ -d sed ] || mkdir sed; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in sed; \
! 	cd sed || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/sed"; \
! 	    libsrcdir="$$s/sed";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/sed"; \
! 	    libsrcdir="$$s/sed";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sed
  
  .PHONY: all-sed maybe-all-sed
  maybe-all-sed:
  @if sed
  TARGET-sed=all
  maybe-all-sed: all-sed
  all-sed: configure-sed
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sed && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-sed))
  @endif sed
  
  .PHONY: check-sed maybe-check-sed
  maybe-check-sed:
  @if sed
  maybe-check-sed: check-sed
  
  check-sed:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sed && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sed
  
--- 21206,21270 ----
  @endif recode
  
  
+ 
  .PHONY: configure-sed maybe-configure-sed
  maybe-configure-sed:
  @if sed
  maybe-configure-sed: configure-sed
! configure-sed: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/sed/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sed ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/sed; \
! 	cd "$(HOST_SUBDIR)/sed" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/sed/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/sed"; \
+ 	libsrcdir="$$s/sed"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sed
  
+ 
+ 
+ 
+ 
  .PHONY: all-sed maybe-all-sed
  maybe-all-sed:
  @if sed
  TARGET-sed=all
  maybe-all-sed: all-sed
  all-sed: configure-sed
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sed && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sed))
  @endif sed
  
+ 
+ 
+ 
  .PHONY: check-sed maybe-check-sed
  maybe-check-sed:
  @if sed
  maybe-check-sed: check-sed
  
  check-sed:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sed && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sed
  
*************** maybe-install-sed:
*** 18108,18118 ****
  maybe-install-sed: install-sed
  
  install-sed: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sed && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sed
  
--- 21274,21285 ----
  maybe-install-sed: install-sed
  
  install-sed: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sed && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sed
  
*************** maybe-info-sed: info-sed
*** 18125,18140 ****
  
  info-sed: \
      configure-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21292,21307 ----
  
  info-sed: \
      configure-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-sed: dvi-sed
*** 18151,18166 ****
  
  dvi-sed: \
      configure-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21318,21333 ----
  
  dvi-sed: \
      configure-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-sed: html-sed
*** 18177,18192 ****
  
  html-sed: \
      configure-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21344,21359 ----
  
  html-sed: \
      configure-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-sed: TAGS-sed
*** 18203,18218 ****
  
  TAGS-sed: \
      configure-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21370,21385 ----
  
  TAGS-sed: \
      configure-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-sed: install-info-sed
*** 18230,18245 ****
  install-info-sed: \
      configure-sed \
      info-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21397,21412 ----
  install-info-sed: \
      configure-sed \
      info-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-sed: installcheck-sed
*** 18256,18271 ****
  
  installcheck-sed: \
      configure-sed 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21423,21438 ----
  
  installcheck-sed: \
      configure-sed 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-sed:
*** 18281,18296 ****
  maybe-mostlyclean-sed: mostlyclean-sed
  
  mostlyclean-sed: 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21448,21463 ----
  maybe-mostlyclean-sed: mostlyclean-sed
  
  mostlyclean-sed: 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-sed:
*** 18306,18321 ****
  maybe-clean-sed: clean-sed
  
  clean-sed: 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21473,21488 ----
  maybe-clean-sed: clean-sed
  
  clean-sed: 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-sed:
*** 18331,18346 ****
  maybe-distclean-sed: distclean-sed
  
  distclean-sed: 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21498,21513 ----
  maybe-distclean-sed: distclean-sed
  
  distclean-sed: 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-sed:
*** 18356,18371 ****
  maybe-maintainer-clean-sed: maintainer-clean-sed
  
  maintainer-clean-sed: 
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sed" ; \
! 	(cd sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21523,21538 ----
  maybe-maintainer-clean-sed: maintainer-clean-sed
  
  maintainer-clean-sed: 
+ 	@$(unstage)
  	@[ -f ./sed/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sed" ; \
! 	(cd $(HOST_SUBDIR)/sed && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-sed: 
*** 18376,18434 ****
  @endif sed
  
  
  .PHONY: configure-send-pr maybe-configure-send-pr
  maybe-configure-send-pr:
  @if send-pr
  maybe-configure-send-pr: configure-send-pr
! configure-send-pr:
! 	@test ! -f send-pr/Makefile || exit 0; \
! 	[ -d send-pr ] || mkdir send-pr; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in send-pr; \
! 	cd send-pr || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/send-pr"; \
! 	    libsrcdir="$$s/send-pr";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/send-pr"; \
! 	    libsrcdir="$$s/send-pr";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif send-pr
  
  .PHONY: all-send-pr maybe-all-send-pr
  maybe-all-send-pr:
  @if send-pr
  TARGET-send-pr=all
  maybe-all-send-pr: all-send-pr
  all-send-pr: configure-send-pr
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd send-pr && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-send-pr))
  @endif send-pr
  
  .PHONY: check-send-pr maybe-check-send-pr
  maybe-check-send-pr:
  @if send-pr
  maybe-check-send-pr: check-send-pr
  
  check-send-pr:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd send-pr && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif send-pr
  
--- 21543,21607 ----
  @endif sed
  
  
+ 
  .PHONY: configure-send-pr maybe-configure-send-pr
  maybe-configure-send-pr:
  @if send-pr
  maybe-configure-send-pr: configure-send-pr
! configure-send-pr: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/send-pr/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/send-pr ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/send-pr; \
! 	cd "$(HOST_SUBDIR)/send-pr" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/send-pr/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/send-pr"; \
+ 	libsrcdir="$$s/send-pr"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif send-pr
  
+ 
+ 
+ 
+ 
  .PHONY: all-send-pr maybe-all-send-pr
  maybe-all-send-pr:
  @if send-pr
  TARGET-send-pr=all
  maybe-all-send-pr: all-send-pr
  all-send-pr: configure-send-pr
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/send-pr && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-send-pr))
  @endif send-pr
  
+ 
+ 
+ 
  .PHONY: check-send-pr maybe-check-send-pr
  maybe-check-send-pr:
  @if send-pr
  maybe-check-send-pr: check-send-pr
  
  check-send-pr:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/send-pr && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif send-pr
  
*************** maybe-install-send-pr:
*** 18438,18448 ****
  maybe-install-send-pr: install-send-pr
  
  install-send-pr: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd send-pr && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif send-pr
  
--- 21611,21622 ----
  maybe-install-send-pr: install-send-pr
  
  install-send-pr: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/send-pr && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif send-pr
  
*************** maybe-info-send-pr: info-send-pr
*** 18455,18470 ****
  
  info-send-pr: \
      configure-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21629,21644 ----
  
  info-send-pr: \
      configure-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-send-pr: dvi-send-pr
*** 18481,18496 ****
  
  dvi-send-pr: \
      configure-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21655,21670 ----
  
  dvi-send-pr: \
      configure-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-send-pr: html-send-pr
*** 18507,18522 ****
  
  html-send-pr: \
      configure-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21681,21696 ----
  
  html-send-pr: \
      configure-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-send-pr: TAGS-send-pr
*** 18533,18548 ****
  
  TAGS-send-pr: \
      configure-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21707,21722 ----
  
  TAGS-send-pr: \
      configure-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-send-pr: install-info
*** 18560,18575 ****
  install-info-send-pr: \
      configure-send-pr \
      info-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21734,21749 ----
  install-info-send-pr: \
      configure-send-pr \
      info-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-send-pr: installcheck
*** 18586,18601 ****
  
  installcheck-send-pr: \
      configure-send-pr 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21760,21775 ----
  
  installcheck-send-pr: \
      configure-send-pr 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-send-pr:
*** 18611,18626 ****
  maybe-mostlyclean-send-pr: mostlyclean-send-pr
  
  mostlyclean-send-pr: 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21785,21800 ----
  maybe-mostlyclean-send-pr: mostlyclean-send-pr
  
  mostlyclean-send-pr: 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-send-pr:
*** 18636,18651 ****
  maybe-clean-send-pr: clean-send-pr
  
  clean-send-pr: 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21810,21825 ----
  maybe-clean-send-pr: clean-send-pr
  
  clean-send-pr: 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-send-pr:
*** 18661,18676 ****
  maybe-distclean-send-pr: distclean-send-pr
  
  distclean-send-pr: 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21835,21850 ----
  maybe-distclean-send-pr: distclean-send-pr
  
  distclean-send-pr: 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-send-pr:
*** 18686,18701 ****
  maybe-maintainer-clean-send-pr: maintainer-clean-send-pr
  
  maintainer-clean-send-pr: 
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in send-pr" ; \
! 	(cd send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21860,21875 ----
  maybe-maintainer-clean-send-pr: maintainer-clean-send-pr
  
  maintainer-clean-send-pr: 
+ 	@$(unstage)
  	@[ -f ./send-pr/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in send-pr" ; \
! 	(cd $(HOST_SUBDIR)/send-pr && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-send-pr: 
*** 18706,18764 ****
  @endif send-pr
  
  
  .PHONY: configure-shellutils maybe-configure-shellutils
  maybe-configure-shellutils:
  @if shellutils
  maybe-configure-shellutils: configure-shellutils
! configure-shellutils:
! 	@test ! -f shellutils/Makefile || exit 0; \
! 	[ -d shellutils ] || mkdir shellutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in shellutils; \
! 	cd shellutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/shellutils"; \
! 	    libsrcdir="$$s/shellutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/shellutils"; \
! 	    libsrcdir="$$s/shellutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif shellutils
  
  .PHONY: all-shellutils maybe-all-shellutils
  maybe-all-shellutils:
  @if shellutils
  TARGET-shellutils=all
  maybe-all-shellutils: all-shellutils
  all-shellutils: configure-shellutils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd shellutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-shellutils))
  @endif shellutils
  
  .PHONY: check-shellutils maybe-check-shellutils
  maybe-check-shellutils:
  @if shellutils
  maybe-check-shellutils: check-shellutils
  
  check-shellutils:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd shellutils && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif shellutils
  
--- 21880,21944 ----
  @endif send-pr
  
  
+ 
  .PHONY: configure-shellutils maybe-configure-shellutils
  maybe-configure-shellutils:
  @if shellutils
  maybe-configure-shellutils: configure-shellutils
! configure-shellutils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/shellutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/shellutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/shellutils; \
! 	cd "$(HOST_SUBDIR)/shellutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/shellutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/shellutils"; \
+ 	libsrcdir="$$s/shellutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif shellutils
  
+ 
+ 
+ 
+ 
  .PHONY: all-shellutils maybe-all-shellutils
  maybe-all-shellutils:
  @if shellutils
  TARGET-shellutils=all
  maybe-all-shellutils: all-shellutils
  all-shellutils: configure-shellutils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/shellutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-shellutils))
  @endif shellutils
  
+ 
+ 
+ 
  .PHONY: check-shellutils maybe-check-shellutils
  maybe-check-shellutils:
  @if shellutils
  maybe-check-shellutils: check-shellutils
  
  check-shellutils:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/shellutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif shellutils
  
*************** maybe-install-shellutils:
*** 18768,18778 ****
  maybe-install-shellutils: install-shellutils
  
  install-shellutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd shellutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif shellutils
  
--- 21948,21959 ----
  maybe-install-shellutils: install-shellutils
  
  install-shellutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/shellutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif shellutils
  
*************** maybe-info-shellutils: info-shellutils
*** 18785,18800 ****
  
  info-shellutils: \
      configure-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21966,21981 ----
  
  info-shellutils: \
      configure-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-shellutils: dvi-shellutils
*** 18811,18826 ****
  
  dvi-shellutils: \
      configure-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 21992,22007 ----
  
  dvi-shellutils: \
      configure-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-shellutils: html-shellutils
*** 18837,18852 ****
  
  html-shellutils: \
      configure-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22018,22033 ----
  
  html-shellutils: \
      configure-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-shellutils: TAGS-shellutils
*** 18863,18878 ****
  
  TAGS-shellutils: \
      configure-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22044,22059 ----
  
  TAGS-shellutils: \
      configure-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-shellutils: install-i
*** 18890,18905 ****
  install-info-shellutils: \
      configure-shellutils \
      info-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22071,22086 ----
  install-info-shellutils: \
      configure-shellutils \
      info-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-shellutils: installch
*** 18916,18931 ****
  
  installcheck-shellutils: \
      configure-shellutils 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22097,22112 ----
  
  installcheck-shellutils: \
      configure-shellutils 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-shellutils:
*** 18941,18956 ****
  maybe-mostlyclean-shellutils: mostlyclean-shellutils
  
  mostlyclean-shellutils: 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22122,22137 ----
  maybe-mostlyclean-shellutils: mostlyclean-shellutils
  
  mostlyclean-shellutils: 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-shellutils:
*** 18966,18981 ****
  maybe-clean-shellutils: clean-shellutils
  
  clean-shellutils: 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22147,22162 ----
  maybe-clean-shellutils: clean-shellutils
  
  clean-shellutils: 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-shellutils:
*** 18991,19006 ****
  maybe-distclean-shellutils: distclean-shellutils
  
  distclean-shellutils: 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22172,22187 ----
  maybe-distclean-shellutils: distclean-shellutils
  
  distclean-shellutils: 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-shellutils:
*** 19016,19031 ****
  maybe-maintainer-clean-shellutils: maintainer-clean-shellutils
  
  maintainer-clean-shellutils: 
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in shellutils" ; \
! 	(cd shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22197,22212 ----
  maybe-maintainer-clean-shellutils: maintainer-clean-shellutils
  
  maintainer-clean-shellutils: 
+ 	@$(unstage)
  	@[ -f ./shellutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in shellutils" ; \
! 	(cd $(HOST_SUBDIR)/shellutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-shellutils: 
*** 19036,19094 ****
  @endif shellutils
  
  
  .PHONY: configure-sid maybe-configure-sid
  maybe-configure-sid:
  @if sid
  maybe-configure-sid: configure-sid
! configure-sid:
! 	@test ! -f sid/Makefile || exit 0; \
! 	[ -d sid ] || mkdir sid; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in sid; \
! 	cd sid || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/sid"; \
! 	    libsrcdir="$$s/sid";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/sid"; \
! 	    libsrcdir="$$s/sid";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sid
  
  .PHONY: all-sid maybe-all-sid
  maybe-all-sid:
  @if sid
  TARGET-sid=all
  maybe-all-sid: all-sid
  all-sid: configure-sid
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sid && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-sid))
  @endif sid
  
  .PHONY: check-sid maybe-check-sid
  maybe-check-sid:
  @if sid
  maybe-check-sid: check-sid
  
  check-sid:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sid && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sid
  
--- 22217,22281 ----
  @endif shellutils
  
  
+ 
  .PHONY: configure-sid maybe-configure-sid
  maybe-configure-sid:
  @if sid
  maybe-configure-sid: configure-sid
! configure-sid: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/sid/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sid ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/sid; \
! 	cd "$(HOST_SUBDIR)/sid" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/sid/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/sid"; \
+ 	libsrcdir="$$s/sid"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sid
  
+ 
+ 
+ 
+ 
  .PHONY: all-sid maybe-all-sid
  maybe-all-sid:
  @if sid
  TARGET-sid=all
  maybe-all-sid: all-sid
  all-sid: configure-sid
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sid && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sid))
  @endif sid
  
+ 
+ 
+ 
  .PHONY: check-sid maybe-check-sid
  maybe-check-sid:
  @if sid
  maybe-check-sid: check-sid
  
  check-sid:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sid && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sid
  
*************** maybe-install-sid:
*** 19098,19108 ****
  maybe-install-sid: install-sid
  
  install-sid: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sid && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sid
  
--- 22285,22296 ----
  maybe-install-sid: install-sid
  
  install-sid: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sid && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sid
  
*************** maybe-info-sid: info-sid
*** 19115,19130 ****
  
  info-sid: \
      configure-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22303,22318 ----
  
  info-sid: \
      configure-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-sid: dvi-sid
*** 19141,19156 ****
  
  dvi-sid: \
      configure-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22329,22344 ----
  
  dvi-sid: \
      configure-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-sid: html-sid
*** 19167,19182 ****
  
  html-sid: \
      configure-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22355,22370 ----
  
  html-sid: \
      configure-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-sid: TAGS-sid
*** 19193,19208 ****
  
  TAGS-sid: \
      configure-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22381,22396 ----
  
  TAGS-sid: \
      configure-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-sid: install-info-sid
*** 19220,19235 ****
  install-info-sid: \
      configure-sid \
      info-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22408,22423 ----
  install-info-sid: \
      configure-sid \
      info-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-sid: installcheck-sid
*** 19246,19261 ****
  
  installcheck-sid: \
      configure-sid 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22434,22449 ----
  
  installcheck-sid: \
      configure-sid 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-sid:
*** 19271,19286 ****
  maybe-mostlyclean-sid: mostlyclean-sid
  
  mostlyclean-sid: 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22459,22474 ----
  maybe-mostlyclean-sid: mostlyclean-sid
  
  mostlyclean-sid: 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-sid:
*** 19296,19311 ****
  maybe-clean-sid: clean-sid
  
  clean-sid: 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22484,22499 ----
  maybe-clean-sid: clean-sid
  
  clean-sid: 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-sid:
*** 19321,19336 ****
  maybe-distclean-sid: distclean-sid
  
  distclean-sid: 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22509,22524 ----
  maybe-distclean-sid: distclean-sid
  
  distclean-sid: 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-sid:
*** 19346,19361 ****
  maybe-maintainer-clean-sid: maintainer-clean-sid
  
  maintainer-clean-sid: 
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sid" ; \
! 	(cd sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22534,22549 ----
  maybe-maintainer-clean-sid: maintainer-clean-sid
  
  maintainer-clean-sid: 
+ 	@$(unstage)
  	@[ -f ./sid/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sid" ; \
! 	(cd $(HOST_SUBDIR)/sid && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-sid: 
*** 19366,19424 ****
  @endif sid
  
  
  .PHONY: configure-sim maybe-configure-sim
  maybe-configure-sim:
  @if sim
  maybe-configure-sim: configure-sim
! configure-sim:
! 	@test ! -f sim/Makefile || exit 0; \
! 	[ -d sim ] || mkdir sim; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in sim; \
! 	cd sim || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/sim"; \
! 	    libsrcdir="$$s/sim";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/sim"; \
! 	    libsrcdir="$$s/sim";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sim
  
  .PHONY: all-sim maybe-all-sim
  maybe-all-sim:
  @if sim
  TARGET-sim=all
  maybe-all-sim: all-sim
  all-sim: configure-sim
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sim && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-sim))
  @endif sim
  
  .PHONY: check-sim maybe-check-sim
  maybe-check-sim:
  @if sim
  maybe-check-sim: check-sim
  
  check-sim:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sim && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sim
  
--- 22554,22618 ----
  @endif sid
  
  
+ 
  .PHONY: configure-sim maybe-configure-sim
  maybe-configure-sim:
  @if sim
  maybe-configure-sim: configure-sim
! configure-sim: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/sim/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/sim ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/sim; \
! 	cd "$(HOST_SUBDIR)/sim" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/sim/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/sim"; \
+ 	libsrcdir="$$s/sim"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif sim
  
+ 
+ 
+ 
+ 
  .PHONY: all-sim maybe-all-sim
  maybe-all-sim:
  @if sim
  TARGET-sim=all
  maybe-all-sim: all-sim
  all-sim: configure-sim
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sim && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-sim))
  @endif sim
  
+ 
+ 
+ 
  .PHONY: check-sim maybe-check-sim
  maybe-check-sim:
  @if sim
  maybe-check-sim: check-sim
  
  check-sim:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sim && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif sim
  
*************** maybe-install-sim:
*** 19428,19438 ****
  maybe-install-sim: install-sim
  
  install-sim: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd sim && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sim
  
--- 22622,22633 ----
  maybe-install-sim: install-sim
  
  install-sim: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/sim && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif sim
  
*************** maybe-info-sim: info-sim
*** 19445,19460 ****
  
  info-sim: \
      configure-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22640,22655 ----
  
  info-sim: \
      configure-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-sim: dvi-sim
*** 19471,19486 ****
  
  dvi-sim: \
      configure-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22666,22681 ----
  
  dvi-sim: \
      configure-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-sim: html-sim
*** 19497,19512 ****
  
  html-sim: \
      configure-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22692,22707 ----
  
  html-sim: \
      configure-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-sim: TAGS-sim
*** 19523,19538 ****
  
  TAGS-sim: \
      configure-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22718,22733 ----
  
  TAGS-sim: \
      configure-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-sim: install-info-sim
*** 19550,19565 ****
  install-info-sim: \
      configure-sim \
      info-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22745,22760 ----
  install-info-sim: \
      configure-sim \
      info-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-sim: installcheck-sim
*** 19576,19591 ****
  
  installcheck-sim: \
      configure-sim 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22771,22786 ----
  
  installcheck-sim: \
      configure-sim 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-sim:
*** 19601,19616 ****
  maybe-mostlyclean-sim: mostlyclean-sim
  
  mostlyclean-sim: 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22796,22811 ----
  maybe-mostlyclean-sim: mostlyclean-sim
  
  mostlyclean-sim: 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-sim:
*** 19626,19641 ****
  maybe-clean-sim: clean-sim
  
  clean-sim: 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22821,22836 ----
  maybe-clean-sim: clean-sim
  
  clean-sim: 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-sim:
*** 19651,19666 ****
  maybe-distclean-sim: distclean-sim
  
  distclean-sim: 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22846,22861 ----
  maybe-distclean-sim: distclean-sim
  
  distclean-sim: 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-sim:
*** 19676,19691 ****
  maybe-maintainer-clean-sim: maintainer-clean-sim
  
  maintainer-clean-sim: 
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sim" ; \
! 	(cd sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22871,22886 ----
  maybe-maintainer-clean-sim: maintainer-clean-sim
  
  maintainer-clean-sim: 
+ 	@$(unstage)
  	@[ -f ./sim/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in sim" ; \
! 	(cd $(HOST_SUBDIR)/sim && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-sim: 
*** 19696,19754 ****
  @endif sim
  
  
  .PHONY: configure-tar maybe-configure-tar
  maybe-configure-tar:
  @if tar
  maybe-configure-tar: configure-tar
! configure-tar:
! 	@test ! -f tar/Makefile || exit 0; \
! 	[ -d tar ] || mkdir tar; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in tar; \
! 	cd tar || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/tar"; \
! 	    libsrcdir="$$s/tar";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/tar"; \
! 	    libsrcdir="$$s/tar";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tar
  
  .PHONY: all-tar maybe-all-tar
  maybe-all-tar:
  @if tar
  TARGET-tar=all
  maybe-all-tar: all-tar
  all-tar: configure-tar
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tar && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-tar))
  @endif tar
  
  .PHONY: check-tar maybe-check-tar
  maybe-check-tar:
  @if tar
  maybe-check-tar: check-tar
  
  check-tar:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tar && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif tar
  
--- 22891,22955 ----
  @endif sim
  
  
+ 
  .PHONY: configure-tar maybe-configure-tar
  maybe-configure-tar:
  @if tar
  maybe-configure-tar: configure-tar
! configure-tar: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/tar/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tar ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/tar; \
! 	cd "$(HOST_SUBDIR)/tar" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/tar/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/tar"; \
+ 	libsrcdir="$$s/tar"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tar
  
+ 
+ 
+ 
+ 
  .PHONY: all-tar maybe-all-tar
  maybe-all-tar:
  @if tar
  TARGET-tar=all
  maybe-all-tar: all-tar
  all-tar: configure-tar
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tar && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-tar))
  @endif tar
  
+ 
+ 
+ 
  .PHONY: check-tar maybe-check-tar
  maybe-check-tar:
  @if tar
  maybe-check-tar: check-tar
  
  check-tar:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tar && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif tar
  
*************** maybe-install-tar:
*** 19758,19768 ****
  maybe-install-tar: install-tar
  
  install-tar: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tar && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif tar
  
--- 22959,22970 ----
  maybe-install-tar: install-tar
  
  install-tar: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tar && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif tar
  
*************** maybe-info-tar: info-tar
*** 19775,19790 ****
  
  info-tar: \
      configure-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 22977,22992 ----
  
  info-tar: \
      configure-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-tar: dvi-tar
*** 19801,19816 ****
  
  dvi-tar: \
      configure-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23003,23018 ----
  
  dvi-tar: \
      configure-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-tar: html-tar
*** 19827,19842 ****
  
  html-tar: \
      configure-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23029,23044 ----
  
  html-tar: \
      configure-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-tar: TAGS-tar
*** 19853,19868 ****
  
  TAGS-tar: \
      configure-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23055,23070 ----
  
  TAGS-tar: \
      configure-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-tar: install-info-tar
*** 19880,19895 ****
  install-info-tar: \
      configure-tar \
      info-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23082,23097 ----
  install-info-tar: \
      configure-tar \
      info-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-tar: installcheck-tar
*** 19906,19921 ****
  
  installcheck-tar: \
      configure-tar 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23108,23123 ----
  
  installcheck-tar: \
      configure-tar 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-tar:
*** 19931,19946 ****
  maybe-mostlyclean-tar: mostlyclean-tar
  
  mostlyclean-tar: 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23133,23148 ----
  maybe-mostlyclean-tar: mostlyclean-tar
  
  mostlyclean-tar: 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-tar:
*** 19956,19971 ****
  maybe-clean-tar: clean-tar
  
  clean-tar: 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23158,23173 ----
  maybe-clean-tar: clean-tar
  
  clean-tar: 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-tar:
*** 19981,19996 ****
  maybe-distclean-tar: distclean-tar
  
  distclean-tar: 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23183,23198 ----
  maybe-distclean-tar: distclean-tar
  
  distclean-tar: 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-tar:
*** 20006,20021 ****
  maybe-maintainer-clean-tar: maintainer-clean-tar
  
  maintainer-clean-tar: 
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tar" ; \
! 	(cd tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23208,23223 ----
  maybe-maintainer-clean-tar: maintainer-clean-tar
  
  maintainer-clean-tar: 
+ 	@$(unstage)
  	@[ -f ./tar/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tar" ; \
! 	(cd $(HOST_SUBDIR)/tar && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-tar: 
*** 20026,20084 ****
  @endif tar
  
  
  .PHONY: configure-texinfo maybe-configure-texinfo
  maybe-configure-texinfo:
  @if texinfo
  maybe-configure-texinfo: configure-texinfo
! configure-texinfo:
! 	@test ! -f texinfo/Makefile || exit 0; \
! 	[ -d texinfo ] || mkdir texinfo; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in texinfo; \
! 	cd texinfo || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/texinfo"; \
! 	    libsrcdir="$$s/texinfo";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/texinfo"; \
! 	    libsrcdir="$$s/texinfo";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif texinfo
  
  .PHONY: all-texinfo maybe-all-texinfo
  maybe-all-texinfo:
  @if texinfo
  TARGET-texinfo=all
  maybe-all-texinfo: all-texinfo
  all-texinfo: configure-texinfo
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd texinfo && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-texinfo))
  @endif texinfo
  
  .PHONY: check-texinfo maybe-check-texinfo
  maybe-check-texinfo:
  @if texinfo
  maybe-check-texinfo: check-texinfo
  
  check-texinfo:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd texinfo && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif texinfo
  
--- 23228,23292 ----
  @endif tar
  
  
+ 
  .PHONY: configure-texinfo maybe-configure-texinfo
  maybe-configure-texinfo:
  @if texinfo
  maybe-configure-texinfo: configure-texinfo
! configure-texinfo: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/texinfo/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/texinfo ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/texinfo; \
! 	cd "$(HOST_SUBDIR)/texinfo" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/texinfo/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/texinfo"; \
+ 	libsrcdir="$$s/texinfo"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif texinfo
  
+ 
+ 
+ 
+ 
  .PHONY: all-texinfo maybe-all-texinfo
  maybe-all-texinfo:
  @if texinfo
  TARGET-texinfo=all
  maybe-all-texinfo: all-texinfo
  all-texinfo: configure-texinfo
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/texinfo && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-texinfo))
  @endif texinfo
  
+ 
+ 
+ 
  .PHONY: check-texinfo maybe-check-texinfo
  maybe-check-texinfo:
  @if texinfo
  maybe-check-texinfo: check-texinfo
  
  check-texinfo:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/texinfo && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif texinfo
  
*************** maybe-info-texinfo: info-texinfo
*** 20100,20115 ****
  
  info-texinfo: \
      configure-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23308,23323 ----
  
  info-texinfo: \
      configure-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-texinfo: dvi-texinfo
*** 20126,20141 ****
  
  dvi-texinfo: \
      configure-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23334,23349 ----
  
  dvi-texinfo: \
      configure-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-texinfo: html-texinfo
*** 20152,20167 ****
  
  html-texinfo: \
      configure-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23360,23375 ----
  
  html-texinfo: \
      configure-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-texinfo: TAGS-texinfo
*** 20178,20193 ****
  
  TAGS-texinfo: \
      configure-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23386,23401 ----
  
  TAGS-texinfo: \
      configure-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-texinfo: install-info
*** 20205,20220 ****
  install-info-texinfo: \
      configure-texinfo \
      info-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23413,23428 ----
  install-info-texinfo: \
      configure-texinfo \
      info-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-texinfo: installcheck
*** 20231,20246 ****
  
  installcheck-texinfo: \
      configure-texinfo 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23439,23454 ----
  
  installcheck-texinfo: \
      configure-texinfo 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-texinfo:
*** 20256,20271 ****
  maybe-mostlyclean-texinfo: mostlyclean-texinfo
  
  mostlyclean-texinfo: 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23464,23479 ----
  maybe-mostlyclean-texinfo: mostlyclean-texinfo
  
  mostlyclean-texinfo: 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-texinfo:
*** 20281,20296 ****
  maybe-clean-texinfo: clean-texinfo
  
  clean-texinfo: 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23489,23504 ----
  maybe-clean-texinfo: clean-texinfo
  
  clean-texinfo: 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-texinfo:
*** 20306,20321 ****
  maybe-distclean-texinfo: distclean-texinfo
  
  distclean-texinfo: 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23514,23529 ----
  maybe-distclean-texinfo: distclean-texinfo
  
  distclean-texinfo: 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-texinfo:
*** 20331,20346 ****
  maybe-maintainer-clean-texinfo: maintainer-clean-texinfo
  
  maintainer-clean-texinfo: 
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in texinfo" ; \
! 	(cd texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23539,23554 ----
  maybe-maintainer-clean-texinfo: maintainer-clean-texinfo
  
  maintainer-clean-texinfo: 
+ 	@$(unstage)
  	@[ -f ./texinfo/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in texinfo" ; \
! 	(cd $(HOST_SUBDIR)/texinfo && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-texinfo: 
*** 20351,20409 ****
  @endif texinfo
  
  
  .PHONY: configure-textutils maybe-configure-textutils
  maybe-configure-textutils:
  @if textutils
  maybe-configure-textutils: configure-textutils
! configure-textutils:
! 	@test ! -f textutils/Makefile || exit 0; \
! 	[ -d textutils ] || mkdir textutils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in textutils; \
! 	cd textutils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/textutils"; \
! 	    libsrcdir="$$s/textutils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/textutils"; \
! 	    libsrcdir="$$s/textutils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif textutils
  
  .PHONY: all-textutils maybe-all-textutils
  maybe-all-textutils:
  @if textutils
  TARGET-textutils=all
  maybe-all-textutils: all-textutils
  all-textutils: configure-textutils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd textutils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-textutils))
  @endif textutils
  
  .PHONY: check-textutils maybe-check-textutils
  maybe-check-textutils:
  @if textutils
  maybe-check-textutils: check-textutils
  
  check-textutils:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd textutils && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif textutils
  
--- 23559,23623 ----
  @endif texinfo
  
  
+ 
  .PHONY: configure-textutils maybe-configure-textutils
  maybe-configure-textutils:
  @if textutils
  maybe-configure-textutils: configure-textutils
! configure-textutils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/textutils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/textutils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/textutils; \
! 	cd "$(HOST_SUBDIR)/textutils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/textutils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/textutils"; \
+ 	libsrcdir="$$s/textutils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif textutils
  
+ 
+ 
+ 
+ 
  .PHONY: all-textutils maybe-all-textutils
  maybe-all-textutils:
  @if textutils
  TARGET-textutils=all
  maybe-all-textutils: all-textutils
  all-textutils: configure-textutils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/textutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-textutils))
  @endif textutils
  
+ 
+ 
+ 
  .PHONY: check-textutils maybe-check-textutils
  maybe-check-textutils:
  @if textutils
  maybe-check-textutils: check-textutils
  
  check-textutils:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/textutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif textutils
  
*************** maybe-install-textutils:
*** 20413,20423 ****
  maybe-install-textutils: install-textutils
  
  install-textutils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd textutils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif textutils
  
--- 23627,23638 ----
  maybe-install-textutils: install-textutils
  
  install-textutils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/textutils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif textutils
  
*************** maybe-info-textutils: info-textutils
*** 20430,20445 ****
  
  info-textutils: \
      configure-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23645,23660 ----
  
  info-textutils: \
      configure-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-textutils: dvi-textutils
*** 20456,20471 ****
  
  dvi-textutils: \
      configure-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23671,23686 ----
  
  dvi-textutils: \
      configure-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-textutils: html-textutils
*** 20482,20497 ****
  
  html-textutils: \
      configure-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23697,23712 ----
  
  html-textutils: \
      configure-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-textutils: TAGS-textutils
*** 20508,20523 ****
  
  TAGS-textutils: \
      configure-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23723,23738 ----
  
  TAGS-textutils: \
      configure-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-textutils: install-in
*** 20535,20550 ****
  install-info-textutils: \
      configure-textutils \
      info-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23750,23765 ----
  install-info-textutils: \
      configure-textutils \
      info-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-textutils: installche
*** 20561,20576 ****
  
  installcheck-textutils: \
      configure-textutils 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23776,23791 ----
  
  installcheck-textutils: \
      configure-textutils 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-textutils:
*** 20586,20601 ****
  maybe-mostlyclean-textutils: mostlyclean-textutils
  
  mostlyclean-textutils: 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23801,23816 ----
  maybe-mostlyclean-textutils: mostlyclean-textutils
  
  mostlyclean-textutils: 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-textutils:
*** 20611,20626 ****
  maybe-clean-textutils: clean-textutils
  
  clean-textutils: 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23826,23841 ----
  maybe-clean-textutils: clean-textutils
  
  clean-textutils: 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-textutils:
*** 20636,20651 ****
  maybe-distclean-textutils: distclean-textutils
  
  distclean-textutils: 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23851,23866 ----
  maybe-distclean-textutils: distclean-textutils
  
  distclean-textutils: 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-textutils:
*** 20661,20676 ****
  maybe-maintainer-clean-textutils: maintainer-clean-textutils
  
  maintainer-clean-textutils: 
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in textutils" ; \
! 	(cd textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23876,23891 ----
  maybe-maintainer-clean-textutils: maintainer-clean-textutils
  
  maintainer-clean-textutils: 
+ 	@$(unstage)
  	@[ -f ./textutils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in textutils" ; \
! 	(cd $(HOST_SUBDIR)/textutils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-textutils: 
*** 20681,20739 ****
  @endif textutils
  
  
  .PHONY: configure-time maybe-configure-time
  maybe-configure-time:
  @if time
  maybe-configure-time: configure-time
! configure-time:
! 	@test ! -f time/Makefile || exit 0; \
! 	[ -d time ] || mkdir time; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in time; \
! 	cd time || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/time"; \
! 	    libsrcdir="$$s/time";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/time"; \
! 	    libsrcdir="$$s/time";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif time
  
  .PHONY: all-time maybe-all-time
  maybe-all-time:
  @if time
  TARGET-time=all
  maybe-all-time: all-time
  all-time: configure-time
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd time && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-time))
  @endif time
  
  .PHONY: check-time maybe-check-time
  maybe-check-time:
  @if time
  maybe-check-time: check-time
  
  check-time:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd time && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif time
  
--- 23896,23960 ----
  @endif textutils
  
  
+ 
  .PHONY: configure-time maybe-configure-time
  maybe-configure-time:
  @if time
  maybe-configure-time: configure-time
! configure-time: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/time/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/time ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/time; \
! 	cd "$(HOST_SUBDIR)/time" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/time/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/time"; \
+ 	libsrcdir="$$s/time"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif time
  
+ 
+ 
+ 
+ 
  .PHONY: all-time maybe-all-time
  maybe-all-time:
  @if time
  TARGET-time=all
  maybe-all-time: all-time
  all-time: configure-time
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/time && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-time))
  @endif time
  
+ 
+ 
+ 
  .PHONY: check-time maybe-check-time
  maybe-check-time:
  @if time
  maybe-check-time: check-time
  
  check-time:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/time && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif time
  
*************** maybe-install-time:
*** 20743,20753 ****
  maybe-install-time: install-time
  
  install-time: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd time && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif time
  
--- 23964,23975 ----
  maybe-install-time: install-time
  
  install-time: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/time && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif time
  
*************** maybe-info-time: info-time
*** 20760,20775 ****
  
  info-time: \
      configure-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 23982,23997 ----
  
  info-time: \
      configure-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-time: dvi-time
*** 20786,20801 ****
  
  dvi-time: \
      configure-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24008,24023 ----
  
  dvi-time: \
      configure-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-time: html-time
*** 20812,20827 ****
  
  html-time: \
      configure-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24034,24049 ----
  
  html-time: \
      configure-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-time: TAGS-time
*** 20838,20853 ****
  
  TAGS-time: \
      configure-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24060,24075 ----
  
  TAGS-time: \
      configure-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-time: install-info-ti
*** 20865,20880 ****
  install-info-time: \
      configure-time \
      info-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24087,24102 ----
  install-info-time: \
      configure-time \
      info-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-time: installcheck-ti
*** 20891,20906 ****
  
  installcheck-time: \
      configure-time 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24113,24128 ----
  
  installcheck-time: \
      configure-time 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-time:
*** 20916,20931 ****
  maybe-mostlyclean-time: mostlyclean-time
  
  mostlyclean-time: 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24138,24153 ----
  maybe-mostlyclean-time: mostlyclean-time
  
  mostlyclean-time: 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-time:
*** 20941,20956 ****
  maybe-clean-time: clean-time
  
  clean-time: 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24163,24178 ----
  maybe-clean-time: clean-time
  
  clean-time: 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-time:
*** 20966,20981 ****
  maybe-distclean-time: distclean-time
  
  distclean-time: 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24188,24203 ----
  maybe-distclean-time: distclean-time
  
  distclean-time: 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-time:
*** 20991,21006 ****
  maybe-maintainer-clean-time: maintainer-clean-time
  
  maintainer-clean-time: 
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in time" ; \
! 	(cd time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24213,24228 ----
  maybe-maintainer-clean-time: maintainer-clean-time
  
  maintainer-clean-time: 
+ 	@$(unstage)
  	@[ -f ./time/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in time" ; \
! 	(cd $(HOST_SUBDIR)/time && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-time: 
*** 21011,21069 ****
  @endif time
  
  
  .PHONY: configure-uudecode maybe-configure-uudecode
  maybe-configure-uudecode:
  @if uudecode
  maybe-configure-uudecode: configure-uudecode
! configure-uudecode:
! 	@test ! -f uudecode/Makefile || exit 0; \
! 	[ -d uudecode ] || mkdir uudecode; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in uudecode; \
! 	cd uudecode || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/uudecode"; \
! 	    libsrcdir="$$s/uudecode";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/uudecode"; \
! 	    libsrcdir="$$s/uudecode";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif uudecode
  
  .PHONY: all-uudecode maybe-all-uudecode
  maybe-all-uudecode:
  @if uudecode
  TARGET-uudecode=all
  maybe-all-uudecode: all-uudecode
  all-uudecode: configure-uudecode
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd uudecode && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-uudecode))
  @endif uudecode
  
  .PHONY: check-uudecode maybe-check-uudecode
  maybe-check-uudecode:
  @if uudecode
  maybe-check-uudecode: check-uudecode
  
  check-uudecode:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd uudecode && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif uudecode
  
--- 24233,24297 ----
  @endif time
  
  
+ 
  .PHONY: configure-uudecode maybe-configure-uudecode
  maybe-configure-uudecode:
  @if uudecode
  maybe-configure-uudecode: configure-uudecode
! configure-uudecode: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/uudecode/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/uudecode ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/uudecode; \
! 	cd "$(HOST_SUBDIR)/uudecode" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/uudecode/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/uudecode"; \
+ 	libsrcdir="$$s/uudecode"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif uudecode
  
+ 
+ 
+ 
+ 
  .PHONY: all-uudecode maybe-all-uudecode
  maybe-all-uudecode:
  @if uudecode
  TARGET-uudecode=all
  maybe-all-uudecode: all-uudecode
  all-uudecode: configure-uudecode
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/uudecode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-uudecode))
  @endif uudecode
  
+ 
+ 
+ 
  .PHONY: check-uudecode maybe-check-uudecode
  maybe-check-uudecode:
  @if uudecode
  maybe-check-uudecode: check-uudecode
  
  check-uudecode:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/uudecode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif uudecode
  
*************** maybe-install-uudecode:
*** 21073,21083 ****
  maybe-install-uudecode: install-uudecode
  
  install-uudecode: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd uudecode && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif uudecode
  
--- 24301,24312 ----
  maybe-install-uudecode: install-uudecode
  
  install-uudecode: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/uudecode && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif uudecode
  
*************** maybe-info-uudecode: info-uudecode
*** 21090,21105 ****
  
  info-uudecode: \
      configure-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24319,24334 ----
  
  info-uudecode: \
      configure-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-uudecode: dvi-uudecode
*** 21116,21131 ****
  
  dvi-uudecode: \
      configure-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24345,24360 ----
  
  dvi-uudecode: \
      configure-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-uudecode: html-uudecode
*** 21142,21157 ****
  
  html-uudecode: \
      configure-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24371,24386 ----
  
  html-uudecode: \
      configure-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-uudecode: TAGS-uudecode
*** 21168,21183 ****
  
  TAGS-uudecode: \
      configure-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24397,24412 ----
  
  TAGS-uudecode: \
      configure-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-uudecode: install-inf
*** 21195,21210 ****
  install-info-uudecode: \
      configure-uudecode \
      info-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24424,24439 ----
  install-info-uudecode: \
      configure-uudecode \
      info-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-uudecode: installchec
*** 21221,21236 ****
  
  installcheck-uudecode: \
      configure-uudecode 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24450,24465 ----
  
  installcheck-uudecode: \
      configure-uudecode 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-uudecode:
*** 21246,21261 ****
  maybe-mostlyclean-uudecode: mostlyclean-uudecode
  
  mostlyclean-uudecode: 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24475,24490 ----
  maybe-mostlyclean-uudecode: mostlyclean-uudecode
  
  mostlyclean-uudecode: 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-uudecode:
*** 21271,21286 ****
  maybe-clean-uudecode: clean-uudecode
  
  clean-uudecode: 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24500,24515 ----
  maybe-clean-uudecode: clean-uudecode
  
  clean-uudecode: 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-uudecode:
*** 21296,21311 ****
  maybe-distclean-uudecode: distclean-uudecode
  
  distclean-uudecode: 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24525,24540 ----
  maybe-distclean-uudecode: distclean-uudecode
  
  distclean-uudecode: 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-uudecode:
*** 21321,21336 ****
  maybe-maintainer-clean-uudecode: maintainer-clean-uudecode
  
  maintainer-clean-uudecode: 
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in uudecode" ; \
! 	(cd uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24550,24565 ----
  maybe-maintainer-clean-uudecode: maintainer-clean-uudecode
  
  maintainer-clean-uudecode: 
+ 	@$(unstage)
  	@[ -f ./uudecode/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in uudecode" ; \
! 	(cd $(HOST_SUBDIR)/uudecode && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-uudecode: 
*** 21341,21399 ****
  @endif uudecode
  
  
  .PHONY: configure-wdiff maybe-configure-wdiff
  maybe-configure-wdiff:
  @if wdiff
  maybe-configure-wdiff: configure-wdiff
! configure-wdiff:
! 	@test ! -f wdiff/Makefile || exit 0; \
! 	[ -d wdiff ] || mkdir wdiff; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in wdiff; \
! 	cd wdiff || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/wdiff"; \
! 	    libsrcdir="$$s/wdiff";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/wdiff"; \
! 	    libsrcdir="$$s/wdiff";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif wdiff
  
  .PHONY: all-wdiff maybe-all-wdiff
  maybe-all-wdiff:
  @if wdiff
  TARGET-wdiff=all
  maybe-all-wdiff: all-wdiff
  all-wdiff: configure-wdiff
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd wdiff && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-wdiff))
  @endif wdiff
  
  .PHONY: check-wdiff maybe-check-wdiff
  maybe-check-wdiff:
  @if wdiff
  maybe-check-wdiff: check-wdiff
  
  check-wdiff:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd wdiff && $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif wdiff
  
--- 24570,24634 ----
  @endif uudecode
  
  
+ 
  .PHONY: configure-wdiff maybe-configure-wdiff
  maybe-configure-wdiff:
  @if wdiff
  maybe-configure-wdiff: configure-wdiff
! configure-wdiff: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/wdiff/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/wdiff ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/wdiff; \
! 	cd "$(HOST_SUBDIR)/wdiff" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/wdiff/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/wdiff"; \
+ 	libsrcdir="$$s/wdiff"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif wdiff
  
+ 
+ 
+ 
+ 
  .PHONY: all-wdiff maybe-all-wdiff
  maybe-all-wdiff:
  @if wdiff
  TARGET-wdiff=all
  maybe-all-wdiff: all-wdiff
  all-wdiff: configure-wdiff
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/wdiff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-wdiff))
  @endif wdiff
  
+ 
+ 
+ 
  .PHONY: check-wdiff maybe-check-wdiff
  maybe-check-wdiff:
  @if wdiff
  maybe-check-wdiff: check-wdiff
  
  check-wdiff:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/wdiff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  check)
  
  @endif wdiff
  
*************** maybe-install-wdiff:
*** 21403,21413 ****
  maybe-install-wdiff: install-wdiff
  
  install-wdiff: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd wdiff && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif wdiff
  
--- 24638,24649 ----
  maybe-install-wdiff: install-wdiff
  
  install-wdiff: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/wdiff && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif wdiff
  
*************** maybe-info-wdiff: info-wdiff
*** 21420,21435 ****
  
  info-wdiff: \
      configure-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24656,24671 ----
  
  info-wdiff: \
      configure-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-wdiff: dvi-wdiff
*** 21446,21461 ****
  
  dvi-wdiff: \
      configure-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24682,24697 ----
  
  dvi-wdiff: \
      configure-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-wdiff: html-wdiff
*** 21472,21487 ****
  
  html-wdiff: \
      configure-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24708,24723 ----
  
  html-wdiff: \
      configure-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-wdiff: TAGS-wdiff
*** 21498,21513 ****
  
  TAGS-wdiff: \
      configure-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24734,24749 ----
  
  TAGS-wdiff: \
      configure-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-wdiff: install-info-w
*** 21525,21540 ****
  install-info-wdiff: \
      configure-wdiff \
      info-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24761,24776 ----
  install-info-wdiff: \
      configure-wdiff \
      info-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-wdiff: installcheck-w
*** 21551,21566 ****
  
  installcheck-wdiff: \
      configure-wdiff 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24787,24802 ----
  
  installcheck-wdiff: \
      configure-wdiff 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-wdiff:
*** 21576,21591 ****
  maybe-mostlyclean-wdiff: mostlyclean-wdiff
  
  mostlyclean-wdiff: 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24812,24827 ----
  maybe-mostlyclean-wdiff: mostlyclean-wdiff
  
  mostlyclean-wdiff: 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-wdiff:
*** 21601,21616 ****
  maybe-clean-wdiff: clean-wdiff
  
  clean-wdiff: 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24837,24852 ----
  maybe-clean-wdiff: clean-wdiff
  
  clean-wdiff: 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-wdiff:
*** 21626,21641 ****
  maybe-distclean-wdiff: distclean-wdiff
  
  distclean-wdiff: 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24862,24877 ----
  maybe-distclean-wdiff: distclean-wdiff
  
  distclean-wdiff: 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-wdiff:
*** 21651,21666 ****
  maybe-maintainer-clean-wdiff: maintainer-clean-wdiff
  
  maintainer-clean-wdiff: 
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in wdiff" ; \
! 	(cd wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24887,24902 ----
  maybe-maintainer-clean-wdiff: maintainer-clean-wdiff
  
  maintainer-clean-wdiff: 
+ 	@$(unstage)
  	@[ -f ./wdiff/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in wdiff" ; \
! 	(cd $(HOST_SUBDIR)/wdiff && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-wdiff: 
*** 21671,21718 ****
  @endif wdiff
  
  
  .PHONY: configure-zip maybe-configure-zip
  maybe-configure-zip:
  @if zip
  maybe-configure-zip: configure-zip
! configure-zip:
! 	@test ! -f zip/Makefile || exit 0; \
! 	[ -d zip ] || mkdir zip; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in zip; \
! 	cd zip || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/zip"; \
! 	    libsrcdir="$$s/zip";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/zip"; \
! 	    libsrcdir="$$s/zip";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif zip
  
  .PHONY: all-zip maybe-all-zip
  maybe-all-zip:
  @if zip
  TARGET-zip=all
  maybe-all-zip: all-zip
  all-zip: configure-zip
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd zip && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-zip))
  @endif zip
  
  .PHONY: check-zip maybe-check-zip
  maybe-check-zip:
  @if zip
--- 24907,24959 ----
  @endif wdiff
  
  
+ 
  .PHONY: configure-zip maybe-configure-zip
  maybe-configure-zip:
  @if zip
  maybe-configure-zip: configure-zip
! configure-zip: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/zip/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zip ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/zip; \
! 	cd "$(HOST_SUBDIR)/zip" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/zip/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zip"; \
+ 	libsrcdir="$$s/zip"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif zip
  
+ 
+ 
+ 
+ 
  .PHONY: all-zip maybe-all-zip
  maybe-all-zip:
  @if zip
  TARGET-zip=all
  maybe-all-zip: all-zip
  all-zip: configure-zip
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/zip && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zip))
  @endif zip
  
+ 
+ 
+ 
  .PHONY: check-zip maybe-check-zip
  maybe-check-zip:
  @if zip
*************** maybe-check-zip: check-zip
*** 21720,21731 ****
  
  # This module is only tested in a native toolchain.
  check-zip:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd zip && $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif zip
--- 24961,24973 ----
  
  # This module is only tested in a native toolchain.
  check-zip:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/zip && \
! 	    $(MAKE) $(FLAGS_TO_PASS)  check); \
  	fi
  
  @endif zip
*************** maybe-install-zip:
*** 21736,21746 ****
  maybe-install-zip: install-zip
  
  install-zip: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd zip && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif zip
  
--- 24978,24989 ----
  maybe-install-zip: install-zip
  
  install-zip: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/zip && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif zip
  
*************** maybe-info-zip: info-zip
*** 21753,21768 ****
  
  info-zip: \
      configure-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 24996,25011 ----
  
  info-zip: \
      configure-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-zip: dvi-zip
*** 21779,21794 ****
  
  dvi-zip: \
      configure-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25022,25037 ----
  
  dvi-zip: \
      configure-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-zip: html-zip
*** 21805,21820 ****
  
  html-zip: \
      configure-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25048,25063 ----
  
  html-zip: \
      configure-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-zip: TAGS-zip
*** 21831,21846 ****
  
  TAGS-zip: \
      configure-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25074,25089 ----
  
  TAGS-zip: \
      configure-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-zip: install-info-zip
*** 21858,21873 ****
  install-info-zip: \
      configure-zip \
      info-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25101,25116 ----
  install-info-zip: \
      configure-zip \
      info-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-zip: installcheck-zip
*** 21884,21899 ****
  
  installcheck-zip: \
      configure-zip 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25127,25142 ----
  
  installcheck-zip: \
      configure-zip 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-zip:
*** 21909,21924 ****
  maybe-mostlyclean-zip: mostlyclean-zip
  
  mostlyclean-zip: 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25152,25167 ----
  maybe-mostlyclean-zip: mostlyclean-zip
  
  mostlyclean-zip: 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-zip:
*** 21934,21949 ****
  maybe-clean-zip: clean-zip
  
  clean-zip: 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25177,25192 ----
  maybe-clean-zip: clean-zip
  
  clean-zip: 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-zip:
*** 21959,21974 ****
  maybe-distclean-zip: distclean-zip
  
  distclean-zip: 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25202,25217 ----
  maybe-distclean-zip: distclean-zip
  
  distclean-zip: 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-zip:
*** 21984,21999 ****
  maybe-maintainer-clean-zip: maintainer-clean-zip
  
  maintainer-clean-zip: 
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in zip" ; \
! 	(cd zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25227,25242 ----
  maybe-maintainer-clean-zip: maintainer-clean-zip
  
  maintainer-clean-zip: 
+ 	@$(unstage)
  	@[ -f ./zip/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in zip" ; \
! 	(cd $(HOST_SUBDIR)/zip && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-zip: 
*** 22004,22038 ****
  @endif zip
  
  
  .PHONY: configure-zlib maybe-configure-zlib
  maybe-configure-zlib:
  @if zlib
  maybe-configure-zlib: configure-zlib
! configure-zlib:
  	@test -f stage_last && exit 0; \
! 	test ! -f zlib/Makefile || exit 0; \
! 	[ -d zlib ] || mkdir zlib; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in zlib; \
! 	cd zlib || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
! 	    libsrcdir="$$s/zlib";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
! 	    libsrcdir="$$s/zlib";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif zlib
  
  .PHONY: all-zlib maybe-all-zlib
  maybe-all-zlib:
  @if zlib
--- 25247,25433 ----
  @endif zip
  
  
+ 
  .PHONY: configure-zlib maybe-configure-zlib
  maybe-configure-zlib:
  @if zlib
  maybe-configure-zlib: configure-zlib
! configure-zlib: 
  	@test -f stage_last && exit 0; \
! 	test ! -f $(HOST_SUBDIR)/zlib/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/zlib ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/zlib; \
! 	cd "$(HOST_SUBDIR)/zlib" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif zlib
  
+ 
+ 
+ .PHONY: configure-stage1-zlib maybe-configure-stage1-zlib
+ maybe-configure-stage1-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stage1-zlib: configure-stage1-zlib
+ configure-stage1-zlib: 
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring stage 1 in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
+ @endif zlib-bootstrap
+ 
+ .PHONY: configure-stage2-zlib maybe-configure-stage2-zlib
+ maybe-configure-stage2-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stage2-zlib: configure-stage2-zlib
+ configure-stage2-zlib: 
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 2 in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif zlib-bootstrap
+ 
+ .PHONY: configure-stage3-zlib maybe-configure-stage3-zlib
+ maybe-configure-stage3-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stage3-zlib: configure-stage3-zlib
+ configure-stage3-zlib: 
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 3 in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif zlib-bootstrap
+ 
+ .PHONY: configure-stage4-zlib maybe-configure-stage4-zlib
+ maybe-configure-stage4-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stage4-zlib: configure-stage4-zlib
+ configure-stage4-zlib: 
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage 4 in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif zlib-bootstrap
+ 
+ .PHONY: configure-stageprofile-zlib maybe-configure-stageprofile-zlib
+ maybe-configure-stageprofile-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stageprofile-zlib: configure-stageprofile-zlib
+ configure-stageprofile-zlib: 
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage profile in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif zlib-bootstrap
+ 
+ .PHONY: configure-stagefeedback-zlib maybe-configure-stagefeedback-zlib
+ maybe-configure-stagefeedback-zlib:
+ @if zlib-bootstrap
+ maybe-configure-stagefeedback-zlib: configure-stagefeedback-zlib
+ configure-stagefeedback-zlib: 
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] && exit 0 || : ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	echo Configuring stage feedback in $(HOST_SUBDIR)/zlib ; \
+ 	cd $(HOST_SUBDIR)/zlib || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/zlib/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/zlib"; \
+ 	libsrcdir="$$s/zlib"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption} \
+ 	  @stage2_werror_flag@ 
+ @endif zlib-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: all-zlib maybe-all-zlib
  maybe-all-zlib:
  @if zlib
*************** all-zlib: configure-zlib
*** 22042,22053 ****
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd zlib && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-zlib))
  @endif zlib
  
  .PHONY: check-zlib maybe-check-zlib
  maybe-check-zlib:
  @if zlib
--- 25437,25636 ----
  	@test -f stage_last && exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/zlib && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-zlib))
  @endif zlib
  
+ 
+ 
+ .PHONY: all-stage1-zlib maybe-all-stage1-zlib
+ .PHONY: clean-stage1-zlib maybe-clean-stage1-zlib
+ maybe-all-stage1-zlib:
+ maybe-clean-stage1-zlib:
+ @if zlib-bootstrap
+ maybe-all-stage1-zlib: all-stage1-zlib
+ all-stage1: all-stage1-zlib
+ TARGET-stage1-zlib = $(TARGET-zlib)
+ all-stage1-zlib: configure-stage1-zlib
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  CFLAGS="$(STAGE1_CFLAGS)"  \
+ 		$(TARGET-stage1-zlib)
+ 
+ maybe-clean-stage1-zlib: clean-stage1-zlib
+ clean-stage1: clean-stage1-zlib
+ clean-stage1-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stage1-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage1 ] || $(MAKE) stage1-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		CFLAGS="$(STAGE1_CFLAGS)"  clean
+ @endif zlib-bootstrap
+ 
+ 
+ .PHONY: all-stage2-zlib maybe-all-stage2-zlib
+ .PHONY: clean-stage2-zlib maybe-clean-stage2-zlib
+ maybe-all-stage2-zlib:
+ maybe-clean-stage2-zlib:
+ @if zlib-bootstrap
+ maybe-all-stage2-zlib: all-stage2-zlib
+ all-stage2: all-stage2-zlib
+ TARGET-stage2-zlib = $(TARGET-zlib)
+ all-stage2-zlib: configure-stage2-zlib
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage2-zlib)
+ 
+ maybe-clean-stage2-zlib: clean-stage2-zlib
+ clean-stage2: clean-stage2-zlib
+ clean-stage2-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stage2-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage2 ] || $(MAKE) stage2-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif zlib-bootstrap
+ 
+ 
+ .PHONY: all-stage3-zlib maybe-all-stage3-zlib
+ .PHONY: clean-stage3-zlib maybe-clean-stage3-zlib
+ maybe-all-stage3-zlib:
+ maybe-clean-stage3-zlib:
+ @if zlib-bootstrap
+ maybe-all-stage3-zlib: all-stage3-zlib
+ all-stage3: all-stage3-zlib
+ TARGET-stage3-zlib = $(TARGET-zlib)
+ all-stage3-zlib: configure-stage3-zlib
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage3-zlib)
+ 
+ maybe-clean-stage3-zlib: clean-stage3-zlib
+ clean-stage3: clean-stage3-zlib
+ clean-stage3-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stage3-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage3 ] || $(MAKE) stage3-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif zlib-bootstrap
+ 
+ 
+ .PHONY: all-stage4-zlib maybe-all-stage4-zlib
+ .PHONY: clean-stage4-zlib maybe-clean-stage4-zlib
+ maybe-all-stage4-zlib:
+ maybe-clean-stage4-zlib:
+ @if zlib-bootstrap
+ maybe-all-stage4-zlib: all-stage4-zlib
+ all-stage4: all-stage4-zlib
+ TARGET-stage4-zlib = $(TARGET-zlib)
+ all-stage4-zlib: configure-stage4-zlib
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS)   \
+ 		$(TARGET-stage4-zlib)
+ 
+ maybe-clean-stage4-zlib: clean-stage4-zlib
+ clean-stage4: clean-stage4-zlib
+ clean-stage4-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stage4-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stage4 ] || $(MAKE) stage4-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		  clean
+ @endif zlib-bootstrap
+ 
+ 
+ .PHONY: all-stageprofile-zlib maybe-all-stageprofile-zlib
+ .PHONY: clean-stageprofile-zlib maybe-clean-stageprofile-zlib
+ maybe-all-stageprofile-zlib:
+ maybe-clean-stageprofile-zlib:
+ @if zlib-bootstrap
+ maybe-all-stageprofile-zlib: all-stageprofile-zlib
+ all-stageprofile: all-stageprofile-zlib
+ TARGET-stageprofile-zlib = $(TARGET-zlib)
+ all-stageprofile-zlib: configure-stageprofile-zlib
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  \
+ 		$(TARGET-stageprofile-zlib)
+ 
+ maybe-clean-stageprofile-zlib: clean-stageprofile-zlib
+ clean-stageprofile: clean-stageprofile-zlib
+ clean-stageprofile-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stageprofile-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stageprofile ] || $(MAKE) stageprofile-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
+ @endif zlib-bootstrap
+ 
+ 
+ .PHONY: all-stagefeedback-zlib maybe-all-stagefeedback-zlib
+ .PHONY: clean-stagefeedback-zlib maybe-clean-stagefeedback-zlib
+ maybe-all-stagefeedback-zlib:
+ maybe-clean-stagefeedback-zlib:
+ @if zlib-bootstrap
+ maybe-all-stagefeedback-zlib: all-stagefeedback-zlib
+ all-stagefeedback: all-stagefeedback-zlib
+ TARGET-stagefeedback-zlib = $(TARGET-zlib)
+ all-stagefeedback-zlib: configure-stagefeedback-zlib
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	$(POSTSTAGE1_HOST_EXPORTS) \
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS) $(POSTSTAGE1_FLAGS_TO_PASS) CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  \
+ 		$(TARGET-stagefeedback-zlib)
+ 
+ maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib
+ clean-stagefeedback: clean-stagefeedback-zlib
+ clean-stagefeedback-zlib:
+ 	@[ -f $(HOST_SUBDIR)/zlib/Makefile ] || [ -f $(HOST_SUBDIR)/stagefeedback-zlib/Makefile ] \
+ 	  || exit 0 ; \
+ 	@[ `cat stage_current` = stagefeedback ] || $(MAKE) stagefeedback-start
+ 	cd $(HOST_SUBDIR)/zlib && \
+ 	$(MAKE) $(FLAGS_TO_PASS)  \
+ 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
+ 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
+ @endif zlib-bootstrap
+ 
+ 
+ 
+ 
+ 
  .PHONY: check-zlib maybe-check-zlib
  maybe-check-zlib:
  @if zlib
*************** info-zlib: \
*** 22078,22090 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25661,25672 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** dvi-zlib: \
*** 22104,22116 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25686,25697 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** html-zlib: \
*** 22130,22142 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25711,25722 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** TAGS-zlib: \
*** 22156,22168 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25736,25747 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** install-info-zlib: \
*** 22183,22195 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25762,25773 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** installcheck-zlib: \
*** 22209,22221 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25787,25798 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** mostlyclean-zlib: 
*** 22234,22246 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25811,25822 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** clean-zlib: 
*** 22259,22271 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25835,25846 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** distclean-zlib: 
*** 22284,22296 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25859,25870 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-zlib: 
*** 22309,22321 ****
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in zlib" ; \
! 	(cd zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25883,25894 ----
  	@[ -f ./zlib/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in zlib" ; \
! 	(cd $(HOST_SUBDIR)/zlib && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-zlib: 
*** 22326,22384 ****
  @endif zlib
  
  
  .PHONY: configure-gdb maybe-configure-gdb
  maybe-configure-gdb:
  @if gdb
  maybe-configure-gdb: configure-gdb
! configure-gdb:
! 	@test ! -f gdb/Makefile || exit 0; \
! 	[ -d gdb ] || mkdir gdb; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in gdb; \
! 	cd gdb || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/gdb"; \
! 	    libsrcdir="$$s/gdb";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/gdb"; \
! 	    libsrcdir="$$s/gdb";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gdb
  
  .PHONY: all-gdb maybe-all-gdb
  maybe-all-gdb:
  @if gdb
  TARGET-gdb=all
  maybe-all-gdb: all-gdb
  all-gdb: configure-gdb
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
! 	  $(TARGET-gdb))
  @endif gdb
  
  .PHONY: check-gdb maybe-check-gdb
  maybe-check-gdb:
  @if gdb
  maybe-check-gdb: check-gdb
  
  check-gdb:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif gdb
  
--- 25899,25963 ----
  @endif zlib
  
  
+ 
  .PHONY: configure-gdb maybe-configure-gdb
  maybe-configure-gdb:
  @if gdb
  maybe-configure-gdb: configure-gdb
! configure-gdb: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/gdb/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gdb ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/gdb; \
! 	cd "$(HOST_SUBDIR)/gdb" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/gdb/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gdb"; \
+ 	libsrcdir="$$s/gdb"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif gdb
  
+ 
+ 
+ 
+ 
  .PHONY: all-gdb maybe-all-gdb
  maybe-all-gdb:
  @if gdb
  TARGET-gdb=all
  maybe-all-gdb: all-gdb
  all-gdb: configure-gdb
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gdb && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-gdb))
  @endif gdb
  
+ 
+ 
+ 
  .PHONY: check-gdb maybe-check-gdb
  maybe-check-gdb:
  @if gdb
  maybe-check-gdb: check-gdb
  
  check-gdb:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gdb && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif gdb
  
*************** maybe-install-gdb:
*** 22388,22398 ****
  maybe-install-gdb: install-gdb
  
  install-gdb: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd gdb && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif gdb
  
--- 25967,25978 ----
  maybe-install-gdb: install-gdb
  
  install-gdb: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/gdb && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif gdb
  
*************** maybe-info-gdb: info-gdb
*** 22405,22420 ****
  
  info-gdb: \
      configure-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 25985,26000 ----
  
  info-gdb: \
      configure-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-gdb: dvi-gdb
*** 22431,22446 ****
  
  dvi-gdb: \
      configure-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26011,26026 ----
  
  dvi-gdb: \
      configure-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-gdb: html-gdb
*** 22457,22472 ****
  
  html-gdb: \
      configure-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26037,26052 ----
  
  html-gdb: \
      configure-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-gdb: TAGS-gdb
*** 22483,22498 ****
  
  TAGS-gdb: \
      configure-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26063,26078 ----
  
  TAGS-gdb: \
      configure-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-gdb: install-info-gdb
*** 22510,22525 ****
  install-info-gdb: \
      configure-gdb \
      info-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26090,26105 ----
  install-info-gdb: \
      configure-gdb \
      info-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-gdb: installcheck-gdb
*** 22536,22551 ****
  
  installcheck-gdb: \
      configure-gdb 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26116,26131 ----
  
  installcheck-gdb: \
      configure-gdb 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-gdb:
*** 22561,22576 ****
  maybe-mostlyclean-gdb: mostlyclean-gdb
  
  mostlyclean-gdb: 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26141,26156 ----
  maybe-mostlyclean-gdb: mostlyclean-gdb
  
  mostlyclean-gdb: 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-gdb:
*** 22586,22601 ****
  maybe-clean-gdb: clean-gdb
  
  clean-gdb: 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26166,26181 ----
  maybe-clean-gdb: clean-gdb
  
  clean-gdb: 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-gdb:
*** 22611,22626 ****
  maybe-distclean-gdb: distclean-gdb
  
  distclean-gdb: 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26191,26206 ----
  maybe-distclean-gdb: distclean-gdb
  
  distclean-gdb: 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-gdb:
*** 22636,22651 ****
  maybe-maintainer-clean-gdb: maintainer-clean-gdb
  
  maintainer-clean-gdb: 
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gdb" ; \
! 	(cd gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26216,26231 ----
  maybe-maintainer-clean-gdb: maintainer-clean-gdb
  
  maintainer-clean-gdb: 
+ 	@$(unstage)
  	@[ -f ./gdb/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in gdb" ; \
! 	(cd $(HOST_SUBDIR)/gdb && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-gdb: 
*** 22656,22714 ****
  @endif gdb
  
  
  .PHONY: configure-expect maybe-configure-expect
  maybe-configure-expect:
  @if expect
  maybe-configure-expect: configure-expect
! configure-expect:
! 	@test ! -f expect/Makefile || exit 0; \
! 	[ -d expect ] || mkdir expect; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in expect; \
! 	cd expect || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/expect"; \
! 	    libsrcdir="$$s/expect";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/expect"; \
! 	    libsrcdir="$$s/expect";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif expect
  
  .PHONY: all-expect maybe-all-expect
  maybe-all-expect:
  @if expect
  TARGET-expect=all
  maybe-all-expect: all-expect
  all-expect: configure-expect
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
! 	  $(TARGET-expect))
  @endif expect
  
  .PHONY: check-expect maybe-check-expect
  maybe-check-expect:
  @if expect
  maybe-check-expect: check-expect
  
  check-expect:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif expect
  
--- 26236,26300 ----
  @endif gdb
  
  
+ 
  .PHONY: configure-expect maybe-configure-expect
  maybe-configure-expect:
  @if expect
  maybe-configure-expect: configure-expect
! configure-expect: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/expect/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/expect ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/expect; \
! 	cd "$(HOST_SUBDIR)/expect" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/expect/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/expect"; \
+ 	libsrcdir="$$s/expect"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif expect
  
+ 
+ 
+ 
+ 
  .PHONY: all-expect maybe-all-expect
  maybe-all-expect:
  @if expect
  TARGET-expect=all
  maybe-all-expect: all-expect
  all-expect: configure-expect
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/expect && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-expect))
  @endif expect
  
+ 
+ 
+ 
  .PHONY: check-expect maybe-check-expect
  maybe-check-expect:
  @if expect
  maybe-check-expect: check-expect
  
  check-expect:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/expect && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif expect
  
*************** maybe-install-expect:
*** 22718,22728 ****
  maybe-install-expect: install-expect
  
  install-expect: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd expect && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif expect
  
--- 26304,26315 ----
  maybe-install-expect: install-expect
  
  install-expect: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/expect && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif expect
  
*************** maybe-info-expect: info-expect
*** 22735,22750 ****
  
  info-expect: \
      configure-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26322,26337 ----
  
  info-expect: \
      configure-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-expect: dvi-expect
*** 22761,22776 ****
  
  dvi-expect: \
      configure-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26348,26363 ----
  
  dvi-expect: \
      configure-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-expect: html-expect
*** 22787,22802 ****
  
  html-expect: \
      configure-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26374,26389 ----
  
  html-expect: \
      configure-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-expect: TAGS-expect
*** 22813,22828 ****
  
  TAGS-expect: \
      configure-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26400,26415 ----
  
  TAGS-expect: \
      configure-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-expect: install-info-
*** 22840,22855 ****
  install-info-expect: \
      configure-expect \
      info-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26427,26442 ----
  install-info-expect: \
      configure-expect \
      info-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-expect: installcheck-
*** 22866,22881 ****
  
  installcheck-expect: \
      configure-expect 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26453,26468 ----
  
  installcheck-expect: \
      configure-expect 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-expect:
*** 22891,22906 ****
  maybe-mostlyclean-expect: mostlyclean-expect
  
  mostlyclean-expect: 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26478,26493 ----
  maybe-mostlyclean-expect: mostlyclean-expect
  
  mostlyclean-expect: 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-expect:
*** 22916,22931 ****
  maybe-clean-expect: clean-expect
  
  clean-expect: 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26503,26518 ----
  maybe-clean-expect: clean-expect
  
  clean-expect: 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-expect:
*** 22941,22956 ****
  maybe-distclean-expect: distclean-expect
  
  distclean-expect: 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26528,26543 ----
  maybe-distclean-expect: distclean-expect
  
  distclean-expect: 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-expect:
*** 22966,22981 ****
  maybe-maintainer-clean-expect: maintainer-clean-expect
  
  maintainer-clean-expect: 
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in expect" ; \
! 	(cd expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26553,26568 ----
  maybe-maintainer-clean-expect: maintainer-clean-expect
  
  maintainer-clean-expect: 
+ 	@$(unstage)
  	@[ -f ./expect/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in expect" ; \
! 	(cd $(HOST_SUBDIR)/expect && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-expect: 
*** 22986,23044 ****
  @endif expect
  
  
  .PHONY: configure-guile maybe-configure-guile
  maybe-configure-guile:
  @if guile
  maybe-configure-guile: configure-guile
! configure-guile:
! 	@test ! -f guile/Makefile || exit 0; \
! 	[ -d guile ] || mkdir guile; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in guile; \
! 	cd guile || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/guile"; \
! 	    libsrcdir="$$s/guile";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/guile"; \
! 	    libsrcdir="$$s/guile";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif guile
  
  .PHONY: all-guile maybe-all-guile
  maybe-all-guile:
  @if guile
  TARGET-guile=all
  maybe-all-guile: all-guile
  all-guile: configure-guile
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
! 	  $(TARGET-guile))
  @endif guile
  
  .PHONY: check-guile maybe-check-guile
  maybe-check-guile:
  @if guile
  maybe-check-guile: check-guile
  
  check-guile:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif guile
  
--- 26573,26637 ----
  @endif expect
  
  
+ 
  .PHONY: configure-guile maybe-configure-guile
  maybe-configure-guile:
  @if guile
  maybe-configure-guile: configure-guile
! configure-guile: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/guile/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/guile ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/guile; \
! 	cd "$(HOST_SUBDIR)/guile" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/guile/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/guile"; \
+ 	libsrcdir="$$s/guile"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif guile
  
+ 
+ 
+ 
+ 
  .PHONY: all-guile maybe-all-guile
  maybe-all-guile:
  @if guile
  TARGET-guile=all
  maybe-all-guile: all-guile
  all-guile: configure-guile
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/guile && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-guile))
  @endif guile
  
+ 
+ 
+ 
  .PHONY: check-guile maybe-check-guile
  maybe-check-guile:
  @if guile
  maybe-check-guile: check-guile
  
  check-guile:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/guile && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif guile
  
*************** maybe-install-guile:
*** 23048,23058 ****
  maybe-install-guile: install-guile
  
  install-guile: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd guile && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif guile
  
--- 26641,26652 ----
  maybe-install-guile: install-guile
  
  install-guile: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/guile && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif guile
  
*************** maybe-info-guile: info-guile
*** 23065,23080 ****
  
  info-guile: \
      configure-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26659,26674 ----
  
  info-guile: \
      configure-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-guile: dvi-guile
*** 23091,23106 ****
  
  dvi-guile: \
      configure-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26685,26700 ----
  
  dvi-guile: \
      configure-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-guile: html-guile
*** 23117,23132 ****
  
  html-guile: \
      configure-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26711,26726 ----
  
  html-guile: \
      configure-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-guile: TAGS-guile
*** 23143,23158 ****
  
  TAGS-guile: \
      configure-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26737,26752 ----
  
  TAGS-guile: \
      configure-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-guile: install-info-g
*** 23170,23185 ****
  install-info-guile: \
      configure-guile \
      info-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26764,26779 ----
  install-info-guile: \
      configure-guile \
      info-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-guile: installcheck-g
*** 23196,23211 ****
  
  installcheck-guile: \
      configure-guile 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26790,26805 ----
  
  installcheck-guile: \
      configure-guile 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-guile:
*** 23221,23236 ****
  maybe-mostlyclean-guile: mostlyclean-guile
  
  mostlyclean-guile: 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26815,26830 ----
  maybe-mostlyclean-guile: mostlyclean-guile
  
  mostlyclean-guile: 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-guile:
*** 23246,23261 ****
  maybe-clean-guile: clean-guile
  
  clean-guile: 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26840,26855 ----
  maybe-clean-guile: clean-guile
  
  clean-guile: 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-guile:
*** 23271,23286 ****
  maybe-distclean-guile: distclean-guile
  
  distclean-guile: 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26865,26880 ----
  maybe-distclean-guile: distclean-guile
  
  distclean-guile: 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-guile:
*** 23296,23311 ****
  maybe-maintainer-clean-guile: maintainer-clean-guile
  
  maintainer-clean-guile: 
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in guile" ; \
! 	(cd guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26890,26905 ----
  maybe-maintainer-clean-guile: maintainer-clean-guile
  
  maintainer-clean-guile: 
+ 	@$(unstage)
  	@[ -f ./guile/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in guile" ; \
! 	(cd $(HOST_SUBDIR)/guile && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-guile: 
*** 23316,23374 ****
  @endif guile
  
  
  .PHONY: configure-tk maybe-configure-tk
  maybe-configure-tk:
  @if tk
  maybe-configure-tk: configure-tk
! configure-tk:
! 	@test ! -f tk/Makefile || exit 0; \
! 	[ -d tk ] || mkdir tk; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in tk; \
! 	cd tk || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/tk"; \
! 	    libsrcdir="$$s/tk";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/tk"; \
! 	    libsrcdir="$$s/tk";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tk
  
  .PHONY: all-tk maybe-all-tk
  maybe-all-tk:
  @if tk
  TARGET-tk=all
  maybe-all-tk: all-tk
  all-tk: configure-tk
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) \
! 	  $(TARGET-tk))
  @endif tk
  
  .PHONY: check-tk maybe-check-tk
  maybe-check-tk:
  @if tk
  maybe-check-tk: check-tk
  
  check-tk:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif tk
  
--- 26910,26974 ----
  @endif guile
  
  
+ 
  .PHONY: configure-tk maybe-configure-tk
  maybe-configure-tk:
  @if tk
  maybe-configure-tk: configure-tk
! configure-tk: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/tk/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/tk ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/tk; \
! 	cd "$(HOST_SUBDIR)/tk" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/tk/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/tk"; \
+ 	libsrcdir="$$s/tk"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif tk
  
+ 
+ 
+ 
+ 
  .PHONY: all-tk maybe-all-tk
  maybe-all-tk:
  @if tk
  TARGET-tk=all
  maybe-all-tk: all-tk
  all-tk: configure-tk
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tk && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) $(TARGET-tk))
  @endif tk
  
+ 
+ 
+ 
  .PHONY: check-tk maybe-check-tk
  maybe-check-tk:
  @if tk
  maybe-check-tk: check-tk
  
  check-tk:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tk && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) check)
  
  @endif tk
  
*************** maybe-install-tk:
*** 23378,23388 ****
  maybe-install-tk: install-tk
  
  install-tk: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd tk && $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif tk
  
--- 26978,26989 ----
  maybe-install-tk: install-tk
  
  install-tk: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/tk && \
! 	  $(MAKE) $(FLAGS_TO_PASS) $(X11_FLAGS_TO_PASS) install)
  
  @endif tk
  
*************** maybe-info-tk: info-tk
*** 23395,23410 ****
  
  info-tk: \
      configure-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 26996,27011 ----
  
  info-tk: \
      configure-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-tk: dvi-tk
*** 23421,23436 ****
  
  dvi-tk: \
      configure-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27022,27037 ----
  
  dvi-tk: \
      configure-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-tk: html-tk
*** 23447,23462 ****
  
  html-tk: \
      configure-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27048,27063 ----
  
  html-tk: \
      configure-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-tk: TAGS-tk
*** 23473,23488 ****
  
  TAGS-tk: \
      configure-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27074,27089 ----
  
  TAGS-tk: \
      configure-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-tk: install-info-tk
*** 23500,23515 ****
  install-info-tk: \
      configure-tk \
      info-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27101,27116 ----
  install-info-tk: \
      configure-tk \
      info-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-tk: installcheck-tk
*** 23526,23541 ****
  
  installcheck-tk: \
      configure-tk 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27127,27142 ----
  
  installcheck-tk: \
      configure-tk 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-tk:
*** 23551,23566 ****
  maybe-mostlyclean-tk: mostlyclean-tk
  
  mostlyclean-tk: 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27152,27167 ----
  maybe-mostlyclean-tk: mostlyclean-tk
  
  mostlyclean-tk: 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-tk:
*** 23576,23591 ****
  maybe-clean-tk: clean-tk
  
  clean-tk: 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27177,27192 ----
  maybe-clean-tk: clean-tk
  
  clean-tk: 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-tk:
*** 23601,23616 ****
  maybe-distclean-tk: distclean-tk
  
  distclean-tk: 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27202,27217 ----
  maybe-distclean-tk: distclean-tk
  
  distclean-tk: 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-tk:
*** 23626,23641 ****
  maybe-maintainer-clean-tk: maintainer-clean-tk
  
  maintainer-clean-tk: 
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tk" ; \
! 	(cd tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27227,27242 ----
  maybe-maintainer-clean-tk: maintainer-clean-tk
  
  maintainer-clean-tk: 
+ 	@$(unstage)
  	@[ -f ./tk/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) $(X11_FLAGS_TO_PASS); do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in tk" ; \
! 	(cd $(HOST_SUBDIR)/tk && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-tk: 
*** 23646,23693 ****
  @endif tk
  
  
  .PHONY: configure-libtermcap maybe-configure-libtermcap
  maybe-configure-libtermcap:
  @if libtermcap
  maybe-configure-libtermcap: configure-libtermcap
! configure-libtermcap:
! 	@test ! -f libtermcap/Makefile || exit 0; \
! 	[ -d libtermcap ] || mkdir libtermcap; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in libtermcap; \
! 	cd libtermcap || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libtermcap"; \
! 	    libsrcdir="$$s/libtermcap";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libtermcap"; \
! 	    libsrcdir="$$s/libtermcap";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libtermcap
  
  .PHONY: all-libtermcap maybe-all-libtermcap
  maybe-all-libtermcap:
  @if libtermcap
  TARGET-libtermcap=all
  maybe-all-libtermcap: all-libtermcap
  all-libtermcap: configure-libtermcap
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libtermcap && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-libtermcap))
  @endif libtermcap
  
  .PHONY: check-libtermcap maybe-check-libtermcap
  maybe-check-libtermcap:
  @if libtermcap
--- 27247,27299 ----
  @endif tk
  
  
+ 
  .PHONY: configure-libtermcap maybe-configure-libtermcap
  maybe-configure-libtermcap:
  @if libtermcap
  maybe-configure-libtermcap: configure-libtermcap
! configure-libtermcap: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/libtermcap/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libtermcap ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/libtermcap; \
! 	cd "$(HOST_SUBDIR)/libtermcap" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/libtermcap/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libtermcap"; \
+ 	libsrcdir="$$s/libtermcap"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif libtermcap
  
+ 
+ 
+ 
+ 
  .PHONY: all-libtermcap maybe-all-libtermcap
  maybe-all-libtermcap:
  @if libtermcap
  TARGET-libtermcap=all
  maybe-all-libtermcap: all-libtermcap
  all-libtermcap: configure-libtermcap
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-libtermcap))
  @endif libtermcap
  
+ 
+ 
+ 
  .PHONY: check-libtermcap maybe-check-libtermcap
  maybe-check-libtermcap:
  @if libtermcap
*************** maybe-install-libtermcap:
*** 23703,23713 ****
  maybe-install-libtermcap: install-libtermcap
  
  install-libtermcap: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd libtermcap && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libtermcap
  
--- 27309,27320 ----
  maybe-install-libtermcap: install-libtermcap
  
  install-libtermcap: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif libtermcap
  
*************** maybe-info-libtermcap: info-libtermcap
*** 23720,23735 ****
  
  info-libtermcap: \
      configure-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27327,27342 ----
  
  info-libtermcap: \
      configure-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-libtermcap: dvi-libtermcap
*** 23746,23761 ****
  
  dvi-libtermcap: \
      configure-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27353,27368 ----
  
  dvi-libtermcap: \
      configure-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-libtermcap: html-libtermcap
*** 23772,23787 ****
  
  html-libtermcap: \
      configure-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27379,27394 ----
  
  html-libtermcap: \
      configure-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-libtermcap: TAGS-libtermcap
*** 23798,23813 ****
  
  TAGS-libtermcap: \
      configure-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27405,27420 ----
  
  TAGS-libtermcap: \
      configure-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-libtermcap: install-i
*** 23825,23840 ****
  install-info-libtermcap: \
      configure-libtermcap \
      info-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27432,27447 ----
  install-info-libtermcap: \
      configure-libtermcap \
      info-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-libtermcap: installch
*** 23851,23866 ****
  
  installcheck-libtermcap: \
      configure-libtermcap 
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libtermcap" ; \
! 	(cd libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27458,27473 ----
  
  installcheck-libtermcap: \
      configure-libtermcap 
+ 	@$(unstage)
  	@[ -f ./libtermcap/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in libtermcap" ; \
! 	(cd $(HOST_SUBDIR)/libtermcap && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-libtermcap:
*** 23911,23958 ****
  @endif libtermcap
  
  
  .PHONY: configure-utils maybe-configure-utils
  maybe-configure-utils:
  @if utils
  maybe-configure-utils: configure-utils
! configure-utils:
! 	@test ! -f utils/Makefile || exit 0; \
! 	[ -d utils ] || mkdir utils; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in utils; \
! 	cd utils || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/utils"; \
! 	    libsrcdir="$$s/utils";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/utils"; \
! 	    libsrcdir="$$s/utils";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif utils
  
  .PHONY: all-utils maybe-all-utils
  maybe-all-utils:
  @if utils
  TARGET-utils=all
  maybe-all-utils: all-utils
  all-utils: configure-utils
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd utils && $(MAKE) $(FLAGS_TO_PASS)  \
! 	  $(TARGET-utils))
  @endif utils
  
  .PHONY: check-utils maybe-check-utils
  maybe-check-utils:
  @if utils
--- 27518,27570 ----
  @endif libtermcap
  
  
+ 
  .PHONY: configure-utils maybe-configure-utils
  maybe-configure-utils:
  @if utils
  maybe-configure-utils: configure-utils
! configure-utils: 
! 	@$(unstage)
! 	@test ! -f $(HOST_SUBDIR)/utils/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/utils ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	echo Configuring in $(HOST_SUBDIR)/utils; \
! 	cd "$(HOST_SUBDIR)/utils" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(HOST_SUBDIR)/utils/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/utils"; \
+ 	libsrcdir="$$s/utils"; \
  	$(SHELL) $${libsrcdir}/configure \
  	  $(HOST_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif utils
  
+ 
+ 
+ 
+ 
  .PHONY: all-utils maybe-all-utils
  maybe-all-utils:
  @if utils
  TARGET-utils=all
  maybe-all-utils: all-utils
  all-utils: configure-utils
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/utils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-utils))
  @endif utils
  
+ 
+ 
+ 
  .PHONY: check-utils maybe-check-utils
  maybe-check-utils:
  @if utils
*************** maybe-install-utils:
*** 23968,23978 ****
  maybe-install-utils: install-utils
  
  install-utils: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd utils && $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif utils
  
--- 27580,27591 ----
  maybe-install-utils: install-utils
  
  install-utils: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/utils && \
! 	  $(MAKE) $(FLAGS_TO_PASS)  install)
  
  @endif utils
  
*************** maybe-info-utils: info-utils
*** 23985,24000 ****
  
  info-utils: \
      configure-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27598,27613 ----
  
  info-utils: \
      configure-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing info in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-dvi-utils: dvi-utils
*** 24011,24026 ****
  
  dvi-utils: \
      configure-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27624,27639 ----
  
  dvi-utils: \
      configure-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing dvi in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-html-utils: html-utils
*** 24037,24052 ****
  
  html-utils: \
      configure-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27650,27665 ----
  
  html-utils: \
      configure-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing html in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-TAGS-utils: TAGS-utils
*** 24063,24078 ****
  
  TAGS-utils: \
      configure-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27676,27691 ----
  
  TAGS-utils: \
      configure-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing TAGS in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-install-info-utils: install-info-u
*** 24090,24105 ****
  install-info-utils: \
      configure-utils \
      info-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27703,27718 ----
  install-info-utils: \
      configure-utils \
      info-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing install-info in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-installcheck-utils: installcheck-u
*** 24116,24131 ****
  
  installcheck-utils: \
      configure-utils 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27729,27744 ----
  
  installcheck-utils: \
      configure-utils 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing installcheck in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-mostlyclean-utils:
*** 24141,24156 ****
  maybe-mostlyclean-utils: mostlyclean-utils
  
  mostlyclean-utils: 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27754,27769 ----
  maybe-mostlyclean-utils: mostlyclean-utils
  
  mostlyclean-utils: 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing mostlyclean in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-clean-utils:
*** 24166,24181 ****
  maybe-clean-utils: clean-utils
  
  clean-utils: 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27779,27794 ----
  maybe-clean-utils: clean-utils
  
  clean-utils: 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing clean in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-distclean-utils:
*** 24191,24206 ****
  maybe-distclean-utils: distclean-utils
  
  distclean-utils: 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27804,27819 ----
  maybe-distclean-utils: distclean-utils
  
  distclean-utils: 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing distclean in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-maintainer-clean-utils:
*** 24216,24231 ****
  maybe-maintainer-clean-utils: maintainer-clean-utils
  
  maintainer-clean-utils: 
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in utils" ; \
! 	(cd utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 27829,27844 ----
  maybe-maintainer-clean-utils: maintainer-clean-utils
  
  maintainer-clean-utils: 
+ 	@$(unstage)
  	@[ -f ./utils/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) ; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing maintainer-clean in utils" ; \
! 	(cd $(HOST_SUBDIR)/utils && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maintainer-clean-utils: 
*** 24237,24307 ****
  
  
  
  # ---------------------------------------
  # Modules which run on the target machine
  # ---------------------------------------
  
- .PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3
- maybe-configure-target-libstdc++-v3:
- @if target-libstdc++-v3
- maybe-configure-target-libstdc++-v3: configure-target-libstdc++-v3
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
  	rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
  
  configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \
  	cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
! 	  libsrcdir="$$s/libstdc++-v3"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libstdc++-v3
  
  .PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3
  maybe-all-target-libstdc++-v3:
  @if target-libstdc++-v3
  TARGET-target-libstdc++-v3=all
  maybe-all-target-libstdc++-v3: all-target-libstdc++-v3
  all-target-libstdc++-v3: configure-target-libstdc++-v3
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   $(TARGET-target-libstdc++-v3))
  @endif target-libstdc++-v3
  
  .PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
  maybe-check-target-libstdc++-v3:
  @if target-libstdc++-v3
  maybe-check-target-libstdc++-v3: check-target-libstdc++-v3
  
  check-target-libstdc++-v3:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   check)
--- 27850,28264 ----
  
  
  
+ .PHONY: configure-gnattools maybe-configure-gnattools
+ maybe-configure-gnattools:
+ @if gnattools
+ maybe-configure-gnattools: configure-gnattools
+ configure-gnattools: 
+ 	@$(unstage)
+ 	@test ! -f $(HOST_SUBDIR)/gnattools/Makefile || exit 0; \
+ 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/gnattools ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	echo Configuring in $(HOST_SUBDIR)/gnattools; \
+ 	cd "$(HOST_SUBDIR)/gnattools" || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(HOST_SUBDIR)/gnattools/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/gnattools"; \
+ 	libsrcdir="$$s/gnattools"; \
+ 	$(SHELL) $${libsrcdir}/configure \
+ 	  $(HOST_CONFIGARGS) $${srcdiroption}  \
+ 	  || exit 1
+ @endif gnattools
+ 
+ 
+ 
+ 
+ 
+ .PHONY: all-gnattools maybe-all-gnattools
+ maybe-all-gnattools:
+ @if gnattools
+ TARGET-gnattools=all
+ maybe-all-gnattools: all-gnattools
+ all-gnattools: configure-gnattools
+ 	@$(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(FLAGS_TO_PASS)  $(TARGET-gnattools))
+ @endif gnattools
+ 
+ 
+ 
+ 
+ .PHONY: check-gnattools maybe-check-gnattools
+ maybe-check-gnattools:
+ @if gnattools
+ maybe-check-gnattools: check-gnattools
+ 
+ check-gnattools:
+ 	@: $(MAKE); $(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(FLAGS_TO_PASS)  check)
+ 
+ @endif gnattools
+ 
+ .PHONY: install-gnattools maybe-install-gnattools
+ maybe-install-gnattools:
+ @if gnattools
+ maybe-install-gnattools: install-gnattools
+ 
+ install-gnattools: installdirs
+ 	@: $(MAKE); $(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(FLAGS_TO_PASS)  install)
+ 
+ @endif gnattools
+ 
+ # Other targets (info, dvi, etc.)
+ 
+ .PHONY: maybe-info-gnattools info-gnattools
+ maybe-info-gnattools:
+ @if gnattools
+ maybe-info-gnattools: info-gnattools
+ 
+ info-gnattools: \
+     configure-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing info in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          info) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-dvi-gnattools dvi-gnattools
+ maybe-dvi-gnattools:
+ @if gnattools
+ maybe-dvi-gnattools: dvi-gnattools
+ 
+ dvi-gnattools: \
+     configure-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing dvi in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          dvi) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-html-gnattools html-gnattools
+ maybe-html-gnattools:
+ @if gnattools
+ maybe-html-gnattools: html-gnattools
+ 
+ html-gnattools: \
+     configure-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing html in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          html) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-TAGS-gnattools TAGS-gnattools
+ maybe-TAGS-gnattools:
+ @if gnattools
+ maybe-TAGS-gnattools: TAGS-gnattools
+ 
+ TAGS-gnattools: \
+     configure-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing TAGS in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          TAGS) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-install-info-gnattools install-info-gnattools
+ maybe-install-info-gnattools:
+ @if gnattools
+ maybe-install-info-gnattools: install-info-gnattools
+ 
+ install-info-gnattools: \
+     configure-gnattools \
+     info-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing install-info in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          install-info) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-installcheck-gnattools installcheck-gnattools
+ maybe-installcheck-gnattools:
+ @if gnattools
+ maybe-installcheck-gnattools: installcheck-gnattools
+ 
+ installcheck-gnattools: \
+     configure-gnattools 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing installcheck in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          installcheck) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-mostlyclean-gnattools mostlyclean-gnattools
+ maybe-mostlyclean-gnattools:
+ @if gnattools
+ maybe-mostlyclean-gnattools: mostlyclean-gnattools
+ 
+ mostlyclean-gnattools: 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing mostlyclean in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          mostlyclean) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-clean-gnattools clean-gnattools
+ maybe-clean-gnattools:
+ @if gnattools
+ maybe-clean-gnattools: clean-gnattools
+ 
+ clean-gnattools: 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing clean in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          clean) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-distclean-gnattools distclean-gnattools
+ maybe-distclean-gnattools:
+ @if gnattools
+ maybe-distclean-gnattools: distclean-gnattools
+ 
+ distclean-gnattools: 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing distclean in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          distclean) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ .PHONY: maybe-maintainer-clean-gnattools maintainer-clean-gnattools
+ maybe-maintainer-clean-gnattools:
+ @if gnattools
+ maybe-maintainer-clean-gnattools: maintainer-clean-gnattools
+ 
+ maintainer-clean-gnattools: 
+ 	@$(unstage)
+ 	@[ -f ./gnattools/Makefile ] || exit 0; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(HOST_EXPORTS) \
+ 	for flag in $(EXTRA_HOST_FLAGS) ; do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	echo "Doing maintainer-clean in gnattools" ; \
+ 	(cd $(HOST_SUBDIR)/gnattools && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	          maintainer-clean) \
+ 	  || exit 1
+ 
+ @endif gnattools
+ 
+ 
+ 
  # ---------------------------------------
  # Modules which run on the target machine
  # ---------------------------------------
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libstdc++-v3
  $(TARGET_SUBDIR)/libstdc++-v3/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
  	rm -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
+ @endif target-libstdc++-v3
+ 
+ 
  
+ .PHONY: configure-target-libstdc++-v3 maybe-configure-target-libstdc++-v3
+ maybe-configure-target-libstdc++-v3:
+ @if target-libstdc++-v3
+ maybe-configure-target-libstdc++-v3: configure-target-libstdc++-v3
  configure-target-libstdc++-v3: $(TARGET_SUBDIR)/libstdc++-v3/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libstdc++-v3 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libstdc++-v3; \
  	cd "$(TARGET_SUBDIR)/libstdc++-v3" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libstdc++-v3/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libstdc++-v3"; \
! 	libsrcdir="$$s/libstdc++-v3"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libstdc++-v3
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libstdc++-v3 maybe-all-target-libstdc++-v3
  maybe-all-target-libstdc++-v3:
  @if target-libstdc++-v3
  TARGET-target-libstdc++-v3=all
  maybe-all-target-libstdc++-v3: all-target-libstdc++-v3
  all-target-libstdc++-v3: configure-target-libstdc++-v3
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  $(TARGET-target-libstdc++-v3))
  @endif target-libstdc++-v3
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libstdc++-v3 maybe-check-target-libstdc++-v3
  maybe-check-target-libstdc++-v3:
  @if target-libstdc++-v3
  maybe-check-target-libstdc++-v3: check-target-libstdc++-v3
  
  check-target-libstdc++-v3:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   check)
*************** maybe-install-target-libstdc++-v3:
*** 24314,24322 ****
  maybe-install-target-libstdc++-v3: install-target-libstdc++-v3
  
  install-target-libstdc++-v3: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 28271,28279 ----
  maybe-install-target-libstdc++-v3: install-target-libstdc++-v3
  
  install-target-libstdc++-v3: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libstdc++-v3 && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libstdc++-v3: info-tar
*** 24332,24341 ****
  
  info-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28289,28298 ----
  
  info-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libstdc++-v3: dvi-targe
*** 24358,24367 ****
  
  dvi-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28315,28324 ----
  
  dvi-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libstdc++-v3: html-tar
*** 24384,24393 ****
  
  html-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28341,28350 ----
  
  html-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libstdc++-v3: TAGS-tar
*** 24410,24419 ****
  
  TAGS-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28367,28376 ----
  
  TAGS-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libstdc++-v3: 
*** 24437,24446 ****
  install-info-target-libstdc++-v3: \
      configure-target-libstdc++-v3 \
      info-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28394,28403 ----
  install-info-target-libstdc++-v3: \
      configure-target-libstdc++-v3 \
      info-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libstdc++-v3: 
*** 24463,24472 ****
  
  installcheck-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28420,28429 ----
  
  installcheck-target-libstdc++-v3: \
      configure-target-libstdc++-v3 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libstdc++-v3:
*** 24488,24497 ****
  maybe-mostlyclean-target-libstdc++-v3: mostlyclean-target-libstdc++-v3
  
  mostlyclean-target-libstdc++-v3: 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28445,28454 ----
  maybe-mostlyclean-target-libstdc++-v3: mostlyclean-target-libstdc++-v3
  
  mostlyclean-target-libstdc++-v3: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libstdc++-v3:
*** 24513,24522 ****
  maybe-clean-target-libstdc++-v3: clean-target-libstdc++-v3
  
  clean-target-libstdc++-v3: 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28470,28479 ----
  maybe-clean-target-libstdc++-v3: clean-target-libstdc++-v3
  
  clean-target-libstdc++-v3: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libstdc++-v3:
*** 24538,24547 ****
  maybe-distclean-target-libstdc++-v3: distclean-target-libstdc++-v3
  
  distclean-target-libstdc++-v3: 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28495,28504 ----
  maybe-distclean-target-libstdc++-v3: distclean-target-libstdc++-v3
  
  distclean-target-libstdc++-v3: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libstdc++-
*** 24563,24572 ****
  maybe-maintainer-clean-target-libstdc++-v3: maintainer-clean-target-libstdc++-v3
  
  maintainer-clean-target-libstdc++-v3: 
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28520,28529 ----
  maybe-maintainer-clean-target-libstdc++-v3: maintainer-clean-target-libstdc++-v3
  
  maintainer-clean-target-libstdc++-v3: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libstdc++-v3/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libstdc++-v3" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libstdc++-v3: 
*** 24583,24649 ****
  @endif target-libstdc++-v3
  
  
- .PHONY: configure-target-libmudflap maybe-configure-target-libmudflap
- maybe-configure-target-libmudflap:
- @if target-libmudflap
- maybe-configure-target-libmudflap: configure-target-libmudflap
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libmudflap/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
  	rm -f $(TARGET_SUBDIR)/libmudflap/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libmudflap/multilib.out
  
  configure-target-libmudflap: $(TARGET_SUBDIR)/libmudflap/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libmudflap/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libmudflap; \
  	cd "$(TARGET_SUBDIR)/libmudflap" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libmudflap"; \
! 	  libsrcdir="$$s/libmudflap"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libmudflap
  
  .PHONY: all-target-libmudflap maybe-all-target-libmudflap
  maybe-all-target-libmudflap:
  @if target-libmudflap
  TARGET-target-libmudflap=all
  maybe-all-target-libmudflap: all-target-libmudflap
  all-target-libmudflap: configure-target-libmudflap
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libmudflap))
  @endif target-libmudflap
  
  .PHONY: check-target-libmudflap maybe-check-target-libmudflap
  maybe-check-target-libmudflap:
  @if target-libmudflap
  maybe-check-target-libmudflap: check-target-libmudflap
  
  check-target-libmudflap:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 28540,28613 ----
  @endif target-libstdc++-v3
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libmudflap
  $(TARGET_SUBDIR)/libmudflap/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
  	rm -f $(TARGET_SUBDIR)/libmudflap/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libmudflap/multilib.out
+ @endif target-libmudflap
  
+ 
+ 
+ .PHONY: configure-target-libmudflap maybe-configure-target-libmudflap
+ maybe-configure-target-libmudflap:
+ @if target-libmudflap
+ maybe-configure-target-libmudflap: configure-target-libmudflap
  configure-target-libmudflap: $(TARGET_SUBDIR)/libmudflap/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libmudflap/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libmudflap ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libmudflap; \
  	cd "$(TARGET_SUBDIR)/libmudflap" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libmudflap/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libmudflap"; \
! 	libsrcdir="$$s/libmudflap"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libmudflap
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libmudflap maybe-all-target-libmudflap
  maybe-all-target-libmudflap:
  @if target-libmudflap
  TARGET-target-libmudflap=all
  maybe-all-target-libmudflap: all-target-libmudflap
  all-target-libmudflap: configure-target-libmudflap
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libmudflap))
  @endif target-libmudflap
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libmudflap maybe-check-target-libmudflap
  maybe-check-target-libmudflap:
  @if target-libmudflap
  maybe-check-target-libmudflap: check-target-libmudflap
  
  check-target-libmudflap:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libmudflap:
*** 24656,24664 ****
  maybe-install-target-libmudflap: install-target-libmudflap
  
  install-target-libmudflap: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 28620,28628 ----
  maybe-install-target-libmudflap: install-target-libmudflap
  
  install-target-libmudflap: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libmudflap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libmudflap: info-targe
*** 24674,24683 ****
  
  info-target-libmudflap: \
      configure-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28638,28647 ----
  
  info-target-libmudflap: \
      configure-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libmudflap: dvi-target-
*** 24700,24709 ****
  
  dvi-target-libmudflap: \
      configure-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28664,28673 ----
  
  dvi-target-libmudflap: \
      configure-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libmudflap: html-targe
*** 24726,24735 ****
  
  html-target-libmudflap: \
      configure-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28690,28699 ----
  
  html-target-libmudflap: \
      configure-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libmudflap: TAGS-targe
*** 24752,24761 ****
  
  TAGS-target-libmudflap: \
      configure-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28716,28725 ----
  
  TAGS-target-libmudflap: \
      configure-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libmudflap: in
*** 24779,24788 ****
  install-info-target-libmudflap: \
      configure-target-libmudflap \
      info-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28743,28752 ----
  install-info-target-libmudflap: \
      configure-target-libmudflap \
      info-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libmudflap: in
*** 24805,24814 ****
  
  installcheck-target-libmudflap: \
      configure-target-libmudflap 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28769,28778 ----
  
  installcheck-target-libmudflap: \
      configure-target-libmudflap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libmudflap:
*** 24830,24839 ****
  maybe-mostlyclean-target-libmudflap: mostlyclean-target-libmudflap
  
  mostlyclean-target-libmudflap: 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28794,28803 ----
  maybe-mostlyclean-target-libmudflap: mostlyclean-target-libmudflap
  
  mostlyclean-target-libmudflap: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libmudflap:
*** 24855,24864 ****
  maybe-clean-target-libmudflap: clean-target-libmudflap
  
  clean-target-libmudflap: 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28819,28828 ----
  maybe-clean-target-libmudflap: clean-target-libmudflap
  
  clean-target-libmudflap: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libmudflap:
*** 24880,24889 ****
  maybe-distclean-target-libmudflap: distclean-target-libmudflap
  
  distclean-target-libmudflap: 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28844,28853 ----
  maybe-distclean-target-libmudflap: distclean-target-libmudflap
  
  distclean-target-libmudflap: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libmudflap
*** 24905,24914 ****
  maybe-maintainer-clean-target-libmudflap: maintainer-clean-target-libmudflap
  
  maintainer-clean-target-libmudflap: 
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 28869,28878 ----
  maybe-maintainer-clean-target-libmudflap: maintainer-clean-target-libmudflap
  
  maintainer-clean-target-libmudflap: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libmudflap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libmudflap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libmudflap: 
*** 24925,24991 ****
  @endif target-libmudflap
  
  
- .PHONY: configure-target-newlib maybe-configure-target-newlib
- maybe-configure-target-newlib:
- @if target-newlib
- maybe-configure-target-newlib: configure-target-newlib
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/newlib/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
  	rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out
  
  configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/newlib; \
  	cd "$(TARGET_SUBDIR)/newlib" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/newlib"; \
! 	  libsrcdir="$$s/newlib"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-newlib
  
  .PHONY: all-target-newlib maybe-all-target-newlib
  maybe-all-target-newlib:
  @if target-newlib
  TARGET-target-newlib=all
  maybe-all-target-newlib: all-target-newlib
  all-target-newlib: configure-target-newlib
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-newlib))
  @endif target-newlib
  
  .PHONY: check-target-newlib maybe-check-target-newlib
  maybe-check-target-newlib:
  @if target-newlib
  maybe-check-target-newlib: check-target-newlib
  
  check-target-newlib:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 28889,29311 ----
  @endif target-libmudflap
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libssp
+ $(TARGET_SUBDIR)/libssp/multilib.out: multilib.out
+ 	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libssp ; \
+ 	rm -f $(TARGET_SUBDIR)/libssp/Makefile || : ; \
+ 	cp multilib.out $(TARGET_SUBDIR)/libssp/multilib.out
+ @endif target-libssp
+ 
+ 
+ 
+ .PHONY: configure-target-libssp maybe-configure-target-libssp
+ maybe-configure-target-libssp:
+ @if target-libssp
+ maybe-configure-target-libssp: configure-target-libssp
+ configure-target-libssp: $(TARGET_SUBDIR)/libssp/multilib.out
+ 	@$(unstage)
+ 	@test ! -f $(TARGET_SUBDIR)/libssp/Makefile || exit 0; \
+ 	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libssp ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo Configuring in $(TARGET_SUBDIR)/libssp; \
+ 	cd "$(TARGET_SUBDIR)/libssp" || exit 1; \
+ 	case $(srcdir) in \
+ 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+ 	  *) topdir=`echo $(TARGET_SUBDIR)/libssp/ | \
+ 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+ 	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/libssp"; \
+ 	libsrcdir="$$s/libssp"; \
+ 	rm -f no-such-file || : ; \
+ 	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+ 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
+ 	  || exit 1
+ @endif target-libssp
+ 
+ 
+ 
+ 
+ 
+ .PHONY: all-target-libssp maybe-all-target-libssp
+ maybe-all-target-libssp:
+ @if target-libssp
+ TARGET-target-libssp=all
+ maybe-all-target-libssp: all-target-libssp
+ all-target-libssp: configure-target-libssp
+ 	@$(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libssp))
+ @endif target-libssp
+ 
+ 
+ 
+ 
+ 
+ .PHONY: check-target-libssp maybe-check-target-libssp
+ maybe-check-target-libssp:
+ @if target-libssp
+ maybe-check-target-libssp: check-target-libssp
+ 
+ check-target-libssp:
+ 	@: $(MAKE); $(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
+ 
+ @endif target-libssp
+ 
+ .PHONY: install-target-libssp maybe-install-target-libssp
+ maybe-install-target-libssp:
+ @if target-libssp
+ maybe-install-target-libssp: install-target-libssp
+ 
+ install-target-libssp: installdirs
+ 	@: $(MAKE); $(unstage)
+ 	@r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
+ 
+ @endif target-libssp
+ 
+ # Other targets (info, dvi, etc.)
+ 
+ .PHONY: maybe-info-target-libssp info-target-libssp
+ maybe-info-target-libssp:
+ @if target-libssp
+ maybe-info-target-libssp: info-target-libssp
+ 
+ info-target-libssp: \
+     configure-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing info in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           info) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-dvi-target-libssp dvi-target-libssp
+ maybe-dvi-target-libssp:
+ @if target-libssp
+ maybe-dvi-target-libssp: dvi-target-libssp
+ 
+ dvi-target-libssp: \
+     configure-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing dvi in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           dvi) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-html-target-libssp html-target-libssp
+ maybe-html-target-libssp:
+ @if target-libssp
+ maybe-html-target-libssp: html-target-libssp
+ 
+ html-target-libssp: \
+     configure-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing html in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           html) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-TAGS-target-libssp TAGS-target-libssp
+ maybe-TAGS-target-libssp:
+ @if target-libssp
+ maybe-TAGS-target-libssp: TAGS-target-libssp
+ 
+ TAGS-target-libssp: \
+     configure-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing TAGS in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           TAGS) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-install-info-target-libssp install-info-target-libssp
+ maybe-install-info-target-libssp:
+ @if target-libssp
+ maybe-install-info-target-libssp: install-info-target-libssp
+ 
+ install-info-target-libssp: \
+     configure-target-libssp \
+     info-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing install-info in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           install-info) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-installcheck-target-libssp installcheck-target-libssp
+ maybe-installcheck-target-libssp:
+ @if target-libssp
+ maybe-installcheck-target-libssp: installcheck-target-libssp
+ 
+ installcheck-target-libssp: \
+     configure-target-libssp 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing installcheck in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           installcheck) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-mostlyclean-target-libssp mostlyclean-target-libssp
+ maybe-mostlyclean-target-libssp:
+ @if target-libssp
+ maybe-mostlyclean-target-libssp: mostlyclean-target-libssp
+ 
+ mostlyclean-target-libssp: 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           mostlyclean) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-clean-target-libssp clean-target-libssp
+ maybe-clean-target-libssp:
+ @if target-libssp
+ maybe-clean-target-libssp: clean-target-libssp
+ 
+ clean-target-libssp: 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing clean in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           clean) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-distclean-target-libssp distclean-target-libssp
+ maybe-distclean-target-libssp:
+ @if target-libssp
+ maybe-distclean-target-libssp: distclean-target-libssp
+ 
+ distclean-target-libssp: 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing distclean in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           distclean) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ .PHONY: maybe-maintainer-clean-target-libssp maintainer-clean-target-libssp
+ maybe-maintainer-clean-target-libssp:
+ @if target-libssp
+ maybe-maintainer-clean-target-libssp: maintainer-clean-target-libssp
+ 
+ maintainer-clean-target-libssp: 
+ 	@: $(MAKE); $(unstage)
+ 	@[ -f $(TARGET_SUBDIR)/libssp/Makefile ] || exit 0 ; \
+ 	r=`${PWD_COMMAND}`; export r; \
+ 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+ 	$(NORMAL_TARGET_EXPORTS) \
+ 	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libssp" ; \
+ 	for flag in $(EXTRA_TARGET_FLAGS); do \
+ 	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+ 	done; \
+ 	(cd $(TARGET_SUBDIR)/libssp && \
+ 	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+ 	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+ 	          "RANLIB=$${RANLIB}" \
+ 	          "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+ 	           maintainer-clean) \
+ 	  || exit 1
+ 
+ @endif target-libssp
+ 
+ 
+ 
+ # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-newlib
  $(TARGET_SUBDIR)/newlib/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
  	rm -f $(TARGET_SUBDIR)/newlib/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/newlib/multilib.out
+ @endif target-newlib
+ 
  
+ 
+ .PHONY: configure-target-newlib maybe-configure-target-newlib
+ maybe-configure-target-newlib:
+ @if target-newlib
+ maybe-configure-target-newlib: configure-target-newlib
  configure-target-newlib: $(TARGET_SUBDIR)/newlib/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/newlib/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/newlib ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/newlib; \
  	cd "$(TARGET_SUBDIR)/newlib" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/newlib/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/newlib"; \
! 	libsrcdir="$$s/newlib"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-newlib
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-newlib maybe-all-target-newlib
  maybe-all-target-newlib:
  @if target-newlib
  TARGET-target-newlib=all
  maybe-all-target-newlib: all-target-newlib
  all-target-newlib: configure-target-newlib
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-newlib))
  @endif target-newlib
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-newlib maybe-check-target-newlib
  maybe-check-target-newlib:
  @if target-newlib
  maybe-check-target-newlib: check-target-newlib
  
  check-target-newlib:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-newlib:
*** 24998,25006 ****
  maybe-install-target-newlib: install-target-newlib
  
  install-target-newlib: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 29318,29326 ----
  maybe-install-target-newlib: install-target-newlib
  
  install-target-newlib: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/newlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-newlib: info-target-ne
*** 25016,25025 ****
  
  info-target-newlib: \
      configure-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29336,29345 ----
  
  info-target-newlib: \
      configure-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-newlib: dvi-target-newl
*** 25042,25051 ****
  
  dvi-target-newlib: \
      configure-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29362,29371 ----
  
  dvi-target-newlib: \
      configure-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-newlib: html-target-ne
*** 25068,25077 ****
  
  html-target-newlib: \
      configure-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29388,29397 ----
  
  html-target-newlib: \
      configure-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-newlib: TAGS-target-ne
*** 25094,25103 ****
  
  TAGS-target-newlib: \
      configure-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29414,29423 ----
  
  TAGS-target-newlib: \
      configure-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-newlib: instal
*** 25121,25130 ****
  install-info-target-newlib: \
      configure-target-newlib \
      info-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29441,29450 ----
  install-info-target-newlib: \
      configure-target-newlib \
      info-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-newlib: instal
*** 25147,25156 ****
  
  installcheck-target-newlib: \
      configure-target-newlib 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29467,29476 ----
  
  installcheck-target-newlib: \
      configure-target-newlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-newlib:
*** 25172,25181 ****
  maybe-mostlyclean-target-newlib: mostlyclean-target-newlib
  
  mostlyclean-target-newlib: 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29492,29501 ----
  maybe-mostlyclean-target-newlib: mostlyclean-target-newlib
  
  mostlyclean-target-newlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-newlib:
*** 25197,25206 ****
  maybe-clean-target-newlib: clean-target-newlib
  
  clean-target-newlib: 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29517,29526 ----
  maybe-clean-target-newlib: clean-target-newlib
  
  clean-target-newlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-newlib:
*** 25222,25231 ****
  maybe-distclean-target-newlib: distclean-target-newlib
  
  distclean-target-newlib: 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29542,29551 ----
  maybe-distclean-target-newlib: distclean-target-newlib
  
  distclean-target-newlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-newlib:
*** 25247,25256 ****
  maybe-maintainer-clean-target-newlib: maintainer-clean-target-newlib
  
  maintainer-clean-target-newlib: 
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29567,29576 ----
  maybe-maintainer-clean-target-newlib: maintainer-clean-target-newlib
  
  maintainer-clean-target-newlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/newlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/newlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-newlib: 
*** 25267,25333 ****
  @endif target-newlib
  
  
- .PHONY: configure-target-libgfortran maybe-configure-target-libgfortran
- maybe-configure-target-libgfortran:
- @if target-libgfortran
- maybe-configure-target-libgfortran: configure-target-libgfortran
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libgfortran/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
  	rm -f $(TARGET_SUBDIR)/libgfortran/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libgfortran/multilib.out
  
  configure-target-libgfortran: $(TARGET_SUBDIR)/libgfortran/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libgfortran/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libgfortran; \
  	cd "$(TARGET_SUBDIR)/libgfortran" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libgfortran"; \
! 	  libsrcdir="$$s/libgfortran"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libgfortran
  
  .PHONY: all-target-libgfortran maybe-all-target-libgfortran
  maybe-all-target-libgfortran:
  @if target-libgfortran
  TARGET-target-libgfortran=all
  maybe-all-target-libgfortran: all-target-libgfortran
  all-target-libgfortran: configure-target-libgfortran
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libgfortran))
  @endif target-libgfortran
  
  .PHONY: check-target-libgfortran maybe-check-target-libgfortran
  maybe-check-target-libgfortran:
  @if target-libgfortran
  maybe-check-target-libgfortran: check-target-libgfortran
  
  check-target-libgfortran:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 29587,29660 ----
  @endif target-newlib
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libgfortran
  $(TARGET_SUBDIR)/libgfortran/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
  	rm -f $(TARGET_SUBDIR)/libgfortran/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libgfortran/multilib.out
+ @endif target-libgfortran
+ 
+ 
  
+ .PHONY: configure-target-libgfortran maybe-configure-target-libgfortran
+ maybe-configure-target-libgfortran:
+ @if target-libgfortran
+ maybe-configure-target-libgfortran: configure-target-libgfortran
  configure-target-libgfortran: $(TARGET_SUBDIR)/libgfortran/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libgfortran/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libgfortran; \
  	cd "$(TARGET_SUBDIR)/libgfortran" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libgfortran/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libgfortran"; \
! 	libsrcdir="$$s/libgfortran"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libgfortran
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libgfortran maybe-all-target-libgfortran
  maybe-all-target-libgfortran:
  @if target-libgfortran
  TARGET-target-libgfortran=all
  maybe-all-target-libgfortran: all-target-libgfortran
  all-target-libgfortran: configure-target-libgfortran
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgfortran))
  @endif target-libgfortran
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libgfortran maybe-check-target-libgfortran
  maybe-check-target-libgfortran:
  @if target-libgfortran
  maybe-check-target-libgfortran: check-target-libgfortran
  
  check-target-libgfortran:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libgfortran:
*** 25340,25348 ****
  maybe-install-target-libgfortran: install-target-libgfortran
  
  install-target-libgfortran: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 29667,29675 ----
  maybe-install-target-libgfortran: install-target-libgfortran
  
  install-target-libgfortran: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgfortran && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libgfortran: info-targ
*** 25358,25367 ****
  
  info-target-libgfortran: \
      configure-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29685,29694 ----
  
  info-target-libgfortran: \
      configure-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libgfortran: dvi-target
*** 25384,25393 ****
  
  dvi-target-libgfortran: \
      configure-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29711,29720 ----
  
  dvi-target-libgfortran: \
      configure-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libgfortran: html-targ
*** 25410,25419 ****
  
  html-target-libgfortran: \
      configure-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29737,29746 ----
  
  html-target-libgfortran: \
      configure-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libgfortran: TAGS-targ
*** 25436,25445 ****
  
  TAGS-target-libgfortran: \
      configure-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29763,29772 ----
  
  TAGS-target-libgfortran: \
      configure-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libgfortran: i
*** 25463,25472 ****
  install-info-target-libgfortran: \
      configure-target-libgfortran \
      info-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29790,29799 ----
  install-info-target-libgfortran: \
      configure-target-libgfortran \
      info-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libgfortran: i
*** 25489,25498 ****
  
  installcheck-target-libgfortran: \
      configure-target-libgfortran 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29816,29825 ----
  
  installcheck-target-libgfortran: \
      configure-target-libgfortran 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libgfortran:
*** 25514,25523 ****
  maybe-mostlyclean-target-libgfortran: mostlyclean-target-libgfortran
  
  mostlyclean-target-libgfortran: 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29841,29850 ----
  maybe-mostlyclean-target-libgfortran: mostlyclean-target-libgfortran
  
  mostlyclean-target-libgfortran: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libgfortran:
*** 25539,25548 ****
  maybe-clean-target-libgfortran: clean-target-libgfortran
  
  clean-target-libgfortran: 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29866,29875 ----
  maybe-clean-target-libgfortran: clean-target-libgfortran
  
  clean-target-libgfortran: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libgfortran:
*** 25564,25573 ****
  maybe-distclean-target-libgfortran: distclean-target-libgfortran
  
  distclean-target-libgfortran: 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29891,29900 ----
  maybe-distclean-target-libgfortran: distclean-target-libgfortran
  
  distclean-target-libgfortran: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libgfortra
*** 25589,25598 ****
  maybe-maintainer-clean-target-libgfortran: maintainer-clean-target-libgfortran
  
  maintainer-clean-target-libgfortran: 
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 29916,29925 ----
  maybe-maintainer-clean-target-libgfortran: maintainer-clean-target-libgfortran
  
  maintainer-clean-target-libgfortran: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgfortran" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libgfortran: 
*** 25609,25675 ****
  @endif target-libgfortran
  
  
- .PHONY: configure-target-libobjc maybe-configure-target-libobjc
- maybe-configure-target-libobjc:
- @if target-libobjc
- maybe-configure-target-libobjc: configure-target-libobjc
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
  	rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out
  
  configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libobjc; \
  	cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libobjc"; \
! 	  libsrcdir="$$s/libobjc"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libobjc
  
  .PHONY: all-target-libobjc maybe-all-target-libobjc
  maybe-all-target-libobjc:
  @if target-libobjc
  TARGET-target-libobjc=all
  maybe-all-target-libobjc: all-target-libobjc
  all-target-libobjc: configure-target-libobjc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libobjc))
  @endif target-libobjc
  
  .PHONY: check-target-libobjc maybe-check-target-libobjc
  maybe-check-target-libobjc:
  @if target-libobjc
  maybe-check-target-libobjc: check-target-libobjc
  
  check-target-libobjc:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 29936,30009 ----
  @endif target-libgfortran
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libobjc
  $(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
  	rm -f $(TARGET_SUBDIR)/libobjc/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libobjc/multilib.out
+ @endif target-libobjc
  
+ 
+ 
+ .PHONY: configure-target-libobjc maybe-configure-target-libobjc
+ maybe-configure-target-libobjc:
+ @if target-libobjc
+ maybe-configure-target-libobjc: configure-target-libobjc
  configure-target-libobjc: $(TARGET_SUBDIR)/libobjc/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libobjc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libobjc; \
  	cd "$(TARGET_SUBDIR)/libobjc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libobjc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libobjc"; \
! 	libsrcdir="$$s/libobjc"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libobjc
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libobjc maybe-all-target-libobjc
  maybe-all-target-libobjc:
  @if target-libobjc
  TARGET-target-libobjc=all
  maybe-all-target-libobjc: all-target-libobjc
  all-target-libobjc: configure-target-libobjc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libobjc))
  @endif target-libobjc
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libobjc maybe-check-target-libobjc
  maybe-check-target-libobjc:
  @if target-libobjc
  maybe-check-target-libobjc: check-target-libobjc
  
  check-target-libobjc:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libobjc:
*** 25682,25690 ****
  maybe-install-target-libobjc: install-target-libobjc
  
  install-target-libobjc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 30016,30024 ----
  maybe-install-target-libobjc: install-target-libobjc
  
  install-target-libobjc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libobjc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libobjc: info-target-l
*** 25700,25709 ****
  
  info-target-libobjc: \
      configure-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30034,30043 ----
  
  info-target-libobjc: \
      configure-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libobjc: dvi-target-lib
*** 25726,25735 ****
  
  dvi-target-libobjc: \
      configure-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30060,30069 ----
  
  dvi-target-libobjc: \
      configure-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libobjc: html-target-l
*** 25752,25761 ****
  
  html-target-libobjc: \
      configure-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30086,30095 ----
  
  html-target-libobjc: \
      configure-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libobjc: TAGS-target-l
*** 25778,25787 ****
  
  TAGS-target-libobjc: \
      configure-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30112,30121 ----
  
  TAGS-target-libobjc: \
      configure-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libobjc: insta
*** 25805,25814 ****
  install-info-target-libobjc: \
      configure-target-libobjc \
      info-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30139,30148 ----
  install-info-target-libobjc: \
      configure-target-libobjc \
      info-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libobjc: insta
*** 25831,25840 ****
  
  installcheck-target-libobjc: \
      configure-target-libobjc 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30165,30174 ----
  
  installcheck-target-libobjc: \
      configure-target-libobjc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libobjc:
*** 25856,25865 ****
  maybe-mostlyclean-target-libobjc: mostlyclean-target-libobjc
  
  mostlyclean-target-libobjc: 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30190,30199 ----
  maybe-mostlyclean-target-libobjc: mostlyclean-target-libobjc
  
  mostlyclean-target-libobjc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libobjc:
*** 25881,25890 ****
  maybe-clean-target-libobjc: clean-target-libobjc
  
  clean-target-libobjc: 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30215,30224 ----
  maybe-clean-target-libobjc: clean-target-libobjc
  
  clean-target-libobjc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libobjc:
*** 25906,25915 ****
  maybe-distclean-target-libobjc: distclean-target-libobjc
  
  distclean-target-libobjc: 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30240,30249 ----
  maybe-distclean-target-libobjc: distclean-target-libobjc
  
  distclean-target-libobjc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libobjc:
*** 25931,25940 ****
  maybe-maintainer-clean-target-libobjc: maintainer-clean-target-libobjc
  
  maintainer-clean-target-libobjc: 
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30265,30274 ----
  maybe-maintainer-clean-target-libobjc: maintainer-clean-target-libobjc
  
  maintainer-clean-target-libobjc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libobjc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libobjc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libobjc: 
*** 25951,26030 ****
  @endif target-libobjc
  
  
- .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
- maybe-configure-target-libtermcap:
- @if target-libtermcap
- maybe-configure-target-libtermcap: configure-target-libtermcap
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
  	rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out
  
  configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libtermcap; \
  	cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(TARGET_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/libtermcap "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/libtermcap"; \
! 	  libsrcdir="$$s/libtermcap"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libtermcap
  
  .PHONY: all-target-libtermcap maybe-all-target-libtermcap
  maybe-all-target-libtermcap:
  @if target-libtermcap
  TARGET-target-libtermcap=all
  maybe-all-target-libtermcap: all-target-libtermcap
  all-target-libtermcap: configure-target-libtermcap
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libtermcap && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libtermcap))
  @endif target-libtermcap
  
  .PHONY: check-target-libtermcap maybe-check-target-libtermcap
  maybe-check-target-libtermcap:
  @if target-libtermcap
--- 30285,30349 ----
  @endif target-libobjc
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libtermcap
  $(TARGET_SUBDIR)/libtermcap/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
  	rm -f $(TARGET_SUBDIR)/libtermcap/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libtermcap/multilib.out
+ @endif target-libtermcap
+ 
  
+ 
+ .PHONY: configure-target-libtermcap maybe-configure-target-libtermcap
+ maybe-configure-target-libtermcap:
+ @if target-libtermcap
+ maybe-configure-target-libtermcap: configure-target-libtermcap
  configure-target-libtermcap: $(TARGET_SUBDIR)/libtermcap/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libtermcap/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libtermcap ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libtermcap; \
  	cd "$(TARGET_SUBDIR)/libtermcap" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libtermcap/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libtermcap"; \
! 	libsrcdir="$$s/libtermcap"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libtermcap
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libtermcap maybe-all-target-libtermcap
  maybe-all-target-libtermcap:
  @if target-libtermcap
  TARGET-target-libtermcap=all
  maybe-all-target-libtermcap: all-target-libtermcap
  all-target-libtermcap: configure-target-libtermcap
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libtermcap && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libtermcap))
  @endif target-libtermcap
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libtermcap maybe-check-target-libtermcap
  maybe-check-target-libtermcap:
  @if target-libtermcap
*************** maybe-install-target-libtermcap:
*** 26041,26049 ****
  maybe-install-target-libtermcap: install-target-libtermcap
  
  install-target-libtermcap: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libtermcap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 30360,30368 ----
  maybe-install-target-libtermcap: install-target-libtermcap
  
  install-target-libtermcap: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libtermcap && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libtermcap: info-targe
*** 26059,26068 ****
  
  info-target-libtermcap: \
      configure-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30378,30387 ----
  
  info-target-libtermcap: \
      configure-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libtermcap: dvi-target-
*** 26085,26094 ****
  
  dvi-target-libtermcap: \
      configure-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30404,30413 ----
  
  dvi-target-libtermcap: \
      configure-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libtermcap: html-targe
*** 26111,26120 ****
  
  html-target-libtermcap: \
      configure-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30430,30439 ----
  
  html-target-libtermcap: \
      configure-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libtermcap: TAGS-targe
*** 26137,26146 ****
  
  TAGS-target-libtermcap: \
      configure-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30456,30465 ----
  
  TAGS-target-libtermcap: \
      configure-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libtermcap: in
*** 26164,26173 ****
  install-info-target-libtermcap: \
      configure-target-libtermcap \
      info-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30483,30492 ----
  install-info-target-libtermcap: \
      configure-target-libtermcap \
      info-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libtermcap: in
*** 26190,26199 ****
  
  installcheck-target-libtermcap: \
      configure-target-libtermcap 
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30509,30518 ----
  
  installcheck-target-libtermcap: \
      configure-target-libtermcap 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libtermcap/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libtermcap" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libtermcap:
*** 26250,26316 ****
  @endif target-libtermcap
  
  
- .PHONY: configure-target-winsup maybe-configure-target-winsup
- maybe-configure-target-winsup:
- @if target-winsup
- maybe-configure-target-winsup: configure-target-winsup
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/winsup/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
  	rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out
  
  configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/winsup; \
  	cd "$(TARGET_SUBDIR)/winsup" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/winsup"; \
! 	  libsrcdir="$$s/winsup"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-winsup
  
  .PHONY: all-target-winsup maybe-all-target-winsup
  maybe-all-target-winsup:
  @if target-winsup
  TARGET-target-winsup=all
  maybe-all-target-winsup: all-target-winsup
  all-target-winsup: configure-target-winsup
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-winsup))
  @endif target-winsup
  
  .PHONY: check-target-winsup maybe-check-target-winsup
  maybe-check-target-winsup:
  @if target-winsup
  maybe-check-target-winsup: check-target-winsup
  
  check-target-winsup:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 30569,30642 ----
  @endif target-libtermcap
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-winsup
  $(TARGET_SUBDIR)/winsup/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
  	rm -f $(TARGET_SUBDIR)/winsup/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/winsup/multilib.out
+ @endif target-winsup
  
+ 
+ 
+ .PHONY: configure-target-winsup maybe-configure-target-winsup
+ maybe-configure-target-winsup:
+ @if target-winsup
+ maybe-configure-target-winsup: configure-target-winsup
  configure-target-winsup: $(TARGET_SUBDIR)/winsup/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/winsup/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/winsup ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/winsup; \
  	cd "$(TARGET_SUBDIR)/winsup" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/winsup/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/winsup"; \
! 	libsrcdir="$$s/winsup"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-winsup
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-winsup maybe-all-target-winsup
  maybe-all-target-winsup:
  @if target-winsup
  TARGET-target-winsup=all
  maybe-all-target-winsup: all-target-winsup
  all-target-winsup: configure-target-winsup
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-winsup))
  @endif target-winsup
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-winsup maybe-check-target-winsup
  maybe-check-target-winsup:
  @if target-winsup
  maybe-check-target-winsup: check-target-winsup
  
  check-target-winsup:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-winsup:
*** 26323,26331 ****
  maybe-install-target-winsup: install-target-winsup
  
  install-target-winsup: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 30649,30657 ----
  maybe-install-target-winsup: install-target-winsup
  
  install-target-winsup: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/winsup && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-winsup: info-target-wi
*** 26341,26350 ****
  
  info-target-winsup: \
      configure-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30667,30676 ----
  
  info-target-winsup: \
      configure-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-winsup: dvi-target-wins
*** 26367,26376 ****
  
  dvi-target-winsup: \
      configure-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30693,30702 ----
  
  dvi-target-winsup: \
      configure-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-winsup: html-target-wi
*** 26393,26402 ****
  
  html-target-winsup: \
      configure-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30719,30728 ----
  
  html-target-winsup: \
      configure-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-winsup: TAGS-target-wi
*** 26419,26428 ****
  
  TAGS-target-winsup: \
      configure-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30745,30754 ----
  
  TAGS-target-winsup: \
      configure-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-winsup: instal
*** 26446,26455 ****
  install-info-target-winsup: \
      configure-target-winsup \
      info-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30772,30781 ----
  install-info-target-winsup: \
      configure-target-winsup \
      info-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-winsup: instal
*** 26472,26481 ****
  
  installcheck-target-winsup: \
      configure-target-winsup 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30798,30807 ----
  
  installcheck-target-winsup: \
      configure-target-winsup 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-winsup:
*** 26497,26506 ****
  maybe-mostlyclean-target-winsup: mostlyclean-target-winsup
  
  mostlyclean-target-winsup: 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30823,30832 ----
  maybe-mostlyclean-target-winsup: mostlyclean-target-winsup
  
  mostlyclean-target-winsup: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-winsup:
*** 26522,26531 ****
  maybe-clean-target-winsup: clean-target-winsup
  
  clean-target-winsup: 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30848,30857 ----
  maybe-clean-target-winsup: clean-target-winsup
  
  clean-target-winsup: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-winsup:
*** 26547,26556 ****
  maybe-distclean-target-winsup: distclean-target-winsup
  
  distclean-target-winsup: 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30873,30882 ----
  maybe-distclean-target-winsup: distclean-target-winsup
  
  distclean-target-winsup: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-winsup:
*** 26572,26581 ****
  maybe-maintainer-clean-target-winsup: maintainer-clean-target-winsup
  
  maintainer-clean-target-winsup: 
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 30898,30907 ----
  maybe-maintainer-clean-target-winsup: maintainer-clean-target-winsup
  
  maintainer-clean-target-winsup: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/winsup/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/winsup" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-winsup: 
*** 26592,26649 ****
  @endif target-winsup
  
  
- .PHONY: configure-target-libgloss maybe-configure-target-libgloss
- maybe-configure-target-libgloss:
- @if target-libgloss
- maybe-configure-target-libgloss: configure-target-libgloss
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
  	rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out
  
  configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libgloss; \
  	cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libgloss"; \
! 	  libsrcdir="$$s/libgloss"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libgloss
  
  .PHONY: all-target-libgloss maybe-all-target-libgloss
  maybe-all-target-libgloss:
  @if target-libgloss
  TARGET-target-libgloss=all
  maybe-all-target-libgloss: all-target-libgloss
  all-target-libgloss: configure-target-libgloss
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgloss && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libgloss))
  @endif target-libgloss
  
  .PHONY: check-target-libgloss maybe-check-target-libgloss
  maybe-check-target-libgloss:
  @if target-libgloss
--- 30918,30982 ----
  @endif target-winsup
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libgloss
  $(TARGET_SUBDIR)/libgloss/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
  	rm -f $(TARGET_SUBDIR)/libgloss/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libgloss/multilib.out
+ @endif target-libgloss
+ 
+ 
  
+ .PHONY: configure-target-libgloss maybe-configure-target-libgloss
+ maybe-configure-target-libgloss:
+ @if target-libgloss
+ maybe-configure-target-libgloss: configure-target-libgloss
  configure-target-libgloss: $(TARGET_SUBDIR)/libgloss/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libgloss/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgloss ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libgloss; \
  	cd "$(TARGET_SUBDIR)/libgloss" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libgloss/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libgloss"; \
! 	libsrcdir="$$s/libgloss"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libgloss
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libgloss maybe-all-target-libgloss
  maybe-all-target-libgloss:
  @if target-libgloss
  TARGET-target-libgloss=all
  maybe-all-target-libgloss: all-target-libgloss
  all-target-libgloss: configure-target-libgloss
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgloss && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libgloss))
  @endif target-libgloss
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libgloss maybe-check-target-libgloss
  maybe-check-target-libgloss:
  @if target-libgloss
*************** maybe-install-target-libgloss:
*** 26660,26668 ****
  maybe-install-target-libgloss: install-target-libgloss
  
  install-target-libgloss: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgloss && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 30993,31001 ----
  maybe-install-target-libgloss: install-target-libgloss
  
  install-target-libgloss: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libgloss && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libgloss: info-target-
*** 26678,26687 ****
  
  info-target-libgloss: \
      configure-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31011,31020 ----
  
  info-target-libgloss: \
      configure-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libgloss: dvi-target-li
*** 26704,26713 ****
  
  dvi-target-libgloss: \
      configure-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31037,31046 ----
  
  dvi-target-libgloss: \
      configure-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libgloss: html-target-
*** 26730,26739 ****
  
  html-target-libgloss: \
      configure-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31063,31072 ----
  
  html-target-libgloss: \
      configure-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libgloss: TAGS-target-
*** 26756,26765 ****
  
  TAGS-target-libgloss: \
      configure-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31089,31098 ----
  
  TAGS-target-libgloss: \
      configure-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libgloss: inst
*** 26783,26792 ****
  install-info-target-libgloss: \
      configure-target-libgloss \
      info-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31116,31125 ----
  install-info-target-libgloss: \
      configure-target-libgloss \
      info-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libgloss: inst
*** 26809,26818 ****
  
  installcheck-target-libgloss: \
      configure-target-libgloss 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31142,31151 ----
  
  installcheck-target-libgloss: \
      configure-target-libgloss 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libgloss:
*** 26834,26843 ****
  maybe-mostlyclean-target-libgloss: mostlyclean-target-libgloss
  
  mostlyclean-target-libgloss: 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31167,31176 ----
  maybe-mostlyclean-target-libgloss: mostlyclean-target-libgloss
  
  mostlyclean-target-libgloss: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libgloss:
*** 26859,26868 ****
  maybe-clean-target-libgloss: clean-target-libgloss
  
  clean-target-libgloss: 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31192,31201 ----
  maybe-clean-target-libgloss: clean-target-libgloss
  
  clean-target-libgloss: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libgloss:
*** 26884,26893 ****
  maybe-distclean-target-libgloss: distclean-target-libgloss
  
  distclean-target-libgloss: 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31217,31226 ----
  maybe-distclean-target-libgloss: distclean-target-libgloss
  
  distclean-target-libgloss: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libgloss:
*** 26909,26918 ****
  maybe-maintainer-clean-target-libgloss: maintainer-clean-target-libgloss
  
  maintainer-clean-target-libgloss: 
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31242,31251 ----
  maybe-maintainer-clean-target-libgloss: maintainer-clean-target-libgloss
  
  maintainer-clean-target-libgloss: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libgloss/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgloss" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libgloss: 
*** 26929,26995 ****
  @endif target-libgloss
  
  
- .PHONY: configure-target-libiberty maybe-configure-target-libiberty
- maybe-configure-target-libiberty:
- @if target-libiberty
- maybe-configure-target-libiberty: configure-target-libiberty
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
  	rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out
  
  configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libiberty; \
  	cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libiberty"; \
! 	  libsrcdir="$$s/libiberty"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libiberty
  
  .PHONY: all-target-libiberty maybe-all-target-libiberty
  maybe-all-target-libiberty:
  @if target-libiberty
  TARGET-target-libiberty=all
  maybe-all-target-libiberty: all-target-libiberty
  all-target-libiberty: configure-target-libiberty
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libiberty))
  @endif target-libiberty
  
  .PHONY: check-target-libiberty maybe-check-target-libiberty
  maybe-check-target-libiberty:
  @if target-libiberty
  maybe-check-target-libiberty: check-target-libiberty
  
  check-target-libiberty:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 31262,31335 ----
  @endif target-libgloss
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libiberty
  $(TARGET_SUBDIR)/libiberty/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
  	rm -f $(TARGET_SUBDIR)/libiberty/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libiberty/multilib.out
+ @endif target-libiberty
+ 
  
+ 
+ .PHONY: configure-target-libiberty maybe-configure-target-libiberty
+ maybe-configure-target-libiberty:
+ @if target-libiberty
+ maybe-configure-target-libiberty: configure-target-libiberty
  configure-target-libiberty: $(TARGET_SUBDIR)/libiberty/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libiberty/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libiberty ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libiberty; \
  	cd "$(TARGET_SUBDIR)/libiberty" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libiberty/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libiberty"; \
! 	libsrcdir="$$s/libiberty"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libiberty
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libiberty maybe-all-target-libiberty
  maybe-all-target-libiberty:
  @if target-libiberty
  TARGET-target-libiberty=all
  maybe-all-target-libiberty: all-target-libiberty
  all-target-libiberty: configure-target-libiberty
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libiberty))
  @endif target-libiberty
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libiberty maybe-check-target-libiberty
  maybe-check-target-libiberty:
  @if target-libiberty
  maybe-check-target-libiberty: check-target-libiberty
  
  check-target-libiberty:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libiberty:
*** 27002,27010 ****
  maybe-install-target-libiberty: install-target-libiberty
  
  install-target-libiberty: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 31342,31350 ----
  maybe-install-target-libiberty: install-target-libiberty
  
  install-target-libiberty: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libiberty && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libiberty: info-target
*** 27020,27029 ****
  
  info-target-libiberty: \
      configure-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31360,31369 ----
  
  info-target-libiberty: \
      configure-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libiberty: dvi-target-l
*** 27046,27055 ****
  
  dvi-target-libiberty: \
      configure-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31386,31395 ----
  
  dvi-target-libiberty: \
      configure-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libiberty: html-target
*** 27072,27081 ****
  
  html-target-libiberty: \
      configure-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31412,31421 ----
  
  html-target-libiberty: \
      configure-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libiberty: TAGS-target
*** 27098,27107 ****
  
  TAGS-target-libiberty: \
      configure-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31438,31447 ----
  
  TAGS-target-libiberty: \
      configure-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libiberty: ins
*** 27125,27134 ****
  install-info-target-libiberty: \
      configure-target-libiberty \
      info-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31465,31474 ----
  install-info-target-libiberty: \
      configure-target-libiberty \
      info-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libiberty: ins
*** 27151,27160 ****
  
  installcheck-target-libiberty: \
      configure-target-libiberty 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31491,31500 ----
  
  installcheck-target-libiberty: \
      configure-target-libiberty 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libiberty:
*** 27176,27185 ****
  maybe-mostlyclean-target-libiberty: mostlyclean-target-libiberty
  
  mostlyclean-target-libiberty: 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31516,31525 ----
  maybe-mostlyclean-target-libiberty: mostlyclean-target-libiberty
  
  mostlyclean-target-libiberty: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libiberty:
*** 27201,27210 ****
  maybe-clean-target-libiberty: clean-target-libiberty
  
  clean-target-libiberty: 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31541,31550 ----
  maybe-clean-target-libiberty: clean-target-libiberty
  
  clean-target-libiberty: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libiberty:
*** 27226,27235 ****
  maybe-distclean-target-libiberty: distclean-target-libiberty
  
  distclean-target-libiberty: 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31566,31575 ----
  maybe-distclean-target-libiberty: distclean-target-libiberty
  
  distclean-target-libiberty: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libiberty:
*** 27251,27260 ****
  maybe-maintainer-clean-target-libiberty: maintainer-clean-target-libiberty
  
  maintainer-clean-target-libiberty: 
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31591,31600 ----
  maybe-maintainer-clean-target-libiberty: maintainer-clean-target-libiberty
  
  maintainer-clean-target-libiberty: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libiberty/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libiberty" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libiberty: 
*** 27271,27337 ****
  @endif target-libiberty
  
  
- .PHONY: configure-target-gperf maybe-configure-target-gperf
- maybe-configure-target-gperf:
- @if target-gperf
- maybe-configure-target-gperf: configure-target-gperf
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/gperf/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
  	rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out
  
  configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/gperf; \
  	cd "$(TARGET_SUBDIR)/gperf" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/gperf"; \
! 	  libsrcdir="$$s/gperf"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-gperf
  
  .PHONY: all-target-gperf maybe-all-target-gperf
  maybe-all-target-gperf:
  @if target-gperf
  TARGET-target-gperf=all
  maybe-all-target-gperf: all-target-gperf
  all-target-gperf: configure-target-gperf
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-gperf))
  @endif target-gperf
  
  .PHONY: check-target-gperf maybe-check-target-gperf
  maybe-check-target-gperf:
  @if target-gperf
  maybe-check-target-gperf: check-target-gperf
  
  check-target-gperf:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 31611,31684 ----
  @endif target-libiberty
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-gperf
  $(TARGET_SUBDIR)/gperf/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
  	rm -f $(TARGET_SUBDIR)/gperf/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/gperf/multilib.out
+ @endif target-gperf
+ 
  
+ 
+ .PHONY: configure-target-gperf maybe-configure-target-gperf
+ maybe-configure-target-gperf:
+ @if target-gperf
+ maybe-configure-target-gperf: configure-target-gperf
  configure-target-gperf: $(TARGET_SUBDIR)/gperf/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/gperf/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/gperf ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/gperf; \
  	cd "$(TARGET_SUBDIR)/gperf" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/gperf/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/gperf"; \
! 	libsrcdir="$$s/gperf"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-gperf
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-gperf maybe-all-target-gperf
  maybe-all-target-gperf:
  @if target-gperf
  TARGET-target-gperf=all
  maybe-all-target-gperf: all-target-gperf
  all-target-gperf: configure-target-gperf
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-gperf))
  @endif target-gperf
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-gperf maybe-check-target-gperf
  maybe-check-target-gperf:
  @if target-gperf
  maybe-check-target-gperf: check-target-gperf
  
  check-target-gperf:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-gperf:
*** 27344,27352 ****
  maybe-install-target-gperf: install-target-gperf
  
  install-target-gperf: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 31691,31699 ----
  maybe-install-target-gperf: install-target-gperf
  
  install-target-gperf: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/gperf && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-gperf: info-target-gpe
*** 27362,27371 ****
  
  info-target-gperf: \
      configure-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31709,31718 ----
  
  info-target-gperf: \
      configure-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-gperf: dvi-target-gperf
*** 27388,27397 ****
  
  dvi-target-gperf: \
      configure-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31735,31744 ----
  
  dvi-target-gperf: \
      configure-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-gperf: html-target-gpe
*** 27414,27423 ****
  
  html-target-gperf: \
      configure-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31761,31770 ----
  
  html-target-gperf: \
      configure-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-gperf: TAGS-target-gpe
*** 27440,27449 ****
  
  TAGS-target-gperf: \
      configure-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31787,31796 ----
  
  TAGS-target-gperf: \
      configure-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-gperf: install
*** 27467,27476 ****
  install-info-target-gperf: \
      configure-target-gperf \
      info-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31814,31823 ----
  install-info-target-gperf: \
      configure-target-gperf \
      info-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-gperf: install
*** 27493,27502 ****
  
  installcheck-target-gperf: \
      configure-target-gperf 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31840,31849 ----
  
  installcheck-target-gperf: \
      configure-target-gperf 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-gperf:
*** 27518,27527 ****
  maybe-mostlyclean-target-gperf: mostlyclean-target-gperf
  
  mostlyclean-target-gperf: 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31865,31874 ----
  maybe-mostlyclean-target-gperf: mostlyclean-target-gperf
  
  mostlyclean-target-gperf: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-gperf:
*** 27543,27552 ****
  maybe-clean-target-gperf: clean-target-gperf
  
  clean-target-gperf: 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31890,31899 ----
  maybe-clean-target-gperf: clean-target-gperf
  
  clean-target-gperf: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-gperf:
*** 27568,27577 ****
  maybe-distclean-target-gperf: distclean-target-gperf
  
  distclean-target-gperf: 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31915,31924 ----
  maybe-distclean-target-gperf: distclean-target-gperf
  
  distclean-target-gperf: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-gperf:
*** 27593,27602 ****
  maybe-maintainer-clean-target-gperf: maintainer-clean-target-gperf
  
  maintainer-clean-target-gperf: 
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 31940,31949 ----
  maybe-maintainer-clean-target-gperf: maintainer-clean-target-gperf
  
  maintainer-clean-target-gperf: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/gperf/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/gperf" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-gperf: 
*** 27613,27670 ****
  @endif target-gperf
  
  
- .PHONY: configure-target-examples maybe-configure-target-examples
- maybe-configure-target-examples:
- @if target-examples
- maybe-configure-target-examples: configure-target-examples
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/examples/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
  	rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out
  
  configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/examples; \
  	cd "$(TARGET_SUBDIR)/examples" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/examples"; \
! 	  libsrcdir="$$s/examples"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-examples
  
  .PHONY: all-target-examples maybe-all-target-examples
  maybe-all-target-examples:
  @if target-examples
  TARGET-target-examples=all
  maybe-all-target-examples: all-target-examples
  all-target-examples: configure-target-examples
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/examples && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-examples))
  @endif target-examples
  
  .PHONY: check-target-examples maybe-check-target-examples
  maybe-check-target-examples:
  @if target-examples
--- 31960,32024 ----
  @endif target-gperf
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-examples
  $(TARGET_SUBDIR)/examples/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
  	rm -f $(TARGET_SUBDIR)/examples/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/examples/multilib.out
+ @endif target-examples
  
+ 
+ 
+ .PHONY: configure-target-examples maybe-configure-target-examples
+ maybe-configure-target-examples:
+ @if target-examples
+ maybe-configure-target-examples: configure-target-examples
  configure-target-examples: $(TARGET_SUBDIR)/examples/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/examples/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/examples ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/examples; \
  	cd "$(TARGET_SUBDIR)/examples" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/examples/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/examples"; \
! 	libsrcdir="$$s/examples"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-examples
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-examples maybe-all-target-examples
  maybe-all-target-examples:
  @if target-examples
  TARGET-target-examples=all
  maybe-all-target-examples: all-target-examples
  all-target-examples: configure-target-examples
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/examples && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-examples))
  @endif target-examples
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-examples maybe-check-target-examples
  maybe-check-target-examples:
  @if target-examples
*************** maybe-info-target-examples: info-target-
*** 27694,27703 ****
  
  info-target-examples: \
      configure-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32048,32057 ----
  
  info-target-examples: \
      configure-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-examples: dvi-target-ex
*** 27720,27729 ****
  
  dvi-target-examples: \
      configure-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32074,32083 ----
  
  dvi-target-examples: \
      configure-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-examples: html-target-
*** 27746,27755 ****
  
  html-target-examples: \
      configure-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32100,32109 ----
  
  html-target-examples: \
      configure-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-examples: TAGS-target-
*** 27772,27781 ****
  
  TAGS-target-examples: \
      configure-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32126,32135 ----
  
  TAGS-target-examples: \
      configure-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-examples: inst
*** 27799,27808 ****
  install-info-target-examples: \
      configure-target-examples \
      info-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32153,32162 ----
  install-info-target-examples: \
      configure-target-examples \
      info-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-examples: inst
*** 27825,27834 ****
  
  installcheck-target-examples: \
      configure-target-examples 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32179,32188 ----
  
  installcheck-target-examples: \
      configure-target-examples 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-examples:
*** 27850,27859 ****
  maybe-mostlyclean-target-examples: mostlyclean-target-examples
  
  mostlyclean-target-examples: 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32204,32213 ----
  maybe-mostlyclean-target-examples: mostlyclean-target-examples
  
  mostlyclean-target-examples: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-examples:
*** 27875,27884 ****
  maybe-clean-target-examples: clean-target-examples
  
  clean-target-examples: 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32229,32238 ----
  maybe-clean-target-examples: clean-target-examples
  
  clean-target-examples: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-examples:
*** 27900,27909 ****
  maybe-distclean-target-examples: distclean-target-examples
  
  distclean-target-examples: 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32254,32263 ----
  maybe-distclean-target-examples: distclean-target-examples
  
  distclean-target-examples: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-examples:
*** 27925,27934 ****
  maybe-maintainer-clean-target-examples: maintainer-clean-target-examples
  
  maintainer-clean-target-examples: 
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32279,32288 ----
  maybe-maintainer-clean-target-examples: maintainer-clean-target-examples
  
  maintainer-clean-target-examples: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/examples/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/examples" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-examples: 
*** 27945,28011 ****
  @endif target-examples
  
  
- .PHONY: configure-target-libffi maybe-configure-target-libffi
- maybe-configure-target-libffi:
- @if target-libffi
- maybe-configure-target-libffi: configure-target-libffi
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libffi/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
  	rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out
  
  configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libffi; \
  	cd "$(TARGET_SUBDIR)/libffi" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libffi"; \
! 	  libsrcdir="$$s/libffi"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libffi
  
  .PHONY: all-target-libffi maybe-all-target-libffi
  maybe-all-target-libffi:
  @if target-libffi
  TARGET-target-libffi=all
  maybe-all-target-libffi: all-target-libffi
  all-target-libffi: configure-target-libffi
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libffi))
  @endif target-libffi
  
  .PHONY: check-target-libffi maybe-check-target-libffi
  maybe-check-target-libffi:
  @if target-libffi
  maybe-check-target-libffi: check-target-libffi
  
  check-target-libffi:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 32299,32372 ----
  @endif target-examples
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libffi
  $(TARGET_SUBDIR)/libffi/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
  	rm -f $(TARGET_SUBDIR)/libffi/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libffi/multilib.out
+ @endif target-libffi
+ 
+ 
  
+ .PHONY: configure-target-libffi maybe-configure-target-libffi
+ maybe-configure-target-libffi:
+ @if target-libffi
+ maybe-configure-target-libffi: configure-target-libffi
  configure-target-libffi: $(TARGET_SUBDIR)/libffi/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libffi/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libffi ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libffi; \
  	cd "$(TARGET_SUBDIR)/libffi" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libffi/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libffi"; \
! 	libsrcdir="$$s/libffi"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libffi
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libffi maybe-all-target-libffi
  maybe-all-target-libffi:
  @if target-libffi
  TARGET-target-libffi=all
  maybe-all-target-libffi: all-target-libffi
  all-target-libffi: configure-target-libffi
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libffi))
  @endif target-libffi
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libffi maybe-check-target-libffi
  maybe-check-target-libffi:
  @if target-libffi
  maybe-check-target-libffi: check-target-libffi
  
  check-target-libffi:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libffi:
*** 28018,28026 ****
  maybe-install-target-libffi: install-target-libffi
  
  install-target-libffi: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 32379,32387 ----
  maybe-install-target-libffi: install-target-libffi
  
  install-target-libffi: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libffi && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libffi: info-target-li
*** 28036,28045 ****
  
  info-target-libffi: \
      configure-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32397,32406 ----
  
  info-target-libffi: \
      configure-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libffi: dvi-target-libf
*** 28062,28071 ****
  
  dvi-target-libffi: \
      configure-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32423,32432 ----
  
  dvi-target-libffi: \
      configure-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libffi: html-target-li
*** 28088,28097 ****
  
  html-target-libffi: \
      configure-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32449,32458 ----
  
  html-target-libffi: \
      configure-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libffi: TAGS-target-li
*** 28114,28123 ****
  
  TAGS-target-libffi: \
      configure-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32475,32484 ----
  
  TAGS-target-libffi: \
      configure-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libffi: instal
*** 28141,28150 ****
  install-info-target-libffi: \
      configure-target-libffi \
      info-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32502,32511 ----
  install-info-target-libffi: \
      configure-target-libffi \
      info-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libffi: instal
*** 28167,28176 ****
  
  installcheck-target-libffi: \
      configure-target-libffi 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32528,32537 ----
  
  installcheck-target-libffi: \
      configure-target-libffi 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libffi:
*** 28192,28201 ****
  maybe-mostlyclean-target-libffi: mostlyclean-target-libffi
  
  mostlyclean-target-libffi: 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32553,32562 ----
  maybe-mostlyclean-target-libffi: mostlyclean-target-libffi
  
  mostlyclean-target-libffi: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libffi:
*** 28217,28226 ****
  maybe-clean-target-libffi: clean-target-libffi
  
  clean-target-libffi: 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32578,32587 ----
  maybe-clean-target-libffi: clean-target-libffi
  
  clean-target-libffi: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libffi:
*** 28242,28251 ****
  maybe-distclean-target-libffi: distclean-target-libffi
  
  distclean-target-libffi: 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32603,32612 ----
  maybe-distclean-target-libffi: distclean-target-libffi
  
  distclean-target-libffi: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libffi:
*** 28267,28276 ****
  maybe-maintainer-clean-target-libffi: maintainer-clean-target-libffi
  
  maintainer-clean-target-libffi: 
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32628,32637 ----
  maybe-maintainer-clean-target-libffi: maintainer-clean-target-libffi
  
  maintainer-clean-target-libffi: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libffi/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libffi" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libffi: 
*** 28287,28353 ****
  @endif target-libffi
  
  
- .PHONY: configure-target-libjava maybe-configure-target-libjava
- maybe-configure-target-libjava:
- @if target-libjava
- maybe-configure-target-libjava: configure-target-libjava
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libjava/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
  	rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out
  
  configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libjava; \
  	cd "$(TARGET_SUBDIR)/libjava" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libjava"; \
! 	  libsrcdir="$$s/libjava"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libjava
  
  .PHONY: all-target-libjava maybe-all-target-libjava
  maybe-all-target-libjava:
  @if target-libjava
  TARGET-target-libjava=all
  maybe-all-target-libjava: all-target-libjava
  all-target-libjava: configure-target-libjava
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   $(TARGET-target-libjava))
  @endif target-libjava
  
  .PHONY: check-target-libjava maybe-check-target-libjava
  maybe-check-target-libjava:
  @if target-libjava
  maybe-check-target-libjava: check-target-libjava
  
  check-target-libjava:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   check)
--- 32648,32721 ----
  @endif target-libffi
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libjava
  $(TARGET_SUBDIR)/libjava/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
  	rm -f $(TARGET_SUBDIR)/libjava/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libjava/multilib.out
+ @endif target-libjava
  
+ 
+ 
+ .PHONY: configure-target-libjava maybe-configure-target-libjava
+ maybe-configure-target-libjava:
+ @if target-libjava
+ maybe-configure-target-libjava: configure-target-libjava
  configure-target-libjava: $(TARGET_SUBDIR)/libjava/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libjava/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libjava ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libjava; \
  	cd "$(TARGET_SUBDIR)/libjava" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libjava/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libjava"; \
! 	libsrcdir="$$s/libjava"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libjava
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libjava maybe-all-target-libjava
  maybe-all-target-libjava:
  @if target-libjava
  TARGET-target-libjava=all
  maybe-all-target-libjava: all-target-libjava
  all-target-libjava: configure-target-libjava
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'  $(TARGET-target-libjava))
  @endif target-libjava
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libjava maybe-check-target-libjava
  maybe-check-target-libjava:
  @if target-libjava
  maybe-check-target-libjava: check-target-libjava
  
  check-target-libjava:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'   check)
*************** maybe-install-target-libjava:
*** 28360,28368 ****
  maybe-install-target-libjava: install-target-libjava
  
  install-target-libjava: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 32728,32736 ----
  maybe-install-target-libjava: install-target-libjava
  
  install-target-libjava: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libjava && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libjava: info-target-l
*** 28378,28387 ****
  
  info-target-libjava: \
      configure-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32746,32755 ----
  
  info-target-libjava: \
      configure-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libjava: dvi-target-lib
*** 28404,28413 ****
  
  dvi-target-libjava: \
      configure-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32772,32781 ----
  
  dvi-target-libjava: \
      configure-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libjava: html-target-l
*** 28430,28439 ****
  
  html-target-libjava: \
      configure-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32798,32807 ----
  
  html-target-libjava: \
      configure-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libjava: TAGS-target-l
*** 28456,28465 ****
  
  TAGS-target-libjava: \
      configure-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32824,32833 ----
  
  TAGS-target-libjava: \
      configure-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libjava: insta
*** 28483,28492 ****
  install-info-target-libjava: \
      configure-target-libjava \
      info-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32851,32860 ----
  install-info-target-libjava: \
      configure-target-libjava \
      info-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libjava: insta
*** 28509,28518 ****
  
  installcheck-target-libjava: \
      configure-target-libjava 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32877,32886 ----
  
  installcheck-target-libjava: \
      configure-target-libjava 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libjava:
*** 28534,28543 ****
  maybe-mostlyclean-target-libjava: mostlyclean-target-libjava
  
  mostlyclean-target-libjava: 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32902,32911 ----
  maybe-mostlyclean-target-libjava: mostlyclean-target-libjava
  
  mostlyclean-target-libjava: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libjava:
*** 28559,28568 ****
  maybe-clean-target-libjava: clean-target-libjava
  
  clean-target-libjava: 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32927,32936 ----
  maybe-clean-target-libjava: clean-target-libjava
  
  clean-target-libjava: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libjava:
*** 28584,28593 ****
  maybe-distclean-target-libjava: distclean-target-libjava
  
  distclean-target-libjava: 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32952,32961 ----
  maybe-distclean-target-libjava: distclean-target-libjava
  
  distclean-target-libjava: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libjava:
*** 28609,28618 ****
  maybe-maintainer-clean-target-libjava: maintainer-clean-target-libjava
  
  maintainer-clean-target-libjava: 
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 32977,32986 ----
  maybe-maintainer-clean-target-libjava: maintainer-clean-target-libjava
  
  maintainer-clean-target-libjava: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libjava/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(RAW_CXX_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libjava" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-libjava: 
*** 28629,28717 ****
  @endif target-libjava
  
  
- .PHONY: configure-target-zlib maybe-configure-target-zlib
- maybe-configure-target-zlib:
- @if target-zlib
- maybe-configure-target-zlib: configure-target-zlib
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/zlib/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
  	rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out
  
  configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/zlib; \
  	cd "$(TARGET_SUBDIR)/zlib" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(TARGET_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/zlib "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/zlib"; \
! 	  libsrcdir="$$s/zlib"; \
! 	fi; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-zlib
  
  .PHONY: all-target-zlib maybe-all-target-zlib
  maybe-all-target-zlib:
  @if target-zlib
  TARGET-target-zlib=all
  maybe-all-target-zlib: all-target-zlib
  all-target-zlib: configure-target-zlib
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-zlib))
  @endif target-zlib
  
  .PHONY: check-target-zlib maybe-check-target-zlib
  maybe-check-target-zlib:
  @if target-zlib
  maybe-check-target-zlib: check-target-zlib
  
  check-target-zlib:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 32997,33070 ----
  @endif target-libjava
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-zlib
  $(TARGET_SUBDIR)/zlib/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
  	rm -f $(TARGET_SUBDIR)/zlib/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/zlib/multilib.out
+ @endif target-zlib
+ 
+ 
  
+ .PHONY: configure-target-zlib maybe-configure-target-zlib
+ maybe-configure-target-zlib:
+ @if target-zlib
+ maybe-configure-target-zlib: configure-target-zlib
  configure-target-zlib: $(TARGET_SUBDIR)/zlib/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/zlib/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/zlib ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/zlib; \
  	cd "$(TARGET_SUBDIR)/zlib" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/zlib/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/zlib"; \
! 	libsrcdir="$$s/zlib"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-zlib
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-zlib maybe-all-target-zlib
  maybe-all-target-zlib:
  @if target-zlib
  TARGET-target-zlib=all
  maybe-all-target-zlib: all-target-zlib
  all-target-zlib: configure-target-zlib
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-zlib))
  @endif target-zlib
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-zlib maybe-check-target-zlib
  maybe-check-target-zlib:
  @if target-zlib
  maybe-check-target-zlib: check-target-zlib
  
  check-target-zlib:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-zlib:
*** 28724,28732 ****
  maybe-install-target-zlib: install-target-zlib
  
  install-target-zlib: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 33077,33085 ----
  maybe-install-target-zlib: install-target-zlib
  
  install-target-zlib: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/zlib && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-zlib: info-target-zlib
*** 28742,28751 ****
  
  info-target-zlib: \
      configure-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33095,33104 ----
  
  info-target-zlib: \
      configure-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-zlib: dvi-target-zlib
*** 28768,28777 ****
  
  dvi-target-zlib: \
      configure-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33121,33130 ----
  
  dvi-target-zlib: \
      configure-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-zlib: html-target-zlib
*** 28794,28803 ****
  
  html-target-zlib: \
      configure-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33147,33156 ----
  
  html-target-zlib: \
      configure-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-zlib: TAGS-target-zlib
*** 28820,28829 ****
  
  TAGS-target-zlib: \
      configure-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33173,33182 ----
  
  TAGS-target-zlib: \
      configure-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-zlib: install-
*** 28847,28856 ****
  install-info-target-zlib: \
      configure-target-zlib \
      info-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33200,33209 ----
  install-info-target-zlib: \
      configure-target-zlib \
      info-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-zlib: installc
*** 28873,28882 ****
  
  installcheck-target-zlib: \
      configure-target-zlib 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33226,33235 ----
  
  installcheck-target-zlib: \
      configure-target-zlib 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-zlib:
*** 28898,28907 ****
  maybe-mostlyclean-target-zlib: mostlyclean-target-zlib
  
  mostlyclean-target-zlib: 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33251,33260 ----
  maybe-mostlyclean-target-zlib: mostlyclean-target-zlib
  
  mostlyclean-target-zlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-zlib:
*** 28923,28932 ****
  maybe-clean-target-zlib: clean-target-zlib
  
  clean-target-zlib: 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33276,33285 ----
  maybe-clean-target-zlib: clean-target-zlib
  
  clean-target-zlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-zlib:
*** 28948,28957 ****
  maybe-distclean-target-zlib: distclean-target-zlib
  
  distclean-target-zlib: 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33301,33310 ----
  maybe-distclean-target-zlib: distclean-target-zlib
  
  distclean-target-zlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-zlib:
*** 28973,28982 ****
  maybe-maintainer-clean-target-zlib: maintainer-clean-target-zlib
  
  maintainer-clean-target-zlib: 
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33326,33335 ----
  maybe-maintainer-clean-target-zlib: maintainer-clean-target-zlib
  
  maintainer-clean-target-zlib: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/zlib/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/zlib" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-zlib: 
*** 28993,29059 ****
  @endif target-zlib
  
  
- .PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
- maybe-configure-target-boehm-gc:
- @if target-boehm-gc
- maybe-configure-target-boehm-gc: configure-target-boehm-gc
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
  	rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out
  
  configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
  	cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
! 	  libsrcdir="$$s/boehm-gc"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-boehm-gc
  
  .PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
  maybe-all-target-boehm-gc:
  @if target-boehm-gc
  TARGET-target-boehm-gc=all
  maybe-all-target-boehm-gc: all-target-boehm-gc
  all-target-boehm-gc: configure-target-boehm-gc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-boehm-gc))
  @endif target-boehm-gc
  
  .PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
  maybe-check-target-boehm-gc:
  @if target-boehm-gc
  maybe-check-target-boehm-gc: check-target-boehm-gc
  
  check-target-boehm-gc:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 33346,33419 ----
  @endif target-zlib
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-boehm-gc
  $(TARGET_SUBDIR)/boehm-gc/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
  	rm -f $(TARGET_SUBDIR)/boehm-gc/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/boehm-gc/multilib.out
+ @endif target-boehm-gc
+ 
  
+ 
+ .PHONY: configure-target-boehm-gc maybe-configure-target-boehm-gc
+ maybe-configure-target-boehm-gc:
+ @if target-boehm-gc
+ maybe-configure-target-boehm-gc: configure-target-boehm-gc
  configure-target-boehm-gc: $(TARGET_SUBDIR)/boehm-gc/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/boehm-gc/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/boehm-gc ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/boehm-gc; \
  	cd "$(TARGET_SUBDIR)/boehm-gc" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/boehm-gc/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/boehm-gc"; \
! 	libsrcdir="$$s/boehm-gc"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-boehm-gc
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-boehm-gc maybe-all-target-boehm-gc
  maybe-all-target-boehm-gc:
  @if target-boehm-gc
  TARGET-target-boehm-gc=all
  maybe-all-target-boehm-gc: all-target-boehm-gc
  all-target-boehm-gc: configure-target-boehm-gc
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-boehm-gc))
  @endif target-boehm-gc
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-boehm-gc maybe-check-target-boehm-gc
  maybe-check-target-boehm-gc:
  @if target-boehm-gc
  maybe-check-target-boehm-gc: check-target-boehm-gc
  
  check-target-boehm-gc:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-boehm-gc:
*** 29066,29074 ****
  maybe-install-target-boehm-gc: install-target-boehm-gc
  
  install-target-boehm-gc: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 33426,33434 ----
  maybe-install-target-boehm-gc: install-target-boehm-gc
  
  install-target-boehm-gc: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/boehm-gc && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-boehm-gc: info-target-
*** 29084,29093 ****
  
  info-target-boehm-gc: \
      configure-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33444,33453 ----
  
  info-target-boehm-gc: \
      configure-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-boehm-gc: dvi-target-bo
*** 29110,29119 ****
  
  dvi-target-boehm-gc: \
      configure-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33470,33479 ----
  
  dvi-target-boehm-gc: \
      configure-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-boehm-gc: html-target-
*** 29136,29145 ****
  
  html-target-boehm-gc: \
      configure-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33496,33505 ----
  
  html-target-boehm-gc: \
      configure-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-boehm-gc: TAGS-target-
*** 29162,29171 ****
  
  TAGS-target-boehm-gc: \
      configure-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33522,33531 ----
  
  TAGS-target-boehm-gc: \
      configure-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-boehm-gc: inst
*** 29189,29198 ****
  install-info-target-boehm-gc: \
      configure-target-boehm-gc \
      info-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33549,33558 ----
  install-info-target-boehm-gc: \
      configure-target-boehm-gc \
      info-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-boehm-gc: inst
*** 29215,29224 ****
  
  installcheck-target-boehm-gc: \
      configure-target-boehm-gc 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33575,33584 ----
  
  installcheck-target-boehm-gc: \
      configure-target-boehm-gc 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-boehm-gc:
*** 29240,29249 ****
  maybe-mostlyclean-target-boehm-gc: mostlyclean-target-boehm-gc
  
  mostlyclean-target-boehm-gc: 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33600,33609 ----
  maybe-mostlyclean-target-boehm-gc: mostlyclean-target-boehm-gc
  
  mostlyclean-target-boehm-gc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-boehm-gc:
*** 29265,29274 ****
  maybe-clean-target-boehm-gc: clean-target-boehm-gc
  
  clean-target-boehm-gc: 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33625,33634 ----
  maybe-clean-target-boehm-gc: clean-target-boehm-gc
  
  clean-target-boehm-gc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-boehm-gc:
*** 29290,29299 ****
  maybe-distclean-target-boehm-gc: distclean-target-boehm-gc
  
  distclean-target-boehm-gc: 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33650,33659 ----
  maybe-distclean-target-boehm-gc: distclean-target-boehm-gc
  
  distclean-target-boehm-gc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-boehm-gc:
*** 29315,29324 ****
  maybe-maintainer-clean-target-boehm-gc: maintainer-clean-target-boehm-gc
  
  maintainer-clean-target-boehm-gc: 
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33675,33684 ----
  maybe-maintainer-clean-target-boehm-gc: maintainer-clean-target-boehm-gc
  
  maintainer-clean-target-boehm-gc: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/boehm-gc/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/boehm-gc" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-boehm-gc: 
*** 29335,29401 ****
  @endif target-boehm-gc
  
  
- .PHONY: configure-target-qthreads maybe-configure-target-qthreads
- maybe-configure-target-qthreads:
- @if target-qthreads
- maybe-configure-target-qthreads: configure-target-qthreads
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
  	rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out
  
  configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/qthreads; \
  	cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/qthreads"; \
! 	  libsrcdir="$$s/qthreads"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-qthreads
  
  .PHONY: all-target-qthreads maybe-all-target-qthreads
  maybe-all-target-qthreads:
  @if target-qthreads
  TARGET-target-qthreads=all
  maybe-all-target-qthreads: all-target-qthreads
  all-target-qthreads: configure-target-qthreads
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-qthreads))
  @endif target-qthreads
  
  .PHONY: check-target-qthreads maybe-check-target-qthreads
  maybe-check-target-qthreads:
  @if target-qthreads
  maybe-check-target-qthreads: check-target-qthreads
  
  check-target-qthreads:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 33695,33768 ----
  @endif target-boehm-gc
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-qthreads
  $(TARGET_SUBDIR)/qthreads/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
  	rm -f $(TARGET_SUBDIR)/qthreads/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/qthreads/multilib.out
+ @endif target-qthreads
+ 
  
+ 
+ .PHONY: configure-target-qthreads maybe-configure-target-qthreads
+ maybe-configure-target-qthreads:
+ @if target-qthreads
+ maybe-configure-target-qthreads: configure-target-qthreads
  configure-target-qthreads: $(TARGET_SUBDIR)/qthreads/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/qthreads/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/qthreads ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/qthreads; \
  	cd "$(TARGET_SUBDIR)/qthreads" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/qthreads/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/qthreads"; \
! 	libsrcdir="$$s/qthreads"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-qthreads
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-qthreads maybe-all-target-qthreads
  maybe-all-target-qthreads:
  @if target-qthreads
  TARGET-target-qthreads=all
  maybe-all-target-qthreads: all-target-qthreads
  all-target-qthreads: configure-target-qthreads
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-qthreads))
  @endif target-qthreads
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-qthreads maybe-check-target-qthreads
  maybe-check-target-qthreads:
  @if target-qthreads
  maybe-check-target-qthreads: check-target-qthreads
  
  check-target-qthreads:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-qthreads:
*** 29408,29416 ****
  maybe-install-target-qthreads: install-target-qthreads
  
  install-target-qthreads: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 33775,33783 ----
  maybe-install-target-qthreads: install-target-qthreads
  
  install-target-qthreads: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/qthreads && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-qthreads: info-target-
*** 29426,29435 ****
  
  info-target-qthreads: \
      configure-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33793,33802 ----
  
  info-target-qthreads: \
      configure-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-qthreads: dvi-target-qt
*** 29452,29461 ****
  
  dvi-target-qthreads: \
      configure-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33819,33828 ----
  
  dvi-target-qthreads: \
      configure-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-qthreads: html-target-
*** 29478,29487 ****
  
  html-target-qthreads: \
      configure-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33845,33854 ----
  
  html-target-qthreads: \
      configure-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-qthreads: TAGS-target-
*** 29504,29513 ****
  
  TAGS-target-qthreads: \
      configure-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33871,33880 ----
  
  TAGS-target-qthreads: \
      configure-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-qthreads: inst
*** 29531,29540 ****
  install-info-target-qthreads: \
      configure-target-qthreads \
      info-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33898,33907 ----
  install-info-target-qthreads: \
      configure-target-qthreads \
      info-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-qthreads: inst
*** 29557,29566 ****
  
  installcheck-target-qthreads: \
      configure-target-qthreads 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33924,33933 ----
  
  installcheck-target-qthreads: \
      configure-target-qthreads 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-qthreads:
*** 29582,29591 ****
  maybe-mostlyclean-target-qthreads: mostlyclean-target-qthreads
  
  mostlyclean-target-qthreads: 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33949,33958 ----
  maybe-mostlyclean-target-qthreads: mostlyclean-target-qthreads
  
  mostlyclean-target-qthreads: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-qthreads:
*** 29607,29616 ****
  maybe-clean-target-qthreads: clean-target-qthreads
  
  clean-target-qthreads: 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33974,33983 ----
  maybe-clean-target-qthreads: clean-target-qthreads
  
  clean-target-qthreads: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-qthreads:
*** 29632,29641 ****
  maybe-distclean-target-qthreads: distclean-target-qthreads
  
  distclean-target-qthreads: 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 33999,34008 ----
  maybe-distclean-target-qthreads: distclean-target-qthreads
  
  distclean-target-qthreads: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-qthreads:
*** 29657,29666 ****
  maybe-maintainer-clean-target-qthreads: maintainer-clean-target-qthreads
  
  maintainer-clean-target-qthreads: 
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34024,34033 ----
  maybe-maintainer-clean-target-qthreads: maintainer-clean-target-qthreads
  
  maintainer-clean-target-qthreads: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/qthreads/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/qthreads" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-qthreads: 
*** 29677,29743 ****
  @endif target-qthreads
  
  
- .PHONY: configure-target-rda maybe-configure-target-rda
- maybe-configure-target-rda:
- @if target-rda
- maybe-configure-target-rda: configure-target-rda
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/rda/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \
  	rm -f $(TARGET_SUBDIR)/rda/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/rda/multilib.out
  
  configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/rda/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/rda; \
  	cd "$(TARGET_SUBDIR)/rda" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/rda"; \
! 	  libsrcdir="$$s/rda"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-rda
  
  .PHONY: all-target-rda maybe-all-target-rda
  maybe-all-target-rda:
  @if target-rda
  TARGET-target-rda=all
  maybe-all-target-rda: all-target-rda
  all-target-rda: configure-target-rda
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-rda))
  @endif target-rda
  
  .PHONY: check-target-rda maybe-check-target-rda
  maybe-check-target-rda:
  @if target-rda
  maybe-check-target-rda: check-target-rda
  
  check-target-rda:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 34044,34117 ----
  @endif target-qthreads
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-rda
  $(TARGET_SUBDIR)/rda/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \
  	rm -f $(TARGET_SUBDIR)/rda/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/rda/multilib.out
+ @endif target-rda
+ 
  
+ 
+ .PHONY: configure-target-rda maybe-configure-target-rda
+ maybe-configure-target-rda:
+ @if target-rda
+ maybe-configure-target-rda: configure-target-rda
  configure-target-rda: $(TARGET_SUBDIR)/rda/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/rda/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/rda ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/rda; \
  	cd "$(TARGET_SUBDIR)/rda" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/rda/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/rda"; \
! 	libsrcdir="$$s/rda"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-rda
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-rda maybe-all-target-rda
  maybe-all-target-rda:
  @if target-rda
  TARGET-target-rda=all
  maybe-all-target-rda: all-target-rda
  all-target-rda: configure-target-rda
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-rda))
  @endif target-rda
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-rda maybe-check-target-rda
  maybe-check-target-rda:
  @if target-rda
  maybe-check-target-rda: check-target-rda
  
  check-target-rda:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-rda:
*** 29750,29758 ****
  maybe-install-target-rda: install-target-rda
  
  install-target-rda: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 34124,34132 ----
  maybe-install-target-rda: install-target-rda
  
  install-target-rda: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/rda && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-rda: info-target-rda
*** 29768,29777 ****
  
  info-target-rda: \
      configure-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34142,34151 ----
  
  info-target-rda: \
      configure-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-rda: dvi-target-rda
*** 29794,29803 ****
  
  dvi-target-rda: \
      configure-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34168,34177 ----
  
  dvi-target-rda: \
      configure-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-rda: html-target-rda
*** 29820,29829 ****
  
  html-target-rda: \
      configure-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34194,34203 ----
  
  html-target-rda: \
      configure-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-rda: TAGS-target-rda
*** 29846,29855 ****
  
  TAGS-target-rda: \
      configure-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34220,34229 ----
  
  TAGS-target-rda: \
      configure-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-rda: install-i
*** 29873,29882 ****
  install-info-target-rda: \
      configure-target-rda \
      info-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34247,34256 ----
  install-info-target-rda: \
      configure-target-rda \
      info-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-rda: installch
*** 29899,29908 ****
  
  installcheck-target-rda: \
      configure-target-rda 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34273,34282 ----
  
  installcheck-target-rda: \
      configure-target-rda 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-rda:
*** 29924,29933 ****
  maybe-mostlyclean-target-rda: mostlyclean-target-rda
  
  mostlyclean-target-rda: 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34298,34307 ----
  maybe-mostlyclean-target-rda: mostlyclean-target-rda
  
  mostlyclean-target-rda: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-rda:
*** 29949,29958 ****
  maybe-clean-target-rda: clean-target-rda
  
  clean-target-rda: 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34323,34332 ----
  maybe-clean-target-rda: clean-target-rda
  
  clean-target-rda: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-rda:
*** 29974,29983 ****
  maybe-distclean-target-rda: distclean-target-rda
  
  distclean-target-rda: 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34348,34357 ----
  maybe-distclean-target-rda: distclean-target-rda
  
  distclean-target-rda: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-rda:
*** 29999,30008 ****
  maybe-maintainer-clean-target-rda: maintainer-clean-target-rda
  
  maintainer-clean-target-rda: 
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34373,34382 ----
  maybe-maintainer-clean-target-rda: maintainer-clean-target-rda
  
  maintainer-clean-target-rda: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/rda/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/rda" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maintainer-clean-target-rda: 
*** 30019,30085 ****
  @endif target-rda
  
  
- .PHONY: configure-target-libada maybe-configure-target-libada
- maybe-configure-target-libada:
- @if target-libada
- maybe-configure-target-libada: configure-target-libada
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/libada/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \
  	rm -f $(TARGET_SUBDIR)/libada/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libada/multilib.out
  
  configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out
  	@test ! -f $(TARGET_SUBDIR)/libada/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libada; \
  	cd "$(TARGET_SUBDIR)/libada" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(TARGET_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	  srcdiroption="--srcdir=$${topdir}/libada"; \
! 	  libsrcdir="$$s/libada"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
! 	  --with-target-subdir="$(TARGET_SUBDIR)"  \
  	  || exit 1
  @endif target-libada
  
  .PHONY: all-target-libada maybe-all-target-libada
  maybe-all-target-libada:
  @if target-libada
  TARGET-target-libada=all
  maybe-all-target-libada: all-target-libada
  all-target-libada: configure-target-libada
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   $(TARGET-target-libada))
  @endif target-libada
  
  .PHONY: check-target-libada maybe-check-target-libada
  maybe-check-target-libada:
  @if target-libada
  maybe-check-target-libada: check-target-libada
  
  check-target-libada:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
--- 34393,34466 ----
  @endif target-rda
  
  
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-libada
  $(TARGET_SUBDIR)/libada/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \
  	rm -f $(TARGET_SUBDIR)/libada/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/libada/multilib.out
+ @endif target-libada
+ 
  
+ 
+ .PHONY: configure-target-libada maybe-configure-target-libada
+ maybe-configure-target-libada:
+ @if target-libada
+ maybe-configure-target-libada: configure-target-libada
  configure-target-libada: $(TARGET_SUBDIR)/libada/multilib.out
+ 	@$(unstage)
  	@test ! -f $(TARGET_SUBDIR)/libada/Makefile || exit 0; \
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libada ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo Configuring in $(TARGET_SUBDIR)/libada; \
  	cd "$(TARGET_SUBDIR)/libada" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo $(TARGET_SUBDIR)/libada/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/libada"; \
! 	libsrcdir="$$s/libada"; \
  	rm -f no-such-file || : ; \
  	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(TARGET_CONFIGARGS) $${srcdiroption}  \
  	  || exit 1
  @endif target-libada
  
+ 
+ 
+ 
+ 
  .PHONY: all-target-libada maybe-all-target-libada
  maybe-all-target-libada:
  @if target-libada
  TARGET-target-libada=all
  maybe-all-target-libada: all-target-libada
  all-target-libada: configure-target-libada
+ 	@$(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  $(TARGET-target-libada))
  @endif target-libada
  
+ 
+ 
+ 
+ 
  .PHONY: check-target-libada maybe-check-target-libada
  maybe-check-target-libada:
  @if target-libada
  maybe-check-target-libada: check-target-libada
  
  check-target-libada:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)   check)
*************** maybe-install-target-libada:
*** 30092,30100 ****
  maybe-install-target-libada: install-target-libada
  
  install-target-libada: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
--- 34473,34481 ----
  maybe-install-target-libada: install-target-libada
  
  install-target-libada: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	(cd $(TARGET_SUBDIR)/libada && \
  	  $(MAKE) $(TARGET_FLAGS_TO_PASS)  install)
*************** maybe-info-target-libada: info-target-li
*** 30110,30119 ****
  
  info-target-libada: \
      configure-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34491,34500 ----
  
  info-target-libada: \
      configure-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing info in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-dvi-target-libada: dvi-target-liba
*** 30136,30145 ****
  
  dvi-target-libada: \
      configure-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34517,34526 ----
  
  dvi-target-libada: \
      configure-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing dvi in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-html-target-libada: html-target-li
*** 30162,30171 ****
  
  html-target-libada: \
      configure-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34543,34552 ----
  
  html-target-libada: \
      configure-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing html in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-TAGS-target-libada: TAGS-target-li
*** 30188,30197 ****
  
  TAGS-target-libada: \
      configure-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34569,34578 ----
  
  TAGS-target-libada: \
      configure-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing TAGS in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-install-info-target-libada: instal
*** 30215,30224 ****
  install-info-target-libada: \
      configure-target-libada \
      info-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34596,34605 ----
  install-info-target-libada: \
      configure-target-libada \
      info-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing install-info in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-installcheck-target-libada: instal
*** 30241,30250 ****
  
  installcheck-target-libada: \
      configure-target-libada 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34622,34631 ----
  
  installcheck-target-libada: \
      configure-target-libada 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing installcheck in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-mostlyclean-target-libada:
*** 30266,30275 ****
  maybe-mostlyclean-target-libada: mostlyclean-target-libada
  
  mostlyclean-target-libada: 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34647,34656 ----
  maybe-mostlyclean-target-libada: mostlyclean-target-libada
  
  mostlyclean-target-libada: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing mostlyclean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-clean-target-libada:
*** 30291,30300 ****
  maybe-clean-target-libada: clean-target-libada
  
  clean-target-libada: 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34672,34681 ----
  maybe-clean-target-libada: clean-target-libada
  
  clean-target-libada: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing clean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-distclean-target-libada:
*** 30316,30325 ****
  maybe-distclean-target-libada: distclean-target-libada
  
  distclean-target-libada: 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34697,34706 ----
  maybe-distclean-target-libada: distclean-target-libada
  
  distclean-target-libada: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing distclean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** maybe-maintainer-clean-target-libada:
*** 30341,30350 ****
  maybe-maintainer-clean-target-libada: maintainer-clean-target-libada
  
  maintainer-clean-target-libada: 
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
--- 34722,34731 ----
  maybe-maintainer-clean-target-libada: maintainer-clean-target-libada
  
  maintainer-clean-target-libada: 
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/libada/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(NORMAL_TARGET_EXPORTS) \
  	echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libada" ; \
  	for flag in $(EXTRA_TARGET_FLAGS); do \
*************** GCC_STRAP_TARGETS = bootstrap bootstrap-
*** 30376,30384 ****
  $(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping the compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
--- 34757,34765 ----
  $(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping the compiler"; \
+ 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
*************** $(GCC_STRAP_TARGETS): all-prebootstrap c
*** 30396,30427 ****
  	    msg="Comparing stage2 and stage3 of the compiler"; \
  	    compare=compare ;; \
  	esac; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "$$msg"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
  profiledbootstrap: all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping training compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Building feedback based compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
--- 34777,34804 ----
  	    msg="Comparing stage2 and stage3 of the compiler"; \
  	    compare=compare ;; \
  	esac; \
  	$(HOST_EXPORTS) \
  	echo "$$msg"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
  profiledbootstrap: all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
+ 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
  	echo "Bootstrapping training compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	echo "Building feedback based compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
*************** profiledbootstrap: all-prebootstrap conf
*** 30429,30441 ****
  cross: all-build all-gas all-ld
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Building the C and C++ compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++"
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all
  @endif gcc-no-bootstrap
--- 34806,34816 ----
*************** check-gcc-c++:
*** 30446,30452 ****
  	@if [ -f ./gcc/Makefile ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
  	  (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
  	else \
--- 34821,34826 ----
*************** gcc-no-fixedincludes:
*** 30470,30476 ****
  	  rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
  	  (cd ./gcc && \
  	   $(MAKE) $(GCC_FLAGS_TO_PASS) install); \
--- 34844,34849 ----
*************** gcc-no-fixedincludes:
*** 30487,30503 ****
  # stage_last instead tracks the stage that was built last.  These targets
  # are dummy when toplevel bootstrap is not active.
  
! .PHONY: unstage
! unstage:
  @if gcc-bootstrap
! 	@[ -f stage_current ] || $(MAKE) `cat stage_last`-start
  @endif gcc-bootstrap
  
! .PHONY: stage
  stage:
! @if gcc-bootstrap
! 	@$(MAKE) `cat stage_current`-end
! @endif gcc-bootstrap
  
  # We name the build directories for the various stages "stage1-gcc",
  # "stage2-gcc","stage3-gcc", etc.
--- 34860,34882 ----
  # stage_last instead tracks the stage that was built last.  These targets
  # are dummy when toplevel bootstrap is not active.
  
! # While making host and target tools, symlinks to the final stage must be
! # there, so $(MAKE) $(unstage) should be run at various points.  To avoid
! # excessive recursive invocations of make, we "inline" them using a variable.
! 
! unstage = :
! stage = :
! 
  @if gcc-bootstrap
! unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
! stage = [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  @endif gcc-bootstrap
  
! .PHONY: unstage stage
! unstage:
! 	@: $(MAKE); $(unstage)
  stage:
! 	@: $(MAKE); $(stage)
  
  # We name the build directories for the various stages "stage1-gcc",
  # "stage2-gcc","stage3-gcc", etc.
*************** stage:
*** 30510,30528 ****
  # mv on platforms where symlinks to directories do not work or are not
  # reliable.
  
- # At the end of the bootstrap, a symlink to 'stage3-gcc' named 'gcc' must
- # be kept, so that libraries can find it.  Ick!
- 
- # It would be best to preinstall gcc into a staging area (and in the
- # future, gather there all prebootstrap packages).  This would allow
- # assemblers and linkers can be bootstrapped as well as the compiler
- # (both in a combined tree, or separately).  This however requires some
- # change to the gcc driver, again in order to avoid comparison failures.
- 
- # Bugs: This is crippled when doing parallel make, the `make all-host'
- # and `make all-target' phases can be parallelized.
- 
- 
  # 'touch' doesn't work right on some platforms.
  STAMP = echo timestamp > 
  
--- 34889,34894 ----
*************** objext = .o
*** 30541,30547 ****
  # Flags to pass to stage2 and later makes.
  POSTSTAGE1_FLAGS_TO_PASS = \
  	CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
! 	STAGE_PREFIX=$$r/stage-gcc/ \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	ADAC="\$$(CC)"
  
--- 34907,34913 ----
  # Flags to pass to stage2 and later makes.
  POSTSTAGE1_FLAGS_TO_PASS = \
  	CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
! 	STAGE_PREFIX=$$r/prev-gcc/ \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	ADAC="\$$(CC)"
  
*************** POSTSTAGE1_FLAGS_TO_PASS = \
*** 30558,30638 ****
  .PHONY: stage1-start stage1-end
  
  stage1-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stage1 > stage_current ; \
! 	echo stage1 > stage_last
  @if bfd
! 	@[ -d stage1-bfd ] || mkdir stage1-bfd; \
! 	set stage1-bfd bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stage1-opcodes ] || mkdir stage1-opcodes; \
! 	set stage1-opcodes opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stage1-binutils ] || mkdir stage1-binutils; \
! 	set stage1-binutils binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stage1-gas ] || mkdir stage1-gas; \
! 	set stage1-gas gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stage1-gcc ] || mkdir stage1-gcc; \
! 	set stage1-gcc gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stage1-intl ] || mkdir stage1-intl; \
! 	set stage1-intl intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stage1-ld ] || mkdir stage1-ld; \
! 	set stage1-ld ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stage1-libcpp ] || mkdir stage1-libcpp; \
! 	set stage1-libcpp libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stage1-libiberty ] || mkdir stage1-libiberty; \
! 	set stage1-libiberty libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stage1-zlib ] || mkdir stage1-zlib; \
! 	set stage1-zlib zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage1-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 1.  They
--- 34924,35035 ----
  .PHONY: stage1-start stage1-end
  
  stage1-start::
! 	@: $(MAKE); $(stage); \
  	echo stage1 > stage_current ; \
! 	echo stage1 > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stage1-bfd ] || \
! 	  mkdir stage1-bfd; \
! 	set stage1-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stage1-opcodes ] || \
! 	  mkdir stage1-opcodes; \
! 	set stage1-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stage1-binutils ] || \
! 	  mkdir stage1-binutils; \
! 	set stage1-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stage1-gas ] || \
! 	  mkdir stage1-gas; \
! 	set stage1-gas gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stage1-gcc ] || \
! 	  mkdir stage1-gcc; \
! 	set stage1-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stage1-intl ] || \
! 	  mkdir stage1-intl; \
! 	set stage1-intl intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stage1-ld ] || \
! 	  mkdir stage1-ld; \
! 	set stage1-ld ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stage1-libcpp ] || \
! 	  mkdir stage1-libcpp; \
! 	set stage1-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stage1-libiberty ] || \
! 	  mkdir stage1-libiberty; \
! 	set stage1-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stage1-zlib ] || \
! 	  mkdir stage1-zlib; \
! 	set stage1-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage1-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stage1-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stage1-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stage1-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stage1-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stage1-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stage1-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stage1-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stage1-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stage1-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stage1-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 1.  They
*************** stage1-end::
*** 30640,31218 ****
  # be reconfigured as well.
  .PHONY: stage1-bubble
  stage1-bubble:: 
! 	@if test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stage1 ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage1; \
  	fi
  
  .PHONY: all-stage1 clean-stage1
- all-stage1:     \
-   maybe-all-stage1-bfd \
-   maybe-all-stage1-opcodes \
-   maybe-all-stage1-binutils              \
-   maybe-all-stage1-gas \
-   maybe-all-stage1-gcc        \
-   maybe-all-stage1-intl   \
-   maybe-all-stage1-ld \
-   maybe-all-stage1-libcpp  \
-   maybe-all-stage1-libiberty                        \
-   maybe-all-stage1-zlib       
- 
  do-clean: clean-stage1
- clean-stage1:     \
-   maybe-clean-stage1-bfd \
-   maybe-clean-stage1-opcodes \
-   maybe-clean-stage1-binutils              \
-   maybe-clean-stage1-gas \
-   maybe-clean-stage1-gcc        \
-   maybe-clean-stage1-intl   \
-   maybe-clean-stage1-ld \
-   maybe-clean-stage1-libcpp  \
-   maybe-clean-stage1-libiberty                        \
-   maybe-clean-stage1-zlib       
- 
- 
- .PHONY: configure-stage1-bfd maybe-configure-stage1-bfd
- .PHONY: all-stage1-bfd maybe-all-stage1-bfd
- .PHONY: clean-stage1-bfd maybe-clean-stage1-bfd
- 
- maybe-configure-stage1-bfd:
- maybe-all-stage1-bfd:
- maybe-clean-stage1-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stage1-bfd: configure-stage1-bfd
- configure-stage1-bfd:
- 	@$(MAKE) stage1-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-bfd: all-stage1-bfd
- all-stage1-bfd: configure-stage1-bfd
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-bfd: clean-stage1-bfd
- clean-stage1-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stage1-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stage1-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stage1-opcodes maybe-configure-stage1-opcodes
- .PHONY: all-stage1-opcodes maybe-all-stage1-opcodes
- .PHONY: clean-stage1-opcodes maybe-clean-stage1-opcodes
- 
- maybe-configure-stage1-opcodes:
- maybe-all-stage1-opcodes:
- maybe-clean-stage1-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stage1-opcodes: configure-stage1-opcodes
- configure-stage1-opcodes:
- 	@$(MAKE) stage1-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-opcodes: all-stage1-opcodes
- all-stage1-opcodes: configure-stage1-opcodes
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-opcodes: clean-stage1-opcodes
- clean-stage1-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stage1-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stage1-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stage1-binutils maybe-configure-stage1-binutils
- .PHONY: all-stage1-binutils maybe-all-stage1-binutils
- .PHONY: clean-stage1-binutils maybe-clean-stage1-binutils
- 
- maybe-configure-stage1-binutils:
- maybe-all-stage1-binutils:
- maybe-clean-stage1-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stage1-binutils: configure-stage1-binutils
- configure-stage1-binutils:
- 	@$(MAKE) stage1-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-binutils: all-stage1-binutils
- all-stage1-binutils: configure-stage1-binutils
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-binutils: clean-stage1-binutils
- clean-stage1-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stage1-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stage1-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stage1-gas maybe-configure-stage1-gas
- .PHONY: all-stage1-gas maybe-all-stage1-gas
- .PHONY: clean-stage1-gas maybe-clean-stage1-gas
- 
- maybe-configure-stage1-gas:
- maybe-all-stage1-gas:
- maybe-clean-stage1-gas:
- 
- @if gas-bootstrap
- maybe-configure-stage1-gas: configure-stage1-gas
- configure-stage1-gas:
- 	@$(MAKE) stage1-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-gas: all-stage1-gas
- all-stage1-gas: configure-stage1-gas
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-gas: clean-stage1-gas
- clean-stage1-gas:
- 	@[ -f gas/Makefile ] || [ -f stage1-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stage1-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stage1-gcc maybe-configure-stage1-gcc
- .PHONY: all-stage1-gcc maybe-all-stage1-gcc
- .PHONY: clean-stage1-gcc maybe-clean-stage1-gcc
- 
- maybe-configure-stage1-gcc:
- maybe-all-stage1-gcc:
- maybe-clean-stage1-gcc:
- 
- @if gcc-bootstrap
- maybe-configure-stage1-gcc: configure-stage1-gcc
- configure-stage1-gcc:
- 	@$(MAKE) stage1-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-gcc: all-stage1-gcc
- all-stage1-gcc: configure-stage1-gcc
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stage1-gcc: clean-stage1-gcc
- clean-stage1-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stage1-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stage1-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
- 
- 
- .PHONY: configure-stage1-intl maybe-configure-stage1-intl
- .PHONY: all-stage1-intl maybe-all-stage1-intl
- .PHONY: clean-stage1-intl maybe-clean-stage1-intl
- 
- maybe-configure-stage1-intl:
- maybe-all-stage1-intl:
- maybe-clean-stage1-intl:
- 
- @if intl-bootstrap
- maybe-configure-stage1-intl: configure-stage1-intl
- configure-stage1-intl:
- 	@$(MAKE) stage1-start
- 	@[ -f intl/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in intl ; \
- 	cd intl || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-intl: all-stage1-intl
- all-stage1-intl: configure-stage1-intl
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-intl: clean-stage1-intl
- clean-stage1-intl:
- 	@[ -f intl/Makefile ] || [ -f stage1-intl/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f intl/Makefile ] || $(MAKE) stage1-start ; \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif intl-bootstrap
- 
- 
- .PHONY: configure-stage1-ld maybe-configure-stage1-ld
- .PHONY: all-stage1-ld maybe-all-stage1-ld
- .PHONY: clean-stage1-ld maybe-clean-stage1-ld
- 
- maybe-configure-stage1-ld:
- maybe-all-stage1-ld:
- maybe-clean-stage1-ld:
- 
- @if ld-bootstrap
- maybe-configure-stage1-ld: configure-stage1-ld
- configure-stage1-ld:
- 	@$(MAKE) stage1-start
- 	@[ -f ld/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in ld ; \
- 	cd ld || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-ld: all-stage1-ld
- all-stage1-ld: configure-stage1-ld
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-ld: clean-stage1-ld
- clean-stage1-ld:
- 	@[ -f ld/Makefile ] || [ -f stage1-ld/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f ld/Makefile ] || $(MAKE) stage1-start ; \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif ld-bootstrap
- 
- 
- .PHONY: configure-stage1-libcpp maybe-configure-stage1-libcpp
- .PHONY: all-stage1-libcpp maybe-all-stage1-libcpp
- .PHONY: clean-stage1-libcpp maybe-clean-stage1-libcpp
- 
- maybe-configure-stage1-libcpp:
- maybe-all-stage1-libcpp:
- maybe-clean-stage1-libcpp:
- 
- @if libcpp-bootstrap
- maybe-configure-stage1-libcpp: configure-stage1-libcpp
- configure-stage1-libcpp:
- 	@$(MAKE) stage1-start
- 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in libcpp ; \
- 	cd libcpp || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-libcpp: all-stage1-libcpp
- all-stage1-libcpp: configure-stage1-libcpp
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-libcpp: clean-stage1-libcpp
- clean-stage1-libcpp:
- 	@[ -f libcpp/Makefile ] || [ -f stage1-libcpp/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libcpp/Makefile ] || $(MAKE) stage1-start ; \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif libcpp-bootstrap
- 
- 
- .PHONY: configure-stage1-libiberty maybe-configure-stage1-libiberty
- .PHONY: all-stage1-libiberty maybe-all-stage1-libiberty
- .PHONY: clean-stage1-libiberty maybe-clean-stage1-libiberty
- 
- maybe-configure-stage1-libiberty:
- maybe-all-stage1-libiberty:
- maybe-clean-stage1-libiberty:
- 
- @if libiberty-bootstrap
- maybe-configure-stage1-libiberty: configure-stage1-libiberty
- configure-stage1-libiberty:
- 	@$(MAKE) stage1-start
- 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in libiberty ; \
- 	cd libiberty || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-libiberty: all-stage1-libiberty
- all-stage1-libiberty: configure-stage1-libiberty
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-libiberty: clean-stage1-libiberty
- clean-stage1-libiberty:
- 	@[ -f libiberty/Makefile ] || [ -f stage1-libiberty/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libiberty/Makefile ] || $(MAKE) stage1-start ; \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif libiberty-bootstrap
- 
- 
- .PHONY: configure-stage1-zlib maybe-configure-stage1-zlib
- .PHONY: all-stage1-zlib maybe-all-stage1-zlib
- .PHONY: clean-stage1-zlib maybe-clean-stage1-zlib
- 
- maybe-configure-stage1-zlib:
- maybe-all-stage1-zlib:
- maybe-clean-stage1-zlib:
- 
- @if zlib-bootstrap
- maybe-configure-stage1-zlib: configure-stage1-zlib
- configure-stage1-zlib:
- 	@$(MAKE) stage1-start
- 	@[ -f zlib/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	echo Configuring stage 1 in zlib ; \
- 	cd zlib || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  --disable-intermodule 	  --disable-coverage --enable-languages="$(STAGE1_LANGUAGES)" 
- 
- maybe-all-stage1-zlib: all-stage1-zlib
- all-stage1-zlib: configure-stage1-zlib
- 	@$(MAKE) stage1-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(HOST_EXPORTS)  \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)" 
- 
- maybe-clean-stage1-zlib: clean-stage1-zlib
- clean-stage1-zlib:
- 	@[ -f zlib/Makefile ] || [ -f stage1-zlib/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f zlib/Makefile ] || $(MAKE) stage1-start ; \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		CFLAGS="$(STAGE1_CFLAGS)"  clean
- @endif zlib-bootstrap
- 
- 
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
--- 35037,35053 ----
  # be reconfigured as well.
  .PHONY: stage1-bubble
  stage1-bubble:: 
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stage1 ; \
  	else \
! 	  $(MAKE) stage1-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage1; \
  	fi
  
  .PHONY: all-stage1 clean-stage1
  do-clean: clean-stage1
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
*************** clean-stage1-zlib:
*** 31225,31231 ****
  
  .PHONY: distclean-stage1
  distclean-stage1::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stage1-* 
  
  
--- 35060,35066 ----
  
  .PHONY: distclean-stage1
  distclean-stage1::
! 	@: $(MAKE); $(stage)
  	rm -rf stage1-* 
  
  
*************** distclean-stage1::
*** 31235,31335 ****
  .PHONY: stage2-start stage2-end
  
  stage2-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stage2 > stage_current ; \
! 	echo stage2 > stage_last
  @if bfd
! 	@[ -d stage2-bfd ] || mkdir stage2-bfd; \
! 	set stage2-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stage2-opcodes ] || mkdir stage2-opcodes; \
! 	set stage2-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stage2-binutils ] || mkdir stage2-binutils; \
! 	set stage2-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stage2-gas ] || mkdir stage2-gas; \
! 	set stage2-gas gas ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stage2-gcc ] || mkdir stage2-gcc; \
! 	set stage2-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stage2-intl ] || mkdir stage2-intl; \
! 	set stage2-intl intl ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stage2-ld ] || mkdir stage2-ld; \
! 	set stage2-ld ld ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stage2-libcpp ] || mkdir stage2-libcpp; \
! 	set stage2-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stage2-libiberty ] || mkdir stage2-libiberty; \
! 	set stage2-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stage2-zlib ] || mkdir stage2-zlib; \
! 	set stage2-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage2-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stage2-bfd ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stage2-binutils ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stage2-gas ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stage2-gcc ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stage2-intl ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stage2-ld ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stage2-zlib ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 2.  They
--- 35070,35221 ----
  .PHONY: stage2-start stage2-end
  
  stage2-start::
! 	@: $(MAKE); $(stage); \
  	echo stage2 > stage_current ; \
! 	echo stage2 > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stage2-bfd ] || \
! 	  mkdir stage2-bfd; \
! 	set stage2-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-bfd prev-bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stage2-opcodes ] || \
! 	  mkdir stage2-opcodes; \
! 	set stage2-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-opcodes prev-opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stage2-binutils ] || \
! 	  mkdir stage2-binutils; \
! 	set stage2-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-binutils prev-binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stage2-gas ] || \
! 	  mkdir stage2-gas; \
! 	set stage2-gas gas ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gas prev-gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stage2-gcc ] || \
! 	  mkdir stage2-gcc; \
! 	set stage2-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gcc prev-gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stage2-intl ] || \
! 	  mkdir stage2-intl; \
! 	set stage2-intl intl ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-intl prev-intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stage2-ld ] || \
! 	  mkdir stage2-ld; \
! 	set stage2-ld ld ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-ld prev-ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stage2-libcpp ] || \
! 	  mkdir stage2-libcpp; \
! 	set stage2-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libcpp prev-libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stage2-libiberty ] || \
! 	  mkdir stage2-libiberty; \
! 	set stage2-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libiberty prev-libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stage2-zlib ] || \
! 	  mkdir stage2-zlib; \
! 	set stage2-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-zlib prev-zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage2-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stage2-bfd ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage1-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stage2-opcodes ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage1-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stage2-binutils ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage1-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stage2-gas ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage1-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stage2-gcc ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage1-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stage2-intl ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage1-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stage2-ld ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage1-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stage2-libcpp ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage1-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stage2-libiberty ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage1-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stage2-zlib ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage1-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 2.  They
*************** stage2-end::
*** 31337,31935 ****
  # be reconfigured as well.
  .PHONY: stage2-bubble
  stage2-bubble:: stage1-bubble
! 	@if test -f stage2-lean || test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stage2 ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage2; \
  	fi
  
  .PHONY: all-stage2 clean-stage2
- all-stage2:     \
-   maybe-all-stage2-bfd \
-   maybe-all-stage2-opcodes \
-   maybe-all-stage2-binutils              \
-   maybe-all-stage2-gas \
-   maybe-all-stage2-gcc        \
-   maybe-all-stage2-intl   \
-   maybe-all-stage2-ld \
-   maybe-all-stage2-libcpp  \
-   maybe-all-stage2-libiberty                        \
-   maybe-all-stage2-zlib       
- 
  do-clean: clean-stage2
- clean-stage2:     \
-   maybe-clean-stage2-bfd \
-   maybe-clean-stage2-opcodes \
-   maybe-clean-stage2-binutils              \
-   maybe-clean-stage2-gas \
-   maybe-clean-stage2-gcc        \
-   maybe-clean-stage2-intl   \
-   maybe-clean-stage2-ld \
-   maybe-clean-stage2-libcpp  \
-   maybe-clean-stage2-libiberty                        \
-   maybe-clean-stage2-zlib       
- 
- 
- .PHONY: configure-stage2-bfd maybe-configure-stage2-bfd
- .PHONY: all-stage2-bfd maybe-all-stage2-bfd
- .PHONY: clean-stage2-bfd maybe-clean-stage2-bfd
- 
- maybe-configure-stage2-bfd:
- maybe-all-stage2-bfd:
- maybe-clean-stage2-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stage2-bfd: configure-stage2-bfd
- configure-stage2-bfd:
- 	@$(MAKE) stage2-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-bfd: all-stage2-bfd
- all-stage2-bfd: configure-stage2-bfd
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-bfd: clean-stage2-bfd
- clean-stage2-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stage2-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stage2-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stage2-opcodes maybe-configure-stage2-opcodes
- .PHONY: all-stage2-opcodes maybe-all-stage2-opcodes
- .PHONY: clean-stage2-opcodes maybe-clean-stage2-opcodes
- 
- maybe-configure-stage2-opcodes:
- maybe-all-stage2-opcodes:
- maybe-clean-stage2-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stage2-opcodes: configure-stage2-opcodes
- configure-stage2-opcodes:
- 	@$(MAKE) stage2-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-opcodes: all-stage2-opcodes
- all-stage2-opcodes: configure-stage2-opcodes
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-opcodes: clean-stage2-opcodes
- clean-stage2-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stage2-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stage2-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stage2-binutils maybe-configure-stage2-binutils
- .PHONY: all-stage2-binutils maybe-all-stage2-binutils
- .PHONY: clean-stage2-binutils maybe-clean-stage2-binutils
- 
- maybe-configure-stage2-binutils:
- maybe-all-stage2-binutils:
- maybe-clean-stage2-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stage2-binutils: configure-stage2-binutils
- configure-stage2-binutils:
- 	@$(MAKE) stage2-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-binutils: all-stage2-binutils
- all-stage2-binutils: configure-stage2-binutils
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-binutils: clean-stage2-binutils
- clean-stage2-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stage2-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stage2-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stage2-gas maybe-configure-stage2-gas
- .PHONY: all-stage2-gas maybe-all-stage2-gas
- .PHONY: clean-stage2-gas maybe-clean-stage2-gas
- 
- maybe-configure-stage2-gas:
- maybe-all-stage2-gas:
- maybe-clean-stage2-gas:
- 
- @if gas-bootstrap
- maybe-configure-stage2-gas: configure-stage2-gas
- configure-stage2-gas:
- 	@$(MAKE) stage2-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-gas: all-stage2-gas
- all-stage2-gas: configure-stage2-gas
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-gas: clean-stage2-gas
- clean-stage2-gas:
- 	@[ -f gas/Makefile ] || [ -f stage2-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stage2-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stage2-gcc maybe-configure-stage2-gcc
- .PHONY: all-stage2-gcc maybe-all-stage2-gcc
- .PHONY: clean-stage2-gcc maybe-clean-stage2-gcc
- 
- maybe-configure-stage2-gcc:
- maybe-all-stage2-gcc:
- maybe-clean-stage2-gcc:
- 
- @if gcc-bootstrap
- maybe-configure-stage2-gcc: configure-stage2-gcc
- configure-stage2-gcc:
- 	@$(MAKE) stage2-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-gcc: all-stage2-gcc
- all-stage2-gcc: configure-stage2-gcc
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stage2-gcc: clean-stage2-gcc
- clean-stage2-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stage2-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stage2-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
- 
- 
- .PHONY: configure-stage2-intl maybe-configure-stage2-intl
- .PHONY: all-stage2-intl maybe-all-stage2-intl
- .PHONY: clean-stage2-intl maybe-clean-stage2-intl
- 
- maybe-configure-stage2-intl:
- maybe-all-stage2-intl:
- maybe-clean-stage2-intl:
- 
- @if intl-bootstrap
- maybe-configure-stage2-intl: configure-stage2-intl
- configure-stage2-intl:
- 	@$(MAKE) stage2-start
- 	@[ -f intl/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in intl ; \
- 	cd intl || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-intl: all-stage2-intl
- all-stage2-intl: configure-stage2-intl
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-intl: clean-stage2-intl
- clean-stage2-intl:
- 	@[ -f intl/Makefile ] || [ -f stage2-intl/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f intl/Makefile ] || $(MAKE) stage2-start ; \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif intl-bootstrap
- 
- 
- .PHONY: configure-stage2-ld maybe-configure-stage2-ld
- .PHONY: all-stage2-ld maybe-all-stage2-ld
- .PHONY: clean-stage2-ld maybe-clean-stage2-ld
- 
- maybe-configure-stage2-ld:
- maybe-all-stage2-ld:
- maybe-clean-stage2-ld:
- 
- @if ld-bootstrap
- maybe-configure-stage2-ld: configure-stage2-ld
- configure-stage2-ld:
- 	@$(MAKE) stage2-start
- 	@[ -f ld/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in ld ; \
- 	cd ld || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-ld: all-stage2-ld
- all-stage2-ld: configure-stage2-ld
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-ld: clean-stage2-ld
- clean-stage2-ld:
- 	@[ -f ld/Makefile ] || [ -f stage2-ld/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f ld/Makefile ] || $(MAKE) stage2-start ; \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif ld-bootstrap
- 
- 
- .PHONY: configure-stage2-libcpp maybe-configure-stage2-libcpp
- .PHONY: all-stage2-libcpp maybe-all-stage2-libcpp
- .PHONY: clean-stage2-libcpp maybe-clean-stage2-libcpp
- 
- maybe-configure-stage2-libcpp:
- maybe-all-stage2-libcpp:
- maybe-clean-stage2-libcpp:
- 
- @if libcpp-bootstrap
- maybe-configure-stage2-libcpp: configure-stage2-libcpp
- configure-stage2-libcpp:
- 	@$(MAKE) stage2-start
- 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in libcpp ; \
- 	cd libcpp || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-libcpp: all-stage2-libcpp
- all-stage2-libcpp: configure-stage2-libcpp
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-libcpp: clean-stage2-libcpp
- clean-stage2-libcpp:
- 	@[ -f libcpp/Makefile ] || [ -f stage2-libcpp/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libcpp/Makefile ] || $(MAKE) stage2-start ; \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libcpp-bootstrap
- 
- 
- .PHONY: configure-stage2-libiberty maybe-configure-stage2-libiberty
- .PHONY: all-stage2-libiberty maybe-all-stage2-libiberty
- .PHONY: clean-stage2-libiberty maybe-clean-stage2-libiberty
- 
- maybe-configure-stage2-libiberty:
- maybe-all-stage2-libiberty:
- maybe-clean-stage2-libiberty:
- 
- @if libiberty-bootstrap
- maybe-configure-stage2-libiberty: configure-stage2-libiberty
- configure-stage2-libiberty:
- 	@$(MAKE) stage2-start
- 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in libiberty ; \
- 	cd libiberty || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-libiberty: all-stage2-libiberty
- all-stage2-libiberty: configure-stage2-libiberty
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-libiberty: clean-stage2-libiberty
- clean-stage2-libiberty:
- 	@[ -f libiberty/Makefile ] || [ -f stage2-libiberty/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libiberty/Makefile ] || $(MAKE) stage2-start ; \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libiberty-bootstrap
- 
- 
- .PHONY: configure-stage2-zlib maybe-configure-stage2-zlib
- .PHONY: all-stage2-zlib maybe-all-stage2-zlib
- .PHONY: clean-stage2-zlib maybe-clean-stage2-zlib
- 
- maybe-configure-stage2-zlib:
- maybe-all-stage2-zlib:
- maybe-clean-stage2-zlib:
- 
- @if zlib-bootstrap
- maybe-configure-stage2-zlib: configure-stage2-zlib
- configure-stage2-zlib:
- 	@$(MAKE) stage2-start
- 	@[ -f zlib/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 2 in zlib ; \
- 	cd zlib || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage2-zlib: all-stage2-zlib
- all-stage2-zlib: configure-stage2-zlib
- 	@$(MAKE) stage2-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage2-zlib: clean-stage2-zlib
- clean-stage2-zlib:
- 	@[ -f zlib/Makefile ] || [ -f stage2-zlib/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f zlib/Makefile ] || $(MAKE) stage2-start ; \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif zlib-bootstrap
- 
- 
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
--- 35223,35239 ----
  # be reconfigured as well.
  .PHONY: stage2-bubble
  stage2-bubble:: stage1-bubble
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage2-lean || test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stage2 ; \
  	else \
! 	  $(MAKE) stage2-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage2; \
  	fi
  
  .PHONY: all-stage2 clean-stage2
  do-clean: clean-stage2
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
*************** clean-stage2-zlib:
*** 31938,31951 ****
  
  
  .PHONY: bootstrap2
! bootstrap2: stage2-bubble  all
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage1:: distclean-stage2 
  .PHONY: distclean-stage2
  distclean-stage2::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stage2-* 
  
  
--- 35242,35264 ----
  
  
  .PHONY: bootstrap2
! bootstrap2:
! 	echo stage2 > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage2-bubble
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
! 	@: $(MAKE); $(stage)
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage1:: distclean-stage2 
  .PHONY: distclean-stage2
  distclean-stage2::
! 	@: $(MAKE); $(stage)
  	rm -rf stage2-* 
  
  
*************** distclean-stage2::
*** 31955,32055 ****
  .PHONY: stage3-start stage3-end
  
  stage3-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stage3 > stage_current ; \
! 	echo stage3 > stage_last
  @if bfd
! 	@[ -d stage3-bfd ] || mkdir stage3-bfd; \
! 	set stage3-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stage3-opcodes ] || mkdir stage3-opcodes; \
! 	set stage3-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stage3-binutils ] || mkdir stage3-binutils; \
! 	set stage3-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stage3-gas ] || mkdir stage3-gas; \
! 	set stage3-gas gas ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stage3-gcc ] || mkdir stage3-gcc; \
! 	set stage3-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stage3-intl ] || mkdir stage3-intl; \
! 	set stage3-intl intl ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stage3-ld ] || mkdir stage3-ld; \
! 	set stage3-ld ld ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stage3-libcpp ] || mkdir stage3-libcpp; \
! 	set stage3-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stage3-libiberty ] || mkdir stage3-libiberty; \
! 	set stage3-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stage3-zlib ] || mkdir stage3-zlib; \
! 	set stage3-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage2-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage3-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stage3-bfd ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage2-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage2-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stage3-binutils ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage2-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stage3-gas ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage2-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stage3-gcc ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage2-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stage3-intl ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage2-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stage3-ld ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage2-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage2-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage2-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stage3-zlib ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage2-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 3.  They
--- 35268,35419 ----
  .PHONY: stage3-start stage3-end
  
  stage3-start::
! 	@: $(MAKE); $(stage); \
  	echo stage3 > stage_current ; \
! 	echo stage3 > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stage3-bfd ] || \
! 	  mkdir stage3-bfd; \
! 	set stage3-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-bfd prev-bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stage3-opcodes ] || \
! 	  mkdir stage3-opcodes; \
! 	set stage3-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-opcodes prev-opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stage3-binutils ] || \
! 	  mkdir stage3-binutils; \
! 	set stage3-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-binutils prev-binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stage3-gas ] || \
! 	  mkdir stage3-gas; \
! 	set stage3-gas gas ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-gas prev-gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stage3-gcc ] || \
! 	  mkdir stage3-gcc; \
! 	set stage3-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-gcc prev-gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stage3-intl ] || \
! 	  mkdir stage3-intl; \
! 	set stage3-intl intl ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-intl prev-intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stage3-ld ] || \
! 	  mkdir stage3-ld; \
! 	set stage3-ld ld ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-ld prev-ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stage3-libcpp ] || \
! 	  mkdir stage3-libcpp; \
! 	set stage3-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-libcpp prev-libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stage3-libiberty ] || \
! 	  mkdir stage3-libiberty; \
! 	set stage3-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-libiberty prev-libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stage3-zlib ] || \
! 	  mkdir stage3-zlib; \
! 	set stage3-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage2-zlib prev-zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage3-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stage3-bfd ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage2-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stage3-opcodes ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage2-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stage3-binutils ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage2-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stage3-gas ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage2-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stage3-gcc ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage2-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stage3-intl ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage2-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stage3-ld ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage2-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stage3-libcpp ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage2-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stage3-libiberty ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage2-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stage3-zlib ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage2-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 3.  They
*************** stage3-end::
*** 32058,32669 ****
  .PHONY: stage3-bubble
  stage3-bubble:: stage2-bubble
  	@bootstrap_lean@-rm -rf stage1-* ; $(STAMP) stage1-lean
! 	@if test -f stage3-lean || test -f stage2-lean  ; then \
  	  echo Skipping rebuild of stage3 ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage3; \
  	fi
  
  .PHONY: all-stage3 clean-stage3
- all-stage3:     \
-   maybe-all-stage3-bfd \
-   maybe-all-stage3-opcodes \
-   maybe-all-stage3-binutils              \
-   maybe-all-stage3-gas \
-   maybe-all-stage3-gcc        \
-   maybe-all-stage3-intl   \
-   maybe-all-stage3-ld \
-   maybe-all-stage3-libcpp  \
-   maybe-all-stage3-libiberty                        \
-   maybe-all-stage3-zlib       
- 
  do-clean: clean-stage3
- clean-stage3:     \
-   maybe-clean-stage3-bfd \
-   maybe-clean-stage3-opcodes \
-   maybe-clean-stage3-binutils              \
-   maybe-clean-stage3-gas \
-   maybe-clean-stage3-gcc        \
-   maybe-clean-stage3-intl   \
-   maybe-clean-stage3-ld \
-   maybe-clean-stage3-libcpp  \
-   maybe-clean-stage3-libiberty                        \
-   maybe-clean-stage3-zlib       
- 
- 
- .PHONY: configure-stage3-bfd maybe-configure-stage3-bfd
- .PHONY: all-stage3-bfd maybe-all-stage3-bfd
- .PHONY: clean-stage3-bfd maybe-clean-stage3-bfd
- 
- maybe-configure-stage3-bfd:
- maybe-all-stage3-bfd:
- maybe-clean-stage3-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stage3-bfd: configure-stage3-bfd
- configure-stage3-bfd:
- 	@$(MAKE) stage3-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-bfd: all-stage3-bfd
- all-stage3-bfd: configure-stage3-bfd
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-bfd: clean-stage3-bfd
- clean-stage3-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stage3-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stage3-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stage3-opcodes maybe-configure-stage3-opcodes
- .PHONY: all-stage3-opcodes maybe-all-stage3-opcodes
- .PHONY: clean-stage3-opcodes maybe-clean-stage3-opcodes
- 
- maybe-configure-stage3-opcodes:
- maybe-all-stage3-opcodes:
- maybe-clean-stage3-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stage3-opcodes: configure-stage3-opcodes
- configure-stage3-opcodes:
- 	@$(MAKE) stage3-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-opcodes: all-stage3-opcodes
- all-stage3-opcodes: configure-stage3-opcodes
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-opcodes: clean-stage3-opcodes
- clean-stage3-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stage3-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stage3-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stage3-binutils maybe-configure-stage3-binutils
- .PHONY: all-stage3-binutils maybe-all-stage3-binutils
- .PHONY: clean-stage3-binutils maybe-clean-stage3-binutils
- 
- maybe-configure-stage3-binutils:
- maybe-all-stage3-binutils:
- maybe-clean-stage3-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stage3-binutils: configure-stage3-binutils
- configure-stage3-binutils:
- 	@$(MAKE) stage3-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-binutils: all-stage3-binutils
- all-stage3-binutils: configure-stage3-binutils
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-binutils: clean-stage3-binutils
- clean-stage3-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stage3-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stage3-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stage3-gas maybe-configure-stage3-gas
- .PHONY: all-stage3-gas maybe-all-stage3-gas
- .PHONY: clean-stage3-gas maybe-clean-stage3-gas
- 
- maybe-configure-stage3-gas:
- maybe-all-stage3-gas:
- maybe-clean-stage3-gas:
- 
- @if gas-bootstrap
- maybe-configure-stage3-gas: configure-stage3-gas
- configure-stage3-gas:
- 	@$(MAKE) stage3-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-gas: all-stage3-gas
- all-stage3-gas: configure-stage3-gas
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-gas: clean-stage3-gas
- clean-stage3-gas:
- 	@[ -f gas/Makefile ] || [ -f stage3-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stage3-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stage3-gcc maybe-configure-stage3-gcc
- .PHONY: all-stage3-gcc maybe-all-stage3-gcc
- .PHONY: clean-stage3-gcc maybe-clean-stage3-gcc
- 
- maybe-configure-stage3-gcc:
- maybe-all-stage3-gcc:
- maybe-clean-stage3-gcc:
- 
- @if gcc-bootstrap
- maybe-configure-stage3-gcc: configure-stage3-gcc
- configure-stage3-gcc:
- 	@$(MAKE) stage3-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-gcc: all-stage3-gcc
- all-stage3-gcc: configure-stage3-gcc
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stage3-gcc: clean-stage3-gcc
- clean-stage3-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stage3-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stage3-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
- 
- 
- .PHONY: configure-stage3-intl maybe-configure-stage3-intl
- .PHONY: all-stage3-intl maybe-all-stage3-intl
- .PHONY: clean-stage3-intl maybe-clean-stage3-intl
- 
- maybe-configure-stage3-intl:
- maybe-all-stage3-intl:
- maybe-clean-stage3-intl:
- 
- @if intl-bootstrap
- maybe-configure-stage3-intl: configure-stage3-intl
- configure-stage3-intl:
- 	@$(MAKE) stage3-start
- 	@[ -f intl/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in intl ; \
- 	cd intl || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-intl: all-stage3-intl
- all-stage3-intl: configure-stage3-intl
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-intl: clean-stage3-intl
- clean-stage3-intl:
- 	@[ -f intl/Makefile ] || [ -f stage3-intl/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f intl/Makefile ] || $(MAKE) stage3-start ; \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif intl-bootstrap
- 
- 
- .PHONY: configure-stage3-ld maybe-configure-stage3-ld
- .PHONY: all-stage3-ld maybe-all-stage3-ld
- .PHONY: clean-stage3-ld maybe-clean-stage3-ld
- 
- maybe-configure-stage3-ld:
- maybe-all-stage3-ld:
- maybe-clean-stage3-ld:
- 
- @if ld-bootstrap
- maybe-configure-stage3-ld: configure-stage3-ld
- configure-stage3-ld:
- 	@$(MAKE) stage3-start
- 	@[ -f ld/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in ld ; \
- 	cd ld || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-ld: all-stage3-ld
- all-stage3-ld: configure-stage3-ld
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-ld: clean-stage3-ld
- clean-stage3-ld:
- 	@[ -f ld/Makefile ] || [ -f stage3-ld/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f ld/Makefile ] || $(MAKE) stage3-start ; \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif ld-bootstrap
- 
- 
- .PHONY: configure-stage3-libcpp maybe-configure-stage3-libcpp
- .PHONY: all-stage3-libcpp maybe-all-stage3-libcpp
- .PHONY: clean-stage3-libcpp maybe-clean-stage3-libcpp
- 
- maybe-configure-stage3-libcpp:
- maybe-all-stage3-libcpp:
- maybe-clean-stage3-libcpp:
- 
- @if libcpp-bootstrap
- maybe-configure-stage3-libcpp: configure-stage3-libcpp
- configure-stage3-libcpp:
- 	@$(MAKE) stage3-start
- 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in libcpp ; \
- 	cd libcpp || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-libcpp: all-stage3-libcpp
- all-stage3-libcpp: configure-stage3-libcpp
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-libcpp: clean-stage3-libcpp
- clean-stage3-libcpp:
- 	@[ -f libcpp/Makefile ] || [ -f stage3-libcpp/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libcpp/Makefile ] || $(MAKE) stage3-start ; \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libcpp-bootstrap
- 
- 
- .PHONY: configure-stage3-libiberty maybe-configure-stage3-libiberty
- .PHONY: all-stage3-libiberty maybe-all-stage3-libiberty
- .PHONY: clean-stage3-libiberty maybe-clean-stage3-libiberty
- 
- maybe-configure-stage3-libiberty:
- maybe-all-stage3-libiberty:
- maybe-clean-stage3-libiberty:
- 
- @if libiberty-bootstrap
- maybe-configure-stage3-libiberty: configure-stage3-libiberty
- configure-stage3-libiberty:
- 	@$(MAKE) stage3-start
- 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in libiberty ; \
- 	cd libiberty || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-libiberty: all-stage3-libiberty
- all-stage3-libiberty: configure-stage3-libiberty
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-libiberty: clean-stage3-libiberty
- clean-stage3-libiberty:
- 	@[ -f libiberty/Makefile ] || [ -f stage3-libiberty/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libiberty/Makefile ] || $(MAKE) stage3-start ; \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libiberty-bootstrap
- 
- 
- .PHONY: configure-stage3-zlib maybe-configure-stage3-zlib
- .PHONY: all-stage3-zlib maybe-all-stage3-zlib
- .PHONY: clean-stage3-zlib maybe-clean-stage3-zlib
- 
- maybe-configure-stage3-zlib:
- maybe-all-stage3-zlib:
- maybe-clean-stage3-zlib:
- 
- @if zlib-bootstrap
- maybe-configure-stage3-zlib: configure-stage3-zlib
- configure-stage3-zlib:
- 	@$(MAKE) stage3-start
- 	@[ -f zlib/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 3 in zlib ; \
- 	cd zlib || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage3-zlib: all-stage3-zlib
- all-stage3-zlib: configure-stage3-zlib
- 	@$(MAKE) stage3-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage3-zlib: clean-stage3-zlib
- clean-stage3-zlib:
- 	@[ -f zlib/Makefile ] || [ -f stage3-zlib/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f zlib/Makefile ] || $(MAKE) stage3-start ; \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif zlib-bootstrap
- 
- 
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  
  compare:
! 	@if test -f stage2-lean; then \
  	  echo Cannot compare object files as stage 2 was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	rm -f .bad_compare ; \
  	cd stage3-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
--- 35422,35452 ----
  .PHONY: stage3-bubble
  stage3-bubble:: stage2-bubble
  	@bootstrap_lean@-rm -rf stage1-* ; $(STAMP) stage1-lean
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage3-lean || test -f stage2-lean  ; then \
  	  echo Skipping rebuild of stage3 ; \
  	else \
! 	  $(MAKE) stage3-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage3; \
  	fi
+ 	$(MAKE) compare
  
  .PHONY: all-stage3 clean-stage3
  do-clean: clean-stage3
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  
  compare:
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage2-lean; then \
  	  echo Cannot compare object files as stage 2 was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	$(stage); \
  	rm -f .bad_compare ; \
  	cd stage3-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
*************** compare:
*** 32671,32677 ****
  	for file in $${files} ; do \
  	  f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
--- 35454,35467 ----
  	for file in $${files} ; do \
  	  f1=$$r/stage2-gcc/$$file; f2=$$r/stage3-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  if test $$? -eq 1; then \
! 	    case $$file in \
! 	      ./cc*-checksum$(objext) | ./libgcc/* ) \
! 	        echo warning: $$file differs ;; \
! 	      *) \
! 	        echo $$file differs >> .bad_compare ;; \
! 	    esac ; \
! 	  fi ; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
*************** compare:
*** 32686,32699 ****
  
  
  .PHONY: bootstrap
! bootstrap: stage3-bubble compare all
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage2:: distclean-stage3 
  .PHONY: distclean-stage3
  distclean-stage3::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stage3-* compare 
  
  
--- 35476,35498 ----
  
  
  .PHONY: bootstrap
! bootstrap:
! 	echo stage3 > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage3-bubble
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
! 	@: $(MAKE); $(stage)
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage2:: distclean-stage3 
  .PHONY: distclean-stage3
  distclean-stage3::
! 	@: $(MAKE); $(stage)
  	rm -rf stage3-* compare 
  
  
*************** cleanstrap: distclean bootstrap
*** 32706,32806 ****
  .PHONY: stage4-start stage4-end
  
  stage4-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stage4 > stage_current ; \
! 	echo stage4 > stage_last
  @if bfd
! 	@[ -d stage4-bfd ] || mkdir stage4-bfd; \
! 	set stage4-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stage4-opcodes ] || mkdir stage4-opcodes; \
! 	set stage4-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stage4-binutils ] || mkdir stage4-binutils; \
! 	set stage4-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stage4-gas ] || mkdir stage4-gas; \
! 	set stage4-gas gas ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stage4-gcc ] || mkdir stage4-gcc; \
! 	set stage4-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stage4-intl ] || mkdir stage4-intl; \
! 	set stage4-intl intl ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stage4-ld ] || mkdir stage4-ld; \
! 	set stage4-ld ld ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stage4-libcpp ] || mkdir stage4-libcpp; \
! 	set stage4-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stage4-libiberty ] || mkdir stage4-libiberty; \
! 	set stage4-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stage4-zlib ] || mkdir stage4-zlib; \
! 	set stage4-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage3-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage4-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stage4-bfd ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage3-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stage4-opcodes ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage3-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stage4-binutils ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage3-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stage4-gas ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage3-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stage4-gcc ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage3-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stage4-intl ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage3-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stage4-ld ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage3-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stage4-libcpp ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage3-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stage4-libiberty ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage3-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stage4-zlib ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage3-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 4.  They
--- 35505,35656 ----
  .PHONY: stage4-start stage4-end
  
  stage4-start::
! 	@: $(MAKE); $(stage); \
  	echo stage4 > stage_current ; \
! 	echo stage4 > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stage4-bfd ] || \
! 	  mkdir stage4-bfd; \
! 	set stage4-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-bfd prev-bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stage4-opcodes ] || \
! 	  mkdir stage4-opcodes; \
! 	set stage4-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-opcodes prev-opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stage4-binutils ] || \
! 	  mkdir stage4-binutils; \
! 	set stage4-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-binutils prev-binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stage4-gas ] || \
! 	  mkdir stage4-gas; \
! 	set stage4-gas gas ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-gas prev-gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stage4-gcc ] || \
! 	  mkdir stage4-gcc; \
! 	set stage4-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-gcc prev-gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stage4-intl ] || \
! 	  mkdir stage4-intl; \
! 	set stage4-intl intl ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-intl prev-intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stage4-ld ] || \
! 	  mkdir stage4-ld; \
! 	set stage4-ld ld ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-ld prev-ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stage4-libcpp ] || \
! 	  mkdir stage4-libcpp; \
! 	set stage4-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-libcpp prev-libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stage4-libiberty ] || \
! 	  mkdir stage4-libiberty; \
! 	set stage4-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-libiberty prev-libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stage4-zlib ] || \
! 	  mkdir stage4-zlib; \
! 	set stage4-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage3-zlib prev-zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stage4-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stage4-bfd ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage3-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stage4-opcodes ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage3-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stage4-binutils ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage3-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stage4-gas ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage3-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stage4-gcc ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage3-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stage4-intl ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage3-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stage4-ld ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage3-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stage4-libcpp ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage3-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stage4-libiberty ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage3-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stage4-zlib ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage3-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage 4.  They
*************** stage4-end::
*** 32809,33420 ****
  .PHONY: stage4-bubble
  stage4-bubble:: stage3-bubble
  	@bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
! 	@if test -f stage4-lean || test -f stage3-lean  ; then \
  	  echo Skipping rebuild of stage4 ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage4; \
  	fi
  
  .PHONY: all-stage4 clean-stage4
- all-stage4:     \
-   maybe-all-stage4-bfd \
-   maybe-all-stage4-opcodes \
-   maybe-all-stage4-binutils              \
-   maybe-all-stage4-gas \
-   maybe-all-stage4-gcc        \
-   maybe-all-stage4-intl   \
-   maybe-all-stage4-ld \
-   maybe-all-stage4-libcpp  \
-   maybe-all-stage4-libiberty                        \
-   maybe-all-stage4-zlib       
- 
  do-clean: clean-stage4
- clean-stage4:     \
-   maybe-clean-stage4-bfd \
-   maybe-clean-stage4-opcodes \
-   maybe-clean-stage4-binutils              \
-   maybe-clean-stage4-gas \
-   maybe-clean-stage4-gcc        \
-   maybe-clean-stage4-intl   \
-   maybe-clean-stage4-ld \
-   maybe-clean-stage4-libcpp  \
-   maybe-clean-stage4-libiberty                        \
-   maybe-clean-stage4-zlib       
- 
- 
- .PHONY: configure-stage4-bfd maybe-configure-stage4-bfd
- .PHONY: all-stage4-bfd maybe-all-stage4-bfd
- .PHONY: clean-stage4-bfd maybe-clean-stage4-bfd
- 
- maybe-configure-stage4-bfd:
- maybe-all-stage4-bfd:
- maybe-clean-stage4-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stage4-bfd: configure-stage4-bfd
- configure-stage4-bfd:
- 	@$(MAKE) stage4-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-bfd: all-stage4-bfd
- all-stage4-bfd: configure-stage4-bfd
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-bfd: clean-stage4-bfd
- clean-stage4-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stage4-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stage4-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stage4-opcodes maybe-configure-stage4-opcodes
- .PHONY: all-stage4-opcodes maybe-all-stage4-opcodes
- .PHONY: clean-stage4-opcodes maybe-clean-stage4-opcodes
- 
- maybe-configure-stage4-opcodes:
- maybe-all-stage4-opcodes:
- maybe-clean-stage4-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stage4-opcodes: configure-stage4-opcodes
- configure-stage4-opcodes:
- 	@$(MAKE) stage4-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-opcodes: all-stage4-opcodes
- all-stage4-opcodes: configure-stage4-opcodes
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-opcodes: clean-stage4-opcodes
- clean-stage4-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stage4-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stage4-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stage4-binutils maybe-configure-stage4-binutils
- .PHONY: all-stage4-binutils maybe-all-stage4-binutils
- .PHONY: clean-stage4-binutils maybe-clean-stage4-binutils
- 
- maybe-configure-stage4-binutils:
- maybe-all-stage4-binutils:
- maybe-clean-stage4-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stage4-binutils: configure-stage4-binutils
- configure-stage4-binutils:
- 	@$(MAKE) stage4-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-binutils: all-stage4-binutils
- all-stage4-binutils: configure-stage4-binutils
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-binutils: clean-stage4-binutils
- clean-stage4-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stage4-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stage4-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stage4-gas maybe-configure-stage4-gas
- .PHONY: all-stage4-gas maybe-all-stage4-gas
- .PHONY: clean-stage4-gas maybe-clean-stage4-gas
- 
- maybe-configure-stage4-gas:
- maybe-all-stage4-gas:
- maybe-clean-stage4-gas:
- 
- @if gas-bootstrap
- maybe-configure-stage4-gas: configure-stage4-gas
- configure-stage4-gas:
- 	@$(MAKE) stage4-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-gas: all-stage4-gas
- all-stage4-gas: configure-stage4-gas
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-gas: clean-stage4-gas
- clean-stage4-gas:
- 	@[ -f gas/Makefile ] || [ -f stage4-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stage4-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stage4-gcc maybe-configure-stage4-gcc
- .PHONY: all-stage4-gcc maybe-all-stage4-gcc
- .PHONY: clean-stage4-gcc maybe-clean-stage4-gcc
- 
- maybe-configure-stage4-gcc:
- maybe-all-stage4-gcc:
- maybe-clean-stage4-gcc:
- 
- @if gcc-bootstrap
- maybe-configure-stage4-gcc: configure-stage4-gcc
- configure-stage4-gcc:
- 	@$(MAKE) stage4-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-gcc: all-stage4-gcc
- all-stage4-gcc: configure-stage4-gcc
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stage4-gcc: clean-stage4-gcc
- clean-stage4-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stage4-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stage4-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
- 
- 
- .PHONY: configure-stage4-intl maybe-configure-stage4-intl
- .PHONY: all-stage4-intl maybe-all-stage4-intl
- .PHONY: clean-stage4-intl maybe-clean-stage4-intl
- 
- maybe-configure-stage4-intl:
- maybe-all-stage4-intl:
- maybe-clean-stage4-intl:
- 
- @if intl-bootstrap
- maybe-configure-stage4-intl: configure-stage4-intl
- configure-stage4-intl:
- 	@$(MAKE) stage4-start
- 	@[ -f intl/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in intl ; \
- 	cd intl || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-intl: all-stage4-intl
- all-stage4-intl: configure-stage4-intl
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-intl: clean-stage4-intl
- clean-stage4-intl:
- 	@[ -f intl/Makefile ] || [ -f stage4-intl/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f intl/Makefile ] || $(MAKE) stage4-start ; \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif intl-bootstrap
- 
- 
- .PHONY: configure-stage4-ld maybe-configure-stage4-ld
- .PHONY: all-stage4-ld maybe-all-stage4-ld
- .PHONY: clean-stage4-ld maybe-clean-stage4-ld
- 
- maybe-configure-stage4-ld:
- maybe-all-stage4-ld:
- maybe-clean-stage4-ld:
- 
- @if ld-bootstrap
- maybe-configure-stage4-ld: configure-stage4-ld
- configure-stage4-ld:
- 	@$(MAKE) stage4-start
- 	@[ -f ld/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in ld ; \
- 	cd ld || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-ld: all-stage4-ld
- all-stage4-ld: configure-stage4-ld
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-ld: clean-stage4-ld
- clean-stage4-ld:
- 	@[ -f ld/Makefile ] || [ -f stage4-ld/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f ld/Makefile ] || $(MAKE) stage4-start ; \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif ld-bootstrap
- 
- 
- .PHONY: configure-stage4-libcpp maybe-configure-stage4-libcpp
- .PHONY: all-stage4-libcpp maybe-all-stage4-libcpp
- .PHONY: clean-stage4-libcpp maybe-clean-stage4-libcpp
- 
- maybe-configure-stage4-libcpp:
- maybe-all-stage4-libcpp:
- maybe-clean-stage4-libcpp:
- 
- @if libcpp-bootstrap
- maybe-configure-stage4-libcpp: configure-stage4-libcpp
- configure-stage4-libcpp:
- 	@$(MAKE) stage4-start
- 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in libcpp ; \
- 	cd libcpp || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-libcpp: all-stage4-libcpp
- all-stage4-libcpp: configure-stage4-libcpp
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-libcpp: clean-stage4-libcpp
- clean-stage4-libcpp:
- 	@[ -f libcpp/Makefile ] || [ -f stage4-libcpp/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libcpp/Makefile ] || $(MAKE) stage4-start ; \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libcpp-bootstrap
- 
- 
- .PHONY: configure-stage4-libiberty maybe-configure-stage4-libiberty
- .PHONY: all-stage4-libiberty maybe-all-stage4-libiberty
- .PHONY: clean-stage4-libiberty maybe-clean-stage4-libiberty
- 
- maybe-configure-stage4-libiberty:
- maybe-all-stage4-libiberty:
- maybe-clean-stage4-libiberty:
- 
- @if libiberty-bootstrap
- maybe-configure-stage4-libiberty: configure-stage4-libiberty
- configure-stage4-libiberty:
- 	@$(MAKE) stage4-start
- 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in libiberty ; \
- 	cd libiberty || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-libiberty: all-stage4-libiberty
- all-stage4-libiberty: configure-stage4-libiberty
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-libiberty: clean-stage4-libiberty
- clean-stage4-libiberty:
- 	@[ -f libiberty/Makefile ] || [ -f stage4-libiberty/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libiberty/Makefile ] || $(MAKE) stage4-start ; \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif libiberty-bootstrap
- 
- 
- .PHONY: configure-stage4-zlib maybe-configure-stage4-zlib
- .PHONY: all-stage4-zlib maybe-all-stage4-zlib
- .PHONY: clean-stage4-zlib maybe-clean-stage4-zlib
- 
- maybe-configure-stage4-zlib:
- maybe-all-stage4-zlib:
- maybe-clean-stage4-zlib:
- 
- @if zlib-bootstrap
- maybe-configure-stage4-zlib: configure-stage4-zlib
- configure-stage4-zlib:
- 	@$(MAKE) stage4-start
- 	@[ -f zlib/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage 4 in zlib ; \
- 	cd zlib || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stage4-zlib: all-stage4-zlib
- all-stage4-zlib: configure-stage4-zlib
- 	@$(MAKE) stage4-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		 
- 
- maybe-clean-stage4-zlib: clean-stage4-zlib
- clean-stage4-zlib:
- 	@[ -f zlib/Makefile ] || [ -f stage4-zlib/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f zlib/Makefile ] || $(MAKE) stage4-start ; \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		  clean
- @endif zlib-bootstrap
- 
- 
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  
  compare3:
! 	@if test -f stage3-lean; then \
  	  echo Cannot compare object files as stage 3 was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	rm -f .bad_compare ; \
  	cd stage4-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
--- 35659,35689 ----
  .PHONY: stage4-bubble
  stage4-bubble:: stage3-bubble
  	@bootstrap_lean@-rm -rf stage2-* ; $(STAMP) stage2-lean
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage4-lean || test -f stage3-lean  ; then \
  	  echo Skipping rebuild of stage4 ; \
  	else \
! 	  $(MAKE) stage4-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage4; \
  	fi
+ 	$(MAKE) compare3
  
  .PHONY: all-stage4 clean-stage4
  do-clean: clean-stage4
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  
  compare3:
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage3-lean; then \
  	  echo Cannot compare object files as stage 3 was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	$(stage); \
  	rm -f .bad_compare ; \
  	cd stage4-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
*************** compare3:
*** 33422,33428 ****
  	for file in $${files} ; do \
  	  f1=$$r/stage3-gcc/$$file; f2=$$r/stage4-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
--- 35691,35704 ----
  	for file in $${files} ; do \
  	  f1=$$r/stage3-gcc/$$file; f2=$$r/stage4-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  if test $$? -eq 1; then \
! 	    case $$file in \
! 	      ./cc*-checksum$(objext) | ./libgcc/* ) \
! 	        echo warning: $$file differs ;; \
! 	      *) \
! 	        echo $$file differs >> .bad_compare ;; \
! 	    esac ; \
! 	  fi ; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
*************** compare3:
*** 33437,33450 ****
  
  
  .PHONY: bootstrap4
! bootstrap4: stage4-bubble compare3 all
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage3:: distclean-stage4 
  .PHONY: distclean-stage4
  distclean-stage4::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stage4-* compare3 
  
  
--- 35713,35735 ----
  
  
  .PHONY: bootstrap4
! bootstrap4:
! 	echo stage4 > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage4-bubble
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
! 	@: $(MAKE); $(stage)
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  distclean-stage3:: distclean-stage4 
  .PHONY: distclean-stage4
  distclean-stage4::
! 	@: $(MAKE); $(stage)
  	rm -rf stage4-* compare3 
  
  
*************** distclean-stage4::
*** 33454,33554 ****
  .PHONY: stageprofile-start stageprofile-end
  
  stageprofile-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stageprofile > stage_current ; \
! 	echo stageprofile > stage_last
  @if bfd
! 	@[ -d stageprofile-bfd ] || mkdir stageprofile-bfd; \
! 	set stageprofile-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stageprofile-opcodes ] || mkdir stageprofile-opcodes; \
! 	set stageprofile-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stageprofile-binutils ] || mkdir stageprofile-binutils; \
! 	set stageprofile-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stageprofile-gas ] || mkdir stageprofile-gas; \
! 	set stageprofile-gas gas ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stageprofile-gcc ] || mkdir stageprofile-gcc; \
! 	set stageprofile-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stageprofile-intl ] || mkdir stageprofile-intl; \
! 	set stageprofile-intl intl ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stageprofile-ld ] || mkdir stageprofile-ld; \
! 	set stageprofile-ld ld ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stageprofile-libcpp ] || mkdir stageprofile-libcpp; \
! 	set stageprofile-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stageprofile-libiberty ] || mkdir stageprofile-libiberty; \
! 	set stageprofile-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stageprofile-zlib ] || mkdir stageprofile-zlib; \
! 	set stageprofile-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stageprofile-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stageprofile-bfd ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stageprofile-opcodes ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stageprofile-binutils ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stageprofile-gas ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stageprofile-gcc ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stageprofile-intl ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stageprofile-ld ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stageprofile-libcpp ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stageprofile-libiberty ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stageprofile-zlib ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage profile.  They
--- 35739,35890 ----
  .PHONY: stageprofile-start stageprofile-end
  
  stageprofile-start::
! 	@: $(MAKE); $(stage); \
  	echo stageprofile > stage_current ; \
! 	echo stageprofile > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-bfd ] || \
! 	  mkdir stageprofile-bfd; \
! 	set stageprofile-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-bfd prev-bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-opcodes ] || \
! 	  mkdir stageprofile-opcodes; \
! 	set stageprofile-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-opcodes prev-opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-binutils ] || \
! 	  mkdir stageprofile-binutils; \
! 	set stageprofile-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-binutils prev-binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-gas ] || \
! 	  mkdir stageprofile-gas; \
! 	set stageprofile-gas gas ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gas prev-gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-gcc ] || \
! 	  mkdir stageprofile-gcc; \
! 	set stageprofile-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gcc prev-gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-intl ] || \
! 	  mkdir stageprofile-intl; \
! 	set stageprofile-intl intl ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-intl prev-intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-ld ] || \
! 	  mkdir stageprofile-ld; \
! 	set stageprofile-ld ld ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-ld prev-ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-libcpp ] || \
! 	  mkdir stageprofile-libcpp; \
! 	set stageprofile-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libcpp prev-libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-libiberty ] || \
! 	  mkdir stageprofile-libiberty; \
! 	set stageprofile-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libiberty prev-libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stageprofile-zlib ] || \
! 	  mkdir stageprofile-zlib; \
! 	set stageprofile-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stage1-zlib prev-zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stageprofile-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stageprofile-bfd ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage1-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stageprofile-opcodes ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage1-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stageprofile-binutils ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage1-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stageprofile-gas ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage1-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stageprofile-gcc ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage1-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stageprofile-intl ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage1-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stageprofile-ld ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage1-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stageprofile-libcpp ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage1-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stageprofile-libiberty ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage1-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stageprofile-zlib ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage1-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage profile.  They
*************** stageprofile-end::
*** 33556,34154 ****
  # be reconfigured as well.
  .PHONY: stageprofile-bubble
  stageprofile-bubble:: stage1-bubble
! 	@if test -f stageprofile-lean || test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stageprofile ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stageprofile; \
  	fi
  
  .PHONY: all-stageprofile clean-stageprofile
- all-stageprofile:     \
-   maybe-all-stageprofile-bfd \
-   maybe-all-stageprofile-opcodes \
-   maybe-all-stageprofile-binutils              \
-   maybe-all-stageprofile-gas \
-   maybe-all-stageprofile-gcc        \
-   maybe-all-stageprofile-intl   \
-   maybe-all-stageprofile-ld \
-   maybe-all-stageprofile-libcpp  \
-   maybe-all-stageprofile-libiberty                        \
-   maybe-all-stageprofile-zlib       
- 
  do-clean: clean-stageprofile
- clean-stageprofile:     \
-   maybe-clean-stageprofile-bfd \
-   maybe-clean-stageprofile-opcodes \
-   maybe-clean-stageprofile-binutils              \
-   maybe-clean-stageprofile-gas \
-   maybe-clean-stageprofile-gcc        \
-   maybe-clean-stageprofile-intl   \
-   maybe-clean-stageprofile-ld \
-   maybe-clean-stageprofile-libcpp  \
-   maybe-clean-stageprofile-libiberty                        \
-   maybe-clean-stageprofile-zlib       
- 
- 
- .PHONY: configure-stageprofile-bfd maybe-configure-stageprofile-bfd
- .PHONY: all-stageprofile-bfd maybe-all-stageprofile-bfd
- .PHONY: clean-stageprofile-bfd maybe-clean-stageprofile-bfd
- 
- maybe-configure-stageprofile-bfd:
- maybe-all-stageprofile-bfd:
- maybe-clean-stageprofile-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stageprofile-bfd: configure-stageprofile-bfd
- configure-stageprofile-bfd:
- 	@$(MAKE) stageprofile-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-bfd: all-stageprofile-bfd
- all-stageprofile-bfd: configure-stageprofile-bfd
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-bfd: clean-stageprofile-bfd
- clean-stageprofile-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stageprofile-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stageprofile-opcodes maybe-configure-stageprofile-opcodes
- .PHONY: all-stageprofile-opcodes maybe-all-stageprofile-opcodes
- .PHONY: clean-stageprofile-opcodes maybe-clean-stageprofile-opcodes
- 
- maybe-configure-stageprofile-opcodes:
- maybe-all-stageprofile-opcodes:
- maybe-clean-stageprofile-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stageprofile-opcodes: configure-stageprofile-opcodes
- configure-stageprofile-opcodes:
- 	@$(MAKE) stageprofile-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-opcodes: all-stageprofile-opcodes
- all-stageprofile-opcodes: configure-stageprofile-opcodes
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-opcodes: clean-stageprofile-opcodes
- clean-stageprofile-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stageprofile-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stageprofile-binutils maybe-configure-stageprofile-binutils
- .PHONY: all-stageprofile-binutils maybe-all-stageprofile-binutils
- .PHONY: clean-stageprofile-binutils maybe-clean-stageprofile-binutils
- 
- maybe-configure-stageprofile-binutils:
- maybe-all-stageprofile-binutils:
- maybe-clean-stageprofile-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stageprofile-binutils: configure-stageprofile-binutils
- configure-stageprofile-binutils:
- 	@$(MAKE) stageprofile-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-binutils: all-stageprofile-binutils
- all-stageprofile-binutils: configure-stageprofile-binutils
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-binutils: clean-stageprofile-binutils
- clean-stageprofile-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stageprofile-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stageprofile-gas maybe-configure-stageprofile-gas
- .PHONY: all-stageprofile-gas maybe-all-stageprofile-gas
- .PHONY: clean-stageprofile-gas maybe-clean-stageprofile-gas
- 
- maybe-configure-stageprofile-gas:
- maybe-all-stageprofile-gas:
- maybe-clean-stageprofile-gas:
- 
- @if gas-bootstrap
- maybe-configure-stageprofile-gas: configure-stageprofile-gas
- configure-stageprofile-gas:
- 	@$(MAKE) stageprofile-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-gas: all-stageprofile-gas
- all-stageprofile-gas: configure-stageprofile-gas
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-gas: clean-stageprofile-gas
- clean-stageprofile-gas:
- 	@[ -f gas/Makefile ] || [ -f stageprofile-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stageprofile-gcc maybe-configure-stageprofile-gcc
- .PHONY: all-stageprofile-gcc maybe-all-stageprofile-gcc
- .PHONY: clean-stageprofile-gcc maybe-clean-stageprofile-gcc
- 
- maybe-configure-stageprofile-gcc:
- maybe-all-stageprofile-gcc:
- maybe-clean-stageprofile-gcc:
- 
- @if gcc-bootstrap
- maybe-configure-stageprofile-gcc: configure-stageprofile-gcc
- configure-stageprofile-gcc:
- 	@$(MAKE) stageprofile-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-gcc: all-stageprofile-gcc
- all-stageprofile-gcc: configure-stageprofile-gcc
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stageprofile-gcc: clean-stageprofile-gcc
- clean-stageprofile-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stageprofile-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
- 
- 
- .PHONY: configure-stageprofile-intl maybe-configure-stageprofile-intl
- .PHONY: all-stageprofile-intl maybe-all-stageprofile-intl
- .PHONY: clean-stageprofile-intl maybe-clean-stageprofile-intl
- 
- maybe-configure-stageprofile-intl:
- maybe-all-stageprofile-intl:
- maybe-clean-stageprofile-intl:
- 
- @if intl-bootstrap
- maybe-configure-stageprofile-intl: configure-stageprofile-intl
- configure-stageprofile-intl:
- 	@$(MAKE) stageprofile-start
- 	@[ -f intl/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in intl ; \
- 	cd intl || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
- 	    libsrcdir="$$s/intl";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-intl: all-stageprofile-intl
- all-stageprofile-intl: configure-stageprofile-intl
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-intl: clean-stageprofile-intl
- clean-stageprofile-intl:
- 	@[ -f intl/Makefile ] || [ -f stageprofile-intl/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f intl/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd intl && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif intl-bootstrap
- 
- 
- .PHONY: configure-stageprofile-ld maybe-configure-stageprofile-ld
- .PHONY: all-stageprofile-ld maybe-all-stageprofile-ld
- .PHONY: clean-stageprofile-ld maybe-clean-stageprofile-ld
- 
- maybe-configure-stageprofile-ld:
- maybe-all-stageprofile-ld:
- maybe-clean-stageprofile-ld:
- 
- @if ld-bootstrap
- maybe-configure-stageprofile-ld: configure-stageprofile-ld
- configure-stageprofile-ld:
- 	@$(MAKE) stageprofile-start
- 	@[ -f ld/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in ld ; \
- 	cd ld || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
- 	    libsrcdir="$$s/ld";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-ld: all-stageprofile-ld
- all-stageprofile-ld: configure-stageprofile-ld
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-ld: clean-stageprofile-ld
- clean-stageprofile-ld:
- 	@[ -f ld/Makefile ] || [ -f stageprofile-ld/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f ld/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd ld && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif ld-bootstrap
- 
- 
- .PHONY: configure-stageprofile-libcpp maybe-configure-stageprofile-libcpp
- .PHONY: all-stageprofile-libcpp maybe-all-stageprofile-libcpp
- .PHONY: clean-stageprofile-libcpp maybe-clean-stageprofile-libcpp
- 
- maybe-configure-stageprofile-libcpp:
- maybe-all-stageprofile-libcpp:
- maybe-clean-stageprofile-libcpp:
- 
- @if libcpp-bootstrap
- maybe-configure-stageprofile-libcpp: configure-stageprofile-libcpp
- configure-stageprofile-libcpp:
- 	@$(MAKE) stageprofile-start
- 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in libcpp ; \
- 	cd libcpp || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
- 	    libsrcdir="$$s/libcpp";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-libcpp: all-stageprofile-libcpp
- all-stageprofile-libcpp: configure-stageprofile-libcpp
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-libcpp: clean-stageprofile-libcpp
- clean-stageprofile-libcpp:
- 	@[ -f libcpp/Makefile ] || [ -f stageprofile-libcpp/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libcpp/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd libcpp && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif libcpp-bootstrap
- 
- 
- .PHONY: configure-stageprofile-libiberty maybe-configure-stageprofile-libiberty
- .PHONY: all-stageprofile-libiberty maybe-all-stageprofile-libiberty
- .PHONY: clean-stageprofile-libiberty maybe-clean-stageprofile-libiberty
- 
- maybe-configure-stageprofile-libiberty:
- maybe-all-stageprofile-libiberty:
- maybe-clean-stageprofile-libiberty:
- 
- @if libiberty-bootstrap
- maybe-configure-stageprofile-libiberty: configure-stageprofile-libiberty
- configure-stageprofile-libiberty:
- 	@$(MAKE) stageprofile-start
- 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in libiberty ; \
- 	cd libiberty || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
- 	    libsrcdir="$$s/libiberty";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-libiberty: all-stageprofile-libiberty
- all-stageprofile-libiberty: configure-stageprofile-libiberty
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-libiberty: clean-stageprofile-libiberty
- clean-stageprofile-libiberty:
- 	@[ -f libiberty/Makefile ] || [ -f stageprofile-libiberty/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f libiberty/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd libiberty && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif libiberty-bootstrap
- 
- 
- .PHONY: configure-stageprofile-zlib maybe-configure-stageprofile-zlib
- .PHONY: all-stageprofile-zlib maybe-all-stageprofile-zlib
- .PHONY: clean-stageprofile-zlib maybe-clean-stageprofile-zlib
- 
- maybe-configure-stageprofile-zlib:
- maybe-all-stageprofile-zlib:
- maybe-clean-stageprofile-zlib:
- 
- @if zlib-bootstrap
- maybe-configure-stageprofile-zlib: configure-stageprofile-zlib
- configure-stageprofile-zlib:
- 	@$(MAKE) stageprofile-start
- 	@[ -f zlib/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage profile in zlib ; \
- 	cd zlib || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
- 	    libsrcdir="$$s/zlib";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stageprofile-zlib: all-stageprofile-zlib
- all-stageprofile-zlib: configure-stageprofile-zlib
- 	@$(MAKE) stageprofile-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate" 
- 
- maybe-clean-stageprofile-zlib: clean-stageprofile-zlib
- clean-stageprofile-zlib:
- 	@[ -f zlib/Makefile ] || [ -f stageprofile-zlib/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f zlib/Makefile ] || $(MAKE) stageprofile-start ; \
- 	cd zlib && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-generate"  clean
- @endif zlib-bootstrap
- 
- 
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
--- 35892,35908 ----
  # be reconfigured as well.
  .PHONY: stageprofile-bubble
  stageprofile-bubble:: stage1-bubble
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stageprofile-lean || test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stageprofile ; \
  	else \
! 	  $(MAKE) stageprofile-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stageprofile; \
  	fi
  
  .PHONY: all-stageprofile clean-stageprofile
  do-clean: clean-stageprofile
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
*************** clean-stageprofile-zlib:
*** 34161,34167 ****
  distclean-stage1:: distclean-stageprofile 
  .PHONY: distclean-stageprofile
  distclean-stageprofile::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stageprofile-* 
  
  
--- 35915,35921 ----
  distclean-stage1:: distclean-stageprofile 
  .PHONY: distclean-stageprofile
  distclean-stageprofile::
! 	@: $(MAKE); $(stage)
  	rm -rf stageprofile-* 
  
  
*************** distclean-stageprofile::
*** 34171,34884 ****
  .PHONY: stagefeedback-start stagefeedback-end
  
  stagefeedback-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stagefeedback > stage_current ; \
! 	echo stagefeedback > stage_last
  @if bfd
! 	@[ -d stagefeedback-bfd ] || mkdir stagefeedback-bfd; \
! 	set stagefeedback-bfd bfd ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-bfd prev-bfd ; @CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@[ -d stagefeedback-opcodes ] || mkdir stagefeedback-opcodes; \
! 	set stagefeedback-opcodes opcodes ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-opcodes prev-opcodes ; @CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@[ -d stagefeedback-binutils ] || mkdir stagefeedback-binutils; \
! 	set stagefeedback-binutils binutils ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-binutils prev-binutils ; @CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@[ -d stagefeedback-gas ] || mkdir stagefeedback-gas; \
! 	set stagefeedback-gas gas ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gas prev-gas ; @CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@[ -d stagefeedback-gcc ] || mkdir stagefeedback-gcc; \
! 	set stagefeedback-gcc gcc ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-gcc prev-gcc ; @CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@[ -d stagefeedback-intl ] || mkdir stagefeedback-intl; \
! 	set stagefeedback-intl intl ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-intl prev-intl ; @CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@[ -d stagefeedback-ld ] || mkdir stagefeedback-ld; \
! 	set stagefeedback-ld ld ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-ld prev-ld ; @CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@[ -d stagefeedback-libcpp ] || mkdir stagefeedback-libcpp; \
! 	set stagefeedback-libcpp libcpp ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libcpp prev-libcpp ; @CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@[ -d stagefeedback-libiberty ] || mkdir stagefeedback-libiberty; \
! 	set stagefeedback-libiberty libiberty ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-libiberty prev-libiberty ; @CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@[ -d stagefeedback-zlib ] || mkdir stagefeedback-zlib; \
! 	set stagefeedback-zlib zlib ; @CREATE_LINK_TO_DIR@  ; \
! 	set stage1-zlib prev-zlib ; @CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stagefeedback-end::
  	@rm -f stage_current
  @if bfd
! 	@set bfd stagefeedback-bfd ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stage1-bfd ; @UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@set opcodes stagefeedback-opcodes ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stage1-opcodes ; @UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@set binutils stagefeedback-binutils ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stage1-binutils ; @UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@set gas stagefeedback-gas ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stage1-gas ; @UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@set gcc stagefeedback-gcc ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stage1-gcc ; @UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@set intl stagefeedback-intl ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stage1-intl ; @UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@set ld stagefeedback-ld ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stage1-ld ; @UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@set libcpp stagefeedback-libcpp ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stage1-libcpp ; @UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@set libiberty stagefeedback-libiberty ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stage1-libiberty ; @UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@set zlib stagefeedback-zlib ; @UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stage1-zlib ; @UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage feedback.  They
  # are remade, but not reconfigured.  The next stage (if any) will not
  # be reconfigured as well.
  .PHONY: stagefeedback-bubble
! stagefeedback-bubble:: stage1-bubble
! 	@if test -f stagefeedback-lean || test -f stage1-lean  ; then \
  	  echo Skipping rebuild of stagefeedback ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stagefeedback; \
  	fi
  
  .PHONY: all-stagefeedback clean-stagefeedback
- all-stagefeedback:     \
-   maybe-all-stagefeedback-bfd \
-   maybe-all-stagefeedback-opcodes \
-   maybe-all-stagefeedback-binutils              \
-   maybe-all-stagefeedback-gas \
-   maybe-all-stagefeedback-gcc        \
-   maybe-all-stagefeedback-intl   \
-   maybe-all-stagefeedback-ld \
-   maybe-all-stagefeedback-libcpp  \
-   maybe-all-stagefeedback-libiberty                        \
-   maybe-all-stagefeedback-zlib       
- 
  do-clean: clean-stagefeedback
- clean-stagefeedback:     \
-   maybe-clean-stagefeedback-bfd \
-   maybe-clean-stagefeedback-opcodes \
-   maybe-clean-stagefeedback-binutils              \
-   maybe-clean-stagefeedback-gas \
-   maybe-clean-stagefeedback-gcc        \
-   maybe-clean-stagefeedback-intl   \
-   maybe-clean-stagefeedback-ld \
-   maybe-clean-stagefeedback-libcpp  \
-   maybe-clean-stagefeedback-libiberty                        \
-   maybe-clean-stagefeedback-zlib       
- 
- 
- .PHONY: configure-stagefeedback-bfd maybe-configure-stagefeedback-bfd
- .PHONY: all-stagefeedback-bfd maybe-all-stagefeedback-bfd
- .PHONY: clean-stagefeedback-bfd maybe-clean-stagefeedback-bfd
- 
- maybe-configure-stagefeedback-bfd:
- maybe-all-stagefeedback-bfd:
- maybe-clean-stagefeedback-bfd:
- 
- @if bfd-bootstrap
- maybe-configure-stagefeedback-bfd: configure-stagefeedback-bfd
- configure-stagefeedback-bfd:
- 	@$(MAKE) stagefeedback-start
- 	@[ -f bfd/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage feedback in bfd ; \
- 	cd bfd || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/bfd"; \
- 	    libsrcdir="$$s/bfd";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stagefeedback-bfd: all-stagefeedback-bfd
- all-stagefeedback-bfd: configure-stagefeedback-bfd
- 	@$(MAKE) stagefeedback-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
- 
- maybe-clean-stagefeedback-bfd: clean-stagefeedback-bfd
- clean-stagefeedback-bfd:
- 	@[ -f bfd/Makefile ] || [ -f stagefeedback-bfd/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f bfd/Makefile ] || $(MAKE) stagefeedback-start ; \
- 	cd bfd && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
- @endif bfd-bootstrap
- 
- 
- .PHONY: configure-stagefeedback-opcodes maybe-configure-stagefeedback-opcodes
- .PHONY: all-stagefeedback-opcodes maybe-all-stagefeedback-opcodes
- .PHONY: clean-stagefeedback-opcodes maybe-clean-stagefeedback-opcodes
- 
- maybe-configure-stagefeedback-opcodes:
- maybe-all-stagefeedback-opcodes:
- maybe-clean-stagefeedback-opcodes:
- 
- @if opcodes-bootstrap
- maybe-configure-stagefeedback-opcodes: configure-stagefeedback-opcodes
- configure-stagefeedback-opcodes:
- 	@$(MAKE) stagefeedback-start
- 	@[ -f opcodes/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage feedback in opcodes ; \
- 	cd opcodes || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/opcodes"; \
- 	    libsrcdir="$$s/opcodes";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stagefeedback-opcodes: all-stagefeedback-opcodes
- all-stagefeedback-opcodes: configure-stagefeedback-opcodes
- 	@$(MAKE) stagefeedback-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
- 
- maybe-clean-stagefeedback-opcodes: clean-stagefeedback-opcodes
- clean-stagefeedback-opcodes:
- 	@[ -f opcodes/Makefile ] || [ -f stagefeedback-opcodes/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f opcodes/Makefile ] || $(MAKE) stagefeedback-start ; \
- 	cd opcodes && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
- @endif opcodes-bootstrap
- 
- 
- .PHONY: configure-stagefeedback-binutils maybe-configure-stagefeedback-binutils
- .PHONY: all-stagefeedback-binutils maybe-all-stagefeedback-binutils
- .PHONY: clean-stagefeedback-binutils maybe-clean-stagefeedback-binutils
- 
- maybe-configure-stagefeedback-binutils:
- maybe-all-stagefeedback-binutils:
- maybe-clean-stagefeedback-binutils:
- 
- @if binutils-bootstrap
- maybe-configure-stagefeedback-binutils: configure-stagefeedback-binutils
- configure-stagefeedback-binutils:
- 	@$(MAKE) stagefeedback-start
- 	@[ -f binutils/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage feedback in binutils ; \
- 	cd binutils || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/binutils"; \
- 	    libsrcdir="$$s/binutils";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stagefeedback-binutils: all-stagefeedback-binutils
- all-stagefeedback-binutils: configure-stagefeedback-binutils
- 	@$(MAKE) stagefeedback-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
- 
- maybe-clean-stagefeedback-binutils: clean-stagefeedback-binutils
- clean-stagefeedback-binutils:
- 	@[ -f binutils/Makefile ] || [ -f stagefeedback-binutils/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f binutils/Makefile ] || $(MAKE) stagefeedback-start ; \
- 	cd binutils && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
- @endif binutils-bootstrap
- 
- 
- .PHONY: configure-stagefeedback-gas maybe-configure-stagefeedback-gas
- .PHONY: all-stagefeedback-gas maybe-all-stagefeedback-gas
- .PHONY: clean-stagefeedback-gas maybe-clean-stagefeedback-gas
- 
- maybe-configure-stagefeedback-gas:
- maybe-all-stagefeedback-gas:
- maybe-clean-stagefeedback-gas:
- 
- @if gas-bootstrap
- maybe-configure-stagefeedback-gas: configure-stagefeedback-gas
- configure-stagefeedback-gas:
- 	@$(MAKE) stagefeedback-start
- 	@[ -f gas/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage feedback in gas ; \
- 	cd gas || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gas"; \
- 	    libsrcdir="$$s/gas";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
- 
- maybe-all-stagefeedback-gas: all-stagefeedback-gas
- all-stagefeedback-gas: configure-stagefeedback-gas
- 	@$(MAKE) stagefeedback-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
- 
- maybe-clean-stagefeedback-gas: clean-stagefeedback-gas
- clean-stagefeedback-gas:
- 	@[ -f gas/Makefile ] || [ -f stagefeedback-gas/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gas/Makefile ] || $(MAKE) stagefeedback-start ; \
- 	cd gas && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
- @endif gas-bootstrap
- 
- 
- .PHONY: configure-stagefeedback-gcc maybe-configure-stagefeedback-gcc
- .PHONY: all-stagefeedback-gcc maybe-all-stagefeedback-gcc
- .PHONY: clean-stagefeedback-gcc maybe-clean-stagefeedback-gcc
- 
- maybe-configure-stagefeedback-gcc:
- maybe-all-stagefeedback-gcc:
- maybe-clean-stagefeedback-gcc:
  
  @if gcc-bootstrap
- maybe-configure-stagefeedback-gcc: configure-stagefeedback-gcc
- configure-stagefeedback-gcc:
- 	@$(MAKE) stagefeedback-start
- 	@[ -f gcc/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	echo Configuring stage feedback in gcc ; \
- 	cd gcc || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/gcc"; \
- 	    libsrcdir="$$s/gcc";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  @stage2_werror_flag@ 
  
- maybe-all-stagefeedback-gcc: all-stagefeedback-gcc
- all-stagefeedback-gcc: configure-stagefeedback-gcc
- 	@$(MAKE) stagefeedback-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
- 	$(STAGE_HOST_EXPORTS)  \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS)
- 
- maybe-clean-stagefeedback-gcc: clean-stagefeedback-gcc
- clean-stagefeedback-gcc:
- 	@[ -f gcc/Makefile ] || [ -f stagefeedback-gcc/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f gcc/Makefile ] || $(MAKE) stagefeedback-start ; \
- 	cd gcc && \
- 	$(MAKE) $(FLAGS_TO_PASS)  \
- 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
- 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" $(EXTRA_GCC_FLAGS) clean
- @endif gcc-bootstrap
  
  
! .PHONY: configure-stagefeedback-intl maybe-configure-stagefeedback-intl
! .PHONY: all-stagefeedback-intl maybe-all-stagefeedback-intl
! .PHONY: clean-stagefeedback-intl maybe-clean-stagefeedback-intl
! 
! maybe-configure-stagefeedback-intl:
! maybe-all-stagefeedback-intl:
! maybe-clean-stagefeedback-intl:
! 
! @if intl-bootstrap
! maybe-configure-stagefeedback-intl: configure-stagefeedback-intl
! configure-stagefeedback-intl:
! 	@$(MAKE) stagefeedback-start
! 	@[ -f intl/Makefile ] && exit 0 || : ; \
! 	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	echo Configuring stage feedback in intl ; \
! 	cd intl || exit 1; \
! 	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/intl"; \
! 	    libsrcdir="$$s/intl";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/intl"; \
! 	    libsrcdir="$$s/intl";; \
! 	esac; \
! 	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} \
! 	  @stage2_werror_flag@ 
! 
! maybe-all-stagefeedback-intl: all-stagefeedback-intl
! all-stagefeedback-intl: configure-stagefeedback-intl
! 	@$(MAKE) stagefeedback-start
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	cd intl && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
! 
! maybe-clean-stagefeedback-intl: clean-stagefeedback-intl
! clean-stagefeedback-intl:
! 	@[ -f intl/Makefile ] || [ -f stagefeedback-intl/Makefile ] \
! 	  || exit 0 ; \
! 	[ -f intl/Makefile ] || $(MAKE) stagefeedback-start ; \
! 	cd intl && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
! @endif intl-bootstrap
! 
! 
! .PHONY: configure-stagefeedback-ld maybe-configure-stagefeedback-ld
! .PHONY: all-stagefeedback-ld maybe-all-stagefeedback-ld
! .PHONY: clean-stagefeedback-ld maybe-clean-stagefeedback-ld
! 
! maybe-configure-stagefeedback-ld:
! maybe-all-stagefeedback-ld:
! maybe-clean-stagefeedback-ld:
! 
! @if ld-bootstrap
! maybe-configure-stagefeedback-ld: configure-stagefeedback-ld
! configure-stagefeedback-ld:
! 	@$(MAKE) stagefeedback-start
! 	@[ -f ld/Makefile ] && exit 0 || : ; \
! 	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	echo Configuring stage feedback in ld ; \
! 	cd ld || exit 1; \
! 	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/ld"; \
! 	    libsrcdir="$$s/ld";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/ld"; \
! 	    libsrcdir="$$s/ld";; \
! 	esac; \
! 	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} \
! 	  @stage2_werror_flag@ 
! 
! maybe-all-stagefeedback-ld: all-stagefeedback-ld
! all-stagefeedback-ld: configure-stagefeedback-ld
! 	@$(MAKE) stagefeedback-start
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	cd ld && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
! 
! maybe-clean-stagefeedback-ld: clean-stagefeedback-ld
! clean-stagefeedback-ld:
! 	@[ -f ld/Makefile ] || [ -f stagefeedback-ld/Makefile ] \
! 	  || exit 0 ; \
! 	[ -f ld/Makefile ] || $(MAKE) stagefeedback-start ; \
! 	cd ld && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
! @endif ld-bootstrap
! 
! 
! .PHONY: configure-stagefeedback-libcpp maybe-configure-stagefeedback-libcpp
! .PHONY: all-stagefeedback-libcpp maybe-all-stagefeedback-libcpp
! .PHONY: clean-stagefeedback-libcpp maybe-clean-stagefeedback-libcpp
! 
! maybe-configure-stagefeedback-libcpp:
! maybe-all-stagefeedback-libcpp:
! maybe-clean-stagefeedback-libcpp:
! 
! @if libcpp-bootstrap
! maybe-configure-stagefeedback-libcpp: configure-stagefeedback-libcpp
! configure-stagefeedback-libcpp:
! 	@$(MAKE) stagefeedback-start
! 	@[ -f libcpp/Makefile ] && exit 0 || : ; \
! 	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	echo Configuring stage feedback in libcpp ; \
! 	cd libcpp || exit 1; \
! 	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libcpp"; \
! 	    libsrcdir="$$s/libcpp";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libcpp"; \
! 	    libsrcdir="$$s/libcpp";; \
! 	esac; \
! 	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} \
! 	  @stage2_werror_flag@ 
! 
! maybe-all-stagefeedback-libcpp: all-stagefeedback-libcpp
! all-stagefeedback-libcpp: configure-stagefeedback-libcpp
! 	@$(MAKE) stagefeedback-start
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	cd libcpp && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
! 
! maybe-clean-stagefeedback-libcpp: clean-stagefeedback-libcpp
! clean-stagefeedback-libcpp:
! 	@[ -f libcpp/Makefile ] || [ -f stagefeedback-libcpp/Makefile ] \
! 	  || exit 0 ; \
! 	[ -f libcpp/Makefile ] || $(MAKE) stagefeedback-start ; \
! 	cd libcpp && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
! @endif libcpp-bootstrap
! 
! 
! .PHONY: configure-stagefeedback-libiberty maybe-configure-stagefeedback-libiberty
! .PHONY: all-stagefeedback-libiberty maybe-all-stagefeedback-libiberty
! .PHONY: clean-stagefeedback-libiberty maybe-clean-stagefeedback-libiberty
! 
! maybe-configure-stagefeedback-libiberty:
! maybe-all-stagefeedback-libiberty:
! maybe-clean-stagefeedback-libiberty:
! 
! @if libiberty-bootstrap
! maybe-configure-stagefeedback-libiberty: configure-stagefeedback-libiberty
! configure-stagefeedback-libiberty:
! 	@$(MAKE) stagefeedback-start
! 	@[ -f libiberty/Makefile ] && exit 0 || : ; \
! 	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	echo Configuring stage feedback in libiberty ; \
! 	cd libiberty || exit 1; \
! 	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/libiberty"; \
! 	    libsrcdir="$$s/libiberty";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/libiberty"; \
! 	    libsrcdir="$$s/libiberty";; \
! 	esac; \
! 	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} \
! 	  @stage2_werror_flag@ 
! 
! maybe-all-stagefeedback-libiberty: all-stagefeedback-libiberty
! all-stagefeedback-libiberty: configure-stagefeedback-libiberty
! 	@$(MAKE) stagefeedback-start
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	cd libiberty && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
! 
! maybe-clean-stagefeedback-libiberty: clean-stagefeedback-libiberty
! clean-stagefeedback-libiberty:
! 	@[ -f libiberty/Makefile ] || [ -f stagefeedback-libiberty/Makefile ] \
! 	  || exit 0 ; \
! 	[ -f libiberty/Makefile ] || $(MAKE) stagefeedback-start ; \
! 	cd libiberty && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
! @endif libiberty-bootstrap
! 
! 
! .PHONY: configure-stagefeedback-zlib maybe-configure-stagefeedback-zlib
! .PHONY: all-stagefeedback-zlib maybe-all-stagefeedback-zlib
! .PHONY: clean-stagefeedback-zlib maybe-clean-stagefeedback-zlib
! 
! maybe-configure-stagefeedback-zlib:
! maybe-all-stagefeedback-zlib:
! maybe-clean-stagefeedback-zlib:
! 
! @if zlib-bootstrap
! maybe-configure-stagefeedback-zlib: configure-stagefeedback-zlib
! configure-stagefeedback-zlib:
! 	@$(MAKE) stagefeedback-start
! 	@[ -f zlib/Makefile ] && exit 0 || : ; \
! 	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	echo Configuring stage feedback in zlib ; \
! 	cd zlib || exit 1; \
! 	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/zlib"; \
! 	    libsrcdir="$$s/zlib";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/zlib"; \
! 	    libsrcdir="$$s/zlib";; \
! 	esac; \
! 	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} \
! 	  @stage2_werror_flag@ 
! 
! maybe-all-stagefeedback-zlib: all-stagefeedback-zlib
! all-stagefeedback-zlib: configure-stagefeedback-zlib
! 	@$(MAKE) stagefeedback-start
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s;  \
! 	$(STAGE_HOST_EXPORTS)  \
! 	cd zlib && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use" 
! 
! maybe-clean-stagefeedback-zlib: clean-stagefeedback-zlib
! clean-stagefeedback-zlib:
! 	@[ -f zlib/Makefile ] || [ -f stagefeedback-zlib/Makefile ] \
! 	  || exit 0 ; \
! 	[ -f zlib/Makefile ] || $(MAKE) stagefeedback-start ; \
! 	cd zlib && \
! 	$(MAKE) $(FLAGS_TO_PASS)  \
! 		$(POSTSTAGE1_FLAGS_TO_PASS)  \
! 		CFLAGS="$(BOOT_CFLAGS) -fprofile-use"  clean
! @endif zlib-bootstrap
! 
! 
! 
! # FIXME: Will not need to be conditional when toplevel bootstrap is the
! # only possibility, but now it conflicts with no-bootstrap rules
! @if gcc-bootstrap
! 
! 
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
! distclean-stage1:: distclean-stagefeedback 
  .PHONY: distclean-stagefeedback
  distclean-stagefeedback::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stagefeedback-* 
  
  
--- 35925,36119 ----
  .PHONY: stagefeedback-start stagefeedback-end
  
  stagefeedback-start::
! 	@: $(MAKE); $(stage); \
  	echo stagefeedback > stage_current ; \
! 	echo stagefeedback > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)
  @if bfd
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-bfd ] || \
! 	  mkdir stagefeedback-bfd; \
! 	set stagefeedback-bfd bfd ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-bfd prev-bfd ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-opcodes ] || \
! 	  mkdir stagefeedback-opcodes; \
! 	set stagefeedback-opcodes opcodes ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-opcodes prev-opcodes ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-binutils ] || \
! 	  mkdir stagefeedback-binutils; \
! 	set stagefeedback-binutils binutils ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-binutils prev-binutils ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-gas ] || \
! 	  mkdir stagefeedback-gas; \
! 	set stagefeedback-gas gas ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-gas prev-gas ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-gcc ] || \
! 	  mkdir stagefeedback-gcc; \
! 	set stagefeedback-gcc gcc ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-gcc prev-gcc ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-intl ] || \
! 	  mkdir stagefeedback-intl; \
! 	set stagefeedback-intl intl ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-intl prev-intl ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-ld ] || \
! 	  mkdir stagefeedback-ld; \
! 	set stagefeedback-ld ld ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-ld prev-ld ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-libcpp ] || \
! 	  mkdir stagefeedback-libcpp; \
! 	set stagefeedback-libcpp libcpp ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-libcpp prev-libcpp ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-libiberty ] || \
! 	  mkdir stagefeedback-libiberty; \
! 	set stagefeedback-libiberty libiberty ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-libiberty prev-libiberty ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); [ -d stagefeedback-zlib ] || \
! 	  mkdir stagefeedback-zlib; \
! 	set stagefeedback-zlib zlib ; \
! 	@CREATE_LINK_TO_DIR@  ; \
! 	set stageprofile-zlib prev-zlib ; \
! 	@CREATE_LINK_TO_DIR@ 
  @endif zlib
  
  stagefeedback-end::
  	@rm -f stage_current
  @if bfd
! 	@cd $(HOST_SUBDIR); set bfd stagefeedback-bfd ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-bfd stageprofile-bfd ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif bfd
  @if opcodes
! 	@cd $(HOST_SUBDIR); set opcodes stagefeedback-opcodes ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-opcodes stageprofile-opcodes ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif opcodes
  @if binutils
! 	@cd $(HOST_SUBDIR); set binutils stagefeedback-binutils ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-binutils stageprofile-binutils ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif binutils
  @if gas
! 	@cd $(HOST_SUBDIR); set gas stagefeedback-gas ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gas stageprofile-gas ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gas
  @if gcc
! 	@cd $(HOST_SUBDIR); set gcc stagefeedback-gcc ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-gcc stageprofile-gcc ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif gcc
  @if intl
! 	@cd $(HOST_SUBDIR); set intl stagefeedback-intl ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-intl stageprofile-intl ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif intl
  @if ld
! 	@cd $(HOST_SUBDIR); set ld stagefeedback-ld ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-ld stageprofile-ld ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif ld
  @if libcpp
! 	@cd $(HOST_SUBDIR); set libcpp stagefeedback-libcpp ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libcpp stageprofile-libcpp ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libcpp
  @if libiberty
! 	@cd $(HOST_SUBDIR); set libiberty stagefeedback-libiberty ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-libiberty stageprofile-libiberty ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif libiberty
  @if zlib
! 	@cd $(HOST_SUBDIR); set zlib stagefeedback-zlib ; \
! 	@UNDO_LINK_TO_DIR@  ; \
! 	set prev-zlib stageprofile-zlib ; \
! 	@UNDO_LINK_TO_DIR@ 
  @endif zlib
  
  # Bubble a bugfix through all the stages up to stage feedback.  They
  # are remade, but not reconfigured.  The next stage (if any) will not
  # be reconfigured as well.
  .PHONY: stagefeedback-bubble
! stagefeedback-bubble:: stageprofile-bubble
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stagefeedback-lean || test -f stageprofile-lean  ; then \
  	  echo Skipping rebuild of stagefeedback ; \
  	else \
! 	  $(MAKE) stagefeedback-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stagefeedback; \
  	fi
  
  .PHONY: all-stagefeedback clean-stagefeedback
  do-clean: clean-stagefeedback
  
+ # FIXME: Will not need to be conditional when toplevel bootstrap is the
+ # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  
  
  
! .PHONY: profiledbootstrap
! profiledbootstrap:
! 	echo stagefeedback > stage_final
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stagefeedback-bubble
! 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
! 	@: $(MAKE); $(stage)
  
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
! distclean-stageprofile:: distclean-stagefeedback 
  .PHONY: distclean-stagefeedback
  distclean-stagefeedback::
! 	@: $(MAKE); $(stage)
  	rm -rf stagefeedback-* 
  
  
*************** distclean-stagefeedback::
*** 34886,34924 ****
  
  
  
! stagefeedback-start::
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	cd stageprofile-gcc && \
! 	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../gcc/&",' | $(SHELL); } && \
! 	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../gcc/&",' | $(SHELL); }
  
! # FIXME: Will not need to be conditional when toplevel bootstrap is the
! # only possibility, but now it conflicts with no-bootstrap rules
! @if gcc-bootstrap
! profiledbootstrap:
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \
! 	$(HOST_EXPORTS) \
! 	echo "Bootstrapping the compiler"; \
! 	$(MAKE) stageprofile-bubble distclean-stagefeedback
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
! 	$(SET_LIB_PATH) \
! 	echo "Building runtime libraries and training compiler"; \
! 	$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \
! 	$(HOST_EXPORTS) \
! 	echo "Building feedback based compiler"; \
! 	$(MAKE) stagefeedback-bubble stagefeedback-end
! @endif gcc-bootstrap
  
  @if gcc-bootstrap
- NOTPARALLEL = .NOTPARALLEL
- $(NOTPARALLEL):
  do-distclean: distclean-stage1
  @endif gcc-bootstrap
  
--- 36121,36140 ----
  
  
  
! stageprofile-end::
! 	$(MAKE) distclean-stagefeedback
  
! stagefeedback-start::
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	for i in prev-*; do \
! 	  j=`echo $$i | sed s/^prev-//` ; \
! 	  cd $$r/$$i && \
! 	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL) ; } && \
! 	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL) ; } ; \
! 	done
  
  @if gcc-bootstrap
  do-distclean: distclean-stage1
  @endif gcc-bootstrap
  
*************** configure-target-libstdc++-v3: maybe-all
*** 34932,34937 ****
--- 36148,36155 ----
  
  configure-target-libmudflap: maybe-all-gcc
  
+ configure-target-libssp: maybe-all-gcc
+ 
  configure-target-newlib: maybe-all-gcc
  
  configure-target-libgfortran: maybe-all-gcc
*************** configure-target-libffi: maybe-all-targe
*** 34980,34987 ****
--- 36198,36209 ----
  configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss
  configure-target-libjava: maybe-all-target-libstdc++-v3
  
+ configure-target-libmudflap: maybe-all-target-newlib maybe-all-target-libgloss
+ 
  configure-target-libobjc: maybe-all-target-newlib maybe-all-target-libgloss
  
+ configure-target-libssp: maybe-all-target-newlib maybe-all-target-libgloss
+ 
  configure-target-libstdc++-v3: maybe-all-target-newlib maybe-all-target-libgloss
  
  configure-target-zlib: maybe-all-target-newlib maybe-all-target-libgloss
*************** configure-target-qthreads: maybe-all-tar
*** 35008,35013 ****
--- 36230,36236 ----
  
  
  
+ 
  # With all the machinery above in place, it is pretty easy to generate
  # dependencies.  Host dependencies are a bit more complex because we have
  # to check for bootstrap/prebootstrap dependencies.  To resolve
*************** configure-stage3-gcc: maybe-configure-st
*** 35030,35059 ****
  configure-stage4-gcc: maybe-configure-stage4-intl
  configure-stageprofile-gcc: maybe-configure-stageprofile-intl
  configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl
! configure-gcc: maybe-configure-binutils
  
! configure-stage1-gcc: maybe-configure-stage1-binutils
! configure-stage2-gcc: maybe-configure-stage2-binutils
! configure-stage3-gcc: maybe-configure-stage3-binutils
! configure-stage4-gcc: maybe-configure-stage4-binutils
! configure-stageprofile-gcc: maybe-configure-stageprofile-binutils
! configure-stagefeedback-gcc: maybe-configure-stagefeedback-binutils
! configure-gcc: maybe-configure-gas
  
! configure-stage1-gcc: maybe-configure-stage1-gas
! configure-stage2-gcc: maybe-configure-stage2-gas
! configure-stage3-gcc: maybe-configure-stage3-gas
! configure-stage4-gcc: maybe-configure-stage4-gas
! configure-stageprofile-gcc: maybe-configure-stageprofile-gas
! configure-stagefeedback-gcc: maybe-configure-stagefeedback-gas
! configure-gcc: maybe-configure-ld
  
! configure-stage1-gcc: maybe-configure-stage1-ld
! configure-stage2-gcc: maybe-configure-stage2-ld
! configure-stage3-gcc: maybe-configure-stage3-ld
! configure-stage4-gcc: maybe-configure-stage4-ld
! configure-stageprofile-gcc: maybe-configure-stageprofile-ld
! configure-stagefeedback-gcc: maybe-configure-stagefeedback-ld
  all-gcc: all-libiberty
  
  all-stage1-gcc: all-stage1-libiberty
--- 36253,36282 ----
  configure-stage4-gcc: maybe-configure-stage4-intl
  configure-stageprofile-gcc: maybe-configure-stageprofile-intl
  configure-stagefeedback-gcc: maybe-configure-stagefeedback-intl
! configure-gcc: maybe-all-binutils
  
! configure-stage1-gcc: maybe-all-stage1-binutils
! configure-stage2-gcc: maybe-all-stage2-binutils
! configure-stage3-gcc: maybe-all-stage3-binutils
! configure-stage4-gcc: maybe-all-stage4-binutils
! configure-stageprofile-gcc: maybe-all-stageprofile-binutils
! configure-stagefeedback-gcc: maybe-all-stagefeedback-binutils
! configure-gcc: maybe-all-gas
  
! configure-stage1-gcc: maybe-all-stage1-gas
! configure-stage2-gcc: maybe-all-stage2-gas
! configure-stage3-gcc: maybe-all-stage3-gas
! configure-stage4-gcc: maybe-all-stage4-gas
! configure-stageprofile-gcc: maybe-all-stageprofile-gas
! configure-stagefeedback-gcc: maybe-all-stagefeedback-gas
! configure-gcc: maybe-all-ld
  
! configure-stage1-gcc: maybe-all-stage1-ld
! configure-stage2-gcc: maybe-all-stage2-ld
! configure-stage3-gcc: maybe-all-stage3-ld
! configure-stage4-gcc: maybe-all-stage4-ld
! configure-stageprofile-gcc: maybe-all-stageprofile-ld
! configure-stagefeedback-gcc: maybe-all-stagefeedback-ld
  all-gcc: all-libiberty
  
  all-stage1-gcc: all-stage1-libiberty
*************** all-stage4-gcc: maybe-all-build-fixinclu
*** 35124,35153 ****
  all-stageprofile-gcc: maybe-all-build-fixincludes
  all-stagefeedback-gcc: maybe-all-build-fixincludes
  all-prebootstrap: maybe-all-build-fixincludes
- all-gcc: maybe-all-binutils
- 
- all-stage1-gcc: maybe-all-stage1-binutils
- all-stage2-gcc: maybe-all-stage2-binutils
- all-stage3-gcc: maybe-all-stage3-binutils
- all-stage4-gcc: maybe-all-stage4-binutils
- all-stageprofile-gcc: maybe-all-stageprofile-binutils
- all-stagefeedback-gcc: maybe-all-stagefeedback-binutils
- all-gcc: maybe-all-gas
- 
- all-stage1-gcc: maybe-all-stage1-gas
- all-stage2-gcc: maybe-all-stage2-gas
- all-stage3-gcc: maybe-all-stage3-gas
- all-stage4-gcc: maybe-all-stage4-gas
- all-stageprofile-gcc: maybe-all-stageprofile-gas
- all-stagefeedback-gcc: maybe-all-stagefeedback-gas
- all-gcc: maybe-all-ld
- 
- all-stage1-gcc: maybe-all-stage1-ld
- all-stage2-gcc: maybe-all-stage2-ld
- all-stage3-gcc: maybe-all-stage3-ld
- all-stage4-gcc: maybe-all-stage4-ld
- all-stageprofile-gcc: maybe-all-stageprofile-ld
- all-stagefeedback-gcc: maybe-all-stagefeedback-ld
  all-gcc: maybe-all-zlib
  
  all-stage1-gcc: maybe-all-stage1-zlib
--- 36347,36352 ----
*************** all-stage4-libcpp: maybe-all-stage4-intl
*** 35207,35215 ****
  all-stageprofile-libcpp: maybe-all-stageprofile-intl
  all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
  all-fixincludes: maybe-all-libiberty
! configure-gdb: maybe-configure-itcl
! configure-gdb: maybe-configure-tcl
! configure-gdb: maybe-configure-tk
  configure-gdb: maybe-configure-sim
  all-gdb: maybe-all-libiberty
  all-gdb: maybe-all-opcodes
--- 36406,36412 ----
  all-stageprofile-libcpp: maybe-all-stageprofile-intl
  all-stagefeedback-libcpp: maybe-all-stagefeedback-intl
  all-fixincludes: maybe-all-libiberty
! all-gnattools: maybe-all-target-libada
  configure-gdb: maybe-configure-sim
  all-gdb: maybe-all-libiberty
  all-gdb: maybe-all-opcodes
*************** all-gdb: maybe-all-readline
*** 35218,35227 ****
  all-gdb: maybe-all-build-bison
  all-gdb: maybe-all-build-byacc
  all-gdb: maybe-all-sim
- install-gdb: maybe-install-tcl
- install-gdb: maybe-install-tk
- install-gdb: maybe-install-itcl
- install-gdb: maybe-install-libgui
  configure-libgui: maybe-configure-tcl
  configure-libgui: maybe-configure-tk
  all-libgui: maybe-all-tcl
--- 36415,36420 ----
*************** all-prebootstrap: maybe-all-libiberty
*** 35520,35527 ****
--- 36713,36724 ----
  all-prebootstrap: maybe-all-zlib
  @endif gcc-no-bootstrap
  
+ CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
  GDB_TK = @GDB_TK@
+ INSTALL_GDB_TK = @INSTALL_GDB_TK@
+ configure-gdb: $(CONFIGURE_GDB_TK)
  all-gdb: $(gdbnlmrequirements) $(GDB_TK)
+ install-gdb: $(INSTALL_GDB_TK)
  
  # Serialization dependencies.  Host configures don't work well in parallel to
  # each other, due to contention over config.cache.  Target configures and 
*************** $(srcdir)/Makefile.in: @MAINT@ $(srcdir)
*** 35552,35558 ****
  Makefile: $(srcdir)/Makefile.in config.status
  	CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
  
! config.status: configure $(gcc_version_trigger)
  	CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
  
  # Rebuilding configure.
--- 36749,36755 ----
  Makefile: $(srcdir)/Makefile.in config.status
  	CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
  
! config.status: configure
  	CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
  
  # Rebuilding configure.
diff -Nrcpad gcc-4.0.2/Makefile.tpl gcc-4.1.0/Makefile.tpl
*** gcc-4.0.2/Makefile.tpl	Fri Aug 12 14:05:52 2005
--- gcc-4.1.0/Makefile.tpl	Thu Dec 15 13:59:17 2005
*************** in
*** 20,26 ****
  # 
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  #
  
  # -------------------------------
--- 20,26 ----
  # 
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  #
  
  # -------------------------------
*************** LN_S = @LN_S@
*** 75,119 ****
  # Miscellaneous non-standard autoconf-set variables
  # -------------------------------------------------
  
- # The file containing GCC's version number.
- gcc_version_trigger = @gcc_version_trigger@
- gcc_version = @gcc_version@
- 
  # The gcc driver likes to know the arguments it was configured with.
  TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
  
- gxx_include_dir = @gxx_include_dir@
- libstdcxx_incdir = @libstdcxx_incdir@
- 
  tooldir = @tooldir@
  build_tooldir = @build_tooldir@
  
- # Directory in which the compiler finds executables, libraries, etc.
- libsubdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)
  GDB_NLM_DEPS = 
  
  # This is the name of the environment variable used for the path to
  # the libraries.
  RPATH_ENVVAR = @RPATH_ENVVAR@
  
- # This is set by configure to REALLY_SET_LIB_PATH if --enable-shared
- # was used.
- SET_LIB_PATH = @SET_LIB_PATH@
- 
- # configure.in sets SET_LIB_PATH to this if --enable-shared was used.
- # Some platforms don't like blank entries, so we remove duplicate,
- # leading and trailing colons.
- REALLY_SET_LIB_PATH = \
-   @SET_GCC_LIB_PATH@ \
-   $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH):$(TARGET_LIB_PATH):$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
- 
  # This is the list of directories to be built for the build system.
  BUILD_CONFIGDIRS = libiberty
  # Build programs are put under this directory.
  BUILD_SUBDIR = @build_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the build system.
! BUILD_CONFIGARGS = @build_configargs@
  
  # This is the list of variables to export in the environment when
  # configuring any subdirectory.  It must also be exported whenever
--- 75,99 ----
  # Miscellaneous non-standard autoconf-set variables
  # -------------------------------------------------
  
  # The gcc driver likes to know the arguments it was configured with.
  TOPLEVEL_CONFIGURE_ARGUMENTS=@TOPLEVEL_CONFIGURE_ARGUMENTS@
  
  tooldir = @tooldir@
  build_tooldir = @build_tooldir@
  
  GDB_NLM_DEPS = 
  
  # This is the name of the environment variable used for the path to
  # the libraries.
  RPATH_ENVVAR = @RPATH_ENVVAR@
  
  # This is the list of directories to be built for the build system.
  BUILD_CONFIGDIRS = libiberty
  # Build programs are put under this directory.
  BUILD_SUBDIR = @build_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the build system.
! BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)"
  
  # This is the list of variables to export in the environment when
  # configuring any subdirectory.  It must also be exported whenever
*************** SUBDIRS = @configdirs@
*** 152,159 ****
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the host system.
  HOST_CONFIGARGS = @host_configargs@
  # This is the list of variables to export in the environment when
! # configuring subdirectories for the host system.
  HOST_EXPORTS = \
  	$(BASE_EXPORTS) \
  	CC="$(CC)"; export CC; \
--- 132,143 ----
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the host system.
  HOST_CONFIGARGS = @host_configargs@
+ # Host programs are put under this directory, which is . except if building
+ # with srcdir=..
+ HOST_SUBDIR = @host_subdir@
  # This is the list of variables to export in the environment when
! # configuring subdirectories for the host system.  We need to pass
! # some to the GCC configure because of its hybrid host/target nature.
  HOST_EXPORTS = \
  	$(BASE_EXPORTS) \
  	CC="$(CC)"; export CC; \
*************** HOST_EXPORTS = \
*** 172,188 ****
  	WINDRES="$(WINDRES)"; export WINDRES; \
  	OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
  	OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
  	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
  	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
  	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
! 	SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \
! 	@SET_GCC_LIB_PATH@
  
  # Similar, for later GCC stages.
! STAGE_HOST_EXPORTS = \
  	$(HOST_EXPORTS) \
! 	CC="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
! 	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) $$r/prev-gcc/xgcc$(exeext) -B$$r/prev-gcc/ -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
--- 156,185 ----
  	WINDRES="$(WINDRES)"; export WINDRES; \
  	OBJCOPY="$(OBJCOPY)"; export OBJCOPY; \
  	OBJDUMP="$(OBJDUMP)"; export OBJDUMP; \
+ 	AR_FOR_TARGET="$(AR_FOR_TARGET)"; export AR_FOR_TARGET; \
+ 	AS_FOR_TARGET="$(AS_FOR_TARGET)"; export AS_FOR_TARGET; \
+ 	GCC_FOR_TARGET="$(GCC_FOR_TARGET)"; export GCC_FOR_TARGET; \
+ 	LD_FOR_TARGET="$(LD_FOR_TARGET)"; export LD_FOR_TARGET; \
+ 	NM_FOR_TARGET="$(NM_FOR_TARGET)"; export NM_FOR_TARGET; \
+ 	OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \
+ 	RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \
  	TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \
  	GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \
  	GMPINC="$(HOST_GMPINC)"; export GMPINC; \
! @if gcc-bootstrap
! 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
! @endif gcc-bootstrap
! 	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
  
  # Similar, for later GCC stages.
! POSTSTAGE1_HOST_EXPORTS = \
  	$(HOST_EXPORTS) \
! 	CC="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
! 	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/"; export CC; \
! 	CC_FOR_BUILD="$(STAGE_CC_WRAPPER) \
! 	  $$r/$(HOST_SUBDIR)/prev-gcc/xgcc$(exeext) \
! 	  -B$$r/$(HOST_SUBDIR)/prev-gcc/ \
! 	  -B$(build_tooldir)/bin/"; export CC_FOR_BUILD;
  
  # This is set by the configure script to the list of directories which
  # should be built using the target tools.
*************** TARGET_CONFIGDIRS = @target_configdirs@
*** 191,203 ****
  TARGET_SUBDIR = @target_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the target.
! TARGET_CONFIGARGS = @target_configargs@
  # This is the list of variables to export in the environment when
  # configuring subdirectories for the host system.
  BASE_TARGET_EXPORTS = \
  	$(BASE_EXPORTS) \
  	AR="$(AR_FOR_TARGET)"; export AR; \
! 	AS="$(AS_FOR_TARGET)"; export AS; \
  	CC="$(CC_FOR_TARGET)"; export CC; \
  	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
  	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
--- 188,200 ----
  TARGET_SUBDIR = @target_subdir@
  # This is set by the configure script to the arguments to use when configuring
  # directories built for the target.
! TARGET_CONFIGARGS = @target_configargs@ --with-target-subdir="$(TARGET_SUBDIR)"
  # This is the list of variables to export in the environment when
  # configuring subdirectories for the host system.
  BASE_TARGET_EXPORTS = \
  	$(BASE_EXPORTS) \
  	AR="$(AR_FOR_TARGET)"; export AR; \
! 	AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
  	CC="$(CC_FOR_TARGET)"; export CC; \
  	CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
  	CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
*************** BASE_TARGET_EXPORTS = \
*** 206,218 ****
  	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
  	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
  	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
! 	LD="$(LD_FOR_TARGET)"; export LD; \
  	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
! 	NM="$(NM_FOR_TARGET)"; export NM; \
  	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
  	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
! 	SET_GCC_LIB_PATH_CMD="@SET_GCC_LIB_PATH@"; export SET_GCC_LIB_PATH_CMD; \
! 	@SET_GCC_LIB_PATH@
  
  RAW_CXX_TARGET_EXPORTS = \
  	$(BASE_TARGET_EXPORTS) \
--- 203,217 ----
  	GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
  	GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
  	DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
! 	LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
  	LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
! 	LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \
! 	NM="$(COMPILER_NM_FOR_TARGET)"; export NM; \
! 	OBJDUMP="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP; \
  	RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \
+ 	STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
  	WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
! 	$(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
  
  RAW_CXX_TARGET_EXPORTS = \
  	$(BASE_TARGET_EXPORTS) \
*************** BUILD_PREFIX_1 = @BUILD_PREFIX_1@
*** 257,303 ****
  # here so that they can be overridden by Makefile fragments.
  BOOT_CFLAGS= -g -O2
  
! CONFIGURED_BISON = @CONFIGURED_BISON@
! BISON = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/bison/tests/bison ; \
! 	 else \
! 	    echo ${CONFIGURED_BISON} ; \
! 	 fi`
! 
! CONFIGURED_YACC = @CONFIGURED_YACC@
! YACC = `if [ -f $$r/$(BUILD_SUBDIR)/bison/tests/bison ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/bison/tests/bison -y ; \
! 	elif [ -f $$r/$(BUILD_SUBDIR)/byacc/byacc ] ; then \
! 	    echo $$r/$(BUILD_SUBDIR)/byacc/byacc ; \
! 	else \
! 	    echo ${CONFIGURED_YACC} ; \
! 	fi`
! 
! CONFIGURED_FLEX = @CONFIGURED_FLEX@
! FLEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \
! 	else echo ${CONFIGURED_FLEX} ; fi`
! 
! CONFIGURED_LEX = @CONFIGURED_LEX@
! LEX = `if [ -f $$r/$(BUILD_SUBDIR)/flex/flex ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/flex/flex ; \
! 	else echo ${CONFIGURED_LEX} ; fi`
! 
! CONFIGURED_M4 = @CONFIGURED_M4@
! M4 = `if [ -f $$r/$(BUILD_SUBDIR)/m4/m4 ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/m4/m4 ; \
! 	else echo ${CONFIGURED_M4} ; fi`
! 
! # For an installed makeinfo, we require it to be from texinfo 4.2 or
! # higher, else we use the "missing" dummy.  We also pass the subdirectory
! # makeinfo even if only the Makefile is there, because Texinfo builds its
! # manual when made, and it requires its own version.
! CONFIGURED_MAKEINFO = @CONFIGURED_MAKEINFO@
! MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/Makefile ] ; \
! 	then echo $$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo ; \
! 	else if (${CONFIGURED_MAKEINFO} --version \
! 	  | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])') >/dev/null 2>&1; \
!         then echo ${CONFIGURED_MAKEINFO}; else echo $$s/missing makeinfo; fi; fi`
  
  # This just becomes part of the MAKEINFO definition passed down to
  # sub-makes.  It lets flags be given on the command line while still
--- 256,269 ----
  # here so that they can be overridden by Makefile fragments.
  BOOT_CFLAGS= -g -O2
  
! BISON = @BISON@
! YACC = @YACC@
! FLEX = @FLEX@
! LEX = @LEX@
! M4 = @M4@
! MAKEINFO = @MAKEINFO@
! EXPECT = @EXPECT@
! RUNTEST = @RUNTEST@
  
  # This just becomes part of the MAKEINFO definition passed down to
  # sub-makes.  It lets flags be given on the command line while still
*************** MAKEINFO = `if [ -f $$r/$(BUILD_SUBDIR)/
*** 305,489 ****
  # (Default to avoid splitting info files by setting the threshold high.)
  MAKEINFOFLAGS = --split-size=5000000
  
- EXPECT = `if [ -f $$r/expect/expect ] ; \
- 	then echo $$r/expect/expect ; \
- 	else echo expect ; fi`
- 
- RUNTEST = `if [ -f $$s/dejagnu/runtest ] ; \
- 	then echo $$s/dejagnu/runtest ; \
- 	else echo runtest ; fi`
- 
  # ---------------------------------------------
  # Programs producing files for the HOST machine
  # ---------------------------------------------
  
- # This is the list of directories that may be needed in RPATH_ENVVAR
- # so that programs built for the host machine work.
- HOST_LIB_PATH = $$r/bfd:$$r/opcodes
- 
  AS = @AS@
- 
  AR = @AR@
  AR_FLAGS = rc
- 
  CC = @CC@
- CFLAGS = @CFLAGS@
- LIBCFLAGS = $(CFLAGS)
- 
  CXX = @CXX@
- CXXFLAGS = @CXXFLAGS@
- LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
- 
  DLLTOOL = @DLLTOOL@
- 
- NM = @NM@
- 
  LD = @LD@
! LDFLAGS = 
! 
  RANLIB = @RANLIB@
! 
  WINDRES = @WINDRES@
  
  PICFLAG = 
  
  # -----------------------------------------------
  # Programs producing files for the TARGET machine
  # -----------------------------------------------
  
- # This is the list of directories that may be needed in RPATH_ENVVAR
- # so that prorgams built for the target machine work.
- TARGET_LIB_PATH = $$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs:$$r/$(TARGET_SUBDIR)/libmudflap/.libs
- 
  FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
  
  AR_FOR_TARGET=@AR_FOR_TARGET@
- CONFIGURED_AR_FOR_TARGET=@CONFIGURED_AR_FOR_TARGET@
- USUAL_AR_FOR_TARGET = ` \
-   if [ -f $$r/binutils/ar ] ; then \
-     echo $$r/binutils/ar ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(AR); \
-     else \
-       echo $(CONFIGURED_AR_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
  AS_FOR_TARGET=@AS_FOR_TARGET@
! CONFIGURED_AS_FOR_TARGET=@CONFIGURED_AS_FOR_TARGET@
! USUAL_AS_FOR_TARGET = ` \
!   if [ -f $$r/gas/as-new ] ; then \
!     echo $$r/gas/as-new ; \
!   elif [ -f $$r/gcc/xgcc ]; then \
!     $(CC_FOR_TARGET) -print-prog-name=as ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       echo $(AS); \
!     else \
!       echo $(CONFIGURED_AS_FOR_TARGET) ; \
!     fi; \
!   fi`
  
- CC_FOR_TARGET = @CC_FOR_TARGET@
- # During gcc bootstrap, if we use some random cc for stage1 then
- # CFLAGS will be just -g.  We want to ensure that TARGET libraries
- # (which we know are built with gcc) are built with optimizations so
- # prepend -O2 when setting CFLAGS_FOR_TARGET.
- CFLAGS_FOR_TARGET = -O2 $(CFLAGS)
  # If GCC_FOR_TARGET is not overriden on the command line, then this
  # variable is passed down to the gcc Makefile, where it is used to
  # build libgcc2.a.  We define it here so that it can itself be
  # overridden on the command line.
! GCC_FOR_TARGET=@GCC_FOR_TARGET@
! USUAL_GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) $$r/gcc/xgcc -B$$r/gcc/ $(FLAGS_FOR_TARGET)
! LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
! 
! CXX_FOR_TARGET = @CXX_FOR_TARGET@
! RAW_CXX_FOR_TARGET = @RAW_CXX_FOR_TARGET@
! CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
! RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE = @RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@
! CXXFLAGS_FOR_TARGET = $(CXXFLAGS)
! LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
! 
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
- CONFIGURED_DLLTOOL_FOR_TARGET=@CONFIGURED_DLLTOOL_FOR_TARGET@
- USUAL_DLLTOOL_FOR_TARGET = ` \
-   if [ -f $$r/binutils/dlltool ] ; then \
-     echo $$r/binutils/dlltool ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(DLLTOOL); \
-     else \
-       echo $(CONFIGURED_DLLTOOL_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
- GCJ_FOR_TARGET = @GCJ_FOR_TARGET@
- GFORTRAN_FOR_TARGET = @GFORTRAN_FOR_TARGET@
- 
  LD_FOR_TARGET=@LD_FOR_TARGET@
- CONFIGURED_LD_FOR_TARGET=@CONFIGURED_LD_FOR_TARGET@
- USUAL_LD_FOR_TARGET = ` \
-   if [ -f $$r/ld/ld-new ] ; then \
-     echo $$r/ld/ld-new ; \
-   elif [ -f $$r/gcc/xgcc ]; then \
-     $(CC_FOR_TARGET) -print-prog-name=ld ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(LD); \
-     else \
-       echo $(CONFIGURED_LD_FOR_TARGET) ; \
-     fi; \
-   fi`
- 
- LDFLAGS_FOR_TARGET = 
  
  NM_FOR_TARGET=@NM_FOR_TARGET@
! CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@
! USUAL_NM_FOR_TARGET = ` \
!   if [ -f $$r/binutils/nm-new ] ; then \
!     echo $$r/binutils/nm-new ; \
!   elif [ -f $$r/gcc/xgcc ]; then \
!     $(CC_FOR_TARGET) -print-prog-name=nm ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       echo $(NM); \
!     else \
!       echo $(CONFIGURED_NM_FOR_TARGET) ; \
!     fi; \
!   fi`
! 
  RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
! CONFIGURED_RANLIB_FOR_TARGET=@CONFIGURED_RANLIB_FOR_TARGET@
! USUAL_RANLIB_FOR_TARGET = ` \
!   if [ -f $$r/binutils/ranlib ] ; then \
!     echo $$r/binutils/ranlib ; \
!   else \
!     if [ '$(host)' = '$(target)' ] ; then \
!       if [ x'$(RANLIB)' != x ]; then \
!          echo $(RANLIB); \
!       else \
!          echo ranlib; \
!       fi; \
!     else \
!       echo $(CONFIGURED_RANLIB_FOR_TARGET) ; \
!     fi; \
!   fi`
! 
  WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
- CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@
- USUAL_WINDRES_FOR_TARGET = ` \
-   if [ -f $$r/binutils/windres ] ; then \
-     echo $$r/binutils/windres ; \
-   else \
-     if [ '$(host)' = '$(target)' ] ; then \
-       echo $(WINDRES); \
-     else \
-       echo $(CONFIGURED_WINDRES_FOR_TARGET) ; \
-     fi; \
-   fi`
  
  PICFLAG_FOR_TARGET = 
  
  # ------------------------------------
--- 271,343 ----
  # (Default to avoid splitting info files by setting the threshold high.)
  MAKEINFOFLAGS = --split-size=5000000
  
  # ---------------------------------------------
  # Programs producing files for the HOST machine
  # ---------------------------------------------
  
  AS = @AS@
  AR = @AR@
  AR_FLAGS = rc
  CC = @CC@
  CXX = @CXX@
  DLLTOOL = @DLLTOOL@
  LD = @LD@
! LIPO = @LIPO@
! NM = @NM@
  RANLIB = @RANLIB@
! STRIP = @STRIP@
  WINDRES = @WINDRES@
  
+ CFLAGS = @CFLAGS@
+ LDFLAGS = 
+ LIBCFLAGS = $(CFLAGS)
+ CXXFLAGS = @CXXFLAGS@
+ LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
  PICFLAG = 
  
  # -----------------------------------------------
  # Programs producing files for the TARGET machine
  # -----------------------------------------------
  
  FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
  
  AR_FOR_TARGET=@AR_FOR_TARGET@
  AS_FOR_TARGET=@AS_FOR_TARGET@
! CC_FOR_TARGET=$(STAGE_CC_WRAPPER) @CC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
  
  # If GCC_FOR_TARGET is not overriden on the command line, then this
  # variable is passed down to the gcc Makefile, where it is used to
  # build libgcc2.a.  We define it here so that it can itself be
  # overridden on the command line.
! GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCC_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
! GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
  DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
  LD_FOR_TARGET=@LD_FOR_TARGET@
  
+ LIPO_FOR_TARGET=@LIPO_FOR_TARGET@
  NM_FOR_TARGET=@NM_FOR_TARGET@
! OBJDUMP_FOR_TARGET=@OBJDUMP_FOR_TARGET@
  RANLIB_FOR_TARGET=@RANLIB_FOR_TARGET@
! STRIP_FOR_TARGET=@STRIP_FOR_TARGET@
  WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@
  
+ COMPILER_AS_FOR_TARGET=@COMPILER_AS_FOR_TARGET@
+ COMPILER_LD_FOR_TARGET=@COMPILER_LD_FOR_TARGET@
+ COMPILER_NM_FOR_TARGET=@COMPILER_NM_FOR_TARGET@
+ 
+ # During gcc bootstrap, if we use some random cc for stage1 then
+ # CFLAGS will be just -g.  We want to ensure that TARGET libraries
+ # (which we know are built with gcc) are built with optimizations so
+ # prepend -O2 when setting CFLAGS_FOR_TARGET.
+ CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
+ CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
+ LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
+ LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
+ LDFLAGS_FOR_TARGET = 
  PICFLAG_FOR_TARGET = 
  
  # ------------------------------------
*************** PICFLAG_FOR_TARGET = 
*** 492,498 ****
  
  # The first rule in the file had better be this one.  Don't put any above it.
  # This lives here to allow makefile fragments to contain dependencies.
! @default_target@:
  
  #### host and target specific makefile fragments come in here.
  @target_makefile_frag@
--- 346,352 ----
  
  # The first rule in the file had better be this one.  Don't put any above it.
  # This lives here to allow makefile fragments to contain dependencies.
! all:
  
  #### host and target specific makefile fragments come in here.
  @target_makefile_frag@
*************** PICFLAG_FOR_TARGET = 
*** 501,522 ****
  @host_makefile_frag@
  ###
  
  # Flags to pass down to all sub-makes.
  BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\
  	"[+flag+]=$([+flag+])" [+ ENDFOR flags_to_pass +]\
  	"CONFIG_SHELL=$(SHELL)" \
  	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
  
! # For any flags above that may contain shell code that varies from one
! # target library to another.  When doing recursive invocations of the
! # top-level Makefile, we don't want the outer make to evaluate them,
! # so we pass these variables down unchanged.  They must not contain
! # single nor double quotes.
! RECURSE_FLAGS = \
! 	CXX_FOR_TARGET='$(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
! 	RAW_CXX_FOR_TARGET='$(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)' \
! 
! RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS)
  
  # Flags to pass down to most sub-makes, in which we're building with
  # the host environment.
--- 355,399 ----
  @host_makefile_frag@
  ###
  
+ # This is the list of directories that may be needed in RPATH_ENVVAR
+ # so that prorgams built for the target machine work.
+ TARGET_LIB_PATH = [+ FOR target_modules +][+
+   IF lib_path +]$(TARGET_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
+   ENDFOR target_modules +]$(HOST_LIB_PATH_gcc)
+ [+ FOR target_modules +][+ IF lib_path +]
+ @if target-[+module+]
+ TARGET_LIB_PATH_[+module+] = $$r/$(TARGET_SUBDIR)/[+module+]/[+lib_path+]:
+ @endif target-[+module+]
+ [+ ENDIF lib_path +][+ ENDFOR target_modules +]
+ 
+ 
+ # This is the list of directories that may be needed in RPATH_ENVVAR
+ # so that programs built for the host machine work.
+ HOST_LIB_PATH = [+ FOR host_modules +][+
+   IF lib_path +]$(HOST_LIB_PATH_[+module+])[+ ENDIF lib_path +][+
+   ENDFOR host_modules +]
+ 
+ # Define HOST_LIB_PATH_gcc here, for the sake of TARGET_LIB_PATH, ouch
+ @if gcc
+ HOST_LIB_PATH_gcc = $$r/$(HOST_SUBDIR)/gcc:$$r/$(HOST_SUBDIR)/prev-gcc:
+ @endif gcc
+ 
+ [+ FOR host_modules +][+ IF lib_path +]
+ @if [+module+]
+ HOST_LIB_PATH_[+module+] = \
+   $$r/$(HOST_SUBDIR)/[+module+]/[+lib_path+]:[+ IF bootstrap
+   +]$$r/$(HOST_SUBDIR)/prev-[+module+]/[+lib_path+]:[+ ENDIF bootstrap +]
+ @endif [+module+]
+ [+ ENDIF lib_path +][+ ENDFOR host_modules +]
+ 
  # Flags to pass down to all sub-makes.
  BASE_FLAGS_TO_PASS = [+ FOR flags_to_pass +]\
  	"[+flag+]=$([+flag+])" [+ ENDFOR flags_to_pass +]\
  	"CONFIG_SHELL=$(SHELL)" \
  	"MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" 
  
! # We leave this in just in case, but it is not needed anymore.
! RECURSE_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS)
  
  # Flags to pass down to most sub-makes, in which we're building with
  # the host environment.
*************** EXTRA_HOST_FLAGS = \
*** 527,534 ****
--- 404,413 ----
  	'CXX=$(CXX)' \
  	'DLLTOOL=$(DLLTOOL)' \
  	'LD=$(LD)' \
+ 	'LIPO=$(LIPO)' \
  	'NM=$(NM)' \
  	'RANLIB=$(RANLIB)' \
+ 	'STRIP=$(STRIP)' \
  	'WINDRES=$(WINDRES)'
  
  FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS)
*************** X11_FLAGS_TO_PASS = \
*** 547,565 ****
  
  # Flags to pass down to makes which are built with the target environment.
  # The double $ decreases the length of the command line; the variables
! # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.
  EXTRA_TARGET_FLAGS = \
  	'AR=$$(AR_FOR_TARGET)' \
! 	'AS=$$(AS_FOR_TARGET)' \
  	'CC=$$(CC_FOR_TARGET)' \
  	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
  	'CXX=$$(CXX_FOR_TARGET)' \
  	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
  	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
! 	'LD=$$(LD_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
  	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
! 	'NM=$$(NM_FOR_TARGET)' \
  	'RANLIB=$$(RANLIB_FOR_TARGET)' \
  	'WINDRES=$$(WINDRES_FOR_TARGET)'
  
--- 426,447 ----
  
  # Flags to pass down to makes which are built with the target environment.
  # The double $ decreases the length of the command line; the variables
! # are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them.  The
! # COMPILER_ prefixed variables are not passed down so we expand them here.
  EXTRA_TARGET_FLAGS = \
  	'AR=$$(AR_FOR_TARGET)' \
! 	'AS=$(COMPILER_AS_FOR_TARGET)' \
  	'CC=$$(CC_FOR_TARGET)' \
  	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
  	'CXX=$$(CXX_FOR_TARGET)' \
  	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
  	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
! 	'LD=$(COMPILER_LD_FOR_TARGET)' \
! 	'LDFLAGS=$$(LDFLAGS_FOR_TARGET)' \
  	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
  	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
! 	'NM=$(COMPILER_NM_FOR_TARGET)' \
! 	'OBJDUMP=$$(OBJDUMP_FOR_TARGET)' \
  	'RANLIB=$$(RANLIB_FOR_TARGET)' \
  	'WINDRES=$$(WINDRES_FOR_TARGET)'
  
*************** EXTRA_GCC_FLAGS = \
*** 575,581 ****
  	'BUILD_PREFIX=$(BUILD_PREFIX)' \
  	'BUILD_PREFIX_1=$(BUILD_PREFIX_1)' \
  	"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
- 	"CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
  	"`echo 'LANGUAGES=$(LANGUAGES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
  	"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
  	"`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
--- 457,462 ----
*************** configure-target: [+
*** 601,607 ****
  
  # The target built for a native non-bootstrap build.
  .PHONY: all
! all: unstage all-host all-target stage
  
  .PHONY: all-build
  all-build: [+
--- 482,503 ----
  
  # The target built for a native non-bootstrap build.
  .PHONY: all
! all:
! @if gcc-bootstrap
! 	[ -f stage_final ] || echo stage3 > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) `cat stage_final`-bubble
! @endif gcc-bootstrap
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if [ -f stage_last ]; then \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
! 	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
! 	fi
! 	@: $(MAKE); $(stage)
  
  .PHONY: all-build
  all-build: [+
*************** all-target: [+
*** 625,631 ****
  # but it may do additional work as well).
  [+ FOR recursive_targets +]
  .PHONY: do-[+make_target+]
! do-[+make_target+]: unstage [+make_target+]-host [+make_target+]-target stage
  
  .PHONY: [+make_target+]-host
  [+make_target+]-host: [+
--- 521,534 ----
  # but it may do additional work as well).
  [+ FOR recursive_targets +]
  .PHONY: do-[+make_target+]
! do-[+make_target+]:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) [+make_target+]-host \
! 	  [+make_target+]-target
! 	@: $(MAKE); $(stage)
! 
  
  .PHONY: [+make_target+]-host
  [+make_target+]-host: [+
*************** local-distclean:
*** 670,675 ****
--- 573,581 ----
  	  rm -rf $(TARGET_SUBDIR); \
  	else true; fi
  	-rm -rf $(BUILD_SUBDIR)
+ 	-if [ "$(HOST_SUBDIR)" != "." ]; then \
+ 	  rm -rf $(HOST_SUBDIR); \
+ 	else true; fi
  	-rm -f texinfo/po/Makefile texinfo/po/Makefile.in texinfo/info/Makefile
  	-rm -f texinfo/doc/Makefile texinfo/po/POTFILES
  	-rmdir texinfo/doc texinfo/info texinfo/intl texinfo/lib 2>/dev/null
*************** clean-target-libgcc:
*** 702,714 ****
  check: do-check
  
  # Only include modules actually being configured and built.
! do-check: unstage [+
    FOR host_modules +] \
      maybe-check-[+module+][+
!   ENDFOR host_modules +][+
    FOR target_modules +] \
      maybe-check-target-[+module+][+
!   ENDFOR target_modules +] stage
  
  # Automated reporting of test results.
  
--- 608,631 ----
  check: do-check
  
  # Only include modules actually being configured and built.
! .PHONY: check-host
! check-host: [+
    FOR host_modules +] \
      maybe-check-[+module+][+
!   ENDFOR host_modules +]
! 
! .PHONY: check-target
! check-target: [+
    FOR target_modules +] \
      maybe-check-target-[+module+][+
!   ENDFOR target_modules +]
! 
! do-check:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) check-host check-target
! 	@: $(MAKE); $(stage)
  
  # Automated reporting of test results.
  
*************** mail-report-with-warnings.log: warning.l
*** 734,740 ****
  # Installation targets.
  
  .PHONY: install uninstall
! install: installdirs install-host install-target
  
  .PHONY: install-host-nogcc
  install-host-nogcc: [+
--- 651,662 ----
  # Installation targets.
  
  .PHONY: install uninstall
! install:
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) installdirs install-host install-target
! 	@: $(MAKE); $(stage)
  
  .PHONY: install-host-nogcc
  install-host-nogcc: [+
*************** uninstall:
*** 761,767 ****
  install.all: install-no-fixedincludes
  	@if [ -f ./gcc/Makefile ] ; then \
  		r=`${PWD_COMMAND}` ; export r ; \
- 		$(SET_LIB_PATH) \
  		$(HOST_EXPORTS) \
  		(cd ./gcc && \
  		$(MAKE) $(FLAGS_TO_PASS) install-headers) ; \
--- 683,688 ----
*************** etags tags: TAGS
*** 805,927 ****
  # built are.
  TAGS: do-TAGS
  
! # --------------------------------------
! # Modules which run on the build machine
! # --------------------------------------
! [+ FOR build_modules +]
! .PHONY: configure-build-[+module+] maybe-configure-build-[+module+]
! maybe-configure-build-[+module+]:
! @if build-[+module+]
! maybe-configure-build-[+module+]: configure-build-[+module+]
! configure-build-[+module+]:
! 	@test ! -f $(BUILD_SUBDIR)/[+module+]/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(BUILD_SUBDIR)/[+module+] ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(BUILD_EXPORTS) \
! 	echo Configuring in $(BUILD_SUBDIR)/[+module+]; \
! 	cd "$(BUILD_SUBDIR)/[+module+]" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    topdir=$(srcdir) ;; \
! 	  *) \
! 	    case "$(BUILD_SUBDIR)" in \
! 	      .) topdir="../$(srcdir)" ;; \
! 	      *) topdir="../../$(srcdir)" ;; \
! 	    esac ;; \
  	esac; \
! 	if [ "$(srcdir)" = "." ] ; then \
! 	  if [ "$(BUILD_SUBDIR)" != "." ] ; then \
! 	    if $(SHELL) $$s/symlink-tree $${topdir}/[+module+] "no-such-file" ; then \
! 	      if [ -f Makefile ]; then \
! 	        if $(MAKE) distclean; then \
! 	          true; \
! 	        else \
! 	          exit 1; \
! 	        fi; \
! 	      else \
! 	        true; \
! 	      fi; \
! 	    else \
! 	      exit 1; \
! 	    fi; \
! 	  else \
! 	    true; \
! 	  fi; \
! 	  srcdiroption="--srcdir=."; \
! 	  libsrcdir="."; \
! 	else \
! 	  srcdiroption="--srcdir=$${topdir}/[+module+]"; \
! 	  libsrcdir="$$s/[+module+]"; \
! 	fi; \
! 	rm -f no-such-file || : ; \
! 	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
! 	  $(BUILD_CONFIGARGS) $${srcdiroption} \
! 	  --with-build-subdir="$(BUILD_SUBDIR)" [+extra_configure_flags+] \
  	  || exit 1
! @endif build-[+module+]
! 
! .PHONY: all-build-[+module+] maybe-all-build-[+module+]
! maybe-all-build-[+module+]:
! @if build-[+module+]
! TARGET-build-[+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
! maybe-all-build-[+module+]: all-build-[+module+]
! all-build-[+module+]: configure-build-[+module+]
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(BUILD_EXPORTS) \
! 	(cd $(BUILD_SUBDIR)/[+module+] && \
! 	  $(MAKE) [+extra_make_flags+] $(TARGET-build-[+module+]))
! @endif build-[+module+]
! [+ ENDFOR build_modules +]
  
! # --------------------------------------
! # Modules which run on the host machine
! # --------------------------------------
! [+ FOR host_modules +]
! .PHONY: configure-[+module+] maybe-configure-[+module+]
! maybe-configure-[+module+]:
! @if [+module+]
! maybe-configure-[+module+]: configure-[+module+]
! configure-[+module+]:
! 	@[+ IF bootstrap +]test -f stage_last && exit 0; \
! 	[+ ENDIF bootstrap +]test ! -f [+module+]/Makefile || exit 0; \
! 	[ -d [+module+] ] || mkdir [+module+]; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(HOST_EXPORTS) \
! 	echo Configuring in [+module+]; \
! 	cd [+module+] || exit 1; \
  	case $(srcdir) in \
! 	  \.) \
! 	    srcdiroption="--srcdir=."; \
! 	    libsrcdir=".";; \
! 	  /* | [A-Za-z]:[\\/]*) \
! 	    srcdiroption="--srcdir=$(srcdir)/[+module+]"; \
! 	    libsrcdir="$$s/[+module+]";; \
! 	  *) \
! 	    srcdiroption="--srcdir=../$(srcdir)/[+module+]"; \
! 	    libsrcdir="$$s/[+module+]";; \
  	esac; \
  	$(SHELL) $${libsrcdir}/configure \
! 	  $(HOST_CONFIGARGS) $${srcdiroption} [+extra_configure_flags+] \
! 	  || exit 1
! @endif [+module+]
  
! .PHONY: all-[+module+] maybe-all-[+module+]
! maybe-all-[+module+]:
! @if [+module+]
! TARGET-[+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
! maybe-all-[+module+]: all-[+module+]
! all-[+module+]: configure-[+module+]
  	@[+ IF bootstrap +]test -f stage_last && exit 0; \
! 	[+ ENDIF bootstrap +]r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \
! 	$(HOST_EXPORTS) \
! 	(cd [+module+] && $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] \
! 	  $(TARGET-[+module+]))
! @endif [+module+]
  
  .PHONY: check-[+module+] maybe-check-[+module+]
  maybe-check-[+module+]:
--- 726,872 ----
  # built are.
  TAGS: do-TAGS
  
! # ------------------------------------
! # Macros for configure and all targets
! # ------------------------------------
! 
! [+ DEFINE configure +]
! .PHONY: configure-[+prefix+][+module+] maybe-configure-[+prefix+][+module+]
! maybe-configure-[+prefix+][+module+]:
! @if [+prefix+][+module+]
! maybe-configure-[+prefix+][+module+]: configure-[+prefix+][+module+]
! configure-[+prefix+][+module+]: [+deps+]
! 	@[+ IF bootstrap +]test -f stage_last && exit 0; \
! 	[+ ELSE bootstrap +]$(unstage)
! 	@[+ ENDIF bootstrap +]test ! -f [+subdir+]/[+module+]/Makefile || exit 0; \
! 	$(SHELL) $(srcdir)/mkinstalldirs [+subdir+]/[+module+] ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	[+exports+] \
! 	echo Configuring in [+subdir+]/[+module+]; \
! 	cd "[+subdir+]/[+module+]" || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo [+subdir+]/[+module+]/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
! 	srcdiroption="--srcdir=$${topdir}/[+module+]"; \
! 	libsrcdir="$$s/[+module+]"; \
! 	[+ IF no-config-site +]rm -f no-such-file || : ; \
! 	CONFIG_SITE=no-such-file [+ ENDIF +]$(SHELL) $${libsrcdir}/configure \
! 	  [+args+] $${srcdiroption} [+extra_configure_flags+] \
  	  || exit 1
! @endif [+prefix+][+module+]
  
! [+ IF bootstrap +]
! [+ FOR bootstrap_stage +]
! .PHONY: configure-stage[+id+]-[+prefix+][+module+] maybe-configure-stage[+id+]-[+prefix+][+module+]
! maybe-configure-stage[+id+]-[+prefix+][+module+]:
! @if [+module+]-bootstrap
! maybe-configure-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
! configure-stage[+id+]-[+prefix+][+module+]: [+deps+]
! 	@[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
! 	@[ -f [+subdir+]/[+module+]/Makefile ] && exit 0 || : ; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	[+exports+][+ IF prev +] \
! 	[+poststage1_exports+][+ ENDIF prev +] \
! 	echo Configuring stage [+id+] in [+subdir+]/[+module+] ; \
! 	cd [+subdir+]/[+module+] || exit 1; \
  	case $(srcdir) in \
! 	  /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
! 	  *) topdir=`echo [+subdir+]/[+module+]/ | \
! 		sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
  	esac; \
+ 	srcdiroption="--srcdir=$${topdir}/[+module+]"; \
+ 	libsrcdir="$$s/[+module+]"; \
  	$(SHELL) $${libsrcdir}/configure \
! 	  [+args+] $${srcdiroption} \
! 	  [+stage_configure_flags+] [+extra_configure_flags+]
! @endif [+module+]-bootstrap
! [+ ENDFOR bootstrap_stage +]
! [+ ENDIF bootstrap +]
! [+ ENDDEF +]
  
! [+ DEFINE all +]
! .PHONY: all-[+prefix+][+module+] maybe-all-[+prefix+][+module+]
! maybe-all-[+prefix+][+module+]:
! @if [+prefix+][+module+]
! TARGET-[+prefix+][+module+]=[+
!   IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
! maybe-all-[+prefix+][+module+]: all-[+prefix+][+module+]
! all-[+prefix+][+module+]: configure-[+prefix+][+module+]
  	@[+ IF bootstrap +]test -f stage_last && exit 0; \
! 	[+ ELSE bootstrap +]$(unstage)
! 	@[+ ENDIF bootstrap +]r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	[+exports+] \
! 	(cd [+subdir+]/[+module+] && \
! 	  $(MAKE) [+args+] [+extra_make_flags+] $(TARGET-[+prefix+][+module+]))
! @endif [+prefix+][+module+]
! 
! [+ IF bootstrap +]
! [+ FOR bootstrap_stage +]
! .PHONY: all-stage[+id+]-[+prefix+][+module+] maybe-all-stage[+id+]-[+prefix+][+module+]
! .PHONY: clean-stage[+id+]-[+prefix+][+module+] maybe-clean-stage[+id+]-[+prefix+][+module+]
! maybe-all-stage[+id+]-[+prefix+][+module+]:
! maybe-clean-stage[+id+]-[+prefix+][+module+]:
! @if [+module+]-bootstrap
! maybe-all-stage[+id+]-[+prefix+][+module+]: all-stage[+id+]-[+prefix+][+module+]
! all-stage[+id+]: all-stage[+id+]-[+prefix+][+module+]
! TARGET-stage[+id+]-[+prefix+][+module+] = $(TARGET-[+prefix+][+module+])
! all-stage[+id+]-[+prefix+][+module+]: configure-stage[+id+]-[+prefix+][+module+]
! 	@[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	[+exports+][+ IF prev +] \
! 	[+poststage1_exports+][+ ENDIF prev +] \
! 	cd [+subdir+]/[+module+] && \
! 	$(MAKE) [+args+] [+ IF prev
! 		+][+poststage1_args+][+ ENDIF prev
! 		+] [+stage_make_flags+] [+extra_make_flags+] \
! 		$(TARGET-stage[+id+]-[+prefix+][+module+])
! 
! maybe-clean-stage[+id+]-[+prefix+][+module+]: clean-stage[+id+]-[+prefix+][+module+]
! clean-stage[+id+]: clean-stage[+id+]-[+prefix+][+module+]
! clean-stage[+id+]-[+prefix+][+module+]:
! 	@[ -f [+subdir+]/[+module+]/Makefile ] || [ -f [+subdir+]/stage[+id+]-[+module+]/Makefile ] \
! 	  || exit 0 ; \
! 	@[ `cat stage_current` = stage[+id+] ] || $(MAKE) stage[+id+]-start
! 	cd [+subdir+]/[+module+] && \
! 	$(MAKE) [+args+] [+ IF prev +] \
! 		[+poststage1_args+] [+ ENDIF prev +] \
! 		[+stage_make_flags+] [+extra_make_flags+] clean
! @endif [+module+]-bootstrap
! 
! [+ ENDFOR bootstrap_stage +]
! [+ ENDIF bootstrap +]
! [+ ENDDEF +]
! 
! # --------------------------------------
! # Modules which run on the build machine
! # --------------------------------------
! [+ FOR build_modules +]
! [+ configure prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)"
! 	     args="$(BUILD_CONFIGARGS)" no-config-site=true +]
! 
! [+ all prefix="build-" subdir="$(BUILD_SUBDIR)" exports="$(BUILD_EXPORTS)" +]
! [+ ENDFOR build_module +]
! 
! # --------------------------------------
! # Modules which run on the host machine
! # --------------------------------------
! [+ FOR host_modules +]
! [+ configure prefix="" subdir="$(HOST_SUBDIR)"
! 	     exports="$(HOST_EXPORTS)"
! 	     poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
! 	     args="$(HOST_CONFIGARGS)" +]
! 
! [+ all prefix="" subdir="$(HOST_SUBDIR)"
!        exports="$(HOST_EXPORTS)"
!        poststage1_exports="$(POSTSTAGE1_HOST_EXPORTS)"
!        args="$(FLAGS_TO_PASS)"
!        poststage1_args="$(POSTSTAGE1_FLAGS_TO_PASS)" +]
  
  .PHONY: check-[+module+] maybe-check-[+module+]
  maybe-check-[+module+]:
*************** check-[+module+]:
*** 932,953 ****
  [+ ELIF no_check_cross +]
  # This module is only tested in a native toolchain.
  check-[+module+]:
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
! 	  (cd [+module+] && $(MAKE) $(FLAGS_TO_PASS) [+ 
! 	    extra_make_flags+] check); \
  	fi
  [+ ELSE check +]
  check-[+module+]:
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd [+module+] && $(MAKE) $(FLAGS_TO_PASS) [+ 
! 	  extra_make_flags+] check)
  [+ ENDIF no_check +]
  @endif [+module+]
  
--- 877,898 ----
  [+ ELIF no_check_cross +]
  # This module is only tested in a native toolchain.
  check-[+module+]:
+ 	@: $(MAKE); $(unstage)
  	@if [ '$(host)' = '$(target)' ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	  $(HOST_EXPORTS) \
! 	  (cd $(HOST_SUBDIR)/[+module+] && \
! 	    $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check); \
  	fi
  [+ ELSE check +]
  check-[+module+]:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/[+module+] && \
! 	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check)
  [+ ENDIF no_check +]
  @endif [+module+]
  
*************** maybe-install-[+module+]: install-[+modu
*** 959,970 ****
  install-[+module+]:
  [+ ELSE install +]
  install-[+module+]: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
! 	(cd [+module+] && $(MAKE) $(FLAGS_TO_PASS) [+ 
! 	  extra_make_flags+] install)
  [+ ENDIF no_install +]
  @endif [+module+]
  
--- 904,915 ----
  install-[+module+]:
  [+ ELSE install +]
  install-[+module+]: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
! 	(cd $(HOST_SUBDIR)/[+module+] && \
! 	  $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] install)
  [+ ENDIF no_install +]
  @endif [+module+]
  
*************** maybe-[+make_target+]-[+module+]: [+make
*** 982,997 ****
    FOR depend +]\
      [+depend+]-[+module+] [+
    ENDFOR depend +]
! 	@[ -f ./[+module+]/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) [+extra_make_flags+]; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing [+make_target+] in [+module+]" ; \
! 	(cd [+module+] && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
--- 927,942 ----
    FOR depend +]\
      [+depend+]-[+module+] [+
    ENDFOR depend +]
! 	@[+ IF bootstrap +][+ ELSE +]$(unstage)
! 	@[+ ENDIF bootstrap +][ -f ./[+module+]/Makefile ] || exit 0; \
  	r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	for flag in $(EXTRA_HOST_FLAGS) [+extra_make_flags+]; do \
  	  eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
  	done; \
  	echo "Doing [+make_target+] in [+module+]" ; \
! 	(cd $(HOST_SUBDIR)/[+module+] && \
  	  $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
  	          "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
  	          "RANLIB=$${RANLIB}" \
*************** maybe-[+make_target+]-[+module+]: [+make
*** 1007,1097 ****
  # Modules which run on the target machine
  # ---------------------------------------
  [+ FOR target_modules +]
- .PHONY: configure-target-[+module+] maybe-configure-target-[+module+]
- maybe-configure-target-[+module+]:
- @if target-[+module+]
- maybe-configure-target-[+module+]: configure-target-[+module+]
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
  $(TARGET_SUBDIR)/[+module+]/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/[+module+] ; \
  	rm -f $(TARGET_SUBDIR)/[+module+]/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/[+module+]/multilib.out
- 
- configure-target-[+module+]: $(TARGET_SUBDIR)/[+module+]/multilib.out
- 	@test ! -f $(TARGET_SUBDIR)/[+module+]/Makefile || exit 0; \
- 	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/[+module+] ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \[+
- IF raw_cxx +]
- 	$(RAW_CXX_TARGET_EXPORTS) \[+
- ELSE normal_cxx +]
- 	$(NORMAL_TARGET_EXPORTS) \[+
- ENDIF raw_cxx +]
- 	echo Configuring in $(TARGET_SUBDIR)/[+module+]; \
- 	cd "$(TARGET_SUBDIR)/[+module+]" || exit 1; \
- 	case $(srcdir) in \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    topdir=$(srcdir) ;; \
- 	  *) \
- 	    case "$(TARGET_SUBDIR)" in \
- 	      .) topdir="../$(srcdir)" ;; \
- 	      *) topdir="../../$(srcdir)" ;; \
- 	    esac ;; \
- 	esac; \[+ IF stage +]
- 	if [ "$(srcdir)" = "." ] ; then \
- 	  if [ "$(TARGET_SUBDIR)" != "." ] ; then \
- 	    if $(SHELL) $$s/symlink-tree $${topdir}/[+module+] "no-such-file" ; then \
- 	      if [ -f Makefile ]; then \
- 	        if $(MAKE) distclean; then \
- 	          true; \
- 	        else \
- 	          exit 1; \
- 	        fi; \
- 	      else \
- 	        true; \
- 	      fi; \
- 	    else \
- 	      exit 1; \
- 	    fi; \
- 	  else \
- 	    true; \
- 	  fi; \
- 	  srcdiroption="--srcdir=."; \
- 	  libsrcdir="."; \
- 	else \[+ ENDIF stage +]
- 	  srcdiroption="--srcdir=$${topdir}/[+module+]"; \
- 	  libsrcdir="$$s/[+module+]"; \[+ IF stage +]
- 	fi; \[+ ENDIF stage +]
- 	rm -f no-such-file || : ; \
- 	CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
- 	  $(TARGET_CONFIGARGS) $${srcdiroption} \
- 	  --with-target-subdir="$(TARGET_SUBDIR)" [+extra_configure_flags+] \
- 	  || exit 1
  @endif target-[+module+]
  
! .PHONY: all-target-[+module+] maybe-all-target-[+module+]
! maybe-all-target-[+module+]:
! @if target-[+module+]
! TARGET-target-[+module+]=[+ IF target +][+target+][+ ELSE +]all[+ ENDIF target +]
! maybe-all-target-[+module+]: all-target-[+module+]
! all-target-[+module+]: configure-target-[+module+]
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \[+
! IF raw_cxx +]
! 	$(RAW_CXX_TARGET_EXPORTS) \[+
! ELSE normal_cxx +]
! 	$(NORMAL_TARGET_EXPORTS) \[+
! ENDIF raw_cxx +]
! 	(cd $(TARGET_SUBDIR)/[+module+] && \
! 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) [+
! 	    IF raw_cxx 
! 	  +] 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)' [+ 
! 	    ENDIF raw_cxx 
! 	  +] [+extra_make_flags+] $(TARGET-target-[+module+]))
! @endif target-[+module+]
  
  .PHONY: check-target-[+module+] maybe-check-target-[+module+]
  maybe-check-target-[+module+]:
--- 952,985 ----
  # Modules which run on the target machine
  # ---------------------------------------
  [+ FOR target_modules +]
  
  # There's only one multilib.out.  Cleverer subdirs shouldn't need it copied.
+ @if target-[+module+]
  $(TARGET_SUBDIR)/[+module+]/multilib.out: multilib.out
  	$(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/[+module+] ; \
  	rm -f $(TARGET_SUBDIR)/[+module+]/Makefile || : ; \
  	cp multilib.out $(TARGET_SUBDIR)/[+module+]/multilib.out
  @endif target-[+module+]
  
! [+ IF raw_cxx +]
! [+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
! 	     deps=(string-append "$(TARGET_SUBDIR)/" (get "module") "/multilib.out")
! 	     exports="$(RAW_CXX_TARGET_EXPORTS)"
! 	     args="$(TARGET_CONFIGARGS)" no-config-site=true +]
! 
! [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
!        exports="$(RAW_CXX_TARGET_EXPORTS)"
!        args="$(TARGET_FLAGS_TO_PASS) 'CXX=$$(RAW_CXX_FOR_TARGET)' 'CXX_FOR_TARGET=$$(RAW_CXX_FOR_TARGET)'" +]
! [+ ELSE +]
! [+ configure prefix="target-" subdir="$(TARGET_SUBDIR)"
! 	     deps=(string-append "$(TARGET_SUBDIR)/" (get "module") "/multilib.out")
! 	     exports="$(NORMAL_TARGET_EXPORTS)"
! 	     args="$(TARGET_CONFIGARGS)" no-config-site=true +]
! 
! [+ all prefix="target-" subdir="$(TARGET_SUBDIR)"
!        exports="$(NORMAL_TARGET_EXPORTS)"
!        args="$(TARGET_FLAGS_TO_PASS)" +]
! [+ ENDIF +]
  
  .PHONY: check-target-[+module+] maybe-check-target-[+module+]
  maybe-check-target-[+module+]:
*************** maybe-check-target-[+module+]: check-tar
*** 1102,1110 ****
  check-target-[+module+]:
  [+ ELSE check +]
  check-target-[+module+]:
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
--- 990,998 ----
  check-target-[+module+]:
  [+ ELSE check +]
  check-target-[+module+]:
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
*************** maybe-install-target-[+module+]: install
*** 1128,1136 ****
  install-target-[+module+]:
  [+ ELSE install +]
  install-target-[+module+]: installdirs
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
--- 1016,1024 ----
  install-target-[+module+]:
  [+ ELSE install +]
  install-target-[+module+]: installdirs
+ 	@: $(MAKE); $(unstage)
  	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
*************** maybe-[+make_target+]-target-[+module+]:
*** 1155,1164 ****
    FOR depend +]\
      [+depend+]-target-[+module+] [+
    ENDFOR depend +]
  	@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
--- 1043,1052 ----
    FOR depend +]\
      [+depend+]-target-[+module+] [+
    ENDFOR depend +]
+ 	@: $(MAKE); $(unstage)
  	@[ -f $(TARGET_SUBDIR)/[+module+]/Makefile ] || exit 0 ; \
  	r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \[+
  IF raw_cxx +]
  	$(RAW_CXX_TARGET_EXPORTS) \[+
  ELSE normal_cxx +]
*************** GCC_STRAP_TARGETS = bootstrap bootstrap-
*** 1194,1202 ****
  $(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping the compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
--- 1082,1090 ----
  $(GCC_STRAP_TARGETS): all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping the compiler"; \
+ 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $@
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
*************** $(GCC_STRAP_TARGETS): all-prebootstrap c
*** 1214,1245 ****
  	    msg="Comparing stage2 and stage3 of the compiler"; \
  	    compare=compare ;; \
  	esac; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "$$msg"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
  profiledbootstrap: all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Bootstrapping training compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Building feedback based compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
--- 1102,1129 ----
  	    msg="Comparing stage2 and stage3 of the compiler"; \
  	    compare=compare ;; \
  	esac; \
  	$(HOST_EXPORTS) \
  	echo "$$msg"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) $$compare
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
  profiledbootstrap: all-prebootstrap configure-gcc
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
+ 	$(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,:[ :]*,:,g;s,^[ :]*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
  	echo "Bootstrapping training compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stageprofile_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	$(HOST_EXPORTS) \
  	echo "Building feedback based compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) stagefeedback_build
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) all
  
*************** profiledbootstrap: all-prebootstrap conf
*** 1247,1259 ****
  cross: all-build all-gas all-ld
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	$(SET_LIB_PATH) \
  	$(HOST_EXPORTS) \
  	echo "Building the C and C++ compiler"; \
  	cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) LANGUAGES="c c++"
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	$(SET_LIB_PATH) \
  	echo "Building runtime libraries"; \
  	$(MAKE) $(RECURSE_FLAGS_TO_PASS) LANGUAGES="c c++" all
  @endif gcc-no-bootstrap
--- 1131,1141 ----
*************** check-gcc-c++:
*** 1264,1270 ****
  	@if [ -f ./gcc/Makefile ] ; then \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
  	  (cd gcc && $(MAKE) $(GCC_FLAGS_TO_PASS) check-c++); \
  	else \
--- 1146,1151 ----
*************** gcc-no-fixedincludes:
*** 1288,1294 ****
  	  rm -f gcc/stmp-headers gcc/stmp-int-hdrs; \
  	  r=`${PWD_COMMAND}`; export r; \
  	  s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
- 	  $(SET_LIB_PATH) \
  	  $(HOST_EXPORTS) \
  	  (cd ./gcc && \
  	   $(MAKE) $(GCC_FLAGS_TO_PASS) install); \
--- 1169,1174 ----
*************** gcc-no-fixedincludes:
*** 1305,1321 ****
  # stage_last instead tracks the stage that was built last.  These targets
  # are dummy when toplevel bootstrap is not active.
  
! .PHONY: unstage
! unstage:
  @if gcc-bootstrap
! 	@[ -f stage_current ] || $(MAKE) `cat stage_last`-start
  @endif gcc-bootstrap
  
! .PHONY: stage
  stage:
! @if gcc-bootstrap
! 	@$(MAKE) `cat stage_current`-end
! @endif gcc-bootstrap
  
  # We name the build directories for the various stages "stage1-gcc",
  # "stage2-gcc","stage3-gcc", etc.
--- 1185,1207 ----
  # stage_last instead tracks the stage that was built last.  These targets
  # are dummy when toplevel bootstrap is not active.
  
! # While making host and target tools, symlinks to the final stage must be
! # there, so $(MAKE) $(unstage) should be run at various points.  To avoid
! # excessive recursive invocations of make, we "inline" them using a variable.
! 
! unstage = :
! stage = :
! 
  @if gcc-bootstrap
! unstage = [ -f stage_current ] || $(MAKE) `cat stage_last`-start
! stage = [ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  @endif gcc-bootstrap
  
! .PHONY: unstage stage
! unstage:
! 	@: $(MAKE); $(unstage)
  stage:
! 	@: $(MAKE); $(stage)
  
  # We name the build directories for the various stages "stage1-gcc",
  # "stage2-gcc","stage3-gcc", etc.
*************** stage:
*** 1328,1346 ****
  # mv on platforms where symlinks to directories do not work or are not
  # reliable.
  
- # At the end of the bootstrap, a symlink to 'stage3-gcc' named 'gcc' must
- # be kept, so that libraries can find it.  Ick!
- 
- # It would be best to preinstall gcc into a staging area (and in the
- # future, gather there all prebootstrap packages).  This would allow
- # assemblers and linkers can be bootstrapped as well as the compiler
- # (both in a combined tree, or separately).  This however requires some
- # change to the gcc driver, again in order to avoid comparison failures.
- 
- # Bugs: This is crippled when doing parallel make, the `make all-host'
- # and `make all-target' phases can be parallelized.
- 
- 
  # 'touch' doesn't work right on some platforms.
  STAMP = echo timestamp > 
  
--- 1214,1219 ----
*************** objext = .o
*** 1359,1365 ****
  # Flags to pass to stage2 and later makes.
  POSTSTAGE1_FLAGS_TO_PASS = \
  	CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
! 	STAGE_PREFIX=$$r/stage[+prev+]-gcc/ \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	ADAC="\$$(CC)"
  
--- 1232,1238 ----
  # Flags to pass to stage2 and later makes.
  POSTSTAGE1_FLAGS_TO_PASS = \
  	CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \
! 	STAGE_PREFIX=$$r/prev-gcc/ \
  	CFLAGS="$(BOOT_CFLAGS)" \
  	ADAC="\$$(CC)"
  
*************** POSTSTAGE1_FLAGS_TO_PASS = \
*** 1376,1396 ****
  .PHONY: stage[+id+]-start stage[+id+]-end
  
  stage[+id+]-start::
! 	@[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
  	echo stage[+id+] > stage_current ; \
! 	echo stage[+id+] > stage_last[+ FOR host_modules +][+ IF bootstrap +]
  @if [+ module +]
! 	@[ -d stage[+id+]-[+module+] ] || mkdir stage[+id+]-[+module+]; \
! 	set stage[+id+]-[+module+] [+module+] ; @CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set stage[+prev+]-[+module+] prev-[+module+] ; @CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
  
  stage[+id+]-end::
  	@rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +]
  @if [+ module +]
! 	@set [+module+] stage[+id+]-[+module+] ; @UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set prev-[+module+] stage[+prev+]-[+module+] ; @UNDO_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +]
  
  # Bubble a bugfix through all the stages up to stage [+id+].  They
  # are remade, but not reconfigured.  The next stage (if any) will not
--- 1249,1292 ----
  .PHONY: stage[+id+]-start stage[+id+]-end
  
  stage[+id+]-start::
! 	@: $(MAKE); $(stage); \
  	echo stage[+id+] > stage_current ; \
! 	echo stage[+id+] > stage_last; \
! 	$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR) $(TARGET_SUBDIR)[+
!    FOR host_modules +][+ IF bootstrap +]
  @if [+ module +]
! 	@cd $(HOST_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
! 	  mkdir stage[+id+]-[+module+]; \
! 	set stage[+id+]-[+module+] [+module+] ; \
! 	@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set stage[+prev+]-[+module+] prev-[+module+] ; \
! 	@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +][+
!    FOR target_modules +][+ IF bootstrap +]
! @if target-[+ module +]
! 	@cd $(TARGET_SUBDIR); [ -d stage[+id+]-[+module+] ] || \
! 	  mkdir stage[+id+]-[+module+]; \
! 	set stage[+id+]-[+module+] [+module+] ; \
! 	@CREATE_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set stage[+prev+]-[+module+] prev-[+module+] ; \
! 	@CREATE_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif target-[+ module +][+ ENDIF bootstrap +][+ ENDFOR target_modules +]
  
  stage[+id+]-end::
  	@rm -f stage_current[+ FOR host_modules +][+ IF bootstrap +]
  @if [+ module +]
! 	@cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \
! 	@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set prev-[+module+] stage[+prev+]-[+module+] ; \
! 	@UNDO_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR host_modules +][+
!    FOR target_modules +][+ IF bootstrap +]
! @if target-[+ module +]
! 	@cd $(HOST_SUBDIR); set [+module+] stage[+id+]-[+module+] ; \
! 	@UNDO_LINK_TO_DIR@ [+ IF prev +] ; \
! 	set prev-[+module+] stage[+prev+]-[+module+] ; \
! 	@UNDO_LINK_TO_DIR@ [+ ENDIF prev +]
! @endif [+ module +][+ ENDIF bootstrap +][+ ENDFOR target_modules +]
  
  # Bubble a bugfix through all the stages up to stage [+id+].  They
  # are remade, but not reconfigured.  The next stage (if any) will not
*************** stage[+id+]-end::
*** 1398,1492 ****
  .PHONY: stage[+id+]-bubble
  stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +]
  	@bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +]
! 	@if test -f stage[+id+]-lean [+
  	  IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
  	  echo Skipping rebuild of stage[+id+] ; \
  	else \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) NOTPARALLEL= all-stage[+id+]; \
! 	fi
  
  .PHONY: all-stage[+id+] clean-stage[+id+]
- all-stage[+id+]: [+ FOR host_modules +][+ IF bootstrap +]\
-   maybe-all-stage[+id+]-[+module+][+
- ENDIF bootstrap+] [+ ENDFOR host_modules +]
- 
  do-clean: clean-stage[+id+]
- clean-stage[+id+]: [+ FOR host_modules +][+ IF bootstrap +]\
-   maybe-clean-stage[+id+]-[+module+][+
- ENDIF bootstrap+] [+ ENDFOR host_modules +]
- 
- [+ FOR host_modules +][+ IF bootstrap +]
- .PHONY: configure-stage[+id+]-[+module+] maybe-configure-stage[+id+]-[+module+]
- .PHONY: all-stage[+id+]-[+module+] maybe-all-stage[+id+]-[+module+]
- .PHONY: clean-stage[+id+]-[+module+] maybe-clean-stage[+id+]-[+module+]
- 
- maybe-configure-stage[+id+]-[+module+]:
- maybe-all-stage[+id+]-[+module+]:
- maybe-clean-stage[+id+]-[+module+]:
- 
- @if [+module+]-bootstrap
- maybe-configure-stage[+id+]-[+module+]: configure-stage[+id+]-[+module+]
- configure-stage[+id+]-[+module+]:
- 	@$(MAKE) stage[+id+]-start
- 	@[ -f [+module+]/Makefile ] && exit 0 || : ; \
- 	r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; [+ IF prev +] \
- 	$(STAGE_HOST_EXPORTS) [+ ELSE prev +] \
- 	$(HOST_EXPORTS) [+ ENDIF prev +] \
- 	echo Configuring stage [+id+] in [+module+] ; \
- 	cd [+module+] || exit 1; \
- 	case $(srcdir) in \
- 	  \.) \
- 	    srcdiroption="--srcdir=."; \
- 	    libsrcdir=".";; \
- 	  /* | [A-Za-z]:[\\/]*) \
- 	    srcdiroption="--srcdir=$(srcdir)/[+module+]"; \
- 	    libsrcdir="$$s/[+module+]";; \
- 	  *) \
- 	    srcdiroption="--srcdir=../$(srcdir)/[+module+]"; \
- 	    libsrcdir="$$s/[+module+]";; \
- 	esac; \
- 	$(SHELL) $${libsrcdir}/configure \
- 	  $(HOST_CONFIGARGS) $${srcdiroption} \
- 	  [+stage_configure_flags+] [+extra_configure_flags+]
- 
- maybe-all-stage[+id+]-[+module+]: all-stage[+id+]-[+module+]
- all-stage[+id+]-[+module+]: configure-stage[+id+]-[+module+]
- 	@$(MAKE) stage[+id+]-start
- 	@r=`${PWD_COMMAND}`; export r; \
- 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; [+ IF prev +] \
- 	$(STAGE_HOST_EXPORTS) [+ ELSE prev +] \
- 	$(HOST_EXPORTS) [+ ENDIF prev +] \
- 	cd [+module+] && \
- 	$(MAKE) $(FLAGS_TO_PASS) [+ IF prev +] \
- 		$(POSTSTAGE1_FLAGS_TO_PASS) [+ ENDIF prev +] \
- 		[+stage_make_flags+] [+extra_make_flags+]
- 
- maybe-clean-stage[+id+]-[+module+]: clean-stage[+id+]-[+module+]
- clean-stage[+id+]-[+module+]:
- 	@[ -f [+module+]/Makefile ] || [ -f stage[+id+]-[+module+]/Makefile ] \
- 	  || exit 0 ; \
- 	[ -f [+module+]/Makefile ] || $(MAKE) stage[+id+]-start ; \
- 	cd [+module+] && \
- 	$(MAKE) $(FLAGS_TO_PASS) [+ IF prev +] \
- 		$(POSTSTAGE1_FLAGS_TO_PASS) [+ ENDIF prev +] \
- 		[+stage_make_flags+] [+extra_make_flags+] clean
- @endif [+module+]-bootstrap
- 
- [+ ENDIF bootstrap +][+ ENDFOR host_modules +]
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  [+ IF compare-target +]
  [+compare-target+]:
! 	@if test -f stage[+prev+]-lean; then \
  	  echo Cannot compare object files as stage [+prev+] was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || : ; \
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
  	rm -f .bad_compare ; \
  	cd stage[+id+]-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
--- 1294,1325 ----
  .PHONY: stage[+id+]-bubble
  stage[+id+]-bubble:: [+ IF prev +]stage[+prev+]-bubble[+ ENDIF +][+IF lean +]
  	@bootstrap_lean@-rm -rf stage[+lean+]-* ; $(STAMP) stage[+lean+]-lean[+ ENDIF lean +]
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage[+id+]-lean [+
  	  IF prev +]|| test -f stage[+prev+]-lean [+ ENDIF prev +] ; then \
  	  echo Skipping rebuild of stage[+id+] ; \
  	else \
! 	  $(MAKE) stage[+id+]-start; \
! 	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-stage[+id+]; \
! 	fi[+ IF compare-target +]
! 	$(MAKE) [+compare-target+][+ ENDIF compare-target +]
  
  .PHONY: all-stage[+id+] clean-stage[+id+]
  do-clean: clean-stage[+id+]
  
  # FIXME: Will not need to be conditional when toplevel bootstrap is the
  # only possibility, but now it conflicts with no-bootstrap rules
  @if gcc-bootstrap
  [+ IF compare-target +]
  [+compare-target+]:
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	if test -f stage[+prev+]-lean; then \
  	  echo Cannot compare object files as stage [+prev+] was deleted. ; \
  	  exit 0 ; \
  	fi; \
! 	$(stage); \
  	rm -f .bad_compare ; \
  	cd stage[+id+]-gcc; \
  	files=`find . -name "*$(objext)" -print` ; \
*************** clean-stage[+id+]-[+module+]:
*** 1494,1500 ****
  	for file in $${files} ; do \
  	  f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
--- 1327,1340 ----
  	for file in $${files} ; do \
  	  f1=$$r/stage[+prev+]-gcc/$$file; f2=$$r/stage[+id+]-gcc/$$file; \
  	  @do_compare@ > /dev/null 2>&1; \
! 	  if test $$? -eq 1; then \
! 	    case $$file in \
! 	      ./cc*-checksum$(objext) | ./libgcc/* ) \
! 	        echo warning: $$file differs ;; \
! 	      *) \
! 	        echo $$file differs >> .bad_compare ;; \
! 	    esac ; \
! 	  fi ; \
  	done ; \
  	if [ -f .bad_compare ]; then \
  	  echo "Bootstrap comparison failure!"; \
*************** clean-stage[+id+]-[+module+]:
*** 1509,1522 ****
  
  [+ IF bootstrap-target +]
  .PHONY: [+bootstrap-target+]
! [+bootstrap-target+]: stage[+id+]-bubble [+compare-target+] all
  [+ ENDIF bootstrap-target +]
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  [+ IF prev +]distclean-stage[+prev+]:: distclean-stage[+id+] [+ ENDIF prev +]
  .PHONY: distclean-stage[+id+]
  distclean-stage[+id+]::
! 	[ -f stage_current ] && $(MAKE) `cat stage_current`-end || :
  	rm -rf stage[+id+]-* [+
  	  IF compare-target +][+compare-target+] [+ ENDIF compare-target +]
  
--- 1349,1371 ----
  
  [+ IF bootstrap-target +]
  .PHONY: [+bootstrap-target+]
! [+bootstrap-target+]:
! 	echo stage[+id+] > stage_final
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(RECURSE_FLAGS_TO_PASS) stage[+id+]-bubble
! 	@: $(MAKE); $(unstage)
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target
! 	@: $(MAKE); $(stage)
  [+ ENDIF bootstrap-target +]
  
  # Rules to wipe a stage and all the following ones, also used for cleanstrap
  [+ IF prev +]distclean-stage[+prev+]:: distclean-stage[+id+] [+ ENDIF prev +]
  .PHONY: distclean-stage[+id+]
  distclean-stage[+id+]::
! 	@: $(MAKE); $(stage)
  	rm -rf stage[+id+]-* [+
  	  IF compare-target +][+compare-target+] [+ ENDIF compare-target +]
  
*************** distclean-stage[+id+]::
*** 1528,1566 ****
  
  [+ ENDFOR bootstrap-stage +]
  
! stagefeedback-start::
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	cd stageprofile-gcc && \
! 	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../gcc/&",' | $(SHELL); } && \
! 	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../gcc/&",' | $(SHELL); }
  
! # FIXME: Will not need to be conditional when toplevel bootstrap is the
! # only possibility, but now it conflicts with no-bootstrap rules
! @if gcc-bootstrap
! profiledbootstrap:
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \
! 	$(HOST_EXPORTS) \
! 	echo "Bootstrapping the compiler"; \
! 	$(MAKE) stageprofile-bubble distclean-stagefeedback
! 	@r=`${PWD_COMMAND}`; export r; \
! 	s=`cd $(srcdir); ${PWD_COMMAND}` ; export s; \
! 	$(SET_LIB_PATH) \
! 	echo "Building runtime libraries and training compiler"; \
! 	$(MAKE) $(BASE_FLAGS_TO_PASS) $(RECURSE_FLAGS) all
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	$(SET_LIB_PATH) \
! 	$(HOST_EXPORTS) \
! 	echo "Building feedback based compiler"; \
! 	$(MAKE) stagefeedback-bubble stagefeedback-end
! @endif gcc-bootstrap
  
  @if gcc-bootstrap
- NOTPARALLEL = .NOTPARALLEL
- $(NOTPARALLEL):
  do-distclean: distclean-stage1
  @endif gcc-bootstrap
  
--- 1377,1396 ----
  
  [+ ENDFOR bootstrap-stage +]
  
! stageprofile-end::
! 	$(MAKE) distclean-stagefeedback
  
! stagefeedback-start::
  	@r=`${PWD_COMMAND}`; export r; \
  	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
! 	for i in prev-*; do \
! 	  j=`echo $$i | sed s/^prev-//` ; \
! 	  cd $$r/$$i && \
! 	  { find . -type d | sort | sed 's,.*,$(SHELL) '"$$s"'/mkinstalldirs "../'$$j'/&",' | $(SHELL) ; } && \
! 	  { find . -name '*.*da' | sed 's,.*,$(LN) -f "&" "../'$$j'/&",' | $(SHELL) ; } ; \
! 	done
  
  @if gcc-bootstrap
  do-distclean: distclean-stage1
  @endif gcc-bootstrap
  
*************** do-distclean: distclean-stage1
*** 1569,1575 ****
  # --------------------------------------
  
  # Generic dependencies for target modules on host stuff, especially gcc
! [+ FOR target_modules +]
  configure-target-[+module+]: maybe-all-gcc
  [+ ENDFOR target_modules +]
  
--- 1399,1408 ----
  # --------------------------------------
  
  # Generic dependencies for target modules on host stuff, especially gcc
! [+ FOR target_modules +][+ IF bootstrap +]
! @if gcc-bootstrap[+ FOR bootstrap_stage +]
! configure-stage[+id+]-target-[+module+]: maybe-all-stage[+id+]-gcc[+ ENDFOR +]
! @endif gcc-bootstrap[+ ENDIF bootstrap +]
  configure-target-[+module+]: maybe-all-gcc
  [+ ENDFOR target_modules +]
  
*************** configure-target-[+module+]: maybe-all-t
*** 1637,1643 ****
  	  "prebootstrap"
  
  	  (if (or (= (dep-subtarget "on") "install-")
- 		  (=* (dep-module "on") "target-")
  		  (not (hash-ref boot-modules (dep-module "module")))
  		  (not (hash-ref boot-modules (dep-module "on"))))
                "normal"
--- 1470,1475 ----
*************** configure-target-[+module+]: maybe-all-t
*** 1651,1656 ****
--- 1483,1492 ----
     (if (exist? "bootstrap")
         (hash-create-handle! boot-modules (get "module") #t))
     "" +][+ ENDFOR host_modules +]
+ [+ FOR target_modules +][+
+    (if (exist? "bootstrap")
+        (hash-create-handle! boot-modules (string-append "target-" (get "module")) #t))
+    "" +][+ ENDFOR target_modules +]
  
  # With all the machinery above in place, it is pretty easy to generate
  # dependencies.  Host dependencies are a bit more complex because we have
*************** all-prebootstrap: maybe-all-[+module+][+
*** 1682,1689 ****
--- 1518,1529 ----
  ENDFOR host_modules +]
  @endif gcc-no-bootstrap
  
+ CONFIGURE_GDB_TK = @CONFIGURE_GDB_TK@
  GDB_TK = @GDB_TK@
+ INSTALL_GDB_TK = @INSTALL_GDB_TK@
+ configure-gdb: $(CONFIGURE_GDB_TK)
  all-gdb: $(gdbnlmrequirements) $(GDB_TK)
+ install-gdb: $(INSTALL_GDB_TK)
  
  # Serialization dependencies.  Host configures don't work well in parallel to
  # each other, due to contention over config.cache.  Target configures and 
*************** $(srcdir)/Makefile.in: @MAINT@ $(srcdir)
*** 1714,1720 ****
  Makefile: $(srcdir)/Makefile.in config.status
  	CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
  
! config.status: configure $(gcc_version_trigger)
  	CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
  
  # Rebuilding configure.
--- 1554,1560 ----
  Makefile: $(srcdir)/Makefile.in config.status
  	CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
  
! config.status: configure
  	CONFIG_SHELL="$(SHELL)" $(SHELL) ./config.status --recheck
  
  # Rebuilding configure.
diff -Nrcpad gcc-4.0.2/NEWS gcc-4.1.0/NEWS
*** gcc-4.0.2/NEWS	Wed Sep 28 06:18:15 2005
--- gcc-4.1.0/NEWS	Tue Feb 28 08:39:23 2006
*************** that led to GCC 3. For information on GC
*** 5,17 ****
  see ONEWS.
  
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/index.html
  
                             GCC 4.0 Release Series
  
!    July 7, 2005
  
     The  [1]GNU project and the GCC developers are pleased to announce the
     release of GCC 4.0.1.
  
     This release is a bug-fix release, containing fixes for regressions in
--- 5,635 ----
  see ONEWS.
  
  ======================================================================
+ http://gcc.gnu.org/gcc-4.1/index.html
+ 
+                            GCC 4.1 Release Series
+ 
+ Release History
+ 
+ References and Acknowledgements
+ 
+    GCC  used  to  stand  for  the  GNU C Compiler, but since the compiler
+    supports  several  other languages aside from C, it now stands for the
+    GNU Compiler Collection.
+ 
+    A  list  of [1]successful builds is updated as new information becomes
+    available.
+ 
+    The  GCC  developers would like to thank the numerous people that have
+    contributed  new  features, improvements, bug fixes, and other changes
+    as well as test results to GCC. This [2]amazing group of volunteers is
+    what makes GCC successful.
+ 
+    For  additional  information  about  GCC  please  refer  to the [3]GCC
+    project web site or contact the [4]GCC development mailing list.
+ 
+    To obtain GCC please use [5]our mirror sites, one of the [6]GNU mirror
+    sites, or [7]our CVS server.
+      _________________________________________________________________
+ 
+    Please  send  FSF & GNU inquiries & questions to [8]gnu@gnu.org. There
+    are also [9]other ways to contact the FSF.
+ 
+    These pages are maintained by [10]the GCC team.
+ 
+ 
+     For  questions  related  to the use of GCC, please consult these web
+     pages    and    the    [11]GCC   manuals.   If   that   fails,   the
+     [12]gcc-help@gcc.gnu.org mailing list might help.
+     Please  send  comments on these web pages and the development of GCC
+     to    our    developer    mailing   list   at   [13]gcc@gnu.org   or
+     [14]gcc@gcc.gnu.org. All of our lists have [15]public archives.
+ 
+    Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
+    Floor, Boston, MA 02110, USA.
+ 
+    Verbatim  copying and distribution of this entire article is permitted
+    in any medium, provided this notice is preserved.
+ 
+    Last modified 2005-11-19 [16]Valid XHTML 1.0 
+ 
+ References
+ 
+    1. http://gcc.gnu.org/gcc-4.1/buildstat.html
+    2. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
+    3. http://gcc.gnu.org/index.html
+    4. mailto:gcc@gcc.gnu.org
+    5. http://gcc.gnu.org/mirrors.html
+    6. http://www.gnu.org/order/ftp.html
+    7. http://gcc.gnu.org/cvs.html
+    8. mailto:gnu@gnu.org
+    9. http://www.gnu.org/home.html#ContactInfo
+   10. http://gcc.gnu.org/about.html
+   11. http://gcc.gnu.org/onlinedocs/
+   12. mailto:gcc-help@gcc.gnu.org
+   13. mailto:gcc@gnu.org
+   14. mailto:gcc@gcc.gnu.org
+   15. http://gcc.gnu.org/lists.html
+   16. http://validator.w3.org/check/referer
+ ======================================================================
+ http://gcc.gnu.org/gcc-4.1/changes.html
+ 
+                            GCC 4.1 Release Series
+                       Changes, New Features, and Fixes
+ 
+ Caveats
+ 
+ General Optimizer Improvements
+ 
+      * GCC  now has infrastructure for inter-procedural optimizations and
+        the following inter-procedural optimizations are implemented:
+           + Profile  guided  inlining. When doing profile feedback guided
+             optimization,  GCC  can  now  use  the profile to make better
+             informed  decisions  on  whether  inlining  of  a function is
+             profitable  or not. This means that GCC will no longer inline
+             functions at call sites that are not executed very often, and
+             that  functions  at  hot  call  sites  are  more likely to be
+             inlined.
+             A  new parameter min-inline-recursive-probability is also now
+             available  to  throttle  recursive inlining of functions with
+             small average recursive depths.
+           + Discovery of pure and const functions, a form of side-effects
+             analysis.  While  older GCC releases could also discover such
+             special  functions,  the  new  IPA-based pass runs earlier so
+             that  the  results are available to more optimizers. The pass
+             is also simply more powerful than the old one.
+           + Analysis  of  references  to static variables and type escape
+             analysis, also forms of side-effects analysis. The results of
+             these passes allow the compiler to be less conservative about
+             call-clobbered variables and references. This results in more
+             redundant   loads  being  eliminated  and  in  making  static
+             variables candidates for register promotion.
+           + Improvement  of RTL-based alias analysis. The results of type
+             escape analysis are fed to the RTL type-based alias analyzer,
+             allowing it to disambiguate more memory references.
+           + Interprocedural constant propagation and function versioning.
+             This pass looks for functions that are always called with the
+             same   constant  value  for  one  or  more  of  the  function
+             arguments,   and   propagates   those  constants  into  those
+             functions.
+           + GCC  will  now  eliminate  static  variables  whose usage was
+             optimized out.
+           + -fwhole-program  --combine  can  now  be  used  to  make  all
+             functions   in   program   static   allowing   whole  program
+             optimization.  As  an  exception,  the  main function and all
+             functions  marked  with  the new externally_visible attribute
+             are  kept  global  so  that  programs  can  link with runtime
+             libraries.
+      * GCC can now do a form of partial dead code elimination (PDCE) that
+        allows code motion of expressions to the paths where the result of
+        the  expression  is  actually needed. This is not always a win, so
+        the  pass has been limited to only consider profitable cases. Here
+        is an example:
+     int foo (int *, int *);
+     int
+     bar (int d)
+     {
+       int a, b, c;
+       b = d + 1;
+       c = d + 2;
+       a = b + c;
+       if (d)
+         {
+           foo (&b, &c);
+           a = b + c;
+         }
+       printf ("%d\n", a);
+     }
+                The  a  =  b  +  c  can  be  sunk  to  right  before  the  printf.
+        Normal  code  sinking will not do this, it will sink the first one
+        above  into  the  else-branch of the conditional jump, which still
+        gives you two copies of the code.
+      * GCC  now  has  a  value  range  propagation  pass. This allows the
+        compiler  to  eliminate bounds checks and branches. The results of
+        the   pass   can   also  be  used  to  accurately  compute  branch
+        probabilities.
+      * The  pass  to  convert  PHI nodes to straight-line code (a form of
+        if-conversion for GIMPLE) has been improved significantly. The two
+        most   significant  improvements  are  an  improved  algorithm  to
+        determine  the order in which the PHI nodes are considered, and an
+        improvement  that  allow  the  pass  to consider if-conversions of
+        basic blocks with more than two predecessors.
+      * Alias  analysis  improvements.  GCC  can now differentiate between
+        different  fields  of  structures  in  Tree-SSA's virtual operands
+        form. This lets stores/loads from non-overlapping structure fields
+        not  conflict.  A  new  algorithm  to  compute  points-to sets was
+        contributed  that  can  allows  GCC to see now that p->a and p->b,
+        where  p  is a pointer to a structure, can never point to the same
+        field.
+      * Various enhancements to auto-vectorization:
+           + Incrementally preserve SSA form when vectorizing.
+           + Incrementally preserve loop-closed form when vectorizing.
+           + Improvements  to  peeling for alignment: generate better code
+             when  the misalignment of an access is known at compile time,
+             or  when  different  accesses  are  known  to  have  the same
+             misalignment,  even  if  the  misalignment  amount  itself is
+             unknown.
+           + Consider dependence distance in the vectorizer.
+           + Externalize  generic parts of data reference analysis to make
+             this analysis available to other passes.
+           + Vectorization of conditional code.
+           + Reduction support.
+      * GCC  can now partition functions in sections of hot and cold code.
+        This   can   significantly   improve  performance  due  to  better
+        instruction  cache locality. This feature works best together with
+        profile feedback driven optimization.
+      * A  new  pass to avoid saving of unneeded arguments to the stack in
+        vararg  functions  if the compiler can prove that they will not be
+        needed.
+      * Transition  of  basic block profiling to tree level implementation
+        has  been completed. The new implementation should be considerably
+        more  reliable  (hopefully  avoiding  profile mismatch errors when
+        using  -fprofile-use or -fbranch-probabilities) and can be used to
+        drive higher level optimizations, such as inlining.
+        The  -ftree-based-profiling  command  line  option was removed and
+        -fprofile-use  now  implies disabling old RTL level loop optimizer
+        (-fno-loop-optimize).    Speculative    prefetching   optimization
+        (originally enabled by -fspeculative-prefetching) was removed.
+ 
+ New Languages and Language specific improvements
+ 
+   C and Objective-C
+ 
+      * The  old Bison-based C and Objective-C parser has been replaced by
+        a new, faster hand-written recursive-descent parser.
+ 
+   Ada
+ 
+      * The build infrastructure for the Ada runtime library and tools has
+        been  changed  to  be better integrated with the rest of the build
+        infrastructure  of GCC. This should make doing cross builds of Ada
+        a bit easier.
+ 
+   C++
+ 
+      * ARM-style  name-injection  of friend declarations is no longer the
+        default. For example:
+           struct S {
+             friend void f();
+           };
+ 
+           void g() { f(); }
+        will  not  be accepted; instead a declaration of f will need to be
+        present  outside  of  the  scope  of S. The new -ffriend-injection
+        option will enable the old behavior.
+      * The   (undocumented)  extension  which  permitted  templates  with
+        default arguments to be bound to template template parameters with
+        fewer  parameters  has been deprecated, and will be removed in the
+        next major release of G++. For example:
+        template <template <typename> class C>
+        void f(C<double>) {}
+ 
+        template <typename T, typename U = int>
+        struct S {};
+ 
+        template void f(S<double>);
+ 
+        makes use of the deprecated extension. The reason this code is not
+        valid  ISO  C++  is  that  S  is  a  template with two parameters;
+        therefore, it cannot be bound to C which has only one parameter.
+ 
+     Runtime Library (libstdc++)
+ 
+      * Optimization work:
+           + A  new  implementation  of  std::search_n is provided, better
+             performing in case of random access iterators.
+           + Added further efficient specializations of istream functions,
+             i.e., character array and string extractors.
+           + Other smaller improvements throughout.
+      * A  versatile  string  class,  __gnu_cxx::__versa_string, providing
+        facilities   conforming   to   the   standard   requirements   for
+        basic_string, is delivered in <ext/vstring.h>. In particular:
+           + Two  base  classes  are  provided:  the  default  one  avoids
+             reference  counting  and  is optimized for short strings; the
+             alternate  one,  still  uses  it while improving in a few low
+             level  areas  (e.g.,  alignment).  See vstring_fwd.h for some
+             useful typedefs.
+           + Various  algorithms  have been rewritten (e.g., replace), the
+             code streamlined and simple optimizations added.
+           + Option  3  of DR 431 is implemented for both available bases,
+             thus improving the support for stateful allocators.
+      * As  usual,  many  bugs  have  been  fixed  (e.g., libstdc++/13583,
+        libstdc++/23953) and LWG resolutions put into effect for the first
+        time  (e.g.,  DR  280,  464,  TR1  Issue 6.19). The implementation
+        status of TR1 is now tracked in the docs in tr1.html.
+ 
+   Objective-C++
+ 
+      * A  new  language  front end for Objective-C++ has been added. This
+        language  allows  users  to  mix  the  object oriented features of
+        Objective-C with those of C++.
+ 
+   Java (GCJ)
+ 
+      * Core  library  (libgcj) updates based on GNU Classpath 0.15 - 0.19
+        features (plus some 0.20 bug-fixes)
+           + Networking
+                o The  java.net.HttpURLConnection implementation no longer
+                  buffers  the  entire response body in memory. This means
+                  that  response  bodies  larger than available memory can
+                  now be handled.
+           + (N)IO
+                o NIO   FileChannel.map   implementation,  fast  bulk  put
+                  implementation  for  DirectByteBuffer  (speeds  up  this
+                  method 10x).
+                o FileChannel.lock() and FileChannel.force() implemented.
+           + XML
+                o gnu.xml  fix  for  nodes  created  outside  a  namespace
+                  context.
+                o Add     support     for     output     indenting     and
+                  cdata-section-elements     output     instruction     in
+                  xml.transform.
+                o xml.xpath      corrections      for      cases     where
+                  elements/attributes   might   have   been   created   in
+                  non-namespace-aware mode. Corrections to handling of XSL
+                  variables and minor conformance updates.
+           + AWT
+                o GNU JAWT implementation, the AWT Native Interface, which
+                  allows  direct  access  to  native screen resources from
+                  within  a  Canvas's paint method. GNU Classpath Examples
+                  comes with a Demo, see
+                  libjava/classpath/examples/README.
+                o awt.datatransfer   updated   to  1.5  with  support  for
+                  FlavorEvents. The gtk+ awt peers now allow copy/paste of
+                  text,  images,  URIs/files  and  serialized objects with
+                  other  applications and tracking clipboard change events
+                  with  gtk+  2.6  (for  gtk+ 2.4 only text and serialized
+                  objects   are   supported).  A  GNU  Classpath  Examples
+                  datatransfer   Demo   was   added   to   show   the  new
+                  functionality.
+                o Split  gtk+  awt peers event handling in two threads and
+                  improve gdk lock handling (solves several awt lock ups).
+                o Speed up awt Image loading.
+                o Better  gtk+  scrollbar  peer  implementation when using
+                  gtk+ >= 2.6.
+                o Handle  image loading errors correctly for gdkpixbuf and
+                  MediaTracker.
+                o Better  handle  GDK lock. Properly prefix gtkpeer native
+                  functions (cp_gtk).
+                o GdkGraphics2D  has  been  updated  to use Cairo 0.5.x or
+                  higher.
+                o BufferedImage  and  GtkImage rewrites. All image drawing
+                  operations  should now work correctly (flipping requires
+                  gtk+ >= 2.6)
+                o Future Graphics2D, image and text work is documented at:
+                  [1]http://developer.classpath.org/mediation/ClasspathGra
+                  phicsImagesText 
+                o When  gtk+  2.6  or  higher is installed the default log
+                  handler  will  produce  stack traces whenever a WARNING,
+                  CRITICAL or ERROR message is produced.
+           + Free Swing
+                o The  RepaintManager has been reworked for more efficient
+                  painting, especially for large GUIs.
+                o The  layout  manager OverlayLayout has been implemented,
+                  the  BoxLayout  has  been  rewritten  to make use of the
+                  SizeRequirements  utility  class  and  caching  for more
+                  efficient layout.
+                o Improved accessibility support.
+                o Significant progress has been made in the implementation
+                  of  the  javax.swing.plaf.metal  package,  with  most UI
+                  delegates  in a working state now. Please test this with
+                  your  own  applications  and  provide feedback that will
+                  help us to improve this package.
+                o The  GUI  demo  (gnu.classpath.examples.swing.Demo)  has
+                  been  extended to highlight various features in our Free
+                  Swing  implementation.  And  it includes a look and feel
+                  switcher for Metal (default), Ocean and GNU themes.
+                o The javax.swing.plaf.multi package is now implemented.
+                o Editing  and  several  key  actions for JTree and JTable
+                  were implemented.
+                o Lots  of  icons  and look and feel improvements for Free
+                  Swing basic and metal themes were added. Try running the
+                  GNU     Classpath     Swing     Demo     in     examples
+                  (gnu.classpath.examples.swing.Demo)                with:
+                  -Dswing.defaultlaf=javax.swing.plaf.basic.BasicLookAndFe
+                  el or
+                  -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFe
+                  el
+                o Start of styled text capabilites for java.swing.text.
+                o DefaultMutableTreeNode       pre-order,      post-order,
+                  depth-first  and  breadth-first  traversal  enumerations
+                  implemented.
+                o JInternalFrame colors and titlebar draw properly.
+                o JTree  is  working  up  to  par  (icons,  selection  and
+                  keyboard traversal).
+                o JMenus   were   made   more  compatible  in  visual  and
+                  programmatic behavior.
+                o JTable    changeSelection    and   multiple   selections
+                  implemented.
+                o JButton  and  JToggleButton  change states work properly
+                  now.
+                o JFileChooser fixes.
+                o revalidate()  and  repaint() fixes which make Free Swing
+                  much more responsive.
+                o MetalIconFactory implemented.
+                o Free  Swing  Top-Level  Compatibility.  JFrame, JDialog,
+                  JApplet,   JInternalFrame,   and  JWindow  are  now  1.5
+                  compatible  in  the  sense  that  you can call add() and
+                  setLayout()  directly  on them, which will have the same
+                  effect    as    calling    getContentPane().add()    and
+                  getContentPane().setLayout().
+                o The  JTree  interface  has  been  completed.  JTrees now
+                  recognizes mouse clicks and selections work.
+                o BoxLayout works properly now.
+                o Fixed GrayFilter to actually work.
+                o Metal SplitPane implemented.
+                o Lots of Free Swing text and editor stuff work now.
+           + Free RMI and Corba
+                o Andrew  Watson, Vice President and Technical Director of
+                  the  Object Management Group, has officially assigned us
+                  20  bit  Vendor  Minor Code Id: 0x47430 ("GC") that will
+                  mark   remote   classpath-specific   system  exceptions.
+                  Obtaining  the  VMCID  means that GNU Classpath now is a
+                  recogniseable  type  of  node  in a highly interoperable
+                  CORBA world.
+                o GNU  Classpath  now  includes the first working draft to
+                  support   the   RMI  over  IIOP  protocol.  The  current
+                  implementation   is   capable   of  remote  invocations,
+                  transferring  various  Serializables and Externalizables
+                  via  RMI-IIOP  protocol.  It  can flatten graphs and, at
+                  least  for  the  simple cases, is interoperable with 1.5
+                  JDKs.
+                o org.omg.PortableInterceptor and related functionality in
+                  other packages is now implemented:
+                     # The  sever and client interceptors work as required
+                       since 1.4.
+                     # The IOR interceptor works as needed for 1.5.
+                o The  org.omg.DynamicAny  package is completed and passes
+                  the prepared tests.
+                o The  Portable  Object  Adapter  should  now  support the
+                  output  of  the  recent  IDL  to  java  compilers. These
+                  compilers now generate servants and not CORBA objects as
+                  before,  making  the  output  depend on the existing POA
+                  implementation.  Completing POA means that such code can
+                  already  be tried to run on Classpath. Our POA is tested
+                  for the following usager scenarios:
+                     # POA converts servant to the CORBA object.
+                     # Servant provides to the CORBA object.
+                     # POA  activates  new  CORBA  object  with  the given
+                       Object Id (byte array) that is later accessible for
+                       the servant.
+                     # During   the   first   call,  the  ServantActivator
+                       provides  servant for this and all subsequent calls
+                       on the current object.
+                     # During   each  call,  the  ServantLocator  provides
+                       servant for this call only.
+                     # ServantLocator or ServantActivator forwards call to
+                       another server.
+                     # POA  has  a  single  servant,  responsible  for all
+                       objects.
+                     # POA  has  a  default  servant, but some objects are
+                       explicitly connected to they specific servants.
+                  The   POA  is  verified  using  tests  from  the  former
+                  cost.omg.org.
+                o The CORBA implementation is now a working prototype that
+                  should  support  features up to 1.3 inclusive. We invite
+                  groups  writing  CORBA  dependent  applications  to  try
+                  Classpath  implementation,  reporting any possible bugs.
+                  The   CORBA   prototype   is  interoperable  with  Sun's
+                  implementation  v  1.4,  transferring object references,
+                  primitive   types,  narrow  and  wide  strings,  arrays,
+                  structures,  trees,  abstract interfaces and value types
+                  (feature  of  CORBA  2.3)  between  these two platforms.
+                  Remote exceptions are transferred and handled correctly.
+                  The  stringified  object  references (IORs) from various
+                  sources  are  parsed  as  required.  The  transient (for
+                  current   session)  and  permanent  (till  jre  restart)
+                  redirections  work.  Both  Little and Big Endian encoded
+                  messages  are  accepted.  The implementation is verified
+                  using  tests  from  the former cost.omg.org. The current
+                  release  includes  working  examples  (see  the examples
+                  directory),      demonstrating     the     client-server
+                  communication,  using  either CORBA Request or IDL-based
+                  stub  (usually  generated  by  a  IDL to java compiler).
+                  These  examples also show how to use the Classpath CORBA
+                  naming  service.  The  IDL  to  java compiler is not yet
+                  written,  but  as  our  library  must  be compatible, it
+                  naturally    accepts    the   output   of   other   idlj
+                  implementations.
+           + Misc
+                o Updated TimeZone data against Olson tzdata2005l.
+                o Make zip and jar packages UTF-8 clean.
+                o "native"  code  builds  and  compiles  (warning free) on
+                  Darwin and Solaris.
+                o java.util.logging.FileHandler now rotates files.
+                o Start of a generic JDWP framework in gnu/classpath/jdwp.
+                  This  is unfinished, but feedback (at classpath@gnu.org)
+                  from  runtime  hackers  is greatly appreciated. Although
+                  most  of the work is currently being done around gcj/gij
+                  we  want this framework to be as VM neutral as possible.
+                  Early design is described in:
+                  [2]http://gcc.gnu.org/ml/java/2005-05/msg00260.html
+                o QT4    AWT    peers,    enable   by   giving   configure
+                  --enable-qt-peer. Included, but not ready for production
+                  yet. They are explicitly disabled and not supported. But
+                  if  you  want  to help with the development of these new
+                  features we are interested in feedback. You will have to
+                  explicitly  enable  them  to try them out (and they will
+                  most likely contain bugs).
+                o Documentation    fixes   all   over   the   place.   See
+                  [3]http://developer.classpath.org/doc/
+ 
+ New Targets and Target Specific Improvements
+ 
+   IA-32/x86-64
+ 
+      * The  x86-64  medium model (that allows building applications whose
+        data  segment  exceeds  4GB)  was  redesigned  to match latest ABI
+        draft. New implementation split large datastructures into separate
+        segment  improving performance of accesses to small datastructures
+        and also allows linking of small model libraries into medium model
+        programs  as  long  as  the  libraries are not accessing the large
+        datastructures   directly.  Medium  model  is  also  supported  in
+        position independent code now.
+        The  ABI  change  results  in partial incompatibility among medium
+        model   objects.  Linking  medium  model  libraries  (or  objects)
+        compiled with new compiler into medium model program compiled with
+        older will likely result in exceeding ranges of relocations.
+        Binutils  2.16.91 or newer are required for compiling medium model
+        now.
+ 
+   RS6000 (POWER/PowerPC)
+ 
+      * The  AltiVec  vector primitives in <altivec.h> are now implemented
+        in  a  way that puts a smaller burden on the preprocessor, instead
+        processing  the  "overloading"  in  the  front  ends.  This should
+        benefit compilation speed on AltiVec vector code.
+      * AltiVec initializers now are generated more efficiently.
+      * The popcountb instruction available on POWER5 now is generated.
+      * The  floating  point  round  to  integer instructions available on
+        POWER5+ now is generated.
+      * Floating point divides can be synthesized using the floating point
+        reciprocal estimate instructions.
+      * Double  precision  floating  point  constants  are  initialized as
+        single precision values if they can be represented exactly.
+ 
+   S/390, zSeries and System z9
+ 
+      * Support  for  the IBM System z9 109 processor has been added. When
+        using  the  -march=z9-109  option, the compiler will generate code
+        making  use  of  instructions  provided  by the extended immediate
+        facility.
+      * Support for 128-bit IEEE floating point has been added. When using
+        the  -mlong-double-128  option,  the  compiler  will  map the long
+        double data type to 128-bit IEEE floating point. Using this option
+        constitutes an ABI change, and requires glibc support.
+      * Various changes to improve performance of generated code have been
+        implemented, including:
+           + In  functions  that  do  not require a literal pool, register
+             %r13   (which  is  traditionally  reserved  as  literal  pool
+             pointer),  can  now  be freely used for other purposes by the
+             compiler.
+           + More  precise tracking of register use allows the compiler to
+             generate  more  efficient  function prolog and epilog code in
+             certain cases.
+           + The  SEARCH  STRING,  COMPARE LOGICAL STRING, and MOVE STRING
+             instructions are now used to implement C string functions.
+           + The  MOVE  CHARACTER  instruction with single byte overlap is
+             now  used to implement the memset function with non-zero fill
+             byte.
+           + The LOAD ZERO instructions are now used where appropriate.
+           + The  INSERT  CHARACTERS  UNDER  MASK,  STORE CHARACTERS UNDER
+             MASK,  and  INSERT  IMMEDIATE  instructions are now used more
+             frequently to optimize bitfield operations.
+           + The  BRANCH ON COUNT instruction is now used more frequently.
+             In  particular,  the  fact  that a loop contains a subroutine
+             call   no  longer  prevents  the  compiler  from  using  this
+             instruction.
+           + The   compiler  is  now  aware  that  all  shift  and  rotate
+             instructions implicitly truncate the shift count to six bits.
+      * Back-end  support  for  the  following  generic  features has been
+        implemented:
+           + The full set of built-in functions for atomic memory access.
+           + The -fstack-protector feature.
+           + The optimization pass avoiding unnecessary stores of incoming
+             argument registers in functions with variable argument list.
+ 
+   SPARC
+ 
+      * The  default  code  model  in  64-bit  mode  has been changed from
+        Medium/Anywhere to Medium/Middle on Solaris.
+      * TLS support is disabled by default on Solaris prior to release 10.
+        It  can be enabled on TLS-capable Solaris 9 versions (4/04 release
+        and later) by specifying --enable-tls at configure time.
+ 
+   MorphoSys
+ 
+      * Support has been added for this new architecture.
+ 
+ Obsolete Systems
+ 
+ Documentation improvements
+ 
+ Other significant improvements
+ 
+      * GCC   can   now   emit   code  for  protecting  applications  from
+        stack-smashing  attacks.  The  protection  is  realized  by buffer
+        overflow  detection  and  reordering  of  stack variables to avoid
+        pointer corruption.
+      * Some  built-in  functions  have  been  fortified  to  protect them
+        against    various    buffer    overflow   (and   format   string)
+        vulnerabilities.  Compared to the mudflap bounds checking feature,
+        the  safe  builtins  have  far  smaller  overhead. This means that
+        programs  built  using  safe  builtins  should  not experience any
+        measurable slowdown.
+      _________________________________________________________________
+ 
+    Please  send  FSF & GNU inquiries & questions to [4]gnu@gnu.org. There
+    are also [5]other ways to contact the FSF.
+ 
+    These pages are maintained by [6]the GCC team.
+ 
+ 
+     For  questions  related  to the use of GCC, please consult these web
+     pages    and    the    [7]GCC    manuals.   If   that   fails,   the
+     [8]gcc-help@gcc.gnu.org mailing list might help.
+     Please  send  comments on these web pages and the development of GCC
+     to    our    developer    mailing    list   at   [9]gcc@gnu.org   or
+     [10]gcc@gcc.gnu.org. All of our lists have [11]public archives.
+ 
+    Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
+    Floor, Boston, MA 02110, USA.
+ 
+    Verbatim  copying and distribution of this entire article is permitted
+    in any medium, provided this notice is preserved.
+ 
+    Last modified 2006-02-27 [12]Valid XHTML 1.0 
+ 
+ References
+ 
+    1. http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
+    2. http://gcc.gnu.org/ml/java/2005-05/msg00260.html
+    3. http://developer.classpath.org/doc/
+    4. mailto:gnu@gnu.org
+    5. http://www.gnu.org/home.html#ContactInfo
+    6. http://gcc.gnu.org/about.html
+    7. http://gcc.gnu.org/onlinedocs/
+    8. mailto:gcc-help@gcc.gnu.org
+    9. mailto:gcc@gnu.org
+   10. mailto:gcc@gcc.gnu.org
+   11. http://gcc.gnu.org/lists.html
+   12. http://validator.w3.org/check/referer
+ ======================================================================
  http://gcc.gnu.org/gcc-4.0/index.html
  
                             GCC 4.0 Release Series
  
!    September 28, 2005
  
     The  [1]GNU project and the GCC developers are pleased to announce the
+    release of GCC 4.0.2.
+ 
+    This release is a bug-fix release, containing fixes for regressions in
+    GCC 4.0.1 relative to previous releases of GCC.
+ 
+    July 7, 2005
+ 
+    The  [2]GNU project and the GCC developers are pleased to announce the
     release of GCC 4.0.1.
  
     This release is a bug-fix release, containing fixes for regressions in
*************** http://gcc.gnu.org/gcc-4.0/index.html
*** 19,34 ****
  
     April 20, 2005
  
!    The  [2]GNU project and the GCC developers are pleased to announce the
     release of GCC 4.0.0.
  
  Release History
  
     GCC 4.0.1
!           July 7, 2005 ([3]changes)
  
     GCC 4.0.0
!           April 20, 2005 ([4]changes)
  
  References and Acknowledgements
  
--- 637,655 ----
  
     April 20, 2005
  
!    The  [3]GNU project and the GCC developers are pleased to announce the
     release of GCC 4.0.0.
  
  Release History
  
+    GCC 4.0.2
+           September 28, 2005 ([4]changes)
+ 
     GCC 4.0.1
!           July 7, 2005 ([5]changes)
  
     GCC 4.0.0
!           April 20, 2005 ([6]changes)
  
  References and Acknowledgements
  
*************** References and Acknowledgements
*** 36,68 ****
     supports  several  other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A  list  of [5]successful builds is updated as new information becomes
     available.
  
     The  GCC  developers would like to thank the numerous people that have
     contributed  new  features, improvements, bug fixes, and other changes
!    as well as test results to GCC. This [6]amazing group of volunteers is
     what makes GCC successful.
  
!    For  additional  information  about  GCC  please  refer  to the [7]GCC
!    project web site or contact the [8]GCC development mailing list.
  
!    To  obtain  GCC  please  use  [9]our  mirror sites, one of the [10]GNU
!    mirror sites, or [11]our CVS server.
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [12]gnu@gnu.org. There
!    are also [13]other ways to contact the FSF.
  
!    These pages are maintained by [14]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [15]GCC   manuals.   If   that   fails,   the
!     [16]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [17]gcc@gnu.org   or
!     [18]gcc@gcc.gnu.org. All of our lists have [19]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
--- 657,689 ----
     supports  several  other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A  list  of [7]successful builds is updated as new information becomes
     available.
  
     The  GCC  developers would like to thank the numerous people that have
     contributed  new  features, improvements, bug fixes, and other changes
!    as well as test results to GCC. This [8]amazing group of volunteers is
     what makes GCC successful.
  
!    For  additional  information  about  GCC  please  refer  to the [9]GCC
!    project web site or contact the [10]GCC development mailing list.
  
!    To  obtain  GCC  please  use  [11]our mirror sites, one of the [12]GNU
!    mirror sites, or [13]our CVS server.
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [14]gnu@gnu.org. There
!    are also [15]other ways to contact the FSF.
  
!    These pages are maintained by [16]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [17]GCC   manuals.   If   that   fails,   the
!     [18]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [19]gcc@gnu.org   or
!     [20]gcc@gcc.gnu.org. All of our lists have [21]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
*************** References and Acknowledgements
*** 70,106 ****
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-07-12 [20]Valid XHTML 1.0 
  
  References
  
     1. http://www.gnu.org/
     2. http://www.gnu.org/
!    3. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
!    4. http://gcc.gnu.org/gcc-4.0/changes.html
!    5. http://gcc.gnu.org/gcc-4.0/buildstat.html
!    6. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    7. http://gcc.gnu.org/index.html
!    8. mailto:gcc@gcc.gnu.org
!    9. http://gcc.gnu.org/mirrors.html
!   10. http://www.gnu.org/order/ftp.html
!   11. http://gcc.gnu.org/cvs.html
!   12. mailto:gnu@gnu.org
!   13. http://www.gnu.org/home.html#ContactInfo
!   14. http://gcc.gnu.org/about.html
!   15. http://gcc.gnu.org/onlinedocs/
!   16. mailto:gcc-help@gcc.gnu.org
!   17. mailto:gcc@gnu.org
!   18. mailto:gcc@gcc.gnu.org
!   19. http://gcc.gnu.org/lists.html
!   20. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/changes.html
  
                             GCC 4.0 Release Series
                        Changes, New Features, and Fixes
  
!    The latest release in the 4.0 release series is [1]GCC 4.0.1.
  
  Caveats
  
--- 691,729 ----
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-09-29 [22]Valid XHTML 1.0 
  
  References
  
     1. http://www.gnu.org/
     2. http://www.gnu.org/
!    3. http://www.gnu.org/
!    4. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.2
!    5. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
!    6. http://gcc.gnu.org/gcc-4.0/changes.html
!    7. http://gcc.gnu.org/gcc-4.0/buildstat.html
!    8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/index.html
!   10. mailto:gcc@gcc.gnu.org
!   11. http://gcc.gnu.org/mirrors.html
!   12. http://www.gnu.org/order/ftp.html
!   13. http://gcc.gnu.org/cvs.html
!   14. mailto:gnu@gnu.org
!   15. http://www.gnu.org/home.html#ContactInfo
!   16. http://gcc.gnu.org/about.html
!   17. http://gcc.gnu.org/onlinedocs/
!   18. mailto:gcc-help@gcc.gnu.org
!   19. mailto:gcc@gnu.org
!   20. mailto:gcc@gcc.gnu.org
!   21. http://gcc.gnu.org/lists.html
!   22. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-4.0/changes.html
  
                             GCC 4.0 Release Series
                        Changes, New Features, and Fixes
  
!    The latest release in the 4.0 release series is [1]GCC 4.0.2.
  
  Caveats
  
*************** GCC 4.0.1
*** 554,573 ****
     system  that  are  known  to  be fixed in the 4.0.1 release. This list
     might not be complete (that is, it is possible that some PRs that have
     been fixed are not listed here).
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [13]gnu@gnu.org. There
!    are also [14]other ways to contact the FSF.
  
!    These pages are maintained by [15]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [16]GCC   manuals.   If   that   fails,   the
!     [17]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [18]gcc@gnu.org   or
!     [19]gcc@gcc.gnu.org. All of our lists have [20]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
--- 1177,1220 ----
     system  that  are  known  to  be fixed in the 4.0.1 release. This list
     might not be complete (that is, it is possible that some PRs that have
     been fixed are not listed here).
+ 
+ GCC 4.0.2
+ 
+    This  is the [13]list of problem reports (PRs) from GCC's bug tracking
+    system  that  are  known  to  be fixed in the 4.0.2 release. This list
+    might not be complete (that is, it is possible that some PRs that have
+    been fixed are not listed here).
+ 
+    Unfortunately,  due to a release engineering failure, this release has
+    a regression on Solaris that will affect some C++ programs. We suggest
+    that  Solaris users apply a [14]patch that corrects the problem. Users
+    who do not wish to apply the patch should explicitly link C++ programs
+    with  the  -pthreads  option,  even  if  they do not use threads. This
+    problem  has been corrected in the current 4.0 branch sources and will
+    not be present in GCC 4.0.3.
+ 
+ GCC 4.0.3
+ 
+    Starting  with  this release, the function getcontext is recognized by
+    the  compiler  as having the same semantics as the setjmp function. In
+    particular,  the  compiler  will  ensure  that  all registers are dead
+    before  calling  such  a  function  and  will emit a warning about the
+    variables  that  may  be  clobbered  after  the second return from the
+    function.
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [15]gnu@gnu.org. There
!    are also [16]other ways to contact the FSF.
  
!    These pages are maintained by [17]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [18]GCC   manuals.   If   that   fails,   the
!     [19]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [20]gcc@gnu.org   or
!     [21]gcc@gcc.gnu.org. All of our lists have [22]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
*************** GCC 4.0.1
*** 575,585 ****
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-07-11 [21]Valid XHTML 1.0 
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.1
     2. http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
     3. http://gcc.gnu.org/projects/tree-ssa/
     4. http://gcc.gnu.org/projects/tree-ssa/vectorization.html
--- 1222,1232 ----
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-11-11 [23]Valid XHTML 1.0 
  
  References
  
!    1. http://gcc.gnu.org/gcc-4.0/changes.html#4.0.2
     2. http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
     3. http://gcc.gnu.org/projects/tree-ssa/
     4. http://gcc.gnu.org/projects/tree-ssa/vectorization.html
*************** References
*** 591,613 ****
    10. http://gcc.gnu.org/install/
    11. http://gcc.gnu.org/wiki/Visibility
    12. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1
!   13. mailto:gnu@gnu.org
!   14. http://www.gnu.org/home.html#ContactInfo
!   15. http://gcc.gnu.org/about.html
!   16. http://gcc.gnu.org/onlinedocs/
!   17. mailto:gcc-help@gcc.gnu.org
!   18. mailto:gcc@gnu.org
!   19. mailto:gcc@gcc.gnu.org
!   20. http://gcc.gnu.org/lists.html
!   21. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/index.html
  
                             GCC 3.4 Release Series
  
!    May 18, 2005
  
     The  [1]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.4.
  
     This release is a bug-fix release, containing fixes for regressions in
--- 1238,1270 ----
    10. http://gcc.gnu.org/install/
    11. http://gcc.gnu.org/wiki/Visibility
    12. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.1
!   13. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=4.0.2
!   14. http://gcc.gnu.org/ml/gcc-cvs/2005-09/msg00984.html
!   15. mailto:gnu@gnu.org
!   16. http://www.gnu.org/home.html#ContactInfo
!   17. http://gcc.gnu.org/about.html
!   18. http://gcc.gnu.org/onlinedocs/
!   19. mailto:gcc-help@gcc.gnu.org
!   20. mailto:gcc@gnu.org
!   21. mailto:gcc@gcc.gnu.org
!   22. http://gcc.gnu.org/lists.html
!   23. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/index.html
  
                             GCC 3.4 Release Series
  
!    November 30, 2005
  
     The  [1]GNU project and the GCC developers are pleased to announce the
+    release of GCC 3.4.5.
+ 
+    This release is a bug-fix release, containing fixes for regressions in
+    GCC 3.4.4 relative to previous releases of GCC.
+ 
+    May 18, 2005
+ 
+    The  [2]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.4.
  
     This release is a bug-fix release, containing fixes for regressions in
*************** http://gcc.gnu.org/gcc-3.4/index.html
*** 615,621 ****
  
     November 4, 2004
  
!    The  [2]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.3.
  
     This release is a bug-fix release, containing fixes for regressions in
--- 1272,1278 ----
  
     November 4, 2004
  
!    The  [3]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.3.
  
     This release is a bug-fix release, containing fixes for regressions in
*************** http://gcc.gnu.org/gcc-3.4/index.html
*** 623,629 ****
  
     September 6, 2004
  
!    The  [3]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.2.
  
     This release is a bug-fix release, containing fixes for regressions in
--- 1280,1286 ----
  
     September 6, 2004
  
!    The  [4]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.2.
  
     This release is a bug-fix release, containing fixes for regressions in
*************** http://gcc.gnu.org/gcc-3.4/index.html
*** 631,637 ****
  
     July 1, 2004
  
!    The  [4]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.1.
  
     This release is a bug-fix release, containing fixes for regressions in
--- 1288,1294 ----
  
     July 1, 2004
  
!    The  [5]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.1.
  
     This release is a bug-fix release, containing fixes for regressions in
*************** http://gcc.gnu.org/gcc-3.4/index.html
*** 639,667 ****
  
     April 18, 2004
  
!    The  [5]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.0.
  
!    The   GCC  3.4  release  series  includes  numerous  [6]new  features,
!    improvements,  bug  fixes,  and other changes, thanks to an [7]amazing
     group of volunteers.
  
  Release History
  
     GCC 3.4.4
!           May 18, 2005 ([8]changes)
  
     GCC 3.4.3
!           November 4, 2004 ([9]changes)
  
     GCC 3.4.2
!           September 6, 2004 ([10]changes)
  
     GCC 3.4.1
!           July 1, 2004 ([11]changes)
  
     GCC 3.4.0
!           April 18, 2004 ([12]changes)
  
  References and Acknowledgements
  
--- 1296,1327 ----
  
     April 18, 2004
  
!    The  [6]GNU project and the GCC developers are pleased to announce the
     release of GCC 3.4.0.
  
!    The   GCC  3.4  release  series  includes  numerous  [7]new  features,
!    improvements,  bug  fixes,  and other changes, thanks to an [8]amazing
     group of volunteers.
  
  Release History
  
+    GCC 3.4.5
+           November 30, 2005 ([9]changes)
+ 
     GCC 3.4.4
!           May 18, 2005 ([10]changes)
  
     GCC 3.4.3
!           November 4, 2004 ([11]changes)
  
     GCC 3.4.2
!           September 6, 2004 ([12]changes)
  
     GCC 3.4.1
!           July 1, 2004 ([13]changes)
  
     GCC 3.4.0
!           April 18, 2004 ([14]changes)
  
  References and Acknowledgements
  
*************** References and Acknowledgements
*** 669,701 ****
     supports  several  other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A  list of [13]successful builds is updated as new information becomes
     available.
  
     The  GCC  developers would like to thank the numerous people that have
     contributed  new  features, improvements, bug fixes, and other changes
!    as  well  as test results to GCC. This [14]amazing group of volunteers
     is what makes GCC successful.
  
!    For  additional  information  about  GCC  please  refer to the [15]GCC
!    project web site or contact the [16]GCC development mailing list.
  
!    To  obtain  GCC  please  use  [17]our mirror sites, one of the [18]GNU
!    mirror sites, or [19]our CVS server.
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [20]gnu@gnu.org. There
!    are also [21]other ways to contact the FSF.
  
!    These pages are maintained by [22]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [23]GCC   manuals.   If   that   fails,   the
!     [24]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [25]gcc@gnu.org   or
!     [26]gcc@gcc.gnu.org. All of our lists have [27]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
--- 1329,1361 ----
     supports  several  other languages aside from C, it now stands for the
     GNU Compiler Collection.
  
!    A  list of [15]successful builds is updated as new information becomes
     available.
  
     The  GCC  developers would like to thank the numerous people that have
     contributed  new  features, improvements, bug fixes, and other changes
!    as  well  as test results to GCC. This [16]amazing group of volunteers
     is what makes GCC successful.
  
!    For  additional  information  about  GCC  please  refer to the [17]GCC
!    project web site or contact the [18]GCC development mailing list.
  
!    To  obtain  GCC  please  use  [19]our mirror sites, one of the [20]GNU
!    mirror sites, or [21]our CVS server.
       _________________________________________________________________
  
!    Please  send FSF & GNU inquiries & questions to [22]gnu@gnu.org. There
!    are also [23]other ways to contact the FSF.
  
!    These pages are maintained by [24]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the    [25]GCC   manuals.   If   that   fails,   the
!     [26]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer    mailing   list   at   [27]gcc@gnu.org   or
!     [28]gcc@gcc.gnu.org. All of our lists have [29]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
*************** References and Acknowledgements
*** 703,709 ****
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-07-11 [28]Valid XHTML 1.0 
  
  References
  
--- 1363,1369 ----
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2006-01-18 [30]Valid XHTML 1.0 
  
  References
  
*************** References
*** 712,747 ****
     3. http://www.gnu.org/
     4. http://www.gnu.org/
     5. http://www.gnu.org/
!    6. http://gcc.gnu.org/gcc-3.4/changes.html
!    7. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    8. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
!    9. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.3
!   10. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.2
!   11. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1
!   12. http://gcc.gnu.org/gcc-3.4/changes.html
!   13. http://gcc.gnu.org/gcc-3.4/buildstat.html
!   14. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   15. http://gcc.gnu.org/index.html
!   16. mailto:gcc@gcc.gnu.org
!   17. http://gcc.gnu.org/mirrors.html
!   18. http://www.gnu.org/order/ftp.html
!   19. http://gcc.gnu.org/cvs.html
!   20. mailto:gnu@gnu.org
!   21. http://www.gnu.org/home.html#ContactInfo
!   22. http://gcc.gnu.org/about.html
!   23. http://gcc.gnu.org/onlinedocs/
!   24. mailto:gcc-help@gcc.gnu.org
!   25. mailto:gcc@gnu.org
!   26. mailto:gcc@gcc.gnu.org
!   27. http://gcc.gnu.org/lists.html
!   28. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/changes.html
  
                             GCC 3.4 Release Series
                        Changes, New Features, and Fixes
  
!    The latest release in the 3.4 release series is [1]GCC 3.4.4.
  
     GCC 3.4 has [2]many improvements in the C++ frontend. Before reporting
     a  bug,  please  make sure it's really GCC, and not your code, that is
--- 1372,1409 ----
     3. http://www.gnu.org/
     4. http://www.gnu.org/
     5. http://www.gnu.org/
!    6. http://www.gnu.org/
!    7. http://gcc.gnu.org/gcc-3.4/changes.html
!    8. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!    9. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5
!   10. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
!   11. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.3
!   12. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.2
!   13. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.1
!   14. http://gcc.gnu.org/gcc-3.4/changes.html
!   15. http://gcc.gnu.org/gcc-3.4/buildstat.html
!   16. http://gcc.gnu.org/onlinedocs/gcc/Contributors.html
!   17. http://gcc.gnu.org/index.html
!   18. mailto:gcc@gcc.gnu.org
!   19. http://gcc.gnu.org/mirrors.html
!   20. http://www.gnu.org/order/ftp.html
!   21. http://gcc.gnu.org/cvs.html
!   22. mailto:gnu@gnu.org
!   23. http://www.gnu.org/home.html#ContactInfo
!   24. http://gcc.gnu.org/about.html
!   25. http://gcc.gnu.org/onlinedocs/
!   26. mailto:gcc-help@gcc.gnu.org
!   27. mailto:gcc@gnu.org
!   28. mailto:gcc@gcc.gnu.org
!   29. http://gcc.gnu.org/lists.html
!   30. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.4/changes.html
  
                             GCC 3.4 Release Series
                        Changes, New Features, and Fixes
  
!    The latest release in the 3.4 release series is [1]GCC 3.4.5.
  
     GCC 3.4 has [2]many improvements in the C++ frontend. Before reporting
     a  bug,  please  make sure it's really GCC, and not your code, that is
*************** GCC 3.4.4
*** 2310,2327 ****
     been fixed are not listed here).
       _________________________________________________________________
  
!    Please send FSF & GNU inquiries & questions to [313]gnu@gnu.org. There
!    are also [314]other ways to contact the FSF.
  
!    These pages are maintained by [315]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the   [316]GCC   manuals.   If   that   fails,   the
!     [317]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer   mailing   list   at   [318]gcc@gnu.org   or
!     [319]gcc@gcc.gnu.org. All of our lists have [320]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
--- 2972,3172 ----
     been fixed are not listed here).
       _________________________________________________________________
  
! GCC 3.4.5
  
!    This is the [313]list of problem reports (PRs) from GCC's bug tracking
!    system  that  are  known  to  be fixed in the 3.4.5 release. This list
!    might not be complete (that is, it is possible that some PRs that have
!    been fixed are not listed here).
! 
!     Bootstrap issues
! 
!      * [314]24688 sco_math fixincl breaks math.h
! 
!     C compiler bugs
! 
!      * [315]17188 struct Foo { } redefinition
!      * [316]20187   wrong   code   for   ((unsigned  char)(unsigned  long
!        long)((a?a:1)&(a*b)))?0:1)
!      * [317]21873 infinite warning loop on bad array initializer
!      * [318]21899 enum definition accepts values to be overriden
!      * [319]22061 ICE in find_function_data, in function.c
!      * [320]22308 Failure to diagnose violation of constraint 6.516p2
!      * [321]22458 ICE on missing brace
!      * [322]22589 ICE casting to long long
!      * [323]24101 Segfault with preprocessed source
! 
!     C++ compiler and library bugs
! 
!      * [324]10611 operations on vector mode not recognized in C++
!      * [325]13377 unexpected behavior of namespace usage directive
!      * [326]16002 Strange error message with new parser
!      * [327]17413 local classes as template argument
!      * [328]17609 spurious error message after using keyword
!      * [329]17618 ICE in cp_convert_to_pointer, in cp/cvt.c
!      * [330]18124 ICE with invalid template template parameter
!      * [331]18155 typedef in template declaration not rejected
!      * [332]18177 ICE with const_cast for undeclared variable
!      * [333]18368 C++ error message regression
!      * [334]16378 ICE when returning a copy of a packed member
!      * [335]18466 int ::i; accepted
!      * [336]18512 ICE on invalid usage of template base class
!      * [337]18454 ICE when returning undefined type
!      * [338]18738 typename not allowed with non-dependent qualified name
!      * [339]18803 rejects access to operator() in template
!      * [340]19004 ICE in uses_template_parms, in cp/pt.c
!      * [341]19208 Spurious error about variably modified type
!      * [342]18253 bad error message / ICE for invalid template parameter
!      * [343]19608 ICE after friend function definition in local class
!      * [344]19884   ICE  on  explicit  instantiation  of  a  non-template
!        constructor
!      * [345]20153 ICE when C++ template function contains anonymous union
!      * [346]20563  Infinite  loop  in  diagnostic  (and  ice  after error
!        message)
!      * [347]20789 ICE with incomplete type in template
!      * [348]21336 Internal compiler error when using custom new operators
!      * [349]21768  ICE  in  error  message  due  to  violation  of coding
!        conventions
!      * [350]21853 constness of pointer to data member ignored
!      * [351]21903   Default   argument  of  template  function  causes  a
!        compile-time error
!      * [352]21983 multiple diagnostics
!      * [353]21987 New testsuite failure
!        g++.dg/warn/conversion-function-1.C
!      * [354]22153 ICE on invalid template specialization
!      * [355]22172 Internal compiler error, seg fault.
!      * [356]21286 filebuf::xsgetn vs pipes
!      * [357]22233 ICE with wrong number of template parameters
!      * [358]22508 ICE after invalid operator new
!      * [359]22545  ICE  with  pointer  to  class  member  &  user defined
!        conversion operator
!      * [360]23528 Wrong default allocator in ext/hash_map
!      * [361]23550 char_traits requirements/1.cc test bad math
!      * [362]23586 Bad diagnostic for invalid namespace-name
!      * [363]23624 ICE in invert_truthvalue, in fold-const.c
!      * [364]23639  Bad  error  message:  not  a  member  of '<declaration
!        error>'
!      * [365]23797 ICE on typename outside template
!      * [366]23965  Bogus  error message: no matching function for call to
!        'foo(<type error>)'
!      * [367]24052  &#`label_decl'  not supported by dump_expr#<expression
!        error>
!      * [368]24580 virtual base class cause exception not to be caught
! 
!     Problems in generated debug information
! 
!      * [369]24267 Bad DWARF for altivec vectors
! 
!     Optimizations issues
! 
!      * [370]17810 ICE in verify_local_live_at_start
!      * [371]17860 Wrong generated code for loop with varying bound
!      * [372]21709 ICE on compile-time complex NaN
!      * [373]21964 broken tail call at -O2 or more
!      * [374]22167 Strange optimization bug when using -Os
!      * [375]22619    Compilation    failure    for   real_const_1.f   and
!        real_const_2.f90
!      * [376]23241 Invalid code generated for comparison of uchar to 255
!      * [377]23478  Miscompilation  due to reloading of a var that is also
!        used in EH pad
!      * [378]24470 segmentation fault in cc1plus when compiling with -O
!      * [379]24950 ICE in operand_subword_force
! 
!     Precompiled headers problems
! 
!      * [380]14400 Cannot compile qt-x11-free-3.3.0
!      * [381]14940 PCH largefile test fails on various platforms
! 
!     Preprocessor bugs
! 
!      * [382]20239 ICE on empty preprocessed input
!      * [383]15220  "gcc  -E  -MM  -MG"  reports missing system headers in
!        source directory
! 
!     Testsuite issues
! 
!      * [384]19275   gcc.dg/20020919-1.c   fails   with   -fpic/-fPIC   on
!        i686-pc-linux-gnu
! 
!     Alpha specific
! 
!      * [385]21888 bootstrap failure with linker relaxation enabled
! 
!     ARM specific
! 
!      * [386]15342 [arm-linux]: ICE in verify_local_live_at_start
!      * [387]23985 Memory aliasing information incorrect in inlined memcpy
! 
!     ColdFile specific
! 
!      * [388]16719  Illegal  move  of  byte  into  address register causes
!        compiler to ICE
! 
!     HPPA specific
! 
!      * [389]21723 ICE while building libgfortran
!      * [390]21841 -mhp-ld/-mgnu-ld documentation
! 
!     IA-64 specific
! 
!      * [391]23644   IA-64   hardware  models  and  configuration  options
!        documentation error
!      * [392]24718 Shared libgcc not used for linking by default
! 
!     M68000 specific
! 
!      * [393]18421 ICE in reload_cse_simplify_operands, in postreload.c
! 
!     MIPS specific
! 
!      * [394]20621 ICE in change_address_1, in emit-rtl.c
! 
!     PowerPC and PowerPC64 specific
! 
!      * [395]18583 error on valid code: const
!        __attribute__((altivec(vector__))) doesn't work in arrays
!      * [396]20191 ICE in reload_cse_simplify_operands
!      * [397]22083 AIX: TARGET_C99_FUNCTIONS is wrongly defined
!      * [398]23070 CALL_V4_CLEAR_FP_ARGS flag not properly set
!      * [399]23404 gij trashes args of functions with more than 8 fp args
!      * [400]23539  C  &  C++  compiler  generating  misaligned references
!        regardless of compiler flags
!      * [401]24102 floatdisf2_internal2 broken
!      * [402]24465 -mminimal-toc miscompilation of __thread vars
! 
!     Solaris specific
! 
!      * [403]19933 Problem with define of HUGE_VAL in math_c99
!      * [404]21889 Native Solaris assembler cannot grok DTP-relative debug
!        symbols
! 
!     SPARC specific
! 
!      * [405]19300 PCH failures on sparc-linux
!      * [406]20301 Assembler labels have a leading "-"
!      * [407]20673 C PCH testsuite assembly comparison failure
! 
!     x86 and x86_64 specific
! 
!      * [408]18582 ICE with arrays of type V2DF
!      * [409]19340   Compilation   SEGFAULTs  with  -O1  -fschedule-insns2
!        -fsched2-use-traces
!      * [410]21716 ICE in reg-stack.c's swap_rtx_condition
!      * [411]24315 amd64 fails -fpeephole2
!      _________________________________________________________________
! 
!    Please send FSF & GNU inquiries & questions to [412]gnu@gnu.org. There
!    are also [413]other ways to contact the FSF.
! 
!    These pages are maintained by [414]the GCC team.
  
  
      For  questions  related  to the use of GCC, please consult these web
!     pages    and    the   [415]GCC   manuals.   If   that   fails,   the
!     [416]gcc-help@gcc.gnu.org mailing list might help.
      Please  send  comments on these web pages and the development of GCC
!     to    our    developer   mailing   list   at   [417]gcc@gnu.org   or
!     [418]gcc@gcc.gnu.org. All of our lists have [419]public archives.
  
     Copyright  (C)  Free  Software Foundation, Inc., 51 Franklin St, Fifth
     Floor, Boston, MA 02110, USA.
*************** GCC 3.4.4
*** 2329,2339 ****
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-07-11 [321]Valid XHTML 1.0 
  
  References
  
!    1. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4
     2. http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
     3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
     4. http://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems
--- 3174,3184 ----
     Verbatim  copying and distribution of this entire article is permitted
     in any medium, provided this notice is preserved.
  
!    Last modified 2005-12-07 [420]Valid XHTML 1.0 
  
  References
  
!    1. http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5
     2. http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus
     3. http://gcc.gnu.org/gcc-3.3/changes.html#obsolete_systems
     4. http://gcc.gnu.org/gcc-3.4/changes.html#obsolete_systems
*************** References
*** 2645,2659 ****
   310. http://gcc.gnu.org/PR15747
   311. http://gcc.gnu.org/PR16406
   312. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.4
!  313. mailto:gnu@gnu.org
!  314. http://www.gnu.org/home.html#ContactInfo
!  315. http://gcc.gnu.org/about.html
!  316. http://gcc.gnu.org/onlinedocs/
!  317. mailto:gcc-help@gcc.gnu.org
!  318. mailto:gcc@gnu.org
!  319. mailto:gcc@gcc.gnu.org
!  320. http://gcc.gnu.org/lists.html
!  321. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.3/index.html
  
--- 3490,3603 ----
   310. http://gcc.gnu.org/PR15747
   311. http://gcc.gnu.org/PR16406
   312. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.4
!  313. http://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=3.4.5
!  314. http://gcc.gnu.org/PR24688
!  315. http://gcc.gnu.org/PR17188
!  316. http://gcc.gnu.org/PR20187
!  317. http://gcc.gnu.org/PR21873
!  318. http://gcc.gnu.org/PR21899
!  319. http://gcc.gnu.org/PR22061
!  320. http://gcc.gnu.org/PR22208
!  321. http://gcc.gnu.org/PR22458
!  322. http://gcc.gnu.org/PR22589
!  323. http://gcc.gnu.org/PR24101
!  324. http://gcc.gnu.org/PR10611
!  325. http://gcc.gnu.org/PR13377
!  326. http://gcc.gnu.org/PR16002
!  327. http://gcc.gnu.org/PR17413
!  328. http://gcc.gnu.org/PR17609
!  329. http://gcc.gnu.org/PR17618
!  330. http://gcc.gnu.org/PR18124
!  331. http://gcc.gnu.org/PR18155
!  332. http://gcc.gnu.org/PR18177
!  333. http://gcc.gnu.org/PR18368
!  334. http://gcc.gnu.org/PR18378
!  335. http://gcc.gnu.org/PR18466
!  336. http://gcc.gnu.org/PR18512
!  337. http://gcc.gnu.org/PR18545
!  338. http://gcc.gnu.org/PR18738
!  339. http://gcc.gnu.org/PR18803
!  340. http://gcc.gnu.org/PR19004
!  341. http://gcc.gnu.org/PR19208
!  342. http://gcc.gnu.org/PR19253
!  343. http://gcc.gnu.org/PR19608
!  344. http://gcc.gnu.org/PR19884
!  345. http://gcc.gnu.org/PR20153
!  346. http://gcc.gnu.org/PR20563
!  347. http://gcc.gnu.org/PR20789
!  348. http://gcc.gnu.org/PR21336
!  349. http://gcc.gnu.org/PR21768
!  350. http://gcc.gnu.org/PR21853
!  351. http://gcc.gnu.org/PR21903
!  352. http://gcc.gnu.org/PR21983
!  353. http://gcc.gnu.org/PR21987
!  354. http://gcc.gnu.org/PR22153
!  355. http://gcc.gnu.org/PR22172
!  356. http://gcc.gnu.org/PR21286
!  357. http://gcc.gnu.org/PR22233
!  358. http://gcc.gnu.org/PR22508
!  359. http://gcc.gnu.org/PR22545
!  360. http://gcc.gnu.org/PR23528
!  361. http://gcc.gnu.org/PR23550
!  362. http://gcc.gnu.org/PR23586
!  363. http://gcc.gnu.org/PR23624
!  364. http://gcc.gnu.org/PR23639
!  365. http://gcc.gnu.org/PR23797
!  366. http://gcc.gnu.org/PR23965
!  367. http://gcc.gnu.org/PR24052
!  368. http://gcc.gnu.org/PR24580
!  369. http://gcc.gnu.org/PR24267
!  370. http://gcc.gnu.org/PR17810
!  371. http://gcc.gnu.org/PR17860
!  372. http://gcc/gnu.org/PR21709
!  373. http://gcc.gnu.org/PR21964
!  374. http://gcc.gnu.org/PR22167
!  375. http://gcc.gnu.org/PR22619
!  376. http://gcc.gnu.org/PR23241
!  377. http://gcc.gnu.org/PR23478
!  378. http://gcc.gnu.org/PR24470
!  379. http://gcc.gnu.org/PR24950
!  380. http://gcc.gnu.org/PR14400
!  381. http://gcc.gnu.org/PR14940
!  382. http://gcc.gnu.org/PR20239
!  383. http://gcc.gnu.org/PR15220
!  384. http://gcc.gnu.org/PR19275
!  385. http://gcc.gnu.org/PR21888
!  386. http://gcc.gnu.org/PR15342
!  387. http://gcc.gnu.org/PR23985
!  388. http://gcc.gnu.org/PR16719
!  389. http://gcc.gnu.org/PR21723
!  390. http://gcc.gnu.org/PR21841
!  391. http://gcc.gnu.org/PR23644
!  392. http://gcc.gnu.org/PR24718
!  393. http://gcc.gnu.org/PR18421
!  394. http://gcc.gnu.org/PR20621
!  395. http://gcc.gnu.org/PR18583
!  396. http://gcc.gnu.org/PR20191
!  397. http://gcc.gnu.org/PR22083
!  398. http://gcc.gnu.org/PR23070
!  399. http://gcc.gnu.org/PR23404
!  400. http://gcc.gnu.org/PR23539
!  401. http://gcc.gnu.org/PR24102
!  402. http://gcc.gnu.org/PR24465
!  403. http://gcc.gnu.org/PR19933
!  404. http://gcc.gnu.org/PR21889
!  405. http://gcc.gnu.org/PR19300
!  406. http://gcc.gnu.org/PR20301
!  407. http://gcc.gnu.org/PR20673
!  408. http://gcc.gnu.org/PR18582
!  409. http://gcc.gnu.org/PR19340
!  410. http://gcc.gnu.org/PR21716
!  411. http://gcc.gnu.org/PR24315
!  412. mailto:gnu@gnu.org
!  413. http://www.gnu.org/home.html#ContactInfo
!  414. http://gcc.gnu.org/about.html
!  415. http://gcc.gnu.org/onlinedocs/
!  416. mailto:gcc-help@gcc.gnu.org
!  417. mailto:gcc@gnu.org
!  418. mailto:gcc@gcc.gnu.org
!  419. http://gcc.gnu.org/lists.html
!  420. http://validator.w3.org/check/referer
  ======================================================================
  http://gcc.gnu.org/gcc-3.3/index.html
  
diff -Nrcpad gcc-4.0.2/boehm-gc/.cvsignore gcc-4.1.0/boehm-gc/.cvsignore
*** gcc-4.0.2/boehm-gc/.cvsignore	Tue Jun 15 07:42:06 2004
--- gcc-4.1.0/boehm-gc/.cvsignore	Thu Jan  1 00:00:00 1970
***************
*** 1 ****
- autom4te.cache
--- 0 ----
diff -Nrcpad gcc-4.0.2/boehm-gc/ChangeLog gcc-4.1.0/boehm-gc/ChangeLog
*** gcc-4.0.2/boehm-gc/ChangeLog	Wed Sep 21 03:54:54 2005
--- gcc-4.1.0/boehm-gc/ChangeLog	Tue Feb 28 08:29:08 2006
***************
*** 1,6 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
  2005-09-06  Tom Tromey  <tromey@redhat.com>
  
--- 1,33 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
! 
! 2006-02-09  Tom Tromey  <tromey@redhat.com>
! 
! 	* pthread_support.c: Conditionally include dlfcn.h.
! 
! 2006-02-06  Jakub Jelinek  <jakub@redhat.com>
! 	    Anthony Green  <green@redhat.com>
! 	    Tom Tromey  <tromey@redhat.com>
! 
! 	* include/gc_ext_config.h.in: Added GC_PTHREAD_SYM_VERSION.
! 	* include/gc_config.h.in: Rebuilt.
! 	* include/gc_pthread_redirects.h (pthread_create): Conditionally
! 	define.
! 	* pthread_support.c (pthread_create_): New global.
! 	(constr): New function.
! 	(pthread_create): Conditionally renamed.
! 	* configure: Rebuilt.
! 	* configure.ac (GC_PTHREAD_SYM_VERSION): Define.
! 
! 2005-11-01  Bryce McKinlay  <mckinlay@redhat.com>
! 
! 	* include/private/gc_priv.h: Increase MAX_ROOT_SETS to 1024.
! 
! 2005-09-15  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* include/private/gc_locks.h (GC_test_and_set): Change the
! 	constraint of the first operand to '0'.
  
  2005-09-06  Tom Tromey  <tromey@redhat.com>
  
***************
*** 12,34 ****
  
  	* include/private/gcconfig.h (sh-linux): Use LINUX_STACKBOTTOM.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
  2005-05-25  Andrew Haley  <aph@redhat.com>
  
  	* include/private/gcconfig.h (HBLKSIZE): Define to 4096 on
  	powerpc64-linux.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2005-04-12  Richard Henderson  <rth@redhat.com>
  
  	* include/private/gcconfig.h (alpha-linux): Use LINUX_STACKBOTTOM.
  
  2005-03-01  Kelley Cook  <kcook@gcc.gnu.org>
  
  	* Makefile.in, include/Makefile.in: Regenerate.
--- 39,86 ----
  
  	* include/private/gcconfig.h (sh-linux): Use LINUX_STACKBOTTOM.
  
! 2005-06-15  Andreas Tobler  <a.tobler@schweiz.ch>
  
! 	* os_dep.c: Add FreeBSD/PowerPC bits.
! 	(GC_SysVGetDataStart): Likewise.
! 	* include/private/gcconfig.h: Likewise.
  
  2005-05-25  Andrew Haley  <aph@redhat.com>
  
  	* include/private/gcconfig.h (HBLKSIZE): Define to 4096 on
  	powerpc64-linux.
  
! 2005-05-09  Mike Stump  <mrs@apple.com>
  
! 	* configure: Regenerate.
! 
! 2005-04-19  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	* os_dep.c, include/private/gc_locks.h: Import CRIS port by
! 	Simon Posnjak from gc6.4.
! 	* include/private/gcconfig.h: Ditto.  Add M32R note from gc6.4.
! 
! 2005-04-17  David S. Miller  <davem@davemloft.net>
! 
! 	* include/private/gcconfig.h (sparc-linux): Use LINUX_STACKBOTTOM.
! 	* os_dep.c (GC_linux_stack_base): Check for bug present in some
! 	Sparc glibc variants where __libc_stack_end is erroneously set
! 	to "1".  Fallback to procfs code in that case.
! 
! 2005-04-12  Mike Stump  <mrs@apple.com>
! 
! 	* configure: Regenerate.
  
  2005-04-12  Richard Henderson  <rth@redhat.com>
  
  	* include/private/gcconfig.h (alpha-linux): Use LINUX_STACKBOTTOM.
  
+ 2005-03-23  Mike Stump  <mrs@apple.com>
+ 
+ 	* darwin_stop_world.c: Update for -m64 multilib.
+ 	* include/private/gcconfig.h: Likewise.
+ 	* powerpc_darwin_mach_dep.s: Likewise.
+ 
  2005-03-01  Kelley Cook  <kcook@gcc.gnu.org>
  
  	* Makefile.in, include/Makefile.in: Regenerate.
diff -Nrcpad gcc-4.0.2/boehm-gc/configure gcc-4.1.0/boehm-gc/configure
*** gcc-4.0.2/boehm-gc/configure	Wed Sep 28 06:16:38 2005
--- gcc-4.1.0/boehm-gc/configure	Tue Feb 28 08:39:11 2006
*************** deplibs_check_method=$lt_cv_deplibs_chec
*** 4379,4384 ****
--- 4379,4445 ----
  
  # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
  
+ # find the maximum length of command line arguments
+ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
+ echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6
+ if test "${lt_cv_sys_max_cmd_len+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+     i=0
+   teststring="ABCD"
+ 
+   case $build_os in
+   msdosdjgpp*)
+     # On DJGPP, this test can blow up pretty badly due to problems in libc
+     # (any single argument exceeding 2000 bytes causes a buffer overrun
+     # during glob expansion).  Even if it were fixed, the result of this
+     # check would be larger than it should be.
+     lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+     ;;
+ 
+   cygwin* | mingw*)
+     # On Win9x/ME, this test blows up -- it succeeds, but takes
+     # about 5 minutes as the teststring grows exponentially.
+     # Worse, since 9x/ME are not pre-emptively multitasking,
+     # you end up with a "frozen" computer, even though with patience
+     # the test eventually succeeds (with a max line length of 256k).
+     # Instead, let's just punt: use the minimum linelength reported by
+     # all of the supported platforms: 8192 (on NT/2K/XP).
+     lt_cv_sys_max_cmd_len=8192;
+     ;;
+ 
+   amigaos*)
+     # On AmigaOS with pdksh, this test takes hours, literally.
+     # So we just punt and use a minimum line length of 8192.
+     lt_cv_sys_max_cmd_len=8192;
+     ;;
+ 
+   netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+     # This has been around since 386BSD, at least.  Likely further.
+     if test -x /sbin/sysctl; then
+       lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+     elif test -x /usr/sbin/sysctl; then
+       lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+     else
+       lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
+     fi
+     # And add a safety zone
+     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+     lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+     ;;
+   esac
+ 
+ fi
+ 
+ if test -n "$lt_cv_sys_max_cmd_len" ; then
+   echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
+ echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6
+ else
+   echo "$as_me:$LINENO: result: none" >&5
+ echo "${ECHO_T}none" >&6
+ fi
+ 
+ 
  # Only perform the check for file, if the check method requires it
  case $deplibs_check_method in
  file_magic*)
*************** test x"$pic_mode" = xno && libtool_flags
*** 4712,4718 ****
  case $host in
  *-*-irix6*)
    # Find out which ABI we are using.
!   echo '#line 4715 "configure"' > conftest.$ac_ext
    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    (eval $ac_compile) 2>&5
    ac_status=$?
--- 4773,4779 ----
  case $host in
  *-*-irix6*)
    # Find out which ABI we are using.
!   echo '#line 4776 "configure"' > conftest.$ac_ext
    if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
    (eval $ac_compile) 2>&5
    ac_status=$?
*************** _ACEOF
*** 6566,6571 ****
--- 6627,6655 ----
  
  fi
  
+ symver=
+ case "$target" in
+   *-*-linux* )
+     cat > conftest.c <<EOF
+ #include <pthread.h>
+ void *tf (void *arg) { (void) arg; return NULL; }
+ int main (void) { pthread_t th; pthread_create (&th, NULL, tf, NULL); return 0; }
+ EOF
+     if $CC $CFLAGS -pthread -o conftest conftest.c > /dev/null 2>&1; then
+       symver=`readelf -s conftest 2> /dev/null | sed -n '/UND pthread_create@/{s/^.*@//;s/ .*$//;p;q}'`
+     fi
+     rm -f conftest conftest.c
+     ;;
+ esac
+ if test -n "$symver"; then
+ 
+ cat >>confdefs.h <<_ACEOF
+ #define GC_PTHREAD_SYM_VERSION "$symver"
+ _ACEOF
+ 
+ fi
+ 
+ 
  if test -n "$with_cross_host" &&
     test x"$with_cross_host" != x"no"; then
    toolexecdir='$(exec_prefix)/$(target_noncanonical)'
diff -Nrcpad gcc-4.0.2/boehm-gc/configure.ac gcc-4.1.0/boehm-gc/configure.ac
*** gcc-4.0.2/boehm-gc/configure.ac	Wed Feb 16 04:10:41 2005
--- gcc-4.1.0/boehm-gc/configure.ac	Tue Feb  7 01:05:55 2006
*************** if test "${gc_use_mmap}" = "yes"; then
*** 450,455 ****
--- 450,474 ----
    AC_DEFINE(USE_MMAP, 1, [use MMAP instead of sbrk to get new memory])
  fi
  
+ symver=
+ case "$target" in
+   *-*-linux* )
+     cat > conftest.c <<EOF
+ #include <pthread.h>
+ void *tf (void *arg) { (void) arg; return NULL; }
+ int main (void) { pthread_t th; pthread_create (&th, NULL, tf, NULL); return 0; }
+ EOF
+     if $CC $CFLAGS -pthread -o conftest conftest.c > /dev/null 2>&1; then
+       symver=`readelf -s conftest 2> /dev/null | sed -n '/UND pthread_create@/{s/^.*@//;s/ .*$//;p;q}'`
+     fi
+     rm -f conftest conftest.c
+     ;;
+ esac
+ if test -n "$symver"; then
+   AC_DEFINE_UNQUOTED(GC_PTHREAD_SYM_VERSION, "$symver", [symbol version of pthread_create])
+ fi
+ 
+ 
  if test -n "$with_cross_host" &&
     test x"$with_cross_host" != x"no"; then
    toolexecdir='$(exec_prefix)/$(target_noncanonical)'
diff -Nrcpad gcc-4.0.2/boehm-gc/darwin_stop_world.c gcc-4.1.0/boehm-gc/darwin_stop_world.c
*** gcc-4.0.2/boehm-gc/darwin_stop_world.c	Fri Aug 13 23:05:29 2004
--- gcc-4.1.0/boehm-gc/darwin_stop_world.c	Thu Mar 24 00:48:39 2005
***************
*** 1,5 ****
--- 1,7 ----
  #include "private/pthread_support.h"
  
+ /* This probably needs more porting work to ppc64. */
+ 
  # if defined(GC_DARWIN_THREADS)
  
  /* From "Inside Mac OS X - Mach-O Runtime Architecture" published by Apple
***************
*** 14,26 ****
  */
  #define PPC_RED_ZONE_SIZE 224
  
- /* Not 64-bit clean. Wait until Apple defines their 64-bit ABI */
  typedef struct StackFrame {
!   unsigned int	savedSP;
!   unsigned int	savedCR;
!   unsigned int	savedLR;
!   unsigned int	reserved[2];
!   unsigned int	savedRTOC;
  } StackFrame;
  
  
--- 16,27 ----
  */
  #define PPC_RED_ZONE_SIZE 224
  
  typedef struct StackFrame {
!   unsigned long	savedSP;
!   unsigned long	savedCR;
!   unsigned long	savedLR;
!   unsigned long	reserved[2];
!   unsigned long	savedRTOC;
  } StackFrame;
  
  
diff -Nrcpad gcc-4.0.2/boehm-gc/include/gc_config.h.in gcc-4.1.0/boehm-gc/include/gc_config.h.in
*** gcc-4.0.2/boehm-gc/include/gc_config.h.in	Wed Feb 16 04:10:42 2005
--- gcc-4.1.0/boehm-gc/include/gc_config.h.in	Tue Feb  7 01:05:55 2006
***************
*** 45,50 ****
--- 45,53 ----
  /* support for Tru64 pthreads */
  #undef GC_OSF1_THREADS
  
+ /* symbol version of pthread_create */
+ #undef GC_PTHREAD_SYM_VERSION
+ 
  /* support for Solaris pthreads */
  #undef GC_SOLARIS_PTHREADS
  
diff -Nrcpad gcc-4.0.2/boehm-gc/include/gc_ext_config.h.in gcc-4.1.0/boehm-gc/include/gc_ext_config.h.in
*** gcc-4.0.2/boehm-gc/include/gc_ext_config.h.in	Sun Jan  2 03:35:57 2005
--- gcc-4.1.0/boehm-gc/include/gc_ext_config.h.in	Tue Feb  7 01:05:55 2006
*************** external clients that do not want to inc
*** 3,5 ****
--- 3,7 ----
  is used by libjava/include/boehm-gc.h. */
  
  #undef THREAD_LOCAL_ALLOC
+ 
+ #undef GC_PTHREAD_SYM_VERSION
diff -Nrcpad gcc-4.0.2/boehm-gc/include/gc_pthread_redirects.h gcc-4.1.0/boehm-gc/include/gc_pthread_redirects.h
*** gcc-4.0.2/boehm-gc/include/gc_pthread_redirects.h	Mon Jul 28 04:18:23 2003
--- gcc-4.1.0/boehm-gc/include/gc_pthread_redirects.h	Tue Feb  7 01:05:55 2006
***************
*** 68,74 ****
--- 68,76 ----
  # undef pthread_detach
  #endif
  
+ #ifndef GC_PTHREAD_SYM_VERSION
  # define pthread_create GC_pthread_create
+ #endif
  # define pthread_join GC_pthread_join
  # define pthread_detach GC_pthread_detach
  
diff -Nrcpad gcc-4.0.2/boehm-gc/include/private/gc_locks.h gcc-4.1.0/boehm-gc/include/private/gc_locks.h
*** gcc-4.0.2/boehm-gc/include/private/gc_locks.h	Mon Jul 28 04:18:23 2003
--- gcc-4.1.0/boehm-gc/include/private/gc_locks.h	Thu Sep 15 22:35:52 2005
***************
*** 209,220 ****
            /* See linuxthreads/sysdeps/arm/pt-machine.h in glibc-2.1 */
            __asm__ __volatile__("swp %0, %1, [%2]"
        		  	     : "=r"(oldval)
!       			     : "r"(1), "r"(addr)
  			     : "memory");
            return oldval;
          }
  #       define GC_TEST_AND_SET_DEFINED
  #    endif /* ARM32 */
  #    ifdef S390
         inline static int GC_test_and_set(volatile unsigned int *addr) {
           int ret;
--- 209,244 ----
            /* See linuxthreads/sysdeps/arm/pt-machine.h in glibc-2.1 */
            __asm__ __volatile__("swp %0, %1, [%2]"
        		  	     : "=r"(oldval)
!       			     : "0"(1), "r"(addr)
  			     : "memory");
            return oldval;
          }
  #       define GC_TEST_AND_SET_DEFINED
  #    endif /* ARM32 */
+ #    ifdef CRIS
+         inline static int GC_test_and_set(volatile unsigned int *addr) {
+ 	  /* Ripped from linuxthreads/sysdeps/cris/pt-machine.h.	*/
+ 	  /* Included with Hans-Peter Nilsson's permission.		*/
+ 	  register unsigned long int ret;
+ 
+ 	  /* Note the use of a dummy output of *addr to expose the write.
+ 	   * The memory barrier is to stop *other* writes being moved past
+ 	   * this code.
+ 	   */
+ 	    __asm__ __volatile__("clearf\n"
+         		         "0:\n\t"
+                     		 "movu.b [%2],%0\n\t"
+                     		 "ax\n\t"
+                     		 "move.b %3,[%2]\n\t"
+                     		 "bwf 0b\n\t"
+                     		 "clearf"
+                     		 : "=&r" (ret), "=m" (*addr)
+                     		 : "r" (addr), "r" ((int) 1), "m" (*addr)
+                     		 : "memory");
+ 	    return ret;
+         }
+ #       define GC_TEST_AND_SET_DEFINED
+ #    endif /* CRIS */
  #    ifdef S390
         inline static int GC_test_and_set(volatile unsigned int *addr) {
           int ret;
diff -Nrcpad gcc-4.0.2/boehm-gc/include/private/gc_priv.h gcc-4.1.0/boehm-gc/include/private/gc_priv.h
*** gcc-4.0.2/boehm-gc/include/private/gc_priv.h	Wed Feb 16 04:10:42 2005
--- gcc-4.1.0/boehm-gc/include/private/gc_priv.h	Wed Nov  2 00:06:30 2005
*************** struct hblk {
*** 760,776 ****
  # ifdef LARGE_CONFIG
  #   define MAX_ROOT_SETS 4096
  # else
! #   ifdef PCR
! #     define MAX_ROOT_SETS 1024
! #   else
! #     if defined(MSWIN32) || defined(MSWINCE)
! #	define MAX_ROOT_SETS 1024
! 	    /* Under NT, we add only written pages, which can result 	*/
! 	    /* in many small root sets.					*/
! #     else
! #       define MAX_ROOT_SETS 256
! #     endif
! #   endif
  # endif
  
  # define MAX_EXCLUSIONS (MAX_ROOT_SETS/4)
--- 760,768 ----
  # ifdef LARGE_CONFIG
  #   define MAX_ROOT_SETS 4096
  # else
!     /* GCJ LOCAL: MAX_ROOT_SETS increased to permit more shared */
!     /* libraries to be loaded.                                  */ 
! #   define MAX_ROOT_SETS 1024
  # endif
  
  # define MAX_EXCLUSIONS (MAX_ROOT_SETS/4)
diff -Nrcpad gcc-4.0.2/boehm-gc/include/private/gcconfig.h gcc-4.1.0/boehm-gc/include/private/gcconfig.h
*** gcc-4.0.2/boehm-gc/include/private/gcconfig.h	Tue Sep  6 14:21:25 2005
--- gcc-4.1.0/boehm-gc/include/private/gcconfig.h	Tue Sep  6 14:22:01 2005
***************
*** 229,238 ****
--- 229,248 ----
  #    define ARM32
  #    define mach_type_known
  # endif
+ # if defined(LINUX) && defined(__cris__)
+ #    ifndef CRIS
+ #	define CRIS
+ #    endif
+ #    define mach_type_known
+ # endif
  # if defined(LINUX) && (defined(powerpc) || defined(__powerpc__) || defined(powerpc64) || defined(__powerpc64__))
  #    define POWERPC
  #    define mach_type_known
  # endif
+ # if defined(FREEBSD) && (defined(powerpc) || defined(__powerpc__))
+ #    define POWERPC
+ #    define mach_type_known
+ # endif
  # if defined(LINUX) && defined(__mc68000__)
  #    define M68K
  #    define mach_type_known
***************
*** 277,284 ****
  #   define MACOS
  #   define mach_type_known
  # endif
! # if defined(macosx) || \
!      defined(__APPLE__) && defined(__MACH__) && defined(__ppc__)
  #    define DARWIN
  #    define POWERPC
  #    define mach_type_known
--- 287,295 ----
  #   define MACOS
  #   define mach_type_known
  # endif
! # if defined(macosx) \
!      || defined(__APPLE__) && defined(__MACH__) && defined(__ppc__) \
!      || defined(__APPLE__) && defined(__MACH__) && defined(__ppc64__)
  #    define DARWIN
  #    define POWERPC
  #    define mach_type_known
***************
*** 475,480 ****
--- 486,493 ----
  		    /*		   POWERPC    ==> IBM/Apple PowerPC	*/
  		    /*			(MACOS(<=9),DARWIN(incl.MACOSX),*/
  		    /*			 LINUX, NETBSD, NOSYS variants)	*/
+ 		    /*		   CRIS       ==> Axis Etrax		*/
+ 		    /*		   M32R	      ==> Renesas M32R		*/
  
  
  /*
***************
*** 757,763 ****
  #     define DATAEND (_end)
  #   endif
  #   ifdef DARWIN
! #     define ALIGNMENT 4
  #     define OS_TYPE "DARWIN"
  #     define DYNAMIC_LOADING
        /* XXX: see get_end(3), get_etext() and get_end() should not be used.
--- 770,781 ----
  #     define DATAEND (_end)
  #   endif
  #   ifdef DARWIN
! #     if (defined (__ppc64__))
! #       define ALIGNMENT 8
! #       define CPP_WORDSZ 64
! #     else
! #       define ALIGNMENT 4
! #     endif
  #     define OS_TYPE "DARWIN"
  #     define DYNAMIC_LOADING
        /* XXX: see get_end(3), get_etext() and get_end() should not be used.
***************
*** 784,789 ****
--- 802,823 ----
           should be looked into some more */
  #     define NO_PTHREAD_TRYLOCK
  #   endif
+ #   ifdef FREEBSD
+ #       define ALIGNMENT 4
+ #       define OS_TYPE "FREEBSD"
+ #       ifndef GC_FREEBSD_THREADS
+ #           define MPROTECT_VDB
+ #       endif
+ #       define SIG_SUSPEND SIGUSR1
+ #       define SIG_THR_RESTART SIGUSR2
+ #       define FREEBSD_STACKBOTTOM
+ #       ifdef __ELF__
+ #           define DYNAMIC_LOADING
+ #       endif
+         extern char etext[];
+         extern char * GC_FreeBSDGetDataStart();
+ #       define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
+ #   endif
  #   ifdef NETBSD
  #     define ALIGNMENT 4
  #     define OS_TYPE "NETBSD"
***************
*** 1796,1801 ****
--- 1830,1848 ----
  #   endif
  #endif
  
+ # ifdef CRIS
+ #   define MACH_TYPE "CRIS"
+ #   define CPP_WORDSZ 32
+ #   define ALIGNMENT 1
+ #   define OS_TYPE "LINUX"
+ #   define DYNAMIC_LOADING
+ #   define LINUX_STACKBOTTOM
+ #   define USE_GENERIC_PUSH_REGS
+ #   define SEARCH_FOR_DATA_START
+       extern int _end[];
+ #   define DATAEND (_end)
+ # endif
+ 
  # ifdef SH
  #   define MACH_TYPE "SH"
  #   define ALIGNMENT 4
***************
*** 2061,2067 ****
  # endif
  
  # if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(DARWIN) \
! 	     || defined(LINT) || defined(MSWINCE) || defined(ARM32) \
  	     || (defined(I386) && defined(__LCC__))
  	/* Use setjmp based hack to mark from callee-save registers.    */
  	/* The define should move to the individual platform 		*/
--- 2108,2114 ----
  # endif
  
  # if defined(HP_PA) || defined(M88K) || defined(POWERPC) && !defined(DARWIN) \
! 	     || defined(LINT) || defined(MSWINCE) || defined(ARM32) || defined(CRIS) \
  	     || (defined(I386) && defined(__LCC__))
  	/* Use setjmp based hack to mark from callee-save registers.    */
  	/* The define should move to the individual platform 		*/
diff -Nrcpad gcc-4.0.2/boehm-gc/os_dep.c gcc-4.1.0/boehm-gc/os_dep.c
*** gcc-4.0.2/boehm-gc/os_dep.c	Fri Apr 22 18:11:30 2005
--- gcc-4.1.0/boehm-gc/os_dep.c	Wed Jun 15 21:25:54 2005
***************
*** 80,86 ****
  #   define NEED_FIND_LIMIT
  # endif
  
! #if defined(FREEBSD) && defined(I386)
  #  include <machine/trap.h>
  #  if !defined(PCR)
  #    define NEED_FIND_LIMIT
--- 80,86 ----
  #   define NEED_FIND_LIMIT
  # endif
  
! #if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__))
  #  include <machine/trap.h>
  #  if !defined(PCR)
  #    define NEED_FIND_LIMIT
*************** int * etext_addr;
*** 1387,1393 ****
  }
  # endif
  
! # if defined(FREEBSD) && defined(I386) && !defined(PCR)
  /* Its unclear whether this should be identical to the above, or 	*/
  /* whether it should apply to non-X86 architectures.			*/
  /* For now we don't assume that there is always an empty page after	*/
--- 1387,1393 ----
  }
  # endif
  
! # if defined(FREEBSD) && (defined(I386) || defined(powerpc) || defined(__powerpc__)) && !defined(PCR)
  /* Its unclear whether this should be identical to the above, or 	*/
  /* whether it should apply to non-X86 architectures.			*/
  /* For now we don't assume that there is always an empty page after	*/
*************** SIG_PF GC_old_segv_handler;	/* Also old 
*** 2519,2525 ****
  #               if defined(ARM32)
                    char * addr = (char *)sc.fault_address;
  #               else
! 		  --> architecture not supported
  #               endif
  #	      endif
  #	    endif
--- 2519,2529 ----
  #               if defined(ARM32)
                    char * addr = (char *)sc.fault_address;
  #               else
! #		  if defined(CRIS)
! 		    char * addr = (char *)sc.regs.csraddr;
! #		  else
! 		    --> architecture not supported
! #		  endif
  #               endif
  #	      endif
  #	    endif
diff -Nrcpad gcc-4.0.2/boehm-gc/powerpc_darwin_mach_dep.s gcc-4.1.0/boehm-gc/powerpc_darwin_mach_dep.s
*** gcc-4.0.2/boehm-gc/powerpc_darwin_mach_dep.s	Sun Aug 15 21:32:11 2004
--- gcc-4.1.0/boehm-gc/powerpc_darwin_mach_dep.s	Thu Mar 24 00:48:39 2005
***************
*** 1,10 ****
  
  ; GC_push_regs function. Under some optimization levels GCC will clobber
  ; some of the non-volatile registers before we get a chance to save them
  ; therefore, this can't be inline asm.
  
  .text
! 	.align 2
  	.globl _GC_push_regs
  _GC_push_regs:
      
--- 1,21 ----
+ #if defined(__ppc64__)
+ #define MODE_CHOICE(x, y) y
+ #else
+ #define MODE_CHOICE(x, y) x
+ #endif
+ 
+ #define lgu     MODE_CHOICE(lwzu, ldu)
+ 
+ #define g_long  MODE_CHOICE(long, quad)         /* usage is ".g_long" */
+ 
+ #define LOG2_GPR_BYTES  MODE_CHOICE(2,3)        /* log2(GPR_BYTES) */
  
  ; GC_push_regs function. Under some optimization levels GCC will clobber
  ; some of the non-volatile registers before we get a chance to save them
  ; therefore, this can't be inline asm.
  
  .text
! 	.align LOG2_GPR_BYTES
  	.globl _GC_push_regs
  _GC_push_regs:
      
*************** _GC_push_regs:
*** 65,71 ****
  
  .data
  .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
! 	.align 2
  L_GC_push_one$stub:
  	.indirect_symbol _GC_push_one
  	mflr r0
--- 76,82 ----
  
  .data
  .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
! 	.align LOG2_GPR_BYTES
  L_GC_push_one$stub:
  	.indirect_symbol _GC_push_one
  	mflr r0
*************** L0$_GC_push_one:
*** 74,84 ****
  	mflr r11
  	addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
  	mtlr r0
! 	lwzu r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
  	mtctr r12
  	bctr
  .data
  .lazy_symbol_pointer
  L_GC_push_one$lazy_ptr:
  	.indirect_symbol _GC_push_one
! 	.long dyld_stub_binding_helper
--- 85,95 ----
  	mflr r11
  	addis r11,r11,ha16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)
  	mtlr r0
! 	lgu r12,lo16(L_GC_push_one$lazy_ptr-L0$_GC_push_one)(r11)
  	mtctr r12
  	bctr
  .data
  .lazy_symbol_pointer
  L_GC_push_one$lazy_ptr:
  	.indirect_symbol _GC_push_one
! 	.g_long dyld_stub_binding_helper
diff -Nrcpad gcc-4.0.2/boehm-gc/pthread_support.c gcc-4.1.0/boehm-gc/pthread_support.c
*** gcc-4.0.2/boehm-gc/pthread_support.c	Fri Aug 13 23:05:30 2004
--- gcc-4.1.0/boehm-gc/pthread_support.c	Fri Feb 10 01:54:34 2006
***************
*** 47,52 ****
--- 47,59 ----
  /*#define DEBUG_THREADS 1*/
  /*#define GC_ASSERTIONS*/
  
+ #include "gc_config.h"
+ 
+ #ifdef GC_PTHREAD_SYM_VERSION
+ #define _GNU_SOURCE
+ #include <dlfcn.h>
+ #endif
+ 
  # include "gc.h"
  # include "private/pthread_support.h"
  
*************** void * GC_start_routine(void * arg)
*** 1194,1201 ****
      return(result);
  }
  
  int
! WRAP_FUNC(pthread_create)(pthread_t *new_thread,
  		  const pthread_attr_t *attr,
                    void *(*start_routine)(void *), void *arg)
  {
--- 1201,1237 ----
      return(result);
  }
  
+ #ifdef GC_PTHREAD_SYM_VERSION
+ 
+ /* Force constr to execute prior to main().  */
+ static void constr (void) __attribute__ ((constructor));
+ 
+ static int
+ (*pthread_create_)(pthread_t *new_thread,
+ 		   const pthread_attr_t *attr_in,
+ 		   void * (*thread_execp)(void *), void *arg);
+ 
+ static void
+ constr (void)
+ {
+   /* Get a pointer to the real pthread_create.  */
+   pthread_create_ = dlvsym (RTLD_NEXT, "pthread_create",
+ 			    GC_PTHREAD_SYM_VERSION);
+ }
+ 
+ #define GC_PTHREAD_CREATE_NAME pthread_create
+ #define GC_PTHREAD_REAL_NAME (*pthread_create_)
+ 
+ #else
+ 
+ #define GC_PTHREAD_CREATE_NAME WRAP_FUNC(pthread_create)
+ #define GC_PTHREAD_REAL_NAME REAL_FUNC(pthread_create)
+ 
+ #endif
+ 
+ 
  int
! GC_PTHREAD_CREATE_NAME(pthread_t *new_thread,
  		  const pthread_attr_t *attr,
                    void *(*start_routine)(void *), void *arg)
  {
*************** WRAP_FUNC(pthread_create)(pthread_t *new
*** 1250,1256 ****
  		   pthread_self());
  #   endif
  
!     result = REAL_FUNC(pthread_create)(new_thread, attr, GC_start_routine, si);
  
  #   ifdef DEBUG_THREADS
          GC_printf1("Started thread 0x%X\n", *new_thread);
--- 1286,1292 ----
  		   pthread_self());
  #   endif
  
!     result = GC_PTHREAD_REAL_NAME(new_thread, attr, GC_start_routine, si);
  
  #   ifdef DEBUG_THREADS
          GC_printf1("Started thread 0x%X\n", *new_thread);
diff -Nrcpad gcc-4.0.2/compile gcc-4.1.0/compile
*** gcc-4.0.2/compile	Tue Nov 16 01:04:30 2004
--- gcc-4.1.0/compile	Thu Jul 14 01:08:13 2005
***************
*** 1,9 ****
  #! /bin/sh
  # Wrapper for compilers which do not understand `-c -o'.
  
! scriptversion=2004-10-12.08
  
! # Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
  # Written by Tom Tromey <tromey@cygnus.com>.
  #
  # This program is free software; you can redistribute it and/or modify
--- 1,9 ----
  #! /bin/sh
  # Wrapper for compilers which do not understand `-c -o'.
  
! scriptversion=2005-05-14.22
  
! # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
  # Written by Tom Tromey <tromey@cygnus.com>.
  #
  # This program is free software; you can redistribute it and/or modify
*************** scriptversion=2004-10-12.08
*** 18,24 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
--- 18,24 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
*************** right script to run: please start by rea
*** 47,57 ****
  
  Report bugs to <bug-automake@gnu.org>.
  EOF
!     exit 0
      ;;
    -v | --v*)
      echo "compile $scriptversion"
!     exit 0
      ;;
  esac
  
--- 47,57 ----
  
  Report bugs to <bug-automake@gnu.org>.
  EOF
!     exit $?
      ;;
    -v | --v*)
      echo "compile $scriptversion"
!     exit $?
      ;;
  esac
  
diff -Nrcpad gcc-4.0.2/config/ChangeLog gcc-4.1.0/config/ChangeLog
*** gcc-4.0.2/config/ChangeLog	Wed Sep 21 03:54:58 2005
--- gcc-4.1.0/config/ChangeLog	Tue Feb 28 08:29:43 2006
***************
*** 1,10 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
  2005-05-12  Ryota Kunisawa  <kunisawa@access.co.jp>
  
--- 1,52 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2006-01-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
! 	PR libfortran/15234: Backport from mainline
! 	2006-01-02  Paolo Bonzini  <bonzini@gnu.org>
! 
!         PR target/25259
!         * stdint.m4: New.
! 
! 2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
! 
!         * acx.m4 (GCC_TARGET_TOOL): New.
! 
! 2005-09-23  Tom Tromey  <tromey@redhat.com>
! 
! 	* enable.m4: New file.
! 	* tls.m4: New file.
! 
! 2005-08-12  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* acx.m4 (NCN_CHECK_TARGET_TOOL, NCN_STRICT_CHECK_TOOL,
! 	NCN_STRICT_CHECK_TARGET_TOOL): Remove.
! 	(NCN_STRICT_CHECK_TOOLS, NCN_STRICT_CHECK_TARGET_TOOLS): New,
! 	based on the deleted macros.
! 
! 2005-07-27  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* mt-gnu (CXXFLAGS): Include SYSROOT_CFLAGS_FOR_TARGET.
! 
! 2005-07-16  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* all files: Update FSF address.
! 
! 2005-06-14  Tom Tromey  <tromey@redhat.com>
! 
! 	PR libgcj/19877:
! 	* no-executables.m4: Call real AC_FUNC_MMAP when cache variable
! 	is set but not 'no'.
! 
! 2005-06-13  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* depstand.m4, lead-dot.m4: New files.
! 
! 2005-05-19  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* accross.m4: Delete file.
  
  2005-05-12  Ryota Kunisawa  <kunisawa@access.co.jp>
  
***************
*** 12,24 ****
  	* warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Add
  	double quotes around GCC variable.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
! 2005-04-16  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* acx.m4 (ACX_PROG_GNAT): Remove spurious break.
  
  2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
  
--- 54,81 ----
  	* warnings.m4 (ACX_PROG_CC_WARNING_ALMOST_PEDANTIC): Add
  	double quotes around GCC variable.
  
! 2005-04-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* acx.m4 (ACX_PROG_GNAT): Remove stray break.
  
! 2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* gcc-lib-path.m4: Remove.
! 
! 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* gxx-include-dir.m4: In all substitutions, leave $(gcc_version)
! 	to be expanded by the Makefile.
! 
! 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* gcc-version.m4: Delete.
! 
! 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR bootstrap/17383
! 	* acx.m4 (GCC_TOPLEV_SUBDIRS): Set HOST_SUBDIR if an in-src
! 	gcc build is going.
  
  2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
  
diff -Nrcpad gcc-4.0.2/config/accross.m4 gcc-4.1.0/config/accross.m4
*** gcc-4.0.2/config/accross.m4	Tue Mar  9 01:16:10 2004
--- gcc-4.1.0/config/accross.m4	Thu Jan  1 00:00:00 1970
***************
*** 1,98 ****
- AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
- [changequote(<<, >>)dnl
- dnl The name to #define.
- define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
- dnl The cache variable name.
- define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
- changequote([, ])dnl
- AC_MSG_CHECKING(size of $1)
- AC_CACHE_VAL(AC_CV_NAME,
- [for ac_size in 4 8 1 2 16 12 $2 ; do # List sizes in rough order of prevalence.
-   AC_TRY_COMPILE([#include "confdefs.h"
- #include <sys/types.h>
- $2
- ], [switch (0) case 0: case (sizeof ($1) == $ac_size):;], AC_CV_NAME=$ac_size)
-   if test x$AC_CV_NAME != x ; then break; fi
- done
- ])
- if test x$AC_CV_NAME = x ; then
-   AC_MSG_ERROR([cannot determine a size for $1])
- fi
- AC_MSG_RESULT($AC_CV_NAME)
- AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
- undefine([AC_TYPE_NAME])dnl
- undefine([AC_CV_NAME])dnl
- ])
- 
- AC_DEFUN([AC_C_BIGENDIAN_CROSS],
- [AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
- [ac_cv_c_bigendian=unknown
- # See if sys/param.h defines the BYTE_ORDER macro.
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/param.h>], [
- #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
-  bogus endian macros
- #endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
- AC_TRY_COMPILE([#include <sys/types.h>
- #include <sys/param.h>], [
- #if BYTE_ORDER != BIG_ENDIAN
-  not big endian
- #endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
- if test $ac_cv_c_bigendian = unknown; then
- AC_TRY_RUN([main () {
-   /* Are we little or big endian?  From Harbison&Steele.  */
-   union
-   {
-     long l;
-     char c[sizeof (long)];
-   } u;
-   u.l = 1;
-   exit (u.c[sizeof (long) - 1] == 1);
- }], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes,
- [ echo $ac_n "cross-compiling... " 2>&AC_FD_MSG ])
- fi])
- if test $ac_cv_c_bigendian = unknown; then
- AC_MSG_CHECKING(to probe for byte ordering)
- [
- cat >conftest.c <<EOF
- short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
- short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
- int main() { _ascii (); _ebcdic (); return 0; }
- EOF
- ] if test -f conftest.c ; then
-      if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then
-         if test `grep -l BIGenDianSyS conftest.o` ; then
-            echo $ac_n ' big endian probe OK, ' 1>&AC_FD_MSG
-            ac_cv_c_bigendian=yes
-         fi
-         if test `grep -l LiTTleEnDian conftest.o` ; then
-            echo $ac_n ' little endian probe OK, ' 1>&AC_FD_MSG
-            if test $ac_cv_c_bigendian = yes ; then
-             ac_cv_c_bigendian=unknown;
-            else
-             ac_cv_c_bigendian=no
-            fi
-         fi
-         echo $ac_n 'guessing bigendian ...  ' >&AC_FD_MSG
-      fi
-   fi
- AC_MSG_RESULT($ac_cv_c_bigendian)
- fi
- if test $ac_cv_c_bigendian = yes; then
-   AC_DEFINE(WORDS_BIGENDIAN, 1, [whether byteorder is bigendian])
-   AC_DEFINE(HOST_WORDS_BIG_ENDIAN, 1,
-   [Define if the host machine stores words of multi-word integers in
-    big-endian order.])
-   BYTEORDER=4321
- else
-   BYTEORDER=1234
- fi
- AC_DEFINE_UNQUOTED(BYTEORDER, $BYTEORDER, [1234 = LIL_ENDIAN, 4321 = BIGENDIAN])
- if test $ac_cv_c_bigendian = unknown; then
-   AC_MSG_ERROR([unknown endianess - sorry, please pre-set ac_cv_c_bigendian])
- fi
- ])
--- 0 ----
diff -Nrcpad gcc-4.0.2/config/acx.m4 gcc-4.1.0/config/acx.m4
*** gcc-4.0.2/config/acx.m4	Sat Apr 16 10:03:26 2005
--- gcc-4.1.0/config/acx.m4	Thu Dec 15 13:59:17 2005
*************** AC_DEFUN([GCC_TOPLEV_SUBDIRS],
*** 76,83 ****
  AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
  # Prefix 'build-' so this never conflicts with target_subdir.
  build_subdir="build-${build_noncanonical}"
! # Not really a subdirectory, but here for completeness.
! host_subdir=.
  # No prefix.
  target_subdir=${target_noncanonical}
  AC_SUBST([build_subdir]) []dnl
--- 76,88 ----
  AC_REQUIRE([_GCC_TOPLEV_NONCANONICAL_BUILD]) []dnl
  # Prefix 'build-' so this never conflicts with target_subdir.
  build_subdir="build-${build_noncanonical}"
! # --srcdir=. covers the toplevel, while "test -d" covers the subdirectories
! if ( test $srcdir = . && test -d gcc ) \
!    || test -d $srcdir/../host-${host_noncanonical}; then
!   host_subdir="host-${host_noncanonical}"
! else
!   host_subdir=.
! fi
  # No prefix.
  target_subdir=${target_noncanonical}
  AC_SUBST([build_subdir]) []dnl
*************** test -n "$target_alias" && ncn_target_to
*** 98,169 ****
  ]) []dnl # _NCN_TOOL_PREFIXES
  
  ####
! # NCN_CHECK_TARGET_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
! # Like AC_CHECK_TOOL, but tries a prefix of the target, not the host.
! # Code is pretty much lifted from autoconf2.53.
  
! AC_DEFUN([NCN_CHECK_TARGET_TOOL],
  [AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
! if test -n "$ncn_target_tool_prefix"; then
!   AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}$2], 
!                 [${ncn_target_tool_prefix}$2], , [$4])
! fi
! if test -z "$ac_cv_prog_$1" ; then
!   ncn_cv_$1=$$1
!   AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [$3], [$4])
!   $1=$ncn_cv_$1
! else
!   $1="$ac_cv_prog_$1"
! fi
! ]) []dnl # NCN_CHECK_TARGET_TOOL
! 
! 
! ####
! # NCN_STRICT_CHECK_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
! # Like AC_CHECK_TOOL, but requires the prefix if build!=host.
  
- AC_DEFUN([NCN_STRICT_CHECK_TOOL],
- [AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
- if test -n "$ncn_tool_prefix"; then
-   AC_CHECK_PROG([$1], [${ncn_tool_prefix}$2], 
-                 [${ncn_tool_prefix}$2], , [$4])
- fi
  if test -z "$ac_cv_prog_$1" ; then
    if test $build = $host ; then
!     ncn_cv_$1=$$1
!     AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [ifelse([$3],[],[$2],[$3])], [$4]) 
!     $1=$ncn_cv_$1
    else
!     $1="ifelse([$3],[],[${ncn_tool_prefix}$2],[$3])"
!   fi
! else
!   $1="$ac_cv_prog_$1"
  fi
! ]) []dnl # NCN_STRICT_CHECK_TOOL
! 
  
  ####
! # NCN_STRICT_CHECK_TARGET_TOOL(variable, prog-to-check-for,[value-if-not-found],[path])
! # Like NCN_CHECK_TARGET_TOOL, but requires the prefix if build!=target.
  
! AC_DEFUN([NCN_STRICT_CHECK_TARGET_TOOL],
  [AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
! if test -n "$ncn_target_tool_prefix"; then
!   AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}$2], 
!                 [${ncn_target_tool_prefix}$2], , [$4])
! fi
  if test -z "$ac_cv_prog_$1" ; then
    if test $build = $target ; then
!     ncn_cv_$1=$$1
!     AC_CHECK_PROG([ncn_cv_$1], [$2], [$2], [ifelse([$3],[],[$2],[$3])], [$4]) 
!     $1=$ncn_cv_$1
    else
!     $1="ifelse([$3],[],[${ncn_target_tool_prefix}$2],[$3])"
!   fi
! else
!   $1="$ac_cv_prog_$1"
  fi
! ]) []dnl # NCN_STRICT_CHECK_TARGET_TOOL
  
  ###
  # AC_PROG_CPP_WERROR
--- 103,160 ----
  ]) []dnl # _NCN_TOOL_PREFIXES
  
  ####
! # NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
! # Like plain AC_CHECK_TOOLS, but require prefix if build!=target.
  
! AC_DEFUN([NCN_STRICT_CHECK_TOOLS],
  [AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
! for ncn_progname in $2; do
!   if test -n "$ncn_tool_prefix"; then
!     AC_CHECK_PROG([$1], [${ncn_tool_prefix}${ncn_progname}], 
!                   [${ncn_tool_prefix}${ncn_progname}], , [$4])
!   fi
!   if test -z "$ac_cv_prog_$1" && test $build = $host ; then
!     AC_CHECK_PROG([$1], [${ncn_progname}], [${ncn_progname}], , [$4]) 
!   fi
!   test -n "$ac_cv_prog_$1" && break
! done
  
  if test -z "$ac_cv_prog_$1" ; then
+   ifelse([$3],[], [set dummy $2
    if test $build = $host ; then
!     $1="[$]2"
    else
!     $1="${ncn_tool_prefix}[$]2"
!   fi], [$1="$3"])
  fi
! ]) []dnl # NCN_STRICT_CHECK_TOOLS
  
  ####
! # NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
! # Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
  
! AC_DEFUN([NCN_STRICT_CHECK_TARGET_TOOLS],
  [AC_REQUIRE([_NCN_TOOL_PREFIXES]) []dnl
! for ncn_progname in $2; do
!   if test -n "$ncn_target_tool_prefix"; then
!     AC_CHECK_PROG([$1], [${ncn_target_tool_prefix}${ncn_progname}], 
!                   [${ncn_target_tool_prefix}${ncn_progname}], , [$4])
!   fi
!   if test -z "$ac_cv_prog_$1" && test $build = $target ; then
!     AC_CHECK_PROG([$1], [${ncn_progname}], [${ncn_progname}], , [$4]) 
!   fi
!   test -n "$ac_cv_prog_$1" && break
! done
! 
  if test -z "$ac_cv_prog_$1" ; then
+   ifelse([$3],[], [set dummy $2
    if test $build = $target ; then
!     $1="[$]2"
    else
!     $1="${ncn_target_tool_prefix}[$]2"
!   fi], [$1="$3"])
  fi
! ]) []dnl # NCN_STRICT_CHECK_TARGET_TOOLS
  
  ###
  # AC_PROG_CPP_WERROR
*************** fi
*** 305,307 ****
--- 296,329 ----
  AC_SUBST(LN)dnl
  ])
  
+ dnl GCC_TARGET_TOOL(PROGRAM, TARGET-VAR, HOST-VAR, IN-TREE-TOOL, LANGUAGE)
+ AC_DEFUN([GCC_TARGET_TOOL],
+ [AC_MSG_CHECKING(where to find the target $1)
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   AC_MSG_RESULT(pre-installed)
+ else
+   ifelse([$4],,,
+   [ok=yes
+   case " ${configdirs} " in
+     *" patsubst([$4], [/.*], []) "*) ;;
+     *) ok=no ;;
+   esac
+   ifelse([$5],,, 
+   [case ,${enable_languages}, in
+     *,$5,*) ;;
+     *) ok=no ;;
+   esac])
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     $2='$$r/$(HOST_SUBDIR)/$4'
+     AC_MSG_RESULT(just compiled)
+   el])if test "x$target" = "x$host"; then
+     # We can use an host tool
+     $2='$($3)'
+     AC_MSG_RESULT(host tool)
+   else
+     # We need a cross tool
+     AC_MSG_RESULT(pre-installed)
+   fi
+ fi])
diff -Nrcpad gcc-4.0.2/config/depstand.m4 gcc-4.1.0/config/depstand.m4
*** gcc-4.0.2/config/depstand.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/config/depstand.m4	Mon Jun 13 08:26:05 2005
***************
*** 0 ****
--- 1,136 ----
+ ##                                                          -*- Autoconf -*-
+ 
+ # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ # Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+ 
+ # serial 8
+ 
+ # Based on depend.m4 from automake 1.9, modified for standalone use in
+ # an environment where GNU make is required. 
+ 
+ # ZW_PROG_COMPILER_DEPENDENCIES
+ # -----------------------------
+ # Variant of _AM_DEPENDENCIES which just does the dependency probe and
+ # sets fooDEPMODE accordingly.  Cache-variable compatible with
+ # original; not side-effect compatible.  As the users of this macro
+ # may require accurate dependencies for correct builds, it does *not*
+ # honor --disable-dependency-checking, and failure to detect a usable
+ # method is an error.  depcomp is assumed to be located in
+ # $ac_aux_dir.
+ #
+ # FIXME: Should use the Autoconf 2.5x language-selection mechanism.
+ 
+ AC_DEFUN([ZW_PROG_COMPILER_DEPENDENCIES],
+ [ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+         [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+         [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+         [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                     [depcc="$$1"   am_compiler_list=])
+ 
+ am_depcomp=$ac_aux_dir/depcomp
+ AC_CACHE_CHECK([dependency style of $depcc],
+                [am_cv_$1_dependencies_compiler_type],
+ [if test -f "$am_depcomp"; then
+   # We make a subdir and do the tests there.  Otherwise we can end up
+   # making bogus files that we don't know about and never remove.  For
+   # instance it was reported that on HP-UX the gcc test will end up
+   # making a dummy file named `D' -- because `-MD' means `put the output
+   # in D'.
+   mkdir conftest.dir
+   # Copy depcomp to subdir because otherwise we won't find it if we're
+   # using a relative directory.
+   cp "$am_depcomp" conftest.dir
+   cd conftest.dir
+   # We will build objects and dependencies in a subdirectory because
+   # it helps to detect inapplicable dependency modes.  For instance
+   # both Tru64's cc and ICC support -MD to output dependencies as a
+   # side effect of compilation, but ICC will put the dependencies in
+   # the current directory while Tru64 will put them in the object
+   # directory.
+   mkdir sub
+ 
+   am_cv_$1_dependencies_compiler_type=none
+   if test "$am_compiler_list" = ""; then
+      am_compiler_list=`sed -n ['s/^\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+   fi
+   for depmode in $am_compiler_list; do
+     if test $depmode = none; then break; fi
+ 
+     _AS_ECHO([$as_me:$LINENO: trying $depmode], AS_MESSAGE_LOG_FD)
+     # Setup a source with many dependencies, because some compilers
+     # like to wrap large dependency lists on column 80 (with \), and
+     # we should not choose a depcomp mode which is confused by this.
+     #
+     # We need to recreate these files for each test, as the compiler may
+     # overwrite some of them when testing with obscure command lines.
+     # This happens at least with the AIX C compiler.
+     : > sub/conftest.c
+     for i in 1 2 3 4 5 6; do
+       echo '#include "conftst'$i'.h"' >> sub/conftest.c
+       # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+       # Solaris 8's {/usr,}/bin/sh.
+       touch sub/conftst$i.h
+     done
+     echo "include sub/conftest.Po" > confmf
+ 
+     # We check with `-c' and `-o' for the sake of the "dashmstdout"
+     # mode.  It turns out that the SunPro C++ compiler does not properly
+     # handle `-M -o', and we need to detect this.
+     depcmd="depmode=$depmode \
+        source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+        $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c"
+     echo "| $depcmd" | sed -e 's/  */ /g' >&AS_MESSAGE_LOG_FD
+     if env $depcmd > conftest.err 2>&1 &&
+        grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 &&
+        grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 &&
+        ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then
+       # icc doesn't choke on unknown options, it will just issue warnings
+       # or remarks (even with -Werror).  So we grep stderr for any message
+       # that says an option was ignored or not supported.
+       # When given -MP, icc 7.0 and 7.1 complain thusly:
+       #   icc: Command line warning: ignoring option '-M'; no argument required
+       # The diagnosis changed in icc 8.0:
+       #   icc: Command line remark: option '-MP' not supported
+       if (grep 'ignoring option' conftest.err ||
+           grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+         am_cv_$1_dependencies_compiler_type=$depmode
+ 	_AS_ECHO([$as_me:$LINENO: success], AS_MESSAGE_LOG_FD)
+         break
+       fi
+     fi
+     _AS_ECHO([$as_me:$LINENO: failure, diagnostics are:], AS_MESSAGE_LOG_FD)
+     sed -e 's/^/| /' < conftest.err >&AS_MESSAGE_LOG_FD
+   done
+ 
+   cd ..
+   rm -rf conftest.dir
+ else
+   am_cv_$1_dependencies_compiler_type=none
+ fi
+ ])
+ if test x${am_cv_$1_dependencies_compiler_type-none} = xnone
+ then AC_MSG_ERROR([no usable dependency style found])
+ else AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+ fi
+ ])
+ 
+ # AM_SET_DEPDIR
+ # -------------
+ # Choose a directory name for dependency files.
+ AC_DEFUN([AM_SET_DEPDIR],
+ [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+ AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+ ])
+ 
+ # ZW_CREATE_DEPDIR
+ # ----------------
+ # As AM_SET_DEPDIR, but also create the directory at config.status time.
+ AC_DEFUN([ZW_CREATE_DEPDIR],
+ [AC_REQUIRE([AM_SET_DEPDIR])dnl
+ AC_CONFIG_COMMANDS([depdir], [mkdir $DEPDIR], [DEPDIR=$DEPDIR])
+ ])
diff -Nrcpad gcc-4.0.2/config/enable.m4 gcc-4.1.0/config/enable.m4
*** gcc-4.0.2/config/enable.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/config/enable.m4	Fri Sep 23 16:33:47 2005
***************
*** 0 ****
--- 1,38 ----
+ dnl ----------------------------------------------------------------------
+ dnl This whole bit snagged from libstdc++-v3.
+ 
+ dnl
+ dnl GCC_ENABLE
+ dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
+ dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
+ dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
+ dnl
+ dnl See docs/html/17_intro/configury.html#enable for documentation.
+ dnl
+ AC_DEFUN([GCC_ENABLE],[dnl
+ m4_define([_g_switch],[--enable-$1])dnl
+ m4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl
+  AC_ARG_ENABLE($1,_g_help,
+   m4_bmatch([$5],
+    [^permit ],
+      [[
+       case "$enableval" in
+        m4_bpatsubst([$5],[permit ])) ;;
+        *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;;
+           dnl Idea for future:  generate a URL pointing to
+           dnl "onlinedocs/configopts.html#whatever"
+       esac
+      ]],
+    [^$],
+      [[
+       case "$enableval" in
+        yes|no) ;;
+        *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;;
+       esac
+      ]],
+    [[$5]]),
+   [enable_]m4_bpatsubst([$1],-,_)[=][$2])
+ m4_undefine([_g_switch])dnl
+ m4_undefine([_g_help])dnl
+ ])
+ 
diff -Nrcpad gcc-4.0.2/config/gcc-lib-path.m4 gcc-4.1.0/config/gcc-lib-path.m4
*** gcc-4.0.2/config/gcc-lib-path.m4	Fri Sep 24 00:36:45 2004
--- gcc-4.1.0/config/gcc-lib-path.m4	Thu Jan  1 00:00:00 1970
***************
*** 1,15 ****
- AC_DEFUN([TL_AC_GNU_MAKE_GCC_LIB_PATH],
- [
- if test x"$SET_GCC_LIB_PATH_CMD" != x; then
-   # SET_GCC_LIB_PATH_CMD is "XXX=path; export XXX;". It is expanded to
-   #
-   #	eval "set_gcc_lib_path=XXX=path; export XXX;"
-   #
-   eval "set_gcc_lib_path=$SET_GCC_LIB_PATH_CMD"
-   # It will set set_gcc_lib_path to "export XXX=path" for GNU make.
-   set_gcc_lib_path="export $set_gcc_lib_path"
- else
-   set_gcc_lib_path=
- fi
- AC_SUBST(set_gcc_lib_path)
- ])dnl
--- 0 ----
diff -Nrcpad gcc-4.0.2/config/gcc-version.m4 gcc-4.1.0/config/gcc-version.m4
*** gcc-4.0.2/config/gcc-version.m4	Thu Dec  2 11:03:18 2004
--- gcc-4.1.0/config/gcc-version.m4	Thu Jan  1 00:00:00 1970
***************
*** 1,28 ****
- dnl Usage: TL_AC_GCC_VERSION(TOPSRCDIR)
- dnl
- dnl Set up the variables:
- dnl
- dnl     gcc_version_trigger: pathname of gcc's version.c, if available
- dnl     gcc_version_full: full gcc version string
- dnl     gcc_version: the first "word" in $gcc_version_full
- dnl
- dnl TOPSRCDIR is the top-level source directory.
- AC_DEFUN([TL_AC_GCC_VERSION],
- [
- changequote(,)dnl
- if test "${with_gcc_version_trigger+set}" = set; then
-   gcc_version_trigger=$with_gcc_version_trigger
- else
-   gcc_version_trigger=$1/gcc/version.c
- fi
- if test -f "${gcc_version_trigger}"; then
-   gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
- else
-   gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
- fi
- gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
- changequote([,])dnl
- AC_SUBST(gcc_version_trigger)
- AC_SUBST(gcc_version_full)
- AC_SUBST(gcc_version)
- ])dnl
--- 0 ----
diff -Nrcpad gcc-4.0.2/config/gxx-include-dir.m4 gcc-4.1.0/config/gxx-include-dir.m4
*** gcc-4.0.2/config/gxx-include-dir.m4	Fri Dec  3 10:44:37 2004
--- gcc-4.1.0/config/gxx-include-dir.m4	Mon Mar 21 18:12:32 2005
*************** case "${with_gxx_include_dir}" in
*** 14,23 ****
      ;;
    no | "")
      case "${enable_version_specific_runtime_libs}" in
!       yes) gxx_include_dir='${libsubdir}/include/c++' ;;
        *)
! 	libstdcxx_incdir=c++/${gcc_version}
! 	gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
      esac ;;
    *) gxx_include_dir=${with_gxx_include_dir} ;;
  esac
--- 14,23 ----
      ;;
    no | "")
      case "${enable_version_specific_runtime_libs}" in
!       yes) gxx_include_dir='$(libsubdir)/include/c++' ;;
        *)
! 	libstdcxx_incdir='c++/$(gcc_version)'
! 	gxx_include_dir='$(prefix)/include/$(libstdcxx_incdir)' ;;
      esac ;;
    *) gxx_include_dir=${with_gxx_include_dir} ;;
  esac
diff -Nrcpad gcc-4.0.2/config/lead-dot.m4 gcc-4.1.0/config/lead-dot.m4
*** gcc-4.0.2/config/lead-dot.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/config/lead-dot.m4	Sat Jul 16 02:40:16 2005
***************
*** 0 ****
--- 1,32 ----
+ #                                                          -*- Autoconf -*-
+ # Copyright (C) 2003  Free Software Foundation, Inc.
+ 
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2, or (at your option)
+ # any later version.
+ 
+ # This program is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ 
+ # You should have received a copy of the GNU General Public License
+ # along with this program; if not, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ # 02110-1301, USA.
+ 
+ # serial 1
+ 
+ # Check whether the underlying file-system supports filenames
+ # with a leading dot.  For instance MS-DOS doesn't.
+ AC_DEFUN([AM_SET_LEADING_DOT],
+ [rm -rf .tst 2>/dev/null
+ mkdir .tst 2>/dev/null
+ if test -d .tst; then
+   am__leading_dot=.
+ else
+   am__leading_dot=_
+ fi
+ rmdir .tst 2>/dev/null
+ AC_SUBST([am__leading_dot])])
diff -Nrcpad gcc-4.0.2/config/mh-mingw32 gcc-4.1.0/config/mh-mingw32
*** gcc-4.0.2/config/mh-mingw32	Fri Apr 19 17:26:08 2002
--- gcc-4.1.0/config/mh-mingw32	Thu Jan  1 00:00:00 1970
***************
*** 1,7 ****
- # We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
- # built without debugging information
- 
- LIBGCC2_DEBUG_CFLAGS=
- 
- # custom installation rules for mingw32 (append .exe to binaries, etc.)
- # INSTALL_DOSREL=install-dosrel
--- 0 ----
diff -Nrcpad gcc-4.0.2/config/mt-gnu gcc-4.1.0/config/mt-gnu
*** gcc-4.0.2/config/mt-gnu	Tue Aug  3 20:48:48 2004
--- gcc-4.1.0/config/mt-gnu	Wed Jul 27 18:55:12 2005
***************
*** 1 ****
! CXXFLAGS_FOR_TARGET = $(CXXFLAGS) -D_GNU_SOURCE
--- 1 ----
! CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) -D_GNU_SOURCE
diff -Nrcpad gcc-4.0.2/config/no-executables.m4 gcc-4.1.0/config/no-executables.m4
*** gcc-4.0.2/config/no-executables.m4	Wed Aug 27 19:14:13 2003
--- gcc-4.1.0/config/no-executables.m4	Tue Jun 14 20:05:59 2005
*************** if test x$gcc_no_link = xyes; then
*** 53,59 ****
      ac_cv_func_mmap_fixed_mapped=no
    fi
  fi
! if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
    m4_defn([AC_FUNC_MMAP])
  fi)
  
--- 53,59 ----
      ac_cv_func_mmap_fixed_mapped=no
    fi
  fi
! if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
    m4_defn([AC_FUNC_MMAP])
  fi)
  
diff -Nrcpad gcc-4.0.2/config/stdint.m4 gcc-4.1.0/config/stdint.m4
*** gcc-4.0.2/config/stdint.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/config/stdint.m4	Tue Feb 14 17:28:02 2006
***************
*** 0 ****
--- 1,486 ----
+ dnl @synopsis GCC_HEADER_STDINT [( HEADER-TO-GENERATE [, HEADERS-TO-CHECK])]
+ dnl
+ dnl the "ISO C9X: 7.18 Integer types <stdint.h>" section requires the
+ dnl existence of an include file <stdint.h> that defines a set of
+ dnl typedefs, especially uint8_t,int32_t,uintptr_t.
+ dnl Many older installations will not provide this file, but some will
+ dnl have the very same definitions in <inttypes.h>. In other enviroments
+ dnl we can use the inet-types in <sys/types.h> which would define the
+ dnl typedefs int8_t and u_int8_t respectivly.
+ dnl
+ dnl This macros will create a local "_stdint.h" or the headerfile given as
+ dnl an argument. In many cases that file will pick the definition from a
+ dnl "#include <stdint.h>" or "#include <inttypes.h>" statement, while
+ dnl in other environments it will provide the set of basic 'stdint's defined:
+ dnl int8_t,uint8_t,int16_t,uint16_t,int32_t,uint32_t,intptr_t,uintptr_t
+ dnl int_least32_t.. int_fast32_t.. intmax_t
+ dnl which may or may not rely on the definitions of other files.
+ dnl
+ dnl Sometimes the stdint.h or inttypes.h headers conflict with sys/types.h,
+ dnl so we test the headers together with sys/types.h and always include it
+ dnl into the generated header (to match the tests with the generated file).
+ dnl Hopefully this is not a big annoyance.
+ dnl
+ dnl If your installed header files require the stdint-types you will want to
+ dnl create an installable file mylib-int.h that all your other installable
+ dnl header may include. So, for a library package named "mylib", just use
+ dnl      GCC_HEADER_STDINT(mylib-int.h)
+ dnl in configure.in and install that header file in Makefile.am along with
+ dnl the other headers (mylib.h).  The mylib-specific headers can simply
+ dnl use "#include <mylib-int.h>" to obtain the stdint-types.
+ dnl
+ dnl Remember, if the system already had a valid <stdint.h>, the generated
+ dnl file will include it directly. No need for fuzzy HAVE_STDINT_H things...
+ dnl
+ dnl @author  Guido Draheim <guidod@gmx.de>, Paolo Bonzini <bonzini@gnu.org>
+ 
+ AC_DEFUN([GCC_HEADER_STDINT],
+ [m4_define(_GCC_STDINT_H, m4_ifval($1, $1, _stdint.h))
+ 
+ inttype_headers=`echo inttypes.h sys/inttypes.h $2 | sed -e 's/,/ /g'`
+ 
+ acx_cv_header_stdint=stddef.h
+ acx_cv_header_stdint_kind="(already complete)"
+ for i in stdint.h $inttype_headers; do
+   unset ac_cv_type_uintptr_t
+   unset ac_cv_type_uintmax_t
+   unset ac_cv_type_int_least32_t
+   unset ac_cv_type_int_fast32_t
+   unset ac_cv_type_uint64_t
+   _AS_ECHO_N([looking for a compliant stdint.h in $i, ])
+   AC_CHECK_TYPE(uintmax_t,[acx_cv_header_stdint=$i],continue,[#include <sys/types.h>
+ #include <$i>])
+   AC_CHECK_TYPE(uintptr_t,,[acx_cv_header_stdint_kind="(mostly complete)"], [#include <sys/types.h>
+ #include <$i>])
+   AC_CHECK_TYPE(int_least32_t,,[acx_cv_header_stdint_kind="(mostly complete)"], [#include <sys/types.h>
+ #include <$i>])
+   AC_CHECK_TYPE(int_fast32_t,,[acx_cv_header_stdint_kind="(mostly complete)"], [#include <sys/types.h>
+ #include <$i>])
+   AC_CHECK_TYPE(uint64_t,,[acx_cv_header_stdint_kind="(lacks uint64_t)"], [#include <sys/types.h>
+ #include <$i>])
+   break
+ done
+ if test "$acx_cv_header_stdint" = stddef.h; then
+   acx_cv_header_stdint_kind="(lacks uintptr_t)"
+   for i in stdint.h $inttype_headers; do
+     unset ac_cv_type_uint32_t
+     unset ac_cv_type_uint64_t
+     _AS_ECHO_N([looking for an incomplete stdint.h in $i, ])
+     AC_CHECK_TYPE(uint32_t,[acx_cv_header_stdint=$i],continue,[#include <sys/types.h>
+ #include <$i>])
+     AC_CHECK_TYPE(uint64_t,,[acx_cv_header_stdint_kind="(lacks uintptr_t and uint64_t)"], [#include <sys/types.h>
+ #include <$i>])
+     break
+   done
+ fi
+ if test "$acx_cv_header_stdint" = stddef.h; then
+   acx_cv_header_stdint_kind="(u_intXX_t style)"
+   for i in sys/types.h $inttype_headers; do
+     unset ac_cv_type_u_int32_t
+     unset ac_cv_type_u_int64_t
+     _AS_ECHO_N([looking for u_intXX_t types in $i, ])
+     AC_CHECK_TYPE(u_int32_t,[acx_cv_header_stdint=$i],continue,[#include <sys/types.h>
+ #include <$i>])
+     AC_CHECK_TYPE(u_int64_t,,[acx_cv_header_stdint_kind="(u_intXX_t style, lacks u_int64_t)"], [#include <sys/types.h>
+ #include <$i>])
+     break
+   done
+ fi
+ if test "$acx_cv_header_stdint" = stddef.h; then
+   acx_cv_header_stdint_kind="(using manual detection)"
+ fi
+ 
+ test -z "$ac_cv_type_uintptr_t" && ac_cv_type_uintptr_t=no
+ test -z "$ac_cv_type_uint64_t" && ac_cv_type_uint64_t=no
+ test -z "$ac_cv_type_u_int64_t" && ac_cv_type_u_int64_t=no
+ test -z "$ac_cv_type_int_least32_t" && ac_cv_type_int_least32_t=no
+ test -z "$ac_cv_type_int_fast32_t" && ac_cv_type_int_fast32_t=no
+ 
+ # ----------------- Summarize what we found so far
+ 
+ AC_MSG_CHECKING([what to include in _GCC_STDINT_H])
+ 
+ case `AS_BASENAME(_GCC_STDINT_H)` in
+   stdint.h) AC_MSG_WARN([are you sure you want it there?]) ;;
+   inttypes.h) AC_MSG_WARN([are you sure you want it there?]) ;;
+   *) ;;
+ esac
+ 
+ AC_MSG_RESULT($acx_cv_header_stdint $acx_cv_header_stdint_kind)
+ 
+ # ----------------- done included file, check C basic types --------
+ 
+ # Lacking an uintptr_t?  Test size of void *
+ case "$acx_cv_header_stdint:$ac_cv_type_uintptr_t" in
+   stddef.h:* | *:no) AC_CHECK_SIZEOF(void *) ;;
+ esac
+ 
+ # Lacking an uint64_t?  Test size of long
+ case "$acx_cv_header_stdint:$ac_cv_type_uint64_t:$ac_cv_type_u_int64_t" in
+   stddef.h:*:* | *:no:no) AC_CHECK_SIZEOF(long) ;;
+ esac
+ 
+ if test $acx_cv_header_stdint = stddef.h; then
+   # Lacking a good header?  Test size of everything and deduce all types.
+   AC_CHECK_SIZEOF(int)
+   AC_CHECK_SIZEOF(short)
+   AC_CHECK_SIZEOF(char)
+ 
+   AC_MSG_CHECKING(for type equivalent to int8_t)
+   case "$ac_cv_sizeof_char" in
+     1) acx_cv_type_int8_t=char ;;
+     *) AC_MSG_ERROR(no 8-bit type, please report a bug)
+   esac
+   AC_MSG_RESULT($acx_cv_type_int8_t)
+ 
+   AC_MSG_CHECKING(for type equivalent to int16_t)
+   case "$ac_cv_sizeof_int:$ac_cv_sizeof_short" in
+     2:*) acx_cv_type_int16_t=int ;;
+     *:2) acx_cv_type_int16_t=short ;;
+     *) AC_MSG_ERROR(no 16-bit type, please report a bug)
+   esac
+   AC_MSG_RESULT($acx_cv_type_int16_t)
+ 
+   AC_MSG_CHECKING(for type equivalent to int32_t)
+   case "$ac_cv_sizeof_int:$ac_cv_sizeof_long" in
+     4:*) acx_cv_type_int32_t=int ;;
+     *:4) acx_cv_type_int32_t=long ;;
+     *) AC_MSG_ERROR(no 32-bit type, please report a bug)
+   esac
+   AC_MSG_RESULT($acx_cv_type_int32_t)
+ fi
+ 
+ # These tests are here to make the output prettier
+ 
+ if test "$ac_cv_type_uint64_t" != yes && test "$ac_cv_type_u_int64_t" != yes; then
+   case "$ac_cv_sizeof_long" in
+     8) acx_cv_type_int64_t=long ;;
+   esac
+   AC_MSG_CHECKING(for type equivalent to int64_t)
+   AC_MSG_RESULT(${acx_cv_type_int64_t-'using preprocessor symbols'})
+ fi
+ 
+ # Now we can use the above types
+ 
+ if test "$ac_cv_type_uintptr_t" != yes; then
+   AC_MSG_CHECKING(for type equivalent to intptr_t)
+   case $ac_cv_sizeof_void_p in
+     2) acx_cv_type_intptr_t=int16_t ;;
+     4) acx_cv_type_intptr_t=int32_t ;;
+     8) acx_cv_type_intptr_t=int64_t ;;
+     *) AC_MSG_ERROR(no equivalent for intptr_t, please report a bug)
+   esac
+   AC_MSG_RESULT($acx_cv_type_intptr_t)
+ fi
+ 
+ # ----------------- done all checks, emit header -------------
+ AC_CONFIG_COMMANDS(_GCC_STDINT_H, [
+ if test "$GCC" = yes; then
+   echo "/* generated for " `$CC --version | sed 1q` "*/" > tmp-stdint.h
+ else
+   echo "/* generated for $CC */" > tmp-stdint.h
+ fi
+ 
+ sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+   #ifndef GCC_GENERATED_STDINT_H
+   #define GCC_GENERATED_STDINT_H 1
+ 
+   #include <sys/types.h>
+ EOF
+ 
+ if test "$acx_cv_header_stdint" != stdint.h; then
+   echo "#include <stddef.h>" >> tmp-stdint.h
+ fi
+ if test "$acx_cv_header_stdint" != stddef.h; then
+   echo "#include <$acx_cv_header_stdint>" >> tmp-stdint.h
+ fi
+ 
+ sed 's/^ *//' >> tmp-stdint.h <<EOF
+   /* glibc uses these symbols as guards to prevent redefinitions.  */
+   #ifdef __int8_t_defined
+   #define _INT8_T
+   #define _INT16_T
+   #define _INT32_T
+   #endif
+   #ifdef __uint32_t_defined
+   #define _UINT32_T
+   #endif
+ 
+ EOF
+ 
+ # ----------------- done header, emit basic int types -------------
+ if test "$acx_cv_header_stdint" = stddef.h; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     #ifndef _UINT8_T
+     #define _UINT8_T
+     typedef unsigned $acx_cv_type_int8_t uint8_t;
+     #endif
+ 
+     #ifndef _UINT16_T
+     #define _UINT16_T
+     typedef unsigned $acx_cv_type_int16_t uint16_t;
+     #endif
+ 
+     #ifndef _UINT32_T
+     #define _UINT32_T
+     typedef unsigned $acx_cv_type_int32_t uint32_t;
+     #endif
+ 
+     #ifndef _INT8_T
+     #define _INT8_T
+     typedef $acx_cv_type_int8_t int8_t;
+     #endif
+ 
+     #ifndef _INT16_T
+     #define _INT16_T
+     typedef $acx_cv_type_int16_t int16_t;
+     #endif
+ 
+     #ifndef _INT32_T
+     #define _INT32_T
+     typedef $acx_cv_type_int32_t int32_t;
+     #endif
+ EOF
+ elif test "$ac_cv_type_u_int32_t" = yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* int8_t int16_t int32_t defined by inet code, we do the u_intXX types */
+     #ifndef _INT8_T
+     #define _INT8_T
+     #endif
+     #ifndef _INT16_T
+     #define _INT16_T
+     #endif
+     #ifndef _INT32_T
+     #define _INT32_T
+     #endif
+ 
+     #ifndef _UINT8_T
+     #define _UINT8_T
+     typedef u_int8_t uint8_t;
+     #endif
+ 
+     #ifndef _UINT16_T
+     #define _UINT16_T
+     typedef u_int16_t uint16_t;
+     #endif
+ 
+     #ifndef _UINT32_T
+     #define _UINT32_T
+     typedef u_int32_t uint32_t;
+     #endif
+ EOF
+ else
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* Some systems have guard macros to prevent redefinitions, define them.  */
+     #ifndef _INT8_T
+     #define _INT8_T
+     #endif
+     #ifndef _INT16_T
+     #define _INT16_T
+     #endif
+     #ifndef _INT32_T
+     #define _INT32_T
+     #endif
+     #ifndef _UINT8_T
+     #define _UINT8_T
+     #endif
+     #ifndef _UINT16_T
+     #define _UINT16_T
+     #endif
+     #ifndef _UINT32_T
+     #define _UINT32_T
+     #endif
+ EOF
+ fi
+ 
+ # ------------- done basic int types, emit int64_t types ------------
+ if test "$ac_cv_type_uint64_t" = yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* system headers have good uint64_t and int64_t */
+     #ifndef _INT64_T
+     #define _INT64_T
+     #endif
+     #ifndef _UINT64_T
+     #define _UINT64_T
+     #endif
+ EOF
+ elif test "$ac_cv_type_u_int64_t" = yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* system headers have an u_int64_t (and int64_t) */
+     #ifndef _INT64_T
+     #define _INT64_T
+     #endif
+     #ifndef _UINT64_T
+     #define _UINT64_T
+     typedef u_int64_t uint64_t;
+     #endif
+ EOF
+ elif test -n "$acx_cv_type_int64_t"; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* architecture has a 64-bit type, $acx_cv_type_int64_t */
+     #ifndef _INT64_T
+     #define _INT64_T
+     typedef $acx_cv_type_int64_t int64_t;
+     #endif
+     #ifndef _UINT64_T
+     #define _UINT64_T
+     typedef unsigned $acx_cv_type_int64_t uint64_t;
+     #endif
+ EOF
+ else
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* some common heuristics for int64_t, using compiler-specific tests */
+     #if defined __STDC_VERSION__ && (__STDC_VERSION__-0) >= 199901L
+     #ifndef _INT64_T
+     #define _INT64_T
+     typedef long long int64_t;
+     #endif
+     #ifndef _UINT64_T
+     #define _UINT64_T
+     typedef unsigned long long uint64_t;
+     #endif
+ 
+     #elif defined __GNUC__ && defined (__STDC__) && __STDC__-0
+     /* NextStep 2.0 cc is really gcc 1.93 but it defines __GNUC__ = 2 and
+        does not implement __extension__.  But that compiler doesn't define
+        __GNUC_MINOR__.  */
+     # if __GNUC__ < 2 || (__NeXT__ && !__GNUC_MINOR__)
+     # define __extension__
+     # endif
+ 
+     # ifndef _INT64_T
+     # define _INT64_T
+     __extension__ typedef long long int64_t;
+     # endif
+     # ifndef _UINT64_T
+     # define _UINT64_T
+     __extension__ typedef unsigned long long uint64_t;
+     # endif
+ 
+     #elif !defined __STRICT_ANSI__
+     # if defined _MSC_VER || defined __WATCOMC__ || defined __BORLANDC__
+ 
+     #  ifndef _INT64_T
+     #  define _INT64_T
+     typedef __int64 int64_t;
+     #  endif
+     #  ifndef _UINT64_T
+     #  define _UINT64_T
+     typedef unsigned __int64 uint64_t;
+     #  endif
+     # endif /* compiler */
+ 
+     #endif /* ANSI version */
+ EOF
+ fi
+ 
+ # ------------- done int64_t types, emit intptr types ------------
+ if test "$ac_cv_type_uintptr_t" != yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* Define intptr_t based on sizeof(void*) = $ac_cv_sizeof_void_p */
+     typedef u$acx_cv_type_intptr_t uintptr_t;
+     typedef $acx_cv_type_intptr_t  intptr_t;
+ EOF
+ fi
+ 
+ # ------------- done intptr types, emit int_least types ------------
+ if test "$ac_cv_type_int_least32_t" != yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* Define int_least types */
+     typedef int8_t     int_least8_t;
+     typedef int16_t    int_least16_t;
+     typedef int32_t    int_least32_t;
+     #ifdef _INT64_T
+     typedef int64_t    int_least64_t;
+     #endif
+ 
+     typedef uint8_t    uint_least8_t;
+     typedef uint16_t   uint_least16_t;
+     typedef uint32_t   uint_least32_t;
+     #ifdef _UINT64_T
+     typedef uint64_t   uint_least64_t;
+     #endif
+ EOF
+ fi
+ 
+ # ------------- done intptr types, emit int_fast types ------------
+ if test "$ac_cv_type_int_fast32_t" != yes; then
+   dnl NOTE: The following code assumes that sizeof (int) > 1.
+   dnl Fix when strange machines are reported.
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* Define int_fast types.  short is often slow */
+     typedef int8_t       int_fast8_t;
+     typedef int          int_fast16_t;
+     typedef int32_t      int_fast32_t;
+     #ifdef _INT64_T
+     typedef int64_t      int_fast64_t;
+     #endif
+ 
+     typedef uint8_t      uint_fast8_t;
+     typedef unsigned int uint_fast16_t;
+     typedef uint32_t     uint_fast32_t;
+     #ifdef _UINT64_T
+     typedef uint64_t     uint_fast64_t;
+     #endif
+ EOF
+ fi
+ 
+ if test "$ac_cv_type_uintmax_t" != yes; then
+   sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+     /* Define intmax based on what we found */
+     #ifdef _INT64_T
+     typedef int64_t       intmax_t;
+     #else
+     typedef long          intmax_t;
+     #endif
+     #ifdef _UINT64_T
+     typedef uint64_t      uintmax_t;
+     #else
+     typedef unsigned long uintmax_t;
+     #endif
+ EOF
+ fi
+ 
+ sed 's/^ *//' >> tmp-stdint.h <<EOF
+ 
+   #endif /* GCC_GENERATED_STDINT_H */
+ EOF
+ 
+ if test -r ]_GCC_STDINT_H[ && cmp -s tmp-stdint.h ]_GCC_STDINT_H[; then
+   rm -f tmp-stdint.h
+ else
+   mv -f tmp-stdint.h ]_GCC_STDINT_H[
+ fi
+ 
+ ], [
+ GCC="$GCC"
+ CC="$CC"
+ acx_cv_header_stdint="$acx_cv_header_stdint"
+ acx_cv_type_int8_t="$acx_cv_type_int8_t"
+ acx_cv_type_int16_t="$acx_cv_type_int16_t"
+ acx_cv_type_int32_t="$acx_cv_type_int32_t"
+ acx_cv_type_int64_t="$acx_cv_type_int64_t"
+ acx_cv_type_intptr_t="$acx_cv_type_intptr_t"
+ ac_cv_type_uintmax_t="$ac_cv_type_uintmax_t"
+ ac_cv_type_uintptr_t="$ac_cv_type_uintptr_t"
+ ac_cv_type_uint64_t="$ac_cv_type_uint64_t"
+ ac_cv_type_u_int64_t="$ac_cv_type_u_int64_t"
+ ac_cv_type_u_int32_t="$ac_cv_type_u_int32_t"
+ ac_cv_type_int_least32_t="$ac_cv_type_int_least32_t"
+ ac_cv_type_int_fast32_t="$ac_cv_type_int_fast32_t"
+ ac_cv_sizeof_void_p="$ac_cv_sizeof_void_p"
+ ])
+ 
+ ])
diff -Nrcpad gcc-4.0.2/config/tls.m4 gcc-4.1.0/config/tls.m4
*** gcc-4.0.2/config/tls.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/config/tls.m4	Fri Sep 23 16:33:47 2005
***************
*** 0 ****
--- 1,21 ----
+ dnl Check whether the target supports TLS.
+ AC_DEFUN([GCC_CHECK_TLS], [
+   GCC_ENABLE(tls, yes, [Use thread-local storage])
+   AC_CACHE_CHECK([whether the target supports thread-local storage],
+ 		 have_tls, [
+     AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
+       [dnl If the test case passed with dynamic linking, try again with
+       dnl static linking.  This fails at least with some older Red Hat
+       dnl releases.
+       save_LDFLAGS="$LDFLAGS"
+       LDFLAGS="-static $LDFLAGS"
+       AC_RUN_IFELSE([__thread int a; int b; int main() { return a = b; }],
+ 		    [have_tls=yes], [have_tls=no], [])
+       LDFLAGS="$save_LDFLAGS"],
+       [have_tls=no],
+       [AC_COMPILE_IFELSE([__thread int foo;], [have_tls=yes], [have_tls=no])]
+     )])
+   if test "$enable_tls $have_tls" = "yes yes"; then
+     AC_DEFINE(HAVE_TLS, 1,
+ 	      [Define to 1 if the target supports thread-local storage.])
+   fi])
diff -Nrcpad gcc-4.0.2/config/warnings.m4 gcc-4.1.0/config/warnings.m4
*** gcc-4.0.2/config/warnings.m4	Thu May 12 12:24:13 2005
--- gcc-4.1.0/config/warnings.m4	Sat Jul 16 02:40:16 2005
***************
*** 16,23 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to the Free
! #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
! #02111-1307, USA.
  
  # ACX_PROG_CC_WARNING_OPTS([-Wfoo -Wbar -Wbaz])
  #   Sets @WARN_CFLAGS@ to the subset of the given options which the
--- 16,23 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to the Free
! #Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
! #02110-1301, USA.
  
  # ACX_PROG_CC_WARNING_OPTS([-Wfoo -Wbar -Wbaz])
  #   Sets @WARN_CFLAGS@ to the subset of the given options which the
diff -Nrcpad gcc-4.0.2/config-ml.in gcc-4.1.0/config-ml.in
*** gcc-4.0.2/config-ml.in	Thu Jan 13 00:47:56 2005
--- gcc-4.1.0/config-ml.in	Thu Jul 14 01:08:13 2005
***************
*** 16,23 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
--- 16,23 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
diff -Nrcpad gcc-4.0.2/config.guess gcc-4.1.0/config.guess
*** gcc-4.0.2/config.guess	Tue Nov 16 00:57:00 2004
--- gcc-4.1.0/config.guess	Thu Nov 24 12:49:42 2005
***************
*** 1,9 ****
  #! /bin/sh
  # Attempt to guess a canonical system name.
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
! #   2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
  
! timestamp='2004-11-12'
  
  # This file is free software; you can redistribute it and/or modify it
  # under the terms of the GNU General Public License as published by
--- 1,9 ----
  #! /bin/sh
  # Attempt to guess a canonical system name.
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
! #   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
  
! timestamp='2005-11-11'
  
  # This file is free software; you can redistribute it and/or modify it
  # under the terms of the GNU General Public License as published by
*************** timestamp='2004-11-12'
*** 17,29 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # configuration script generated by Autoconf, you may include it under
  # the same distribution terms that you use for the rest of that program.
  
  # Originally written by Per Bothner <per@bothner.com>.
  # Please send patches to <config-patches@gnu.org>.  Submit a context
  # diff and a properly formatted ChangeLog entry.
--- 17,31 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
! # 02110-1301, USA.
  #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # configuration script generated by Autoconf, you may include it under
  # the same distribution terms that you use for the rest of that program.
  
+ 
  # Originally written by Per Bothner <per@bothner.com>.
  # Please send patches to <config-patches@gnu.org>.  Submit a context
  # diff and a properly formatted ChangeLog entry.
*************** version="\
*** 53,59 ****
  GNU config.guess ($timestamp)
  
  Originally written by Per Bothner.
! Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
  Free Software Foundation, Inc.
  
  This is free software; see the source for copying conditions.  There is NO
--- 55,61 ----
  GNU config.guess ($timestamp)
  
  Originally written by Per Bothner.
! Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
  Free Software Foundation, Inc.
  
  This is free software; see the source for copying conditions.  There is NO
*************** Try \`$me --help' for more information."
*** 66,76 ****
  while test $# -gt 0 ; do
    case $1 in
      --time-stamp | --time* | -t )
!        echo "$timestamp" ; exit 0 ;;
      --version | -v )
!        echo "$version" ; exit 0 ;;
      --help | --h* | -h )
!        echo "$usage"; exit 0 ;;
      -- )     # Stop option processing
         shift; break ;;
      - )	# Use stdin as input.
--- 68,78 ----
  while test $# -gt 0 ; do
    case $1 in
      --time-stamp | --time* | -t )
!        echo "$timestamp" ; exit ;;
      --version | -v )
!        echo "$version" ; exit ;;
      --help | --h* | -h )
!        echo "$usage"; exit ;;
      -- )     # Stop option processing
         shift; break ;;
      - )	# Use stdin as input.
*************** case $CC_FOR_BUILD,$HOST_CC,$CC in
*** 123,129 ****
  	;;
   ,,*)   CC_FOR_BUILD=$CC ;;
   ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
! esac ;'
  
  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  # (ghazi@noc.rutgers.edu 1994-08-24)
--- 125,131 ----
  	;;
   ,,*)   CC_FOR_BUILD=$CC ;;
   ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
! esac ; set_cc_for_build= ;'
  
  # This is needed to find uname on a Pyramid OSx when run in the BSD universe.
  # (ghazi@noc.rutgers.edu 1994-08-24)
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 196,250 ****
  	# contains redundant information, the shorter form:
  	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
  	echo "${machine}-${os}${release}"
! 	exit 0 ;;
!     amd64:OpenBSD:*:*)
! 	echo x86_64-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     amiga:OpenBSD:*:*)
! 	echo m68k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     cats:OpenBSD:*:*)
! 	echo arm-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     hp300:OpenBSD:*:*)
! 	echo m68k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     luna88k:OpenBSD:*:*)
!     	echo m88k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     mac68k:OpenBSD:*:*)
! 	echo m68k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     macppc:OpenBSD:*:*)
! 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     mvme68k:OpenBSD:*:*)
! 	echo m68k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     mvme88k:OpenBSD:*:*)
! 	echo m88k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     mvmeppc:OpenBSD:*:*)
! 	echo powerpc-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     sgi:OpenBSD:*:*)
! 	echo mips64-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
!     sun3:OpenBSD:*:*)
! 	echo m68k-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
      *:OpenBSD:*:*)
! 	echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
! 	exit 0 ;;
      *:ekkoBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
! 	exit 0 ;;
      macppc:MirBSD:*:*)
  	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
! 	exit 0 ;;
      *:MirBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
! 	exit 0 ;;
      alpha:OSF1:*:*)
  	case $UNAME_RELEASE in
  	*4.0)
--- 198,217 ----
  	# contains redundant information, the shorter form:
  	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
  	echo "${machine}-${os}${release}"
! 	exit ;;
      *:OpenBSD:*:*)
! 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
! 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
! 	exit ;;
      *:ekkoBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
! 	exit ;;
      macppc:MirBSD:*:*)
  	echo powerppc-unknown-mirbsd${UNAME_RELEASE}
! 	exit ;;
      *:MirBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
! 	exit ;;
      alpha:OSF1:*:*)
  	case $UNAME_RELEASE in
  	*4.0)
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 297,336 ****
  	# A Xn.n version is an unreleased experimental baselevel.
  	# 1.2 uses "1.2" for uname -r.
  	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
! 	exit 0 ;;
      Alpha\ *:Windows_NT*:*)
  	# How do we know it's Interix rather than the generic POSIX subsystem?
  	# Should we change UNAME_MACHINE based on the output of uname instead
  	# of the specific Alpha model?
  	echo alpha-pc-interix
! 	exit 0 ;;
      21064:Windows_NT:50:3)
  	echo alpha-dec-winnt3.5
! 	exit 0 ;;
      Amiga*:UNIX_System_V:4.0:*)
  	echo m68k-unknown-sysv4
! 	exit 0;;
      *:[Aa]miga[Oo][Ss]:*:*)
  	echo ${UNAME_MACHINE}-unknown-amigaos
! 	exit 0 ;;
      *:[Mm]orph[Oo][Ss]:*:*)
  	echo ${UNAME_MACHINE}-unknown-morphos
! 	exit 0 ;;
      *:OS/390:*:*)
  	echo i370-ibm-openedition
! 	exit 0 ;;
      *:z/VM:*:*)
  	echo s390-ibm-zvmoe
! 	exit 0 ;;
      *:OS400:*:*)
          echo powerpc-ibm-os400
! 	exit 0 ;;
      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  	echo arm-acorn-riscix${UNAME_RELEASE}
! 	exit 0;;
      SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  	echo hppa1.1-hitachi-hiuxmpp
! 	exit 0;;
      Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  	if test "`(/bin/universe) 2>/dev/null`" = att ; then
--- 264,306 ----
  	# A Xn.n version is an unreleased experimental baselevel.
  	# 1.2 uses "1.2" for uname -r.
  	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
! 	exit ;;
      Alpha\ *:Windows_NT*:*)
  	# How do we know it's Interix rather than the generic POSIX subsystem?
  	# Should we change UNAME_MACHINE based on the output of uname instead
  	# of the specific Alpha model?
  	echo alpha-pc-interix
! 	exit ;;
      21064:Windows_NT:50:3)
  	echo alpha-dec-winnt3.5
! 	exit ;;
      Amiga*:UNIX_System_V:4.0:*)
  	echo m68k-unknown-sysv4
! 	exit ;;
      *:[Aa]miga[Oo][Ss]:*:*)
  	echo ${UNAME_MACHINE}-unknown-amigaos
! 	exit ;;
      *:[Mm]orph[Oo][Ss]:*:*)
  	echo ${UNAME_MACHINE}-unknown-morphos
! 	exit ;;
      *:OS/390:*:*)
  	echo i370-ibm-openedition
! 	exit ;;
      *:z/VM:*:*)
  	echo s390-ibm-zvmoe
! 	exit ;;
      *:OS400:*:*)
          echo powerpc-ibm-os400
! 	exit ;;
      arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
  	echo arm-acorn-riscix${UNAME_RELEASE}
! 	exit ;;
!     arm:riscos:*:*|arm:RISCOS:*:*)
! 	echo arm-unknown-riscos
! 	exit ;;
      SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
  	echo hppa1.1-hitachi-hiuxmpp
! 	exit ;;
      Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
  	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
  	if test "`(/bin/universe) 2>/dev/null`" = att ; then
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 338,369 ****
  	else
  		echo pyramid-pyramid-bsd
  	fi
! 	exit 0 ;;
      NILE*:*:*:dcosx)
  	echo pyramid-pyramid-svr4
! 	exit 0 ;;
      DRS?6000:unix:4.0:6*)
  	echo sparc-icl-nx6
! 	exit 0 ;;
      DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
  	case `/usr/bin/uname -p` in
! 	    sparc) echo sparc-icl-nx7 && exit 0 ;;
  	esac ;;
      sun4H:SunOS:5.*:*)
  	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit 0 ;;
      sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit 0 ;;
      i86pc:SunOS:5.*:*)
  	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit 0 ;;
      sun4*:SunOS:6*:*)
  	# According to config.sub, this is the proper way to canonicalize
  	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  	# it's likely to be more like Solaris than SunOS4.
  	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit 0 ;;
      sun4*:SunOS:*:*)
  	case "`/usr/bin/arch -k`" in
  	    Series*|S4*)
--- 308,339 ----
  	else
  		echo pyramid-pyramid-bsd
  	fi
! 	exit ;;
      NILE*:*:*:dcosx)
  	echo pyramid-pyramid-svr4
! 	exit ;;
      DRS?6000:unix:4.0:6*)
  	echo sparc-icl-nx6
! 	exit ;;
      DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
  	case `/usr/bin/uname -p` in
! 	    sparc) echo sparc-icl-nx7; exit ;;
  	esac ;;
      sun4H:SunOS:5.*:*)
  	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit ;;
      sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit ;;
      i86pc:SunOS:5.*:*)
  	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit ;;
      sun4*:SunOS:6*:*)
  	# According to config.sub, this is the proper way to canonicalize
  	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
  	# it's likely to be more like Solaris than SunOS4.
  	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit ;;
      sun4*:SunOS:*:*)
  	case "`/usr/bin/arch -k`" in
  	    Series*|S4*)
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 372,381 ****
  	esac
  	# Japanese Language versions have a version number like `4.1.3-JL'.
  	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
! 	exit 0 ;;
      sun3*:SunOS:*:*)
  	echo m68k-sun-sunos${UNAME_RELEASE}
! 	exit 0 ;;
      sun*:*:4.2BSD:*)
  	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
  	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
--- 342,351 ----
  	esac
  	# Japanese Language versions have a version number like `4.1.3-JL'.
  	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
! 	exit ;;
      sun3*:SunOS:*:*)
  	echo m68k-sun-sunos${UNAME_RELEASE}
! 	exit ;;
      sun*:*:4.2BSD:*)
  	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
  	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 387,396 ****
  		echo sparc-sun-sunos${UNAME_RELEASE}
  		;;
  	esac
! 	exit 0 ;;
      aushp:SunOS:*:*)
  	echo sparc-auspex-sunos${UNAME_RELEASE}
! 	exit 0 ;;
      # The situation for MiNT is a little confusing.  The machine name
      # can be virtually everything (everything which is not
      # "atarist" or "atariste" at least should have a processor
--- 357,366 ----
  		echo sparc-sun-sunos${UNAME_RELEASE}
  		;;
  	esac
! 	exit ;;
      aushp:SunOS:*:*)
  	echo sparc-auspex-sunos${UNAME_RELEASE}
! 	exit ;;
      # The situation for MiNT is a little confusing.  The machine name
      # can be virtually everything (everything which is not
      # "atarist" or "atariste" at least should have a processor
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 401,440 ****
      # be no problem.
      atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
          echo m68k-atari-mint${UNAME_RELEASE}
! 	exit 0 ;;
      atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
  	echo m68k-atari-mint${UNAME_RELEASE}
!         exit 0 ;;
      *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
          echo m68k-atari-mint${UNAME_RELEASE}
! 	exit 0 ;;
      milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
          echo m68k-milan-mint${UNAME_RELEASE}
!         exit 0 ;;
      hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
          echo m68k-hades-mint${UNAME_RELEASE}
!         exit 0 ;;
      *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
          echo m68k-unknown-mint${UNAME_RELEASE}
!         exit 0 ;;
      m68k:machten:*:*)
  	echo m68k-apple-machten${UNAME_RELEASE}
! 	exit 0 ;;
      powerpc:machten:*:*)
  	echo powerpc-apple-machten${UNAME_RELEASE}
! 	exit 0 ;;
      RISC*:Mach:*:*)
  	echo mips-dec-mach_bsd4.3
! 	exit 0 ;;
      RISC*:ULTRIX:*:*)
  	echo mips-dec-ultrix${UNAME_RELEASE}
! 	exit 0 ;;
      VAX*:ULTRIX*:*:*)
  	echo vax-dec-ultrix${UNAME_RELEASE}
! 	exit 0 ;;
      2020:CLIX:*:* | 2430:CLIX:*:*)
  	echo clipper-intergraph-clix${UNAME_RELEASE}
! 	exit 0 ;;
      mips:*:*:UMIPS | mips:*:*:RISCos)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
--- 371,410 ----
      # be no problem.
      atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
          echo m68k-atari-mint${UNAME_RELEASE}
! 	exit ;;
      atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
  	echo m68k-atari-mint${UNAME_RELEASE}
!         exit ;;
      *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
          echo m68k-atari-mint${UNAME_RELEASE}
! 	exit ;;
      milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
          echo m68k-milan-mint${UNAME_RELEASE}
!         exit ;;
      hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
          echo m68k-hades-mint${UNAME_RELEASE}
!         exit ;;
      *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
          echo m68k-unknown-mint${UNAME_RELEASE}
!         exit ;;
      m68k:machten:*:*)
  	echo m68k-apple-machten${UNAME_RELEASE}
! 	exit ;;
      powerpc:machten:*:*)
  	echo powerpc-apple-machten${UNAME_RELEASE}
! 	exit ;;
      RISC*:Mach:*:*)
  	echo mips-dec-mach_bsd4.3
! 	exit ;;
      RISC*:ULTRIX:*:*)
  	echo mips-dec-ultrix${UNAME_RELEASE}
! 	exit ;;
      VAX*:ULTRIX*:*:*)
  	echo vax-dec-ultrix${UNAME_RELEASE}
! 	exit ;;
      2020:CLIX:*:* | 2430:CLIX:*:*)
  	echo clipper-intergraph-clix${UNAME_RELEASE}
! 	exit ;;
      mips:*:*:UMIPS | mips:*:*:RISCos)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
*************** case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
*** 458,489 ****
  	  exit (-1);
  	}
  EOF
! 	$CC_FOR_BUILD -o $dummy $dummy.c \
! 	  && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
! 	  && exit 0
  	echo mips-mips-riscos${UNAME_RELEASE}
! 	exit 0 ;;
      Motorola:PowerMAX_OS:*:*)
  	echo powerpc-motorola-powermax
! 	exit 0 ;;
      Motorola:*:4.3:PL8-*)
  	echo powerpc-harris-powermax
! 	exit 0 ;;
      Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
  	echo powerpc-harris-powermax
! 	exit 0 ;;
      Night_Hawk:Power_UNIX:*:*)
  	echo powerpc-harris-powerunix
! 	exit 0 ;;
      m88k:CX/UX:7*:*)
  	echo m88k-harris-cxux7
! 	exit 0 ;;
      m88k:*:4*:R4*)
  	echo m88k-motorola-sysv4
! 	exit 0 ;;
      m88k:*:3*:R3*)
  	echo m88k-motorola-sysv3
! 	exit 0 ;;
      AViiON:dgux:*:*)
          # DG/UX returns AViiON for all architectures
          UNAME_PROCESSOR=`/usr/bin/uname -p`
--- 428,460 ----
  	  exit (-1);
  	}
  EOF
! 	$CC_FOR_BUILD -o $dummy $dummy.c &&
! 	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
! 	  SYSTEM_NAME=`$dummy $dummyarg` &&
! 	    { echo "$SYSTEM_NAME"; exit; }
  	echo mips-mips-riscos${UNAME_RELEASE}
! 	exit ;;
      Motorola:PowerMAX_OS:*:*)
  	echo powerpc-motorola-powermax
! 	exit ;;
      Motorola:*:4.3:PL8-*)
  	echo powerpc-harris-powermax
! 	exit ;;
      Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
  	echo powerpc-harris-powermax
! 	exit ;;
      Night_Hawk:Power_UNIX:*:*)
  	echo powerpc-harris-powerunix
! 	exit ;;
      m88k:CX/UX:7*:*)
  	echo m88k-harris-cxux7
! 	exit ;;
      m88k:*:4*:R4*)
  	echo m88k-motorola-sysv4
! 	exit ;;
      m88k:*:3*:R3*)
  	echo m88k-motorola-sysv3
! 	exit ;;
      AViiON:dgux:*:*)
          # DG/UX returns AViiON for all architectures
          UNAME_PROCESSOR=`/usr/bin/uname -p`
*************** EOF
*** 499,527 ****
  	else
  	    echo i586-dg-dgux${UNAME_RELEASE}
  	fi
!  	exit 0 ;;
      M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
  	echo m88k-dolphin-sysv3
! 	exit 0 ;;
      M88*:*:R3*:*)
  	# Delta 88k system running SVR3
  	echo m88k-motorola-sysv3
! 	exit 0 ;;
      XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  	echo m88k-tektronix-sysv3
! 	exit 0 ;;
      Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  	echo m68k-tektronix-bsd
! 	exit 0 ;;
      *:IRIX*:*:*)
  	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
! 	exit 0 ;;
      ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
! 	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
! 	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
      i*86:AIX:*:*)
  	echo i386-ibm-aix
! 	exit 0 ;;
      ia64:AIX:*:*)
  	if [ -x /usr/bin/oslevel ] ; then
  		IBM_REV=`/usr/bin/oslevel`
--- 470,498 ----
  	else
  	    echo i586-dg-dgux${UNAME_RELEASE}
  	fi
!  	exit ;;
      M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
  	echo m88k-dolphin-sysv3
! 	exit ;;
      M88*:*:R3*:*)
  	# Delta 88k system running SVR3
  	echo m88k-motorola-sysv3
! 	exit ;;
      XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
  	echo m88k-tektronix-sysv3
! 	exit ;;
      Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
  	echo m68k-tektronix-bsd
! 	exit ;;
      *:IRIX*:*:*)
  	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
! 	exit ;;
      ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
! 	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
! 	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
      i*86:AIX:*:*)
  	echo i386-ibm-aix
! 	exit ;;
      ia64:AIX:*:*)
  	if [ -x /usr/bin/oslevel ] ; then
  		IBM_REV=`/usr/bin/oslevel`
*************** EOF
*** 529,535 ****
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
! 	exit 0 ;;
      *:AIX:2:3)
  	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  		eval $set_cc_for_build
--- 500,506 ----
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
! 	exit ;;
      *:AIX:2:3)
  	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
  		eval $set_cc_for_build
*************** EOF
*** 544,557 ****
  			exit(0);
  			}
  EOF
! 		$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
! 		echo rs6000-ibm-aix3.2.5
  	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  		echo rs6000-ibm-aix3.2.4
  	else
  		echo rs6000-ibm-aix3.2
  	fi
! 	exit 0 ;;
      *:AIX:*:[45])
  	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
  	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
--- 515,532 ----
  			exit(0);
  			}
  EOF
! 		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
! 		then
! 			echo "$SYSTEM_NAME"
! 		else
! 			echo rs6000-ibm-aix3.2.5
! 		fi
  	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
  		echo rs6000-ibm-aix3.2.4
  	else
  		echo rs6000-ibm-aix3.2
  	fi
! 	exit ;;
      *:AIX:*:[45])
  	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
  	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
*************** EOF
*** 565,592 ****
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
! 	exit 0 ;;
      *:AIX:*:*)
  	echo rs6000-ibm-aix
! 	exit 0 ;;
      ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  	echo romp-ibm-bsd4.4
! 	exit 0 ;;
      ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
  	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
! 	exit 0 ;;                           # report: romp-ibm BSD 4.3
      *:BOSX:*:*)
  	echo rs6000-bull-bosx
! 	exit 0 ;;
      DPX/2?00:B.O.S.:*:*)
  	echo m68k-bull-sysv3
! 	exit 0 ;;
      9000/[34]??:4.3bsd:1.*:*)
  	echo m68k-hp-bsd
! 	exit 0 ;;
      hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  	echo m68k-hp-bsd4.4
! 	exit 0 ;;
      9000/[34678]??:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	case "${UNAME_MACHINE}" in
--- 540,567 ----
  		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
  	fi
  	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
! 	exit ;;
      *:AIX:*:*)
  	echo rs6000-ibm-aix
! 	exit ;;
      ibmrt:4.4BSD:*|romp-ibm:BSD:*)
  	echo romp-ibm-bsd4.4
! 	exit ;;
      ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
  	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
! 	exit ;;                             # report: romp-ibm BSD 4.3
      *:BOSX:*:*)
  	echo rs6000-bull-bosx
! 	exit ;;
      DPX/2?00:B.O.S.:*:*)
  	echo m68k-bull-sysv3
! 	exit ;;
      9000/[34]??:4.3bsd:1.*:*)
  	echo m68k-hp-bsd
! 	exit ;;
      hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
  	echo m68k-hp-bsd4.4
! 	exit ;;
      9000/[34678]??:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	case "${UNAME_MACHINE}" in
*************** EOF
*** 648,656 ****
  	esac
  	if [ ${HP_ARCH} = "hppa2.0w" ]
  	then
! 	    # avoid double evaluation of $set_cc_for_build
! 	    test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
! 	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
  	    then
  		HP_ARCH="hppa2.0w"
  	    else
--- 623,641 ----
  	esac
  	if [ ${HP_ARCH} = "hppa2.0w" ]
  	then
! 	    eval $set_cc_for_build
! 
! 	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
! 	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
! 	    # generating 64-bit code.  GNU and HP use different nomenclature:
! 	    #
! 	    # $ CC_FOR_BUILD=cc ./config.guess
! 	    # => hppa2.0w-hp-hpux11.23
! 	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
! 	    # => hppa64-hp-hpux11.23
! 
! 	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
! 		grep __LP64__ >/dev/null
  	    then
  		HP_ARCH="hppa2.0w"
  	    else
*************** EOF
*** 658,668 ****
  	    fi
  	fi
  	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
! 	exit 0 ;;
      ia64:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	echo ia64-hp-hpux${HPUX_REV}
! 	exit 0 ;;
      3050*:HI-UX:*:*)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
--- 643,653 ----
  	    fi
  	fi
  	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
! 	exit ;;
      ia64:HP-UX:*:*)
  	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
  	echo ia64-hp-hpux${HPUX_REV}
! 	exit ;;
      3050*:HI-UX:*:*)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
*************** EOF
*** 690,847 ****
  	  exit (0);
  	}
  EOF
! 	$CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
  	echo unknown-hitachi-hiuxwe2
! 	exit 0 ;;
      9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  	echo hppa1.1-hp-bsd
! 	exit 0 ;;
      9000/8??:4.3bsd:*:*)
  	echo hppa1.0-hp-bsd
! 	exit 0 ;;
      *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
  	echo hppa1.0-hp-mpeix
! 	exit 0 ;;
      hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  	echo hppa1.1-hp-osf
! 	exit 0 ;;
      hp8??:OSF1:*:*)
  	echo hppa1.0-hp-osf
! 	exit 0 ;;
      i*86:OSF1:*:*)
  	if [ -x /usr/sbin/sysversion ] ; then
  	    echo ${UNAME_MACHINE}-unknown-osf1mk
  	else
  	    echo ${UNAME_MACHINE}-unknown-osf1
  	fi
! 	exit 0 ;;
      parisc*:Lites*:*:*)
  	echo hppa1.1-hp-lites
! 	exit 0 ;;
      C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  	echo c1-convex-bsd
!         exit 0 ;;
      C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
!         exit 0 ;;
      C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  	echo c34-convex-bsd
!         exit 0 ;;
      C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  	echo c38-convex-bsd
!         exit 0 ;;
      C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  	echo c4-convex-bsd
!         exit 0 ;;
      CRAY*Y-MP:*:*:*)
  	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      CRAY*[A-Z]90:*:*:*)
  	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
  	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
  	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
  	      -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      CRAY*TS:*:*:*)
  	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      CRAY*T3E:*:*:*)
  	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      CRAY*SV1:*:*:*)
  	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      *:UNICOS/mp:*:*)
  	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit 0 ;;
      F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
  	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
          FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
          echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
!         exit 0 ;;
      5000:UNIX_System_V:4.*:*)
          FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
          echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
! 	exit 0 ;;
      i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
  	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
! 	exit 0 ;;
      sparc*:BSD/OS:*:*)
  	echo sparc-unknown-bsdi${UNAME_RELEASE}
! 	exit 0 ;;
      *:BSD/OS:*:*)
  	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
! 	exit 0 ;;
      *:FreeBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
! 	exit 0 ;;
      i*:CYGWIN*:*)
  	echo ${UNAME_MACHINE}-pc-cygwin
! 	exit 0 ;;
      i*:MINGW*:*)
  	echo ${UNAME_MACHINE}-pc-mingw32
! 	exit 0 ;;
      i*:PW*:*)
  	echo ${UNAME_MACHINE}-pc-pw32
! 	exit 0 ;;
!     x86:Interix*:[34]*)
  	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
! 	exit 0 ;;
      [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
  	echo i${UNAME_MACHINE}-pc-mks
! 	exit 0 ;;
      i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
  	# How do we know it's Interix rather than the generic POSIX subsystem?
  	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
  	# UNAME_MACHINE based on the output of uname instead of i386?
  	echo i586-pc-interix
! 	exit 0 ;;
      i*:UWIN*:*)
  	echo ${UNAME_MACHINE}-pc-uwin
! 	exit 0 ;;
      p*:CYGWIN*:*)
  	echo powerpcle-unknown-cygwin
! 	exit 0 ;;
      prep*:SunOS:5.*:*)
  	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit 0 ;;
      *:GNU:*:*)
  	# the GNU system
  	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
! 	exit 0 ;;
      *:GNU/*:*:*)
  	# other systems with GNU libc and userland
  	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
! 	exit 0 ;;
      i*86:Minix:*:*)
  	echo ${UNAME_MACHINE}-pc-minix
! 	exit 0 ;;
      arm*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      cris:Linux:*:*)
  	echo cris-axis-linux-gnu
! 	exit 0 ;;
      crisv32:Linux:*:*)
  	echo crisv32-axis-linux-gnu
! 	exit 0 ;;
      frv:Linux:*:*)
      	echo frv-unknown-linux-gnu
! 	exit 0 ;;
      ia64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      m32r*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      m68*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      mips:Linux:*:*)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
--- 675,840 ----
  	  exit (0);
  	}
  EOF
! 	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
! 		{ echo "$SYSTEM_NAME"; exit; }
  	echo unknown-hitachi-hiuxwe2
! 	exit ;;
      9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
  	echo hppa1.1-hp-bsd
! 	exit ;;
      9000/8??:4.3bsd:*:*)
  	echo hppa1.0-hp-bsd
! 	exit ;;
      *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
  	echo hppa1.0-hp-mpeix
! 	exit ;;
      hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
  	echo hppa1.1-hp-osf
! 	exit ;;
      hp8??:OSF1:*:*)
  	echo hppa1.0-hp-osf
! 	exit ;;
      i*86:OSF1:*:*)
  	if [ -x /usr/sbin/sysversion ] ; then
  	    echo ${UNAME_MACHINE}-unknown-osf1mk
  	else
  	    echo ${UNAME_MACHINE}-unknown-osf1
  	fi
! 	exit ;;
      parisc*:Lites*:*:*)
  	echo hppa1.1-hp-lites
! 	exit ;;
      C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
  	echo c1-convex-bsd
!         exit ;;
      C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
!         exit ;;
      C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
  	echo c34-convex-bsd
!         exit ;;
      C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
  	echo c38-convex-bsd
!         exit ;;
      C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
  	echo c4-convex-bsd
!         exit ;;
      CRAY*Y-MP:*:*:*)
  	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit ;;
      CRAY*[A-Z]90:*:*:*)
  	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
  	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
  	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
  	      -e 's/\.[^.]*$/.X/'
! 	exit ;;
      CRAY*TS:*:*:*)
  	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit ;;
      CRAY*T3E:*:*:*)
  	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit ;;
      CRAY*SV1:*:*:*)
  	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit ;;
      *:UNICOS/mp:*:*)
  	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
! 	exit ;;
      F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
  	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
          FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
          echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
!         exit ;;
      5000:UNIX_System_V:4.*:*)
          FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
          FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
          echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
! 	exit ;;
      i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
  	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
! 	exit ;;
      sparc*:BSD/OS:*:*)
  	echo sparc-unknown-bsdi${UNAME_RELEASE}
! 	exit ;;
      *:BSD/OS:*:*)
  	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
! 	exit ;;
      *:FreeBSD:*:*)
  	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
! 	exit ;;
      i*:CYGWIN*:*)
  	echo ${UNAME_MACHINE}-pc-cygwin
! 	exit ;;
      i*:MINGW*:*)
  	echo ${UNAME_MACHINE}-pc-mingw32
! 	exit ;;
!     i*:windows32*:*)
!     	# uname -m includes "-pc" on this system.
!     	echo ${UNAME_MACHINE}-mingw32
! 	exit ;;
      i*:PW*:*)
  	echo ${UNAME_MACHINE}-pc-pw32
! 	exit ;;
!     x86:Interix*:[345]*)
  	echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
! 	exit ;;
      [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
  	echo i${UNAME_MACHINE}-pc-mks
! 	exit ;;
      i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
  	# How do we know it's Interix rather than the generic POSIX subsystem?
  	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
  	# UNAME_MACHINE based on the output of uname instead of i386?
  	echo i586-pc-interix
! 	exit ;;
      i*:UWIN*:*)
  	echo ${UNAME_MACHINE}-pc-uwin
! 	exit ;;
!     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
! 	echo x86_64-unknown-cygwin
! 	exit ;;
      p*:CYGWIN*:*)
  	echo powerpcle-unknown-cygwin
! 	exit ;;
      prep*:SunOS:5.*:*)
  	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
! 	exit ;;
      *:GNU:*:*)
  	# the GNU system
  	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
! 	exit ;;
      *:GNU/*:*:*)
  	# other systems with GNU libc and userland
  	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
! 	exit ;;
      i*86:Minix:*:*)
  	echo ${UNAME_MACHINE}-pc-minix
! 	exit ;;
      arm*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      cris:Linux:*:*)
  	echo cris-axis-linux-gnu
! 	exit ;;
      crisv32:Linux:*:*)
  	echo crisv32-axis-linux-gnu
! 	exit ;;
      frv:Linux:*:*)
      	echo frv-unknown-linux-gnu
! 	exit ;;
      ia64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      m32r*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      m68*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      mips:Linux:*:*)
  	eval $set_cc_for_build
  	sed 's/^	//' << EOF >$dummy.c
*************** EOF
*** 859,865 ****
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
! 	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
  	;;
      mips64:Linux:*:*)
  	eval $set_cc_for_build
--- 852,858 ----
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
! 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
  	;;
      mips64:Linux:*:*)
  	eval $set_cc_for_build
*************** EOF
*** 878,891 ****
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
! 	test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
  	;;
      ppc:Linux:*:*)
  	echo powerpc-unknown-linux-gnu
! 	exit 0 ;;
      ppc64:Linux:*:*)
  	echo powerpc64-unknown-linux-gnu
! 	exit 0 ;;
      alpha:Linux:*:*)
  	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  	  EV5)   UNAME_MACHINE=alphaev5 ;;
--- 871,887 ----
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
! 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
  	;;
+     or32:Linux:*:*)
+ 	echo or32-unknown-linux-gnu
+ 	exit ;;
      ppc:Linux:*:*)
  	echo powerpc-unknown-linux-gnu
! 	exit ;;
      ppc64:Linux:*:*)
  	echo powerpc64-unknown-linux-gnu
! 	exit ;;
      alpha:Linux:*:*)
  	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  	  EV5)   UNAME_MACHINE=alphaev5 ;;
*************** EOF
*** 899,905 ****
  	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
  	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
! 	exit 0 ;;
      parisc:Linux:*:* | hppa:Linux:*:*)
  	# Look for CPU level
  	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
--- 895,901 ----
  	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
  	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
! 	exit ;;
      parisc:Linux:*:* | hppa:Linux:*:*)
  	# Look for CPU level
  	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
*************** EOF
*** 907,931 ****
  	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
  	  *)    echo hppa-unknown-linux-gnu ;;
  	esac
! 	exit 0 ;;
      parisc64:Linux:*:* | hppa64:Linux:*:*)
  	echo hppa64-unknown-linux-gnu
! 	exit 0 ;;
      s390:Linux:*:* | s390x:Linux:*:*)
  	echo ${UNAME_MACHINE}-ibm-linux
! 	exit 0 ;;
      sh64*:Linux:*:*)
      	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      sh*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      sparc:Linux:*:* | sparc64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit 0 ;;
      x86_64:Linux:*:*)
  	echo x86_64-unknown-linux-gnu
! 	exit 0 ;;
      i*86:Linux:*:*)
  	# The BFD linker knows what the default object file format is, so
  	# first see if it will tell us. cd to the root directory to prevent
--- 903,927 ----
  	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
  	  *)    echo hppa-unknown-linux-gnu ;;
  	esac
! 	exit ;;
      parisc64:Linux:*:* | hppa64:Linux:*:*)
  	echo hppa64-unknown-linux-gnu
! 	exit ;;
      s390:Linux:*:* | s390x:Linux:*:*)
  	echo ${UNAME_MACHINE}-ibm-linux
! 	exit ;;
      sh64*:Linux:*:*)
      	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      sh*:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      sparc:Linux:*:* | sparc64:Linux:*:*)
  	echo ${UNAME_MACHINE}-unknown-linux-gnu
! 	exit ;;
      x86_64:Linux:*:*)
  	echo x86_64-unknown-linux-gnu
! 	exit ;;
      i*86:Linux:*:*)
  	# The BFD linker knows what the default object file format is, so
  	# first see if it will tell us. cd to the root directory to prevent
*************** EOF
*** 943,957 ****
  		;;
  	  a.out-i386-linux)
  		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
! 		exit 0 ;;
  	  coff-i386)
  		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
! 		exit 0 ;;
  	  "")
  		# Either a pre-BFD a.out linker (linux-gnuoldld) or
  		# one that does not give us useful --help.
  		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
! 		exit 0 ;;
  	esac
  	# Determine whether the default compiler is a.out or elf
  	eval $set_cc_for_build
--- 939,953 ----
  		;;
  	  a.out-i386-linux)
  		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
! 		exit ;;
  	  coff-i386)
  		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
! 		exit ;;
  	  "")
  		# Either a pre-BFD a.out linker (linux-gnuoldld) or
  		# one that does not give us useful --help.
  		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
! 		exit ;;
  	esac
  	# Determine whether the default compiler is a.out or elf
  	eval $set_cc_for_build
*************** EOF
*** 979,993 ****
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
! 	test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
! 	test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
  	;;
      i*86:DYNIX/ptx:4*:*)
  	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  	# earlier versions are messed up and put the nodename in both
  	# sysname and nodename.
  	echo i386-sequent-sysv4
! 	exit 0 ;;
      i*86:UNIX_SV:4.2MP:2.*)
          # Unixware is an offshoot of SVR4, but it has its own version
          # number series starting with 2...
--- 975,992 ----
  	#endif
  EOF
  	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
! 	test x"${LIBC}" != x && {
! 		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
! 		exit
! 	}
! 	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
  	;;
      i*86:DYNIX/ptx:4*:*)
  	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  	# earlier versions are messed up and put the nodename in both
  	# sysname and nodename.
  	echo i386-sequent-sysv4
! 	exit ;;
      i*86:UNIX_SV:4.2MP:2.*)
          # Unixware is an offshoot of SVR4, but it has its own version
          # number series starting with 2...
*************** EOF
*** 995,1021 ****
  	# I just have to hope.  -- rms.
          # Use sysv4.2uw... so that sysv4* matches it.
  	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
! 	exit 0 ;;
      i*86:OS/2:*:*)
  	# If we were able to find `uname', then EMX Unix compatibility
  	# is probably installed.
  	echo ${UNAME_MACHINE}-pc-os2-emx
! 	exit 0 ;;
      i*86:XTS-300:*:STOP)
  	echo ${UNAME_MACHINE}-unknown-stop
! 	exit 0 ;;
      i*86:atheos:*:*)
  	echo ${UNAME_MACHINE}-unknown-atheos
! 	exit 0 ;;
! 	i*86:syllable:*:*)
  	echo ${UNAME_MACHINE}-pc-syllable
! 	exit 0 ;;
      i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
  	echo i386-unknown-lynxos${UNAME_RELEASE}
! 	exit 0 ;;
      i*86:*DOS:*:*)
  	echo ${UNAME_MACHINE}-pc-msdosdjgpp
! 	exit 0 ;;
      i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
--- 994,1020 ----
  	# I just have to hope.  -- rms.
          # Use sysv4.2uw... so that sysv4* matches it.
  	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
! 	exit ;;
      i*86:OS/2:*:*)
  	# If we were able to find `uname', then EMX Unix compatibility
  	# is probably installed.
  	echo ${UNAME_MACHINE}-pc-os2-emx
! 	exit ;;
      i*86:XTS-300:*:STOP)
  	echo ${UNAME_MACHINE}-unknown-stop
! 	exit ;;
      i*86:atheos:*:*)
  	echo ${UNAME_MACHINE}-unknown-atheos
! 	exit ;;
!     i*86:syllable:*:*)
  	echo ${UNAME_MACHINE}-pc-syllable
! 	exit ;;
      i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
  	echo i386-unknown-lynxos${UNAME_RELEASE}
! 	exit ;;
      i*86:*DOS:*:*)
  	echo ${UNAME_MACHINE}-pc-msdosdjgpp
! 	exit ;;
      i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
  	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
  	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
*************** EOF
*** 1023,1037 ****
  	else
  		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  	fi
! 	exit 0 ;;
!     i*86:*:5:[78]*)
  	case `/bin/uname -X | grep "^Machine"` in
  	    *486*)	     UNAME_MACHINE=i486 ;;
  	    *Pentium)	     UNAME_MACHINE=i586 ;;
  	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  	esac
  	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
! 	exit 0 ;;
      i*86:*:3.2:*)
  	if test -f /usr/options/cb.name; then
  		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
--- 1022,1037 ----
  	else
  		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
  	fi
! 	exit ;;
!     i*86:*:5:[678]*)
!     	# UnixWare 7.x, OpenUNIX and OpenServer 6.
  	case `/bin/uname -X | grep "^Machine"` in
  	    *486*)	     UNAME_MACHINE=i486 ;;
  	    *Pentium)	     UNAME_MACHINE=i586 ;;
  	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
  	esac
  	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
! 	exit ;;
      i*86:*:3.2:*)
  	if test -f /usr/options/cb.name; then
  		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
*************** EOF
*** 1049,1121 ****
  	else
  		echo ${UNAME_MACHINE}-pc-sysv32
  	fi
! 	exit 0 ;;
      pc:*:*:*)
  	# Left here for compatibility:
          # uname -m prints for DJGPP always 'pc', but it prints nothing about
          # the processor, so we play safe by assuming i386.
  	echo i386-pc-msdosdjgpp
!         exit 0 ;;
      Intel:Mach:3*:*)
  	echo i386-pc-mach3
! 	exit 0 ;;
      paragon:*:*:*)
  	echo i860-intel-osf1
! 	exit 0 ;;
      i860:*:4.*:*) # i860-SVR4
  	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  	else # Add other i860-SVR4 vendors below as they are discovered.
  	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  	fi
! 	exit 0 ;;
      mini*:CTIX:SYS*5:*)
  	# "miniframe"
  	echo m68010-convergent-sysv
! 	exit 0 ;;
      mc68k:UNIX:SYSTEM5:3.51m)
  	echo m68k-convergent-sysv
! 	exit 0 ;;
      M680?0:D-NIX:5.3:*)
  	echo m68k-diab-dnix
! 	exit 0 ;;
      M68*:*:R3V[5678]*:*)
! 	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
      3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
  	OS_REL=''
  	test -r /etc/.relid \
  	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
! 	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
  	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
! 	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
      3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
          /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
!           && echo i486-ncr-sysv4 && exit 0 ;;
      m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  	echo m68k-unknown-lynxos${UNAME_RELEASE}
! 	exit 0 ;;
      mc68030:UNIX_System_V:4.*:*)
  	echo m68k-atari-sysv4
! 	exit 0 ;;
      TSUNAMI:LynxOS:2.*:*)
  	echo sparc-unknown-lynxos${UNAME_RELEASE}
! 	exit 0 ;;
      rs6000:LynxOS:2.*:*)
  	echo rs6000-unknown-lynxos${UNAME_RELEASE}
! 	exit 0 ;;
      PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
  	echo powerpc-unknown-lynxos${UNAME_RELEASE}
! 	exit 0 ;;
      SM[BE]S:UNIX_SV:*:*)
  	echo mips-dde-sysv${UNAME_RELEASE}
! 	exit 0 ;;
      RM*:ReliantUNIX-*:*:*)
  	echo mips-sni-sysv4
! 	exit 0 ;;
      RM*:SINIX-*:*:*)
  	echo mips-sni-sysv4
! 	exit 0 ;;
      *:SINIX-*:*:*)
  	if uname -p 2>/dev/null >/dev/null ; then
  		UNAME_MACHINE=`(uname -p) 2>/dev/null`
--- 1049,1121 ----
  	else
  		echo ${UNAME_MACHINE}-pc-sysv32
  	fi
! 	exit ;;
      pc:*:*:*)
  	# Left here for compatibility:
          # uname -m prints for DJGPP always 'pc', but it prints nothing about
          # the processor, so we play safe by assuming i386.
  	echo i386-pc-msdosdjgpp
!         exit ;;
      Intel:Mach:3*:*)
  	echo i386-pc-mach3
! 	exit ;;
      paragon:*:*:*)
  	echo i860-intel-osf1
! 	exit ;;
      i860:*:4.*:*) # i860-SVR4
  	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
  	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
  	else # Add other i860-SVR4 vendors below as they are discovered.
  	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
  	fi
! 	exit ;;
      mini*:CTIX:SYS*5:*)
  	# "miniframe"
  	echo m68010-convergent-sysv
! 	exit ;;
      mc68k:UNIX:SYSTEM5:3.51m)
  	echo m68k-convergent-sysv
! 	exit ;;
      M680?0:D-NIX:5.3:*)
  	echo m68k-diab-dnix
! 	exit ;;
      M68*:*:R3V[5678]*:*)
! 	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
      3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
  	OS_REL=''
  	test -r /etc/.relid \
  	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
  	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
! 	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
  	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
! 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
      3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
          /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
!           && { echo i486-ncr-sysv4; exit; } ;;
      m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
  	echo m68k-unknown-lynxos${UNAME_RELEASE}
! 	exit ;;
      mc68030:UNIX_System_V:4.*:*)
  	echo m68k-atari-sysv4
! 	exit ;;
      TSUNAMI:LynxOS:2.*:*)
  	echo sparc-unknown-lynxos${UNAME_RELEASE}
! 	exit ;;
      rs6000:LynxOS:2.*:*)
  	echo rs6000-unknown-lynxos${UNAME_RELEASE}
! 	exit ;;
      PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
  	echo powerpc-unknown-lynxos${UNAME_RELEASE}
! 	exit ;;
      SM[BE]S:UNIX_SV:*:*)
  	echo mips-dde-sysv${UNAME_RELEASE}
! 	exit ;;
      RM*:ReliantUNIX-*:*:*)
  	echo mips-sni-sysv4
! 	exit ;;
      RM*:SINIX-*:*:*)
  	echo mips-sni-sysv4
! 	exit ;;
      *:SINIX-*:*:*)
  	if uname -p 2>/dev/null >/dev/null ; then
  		UNAME_MACHINE=`(uname -p) 2>/dev/null`
*************** EOF
*** 1123,1191 ****
  	else
  		echo ns32k-sni-sysv
  	fi
! 	exit 0 ;;
      PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                        # says <Richard.M.Bartel@ccMail.Census.GOV>
          echo i586-unisys-sysv4
!         exit 0 ;;
      *:UNIX_System_V:4*:FTX*)
  	# From Gerald Hewes <hewes@openmarket.com>.
  	# How about differentiating between stratus architectures? -djm
  	echo hppa1.1-stratus-sysv4
! 	exit 0 ;;
      *:*:*:FTX*)
  	# From seanf@swdc.stratus.com.
  	echo i860-stratus-sysv4
! 	exit 0 ;;
      *:VOS:*:*)
  	# From Paul.Green@stratus.com.
  	echo hppa1.1-stratus-vos
! 	exit 0 ;;
      mc68*:A/UX:*:*)
  	echo m68k-apple-aux${UNAME_RELEASE}
! 	exit 0 ;;
      news*:NEWS-OS:6*:*)
  	echo mips-sony-newsos6
! 	exit 0 ;;
      R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  	if [ -d /usr/nec ]; then
  	        echo mips-nec-sysv${UNAME_RELEASE}
  	else
  	        echo mips-unknown-sysv${UNAME_RELEASE}
  	fi
!         exit 0 ;;
      BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
  	echo powerpc-be-beos
! 	exit 0 ;;
      BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
  	echo powerpc-apple-beos
! 	exit 0 ;;
      BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
  	echo i586-pc-beos
! 	exit 0 ;;
      SX-4:SUPER-UX:*:*)
  	echo sx4-nec-superux${UNAME_RELEASE}
! 	exit 0 ;;
      SX-5:SUPER-UX:*:*)
  	echo sx5-nec-superux${UNAME_RELEASE}
! 	exit 0 ;;
      SX-6:SUPER-UX:*:*)
  	echo sx6-nec-superux${UNAME_RELEASE}
! 	exit 0 ;;
      Power*:Rhapsody:*:*)
  	echo powerpc-apple-rhapsody${UNAME_RELEASE}
! 	exit 0 ;;
      *:Rhapsody:*:*)
  	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
! 	exit 0 ;;
      *:Darwin:*:*)
  	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  	case $UNAME_PROCESSOR in
- 	    *86) UNAME_PROCESSOR=i686 ;;
  	    unknown) UNAME_PROCESSOR=powerpc ;;
  	esac
  	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
! 	exit 0 ;;
      *:procnto*:*:* | *:QNX:[0123456789]*:*)
  	UNAME_PROCESSOR=`uname -p`
  	if test "$UNAME_PROCESSOR" = "x86"; then
--- 1123,1194 ----
  	else
  		echo ns32k-sni-sysv
  	fi
! 	exit ;;
      PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                        # says <Richard.M.Bartel@ccMail.Census.GOV>
          echo i586-unisys-sysv4
!         exit ;;
      *:UNIX_System_V:4*:FTX*)
  	# From Gerald Hewes <hewes@openmarket.com>.
  	# How about differentiating between stratus architectures? -djm
  	echo hppa1.1-stratus-sysv4
! 	exit ;;
      *:*:*:FTX*)
  	# From seanf@swdc.stratus.com.
  	echo i860-stratus-sysv4
! 	exit ;;
!     i*86:VOS:*:*)
! 	# From Paul.Green@stratus.com.
! 	echo ${UNAME_MACHINE}-stratus-vos
! 	exit ;;
      *:VOS:*:*)
  	# From Paul.Green@stratus.com.
  	echo hppa1.1-stratus-vos
! 	exit ;;
      mc68*:A/UX:*:*)
  	echo m68k-apple-aux${UNAME_RELEASE}
! 	exit ;;
      news*:NEWS-OS:6*:*)
  	echo mips-sony-newsos6
! 	exit ;;
      R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
  	if [ -d /usr/nec ]; then
  	        echo mips-nec-sysv${UNAME_RELEASE}
  	else
  	        echo mips-unknown-sysv${UNAME_RELEASE}
  	fi
!         exit ;;
      BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
  	echo powerpc-be-beos
! 	exit ;;
      BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
  	echo powerpc-apple-beos
! 	exit ;;
      BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
  	echo i586-pc-beos
! 	exit ;;
      SX-4:SUPER-UX:*:*)
  	echo sx4-nec-superux${UNAME_RELEASE}
! 	exit ;;
      SX-5:SUPER-UX:*:*)
  	echo sx5-nec-superux${UNAME_RELEASE}
! 	exit ;;
      SX-6:SUPER-UX:*:*)
  	echo sx6-nec-superux${UNAME_RELEASE}
! 	exit ;;
      Power*:Rhapsody:*:*)
  	echo powerpc-apple-rhapsody${UNAME_RELEASE}
! 	exit ;;
      *:Rhapsody:*:*)
  	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
! 	exit ;;
      *:Darwin:*:*)
  	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  	case $UNAME_PROCESSOR in
  	    unknown) UNAME_PROCESSOR=powerpc ;;
  	esac
  	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
! 	exit ;;
      *:procnto*:*:* | *:QNX:[0123456789]*:*)
  	UNAME_PROCESSOR=`uname -p`
  	if test "$UNAME_PROCESSOR" = "x86"; then
*************** EOF
*** 1193,1214 ****
  		UNAME_MACHINE=pc
  	fi
  	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
! 	exit 0 ;;
      *:QNX:*:4*)
  	echo i386-pc-qnx
! 	exit 0 ;;
      NSR-?:NONSTOP_KERNEL:*:*)
  	echo nsr-tandem-nsk${UNAME_RELEASE}
! 	exit 0 ;;
      *:NonStop-UX:*:*)
  	echo mips-compaq-nonstopux
! 	exit 0 ;;
      BS2000:POSIX*:*:*)
  	echo bs2000-siemens-sysv
! 	exit 0 ;;
      DS/*:UNIX_System_V:*:*)
  	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
! 	exit 0 ;;
      *:Plan9:*:*)
  	# "uname -m" is not consistent, so use $cputype instead. 386
  	# is converted to i386 for consistency with other x86
--- 1196,1220 ----
  		UNAME_MACHINE=pc
  	fi
  	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
! 	exit ;;
      *:QNX:*:4*)
  	echo i386-pc-qnx
! 	exit ;;
!     NSE-?:NONSTOP_KERNEL:*:*)
! 	echo nse-tandem-nsk${UNAME_RELEASE}
! 	exit ;;
      NSR-?:NONSTOP_KERNEL:*:*)
  	echo nsr-tandem-nsk${UNAME_RELEASE}
! 	exit ;;
      *:NonStop-UX:*:*)
  	echo mips-compaq-nonstopux
! 	exit ;;
      BS2000:POSIX*:*:*)
  	echo bs2000-siemens-sysv
! 	exit ;;
      DS/*:UNIX_System_V:*:*)
  	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
! 	exit ;;
      *:Plan9:*:*)
  	# "uname -m" is not consistent, so use $cputype instead. 386
  	# is converted to i386 for consistency with other x86
*************** EOF
*** 1219,1259 ****
  	    UNAME_MACHINE="$cputype"
  	fi
  	echo ${UNAME_MACHINE}-unknown-plan9
! 	exit 0 ;;
      *:TOPS-10:*:*)
  	echo pdp10-unknown-tops10
! 	exit 0 ;;
      *:TENEX:*:*)
  	echo pdp10-unknown-tenex
! 	exit 0 ;;
      KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  	echo pdp10-dec-tops20
! 	exit 0 ;;
      XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  	echo pdp10-xkl-tops20
! 	exit 0 ;;
      *:TOPS-20:*:*)
  	echo pdp10-unknown-tops20
! 	exit 0 ;;
      *:ITS:*:*)
  	echo pdp10-unknown-its
! 	exit 0 ;;
      SEI:*:*:SEIUX)
          echo mips-sei-seiux${UNAME_RELEASE}
! 	exit 0 ;;
      *:DragonFly:*:*)
  	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
! 	exit 0 ;;
      *:*VMS:*:*)
      	UNAME_MACHINE=`(uname -p) 2>/dev/null`
  	case "${UNAME_MACHINE}" in
! 	    A*) echo alpha-dec-vms && exit 0 ;;
! 	    I*) echo ia64-dec-vms && exit 0 ;;
! 	    V*) echo vax-dec-vms && exit 0 ;;
  	esac ;;
      *:XENIX:*:SysV)
  	echo i386-pc-xenix
! 	exit 0 ;;
  esac
  
  #echo '(No uname command or uname output not recognized.)' 1>&2
--- 1225,1268 ----
  	    UNAME_MACHINE="$cputype"
  	fi
  	echo ${UNAME_MACHINE}-unknown-plan9
! 	exit ;;
      *:TOPS-10:*:*)
  	echo pdp10-unknown-tops10
! 	exit ;;
      *:TENEX:*:*)
  	echo pdp10-unknown-tenex
! 	exit ;;
      KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
  	echo pdp10-dec-tops20
! 	exit ;;
      XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
  	echo pdp10-xkl-tops20
! 	exit ;;
      *:TOPS-20:*:*)
  	echo pdp10-unknown-tops20
! 	exit ;;
      *:ITS:*:*)
  	echo pdp10-unknown-its
! 	exit ;;
      SEI:*:*:SEIUX)
          echo mips-sei-seiux${UNAME_RELEASE}
! 	exit ;;
      *:DragonFly:*:*)
  	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
! 	exit ;;
      *:*VMS:*:*)
      	UNAME_MACHINE=`(uname -p) 2>/dev/null`
  	case "${UNAME_MACHINE}" in
! 	    A*) echo alpha-dec-vms ; exit ;;
! 	    I*) echo ia64-dec-vms ; exit ;;
! 	    V*) echo vax-dec-vms ; exit ;;
  	esac ;;
      *:XENIX:*:SysV)
  	echo i386-pc-xenix
! 	exit ;;
!     i*86:skyos:*:*)
! 	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
! 	exit ;;
  esac
  
  #echo '(No uname command or uname output not recognized.)' 1>&2
*************** main ()
*** 1285,1291 ****
  #endif
  
  #if defined (__arm) && defined (__acorn) && defined (__unix)
!   printf ("arm-acorn-riscix"); exit (0);
  #endif
  
  #if defined (hp300) && !defined (hpux)
--- 1294,1300 ----
  #endif
  
  #if defined (__arm) && defined (__acorn) && defined (__unix)
!   printf ("arm-acorn-riscix\n"); exit (0);
  #endif
  
  #if defined (hp300) && !defined (hpux)
*************** main ()
*** 1374,1384 ****
  }
  EOF
  
! $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
  
  # Apollos put the system type in the environment.
  
! test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
  
  # Convex versions that predate uname can use getsysinfo(1)
  
--- 1383,1394 ----
  }
  EOF
  
! $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
! 	{ echo "$SYSTEM_NAME"; exit; }
  
  # Apollos put the system type in the environment.
  
! test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
  
  # Convex versions that predate uname can use getsysinfo(1)
  
*************** then
*** 1387,1408 ****
      case `getsysinfo -f cpu_type` in
      c1*)
  	echo c1-convex-bsd
! 	exit 0 ;;
      c2*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
! 	exit 0 ;;
      c34*)
  	echo c34-convex-bsd
! 	exit 0 ;;
      c38*)
  	echo c38-convex-bsd
! 	exit 0 ;;
      c4*)
  	echo c4-convex-bsd
! 	exit 0 ;;
      esac
  fi
  
--- 1397,1418 ----
      case `getsysinfo -f cpu_type` in
      c1*)
  	echo c1-convex-bsd
! 	exit ;;
      c2*)
  	if getsysinfo -f scalar_acc
  	then echo c32-convex-bsd
  	else echo c2-convex-bsd
  	fi
! 	exit ;;
      c34*)
  	echo c34-convex-bsd
! 	exit ;;
      c38*)
  	echo c38-convex-bsd
! 	exit ;;
      c4*)
  	echo c4-convex-bsd
! 	exit ;;
      esac
  fi
  
*************** This script, last modified $timestamp, h
*** 1413,1419 ****
  the operating system you are using. It is advised that you
  download the most up to date version of the config scripts from
  
!     ftp://ftp.gnu.org/pub/gnu/config/
  
  If the version you run ($0) is already up to date, please
  send the following data and any information you think might be
--- 1423,1431 ----
  the operating system you are using. It is advised that you
  download the most up to date version of the config scripts from
  
!   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
! and
!   http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
  
  If the version you run ($0) is already up to date, please
  send the following data and any information you think might be
diff -Nrcpad gcc-4.0.2/config.rpath gcc-4.1.0/config.rpath
*** gcc-4.0.2/config.rpath	Fri Jul  4 18:18:43 2003
--- gcc-4.1.0/config.rpath	Sat Jul 16 02:30:53 2005
***************
*** 18,24 ****
  #
  #   You should have received a copy of the GNU General Public License
  #   along with this program; if not, write to the Free Software
! #   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  #
  #   As a special exception to the GNU General Public License, if you
  #   distribute this file as part of a program that contains a
--- 18,24 ----
  #
  #   You should have received a copy of the GNU General Public License
  #   along with this program; if not, write to the Free Software
! #   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  #
  #   As a special exception to the GNU General Public License, if you
  #   distribute this file as part of a program that contains a
diff -Nrcpad gcc-4.0.2/config.sub gcc-4.1.0/config.sub
*** gcc-4.0.2/config.sub	Mon Apr 25 10:36:56 2005
--- gcc-4.1.0/config.sub	Fri Dec 16 12:57:40 2005
***************
*** 3,9 ****
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  #   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
  
! timestamp='2005-04-22'
  
  # This file is (in principle) common to ALL GNU software.
  # The presence of a machine in this file suggests that SOME GNU software
--- 3,9 ----
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  #   2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
  
! timestamp='2005-12-06'
  
  # This file is (in principle) common to ALL GNU software.
  # The presence of a machine in this file suggests that SOME GNU software
*************** timestamp='2005-04-22'
*** 21,34 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
! 
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # configuration script generated by Autoconf, you may include it under
  # the same distribution terms that you use for the rest of that program.
  
  # Please send patches to <config-patches@gnu.org>.  Submit a context
  # diff and a properly formatted ChangeLog entry.
  #
--- 21,35 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
! # 02110-1301, USA.
! #
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
  # configuration script generated by Autoconf, you may include it under
  # the same distribution terms that you use for the rest of that program.
  
+ 
  # Please send patches to <config-patches@gnu.org>.  Submit a context
  # diff and a properly formatted ChangeLog entry.
  #
*************** Try \`$me --help' for more information."
*** 83,93 ****
  while test $# -gt 0 ; do
    case $1 in
      --time-stamp | --time* | -t )
!        echo "$timestamp" ; exit 0 ;;
      --version | -v )
!        echo "$version" ; exit 0 ;;
      --help | --h* | -h )
!        echo "$usage"; exit 0 ;;
      -- )     # Stop option processing
         shift; break ;;
      - )	# Use stdin as input.
--- 84,94 ----
  while test $# -gt 0 ; do
    case $1 in
      --time-stamp | --time* | -t )
!        echo "$timestamp" ; exit ;;
      --version | -v )
!        echo "$version" ; exit ;;
      --help | --h* | -h )
!        echo "$usage"; exit ;;
      -- )     # Stop option processing
         shift; break ;;
      - )	# Use stdin as input.
*************** while test $# -gt 0 ; do
*** 99,105 ****
      *local*)
         # First pass through any local machine types.
         echo $1
!        exit 0;;
  
      * )
         break ;;
--- 100,106 ----
      *local*)
         # First pass through any local machine types.
         echo $1
!        exit ;;
  
      * )
         break ;;
*************** case $os in
*** 170,175 ****
--- 171,180 ----
  	-hiux*)
  		os=-hiuxwe2
  		;;
+ 	-sco6)
+ 		os=-sco5v6
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ 		;;
  	-sco5)
  		os=-sco3.2v5
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
*************** case $os in
*** 186,191 ****
--- 191,200 ----
  		# Don't forget version if it is 3.2v4 or newer.
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
  		;;
+ 	-sco5v6*)
+ 		# Don't forget version if it is 3.2v4 or newer.
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ 		;;
  	-sco*)
  		os=-sco3.2v2
  		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
*************** case $basic_machine in
*** 247,252 ****
--- 256,262 ----
  	| mips64vr4100 | mips64vr4100el \
  	| mips64vr4300 | mips64vr4300el \
  	| mips64vr5000 | mips64vr5000el \
+ 	| mips64vr5900 | mips64vr5900el \
  	| mipsisa32 | mipsisa32el \
  	| mipsisa32r2 | mipsisa32r2el \
  	| mipsisa64 | mipsisa64el \
*************** case $basic_machine in
*** 255,267 ****
  	| mipsisa64sr71k | mipsisa64sr71kel \
  	| mipstx39 | mipstx39el \
  	| mn10200 | mn10300 \
  	| msp430 \
  	| ns16k | ns32k \
! 	| openrisc | or32 \
  	| pdp10 | pdp11 | pj | pjl \
  	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
  	| pyramid \
! 	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
  	| sh64 | sh64le \
  	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
  	| sparcv8 | sparcv9 | sparcv9b \
--- 265,278 ----
  	| mipsisa64sr71k | mipsisa64sr71kel \
  	| mipstx39 | mipstx39el \
  	| mn10200 | mn10300 \
+ 	| mt \
  	| msp430 \
  	| ns16k | ns32k \
! 	| or32 \
  	| pdp10 | pdp11 | pj | pjl \
  	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
  	| pyramid \
! 	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
  	| sh64 | sh64le \
  	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
  	| sparcv8 | sparcv9 | sparcv9b \
*************** case $basic_machine in
*** 273,278 ****
--- 284,292 ----
  	| z8k)
  		basic_machine=$basic_machine-unknown
  		;;
+ 	m32c)
+ 		basic_machine=$basic_machine-unknown
+ 		;;
  	m6811 | m68hc11 | m6812 | m68hc12)
  		# Motorola 68HC11/12.
  		basic_machine=$basic_machine-unknown
*************** case $basic_machine in
*** 281,286 ****
--- 295,303 ----
  	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
  		;;
  
+         ms1)
+ 	    basic_machine=mt-unknown
+ 	    ;;
  	# We use `pc' rather than `unknown'
  	# because (1) that's what they normally are, and
  	# (2) the word "unknown" tends to confuse beginning users.
*************** case $basic_machine in
*** 321,326 ****
--- 338,344 ----
  	| mips64vr4100-* | mips64vr4100el-* \
  	| mips64vr4300-* | mips64vr4300el-* \
  	| mips64vr5000-* | mips64vr5000el-* \
+ 	| mips64vr5900-* | mips64vr5900el-* \
  	| mipsisa32-* | mipsisa32el-* \
  	| mipsisa32r2-* | mipsisa32r2el-* \
  	| mipsisa64-* | mipsisa64el-* \
*************** case $basic_machine in
*** 329,334 ****
--- 347,353 ----
  	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
  	| mipstx39-* | mipstx39el-* \
  	| mmix-* \
+ 	| mt-* \
  	| msp430-* \
  	| none-* | np1-* | ns16k-* | ns32k-* \
  	| orion-* \
*************** case $basic_machine in
*** 336,342 ****
  	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
  	| pyramid-* \
  	| romp-* | rs6000-* \
! 	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
  	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
  	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
  	| sparclite-* \
--- 355,361 ----
  	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
  	| pyramid-* \
  	| romp-* | rs6000-* \
! 	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \
  	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
  	| sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \
  	| sparclite-* \
*************** case $basic_machine in
*** 351,356 ****
--- 370,377 ----
  	| ymp-* \
  	| z8k-*)
  		;;
+ 	m32c-*)
+ 		;;
  	# Recognize the various machine names and aliases which stand
  	# for a CPU type and a company and sometimes even an OS.
  	386bsd)
*************** case $basic_machine in
*** 686,691 ****
--- 707,715 ----
  		basic_machine=i386-pc
  		os=-msdos
  		;;
+ 	ms1-*)
+ 	        basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ 		;;
  	mvs)
  		basic_machine=i370-ibm
  		os=-mvs
*************** case $basic_machine in
*** 761,769 ****
  		basic_machine=hppa1.1-oki
  		os=-proelf
  		;;
! 	or32 | or32-*)
  		basic_machine=or32-unknown
- 		os=-coff
  		;;
  	os400)
  		basic_machine=powerpc-ibm
--- 785,792 ----
  		basic_machine=hppa1.1-oki
  		os=-proelf
  		;;
! 	openrisc | openrisc-*)
  		basic_machine=or32-unknown
  		;;
  	os400)
  		basic_machine=powerpc-ibm
*************** case $basic_machine in
*** 1089,1100 ****
  	we32k)
  		basic_machine=we32k-att
  		;;
! 	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
  		basic_machine=sh-unknown
  		;;
- 	sh64)
- 		basic_machine=sh64-unknown
- 		;;
  	sparc | sparcv8 | sparcv9 | sparcv9b)
  		basic_machine=sparc-sun
  		;;
--- 1112,1120 ----
  	we32k)
  		basic_machine=we32k-att
  		;;
! 	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
  		basic_machine=sh-unknown
  		;;
  	sparc | sparcv8 | sparcv9 | sparcv9b)
  		basic_machine=sparc-sun
  		;;
*************** case $os in
*** 1181,1187 ****
  	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
! 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
  	-qnx*)
--- 1201,1208 ----
  	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
! 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
! 	      | -skyos* | -haiku*)
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
  	-qnx*)
*************** case $os in
*** 1199,1205 ****
  		os=`echo $os | sed -e 's|nto|nto-qnx|'`
  		;;
  	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
! 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
  	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  		;;
  	-mac*)
--- 1220,1226 ----
  		os=`echo $os | sed -e 's|nto|nto-qnx|'`
  		;;
  	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
! 	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
  	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
  		;;
  	-mac*)
*************** case $basic_machine in
*** 1388,1393 ****
--- 1409,1417 ----
  	*-be)
  		os=-beos
  		;;
+ 	*-haiku)
+ 		os=-haiku
+ 		;;
  	*-ibm)
  		os=-aix
  		;;
*************** case $basic_machine in
*** 1559,1565 ****
  esac
  
  echo $basic_machine$os
! exit 0
  
  # Local variables:
  # eval: (add-hook 'write-file-hooks 'time-stamp)
--- 1583,1589 ----
  esac
  
  echo $basic_machine$os
! exit
  
  # Local variables:
  # eval: (add-hook 'write-file-hooks 'time-stamp)
diff -Nrcpad gcc-4.0.2/configure gcc-4.1.0/configure
*** gcc-4.0.2/configure	Tue Sep 13 07:01:28 2005
--- gcc-4.1.0/configure	Fri Dec 16 12:57:40 2005
*************** ac_default_prefix=/usr/local
*** 14,19 ****
--- 14,21 ----
  ac_help="$ac_help
    --enable-libada        Builds libada directory"
  ac_help="$ac_help
+   --enable-libssp        Builds libssp directory"
+ ac_help="$ac_help
    --with-mpfr-dir=PATH    Specify source directory for MPFR library"
  ac_help="$ac_help
    --with-mpfr=PATH        Specify directory for installed MPFR library"
*************** ac_help="$ac_help
*** 22,27 ****
--- 24,32 ----
  ac_help="$ac_help
    --with-gmp=PATH         Specify directory for installed GMP library"
  ac_help="$ac_help
+   --with-build-sysroot=sysroot
+                           use sysroot as the system root during the build"
+ ac_help="$ac_help
    --enable-bootstrap[=lean]     Enable bootstrapping [no]"
  ac_help="$ac_help
    --enable-serial-[{host,target,build}-]configure
*************** else { echo "configure: error: can not r
*** 591,597 ****
  fi
  
  echo $ac_n "checking host system type""... $ac_c" 1>&6
! echo "configure:595: checking host system type" >&5
  
  host_alias=$host
  case "$host_alias" in
--- 596,602 ----
  fi
  
  echo $ac_n "checking host system type""... $ac_c" 1>&6
! echo "configure:600: checking host system type" >&5
  
  host_alias=$host
  case "$host_alias" in
*************** host_os=`echo $host | sed 's/^\([^-]*\)-
*** 612,618 ****
  echo "$ac_t""$host" 1>&6
  
  echo $ac_n "checking target system type""... $ac_c" 1>&6
! echo "configure:616: checking target system type" >&5
  
  target_alias=$target
  case "$target_alias" in
--- 617,623 ----
  echo "$ac_t""$host" 1>&6
  
  echo $ac_n "checking target system type""... $ac_c" 1>&6
! echo "configure:621: checking target system type" >&5
  
  target_alias=$target
  case "$target_alias" in
*************** target_os=`echo $target | sed 's/^\([^-]
*** 630,636 ****
  echo "$ac_t""$target" 1>&6
  
  echo $ac_n "checking build system type""... $ac_c" 1>&6
! echo "configure:634: checking build system type" >&5
  
  build_alias=$build
  case "$build_alias" in
--- 635,641 ----
  echo "$ac_t""$target" 1>&6
  
  echo $ac_n "checking build system type""... $ac_c" 1>&6
! echo "configure:639: checking build system type" >&5
  
  build_alias=$build
  case "$build_alias" in
*************** test "$program_transform_name" = "" && p
*** 685,691 ****
  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  # ./install, which can be erroneously created by make from ./install.sh.
  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
! echo "configure:689: checking for a BSD compatible install" >&5
  if test -z "$INSTALL"; then
  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
--- 690,696 ----
  # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
  # ./install, which can be erroneously created by make from ./install.sh.
  echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
! echo "configure:694: checking for a BSD compatible install" >&5
  if test -z "$INSTALL"; then
  if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
*************** test -z "$INSTALL_SCRIPT" && INSTALL_SCR
*** 738,744 ****
  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  
  echo $ac_n "checking whether ln works""... $ac_c" 1>&6
! echo "configure:742: checking whether ln works" >&5
  if eval "test \"`echo '$''{'acx_cv_prog_LN'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 743,749 ----
  test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
  
  echo $ac_n "checking whether ln works""... $ac_c" 1>&6
! echo "configure:747: checking whether ln works" >&5
  if eval "test \"`echo '$''{'acx_cv_prog_LN'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 762,768 ****
  fi
  
  echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
! echo "configure:766: checking whether ln -s works" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 767,773 ----
  fi
  
  echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
! echo "configure:771: checking whether ln -s works" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** progname=$0
*** 821,831 ****
  # if PWD already has a value, it is probably wrong.
  if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
  
- # If we're building in the source directory, error.
- if test "${srcdir}" = "." ; then
-   { echo "configure: error: Building in the source directory is not supported in this release. See http://gcc.gnu.org/install/configure.html for more details." 1>&2; exit 1; }
- fi
- 
  # Export original configure arguments for use by sub-configures.  These
  # will be expanded by make, so quote '$'.
  tmp="$progname $@"
--- 826,831 ----
*************** topsrcdir=$srcpwd
*** 857,893 ****
  
  extra_host_args=
  
- # Define the trigger file to make sure configure will re-run whenever
- # the gcc version number changes.
- 
- if test "${with_gcc_version_trigger+set}" = set; then
-   gcc_version_trigger=$with_gcc_version_trigger
- else
-   gcc_version_trigger=$topsrcdir/gcc/version.c
- fi
- if test -f "${gcc_version_trigger}"; then
-   gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
- else
-   gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
- fi
- gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
- 
- 
- 
- 
- if test -f $gcc_version_trigger ; then
-   case "$ac_configure_args" in
-     *--with-gcc-version-trigger=$gcc_version_trigger* )
-       ;;
-     * )
-       # Add to all subconfigure arguments: build, host, and target.
-       ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
-       ;;
-   esac
- else
-   gcc_version_trigger=
- fi
- 
  ### To add a new directory to the tree, first choose whether it is a target
  ### or a host dependent tool.  Then put it into the appropriate list
  ### (library or tools, host or target), doing a dependency sort.
--- 857,862 ----
*************** host_libs="intl mmalloc libiberty opcode
*** 919,925 ****
  # know that we are building the simulator.
  # binutils, gas and ld appear in that order because it makes sense to run
  # "make check" in that particular order.
! host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
  
  # libgcj represents the runtime libraries only used by gcj.
  libgcj="target-libffi \
--- 888,894 ----
  # know that we are building the simulator.
  # binutils, gas and ld appear in that order because it makes sense to run
  # "make check" in that particular order.
! host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
  
  # libgcj represents the runtime libraries only used by gcj.
  libgcj="target-libffi \
*************** target_libraries="target-libiberty \
*** 936,941 ****
--- 905,911 ----
  		target-newlib \
  		target-libstdc++-v3 \
  		target-libmudflap \
+ 		target-libssp \
  		target-libgfortran \
  		${libgcj} \
  		target-libobjc \
*************** esac
*** 994,1001 ****
  
    # Prefix 'build-' so this never conflicts with target_subdir.
  build_subdir="build-${build_noncanonical}"
! # Not really a subdirectory, but here for completeness.
! host_subdir=.
  # No prefix.
  target_subdir=${target_noncanonical}
     
--- 964,976 ----
  
    # Prefix 'build-' so this never conflicts with target_subdir.
  build_subdir="build-${build_noncanonical}"
! # --srcdir=. covers the toplevel, while "test -d" covers the subdirectories
! if ( test $srcdir = . && test -d gcc ) \
!    || test -d $srcdir/../host-${host_noncanonical}; then
!   host_subdir="host-${host_noncanonical}"
! else
!   host_subdir=.
! fi
  # No prefix.
  target_subdir=${target_noncanonical}
     
*************** case "${host}" in
*** 1067,1072 ****
--- 1042,1051 ----
      configdirs="$configdirs libtermcap" ;;
  esac
  
+ # A target can indicate whether a language isn't supported for some reason.
+ # Only spaces may be used in this macro; not newlines or tabs.
+ unsupported_languages=
+ 
  # Remove more programs from consideration, based on the host or 
  # target this usually means that a port of the program doesn't
  # exist yet.
*************** fi
*** 1113,1118 ****
--- 1092,1110 ----
  
  if test "${ENABLE_LIBADA}" != "yes" ; then
    noconfigdirs="$noconfigdirs target-libada"
+   noconfigdirs="$noconfigdirs gnattools"
+ fi
+ 
+ # Check whether --enable-libssp or --disable-libssp was given.
+ if test "${enable_libssp+set}" = set; then
+   enableval="$enable_libssp"
+   ENABLE_LIBSSP=$enableval
+ else
+   ENABLE_LIBSSP=yes
+ fi
+ 
+ if test "${ENABLE_LIBSSP}" != "yes" ; then
+   noconfigdirs="$noconfigdirs target-libssp"
  fi
  
  # Save it here so that, even in case of --enable-libgcj, if the Java
*************** case "${target}" in
*** 1161,1169 ****
      ;;
    powerpc-*-darwin*)
      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
      ;;
    *-*-darwin*)
!     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
--- 1153,1163 ----
      ;;
    powerpc-*-darwin*)
      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
      ;;
    *-*-darwin*)
!     noconfigdirs="$noconfigdirs ld gas gdb gprof"
!     noconfigdirs="$noconfigdirs sim target-rda"
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    *-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
*************** case "${target}" in
*** 1211,1221 ****
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
      ;;
    *-*-uclinux*)
      noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
      ;;
    *-*-vxworks*)
!     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
      ;;
    alpha*-dec-osf*)
      # ld works, but does not support shared libraries.
--- 1205,1222 ----
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
      ;;
+     # The tpf target doesn't support gdb yet.
+   *-*-tpf*)
+     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
+     ;;
    *-*-uclinux*)
      noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
      ;;
    *-*-vxworks*)
!     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
!     ;;
!   m32c-*-*)
!     noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    alpha*-dec-osf*)
      # ld works, but does not support shared libraries.
*************** case "${target}" in
*** 1266,1271 ****
--- 1267,1276 ----
    arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
      noconfigdirs="$noconfigdirs target-libffi target-qthreads"
      ;;
+   arm*-*-linux-gnueabi)
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+     ;;
    arm*-*-symbianelf*)
      noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
      ;;
*************** case "${target}" in
*** 1287,1292 ****
--- 1292,1303 ----
    avr-*-*)
      noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
      ;;
+   bfin-*-*)
+     noconfigdirs="$noconfigdirs target-libgloss gdb"
+     if test x${is_cross_compiler} != xno ; then
+       target_configdirs="${target_configdirs} target-bsp target-cygmon"
+     fi
+     ;;
    c4x-*-* | tic4x-*-*)
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
      ;;
*************** case "${target}" in
*** 1294,1303 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
      case "${target}" in
!       *-*-elf | *-*-aout)
! 	noconfigdirs="$noconfigdirs ${libgcj}";;
        *)
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
--- 1305,1322 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
+     unsupported_languages="$unsupported_languages java"
      case "${target}" in
!       *-*-aout)
! 	unsupported_languages="$unsupported_languages fortran"
! 	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
!       *-*-elf)
! 	unsupported_languages="$unsupported_languages fortran"
! 	noconfigdirs="$noconfigdirs target-boehm-gc";;
!       *-*-linux*)
! 	noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
        *)
+ 	unsupported_languages="$unsupported_languages fortran"
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
*************** case "${target}" in
*** 1447,1453 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss target-libgfortran"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
--- 1466,1473 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
!     unsupported_languages="$unsupported_languages fortran java"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
*************** case "${target}" in
*** 1455,1463 ****
    mn10300-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    powerpc-*-aix*)
      # copied from rs6000-*-* entry
!     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
      ;;
    powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
      target_configdirs="$target_configdirs target-winsup"
--- 1475,1486 ----
    mn10300-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
+   mt-*-*)
+     noconfigdirs="$noconfigdirs sim"
+     ;;
    powerpc-*-aix*)
      # copied from rs6000-*-* entry
!     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
      ;;
    powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
      target_configdirs="$target_configdirs target-winsup"
*************** case "${target}" in
*** 1481,1487 ****
      noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
      ;;
    rs6000-*-aix*)
!     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
      ;;
    rs6000-*-*)
      noconfigdirs="$noconfigdirs gprof ${libgcj}"
--- 1504,1510 ----
      noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
      ;;
    rs6000-*-aix*)
!     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
      ;;
    rs6000-*-*)
      noconfigdirs="$noconfigdirs gprof ${libgcj}"
*************** case "${host}" in
*** 1706,1712 ****
      host_makefile_frag="config/mh-cygwin"
      ;;
    *-mingw32*)
-     host_makefile_frag="config/mh-mingw32"
      ;;
    *-interix*)
      host_makefile_frag="config/mh-interix"
--- 1729,1734 ----
*************** if test "${build}" != "${host}" ; then
*** 1780,1789 ****
    CXX=${CXX-${host_alias}-c++}
    CXXFLAGS=${CXXFLAGS-"-g -O2"}
    CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
-   CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
-   CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
-   GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
-   GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
    BUILD_PREFIX=${build_alias}-
    BUILD_PREFIX_1=${build_alias}-
  
--- 1802,1807 ----
*************** else
*** 1797,1810 ****
    # This is all going to change when we autoconfiscate...
  
    CC_FOR_BUILD="\$(CC)"
-   GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
    BUILD_PREFIX=
    BUILD_PREFIX_1=loser-
  
    # Extract the first word of "gcc", so it can be a program name with args.
  set dummy gcc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1808: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1815,1827 ----
    # This is all going to change when we autoconfiscate...
  
    CC_FOR_BUILD="\$(CC)"
    BUILD_PREFIX=
    BUILD_PREFIX_1=loser-
  
    # Extract the first word of "gcc", so it can be a program name with args.
  set dummy gcc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1825: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** if test -z "$CC"; then
*** 1834,1840 ****
    # Extract the first word of "cc", so it can be a program name with args.
  set dummy cc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1838: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1851,1857 ----
    # Extract the first word of "cc", so it can be a program name with args.
  set dummy cc; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1855: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** fi
*** 1885,1891 ****
        # Extract the first word of "cl", so it can be a program name with args.
  set dummy cl; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1889: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1902,1908 ----
        # Extract the first word of "cl", so it can be a program name with args.
  set dummy cl; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:1906: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** fi
*** 1917,1923 ****
  fi
  
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
! echo "configure:1921: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
--- 1934,1940 ----
  fi
  
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
! echo "configure:1938: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
  
  ac_ext=c
  # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
*************** cross_compiling=$ac_cv_prog_cc_cross
*** 1928,1939 ****
  
  cat > conftest.$ac_ext << EOF
  
! #line 1932 "configure"
  #include "confdefs.h"
  
  main(){return(0);}
  EOF
! if { (eval echo configure:1937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    ac_cv_prog_cc_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
    if (./conftest; exit) 2>/dev/null; then
--- 1945,1956 ----
  
  cat > conftest.$ac_ext << EOF
  
! #line 1949 "configure"
  #include "confdefs.h"
  
  main(){return(0);}
  EOF
! if { (eval echo configure:1954: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    ac_cv_prog_cc_works=yes
    # If we can't run a trivial program, we are probably using a cross compiler.
    if (./conftest; exit) 2>/dev/null; then
*************** if test $ac_cv_prog_cc_works = no; then
*** 1959,1970 ****
    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
! echo "configure:1963: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
! echo "configure:1968: checking whether we are using GNU C" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 1976,1987 ----
    { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
  fi
  echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
! echo "configure:1980: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
  echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
  cross_compiling=$ac_cv_prog_cc_cross
  
  echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
! echo "configure:1985: checking whether we are using GNU C" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 1973,1979 ****
    yes;
  #endif
  EOF
! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1977: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gcc=yes
  else
    ac_cv_prog_gcc=no
--- 1990,1996 ----
    yes;
  #endif
  EOF
! if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1994: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
    ac_cv_prog_gcc=yes
  else
    ac_cv_prog_gcc=no
*************** ac_test_CFLAGS="${CFLAGS+set}"
*** 1992,1998 ****
  ac_save_CFLAGS="$CFLAGS"
  CFLAGS=
  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
! echo "configure:1996: checking whether ${CC-cc} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2009,2015 ----
  ac_save_CFLAGS="$CFLAGS"
  CFLAGS=
  echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
! echo "configure:2013: checking whether ${CC-cc} accepts -g" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** fi
*** 2059,2065 ****
  # Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args.
  set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:2063: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2076,2082 ----
  # Extract the first word of "${ac_tool_prefix}gnatbind", so it can be a program name with args.
  set dummy ${ac_tool_prefix}gnatbind; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:2080: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** if test -n "$ac_tool_prefix"; then
*** 2091,2097 ****
    # Extract the first word of "gnatbind", so it can be a program name with args.
  set dummy gnatbind; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:2095: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2108,2114 ----
    # Extract the first word of "gnatbind", so it can be a program name with args.
  set dummy gnatbind; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:2112: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_GNATBIND'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** fi
*** 2124,2130 ****
  fi
  
  echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6
! echo "configure:2128: checking whether compiler driver understands Ada" >&5
  if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2141,2147 ----
  fi
  
  echo $ac_n "checking whether compiler driver understands Ada""... $ac_c" 1>&6
! echo "configure:2145: checking whether compiler driver understands Ada" >&5
  if eval "test \"`echo '$''{'acx_cv_cc_gcc_supports_ada'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 2156,2162 ****
  fi
  
  echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6
! echo "configure:2160: checking how to compare bootstrapped objects" >&5
  if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 2173,2179 ----
  fi
  
  echo $ac_n "checking how to compare bootstrapped objects""... $ac_c" 1>&6
! echo "configure:2177: checking how to compare bootstrapped objects" >&5
  if eval "test \"`echo '$''{'gcc_cv_prog_cmp_skip'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** saved_CFLAGS="$CFLAGS"
*** 2254,2262 ****
  CFLAGS="$CFLAGS $gmpinc"
  # Check GMP actually works
  echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
! echo "configure:2258: checking for correct version of gmp.h" >&5
  cat > conftest.$ac_ext <<EOF
! #line 2260 "configure"
  #include "confdefs.h"
  #include "gmp.h"
  int main() {
--- 2271,2279 ----
  CFLAGS="$CFLAGS $gmpinc"
  # Check GMP actually works
  echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
! echo "configure:2275: checking for correct version of gmp.h" >&5
  cat > conftest.$ac_ext <<EOF
! #line 2277 "configure"
  #include "confdefs.h"
  #include "gmp.h"
  int main() {
*************** choke me
*** 2267,2273 ****
  
  ; return 0; }
  EOF
! if { (eval echo configure:2271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  else
--- 2284,2290 ----
  
  ; return 0; }
  EOF
! if { (eval echo configure:2288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  else
*************** rm -f conftest*
*** 2280,2291 ****
  
  if test x"$have_gmp" = xyes; then
    echo $ac_n "checking for MPFR""... $ac_c" 1>&6
! echo "configure:2284: checking for MPFR" >&5
  
    saved_LIBS="$LIBS"
    LIBS="$LIBS $gmplibs"
    cat > conftest.$ac_ext <<EOF
! #line 2289 "configure"
  #include "confdefs.h"
  #include <gmp.h>
  #include <mpfr.h>
--- 2297,2308 ----
  
  if test x"$have_gmp" = xyes; then
    echo $ac_n "checking for MPFR""... $ac_c" 1>&6
! echo "configure:2301: checking for MPFR" >&5
  
    saved_LIBS="$LIBS"
    LIBS="$LIBS $gmplibs"
    cat > conftest.$ac_ext <<EOF
! #line 2306 "configure"
  #include "confdefs.h"
  #include <gmp.h>
  #include <mpfr.h>
*************** int main() {
*** 2293,2299 ****
  mpfr_t n; mpfr_init(n);
  ; return 0; }
  EOF
! if { (eval echo configure:2297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  else
--- 2310,2316 ----
  mpfr_t n; mpfr_init(n);
  ; return 0; }
  EOF
! if { (eval echo configure:2314: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
    rm -rf conftest*
    echo "$ac_t""yes" 1>&6
  else
*************** if test -d ${srcdir}/gcc; then
*** 2338,2349 ****
    fi
    enable_languages=`echo "${enable_languages}" | sed -e 's/[ 	,][ 	,]*/,/g' -e 's/,$//'`
  
!   # 'fortran' is a compatibility name for 'f95'. We issue a warning and
!   # make the substitution.
    case ,${enable_languages}, in
!     *,fortran,*)
!       echo configure.in: warning: the official name for 'fortran' on this branch is 'f95' 1>&2
!       enable_languages=`echo "${enable_languages}" | sed -e 's/fortran/f95/g'`
        ;;
    esac
  
--- 2355,2366 ----
    fi
    enable_languages=`echo "${enable_languages}" | sed -e 's/[ 	,][ 	,]*/,/g' -e 's/,$//'`
  
!   # 'f95' is the old name for the 'fortran' language. We issue a warning
!   # and make the substitution.
    case ,${enable_languages}, in
!     *,f95,*)
!       echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
!       enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
        ;;
    esac
  
*************** if test -d ${srcdir}/gcc; then
*** 2435,2441 ****
              add_this_lang=no
              ;;
          esac
!         
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.
--- 2452,2465 ----
              add_this_lang=no
              ;;
          esac
! 
! 	# Disable a language that is unsupported by the target.
! 	case " $unsupported_languages " in
! 	  *" $language "*)
! 	    add_this_lang=no
! 	    ;;
! 	esac
! 
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.
*************** if test -d ${srcdir}/gcc; then
*** 2459,2466 ****
    missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
    if test "x$missing_languages" != x; then
      { echo "configure: error: 
! The following requested languages were not found: ${missing_languages}
! The available languages are: ${potential_languages}" 1>&2; exit 1; }
    fi
  
    if test "x$new_enable_languages" != "x$enable_languages"; then
--- 2483,2490 ----
    missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
    if test "x$missing_languages" != x; then
      { echo "configure: error: 
! The following requested languages could not be built: ${missing_languages}
! Recognised languages are: ${potential_languages}" 1>&2; exit 1; }
    fi
  
    if test "x$new_enable_languages" != "x$enable_languages"; then
*************** esac
*** 2597,2602 ****
--- 2621,2638 ----
  
  copy_dirs=
  
+ # Check whether --with-build-sysroot or --without-build-sysroot was given.
+ if test "${with_build_sysroot+set}" = set; then
+   withval="$with_build_sysroot"
+   if test x"$withval" != x ; then
+      SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
+    fi
+ else
+   SYSROOT_CFLAGS_FOR_TARGET=
+ fi
+ 
+ 
+ 
  # Handle --with-headers=XXX.  If the value is not "yes", the contents of
  # the named directory are copied to $(tooldir)/sys-include.
  if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
*************** esac
*** 2780,3000 ****
  tooldir='${exec_prefix}'/${target_alias}
  build_tooldir=${tooldir}
  
- # Generate default definitions for YACC, M4, LEX and other programs that run
- # on the build machine.  These are used if the Makefile can't locate these
- # programs in objdir.
- MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
- for ac_prog in bison
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2793: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_BISON'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_BISON"; then
-   ac_cv_prog_CONFIGURED_BISON="$CONFIGURED_BISON" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_BISON="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_BISON="$ac_cv_prog_CONFIGURED_BISON"
- if test -n "$CONFIGURED_BISON"; then
-   echo "$ac_t""$CONFIGURED_BISON" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_BISON" && break
- done
- test -n "$CONFIGURED_BISON" || CONFIGURED_BISON="$MISSING bison"
- 
- for ac_prog in 'bison -y' byacc yacc
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2828: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_YACC'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_YACC"; then
-   ac_cv_prog_CONFIGURED_YACC="$CONFIGURED_YACC" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_YACC="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_YACC="$ac_cv_prog_CONFIGURED_YACC"
- if test -n "$CONFIGURED_YACC"; then
-   echo "$ac_t""$CONFIGURED_YACC" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_YACC" && break
- done
- test -n "$CONFIGURED_YACC" || CONFIGURED_YACC="$MISSING bison -y"
- 
- for ac_prog in gm4 gnum4 m4
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2863: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_M4'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_M4"; then
-   ac_cv_prog_CONFIGURED_M4="$CONFIGURED_M4" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_M4="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_M4="$ac_cv_prog_CONFIGURED_M4"
- if test -n "$CONFIGURED_M4"; then
-   echo "$ac_t""$CONFIGURED_M4" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_M4" && break
- done
- test -n "$CONFIGURED_M4" || CONFIGURED_M4="$MISSING m4"
- 
- for ac_prog in flex
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2898: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_FLEX'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_FLEX"; then
-   ac_cv_prog_CONFIGURED_FLEX="$CONFIGURED_FLEX" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_FLEX="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_FLEX="$ac_cv_prog_CONFIGURED_FLEX"
- if test -n "$CONFIGURED_FLEX"; then
-   echo "$ac_t""$CONFIGURED_FLEX" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_FLEX" && break
- done
- test -n "$CONFIGURED_FLEX" || CONFIGURED_FLEX="$MISSING flex"
- 
- for ac_prog in flex lex
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2933: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LEX'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_LEX"; then
-   ac_cv_prog_CONFIGURED_LEX="$CONFIGURED_LEX" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_LEX="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_LEX="$ac_cv_prog_CONFIGURED_LEX"
- if test -n "$CONFIGURED_LEX"; then
-   echo "$ac_t""$CONFIGURED_LEX" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_LEX" && break
- done
- test -n "$CONFIGURED_LEX" || CONFIGURED_LEX="$MISSING flex"
- 
- for ac_prog in makeinfo
- do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
- echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
- echo "configure:2968: checking for $ac_word" >&5
- if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_MAKEINFO'+set}'`\" = set"; then
-   echo $ac_n "(cached) $ac_c" 1>&6
- else
-   if test -n "$CONFIGURED_MAKEINFO"; then
-   ac_cv_prog_CONFIGURED_MAKEINFO="$CONFIGURED_MAKEINFO" # Let the user override the test.
- else
-   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
-   ac_dummy="$PATH"
-   for ac_dir in $ac_dummy; do
-     test -z "$ac_dir" && ac_dir=.
-     if test -f $ac_dir/$ac_word; then
-       ac_cv_prog_CONFIGURED_MAKEINFO="$ac_prog"
-       break
-     fi
-   done
-   IFS="$ac_save_ifs"
- fi
- fi
- CONFIGURED_MAKEINFO="$ac_cv_prog_CONFIGURED_MAKEINFO"
- if test -n "$CONFIGURED_MAKEINFO"; then
-   echo "$ac_t""$CONFIGURED_MAKEINFO" 1>&6
- else
-   echo "$ac_t""no" 1>&6
- fi
- 
- test -n "$CONFIGURED_MAKEINFO" && break
- done
- test -n "$CONFIGURED_MAKEINFO" || CONFIGURED_MAKEINFO="$MISSING makeinfo"
- 
- 
  # Create a .gdbinit file which runs the one in srcdir
  # and tells GDB to look there for source files.
  
--- 2816,2821 ----
*************** case "${host}" in
*** 3061,3088 ****
    ;;
  esac
  
- # If no --enable-shared nor --disable-shared is specified, we set up
- # LD_LIBRARY_PATH when we build for gcc.
- case $enable_shared in
- "")
-   if test -d ${srcdir}/gcc; then
-     set_lib_path=yes
-   else 
-     set_lib_path=no
-   fi
-   ;;
- *)
-   set_lib_path=$enable_shared
-   ;;
- esac
- 
- # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
- # binutils tools will find libbfd.so.
- case "${set_lib_path}" in
-   no) SET_LIB_PATH= ;;
-   *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
- esac
- 
  case "${host}" in
    *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
    *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
--- 2882,2887 ----
*************** case "$enable_gdbtk" in
*** 3119,3124 ****
--- 2918,2925 ----
      fi
      ;;
  esac
+ CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
+ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
  
  # Strip out unwanted targets.
  
*************** esac
*** 3184,3202 ****
  case "$enable_bootstrap" in
    yes)
      bootstrap_lean='#'
-     default_target=bootstrap
      bootstrap_suffix=bootstrap ;;
    lean)
      bootstrap_lean=''
-     default_target=bootstrap
      bootstrap_suffix=bootstrap ;;
    no)
-     default_target=all
      bootstrap_suffix=no-bootstrap ;;
  esac
  
  
- 
  for module in ${build_configdirs} ; do
    if test -z "${no_recursion}" \
       && test -f ${build_subdir}/${module}/Makefile; then
--- 2985,2999 ----
*************** fi
*** 3388,3414 ****
  # fixed in future.  It's still worthwhile to use a cache file for each
  # directory.  I think.
  
! # Pass the appropriate --host, --build, and --cache-file arguments.
! target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
! 
! # provide a proper gxx_include_dir.
! 
! case "${with_gxx_include_dir}" in
!   yes)
!     { echo "configure: error: --with-gxx-include-dir=[dir] requires a directory" 1>&2; exit 1; }
!     ;;
!   no | "")
!     case "${enable_version_specific_runtime_libs}" in
!       yes) gxx_include_dir='${libsubdir}/include/c++' ;;
!       *)
! 	libstdcxx_incdir=c++/${gcc_version}
! 	gxx_include_dir='${prefix}/include/'${libstdcxx_incdir} ;;
!     esac ;;
!   *) gxx_include_dir=${with_gxx_include_dir} ;;
! esac
! 
! 
! 
  
  FLAGS_FOR_TARGET=
  case " $target_configdirs " in
--- 3185,3194 ----
  # fixed in future.  It's still worthwhile to use a cache file for each
  # directory.  I think.
  
! # Pass the appropriate --build, --host, --target and --cache-file arguments.
! # We need to pass --target, as newer autoconf's requires consistency
! # for target_alias and gcc doesn't manage it consistently.
! target_configargs="--cache-file=./config.cache --build=${build_alias} --host=${target_alias} --target=${target_alias} ${target_configargs}"
  
  FLAGS_FOR_TARGET=
  case " $target_configdirs " in
*************** case " $target_configdirs " in
*** 3430,3436 ****
         # to it.  This is right: we don't want to search that directory
         # for binaries, but we want the header files in there, so add
         # them explicitly.
!        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
  
         # Someone might think of using the pre-installed headers on
         # Canadian crosses, in case the installed compiler is not fully
--- 3210,3216 ----
         # to it.  This is right: we don't want to search that directory
         # for binaries, but we want the header files in there, so add
         # them explicitly.
!        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include'
  
         # Someone might think of using the pre-installed headers on
         # Canadian crosses, in case the installed compiler is not fully
*************** fi
*** 3477,3567 ****
  if test "x${use_gnu_ld}" = x &&
     echo " ${configdirs} " | grep " ld " > /dev/null ; then
    # Arrange for us to find uninstalled linker scripts.
!   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
! fi
! 
! if test "x${CC_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   CC_FOR_TARGET='$(CC)'
! else
!   CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
! fi
! CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
! 
! if test "x${GCJ_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   GCJ_FOR_TARGET='gcj'
! else
!   GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
! fi
! GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
! 
! if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   GFORTRAN_FOR_TARGET='$$r/gcc/gfortran -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   GFORTRAN_FOR_TARGET='gfortran'
! else
!   GFORTRAN_FOR_TARGET=`echo gfortran | sed "${program_transform_name}"`
! fi
! case $GFORTRAN_FOR_TARGET in
! *' $(FLAGS_FOR_TARGET)') ;;
! *) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
! esac
! 
! # Don't use libstdc++-v3's flags to configure/build itself.
! libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
! raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
! 
! if test "x${CXX_FOR_TARGET+set}" = xset; then
!   if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
!     RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
!   fi
! elif test -d ${srcdir}/gcc; then
!   # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
!   # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
!   # default whereas gcc does not.
!   # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
!   # all other cases.
!   CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
!   RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
! elif test "$host" = "$target"; then
!   CXX_FOR_TARGET='$(CXX)'
!   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
! else
!   CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
!   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
  fi
- CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
- RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
- 
- qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
- qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[&%],\\\&,g'`
- 
- # We want to defer the evaluation of `cmd`s and shell variables in
- # CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
- # bootstrap.  We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
- # quotes, but we still have to duplicate `$'s so that shell variables
- # can be expanded by the nested make as shell variables, not as make
- # macros.
- qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
- qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[$][$],$$$$,g'`
- 
- # Wrap CC_FOR_TARGET and friends, for certain types of builds.
- CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
- GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
- GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
- CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
- RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
- CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
- RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
  
  # Makefile fragments.
  for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
--- 3257,3264 ----
  if test "x${use_gnu_ld}" = x &&
     echo " ${configdirs} " | grep " ld " > /dev/null ; then
    # Arrange for us to find uninstalled linker scripts.
!   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
  fi
  
  # Makefile fragments.
  for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
*************** done
*** 3585,3590 ****
--- 3282,3288 ----
  
  
  
+ 
  # Build module lists & subconfigure args.
  
  
*************** done
*** 3601,3617 ****
  
  
  
  # Host tools.
  ncn_tool_prefix=
  test -n "$host_alias" && ncn_tool_prefix=$host_alias-
  ncn_target_tool_prefix=
  test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}ar", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}ar; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3615: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 3299,3654 ----
  
  
  
+ # Generate default definitions for YACC, M4, LEX and other programs that run
+ # on the build machine.  These are used if the Makefile can't locate these
+ # programs in objdir.
+ MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
+ 
+ for ac_prog in 'bison -y' byacc yacc
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3313: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$YACC"; then
+   ac_cv_prog_YACC="$YACC" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_YACC="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ YACC="$ac_cv_prog_YACC"
+ if test -n "$YACC"; then
+   echo "$ac_t""$YACC" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$YACC" && break
+ done
+ test -n "$YACC" || YACC="$MISSING bison -y"
+ 
+ case " $build_configdirs " in
+   *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
+   *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
+ esac
+ 
+ for ac_prog in bison
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3353: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$BISON"; then
+   ac_cv_prog_BISON="$BISON" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_BISON="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ BISON="$ac_cv_prog_BISON"
+ if test -n "$BISON"; then
+   echo "$ac_t""$BISON" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$BISON" && break
+ done
+ test -n "$BISON" || BISON="$MISSING bison"
+ 
+ case " $build_configdirs " in
+   *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
+ esac
+ 
+ for ac_prog in gm4 gnum4 m4
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3392: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_M4'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$M4"; then
+   ac_cv_prog_M4="$M4" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_M4="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ M4="$ac_cv_prog_M4"
+ if test -n "$M4"; then
+   echo "$ac_t""$M4" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$M4" && break
+ done
+ test -n "$M4" || M4="$MISSING m4"
+ 
+ case " $build_configdirs " in
+   *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
+ esac
+ 
+ for ac_prog in flex lex
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3431: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$LEX"; then
+   ac_cv_prog_LEX="$LEX" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_LEX="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ LEX="$ac_cv_prog_LEX"
+ if test -n "$LEX"; then
+   echo "$ac_t""$LEX" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$LEX" && break
+ done
+ test -n "$LEX" || LEX="$MISSING flex"
+ 
+ case " $build_configdirs " in
+   *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+   *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
+ esac
+ 
+ for ac_prog in flex
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3471: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$FLEX"; then
+   ac_cv_prog_FLEX="$FLEX" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_FLEX="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ FLEX="$ac_cv_prog_FLEX"
+ if test -n "$FLEX"; then
+   echo "$ac_t""$FLEX" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$FLEX" && break
+ done
+ test -n "$FLEX" || FLEX="$MISSING flex"
+ 
+ case " $build_configdirs " in
+   *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+ esac
+ 
+ for ac_prog in makeinfo
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3510: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$MAKEINFO"; then
+   ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_MAKEINFO="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ MAKEINFO="$ac_cv_prog_MAKEINFO"
+ if test -n "$MAKEINFO"; then
+   echo "$ac_t""$MAKEINFO" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$MAKEINFO" && break
+ done
+ test -n "$MAKEINFO" || MAKEINFO="$MISSING makeinfo"
+ 
+ case " $build_configdirs " in
+   *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
+   *)
+ 
+     # For an installed makeinfo, we require it to be from texinfo 4.2 or
+     # higher, else we use the "missing" dummy.
+     if ${MAKEINFO} --version \
+        | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then
+       :
+     else
+       MAKEINFO="$MISSING makeinfo"
+     fi
+     ;;
+ 
+ esac
+ 
+ # FIXME: expect and dejagnu may become build tools?
+ 
+ for ac_prog in expect
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3563: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_EXPECT'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$EXPECT"; then
+   ac_cv_prog_EXPECT="$EXPECT" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_EXPECT="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ EXPECT="$ac_cv_prog_EXPECT"
+ if test -n "$EXPECT"; then
+   echo "$ac_t""$EXPECT" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$EXPECT" && break
+ done
+ test -n "$EXPECT" || EXPECT="expect"
+ 
+ case " $configdirs " in
+   *" expect "*)
+     test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
+     ;;
+ esac
+ 
+ for ac_prog in runtest
+ do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+ set dummy $ac_prog; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3604: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RUNTEST'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$RUNTEST"; then
+   ac_cv_prog_RUNTEST="$RUNTEST" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_RUNTEST="$ac_prog"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ RUNTEST="$ac_cv_prog_RUNTEST"
+ if test -n "$RUNTEST"; then
+   echo "$ac_t""$RUNTEST" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+ 
+ test -n "$RUNTEST" && break
+ done
+ test -n "$RUNTEST" || RUNTEST="runtest"
+ 
+ case " $configdirs " in
+   *" dejagnu "*)
+     test $host = $build && RUNTEST='$$r/$(HOST_SUBDIR)/dejagnu/runtest'
+     ;;
+ esac
+ 
+ 
  # Host tools.
  ncn_tool_prefix=
  test -n "$host_alias" && ncn_tool_prefix=$host_alias-
  ncn_target_tool_prefix=
  test -n "$target_alias" && ncn_target_tool_prefix=$target_alias-
  
!  for ncn_progname in ar; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3652: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3623,3629 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AR="${ncn_tool_prefix}ar"
        break
      fi
    done
--- 3660,3666 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AR="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3637,3689 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_AR" ; then
!   if test $build = $host ; then
!     ncn_cv_AR=$AR
!     # Extract the first word of "ar", so it can be a program name with args.
! set dummy ar; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3648: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AR'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_AR"; then
!   ac_cv_prog_ncn_cv_AR="$ncn_cv_AR" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_AR="ar"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_AR" && ac_cv_prog_ncn_cv_AR="ar"
  fi
  fi
! ncn_cv_AR="$ac_cv_prog_ncn_cv_AR"
! if test -n "$ncn_cv_AR"; then
!   echo "$ac_t""$ncn_cv_AR" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     AR=$ncn_cv_AR
    else
!     AR="${ncn_tool_prefix}ar"
    fi
- else
-   AR="$ac_cv_prog_AR"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}as", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}as; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3687: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 3674,3729 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_AR" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3683: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AR"; then
!   ac_cv_prog_AR="$AR" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AR="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AR="$ac_cv_prog_AR"
! if test -n "$AR"; then
!   echo "$ac_t""$AR" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_AR" && break
! done
! 
! if test -z "$ac_cv_prog_AR" ; then
!   set dummy ar
!   if test $build = $host ; then
!     AR="$2"
    else
!     AR="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in as; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3727: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3695,3701 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AS="${ncn_tool_prefix}as"
        break
      fi
    done
--- 3735,3741 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AS="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3709,3761 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_AS" ; then
!   if test $build = $host ; then
!     ncn_cv_AS=$AS
!     # Extract the first word of "as", so it can be a program name with args.
! set dummy as; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3720: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_AS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_AS"; then
!   ac_cv_prog_ncn_cv_AS="$ncn_cv_AS" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_AS="as"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_AS" && ac_cv_prog_ncn_cv_AS="as"
  fi
  fi
! ncn_cv_AS="$ac_cv_prog_ncn_cv_AS"
! if test -n "$ncn_cv_AS"; then
!   echo "$ac_t""$ncn_cv_AS" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     AS=$ncn_cv_AS
    else
!     AS="${ncn_tool_prefix}as"
    fi
- else
-   AS="$ac_cv_prog_AS"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}dlltool", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}dlltool; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3759: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 3749,3804 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_AS" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3758: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AS"; then
!   ac_cv_prog_AS="$AS" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AS="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AS="$ac_cv_prog_AS"
! if test -n "$AS"; then
!   echo "$ac_t""$AS" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_AS" && break
! done
! 
! if test -z "$ac_cv_prog_AS" ; then
!   set dummy as
!   if test $build = $host ; then
!     AS="$2"
    else
!     AS="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in dlltool; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3802: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3767,3773 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_DLLTOOL="${ncn_tool_prefix}dlltool"
        break
      fi
    done
--- 3810,3816 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_DLLTOOL="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3781,3833 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_DLLTOOL" ; then
!   if test $build = $host ; then
!     ncn_cv_DLLTOOL=$DLLTOOL
!     # Extract the first word of "dlltool", so it can be a program name with args.
! set dummy dlltool; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3792: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_DLLTOOL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_DLLTOOL"; then
!   ac_cv_prog_ncn_cv_DLLTOOL="$ncn_cv_DLLTOOL" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_DLLTOOL="dlltool"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_DLLTOOL" && ac_cv_prog_ncn_cv_DLLTOOL="dlltool"
  fi
  fi
! ncn_cv_DLLTOOL="$ac_cv_prog_ncn_cv_DLLTOOL"
! if test -n "$ncn_cv_DLLTOOL"; then
!   echo "$ac_t""$ncn_cv_DLLTOOL" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     DLLTOOL=$ncn_cv_DLLTOOL
    else
!     DLLTOOL="${ncn_tool_prefix}dlltool"
    fi
- else
-   DLLTOOL="$ac_cv_prog_DLLTOOL"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}ld", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}ld; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3831: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 3824,3879 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_DLLTOOL" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3833: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$DLLTOOL"; then
!   ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_DLLTOOL="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! DLLTOOL="$ac_cv_prog_DLLTOOL"
! if test -n "$DLLTOOL"; then
!   echo "$ac_t""$DLLTOOL" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_DLLTOOL" && break
! done
! 
! if test -z "$ac_cv_prog_DLLTOOL" ; then
!   set dummy dlltool
!   if test $build = $host ; then
!     DLLTOOL="$2"
    else
!     DLLTOOL="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in ld; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3877: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3839,3845 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LD="${ncn_tool_prefix}ld"
        break
      fi
    done
--- 3885,3891 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LD="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3853,3905 ****
    echo "$ac_t""no" 1>&6
  fi
  
  fi
  if test -z "$ac_cv_prog_LD" ; then
    if test $build = $host ; then
!     ncn_cv_LD=$LD
!     # Extract the first word of "ld", so it can be a program name with args.
! set dummy ld; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3864: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_LD'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_LD"; then
!   ac_cv_prog_ncn_cv_LD="$ncn_cv_LD" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_LD="ld"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_LD" && ac_cv_prog_ncn_cv_LD="ld"
  fi
  fi
! ncn_cv_LD="$ac_cv_prog_ncn_cv_LD"
! if test -n "$ncn_cv_LD"; then
!   echo "$ac_t""$ncn_cv_LD" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     LD=$ncn_cv_LD
    else
!     LD="${ncn_tool_prefix}ld"
    fi
- else
-   LD="$ac_cv_prog_LD"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}nm", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}nm; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3903: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 3899,4029 ----
    echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_LD" && test $build = $host ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:3908: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_LD'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$LD"; then
+   ac_cv_prog_LD="$LD" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_LD="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
  fi
+ LD="$ac_cv_prog_LD"
+ if test -n "$LD"; then
+   echo "$ac_t""$LD" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_LD" && break
+ done
+ 
  if test -z "$ac_cv_prog_LD" ; then
+   set dummy ld
    if test $build = $host ; then
!     LD="$2"
!   else
!     LD="${ncn_tool_prefix}$2"
!   fi
! fi
! 
!  for ncn_progname in lipo; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3952: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$LIPO"; then
!   ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LIPO="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! LIPO="$ac_cv_prog_LIPO"
! if test -n "$LIPO"; then
!   echo "$ac_t""$LIPO" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
! 
!   fi
!   if test -z "$ac_cv_prog_LIPO" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3983: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_LIPO'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
! else
!   if test -n "$LIPO"; then
!   ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LIPO="${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! LIPO="$ac_cv_prog_LIPO"
! if test -n "$LIPO"; then
!   echo "$ac_t""$LIPO" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_LIPO" && break
! done
! 
! if test -z "$ac_cv_prog_LIPO" ; then
!   set dummy lipo
!   if test $build = $host ; then
!     LIPO="$2"
    else
!     LIPO="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in nm; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4027: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3911,3917 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_NM="${ncn_tool_prefix}nm"
        break
      fi
    done
--- 4035,4041 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_NM="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3925,3977 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_NM" ; then
!   if test $build = $host ; then
!     ncn_cv_NM=$NM
!     # Extract the first word of "nm", so it can be a program name with args.
! set dummy nm; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3936: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_NM'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_NM"; then
!   ac_cv_prog_ncn_cv_NM="$ncn_cv_NM" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_NM="nm"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_NM" && ac_cv_prog_ncn_cv_NM="nm"
  fi
  fi
! ncn_cv_NM="$ac_cv_prog_ncn_cv_NM"
! if test -n "$ncn_cv_NM"; then
!   echo "$ac_t""$ncn_cv_NM" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     NM=$ncn_cv_NM
    else
!     NM="${ncn_tool_prefix}nm"
    fi
- else
-   NM="$ac_cv_prog_NM"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}ranlib", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:3975: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 4049,4104 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_NM" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4058: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_NM'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$NM"; then
!   ac_cv_prog_NM="$NM" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_NM="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! NM="$ac_cv_prog_NM"
! if test -n "$NM"; then
!   echo "$ac_t""$NM" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_NM" && break
! done
! 
! if test -z "$ac_cv_prog_NM" ; then
!   set dummy nm
!   if test $build = $host ; then
!     NM="$2"
    else
!     NM="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in ranlib; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4102: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 3983,3989 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_RANLIB="${ncn_tool_prefix}ranlib"
        break
      fi
    done
--- 4110,4116 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_RANLIB="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 3997,4049 ****
    echo "$ac_t""no" 1>&6
  fi
  
  fi
  if test -z "$ac_cv_prog_RANLIB" ; then
!   if test $build = $host ; then
!     ncn_cv_RANLIB=$RANLIB
!     # Extract the first word of "ranlib", so it can be a program name with args.
! set dummy ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4008: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_RANLIB'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_RANLIB"; then
!   ac_cv_prog_ncn_cv_RANLIB="$ncn_cv_RANLIB" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_RANLIB="ranlib"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_RANLIB" && ac_cv_prog_ncn_cv_RANLIB=":"
  fi
  fi
! ncn_cv_RANLIB="$ac_cv_prog_ncn_cv_RANLIB"
! if test -n "$ncn_cv_RANLIB"; then
!   echo "$ac_t""$ncn_cv_RANLIB" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
!  
!     RANLIB=$ncn_cv_RANLIB
!   else
!     RANLIB=":"
    fi
  else
!   RANLIB="$ac_cv_prog_RANLIB"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}windres", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}windres; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4047: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 4124,4244 ----
    echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_RANLIB" && test $build = $host ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:4133: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$RANLIB"; then
+   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_RANLIB="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
  fi
+ fi
+ RANLIB="$ac_cv_prog_RANLIB"
+ if test -n "$RANLIB"; then
+   echo "$ac_t""$RANLIB" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_RANLIB" && break
+ done
+ 
  if test -z "$ac_cv_prog_RANLIB" ; then
!   RANLIB=":"
! fi
! 
!  for ncn_progname in strip; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4172: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$STRIP"; then
!   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_STRIP="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! STRIP="$ac_cv_prog_STRIP"
! if test -n "$STRIP"; then
!   echo "$ac_t""$STRIP" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
! 
    fi
+   if test -z "$ac_cv_prog_STRIP" && test $build = $host ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:4203: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$STRIP"; then
!   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_STRIP="${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
  fi
+ fi
+ STRIP="$ac_cv_prog_STRIP"
+ if test -n "$STRIP"; then
+   echo "$ac_t""$STRIP" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_STRIP" && break
+ done
  
! if test -z "$ac_cv_prog_STRIP" ; then
!   STRIP=":"
! fi
! 
!  for ncn_progname in windres; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4242: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 4055,4061 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_WINDRES="${ncn_tool_prefix}windres"
        break
      fi
    done
--- 4250,4256 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_WINDRES="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 4069,4121 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_WINDRES" ; then
!   if test $build = $host ; then
!     ncn_cv_WINDRES=$WINDRES
!     # Extract the first word of "windres", so it can be a program name with args.
! set dummy windres; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4080: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_WINDRES'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_WINDRES"; then
!   ac_cv_prog_ncn_cv_WINDRES="$ncn_cv_WINDRES" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_WINDRES="windres"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_WINDRES" && ac_cv_prog_ncn_cv_WINDRES="windres"
  fi
  fi
! ncn_cv_WINDRES="$ac_cv_prog_ncn_cv_WINDRES"
! if test -n "$ncn_cv_WINDRES"; then
!   echo "$ac_t""$ncn_cv_WINDRES" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     WINDRES=$ncn_cv_WINDRES
    else
!     WINDRES="${ncn_tool_prefix}windres"
    fi
- else
-   WINDRES="$ac_cv_prog_WINDRES"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}objcopy", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}objcopy; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4119: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 4264,4319 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_WINDRES" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4273: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_WINDRES'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$WINDRES"; then
!   ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_WINDRES="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! WINDRES="$ac_cv_prog_WINDRES"
! if test -n "$WINDRES"; then
!   echo "$ac_t""$WINDRES" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_WINDRES" && break
! done
! 
! if test -z "$ac_cv_prog_WINDRES" ; then
!   set dummy windres
!   if test $build = $host ; then
!     WINDRES="$2"
    else
!     WINDRES="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in objcopy; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4317: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 4127,4133 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJCOPY="${ncn_tool_prefix}objcopy"
        break
      fi
    done
--- 4325,4331 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJCOPY="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 4141,4193 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_OBJCOPY" ; then
!   if test $build = $host ; then
!     ncn_cv_OBJCOPY=$OBJCOPY
!     # Extract the first word of "objcopy", so it can be a program name with args.
! set dummy objcopy; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4152: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJCOPY'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_OBJCOPY"; then
!   ac_cv_prog_ncn_cv_OBJCOPY="$ncn_cv_OBJCOPY" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_OBJCOPY="objcopy"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_OBJCOPY" && ac_cv_prog_ncn_cv_OBJCOPY="objcopy"
  fi
  fi
! ncn_cv_OBJCOPY="$ac_cv_prog_ncn_cv_OBJCOPY"
! if test -n "$ncn_cv_OBJCOPY"; then
!   echo "$ac_t""$ncn_cv_OBJCOPY" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     OBJCOPY=$ncn_cv_OBJCOPY
    else
!     OBJCOPY="${ncn_tool_prefix}objcopy"
    fi
- else
-   OBJCOPY="$ac_cv_prog_OBJCOPY"
  fi
  
!  if test -n "$ncn_tool_prefix"; then
!   # Extract the first word of "${ncn_tool_prefix}objdump", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}objdump; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4191: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 4339,4394 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_OBJCOPY" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4348: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_OBJCOPY'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$OBJCOPY"; then
!   ac_cv_prog_OBJCOPY="$OBJCOPY" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJCOPY="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! OBJCOPY="$ac_cv_prog_OBJCOPY"
! if test -n "$OBJCOPY"; then
!   echo "$ac_t""$OBJCOPY" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_OBJCOPY" && break
! done
! 
! if test -z "$ac_cv_prog_OBJCOPY" ; then
!   set dummy objcopy
!   if test $build = $host ; then
!     OBJCOPY="$2"
    else
!     OBJCOPY="${ncn_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in objdump; do
!   if test -n "$ncn_tool_prefix"; then
!     # Extract the first word of "${ncn_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4392: checking for $ac_word" >&5
  if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 4199,4205 ****
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJDUMP="${ncn_tool_prefix}objdump"
        break
      fi
    done
--- 4400,4406 ----
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJDUMP="${ncn_tool_prefix}${ncn_progname}"
        break
      fi
    done
*************** else
*** 4213,4258 ****
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_OBJDUMP" ; then
!   if test $build = $host ; then
!     ncn_cv_OBJDUMP=$OBJDUMP
!     # Extract the first word of "objdump", so it can be a program name with args.
! set dummy objdump; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4224: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_OBJDUMP'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_OBJDUMP"; then
!   ac_cv_prog_ncn_cv_OBJDUMP="$ncn_cv_OBJDUMP" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_OBJDUMP="objdump"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_OBJDUMP" && ac_cv_prog_ncn_cv_OBJDUMP="objdump"
  fi
  fi
! ncn_cv_OBJDUMP="$ac_cv_prog_ncn_cv_OBJDUMP"
! if test -n "$ncn_cv_OBJDUMP"; then
!   echo "$ac_t""$ncn_cv_OBJDUMP" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     OBJDUMP=$ncn_cv_OBJDUMP
    else
!     OBJDUMP="${ncn_tool_prefix}objdump"
    fi
- else
-   OBJDUMP="$ac_cv_prog_OBJDUMP"
  fi
  
  
--- 4414,4461 ----
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_OBJDUMP" && test $build = $host ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4423: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$OBJDUMP"; then
!   ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_OBJDUMP="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! OBJDUMP="$ac_cv_prog_OBJDUMP"
! if test -n "$OBJDUMP"; then
!   echo "$ac_t""$OBJDUMP" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_OBJDUMP" && break
! done
! 
! if test -z "$ac_cv_prog_OBJDUMP" ; then
!   set dummy objdump
!   if test $build = $host ; then
!     OBJDUMP="$2"
    else
!     OBJDUMP="${ncn_tool_prefix}$2"
    fi
  fi
  
  
*************** fi
*** 4262,4811 ****
  
  
  # Target tools.
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}ar", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}ar; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4270: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_AR_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_AR_FOR_TARGET="$CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
! if test -n "$CONFIGURED_AR_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_AR_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_CONFIGURED_AR_FOR_TARGET" ; then
!   if test $build = $target ; then
!     ncn_cv_CONFIGURED_AR_FOR_TARGET=$CONFIGURED_AR_FOR_TARGET
!     # Extract the first word of "ar", so it can be a program name with args.
! set dummy ar; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4303: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="$ncn_cv_CONFIGURED_AR_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET="ar"
  fi
  fi
! ncn_cv_CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AR_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_AR_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_AR_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_AR_FOR_TARGET=$ncn_cv_CONFIGURED_AR_FOR_TARGET
    else
!     CONFIGURED_AR_FOR_TARGET="${ncn_target_tool_prefix}ar"
    fi
- else
-   CONFIGURED_AR_FOR_TARGET="$ac_cv_prog_CONFIGURED_AR_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}as", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}as; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4342: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_AS_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_AS_FOR_TARGET="$CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
! if test -n "$CONFIGURED_AS_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_AS_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_CONFIGURED_AS_FOR_TARGET" ; then
!   if test $build = $target ; then
!     ncn_cv_CONFIGURED_AS_FOR_TARGET=$CONFIGURED_AS_FOR_TARGET
!     # Extract the first word of "as", so it can be a program name with args.
! set dummy as; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4375: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="$ncn_cv_CONFIGURED_AS_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET="as"
  fi
  fi
! ncn_cv_CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_AS_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_AS_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_AS_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_AS_FOR_TARGET=$ncn_cv_CONFIGURED_AS_FOR_TARGET
    else
!     CONFIGURED_AS_FOR_TARGET="${ncn_target_tool_prefix}as"
    fi
- else
-   CONFIGURED_AS_FOR_TARGET="$ac_cv_prog_CONFIGURED_AS_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}dlltool", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}dlltool; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4414: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="$CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
! if test -n "$CONFIGURED_DLLTOOL_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET" ; then
!   if test $build = $target ; then
!     ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET=$CONFIGURED_DLLTOOL_FOR_TARGET
!     # Extract the first word of "dlltool", so it can be a program name with args.
! set dummy dlltool; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4447: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="dlltool"
  fi
  fi
! ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_DLLTOOL_FOR_TARGET=$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET
    else
!     CONFIGURED_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}dlltool"
    fi
- else
-   CONFIGURED_DLLTOOL_FOR_TARGET="$ac_cv_prog_CONFIGURED_DLLTOOL_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}ld", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}ld; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4486: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_LD_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_LD_FOR_TARGET="$CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
! if test -n "$CONFIGURED_LD_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_LD_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  fi
! if test -z "$ac_cv_prog_CONFIGURED_LD_FOR_TARGET" ; then
    if test $build = $target ; then
!     ncn_cv_CONFIGURED_LD_FOR_TARGET=$CONFIGURED_LD_FOR_TARGET
!     # Extract the first word of "ld", so it can be a program name with args.
! set dummy ld; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4519: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="$ncn_cv_CONFIGURED_LD_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET="ld"
  fi
  fi
! ncn_cv_CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_LD_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_LD_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_LD_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_LD_FOR_TARGET=$ncn_cv_CONFIGURED_LD_FOR_TARGET
    else
!     CONFIGURED_LD_FOR_TARGET="${ncn_target_tool_prefix}ld"
    fi
  else
!   CONFIGURED_LD_FOR_TARGET="$ac_cv_prog_CONFIGURED_LD_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}nm", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}nm; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4558: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_NM_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_NM_FOR_TARGET="$CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
! if test -n "$CONFIGURED_NM_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_NM_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  fi
! if test -z "$ac_cv_prog_CONFIGURED_NM_FOR_TARGET" ; then
!   if test $build = $target ; then
!     ncn_cv_CONFIGURED_NM_FOR_TARGET=$CONFIGURED_NM_FOR_TARGET
!     # Extract the first word of "nm", so it can be a program name with args.
! set dummy nm; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4591: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="$ncn_cv_CONFIGURED_NM_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET="nm"
  fi
  fi
! ncn_cv_CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_NM_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_NM_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_NM_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_NM_FOR_TARGET=$ncn_cv_CONFIGURED_NM_FOR_TARGET
    else
!     CONFIGURED_NM_FOR_TARGET="${ncn_target_tool_prefix}nm"
    fi
- else
-   CONFIGURED_NM_FOR_TARGET="$ac_cv_prog_CONFIGURED_NM_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}ranlib", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4630: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="$CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}ranlib"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
! if test -n "$CONFIGURED_RANLIB_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_RANLIB_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
! fi
! if test -z "$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET" ; then
!   if test $build = $target ; then
!     ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=$CONFIGURED_RANLIB_FOR_TARGET
!     # Extract the first word of "ranlib", so it can be a program name with args.
! set dummy ranlib; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4663: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="ranlib"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET=":"
  fi
  fi
! ncn_cv_CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_RANLIB_FOR_TARGET=$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET
    else
!     CONFIGURED_RANLIB_FOR_TARGET=":"
    fi
- else
-   CONFIGURED_RANLIB_FOR_TARGET="$ac_cv_prog_CONFIGURED_RANLIB_FOR_TARGET"
  fi
  
!  if test -n "$ncn_target_tool_prefix"; then
!   # Extract the first word of "${ncn_target_tool_prefix}windres", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}windres; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4702: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
!   ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="$CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
! if test -n "$CONFIGURED_WINDRES_FOR_TARGET"; then
!   echo "$ac_t""$CONFIGURED_WINDRES_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
  fi
! if test -z "$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET" ; then
    if test $build = $target ; then
!     ncn_cv_CONFIGURED_WINDRES_FOR_TARGET=$CONFIGURED_WINDRES_FOR_TARGET
!     # Extract the first word of "windres", so it can be a program name with args.
! set dummy windres; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4735: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
!   ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
        break
      fi
    done
    IFS="$ac_save_ifs"
-   test -z "$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" && ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="windres"
  fi
  fi
! ncn_cv_CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"
! if test -n "$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET"; then
!   echo "$ac_t""$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!     CONFIGURED_WINDRES_FOR_TARGET=$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET
    else
!     CONFIGURED_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}windres"
    fi
  else
!   CONFIGURED_WINDRES_FOR_TARGET="$ac_cv_prog_CONFIGURED_WINDRES_FOR_TARGET"
  fi
  
  
  
  
  
  
  
  
  
  
  
  
! # Fix up target tools.
! if test "x${build}" = "x${host}" ; then
!   # In this case, the newly built tools can and should be used,
!   # so we override the results of the autoconf tests.
!   # This should really only happen when the tools are actually being built,
!   # but that's a further refinement.  The new build scheme, where
!   # tools are built into a structure paralleling where they're installed,
!   # should also eliminate all of this cleanly.
!   AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
!   AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
!   DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
!   LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
!   NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
!   RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
!   WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
  else
!   # Just use the ones we found.
!   AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
!   AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
!   DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
!   LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
!   NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
!   RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
!   WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"  
  fi
  
  
  
  
  
  
  
--- 4465,5990 ----
  
  
  # Target tools.
!  for ncn_progname in ar; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4474: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AR_FOR_TARGET"; then
!   ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AR_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
! if test -n "$AR_FOR_TARGET"; then
!   echo "$ac_t""$AR_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_AR_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4505: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AR_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AR_FOR_TARGET"; then
!   ac_cv_prog_AR_FOR_TARGET="$AR_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AR_FOR_TARGET="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AR_FOR_TARGET="$ac_cv_prog_AR_FOR_TARGET"
! if test -n "$AR_FOR_TARGET"; then
!   echo "$ac_t""$AR_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_AR_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_AR_FOR_TARGET" ; then
!   set dummy ar
!   if test $build = $target ; then
!     AR_FOR_TARGET="$2"
    else
!     AR_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in as; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4549: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AS_FOR_TARGET"; then
!   ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AS_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
! if test -n "$AS_FOR_TARGET"; then
!   echo "$ac_t""$AS_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_AS_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4580: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_AS_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$AS_FOR_TARGET"; then
!   ac_cv_prog_AS_FOR_TARGET="$AS_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_AS_FOR_TARGET="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! AS_FOR_TARGET="$ac_cv_prog_AS_FOR_TARGET"
! if test -n "$AS_FOR_TARGET"; then
!   echo "$ac_t""$AS_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_AS_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_AS_FOR_TARGET" ; then
!   set dummy as
!   if test $build = $target ; then
!     AS_FOR_TARGET="$2"
    else
!     AS_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in cc gcc; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4624: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CC_FOR_TARGET"; then
!   ac_cv_prog_CC_FOR_TARGET="$CC_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CC_FOR_TARGET="$ac_cv_prog_CC_FOR_TARGET"
! if test -n "$CC_FOR_TARGET"; then
!   echo "$ac_t""$CC_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_CC_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4655: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CC_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CC_FOR_TARGET"; then
!   ac_cv_prog_CC_FOR_TARGET="$CC_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CC_FOR_TARGET="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CC_FOR_TARGET="$ac_cv_prog_CC_FOR_TARGET"
! if test -n "$CC_FOR_TARGET"; then
!   echo "$ac_t""$CC_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_CC_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_CC_FOR_TARGET" ; then
!   set dummy cc gcc
!   if test $build = $target ; then
!     CC_FOR_TARGET="$2"
    else
!     CC_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in c++ g++ cxx gxx; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4699: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$CXX_FOR_TARGET"; then
!   ac_cv_prog_CXX_FOR_TARGET="$CXX_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_CXX_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! CXX_FOR_TARGET="$ac_cv_prog_CXX_FOR_TARGET"
! if test -n "$CXX_FOR_TARGET"; then
!   echo "$ac_t""$CXX_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_CXX_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:4730: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_CXX_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$CXX_FOR_TARGET"; then
+   ac_cv_prog_CXX_FOR_TARGET="$CXX_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_CXX_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
  fi
! fi
! CXX_FOR_TARGET="$ac_cv_prog_CXX_FOR_TARGET"
! if test -n "$CXX_FOR_TARGET"; then
!   echo "$ac_t""$CXX_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
!  
!   fi
!   test -n "$ac_cv_prog_CXX_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_CXX_FOR_TARGET" ; then
!   set dummy c++ g++ cxx gxx
    if test $build = $target ; then
!     CXX_FOR_TARGET="$2"
!   else
!     CXX_FOR_TARGET="${ncn_target_tool_prefix}$2"
!   fi
! fi
! 
!  for ncn_progname in dlltool; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4774: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$DLLTOOL_FOR_TARGET"; then
!   ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
! if test -n "$DLLTOOL_FOR_TARGET"; then
!   echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
! 
!   fi
!   if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4805: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_DLLTOOL_FOR_TARGET'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
! else
!   if test -n "$DLLTOOL_FOR_TARGET"; then
!   ac_cv_prog_DLLTOOL_FOR_TARGET="$DLLTOOL_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_DLLTOOL_FOR_TARGET="${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! DLLTOOL_FOR_TARGET="$ac_cv_prog_DLLTOOL_FOR_TARGET"
! if test -n "$DLLTOOL_FOR_TARGET"; then
!   echo "$ac_t""$DLLTOOL_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_DLLTOOL_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_DLLTOOL_FOR_TARGET" ; then
!   set dummy dlltool
!   if test $build = $target ; then
!     DLLTOOL_FOR_TARGET="$2"
    else
!     DLLTOOL_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
+ fi
+ 
+  for ncn_progname in gcc; do
+   if test -n "$ncn_target_tool_prefix"; then
+     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:4849: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$GCC_FOR_TARGET"; then
!   ac_cv_prog_GCC_FOR_TARGET="$GCC_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GCC_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! GCC_FOR_TARGET="$ac_cv_prog_GCC_FOR_TARGET"
! if test -n "$GCC_FOR_TARGET"; then
!   echo "$ac_t""$GCC_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_GCC_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4880: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_GCC_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$GCC_FOR_TARGET"; then
!   ac_cv_prog_GCC_FOR_TARGET="$GCC_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GCC_FOR_TARGET="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! GCC_FOR_TARGET="$ac_cv_prog_GCC_FOR_TARGET"
! if test -n "$GCC_FOR_TARGET"; then
!   echo "$ac_t""$GCC_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
+  
+   fi
+   test -n "$ac_cv_prog_GCC_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_GCC_FOR_TARGET" ; then
+   GCC_FOR_TARGET="${CC_FOR_TARGET}"
  fi
! 
!  for ncn_progname in gcj; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4919: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$GCJ_FOR_TARGET"; then
!   ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GCJ_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! GCJ_FOR_TARGET="$ac_cv_prog_GCJ_FOR_TARGET"
! if test -n "$GCJ_FOR_TARGET"; then
!   echo "$ac_t""$GCJ_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
! 
!   fi
!   if test -z "$ac_cv_prog_GCJ_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4950: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_GCJ_FOR_TARGET'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
! else
!   if test -n "$GCJ_FOR_TARGET"; then
!   ac_cv_prog_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GCJ_FOR_TARGET="${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! GCJ_FOR_TARGET="$ac_cv_prog_GCJ_FOR_TARGET"
! if test -n "$GCJ_FOR_TARGET"; then
!   echo "$ac_t""$GCJ_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_GCJ_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_GCJ_FOR_TARGET" ; then
!   set dummy gcj
!   if test $build = $target ; then
!     GCJ_FOR_TARGET="$2"
    else
!     GCJ_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in gfortran; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:4994: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$GFORTRAN_FOR_TARGET"; then
!   ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
! if test -n "$GFORTRAN_FOR_TARGET"; then
!   echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
!   fi
!   if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:5025: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$GFORTRAN_FOR_TARGET"; then
!   ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
! if test -n "$GFORTRAN_FOR_TARGET"; then
!   echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_GFORTRAN_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" ; then
!   set dummy gfortran
!   if test $build = $target ; then
!     GFORTRAN_FOR_TARGET="$2"
    else
!     GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
  fi
  
!  for ncn_progname in ld; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:5069: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$LD_FOR_TARGET"; then
!   ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LD_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
! if test -n "$LD_FOR_TARGET"; then
!   echo "$ac_t""$LD_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_LD_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5100: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_LD_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$LD_FOR_TARGET"; then
+   ac_cv_prog_LD_FOR_TARGET="$LD_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_LD_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
  fi
! fi
! LD_FOR_TARGET="$ac_cv_prog_LD_FOR_TARGET"
! if test -n "$LD_FOR_TARGET"; then
!   echo "$ac_t""$LD_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
!  
!   fi
!   test -n "$ac_cv_prog_LD_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then
!   set dummy ld
    if test $build = $target ; then
!     LD_FOR_TARGET="$2"
!   else
!     LD_FOR_TARGET="${ncn_target_tool_prefix}$2"
!   fi
! fi
! 
!  for ncn_progname in lipo; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
  echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:5144: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$LIPO_FOR_TARGET"; then
!   ac_cv_prog_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" # Let the user override the test.
  else
    IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
    ac_dummy="$PATH"
    for ac_dir in $ac_dummy; do
      test -z "$ac_dir" && ac_dir=.
      if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LIPO_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
        break
      fi
    done
    IFS="$ac_save_ifs"
  fi
  fi
! LIPO_FOR_TARGET="$ac_cv_prog_LIPO_FOR_TARGET"
! if test -n "$LIPO_FOR_TARGET"; then
!   echo "$ac_t""$LIPO_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
! fi
! 
!   fi
!   if test -z "$ac_cv_prog_LIPO_FOR_TARGET" && test $build = $target ; then
!     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_progname}; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:5175: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
! else
!   if test -n "$LIPO_FOR_TARGET"; then
!   ac_cv_prog_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_LIPO_FOR_TARGET="${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! LIPO_FOR_TARGET="$ac_cv_prog_LIPO_FOR_TARGET"
! if test -n "$LIPO_FOR_TARGET"; then
!   echo "$ac_t""$LIPO_FOR_TARGET" 1>&6
  else
    echo "$ac_t""no" 1>&6
  fi
   
!   fi
!   test -n "$ac_cv_prog_LIPO_FOR_TARGET" && break
! done
! 
! if test -z "$ac_cv_prog_LIPO_FOR_TARGET" ; then
!   set dummy lipo
!   if test $build = $target ; then
!     LIPO_FOR_TARGET="$2"
    else
!     LIPO_FOR_TARGET="${ncn_target_tool_prefix}$2"
    fi
+ fi
+ 
+  for ncn_progname in nm; do
+   if test -n "$ncn_target_tool_prefix"; then
+     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5219: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$NM_FOR_TARGET"; then
!   ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_NM_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
! if test -n "$NM_FOR_TARGET"; then
!   echo "$ac_t""$NM_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_NM_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5250: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$NM_FOR_TARGET"; then
+   ac_cv_prog_NM_FOR_TARGET="$NM_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_NM_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ NM_FOR_TARGET="$ac_cv_prog_NM_FOR_TARGET"
+ if test -n "$NM_FOR_TARGET"; then
+   echo "$ac_t""$NM_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_NM_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_NM_FOR_TARGET" ; then
+   set dummy nm
+   if test $build = $target ; then
+     NM_FOR_TARGET="$2"
+   else
+     NM_FOR_TARGET="${ncn_target_tool_prefix}$2"
+   fi
+ fi
  
+  for ncn_progname in objdump; do
+   if test -n "$ncn_target_tool_prefix"; then
+     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5294: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$OBJDUMP_FOR_TARGET"; then
+   ac_cv_prog_OBJDUMP_FOR_TARGET="$OBJDUMP_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_OBJDUMP_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ OBJDUMP_FOR_TARGET="$ac_cv_prog_OBJDUMP_FOR_TARGET"
+ if test -n "$OBJDUMP_FOR_TARGET"; then
+   echo "$ac_t""$OBJDUMP_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
  
+   fi
+   if test -z "$ac_cv_prog_OBJDUMP_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5325: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_OBJDUMP_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$OBJDUMP_FOR_TARGET"; then
+   ac_cv_prog_OBJDUMP_FOR_TARGET="$OBJDUMP_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_OBJDUMP_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ OBJDUMP_FOR_TARGET="$ac_cv_prog_OBJDUMP_FOR_TARGET"
+ if test -n "$OBJDUMP_FOR_TARGET"; then
+   echo "$ac_t""$OBJDUMP_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_OBJDUMP_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_OBJDUMP_FOR_TARGET" ; then
+   set dummy objdump
+   if test $build = $target ; then
+     OBJDUMP_FOR_TARGET="$2"
+   else
+     OBJDUMP_FOR_TARGET="${ncn_target_tool_prefix}$2"
+   fi
+ fi
  
+  for ncn_progname in ranlib; do
+   if test -n "$ncn_target_tool_prefix"; then
+     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5369: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$RANLIB_FOR_TARGET"; then
+   ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_RANLIB_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
+ if test -n "$RANLIB_FOR_TARGET"; then
+   echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
  
+   fi
+   if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5400: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$RANLIB_FOR_TARGET"; then
+   ac_cv_prog_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_RANLIB_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ RANLIB_FOR_TARGET="$ac_cv_prog_RANLIB_FOR_TARGET"
+ if test -n "$RANLIB_FOR_TARGET"; then
+   echo "$ac_t""$RANLIB_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_RANLIB_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then
+   RANLIB_FOR_TARGET=":"
+ fi
  
+  for ncn_progname in strip; do
+   if test -n "$ncn_target_tool_prefix"; then
+     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5439: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$STRIP_FOR_TARGET"; then
+   ac_cv_prog_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_STRIP_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ STRIP_FOR_TARGET="$ac_cv_prog_STRIP_FOR_TARGET"
+ if test -n "$STRIP_FOR_TARGET"; then
+   echo "$ac_t""$STRIP_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
  
+   fi
+   if test -z "$ac_cv_prog_STRIP_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5470: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$STRIP_FOR_TARGET"; then
+   ac_cv_prog_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_STRIP_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ STRIP_FOR_TARGET="$ac_cv_prog_STRIP_FOR_TARGET"
+ if test -n "$STRIP_FOR_TARGET"; then
+   echo "$ac_t""$STRIP_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_STRIP_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_STRIP_FOR_TARGET" ; then
+   set dummy strip
+   if test $build = $target ; then
+     STRIP_FOR_TARGET="$2"
+   else
+     STRIP_FOR_TARGET="${ncn_target_tool_prefix}$2"
+   fi
+ fi
  
!  for ncn_progname in windres; do
!   if test -n "$ncn_target_tool_prefix"; then
!     # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
! set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
! echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
! echo "configure:5514: checking for $ac_word" >&5
! if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
!   echo $ac_n "(cached) $ac_c" 1>&6
  else
!   if test -n "$WINDRES_FOR_TARGET"; then
!   ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test.
! else
!   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
!   ac_dummy="$PATH"
!   for ac_dir in $ac_dummy; do
!     test -z "$ac_dir" && ac_dir=.
!     if test -f $ac_dir/$ac_word; then
!       ac_cv_prog_WINDRES_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
!       break
!     fi
!   done
!   IFS="$ac_save_ifs"
! fi
! fi
! WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
! if test -n "$WINDRES_FOR_TARGET"; then
!   echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6
! else
!   echo "$ac_t""no" 1>&6
  fi
  
+   fi
+   if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" && test $build = $target ; then
+     # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+ set dummy ${ncn_progname}; ac_word=$2
+ echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+ echo "configure:5545: checking for $ac_word" >&5
+ if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then
+   echo $ac_n "(cached) $ac_c" 1>&6
+ else
+   if test -n "$WINDRES_FOR_TARGET"; then
+   ac_cv_prog_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" # Let the user override the test.
+ else
+   IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+   ac_dummy="$PATH"
+   for ac_dir in $ac_dummy; do
+     test -z "$ac_dir" && ac_dir=.
+     if test -f $ac_dir/$ac_word; then
+       ac_cv_prog_WINDRES_FOR_TARGET="${ncn_progname}"
+       break
+     fi
+   done
+   IFS="$ac_save_ifs"
+ fi
+ fi
+ WINDRES_FOR_TARGET="$ac_cv_prog_WINDRES_FOR_TARGET"
+ if test -n "$WINDRES_FOR_TARGET"; then
+   echo "$ac_t""$WINDRES_FOR_TARGET" 1>&6
+ else
+   echo "$ac_t""no" 1>&6
+ fi
+  
+   fi
+   test -n "$ac_cv_prog_WINDRES_FOR_TARGET" && break
+ done
  
+ if test -z "$ac_cv_prog_WINDRES_FOR_TARGET" ; then
+   set dummy windres
+   if test $build = $target ; then
+     WINDRES_FOR_TARGET="$2"
+   else
+     WINDRES_FOR_TARGET="${ncn_target_tool_prefix}$2"
+   fi
+ fi
  
  
+ RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
+ 
+ echo $ac_n "checking where to find the target ar""... $ac_c" 1>&6
+ echo "configure:5588: checking where to find the target ar" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     AR_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/ar'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     AR_FOR_TARGET='$(AR)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target as""... $ac_c" 1>&6
+ echo "configure:5613: checking where to find the target as" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gas "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gas/as-new'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     AS_FOR_TARGET='$(AS)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target cc""... $ac_c" 1>&6
+ echo "configure:5638: checking where to find the target cc" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     CC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     CC_FOR_TARGET='$(CC)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target c++""... $ac_c" 1>&6
+ echo "configure:5663: checking where to find the target c++" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   case ,${enable_languages}, in
+     *,c++,*) ;;
+     *) ok=no ;;
+   esac
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     CXX_FOR_TARGET='$(CXX)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target c++ for libstdc++""... $ac_c" 1>&6
+ echo "configure:5691: checking where to find the target c++ for libstdc++" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   case ,${enable_languages}, in
+     *,c++,*) ;;
+     *) ok=no ;;
+   esac
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     RAW_CXX_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     RAW_CXX_FOR_TARGET='$(CXX)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target dlltool""... $ac_c" 1>&6
+ echo "configure:5719: checking where to find the target dlltool" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     DLLTOOL_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/dlltool'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     DLLTOOL_FOR_TARGET='$(DLLTOOL)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target gcc""... $ac_c" 1>&6
+ echo "configure:5744: checking where to find the target gcc" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     GCC_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     GCC_FOR_TARGET='$()'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target gcj""... $ac_c" 1>&6
+ echo "configure:5769: checking where to find the target gcj" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   case ,${enable_languages}, in
+     *,java,*) ;;
+     *) ok=no ;;
+   esac
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     GCJ_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     GCJ_FOR_TARGET='$(GCJ)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
+ echo "configure:5797: checking where to find the target gfortran" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" gcc "*) ;;
+     *) ok=no ;;
+   esac
+   case ,${enable_languages}, in
+     *,fortran,*) ;;
+     *) ok=no ;;
+   esac
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     GFORTRAN_FOR_TARGET='$(GFORTRAN)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
+ echo "configure:5825: checking where to find the target ld" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" ld "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/ld/ld-new'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     LD_FOR_TARGET='$(LD)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target lipo""... $ac_c" 1>&6
+ echo "configure:5850: checking where to find the target lipo" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   if test "x$target" = "x$host"; then
+     # We can use an host tool
+     LIPO_FOR_TARGET='$(LIPO)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target nm""... $ac_c" 1>&6
+ echo "configure:5865: checking where to find the target nm" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/nm-new'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     NM_FOR_TARGET='$(NM)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target objdump""... $ac_c" 1>&6
+ echo "configure:5890: checking where to find the target objdump" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     OBJDUMP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/objdump'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     OBJDUMP_FOR_TARGET='$(OBJDUMP)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target ranlib""... $ac_c" 1>&6
+ echo "configure:5915: checking where to find the target ranlib" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     RANLIB_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/ranlib'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     RANLIB_FOR_TARGET='$(RANLIB)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target strip""... $ac_c" 1>&6
+ echo "configure:5940: checking where to find the target strip" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     STRIP_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/strip'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     STRIP_FOR_TARGET='$(STRIP)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
+ echo $ac_n "checking where to find the target windres""... $ac_c" 1>&6
+ echo "configure:5965: checking where to find the target windres" >&5
+ if test "x${build}" != "x${host}" ; then
+   # Canadian cross, just use what we found
+   echo "$ac_t""pre-installed" 1>&6
+ else
+   ok=yes
+   case " ${configdirs} " in
+     *" binutils "*) ;;
+     *) ok=no ;;
+   esac
+   
+   if test $ok = yes; then
+     # An in-tree tool is available and we can use it
+     WINDRES_FOR_TARGET='$$r/$(HOST_SUBDIR)/binutils/windres'
+     echo "$ac_t""just compiled" 1>&6
+   elif test "x$target" = "x$host"; then
+     # We can use an host tool
+     WINDRES_FOR_TARGET='$(WINDRES)'
+     echo "$ac_t""host tool" 1>&6
+   else
+     # We need a cross tool
+     echo "$ac_t""pre-installed" 1>&6
+   fi
+ fi
  
  
  
*************** AR_FOR_TARGET=${AR_FOR_TARGET}${extra_ar
*** 4815,4822 ****
  RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
  NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
  
  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
! echo "configure:4820: checking whether to enable maintainer-specific portions of Makefiles" >&5
  # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
  if test "${enable_maintainer_mode+set}" = set; then
    enableval="$enable_maintainer_mode"
--- 5994,6020 ----
  RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
  NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
  
+ # When building target libraries, except in a Canadian cross, we use
+ # the same toolchain as the compiler we just built.
+ COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
+ COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
+ COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
+ if test $host = $build; then
+   case " $configdirs " in
+     *" gcc "*)
+       COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
+       COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
+       COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
+       ;;
+   esac
+ fi
+ 
+ 
+ 
+ 
+ 
  echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
! echo "configure:6018: checking whether to enable maintainer-specific portions of Makefiles" >&5
  # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
  if test "${enable_maintainer_mode+set}" = set; then
    enableval="$enable_maintainer_mode"
*************** esac
*** 4863,4869 ****
  # gcc for stageN-gcc and stagePREV-gcc for stage(N-1).  In case this is not
  # possible, however, we can resort to mv.
  echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
! echo "configure:4867: checking if symbolic links between directories work" >&5
  if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
--- 6061,6067 ----
  # gcc for stageN-gcc and stagePREV-gcc for stage(N-1).  In case this is not
  # possible, however, we can resort to mv.
  echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6
! echo "configure:6065: checking if symbolic links between directories work" >&5
  if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
*************** else
*** 4877,4883 ****
     && rm -f confdir.s2; then
    gcc_cv_prog_ln_s_dir=yes
  else
!   gcc_cv_prog_ln_s_dir=yes
  fi
  rm -rf confdir.s1 confdir.s2
  fi
--- 6075,6081 ----
     && rm -f confdir.s2; then
    gcc_cv_prog_ln_s_dir=yes
  else
!   gcc_cv_prog_ln_s_dir=no
  fi
  rm -rf confdir.s1 confdir.s2
  fi
*************** case ${enable_werror} in
*** 4911,4936 ****
  esac
  
  
- # If gcc is built natively with shared library enabled, set
- # $RPATH_ENVVAR to make sure the newly built gcc shared librares are
- # used.
- SET_GCC_LIB_PATH=
- if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then
-   case "${set_lib_path}" in
-     no) ;;
-     *)
-       eval "d=\$$RPATH_ENVVAR"
-       if test x"$d" != x; then
- 	d="$pwd/gcc:$d"
-       else
- 	d="$pwd/gcc"
-     fi
-     SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);"
-     ;;
-   esac
- fi
- 
- 
  trap '' 1 2 15
  cat > confcache <<\EOF
  # This file is a shell script that caches the results of configure
--- 6109,6114 ----
*************** s%@INSTALL_DATA@%$INSTALL_DATA%g
*** 5097,5105 ****
  s%@LN@%$LN%g
  s%@LN_S@%$LN_S%g
  s%@TOPLEVEL_CONFIGURE_ARGUMENTS@%$TOPLEVEL_CONFIGURE_ARGUMENTS%g
- s%@gcc_version_trigger@%$gcc_version_trigger%g
- s%@gcc_version_full@%$gcc_version_full%g
- s%@gcc_version@%$gcc_version%g
  s%@build_subdir@%$build_subdir%g
  s%@host_subdir@%$host_subdir%g
  s%@target_subdir@%$target_subdir%g
--- 6275,6280 ----
*************** s%@do_compare@%$do_compare%g
*** 5109,5126 ****
  s%@gmplibs@%$gmplibs%g
  s%@gmpinc@%$gmpinc%g
  s%@stage1_languages@%$stage1_languages%g
! s%@CONFIGURED_BISON@%$CONFIGURED_BISON%g
! s%@CONFIGURED_YACC@%$CONFIGURED_YACC%g
! s%@CONFIGURED_M4@%$CONFIGURED_M4%g
! s%@CONFIGURED_FLEX@%$CONFIGURED_FLEX%g
! s%@CONFIGURED_LEX@%$CONFIGURED_LEX%g
! s%@CONFIGURED_MAKEINFO@%$CONFIGURED_MAKEINFO%g
  s%@bootstrap_lean@%$bootstrap_lean%g
- s%@default_target@%$default_target%g
  /@serialization_dependencies@/r $serialization_dependencies
  s%@serialization_dependencies@%%g
- s%@gxx_include_dir@%$gxx_include_dir%g
- s%@libstdcxx_incdir@%$libstdcxx_incdir%g
  /@host_makefile_frag@/r $host_makefile_frag
  s%@host_makefile_frag@%%g
  /@target_makefile_frag@/r $target_makefile_frag
--- 6284,6293 ----
  s%@gmplibs@%$gmplibs%g
  s%@gmpinc@%$gmpinc%g
  s%@stage1_languages@%$stage1_languages%g
! s%@SYSROOT_CFLAGS_FOR_TARGET@%$SYSROOT_CFLAGS_FOR_TARGET%g
  s%@bootstrap_lean@%$bootstrap_lean%g
  /@serialization_dependencies@/r $serialization_dependencies
  s%@serialization_dependencies@%%g
  /@host_makefile_frag@/r $host_makefile_frag
  s%@host_makefile_frag@%%g
  /@target_makefile_frag@/r $target_makefile_frag
*************** s%@target_makefile_frag@%%g
*** 5129,5141 ****
  s%@alphaieee_frag@%%g
  /@ospace_frag@/r $ospace_frag
  s%@ospace_frag@%%g
- s%@SET_LIB_PATH@%$SET_LIB_PATH%g
  s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g
  s%@BUILD_PREFIX@%$BUILD_PREFIX%g
  s%@BUILD_PREFIX_1@%$BUILD_PREFIX_1%g
  s%@tooldir@%$tooldir%g
  s%@build_tooldir@%$build_tooldir%g
  s%@GDB_TK@%$GDB_TK%g
  s%@build_configargs@%$build_configargs%g
  s%@build_configdirs@%$build_configdirs%g
  s%@host_configargs@%$host_configargs%g
--- 6296,6309 ----
  s%@alphaieee_frag@%%g
  /@ospace_frag@/r $ospace_frag
  s%@ospace_frag@%%g
  s%@RPATH_ENVVAR@%$RPATH_ENVVAR%g
  s%@BUILD_PREFIX@%$BUILD_PREFIX%g
  s%@BUILD_PREFIX_1@%$BUILD_PREFIX_1%g
  s%@tooldir@%$tooldir%g
  s%@build_tooldir@%$build_tooldir%g
+ s%@CONFIGURE_GDB_TK@%$CONFIGURE_GDB_TK%g
  s%@GDB_TK@%$GDB_TK%g
+ s%@INSTALL_GDB_TK@%$INSTALL_GDB_TK%g
  s%@build_configargs@%$build_configargs%g
  s%@build_configdirs@%$build_configdirs%g
  s%@host_configargs@%$host_configargs%g
*************** s%@target_configargs@%$target_configargs
*** 5144,5199 ****
  s%@target_configdirs@%$target_configdirs%g
  s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
  s%@config_shell@%$config_shell%g
  s%@AR@%$AR%g
- s%@ncn_cv_AR@%$ncn_cv_AR%g
  s%@AS@%$AS%g
- s%@ncn_cv_AS@%$ncn_cv_AS%g
  s%@DLLTOOL@%$DLLTOOL%g
- s%@ncn_cv_DLLTOOL@%$ncn_cv_DLLTOOL%g
  s%@LD@%$LD%g
! s%@ncn_cv_LD@%$ncn_cv_LD%g
  s%@NM@%$NM%g
- s%@ncn_cv_NM@%$ncn_cv_NM%g
  s%@RANLIB@%$RANLIB%g
! s%@ncn_cv_RANLIB@%$ncn_cv_RANLIB%g
  s%@WINDRES@%$WINDRES%g
- s%@ncn_cv_WINDRES@%$ncn_cv_WINDRES%g
  s%@OBJCOPY@%$OBJCOPY%g
- s%@ncn_cv_OBJCOPY@%$ncn_cv_OBJCOPY%g
  s%@OBJDUMP@%$OBJDUMP%g
- s%@ncn_cv_OBJDUMP@%$ncn_cv_OBJDUMP%g
  s%@CXX@%$CXX%g
  s%@CFLAGS_FOR_BUILD@%$CFLAGS_FOR_BUILD%g
- s%@CONFIGURED_AR_FOR_TARGET@%$CONFIGURED_AR_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_AR_FOR_TARGET@%$ncn_cv_CONFIGURED_AR_FOR_TARGET%g
- s%@CONFIGURED_AS_FOR_TARGET@%$CONFIGURED_AS_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_AS_FOR_TARGET@%$ncn_cv_CONFIGURED_AS_FOR_TARGET%g
- s%@CONFIGURED_DLLTOOL_FOR_TARGET@%$CONFIGURED_DLLTOOL_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET@%$ncn_cv_CONFIGURED_DLLTOOL_FOR_TARGET%g
- s%@CONFIGURED_LD_FOR_TARGET@%$CONFIGURED_LD_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_LD_FOR_TARGET@%$ncn_cv_CONFIGURED_LD_FOR_TARGET%g
- s%@CONFIGURED_NM_FOR_TARGET@%$CONFIGURED_NM_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_NM_FOR_TARGET@%$ncn_cv_CONFIGURED_NM_FOR_TARGET%g
- s%@CONFIGURED_RANLIB_FOR_TARGET@%$CONFIGURED_RANLIB_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_RANLIB_FOR_TARGET@%$ncn_cv_CONFIGURED_RANLIB_FOR_TARGET%g
- s%@CONFIGURED_WINDRES_FOR_TARGET@%$CONFIGURED_WINDRES_FOR_TARGET%g
- s%@ncn_cv_CONFIGURED_WINDRES_FOR_TARGET@%$ncn_cv_CONFIGURED_WINDRES_FOR_TARGET%g
- s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
- s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g
- s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g
- s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
- s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
- s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g
- s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g
- s%@CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
- s%@RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE@%$RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE%g
  s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
  s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
  s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
  s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
  s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
  s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
  s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
  s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
  s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
  s%@MAINT@%$MAINT%g
--- 6312,6358 ----
  s%@target_configdirs@%$target_configdirs%g
  s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
  s%@config_shell@%$config_shell%g
+ s%@YACC@%$YACC%g
+ s%@BISON@%$BISON%g
+ s%@M4@%$M4%g
+ s%@LEX@%$LEX%g
+ s%@FLEX@%$FLEX%g
+ s%@MAKEINFO@%$MAKEINFO%g
+ s%@EXPECT@%$EXPECT%g
+ s%@RUNTEST@%$RUNTEST%g
  s%@AR@%$AR%g
  s%@AS@%$AS%g
  s%@DLLTOOL@%$DLLTOOL%g
  s%@LD@%$LD%g
! s%@LIPO@%$LIPO%g
  s%@NM@%$NM%g
  s%@RANLIB@%$RANLIB%g
! s%@STRIP@%$STRIP%g
  s%@WINDRES@%$WINDRES%g
  s%@OBJCOPY@%$OBJCOPY%g
  s%@OBJDUMP@%$OBJDUMP%g
  s%@CXX@%$CXX%g
  s%@CFLAGS_FOR_BUILD@%$CFLAGS_FOR_BUILD%g
  s%@AR_FOR_TARGET@%$AR_FOR_TARGET%g
  s%@AS_FOR_TARGET@%$AS_FOR_TARGET%g
+ s%@CC_FOR_TARGET@%$CC_FOR_TARGET%g
+ s%@CXX_FOR_TARGET@%$CXX_FOR_TARGET%g
  s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
+ s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
+ s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
+ s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
  s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
+ s%@LIPO_FOR_TARGET@%$LIPO_FOR_TARGET%g
  s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
+ s%@OBJDUMP_FOR_TARGET@%$OBJDUMP_FOR_TARGET%g
  s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g
+ s%@STRIP_FOR_TARGET@%$STRIP_FOR_TARGET%g
  s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g
+ s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g
+ s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g
+ s%@COMPILER_AS_FOR_TARGET@%$COMPILER_AS_FOR_TARGET%g
+ s%@COMPILER_LD_FOR_TARGET@%$COMPILER_LD_FOR_TARGET%g
+ s%@COMPILER_NM_FOR_TARGET@%$COMPILER_NM_FOR_TARGET%g
  s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
  s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
  s%@MAINT@%$MAINT%g
*************** s%@stage1_cflags@%$stage1_cflags%g
*** 5201,5207 ****
  s%@CREATE_LINK_TO_DIR@%$CREATE_LINK_TO_DIR%g
  s%@UNDO_LINK_TO_DIR@%$UNDO_LINK_TO_DIR%g
  s%@stage2_werror_flag@%$stage2_werror_flag%g
- s%@SET_GCC_LIB_PATH@%$SET_GCC_LIB_PATH%g
  
  CEOF
  EOF
--- 6360,6365 ----
diff -Nrcpad gcc-4.0.2/configure.in gcc-4.1.0/configure.in
*** gcc-4.0.2/configure.in	Tue Sep 13 07:01:28 2005
--- gcc-4.1.0/configure.in	Fri Dec 16 12:57:40 2005
***************
*** 13,26 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  
  ##############################################################################
  ### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
  
  sinclude(config/acx.m4)
- sinclude(config/gcc-version.m4)
- sinclude(config/gxx-include-dir.m4)
  
  AC_INIT(move-if-change)
  AC_PREREQ(2.13)
--- 13,24 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  
  ##############################################################################
  ### WARNING: this file contains embedded tabs.  Do not run untabify on this file.
  
  sinclude(config/acx.m4)
  
  AC_INIT(move-if-change)
  AC_PREREQ(2.13)
*************** progname=$0
*** 70,80 ****
  # if PWD already has a value, it is probably wrong.
  if test -n "$PWD" ; then PWD=`${PWDCMD-pwd}`; fi
  
- # If we're building in the source directory, error.
- if test "${srcdir}" = "." ; then
-   AC_MSG_ERROR([Building in the source directory is not supported in this release. See http://gcc.gnu.org/install/configure.html for more details.])
- fi
- 
  # Export original configure arguments for use by sub-configures.  These
  # will be expanded by make, so quote '$'.
  tmp="$progname $@"
--- 68,73 ----
*************** topsrcdir=$srcpwd
*** 106,127 ****
  
  extra_host_args=
  
- # Define the trigger file to make sure configure will re-run whenever
- # the gcc version number changes.
- TL_AC_GCC_VERSION([$topsrcdir])
- if test -f $gcc_version_trigger ; then
-   case "$ac_configure_args" in
-     *--with-gcc-version-trigger=$gcc_version_trigger* )
-       ;;
-     * )
-       # Add to all subconfigure arguments: build, host, and target.
-       ac_configure_args="$ac_configure_args --with-gcc-version-trigger=$gcc_version_trigger"
-       ;;
-   esac
- else
-   gcc_version_trigger=
- fi
- 
  ### To add a new directory to the tree, first choose whether it is a target
  ### or a host dependent tool.  Then put it into the appropriate list
  ### (library or tools, host or target), doing a dependency sort.
--- 99,104 ----
*************** host_libs="intl mmalloc libiberty opcode
*** 153,159 ****
  # know that we are building the simulator.
  # binutils, gas and ld appear in that order because it makes sense to run
  # "make check" in that particular order.
! host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar"
  
  # libgcj represents the runtime libraries only used by gcj.
  libgcj="target-libffi \
--- 130,136 ----
  # know that we are building the simulator.
  # binutils, gas and ld appear in that order because it makes sense to run
  # "make check" in that particular order.
! host_tools="texinfo byacc flex bison binutils gas ld fixincludes gcc sid sim gdb make patch prms send-pr gprof etc expect dejagnu ash bash bzip2 m4 autoconf automake libtool diff rcs fileutils shellutils time textutils wdiff find uudecode hello tar gzip indent recode release sed utils guile perl gawk findutils gettext zip fastjar gnattools"
  
  # libgcj represents the runtime libraries only used by gcj.
  libgcj="target-libffi \
*************** target_libraries="target-libiberty \
*** 170,175 ****
--- 147,153 ----
  		target-newlib \
  		target-libstdc++-v3 \
  		target-libmudflap \
+ 		target-libssp \
  		target-libgfortran \
  		${libgcj} \
  		target-libobjc \
*************** case "${host}" in
*** 280,285 ****
--- 258,267 ----
      configdirs="$configdirs libtermcap" ;;
  esac
  
+ # A target can indicate whether a language isn't supported for some reason.
+ # Only spaces may be used in this macro; not newlines or tabs.
+ unsupported_languages=
+ 
  # Remove more programs from consideration, based on the host or 
  # target this usually means that a port of the program doesn't
  # exist yet.
*************** ENABLE_LIBADA=$enableval,
*** 322,327 ****
--- 304,318 ----
  ENABLE_LIBADA=yes)
  if test "${ENABLE_LIBADA}" != "yes" ; then
    noconfigdirs="$noconfigdirs target-libada"
+   noconfigdirs="$noconfigdirs gnattools"
+ fi
+ 
+ AC_ARG_ENABLE(libssp,
+ [  --enable-libssp        Builds libssp directory],
+ ENABLE_LIBSSP=$enableval,
+ ENABLE_LIBSSP=yes)
+ if test "${ENABLE_LIBSSP}" != "yes" ; then
+   noconfigdirs="$noconfigdirs target-libssp"
  fi
  
  # Save it here so that, even in case of --enable-libgcj, if the Java
*************** case "${target}" in
*** 370,378 ****
      ;;
    powerpc-*-darwin*)
      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
      ;;
    *-*-darwin*)
!     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
--- 361,371 ----
      ;;
    powerpc-*-darwin*)
      noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes gdb gprof"
+     noconfigdirs="$noconfigdirs sim target-rda"
      ;;
    *-*-darwin*)
!     noconfigdirs="$noconfigdirs ld gas gdb gprof"
!     noconfigdirs="$noconfigdirs sim target-rda"
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    *-*-freebsd[[12]] | *-*-freebsd[[12]].* | *-*-freebsd*aout*)
*************** case "${target}" in
*** 420,430 ****
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
      ;;
    *-*-uclinux*)
      noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
      ;;
    *-*-vxworks*)
!     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj}"
      ;;
    alpha*-dec-osf*)
      # ld works, but does not support shared libraries.
--- 413,430 ----
    *-*-rtems*)
      noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
      ;;
+     # The tpf target doesn't support gdb yet.
+   *-*-tpf*)
+     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty ${libgcj} target-libmudflap gdb tcl tk libgui itcl"
+     ;;
    *-*-uclinux*)
      noconfigdirs="$noconfigdirs target-newlib target-libgloss target-rda ${libgcj}"
      ;;
    *-*-vxworks*)
!     noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libiberty target-libstdc++-v3 ${libgcj}"
!     ;;
!   m32c-*-*)
!     noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    alpha*-dec-osf*)
      # ld works, but does not support shared libraries.
*************** case "${target}" in
*** 475,480 ****
--- 475,484 ----
    arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
      noconfigdirs="$noconfigdirs target-libffi target-qthreads"
      ;;
+   arm*-*-linux-gnueabi)
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+     ;;
    arm*-*-symbianelf*)
      noconfigdirs="$noconfigdirs ${libgcj} target-libiberty"
      ;;
*************** case "${target}" in
*** 496,501 ****
--- 500,511 ----
    avr-*-*)
      noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
      ;;
+   bfin-*-*)
+     noconfigdirs="$noconfigdirs target-libgloss gdb"
+     if test x${is_cross_compiler} != xno ; then
+       target_configdirs="${target_configdirs} target-bsp target-cygmon"
+     fi
+     ;;
    c4x-*-* | tic4x-*-*)
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj}"
      ;;
*************** case "${target}" in
*** 503,512 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
      case "${target}" in
!       *-*-elf | *-*-aout)
! 	noconfigdirs="$noconfigdirs ${libgcj}";;
        *)
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
--- 513,530 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3 target-libgloss ${libgcj} gcc gdb newlib"
      ;;
    cris-*-* | crisv32-*-*)
+     unsupported_languages="$unsupported_languages java"
      case "${target}" in
!       *-*-aout)
! 	unsupported_languages="$unsupported_languages fortran"
! 	noconfigdirs="$noconfigdirs target-libffi target-boehm-gc";;
!       *-*-elf)
! 	unsupported_languages="$unsupported_languages fortran"
! 	noconfigdirs="$noconfigdirs target-boehm-gc";;
!       *-*-linux*)
! 	noconfigdirs="$noconfigdirs target-newlib target-libgloss";;
        *)
+ 	unsupported_languages="$unsupported_languages fortran"
  	noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss";;
      esac
      ;;
*************** case "${target}" in
*** 656,662 ****
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs ${libgcj} gdb libgloss target-libgfortran"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
--- 674,681 ----
      noconfigdirs="$noconfigdirs target-libstdc++-v3"
      ;;
    mmix-*-*)
!     noconfigdirs="$noconfigdirs target-libffi target-boehm-gc gdb libgloss"
!     unsupported_languages="$unsupported_languages fortran java"
      ;;
    mn10200-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
*************** case "${target}" in
*** 664,672 ****
    mn10300-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
    powerpc-*-aix*)
      # copied from rs6000-*-* entry
!     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
      ;;
    powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
      target_configdirs="$target_configdirs target-winsup"
--- 683,694 ----
    mn10300-*-*)
      noconfigdirs="$noconfigdirs ${libgcj}"
      ;;
+   mt-*-*)
+     noconfigdirs="$noconfigdirs sim"
+     ;;
    powerpc-*-aix*)
      # copied from rs6000-*-* entry
!     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
      ;;
    powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
      target_configdirs="$target_configdirs target-winsup"
*************** case "${target}" in
*** 690,696 ****
      noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
      ;;
    rs6000-*-aix*)
!     noconfigdirs="$noconfigdirs gprof target-libgloss ${libgcj}"
      ;;
    rs6000-*-*)
      noconfigdirs="$noconfigdirs gprof ${libgcj}"
--- 712,718 ----
      noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}"
      ;;
    rs6000-*-aix*)
!     noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}"
      ;;
    rs6000-*-*)
      noconfigdirs="$noconfigdirs gprof ${libgcj}"
*************** case "${host}" in
*** 915,921 ****
      host_makefile_frag="config/mh-cygwin"
      ;;
    *-mingw32*)
-     host_makefile_frag="config/mh-mingw32"
      ;;
    *-interix*)
      host_makefile_frag="config/mh-interix"
--- 937,942 ----
*************** if test "${build}" != "${host}" ; then
*** 989,998 ****
    CXX=${CXX-${host_alias}-c++}
    CXXFLAGS=${CXXFLAGS-"-g -O2"}
    CC_FOR_BUILD=${CC_FOR_BUILD-gcc}
-   CC_FOR_TARGET=${CC_FOR_TARGET-${target_alias}-gcc}
-   CXX_FOR_TARGET=${CXX_FOR_TARGET-${target_alias}-c++}
-   GCJ_FOR_TARGET=${GCJ_FOR_TARGET-${target_alias}-gcj}
-   GCC_FOR_TARGET=${GCC_FOR_TARGET-${CC_FOR_TARGET-${target_alias}-gcc}}
    BUILD_PREFIX=${build_alias}-
    BUILD_PREFIX_1=${build_alias}-
  
--- 1010,1015 ----
*************** else
*** 1006,1012 ****
    # This is all going to change when we autoconfiscate...
  
    CC_FOR_BUILD="\$(CC)"
-   GCC_FOR_TARGET="\$(USUAL_GCC_FOR_TARGET)"
    BUILD_PREFIX=
    BUILD_PREFIX_1=loser-
  
--- 1023,1028 ----
*************** if test -d ${srcdir}/gcc; then
*** 1137,1148 ****
    fi
    enable_languages=`echo "${enable_languages}" | sed -e 's/[[ 	,]][[ 	,]]*/,/g' -e 's/,$//'`
  
!   # 'fortran' is a compatibility name for 'f95'. We issue a warning and
!   # make the substitution.
    case ,${enable_languages}, in
!     *,fortran,*)
!       echo configure.in: warning: the official name for 'fortran' on this branch is 'f95' 1>&2
!       enable_languages=`echo "${enable_languages}" | sed -e 's/fortran/f95/g'`
        ;;
    esac
  
--- 1153,1164 ----
    fi
    enable_languages=`echo "${enable_languages}" | sed -e 's/[[ 	,]][[ 	,]]*/,/g' -e 's/,$//'`
  
!   # 'f95' is the old name for the 'fortran' language. We issue a warning
!   # and make the substitution.
    case ,${enable_languages}, in
!     *,f95,*)
!       echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
!       enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
        ;;
    esac
  
*************** if test -d ${srcdir}/gcc; then
*** 1234,1240 ****
              add_this_lang=no
              ;;
          esac
!         
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.
--- 1250,1263 ----
              add_this_lang=no
              ;;
          esac
! 
! 	# Disable a language that is unsupported by the target.
! 	case " $unsupported_languages " in
! 	  *" $language "*)
! 	    add_this_lang=no
! 	    ;;
! 	esac
! 
  	case $add_this_lang in
  	  no)
              # Remove language-dependent dirs.
*************** if test -d ${srcdir}/gcc; then
*** 1258,1265 ****
    missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
    if test "x$missing_languages" != x; then
      AC_MSG_ERROR([
! The following requested languages were not found: ${missing_languages}
! The available languages are: ${potential_languages}])
    fi
  
    if test "x$new_enable_languages" != "x$enable_languages"; then
--- 1281,1288 ----
    missing_languages=`echo "$missing_languages" | sed -e "s/^,//" -e "s/,$//"`
    if test "x$missing_languages" != x; then
      AC_MSG_ERROR([
! The following requested languages could not be built: ${missing_languages}
! Recognised languages are: ${potential_languages}])
    fi
  
    if test "x$new_enable_languages" != "x$enable_languages"; then
*************** esac
*** 1396,1401 ****
--- 1419,1433 ----
  
  copy_dirs=
  
+ AC_ARG_WITH([build-sysroot], 
+   [  --with-build-sysroot=sysroot
+                           use sysroot as the system root during the build],
+   [if test x"$withval" != x ; then
+      SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
+    fi],
+   [SYSROOT_CFLAGS_FOR_TARGET=])
+ AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
+ 
  # Handle --with-headers=XXX.  If the value is not "yes", the contents of
  # the named directory are copied to $(tooldir)/sys-include.
  if test x"${with_headers}" != x && test x"${with_headers}" != xno ; then
*************** esac
*** 1579,1595 ****
  tooldir='${exec_prefix}'/${target_alias}
  build_tooldir=${tooldir}
  
- # Generate default definitions for YACC, M4, LEX and other programs that run
- # on the build machine.  These are used if the Makefile can't locate these
- # programs in objdir.
- MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
- AC_CHECK_PROGS([CONFIGURED_BISON], [bison], [$MISSING bison])
- AC_CHECK_PROGS([CONFIGURED_YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
- AC_CHECK_PROGS([CONFIGURED_M4], [gm4 gnum4 m4], [$MISSING m4])
- AC_CHECK_PROGS([CONFIGURED_FLEX], [flex], [$MISSING flex])
- AC_CHECK_PROGS([CONFIGURED_LEX], [flex lex], [$MISSING flex])
- AC_CHECK_PROGS([CONFIGURED_MAKEINFO], makeinfo, [$MISSING makeinfo])
- 
  # Create a .gdbinit file which runs the one in srcdir
  # and tells GDB to look there for source files.
  
--- 1611,1616 ----
*************** case "${host}" in
*** 1656,1683 ****
    ;;
  esac
  
- # If no --enable-shared nor --disable-shared is specified, we set up
- # LD_LIBRARY_PATH when we build for gcc.
- case $enable_shared in
- "")
-   if test -d ${srcdir}/gcc; then
-     set_lib_path=yes
-   else 
-     set_lib_path=no
-   fi
-   ;;
- *)
-   set_lib_path=$enable_shared
-   ;;
- esac
- 
- # If --enable-shared was set, we must set LD_LIBRARY_PATH so that the
- # binutils tools will find libbfd.so.
- case "${set_lib_path}" in
-   no) SET_LIB_PATH= ;;
-   *) SET_LIB_PATH="\$(REALLY_SET_LIB_PATH)" ;;
- esac
- 
  case "${host}" in
    *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;
    *-*-darwin* | *-*-rhapsody* ) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;
--- 1677,1682 ----
*************** case "$enable_gdbtk" in
*** 1714,1719 ****
--- 1713,1720 ----
      fi
      ;;
  esac
+ CONFIGURE_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-configure-/g`
+ INSTALL_GDB_TK=`echo ${GDB_TK} | sed s/-all-/-install-/g`
  
  # Strip out unwanted targets.
  
*************** esac
*** 1774,1791 ****
  case "$enable_bootstrap" in
    yes)
      bootstrap_lean='#'
-     default_target=bootstrap
      bootstrap_suffix=bootstrap ;;
    lean)
      bootstrap_lean=''
-     default_target=bootstrap
      bootstrap_suffix=bootstrap ;;
    no)
-     default_target=all
      bootstrap_suffix=no-bootstrap ;;
  esac
  AC_SUBST(bootstrap_lean)
- AC_SUBST(default_target)
  
  for module in ${build_configdirs} ; do
    if test -z "${no_recursion}" \
--- 1775,1788 ----
*************** fi
*** 1977,1987 ****
  # fixed in future.  It's still worthwhile to use a cache file for each
  # directory.  I think.
  
! # Pass the appropriate --host, --build, and --cache-file arguments.
! target_configargs="--cache-file=./config.cache --host=${target_alias} --build=${build_alias} ${target_configargs}"
! 
! # provide a proper gxx_include_dir.
! TL_AC_GXX_INCLUDE_DIR
  
  FLAGS_FOR_TARGET=
  case " $target_configdirs " in
--- 1974,1983 ----
  # fixed in future.  It's still worthwhile to use a cache file for each
  # directory.  I think.
  
! # Pass the appropriate --build, --host, --target and --cache-file arguments.
! # We need to pass --target, as newer autoconf's requires consistency
! # for target_alias and gcc doesn't manage it consistently.
! target_configargs="--cache-file=./config.cache --build=${build_alias} --host=${target_alias} --target=${target_alias} ${target_configargs}"
  
  FLAGS_FOR_TARGET=
  case " $target_configdirs " in
*************** case " $target_configdirs " in
*** 2003,2009 ****
         # to it.  This is right: we don't want to search that directory
         # for binaries, but we want the header files in there, so add
         # them explicitly.
!        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/gcc/include'
  
         # Someone might think of using the pre-installed headers on
         # Canadian crosses, in case the installed compiler is not fully
--- 1999,2005 ----
         # to it.  This is right: we don't want to search that directory
         # for binaries, but we want the header files in there, so add
         # them explicitly.
!        FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -isystem $$r/$(HOST_SUBDIR)/gcc/include'
  
         # Someone might think of using the pre-installed headers on
         # Canadian crosses, in case the installed compiler is not fully
*************** fi
*** 2050,2140 ****
  if test "x${use_gnu_ld}" = x &&
     echo " ${configdirs} " | grep " ld " > /dev/null ; then
    # Arrange for us to find uninstalled linker scripts.
!   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/ld'
! fi
! 
! if test "x${CC_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   CC_FOR_TARGET='$$r/gcc/xgcc -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   CC_FOR_TARGET='$(CC)'
! else
!   CC_FOR_TARGET=`echo gcc | sed "${program_transform_name}"`
! fi
! CC_FOR_TARGET=$CC_FOR_TARGET' $(FLAGS_FOR_TARGET)'
! 
! if test "x${GCJ_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   GCJ_FOR_TARGET='$$r/gcc/gcj -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   GCJ_FOR_TARGET='gcj'
! else
!   GCJ_FOR_TARGET=`echo gcj | sed "${program_transform_name}"`
! fi
! GCJ_FOR_TARGET=$GCJ_FOR_TARGET' $(FLAGS_FOR_TARGET)'
! 
! if test "x${GFORTRAN_FOR_TARGET+set}" = xset; then
!   :
! elif test -d ${srcdir}/gcc; then
!   GFORTRAN_FOR_TARGET='$$r/gcc/gfortran -B$$r/gcc/'
! elif test "$host" = "$target"; then
!   GFORTRAN_FOR_TARGET='gfortran'
! else
!   GFORTRAN_FOR_TARGET=`echo gfortran | sed "${program_transform_name}"`
! fi
! case $GFORTRAN_FOR_TARGET in
! *' $(FLAGS_FOR_TARGET)') ;;
! *) GFORTRAN_FOR_TARGET=$GFORTRAN_FOR_TARGET' $(FLAGS_FOR_TARGET)' ;;
! esac
! 
! # Don't use libstdc++-v3's flags to configure/build itself.
! libstdcxx_flags='`test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
! raw_libstdcxx_flags='-L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs'
! 
! if test "x${CXX_FOR_TARGET+set}" = xset; then
!   if test "x${RAW_CXX_FOR_TARGET+set}" != xset; then
!     RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
!   fi
! elif test -d ${srcdir}/gcc; then
!   # We add -shared-libgcc to CXX_FOR_TARGET whenever we use xgcc instead
!   # of g++ for linking C++ or Java, because g++ has -shared-libgcc by
!   # default whereas gcc does not.
!   # RAW_CXX_FOR_TARGET is for linking C++ or java; CXX_FOR_TARGET is for
!   # all other cases.
!   CXX_FOR_TARGET='$$r/gcc/g++ -B$$r/gcc/ -nostdinc++ '$libstdcxx_flags
!   RAW_CXX_FOR_TARGET='$$r/gcc/xgcc -shared-libgcc -B$$r/gcc/ -nostdinc++ '$raw_libstdcxx_flags
! elif test "$host" = "$target"; then
!   CXX_FOR_TARGET='$(CXX)'
!   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
! else
!   CXX_FOR_TARGET=`echo c++ | sed "${program_transform_name}"`
!   RAW_CXX_FOR_TARGET=${CXX_FOR_TARGET}
  fi
- CXX_FOR_TARGET=$CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
- RAW_CXX_FOR_TARGET=$RAW_CXX_FOR_TARGET' $(FLAGS_FOR_TARGET)'
- 
- qCXX_FOR_TARGET=`echo "$CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
- qRAW_CXX_FOR_TARGET=`echo "$RAW_CXX_FOR_TARGET" | sed 's,[[&%]],\\\&,g'`
- 
- # We want to defer the evaluation of `cmd`s and shell variables in
- # CXX_FOR_TARGET when recursing in the top-level Makefile, such as for
- # bootstrap.  We'll enclose CXX_FOR_TARGET_FOR_RECURSIVE_MAKE in single
- # quotes, but we still have to duplicate `$'s so that shell variables
- # can be expanded by the nested make as shell variables, not as make
- # macros.
- qqCXX_FOR_TARGET=`echo "$qCXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
- qqRAW_CXX_FOR_TARGET=`echo "$qRAW_CXX_FOR_TARGET" | sed -e 's,[[$]][[$]],$$$$,g'`
- 
- # Wrap CC_FOR_TARGET and friends, for certain types of builds.
- CC_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${CC_FOR_TARGET}"
- GCJ_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GCJ_FOR_TARGET}"
- GFORTRAN_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${GFORTRAN_FOR_TARGET}"
- CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qCXX_FOR_TARGET}"
- RAW_CXX_FOR_TARGET="\$(STAGE_CC_WRAPPER) ${qRAW_CXX_FOR_TARGET}"
- CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqCXX_FOR_TARGET}"
- RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE="\$(STAGE_CC_WRAPPER) ${qqRAW_CXX_FOR_TARGET}"
  
  # Makefile fragments.
  for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
--- 2046,2053 ----
  if test "x${use_gnu_ld}" = x &&
     echo " ${configdirs} " | grep " ld " > /dev/null ; then
    # Arrange for us to find uninstalled linker scripts.
!   FLAGS_FOR_TARGET=$FLAGS_FOR_TARGET' -L$$r/$(HOST_SUBDIR)/ld'
  fi
  
  # Makefile fragments.
  for frag in host_makefile_frag target_makefile_frag alphaieee_frag ospace_frag;
*************** AC_SUBST_FILE(alphaieee_frag)
*** 2150,2162 ****
  AC_SUBST_FILE(ospace_frag)
  
  # Miscellanea: directories, flags, etc.
- AC_SUBST(SET_LIB_PATH)
  AC_SUBST(RPATH_ENVVAR)
  AC_SUBST(BUILD_PREFIX)
  AC_SUBST(BUILD_PREFIX_1)
  AC_SUBST(tooldir)
  AC_SUBST(build_tooldir)
  AC_SUBST(GDB_TK)
  
  # Build module lists & subconfigure args.
  AC_SUBST(build_configargs)
--- 2063,2076 ----
  AC_SUBST_FILE(ospace_frag)
  
  # Miscellanea: directories, flags, etc.
  AC_SUBST(RPATH_ENVVAR)
  AC_SUBST(BUILD_PREFIX)
  AC_SUBST(BUILD_PREFIX_1)
  AC_SUBST(tooldir)
  AC_SUBST(build_tooldir)
+ AC_SUBST(CONFIGURE_GDB_TK)
  AC_SUBST(GDB_TK)
+ AC_SUBST(INSTALL_GDB_TK)
  
  # Build module lists & subconfigure args.
  AC_SUBST(build_configargs)
*************** AC_SUBST(target_configdirs)
*** 2174,2189 ****
  AC_SUBST(CC_FOR_BUILD)
  AC_SUBST(config_shell)
  
  # Host tools.
! NCN_STRICT_CHECK_TOOL(AR, ar)
! NCN_STRICT_CHECK_TOOL(AS, as)
! NCN_STRICT_CHECK_TOOL(DLLTOOL, dlltool)
! NCN_STRICT_CHECK_TOOL(LD, ld)
! NCN_STRICT_CHECK_TOOL(NM, nm)
! NCN_STRICT_CHECK_TOOL(RANLIB, ranlib, :)
! NCN_STRICT_CHECK_TOOL(WINDRES, windres)
! NCN_STRICT_CHECK_TOOL(OBJCOPY, objcopy)
! NCN_STRICT_CHECK_TOOL(OBJDUMP, objdump)
  AC_SUBST(CC)
  AC_SUBST(CXX)
  AC_SUBST(CFLAGS)
--- 2088,2171 ----
  AC_SUBST(CC_FOR_BUILD)
  AC_SUBST(config_shell)
  
+ # Generate default definitions for YACC, M4, LEX and other programs that run
+ # on the build machine.  These are used if the Makefile can't locate these
+ # programs in objdir.
+ MISSING=`cd $ac_aux_dir && ${PWDCMD-pwd}`/missing
+ 
+ AC_CHECK_PROGS([YACC], ['bison -y' byacc yacc], [$MISSING bison -y])
+ case " $build_configdirs " in
+   *" bison "*) YACC='$$r/$(BUILD_SUBDIR)/bison/tests/bison -y' ;;
+   *" byacc "*) YACC='$$r/$(BUILD_SUBDIR)/byacc/byacc' ;;
+ esac
+ 
+ AC_CHECK_PROGS([BISON], [bison], [$MISSING bison])
+ case " $build_configdirs " in
+   *" bison "*) BISON='$$r/$(BUILD_SUBDIR)/bison/tests/bison' ;;
+ esac
+ 
+ AC_CHECK_PROGS([M4], [gm4 gnum4 m4], [$MISSING m4])
+ case " $build_configdirs " in
+   *" m4 "*) M4='$$r/$(BUILD_SUBDIR)/m4/m4' ;;
+ esac
+ 
+ AC_CHECK_PROGS([LEX], [flex lex], [$MISSING flex])
+ case " $build_configdirs " in
+   *" flex "*) LEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+   *" lex "*) LEX='$$r/$(BUILD_SUBDIR)/lex/lex' ;;
+ esac
+ 
+ AC_CHECK_PROGS([FLEX], [flex], [$MISSING flex])
+ case " $build_configdirs " in
+   *" flex "*) FLEX='$$r/$(BUILD_SUBDIR)/flex/flex' ;;
+ esac
+ 
+ AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo])
+ case " $build_configdirs " in
+   *" texinfo "*) MAKEINFO='$$r/$(BUILD_SUBDIR)/texinfo/makeinfo/makeinfo' ;;
+   *)
+ changequote(,)
+     # For an installed makeinfo, we require it to be from texinfo 4.2 or
+     # higher, else we use the "missing" dummy.
+     if ${MAKEINFO} --version \
+        | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then
+       :
+     else
+       MAKEINFO="$MISSING makeinfo"
+     fi
+     ;;
+ changequote([,])
+ esac
+ 
+ # FIXME: expect and dejagnu may become build tools?
+ 
+ AC_CHECK_PROGS(EXPECT, expect, expect)
+ case " $configdirs " in
+   *" expect "*)
+     test $host = $build && EXPECT='$$r/$(HOST_SUBDIR)/expect/expect'
+     ;;
+ esac
+ 
+ AC_CHECK_PROGS(RUNTEST, runtest, runtest)
+ case " $configdirs " in
+   *" dejagnu "*)
+     test $host = $build && RUNTEST='$$r/$(HOST_SUBDIR)/dejagnu/runtest'
+     ;;
+ esac
+ 
+ 
  # Host tools.
! NCN_STRICT_CHECK_TOOLS(AR, ar)
! NCN_STRICT_CHECK_TOOLS(AS, as)
! NCN_STRICT_CHECK_TOOLS(DLLTOOL, dlltool)
! NCN_STRICT_CHECK_TOOLS(LD, ld)
! NCN_STRICT_CHECK_TOOLS(LIPO, lipo)
! NCN_STRICT_CHECK_TOOLS(NM, nm)
! NCN_STRICT_CHECK_TOOLS(RANLIB, ranlib, :)
! NCN_STRICT_CHECK_TOOLS(STRIP, strip, :)
! NCN_STRICT_CHECK_TOOLS(WINDRES, windres)
! NCN_STRICT_CHECK_TOOLS(OBJCOPY, objcopy)
! NCN_STRICT_CHECK_TOOLS(OBJDUMP, objdump)
  AC_SUBST(CC)
  AC_SUBST(CXX)
  AC_SUBST(CFLAGS)
*************** AC_SUBST(CFLAGS_FOR_BUILD)
*** 2191,2252 ****
  AC_SUBST(CXXFLAGS)
  
  # Target tools.
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AR_FOR_TARGET, ar)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_AS_FOR_TARGET, as)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_DLLTOOL_FOR_TARGET, dlltool)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_LD_FOR_TARGET, ld)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_NM_FOR_TARGET, nm)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_RANLIB_FOR_TARGET, ranlib, :)
! NCN_STRICT_CHECK_TARGET_TOOL(CONFIGURED_WINDRES_FOR_TARGET, windres)
  
- AC_SUBST(GCC_FOR_TARGET)
  AC_SUBST(FLAGS_FOR_TARGET)
- AC_SUBST(CC_FOR_TARGET)
- AC_SUBST(GCJ_FOR_TARGET)
- AC_SUBST(GFORTRAN_FOR_TARGET)
- AC_SUBST(CXX_FOR_TARGET)
  AC_SUBST(RAW_CXX_FOR_TARGET)
- AC_SUBST(CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
- AC_SUBST(RAW_CXX_FOR_TARGET_FOR_RECURSIVE_MAKE)
- 
- # Fix up target tools.
- if test "x${build}" = "x${host}" ; then
-   # In this case, the newly built tools can and should be used,
-   # so we override the results of the autoconf tests.
-   # This should really only happen when the tools are actually being built,
-   # but that's a further refinement.  The new build scheme, where
-   # tools are built into a structure paralleling where they're installed,
-   # should also eliminate all of this cleanly.
-   AR_FOR_TARGET="\$(USUAL_AR_FOR_TARGET)"
-   AS_FOR_TARGET="\$(USUAL_AS_FOR_TARGET)"
-   DLLTOOL_FOR_TARGET="\$(USUAL_DLLTOOL_FOR_TARGET)"
-   LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)"
-   NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)"
-   RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)"
-   WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)"
- else
-   # Just use the ones we found.
-   AR_FOR_TARGET="\$(CONFIGURED_AR_FOR_TARGET)"
-   AS_FOR_TARGET="\$(CONFIGURED_AS_FOR_TARGET)"
-   DLLTOOL_FOR_TARGET="\$(CONFIGURED_DLLTOOL_FOR_TARGET)"
-   LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)"
-   NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)"
-   RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)"
-   WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)"  
- fi
- AC_SUBST(AR_FOR_TARGET)
- AC_SUBST(AS_FOR_TARGET)
- AC_SUBST(DLLTOOL_FOR_TARGET)
- AC_SUBST(LD_FOR_TARGET)
- AC_SUBST(NM_FOR_TARGET)
- AC_SUBST(RANLIB_FOR_TARGET)
- AC_SUBST(WINDRES_FOR_TARGET)
  
  # Certain tools may need extra flags.
  AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
  RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
  NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
  
  AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
  AC_ARG_ENABLE(maintainer-mode,
  [  --enable-maintainer-mode enable make rules and dependencies not useful
--- 2173,2246 ----
  AC_SUBST(CXXFLAGS)
  
  # Target tools.
! NCN_STRICT_CHECK_TARGET_TOOLS(AR_FOR_TARGET, ar)
! NCN_STRICT_CHECK_TARGET_TOOLS(AS_FOR_TARGET, as)
! NCN_STRICT_CHECK_TARGET_TOOLS(CC_FOR_TARGET, cc gcc)
! NCN_STRICT_CHECK_TARGET_TOOLS(CXX_FOR_TARGET, c++ g++ cxx gxx)
! NCN_STRICT_CHECK_TARGET_TOOLS(DLLTOOL_FOR_TARGET, dlltool)
! NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
! NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
! NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
! NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld)
! NCN_STRICT_CHECK_TARGET_TOOLS(LIPO_FOR_TARGET, lipo)
! NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm)
! NCN_STRICT_CHECK_TARGET_TOOLS(OBJDUMP_FOR_TARGET, objdump)
! NCN_STRICT_CHECK_TARGET_TOOLS(RANLIB_FOR_TARGET, ranlib, :)
! NCN_STRICT_CHECK_TARGET_TOOLS(STRIP_FOR_TARGET, strip)
! NCN_STRICT_CHECK_TARGET_TOOLS(WINDRES_FOR_TARGET, windres)
! 
! RAW_CXX_FOR_TARGET="$CXX_FOR_TARGET"
! 
! GCC_TARGET_TOOL(ar, AR_FOR_TARGET, AR, [binutils/ar])
! GCC_TARGET_TOOL(as, AS_FOR_TARGET, AS, [gas/as-new])
! GCC_TARGET_TOOL(cc, CC_FOR_TARGET, CC, [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
! GCC_TARGET_TOOL(c++, CXX_FOR_TARGET, CXX,
! 		[gcc/g++ -B$$r/$(HOST_SUBDIR)/gcc/ -nostdinc++ `test ! -f $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags || $(SHELL) $$r/$(TARGET_SUBDIR)/libstdc++-v3/scripts/testsuite_flags --build-includes` -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
! 		c++)
! GCC_TARGET_TOOL(c++ for libstdc++, RAW_CXX_FOR_TARGET, CXX,
! 		[gcc/xgcc -shared-libgcc -B$$r/$(HOST_SUBDIR)/gcc -nostdinc++ -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src -L$$r/$(TARGET_SUBDIR)/libstdc++-v3/src/.libs],
! 		c++)
! GCC_TARGET_TOOL(dlltool, DLLTOOL_FOR_TARGET, DLLTOOL, [binutils/dlltool])
! GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
! GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
! 		[gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
! GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
! 		[gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
! GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
! GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
! GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
! GCC_TARGET_TOOL(objdump, OBJDUMP_FOR_TARGET, OBJDUMP, [binutils/objdump])
! GCC_TARGET_TOOL(ranlib, RANLIB_FOR_TARGET, RANLIB, [binutils/ranlib])
! GCC_TARGET_TOOL(strip, STRIP_FOR_TARGET, STRIP, [binutils/strip])
! GCC_TARGET_TOOL(windres, WINDRES_FOR_TARGET, WINDRES, [binutils/windres])
  
  AC_SUBST(FLAGS_FOR_TARGET)
  AC_SUBST(RAW_CXX_FOR_TARGET)
  
  # Certain tools may need extra flags.
  AR_FOR_TARGET=${AR_FOR_TARGET}${extra_arflags_for_target}
  RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target}
  NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target}
  
+ # When building target libraries, except in a Canadian cross, we use
+ # the same toolchain as the compiler we just built.
+ COMPILER_AS_FOR_TARGET='$(AS_FOR_TARGET)'
+ COMPILER_LD_FOR_TARGET='$(LD_FOR_TARGET)'
+ COMPILER_NM_FOR_TARGET='$(NM_FOR_TARGET)'
+ if test $host = $build; then
+   case " $configdirs " in
+     *" gcc "*)
+       COMPILER_AS_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/as'
+       COMPILER_LD_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/collect-ld'
+       COMPILER_NM_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/nm'${extra_nmflags_for_target}
+       ;;
+   esac
+ fi
+ 
+ AC_SUBST(COMPILER_AS_FOR_TARGET)
+ AC_SUBST(COMPILER_LD_FOR_TARGET)
+ AC_SUBST(COMPILER_NM_FOR_TARGET)
+ 
  AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
  AC_ARG_ENABLE(maintainer-mode,
  [  --enable-maintainer-mode enable make rules and dependencies not useful
*************** AC_CACHE_CHECK([if symbolic links betwee
*** 2303,2309 ****
     && rm -f confdir.s2; then
    gcc_cv_prog_ln_s_dir=yes
  else
!   gcc_cv_prog_ln_s_dir=yes
  fi
  rm -rf confdir.s1 confdir.s2])
  
--- 2297,2303 ----
     && rm -f confdir.s2; then
    gcc_cv_prog_ln_s_dir=yes
  else
!   gcc_cv_prog_ln_s_dir=no
  fi
  rm -rf confdir.s1 confdir.s2])
  
*************** case ${enable_werror} in
*** 2329,2352 ****
  esac
  AC_SUBST(stage2_werror_flag)
  
- # If gcc is built natively with shared library enabled, set
- # $RPATH_ENVVAR to make sure the newly built gcc shared librares are
- # used.
- SET_GCC_LIB_PATH=
- if test -d ${srcdir}/gcc && test x${is_cross_compiler} = xno; then
-   case "${set_lib_path}" in
-     no) ;;
-     *)
-       eval "d=\$$RPATH_ENVVAR"
-       if test x"$d" != x; then
- 	d="$pwd/gcc:$d"
-       else
- 	d="$pwd/gcc"
-     fi
-     SET_GCC_LIB_PATH="\$(RPATH_ENVVAR)=$d; export \$(RPATH_ENVVAR);"
-     ;;
-   esac
- fi
- AC_SUBST(SET_GCC_LIB_PATH)
- 
  AC_OUTPUT(Makefile)
--- 2323,2326 ----
diff -Nrcpad gcc-4.0.2/contrib/ChangeLog gcc-4.1.0/contrib/ChangeLog
*** gcc-4.0.2/contrib/ChangeLog	Wed Sep 21 03:55:00 2005
--- gcc-4.1.0/contrib/ChangeLog	Tue Feb 28 08:29:39 2006
***************
*** 1,14 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2005-06-05  Gerald Pfeifer  <gerald@pfeifer.com>
  
--- 1,65 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2006-02-28  Mark Mitchell  <mark@codesourcery.com>
  
! 	* gennews (files): Update for GCC 4.1.
  
! 2005-11-03  Steven Bosscher  <stevenb@suse.de>
  
! 	* gcc_build: Fix my previous checking.
! 
! 2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
! 
! 	* gcc_update: Include revision number in LAST_UPDATED.
! 
! 2005-10-30  Steven Bosscher  <stevenb@suse.de>
! 
! 	* gcc_build: Use gcc.gnu.org as the default server.  Set up
! 	SVN_REPOSITORY correctly.  Add support for checking out branches.
! 
! 2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>
! 
! 	* gcc_update: When svn update is called and
! 	--silent is used, pass -q.
! 
! 2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>
! 
! 	* gcc_update: Remove the -q from svn invocation.
! 
! 2005-10-28  Andrew Pinski  <pinskia@gcc.gnu.org>
! 
! 	* gcc_build: Remove -d from the call to gcc_update.
! 
! 2005-10-28  Daniel Berlin  <dberlin@dberlin.org>
! 	    Ben Elliston <bje@au1.ibm.com>
! 	
! 	* gcc_update: Update for svn.
! 	* newcvsroot: Ditto.
! 	* gcc_build: Ditto.
! 
! 2005-10-21  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* texi2pod.pl: Substitue for @value even when part of @include. 
! 
! 2005-10-21  Bob Wilson  <bob.wilson@acm.org>
! 
! 	* texi2pod.pl: Convert two single quotes or two backquotes to
! 	double quotes.
! 
! 2005-08-23  Ben Elliston  <bje@au.ibm.com>
! 
! 	* gcc_update: Update dependencies for libjava/aclocal.m4.
! 
! 2005-08-14  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* All files: Update with new FSF address.
! 
! 2005-07-14  Ben Elliston  <bje@au.ibm.com>
! 
! 	* filter_params.pl: Typo fix.
! 	* filter_knr2ansi.pl: Likewise.
  
  2005-06-05  Gerald Pfeifer  <gerald@pfeifer.com>
  
***************
*** 18,36 ****
  
  	* gennews (files): Update for GCC 4.0.
  
! 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
! 
! 	Merge from mainline:
! 
!     2005-03-18  Alexandre Oliva  <aoliva@redhat.com>
  
  	* gcc_update (silent): Unset instead of initializing to null.
  
!     2005-03-18  Andreas Schwab  <schwab@suse.de>
  
  	* gcc_update (apply_patch): Properly quote $1.
  
!     2005-03-18  Zack Weinberg  <zack@codesourcery.com>
  
  	* gcc_update: Add --silent option.
  
--- 69,83 ----
  
  	* gennews (files): Update for GCC 4.0.
  
! 2005-03-18  Alexandre Oliva  <aoliva@redhat.com>
  
  	* gcc_update (silent): Unset instead of initializing to null.
  
! 2005-03-18  Andreas Schwab  <schwab@suse.de>
  
  	* gcc_update (apply_patch): Properly quote $1.
  
! 2005-03-18  Zack Weinberg  <zack@codesourcery.com>
  
  	* gcc_update: Add --silent option.
  
diff -Nrcpad gcc-4.0.2/contrib/analyze_brprob gcc-4.1.0/contrib/analyze_brprob
*** gcc-4.0.2/contrib/analyze_brprob	Fri Jul 16 18:58:00 2004
--- gcc-4.1.0/contrib/analyze_brprob	Mon Aug 15 00:41:31 2005
***************
*** 17,24 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  #
  #
  # This script is used to calculate two basic properties of the branch prediction
--- 17,24 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  #
  #
  # This script is used to calculate two basic properties of the branch prediction
diff -Nrcpad gcc-4.0.2/contrib/filter_knr2ansi.pl gcc-4.1.0/contrib/filter_knr2ansi.pl
*** gcc-4.0.2/contrib/filter_knr2ansi.pl	Thu May 13 06:39:08 2004
--- gcc-4.1.0/contrib/filter_knr2ansi.pl	Thu Jul 14 03:38:20 2005
***************
*** 1,6 ****
  #!/usr/bin/perl
  #
! # Goes thourgh the input line by line to find K&R style function
  # declarations, and replaces them with ANSI style declarations.
  #
  @blah = <>;
--- 1,6 ----
  #!/usr/bin/perl
  #
! # Goes through the input line by line to find K&R style function
  # declarations, and replaces them with ANSI style declarations.
  #
  @blah = <>;
diff -Nrcpad gcc-4.0.2/contrib/filter_params.pl gcc-4.1.0/contrib/filter_params.pl
*** gcc-4.0.2/contrib/filter_params.pl	Thu May 13 06:39:08 2004
--- gcc-4.1.0/contrib/filter_params.pl	Thu Jul 14 03:38:20 2005
***************
*** 1,6 ****
  #!/usr/bin/perl
  
! # Filters out some of the #defines used thourghout the GCC sources:
  # - GTY(()) marks declarations for gengtype.c
  # - PARAMS(()) is used for K&R compatibility. See ansidecl.h.
  
--- 1,6 ----
  #!/usr/bin/perl
  
! # Filters out some of the #defines used throughout the GCC sources:
  # - GTY(()) marks declarations for gengtype.c
  # - PARAMS(()) is used for K&R compatibility. See ansidecl.h.
  
diff -Nrcpad gcc-4.0.2/contrib/gcc_build gcc-4.1.0/contrib/gcc_build
*** gcc-4.0.2/contrib/gcc_build	Thu Aug 21 18:59:05 2003
--- gcc-4.1.0/contrib/gcc_build	Fri Nov  4 17:27:44 2005
***************
*** 4,15 ****
  #
  # File:   gcc_build
  # Author: Mark Mitchell
! # Date:   07/10/2000
  #
  # Contents:
  #   Script to automatically download and build GCC.
  #
! # Copyright (c) 2000, 2001, 2003 Free Software Foundation.
  #
  # This file is part of GCC.
  #
--- 4,17 ----
  #
  # File:   gcc_build
  # Author: Mark Mitchell
! # Date:   2000-07-10
! #
! # Adapted to Subversion by Ben Elliston <bje@au.ibm.com>, 2005-07-14.
  #
  # Contents:
  #   Script to automatically download and build GCC.
  #
! # Copyright (c) 2000, 2001, 2003, 2005 Free Software Foundation.
  #
  # This file is part of GCC.
  #
***************
*** 25,32 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  #
  ########################################################################
  
--- 27,34 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  #
  ########################################################################
  
***************
*** 34,42 ****
  # Notes
  ########################################################################
  
- # If you are using password-based CVS, you must manually log in, and
- # not log out from, the CVS server before running this script.
- 
  # You can set the following variables in the environment.  They 
  # have no corresponding command-line options because they should
  # only be needed infrequently:
--- 36,41 ----
*************** gcc_build        [-c configure_options] 
*** 63,68 ****
--- 62,68 ----
  		 [-d destination_directory]
  		 [-m make_boot_options]
  		 [-o objdir]
+ 		 [-b branch_name]
  		 [-u username]
  		 [-p protocol]
  		 [-t tarfile]
*************** changedir() {
*** 86,134 ****
  	error "Could not change directory to $1"
  }
  
- # Set up CVS environment variables
- 
- cvs_setup() {
-     CVSROOT=":${CVS_PROTOCOL}:${CVS_USERNAME}@"
-     CVSROOT="${CVSROOT}${CVS_SERVER}:${CVS_REPOSITORY}"
-     export CVSROOT
- }
- 
  # Checkout a fresh copy of the GCC build tree.
  
  checkout_gcc() {
-     # Tell CVS where to find everything.
-     cvs_setup
- 
      # If the destination already exists, don't risk destroying it.
      test -e ${DESTINATION} && \
  	error "${DESTINATION} already exists"
  
-     # CVS doesn't allow an absolute path for the destination directory.
-     DESTINATION_PARENT=`dirname ${DESTINATION}`
-     test -d ${DESTINATION_PARENT} || \
- 	error "${DESTINATION_PARENT} is not a directory"
-     changedir ${DESTINATION_PARENT}
- 
      # Checkout the tree
!     $GCC_CVS -z 9 co -d `basename ${DESTINATION}` gcc || \
  	error "Could not check out GCC"
  }
  
  # Update GCC.
  
  update_gcc() {
-     # Tell CVS where to find everything
-     cvs_setup
- 
      # If the destination does not already exist, complain.
      test -d ${DESTINATION} || \
! 	error "{$DESTINATION} does not exist"
      # Enter the destination directory.
      changedir ${DESTINATION}
  
      # Update the tree
!     ./contrib/gcc_update -d || \
  	error "Could not update GCC"
  }
  
--- 86,118 ----
  	error "Could not change directory to $1"
  }
  
  # Checkout a fresh copy of the GCC build tree.
  
  checkout_gcc() {
      # If the destination already exists, don't risk destroying it.
      test -e ${DESTINATION} && \
  	error "${DESTINATION} already exists"
  
      # Checkout the tree
!     test -n "${SVN_USERNAME}" && SVN_USERNAME="${SVN_USERNAME}@"
!     SVNROOT="${SVN_PROTOCOL}://${SVN_USERNAME}${SVN_SERVER}${SVN_REPOSITORY}${SVN_BRANCH}"
! 
!     $GCC_SVN co $SVNROOT ${DESTINATION} || \
  	error "Could not check out GCC"
  }
  
  # Update GCC.
  
  update_gcc() {
      # If the destination does not already exist, complain.
      test -d ${DESTINATION} || \
! 	error "${DESTINATION} does not exist"
! 
      # Enter the destination directory.
      changedir ${DESTINATION}
  
      # Update the tree
!     ./contrib/gcc_update || \
  	error "Could not update GCC"
  }
  
*************** export_gcc() {
*** 189,195 ****
      # Build a tarball of the source directory.
      tar czf ${TARFILE} \
  	--exclude=${OBJDIR} \
! 	--exclude=CVS \
  	--exclude='.#*' \
  	--exclude='*~' \
  	`basename ${DESTINATION}`
--- 173,179 ----
      # Build a tarball of the source directory.
      tar czf ${TARFILE} \
  	--exclude=${OBJDIR} \
! 	--exclude=.svn \
  	--exclude='.#*' \
  	--exclude='*~' \
  	`basename ${DESTINATION}`
*************** install_gcc() {
*** 210,225 ****
  # Initialization
  ########################################################################
  
! # CVS command
! GCC_CVS=${GCC_CVS-${CVS-cvs}}
! # The CVS server containing the GCC repository.
! CVS_SERVER="gcc.gnu.org"
  # The path to the repository on that server.
! CVS_REPOSITORY="/cvs/gcc"
! # The CVS protocol to use.
! CVS_PROTOCOL="pserver"
  # The username to use when connecting to the server.
! CVS_USERNAME="anoncvs"
  
  # The directory where the checked out GCC will be placed.
  DESTINATION="${HOME}/dev/gcc"
--- 194,213 ----
  # Initialization
  ########################################################################
  
! # SVN command
! GCC_SVN=${GCC_SVN-${SVN-svn}}
! # The SVN server containing the GCC repository.
! SVN_SERVER="gcc.gnu.org"
  # The path to the repository on that server.
! SVN_REPOSITORY="/svn/gcc/"
! # The branch to check out from that server.
! # Defaults to trunk if no branch is defined with -b.
! SVN_BRANCH=""
! # The SVN protocol to use.
! SVN_PROTOCOL="svn"
  # The username to use when connecting to the server.
! # An empty string means anonymous.
! SVN_USERNAME=""
  
  # The directory where the checked out GCC will be placed.
  DESTINATION="${HOME}/dev/gcc"
*************** UPDATE=0
*** 252,268 ****
  # Main Program
  ########################################################################
  
  # Parse the options.
! while getopts "c:d:m:o:p:t:u:x:" ARG; do
      case $ARG in
      c)    CONFIGURE_OPTIONS="${OPTARG}";;
      d)    DESTINATION="${OPTARG}";;
      m)    MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";;
      o)    OBJDIR="${OPTARG}";;
!     p)    CVS_PROTOCOL="${OPTARG}";;
      t)    TARFILE="${OPTARG}";;
      x)    MAKE_CHECK_OPTIONS="${OPTARG}";;
!     u)    CVS_USERNAME="${OPTARG}";;
      \?)   usage;;
      esac
  done
--- 240,260 ----
  # Main Program
  ########################################################################
  
+ # Issue usage if no parameters are given.
+ test $# -eq 0 && usage
+ 
  # Parse the options.
! while getopts "c:d:m:o:p:t:b:u:x:" ARG; do
      case $ARG in
      c)    CONFIGURE_OPTIONS="${OPTARG}";;
      d)    DESTINATION="${OPTARG}";;
      m)    MAKE_BOOTSTRAP_OPTIONS="${OPTARG}";;
      o)    OBJDIR="${OPTARG}";;
!     p)    SVN_PROTOCOL="${OPTARG}";;
      t)    TARFILE="${OPTARG}";;
      x)    MAKE_CHECK_OPTIONS="${OPTARG}";;
!     b)    SVN_BRANCH="${OPTARG}";;
!     u)    SVN_USERNAME="${OPTARG}";;
      \?)   usage;;
      esac
  done
*************** if [ ${CHECKOUT} -ne 0 ] && [ ${UPDATE} 
*** 289,294 ****
--- 281,297 ----
      error "Cannot checkout and update simultaneously"
  fi
  
+ if [ ${CHECKOUT} -eq 0 ] && test -n "${SVN_BRANCH}"; then
+     error "Branch argument only makes sense when doing a checkout"
+ fi
+ 
+ # Validate the branch name.
+ if test -n "${SVN_BRANCH}"; then
+     SVN_BRANCH="branches/${SVN_BRANCH}";
+ else
+     SVN_BRANCH="trunk";
+ fi
+ 
  # Checkout the tree.
  if [ ${CHECKOUT} -ne 0 ]; then
      checkout_gcc
diff -Nrcpad gcc-4.0.2/contrib/gcc_update gcc-4.1.0/contrib/gcc_update
*** gcc-4.0.2/contrib/gcc_update	Tue Mar 22 06:46:23 2005
--- gcc-4.1.0/contrib/gcc_update	Tue Nov  1 12:59:50 2005
***************
*** 1,10 ****
  #! /bin/sh
  #
! # Update a local CVS tree from the GCC repository, with an emphasis
  # on treating generated files correctly, so that autoconf, gperf et
  # al are not required for the ``end'' user.
  #
! # By default all command-line options are passed to `cvs update` in
  # addition to $UPDATE_OPTIONS (defined below). If the first parameter
  # reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
  # are omitted.
--- 1,18 ----
  #! /bin/sh
  #
! # Update a local Subversion tree from the GCC repository, with an emphasis
  # on treating generated files correctly, so that autoconf, gperf et
  # al are not required for the ``end'' user.
  #
! # (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation
! # Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
! #
! # This script is Free Software, and it can be copied, distributed and
! # modified as defined in the GNU General Public License.  A copy of
! # its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
! #
! #
! # By default all command-line options are passed to `svn update` in
  # addition to $UPDATE_OPTIONS (defined below). If the first parameter
  # reads --nostdflags, $UPDATE_OPTIONS as well as this parameter itself
  # are omitted.
***************
*** 12,18 ****
  # If the first parameter reads --patch, the second parameter is considered
  # a patch file.
  #
! # If the first parameter is --touch, no cvs operation will be performed,
  # only generated files that appear to be out of date in the local tree
  # will be touched.
  #
--- 20,26 ----
  # If the first parameter reads --patch, the second parameter is considered
  # a patch file.
  #
! # If the first parameter is --touch, no svn operation will be performed,
  # only generated files that appear to be out of date in the local tree
  # will be touched.
  #
***************
*** 24,53 ****
  #
  # Examples:
  #
! # contrib/gcc_update -r gcc_latest_snapshot
! # contrib/gcc_update -A
! # contrib/gcc_update --nostdflags -P -r gcc-2_95-branch gcc/testsuite
  # contrib/gcc_update --patch some-patch
  # contrib/gcc_update --touch
  # contrib/gcc_update --list
- #
- #
- # (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation
- # Originally by Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>, August 1998.
- #
- # This script is Free Software, and it can be copied, distributed and
- # modified as defined in the GNU General Public License.  A copy of
- # its license can be downloaded from http://www.gnu.org/copyleft/gpl.html
  
  
! # CVS command
! GCC_CVS=${GCC_CVS-${CVS-cvs}}
! # Default options used when updating via CVS.
! UPDATE_OPTIONS=-Pd
! # Use -P to prune empty directories.
! # Use -d to create any directories that exist in the repository but not
! #           locally.
! # Use -A to reset any sticky tags, dates, or `-k' options.
  
  ######## Anything below shouldn't be changed by regular users.
  
--- 32,47 ----
  #
  # Examples:
  #
! # contrib/gcc_update -r 8712
  # contrib/gcc_update --patch some-patch
  # contrib/gcc_update --touch
  # contrib/gcc_update --list
  
  
! # SVN command
! GCC_SVN=${GCC_SVN-${SVN-svn}}
! # Default options used when updating via SVN (none).
! UPDATE_OPTIONS=""
  
  ######## Anything below shouldn't be changed by regular users.
  
*************** libffi/fficonfig.h.in: libffi/configure.
*** 108,114 ****
  libgfortran/aclocal.m4: libgfortran/configure.ac libgfortran/acinclude.m4
  libgfortran/Makefile.in: libgfortran/Makefile.am libgfortran/configure.ac libgfortran/aclocal.m4
  libgfortran/configure: libgfortran/configure.ac libgfortran/aclocal.m4
! libjava/aclocal.m4: libjava/configure.ac libjava/acinclude.m4
  libjava/Makefile.in: libjava/Makefile.am libjava/configure.ac libjava/aclocal.m4
  libjava/configure: libjava/configure.ac libjava/aclocal.m4
  libjava/libltdl/aclocal.m4: libjava/libltdl/configure.ac libjava/libltdl/acinclude.m4
--- 102,108 ----
  libgfortran/aclocal.m4: libgfortran/configure.ac libgfortran/acinclude.m4
  libgfortran/Makefile.in: libgfortran/Makefile.am libgfortran/configure.ac libgfortran/aclocal.m4
  libgfortran/configure: libgfortran/configure.ac libgfortran/aclocal.m4
! libjava/aclocal.m4: libjava/configure.ac
  libjava/Makefile.in: libjava/Makefile.am libjava/configure.ac libjava/aclocal.m4
  libjava/configure: libjava/configure.ac libjava/aclocal.m4
  libjava/libltdl/aclocal.m4: libjava/libltdl/configure.ac libjava/libltdl/acinclude.m4
*************** p
*** 234,242 ****
  
  esac
  
! # Check whether this indeed looks like a local CVS tree.
! if [ ! -d CVS ]; then
!     echo "This does not seem to be a GCC CVS tree!"
      exit
  fi
  
--- 228,236 ----
  
  esac
  
! # Check whether this indeed looks like a local SVN tree.
! if [ ! -d .svn ]; then
!     echo "This does not seem to be a GCC SVN tree!"
      exit
  fi
  
*************** else
*** 247,263 ****
      set -- $UPDATE_OPTIONS ${1+"$@"}
  fi
  
! chat "Updating CVS tree"
  
! $GCC_CVS -q ${silent+-Q} update ${1+"$@"}
  if [ $? -ne 0 ]; then
      (touch_files_reexec)
!     echo "CVS update of full tree failed." >&2
      exit 1
  fi
  
  {
    date
!   TZ=UTC date
  } > LAST_UPDATED
  touch_files_reexec
--- 241,257 ----
      set -- $UPDATE_OPTIONS ${1+"$@"}
  fi
  
! chat "Updating SVN tree"
  
! $GCC_SVN ${silent+-q}  --non-interactive update ${1+"$@"}
  if [ $? -ne 0 ]; then
      (touch_files_reexec)
!     echo "SVN update of full tree failed." >&2
      exit 1
  fi
  
  {
    date
!   echo "`TZ=UTC date` (revision `svnversion .`)"
  } > LAST_UPDATED
  touch_files_reexec
diff -Nrcpad gcc-4.0.2/contrib/gennews gcc-4.1.0/contrib/gennews
*** gcc-4.0.2/contrib/gennews	Sun Jun  5 20:35:48 2005
--- gcc-4.1.0/contrib/gennews	Tue Feb 28 08:09:17 2006
***************
*** 18,28 ****
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  
  website=http://gcc.gnu.org/
! files="gcc-4.0/index.html gcc-4.0/changes.html
      gcc-3.4/index.html gcc-3.4/changes.html
      gcc-3.3/index.html gcc-3.3/changes.html
      gcc-3.2/index.html gcc-3.2/changes.html
--- 18,29 ----
  #
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  
  website=http://gcc.gnu.org/
! files="gcc-4.1/index.html gcc-4.1/changes.html
!     gcc-4.0/index.html gcc-4.0/changes.html
      gcc-3.4/index.html gcc-3.4/changes.html
      gcc-3.3/index.html gcc-3.3/changes.html
      gcc-3.2/index.html gcc-3.2/changes.html
diff -Nrcpad gcc-4.0.2/contrib/newcvsroot gcc-4.1.0/contrib/newcvsroot
*** gcc-4.0.2/contrib/newcvsroot	Sun Jun  4 17:33:50 2000
--- gcc-4.1.0/contrib/newcvsroot	Fri Oct 28 14:44:48 2005
***************
*** 7,12 ****
--- 7,14 ----
  # Usage: newcvsroot <newroot> <modulename> <toplevel directory>
  
  if [ $# != 3 ]; then
+     echo "Note to svn users: use svn switch --relocate instead."
+     echo
      echo "usage: `basename $0` <newroot> <modulename> <toplevel directory>"
      exit 1
  fi
diff -Nrcpad gcc-4.0.2/contrib/reghunt/ChangeLog gcc-4.1.0/contrib/reghunt/ChangeLog
*** gcc-4.0.2/contrib/reghunt/ChangeLog	Wed Sep 21 03:55:04 2005
--- gcc-4.1.0/contrib/reghunt/ChangeLog	Tue Feb 28 08:29:35 2006
***************
*** 1,14 ****
! 2005-09-20  Release Manager
! 
! 	* GCC 4.0.2 released.
! 
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
  
--- 1,10 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2005-07-14  Ben Elliston  <bje@au.ibm.com>
  
! 	* reg_test_template: Typo fix.
  
  2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
  
diff -Nrcpad gcc-4.0.2/contrib/reghunt/reg_periodic gcc-4.1.0/contrib/reghunt/reg_periodic
*** gcc-4.0.2/contrib/reghunt/reg_periodic	Tue Jan 18 02:04:51 2005
--- gcc-4.1.0/contrib/reghunt/reg_periodic	Mon Aug 15 00:41:31 2005
***************
*** 38,45 ****
  # GNU General Public License for more details.
  #
  # For a copy of the GNU General Public License, write the the
! # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  #
  ########################################################################
  
--- 38,45 ----
  # GNU General Public License for more details.
  #
  # For a copy of the GNU General Public License, write the the
! # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  #
  ########################################################################
  
diff -Nrcpad gcc-4.0.2/contrib/reghunt/reg_search gcc-4.1.0/contrib/reghunt/reg_search
*** gcc-4.0.2/contrib/reghunt/reg_search	Tue Jan 18 02:04:51 2005
--- gcc-4.1.0/contrib/reghunt/reg_search	Mon Aug 15 00:41:31 2005
***************
*** 58,65 ****
  # GNU General Public License for more details.
  #
  # For a copy of the GNU General Public License, write the the
! # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  # 
  ########################################################################
  
--- 58,65 ----
  # GNU General Public License for more details.
  #
  # For a copy of the GNU General Public License, write the the
! # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  # 
  ########################################################################
  
diff -Nrcpad gcc-4.0.2/contrib/reghunt/reg_test_template gcc-4.1.0/contrib/reghunt/reg_test_template
*** gcc-4.0.2/contrib/reghunt/reg_test_template	Thu Mar 27 18:57:42 2003
--- gcc-4.1.0/contrib/reghunt/reg_test_template	Thu Jul 14 03:39:08 2005
***************
*** 3,10 ****
  # Template for the test script specified for REG_TEST.
  
  # Run the test case for a regression search.  The argument is the date
! # of the CVS sources.  The return value is 1 if the binary search should
! # continue with later dates, 0 if it should continue with earlier dates.
  
  DATE="${1}"
  
--- 3,11 ----
  # Template for the test script specified for REG_TEST.
  
  # Run the test case for a regression search.  The argument is the date
! # of the sources.  The return value is 1 if the binary search should
! # continue with later dates, 0 if it should continue with earlier
! # dates.
  
  DATE="${1}"
  
diff -Nrcpad gcc-4.0.2/contrib/regression/ChangeLog gcc-4.1.0/contrib/regression/ChangeLog
*** gcc-4.0.2/contrib/regression/ChangeLog	Wed Sep 21 03:55:09 2005
--- gcc-4.1.0/contrib/regression/ChangeLog	Tue Feb 28 08:29:32 2006
***************
*** 1,14 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2004-11-07  James A. Morrison  <phython@gcc.gnu.org>
  
--- 1,18 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2005-06-07  Hans-Peter Nilsson  <hp@bitrange.com>
  
! 	* btest-gcc.sh: Add support for option
! 	--add-passes-despite-regression.
  
! 2005-06-06  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* btest-gcc.sh <Build>: Don't pass --with-newlib when target is
! 	"*-linux*".
! 
! 	* btest-gcc.sh (TESTLOGS): Make libstdc++.sum optional.
  
  2004-11-07  James A. Morrison  <phython@gcc.gnu.org>
  
diff -Nrcpad gcc-4.0.2/contrib/regression/btest-gcc.sh gcc-4.1.0/contrib/regression/btest-gcc.sh
*** gcc-4.0.2/contrib/regression/btest-gcc.sh	Wed Oct 27 18:19:41 2004
--- gcc-4.1.0/contrib/regression/btest-gcc.sh	Mon Aug 15 00:41:31 2005
***************
*** 1,7 ****
  #!/bin/sh
  
  #  Test GCC.
! #  Copyright (C) 1999, 2000, 2001, 2002  Free Software Foundation, Inc.
  
  #  This program is free software; you can redistribute it and/or modify
  #  it under the terms of the GNU General Public License as published by
--- 1,7 ----
  #!/bin/sh
  
  #  Test GCC.
! #  Copyright (C) 1999, 2000, 2001, 2002, 2005  Free Software Foundation, Inc.
  
  #  This program is free software; you can redistribute it and/or modify
  #  it under the terms of the GNU General Public License as published by
***************
*** 15,24 ****
  
  #  You should have received a copy of the GNU General Public License
  #  along with this program; if not, write to the Free Software
! #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  # INPUT:
! # btest <target> <source> <prefix> <state> <build>
  # TARGET is the target triplet.  It should be the same one as used in
  # constructing PREFIX.  Or it can be the keyword 'native', indicating
  # a target of whatever platform the script is running on.
--- 15,37 ----
  
  #  You should have received a copy of the GNU General Public License
  #  along with this program; if not, write to the Free Software
! #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  
  # INPUT:
! # btest <options> <target> <source> <prefix> <state> <build>
! 
! add_passes_despite_regression=0
! 
! # <options> can be
! # --add-passes-despite-regression:
! #  Add new "PASSes" despite there being some regressions.
! 
! case "$1" in
!  --add-passes-despite-regression)
!   add_passes_despite_regression=1; shift;;
!  --*) echo "Invalid option: $1"; exit 2;;
! esac
! 
  # TARGET is the target triplet.  It should be the same one as used in
  # constructing PREFIX.  Or it can be the keyword 'native', indicating
  # a target of whatever platform the script is running on.
*************** H_REAL_TARGET=`$SOURCE/config.sub $H_TAR
*** 98,105 ****
  # look at.
  TESTLOGS="gcc/testsuite/gcc.sum
  gcc/testsuite/g++.sum
! gcc/testsuite/objc.sum
! $H_TARGET/libstdc++-v3/testsuite/libstdc++.sum"
  
  # Build.
  echo build > $RESULT
--- 111,117 ----
  # look at.
  TESTLOGS="gcc/testsuite/gcc.sum
  gcc/testsuite/g++.sum
! gcc/testsuite/objc.sum"
  
  # Build.
  echo build > $RESULT
*************** if [ $H_HOST = $H_TARGET ] ; then
*** 111,118 ****
      make all || exit 1
    fi
  else
!   $SOURCE/configure --prefix=$PREFIX --target=$H_TARGET \
!     --with-gnu-ld --with-gnu-as --with-newlib || exit 1
    make || exit 1
  fi
  echo error > $RESULT || exit 1
--- 123,134 ----
      make all || exit 1
    fi
  else
!   withopt="--with-gnu-ld --with-gnu-as"
!   case "$H_TARGET" in
!     *-linux*) ;;
!     *) withopt="$withopt --with-newlib";;
!   esac
!   $SOURCE/configure --prefix=$PREFIX --target=$H_TARGET $withopt || exit 1
    make || exit 1
  fi
  echo error > $RESULT || exit 1
*************** make -k check-gcc
*** 122,127 ****
--- 138,146 ----
  
  # Test libstd++-v3
  make check-target-libstdc++-v3
+ if [ -f $BUILD/$H_TARGET/libstdc++-v3/testsuite/libstdc++.sum ] ; then
+   TESTLOGS="$TESTLOGS $H_TARGET/libstdc++-v3/testsuite/libstdc++.sum"
+ fi
  
  # Test libffi
  make check-target-libffi
*************** for LOG in $TESTLOGS ; do
*** 172,188 ****
  done | sort | uniq > $FAILED || exit 1
  comm -12 $FAILED $PASSES >> $REGRESS || exit 1
  NUMREGRESS=`wc -l < $REGRESS | tr -d ' '`
  if [ $NUMREGRESS -ne 0 ] ; then
    echo regress-$NUMREGRESS > $RESULT
    exit 1
  fi
  
- # It passed.  Update the state.
- for LOG in $TESTLOGS ; do
-   L=`basename $LOG`
-   awk '/^PASS: / { print "'$L'",$2; }' $LOG || exit 1
- done | sort | uniq | comm -23 - $FAILED > ${PASSES}~ || exit 1
- [ -s ${PASSES}~ ] || exit 1
- mv ${PASSES}~ ${PASSES} || exit 1
  echo pass > $RESULT
  exit 0
--- 191,228 ----
  done | sort | uniq > $FAILED || exit 1
  comm -12 $FAILED $PASSES >> $REGRESS || exit 1
  NUMREGRESS=`wc -l < $REGRESS | tr -d ' '`
+ 
+ if [ $NUMREGRESS -eq 0 ] || [ $add_passes_despite_regression -ne 0 ] ; then
+   # Update the state.
+   for LOG in $TESTLOGS ; do
+     L=`basename $LOG`
+     awk '/^PASS: / { print "'$L'",$2; }' $LOG || exit 1
+   done | sort | uniq | comm -23 - $FAILED > ${PASSES}~ || exit 1
+   [ -s ${PASSES}~ ] || exit 1
+   if [ $NUMREGRESS -ne 0 ] ; then
+     # The way we keep track of new PASSes when in "regress-N" for
+     # --add-passes-despite-regression, is to *add* them to previous
+     # PASSes.  Just as without this option, we don't forget *any* PASS
+     # lines, because besides the ones in $REGRESS that we definitely
+     # don't want to lose, their removal or rename may have been a
+     # mistake (as in, the cause of the "regress-N" state).  If they
+     # come back, we then know they're regressions.
+     cat ${PASSES}~ ${PASSES} | sort -u > ${PASSES}~~
+     mv ${PASSES}~~ ${PASSES} || exit 1
+     rm ${PASSES}~ || exit 1
+   else
+     # In contrast to the merging for "regress-N", we just overwrite
+     # the known PASSes when in the "pass" state, so we get rid of
+     # stale PASS lines for removed, moved or otherwise changed tests
+     # which may be added back with a different meaning later on.
+     mv ${PASSES}~ ${PASSES} || exit 1
+   fi
+ fi
+ 
  if [ $NUMREGRESS -ne 0 ] ; then
    echo regress-$NUMREGRESS > $RESULT
    exit 1
  fi
  
  echo pass > $RESULT
  exit 0
diff -Nrcpad gcc-4.0.2/contrib/regression/objs-gcc.sh gcc-4.1.0/contrib/regression/objs-gcc.sh
*** gcc-4.0.2/contrib/regression/objs-gcc.sh	Fri Oct 11 20:23:21 2002
--- gcc-4.1.0/contrib/regression/objs-gcc.sh	Mon Aug 15 00:41:31 2005
***************
*** 15,21 ****
  
  #  You should have received a copy of the GNU General Public License
  #  along with this program; if not, write to the Free Software
! #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  # INPUT:
  # btest <target> <source> <prefix> <state> <build>
--- 15,21 ----
  
  #  You should have received a copy of the GNU General Public License
  #  along with this program; if not, write to the Free Software
! #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  
  # INPUT:
  # btest <target> <source> <prefix> <state> <build>
diff -Nrcpad gcc-4.0.2/contrib/texi2pod.pl gcc-4.1.0/contrib/texi2pod.pl
*** gcc-4.0.2/contrib/texi2pod.pl	Thu Aug 26 21:26:22 2004
--- gcc-4.1.0/contrib/texi2pod.pl	Fri Oct 21 23:31:07 2005
***************
*** 16,23 ****
  
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 59 Temple Place - Suite 330,
! # Boston MA 02111-1307, USA.
  
  # This does trivial (and I mean _trivial_) conversion of Texinfo
  # markup to Perl POD format.  It's intended to be used to extract
--- 16,23 ----
  
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! # Boston MA 02110-1301, USA.
  
  # This does trivial (and I mean _trivial_) conversion of Texinfo
  # markup to Perl POD format.  It's intended to be used to extract
*************** while(<$inf>) {
*** 227,237 ****
      /^\@include\s+(.+)$/ and do {
  	push @instack, $inf;
  	$inf = gensym();
  
  	# Try cwd and $ibase.
! 	open($inf, "<" . $1) 
! 	    or open($inf, "<" . $ibase . "/" . $1)
! 		or die "cannot open $1 or $ibase/$1: $!\n";
  	next;
      };
  
--- 227,238 ----
      /^\@include\s+(.+)$/ and do {
  	push @instack, $inf;
  	$inf = gensym();
+ 	$file = postprocess($1);
  
  	# Try cwd and $ibase.
! 	open($inf, "<" . $file) 
! 	    or open($inf, "<" . $ibase . "/" . $file)
! 		or die "cannot open $file or $ibase/$file: $!\n";
  	next;
      };
  
*************** sub postprocess
*** 352,357 ****
--- 353,362 ----
      # keep references of the form @ref{...}, print them bold
      s/\@(?:ref)\{([^\}]*)\}/B<$1>/g;
  
+     # Change double single quotes to double quotes.
+     s/''/"/g;
+     s/``/"/g;
+ 
      # Cross references are thrown away, as are @noindent and @refill.
      # (@noindent is impossible in .pod, and @refill is unnecessary.)
      # @* is also impossible in .pod; we discard it and any newline that
diff -Nrcpad gcc-4.0.2/depcomp gcc-4.1.0/depcomp
*** gcc-4.0.2/depcomp	Thu Sep 23 01:21:50 2004
--- gcc-4.1.0/depcomp	Mon Jun 13 08:26:05 2005
***************
*** 1,9 ****
  #! /bin/sh
  # depcomp - compile a program generating dependencies as side-effects
  
! scriptversion=2004-05-31.23
  
! # Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
--- 1,9 ----
  #! /bin/sh
  # depcomp - compile a program generating dependencies as side-effects
  
! scriptversion=2005-05-16.16
  
! # Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
  
  # This program is free software; you can redistribute it and/or modify
  # it under the terms of the GNU General Public License as published by
*************** scriptversion=2004-05-31.23
*** 17,24 ****
  
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
  
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
--- 17,24 ----
  
  # You should have received a copy of the GNU General Public License
  # along with this program; if not, write to the Free Software
! # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
! # 02110-1301, USA.
  
  # As a special exception to the GNU General Public License, if you
  # distribute this file as part of a program that contains a
*************** Environment variables:
*** 50,60 ****
  
  Report bugs to <bug-automake@gnu.org>.
  EOF
!     exit 0
      ;;
    -v | --v*)
      echo "depcomp $scriptversion"
!     exit 0
      ;;
  esac
  
--- 50,60 ----
  
  Report bugs to <bug-automake@gnu.org>.
  EOF
!     exit $?
      ;;
    -v | --v*)
      echo "depcomp $scriptversion"
!     exit $?
      ;;
  esac
  
*************** icc)
*** 276,281 ****
--- 276,304 ----
    rm -f "$tmpdepfile"
    ;;
  
+ ia64hp)
+   # The "hp" stanza above does not work with HP's ia64 compilers,
+   # which have integrated preprocessors.  The correct option to use
+   # with these is +Maked; it writes dependencies to a file named
+   # 'foo.d', which lands next to the object file, wherever that
+   # happens to be.
+   tmpdepfile=`echo "$object" | sed -e 's/\.o$/.d/'`
+   "$@" +Maked
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile"
+      exit $stat
+   fi
+   rm -f "$depfile"
+ 
+   # The object file name is correct already.
+   cat "$tmpdepfile" > "$depfile"
+   # Add `dependent.h:' lines.
+   sed -ne '2,${; s/^ //; s/ \\*$//; s/$/:/; p; }' "$tmpdepfile" >> "$depfile"
+   rm -f "$tmpdepfile"
+   ;;
+ 
  tru64)
     # The Tru64 compiler uses -MD to generate dependencies as a side
     # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
*************** tru64)
*** 287,322 ****
     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
  
     if test "$libtool" = yes; then
!       # Dependencies are output in .lo.d with libtool 1.4.
!       # With libtool 1.5 they are output both in $dir.libs/$base.o.d
!       # and in $dir.libs/$base.o.d and $dir$base.o.d.  We process the
!       # latter, because the former will be cleaned when $dir.libs is
!       # erased.
!       tmpdepfile1="$dir.libs/$base.lo.d"
!       tmpdepfile2="$dir$base.o.d"
!       tmpdepfile3="$dir.libs/$base.d"
        "$@" -Wc,-MD
     else
!       tmpdepfile1="$dir$base.o.d"
!       tmpdepfile2="$dir$base.d"
!       tmpdepfile3="$dir$base.d"
        "$@" -MD
     fi
  
     stat=$?
     if test $stat -eq 0; then :
     else
!       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
        exit $stat
     fi
  
!    if test -f "$tmpdepfile1"; then
!       tmpdepfile="$tmpdepfile1"
!    elif test -f "$tmpdepfile2"; then
!       tmpdepfile="$tmpdepfile2"
!    else
!       tmpdepfile="$tmpdepfile3"
!    fi
     if test -f "$tmpdepfile"; then
        sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
        # That's a tab and a space in the [].
--- 310,352 ----
     base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
  
     if test "$libtool" = yes; then
!       # With Tru64 cc, shared objects can also be used to make a
!       # static library.  This mecanism is used in libtool 1.4 series to
!       # handle both shared and static libraries in a single compilation.
!       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
!       #
!       # With libtool 1.5 this exception was removed, and libtool now
!       # generates 2 separate objects for the 2 libraries.  These two
!       # compilations output dependencies in in $dir.libs/$base.o.d and
!       # in $dir$base.o.d.  We have to check for both files, because
!       # one of the two compilations can be disabled.  We should prefer
!       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
!       # automatically cleaned when .libs/ is deleted, while ignoring
!       # the former would cause a distcleancheck panic.
!       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
!       tmpdepfile2=$dir$base.o.d          # libtool 1.5
!       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
!       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
        "$@" -Wc,-MD
     else
!       tmpdepfile1=$dir$base.o.d
!       tmpdepfile2=$dir$base.d
!       tmpdepfile3=$dir$base.d
!       tmpdepfile4=$dir$base.d
        "$@" -MD
     fi
  
     stat=$?
     if test $stat -eq 0; then :
     else
!       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
        exit $stat
     fi
  
!    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
!    do
!      test -f "$tmpdepfile" && break
!    done
     if test -f "$tmpdepfile"; then
        sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
        # That's a tab and a space in the [].
*************** cpp)
*** 460,466 ****
    done
  
    "$@" -E |
!     sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
      sed '$ s: \\$::' > "$tmpdepfile"
    rm -f "$depfile"
    echo "$object : \\" > "$depfile"
--- 490,497 ----
    done
  
    "$@" -E |
!     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
!        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
      sed '$ s: \\$::' > "$tmpdepfile"
    rm -f "$depfile"
    echo "$object : \\" > "$depfile"
diff -Nrcpad gcc-4.0.2/faq.html gcc-4.1.0/faq.html
*** gcc-4.0.2/faq.html	Wed Sep 28 06:16:43 2005
--- gcc-4.1.0/faq.html	Tue Feb 28 08:39:15 2006
***************
*** 13,19 ****
  
  <p>This FAQ tries to answer specific questions concerning GCC. For
  general information regarding C, C++, resp. Fortran please check the 
! <a href="http://www.eskimo.com/~scs/C-faq/top.html">comp.lang.c FAQ</a>,
  <a href="http://www.jamesd.demon.co.uk/csc/faq.html">comp.std.c++
  FAQ</a>,
  and the <a href="http://www.fortran.com/fortran/info.html">Fortran
--- 13,19 ----
  
  <p>This FAQ tries to answer specific questions concerning GCC. For
  general information regarding C, C++, resp. Fortran please check the 
! <a href="http://c-faq.com/">comp.lang.c FAQ</a>,
  <a href="http://www.jamesd.demon.co.uk/csc/faq.html">comp.std.c++
  FAQ</a>,
  and the <a href="http://www.fortran.com/fortran/info.html">Fortran
*************** making releases with a much higher frequ
*** 106,114 ****
  in the past.</p>
  
  <p>In addition to weekly snapshots of the GCC development sources, we
! have the sources readable from a CVS server by anyone.  Furthermore we
! are using remote CVS to allow remote maintainers write access to the
! sources.</p>
  
  <p>There have been many potential GCC developers who were not able to
  participate in GCC development in the past.  We want these people to
--- 106,113 ----
  in the past.</p>
  
  <p>In addition to weekly snapshots of the GCC development sources, we
! have the sources readable from an SVN server by anyone.  Furthermore we
! are using SVN to allow maintainers write access to the sources.</p>
  
  <p>There have been many potential GCC developers who were not able to
  participate in GCC development in the past.  We want these people to
*************** documentation for a description of the "
*** 548,554 ****
  <h2><a name="generated_files">Why do I need autoconf, bison, xgettext, automake, etc?</a></h2>
  
  <p>If you're using diffs up dated from one snapshot to the next, or
! if you're using the CVS repository, you may need several additional programs
  to build GCC.</p>
  
  <p>These include, but are not necessarily limited to autoconf, automake,
--- 547,553 ----
  <h2><a name="generated_files">Why do I need autoconf, bison, xgettext, automake, etc?</a></h2>
  
  <p>If you're using diffs up dated from one snapshot to the next, or
! if you're using the SVN repository, you may need several additional programs
  to build GCC.</p>
  
  <p>These include, but are not necessarily limited to autoconf, automake,
*************** those generated files are out of date an
*** 560,571 ****
  
  <p>An easy way to work around this problem is to use the <code>gcc_update
  </code> script in the contrib subdirectory of GCC, which handles this
! transparently without requiring installation of any additional tools.
! (Note: Up to and including GCC 2.95 this script was called <code>egcs_update
! </code>.)</p>
  
  
! <p>When building from diffs or CVS or if you modified some sources,
  you may also need to obtain development versions of some GNU tools, as
  the production versions do not necessarily handle all features needed
  to rebuild GCC.</p>
--- 559,568 ----
  
  <p>An easy way to work around this problem is to use the <code>gcc_update
  </code> script in the contrib subdirectory of GCC, which handles this
! transparently without requiring installation of any additional tools.</p>
  
  
! <p>When building from diffs or SVN or if you modified some sources,
  you may also need to obtain development versions of some GNU tools, as
  the production versions do not necessarily handle all features needed
  to rebuild GCC.</p>
diff -Nrcpad gcc-4.0.2/fastjar/.cvsignore gcc-4.1.0/fastjar/.cvsignore
*** gcc-4.0.2/fastjar/.cvsignore	Tue Jun 15 07:36:33 2004
--- gcc-4.1.0/fastjar/.cvsignore	Thu Jan  1 00:00:00 1970
***************
*** 1 ****
- autom4te.cache
--- 0 ----
diff -Nrcpad gcc-4.0.2/fastjar/COPYING gcc-4.1.0/fastjar/COPYING
*** gcc-4.0.2/fastjar/COPYING	Sat Dec  9 03:08:22 2000
--- gcc-4.1.0/fastjar/COPYING	Wed Jun 29 02:59:06 2005
***************
*** 2,8 ****
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!                        59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
--- 2,8 ----
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
diff -Nrcpad gcc-4.0.2/fastjar/ChangeLog gcc-4.1.0/fastjar/ChangeLog
*** gcc-4.0.2/fastjar/ChangeLog	Wed Sep 21 03:55:15 2005
--- gcc-4.1.0/fastjar/ChangeLog	Tue Feb 28 08:29:20 2006
***************
*** 1,14 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
  
--- 1,48 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2006-02-08  Thomas Fitzsimmons  <fitzsim@redhat.com>
  
! 	* jartool.h (ACTION_INDEX): New macro.
! 	* jartool.c (main): Handle -i option.
! 	* fastjar.texi (Invoking fastjar): Add description of -i option.
  
! 2006-01-31  Tom Tromey  <tromey@redhat.com>
  
! 	* jartool.c (version): Use 2006.
! 	* jargrep.c (version): Use 2006.
! 
! 2005-06-29  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* all files: Update FSF address.
! 
! 2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
! 	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
! 	* Makefile.am: Remove ACLOCAL_AMFLAGS.
! 	* aclocal.m4, Makefile.in, configure, config.h.in: Regenerate.
! 
! 2005-03-28  Marcin Dalecki  <martin@dalecki.de>
! 
! 	* jartool.c (main): Indentation fixlet.
! 	(add_entry): Likewise.
! 	(init_args): Don't use K&R style.
! 	(jt_strdup): Likewise.
! 	(get_next_arg): Add explicit '(void)'.
! 	(init_headers): Likewise.
! 	(version): Likewise.
! 
! 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
! 	(BASEVER, DEVPHASE): New variables.
! 	(POD2MAN): Adjust setting of --release option.
! 	(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
! 	* Makefile.in: Regenerate.
! 	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
! 	* aclocal.m4, configure: Regenerate.
  
  2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
  
***************
*** 68,114 ****
  
  	* Makefile.in: Regenerate.
  	* fastjar.texi: Update for '-u'.
! 	
  2004-07-06  Casey Marshall <csm@gnu.org>
  
  	PR 7854
  	* Makefile.am
  	(jar_SOURCES): added shift.c, shift.h.
!         (jar_CPPFLAGS): define WITH_SHIFT_DOWN.
  
!         * compress.c
!         Added FSF copyright.
!         (write_data): new function.
!         (compress_file): call write_data.
  
!         * jartool.c
!         Updated copyright year.
!         (progname): new variable.
!         (end_of_entries): new variable.
!         (main): open and read file when updating.
!         (find_entry): new function.
!         (looks_like_dir): new function.
!         (read_entries): new function.
!         (make_manifest): added parameter `updating'.
!         Call `add_file_to_jar' with `updating'.
!         (add_to_jar_with_dir): added parameter `updating'.
!         Call `add_to_jar' with `updating'.
!         (add_to_jar): added parameter `updating'.
!         Call `add_file_to_jar' with `updating'.
!         Don't add directories if they already exist.
!         (add_file_to_jar): added parameter `updating'.
!         Update entries if they already exist.
  
!         * jartool.h
!         Added #ifndef __FASTJAR_JARTOOL_H__.
!         (struct zipentry): added `flags'.
  
!         * shift.c: new file.
  
!         * shift.h: new file.
  
!         * zipfile.h
!         (CEN_FLAGS): new constant.
  
  2004-07-05  Kelley Cook  <kcook@gcc.gnu.org>
  
--- 102,148 ----
  
  	* Makefile.in: Regenerate.
  	* fastjar.texi: Update for '-u'.
! 
  2004-07-06  Casey Marshall <csm@gnu.org>
  
  	PR 7854
  	* Makefile.am
  	(jar_SOURCES): added shift.c, shift.h.
! 	(jar_CPPFLAGS): define WITH_SHIFT_DOWN.
  
! 	* compress.c
! 	Added FSF copyright.
! 	(write_data): new function.
! 	(compress_file): call write_data.
  
! 	* jartool.c
! 	Updated copyright year.
! 	(progname): new variable.
! 	(end_of_entries): new variable.
! 	(main): open and read file when updating.
! 	(find_entry): new function.
! 	(looks_like_dir): new function.
! 	(read_entries): new function.
! 	(make_manifest): added parameter `updating'.
! 	Call `add_file_to_jar' with `updating'.
! 	(add_to_jar_with_dir): added parameter `updating'.
! 	Call `add_to_jar' with `updating'.
! 	(add_to_jar): added parameter `updating'.
! 	Call `add_file_to_jar' with `updating'.
! 	Don't add directories if they already exist.
! 	(add_file_to_jar): added parameter `updating'.
! 	Update entries if they already exist.
  
! 	* jartool.h
! 	Added #ifndef __FASTJAR_JARTOOL_H__.
! 	(struct zipentry): added `flags'.
  
! 	* shift.c: new file.
  
! 	* shift.h: new file.
  
! 	* zipfile.h
! 	(CEN_FLAGS): new constant.
  
  2004-07-05  Kelley Cook  <kcook@gcc.gnu.org>
  
diff -Nrcpad gcc-4.0.2/fastjar/Makefile.am gcc-4.1.0/fastjar/Makefile.am
*** gcc-4.0.2/fastjar/Makefile.am	Mon Nov 15 23:50:05 2004
--- gcc-4.1.0/fastjar/Makefile.am	Wed May 18 01:38:46 2005
***************
*** 1,7 ****
  # Process this with automake to create Makefile.in
  
- ACLOCAL_AMFLAGS = -I ../config
- 
  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
  # friends when we are called from the top level Makefile.
--- 1,5 ----
*************** TEXINFO_TEX = ../gcc/doc/include/texinfo
*** 63,74 ****
  info_TEXINFOS = fastjar.texi
  fastjar_TEXINFOS = \
  	../gcc/doc/include/gcc-common.texi \
! 	../gcc/doc/include/gpl.texi
  man_MANS = fastjar.1 grepjar.1
  EXTRA_DIST = $(man_MANS)
  
  TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
! POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
  
  .pod.1:
  	-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
--- 61,76 ----
  info_TEXINFOS = fastjar.texi
  fastjar_TEXINFOS = \
  	../gcc/doc/include/gcc-common.texi \
! 	../gcc/doc/include/gpl.texi \
! 	gcc-vers.texi
  man_MANS = fastjar.1 grepjar.1
  EXTRA_DIST = $(man_MANS)
  
+ BASEVER = $(srcdir)/../gcc/BASE-VER
+ DEVPHASE = $(srcdir)/../gcc/DEV-PHASE
+ 
  TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
! POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))"
  
  .pod.1:
  	-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
*************** fastjar.pod: $(srcdir)/fastjar.texi
*** 83,88 ****
--- 85,101 ----
  grepjar.pod: $(srcdir)/fastjar.texi
  	-$(TEXI2POD) -D grepjar $< > $@
  
+ fastjar.1 grepjar.1: $(BASEVER)
+ 
+ # gcc-vers.texi is generated from the version files.
+ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ 	(echo "@set version-GCC $(shell cat $(BASEVER))"; \
+ 	 if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \
+ 	 then echo "@set DEVELOPMENT"; \
+ 	 else echo "@clear DEVELOPMENT"; \
+ 	 fi) > $@T
+ 	mv -f $@T $@
+ 
  # GCC LOCAL CHANGE
  # The following commands allow us to release tarballs with the man pages
  # and info documentation prebuilt.  This feature is enabled via 
diff -Nrcpad gcc-4.0.2/fastjar/Makefile.in gcc-4.1.0/fastjar/Makefile.in
*** gcc-4.0.2/fastjar/Makefile.in	Wed Sep 28 06:16:38 2005
--- gcc-4.1.0/fastjar/Makefile.in	Wed May 18 01:38:46 2005
*************** DIST_COMMON = README $(am__configure_dep
*** 48,56 ****
  	$(srcdir)/install-defs.sh.in $(top_srcdir)/configure AUTHORS \
  	COPYING ChangeLog INSTALL NEWS
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
! am__aclocal_m4_deps = $(top_srcdir)/../config/accross.m4 \
! 	$(top_srcdir)/../config/gcc-version.m4 \
! 	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
  am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
--- 48,55 ----
  	$(srcdir)/install-defs.sh.in $(top_srcdir)/configure AUTHORS \
  	COPYING ChangeLog INSTALL NEWS
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
! am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
! 	$(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
  am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
*************** build_alias = @build_alias@
*** 175,183 ****
  datadir = @datadir@
  exec_prefix = @exec_prefix@
  fastjar_warn_cflags = @fastjar_warn_cflags@
- gcc_version = @gcc_version@
- gcc_version_full = @gcc_version_full@
- gcc_version_trigger = @gcc_version_trigger@
  host_alias = @host_alias@
  includedir = @includedir@
  infodir = @infodir@
--- 174,179 ----
*************** sbindir = @sbindir@
*** 194,200 ****
  sharedstatedir = @sharedstatedir@
  sysconfdir = @sysconfdir@
  target_alias = @target_alias@
- ACLOCAL_AMFLAGS = -I ../config
  
  # Work around what appears to be a GNU make bug handling MAKEFLAGS
  # values defined in terms of make variables, as is the case for CC and
--- 190,195 ----
*************** TEXINFO_TEX = ../gcc/doc/include/texinfo
*** 253,264 ****
  info_TEXINFOS = fastjar.texi
  fastjar_TEXINFOS = \
  	../gcc/doc/include/gcc-common.texi \
! 	../gcc/doc/include/gpl.texi
  
  man_MANS = fastjar.1 grepjar.1
  EXTRA_DIST = $(man_MANS)
  TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
! POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
  @GENINSRC_FALSE@STAMP_GENINSRC = 
  
  # GCC LOCAL CHANGE
--- 248,262 ----
  info_TEXINFOS = fastjar.texi
  fastjar_TEXINFOS = \
  	../gcc/doc/include/gcc-common.texi \
! 	../gcc/doc/include/gpl.texi \
! 	gcc-vers.texi
  
  man_MANS = fastjar.1 grepjar.1
  EXTRA_DIST = $(man_MANS)
+ BASEVER = $(srcdir)/../gcc/BASE-VER
+ DEVPHASE = $(srcdir)/../gcc/DEV-PHASE
  TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
! POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))"
  @GENINSRC_FALSE@STAMP_GENINSRC = 
  
  # GCC LOCAL CHANGE
*************** distclean-tags:
*** 646,652 ****
  distdir: $(DISTFILES)
  	$(am__remove_distdir)
  	mkdir $(distdir)
! 	$(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../config $(distdir)/../gcc/doc/include
  	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
  	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
  	list='$(DISTFILES)'; for file in $$list; do \
--- 644,650 ----
  distdir: $(DISTFILES)
  	$(am__remove_distdir)
  	mkdir $(distdir)
! 	$(mkdir_p) $(distdir)/. $(distdir)/.. $(distdir)/../gcc/doc/include
  	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
  	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
  	list='$(DISTFILES)'; for file in $$list; do \
*************** fastjar.pod: $(srcdir)/fastjar.texi
*** 924,929 ****
--- 922,938 ----
  grepjar.pod: $(srcdir)/fastjar.texi
  	-$(TEXI2POD) -D grepjar $< > $@
  
+ fastjar.1 grepjar.1: $(BASEVER)
+ 
+ # gcc-vers.texi is generated from the version files.
+ gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ 	(echo "@set version-GCC $(shell cat $(BASEVER))"; \
+ 	 if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \
+ 	 then echo "@set DEVELOPMENT"; \
+ 	 else echo "@clear DEVELOPMENT"; \
+ 	 fi) > $@T
+ 	mv -f $@T $@
+ 
  all-local: $(STAMP_GENINSRC) 
  
  stamp-geninsrc: fastjar.1 grepjar.1 fastjar.info
diff -Nrcpad gcc-4.0.2/fastjar/aclocal.m4 gcc-4.1.0/fastjar/aclocal.m4
*** gcc-4.0.2/fastjar/aclocal.m4	Wed Sep 28 06:16:38 2005
--- gcc-4.1.0/fastjar/aclocal.m4	Wed May 18 01:38:46 2005
*************** AC_SUBST([am__tar])
*** 1082,1087 ****
  AC_SUBST([am__untar])
  ]) # _AM_PROG_TAR
  
- m4_include([../config/accross.m4])
- m4_include([../config/gcc-version.m4])
  m4_include([acinclude.m4])
--- 1082,1085 ----
diff -Nrcpad gcc-4.0.2/fastjar/compress.c gcc-4.1.0/fastjar/compress.c
*** gcc-4.0.2/fastjar/compress.c	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/compress.c	Wed Jun 29 02:59:06 2005
***************
*** 88,94 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  #include "config.h"
--- 88,94 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  #include "config.h"
diff -Nrcpad gcc-4.0.2/fastjar/compress.h gcc-4.1.0/fastjar/compress.h
*** gcc-4.0.2/fastjar/compress.h	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/compress.h	Wed Jun 29 02:59:06 2005
***************
*** 39,45 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  /* Initializes the compression data structure(s) */
--- 39,45 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  /* Initializes the compression data structure(s) */
diff -Nrcpad gcc-4.0.2/fastjar/config.h.in gcc-4.1.0/fastjar/config.h.in
*** gcc-4.0.2/fastjar/config.h.in	Mon Jul 19 20:08:20 2004
--- gcc-4.1.0/fastjar/config.h.in	Wed May 18 01:38:46 2005
***************
*** 1,8 ****
  /* config.h.in.  Generated from configure.ac by autoheader.  */
  
- /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
- #undef BYTEORDER
- 
  /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
     */
  #undef HAVE_DIRENT_H
--- 1,5 ----
***************
*** 63,72 ****
  /* Define to 1 if you have the `_chsize' function. */
  #undef HAVE__CHSIZE
  
- /* Define if the host machine stores words of multi-word integers in
-    big-endian order. */
- #undef HOST_WORDS_BIG_ENDIAN
- 
  /* Define if host mkdir takes a single argument. */
  #undef MKDIR_TAKES_ONE_ARG
  
--- 60,65 ----
***************
*** 88,106 ****
  /* Define to the version of this package. */
  #undef PACKAGE_VERSION
  
! /* The number of bytes in type char */
  #undef SIZEOF_CHAR
  
! /* The number of bytes in type int */
  #undef SIZEOF_INT
  
! /* The number of bytes in type long */
  #undef SIZEOF_LONG
  
! /* The number of bytes in type long long */
  #undef SIZEOF_LONG_LONG
  
! /* The number of bytes in type short */
  #undef SIZEOF_SHORT
  
  /* Define to 1 if you have the ANSI C header files. */
--- 81,99 ----
  /* Define to the version of this package. */
  #undef PACKAGE_VERSION
  
! /* The size of a `char', as computed by sizeof. */
  #undef SIZEOF_CHAR
  
! /* The size of a `int', as computed by sizeof. */
  #undef SIZEOF_INT
  
! /* The size of a `long', as computed by sizeof. */
  #undef SIZEOF_LONG
  
! /* The size of a `long long', as computed by sizeof. */
  #undef SIZEOF_LONG_LONG
  
! /* The size of a `short', as computed by sizeof. */
  #undef SIZEOF_SHORT
  
  /* Define to 1 if you have the ANSI C header files. */
***************
*** 112,118 ****
  /* Version number of package */
  #undef VERSION
  
! /* whether byteorder is bigendian */
  #undef WORDS_BIGENDIAN
  
  /* Define to `long' if <sys/types.h> does not define. */
--- 105,112 ----
  /* Version number of package */
  #undef VERSION
  
! /* Define to 1 if your processor stores words with the most significant byte
!    first (like Motorola and SPARC, unlike Intel and VAX). */
  #undef WORDS_BIGENDIAN
  
  /* Define to `long' if <sys/types.h> does not define. */
diff -Nrcpad gcc-4.0.2/fastjar/configure gcc-4.1.0/fastjar/configure
*** gcc-4.0.2/fastjar/configure	Wed Sep 28 06:16:38 2005
--- gcc-4.1.0/fastjar/configure	Wed May 18 01:38:46 2005
*************** ac_includes_default="\
*** 309,315 ****
  # include <unistd.h>
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RM CP CHMOD MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT fastjar_warn_cflags CPP EGREP ZLIBS ZDEPS ZINCS GENINSRC_TRUE GENINSRC_FALSE gcc_version_trigger gcc_version_full gcc_version LIBOBJS LTLIBOBJS'
  ac_subst_files=''
  
  # Initialize some variables set by options.
--- 309,315 ----
  # include <unistd.h>
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RM CP CHMOD MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT fastjar_warn_cflags CPP EGREP ZLIBS ZDEPS ZINCS GENINSRC_TRUE GENINSRC_FALSE LIBOBJS LTLIBOBJS'
  ac_subst_files=''
  
  # Initialize some variables set by options.
*************** _ACEOF
*** 4469,4494 ****
  fi
  
  
  echo "$as_me:$LINENO: checking size of char" >&5
  echo $ECHO_N "checking size of char... $ECHO_C" >&6
  if test "${ac_cv_sizeof_char+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   for ac_size in 4 8 1 2 16 12  ; do # List sizes in rough order of prevalence.
!   cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include "confdefs.h"
! #include <sys/types.h>
  
  
  int
  main ()
  {
! switch (0) case 0: case (sizeof (char) == $ac_size):;
    ;
    return 0;
  }
--- 4469,4654 ----
  fi
  
  
+ echo "$as_me:$LINENO: checking for char" >&5
+ echo $ECHO_N "checking for char... $ECHO_C" >&6
+ if test "${ac_cv_type_char+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ if ((char *) 0)
+   return 0;
+ if (sizeof (char))
+   return 0;
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_type_char=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_cv_type_char=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
+ echo "${ECHO_T}$ac_cv_type_char" >&6
+ 
  echo "$as_me:$LINENO: checking size of char" >&5
  echo $ECHO_N "checking size of char... $ECHO_C" >&6
  if test "${ac_cv_sizeof_char+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   if test "$ac_cv_type_char" = yes; then
!   # The cast to unsigned long works around a bug in the HP C Compiler
!   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
!   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
!   # This bug is HP SR number 8606223364.
!   if test "$cross_compiling" = yes; then
!   # Depending upon the size, compute the lo and hi bounds.
! cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)];
! test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_lo=0 ac_mid=0
+   while :; do
+     cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
+ test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_hi=$ac_mid; break
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_lo=`expr $ac_mid + 1`
+ 		    if test $ac_lo -le $ac_mid; then
+ 		      ac_lo= ac_hi=
+ 		      break
+ 		    fi
+ 		    ac_mid=`expr 2 '*' $ac_mid + 1`
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+   done
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
  int
  main ()
  {
! static int test_array [1 - 2 * !(((long) (sizeof (char))) < 0)];
! test_array [0] = 0
! 
    ;
    return 0;
  }
*************** if { (eval echo "$as_me:$LINENO: \"$ac_c
*** 4515,4565 ****
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_cv_sizeof_char=$ac_size
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   if test x$ac_cv_sizeof_char != x ; then break; fi
! done
  
  fi
  
! if test x$ac_cv_sizeof_char = x ; then
!   { { echo "$as_me:$LINENO: error: cannot determine a size for char" >&5
! echo "$as_me: error: cannot determine a size for char" >&2;}
     { (exit 1); exit 1; }; }
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
  echo "${ECHO_T}$ac_cv_sizeof_char" >&6
- 
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_CHAR $ac_cv_sizeof_char
  _ACEOF
  
  
  echo "$as_me:$LINENO: checking size of short" >&5
  echo $ECHO_N "checking size of short... $ECHO_C" >&6
  if test "${ac_cv_sizeof_short+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   for ac_size in 4 8 1 2 16 12  ; do # List sizes in rough order of prevalence.
!   cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include "confdefs.h"
! #include <sys/types.h>
  
  
  int
  main ()
  {
! switch (0) case 0: case (sizeof (short) == $ac_size):;
    ;
    return 0;
  }
--- 4675,5068 ----
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_hi=-1 ac_mid=-1
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=$ac_mid; break
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ 		       if test $ac_mid -le $ac_hi; then
+ 			 ac_lo= ac_hi=
+ 			 break
+ 		       fi
+ 		       ac_mid=`expr 2 '*' $ac_mid`
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo= ac_hi=
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Binary search between lo and hi bounds.
+ while test "x$ac_lo" != "x$ac_hi"; do
+   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
+ test_array [0] = 0
  
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr '(' $ac_mid ')' + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
! done
! case $ac_lo in
! ?*) ac_cv_sizeof_char=$ac_lo;;
! '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (char), 77
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
! else
!   if test "$cross_compiling" = yes; then
!   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; }
! else
!   cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! long longval () { return (long) (sizeof (char)); }
! unsigned long ulongval () { return (long) (sizeof (char)); }
! #include <stdio.h>
! #include <stdlib.h>
! int
! main ()
! {
! 
!   FILE *f = fopen ("conftest.val", "w");
!   if (! f)
!     exit (1);
!   if (((long) (sizeof (char))) < 0)
!     {
!       long i = longval ();
!       if (i != ((long) (sizeof (char))))
! 	exit (1);
!       fprintf (f, "%ld\n", i);
!     }
!   else
!     {
!       unsigned long i = ulongval ();
!       if (i != ((long) (sizeof (char))))
! 	exit (1);
!       fprintf (f, "%lu\n", i);
!     }
!   exit (ferror (f) || fclose (f) != 0);
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest$ac_exeext
! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
!   (eval $ac_link) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_cv_sizeof_char=`cat conftest.val`
! else
!   echo "$as_me: program exited with status $ac_status" >&5
! echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ( exit $ac_status )
! { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (char), 77
! See \`config.log' for more details." >&2;}
     { (exit 1); exit 1; }; }
  fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ rm -f conftest.val
+ else
+   ac_cv_sizeof_char=0
+ fi
+ fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
  echo "${ECHO_T}$ac_cv_sizeof_char" >&6
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_CHAR $ac_cv_sizeof_char
  _ACEOF
  
  
+ echo "$as_me:$LINENO: checking for short" >&5
+ echo $ECHO_N "checking for short... $ECHO_C" >&6
+ if test "${ac_cv_type_short+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ if ((short *) 0)
+   return 0;
+ if (sizeof (short))
+   return 0;
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_type_short=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_cv_type_short=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
+ echo "${ECHO_T}$ac_cv_type_short" >&6
+ 
  echo "$as_me:$LINENO: checking size of short" >&5
  echo $ECHO_N "checking size of short... $ECHO_C" >&6
  if test "${ac_cv_sizeof_short+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   if test "$ac_cv_type_short" = yes; then
!   # The cast to unsigned long works around a bug in the HP C Compiler
!   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
!   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
!   # This bug is HP SR number 8606223364.
!   if test "$cross_compiling" = yes; then
!   # Depending upon the size, compute the lo and hi bounds.
! cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)];
! test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_lo=0 ac_mid=0
+   while :; do
+     cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
+ test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_hi=$ac_mid; break
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_lo=`expr $ac_mid + 1`
+ 		    if test $ac_lo -le $ac_mid; then
+ 		      ac_lo= ac_hi=
+ 		      break
+ 		    fi
+ 		    ac_mid=`expr 2 '*' $ac_mid + 1`
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+   done
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
  int
  main ()
  {
! static int test_array [1 - 2 * !(((long) (sizeof (short))) < 0)];
! test_array [0] = 0
! 
    ;
    return 0;
  }
*************** if { (eval echo "$as_me:$LINENO: \"$ac_c
*** 4586,4636 ****
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_cv_sizeof_short=$ac_size
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   if test x$ac_cv_sizeof_short != x ; then break; fi
! done
  
  fi
  
! if test x$ac_cv_sizeof_short = x ; then
!   { { echo "$as_me:$LINENO: error: cannot determine a size for short" >&5
! echo "$as_me: error: cannot determine a size for short" >&2;}
     { (exit 1); exit 1; }; }
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
  echo "${ECHO_T}$ac_cv_sizeof_short" >&6
- 
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_SHORT $ac_cv_sizeof_short
  _ACEOF
  
  
  echo "$as_me:$LINENO: checking size of int" >&5
  echo $ECHO_N "checking size of int... $ECHO_C" >&6
  if test "${ac_cv_sizeof_int+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   for ac_size in 4 8 1 2 16 12  ; do # List sizes in rough order of prevalence.
!   cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include "confdefs.h"
! #include <sys/types.h>
  
  
  int
  main ()
  {
! switch (0) case 0: case (sizeof (int) == $ac_size):;
    ;
    return 0;
  }
--- 5089,5482 ----
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_hi=-1 ac_mid=-1
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=$ac_mid; break
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ 		       if test $ac_mid -le $ac_hi; then
+ 			 ac_lo= ac_hi=
+ 			 break
+ 		       fi
+ 		       ac_mid=`expr 2 '*' $ac_mid`
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo= ac_hi=
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Binary search between lo and hi bounds.
+ while test "x$ac_lo" != "x$ac_hi"; do
+   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
+ test_array [0] = 0
  
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr '(' $ac_mid ')' + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
! done
! case $ac_lo in
! ?*) ac_cv_sizeof_short=$ac_lo;;
! '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (short), 77
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
! else
!   if test "$cross_compiling" = yes; then
!   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
     { (exit 1); exit 1; }; }
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ long longval () { return (long) (sizeof (short)); }
+ unsigned long ulongval () { return (long) (sizeof (short)); }
+ #include <stdio.h>
+ #include <stdlib.h>
+ int
+ main ()
+ {
+ 
+   FILE *f = fopen ("conftest.val", "w");
+   if (! f)
+     exit (1);
+   if (((long) (sizeof (short))) < 0)
+     {
+       long i = longval ();
+       if (i != ((long) (sizeof (short))))
+ 	exit (1);
+       fprintf (f, "%ld\n", i);
+     }
+   else
+     {
+       unsigned long i = ulongval ();
+       if (i != ((long) (sizeof (short))))
+ 	exit (1);
+       fprintf (f, "%lu\n", i);
+     }
+   exit (ferror (f) || fclose (f) != 0);
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_sizeof_short=`cat conftest.val`
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute sizeof (short), 77
+ See \`config.log' for more details." >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ rm -f conftest.val
+ else
+   ac_cv_sizeof_short=0
+ fi
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
  echo "${ECHO_T}$ac_cv_sizeof_short" >&6
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_SHORT $ac_cv_sizeof_short
  _ACEOF
  
  
+ echo "$as_me:$LINENO: checking for int" >&5
+ echo $ECHO_N "checking for int... $ECHO_C" >&6
+ if test "${ac_cv_type_int+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ if ((int *) 0)
+   return 0;
+ if (sizeof (int))
+   return 0;
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_type_int=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_cv_type_int=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
+ echo "${ECHO_T}$ac_cv_type_int" >&6
+ 
  echo "$as_me:$LINENO: checking size of int" >&5
  echo $ECHO_N "checking size of int... $ECHO_C" >&6
  if test "${ac_cv_sizeof_int+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   if test "$ac_cv_type_int" = yes; then
!   # The cast to unsigned long works around a bug in the HP C Compiler
!   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
!   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
!   # This bug is HP SR number 8606223364.
!   if test "$cross_compiling" = yes; then
!   # Depending upon the size, compute the lo and hi bounds.
! cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=0 ac_mid=0
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid; break
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo=`expr $ac_mid + 1`
+ 		    if test $ac_lo -le $ac_mid; then
+ 		      ac_lo= ac_hi=
+ 		      break
+ 		    fi
+ 		    ac_mid=`expr 2 '*' $ac_mid + 1`
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+   done
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
  
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
  int
  main ()
  {
! static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
! test_array [0] = 0
! 
    ;
    return 0;
  }
*************** if { (eval echo "$as_me:$LINENO: \"$ac_c
*** 4657,4707 ****
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_cv_sizeof_int=$ac_size
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   if test x$ac_cv_sizeof_int != x ; then break; fi
! done
  
  fi
  
! if test x$ac_cv_sizeof_int = x ; then
!   { { echo "$as_me:$LINENO: error: cannot determine a size for int" >&5
! echo "$as_me: error: cannot determine a size for int" >&2;}
     { (exit 1); exit 1; }; }
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
  echo "${ECHO_T}$ac_cv_sizeof_int" >&6
- 
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_INT $ac_cv_sizeof_int
  _ACEOF
  
  
  echo "$as_me:$LINENO: checking size of long" >&5
  echo $ECHO_N "checking size of long... $ECHO_C" >&6
  if test "${ac_cv_sizeof_long+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   for ac_size in 4 8 1 2 16 12  ; do # List sizes in rough order of prevalence.
!   cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include "confdefs.h"
! #include <sys/types.h>
  
  
  int
  main ()
  {
! switch (0) case 0: case (sizeof (long) == $ac_size):;
    ;
    return 0;
  }
--- 5503,5937 ----
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_hi=-1 ac_mid=-1
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=$ac_mid; break
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ 		       if test $ac_mid -le $ac_hi; then
+ 			 ac_lo= ac_hi=
+ 			 break
+ 		       fi
+ 		       ac_mid=`expr 2 '*' $ac_mid`
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo= ac_hi=
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Binary search between lo and hi bounds.
+ while test "x$ac_lo" != "x$ac_hi"; do
+   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
+ test_array [0] = 0
  
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr '(' $ac_mid ')' + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
! done
! case $ac_lo in
! ?*) ac_cv_sizeof_int=$ac_lo;;
! '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (int), 77
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
! else
!   if test "$cross_compiling" = yes; then
!   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
     { (exit 1); exit 1; }; }
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ long longval () { return (long) (sizeof (int)); }
+ unsigned long ulongval () { return (long) (sizeof (int)); }
+ #include <stdio.h>
+ #include <stdlib.h>
+ int
+ main ()
+ {
+ 
+   FILE *f = fopen ("conftest.val", "w");
+   if (! f)
+     exit (1);
+   if (((long) (sizeof (int))) < 0)
+     {
+       long i = longval ();
+       if (i != ((long) (sizeof (int))))
+ 	exit (1);
+       fprintf (f, "%ld\n", i);
+     }
+   else
+     {
+       unsigned long i = ulongval ();
+       if (i != ((long) (sizeof (int))))
+ 	exit (1);
+       fprintf (f, "%lu\n", i);
+     }
+   exit (ferror (f) || fclose (f) != 0);
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_sizeof_int=`cat conftest.val`
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute sizeof (int), 77
+ See \`config.log' for more details." >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ rm -f conftest.val
+ else
+   ac_cv_sizeof_int=0
+ fi
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
  echo "${ECHO_T}$ac_cv_sizeof_int" >&6
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_INT $ac_cv_sizeof_int
  _ACEOF
  
  
+ echo "$as_me:$LINENO: checking for long" >&5
+ echo $ECHO_N "checking for long... $ECHO_C" >&6
+ if test "${ac_cv_type_long+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ if ((long *) 0)
+   return 0;
+ if (sizeof (long))
+   return 0;
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_type_long=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_cv_type_long=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
+ echo "${ECHO_T}$ac_cv_type_long" >&6
+ 
  echo "$as_me:$LINENO: checking size of long" >&5
  echo $ECHO_N "checking size of long... $ECHO_C" >&6
  if test "${ac_cv_sizeof_long+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   if test "$ac_cv_type_long" = yes; then
!   # The cast to unsigned long works around a bug in the HP C Compiler
!   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
!   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
!   # This bug is HP SR number 8606223364.
!   if test "$cross_compiling" = yes; then
!   # Depending upon the size, compute the lo and hi bounds.
! cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=0 ac_mid=0
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid; break
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr $ac_mid + 1`
! 		    if test $ac_lo -le $ac_mid; then
! 		      ac_lo= ac_hi=
! 		      break
! 		    fi
! 		    ac_mid=`expr 2 '*' $ac_mid + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
+ test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_hi=-1 ac_mid=-1
+   while :; do
+     cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
  int
  main ()
  {
! static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
! test_array [0] = 0
! 
    ;
    return 0;
  }
*************** if { (eval echo "$as_me:$LINENO: \"$ac_c
*** 4728,4753 ****
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_cv_sizeof_long=$ac_size
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   if test x$ac_cv_sizeof_long != x ; then break; fi
! done
  
  fi
  
! if test x$ac_cv_sizeof_long = x ; then
!   { { echo "$as_me:$LINENO: error: cannot determine a size for long" >&5
! echo "$as_me: error: cannot determine a size for long" >&2;}
     { (exit 1); exit 1; }; }
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
  echo "${ECHO_T}$ac_cv_sizeof_long" >&6
- 
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_LONG $ac_cv_sizeof_long
  _ACEOF
--- 5958,6125 ----
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_lo=$ac_mid; break
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ 		       if test $ac_mid -le $ac_hi; then
+ 			 ac_lo= ac_hi=
+ 			 break
+ 		       fi
+ 		       ac_mid=`expr 2 '*' $ac_mid`
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo= ac_hi=
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Binary search between lo and hi bounds.
+ while test "x$ac_lo" != "x$ac_hi"; do
+   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
+ test_array [0] = 0
  
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr '(' $ac_mid ')' + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
! done
! case $ac_lo in
! ?*) ac_cv_sizeof_long=$ac_lo;;
! '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (long), 77
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
! else
!   if test "$cross_compiling" = yes; then
!   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
     { (exit 1); exit 1; }; }
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ long longval () { return (long) (sizeof (long)); }
+ unsigned long ulongval () { return (long) (sizeof (long)); }
+ #include <stdio.h>
+ #include <stdlib.h>
+ int
+ main ()
+ {
+ 
+   FILE *f = fopen ("conftest.val", "w");
+   if (! f)
+     exit (1);
+   if (((long) (sizeof (long))) < 0)
+     {
+       long i = longval ();
+       if (i != ((long) (sizeof (long))))
+ 	exit (1);
+       fprintf (f, "%ld\n", i);
+     }
+   else
+     {
+       unsigned long i = ulongval ();
+       if (i != ((long) (sizeof (long))))
+ 	exit (1);
+       fprintf (f, "%lu\n", i);
+     }
+   exit (ferror (f) || fclose (f) != 0);
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_sizeof_long=`cat conftest.val`
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute sizeof (long), 77
+ See \`config.log' for more details." >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ rm -f conftest.val
+ else
+   ac_cv_sizeof_long=0
+ fi
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
  echo "${ECHO_T}$ac_cv_sizeof_long" >&6
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_LONG $ac_cv_sizeof_long
  _ACEOF
*************** cat >>confdefs.h <<_ACEOF
*** 4815,4840 ****
  #define HAVE_LONG_LONG 1
  _ACEOF
  
  echo "$as_me:$LINENO: checking size of long long" >&5
  echo $ECHO_N "checking size of long long... $ECHO_C" >&6
  if test "${ac_cv_sizeof_long_long+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   for ac_size in 4 8 1 2 16 12  ; do # List sizes in rough order of prevalence.
!   cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! #include "confdefs.h"
! #include <sys/types.h>
  
  
  int
  main ()
  {
! switch (0) case 0: case (sizeof (long long) == $ac_size):;
    ;
    return 0;
  }
--- 6187,6413 ----
  #define HAVE_LONG_LONG 1
  _ACEOF
  
+ echo "$as_me:$LINENO: checking for long long" >&5
+ echo $ECHO_N "checking for long long... $ECHO_C" >&6
+ if test "${ac_cv_type_long_long+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ if ((long long *) 0)
+   return 0;
+ if (sizeof (long long))
+   return 0;
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_type_long_long=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ac_cv_type_long_long=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
+ echo "${ECHO_T}$ac_cv_type_long_long" >&6
+ 
  echo "$as_me:$LINENO: checking size of long long" >&5
  echo $ECHO_N "checking size of long long... $ECHO_C" >&6
  if test "${ac_cv_sizeof_long_long+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   if test "$ac_cv_type_long_long" = yes; then
!   # The cast to unsigned long works around a bug in the HP C Compiler
!   # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
!   # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
!   # This bug is HP SR number 8606223364.
!   if test "$cross_compiling" = yes; then
!   # Depending upon the size, compute the lo and hi bounds.
! cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= 0)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_lo=0 ac_mid=0
!   while :; do
!     cat >conftest.$ac_ext <<_ACEOF
! /* confdefs.h.  */
! _ACEOF
! cat confdefs.h >>conftest.$ac_ext
! cat >>conftest.$ac_ext <<_ACEOF
! /* end confdefs.h.  */
! $ac_includes_default
! int
! main ()
! {
! static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
! test_array [0] = 0
! 
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid; break
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr $ac_mid + 1`
! 		    if test $ac_lo -le $ac_mid; then
! 		      ac_lo= ac_hi=
! 		      break
! 		    fi
! 		    ac_mid=`expr 2 '*' $ac_mid + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (long long))) < 0)];
+ test_array [0] = 0
  
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_hi=-1 ac_mid=-1
+   while :; do
+     cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
  int
  main ()
  {
! static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= $ac_mid)];
! test_array [0] = 0
! 
    ;
    return 0;
  }
*************** if { (eval echo "$as_me:$LINENO: \"$ac_c
*** 4861,4886 ****
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_cv_sizeof_long_long=$ac_size
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   if test x$ac_cv_sizeof_long_long != x ; then break; fi
! done
  
  fi
  
! if test x$ac_cv_sizeof_long_long = x ; then
!   { { echo "$as_me:$LINENO: error: cannot determine a size for long long" >&5
! echo "$as_me: error: cannot determine a size for long long" >&2;}
     { (exit 1); exit 1; }; }
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
  echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6
- 
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
  _ACEOF
--- 6434,6601 ----
    ac_status=$?
    echo "$as_me:$LINENO: \$? = $ac_status" >&5
    (exit $ac_status); }; }; then
!   ac_lo=$ac_mid; break
  else
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_hi=`expr '(' $ac_mid ')' - 1`
+ 		       if test $ac_mid -le $ac_hi; then
+ 			 ac_lo= ac_hi=
+ 			 break
+ 		       fi
+ 		       ac_mid=`expr 2 '*' $ac_mid`
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
!   done
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
  
+ ac_lo= ac_hi=
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ # Binary search between lo and hi bounds.
+ while test "x$ac_lo" != "x$ac_hi"; do
+   ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ int
+ main ()
+ {
+ static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
+ test_array [0] = 0
  
!   ;
!   return 0;
! }
! _ACEOF
! rm -f conftest.$ac_objext
! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
!   (eval $ac_compile) 2>conftest.er1
!   ac_status=$?
!   grep -v '^ *+' conftest.er1 >conftest.err
!   rm -f conftest.er1
!   cat conftest.err >&5
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); } &&
! 	 { ac_try='test -z "$ac_c_werror_flag"
! 			 || test ! -s conftest.err'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; } &&
! 	 { ac_try='test -s conftest.$ac_objext'
!   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
!   (eval $ac_try) 2>&5
!   ac_status=$?
!   echo "$as_me:$LINENO: \$? = $ac_status" >&5
!   (exit $ac_status); }; }; then
!   ac_hi=$ac_mid
! else
!   echo "$as_me: failed program was:" >&5
! sed 's/^/| /' conftest.$ac_ext >&5
! 
! ac_lo=`expr '(' $ac_mid ')' + 1`
! fi
! rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
! done
! case $ac_lo in
! ?*) ac_cv_sizeof_long_long=$ac_lo;;
! '') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot compute sizeof (long long), 77
! See \`config.log' for more details." >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
! else
!   if test "$cross_compiling" = yes; then
!   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&5
! echo "$as_me: error: cannot run test program while cross compiling
! See \`config.log' for more details." >&2;}
     { (exit 1); exit 1; }; }
+ else
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ $ac_includes_default
+ long longval () { return (long) (sizeof (long long)); }
+ unsigned long ulongval () { return (long) (sizeof (long long)); }
+ #include <stdio.h>
+ #include <stdlib.h>
+ int
+ main ()
+ {
+ 
+   FILE *f = fopen ("conftest.val", "w");
+   if (! f)
+     exit (1);
+   if (((long) (sizeof (long long))) < 0)
+     {
+       long i = longval ();
+       if (i != ((long) (sizeof (long long))))
+ 	exit (1);
+       fprintf (f, "%ld\n", i);
+     }
+   else
+     {
+       unsigned long i = ulongval ();
+       if (i != ((long) (sizeof (long long))))
+ 	exit (1);
+       fprintf (f, "%lu\n", i);
+     }
+   exit (ferror (f) || fclose (f) != 0);
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest$ac_exeext
+ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+   (eval $ac_link) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   ac_cv_sizeof_long_long=`cat conftest.val`
+ else
+   echo "$as_me: program exited with status $ac_status" >&5
+ echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ ( exit $ac_status )
+ { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
+ See \`config.log' for more details." >&5
+ echo "$as_me: error: cannot compute sizeof (long long), 77
+ See \`config.log' for more details." >&2;}
+    { (exit 1); exit 1; }; }
+ fi
+ rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+ fi
+ fi
+ rm -f conftest.val
+ else
+   ac_cv_sizeof_long_long=0
+ fi
  fi
  echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
  echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6
  cat >>confdefs.h <<_ACEOF
  #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
  _ACEOF
*************** echo $ECHO_N "checking whether byte orde
*** 4894,4901 ****
  if test "${ac_cv_c_bigendian+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   ac_cv_c_bigendian=unknown
! # See if sys/param.h defines the BYTE_ORDER macro.
  cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
--- 6609,6615 ----
  if test "${ac_cv_c_bigendian+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
!   # See if sys/param.h defines the BYTE_ORDER macro.
  cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
*************** cat >>conftest.$ac_ext <<_ACEOF
*** 4904,4916 ****
  /* end confdefs.h.  */
  #include <sys/types.h>
  #include <sys/param.h>
  int
  main ()
  {
- 
  #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
   bogus endian macros
  #endif
    ;
    return 0;
  }
--- 6618,6631 ----
  /* end confdefs.h.  */
  #include <sys/types.h>
  #include <sys/param.h>
+ 
  int
  main ()
  {
  #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
   bogus endian macros
  #endif
+ 
    ;
    return 0;
  }
*************** cat >>conftest.$ac_ext <<_ACEOF
*** 4946,4958 ****
  /* end confdefs.h.  */
  #include <sys/types.h>
  #include <sys/param.h>
  int
  main ()
  {
- 
  #if BYTE_ORDER != BIG_ENDIAN
   not big endian
  #endif
    ;
    return 0;
  }
--- 6661,6674 ----
  /* end confdefs.h.  */
  #include <sys/types.h>
  #include <sys/param.h>
+ 
  int
  main ()
  {
  #if BYTE_ORDER != BIG_ENDIAN
   not big endian
  #endif
+ 
    ;
    return 0;
  }
*************** else
*** 4991,5001 ****
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- if test "$cross_compiling" = yes; then
-    echo $ac_n "cross-compiling... " 2>&6
  else
    cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
--- 6707,6775 ----
    echo "$as_me: failed program was:" >&5
  sed 's/^/| /' conftest.$ac_ext >&5
  
+ # It does not; compile a test program.
+ if test "$cross_compiling" = yes; then
+   # try to guess the endianness by grepping values into an object file
+   ac_cv_c_bigendian=unknown
+   cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
+ short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+ int
+ main ()
+ {
+  _ascii (); _ebcdic ();
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+   ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+   if test "$ac_cv_c_bigendian" = unknown; then
+     ac_cv_c_bigendian=no
+   else
+     # finding both strings is unlikely to happen, but who knows?
+     ac_cv_c_bigendian=unknown
+   fi
+ fi
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
  fi
  rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  else
    cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
*************** _ACEOF
*** 5003,5009 ****
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! main () {
    /* Are we little or big endian?  From Harbison&Steele.  */
    union
    {
--- 6777,6785 ----
  cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
! int
! main ()
! {
    /* Are we little or big endian?  From Harbison&Steele.  */
    union
    {
*************** fi
*** 5037,5103 ****
  rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
  fi
  fi
  fi
  echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
  echo "${ECHO_T}$ac_cv_c_bigendian" >&6
! if test $ac_cv_c_bigendian = unknown; then
! echo "$as_me:$LINENO: checking to probe for byte ordering" >&5
! echo $ECHO_N "checking to probe for byte ordering... $ECHO_C" >&6
! 
! cat >conftest.c <<EOF
! short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
! short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
! void _ascii() { char* s = (char*) ascii_mm; s = (char*) ascii_ii; }
! short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
! short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
! void _ebcdic() { char* s = (char*) ebcdic_mm; s = (char*) ebcdic_ii; }
! int main() { _ascii (); _ebcdic (); return 0; }
! EOF
!  if test -f conftest.c ; then
!      if ${CC-cc} ${CFLAGS} -c conftest.c -o conftest.o && test -f conftest.o ; then
!         if test `grep -l BIGenDianSyS conftest.o` ; then
!            echo $ac_n ' big endian probe OK, ' 1>&6
!            ac_cv_c_bigendian=yes
!         fi
!         if test `grep -l LiTTleEnDian conftest.o` ; then
!            echo $ac_n ' little endian probe OK, ' 1>&6
!            if test $ac_cv_c_bigendian = yes ; then
!             ac_cv_c_bigendian=unknown;
!            else
!             ac_cv_c_bigendian=no
!            fi
!         fi
!         echo $ac_n 'guessing bigendian ...  ' >&6
!      fi
!   fi
! echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
! echo "${ECHO_T}$ac_cv_c_bigendian" >&6
! fi
! if test $ac_cv_c_bigendian = yes; then
  
  cat >>confdefs.h <<\_ACEOF
  #define WORDS_BIGENDIAN 1
  _ACEOF
! 
! 
! cat >>confdefs.h <<\_ACEOF
! #define HOST_WORDS_BIG_ENDIAN 1
! _ACEOF
! 
!   BYTEORDER=4321
! else
!   BYTEORDER=1234
! fi
! 
! cat >>confdefs.h <<_ACEOF
! #define BYTEORDER $BYTEORDER
! _ACEOF
! 
! if test $ac_cv_c_bigendian = unknown; then
!   { { echo "$as_me:$LINENO: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&5
! echo "$as_me: error: unknown endianess - sorry, please pre-set ac_cv_c_bigendian" >&2;}
!    { (exit 1); exit 1; }; }
! fi
  
  
  
--- 6813,6838 ----
  rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
  fi
  fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  fi
  echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
  echo "${ECHO_T}$ac_cv_c_bigendian" >&6
! case $ac_cv_c_bigendian in
!   yes)
  
  cat >>confdefs.h <<\_ACEOF
  #define WORDS_BIGENDIAN 1
  _ACEOF
!  ;;
!   no)
!      ;;
!   *)
!     { { echo "$as_me:$LINENO: error: unknown endianness
! presetting ac_cv_c_bigendian=no (or yes) will help" >&5
! echo "$as_me: error: unknown endianness
! presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
!    { (exit 1); exit 1; }; } ;;
! esac
  
  
  
*************** else
*** 5226,5248 ****
  fi
  
  
- 
- if test "${with_gcc_version_trigger+set}" = set; then
-   gcc_version_trigger=$with_gcc_version_trigger
- else
-   gcc_version_trigger=$srcdir/../gcc/version.c
- fi
- if test -f "${gcc_version_trigger}"; then
-   gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
- else
-   gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
- fi
- gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
- 
- 
- 
- 
- 
                      ac_config_files="$ac_config_files Makefile install-defs.sh"
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
--- 6961,6966 ----
*************** s,@ZDEPS@,$ZDEPS,;t t
*** 5948,5956 ****
  s,@ZINCS@,$ZINCS,;t t
  s,@GENINSRC_TRUE@,$GENINSRC_TRUE,;t t
  s,@GENINSRC_FALSE@,$GENINSRC_FALSE,;t t
- s,@gcc_version_trigger@,$gcc_version_trigger,;t t
- s,@gcc_version_full@,$gcc_version_full,;t t
- s,@gcc_version@,$gcc_version,;t t
  s,@LIBOBJS@,$LIBOBJS,;t t
  s,@LTLIBOBJS@,$LTLIBOBJS,;t t
  CEOF
--- 7666,7671 ----
diff -Nrcpad gcc-4.0.2/fastjar/configure.ac gcc-4.1.0/fastjar/configure.ac
*** gcc-4.0.2/fastjar/configure.ac	Thu Dec  2 11:03:21 2004
--- gcc-4.1.0/fastjar/configure.ac	Wed May 18 01:38:46 2005
*************** AC_STRUCT_TM
*** 37,50 ****
  gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
  
  dnl Check for type-widths
! AC_COMPILE_CHECK_SIZEOF(char)
! AC_COMPILE_CHECK_SIZEOF(short)
! AC_COMPILE_CHECK_SIZEOF(int)
! AC_COMPILE_CHECK_SIZEOF(long)
! AC_CHECK_TYPES([long long],[AC_COMPILE_CHECK_SIZEOF(long long)])
  
  dnl Check byte order
! AC_C_BIGENDIAN_CROSS
  
  AC_ARG_WITH(system-zlib,
  [  --with-system-zlib      use installed libz])
--- 37,50 ----
  gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG
  
  dnl Check for type-widths
! AC_CHECK_SIZEOF(char)
! AC_CHECK_SIZEOF(short)
! AC_CHECK_SIZEOF(int)
! AC_CHECK_SIZEOF(long)
! AC_CHECK_TYPES([long long],[AC_CHECK_SIZEOF(long long)])
  
  dnl Check byte order
! AC_C_BIGENDIAN
  
  AC_ARG_WITH(system-zlib,
  [  --with-system-zlib      use installed libz])
*************** AC_MSG_CHECKING([whether to place genera
*** 89,94 ****
  AC_MSG_RESULT($generated_files_in_srcdir)
  AM_CONDITIONAL(GENINSRC, test x$generated_files_in_srcdir = xyes)
  
- TL_AC_GCC_VERSION([$srcdir/..])
- 
  AC_OUTPUT(Makefile install-defs.sh)
--- 89,92 ----
diff -Nrcpad gcc-4.0.2/fastjar/dostime.c gcc-4.1.0/fastjar/dostime.c
*** gcc-4.0.2/fastjar/dostime.c	Mon Mar 10 19:52:15 2003
--- gcc-4.1.0/fastjar/dostime.c	Wed Jun 29 02:59:06 2005
***************
*** 14,20 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
  #include <config.h>
--- 14,20 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
  #include <config.h>
diff -Nrcpad gcc-4.0.2/fastjar/dostime.h gcc-4.1.0/fastjar/dostime.h
*** gcc-4.0.2/fastjar/dostime.h	Thu Nov  7 14:07:19 2002
--- gcc-4.1.0/fastjar/dostime.h	Wed Jun 29 02:59:06 2005
***************
*** 14,20 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  time_t dos2unixtime(unsigned long dostime);
--- 14,20 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  time_t dos2unixtime(unsigned long dostime);
diff -Nrcpad gcc-4.0.2/fastjar/fastjar.1 gcc-4.1.0/fastjar/fastjar.1
*** gcc-4.0.2/fastjar/fastjar.1	Wed Sep 28 06:40:03 2005
--- gcc-4.1.0/fastjar/fastjar.1	Tue Feb 28 09:19:55 2006
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "FASTJAR 1"
! .TH FASTJAR 1 "2005-09-28" "gcc-4.0.2" "GNU"
  .SH "NAME"
  fastjar \- archive tool for Java archives
  .SH "SYNOPSIS"
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "FASTJAR 1"
! .TH FASTJAR 1 "2006-02-28" "gcc-4.1.0" "GNU"
  .SH "NAME"
  fastjar \- archive tool for Java archives
  .SH "SYNOPSIS"
*************** in the \s-1GCC\s0 version.
*** 178,183 ****
--- 178,187 ----
  .IP "\fB\-M\fR" 4
  .IX Item "-M"
  Do not create a manifest file for the entries.
+ .IP "\fB\-i\fR" 4
+ .IX Item "-i"
+ Generate an index of the packages in this jar and its Class-Path
+ (currently a no-op for jar command-line compatibility).
  .IP "\fB\-0\fR" 4
  .IX Item "-0"
  Store only; use no \s-1ZIP\s0 compression.
diff -Nrcpad gcc-4.0.2/fastjar/fastjar.info gcc-4.1.0/fastjar/fastjar.info
*** gcc-4.0.2/fastjar/fastjar.info	Wed Sep 28 06:40:02 2005
--- gcc-4.1.0/fastjar/fastjar.info	Tue Feb 28 09:19:54 2006
***************
*** 1,5 ****
  This is fastjar.info, produced by makeinfo version 4.8 from
! /scratch/mitchell/gcc-releases/gcc-4.0.2/gcc-4.0.2/fastjar/fastjar.texi.
  
  INFO-DIR-SECTION Programming
  START-INFO-DIR-ENTRY
--- 1,5 ----
  This is fastjar.info, produced by makeinfo version 4.8 from
! /scratch/mitchell/gcc-releases/gcc-4.1.0/gcc-4.1.0/fastjar/fastjar.texi.
  
  INFO-DIR-SECTION Programming
  START-INFO-DIR-ENTRY
*************** the same order the `-m' and `-f' flags a
*** 84,89 ****
--- 84,93 ----
  `-M'
       Do not create a manifest file for the entries.
  
+ `-i'
+      Generate an index of the packages in this jar and its Class-Path
+      (currently a no-op for jar command-line compatibility).
+ 
  `-0'
       Store only; use no ZIP compression.
  
*************** GNU GENERAL PUBLIC LICENSE
*** 149,155 ****
                           Version 2, June 1991
  
       Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
  
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
--- 153,159 ----
                           Version 2, June 1991
  
       Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  
       Everyone is permitted to copy and distribute verbatim copies
       of this license document, but changing it is not allowed.
*************** modification follow.
*** 435,442 ****
       ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  
                        END OF TERMS AND CONDITIONS
! How to Apply These Terms to Your New Programs
! =============================================
  
  If you develop a new program, and you want it to be of the greatest
  possible use to the public, the best way to achieve this is to make it
--- 439,446 ----
       ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  
                        END OF TERMS AND CONDITIONS
! Appendix: How to Apply These Terms to Your New Programs
! =======================================================
  
  If you develop a new program, and you want it to be of the greatest
  possible use to the public, the best way to achieve this is to make it
*************** the "copyright" line and a pointer to wh
*** 462,469 ****
       GNU General Public License for more details.
  
       You should have received a copy of the GNU General Public License
!      along with this program; if not, write to the Free Software Foundation,
!      Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  
     Also add information on how to contact you by electronic and paper
  mail.
--- 466,473 ----
       GNU General Public License for more details.
  
       You should have received a copy of the GNU General Public License
!      along with this program; if not, write to the Free Software
!      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  
     Also add information on how to contact you by electronic and paper
  mail.
*************** GNU Library General Public License inste
*** 504,510 ****
  Tag Table:
  Node: Top889
  Node: Invoking fastjar1207
! Node: Invoking grepjar2907
! Node: Copying3518
  
  End Tag Table
--- 508,514 ----
  Tag Table:
  Node: Top889
  Node: Invoking fastjar1207
! Node: Invoking grepjar3044
! Node: Copying3655
  
  End Tag Table
diff -Nrcpad gcc-4.0.2/fastjar/fastjar.texi gcc-4.1.0/fastjar/fastjar.texi
*** gcc-4.0.2/fastjar/fastjar.texi	Fri Jul 23 23:34:13 2004
--- gcc-4.1.0/fastjar/fastjar.texi	Wed Feb  8 05:55:47 2006
*************** Copyright @copyright{} @value{copyrights
*** 58,65 ****
  For the @value{which-gcj} Version*
  @sp 1
  Published by the Free Software Foundation @*
! 59 Temple Place - Suite 330@*
! Boston, MA 02111-1307, USA@*
  @sp 1
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU General Public License as published by the
--- 58,65 ----
  For the @value{which-gcj} Version*
  @sp 1
  Published by the Free Software Foundation @*
! 51 Franklin Street, Fifth Floor@*
! Boston, MA 02110-1301, USA@*
  @sp 1
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU General Public License as published by the
*************** in the GCC version.
*** 150,155 ****
--- 150,159 ----
  @item -M
  Do not create a manifest file for the entries.
  
+ @item -i
+ Generate an index of the packages in this jar and its Class-Path
+ (currently a no-op for jar command-line compatibility).
+ 
  @item -0
  Store only; use no ZIP compression.
  
diff -Nrcpad gcc-4.0.2/fastjar/grepjar.1 gcc-4.1.0/fastjar/grepjar.1
*** gcc-4.0.2/fastjar/grepjar.1	Wed Sep 28 06:40:03 2005
--- gcc-4.1.0/fastjar/grepjar.1	Tue Feb 28 09:19:55 2006
***************
*** 129,135 ****
  .\" ========================================================================
  .\"
  .IX Title "GREPJAR 1"
! .TH GREPJAR 1 "2005-09-28" "gcc-4.0.2" "GNU"
  .SH "NAME"
  grepjar \- search files in a jar file for a pattern
  .SH "SYNOPSIS"
--- 129,135 ----
  .\" ========================================================================
  .\"
  .IX Title "GREPJAR 1"
! .TH GREPJAR 1 "2006-02-28" "gcc-4.1.0" "GNU"
  .SH "NAME"
  grepjar \- search files in a jar file for a pattern
  .SH "SYNOPSIS"
diff -Nrcpad gcc-4.0.2/fastjar/jargrep.c gcc-4.1.0/fastjar/jargrep.c
*** gcc-4.0.2/fastjar/jargrep.c	Tue Jan 28 22:25:47 2003
--- gcc-4.1.0/fastjar/jargrep.c	Thu Feb  2 00:48:20 2006
***************
*** 1,6 ****
  /*
    jargrep.c - main functions for jargrep utility
!   Copyright (C) 2002, 2003 Free Software Foundation
    Copyright (C) 1999, 2000 Bryan Burns
    Copyright (C) 2000 Cory Hollingsworth 
   
--- 1,6 ----
  /*
    jargrep.c - main functions for jargrep utility
!   Copyright (C) 2002, 2003, 2006 Free Software Foundation
    Copyright (C) 1999, 2000 Bryan Burns
    Copyright (C) 2000 Cory Hollingsworth 
   
***************
*** 19,25 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
  /* Id: jargrep.c,v 1.5 2002/01/03 04:57:56 rodrigc Exp
--- 19,25 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
  /* Id: jargrep.c,v 1.5 2002/01/03 04:57:56 rodrigc Exp
*************** void version ()
*** 783,789 ****
    printf("grepjar (%s) %s\n\n", PACKAGE, VERSION);
    printf("Copyright 1999, 2000, 2001  Bryan Burns\n");
    printf("Copyright 2000 Cory Hollingsworth\n");
!   printf("Copyright 2002 Free Software Foundation\n");
    printf("\
  This is free software; see the source for copying conditions.  There is NO\n\
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
--- 783,789 ----
    printf("grepjar (%s) %s\n\n", PACKAGE, VERSION);
    printf("Copyright 1999, 2000, 2001  Bryan Burns\n");
    printf("Copyright 2000 Cory Hollingsworth\n");
!   printf("Copyright 2006 Free Software Foundation\n");
    printf("\
  This is free software; see the source for copying conditions.  There is NO\n\
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
diff -Nrcpad gcc-4.0.2/fastjar/jargrep.h gcc-4.1.0/fastjar/jargrep.h
*** gcc-4.0.2/fastjar/jargrep.h	Wed Jan  9 23:22:20 2002
--- gcc-4.1.0/fastjar/jargrep.h	Wed Jun 29 02:59:06 2005
***************
*** 15,21 ****
  
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
  #define JG_PRINT_BYTEOFFSET		0x00000001
--- 15,21 ----
  
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
  #define JG_PRINT_BYTEOFFSET		0x00000001
diff -Nrcpad gcc-4.0.2/fastjar/jartool.c gcc-4.1.0/fastjar/jartool.c
*** gcc-4.0.2/fastjar/jartool.c	Thu Sep 23 23:40:33 2004
--- gcc-4.1.0/fastjar/jartool.c	Wed Feb  8 05:55:47 2006
***************
*** 1,6 ****
  /*
    jartool.c - main functions for fastjar utility
!   Copyright (C) 2002, 2004  Free Software Foundation
    Copyright (C) 1999, 2000, 2001  Bryan Burns
    
    This program is free software; you can redistribute it and/or
--- 1,6 ----
  /*
    jartool.c - main functions for fastjar utility
!   Copyright (C) 2002, 2004, 2005, 2006  Free Software Foundation
    Copyright (C) 1999, 2000, 2001  Bryan Burns
    
    This program is free software; you can redistribute it and/or
***************
*** 15,21 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
  /*
--- 15,21 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
  /*
*************** ub4 end_of_entries;
*** 321,327 ****
  #define OPT_HELP     LONG_OPT (0)
  
  /* This holds all options.  */
! #define OPTION_STRING "-ctxuvVf:m:C:0ME@"
  
  /* Define the MANIFEST content here to have it easier with calculations
     below.  This is for the case we create an empty MANIFEST.MF.  */
--- 321,327 ----
  #define OPT_HELP     LONG_OPT (0)
  
  /* This holds all options.  */
! #define OPTION_STRING "-ctxuvVf:m:C:0MiE@"
  
  /* Define the MANIFEST content here to have it easier with calculations
     below.  This is for the case we create an empty MANIFEST.MF.  */
*************** static const struct option options[] =
*** 335,341 ****
    { NULL, no_argument, NULL, 0 }
  };
  
! int main(int argc, char **argv){
  
    char *mfile = NULL;
    
--- 335,342 ----
    { NULL, no_argument, NULL, 0 }
  };
  
! int main(int argc, char **argv)
! {
  
    char *mfile = NULL;
    
*************** int main(int argc, char **argv){
*** 406,411 ****
--- 407,415 ----
      case 'M':
        manifest = FALSE;
        break;
+     case 'i':
+       action = ACTION_INDEX;
+       break;
  
      case OPT_HELP:
        help(argv[0]);
*************** int main(int argc, char **argv){
*** 423,428 ****
--- 427,439 ----
      }
    }
  
+   if(verbose && action == ACTION_INDEX)
+     fprintf(stderr, "Warning: '-i' option is currently a no-op\n");
+ 
+   /* FIXME: implement -i option. */
+   if(action == ACTION_INDEX)
+     exit(0);
+ 
    /* We might have seen `--'.  In this case we want to make sure that
       all following options are handled as file names.  */
    while (optind < argc)
*************** static int args_current_g;
*** 602,610 ****
  static char **args_g;
  
  static void 
! init_args(args, current)
!      char **args;
!      int current;
  {
    if(!read_names_from_stdin)
      {
--- 613,619 ----
  static char **args_g;
  
  static void 
! init_args(char **args, int current)
  {
    if(!read_names_from_stdin)
      {
*************** init_args(args, current)
*** 614,620 ****
  }
  
  static char *
! get_next_arg ()
  {
    static int reached_end = 0;
  
--- 623,629 ----
  }
  
  static char *
! get_next_arg (void)
  {
    static int reached_end = 0;
  
*************** get_next_arg ()
*** 674,680 ****
      }
  }
  
! void init_headers(){
    /* packing file header */
    /* magic number */
    file_header[0] = 0x50;
--- 683,690 ----
      }
  }
  
! void init_headers(void)
! {
    /* packing file header */
    /* magic number */
    file_header[0] = 0x50;
*************** void init_headers(){
*** 725,731 ****
    
  }
  
! void add_entry(struct zipentry *ze){
  
    if(ziplist == NULL){
      ziplist = ze;
--- 735,742 ----
    
  }
  
! void add_entry(struct zipentry *ze)
! {
  
    if(ziplist == NULL){
      ziplist = ze;
*************** int read_entries (int fd)
*** 906,912 ****
    return 0;
  }
  
! int make_manifest(int jfd, const char *mf_name, int updating){
    time_t current_time;
    int nlen;   /* length of file name */
    int mod_time; /* file modification time */
--- 917,924 ----
    return 0;
  }
  
! int make_manifest(int jfd, const char *mf_name, int updating)
! {
    time_t current_time;
    int nlen;   /* length of file name */
    int mod_time; /* file modification time */
*************** void usage(const char *filename){
*** 2212,2222 ****
    exit (1);
  }
  
! void version ()
  {
    printf("jar (%s) %s\n\n", PACKAGE, VERSION);
    printf("Copyright 1999, 2000, 2001  Bryan Burns\n");
!   printf("Copyright 2002, 2004 Free Software Foundation\n");
    printf("\
  This is free software; see the source for copying conditions.  There is NO\n\
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
--- 2224,2234 ----
    exit (1);
  }
  
! void version (void)
  {
    printf("jar (%s) %s\n\n", PACKAGE, VERSION);
    printf("Copyright 1999, 2000, 2001  Bryan Burns\n");
!   printf("Copyright 2006 Free Software Foundation\n");
    printf("\
  This is free software; see the source for copying conditions.  There is NO\n\
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n");
*************** Store many files together in a single `j
*** 2245,2250 ****
--- 2257,2264 ----
    --help          print this help, then exit\n\
    -m FILE         include manifest information from specified manifest file\n\
    -M              Do not create a manifest file for the entries\n\
+   -i              generate an index of the packages in this jar\n\
+                   and its Class-Path (currently unimplemented)\n\
    -v              generate verbose output on standard output\n\
    -V, --version   display version information\n\
  ");
*************** Example 2: use an existing manifest file
*** 2264,2271 ****
  }
  
  static char *
! jt_strdup(s)
!      char *s;
  {
    char *result = (char*)malloc(strlen(s) + 1);
    if (result == (char*)0)
--- 2278,2284 ----
  }
  
  static char *
! jt_strdup(char *s)
  {
    char *result = (char*)malloc(strlen(s) + 1);
    if (result == (char*)0)
diff -Nrcpad gcc-4.0.2/fastjar/jartool.h gcc-4.1.0/fastjar/jartool.h
*** gcc-4.0.2/fastjar/jartool.h	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/jartool.h	Wed Feb  8 05:55:47 2006
***************
*** 49,55 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  #ifndef __FASTJAR_JARTOOL_H__
--- 49,55 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  #ifndef __FASTJAR_JARTOOL_H__
***************
*** 63,68 ****
--- 63,69 ----
  #define ACTION_EXTRACT 2
  #define ACTION_UPDATE 3
  #define ACTION_LIST 4
+ #define ACTION_INDEX 5
  
  #define TRUE 1
  #define FALSE 0
diff -Nrcpad gcc-4.0.2/fastjar/pushback.c gcc-4.1.0/fastjar/pushback.c
*** gcc-4.0.2/fastjar/pushback.c	Thu Jan  3 04:57:56 2002
--- gcc-4.1.0/fastjar/pushback.c	Wed Jun 29 02:59:06 2005
***************
*** 66,72 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  #include <unistd.h>
--- 66,72 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  #include <unistd.h>
diff -Nrcpad gcc-4.0.2/fastjar/pushback.h gcc-4.1.0/fastjar/pushback.h
*** gcc-4.0.2/fastjar/pushback.h	Sat Dec  9 03:08:23 2000
--- gcc-4.1.0/fastjar/pushback.h	Wed Jun 29 02:59:06 2005
***************
*** 14,20 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
  
  struct pb_file {
--- 14,20 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
  
  struct pb_file {
diff -Nrcpad gcc-4.0.2/fastjar/shift.c gcc-4.1.0/fastjar/shift.c
*** gcc-4.0.2/fastjar/shift.c	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/shift.c	Wed Jun 29 02:59:06 2005
*************** General Public License for more details.
*** 13,19 ****
    
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
  USA.  */
  
  
--- 13,19 ----
    
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
  USA.  */
  
  
diff -Nrcpad gcc-4.0.2/fastjar/shift.h gcc-4.1.0/fastjar/shift.h
*** gcc-4.0.2/fastjar/shift.h	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/shift.h	Wed Jun 29 02:59:06 2005
*************** General Public License for more details.
*** 13,19 ****
    
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
! Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
  USA.  */
  
  
--- 13,19 ----
    
  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
! Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
  USA.  */
  
  
diff -Nrcpad gcc-4.0.2/fastjar/zipfile.h gcc-4.1.0/fastjar/zipfile.h
*** gcc-4.0.2/fastjar/zipfile.h	Tue Jul  6 21:40:08 2004
--- gcc-4.1.0/fastjar/zipfile.h	Wed Jun 29 02:59:06 2005
***************
*** 34,40 ****
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
   */
  
  #define LOC_EXTRA   6  /* extra bytes */
--- 34,40 ----
    
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
!   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
   */
  
  #define LOC_EXTRA   6  /* extra bytes */
diff -Nrcpad gcc-4.0.2/fixincludes/.cvsignore gcc-4.1.0/fixincludes/.cvsignore
*** gcc-4.0.2/fixincludes/.cvsignore	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/.cvsignore	Thu Jan  1 00:00:00 1970
***************
*** 1 ****
- autom4te.cache
--- 0 ----
diff -Nrcpad gcc-4.0.2/fixincludes/ChangeLog gcc-4.1.0/fixincludes/ChangeLog
*** gcc-4.0.2/fixincludes/ChangeLog	Wed Sep 21 03:55:28 2005
--- gcc-4.1.0/fixincludes/ChangeLog	Tue Feb 28 08:30:25 2006
***************
*** 1,6 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
  2005-09-15  Joseph S. Myers  <joseph@codesourcery.com>
  
--- 1,26 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
! 
! 2006-02-18  Steve Ellcey  <sje@cup.hp.com>
! 
! 	PR target/26189
! 	* inclhack.def (hpux_spu_info): New.
! 	* fixincl.x: Regenerate
! 
! 2005-11-25  Bruce Korb  <bkorb@gnu.org>
! 
! 	* fixincl.c (write_replacement): "here strings" in AutoGen often
! 	[generally] don't have a terminating newline.  Check the last byte
! 	for '\n'.
! 
! 2005-11-13  Andreas Jaeger  <aj@suse.de>
! 
! 	* check.tpl: Handle CVS additionally.
! 
! 2005-11-05  Andreas Jaeger  <aj@suse.de>
! 
! 	* check.tpl: Adopt for move to subversion.
  
  2005-09-15  Joseph S. Myers  <joseph@codesourcery.com>
  
***************
*** 10,16 ****
  	* fixincl.x: Regenerate.
  	* tests/base/bits/huge_val.h: New file.
  
! 2005-08-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
  	PR libfortran/15266
  	* inclhack.def (broken_cabs): Mention IRIX 5/6 problem.
--- 30,58 ----
  	* fixincl.x: Regenerate.
  	* tests/base/bits/huge_val.h: New file.
  
! 2005-08-14  Kelley Cook  <kcook@gcc.gnu.org>
! 
! 	* All files: Update with new FSF address.
! 
! 2005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
! 
! 	* Makefile.in (WARN_CFLAGS): New.
! 	(.c.o): Add $(WARN_CFLAGS).
! 	* aclocal.m4: Include ../config/warnings.m4.
! 	* configure.ac: Invoke ACX_PROG_CC_WARNING_OPTS,
! 	ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and
! 	ACX_PROG_CC_WARNINGS_ARE_ERRORS.
! 	* fixopts.c (initialize_opts): Fix old-style definintion.
! 
! 	* configure: Regenerate.
! 
! 2005-06-24  Geoffrey Keating  <geoffk@geoffk.org>
! 
! 	* inclhack.def (AAB_darwin7_9_long_double_funcs): New.
! 	(AAB_darwin7_9_long_double_funcs_2): New.
! 	* fixincl.x: Regenerate.
! 
! 2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
  	PR libfortran/15266
  	* inclhack.def (broken_cabs): Mention IRIX 5/6 problem.
***************
*** 19,27 ****
  	* fixincl.x: Regenerate.
  	* tests/base/math.h [BROKEN_CABS_CHECK]: Adapt for new testcase.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
  2005-05-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
              Joseph S. Myers  <joseph@codesourcery.com>
--- 61,70 ----
  	* fixincl.x: Regenerate.
  	* tests/base/math.h [BROKEN_CABS_CHECK]: Adapt for new testcase.
  
! 2005-05-22  Danny Smith  <dannysmith@users.souceforge.net>
  
! 	PR target/21683
! 	* fixincl.c: Don't include <sys/wait.h> if SEPARATE_FIX_PROC.
  
  2005-05-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
              Joseph S. Myers  <joseph@codesourcery.com>
***************
*** 32,44 ****
  	* fixincl.x: Regenerate.
  	* tests/base/iso/math_c99.h: New.
  
  2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
  
  	* inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on
  	*-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9].
  	* fixincl.x: Regenerate.
  
! 2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
  	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
  	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
--- 75,112 ----
  	* fixincl.x: Regenerate.
  	* tests/base/iso/math_c99.h: New.
  
+ 2005-05-19  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Remove superfluous reference to accross.m4.
+ 
+ 2005-05-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* fixlib.c (load_file_data): Use XRESIZVEC in lieu of xrealloc.
+ 	* server.c (load_data): Likewise.
+ 	(run_shell): Use XCNEW (char) in lieu of xcalloc (1, 1).
+ 	* fixincl.c: #include <sys/wait.h>
+ 	(run_compiles): Use XCNEWVEC instead of xcalloc.
+ 	(fix_with_system, start_fixer): Use XNEWVEC instead of xmalloc.
+ 	* fixfixes.c (FIX_PROC_HEAD, main): Likewise.
+ 
  2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
  
  	* inclhack.def (stdio_stdarg_h, stdio_va_list): Bypass on
  	*-*-solaris2.1[0-9]*, not just *-*-solaris2.1[0-9].
  	* fixincl.x: Regenerate.
  
! 2005-05-06  Bruce Korb  <bkorb@gnu.org>
! 	Joseph S. Myers <joseph@codesourcery.com>
! 
! 	* fixinc/inclhack.def: Correct backslashes
! 	* fixinc/fixincl.x: regen
! 
! 2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
! 
! 	* system.h (fopen, fdopen, freopen): Define these to the unlocked
! 	libiberty functions.
! 
! 2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
  	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
  	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
***************
*** 46,60 ****
  	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
  	_unlocked function.
  	(fwrite_unlocked): Fix prototype.
- 	
- 	* configure, config.in: Regenerate.
  
! 	* system.h (fopen, fdopen, freopen): Define these to the unlocked
! 	libiberty functions.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>
  
--- 114,133 ----
  	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
  	_unlocked function.
  	(fwrite_unlocked): Fix prototype.
  
! 	* configure, config.h.in: Regenerate.
  
! 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
  
! 	* Makefile.in: Set gcc_version directly, not via substitution.
! 	(libsubdir): Use $(gcc_version), not $(version).
! 	(mkheaders.almost): New rule.
! 	(mkheaders): Generate from mkheaders.almost.
! 	(clean): Also delete mkheaders.almost.
! 	* aclocal.m4: Do not include ../config/gcc-version.m4.
! 	* configure.ac: Do not invoke TL_AC_GCC_VERSION.  Generate
! 	mkheaders.almost from mkheaders.in.
! 	* configure: Regenerate.
  
  2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>
  
***************
*** 181,187 ****
  
  	* inclhack.def (stdio_va_list): Break out clients from here...
  	(stdio_va_list_clients): ...to here.  Also, don't fix if stdarg.h is
!         included or ifdef va_start.
  	* fixincl.x: Regenerate.
  
  2004-10-28  Mike Stump  <mrs@apple.com>
--- 254,260 ----
  
  	* inclhack.def (stdio_va_list): Break out clients from here...
  	(stdio_va_list_clients): ...to here.  Also, don't fix if stdarg.h is
! 	included or ifdef va_start.
  	* fixincl.x: Regenerate.
  
  2004-10-28  Mike Stump  <mrs@apple.com>
diff -Nrcpad gcc-4.0.2/fixincludes/Makefile.in gcc-4.1.0/fixincludes/Makefile.in
*** gcc-4.0.2/fixincludes/Makefile.in	Wed Feb 23 22:30:01 2005
--- gcc-4.1.0/fixincludes/Makefile.in	Mon Aug 15 00:50:43 2005
***************
*** 17,24 ****
  
  #You should have received a copy of the GNU General Public License
  #along with fixincludes; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston, MA 02111-1307, USA.
  
  SHELL=@SHELL@
  
--- 17,24 ----
  
  #You should have received a copy of the GNU General Public License
  #along with fixincludes; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston, MA 02110-1301, USA.
  
  SHELL=@SHELL@
  
*************** STAMP = echo timestamp >
*** 29,34 ****
--- 29,35 ----
  
  CC = @CC@
  CFLAGS = @CFLAGS@
+ WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANTIC@ @WERROR@
  LDFLAGS = @LDFLAGS@
  INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include
  FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES)
*************** target = @target@
*** 49,58 ****
  target_noncanonical:=@target_noncanonical@
  
  # The version of GCC in this tree
! gcc_version=@gcc_version@
  
  # Directory in which the compiler finds libraries etc.
! libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(version)
  # Directory in which the compiler finds executables
  libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
  # Where our executable files go
--- 50,59 ----
  target_noncanonical:=@target_noncanonical@
  
  # The version of GCC in this tree
! gcc_version := $(shell cat $(srcdir)/../gcc/BASE-VER)
  
  # Directory in which the compiler finds libraries etc.
! libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
  # Directory in which the compiler finds executables
  libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
  # Where our executable files go
*************** default : all
*** 68,74 ****
  # Now figure out from those variables how to compile and link.
  
  .c.o:
! 	$(CC) -c $(CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $<
  
  # The only suffixes we want for implicit rules are .c and .o.
  .SUFFIXES:
--- 69,75 ----
  # Now figure out from those variables how to compile and link.
  
  .c.o:
! 	$(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $<
  
  # The only suffixes we want for implicit rules are .c and .o.
  .SUFFIXES:
*************** mostlyclean : 
*** 130,136 ****
  	rm -f *.o *-stamp $(AF) $(FI) *~ fixinc.sh
  
  clean: mostlyclean
! 	rm -f mkheaders
  
  distclean: clean
  	rm -f Makefile config.h config.log config.status stamp-h
--- 131,137 ----
  	rm -f *.o *-stamp $(AF) $(FI) *~ fixinc.sh
  
  clean: mostlyclean
! 	rm -f mkheaders mkheaders.almost
  
  distclean: clean
  	rm -f Makefile config.h config.log config.status stamp-h
*************** distclean : clean
*** 143,150 ****
  Makefile: $(srcdir)/Makefile.in config.status
  	$(SHELL) ./config.status Makefile
  
! mkheaders: $(srcdir)/mkheaders.in config.status
! 	CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
  
  config.h: stamp-h
  stamp-h: $(srcdir)/config.h.in config.status
--- 144,156 ----
  Makefile: $(srcdir)/Makefile.in config.status
  	$(SHELL) ./config.status Makefile
  
! mkheaders.almost: $(srcdir)/mkheaders.in config.status
! 	CONFIG_FILES=mkheaders.almost:mkheaders.in \
! 	CONFIG_HEADERS= ./config.status
! 
! mkheaders: mkheaders.almost $(srcdir)/../gcc/BASE-VER
! 	sed -e 's/@gcc_version@/$(gcc_version)/' < $< > $@T
! 	mv -f $@T $@
  
  config.h: stamp-h
  stamp-h: $(srcdir)/config.h.in config.status
diff -Nrcpad gcc-4.0.2/fixincludes/aclocal.m4 gcc-4.1.0/fixincludes/aclocal.m4
*** gcc-4.0.2/fixincludes/aclocal.m4	Thu Dec  2 11:03:21 2004
--- gcc-4.1.0/fixincludes/aclocal.m4	Sat Jul 16 14:17:51 2005
***************
*** 1,8 ****
  sinclude(../config/acx.m4)
- sinclude(../config/accross.m4)
- sinclude(../config/gcc-version.m4)
  sinclude(../config/gettext.m4)
  sinclude(../config/progtest.m4)
  
  dnl See whether we need a declaration for a function.
  dnl The result is highly dependent on the INCLUDES passed in, so make sure
--- 1,7 ----
  sinclude(../config/acx.m4)
  sinclude(../config/gettext.m4)
  sinclude(../config/progtest.m4)
+ sinclude(../config/warnings.m4)
  
  dnl See whether we need a declaration for a function.
  dnl The result is highly dependent on the INCLUDES passed in, so make sure
diff -Nrcpad gcc-4.0.2/fixincludes/check.tpl gcc-4.1.0/fixincludes/check.tpl
*** gcc-4.0.2/fixincludes/check.tpl	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/check.tpl	Sun Nov 13 08:43:28 2005
*************** echo $exitok`
*** 144,150 ****
  cd $TESTBASE
  
  find * -type f -print | \
! fgrep -v 'CVS/' > ${TESTDIR}/LIST
  
  exitok=`
  exec < ${TESTDIR}/LIST
--- 144,151 ----
  cd $TESTBASE
  
  find * -type f -print | \
! fgrep -v 'CVS/' | \
! fgrep -v '.svn/' > ${TESTDIR}/LIST
  
  exitok=`
  exec < ${TESTDIR}/LIST
diff -Nrcpad gcc-4.0.2/fixincludes/configure gcc-4.1.0/fixincludes/configure
*** gcc-4.0.2/fixincludes/configure	Sun Apr 24 22:52:46 2005
--- gcc-4.1.0/fixincludes/configure	Sat Jul 16 14:17:51 2005
*************** ac_includes_default="\
*** 309,315 ****
  # include <unistd.h>
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT target_noncanonical TARGET gcc_version_trigger gcc_version_full gcc_version CPP EGREP MAINT LIBOBJS LTLIBOBJS'
  ac_subst_files=''
  
  # Initialize some variables set by options.
--- 309,315 ----
  # include <unistd.h>
  #endif"
  
! ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT WARN_CFLAGS WARN_PEDANTIC WERROR target_noncanonical TARGET CPP EGREP MAINT LIBOBJS LTLIBOBJS'
  ac_subst_files=''
  
  # Initialize some variables set by options.
*************** if test -n "$ac_init_help"; then
*** 847,852 ****
--- 847,853 ----
  Optional Features:
    --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+   --enable-werror-always  enable -Werror despite compiler version
    --enable-twoprocess       Use a separate process to apply the fixes
    --enable-maintainer-mode enable make rules and dependencies not useful
                            (and sometimes confusing) to the casual installer
*************** ac_link='$CC -o conftest$ac_exeext $CFLA
*** 2352,2357 ****
--- 2353,2514 ----
  ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  
+ # Figure out what compiler warnings we can enable.
+ # See config/warnings.m4 for details.
+ 
+ 
+ WARN_CFLAGS=
+ save_CFLAGS="$CFLAGS"
+ for option in -W -Wall -Wwrite-strings -Wstrict-prototypes \
+ 			  -Wmissing-prototypes -Wold-style-definition \
+ 			  -Wmissing-format-attribute; do
+   as_acx_Woption=`echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh`
+ 
+   echo "$as_me:$LINENO: checking whether $CC supports $option" >&5
+ echo $ECHO_N "checking whether $CC supports $option... $ECHO_C" >&6
+ if eval "test \"\${$as_acx_Woption+set}\" = set"; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   CFLAGS="$option"
+     cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ 
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   eval "$as_acx_Woption=yes"
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ eval "$as_acx_Woption=no"
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ 
+ fi
+ echo "$as_me:$LINENO: result: `eval echo '${'$as_acx_Woption'}'`" >&5
+ echo "${ECHO_T}`eval echo '${'$as_acx_Woption'}'`" >&6
+   if test `eval echo '${'$as_acx_Woption'}'` = yes; then
+   WARN_CFLAGS="$WARN_CFLAGS${WARN_CFLAGS:+ }$option"
+ fi
+ 
+   done
+ CFLAGS="$save_CFLAGS"
+ 
+ WARN_PEDANTIC=
+ if test "$GCC" = yes; then
+   echo "$as_me:$LINENO: checking whether $CC supports -pedantic -Wno-long-long" >&5
+ echo $ECHO_N "checking whether $CC supports -pedantic -Wno-long-long... $ECHO_C" >&6
+ if test "${acx_cv_prog_cc_pedantic__Wno_long_long+set}" = set; then
+   echo $ECHO_N "(cached) $ECHO_C" >&6
+ else
+   save_CFLAGS="$CFLAGS"
+ CFLAGS="-pedantic -Wno-long-long"
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h.  */
+ _ACEOF
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h.  */
+ 
+ int
+ main ()
+ {
+ 
+   ;
+   return 0;
+ }
+ _ACEOF
+ rm -f conftest.$ac_objext
+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+   (eval $ac_compile) 2>conftest.er1
+   ac_status=$?
+   grep -v '^ *+' conftest.er1 >conftest.err
+   rm -f conftest.er1
+   cat conftest.err >&5
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } &&
+ 	 { ac_try='test -z "$ac_c_werror_flag"
+ 			 || test ! -s conftest.err'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; } &&
+ 	 { ac_try='test -s conftest.$ac_objext'
+   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+   (eval $ac_try) 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }; }; then
+   acx_cv_prog_cc_pedantic__Wno_long_long=yes
+ else
+   echo "$as_me: failed program was:" >&5
+ sed 's/^/| /' conftest.$ac_ext >&5
+ 
+ acx_cv_prog_cc_pedantic__Wno_long_long=no
+ fi
+ rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+ CFLAGS="$save_CFLAGS"
+ fi
+ echo "$as_me:$LINENO: result: $acx_cv_prog_cc_pedantic__Wno_long_long" >&5
+ echo "${ECHO_T}$acx_cv_prog_cc_pedantic__Wno_long_long" >&6
+ if test $acx_cv_prog_cc_pedantic__Wno_long_long = yes; then
+   WARN_PEDANTIC="-pedantic -Wno-long-long"
+ fi
+ 
+ 
+ fi
+ 
+ 
+ 
+ # Only enable with --enable-werror-always until existing warnings are
+ # corrected.
+ WERROR=
+ # Check whether --enable-werror-always or --disable-werror-always was given.
+ if test "${enable_werror_always+set}" = set; then
+   enableval="$enable_werror_always"
+ 
+ else
+   enable_werror_always=no
+ fi;
+ if test $enable_werror_always = yes; then
+   WERROR=-Werror
+ fi
+ 
+ 
+ 
  # Determine the noncanonical target name, for directory use.
   case ${build_alias} in
    "") build_noncanonical=${build} ;;
*************** _ACEOF
*** 2425,2447 ****
  
  fi
  
- 
- if test "${with_gcc_version_trigger+set}" = set; then
-   gcc_version_trigger=$with_gcc_version_trigger
- else
-   gcc_version_trigger=$srcdir/../gcc/version.c
- fi
- if test -f "${gcc_version_trigger}"; then
-   gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
- else
-   gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
- fi
- gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
- 
- 
- 
- 
- 
  case $host in
  	vax-dec-bsd* )
  
--- 2582,2587 ----
*************** _ACEOF
*** 2464,2470 ****
  
  
  # Checks for header files.
- 
  ac_ext=c
  ac_cpp='$CPP $CPPFLAGS'
  ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--- 2604,2609 ----
*************** fi
*** 5022,5028 ****
  
            ac_config_headers="$ac_config_headers config.h"
  
!                     ac_config_files="$ac_config_files Makefile mkheaders"
  
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
--- 5161,5167 ----
  
            ac_config_headers="$ac_config_headers config.h"
  
!                     ac_config_files="$ac_config_files Makefile mkheaders.almost:mkheaders.in"
  
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
*************** do
*** 5549,5555 ****
    case "$ac_config_target" in
    # Handling of arguments.
    "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
!   "mkheaders" ) CONFIG_FILES="$CONFIG_FILES mkheaders" ;;
    "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
--- 5688,5694 ----
    case "$ac_config_target" in
    # Handling of arguments.
    "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
!   "mkheaders.almost" ) CONFIG_FILES="$CONFIG_FILES mkheaders.almost:mkheaders.in" ;;
    "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
*************** s,@CPPFLAGS@,$CPPFLAGS,;t t
*** 5654,5664 ****
  s,@ac_ct_CC@,$ac_ct_CC,;t t
  s,@EXEEXT@,$EXEEXT,;t t
  s,@OBJEXT@,$OBJEXT,;t t
  s,@target_noncanonical@,$target_noncanonical,;t t
  s,@TARGET@,$TARGET,;t t
- s,@gcc_version_trigger@,$gcc_version_trigger,;t t
- s,@gcc_version_full@,$gcc_version_full,;t t
- s,@gcc_version@,$gcc_version,;t t
  s,@CPP@,$CPP,;t t
  s,@EGREP@,$EGREP,;t t
  s,@MAINT@,$MAINT,;t t
--- 5793,5803 ----
  s,@ac_ct_CC@,$ac_ct_CC,;t t
  s,@EXEEXT@,$EXEEXT,;t t
  s,@OBJEXT@,$OBJEXT,;t t
+ s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t
+ s,@WARN_PEDANTIC@,$WARN_PEDANTIC,;t t
+ s,@WERROR@,$WERROR,;t t
  s,@target_noncanonical@,$target_noncanonical,;t t
  s,@TARGET@,$TARGET,;t t
  s,@CPP@,$CPP,;t t
  s,@EGREP@,$EGREP,;t t
  s,@MAINT@,$MAINT,;t t
diff -Nrcpad gcc-4.0.2/fixincludes/configure.ac gcc-4.1.0/fixincludes/configure.ac
*** gcc-4.0.2/fixincludes/configure.ac	Sun Apr 24 22:52:46 2005
--- gcc-4.1.0/fixincludes/configure.ac	Sat Jul 16 14:17:51 2005
*************** AC_CONFIG_AUX_DIR(..)
*** 6,11 ****
--- 6,23 ----
  AC_CANONICAL_SYSTEM
  AC_PROG_CC
  
+ # Figure out what compiler warnings we can enable.
+ # See config/warnings.m4 for details.
+ 
+ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \
+ 			  -Wmissing-prototypes -Wold-style-definition \
+ 			  -Wmissing-format-attribute])
+ ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([-Wno-long-long])
+ 
+ # Only enable with --enable-werror-always until existing warnings are
+ # corrected.
+ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual])
+ 
  # Determine the noncanonical target name, for directory use.
  ACX_NONCANONICAL_TARGET
  
*************** if test $TARGET = twoprocess; then
*** 52,59 ****
  		  [Define if testing and fixing are done by separate process])
  fi
  
- TL_AC_GCC_VERSION([$srcdir/..])
- 
  case $host in
  	vax-dec-bsd* )
  		AC_DEFINE(exit, xexit, [Define to xexit if the host system does not support atexit])
--- 64,69 ----
*************** fi	
*** 97,101 ****
  AC_SUBST(MAINT)
  
  AC_CONFIG_HEADERS(config.h, [echo timestamp > stamp-h])
! AC_CONFIG_FILES(Makefile mkheaders)
  AC_OUTPUT
--- 107,111 ----
  AC_SUBST(MAINT)
  
  AC_CONFIG_HEADERS(config.h, [echo timestamp > stamp-h])
! AC_CONFIG_FILES(Makefile mkheaders.almost:mkheaders.in)
  AC_OUTPUT
diff -Nrcpad gcc-4.0.2/fixincludes/fixfixes.c gcc-4.1.0/fixincludes/fixfixes.c
*** gcc-4.0.2/fixincludes/fixfixes.c	Wed Oct 27 20:13:57 2004
--- gcc-4.1.0/fixincludes/fixfixes.c	Mon Aug 15 00:50:43 2005
*************** GNU General Public License for more deta
*** 47,54 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #include "fixlib.h"
  #define    GTYPE_SE_CT 1
--- 47,54 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #include "fixlib.h"
  #define    GTYPE_SE_CT 1
*************** FIX_PROC_HEAD( wrap_fix )
*** 605,611 ****
         *  *both* the fix name and the file name.
         */
        size_t ln = strlen( filname ) + strlen( p_fixd->fix_name ) + 14;
!       char*  pz = xmalloc( ln );
        pz_name = pz;
        sprintf( pz, "FIXINC_WRAP_%s-%s", filname, p_fixd->fix_name );
  
--- 605,611 ----
         *  *both* the fix name and the file name.
         */
        size_t ln = strlen( filname ) + strlen( p_fixd->fix_name ) + 14;
!       char*  pz = XNEWVEC (char, ln);
        pz_name = pz;
        sprintf( pz, "FIXINC_WRAP_%s-%s", filname, p_fixd->fix_name );
  
*************** main( int argc, char** argv )
*** 770,776 ****
        return EXIT_FAILURE;
      }
  
!   pz_tmptmp = xmalloc (strlen (argv[4]) + 5);
    strcpy( pz_tmptmp, argv[4] );
  
    /* Don't lose because "12345678" and "12345678X" map to the same
--- 770,776 ----
        return EXIT_FAILURE;
      }
  
!   pz_tmptmp = XNEWVEC (char, strlen (argv[4]) + 5);
    strcpy( pz_tmptmp, argv[4] );
  
    /* Don't lose because "12345678" and "12345678X" map to the same
diff -Nrcpad gcc-4.0.2/fixincludes/fixinc.in gcc-4.1.0/fixincludes/fixinc.in
*** gcc-4.0.2/fixincludes/fixinc.in	Fri Nov  5 04:48:32 2004
--- gcc-4.1.0/fixincludes/fixinc.in	Mon Aug 15 00:50:43 2005
***************
*** 23,30 ****
  # You should have received a copy of the GNU General Public License
  # along with fixincludes.  See the file "COPYING".  If not,
  # write to:  The Free Software Foundation, Inc.,
! #            59 Temple Place - Suite 330,
! #            Boston,  MA  02111-1307, USA.
  #
  # # # # # # # # # # # # # # # # # # # # #
  
--- 23,30 ----
  # You should have received a copy of the GNU General Public License
  # along with fixincludes.  See the file "COPYING".  If not,
  # write to:  The Free Software Foundation, Inc.,
! #            51 Franklin Street, Fifth Floor,
! #            Boston,  MA  02110-1301, USA.
  #
  # # # # # # # # # # # # # # # # # # # # #
  
diff -Nrcpad gcc-4.0.2/fixincludes/fixincl.c gcc-4.1.0/fixincludes/fixincl.c
*** gcc-4.0.2/fixincludes/fixincl.c	Wed Nov 17 05:06:41 2004
--- gcc-4.1.0/fixincludes/fixincl.c	Fri Nov 25 20:26:51 2005
*************** GNU General Public License for more deta
*** 18,29 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #include "fixlib.h"
  
  #include <sys/stat.h>
  
  #if defined( HAVE_MMAP_FILE )
  #include <sys/mman.h>
--- 18,32 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #include "fixlib.h"
  
  #include <sys/stat.h>
+ #ifndef SEPARATE_FIX_PROC
+ #include <sys/wait.h>
+ #endif
  
  #if defined( HAVE_MMAP_FILE )
  #include <sys/mman.h>
*************** run_compiles (void)
*** 451,457 ****
  {
    tFixDesc *p_fixd = fixDescList;
    int fix_ct = FIX_COUNT;
!   regex_t *p_re = xcalloc (REGEX_COUNT, sizeof (regex_t));
  
    /*  Make sure compile_re does not stumble across invalid data */
  
--- 454,460 ----
  {
    tFixDesc *p_fixd = fixDescList;
    int fix_ct = FIX_COUNT;
!   regex_t *p_re = XCNEWVEC (regex_t, REGEX_COUNT);
  
    /*  Make sure compile_re does not stumble across invalid data */
  
*************** fix_with_system (tFixDesc* p_fixd,
*** 866,872 ****
                + strlen (pz_temp_file);
  
        /* Allocate something sure to be big enough for our purposes */
!       pz_cmd = xmalloc (argsize);
        strcpy (pz_cmd, pz_orig_dir);
        pz_scan = pz_cmd + strlen (pz_orig_dir);
  
--- 869,875 ----
                + strlen (pz_temp_file);
  
        /* Allocate something sure to be big enough for our purposes */
!       pz_cmd = XNEWVEC (char, argsize);
        strcpy (pz_cmd, pz_orig_dir);
        pz_scan = pz_cmd + strlen (pz_orig_dir);
  
*************** fix_with_system (tFixDesc* p_fixd,
*** 933,939 ****
          }
  
        /* Estimated buffer size we will need.  */
!       pz_scan = pz_cmd = xmalloc (argsize);
        /* How much of it do we allot to the program name and its
           arguments.  */
        parg_size = argsize - parg_size;
--- 936,942 ----
          }
  
        /* Estimated buffer size we will need.  */
!       pz_scan = pz_cmd = XNEWVEC (char, argsize);
        /* How much of it do we allot to the program name and its
           arguments.  */
        parg_size = argsize - parg_size;
*************** start_fixer (int read_fd, tFixDesc* p_fi
*** 1020,1026 ****
    else
      {
        tSCC z_cmd_fmt[] = "file='%s'\n%s";
!       pz_cmd = xmalloc (strlen (p_fixd->patch_args[2])
  			+ sizeof (z_cmd_fmt) + strlen (pz_fix_file));
        sprintf (pz_cmd, z_cmd_fmt, pz_fix_file, p_fixd->patch_args[2]);
        pz_cmd_save = p_fixd->patch_args[2];
--- 1023,1029 ----
    else
      {
        tSCC z_cmd_fmt[] = "file='%s'\n%s";
!       pz_cmd = XNEWVEC (char, strlen (p_fixd->patch_args[2])
  			+ sizeof (z_cmd_fmt) + strlen (pz_fix_file));
        sprintf (pz_cmd, z_cmd_fmt, pz_fix_file, p_fixd->patch_args[2]);
        pz_cmd_save = p_fixd->patch_args[2];
*************** write_replacement (tFixDesc* p_fixd)
*** 1199,1205 ****
  
     {
       FILE* out_fp = create_file ();
!      fputs (pz_text, out_fp);
       fclose (out_fp);
     }
  }
--- 1202,1211 ----
  
     {
       FILE* out_fp = create_file ();
!      size_t sz = strlen (pz_text);
!      fwrite (pz_text, sz, 1, out_fp);
!      if (pz_text[ sz-1 ] != '\n')
!        fputc ('\n', out_fp);
       fclose (out_fp);
     }
  }
diff -Nrcpad gcc-4.0.2/fixincludes/fixincl.x gcc-4.1.0/fixincludes/fixincl.x
*** gcc-4.0.2/fixincludes/fixincl.x	Thu Sep 15 19:11:45 2005
--- gcc-4.1.0/fixincludes/fixincl.x	Sat Feb 18 15:59:57 2006
***************
*** 2,12 ****
   * 
   * DO NOT EDIT THIS FILE   (fixincl.x)
   * 
!  * It has been AutoGen-ed  Thursday September 15, 2005 at 07:10:16 PM UTC
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Sep 15 19:10:16 UTC 2005
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
--- 2,12 ----
   * 
   * DO NOT EDIT THIS FILE   (fixincl.x)
   * 
!  * It has been AutoGen-ed  Saturday February 18, 2006 at 07:58:56 AM PST
   * From the definitions    inclhack.def
   * and the template file   fixincl
   */
! /* DO NOT CVS-MERGE THIS FILE, EITHER Sat Feb 18 07:58:56 PST 2006
   *
   * You must regenerate it.  Use the ./genfixes script.
   *
***************
*** 15,21 ****
   * certain ANSI-incompatible system header files which are fixed to work
   * correctly with ANSI C and placed in a directory that GNU C will search.
   *
!  * This file contains 191 fixup descriptions.
   *
   * See README for more information.
   *
--- 15,21 ----
   * certain ANSI-incompatible system header files which are fixed to work
   * correctly with ANSI C and placed in a directory that GNU C will search.
   *
!  * This file contains 194 fixup descriptions.
   *
   * See README for more information.
   *
***************
*** 42,47 ****
--- 42,195 ----
  
  /* * * * * * * * * * * * * * * * * * * * * * * * * *
   *
+  *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
+  */
+ tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
+      "AAB_darwin7_9_long_double_funcs";
+ 
+ /*
+  *  File name selection pattern
+  */
+ tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
+   "|architecture/ppc/math.h|";
+ /*
+  *  Machine/OS name selection pattern
+  */
+ tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
+         "*-*-darwin7.9*",
+         (const char*)NULL };
+ 
+ /*
+  *  content bypass pattern - skip fix if pattern found
+  */
+ tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
+        "powl";
+ 
+ #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
+ static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
+   { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
+ 
+ /*
+  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
+  */
+ static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
+ "/* This file prototypes the long double functions available on Mac OS\n\
+    10.3.9.  */\n\
+ #ifndef __MATH__\n\
+ # include_next <architecture/ppc/math.h>\n\
+ # ifndef __LIBMLDBL_COMPAT\n\
+ #  ifdef __LONG_DOUBLE_128__\n\
+ #   define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
+ #  else\n\
+ #   define __LIBMLDBL_COMPAT(sym)\n\
+ #  endif /* __LONG_DOUBLE_128__ */\n\
+ # endif /* __LIBMLDBL_COMPAT */\n\
+ # ifdef __cplusplus\n\
+    extern \"C\" {\n\
+ # endif\n\
+   extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
+   extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
+   extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
+   extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
+   extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
+   extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
+   extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
+   extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
+   extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
+   extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
+   extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
+   extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
+   extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
+   extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
+   extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
+   extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
+   extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
+   extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
+   extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
+   extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
+   extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
+   extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
+   extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
+   extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
+   extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
+   extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
+   extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
+   extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
+   extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
+   extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
+   extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
+   extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
+   extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
+   extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
+   extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
+   extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
+   extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
+   extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
+   extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
+   extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
+   extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
+   extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
+   extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
+   extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
+   extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
+   extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
+   extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
+   extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
+   extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
+   extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
+   extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
+   extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
+   extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
+   extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
+   extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
+   extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
+   extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
+ # ifdef __cplusplus\n\
+    }\n\
+ # endif\n\
+ #endif /* __MATH__ */",
+     (char*)NULL };
+ 
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+  *
+  *  Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
+  */
+ tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
+      "AAB_darwin7_9_long_double_funcs_2";
+ 
+ /*
+  *  File name selection pattern
+  */
+ tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
+   "|math.h|";
+ /*
+  *  Machine/OS name selection pattern
+  */
+ tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
+         "*-*-darwin7.9*",
+         (const char*)NULL };
+ 
+ /*
+  *  content selection pattern - do fix if pattern found
+  */
+ tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
+        "#include[ \\t]+\\\"";
+ 
+ #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
+ static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
+   { TT_EGREP,    zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
+ 
+ /*
+  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
+  */
+ static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
+     "format",
+     "%1<%2.h>",
+     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
+     (char*)NULL };
+ 
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+  *
   *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
   */
  tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
*************** static const char* apzAab_Fd_Zero_Gnu_Ty
*** 124,136 ****
  #include_next <gnu/types.h>\n\n\
  #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
  #undef __FD_ZERO\n\
! # define __FD_ZERO(fdsetp) \\\\\n\
!   do { \\\\\n\
!     int __d0, __d1; \\\\\n\
! __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
!         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
!         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
!   \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
    } while (0)\n\
  #endif\n\n\
  #define _TYPES_H_WRAPPER\n\
--- 272,284 ----
  #include_next <gnu/types.h>\n\n\
  #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
  #undef __FD_ZERO\n\
! # define __FD_ZERO(fdsetp) \\\n\
!   do { \\\n\
!     int __d0, __d1; \\\n\
!         __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
!         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
!         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
!           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
    } while (0)\n\
  #endif\n\n\
  #define _TYPES_H_WRAPPER\n\
*************** static const char* apzHpux_SystimePatch[
*** 2765,2770 ****
--- 2913,2957 ----
  
  /* * * * * * * * * * * * * * * * * * * * * * * * * *
   *
+  *  Description of Hpux_Spu_Info fix
+  */
+ tSCC zHpux_Spu_InfoName[] =
+      "hpux_spu_info";
+ 
+ /*
+  *  File name selection pattern
+  */
+ tSCC zHpux_Spu_InfoList[] =
+   "|ia64/sys/getppdp.h|";
+ /*
+  *  Machine/OS name selection pattern
+  */
+ tSCC* apzHpux_Spu_InfoMachs[] = {
+         "*-hp-hpux*",
+         (const char*)NULL };
+ 
+ /*
+  *  content selection pattern - do fix if pattern found
+  */
+ tSCC zHpux_Spu_InfoSelect0[] =
+        "^.*extern.*spu_info.*";
+ 
+ #define    HPUX_SPU_INFO_TEST_CT  1
+ static tTestDesc aHpux_Spu_InfoTests[] = {
+   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
+ 
+ /*
+  *  Fix Command Arguments for Hpux_Spu_Info
+  */
+ static const char* apzHpux_Spu_InfoPatch[] = {
+     "format",
+     "#ifdef _KERNEL\n\
+ %0\n\
+ #endif",
+     (char*)NULL };
+ 
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
+  *
   *  Description of Huge_Val_Hex fix
   */
  tSCC zHuge_Val_HexName[] =
*************** static const char* apzX11_SprintfPatch[]
*** 7700,7713 ****
   *
   *  List of all fixes
   */
! #define REGEX_COUNT          233
  #define MACH_LIST_SIZE_LIMIT 261
! #define FIX_COUNT            191
  
  /*
   *  Enumerate the fixes
   */
  typedef enum {
      AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
      AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
      AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
--- 7887,7902 ----
   *
   *  List of all fixes
   */
! #define REGEX_COUNT          236
  #define MACH_LIST_SIZE_LIMIT 261
! #define FIX_COUNT            194
  
  /*
   *  Enumerate the fixes
   */
  typedef enum {
+     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
+     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
      AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
      AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
      AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
*************** typedef enum {
*** 7774,7779 ****
--- 7963,7969 ----
      HPUX_HTONL_FIXIDX,
      HPUX_LONG_DOUBLE_FIXIDX,
      HPUX_SYSTIME_FIXIDX,
+     HPUX_SPU_INFO_FIXIDX,
      HUGE_VAL_HEX_FIXIDX,
      HUGE_VALF_HEX_FIXIDX,
      HUGE_VALL_HEX_FIXIDX,
*************** typedef enum {
*** 7902,7907 ****
--- 8092,8107 ----
  } t_fixinc_idx;
  
  tFixDesc fixDescList[ FIX_COUNT ] = {
+   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
+      apzAab_Darwin7_9_Long_Double_FuncsMachs,
+      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
+ 
+   {  zAab_Darwin7_9_Long_Double_Funcs_2Name,    zAab_Darwin7_9_Long_Double_Funcs_2List,
+      apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
+      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+      aAab_Darwin7_9_Long_Double_Funcs_2Tests,   apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
+ 
    {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
       apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
       AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
*************** tFixDesc fixDescList[ FIX_COUNT ] = {
*** 8232,8237 ****
--- 8432,8442 ----
       HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
       aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
  
+   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
+      apzHpux_Spu_InfoMachs,
+      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
+ 
    {  zHuge_Val_HexName,    zHuge_Val_HexList,
       apzHuge_Val_HexMachs,
       HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
diff -Nrcpad gcc-4.0.2/fixincludes/fixlib.c gcc-4.1.0/fixincludes/fixlib.c
*** gcc-4.0.2/fixincludes/fixlib.c	Fri Oct 15 07:58:38 2004
--- gcc-4.1.0/fixincludes/fixlib.c	Mon Aug 15 00:50:43 2005
*************** GNU General Public License for more deta
*** 19,26 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #include "fixlib.h"
  
--- 19,26 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #include "fixlib.h"
  
*************** load_file_data (FILE* fp)
*** 48,54 ****
        if (space_left < 1024)
          {
            space_left += 4096;
! 	  pz_data = xrealloc (pz_data, space_left + space_used + 1 );
          }
        size_read = fread (pz_data + space_used, 1, space_left, fp);
  
--- 48,54 ----
        if (space_left < 1024)
          {
            space_left += 4096;
! 	  pz_data = XRESIZEVEC (char, pz_data, space_left + space_used + 1 );
          }
        size_read = fread (pz_data + space_used, 1, space_left, fp);
  
*************** load_file_data (FILE* fp)
*** 72,78 ****
        space_used += size_read;
      } while (! feof (fp));
  
!   pz_data = xrealloc (pz_data, space_used+1 );
    pz_data[ space_used ] = NUL;
  
    return pz_data;
--- 72,78 ----
        space_used += size_read;
      } while (! feof (fp));
  
!   pz_data = XRESIZEVEC (char, pz_data, space_used+1 );
    pz_data[ space_used ] = NUL;
  
    return pz_data;
diff -Nrcpad gcc-4.0.2/fixincludes/fixlib.h gcc-4.1.0/fixincludes/fixlib.h
*** gcc-4.0.2/fixincludes/fixlib.h	Wed Oct 20 08:21:09 2004
--- gcc-4.1.0/fixincludes/fixlib.h	Mon Aug 15 00:50:43 2005
*************** GNU General Public License for more deta
*** 20,27 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #ifndef GCC_FIXLIB_H
  #define GCC_FIXLIB_H
--- 20,27 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #ifndef GCC_FIXLIB_H
  #define GCC_FIXLIB_H
diff -Nrcpad gcc-4.0.2/fixincludes/fixopts.c gcc-4.1.0/fixincludes/fixopts.c
*** gcc-4.0.2/fixincludes/fixopts.c	Fri Oct 15 07:58:38 2004
--- gcc-4.1.0/fixincludes/fixopts.c	Mon Aug 15 00:50:43 2005
*************** GNU General Public License for more deta
*** 16,23 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #include "fixlib.h"
  
--- 16,23 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #include "fixlib.h"
  
*************** ENV_TABLE
*** 26,32 ****
  #undef _ENV_
  
  void
! initialize_opts ()
  {
    static const char var_not_found[] =
  #ifndef __STDC__
--- 26,32 ----
  #undef _ENV_
  
  void
! initialize_opts (void)
  {
    static const char var_not_found[] =
  #ifndef __STDC__
diff -Nrcpad gcc-4.0.2/fixincludes/fixtests.c gcc-4.1.0/fixincludes/fixtests.c
*** gcc-4.0.2/fixincludes/fixtests.c	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/fixtests.c	Mon Aug 15 00:50:43 2005
*************** GNU General Public License for more deta
*** 42,49 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 59 Temple Place - Suite 330,
! Boston, MA 02111-1307, USA.  */
  
  #include "fixlib.h"
  
--- 42,49 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to
! the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! Boston, MA 02110-1301, USA.  */
  
  #include "fixlib.h"
  
diff -Nrcpad gcc-4.0.2/fixincludes/genfixes gcc-4.1.0/fixincludes/genfixes
*** gcc-4.0.2/fixincludes/genfixes	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/genfixes	Mon Aug 15 00:50:43 2005
***************
*** 15,22 ****
  
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 59 Temple Place - Suite 330,
! # Boston, MA 02111-1307, USA.
  
  SHELL=/bin/sh
  export SHELL
--- 15,22 ----
  
  # You should have received a copy of the GNU General Public License
  # along with GCC; see the file COPYING.  If not, write to
! # the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! # Boston, MA 02110-1301, USA.
  
  SHELL=/bin/sh
  export SHELL
diff -Nrcpad gcc-4.0.2/fixincludes/inclhack.def gcc-4.1.0/fixincludes/inclhack.def
*** gcc-4.0.2/fixincludes/inclhack.def	Thu Sep 15 19:11:45 2005
--- gcc-4.1.0/fixincludes/inclhack.def	Sat Feb 18 15:59:57 2006
*************** FIXINC_DEBUG = yes;
*** 21,26 ****
--- 21,133 ----
  #endif
  
  /*
+  *  On Mac OS 10.3.9, the 'long double' functions are available in
+  *  libSystem, but are not prototyped in math.h.
+  */
+ fix = {
+   hackname  = AAB_darwin7_9_long_double_funcs;
+   mach      = "*-*-darwin7.9*";
+   files     = architecture/ppc/math.h;
+   bypass    = "powl";
+   replace = <<- _EndOfHeader_
+ /* This file prototypes the long double functions available on Mac OS
+    10.3.9.  */
+ #ifndef __MATH__
+ # include_next <architecture/ppc/math.h>
+ # ifndef __LIBMLDBL_COMPAT
+ #  ifdef __LONG_DOUBLE_128__
+ #   define __LIBMLDBL_COMPAT(sym) __asm("_" #sym "$LDBL128")
+ #  else
+ #   define __LIBMLDBL_COMPAT(sym)
+ #  endif /* __LONG_DOUBLE_128__ */
+ # endif /* __LIBMLDBL_COMPAT */
+ # ifdef __cplusplus
+    extern "C" {
+ # endif
+   extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);
+   extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);
+   extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);
+   extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);
+   extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);
+   extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);
+   extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);
+   extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);
+   extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);
+   extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);
+   extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);
+   extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);
+   extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);
+   extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);
+   extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);
+   extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);
+   extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);
+   extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);
+   extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);
+   extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);
+   extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);
+   extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);
+   extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);
+   extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);
+   extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);
+   extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);
+   extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);
+   extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);
+   extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);
+   extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);
+   extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);
+   extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);
+   extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);
+   extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);
+   extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);
+   extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);
+   extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);
+   extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);
+   extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);
+   extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);
+   extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);
+   extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);
+   extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);
+   extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);
+   extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);
+   extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);
+   extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);
+   extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);
+   extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);
+   extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);
+   extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);
+   extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);
+   extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);
+   extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);
+   extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);
+   extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);
+   extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);
+ # ifdef __cplusplus
+    }
+ # endif
+ #endif /* __MATH__ */
+ _EndOfHeader_;
+ };
+ 
+ 
+ /*
+  *  ... and for the previous fix to be useful, you have to not use ""
+  *  includes.
+  */
+ fix = {
+   hackname  = AAB_darwin7_9_long_double_funcs_2;
+   mach      = "*-*-darwin7.9*";
+   files     = math.h;
+   select    = '#include[ \t]+\"';
+   c_fix     = format;
+   c_fix_arg = "%1<%2.h>";
+   
+   c_fix_arg = '([ \t]*#[ \t]*include[ \t]+)"([a-z0-9/]+)\.h"';
+   
+   test_text = '#include "architecture/ppc/math.h"';
+ };
+ 
+ 
+ /*
   *  This fixes __FD_ZERO bug for linux 2.x.y (x <= 2 && y <= some n)
   */
  fix = {
*************** fix = {
*** 82,94 ****
  
  	#if defined(__FD_ZERO) && !defined(__GLIBC__)
  	#undef __FD_ZERO
! 	# define __FD_ZERO(fdsetp) \\
! 	  do { \\
! 	    int __d0, __d1; \\
! 		__asm__ __volatile__("cld ; rep ; stosl" \\
!         	: "=&c" (__d0), "=&D" (__d1) \\
!         	: "a" (0), "0" (__FDSET_LONGS), \\
! 		  "1" ((__fd_set *) (fdsetp)) :"memory"); \\
  	  } while (0)
  	#endif
  
--- 189,201 ----
  
  	#if defined(__FD_ZERO) && !defined(__GLIBC__)
  	#undef __FD_ZERO
! 	# define __FD_ZERO(fdsetp) \
! 	  do { \
! 	    int __d0, __d1; \
! 	        __asm__ __volatile__("cld ; rep ; stosl" \
! 	        : "=&c" (__d0), "=&D" (__d1) \
! 	        : "a" (0), "0" (__FDSET_LONGS), \
! 	          "1" ((__fd_set *) (fdsetp)) :"memory"); \
  	  } while (0)
  	#endif
  
*************** fix = {
*** 1574,1579 ****
--- 1681,1703 ----
  
  
  /*
+  *  Wrap spu_info in ifdef _KERNEL.  GCC cannot handle an array of unknown
+  *  type and mpinfou is only defined when _KERNEL is set.
+  */
+ fix = {
+     hackname = hpux_spu_info;
+     mach     = "*-hp-hpux*";
+     files    = ia64/sys/getppdp.h;
+     select   = "^.*extern.*spu_info.*";
+ 
+     c_fix     = format;
+     c_fix_arg = "#ifdef _KERNEL\n%0\n#endif";
+ 
+     test_text = "extern union mpinfou spu_info[];";
+ };
+ 
+ 
+ /*
   *  Fix glibc definition of HUGE_VAL in terms of hex floating point constant
   */
  fix = {
diff -Nrcpad gcc-4.0.2/fixincludes/mkheaders.in gcc-4.1.0/fixincludes/mkheaders.in
*** gcc-4.0.2/fixincludes/mkheaders.in	Tue Nov 23 22:45:53 2004
--- gcc-4.1.0/fixincludes/mkheaders.in	Mon Aug 15 00:50:43 2005
***************
*** 16,23 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to the Free
! #Software Foundation, 59 Temple Place - Suite 330, Boston, MA
! #02111-1307, USA.
  
  # Basic information
  target=@target@
--- 16,23 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to the Free
! #Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
! #02110-1301, USA.
  
  # Basic information
  target=@target@
diff -Nrcpad gcc-4.0.2/fixincludes/procopen.c gcc-4.1.0/fixincludes/procopen.c
*** gcc-4.0.2/fixincludes/procopen.c	Wed Oct 20 08:21:09 2004
--- gcc-4.1.0/fixincludes/procopen.c	Mon Aug 15 00:50:43 2005
***************
*** 17,24 ****
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             59 Temple Place - Suite 330,
!  *             Boston,  MA  02111-1307, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
--- 17,24 ----
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             51 Franklin Street, Fifth Floor,
!  *             Boston,  MA  02110-1301, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
diff -Nrcpad gcc-4.0.2/fixincludes/server.c gcc-4.1.0/fixincludes/server.c
*** gcc-4.0.2/fixincludes/server.c	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/server.c	Mon Aug 15 00:50:43 2005
***************
*** 17,24 ****
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             59 Temple Place - Suite 330,
!  *             Boston,  MA  02111-1307, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
--- 17,24 ----
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             51 Franklin Street, Fifth Floor,
!  *             Boston,  MA  02110-1301, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
*************** load_data (FILE* fp)
*** 83,89 ****
    t_bool got_done = BOOL_FALSE;
  
    text_size = sizeof (z_line) * 2;
!   pz_scan = pz_text = xmalloc (text_size);
  
    for (;;)
      {
--- 83,89 ----
    t_bool got_done = BOOL_FALSE;
  
    text_size = sizeof (z_line) * 2;
!   pz_scan = pz_text = XNEWVEC (char, text_size);
  
    for (;;)
      {
*************** load_data (FILE* fp)
*** 109,115 ****
            size_t off = (size_t) (pz_scan - pz_text);
  	  
            text_size += 4096;
!           pz_text = xrealloc (pz_text, text_size);
            pz_scan = pz_text + off;
          }
      }
--- 109,115 ----
            size_t off = (size_t) (pz_scan - pz_text);
  	  
            text_size += 4096;
!           pz_text = XRESIZEVEC (char, pz_text, text_size);
            pz_scan = pz_text + off;
          }
      }
*************** load_data (FILE* fp)
*** 124,130 ****
    while ((pz_scan > pz_text) && ISSPACE (pz_scan[-1]))
      pz_scan--;
    *pz_scan = NUL;
!   return xrealloc (pz_text, strlen (pz_text) + 1);
  }
  
  
--- 124,130 ----
    while ((pz_scan > pz_text) && ISSPACE (pz_scan[-1]))
      pz_scan--;
    *pz_scan = NUL;
!   return XRESIZEVEC (char, pz_text, strlen (pz_text) + 1);
  }
  
  
*************** run_shell (const char* pz_cmd)
*** 260,266 ****
    if (server_id <= 0)
      {
        fprintf (stderr, zNoServer, pz_cmd);
!       return xcalloc (1, 1);
      }
  
    /*  Make sure the process will pay attention to us, send the
--- 260,266 ----
    if (server_id <= 0)
      {
        fprintf (stderr, zNoServer, pz_cmd);
!       return XCNEW (char);
      }
  
    /*  Make sure the process will pay attention to us, send the
*************** run_shell (const char* pz_cmd)
*** 275,281 ****
    if (server_id == NULLPROCESS)
      {
        fprintf (stderr, zNoServer, pz_cmd);
!       return xcalloc (1, 1);
      }
  
    /*  Now try to read back all the data.  If we fail due to either a
--- 275,281 ----
    if (server_id == NULLPROCESS)
      {
        fprintf (stderr, zNoServer, pz_cmd);
!       return XCNEW (char);
      }
  
    /*  Now try to read back all the data.  If we fail due to either a
*************** run_shell (const char* pz_cmd)
*** 295,301 ****
  
          fprintf (stderr, "CLOSING SHELL SERVER - command failure:\n\t%s\n",
                   pz_cmd);
!         pz = xcalloc (1, 1);
        }
  #ifdef DEBUG
      fprintf( stderr, "run_shell command success:  %s\n", pz );
--- 295,301 ----
  
          fprintf (stderr, "CLOSING SHELL SERVER - command failure:\n\t%s\n",
                   pz_cmd);
!         pz = XCNEW (char);
        }
  #ifdef DEBUG
      fprintf( stderr, "run_shell command success:  %s\n", pz );
diff -Nrcpad gcc-4.0.2/fixincludes/server.h gcc-4.1.0/fixincludes/server.h
*** gcc-4.0.2/fixincludes/server.h	Tue Aug 31 09:26:05 2004
--- gcc-4.1.0/fixincludes/server.h	Mon Aug 15 00:50:43 2005
***************
*** 17,24 ****
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             59 Temple Place - Suite 330,
!  *             Boston,  MA  02111-1307, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
--- 17,24 ----
   *  You should have received a copy of the GNU General Public License
   *  along with Server Handling.  See the file "COPYING".  If not,
   *  write to:  The Free Software Foundation, Inc.,
!  *             51 Franklin Street, Fifth Floor,
!  *             Boston,  MA  02110-1301, USA.
   *
   * As a special exception, The Free Software Foundation gives
   * permission for additional uses of the text contained in his release
diff -Nrcpad gcc-4.0.2/fixincludes/system.h gcc-4.1.0/fixincludes/system.h
*** gcc-4.0.2/fixincludes/system.h	Sun Apr 24 22:52:46 2005
--- gcc-4.1.0/fixincludes/system.h	Mon Aug 15 00:50:43 2005
*************** for more details.
*** 17,24 ****
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to the Free
! Software Foundation, 59 Temple Place - Suite 330, Boston, MA
! 02111-1307, USA.  */
  
  
  #ifndef FIXINC_SYSTEM_H
--- 17,24 ----
  
  You should have received a copy of the GNU General Public License
  along with GCC; see the file COPYING.  If not, write to the Free
! Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
! 02110-1301, USA.  */
  
  
  #ifndef FIXINC_SYSTEM_H
diff -Nrcpad gcc-4.0.2/fixincludes/tests/base/math.h gcc-4.1.0/fixincludes/tests/base/math.h
*** gcc-4.0.2/fixincludes/tests/base/math.h	Fri Aug 19 14:50:26 2005
--- gcc-4.1.0/fixincludes/tests/base/math.h	Sun Aug  7 19:14:12 2005
***************
*** 19,24 ****
--- 19,29 ----
  struct exception;
  
  
+ #if defined( AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_CHECK )
+ #include <architecture/ppc/math.h>
+ #endif  /* AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_CHECK */
+ 
+ 
  #if defined( BROKEN_CABS_CHECK )
  #ifdef __STDC__
  
diff -Nrcpad gcc-4.0.2/fixincludes/tests/base/string.h gcc-4.1.0/fixincludes/tests/base/string.h
*** gcc-4.0.2/fixincludes/tests/base/string.h	Tue Aug 31 09:26:07 2004
--- gcc-4.1.0/fixincludes/tests/base/string.h	Mon Aug 15 00:50:43 2005
***************
*** 10,13 ****
  #ifndef _STRING_INCLUDED
    #define _STRING_INCLUDED
    #include <strings.h>
! #endif /* _STRING_INCLUDED */
\ No newline at end of file
--- 10,13 ----
  #ifndef _STRING_INCLUDED
    #define _STRING_INCLUDED
    #include <strings.h>
! #endif /* _STRING_INCLUDED */
diff -Nrcpad gcc-4.0.2/gcc/.cvsignore gcc-4.1.0/gcc/.cvsignore
*** gcc-4.0.2/gcc/.cvsignore	Tue Mar 30 08:48:59 2004
--- gcc-4.1.0/gcc/.cvsignore	Thu Jan  1 00:00:00 1970
***************
*** 1,9 ****
- GPATH
- GRTAGS
- GSYMS
- GTAGS
- cscope.files
- cscope.out
- cscope.in.out
- cscope.po.out
- autom4te.cache
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/BASE-VER gcc-4.1.0/gcc/BASE-VER
*** gcc-4.0.2/gcc/BASE-VER	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/BASE-VER	Wed Mar 16 06:04:10 2005
***************
*** 0 ****
--- 1 ----
+ 4.1.0
diff -Nrcpad gcc-4.0.2/gcc/COPYING gcc-4.1.0/gcc/COPYING
*** gcc-4.0.2/gcc/COPYING	Mon Dec 18 21:47:19 2000
--- gcc-4.1.0/gcc/COPYING	Sat Jun 25 02:02:01 2005
***************
*** 2,8 ****
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
--- 2,8 ----
  		       Version 2, June 1991
  
   Copyright (C) 1989, 1991 Free Software Foundation, Inc.
!      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
*************** the "copyright" line and a pointer to wh
*** 305,311 ****
  
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
!     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  
  Also add information on how to contact you by electronic and paper mail.
--- 305,311 ----
  
      You should have received a copy of the GNU General Public License
      along with this program; if not, write to the Free Software
!     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  
  
  Also add information on how to contact you by electronic and paper mail.
diff -Nrcpad gcc-4.0.2/gcc/COPYING.LIB gcc-4.1.0/gcc/COPYING.LIB
*** gcc-4.0.2/gcc/COPYING.LIB	Mon Jan 29 13:30:55 2001
--- gcc-4.1.0/gcc/COPYING.LIB	Sat Jun 25 02:02:01 2005
***************
*** 2,8 ****
  		       Version 2.1, February 1999
  
   Copyright (C) 1991, 1999 Free Software Foundation, Inc.
!      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
--- 2,8 ----
  		       Version 2.1, February 1999
  
   Copyright (C) 1991, 1999 Free Software Foundation, Inc.
!      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
  
*************** convey the exclusion of warranty; and ea
*** 485,491 ****
  
      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
!     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
  Also add information on how to contact you by electronic and paper mail.
  
--- 485,491 ----
  
      You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
!     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  
  Also add information on how to contact you by electronic and paper mail.
  
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog gcc-4.1.0/gcc/ChangeLog
*** gcc-4.0.2/gcc/ChangeLog	Wed Sep 21 03:56:04 2005
--- gcc-4.1.0/gcc/ChangeLog	Tue Feb 28 08:28:30 2006
***************
*** 1,8327 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-09-19  Richard Henderson  <rth@redhat.com>
  
! 	PR 23941
!         * real.c (exact_real_truncate): Return false if the format cannot
!         represent the number as a normal.
  
! 2005-09-16  Fariborz Jahanian <fjahanian@apple.com>
  
! 	* config/darwin.c (indirect_data): Fix a typo.
  
! 2005-09-14  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
! 	passed as NAME as if it were label at start of function code.
  
! 2005-09-13  Alan Modra  <amodra@bigpond.net.au>
  
! 	Fix 4.1 version applied in error.
! 	* config/rs6000/rs6000.md (restore_stack_block): Don't use 
! 	gen_frame_mem.
! 	(save_stack_nonlocal, restore_stack_nonlocal): Likewise.
  
! 	PR target/23774
! 	* config/rs6000/rs6000.md (restore_stack_block): Write the backchain
! 	word before changing the stack pointer.	 Use gen_frame_mem for MEMs.
! 	Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
! 	(restore_stack_nonlocal): Likewise.
! 	(save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
  
! 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
! 	CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
! 	are omitted.  Exclude stack_tie insn too.
  
! 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree.c (contains_placeholder_p) <tcc_expression>: Properly
! 	handle CALL_EXPR again.
  
! 2005-09-10  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/23806
! 	* dbxout.c (dbxout_expand_expr): New.
! 	(dbxout_symbol): Use it.
  
! 2005-09-09  Josh Conner  <jconner@apple.com>
  
! 	PR c++/21135
! 	* expr.c (expand_expr_addr_expr_1): Don't invoke
! 	expand_simple_binop for EXPAND_INITIALIZER.
  
! 2005-09-09  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/20998
! 	* dbxout.c: Include expr.h.
! 	(dbxout_global_decl): Don't suppress for DECL_RTL unset.
! 	(dbxout_symbol): Handle DECL_VALUE_EXPR.
! 	* Makefile.in (dbxout.o): Add EXPR_H.
  
! 2005-09-09  Richard Guenther  <rguenther@suse.de>
  
! 	PR c++/23624
! 	* fold-const.c (fold): Check truth_value_p before calling
! 	invert_truthvalue.
  
! 2005-09-08  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/23190
! 	* toplev.c (wrapup_global_declaration_1): Split out ...
! 	(wrapup_global_declaration_2): ... from ...
! 	(wrapup_global_declarations): ... here.  Return bool.
! 	(check_global_declaration_1): Split out ...
! 	(check_global_declarations): from here.
! 	(emit_debug_global_declarations): New.
! 	* toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
! 	check_global_declaration_1, emit_debug_global_declarations): Declare.
! 	* c-decl.c (c_write_global_declarations_1): Don't create a vector
! 	of decls.  Call wrapup_global_declaration_1,
! 	wrapup_global_declaration_2, check_global_declaration_1 directly.
! 	(c_write_global_declarations_2): New.
! 	(ext_block): New.
! 	(c_write_global_declarations): Call c_write_global_declarations_2.
! 	* langhooks.c (write_global_declarations): Call
! 	emit_debug_global_declarations.
  
! 2005-09-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
  
! 	Backport from mainline
! 	2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
  
! 	* c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
! 	do not issue warning for a variable definition following
! 	a declaration.
  	
! 2005-09-08  Richard Guenther  <rguenther@suse.de>
! 	    Zdenek Dvorak  <rakdver@gcc.gnu.org>
  
! 	PR tree-optimization/22348
! 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Fold
! 	MINUS_EXPR.
  
! 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	PR target/23747
! 	* config/m32r.md (movmemsi_internal): Canonicalize order of
! 	operands in PLUS component of template.
  
! 2005-09-07  Jakub Jelinek  <jakub@redhat.com>
  
  	Backport from mainline
- 	2005-06-08  Richard Henderson  <rth@redhat.com>
- 	* config/ia64/ia64.h (NO_PROFILE_COUNTERS): New.
- 	* config/ia64/ia64.c (ia64_output_function_profiler): Honor it.
- 	Emit out3 load right after alloc.
- 	2005-06-08  Richard Henderson  <rth@redhat.com>
- 	* config/ia64/ia64.h (FUNCTION_PROFILER): Move implementation ...
- 	* config/ia64/ia64.c (ia64_output_function_profiler): ... here; add
- 	unwind markup.
- 	* config/ia64/ia64-protos.h (ia64_output_function_profiler): Declare.
  
! 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/23075
! 	* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
! 	if "return with no value, in function returning non-void" warning
! 	has been issued.
!   	* tree-cfg.c (execute_warn_function_return): Don't look at
! 	RETURN_EXPRs with TREE_NO_WARNING set.
  
! 	PR target/22362
! 	* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
! 	for internal functions doesn't use registers used by global registers
! 	variables.  Use fewer register parameters if there are global register
  	variables.
  
! 	PR rtl-optimization/23098
! 	* cse.c (fold_rtx): Call delegitimize_address target hook.
! 	* simplify-rtx.c (constant_pool_reference_p): New function.
! 	* rtl.h (constant_pool_reference_p): New prototype.
! 	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
! 	constant_pool_reference_p in condition and
! 	avoid_constant_pool_reference in preparation statements.
  
! 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR middle-end/21460
! 	* except.c (sjlj_emit_function_enter): Find the function begin
! 	note even when it's not in first basic block.
  
! 2005-09-05  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR c/23161
! 	PR c/23165
! 	* c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
! 	if the if is really empty.
  
! 2005-09-05  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR c++/23225
! 	* tree.c (build_pointer_type_for_mode): Robustify.
  
! 2005-09-03  Richard Guenther  <rguenther@suse.de>
! 	    Andrew Pinski  <pinskia@gcc.gnu.org>
! 	    Serge Belyshev  <belyshev@depni.sinp.msu.ru>
  
! 	PR tree-optimization/23326
! 	* tree-ssa-forwprop.c (substitute_single_use_vars): Only
! 	do transformation if valid.
  
! 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23454
! 	* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
! 	is true.
  
! 2005-09-02  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR c++/23167
! 	* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
! 	generating synthetic loads from volatile lvalues.
  
! 2005-09-02  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/15366
! 	* common.opt: Add -finline-functions-called-once.
! 	* doc/invoke.texi: Document new option.
! 	* cgraphunit.c (cgraph_decide_inlining): Honour
! 	flag_inline_functions_called_once.
  
! 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/23506
! 	* c-common.c (c_common_nodes_and_builtins): Increase builtin_types
! 	array by one element, initialize the BT_LAST element with NULL.
  
! 	PR debug/7241
! 	* dwarf2out.c (base_type_die): Compare char_type_node with
! 	TYPE_MAIN_VARIANT (type), not type.
  
! 	PR rtl-optimization/23478
! 	* regs.h (reg_info): Add throw_calls_crossed.
! 	(REG_N_THROWING_CALLS_CROSSED): Define.
! 	* flow.c (allocate_reg_life_data): Initialize
! 	REG_N_THROWING_CALLS_CROSSED.
! 	(propagate_one_insn, attempt_auto_inc): Update
! 	REG_N_THROWING_CALLS_CROSSED.
! 	* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
! 	(alloc_qty): Initialize it.
! 	(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
! 	(combine_regs): Combine also n_throwing_calls_crossed fields.
! 	(find_free_reg): Don't attempt to caller-save pseudos crossing
! 	calls that might throw.
! 	* global.c (struct allocno): Add throwing_calls_crossed field.
! 	(global_alloc): Initialize throwing_calls_crossed.
! 	(find_reg): Don't attempt to caller-save pseudos crossing calls that
! 	might throw.
  
! 2005-08-31  Richard Henderson  <rth@redhat.com>
  
! 	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
! 	into a pseudo before applying gen_lowpart.
  
! 2005-08-30  Richard Henderson  <rth@redhat.com>
  
! 	PR target/23630
! 	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
! 	whenever the mode sizes match.
  
! 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR rtl-optimization/15248
! 	* reload1.c (reload): Ignore equivalences between pseudos and
! 	read only memory.
  
! 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR bootstrap/21268
! 	* Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
! 	beginning.  Remove $(INCLUDES) from all the rules, if following
! 	$(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
  
! 2005-08-28  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
  
! 	PR libgcj/23508
! 	* pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
! 	state for return address column of signal frames.
  
! 2005-08-28  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR ada/23593
! 	* builtins.c (get_memory_rtx): Don't strip nops
! 	in between COMPONENT_REFs.
  
! 2005-08-27  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/23539
! 	* config/rs6000/rs6000.c (expand_block_clear): Use HImode when
! 	bytes >= 2 not bytes == 2.
! 	(expand_block_move): Same.
  
! 2005-08-27  Ian Lance Taylor  <ian@airs.com>
  
! 	* combine.c (make_extraction): Avoid reference outside object.
  
! 2005-08-27  Richard Guenther  <rguenther@suse.de>
  
! 	PR target/23575
! 	* config/i386/sse.md (sse2_movsd): Add missing closing
! 	braces.
  
! 2005-08-27  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23561
! 	* builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
! 	a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
! 	at most LEN bytes long memory fits into the field.
! 	(expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
! 	expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
! 	expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
  
! 2005-08-26  Nick Clifton  <nickc@redhat.com>
  
! 	* config/v850/v850.c (ep_memory_operand): Return FALSE if
! 	TARGET_EP is not defined.
! 	* config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
! 	TARGET_EP is enabled.
! 	(OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
! 	* config/v850/v850.md (save_all_interrupt): Only use the EP
! 	register if TARGET_EP is defined.
! 	(restore_all_interrupt): Likewise.
! 	* config/v850/lib1funcs.asm: Update functions so that the EP
! 	register is only used if __EP__ is defined.
  
! 2005-08-25  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/23560
! 	* loop.c (biased_biv_may_wrap_p): New.
! 	(maybe_eliminate_biv_1): Use it to suppress non-equality
! 	comparison transformations.  Delete disabled code.
  
! 2005-08-25  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm.c (arm_const_double_inline_cost): Handle any constant by
! 	using gen_lowpart and gen_highpart_mode.
! 	(note_invalid_constants): All constants in an RTX with a constraint
! 	that permits memory are now pushed to the constant pool.
! 	(output_move_double): Delete code to handle reg to reg and
! 	constant to reg moves.
! 	(const_double_needs_minipool, output_mov_immediate): Delete.
! 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
! 	CONST_INT and CONST_VECTOR.
! 	* arm.md (ANY64): New mode macro.
! 	(arm_movdi): Split reg-reg and const-reg moves.  Simplify constraints.
! 	(movdf_soft_insn): Split reg-reg and const-reg moves.
! 	(split patterns for 64-bit constant and register moves): New.
! 	* cirrus.md (cirrus_arm_movdi): Split reg-reg and const-reg moves.
! 	(cirrus_movdf_hard_insn): Likewise.
! 	* fpa.md (movdf_fpa): Likewise.
! 	* iwmmxt.md (iwmmxt_arm_movdi): Likewise.
! 	(movv8qi_internal, movv4hi_internal, movv2si_internal): Fix
! 	constraints.
! 	(movv2si_internal_2): Likewise.
! 	* vfp.md (arm_movdi_vfp): Split reg-reg and const-reg moves.
! 	(movdf_vfp): Likewise.
! 	* arm-protos.h (output_mov_immediate): Delete prototype.
  
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
  	
! 	PR tree-optimization/23546
! 	* tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
! 	and REAL_CST nodes.
  
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* config/darwin.c (gen_pic_offset): New.
! 	(machopic_indirect_data_reference,  machopic_legitimize_pic_address):
! 	Use it.
  
! 2005-08-24  Alan Modra  <amodra@bigpond.net.au>
  
! 	* configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
! 	* configure: Regenerate.
  
! 2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/20799
! 	* config/darwin.c (machopic_select_section): Remove the hack to
! 	mark "::operator new" and "::operator delete" for coalescing
! 	even though they are not weak.
  
! 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR middle-end/23517
! 	* fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
! 	between vectors.
! 	* convert.c (convert_to_integer, convert_to_vector): Likewise.
  
! 2005-08-23  Jakub Jelinek  <jakub@redhat.com>
  
! 	* tree-pass.h (TDF_GRAPH): Define.
! 	* tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
! 	* passes.c (close_dump_file): Set TDF_GRAPH bit.
! 	(finish_optimization_passes): Only call finish_graph_dump_file
! 	if TDF_GRAPH is set.
! 	* tree-optimize.c (execute_one_pass): Don't call
! 	clean_graph_dump_file here.
  
! 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/21571
! 	* config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
! 	from legitimate_small_data_p, and make global.  Update use.
! 	Remove forward declaration.
! 	* config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
! 	Declare.
! 	* config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
  
! 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/23070
! 	* config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
! 	stdarg functions, set/clear the fp marker even when no variable
! 	args are passed.
! 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Describe
! 	-mprototype and -mno-prototype.
  
! 2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR c/18715
! 	* c-common.c (c_do_switch_warnings): Look for a node where the enum's
! 	value is inbetween the range if we did not find an exact match.
  
! 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
  
! 	* simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
! 	up to elem_bitsize bits, not max_bitsize.
  
! 2005-08-20  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/20624
! 	* gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR
! 	by looking past it.
  
! 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
  
! 	* doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
  
! 2005-08-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
! 	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard with
! 	HAVE_GAS_MAX_SKIP_P2ALIGN.
! 	(HAVE_AS_DWARF2_DEBUG_LINE): Remove.
  
! 2005-08-18  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR c/21562
! 	* cfgexpand.c (construct_init_block): Deal properly with the case
! 	of entry edge not pointing to very first basic block.
  
! 	* loop-iv.c (iv_number_of_iterations): Match the patch that was
! 	applied to mainline for the previous checkin.
  
! 2005-08-17  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR rtl-optimization/21254
! 	* loop-iv.c (iv_number_of_iterations): Simplify infiniteness
! 	assumptions for loops that otherwise do not roll.
! 	(find_simple_exit): Prefer # of iterations that is guaranteed
! 	not to be infinite.
! 	* loop-unroll.c (decide_peel_once_rolling,
! 	decide_peel_completely): Check whether the loop is infinite.
  
! 2005-08-16  Ian Lance Taylor  <ian@airs.com>
  
! 	PR c++/23337
! 	* gimplify.c (gimplify_init_ctor_eval): If we see an element of
! 	vector type, don't try to construct it element by element.  Add an
! 	assertion that we use a FIELD_DECL when building a COMPONENT_REF.
  
! 2005-07-20  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR target/21841
! 	* doc/invoke.texi (-mgnu-ld): Update description.
! 	(-mhp-ld): Ditto.
  
! 2005-08-16  James E Wilson  <wilson@specifix.com>
  
! 	PR tree-optimization/21105
! 	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
! 	TREE_OVERFLOW check.
  
! 2005-08-16  Jakub Jelinek  <jakub@redhat.com>
  
- 	PR rtl-optimization/23299
  	Backport from mainline
! 	2005-03-16 Dale Johannesen  <dalej@apple.com>
! 	* rtlanal.c (find_first_parameter_load):  Rewrite to
! 	return actual first param load or the call if none,
! 	instead of first in block, when not all loads exist.
  
! 2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/23369
! 	* fold-const.c (build_range_check): Disable optimization for function
! 	pointer expressions on targets that require function pointer
! 	canonicalization.
  
! 2005-08-15  Ian Lance Taylor  <ian@airs.com>
  
! 	* tree.c (build_string): Mark tree CONSTANT and INVARIANT.
  
! 2005-08-14  Andreas Schwab  <schwab@suse.de>
  
! 	* doc/md.texi (Machine Constraints): Fix misplaced @end table.
  
! 2005-08-12  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23250
! 	* arm.c (arm_override_options): Use ARM_FLAG_INTERWORK, not
! 	MASK_INTERWORK.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.md ("*movdf_31"): Fix copy-and-paste bug in
! 	previous change.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (s390_extract_part, s390_single_part):
! 	Type cast added.
! 	(s390_const_ok_for_constraint_p): Added SImode to the N constraint.
! 	(s390_output_mi_thunk): Don't use lg on 31 bit.
! 	* config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
! 	("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
  
! 2005-08-11  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/23312
! 	* gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
! 	before using TYPE_IS_SIZETYPE.
  
! 2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23250
! 	* arm.c (arm_override_options): If the user has selected callee-super-
! 	interworking, then enable normal interworking.
  
! 2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	PR 23309
! 	* config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
! 	deciding which instruction sequence to use.
  
! 2005-08-09  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	Mostly from Jie Zhang (jie.zhang@analog.com)
! 	* config.gcc: Add bfin-uclinux.
! 	* config/bfin/uclinux.h: New file.
! 	* config/bfin/bfin-modes.def: Update FSF address.
! 	* config/bfin/bfin-protos.h: Likewise.
! 	* config/bfin/bfin.md: Likewise.
! 	* config/bfin/bfin.opt: Likewise.
! 	* config/bfin/crti.s: Likewise.
! 	* config/bfin/crtn.s: Likewise.
! 	* config/bfin/lib1funcs.asm: Likewise.
! 	* config/bfin/predicates.md: Likewise.
! 	* config/bfin/bfin.c: Likewise.
! 	(bfin_return_in_memory): Update to match Visual DSP compiler.
! 	* config/bfin/bfin.h: Update FSF address.
! 	(ASM_OUTPUT_ALIGN): Write alignment in bytes, not log thereof.
! 	* config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
  
! 2005-08-08  Richard Henderson  <rth@redhat.com>
  
! 	PR 22439
! 	* gimplify.c (gimplify_one_sizepos): Preserve the original type.
  
! 2005-08-08  Josh Conner  <jconner@apple.com>
  
! 	PR rtl-optimization/23241
! 	* combine.c (simplify_comparison): Fix error in determining
! 	whether to lift a subreg from comparison.
  
! 2005-08-08  Richard Henderson  <rth@redhat.com>
  
! 	PR 21894
! 	* tree-nested.c (convert_local_reference): Save and restore val_only
! 	around component_ref and friends.  Clear walk_subtrees by default.
  
! 2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
  
! 2005-08-05  Richard Henderson  <rth@redhat.com>
  
! 	PR 21728
! 	* tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
! 	FORCED_LABEL labels.
  
! 2005-08-04  Richard Henderson  <rth@redhat.com>
  
! 	PR 21529
! 	* params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
! 	* params.h (SRA_MAX_STRUCTURE_COUNT): New.
! 	* tree-sra.c (decide_block_copy): Use it.  Disable element copy
! 	if we'd have to instantiate too many members.
  
! 2005-08-04  Richard Henderson  <rth@redhat.com>
  
! 	PR 21291
! 	* tree-outof-ssa.c (coalesce_asm_operands): New.
! 	(coalesce_ssa_name): Use it.  Split out ...
! 	(coalesce_phi_operands, coalesce_result_decls): ... these.
  
! 2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Binaries): Remove broken link to
! 	Sinix/Reliant Unix binaries.
  
! 2005-08-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (function_value): Handle small aggregates on 32-bit targets.
! 	(function_arg): Pass small aggregates in general registers on 32-bit
! 	targets.
! 	* som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
  
! 2005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	PR tree-optimization/19899
! 	* Makefile.in (tree-scalar-evolution.o): Add real.h.
! 	* tree-scalar-evolution.c: Include real.h.
! 	(add_to_evolution): Build constant -1 of correct type.
  
! 2005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Adjust link to openavr.org.
! 	(Specific): Remove broken reference to GCC 2.8.1 for OS/2.
! 	(Binaries): Adjust HP-UX Porting Center link.
! 	(Binaries): Adjust Free Software Foundation ordering link.
  
! 2005-08-02  Richard Guenther  <rguenther@suse.de>
  
! 	* fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
! 	positive if its first argument is positive.
  
! 2005-08-02  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23192
! 	* tree-ssa-alias.c (add_pointed_to_var): If VALUE is of the
! 	form &(*PTR), take points-to information from PTR.
! 	Give up by marking PTR as pointing anywhere if VALUE is
! 	not recognized.
  
! 2005-08-01  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/host-linux.c (linux_gt_pch_get_address): Add new name
! 	randomize_va_space for virtual address randomization control.
  
! 2005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22311
! 	* c-typeck.c (build_binary_op): Use common_type wrapper on
! 	shortened types.
! 	(common_type): Update comment.
  
! 2005-07-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/21723
! 	* pa.md: Remove fcpy alternative from movhi and movqi patterns.
! 	* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
! 	for complex modes when generating code for PA 1.0.
! 	(VALID_FP_MODE_P): New macro.
! 	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
! 	sets for all general and floating point modes.  Align wide floating
! 	point modes to even register boundaries to comply with architectural
! 	requirements.
! 	(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
! 	* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
! 	(VALID_FP_MODE_P): New macro.
! 	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
! 	sets for all general and floating point modes.  Align wide floating
! 	point modes to even register boundaries to comply with architectural
! 	requirements.
  
! 2005-07-29  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/22619
! 	* cfgcleanup.c (try_forward_edges): Watch out for end of
! 	insn chain.
  
! 2005-07-28  James E Wilson  <wilson@specifixinc.com>
  
! 	PR c/23106
! 	* doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
  
! 2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
!  
!  	* doc/install.texi (Configuration): Update Valgrind homepage.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/21362
! 	* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
! 	labels we want to delete.
! 	(cfg_layout_merge_blocks): Likewise.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR target/17692
! 	* config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
! 	when expanding to nothing.
  
! 2005-07-28  Steven Bosscher  <stevenb@suse.de>
  
! 	PR debug/20161
! 	* passes.c (rest_of_decl_compilation): If decl is a type and
! 	we have encountered errors, don't emit debug information.
  
! 2005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
  
! 	PR target/19885
! 	* config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
! 	(TARGET_ASM_UNALIGNED_HI_OP): Add.
! 	(TARGET_ASM_UNALIGNED_SI_OP): Add.
  
! 2005-07-26  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 22591
! 	* tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
! 	whether a pointer of type T * may point to objects of type T *.
  
! 2005-07-26  Bernardo Innocenti  <bernie@develer.com>
  
! 	Backport from mainline:
! 	2005-07-12  Peter Barada  <peter@the-baradas.com>
! 	PR middle-end/16719
! 	PR middle-end/18421
! 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
! 	in address registers.
! 	* config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
! 	* config/m68k/m68k.md: Replace 's' with 'i' in 4th
! 	alternative of addsi3_5200.
  
! 2005-07-25  Manfred Hollstein  <mh@suse.com>
  
! 	* calls.c (store_one_arg): Fix unsigned comparison warning.
  
! 2005-07-25  Jakub Jelinek  <jakub@redhat.com>
  
! 	* calls.c (store_one_arg): Check for sibling call MEM arguments
! 	from already clobbered incoming argument area.
  
! 2005-07-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	* dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
! 	variables as declarations, rather than definitions.
  
! 2005-07-22  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR debug/21828
! 	* toplev.c (check_global_declarations): Do not mark undefined
! 	variables as DECL_IGNORED_P.
! 	* varasm.c (first_global_object_name): GTY it.
! 	(weak_global_object_name): Likewise.
! 	(notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
! 	a string to go into {weak,first}_global_object_name.
  
! 2005-07-21  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/21149
! 	* config/i386/i386.md (sse_movhlps): Fix vec_select values.
  
! 2005-07-21  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/22576
! 	* config/i386/i386.md (cmpxf): Change operand constraints
! 	to "nonmemory_operand".
  
! 2005-07-21  Richard Sandiford  <richard@codesourcery.com>
  
! 	PR rtl-optimization/22167
! 	* gcse.c (hoist_code): Fix hoist_exprs[] check.
  
! 2005-07-20  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
! 	and *-*-freebsd9.
! 	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
  	
! 2005-07-20  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.c: Include "langhooks.h".
! 	(def_builtin): Go through lang_hooks to call builtin_function.
  
! 	* config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
! 	* config/bfin/predicates.md (symbol_ref_operand): New.
! 	(call_insn_operand): Delete.  All callers changed to use
! 	register_no_elim_operand.
! 	* config/bfin/bfin.c (init_cumulative_args): Initialize the new
! 	call_cookie field.
! 	(function_arg): Use it to generate the call's operand 2.
! 	(bfin_longcall_p): New function.
! 	(bfin_expand_call): Extra arg "cookie".  All callers and declaration
! 	changed.  Emit extra USE in the pattern.  Use bfin_longcall_p to
! 	determine if the address needs to be in a REG.
! 	(bfin_handle_longcall_attribute): New function.
! 	(bfin_attribute_table): Add "longcall" and "shortcall".
! 	* config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
! 	(TARGET_LONG_CALLS, MASK_LONG_CALLS): New macros.
! 	(TARGET_OPTIONS): Add -mlong-calls, -mno-long-calls.
! 	(CUMULATIVE_ARGS): New member call_cookie.
! 	(PREDICATE_CODES): Add symbol_ref_operand.
! 	* config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
! 	extra USE to the pattern.
! 	(call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
! 	New patterns, split off call_insn, sibcall_insn, call_value_insn and
! 	sibcall_value_insn; now the new patterns handle direct calls and the
! 	old ones indirect calls.
! 	* doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
! 	* doc/invoke.texi (Blackfin Options): Add -mlong-call, -mno-long-call.
  
! 2005-07-19  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/22278
! 	* gimplify.c (gimplify_expr): Use main variant type for the temp
! 	destination for a discarded volatile read.
! 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
! 	casts between non-void types that change volatility.
  
! 2005-07-19  Steve Ellcey  <sje@cup.hp.com>
  
! 	Backport from mainline.
! 	PR target/21721
! 	* config/ia64/ia64.c (emit_predicate_relation_info): Skip p0.
  
! 2005-07-18  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/22057
! 	* tree-cfg.c (cleanup_tree_cfg): Only remove forwarder blocks when
! 	optimizing.
  
! 2005-07-16  Eric Botcazou <ebotcazou@libertysurf.fr>
  
! 	* doc/install.texi (*-*-solaris2*): Document recommended version
! 	of GNU binutils and mention GNU linker problem on Solaris 10.
  
! 2005-07-16  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22421
! 	* c-decl.c (c_build_bitfield_integer_type): New function.
! 	(finish_struct): Call it.
! 	* c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
  
! 2005-07-13  Jeff Law  <law@redhat.com>
  
! 	* fold-const.c (fold): When comparing two simple ADDR_EXPR
! 	expressions, test their _DECL operands for pointer equality rather
! 	than using operand_equal_p.
  
! 2005-06-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	PR middle-end/20593
! 	* varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
! 	the same as the other cast operands.
! 	(output_addressed_constants): Likewise.
  
! 2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22105
! 	* tree-ssa-loop-im.c (for_each_index): Handle COMPLEX_CST.
  
! 2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR bootstrap/21704
! 	* host-linux.h: Include limits.h.
  
! 2005-07-12  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.md (define_attr "type"): Add "sync".
! 	(define_insn_reservation "alu"): Likewise.
! 	(csync, ssync): Now of type sync.
! 	* config/bfin/bfin.h (MASK_CSYNC, TARGET_CSYNC): Removed.
! 	(MASK_CSYNC_ANOMALY, MASK_SPECLD_ANOMALY, TARGET_CSYNC_ANOMALY,
! 	TARGET_SPECLD_ANOMALY): New.
! 	* config/bfin/bfin.c: Include "insn-codes.h".
! 	(bfin_reorg): Extend to handle the CSYNC anomaly as well.
! 	* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
  
! 	* config/bfin/bfin.md (UNSPEC_VOLATILE_CSYNC, UNSPEC_VOLATILE_SSYNC):
! 	New constants.
! 	(csync, ssync): New insn patterns.
! 	* config/bfin/bfin.c (bfin_init_builtins, bfin_expand_builtin):
! 	New functions.
! 	(enum bfin_builtins): New.
! 	(def_builtin): New macro.
! 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
! 	* doc/extend.texi (Blackfin Built-in Functions): New section.
  
! 2005-07-11  Aldy Hernandez  <aldyh@redhat.com>
  
! 	Backport from mainline:
! 	2005-06-15  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* c-common.h (same_scalar_type_ignoring_signedness): Protoize.
  
! 	* c-common.c (same_scalar_type_ignoring_signedness): New.
  
! 	* c-typeck.c (build_binary_op): Check compatability of vector
! 	types.  Move error report after switch.
! 	Do not clobber code[01] on *_DIV_EXPR case.
  
! 	* testsuite/gcc.dg/simd-1.c: Update error messages.
! 	* testsuite/gcc.dg/simd-1b.c: Re-enable tests.  Update error
! 	messages.
! 	* testsuite/gcc.dg/simd-2.c: Update error messages.
! 	* testsuite/gcc.dg/simd-4.c: New.
  
! 2005-07-09  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
! 	in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
  
! 	Backport from the mainline:
! 	2005-06-26  Jakub Jelinek  <jakub@redhat.com>
! 	PR middle-end/22028
! 	* gimplify.c (gimplify_type_sizes): Check for type == error_mark_node
! 	earlier in the function.
  
! 	2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 	PR debug/21946
! 	* dwarf2out.c (add_loc_descr_op_piece): Move to the
! 	DWARF2_DEBUGGING_INFO section.
  
! 	2005-06-07  Jakub Jelinek  <jakub@redhat.com>
! 	PR debug/21946
! 	* dwarf2out.c (add_loc_descr_op_piece): New function.
! 	(multiple_reg_loc_descriptor, concat_loc_descriptor,
! 	loc_descriptor): Use it.
! 	* var-tracking.c: Include regs.h and expr.h.
! 	(emit_note_insn_var_location): Skip over pieces where offset
! 	is smaller than previous offset plus previous piece mode size.
! 	Optimize adjacent hard registers or memory locations.
! 	* Makefile.in (var-tracking.o): Depend on $(REGS_H) and $(EXPR_H).
  
! 	2005-06-06  Jakub Jelinek  <jakub@redhat.com>
! 	* tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
! 	build2.
  
! 2005-07-08 Geoffrey Keating  <geoffk@apple.com>
  
! 	* tree-inline.c (expand_call_inline): Prevent 'may reach end'
! 	warning in system headers.
  
! 2005-07-08  Aldy Hernandez  <aldyh@redhat.com>
  
! 	Backport from mainline:
  
! 	2005-06-09  Aldy Hernandez  <aldyh@redhat.com>
! 	PR 17961
! 	* config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Remove.
! 	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Remove vector check.
! 	* testsuite/gcc.dg/simd-3.c: New.
  
! 2005-07-08  David Edelsohn  <edelsohn@gnu.org>
  
! 	Backport from mainline:
! 	2005-06-18  Roger Sayle  <roger@eyesopen.com>
! 	PR target/22083
! 	* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
  
! 2005-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Do not specify the concrete
! 	versions of GCC provided by Cygwin.  Simplify the part on
! 	building on Cygwin.
  
! 2005-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR c/21911
! 	* c-common.c (check_function_sentinel): Pass in named argument
! 	list, skip over named arguments before looking for a sentinel.
! 	(check_function_arguments): Pass in named argument list.
! 	* c-common.h (check_function_arguments): Likewise.
! 	* c-typeck.c (build_function_call): Likewise.
  
! 2005-07-08  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22308
! 	* c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
! 	C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
  
! 2005-07-08  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22013
! 	PR c/22098
! 	* langhooks.h (struct lang_hooks): Add expr_to_decl.
! 	* langhooks.c (lhd_expr_to_decl): New.
! 	* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
! 	New.
! 	(LANG_HOOKS_INITIALIZER): Update.
! 	* tree.c (recompute_tree_invarant_for_addr_expr): Call
! 	expr_to_decl langhook.
! 	* c-tree.h (c_expr_to_decl): Declare.
! 	* c-typeck.c (c_expr_to_decl): New.
! 	(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
! 	specially.
! 	* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
  
! 2005-07-07  Mark Mitchell  <mark@codesourcery.com>
  
! 	* version.c (version_string): Set to 4.0.2, in prerelease format.
! 	* doc/include/gcc-common.texi (version): Set to 4.0.2.
  	
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-07-01  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
! 	a eliminate type conversion which feeds an equality comparison
! 	if the original type or either operand in the comparison is a
! 	function pointer.
  
! 2005-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/22260
! 	* config/sparc/sparc.c (emit_and_preserve): Add 2nd register.
! 	Preserve the 2nd register too, if present.
! 	(sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too.
! 	Adjust call to emit_and_preserve.
  
! 2005-06-24  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR 22171
! 	* tree-ssa-operands (get_expr_operands): Check s_ann for NULL
! 	before use.
  
! 2005-06-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2005-06-13  Zdenek Dvorak  <dvorakz@suse.cz>
! 	PR middle-end/21985
! 	* fold-const.c (split_address_to_core_and_offset): Always return
! 	the address of the base object.
  
! 	PR 22000
! 	* tree-ssa-operands.c (get_expr_operands): Check the volatility of
! 	the FIELD_DECL and set s_ann->has_volatile_ops accordingly.
  
! 2005-06-20  Jan Beulich  <jbeulich@novell.com>
  
! 	* config/i386/netware-libgcc.def: Update copyright.
! 	* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
! 	__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
! 	* config/i386/netware.c (gen_stdcall_decoration,
! 	gen_fastcall_decoration): Merge into ...
! 	(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
! 	WinNT's changes.
! 	(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
! 	(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
! 	* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
! 	libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
! 	* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
! 	use of NX_MUTEX_RECURSIVE.
  
! 2005-06-17  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/21850
! 	* tree.c (get_unwidened): Stop at NOP_EXPR/CONVERT_EXPR that convert
! 	from vector types.
  
! 2005-06-14  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/22043
! 	* gimplify.c (gimplify_init_constructor): If num_type_elements < 0
! 	for a constant-sized object, set cleared as well.
  
! 2005-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/20301
! 	* config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
! 	unsigned index numbers.
  
! 2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/21171
! 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
! 	record address uses if the reference is volatile.
  
! 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/21889
! 	* config/sparc/sol2.h (ASM_OUTPUT_DWARF_DTPREL): Undefine.
! 	* config/sparc/sol2-gas.h (ASM_OUTPUT_DWARF_DTPREL): Redefine.
  
! 2005-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/19768
! 	* tree-ssa-dse.c: Revert accidental committed patch.
  
! 2005-06-07  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/21528
! 	* rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.
  
! 2005-06-07  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/21847
! 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With
! 	-fnon-call-exceptions, also mark statements inherently
! 	necessary if they may throw.
  
! 2005-06-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	* intl.h (G_): New macro.
! 	* rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
! 	instead of msgid for argument name.
! 	* tree-ssa.c (warn_uninit): Likewise.
! 	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
! 	* config/darwin-c.c (BAD): Likewise.
! 	* config/c4x/c4x-c.c (BAD): Likewise.
! 	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
! 	* c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
! 	* c-common.c (c_parse_error): Likewise.
! 	* diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
! 	pedwarn, error, sorry, fatal_error, internal_error): Likewise.
! 	(fnotice): Use cmsgid instead of msgid for argument name.
! 	* gcov.c (fnotice): Likewise.
! 	* protoize.c (notice): Likewise.
! 	* final.c (output_operand_lossage): Likewise.
! 	* gcc.c (fatal, notice): Likewise.
! 	(error): Use gmsgid instead of msgid for argument name.
! 	* collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
! 	of msgid for argument name.
! 	(error): Use gmsgid instead of msgid for argument name.
! 	* c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
! 	instead of N_().
! 	* c-typeck.c (readonly_error, convert_for_assignment): Likewise.
! 	* tree-inline.c (inline_forbidden_p_1): Likewise.
! 	* ABOUT-GCC-NLS: Require gettext 0.14.5 or later.  Mention the new
! 	conventions for marking translations.
! 	* doc/install.texi: Mention gettext 0.14.5 or later requirement.
  
! 2005-06-06  Sebastian Pop <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/20742
! 	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
! 	default value 20.
! 	* tree-chrec.c: Depend on params.h.  Replace build with buildN,
! 	and fold build with fold_buildN.
! 	(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
! 	the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
! 	(tree_contains_chrecs): Compute an estimation of the size of the
! 	given expression.
! 	* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
! 	(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
! 	* tree-scalar-evolution.c (simple_iv): Ditto.
! 	* doc/invoke.texi (scev-max-expr-size): Documented.
  
! 2005-06-04  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21888
! 	* config/alpha/alpha.c (alpha_align_insns): Don't insert nops
! 	until we've passed initial ldgp.
  
! 2005-06-04  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
  
! 2005-06-04  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21873
! 	* c-typeck.c (push_init_level): Don't pop levels without braces if
! 	implicit == 1.
  
! 2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21879
! 	* c-decl.c (start_function): Restore label_context_stack_se and
! 	label_context_stack_vm  if returning with an error.
  
! 2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree.c (build_common_builtin_nodes): Fix the return type on
! 	__builtin_memcmp.
  
! 2005-06-01  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/21536
! 	PR c/20760
! 	* gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes
! 	on variable sizes types if a decl is a pointer to a VLA.
! 	(gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE.
! 	Call gimplify_type_sizes on aggregate fields.  Prevent infinite
! 	recursion.
  
! 	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
! 	_mm_set_ps, _mm_setr_ps): Add __extension__.
! 	* config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd,
! 	_mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x,
! 	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128):
! 	Likewise.
! 	(_mm_clflush): Don't use return in void function.
  
! 	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128,
! 	_mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd):
! 	Use __inline instead of inline.
  
! 2005-06-01  Richard Henderson  <rth@redhat.com>
  
! 	* configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.
! 	* config.in, configure: Rebuild.
! 	* config/alpha/alpha.c (print_operand): Add 'j'.
! 	* alpha.md (divmodsi_internal_er_1): Use it.
! 	(divmoddi_internal_er_1): Likewise.
  
! 2005-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/21817
! 	* tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
  
! 2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/20931
! 	PR middle-end/20946
! 	* fold-const.c (fold_checksum_tree): Copy types also if
! 	TYPE_CONTAINS_PLACEHOLDER_INTERNAL is set.
! 	Don't call fold_checksum_tree for TREE_LIST's TREE_CHAIN
! 	first.
! 	Tail recurse TREE_LIST's TREE_CHAIN.
  
! 2005-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/install.texi (sparc-sun-solaris2*): Update note
! 	about Sun bug 4910101.
! 	(sparc-sun-solaris2.7): Document bootstrap
! 	failure with Sun WorkShop 6 99/08/18 as.
  
! 2005-05-27  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	PR middle-end/21595
! 	* builtins.c (fold_builtin_constant_p): Handle
! 	&"string cst"[0] as constant.
  
! 2005-05-26  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	Backport from mainline:
! 	2005-05-26  Ian Lance Taylor  <ian@airs.com>
! 	* reload1.c (verify_initial_elim_offsets): Add braces to avoid
! 	having a declaration after a statement.
  
! 2005-05-26  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/21716
! 	* reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
! 	found in the basic block and last insn in the basic block is not
! 	INSN_P.  Remove explicit unspec numbers that are no longer valid
! 	from comments.
  
! 2005-05-26  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/rs6000/t-rtems: Remove roe multilib variant.
  
! 2005-05-25  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/21492
! 	* cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
! 	src2 if src2 has been split.
  
! 2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* reload1.c (verify_initial_elim_offsets): Return boolean status
! 	instead of aborting.
! 	(reload): Adapt verify_initial_elim_offsets call site.  Restart
! 	main loop if some initial elimination offsets changed.
  
! 2005-05-24  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	* config/m32r/m32r.c (m32r_expand_block_move):  Return 0 if
! 	nothing was done.
! 	* config/m32r/m32r.md (movmemsi):  If m32r_expand_block_move did
! 	nothing then FAIL.
! 	* config/m32r/m32r/m32r-protos.h  (m32r_expand_block_move): Update
! 	prototype.
  
! 2005-05-23  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (s390_optimize_prologue): Don't replace an insn
! 	saving less registers than the replacement.
  
! 2005-05-23  Jan Beulich  <jbeulich@novell.com>
  
! 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Add
! 	missing return statement.
  
! 2005-05-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/21331
! 	PR tree-opt/21293
! 	Backport from the mainline:
! 	2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
! 	* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
! 	integer_zerop.
! 	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
! 	constants invariant.
  
! 2005-05-19  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21390
! 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Move
! 	TFmode code swapping ...
! 	(alpha_emit_xfloating_compare): ... here.
! 	(alpha_emit_setcc): Update to match.
! 	(alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS.
  
! 2005-05-19  Jie Zhang  <jie.zhang@analog.com>
! 	    Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.c (branch_dest): Add comment why it's
! 	necessary.
! 	* config/bfin/bfin.md (attr "length" default): Change the offset of
! 	forward conditional branch of length 4 from 4096 to 4092.
  
! 2005-05-18  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21657
! 	* config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
! 	memory indirection in local-dynamic case.
  
! 2005-05-18  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21632
! 	* config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use
! 	small_addr_symbolic_operand.
  
! 2005-05-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS.
! 	* config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise.
! 	* config/sparc/sp-elf.h (TARGET_DEFAULT): Delete.
! 	* doc/invoke.texi (SPARC options): Document that -mapp-regs is
! 	the default on Solaris too.
  
! 2005-05-17  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/21610
! 	* c-typeck.c (decl_constant_value_for_broken_optimization): If not
! 	returning DECL, call unshare_expr.
  
! 	* varasm.c (struct constant_descriptor_tree): Add hash field.
! 	(const_desc_hash): Just return hash field.
! 	(const_desc_eq): If hash values are different, return 0 immediately.
! 	(output_constant_def): Compute hash field of temporary key, use
! 	htab_find_slot_with_hash instead of htab_find_slot.  Set hash in
! 	newly built constant descriptor.
! 	(lookup_constant_def): Compute hash field of temporary key, use
! 	htab_find_with_hash instead of htab_find.
  
! 2005-05-16  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21556
! 	* config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel,
! 	load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel,
! 	add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64,
! 	load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14,
! 	add_tprel22): Remove mode from symbolic operand.
  
! 2005-05-15  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2005-05-09  Mark Mitchell  <mark@codesourcery.com>
! 	PR 18655
! 	* dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
! 	before outputting DWARF_FRAME_RETURN_COLUMN.
  
! 2005-05-15  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	PR target/21551
! 	* config/ia64/ia64.c (ia64_expand_move): Don't add addend twice.
  
! 2005-05-13  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR middle-end/21237
! 	* dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
! 	to NE_EXPR case.
  
! 2005-05-13  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	Revert:
! 	2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
! 	* fold-const.c (fold_indirect_ref_1): Avoid removing
! 	NOP_EXPRs with type qualifiers like const.
  
! 2005-05-12  Daniel Berlin  <dberlin@dberlin.org>
  	
! 	Fix PR tree-optimization/21532
! 	* tree-ssa-pre.c (create_expression_by_pieces): stmt
! 	needs to go onto the inserted_exprs list.
  
! 2005-05-12  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21412
! 	* config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
! 	(ia64_cannot_force_const_mem): New.
! 	(tls_symbolic_operand_type): New.
! 	(ia64_legitimate_constant_p): New.
! 	(ia64_expand_load_address): Return true on success.  Improve
! 	checks for when we should not split.
! 	(ia64_expand_tls_address): New addend operand.  Distribute it
! 	as appropriate to the tls_kind.  Delay referencing gp.
! 	(ia64_expand_move): Split symbolic addend as necessary.  Handle
! 	tls symbols with addends.
! 	* config/ia64/ia64-protos.h: Update.
! 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
! 	p0, f0, f1, and r13.
! 	(LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
! 	* config/ia64/ia64.md (UNSPEC_DTPMOD): New.
! 	(symbolic_operand splitter): Pass everything through
! 	ia64_expand_load_address and FAIL or DONE as appropriate.
! 	(load_fptr): Only accept after reload.
! 	(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
! 	load_symptr_low, load_ltoff_dtpmod,
! 	(load_dtpmod): New.
! 	(load_dtprel): Only accept tls symbols.
! 	(load_dtprel64, load_dtprel22): Likewise.
! 	(load_tprel, load_tprel64, load_tprel22): Likewise.
! 	(load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
! 	(add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
! 	(add_dtprel14, add_dtprel22): Likewise.
! 	(add_tprel, add_tprel14, add_tprel22): Likewise.
! 	* config/ia64/predicates.md (small_addr_symbolic_operand): New.
! 	(any_offset_symbol_operand, aligned_offset_symbol_operand): New.
! 	(got_symbolic_operand): Check CONST offsets.
! 	(tls_symbolic_operand, ld_tls_symbolic_operand): New.
! 	(ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
! 	(move_operand): Don't handle tls here.  Check CONST offsets.
  
! 2005-05-11  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/21085
! 	* fold-const (fold): Don't change X % -C to X % C if C has
! 	overflowed.
  
! 2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	* fold-const.c (fold_indirect_ref_1): Avoid removing
! 	NOP_EXPRs with type qualifiers like const.
  
! 2005-05-11  Richard Henderson  <rth@redhat.com>
  
! 	PR c/21502
! 	* c-decl.c (finish_decl): Propagate the completed array type of
! 	a global variable into the binding.
  
! 2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.c (mem_min_alignment): Do not rely
! 	on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
  
! 2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21342
! 	* c-decl.c (pushdecl): When there is a declaration in the current
! 	scope and the declarations are external linkage, check for
! 	compatibility with the type in the external scope and update the
! 	type in the external scope with the composite type information.
! 	Do not form a composite type of the new type and the visible type
! 	if they are incompatible.
  
! 2005-05-10  Michael Matz  <matz@suse.de>
  
! 	from trunk:
! 	2005-04-28  James E Wilson  <wilson@specifixinc.com>
  
! 	* config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
! 	(ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
  
! 2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR other/21052
! 	* doc/extend.texi (Type Attributes): Correct example syntax.
  
! 2005-05-09  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21160
! 	* doc/invoke.texi (-Wuninitialized): Update documentation.
  
! 2005-05-09  Richard Earnshaw  <rearnsha@arm.com>
  
! 	PR target/21397
! 	* arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
! 	(arm_override_options): Use them instead of manifest constants.  Don't
! 	allow -march to override the -mtune setting.
  
! 2005-05-08  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/ia64/ia64.c (ia64_override_options): Don't set
! 	ia64_flag_var_tracking and clear flag_var_tracking here...
! 	(ia64_file_start): ... but here.
  
! 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
  
! 	* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
! 	when adding the save Z instruction so that it is part of the good BB.
! 	(reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
! 	addressing mode as it is not supported by bset and bclr.
! 	(m68hc11_gen_movhi): Fix invalid generation of indexed indirect
! 	addressing with movw.
! 	(m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
! 	68HC12.
! 	* config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
! 	for 68HC11.
! 	("*movhi_68hc12"): Handle movhi_const0.
! 	("*subhi3", "subqi3"): Use general_operand for operand 1.
! 	("*subhi3_zext"): Likewise.
  
! 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
  
! 	PR target/19051
! 	* config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand
! 	1 and fix constraints.
! 	("mulqihi3"): Use general_operand for operand 2.
  
! 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR target/21416
! 	* config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
! 	comparisons.
! 	* config/mips/mips.md (swapped_fcond): New code macro and attribute.
! 	(sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond,
! 	including sunge_<mode> and sungt_<mode>.
  
! 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
  
! 	PR target/16925
! 	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
! 	64-bit constants on 64-bit hosts.
! 	(m68hc11_split_logical): Simplify.
! 	(m68hc11_split_move): Likewise.
  
! 2005-05-07  Anthony Green  <green@redhat.com>
  
! 	PR bootstrap/21403
! 	* configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in
! 	x$STMP_FIXPROTO test.
! 	* configure: Rebuilt.
  
! 2005-05-07  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define
! 	inappropriate feature test macros if flag_iso.
  
! 2005-05-07  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21412
! 	* config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
! 	with constant offsets.
  
! 2005-05-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/21330
! 	* loop-unswitch.c (may_unswitch_on): Set *cinsn only when
! 	returning non-NULL.
! 	(unswitch_single_loop): Clear cinsn when retrying.
  
! 	PR c++/20961
! 	* varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
! 	if both NEWDECL and OLDDECL are already weak.
  
! 2005-05-05  Jeff Law  <law@redhat.com>
  
! 	PR tree-optimization/21380
! 	* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
! 	thread through a block with no preds.
  
! 2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config.gcc (hppa1.1-*-rtems*): Obsolete.
  
! 2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
! 	Exclude roe/603e multilib variants.
  
! 2005-05-04  Denis Chertykov  <denisc@overta.ru>
  
! 	PR target/21284
! 	* config/avr/avr.c (avr_output_addr_vec_elt): Use special section
! 	for output.
  
! 2005-05-04  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks.
  
! 2005-05-04  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/21265
! 	* expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL.
! 	(clear_storage): Add argument.
! 	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall):
! 	Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to
! 	tailcall.
! 	(emit_block_move): Handle BLOCK_OP_TAILCALL method.
! 	(clear_storage): Add method argument, handle BLOCK_OP_TAILCALL.
! 	(store_expr, store_constructor): Adjust callers.
! 	* builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL
! 	to emit_block_move if CALL_EXPR_TAILCALL (exp).
! 	(expand_builtin_memmove): Add ORIG_EXP argument, copy
! 	CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR.
! 	(expand_builtin_bcopy): Replace ARGLIST and TYPE arguments
! 	with EXP.  Pass EXP to expand_builtin_memmove.
! 	(expand_builtin_memset): Add ORIG_EXP argument, pass
! 	BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp).
! 	(expand_builtin_bzero): Replace ARGLIST argument with EXP.
! 	Pass EXP to expand_builtin_memset.
! 	(expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to
! 	the new CALL_EXPR.
! 	(expand_builtin_strncmp): Likewise.
! 	(expand_builtin_printf): Replace ARGLIST argument with EXP.
! 	Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR.
! 	(expand_builtin_fprintf): Likewise.
! 	(expand_builtin): Adjust calls to
! 	expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}.
  
! 	* config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th
! 	item in V4SF mode.
  
! 	PR rtl-optimization/21239
! 	* combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo.
  
! 	PR target/21297
! 	* config/i386/i386.c (legitimize_address): When canonicalizing
! 	ASHIFT into MULT, multiply by 1 << shift_count instead of
! 	1 << log2 (shift_count).
  
! 2005-05-03  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR target/16888
! 	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
! 	for unavailable registers.
  
! 2005-05-03  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* doc/passes.texi: Document vectorization pass.
  
! 2005-05-02  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/15698
! 	* c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New.
! 	* c-decl.c (current_function_prototype_built_in,
! 	current_function_prototype_arg_types): New.
! 	(merge_decls): Keep source location of prototype followed by
! 	nonprototype declaration.  Update C_DECL_BUILTIN_PROTOTYPE.
! 	(builtin_function): Set C_DECL_BUILTIN_PROTOTYPE.
! 	(start_function): Always set current_function_prototype_locus,
! 	current_function_prototype_built_in and
! 	current_function_prototype_arg_types.  Check for external
! 	prototype whether or not visible for external function and set
! 	current_function_prototype_arg_types accordingly.
! 	(store_parm_decls_oldstyle): Use
! 	current_function_prototype_arg_types for checking old-style
! 	definition against prototype.  Give warnings only if
! 	current_function_prototype_built_in).
  
! 2005-05-02  Janis Johnson  <janis187@us.ibm.com>
  
! 	PR 19985
! 	* gcov-io.h: Declare gcov external functions hidden.
  
! 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Omit dots in the @anchors names
! 	for i?86-*-sco3.2v5*, i?86-*-solaris2.10, and sparc-sun-solaris2.7.
! 	Omit underscores for x86_64-*-* and the "all ELF targets" entry.
  
! 2005-05-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR bootstrap/20633
! 	* config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
  
! 2005-05-01  Michael Matz  <matz@suse.de>
  
! 	PR c++/19542
! 	* c-common.c (c_common_nodes_and_builtins): Create global null_node.
! 	(warn_strict_null_sentinel): Define.
! 	(check_function_sentinel): Check for null_node as valid sentinel too.
! 	* c-common.h (c_tree_index): Added CTI_NULL.
! 	(null_node) Define global_tree[CTI_NULL].
! 	(warn_strict_null_sentinel): Declare.
! 	* c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
! 	* c.opt: (Wstrict-null-sentinel): New C++ option.
! 	* doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
  
! 2005-04-30  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
! 	thumb mode.
! 	* config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
! 	* config/arm/ieee754-sf.S: Ditto.
! 	* config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
! 	(FUNC_ALIAS): Use .thumb_set for thumb routines.
  
! 2005-04-29  Michael Matz  <matz@suse.de>
  
! 	* config/i386/i386.md (movmemsi): Also active when
! 	TARGET_INLINE_ALL_STRINGOPS.
  
! 2005-04-29  Michael Matz  <matz@suse.de>
  
! 	PR rtl-optimization/21144
! 	* postreload.c (reload_cse_move2add): Check for VOIDmode.
  
! 2005-04-29  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/21098
! 	* config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
! 	* config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
  
! 2005-04-28  James E Wilson  <wilson@specifixinc.com>
  
! 	* doc/install.texi: Update -enable-languages info.  Correct path to
! 	html docs.
  
! 2005-04-19  Andrew Haley  <aph@redhat.com>
  	
! 	PR java/21022
! 	* dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before
! 	looking at a field's bitpos.
  
! 2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* config.gcc: Obsolete c4x-* and tic4x-*.
  
! 2005-04-28  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-typeck.c (build_compound_expr): Correct logic in last change.
  
! 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21159
! 	* c-typeck.c (build_compound_expr): Don't warn for left-hand side
! 	being a compound expression whose right-hand side is cast to void.
  
! 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21213
! 	* c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
! 	transparent union.
  
! 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/20740
! 	* c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
! 	assertion failures, if __gcc_host_wide_int__ is not properly
! 	defined.
! 	(init_dynamic_diag_info): Give errors, not assertion failures, if
! 	location_t, tree or __gcc_host_wide_int__ are not properly
! 	defined.
  
! 2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
! 	gensupport.c, protoize.c, toplev.c: Replace calls to
! 	`unlock_stream' with `unlock_std_streams'.
  
! 2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
  
! 2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR bootstrap/21215
! 	* doc/install.texi: Document correct assembler and linker to use
! 	on i?86-*-solaris2.10.
  
! 2005-04-25  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/21173
  	
! 	* tree-ssa-pre.c (create_expression_by_pieces): Call unshare_expr
! 	on things we pass to force_gimple_operand.  Don't try to special
! 	case min_invariants.
  
! 2005-04-25  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin-modes.def: New file.
! 	* config/bfin/bfin-protos.h: New file.
! 	* config/bfin/bfin.c: New file.
! 	* config/bfin/bfin.h: New file.
! 	* config/bfin/bfin.md: New file.
! 	* config/bfin/crti.s: New file.
! 	* config/bfin/crtn.s: New file.
! 	* config/bfin/elf.h: New file.
! 	* config/bfin/lib1funcs.asm: New file.
! 	* config/bfin/predicates.md: New file.
! 	* config/bfin/t-bfin: New file.
! 	* config/bfin/t-bfin-elf: New file.
! 	* doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler):
! 	Document new attributes.
! 	(interrupt, interrupt_handler, saveall): Update documentation for
! 	these attributes.
! 	* doc/install.texi (Specific): Add entry for the Blackfin.
! 	* doc/invoke.texi (Blackfin Options): New section.
! 	* doc/md.texi (Blackfin family): New section to document constraints.
! 	* config.gcc: Add bfin*-* and bfin*-elf configurations.
  
! 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config.gcc (avr-*-*): Remove redundant "case".
  
! 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	PR target/17822
! 	* config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
  
! 2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR/17092
! 	* configure.ac (gcc_UNLOCKED_FUNCS): New.
! 	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
! 	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
! 	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
! 	_unlocked function.
! 	(fwrite_unlocked): Fix prototype.
  	
! 	* configure, config.in: Regenerate.
  
! 	* system.h (fopen, fdopen, freopen): Define these to the unlocked
! 	libiberty functions.
  
! 	* collect2.c (main): Unlock the stdio streams.
! 	* gcc.c (main): Likewise.
! 	* gcov-dump.c (main): Likewise.
! 	* gcov.c (main): Likewise.
! 	* gen-protos.c (main): Likewise.
! 	* gensupport.c (init_md_reader_args_cb): Likewise.
! 	* protoize.c (main): Likewise.
! 	* toplev.c (general_init): Likewise.
  
! 2005-04-24  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/21163
! 	* simplify-rtx.c (simplify_binary_operation) <IOR>: Check
! 	for SCALAR_INT_MODE_P instead of not MODE_CC before returning
! 	constm1_rtx.
! 	<XOR, AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
! 	<UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
! 	<DIV, MOD>: Likewise.
  
! 2005-04-24  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/20991
! 	* cgraph.h (cgraph_local_info): Add vtable_method field.
! 	* varasm.c (mark_decl_referenced): If cgraph_global_info_ready
! 	and node is vtable_method, finalized and not reachable, don't do
! 	anything.
  
! 	Revert:
! 	2005-04-18  Jakub Jelinek  <jakub@redhat.com>
! 	* tree-ssa-ccp.c (fold_stmt): Don't optimize OBJ_TYPE_REFs if that
! 	would result in an already finalized unreachable node becoming
! 	reachable while cgraph_global_info_ready.
  
! 2005-04-24  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	PR target/17824
! 	* config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
  
! 2005-04-24  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21101
! 	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
! 	* config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
! 	Deny modes smaller than 4 bytes.
! 	* config/i386/i386-protos.h: Update.
  
! 2005-04-24  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
! 	Switch h8300-*-rtems* to ELF.
  
! 2005-04-23  Richard Henderson  <rth@redhat.com>
  
! 	* simplify-rtx.c (simplify_binary_operation): Fix second instance
! 	later in the same function.
  
! 	PR rtl-opt/21102
! 	* simplify-rtx.c (simplify_binary_operation): Fix mode check before
! 	performing some integral scalar simplifications.
  
! 2005-04-23  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21100
! 	* config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko.
  
! 2005-04-23  Richard Henderson  <rth@redhat.com>
  
! 	PR target/21099
! 	* config/i386/i386.c (ix86_split_to_parts): Use proper mode when
! 	simplifying CONST_VECTOR.
  
! 2005-04-22  James E Wilson  <wilson@specifixinc.com>
  
! 	PR c++/20805
! 	* dwarf2out.c (gen_variable_die): Don't emit a specification if this
! 	is another declaration.
  
! 2005-04-22  Michael Matz  <matz@suse.de>
  
! 	PR middle-end/20973
! 	* reload.c (push_reload, find_dummy_reload): Check for uninitialized
! 	pseudos.
  
! 2005-04-22  David Edelsohn  <edelsohn@gnu.org>
  
! 	Backport from mainline.
! 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode
! 	optabs to xlq names if TARGET_XL_COMPAT.
  
! 2005-04-22  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/12913
! 	* c-tree.h (struct c_label_list): Update comment.
! 	(struct c_label_context): Rename to struct c_label_context_se.
! 	(label_context_stack): Rename to label_context_stack_se.
! 	(C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct
! 	c_label_context_vm, label_context_stack_vm, c_begin_vm_scope,
! 	c_end_vm_scope): New.
! 	(C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK.
! 	* c-decl.c (pop_scope): Call c_end_vm_scope.
! 	(pushdecl): Call c_begin_vm_scope for variably modified
! 	declarations.
! 	(define_label): Check for jumping into scope of identifier with
! 	variably modified type.  Push label on stack for those defined at
! 	current context of identifiers with variably modified type.
! 	(start_function): Create stack level for context of identifiers
! 	with variably modified type.
! 	(finish_function): Pop stack level for context of identifiers with
! 	variably modified type.
! 	* c-typeck.c (label_context_stack): Rename to
! 	label_context_stack_se.
! 	(label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New.
! 	(c_finish_goto_label): Check for jumping into scope of identifier
! 	with variably modified type.  Push label on stack for those jumped
! 	to from current context of identifiers with variably modified
  	type.
- 	(struct c_switch): Add blocked_vm.
- 	(c_start_case): Initialize blocked_vm.
- 	(do_case): Check blocked_vm.
- 	(c_finish_case): Add comment.
- 	(c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed
- 	variable label_context_stack.
  
! 2005-04-22  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN
! 	(decl).
  
! 2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/invoke.texi (SPARC options): Document that -mapp-regs
! 	is turned off by default on Solaris.
  
! 2005-04-21  Mark Mitchell  <mark@codesourcery.com>
  
! 	* version.c (version_string): Restore prerelease information.
! 	* doc/include/gcc-common.texi (version): Set to 4.0.1.
  
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
! 2005-04-18  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/20991
! 	* tree-ssa-ccp.c (fold_stmt): Don't optimize OBJ_TYPE_REFs if that
! 	would result in an already finalized unreachable node becoming
! 	reachable while cgraph_global_info_ready.
  
! 2005-04-19  Ben Elliston  <bje@au.ibm.com>
  
! 	* doc/invoke.texi (Optimize Options): Refer to the correct
! 	optimisation flag -ftree-dominator-opts, not -ftree-dom.
  
! 2005-04-17  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/20490
! 	Fix PR tree-optimization/20929
  
! 	* tree-ssa-pre.c (create_expression_by_pieces): Use
! 	force_gimple_operand on result of fold, value number
! 	gimple_operand result.
  
! 2005-04-17  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	Merge from mainline:
  
! 	2005-02-28  Geert Bosch  <bosch@gnat.com>
  
! 		PR ada/15977
! 		* doc/contrib.texi: List contributors for Ada front end
  
! 	2005-03-14  Geoffrey Keating  <geoffk@apple.com>
  
! 		* doc/cppopts.texi (-fexec-charset): Add concept index
! 		entry.
! 		(-fwide-exec-charset): Likewise.
! 		(-finput-charset): Likewise.
  
! 	2005-04-15  David Edelsohn  <edelsohn@gnu.org>
  
! 		* doc/install.texi (*-ibm-aix*): Add comment about system
! 		limits.
  
! 2005-04-17  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* combine.c (combine_simplify_rtx): Remove a transformation that
! 	relies on an invalid assumption about rtl sign-extension semantics.
  
! 2005-04-17  Richard Henderson  <rth@redhat.com>
  
! 	PR target/20375
! 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
! 	of CUMULATIVE_ARGS past the last named argument.
! 	(alpha_va_start): Expect pretend_args_size only if strictly less than
! 	6 named arguments.
! 	* config/alpha/alpha.h (TARGET_FP, TARGET_FPREGS, TARGET_GAS,
! 	TARGET_IEEE_CONFORMANT, TARGET_IEEE, TARGET_IEEE_WITH_INEXACT,
! 	TARGET_BUILD_CONSTANTS, TARGET_FLOAT_VAX, TARGET_BWX, TARGET_MAX,
! 	TARGET_FIX, TARGET_CIX, TARGET_EXPLICIT_RELOCS, TARGET_SMALL_DATA,
! 	TARGET_TLS_KERNEL, TARGET_SMALL_TEXT, TARGET_LONG_DOUBLE_128,
! 	TARGET_CPU_EV5, TARGET_CPU_EV6, TARGET_SUPPORT_ARCH): Booleanize.
  
! 2005-04-17  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR middle-end/20739
! 	* gimplify.c (gimplify_addr_expr): Compensate for removal of
! 	e.g. cv-qualification conversions.
  
! 2005-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Avoid using asterisks in @anchor
! 	names related to target triplets.
! 	Remove i?86-*-esix from platform directory.
! 	Remove powerpc-*-eabiaix from platform directory.
  
! 2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR middle-end/20491
! 	* config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
! 	falling through from SUBREG case to REG.
  
! 2005-04-15  David S. Miller  <davem@davemloft.net>
  
! 	PR target/20673
! 	* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
  
! 2005-04-15  Dave Korn <dave.korn@artimi.com>
  
! 	* gcc.c (default_compilers): Clarify obscure error message when
! 	reading from standard input.
  
! 2005-04-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
! 	* gthr-posix.c (pthread_cancel): Define.
! 	(pthread_mutexattr_init): Likewise.
! 	(pthread_mutexattr_settype): Likewise.
! 	(pthread_mutexattr_destroy): Likewise.
  
! 2005-04-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* doc/invoke.texi: Fix typos.
! 	* doc/md.texi: Likewise.
! 	* doc/rtl.texi: Likewise.
! 	* doc/sourcebuild.texi: Likewise.
! 	* doc/tm.texi: Likewise.
  
! 2005-04-15  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* tree-eh.c (lower_try_finally_copy): Generate new code in
! 	response to goto_queue entries as if the queue was sorted by
! 	index, not pointers.
! 	(lower_try_finally_switch): Likewise.
  
! 2005-04-15  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
! 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
! 	* config/mips/mips.c (mips16_insn_length): Remove reference to
! 	JUMP_TABLES_IN_TEXT_SECTION.
  
! 2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to
! 	refer to 4.0.
  
! 2005-04-14  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR target/20924
! 	* config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with
! 	fpsr 0 instead of fpsr 1.
! 	(divsf3_internal_thr): Ditto.
! 	(divdf3_internal_lat): Ditto.
! 	(divdf3_internal_thr): Ditto.
! 	(divxf3_internal_lat): Ditto.
! 	(divxf3_internal_thr): Ditto.
  
! 2005-04-14  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/20927
! 	* config/s390/s390-modes.def: Define TFmode.
  
! 2005-04-14  Alexandre Oliva  <aoliva@redhat.com>
! 	    Roger Sayle  <roger@eyesopen.com>
  
! 	PR target/20126
! 	* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
! 	signal that all GIVs couldn't be reduced.
  
! 2005-04-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
! 	* config/sparc/sparc.md (untyped_call): Save the registers manually.
  
! 	* config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
  
! 2005-04-12  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR middle-end/20917
! 	* config/s390/s390.md ("*set_tp"): Use SET in pattern.
! 	("set_tp_64", "set_tp_31"): Adapt expanded pattern.
  
! 2005-04-09  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/20795
! 	* config/i386/i386.c (construct_container): Pass empty aligned
! 	struct, union or class in memory.
  
! 2005-04-08  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	Backport from mainline:
! 	* config/s390/tpf.h (ASM_SPEC): Define.
  
! 2005-04-07  Andreas Schwab  <schwab@suse.de>
  
! 	Backport from mainline:
  
! 	2005-04-03  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/20648
! 	* bb-reorder.c (duplicate_computed_gotos): Do not unfactor
! 	a computed goto if the edge to the computed goto block has
! 	incoming abnormal edges.  Clarify how the function works.
  
! 2005-04-07  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR target/20093
! 	* simplify-rtx.c (simplify_unary_operation): Check
! 	SUBREG_PROMOTED_UNSIGNED_P (op) > 0 for zero-extension.
  
! 2005-04-07  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/18659
! 	PR ada/18819
! 	* doc/invoke.texi (Optimize Options): Document that
! 	-ftree-sra is not automatically enabled for the Ada compiler.
  
! 2005-04-06  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* c.opt (-F): Remove trailing whitespace from help string.
! 	(-finput-charset): Use a tab to separate the switch name and help
! 	string.
! 	* common.opt (-fsched-stalled-insns, -fsched-stalled-insns-dep)
! 	(-ftree-vectorizer-verbose): Likewise.
  
! 2005-04-06  Dale Johannesen  <dalej@apple.com>
  
! 	* doc/invoke.texi (Optimization Options):  Remove
! 	duplicate -fcse-follow-jumps.  Add -fweb.
! 	(-ftree-lim):  Fix spelling (-ftree-loop-im, invariants).
! 	(-fivcanon):  Fix spelling (-ftree-loop-ivcanon).
  
! 2005-04-06  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-decl.c (finish_decl): Apply pending #pragma weak regardless of
! 	scope.
  
! 2005-04-06  Ranjit Mathew  <rmathew@hotmail.com>
  
! 	* doc/install.texi: Update the URL for Jacks.
! 	* doc/sourcebuild.texi: Likewise.
  
! 2005-04-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/17245
! 	* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
! 	Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.
  
! 2005-04-05  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/20076
! 	* tree-inline.c (inline_forbidden_p_1): Prevent inlining functions
! 	that call __builtin_return or __builtin_apply_args.
  
! 2005-04-06 Uros Bizjak <uros@kss-loka.si>
  
! 	PR target/20421
! 	* config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
! 	(frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
! 	Allocate local stack slots here.  Set ix86_optimize_mode_switching.
! 	flag here. Implement using define_insn_and_split.
! 	(frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
! 	(frndintxf2_mask_pm_i387): New insn patterns.
! 	(floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
! 	Do not set ix86_optimize_mode_switching flag.
! 	(ceilsf2, ceildf2, ceilxf2): Same.
! 	(btruncsf2, btruncdf2, btruncxf2): Same.
! 	(nearbyintsf2, nearbyintdf2, nearbyintxf2): Same.
  
! 2005-04-05  James E. Wilson  <wilson@specifixinc.com>
  
! 	PR target/20670
! 	* unwind-ia64.c (uw_intall_context): Add missing load of r27.
  
! 2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>
  
! 	* doc/install.texi (Configuration): Document --with-java-home.
  
! 2005-04-05  Dale Johannesen  <dalej@apple.com>
  
! 	PR middle-end/19225
! 	* calls.c (expand_call):  Flush pending deferrals before
! 	throwing call.
  
! 2005-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR target/20625
! 	* tree-ssa-loop-ivopts.c (generic_type_for): New function.
! 	(add_candidate_1): Use generic_type_for instead of unsigned_type_for.
  
! 2005-04-05  Roger Sayle  <roger@eyesopen.com>
  
! 	* config/i386/i386.md (*truncdfsf2_i387_1): New pattern.
  
! 2005-04-05  Ben Elliston  <bje@au.ibm.com>
  
! 	* doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not
! 	-ftree-live_range_split.  Perhaps renamed at some point?
  
! 2005-04-05  Jason Merrill  <jason@redhat.com>
  
! 	PR c++/19317
! 	* calls.c (expand_call): Disable return slot optimization.
  
! 2005-04-05  Richard Henderson  <rth@redhat.com>
  
! 	PR target/20342
! 	PR target/20447
! 	* config/i386/i386.c (print_operand): Handle vector zeros.
! 	(ix86_split_to_parts): Handle CONST_VECTOR.
! 	(ix86_hard_regno_mode_ok): Allow MMX modes in general regs.
! 	(ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide
! 	what modes to tie for MMX and SSE registers.
! 	* config/i386/i386.h (MMX_REG_MODE_P): Remove.
! 	* config/i386/i386.md: Extend move 0 -> xor peephole to apply
! 	to vector modes as well.
! 	* config/i386/predicates.md (const0_operand): Handle VOIDmode
! 	properly as an input mode.
  
! 2005-04-05  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR rtl-optimization/20527
! 	* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
! 	REG_INC note, test that the register also isn't mentioned in PRED
! 	or SUCC.
  
! 2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before
! 	overriding.
  
! 2005-04-05  Olivier Hainque  <hainque@adacore.com>
  
! 	* config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
! 	match what the system unwinder expects.
! 	* config/mips/mips.c (mips_frame_set): If we're saving the return
! 	address register and the dwarf return address column number differs
! 	from the hard register number, adjust the note reg to refer to the
! 	former.
  
! 2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 	    Sebastian Pop <sebastian.pop@cri.ensmp.fr>
  
! 	PR tree-optimization/19903
! 	* tree-chrec.c (chrec_convert): Return chrec_dont_know for constants
! 	that don't fit in their type after conversion.
  
! 2005-04-04  Roger Sayle  <roger@eyesopen.com>
! 	    Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR c++/19199
! 	* fold-const.c (non_lvalue): Split tests into...
! 	(maybe_lvalue_p): New function.
! 	(fold_cond_expr_with_comparison): Preserve lvalue-ness for the
! 	C++ front-end prior to lowering into gimple form.
  
! 2004-04-04  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR target/19537
! 	* Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h.
! 	* tree-ssa-loop-ivopts.c: Include langhooks.h.
! 	(add_standard_iv_candidates_for_size): New function, extracting code
! 	from add_standard_iv_candidates and parameterizing it by type size.
! 	(add_standard_iv_candidates): Use add_standard_iv_candidates_for_size.
  
! 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/invoke.texi (SPARC options): Document that
! 	-mlittle-endian is not supported on Linux either.
  
! 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/20446
! 	* config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0.
! 	* config/sparc/linux.h (TARGET_ASM_FILE_END): Delete.
! 	(NEED_INDICATE_EXEC_STACK): Define to 1.
! 	* config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete.
! 	(NEED_INDICATE_EXEC_STACK): Define to 1.
! 	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end.
! 	(add_pc_to_pic_symbol): Rename into pic_helper_symbol.
! 	(add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name.
! 	(pic_helper_emitted_p): New global.
! 	(emit_pic_helper): New function extracted from...
! 	(load_pic_register): ...here.  Add 'delay_pic_helper' parameter.
! 	Do not call emit_pic_helper if delay_pic_helper is true.
! 	(sparc_expand_prologue): Pass 'false' to load_pic_register.
! 	(sparc_output_mi_thunk): Pass 'true' to load_pic_register.
! 	(sparc_file_end): New function.
  
! 2005-04-04  Richard Henderson  <rth@redhat.com>
! 	    Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/16104
! 	* fold-const.c (fold_unary): Fix folding of vector conversions.
  
! 2005-04-04  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	PR debug/20505
! 	* dwarf2out.c (tree_add_const_value_attribute): Only add if it's
! 	an INTEGER_CST.
  
! 2005-04-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
  
! 	PR c++/18644
! 	* doc/invoke.texi (-Wsynth): Don't document, as it now is void of
! 	semantics.
  
! 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR debug/19345
! 	* tree-inline.c (remap_type): Remap TYPE_STUB_DECL.
! 	(remap_decl): Insert type decl in map earlier.
  
! 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR tree-optimization/20640
! 	* tree-ssa-dce.c (remove_dead_stmt): Don't redirect edge to
! 	post-dominator if it has phi nodes.
! 	(eliminate_unnecessary_stmts): Remove dead phis in all blocks
! 	before dead statements.
  
! 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR middle-end/20491
! 	* final.c (alter_subreg): Don't call subreg_regno for a non-REG.
  
! 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR rtl-optimization/20290
! 	* loop.c (for_each_insn_in_loop): Don't assume the loop body runs
! 	in every iteration if the entry point is the exit test.
  
! 2005-04-02  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
! 	* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
  
! 2005-04-02  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/t-darwin8: Comment out ppc64 multilib.
  
! 2005-04-01  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
! 	    Jan Hubicka  <jh@suse.cz>
! 	    Steven Bosscher <stevenb@suse.de>
  
! 	* cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
! 	call cost based on argument sizes.
! 	(cgraph_mark_inline_edge): Avoid inline unit from shrinking by
! 	inlining.
! 	* params.def: (max-inline-inssn-single): Set to 450.
! 	(max-inline-insns-auto): Set to 90.
! 	(max-inline-insns-recursive): Set to 450
! 	(max-inline-insns-recursive-auto): Set to 450.
! 	(large-function-insns): Set to 2700.
! 	(inline-call-cost): New parameter.
! 	* tree-inline.c (estimate_move_cost): New function.
! 	(estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
! 	for non-gimple-regs, set cost to 0 for gimple-regs.  Compute call size
! 	based on arguments.
! 	* tree-inline.h (estimate_move_cost): Declare.
! 	* invoke.texi: (max-inline-inssn-single): Change default to 450.
! 	(max-inline-insns-auto): Change default to 90.
! 	(max-inline-insns-recursive): Change default to 450
! 	(max-inline-insns-recursive-auto): Change default to 450.
! 	(large-function-insns): Change default to 2700.
! 	(inline-call-cost): Document new parameter.
  
! 2005-04-01  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.c (thumb_call_via_label): Include space for SP.
! 	(arm_output_function_epilogue): Allow call_via_SP.
! 	(thumb_call_via_reg, arm_file_end): Ditto.
! 	* config/arm/arm.h (struct machine_function): Include space for SP.
! 	(thumb_call_via_label): Update declaration.
  
! 2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-decl.c (validate_proto_after_old_defn): Look at
! 	TYPE_MAIN_VARIANT of argument types.
  
! 2005-04-01  Jan Hubicka  <jh@suse.cz>
  
! 	PR middle-end/20635
! 	* varasm.c (mark_decl_referenced): Do not mark extern inline functions
! 	as needed.
  
! 2005-04-01  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR middle-end/19454
! 	PR rtl-optimization/20600
  
! 	* combine.c (gen_binary): Remove.
! 	(known_cond, simplify_shift_const, find_split_point,
! 	combine_simplify_rtx, simplify_if_then_else, simplify_set,
! 	simplify_logical, expand_field_assignment, extract_left_shift,
! 	force_to_mode, if_then_else_cond, apply_distributive_law,
! 	simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine,
! 	simplify_comparison, reversed_comparison): Replace with
! 	simplify_gen_binary, simplify_gen_relational or
! 	distribute_and_simplify_rtx.
! 	(distribute_and_simplify_rtx): New function.
  
! 	* config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
! 	to fix addresses involving EBP and ESP.
! 	(aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
! 	for SUBREGed registers.
! 	(legitimate_address_p): Accept SUBREGed registers.
  
! 2005-04-01  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c++/19406
! 	* dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL.
! 	(dwarf2out_imported_module_or_decl): Use gen_type_die_for_member
! 	for FIELD_DECLs.
  
! 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos.
  
! 2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/17855
! 	* gimplify.c (gimplify_expr): Create a temporary for lvalue
! 	COND_EXPR and CALL_EXPR.
  
! 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* doc/tree-ssa.texi: Fix a typo.
  
! 2005-03-31  Olivier Hainque  <hainque@adacore.com>
  
! 	* dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
! 	defined and non-zero.
  
! 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/20611
! 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
! 	label operand.  Remove (use (unspec..)).  Don't emit a label on
! 	the offset word.
! 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
! 	generate inline label for load_toc_v4_PIC_1b.
! 	(rs6000_emit_load_toc_table): Likewise.
  
! 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf,
! 	ns32k-*-netbsdelf*, and ns32k-*-netbsd*.
  
! 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
! 	(powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
! 	(powerpc-*-linux*): Build a biarch compiler when --enable-targets
! 	is given with "powerpc64*" or "all", or when --with-cpu chooses
! 	a 64-bit cpu.
  
! 2005-03-30  Richard Henderson  <rth@redhat.com>
  
! 	* cgraph.h (struct cgraph_node): Add alias.
! 	* varasm.c (assemble_alias): Set it.
! 	* cgraphunit.c (cgraph_assemble_pending_functions): Check it and
! 	avoid calling cgraph_expand_function.
  
! 2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/772
! 	PR c/17913
! 	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
! 	C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
! 	c_label_context, label_context_stack): New.
! 	* c-decl.c (define_label): Check for jumps into statement
! 	expressions.  Add label to list of defined labels.
! 	(start_function): Push context on label_context_stack.
! 	(finish_function): Pop context from label_context_stack.
! 	* c-typeck.c (label_context_stack): New.
! 	(c_finish_goto_label): Check for jumps into statement
! 	expressions.  Add label to list of jumped to labels.
! 	(struct c_switch): Add blocked_stmt_expr.
! 	(c_start_case): Initialize it.
! 	(do_case): Check it.
! 	(c_finish_case): Verify !blocked_stmt_expr.
! 	(c_begin_stmt_expr):  Push context on label_context_stack.
! 	Increment blocked_stmt_expr.  Mark labels jumped to from outside
! 	as undefinable.
! 	(c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
! 	defined in the statement expression and no longer jumpable to.
! 	Mark labels jumped to from just outside the statement expression
! 	as again definable.  Pop context from label_context_stack.
! 	* doc/extend.texi (Statement Exprs): Update.
  
! 2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/20368
! 	* c-decl.c (start_function): Check for old_decl being
! 	error_mark_node.
  
! 2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
  
! 	PR middle-end/20177
! 	* ddg.c (create_ddg_dependence): Ignore reg-anti dependency.
! 	* modulo-sched.c (const_iteration_count): Return on NULL
! 	pre-header.
! 	(print_node_sched_params): Return on NULL dump_file.
! 	(generate_reg_moves): Handle reg-anti dependencies and disregard
! 	closing branch when generating register moves.
! 	(sms_schedule): Mark the SMSed block dirty.
! 	* passes.c (rest_of_handle_sms): Call update_life_info for all
! 	basic-blocks.
! 	* testsuite/gcc.dg/20050321-1.c: New test.
! 	* testsuite/gcc.dg/20050330-1.c: New test.
  
! 2005-03-30  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* tree-scalar-evolution.c (instantiate_parameters_1): Return
! 	as soon as a chrec_dont_know is detected.
  
! 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
  
! 	* doc/install.texi: Update binutils requirement for powerpc*-linux.
  
! 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/20203
! 	* builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
! 	Remove convert_memory_address call duplicating that in memory_address.
  
! 2005-03-29  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR rtl-optimization/20532
! 	* simplify-rtx.c (simplify_binary_operation): Protect from
! 	overflow when adding coefficients for PLUS or MINUS.  Handle
! 	CONST_DOUBLE exact power of two as multiplier.
  
! 2005-03-29  Richard Henderson  <rth@redhat.com>
  
! 	PR c/20519
! 	* c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
! 	(build_compound_literal): Likewise.  Propagate decl type into the
! 	initializer.
! 	(finish_decl): Likewise.  Use new return value from complete_array_type
! 	for zero sized arrays.
! 	(complete_array_type): Move ...
! 	* c-common.c (complete_array_type): ... here.  Change first argument
! 	to pointer-to-type-node.  Consistently use sizetype for the index
! 	except for zero sized arrays.  Detect zero sized arrays for pedantic
! 	mode diagnostics.  Create a new type node instead of modifying the
! 	old node in place.
! 	* c-tree.h (complete_array_type): Move decl ...
! 	* c-common.h (complete_array_type): ... here.
  
! 2005-03-29  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/19108
! 	* tree-sra.c (generate_element_init_1): Handle RANGE_EXPR.
  
! 2005-03-29  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/20622
! 	* cgraph.h (struct cgraph_varpool_node): Add alias field.
! 	* cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
! 	assemble_variable on aliases.
! 	* varasm.c (assemble_alias): Set node->alias.
! 	* toplev.c (wrapup_global_declarations): Don't call
! 	rest_of_decl_compilation on aliases again.
  
! 2005-03-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR middle-end/20263
! 	* varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use
! 	the DECL_NAME, not the DECL_ASSEMBLER_NAME.
  
! 2005-03-24  Geoffrey Keating  <geoffk@apple.com>
  
! 	* c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
  
! 	* config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add
! 	MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE.
  
! 2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
  
! 	PR target/15491
! 	* vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
! 	(vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
! 	FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
! 	PRE_DEC, NEG and NOT.
  
! 2005-03-25  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR rtl-optimization/20249
! 	* cse.c (insert_regs): Do not record equivalence of registers in
! 	different modes.
  
! 2005-03-24  James E Wilson  <wilson@specifixinc.com>
  
! 	* doc/install.texi (--enable-altivec): Delete docs.
  
! 2005-03-24  J"orn Rennecke <joern.rennecke@st.com>
  
! 	Band aid for PR target/20617:
! 	* config/sh/lib1funcs.asm (FUNC, ALIAS): Add .hidden directive.
  
! 2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/20601
  
! 	* tree-ssa-pre.c (insert_aux): Add missing condition to
! 	constification.
  
! 2005-03-22  James E Wilson  <wilson@specifixinc.com>
  
! 	PR c++/19769
! 	* dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
! 	origin.
  
! 2005-03-22  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* c-opts.c (c_common_parse_file): Only start/end main source file
! 	if debug hooks says the writer wants it.
! 	* dbxout.c (dbx_debug_hooks): Add start_end_main_source_file
! 	member.
! 	(xcoff_debug_hooks): Ditto.
! 	* debug.c (do_nothing_hooks): Ditto.
! 	* debug.h (gcc_debug_hooks): Ditto.
! 	* dwarf2out.c (dwarf2_debug_hooks): Ditto.
! 	* sdbout.c (sdb_debug_hooks): Ditto.
! 	* vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
  
! 2005-03-22  Mark Mitchell  <mark@codesourcery.com>
  
! 	* doc/extend.texi: Deprecate C++ min/max operators.
  
! 2005-03-22  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/20561
! 	* cfglayout.c (reemit_insn_block_notes): Don't put block notes in
! 	between jump table and its label.
! 	* final.c (shorten_branches): Handle notes in between ADDR_VEC
! 	resp. ADDR_DIFF_VEC and the label preceeding it.
! 	(final_scan_insn): Likewise.  Ensure ADDR_VEC resp. ADDR_DIFF_VEC
! 	is emitted in the right section.
  
! 2005-03-21  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/20539
! 	* fold-const.c (fold_binary): Fix type mismatch between
! 	TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
! 	(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
! 	for non-truth-valued expressions.
  
! 	* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
! 	and FUNCTION_DECL in the main switch.
! 	<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
! 	TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
! 	we also need to convert their operands to match.
! 	<TRUTH_NOT_EXPR>: Likewise.
  
! 2005-03-21  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/20557
! 	* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
! 	to determine whether a block can be duplicated, rather than test
! 	whether the block contains noncopyable insns ourselves.
  
! 2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
! 	unrolling if -fpeel-loops is specified, too.
! 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
! 	Remove superfluous check for flag_unroll_loops.
  
! 2005-03-21  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	PR other/20564
! 	* gcov.c (output_lines): Only output function block summary when
! 	outputting branch information.
! 	* doc/gcov.texi: Document format of preamble and additional block
! 	information lines.
  
! 2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
! 	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
! 	the defaults false if BITS_PER_UNIT != 8.
! 	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
! 	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
! 	than BITS_PER_UNIT != 8.
! 	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
! 	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
! 	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
! 	#undefs.
! 	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
! 	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
  
! 2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
  
! 	PR target/18551
! 	* config/avr/avr.c (avr_output_function_prologue): Do not use
! 	current_function_name() in a label, use a local label instead.
  
! 2005-03-08  Dorit Naishlos  <dorit@il.ibm.com>
! 	    Ira Rosen  <irar@il.ibm.com>
  
! 	PR tree-optimization/20474
! 	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
! 	size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
  
! 2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-decl.c (check_bitfield_type_and_width): Require bit-field
! 	width to have integer type.
! 	(build_enumerator): Require enumerator value to have integer type.
  
! 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/extend.texi (__builtin_inf): Move statement about INFINITY
! 	to __builtin_inff.
  
! 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
! 	std=iso9899:199x): Correct descriptions.
  
! 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config.gcc: Consistently use solaris2.1[0-9]* instead of
! 	solaris2.1[0-9].
  
! 2005-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/20493
! 	* fold-const.c (fold_widened_comparison): Don't optimize casts of
! 	function pointers on targets that require function pointer
! 	canonicalization.
! 	(fold_sign_changed_comparison): Likewise.
  
! 2005-03-19  Andy Hutchinson  <HutchinsonAndy@netscape.net>
  
! 	PR target/18251
! 	* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
! 	(*movmemqi_insn): Delete.
! 	(*movmemhi): Delete.
  
! 2005-03-18  Jan Hubicka  <jh@suse.cz>
  
! 	PR middle-end/20225
! 	* cgraph.c (cgraph_mark_reachable_node): Assert that it is not called
! 	too late.
! 	* varasm.c (find_decl_and_mark_needed): Mark needed only when not
! 	called too late.
  
! 2005-03-18  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/i386/t-rtems-i386 (MULTILIBS): Remove k6, athlon,
! 	mno-fp-ret-in-387 multilib variants.
  
! 2005-03-17  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	PR target/18380
! 	* config/ia64/unwind-ia64.c (_Unwind_FindTableEntry): Removed.
  
! 2005-03-17  Richard Henderson  <rth@redhat.com>
  
! 	* doc/extend.texi (Weak Pragmas): New section.
! 	(attribute alias): Clarify that target must be in the same
! 	translation unit.
  
! 2005-03-16  James E. Wilson  <wilson@specifixinc.com>
  
! 	* config/ia64/ia64.c (issue_nops_and_insn): Check first_insn attribute,
! 	and return without creating new state if before_nops_num is nonzero.
! 	* config/ia64/ia64.md (first_insn): New attribute.
! 	(alloc): Set it to yes.
  
! 2005-03-16  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/15700
! 	* varasm.c (struct alias_pair): Rename from struct output_def_pair.
! 	(alias_pairs): Rename from output_defs.
! 	(find_decl_and_mark_needed): Split out from assemble_alias.
! 	(do_assemble_alias): New.
! 	(assemble_output_def): Remove.
! 	(finish_aliases_1, finish_aliases_2): New.
! 	(process_pending_assemble_output_defs): Remove.
! 	(assemble_alias): Defer aliases for which we don't yet have a
! 	non-external decl for the target symbol.
! 	* passes.c (rest_of_decl_compilation): Register variables with cgraph.
! 	* cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1.
! 	* toplev.c (compile_file): Use finish_aliases_2 instead of
! 	process_pending_assemble_output_defs.
! 	* tree.h (finish_aliases_1, finish_aliases_2): Declare.
! 	(process_pending_assemble_output_defs): Remove.
  
! 2005-03-16  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/i386/emmintrin.h (_mm_extract_epi16): Correct the number
! 	of closing parenthesis.
  
! 2005-03-16  Roger Sayle  <roger@eyesopen.com>
  
! 	PR tree-optimization/17454
! 	* tree.c (tree_size): Add case for TREE_BINFO.
! 	* fold-const.c (fold_checksum_tree): Only clear the overloaded
! 	field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set.
  
! 2005-03-15  Eric Christopher  <echristo@redhat.com>
  
! 	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
! 	STACK_GROWS_DOWNWARD.
  
! 2005-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
! 	call_used_regs for wCG registers.
  
! 2005-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
! 	for non-offsettable memory references to cope with outstanding reload
! 	replacements, take 2.
  
! 2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR c++/20280
! 	* gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
! 	temporary variable of pointer type if an lvalues is required.
! 	(gimplify_modify_expr_rhs): Request an rvalue from it.
! 	(gimplify_expr): Pass fallback on.
  
! 2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR middle-end/18628
! 	* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
! 	register.
  
! 2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
! 	* config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
! 	(TARGET_SWITCHES): Add -msym32 and -mno-sym32.
! 	(ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
! 	(ASM_SPEC): Pass down -msym32 and -mno-sym32.
  
! 2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/mips.h (mips_fix_vr4130_string): Declare.
! 	(TARGET_FIX_VR4130): New macro.
! 	(TARGET_OPTIONS): Add -mfix-vr4130.
! 	(ISA_HAS_MACCHI): New macro.
! 	(ASM_SPEC): Add -mfix-vr4130.
! 	* config/mips/mips.c (mips_fix_vr4130_string): New variable.
! 	(override_options): Handle mips_fix_vr4130_string.
! 	(mips_avoid_hazards): Clear all_noreorder_p
! 	if we're working around VR4130 errata and the macc alternatives
! 	are not available.
! 	* config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand.
! 	(*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns.
! 	* config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130.
! 	(MULTILIB_DEFAULTS): Remove leading "march=".
! 	(DRIVER_SELF_SPECS): Likewise.  Make -mfix-vr4130 imply -march=vr4130
! 	if no architecture option is given.
! 	* config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the
! 	VR4130 multilibs.
! 	(MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs.
! 	* doc/invoke.texi: Document -mfix-vr4130.
  
! 2005-03-13  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19331
! 	* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
! 	* fold-const.c (fold_sign_changed_comparison): Likewise.
! 	(fold_binary): Optimize comparisons against widened operands if
! 	the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.
  
! 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config.gcc: Remove excess indentation.
! 	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
  
! 2005-03-13  Marek Michalkiewicz  <marekm@amelek.gda.pl>
  
! 	PR target/20288
! 	* config/avr/avr.c (print_operand): Add 'p' and 'r'.
! 	(out_movhi_r_mr): Read low byte of volatile MEM first.
! 	(out_movhi_mr_r): Write high byte of volatile MEM first.
  
! 2005-03-11  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR rtl-optimization/20306
! 	* expr.c (emit_move_complex): Set try_int false if mode is
! 	MODE_COMPLEX_FLOAT and mov_optab exists for inner mode.  Only try
! 	emit_block_move if try_int is true.
  
! 2005-03-11  Richard Henderson  <rth@redhat.com>
  
! 	PR target/20415
! 	* config/i386/mmx.md (vec_dupv4hi): Fix predicate.
! 	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Update
! 	to match.
  
! 2005-03-11  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/mips.c (override_options): Only warn about -mint64
! 	deprecation if TARGET_INT64.
  
! 2005-03-10  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR rtl-opt/20412
! 	* simplify-rtx.c (simplify_relational_operation_1): Fix typo - check the
! 	correct mode.
  
! 2005-03-10  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/20322
! 	* combine.c (try_combine): If recog_for_combine added CLOBBERs
! 	to NEWI2PAT, fail to combine if they are used by NEWPAT.
  
! 2005-03-10  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
  
! 2005-03-10  Bob Wilson  <bob.wilson@acm.org>
  
! 	* config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Define.
  
! 2005-03-10  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	PR c++/20375
! 	* function.c (struct assign_parm_data_one): Remove last_named
! 	field.
! 	(assign_parm_find_data_types): Don't determine last_named.
! 	Reorder named_parm determination.
! 	(assign_parms): Only setup varargs on the last non-varadic
  	parameter.
  
! 2005-03-10  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR inline-asm/20314
! 	* gimplify.c (gimplify_asm_expr): Handle input/output constraints
! 	with multiple alternatives.
  
! 	* stmt.c (parse_output_constraint): Fix a typo.
  
! 2005-03-09  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
! 	for non-offsettable memory references to cope with outstanding reload
! 	replacements.
! 	* config/s390/s390.md ("reload_outti"): Call find_replacement to
! 	avoid losing outstanding address reloads.
! 	("reload_outdi", "reload_outdf"): Likewise.
  
! 2005-03-08  Ira Rosen  <irar@il.ibm.com>
  
! 	PR tree-optimization/20122
! 	* tree-vect-analyze.c (vect_object_analysis): Analyze initial
! 	condition of access function instead of base.
  
! 2005-03-07  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
! 	output_e500_flip_gt_bit.
  
! 	* config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
! 	as bit 31.
! 	(rs6000_generate_compare): Fix logic to look at the correct bits.
! 	(output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
! 	Look at GT bit.
! 	(rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
! 	gen_e500_flip_gt_bit.  Rename gen_move_from_CR_eq_bit to
! 	gen_move_from_CR_gt_bit.
  
! 	* config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
! 	("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
! 	(UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
  
! 	* config/rs6000/spe.md ("e500_cr_ior_compare"): New.
! 	(E500_CR_IOR_COMPARE): New constant.
  
! 2005-03-08  Earl Chew <earl_chew@agilent.com>
! 	    David Billinghurst <David.Billinghurst@riotinto.com>
  
! 	* config/i386/host-cygwin.c: New file to support precompiled
! 	headers on cygwin
! 	* config/i386/x-cygwin: Use host-cygwin.c on cygwin host
! 	* config.host: Use above files for cygwin host.
  
! 2005-03-07  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR rtl-optimization/19683
! 	* reload1.c (choose_reload_regs): Pass the number of bits, not the
! 	number of bytes, to smallest_int_for_mode.  Fix arguments to
! 	REG_CANNOT_CHANGE_MODE_P.
  
! 2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
  
! 	* config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
  
! 2005-03-07  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config/ia64/hpux.h (LINK_SPEC): Add -z.
! 	* config/ia64/ia64.c (ia64_function_value): Return a REG not a
! 	PARALLEL for an empty structure.
  
! 2005-03-05  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* doc/c-tree.texi: Wrap comments in @r{}.
! 	* doc/cpp.texi: Likewise.
! 	* doc/cppinternals.texi: Likewise.
! 	* doc/extend.texi: Likewise.
! 	* doc/md.texi: Likewise.
! 	* doc/objc.texi: Likewise.
! 	* doc/sourcebuild.texi: Likewise.
! 	* doc/tm.texi: Likewise.
! 	* doc/tree-ssa.texi
  
! 2005-03-04  Devang Patel  <dpatel@apple.com>
  
! 	PR tree-optimization/18815
! 	* tree-if-conv.c (combine_blocks): Adjust loop header edges for
! 	loops with zero exit edges.
  
! 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
! 	*-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
  
! 2005-03-05  John David Anglin  <dave.danglin@nrc-cnrc.gc.ca>
! 	    Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c++/19797
! 	* pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
! 	(ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
! 	* pa-protos.h (pa_hpux_asm_output_external): Add prototype.
! 	* pa.c (get_plabel): Change argument to symbol_ref.  Call
! 	maybe_get_identifier instead of get_identifier.
! 	(pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
! 	(struct deferred_plabel): Replace name field with symbol field.
! 	(TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
! 	ASM_OUTPUT_EXTERNAL_REAL is defined.
! 	(output_global_address): Use output_addr_const for output of all
! 	symbol_refs.
! 	(output_deferred_plabels): Use symbol_ref instead of name for address
! 	output.
! 	* pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
! 	ASM_OUTPUT_SYMBOL_REF): New macros.
! 	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw.  Update
! 	comment.
! 	(ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
! 	label.
  
! 2005-03-04  Andrew Haley  <aph@redhat.com>
  
! 	* unwind-dw2-fde-glibc.c (struct
! 	unw_eh_callback_data.check_cache):
! 	(frame_hdr_cache): New.
! 	(_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
! 	Cache frame header info.
  
! 2005-03-04  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	2005-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
! 	* config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
! 	for Thumb.
! 	* config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
  
! 2005-03-04  Daniel Berlin <dberlin@dbrelin.org>
  
! 	Fix PR debug/20253
  
! 	* c-opts.c (c_common_parse_file): Call start_source_file
! 	and end_source_file at the approriate times.
  
! 	* dwarf2out.c (dwarf2out_finish): Don't auto-end
! 	the main file, it will be done for us now.
  
! 2005-03-03  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/20277
! 	* config/rs6000/rs6000.c (rs6000_override_options): Don't allow
! 	-mcpu to override any other explicitly given flags.
  
! 2005-03-02  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR c++/19916
! 	* varasm.c (initializer_constant_valid_p): Allow conversions
! 	between OFFSET_TYPEs.  Tidy.
  
! 2005-03-02  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
  
! 2005-03-02  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	* cgraph.h (struct cgraph_edge): Add prev_caller and
! 	prev_callee fields.
! 	(cgraph_node_remove_callees): Export.
! 	* cgraph.c (cgraph_create_edge): Initialize prev_caller
! 	and prev_callee.
! 	(cgraph_edge_remove_callee): New function.
! 	(cgraph_edge_remove_caller): Likewise.
! 	(cgraph_remove_edge): Use.
! 	(cgraph_redirect_edge_callee): Likewise.
! 	(cgraph_node_remove_callees): New function.
! 	(cgraph_node_remove_callers): Likewise.
! 	(cgraph_remove_node): Use.
! 	* tree-optimize.c (tree_rest_of_compilation): Use
! 	cgraph_node_remove_callees instead of manual loop.
! 	* cgraphunit.c (cgraph_finalize_function): Likewise.
! 	(cgraph_expand_function): Likewise.
! 	(cgraph_remove_unreachable_nodes): Likewise.
  
! 2005-03-01  Roger Sayle  <roger@eyesopen.com>
  
! 	PR tree-optimization/20216
! 	* tree-chrec.c (tree_fold_factorial): Delete.
! 	(tree_fold_binomial): Change argument list to take a return type
! 	and change the type of K to unsigned int.  Rewrite to avoid explicit
! 	evaluation of factorials, and (recursively) calling fold to perform
! 	compile-time arithmetic.  Return NULL on (internal) overflow.
! 	(chrec_evaluate): Change type of K to an unsigned int.  Avoid
! 	calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
! 	if any intermediate calculation overflows.
! 	(chrec_apply): Update call to chrec_evaluate.
  
! 2005-03-01  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR target/19065.
! 	* config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
! 	not including (reg). Do not check for reg being CRIS_PC_REGNUM.
! 	(EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
! 	* config/cris/cris.md: Tweak comments referring to Q.
! 	("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
! 	("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
! 	("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
! 	("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
! 	("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
! 	Insert spaces in constraints to align alternatives vertically for
! 	readability.
! 	("cmphi"): Ditto.  Add separate alternative for operand 0 "r",
! 	operand 1: "M".
  
! 2005-02-28  Dale Johannesen  <dalej@apple.com>
! 	    Stan Shebs  <shebs@apple.com>
  
! 	Rewrite of 64-bit Darwin structure-by-value pass/return.
! 	* config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
! 	intoffset, use_stack, named.
! 	* config/rs6000/rs6000.c (rs6000_darwin64_function_arg):  Remove.
! 	(rs6000_darwin64_record_arg_advance_flush):  New.
! 	(rs6000_darwin64_record_arg_advance_recurse): New.
! 	(rs6000_darwin64_record_arg_flush):  New.
! 	(rs6000_darwin64_record_arg_recurse):  New.
! 	(rs6000_darwin64_record_arg):  New.
! 	(rs6000_return_in_memory):  Remove AGGREGATE_TYPE_P check.
! 	(function_arg_boundary):  Handle 128-bit aligned structs.
! 	(function_arg_advance):  Rewrite darwin64 struct handling.
! 	(function_arg):  Call rs6000_darwin64_record_arg.
! 	(function_arg_partial_nregs):  Handle darwin64 structs.
! 	(rs6000_darwin64_function_value):  Remove.
! 	(rs6000_function_value):  Call rs6000_darwin64_record_arg.
  
! 2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
  
! 	PR target/19819
! 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
! 	and after reload in REG+REG indexed addresses without REG_POINTER
! 	set in the base and not set in the index.
  
! 2005-02-28  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19874
! 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
! 	between different machine modes is never a "useless" conversion.
  
! 2005-02-27  Zack Weinberg  <zack@codesourcery.com>
  
! 	* config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
! 	* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
! 	installation directory first.
  
! 2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR rtl-optimization/17728
! 	* pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
! 	operand 0 from general_operand to move_dest_operand.
  
! 2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
! 	instead of trying to save and restore TREE_SYMBOL_REFERENCED.
! 	* pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
! 	(ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
  
! 2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/20188
! 	* tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
! 	for the lhs, also walk over the tree.  Likewise for rhs.
  
! 2005-02-26  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/invoke.texi, doc/standards.texi: Refer to
! 	gcc-4.0/c99status.html.
  
! 2005-02-26  Paolo Carlini  <pcarlini@suse.de>
  
! 	* doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
! 	Clarify that the alternative way doesn't work in GNU C++.
  
! 2005-02-25  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR target/19930
! 	* doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
! 	(LIBGCC2_HAS_DF_MODE): New.
! 	(LIBGCC2_HAS_XF_MODE): New.
! 	(LIBGCC2_HAS_TF_MODE): New.
! 	* libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
! 	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
! 	* libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
! 	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
! 	(LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
! 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
! 	and add _fixtfdi, _fixunstfdi, _floatditf
! 	* lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
! 	L_fixunstfdi, L_floatditf.
! 	* config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
! 	(LIBGCC2_HAS_TF_MODE): Define.
  
! 2005-02-25  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/20204
! 	* tree-into-ssa.c (insert_phi_nodes_for): Do not use
! 	REWRITE_THIS_STMT markers on PHI nodes.
! 	(rewrite_initialize_block): Likewise.
  
! 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
  
! 	* version.c (version_string): Mark as prerelease.
! 	* doc/include/gcc-common.texi (DEVELOPMENT): @clear it.
! 	* configure.ac (is_release): Set to 1.
! 	* configure: Regenerated.
  
! 2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/19937
! 	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
! 	to the type of the induction variable.
  
! 2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	PR rtl-optimization/20117
! 	* bb-reorder.c (duplicate_computed_gotos): Don't duplicate
! 	the block including noncopyable insn.
  
! 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (delete_trivially_dead_insns): Speed up by minimizing
! 	calls to find_reg_note.
  
! 2005-02-24  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/20127
! 	* tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
! 	the type.
  
! 2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
  
! 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
! 	vector types if to use base reg for misaligned non-word ld/std.
  
! 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR target/14619
! 	* config/cris/cris.c (cris_target_asm_function_prologue): Create
! 	dwarf2 label manually and put it after, not before the prologue.
  
! 2005-02-24  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/19019
! 	* reload.c (operands_match_p): Only increment register number for
! 	SCALAR_INT_MODE_P modes in multiple hard registers.
  
! 	* config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
! 	Fix formatting.
  
! 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* ChangeLog.5: Fix log message typo(s).
! 	* ChangeLog.7: Likewise.
! 	* ChangeLog.tree-ssa: Likewise.
! 	* cfgexpand.c: Fix comment typo(s).
! 	* conflict.c: Likewise.
! 	* defaults.h: Likewise.
! 	* dwarf2out.c: Likewise.
! 	* gcse.c: Likewise.
! 	* ggc-page.c: Likewise.
! 	* tree-eh.c: Likewise.
! 	* tree-ssa-dom.c: Likewise.
  
! 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/19019
! 	* mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
! 	* config/rs6000/darwin-ldouble.c: Only use the .symver directives
! 	if SHARED is defined.
  
! 	PR target/20196
! 	* config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
! 	allow splitting only if operands 0 and 3 don't overlap.
  
! 2005-02-24  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19953
! 	* builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
! 	(fold_builtin_1): Call them.
! 	* fold-const.c (fold_complex_mult_parts): Split out from ...
! 	(fold_complex_mult): ... here.  Fix typo in both imaginary case.
! 	(fold_complex_div_parts, fold_complex_div): New.
! 	(fold): Use them.
! 	* tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
  
! 2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	* tree-ssa-ccp.c (visit_assignment): Verify that result of
! 	VIEW_CONVERT_EXPR is_gimple_min_invariant.
  
! 	* print-tree.c (print_node_brief): Print LABEL_DECL_UID.
! 	(print_node): Likewise.
! 	Print TYPE_SIZES_GIMPLIFIED.
  
! 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
! 	("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
! 	operands as commutative in constraints.
  
! 2005-02-24  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-into-ssa.c: Re-organize internal functions.
  
! 2005-02-24  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/18902
! 	* c-opts.c (c_common_post_options): Set flag_complex_method to 2
! 	for c99.
! 	* common.opt (fcx-limited-range): New.
! 	* opts.c (set_fast_math_flags): Set flag_cx_limited_range.
! 	* toplev.c (flag_complex_method): Initialize to 1.
! 	(process_options): Set flag_complex_method to 0 if
! 	flag_cx_limited_range.
! 	* doc/invoke.texi (-fcx-limited-range): New.
  
! 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (delete_trivially_dead_insns): Speed up by using
! 	NEXT_INSN and PREV_INSN directly instead of next_real_insn and
! 	prev_real_insn.
  
! 2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
  
! 	* config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
! 	functions when -mid-shared-library is being used.
  
! 2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
! 	(LINK_LIBGCC_SPECIAL_1): Don't mention it.
! 	* gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
! 	* system.h: Poison LINK_LIBGCC_SPECIAL.
  
! 2005-02-23  James E Wilson  <wilson@specifixinc.com>
  
! 	* gengtype.c (note_insn_name): Make 1 element larger.
  
! 2005-02-23  Roger Sayle  <roger@eyesopen.com>
  
! 	PR target/20018
! 	PR rtl-optimization/20097
! 	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
! 	BImode SUBREGs of SImode registers which confuse the ia64 backend.
  
! 2005-02-23  David Edelsohn  <edelsohn@gnu.org>
  
! 	* t-aix43 (SHLIB_INSTALL): Create directory for shared library.
! 	* t-aix52 (SHLIB_INSTALL): Same.
  
! 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* genpreds.c: Update copyright.
  
! 2005-02-23  Michael Beach  <michaelb@ieee.org>
  
! 	PR target/20159
! 	* config/sparc/t-elf (startup files): Assemble with CPP.
  
! 2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
! 	(write_predicate_expr): Likewise.
  
! 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/20100
! 	PR tree-optimization/20115
! 	* tree-optimize.c (init_tree_optimization_passes): Remove
! 	pass_maybe_create_global_var.
! 	* tree-pass.h (pass_maybe_create_global_var): Remove.
! 	* tree-ssa-alias.c (aliases_computed_p): Declare.
! 	(struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
! 	(count_calls_and_maybe_create_global_var): Remove.
! 	(pass_maybe_create_global_var): Remove.
! 	(init_alias_info): Do not declare aliases_computed_p.
! 	(maybe_create_global_var): If the function contains no
! 	call-clobbered variables and a mix of pure/const and regular
! 	function calls, create .GLOBAL_VAR.
! 	Mark all call-clobbered variables for renaming.
! 	(merge_pointed_to_info): Update comment.
! 	(add_pointed_to_var): Likewise.
! 	(is_escape_site): Likewise.
! 	Accept struct alias_info * instead of size_t *.
! 	Update all users.
! 	Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
! 	as necessary.
! 	* tree-ssa-operands.c (get_call_expr_operands): If
! 	ALIASES_COMPUTED_P is false, do not add call-clobbering
! 	operands.
! 	* tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
! 	(delete_tree_ssa): Likewise.
  
! 2005-02-22  James E Wilson  <wilson@specifixinc.com>
  
! 	* toplev.c (backend_init): Don't call init_adjust_machine_modes here.
! 	(do_compile): Do call it here.
  
! 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	PR rtl-optimization/20017.
! 	* passes.c (rest_of_handle_combine, rest_of_handle_cse,
! 	rest_of_handle_cse2, rest_of_handle_gcse): Call
! 	delete_dead_jumptables immediately before calling cleanup_cfg.
  
! 2005-02-22  Devang Patel  <dpatel@apple.com>
  
! 	PR 19952
! 	* tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
! 	all labels
  
! 2005-02-22  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/aix.h (WINT_TYPE): Define.
  
! 2005-02-22  Stan Shebs  <shebs@apple.com>
  
! 	* config/rs6000/rs6000.c (rs6000_override_options): Default to
! 	natural alignment for 64-bit Darwin.
! 	(rs6000_parse_alignment_option): Warn about uses of -malign-power
! 	on 64-bit Darwin.
! 	* doc/invoke.texi: Document this.
  
! 2005-02-22  DJ Delorie  <dj@redhat.com>
  
! 	* c-common.c (c_common_type_for_mode): Pass the mode's precision
! 	to make_[un]signed_type, not the mode itself.
  
! 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cfg.c (cached_make_edge): Call make_edge if edge cache is
! 	not available.  Use tail calls wherever possible.
! 	(make_edge): Call unchecked_make_edge to create an edge.
  
! 	* tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
! 	(coalesce_ssa_name): Don't check for
! 	SSANORM_USE_COALESCE_LIST.
! 	(rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
  
! 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
! 	(rewrite_into_ssa): ... here.
  
! 2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR tree-optimization/19786
! 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
! 	tag to another's may-alias bitmap when adding to the other's list.
  
! 2005-02-21  DJ Delorie  <dj@redhat.com>
  
! 	* tree-ssa-loop-ivopts.c (computation_cost): Start register
! 	numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
! 	registers in unsupported ways.
! 	* expmed.c (init_expmed): Likewise.
  
! 2005-02-21  Stan Cox  <scox@redhat.com>
  
! 	* config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
  
! 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-cfg.c (fold_cond_expr_cond): New.
! 	(make_edges): Call fold_cond_expr_cond.
! 	(find_taken_edge): Accept nothing but INTEGER_CST.
! 	(find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
! 	and 1.
! 	(find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
  
! 	* flow.c (delete_dead_jumptables): Speed up by scanning insns
! 	that do not belong to any basic block.
  
! 2005-02-21  Jeff Law  <law@redhat.com>
  
! 	* cfganal.c (find_unreachable_blocks): Manually CSE load of
! 	e->dest.
  
! 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
! 	(SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
! 	Adjust their definitions.
! 	(remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
! 	(rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
  
! 	* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
! 	genautomata.c, langhooks.c, langhooks.h, system.h,
! 	config/arm/lib1funcs.asm: Update copyright.
  
! 2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* dbxout.c (dbxout_function_end): Emit Lscope label always.
  
! 2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	PR bootstrap/13770
! 	* doc/install.texi: Document --with-gc.
  
! 2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* simplify-rtx.c (simplify_unary_operation): Add a missing
! 	"break" statement.
  
! 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR tree-optimization/18663
! 	* tree-ssa-dom.c (extract_range_from_cond): Return 0
! 	if the type has variable bounds.
  
! 2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* gcse.c: Remove an obsolete comment.
  
! 	* cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
  
! 2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* doc/extend.texi (Function Attributes) <Attribute const>: The
! 	attribute "pure" is below this text, not above.
  
! 2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (pa_assemble_integer, get_plabel): Small cleanups.
! 	(pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
! 	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
  
! 2005-02-20  Zack Weinberg  <zack@codesourcery.com>
  
! 	PR 18785
! 	* langhooks.h (struct lang_hooks): Add to_target_charset.
! 	* langhooks.c (lhd_to_target_charset): New function.
! 	* langhooks-def.h: Declare lhd_to_target_charset.
! 	(LANG_HOOKS_TO_TARGET_CHARSET): New macro.
! 	(LANG_HOOKS_INITIALIZER): Update.
! 	* c-common.c (c_common_to_target_charset): New function.
! 	* c-common.h: Declare it.
! 	* c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
! 	c_common_to_target_charset.
  
! 	* defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
! 	(TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
! 	Delete definitions.
! 	* system.h: Poison them.
! 	* doc/tm.texi: Don't discuss them.
! 	* builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
! 	* c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
! 	(pp_c_char): Do not attempt to generate letter escapes for
! 	newline, tab, etc.
! 	* config/arm/arm.c (output_ascii_pseudo_op): Likewise.
! 	* config/mips/mips.c (mips_output_ascii): Likewise.
  
! 2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	PR tree-optimization/19951
! 	* tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
! 	is abnormal.
  
! 2005-02-19  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/19698
! 	* function.h (struct function): New field `max_loop_depth'.
! 	* cfgloop.c (establish_preds): Update maximum loop depth seen so far.
! 	(flow_loops_find): Reset the max loop depth count before finding loops.
! 	* flow.c (MAX_LIVENESS_ROUNDS): New constant.
! 	(update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
! 	(calculate_global_regs_live): Make sure the loop will terminate
! 	when the initial sets are not empty.
  
! 2005-02-19  Zack Weinberg  <zack@codesourcery.com>
  
! 	* mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
! 	object inside.
! 	* config/ia64/hpux.h: Don't define LIBGCC_SPEC.
  
! 2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR other/19525
! 	* doc/invoke.texi: Remove documentation of %M spec.
! 	* gcc.c: Likewise.
! 	(init_spec): Remove %M suffix from -lgcc_s.
! 	(do_spec_1): Remove 'M' case.
! 	* mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
! 	to put shared libraries in the multilib directory.  Remove the
! 	shlib_so_soname substitution variable.  Don't add a multilib encoding
! 	to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
! 	reported by -print-multi-os-directory.  Pass @multilib_dir@ to
! 	SHLIB_INSTALL as well as SHLIB_LINK.
! 	* config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
! 	(SHLIB_NAME): Delete.
! 	(SHLIB_DIR): New macro.
! 	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
! 	(SHLIB_INSTALL): Adjust accordingly.
! 	* config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
! 	* config/t-slibgcc-sld: Likewise.
! 	* config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
! 	(SHLIBUNWIND_SONAME): Use @shlib_base_name@.
! 	(SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
! 	in $(SHLIB_DIR).
! 	(SHLIBUNWIND_INSTALL): Adjust accordingly.
! 	* config/i386/t-nwld (SHLIB_SONAME): Delete.
! 	(SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
! 	Use @shlib_base_name@ instead of @shlib_so_name@.
! 	* config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
! 	and @shlib_base_name@.so in @multilib_dir@.
! 	(SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
! 	to the install path.
! 	* config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
! 	(SHLIB_LINK): Remove previous workaround.
! 	* config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
! 	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
! 	(SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
! 	the install path.
! 	* config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
! 	@multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
! 	(SHLIB_INSTALL): Adjust accordingly.
! 	(SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
! 	* config/rs6000/t-aix52: As for config/rs6000/t-aix43.
! 	* config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
! 	config/t-slibgcc-elf-ver.
  
! 2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
! 	    Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/19828
! 	* tree-ssa-loop-im.c: Add a TODO comment.
! 	(movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
! 	without side-effects.
  
! 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
! 	call fold_convert.
  
! 2005-02-18  James E. Wilson  <wilson@specifixinc.com>
  
! 	* doc/invoke.texi (IA-64 Options): Delete -mb-step.
! 	* config/ia64/ia64.c (last_group, group_idx): Delete variables.
! 	(errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
! 	functions.
! 	(ia64_reorg): Delete fixup_errata call.
! 	* config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
! 	(TARGET_SWITCHES): Delete -mb-step entry.
  
! 2005-02-19  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/20043
! 	* c-typeck.c (composite_type): Handle quals in transparent unions.
! 	(type_lists_compatible_p): Likewise.
  
! 2005-02-18  Stan Shebs  <shebs@apple.com>
  
! 	* config/darwin.c (machopic_select_rtx_section): Don't put relocatable
! 	expressions in the .literal8 section.
  
! 2005-02-18  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
  
! 2005-02-18  Roger Sayle  <roger@eyesopen.com>
  
! 	* fold-const.c (constant_boolean_node): Always create values of the
! 	specified type, don't bother calling truthvalue_conversion.
  
! 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* except.c (output_function_exception_table): Call
! 	assemble_external_libcall (eh_personality_libfunc).
  
! 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR target/19886
! 	* config/ia64/ia64.h (struct machine_function): Add state_num.
! 	* config/ia64/ia64.c (process_epilogue,
! 	process_for_unwind_directive): Use new unwind state numbers each
! 	time rather than state 1.
  
! 2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/20054
! 	* config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
! 	before the "*llgt_didi" pattern.
  
! 2005-02-18  Jason Merrill  <jason@redhat.com>
  
! 	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
  
! 2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
  
! 	* arm/lib1funcs.asm (FUNC_ALIAS): New macro.
! 	(div0): Use it in place of ARM_FUNC_ALIAS.
! 	(lshrdi3, ashrdi3, ashlrdi3): Likewise.
  
! 2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/20030
! 	* fold-const.c (fold_indirect_ref_1): Use the correct index for zero
! 	access, the lower bound of the array type if it exists.
  
! 2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR c++/20008
! 	* stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
! 	cases that are out-of-range for the index type.
  
! 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
! 	(estimate_case_costs): Don't call convert.
! 	* expmed.c (expand_shift): Likewise.
! 	(make_tree): Call fold_convert instead of convert.
  
! 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c++/19813
! 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
! 	that ref to be marked MEM_READONLY_P doesn't have base that needs
! 	constructing.
  
! 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* genautomata.c (output_get_cpu_unit_code_func,
! 	output_cpu_unit_reservation_p): Don't generate old-style function
! 	definitions.
  
! 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c++/20023
! 	PR tree-optimization/20009
! 	* convert.c (convert_to_integer): Revert 2005-02-16 change.
  
! 	PR tree-optimization/18947
! 	* cgraphunit.c (cgraph_finalize_function): When redefining an extern
! 	inline, remove all nodes that are inlined into the extern inline
! 	being redefined.
  
! 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
! 	loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
! 	tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
! 	config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
! 	Update copyright.
  
! 2005-02-17  Roger Sayle  <roger@eyesopen.com>
  
! 	PR tree-optimization/19917
! 	* tree-eh.c (tree_could_trap_p): Consider calls to weak functions
! 	to be potentially trapping.
  
! 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* libgcc2.c, tree-vect-analyze.c: Fix comment typos.
  
! 2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* builtins.c (expand_builtin_return_addr): Remove tem parameter.
! 	tem becomes a local variable which is set to the value of the
! 	back end defined INITIAL_FRAME_ADDRESS macro.
! 	(expand_builtin_frame_address): Omit the base parameter to
! 	expand_builtin_return_addr.
! 	(expand_builtin_profile_func): Likewise.
! 	* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
! 	(DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
! 	* doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
  
! 2005-02-17  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/s390/s390.c (s390_alloc_pool, s390_free_pool,
! 	s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
! 	* config/frv/frv.c (frv_function_epilogue): Likewise.
  
! 2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* lambda-code (perfect_nestify): Remove mark/unmark
! 	for rewriting hack.
! 	* tree-loop-linear.c (linear_transform_loops): Add
! 	rewrite_into_ssa call so that ssa is correct for
! 	rewriting into loop closed.
  
! 2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	* bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
! 	* bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
! 	BITMAP_FREE.
! 	* bt-load.c (btr_def_live_range, combine_btr_defs,
! 	migrate_btr_def, migrate_btr_defs): Likewise.
! 	* cfgcleanup.c (thread_jump): Likewise.
! 	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
! 	* df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
! 	df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
! 	df_rd_local_compute, df_reg_info_compute): Likewise.
! 	* dominance.c (init_dom_info, free_dom_info): Likewise.
! 	* flow.c (init_propagate_block_info,
! 	free_propagate_block_info): Likewise.
! 	* gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
! 	* global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
! 	modify_reg_pav): Likewise.
! 	* loop-invariant.c (find_defs, find_invariant_insn,
! 	find_invariants, free_inv_motion_data): Likewise.
! 	* predict.c (tree_predict_by_opcode,
! 	estimate_bb_frequencies): Likewise.
! 	* stmt.c (expand_case): Likewise.
! 	* tree-cfg.c (tree_duplicate_sese_region): Likewise.
! 	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
! 	* tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
! 	* tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
! 	get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
! 	rewrite_ssa_into_ssa): Likewise.
! 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
! 	* tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
! 	analyze_edges_for_bb, perform_edge_inserts): Likewise.
! 	* tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
! 	* tree-sra.c (tree_sra): Likewise.
! 	* tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
! 	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
! 	* tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
! 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
! 	* tree-ssa-dse.c (tree_ssa_dse): Likewise.
! 	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
  	Likewise.
- 	* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
- 	calculate_live_on_entry, calculate_live_on_exit,
- 	build_tree_conflict_graph): Likewise.
- 	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
- 	record_important_candidates, set_use_iv_cost, find_depends,
- 	determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
- 	tree_ssa_iv_optimize_finalize): Likewise.
- 	* tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
- 	find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
- 	tree_duplicate_loop_to_header_edge): Likewise.
- 	* tree-ssa-pre.c (init_pre, fini_pre): Likewise.
- 	* tree-ssa.c (verify_flow_insensitive_alias_info,
- 	verify_name_tags, verify_ssa, init_tree_ssa,
- 	delete_tree_ssa): Likewise.
- 	* tree-ssanames.c (marked_ssa_names, init_ssanames,
- 	fini_ssanames): Likewise.
- 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
  
! 2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/rs6000/t-rtems: Completely reworked.
  
! 2005-02-17  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
  
! 2005-02-17  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
! 	POINTER_TYPE_P when checking that type is a pointer.
! 	(vect_get_memtag): Remove.
! 	(vect_address_analysis): Use POINTER_TYPE_P. Call
! 	vect_object_analysis with dummy parameter for memtag.
! 	(vect_object_analysis): Extract memtag (functionality that
! 	used to be in vect_get_memtag and moved here). Fix printings.
! 	(vect_analyze_data_refs): Fix comment. Call vect_object_analysis
! 	with correct parameters. Remove call to vect_get_memtag.
  
! 2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
! 	(tree-vectorizer.o): Added missing dependencies.
  
! 	* tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
! 	decleration.
! 	(slpeel_tree_peel_loop_to_edge): Function externalized (had a static
! 	declaration in tree-vectorizer.c, now has an extern declaration in
! 	tree-vectorizer.h).
! 	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
! 	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
! 	get_vectype_for_scalar_type, vect_is_simple_use,
! 	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
! 	vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
! 	new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
! 	vectorizable_store, vectorizable_operation, vectorizable_assignment,
! 	vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
! 	find_loop_location): Likewise.
  
! 	* tree-vectorizer.c (langhooks.h): #include removed.
! 	(slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
! 	moved to tree-vectorized.h.
! 	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
! 	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
! 	get_vectype_for_scalar_type, vect_is_simple_use,
! 	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
! 	vect_supportable_dr_alignment, new_loop_vec_info,
! 	destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
! 	vect_set_verbosity_level, find_loop_location): Likewise.
  
! 	(vect_analyze_loop): Function externalized. Declaration moved to
! 	tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
! 	(vect_analyze_loop_form): Moved to tree-vect-analyze.c.
! 	(vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
! 	vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
! 	vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
! 	vect_enhance_data_refs_alignment, vect_analyze_operations,
! 	exist_non_indexing_operands_for_use_p, vect_mark_relevant,
! 	vect_stmt_relevant_p, vect_get_loop_niters,
! 	vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
! 	vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
! 	vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
! 	vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
! 	vect_get_memtag): Likewise.
  
! 	(vectorizable_load): Function externalized. Declaration moved to
! 	tree-vectorized.h. Function definition moved to tree-vect-transform.c.
! 	(vectorizable_store, vectorizable_operation, vectorizable_assignment,
! 	vect_transform_loop): Likewise.
! 	(vect_transform_stmt): Moved to tree-vect-transform.c.
! 	(vect_align_data_ref, vect_create_destination_var,
! 	vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
! 	vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
! 	vect_get_vec_def_for_operand, vect_init_vector,
! 	vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
! 	vect_build_loop_niters, vect_update_ivs_after_vectorizer,
! 	vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
! 	vect_update_inits_of_drs, vect_do_peeling_for_alignment,
! 	vect_do_peeling_for_loop_bound): Likewise.
  
! 	* tree-vect-analyze.c: New file.
! 	* tree-vect-transform.c: New file.
  
! 2005-02-17  Jason Merrill  <jason@redhat.com>
  
! 	PR mudflap/19319, c++/19317
! 	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
! 	slot explicit.
  
! 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Update link for Darwin-specific
! 	tool binary site.
  
! 2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
! 	constant_boolean_node.
  
! 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/19019
! 	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
! 	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
  
! 2005-02-16  Richard Henderson  <rth@redhat.com>
  
! 	PR 19920
! 	* libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
! 	with W_TYPE_SIZE.
! 	(HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
! 	replace uses with Wtype_MAXp1_F.
! 	(L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
! 	L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
! 	L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
! 	L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
! 	and HAVE_TFMODE as appropriate.
! 	(__fixunssfDI): Provide an implementation that doesn't need DFmode.
! 	(__floatdisf): Likewise.
! 	* libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
! 	(HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
! 	(Wtype_MAXp1_F): New.
! 	(DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
! 	__powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
  
! 2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
  
! 	* PR target/19162
! 	* arm.c (arm_apply_result_size): New function.
! 	* arm.h (APPLY_RESULT_SIZE): Define.
! 	* arm-protos.h (arm_apply_result_size): Add prototype.
! 	* arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
! 	(movxf): New expand.
! 	(ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
! 	(call_value_symbol): Remove predicate for operand 0.
! 	(call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
! 	(untyped_call): Rework to correclty return values for any type.
! 	(untyped_return): New expand.
! 	* fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
  
! 2005-02-16  Stan Shebs  <shebs@apple.com>
  
! 	* config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
! 	* config/rs6000/t-darwin8: New, for 64-bit multilib.
  
! 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/install.texi (sparc-sun-solaris2*): Document required GMP
! 	configure settings on Solaris 7 and later.
  
! 2005-02-16  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19865
! 	* tree-optimize.c (init_tree_optimization_passes): Run
! 	pass_may_alias after pass_sra.
  
! 2005-02-16  Richard Henderson  <rth@redhat.com>
! 	    Stuart Hastings  <stuart@apple.com>
  
! 	PR debug/19521
! 	* dbxout.c (dbxout_function_end): Take decl parameter; update callers.
! 	Do nothing if debug info suppressed for this function.
! 	(dbxout_begin_function): Early exit if debug info suppressed for
! 	this function.
  
! 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	PR target/20007
! 	* config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
! 	find_basic_blocks.
! 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
  
! 	PR tree-optimization/19967
! 	* builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
! 	expand_builtin_strchr, expand_builtin_strrchr): Take a new
! 	argument TYPE.  Adjust calls to fold_builtin_XXX.
! 	(expand_builtin, fold_builtin_1): Adjust calls to
! 	expand_builtin_XXX.
! 	(fold_builtin_strchr, fold_builtin_strpbrk,
! 	fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
! 	result to a requested type TYPE.
  
! 2005-02-16  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/19857
! 	* fold-const.c (fold): Don't optimize (T)(x & cst) to
! 	(T)x & (T)cst if (T)cst overflows.
! 	* convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
! 	TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
  
! 2005-02-15  Jeff Law  <law@redhat.com>
  
! 	* gcse.c (blocks_with_calls): New bitmap.
! 	(alloc_gcse_mem): Allocate it.
! 	(free_gcse_mem): Free it.
! 	(clear_modifY_mem_tables): Clear it.
! 	(record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
! 	when we encounter CALL_INSNs.
! 	(compute_transp, case MEM): Handle blocks with calls separate
! 	from blocks without calls.  Use bitmap iterators rather than
! 	FOR_EACH_BB.
  
! 2005-02-15  Peter O'Gorman  <peter@pogma.com>
  
! 	PR bootstrap/18810
! 	* mklibgcc.in (vis_hide): Use a temporary object file, not
! 	-o /dev/null.
  
! 2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
  
! 	PR target/19924
! 	* config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
! 	access optimization.
  
! 2005-02-15  David Edelsohn  <edelsohn@gnu.org>
! 	    Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/19019
! 	* config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
! 	(_xlqsub): Rename to __gcc_qsub.
! 	(_xlqmul): Rename to __gcc_qmul.
! 	(_xlqdiv): Rename to __gcc_qdiv.
! 	Provide versioned symbol aliases with old names.
! 	* config/rs6000/libgcc-ppc64.ver: Rename symbols.
! 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
! 	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
! 	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
! 	* config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
  
! 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
! 	Fold ~(A - 1) and ~(A + -1) to -A.
  
! 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR pch/14940
! 	PR target/19300
! 	* config/host-linux.c (linux_gt_pch_use_address): Copy from
! 	config/pa/pa-host.c:pa_gt_pch_use_address.
  
! 2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-vn.c (get_value_handle): Make sure that given an
! 	is_gimple_min_invariant expression, we always return it.
  
! 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* passes.c (rest_of_handle_gcse): Fix a comment.
  
! 2005-02-15  Jeff Law  <law@redhat.com>
  
! 	* gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
! 	bitmap.
! 	(alloc_gcse_mem, free_gcse_mem): Corresponding changes.
! 	(canon_list_insert, record_last_mem_set_info): Similarly.
! 	(clear_modify_mem_tables): Similarly.
  
! 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
! 	tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
! 	config/mips/mips.md, config/rs6000/aix.h,
! 	config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
  
! 2005-02-15  Richard Henderson  <rth@redhat.com>
  
! 	* bb-reorder.c (find_traces_1_round): Force fallthru edge from a
! 	call to be best_edge.
  
! 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* basic-block.h: Adjust the prototype for find_basic_blocks.
! 	* cfgbuild.c (find_basic_blocks): Remove unused arguments.
! 	* passes.c (rest_of_handle_loop_optimize): Adjust the call to
! 	find_basic_blocks.
  
! 	* flow.c (recompute_reg_usage): Remove all arguments.
! 	* passes.c (rest_of_compilation): Adjust the call to
! 	recompute_reg_usage.
! 	* rtl.h: Adjust the prototype for recompute_reg_usage.
  
! 2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-dump.c (dump_files): Update to reflect new member
! 	of dump_file_info.
! 	(dump_register): Add new argument.
! 	Set glob name.
! 	(dump_switch_p_1): Check against glob name if doglob was passed.
! 	(dump_switch_p): Check against regular first, then glob if
! 	we didn't have any hits on the dump name.
! 	* tree-optimize.c (register_one_dump_file):
! 	Pass in glob name as well.
! 	* tree-pass.h (struct dump_file_info): Add glob
! 	member.
  
! 2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR preprocessor/16323
! 	* doc/invoke.texi: Document that -Wendif-labels is on by default.
  
! 2005-02-14  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/19019
! 	* config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
! 	(trunctfdf2_internal1): New.
! 	(trunctfdf2_internal2): Renamed from trunctfdf2.
  
! 2005-02-14  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19853
! 	* tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
  
! 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* passes.c (rest_of_handle_loop_optimize): Remove calls to
! 	delete_dead_jumptables and cleanup_cfg.
  
! 2005-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* reload.c (find_reloads): Swap address_reloaded flags when
! 	swapping commutative operands.
  
! 2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
! 	Use standard_iv_increment_position for computing the bsi position
! 	for create_iv.
! 	* tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
! 	the bsi position.
  
! 2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR target/17428
! 	* cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
! 	life range of hard registers.
! 	* value-prof.c (insn_prefetch_values_to_profile): Only
! 	scan normal insns.
  
! 	* value-prof.c (rtl_find_values_to_profile): Do not look for values to
! 	profile in libcalls.
  
! 2005-02-13  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	* bitmap.h (bitmap_and_compl_into): Return bool.
! 	* bitmap.c (bitmap_and_compl_into): Return changed flag.
  
! 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/19944
! 	* fold-const.c (fold): Re-add ABS_EXPR folding.
  
! 2005-02-13  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/19019
! 	* config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
! 	{TARGET,MASK}_XL_COMPAT.
! 	(SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
! 	MASK_XL_COMPAT.
! 	* config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
! 	* config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
! 	TARGET_XL_COMPAT.
! 	(rs6000_arg_partial_bytes): Same.
! 	(rs6000_generate_compare): Generate PARALLEL for compare if TFmode
! 	and XL compatibility enabled.
! 	* config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
! 	* config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
! 	test to final condition.
! 	(cmptf_internal2): New.
! 	* doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
! 	xl-compat.  Add TFmode information to description.
  
! 2005-02-13  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
  
! 2005-02-13  Jason Merrill  <jason@redhat.com>
  
! 	PR c++/16405
! 	* fold-const.c (fold_indirect_ref_1): Split out from...
! 	(build_fold_indirect_ref): Here.
! 	(fold_indirect_ref): New fn.
! 	* tree.h: Declare it.
! 	* gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
! 	(gimplify_modify_expr_rhs): Likewise.
! 	(gimplify_expr): Likewise.
  
! 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/14303
! 	PR tree-optimization/15784
! 	* fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
! 	Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
! 	ABS_EXPR<x> != 0 to x != 0.
  
! 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
! 	simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
! 	spelling conventions.
  
! 	* passes.c (rest_of_handle_gcse): Don't run cse_main and
! 	delete_trivially_dead_insns too many times.
  
! 	* passes.c (rest_of_handle_gcse): Remove dead assignments to
! 	tem and tem2.
  
! 2005-02-12  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_get_base_and_offset): Remove.
! 	(vect_is_simple_iv_evolution): Remove redundant parameter
! 	and step check.
! 	(vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
! 	without last parameter.
! 	(vect_analyze_pointer_ref_access): Get access_fn as parameter.
! 	Return pointer step. Call vect_is_simple_iv_evolution without
! 	last parameter. Check only that the step is multiple of size
! 	type. Remove stmt_vinfo updates.
! 	(vect_get_memtag_and_dr): Remove.
! 	(vect_get_memtag): New function.
! 	(vect_address_analysis): New function.
! 	(vect_object_analysis): New function.
! 	(vect_analyze_data_refs): Call vect_object_analysis and
! 	vect_get_memtag. Update stmt_vinfo fields.
  
! 2005-02-12  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-data-ref.c (array_base_name_differ_p): Check that the bases
! 	exist and are objects. Remove checks for pointer.
! 	* tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
! 	STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
! 	(vect_create_data_ref_ptr): Likewise.
! 	(vect_base_addr_differ_p): New function.
! 	(vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
! 	(vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
! 	Don't set the DR_BASE_NAME field of data-ref.
! 	(vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
  
! 2005-02-12  Uros Bizjak  <uros@kss-loka.si>
  
! 	* optabs.h (enum optab_index): Add new OTI_ldexp.
! 	(ldexp_optab): Define corresponding macro.
! 	* optabs.c (init_optabs): Initialize ldexp_optab.
! 	* genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
! 	patterns.
! 	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
! 	using ldexp_optab.
! 	(expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
! 	expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
  
! 	* config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
! 	to implement ldexpf, ldexp and ldexpl built-ins as inline x87
! 	intrinsics.
  
! 2005-02-12  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
! 	to base_address.
! 	* tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
! 	stmt_vec_info.
! 	(vect_get_base_and_offset): Always return an address.
! 	(vect_create_addr_base_for_vector_ref): Remove treatment for
! 	different data reference types.
! 	(vect_compute_data_ref_alignment): Rename base to base_address in
! 	stmt_vec_info. Get the object in order to force its alignment.
! 	(vect_get_memtag_and_dr): Rename base to base_address in
! 	stmt_vec_info. Extract the object for memtag analysis.
  
! 2005-02-12  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR regression/19898.
! 	* config/cris/cris.c (cris_notice_update_cc): When testing if insn
! 	changes cc_status, use apply modified_in_p to part of cc_status
! 	and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
! 	body.
  
! 2005-02-11  Richard Henderson  <rth@redhat.com>
  
! 	* tree-complex.c (expand_complex_libcall): New.
! 	(expand_complex_multiplication): Use it for c99 compliance.
! 	(expand_complex_division): Likewise.
! 	* fold-const.c (fold_complex_add, fold_complex_mult): New.
! 	(fold): Call them.
! 	* builtins.c (built_in_names): Remove const.
! 	* tree.c (build_common_builtin_nodes): Build complex arithmetic
! 	builtins.
! 	* tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
! 	(BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
! 	(built_in_names): Remove const.
! 	* c-common.c (c_common_type_for_mode): Handle complex modes.
! 	* flags.h, toplev.c (flag_complex_method): Rename from
! 	flag_complex_divide_method.
! 	* libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
! 	__mulsc3, __muldc3, __mulxc3, __multc3): New.
! 	* libgcc2.h: Declare them.
! 	* libgcc-std.ver: Export them.
! 	* mklibgcc.in (lib2funcs): Build them.
  
! 2005-02-11  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/19876
! 	Partially revert my change from 2005-01-14
! 	* tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
! 	(compute_antic): ...and remove the loop here.
  
! 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/19858
! 	* fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
! 	is number of inner's bits, avoid creating a BIT_FIELD_REF.
  
! 	* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
! 	crtend.o if -pie.  Use %{x:a;:b} spec syntax.
  
! 2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
! 	offsets for the big-endian 32-bit case.
  
! 2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
  
! 2005-02-11  Dale Johannesen  <dalej@apple.com>
  
! 	* cselib.c (cselib_process_insn):  Clear out regs where
! 	HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
! 	* reload.c (find_equiv_reg): Ditto.
  
! 2005-02-11  Ian Lance Taylor  <ian@airs.com>
  
! 	* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
! 	with no elements.
  
! 	* tree.c (build_function_type_list): Work correctly if there are
! 	no arguments.
  
! 2005-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
! 	"*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
! 	("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
! 	TARGET_ZARCH instead of TARGET_64BIT.
  
! 2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/rs6000/t-rtems:
! 	(MULTILIB_OPTIONS): Remove mcpu=602.
! 	(MUTLILIB_DIRNAMES): Remove m602.
! 	(MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
! 	Let mcpu=602 match mcpu=603.
! 	(MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
  
! 2005-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
! 	signal trampolines.
  
! 2005-02-10  David Daney  <ddaney@avtrex.com>
  
! 	* config/alpha/linux-unwind.h: Add exception clause to copyright.
! 	* config/i386/linux-unwind.h: Likewise.
! 	* config/ia64/linux-unwind.h: Likewise.
! 	* config/mips/linux-unwind.h: Likewise.
! 	* config/pa/linux-unwind.h: Likewise.
! 	* config/rs6000/linux-unwind.h: Likewise.
! 	* config/s390/linux-unwind.h: Likewise.
! 	* config/sh/linux-unwind.h: Likewise.
! 	* config/sparc/linux-unwind.h: Likewise.
  
! 2005-02-10  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/17549
! 	* tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
! 	TER to replace a DEF with its expression if the DEF and the
! 	rhs of the expression we replace into have the same root
! 	variable.
  
! 2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/mips.md: Fix the placement of the match_scratch in the
! 	lea64 peephole2.
  
! 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
! 	Fix comment typos.
  
! 2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
! 	(strip_offset): Handle addresses.
! 	(add_address_candidates): Use strip_offset.
! 	(difference_cost): Reflect strip_offset change.
! 	(force_var_cost, difference_cost): Strip nops.
  
! 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
  
! 	* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
! 	tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
! 	config/cris/cris-protos.h, config/cris/cris.c: Update
! 	copyright.
  
! 2005-02-10  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
! 	(lookup_avail_expr): Similarly.
  
! 2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	* builtins.c (fold_builtin_powi): New function.
! 	(fold_builtin_1): Call it.
  
! 2005-02-10  Steven Bosscher  <stevenb@suse.de>
  
! 	PR documentation/19309
! 	* doc/cpp.texi: The __GNUC__ and related predefined macros
! 	are also defined for the "standalone" cpp.
! 	Some non-GCC compilers may also define __GNUC__.
  
! 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/19342
! 	* c-typeck.c (common_type): New routine.  Old common_type renamed
! 	to...
! 	(c_common_type): ...this.
! 	(build_conditional_expr, build_binary_op): Use c_common_type instead
! 	of common_type.
  
! 2005-02-10  Steven Bosscher  <stevenb@suse.de>
  
! 	* doc/md.texi: Replace @samp{length} with @code{length}.
  
! 2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/18687
! 	* tree-flow.h (find_loop_niter): Declare.
! 	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
! 	Try using scev even for loops with more than one exit.
! 	* tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
! 	(struct ivopts_data): Added niters field.
! 	(struct nfe_cache_elt): New.
! 	(nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
! 	functions.
! 	(tree_ssa_iv_optimize_init): Initialize niters cache.
! 	(determine_number_of_iterations): Removed.
! 	(find_induction_variables): Do not call determine_number_of_iterations.
! 	Access niters for single exit through niter_for_single_dom_exit.
! 	(add_iv_outer_candidates): Access niters for single exit through
! 	niter_for_single_dom_exit.
! 	(may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
! 	number_of_iterations_cond.
! 	(iv_period): New function.
! 	(determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
! 	(may_replace_final_value): Take data argument.  Use
! 	niter_for_single_dom_exit.
! 	(determine_use_iv_cost_outer): Pass data to may_replace_final_value.
! 	(rewrite_use_compare): Pass data to may_eliminate_iv.
! 	(rewrite_use_outer): Pass data to may_replace_final_value.
! 	(free_loop_data): Clean up the niters cache.
! 	(tree_ssa_iv_optimize_finalize): Free the niters cache.
! 	(tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
! 	* tree-ssa-loop-niter.c (find_loop_niter): New function.
! 	(find_loop_niter_by_eval): Use tree_int_cst_lt.
! 	(num_ending_zeros): Moved to tree.c.
! 	* tree.h (num_ending_zeros): Declare.
! 	* tree.c (num_ending_zeros): Moved from tree.c.
  
! 2005-02-09  Richard Henderson  <rth@redhat.com>
  
! 	* builtins.c (DEF_BUILTIN): Add COND argument.
! 	* tree.h (DEF_BUILTIN): Likewise.
! 	* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
! 	DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
! 	match.
! 	(DEF_BUILTIN_STUB): New.
! 	(BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
! 	BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
! 	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
! 	* c-common.c (DEF_BUILTIN): Add COND argument.
! 	* tree.c (local_define_builtin): New.
! 	(build_common_builtin_nodes): New.
  
! 2005-02-09  Roger Sayle  <roger@eyesopen.com>
  
! 	* fold-const.c (fold_strip_sign_ops): New function to simplify a
! 	floating point expression ignoring the sign of the result.
! 	(fold) <ABS_EXPR>: Use it to simplify fabs(x).
! 	(fold) <MULT_EXPR>: Use it to simplify x*x.
! 	* tree.h (fold_strip_sign_ops): Prototype here.
! 	* builtins.c (fold_builtin_copysign): Take an additional FNDECL
! 	argument.  Use fold_strip_sign_ops to simplify the first argument.
! 	(fold_builtin_pow):  Use fold_strip_sign_ops to simplify the
! 	first argument when the second argument is an even integer
! 	constant, but only with -funsafe_math_optimizations.
! 	(fold_builtin_1): Update call to fold_builtin_copysign.
  
! 2005-02-09  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/19583
! 	* gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
! 	just check whether EH_FILTER_FAILURE falls through.
  
! 2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* gcc/haifa-sched.c (schedule_block): Make queued sched group
! 	insns return to ready list in the next turn.
  
! 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	PR middle-end/19402
! 	* builtins.def: New __builtin_powi[lf].
! 	* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
! 	(expand_builtin_powi): New function.
! 	(expand_builtin): Dispatch to expand_builtin_powi.
! 	* libgcc2.h: Add prototypes for __builtin_powi[lf].
! 	* libgcc2.c: Add __builtin_powi[lf] implementation.
! 	* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
! 	* optabs.h: Add powi_optab.
! 	* optabs.c (init_optabs): Initialize powi_optab.
! 	* doc/extend.texi: Document __builtin_powi[lf].
  
! 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
! 	exists.
  
! 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	PR middle-end/19854
! 	* fold-const.c (try_move_mult_to_index): Remove redundant
! 	type argument.  Create ADDR_EXPR with correct type.
! 	(fold): Update callers of try_move_mult_to_index.  Convert
! 	result to the appropriate type.
  
! 2005-02-09  Roger Sayle  <roger@eyesopen.com>
  
! 	PR target/19597
! 	* config/avr/avr.c (default_rtx_costs): Delete.
! 	(avr_operand_rtx_cost): New function.
! 	(avr_rtx_costs): Completely rewrite.
  
! 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR target/19806
! 	* config/cris/cris.c (in_code): New variable.
! 	(cris_output_addr_const): Now a static function, a wrapper for
! 	output_addr_const.
! 	(cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
! 	case from old cris_output_addr_const.
! 	(cris_asm_output_label_ref): Similar for LABEL_REF.
! 	(cris_output_addr_const_extra): Similar for UNSPEC.
! 	* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
! 	(ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
! 	* config/cris/cris-protos.h (cris_output_addr_const): Remove
! 	declaration.
! 	(cris_asm_output_symbol_ref, cris_output_addr_const_extra)
! 	(cris_asm_output_label_ref): Declare.
  
! 2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR preprocessor/19801
! 	* doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
! 	filenames that changed when libcpp was moved to the toplevel.
  
! 2005-02-07  Roger Sayle  <roger@eyesopen.com>
  
! 	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
! 	zero extensions of BImode operands.  Call lowpart_subreg instead
! 	of gen_lowpart_common and gen_lowpart_SUBREG.
  
! 2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
  
! 	PR ada/19489
! 	* libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
! 	* configure.ac: Set cc_for_cross_gnattools.
! 	* configure: Regenerate.
  
! 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/19803
! 	* predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
  
! 2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR debug/19327
! 	* dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
! 	of nested functions.
  
! 2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
  
! 	* doc/extend.texi: Document deprecated extensions allowing
! 	static floating-point members to have initializers and allowing
! 	floating-point literals in integral constant expressions.
  
! 2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
! 	config/darwin7.h, config/mips/mips.c,
! 	config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
! 	Update copyright.
  
! 	* cse.c: Update comments.
  
! 2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
  
! 	PR middle-end/19775
! 	* builtins.c (fold_builtin_sqrt): Transform
! 	sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
! 	pow(x,y*0.5).
  
! 2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
! 	    Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* doc/invoke.texi (ftree-vectorizer-verbose): New.
! 	* opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
! 	* common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
! 	was added.
! 	* tree.h (vect_set_verbosity_level): New extern function declaration
! 	added.
! 	* tree-vectorizer.h (verbosity_levels): New enum type.
! 	* tree-vectorizer.c (vect_debug_stats): Function removed.
! 	(vect_debug_details): Likewise.
! 	(vect_verbosity_level): Global variable was defined and initialized.
! 	(vect_dump): Global variable definition.
! 	(vect_print_dump_info): New function.
! 	(vect_set_dump_settings): New function.
! 	(vect_set_verbosity_level): New function.
! 	(vectorize_loops): Add call to vect_set_dump_settings.
  
! 	(slpeel_make_loop_iterate_ntimes): Dump condition was changed.
! 	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
! 	(slpeel_tree_peel_loop_to_edge): Likewise.
  
! 	(vect_analyze_offset_expr): Call to vect_print_dump_info with
! 	appropriate verbosity level instead of call to vect_debug_details
! 	or vect_debug_stats.
! 	(vect_get_base_and_offset):
! 	(vect_create_addr_base_for_vector_ref):
! 	(get_vectype_for_scalar_type):
! 	(vect_create_data_ref_ptr):
! 	(vect_init_vector):
! 	(vect_get_vec_def_for_operand):
! 	(vect_finish_stmt_generation):
! 	(vectorizable_assignment):
! 	(vectorizable_operation):
! 	(vectorizable_store):
! 	(vectorizable_load):
! 	(vect_transform_stmt):
! 	(vect_update_ivs_after_vectorizer):
! 	(vect_do_peeling_for_loop_bound):
! 	(vect_update_inits_of_drs):
! 	(vect_do_peeling_for_alignment):
! 	(vect_transform_loop):
! 	(vect_is_simple_use):
! 	(vect_analyze_operations):
! 	(vect_is_simple_iv_evolution):
! 	(vect_analyze_scalar_cycles):
! 	(vect_analyze_data_ref_dependence):
! 	(vect_analyze_data_ref_dependences):
! 	(vect_compute_data_ref_alignment):
! 	(vect_enhance_data_refs_alignment):
! 	(vect_analyze_data_refs_alignment):
! 	(vect_analyze_data_ref_access):
! 	(vect_analyze_data_ref_accesses):
! 	(vect_analyze_pointer_ref_access):
! 	(vect_get_memtag_and_dr):
! 	(vect_analyze_data_refs):
! 	(vect_mark_relevant):
! 	(vect_stmt_relevant_p):
! 	(vect_mark_stmts_to_be_vectorized):
! 	(vect_can_advance_ivs_p):
! 	(vect_get_loop_niters):
! 	(vect_analyze_loop_form):
! 	(vect_analyze_loop):
! 	(vectorize_loops): Likewise.
  
! 	(vect_do_peeling_for_loop_bound): Dump format slightly changed.
! 	(vect_update_inits_of_drs):
! 	(vect_do_peeling_for_alignment):
! 	(vect_transform_loop):
! 	(vect_analyze_operations):
! 	(vect_analyze_scalar_cycles):
! 	(vect_analyze_data_ref_dependences):
! 	(vect_analyze_data_refs_alignment):
! 	(vect_analyze_data_ref_accesses):
! 	(vect_analyze_data_refs):
! 	(vect_mark_stmts_to_be_vectorized):
! 	(vect_get_loop_niters):
! 	(vect_analyze_loop_form):
! 	(vect_analyze_loop): Likewise.
! 	(vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
  
! 2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR bootstrap/19796
! 	Revert:
! 	2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
! 	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
! 	either -ffast-math or -funsafe-math-optimizations is in use.
  
! 	2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
! 	* config/mips/irix-csr.c: New file.
! 	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
! 	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
! 	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
! 	executables.
  
! 2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
! 	redundant, incorrect definitions.
  
! 	* config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
! 	expand.
! 	("*tls_indirect_call"): New, reference hard regs directly.
! 	* config/frv/frv.c (gen_inlined_tls_plt): Adjust.
  
! 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
! 	Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
  
! 2005-02-06  Roger Sayle  <roger@eyesopen.com>
  
! 	PR rtl-optimization/19800
! 	* simplify_rtx.c (simplify_relational_operation_1): Explicitly
! 	call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
! 	gen_lowpart.
  
! 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
  
! 2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR other/17135
! 	* doc/invoke.texi: Correct documentation of -freorder-functions.
  
! 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR other/14402
! 	* doc/invoke.texi: Don't mention gccbug.
  
! 2005-02-06  Roger Sayle  <roger@eyesopen.com>
! 	    Andrew Pinski  <pinskia@physics.uc.edu>
! 	    Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
  
! 	* simplify-rtx.c (simplify_relational_operation_1): Simplify
! 	(ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
! 	into just (zero_extract:SI FOO (const_int 1) BAR).
  
! 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
! 	macro locally.  Don't give last revision date.  Use GCC version
! 	number from gcc-common.texi.
! 	* doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
! 	revision date.  Use GCC version number from gcc-common.texi.
! 	Describe being a library as current state rather than as 3.x
! 	history.
! 	* doc/gcc.texi: Remove last update date.
! 	* doc/gccint.texi: Likewise.  Update copyright dates.
! 	* doc/install.texi: Update copyright dates.
  
! 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR other/7549
! 	* doc/invoke.texi: Mention for each option included in -Wall that
! 	it is included in -Wall.
! 	* doc/gcc.texi: Update copyright and last modification date.
  
! 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
! 	unnecessary cast to original induction variable increments.
  
! 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/18219
! 	* tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
! 	in distributed form.
  
! 2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
! 	Set bitpos and offset later in the function.  Do nothing if the
! 	target is a register and if the bitfield lies completely outside
! 	that register.
! 	(extract_bit_field): Make the same SUBREG, bitpos and offset changes
! 	here.  Return an uninitialised register if the source value is stored
! 	in a register and the bitfield lies completely outside that register.
  
! 2005-02-06  Steven Bosscher  <stevenb@suse.de>
  
! 	* df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
! 	not SET_DEST.
  
! 2005-02-06  Marcin Dalecki  <martin@dalecki.de>
  
! 	* diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
  
! 2005-02-06  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
! 	* config/darwin8.h: New.
! 	* config/darwin7.h: Update comment.
  
! 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
! 	    Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.h (LOC): New type.
! 	(UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
! 	(loop_line_number): New field in struct _loop_vec_info.
! 	(LOOP_VINFO_LOC, LOOP_LOC): New macros.
  
! 	* tree-vectorizer.c (input.h): Included.
! 	(find_loop_location): New function.
! 	(vect_debug_stats): Argument changed from loop to LOC. Computation of
! 	loop line number removed.
! 	(vect_debug_details): Likewise.
! 	(new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
  
! 	(slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
! 	call to vect_debug_details/stats changed from loop to loop_loc.
! 	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
! 	(slpeel_tree_peel_loop_to_edge): Likewise.
  
! 	(vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
! 	changed from NULL to UNKNOWN_LOC.
! 	(vect_get_base_and_offset):
! 	(vect_create_addr_base_for_vector_ref):
! 	(get_vectype_for_scalar_type):
! 	(vect_create_data_ref_ptr):
! 	(vect_init_vector):
! 	(vect_get_vec_def_for_operand):
! 	(vect_finish_stmt_generation):
! 	(vectorizable_assignment):
! 	(vectorizable_operation):
! 	(vectorizable_store):
! 	(vectorizable_load):
! 	(vect_transform_stmt):
! 	(vect_update_ivs_after_vectorizer):
! 	(vect_do_peeling_for_loop_bound):
! 	(vect_do_peeling_for_alignment):
! 	(vect_transform_loop):
! 	(vect_is_simple_use):
! 	(vect_analyze_operations):
! 	(vect_is_simple_iv_evolution):
! 	(vect_analyze_scalar_cycles):
! 	(vect_analyze_data_ref_dependences):
! 	(vect_compute_data_ref_alignment):
! 	(vect_enhance_data_refs_alignment):
! 	(vect_analyze_data_ref_access):
! 	(vect_analyze_data_ref_accesses):
! 	(vect_analyze_pointer_ref_access):
! 	(vect_get_memtag_and_dr):
! 	(vect_analyze_data_refs):
! 	(vect_mark_relevant):
! 	(vect_stmt_relevant_p):
! 	(vect_mark_stmts_to_be_vectorized):
! 	(vect_can_advance_ivs_p):
! 	(vect_get_loop_niters):
! 	(vect_analyze_loop):
! 	(vectorize_loops): Likewise.
  
! 	(vectorizable_load): Argument in call to vect_debug_details/stats
! 	changed from loop to LOOP_LOC (loop_vinfo).
! 	(vect_transform_loop):
! 	(vect_analyze_operations):
! 	(vect_analyze_scalar_cycles):
! 	(vect_analyze_data_ref_dependence):
! 	(vect_enhance_data_refs_alignment):
! 	(vect_analyze_data_ref_accesses):
! 	(vect_analyze_pointer_ref_access):
! 	(vect_analyze_data_refs):
! 	(vect_analyze_loop): Likewise.
  
! 	(vect_analyze_loop_form): Argument in call to vect_debug_details/stats
! 	changed from loop to loop_loc.
  
! 	(vect_enhance_data_refs_alignment): Removed unused variable loop.
  
! 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
! 	    Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
! 	declaration added.
! 	(vect_analyze_data_ref_dependences): Likewise.
  
! 	(vect_is_simple_use): Argument changed from loop structure to
! 	loop_vect_info structure.
! 	(vect_can_advance_ivs_p): Likewise.
! 	(vect_create_index_for_vector_ref): Likewise.
! 	(vect_update_ivs_after_vectorizer): Likewise.
! 	(new_stmt_vec_info): Likewise.
  
! 	(new_loop_vec_info): Second argument in call to new_stmt_vec_info was
! 	changed from loop to loop_vinfo.
! 	(vect_create_data_ref_ptr): First argument in call to
! 	vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
! 	(vectorizable_assignment): Second argument in call to vect_is_simple_use
! 	was changed from loop to loop_vinfo.
! 	(vectorizable_operation): Likewise.
! 	(vectorizable_store): Likewise.
! 	(vect_mark_stmts_to_be_vectorized): Likewise.
! 	(vect_do_peeling_for_loop_bound): First argument in call to
! 	vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
! 	(vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
! 	was changed from loop to loop_vinfo.
! 	(vect_analyze_data_ref_dependences): Third argument in call to
! 	vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
  
! 	(vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
! 	(vect_create_data_ref_ptr): Likewise.
! 	(vect_init_vector): Likewise.
! 	(vect_get_vec_def_for_operand): Likewise.
! 	(vectorizable_assignment): Likewise.
! 	(vectorizable_operation): Likewise.
! 	(vectorizable_store): Likewise.
! 	(vectorizable_load): Likewise.
! 	(vect_update_ivs_after_vectorizer): Likewise.
! 	(vect_is_simple_use): Likewise.
! 	(vect_analyze_data_ref_dependence): Likewise.
! 	(vect_analyze_pointer_ref_access): Likewise.
! 	(vect_can_advance_ivs_p): Likewise.
  
! 	* tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
! 	before _stmt_vec_info.
! 	(_stmt_vec_info): Loop field replaced by loop_vec_info.
! 	(STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
! 	(new_stmt_vec_info): Argument changed from loop structure to
! 	loop_vect_info structure
  
! 	(vect_analyze_data_ref_dependences): Unnecessary line was removed.
! 	(vect_analyze_offset_expr): Avoid 80 columns overflow.
! 	(vect_create_addr_base_for_vector_ref): Likewise.
! 	(vect_analyze_pointer_ref_access): Likewise.
  
! 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/19768
! 	* tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
! 	phi flag if the phi is abnormal.
  
! 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/19736
! 	* tree-ssa.c (replace_immediate_uses): Update the immediate_uses
! 	information for the new statement.
  
! 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR driver/19117
! 	* gcc.c (main): Include the target in -v output.
  
! 2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
! 	Do not drop the extend if we'd have to add a paradoxical subreg
! 	later.  Include optabs.h and insn-codes.h.
! 	* Makefile.in (combine.o): Depend on $(OPTABS_H).
  
! 2005-02-02  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19405
! 	* real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
! 	* fold-const.c (const_binop): Avoid constant folding floating
! 	point operations in modes that use composite representations.
! 	* simplify-rtx.c (simplify_binary_operation): Likewise.
  
! 2005-02-02  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/altivec.md (altivec_dst): Make the first operand
! 	a REG, not a MEM.
! 	(altivec_dstt): Likewise.
! 	(altivec_dstst): Likewise.
! 	(altivec_dststt): Likewise.
! 	* config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
! 	of first operand.
  
! 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
! 	EXPR_LOCUS from orig_cond to the new cond_stmt.
! 	(vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
! 	the new vec_stmt.
  
! 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
! 	standard_iv_increment_position. Remove call to bsi_next
! 	(no need to bump the iterator anymore).
! 	(vect_create_index_for_vector_ref): Call
! 	standard_iv_increment_position. Remove second function argument.
! 	(vect_finish_stmt_generation): Remove call to bsi_next
! 	(no need to bump the iterator anymore).
! 	(vect_create_data_ref_ptr): Remove second argument (bsi) in call
! 	to vect_create_index_for_vector_ref.
  
! 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
! 	phis are used out of the loop.
  
! 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/17807
! 	* c-decl.c (undef_nested_function): New variable.
! 	(pop_scope): Diagnose undefined nested functions.
! 	(finish_function): Don't attempt cgraph processing or genericizing
! 	if current top-level function contained an undefined nested
! 	function.  Reset undef_nested_function at the end of a top-level
! 	function.
  
! 2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree.c (build_int_cst_type): Take sign of the value into account
! 	when deciding whether sign extend the value.
  
! 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/18502
! 	* gcc.c (cpp_unique_options): Remove %{trigraphs}.
! 	(cpp_options, cc1_options): Change %{std*&ansi} to
! 	%{std*&ansi&trigraphs}.
  
! 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c: Update comments.
  
! 2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
! 	arguments go on the stack.  Do not put complex doubles in odd/even
! 	pairs.
  
! 2005-02-02  Steven Bosscher  <stevenb@suse.de>
  
! 	* doc/invoke.texi: Update the options enabled at -O1, -O2,
! 	and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
! 	-ftree-pre, and -fthread-jumps.
  
! 2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR tree-optimization/19578
! 	* tree-flow.h (modified_noreturn_calls): Declare.
! 	(noreturn_call_p): Declare.
! 	* tree-flow-inline.h (noreturn_call_p): New function.
! 	(modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
! 	* tree-cfg.c (modified_noreturn_calls): New variable.
! 	(cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
! 	that contain a mid-block noreturn call.
! 	* tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
  
! 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* df.c (df_def_record_1, df_uses_record): Don't use
! 	DF_FOR_REGALLOC.
! 	* df.h (DF_FOR_REGALLOC): Remove.
  
! 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/19435
! 	* c-typeck.c (really_start_incremental_init): Reset
! 	constructor_max_index for arrays of incomplete type.
  
! 2005-02-02  Jeff Law  <law@redhat.com>
  
! 	* gcse.c (struct reg_set): Store the block index where the register
! 	was set rather than the setting insn.
! 	(record_one_set, compute_transp): Corresponding changes.
! 	(pre_insert_copy_insn): Do not call replace_one_set.
! 	(replace_one_set): Remove.
  
! 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR other/15514
! 	* doc/gcov.texi: Fix typo.
  
! 2005-02-01  Richard Henderson  <rth@redhat.com
  
! 	PR target/19680
! 	* config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
! 	* config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
! 	type to bool.
! 	(ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
! 	* config/i386/i386-protos.h: Update.
  
! 2005-02-01  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/19217
! 	* tree-cfg.c (verify_expr): Use the data field to see if TP was
! 	seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
! 	(verify_stmts): Pass (void*)1 as data to verify_expr to signal
! 	that it is walking a PHI node.
  
! 2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/extend.texi (Nested Functions): Update.
  
! 2005-02-01  Richard Henderson  <rth@redhat.com>
  
! 	PR 19696
! 	* optabs.c (expand_copysign_absneg): Export.
! 	* optabs.h (expand_copysign_absneg): Declare.
! 	* config/rs6000/rs6000.md (copysigntf3): New.
  
! 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19633
! 	* tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
! 	* tree-ssa-alias.c (init_alias_info): Initialize.
! 	(merge_pointed_to_info): Set.
! 	(add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
! 	(dump_points_to_info_for): Show value of pt_null.
! 	(struct count_ptr_d): Declare.
! 	(find_ptr_dereference): Remove.
! 	(ptr_is_dereferenced_by): Remove.
! 	(count_ptr_derefs): New local function.
! 	(count_uses_and_derefs): New local function.
! 	(compute_points_to_and_addr_escape): Call it.  If the number
! 	of dereferences is greater than zero, mark the pointer as
! 	dereferenced.  If there are fewer dereferences than uses of
! 	the pointer, the pointer's value escapes.
  
! 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19670
! 	* tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
! 	here...
! 	(verify_use): ... set it here, instead.
  
! 2005-02-01  Janis Johnson  <janis187@us.ibm.com>
  
! 	* doc/sourcebuild.texi (Test directives): Fix formatting.
  
! 	* doc/sourcebuild.texi (Test directives): Describe selector
! 	expressions.
  
! 2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
  
! 	* config.gcc (powerpc64-*-linux*): Default to -m64 also for
! 	specific 64-bit CPUs.
  
! 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
  
! 	PR target/16201
! 	* arm.c (arm_eliminable_register): New function.
! 	(adjacent_mem_locations): Don't allow eliminable registers.  Use
! 	HOST_WIDE_INT for address offsets.
! 	* arm-protos.h (arm_eliminable_register): Add prototype.
  
! 2005-02-01  Steven Bosscher  <stevenb@suse.de>
  
! 	PR optimization/15242
! 	* params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
! 	* basic-block.h (duplicate_computed_gotos): Add prototype.
! 	* bb-reorder.c (duplicate_computed_gotos): New function to
! 	duplicate sufficiently small blocks ending in a computed jump.
! 	* passes.c (rest_of_compilation): Call duplicate_computed_gotos
! 	if not optimizing for size.
! 	* cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
! 	never do tail merging for blocks ending in a computed jump.
! 	* doc/invoke.texi: Document the max-goto-duplication-insns param.
  
! 2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	Patch from Richard Sandiford <rsandifo@redhat.com>
! 	* reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
! 	from inheriting a subreg equivalence with a non-spill register.
  
! 	* tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
  
! 2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/frv/frv.c (movcc_fp_destination_operand): New.
! 	(gpr_or_memory_operand): Fix typo in comment.
! 	(gpr_or_memory_operand_with_scratch): New.
! 	* config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
! 	* config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
! 	movcc_fp_destination_operand.
! 	(reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
! 	Legitimize memory addresses using a scratch register.
  
! 2005-01-31  Jeff Law  <law@redhat.com>
  
! 	* tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
! 	bitmap a sparse bitmap instead of a simple bitmap.
! 	(mark_def_sites_initialize_block):  Corresponding changes.
! 	(ssa_mark_def_sites_initialize_block): Likewise.
! 	(ssa_mark_phi_uses): Likewise.
! 	(mark_def_site, ssa_mark_def_sites): Likewise.
! 	(mark_def_site_blocks): Likewise.
! 	(rewrite_ssa_into_ssa): Likewise.
  
! 	* tree-ssa-dom.c (record_cond): Pass correct variable type
! 	for last argument to htab_find_slot_with_hash.
  
! 	* fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
! 	effects when optimizing 0 % X.  Do not try to optimize X % 0.
  
! 2005-01-31  James E. Wilson  <wilson@specifixinc.com>
  
! 	* config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
! 	1_mmalua.
  
! 2005-02-01  Eric Christopher  <echristo@redhat.com>
  
! 	* config/mips/mips.c (override_options): Warn if -mint64
! 	is used.
! 	* doc/invoke.texi (MIPS Options): Document that -mint64 is
! 	deprecated.
  
! 2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
! 	timestamp.
! 	(cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
! 	REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
! 	cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
! 	(cached_regno): Initialize to INVALID_REGNUM.
! 	(cse_reg_info_table_size,
! 	cse_reg_info_table_first_uninitialized,
! 	cse_reg_info_timestamp): New.
! 	(REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
! 	get_cse_reg_info.
! 	(init_cse_reg_info, get_cse_reg_info_1): New.
! 	(get_cse_reg_info): Cache the last look-up.
! 	(new_basic_block): Update the code to clear mappings from
! 	registers to cse_reg_info entries.
! 	(cse_main): Call init_cse_reg_info.
  
! 	* cse.c (get_cse_reg_info): Update a comment.
  
! 2005-01-31  Steven Bosscher  <stevenb@suse.de>
  
! 	PR c/19333
! 	* c-decl.c (start_decl): Do not warn about arrays of elements with
! 	an incomplete type here.
! 	(grokdeclarator): Do it here by making a pedwarn an error.
! 	* c-typeck.c (push_init_level): If there were previous errors with
! 	the constructor type, do not warn about braces for initializers.
! 	(process_init_element): Likewise for excess initializer elements.
  
! 2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (delete_trivially_dead_insn): Don't iterate.
  
! 2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/rs6000/rs6000.md (copysignsf3): New expand.
! 	(copysigndf3): Likewise.
  
! 2005-01-31  Steven Bosscher  <stevenb@suse.de>
  
! 	* recog.c (constrain_operands): Only look for earlyclobber operand
! 	conflicts if an '&' constraint was seen.
  
! 2005-01-31  Marc Espie <espie@openbsd.org>
  
! 	* config.gcc: Don't include embedded systems fragment, switches default
! 	debugging format to ELF.
! 	* config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
! 	longer pick it up there.
  
! 2005-01-31  Dale Johannesen  <dalej@apple.com>
  
! 	* doc/extend.texi (nested functions): Fix linkage description.
! 	Clarify that static is not allowed.
  
! 2005-01-31  Dale Johannesen  <dalej@apple.com>
  
! 	* config/rs6000/darwin.md (movsf_low_di):  Make work.
! 	(movdf_low_di):  Make work.
  
! 2005-01-31  Dale Johannesen  <dalej@apple.com>
  
! 	* config/rs6000/darwin-tramp.asm (__trampoline_setup):
! 	Make work for 64 bit.
  
! 2005-01-31  Roger Sayle  <roger@eyesopen.com>
! 	    Dale Johannesen  <dalej@apple.com>
  
! 	PR middle-end/19650
! 	* fold-const.c (fold_binary_op_with_conditional_arg):
! 	Make types match original operands, before STRIP_NOPS.
  
! 2005-01-31  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/linux-unwind.h (struct gcc_vregs): New.
! 	(struct gcc_regs): Rename from gcc_pt_regs.  Add more regs.
! 	(struct gcc_sigcontext): Delete.  Merge contents to..
! 	(struct gcc_ucontext): ..here.
! 	(get_sigcontext): Delete.
! 	(get_regs): New function, like get_sigcontext but return regs ptr.
! 	64-bit version finds regs from r1 to support vdso.
! 	(ppc_linux_aux_vector): New function.
! 	(ppc_fallback_frame_state): Modify for get_regs.  Restore fprs
! 	and vector regs.
  
! 2005-01-31  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
! 	sizetype.
! 	(vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
! 	redundant fold. Fix misalignment for MINUS_EXPR.
! 	(vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
! 	(vect_analyze_pointer_ref_access): Likewise.
! 	(vect_get_memtag_and_dr): Likewise.
  
! 2005-01-31  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
! 	(absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
! 	absnegdf2_i387, absnegxf2_i387): Likewise.
  
! 2005-01-31  Richard Henderson  <rth@redhat.com>
  
! 	PR 19696
! 	* optabs.c (expand_copysign_absneg): New.
! 	(expand_copysign_bit): Split out from ...
! 	(expand_copysign): ... here.  Use expand_copysign_absneg.
  
! 2005-01-30  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19697
! 	* config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
! 	constant as the second operand and a register as the third.
  
! 2005-01-31  Danny Smith  <dannysmith@users.sourceforge.net>
  
! 	PR target/19704
! 	* config/i386/i386.c (ix86_function_ok_for_sibcall):  Also check
! 	that dllimport'd functions do not use all call-clobbered registers
! 	to pass parameters.
  
! 2005-01-30  Richard Henderson  <rth@redhat.com>
  
! 	PR 19696
! 	* optabs.c (expand_absneg_bit): Split out from expand_unop and
! 	expand_abs_nojump and generalize.  Use operand_subword and
! 	emit_no_conflict_block.  Support large modes.
! 	(expand_abs_nojump): Use it.  Use HONOR_SIGNED_ZEROS to fall
! 	back to maximum.
! 	(expand_unop): Likewise.  Use HONOR_SIGNED_ZEROS to fall back
! 	negation to subtraction.
! 	(expand_copysign): Check that the format has signed zeros.
! 	Use operand_subword and emit_no_conflict_block.  Support large modes.
  
! 2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/19624
  
! 	* Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
! 	* tree-ssa-pre.c: Add cfgloop.h.
! 	Update comment.
! 	(pre_stats): New member, constified.
! 	(inserted_exprs): New static variable.
! 	(NECESSARY): New macro.
! 	(create_expression_by_pieces): Fold the expression, and
! 	mark it as defaulting to not necessary. Also put in
! 	inserted_exprs.
! 	(fully_constant_expression): New function.
! 	(insert_into_preds_of_block): Modify to not insert phis when we
! 	are playing with induction variables.
! 	Push phis onto the inserted_exprs vector, and mark them as not
! 	necessary by default.
! 	(insert_aux): Call fully_constant_expression on eprime.
! 	If all edges produce the same value, mark it constant.
! 	(mark_operand_necessary): New function.
! 	(remove_dead_inserted_code): New function.
! 	(init_pre): Init loop optimizer to get loop info.
! 	(fini_pre): Free loop_optimizer, and inserted_exprs vec.
! 	(execute_pre): Commit edge inserts, then remove dead code.
  
! 2005-01-30  Richard Henderson  <rth@redhat.com>
  
! 	* rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
! 	* varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
  
! 2005-01-30  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19700
! 	* config/i386/i386.c (ix86_expand_copysign): New.
! 	(ix86_split_copysign_const): New.
! 	(ix86_split_copysign_var): Rename from ix86_split_copysign,
! 	rearrange op1/nmask operands.
! 	* config/i386/i386-protos.h: Update.
! 	* config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
! 	(copysigndf3): Likewise.
! 	(copysignsf3_const, copysigndf3_const): New.
! 	(copysignsf3_var): Rename from copysignsf3, split out splitter
! 	and fix split predicate for X constraint.
! 	(copysigndf3_var): Similarly.
  
! 2005-01-30  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
! 	doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
! 	doc/tm.texi, doc/tree-ssa.texi: Update copyright.
  
! 2005-01-29  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19690
! 	* config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
! 	of # and * in constraints.
  
! 2005-01-29  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19689
! 	* expr.c (store_field): Don't strip sub-mode cast when the input
! 	data is even smaller.
  
! 2005-01-29  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19687
! 	* expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
! 	union being empty.
  
! 2005-01-29  Richard Henderson  <rth@redhat.com>
  
! 	* combine.c (make_field_assignment): Fix argument order
! 	to gen_int_mode.
  
! 2005-01-29  Richard Guenther <richard.guenther@uni-tuebingen.de>
  
! 	PR tree-optimization/15791
! 	* fold-const.c (extract_array_ref): New function.
! 	(fold): Fold comparisons between &a[i] and &a[j] or
! 	semantically equivalent trees.
  
! 2005-01-29  Jeff Law  <law@redhat.com>
  
! 	* gcse.c (insert_expr_in_table): Revamp handling of available
! 	and anticipatable occurrence lists to avoid unnecessary list
! 	walking.
! 	(insert_set_in_table): Similarly.
  
! 2005-01-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-common.c (fix_string_type): Just use c_build_qualified_type to
! 	build string type.
! 	(c_build_qualified_type): Build qualified array types with
! 	TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
! 	* c-decl.c (c_make_fname_decl): Build unqualified array type
! 	before qualified type.
! 	(grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
! 	type is qualified, not just if type itself is.  Don't apply
! 	qualifiers to array type when declarator is processed.  Apply
! 	qualifiers to field type whether or not it is an array type.
! 	Don't handle array types specially for applying qualifiers to
! 	variables.
! 	* c-typeck.c (composite_type): Build unqualified element type and
! 	array type when forming composite of array types.
! 	(common_pointer_type, comptypes, comp_target_types,
! 	type_lists_compatible_p, build_indirect_ref, build_array_ref,
! 	convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
! 	types.
! 	(type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
! 	(args2) in variables a1 and a2.
  
! 2005-01-29  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (n_elements_made, max_elements_made): Remove.
! 	(insert): Don't touch n_elements_made.
! 	(cse_main): Don't touch n_elements_made or max_elements_made.
  
! 2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
  
! 	PR target/15384
! 	* config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
! 	configuration part of dp-bit.c to be lost.
  
! 2005-01-28  Roger Sayle  <roger@eyesopen.com>
  
! 	* expmed.c (expand_mult_highpart_optab): When attempting to use
! 	a non-widening multiplication in a wider mode, the operands need
! 	to be converted (zero or sign extended) to that mode.
  
! 2005-01-28  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/16558
! 	PR middle-end/19583
! 	* gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
! 	through if both operands fall through.
  
! 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (fold_rtx) <PC>: Don't optimize.
  
! 2005-01-28  Jeff Law  <law@redhat.com>
  
! 	* fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
! 	(case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
  
! 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
! 	cse_reg_info_used_list_end): Remove.
! 	(cse_reg_info_list, cse_reg_info_list_free): New.
! 	(get_cse_reg_info): When allocating an instance of
! 	cse_reg_info, add it to the beginning of the cse_reg_info_list
! 	list.  Remove code to maintain cse_reg_info_used_list.
! 	(new_basic_block): Reset the free list to the beginning of
! 	cse_reg_info_list.
  
! 2005-01-28  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
! 	(frv_init_builtins): Change its prototype to take 4 uhalf arguments.
! 	(frv_expand_mdpackh_builtin): New function.
! 	(frv_expand_builtin): Use it to expand __MDPACKH.
! 	* doc/extend.texi (__MDPACKH): Update documentation.
  
! 2005-01-28  Uros Bizjak  <uros@kss-loka.si>
  
! 	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
! 	SSE_FLOAT_MODE_P for use_sse computation.
  
! 2005-01-28  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	PR target/19663
! 	* config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
  
! 2005-01-27  Richard Henderson  <rth@redhat.com>
  
! 	* builtins.c (expand_builtin_copysign): New.
! 	(expand_builtin): Call it.
! 	* genopinit.c (optabs): Add copysign_optab.
! 	* optabs.c (init_optabs): Initialize it.
! 	(expand_copysign): New.
! 	* optabs.h (OTI_copysign, copysign_optab): New.
! 	(expand_copysign): Declare.
  
! 	* config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
! 	(copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
  
! 	* config/i386/i386.c (ix86_build_signbit_mask): Split from ...
! 	(ix86_expand_fp_absneg_operator): ... here.
! 	(ix86_split_copysign): New.
! 	* config/i386/i386-protos.h: Update.
! 	* config/i386/i386.md (UNSPEC_COPYSIGN): New.
! 	(copysignsf3, copysigndf3): New.
  
! 	* config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
! 	(copysignsf3, ncopysignsf3): New.
! 	(copysigndf3, ncopysigndf3): New.
! 	(copysignxf3, ncopysignxf3): New.
! 	* config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
  
! 2005-01-27  Arend Bayer  <arend.bayer@web.de>
! 	    Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c: (find_best_addr): Don't call copy_rtx before calling
! 	fold_rtx.  Save cost recomputation if fold_rtx did nothing.
! 	(fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
! 	NULL_RTX.
  
! 2005-01-27  Jeff Law  <law@redhat.com>
  
! 	* tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
! 	definitions of SSA_NAMEs which are not being rewritten.
! 	(rewrite_ssa_into_ssa): Only initialize the current definition
! 	of an SSA_NAME if that SSA_NAME has been marked for rewriting.
! 	If checking is enabled, assert that SSA_NAME_AUX is clear for all
! 	SSA_NAMEs before returning.
  
! 2005-01-27  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
! 	cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
! 	tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
! 	config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
! 	config/mips/iris6.h, config/sh/sh.c: Update copyright.
  
! 2005-01-27  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/17278
! 	* opts.c (decode_options): Move flag_thread_jumps from -O1 and
! 	higher to -O2 and higher.  Likewise for tree PRE.
! 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
! 	and better.
  
! 2005-01-27  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/19583
! 	* gimple-low.c (try_catch_may_fallthru): New static function.
! 	(block_may_fallthru): Handle TRY_CATCH_EXPR.
! 	* tree-inline.c (expand_call_inline): Don't warn about reaching
! 	the end of a non-void function being inlined if the function uses
! 	a return slot.
  
! 2005-01-27  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
  
! 	PR c/18946
! 	* c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
! 	(pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
! 	(implicitly_declare): Handle error_mark_node.
  
! 2005-01-27  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/14329
! 	* tree.h (struct tree_decl): Add debug_expr_is_from.
! 	(DECL_DEBUG_EXPR_IS_FROM): New.
! 	(DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
! 	* dwarf2out.c (dwarf2out_var_location): Update to match.
! 	* tree-outof-ssa.c (create_temp): Likewise.
! 	* var-tracking.c (track_expr_p): Likewise.
! 	* tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
! 	* c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
! 	* toplev.c (default_tree_printer): Likewise.
  
! 2005-01-27  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
! 	GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
  
! 2005-01-27  Steven Bosscher  <stevenb@suse.de>
  
! 	* tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
! 	CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
! 	ASM_CLOBBERS): Add tree checks.
  
! 	* c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
! 	(SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
! 	* c-common.def (SWITCH_STMT): Update to match.
! 	* c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
! 	macros instead of SWITCH_EXPR ones.
! 	* c-dump.c (c_dump_tree): Likewise.
! 	* c-gimplify.c (gimplify_switch_stmt): Likewise.
! 	* c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
  
! 	* doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
  
! 2005-01-27  Alan Modra  <amodra@bigpond.net.au>
  
! 	* unwind-dw2.c (execute_stack_op): Add missing cases for
! 	DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
  
! 2005-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config.gcc (Obsolete configurations): Remove 'dummy', add
! 	sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
! 	sparc-*-openbsd*.
  
! 2005-01-26  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19633
! 	* tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
! 	CALL_EXPRs.
! 	(maybe_create_global_var): Do not create .GLOBAL_VAR if there
! 	are no call-clobbered variables.
! 	* tree-outof-ssa.c (check_replaceable): Return false for calls
! 	with side-effects.
  
! 2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* dbxout.c (dbxout_symbol_location): Resolve constant pool references
! 	even for variables with NULL DECL_INITIAL.
  
! 2005-01-26  Stuart Hastings  <stuart@apple.com>
  
! 	* gimplify.c (shortcut_cond_expr): Re-compute side-effects.
  
! 2005-01-26  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/18008
! 	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
! 	field's type.
! 	* expr.c (store_field): Strip conversions to odd-bit-sized types
! 	if the destination field width matches.
  
! 2005-01-26  Richard Henderson  <rth@redhat.com>
  
! 	* c-decl.c, expmed.c, expr.c: Revert last change.
  
! 2005-01-26  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/18008
! 	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
! 	field's type.
! 	* expmed.c (store_fixed_bit_field): Create a paradoxical subreg
! 	if we don't need the bits above those present in the current mode.
! 	* expr.c (store_field): Strip conversions to odd-bit-sized types
! 	if the destination field width matches.
  
! 2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
! 	either -ffast-math or -funsafe-math-optimizations is in use.
  
! 2005-01-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
  
! 	PR target/19293
! 	PR target/19329
! 	* config/avr/avr.c (notice_update_cc): Only set condition code for
! 	ashrqi3 if shift count > 0.
! 	(out_shift_with_cnt): Handle shift count <= 0 as a no-op.
! 	(ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
! 	ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
! 	count <= 0 as a no-op, and shift count >= width by copying zero
! 	or sign bit to all bits of the result.
! 	* config/avr/avr.md (all shifts): Add alternatives for zero shift
! 	count, with attribute "length" set to 0 and "cc" set to "none".
  
! 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* doc/invoke.texi: Document -mTLS.
  
! 	* testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
! 	* testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
! 	* testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
! 	* testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
! 	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
! 	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
! 	* testsuite/gcc.target/frv/all-tls-local-exec.c: New.
! 	* testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
  
! 	* configure.ac: Check for a TLS capable gas.
  
! 	* configure: Regenerate.
  
! 2005-01-26  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/18008
! 	* combine.c (make_field_assignment): Simplify store to zero_extract
! 	from a source with an overlapping mask.
  
! 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
  
! 	2004-11-11  Eric Christopher  <echristo@redhat.com>
  
! 	* config/frv/frv.md: Add fr400_integer automaton. Don't
! 	allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
! 	to TYPE_MACC.
  
! 2005-01-26  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/16585
! 	* cfgbuild.c (make_edges): Do not clear or set
! 	current_function_has_computed_jump.
! 	* function.h (struct function): Remove the has_computed_jump field.
! 	(current_function_has_computed_jump): Do not define.
! 	* sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
! 	in a computed jump.  Ignore current_function_has_computed_jump.
  
! 2005-01-26  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19515
! 	* expr.c (categorize_ctor_elements): New argument p_must_clear.
! 	(categorize_ctor_elements_1): Likewise.  Detect a union that isn't
! 	fully initialized.
! 	(mostly_zeros_p): Update for new categorize_ctor_elements argument.
! 	* gimplify.c (gimplify_init_constructor): Likewise.  Only shove
! 	objects into static storage if they have more than one non-zero value.
! 	* tree.h (categorize_ctor_elements): Update decl.
  
! 2005-01-26  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/19616
! 	* tree.h (CALL_EXPR_TAILCALL): Add comment.
! 	* calls.c (check_sibcall_argument_overlap_1): Revert the change
! 	to this function from 2004-07-10.
! 	* tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
! 	the current function for tail call optimizations if the address
! 	of one of it its arguments is taken.
  
! 2005-01-26  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (fold_rtx): Call equiv_constant only when necessary.
  
! 2005-01-26  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* function.c (expand_function_end): If current_function_calls_alloca,
! 	emit stack restore in a place that is reached when the function falls
! 	through at the end.
  
! 2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
! 	rule to avoid matching inappropriate suffix rule.
  
! 2005-01-26  Jan Hubicka  <jh@suse.cz>
  
! 	PR tree-optimization/19241
! 	* tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
  
! 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
! 	-lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
! 	of doubling.
! 	(STARTFILE_SPEC): Add crti.o, before crtbegin.o.
! 	<sim*>: Always use crt1.o, regardless of N in simN.
! 	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
! 	(ENDFILE_SPEC): Add crtn.o, after crtend.o.
! 	(CRT_CALL_STATIC_FUNCTION): Remove.
! 	* config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
! 	use crt1.o, regardless of N in simN.
! 	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
! 	(LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
! 	(CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
! 	case isystem setting.
! 	(MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
  
! 2005-01-25  Ian Lance Taylor  <ian@airs.com>
  
! 	* gimple-low.c (block_may_fallthru): Correct handling of
! 	SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
  
! 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
! 	handlers to match indentation; nested under the mtune=* handler.
! 	Similar for mcpu= and march=.
  
! 2005-01-25  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
! 	* config/mips/linux64.h (LIB_SPEC): Likewise.
! 	* config/mn10300/linux.h (LIB_SPEC): Likewise.
! 	* config/sh/linux.h (LIB_SPEC): Likewise.
  
! 2005-01-25  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/frv/frv.c (frv_legitimize_tls_address): New.
! 	(TARGET_HAVE_TLS): Define.
! 	(FRV_SYMBOL_REF_TLS_P): Define.
! 	(frv_override_options): Handle new register classes.
! 	(frv_legitimate_address_p): Reject tls addresses.
! 	(frv_legitimize_address): Handle TLS addresses.
! 	(gen_inlined_tls_plt): New.
! 	(gen_tlsmoff): New.
! 	(frv_legitimize_tls_address): New.
! 	(unspec_got_name): Add TLS entries.
! 	(got12_operand): Add R_FRV_TLSMOFF12 case.
! 	(frv_emit_move): Fixup TLS addresses.
! 	(frv_emit_movsi): Legitimize TLS addresses.
  
! 	* config/frv/frv.h (MASK_BIG_TLS): New.
! 	(TARGET_BIG_TLS): New.
! 	(HAVE_AS_TLS): Define.
! 	(TARGET_SWITCHES): Add -mTLS and -mtls options.
! 	(enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
! 	(REG_CLASS_NAMES): Same.
! 	(REG_CLASS_CONTENTS): Same.
! 	(CONSTRAINT_LEN): New.
! 	(REG_CLASS_FROM_CONSTRAINT): New.
! 	(PREDICATE_CODES): Add symbolic_operand.
  
! 	* config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
! 	UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
! 	UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
! 	UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
! 	R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
! 	R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
! 	R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
! 	GR9_REG, GR14_REG, LRREG.
! 	(type): Add load_or_call attribute.
! 	("load_or_call"): New reservation.
! 	("call_gettlsoff"): New.
! 	("tls_indirect_call"): New.
! 	("tls_load_gottlsoff12"): New.
! 	("tlsoff_hilo"): New.
! 	("tls_tlsdesc_ldd"): New.
! 	("tls_tlsoff_ld"): New.
! 	("tls_lddi"): New.
  
! 	* config/frv/frv-protos.h (symbolic_operand): Protoize.
  
! 	2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
! 	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
! 	* config/frv/frv.c (TLS_BIAS): Define.
! 	(frv_output_dwarf_dtprel): New.
  
! 2005-01-26  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/19579
! 	* ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
! 	both A and B, see if they don't clobber registers the other expr uses.
  
! 2005-01-25  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* real.c (do_add): Initialize signalling and canonical members.
  
! 	* real.c (real_from_integer): Zero out destination.
  
! 2005-01-18  Jan Hubicka  <jh@suse.cz>
  
! 	PR tree-optimize/19337
! 	* tree-inline.c (initialize_inlined_parameters): Copy
! 	saved_static_chain_decl only.
  
! 2005-01-25  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19556
! 	PR target/19584
! 	* config/i386/i386.c (x86_inter_unit_moves): Zero.
! 	(ix86_preferred_reload_class): Rewrite fp-constant section, with
! 	80387 enabled, to return a proper subclass.  Return the subset that
! 	overlaps with GENERAL_REGS for PLUS.
! 	* config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
  
! 2005-01-25  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19609
! 	* tree-complex.c (expand_complex_div_wide): Use the correct formulae.
  
! 2005-01-25  Roger Sayle  <roger@eyesopen.com>
  
! 	* expmed.c (choose_multiplier): Change interface to return the
! 	multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
! 	(expand_divmod): Update calls to choose_multiplier.
  
! 2005-01-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/19330
! 	* expmed.c (extract_bit_field): Use adjust_address instead of
! 	gen_lowpart when op0 is a MEM.
  
! 2005-01-24  Steven Bosscher  <stevenb@suse.de>
  
! 	* cfgexpand.c (expand_gimple_tailcall): Fix typo.
  
! 2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/irix-csr.c: New file.
! 	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
! 	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
! 	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
! 	executables.
  
! 2005-01-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR bootstrap/19364
! 	* config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
! 	sparc/elf.h, add sparc/sp-elf.h.
! 	(sparc-*-rtems*): Likewise.
! 	(sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
! 	tm-dwarf2.h, add sparc/sp-elf.h.
! 	(sparc86x-*-elf): Likewise.
! 	(sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
! 	* config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
! 	TARGET_OS_CPP_BUILTINS.
! 	* config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
! 	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
! 	Undefine it.
! 	* config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
! 	* config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
! 	(SWITCH_TAKES_ARG): Likewise.
! 	(LOCAL_LABEL_PREFIX): Likewise.
! 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
! 	(TARGET_N_FORMAT_TYPES): Delete.
! 	(TARGET_FORMAT_TYPES): Likewise.
! 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
! 	* config/sparc/elf.h: Delete.
! 	* config/sparc/sp-elf.h: New file.
  
! 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-flow-inline.h (phi_arg_from_edge): Remove.
! 	* tree-flow.h: Remove the corresponding prototype.
! 	* tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
! 	tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
  
! 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/17751
! 	* config/rs6000/rs6000.c (rs6000_file_start): Create toc section
! 	for AIX ABI or ELF -fPIC.
! 	(rs6000_emit_load_toc_table): Don't create toc_section here.
! 	(rs6000_xcoff_file_start): Nor here.
  
! 2005-01-24  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (ra.h): Don't #include.
! 	(hard_regs_intersect_p): New function, resurrected from ra.c.
  
! 	* sh.c: Fix 1996 Copyright.
  
! 2005-01-24  Richard Henderson  <rth@redhat.com>
! 	    Aldy Hernandez  <aldyh@redhat.com>
  
! 	* regrename.c (note_sets): Handle subregs.
  
! 2005-01-24  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR bootstrap/18058
! 	* genconditions.c (write_header, write_conditions): Elide file if
! 	not GCC >= 3.0.1.
  
! 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* c-opts.c, expmed.c, gengtype.c, tree-complex.c,
! 	config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
! 	Update copyright.
  
! 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
  
! 	* builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
! 	expand_builtin_printf, expand_builtin_fprintf,
! 	expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
! 	checking against POINTER_TYPE.
! 	(validate_arglist): Handle POINTER_TYPE code by checking
! 	POINTER_TYPE_P.
  
! 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
! 	init_rtlanal): New.
! 	(for_each_rtx): Call for_each_rtx_1.
! 	* rtl.h (init_rtlanal): Declare.
! 	* toplev.c (backend_init): Call init_rtlanal.
  
! 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
  
! 	* flow.c (propagate_one_insn): Formatting.
  
! 	PR middle-end/19551
! 	* flow.c (libcall_dead_p): Be more conservative if unsure.
! 	If there are any instructions between insn and call, see if they are
! 	all dead before saying the libcall is dead.
  
! 2005-01-24  Uros Bizjak  <uros@kss-loka.si>
  
! 	* config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
! 	operand constraint for operand 0.
  
! 2005-01-23  Richard Henderson  <rth@redhat.com>
  
! 	PR 19486
! 	* tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
! 	edges leading to join block.
  
! 2005-01-23  Roger Sayle  <roger@eyesopen.com>
  
! 	* expmed.c (expand_mult_highpart): Make static.  Change type of
! 	constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
! 	(expand_divmod): Updates calls to expand_mult_highpart by using
! 	gen_int_mode to pass a CONST_INT rtx.
! 	* rtl.h (expand_mult_highpart): Remove prototype.
  
! 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* flow.c (regset_bytes, regset_size): Remove.
  
! 	* cfganal.c: Fix a reference to Harvey's paper.
  
! 2005-01-23  Steven Bosscher  <stevenb@suse.de>
  
! 	PR rtl-optimization/19464
! 	* tree-optimize.c (init_tree_optimization_passes): Add one more
! 	copyrename pass just before out-of-ssa.
  
! 2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR bootstrap/18058
! 	* recog.c (recog_memoized): Don't define if GENERATOR_FILE.
! 	* ggc-none.c (ggc_free): Define.
  
! 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cse.c (max_reg, max_insn_uid): Remove.
! 	(cse_main): Don't access max_reg or max_insn_uid.
  
! 	* c-common.c (explicit_flag_signed_bitfields,
! 	lang_statement_code_p, lang_expand_function_end): Remove.
! 	* c-common.h: Remove the corresponding declarations.
! 	* c-opts.c (c_common_handle_option): Remove all write access
! 	to explicit_flag_signed_bitfields.
  
! 	* cgraph.c (cgraph_varpool_n_nodes): Remove.
! 	(cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
! 	* cgraph.h: Remove the corresponding declaration.
  
! 	* gcse.c (null_pointer_info): Remove.
  
! 2005-01-23  Roger Sayle  <roger@eyesopen.com>
! 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* combine.c (simplify_logical): Only simplify logical expressions
! 	of the form ior(and(x,y),z) by the inverse distributive law if the
! 	result is cheaper than the original.
  
! 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
! 	fold-const.c, gimplify.c, params.h, tree-data-ref.c,
! 	tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
! 	tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
! 	config/freebsd-spec.h, config/arm/arm.h,
! 	config/h8300/h8300.md, config/i386/i386.md,
! 	config/i386/predicates.md, config/i386/sse.md,
! 	config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
! 	config/vax/vax.md: Fix comment typos.  Follow spelling
! 	conventions.
  
! 2005-01-23  Steven Bosscher  <stevenb@suse.de>
  
! 	* gengtype.c (walk_type): Produce `not equal to' compares for loop
! 	tests, instead of `less than'.
  
! 2005-01-23  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* function.c (assign_parm_setup_block): When creating a new stack slot
! 	for a parameter, get its alignment from the parameter's DECL_ALIGN
! 	rather than the type's TYPE_ALIGN.  Make sure that the parameter
! 	is at least word aligned.
  
! 2005-01-22  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19378
! 	* config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
  
! 2005-01-22  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19506
! 	* config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
! 	in both compare operands.
! 	(movdfcc_1_sse_max): Likewise.
! 	(movsfcc_1_sse): Likewise.  Add earlyclobber for scratch.
! 	(movdfcc_1_sse): Likewise.
! 	* config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
! 	scratch register as needed.
  
! 2005-01-22  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.md (smaxsf3): Fix mnemonic typo.
  
! 	* config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
  
! 2005-01-22  Richard Henderson  <rth@redhat.com>
  
! 	* genopinit.c (optabs): Use smin/smax for floating point too.
! 	* doc/md.texi: Update to match.  Clarify that floating point
! 	results are undefined for +0/-0 and NaN.
! 	* doc/rtl.texi: Likewise.
! 	* rtl.def (SMIN, SMAX): Likewise
! 	* tree.def (MIN_EXPR, MAX_EXPR): Likewise.
  
! 	* config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
! 	leading 's' to the name.
! 	* config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
! 	smaxxf3, sminxf3): Likewise.
! 	* config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
! 	Likewise.
  
! 2005-01-22  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
  
! 2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
  
! 	* config/s390/s390.c (struct processor_costs): New fields
! 	dlgr, dlr, dr, dsgfr, dsgr.
! 	(z900_cost, z990_cost): Values for new fields.
! 	(s390_rtx_costs): New cases MEM und COMPARE in switch
! 	statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
! 	DIV, MOD, UDIV, UMOD.
  
! 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.md ("doloop_si64"): Reload input value directly
! 	into the register being decremented.
! 	("doloop_si31", "doloop_di"): Likewise.
! 	("*doloop_si_long"): Adapt pattern.
  
! 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
! 	access registers.
! 	(CLASS_MAX_NREGS): Likewise.
  
! 2005-01-21  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* doc/tree-ssa.texi (Statement Operands): Add example for new
! 	must-def macro. Note deprecation of old operands interface.
  
! 2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR tree-optimization/19484
! 	* tree-cfg.c (remove_fallthru_edge): New function.
! 	(cleanup_control_flow): Remove fallthru edges from calls that are
! 	now known not to return.
  
! 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/19038
! 	* tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
! 	copies with loop variant ones.
  
! 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
! 	config/alpha/alpha-protos.h, config/alpha/alpha.h,
! 	config/alpha/alpha.md, config/alpha/predicates.md,
! 	config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
! 	config/sparc/sol2.h: Update copyright.
  
! 	* tree-cfg.c (remove_forwarder_block_with_phi): Look at the
! 	first label to see if it is a nonlocal label.
  
! 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
! 	    Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/19491
! 	* config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
! 	maximum number of GPRs.  Saturate n_fpr at maximum number of FPRs.
  
! 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/rs6000/rtems.h: Update copyright.
  
! 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	PR target/19548
! 	* config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
! 	(CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
! 	(SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
  
! 2005-01-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	PR c/18809
! 	* c-typeck.c (convert_arguments): Check for error_mark_node.
  
! 2005-01-21  Ian Lance Taylor  <ian@airs.com>
  
! 	PR tree-optimization/13000
! 	* tree-inline.c: Include "tree-flow.h".
! 	(expand_call_inline): If warn_return_type, warn if non-void inline
! 	function falls through.
! 	* tree-cfg.c (execute_warn_function_return): Don't warn about
! 	control reaching end if TREE_NO_WARNING is set.  Set
! 	TREE_NO_WARNING.
! 	* gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
! 	has been lowered.
! 	* gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
! 	branch if we don't need one.
! 	* c-typeck.c: Include "tree-flow.h"
! 	(c_finish_bc_stmt): Don't add a goto if the current statement
! 	list doesn't fall through to the current point.
  
! 2005-01-21  Roger Sayle  <roger@eyesopen.com>
  
! 	PR rtl-optimization/576
! 	* real.c (real_arithmetic): Change return type from void to bool
! 	to return an indication that the result may be inexact.
! 	* real.h (real_arithmeric): Update prototype.
! 	* fold-const.c (const_binop):  Don't constant fold floating
! 	point expressions when the user specifies -frounding-math and
! 	the result may depend upon the run-time rounding mode.
! 	(fold_convert_const_real_from_real): Clean-up.
! 	(fold_initializer): Ignore flag_rounding_math for initializers.
! 	* simplify-rtx.c (simplify_binary_operation): Likewise, don't
! 	constant fold FP operations with flag_rounding_math if the
! 	result may depend upon the run-time rounding mode.
  
! 2005-01-21  Tom Tromey  <tromey@redhat.com>
  
! 	* c-cppbuiltin.c (define__GNUC__): Correct assertion.
  
! 2005-01-21  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-cfg.c: Fix comment typos.
  
! 2005-01-21  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
! 	around the call to rest_of_handle_branch_target_load_optimize.
  
! 2005-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
! 	(sparc64-*-openbsd*): Likewise.
! 	(sparclite-*-elf*): Include tm-dwarf2.h.
! 	(sparc86x-*-elf*): Likewise.
! 	(sparc64-*-elf*): Likewise.
! 	* config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
! 	(DBX_DEBUGGING_INFO): Likewise.
! 	* config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
! 	(PREFERRED_DEBUGGING_TYPE): Likewise.
! 	* config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
! 	* config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
! 	(PREFERRED_DEBUGGING_TYPE): Likewise.
! 	* config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
! 	(PREFERRED_DEBUGGING_TYPE): Likewise.
! 	* config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
  
! 2005-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
  
! 	PR target/18701
! 	* combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
  
! 2005-01-20  Paul Brook  <paul@codesourcery.com>
  
! 	* doc/rtl.texi: Document value extension requirements for CONST_INT.
  
! 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
! 	label is first in a sequence of labels.
  
! 	* tree-cfg.c (tree_verify_flow_info): Fix a typo.
  
! 2005-01-20  Janis Johnson  <janis187@us.ibm.com>
! 	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
  
! 	* doc/sourcebuild.texi (Test Directives): New.
  
! 2005-01-20  Roger Sayle  <roger@eyesopen.com>
  
! 	* real.c (real_floor): Don't leave the result uninitialized when
! 	mode is VOIDMode, but return the unrounded intermediate value.
! 	(real_ceil): Likewise.
  
! 2005-01-20  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.md (insv): Use gen_int_mode.
  
! 2005-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
! 	* config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
! 	* config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
! 	* config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
! 	* config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
  
! 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR debug/19124
! 	* dwarf2out.c (concat_loc_descriptor): We don't know we can use
! 	fbreg, so we have to assume we can't.
! 	(loc_descriptor_from_tree_1): Ditto.
! 	(containing_function_has_frame_base): New function.
! 	(add_location_or_const_value_attribute): Use it.
! 	Also try to generate a frame_base from a single element location
! 	list.
  
! 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	PR tree-optimization/15349
! 	* timevar.def (TV_TREE_MERGE_PHI): New.
! 	* tree-cfg.c (tree_forwarder_block_p): Add a new argument
! 	PHI_WANTED.
! 	(remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
! 	calls to tree_forwarder_block_p.
! 	(remove_forwarder_block_with_phi, merge_phi_nodes,
! 	gate_merge_phi, pass_merge_phi): New.
! 	* tree-optimize.c (init_tree_optimization_passes): Add
! 	pass_merge_phi.
! 	* tree-pass.h: Add an extern for pass_merge_phi;
  
! 2005-01-20  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19418
! 	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
! 	(_mm_castps_pd, _mm_castps_si128): New.
! 	(_mm_castsi128_ps, _mm_castsi128_pd): New.
  
! 2005-01-20  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19530
! 	* config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
! 	__builtin_ia32_vec_init_v2si.
! 	(_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
! 	* config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
! 	(ix86_init_mmx_sse_builtins): Create it.
! 	(ix86_expand_builtin): Expand it.
! 	(ix86_expand_vector_set): Handle V2SFmode and V2SImode.
! 	* config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
! 	(vec_extractv2si_0, vec_extractv2si_1): New.
  
! 2005-01-20  Richard Henderson  <rth@redhat.com>
  
! 	PR target/16533
! 	* config/i386/i386.c (ix86_expand_push): New.
! 	* config/i386/mmx.md (push<MMXMODE>1): New.
! 	* config/i386/sse.md (push<SSEMODE>1): New.
! 	* config/i386/i386-protos.h: Update.
  
! 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
! 	copyright.
  
! 2005-01-20  Richard Henderson  <rth@redhat.com>
  
! 	* rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
! 	* rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19350
! 	* config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
! 	to V4SFmode in SSE1 fallback load path.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
! 	in QImode expansion to ix86_expand_vector_set.
! 	(ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19511
! 	* config/i386/i386.c (ix86_preferred_reload_class): Return a proper
! 	subclass of the input class.
! 	(ix86_secondary_memory_needed): Always true for cross-MMX classes.
! 	Always true for cross-SSE1 classes.  Rationalize conditionals.
! 	* config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
! 	* config/i386/i386.md (movsi_1): Add MMX/SSE zeros.  Fix alternatives
! 	for SSE1.  Don't check TARGET_INTER_UNIT_MOVES.
! 	(movdi_2): Add MMX/SSE zeros.
! 	(movdi_1_rex64): Likewise.  Don't check TARGET_INTER_UNIT_MOVES.
! 	(movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
! 	(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
! 	(movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
! 	(movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
! 	(zero_extendsidi2_rex64_1): Remove.
! 	(MOV0 peephole): Check GENERAL_REG_P.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19427
! 	* config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
! 	shufps elements.
! 	(ix86_expand_vector_extract): Likewise.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/19304
! 	* expr.c (emit_move_change_mode): New argument force; use
! 	simplify_gen_subreg if true.
! 	(emit_move_via_alt_mode): Merge into ...
! 	(emit_move_via_integer): ... here.
! 	(emit_move_ccmode): Use emit_move_change_mode directly.
  
! 2005-01-19  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19518
! 	* config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
! 	(alpha_preferred_reload_class): Handle CONST_VECTOR.
! 	(alpha_emit_set_const_1): Add no_output parameter; don't emit
! 	rtl if true.
! 	(alpha_emit_set_const): Likewise.  Make static.
! 	(alpha_emit_set_long_const): Make static.
! 	(alpha_extract_integer): Split out from alpha_expand_mov.
! 	(alpha_split_const_mov): Likewise.
! 	(alpha_expand_mov): Use them.  Handle CONST_VECTOR.
! 	(alpha_legitimate_constant_p): New.
! 	* config/alpha/alpha-protos.h: Update.
! 	* config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
! 	(LEGITIMATE_CONSTANT_P): Re-implement with a function.
! 	* config/alpha/alpha.md (movsi): Add n alternative.
! 	(movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
! 	(mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
! 	(splitters for all of the above): Use alpha_split_const_mov.
! 	* config/alpha/predicates.md (non_add_const_operand): New.
! 	(non_zero_const_operand): New.
! 	(input_operand): Use alpha_legitimate_constant_p after reload.
  
! 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/19038
! 	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
! 	(add_candidate): Add ivs with increment in latch only if
! 	allow_ip_end_pos_p is true.
! 	(determine_iv_cost): Use empty_block_p.
  
! 2005-01-19  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
! 	(compute_dominance_frontiers): Ditto.
  
! 2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	PR target/19529
! 	* config/sh/t-rtems: New.
! 	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
  
! 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
! 	the offset of the selected field.
  
! 2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-cfg.c (remove_forwarder_block): Fix the check to
! 	prevent a nonlocal label from appearing in the middle of a
! 	basic block.
  
! 2005-01-19  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR rtl-optimization/19462
! 	* reorg.c (find_end_label): Create return insn only if
! 	current_function_epilogue_delay_list is empty.
  
! 2005-01-19  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* doc/passes.texi: Remove paragraph mentioning new-ra.
  
! 2005-01-19  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/15139
! 	* combine.c: Include params.h.
! 	(count_rtxs): New function.
! 	(record_value_for_reg): If replace_rtx would replace at least
! 	2 occurrences of REG in VALUE and TEM is really large, replace REG with
! 	(clobber (const_int 0)) instead of TEM.
! 	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
! 	* params.h (MAX_LAST_VALUE_RTL): New.
! 	* Makefile.in (combine.o): Depend on $(PARAMS_H).
! 	* doc/invoke.texi (--param max-last-value-rtl=N): Document.
  
! 	PR c/17297
! 	* c-typeck.c (digest_init): Only call build_vector if all constructor
! 	elements are *_CST nodes.
! 	* gimplify.c (gimplify_init_constructor): Likewise.
  
! 	PR middle-end/19164
! 	* c-typeck.c (digest_init): Only call build_vector if inside_init
! 	is a CONSTRUCTOR.
  
! 2005-01-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
  
! 	* toplev.c (init_asm_output): Remove dead #ifdef.
  
! 2005-01-18  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
  
! 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
! 	accessing DECL_FUNCTION_CODE.
! 	* dojump.c (do_jump): Likewise.
! 	* gimplify.c (gimplify_call_expr): Likewise.
! 	* predict.c (expr_expected_value): Likewise.
! 	(strip_builtin_expect): Likewise.
! 	* tree-inline.c (estimate_num_insns_1): Likewise.
! 	* tree-ssa-loop-im.c (stmt_cost): Likewise
! 	* fold-const.c (fold): Test for BUILT_IN_NORMAL.
! 	(tree_expr_nonnegative_p): Likewise.
  
! 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.c (load_pic_register): Emit the appropriate
! 	variant of the load_pcrel_sym pattern.
! 	* config/sparc/sparc.md (P macro): Move to the top.
! 	(load_pcrel_sym): Macroize using P.
! 	(save_register_window): Likewise.
  
! 2005-01-18  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000.md ("sunordered"): Disable for e500.
! 	("sordered"): Same.
  
! 2005-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR C/19472
! 	* c-typeck.c (build_asm_expr): Strip nops off
! 	input memory operands.
  
! 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
! 	_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
! 	* config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
! 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
  
! 2005-01-18  Joel Sherrill <joel.sherrill@oarcorp.com>
  
! 	PR target/19379
! 	* config/i386/i386.c (override_options): If the 80387 is disabled,
! 	then do not return FP values using FP registers.
  
! 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
! 	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
! 	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
! 	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
! 	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
! 	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
! 	output.h, postreload-gcse.c, postreload.c, recog.c,
! 	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
! 	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
! 	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
! 	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
! 	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
! 	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
! 	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
! 	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
  
! 	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
! 	config/alpha/alpha.c, config/arm/vfp.md,
! 	config/i386/emmintrin.h, config/i386/i386-modes.def,
! 	config/i386/i386-protos.h, config/i386/i386.h,
! 	config/i386/pmmintrin.h, config/i386/ppro.md,
! 	config/i386/predicates.md, config/i386/xmmintrin.h,
! 	config/i860/i860.c, config/ia64/ia64-modes.def,
! 	config/ia64/ia64-protos.h, config/ia64/ia64.h,
! 	config/ia64/ia64.md, config/ia64/itanium1.md,
! 	config/ia64/itanium2.md, config/ia64/predicates.md,
! 	config/iq2000/iq2000.h, config/mips/linux64.h,
! 	config/rs6000/aix41.h, config/rs6000/aix43.h,
! 	config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
! 	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
! 	config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
! 	config/sparc/linux64.h, config/sparc/litecoff.h,
! 	config/sparc/sp64-elf.h, config/sparc/sparc.c,
! 	config/sparc/sparc.h, config/sparc/sparc.md,
! 	config/sparc/sysv4-only.h: Update copyright.
  
! 2005-01-18  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19496
! 	* config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
  
! 2005-01-18  Marc Espie  <espie@openbsd.org>
! 	* config/i386/openbsdelf.h: Typo.
  
! 2005-01-18  Richard Henderson  <rth@redhat.com>
  
- 	* config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
- 	special case for sse.
- 	* config/i386/predicates.md (sse_comparison_operator): Likewise.
  
! 2005-01-18  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-inline.c (estimate_num_insns_1): Added cases for
! 	ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
  
! 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR rtl-optimization/19296
! 	* combine.c (simplify_comparison): Rewrite the condition under
! 	which a non-paradoxical SUBREG of a PLUS can be lifted when
! 	compared against a constant.
  
! 2005-01-18  Andi Kleen <ak@muc.de>
  
! 	* c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
! 	* c.opt (-Wpointer-sign): Add.
! 	* doc/invoke.texi: (-Wpointer-sign): Add.
  
! 2005-01-18  Uros Bizjak  <uros@kss-loka.si>
  
! 	* config/i386/i386.c (override_options): Revert 2004-11-24 change.
! 	* config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
! 	*tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
! 	logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
! 	exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
! 	nearbyintsf2): Disable for TARGET_SSE_MATH.  Leave patterns enabled
! 	for TARGET_MIX_SSE_I387.
! 	(fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
! 	sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
! 	atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
! 	log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
! 	floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
! 	(TARGET_SSE2 && TARGET_SSE_MATH).  Leave patterns enabled for
! 	TARGET_MIX_SSE_I387.
! 	(atan2sf3, atan2df3, atan2xf3): Remove register constraints
! 	from expander.
  
! 2005-01-18  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/19424
! 	* config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
! 	Add movaps alternative for xmm reg->reg move.
  
! 2005-01-17  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
! 	at the end of the main DOM loop rather than just before DOM exits.
  
! 2005-01-17  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/19121
! 	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
! 	adding aliases to a name tag, also add them to the pointer's
! 	type tag.
! 	* tree-ssa-copy.c (merge_alias_info): Do not merge flow
! 	sensitive alias info at all.  Only check that the two pointers
! 	have compatible pointed-to sets.
! 	* tree-ssa.c (verify_name_tags): Verify that the alias set of
! 	a pointer's type tag is a superset of the alias set of the
! 	pointer's name tag.
  
! 2005-01-17  James E Wilson  <wilson@specifixinc.com>
  
! 	PR target/19357
! 	* config/ia64/ia64.md (movxf): Handle general register source.  Adjust
! 	comment to document why.
  
! 2005-01-17  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
! 	sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
! 	sse2_vmsmaxv2df3_finite, sminv2df3_finite,
! 	sse2_vmsminv2df3_finite): New.
! 	(smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
! 	sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
! 	Force op1 into register.
  
! 2005-01-17  Kelley Cook  <kcook@gcc.gnu.org>
  
! 	* Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
! 	bubblestrap from always rebuilding build directory.
  
! 2005-01-17  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.md ("*clc"): Remove incorrect '='.
! 	("*cmpmem_short"): Likewise.
  
! 2005-01-17  Steven Bosscher  <stevenb@suse.de>
  
! 	* basic-block.h: Document BB_* flags.
! 	* regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
! 	use an sbitmap instead.
! 	* sched-rgn.c (compute_trg_info): Likewise.
  
! 2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
! 	redundant target_cpu_default and extra_parts lines.  Use the default
! 	"from-abi" ISA.
! 	* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
! 	(SUBTARGET_EXTRA_SPECS): Delete.
! 	(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
! 	(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
! 	* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
! 	and "n32" for -mabi=n32.
  
! 2005-01-17  Ian Lance Taylor  <ian@airs.com>
  
! 	PR c/5675
! 	* c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
! 	fold constant variables into initial values.
  
! 2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
  
! 	* tree-cfg.c (tree_forwarder_block_p): Speed up by walking
! 	through the statements backward.
  
! 2005-01-17  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/13127:
! 	* tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
! 	a variable set to the return value of the inlined function.
  
! 2005-01-17  Mark Dettinger  <dettinge@de.ibm.com>
  
! 	* rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
! 	when modes are tieable.
  
! 2005-01-17  Ranjit Mathew  <rmathew@hotmail.com>
  
! 	* gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
! 	of pthread_create to find out if threads are enabled.
! 	* gthr-posix95.h (__gthread_active_p): Likewise.
  
! 2005-01-17  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* common.opt (-fnew-ra): Remove.
! 	* ra*.*: Remove.
! 	* toplev.h (flag_new_regalloc): Remove.
! 	* Makefile.in (ra*.*): Don't mention.
! 	* passes.c (rest_of_handle_new_regalloc): Remove.
! 	(rest_of_handle_combine, rest_of_compilation): Always consider
! 	flag_new_regalloc as false.
! 	* doc/invoke.texi: Don't document -fnew-ra.
  
! 2005-01-17  Paolo Bonzini <bonzini@gnu.org>
  
! 	* bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
! 	last parameter to reg_scan.
! 	* loop.c (loop_optimize): Likewise.
! 	* passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
! 	rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
! 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
! 	rest_of_handle_gcse, rest_of_handle_loop_optimize,
! 	rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
! 	* regclass.c (reg_scan): Likewise, for the declaration.
! 	* rtl.h (reg_scan): Likewise, for the prototype.
  
! 2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
! 	mark_dfs_back_edges.
  
! 2005-01-16  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-pre.c (add_to_sets): s1 may be NULL.
! 	(compute_avail): Uses don't go in tmp_gen.
  
! 2005-01-16  Steven Bosscher  <stevenb@suse.de>
  
! 	* ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
! 	loop to look for a free slot in a page entry.
  
! 2005-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/16304
! 	* defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
! 	* toplev.c (compile_file): Call process_pending_assemble_output_defs
! 	just before targetm.asm_out.file_end.
! 	* tree.h (process_pending_assemble_output_defs): Declare.
! 	* varasm.c (assemble_output_def, process_pending_assemble_output_defs):
  	New functions.
! 	(assemble_alias): Defer generation of assembly code for defines when
! 	TARGET_DEFERRED_OUTPUT_DEFS is true.
! 	* config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
! 	* config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
! 	* doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
  
! 2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/19336
! 	* pa.c (pa_scalar_mode_supported_p): New function.
! 	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
! 	* pa.h (MIN_UNITS_PER_WORD): Add comment.
  
! 	* pa-protos.h (prefetch_operand): Delete.
! 	(prefetch_cc_operand, prefetch_nocc_operand): New declations.
! 	* pa.c (prefetch_operand): Delete.
! 	(prefetch_cc_operand, prefetch_nocc_operand): New functions.
! 	* pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
! 	(PREDICATE_CODES): Delete prefetch_operand.  Add prefetch_cc_operand
! 	and prefetch_nocc_operand.
! 	* pa.md (prefetch): Rework to avoid reload problems handling short
! 	displacements when a cache control completer needs to be provided.
! 	(prefetch_32, prefetch_64): Delete.
! 	(prefetch_cc, prefetch_nocc): New patterns.
  
! 2005-01-15  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
  
! 2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR ada/19388
! 	* pa.c (pa_asm_output_aligned_common): Warn if specified alignment
! 	exceeds maximum alignment for global common data.
! 	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
! 	* som.h (MAX_OFILE_ALIGNMENT): Likewise.
  
! 2004-01-15  Roger Sayle  <roger@eyesopen.com>
  
! 	* tree-ssa-dom.c (extract_range_from_cond): Correct condition.
  
! 2004-01-15  Roger Sayle  <roger@eyesopen.com>
  
! 	* harg-reg-set.h (reg_class_names): Prototype global array.
! 	* regclass.c (reg_class_names): Declare here and initialize to
! 	REG_CLASS_NAMES.
! 	(dump_regclass): Remove local declaration of reg_class_names.
! 	(regclass): Likewise.
! 	* cfg.c (dump_flow_info): Likewise.
! 	* ra-debug.c (reg_class_names): Likewise.
! 	* regrename.c (reg_class_names): Likewise.
! 	* reload.c (reg_class_names): Likewise.
! 	* reload1.c (spill_failure): Likewise.
! 	* config/m68hc11/m68hc11.c (reg_class_names): Likewise.
  
! 2005-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.md ("reload_outti"): Remove predicate for
! 	output operand.  Abort if operand is not a MEM.
! 	("reload_outdi", "reload_outdf"): Likewise.
  
! 2005-01-15  Marc Espie  <espie@openbsd.org>
  
! 	* config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
! 	(i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
! 	* config/openbsd.h:  Fix C++ includes for native configurations.
! 	Add proper OS_CPP_BUILTINS.  Fix libspec for recent OpenBSD.
! 	Add trampoline support.
! 	* config/i386/openbsdelf.h: New.
  
! 2005-01-15  Marc Espie  <espie@openbsd.org>
  
! 	* collect2.c (main): Explicitly parse -dynamic-linker option.
  
! 2005-01-15  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/19060
! 	* tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
! 	Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
! 	(simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
! 	and handle extract_range_from_cond returning false.
! 	* fold-const.c (fold): Optimize comparisons with min/max even for
! 	width > HOST_BITS_PER_WIDE_INT.
  
! 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
  
! 	* config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
! 	* config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
! 	Remove little endian multilib variants.
! 	Add mips32 multilib variant.
  
! 2005-01-15  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* explow.c (copy_all_reg, stabilize): Remove.
! 	* expr.h: Remove the corresponding prototypes.
  
! 	* rtlanal.c (regs_set_between_p): Remove.
! 	* rtl.h: Remove the corresponding prototype.
  
! 2005-01-14  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
! 	to rs6000_nonimmediate_operand.
! 	* config/rs6000/rs6000.h (PREDICATE_CODES): Rename
! 	rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
! 	* config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
! 	rs6000_nonimmediate_operand.
! 	* config/rs6000/spe.md (movdf_e500_double): Rename predicate to
! 	rs6000_nonimmediate_operand.
  
! 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
  
! 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
! 	on e500v2.
! 	(CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
! 	(PREDICATE_CODES): Add rs6k_nonimmediate_operand.
  
! 	* config/rs6000/rs6000.c (invalid_e500_subreg): New.
! 	(rs6k_nonimmediate_operand): New.
! 	(rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
! 	correctly.
! 	(legitimate_lo_sum_address_p): Same.
! 	(rs6000_legitimize_address): Same.
! 	(rs6000_legitimize_reload_address): Same.
! 	(rs6000_legitimate_address): Same.
! 	(spe_build_register_parallel): Pass DF and DC modes in a DI
! 	register.
  
! 	* config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
! 	to rs6k_nonimmediate_operand.
  
! 	* config/rs6000/spe.md ("*frob_df_di"): New.
! 	("*frob_di_df"): New.
! 	("*frob_di_df_2"): New.
! 	("*mov_sidf_e500_subreg0"): New.
! 	("*mov_sidf_e500_subreg4"): New.
! 	("*movdf_e500_double"): Change predicate to
! 	rs6k_nonimmediate_operand.
  
! 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* postreload.c (move2add_note_store): Only call
! 	trunc_int_for_mode on scalar integers.
  
! 2005-01-14  Steven Bosscher  <stevenb@suse.de>
  
! 	* tree-ssa-dce.c (visited_control_parents): New sbitmap to
! 	replace BB_VISITED uses.
! 	(find_obviously_necessary_stmts): Don't clear BB_VISITED.
! 	(propagate_necessity): Check the bitmap instead of BB_VISITED.
! 	(tree_dce_done): Free visited_control_parents.
! 	(perform_tree_ssa_dce): Allocate and clear it.
! 	* tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
! 	(compute_antic): Iterate from here using a DFS.  Use an sbitmap
! 	instead of BB_VISITED.
  
! 2005-01-14  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
! 	rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
! 	Remove unused prototypes.
  
! 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
! 	64-bit register usage.
! 	(spe_func_has_64bit_regs_p): Add FIXME note.
  
! 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/rs6000/rs6000.c (rs6000_generate_compare): Replace
! 	flag_finite_math_only with flag_unsafe_math_optimizations.
  
! 2005-01-14  J. D. Johnston  <jjohnst@us.ibm.com>
  
! 	* config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
! 	end-of-stack check.
! 	(__tpf_eh_return): Copy TPF private stack area from the module
! 	boundary stack frame.  Add check for when module addresses are
! 	equal, but no stub address is found.
  
! 2005-01-14  Richard Earnshaw  <rearnsha@arm.com>
  
! 	PR target/7525
! 	* arm.h (struct machine_function): Add call_via field.
! 	(thumb_call_via_label): Declare.
! 	* arm.c (thumb_call_via_label): New variable.
! 	(thumb_call_reg_needed): New variable.
! 	(arm_output_function_epilogue): For Thumb code, output any per-function
! 	call-indirect trampolines.
! 	(thumb_call_via_reg): New function.
! 	(arm_file_end): New function.
! 	(TARGET_ASM_FILE_END): Call arm_file_end.
! 	(aof_file_end): Likewise.
! 	* arm-protos.h (thumb_call_via_reg): Declare.
! 	* arm.md (call_reg_thumb, call_value_reg_thumb): Call
! 	thumb_call_via_reg in normal case.
  
! 2005-01-14  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/19084
! 	PR rtl-optimization/19348
! 	* recog.c (peephole2_optimize): Do global life update if some peephole
! 	decides it doesn't need at least one of its inputs and that change
! 	influences liveness at the start of the basic block.
  
! 	* basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
! 	arguments instead of 1.
  
! 2005-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR middle-end/18820
! 	* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
! 	zero for nested functions needing a static chain or functions
! 	with a non-constant address.
  
! 2005-01-13  Roger Sayle  <roger@eyesopen.com>
  
! 	* simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
! 	(and (sign_extend X) C) into (zero_extend (and X C)).
  
! 2005-01-13  David O'Brien  <obrien@FreeBSD.org>
  
! 	* config/freebsd-spec.h:  Make KSE pthread lib logic the default.
  
! 2005-01-13  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19009
! 	PR target/19250
! 	PR target/19252
! 	* config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
! 	bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
! 	not just TARGET_SSE.
! 	(cmpfp_i_387): Rename from cmpfp_i.  Move after sse patterns.
! 	(cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
! 	(cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
! 	(cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
! 	(fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
! 	(fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
! 	(fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
! 	fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
! 	(movdicc_c_rex64): Rename with '*'.
! 	(movsfcc, movdfcc): Add checks for 387 and sse math to condition.
! 	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
! 	(movsfcc_1_387): Rename from movsfcc_1.
! 	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
! 	(movdfcc_1, movdfcc_1_rex64): Add check for 387.
! 	(sminsf3, smaxsf3, smindf3, smaxdf3): New.
! 	(minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
! 	mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
! 	maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
! 	sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
! 	sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
! 	sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
! 	sse_movdfcc_const0_4): Remove.
! 	* config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
! 	recognize min/max early.  Update for changed sse cmove patterns.
! 	(ix86_split_sse_movcc): New.
! 	* config/i386/i386-protos.h: Update.
  
! 2005-01-13  Steven Bosscher  <stevenb@suse.de>
  
! 	* tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
! 	(fix_stmt_v_may_defs): Likewise.
  
! 2005-01-13  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
! 	for converting the mask.
  
! 2005-01-13  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
! 	definition to 600.
  
! 2005-01-13  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
! 	IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
! 	IX86_BUILTIN_MOVDQ2Q): Remove.
! 	(IX86_BUILTIN_VEC_EXT_V4SI): New.
! 	(ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
! 	(ix86_expand_vector_extract): For V4S[FI], extract element 0 after
! 	shuffling.
! 	* config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
! 	(sse2_pextrw): Fix immediate constraint.
! 	(sse2_loadq, sse2_loadq_rex64): Remove.
! 	* config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
! 	Use __builtin_ia32_vec_ext_<size>.
! 	(_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
  
! 2005-01-13  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* function.c (assign_parm_setup_block): Look inside original
! 	entry_parm when inspecting PARALLEL.
  
! 2005-01-13  Ralf Corsepius  <ralf.corsepius@rtems.org>
! 	    Joel Sherrill  <joel@oarcorp.com>
  
! 	PR target/19399
! 	* gthr-rtems.h (__gthread_recursive_mutex_t): New type.
! 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
! 	rtems_gxx_recursive_mutex_init.
! 	(__gthread_recursive_mutex_lock): New function.
! 	(__gthread_recursive_mutex_trylock): Likewise.
! 	(__gthread_recursive_mutex_unlock): Likewise.
  
! 2005-01-13  Ralf Corsepius <ralf.corsepius@rtems.org>
  
! 	* config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
  
! 2005-01-13  Jan Beulich  <jbeulich@novell.com>
  
! 	* config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
! 	(ashrti3_internal): Indicate output is early clobber. Generate result
! 	into output rather than first input. Use move for low word of output
! 	if shift count is exactly 64.
! 	(lshrti3_internal): Likewise.
  
! 2005-01-13  Hans-Peter Nilsson  <hp@bitrange.com>
  
! 	PR target/18329
! 	PR target/18330
! 	* reload1.c (delete_output_reload): Don't delete an output reload
! 	if the pseudo lives longer than a single basic block.  Adjust and
! 	improve wording of comment.
  
! 2005-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/19334
! 	* config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
! 	of TYPE_SIZE where we mean the number of bytes.
  
! 2005-01-12  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* function.c (assign_parm_setup_block): Relax condition on
! 	multi-register optimization.
  
! 2005-01-12  Nick Clifton  <nickc@redhat.com>
  
! 	* config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
! 	an "in_delay_slot" attribute of "no" to prevent them being used in
! 	delay slots.  This is forbidden because they might generate
! 	exceptions.
  
! 2005-01-12  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/19389
! 	* config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
! 	with r->Y and Y->r.
  
! 2005-01-12  Nick Clifton  <nickc@redhat.com>
  
! 	* config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
! 	passed on to GAS) but do not define, as GAS no longer supports or
! 	needs the -m2000 option.
  
! 2005-01-11  Roger Sayle  <roger@eyesopen.com>
  
! 	* builtins.c (fold_builtin_fabs): Convert argument to the appropriate
! 	type as args of unprototyped builtins aren't automatically promoted.
! 	(fold_builtin_abs): Likewise.
  
! 2005-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* Makefile.in: Set a `build-warn' variable.
  
! 2005-01-11  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/17949
! 	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
! 	(find_interesting_uses_address): Use it.
  
! 2005-01-11  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* regrename.c (kill_value): Handle subreg's that won't simplify.
  
! 2005-01-11  Richard Henderson  <rth@redhat.com>
  
! 	PR target/13366
! 	* config/i386/i386.h (enum ix86_builtins): Move ...
! 	* config/i386/i386.c: ... here.
! 	(IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
! 	IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
! 	IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
! 	IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
! 	IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD,  IX86_BUILTIN_STOREHPD,
! 	IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
! 	IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
! 	IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
! 	IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
! 	IX86_BUILTIN_LOADDDUP): Remove.
! 	(IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
! 	IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
! 	IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
! 	IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
! 	IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
! 	(ix86_init_builtins): Make static.
! 	(ix86_init_mmx_sse_builtins): Update for changed builtins.
! 	(ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
! 	if all the modes match.  Otherwise, fake it.
! 	(get_element_number, ix86_expand_vec_init_builtin,
! 	ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
! 	(ix86_expand_builtin): Make static.  Update for changed builtins.
! 	(ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
! 	operand instead of sse2_loadsd.  Cast sse1 fallback to V4SFmode.
! 	(ix86_expand_vector_init_duplicate): New.
! 	(ix86_expand_vector_init_low_nonzero): New.
! 	(ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
! 	Split out from ix86_expand_vector_init; handle integer modes.
! 	(ix86_expand_vector_init): Use them.
! 	(ix86_expand_vector_set, ix86_expand_vector_extract): New.
! 	* config/i386/i386-protos.h: Update.
! 	* config/i386/predicates.md (reg_or_0_operand): New.
! 	* config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
! 	(movv2sf_internal): Likewise.  And a splitter to match them all.
! 	(vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
! 	vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
! 	vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
! 	vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
! 	(mmx_pinsrw): Fix operand ordering.
! 	* config/i386/sse.md (movv4sf splitter): Use direct pattern,
! 	rather than sse_loadss expander.
! 	(movv2df splitter): Similarly.
! 	(sse_loadss, sse_loadlss): Remove.
! 	(vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
! 	(vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
! 	(vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
! 	(sse3_movddup): Rename with '*'.
! 	(sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
! 	(sse2_loadsd): Remove.
! 	(vec_dupv2df_sse3): Rename from sse3_loadddup.
! 	(vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
! 	(sse2_pinsrw): Fix argument ordering.
! 	(sse2_loadld, sse2_loadq): Add sse1 alternatives.
! 	(sse2_stored): Remove 'r' destination.
! 	(vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
! 	vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
! 	vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
! 	vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
! 	vec_extractv16qi, vec_initv16qi): New.
  
! 	* config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
! 	(_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
! 	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
! 	constructor form.
! 	(_mm_load_pd, _mm_store_pd): Use plain dereference.
! 	(_mm_load_si128, _mm_store_si128): Likewise.
! 	(_mm_load1_pd): Use _mm_set1_pd.
! 	(_mm_load_sd): Use _mm_set_sd.
! 	(_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
! 	(_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
! 	(_mm_set_epi64): Use _mm_set_epi64x.
! 	(_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
! 	_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
! 	_mm_setr_epi8): Use _mm_set_foo form.
! 	(_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
! 	(_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
! 	(_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
! 	(_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
! 	* config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
! 	(_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
! 	(_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
! 	(_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
! 	(_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
! 	* config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
! 	(_mm_movedup_pd): Use _mm_shuffle_pd.
! 	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
! 	_mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
! 	(_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
! 	_mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
! 	Use _mm_setzero_ps.
! 	(_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
! 	(_mm_load_ps, _mm_loadr_ps): Use raw dereference.
! 	(_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
! 	(_mm_store_ps): Use raw dereference.
! 	(_mm_store1_ps): Use _mm_storeu_ps.
! 	(_mm_storer_ps): Use _mm_store_ps.
! 	(_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
! 	(_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
  
! 2005-01-11  Stan Shebs  <shebs@apple.com>
  
! 	* config/rs6000/rs6000.c (machopic_output_stub): Issue
! 	ldu instead of lwzu if 64-bit -mdynamic-no-pic.
  
! 2005-01-11  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/18761
! 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
! 	Skip all DECLs except for FIELD_DECLs.
  
! 2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (override_options): Return error if
! 	-mbackchain, -mpacked-stack and -mhard-float are used together.
! 	(s390_va_start): Remove the backchain && packed-stack special case.
! 	(s390_gimplify_va_arg): Likewise.
! 	* doc/invoke.texi: Remove the ABI incompatibility note.
  
! 2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (struct s390_frame_layout): Remove
! 	save_backchain_p.
! 	(s390_frame_info, s390_emit_prologue): Replace occurrences of
! 	save_backchain_p with TARGET_BACKCHAIN.
  
! 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/18916
! 	* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
! 	* expr.h (struct locate_and_pad_arg_data): Add "boundary".
! 	* function.c (locate_and_pad_parm): Set new field.
! 	(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
! 	Tweak where_pad test to include "none".  Always set mem align for
! 	stack_parm.
! 	(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
! 	not sufficient for type.
! 	(assign_parm_setup_block): If stack_parm is zero on entry, always
! 	make a new stack local.  Block move old stack parm if necessary
! 	to new aligned stack local.
! 	(assign_parm_setup_stack): Use a block move to handle
! 	potentially misaligned entry_parm.
! 	(assign_parms_unsplit_complex): Specify required alignment when
! 	creating stack local.
! 	* calls.c (compute_argument_addresses): Override alignment of stack
! 	arg calculated from its type with the alignment given by
! 	FUNCTION_ARG_BOUNDARY.
! 	(store_one_arg): Likewise.
  
! 2005-01-11  Jan Beulich  <jbeulich@novell.com>
  
! 	* config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
! 	Change respective itanium_class attribute to ialu.
! 	(shladdp4_internal): New.
! 	* config/ia64/predicates.md (shladd_log2_operand): New.
  
! 2005-01-11  Richard Henderson  <rth@redhat.com>
  
! 	* expr.c (store_constructor): Use rtvec_alloc instead of
! 	alloca+gen_rtvec_v, and an incorrect number passed to alloca.
  
! 2005-01-11  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
  
! 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
  
! 	* varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
! 	* config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
! 	(TARGET_RWRELOC): Define.
! 	(ia64_rwreloc_section_type_flags): Delete.
! 	(ia64_section_type_flags): New function.
! 	* config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
! 	(TARGET_RWRELOC): Define.
  
! 2005-01-10  David Mosberger  <davidm@hpl.hp.com>
  
! 	PR target/18987
! 	* config/ia64/ia64.c (process_set): For alloc insn, only call
! 	process_epilogue is !frame_pointer_needed.
  
! 2005-01-10  Roger Sayle  <roger@eyesopen.com>
  
! 	PR c++/19355
! 	* c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
! 	unary operator and can't be treated as a binary/comparison operator.
  
! 2005-01-10  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (ix86_function_value): Use type_natural_mode.
! 	(ix86_return_in_memory): Likewise.
! 	(function_arg_advance):  Likewise.  Mirror structure in function_arg
! 	for choosing register to advance.
  
! 2005-01-10  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* tree-vectorizer.c, tree.def: Fix comment typos.
  
! 2005-01-10  Mark Dettinger  <dettinge@de.ibm.com>
  
! 	* config/s390/s390.c (struct processor_costs): 4 new fields:
! 	ddbr, ddr, debr, der.
! 	(s390_rtx_costs): More precise handling of divide instructions.
  
! 2005-01-10  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
  
! 2005-01-10  Jan Beulich  <jbeulich@novell.com>
  
! 	* config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
! 	names resulting from -ffunction-sections/-fdata-sections and linkonce
! 	ones.
! 	* varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
! 	based on the section name. Rearrange the section name comparison logic
! 	slightly so that each section name is compared against at most once.
  
! 2005-01-10  Ben Elliston  <bje@au.ibm.com>
  
! 	* doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
! 	targets for which -fPIC reduces limitations on the GOT size.
  
! 2005-01-09  Falk Hueffner  <falk@debian.org>
  
! 	* fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
! 	X/C1 cmpop C2.
  
! 2005-01-09  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/18720
! 	* collect2.c (main): Set aixrtl_flag for -brtl option.
! 	(resolve_lib_name): Search for .so file extension before .a
! 	if aixrtl_flag set.
  
! 2005-01-09  Dorit Naishlos  <dorit@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
! 	(vect_analyze_data_refs_alignment): Add dump prints.
  
! 2005-01-09  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_analyze_offset_expr): Use
! 	expr_invariant_in_loop_p.
! 	Initialize outputs first thing in the function.
! 	(vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
! 	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
! 	(vect_analyze_pointer_ref_access): Check that the initial condition of
! 	the access function is loop invariant.
  
! 2005-01-09  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
! 	(ix86_expand_builtin): Likewise.  Frob MASKMOVQ wrt the input mem
! 	just like MASKMOVDQU.  Return plain zero for MMX_ZERO.
! 	* config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
! 	mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
! 	movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
! 	movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
! 	sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
! 	ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
! 	mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
! 	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
! 	sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
! 	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
! 	mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
! 	gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
! 	ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
! 	mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
! 	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
! 	mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
! 	eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
! 	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
! 	pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
! 	pswapdv2sf2): Move to mmx.md; rename as necessary with leading
! 	mmx_ prefix.
! 	(mmx_clrdi, pavgusb): Remove.
! 	(ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
! 	with leading sse_ prefix.
! 	* config/i386/sse.md: Receive them.
! 	* config/i386/mmx.md: New file.
! 	(MMXMODE12, MMXMODE24, mmxvecsize): New.
! 	(subrv2sf3): Turn into expander for normal subtraction.
! 	(mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
! 	mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
! 	mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
! 	mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
! 	commutative; use ix86_binary_operator_ok.
! 	(mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
! 	mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
! 	mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
! 	mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
! 	mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
! 	Macroize from existing patterns; use ix86_binary_operator_ok.
! 	(mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
! 	(mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
! 	mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise.  Model
! 	with vec_select+vec_concat.
! 	(mmx_pshufw, mmx_pshufw_1): Likewise.
! 	(mmx_uavgv8qi3): Merge pavgusb.  Model correcty.
! 	(mmx_uavgv4hi3): Model correctly.
! 	* config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
! 	_mm_xor_si64): Remove casts.
  
! 2005-01-09  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/19224
! 	* tree-scalar-evolution.c (get_instantiated_value,
! 	set_instantiated_value): New functions.
! 	(instantiate_parameters_1): Cache the results.
! 	(instantiate_parameters, resolve_mixers): Initialize and free
! 	the cache.
  
! 2005-01-08  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/i386/i386.md (addhi_4): Correct reference in comment.
! 	(addqi_4): Same.
  
! 2005-01-08  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
! 	(_mm_cvtsi128_si64x): Likewise.
! 	(_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
! 	_mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
! 	the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
! 	* config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
! 	* config/i386/i386-protos.h: Update.
! 	* config/i386/i386.c (print_operand): Add 'H'.
! 	(ix86_fixup_binary_operands): Split out from ...
! 	(ix86_expand_binary_operator): ... here.
! 	(ix86_fixup_binary_operands_no_copy): New.
! 	(ix86_expand_fp_absneg_operator): Handle vector mode results.
! 	(bdesc_2arg): Update names for sse{,2,3}_ prefixes.
! 	(ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
! 	(safe_vector_operand): Use CONST0_RTX.
! 	(ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
! 	(ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
! 	CODE_FOR_sse2_maskmovdqu.  Special case SSE version of MASKMOVDQU
! 	expansion.  Update names for sse{,2,3}_ prefixes.  Remove *maskncmp*
! 	special cases.
! 	* config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
! 	(IX86_BUILTIN_CMPNGESS): New.
! 	* config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
! 	(attr type): Add sselog1.
! 	(attr unit, attr memory): Handle it.
! 	(movti, movti_internal, movti_rex64): Move near other integer moves.
! 	(movtf, movtf_internal): Move near other fp moves.
! 	(SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
! 	vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
! 	movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
! 	movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
! 	sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
! 	sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
! 	sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
! 	mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
! 	rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
! 	sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
! 	sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
! 	sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
! 	vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
! 	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
! 	cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
! 	cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
! 	vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
! 	vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
! 	sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
! 	sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
! 	cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
! 	cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
! 	cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
! 	cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
! 	ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
! 	subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
! 	smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
! 	sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
! 	sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
! 	sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
! 	gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
! 	ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
! 	ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
! 	sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
! 	sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
! 	sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
! 	sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
! 	sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
! 	sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
! 	sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
! 	mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
! 	addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
! 	movsldup, lddqu, loadddup, movddup): Move to sse.md.  Any with
! 	non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
! 	same time.
! 	(SSEPUSH, push<SSEPUSH>): Remove.
! 	(MMXPUSH, push<MMXPUSH>): Remove.
! 	(sse_movaps, sse_movaps_1, sse_movups): Remove.
! 	(sse2_movapd, sse2_movdqa, sse2_movq): Remove.
! 	(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
! 	(sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
! 	(maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
! 	(maskncmpv2df3, vmmaskncmpv2df3): Remove.
! 	(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
! 	(lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
! 	* config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
! 	(athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
! 	* config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
! 	(ppro_sse_log_V4SF_load): Similarly.  Handle sselog1.
! 	(ppro_sse_log_V4SF): Handle sselog1.
! 	* config/i386/predicates.md (const_0_to_1_operand): New.
! 	(const_0_to_255_mul_8_operand): New.
! 	(const_1_to_31_operand): Rename from const_int_1_31_operand.
! 	(const_2_to_3_operand, const_4_to_7_operand): New.
! 	* config/i386/sse.md: New file.
! 	(SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
! 	(sse_movups): Rename from sse_movups_1.
! 	(sse_loadlss): Rename from sse_loadss_1.
! 	(andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
! 	from the name.
! 	(negv4sf2): Use ix86_expand_fp_absneg_operator.
! 	(absv4sf2, negv2df, absv2df): New.
! 	(addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
! 	(subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
! 	iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
! 	smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
! 	umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
! 	(sse3_addsubv4sf3): Model correctly.
! 	sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
! 	sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
! 	(sse_movhlps): Model with vec_select+vec_concat.
! 	(sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
! 	sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
! 	sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
! 	sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
! 	sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
! 	sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
! 	sse2_pshufhw_1): Likewise.
! 	(neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
! 	(add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
! 	sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
! 	ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
! 	sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
! 	ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
! 	(addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
! 	sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
! 	mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
! 	sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
! 	sminv8hi3): Mark commutative
! 	operands.  Use ix86_binary_operator_ok.
! 	(sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
! 	sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
! 	sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
! 	sse2_punpcklqdq): Allow operand2 in memory.
! 	(sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
! 	sse2_movsd): Add memory alternatives.
! 	(sse_storelps): Turn expander into an insn; split after reload.
! 	(sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
! 	(sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
  
! 2005-01-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* configure.ac (DWARF-2 debug_line): Use objdump.
  	* configure: Regenerate.
  
! 2005-01-08  Jeff Law  <law@redhat.com>
! 	    Diego Novillo  <dnovillo@redhat.com>
  
! 	PR tree-optimization/18241
! 	* tree-nrv.c (tree_nrv): Ignore volatile return values.
! 	* tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
! 	statements with volatile operands.
! 	* tree-ssa-operands.c (add_stmt_operand): Do add volatile
! 	operands after marking a statement with has_volatile_ops.
  
! 2005-01-08  Roger Sayle  <roger@eyesopen.com>
  
! 	* tree.c (int_fits_type_p): Always honor integer constant
! 	TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
  
! 2005-01-08  Roger Sayle  <roger@eyesopen.com>
  
! 	* ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
! 	the latent bug in rtl_delete_block has been resolved.
  
! 2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
! 	(MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
  
! 2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
  
! 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
! 	library as @multilib_dir@/$(SHLIB_SONAME).
  
! 2005-01-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
! 	* configure: Regenerate.
  
! 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
  
! 	* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
! 	TYPE_MODE.
  
! 2005-01-07  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/13674
! 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
! 	Convert non-word aligned offset address using ld/std into
! 	indirect address.
  
! 2005-01-07  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
  
! 2005-01-07  Richard SAndiford  <rsandifo@redhat.com>
  
! 	* tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
  
! 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/19283
! 	* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
! 	is not shorter than the original type.
  
! 	PR rtl-optimization/19012
! 	* config/i386/i386.md (addqi_1_slp): Set memory attribute.
  
! 	PR rtl-optimization/18861
! 	* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
! 	(FULL_STATE): Define.
! 	(mark_tablejump_edge): New function.
! 	(purge_dead_tablejump_edges): New function.
! 	(find_bb_boundaries): Use it.
  
! 	PR tree-optimization/18828
! 	* builtins.c (expand_builtin_next_arg): Remove argument and all
! 	the argument checking.
! 	(expand_builtin): Adjust caller.
! 	(expand_builtin_va_start): Likewise.  Remove error for too many
! 	arguments.
! 	(fold_builtin_next_arg): Issue error for too many arguments.
! 	After checking arguments, replace them with magic arguments that
! 	prevent further checking of the args.
  
! 2005-01-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
  
! 2005-01-06  Roger Sayle  <roger@eyesopen.com>
  
! 	PR target/6077
! 	* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
! 	and %{.S:...} (and their negative variants) to test whether the
! 	input file is assembler or pre-processed-assembler independent of
! 	the actual filename extension.
  
! 2005-01-06  Roger Sayle  <roger@eyesopen.com>
  
! 	* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
! 	of sign or zero extended values.
  
! 2005-01-06  Geoffrey Keating  <geoffk@apple.com>
  
! 	* c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
! 	for IBM long double format correctly.
  
! 2005-01-06  Daniel Berlin <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/18792
  
! 	* tree-data-ref.c (build_classic_dist_vector): Change first_loop
! 	to first_loop_depth, and use loop depth instead of loop number.
! 	(build_classic_dir_vector): Ditto.
! 	(compute_data_dependences_for_loop): Use depth, not loop number.
! 	* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
! 	number. Pass in loops, instead of loop numbers.
! 	(gather_interchange_stats): Ditto.
! 	(linear_transform_loops): Ditto.
  
! 2005-01-06  Richard Sandiford  <rsandifo@redhat.com>
  
! 	PR rtl-opt/13299
! 	* loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
! 	biv_fits_mode_p, extension_within_bounds_p): New functions.
! 	(check_ext_dependent_givs): Use them.
  
! 2005-01-06  Roger Sayle  <roger@eyesopen.com>
  
! 	* cfgrtl.c (rtl_delete_block): A basic block may be followed by
! 	more than one barrier, in which case we should delete them all.
  
! 2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
  
! 	* gcc.c (process_command): Change year in 'gcc --version' to 2005.
  
! 2005-01-05  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR middle-end/19286
! 	Fix PR debug/19267
! 	* dwarf2out.c (gen_subprogram_die): If we've already tried to
! 	output this subprogram, simply ignore this attempt to do it again.
! 	(add_abstract_origin_attribute): Don't abort trying to add the abstract
! 	origin attribute if it's not possible.
! 	(gen_block_die): Don't ignore subblocks of "unused" blocks.
! 	(decls_for_scope): Ditto.
! 	* gimple-low.c (mark_blocks_with_used_subblocks): Remove.
! 	(mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
  
! 2005-01-05  Richard Henderson  <rth@redhat.com>
  
! 	PR target/11327
! 	* config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
! 	(bdesc_2arg): Use it.
! 	(ix86_expand_binop_builtin): Force operands into registers
! 	when optimizing.
! 	(ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
! 	ix86_expand_sse_compare, ix86_expand_sse_comi,
! 	ix86_expand_builtin): Likewise.
  
! 2005-01-05  Richard Henderson  <rth@redhat.com>
  
! 	* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
! 	and VEC_SELECT.
! 	* config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
! 	(mulv4hi3): Set itanium_class mmmul.
! 	(fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
! 	(fpack): Rename from fpack_sfsf.
  
! 2005-01-05  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/10692
! 	* reload1.c (do_input_reload): Restrict the optimization deleteing
! 	a previous output reload to RELOAD_FOR_INPUT.
  
! 2005-01-05  Steven Bosscher  <stevenb@suse.de>
  
! 	* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
! 	comment that we fall through after case.
! 	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
! 	(distribute_links): Likewise.
! 	* cse.c (cse_insn): Likewise.
! 	* cselib.c (cselib_invalidate_mem): Likewise.
! 	* df.c: Update comments at the top of the file.
! 	(read_modify_subreg_p): Update comments here too.
! 	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
! 	* flow.c (mark_set_1): Likewise.
! 	(mark_used_regs): Likewise.
! 	* gcse.c (mems_conflict_for_gcse_p): Likewise.
! 	(canon_list_insert): Likewise.
! 	(mark_set): Likewise.
! 	(try_replace_reg): Likewise.
! 	(store_killed_in_insn): Likewise.
! 	* loop.c (count_one_set): Likewise.
! 	(basic_induction_var): Likewise.
! 	* postreload-gcse.c (find_mem_conflicts): Likewise.
! 	* postreload.c (reload_combine_note_store): Likewise.
! 	(move2add_note_store): Likewise.
! 	* reload.c (find_equiv_reg): Likewise.
! 	(mark_referenced_resources): Likewise.
! 	* rtlanal.c (set_noop_p): Likewise.
! 	(note_stores): Likewise.
! 	(note_uses): Likewise.
! 	* sched-deps.c (sched_analyze_1): Likewise.
! 	* sched-rgn.c (check_live_1): Likewise.
! 	(update_live_1): Likewise.
! 	* config/i860/i860.c: Likewise.
  
! 	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
! 	an lvalue.
! 	(ZERO_EXTRACT): Mention that this one can be an lvalue.
  
! 	* doc/rtl.texi: Update documentation for bit-fields and SET.
  
! 2005-01-05  Roger Sayle  <roger@eyesopen.com>
  
! 	* ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
  
! 2005-01-05  Jan Hubicka  <jh@suse.cz>
! 	    Richard Henderson  <rth@redhat.com>
  
! 	PR target/18910
! 	* config/i386/i386.c (ix86_expand_move): Handle tls symbols
! 	with an offset.
  
! 2005-01-05  Richard Henderson  <rth@redhat.com>
  
! 	PR target/12902
! 	* config/i386/i386.md (sse_movhps, sse_movlps): Remove.
! 	(sse_shufps): Change operand 3 to const_int_operand.
! 	(sse2_storelps): Fix typo in template.
! 	(sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
! 	* config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
! 	(ix86_expand_builtin): Likewise.
  
! 2005-01-05  Julian Brown  <julian@codesourcery.com>
  
! 	* config/arm/arm.c (arm_return_in_memory): Treat complex types
! 	as aggregates for AAPCS ABIs.
  
! 2005-01-05  Stan Shebs  <shebs@apple.com>
  
! 	* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
! 	Mach-O getters if ppc64.
! 	* config/darwin.c (darwin_asm_output_dwarf_delta): Obey
! 	size argument.
! 	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
! 	signed four-byte field for global code case.
! 	(STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
  
! 2005-01-05  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/19100
! 	* c-common.c: Include real.h.
! 	(c_common_truthvalue_conversion): Avoid destructively modifying expr.
! 	Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
! 	Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
! 	* Makefile.in (c-common.o): Update dependencies.
  
! 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-parse.in (asm_string): Add trailing semicolon.
  
! 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-parse.in (asm_string): New.  Don't allow wide strings in
! 	'asm'.
! 	(simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
! 	asm_string instead of STRING.
  
! 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-typeck.c (constructor_no_implicit): Remove.
! 	(set_designator, process_init_element): Don't check
! 	constructor_no_implicit.
  
! 2005-01-05  J"orn Rennecke <joern.rennecke@st.com>
! 	    Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	PR target/16482
! 	* lcm.c (create_pre_exit): New.
! 	(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
! 	ENTRY_EXIT_EXTRA to 3.  Use create_pre_exit.
  
! 2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
  
! 	* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
! 	-msoft-float in target_float_switch.
! 	* arm.c (arm_override_options): Fix processing of target_float_switch.
  
! 2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
  
! 	* arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
! 	preferencing.
  
! 2004-01-05  Uros Bizjak  <uros@kss-loka.si>
  
! 	* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
! 	Replace i387 with 'i386 compiler' in -mfpmath=sse option.
  
! 2005-01-04  Roger Sayle  <roger@eyesopen.com>
  
! 	* ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
! 	if deleting the then-block allows the test-block to fallthru to the
! 	else-block.
  
! 2005-01-04  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR c/19152
! 	* c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
! 	after the full declaration if the are in two different TUs.
  
! 2005-01-04  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/19158
! 	* tree-sra.c (generate_one_element_init): Just
! 	call gimplify_and_add.
! 	(generate_element_init): Record the
! 	new referenced variables and mark them for renaming
! 	and split out to ...
! 	(generate_element_init_1): This.
! 	(scalarize_init): Don't call push_gimplify_context/
! 	pop_gimplify_context.
  
! 2005-01-04  Geoffrey Keating  <geoffk@apple.com>
  
! 	* toplev.c (get_src_pwd): Handle failure of getpwd().
  
! 2005-01-04  Roger Sayle  <roger@eyesopen.com>
  
! 	* fold-const.c (fold_single_bit_test): Delete unreachable handling
! 	of TRUTH_NOT_EXPR.
! 	(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
! 	all the cases handled by it are inverted by invert_truthvalue.
  
! 2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.md (save_register_windowdi): Add missing mode.
! 	(save_register_windowsi): Likewise.
  
! 2005-01-04  Richard Henderson  <rth@redhat.com>
  
! 	* tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
  
! 2005-01-04  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR middle-end/17767
! 	* cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
! 	any simplifications of vector mode comparison operators.
! 	* simplify-rtx.c (simplify_relational_operation): Fix variable name.
  
! 2005-01-04  Paolo Bonzini  <bonzini@gnu.org>
! 	    Devang Patel  <dpatel@apple.com>
  
! 	PR tree-optimization/18308
! 	* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
! 	the operands before creating a new expression.
! 	* dojump.c (do_jump): Make drop_through_label available
! 	for all cases.  Add expansion of COND_EXPR.
  
! 2005-01-04  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_analyze_offset_expr): Test for
! 	INTEGER_CST instead of TREE_CONSTANT.
! 	(vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
! 	instead of TREE_CONSTANT.
! 	(vect_analyze_pointer_ref_access): Test for INTEGER_CST
! 	instead of TREE_CONSTANT.
  
! 2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* tree-eh.c (replace_goto_queue): Return early if the queue is empty.
  
! 2005-01-04  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/19240
! 	* config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
! 	(*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
  
! 2005-01-03  Richard Henderson  <rth@redhat.com>
  
! 	* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
! 	(fold_convert_const_int_from_int, fold_convert_const_int_from_real,
! 	fold_convert_const_real_from_real): Split out from ...
! 	(fold_convert_const): ... here.
  
! 2005-01-03  Richard Henderson  <rth@redhat.com>
  
! 	PR target/19235
! 	* config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
! 	(mov<MMXMODEI>_internal): Likewise.
! 	(movdf_nointeger): Prefer Y while not preferring, but allowing, x.
! 	Add V2SF case; use it for SSE1; don't use TI.
! 	(movdf_integer): Likewise.
! 	(mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
  
! 2005-01-03  Ira Rosen  <irar@il.ibm.com>
  
! 	* tree-vectorizer.c (vect_strip_conversions): New function.
! 	(vect_analyze_offset_expr): Call vect_strip_conversions. Add
! 	check for binary class.
  
! 2005-01-03  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR debug/17924
! 	Fix PR debug/19191
! 	* dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
! 	is a decl.
! 	* gimple-low.c (mark_blocks_with_used_vars): New function.
! 	(mark_blocks_with_used_subblocks): Ditto.
! 	(mark_used_blocks): Ditto.
! 	(pass_mark_used_blocks): New pass.
! 	* tree-inline.c: Include debug.h.
! 	(expand_call_inline): Call outlining_inline_function here.
! 	* tree-optimize.c (init_tree_optimization_passes): Add
! 	pass_mark_used_blocks.
! 	* tree-pass.h (pass_mark_used_blocks): New.
! 	* Makefile.in (tree-inline.o): Add debug.h dependency.
  
! 2005-01-03  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/darwin.c (darwin_handle_weak_import_attribute): Permit
! 	VAR_DECLs to have weak_import attribute.
  
! 	* config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
! 	'struct ucontext'.
  
! 2004-01-03  Steven Bosscher  <stevenb@suse.de>
  
! 	* passes.c (rest_of_compilation): Don't run regmove if only
! 	flag_expensive_optimizations, require flag_regmove instead.
  
! 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
! 	register "sparc".
! 	* config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
! 	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
! 	* config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
! 	* config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
  
! 2005-01-03  Richard Henderson  <rth@redhat.com>
  
! 	* config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
! 	(ia64_const_ok_for_letter_p): New.
! 	(ia64_const_double_ok_for_letter_p): New.
! 	(ia64_extra_constraint): New.
! 	(ia64_expand_vecint_compare): New.
! 	(ia64_expand_vcondu_v2si): New.
! 	(ia64_expand_vecint_cmov): New.
! 	(ia64_expand_vecint_minmax): New.
! 	(ia64_print_operand): Add 'v'.
! 	(ia64_preferred_reload_class): New.
! 	(ia64_vector_mode_supported_p): New.
! 	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
! 	(PREFERRED_RELOAD_CLASS): Move to function.
! 	(CONST_OK_FOR_LETTER_P): Move to function.
! 	(CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
! 	(CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
! 	(CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
! 	(EXTRA_CONSTRAINT): Move to function.
! 	* config/ia64/ia64.md: Include vect.md.
! 	(itanium_class): Add mmalua.
! 	(type): Handle it.
! 	* config/ia64/itanium1.md (1_mmalua): New.  Add it to bypasses.
! 	(1b_mmalua): New.
! 	* config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
! 	* config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
! 	CONST0_RTX.
! 	(const_int_2bit_operand): New.
! 	(fr_reg_or_0_operand): New.
! 	* config/ia64/ia64-modes.def: Add vector modes.
! 	* config/ia64/ia64-protos.h: Update.
! 	* config/ia64/vect.md: New file.
  
! 2005-01-03  Richard Henderson  <rth@redhat.com>
  
! 	* simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
  
! 2005-01-03  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/19236
! 	* config/i386/i386.c (log1psf2): Change mode of operands[0,1]
! 	to SFmode.
! 	(log1pdf2): Change mode of operands[0,1] to DFmode.
  
! 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
! 	* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
! 	* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
! 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
! 	SPARC_RELAXED_ORDERING.
  
! 2005-01-03  Richard Henderson  <rth@redhat.com>
! 	    Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/14631
! 	* config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
! 	IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
! 	* config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
! 	handling.
! 	(*mmx_pinsrw, *sse2_pinsrw): New patterns.
! 	* config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
! 	const_pow2_1_to_128_operand): New predicates.
  
! 2005-01-02  Greg McGary  <greg@mcgary.org>
  
! 	* tree-mudflap.c (mf_varname_tree): decl_printable_name handles
! 	anonymous decls.
! 	(mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
! 	object.  [ptr_type]: Remove unused variable.
! 	Remember nearest addressable array-element or record-component
! 	when checking bitfield components.  Tolerate empty BIND_EXPR.
  
! 2005-01-01  Richard Henderson  <rth@redhat.com>
  
! 	* tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
! 	that don't narrow the value.  Fail for other conversions.
  
! 2005-01-01  Richard Henderson  <rth@redhat.com>
  
! 	PR c/19031
! 	* c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
! 	* c-lang.c (finish_file): Don't do it here.
! 	* objc/objc-act.c (objc_finish_file): Likewise.
  
! 	* cgraph.c (decl_assembler_name_equal): New.
! 	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
! 	(cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
! 	* cgraph.h (struct cgraph_varpool_node): Add next.
! 	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
! 	* varasm.c (assemble_alias): Mark the target as needed.
  
! 2005-01-01  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/19221
! 	* function.c (get_arg_pointer_save_area): Use entry_of_function
! 	instead of get_insns.
  
! 2005-01-01  Roger Sayle  <roger@eyesopen.com>
! 	    Andrew Pinski  <pinskia@physics.uc.edu>
! 	    James E. Wilson  <wilson@specifixinc.com>
  
! 	PR rtl-optimization/12092
! 	* loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
! 	is zero.
  
! 2005-01-01  Roger Sayle  <roger@eyesopen.com>
! 	    Olivier Hainque  <hainque@act-europe.fr>
  
! 	* tree.c (int_fits_type_p): A narrower type always fits in a
! 	wider one, except for negative values into unsigned types.
  
! 2005-01-01  Roger Sayle  <roger@eyesopen.com>
  
! 	* tree.c (int_fits_type_p): Compare the result of force_fit_type
! 	with the original constant rather than require TREE_OVERFLOW.
  
! 2005-01-01  Steven Bosscher  <stevenb@suse.de>
  
! 	PR middle-end/17544
! 	* c-decl.c (finish_function): If compiling C99, annotate the
! 	compiler generated return with the current file name and line 0.
! 	* tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
! 	the source line is greater than 0.
! 	(remove_bb): Likewise.
  
! See ChangeLog.12 for earlier changes.
--- 1,10906 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2006-02-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2006-02-20  Roger Sayle  <roger@eyesopen.com>
! 	* gthr-posix.h: On Tru64, map __gthr_foo as a weak reference to
! 	__foo and not foo when _PTHREAD_USE_MANGLED_NAMES_ is defined.
  
! 2006-02-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2006-02-21  Jakub Jelinek  <jakub@redhat.com>
! 	PR middle-end/26379
! 	* combine.c (simplify_shift_const_1): Disable nested shifts
! 	optimization for vector shifts.
  
! 2006-02-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2006-02-16  Denis Nagorny <denis_nagorny@linux.intel.com>
! 	PR rtl-optimization/25603
! 	* reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note.
! 	(regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case.
! 	* reload1.c (choose_reload_regs): Added call of regno_clobbered_p 
! 	with new meaning of SETS.
  
! 2006-02-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* doc/install.texi: Add missing `@samp'.
  
! 2006-02-19  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/26350
! 	* config/rs6000/rs6000.md (extenddftf2): Force 0.0 to validized
! 	MEM for ABI_V4 pic.
  
! 2006-02-18  Mark Wielaard  <mark@klomp.org>
  
! 	* doc/contrib.texi (Contributors): Add classpath/libgcj hackers
! 	who added new 4.1 features, bug fixes and integration support.
  
! 2006-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* doc/install.texi (hppa*-hp-hpux*): Update for 4.1.0.
  
! 2006-02-18  Olivier Hainque  <hainque@adacore.com>
  
! 	PR ada/13408
! 	* pa.h (WIDEST_HARDWARE_FP_SIZE): Define.
  
! 2006-02-18  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/26334
! 	* stmt.c (decl_overlaps_hard_reg_set_p): Use DECL_HARD_REGISTER
! 	instead of DECL_REGISTER.
  
! 2006-02-17  Roger Sayle  <roger@eyesopen.com>
! 	    Richard Sandiford  <richard@codesourcery.com>
  
! 	PR target/22209
! 	* config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
! 	* config/mips/_tilib.c: Remove.
! 	* config/fixtfdi.c: New libgcc source file.
! 	* config/fixunstfdi.c: New source file.
! 	* config/floatditf.c: New source file.
! 	* config/floatunditf.c: New souce file.
! 	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
! 	files above instead of config/mips/_tilib.c.
! 	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
  
! 2006-02-17  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/26300
! 	* combine.c (make_extraction): Bail out if ORIG_POS is negative.
  
! 2005-02-16  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/26209
! 	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
! 	* tree-cfgcleanup.c (cleanup_control_flow): Remove dead
! 	eh edges.
! 	* tree-cfg.c (replace_uses_by): Do not alter cfg.
  
! 	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Call scev_reset if cfg
! 	changes.
! 	* Makefile.in (tree-cfgcleanup.o): Add SCEV_H dependency.
  
! 2006-02-15  J"orn Rennecke <joern.rennecke@st.com>
! 
! 	PR middle-end/25335
! 	* reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
! 
! 2006-02-15  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/23424
! 	* config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
! 	Reenable.
! 
! 2006-02-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR target/26255
! 	* pa.md: Create separate HI and QI move patterns for 32-bit and 64-bit
! 	with hardware float support, and software float support.  Add fcpy
! 	alternative to hardware patterns.  Add alternatives to copy between
! 	general and floating-point registers to the 32-bit pattern.
! 	* pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode.
! 	* pa64-regs.h (VALID_FP_MODE_P): Likewise.
! 
! 2006-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
! 
! 	PR bootstrap/26053
! 	* configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
! 	support COMDAT group.
! 	* configure: Regenerate.
! 
! 2006-02-14  Michael Matz  <matz@suse.de>
! 
! 	PR middle-end/22275
! 
! 	* stor-layout.c (layout_decl): Zero-width bitfields aren't
! 	influenced by maximum_field_alignment or DECL_PACKED.
! 	(update_alignment_for_field): Ditto.
! 	(place_field): Ditto.
! 	* doc/extend.texi (<#pragma pack>, <Type Attributes>): Document
! 	this behaviour.
! 
! 2006-02-14  Michael Matz  <matz@suse.de>
! 
! 	* tree-ssa-structalias.c: Include <params.h>.
! 	* Makefile.in (tree-ssa-structalias.o): Adjust dependencies.
! 
! 2006-02-14  Daniel Berlin  <dberlin@dberlin.org>
! 
! 	Fix PR tree-optimization/26260
! 
! 	* doc/invoke.texi (max-fields-for-field-sensitive): Document
! 	param.
! 	* params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
! 	* params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
! 	* tree-ssa-structalias.c (create_variable_info_for): Use
! 	MAX_FIELDS_FOR_FIELD_SENSITIVE.
  	
! 2006-02-14  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR target/26141
! 	* sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
! 	computing the effective result type.
  
! 2006-02-14  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR inline-asm/16194
! 	* tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
! 	(tree_overlaps_hard_reg_set): Declare.
! 	* stmt.c (decl_overlaps_hard_reg_set_p): Now static.  Change return
! 	type and signature to match function type expected by walk_tree.
! 	(tree_overlaps_hard_reg_set): New function.
! 	(decl_conflicts_with_clobbers_p): Rename to:
! 	(tree_conflicts_with_clobbers_p).  Take HARD_REG_SET * argument.
! 	Use tree_overlaps_hard_reg_set.  Changed caller.
! 	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
! 	decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
! 	* cris.c (cris_md_asm_clobbers): Likewise.
  
! 2006-02-14  Richard Guenther  <rguenther@suse.de>
! 
! 	PR tree-optimization/26258
! 	* tree-ssa-structalias.c (find_func_aliases): Handle aggregates
! 	in PHI argument processing.
! 
! 2006-02-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	* pa/quadlib.c: Use defines instead of enum qfcmp_magic.
! 
! 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR middle-end/26092
! 	* gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
! 	twice if decl is a builtin.  When trying again, call get_callee_fndecl
! 	first to verify it is still a builtin.
! 
! 2006-02-11  Jason Merrill  <jason@redhat.com>
! 
! 	PR tree-opt/24365
! 	* tree-inline.c (declare_return_variable): Just don't use the
! 	modify target if it's a gimple complex reg and the return slot
! 	isn't.
! 
! 2006-02-11  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* doc/invoke.texi (xl-compat): Document conversion and support
! 	routine names.
! 
! 2006-02-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
+ 	* doc/contrib.texi: Update my entry.
+ 
+ 2006-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/25864
  	Backport from mainline
  
! 	2006-02-06  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
! 	(s390_mangle_fundamental_type): New.
! 	* config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
! 	Define.
  
! 	* config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
! 	(alpha_mangle_fundamental_type): New.
! 	* config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
! 	Define.
! 
! 	* config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
! 	Define.
! 	* config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
! 	Define.
! 	* config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
! 	(sparc_mangle_fundamental_type): New.
! 
! 2006-02-10  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR target/25864
! 	Backport from mainline
! 
! 	2006-02-04  David Edelsohn  <edelsohn@gnu.org>
! 		    Jakub Jelinek  <jakub@redhat.com>
! 
! 	* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
! 	IBM extended float format long double as "g" on powerpc*-linux.
! 
! 	2006-02-01  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
! 	-msoft-float -mlong-double-128 only issue a warning, but don't
! 	swich to DFmode long double.
! 
! 	2006-01-28  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
! 	and -mlong-double-128 are incompatible.
! 	* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
! 	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
! 	(TARGET_LIBGCC2_CFLAGS): Define.
! 	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
! 	(TARGET_LIBGCC2_CFLAGS): Same.
! 	* config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
! 
! 	2006-01-27  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* libgcc-std.ver: Add GCC_4.1.0 symbol version.
! 	* config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append
! 	-mno-minimal-toc to previous content.
! 	(bispecs): Remove goal.
! 	* config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h.
! 	* config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4
! 	compatibility aliases on powerpc-*-*gnu*.
! 	* config/rs6000/libgcc-ppc-glibc.ver: New file.
! 	* config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append
! 	libgcc-ppc-glibc.ver on powerpc*-*-*gnu*.
! 	(TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs.
! 	(ldblspecs): New goal.
! 	* config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed.
! 	* mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and
! 	_df_to_tf.
! 	* config/fp-bit.h (TMODES): Don't define if none of TFLOAT,
! 	L_sf_to_tf or L_df_to_tf is defined.
! 
! 	2006-01-27  David Edelsohn  <edelsohn@gnu.org>
! 		    Alan Modra  <amodra@bigpond.net.au>
! 
! 	* config/rs6000/linux.h (POWERPC_LINUX): Define.
! 	* config/rs6000/linux64.h (POWERPC_LINUX): Define.
! 	* config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC.
! 	* config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero.
! 	* config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero.
! 	* config/rs6000/rs6000.c (rs6000_ieeequad): New variable.
! 	(rs6000_override_options): Initialize rs6000_ieeequad.
! 	Initialize TFmode format to ibm_extended_format if not
! 	TARGET_IEEEQUAD.
! 	(rs6000_handle_option): Accept -mabi= ibmlongdouble and
! 	ieeelongdouble.
! 	(rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts.
! 	(rs6000_return_in_memory): Only return IEEEQUAD in memory.
! 	(function_arg_advance): IBM long double passed in two FPRs, not
! 	split.
! 	(function_arg): IBM long double passed in FPRs.
! 	(rs6000_pass_by_reference): Only IEEEQUAD passed by reference.
! 	(rs6000_gimplify_va_arg): IBM long double passed in two FPRs.
! 	Only multireg GPR aligned.
! 	(rs6000_init_libfuncs): Enable IBM long double functions if not
! 	IEEEQUAD.
! 	(rs6000_generate_compare): Use IBM long double compare if not
! 	TARGET_IEEEQUAD.
! 	* config/rs6000/rs6000.h (rs6000_ieeequad): Declare.
! 	(TARGET_IEEEQUAD): Define.
! 	(CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if
! 	not TARGET_IEEEQUAD.
! 	* config/rs6000/rs6000.md: Enable TFmode patterns if
! 	!TARGET_IEEEQUAD.
! 	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
! 	* config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
! 	and -mlong-double-128 are incompatible.
! 	* doc/invoke.texi (-mabi): Collect options together.  Add
! 	ibmlongdouble and ieeelongdouble.
! 
! 2006-02-08  Jason Merrill  <jason@redhat.com>
! 
! 	PR c++/25979
! 	* tree.def: Elaborate on difference from MODIFY_EXPR.
! 	* doc/c-tree.texi (INIT_EXPR): Likewise.
! 	* gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
! 	(gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
! 	(gimplify_target_expr): Likewise.
! 	(gimplify_cond_expr): Remove target handling.
! 	(gimplify_modify_expr): Don't clobber INIT_EXPR code here.
! 	(gimplify_expr): Clobber it here.
! 	(gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
! 	Do return slot optimization if we have an INIT_EXPR.
! 
! 	PR tree-opt/24365
! 	* tree-inline.c (declare_return_variable): Also clear 
! 	DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
! 
! 	PR c++/16405
! 	* gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
! 
! 	PR middle-end/22439
! 	* gimplify.c (gimplify_one_sizepos): Fix typo.
! 
! 2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR tree-opt/25251
! 	* tree-cfg.c (cleanup_dead_labels): Also don't remove
! 	forced labels.
! 
! 2006-02-09  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	* tree-flow-inline.h (var_can_have_subvars): 
! 	Volatile variables should not have subvariables.
! 
! 2006-02-09  Diego Novillo  <dnovillo@redhat.com>
! 
! 	PR 26180
! 	* tree-vrp.c (vrp_int_const_binop): Detect overflow when
! 	multiplying unsigned values.
! 	Tidy comments.
! 
! 2006-02-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	* config/sparc/sparc.c (tls_call_delay): Fix oversight.
! 
! 2006-02-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR target/26109
! 	* pa.c (attr_length_indirect_call): Don't return length 8 for distances
! 	>= 240000 when generating code for SOM runtime.
! 	(output_indirect_call): Don't use "b,l" instruction for indirect calls
! 	to $$dyncall when generating code for SOM runtime..
! 
! 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	* config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
! 	* config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
! 	(LIB_SPEC): Likewise.
! 	* doc/invoke.texi (SPARC options): Document -pthread.
! 
! 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	* configure.ac (TLS assembler check): Do not enable TLS by
! 	default on SPARC/Solaris before version 10.
! 	* configure: Regenerate.
! 
! 2006-02-07  Alexandre Oliva  <aoliva@redhat.com>
! 
! 	PR debug/24444
! 	* config/ia64/unwind-ia64.c: Revert last change.
! 	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
! 	(INCOMING_FRAME_SP_OFFSET): Define.
! 
! 2006-02-06  Andreas Tobler  <a.tobler@schweiz.ch>
! 
! 	* config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
! 	object files.
! 
! 2006-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR target/23359
! 	* config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
! 
! 2006-02-06  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
! 	(s390x-*-linux*): Likewise.
! 	* config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
! 	* config/s390/t-linux: New file.
! 
! 2006-02-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	* config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
! 
! 2006-02-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	* pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
! 	* config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
! 	pa/t-pa.
! 	* config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
! 	pa/t-pa.
! 	* config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
! 	pa/x-ada.
! 	* pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
! 	* pa/t-pa64: Delete quadlib.c rule.
! 	* pa/x-ada: Revert last change.
! 	* pa/t-pa: Revert last change.  Delete quadlib.c rule.
! 
! 2006-02-04  Alexandre Oliva  <aoliva@redhat.com>
! 
! 	PR debug/24444
! 	* config/ia64/ia64.c: Include debug.h.
! 	(MAX_ARTIFICIAL_LABEL_BYTES): New.
! 	(ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
! 	(IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
! 	(process_epilogue, process_set, process_for_unwind_directive):
! 	Output unwind info only if requested.  Add CFA info if requested.
! 	Add new arguments as needed.  Adjust callers.
! 	* config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
! 	incorrect default.
! 	(DWARF2_FRAME_INFO): Define to zero.
! 	* config/ia64/unwind-ia64.c: Remove code that compensated for
! 	the CFA offset error fixed above.
! 	* config/ia64/t-ia64 (ia64.o): Depend on debug.h.
! 	* dwarf2out.c (DWARF2_FRAME_INFO): Define default.
! 	(dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
! 	-funwind-tables and -fexceptions to enable frame info.
! 	(dwarf2out_frame_init): Define initial CFA even if
! 	DWARF2_UNWIND_INFO is disabled.  Call initial_return_save if
! 	DWARF2_UNWIND_INFO is nonzero, not just defined.
! 	(dwarf2out_frame_finish): Output non-EH call frame info only
! 	if DWARF2_FRAME_INFO is nonzero.
! 	(convert_cfa_to_loc_list,
! 	compute_frame_pointer_to_cfa_displacement): Define even if
! 	unwind info is not supported.
! 	(gen_subprogram_die): Use the above unconditionally.  Remove
! 	legacy alternate code.
! 	* toplev.c (compile_file): Compile in call to
! 	dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
! 	(lang_dependent_init): Ditto for dwarf2out_frame_init.
! 
! 2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR target/25926
! 	* pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
! 	* pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
! 
! 2006-02-03  Richard Henderson  <rth@redhat.com>
! 
! 	PR target/26090
! 	* config/ia64/sysv4.h (TARGET_ASM_SELECT_RTX_SECTION,
! 	TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION,
! 	TARGET_ASM_SELECT_RTX_SECTION, TARGET_RWRELOC): Copy from
! 	the hpux definition.
! 
! 2006-02-03  Jason Merrill  <jason@redhat.com>
! 
! 	PR c++/25979
! 	* gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
! 
! 	PR middle-end/25977
! 	* gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
! 	on the return slot if it's an NRV.
! 
! 2006-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR middle-end/26001
! 	* expr.c (expand_expr_real_1) <case ARRAY_REF>:
! 	Use the corrected index for the character
! 	out of the string constant.
! 
! 2006-02-03  Steve Ellcey  <sje@cup.hp.com>
! 
! 	PR middle-end/24901
! 	* fold-const.c (fold_checksum_tree): Change type of buf.
! 
! 2006-02-03  Alan Modra  <amodra@bigpond.net.au>
! 
! 	PR target/25960
! 	* config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
! 
! 2006-02-03  Andreas Krebbel  <krebbel1@de.ibm.com>
! 	    Ulrich Weigand  <uweigand@de.ibm.com>
! 
! 	PR target/25864
! 	* config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
! 	"x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
! 	* config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
! 	* config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr 
! 	and dxr fields.
! 	(z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
! 	(s390_rtx_costs): Use the new fields to calculate rtx costs.
! 	(s390_secondary_input_reload_class, s390_secondary_output_reload_class):
! 	Define secondary reloads for TFmode moves.
! 	(constant_modes): Add TFmode.
! 	(NR_C_MODES): Set to 8.
! 	* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
! 	builtin define.
! 	(LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
! 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
! 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS, 
! 	CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
! 	* config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf, 
! 	fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
! 	(FPR mode macro): Add TFmode.
! 	(DSF mode macro): New.
! 	(<de>, <dee> mode attributes): Removed.
! 	(<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
! 	("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs", 
! 	"*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee", 
! 	"floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3", 
! 	"*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm", 
! 	"*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly", 
! 	"*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
! 	"*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc", 
! 	"*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm", 
! 	"*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
! 	"*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly", 
! 	"*negabs<mode>2", "sqrt<mode>2"):
! 	Changed <de> to <xde>. R constraint replaced by <Rf>.
! 	("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by 
! 	<Rf>.
! 	("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
! 	("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
! 	("*movtf_64", "*movtf_31"): New insn definitions followed by 5 
! 	splitters.
! 	("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", 
! 	"extenddftf2", "extendsftf2"): New expanders.
! 	("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", 
! 	"*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
! 	"*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
! 	* config/s390/s390.opt (mlong-double-128, mlong-double-64):
! 	New options.
! 	* config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
! 	* config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2, 
! 	__fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
! 	__floatditf): Add a GCC_4.1.0 symbol version tag.
! 	* doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
! 	the new options.
! 
! 2006-01-31  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* config/s390/s390.c (init_alignment_context): Set
! 	ALIAS_SET_MEMORY_BARRIER on the MEM.
! 
! 2006-01-31  Carlos O'Donell  <carlos@codesourcery.com>
! 
! 	* optabs.c (prepare_cmp_insn): If unbiased and unsigned then bias
! 	the comparison routine return.
! 
! 2006-01-31  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	* gcc/config/m68k/lb1sf68.asm: Use moveq to load small constants.
! 
! 2006-01-31  Richard Guenther  <rguenther@suse.de>
! 
! 	Backport
! 	2006-01-03  Adrian Straetling  <straetling@de.ibm.com>
! 
! 	* gcc/builtins.c (get_builtin_sync_mem): New function.
! 	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
! 	expand_builtin_lock_test_and_set, expand_builtin_lock_release):
! 	Call get_builtin_sync_mem to generate mem rtx.
! 
! 	2006-01-25  Richard Henderson <rth@redhat.com>
! 
! 	* alias.h (ALIAS_SET_MEMORY_BARRIER): New.
! 	* alias.c (true_dependence): Respect it.
! 	(canon_true_dependence, write_dependence_p): Likewise.
! 	* builtins.c (get_builtin_sync_mem): Set it.
! 
! 2006-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
! 
! 	PR target/26018
! 	* config/s390/s390.c (struct machine_function): New flag
! 	decomposed_literal_pool_addresses_ok_p.
! 	(s390_reorg): Set it before final stage of literal pool transforms.
! 	(s390_decompose_address): Only accept displacements of the form
! 	(minus (label_ref ...) (label_ref ...)) if that flag is set.
! 
! 2006-01-30  J"orn Rennecke <joern.rennecke@st.com>
! 
! 	Merged from mainline r107469:
! 	* caller-save.c: (this_insn_sets): Move into:
! 	(save_call_clobbered_regs).
! 	(mark_set_regs): Get this_insn_sets from data.
! 
! 	(save_call_clobbered_regs): Take sets of the return value by
! 	sibcalls into account.
! 
! 2006-01-30  J"orn Rennecke <joern.rennecke@st.com>
! 
! 	PR target/14798:
! 	* sh.c (pragma_interrupt, trap_exit, sp_switch): Remove variable.
! 	(pragma_trap, pragma_nosave_low_regs): Likewise.
! 	(current_function_anonymous_args): Likewise.
! 	(sh_deferred_function_attributes): New variable.
! 	(sh_deferred_function_attributes_tail): Likewise.
! 	(print_operand): For '@', look up trap_exit attribute.
! 	(calc_live_regs): Look up trapa_handler attribute.  For trapa
! 	handlers, save/restore fpscr, but don't do any other
! 	interrupt-specific saves.
! 	Don't save r0..r7 if the nosave_low_regs attribute is in effect.
! 	Fix check for partially saved registers to check for SHmedia.
! 	(sh_expand_prologue, sh_expand_epilogue): Look up sp_switch attribute.
! 	(sh_output_function_epilogue): Don't clear any of the removed
  	variables.
+ 	(sh_insert_attributes): Don't check pragma_interrupt.
+ 	Insert deferred attributes.  Check that interrupt attribute is
+ 	present for other attributes that require its presence.
+ 	(sh_attribute_table): Add new attributes trapa_handler and
+ 	nosave_low_regs.
+ 	(sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ 	Don't check for pragma_interrupt.  Don't store argument.
+ 	* sh.h (pragma_interrupt, sp_switch): Don't declare.
+ 	(sh_deferred_function_attributes): Declare.
+ 	(sh_deferred_function_attributes_tail): Likewise.
+ 	* sh.md (sp_switch_1): Add operand.  Change generator caller.
+ 	(sh_pr_interrupt, sh_pr_trapa, sh_pr_nosave_low_regs): Remove.
+ 	(*return_i): Don't use when trap_exit attribute is in effect.
+ 	(*return_trapa): New insn pattern.
+ 	* sh-c.c: New file.
+ 	* config.gcc (sh[123456ble]*-* | sh-*-*): New trailer stanza,
+ 	setting c_target_objs and cxx_target_objs.
+ 	* t-sh: Add rule for sh-c.o.
  
! 	* config/sh/sh.c (sh_cfun_trap_exit_p): New function.
! 	* sh-protos.h (sh_cfun_trap_exit_p): Declare.
  
! 2006-01-29  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	Revert
  
! 	2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
! 	* tree.c (build_qualified_type): Chain the new type to the original
! 	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
! 	a POINTER_TYPE or a REFERENCE_TYPE respectively.
! 	(build_pointer_type_for_mode): Only return unqualified types.
! 	(build_reference_type_for_mode): Likewise.
  
! 2006-01-28  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR target/25706
! 	* config/cris/cris.md ("*extopqihi_side", "*extop<mode>si_side")
! 	("*extop<mode>si_swap_side_biap", "*extop<mode>si_swap_side",
! 	("*extopqihi", "*extop<mode>si", "*extop<mode>si_swap"): Use %E
! 	output pattern modifier, not %e.
! 	* config/cris/cris.c (cris_op_str): Update comment about pattern
! 	modifier.
! 	(cris_print_operand) <case 'e'>: Clear cris_output_insn_is_bound
! 	before falling through into...
! 	<case 'E'>: Redefined from old 'e' case.
  
! 	PR target/25718
! 	* config/cris/cris.md ("uminsi3"): Don't use 8- or 16-bit sizes
! 	for a negative bound.
  
! 	PR target/25947
! 	* config/cris/cris.c (cris_order_for_addsi3): New function.
! 	* config/cris/cris-protos.h: Prototype it.
! 	* config/cris/cris.md (split for "move.S1 [rx=rx+i],ry")
! 	(split for "move.S1 ry,[rx=rx+i]", split for "clear.[bwd] [rx=rx+i]")
! 	(split for "mov(s|u).S1 [rx=rx+i],ry", split for "op.S1 [rx=rx+i],ry")
! 	(split for "op.S1 [rx=rx+i],ry (swapped)")
! 	(split for "op(s|u).S1 [rx=rx+i],ry")
! 	(split for "op(s|u).S1 [rx=rx+i],ry (swapped, plus or bound)"):
! 	Apply cris_order_for_addsi3 when generating addsi3 insns.
  
! 2006-01-26 Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR other/24829
! 	PR target/24831
! 	* gthr-dce.h: Do not gthrw-ify pthread_once_init,
! 	pthread_key_delete.  From John David Anglin.  gthrw-ify
! 	pthread_getunique_np only if it it's not a macro.  Delete
! 	UNUSED macro.
! 	(__gthread_objc_condition_allocate, __gthread_objc_condition_deallocate,
! 	__gthread_objc_condition_wait, __gthread_objc_condition_broadcast,
! 	__gthread_objc_condition_signal, __gthread_key_delete): Add
! 	"__attribute__ ((__unused__))" to unused arguments.
! 	(__gthread_recursive_mutex_init_function): Add missing return.
! 	* gthr-dce.h, gthr-tpf.h, gthr-solaris.h, gthr-posix.h,
! 	gthr-posix95.h: Use macro-based approach for name redirection
! 	on targets missing weakref.
  
! 2006-01-26  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR c/25892
! 	* c.opt (Wpointer-sign): Init to -1.
! 	* c-opts.c (c_common_handle_option): Set to 1 on OPT_Wall and
! 	OPT_pedantic, to 0 otherwise.
! 	* doc/invoke.texi: Update.
  
! 2006-01-24  David Daney  <ddaney@avtrex.com>
  
! 	PR java/25816
! 	* configure.ac (enable_tls): New enable option.
! 	(HAVE_AS_TLS): Don't do assembler check if enable_tls set.
! 	* configure: Regenerate.
! 	* doc/install.texi (--enable-tls): Document new option.
! 	(--disable-tls): Ditto.
  
! 2006-01-23  Richard Guenther  <rguenther@suse.de>
! 	Steven Bosscher <stevenb.gcc@gmail.com>
  
! 	PR rtl-optimization/24626
! 	* cfgloopmanip.c (lv_adjust_loop_entry_edge): Don't set
! 	EDGE_TRUE_VALUE if in RTL mode.
  
! 	Revert
! 	2005-03-30 Mostafa Hagog <mustafa@il.ibm.com>
! 	* cfgrtl.c (rtl_verify_flow_info_1): Fix.
  
! 2006-01-23  Steven Bosscher  <stevenb.gcc@gmail.com>
! 	Jan Hubicka  <jh@suse.cz>
! 	Richard Guenther  <rguenther@suse.de>
  
! 	PR rtl-optimization/25654
! 	* cfgexpand.c (aggregate_contains_union_type): New function.
! 	(add_alias_set_conflicts): Call it.  Make sure to add conflicts
! 	for structure variables that contain a union type.
  
! 2006-01-21  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* gcc.c (process_command), gcov.c (print_version), gcov-dump.c
! 	(print_version), mips-tdump.c (main), mips-tfile.c (main): Update
! 	copyright notice dates.
  
! 2006-01-19  Paul Brook  <paul@codesourcery.com>
  
! 	* gcc/config/arm/arm.c (arm_compute_func_type): Treat all functions
! 	as nothrow when unwinding tables are disabled.
  
! 2006-01-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR testsuite/25171
! 	* c-decl.c (check_bitfield_type_and_width): Don't issue pedwarn "type
! 	of bit-field" when in system header.
  
! 2006-01-19  Richard Sandiford  <richard@codesourcery.com>
  
! 	PR c/25805
! 	* c-decl.c (add_flexible_array_elts_to_size): New function.
! 	(finish_decl): Use it.
  
! 2006-01-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/25731
! 	* config.gcc (hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
! 	hppa[12]*-*-hpux11*): Override default shared libgcc version for both
! 	sjlj and dwarf2 exception handling.
! 	* pa/t-hpux-shlib (SHLIB_SOVERSION): New make variable.
! 	Rework to allow overriding SHLIB_EXT and SHLIB_SOVERSION.
! 	* pa/pa.c (function_value): Treat complex and vector types as
! 	aggregates.
! 	(function_arg): Likewise.  Only pass scalar floats in the floating
! 	point argument registers.
! 	* pa/t-slibgcc-dwarf-ver: New file.
! 	* pa/t-slibgcc-sjlj-ver: New file.
! 	* pa/t-slibgcc-elf-ver: Delete file.
  
! 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/25682
! 	* c-typeck.c (build_unary_op): Fold offsetof-like expressions
! 	even when the pointer is not NULL.
  
! 2006-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.md: Disparage copies between general and floating-point registers
! 	in 32-bit move patterns.
  
! 2006-01-16  Steven Bosscher  <stevenb.gcc@gmail.com>
! 	Richard Guenther  <rguenther@suse.de>
  
! 	PR rtl-optimization/24257
! 	* gcse.c (find_moveable_store): Only consider a store movable
! 	when the SET_SRC of the insn can be assigned to a register.
  
! 2006-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/25168
! 	* tree.c (get_file_function_name_long): Concatenate the first global
! 	object name with a string derived from the input filename of the object
! 	for type "F".
  
! 2006-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/24365
! 	* tree-inline.c (declare_return_variable): If the return variable
! 	was marked as a non gimple complex, set the return slot variable
! 	to be a non gimple comple variable.
  
! 2006-01-11  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR tree-optimization/23109
! 	PR tree-optimization/23948
! 	PR tree-optimization/24123
  
! 	* Makefile.in (tree-ssa-math-opts.o): Adjust dependencies.
! 	* tree-cfg.c (single_noncomplex_succ): New.
! 	* tree-flow.h (single_noncomplex_succ): Declare it.
! 	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
! 	* tree-ssa-math-opts.c (enum place_reciprocal): Remove.
! 	(struct occurrence, occ_head, occ_pool, is_divide_by, compute_merit,
! 	insert_bb, register_division_in, insert_reciprocals,
! 	replace_reciprocal, free_bb): New.
! 	(execute_cse_reciprocals_1): Rewritten.
! 	(execute_cse_reciprocals): Adjust calls to execute_cse_reciprocals_1.
! 	Do not commit any edge insertion.  Always compute dominators and
! 	create the allocation pool.
! 	* target-def.h (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): New.
! 	* target.h (struct gcc_target): Add min_divistions_for_recip_mul.
! 	* targhooks.c (default_min_divistions_for_recip_mul): New.
! 	* targhooks.h (default_min_divistions_for_recip_mul): New prototype.
! 	* passes.c (init_optimization_passes): Run recip after tree loop
! 	optimizations.
! 	* doc/tm.texi (Misc): Document TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
  
! 2006-01-11  Jan Hubicka  <jh@suse.cz>
  
! 	PR target/25042
! 	* i386.c (ix86_init_mmx_sse_builtins): Do not delcare float128
  
! 2006-01-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/20754
! 	* config/pa/pa.md: Create separate 32 and 64-bit move patterns
! 	for SI, DI, SF and DF modes.  Add alternatives to copy between
! 	general and floating point registers to the 32-bit patterns.
! 	* config/pa/pa-64.h (SECONDARY_MEMORY_NEEDED_RTX): Delete undefine.
! 	* config/pa/pa.h (SECONDARY_MEMORY_NEEDED_RTX): Delete define.
! 	(SECONDARY_MEMORY_NEEDED): Secondary memory is only needed when
! 	generating 64-bit code.
! 	* config/pa/pa.c (output_move_double): Handle copies between general
! 	and floating registers.
! 
! 2006-01-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	PR rtl-optimization/25367
! 	* config/sparc/sparc.h (HARD_REGNO_RENAME_OK): New macro.
! 
! 2006-01-10  Jan Beulich  <jbeulich@novell.com>
! 
! 	* config/i386/netware.h (TARGET_SUBTARGET_DEFAULT): Include
! 	MASK_ALIGN_DOUBLE.
! 	* config/i386/nwld.h (LINK_SPEC): Add --extensions:GNU option.
! 	* config/i386/t-nwld (SHLIB_LINK): Insert spaces between expr
! 	arguments.
! 
! 2006-01-09  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	PR tree-optimization/25125
! 	* convert.c (convert_to_integer): Don't narrow the type of a
! 	PLUX_EXPR or MINUS_EXPR if !flag_wrapv and the unwidened type
! 	is signed.
! 
! 2006-01-08  Ian Lance Taylor  <ian@airs.com>
! 	    David Edelsohn  <edelsohn@gnu.org>
! 
! 	PR rtl-optimization/25662
! 	* optabs.c (simplify_expand_binop): Use simplify_binary_operation
! 	for constant operands instead of simplify_gen_binary.
! 
! 2006-01-04  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* config/i386/pmm_malloc.h (posix_memalign): If __cplusplus,
! 	make the prototype extern "C" and add throw ().
! 
! 	PR target/25554
! 	* config/i386/i386.md (testqi_ext_3): Ensure len is positive
! 	and pos non-negative and pos + len <= 32.
! 	(testqi_ext_3_rex64): Ensure len is positive and pos non-negative,
! 	drop pos + len < HOST_BITS_PER_WIDE_INT test.
! 	(testqi_ext_3* splitter): Handle pos + len == HOST_BITS_PER_WIDE_INT.
! 
! 	PR c/25559
! 	* c-common.c (handle_vector_size_attribute): Reject zero vector size
! 	as well as sizes not multiple of component size.
! 
! 	PR debug/25562
! 	* function.c (instantiate_expr): New function.
! 	(instantiate_decls_1, instantiate_decls): If DECL_HAS_VALUE_EXPR_P,
! 	walk its DECL_VALUE_EXPR with instantiate_expr.
! 
! 	* dwarf2out.c (loc_descriptor_from_tree_1): Don't add
! 	DW_OP_deref{,_size} if address isn't going to be added.
! 
! 2006-01-03  Steven Bosscher  <stevenb.gcc@gmail.com>
! 
! 	* fold-const.c (operand_equal_p): Accept a NULL operand 0 for
! 	COMPONENT_REFs.
! 	* emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for
! 	hashing trees instead of a pointer hash.
! 	(mem_attrs_htab_eq): Do a deep compare instead of a pointer
! 	compare for MEM_EXPR.
! 
! 	PR rtl-optimization/25130
! 	* cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET
! 	when comparing MEMs for GCSE
! 
! 2006-01-03  Richard Guenther  <rguenther@suse.de>
! 
! 	PR c/25183
! 	* stmt.c (add_case_node): Make sure to clear overflow flags
! 	from ranges.
! 
! 2005-12-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR fortran/25586
! 	* pa.md: Remove REG_POINTER check from REG+REG peephole2 floating-point
! 	store patterns.
! 
! 2005-12-29  Daniel Jacobowitz  <dan@codesourcery.com>
! 	Paul Brook  <paul@codesourcery.com>
! 
! 	* config/m68k/m68k.c (m68k_output_pic_call): Don't use bsr.l for
! 	!TARGET_68020.
! 	* config/m68k/t-m68kelf (EXTRA_PARTS): Remove.
! 	(EXTRA_MULTILIB_PARTS): Set.
! 	* config/m68k/t-uclinux (EXTRA_PARTS): Remove.
! 	(EXTRA_MULTILIB_PARTS): Set.
! 
! 2005-12-29  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/24342
! 	* config/cris/cris.c (cris_split_movdx): Add REG_INC notes for
! 	emitted insns with post-increments.
! 	(cris_expand_epilogue): Ditto.
! 
! 2005-12-29  Alan Modra  <amodra@bigpond.net.au>
! 
! 	PR target/25572
! 	* config/rs6000/rs6000.c (create_TOC_reference): Set regs_ever_live.
! 
! 2005-12-26  Mark Mitchell  <mark@codesourcery.com>
! 
! 	PR c++/23171, c++/23172, c++/25417.
! 	* c-decl.c (compound_literal_number): Remove.
! 	(build_compound_literal): Use set_compound_literal_name.
! 	* c-common.c (compound_literal_number): New variable.
! 	(set_compound_literal_name): New function.
! 	* c-common.h (set_compound_literal_name): Declare.
  	
! 2005-12-24  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR c++/23171
! 	* varasm.c (initializer_constant_valid_p): An ADDR_EXPR of a
! 	CONSTRUCTOR is invalid.
  
! 2005-12-23  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR rtl-optimization/21041
! 	* reload.c (find_reloads_subreg_address): Replace paradoxical
! 	subreg of MEM by widened access only if the resulting memory
! 	is properly aligned, even on !STRICT_ALIGNMENT targets.
  
! 2005-12-23  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/25005
! 	* regrename.c (replace_oldest_value_reg): Use validate_change with
! 	IN_GROUP set to 1 instead of doing direct modifications.
! 	(copyprop_hardreg_forward_1): Likewise.  If any replace_oldest_*
! 	replacements have been performed on an instruction, use
! 	apply_change_group ().
  
! 2005-12-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR rtl-optimization/25432
! 	* reload1.c (eliminate_regs_in_insn): Update insn code on
! 	successfully re-recognizing modified insn.
  
! 2005-12-22  Andrew Pinski <pinskia@physics.uc.edu>
  
! 	PR tree-opt/25513
! 	* tree-dfa.c (make_rename_temp): Set DECL_COMPLEX_GIMPLE_REG_P complex
! 	variables.
  
! 2005-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR debug/25518
! 	* dwarf2out.c (dwarf2out_switch_text_section): Declare when
! 	DWARF2_UNWIND_INFO is defined or when DWARF2_DEBUGGING_INFO is
! 	defined.
  
! 2005-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/24793
! 	* tree-ssa-loop-ivopts.c (get_ref_tag): Remember the
! 	original reference if there are subvars.
! 	* tree-ssa-operands.c (get_tmr_operands): Handle subvars.
  
! 2005-12-21  Steven Bosscher  <stevenb@suse.de>
  
! 	PR rtl-optimization/25196
! 	* postreload-gcse.c (record_last_set_info): Notice stack pointer
! 	changes in push insns without REG_INC notes.
  
! 2005-12-21  Andrew Haley  <aph@redhat.com>
  
! 	PR middle-end/25121
! 	* recog.c (peephole2_optimize): Don't peephole any
! 	RTX_FRAME_RELATED_P insns.
  
! 2005-12-20  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/24306
! 	* builtins.c (std_gimplify_va_arg_expr): Do not align
! 	va frame for zero sized types.
! 	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
  
! 2005-12-19  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/22313
! 	* dwarf2out.c (dwarf2out_switch_text_section): Export.
! 	* debug.h (dwarf2out_switch_text_section): Prototype.
! 	* final.c (final_scan_insn): Call dwarf2out_switch_text_section
! 	if we need to call it for dwarf2 unwind info.
  
! 2005-12-20  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	PR rtl-optimization/24982
! 	* reload.c (refers_to_regno_for_reload_p): Take
! 	reg_equiv_invariant and reg_equiv_init into account.
! 	* reload.h (reg_equiv_invariant): Declare.
  
! 2005-12-19  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR target/25180
! 	* config/rs6000/predicates.md (logical_const_operand): Split
! 	out of logical_operand.
! 	(logical_operand): Use it.
! 	* config/rs6000/rs6000.md (cmp -> xor peephole2): Use
! 	logical_const_operand.
  
! 2005-12-19  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	* config/mt/mt.md (decrement_and_branch_until_zero): Add another
! 	scratch.  Correct its reload split. Adjust its peephole.
! 	(nop): Use 'nop'.
! 	* config/mt/mt.c (MT_INT_ARG_FIRST): Remove.
! 	(mt_asm_output_opcode, mt_print_operand): Use 'nop'.
! 	(mt_function_arg_slotno): Use FIRST_ARG_REGNUM.
! 	(mt_builtin_saveregs): Replace with ...
! 	(mt_setup_incoming_varargs): ... here.  Save just the varadic
! 	args.
! 	(mt_va_start): Remove.
! 	(mt_reorg_hazard): Ignore USE insns.  Don't call set_noop_p.
! 	(mt_machine_reorg): Split all insns here.
! 	(TARGET_SETUP_INCOMING_VARARGS): Override.
! 	* config/mt/mt.h (TARGET_CPU_CPP_BUILTINS): Define __mt__ only.
! 	Set to CPU type.
! 	(EXPAND_BUILTIN_VA_START): Remove.
  
! 2005-12-18  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* tree-cfg.c (tree_flow_call_edges_add): Check for empty basic blocks.
  
! 2005-12-18  Jan Hubicka  <jh@suse.cz>
  
! 	PR rtl-optimization/25224
! 	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy
! 	tables.
  
! 2005-12-18  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	PR tree-optimization/24378
! 	* tree-vect-transform.c (vect_transform_loop): Create single-predecessor
! 	basic-block after loop-versioning.
  
! 2005-12-17  Steven Bosscher  <stevenb@suse.de>
  
! 	PR rtl-optimization/23837
! 	* optabs.c (expand_binop): For a multi-word rotate, never emit
! 	a REG_NO_CONFLICT block.
  
! 2005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	Second part of MS1->MT renaming
! 	* config/mt/mt.md (doloop_end): Call mt_add_loop.
! 	(movqi, movhi): Call mt_set_memflags.
! 	(*movdf_internal): Call mt_split_words. 
! 	(reload_inqi, reload_outqi, reload_inhi, reload_outhi): Call
! 	mt_set_memflags.
! 	(cmpsi): Store to mt_compare_op[01].
! 	(beq, bne, bge, bgt, ble, blt, bgeu, bgtu, bleu, bltu, bunge,
! 	bungt, bunle, bunlt): Call mt_emit_cbranch.
! 	(prologue): Call mt_expand_prologue.
! 	(epilogu): Call mt_expend_epilogue.
! 	(eh_return): Call mt_expand_eh_return.
! 	(eh_epilogue): Call me_emit_eh_epilogue.
! 	(conditional_trap): Store to mt_compare_op[01].
! 	* config/mt/crti.asm: Adjust comment.
! 	* config/mt/crtn.asm: Adjust comment.
! 	* config/mt/mt.c (MT_INT_ARG_FIRST): Renamed.
! 	(mt_compare_op0, mt_compare_op1): Renamed.
! 	(current_frame_info, zero_frame_info): Adjust type.
! 	(mt_ucmpsi3_libcall): Renamed.
! 	(mt_flag_delayed_branch): Renamed.
! 	(mt_struct_value_rtx, mt_return_addr_rtx): Renamed.
! 	(mt_nops_required, mt_nop_reasons): Renamed.
! 	(mt_asm_output_opcode, mt_get_attr_type, mt_final_prescan_insn,
! 	mt_debug_stack, mt_print_operand_simple_address,
! 	mt_print_operand_address, mt_print_operand): Renamed, adjusted.
! 	(mt_init_cumulative_args, mt_function_arg_slotno, mt_function_arg,
! 	mt_function_arg_advance, mt_arg_partial_bytes,
! 	mt_pass_by_reference, mt_function_arg_boundary,
! 	mt_reg_ok_for_base_p, mt_legitimate_simple_address_p,
! 	mt_legitimate_address_p): Renamed, adjusted.
! 	(mt_cpu): Renamed.
! 	(mt_init_machine_status, mt_override_options, mt_builtin_saveregs,
! 	mt_va_start, mt_compute_frame_size, mt_emit_save_restore,
! 	mt_emit_save_fp, mt_emit_save_regs, mt_interrupt_function_p, 
! 	mt_expand_prologue, mt_epilogue_uses, mt_expand_epilogue,
! 	mt_expand_eh_return, mt_emit_eh_prologue,
! 	mt_handl_interrupt_attribute): Renamed, adjusted.
! 	(mt_attribute_table): Renamed, adjusted.
! 	(mt_initial_elimination_offset, mt_generate_compare,
! 	mt_emit_cbranch, mt_set_memflags_1, mt_set_memflags,
! 	mt_secondary_reload_class, mt_function_value, mt_split_words,
! 	mt_pass_in_stack, mt_add_loop, mt_loop_nesting, mt_block_length,
! 	mt_scan_loop, mt_reorg_loops): Renamed, adjusted.
! 	(mt_labels): Renamed.
! 	(mt_add_branches, mt_check_delay_slot, mt_reorg_hazard,
! 	mt_machine_reorg): Renamed, adjusted.
! 	(mt_attribute_table: Renamed.
! 	(TARGET_ATTRIBUTE_TABLE, TARGET_STRUCT_VALUE_RTX,
! 	TARGET_PASS_BY_REFERENCE, TARGET_MUST_PASS_IN_STACK,
! 	TARGET_ARG_PARTIAL_BYTES, TARGET_MACHINE_DEPENDENT_REORG): Adjust.
! 	* config/mt/mt.opt (march): Set mt_cpu_string.
! 	* config/mt/mt.h (mt_ucmpsi3_libcall, mt_cpu): Renamed.
! 	(TARGET_CPU_CPP_BUILTINS): Adjust.
! 	(TARGET_MS1_64_001, TARGET_MS1_16_002, TARGET_MS1_16_003,
! 	TARGET_MS2): Adjust.
! 	(TARGET_VERSION, OVERRIDE_OPTIONS, SECONDARY_RELOAD_CLASS): Adjust.
! 	(MT_MIN_INT): Renamed.
! 	(RETURN_ADDR_RTX): Adjust.
! 	(struct mt_frame_info): Renamed.
! 	(current_frame_info): Adjust type.
! 	(INITIAL_ELIMINATION_OFFSET): Adjust.
! 	(MT_NUM_ARG_REGS): Renamed.
! 	(REG_PARM_STACK_SPACE, FUNCTION_ARG, INIT_CUMULATVE_ARGS,
! 	FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY, FUNCTION_VALUE,
! 	LIBCALL_VALUE, EPILOGUE_USES, EXPAND_BUILTIN_VA_START,
! 	GO_IF_LEGITIMATE_ADDRESS, REG_OK_FOR_BASE_P, ASM_OUTPUT_OPCODE,
! 	FINAL_REPSCAN_INSN, PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Adjust.
! 	(mt_compare_op0, mt_compare_op1): Renamed.
! 	* config/mt/mt-protos.h: Rename prototypes.
! 
! 	* config/mt/mt.c (mt_override_options): Require lower case
! 	architectures.  Revert accidental default to ms2.
! 	* config/mt/mt.h (ASM_SPEC, LIBSPEC, STARTFILE_SPEC,
! 	ENDFILE_SPEC): Require lower case architectures.  Revert default
! 	to ms2.
! 
! 	* doc/invoke.texi (MT Options): Rename and update.
! 	* doc/md.texi (MorphoTech family): Rename and update.
! 
! 	* config/mt/t-mt (crti.o, crtn.o): Add multilib options.
! 	(EXTRA_MULTILIB_PARTS): Define.
! 
! 	* config/mt/t-mt (MULTILIB_OPTIONS): Add ms2
! 	(MULTILIB_DIRNAMES): Add ms2.  Prefix ms1 dirs with 'ms1'.
! 	* config/mt/mt.c (ms1_final_prescan): Use TARGET_MS2,
! 	TARGET_MS1_64_001 appropriately.
! 	(ms1_machine_reorg): Use TARGET_MS2.
! 
! 	2005-12-09  Aldy Hernandez  <aldyh@redhat.com>
! 	* config/mt/t-mt (MULTILIB_OPTIONS): Define.
! 	(MULTILIB_DIRNAMES): Define.
! 
! 	* config.gcc (ms1): Replace with ...
! 	(mt): ... this.
! 	* config/ms1: Rename to ...
! 	* config/mt: ... here.  Rename ms1 files to mt.
! 	* config/mt/mt.c: Adjust gt-mt.h #include.
! 	* config/mt/t-mt (LIB1ASMSRCS, LIB2FUNCS_EXTRA): Adjust.
! 	(crti.o, crtn.o): Adjust file names.
! 
! 2005-12-16  Andrew Haley  <aph@redhat.com>
! 
! 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Guard
! 	against prev_cache_entry == NULL when moving a cache entry to the
! 	head of the list.
! 	
! 2005-12-16  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	* config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
! 
! 2005-12-16  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR rtl-optimization/24899
! 	* loop.c (strength_reduce): Don't reduce giv that is not always
! 	computable and where add_val or mult_val can trap.
! 
! 	* doc/invoke.texi (-fdump-tree-*): Remove note about C/C++ only.
! 
! 2005-12-16  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	PR 24823
! 	* flow.c (mark_used_dest_regs): New function.
! 	(mark_used_regs): Call mark_used_dest_regs.
! 
! 2005-12-15  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* varasm.c (default_unique_section_1): Use special section
! 	names for SECCAT_DATA_REL{,_RO}{,_LOCAL}.
! 
! 2005-12-15  Jan Hubicka  <jh@suse.cz>
! 
! 	PR target/24969
! 	* i386.c (classify_argument): Properly adjust offset of bitfield for
! 	substructures.
! 
! 2005-12-15  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR ada/18659
! 	PR ada/18819
! 	* doc/invoke.texi (Optimize Options): Document that
! 	-ftree-sra is not automatically enabled for the Ada compiler.
! 
! 2005-12-15  Olivier Hainque  <hainque@adacore.com>
! 
! 	* stor-layout.c (layout_type): Don't complain about a too small
! 	an array element type size compared to its alignment when the
! 	size overflows.
! 
! 2005-12-14  Jeff Law  <law@redhat.com>
! 
! 	PR tree-optimization/23838
! 	* tree-ssa-dse.c (dse_optimize_stmt): Correctly handle PHI nodes which
! 	represent a use and definition of the same SSA_NAME.
! 
! 2005-12-14  Ulrich Weigand  <uweigand@de.ibm.com>
! 
! 	PR rtl-optimization/25310
! 	* reload1.c (eliminate_regs_in_insn): Handle lowpart SUBREGs
! 	of the eliminable register when substituting into a PLUS.
! 
! 2005-12-14  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR debug/25023
! 	* config/i386/i386.c (ix86_force_to_memory): Always use
! 	SImode push for HImode in -m32.
! 	(ix86_free_from_memory): Likewise.
! 
! 	PR target/25254
! 	PR target/24188
! 	* config/i386/i386.c (x86_64_elf_select_section): If DECL is not
! 	DECL_P, call named_section_flags rather than named_section.  Supply
! 	section flags to it.
! 
! 2005-12-13  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR debug/25023
! 	PR target/25293
! 	* expr.c (emit_move_resolve_push): Handle PRE_MODIFY
! 	and POST_MODIFY with CONST_INT adjustment equal to PUSH_ROUNDING.
! 	Fix POST_INC/POST_DEC handling if PUSH_ROUNDING is not identity.
! 	* config/i386/i386.md (pushhi2, pushqi2): Use pushl instead of pushw.
! 	Set mode to SI, adjust constraints.
! 	(pushhi2_rex64, pushqi2_rex64): Set mode to DI.
! 	* config/i386/i386.h (PUSH_ROUNDING): Round up to 4 instead of 2 for
! 	32-bit code.
! 
! 2005-12-13  Paul Brook  <paul@codesourcery.com>
! 
! 	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for
! 	apcs/atpcs.
! 
! 2005-12-13  Alan Modra  <amodra@bigpond.net.au>
! 
! 	* config/rs6000/linux64.h (TARGET_ALIGN_NATURAL): Define.
! 
! 2005-12-12  Alan Modra  <amodra@bigpond.net.au>
! 
! 	PR target/25212
! 	* config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
! 	generated by reload.
! 	(print_operand): Check that both operands of indexed address are regs.
! 	(print_operand_address): Likewise.
! 	* config/rs6000/rs6000.h (INT_REG_OK_FOR_INDEX_P): Simplify.
! 	(INT_REG_OK_FOR_BASE_P): Correct.
! 	* config/rs6000/predicates.md (indexed_or_indirect_operand): Use
! 	indexed_or_indirect_address.
! 	(indexed_or_indirect_address): Don't test for base reg.  Call
! 	address_operand last.  Make it a special predicate.
! 
! 2005-12-10  Mark Mitchell  <mark@codesourcery.com>
! 
! 	PR c++/25010
! 	* ipa-inline.c (cgraph_clone_inlined_nodes): Do not assume that
! 	DECL_EXTERNAL functions have no bodies.  Tidy.
! 
! 2005-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR target/25258
! 	* pa.c (som_text_section_asm_op): Use .NSUBSPA directive when changing
! 	to the text subspace to output debugging information.
! 
! 2005-12-09  Bernd Schmidt  <bernd.schmidt@analog.com>
! 
! 	* config/bfin/bfin.c: Include "cgraph.h".
! 	(bfin_load_pic_reg): Omit loading pic reg if in a local function.
! 	Return the reg that holds the pointer to the GOT.
! 	(bfin_expand_prologue): Use return value of bfin_load_pic_reg when
! 	doing stack checking.
! 
! 2005-12-09  Ulrich Weigand  <uweigand@de.ibm.com>
! 
! 	PR target/25311
! 	* config/s390/s390.c (struct s390_address): New field literal_pool.
! 	(s390_decompose_address): Compute literal_pool field.  Do not 
! 	assume register %r13 is always (and solely) used as pool base.
! 	(s390_extra_constraint_str): Use literal_pool field.
! 
! 2005-12-09  Thiemo Seufer  <ths@networkno.de>
! 
! 	* config/mips/mips.c (override_options): Don't allow too small
! 	integers in FP registers.
! 
! 2005-12-09  Alan Modra  <amodra@bigpond.net.au>
! 
! 	PR debug/24908
! 	* dwarf2out.c (dwarf2out_frame_debug_expr): Don't assert that
! 	call_used_regs can't be used to save reg in another reg.
! 
! 2005-12-09  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/23424
! 	* recog.c (constrain_operands): Strip unary operators
! 	only ifndef KEEP_UNARY_OPERATORS_AT_CONSTRAINT_CHECKING.
! 	* reload.c (find_reloads): Ditto.
! 	* config/cris/cris.h (KEEP_UNARY_OPERATORS_AT_CONSTRAINT_CHECKING):
! 	Define.
! 
! 2005-12-08  Zdenek Dvorak  <dvorakz@suse.cz>
! 
! 	PR tree-optimization/25248
! 	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Do not use
! 	evolution_of_loop from the failed attempt.  Remove handling of
! 	MULT_EXPR.
! 
! 2005-12-08  Richard Guenther  <rguenther@suse.de>
  
  	Backport from mainline
! 	2005-11-28  Richard Guenther  <rguenther@suse.de>
  
! 	* c-common.c (strict_aliasing_warning): Handle all
! 	component-ref like accesses.
  
! 	2005-11-24  Richard Guenther  <rguenther@suse.de>
! 		Dirk Mueller <dmueller@suse.de>
  
! 	PR c++/14024
! 	* c-common.h (strict_aliasing_warning): Declare.
! 	* c-common.c (strict_aliasing_warning): New function,
! 	split out from ...
! 	* c-typeck.c (build_c_cast): ... here.
  
! 2005-12-08  Andreas Krebbel  <krebbel1@de.ibm.com>
! 	    Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/25268
! 	* config/s390/s390.c (s390_decompose_shift_count): Remove BITS
! 	argument.  Don't drop outer ANDs.
! 	(s390_extra_constraint_str, print_shift_count_operand): Adjust callers.
! 	* config/s390/s390-protos.h (s390_decompose_shift_count): Adjust
! 	prototype.
! 	* config/s390/predicates.md (setmem_operand): Remove.
! 	(shift_count_operand): Rename to...
! 	(shift_count_or_setmem_operand): ... this.  Adjust
! 	s390_decompose_shift_count caller.
! 	* config/s390/s390.md (<shift>di3_31_and, <shift>di3_64_and,
! 	ashrdi3_cc_31_and, ashrdi3_cconly_31_and, ashrdi3_31_and,
! 	ashrdi3_cc_64_and, ashrdi3_cconly_64_and, ashrdi3_64_and,
! 	<shift>si3_and, ashrsi3_cc_and, ashrsi3_cconly_and, ashrsi3_and,
! 	rotl<mode>3_and, setmem_long_and): New insns.
! 	(<shift>di3_31, <shift>di3_64, ashrdi3_cc_31, ashrdi3_cconly_31,
! 	ashrdi3_31, ashrdi3_cc_64, ashrdi3_cconly_64, ashrdi3_64,
! 	<shift>si3, ashrsi3_cc, ashrsi3_cconly, ashrsi3, rotl<mode>3,
! 	<shift>di3, ashrdi3): Use shift_count_or_setmem_operand instead
! 	of shift_count_operand.
! 	(setmem_long): Use shift_count_or_setmem_operand instead of
! 	setmem_operand.
  
! 2005-12-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.c (s390_expand_atomic): New function.
! 	Adjust comment of helper functions.
! 	* config/s390/s390-protos.h (s390_expand_atomic): Declare.
! 	* config/s390/s390.md ("ATOMIC"): New code macro.
! 	("atomic"): Corresponding new code attribute.
! 	("sync_lock_test_and_set[hq]i", 
! 	"sync_{new_,old_,}{and,ior,xor,add,sub,nand}[hq]i"): New pattern.
  
! 2005-12-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.c (s390_expand_mask_and_shift, 
! 	struct alignment_context, init_alignment_context, 
! 	s390_expand_cs_hqi): New.
! 	* config/s390/s390-protos.h (s390_expand_cs_hqi): Declare.
! 	* config/s390/s390.md ("sync_compare_and_swaphi",
! 	"sync_compare_and_swapqi"): New pattern.
  
! 2005-12-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	  * doc/md.texi: Adapt to implementation.
  
! 2005-12-07  Aldy Hernandez  <aldyh@redhat.com>
  
!        PR C++/24138
! 	* tree.c (integer_all_onesp): Always return true if all bits on.
  
! 	* testsuite/g++.dg/init/array0.C: New.
  
! 2005-12-06  Andreas Schwab  <schwab@suse.de>
  
! 	* opts.c (decode_options): Fix typo in message.
  
! 2005-12-06  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR other/13873
! 	* longlong.h: Merge PPC tests from upstream.
  
! 2005-12-05  James E Wilson  <wilson@specifix.com>
  
! 	PR target/24934
! 	* opts.c (decode_options): Turn off partitioning if flag_unwind_tables
! 	is set.
  
! 2005-12-05  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/host-darwin.c (segv_handler): Unblock SEGV so
! 	we don't go into an infinite loop.
  
! 2005-12-04  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* doc/invoke.texi, doc/standards.texi: Refer to
! 	gcc-4.1/c99status.html.
  
! 2005-12-02  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR target/25199
! 	* config/i386/i386.md (movqi_1): Only force imovx for alternative
! 	5 if operand 1 is not aligned.  Undo previous constraint change.
! 	* config/i386/predicates.md (aligned_operand): Use MEM_ALIGN.
  
! 2005-12-02  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR middle-end/25176
! 	* function.c (expand_function_end): Emit blockage for unwinder
! 	after return label.
  
! 2005-12-01  Richard Henderson  <rth@redhat.com>
  
! 	* optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
  
! 2005-11-30  Dale Johannesen  <dalej@apple.com>
! 	    Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR rtl-opt/24930
! 	* combine.c (find_split_point):  Sign extend bitmask
! 	when changing bitfield assignment to IOR of AND.
  
! 2005-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR middle-end/25158
! 	* builtins.c (fold_builtin_fputs): Defer check for missing
! 	replacement functions.
  
! 2005-11-30  Kean Johnston  <jkj@sco.com>
  
! 	* config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
! 	simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
  
! 2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	* config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
! 	clobber to scratch reg.
! 	(*decrement_and_branch_until_zero_no_clobber): Remove.
! 	(decrement_and_branch peephole): Add dummy scratch reg to pattern.
! 	(mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
! 	* config/ms1/ms1.opt (mmul): Remove.
! 	* config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
! 	(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
  
! 2005-11-30  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
! 	handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
  
! 2005-11-28  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	PR c++/21166
! 	* c-decl.c (finish_struct):  Only set DECL_PACKED on a field
! 	when its natural alignment is > BITS_PER_UNIT.
! 	* stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
! 	* c-common.c (handle_packed_attribute): Ignore packing on a field
! 	whose type is naturally char aligned.
  
! 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
! 	Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
! 	(ia64_expand_move): Adjust caller.
  
! 	* config/ia64/ia64.c (ia64_expand_atomic_op): Only use
! 	fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
! 	negate VAL.
  
! 2005-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR middle-end/20109
! 	PR middle-end/25120
! 	* builtins.c (init_target_chars): New.
! 	(expand_builtin_printf, expand_builtin_fprintf,
! 	expand_builtin_sprintf, fold_builtin_sprintf,
! 	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
! 	fold_builtin_snprintf_chk, fold_builtin_printf,
! 	fold_builtin_fprintf): Check for matching format strings using
! 	the target charset.
  
! 2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR libfortran/24991
! 	* config/darwin.c (machopic_indirection_name,
! 	machopic_output_indirection): Follow transparent alias chain.
  
! 2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* varasm.c (ultimate_transparent_alias_target): Add comment.
  
! 2005-11-26  Roger Sayle  <roger@eyesopen.com>
  
! 	PR middle-end/21309
! 	* expmed.c (choose_mult_variant): Return immediately when mult_cost
! 	is less than zero.  Limit mult_cost to a reasonable upper bound for
! 	the synthetic multiplication sequence.
  
! 2005-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR middle-end/25022
! 	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
! 	fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
! 	Lookup the explicit replacement functions for any unlocked
! 	stdio builtin transformations.
  
! 2005-11-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* fold-const.c (negate_mathfn_p): Fix comment.
  
! 2005-11-22  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR middle-end/22561
! 	* tree-ssa-structalias.c (get_constraint_for): Handle ARRAY_RANGE_REF.
  
! 2005-11-22  Kazu Hirata  <kazu@codesourcery.com>
  
! 	PR target/23435
! 	* m68k.md (zero_extendsidi2): Force operands[1] to a register
! 	if both operands[0] and operands[1] are memory.
  
! 2005-11-22  Jan Hubicka  <jh@suse.cz>
  
! 	PR tree-optimization/24653
! 	* tree-ssa-ccp.c (ccp_fold): Strip down useless conversions.
  
! 2005-11-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/24954
! 	* config/rs6000/predicates.md (easy_vector_constant_add_self): Fix
! 	typo last change.
  
! 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR middle-end/24950
! 	* expmed.c (store_bit_field): Don't attempt to insv a field
! 	larger than the reg.
  
! 2005-11-22  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/24954
! 	* config/rs6000/predicated.md (easy_vector_constant_add_self): Use
! 	explicit sign extension, not a (char) cast.
  
! 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
  
! 	* config/arm/rtems-elf.h: Added definition of LINK_GCC_C_SEQUENCE_SPEC
! 	which matches behavior of gcc 4.0 and older for RTEMS targets.  The
! 	default now includes a linker group which makes the RTEMS one nest.
  
! 2005-11-21  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/24953
! 	* config/rs6000/predicates.md (vrsave_operation): Check
! 	UNSPEC_VOLATILE value.
  
! 2005-11-21  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR target/24951
! 	* config/rs6000/rs6000.c (output_vec_const_move): Load cst and
! 	cst2 only for SPE vectors.
  
! 2005-11-21  Kazu Hirata  <kazu@codesourcery.com>
  
! 	PR middle-end/20583
! 	* cse.c (cse_insn): Reject invalid forms of CONST earlier.
  
! 2005-11-20  Ian Lance Taylor  <ian@airs.com>
  
! 	PR rtl-optimization/24883
! 	* combine.c (combinable_i3pat): When checking whether the
! 	destination of i3 is used in i3, consider paradoxical subregs.
  
! 2005-11-20  Richard Henderson  <rth@redhat.com>
  
! 	PR 24931
! 	* tree-sra.c (struct sra_elt): Add all_no_warning.
! 	(struct sra_walk_fns) <use>: Add use_all argument.
! 	(sra_walk_expr): Pass it.
! 	(sra_walk_modify_expr): Likewise.
! 	(scalarize_ldst): Likewise.
! 	(scan_use): Update for new argument.
! 	(mark_no_warning): New.
! 	(scalarize_use): Use it.
  
! 2005-11-19  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/24665
! 	* tree-gimple.c (is_gimple_id): Export.
! 	* tree-gimple.h (is_gimple_id): Declare.
! 	* tree-ssa-ccp.c (ccp_decl_initial_min_invariant): New.
! 	(get_default_value): Use it.
! 	(maybe_fold_stmt_indirect): Likewise.
  
! 2005-11-20  Andreas Schwab  <schwab@suse.de>
  
! 	PR target/24757
! 	* config/ia64/ia64.c (ia64_expand_atomic_op): Fix condition of cmp
! 	insn.
  
! 2005-11-19  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR middle-end/24912
! 	PR middle-end/24750
! 	* reload.c (find_reloads_address_1): Mention dependency on
! 	gen_reload.
! 	* reload1.c (gen_reload): For IN with an unary operation, try
! 	moving inner expression to OUT if trivial SET is not valid.
! 	Confirm that the result is valid.  Move common code block into...
! 	(emit_insn_if_valid_for_reload): New function.
! 
! 2005-11-19  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* gcc.c (version_compare_spec_function): Use '%s' rather than %qs in
! 	fatal format string.
! 
! 2005-11-18  Mark Mitchell  <mark@codesourcery.com>
! 
! 	* DEV-PHASE: Change to prerelease.
! 
! 2005-11-18  James E Wilson  <wilson@specifix.com>
! 
! 	* builtins.c (fold_builtin_strstr): Pass s1 through fold_convert before
! 	returning it.
! 
! 2005-11-18  Mike Stump  <mrs@apple.com>
! 
! 	* c-common.c (handle_cleanup_attribute): Use a lang hook for lookup_name.
! 	* config/darwin-c.c (darwin_pragma_unused): Likewise.
! 	* c-decl.c (lookup_name_two) Remove.
! 	* c-tree.h (lookup_name_two): Remove.
! 	* c-objc-common.h (LANG_HOOKS_LOOKUP_NAME): Add.
! 	* langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
! 	(LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
! 	* langhooks.h (lang_hooks_for_decls): Add lookup_name.
  	
! 2005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/24914
! 	* arm.c (arm_hard_regno_mode_ok): Co-processor registers aren't ok
! 	when not generating code to use that co-processor.
  
! 2005-11-18  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree-flow.h (reserve_phi_args_for_new_edge, create_phi_node,
! 	add_phi_arg, remove_phi_args, remove_phi_node phi_reverse): Mention that
! 	these functions are now in tree-phinodes.c.
  
! 2005-11-18  Jie Zhang  <jie.zhang@analog.com>
  
! 	* config/bfin/bfin.md (trap): New pattern.
  
! 2005-11-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	* tree-ssa-dom.c (extract_range_from_cond): Deal with variable bounds
! 	on types.
  
! 	* expr.c (expand_expr_real): Don't call record_block_change unless
! 	ib_boundaries_block is non-null
  
! 	* postreload.c (reload_cse_move2add): Don't try to work with BImode.
  
! 	* fold-const.c (build_range_check): Use proper type for subtraction
! 	when merging lower bound.
  
! 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR rtl-optimization/24497
! 	* loop-unroll.c (apply_opt_in_copies): Do not verify equality of
! 	the copied insn.
  
! 2005-11-18  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-scalar-evolution.c (expression_expensive_p): New function.
! 	(scev_const_prop): Use compute_overall_effect_of_inner_loop.
  
! 2005-11-18  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/crtlibid.s: New file.
  
! 2005-11-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/24348
! 	* config.gcc (hppa*-*-hpux*): Add pa/t-slibgcc-elf-ver to tmake config
! 	when not using sjlj exceptions.
! 	* config/pa/pa64-hpux.h (LIB_SPEC): Add -lpthread in static links.
! 	* config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
! 	* config/pa/som.h (ASM_PREFERRED_EH_DATA_FORMAT): Delete define.
! 	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Use
! 	DWARF_ALT_FRAME_RETURN_COLUMN instead of column 0 as return column.
! 	* config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): New define.
! 	* config/pa/pa-linux.h (INCOMING_RETURN_ADDR_RTX,
! 	DWARF_FRAME_RETURN_COLUMN, ASM_PREFERRED_EH_DATA_FORMAT,
! 	ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Delete defines.
! 	* config/pa/pa.h (ARG_POINTER_CFA_OFFSET): Delete.
! 	(FRAME_POINTER_CFA_OFFSET, INCOMING_RETURN_ADDR_RTX,
! 	DWARF_FRAME_RETURN_COLUMN, DWARF_ALT_FRAME_RETURN_COLUMN,
! 	ASM_PREFERRED_EH_DATA_FORMAT, ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New
! 	defines.
! 	* config/pa/hpux-unwind.h: New file.
  
! 2005-11-17  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define.
! 	* defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument.
! 	* varasm.c (do_assemble_alias): Adjust call.
! 	(weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL
! 	is defined.
! 	* doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it.
  
! 2005-11-17  James E Wilson  <wilson@specifix.com>
  
! 	* tree.def (FUNCTION_DECL): Correct typo in comment.
  
! 2005-11-17  Richard Henderson  <rth@redhat.com>
  
! 	* dwarf2out.c (dw_cfi_oprnd_struct): Reduce dw_cfi_reg_num to int.
! 	(lookup_cfa_1): Apply data alignment to DW_CFA_def_cfa_offset_sf
! 	and DW_CFA_def_cfa_sf.
! 	(def_cfa_1): Use DW_CFA_def_cfa_offset_sf with negative values.
! 	(dbx_reg_number): Don't assert particular registers here.
! 	(based_loc_descr): ... do it here instead.  Fold in ...
! 	(eliminate_reg_to_offset): ... this function.
! 	(compute_frame_pointer_to_cfa_displacement): Fold in the effects
! 	of eliminate_reg_to_offset; use FRAME_POINTER_CFA_OFFSET.
! 	* unwind-dw2.c (execute_cfa_program): Apply data align factor
! 	to DW_CFA_def_cfa_offset_sf and DW_CFA_def_cfa_sf.
! 	* function.c (instantiate_new_reg): Use FRAME_POINTER_CFA_OFFSET.
! 	(instantiate_virtual_regs): Likewise.
! 	* var-tracking.c (adjust_stack_reference): Likewise.
! 	* doc/tm.texi (FRAME_POINTER_CFA_OFFSET): New.
  
! 2005-11-17  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/elf.h (STARTFILE_SPEC): Add "crtlibid%O%s"
! 	* config/bfin/uclinux.h (STARFILE_SPEC): Likewise.
! 	* config/bfin/t-bfin-elf (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Add
! 	crtlibid.o.
! 	($(T)crtlibid.o): New rule.
  
! 2005-11-16  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/24851
! 	* fold-const.c (extract_array_ref): Return byte offset
! 	in all cases.
! 	(fold_binary): Fold &x[a] CMP &x[b] to
! 	a*sizeof(*x) CMP b*sizeof(*x) to get correct overflow
! 	behavior.
  
! 2005-11-16  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/23497
! 	* tree-ssa.c (warn_uninitialized_var): Skip real and imaginary
! 	parts of an SSA_NAME.
  
! 2005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/24861
! 	* arm.md (split for movsf with immediate): Restrict split to insns
! 	that set a general register.
  
! 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
! 	uw_update_context.
! 	* unwind-dw2.c (uw_advance_context): Likewise.
! 	* unwind-sjlj.c (uw_advance_context): Likewise.  Also call
! 	_Unwind_SjLj_Unregister.
! 	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Call uw_advance_context.
  
! 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* unwind-sjlj.c (_Unwind_GetCFA): Handle the builtin_setjmp case.
  
! 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* config/alpha/alpha.c (alpha_init_builtins): Use type_for_mode
! 	langhook to get a DImode integer type.
  
! 2005-11-16  Richard Henderson  <rth@redhat.com>
! 	    J"orn Rennecke <joern.rennecke@st.com>
! 	    Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR rtl-opt/24160
! 	PR target/24621
! 	* reload1.c (reg_equiv_invariant): New.
! 	(reload): Allocate, initialize, and free it.
! 	(calculate_needs_all_insns): Check it when skipping equivalence
! 	setting insns.
! 	(alter_reg): Likewise.
! 	(eliminate_regs_1): Rename from eliminate_regs.  Add new
! 	may_use_invariant argument; only use reg_equiv_invariant when true.
! 	(eliminate_regs): New.
! 	(eliminate_regs_in_insn): Use eliminate_regs_1; track when we're in
! 	a context for which may_use_invariant may be true.
  
! 2005-11-16  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* fold-const.c (const_binop): Don't constant fold the operation
! 	if the result has overflowed and flag_trapping_math.
! 	* simplify-rtx.c (simplify_const_binary_operation): Likewise.
  
! 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/unwind-arm.c (abort): Add prototype here.
! 	(UCB_FORCED_STOP_ARG): Correct typo in macro argument.
! 	(struct phase1_vrs): Add prev_sp.
! 	(unwind_phase2_forced): Save the original core registers instead of
! 	modifying entry_vrs.  Take a new flag argument for resuming unwinding
! 	and set action flags accordingly.  Always set _US_END_OF_STACK when
! 	get_eit_entry fails.  Unwind before calling the stop function.
! 	(_Unwind_GetCFA): New function.
! 	(__gnu_Unwind_ForcedUnwind): Update call to unwind_phase2_forced.
! 	(__gnu_Unwind_Resume_or_Rethrow): Likewise.
! 	(__gnu_Unwind_Resume): Do not unwind here for forced unwinding;
! 	just call unwind_phase2_forced.
! 	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Move to here.
! 	* config/arm/unwind-arm.h (abort): Remove prototype.
! 	(_Unwind_GetDataRelBase, _Unwind_GetTextRelBase): Change to
! 	prototypes.
! 	(_Unwind_GetCFA): New prototype.
! 	* config/arm/pr-support.c (abort): Add prototype here.
! 	* unwind-c.c (PERSONALITY_FUNCTION) [__ARM_EABI_UNWINDER__]: Handle
! 	forced unwinding.
! 	* config/arm/arm.c (arm_expand_prologue, thumb_expand_prologue): Do
! 	not schedule the prologue with non-call exceptions and EABI.
  
! 2005-11-16  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	* config/arm/unwind-arm.h: Reorder interface function declarations.
! 	(_URC_END_OF_STACK): New enumeration value.
! 	(_US_UNWIND_ACTION_MASK, _US_FORCE_UNWIND, _US_END_OF_STACK): Likewise.
! 	(struct _Unwind_Control_Block): Document reserved field use.
! 	(_Unwind_Stop_Fn): New typedef.
! 	(_Unwind_ForcedUnwind): Declare.
! 	(_Unwind_Resume_or_Rethrow): Declare.
! 	* gcc/config/arm/libunwind.S (UNWIND_WRAPER): Add nargs
! 	argument.  Adjust.
! 	(_Unwind_Resume_or_Rethrow, _Unwind_ForcedUnwind): New.
! 	* config/arm/unwind-arm.c (UCB_FORCED_STOP_FN)
! 	(UCB_FORCED_STOP_ARG): New.
! 	(search_EIT_table): Update boundary condition checks.
! 	(get_eit_entry): Return _URC_END_OF_STACK when cannot unwind.
! 	(unwind_phase2): Replace for with do..while.
! 	(unwind_phase2_forced): New.
! 	(__gnu_Unwind_RaiseException): Replace for with do..while.
! 	(__gnu_Unwind_ForcedUnwind): New.
! 	(__gnu_Unwind_Resume): Set FORCE_UNWIND flag, if forced unwinding.
! 	Use appropriate phase2 unwinder.
! 	(__gnu_Unwind_Resume_or_Rethrow): New.
! 	(__gnu_unwind_pr_common): Cope with forced unwinding.
  
! 2005-11-16  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/24772
! 	* config/rs6000/predicates.md (vrsave_operation): SET_SRC is a VEC.
  
! 	* config/rs6000/rs6000.md (btruncsf2, ceilsf2, floorsf2,
! 	roundsf2): Remove "s" from mnemonic.
  
! 2005-11-16  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/crti.s (__init, __fini): Use appropriate prologue if
! 	__PIC__ is defined.
! 	* config/bfin/crtn.s: Change epilogues to match.
! 	* config/bfin/t-bfin-elf (EXTRA_MULTILIB_PARTS): Define.
! 	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): If flag_pic, define
! 	__PIC__ and __pic__.
  
! 2005-11-16  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
! 
! 	PR 24357
! 	* doc/invoke.texi: Distinguish between free and fixed form instead of
! 	Fortran and Fortran 90/95.  Remove ratfor from the list of supported
! 	languages.
! 	* gcc.c (default_compilers): Remove double entries, add entries for
! 	suffixes '.F90' and '.F95'.
! 
! 2005-11-16  Eric Botcazou <ebotcazou@adacore.com>
! 
! 	* config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
! 	in the stack probing loop.
! 
! 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* configure.ac: Use .machine power5 not power5x.
! 	* configure: Regenerate.
! 
! 2005-11-15  Mike Stump  <mrs@apple.com>
! 
! 	* c-decl.c (lookup_name_two): Add.
! 	* c-tree.h (lookup_name_two): Likewise.
! 	* c-common.c (handle_cleanup_attribute): Use lookup_name_two instead.
! 	* config/darwin-c.c (darwin_pragma_unused): Likewise.
! 
! 2005-11-16  Alan Modra  <amodra@bigpond.net.au>
! 
! 	PR rtl-optimization/23392
! 	* regrename.c (enum scan_actions) Add mark_access.
! 	(scan_actions_name): Ditto.
! 	(scan_rtx_reg): Handle mark_access.
! 	(scan_rtx_address): Do nothing for mark_access.
! 	(build_def_use): Mark source registers in REG_FRAME_RELATED_EXPR
! 	and regs in REG_INC notes before closing chains for dead regs.
! 	Mark destination regs in REG_FRAME_RELATED_EXPR notes after
! 	opening chains for new writes.
! 
! 2005-11-15  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* c.opt (ffixed-line-length-none): New.
! 
! 2005-11-15  Steve Ellcey  <sje@cup.hp.com>
! 
! 	* mklibgcc.in: Change contents of eh_dummy.c.
! 
! 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
! 
! 	* loop.c (scan_loop): Do not insert temporaries for hard registers.
! 
! 2005-11-15  Daniel Jacobowitz  <dan@codesourcery.com>
! 
! 	* config/arm/lib1funcs.asm (div0) [L_dvmd_lnx]: Call raise instead
! 	of making syscalls.
! 	* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define.  Set r7 also.
! 
! 2005-11-15  Jan Hubicka  <jh@suse.cz>
! 
! 	* invoke.texi (large-unit-insns): Document.
! 	* ipa-inline.c (cgraph_decide_inlining): Use large-unit-insns param.
! 	* params.def (large-unit-insns): New param.
! 
! 2005-11-15  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/24869
! 	* config/cris/cris.md ("*mov_sidesisf_mem"): Do not match
! 	special register for operand 3.  Reindent constraints to align
! 	them vertically.
! 
! 2005-11-14  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mmfcrf,
! 	-mpopcntb, -mfprnd. Add -mcpu=power5+.
! 	* configure.ac: Add test for FP rounding instructions.
! 	* configure: Regenerate.
! 	* config.in: Regenerate.
! 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
! 	_ARCH_PPCSQ, _ARCH_PPCGR, _ARCH_PWR4, _ARCH_PWR5, _ARCH_PWR5X if
! 	features enabled.
! 	* config/rs6000/rs6000.opt (mfprnd): New.
! 	* config/rs6000/rs6000.c (processor_target_table): Add power5+.
! 	(POWERPC_MASKS): Add MASK_POPCNTB and MASK_FPRND.
! 	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add -mpower5+.
! 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -mpower5+.
! 	(TARGET_FPRND): New.
! 	* config/rs6000/rs6000.md (UNSPEC_FRIM, UNSPEC_FRIN, UNSPEC_FRIP,
! 	UNSPEC_FRIZ): New.
! 	(btrunc<mode>2): New.
! 	(ceil<mode>2): New.
! 	(floor<mode>2): New.
! 	(round<mode>2): New.
! 
! 2005-11-14  Geoffrey Keating  <geoffk@apple.com>
! 
! 	* gcc.c (version_compare_spec_function): Use fatal() rather than
! 	abort().
! 
! 	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): New.
! 	(SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2).
! 	* config/i386/darwin.h (SUBTARGET_EXTRA_SPECS): Define %(darwin_crt2)
! 	as empty.
! 	* config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
! 	link in crt2.o.
  	
! 	* config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
! 	on -mmacosx-version-min setting.
  
! 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 24840
! 	* tree-vrp.c (infer_value_range): Return false if STMT is a
! 	block terminator and its basic block has no successors.
  
! 2005-11-14  Mike Stump  <mrs@apple.com>
  
! 	* config/i386/i386.c (override_options): -masm=intel isn't
! 	supported on darwin.
! 	* doc/invoke.texi (i386 and x86-64 Options): Likewise.
  
! 2005-11-15  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* crtstuff.c: Undefine gid_t, pid_t, rlim_t, ssize_t, uid_t and
! 	vfork after including auto-host.h.
  
! 2005-11-15  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR rtl-optimization/22002
! 	* combine.c (distribute_notes): Detect cases where a reg dies
! 	two or more times in a bb, including on the insn we are combining,
! 	and place the death note on the correct range.
  
! 2005-11-14  Dale Johannesen  <dalej@apple.com>
  
! 	* expmed.c (store_bit_field):  Add offset unconditionally for
! 	memory targets.
! 	(extract_bit_field):  Don't force extzv or extv operand into
! 	a register if field is too big.
  
! 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/arm.c (pic_labelno): New.
! 	(arm_load_pic_register): Use an UNSPEC_PIC_LABEL instead of a
! 	LABEL_REF.  Pass only the labelno to PIC insns.
! 	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
! 	(arm_output_addr_const_extra): Handle UNSPEC_PIC_LABEL.
! 	* arm.md (UNSPEC_PIC_LABEL): New constant.
! 	(pic_add_dot_plus_four, pic_add_dot_plus_eight)
! 	(tls_load_dot_plus_eight): Expect a labelno instead of a LABEL_REF.
! 	Use the correct label prefix.
  
! 2005-11-14  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/arm.c (legitimize_tls_address): Use correct rtx for
! 	REQ_EQUIV note.
  
! 2005-11-14  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* loop-invariant.c: Include tm_p.h.
! 	* Makefile.in: Updated.
  
! 2005-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (store_reg): Revise generation of frame notes in large frames.
! 	(set_reg_plus_d): Likewise.
  
! 2005-11-13  Andrew MacLeod  <amacleod@redhat.com>
  
! 	PR tree-optimization/24709
! 	* tree-ssa-operands.c (verify_imm_links): Increase limit for infinite
! 	loop check.
  
! 2005-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* gthr-posix95.h: Remove declaration of pthread_mutexattr_settype
! 	and duplicate declaration of pthread_self.
  
! 2005-11-13  Eric Botcazou  <ebotcazou@adacore.com>
! 	    Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/24003
! 	* calls.c (expand_call): If TARGET is a MEM and some part of the
! 	argument area has been saved, force TARGET to a register.
  
! 2005-11-13  Razya Ladelsky <razya@il.ibm.com>
  
! 	* ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type 
! 	checking.
  
! 2005-11-13  Jason Merrill  <jason@redhat.com>
  
! 	PR c++/22489
! 	* dwarf2out.c (gen_subprogram_die): Force a declaration die for
! 	lazily declared methods.
! 	(force_decl_die): Stop if forcing out the context already make a
! 	DIE for the decl.
! 	(force_type_die): Likewise.
  
! 2005-11-13  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/24820
! 	* builtins.c (integer_valued_real_p): Add break in
! 	REAL_CST having TREE_OVERFLOW set.
  
! 2005-11-13  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-ssa-loop-ivopts.c (get_address_cost): Prevent splitting
! 	addressing modes during calculation of costs.
  
! 2005-11-12  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* function.c (assign_stack_local_1): Restrict sanity check
! 	on frame size overflow to 32-bit and above platforms.
  
! 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
! 	* config/cris/cris.c: Include reload.h.
! 	(cris_initial_elimination_offset): New function.
! 	* config/cris/cris-protos.h: (cris_initial_elimination_offset):
! 	Prototype.
  
! 2005-11-12  Richard Guenther  <rguenther@suse.de>
  
! 	* gcse.c (find_rtx_in_ldst): Handle NULL pre_ldst_table.
  
! 2005-11-12  Jan Hubicka  <jh@suse.cz>
  
! 	* expr.c (expand_expr_real_1): <MAX_EXPR, MIN_EXPR>: Canonicalize
! 	to compare against 0 when possible.
  
! 2005-11-12  Jie Zhang  <jie.zhang@analog.com>
  
! 	* config/bfin/bfin.h (REGISTER_NAMES, SHORT_REGISTER_NAMES,
! 	HIGH_REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
! 	REG_ALLOC_ORDER, enum reg_class): Rearrange I/B/L registers.
! 	* config/bfin/bfin.md: Redefine REG_ constants for I/B/L registers
! 	in the new order.
  
! 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* recog.c (constrain_operands) <case 'g'>: For a match, require
! 	that a non-register matches general_operand when strict >= 0.
  
! 2005-11-11  Steven Bosscher  <stevenb@suse.de>
  
! 	* loop-invariant.c (move_loop_invariants): Fix a thinko in the
! 	previous checkin.
  
! 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* tree-ssa-dse.c (struct address_walk_data, memory_ssa_name_same)
! 	(memory_address_same): New.
! 	(dse_optimize_stmt): Call memory_address_same.
  
! 2005-11-12  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR middle-end/24750
! 	* reload.c (find_reloads_address_1) <case TRUNCATE, SIGN_EXTEND,
! 	ZERO_EXTEND>: New cases.
  
! 2005-11-11  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* longlong.h (__clz_tab): Always provide.
  
! 2005-11-11  Steven Bosscher  <stevenb@suse.de>
  
! 	PR 24265
! 	* loop-invariant.c (may_assign_reg_p): Make sure a hard register
! 	can be assigned to.
! 	(find_invariant_insn): Do the cheapest check, may_assign_reg_p,
! 	before check_maybe_invariant.
! 	(move_invariant_reg): Use gen_move_insn instead of replacing
! 	SET_DEST with the temporary for the invariant.
! 	(move_loop_invariants): If checking is enabled, do internal
! 	consistency checks after completing the pass.
  
! 2005-11-11  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR 24644
! 	* common.opt (Wvolatile-register-var): New.
! 	* varasm.c (make_decl_rtl): Only emit warning when option
! 	specified.  Clarify warning message.
! 	* doc/invoke.texi (Wvolatile-register-var): Document new option.
  
! 	* doc/md.texi (copysign): Document standard named pattern.
  
! 2005-11-11  Jie Zhang  <jie.zhang@analog.com>
  
! 	* config/bfin/bfin.c (bfin_expand_strmov): Correctly move the trailing
! 	bytes when align is 2.
! 	* config/bfin/bfin.md (rep_movsi, rep_movhi): Make LSETUP be followed
! 	by the first instruction of the loop.
  
! 2005-11-11  Jason Merrill  <jason@redhat.com>
  
! 	PR c++/24686
! 	* gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
! 	the cleanup list.
  
! 2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR rtl-optimization/22509
! 	* local-alloc.c (memref_used_between_p): Check whether a function call
! 	could not reference the memref.
  
! 2005-11-11  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* postreload.c (reload_cse_simplify_operands): Fix bug in sorting
! 	algorithm so as to choose the best, not the worst, alternative.
! 	Reset accumulated register class before processing next alternative.
  
! 2005-11-11  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	PR target/24445
! 	* calls.c (expand_call): Copy a return value to a plain register
! 	if needed.
  
! 2005-11-10  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR target/24778
! 	* varasm.c (assemble_name): Recompute name only for transparent
! 	aliases.
  
! 2005-11-10  Hans-Peter Nilsson  <hp@axis.com>
  
! 	* tree-ssa-structalias.c (heapvar_lookup): Fix typo: stmt to from.
  
! 2005-11-04  Jeff Law  <law@redhat.com>
  
! 	PR middle-end/23181
! 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Do not
! 	perform reassociation if the parent statement will not die as
! 	a result of the optimization.
  
! 2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-alias.c (compute_may_aliases): Remove call to 
! 	delete_old_heap_vars.
! 	* tree-dfa.c (referenced_var_remove): Remove function.
! 	* tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
! 	(delete_tree_ssa): Remove call to delete_old_heapvars.
! 	Add call to delete_alias_heapvars.
! 	* tree-flow.h (referenced_var_remove): Remove prototype
! 	(init_alias_heapvars): New prototype.
! 	(delete_alias_heapvars): Ditto.
! 	* Makefile.in (tree-ssa-structalias.o): Add
! 	gt-tree-ssa-structalias.o
! 	(GTFILES): Add tree-ssa-structalias.h and
! 	tree-ssa-structalias.c.
! 	(s-gtype): Add gt-tree-ssa-structalias.h.
! 	* tree-ssa-structalias.c (heapvars): Remove.
! 	(oldheapvars): Remove.
! 	(heapvar_for_stmt): New variable.
! 	(heapvar_lookup): New function.
! 	(heapvar_insert): Ditto.
! 	(get_constraint_for): See if we have an old heapvar
! 	to reuse.
! 	(init_alias_heapvars): New function.
! 	(delete_alias_heapvars): Ditto.
! 	Add include of gt-tree-ssa-structalias.h.
  
! 2005-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR middle-end/22127
! 	* calls.c (special_function_p): Set ECF_RETURNS_TWICE for getcontext.
  
! 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree.c (int_fits_type_p): Only look at the base type
! 	if it has the same precision as the original type.
  
! 2005-11-10  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR other/4372
! 	* varasm.c (assemble_alias): Use %q+D in the error
! 	message instead of %J and %qD.
  
! 2005-11-10  Richard Guenther  <rguenther@suse.de>
  
! 	* gcse.c (free_ldst_entry): Only free hashtable if
! 	it exists.
  
! 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* function.c (assign_stack_local_1): Issue an error message if
! 	the frame size overflows in the signed target arithmetics.
  
! 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree.c (build_qualified_type): Chain the new type to the original
! 	type's TYPE_NEXT_PTR_TO or TYPE_NEXT_REF_TO linked lists if it is
! 	a POINTER_TYPE or a REFERENCE_TYPE respectively.
! 	(build_pointer_type_for_mode): Only return unqualified types.
! 	(build_reference_type_for_mode): Likewise.
  
! 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
  
! 	* Makefile.in (gnucompare): Do comparison of all files using one of
! 	the chosen methods and only afterwards decide if just warning should
! 	be issued or comparison failure raised.
  
! 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* ifcvt.c (noce_get_alt_condition): Use prev_nonnote_insn.
! 	(noce_try_abs): Negate if the comparison is reversed.
! 	Look only one instruction backwards for a REG_EQUAL note.
  
! 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR other/4372
! 	* gthr-dce.h, gthr-posix.h, gthr-posix95.h, gthr-solaris.h,
! 	gthr-tpf.h: Define __gthrw.  For all identifiers that might
! 	be weak, introduce weakrefs or non-weak aliases with __gthrw,
! 	and prefix all uses with __ghtrw.
  
! 2005-11-09  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR other/4372
! 	* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
! 	(TREE_DEPRECATED): Adjust comment.  Check for a DECL.
! 	* c-common.c (handle_weakref_attribute): New.
! 	(c_common_attribute_table): Add weakref.
! 	* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
! 	in the assembler.
! 	* configure, config.in: Rebuilt.
! 	* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
! 	* doc/extend.texi: Document weakref attribute.
! 	* varasm.c (ultimate_transparent_alias_target): New
! 	(assemble_name): Use it.
! 	(weak_finish_1): Split out of...
! 	(weak_finish): ... and deal with weakrefs in...
! 	(weakref_targets): ... new list.
! 	(globalize_decl): Clean up weakref_targets.
! 	(do_assemble_alias): Handle weakrefs.
! 	(finish_aliases_1): Do not reject weakrefs to external symbols.
! 	(assemble_alias): Handle weakrefs.
  
! 2005-11-09  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/24716
! 	* tree-scalar-evolution.c (analyze_evolution_in_loop): Use
! 	t_bool to track results from follow_ssa_edge.
  
! 2005-11-09  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* final.c (force_source_line): New global variable.
! 	(final_scan_insn): Set it to true instead of clearing last_filename.
! 	(notice_source_line): Return true if force_source_line is true,
! 	unless source info is absent.
! 
! 2005-11-09  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR c/24644
! 	* dwarf2-out.c (add_name_and_src_coords_attributes): Don't add
! 	a linkage name for a variable if it a register variable.
! 	* c-decl.c (grokdeclarator): Global register variables
! 	should be set as PUBLIC.
! 
! 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	PR 24624
! 	* config/s390/s390.c (struct s390_frame_layout): New fields 
! 	first_save_gpr_slot and last_save_gpr_slot.
! 	(cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
! 	s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
! 	first_save_gpr and last_save_gpr with the _slot variants.
! 	(s390_register_info): Calculate first_save_gpr_slot and 
! 	last_save_gpr_slot using regs_ever_live.
! 
! 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	PR 24623
! 	* config/s390/s390.c (s390_regs_ever_clobbered): Only save live eh regs
! 	for a function containing a landing pad.
! 
! 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	PR 24034
! 	* flow.c (mark_set_1): Handle CLOBBERs like SETs if the register
! 	is live afterwards.
! 
! 2005-11-08  Bernd Schmidt  <bernd.schmidt@analog.com>
! 
! 	* config/bfin/t-bfin-elf (MULTILIB_OPTIONS, MULTILIB_DEFAULTS,
! 	MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): New.
! 
! 2005-11-09  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	Add ms2 support
! 	* config/ms1/ms1.md (UNSPEC_BLOCKAGE, UNSPEC_EI, UNSPEC_DI): New
! 	constants.
! 	(call,load,store): New insn types.
! 	(mem_access, branch_access): Adjust reservation conditions.
! 	(define_delay): Adjust condition.
! 	(decrement_and_branch_until_zero): Allow for ms2.  Set branch
! 	type.
! 	(*decrement_and_rbanch_until_zero_no_clobber): Allow for ms2.
! 	(*movqi_internal,*movsi_internal,*movsf_internal): Use load,store
! 	insn type.
! 	(call_internal, call_value_internal, return_internal,
! 	return_interrupt_internal, eh_return_internal, indirect_jump,
! 	tablejump): Set call insn type.
! 	(blockage, ei, di): Use appropriate unspec const.
! 	* config/ms1/ms1.c (ms1_flag_delayed_branch): New.
! 	(ms1_get_attr_type): Adjust to give load & store types.
! 	(ms1_final_prescan_insn): Adjust for new insn types.  Don't look
! 	backwards past a barrier.
! 	(ms1_override_options): Accept ms2 arch.  Copy and reset delayed
! 	branch scheduling.
! 	(struct branch_info, struct label_info): New.
! 	(ms1_labels): New.
! 	(ms1_add_branches, ms1_check_delay_slot, ms1_reorg_hazard): New.
! 	(ms1_machine_reorg): New.
! 	(TARGET_MACHINE_DEPENDENT_REORG): Override.
! 	* config/ms1/crtn.asm: Add nop for ms2 JAL hazard.
! 	* config/ms1/ms1.h (processor_type): Add PROCESSOR_MS2.
! 	(ASM_SPEC, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Add ms2.
! 	(TARGET_MS2): New.
! 
! 2005-11-09  Per Bothner  <per@bothner.com>
! 	    Uros Bizjak  <uros@kss-loka.si>
  	
! 	PR c/24101
! 	* toplev.c (process_options): Initialize debug_hooks early
! 	in case lang_hooks.post_options ends up calling a debug_hook.
  
! 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
  
! 	* dwarf2out.c (multiple_reg_loc_descriptor): Don't assume
! 	DBX_REGISTER_NUMBER being contiguous.
  
! 2005-11-08  James A. Morrison  <phython@gcc.gnu.org>
! 	    Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23046
! 	* tree-vrp.c (register_edge_assert_for): Do not register
! 	always-false predicates.
  
! 2005-11-08  Devang Patel <dpatel@apple.com>
  
! 	PR tree-optimization/23115
! 	* tree-if-conv.c (find_phi_replacement_condition): Check domninated_by
! 	relation.
  
! 2005-11-08  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* config/rs6000/t-fprules (MULTILIB_MATCHES_FLOAT): Include
! 	-mcpu=440.
  
! 2005-11-08  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/23382
  
! 	* tree-ssa-alias.c (compute_may_aliases): Call
! 	delete_old_heap_vars.
! 	* tree-dfa.c (referenced_var_remove): New function.
! 	* tree-ssa.c (delete_tree_ssa): Call delete_old_heap_vars.
! 	* tree-flow.h (referenced_var_remove): Add prototype.
! 	(delete_old_heap_vars): Ditto.
! 	* tree-ssa-structalias.c (heapvars): New variable.
! 	(oldheapvars): Ditto.
! 	(get_constraint_for): Put heap vars on heapvars list.
! 	(delete_old_heap_vars): New function.
! 	
! 2005-11-08  Jason Merrill  <jason@redhat.com>
  
! 	* tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
  
! 2005-11-08  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/19340
! 	* reg-stack.c (reg_to_stack): Update register liveness also
! 	for flag_sched2_use_traces.
  
! 2005-11-08  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/23704
! 	* config/rs6000/rs6000.c (rs6000_handle_option <OPT_m64>): Don't
! 	override prior explicit -mno-powerpc-gfxopt.
  
! 2005-11-07  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* expmed.c (extract_bit_field): Do not use insv/extv/extzv patterns
! 	if the bitsize is zero.
! 	* doc/md.texi (Standard Pattern Names): Document it.
  
! 	* config/ia64/ia64.c (ia64_pass_by_reference): Delete.
! 	(TARGET_PASS_BY_REFERENCE): Likewise.
  
! 2005-11-07  Ian Lance Taylor  <ian@airs.com>
  
! 	PR rtl-optimization/24683
! 	* config/i386/i386.c (legitimize_pic_address): If constant operand
! 	to PLUS is too large, put it in a register.
  
! 2005-11-07  Jie Zhang  <jie.zhang@analog.com>
  
! 	* configure.ac: Enable checking assembler dwarf2 support for bfin
! 	target.
! 	* configure: Regenerate.
  
! 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR target/24230
  
! 	* config/rs6000/rs6000.c (easy_vector_splat_const, easy_vector_same,
! 	gen_easy_vector_constant_add_self): Delete.
! 	(vspltis_constant, easy_altivec_constant, gen_easy_altivec_constant):
! 	New.
! 	(output_vec_const_move): Use gen_easy_altivec_constant.
! 	(rs6000_expand_vector_init): Do not emit a set of a VEC_DUPLICATE.
! 	* config/rs6000/predicates.md (easy_vector_constant): Reorganize tests.
! 	(easy_vector_constant_add_self): Rewritten.
! 	* config/rs6000/rs6000-protos.h (easy_vector_splat_const,
! 	easy_vector_same, gen_easy_vector_constant_add_self): Remove prototype.
! 	(easy_altivec_constant, gen_easy_altivec_constant): Add prototype.
! 	* config/rs6000/altivec.md (easy_vector_constant_add_self splitters):
! 	Macroize and adjust for the other changes.
  
! 2005-11-07  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR c/24599
  
! 	* c-typeck.c (build_c_cast): Try using a shared constant, and see
! 	if TREE_OVERFLOW or TREE_CONSTANT_OVERFLOW really changed.
  
! 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23567
! 	* ifcvt.c (noce_mem_write_may_trap_or_fault_p): New function.
! 	(noce_process_if_block): Don't do any optimizations except
! 	if (cond) x = x; if !set_b and write into orig_x may trap
! 	or fault.  Remove the MEM_READONLY_P check.
  
! 2005-11-06  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 24670
! 	* tree-vrp.c (fix_equivalence_set): New.
! 	(extract_range_from_assert): Call it.
  
! 2005-11-05  Ian Lance Taylor  <ian@airs.com>
  
! 	PR target/22432
! 	* combine.c (apply_distributive_law): Don't distribute across a
! 	vector mode subreg.
  
! 2005-11-05  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* c-typeck.c, config/i386/netware.h, config/m32c/cond.md,
! 	config/ms1/ms1.h, config/rs6000/predicates.md,
! 	config/s390/s390.c, params.def, postreload-gcse.c,
! 	tree-flow-inline.h, tree-ssa-operands.c, tree-vectorizer.c,
! 	tree-vrp.c, tree.c: Fix comment typos.
! 	* doc/invoke.texi: Fix typos.
  
! 2005-11-05  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* lambda-code.c (lambda_transform_legal_p): Use DDR_NUM_DIST_VECTS
! 	for testing whether the data_dependence_relation contains distance
! 	vectors.  Iterate over all distance vectors of the ddr.
! 	* lambda.h: Define a vec of lambda_vector pointers.
! 	* tree-data-ref.c (dump_data_dependence_relation,
! 	dump_data_dependence_direction): Iterate over all distance and
! 	direction vectors of the ddr.
! 	(initialize_data_dependence_relation): Initialize DDR_DIR_VECTS and
! 	DDR_DIST_VECTS.
! 	(build_classic_dist_vector, build_classic_dir_vector): Push a set
! 	of distance/direction vectors instead of a single one.
! 	* tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist 
! 	lambda_vectors with a vec of lambda_vectors.
! 	(DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
! 	(DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
! 	DDR_NUM_DIST_VECTS): New.
! 	* tree-loop-linear.c (gather_interchange_stats): Test for the
! 	existence of distance vectors only after having checked that there
! 	is a dependence.  Iterate over all distance vectors of the ddr.
! 	(linear_transform_loops): Use dump_data_dependence_relation.
! 	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Test for
! 	distance vectors using DDR_NUM_DIST_VECTS.  Iterate over all the
! 	distance vectors of the ddr.
  
! 2005-11-05  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.c (n_dregs_to_save, n_pregs_to_save,
! 	expand_prologue_reg_save, expand_epilogue_reg_restore): New argument
! 	IS_INTHANDLER; all callers changed.
! 	(n_regs_saved_by_prologue): Take interrupt handler attributes into
! 	account.
! 	(do_link, do_unlink): New argument ALL; all callers changed.
! 	(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
! 	If function isn't leaf, save and restore all registers.
! 	(bfin_function_ok_for_sibcall): Only true if not an interrupt or
! 	exception handler.
  
! 2005-11-05  Jan Hubicka  <jh@suse.cz>
  
! 	PR rtl-optimization/23490
! 	* doc/invoke.texi (max-predicted-iterations, max-cse-insns,
! 	max-flow-memory-location): Document.
! 	* flow.c: Include params.h
! 	(MAX_MEM_SET_LIST_LEN): Kill.
! 	(add_to_mem_set_list): Use new param.
! 	* cse.c (cse_basic_block): Replace 1000 by new param.
! 	* params.def (PARAM_MAX_PREDICTED_ITERATIONS, PARAM_MAX_CSE_INSNS,
! 	PARAM_MAX_FLOW_MEMORY_LOCATIONS): New.
! 	* predict.c (predict_loops): Use new param.
! 	* predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
  
! 	* ipa-inline.c (cgraph_decide_inlining_of_small_function, 
! 	cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
! 	Do not hold memory returned by cgraph_node_name across other call.
  
! 2005-11-04  Hans-Peter Nilsson  <hp@axis.com>
  
! 	PR target/23424
! 	* config/cris/predicates.md ("cris_bdap_sign_extend_operand"):
! 	Disable.
  
! 2005-11-04  Jeff Law  <law@redhat.com>
  
! 	PR/21883
! 	* doc/invoke.texi: Document max-jump-thread-duplication-stmts PARAM.
! 	* tree-ssa-dom.c: Include params.h.
! 	(thread_across_edge): If there are too many statements in the
! 	target block, then do not thread through it.
! 	* Makefile.in (tree-ssa-dom.o): Depend on $(PARAMS_H).
! 	* params.def (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS): New PARAM.
  
! 2005-11-03  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 24627
! 	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Use
! 	TODO_update_ssa instead of TODO_update_ssa_no_phi.
  
! 2005-11-04  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR/18595
! 	* tree-scalar-evolution.c (instantiate_parameters_1,
! 	instantiate_parameters, resolve_mixers): Compute the size of an
! 	expression to be instantiated and give up the instantiation if the
! 	size exceeds PARAM_SCEV_MAX_EXPR_SIZE.
  
! 2005-11-04  Richard Guenther  <rguenther@suse.de>
  
! 	* tree-flow.h (ref_contains_indirect_ref): Rename to
! 	array_ref_contains_indirect_ref.
! 	* tree-flow-inline.h (ref_contains_indirect_ref): Likewise.
! 	(array_ref_contains_indirect_ref): Make comment match the code
! 	and vice-versa.
! 	(ref_contains_array_ref): Likewise.
! 	* tree-ssa-structalias.c (find_func_aliases): Remove call to
! 	ref_contains_indirect_ref.
! 	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
! 	Rename calls to ref_contains_indirect_ref.
  
! 2005-11-04 Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.c (arm_load_pic_register): Pass extra reg to
! 	gen_pic_add_dot_plus_four and gen_pic_add_dot_plus_eight.
! 	(arm_call_tls_get_addr, legitimize_tls_address): Likewise.
! 	* config/arm/arm.md: Use match_operand in peephole input templates
! 	and match_dup in peephole output templates.
  
! 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/arm.c (arm_init_libfuncs): Use __aeabi_idiv and
! 	__aeabi_uidiv.
  
! 2005-11-04  Mark Mitchell  <mark@codesourcery.com>
! 	    Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* longlong.h (add_ssaaaa): Clobber condition code register
! 	in ARM version.
! 	(sub_ddmmss): Likewise.
! 	(umul_ppmm): Likewise.
  
! 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
! 	    Paul Brook  <paul@codesourcery.com>
! 	    Phil Blundell  <pb@reciva.com>
  
! 	* configure.ac: Add test for ARM TLS support.
! 	* configure: Regenerated.
! 	* config/arm/arm-protos.h (legitimize_tls_address)
! 	(arm_tls_referenced_p, tls_mentioned_p)
! 	(arm_output_addr_const_extra): New prototypes.
! 	(thumb_legitimize_pic_address): Delete.
! 	* config/arm/arm.c: Include "gt-arm.h".
! 	(enum tls_reloc): New.
! 	(arm_cannot_copy_insn_p, arm_tls_symbol_p, load_tls_operand)
! 	(pcrel_constant_p, get_tls_get_addr, arm_load_tp)
! 	(arm_call_tls_get_addr, legitimize_tls_address)
! 	(arm_tls_referenced_p, arm_tls_operand_p_1, tls_mentioned_p)
! 	(arm_init_tls_builtins, arm_emit_tls_decoration)
! 	(arm_output_addr_const_extra): New functions.
! 	(TARGET_CANNOT_COPY_INSN_P, TARGET_CANNOT_FORCE_CONST_MEM)
! 	(TARGET_HAVE_TLS): Define.
! 	(target_thread_pointer): New.
! 	(arm_override_options): Handle -mtp=.
! 	(legitimize_pic_address): Ignore UNSPECs.
! 	(arm_legitimate_address_p, thumb_legitimate_address_p): Handle PC
! 	relative symbols.
! 	(arm_legitimize_address, thumb_legitimize_address): Handle TLS.
! 	(tls_get_addr_libfunc): New variable.
! 	(symbol_mentioned_p, label_mentioned_p): Ignore UNSPEC_TLS.
! 	(arm_init_builtins): Call arm_init_tls_builtins.
! 	(arm_expand_builtin): Handle ARM_BUILTIN_THREAD_POINTER.
! 	(arm_encode_section_info): Call default_encode_section_info.
! 	* config/arm/arm.h (TARGET_HARD_TP, TARGET_SOFT_TP): Define.
! 	(enum arm_tp_type): New.
! 	(target_thread_pointer): Add declaration.
! 	(LEGITIMATE_CONSTANT_P): Handle TLS.
! 	(LEGITIMATE_PIC_OPERAND_P): Handle TLS.
! 	(OUTPUT_ADDR_CONST_EXTRA): Call arm_output_addr_const_extra.
! 	(enum arm_builtins): Add ARM_BUILTIN_THREAD_POINTER.
! 	* config/arm/arm.md: Add UNSPEC_TLS.
! 	(movsi): Handle TLS.
! 	(pic_add_dot_plus_four, pic_add_dot_plus_eight): Allow for
! 	non-PIC.
! 	(tls_load_dot_plus_eight): New insn and a peephole to create it.
! 	(load_tp_hard, load_tp_soft): New insns.
! 	* arm.opt: Add -mtp=.
! 	* doc/invoke.texi (ARM Options): Document -mtp.
  
! 2005-11-04  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/lib1funcs.asm: Don't include "libunwind.S".
! 	* config/arm/libunwind.S: Include "lib1funcs.asm".
! 	* config/arm/t-bpabi (LIB1ASMFUNCS): Remove _unwind.
! 	(LIB2ADDEH): Add libunwind.S.
! 	(LIB2ADDEHDEP): Add lib1funcs.asm.
! 	* mklibgcc.in: Handle asm files in libgcc_eh.a.
  
! 2005-11-04  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
  
! 	PR fortran/18452
! 	* gcc/c.opt: Add a -lang-fortran option.
! 	* gcc/c-opts.c: Add a lang_fortran flag.
! 	(c_common_init_options): Handling the -lang-fortran option.
! 	(c_common_handle_option): Add a case for Fortran options in
! 	preprocessing. Remove cases for -ffixed-form and
! 	-ffixed-line-length. Add a case for -lang-fortran.
  
! 2005-11-03  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.c: Include params.h
! 	(optimization_options): Set max-grow-copy-bb-insns default to 16.
! 	(bdesc_2arg): Delete vpkuhss and vpkuwss.
! 	* config/rs6000/altivec.md (UNSPEC_VPKUHSS): Delete.
! 	(UNSPEC_VPKUWSS): Delete.
! 	(altivec_vpkuhss): Delete.
! 	(altivec_vpkuwss): Delete.
! 	* config/rs6000/rs6000.md (plus_eqsi): Remove optimize_size from
! 	final condition.
! 	(neg_eq0<mode>): Remove final condition.
! 	(neg_eq<mode>): Remove condition and split-condition.
  
! 2005-11-04  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/rs6000.c (output_toc): Make "offset" HOST_WIDE_INT.
! 	Use associated print macros.
  
! 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c++/17964
! 	* diagnostic.c (diagnostic_set_info_translated): New function.
! 	(diagnostic_set_info): Use it.  Add comment.
! 	* diagnostic.h (diagnostic_set_info_translated): Declare.
  
! 2005-11-03  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* dwarf2asm.c (dw2_force_const_mem): Add new parameter 'public'.
! 	On USE_LINKONCE_INDIRECT platforms, build a DECL_ONE_ONLY indirect
! 	reference only if 'public' is true.
! 	(dw2_output_indirect_constant_1): On USE_LINKONCE_INDIRECT platforms,
! 	emit the .hidden directive only if the indirect reference is public.
! 	(dw2_asm_output_encoded_addr_rtx): Add new parameter 'public'.
! 	Pass it to dw2_force_const_mem.
! 	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): New param 'public'.
! 	* dwarf2out.c (output_cfi): Adjust calls to above function.
! 	(output_call_frame_info): Likewise.
! 	* except.c (output_ttype): Pass TREE_PUBLIC of the type_info object
! 	as 'public' argument to dw2_asm_output_encoded_addr_rtx.
  
! 2005-11-03  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/24483
! 	* tree-ssa-loop-ivopts.c (aff_combination_add_elt): Move rest
! 	field to elts if possible.
  
! 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/23155
! 	* gimplifier.c (gimplify_expr): Create a temporary for lvalue
! 	CONSTRUCTOR.
  
! 2005-11-03  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/24351
! 
! 	* tree-ssa-structalias.c (struct variable_info): Add
! 	collapsed_into.
! 	(get_varinfo_fc): New function to follow collapsing.
! 	(new_var_info): Set collapsed_to to NULL.
! 	(dump_constraint): Follow collapsing.
! 	(build_constraint_graph): Handle collapsing.
! 	(do_simple_structure_copy): Return false if something bad
! 	happened.
! 	(collapse_rest_of_var): New function.
! 	(do_structure_copy): Collapse if do_simple_structure_copy returns
! 	false.
  	
! 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/24589
! 	* gimplify.c (gimplify_expr) <case CONSTRUCTOR>: Add the
! 	expressions to a statement list instead of gimplifying them.
  
! 2005-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR rtl-optimization/23585
! 	* rtlanal.c (rtx_addr_can_trap_p_1) <PLUS>: Return 0 for an address
! 	that can't trap plus a constant integer, if the mode has zero size.
  
! 2005-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/24620
! 	* config/s390/s390.md ("*insv<mode>_reg_imm"): Accept any CONST_INT
! 	as operand 2.
! 	("*insv<mode>_reg_extimm"): Likewise.
  
! 2005-11-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/24329
! 	* c-pretty-print.c (pp_c_type_specifier): Do not recurse if
! 	c_common_type_for_mode returns an unnamed type.
  
! 2005-11-02  Richard Henderson  <rth@redhat.com>
  
! 	PR target/9350
! 	PR target/24374
! 	* dwarf2out.c (dwarf2out_reg_save_reg): New.
! 	(dwarf2out_frame_debug_expr): Return after dwarf_handle_frame_unspec.
! 	* function.c (assign_parms): Use calls.internal_arg_pointer.
! 	(expand_main_function): Remove FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN
! 	code.
! 	* target-def.h (TARGET_INTERNAL_ARG_POINTER): New.
! 	(TARGET_CALLS): Add it.
! 	* target.h (struct gcc_target): Add calls.internal_arg_pointer.
! 	* targhooks.c (default_internal_arg_pointer): New.
! 	* targhooks.h (default_internal_arg_pointer): Declare.
! 	* tree.h (dwarf2out_reg_save_reg): Declare.
! 	* doc/tm.texi (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Remove.
! 	* config/i386/i386.c (dbx_register_map): Add return column.
! 	(dbx64_register_map, svr4_dbx_register_map): Likewise.
! 	(TARGET_INTERNAL_ARG_POINTER, ix86_internal_arg_pointer): New.
! 	(TARGET_DWARF_HANDLE_FRAME_UNSPEC, ix86_dwarf_handle_frame_unspec): New.
! 	(ix86_function_ok_for_sibcall): Disable if force_align_arg_pointer.
! 	(ix86_save_reg): Save force_align_arg_pointer.
! 	(ix86_emit_save_regs): Make regno unsigned.
! 	(ix86_emit_save_regs_using_mov): Likewise.
! 	(ix86_expand_prologue): Handle force_align_arg_pointer.
! 	(ix86_expand_epilogue): Likewise.
! 	* config/i386/i386.h: (dbx_register_map): Update.
! 	(dbx64_register_map, svr4_dbx_register_map): Update.
! 	(struct machine_function): Add force_align_arg_pointer.
! 	* config/i386/i386.md (UNSPEC_REG_SAVE, UNSPEC_DEF_CFA): New.
! 	(UNSPEC_TP, UNSPEC_TLS_GD, UNSPEC_TLS_LD_BASE): Renumber.
! 	(TARGET_PUSH_MEMORY peepholes): Disable if RTX_FRAME_RELATED_P.
  
! 2005-11-02  Jan Hubicka  <jh@suse.cz>
  
! 	PR target/23303
! 	* i386.md: Add peep2 for simplyfing array accesses.
  
! 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/24615
! 	* config/s390/s390-protos.h (s390_decompose_shift_count): Declare.
! 	* config/s390/s390.c (s390_decompose_shift_count): New function.
! 	(s390_extra_constraint_str) ['Y']: Use s390_decompose_shift_count.
! 	(print_shift_count_operand): Use s390_decompose_shift_count.
! 	* config/s390/predicates.md ("setmem_operand", "shift_count_operand"):
! 	Use s390_decompose_shift_count.  Do not accept any non-base hard regs.
  
! 2005-11-02  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/24600
! 	* loop.c (loop_givs_rescan): Use force_operand to expand
! 	complex GIVs.
  
! 2005-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR 22429
! 	* fold-const.c (build_range_check): Use unsigned when signed
! 	overflow is undefined also.  If etype is subtype, make sure that
! 	the subtraction is in the supertype.
  
! 2005-11-02  Richard Henderson  <rth@redhat.com>
! 
! 	PR target/24178
! 	* config/alpha/alpha.c (get_aligned_mem): Honor alignment given
! 	by MEM_ALIGN.
! 
! 2005-11-01  Richard Henderson  <rth@redhat.com>
! 
! 	PR 21518
! 	* loop.c (scan_loop): Do not propagate computations to a hard
! 	register destination with SMALL_REGISTER_CLASSES.
! 
! 2005-11-01  Joseph S. Myers  <joseph@codesourcery.com>
! 
! 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Do not add extra
! 	costs for MULT inside PLUS or MINUS.
! 
! 2005-11-01  Bob Wilson  <bob.wilson@acm.org>
! 
! 	* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Add a byte of padding.
! 	(TRAMPOLINE_SIZE): Round up to 60.
! 	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Likewise.
! 
! 2005-10-31  James E. Wilson  <wilson@specifix.com>
! 
! 	PR debug/24444
! 	* dwarf2out.c (convert_cfa_to_loc_list): Put inside DWARF2_UNWIND_INFO
! 	ifdef.  Put ifdefs around call in gen_subprogram_die.
! 	(compute_frame_pointer_to_cfa_displacement): Likewise.
! 	(gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
! 	not defined.
  	
! 	PR rtl-optimization/17356
! 	*  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
! 	add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
  
! 2005-10-31  Jan Hubicka  <jh@suse.cz>
  
! 	PR middle-end/24093
! 	* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Watch negative
  
! 	PR target/20928
! 	* i386.c (legitimize_pic_address): Deal with large immediates.
  
! 	PR profile/20815
! 	* coverage.c (coverage_checksum_string): Fix code to stip random seeds
! 	from symbol names while computing checkup.
  
! 	PR profile/24487
! 	* predict.c (predict_loops): Do not estimate more than
! 	MAX_PRED_LOOP_ITERATIONS in PRED_LOOP_ITERATIONS heuristic.
! 	* predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
  
! 2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
! 	
! 	PR tree-optimization/19097
! 	* tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
  
! 2005-10-31  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
! 
! 2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR middle-end/23492
! 	* tree-inline.c (setup_one_parameter): If the init_stmt
! 	is NULL, don't insert the statement.
! 
! 2005-10-30  Jan Hubicka  <jh@suse.cz>
! 
! 	PR tree-optimization/24172
! 	* tree-inline.c (copy_body_r): Unshare the substituted value first.
! 
! 2005-10-30  Hans-Peter Nilsson  <hp@bitrange.com>
! 
! 	* config/mmix/mmix.c (mmix_intval): Correct handling of DFmode
! 	constants for hosts with long != 32 bits.
! 
! 2005-10-28  Andreas Krebbel <krebbel1@de.ibm.com>
! 
! 	PR middle-end/24093
! 	* ipa-inline.c (craph_decide_recursive_inlining): Fix return value.
! 
! 2005-10-28  Aldy Hernandez  <aldyh@redhat.com>
! 
! 	* config/ms1/ms1.h (TARGET_MS1_64_001): New.
! 	(TARGET_MS1_16_002): New.
! 	(TARGET_MS1_16_003): New.
! 
! 	* config/ms1/ms1.md ("decrement_and_branch_until_zero"): Rewrite.
! 	("*decrement_and_branch_until_zero_no_clobber"): New.
! 	Add corresponding splitter for decrement_and_branch_until_zero
! 	instruction.
! 	Key all decrement_and_branch_until_zero patterns off of
! 	TARGET_MS1_16_003.
! 
! 2005-10-28  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR middle-end/24362
! 	* tree-complex.c (extract_component): Treat RESULT_DECL
! 	like the rest of the decls.
! 
! 2005-10-25  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* config/ia64/ia64.c (ia64_output_function_profiler): Emit an
! 	indirect call to _mcount if the function needs a static chain.
! 
! 2005-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 	    Caroline Tice  <ctice@apple.com>
! 
! 	PR rtl-optimization/24460
! 	* dwarf2out.c (have_switched_text_sections): New boolean variable.
! 	(dwarf2out_switch_text_section): Set it to true instead of
! 	incrementing separate_line_info_table_in_use.
! 	(output_loc_list): Additionally test have_switched_text_sections.
! 	(output_ranges): Likewise.
! 	(dwarf2out_finish): Likewise.
! 	* varasm.c (assemble_start_function): Do not call
! 	insert_section_boundary_note.
! 	(assemble_end_function): If flag_reorder_blocks_and_partition,
! 	switch to the function's section before emitting the .size directive.
! 	* bb-reorder.c (insert_section_boundary_note): Staticify.
! 	(rest_of_handle_reorder_blocks): Call insert_section_boundary_note.
! 	* output.h (insert_section_boundary_note): Delete.
! 
! 2005-10-24  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR c/23103
! 	* c-format.c (check_format_types): Use lang_hooks.types_compatible_p
! 	instead of pointer equality when comparing types.
! 
! 2005-10-24  James E. Wilson  <wilson@specifix.com>
! 
! 	* sched-deps.c (flush_pending_lists): Pass 1 not 0 in first two
! 	add_dependence_list_and_free calls.
! 
! 2005-10-24  Steven Bosscher  <stevenb@suse.de>
! 
! 	* contrib.texi: Add the names of the LLNL folks who donated
! 	Cray pointer support for gfortran.
! 
! 2005-10-24  Steven Bosscher  <stevenb@suse.de>
! 
! 	PR tree-optimization/24225
! 	* profile.c (branch_prob): Look from end to start through a
! 	basic block when looking for a locus.
! 
! 2005-10-24  Richard Henderson  <rth@redhat.com>
! 
! 	* pa.c (store_reg_modify): Set RTX_FRAME_RELATED_P on each set in
! 	parallel.
! 	(hppa_expand_prologue): Likewise.
! 
! 2005-10-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	* pa-linux.h (NO_PROFILE_COUNTERS): Delete define.
! 	(NO_DEFERRED_PROFILE_COUNTERS): Define.
! 	* pa.h (NO_PROFILE_COUNTERS): Define.
! 	* pa.c (NO_DEFERRED_PROFILE_COUNTERS): Define if not defined.
! 	(funcdef_nos): New vector to hold label numbers of deferred profile
! 	counters.
! 	(output_deferred_profile_counters): New function.
! 	(hppa_profile_hook): Push label number onto funcdef_nos.
! 	(pa_hpux_file_end): Call output_deferred_profile_counters if
! 	NO_DEFERRED_PROFILE_COUNTERS is false.
! 
! 	* pa-protos.h (get_deferred_plabel): New prototype.
! 	* pa.c (get_plabel): Rename to get_deferred_plabel.  Return plabel.
! 	Make global.
! 	(output_call): Adjust calls.
! 
! 2005-10-24  Alan Modra  <amodra@bigpond.net.au>
! 
! 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Explain
! 	peculiarity of GOT/TOC section usage.
! 
! 2005-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR objc/24435
! 	 * c-common.c (constant_string_class_name): Add documentation.
! 
! 2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
! 
! 	PR target/23832
! 	* recog.c (peephole2_optimize): Increment peep2_current_count
! 	only when the slot is empty.
! 
! 2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR ada/23957
! 	* except.c (output_function_exception_table): Call
! 	assemble_external_libcall if we need a personality function.
! 
! 2005-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	PR rtl-optimization/24460
! 	* bb-reorder.c (fix_crossing_unconditional_branches): Do not
! 	set the basic block for barriers.
! 
! 2005-10-21  Janis Johnson  <janis187@us.ibm.com>
! 
! 	* var-tracking.c (vt_initialize): Initialize post.
! 
! 2005-10-21  Devang Patel  <dpatel@apple.com>
! 
! 	PR/24220
! 	* c-common.c (vector_types_convertible_p): Check vector element type.
  	
! 2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (prepare_move_operands): Handle the address
! 	constant which is a tls symbolic address plus a constant.
  
! 2005-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR driver/24473
! 	* gcc.c (main): Use the correct counter for erroring out
! 	about mulitple files.
  
! 2005-10-21  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/24465
! 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Always
! 	use r2 for 64-bit tls .got access.
  
! 2005-10-21  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* dojump.c (do_jump): Handle side-effecting TRUTH_AND_EXPR and
! 	TRUTH_OR_EXPR.
  
! 2005-10-20  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/24307
! 	* tree-cfg.c (tree_find_edge_insert_loc): Handle naked RETURN_EXPR.
  
! 2005-10-20  Alexandre Oliva  <aoliva@redhat.com>
  
! 	PR middle-end/24295
! 	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Mark
! 	alias targets.
! 	* varasm.c (find_decl_and_mark_needed): After cgraph global info
! 	is ready, stop marking functions, but still mark variables.
  
! 2005-10-20  Richard Guenther  <rguenther@suse.de>
  
! 	PR c++/24439
! 	* fold-const.c (invert_truthvalue): Handle COND_EXPR with
! 	void type operands.
  
! 2005-10-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR rtl-optimization/23585
! 	* rtlanal.c (rtx_addr_can_trap_p_1): New predicate extracted from...
! 	(rtx_addr_can_trap_p): ... here.  Invoke rtx_addr_can_trap_p_1.
! 	(may_trap_p_1): New predicate extracted from...
! 	(may_trap_p): ... here.  Invoke may_trap_p_1.
! 	(may_trap_or_fault_p): New predicate.
! 	* rtl.h (may_trap_or_fault_p): Declare it.
! 	* reorg.c (steal_delay_list_from_target): Use may_trap_or_fault_p
! 	instead of may_trap_p.
! 	(steal_delay_list_from_fallthrough): Likewise.
! 	(fill_simple_delay_slots): Likewise.
! 	(fill_slots_from_thread): Likewise.
! 	* function.c (pad_to_arg_alignment): Rework comment about
! 	SPARC_STACK_BOUNDARY_HACK.
! 	* config/sparc/sparc.h: Likewise.
  
! 2005-10-19  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.c (s390_expand_insv): New.
! 	* config/s390/s390-protos.h (s390_expand_insv): Declare.
! 	* config/s390/s390.md ("UNSPEC_SETHIGH"): Rename to "UNSPEC_ICM".
! 	("icm_hi"): Remove mode attribute.
! 	("*sethigh<mode><mode>"): Rewrite to "sethighpart<mode>".
! 	Adjust all uses.
! 	("*extracthi", "*extractqi"): Remove.
! 	(extv<mode>", "*extzv<mode>"): New.
! 	("insv", "*insv<mode>_mem_reg", "*insvdi_mem_reghigh",
! 	"*insv<mode>_reg_imm", "*insv<mode>_reg_extimm"): New.
  
! 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
  
! 	* cfgexpand.c (discover_nonconstant_array_refs_r,
! 	discover_nonconstant_array_refs): Move here from tree-outof-ssa.c
! 	(tree_expand_cfg): Call discover_nonconstant_array_refs.
! 	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
! 	discover_nonconstant_array_refs.
  
! 2005-10-19  Steven Bosscher  <stevenb@suse.de>
  
! 	PR c/23228
! 	* c-decl.c (pop_scope): Don't warn about an unused variable
! 	if it is marked with TREE_NO_WARNING.
! 	(duplicate_decls): Set TREE_NO_WARNING if olddecl and newdecl
! 	somenow mismatch and olddecl is to be replaced.
  
! 2005-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR middle-end/23199
! 	* cfgrtl.c (safe_insert_insn_on_edge): Use can_copy_p to detect
! 	whether registers live on the edge can be saved/restored.
  
! 2005-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (fixup_mova): Skip notes.
  
! 2005-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
  
! 	* config/s390/s390-protos.h (s390_hard_regno_rename_ok): Add prototype.
! 	* config/s390/s390.c (s390_hard_regno_rename_ok): New function.
! 	(s390_can_eliminate): Handle BASE_REGNUM elimination.
! 	(s390_initial_elimination_offset): Likewise.
! 	(s390_conditional_register_usage): BASE_REGNUM is no longer a fixed
! 	register on TARGET_ZARCH targets.
! 	* config/s390/s390.h (HARD_REGNO_RENAME_OK): Define
! 	(INITIAL_FRAME_POINTER_OFFSET): Remove.
! 	(REG_ALLOC_ORDER): Move BASE_REGNUM lower.
! 	(ELIMINABLE_REGS): Add BASE_REGNUM elimination rule.
  
! 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* config/s390/s390.md: Comment describing output modifiers updated.
! 	* config/s390/s390.c (print_operand): Likewise.
! 
! 2005-10-19  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* config/s390/s390.c (override_options): Added check for -mstack-size
! 	64k limitation.
! 	* doc/invoke.texi: Mention that limit in the documenation.
! 
! 2005-10-18  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR #19672
! 	* dojump.c (do_jump): Handle TRUTH_AND_EXPR and TRUTH_OR_EXPR here.
! 
! 2005-10-18  Daniel Berlin <dberlin@dberlin.org>
! 
! 	Fix PR tree-optimization/24231
! 
! 	* tree-ssa-pre.c (try_look_through_load): Skip abnormal phi names
! 	(compute_avail): Ditto.
! 
! 2005-10-18  Richard Henderson  <rth@redhat.com>
! 
! 	PR target/24428
! 	* config/i386/i386.c (legitimate_constant_p): Check
! 	SYMBOL_REF_TLS_MODEL directly.  Don't fallthru to SYMBOL_REF
! 	if LABEL_REF.
! 	(legitimate_pic_operand_p): Test SYMBOL_REF_TLS_MODEL directly.
! 	(legitimate_pic_address_disp_p): Reorg CONST checking to make
! 	sure SYMBOL_REF_TLS_MODEL is tested.  Test SYMBOL_REF_TLS_MODEL
! 	directly.
! 	(print_operand_address): Likewise.
! 	* config/i386/predicates.md (x86_64_immediate_operand): Test
! 	SYMBOL_REF_TLS_MODEL properly inside CONST.
! 	(x86_64_zext_immediate_operand): Likewise.
! 	(global_dynamic_symbolic_operand, local_dynamic_symbolic_operand,
! 	initial_exec_symbolic_operand, local_exec_symbolic_operand): Remove.
! 	* config/i386/i386-protos.h: Remove predicates.md entries.
! 
! 2005-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
! 
! 	* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
! 	Check that elements of TYPE_METHODS are FUNCTION_DECLs.
! 
! 2005-10-17  Alexey Starovoytov  <alexey.starovoytov@sun.com>
! 	    Ian Lance Taylor <ian@airs.com>
! 
! 	PR middle-end/23522
! 	* fold-const.c (fold_widened_comparison): Do not allow range based
! 	constant folding when right operand cannot be unwidened.
! 
! 2005-10-17  Richard Henderson  <rth@redhat.com>
! 
! 	* builtins.c (expand_builtin_synchronize): Build a new-style asm
! 	with a memory clobber.
! 
! 2005-10-17  James E Wilson  <wilson@specifix.com>
! 
! 	PR rtl-optimization/17356
! 	* cfgrtl.c (purge_dead_edges): Check for EDGE_ABNORMAL_CALL before
! 	checking for EDGE_EH.
! 
! 2005-10-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	* config/sparc/sparc.c (function_arg_slotno): In 64-bit mode, align
! 	the slot on an even boundary for any type with 16-byte alignment.
! 
! 2005-10-17  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/23424
! 	* md.texi (Modifiers) <%>: Clarify that % doesn't work
! 	after register allocation.
! 
! 2005-10-17  DJ Delorie  <dj@redhat.com>
! 
! 	* config/m32c/m32c.c (m32c_pushm_popm): Don't mark epilogue insns
! 	as frame related.
! 
! 2005-10-17  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	PR c++/22551
! 	* c-common.c (c_add_case_label): Revert my 2005-10-14 clearing of
! 	overflow flags.
! 
! 2005-10-17  Kaz Kojima  <kkojima@gcc.gnu.org>
! 
! 	* config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_schedule_insns
! 	to 2 if it's already non-zero.
! 	(OVERRIDE_OPTIONS): Clear flag_schedule_insns if flag_exceptions
! 	is set and warn about it if flag_schedule_insns is 1.
! 
! 2005-10-17  Paul Woegerer  <paul.woegerer@nsc.com>
! 
! 	* config/crx/crx.md: Compare-and-branch instructions need to
! 	invalidate CC.
! 
! 2005-10-17  Uros Bizjak  <uros@kss-loka.si>
! 
! 	PR target/24315
! 	* config/i386/i386.md (*pushdi2_rex64 splitter)
! 	(*movdi_1_rex64 splitter, *ashldi3_1 splitter)
! 	(*ashrdi3_1 splitter, *lshrdi3_1 splitter): Delay splitting after
! 	flow2 pass only when (optimize > 0 && flag_peephole2).
! 
! 2005-10-16  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR driver/22544
! 	* gcc.c (have_c): New static variable.
! 	(have_o): Likewise.
! 	(process_command): Remove declation of have_c.
! 	Set have_o to 1 when handling -o.
! 	(main): Add a fatel error if there are multiple
! 	files specified and -o and -c/-S is passed witout
! 	-combine or multiple languages.
! 
! 2005-10-16  Daniel Berlin  <dberlin@dberlin.org>
! 
! 	Fix PR tree-optimization/22444
! 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing):
! 	Assert that we don't hit something with subvars.
! 	(setup_pointers_and_addressables): Don't add things with subvars,
! 	because we'll already process the subvars for aliasing purposes.
! 
! 2005-10-16  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	PR target/23424
! 	* config/cris/cris.md ("*mov_side<mode>", "*mov_sidesisf")
! 	("*mov_side<mode>_mem", "*mov_sidesisf_mem", "*clear_side<mode>")
! 	("*ext_sideqihi", "*ext_side<mode>si", "*op_side<mode>")
! 	("*op_swap_side<mode>", "*extopqihi_side", "*extop<mode>si_side")
! 	("*extopqihi_swap_side", "*extop<mode>si_swap_side"): Have separate,
! 	swapped, alternatives for the R constraint.
! 
! 	PR middle-end/24341
! 	* builtins.c (get_builtin_sync_mode): Make unlimited
! 	mode_for_size request.
! 
! 2005-10-15  Richard Henderson  <rth@redhat.com>
! 
! 	* gimplify.c (gimplify_var_or_parm_decl): Split out from ...
! 	(gimplify_expr): ... here.
! 	(gimplify_compound_lval): Use it in initial scan loop.  Allow
! 	fb_lvalue in base expression.
! 
! 2005-10-15  Richard Henderson  <rth@redhat.com>
! 
! 	PR 23714
! 	* builtins.c (expand_builtin_trap): Export.
! 	* expr.h (expand_builtin_trap): Declare.
! 	* expr.c (expand_assignment): Emit a trap for integral offsets 
! 	from registers that weren't reduced to bitpos.
! 
! 	* tree-cfg.c (mark_array_ref_addressable_1): Remove.
! 	(mark_array_ref_addressable): Remove.
! 	* tree-flow.h (mark_array_ref_addressable): Remove.
! 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Don't call it.
! 
! 2005-10-15  James E Wilson  <wilson@specifix.com>
! 
! 	PR target/24232
! 	* sched-deps.c (add_dependence_list): New arg UNCOND.  Fix all callers.
! 	(add_dependence_list_and_free): Likewise.
! 	(sched_analyze_2, case MEM): Delete sched_insns_conditions_mutex_p
! 	call.
! 
! 2005-10-15  Diego Novillo  <dnovillo@redhat.com>
! 
! 	PR 23141
! 	PR 23142
! 	* tree-vrp.c (vrp_meet): Fix the intersection of equivalence
! 	sets VR0->EQUIV and VR1->EQUIV when meeting a range and an
! 	anti-range.
! 	(vrp_visit_phi_node): Only prevent infinite iterations when
! 	the previous result and the new result are both VR_RANGEs.
! 
! 2005-10-15  Ranjit Mathew  <rmathew@gcc.gnu.org>
! 
! 	* tree-into-ssa.c (mark_def_sites): Correct minor typo in
! 	function comment.
! 
! 2005-10-14  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
! 
! 	PR c/23439
! 	* c-parser.c (c_parser_for_statement): Use location of RID_FOR
! 	to initialize loc.
! 
! 2005-10-14  Per Bothner  <per@bothner.com>
! 
! 	PR preprocessor/21250
! 	* c-ppoutput.c (print_line): Print internal line 0 as 1.
! 
! 2005-10-14  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	PR c++/22551
! 	* c-common.c (c_add_case_label): Clear LOW_VALUE and HIGH_VALUE's
! 	overflow flags.  Refactor some conditionals.
! 
! 2005-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR tree-opt/21304
! 	* tree-dfa.c (add_referenced_var): Only look at decls which
! 	have TREE_CONSTANT or TREE_READONLY set instead of if
! 	!TREE_PUBLIC or !TREE_CONSTANT.
! 
! 2005-10-13  James E Wilson  <wilson@specifix.com>
! 
! 	* doc/invoke.texi: For -x, add f95-cpp-input.
! 	* doc/install.texi: For --enable-languages doc, change f95 to fortran.
! 
! 2005-10-12  Sebastian Pop  <pop@cri.ensmp.fr>
! 
! 	PR tree-optimization/24262
! 	* tree-data-ref.c (analyze_offset_expr): Check that init is invariant
! 	in loop all the time.
! 
! 2005-10-12  Richard Henderson  <rth@redhat.com>
! 
! 	PR c/24255
! 	* tree.h (DECL_TRANSPARENT_UNION): Remove.
! 	* function.c (assign_parm_find_data_types): Don't support it.
! 	* print-tree.c (print_node): Likewise.
! 	* c-common.c (handle_transparent_union_attribute): Likewise.
! 	Use build_duplicate_type.
! 	* tree-inline.c (remap_type_1): Split out of remap_type;
! 	properly remap aggregate fields.
! 	(build_duplicate_type): New.
! 	* doc/extend.texi (Variable Attributes): Remove documentation
! 	for transparent_union.
! 
! 2005-10-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
! 
! 	PR target/24284
! 	* config/sparc/sparc.c (gen_stack_pointer_inc): Build by hand.
! 	(gen_stack_pointer_dec): Likewise.
! 
! 2005-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
! 
! 	PR middle-end/21275
! 	PR middle-end/21766
! 	* target.h (struct gcc_target): Add valid_dllimport_attribute_p
! 	target hook.
! 	(struct cxx): Add adjust_class_at_definition target hook.
! 	* target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
! 	defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
! 	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
! 	hook_void_tree. Add to TARGET_CXX.
! 	* tree.h (struct decl_with_vis): Rename non_addr_const_p field to
! 	dllimport_flag.
! 	(DECL_NON_ADDR_CONSTANT_P): Replace with DECL_DLLIMPORT_P macro.
! 	* tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
! 	instead of attribute. Check for dllexport override.  Warn if
! 	inconsistent dll linkage. Don't lose old dllimport if decl has
! 	had address referenced.   Tweak lookup of dllimport atribute.  
! 	(handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
! 	for target specific rules.  Don't add dllimport attribute if
! 	DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
! 	dllimport attribute. 
! 	(staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
! 	* varasm.c (initializer_constant_valid_p): Replace
! 	DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
! 
! 	PR target/21801
! 	PR target/23589
! 	* config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
! 	'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
! 	(i[34567]86-*-mingw32*): Likewise.
! 
! 	* doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
! 	(TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
! 			
! 	* config/i386/winnt.c (i386_pe_dllimport_p): Factor out
! 	C++-specific code. Change return value to bool. 
! 	(i386_pe_dllimport_p): Likewise.
! 	(associated_type): Simplify and make language-independent
! 	(i386_pe_encode_section_info): Replace override of ambiguous
! 	dllimport symbol refs with a gcc_assert.
! 	(i386_pe_valid_dllimport_attribute_p): Define.
! 	* config/i386/winnt-cxx.c: New file. Define C++ versions of
! 	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
! 	i386_pe_adjust_class_at_definition.
! 	* config/i386/winnt-stubs.c: New file. Define stub versions of
! 	lang-specific functions.
! 	* config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
! 	i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
! 	i386_pe_adjust_class_at_definition.
! 	(i386_pe_valid_dllimport_attribute_p): Declare. 
! 	* config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
! 	(TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
! 	* config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
! 
! 	PR target/19704
! 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Replace test for
! 	dllimport attribute with test of DECL_DLLIMPORT_P.
! 
! 2005-10-12  Adrian Straetling <straetling@de.ibm.com>
! 
! 	* combine.c (make_extraction): Correct offset computation.
! 
! 2005-10-12  Hans-Peter Nilsson  <hp@axis.com>
! 
! 	* config/cris/t-linux (LIMITS_H_TEST): Define.
! 
! 2005-10-12  Richard Henderson  <rth@redhat.com>
! 
! 	PR rtl-opt/23324
! 	* cfgexpand.c (add_alias_set_conflicts): Use objects_must_conflict_p.
! 
! 2005-10-12  Richard Guenther  <rguenther@suse.de>
! 
! 	* Makefile.in (CGRAPH_H): Depend on $(TREE_H).
! 
! 2005-10-12  Nathan Sidwell  <nathan@codesourcery.com>
! 
! 	PR c++/19964
! 	* stor-layout.c (place_field): Set DECL_FIELD_OFFSET and
! 	DECL_FIELD_BIT_OFFSET of FIELD_DECLs, even if they have an invalid
  	type.
  
! 2005-10-12  Richard Guenther  <rguenther@suse.de>
  
! 	PR c++/23799
! 	* varasm.c (output_constant): Correct typo from previous
! 	patch by DJ.
  
! 2005-10-11  Ian Lance Taylor  <ian@airs.com>
  
! 	PR rtl-optimization/13931
! 	* combine.c: Revert patch of 2003-05-14, and:
! 	(try_combine): Only set elim_i1 and elim_i2 if the destination is
! 	completely killed in the appropriate insn.
! 	(distribute_notes): Don't skip multiple hard register test for
! 	elim_i1 and elim_i2.
  
! 2005-10-11  Richard Henderson  <rth@redhat.com>
  
! 	PR c/24255
! 	* c-typeck.c (convert_for_assignment): Use build_constructor_single
! 	to initialize a transparent union instead of a nop_expr.
  
! 2005-10-11  Richard Henderson  <rth@redhat.com>
  
! 	* Makefile.in (tree-ssa-dce.o): Depend on SCEV_H.
! 	* tree-ssa-dce.c: Include tree-scalar-evolution.h.
! 	(tree_ssa_dce_loop): Call scev_reset.
  
! 	PR tree-opt/24300
! 	* Makefile.in (tree-ssa-dce.o): Depend on CFGLOOP_H.
! 	* tree-ssa-dce.c: Include cfgloop.h.
! 	(tree_ssa_dce_loop, pass_dce_loop): New.
! 	* tree-pass.h (pass_dce_loop): Declare it.
! 	* passes.c (init_optimization_passes): Use it.
  
! 2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR middle-end/24263 
! 	* convert.c (convert_to_real): Revert 2005-10-05 patch.
! 	Only apply the optimization for rounding builtins if the inner
! 	cast is also an extension.
  
! 2005-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/23946
! 	* tree-ssa-ccp.c (execute_fold_all_builtins): Call
! 	mark_new_vars_to_rename instead of update_stmt.
  
! 2005-10-11  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/crti.s (__init, __fini): Renamed from _init, _fini.
  
! 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/i386/i386.md (movsi_1, movdi_1_rex64): Use mmxadd type
! 	for setting MMX register to 0 rather than mmx.
  
! 2005-10-10  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR target/12098
! 	* configure.ac: Move gas check from mips specific case to common case.
! 	Do check for GNU as for mips*-*-* and *-*-hpux* targets.
! 	* configure: Regenerate
! 	* doc/install.texi: Update.
  
! 2005-10-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	PR target/24284
! 	* config/sparc/sparc.c (sparc_expand_prologue): Remove bogus PATTERN.
  
! 2005-10-10  Maciej W. Rozycki  <macro@linux-mips.org>
  
! 	* gcc.c (do_spec_1): Accept numeric characters in file name
! 	suffixes.
  
! 2005-10-10  Nick Clifton  <nickc@redhat.com>
  
! 	* config/arm/arm.c: Remove extraneous whitespace.  Remove comment
! 	describing the deleted arm_gen_rotated_half_load function.
  
! 2005-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (emit_fpu_switch): Set TREE_PUBLIC for
! 	__fpscr_values.
  
! 2005-10-09  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config.gcc (arm*-*-linux*): Remove redundant extra_parts and
! 	gnu_ld assignments.
! 	* config/arm/t-linux-eabi (LIB1ASMFUNCS)
! 	(EXTRA_MULTILIB_PARTS): Define.
! 	* config/arm/linux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
! 	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
! 	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Move to...
! 	* config/arm/uclinux-elf.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC)
! 	(STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC)
! 	(LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): ... here.
  
! 2005-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/24226
! 	* tree-cfg.c (remove_bb): Clean up unreachable loops.
! 	* tree-flow.h (free_numbers_of_iterations_estimates_loop): Declare.
! 	* tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates_loop):
! 	Export.
  
! 2005-10-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* config/sparc/gmon-sol2.c (internal_mcount): Mark as used.
  
! 2005-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/24136
! 	* config/rs6000/darwin.md (movdf_low_si): Remove early clobber.
! 	Rewrite for no need for the early clobber.
  
! 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
  
! 	Merge from csl-arm-branch:
! 	2005-09-07  Paul Brook  <paul@codesourcery.com>
! 	* config/arm/linux-eabi.h (SUBTARGET_EXTRA_LINK_SPEC): Prepend a
! 	space to string.
  
! 	2005-04-30  Paul Brook  <paul@codesourcery.com>
! 	* config/arm/bpabi.h (TARGET_DEFAULT): Define.
! 	* config/arm/linux-eabi.h (SUBTARGET_CPU_DEFAULT): Define.
  
! 	2005-03-07  Daniel Jacobowitz  <dan@codesourcery.com>
! 	* config/arm/arm.c (arm_all_abis): Add aapcs-linux.
! 	(arm_override_options): Use TARGET_AAPCS_BASED.
! 	* config/arm/arm.h (enum arm_abi_type): Add ARM_ABI_AAPCS_LINUX.
! 	(PTRDIFF_TYPE): Use int for AAPCS.
! 	(DEFAULT_SHORT_ENUMS): Use false for aapcs-linux.
! 	* config/arm/linux-eabi.h (ARM_DEFAULT_ABI, WCHAR_TYPE): Define.
! 	(DEFAULT_SHORT_ENUMS): Delete.
! 	* doc/invoke.texi (ARM Options): Document -mabi=aapcs-linux.
  
! 	2004-12-15  Daniel Jacobowitz  <dan@codesourcery.com>
! 	* config/arm/arm.h (DEFAULT_SHORT_ENUMS): Wrap in #ifndef.
! 	* config/arm/linux-eabi.h (DEFAULT_SHORT_ENUMS): Define to 0.
! 	* config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS): Set to -fPIC.
  
! 	2004-12-03  Mark Mitchell  <mark@codesourcery.com>
! 	* config/arm/linux-eabi.h (LIBGCC_SPEC): Do not define.
  
! 	2004-11-22  Mark Mitchell  <mark@codesourcery.com>
! 	* config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
!  
! 	2004-11-19  Mark Mitchell  <mark@codesourcery.com>
! 	* config.gcc (arm*-*-linux-gnueabi): Add it.
! 	* config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
! 	redefining it.
! 	(TARGET_OS_CPP_BUILTINS): Likeiwse.
! 	* config/arm/linux-eabi.h: New file.
! 	* config/arm/linux-elf.h (LINUX_TARGET_INTERPRETER): New macro.
! 	(LINUX_TARET_LINK_SPEC): Likewise.
! 	(LINK_SPEC): Use it.
! 	* config/arm/t-linux-eabi: New file.
  
! 2005-10-08  Steven Bosscher  <stevenb@suse.de>
  
! 	PR other/22202
! 	* params.def (PARAM_MAX_VARIABLE_EXPANSIONS): Remove superfluous
! 	spaces.
! 	(PARAM_SMS_DFA_HISTORY): Likewise.
  
! 2005-10-08  Kazu Hirata  <kazu@codesourcery.com>
  
! 	PR middle-end/23150
! 	* calls.c (mem_overlaps_already_clobbered_arg_p): New.
! 	(load_register_parameters): Call it.
! 	(check_sibcall_argument_overlap_1): Likewise.
! 	(store_one_arg): Likewise.
  
! 2005-10-07  James E. Wilson  <wilson@specifix.com>
  
! 	* config/ia64/vect.md (ashl<mode>3, ashr<mode>3, lshr<mode>3): Use
! 	DImode not VECINT24 for operand 2.
  
! 	PR target/23644
! 	* doc/invoke.texi (IA-64 Options, item -mtune): Renamed from
! 	-mtune-arch.
  
! 	PR target/24193
! 	* config/ia64/ia64.md (movbi, movti_internal, gr_spill_internal,
! 	fr_spill): Use destination_operand for operand 0.
  
! 2005-10-07  DJ Delorie  <dj@redhat.com>
  
! 	* varasm.c (output_constant): Limit error to expanding
! 	conversions.
  
! 2005-10-07  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/24227
! 	* fold-const.c (fold_binary): Fix operand types during folding
! 	of X op (A, Y).  Evaluation order of the side-effects of
! 	X and A are frontend-defined, so ensure we honour that even for
! 	tcc_comparison class operands; eased by removing duplicate code.
  
! 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
  
! 	* stor-layout.c (layout_type): Do not allow alignment of array
! 	elements to be greater than their size.
  
! 2005-10-07  Steve Ellcey  <sje@cup.hp.com>
  
! 	* config.host (hppa*-*-hpux*): Change out_host_hook_obj and
! 	host_xmake_file.
! 	(hppa*-*-linux*): Ditto.
! 	(ia64-*-hpux*): Add out_host_hook_obj and host_xmake_file.
! 	* config/host-hpux.c: New.
! 	* config/x-hpux: New.
! 	* config/pa/x-hpux: Remove.
! 	* config/pa/x-linux: Remove.
! 	* config/pa/pa-host.c: Remove.
  
! 2005-10-07  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (dom_opt_finalize_block): Fix conditions to
! 	determine whether or not to try and thread outgoing edges.
  
! 2005-10-07  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (eqsi_power): New.
! 	(neg_eq0si): Add TARGET_POWER to final condition.
! 	(neg_eqsi): Same.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	* config/rs6000/rs6000.c: Revert last change.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): New.
! 	(TARGET_CANNOT_FORCE_CONST_MEM): Use it.
  
! 2005-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/22216
! 	PR middle-end/23651
! 	* cfgexpand.c (tree_expand_cfg): After expanding the functions, clear
! 	out return_label and naked_return_label.
  
! 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
! 	
! 	* tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
! 	change.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/22237
! 	* tree-inline.c (declare_return_variable): Handle modify_dest not
! 	being a DECL.
  
! 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
! 	
! 	Fix PR tree-optimization/22488
! 	* tree-ssa-structalias.c (check_for_overlaps): New function.
! 	(create_variable_info_for): Use it.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/24070
! 	* dwarf2out.c (lookup_filename): Return the result of maybe_emit_file.
! 	(dwarf2out_start_source_file): Print it.
  
! 2005-10-06  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Use '+='.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	PR 23706
! 	* mode-switching.c (optimize_mode_switching): Clear transp bit
! 	for block with incomming abnormal edges.
  
! 	* config/sh/sh.c (fpscr_values, emit_fpu_switch): New.
! 	(fpscr_set_from_mem): Use them.
! 	* config/sh/sh.md (fpu_switch0, fpu_switch1): Remove.
! 	(fpscr postinc splitters): Rewrite as peephole2+split.
  
! 2005-10-06  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (eq<mode>): Add !TARGET_POWER.
! 	(eq<mode>_compare): Same.
  
! 2005-10-06  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/24238
! 	* tree-ssa-alias.c (find_used_portions): Handle RESULT_DECL.
  
! 2005-10-06  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables
! 	here.  Use AC_PATH_PROG for environment variables instead of
! 	test -x.
! 	* configure.ac: Update calls to gcc_AC_CHECK_TOOL.  Use it for
! 	objdump also.
! 	* configure: Regenerated.
  
! 2005-10-06  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23783
! 	* arm.md (call): If the address isn't a SYMBOL_REF or a register,
! 	then force it into a register.
! 	(call_value): Likewise.
  
! 2005-10-06  Richard Henderson  <rth@redhat.com>
  
! 	PR 24049
! 	* passes.c (init_optimization_passes): Move pass_lower_vector_ssa
! 	under pass_vectorize.  Clear TODO_ggc_collect from the dce pass
! 	under pass_vectorize.
  
! 2005-10-05  Devang Patel  <dpatel@apple.com>
  
! 	PR Debug/23205
! 	* dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
! 	handling constants. Check NAMESPACE_DECL context for constants.
! 	
! 2005-10-05  Eric Christopher  <echristo@apple.com>
  
! 	* doc/md.texi (Standard Names): Fix name of pushm1 pattern.
  
! 2005-10-05  Richard Henderson  <rth@redhat.com>
  
! 	PR 23714
! 	* tree-cfg.c (mark_array_ref_addressable_1): New.
! 	(mark_array_ref_addressable): New.
! 	* tree-flow.h (mark_array_ref_addressable): Declare.
! 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Use it.
  
! 2005-10-05  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/20606
! 	PR middle-end/24069
! 	* reload.c (subst_reloads): When adding a REG_LABEL to a
! 	jump instruction, also update JUMP_LABEL.
  
! 2005-10-05  David Edelsohn  <edelsohn@gnu.org>
  
! 	* params.def (PARAM_MAX_GROW_COPY_BB_INSNS): New.
! 	* bb-reorder.c (copy_bb_p): Use it.
! 	* doc/invoke.texi (param table): Add max-grow-copy-bb-insn.
  
! 2005-10-05  Richard Henderson  <rth@redhat.com>
  
! 	PR target/23602
! 	* toplev.c (process_options): Warn about unsupported combinations
! 	of unwind tables and omit-frame-pointer.
! 	* config/i386/i386.c (override_options): Similarly.  Enable
! 	accumulate-outgoing-args if not explicitly disabled.
  
! 2005-10-05  Steve Ellcey  <sje@cup.hp.com>
  
! 	* vect.md (vec_initv2si): Fix typo of V2SF to V2SI.
! 	Handle big endian vs. small endian.
! 	(vec_initv2sf): Handle big endian vs. small endian.
! 	(*vec_extractv2sf_1): Ditto.
  
! 2005-10-05  Dale Johannesen  <dalej@apple.com>
  
! 	* convert.c (convert_to_real):  Don't convert
! 	(float)floor(double d) to floorf((float)d).
  
! 2005-10-05  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* config/arm/arm.md (insv): Use gen_int_mode in more places.
  
! 2005-10-05  Andrew MacLeod  <amacleod@redhat.com>
  
! 	PR tree-optimization/18587
! 	* tree-ssa-operands.c (struct opbuild_list_d, OPBUILD_LAST): Delete.
! 	(build_defs, build_uses, build_v_may_defs, build_v_must_defs,
! 	build_vuses): Change to VEC type.
! 	(opbuild_initialize_virtual, opbuild_initialize_real, opbuild_free,
! 	opbuild_num_elems, opbuild_append_real, opbuild_append_virtual,
! 	opbuild_first, opbuild_next, opbuild_elem_real, opbuild_elem_virtual,
! 	opbuild_elem_uid, opbuild_clear, opbuild_remove_elem): Delete.
! 	(get_name_decl): New.  Return DECL_UID of base variable.
! 	(operand_build_cmp): New.  qsort comparison routine.
! 	(operand_build_sort_virtual): New.  Sort virtual build vector.
! 	(init_ssa_operands, fini_ssa_operands): Use VEC routines.
! 	(FINALIZE_OPBUILD_BASE, FINALIZE_OPBUILD_ELEM): Use VEC_Index.
! 	(FINALIZE_BASE): Use get_name_decl.
! 	(finalize_ssa_defs, finalize_ssa_uses, cleanup_v_may_defs,
! 	finalize_ssa_v_may_defs, finalize_ssa_vuses, finalize_ssa_v_must_defs,
! 	(start_ssa_stmt_operands, append_def, append_use, append_vuse,
! 	append_v_may_def, append_v_must_def): Replace opbuild_* routines with
! 	direct VEC_* manipulations.
! 	(build_ssa_operands): Call operand_build_sort_virtual.
! 	(copy_virtual_operand, create_ssa_artficial_load_stmt,
! 	add_call_clobber_ops, add_call_read_ops): Replace opbuild_* routines
! 	with direct VEC_* manipulations.
! 	* tree-ssa-opfinalize.h (FINALIZE_FUNC): Replace opbuild_* routines
! 	with direct VEC manipulations.
  
! 2005-10-05  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR tree-optimization/21419
! 	PR tree-optimization/24146
! 	PR tree-optimization/24151
  
! 	* c-typeck.c (readonly_error): Handle USE being lv_asm.
! 	(build_asm_expr): Call it if outputs are read-only.
! 	* gimplify.c (gimplify_asm_expr): Remove former fix to PR 21419.
  
! 2005-10-05  Billy Biggs  <billy.biggs@gmail.com>
! 	    Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR target/23809
  
! 	* doc/extend.texi (x86 Built-ins): Document that -msse and friends
! 	enable the instructions and not just the built-ins.
! 	* doc/invoke.texi (x86 Options): Likewise.
  
! 2005-10-04  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/i386/t-darwin (SHLIB_VERPFX): Fix typo.
  
! 	* doc/invoke.texi (Option Summary): Correct spelling
! 	of -mmacosx-version-min.
  
! 2005-10-04  Devang Patel  <dpatel@apple.com>
  
! 	* c-common.c (vector_types_convertible_p): Check TYPE_PRECISION for
! 	real types.
  
! 2005-10-04  Steve Ellcey  <sje@cup.hp.com>
  
! 	* tree-vect-transform.c (vect_create_epilog_for_reduction):
! 	Use BYTES_BIG_ENDIAN instead of BITS_BIG_ENDIAN.
  
! 2005-10-04  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.md ("TDSI","DP"): New mode macros.
! 	("TE","tg"): New mode attributes.
! 	("sync_compare_and_swap<mode>"): Replace with a define_expand.
! 	("sync_compare_and_swap<mode>_cc"): Replace GPR with TDSI.
! 	("*sync_compare_and_swap<mode>_cc"): Replace with one pattern for
! 	dword_mode and one for GPRmode.
  
! 2005-10-04  Ian Lance Taylor  <ian@airs.com>
  
! 	PR preprocessor/13726
! 	* c-ppoutput.c (cb_include): Add comments parameter, and print out
! 	any comments passed in.
  
! 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree.c (annotate_with_file_line): Fix typo.
  
! 2005-10-04  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
  
! 	PR ada/19382
! 	* builtins.c (fold_builtin_memcmp): When constructing the pointer
! 	type used to access data in the inlined length == 1 case, use
! 	build_pointer_type_for_mode with CAN_ALIAS_ALL set to true.
! 	(fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
  
! 2005-10-04  Uros Bizjak  <uros@kss-loka.si>
  
! 	* config/i386/i386.h (TARGET_FISTTP): Enable also for
! 	TARGET_SSE3 and only for TARGET_80387.
! 	* config/i386/i386.md (fix_trunc<mode>_fisttp_i387_1,
! 	(fix_trunc<mode>_i387_fisttp, fix_trunc<mode>_i387_fisttp_with_temp):
! 	Do not depend on TARGET_80387.
  
! 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree.c (last_annotated_node): Change type to location_t*.
! 	(annotate_with_file_line): Reflect the change of
! 	last_annotated_node type.
  
! 2005-10-04  Richard Guenther  <rguenther@suse.de>
  
! 	PR c/23576
! 	* c-decl.c (grokdeclarator): Don't write to fields
! 	of error_mark_node.
  
! 2005-10-04  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/23125
! 	* c-decl.c (finish_decl): Use set_user_assembler_name even for
! 	register variables.
! 	* varasm.c (make_decl_rtl): If a register variable does not
! 	have a set user assmbler name, error out.
! 	Decode the asmspec is now name+1 bypassing '*'.
  
! 2005-10-04  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/23049
! 	* tree-ssa-dom.c (thread_across_edge): Make sure that the condition
! 	of a COND_EXPR is folded before calling fold on the whole rhs of a
! 	conditional assignment.
! 	* doc/tree-ssa.texi: Update the GIMPLE grammar for a valid rhs to
! 	document that a COND_EXPR may appear there.
  
! 2005-10-03  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23445
! 	* tree-vrp.c (extract_range_from_assert): If the new numeric
! 	range created out of the assertion contradicts the existing
! 	numeric range of the ASSERT_EXPR variable, make the new range
! 	varying.
  
! 2005-10-03  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (sh_register_move_cost): Add case for moving
! 	from T_REGS to FP register class.
  
! 2005-10-03  Richard Henderson  <rth@redhat.com>
  
! 	PR 24135
! 	* tree-nested.c (convert_nl_goto_reference): Lookup a translation
! 	before creating a new one.
  
! 2005-10-03  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/t-aix43 (LDFLAGS): New.
! 	* config/rs6000/t-aix52 (LDFLAGS): New.
  
! 2005-10-03  Ian Lance Taylor  <ian@airs.com>
  
! 	* gimplify.c (find_single_pointer_decl_1): New static function.
! 	(find_single_pointer_decl): New static function.
! 	(internal_get_tmp_var): For a formal variable, set restrict base
! 	information if appropriate.
! 	* alias.c (find_base_decl): If a VAR_DECL has a restrict base,
! 	return it.
! 	* tree.h (DECL_BASED_ON_RESTRICT_P): Define.
! 	(DECL_GET_RESTRICT_BASE): Define.
! 	(SET_DECL_RESTRICT_BASE): Define.
! 	(decl_restrict_base_lookup): Declare.
! 	(decl_restrict_base_insert): Declare.
! 	(struct tree_decl_with_vis): Add based_on_restrict_p field.
! 	* tree.c (restrict_base_for_decl): New static variable.
! 	(init_ttree): Initialize restrict_base_for_decl.
! 	(copy_node_stat): Copy restrict base information.
! 	(decl_restrict_base_lookup): New function.
! 	(decl_restrict_base_insert): New function.
! 	(print_restrict_base_statistics): New static function.
! 	(dump_tree_statistics): Call print_restrict_base_statistics.
  
! 2005-10-02  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 24142
! 	* tree-vrp.c (vrp_meet): Fix call to range_includes_zero_p in
! 	case of anti-ranges.
  
! 2005-10-02  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR c/18851
! 	* c-typeck.c (tagged_tu_seen): Rename to ...
! 	(tagged_tu_seen_cache): this and add val field.
! 	(comptypes): Move functional to comptypes_internal
! 	and free tagged_tu_seen.
! 	(comptypes_internal): New function and call comptypes_internal
! 	instead of comptypes. Speed up by sibcalling
! 	tagged_types_tu_compatible_p.
! 	(alloc_tagged_tu_seen): New function
! 	(free_all_tagged_tu_seen_up_to): New function.
! 	(tagged_types_tu_compatible_p): Return the val of the seen two
! 	types.
! 	Add that the two types are the same to tagged_tu_seen_base
! 	if they are and call comptypes_internal instead of comptypes.
! 	<case UNION_TYPE>: Speed up common type where the fields are
! 	in the same order.
! 	(function_types_compatible_p): Call comptypes_internal instead of
! 	comptypes.
! 	(type_lists_compatible_p): Likewise.
! 	(all functions): s/tagged_tu_seen/tagged_tu_seen_cache/.
  
! 2005-10-02  Matthias Klose  <doko@debian.org>
  
! 	* doc/invoke.texi: Fix typo and speling error.
  
! 2005-10-01  Richard Henderson  <rth@redhat.com>
  
! 	* tree-stdarg.c (execute_optimize_stdarg): Process PHI nodes too.
  
! 2005-10-01  Mark Mitchell  <mark@codesourcery.com>
  
! 	* config/arm/unknown-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define
! 	using --start-group and --end-group.
  
! 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-vrp.c (value_inside_range, range_includes_zero_p): Add
! 	FIXME note regarding quirky semantics.
  
! 2005-10-01  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 24141
! 	* tree-vrp.c (vrp_meet): Clear VR0->EQUIV when building a
! 	non-null range as a last resort.
  
! 2005-10-01  James A. Morrison  <phython@gcc.gnu.org>
! 	    Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23604
! 	* tree-vrp.c (extract_range_from_assert): For !=
! 	assertions, only build an anti-range if LIMIT is a
! 	single-valued range.
  
! 2005-09-30  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm.md (movqi): On thumb when optimizing, handle loading from
! 	memory by describing this as taking a subreg of a zero-extended load
! 	into an SImode register.
! 	(movhi): Likewise.
  
! 2005-09-30  Daniel Jacobowitz  <dan@codesourcery.com>
  
! 	* reload1.c (merge_assigned_reloads): Do not change any
! 	RELOAD_FOR_OUTPUT_ADDRESS reloads.
  
! 2005-09-30  Geoffrey Keating  <geoffk@apple.com>
  
! 	* Makefile.in (LIPO_FOR_TARGET): Define.
! 	(STRIP_FOR_TARGET): Define.
  
! 	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Remove old symlinks
! 	before creating new ones.  Do symlinks before creating the actual
! 	targets.
  
! 	* config/t-slibgcc-darwin (libgcc_s_%.dylib): Use --print-multi-lib
! 	to work out which multilibs are actually being built.
  
! 2005-09-30  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* tree-vect-transform.c, config/ms1/ms1.md,
! 	config/s390/s390.c, config/v850/v850.md: Fix comment typos.
! 	Follow spelling conventions.
! 	* doc/invoke.texi, doc/md.texi: Fix typos.
  
! 2005-09-30  Andrew Macleod  <amacleod@redat.com>
  
! 	PR tree-optimization/21430
! 	* tree-ssa-operands.c (set_virtual_use_link): New. Link new virtual
! 	use operands, and set stmt pointer if need be.
! 	(FINALIZE_CORRECT_USE: New. Macro to call appropriate use fixup routine.
! 	tree-ssa-opfinalize.h (FINALIZE_FUNC): Call FINALIZE_CORRECT_USE if
! 	present.
  
! 2005-09-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	PR middle-end/24053
! 	* stor-layout.c (set_sizetype): Set TYPE_MAIN_VARIANT of bitsizetype.
  
! 2005-09-29  Mark Mitchell  <mark@codesourcery.com>
  
! 	* optabs.c (expand_binop): Initialize first_pass_p.
  
! 2005-09-29  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/24109
! 	* c-decl.c (c_write_global_declarations_1): If any
! 	wrapup_global_declaration_2 call returned true, restart the loop.
  
! 2005-09-29  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/24117
! 	* tree-ssa-structalias.c (find_func_aliases): Strip nops
! 	before considering whether to use anyoffset.
  
! 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	Revert this patch:
  
! 	2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
! 	to order operands.
! 	(swap_commutative_operands_with_target): New.
  
! 2005-09-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR c/21419
! 	* gimplify.c (gimplify_asm_expr): Raise an error if an output is
! 	read-only.
  
! 2005-09-29  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/23911
! 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Handle REALPART_EXPR
! 	and IMAGPART_EXPR too.
  
! 2005-09-28  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR 17886
! 	* expmed.c (expand_shift): Move logic to reverse rotation
! 	direction when 	rotating by constants ...
! 	* optabs.c (expand_binop): ... here.
! 	* config/i386/i386.md (rotrdi3): Handle 32-bit mode.
! 	(ix86_rotrdi3): New pattern.
! 	(rotldi3): Handle 32-bit mode.
! 	(ix86_rotldi3): New pattern.
  
! 2005-09-29  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/24102
! 	* config/rs6000/rs6000.md (floatdisf2_internal2): Correct range
! 	check for numbers that need no bit twiddle.
  
! 2005-09-28  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/rs6000/t-darwin8: Uncomment contents, allow -m64
! 	multilib to be built.
  
! 	* Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET.
! 	(stage1-start): Delete old libgcc and libunwind before moving
! 	anything into the stage directory.
! 	(stage2-start): Likewise.
! 	(stage3-start): Likewise.
! 	(stage4-start): Likewise.
! 	(stageprofile-start): Likewise.
! 	(stagefeedback-start): Likewise.
! 	* config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h
! 	header in tm_file and CPU-specific t-darwin in tmake_file.
! 	(i[34567]86-*-darwin*): Don't change tm_file.
! 	(powerpc-*-darwin*): Don't change tm_file or tmake_file.
! 	* config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc
! 	shared library stub for target OS version.
! 	* config/t-slibgcc-darwin (SHLIB_SOLINK): Delete.
! 	(SHLIB_LINK): Don't make SHLIB_SOLINK.
! 	(SHLIB_INSTALL): Don't install SHLIB_SOLINK.
! 	(libgcc_s.%.dylib): New.
! 	(LIBGCC): Define.
! 	(install-darwin-libgcc-stubs): New.
! 	(INSTALL_LIBGCC): New append.
! 	* config/i386/darwin-libgcc.10.4.ver: New.
! 	* config/i386/darwin-libgcc.10.5.ver: New.
! 	* config/i386/t-darwin: New.
! 	* config/rs6000/darwin-libgcc.10.4.ver: New.
! 	* config/rs6000/darwin-libgcc.10.5.ver: New.
! 	* config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete.
! 	* config/rs6000/t-darwin (SHLIB_VERPFX): Define.
  
! 2005-09-28  Paul Brook  <paul@codesourcery.com>
  
! 	* config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle
! 	denormals.
  
! 2005-09-28  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/23853
! 	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use
! 	host_integerp to verify misalignment value.
  
! 2005-09-28  Richard Henderson  <rth@redhat.com>
  
! 	* builtins.c (get_builtin_sync_mode): New.
! 	(expand_builtin_sync_operation): Pass in mode argument.
! 	(expand_builtin_compare_and_swap): Likewise.
! 	(expand_builtin_lock_test_and_set): Likewise.
! 	(expand_builtin_lock_release): Likewise.
! 	(expand_builtin): Update to match.
  
! 2005-09-28  Nick Clifton  <nickc@redhat.com>
  
! 	* config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up
! 	formatting.  Add check to PLUS case to ensure that the offset is
! 	within an acceptable range.
  
! 	* config/v850/v850.md (casesi): Disable the generation of the
! 	switch pattern as it is not being handled properly at the moment.
  
! 	* config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction
! 	for when the high words are identical.
  
! 2005-09-27  Richard Henderson  <rth@redhat.com>
  
! 	* pretty-print.c (pp_base_format): Fix typo for %>.
  
! 2005-09-27  Daniel Berlin  <dberlin@dberlin.org>
! 	    Devang Patel  <dpatel@apple.com>
  
! 	PR tree-optimization/23625
! 	* tree-flow-inline.h (bsi_after_labels): Remove, first statement is
! 	LABEL_EXPR, assertion check.
  
! 2005-09-27  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* optabs.c (no_conflict_move_test): Check if a result of a
! 	to-be-moved insn would be clobbered by an originally
! 	preceding insn.
  
! 2005-09-27  Jeff Law  <law@redhat.com>
  
! 	* passes.c (init_optimization_passes): Replace copy propagation
! 	passes immediately after DOM with phi-only copy propagation
! 	pases.  Add phi-only copy propagation pass after first DOM pass.
! 	* tree-pass.h (pass_phi_only_copy_prop): Declare.
! 	* tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
! 	If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
! 	(execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
! 	to init_copy_prop.  Callers updated.
! 	(do_phi_only_copy_prop): New function.
! 	(pass_phi_only_copy_prop): New pass descriptor.
  
! 2005-09-27  Nick Clifton  <nickc@redhat.com>
  
! 	* libgcc2.c (__popcount_tab): Remove redundant prototype.
  
! 2005-09-26  Jason Merrill  <jason@redhat.com>
  
! 	PR c++/13764
! 	* c-common.c (finish_fname_decls): Use append_to_statement_list_force.
  
! 	* doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
  
! 2005-09-26  James E Wilson  <wilson@specifix.com>
  
! 	* config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
! 	copyright.  Add gcc copyright plus libgcc exception.
! 	* config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
! 	copyright.
! 	* config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.
  
! 2005-09-26  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
! 	about when to iterate.
  
! 2005-09-23  Fariborz Jahanian <fjahanian@apple.com>
  
! 	PR target/23847
! 	* config/rs6000/rs6000.c (rs6000_function_value): Parallel pattern
! 	for __complex__ double in -mcpu=G5 mode.
  
! 2005-09-26  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/23942
! 	* Makefile.in (SCEV_H): Depends on PARAMS_H.
! 	* tree-scalar-evolution.c: Include params.h.
! 	(t_bool): New enum.
! 	(follow_ssa_edge, follow_ssa_edge_in_rhs,
! 	follow_ssa_edge_in_condition_phi_branch,
! 	follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
! 	Change return type to t_bool.  Use a parameter to limit the size of
! 	trees that are walked before stopping
! 	(analyze_evolution_in_loop): Initialize the limit to 0.
! 	(follow_ssa_edge): Give up by returning t_dont_know if the limit
! 	exceeds PARAM_SCEV_MAX_EXPR_SIZE.
  
! 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR middle-end/23831
! 	* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
! 	simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.
  
! 2005-09-26    Fariborz Jahanian <fjahanian@apple.com>
  
! 	* combine.c (make_extraction): Check for valid use of subreg.
  
! 2005-09-26  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/24055
! 	* config/i386/i386.md ("*fistdi2_1"): New pattern.
! 	("*fist<mode>2_1"): Use only HImode and SImode register operands.
! 	("fist<mode>2_with_temp"): Use only register operands.
  
! 2005-09-26  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
! 	CALL_INSN_FUNCTION_USAGE.
  
! 2005-09-26  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/15855
! 	* gcse.c: Include hashtab.h, define ldst entry hashtable.
! 	(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
! 	(ldst_entry): Use the hashtable instead of list-walking.
! 	(find_rtx_in_ldst): Likewise.
! 	(free_ldst_entry): Free the hashtable.
! 	(compute_ld_motion_mems): Create the hashtable.
! 	(trim_ld_motion_mems): Remove entry from hashtable if
! 	removing it from list.
! 	(compute_store_table): Likewise^2.
! 	(store_motion): Free hashtable in case we did not see
! 	any stores.
  
! 2005-09-25  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
! 	and arg1 if we are passing them to fold_build2.
  
! 2005-09-25  Dan Nicolaescu  <dann@ics.uci.edu>
  
! 	PR 23828
! 	* config/i386/i386.c (ix86_function_regparm): Fix the test for
! 	a nested function.
  
! 2005-09-25  Richard Henderson  <rth@redhat.com>
  
! 	* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
! 	SYMBOL_REF_TLS_MODEL to be correct.
  
! 2005-09-24  Richard Henderson  <rth@redhat.com>
  
! 	* ipa-type-escape.c (discover_unique_type): Remove dead code at
! 	end of function.  Reindent.
  
! 2005-09-24  Ian Lance Taylor  <ian@airs.com>
  
! 	* convert.c (convert_to_integer): Don't test for ENUMERAL_TYPE in
! 	NEGATE_EXPR/BIT_NOT_EXPR case.
  
! 2005-09-24  Richard Henderson  <rth@redhat.com>
  
! 	* c-common.c (handle_mode_attribute): When not modifying in place,
! 	create subtypes for enumerations.
! 	(sync_resolve_return): Use TYPE_MAIN_VARIANT.
! 	* gimplify.c (create_tmp_from_val): Likewise.
  
! 2005-09-24  Alexandre Oliva  <aoliva@redhat.com>
  
! 	* config/i386/i386.md (*tls_global_dynamic_64,
! 	*tls_local_dynamic_base_64): Add missing mode to call.
! 	(tls_global_dynamic_64, tls_local_dynamic_base_64): Likewise.
  
! 2005-09-24  Jan Hubicka  <jh@suse.cz>
  
! 	* cgraph.c (cgraph_clone_edge): Make the scale gcov_type.
! 	(cgraph_clone_node): Likewise.
! 	* cgraph.h (cgraph_clone_edge): Update prototype.
! 	(cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Remove
! 	duplicated prototypes; add updating argument.
! 	* cgraphunit.c (verify_cgraph_node): Verify that counts are non-negative.
! 	* ipa-inline.c (cgraph_clone_inlined_nodes): Allow clonning without
! 	updating profile.
! 	(cgraph_mark_inline_edge): Likewise.
! 	(cgraph_mark_inline): Update use of cgraph_mark_inline_edge.
! 	(cgraph_flatten_node): Likewise.
! 	(cgraph_decide_recursive_inlining): Likewise.
! 	(cgraph_decide_inlining_of_small_function): Likewise.
! 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
  
! 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
! 	    Pete Steinmetz <steinmtz@us.ibm.com>
  
! 	* config/rs6000/rs6000.md (neg-minus-mult): Set type to dmul.
! 	(rldic.): Set type to "compare".
! 	(rldicr.): Same.
! 	(movsf_hardfloat): Set type to mtjmpr for MTCTR/MTLR.  Set type to
! 	mfjmpr for MFCTR/MFLR.
! 	(movdf_hardfloat64): Same.
! 	(movdf_softfloat64): Same.  Correct order of store and move types.
! 	(movti_string): Set type to store_ux/load_ux.
! 	(load_multiple): Set type to load_ux.
! 	(store_multiple): Set type to store_ux.
! 	(movmemsi): Set type to store_ux.
! 	(output_cbranch direct_return): Set type to jmpreg.
! 	(stmw): Set type to store_ux.
! 	(lmw): Set type to load_ux.
! 	* config/rs6000/40x.md (ppc403-store): Increase latency to 2.
! 	* config/rs6000/440.md (ppc440-store): Increase latency to 6.
! 	* config/rs6000/603.md (ppc603-store): Occupy LSU for 2 cycles.
! 	* config/rs6000/6xx.md (ppc604-store): Increase latency to 3.
! 	* config/rs6000/mpc.md (mpccore-store): Increase latency to 2.
! 	* config/rs6000/rios1.md (rios1-store): Increase latency to 2.
! 	(rios1-fpstore): Increase latency to 3.
! 	* config/rs6000/rios2.md (rios2-store): Increase latency to 2.
! 	* config/rs6000/rs64.md (rs64a-store): Increase latency to 2.
  
! 2005-09-23  David Edelsohn  <edelsohn@gnu.org>
! 	    Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/rs6000/sync.md (sync_<fetchop_name>si_internal): Change
! 	operand2 constraint to "b".
! 	(sync_<fetchop_name>di_internal): Same.
! 	(sync_old_<fetchop_name>si_internal): Change operand3 constraint
! 	to "b".
! 	(sync_old_<fetchop_name>di_internal): Same.
! 	(sync_new_<fetchop_name>si_internal): Same.
! 	(sync_new_<fetchop_name>di_internal): Same.
  
! 2005-09-23  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR middle-end/23991
! 	* final.c (insn_default_length, insn_min_length): In !HAVE_ATTR_length
! 	case, define as macros.
  
! 	PR rtl-optimization/23837
! 	*  optabs.c (no_conflict_move_test): Don't set must_stay for a
! 	clobber / clobber match between dest and p->first.
  
! 	* optabs.c (emit_libcall_block): Use no_conflict_move_test.
! 	(no_conflict_move_test): Update comments.
  
! 2005-09-22  Ranjit Mathew  <rmathew@gcc.gnu.org>
  
! 	* doc/install.texi: Update URL for Jacks.
! 	* doc/sourcebuild.texi: Likewise.
  
! 2005-09-22  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/24007
! 	* config/rs6000/rs6000.md (movsf_hardfloat): Ignore special
! 	registers when choosing register preferences.
! 	(movdf_hardfloat64): Same.
  
! 2005-09-22  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* expmed.c (expand_shift): Don't use the target of the rotate as
! 	target for the first expanded shift insn.
! 	* testsuite/gcc.dg/20050922-1.c: Testcase added.
  
! 2005-09-21  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/22438
! 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Handle all
! 	preserved iv rhs rewriting specially.
  
! 2005-09-21  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-data-ref.c (analyze_array_indexes): Only estimate when
! 	estimate_only  is true.
! 	* tree-flow.h (ref_contains_indirect_ref): New prototype.
! 	* tree-flow-inline.h (ref_contains_indirect_ref): Moved from
! 	tree-ssa-structalias.c
! 	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Use
! 	ref_contains_indirect_ref.
! 	* tree-ssa-structalias.c (ref_contains_indirect_ref): Moved.
  
! 2005-09-21  DJ Delorie  <dj@redhat.com>
  
! 	* config/mn10300/mn10300.c (TARGET_DEFAULT_TARGET_FLAGS): Add
! 	MASK_PTR_A0D0.
! 	(mn10300_return_in_memory): Support variable size types also.
! 	(mn10300_pass_by_reference): Likewise.
! 	(mn10300_function_value): New.
! 	* config/mn10300/mn10300.h (FUNCTION_VALUE): Call the above.
! 	(FUNCTION_OUTGOING_VALUE): Likewise.
! 	* config/mn10300/mn10300.opt: Add -mreturn-pointer-on-d0.
! 	* doc/invoke.texi: Document it.
  
! 2005-09-21  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/22585
! 	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
! 	force integer op1 into register for XFmode compares.
  
! 2005-09-21  Kazu Hirata  <kazu@codesourcery.com>
  
! 	PR middle-end/23971
! 	* expmed.c (alg_code): Add alg_impossible.
! 	(alg_hash_entry): Add cost.
! 	(synth_mult): Record alg_impossible in the hash table if
! 	multiplication by a given integer is impossble within the
! 	limit.  Speed up using alg_impossible.
  
! 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-structalias.c (get_constraint_for_component_ref): Add
! 	argument.  Allow and set any offset if needs_anyoffset is passed
! 	in.
! 	(get_constraint_for): Add argument here too.
! 	Pass it down.
! 	(do_structure_copy): Pass NULL to get_constraint_for.
! 	(handle_ptr_arith): Ditto.
! 	(find_func_aliases): Ditto.
  
! 2005-09-20  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR rtl-optimization/23898
! 	* output.h (get_attr_min_length): Declare.
! 	* final.c (get_attr_length_1): New function, broken out of:
! 	(get_attr_length).
! 	(get_attr_min_length): New function.
! 	* bb-reorder.c (copy_bb_p, get_uncond_jump_length): Use it.
! 	(duplicate_computed_gotos): Likewise.
! 	* genattr.c (insn_min_length): Generate declaration.
! 	* genattrtab.c (min_fn, min_attr_value): New functions.
! 	(make_length_attrs): Generate insn_min_length.
  
! 2005-09-20  Steve Ellcey  <sje@cup.hp.com>
  
! 	* config/pa/pa.c (output_cbranch): Check for zero in operands[2].
! 
! 2005-09-20  Richard Henderson  <rth@redhat.com>
! 
! 	PR tree-optimization/24059
! 	* expr.c (expand_expr_real_1) <INDIRECT_REF>: Allow modifier
! 	EXPAND_STACK_PARM.
! 
! 2005-09-20  Joseph S. Myers  <joseph@codesourcery.com>
! 
! 	* c.opt (fextended-identifiers): New.
! 	* c-opts.c (c_common_handle_option): Handle
! 	-fextended-identifiers.
! 	* doc/cpp.texi: Update documentation of extended identifiers.
! 	* doc/cppopts.texi (-fextended-identifiers): Document.
! 
! 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR tree-optimization/23929
! 	* tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
! 	if expr is NULL.
! 
! 	PR tree-optimization/23818
! 	* tree-stdarg.c (execute_optimize_stdarg): Call
! 	calculate_dominance_info.
! 
! 2005-09-20  Daniel Berlin  <dberlin@dberlin.org>
! 
! 	* tree-data-ref.c (get_number_of_iters_for_loop): New function.
! 	(analyze_siv_subscript_cst_affine): Add weak SIV test.
! 	(compute_overlap_steps_for_affine_1_2): Use
! 	get_number_of_iters_for_loop.
! 	(analyze_subscript_affine_affine): Check whether difference is
! 	zero first.
! 	Use get_number_of_iters_for_loop.
! 	Check whether overlap occurs outside of bounds.
! 	(analyze_miv_subscript): Use get_number_of_iters_for_loop.
! 
! 2005-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* tree-ssa-address.c (create_mem_ref): Put the symbol reference into the
! 	base register if possible.
! 
! 2005-09-20  Zdenek Dvorak  <dvorakz@suse.cz>
! 
! 	PR tree-optimization/18463
! 	* tree-chrec.c (chrec_convert): Return fold_converted chrec if
! 	converting it directly is not possible.
! 	(chrec_convert_aggressive): New function.
! 	* tree-chrec.h (chrec_convert_aggressive): Declare.
! 	* tree-scalar-evolution.c (instantiate_parameters_1, resolve_mixers):
! 	Fold chrec conversions aggressively if asked to.
! 	(instantiate_parameters): Modified because of changes in
! 	instantiate_parameters_1.
! 
! 2005-09-19  Richard Henderson  <rth@redhat.com>
! 
! 	* config/i386/sse.md (reduc_splus_v4sf): Rename from reduc_plus_v4sf.
! 	(reduc_splus_v2df): New.
! 
! 2005-09-19  Richard Sandiford  <richard@codesourcery.com>
! 
! 	* config/arm/aof.h (REGISTER_NAMES): Add missing backslash.
! 	(ADDITIONAL_REGISTER_NAMES): Add missing comma.  Remove final comma.
! 
! 2005-09-19  Richard Henderson  <rth@redhat.com>
! 
! 	* config/i386/sse.md (vcondu<SSEMODE124>): Rename from
! 	vcondu<SSEMODE12>.
! 
! 2005-09-19  Richard Henderson  <rth@redhat.com>
! 
! 	* config/ia64/ia64.c (ia64_expand_widen_sum): New.
! 	(ia64_expand_dot_prod_v8qi): New.
! 	* config/ia64/ia64-protos.h: Update.
! 	* config/ia64/vect.md (pmpy2_r, pmpy2_l, widen_usumv8qi3,
! 	widen_usumv4hi3, widen_ssumv8qi3, widen_ssumv4hi3, udot_prodv8qi,
! 	sdot_prodv8qi, sdot_prodv4hi): New.
! 	(reduc_splus_v2sf): Rename from reduc_plus_v2sf.
! 
! 2005-09-19  Richard Henderson  <rth@redhat.com>
! 
! 	PR 23941
! 	* real.c (exact_real_truncate): Return false if the format cannot
! 	represent the number as a normal.
! 
! 	* config/alpha/alpha.c (alpha_rtx_costs) <FLOAT_EXTEND>: Cost 0
! 	for a memory source.
! 
! 2005-09-19  Dorit Nuzman  <dorit@il.ibm.com>
! 
! 	* tree-ssa-operands.c (swap_tree_operands): Export.
! 	* tree.h (swap_tree_operands): Declare.
! 	* tree-vectorizer.c (vect_is_simple_reduction): Remove ATTRIBUTE_UNUSED.
! 	Call swap_tree_operands.
! 
! 2005-09-19  Richard Henderson  <rth@redhat.com>
! 
! 	* tree-flow.h (merge_alias_info): Declare.
! 	* tree-ssa-copy.c (merge_alias_info): Export.
! 	* tree-vect-transform.c (vect_create_index_for_vector_ref): Remove.
! 	(vect_create_data_ref_ptr): Use create_iv directly.
! 	(vectorizable_load): Use correct types for integer constants.
! 	(vect_generate_tmps_on_preheader): Likewise.
! 	(vect_gen_niters_for_prolog_loop): Likewise.
! 
! 2005-09-19  Steven Bosscher  <stevenb@suse.de>
! 
! 	PR rtl-optimization/23943
! 	* cse.c (find_best_addr): Never propagate an EXPR_LIST rtx.
! 
! 2005-09-18  Jan Hubicka  <jh@suse.cz>
! 
! 	* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK.
! 
! 2005-09-18  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* varasm.c (output_constant): Do not abort on conversions to union
! 	types between different sizes.
! 
! 2005-09-18  Richard Guenther  <rguenther@suse.de>
! 
! 	PR middle-end/23944
! 	* gimplify.c (fold_indirect_ref_rhs): Fix thinko in
! 	fallback.
! 
! 2005-09-18  Paul Brook  <paul@codesourcery.com>
! 
! 	* config/m68k/fpgnuib.c (__floatsidf): Don't rely on signed overflow.
! 
! 2005-09-17  Richard Henderson  <rth@redhat.com>
! 
! 	* tree-pass.h, tree-flow.h, tree-ssa-dce.c: Revert last change.
! 	* tree-ssa-loop.c (pass_vect_dce): Remove.
! 	* passes.c (init_optimization_passes): Add pass_dce as a sub-pass
! 	of pass_vectorize.
! 
! 2005-09-17  Richard Henderson  <rth@redhat.com>
! 
! 	* tree-pass.h (pass_vect_dce): Declare.
! 	* passes.c (init_optimization_passes): Add it.
! 	* tree-flow.h (tree_ssa_dce): Declare.
! 	* tree-ssa-dce.c (tree_ssa_dce): Export.
! 	* tree-ssa-loop.c (tree_vectorize): Move current_loops check ...
! 	(gate_tree_vectorize): ... here.
! 	(pass_vect_dce): New.
! 
! 2005-09-17  Jan Hubicka  <jh@suse.cz>
! 
! 	* except.c (struct eh_status): Turn region_array into vec.
! 	(expand_resx_expr, collect_eh_region_array, remove_unreachable_regions,
! 	convert_from_eh_region_ranges, find_exception_handler_labels,
! 	current_function_has_exception_handlers, assign_filter_values,
! 	build_post_landing_pads, dw2_build_landing_pads,
! 	sjlj_find_directly_reachable_regions, sjlj_mark_call_sites,
! 	sjlj_emit_dispatch_table, remove_eh_handler, for_each_eh_region,
! 	foreach_reachable_handler, can_throw_internal_1,
! 	convert_to_eh_region_ranges, verify_eh_tree): Update uses of
! 	region_array.
! 	(duplicate_eh_region_1): Update region_array.
! 	(duplicate_eh_regions): Resize region_array and avoid recomputing.
! 
! 2005-09-17  David Edelsohn  <edelsohn@gnu.org>
! 
! 	PR middle-end/22067
! 	* expmed.c (expand_mult): Substitute simple register for op0 when
! 	computing max_cost.
! 
! 2005-09-17  Richard Henderson  <rth@redhat.com>
! 
! 	* expr.c (emit_move_via_integer): Add force argument, pass it on
! 	to emit_move_change_mode.  Update callers.
! 	(emit_move_complex): Pass true to new force argument.
! 	* function.c (expand_function_end): Move expand_eh_return call
! 	earlier.  Merge sub-word complex values into a pseudo before
! 	copying to the return hard register.
! 
! 2005-09-17  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* varasm.c (output_constant): Do not abort on VIEW_CONVERT_EXPRs
! 	between different sizes.
! 
! 2005-09-16  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR 23903
! 
! 	* passes.c (init_optimization_passes): Register dump files for
! 	IPA passes first.
! 
! 2005-09-16  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* config/s390/s390-protos.h (s390_overlap_p): Prototype added.
! 	* config/s390/s390.c (s390_overlap_p): New function.
! 	* config/s390/s390.md ("*mvc" peephole2, "*nc" peephole2, "*oc"
! 	peephole2, "*xc" peephole2): Added overlap check to the peephole2
! 	condition.
! 
! 2005-09-16  Richard Guenther  <rguenther@suse.de>
! 
! 	* ipa-pure-const.c (static_execute): Free auxiliar information.
! 	* ipa-type-escape.c (discover_unique_type): Free temporary key.
! 	* tree-vrp.c (remove_range_assertions): Free blocks_visited sbitmap.
! 
! 2005-09-15  DJ Delorie  <dj@redhat.com>
! 
! 	* config/m32c/m32c-lib1.S (__m32c_eh_return): Fix typo.
! 
! 2005-09-15  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* optabs.c (expand_binop): Use swap_commutative_operands_with_target
! 	to order operands.
! 	(swap_commutative_operands_with_target): New.
! 
! 2005-09-15  Daniel Berlin  <dberlin@dberlin.org>
! 
! 	* tree-data-ref.c (analyze_array_indexes): Add estimate_only
  	parameter.
+ 	Update callers.
+ 	(estimate_iters_using_array): New function.
+ 	* tree-data-ref.h (estimate_iters_using_array): Prototype
+ 	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
+ 	Use estimate_iters_using_array instead of analyze_array.
  
! 2005-09-15  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree-nested.c (get_frame_type): Mark the "non-local frame structure"
! 	as addressable.
  
! 2005-09-15  Michael Matz  <matz@suse.de>
  
! 	* tree-vrp.c (vrp_int_const_binop <MINUS_EXPR>): Handle 0 - -INF.
  
! 2005-09-14  Daniel Berlin  <dberlin@dberlin.org>
  
! 	PR tree-optimization/23835
! 	* tree-ssa-alias.c (sort_pointers_by_pt_vars): New function.
! 	(create_name_tags): Rewrite to be not O(num_ssa_names^2).
  
! 2005-09-14  Richard Henderson  <rth@redhat.com>
  
! 	* config/ia64/vect.md (addv2sf3, subv2sf3): Rewrite as expand.
! 	(addv2sf3_1, addv2sf3_2, subv2sf3_1, subv2sf3_2): New.
  
! 2005-09-14  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/i386/i386.c (contains_128bit_aligned_vector_p): Add break
! 	in the ARRAY_TYPE case.
  
! 2005-09-14  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree.c (substitute_in_expr, case 4): New case, for ARRAY_REF.
  
! 2005-09-14  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR middle-end/22480
! 	* tree-vect-transform.c (vectorizable_operation): Return false for
! 	scalar shift operations and for vector shift operations with
! 	non-invariant shift arguments.  Use scalar tree operand op1 as
! 	a shift operand when vector shift insn pattern uses scalar shift
! 	operand.
! 	* Makefile.in (tree-vect-transform.o): Depend on recog.h.
  
! 2005-09-14  Olivier Hainque  <hainque@adacore.com>
  
! 	* gimplify.c (gimplify_init_ctor_eval): Don't discard a zero-sized
! 	value if it has side-effects.
  
! 2005-09-14  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/22068
! 	* config/rs6000/rs6000.md (muldi3): Add mulli alternative.
  
! 2005-09-14  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name
! 	passed as NAME as if it were label at start of function code.
  
! 2005-09-13  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.md (*movv4sf_i): Add general register cases to
! 	the constraints.
  
! 2005-09-13  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/rs6000/darwin.md (movdf_low_si): Mark the outgoing r constraint
! 	as early clobber.  Rewrite so the PIC register is not implicitly used.
  
! 2005-09-13  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* tree.c (annotate_with_file_line): Compare line numbers before
! 	file names.
  
! 2005-09-13  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/23816
! 	* config/i386/sse.md (*ieee_sminv4sf3, *ieee_smaxv4sf3)
! 	(*ieee_sminv2df3, *ieee_smaxv2df3): New insn patterns.
  
! 2005-09-13  Ian Lance Taylor  <ian@airs.com>
  
! 	* loop-doloop.c (doloop_modify): Use GEN_INT to pass an rtx rather
! 	than a HOST_WIDEST_INT to gen_doloop_begin.
  
! 2005-09-13  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-dfa.c (dump_variable): Guard against NULL annotations.
  
! 2005-09-13  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimize/23817
! 	* tree-cfg.c (tree_merge_blocks): Preserve loop closed ssa.
  
! 2005-09-13  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/23774
! 	* config/rs6000/rs6000.md (restore_stack_block): Write the backchain
! 	word before changing the stack pointer.	 Use gen_frame_mem for MEMs.
! 	Use UNSPEC_TIE to prevent insn scheduling reordering the insns.
! 	(restore_stack_nonlocal): Likewise.
! 	(save_stack_nonlocal): Use template to emit insns, and gen_frame_mem.
  
! 2005-09-12  Ian Lance Taylor  <ian@airs.com>
  
! 	PR g++/7874
! 	* c.opt (ffriend-injection): New C++ option.
! 	* doc/invoke.texi (Option Summary): Mention -ffriend-injection.
! 	(C++ Dialect Options): Document -ffriend-injection.
  
! 2005-09-12  Josh Conner  <jconner@apple.com>
  
! 	PR middle-end/23237
! 	* ipa-reference.c (static_execute): Don't mark variables in
! 	named sections TREE_READONLY.
  
! 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/rs6000.c (get_next_active_insn): Simplify test for
! 	stack_tie.
  
! 2005-09-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree-ssa-dse.c (dse_optimize_stmt): Fix up all of V_MAY_DEF and
! 	V_MUST_DEF instead of just the first_use_p.
! 	Don't mark the virtual variables for renaming on the statement which
! 	is being removed.
! 	(pass_dse): Remove TODO_update_ssa.
  
! 2005-09-12  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR middle-end/23290
! 	* stor-layout.c (compute_record_mode): For records with a single
! 	field, actually check the field's mode size against the type size.
  
! 	* sh.h (HARD_REGNO_MODE_OK): Allow V4SFmode in general purpose
! 	registers for TARGET_SHMEDIA.
! 	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Rename
! 	GENERAL_FP_REGS to GENERAL_DF_REGS.  Add GENERAL_FP_REGS as union
! 	of GENERAL_REGS and FP_REGS.
  
! 2005-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.c (legimitize_pic_address): Use gen_const_mem.
  
! 2005-09-12  Alan Modra  <amodra@bigpond.net.au>
  
! 	* config/rs6000/rs6000.c (get_next_active_insn): Rewrite using
! 	CALL_P, JUMP_P and NONJUMP_INSN_P, so that barriers and labels
! 	are omitted.  Exclude stack_tie insn too.
  
! 2005-09-11  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR rtl-optimization/23098
! 	* config/rs6000/predicates.md (easy_fp_constant): SFmode constant
! 	0.0f is easy.
! 	* config/rs6000/rs6000.md (movdf splitter): Use
! 	const_double_operand predicate for TARGET_POWERPC64.
! 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Expand
! 	SYMBOL_REF method to ABI_V4.
  
! 	* config/rs6000/altivec.md (build_vector_mask_for_load): Use
! 	replace_equiv_address.
! 	* config/rs6000/rs6000.c (rs6000_emit_eh_reg_restore): Mark MEM as
! 	rs6000_sr_alias_set and MEM_NOTRAP.
! 	(rs6000_aix_emit_builtin_unwind_init): Use gen_frame_mem().
  
! 2005-09-11  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* tree.c (contains_placeholder_p) <tcc_expression>: Properly
! 	handle CALL_EXPR again.
  
! 2005-09-11  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm/predicates.md (alignable_memory_operand): Delete.
  
! 2005-09-10  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/23806
! 	* dbxout.c (dbxout_expand_expr): New.
! 	(dbxout_symbol): Use it.
  
! 2005-09-10  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm.c (arm_gen_rotated_half_load): Delete.
! 	(vfp_emit_fstmx, arm_set_return_address): Use gen_frame_mem.
! 	(emit_multi_reg_push, emit_sfm, arm_expand_prologue)
! 	(thumb_set_return_address): Likewise.
! 	(thumb_load_double_from_address): Use adjust_address.
! 	* arm.md (splits calling arm_gen_rotated_half_load): Delete.
! 	(extendhsisi2_mem, movhi_bytes): Use change_address.
! 	(movhi): Use widen_memory_access.
! 	(reload_out_df): Use replace_equiv_address.
! 	* arm-protos.h (arm_gen_rotated_half_load): Delete prototype.
  
! 2005-09-09  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/20998
! 	* dbxout.c: Include expr.h.
! 	(dbxout_global_decl): Don't suppress for DECL_RTL unset.
! 	(dbxout_symbol): Handle DECL_VALUE_EXPR.
! 	* Makefile.in (dbxout.o): Add EXPR_H.
  
! 2005-09-09  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/23509
! 	* tree-cfg.c (replace_uses_by): Use replace_exp.
! 	* tree-ssa-loop-ivopts.c (get_ref_tag): Assert that dereferenced
! 	pointers have name_mem_tag or type_mem_tag set.
  
! 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* tree-chrec.c (evolution_function_is_invariant_rec_p): Use
! 	CHREC_LEFT and CHREC_RIGHT for accessing chrec components instead
! 	of wrongly accessing operands.
  
! 2005-09-09  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* Makefile.in (tree-chrec.o): Depends on SCEV_H.
! 	* tree-chrec.c: Include tree-scalar-evolution.h.
! 	(chrec_convert): Instantiate the base and step before calling
! 	scev_probably_wraps_p that would fail on parametric evolutions.
! 	Collect all the fails into a single section failed_to_convert,
! 	print a diagnostic, and return chrec_dont_know instead of calling
! 	fold_convert.
! 	* tree-scalar-evolution.c (loop_closed_phi_def): New.
! 	(instantiate_parameters_1): Avoid instantiation of loop closed ssa
! 	phi nodes.
! 	(scev_const_prop): Don't replace the definition of a loop closed ssa
! 	phi node by itself, or by another loop closed ssa phi node.
! 	* tree-ssa-loop-niter.c (scev_probably_wraps_p, convert_step): Check
! 	that base and step are defined.
  
! 2005-09-09  Richard Guenther  <rguenther@suse.de>
  
! 	PR c++/23624
! 	* fold-const.c (fold_ternary): Check truth_value_p before
! 	calling invert_truthvalue.
  
! 2005-09-09  Nick Clifton  <nickc@redhat.com>
  
! 	* Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
! 	* libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed
! 	dimension of these arrays.
! 	* libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of
! 	these arrays.
! 	* longlong.h: Only provide a prototype for the __clz_tab[] array
! 	if this header has not been included from libgcc2.h.
! 	* config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than
! 	defining own types.
! 	Provide prototypes for exported functions.
! 	Use the __clz_tab[] and __popcount_tab[] arrays provided by
! 	libgcc2.c.
  
! 2005-09-08  Josh Conner  <jconner@apple.com>
  
! 	PR c++/21135
! 	PR c++/23180
! 	* expr.c (expand_expr_addr_expr_1): Don't invoke
! 	expand_simple_binop for EXPAND_INITIALIZER.
  
! 2005-09-08  Richard Henderson  <rth@redhat.com>
  
! 	PR debug/23190
! 	* toplev.c (wrapup_global_declaration_1): Split out ...
! 	(wrapup_global_declaration_2): ... from ...
! 	(wrapup_global_declarations): ... here.  Return bool.
! 	(check_global_declaration_1): Split out ...
! 	(check_global_declarations): from here.
! 	(emit_debug_global_declarations): New.
! 	* toplev.h (wrapup_global_declaration_1, wrapup_global_declaration_2,
! 	check_global_declaration_1, emit_debug_global_declarations): Declare.
! 	* c-decl.c (c_write_global_declarations_1): Don't create a vector
! 	of decls.  Call wrapup_global_declaration_1,
! 	wrapup_global_declaration_2, check_global_declaration_1 directly.
! 	(c_write_global_declarations_2): New.
! 	(ext_block): New.
! 	(c_write_global_declarations): Call c_write_global_declarations_2.
! 	* langhooks.c (write_global_declarations): Call
! 	emit_debug_global_declarations.
  
! 	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Don't
! 	remove decls that have DECL_RTL_SET_P.
! 	* passes.c (rest_of_decl_compilation): Invoke
! 	cgraph_varpool_finalize_decl for all but functions.
  
! 2005-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* tree-vrp.c (extract_range_from_unary_expr): Do not set the range for
! 	the result of a conversion if the new min and max cannot be compared.
  
! 2005-09-08  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (s390_sr_alias_set): Variable removed.
! 	(override_options): Setting s390_sr_alias_set removed.
! 	(save_fpr, save_gprs): Set alias set to vararg or frame.
! 	(restore_fpr, restore_gprs, s390_emit_prologue): Replace
! 	s390_sr_alias_set with get_frame_alias_set ().
! 	(s390_gimplify_va_arg): Replace s390_sr_alias_set with
! 	get_varargs_alias_set ().
  
! 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR objc/20574
! 	PR objc/19324
! 	* c-parser.c (c_parser_objc_method_definition): If the next
! 	token is not "{", error out and don't start the function.
  
! 2005-09-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree-vrp.c (extract_range_from_expr): Move the check for non
! 	nullness after the check for gimple invariant.
  
! 2005-09-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	* tree.c (host_integerp, tree_low_cst): Correct function comment.
  
! 2005-09-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	PR target/23747
! 	* config/m32r.md (movmemsi_internal): Canonicalize order of
! 	operands in PLUS component of template.
  
! 2005-09-07  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* reload1.c (fixup_eh_region_note): Remove assertion.
! 	(fixup_abnormal_edges): Reverted removal of call to
! 	find_many_sub_basic_blocks made on 2005-08-31.
  
! 2005-09-07  Richard Henderson  <rth@redhat.com>
  
! 	* function.c (ARG_POINTER_CFA_OFFSET): Move ...
! 	* defaults.h (ARG_POINTER_CFA_OFFSET): ... here.
! 	(INCOMING_FRAME_SP_OFFSET): Move from dwarf2out.c.
! 	* dwarf2out.c (struct cfa_loc): Change reg to unsigned int,
! 	rearrange for better packing.
! 	(INCOMING_FRAME_SP_OFFSET): Move to defaults.h.
! 	(lookup_cfa_1): Remove inline marker.
! 	(cfa_equal_p): Split out of ...
! 	(def_cfa_1): ... here.  Use INVALID_REGNUM.
! 	(build_cfa_loc): Handle !cfa->indirect.
! 	(frame_pointer_cfa_offset): New.
! 	(dbx_reg_number): Assert register elimination performed; do
! 	leaf register remapping.
! 	(reg_loc_descriptor): Avoid calling dbx_reg_number when unused.
! 	(eliminate_reg_to_offset): New.
! 	(based_loc_descr): Remove can_use_fbreg argument.  Use fbreg only
! 	for verifiably local stack frame addresses; re-base to CFA.
! 	(mem_loc_descriptor): Remove can_use_fbreg argument.
! 	(concat_loc_descriptor, loc_descriptor): Likewise.
! 	(containing_function_has_frame_base): Remove.
! 	(rtl_for_decl_location): Don't do register elimination or
! 	leaf register remapping here.
! 	(secname_for_decl): Split out from ..
! 	(add_location_or_const_value_attribute): ... here.
! 	(convert_cfa_to_loc_list): New.
! 	(compute_frame_pointer_to_cfa_displacement): New.
! 	(gen_subprogram_die): Use them.
! 	* tree.h (frame_base_decl): Remove.
! 	* var-tracking.c (frame_base_decl, frame_stack_adjust): Remove.
! 	(prologue_stack_adjust): Remove.
! 	(vt_stack_adjustments): Use INCOMING_FRAME_SP_OFFSET.
! 	(adjust_stack_reference): Re-base memories to arg_pointer_rtx.
! 	(set_frame_base_location): Remove.
! 	(compute_bb_dataflow, emit_notes_in_bb): Don't call it.
! 	(dump_attrs_list, dump_dataflow_set): Use string concatenation.
! 	(vt_add_function_parameters): Don't eliminate_regs.
! 	(vt_initialize): Don't create frame_base_decl.
  
! 2005-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/install.texi (*-*-solaris2*): Clarify wording on the recommended
! 	version of GNU binutils for 4.x and later.
  
! 2005-09-06  Mark Mitchell  <mark@codesourcery.com>
  
! 	* ggc-page.c (ggc_push_context): Remove.
! 	(ggc_pop_context): Likewise.
! 	* ggc.h (ggc_push_context): Remove.
! 	(ggc_pop_context): Likewise.
  
! 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
  
! 	PR target/8973
! 	* config/arc/arc.c (arc_output_function_epilogue): Update flags while
! 	returning from an interrupt handler.
  
! 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
  
! 	PR target/8972
! 	* config/arc/arc.c (output_shift): Add check for loop count when
! 	optimizing.
  
! 2005-09-06  Steven Bosscher  <stevenb@suse.de>
  
! 	* tree-ssa-phiopt.c (conditional_replacement): Construct proper SSA
! 	form manually.
! 	(abs_replacement): Likewise.
! 	(pass_phiopt): Remove TODO_update_ssa.
  
! 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR c/23075
! 	* c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR
! 	if "return with no value, in function returning non-void" warning
! 	has been issued.
! 	* tree-cfg.c (execute_warn_function_return): Don't look at
! 	RETURN_EXPRs with TREE_NO_WARNING set.
  
! 	PR target/22362
! 	* config/i386/i386.c (ix86_function_regparm): Make sure automatic regparm
! 	for internal functions doesn't use registers used by global registers
! 	variables.  Use fewer register parameters if there are global register
! 	variables.
  
! 2005-09-06  Olivier Hainque  <hainque@adacore.com>
! 	    Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR middle-end/14997
! 	* expr.c (expand_expr_real) <normal_inner_ref>: Force op0 to mem
! 	when we would be extracting outside its bit span (bitpos+bitsize
! 	larger than its mode), possible with some VIEW_CONVERT_EXPRs from
! 	Ada unchecked conversions.
  
! 2005-09-06  Steven Bosscher  <stevenb@suse.de>
  
! 	* tree-ssa-pre.c (try_look_through_load): New function.
! 	(compute_avail): Use it to try to look through loads for some
! 	more useful expressions.
  
! 2005-09-06  Saurabh Verma  <saurabh.verma@codito.com>
  
! 	* simplify-rtx.c (simplify_binary_operation_1): Correct the
! 	condition for detecting cases like (a&a) and (a^a).
  
! 2005-09-06  Keith Besaw  <kbesaw@us.ibm.com>
  
! 	* common.opt: Add option ftree-vect-loop-version.
! 	* params.def: Add --param vect-max-version-checks.
! 	* doc/invoke.texi: Document ftree-vect-loop-version and
! 	--param vect-max-version-checks.
! 	* tree-vectorizer.h (_loop_vec_info): Add ptr_mask and
! 	may_misalign_stmts and defines for accessors.
! 	* tree-vectorizer.c : (new_loop_vec_info): VEC_alloc for
! 	LOOP_VINFO_MAY_MISALIGN_STMTS.
! 	(destroy_loop_vec_info): VEC_free for
! 	LOOP_VINFO_MAY_MISALIGN_STMTS.
! 	* tree-vect-analyze.c (vect_compute_data_ref_alignment):
! 	Update documentation.
! 	(vect_update_misalignment_for_peel): New.
! 	(vect_enhance_data_refs_alignment): Update to choose loop
! 	peeling or loop versioning if appropriate for the (potentially)
! 	unaligned data references in the loop.
! 	(vect_analyze_data_refs_alignment): Remove call to
! 	vect_enhance_data_refs_alignment so the checks can be done
! 	earlier.
! 	(vect_analyze_loop): Add call to vect_enhance_data_refs_alignment
! 	and move up call to vect_analyze_data_refs_alignment.
! 	* tree-vect-transform.c (vect_create_cond_for_align_checks): New.
! 	(vect_transform_loop): Add call to loop_version.
  
! 2005-09-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23098
! 	* cse.c (fold_rtx_mem): Call delegitimize_address target hook.
! 	* simplify-rtx.c (constant_pool_reference_p): New function.
! 	* rtl.h (constant_pool_reference_p): New prototype.
! 	* config/i386/i386.md (pushf split, mov[sdx]f split): Use
! 	constant_pool_reference_p in condition and
! 	avoid_constant_pool_reference in preparation statements.
  
! 2005-09-06  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* gcse.c (try_replace_reg): Disallow REG_EQUAL notes for
! 	STRICT_LOW_PART SETs.
  
! 2005-09-06  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR middle-end/21460
! 	* except.c (sjlj_emit_function_enter): Find the function begin
! 	note even when it's not in first basic block.
  
! 2005-09-06  Kelley Cook  <kcook@gcc.gnu.org>
  
! 	* acinclude.m4: Renamed from aclocal.m4.  Delete AM_LANGINFO_CODESET,
! 	AM_PROG_CC_C_O, and AM_AUX_DIR_EXPAND.
! 	* aclocal.m4: Regenerate.
  
! 2005-09-05  DJ Delorie  <dj@redhat.com>
  
! 	* config/m32c/m32c.h (TRAMPOLINE_ALIGNMENT): Correct misspelling
! 	of macro.
  
! 2005-09-06  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* gimplify.c, ipa-prop.h, varasm.c, config/vxlib.c,
! 	config/vxworks.h, config/crx/crx.c, config/ms1/ms1.c,
! 	config/ms1/ms1.md, config/rs6000/rs6000.c: Fix comment typos.
! 	Follow spelling conventions.
! 	* doc/invoke.texi: Follow spelling conventions.
  
! 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* rtl.h (gen_frame_mem, gen_tmp_stack_mem): Declare.
! 	* emit-rtl.c (gen_frame_mem, gen_tmp_stack_mem): New functions.
! 	* builtins.c (expand_builtin_return_addr): Use gen_frame_mem.
  
! 2005-09-05  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR target/23683
! 	* sh.c (sh_reorg, emit_load_ptr): Use gen_const_mem.
! 	(output_stack_adjust): Use gen_tmp_stack_mem.
! 	(sh_expand_prologue, sh_expand_epilogue): Use gen_frame_mem.
! 	(sh_set_return_address, sh_allocate_initial_value): Likewise.
! 	(sh_get_pr_initial_val): Likewise.
! 	(sh_builtin_saveregs): Use gen_frame_mem and change_address.
! 	(sh_initialize_trampoline): Likewise.  Also use adjust_address.
! 	* sh.md (divsi_inv_m0): Use gen_const_mem.
! 	(push_fpscr, pop_fpscr, load_ra): Use gen_frame_mem.
! 	(movdf_i4+1): Use gen_tmp_stack_mem.
! 	(reload_outdf+3, reload_outdf+4, fpu_switch+1): Use change_address.
! 	(fpu_switch+2): Likewise.
! 	(movv4sf_i, movv16sf_i): Use adjust_address.
! 	(symGOT_load): Set MEM_NOTRAP_P bit.
  
! 2005-09-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/23721
! 	* pa.c (emit_move_sequence): Fix typo in last change.
  
! 2005-09-03  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23454
! 	* reorg.c (relax_delay_slots): Only call invert_jump if any_condjump_p
! 	is true.
  
! 2005-09-03  Richard Henderson  <rth@redhat.com>
! 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/23671
! 	* pa.c (emit_move_sequence): Use replace_equiv_address instead of
! 	gen_rtx_MEM.
  
! 2005-09-02  Nicolas Pitre <nico@cam.org>
  
! 	* config/arm/arm.c (arm_legitimize_address): Limit the value passed
! 	to bit_count to 32 bits.
  
! 2005-08-31  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR c++/23167
! 	* gimplify.c (gimplify_expr): Handle TREE_ADDRESSABLE types when
! 	generating synthetic loads from volatile lvalues.
  
! 005-09-02  Nick Clifton  <nickc@redhat.com>
  
! 	* config/stormy16/stormy16-lib2.c (__popcounthi2, __parityhi2,
! 	__ctzhi2, __clzhi2): New functions.
  
! 2005-09-02  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/23547
! 	* tree-nested.c (struct var_map_elt): Mark with GTY.
! 	(struct nesting_info): Mark with GTY.  Mark var_map's param is struct
! 	var_map_elt.
! 	(lookup_field_for_decl): Allocate new element in GC memory.
! 	(lookup_tramp_for_decl): Likewise.
! 	(convert_nl_goto_reference): Likewise
! 	(create_nesting_tree): Allocate info in GC memory. Likewise for
! 	info->var_map.
! 	(free_nesting_tree): Free with ggc_free instead of free.
! 	(root): New static variable.
! 	(lower_nested_functions): Remove root as local variable.  And zero out
! 	root at the end of the function.
  
! 2005-09-02  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR rtl-optimization/20365
! 	* simplify-rtx.c (simplify_plus_minus_op_data): Change type of neg
! 	to short.  New member ix.
! 	(simplify_plus_minus_op_data_cmp): Break ties using ix member.
! 	(simplify_plus_minus): Initialize ix members before calling qsort.
  
! 2005-09-02  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/23626
! 	* tree-cfg.c (replace_uses_by): Clean up eh info.
  
! 2005-09-01  DJ Delorie  <dj@redhat.com>
  
! 	* config/m32c/m32c.c (m32c_valid_pointer_mode): Remove stray debug
! 	fprintf.
  
! 2005-09-01  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.c (setup_incoming_varargs): Set MEM_NOTRAP_P.
! 	(rs6000_split_multireg_move): Use replace_equiv_address instead of
! 	gen_rtx_MEM.
  
! 2005-09-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
  
! 	* c-decl.c (diagnose_mismatched_decls):  With -Wredundant-decls,
! 	do not issue warning for a variable definition following
! 	a declaration.
  
! 2005-09-01  Richard Henderson  <rth@redhat.com>
  
! 	PR 23668
! 	* config/i386/i386.c (ix86_expand_vector_init_one_var): Restore
! 	conversion to CONST_VECTOR.
  
! 2005-09-01  Richard Henderson  <rth@redhat.com>
  
! 	PR 23676
! 	* reload1.c (reload_as_needed): Check !CALL_P before calling
! 	fixup_eh_region_note.
! 	* rtlanal.c (may_trap_p): SUBREG by itself cannot trap.
  
! 2005-09-01  DJ Delorie  <dj@redhat.com>
  
! 	* varasm.c (output_constant): Let the target resolve
! 	conversions of addresses to non-default pointer sizes.
  
! 2005-09-01  Nicolas Pitre <nico@cam.org>
  
! 	* config/arm/arm.c (arm_legitimize_address): Split absolute addresses
! 	to alow matching ARM pre-indexed addressing mode.
! 	(arm_override_options): Remove now irrelevant comment.
  
! 2005-09-01  Phil Edwards  <phil@codesourcery.com>
  
! 	* config.gcc (i*86-wrs-vxworks):  Update.  Split out vxworksae target.
! 	* config/i386/t-vxworks:  Update multilibs for VxWorks 6 and RTP mode.
! 	* config/i386/vxworks.h:  Likewise.
! 	* config/i386/t-vxworksae:  New file, for VxWorks AE.
! 	* config/i386/vxworksae.h:  Likewise.
  
! 2005-09-01  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/23410
! 	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Check that the
! 	sequence is not wrapping during the first step.
  
! 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR debug/7241
! 	* dwarf2out.c (base_type_die): Compare char_type_node with
! 	TYPE_MAIN_VARIANT (type), not type.
  
! 2005-09-01  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/15366
! 	* common.opt: Add -finline-functions-called-once.
! 	Put -fearly-inlining in alphabetically ordered place.
! 	* doc/invoke.texi: Document new option.
! 	* ipa-inline.c (cgraph_decide_inlining): Honour
! 	flag_inline_functions_called_once.
  
! 2005-09-01  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23478
! 	* local-alloc.c (struct qty): Add n_throwing_calls_crossed field.
! 	(alloc_qty): Initialize it.
! 	(update_equiv_regs): Clear REG_N_THROWING_CALLS_CROSSED.
! 	(combine_regs): Combine also n_throwing_calls_crossed fields.
! 	(find_free_reg): Don't attempt to caller-save pseudos crossing
! 	calls that might throw.
! 	* global.c (struct allocno): Add throwing_calls_crossed field.
! 	(global_alloc): Revert 2005-08-22 change.  Initialize
! 	throwing_calls_crossed.
! 	(find_reg): Don't attempt to caller-save pseudos crossing calls that
! 	might throw.
  
! 2005-09-01  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/23649
! 	* config/rs6000/predicates.md (mask_operand): Only handle rlwinm masks.
! 	(mask64_operand): Reinstate code prior to 2005-06-11 change.
! 	(mask64_2_operand): Reinstate code prior to 2004-11-11 change.
! 	(and64_2_operand): Tweak to use predicate.
! 	(and_operand): Adjust for mask_operand changes.
! 	* config/rs6000/rs6000.c (num_insns_constant): Revert 2005-06-11.
! 	(print_operand): Likewise.
! 	(rs6000_rtx_costs): Pass mode to mask_operand and use mask64_operand.
! 	(mask64_1or2_operand): Delete.
! 	* rs6000/rs6000-protos.h (mask64_1or2_operand): Delete.
! 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT <S>): Revert 2005-06-11.
! 	(EXTRA_CONSTRAINT <T>): Pass operand mode to predicate.
! 	(EXTRA_CONSTRAINT <t>): Disallow mask64_operand matches.
! 	* config/rs6000/rs6000.md (andsi3_internal3 split): Revert 2005-06-11.
! 	(rotldi3_internal4): Likewise.
! 	(rotldi3_internal5, rotldi3_internal5 split): Likewise.
! 	(rotldi3_internal6, rotldi3_internal6 split): Likewise.
! 	(ashldi3_internal7): Likewise.
! 	(ashldi3_internal8, ashldi3_internal8 split): Likewise.
! 	(ashldi3_internal, ashldi3_internal9 split): Likewise.
! 	(anddi3 split): Don't match mask64_operand.
! 	(anddi3_internal2): Add rlwinm.  Modify 't' splitter predicate.
! 	(anddi3_internal3): Add rlwinm.  Use and64_2_operand in non-cr0
! 	splitter and match TARGET_64BIT not TARGET_POWERPC64.  Modify
! 	't' splitter predicate.
! 	(movdi_internal64 + 2): Revert 2005-06-11 change.
  
! 2005-08-31  DJ Delorie  <dj@redhat.com>
  
! 	* config/m32c/m32c.c (m32c_valid_pointer_mode): New.
! 	(m32c_asm_integer): Add support for 32 bit pointers.
  
! 2005-08-31  Richard Henderson  <rth@redhat.com>
  
! 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Look through
! 	component-like references for setting MEM_NOTRAP_P.
  
! 	* config/i386/i386.c (ix86_setup_incoming_varargs): Set MEM_NOTRAP_P.
! 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Likewise.
  
! 2005-08-31  Richard Henderson  <rth@redhat.com>
  
! 	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Force subregs
! 	into a pseudo before applying gen_lowpart.
  
! 2005-08-31  Geoffrey Keating  <geoffk@apple.com>
  
! 	* doc/install.texi (Specific): Update cctools version required
! 	for full functionality.
! 	* config/darwin.h (LINK_SPEC): Pass -mmacosx-version-min to the
! 	linkers as -macosx_version_min.
  
! 2005-08-31  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR target/21255
! 	* sh.c (print_operand, %R and %S): Add handling of floating point
! 	registers, memory, constants and invalid operands.
  
! 2005-08-31  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* ipa-pure-const.c: Change dump name.
  
! 2005-08-31 Uros Bizjak <uros@kss-loka.si>
  
! 	PR target/23570
! 	* config/i386/sse.md (*sse_concatv2sf): Change operand 2 constraint
! 	to "reg_or_0_operand".
! 	(sse2_loadld): Change operand 1 constraint to "reg_or_0_operand".
  
! 2005-08-31  Dale Johannesen  <dalej@apple.com>
  
! 	* loop-iv.c (iv_number_of_iterations):  Fix overflow check for
! 	loops that count down.
  
! 2005-08-31  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/23601
! 	* reload1.c (reload): Set MEM_NOTRAP_P in spill slots.
! 	(fixup_eh_region_note): New.
! 	(reload_as_needed): Call it.
! 	(fixup_abnormal_edges): Allow all throwing insns to be deleted;
! 	don't call find_many_sub_basic_blocks; call verify_flow_info.
! 	* function.c (assign_stack_local_1): Set MEM_NOTRAP_P.
! 	(keep_stack_depressed): Likewise.
! 	(assign_stack_temp_for_type): Likewise; use adjust_address_nv.
  
! 2005-08-31  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix test for
! 	fp return matching.
  
! 2005-08-31  Fariborz Jahanian <fjahanian@apple.com>
  
! 	* expr.c (expand_expr_real_1): Compare size of address
! 	mode to target's address mode size in deciding expansion of
! 	the constant address.
  
! 2005-08-31  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/23477
! 	* expr.c (all_zeros_p): New function.
! 	(expand_expr_real_1): Handle the case of an all-zero
! 	non-addressable constructor separately.
  
! 2005-08-31  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* builtins.c: (expand_builtin_strcpy, expand_builtin_strcat): Change
! 	arguments, adjust all callers.
! 	(expand_builtin_strcat): Rewrite to call strcpy instead of mempcpy.
  
! 2005-08-30  Richard Henderson  <rth@redhat.com>
  
! 	PR target/23630
! 	* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Use gen_lowpart
! 	whenever the mode sizes match.
  
! 2005-08-31  Alan Modra  <amodra@bigpond.net.au>
  
! 	* calls.c (load_register_parameters): Fix comment typo.
! 	* expr.c (emit_push_insn): Comment formatting.
  
! 2005-08-30  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/i386/x-cygwin (host-cygwin): Change dependency from
! 	hosthooks-def.h to $(HOSTHOOKS_DEF_H).
  
! 2005-08-29  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/i386/i386.c (ix86_expand_vector_init_one_var): Don't modify
! 	parts of 'vals'.
  
! 2005-08-29  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/23408
! 	* ipa-inline.c (cgraph_decide_inlining_incrementally): Remove the
! 	call to ggc_collect.
  
! 2005-08-29  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR bootstrap/21268
! 	* Makefile.in (ALL_CPPFLAGS): Include $(INCLUDES) at the
! 	beginning.  Remove $(INCLUDES) from all the rules, if following
! 	$(ALL_CPPFLAGS) or $(BUILD_CPPFLAGS).
  
! 2005-08-29  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR middle-end/23484
! 	* builtins.c (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
! 	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk): If len is
! 	not constant, but maxlen is, don't set len to maxlen, rather
! 	set maxlen to len if len is a constant.
  
! 2005-08-29  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/23475
! 	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Update frequencies
! 	and counts.
  
! 2005-08-28  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR middle-end/22455
  
! 	* fold-const.c (fold_checksum_tree): Adjust for now-largest tree size.
! 	Checksum only the parts of the tree that exist for the tree code.
  
! 2005-08-28  Dale Johannesen  <dalej@apple.com>
  
! 	* config/i386/i386.c (nocona_cost):  Increase MOVE_RATIO.
  
! 2005-08-28  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree-vrp.c: Remove obsolete comment in front of vrp_initialize.
  
! 2005-08-28  Richard Henderson  <rth@redhat.com>
  
! 	* stor-layout.c (finalize_type_size): Revert workaround from 08-26.
! 	* tree.c (make_node_stat): Use BITS_PER_UNIT instead of alignment
! 	of char_type_node.
  
! 2005-08-28  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR ada/23593
! 	* builtins.c (get_memory_rtx): Don't strip nops
! 	in between COMPONENT_REFs.
  
! 2005-08-27  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR middle-end/23463
! 	* gimplify.c (gimplify_modify_expr_rhs): Remove check for zero sized
! 	types.
! 	(gimplify_modify_expr): Check for zero sized types and gimplify the
! 	rhs and lhs as statements.
! 
! 2005-08-27  John David Anglin  <dave.anflin@nrc-cnrc.gc.ca>
! 
! 	PR libgcj/23508
! 	* pa/linux-unwind.h (pa32_fallback_frame_state): Use r0 slot in frame
! 	state for return address column of signal frames.
! 
! 2005-08-27  David Edelsohn  <edelsohn@gnu.org>
! 
! 	PR target/23539
! 	* config/rs6000/rs6000.c (expand_block_clear): Use HImode when
! 	bytes >= 2 not bytes == 2.
! 	(expand_block_move): Same.
! 
! 2005-08-27  Richard Guenther  <rguenther@suse.de>
! 
! 	PR target/23575
! 	* config/i386/sse.md (sse2_movsd): Add missing closing
! 	braces.
! 
! 2005-08-27  Paul Brook  <paul@codesourcery.com>
! 
! 	* genrecog.c (enum decision_type): Add DT_num_insns.
! 	(struct decision_test): Add u.num_insns.
! 	(add_to_sequence): Add DT_num_insns test.
! 	(maybe_both_true_2, nodes_identical_1): Handle DT_num_insns.
! 	(write_cond, debug_decision_2): Ditto.
! 	(change_state): Assume peep2_next_insn never fails.
! 	Remove "afterward" argument.
! 	(write afterward, write_tree): Update to match.
! 	* recog.c (peep2_current_count): New variable.
! 	(peep2_next_insn): Check it.
! 	(peephole2_optimize): Set peep2_current_count.
! 	* recog.h (peep2_current_count): Declare.
! 
! 2005-08-26  Josh Conner  <jconner@apple.com>
! 
! 	PR middle-end/23584
! 	* ipa-pure-const.c (check_tree): Check for volatile-ness
! 	when considering a dereference.
! 
! 2005-08-27  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* rtl.h (MEM_IN_STRUCT_P): Fix comment typo.
! 
! 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR rtl-optimization/23561
! 	* builtins.c (get_memory_rtx): Add LEN argument.  If MEM_EXPR is
! 	a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
! 	at most LEN bytes long memory fits into the field.
! 	(expand_builtin_memcpy, expand_builtin_mempcpy, expand_movstr,
! 	expand_builtin_strncpy, expand_builtin_memset, expand_builtin_memcmp,
! 	expand_builtin_strcmp, expand_builtin_strncmp): Adjust callers.
! 
! 2005-08-26  Richard Henderson  <rth@redhat.com>
! 
! 	PR rtl-opt/23560
! 	* loop.c (biased_biv_may_wrap_p): New.
! 	(maybe_eliminate_biv_1): Use it to suppress non-equality
! 	comparison transformations.  Delete disabled code.
! 
! 2005-08-26  Ian Lance Taylor  <ian@airs.com>
! 
! 	* combine.c (make_extraction): Avoid reference outside object.
! 
! 2005-08-26  J"orn Rennecke <joern.rennecke@st.com>
! 
! 	* stor-layout.c (finalize_type_size): Restore behaviour for
! 	non-aggregate types to the status quo ante of the patch for
! 	pr 23467.  Document why it matters.
! 
! 2005-08-26  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR c/23506
! 	* c-common.c (c_common_nodes_and_builtins): Increase builtin_types
! 	array by one element, initialize the BT_LAST element with NULL.
! 
! 2005-08-26  David Edelsohn  <edelsohn@gnu.org>
! 
! 	* config/rs6000/rs6000.md (eq<mode>_compare): Only enable when
! 	optimizing for size.
! 	(plus_eqsi): Same.
! 	(compare_plus_eqsi): Same.
! 	(plus_eqsi_compare): Same.
! 	(neg_eq0<mode>): Same.
! 	(neg_eq<mode>): Same.
! 
! 	* config/rs6000/aix52.h (PROCESSOR_DEFAULT): Change to
! 	PROCESSOR_POWER4.
! 
! 2005-08-26  Nick Clifton  <nickc@redhat.com>
! 
! 	* config/v850/v850.c (ep_memory_operand): Return FALSE if
! 	TARGET_EP is not defined.
! 	* config/v850/c850.h (TARGET_CPU_CPP_BUILTINS): Define __EP__ if
! 	TARGET_EP is enabled.
! 	(OPTIMIZATION_OPTIONS): Do not define MASK_EP when optimizing.
! 	* config/v850/v850.md (save_all_interrupt): Only use the EP
! 	register if TARGET_EP is defined.
! 	(restore_all_interrupt): Likewise.
! 	* config/v850/lib1funcs.asm: Update functions so that the EP
! 	register is only used if __EP__ is defined.
! 
! 2005-08-26  David Ung  <davidu@mips.com>
! 
! 	* config/mips/mips.c (mips_expand_prologue): Handle case when
! 	generating for MIPS16 and the outgoing argument area is more than
! 	SMALL_OPERAND. Use the frame pointer as temporary to generate the
! 	add instruction.
! 
! 2005-08-26  Paul Woegerer  <paul.woegerer@nsc.com>
! 
! 	* config/crx/crx.md: Make doloop_end pattern usage controllable
! 	via mloop-nesting=<max-nesting> command line switch. Make sure
! 	the combiner cannot use doloop_end_<mode> in an illegal way.
! 	* config/crx/crx.c: Use regs up to r6 for argument passing.
! 	Refine crx_address_cost (non cst4 displacements are expensive).
! 	* config/crx/crx.opt: Add switch for mloop-nesting=.
! 
! 2005-08-26  Adrian Straetling  <straetling@de.ibm.com>
! 
! 	* config/s390/s390.md: ("movstr", "*movstr"): Add patterns.
! 	(UNSPEC_MVST): New constant.
! 
! 2005-08-26  Andreas Krebbel  <krebbel1@de.ibm.com>
! 
! 	* config/s390/predicates.md ("shift_count_operand", "setmem_operand"):
! 	Reject operands containing eliminable registers.
! 	* testsuite/gcc.dg/20050825-1.c: New testcase.
! 
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
! 	    Jan Hubicka  <jh@suse.cz>
! 
! 	* regmove.c (reg_is_remote_constant_p): Reorganize to not use log links.
! 
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR tree-optimization/23546
! 	* tree-ssa-loop-im.c (for_each_index): Handle INTEGER_CST
! 	and REAL_CST nodes.
! 
! 2005-08-24  Pete Steinmetz  <steinmtz@us.ibm.com>
! 
! 	* params.def (PARAM_MIN_SPEC_PROB): New.
! 	* sched-rgn.c (MIN_PROBABILITY): Delete.
! 	(compute_trg_info): Convert to PARAM_VALUE.
! 	* doc/invoke.texi (param): Document min-spec-prob.
! 
! 2005-08-24  Fariborz Jahanian <fjahanian@apple.com>
! 
! 	* config/darwin.h: define __PIC__
! 	* config/rs6000/darwin.h: Add SUBTARGET_OS_CPP_BUILTINS to
! 	TARGET_OS_CPP_BUILTINS macro.
! 
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* config/rs6000/rs6000.md: Fix thinko in the peephole2 I added
! 	yesterday.
! 
! 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
! 
! 	* bb-reorder.c (copy_bb, duplicate_computed_gotos): Add argument
! 	to duplicate_block.
! 	* cfghooks.c (duplicate_block): Added position where to place
! 	new block as argument.
! 	* cfghooks.h (duplicate_block): Declaration changed.
! 	* cfglayout.c (copy_bbs): Add argument after.  Pass it to
! 	duplicate_block.
! 	* cfglayout.h (copy_bbs): Declaration changed.
! 	* cfgloop.h (loop_version): Declaration changed.
! 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Pass
! 	position to copy_bbs.
! 	(loop_version): Pass position to duplicate_loop_to_header_edge.
! 	Add place_after argument and position new blocks according to
! 	it.
! 	* modulo-sched.c (sms_schedule): Pass place_after argument
! 	to loop_version.
! 	* tracer.c (tail_duplicate): Pass argument to duplicate_block.
! 	* tree-cfg.c (split_edge_bb_loc): New function.
! 	(tree_split_edge, tree_duplicate_sese_region): Use split_edge_bb_loc
! 	to determine position of new blocks.
! 	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass argument
! 	to loop_version.
! 	* tree-ssa-threadupdate.c (create_block_for_threading): Pass
! 	argument to duplicate_block.
! 	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg):
! 	Pass position to copy_bbs.
! 
! 2005-08-24  Zdenek Dvorak  <dvorakz@suse.cz>
! 
! 	* fold-const.c (ptr_difference_const): Use
! 	cst_and_fits_in_hwi instead of host_integerp.
! 
! 2005-08-24  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	* config/darwin.c (gen_pic_offset): New.
! 	(machopic_indirect_data_reference,  machopic_legitimize_pic_address):
! 	Use it.
! 
! 2005-08-23  Zdenek Dvorak  <dvorakz@suse.cz>
! 
! 	PR tree-optimization/23486
! 	* tree-ssa-loop.c (pass_scev_cprop): Add TODO_update_ssa_only_virtuals.
! 
! 2005-08-23  Phil Edwards  <phil@codesourcery.com>
! 
! 	* config.gcc (*-*-vxworks*):  Update tm_file, add extra_options,
! 	remove use_collect2.
! 	(powerpc-wrs-vxworks):  Update, split out *-*-vxworksae target.
! 
! 	* target-def.h (TARGET_HAVE_CTORS_DTORS):  Allow target
! 	configuration files to override the default value.
! 
! 	* config/t-vxworks:  Remove INSTALL_ASSERT_H.  Define STMP_FIXPROTO,
! 	EXTRA_HEADERS, and EXTRA_MULTILIB_PARTS.
! 	* config/vx-common.h:  New file, split out from...
! 	* config/vxworks.h:  here.  Update for VxWorks 6.x and RTP mode.
! 	* config/vxworksae.h:  New file, for VxWorks AE.
! 	* config/vxworks.opt:  New file.
! 	* config/vxlib.c:  Update for VxWorks 6.
! 
! 	* config/rs6000/t-vxworks (MULTILIB_OPTIONS):  New list.  Adjust
! 	other MULTILIB_* variables appropriately.
! 	(LIB2FUNCS_EXTRA, EXTRA_MULTILIB_PARTS):  Correct from t-ppccomm.
! 	* config/rs6000/t-vxworksae:  New file, adjust multilibs for AE.
! 	* config/rs6000/vxworks.h:  Update for VxWorks 6.
! 	* config/rs6000/vxworksae.h:  New file, mostly placeholder for now.
! 
! 2005-08-23  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	PR target/20799
! 	* config/darwin.c (machopic_select_section): Remove the hack to
! 	mark "::operator new" and "::operator delete" for coalescing
! 	even though they are not weak.
! 
! 2005-08-24  Alan Modra  <amodra@bigpond.net.au>
! 
! 	* configure.ac (HAVE_LD_NO_DOT_SYMS): Set for powerpc-linux biarch.
! 	* configure: Regenerate.
! 
! 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
! 
! 	PR middle-end/23517
! 	* fold-const.c (fold_convert): Use VIEW_CONVERT_EXPR to convert
! 	between vectors.
! 	* convert.c (convert_to_integer, convert_to_vector): Likewise.
! 	* tree-vect-generic.c (tree_vec_extract, expand_vector_operations_1):
  	Likewise.
  
! 2005-08-23  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* config/rs6000/predicates.md (equality_operator): New.
! 	* config/rs6000/rs6000.md: Rewrite as a peephole2 the split for
! 	comparison with a large constant.
  
! 2005-08-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	* hwint.h (HOST_WIDE_INT_PRINT): Use HOST_LONG_LONG_FORMAT.
  
! 2005-08-23  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (sh_builtin_saveregs): If the number of to-be-saved fp
! 	registers is even, and we have a hardware double precision fp,
! 	align the buffer.
! 	(sh_gimplify_va_arg_expr): For floating point arguments, consider
! 	size of current argument when checking if argument was passed in
! 	registers.
  
! 	* sh.c (sh_attr_renesas_p): Handle error_mark_node.
  
! 	PR middle-end/23467
! 	* stor-layout.c (finalize_type_size): Dont override
! 	existing alignment with a smaller alignment from the mode.
  
! 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* lambda-code.c (lambda_vector_lexico_pos): Moved...
! 	* lambda.h (lambda_vector_lexico_pos): ... here.
! 	* tree-data-ref.c (build_classic_dist_vector): Return false when
! 	the distance vector is lexicographically negative.
  
! 2005-08-23  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/23511
! 	* tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Don't
! 	handle cases where TYPE_MIN_VALUE or TYPE_MAX_VALUE are NULL_TREE.
  
! 2005-08-23  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR tree-optimization/22043
! 	* tree.h (count_type_elements): Add ALLOW_FLEXARR argument.
! 	* expr.c (count_type_elements): Add ALLOW_FLEXARR argument.
! 	If ALLOW_FLEXARR, handle types ending with flexible array member.
! 	Pass false as second argument to recursive count_type_elements calls.
! 	(categorize_ctor_elements_1, mostly_zeros_p): Pass false as second
! 	argument to count_type_elements call.
! 	* tree-sra.c (decide_block_copy): Likewise.
! 	* gimplify.c (gimplify_init_constructor): If num_type_elements < 0
! 	for a constant-sized object, set cleared as well.  Pass true as
! 	second argument to count_type_elements call.
  
! 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/21571
! 	* config/rs6000/rs6000.c (rs6000_legitimate_small_data_p): Rename
! 	from legitimate_small_data_p, and make global.  Update use.
! 	Remove forward declaration.
! 	* config/rs6000/rs6000-protos.h (rs6000_legitimate_small_data_p):
! 	Declare.
! 	* config/rs6000/rs6000.md (movdf_hardfloat32): Allow small data mems.
  
! 2005-08-23  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (eq<mode>): Use output operand instead
! 	of scratch intermediates.
! 	(eq<mode>_compare): Same.
! 	(neg_eq0<mode>): New.
! 	(neg_eq<mode>): Convert to define_insn_and_split.
  
! 2005-08-23  Alan Modra  <amodra@bigpond.net.au>
  
! 	PR target/23070
! 	* config/rs6000/rs6000.c (function_arg): For ABI_V4 calls to
! 	stdarg functions, set/clear the fp marker even when no variable
! 	args are passed.
! 	* config/rs6000/sysv4.opt (mprototype): Describe.
  
! 2005-08-22  Jakub Jelinek  <jakub@redhat.com>
  
! 	PR rtl-optimization/23478
! 	* regs.h (reg_info): Add throw_calls_crossed.
! 	(REG_N_THROWING_CALLS_CROSSED): Define.
! 	* flow.c (allocate_reg_life_data): Initialize
! 	REG_N_THROWING_CALLS_CROSSED.
! 	(propagate_one_insn, attempt_auto_inc): Update
! 	REG_N_THROWING_CALLS_CROSSED.
! 	* global.c (global_alloc): Don't allocate pseudos across
! 	calls that may throw.
  
! 2005-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR c/18715
! 	* c-common.c (c_do_switch_warnings): Look for a node where the enum's
! 	value is inbetween the range if we did not find an exact match.
  
! 2005-08-22  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* doc/invoke.texi (Option Summary): Add ms1 options.
! 	* doc/extend.texi: Document interrupt handler attribute for ms1.
! 	* doc/md.texi: Document ms1 constraints.
! 	* config.gcc: Add ms1-*-elf.
! 	* config/ms1/ms1.h: New.
! 	* config/ms1/ms1.c: New.
! 	* config/ms1/ms1.md: New.
! 	* config/ms1/ms1-protos.h: New.
! 	* config/ms1/ABI.txt: New.
! 	* config/ms1/crti.asm: New.
! 	* config/ms1/crtn.asm: New.
! 	* config/ms1/lib2extra-funcs.c: New.
! 	* config/ms1/t-ms1: New.
! 	* config/ms1/ms1.opt: New.
  
! 2005-08-22 Ira Rosen <irar@il.ibm.com>
  
! 	* config/rs6000/altivec.md (xorv4sf3): New.
! 	(negv4sf2, neg<mode>2): Likewise.
  
! 2005-08-21  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	PR target/23485
! 	* config/ia64/ia64.md (divsi3): Check divide by zero.
! 	(udivsi3): Likewise.
! 	(divdi3): Likewise.
! 	(udivdi3): Likewise.
  
! 2005-08-21  Jakub Jelinek  <jakub@redhat.com>
  
! 	* simplify-rtx.c (simplify_immed_subreg) <case CONST_DOUBLE>: Only clear
! 	up to elem_bitsize bits, not max_bitsize.
  
! 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/23433
! 	* tree-chrec.c (chrec_apply): Translate INTEGER_CST to a
! 	REAL_CST when the type is SCALAR_FLOAT_TYPE_P.
  
! 2005-08-21  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/23434
! 	* tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
! 	the iteration bound is not an INTEGER_CST.
  
! 2005-08-21  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	* tree-vect-transform.c (get_initial_def_for_reduction): Set
! 	need_epilog_adjust back to false for MIN/MAX case. Set *scalar_def to
! 	NULL if need_epilog_adjust is false.
! 	(vect_create_epilog_for_reduction): Variable adjust_in_epilog removed.
! 	Case 3 always peels first itration, not just for PLUS case, and no need
! 	to use scalar_initial_def here. Create an epilog adjustment only if
! 	scalar_initial_def is not NULL.
  
! 	(vectorizable_reduction): Remove assert.
  
! 2005-08-20  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	PR target/23485
! 	* config/ia64/lib1funcs.asm (__divdi3): Check divide by zero.
! 	(__moddi3): Likewise.
! 	(__udivdi3): Likewise.
! 	(__umoddi3): Likewise.
! 	(__divsi3): Likewise.
! 	(__modsi3): Likewise.
! 	(__udivsi3): Likewise.
! 	(__umodsi3): Likewise.
  
! 2005-08-20  Jakub Jelinek  <jakub@redhat.com>
  
! 	* tree-pass.h (TDF_GRAPH): Define.
! 	* tree-dump.c (dump_options): Don't set TDF_GRAPH in "all".
! 	* passes.c (finish_optimization_passes): Only call
! 	finish_graph_dump_file if TDF_GRAPH is set.
! 	(execute_one_pass): Only call clean_graph_dump_file if dump_file !=
! 	NULL.  Set TDF_GRAPH bit.
! 	(execute_todo): Call print_rtl_graph_with_bb if TDF_GRAPH is set.
  
! 2005-08-20  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm.h (arm_stack_offsets): Add locals_base field.
! 	* arm.c (arm_get_frame_offsets): Compute it.
! 	(thumb_compute_initial_elimination offset): Make the Thumb frame
! 	pointer point to the base of the local variables.
! 	(thumb_expand_prologue): Update accordingly.
! 	(thumb_expand_epilogue): Likewise.
  
! 	* arm.md (thumb_movhi_clobber): Make this insn a define_expand.  Change
! 	mode of clobbered scratch to DImode.  Handle a case that's known to
! 	need this.
  
! 2005-08-19  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (gt0<mode>): Delete.
! 	(gt0<mode>_compare): Delete.
! 	(neg_gt0<mode>): Delete.
  
! 2005-08-19  Eric Christopher  <echristo@apple.com>
  
! 	* optabs.h: Change CTI_ to COI_.
! 	* optabs.c: Ditto.
  
! 2005-08-19  James E Wilson  <wilson@specifix.com>
  
! 	* builtins.c (expand_builtin_return_addr): Set
! 	current_function_accesses_prior_frames when count != 0.  Use
! 	frame_pointer_rtx when count == 0.
! 	* function.h (struct function): Add accesses_prior_frames field.
! 	(current_function_accesses_prior_frames): Define.
! 	* reload1.c (init_elim_table): Check
! 	current_function_accesses_prior_frames.
! 	* doc/tm.texi (INITIAL_FRAME_ADDRESS_RTX): Update docs.
  
! 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change
! 	indicator.  Return true if the flowgraph changed during
! 	cleanup.
  
! 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23476
! 	* tree-cfgcleanup.c (cleanup_control_expr_graph): Fold the
! 	conditional expression before testing its value.
  
! 2005-08-19  Diego Novillo  <dnovillo@redhat.com>
  
! 	* doc/invoke.texi: Fix documentation for -ftree-dominator-opts.
  
! 2005-08-19  Devang Patel  <dpatel@apple.com>
  
! 	PR tree-optimization/23048
! 	* tree-if-conv.c (if_convertible_bb_p): Supply basic_block as
! 	third parameter. Check whether latch is dominated by exit
! 	block or not.
! 	(if_convertible_loop_p): Supply exit block itself to
! 	if_convertible_bb_p.
  
! 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23473
! 	* arm.md (arm_load_pic_register): Change argument to the mask of
! 	saved registers.  Call thumb_find_work_register if we need a
! 	scratch register on Thumb.
! 	(arm_expand_prologue): Pass empty register set to
! 	arm_load_pic_register.
! 	(thumb_expand_prologue): Pass live_regs_mask directly to
! 	arm_load_pic_register.
! 	* arm-protos.h (arm_load_pic_register): Update prototype.
  
! 2005-08-19  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (find_sole_member): New function.
! 	(sh_gimplify_va_arg_expr): Use it. Allow RECORD_TYPE mode mismatch
! 	if the record's alignment is larger than the size of its only member.
  
! 2005-08-19  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23436
! 	* arm.c (thumb_legitimize_reload_address): New function.
! 	* arm-protos.h (thumb_legitimize_reload_address): Add prototype.
! 	* arm.h (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Call it.
  
! 2005-08-19  Paul Woegerer  <paul.woegerer@nsc.com>
  
! 	* config/crx/crx.c: Implement crx_decompose_address. Reject
! 	symbolic displacements since CRX register relative adressing
! 	mode can't handle unsigned 32-bit values as displacements.
! 	* config/crx/crx.h: Simplify definitions, remove redundant
! 	parenthesis and obsolete macros.
! 	* config/crx/crx.opt: Add new switch for debugging addresses.
! 	* config/crx/crx-protos.h: Add new declarations for above.
  
! 2005-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/20624
! 	* gimple-low.c (block_may_fallthru): Handle CLEANUP_POINT_EXPR by
! 	looking past it.
  
! 2005-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* collect2.c (dup2): Delete.
! 	* configure.ac: Don't check for dup2.
  
! 	* config.in, configure: Regenerate.
  
! 2005-08-18  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (sh_gimplify_va_arg_expr): Loop to substitute a RECORD_TYPE
! 	record with the type of its only member.
  
! 2005-08-18  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (ltu<mode>_compare): Convert to
! 	define_insn_and_split.
! 	(plus_ltu<mode>_compare): Same.
! 	(gtu<mode>_compare): Same.
! 	(plus_gtu<mode>_compare): Same.
  
! 2005-08-18  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	PR tree-optimization/22228
! 	* tree-ssa-loop (pass_vectorize): Add TODO_verify_loops to
! 	todo_flags_start.
! 	* tree-vect-transform.c (vect_transform_loop): Mark the variables that
! 	are recorded in vect_vnames_to_rename for renaming.
! 	* tree-vectorizer.c (vect_vnames_to_rename): New global bitmap.
! 	(slpeel_update_phi_nodes_for_guard1): Record virtual vars for renaming
! 	in vect_vnames_to_rename.
! 	(vectorize_loops): Allocate and free the vect_vnames_to_rename bitmap.
! 	* tree-vectorizer.h (vect_vnames_to_rename): New extern variable.
  
! 2005-08-18  Jan Hubicka  <jh@suse.cz>
  
! 	PR c++/22034
! 	* cgraphunit.c (cgraph_varpool_assemble_pending_decls): Emit debug
! 	info only for local statics, not for member variables.
  
! 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* tree-data-ref.c (analyze_siv_subscript_cst_affine): Fix comment typo.
  
! 2005-08-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* c-typeck.c (designator_errorneous): Rename to designator_erroneous.
  
! 2005-08-18  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/16045
! 	* builtins.c (fold_builtin): Create a new NOP_EXPR all the time.
  
! 2005-08-17  James E Wilson  <wilson@specifix.com>
  
! 	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
! 	array size check.
  
! 2005-08-17  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (leu<mode>): Convert to mode macro.
! 	(leu<mode>_compare): Same.
! 	(plus_leu<mode>): Same.
! 	(neg_leu<mode>): Same.
! 	(and_neg_leu<mode): Same.
! 	(ltu<mode>_compare): Same.
! 	(plus_ltu<mode>): Same.
! 	(geu<mode>): Same.
! 	(geu<mode>_compare): Same.
! 	(plus_geu<mode>): Same.
! 	(neg_geu<mode>): Same.
! 	(and_neg_geu<mode>): Same.
! 	(plus_gt<mode>): Same.
! 	(gtu<mode>_compare): Same.
! 	(plus_gtu<mode>): Same.
  
! 2005-08-17  Erik Christiansen  <erik@dd.nec.com.au>
  
! 	* config/v850/lib1funcs.asm (callt_save_interrupt): Fix comment typos.
! 	Move call_table_data to end.  Delete spurious .text.
! 	(callt_save_all_interrupt): Fix comment typo.
  
! 2005-08-17  James E Wilson  <wilson@specifix.com>
! 	    Kevin Winchester  <winchester@amirix.com>
  
! 	PR target/21684
! 	* config/mcore/mcore.h (SHIFT_COUNT_TRUNCATED): Define to 0.
  
! 2005-08-17  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/23268
! 	* config/i386/i386.md ("*fist<mode>2_1"): New pattern.
! 	("lrint<mode>2"): Change expander to use "*fist<mode>2_1" pattern.
  
! 2005-08-17  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (sh_gimplify_va_arg_expr): Don't substitute a RECORD_TYPE
! 	record with the type of its only member if the modes don't match.
  
! 	* varasm.c (decode_reg_name): Skip empty additional register names.
  
! 2005-08-16  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-ssa-loop-im.c (MAX_LSM_NAME_LENGTH, lsm_tmp_name,
! 	lsm_tmp_name_length): New.
! 	(lsm_tmp_name_add, gen_lsm_tmp_name, get_lsm_tmp_name): New functions.
! 	(schedule_sm): Use get_lsm_tmp_name instead of "lsm_tmp".
  
! 2005-08-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
! 	    Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config.gcc: Added z9-109 switch.
! 	* config/s390/2084.md ("x_int", "x_agen", "x_lr", "x_la", "x_larl",
! 	"x_load", "x_store", "x_branch", "x_call", "x_mul_hi", "x_mul_sidi",
! 	"x_div", "x_sem", "x_cs", "x_vs", "x_stm", "x_lm", "x_other",
! 	"x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
! 	"x_floadsf", "x_fstore_df", "x_fstoresf", "x_ftoi", "x_itof"): Enable
! 	for "z9_109" cpu attribute.
! 	* config/s390/s390.c (z9_109_cost): New processor cost structure.
! 	(CONST_OK_FOR_Os, CONST_OK_FOR_Op, CONST_OK_FOR_On): New macros.
! 	(s390_handle_arch_option): Added z9-109 switch.
! 	(override_options): Set respective cost function for z9-109.
! 	(s390_const_ok_for_constraint_p): New constraints Os, Op, On.
! 	(legitimate_reload_constant_p): Accept extended immediates.
! 	(print_operand): Three new output modifiers added: k, m and o.
! 	(s390_adjust_priority, s390_issue_rate): Handle Z9_109 like Z990.
! 	(s390_output_mi_thunk): Use extended immediate when possible.
! 	* config/s390/s390.h (processor_flags): Added PF_EXTIMM.
! 	(TARGET_CPU_EXTIMM, TARGET_EXTIMM): New macros.
! 	(CONSTRAINT_LEN): Added length of O constraint.
! 	(CLZ_DEFINED_VALUE_AT_ZERO): Definition added.
! 	* config/s390/s390.md ("cpu"): New value z9_109 added.
! 	("*tstdi_extimm", "*tstdi_ccconly_extimm", "*tstsi_extimm",
! 	"*tstsi_cconly_extimm", "*movdi_64extimm", "*extendhidi2_extimm",
! 	"*extendqidi2_extimm", "*extendhisi2_extimm", "*extendqisi2_extimm",
! 	"*zero_extend<mode>si2_extimm", "*anddi3_extimm", "*iordi3_extimm",
! 	"*xordi3_extimm", "clzdi2", "clztidi2"): New patterns.
! 	("*tstdi", "*tstsi", "*movdi_64", "*extendhisi2", "*extendqisi2",
! 	"*zero_extend<mode>si2_64", "zero_extendqihi2", "*zero_extendqihi2_64",
! 	"*anddi3", "*iordi3", "*xordi3"): Disable for TARGET_EXTIMM.
! 	("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs", "*cmpsi_ccs", "*cmpdi_ccu",
! 	"*cmpsi_ccu", "*movsi_zarch", "*adddi3_imm_cc", "*adddi3_carry1_cc",
! 	"*adddi3_carry2_cc", "*adddi3_cc", "*adddi3_64", "*addsi3_imm_cc",
! 	"*addsi3_carry1_cc", "*addsi3_carry2_cc", "*addsi3_cc", "addsi3",
! 	"*andsi3_cc", "*andsi3_cconly", "*andsi3_zarch", "*iorsi3_cc",
! 	"*iorsi3_cconly", "*iorsi3_zarch", "*xorsi3_cc", "*xorsi3_cconly",
! 	"*xorsi3", "*xorhi3", "*xorqi3"): Added instruction using extended
! 	immediates.
! 	("extend<mode>di2", "extend<mode>si2", "zero_extend<mode>di2",
! 	"zero_extend<mode>si2"): Allow memory operands and don't manually emit
! 	insns for TARGET_EXTIMM.
  
! 2005-08-17  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* testsuite/gcc.dg/20020926-1.c: Added "-mesa" to dg-options.
  
! 2005-08-17  Nick Clifton  <nickc@redhat.com>
  
! 	* config/stormy16/stormy16.c (xstormy16_encode_section_info):
! 	Call default_encode_section_info.
  
! 2005-08-17  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/21574
! 	* tree-ssa-ccp.c (likely_value): If the right hand side is a
! 	constant, return CONSTANT.
! 	(ccp_lattice_meet): Use operand_equal_p instead of simple_cst_equal.
! 	(ccp_fold, visit_assignment): Likewise.
! 	(evaluate_stmt): Handle UNDEFINED and UNKNOWN_VAL the same way.
  
! 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* c-typeck.c (build_function_call): Call fold_buildN_initializer or
! 	fold_buildN instead of buildN then fold_initializer or fold.
! 	(build_unary_op): Likewise.
! 	(build_binary_op): Likewise.
! 	* fold-const.c (fold_initializer): Remove.
! 	(fold_build1_initializer): New function.
! 	(fold_build2_initializer): New function.
! 	(fold_build3_initializer): New function.
! 	* tree.h (fold_initializer): Remove.
! 	(fold_build1_initializer): New function.
! 	(fold_build2_initializer): New function.
! 	(fold_build3_initializer): New function.
  
! 2005-08-16  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (optimize_bit_field_compare): Remove extra fold call.
! 	(try_move_mult_to_index): Call fold_build2 instead of build2.
! 	(fold_binary): Don't call fold after calls to try_move_mult_to_index.
! 	* tree-ssa-loop-niter.c (inverse): Call int_const_binop instead of
! 	fold_binary_to_constant.
! 	(infer_loop_bounds_from_undefined): Call fold_build2 instead of
! 	fold (build.
! 	* tree-data-ref.c (tree_fold_divides_p): Use tree_int_cst_equal to
! 	check if A == gcd (A, B).  Remove TYPE argument.
! 	(analyze_offset) Use fold_build2 instead of fold (build.
! 	(create_data_ref): Likewise.
! 	(analyze_siv_subscript_cst_affine): Update calls to tree_fold_divides_p.
! 	* tree-ssa-ccp.c (widen_bitfield): Call fold_build2 instead of build2
! 	then fold.
  
! 2005-08-17  Kelley Cook  <kcook@gcc.gnu.org>
  
! 	* config/arm/unaligned-funcs.c,config/i386/crtfastmath.c,
! 	ipa-cp.c,ipa-prop.c,ipa-prop.h: Update FSF address.
  
! 2005-08-16  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/23402
! 	* gimplify.c (zero_sized_type): New function.
! 	(gimplify_modify_expr_rhs): If we have a zero sized type,
! 	replace the statement with an empty statement.
  
! 2005-08-16  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	* config/i386/crtfastmath.c (set_fast_math): Add "=m" for
! 	fxsave.
  
! 2005-08-16  Ian Lance Taylor  <ian@airs.com>
  
! 	* doc/tm.texi (Label Output): Correct typo.
  
! 2005-08-16  Steven Bosscher  <stevenb@suse.de>
  
! 	PR target/23376
! 	* loop-unroll.c (analyze_insn_to_expand_var): Make sure that
! 	force_operand will work later on using have_insn_for.
  
! 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* fold-const.c (tree_expr_nonnegative_p): Regroup cases.
  
! 2005-08-16  Ian Lance Taylor  <ian@airs.com>
  
! 	PR c++/23337
! 	* gimplify.c (gimplify_init_ctor_eval): If we see an element of
! 	vector type, don't try to construct it element by element.  Add an
! 	assertion that we use a FIELD_DECL when building a COMPONENT_REF.
  
! 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* fold-const.c (fold_ternary): Simplify folding of a CALL_EXPR.
  
! 2005-08-16  Geoffrey Keating  <geoffk@apple.com>
  
! 	* doc/invoke.texi (Precompiled Headers): Document some more options
! 	which are known to be safe.
  
! 2005-08-16  James E Wilson  <wilson@specifix.com>
  
! 	PR tree-optimization/21105
! 	* c-decl.c (grokdeclarator): Use TYPE_SIZE_UNIT not TYPE_SIZE in
! 	TREE_OVERFLOW check.
  
! 2005-08-16  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (ltu<mode>): Convert to mode macro.
! 	(neg_ltu<mode>): Same.
! 	(gtu<mode>): Same.
! 	(neg_gtu<mode>): Same.
  
! 2005-08-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* builtins.c (expand_builtin_strcat): Remove superfluous call to fold.
! 	(fold_builtin_isdigit): Use fold_buildN.
! 	(build_function_call_expr): Likewise.
! 	* c-typeck.c (c_finish_loop): Likewise.
  
! 2005-08-16  J"orn Rennecke <joern.rennecke@st.com>
! 	    Richard Shann <rshann@superh.com>
  
! 	PR middle-end/20396:
! 	* optabs.c (expand_binop): Take TRULY_NOOP_TRUNCATION into account.
  
! 2005-08-16  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Reword a comment.
  
! 2005-08-15  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23355
! 	* arm.c (thumb_compute_save_reg_mask): Use similar logic to
! 	arm_compure_save_reg0_reg12_mask to determine when the PIC register
! 	must be saved.
  
! 2005-08-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/23369
! 	* fold-const.c (build_range_check): Disable optimization for function
! 	pointer expressions on targets that require function pointer
! 	canonicalization.
  
! 2005-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* simplify-rtx.c (simplify_const_relational_operation): When
! 	extracting arguments of a COMPARE, recompute the mode as well.
  
! 2005-08-15  Ian Lance Taylor  <ian@airs.com>
  
! 	* tree.c (build_string): Mark tree CONSTANT and INVARIANT.
  
! 2005-08-15  DJ Delorie  <dj@redhat.com>
  
! 	* config/m32c/mov.md (movqi_op): Immediates can't be moved to
! 	the stack.
! 	(movsi_splittable): Allow, but split, moves to the stack.
! 	* config/m32c/m32c.c (m32c_split_move): Always split moves to the
! 	stack.
  
! 2005-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* aclocal.m4 (gcc_AC_FUNC_PRINTF_PTR): Delete.
! 	* configure.ac: Don't call gcc_AC_FUNC_PRINTF_PTR.
! 	* system.h (HOST_PTR_PRINTF): Don't define, poison it.
  
! 	* bitmap.c, c-decl.c, config/i386/i386-interix.h,
! 	config/iq2000/iq2000.c, mips-tfile.c, print-rtl.c, print-tree.c:
! 	Delete HOST_PTR_PRINTF.
  
! 	* configure, config.in: Regenerate.
  
! 2005-08-15  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (QHSI): New mode macro.
! 	(wd): Extend mode attr for QImode and HImode
! 	(dbits): New mode attr.
! 	(zero_extend<mode>di2): Convert to mode macro.
  
! 2005-08-15  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR target/21841
! 	* doc/invoke.texi (-mgnu-ld): Update description.
! 	(-mhp-ld): Ditto.
  
! 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR 23391
! 	* Makefile.in (tree-chrec.o): Depends on real.h.
! 	* tree-chrec.c: Include real.h.
! 	(chrec_fold_plus_poly_poly, chrec_fold_multiply_poly_poly,
! 	chrec_fold_plus_1): Use build_real for SCALAR_FLOAT_TYPE_P.
! 	* tree-scalar-evolution.c (add_to_evolution_1,
! 	interpret_rhs_modify_expr): Ditto.
  
! 2005-08-15  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR 23386
! 	* tree-data-ref.c (estimate_niter_from_size_of_data): When
! 	step is negative compute the estimation from init downwards to zero.
  
! 2005-08-14  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const (fold_binary): Call fold_build2 instead of fold (build.
  
! 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.c (s390_const_ok_for_constraint_p): Add 'P'
! 	constraint.
! 	(legitimate_reload_constant_p): Fix handling of lliXX operands.
! 	Accept double-word constants that can be split.
! 	* config/s390/s390.md ("movti"): Use 'P' constraint.
! 	("*movdi_31", "*movdf_31"): Likewise.
  
! 2005-08-14  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22615
  
! 	* tree-ssa-structalias.c (solution_set_add): Handle
! 	first_vi_for_offset returning NULL.
! 	(do_da_constraint): Ditto.
! 	(do_sd_constraint): Ditto.
! 	(do_ds_constraint): Ditto
! 	(find_func_aliases): Ditto.
! 	(build_constraint_graph): RHS is allowed be ANYTHING.
! 	(first_vi_for_offset): Return NULL if we couldn't find anything at
! 	the offset.
  
! 2005-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.c (s390_canonicalize_comparison): Prefer register
! 	over memory as first operand.
  
! 2005-08-14  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	PR target/23360
! 	* config/i386/crtfastmath.c (set_fast_math): Check if DAZ is
! 	available for setting it.
  
! 2005-08-14  Ira Rosen  <irar@il.ibm.com>
  
! 	PR tree-optimization/23320
! 	* tree-data-ref.c (base_addr_differ_p): Add comment. Check
! 	data-refs' types instead of base object nullness. Add check for
! 	pointer type data-refs before first location comparison. Remove
! 	assert.
  
! 2005-08-14  Andreas Schwab  <schwab@suse.de>
  
! 	* doc/md.texi (Machine Constraints): Fix misplaced @end table.
  
! 2005-08-13  James E Wilson  <wilson@specifix.com>
  
! 	* doc/cpp.texi (__SSP__, __SSP_ALL__): Document.
! 	* doc/invoke.texi (-Wstack-protector, -fstack-protector,
! 	-fstack-protector-all, --param ssp-buffer-size): Document.
! 	(-Wvariadic-macros): Alphabetize.
! 	(-fsched-stalled-insns-dep): Add missing 'f'.
  
! 	* c-cppbuiltin.c (c_cpp_builtins): Add comment for flag_stack_protect
! 	macros.
  
! 2005-08-13  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'a' for indexed
! 	or indirect address operand.
! 	(EXTRA_ADDRESS_CONSTRAINT): New.
! 	* config/rs6000/rs6000.md (prefetch): Change constraint "p" to "a".
  
! 2005-08-13  Sebastian Pop  <pop@cri.ensmp.fr>
  
! 	PR tree-optimization/22236
! 	* tree-cfg.c (print_pred_bbs, print_succ_bbs): Correctly print
! 	successors and predecessors.
! 	* tree-chrec.c (chrec_convert): Before converting, check that
! 	sequences don't wrap.
! 	* tree-data-ref.c (compute_estimated_nb_iterations): Moved ...
! 	(analyze_array): Extern.
! 	(find_data_references_in_loop): Remove call to
! 	compute_estimated_nb_iterations.
! 	* tree-data-ref.h (analyze_array): Declared.
! 	* tree-flow-inline.h (single_ssa_tree_operand, single_ssa_use_operand,
! 	single_ssa_def_operand, zero_ssa_operands): Fix documentation.
! 	* tree-flow.h (scev_probably_wraps_p): Declare with an extra parameter.
! 	* tree-scalar-evolution.c (instantiate_parameters_1): Factor entry
! 	condition.
! 	* tree-ssa-loop-ivcanon.c: Fix documentation.
! 	* tree-ssa-loop-ivopts.c (idx_find_step): Add a fixme note.
! 	* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): ... here.
! 	(infer_loop_bounds_from_undefined): New.
! 	(estimate_numbers_of_iterations_loop): Use
! 	infer_loop_bounds_from_undefined.
! 	(used_in_pointer_arithmetic_p): New.
! 	(scev_probably_wraps_p): Pass an extra parameter.  Call
! 	used_in_pointer_arithmetic_p.  Check that AT_STMT is not null.
! 	(convert_step): Fix documentation.
! 	* tree-vrp.c (adjust_range_with_scev): Call instantiate_parameters.
! 	Use initial_condition_in_loop_num and evolution_part_in_loop_num
! 	instead of CHREC_LEFT and CHREC_RIGHT.  Adjust the call to
! 	scev_probably_wraps_p.
  
! 2005-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.c (s390_split_branches): Revert 2005-08-12 change.
! 	(s390_register_info): Ignore clobbered_regs information for fixed
! 	registers, and only fixed registers.
! 	(s390_init_frame_layout): Remove redundant call.
  
! 2005-08-12  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/invoke.texi (C++ Dialect Options): Add dynamic_cast to
! 	description of -Wold-style-casts.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
! 	    Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/s390/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
! 	* config/s390/s390-protos.h (s390_get_thread_pointer): Prototype added.
! 	* config/s390/s390.c (print_operand): New output modifier 'G' added.
! 	(get_thread_pointer): Renamed to s390_get_thread_pointer.
! 	* config/s390/s390.md (stack_protect_set, stack_protect_test): If
! 	TARGET_THREAD_SSP_OFFSET is defined, change operands[1] to
! 	(MEM:P (PLUS:P (tp, TARGET_THREAD_SSP_OFFSET))).
! 	(UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
! 	("stack_protect_set", "stack_protect_test"): New expanders.
! 	("stack_protect_setsi", "stack_protect_setdi", "stack_protect_testsi",
! 	"stack_protect_testdi"): New insn definitions.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.md ("*movdf_31"): Changed constraint from P to K.
  
! 2005-08-12  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/lib1funcs.asm: Error if __ARM_ARCH__ not set.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/predicates.md (setmem_operand): New predicate.
! 	(shift_count_operand): Accept ANDs with special constants as
! 	operand.
! 	* config/s390/s390.c (print_shift_count_operand): Skip ANDs
! 	with special constants.
! 	* config/s390/s390.md ("setmem_long", "*setmem_long"): Replaced
! 	shift_count_operand with setmem_operand.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (s390_extract_part, s390_single_part):
! 	Type cast added.
! 	(s390_const_ok_for_constraint_p): Added SImode to the N constraint.
! 	(s390_output_mi_thunk): Don't use lg on 31 bit.
! 	* config/s390/s390.md ("*movdi_31", "*movdf_31"): Added lmy and stmy.
! 	("*llgt_sisi" and splitter): Replaced TARGET_64BIT with TARGET_ZARCH.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (CONST_OK_FOR_J, CONST_OK_FOR_K): New macros.
! 	(s390_select_ccmode, s390_rtx_costs, legitimate_reload_constant_p,
! 	s390_init_frame_layout, s390_emit_prologue, s390_emit_epilogue,
! 	s390_output_mi_thunk): Replaced uses of CONST_OK_FOR_CONSTRAINT_P
! 	with one of the new macros.
  
! 2005-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
  
! 	* config/s390/s390.c (s390_split_branches, s390_init_frame_layout):
! 	Don't set save_return_addr_p.
! 	(s390_register_info): Make clobbered_regs not depending on
! 	save_return_addr_p.
  
! 2005-08-12  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* gcc.c (LINK_SSP_SPEC): Remove space before a trailing }.
! 	(LINK_COMMAND_SPEC): Add space after %(link_ssp).
  
! 2005-08-11  James E. Wilson  <wilson@specifix.com>
  
! 	* config/ia64/ia64.h (EXTRA_MEMORY_CONSTRAINT): New.
  
! 2005-08-11  Jakub Jelinek  <jakub@redhat.com>
  
! 	* dwarf2out.c (add_location_or_const_value_attribute): Prefer
! 	locations gathered by var-tracking in single entry loc_list
! 	over loc_descriptor_from_tree.
  
! 	* dwarf2out.c (concat_loc_descriptor): Add can_use_fbreg argument,
! 	pass it down to loc_descriptor.
! 	(loc_descriptor): Pass can_use_fbreg to concat_loc_descriptor.
! 	(containing_function_has_frame_base): Move earlier in the file.
! 	(loc_descriptor_from_tree_1): Use containing_function_has_frame_base
! 	instead of always assuming fbreg can't be used.
  
! 2005-08-11  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/altivec.md: Change constraint "m" to "Z".
! 	* config/rs6000/predicates.md (indexed_or_indirect_operand):
! 	Accept address wrapped in AND for Altivec.
! 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
! 	Strip AND wrapping offset address for Altivec.
  
! 2005-08-11  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/23312
! 	* gimplify.c (gimplify_one_sizepos): Check for INTEGER_TYPE
! 	before using TYPE_IS_SIZETYPE.
  
! 2005-08-11  Richard Henderson  <rth@redhat.com>
  
! 	PR target/22225
! 	* config/alpha/alpha.c (alphaev4_insn_pipe): Add take pipes for
! 	insn types not present on ev4.
! 	(alphaev5_insn_pipe): Similarly.
  
! 2005-08-11  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	PR target/23250
! 	* arm.c (arm_override_options): If the user has selected callee-super-
! 	interworking, then enable normal interworking.
  
! 2005-08-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
  
! 	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Undef before
! 	redefinition.
  
! 2005-08-11  Wu Zhou  <woodzltc@cn.ibm.com>
  
! 	* doc/rtl.texi: Fix two typos.
  
! 2005-08-11  Richard Guenther  <rguenther@suse.de>
  
! 	PR target/23289
! 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Handle
! 	cases where we call to/from functions returning void.
  
! 2005-08-10  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR c++/23225
! 	* tree.c (build_pointer_type_for_mode): Robustify.
  
! 2005-08-10  James E Wilson  <wilson@specifix.com>
  
! 	* defaults.h, config/alpha/alpha.h, config/ia64/ia64.h
! 	(ASM_OUTPUT_ADDR_VEC_ELT): Delete.
  
! 	* config/alpha/alpha.c (alpha_arg_partial_bytes): Change "(CUM)." to
! 	"cum->".
  
! 2005-08-10  Eric Christopher  <echristo@apple.com>
  
! 	* config/rs6000/rs6000.c (mems_ok_for_quad_peep): Rewrite.
! 	* config/rs6000/rs6000.md (*lfq_power2, *stfq_power2): Use
! 	V2DFmode.
  
! 2005-08-10  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR target/21887
! 	* config/darwin.c (machopic_indirect_data_reference): Use a new register
! 	for the high part when generating dynamic-no-pic code.
  
! 2005-08-10  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	* config.gcc (i[34567]86-*-linux*): Add i386/t-crtfm to tm-file.
! 	(x86_64-*-linux*): Likewise.
  
! 	* config/i386/crtfastmath.c: New file.
! 	* config/i386/t-crtfm: Likewise.
  
! 	* config/i386/linux.h (ENDFILE_SPEC): New.
! 	* config/i386/linux64.h (ENDFILE_SPEC): Likewise.
  
! 	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
! 	crtfastmath.o.
  
! 2005-08-10  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	* doc/md.texi: (reduc_smin, reduc_umin, reduc_splus, reduc_uplus):
! 	(vec_shl, vec_shr): Document new operations.
! 	* tree.def (VEC_RSHIFT_EXPR, VEC_LSHIFT_EXPR): Fix comment.
  
! 2005-08-10  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/predicates.md (indexed_or_indirect_address): New.
! 	* config/rs6000/rs6000.md (prefetch): Remove operand 0 mode and
! 	change predicate to indexed_or_indirect_address.
  
! 2005-08-10  Richard Sandiford  <richard@codesourcery.com>
  
! 	* config/arm/lib1funcs.asm (__aeabi_uidiv, __aeabi_idiv): New aliases.
! 	* config/arm/libgcc-bpabi.ver (GCC_3.5): Add __aeabi_idiv,
! 	__aeabi_uidiv, __aeabi_uread4, __aeabi_uread8, __aeabi_uwrite4
! 	and __aeabi_uwrite8.
! 	* config/arm/unaligned-funcs.c: New file.
! 	* config/arm/t-bpabi (LIB2FUNCS_EXTRA): Add unaligned-funcs.c.
  
! 2005-08-09  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* bb-reorder.c (pass_duplicate_computed_gotos, pass_partition_blocks):
! 	Add dump.
! 	* cfglayout.c (pass_insn_locators_initialize): Add dump.
! 	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes):
! 	Add dump.
! 	* except.c (pass_convert_to_eh_region_ranges): Add dump.
! 	* final.c (pass_shorten_branches): Add dump.
! 	* flow.c (pass_recompute_reg_usage, pass_remove_death_notes): Add dump.
! 	(pass_life): Rename dump.
! 	(rest_of_handle_flow2): Remove initial verify_flow_info.
! 	* function.c (pass_instantiate_virtual_regs): Add dump.
! 	* integrate.c (pass_initial_value_sets): Add dump.
! 	* jump.c (pass_cleanup_barriers, pass_purge_lineno_notes): Add dump.
! 	* loop-init.c (pass_rtl_loop_init, pass_rtl_loop_done): Rename dump.
! 	(pass_rtl_move_loop_invariants, pass_rtl_unswitch, pass_rtl_doloop,
! 	pass_rtl_unroll_and_peel_loops): Rename dump and add gate.
! 	(gate_rtl_move_loop_invariants, gate_rtl_unswitch, gate_rtl_doloop,
! 	gate_rtl_unrool_and_peel_loops): New.
! 	(rtl_move_loop_invariants, rtl_unswitch, rtl_unrool_and_peel_loops,
! 	rtl_doloop): Do not look at flags.
! 	* mode-switching.c (pass_mode_switching): Add dump.
! 	* recog.c (pass_split_all_insns, pass_split_for_shorten_branches,
! 	pass_split_before_regstack): Add dump.
! 	* regmove.c (pass_stack_adjustments): Add dump.
! 	* tree-optimize.c (pass_fixup_cfg): Add dump.
  
! 2005-08-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	PR 23309
! 	* config/m32r/m32r.c (m32r_reload_lr): Fix off by one error when
! 	deciding which instruction sequence to use.
  
! 2005-08-09  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	* tree-vect-transform.c (vect_create_epilog_for_reduction): Set
! 	BIT_FIELD_REF_UNSIGNED for newly created BIT_FIELD_REFs.
  
! 2005-08-09  Richard Guenther  <rguenther@suse.de>
  
! 	* c-common.c (builtin_function_2): Remove.
! 	(def_builtin_1): New function.
! 	(c_common_nodes_and_builtins): Use def_builtin_1 to
! 	build builtin functions.
  
! 2005-08-09  Jie Zhang  <jie.zhang@analog.com>
  
! 	* config/bfin/uclinux.h (NO_IMPLICIT_EXTERN_C): Define.
! 	* config/bfin/elf.h (NO_IMPLICIT_EXTERN_C): Define.
! 	* config/bfin/bfin.c (bfin_return_in_memory): Update to really match
! 	Visual DSP.
  
! 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): Use
! 	fold_binary instead of fold_build2 since we don't care about the
! 	resulting tree.
! 	(loop_niter_by_eval): Likewise.
! 	(compare_trees): Likewise.
! 	(proved_non_wrapping_p): Likewise.
  
! 2005-08-09  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR c/23161
! 	PR c/23165
! 	* c-typeck.c (c_finish_if_stmt): Look into STATEMENT_LISTs to see
! 	if the if is really empty.
  
! 2005-08-09  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/23234
! 	* tree-ssa-math-opts.c (place_reciprocal): New enum.
! 	(execute_cse_reciprocals_1): Replace the 'phi' argument with an
! 	argument of the new enum.
! 	(execute_cse_reciprocals): Add reciprocals for function arguments
! 	on the unique successor edge of the entry block.  Update other calls
! 	to execute_cse_reciprocals_1.
  
! 2005-08-08  Richard Henderson  <rth@redhat.com>
  
! 	PR 22439
! 	* gimplify.c (gimplify_one_sizepos): Preserve the original type.
  
! 2005-08-08  Bob Wilson  <bob.wilson@acm.org>
  
! 	* expr.c (write_complex_part): Return after handling MEM.
  
! 2005-08-08  Josh Conner  <jconner@apple.com>
  
! 	PR rtl-optimization/23241
! 	* combine.c (simplify_comparison): Fix error in determining
! 	whether to lift a subreg from comparison.
  
! 2005-08-08  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR target/18506
! 	* config/rs6000/altivec.md (vec_init<mode>): New.
! 	(vec_set<mode>): New.
! 	(vec_extract<mode>): New.
! 	* config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
! 	(rs6000_expand_vector_set): New.
! 	(rs6000_expand_vector_extract): New.
! 	(rs6000_legitimate_offset_address_p): Offset addresses are valid
! 	for Altivec modes before reload.
! 	(altivec_expand_vec_init_builtin): New.
! 	(get_element_number): New.
! 	(altivec_expand_vec_set_builtin): New.
! 	(altivec_expand_vec_ext_builtin): New.
! 	(altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
! 	builtins.
! 	(altivec_init_builtins): Init vec_init, vec_set, and vec_ext
! 	builtins.
! 	* config/rs6000/rs6000.h (rs6000_builtins): Add
! 	ALTIVEC_BUILTIN_VEC_INIT_<mode>, ALTIVEC_BUILTIN_VEC_SET_<mode>,
! 	ALTIVEC_BUILTIN_VEC_EXT_<mode>.
! 	* config/rs6000/rs6000-protos.h: Declare new functions.
  
! 2005-08-08  Jan Hubicka  <jh@suse.cz>
  
! 	* i386.c (legitimate_pic_address_disp_p): Refuse GOTOFF in 64bit mode.
! 	(legitimate_address_p): Refuse GOT and GOTOFF in 64bit mode.
! 	* i386.md (movdi*): Use pic_32bit_operand.
! 	* predicates.md (pic_32bit_operand): New.
  
! 2005-08-08  Nathan Sidwell  <nathan@codesourcery.com>
  
! 	PR c++/21166
! 	* stor-layout.c (finalize_type_size): Undo DECL_PACKED when possible.
  
! 2005-08-07  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree-vrp.c (simplify_div_or_mod_using_range): Use build2.
! 	(test_for_singularity): Use fold_build2.
  
! 2005-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Fix loop upper bound.
  
! 2005-08-07  Danny Smith  <dannysmith@users.sourceforge.net>
  
! 	* config/i386/cygming.h (SUBTARGET_ENCODE_SECTION_INFO): Define.
! 	(COMMON_ASM_OP) Define.
! 	* config/i386/i386.c (ix86_in_large_data_p): Add ATTRIBUTE_UNUSED
! 	(ix86_encode_section_info): Likewise.
! 	(TARGET_ENCODE_SECTION_INFO): Conditionally define as
! 	SUBTARGET_ENCODE_SECTION_INFO.
  
! 2005-08-06  Richard Henderson  <rth@redhat.com>
  
! 	PR 21894
! 	* tree-nested.c (convert_local_reference): Save and restore val_only
! 	around component_ref and friends.  Clear walk_subtrees by default.
  
! 2005-08-06  Peter O'Gorman  <peter@pogma.com>
  
! 	PR 21366
! 	* gcc.c (process_command): Check the argument to -b has a dash.
! 	* doc/invoke.texi: Update -b and -V docs.
  
! 2005-08-06  James E Wilson  <wilson@specifix.com>
  
! 	* config/mips/cross64.h, config/mips/t-cross64: Delete.
  
! 2005-08-06  Michael Matz  <matz@suse.de>
  
! 	* genattrtab.c (write_attr_get, write_attr_case): Use insn_code
! 	member only if only one insn is associated with the value.
  
! 2005-08-06  Nick Clifton  <nickc@redhat.com>
  
! 	* config/stormy16/stormy16.h (SYMBOL_FLAG_XSTORMY16_BELOW100):
! 	New define.
! 	(ASM_OUTPUT_LABELREF): Delete - it is no longer needed.
! 	* config/stormy16/stormy16.c (xstormy16_below100_symbol):
! 	Check symbol flags instead of symbol name mangling.
! 	(xstormy16_asm_output_aligned_common): Likewise.  Also
! 	simplify code since the bss100_section cass is the only case
! 	where the below100 code will be triggered.
! 	(xstormy16_encode_section_info): Encode below100 attribute
! 	using the SYMBOL_FLAG_XSTORMY16_BELOW100 instead of mangling
! 	the name.
! 	(xstormy16_strip_name_encoding): Delete - this function is no
! 	longer needed.
! 	(TARGET_STRIP_NAME_ENCODING): Undefine.
! 	* config/stormy16/stormy16-protos.h: Delete prototype for
! 	xstormy16_strip_name_encoding.
  
! 2005-08-06  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* Makefile.in, cfgexpand.c, cfgloop.h, cfgloopmanip.c,
! 	config.gcc, ipa-cp.c, ipa-prop.c, ipa-prop.h, reg-stack.c,
! 	tree-ssa-structalias.c, tree-vrp.c, value-prof.c, vec.h,
! 	config/linux.h, config/alpha/alpha.h, config/alpha/linux.h,
! 	config/alpha/predicates.md, config/arc/arc.h,
! 	config/arm/arm.h, config/arm/ieee754-df.S,
! 	config/arm/ieee754-sf.S, config/bfin/bfin.c,
! 	config/bfin/bfin.h, config/c4x/c4x.h, config/crx/crx.c,
! 	config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
! 	config/i386/i386.h, config/ia64/ia64.c, config/ia64/ia64.h,
! 	config/m68hc11/m68hc11.h, config/mips/mips.c,
! 	config/mips/mips.h, config/mips/openbsd.h,
! 	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.h,
! 	config/pdp11/pdp11.h, config/rs6000/linux-unwind.h,
! 	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
! 	config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
! 	config/sparc/linux.h, config/sparc/linux64.h,
! 	config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h,
! 	doc/extend.texi, doc/gcov.texi, doc/install.texi,
! 	doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix comment/doc
! 	typos.  Follow spelling conventions.
  
! 2005-08-06  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/23113
! 	* stmt.c (warn_if_unused_value): Check TREE_NO_WARNING at start.
! 	Don't handle NOP_EXPR, CONVERT_EXPR and NON_LVALUE_EXPR
! 	specially.  Check for side effects only for COND_EXPR.
! 	* c-typeck.c (c_finish_stmt_expr): Mark statement expression
! 	return with TREE_NO_WARNING.
  
! 2005-08-06  Richard Sandiford  <richard@codesourcery.com>
  
! 	PR rtl-optimization/23233
! 	* loop.c (combine_movables): Require the modes to be the same.
! 	(move_movables): Remove handling of cases where the replacement
! 	had a different mode to the original.
  
! 2005-08-05  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/23128
! 	* tree-vrp.c (vrp_int_const_binop): Check if unsigned addition or
! 	subtraction wrap, and set TREE_OVERFLOW if they do.
  
! 2005-08-05  Richard Henderson  <rth@redhat.com>
  
! 	PR 21728
! 	* tree-cfg.c (remove_bb): Transmute DECL_NONLOCAL labels into
! 	FORCED_LABEL labels.
  
! 2005-08-05  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR middle-end/23135
! 	* reload.c (find_reloads_subreg_address): Pass down TYPE
! 	unchanged.  Change all callers except find_reloads_toplev.
  
! 2005-08-05  Michael Matz  <matz@suse.de>
  
! 	* genattrtab.c (current_alternative_string): Remove.
! 	(SIMPLIFY_ALTERNATIVE): Ditto.
! 	(attr_alt_bit_p): Ditto.
! 	(alternative_name): Make const char *.
! 	(evaluate_eq_attr): Remove use of above things.
! 	(simplify_test_exp): Ditto.
! 	(simplify_test_exp <EQ_ATTR>): Guard for insn_code < 0 .
! 	(simplify_test_exp <AND>): Correct typo (test 'right' not 'left').
  
! 2005-08-04  James E Wilson  <wilson@specifix.com>
  
! 	* config/ptx4.h, config/sol2.h, config/arm/freebsd.h,
! 	config/arm/linux-elf.h, config/frv/frv.h, config/i386/freebsd.h,
! 	config/i386/freebsd64.h, config/i386/netware.h, config/i386/sco5.h,
! 	config/ia64/freebsd.h, config/rs6000/sysv4.h, config/sparc/freebsd.h
! 	(LINK_SPEC): Delete useless %{Wl,*:%*} item.
  
! 2005-08-04  Richard Henderson  <rth@redhat.com>
  
! 	PR 21529
! 	* params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New.
! 	* params.h (SRA_MAX_STRUCTURE_COUNT): New.
! 	* tree-sra.c (decide_block_copy): Use it.  Disable element copy
! 	if we'd have to instantiate too many members.
  
! 2005-08-04  Richard Henderson  <rth@redhat.com>
  
! 	PR 21291
! 	* tree-outof-ssa.c (coalesce_asm_operands): New.
! 	(coalesce_ssa_name): Use it.  Split out ...
! 	(coalesce_phi_operands, coalesce_result_decls): ... these.
  
! 2005-08-04  Paul Brook  <paul@codesourcery.com>
  
! 	* read-rtl.c (read_quoted_string): Break if EOF.
  
! 2005-08-04  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree.h (fold_build1): Change to macro and call fold_build1_stat.
! 	(fold_build2): Likewise.
! 	(fold_build3): Likewise.
! 	(fold_build1_stat): New function prototype.
! 	(fold_build2_stat): Likewise.
! 	(fold_build3_stat): Likewise.
! 	* fold-const.c (fold_build1): Rename to ..
! 	(fold_build1_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
! 	through to build1_stat.
! 	(fold_build2): Rename to ..
! 	(fold_build2_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
! 	through to build2_stat.
! 	(fold_build3): Rename to ..
! 	(fold_build3_stat): this.  Add MEM_STAT_DECL.  Pass the mem stats
! 	through to build3_stat.
  
! 2005-08-04  David Edelsohn  <edelsohn@gnu.org>
! 	    Ian Lance Taylor  <ian@airs.com>
  
! 	* function.c (assign_stack_local_1): Do not correct stack slot
! 	address if allocation size is smaller than mode size.
  
! 2005-08-04  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 22037
! 	* tree-cfg.c (replace_uses_by): Call mark_new_vars_to_rename.
! 	(tree_merge_blocks): Propagate anything allowed by
! 	may_propagate_copy.
! 	Clarify documentation.
! 	* passes.c (execute_todo): If cleanup_tree_cfg invalidated the
! 	SSA form, schedule an update if necessary.
  
! 2005-08-04  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Binaries): Remove broken link to
! 	Sinix/Reliant Unix binaries.
  
! 2005-08-03  Richard Henderson  <rth@redhat.com>
  
! 	PR 23221
! 	* function.c (stack_protect_epilogue): Export.
! 	* tree.h (stack_protect_epilogue): Declare.
! 	* calls.c (expand_call): Call it.
  
! 2005-08-03  Eric Christopher  <echristo@apple.com>
  
! 	* gcc.c (LINK_SSP_SPEC): Add fstack-protector-all.
! 	* config/darwin.h (LINK_COMMAND_SPEC): Add link_ssp
! 	spec.
  
! 2005-08-04  Jan Hubicka  <jh@suse.cz>
  
! 	* profile.c (branch_prob): Split edges with goto locus on them
! 	to get proper line counts.
! 	* tree-cfg.c (make_cond_expr_edges): Record user goto locuses, if any.
  
! 2005-08-03  Paul Brook  <paul@codesourcery.com>
  
! 	* function.c (assign_parms): Round current_function_args_size
! 	to PARM_BOUNDARY, not STACK_BOUNDARY.
  
! 2005-08-03  Geoffrey Keating  <geoffk@apple.com>
  
! 	* config/i386/i386.c (x86_elf_aligned_common)
! 	(x86_output_aligned_bss): Don't try to use symbols that aren't defined.
  
! 2005-08-03  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/23157
! 	* tree-scalar-evolution.c (scev_const_prop): Unshare trees
! 	before emitting them.
  
! 2005-08-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	PR tree-optimization/19899
! 	* Makefile.in (tree-scalar-evolution.o): Add real.h.
! 	* tree-scalar-evolution.c: Include real.h.
! 	(add_to_evolution): Build constant -1 of correct type.
  
! 2005-08-03  Jan Hubicka  <jh@suse.cz>
  
! 	* cfgloop.h (DLTHE_FLAG_COMPLETTE_PEEL): New flag.
! 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Special case
! 	profile updating for complette unrolling.
! 	* loop-unroll.c (peel_loop_completely): Use it.
! 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
! 	(tree_unroll_loops_completely): Disable code growing unrolling of cold
! 	loops.
  
! 2005-08-03  Paul Brook  <paul@codesourcery.com>
  
! 	* combine.c (can_change_dest_mode): New function.
! 	(try_combine, simplify_set): Use it.
  
! 2005-08-03  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Only force
! 	TFmode to BLKmode.
  
! 2005-08-03  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Specific): Adjust link to openavr.org.
! 	(Specific): Remove broken reference to GCC 2.8.1 for OS/2.
! 	(Binaries): Adjust HP-UX Porting Center link.
! 	(Binaries): Adjust Free Software Foundation ordering link.
  
! 2005-08-03  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* convert.c (convert_to_integer): Use fold_build1 instead of
! 	build1 when converting an integer to an integer.
  
! 2005-08-02  Richard Henderson  <rth@redhat.com>
  
! 	* combine.c (combine_instructions): Don't use reg_equal/equiv
! 	results if the mode doesn't match.
  
! 2005-08-02  Mark Mitchell  <mark@codesourcery.com>
  
! 	* config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Set it.
! 	* doc/fragments.texi (NATIVE_SYSTEM_HEADER_DIR): Document it.
  
! 2005-08-02  Richard Henderson  <rth@redhat.com>
  
! 	PR 23196
! 	* explow.c (memory_address): Remove special-case for
! 	virtual_stack_vars_rtx and virtual_incoming_args_rtx.
  
! 2005-08-02  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 23164
! 	* tree-cfgcleanup.c (cleanup_tree_cfg): Do not limit the
! 	number of calls to cleanup_tree_cfg_1.
  
! 2005-08-02  Martin Reinecke  <martin@mpa-garching.mpg.de>
  
! 	* doc/invoke.texi: document file extensions .F90 and .F95
  
! 2005-08-02  Richard Guenther  <rguenther@suse.de>
  
! 	* fold-const.c (tree_expr_nonnegative_p): frexp(x, &e) is
! 	positive if its first argument is positive.
  
! 2005-08-02  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/23177
! 	* tree-ssa-operands.c (get_tmr_operands): Use get_expr_operands
! 	on TMR_TAG.
  
! 2005-08-02  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/23129
! 	* tree-vrp.c (extract_range_from_binary_expr): Set value range to
! 	varying for divisions with anti-ranges.
  
! 2005-08-02  Jan Hubicka  <jh@suse.cz>
  
! 	* tree-ssa-dom.c (thread_across_edge): Remove updating here.
! 	* tree-ssa-threadupdate.c (thread_block): Add it here.
  
! 2005-08-01  James E Wilson  <wilson@specifix.com>
  
! 	* config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
! 	TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
! 	* config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
! 	New.
! 	* config/mips/predicates.md (const_call_insn_operand): Add check for
! 	SYMBOL_REF_LONG_CALL_P.
! 	* doc/extend.texi (long_call): Document the new attribute.
  
! 2005-08-01  Ian Lance Taylor  <ian@airs.com>
! 	    Richard Henderson  <rth@redhat.com>
  
! 	* Makefile.in (RTL_BASE_H): Add real.h.
! 	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
! 	instead of memcpy.
! 	* emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
! 	directly.
! 	* rtl.c (rtl_check_failed_code_mode): New.
! 	* rtl.h (struct rtx_def): Add u.rv.
! 	(XCMWINT, XCNMPRV): New.
! 	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
! 	(CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.
  
! 2005-08-01  Richard Henderson  <rth@redhat.com>
  
! 	* dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
! 	with auto-inc codes.
  
! 	* config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
  
! 2005-08-01  Jan Hubicka  <jh@suse.cz>
  
! 	* i386-protos.h (asm_preferred_eh_data_format): Declare.
! 	* i386.c: Include dwarf2.h
! 	(asm_preferred_eh_data_format): New.
! 	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.
  
! 2005-08-01  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/host-linux.c (linux_gt_pch_get_address): Add new name
! 	randomize_va_space for virtual address randomization control.
  
! 2005-08-01  Steven Bosscher  <stevenb@suse.de>
  
! 	* common.opt (flag_ipa_cp): Put in right place to maintain
! 	alphabetic sort.
  
! 2005-08-01  Jan Hubicka  <jh@suse.cz>
  
! 	* profile.c (compute_value_histograms): Fix thinko.
! 	* value-prof.c: Include toplev.h
! 	(check_counter): New function.
! 	(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
! 	tree_mod_subtract_transform): Add sanity check.
  
! 2005-08-01  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/23133
! 	* tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
! 	current functions parameter decls to find defs to cse
! 	reciprocals of.
  
! 2005-08-01  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/23109
! 	* tree-ssa-math-opts.c (execute_cse_reciprocals_1):
! 	If trapping math is in effect, use post-dominator information
! 	to check if we'd in any case reach a trapping point before
! 	doing the reciprocal insertion.
! 	(execute_cse_reciprocals): Compute post-dominators, if necessary.
! 	* tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
! 	expressions are invariant only if trapping math is not in effect.
  
! 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
  
! 	* cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
! 	cgraph_function_versioning): New declarations.
! 	* cgraphunit.c: Add include to ipa-prop.h.
! 	(update_call_expr, cgraph_copy_node_for_versioning,
! 	cgraph_function_versioning): New functions.
! 	* integrate.c (copy_decl_for_inlining): Remove.
! 	* ipa-prop.h (ipa_replace_map): New struct.
! 	(struct ipa_node): Add ipcp_orig_node, count_scale, new fields.
! 	* ipa-cp.c (ipcp_method_orig_node, ipcp_method_is_cloned,
! 	ipcp_method_set_orig_node, ipcp_cloned_create, ipcp_method_get_scale,
! 	ipcp_method_set_scale, ipcp_method_compute_scale, ipcp_after_propagate,
! 	ipcp_iterate_stage, ipcp_method_scale_print,
! 	ipcp_profile_mt_count_print, ipcp_profile_cs_count_print,
! 	ipcp_profile_edge_print, ipcp_profile_bb_print , ipcp_profile_print,
! 	ipcp_replace_map_create, ipcp_redirect, ipcp_update_callgraph,
! 	ipcp_update_bb_counts, ipcp_update_profiling,
! 	ipcp_update_edges_counts): New functions.
! 	(ipcp_method_cval_init): Remove restriction regarding local methods.
! 	(ipcp_init_stage): Add ipcp_method_compute_scale.
! 	(ipcp_insert_stage): Add versioning.
! 	(ipcp_structures_print): Add ipcp_method_scale_print.
! 	(ipcp_driver): Dump profiling info.
! 	* Makefile.in: Remove integrate.h dependency from tree-inline.o.
! 	Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
! 	* tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
! 	(struct inline_data): Add versioning_p, ipa_info, new fields.
! 	(remap_decl, mark_local_for_remap_r, setup_one_parameter,
! 	declare_return_variable): Replace calls to copy_decl_for_inlining with
! 	copy_decl_for_dup.
! 	(copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
! 	versioning support.
! 	(copy_decl_for_dup): Rename from copy_decl_for_inlining.
! 	Add argument VERSIONING.
! 	(copy_arguments_for_versioning, copy_static_chain,
! 	function_versionable_p, tree_versionable_function_p,
! 	tree_function_versioning, replace_ref_tree): New functions.
! 	* tree-inline.h: Include varray.h.
! 	(tree_versionable_function_p,  tree_function_versioning,
! 	tree copy_decl_for_dup): New declarations.
  
! 2005-08-01  Razya Ladelsky  <razya@il.ibm.com>
  
! 	* ipa-cp.c: New file. Contains IPCP specific functionality.
! 	* ipa-prop.h: New file. Contains structures/definitions that can be
! 	used by several interprocedural data flow optimizations (and also IPCP).
! 	* ipa-prop.c: New file.
! 	* Makefile.in: Add ipa-cp.c, ipa-prop.h, ipa-prop.c.
! 	* common.opt: Add ipa-cp flag.
! 	* timevar.def: Add IPCP optimization.
! 	* tree-optimize.c (init_tree_optimization_passes): Schedule
! 	pass_ipa_cp.
! 	* tree-pass.h (pass_ipa_cp): Declare.
  
! 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* dwarf2out.c, fold-const.c, ipa-type-escape.c,
! 	loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
! 	tree-sra.c, config/arm/arm.c, config/crx/crx.c,
! 	config/i386/i386.c, config/mips/mips.h,
! 	config/rs6000/rs6000.h, config/sh/sh.c,
! 	config/stormy16/stormy16.c: Fix comment typos.
  
! 2005-08-01  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22311
! 	* c-typeck.c (build_binary_op): Use common_type wrapper on
! 	shortened types.
! 	(common_type): Update comment.
  
! 2005-07-31  Steven Bosscher  <stevenb@suse.de>
  
! 	PR target/23095
! 	* common.opt (flag_gcse_after_reload): Don't initialize to 2.
! 	(flag_rerun_cse_after_loop): Initialize this to 2 instead.
! 	* postreload-gcse.c (hash_scan_set): Do not consider stack regs.
  
! 2005-07-31  Jan Hubicka  <jh@suse.cz>
  
! 	* pretty-print.h (pp_widest_integer): New macro.
! 	* tree-pretty-print.c (dump_bb_header): Print BB frequencies and
! 	counts.
  
! 2005-07-31  Jan Hubicka  <jh@suse.cz>
  
! 	* output.h (enum section_category): Export from varasm.c
! 	(categorize_decl_for_section): Likewise.
! 	* varasm.c (enum section_category): Kill.
! 	(categorize_decl_for_section): Make global.
! 	* i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
! 	Declare.
! 	* i386.c (ix86_section_threshold): New static variable.
! 	(ix86_in_large_data_p, ix86_encode_section_info,
! 	x86_64_elf_unique_section,
! 	x86_64_elf_select_section): New functions.
! 	(TARGET_ENCODE_SECTION_INFO): Define
! 	(override_options): Enable medium model for PIC.
! 	(ix86_expand_prologue): Expand gen_set_got_rex64.
! 	(legitimate_constant_p): Handle new UNSPECs.
! 	(legitimate_pic_address_disp_p): Likewise.
! 	(legitimize_pic_address): Lower MEDIUM model addressing.
! 	* i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
! 	(enum cmodel): Add MEDIUM_PIC.
! 	(SYMBOL_REF_FAR_ADDR_P): New macro.
! 	(SYMBOL_FLAG_FAR_ADDR): New flag.
! 	* i386.md (movdi): Support medium model.
! 	(set_got_rex64): New pattern.
! 	* i386.opt (mlarge-data-threshold): New flag.
! 	* predicates.md (zext_operand/sext_operand): Deal with medium model.
! 	* x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
! 	(ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
! 	TARGET_ASM_UNIQUE_SECTION): New.
  
! 	* invoke.texi (-mlarge_data_threshold): Document
  
! 2005-07-31  Jan Hubicka  <jh@suse.cz>
  
! 	* tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
! 	(coalesce_vars): Likewise.
! 	* tree-ssa-live.c (coalesce_cost): New.
! 	(build_tree_conflict_graph): Use coalesce_cost.
! 	* tree-ssa-live.h (coalesce_cost): Declare.
  
! 2005-07-30  Richard Earnshaw  <richard.earnshaw@arm.com>
  
! 	* arm.md (all peepholes for post-increment operations): Delete.
! 	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
! 	(loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
! 	(loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
! 	(loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
! 	(strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.
  
! 2005-07-30  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (tree_expr_nonnegative_p): Always return true for
! 	non-integral types.
  
! 2005-07-29  Wolfgang Bangerth <bangerth@dealii.org>
  
! 	PR target/22582
! 	* doc/invoke.texi: Document -rdynamic.
  
! 2005-07-30  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/23143
! 	* c-parser.c (c_parser_parms_list_declarator): Call
! 	mark_forward_parm_decls.
! 	* c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
! 	decls with visibility structure.
  
! 2005-07-30  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
  
! 2005-07-30  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
! 	prototype.
! 	* config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
! 	value for mode.
! 	* config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.
  
! 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/529
! 	* c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
! 	nested function declarators.
! 	(pushdecl): Don't call warn_if_shadowing for PARM_DECL.
! 	(grokparms): Call warn_if_shadowing for parameters used within the
! 	parameter list.
! 	(store_parm_decls_newstyle): Call warn_if_shadowing for parameters
! 	not used within the parameter list.
! 	(store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.
  
! 2005-07-30  Jan Hubicka  <jh@suse.cz>
  
! 	* expr.c (expand_expr_real_1): Do not load mem targets into register.
! 	* i386.c (ix86_fixup_binary_operands): Likewise.
! 	(ix86_expand_unary_operator): Likewise.
! 	(ix86_expand_fp_absneg_operator): Likewise.
! 	* optabs.c (expand_vec_cond_expr): Validate dest.
  
! 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21720
! 	* real.c (real_from_string): Also set last bit if there is a
! 	nonzero hex digit beyond GCC's internal precision after ".".
  
! 2005-07-29  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/altivec.md: Convert UNSPEC numerical values to
! 	define_constants.  Change duplicate values to unassigned numbers.
! 	Change UNSPEC_SUBS to UNSPEC_VSUBS.
! 	(*altivec_vspltsf): New.
! 	(altivec_vperm_v4sf): Delete.
! 	(altivec_vperm_<mode>): Use mode macro V.
! 	(altivec_vsldoi_<mode>): Convert to mode macro pattern.
! 	(altivec_predicate_v4sf): Delete.
! 	(altivec_predicate_<mode>): Use mode macro V.
! 	(*altivec_lvesfx): New.
! 	(*altivec_stvesfx): New.
! 	(vec_realign_load_v4sf): Delete.
! 	(vec_realign_load_<mode>): Use mode macro V.
! 	* config/rs6000/rs6000.c (generate_set_vrsave): Use
! 	UNSPECV_SET_VRSAVE.
  
! 2005-07-29  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR bootstrap/23131
! 	* configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
! 	string.
! 	* configure: Regenerated.
  
! 2005-07-29  Paul Brook  <paul@codesourcery.com>
  
! 	* doc/install.texi: Add link to GFortran binaries wiki page.
  
! 2005-07-29  David Ung  <davidu@mips.com>
  
! 	* config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
! 	(mips_rtx_cost_data): Add costs for 5kc and 5kf.
! 	* config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
! 	* config/mips/mips.md (cpu): Add 5kf name.
! 	(includes): Includes 5k.md.
! 	* config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
! 	* doc/invoke.texi (MIPS Options): Updated cpu name supported with
! 	-march flag.
  
! 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 22550
! 	* tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
! 	(cleanup_tree_cfg): ... here.
! 	Call cleanup_tree_cfg_1 until there are no more cleanups to
! 	do.
  
! 2005-07-29  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree-vrp.c (compare_range_with_value): Return true or false
! 	for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
! 	EQ_EXPR respectively.
  
! 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
! 	Fix comment typos.
  
! 2005-07-29  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
! 	(tree_ssa_dominator_optimize): Increment it.
! 	(dump_dominator_optimization_stats): Print it.
  
! 2005-07-29  Richard Earnshaw  <richard.earnshaw@arm.com>
! 	    Steven Bosscher  <stevenb@suse.de>
  
! 	PR rtl-optimization/23117
! 	* sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
! 	when head == tail.  Tidy comment.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	* cse.c (exp_equiv_p): Special case CONST_DOUBLE.
! 	* cselib.c (rtx_equal_for_cselib_p): Likewise.
! 	* jump.c (rtx_renumbered_equal_p): Likewise.
! 	* loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
! 	CONST_INT and CONST_DOUBLE.
! 	(rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
! 	* reload.c (operands_match_p): Special case CONST_INT and
! 	CONST_DOUBLE; check mode earlier.
  
! 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22240
! 	* c-typeck.c (convert_for_assignment): Do not check
! 	DECL_IN_SYSTEM_HEADER on NULL fundecl.
  
! 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22192
! 	* c-typeck.c (composite_type): Prefer constant size arrays to
! 	VLAs.
  
! 2005-07-29  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/21720
! 	* real.c (real_from_string): Set last bit if there is a nonzero
! 	hex digit beyond GCC's internal precision.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR rtl-opt/22619
! 	* cfgcleanup.c (try_forward_edges): Watch out for end of
! 	insn chain.
  
! 2005-07-28  James E Wilson  <wilson@specifixinc.com>
  
! 	PR c/23106
! 	* doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.
  
! 2005-07-28  Jan Hubicka  <jh@suse.cz>
  
! 	* Makefile.in (rtl-profile.o): Kill all traces of it.
! 	* common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
! 	* coverage.h (rtl_coverage_counter_ref): Kill.
! 	* opts.c (flag_speculative_prefetching_set): Kill.
! 	(flag_loop_optimize_set): New.
! 	(common_handle_option): Disable loop optimizer when profiling;
! 	do not handle speculative prefetching.
! 	* passes.c (init_optimization_passes): Replace pass_profiling combo
! 	by branch_prob pass.
! 	* profile.c (compute_value_histograms): Update for simplified value
! 	profiles.
! 	(rtl_register_profile_hooks): Kill.
! 	(pass_profiling): Kill.
! 	(rest_of_handle_branch_prob): Do not profile.
! 	* toplev.c (process_options): Remove speculative prefetching.
! 	* toplev.h (flag_tree_based_profiling): Kill.
! 	* tree-profile.c (prepare_instrumented_value,
! 	tree_gen_interval_profiler, tree_gen_pow2_profiler,
! 	tree_gen_one_value_profiler, do_tree_profiling): Update for
! 	simplified datastructures.
! 	* value-prof.c: Add comment that speculative prefetching was dropped;
! 	update rest of file for simplified datastructures.
! 	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
! 	rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
! 	find_mem_reference_1, find_mem_reference_2, find_mem_reference,
! 	rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
! 	rtl_mod_subtract, gen_speculative_prefetch,
! 	rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
! 	rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
! 	(gate_handle_value_profile_transformations,
! 	rest_of_handle_value_profile_transformations,
! 	pass_value_profile_transformations): Kill.
! 	* value-prof.h (histogram_value_t): Remove IL based unions.
! 	(rtl_register_value_prof_hooks, rtl_register_profile_hooks,
! 	rtl_profile_hooks): Remove hooks.
  
! 	* invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.
  
! 	* cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
! 	(cgraph_clone_node): Likewise.
! 	* cgraph.h (cgraph_clone_edge): Update prototype.
! 	(cgraph_clone_node): Likewise.
! 	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
! 	cgraph_clone_node.
! 	(lookup_recursive_calls): Consider profile.
! 	(cgraph_decide_recursive_inlining): Fix updating; use new
! 	probability argument; use profile.
! 	* params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
! 	* tree-inline.c (copy_bb): Update clal of clone_edge.
! 	* tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.
  
! 	* invoke.texi (min-inline-recursive-probability): Document.
  
! 2005-07-28  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* doc/install.texi (Configuration): Update Valgrind homepage.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR middle-end/21362
! 	* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
! 	labels we want to delete.
! 	(cfg_layout_merge_blocks): Likewise.
  
! 2005-07-28  Richard Henderson  <rth@redhat.com>
  
! 	PR target/17692
! 	* config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
! 	when expanding to nothing.
  
! 2005-07-28  Josh Conner  <jconner@apple.com>
  
! 	* ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
! 	(cgraph_decide_inlining_of_small_functions): Likewise.
  
! 2005-07-28  Josh Conner  <jconner@apple.com>
  
! 	* ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
! 	direction of badness if negative.
! 	(cgraph_default_inline_p): Add reason to parameters, and assign it
! 	a value.
! 	(cgraph_decide_inlining_of_small_functions): New parameter in call
! 	to cgraph_default_inline_p.
! 	(cgraph_decide_inlining_incrementally): Likewise.
! 	* cgraphunit.c (decide_is_function_needed): Likewise.
! 	* cgraph.h (cgraph_default_inline_p): Likewise.
  
! 2005-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* builtins.c: Fix comment typo(s).
! 	* genautomata.c: Likewise.
! 	* gimplify.c: Likewise.
! 	* tree-dfa.c: Likewise.
! 	* tree-flow-inline.h: Likewise.
! 	* tree-into-ssa.c: Likewise.
! 	* tree-ssa-alias.c: Likewise.
! 	* tree-ssa-ccp.c: Likewise.
! 	* tree-ssa-copy.c: Likewise.
! 	* tree-ssa-dce.c: Likewise.
! 	* tree-ssa-dom.c: Likewise.
! 	* tree-ssa-operands.c: Likewise.
! 	* tree-tailcall.c: Likewise.
! 	* tree-vectorizer.c: Likewise.
! 	* tree-vrp.c: Likewise.
! 	* tree.c: Likewise.
  
! 2005-07-28  Jeff Law  <law@redhat.com>
  
! 	* tree-vrp.c (test_for_singularity): Extracted from  ...
! 	(simplify_cond_using_ranges): Attempt to simplify a relational
! 	test to NE_EXPR.  Dump information when a COND_EXPR is simplified.
  
! 2005-07-28  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	PR tree-optimization/22506
! 	* tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
! 	phis whose argument is constant.
  
! 2005-07-28  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR rtl-optimization/18992
! 	Back out this patch:
! 	  2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 	  PR optimization/12142
! 	  * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
! 	  uses of the register in the SET_SRC.  Remove unnecessary argument.
  
! 	Replace it with this:
! 	* cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
! 	if flag_non_call_exceptions is set and the insn may trap, pass
! 	pc_rtx as dest for recursion.
! 	In SET_SRC part of SET case, if dest is already set, pass it down
! 	unchanged.
  
! 2005-07-28  Jan Hubicka  <jh@suse.cz>
  
! 	* cfg.c (update_bb_profile_for_threading): Use RDIV.
! 	(scale_bbs_frequencies_int): Likewise, assert for possible overflow.
! 	(scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
! 	roundoff errors.
! 	* tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
! 	profile when available.
  
! 2005-07-28  Jan Beulich <jbeulich@novell.com>
  
! 	* config/ia64/ia64.c (ia64_load_pair_ok): New.
! 	(ia64_print_operand): Describe and handle 'X'.
! 	(ia64_register_move_cost): Also handle FP_REGS.
! 	(ia64_preferred_reload_class): Likewise.
! 	(ia64_secondary_reload_class): Likewise.
! 	(ia64_dependencies_evaluation_hook): New local variable c. Initialize
! 	it. Also check for ITANIUM_CLASS_FLDP.
! 	* config/ia64/ia64.h (FP_REGNO_P): New.
! 	(HARD_REGNO_MODE_OK): Remove explusion of TImode.
! 	(reg_class): Add FP_REGS.
! 	(REG_CLASS_NAMES): Adjust for it.
! 	(REG_CLASS_CONTENTS): Likewise.
! 	(REGNO_REG_CLASS): Use FP_REGS where appropriate.
! 	(REG_CLASS_FROM_LETTER): Handle 'x'.
! 	(CLASS_MAX_NREGS): Handle FP_REGS.
! 	(MEMORY_MOVE_COST): Likewise.
! 	* config/ia64/ia64.md (itanium_class): Add fldp.
! 	(type): Handle fldp.
! 	(movti_internal): More allowable operand combinations. Use ldfp8 when
! 	splitting unnecessary. Remove predicable attribute. Adjust
! 	itanium_class attribute.
! 	(smuldi3_highpart): Remove outdated comment.
! 	(mulditi3, umulditi3, rotlti3): New expanders.
! 	(addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
! 	(absti2): Disabled new insn for future reference.
! 	Respective new splitters.
! 	* config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
! 	* config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
! 	* config/ia64/ia64-protos.h (ia64_load_pair_ok): New.
  
! 2005-07-25  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR rtl-optimization/23047
! 	* simplify-rtx.c (simplify_const_relational_operation): Respect
! 	flag_wrapv for comparisons with ABS.
  
! 2005-07-27  James A. Morrison  <phython@gcc.gnu.org>
  
! 	PR tree-optimization/22493
! 	* tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
! 	VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.
  
! 2005-07-27  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/frv/frv.opt (moptimize-membar): New.
  
! 	* doc/invoke.texi: Document -moptimize-membar and its inverse.
  
! 	* config/frv/frv.h: Remove machine_function definition.
  
! 	* config/frv/frv.c (struct frv_io): New.
! 	(struct machine_function): Moved from frv.h.  Add has_membar_p.
! 	(frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
! 	(frv_extract_membar, frv_io_check_address, frv_io_handle_set)
! 	(frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
! 	(frv_optimize_membar_global, frv_optimize_membar): New functions.
! 	(frv_reorg): Call frv_optimize_membar when appropriate.
! 	(bdesc_loads, bdesc_stores): Use the membar code as the icode field.
! 	(frv_expand_builtin): Adjust calls accordingly.
! 	(frv_io_address_cookie): New function.
! 	(frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
! 	load or store rather than a special insn.  Add ccnstant address and
! 	io-type operands to the membar.
! 	(frv_ifcvt_modify_tests): Unsign regno.
! 	(frv_ifcvt_modify_tests): Same.
  
! 	* config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}.  Change
! 	UNSPEC_OPTIONAL_MEMBAR constant.
! 	(builtin_read_<mode>): Delete.
! 	(builtin_write_<mode>): Delete.
! 	("optional_membar_<mode>"): Add operand.
  
! 	* testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
! 	* testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
! 	* testsuite/gcc.target/frv/all-read-write-1.c: New.
  
! 2005-07-28  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* df.c (df_uses_record): Handle SCRATCH.
  
! 2005-07-28  Steven Bosscher  <stevenb@suse.de>
  
! 	PR debug/20161
! 	* passes.c (rest_of_decl_compilation): If decl is a type and
! 	we have encountered errors, don't emit debug information.
  
! 2005-07-27  Kenneth Zadeck <zadeck@naturalbridge.com>
  
! 	* params.def: Fixed comment.
  
! 2005-07-27  Bjoern Haase  <bjoern.m.haase@web.de>
  
! 	PR target/19885
! 	* config/avr/avr.c (TARGET_ASM_ALIGNED_SI_OP): Add.
! 	(TARGET_ASM_UNALIGNED_HI_OP): Add.
! 	(TARGET_ASM_UNALIGNED_SI_OP): Add.
  
! 2005-07-27  Steven Bosscher  <stevenb@suse.de>
  
! 	PR c++/22003
! 	* varasm.c (assemble_start_function): Don't do anything that may
! 	require a CFG if the current function is a thunk.
  
! 2005-07-25  Geoffrey Keating  <geoffk@apple.com>
  
! 	* doc/install.texi (Prerequisites): Mention that perl is needed
! 	to do export control in libstdc++ targetting Darwin.
  
! 2005-07-27  Steven Bosscher  <stevenb@suse.de>
  
! 	PR rtl-optimization/17808
! 	* sched-deps.c (sched_get_condition): Enable #if 0'ed code.
! 	(sched_insns_conditions_mutex_p): Split out from...
! 	(add_dependence): ...here.  But don't call it from here.
! 	(add_dependence_list): Check sched_insns_conditions_mutex_p
! 	before calling add_dependence.
! 	(add_dependence_list_and_free): Likewise.
! 	(fixup_sched_groups): Likewise.
! 	(sched_analyze_1): Likewise.
! 	(sched_analyze_2): Likewise (and replace a "0" with REG_DEP_TRUE).
! 	(sched_analyze): Likewise.
! 	(sched_analyze_insn): Likewise.
! 	* sched-ebb.c (add_deps_for_risky_insns): Likewise.
! 	* sched-rgn.c (add_branch_dependences): Likewise.  Also, add
! 	dependencies on all COND_EXEC insns to jumps ending basic blocks
! 	when doing intrablock scheduling.
! 	* sched-int.h (sched_insns_conditions_mutex_p): Add prototype.
  
! 2005-07-27  Jeff Law  <law@redhat.com>
  
! 	* tree-vrp.c (vrp_meet): Intersect the equivalency sets when
! 	meeting a VR_ANTI_RANGE with a VR_RANGE.  When intersecting
! 	equivalency sets, correctly handle the case were vr0 has an
! 	equivalency set, but vr1 does not.
  
! 2005-07-27  Dorit Nuzman  <dorit@il.ibm.com>
  
! 	PR tree-optimization/23073
! 	* tree-vect-analyze.c (vect_analyze_data_refs_alignment): Call
! 	vect_print_dump_info before fprintf.
  
! 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimize/22348
! 	* tree-ssa-loop-niter.c (number_of_iterations_cond):
! 	Fold the partial computation.
  
! 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/22325
! 	* tree-flow.h (compute_phi_arg_on_exit, force_expr_to_var_cost):
! 	Declare.
! 	* tree-scalar-evolution.c (scev_const_prop): Add generic final
! 	value replacement.
! 	* tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Split from ...
! 	(force_var_cost): ... this function.
! 	(compute_phi_arg_on_exit): Export.
  
! 2005-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/20773
! 	* tree-ssa-loop-ch.c (copy_loop_headers): Select the correct latch
! 	edge.
  
! 2005-07-27  Richard Guenther  <rguenther@suse.de>
  
! 	* tree-ssa-structalias.c (push_fields_onto_fieldstack):
! 	Avoid pushing again if current struct contains only
! 	fields we decomposed.
  
! 2005-07-27  Jan Hubicka  <jh@suse.cz>
  
! 	PR tree-optimization/22574
! 	* cgraph.c (cgraph_function_body_availability): Unanalyzed bodies are
! 	not available.
  
! 	* tree-tailcall.c (decrease_profile): New function.
! 	(eliminate_tail_call): Use it.
  
! 	* cgraphunit.c (cgraph_function_and_variable_visibility): Set
! 	visibility flags correctly in whole program mode.
  
! 2005-07-26  Steve Ellcey  <sje@cup.hp.com>
  
! 	PR rtl-optimization/22472
! 	* config/pa/pa.h (HARD_REGNO_RENAME_OK): Define.
  
! 2005-07-26  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/22504
! 	* tree-complex.c (expand_complex_addition): Use 'code' instead
! 	of MINUS_EXPR for (VARYING, ONLY_IMAG) and (ONLY_IMAG, VARYING).
  
! 2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config.gcc (cpu_type): Add frv case.
! 	(with_cpu): Add frv400-*-*linux* and frv550-*-*linux* cases.
! 	(supported_defaults): Add fr550 case.
  
! 2005-07-26  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 22591
! 	* tree-ssa-alias.c (may_alias_p): Remove shortcut that tests
! 	whether a pointer of type T * may point to objects of type T *.
  
! 2005-07-26  DJ Delorie  <dj@redhat.com>
  
! 	* configure: Regenerate.
  
! 2005-07-26  Dale Johannesen  <dalej@apple.com>
  
! 	* postreload-gcse.c (alloc_mem):  Start CUID numbering at 1.
  
! 2005-07-26  Mark Mitchell  <mark@codesourcery.com>
  
! 	* doc/install.texi (--with-build-sysroot): Fix grammatical error.
! 	Clarify use of "build" in name.
  
! 2005-07-26  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* doc/extend.texi (Raw read/write Functions): New section.
! 	* testsuite/gcc.target/frv/all-builtin-read8.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-read16.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-read32.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-read64.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-write8.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-write16.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-write32.c: New.
! 	* testsuite/gcc.target/frv/all-builtin-write64.c: New.
! 	* config/frv/frv.c: Add bdesc_loads global.
! 	Add bdesc_stores global.
! 	(frv_init_builtins): Add support for __builtin_{read/write}*.
! 	(frv_volatile_memref): New.
! 	(frv_expand_load_builtin): New.
! 	(frv_expand_store_builtin): New.
! 	* config/frv/frv.h (frv_builtins): Add FRV_BUILTIN_SCAN,
! 	FRV_BUILTIN_READ8, FRV_BUILTIN_READ16, FRV_BUILTIN_READ32,
! 	FRV_BUILTIN_READ64, FRV_BUILTIN_WRITE8, FRV_BUILTIN_WRITE16,
! 	FRV_BUILTIN_WRITE32, FRV_BUILTIN_WRITE64.
! 	* config/frv/frv.md (unspecs): Add UNSPEC_BUILTIN_LOAD,
! 	UNSPEC_BUILTIN_STORE, UNSPEC_OPTIONAL_MEMBAR.
! 	(builtin_read_<mode>): New.
! 	(builtin_write_<mode>): New.
! 	(builtin_write64): New.
! 	(optional_membar_<mode>): New.
  
! 2005-07-26  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* emit-rtl.c (gen_lowpart_common): Compare size of MODE in bits
! 	(rather than units) against HOST_BITS_PER_WIDE_INT.
  
! 2005-07-26  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h,
! 	ipa-type-escape.c, ipa-type-escape.h, ipa-utils.c,
! 	ipa-utils.h, treestruct.def, config/crx/crx-protos.h,
! 	config/crx/crx.c, config/crx/crx.h, config/crx/crx.md: Update
! 	FSF address.
  
! 	* calls.c, fold-const.c, ipa-reference.c, ipa-type-escape.c,
! 	tree-ssa-reassoc.c, tree-ssa-structalias.c, vec.h,
! 	config/crx/crx.c, config/m32c/m32c.c, config/m32c/m32c.h: Fix
! 	comment typos.
! 	* doc/c-tree.texi, doc/tree-ssa.texi: Fix typos.
  
! 2005-07-26  Richard Guenther  <rguenther@suse.de>
  
! 	PR tree-optimization/22486
! 	* fold-const.c (fold_unary): Fold away useless component
! 	references of the form (T *)&T.x, if the address
! 	doesn't change.
  
! 2005-07-25  James E Wilson  <wilson@specifixinc.com>
  
! 	* dwarf2out.c (add_call_src_coords_attributes): New.
! 	(gen_inlined_subroutine_die): Call it.
! 	(maybe_emit_file, init_file_table): Add comments.
! 	(prune_unused_types_walk_attribs): Pass DW_AT_call_file through
! 	maybe_emit_file.
! 	* tree-inline.c (remap_block): Copy BLOCK_SOURCE_LOCATION.
! 	(expand_call_inline): Set BLOCK_SOURCE_LOCATION.
! 	* tree.h (BLOCK_SOURCE_LOCATION): New.
! 	(struct tree_block): New field locus.
  
! 2005-07-26  Andreas Schwab  <schwab@suse.de>
  
! 	PR rtl-optimization/23043
! 	* postreload-gcse.c (eliminate_partially_redundant_load): Fix typo
! 	when allocating a struct unoccr.
  
! 2005-07-25  Richard Henderson  <rth@redhat.com>
  
! 	PR 22626
! 	* tree-complex.c (gate_no_optimization): True if errors.
! 	* Makefile.in (tree-complex.o): Update dependencies.
  
! 2005-07-25  Aldy Hernandez  <aldyh@redhat.com>
  
! 	* config/frv/predicates.md (integer_register_operand): Use
! 	GPR_AP_OR_PSEUDO_P.
  
! 2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22484
! 	* tree-ssa-ccp.c (fold_stmt_inplace): Strip useless type conversions
! 	after fold.
! 	* tree-ssa-propagate.c (set_rhs): Reject invalid conditional operands.
  
! 2005-07-25  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* tree-ssa-reassoc.c (reassociate_expr): Allow scaler floating point
! 	types when flag_unsafe_math_optimizations is true.
  
! 2005-07-25  Mark Mitchell  <mark@codesourcery.com>
  
! 	* gcc.c (option_map): Add --sysroot.
! 	(process_command): Handle --sysroot.
! 	(display_help): Document it.
! 	* doc/cppopts.tex (-isysroot): Document.
! 	* doc/invoke.texi (--sysroot): Document.
! 	* doc/install.texi (--with-build-sysroot): Document.
  
! 	* Makefile.in (inhibit_libc): New variable.
! 	(INHIBIT_LIBC_CFLAGS): Likewise.
! 	(LIBGCC2_CFLAGS): Include
! 	$(INHIBIT_LIBC_CFLAGS).
! 	(CRTSTUFF_CFLAGS): Include $(INHIBIT_LIBC_CFLAGS).
! 	($(T)crtbegin.o): Do not use @inhibit_libc@.
! 	($(T)crtend.o): Likewise.
! 	($(T)crtbeginS.o): Do not use @inhibit_libc@.
! 	($(T)crtendS.o): Likewise.
! 	($(T)crtbeginT.o): Do not use @inhibit_libc@.
! 	($(T)crtendT.o): Likewise.
! 	(stmp-fixinc): Do not complain about missing headers if
! 	inhibit_libc.
! 	* configure.ac (inhibit_libc): Set it to true/false.
! 	(--with-build-sysroot): New option.  Use it to set
! 	SYSTEM_HEADER_DIR.
! 	* configure: Regenerated.
  
! 2005-07-25  Manfred Hollstein  <mh@suse.com>
  
! 	* calls.c (store_one_arg): Fix unsigned comparison warning.
  
! 2005-07-25  Serge Belyshev  <belyshev@depni.sinp.msu.ru>
  
! 	PR other/22337
! 	* ggc-zone.c (ggc_alloc_zone_stat): Do not use CHUNK_OVERHEAD.
! 	(ggc_print_statistics): Initialize variable before use.
  
! 2005-07-25  Richard Guenther  <rguenther@suse.de>
  
! 	* tree-dfa.c (mark_new_vars_to_rename): Protect against
! 	calling with a PHI_NODE argument.
  
! 	* tree-flow-inline.h (overlap_subvar): Protect against
! 	possible overflow.
  
! 2005-07-25  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* aclocal.m4 (gcc_AC_CHECK_TOOL): Add /bin to default directory.
! 	* configure: Regenerate.
  
! 2005-07-25  Ira Rosen  <irar@il.ibm.com>
  
! 	* expr.c (highest_pow2_factor): Make extern.
! 	* tree-data-ref.c (ptr_decl_may_alias_p): New function.
! 	(ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
! 	record_array_differ_p, array_ptr_differ_p): Likewise.
! 	(base_object_differ_p): Rename (from array_base_name_differ_p). Support
! 	additional cases. Call the above functions.
! 	(base_addr_differ_p): Moved from tree-vect-analyze.c. Call
! 	base_object_differ_p when there are two base objects. Otherwise, compare
! 	base address and offset. Call may_alias_p.
! 	(dump_data_reference): Use a correct field name.
! 	(analyze_array): Make static. Initialize new data-ref fields.
! 	(analyze_indirect_ref): New function.
! 	(init_data_ref): Initialize new data-ref fields.
! 	(strip_conversion): Moved from tree-vect-analyze.c.
! 	(analyze_offset_expr, get_ptr_offset, address_analysis,
! 	object_analysis): Likewise.
! 	(analyze_offset): New function.
! 	(create_data_ref): Likewise.
! 	(initialize_data_dependence_relation): Call base_addr_differ_p. Compare
! 	dimensions for ARRAY_REFs only.
! 	(build_classic_dist_vector): Make static.
! 	(access_functions_are_affine_or_constant_p): Call macro to get the
! 	address of access functions.
! 	(compute_all_dependences): Add new parameter
! 	compute_self_and_read_read_dependences. Compute self and read-read
! 	dependences if it is true.
! 	(find_data_references_in_loop): Call create_data_ref. Initialize new
! 	data-ref fields.
! 	(compute_data_dependences_for_loop): Add new parameter
! 	compute_self_and_read_read_dependences. Remove parameter nb_loops,
! 	compute nb_loops. Call compute_all_dependences,
! 	build_classic_dist_vector and build_classic_dir_vector with correct
! 	parameters.
! 	(analyze_all_data_dependences): Call compute_data_dependences_for_loop
! 	with correct parameters. Compare dimensions for ARRAY_REFs only.
! 	(free_data_refs): Call macro to free access functions.
! 	* tree-data-ref.h (struct first_location_in_loop): New structure. Move
! 	fields from stmt_vinfo.
! 	(struct base_object_info): New structure.
! 	(struct data_reference): Move fields to base_object_info. Add fields
! 	first_location and object_info for above structures. Move fields from
! 	stmt_info: memtag, ptr_info, subvars, misalignment. Add new field
! 	aligned_to.  Add macros to access the new fields.
! 	Update functions declarations.
! 	* tree-flow.h (is_aliased_with): Declare.
! 	* tree-loop-linear.c (linear_transform_loops): Call
! 	compute_data_dependences_for_loop with correct parameters.
! 	* tree-ssa-alias.c (is_aliased_with): New function.
! 	* tree-vect-analyze.c (vect_get_ptr_offset): Remove.
! 	(vect_analyze_offset_expr, vect_base_addr_differ_p): Likewise.
! 	(vect_analyze_data_ref_dependence): Get ddr. Remove call to
! 	vect_base_addr_differ_p, compute_subscript_distance and
! 	build_classic_dist_vector. Add printings. Check absolute value of
! 	distance.
! 	(vect_analyze_data_ref_dependences): Go through ddrs instead of
! 	data-refs.
! 	(vect_compute_data_ref_alignment): Get the fields of data-ref instead of
! 	stmt. Check aligned_to. Check if the base is aligned. Remove conversion
! 	to bytes. Add printing.
! 	(vect_compute_data_refs_alignment): Go through loads and stores in one
! 	loop.
! 	(vect_enhance_data_refs_alignment, vect_analyze_data_refs_alignment,
! 	vect_analyze_data_ref_access): Likewise.
! 	(vect_analyze_pointer_ref_access): Remove.
! 	(vect_address_analysis, vect_object_analysis): Likewise.
! 	(vect_analyze_data_refs): Call compute_data_dependences_for_loop to find
! 	and analyze data-refs in the loop.
! 	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): Get the
! 	fields of data-ref instead of stmt. Add init to the offset from the
! 	base.
! 	(vect_create_data_ref_ptr): Get the fields of data-ref instead of stmt.
! 	(vect_update_init_of_dr): Likewise.
! 	(vect_update_inits_of_drs): Go through loads and stores in one loop.
! 	* tree-vectorizer.c (new_stmt_vec_info): Remove initialization of
! 	removed fields.
! 	(new_loop_vec_info): Initialize new fields.
! 	(destroy_loop_vec_info): Free new fields.
! 	(vect_strip_conversion): Remove.
! 	* tree-vectorizer.h (enum verbosity_levels): Add new verbosity level.
! 	(struct _loop_vec_info): Unify data_ref_writes and data_ref_reads into
! 	datarefs. Add new field ddrs.
! 	Add macros for the new fields access.
! 	(struct _stmt_vec_info): Remove: base_address, initial_offset, step,
! 	base_aligned_p, misalignment, memtag, ptr_info and subvars.
! 	Remove their macros.
! 	* tree.h (highest_pow2_factor): Declare.
  
! 2005-07-25  Jakub Jelinek  <jakub@redhat.com>
  
! 	* calls.c (store_one_arg): Check for sibling call MEM arguments
! 	from already clobbered incoming argument area.
  
! 2005-07-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* c-common.c (check_missing_format_attribute): New.
! 	* c-common.h (check_missing_format_attribute): Likewise.
! 	* c-typeck.c (convert_for_assignment): Use it.
  
! 2005-07-24  Andreas Schwab  <schwab@suse.de>
  
! 	* config/m68k/m68k.md ("extendqidi2"): When source is an address
! 	register use a word move.  Correct operand of ext.w in 68000 code.
  
! 2005-07-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	* dwarf2out.c (gen_variable_die): Treat un-emitted COMDAT
! 	variables as declarations, rather than definitions.
  
! 2005-07-24  Ira Rosen  <irar@il.ibm.com>
  
! 	PR tree-optimization/22526
! 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Match the type
! 	of the zero node.
  
! 2005-07-24  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
  
! 	* builtins.def: Add DEF_EXT_C99RES_BUILTIN to define builtins
! 	that C99 reserve for future use. Use it to define clog10,
! 	clog10f and clog10l.
  
! 2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* Makefile.in (STRICT2_WARN): Add -Wmissing-format-attribute.
! 	* configure.ac: Check for -Wmissing-format-attribute.
  
! 	* configure: Regenerate.
  
! 2005-07-23  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-optimization/22623
! 	* tree-complex.c (set_component_ssa_name): Use replace_ssa_name_symbol.
  
! 2005-07-23  Giovanni Bajo  <giovannibajo@libero.it>
  
! 	PR target/22577
! 	* config/pa/pa.c (reloc_needed): Updated for VECs inside CONSTRUCTOR.
  
! 2005-07-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* Makefile.in (C_TREE_H): Update dependencies.
! 	* c-tree.h: Include toplev.h.
! 	* diagnostic.h (diagnostic_set_info): Add format attribute.
! 	* rtl-error.c (diagnostic_for_asm): Likewise.
  
! 2005-07-23  Chao-ying Fu  <fu@mips.com>
  
! 	* config/mips/mips-dsp.md: New file.
! 	* config/mips/mips-modes.def (V4QI, V2HI, CCDSP): New modes.
! 	* config/mips/mips.c (mips_function_type): Add types for DSP builtin
! 	functions.
! 	(mips_builtin_type): Add MIPS_BUILTIN_DIRECT_NO_TARGET and
! 	MIPS_BUILTIN_BPOSGE32.
! 	(mips_expand_builtin_direct): Add one parameter to indicate that
! 	builtin functions need to return a value.
! 	(mips_expand_builtin_bposge): New for expanding "bposge" builtin
! 	functions.
! 	(mips_regno_to_class): Add classes for 12 new DSP registers.
! 	(mips_subword): Change to check four HI registers.
! 	(mips_output_move): Output move to and from 6 new DSP accumulators.
! 	(override_options): Make sure -mdsp and -mips16 are not used together.
! 	Map 'A' to DSP_ACC_REGS and 'a' to ACC_REGS.  Enable DSP accumulators
! 	for machine modes.
! 	(mips_conditional_register_usage): Disable 6 new DSP accumulators
! 	when !TARGET_DSP.
! 	(print_operand): Add 'q' for printing DSP accumulators.
! 	(mips_cannot_change_mode_class): Check ACC_REGS.
! 	(mips_secondary_reload_class): Check ACC_REGS.
! 	(mips_vector_mode_supported_p): Enable V2HI and V4QI when TARGET_DSP.
! 	(mips_register_move_cost): Check ACC_REGS.
! 	(CODE_FOR_mips_addq_ph, CODE_FOR_mips_addu_qb, CODE_FOR_mips_subq_ph)
! 	(CODE_FOR_mips_subu_qb): New code-aliasing macros.
! 	(DIRECT_NO_TARGET_BUILTIN, BPOSGE_BUILTIN): New macros.
! 	(dsp_bdesc): New array.
! 	(bdesc_arrays): Add DSP builtin function table.
! 	(mips_prepare_builtin_arg): Check predicate again after
! 	copy_to_mode_reg.
! 	(mips_expand_builtin): Add one more parameter to
! 	mips_expand_builtin_direct. Expand MIPS_BUILTIN_DIRECT_NO_TARGET and
! 	MIPS_BUILTIN_BPOSGE32.
! 	(mips_init_builtins): Initialize new function types.
! 	(mips_expand_builtin_direct): Check if builtin functions need to
! 	return a value and pass operands properly.
! 	(mips_expand_builtin_bposge): New function.
! 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips_dsp.
! 	(ASM_SPEC): Map -mdsp to -mdsp in GAS.
! 	(FIRST_PSEUDO_REGISTER): Increase to 188.
! 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
! 	Update for 12 new DSP registers.
! 	(DSP_ACC_REG_FIRST, DSP_ACC_REG_LAST, DSP_ACC_REG_NUM, AC1HI_REGNUM)
! 	(AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM, AC3HI_REGNUM, AC3LO_REGNUM):
! 	(DSP_ACC_REG_P, ACC_REG_P, ACC_HI_REG_P): New macros.
! 	(reg_class): Add DSP_ACC_REGS and ACC_REGS.
! 	(REG_CLASS_NAMES): Add names for DSP_ACC_REGS and ACC_REGS.
! 	(REG_CLASS_CONTENTS): Update for DSP_ACC_REGS, ACC_REGS and ALL_REGS.
! 	(REG_ALLOC_ORDER): Update for 12 new DSP registers.
! 	(mips_char_to_class): Add 'A' for DSP_ACC_REGS and 'a' for ACC_REGS.
! 	(UIMM6_OPERAND, IMM10_OPERAND): New macros.
! 	(EXTRA_CONSTRAINT_Y): Add YA and YB extra constraints.
! 	(REGISTER_NAMES): Add names for 12 new DSP registers.
! 	* config/mips/mips.md: Include mips-dsp.md.
! 	(UNSPEC_ADDQ, UNSPEC_ADDQ_S, UNSPEC_SUBQ, UNSPEC_SUBQ_S, UNSPEC_ADDSC)
! 	(UNSPEC_ADDWC, UNSPEC_MODSUB, UNSPEC_RADDU_W_QB, UNSPEC_ABSQ_S)
! 	(UNSPEC_PRECRQ_QB_PH, UNSPEC_PRECRQ_PH_W, UNSPEC_PRECRQ_RS_PH_W)
! 	(UNSPEC_PRECRQU_S_QB_PH, UNSPEC_PRECEQ_W_PHL, UNSPEC_PRECEQ_W_PHR)
! 	(UNSPEC_PRECEQU_PH_QBL, UNSPEC_PRECEQU_PH_QBR, UNSPEC_PRECEQU_PH_QBLA)
! 	(UNSPEC_PRECEQU_PH_QBRA, UNSPEC_PRECEU_PH_QBL, UNSPEC_PRECEU_PH_QBR)
! 	(UNSPEC_PRECEU_PH_QBLA, UNSPEC_PRECEU_PH_QBRA, UNSPEC_SHLL)
! 	(UNSPEC_SHLL_S, UNSPEC_SHRL_QB, UNSPEC_SHRA_PH, UNSPEC_SHRA_R)
! 	(UNSPEC_MULEU_S_PH_QBL, UNSPEC_MULEU_S_PH_QBR, UNSPEC_MULQ_RS_PH)
! 	(UNSPEC_MULEQ_S_W_PHL, UNSPEC_MULEQ_S_W_PHR, UNSPEC_DPAU_H_QBL)
! 	(UNSPEC_DPAU_H_QBR, UNSPEC_DPSU_H_QBL, UNSPEC_DPSU_H_QBR)
! 	(UNSPEC_DPAQ_S_W_PH, UNSPEC_DPSQ_S_W_PH, UNSPEC_MULSAQ_S_W_PH)
! 	(UNSPEC_DPAQ_SA_L_W, UNSPEC_DPSQ_SA_L_W, UNSPEC_MAQ_S_W_PHL)
! 	(UNSPEC_MAQ_S_W_PHR, UNSPEC_MAQ_SA_W_PHL, UNSPEC_MAQ_SA_W_PHR)
! 	(UNSPEC_BITREV, UNSPEC_INSV, UNSPEC_REPL_QB, UNSPEC_REPL_PH)
! 	(UNSPEC_CMP_EQ, UNSPEC_CMP_LT, UNSPEC_CMP_LE, UNSPEC_CMPGU_EQ_QB)
! 	(UNSPEC_CMPGU_LT_QB, UNSPEC_CMPGU_LE_QB, UNSPEC_PICK, UNSPEC_PACKRL_PH)
! 	(UNSPEC_EXTR_W, UNSPEC_EXTR_R_W, UNSPEC_EXTR_RS_W, UNSPEC_EXTR_S_H)
! 	(UNSPEC_EXTP, UNSPEC_EXTPDP, UNSPEC_SHILO, UNSPEC_MTHLIP, UNSPEC_WRDSP)
! 	(UNSPEC_RDDSP): New constants.
! 	(*movdi_32bit): Change 'x' to 'a' for ACC_REGS.
! 	(*movsi_internal): Change 'x' to 'a' for ACC_REGS.  Add an
! 	A<-d alternative.
! 	* config/mips/mips.opt (-mdsp): New option.
! 	* config/mips/predicates.md (const_uimm6_operand, const_imm10_operand)
! 	(reg_imm10_operand): New predicates.
! 	* doc/extend.texi (MIPS DSP Built-in Functions): New section.
! 	* doc/invoke.texi (-mdsp): Document new option.
  
! 2005-07-22  DJ Delorie  <dj@redhat.com>
  
! 	* c-objc-common.c (c_cannot_inline_tree_fn): Add warning control
! 	to warning calls.
! 	* tree-inline.c (inlinable_function_p): Likewise.
  
! 2005-07-22  Mark Mitchell  <mark@codesourcery.com>
  
! 	PR debug/21828
! 	* toplev.c (check_global_declarations): Do not mark undefined
! 	variables as DECL_IGNORED_P.
! 	* varasm.c (first_global_object_name): GTY it.
! 	(weak_global_object_name): Likewise.
! 	(notice_global_symbol): Use ggc_strdup, not xstrdup, when creating
! 	a string to go into {weak,first}_global_object_name.
  
! 2005-07-22  DJ Delorie  <dj@redhat.com>
  
! 	* c-format.c (check_function_format): Change warning control
! 	option from OPT_Wattribute to OPT_Wmissing_format_attribute.
  
! 2005-07-22  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-ssa-alias.c (count_ptr_derefs): Do not consider
! 	&PTR->FLD a dereference of PTR.
! 	* tree-ssa-structalias.c (update_alias_info): Consider &PTR->FLD
! 	a potential dereference of PTR.
  
! 2005-07-22  J"orn Rennecke <joern.rennecke@st.com>
  
! 	PR rtl-optimization/20370
! 	* ifcvt.c (dead_or_predicable): Before calling propagate_block,
! 	call allocate_reg_info if necessary.
  
! 	PR rtl-optimization/21848
! 	* calls.c (emit_library_call_value_1): For const functions, add
! 	USEs of the stack slots to CALL_INSN_FUNCTION_USAGE.
  
! 	PR rtl-optimization/22445
! 	* cselib.c (target.h): Include.
! 	(rtx_equal_for_cselib_p): Allow commutative matches.
! 	(cselib_hash_rtx): Don't use MODE for CONST_INT hashing.
! 	Remove MODE parameter.  Changed all callers.
  
! 	PR rtl-optimization/22258
! 	* combine.c (likely_spilled_retval_1, likely_spilled_retval_p):
! 	New functions.
! 	(try_combine): Use likely_spilled_retval_p.
  
! 2005-07-22  Paul Woegerer  <paul.woegerer@nsc.com>
  
! 	* config.gcc: Add crx-elf support.
  
! 	* doc/contrib.texi: Mention crx.
! 	* doc/extend.texi: Document crx extensions.
! 	* doc/install.texi: Document crx install.
! 	* doc/invoke.texi: Document crx options.
! 	* doc/md.texi: Document crx constraints.
  
! 	* config/crx/crx-protos.h: New file.
! 	* config/crx/crx.c: New file.
! 	* config/crx/crx.h: New file.
! 	* config/crx/crx.md: New file.
! 	* config/crx/crx.opt: New file.
! 	* config/crx/t-crx: New file.
  
! 2005-07-22  Manfred Hollstein  <mh@suse.com>
  
! 	* tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised
! 	warnings.
! 	(int_add_graph_edge): Likewise.
! 	(collapse_nodes): Likewise.
! 	(process_unification_queue): Likewise.
  
! 2005-07-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 	    Laurent GUERBY  <laurent@guerby.net>
  
! 	PR tree-optimization/22336
! 	* function.c (record_block_change): Check for
! 	cfun->ib_boundaries_block.
  
! 2005-07-21  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (fold_unary): Don't strip signed nops from ABS_EXPRs.
! 	(tree_expr_nonnegative_p): Return try for TYPE_UNSIGNED.
  
! 2005-07-21  DJ Delorie  <dj@redhat.com>
  
! 	* toplev.c (warn_deprecated_use): Add warning control to warning
! 	call.
! 	* c-typeck.c (parser_build_binary_op): Likewise.
! 	(c_finish_if_stmt): Likewise.
! 	* c-common.c (check_function_sentinel): Likewise.
! 	(check_nonnull_arg): Likewise.
  
! 2005-07-21  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/22504
! 	* tree-complex.c (complex_ssa_name_components): New.
! 	(cvc_lookup): Allow entry not found.
! 	(create_components): Remove.
! 	(create_one_component_var, get_component_var): New.
! 	(get_component_ssa_name, set_component_ssa_name): New.
! 	(extract_component): Use get_component_ssa_name.
! 	(update_complex_components): Use set_component_ssa_name.
! 	(update_complex_components_on_edge): Likewise.
! 	(update_phi_components): Create new PHI nodes directly, instead
! 	of adding insns to edges.
! 	(tree_lower_complex): Allocate and free complex_variable_components
! 	and complex_ssa_name_components here.
  
! 2005-07-20  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* alias.c (nonoverlapping_component_refs_p): Use TYPE_MAIN_VARIANT,
! 	revert to returning false.
  
! 2005-07-21  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/21149
! 	* config/i386/i386.md (sse_movhlps): Fix vec_select values.
  
! 2005-07-21  Uros Bizjak  <uros@kss-loka.si>
  
! 	PR target/22576
! 	* config/i386/i386.md (cmpxf): Change operand constraints
! 	to "nonmemory_operand".
  
! 2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/i386/i386.md (trap): Use "".word/t0x0b0f" instead of ud2.
  
! 2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/21180
! 	* fold-const.c (fold_build1): Add checksum for the operands.
! 	(fold_build2): Likewise.
! 	(fold_build3): Likewise.
  
! 2005-07-21  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/19055
! 	* fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
  
! 2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* common.opt (-fforward-propagate): Committed by mistake,
! 	removed.
  
! 2005-07-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
  
! 	* reg-stack.c: Fix comment typo(s).
! 	* tree-ssa-operands.c: Likewise.
! 	* tree-vectorizer: Likewise.
  
! 2005-07-21  Nick Clifton  <nickc@redhat.com>
  
! 	* config/sh/symbian.c: Replace C++ style line comments with C
! 	style line comments.
! 	(symbian_add_attribute): Do not use a ? operator on the LHS of
! 	an assignment.
! 	(sh_symbian_handle_dll_attribute): Change the type of the
! 	method vector to "VEC(tree,gc)*" and use vector accessor
! 	macros to walk over the elements.
! 	(symbian_export_vtable_and_rtti_p): Likewise.
! 	(symbian_class_needs_attribute_p): Likewise.
  
! 2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR target/22085
! 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not
! 	initialize targetm.resolve_overloaded_builtin here.
! 	(altivec_expand_overloaded_builtin): Make it non-static.
! 	* config/rs6000/rs6000-protos.h
! 	(altivec_expand_overloaded_builtin): New prototype.
! 	* config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Initialize
! 	targetm.resolve_overloaded_builtin here.
! 	* config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Likewise.
  
! 2005-07-21  Paolo Bonzini  <bonzini@gnu.org>
! 	    Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/19210
! 	* common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
! 	New.
! 	* Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
! 	* loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
! 	rely on unproven assumptions.
! 	* predict.c (predict_loops): Adjust call to number_of_iterations_exit.
! 	* tree-flow.h (number_of_iterations_exit): Add final parameter.
! 	* tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
! 	to number_of_iterations_exit.
! 	* tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
! 	* tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
! 	* tree-ssa-loop-niter.c (find_loop_niter,
! 	estimate_numbers_of_iterations_loop): Likewise.
! 	(number_of_iterations_exit): Honor the new options.
! 	* doc/invoke.texi (Wunsafe-loop-optimizations,
! 	funsafe-loop-optimizations): Document them.
  
! 2005-07-21  Richard Sandiford  <richard@codesourcery.com>
  
! 	PR rtl-optimization/22167
! 	* gcse.c (hoist_code): Fix hoist_exprs[] check.
  
! 2005-07-20  Adam Nemet  <anemet@lnxw.com>
  
! 	* config/rs6000/lynx.h: Mark __do_global_ctors_aux and
! 	__do_global_dtors_aux longcall.
  
! 2005-07-20  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* gensupport.c (old_preds): Don't reference PREDICATE_CODES.
! 	(old_special_pred_table): Don't reference
! 	SPECIAL_MODE_PREDICATES.
! 	* system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
! 	* config/arc/arc.h: Don't mention PREDICATE_CODES.
! 	* config/sh/predicates.h: Don't mention
! 	SPECIAL_MODE_PREDICATES.
! 	* doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
! 	Remove.
  
! 2005-07-20  DJ Delorie  <dj@redhat.com>
  
! 	* config.gcc: Add m32c-elf support.
  
! 	* doc/contrib.texi: Mention m32c.
! 	* doc/extend.texi: Document m32c extensions.
! 	* doc/install.texi: Mention m32c.
! 	* doc/invoke.texi: Document m32c options.
! 	* doc/md.texi: Document m32c constraints.
  
! 	* config/m32c/addsub.md: New file.
! 	* config/m32c/bitops.md: New file.
! 	* config/m32c/cond.md: New file.
! 	* config/m32c/jump.md: New file.
! 	* config/m32c/m32c-lib1.S: New file.
! 	* config/m32c/m32c-lib2.c: New file.
! 	* config/m32c/m32c-modes.def: New file.
! 	* config/m32c/m32c-pragma.c: New file.
! 	* config/m32c/m32c-protos.h: New file.
! 	* config/m32c/m32c.abi: New file.
! 	* config/m32c/m32c.c: New file.
! 	* config/m32c/m32c.h: New file.
! 	* config/m32c/m32c.md: New file.
! 	* config/m32c/m32c.opt: New file.
! 	* config/m32c/minmax.md: New file.
! 	* config/m32c/mov.md: New file.
! 	* config/m32c/muldiv.md: New file.
! 	* config/m32c/predicates.md: New file.
! 	* config/m32c/prologue.md: New file.
! 	* config/m32c/shift.md: New file.
! 	* config/m32c/t-m32c: New file.
  
! 2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New constants.
! 	(stack_protect_set, stack_protect_test): New expanders.
! 	(stack_protect_set_si, stack_protect_set_si_media,
! 	stack_protect_set_di_media, stack_protect_test_si,
! 	stack_protect_test_si_media, stack_protect_test_di_media):
! 	New insns.
  
! 2005-07-20  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* c-typeck.c (output_init_element): Don't copy the INTEGER_CST.
  
! 2005-07-20  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* tree.h (tree_expr_nonzero_p): Export.
! 	* fold-const.c (tree_expr_nonzero_p): Likewise.
! 	Return true for CALL_EXPRs that are alloca calls.
! 	(fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
! 	against zero.
! 	* tree-flow.h (expr_computes_nonzero): Remove.
! 	* tree-vrp.c (expr_computes_nonzero): Remove.
! 	(vrp_expr_computes_nonzero): Use tree_expr_nonzero_p.
! 	(extract_range_from_unary_expr): Likewise.
! 	* tree-ssa-dom.c (record_equivalences_from_stmt): Use
! 	tree_expr_nonzero_p.
  
! 2005-07-20  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin-protos.h (legitimize_pic_address): Don't declare.
! 	* config/bfin/bfin.c (legitimize_pic_address): Now static.  Take
! 	extra arg "picreg" and use it instead of pic_offset_table_rtx.
! 	All callers changed.
! 	(frame_related_constant_load): New arg "related" which controls
! 	setting of RTX_FRAME_RELATED_P.  All callers changed.
! 	(bfin_load_pic_reg): New function, broken out of bfin_expand_prologue.
! 	(bfin_expand_prologue): Add stack limit checking.
! 	* config/bfin/bfin.md (trapifcc): New pattern.
  
! 	* config/bfin/bfin.c: Include "langhooks.h".
! 	(def_builtin): Go through lang_hooks to call builtin_function.
  
! 	* config/bfin/bfin-protos.h (bfin_longcall_p): Declare.
! 	* config/bfin/predicates.md (symbol_ref_operand): New.
! 	(call_insn_operand): Delete.  All callers changed to use
! 	register_no_elim_operand.
! 	* config/bfin/bfin.c (init_cumulative_args): Initialize the new
! 	call_cookie field.
! 	(function_arg): Use it to generate the call's operand 2.
! 	(bfin_longcall_p): New function.
! 	(bfin_expand_call): Extra arg "cookie".  All callers and declaration
! 	changed.  Emit extra USE in the pattern.  Use bfin_longcall_p to
! 	determine if the address needs to be in a REG.
! 	(bfin_handle_longcall_attribute): New function.
! 	(bfin_attribute_table): Add "longcall" and "shortcall".
! 	* config/bfin/bfin.h (CALL_NORMAL, CALL_LONG, CALL_SHORT): New macros.
! 	(CUMULATIVE_ARGS): New member call_cookie.
! 	(PREDICATE_CODES): Add symbol_ref_operand.
! 	* config/bfin/bfin.md (call, call_value, sibcall, sibcall_value): Add
! 	extra USE to the pattern.
! 	(call_symbol, sibcall_symbol, call_value_symbol, sibcall_value_symbol):
! 	New patterns, split off call_insn, sibcall_insn, call_value_insn and
! 	sibcall_value_insn; now the new patterns handle direct calls and the
! 	old ones indirect calls.
! 	* doc/extend.texi: Mention Blackfin in longcall/shortcall docs.
  
! 2005-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* doc/trouble.texi: Update section on handling of empty loops.
  
! 2005-07-20  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* config.gcc: Remove support for sparc-*-openbsd*,
! 	i860-*-sysv4*, ip2k-*-elf, ns32k-*-netbsdelf*,
! 	ns32k-*-netbsd*.
! 	* config.host: Remove support for i860-*-sysv4* as a host.
! 	* config/i860/*, config/ip2k/*, config/ns32k/*,
! 	config/sparc/openbsd.h, config/sparc/t-openbsd: Remove.
! 	* doc/install.texi, doc/invoke.texi, doc/md.texi: Don't
! 	mention obsolete ports.
  
! 2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (regno_reg_class): Add GENERAL_REGS for
! 	soft frame pointer.
! 	(sh_expand_prologue): Use hard_frame_pointer_rtx instead
! 	of frame_pointer_rtx.
! 	(sh_expand_epilogue): Likewise.
! 	(sh_set_return_address): Likewise.
! 	(initial_elimination_offset): Use HARD_FRAME_POINTER_REGNUM
! 	instead of FRAME_POINTER_REGNUM if needed.  Add elimination
! 	offsets from FRAME_POINTER_REGNUM.
! 	* config/sh/sh.h (SH_REGISTER_NAMES_INITIALIZER): Add sfp.
! 	(sh_register_names): Add initializer for sfp.
! 	(GENERAL_OR_AP_REGISTER_P): Permit FRAME_POINTER_REGNUM.
! 	(VALID_REGISTER_P): Likewise.
! 	(FIRST_PSEUDO_REGISTER): Update.
! 	(DWARF_FRAME_REGISTERS): Define.
! 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Add sfp.
! 	(HARD_FRAME_POINTER_REGNUM): Define.
! 	(FRAME_POINTER_REGNUM): Redefine.
! 	(ELIMINABLE_REGS): Never eliminate to FRAME_POINTER_REGNUM,
! 	but HARD_FRAME_POINTER_REGNUM instead.  Add eliminations
! 	from FRAME_POINTER_REGNUM.
! 	(CAN_ELIMINATE): Use HARD_FRAME_POINTER_REGNUM instead of
! 	FRAME_POINTER_REGNUM.
! 	(REG_CLASS_CONTENTS): Add sfp.
! 	(REG_ALLOC_ORDER): Likewise.
! 	(FRAME_GROWS_DOWNWARD): Set to 1.  Update comment.
! 	(GO_IF_LEGITIMATE_ADDRESS): Use hard_frame_pointer_rtx instead
! 	of frame_pointer_rtx.
! 	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
  
! 2005-07-19  James A. Morrison  <phython@gcc.gnu.org>
  
! 	* fold-const.c (tree_expr_nonnegative_p): Only return true for
! 	ABS_EXPR when flag_wrapv is false because of INT_MIN.
! 	(tree_expr_nonzero_p): Always call tree_expr_nonzero_p on the argument
! 	of an ABS_EXPR.
! 	(fold_unary): Always fold ABS_EXPR<ABS_EXPR<x>> into
! 	ABS_EXPR<x>.
  
! 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
  
! 	Make CONSTRUCTOR use VEC to store initializers.
! 	* c-common.c (complete_array_type): Update to cope with VEC in
! 	CONSTRUCTOR_ELTS.
! 	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
! 	(pp_c_constructor_elts): New function.
! 	* c-pretty-print.h (pp_c_constructor_elts): Declare.
! 	* c-typeck.c (build_function_call, build_c_cast, digest_init,
! 	struct constructor_stack, struct initializer_stack,
! 	constructor_elements, push_init_level, pop_init_level,
! 	add_pending_init, find_init_member, output_init_element): Update to
! 	cope with VEC in CONSTRUCTOR_ELTS.
! 	* coverage.c (build_fn_info_value, build_ctr_info_value,
! 	build_gcov_info): Likewise.
! 	* expr.c (categorize_ctor_elements_1, store_constructor,
! 	expand_expr_real_1): Likewise.
! 	* fold-const.c (fold_ternary): Likewise.
! 	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
! 	gimplify_init_constructor, gimplify_expr): Likewise.
! 	* tree-dump.c (dequeue_and_dump): Likewise.
! 	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
! 	node.
! 	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
! 	CONSTRUCTOR_ELTS.
! 	* tree-sra.c (generate_element_init_1): Likewise.
! 	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
! 	* tree-ssa-operands.c (get_expr_operands): Likewise.
! 	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
! 	* tree-vect-transform.c (vect_get_vec_def_for_operand):
! 	(get_initial_def_for_reduction): Likewise.
! 	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
! 	value handle in annotations.
! 	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
! 	tree_node_structure): Add support for constr_kind.
! 	(build_vector_from_ctor, build_constructor_single,
! 	build_constructor_from_list): New functions.
! 	(build_constructor): Update to take a VEC instead of a TREE_LIST.
! 	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
! 	Update to cope with VEC in CONSTRUCTOR_ELTS.
! 	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
! 	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
! 	CONSTRUCTOR_APPEND_ELT): New macros.
! 	(struct constructor_elt, struct	tree_constructor): New data types.
! 	(union tree_node): Add tree_constructor field.
! 	* treestruct.def: Define TS_CONSTRUCTOR.
! 	* varasm.c (const_hash_1, compare_constant, copy_constant,
! 	compute_reloc_for_constant, output_addressed_constants,
! 	initializer_constant_valid_p, output_constant,
! 	array_size_for_constructor, output_constructor): Update to cope with
! 	VEC in CONSTRUCTOR_ELTS.
! 	* vec.h (VEC_empty, VEC_copy): New macros.
  
! 2005-07-19  Devang Patel  <dpatel@apple.com>
  
! 	* dbxout.c (dbxout_type): Check Objective-C++ lang.
  
! 2005-07-19  Richard Henderson  <rth@redhat.com>
  
! 	PR tree-opt/22278
! 	* gimplify.c (gimplify_expr): Use main variant type for the temp
! 	destination for a discarded volatile read.
! 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't elide
! 	casts between non-void types that change volatility.
  
! 2005-07-15  DJ Delorie  <dj@redhat.com>
  
! 	* toplev.h: Add comment about the first parameter for warning().
! 	* errors.h: Likewise.
  
! 	* c.opt (Wpragmas): New.
! 	* doc/invoke.texi: Document it.
  
! 	* function.c (do_warn_unused_parameter): Add warning control to
! 	warning call.
! 	* c-decl.c (warn_if_shadowing): Likewise.
! 	* c-lex.c (cb_def_pragma): Likewise.
! 	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
! 	(pop_alignment): Likewise.
! 	(handle_pragma_pack): Likewise.
! 	(apply_pragma_weak): Likewise.
! 	(handle_pragma_weak): Likewise.
! 	(handle_pragma_redefine_extname): Likewise.
! 	(add_to_renaming_pragma_list): Likewise.
! 	(handle_pragma_extern_prefix): Likewise.
! 	(maybe_apply_renaming_pragma): Likewise.
! 	(handle_pragma_visibility): Likewise.
  
! 	* config/c4x/c4x-c.c (BAD): Likewise.
! 	(c4x_parse_pragma): Likewise.
! 	* config/ia64/ia64-c.c (ia64_hpux_handle_builtin_pragma): Likewise.
! 	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
! 	(rs6000_pragma_longcall): Likewise.
! 	* config/v850/v850-c.c (pop_data_area): Likewise.
! 	(ghs_pragma_section): Likewise.
! 	(ghs_pragma_section): Likewise.
! 	(ghs_pragma_interrupt): Likewise.
! 	(ghs_pragma_starttda): Likewise.
! 	(ghs_pragma_startsda): Likewise.
! 	(ghs_pragma_startzda): Likewise.
! 	(ghs_pragma_endtda): Likewise.
! 	(ghs_pragma_endsda): Likewise.
! 	(ghs_pragma_endzda): Likewise.
  
! 2005-07-19  Danny Berlin <dberlin@dberlin.org>
! 	    Kenneth Zadeck <zadeck@naturalbridge.com>
  
! 	* Makefile.in: Removed tree-promote-statics.c
! 	* tree-promote-statics.c: Removed.
! 	* common.opt: Removed flag-promote-statics.
! 	* opts.c: Ditto.
! 	* passes.c: Removed tree-promote-statics pass.
! 	* tree-pass.h: Ditto.
! 	* timevar.def: Removed TV_PROMOTE_STATICS.
  
  
! 2005-07-19  Gerald Pfeifer  <gerald@pfeifer.com>
  
! 	* config.gcc: Add support for *-*-freebsd7, *-*-freebsd8,
! 	and *-*-freebsd9.
! 	* config/freebsd-spec.h (FBSD_TARGET_OS_CPP_BUILTINS): Ditto.
  
! 2005-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	PR c/22476
! 	* c-common.c (check_function_arguments): Call
! 	'check_function_format' if either -Wformat or
! 	-Wmissing-format-attribute are specified.
! 	* c-format.c (check_function_format): Check -Wformat before
! 	calling 'check_format_info'.
! 	* c-opts.c (c_common_post_options): Don't warn for
! 	-Wmissing-format-attribute without -Wformat.
! 	* c-typeck.c (convert_for_assignment): Detect additional cases for
! 	-Wmissing-format-attribute.
! 	* doc/invoke.texi (-Wmissing-format-attribute): Document new
! 	behavior.
  
! 2005-07-19  Richard Guenther  <rguenther@suse.de>
  
! 	* config/i386/i386.md (lrint<mode>2): Use temporary
! 	instead of clobbering non-existent memory.
  
! 2005-07-19  Nick Clifton  <nickc@redhat.com>
  
! 	* config/avr/avr.c (legitimate_address_p): Fix debugging print
! 	statement to avoid displaying ASCII control characters.
  
! 2005-07-19  Ben Elliston  <bje@au.ibm.com>
  
! 	* bt-load.c (link_btr_uses): Fix uninitialised warnings.
! 	* cfganal.c (find_edge_index): Ditto.
! 	* combine.c (combine_instructions): Ditto.
! 	* ddg.c (create_scc): Ditto.
! 	(find_successors): Ditto.
! 	(find_predecessors): Ditto.
! 	(find_nodes_on_paths): Ditto.
! 	(longest_simple_path): Ditto.
! 	* flow.c (update_life_info): Ditto.
! 	(count_or_remove_death_notes): Ditto.
! 	(clear_log_links): Ditto.
! 	* modulo-sched.c (generate_reg_moves): Ditto.
! 	(find_max_asap): Ditto.
! 	(find_max_hv_min_mob): Ditto.
! 	(find_max_dv_min_mob): Ditto.
! 	* sbitmap.c (sbitmap_first_set_bit): Ditto.
! 	* sched-rgn.c (extract_edgelst): Ditto.
! 	* tree-into-ssa.c (prepare_names_to_update): Ditto.
! 	(dump_update_ssa): Ditto.
! 	(ssa_names_to_replace) Ditto.
! 	(switch_virtuals_to_full_rewrite): Ditto.
! 	(update_ssa): Ditto.
! 	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
  
! 2005-07-18  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22483
  
! 	* tree-complex.c (create_components): Use
! 	safe_referenced_var_iterator and FOR_EACH_REFERENCED_VAR_SAFE.
! 	* tree-flow-inline.h (fill_referenced_var_vec): New function.
! 	* tree-flow.h (safe_referenced_var_iterator): New structure.
! 	(FOR_EACH_REFERENCED_VAR_SAFE): New macro.
! 	* tree-ssa-alias.c (setup_pointers_and_addressables): Use
! 	safe_referenced_var iterator.
! 	(add_type_alias): Ditto.
  
! 2005-07-19  Steven Bosscher  <stevenb@suse.de>
  
! 	* loop-init.c (rest_of_handle_loop2): Remove.
! 	(rtl_loop_init, rtl_loop_done, rtl_move_loop_invariants,
! 	rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): New functions.
! 	(pass_rtl_loop_init, pass_rtl_loop_done,
! 	pass_rtl_move_loop_invariants, pass_rtl_unswitch,
! 	pass_rtl_unroll_and_peel_loops, pass_rtl_doloop): New passes.
! 	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_loop_done,
! 	pass_unswitch): Rename to pass_tree_loop, pass_tree_loop_init,
! 	pass_tree_loop_done, and pass_tree_unswitch.
! 	(gate_loop): Rename to gate_tree_loop.
! 	* passes.c (init_optimization_passes): Update for renamed tree
! 	loop passes.  Add the new loop2 passes as subpasses of loop2.
! 	* tree-pass.h: Add extern declarations for the new loop2 subpasses.
! 	Update for the renamed tree loop passes.
  
! 2005-07-18  Ian Lance Taylor  <ian@airs.com>
  
! 	PR middle-end/22057
! 	* tree-cfgcleanup.c (cleanup_tree_cfg): Only remove forwarder
! 	blocks when optimizing.
  
! 2005-07-18  Steve Ellcey  <sje@cup.hp.com>
  
! 	* common.opt (frename-registers): Initialize to 2.
! 	(fweb): Ditto.
! 	(fgcse-after-reload): Ditto.
! 	* toplev.c (AUTODETECT_FLAG_VAR_TRACKING): Rename to AUTODETECT_VALUE.
! 	(process_options): Only change flag_web, flag_rename_registers,
! 	and flag_rerun_cse_after_loop if not explicitly set by user.
  
! 2005-07-18  Jan Beulich  <jbeulich@novell.com>
  
! 	* config/i386/i386.c (ix86_expand_branch, ix86_expand_setcc,
! 	ix86_expand_carry_flag_compare, ix86_expand_int_movcc): Handle TImode
! 	in 64-bit mode the same as DImode in 32-bit mode.
! 	(ix86_expand_ashl_const, ix86_split_ashl, ix86_split_ashr,
! 	ix86_split_lshr): Likewise. Rename to no longer refer to a specific
! 	mode. Add new mode parameter.
! 	* config/i386/i386.h (CONST_OK_FOR_LETTER_P): Describe and handle 'O'.
! 	* config/i386/i386.md (cmpti, addti3, subti3, negti2, ashlti3, ashrti3,
! 	x86_64_shift_adj): New expanders.
! 	(*addti3_1, *subti3_1, *negti2_1, ashlti3_1, *ashlti3_2, ashrti3_1,
! 	*ashrti3_2, lshrti3_1, *lshrti3_2, x86_64_shld, x86_64_shrd): New
! 	insns.
! 	Respective new splitters. Use renamed shift splitter helpers in 32-bit
! 	DImode shift splitters.
! 	* config/i386/i386-protos.h (ix86_split_ashl, ix86_split_ashr,
! 	ix86_split_lshr): Renamed from ix86_split_[al]sh[rl]di. Added new
! 	mode parameter.
  
! 2005-07-18  Jan Beulich  <jbeulich@novell.com>
  
! 	* i386.md (movdi_extzv_1): New.
! 	(zero_extendhidi2): Combine alternatives and never force use of
! 	REX64 prefix.
! 	(zero_extendqidi2): Likewise. Don't restrict input selection.
  
! 2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22531
! 	* tree-ssa-pre.c (do_eustores):  Make sure LHS is a decl for the
! 	 moment.
  
! 2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-promote-statics.c (pass_promote_statics): Change dump file
! 	 name.
  
! 2005-07-17  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-optimize.c (init_tree_optimization_passes): Add
! 	pass_eliminate_useless_stores pass.
! 	* tree-pass.h (pass_eliminate_useless_stores): New pass structure.
! 	* tree-ssa-pre.c (is_copy_stmt): New function.
! 	(follow_copies_till_vuse): Ditto.
! 	(do_eustores): Ditto.
! 	(gate_eustores): Ditto.
  
! 2005-07-16  Richard Henderson  <rth@redhat.com>
  
! 	* gcc.c (MFWRAP_SPEC): Don't wrap pthread_join or pthread_exit.
  
! 2005-07-16 Danny Berlin <dberlin@dberlin.org>
! 	   Kenneth Zadeck <zadeck@naturalbridge.com>
  
! 	* Makefile.in: Added rules for ipa-pure-const.c, ipa-reference.c,
! 	ipa-reference.h, ipa-utils.c, ipa-utils.h, ipa-type-escape.c,
! 	ipa-type-escape.h, tree-promote-statics.c
! 	* ipa-pure-const.c, ipa-reference.c, ipa-reference.h, ipa-utils.c,
! 	ipa-utils.h, ipa-type-escape.c, ipa-type-escape.h,
! 	tree-promote-statics.c: new files.
! 	* alias.c: (nonlocal_mentioned_p_1, nonlocal_mentioned_p,
! 	nonlocal_referenced_p_1, nonlocal_referenced_p, nonlocal_set_p_1,
! 	int nonlocal_set_p, mark_constant_function): Deleted.
! 	(rest_of_handle_cfg): Removed call to mark_constant_function.
! 	(nonoverlapping_component_refs_p): Added calls to support
! 	type based aliasing.
! 	* tree-ssa-alias.c (may_alias_p,
! 	compute_flow_insensitive_aliasing): Ditto.
! 	* calls.c (flags_from_decl_or_type): Removed reference to
! 	cgraph_rtl_info.
! 	* c-typeck.c (convert_arguments): Make builtins tolerant of having
! 	too many arguments.  This is necessary for Spec 2000.
! 	* cgraph.h (const_function, pure_function): Removed.
! 	* common.opt: Added "fipa-pure-const", "fipa-reference",
! 	"fipa-type-escape", and "ftree-promote-static".
! 	* opts.c: Ditto.
! 	* passes.c: Added ipa and tree-promote-statics passes.
! 	* timevar.def: Added TV_IPA_PURE_CONST, TV_IPA_REFERENCE,
! 	TV_IPA_TYPE_ESCAPE, and TV_PROMOTE_STATICS.
! 	* tree-dfa.c (referenced_var_lookup_if_exists): New function.
! 	* tree-flow.h: Added exposed sra calls and addition of
! 	reference_vars_info field for FUNCTION_DECLS.
! 	* tree-pass.h: Added passes.
! 	* tree-sra.c: (sra_init_cache): New function.
! 	(sra_insert_before, sra_insert_after) Made public.
! 	(type_can_be_decomposed_p): Renamed from type_can_be_decomposed_p
! 	and made public.
! 	* tree-ssa-alias.c (dump_alias_stats): Added stats for type based
! 	aliasing. (may_alias_p): Added code to use type escape analysis to
! 	improve alias sets.
! 	* tree-ssa-operands.c (add_call_clobber_ops): Added parameter and
! 	code to prune clobbers of static variables based on information
! 	produced in ipa-reference pass.  Changed call clobbering so that
! 	statics are not marked as clobbered if the call does not clobber
! 	them.
  
! 2005-07-16  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-structalias.c (need_to_solve): Need to check for preds,
! 	too.
  
! 2005-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
  
! 	* doc/install.texi (*-*-solaris2*): Document recommended version
! 	of GNU binutils and mention GNU linker problem on Solaris 10.
  
! 2005-07-16  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22421
! 	* c-decl.c (c_build_bitfield_integer_type): New function.
! 	(finish_struct): Call it.
! 	* c-pretty-print.c (pp_c_type_specifier): Handle bit-field types.
  
! 2005-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* c-typeck.c (digest_init): Call 'convert_for_assignment'
! 	before returning.
  
! 2005-07-16  Jan Hubicka  <jh@suse.cz>
  
! 	* cfg.c (update_bb_profile_for_threading): Fix profile updating.
! 	(scale_bbs_frequencies_int): Watch roundoff errors.
! 	* predict.c (return_prediction): Initialize return_stmt.
  
! 2005-07-16  Jan Hubicka  <jh@suse.cz>
  
! 	* profile.c (rest_of_handle_branch_prob): Fix handling of estimation
! 	after RTL profiling.
  
! 2005-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/22398
! 	* fold-const.c (build_range_check): Convert high/low to etype
! 	if we are only comparing against exp.
  
! 2005-07-13  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22376
! 	* tree-ssa-structalias.c (build_constraint_graph): We really meant
! 	special var here.
! 	(need_to_solve): New function.
! 	(compute_points_to_sets): Use it.
! 
! 2005-07-15  Jan Hubicka  <jh@suse.cz>
! 
! 	* cfg.c (update_bb_profile_for_threading): More diagnostic.
! 	* tree-ssa-threadupdate.c (redirect_edges): Update profile of dup_block.
! 
! 2005-07-15  Richard Guenther  <rguenther@suse.de>
! 
! 	* c-common.c (handle_flatten_attribute): New function.
! 	Add flatten function attribute.
! 	* doc/extend.texi: Document flatten function attribute.
! 	* Makefile.in (ipa-inline.o): Depend on hashtab.h.
! 	* ipa-inline.c (cgraph_find_cycles, cgraph_flatten_node):
  	New functions.
! 	(cgraph_decide_inlining): Handle functions with flatten
! 	attribute.
  
! 2005-07-14  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_LWSYNC,
! 	UNSPEC_ISYNC, UNSPEC_SYNC_OP, UNSPEC_ATOMIC, UNSPEC_CMPXCHG,
! 	UNSPEC_XCHG, UNSPEC_AND): New.
! 	(UNSPECV_ATOMIC, UNSPECV_SYNC, UNSPECV_SYNC_OP, UNSPECV_CMPXCHG,
! 	UNSPECV_LWSYNC, UNSPECV_ISYNC): Delete.
! 	* config/rs6000/sync.md (FETCHOP): New code macro.
! 	(fetchop_name, fetchop_pred, fetchopsi_constr, fetchopdi_constr):
! 	New code attrs.
! 	(memory_barrier, sync_internal): Use unspec instead of unspec_volatile.
! 	(sync_compare_and_swap<mode>): Same.
! 	(sync_lock_test_and_set<mode>): Same.
! 	(sync_<fetchop><mode>, sync_nand<mode>): Only use rs6000_emit_sync
! 	for QImode and HImode, and not PPC405.
! 	(sync_old_<fetchop><mode>, sync_old_nand<mode>): Same.
! 	(sync_new_<fetchop><mode>, sync_new_nand<mode>): Same.
! 	(sync_<fetchop>{si,di}_internal): New.
! 	(sync_nand{si,di}_internal): New.
! 	(sync_old_<fetchop>{si,di}_internal): New.
! 	(sync_old_nand{si,di}_internal): New
! 	(sync_new_<fetchop>{si,di}_internal): New.
! 	(sync_new_nand{si,di}_internal): New.
! 	(atomic_and{si,di}): New.
! 	(sync_new_nand{si,di}_internal): New.
! 	(atomic_and{si,di}): New.
! 	(sync_add<mode>_internal): Delete.
! 	(sync_addshort_internal): Use unspec instead of unspec_volatile.
! 	(sync_sub<mode>_internal): Delte.
! 	(sync_subshort_internal): New.
! 	(sync_andsi_internal): Use unspec instead of unspec_volatile.
! 	(sync_anddi_internal): Delete.
! 	(sync_boolsi_internal): Use unspec instead of unspec_volatile.
! 	(sync_booldi_internal): Delete.
! 	(sync_boolc<mode>_internal): Delete.
! 	(sync_boolcshort_internal): Use unspec instead of unspec_volatile.
! 	(sync_boolc<mode>_internal2): Delete.
! 	(sync_boolcc<mode>_internal): Delete.
! 	(isync, lwsync): Use unspec instead of unspec_volatile.
! 	* config/rs6000/rs6000.c (rs6000_emit_sync): Implement MINUS.
! 	Revert UNSPEC_VOLATILE.
! 	(rs6000_split_atomic_op): New.
! 	* config/rs6000/rs6000-protos.h (rs6000_split_atomic_op): Declare.
  
! 2005-07-14  Eric Christopher  <echristo@redhat.com>
  
! 	* config/mips/mips.c (mips_canonicalize_comparison): Cast
! 	argument of trunc_int_for_mode to unsigned HOST_WIDE_INT.
  
! 2005-07-14  Eric Christopher  <echristo@redhat.com>
  
! 	* config/s390/t-tpf (SHLIB_MAPFILES): Remove.
  
! 2005-07-14  Steven Bosscher  <stevenb@suse.de>
  
! 	PR tree-optimization/22230
! 	* tree-vrp.c (extract_range_from_binary_expr): Fix logics thinko in
! 	the computation of the four cross productions for "range op range".
  
! 2005-07-14  Alexandre Oliva  <aoliva@redhat.com>
! 	    Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	PR target/20126
! 	* loop.c (loop_givs_rescan): Do not ICE if unable to reduce an IV
! 	in some insn.
  
! 2005-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
  
! 	* config/s390/s390.h (TARGET_TPF_PROFILING): Add default definition.
  
! 2005-07-14  Steve Ellcey  <sje@cup.hp.com>
  
! 	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Support ILP32 mode.
  
! 2005-07-14  Richard Guenther  <rguenther@suse.de>
  
! 	PR middle-end/22347
! 	* config/i386/i386-protos.h (ix86_function_value): Change
! 	prototype to match new target hook.
! 	* config/i386/i386.c (ix86_value_regno): Change prototype
! 	to take extra type argument.
! 	(TARGET_FUNCTION_VALUE): Define.
! 	(ix86_function_ok_for_sibcall): Pass extra argument to
! 	ix86_value_regno, check return slot rtx for exact match.
! 	(ix86_function_value): Take extra parameter.  Dispatch to
! 	ix86_value_regno with fndecl/fntype as provided.
! 	(ix86_value_regno): Handle extra type argument.
! 	* config/i386/i386.h (FUNCTION_VALUE): No longer define.
  
! 	* testsuite/gcc.target/i386/sseregparm-3.c: New testcase.
! 	* testsuite/gcc.target/i386/sseregparm-4.c: New testcase.
! 	* testsuite/gcc.target/i386/sseregparm-5.c: New testcase.
! 	* testsuite/gcc.target/i386/sseregparm-6.c: New testcase.
! 	* testsuite/gcc.target/i386/sseregparm-7.c: New testcase.
  
! 2005-07-14  Richard Guenther  <rguenther@suse.de>
  
! 	* Makefile.in (explow.o, reg-stack.o): Depend on target.h.
! 	* calls.c (expand_call): Pass fntype to hard_function_value.
! 	(emit_library_call_value_1): Likewise.
! 	* explow.c: Include target.h.
! 	(hard_function_value): Take extra argument, the fntype.
! 	Use new target hook for function_value.
! 	* expr.h (hard_function_value): Change prototype.
! 	* function.c (aggregate_value_p): Pass 0 as fntype to
! 	hard_function_value.
! 	(assign_parms): Use new target hook for function_value.
! 	Pass 0 as fntype to hard_function_value.
! 	(expand_function_end): Likewise.
! 	* reg-stack.c: Include target.h.
! 	(stack_result): Use new target hook for function_value.
! 	* target-def.h: New target hook function_value.
! 	* target.h: Likewise.
! 	* targhooks.c (default_function_value): New function.
! 	* targhooks.h (default_function_value): Declare.
  
! 2005-07-13  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
  
! 2005-07-14  Jan Hubicka  <jh@suse.cz>
  
! 	* tree-dfa.c (dump_variable): Use default_def function.
! 	* tree-ssa-alias.c (dump_points_to_info): Likewise.
! 	* tree-ssa.c (verify_use): Likewise.
! 	* tree-ssanames.c (release_ssa_name): Likewise.
! 	* tree-tailcall.c (eliminate_tail_call): Likewise.
! 	(tree_optimize_tail_calls_1): Likewise.
! 	* tree-vrp.c (get_value_range): Likewise.
  
! 2005-07-14  Ben Elliston  <bje@au.ibm.com>
  
! 	* gcc.c (main): Compare language[0] with '*' when iterating over
! 	the infiles.
  
! 2005-07-13  Adrian StraeÂ½tling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.c: (s390_cc_modes_compatible): Move before
! 	"s390_emit_compare".  Add handling of CCZ1mode.
! 	(s390_canonicalize_comparison): Simplify cascaded EQ, NE.
! 	(390_emit_compare): Use "s390_cc_modes_compatible" for mode
! 	checking.
! 	(s390_branch_condition_mask): Add CCZ1mode handling.
! 	* config/s390/s390.md: ("seq", "*seq"): New pattern.
! 	("sync_compare_and_swap_cc<mode>", "*sync_compare_and_swap_cc<mode>"):
! 	Use CCZ1mode instead of CCZmode.
! 	* config/s390/s390-modes.def: Add CCZ1mode.  Comment new mode.
  
! 2005-07-13  Adrian StraeÂ½tling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.md: ("cmpstrsi", "*cmpstr<mode>"): New
! 	pattern.
! 	("strlen<mode>", "*strlen<mode>"): Use hard reg 0 in SImode.
  
! 2005-07-13  Eric Christopher  <echristo@redhat.com>
  
! 	* config/mips/mips.c (mips_canonicalize_comparison): New.
! 	(mips_emit_int_relational): Use.
  
! 2005-07-13  Eric Christopher  <echristo@redhat.com>
  
! 	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
! 	static extra parts.
! 	* config/s390/s390.md: Include tpf.md. Move tpf specific
! 	patterns...
! 	* config/s390/tpf.md: To here.
! 	* config/s390/s390.opt: Move tpf specific options...
! 	* config/s390/tpf.opt: to here. Add mmain option.
! 	* config/s390/tpf-unwind.h: Remove unnecessary defines.
! 	* config/s390/tpf.h: Rewrite.
  
! 2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	* doc/tm.texi: Remove @xref{Cross-profiling}.
  
! 2005-07-13  Jeff Law  <law@redhat.com>
  
! 	* fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
! 	expressions, test their _DECL operands for pointer equality rather
! 	than using operand_equal_p.
  
! 2005-07-13  H.J. Lu  <hongjiu.lu@intel.com>
  
! 	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Renamed to ...
! 	(TARGET_POSIX_IO): This.
! 	* config/darwin.h: Likewise.
! 	* config/freebsd.h: Likewise.
! 	* config/linux.h: Likewise.
! 	* config/lynx.h: Likewise.
! 	* config/netbsd.h: Likewise.
! 	* config/rs6000/linux64.h: Likewise.
! 	* config/rs6000/linux.h: Likewise.
! 	* config/s390/tpf.h: Likewise.
! 	* config/sh/embed-elf.h: Likewise.
! 	* config/sparc/linux64.h: Likewise.
! 	* config/sparc/linux.h: Likewise.
! 	* config/svr4.h: Likewise.
! 	* gcov-io.h: Likewise.
  
! 	* doc/tm.texi: Updated.
  
! 	* libgcov.c (create_file_directory): Defined only if
! 	TARGET_POSIX_IO is defined.
! 	(gcov_exit): Call create_file_directory only if TARGET_POSIX_IO
! 	is defined.
  
! 2005-07-13  Jan Hubicka  <jh@suse.cz>
  
! 	* tree-ssa-operands.c (get_expr_operands): Fix typo in previous patch.
  
! 2005-07-13  David Edelsohn  <edelsohn@gnu.org>
  
! 	* tree-ssa-dom.c (lookup_avail_expr): Do not pass member in freed
! 	structure as argument.
  
! 2005-07-13  Paolo Bonzini  <bonzini@gnu.org>
  
! 	PR tree-optimization/21921
! 	* tree-iterator.c (tsi_link_before): Support the case when
! 	tsi_end_p (tsi) == true.
  
! 2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/22442
! 	* tree-chrec.c (chrec_fold_multiply_poly_poly): Associate chrecs
! 	correctly.
  
! 2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR rtl-optimization/20376
! 	* toplev.c (process_options): Enable -fweb and -frename-registers when
! 	unrolling.
! 	* doc/invoke.texi: Update the information about when -fweb and
! 	-frename-registers are enabled.
  
! 2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/21840
! 	* tree-ssa-pre.c (eliminate): Convert the sprime to the correct type
! 	if *rhs_p is not a SSA_NAME.
  
! 2005-07-12  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22422
! 	* tree-ssa-structalias.c (struct variable_info): Add flag for
! 	special vars.
! 	(get_varinfo): Now a static function.
! 	(new_varinfo): init has_union and is_special_var to false.
! 	(solution_set_add): Check has_union.
! 	(do_da_constraint): Move temporary variable so it gets reset
! 	properly.
! 	Also check for special variable.
! 	(do_ds_constraint): Ditto.
! 	(do_sd_constraint): Ditto.
! 	(do_structure_copy): Check for special variable.
! 	(find_func_aliases): Ditto.
! 	(init_base_vars): Set special vars properly.
  
! 2005-07-13  Jan Hubicka  <jh@suse.cz>
  
! 	* cfgexpand.c (expand_one_stack_var): Do not expand variables when we
! 	do unit-at-a-time.
  
! 	* tree-ssa-operands.c (parse_ssa_operands): Fix formatting.
! 	(get_expr_operands): Fix thinko wrt flags and subvars.
  
! 	PR tree-optimize/22379
! 	* tree-inline.c (expand_call_inline): Do not output sorry in early
! 	inlining.
  
! 2005-07-12  Dale Johannesen  <dalej@apple.com>
  
! 	* config/rs6000.c (rs6000_rtx_cost):  Move FLOAT_EXTEND.
  
! 2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR bootstrap/21704
! 	* host-linux.h: Include limits.h.
  
! 2005-07-12  Dale Johannesen  <dalej@apple.com>
  
! 	* expr.c (compress_float_constant):  Add cost check.
! 	* config/rs6000.c (rs6000_rtx_cost):  Adjust FLOAT_EXTEND cost.
  
! 2005-07-12  Dale Johannesen  <dalej@apple.com>
  
! 	* gcc.target/i386/compress-float-sse.c:  New.
! 	* gcc.target/i386/compress-float-sse-pic.c:  New.
! 	* gcc.target/i386/compress-float-387.c:  New.
! 	* gcc.target/i386/compress-float-387-pic.c:  New.
! 	* gcc.dg/compress-float-ppc.c:  New.
! 	* gcc.dg/compress-float-ppc-pic.c:  New.
  
! 2005-07-12  Eric Christopher  <echristo@redhat.com>
  
! 	* config.gcc (s390x-ibm-tpf*): Add extra_options. Remove
! 	static extra parts.
! 	* config/s390/s390.md: Include tpf.md. Move tpf specific
! 	patterns...
! 	* config/s390/tpf.md: To here.
! 	* config/s390/s390.opt: Move tpf specific options...
! 	* config/s390/tpf.opt: to here. Add mmain option.
! 	* config/s390/tpf-unwind.h: Remove unnecessary defines.
! 	* config/s390/tpf.h: Rewrite.
  
! 2005-07-12  Eric Christopher  <echristo@redhat.com>
  
! 	* gcc.c (struct infile): Update comment for language.
! 	(main): Rewrite input file resetting code.
  
! 2005-07-12  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22335
! 	* tree-ssa-dom.c (eliminate_redundant_computations): Reject the prop if
! 	requiring a cast in a non RHS of modify_expr.  Add a cast when required.
! 	(lookup_avail_expr): Use constant_boolean_node instead
! 	of boolean_false_node/boolean_true_node.
  
! 2005-07-12  Ben Elliston  <bje@au.ibm.com>
  
! 	* tree-cfg.c (dump_cfg_stats): Add a new fmt_str_2 format string
! 	and use it when printing num_edges.
  
! 2005-07-12  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* doc/extend.texi (Blackfin Built-in Functions): New section.
! 	* doc/invoke.texi (mcsync-anomaly, mno-csync-anomaly): Fix the
! 	@opindex.
  
! 2005-07-12  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* builtins.c: (expand_builtin_memcmp, expand_builtin_strncmp):
! 	s/cmpstrsi/cmpstrnsi
! 	(expand_builtin_strcmp): Rewrite to support both 'cmpstrsi' and
! 	'cmpstrnsi'.
! 	* optabs.c: (prepare_cmp_insn): Add availability of 'cmpstrn'.
! 	(init_optabs): Initialize cmpstrn_optab.
! 	* optabs.h: (enum insn_code cmpstrn_optab): Declare.
! 	* genopinit.c: (optabs[]): Add 'cmpstrn' to initialisation.
! 	* expr.c: (enum insn_code cmpstrn_optab): Declare.
! 	* config/i386/i386.md: s/cmpstr/cmpstrn
! 	* config/c4x/c4x.md: s/cmpstr/cmpstrn
! 	* doc/md.texi: Update documentation.
  
! 2005-07-11  Richard Henderson  <rth@redhat.com>
  
! 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Use
! 	build_va_arg_indirect_ref.
! 	(alpha_gimplify_va_arg): Likewise.
! 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
! 	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
! 	* config/mips/mips.c (mips_gimplify_va_arg_expr): Likewise.
! 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
! 	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
! 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg):
! 	Likewise.
! 	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
  
! 2005-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	* tree-flow.h (remove_empty_loops, single_dom_exit): Declare.
! 	* passes.c (init_optimization_passes): Add pass_empty_loop.
! 	* tree-pass.h (pass_empty_loop): Declare.
! 	* tree-ssa-loop-ivcanon.c (empty_loop_p, remove_empty_loop,
! 	try_remove_empty_loop, remove_empty_loops): New functions.
! 	* tree-ssa-loop-ivopts.c (single_dom_exit): Export.
! 	* tree-ssa-loop.c (tree_ssa_empty_loop, pass_empty_loop): New.
  
! 2005-07-12  Peter Barada  <peter@the-baradas.com>
  
! 	PR middle-end/16719
! 	PR middle-end/18421
! 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Disallow bytes
! 	in address registers.
! 	* config/m68k/m68k.c (hard_regno_mode_ok): Likewise.
! 	* config/m68k/m68k.md: Replace 's' with 'i' in 4th
! 	alternative of addsi3_5200.
  
! 2005-07-11  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/mips/mips.md (ffs<mode>2): Remove.
  
! 2005-07-11  Ian Lance Taylor  <ian@airs.com>
  
! 	* doc/tree-ssa.texi (Cleanups): Improve description of
! 	TRY_FINALLY_EXPR.
! 	(GIMPLE Exception Handling): Clarify TRY_CATCH_EXPR cases.
  
! 2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* print-tree.c (print_node): Use DECL_ARGUMENT_FLD.
! 	* tree.h (DECL_ARGUMENT_FLD): New macro.
  
! 2005-07-11  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22404
  
! 	* tree-ssa-structalias.c (create_variable_info_for): Use
! 	correct offset.
  
! 2005-07-11  Bernd Schmidt  <bernd.schmidt@analog.com>
  
! 	* config/bfin/bfin.md (cmpsi, compare_eq, compare_ne, compare_lt,
! 	compare_le, compare_leu, compare_ltu): Use reg_or_const_int_operand
! 	for second comparison operand.
! 	* config/bfin/predicates.md (reg_or_const_int_operand): New.
  
! 	* config/bfin/bfin.md (define_attr "type"): Add "sync".
! 	(define_insn_reservation "alu"): Likewise.
! 	(csync, ssync): Now of type sync.
! 	* config/bfin/bfin.h (TARGET_DEFAULT): Defaults to
! 	-mcsync-anomaly -mspecld-anomaly.
! 	* config/bfin/bfin.opt (mcsync): Remove.
! 	(mcsync-anomaly, mspecld-anomaly): Add.
! 	* config/bfin/bfin.c: Include "insn-codes.h".
! 	(bfin_reorg): Extend to handle the CSYNC anomaly as well.
! 	(TARGET_DEFAULT_TARGET_FLAGS): New.
! 	* doc/invoke.texi: Document -mcsync-anomaly, -mspecld-anomaly.
  
! 2005-07-11  Steven Bosscher  <stevenb@suse.de>
  
! 	* basic-block.h: Give the BB flags enum a name, bb_flags.
! 	Add new flags BB_FORWARDER_BLOCK, and BB_NONTHREADABLE_BLOCK.
! 	* cfgcleanup.c (enum bb_flags): Remove here.
! 	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG): Remove.
! 	(notice_new_block): Set/test bb->flags instead of aux via BB_FLAGS.
! 	(update_forwarder_flag): Likewise.
! 	(thread_jump): Likewise.
! 	(try_forward_edges): Likewise.
! 	(try_optimize_cfg): Likewise.  Clear bb->flags before updating the
! 	forwarder flags.  Don't clear bb->aux for all basic blocks.  Only
! 	reset the BB_FORWARDER_BLOCK and BB_NONTHREADABLE_BLOCK flags.
  
! 2005-07-11  Richard Guenther  <rguenther@suse.de>
  
! 	* config/i386/i386.opt: New target option -msseregparm.
! 	* config/i386/i386.c (override_options): Error out for
! 	-msseregparm but no SSE support.
! 	(ix86_function_sseregparm): Check for global sseregparm.
! 	* doc/invoke.texi: Document -msseregparm.
  
! 2005-07-11  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	* config.gcc (m32r-*-linux*): Use the default extra_parts.
! 	(m32rle-*-linux*): Ditto.
  
! 2005-07-11  Jakub Jelinek  <jakub@redhat.com>
  
! 	* cfgexpand.c (stack_protect_classify_type): Use TYPE_SIZE_UNIT (type)
! 	instead of TYPE_MAX_VALUE (TYPE_DOMAIN (type)) to get array size in
! 	bytes.
  
! 2005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR middle-end/22239
! 	PR target/20126
! 	* loop.c (loop_givs_rescan): Use expand_simple_binop instead of
! 	gen_rtx_MINUS to handle non-replaceable (plus ((x) (const)).
  
! 2005-07-07  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-structalias.c (struct variable_info): Heapify complex.
! 	(varmap): Heapify varmap.
! 	(constraints): Heapify constraints.
! 	(struct constraint_graph): Heapify succs and preds.
! 	(constraint_vec_find): Update for heapification.
! 	(constraint_set_union): Ditto.
! 	(insert_into_complex): Ditto.
! 	(constraint_edge_vec_find): Ditto.
! 	(erase_graph_self_edge): Ditto.
! 	(add_graph_edge): Ditto.
! 	(get_graph_weights): Ditto.
! 	(merge_graph_nodes): Ditto.
! 	(build_constraint_graph): Ditto.
! 	(topo_visit): Ditto.
! 	(solve_graph): Ditto.
! 	(create_variable_info_for): Ditto.
! 	(init_base_vars): Ditto.
! 	(delete_points_to_sets): Free graph, varmap, and complex constraints.
! 	(condese_varmap_nodes): Free complex vector.
! 	(clear_edges_for_node): Clear succs and preds vector.
  
! 2005-07-10  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-structalias.c (update_alias_info): Change counting of
! 	references to not include vdefs.
  
! 2005-07-10  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-alias.c (free_used_part_map): Add missing free.
! 	(up_insert): Ditto.
  
! 2005-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (pa_commutative_p): Make PLUS commutative when
! 	TARGET_NO_SPACE_REGS is true.
  
! 2005-07-09  Diego Novillo  <dnovillo@redhat.com>
  
! 	* Makefile.in (tree-ssa-alias.o): Depend on tree-ssa-structalias.h
! 	* tree-cfg.c (CHECK_OP): Only test for is_gimple_val.
! 	* tree-dfa.c (dump_subvars_for): New.
! 	(debug_subvars_for): New.
! 	(dump_variable): Show subvariables if VAR has them.
! 	* tree-flow-inline.h (get_subvar_at): New.
! 	(overlap_subvar): Change offset and size to unsigned HOST_WIDE_INT.
! 	* tree-flow.h (struct ptr_info_def): Remove field pt_malloc.
! 	Update all users.
! 	(struct subvar): Change fields offset and size to unsigned
! 	HOST_WIDE_INT.
! 	(dump_subvars_for): Declare.
! 	(debug_subvars_for): Declare.
! 	(get_subvar_at): Declare.
! 	(okay_component_ref_for_subvars): Change 2nd and 3rd argument
! 	to unsigned HOST_WIDE_INT *.
! 	(overlap_subvar): Likewise.
! 	* tree-gimple.c (is_gimple_reg): Always return false for
! 	SFTs and memory tags.
! 	* tree-pass.h (pass_build_pta, pass_del_pta): Remove.
! 	Update all callers.
! 	* tree-ssa-alias.c: Include tree-ssa-structalias.h.
! 	(compute_may_aliases): Call compute_points_to_sets.
! 	(collect_points_to_info_for): Remove.
! 	(compute_points_to_and_addr_escape): Remove.
! 	(delete_alias_info): Call delete_points_to_sets.
! 	(compute_flow_sensitive_aliasing): If the call to
! 	find_what_p_points_to returns false, call set_pt_anything.
! 	(add_may_alias): Set TREE_ADDRESSABLE when adding a new alias.
! 	(set_pt_anything): Clear pi->pt_vars.
! 	(set_pt_malloc): Remove.
! 	(merge_pointed_to_info): Remove.
! 	(add_pointed_to_expr): Remove.
! 	(add_pointed_to_var): Remove.
! 	(collect_points_to_info_r): Remove.
! 	(is_escape_site): Make extern.
! 	(create_sft): New.
! 	(create_overlap_variables_for): Call it.
! 	* tree-ssa-copy.c (merge_alias_info): Never merge
! 	flow-sensitive alias information.
! 	* tree-ssa-operands.c (get_expr_operands): Adjust variables
! 	offset and size to be unsigned HOST_WIDE_INT.
! 	(add_to_addressable_set): Rename from note_addressable.
! 	Set TREE_ADDRESSABLE as the variables are added to the set.
! 	Update all users.
! 	(add_stmt_operand): Do not try to micro-optimize unmodifiable
! 	operands into VUSEs when adding V_MAY_DEFs for members in an
! 	alias set.
! 	* tree-ssa-operands.h (add_to_addressable_set): Declare.
! 	* tree-ssa-structalias.c: Include tree-ssa-structalias.h last.
! 	(struct variable_info): Add bitfield is_heap_var.
! 	(var_anyoffset, anyoffset_tree, anyoffset_id): Declare.
! 	(new_var_info): Initialize is_heap_var.
! 	(get_constraint_for): Add HEAP variables to the symbol table.
! 	Mark them with is_heap_var.
! 	(update_alias_info): New.  Taken mostly from the old
! 	compute_points_to_and_addr_escape.
! 	(handle_ptr_arith): New.
! 	(find_func_aliases): Call update_alias_info.
! 	Call handle_ptr_info for tcc_binary expressions.
! 	Call mark_stmt_modified.
! 	(create_variable_info_for): If DECL has subvars, do not create
! 	variables for its subvars.  Always add all the fields.
! 	(set_uids_in_ptset): If the solution includes ANYOFFSET and
! 	SFTs, then add all the SFTs of the structure.
! 	If VI->DECL is an aggregate with subvariables, add the SFT at
! 	VI->OFFSET.
! 	(find_what_p_points_to): If VI is an artificial variable,
! 	translate to bitfields in SSA_NAME_PTR_INFO.
! 	If the solution is empty, set pi->pt_vars to NULL
! 	(init_base_vars): Create ANYOFFSET.
! 	(compute_points_to_sets): Rename from create_alias_vars.
! 	Make extern.
! 	(pass_build_pta): Remove.
! 	(delete_points_to_sets): Rename from delete_alias_vars.
! 	(pass_del_pta): Remove.
! 	* tree-ssa-structalias.h (struct alias_info): Move from
! 	tree-ssa-alias.h.
! 	(NUM_REFERENCES, NUM_REFERENCES_CLEAR, NUM_REFERENCES_INC,
! 	NUM_REFERENCES_SET): Likewise.
! 	(compute_points_to_sets, delete_points_to_sets): Declare.
  
! 2005-07-09  Richard Henderson  <rth@redhat.com>
  
! 	* config/alpha/alpha.c (emit_insxl, alpha_expand_compare_and_swap_12,
! 	alpha_split_compare_and_swap_12, alpha_expand_lock_test_and_set_12,
! 	alpha_split_lock_test_and_set_12): New functions.
! 	* config/alpha/alpha-protos.h: Update.
! 	* config/alpha/alpha.md (UNSPEC_MB, UNSPEC_ATOMIC,
! 	UNSPEC_CMPXCHG, UNSPEC_XCHG): Rename from UNSPECV_FOO.
! 	* config/alpha/sync.md (I12MODE): New.
! 	(memory_barrier, mb_internal): Use unspec instead of unspec_volatile.
! 	(sync_<fetchop_name><I48MODE>): Likewise.
! 	(sync_nand<I48MODE>): Likewise.
! 	(sync_old_<fetchop_name><I48MODE>): Likewise.
! 	(sync_new_<fetchop_name><I48MODE>): Likewise.
! 	(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
! 	(sync_compare_and_swap<I48MODE>): Likewise.
! 	(sync_lock_test_and_set<I48MODE>): Likewise.
! 	(sync_compare_and_swap<I12MODE>): New.
! 	(sync_compare_and_swap<I12MODE>_1): New.
! 	(sync_lock_test_and_set<I12MODE>): New.
! 	(sync_lock_test_and_set<I12MODE>_1): New.
  
! 2005-07-09  Diego Novillo  <dnovillo@redhat.com>
  
! 	PR 21356
! 	PR 22332
! 	* passes.c (execute_todo): Cleanup the CFG before updating SSA.
  
! 2005-07-09  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/i386/i386.c (output_set_got): Don't omit OFFSET FLAT:
! 	in Intel syntax add %reg, OFFSET FLAT:_GLOBAL_OFFSET_TABLE_+(.-.Lx).
  
! 2005-07-09  Richard SAndiford  <richard@codesourcery.com>
  
! 	PR target/21656
! 	* config/mips/elf.h (NO_IMPLICIT_EXTERN_C): Define.
  
! 2005-07-08  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/sync.md (load_locked_<mode>): Use Z for
! 	memory_operand constraint.
! 	(store_conditional_<mode>): Same.
! 	(sync_compare_and_swap<mode>): Same.
! 	(sync_lock_test_and_set<mode>): Same.
  
! 2005-07-08  Hans-Peter Nilsson  <hp@axis.com>
  
! 	Rewrite PIC support to more closely model actual instructions.
! 	* config/cris/cris-protos.h (cris_gotless_symbol, cris_got_symbol)
! 	(cris_symbol): Remove prototypes for removed functions.
! 	(cris_pic_symbol_type_of, cris_valid_pic_const)
! 	(cris_expand_pic_call_address): Prototypes for new functions.
! 	* config/cris/cris/cris.c (cris_pic_sympart_only): Remove unused
! 	variable.
! 	(cris_print_operand) <case 'v', 'P'>: Remove cases for unused
! 	modifiers.
! 	<case ':'>: Add case for new punctuation character.
! 	<case 'd'>: Temporarily set flag_pic = 2 instead of incorrectly
! 	emitting (extra) PIC modifier.
! 	<case UNSPEC>: Do not assert for PLT.
! 	(cris_initial_frame_pointer_offset, cris_simple_epilogue)
! 	(cris_expand_prologue, cris_expand_epilogue): Check
! 	for pic_offset_table_rtx usage instead of taking
! 	current_function_uses_pic_offset_table as the final word.
! 	(cris_rtx_costs, cris_address_cost, cris_side_effect_mode_ok):
! 	Remove flag_pic difference.
! 	(cris_valid_pic_const, cris_pic_symbol_type_of): New functions,
! 	the moral equivalents of...
! 	(cris_symbol, cris_gotless_symbol, cris_got_symbol): Remove
! 	functions.
! 	(cris_legitimate_pic_operand): Just call cris_valid_pic_const.
! 	(cris_handle_option): Mark ARG as unused.
! 	(cris_expand_pic_call_address): New worker function for "call",
! 	"call_value".
! 	(cris_asm_output_symbol_ref, cris_asm_output_label_ref): Do not
! 	output PIC constructs here.
! 	(cris_output_addr_const_extra): Changes for emitting PIC modifiers
! 	as symbol-specific modifers, not whole or part of operands.
! 	* config/cris/cris/cris.h (EXTRA_CONSTRAINT): Remove 'U' case.
! 	(EXTRA_CONSTRAINT_S): Changed semantics: allow only CONST-wrapped
! 	constants and flag_pic.
! 	(CONSTANT_INDEX_P): Adjust for new functions.
! 	(enum cris_pic_symbol_type): New helper type.
! 	(PRINT_OPERAND_PUNCT_VALID_P): Add ':'.
! 	* config/cris/cris/cris.md (CRIS_UNSPEC_GOTREL)
! 	(CRIS_UNSPEC_GOTREAD, CRIS_UNSPEC_PLTGOTREAD): New
! 	define_constants.
! 	("movsi"): Emit actual instructions for GOT and relative access.
! 	("*movsi_got_load"): New pattern to set up the register holding
! 	the GOT pointer.
! 	("*movsi_internal"): Operand 1 is not a plain general_operand.
! 	Adjust FIXME for 'S'.
! 	<output for 'S' alternative>: Sanity-check UNSPEC types for PIC.
! 	Use "movs" for -fpic cases.
! 	("addsi3"): Add alternative for 'S'; use adds.w when possible.
! 	("uminsi3","*expanded_call_value"): Remove 'S' alternative.
! 	("call", "call_value"): Just call cris_expand_pic_call_address for
! 	PIC addresses.
! 	("*expanded_call_no_gotplt", "*expanded_call_value_no_gotplt"):
! 	Remove special pattern.
! 	("*expanded_call_side", "*expanded_call_value_side"): New
! 	patterns.
! 	(gotplt-to-plt, gotplt-to-plt-side-call)
! 	(gotplt-to-plt-side-call-value, gotplt-to-plt-side): New
! 	peephole2:s.
! 	* config/cris/cris/predicates.md
! 	("cris_general_operand_or_gotless_symbol"): Remove unused
! 	predicate.
! 	("cris_general_operand_or_symbol"): Adjust for new functions.
  
! 2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* config/darwin.h (TARGET_C99_FUNCTIONS): Define to 1.
  
! 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* Makefile.in (TREE_H): Add treestruct.def.
! 	(c-decl.o): Add pointer-set.h
! 	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
! 	visibility on regular DECL's.
! 	(merge_decls): Fix the copying of decl nodes of various types for
! 	the new structures.  Don't update RTL, section name, weak status,
! 	etc, on DECL's without RTL.
! 	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
! 	Don't check volatile on non-variable types.
! 	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
! 	to check whether we have seen arguments.
! 	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
! 	flag is checked before field (flag is common, field is not).
! 	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
! 	TS_DECL_COMMON could have an origin.
! 	(add_location_or_const_value_attribute): Don't check section name
! 	on non-var/function decls.
! 	(dwarf2out_var_location): Reverse order of tests.
! 	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
! 	with DECL_WRTL_CHECK.
! 	* expmed.c (make_tree): rtl is now in decl_with_rtl.
! 	* fold-const.c (fold_binary): Don't check weakness on
! 	non-var/function decls.
! 	(tree_expr_nonzero_p): Ditto.
! 	(fold_checksum_tree): Use tree_decl_extra as sizeof
! 	buffer.
! 	* ggc-page.c (extra_order_size_table): Add sizes for
! 	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
! 	tree_field_decl.
! 	* gimplify.c (gimplify_bind_expr): Only set
! 	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
! 	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
! 	without RTL.
! 	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
! 	* langhooks.h (init_ts). New langhook.
! 	* passes.c (rest_of_decl_compilation): Reverse order of tests.
! 	* print-tree.c (print_node): Update to only print fields that
! 	exist in the structures the passed decl has.
! 	* toplev.c (wrapup_global_declarations): Don't reset
! 	DECL_DEFER_OUTPUT on DECL's that don't contain it.
! 	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
! 	* tree-inline.c (remap_decl): Ditto.
! 	* tree-outof-ssa.c (create_temp): Reverse order of tests.
! 	* tree-pretty-print.c (print_declaration): Don't print
! 	DECL_REGISTER on things that don't contain it.
! 	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
! 	non-var/function decls.
! 	* tree.c (tree_contains_struct): New structure.
! 	(init_priority_for_decl): New hashtable.
! 	(tree_int_map): New structure.
! 	(tree_int_map_eq): New function.
! 	(tree_int_map_marked_p): Ditto.
! 	(tree_int_map_hash): Ditto.
! 	(tree_map): Move to tree.h.
! 	(tree_map_eq): Externalize.
! 	(tree_map_hash): Ditto.
! 	(tree_map_marked_p): Ditto.
! 	(init_ttree): Set up tree_contains_struct and call langhook.
! 	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
! 	(tree_code_size): Update for new structures.
! 	(tree_node_structure): Update for new structures.
! 	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
! 	without the field.
! 	(copy_node_stat):  Copy init priority.
! 	(build_decl_stat): Ditto for visibility.
! 	(ts_enum_names): New.
! 	(tree_contains_struct_check_failed): New function.
! 	(decl_init_priority_lookup): Ditto.
! 	(decl_init_priority_insert): Ditto.
! 	* treestruct.def: New file.
! 	* tree.h (CODE_CONTAINS_STRUCT): New macro.
! 	(CONTAINS_STRUCT_CHECK): Ditto.
! 	(tree_contains_struct_check_failed): New prototype.
! 	(DECL_CHECK): Removed.
! 	(DECL_MINIMAL_CHECK): New.
! 	(DECL_COMMON_CHECK): Ditto.
! 	(DECL_WRTL_CHECK): Ditto.
! 	(DECL_NON_COMMON_CHECK): Ditto.
! 	(DECL_WITH_VIS_CHECK): Ditto.
! 	(VAR_OR_FUNCTION_DECL_P): Ditto
! 	(struct tree_decl_minimal): New structure.
! 	(struct tree_decl_common): Ditto.
! 	(struct tree_decl_with_rtl): Ditto.
! 	(struct tree_decl_with_vis): Ditto.
! 	(struct tree_decl_non_common): Ditto.
! 	(struct tree_field_decl): Ditto.
! 	(struct tree_parm_decl): Ditto.
! 	(struct tree_var_decl): Ditto.
! 	(struct tree_function_decl): Ditto.
! 	(struct tree_const_decl): Ditto.
! 	(struct tree_result_decl): Ditto.
! 	(union tree_node): Add new structures.
! 	* var-tracking.c (track_expr_p): Reverse order of tests.
  
! 	* doc/c-tree.texi: Add documentation on DECL node internal structure.
  
! 2005-07-08  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* cfgexpand.c (tree_expand_cfg): Don't use FINALIZE_PIC.
! 	* system.h: Poison FINALIZE_PIC.
! 	* doc/tm.texi (FINALIZE_PIC): Remove.
  
! 2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22329
! 	* tree-ssa-propagate.c (fold_predicate_in): Convert the value
! 	to the correct type if we have a MODIFY_EXPR.
  
! 2005-07-08  Kazu Hirata  <kazu@codesourcery.com>
  
! 	PR tree-optimization/22360
! 	* tree.c (upper_bound_in_type): Fix calculations for casting
! 	to a non-wider signed type and casting a signed value to a
! 	wider unsigned type.
! 	(lower_bound_in_type): Fix calculations for casting to a
! 	non-wider signed type.
  
! 	PR tree-optimization/20139
! 	* tree-cfg.c (remove_bb): Check in_ssa_p before calling
! 	release_defs.
! 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call
! 	fold_cond_expr_cond.
! 	* tree-ssanames.c (release_defs): Assert in_ssa_p.
! 	* tree.c (upper_bound_in_type, lower_bound_in_type): Rewrite.
  
! 2005-07-08  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22356
! 	* tree-complex.c (expand_complex_libcall): Produce
! 	REALPART_EXPR/IMAGPART_EXPR with the correct type.
  
! 2005-07-08  Kenneth Zadeck <zadeck@naturalbridge.com>
  
! 	* bitmap.c (bitmap_and, bitmap_and_into, bitmap_and_compl,
! 	bitmap_and_compl_into, bitmap_xor, bitmap_xor_into): Removed "a !=
! 	b" assert and inserted fastpath code for this case.
! 	(bitmap_ior): Removed "a != b" assert.
  
! 2005-07-08  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
  
! 	* config/m32r/linux.h (STARTFILE_SPEC): Support PIE.
! 	(ENDFILE_SPEC): Likewise.
! 	* config/m32r/m32r.h (ASM_SPEC): Likewise.
  
! 	* config/m32r/m32r.c (m32r_output_function_epilogue): Care for
! 	a large stack frame at epilogue.
  
! 2005-07-08  David Billinghurst  <David.Billinghurst@riotinto.com>
! 
! 	* final.c: Include sdbout.h when required.
! 
! 2005-07-07  Geoffrey Keating  <geoffk@apple.com>
! 
! 	* config.gcc (*-*-darwin*): Only one target-specific header file
! 	for generic darwin.
! 	(powerpc-*-darwin*): Add version-specific header files.
! 	* configure.in (gcc_AC_CHECK_DECLS): Add strverscmp.
! 	* config.in: Regenerate.
  	* configure: Regenerate.
+ 	* gcc.c: Include xregex.h.
+ 	(version_compare_spec_function): New.
+ 	(spec_function): Add version-compare.
+ 	(replace_outfile_spec_function): Reformat comment.
+ 	(compare_version_strings): New.
+ 	* config/darwin-c.c (version_as_macro): New.
+ 	(builtin_define): New.
+ 	(darwin_cpp_builtins): New.
+ 	* config/darwin-protos.h (darwin_cpp_builtins): New.
+ 	* config/darwin.h (CPP_SPEC): Don't define APPLE_CC here.
+ 	(LIB_SPEC): Make unconditional, update comment.
+ 	(TARGET_C99_FUNCTIONS): Define.
+ 	* config/darwin.opt: Sort.
+ 	(mmacosx-version-min=): New.
+ 	* config/darwin7.h: Delete.
+ 	* config/darwin8.h: Delete.
+ 	* config/i386/darwin.h (): Call darwin_cpp_builtins.
+ 	* config/rs6000/darwin.h (): Call darwin_cpp_builtins.
+ 	(TARGET_C99_FUNCTIONS): Define.
+ 	* config/rs6000/darwin7.h: New.
+ 	* config/rs6000/darwin8.h: New.
+ 	* doc/invoke.texi (Darwin Options): Add -mmacosx-version-min=
+ 	(-mmacosx-version-min): Document.
  
! 2005-07-07  Ian Lance Taylor  <ian@airs.com>
  
! 	* config/mips/mips.md (abs<mode>2) [GPR]: Remove.
  
! 2005-07-07  John David Anglin  <dave.anglin@nrc-crc.gc.ca>
  
! 	PR middle-end/22239
! 	* loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
  
! 2005-07-07  Khem Raj  <kraj@mvista.com>
  
! 	* config/arm/arm.c (thumb_output_function_prologue): Calculate offset
! 	in bytes, not words.
  
! 2005-07-07  Paul Brook  <paul@codesourcery.com>
  
! 	* config/arm/arm.c (arm_pad_arg_upward): Compare return value of
! 	DEFAULT_FUNCTION_ARG_PADDING to upward.
  
! 2005-07-07  Richard Henderson  <rth@redhat.com>
  
! 	* function.c (locate_and_pad_parm): Record parameter alignment in
! 	stack_alignment_needed.
  
! 2005-07-07  David Edelsohn  <edelsohn@gnu.org>
  
! 	* config/rs6000/rs6000.md (UNSPEC_SYNC, UNSPEC_SYNC_OP,
! 	UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC, UNSPEC_ISYNC): Delete.
! 	(UNSPECV_LL, UNSPECV_SC, UNSPECV_ATOMIC, UNSPECV_SYNC,
! 	UNSPECV_SYNC_OP, UNSPECV_CMPXCHG, UNSPECV_LWSYNC, UNSPECV_ISYNC): New.
! 	(define_attr "type"): Add isync, sync, load_l, store_c.
! 	* config/rs6000/sync.md (memory_barrier): Change to define_expand.
! 	Create scratch volatile MEM.
! 	(sync_internal): New.  POWER mnemonic is dcs, not ics.  Attribute
! 	sync.
! 	(load_locked_<mode>): New.
! 	(store_conditional_<mode>): New.
! 	(sync_compare_and_swap<mode>): Replace with splitter.
! 	(sync_lock_test_and_set<mode>): Replace with splitter.
! 	(sync_<fetchop><mode>): Change to unspec_volatile UNSPECV_SYNC_OP
! 	and UNSPECV_ISYNC.
! 	(isync): Change to unspec_volatile UNSPECV_ISYNC.  POWER mnemonic
! 	is ics.  Attribute isync.
! 	(lwsync): Change to unspec_volatile UNSPECV_LWSYNC.  Attribute
! 	lwsync.
! 	* config/rs6000/rs6000.c (rs6000_emit_sync): Use UNSPEC_VOLATILE
! 	and UNSPECV_SYNC_OP.
! 	(emit_unlikely_jump): New.
! 	(emit_load_locked): New.
! 	(emit_store_conditional): New.
! 	(rs6000_split_compare_and_swap): New.
! 	(rs6000_split_lock_test_and_set): New.
! 	(is_dispatch_slot_restricted): Return 4 for TYPE_LOAD_L,
! 	TYPE_STORE_C, TYPE_ISYNC, TYPE_SYNC.
! 	* config/rs6000/rs6000-protos.h (rs6000_split_compare_and_swap,
! 	rs6000_split_lock_test_and_set): Declare.
! 	* config/rs6000/{40x.md,440.md,603.md,6xx.md,7450.md,7xx.md,8540.md,
! 	mpc.md,power4.md,power5.md,rios1.md,rios2.md,rs64.md): Add load_l,
! 	store_c, isync, sync.
  
! 2005-07-07  Kelley Cook  <kcook@gcc.gnu.org>
  
! 	* Makefile.in (echo_quoted_to_gtyp): New template for outputing
! 	filenames to gtyp-gen.h.
! 	(s-typ-gen): Use it in place of for loops.
  
! 2005-07-07  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* hooks.c (hook_bool_rtx_int_false): New function.
! 	* hooks.h (hook_bool_rtx_int_false): Declare.
! 	* target-def.h (TARGET_COMMUTATIVE_P): Define.
! 	(TARGET_INITIALIZER): Add TARGET_COMMUTATIVE_P.
! 	* target.h (struct gcc_target): Add commutative_p member.
! 	* targhooks.c (hook_bool_rtx_commutative_p): New function.
! 	* targhooks.h (hook_bool_rtx_commutative_p): Declare.
! 	* pa.c (TARGET_COMMUTATIVE_P): Redefine.
! 	(pa_commutative_p): New function.
! 	* jump.c (target.h): Include.
! 	(rtx_renumbered_equal_p): Use targetm.commutative_p.
! 	* doc/tm.texi: Document TARGET_COMMUTATIVE_P.
  
! 2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390-protos.h (s390_expand_clrmem): Delete.
! 	(s390_expand_setmem): New.
! 	* config/s390/s390.c: Likewise.
! 	(print_shift_count_operand): Truncate to 12 bits instead of 6.
! 	Adapt comments.
! 	* config/s390/s390.md: ("setmem<mode>"): Accept character as
! 	general_operand.  Call new function "s390_expand_setmem".
! 	("clrmem_long", "*clrmem_long"): Rewrite to ...
! 	("setmem_long", "*setmem_long"): ... this.
  
! 2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* config/s390/s390.c: (optimization_options): Enable
! 	TARGET_MVCLE at -Os.
! 	* doc/invoke.texi: Document changes in default behaviour.
! 	* config/s390/s390.opt: ("mvcle"): Fix typo: is "mmvcle".
  
! 2005-07-07  Adrian Straetling  <straetling@de.ibm.com>
  
! 	* expr.c: (set_storage_via_setmem): Convert opchar to mode
! 	defined by back-end.
  
! 2005-07-07  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/sparc/sparc.md (stack_protect_testsi): Put clobbers after
! 	all sets in the pattern.
! 	* config/rs6000/rs6000.md (stack_protect_testsi,
! 	stack_protect_testdi): Likewise.
  
! 2005-07-06  Jeff Law  <law@redhat.com>
  
! 	* tree-vrp.c (simplify_using_ranges): Kill.
! 	(vrp_finalize): Remove call to simplify_using_ranges.
! 	(simplify_stmt_using_ranges): New function extracted from
! 	simplify_using_ranges.
! 	(simplify_div_or_mod_using_ranges): Likewise.
! 	(simplify_abs_using_ranges): Likewise.
! 	(simplify_cond_using_ranges): New function.
! 	* tree-flow.h (simplify_stmt_using_ranges): Prototype.
! 	* tree-ssa-propagate.c (substitute_and_fold): Call
! 	simplify_stmt_using_ranges if we have range information.
  
! 2005-07-06  James E. Wilson  <wilson@specifixinc.com>
  
! 	* config/ia64/ia64.c (ia64_reorg): Check optimize before
! 	ia64_flag_schedule_isns2.
  
! 	* config/ia64/ia64.c (ia64_expand_movxf_movrf): Don't word swap when
! 	reading/writing general registers.
! 	(ia64_function_arg): Revert 2005-06-18 change.
  
! 2005-07-06  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
  
! 	* pa.c (legitimize_pic_address): Use gcc_assert instead of abort.
! 	(legitimize_tls_address): Use gcc_unreachable instead of abort.
  
! 2005-07-06  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* function.c (expand_function_end): Revert part of 2005-06-27
! 	patch.  Do sjlj_emit_function_exit_after after return_label.
  
! 2005-07-06  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* doc/install.texi (--disable-libssp): New.
  
! 2005-07-06  Fariborz Jahanian <fjahanian@apple.com>
  
! 	* doc/invoke.texi: Update -fforce-mem documentation.
! 	* dojump.c (compare_from_rtx,do_compare_rtx_and_jump): Remove
! 	code for -fforce-mem.
! 	* expmed.c: (store_bit_field,store_fixed_bit_field,
! 	extract_bit_field): Ditto.
! 	* expr.c: (convert_move): Ditto.
! 	* optabs.c: (expand_binop,expand_twoval_unop,expand_twoval_binop,
! 	expand_unop,emit_unop_insn,prepare_cmp_insn,emit_conditional_move,
! 	emit_conditional_add,expand_float,expand_fix): Ditto.
! 	* opts.c: (decode_options): Remove setting of flag_force_mem flag.
! 	(common_handle_option): Issue warning when -fforce-mem specified.
  
! 2005-07-06  Paul Brook  <paul@codesourcery.com>
  
! 	* aclocal.m4: Work around a bug in AC_PATH_PROGS when its last
! 	argument is empty.
! 	* configure: Regenerate.
  
! 2005-07-06  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (final_prescan_insn): Undo bogus change from 2005-05-09.
  
! 2005-07-06  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22319
! 	Fix PR tree-optimization/22140
! 	Fix PR tree-optimization/22310
  
! 	* tree-ssa-structalias.c (do_structure_copy): Give up earlier on
! 	variable sized types.
! 	Use correct type for intermediate structure on *a = *b structure
! 	copies.
  
! 2005-07-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/rs6000/rs6000.h (RS6000_VARARGS_AREA, RS6000_VARARGS_SIZE):
! 	Remove.
! 	(STARTING_FRAME_OFFSET): Don't add RS6000_VARARGS_AREA.
! 	(machine_function): Move typedef to...
! 	* config/rs6000/rs6000.c (machine_function): ... here.  Add
! 	varargs_save_offset field.
! 	(rs6000_stack_t): Remove varargs_size field.
! 	(setup_incoming_varargs): Allocate varargs save area using
! 	assign_stack_local, try to make it as small as possible.
! 	Save offset from virtual_stack_vars_rtx to the save area
! 	in cfun->machine->varargs_save_offset.  Use UNITS_PER_FP_WORD
! 	instead of magic 8 when fp word byte size is used.
! 	(rs6000_va_start): Use cfun->machine->varargs_save_offset
! 	instead of -RS6000_VARARGS_SIZE.
! 	(rs6000_stack_info, debug_stack_info,
! 	rs6000_initial_elimination_offset): Remove all traces of
! 	varargs_size.
! 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Remove.
! 	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET): Don't add
! 	RS6000_VARARGS_AREA.
  
! 2005-07-06  Zdenek Dvorak  <dvorakz@suse.cz>
  
! 	PR tree-optimization/21963
! 	* tree-ssa-loop-ivopts.c (get_computation_aff): Use
! 	constant_multiple_of in the same way get_computation_cost_at does.
  
! 2005-07-06  Jakub Jelinek  <jakub@redhat.com>
  
! 	* config/sparc/sparc.h (sparc_compare_emitted): New extern.
! 	* config/sparc/sparc.c (sparc_compare_emitted): New variable.
! 	(gen_compare_reg): If sparc_compare_emitted is set, clear it
! 	and return its previous value.
! 	(emit_v9_brxx_insn): Assert sparc_compare_emitted is NULL.
! 	* config/sparc/sparc.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
! 	constants.
! 	(stack_protect_set, stack_protect_test): New expanders.
! 	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
! 	stack_protect_testdi): New insns.
! 	* config/sparc/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
! 	* config/sparc/linux64.h (TARGET_THREAD_SSP_OFFSET): Define.
  
! 2005-07-06  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dce.c (cfg_altered): New global.
! 	(tree_dce_init): Initialize cfg_altered.
! 	(remove_dead_stmt): If we remove an edge in the CFG, then set
! 	CFG_ALTERED.
! 	(perform_tree_ssa_dce): If we altered the CFG, then invalidate
! 	the dominators.
  
! 2005-07-06  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* Makefile.in (stamp-collect-ld): Use
! 	$(ORIGINAL_LD_FOR_TARGET) instead of $<.  Don't remove
! 	./collect-ld if it already exists.
! 	(stamp-nm): Use $(ORIGINAL_NM_FOR_TARGET) instead of $<.
! 	Don't remove ./nm if it already exists.
  
! 2005-07-05  Devang Patel  <dpatel@apple.com>
  
! 	* tree-vectorizer.h (struct _loop_vec_info): Remove loop_line_number.
! 	(LOOP_VINFO_LOC, LOOP_LOC): Remove.
! 	* tree-vectorizer.c (vect_loop_location): New.
! 	(vect_print_dump_info): Use vect_loop_location.
! 	(new_loop_vec_info): Do not set LOOP_VINFO_LOC.
! 	(vectorize_loops): Set vect_loop_location.
! 	* tree-vect-analyze.c (vect_analyze_offset_expr,
! 	vect_determin_vectorization_factor, vect_analyze_operations,
! 	vect_analyze_scalar_cycles, vect_analyze_data_ref_dependence,
! 	vect_analyze_data_ref_dependences, vect_compute_data_ref_alignment,
! 	vect_analyze_data_refs_alignment, vect_analyze_data_ref_access,
! 	vect_analyze_data_ref_accesses, vect_analyze_pointer_ref_access,
! 	vect_object_analysis, vect_analyze_data_refs, vect_mark_relevant,
! 	vect_stmt_relevant_p, vect_mark_stmts_to_be_vectorized,
! 	vect_can_advance_ivs_p, vect_get_loop_niters, vect_analyze_loop_form,
! 	vect_analyze_loop): Adjust vect_print_dump_info API.
! 	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
! 	vect_create_data_ref_ptr, vect_init_vector, vect_get_vec_def_for_operand,
! 	vect_finish_stmt_generation, vectorizable_assignment,
! 	vectorizable_operation, vectorizable_store, vectorizable_load,
! 	vectorizable_live_operation, vectorizable_condition, vect_transform_stmt,
! 	vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
! 	vect_gen_ninters_for_prolog_loop, vect_do_peeling_for_alignment,
! 	vect_transform_loop): Same.
! 	* tree-vectorizer.c (get_vectype_for_scalar_type, vect_is_simple_use,
! 	vect_is_simple_reduction, vect_is_simple_iv_evolution, vectorize_loops):
! 	Same.
  
! 2005-07-05  Randolph Chung  <tausq@debian.org>
  
! 	* configure.ac (hppa*-*-linux*: Check for a TLS capable gas.
! 	* configure: Regenerate.
! 	* config/pa/pa-protos.h (tls_symbolic_operand): Declare.
! 	(pa_tls_referenced_p): Declare.
! 	* config/pa/pa.c (legitimize_pic_address): Reject TLS operands.
! 	(gen_tls_tga, gen_tls_get_addr, hppa_tls_call): New.
! 	(legitimize_tls_address): New.
! 	(hppa_legitimize_address): Handle TLS addresses.
! 	(pa_tls_symbol_ref_1, pa_tls_referenced_p): New.
! 	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
! 	(emit_move_sequence): Handle TLS addresses.
! 	(pa_encode_section_info): Call default handler to handle common
! 	sections.
! 	* config/pa/pa.h (PA_SYMBOL_REF_TLS_P): New.
! 	(CONSTANT_ADDRESS_P): Reject TLS operands.
! 	(TARGET_HAVE_TLS) [HAVE_AS_TLS]: Define.
! 	* config/pa/pa.md (UNSPEC_TP, UNSPEC_TLSGD, UNSPEC_TLSLDM)
! 	(UNSPEC_TLSLDO, UNSPEC_TLSLDBASE, UNSPEC_TLSIE)
! 	(UNSPEC_TLSLE): Define new constants.
! 	(tgd_load, tld_load, tld_offset_load, tp_load, tie_load, tle_load): New.
! 	* config/pa/predicates.md (symbolic_operand): Reject TLS operands.
! 	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand)
! 	(tie_symbolic_operand, tle_symbolic_operand): New
  
! 2005-07-06  Kelley Cook  <kcook@gcc.gnu.org>
  
! 	* aclocal.m4: Update macros for autoconf 2.59 style.
! 	* configure.ac: Likewise.
  
! 2005-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (function_value): Handle small aggregates on 32-bit targets.
! 	(function_arg): Pass small aggregates in general registers on 32-bit
! 	targets.
! 	* som.h (MEMBER_TYPE_FORCES_BLK): Delete define.
  
! 2005-07-05  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	* Makefile.in (final.o): Fix dependencies.
  
! 2005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22013
! 	PR c/22098
! 	* langhooks.h (struct lang_hooks): Add expr_to_decl.
! 	* langhooks.c (lhd_expr_to_decl): New.
! 	* langhooks-def.h (lhd_expr_to_decl, LANG_HOOKS_EXPR_TO_DECL):
! 	New.
! 	(LANG_HOOKS_INITIALIZER): Update.
! 	* tree.c (recompute_tree_invarant_for_addr_expr): Call
! 	expr_to_decl langhook.
! 	* c-tree.h (c_expr_to_decl): Declare.
! 	* c-typeck.c (c_expr_to_decl): New.
! 	(build_unary_op): Do not handle ADDR_EXPR of COMPOUND_LITERAL_EXPR
! 	specially.
! 	* c-objc-common.h (LANG_HOOKS_EXPR_TO_DECL): Define.
  
! 2005-07-05  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	PR c/22308
! 	* c-decl.c (finish_struct): Also copy C_TYPE_FIELDS_READONLY,
! 	C_TYPE_FIELDS_VOLATILE and C_TYPE_VARIABLE_SIZE to type variants.
  
! 2005-07-05  Paolo Bonzini  <bonzini@gnu.org>
  
! 	* Makefile.in: Adjust dependencies.
! 	* tree-pass.h: Add new passes and passes formerly in tree-optimize.c.
! 	* basic-block.h (duplicate_computed_gotos): Remove, it is now static.
! 	* alias.c (rest_of_handle_cfg, pass_cfg): New.
! 	* bb-reorder.c (duplicate_computed_gotos): Make it static.
! 	* cfgexpand.c (tree_expand_cfg): Add code formerly at the beginning of
! 	rest_of_compilation.
  
! 	* bb-reorder.c (gate_duplicate_computed_gotos,
! 	pass_duplicate_computed_gotos, gate_handle_reorder_blocks,
! 	rest_of_handle_reorder_blocks, pass_reorder_blocks,
! 	gate_handle_partition_blocks, rest_of_handle_partition_blocks,
! 	pass_partition_blocks): New.
! 	* bt-load.c (gate_handle_branch_target_load_optimize,
! 	rest_of_handle_branch_target_load_optimize,
! 	pass_branch_target_load_optimize): New.
! 	* cfgcleanup.c (rest_of_handle_jump, pass_jump, rest_of_handle_jump2,
! 	pass_jump2): New.
! 	* cfglayout.c (pass_insn_locators_initialize): New.
! 	* cfgrtl.c (pass_free_cfg): New.
! 	* combine.c (gate_handle_combine, rest_of_handle_combine,
! 	pass_combine): New.
! 	* cse.c (gate_handle_cse, rest_of_handle_cse, pass_cse,
! 	gate_handle_cse2, rest_of_handle_cse2, pass_cse2): New.
! 	* emit-rtl.c (pass_unshare_all_rtl, pass_remove_unnecessary_notes): New.
! 	* except.c (pass_set_nothrow_function_flags,
! 	pass_convert_to_eh_region_ranges, gate_handle_eh, rest_of_handle_eh,
! 	pass_rtl_eh): New.
! 	* final.c (pass_compute_alignments, rest_of_handle_final, pass_final,
! 	rest_of_handle_shorten_branches, pass_shorten_branches,
! 	rest_of_clean_state, pass_clean_state): New.
! 	* flow.c (pass_recompute_reg_usage, gate_remove_death_notes,
! 	rest_of_handle_remove_death_notes, pass_remove_death_notes,
! 	rest_of_handle_life, pass_life, rest_of_handle_flow2,
! 	pass_flow2): New.
! 	* function.c (pass_instantiate_virtual_regs, pass_init_function,
! 	rest_of_handle_check_leaf_regs, pass_leaf_regs): New.
! 	* gcse.c (gate_handle_jump_bypass, rest_of_handle_jump_bypass,
! 	pass_jump_bypass, gate_handle_gcse, rest_of_handle_gcse,
! 	pass_gcse): New.
! 	* global.c (rest_of_handle_global_alloc, pass_global_alloc): New.
! 	* ifcvt.c (gate_handle_if_conversion, rest_of_handle_if_conversion,
! 	pass_rtl_ifcvt, gate_handle_if_after_combine,
! 	rest_of_handle_if_after_combine, pass_if_after_combine,
! 	gate_handle_if_after_reload, rest_of_handle_if_after_reload,
! 	pass_if_after_reload): New.
! 	* integrate.c (pass_initial_value_sets): New.
! 	* jump.c (pass_cleanup_barriers, purge_line_number_notes,
! 	pass_purge_lineno_notes): New.
! 	* mode-switching.c (rest_of_handle_mode_switching,
! 	pass_mode_switching): New.
! 	* local-alloc.c (rest_of_handle_local_alloc, pass_local_alloc): New.
! 	* loop-init.c (gate_handle_loop2, rest_of_handle_loop2,
! 	pass_loop2): New.
! 	* loop.c (gate_handle_loop_optimize, rest_of_handle_loop_optimize,
! 	pass_loop_optimize): New.
! 	* modulo-sched.c (gate_handle_sms, rest_of_handle_sms,
! 	pass_sms): New.
! 	* postreload-gcse.c (gate_handle_gcse2, rest_of_handle_gcse2,
! 	pass_gcse2): New.
! 	* postreload.c (gate_handle_postreload, rest_of_handle_postreload,
! 	pass_postreload_cse): New.
! 	* profile.c (gate_handle_profiling, pass_profiling,
! 	rest_of_handle_branch_prob, pass_branch_prob): New.
! 	* recog.c (pass pass_split_for_shorten_branches, gate_do_final_split,
! 	pass_split_before_regstack, gate_handle_split_before_regstack,
! 	gate_handle_peephole2, rest_of_handle_peephole2, pass_peephole2,
! 	rest_of_handle_split_all_insns, pass_split_all_insns): New.
! 	* reg-stack.c (gate_handle_stack_regs, rest_of_handle_stack_regs,
! 	pass_stack_regs): New.
! 	* regmove.c (gate_handle_regmove, rest_of_handle_regmove, pass_regmove,
! 	gate_handle_stack_adjustments, rest_of_handle_stack_adjustments,
! 	pass_stack_adjustments): New.
! 	* regrename.c (gate_handle_regrename, rest_of_handle_regrename,
! 	pass_regrename): New.
! 	* reorg.c (gate_handle_delay_slots, rest_of_handle_delay_slots,
! 	pass_delay_slots, gate_handle_machine_reorg,
! 	rest_of_handle_machine_reorg, pass_machine_reorg): New.
! 	* rtl.h (extern void purge_line_number_notes): New.
! 	* sched-rgn.c (gate_handle_sched, rest_of_handle_sched,
! 	gate_handle_sched2, rest_of_handle_sched2, pass_sched,
! 	pass_sched2): New.
! 	* tracer.c (gate_handle_tracer, rest_of_handle_tracer,
! 	pass_tracer): New.
! 	* value-prof.c (gate_handle_value_profile_transformations,
! 	rest_of_handle_value_profile_transformations,
! 	pass_value_profile_transformations): New.
! 	* var-tracking.c (gate_handle_var_tracking,
! 	pass_variable_tracking): New.
! 	* web.c (gate_handle_web, rest_of_handle_web, pass_web): New.
  
! 	* passes.c (open_dump_file, close_dump_file, rest_of_handle_final,
! 	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
! 	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
! 	rest_of_handle_old_regalloc, rest_of_handle_regrename,
! 	rest_of_handle_reorder_blocks, rest_of_handle_partition_blocks,
! 	rest_of_handle_sms, rest_of_handle_sched, rest_of_handle_sched2,
! 	rest_of_handle_gcse2, rest_of_handle_regmove,
! 	rest_of_handle_tracer, rest_of_handle_if_conversion,
! 	rest_of_handle_if_after_combine, rest_of_handle_if_after_reload,
! 	rest_of_handle_web, rest_of_handle_branch_prob,
! 	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
! 	rest_of_handle_jump_bypass, rest_of_handle_combine,
! 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
! 	rest_of_handle_gcse, rest_of_handle_loop_optimize,
! 	rest_of_handle_loop2, rest_of_handle_branch_target_load_optimize,
! 	rest_of_handle_mode_switching, rest_of_handle_jump,
! 	rest_of_handle_eh, rest_of_handle_stack_adjustments,
! 	rest_of_handle_flow2, rest_of_handle_jump2,
! 	rest_of_handle_peephole2, rest_of_handle_postreload,
! 	rest_of_handle_shorten_branches, rest_of_clean_state,
! 	rest_of_compilation): Remove.
  
! 	* cgraphunit.c (ipa_passes): Moved from tree-optimize.c.
! 	* passes.c (dump_flags, in_gimple_form, all_passes,
! 	all_ipa_passes, all_lowering_passes, register_one_dump_file,
! 	register_dump_files, next_pass_1, last_verified, execute_todo,
! 	execute_one_pass, execute_pass_list, execute_ipa_pass_list): Moved
! 	from tree-optimize.c.
! 	(init_optimization_passes): Moved from tree-optimize.c,
! 	adding the RTL optimizations.
! 	* tree-dump.h (dump_info_p, dump_flag): Moved from tree.h.
! 	* tree-optimize.c (dump_flags, in_gimple_form, all_passes,
! 	all_ipa_passes, all_lowering_passes, register_one_dump_file,
! 	register_dump_files, next_pass_1, last_verified, execute_todo,
! 	execute_one_pass, execute_pass_list, execute_ipa_pass_list,
! 	init_tree_optimization_passes, ipa_passes): Delete.
! 	* tree-pass.h (enum tree_dump_index): Moved from tree.h, removing
! 	the RTL dumps.
! 	(TDF_*, get_dump_file_name, dump_enabled_p, dump_initialized_p,
! 	dump_begin, dump_end, dump_node, dump_switch_p, dump_flag_name): Moved
! 	from tree.h.
! 	(ipa_passes): Remove.
! 	(all_passes, all_ipa_passes, all_lowering_passes): Now extern.
! 	* tree.h (enum tree_dump_index, TDF_*, get_dump_file_name,
! 	dump_enabled_p, dump_initialized_p, dump_begin, dump_end, dump_node,
! 	dump_switch_p, dump_flag_name): Moved to tree-pass.h.
! 	(dump_info_p, dump_flag): Moved to tree-dump.h.
  
! 	* Makefile.in: Adjust dependencies for tree-pretty-print.c,
! 	cgraph.c, opts.c.
! 	* passes.c (finish_optimization_passes): Use dump_begin
! 	and dump_end, TDI_end.
! 	(gate_rest_of_compilation): New.
! 	(pass_rest_of_compilation): Use it.
! 	(gate_postreload, pass_postreload): New.
! 	* toplev.c (general_init): Rename init_tree_optimization_passes.
! 	* toplev.h (init_tree_optimization_passes): Rename to
! 	init_optimizations_passes.
! 	* tree-dump.c (dump_flag): Make static.
! 	(dump_files): Remove RTL dumps.
! 	* tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
! 	pass_cleanup_cfg, pass_free_cfg_annotations,
! 	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
! 	pass_init_datastructures, pass_fixup_cfg): Make non-static.
! 	* tree-pretty-print.c: Include tree-pass.h.
! 	* cgraph.c: Include tree-dump.h.
  
! 2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
  
! 	* tree-ssa-structalias.c (get_constraint_exp_from_ssa_var):
! 	Only fall back to saying it points to readonly memory if
! 	we can't do better.
  
! 2005-07-05  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
  
! 	* config/m32r/m32r-protos.h: Remove m32r_finalize_pic.
! 	* config/m32r/m32r.c (m32r_compute_frame_size,
! 	m32r_expand_prologue): Take current_function_profile into
! 	account whenever we reference
! 	current_function_uses_pic_offset_table.
! 	(m32r_finalize_pic): Remove.
! 	* config/m32r/m32r.h (FINALIZE_PIC): Likewise.
  
! 2005-07-05  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* Makefile.in (stamp-as): Use $(ORIGINAL_AS_FOR_TARGET)
! 	instead of $<.  Don't remove ./as if it already exists.
  
! 2005-07-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	PR target/21723
! 	* pa.md: Remove fcpy alternative from movhi and movqi patterns.
! 	* pa32-regs.h (HARD_REGNO_NREGS): Return two floating point registers
! 	for complex modes when generating code for PA 1.0.
! 	(VALID_FP_MODE_P): New macro.
! 	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
! 	sets for all general and floating point modes.  Align wide floating
! 	point modes to even register boundaries to comply with architectural
! 	requirements.
! 	(CLASS_MAX_NREGS): Update to align with change to HARD_REGNO_NREGS.
! 	* pa64-regs.h (HARD_REGNO_NREGS): Update comment and formatting.
! 	(VALID_FP_MODE_P): New macro.
! 	(HARD_REGNO_MODE_OK): Use VALID_FP_MODE_P.  Use non-overlapping register
! 	sets for all general and floating point modes.  Align wide floating
! 	point modes to even register boundaries to comply with architectural
! 	requirements.
  
! 2005-07-04  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-dump.c (dump_files): Initialize dump number for .cgraph
! 	to 0.
  
! 2005-07-04  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-ssa-structalias.c: Don't include expr.h.
  
! 2005-07-04  Diego Novillo  <dnovillo@redhat.com>
  
! 	* tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
! 	comments.
  
! 2005-07-04  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22279
  
! 	* tree-ssa-structalias.c (offset_overlaps_with_access): Use
! 	correct operator.
  
! 2005-07-04  J"orn Rennecke <joern.rennecke@st.com>
  
! 	* sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
  
! 2005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
! 	cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
! 	config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
! 	config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
! 	config/stormy16/stormy16.c, config/v850/v850.c,
! 	config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
! 	except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
! 	Avoid "." or "\n" at end of diagnostics and capital letters at
! 	start of diagnostics.
! 	* combine.c, cse.c: Don't translate dump file output.
! 	* toplev.c (print_version): Only translate output if going to
! 	stderr.
  
! 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* c-decl.c, tree-object-size.c, tree-vectorizer.c,
! 	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
! 	typos.
  
! 2005-07-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
  
! 	* pa.c (fix_range): Fix typo in comment.
  
! 2005-07-03  Kazu Hirata  <kazu@codesourcery.com>
  
! 	* tree-vrp.c (extract_range_from_assert): Replace
! 	fold (build (...)) with fold_build2.
  
! 2005-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
  
! 	* c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
! 	gcc_gfc_char_table, init_dynamic_gfc_info): New.
! 	(format_types_orig, handle_format_attribute): Add support for
! 	format "gcc_gfc".
  
! 2005-07-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
  
! 	* varasm.c (assemble_variable): Fix format specifier thinko.
  
! 2005-07-03  Ira Rosen  <irar@il.ibm.com>
  
! 	PR tree-optimization/22029 (and 22135)
! 	* tree-pretty-print.c (dump_generic_node): Check that the node is not
! 	a phi node before calling dump_vops.
  
! 2005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
  
! 	* tree-dump.h (dump_string_field): Declare.
! 	* tree-dump.c: Use it instead of dump_string.
! 	(dump_string_field): Make non-static.
  
! 2005-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>
  
! 	* config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
! 	up the minimal CFG stuff always when optimize > 0.  Call
! 	split_all_insns_noflow in PIC case if needed.
  
! 2005-07-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
! 	    Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
  
! 	PR c++/18279
! 	* c-decl.c (c_write_global_declarations): Dump contents of
! 	external scope to.
! 	* tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
! 	<TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
! 	<GOTO_EXPR>, <SWITCH_EXPR>: Add.
! 	(dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
! 	is enabled.
  
! 2005-07-03  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c-common.h (GCC_DIAG_STYLE): Define.
! 	* c-tree.h (GCC_DIAG_STYLE): Do not define.  Change minimum GCC
! 	version for format checking to 4.1.
! 	* c-format.c: Include toplev.h after c-common.h.
! 	(enum format_type): Add gcc_tdiag_format_type.
! 	(gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
! 	gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
! 	(format_types_orig): Add gcc_tdiag.
! 	(init_dynamic_diag_info): Support gcc_tdiag formats.
! 	(handle_format_attribute): Likewise.
! 	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
! 	(GCC_DIAG_STYLE): Default to __gcc_tdiag__.  Change minimum GCC
! 	version for format checking to 4.1.
! 	(warning0, warning, error, pedwarn, sorry): Use
! 	ATTRIBUTE_GCC_DIAG.
! 	* config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
! 	(finish_aliases_1): Do not use %qE.
! 	* config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
! 	config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
! 	Correct format bugs.
! 	* config/v850/v850-protos.h (v850_output_aligned_bss): Change size
! 	parameter to unsigned HOST_WIDE_INT.
! 	* config/v850/v850.c (v850_output_aligned_bss): Likewise.
  
! 2005-07-02  David Edelsohn  <edelsohn@gnu.org>
  
! 	PR middle-end/21742
! 	* expr.c (write_complex_part): Use adjust_address for MEM.
! 	(read_complex_part): Same.
  
! 2005-07-02  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22280
  
! 	* tree-sra.c (generate_element_init): Remove useless loop.
  
! 2005-07-02  Richard Henderson  <rth@redhat.com>
  
! 	* config/alpha/alpha.c (alpha_legitimize_address): Check for
! 	TLS_MODEL_NONE.
! 	(alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
  
! 2005-07-02  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR middle-end/14490
! 	* fold-const.c (fold_binary): Handle the return value of
! 	fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
! 	Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
  
! 2005-07-02  Jeff Law  <law@redhat.com>
  
! 	* tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
! 	a eliminate type conversion which feeds an equality comparison
! 	if the original type or either operand in the comparison is a
! 	function pointer.
  
! 2005-07-02  Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
! 	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
! 	texts.
! 	* config/avr/avr.c: Do not use '`' as left quote.
! 	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
! 	Remove "." from end of diagnostics.  Make diagnostics start with
! 	lowercase letter.
  
! 2005-07-02  Zack Weinberg  <zack@codesourcery.com>
! 	    Joseph S. Myers  <joseph@codesourcery.com>
  
! 	* toplev.c (default_tree_printer): Handle setting location with
! 	'+' flag.
! 	* c-objc.common.c (c_tree_printer): Likewise.
! 	* c-format.c (gcc_diag_flag_specs): Add '+'.
! 	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
! 	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
! 	formats.
! 	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
! 	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
! 	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
! 	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
! 	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
! 	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
! 	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
! 	format arguments where %J is used without %D.
  
! 2005-07-02  Jakub Jelinek  <jakub@redhat.com>
  
! 	* gcc.c (LINK_SSP_SPEC): Define.
! 	(link_ssp_spec): New variable.
! 	(LINK_COMMAND_SPEC): Add %(link_ssp).
! 	(static_specs): Add link_ssp_spec.
! 	* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
! 	* configure: Rebuilt.
! 	* config.in: Rebuilt.
  
! 	* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
! 	* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
! 	* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
! 	* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
! 	* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
! 	If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
! 	-0x7008(2) instead of reading __stack_chk_guard variable.
! 	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
! 	number.
! 	(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
! 	(stack_protect_set, stack_protect_test): Use *_tls* patterns
! 	if TARGET_THREAD_SSP_OFFSET is defined.
! 	(stack_tls_protect_set_si, stack_tls_protect_set_di,
! 	stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
  
! 	Revert:
! 	2005-06-27  Richard Henderson  <rth@redhat.com>
! 	* libgcc-std.ver (GCC_4.1.0): New.
! 	* libgcc.h (__stack_chk_guard): Declare.
! 	(__stack_chk_fail, __stack_chk_fail_local): Declare.
! 	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
! 	* mklibgcc.in (lib2funcs): Add them.
  
! 2005-07-01  Richard Henderson  <rth@redhat.com>
  
! 	* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
! 	void * before struct sigcontext *.
! 	(x86_fallback_frame_state): Likewise.
  
! 2005-07-01  James E. Wilson  <wilson@specifixinc.com>
  
! 	* doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
  
! 2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR tree-opt/22269
! 	* tree-ssa-reassoc.c (should_transpose): Fix which operand
! 	we check for SSA_NAME for.
  
! 2005-07-01  Daniel Berlin  <dberlin@dberlin.org>
  
! 	Fix PR tree-optimization/22071
  
! 	* tree-ssa-structalias.c (offset_overlaps_with_access): New
! 	function.
! 	(get_constraint_for_component_ref): Use it.
  
! 2005-07-01  Andrew Pinski  <pinskia@physics.uc.edu>
  
! 	PR other/22264
! 	* diagnostic.c (diagnostic_report_current_module): Use pp_newline to
! 	print out the last new line.
  
! 2005-07-01  Hans-Peter Nilsson  <hp@axis.se>
  
! 	* config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
! 	Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
! 	* config/cris/cris.c (cris_conditional_register_usage): Adjust
! 	reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
! 	(cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
! 	(cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
! 	* config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
! 	(enum reg_class): New member CC0_REGS.
! 	(REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
! 	(FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
! 	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
! 	(CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
! 	(PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
! 	Adjust for register now described.
! 
! 2005-07-01  Jakub Jelinek  <jakub@redhat.com>
! 
! 	PR target/22262
! 	* config/i386/i386.md (stack_protect_test_si,
! 	stack_protect_test_di): Add earlyclobber for scratch 3.
! 	* config/rs6000/rs6000.md (stack_protect_testsi,
! 	stack_protect_testdi): Add earlyclobber for scratch 3,
! 	remove earlyclobber from scratch 4.
! 
! Older entries for 2005 can be found in ChangeLog-2005.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-1997 gcc-4.1.0/gcc/ChangeLog-1997
*** gcc-4.0.2/gcc/ChangeLog-1997	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-1997	Mon Mar  7 16:19:38 2005
***************
*** 0 ****
--- 1,3969 ----
+ Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* configure.in: Set and substitute host_exeext.  Use it when creating
+ 	the assembler and linker symlinks.
+ 	* configure: Rebuild.
+ 	* Makefile.in (exeext): Set to @host_exeext@.
+ 	(build_exeext): New variable, set to @build_exeext@.
+ 	(FLAGS_TO_PASS): Pass down build_exeext.
+ 	(STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
+ 	programs.
+ 
+ Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (addsi3, subsi3): Fix thinkos.
+ 
+ Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
+ 	save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
+ 	unix always, since we want to be able to thunk to functions in a
+ 	shared library from an application.
+ 
+ Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
+ 	(LIB1ASMSRC, LIB1ASMFUNCS): Define.
+ 
+ Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
+ 	offset's mode is not ptr_mode, convert it.
+ 
+ Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
+ 	compiling if it was already defined.
+ 
+ Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks): Don't create a new basic block
+ 	for calls in a LIBCALL block.
+ 
+ Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* config/fp-bit.c (L_df_to_sf): Fix typo in last change.
+ 
+ Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (rtx_cost): Remove conflicting default case.
+ 
+ Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Move default enabling of Haifa out of for loop.
+ 	* configure: Rebuild.
+ 
+ Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 1997-12-25  Teemu Torma  <tot@trema.com>
+ 
+ 	* Makefile.in (GTHREAD_FLAGS): New var.
+ 	(LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
+ 	(distclean): Remove gthr-default.h.
+ 
+ 	* configure.in: Accept dce as a thread package.
+ 	Check for thread.h and pthread.h.
+ 	Link gthr-default.h to appropriate thread file and set
+ 	gthread_flags.
+ 	(hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
+ 	include multilib definitions from pa/t-dce-thr.
+ 	(sparc-*-solaris2*): Enable threads by default, if thread.h or
+ 	pthread.h is found, preferring posix threads over solaris ones.
+ 
+ 	* config/pa/t-dce-thr: New file.
+ 	* config/pa/t-pa: Removed multilibs.
+ 	* config/sparc/t-sol2: Likewise.
+ 
+ 	* gthr.h: New file.
+ 	* gthr-single.h: New file.
+ 	* gthr-posix.h: New file.
+ 	* gthr-solaris.h: New file.
+ 	* gthr-dce.h: New file.
+ 	* libgcc-thr.h: Removed.
+ 	* objc/thr-dce.c: New file copied from thr-decosf1.c.
+ 
+ 	* frame.c: Include gthr.h instead of libgcc-thr.h.
+ 	* libgcc2.c: Include gthr.h instead of libgcc-thr.h.
+ 	(eh_context_initialize): If __gthread_once fails, use static eh
+ 	context.
+ 	(eh_context_free): Call __gthread_key_dtor.
+ 
+ Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.h (MUST_PASS_IN_STACK): Allow target port to override.
+ 
+ Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cse.c (max_insn_uid): New variable.
+ 	(cse_around_loop): Use max_insn_uid.
+ 	(cse_main): Set max_insn_uid.
+ 
+ 	* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
+ 	and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
+ 	-mlong64, and -mgp{32,64} options.
+ 	* mips.c (mips_abi): Change type to int.
+ 	* mips.h (enum mips_abi_type): Delete.
+ 	(ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
+ 	(mips_abi): Change type to int.
+ 
+ Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
+ 
+ 	* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
+ 	optimization is now always enabled.
+ 
+ 	* calls.c (expand_call): Recognize C++ operator new as malloc-like
+ 	function.
+ 
+ 	* alias.c (memrefs_conflict_p): Eliminate tests now done by
+ 	base_alias_check.
+ 	(*_dependence): Call canon_rtx before base_alias_check.
+ 	(init_alias_once): New function to precompute set of registers which
+ 	can hold Pmode function arguments.
+ 
+ 	* rtl.h: Declare init_alias_once.
+ 
+ 	* toplev.c (compile_file): Call init_alias_once.
+ 
+ Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tree.c (restore_tree_status): Do not dereference a null pointer.
+ 
+ Tue Dec 23 12:56:46 1997  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
+ 	RLIMIT_STACK.  This maintains consistency with the recent, similar
+ 	patch to cccp.c and toplev.c.
+ 
+ Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genattrtab.c (expand_units): For large nr opclasses, expand
+ 	function_units_used with ORX to prevent blowups.  Tag with FFS.
+ 	(num_unit_opclasses): New variable.
+ 	(gen_unit): Update it.
+ 	(enum operator): Add ORX_OP.
+ 	(operate_exp): Treat ORX as or, except don't expand across an if.
+ 	Reuse number rtx's after operating on them.
+ 	(check_attr_value): Accept IOR, AND, & FFS.
+ 	(write_test_expr): Transmute `in_comparison' to `flags'.  Allow
+ 	for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
+ 	(write_expr_attr_cache, write_toplevel_expr): New functions.
+ 	(write_attr_get): Handle FFS-tagged expressions.
+ 	(make_canonical): Don't expand const attributes.
+ 	(convert_const_symbol_ref): Dike out.
+ 	(evaluate_eq_attr): Handle SYMBOL_REF.
+ 	(main): Don't emit get_attr_foo for const attributes.
+ 
+ 	* alpha.c (override_options): Reinstate PROCESSOR_EV6.
+ 	(alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
+ 	* alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
+ 	* alpha.md: Redo all of the scheduling, adding EV6 support, and
+ 	combining function units where possible.
+ 	(attr "type"): Split loads, stores, cmov into int/fp.  Combine
+ 	multiplies and divides.  Add EV6 sqrt, ftoi, itof.
+ 	(attr "opsize"): New attribute.
+ 	(sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
+ 	(movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
+ 	to control register allocation.
+ 	(movsi2-1, movdi2-1): Likewise.
+ 
+ Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
+ 	MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
+ 	Move OSF/1 specific defines out.
+ 	* alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
+ 	Move Linux specific defines out.
+ 	(LINK_SPEC): Genericize.
+ 	(ASM_FILE_START): Emit .arch if using more than the base insn set.
+ 	(ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
+ 	(SDB_DEBUGGING_INFO): Remove; gas can't handle it.
+ 	(HANDLE_SYSV_PRAGMA): Define.
+ 	* alpha/osf.h: New file.
+ 	* alpha/linux.h: Split.  Retain file-format independent defines.
+ 	Import Linux bits from elf.h.
+ 	(CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES.
+ 	(FUNCTION_PROFILER): _mcount takes its address in $28.
+ 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
+ 	* alpha/linux-ecoff.h: New file.
+ 	* alpha/linux-elf.h: New file.
+ 	* alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
+ 	* alpha/win-nt.h (TARGET_DEFAULT): Define.
+ 	* configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
+ 	Add new headers as appropriate.
+ 
+ 	* configure.in (alpha*): Enable Haifa by default.
+ 	(*-*-winnt3*): Change to winnt*, since we're not v3 specific.
+ 	* configure: Rebuild.
+ 
+ Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (clean): Remove the stages with their objects here ...
+ 	(distclean): ... instead of here.
+ 
+ Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (rtx_cost): Add default case in enumeration switch.
+ 	* fix-header.c (recognized_macro): Likewise.
+ 	(recognized_extern): Likewise.
+ 	(write_rbrac): Likewise.
+ 	* objc/objc-act.c (encode_aggregate): Likewise.
+ 	(gen_declarator): Likewise.
+ 	(gen_declspecs): Likewise.
+ 
+ Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (create_reg_dead_note): Detect and handle another
+ 	case where we kill more regs after sched than were killed before
+ 	sched.
+ 	* sched.c (create_reg_dead_note): Similarly.
+ 
+ Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-pragma.c: Include flags.h.
+ 
+ Sun Dec 21 22:10:59 1997  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
+ 	about system headers.
+ 	(LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
+ 	and also to resolve symbols in prefix.c.
+ 
+ 	* i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
+ 	between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
+ 	when the definitions in auto-config.h is not visible.
+ 	(HAVE_BZERO): Likewise.
+ 	(HAVE_BCMP): Likewise.
+ 	(HAVE_RINDEX): Likewise.
+ 	(HAVE_INDEX): Likewise.
+ 
+ Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (emit_move_sequence): Handle a function label source
+ 	operand.
+ 
+ Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* c-pragma.c (handle_pragma_token): Generate warning messages
+ 	about unknown pragmas if warn_unknown_pragmas is set.
+ 
+ 	* c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
+ 	line option to set variable: warn_unknown_pragmas.
+ 
+ Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
+ 
+ 	* m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
+ 	definition.
+ 	(ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
+ 
+ Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
+ 	(libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
+ 	generate more fine grained floating point emulation libraries.
+ 	* config/fp-bit.c: Add protecting #ifdef to all functions so
+ 	that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
+ 	then compile all suitable functions.
+ 	(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
+ 	underscores to avoid namespace pollution.
+ 	* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c.
+ 	(FPBIT): Define.
+ 	* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c.
+ 	(FPBIT): Define.
+ 	(DPBIT): Define.
+ 
+ Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
+ 	of the declaration.
+ 	* c-decl.c (finish_decl): Use parentheses around && within ||.
+ 	* rtl.c: Include stdlib.h.
+ 	(read_skip_spaces): Add parentheses around assignments used as
+ 	truth values.
+ 	(read_rtx): Initialize list_rtx.
+ 	* cppexp.c (parse_number): Use || when operands are truth values.
+ 	* alias.c (find_base_value): Add default case.
+ 	(memrefs_conflict): Likewise.
+ 	* combine.c (sets_function_arg_p): Likewise.
+ 	* genemit.c (gen_exp): Likewise.
+ 	* local-alloc.c (contains_replace_regs): Likewise.
+ 	* rtlanal.c (jmp_uses_reg_or_mem): Likewise.
+ 	* fold-const.c (fold_convert): Use "&&" for truth values.
+ 	(fold): Add default case.
+ 	* sdbout.c (sdbout_field_types): Fix typo in declaration.
+ 	(sdbout_one_type): Add default case.
+ 	* alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
+ 	(some_operand): Add default case.
+ 	(input_operand): Likewise.
+ 	(signed_comparison_operator): Likewise.
+ 	(divmod_operator): Likewise.
+ 	(alpha_set_memflags_1): Likewise.
+ 	* reload1.c (reload_cse_simplify_operands): Ensure function
+ 	always returns a value.
+ 	* scan-decls.c (scan_decls): Likewise.
+ 	* c-lex.c (skip_white_space): Fix typo in declaration.
+ 	* c-typeck.c (comp_target_types): Add parentheses around assignment
+ 	used as truth value.
+ 	(print_spelling): Likewise.
+ 	(constructor_implicit, constructor_result): Remove unused variables.
+ 	* collect2.c (scan_library): Protect prototype with
+ 	#ifdef SCAN_LIBRARIES.
+ 	* emit-rtl.c (find_line_note): Fix typo in declaration.
+ 	* final.c (asm_insn_count): Protect prototype with
+ 	#ifdef HAVE_ATTR_length.
+ 	* flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
+ 	(try_pre_increment_1, try_pre_increment): Likewise.
+ 	* regclass.c (auto_inc_dec_reg_p): Protect prototype with
+ 	#ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
+ 	* gcov-io.h (__store_long, __write_long, __read_long): Fix
+ 	unsigned/signed comparisons.
+ 	* gcov.c (read_files): Remove unused "first_type" variable.
+ 	(scan _for_source_files): Initialize s_ptr.
+ 	(function_summary): Eliminate "%lf" formatting, use %ld for
+ 	longs.
+ 	(output_data): Initialize branch_probs and last_line_num.
+ 	Eliminate "%lf" formatting, use "%ld" for longs.
+ 
+ Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* mips16.S: New file.
+ 
+ 	* libgcc2.c (varargs): Handle mips16.
+ 
+ 	* expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
+ 	expression.
+ 	* stmt.c (expand_end_case): Likewise.
+ 	* alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
+ 	* fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
+ 	* rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
+ 
+ Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
+ 	the build directory.
+ 	(libobjc.a): Update dependency list.
+ 	(libobjc.dll): Likewise.  Use libobjc_entry.o from the build
+ 	directory.
+ 	(objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
+ 	(objc.mostlyclean): Remove runtime-info.h.
+ 
+ Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (build_range_type): Allow creation of ranges with no maximum.
+ 	* dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
+ 	* dwarf2out.c (add_subscript_info): Likewise.
+ 	* dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
+ 	* sdbout.c (plain_type_1): Likewise.
+ 	* stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
+ 	Likewise.
+ 	* fold-const.c (int_const_binop, fold_convert, make_range, fold):
+ 	Likewise.
+ 
+ Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (fatal): Remove declaration.
+ 
+ 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* integrate.c (get_label_from_map): New function.
+ 	(expand_inline_function): Use it.  Initialize the label_map to
+ 	NULL_RTX instead of gen_label_rtx.
+ 	(copy_rtx_and_substitute): Use get_label_from_map.
+ 	* integrate.h (get_label_from_map): New function.
+ 	(set_label_from_map): New macro.
+ 	* unroll.c (unroll_loop): Use them.
+ 	(copy_loop_body): Likewise.
+ 
+ Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
+ 	(INIT_TARGET_OPTABS): Define.
+ 	* mips/ecoff.h: Include gofast.h before mips.h.
+ 	(INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
+ 	* mips/elf64.h: Likewise.
+ 	* mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
+ 
+ Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c: Remove register_exception_table{,_p}.
+ 
+ Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* unroll.c (calculate_giv_inc): Handle constant increment found in
+ 	a MEM with an appropriate REG_EQUAL note.
+ 
+ 	* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
+ 	frame pointer in the prologue.
+ 
+ Thu Dec 18 00:19:38 1997  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* i386/x-sco5 (CLIB): Deleted.
+ 	(ALLOCA): Added.
+ 	* i386/xm-sco5.h (USE_C_ALLOCA): Added.
+ 
+ Tue Dec 16 18:51:00 1997  Bill Moyer  <billm@cygnus.com>
+ 
+ 	* config/m68k/m68k.c (output_function_prologue): Typecast
+ 	dwarf2out_cfi_label to (char *).
+ 	* config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
+ 
+ Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.md (jump): Don't use the annul bit around an empty loop.
+ 	Patch from Kevin.Kelly@East.Sun.COM.
+ 
+ Wed Dec 17 00:51:36 1997  Stan Cox  (scox@cygnus.com)
+ 
+ 	* jump.c (jump_optimize): Don't use the return register as a
+ 	source1 of a conditional move.
+ 
+ Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (DF_MODES): Or the mask not the bit number.
+ 	(function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
+ 
+ Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+ 
+ 	* combine.c (force_to_mode): Return immediately if operand is a
+ 	CLOBBER.
+ 
+ Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixincludes (size_t): Add support for Motorola's stdlib.h
+ 	which fails to provide a definition for size_t.
+ 	(fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
+ 	(strlen,strspn,strcspn return value): Handle different layout on sysV88.
+ 	(hypot): Provide a fake for hypot for m88k-motorola-sysv3.
+ 
+ 	* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
+ 	prevent unresolved externals in libio.
+ 	* m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
+ 
+ Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/sparc/linux64.h (LIBGCC_SPEC): Removed.
+ 	(CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
+ 	(LIB_SPEC): Updated for glibc 2.
+ 
+ Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ginclude/stdarg.h: Undo BeOS changes, they break hpux.
+ 	* ginclude/varargs.h: Likewise.
+ 
+ Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* frame.h (__register_frame, __register_frame_table,
+ 	__deregister_frame): New.
+ 	* frame.c (__register_frame, __register_frame_table,
+ 	__deregister_frame): New.
+ 	* frame.c (__deregister_frame_info): Return void *.
+ 	* frame.h (__deregister_frame_info): Likewise.
+ 	* collect2.c (__deregister_frame_info): Likewise.
+ 
+ Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
+ 
+ Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_cpu_name): New variable.
+ 	(alpha_mlat_string): Likewise.
+ 	(alpha_memory_latency): Likewise.
+ 	(override_options): Handle -mmemory-latency.
+ 	(alpha_adjust_cost): Adjust load cost for latency.
+ 	* alpha.h (TARGET_OPTIONS): Add memory-latency.
+ 	(REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
+ 	TARGET_CIX into account.
+ 	(MEMORY_MOVE_COST): Define in terms of memory_latency.
+ 	* invoke.texi (DEC Alpha Options): Document -mmemory-latency.
+ 
+ 	* alpha.h (ASM_COMMENT_START): New macro.
+ 
+ Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
+ 	dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
+ 
+ 	* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
+ 	SUBREG_REG if the word count is unchanged.
+ 	* reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
+ 	subregs of identical word size for push_reload.
+ 
+ Mon Dec 15 11:41:32 1997  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* toplev.c (rest_of_compilation): Don't call save_for_inline_copy
+ 	if all we're doing is dealing with -Wreturn-type.
+ 
+ Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
+ 	Use and 255 instead of zapnot 1, since it schedules better.
+ 
+ Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
+ 	it as volatile.
+ 
+ Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
+ 	dependency we delete.  Properly update prev for multiple consecutive
+ 	deletions.
+ 	(priority): Skip deleted dependence.
+ 
+ Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
+ 
+ Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* flow.c (flow_analysis): Be consistent with find_basic_blocks in
+ 	determining when a new basic block starts.
+ 
+ 	* alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
+ 
+ 	* pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
+ 	* pa.md (iorsi3): Add missing args to *_operand calls.
+ 
+ 	* except.c (call_get_eh_context): Don't mess with sequences.
+ 	(emit_eh_context): Include the call in the sequence here.
+ 
+ 1997-12-11  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* collect2.c (write_c_file_glob): Allocate initial frame object
+ 	in static storage and pass its address.
+ 
+ Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (call_get_eh_context): Don't take a parm.
+ 	Put the call at the top of the function.
+ 	(emit_eh_context): Adjust.
+ 	(get_eh_context): Replace with former use_eh_context.
+ 	(get_eh_context_once, get_saved_pc_ref): Remove.
+ 	(start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
+ 	* except.h: Adjust.
+ 	* integrate.c (expand_inline_function): Adjust.
+ 	* toplev.c (rest_of_compilation): Don't call emit_unwinder.
+ 
+ Fri Oct 10 17:58:31 1997  Marc Lehmann  <pcg@goof.com>
+ 
+ 	* i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
+ 	(DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
+ 
+ Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixincludes (strlen,strspn,strcspn return value): Handle different
+ 	layout on sysV88.
+ 	(hypot): Provide a fake for hypot which is broken on
+ 	m88k-motorola-sysv3.
+ 
+ Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
+ 
+ 	* tree.c, tree.h: Change tree_code_type, tree_code_length, and
+ 	tree_code_name from pointers to arrays.
+ 	* tree.c: Remove standard_tree_code_* variables, no longer used.
+ 	* print-tree.c: Remove declaration of tree_code_name.
+ 
+ 	* cp/lex.c (init_lex): Update for tree_code_* changes.
+ 	* objc/objc-act.c (init_objc): Likewise.
+ 
+ 	* tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
+ 	changes.
+ 
+ Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
+ 
+ 	* config.sub: Add support for BeOS target.
+ 	* configure.in: Likewise.
+ 	* ginclude/stdarg.h: Likewise.
+ 	* ginclude/stddef.h: Likewise.
+ 	* ginclude/varargs.h: Likewise.
+ 	* rs6000/beos.h: New file for BeOS.
+ 	* rs6000/t-beos: Likewise.
+ 	* rs6000/x-beos: Likewise.
+ 	* rs6000/xm-beos.h: Likewise.
+ 	* toplev.c (get_run_time): Just return 0 on BeOS.
+ 
+ Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
+ 			  Toon Moene  (toon@moene.indiv.nluug.nl)
+ 
+ 	* m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
+ 	old and broken Sun3 assemblers.  Newer versions handle large
+ 	offsets correctly as does the GNU assembler.
+ 
+ Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* objc/objc-act.c (lang_report_error_function): Disable.
+ 	* objc/objc-parse.y: Include "output.h".
+ 	(yyerror): Remove redundant decl.
+ 	(yyprint): Fix prototype.
+ 	(apply_args_register_offset): Remove redundant decl.
+ 	(get_file_function_name): Likewise.
+ 
+ Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): A CALL_INSN that can throw starts
+ 	a new basic block.
+ 	(find_basic_blocks_1): Likewise.
+ 
+ Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (use_eh_context): Don't copy_rtx a REG.
+ 	(emit_throw): Lose old unwinder support.
+ 	(expand_internal_throw): Likewise.
+ 	* libgcc2.c (struct eh_context): Likewise.
+ 	(new_eh_context): Likewise.
+ 	(__get_eh_info): Lose redundant cast.
+ 	(__get_dynamic_handler_chain): Likewise.
+ 	(__get_saved_pc): Lose.
+ 	Lose all old unwinder support code.
+ 
+ Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
+ 
+ 	Thread-safe EH support for pthreads, DCE threads and Solaris threads.
+ 
+ 	* integrate.c (expand_inline_function): If the inline fn uses eh
+ 	context, make sure that the current fn has one.
+ 	* toplev.c (rest_of_compilation): Call emit_eh_context.
+ 	* except.c (use_eh_context): New fn.
+ 	(get_eh_context_once): New fn.
+ 	(call_get_eh_context): New fn.
+ 	(emit_eh_context): New fn.
+ 	(get_eh_context): Call either get_eh_context_once or
+ 	call_get_eh_context, depending on what we have.
+ 	(get_dynamic_handler_chain): Call get_eh_context_once.
+ 	* except.h: Prototypes for fns above.
+ 	* optabs.c (get_eh_context_libfunc): Removed.
+ 	(init_optabs): Don't initialize it.
+ 	* expr.h (get_eh_context_libfunc): Removed.
+ 	* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
+ 	* config/pa/pa.h (CPP_SPEC): Support for -threads.
+ 	* config/pa/pa-hpux10.h (LIB_SPEC): Likewise.
+ 	* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
+ 	New multilib for -threads.
+ 	* config/sparc/t-sol2: Added multilibs for -threads and
+ 	made -pthreads alias to it.
+ 	* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
+ 	Added -threads and -pthreads options.
+ 	* libgcc-thr.h: New file.
+ 	* libgcc2.c (__get_cpp_eh_context): Removed.
+ 	(struct cpp_eh_context): Removed.
+ 	(struct eh_context): Replaced cpp_eh_context with generic language
+ 	specific pointer.
+ 	(__get_eh_info): New function.
+ 	(__throw): Check eh_context::info.
+ 	(__sjthrow): Likewise.
+ 	* libgcc2.c: Include libgcc-thr.h.
+ 	(new_eh_context, __get_eh_context,
+ 	eh_pthread_initialize, eh_context_initialize, eh_context_static,
+ 	eh_context_specific, eh_context_free): New functions.
+ 	(get_eh_context, eh_context_key): New variables.
+ 	(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
+ 	get_eh_context to get the context.
+ 	(longjmp): Move the declaration inside
+ 	#ifdef DONT_USE_BUILTIN_SETJMP.
+ 	* frame.c: Include libgcc-thr.h.
+ 	(object_mutex): Mutex to protect the object list.
+ 	(find_fde, __register_frame, __register_frame_table,
+ 	__deregister_frame): Hold the lock while accessing objects.
+ 	* except.h (get_eh_context): Declare.
+ 	* except.c (current_function_ehc): Define.
+ 	(current_function_dhc, current_function_dcc): Removed.
+ 	(get_eh_context): New function.
+ 	(get_dynamic_handler_chain): Use get_eh_context.
+ 	(get_saved_pc_ref): Likewise.
+ 	(get_dynamic_cleanup_chain): Removed references to
+ 	current_function_dcc.
+ 	(save_eh_status, restore_eh_status): Save and restore
+ 	current_function_ehc instead.
+ 	* optabs.c (get_eh_context_libfunc): New variable.
+ 	(init_optabs): Initialize it.
+ 	* expr.h: Declare get_eh_context_libfunc.
+ 	* function.h (struct function): Replaced dhc and dcc with ehc.
+ 	* except.c (get_saved_pc_ref): New functions.
+ 	(eh_saved_pc_rtx, eh_saved_pc): Deleted.
+ 	(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
+ 	of eh_saved_pc.
+ 	(end_eh_unwinder): Likewise.
+ 	(init_eh): Remove initialization of eh_saved_pc.
+ 	* optabs.c (get_saved_pc_libfunc): New variable.
+ 	(init_optabs): Initialize it.
+ 	* expr.h: Declare get_saved_pc_libfunc.
+ 	* except.h (eh_saved_pc_rtx): Deleted.
+ 	(get_saved_pc_ref): Declared.
+ 
+ 	From Scott Snyder <snyder@d0sgif.fnal.gov>:
+ 	* libgcc2.c (__get_saved_pc): New.
+ 	(__eh_type, __eh_pc): Deleted.
+ 	(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
+ 	(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
+ 	this fcn.
+ 
+ Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
+ 
+ 	* sparc/sol2.h: Use 64 bit multiply and divide functions in
+ 	Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
+ 	as 0.
+ 
+ 	* rtl.h (global_rtl): New variable, replacing separate variables for
+ 	commonly used rtl.
+ 	(const_int_rtx): Now array of rtx_def, not rtx.
+ 	* emit-rtl.c: Update for new rtl data structures.
+ 	* genattrtab.c: Define global_rtl.
+ 
+ Thu Dec 11 15:50:29 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
+ 	default.
+ 
+ Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
+ 
+ 	* crtstuff.c (__do_global_ctors): Fix typo.
+ 
+ Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
+ 	to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
+ 
+ Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.h (FUNCTION_ARG_PADDING): Define.
+ 	* rs6000.c (function_arg_padding): New function.
+ 
+ Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* m68k.c: Include tree.h only once.
+ 
+ Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
+ 
+ Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Partially cleaned up prototyping code from HJ.
+ 	* tree.h: Add many prototypes.
+ 	* haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
+ 	All references changed.
+ 	* rtl.h: Protect from multiple inclusions.  Add many prototypes.
+ 
+ Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
+ 
+ 	* libgcc2.c (string.h): Hoist inclusion to occur before first use of
+ 	string functions like strlen.
+ 
+ Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* configure.in: Check for functions getrlimit and setrlimit.
+ 	* cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
+ 	to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
+ 
+ Mon Dec  8 23:53:26 1997  Jay Sachs  <sachs@bull.cs.williams.edu>
+ 
+ 	* Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
+ 
+ Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (REG_RA, alpha_return_addr, output_epilog):
+ 	Fix merge problems.
+ 
+ 	* alpha.c (override_options): Don't know about scheduling for EV6.
+ 	* alpha.md (ev5 function units): Don't overload as ev6.
+ 
+ 	* alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
+ 	* alpha.md (define_attr type): Add mvi.
+ 	(ev5_e0): Define sceduling parameters for it.
+ 	(TARGET_MAX insns): Type is mvi not shift.
+ 
+ Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
+ 
+ Mon Dec  8 21:17:28 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* cstamp-h, auto-config.h: Delete.
+ 
+ Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cccp.c: Fix typo brought over in merge.
+ 
+ 	* Merge in changes from gcc-2.8.
+ 
+ Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* m68k.c: Include tree.h for dwarf2out_cfi_label.
+ 
+ 	* gcc.c (process_command): Do not take address of function fatal when
+ 	calling lang_specific_driver.
+ 
+ Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
+ 	doesn't work with it yet, so set it to 0.
+ 	* config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
+ 
+ Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+ 
+ 	* cse.c (cse_insn): Check for invalid entries when taking references.
+ 
+ Fri Dec  5 18:26:25 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (invariant_p): Don't test flag_rerun_loop_opt.
+ 	(loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
+ 	* toplev.c (rest_of_compilation): Pass it.  Remove code to
+ 	save / clear / restore flag_unroll_{,all_}loops.
+ 
+ Fri Dec  5 16:26:03 1997  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
+ 
+ 	* i386.c (notice_update_cc): Remove bogus pentium GCC code.
+ 
+ Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
+ 
+ Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (get_dynamic_handler_chain): Only make the call once per
+ 	function.
+ 
+ 	* except.c (expand_end_all_catch): Fix for sjlj exceptions.
+ 
+ Thu Dec  4 12:30:40 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (final_prescan_insn): Use local label prefix
+ 	when emitting .uses pseudo-ops.
+ 
+ Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
+ 	* except.c: Lose outer_context_label_stack.
+ 	(expand_eh_region_end): Rethrow from outer_context here.
+ 	(expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
+ 	(expand_internal_throw): Take no args.
+ 	(expand_internal_throw_indirect): Lose.
+ 	(expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
+ 	(expand_start_all_catch): Start a rethrow region.
+ 	(expand_end_all_catch): End it.
+ 	(expand_rethrow): New fn.
+ 	* except.h: Reflect above changes.
+ 	* flow.c: Revert change of Nov 27.
+ 
+ Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
+ 
+ Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (expand_fixup_region_end): New fn.
+ 	(expand_fixup_region_start): Likewise.
+ 	(expand_eh_region_start_tree): Store cleanup into finalization here.
+ 	* stmt.c (expand_cleanups): Use them to protect fixups.
+ 
+ Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.md (muldi3_r4000): Broaden the output template
+ 	and attribute assignments to handle three operand dmult;
+ 	rename to muldi3_internal2.
+ 	(muldi3): Call the new muldi3_internal2 for R4000, and
+ 	any GENERATE_MULT3 chip.
+ 
+ Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
+ 
+ Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (find_splittable_givs): Remove last change.  Handle givs
+ 	with a dest_reg that was created by loop.
+ 
+ Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
+ 
+ 	* rs6000/aix41.h (ASM_CPU_SPEC): Define.
+ 
+ Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Fix NCR entries.
+ 
+ Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks): Handle cfg issues for rethrows and
+ 	nested exceptions correctly.
+ 
+ 	* unroll.c (find_splittable_givs): Don't split givs with a dest_reg
+ 	that was created by loop.
+ 
+ Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
+ 
+ 	* except.c (expand_start_all_catch): One more do_pending_stack_adjust.
+ 
+ Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
+ 	(print_operand): Use SMALL_DATA_REG for the register involved in
+ 	small data relocations.
+ 	(print_operand_address): Likewise.
+ 
+ 	* rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
+ 	-dynamic linker is not used.
+ 
+ 	* rs6000.md (call insns): For local calls, use @local suffix under
+ 	System V.  Don't use @plt under Solaris.
+ 
+ 	* rs6000.c (output_function_profiler): Put label address in r0, and
+ 	store LR in 4(sp) for System V/eabi.
+ 
+ 	* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
+ 	byte boundary, and maintain stack backchain.
+ 
+ Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
+ 	fix_truncsfdi2): Change *.
+ 
+ Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (main): Complain about -gdwarfn.
+ 
+ Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarfout.c (output_type): If finalizing, write out nested types
+ 	of types we've already written.
+ 
+ Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	(patches originally from Geoffrey Keating)
+ 	* rs6000.c (function_arg): Excess floating point arguments don't
+ 	go into GPR registers after exhausting FP registers under the
+ 	System V.4 ABI.
+ 	(function_arg_partial_nregs): Likewise.
+ 
+ 	* rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
+ 	suffix to calls.
+ 
+ Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* integrate.c (output_inline_function): Just unset DECL_INLINE.
+ 
+ Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
+ 
+ 	* dwarf2out.c (outout_call_frame_info): Ensure that the info has
+ 	proper alignment.
+ 
+ 	* libgcc2.c (__throw): Initialize HANDLER.
+ 
+ Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
+ 	fix_truncsfdi2): Change *X to ?*X.
+ 
+ Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
+ 
+ Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
+ 
+ Tue Nov 25 01:26:55 1997  Bruno Haible  <haible@ilog.fr>
+ 
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
+ 
+ Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
+ 	* optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
+ 	* expr.h: Likewise.
+ 
+ Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
+ 	* pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
+ 	gas and not using the new HP assembler.
+ 
+ Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
+ 	(GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
+ 
+ Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
+ 	TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
+ 	definition.
+ 
+ Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* stmt.c (expand_end_bindings): Allow jump into block with cleanups.
+ 
+ Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.h: Add outer_context_label_stack.
+ 	* except.c: Likewise.
+ 	(expand_start_all_catch): Push the outer_context for the try block
+ 	onto outer_context_label_stack.
+ 	(expand_end_all_catch): Use it and pop it.
+ 
+ Fri Nov 21 10:13:11 1997  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* i386/sco5.h (HAVE_ATEXIT): Revert last change.
+ 
+ Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
+ 
+ Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
+ 	to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
+ 
+ Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* Makefile.in (LIB2FUNCS): Remove C++ memory management support.
+ 	* libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
+ 	__builtin_delete, and __builtin_vec_delete.
+ 
+ 	* except.c (output_exception_table): Don't bother with
+ 	__EXCEPTION_END__.
+ 
+ Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
+ 	is an in/out operand.
+ 	(zero extended variants of stwm/stwm patterns): Similarly.
+ 
+ 	* mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
+ 
+ Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
+ 	Use assemble_name.
+ 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
+ 	(output_call_frame_info): Emit a \n after using it.
+ 
+ Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
+ 
+ Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
+ 	(ASM_OUTPUT_DWARF_VALUE4): New macro.
+ 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
+ 	defined.
+ 	(output_call_frame_info): Do not output forward label differences
+ 	if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
+ 	* m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
+ 
+ Tue Nov 18 23:03:30 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (attribute "type"): Add nil.
+ 	(movsi_ie): y/y alternative is type nil.
+ 	(movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
+ 	alternatives.
+ 	(movsf_ie+1): Delete.
+ 
+ Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
+ 	large_int, emit two insns instead of one splitable insn.
+ 	* dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
+ 	from cfa_temp_value, use cfa_offset.  Add assert checking that
+ 	cfa_reg is SP.
+ 
+ Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* cccp.c (deps_output): Properly quote file names for make.
+ 
+ Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* t-h8300 (MULTILIB_EXCEPTIONS): Define.
+ 
+ Fri Nov  7 15:33:11 1997  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* i386/sco5.h (HAVE_ATEXIT): Delete definition.
+ 
+ Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditional
+ 	return.
+ 	(cse_end_of_basic_block): Similarly.
+ 
+ Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
+ 
+ 	* i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+ 	(SELECT_RTX_SECTION): Define.
+ 	(LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
+ 
+ Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (compare, compare-lean): Define $stage for each
+ 	shell command.
+ 	(gnucompare, gnucompare-lean): Likewise.
+ 
+ Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
+ 
+ 	* alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
+ 	to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
+ 
+ Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
+ 
+ 	* dwarfout.c (byte_size_attribute): Add local var upper_bound
+ 	and add case to handle STRING_TYPE.
+ 	* dwarfout.c (output_string_type_die): Fix code to generate
+ 	correct string length attribute for fixed length strings.
+ 	Still needs support for varying length strings.
+ 
+ Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (get_run_time): Do something sensible for cygwin32.
+ 
+ Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_builtin_setjmp): Set
+ 	current_function_has_nonlocal_label.
+ 	* stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
+ 	call-saved registers across calls.
+ 
+ 	* alpha.md (exception_receiver): Remove.
+ 	(nonlocal_goto_receiver_osf): New.
+ 	(nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
+ 	(nonlocal_goto_receiver): New, select _osf or _vms.
+ 
+ 	* alpha.c (output_prolog [*]): Prefix entry labels with '$' to
+ 	keep them from being propagated to the object file.
+ 	(alpha_write_linkage): Likewise.
+ 	* alpha.md (call_vms): Likewise.
+ 	(call_value_vms): Likewise.
+ 	(unnamed osf call insns): Likewise.
+ 
+ 	* alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 
+ 	* alpha.c (call_operand): Any reg is valid for WinNT.
+ 	* alpha.md (call_nt, call_value_nt): Don't force address into $27.
+ 	(anon nt calls): Add 'R' alternative.
+ 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
+ 	INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
+ 
+ Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (expand_call): Handle pcc_struct_value correctly for C++.
+ 
+ 	* i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
+ 	* i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
+ 	* rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
+ 
+ Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
+ 
+ 	* reload1.c (new_spill_reg): Improve fixed or forbidden register
+ 	spill error message.
+ 
+ Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
+ 	use varargs.h.  Wrap header with <>, not "".
+ 
+ Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* integrate.c (save_for_inline_copying): Add return value from
+ 	savealloc.
+ 
+ Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* fixincludes: Be a little more restrictive on what we will
+ 	substitute to replace definitions of MAXINT for HPUX.
+ 
+ Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Don't assume that variables
+ 	whose address is the stack or argument pointers are indirect
+ 	pointers.
+ 
+ 1997-11-13  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* cccp.c, cpplib.c (compare_defs):
+ 	Don't complain about arg name respellings unless pedantic.
+ 	* cpplib.c (compare_defs): Accept pfile as new arg.
+ 	All callers changed.
+ 
+ Thu Nov 13 23:33:50 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* fold-const.c (fold_truthop): Fix bug in last change.
+ 
+ 1997-11-13  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	Fix some confusion with IEEE minus zero.
+ 
+ 	* real.h (REAL_VALUES_IDENTICAL): New macro.
+ 
+ 	* expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
+ 	* fold-const.c (operand_equal_p): Don't consider -0.0 to be
+ 	identical to 0.0.
+ 	* tree.c (simple_cst_equal): Don't consider -0.0 to have the
+ 	same tree structure as 0.0.
+ 
+ 	* varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
+ 	macro instead of doing it by hand.
+ 
+ Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* v850/lib1funcs.asm: Minor whitespace changes.
+ 	* v850.c: Fix minor formatting problems in many places.
+ 	(construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
+ 
+ Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
+ 	xplus1 when xplus0 is not a register.
+ 
+ Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks): During marking phase, if we encounter
+ 	an insn with a REG_LABEL note, make the target block live and
+ 	create an edge from the insn to the target block.  Do not make
+ 	edges from all blocks to the target block.
+ 
+ 	* m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
+ 
+ 	* confiugre.in: Tweak NCR entries.
+ 	* configure: Rebuilt.
+ 
+ Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
+ 	pick apart floating point values, instead of using CONST_DOUBLE_LOW
+ 	and CONST_DOUBLE_HIGH.
+ 
+ 	* rs6000.md (define_splits for DF constants): Use the appropriate
+ 	REAL_VALUE_* interface to pick apart DF floating point constants in
+ 	a machine independent fashion.
+ 
+ Thu Nov 13 00:06:58 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* fold-const.c (fold_truthop): When changing a one-bit comparison
+ 	against zero into a comparison against mask, do a proper sign
+ 	extension.
+ 
+ Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* except.c: Do not include "assert.h".
+ 	(save_eh_status): Turn asserts into conditional aborts.
+ 	(restore_eh_status, scan_region): Likewise.
+ 	* dwarfout.c: Do not include "assert.h".
+ 	(bit_offset_attribute): Turn asserts into conditional aborts.
+ 	(bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
+ 	(output_inlined_structure_type_die): Likewise.
+ 	(output_inlined_union_type_die): Likewise.
+ 	(output_tagged_type_instantiation): Likewise.
+ 	(dwarfout_file_scope_decl): Likewise.
+ 	* dwarf2out.c: Do not include "assert.h"
+ 	(expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
+ 	(reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
+ 	(add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
+ 	(add_bit_size_attribute, scope_die_for): Likewise.
+ 	(output_pending_types_for_scope): Likewise.
+ 	(get_inlined_enumeration_type_die): Likewise.
+ 	(get_inlined_structure_type_die): Likewise.
+ 	(get_inlined_union_type_die, gen_subprogram_die): Likewise.
+ 	(gen_tagged_type_instantiation_die): Likewise.
+ 
+ 	* flow.c (find_basic_blocks): Refine further to get a more correct
+ 	cfg, especially in the presense of exception handling, computed
+ 	gotos, and other non-trivial cases.  Call abort if an inaccuracy
+ 	is detected in the cfg.
+ 
+ Tue Nov 11 21:47:27 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
+ 
+ 	* c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
+ 	(skip_white_space): Use whitespace_cr.
+ 	(check_newline): Handle whitespace more consistently.
+ 
+ Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
+ 	* i386/xm-cygwin32.h (POSIX): Define.
+ 
+ Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
+ 	is available elsewhere.
+ 
+ Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
+ 	what the instruction can handle.
+ 
+ Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* stmt.c (expand_decl_cleanup_no_eh): New fn.
+ 
+ 	* except.c (expand_leftover_cleanups): do_pending_stack_adjust.
+ 
+ Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (MAX_ALIAS_LOOP_PASSES): Define.
+ 	(init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
+ 
+ Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md (lshrdi3_power): Delete '&' from first alternative and
+ 	swap instruction order.
+ 
+ Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc.svr4 (__STDC__): Add another case.
+ 
+ Sun Nov  9 02:00:29 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
+ 	addresses in the epilogue delay slot.
+ 
+ Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
+ 
+ 	* m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
+ 	in generated `specs' file.
+ 
+ Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* flags.h (flag_rerun_loop_opt): Declare.
+ 	* loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
+ 	* toplev.c (flag_rerum_loop_opt): Delete static.
+ 
+ Sat Nov  8 18:20:21 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	Bring over from FSF:
+ 
+ 	Thu Oct 30 12:21:06 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* va-sh.h (__va_arg_sh1): Define.
+ 	(va_arg): Use it.
+ 	SH3E doesn't use any integer registers for subsequent arguments
+ 	once a non-float value was passed in the stack.
+ 	* sh.c (machine_dependent_reorg): If optimizing, put explicit
+ 	alignment in front label for ADDR_DIFF_VEC.
+ 	* sh.h (PASS_IN_REG_P): Fix SH3E case.
+ 	(ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
+ 
+ 	Tue Oct 28 15:06:44 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
+ 	svr4.h.
+ 
+ 	Mon Oct 27 16:11:52 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (machine_dependent_reorg): When -flag_delayed_branches,
+ 	put an use_sfunc_addr before each sfunc.
+ 	* sh.md (use_sfunc_addr, dummy_jump): New insns.
+ 	(casesi): For TARGET_SH2, emit a dummy_jump after LAB.
+ 
+ 	Tue Oct 21 07:12:28 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
+ 
+ Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
+ 	linked once FDEs.
+ 
+ Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (find_base_value): Only return the known base value for
+ 	pseudo registers.
+ 
+ Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
+ 	* i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
+ 	to pattern.
+ 	(prologue_get_pc_and_set_got): New pattern.
+ 
+ Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
+ 	for SUBREG, just fall through.
+ 
+ 	* alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
+ 
+ 	* alpha.md (attr trap): Make TRAP_YES nonzero for sanity's sake.
+ 
+ Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixincludes: Fix "hypot" prototype in NeXT math.h.
+ 
+ 	* Makefile.in (USE_ALLOCA): Always include alloca.o.
+ 	(USE_HOST_ALLOCA): Likewise.
+ 
+ 	* rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
+ 	and LABEL_REFS fields.
+ 	* rtl.h (LABEL_REFS): Update.
+ 
+ Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* combine.c (try_combine): When setting elim_i2, check whether newi2pat
+ 	sets i2dest.  When calling distribute_notes for i3dest_killed, pass
+ 	elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
+ 	sets i1dest.
+ 
+ 	* mips.md (insv, extzv, extv): Add change_address call.
+ 	(movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
+ 
+ 	* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
+ 
+ 	* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
+ 
+ 	* mips.c (mips_expand_epilogue): Emit blockage insn before call to
+ 	save_restore_insns if no FP and GP will be restored.
+ 
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
+ 	Convert CCmode to word_mode before calling GET_MODE_SIZE.
+ 
+ 	* acconfig.h (HAVE_INTTYPES_H): Undef.
+ 	* configure.in (inttypes.h): Check for conflicts between sys/types.h
+ 	and inttypes.h, and verify that intmax_t is defined.
+ 	* config/mips/x-iris (CC, OPT, OLDCC): Comment out.
+ 	* config/mips/x-iris3: Likewise.
+ 
+ Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (find_base_value): When copying arguments, return the
+ 	tentative value for a hard register.
+ 
+ Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
+ 	(yylex): Record wide strings using target endianness, not host.
+ 
+ Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.h (ASM_OUTPUT_BSS): Delete.
+ 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
+ 	* mn10300.h (ASM_OUTPUT_BSS): Delete.
+ 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
+ 	* v850.h (ASM_OUTPUT_BSS): Delete.
+ 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
+ 
+ Tue Nov  4 00:55:48 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
+ 
+ Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (sco5): Use cpio to install header files.
+ 
+ Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
+ 	14 char length.
+ 	* configure: Rebuild.
+ 
+ Sun Nov  2 19:44:00 1997  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* i386/sco5.h: Enable -gstabs once again.
+ 
+ Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* arm.c (output_move_double): Allocate 3 entries in otherops array.
+ 
+ Sat Nov  1 21:43:00 1997  Mike Stump  <mrs@wrs.com>
+ 
+ 	* except.c (expand_eh_region_start_for_decl): Emit EH_REGION_BEG
+ 	notes for sjlj exceptions too.
+ 	(expand_eh_region_end): Similarly for EH_REGION_END notes.
+ 	(exception_optimize): Optimize EH regions for sjlj exceptions too.
+ 	* final.c (final_scan_insn): Don't output labels for EH REGION
+ 	notes if doing sjlj exceptions.
+ 
+ Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (init_alias_analysis): Handle -fno-alias-check when
+ 	optimizing correctly.
+ 
+ 	* expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
+ 	or set current_function_calls_setjmp anymore.
+ 
+ 	* flow.c (find_basic_blocks): If we delete the label for an
+ 	exception handler, remove it from the EH label list and remove
+ 	the EH_BEGIN/EH_END notes for that EH region.
+ 
+ Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks): Generate correct flow control
+ 	information when exception handling notes are present.
+ 
+ Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* dwarf2out.c (output_call_frame_info): Fix length argument
+ 	to ASM_OUTPUT_ASCII.
+ 	(output_die, output_pubnames, output_line_info): Likewise.
+ 
+ Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 	* dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
+ 	output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
+ 	flag_debug_asm is on.
+ 	(output_die, output_pubnames, output_line_info): Likewise.
+ 
+ 	* alias.c (init_alias_analysis): Add struct_value_incoming_rtx
+ 	and static_chain_rtx into the potential base values array if
+ 	they are registers.
+ 
+ 	* alias.c (new_reg_base_value): New array of potential base values.
+ 	(unique_id): Now file scoped static.
+ 	(find_base_value, case REG): Return the value in reg_base_value
+ 	array for the REG if it exists.  Else, return the value from
+ 	new_reg_base_value if copying args and REG is a hard register.
+ 	(find_base_value, case PLUS): If either operand of the PLUS is
+ 	a REG, try to get its base value.  Handle base + index and
+ 	index + base.
+ 	(record_set): Use new_reg_base_value instead of reg_base_value.
+ 	(init_alias_analysis): Allocate space for new_reg_base_value too.
+ 	Rework code to iterate over the insns propagating base value
+ 	information until nothing changes.
+ 
+ 	* global.c (global_alloc): Free the conflict matrix after
+ 	reload has finished.
+ 
+ Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (L_eh): Define __eh_pc.
+ 	Replace __eh_type with generic pointer __eh_info.
+ 
+ Fri Oct 31 00:34:55 1996  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (expand_increment): When enqueing a postincrement for a MEM,
+ 	use copy_to_reg if address is not a general_operand.
+ 
+ Fri Oct 31 00:16:55 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* profile.c (output_func_start_profiler): Clear flag_inline_functions
+ 	for the duration of the call to rest_of_compilation.
+ 
+ Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
+ 	Set extra_parts.
+ 	(sparc*-*-*): Recognize --with-cpu=v9.
+ 	* sparc/elf.h: New file.
+ 	* sparc/t-elf: New file.
+ 
+ Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.c (const_8bit_operand): New function.
+ 	(mask_ok_for_mem_btst): New function.
+ 	* mn10300.md (btst patterns with mem operands): Use new functions
+ 	to avoid creating btst instructions with invalid operands.
+ 
+ Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
+ 	are running on PowerPC Linux.
+ 
+ Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
+ 	if not previously defined.
+ 
+ Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
+ 
+ 	* function.c (assign_parms): Correct mode of stack_parm if
+ 	entry_parm underwent a mode conversion.
+ 
+ 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
+ 
+ 	* global.c (global_alloc): Use xmalloc instead of alloca for
+ 	CONFLICTS, since max_allocno * allocno_row_words alone can be more
+ 	than 2.5Mb sometimes.
+ 
+ Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
+ 	DEST for the spill, adjust mode of SRC to compensate.
+ 
+ Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
+ 	since any_memory_operand() allows pseudos during reload.
+ 	(reload_inhi, reload_outqi, reload_outhi): Likewise.
+ 
+ Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k.md (btst patterns): Add 5200 support.
+ 
+ Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
+ 	optimizations, look inside dividend to determine if the expression
+ 	can be simplified by using EXACT_DIV_EXPR.
+ 
+ Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	From Brendan:
+ 	* dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
+ 
+ Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (summarize_insn [SUBREG]): Propagate SET.
+ 
+ Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
+ 	on a CLOBBER.
+ 
+ Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (movqi, movhi): Make sure new insns created during reload
+ 	won't need reloading themselves.
+ 	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
+ 
+ Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
+ 
+ Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
+ 	Patch from Klaus Kaempf <kkaempf@progis.de>.
+ 
+ Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
+ 	to an element in a constant string.
+ 
+ Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
+ 	bit PC-relative offset.  The exception range table pointer is now in
+ 	the CIE.
+ 	* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
+ 	(count_fdes, add_fdes, get_cie): Adjust.
+ 	(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
+ 
+ 	From H.J. Lu:
+ 	* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
+ 
+ Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
+ 	like stack_pointer_rtx.
+ 
+ Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
+ 	targets using "$@" to provide support for similar but not identical
+ 	targets without having to duplicate code.
+ 	(bootstrap4): New goal.
+ 
+ 	* Makefile.in (compare, compare-lean, compare3): Combined to one
+ 	ruleset determining actions to be performed via $@.
+ 	(compare4, compare4-lean): New targets.
+ 	(gnucompare, gnucompare3): Combined to one ruleset determining
+ 	actions to be performed via $@. Also, note which files failed
+ 	the comparison test in .bad_compare.
+ 	(gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
+ 
+ Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
+ 	if the dividend is a multiple of the divisor.
+ 
+ Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
+ 
+ 	* alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
+ 	and POS_DEC.
+ 
+ 	* alias.c (true_dependence): Fix typo.
+ 
+ 	* toplev.c (flag_rerun_loop_opt): New variable.
+ 	(f_options): Handle -frerun-loop-opt.
+ 	(rest_of_compilation): If -frerun-loop-opt, then run the loop
+ 	optimizer twice.
+ 	(main): Enable -frerun-loop-opt by default for -O2 or greater.
+ 
+ 	* loop.c (simplify_giv_expr): Adding two invariants results
+ 	in an invariant.
+ 
+ Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (get_inner_reference): Remove the array bias after
+ 	converting the index to Pmode.
+ 
+ Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
+ 	(TARGET_MULT_BUG): Define.
+ 	(TARGET_DEFAULT): Default to TARGET_MULT_BUG.
+ 	* mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
+ 
+ Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.c (indirect_memory_operand): Delete unused function.
+ 	* mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
+ 	* mn10200.md (bset, bclr insns): Handle output in a reg too.
+ 
+ Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (call patterns): Revert Oct 16 change; if we are to elide
+ 	the callee's ldgp, we must do it ourselves, and we use the jsr tag
+ 	for more than scheduling.
+ 
+ Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* sparc/sparc.h (ASM_SPEC): Delete asm_arch.
+ 
+ Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.c (symbolic_operand, legitimize_address): New functions.
+ 	* mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
+ 
+ Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Oct 23 08:03:59 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
+ 	for FILENAME.
+ 
+ Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (flag_exceptions): Default value is 2.
+ 	(compile_file): If flag_exceptions still has the value 2, then
+ 	set it to 0.
+ 
+ 	* rs6000.c (struct machine_function): Add pic_offset_table_rtx.
+ 	(rs6000_save_machine_status): Save pic_offset_table_rtx.
+ 	(rs6000_restore_machine_status: Restore pic_offset_table_rtx.
+ 
+ 	* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
+ 	are shared.
+ 
+ 	* rs6000.md (*movsi_got_internal_mem): New pattern.
+ 	(*movsi_got_internal_mem splitter): New define_split.
+ 
+ Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* obstack.h (obstack_empty_p): Fix spurious space after backslash.
+ 
+ Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
+ 
+ 	* rs6000.c: Avoid creating a stack frame under SYSV ABI if we
+ 	only need to save LR.
+ 
+ Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.md (movqi, movhi): Avoid using address registers as
+ 	destinations unless absolutely necessary.
+ 
+ 	* mn10200.c (expand_prologue): Fix typo.
+ 
+ 	* mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
+ 	addresses.
+ 	* mn10200.md (neghi2): Provide an alternative which works if
+ 	the input and output register are the same.
+ 
+ 	* mn10300.c (print_operand): Handle 'S'.
+ 	* mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
+ 	shift amount in last alternative.
+ 
+ 	* mn10300.c (expand_epilogue): Rework to handle register restores
+ 	in "ret" and "retf" instructions correctly.
+ 
+ Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expmed.c (extract_bit_field): Don't make flag_force_mem disable
+ 	extzv for memory operands.
+ 
+ 	* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
+ 	redundant conditional moves to single operand.
+ 
+ Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* v850.h: Move define of __v850__ from CPP_PREDEFINES
+ 	to CPP_SPEC.
+ 
+ 	* xm-v850.h: Use __v850 rather than __v850__ to
+ 	identify v850 port.
+ 
+ Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/mips.c (compute_frame_size): Not a leaf function if
+ 	profile_flag set.
+ 
+ Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
+ 
+ 	* rs6000/t-ppccomm: Use -msdata=none for crtstuff.
+ 
+ Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
+ 	(DEFAULT_ARCH32_P): New macro.
+ 	(TARGET_ARCH{32,64}): Allow compile time or runtime selection.
+ 	(enum cmodel): Declare.
+ 	(sparc_cmodel_string,sparc_cmodel): Declare.
+ 	(SPARC_DEFAULT_CMODEL): Provide default.
+ 	(TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
+ 	(TARGET_FULLANY): Deleted.
+ 	(TARGET_CM_MEDMID): New macro.
+ 	(CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
+ 	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
+ 	(CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
+ 	(CPP_SPEC): Rewrite.
+ 	(CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
+ 	(CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
+ 	(ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
+ 	(ASM_SPEC): Add %(asm_arch).
+ 	(EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
+ 	Rename asm_default to asm_cpu_default.
+ 	Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
+ 	cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
+ 	(NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
+ 	({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
+ 	(MASK_INT64,MASK_LONG64): Delete.
+ 	(MASK_ARCH64): Renamed to MASK_64BIT.
+ 	(MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
+ 	(EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
+ 	(TARGET_SWITCHES): Always provide 64 bit options.
+ 	(ARCH64_SWITCHES): Delete.
+ 	(TARGET_OPTIONS): New option -mcmodel=.
+ 	(INT_TYPE_SIZE): Always 32.
+ 	(MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
+ 	(INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
+ 	(FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
+ 	* sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
+ 	CPP_SPEC.
+ 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+ 	* sparc/linux.h: Likewise.
+ 	* sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
+ 	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
+ 	(TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
+ 	(SPARC_DEFAULT_CMODEL): Define.
+ 	(CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+ 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+ 	(LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(ASM_SPEC): Add %(asm_arch).
+ 	* sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+ 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+ 	(TARGET_CPU_DEFAULT): Add ultrasparc case.
+ 	* sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
+ 	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
+ 	(SPARC_DEFAULT_CMODEL): Define.
+ 	* sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
+ 	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
+ 	MASK_LONG64, MASK_MEDANY.
+ 	(SPARC_DEFAULT_CMODEL): Define.
+ 	(CPP_PREDEFINES): Delete.
+ 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
+ 	(ASM_SPEC): Add %(asm_arch).
+ 	(LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(DWARF2_DEBUGGING_INFO): Define.
+ 	* sparc/splet.h (CPP_SPEC): Delete.
+ 	* sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
+ 	(FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
+ 	(BLOCK_PROFILER): Likewise.
+ 	* sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
+ 	(sparc_override_options): Handle code model selection.
+ 	(sparc_init_expanders): Renamed from sparc64_init_expanders.
+ 	* sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
+ 	TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
+ 	(sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
+ 	(sethi_di_fullany): Delete.
+ 
+ Mon Oct 20 02:00:18 1997  Klaus Kaempf  <kkaempf@progis.de>
+ 			  Jeff Law  <law@cygnus.com>
+ 			  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
+ 	(DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
+ 	(MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
+ 	(UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
+ 	* alpha/alpha.md (arg_home): Likewise.
+ 
+ 	* alpha/alpha.c (vmskrunch): Delete.
+ 	* alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
+ 	* alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
+ 	truncate to 64 characters.
+ 
+ 	* make-l2.com: Support openVMS/Alpha.
+ 
+ 	* vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
+ 
+ Sun Oct 19 19:00:35 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* longlong.h (count_leading_zeros): Add missing casts to USItype.
+ 
+ Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/bsd386.h (ASM_COMMENT_START): Define.
+ 
+ Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (restore_tree_status): Also free up temporary storage
+ 	when we finish a toplevel function.
+ 	(dump_tree_statistics): Print stats for backend obstacks.
+ 
+ Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
+ 
+ 	* expr.c (use_group_regs): Don't call use_reg for MEMs.
+ 
+ Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (__throw): Don't copy the return address.
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
+ 
+ 	* except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
+ 	* toplev.c (main): Initialize exceptions_via_longjmp.
+ 
+ 	* tree.c: Add extra_inline_obstacks.
+ 	(save_tree_status): Use it.
+ 	(restore_tree_status): If this is a toplevel inline obstack and we
+ 	didn't want to save anything on it, recycle it.
+ 	(print_inline_obstack_statistics): New fn.
+ 	* function.c (pop_function_context_from): Pass context to
+ 	restore_tree_status.
+ 	* obstack.h (obstack_empty_p): New macro.
+ 
+ Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/freebsd.h (ASM_COMMENT_START): Fix.
+ 
+ Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* v850.c (ep_memory_offset): New function.
+ 	(ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
+ 
+ 	* v850.h (CONST_OK_FOR_*): Add and correct comments.
+ 	(CONSTANT_ADDRESS_P): Add comment.
+ 	(EXTRA_CONSTRAINT): Define 'U'.
+ 	* v850.md: Add comments on bit field instructions.
+ 	(addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
+ 	(lshrsi3): Use N not J constraint.
+ 
+ 	* v850.md (v850_tst1+1): New define_split for tst1 instruction.
+ 
+ 	* v850.c (reg_or_0_operand): Call register_operand.
+ 	(reg_or_int5_operand): Likewise.
+ 	* v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
+ 	(TARGET_SWITCHES): Add "big-switch".
+ 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
+ 	ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
+ 	(CASE_DROPS_THROUGH): Comment out.
+ 	(CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
+ 	* v850.md (cmpsi): Delete compare mode.
+ 	(casesi): New pattern.
+ 
+ 	* v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
+ 	* v850.md (ashlsi3): Use SImode not QImode for shift count.
+ 	(lshrsi3): Likewise.
+ 
+ 	* v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
+ 	unreachable switch statement after 'b' support.  Remove "b" from
+ 	strings for 'b' support.
+ 	* v850.md (branch_normal, branch_invert): Change %b to b%b.
+ 
+ Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
+ 	empty line if @inhibit_libc@ is empty.
+ 
+ Fri Oct 17 23:24:40 1997  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
+ 	(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
+ 	(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+ 	(DWARF2_UNWIND_INFO): Let this track object file format.
+ 	(EXTRA_SECTIONS): Add in_eh.
+ 	(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
+ 	(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
+ 
+ Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	* sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
+ 	* sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
+ 	TARGET_MEDANY.
+ 	* sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
+ 	(output_double_int): Output DI mode values correctly when
+ 	HOST_BITS_PER_WIDE_INT is 64.
+ 	(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
+ 	fmovd so it works if a quad float ends up in one of the upper 32
+ 	float regs.
+ 	* sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
+ 	necessary for PIC support on sparc64.
+ 
+ Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
+ 
+ 	* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
+ 	* sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
+ 	(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
+ 	(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
+ 	(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
+ 	(SPARC_FP_ARG_FIRST): New macro.
+ 	(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
+ 	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
+ 	(NPARM_REGS): There are 32 fp argument registers now.
+ 	(FUNCTION_ARG_REGNO_P): Likewise.
+ 	(FIRST_PARM_OFFSET): Update to new v9 abi.
+ 	(REG_PARM_STACK_SPACE): Define for arch64.
+ 	(enum sparc_arg_class): Delete.
+ 	(sparc_arg_count,sparc_n_named_args): Delete.
+ 	(struct sparc_args): Redefine and use for arch32 as well as arch64.
+ 	(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
+ 	(FUNCTION_ARG_ADVANCE): Rewrite.
+ 	(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
+ 	(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Delete.
+ 	(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
+ 	(STRICT_ARGUMENT_NAMING): Define.
+ 	(doublemove_string): Declare.
+ 	* sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
+ 	(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
+ 	(doublemove_string): New function.
+ 	(output_move_quad): Clean up some of the arch64 support.
+ 	(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
+ 	Don't add 8 bytes of reserved space if arch64.
+ 	(sparc_builtin_saveregs): Combine arch32/arch64 versions.
+ 	(init_cumulative_args): New function.
+ 	(function_arg_slotno): New static function.
+ 	(function_arg,function_arg_partial_nregs): New functions.
+ 	(function_arg_{pass_by_reference,advance}): New functions.
+ 	(function_arg_padding): New function.
+ 	* ginclude/va-sparc.h: Rewrite v9 support.
+ 
+ Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
+ 
+ 	* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
+ 	for hard regs to determine base and index registers.
+ 
+ 	* reload.c (debug_reload_to_stream): New function.  Specify stream
+ 	into which to write debug info.
+ 	(debug_reload): Modify to call debug_reload_to_stream with stderr.
+ 
+ Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (can_combine_p): Don't combine with an asm whose
+ 	output is a hard register.
+ 
+ Thu Oct 16 15:43:26 1997  Mike Stump  <mrs@wrs.com>
+ 
+ 	* c-decl.c (start_struct): Ensure that structs with forward
+ 	declarations are in fact packed when -fpack-struct is given.
+ 
+ 	* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
+ 	we are packing a structure.  This allows a structure with only
+ 	bytes to be aligned on a byte boundary and have no padding on a
+ 	m68k.
+ 
+ Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
+ 
+ Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_return_addr_rtx): New variable.
+ 	(alpha_save_machine_status): New; save it.
+ 	(alpha_restore_machine_status): New; restore it.
+ 	(alpha_init_expanders): New; clear it.
+ 	(alpha_return_addr): New; set it.
+ 	(alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
+ 	is overly conservative, so search the insns explicitly.
+ 	(alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
+ 	(alpha_sa_size [VMS && !VMS]): Likewise.
+ 	* alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
+ 	(INIT_EXPANDERS): New definition.
+ 
+ 	* alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
+ 	(output_prolog [!VMS]): Use them.
+ 
+ 	* alpha.c (output_prolog [!VMS]): Move gp detection to ...
+ 	(alpha_does_function_need_gp): ... a new function.  Refine the
+ 	CALL_INSN test to just TYPE_JSR.
+ 	* alpha.md (most call insns): Fix some jsr/ibr type transpositions.
+ 
+ Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* pa.c (move_operand): Respect -mdisable-indexing.
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+ 
+ Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
+ 	PPC601.
+ 	(umulsidi3,umulsi3_highpart): Likewise.
+ 	(smulsi3_highpart_no_mq): Add !TARGET_POWER.
+ 
+ Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (final_prescan_insn): Gut, remove and transform to ...
+ 	(alpha_handle_trap_shadows): ... a new function.  Handle the entire
+ 	function in one go.  Emit RTL for trapb, instead of printf directly.
+ 	(alpha_reorg): New function.  Call alpha_handle_trap_shadows.
+ 	(trap_pending): Kill global variable.
+ 	(output_epilog): Don't call final_prescan_insn.
+ 	(struct shadow_summary): Elide $31 and $f31; now it fits in a word.
+ 	* alpha.h (FINAL_PRESCAN_INSN): Remove.
+ 	(MACHINE_DEPENDENT_REORG): Define.
+ 	* alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
+ 	(trapb): New insn.
+ 
+ Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Tune Haifa scheduler for Alpha:
+ 	* alpha.h (ISSUE_RATE): Define.
+ 	* alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
+ 	EV4 adjustments to EV5.
+ 	* alpha.md: Remove all scaling from function unit delays.  Rework
+ 	EV5 function units to match the CPU.
+ 	(umuldi3_highpart): EV5 added the IMULH insn class.
+ 
+ Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (following_call): Fail if the CALL_INSN is an indirect
+ 	call.
+ 
+ Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* cplus-dem.c (demangle_signature): Don't look for return types on
+ 	constructors.  Handle member template constructors.
+ 
+ Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
+ 	* tree.h: Declare them.
+ 
+ Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
+ 
+ 	* configure.in: Handle --with-newlib.
+ 	* Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
+ 
+ 	* sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
+ 
+ Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/ptx4.h: Fix typo.
+ 
+ Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* aclocal.m4: Substitute INSTALL.
+ 	* configure: Re-built.
+ 
+ Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* integrate.c (save_for_inline_copying): Avoid undefined pointer
+ 	operations.
+ 	(expand_inline_function): Likewise.
+ 
+ 	* dwarf2out.c (output_call_frame_info): Reinstate last change
+ 	using flag_debug_asm check instead of flag_verbose_asm.
+ 
+ Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Remove last change.
+ 
+ 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* frame.c (__frame_state_for): Execute the FDE insns until the
+ 	current pc value is strictly bigger than the target pc value.
+ 
+ Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* regclass.c (init_reg_modes): If we can't find a mode for the
+ 	register, use the previous one.
+ 
+ Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (print_block_visualization): Call fprintf directly,
+ 	don't sprintf through an alloca'ed buffer.
+ 
+ Tue Oct  7 10:52:29 1997  Thomas Koenig  (ig25@rz.uni-karlsruhe.de)
+ 
+ 	* reload.c (decompose): Always initialize val.base.
+ 
+ Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
+ 
+ 	* m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
+ 	instead of aborting.
+ 	* dwarf2out.c (output_call_frame_info): Call app_enable and
+ 	app_disable to let GNU as accept the generated comments.
+ 
+ Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* tree.h (get_file_function_name): Add declaration.
+ 	* dwarf2out.c (output_call_frame_info): No need to cast
+ 	get_file_function_name call anymore.
+ 	* profile.c (toplevel): Remove get_file_function_name
+ 	declaration.
+ 	* c-lang.c (finish_file): Likewise.
+ 
+ Tue Oct  7 10:01:45 1997  Chip Salzenberg  <chip@rio.atlantic.net>
+ 
+ 	* Makefile.in (program_transform_name): Let autoconf substitute
+ 	the correct value.
+ 
+ Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (schedule_block): If the first real insn in a
+ 	block has any special notes attached to it, remove them.
+ 
+ Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
+ 
+ Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
+ 
+ 	* m88k.c (m88k_begin_prologue): Remove superfluous backslash.
+ 
+ Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (check-g77): New test target.
+ 	(CHECK-TARGETS): Add check-g77.
+ 
+ Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Defer all non-nested inlines.
+ 
+ Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* flow.c (print_rtl_with_bb): Cast alloca return value for
+ 	in_bb_p.
+ 
+ Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (RETURN_ADDR_RTX): New definition that works for
+ 	__builtin_return_address(0) and -fomit-frame-pointer.
+ 
+ Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	Bring over from FSF.
+ 	Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* mips.c (function_arg): Handle passing a struct
+ 	containing a double in a DFmode register without the PARALLEL.
+ 
+ Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* pexecute.c: Use spawn if __CYGWIN32__.
+ 
+ 	* pexecute.c: Include "config.h" first, as per autoconf manual
+ 	(from Paul Eggert  <eggert@twinsun.com>).
+ 
+ Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+ 
+ 	* m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
+ 	optimization for f/expr.o and f/stb.o.
+ 
+ Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (this_insn_cc0_mode): Initialize.
+ 
+ Tue Sep 30 23:09:40 1997  Thomas Koenig  <ig25@mvmap66.ciw.uni-karlsruhe.de>
+ 
+ 	* cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
+ 
+ 	* haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
+ 
+ Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
+ 	that pair will dual-issue on the 21164 and plus+beq won't.
+ 	(bne): Likewise for cmpeq+beq.
+ 
+ Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* except.c (find_exception_handler_labels): Correct argument to free.
+ 
+ Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
+ 
+ 	* except.c (find_exception_handler_labels): Free LABELS when we're
+ 	done.
+ 
+ Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Mark calls as potentially jumping
+ 	to the EH labels.
+ 
+ Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Substitute for "install" too.
+ 	* configure: Rebuilt.
+ 
+ Mon Sep 29 00:38:42 1997  Aaron Jackson  <jackson@negril.msrce.howard.edu>
+ 
+ 	* Makefile.in (bootstrap-lean, compare-lean): New targets.
+ 
+ Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* alias.c (base_alias_check): Two symbols can conflict if they
+ 	are accessed via AND.
+ 	(memrefs_conflict_p): Likewise.
+ 
+ 	* alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
+ 	after flushing argument registers to the stack.
+ 
+ 	* Makefile.in (mostlyclean): Remove .regmove files.
+ 
+ Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (__throw): Fix thinko.
+ 
+ Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* cplus-dem.c (demangle_template): Add new parameter.  Handle new
+ 	template-function mangling.
+ 	(consume_count_with_underscores): New function.
+ 	(demangle_signature): Handle new name-mangling scheme.
+ 
+ Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+ 
+ 	* flow.c (print_rtl_with_bb): Cast alloca return values for variables
+ 	start and end.
+ 
+ Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* frame.c: Remove last change.
+ 	* dwarf2.h: Remove last change.
+ 	* tree.h: Add declarations of DWARF2 unwind info support
+ 	functions.
+ 
+ Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
+ 	* tree.h (built_in_function): Likewise.
+ 	* expr.c (expand_builtin): Likewise.
+ 	* except.h: Likewise.
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
+ 	* libgcc2.c (copy_reg): New fn.
+ 	(__throw): Use it.
+ 
+ Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* c-typeck.c (build_binary_op): Warn about comparing signed vs
+ 	unsigned if -W is specified and -Wno-sign-compare is not.
+ 	* c-decl.c (warn_sign_compare): Initialize to -1.
+ 	(c_decode_option): -Wall no longer implies -Wsign-compare.
+ 
+ Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* frame.c: Include gansidecl.h for PROTO.
+ 	* dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
+ 	defined.  Don't declare dwarf2out_cfi_label here.
+ 	* dwarf2.h: Add declarations of DWARF2 unwind info support
+ 	functions.
+ 	* m68k.c: Include dwarf2.h.
+ 	(output_function_prologue): Add dwarf2 support.
+ 	* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
+ 	(INCOMING_FRAME_SP_OFFSET): Likewise.
+ 
+ 	* integrate.c (expand_inline_function): Make sure there is at
+ 	least one insn that can be used as an insertion point.
+ 
+ Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
+ 
+ Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
+ 
+ 	Bring over from FSF.
+ 
+ 	Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
+ 
+ 	* sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
+ 	(get_pc_via_rdpc): Renamed from get_pc_sp64.
+ 	* sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
+ 
+ 	Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	* sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
+ 	(TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
+ 	-malign-functions=.
+ 	(sparc_align_{loops,jumps,funcs}_string): Declare.
+ 	(sparc_align_{loops,jumps,funcs}): Declare.
+ 	(DEFAULT_SPARC_ALIGN_FUNCS): New macro.
+ 	(FUNCTION_BOUNDARY): Use sparc_align_funcs.
+ 	(STACK_BIAS): Define.
+ 	(SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
+ 	test.
+ 	(SPARC_SETHI_P): New macro.
+ 	(CONST_OK_FOR_LETTER_P): Use it.
+ 	(ASM_OUTPUT_ALIGN_CODE): Define.
+ 	(ASM_OUTPUT_LOOP_ALIGN): Define.
+ 	* sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
+ 	(sparc_align_{loops,jumps,funcs}): New globals.
+ 	(sparc_override_options): Handle -malign-loops=, -malign-jumps=,
+ 	-malign-functions=.
+ 	(move_operand): Use SPARC_SETHI_P.
+ 	(arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
+ 	perform test.
+ 	(arith11_double_operand): Likewise.
+ 	(arith10_double_operand): Likewise.
+ 	(finalize_pic): Finish sparc64 support.
+ 	(emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
+ 	64 bit constants if able.
+ 	(output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
+ 	(sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
+ 	! TARGET_FPU.
+ 	* sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
+ 	(get_pc_sp32): Use for sparc64 as well.
+ 	(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
+ 	(sethi_di_sp64_const): Likewise.
+ 	(movtf_cc_sp64): Check TARGET_HARD_QUAD.
+ 	(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
+ 	(ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
+ 
+ 	Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
+ 
+ 	* sparc/linux-aout.h (COMMENT_BEGIN): Delete.
+ 	* sparc/linux.h (COMMENT_BEGIN): Likewise.
+ 	* sparc/linux64.h (COMMENT_BEGIN): Likewise.
+ 
+ 	Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	Add sparc64 linux support.
+ 	* configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
+ 	to xm_file list on 32-bit sparc-linux.
+ 	* sparc/xm-sp64.h: New file.
+ 	* sparc/linux64.h: New file.
+ 	* sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
+ 	Don't include xm-sparc.h.
+ 	* config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
+ 	* glimits.h (LONG_MAX): Handle sparc64.
+ 
+ 	Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
+ 
+ 	* sparc/sysv4.h (ASM_COMMENT_START): Delete.
+ 	* sparc.h (ASM_COMMENT_START): Define.
+ 	* sparc.c (output_function_prologue): Use it.
+ 	(sparc_flat_output_function_{epi,pro}logue): Likewise.
+ 
+ 	Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
+ 
+ 	* sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
+ 	use sparc.h's copies.
+ 	* sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
+ 	ascii form as well.
+ 
+ 	Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sparc.c (dwarf2out_cfi_label): Add declaration.
+ 	(save_regs, output_function_prologue): Remove cast for it.
+ 	(sparc_flat_{save_restore,output_function_prologue): Likewise.
+ 	({save,restore}_regs): No longer inline.
+ 
+ Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (make_range): Correctly handle cases of converting
+ 	from unsigned to signed type.
+ 
+ Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* fold-const.c (merge_ranges): Make sure that if one range is subset
+ 	of another, it will always be the second range.  Correct (+,-) case to
+ 	account for this.
+ 
+ Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* final.c (final_end_function): Also do dwarf2 thing if
+ 	DWARF2_DEBUGGING_INFO.
+ 	(final_start_function): Likewise.
+ 
+ Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	* expmed.c (expand_divmod): If compute_mode is not the same as
+ 	mode, handle the case where convert_modes() causes op1 to no
+ 	longer be a CONST_INT.
+ 
+ 	* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
+ 	note holding get_jump_flags() calculation to all JUMP_INSNs.
+ 	* rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
+ 	* rtl.c (reg_note_name): Add new note types.
+ 
+ Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtlanal.c (computed_jump_p): Fix typo in last change.
+ 
+ Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* loop.c (indirect_jump_in_function_p): Return 0
+ 	by default.
+ 
+ Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000/xm-rs6000.h: Fix thinko in last change.
+ 	* rs6000/xm-sysv4.h: Likewise.
+ 
+ Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
+ 
+ Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reg-stack.c (find_blocks): Fix thinko in last change.
+ 
+ 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* m68k.c (output_function_prologue): Add dwarf2 support.
+ 
+ 	* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
+ 	INCOMING_FRAME_SP_OFFSET): New definitions.
+ 
+ Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	* combine.c (try_combine): Use NULL_RTX instead of '0' where
+ 	appropriate in calls to gen_rtx().
+ 	* cse.c (cse_main): Likewise.
+ 	* emit-rtl.c (gen_label_rtx): Likewise.
+ 	* expr.c (init_expr_once): Likewise.
+ 	* haifa-sched.c (flush_pending_lists, sched_analyze_insn,
+ 	sched_analyze, init_rgn_data_dependences,
+ 	compute_block_backward_dependences): Likewise.
+ 	* sched.c (schedule_insns): Likewise.
+ 	* varasm.c (immed_double_const): Likewise.
+ 
+ 	* sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
+ 	SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
+ 
+ Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
+ 
+ 	* i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
+ 	(MULTILIB_DEFAULTS): Define.
+ 	(ASM_SPEC, CPP_SPEC): Handle -mcoff.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
+ 	(LIBGCC_SPEC): Likewise.
+ 	(MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
+ 	(SUBTARGET_SWITCHES): Add -mcoff and -melf.
+ 	* i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
+ 	(CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
+ 	(EXTRA_PARTS, TAROUTOPTS): Delete.
+ 	(libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
+ 	(MULTILIB_OPTIONS): Define.
+ 	(MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
+ 	(MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
+ 
+ Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (loop_number): Delete function.  Change all references
+ 	to use uid_loop_num array.
+ 	* loop.h (loop_number): Delete declaration.
+ 	* unroll.c (unroll_loop): Change "loop_number" references to
+ 	use uid_loop_num instead.
+ 
+ 	* loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
+ 	conditional.
+ 	(loop_unroll_iter): Remove unused variable and all references.
+ 	(loop_optimize): Always allocate and clear space for loop_unroll_factor.
+ 	(insert_bct): Fix minor formatting problems.
+ 	* loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
+ 	(loop_unroll_iter): Removed unused decl.
+ 	* unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
+ 	Always record the unrolling factor.
+ 
+ 	* cse.c (simplify_relational_operation): Set h0u just like h0s.
+ 	Similarly for h1u and h1s.
+ 
+ 	* flow.c (jmp_uses_reg_or_mem): Deleted unused function.
+ 	(find_basic_blocks): Use computed_jump_p to determine if a
+ 	particular JUMP_INSN is a computed jump.
+ 	* reg-stack.c (find_blocks): Use computed_jump_p to determine
+ 	if a particular JUMP_INSN is a computed jump.
+ 	* rtlanal.c (jmp_uses_reg_or_mem): New function.
+ 	(computed_jump_p): Likewise.
+ 	* rtl.h (computed_jump_p): Declare.
+ 	* genattrtab.c (pc_rtx): Define and initialize.
+ 	* loop.c (loop_optimize): Always determine if the current
+ 	function has a computed jump.
+ 	(indirect_jump_in_function_p): Use computed_jump_p to determine
+ 	if a particular JUMP_INSN is a computed jump.
+ 
+ 	* loop.c (fix_bct_param): Delete unused function.
+ 	(check_bct_param): Likewise.
+ 
+ Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* frame.c (__deregister_frame): Check properly for initialized object.
+ 
+ Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
+ 
+ Fri Sep 19 18:53:50 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* jump.c (thread_jumps): Check can_reverse_comparison_p before
+ 	threading a reversed-condition jump.
+ 
+ 	* sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
+ 	* haifa-sched.c (update_flow_info): Likewise.
+ 
+ Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (BOOT_CFLAGS): Use -O2.
+ 
+ 	* configure.in (strtoul, bsearch): Have autoconf check for these
+ 	functions.
+ 	* configure, config.in: Rebuilt.
+ 
+ 	* m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
+ 	* mips/mips.h (alloca): Likewise.
+ 	* rs6000/xm-rs6000.h (alloca): Likewise.
+ 	* rs6000/xm-sysv4.h: Likewise.
+ 
+ Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
+ 	* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
+ 	(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
+ 
+ 	* except.c (end_eh_unwinder): Subtract 1 from return address.
+ 	* libgcc2.c (__throw): Likewise.
+ 	(find_exception_handler): Don't change PC here.  Compare end with >.
+ 
+ Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* v850.c (compute_register_save_size): Correct register
+ 	number.
+ 	* v850.md (save_interrupt, return_interrupt): Correct
+ 	register number.
+ 	* v850/lib1funcs.asm (save_interrupt): Correct register number.
+ 	(return_interrupt): Use stack pointer, not element pointer.
+ 
+ 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
+ 
+ 	* configure.in, configure: Make sure to create the stage* and include
+ 	symbolic links in each subdirectory.
+ 
+ Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (reload_peepholes): Don't allow addresses with side
+ 	effects for the memory operand.
+ 
+ Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (find_exception_handler): Subtract one from our PC when
+ 	looking for a handler, to avoid hitting the beginning of the next
+ 	region.
+ 
+ 	* except.c (expand_builtin_set_return_addr_reg): Use force_operand.
+ 
+ Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips/abi64.h (LONG_MAX_SPEC): Define.
+ 	* mips.h (LONG_MAX_SPEC): Define.
+ 	(CPP_SPEC): Include long_max_spec.
+ 	(EXTRA_SPECS): Include long_max_spec.
+ 
+ Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* v850.c (construct_save_jarl): Fix thinko in last change.
+ 
+ Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (find_exception_handler): Not found is -1.
+ 
+ 	* integrate.c (expand_inline_function): Move expand_start_bindings
+ 	after expanding the arguments.
+ 
+ Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (expand_expr): Remove previous incorrect change.
+ 	If target and slot has no DECL_RTL, then call mark_addressable
+ 	again for the slot after we give it RTL.
+ 
+ Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
+ 
+ 	* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
+ 	again for the slot after we give it RTL.
+ 
+ Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* v850.c (register_is_ok_for_epilogue,
+ 	pattern_is_ok_for_epilogue, construct_restore_jr,
+ 	pattern_is_ok_for_prologue, construct_save_jarl): New functions.
+ 
+ 	* v850.h (pattern_is_ok_for_prologue,
+ 	pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
+ 	predicates.
+ 
+ 	* v850.md: Replace prologue and epilogue patterns with a
+ 	match_parallel pattern.
+ 
+ Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* aclocal.m4: Add replacement for AC_PROG_INSTALL.
+ 	* configure.in: Use EGCS_PROG_INSTALL.
+ 
+ Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* dwarf2out.c (gen_subprogram_die): Handle redefinition of an
+ 	extern inline function.
+ 
+ Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* dwarf2out.c (reg_loc_descriptor): Fix prototype.
+ 	(concat_loc_descriptor): New function.
+ 	(loc_descriptor): Call it.
+ 	(add_AT_location_description): Also elide the descriptor if both
+ 	halves of a CONCAT are pseudos.
+ 	(add_location_or_const_value_attribute): Recognize CONCAT too.
+ 
+ Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
+ 
+ 	* alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
+ 	out-or-range reg_offset.
+ 	(output_epilog): Likewise.
+ 
+ Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (simplify_relational_operation): If MODE specifies a
+ 	mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
+ 	is derived from the sign bit of the low word.
+ 
+ Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
+ 
+ 	* dwarf2.h: Add DW_CFA_GNU_args_size.
+ 	* frame.c (execute_cfa_insn): Likewise.
+ 	* dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
+ 	(dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
+ 	(dwarf2out_frame_debug): If this isn't a prologue or epilogue
+ 	insn, hand it off to dwarf2out_stack_adjust.
+ 	(dwarf2out_begin_prologue): Initialize args_size.
+ 	* frame.h (struct frame_state): Add args_size.
+ 	* libgcc2.c (__throw): Use args_size.
+ 	* final.c (final_scan_insn): If we push args, hand off all insns
+ 	to dwarf2out_frame_debug.
+ 	* defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
+ 
+ 	* dwarf2out.c dwarf2out_frame_debug): Fix typo.
+ 	Handle epilogue restore of SP from FP.
+ 	* emit-rtl.c (gen_sequence): Still generate a sequence if the
+ 	lone insn has RTX_FRAME_RELATED_P set.
+ 
+ 	* frame.c (extract_cie_info): Handle "e" augmentation.
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
+ 	absence of UNALIGNED_*_ASM_OP.
+ 	(UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
+ 	(output_call_frame_info): Use "e" instead of "z" for augmentation.
+ 	Don't emit augmentation fields length.
+ 	(dwarf2out_do_frame): Move outside of #ifdefs.
+ 	* defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
+ 	opcodes.
+ 
+ 	* sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
+ 	* sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
+ 	* sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
+ 	* sparc/sun4gas.h: New file.
+ 	* configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
+ 
+ 	* collect2.c (write_c_file_stat, write_c_file_glob): Declare
+ 	__register_frame_table and __deregister_frame.
+ 
+ 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* except.c (find_exception_handler_labels): Use xmalloc instead of
+ 	alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
+ 	in some cases.
+ 
+ Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in: Various changes to build info files
+ 	in the object tree rather than the source tree.
+ 
+ Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc.math: New file to fix math.h on some systems.
+ 	* configure.in (freebsd, netbsd): Use fixinc.math on these
+ 	systems.
+ 	* configure: Rebuilt.
+ 
+ Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regmove.c (regmove_optimize): If we end up moving the
+ 	original insn due to lifetime overlaps, make sure to move
+ 	REG_NOTES too.
+ 
+ Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
+ 
+ Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (add_branch_dependences): Make each insn in
+ 	a SCHED_GROUP_P block explicitly depend on the previous insn.
+ 
+ Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.h: Prototype dwarf2 hooks.
+ 	* expr.c: Adjust.
+ 
+ Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (native_prefix): Delete.
+ 	(mips-dec-netbsd): Don't set prefix.
+ 	(*linux*): Don't set prefix.
+ 
+ Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
+ 
+ 	* protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
+ 	defined.  If not defined, include <sys/varargs.h> if
+ 	HAVE_SYS_VARARGS_H is defined.
+ 	* configure.in: Test for varargs.h and sys/varargs.h.
+ 	* configure: Regenerate with autoconf.
+ 	* config.in: Regenerate with autoheader.
+ 
+ 	* cpplib.c (quote_string): Cast first arg of sprintf call
+ 	from "unsigned char *" to "char *".
+ 	(output_line_command): Likewise.
+ 	(macroexpand): Likewise.
+ 	(do_line): Cast atoi arg from "unsigned char *" to "char *".
+ 
+ Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 	* Makefile.in (compare): Exit with nonzero status if there
+ 	are comparison failures.  Note which files failed the
+ 	comparison test in .bad_compare.
+ 
+ Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
+ 
+ Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
+ 
+ 	* Makefile.in (LN, LN_S): New macros, use where appropriate.
+ 	* aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
+ 	* configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
+ 	* configure: Regenerated.
+ 
+ Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (strength_reduce): Fix typo.
+ 
+ Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m88k/m88k.c (struct option): Rename to struct options.
+ 	* m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
+ 	* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
+ 	* libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
+ 	__DOLPHIN__ or sysV88.
+ 
+ Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
+ 	create new subreg.
+ 
+ Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config.sub: Accept 'amigados' for backward compatibility.
+ 
+ Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* Makefile.in (testsuite/site.exp): New target.
+ 	(check-gcc, check-g++): Depend on testsuite/site.exp.
+ 	Don't stop for failure.
+ 
+ Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
+ 	if DWARF2_UNWIND_INFO.
+ 
+ Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	Add support for exception handling using DWARF 2 frame unwind info.
+ 	Currently works on SPARC and MIPS, and almost on x86.
+ 
+ 	* libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
+ 	next_stack_level, in_reg_window): Helper fns.
+ 	(__throw): Implement for DWARF2_UNWIND_INFO.
+ 
+ 	* expr.c (expand_builtin): Handle builtins used by __throw.
+ 	* tree.h (enum built_in_function): Add builtins used by __throw.
+ 	* c-decl.c (init_decl_processing): Declare builtins used by __throw.
+ 	* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
+ 	* except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
+ 	(expand_builtin_extract_return_addr): Likewise.
+ 	(expand_builtin_frob_return_addr): Likewise.
+ 	(expand_builtin_set_return_addr_reg): Likewise.
+ 	(expand_builtin_eh_stub): Likewise.
+ 	(expand_builtin_set_eh_regs): Likewise.
+ 	(eh_regs): Choose two call-clobbered registers for passing back values.
+ 
+ 	* frame.c, frame.h: New files for parsing dwarf 2 frame info.
+ 	* Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
+ 	(libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
+ 	(stmp-multilib): Likewise.
+ 	($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
+ 
+ 	* except.c: #include "defaults.h".
+ 	(exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
+ 	(emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
+ 	(register_exception_table_p): New fn.
+ 	(start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
+ 	(end_eh_unwinder): Likewise.
+ 
+ 	* crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
+ 	call __register_frame and __deregister_frame as needed.
+ 	* varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
+ 	* dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
+ 	EH_FRAME_SECTION_ASM_OP.
+ 	* sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
+ 	* mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Define.
+ 	(LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
+ 
+ 	* dwarf2out.c (output_call_frame_info): If no support for
+ 	EXCEPTION_SECTION, mark the start of the frame info with a
+ 	collectible tag.
+ 	* collect2.c (frame_tables): New list.
+ 	(is_ctor_dtor): Recognize frame entries.
+ 	(scan_prog_file): Likewise.
+ 	(main): Pass -fno-exceptions to sub-compile.  Also do collection
+ 	if there are any frame entries.
+ 	(write_c_file_stat): Call __register_frame_table and
+ 	__deregister_frame as needed.
+ 	(write_c_file_glob): Likewise.
+ 
+ 	* defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
+ 	Also require unaligned reloc support.
+ 	* sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
+ 	* sparc/sysv4.h: Not here.
+ 
+ 	* toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
+ 	* dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
+ 	(dwarf2out_finish): Don't call dwarf2out_frame_finish.
+ 
+ 	* libgcc2.c (L_eh): Reorganize, moving code shared by different
+ 	EH implementations to the top.
+ 	(find_exception_handler): Split out.  Start from 0.  Compare against
+ 	end with >=.
+ 	(__find_first_exception_table_match): Use it.
+ 	* except.c (output_exception_table): Don't do anything if there's
+ 	no table.  Don't output a first entry of zeroes.
+ 	(eh_outer_context): Adjust properly.
+ 	(add_eh_table_entry): Use xrealloc.
+ 	* toplev.c (compile_file): Just call output_exception_table.
+ 
+ Wed Sep 10 11:30:36 1997  Jason Merrill  <jason@cygnus.com>
+ 
+ 	* i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
+ 
+ Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
+ 
+ 	* except.c (eh_outer_context): Do masking using expand_and.
+ 
+ Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
+ 
+ 	Add port done awhile ago for the ARC cpu.
+ 	* arc/arc.h: New file.
+ 	* arc/arc.c: New file.
+ 	* arc/arc.md: New file.
+ 	* arc/initfini.c: New file.
+ 	* arc/lib1funcs.asm: New file.
+ 	* arc/t-arc: New file.
+ 	* arc/xm-arc.h: New file.
+ 	* ginclude/va-arc.h: New file.
+ 	* ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
+ 	* ginclude/varargs.h: Likewise.
+ 	* Makefile.in (USER_H): Add va-arc.h.
+ 	* configure.in (arc-*-elf*): Recognize.
+ 	* longlong.h: Add ARC support.
+ 
+ Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
+ 	when clearing non-BLKmode data.
+ 
+ Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Define.
+ 	* libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
+ 
+ 	* xm-m88k.h (USG): Only define if it hasn't already been defined.
+ 
+ 	* Makefile.in (risky-stage1): Delete gratuitous whitespace.
+ 
+ 	* Makefile.in (clean): Delete libgcc1-test.
+ 
+ 	* Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
+ 
+ Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
+ 
+ 	* m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
+ 	template.
+ 
+ Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Call named_section.
+ 
+ Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (print_value): Fix last change.
+ 
+ Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
+ 	write_symbols.
+ 
+ Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* mips.c (function_prologue): Set up the CFA when ABI_32.
+ 
+ 	* sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
+ 	for dwarf2 unwind info.
+ 	(output_function_prologue, sparc_flat_output_function_prologue): Same.
+ 
+ 	* final.c (final_end_function): Check dwarf2out_do_frame instead
+ 	of DWARF2_DEBUG for dwarf2 unwind info.
+ 	(final_scan_insn): Likewise.
+ 	(final_start_function): Likewise.  Initialize dwarf2 frame debug here.
+ 	(final): Not here.
+ 
+ 	* expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
+ 	count > 0.
+ 
+ 	* varasm.c (exception_section): Check EXCEPTION_SECTION first.
+ 
+ Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* v850.h (ASM_SPEC): Pass on target processor.
+ 	(CPP_PREDEFINES): Only define if not already specified.
+ 	(TARGET_VERSION): Only define if not already specified.
+ 	(MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
+ 	processor.
+ 	(EXTRA_SWITCHES): Extra entries in the switches array.
+ 	(TARGET_DEFAULT): Set default target processor.
+ 
+ Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
+ 	cases, add %# and %/, and add : to make them into extended asms.
+ 
+ Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
+ 
+ 	* alias.c (init_alias_analysis): Clean up incompatible pointer
+ 	type warning in bzero.
+ 	* regmove.c (regmove_optimize): Likewise.
+ 	* haifa-sched.c (find_rgns): Likewise.
+ 
+ 	* haifa-sched.c (print_value): Clean up ptr->int cast
+ 	warnings.
+ 
+ Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
+ 
+ 	* INSTALL: Change 'amigados' to 'amigaos' to match current usage.
+ 	* install.texi (Configurations): Likewise.
+ 	* config.sub: Likewise.
+ 
+ Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
+ 
+ 	* Makefile.in (sdbout.o): Depend on insn-config.h.
+ 
+ Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
+ 	For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
+ 
+ Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
+ 	prologue insn, only the first elt is significant.
+ 	(output_call_frame_info): For exception handling, always use 4-byte
+ 	fields as specified by the dwarf2 spec.
+ 	Don't skip trivial FDEs.
+ 
+ Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
+ 
+ 	* expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
+ 	for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
+ 	when op1_is_pow2.
+ 
+ Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* final.c (shorten_branches): During first pass, assume worst
+ 	possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
+ 
+ 	* Makefile.in (distclean): Remove various things left around
+ 	by running the testsuite.
+ 
+ Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* configure.in (out_file): Emit definition to config.status in order
+ 	to have a defined value for configure.lang.
+ 	* configure: Re-built.
+ 
+ Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden  (J.J.vanderHeijden@student.utwente.nl)
+ 
+ 	* configure.in: Make symlink to as-new rather than as.new.  Similarly
+ 	for ld-new.
+ 	* configure: Rebuilt.
+ 
+ Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
+ 
+ Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
+ 
+ 	* sparc/sparc.md: Add ultrasparc scheduling support.
+ 	* sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
+ 
+ Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
+ 
+ 	* integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
+ 	as initial value for real_label_map.
+ 	(copy_for_inline): Likewise.
+ 
+ Fri Sep  5 13:36:44 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sched.c (update_flow_info): When looking if to set found_split_dest
+ 	or found_orig_dest, look at all parts of a PARALLEL.
+ 	* haifa-sched.c (update_flow_info): Likewise.
+ 
+ Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* v850: New directory for v850 port.
+ 	* v850/lib1funcs.asm: New file.
+ 	* t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
+ 	* ginclude/va-v850.h: New file.
+ 	* ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
+ 	* configure.in (mn10200-*-*): New target.
+ 	* configure: Rebuilt.
+ 	* config.sub: Handle v850-elf.
+ 	* Makefile.in (USER_H): Add va-mn10200.h.
+ 	* invoke.texi: Document v850 stuff.
+ 
+ Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
+ 	has integer TYPE_{MAX,MIN}_VALUE before using them.
+ 
+ 	* m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
+ 	__HPUX_ASM__ versions.
+ 
+ Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* install.sh: Delete duplicate install script.
+ 
+ Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
+ 
+ 	* reg-stack.c (subst_stack_regs): Pop the stack register for a
+ 	computed goto which sets the same stack register.
+ 
+ 	* reg-stack.c (compare_for_stack_reg): Swap only if the source and
+ 	destination are both on the regstack.
+ 	(subst_stack_regs_pat): Put the destination at the top of the regstack.
+ 
+ Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (nonlocal_goto_receiver): Define.
+ 
+ 	* profile.c (output_arc_profiler): Check next_insert_after for non
+ 	NULL before deferencing it.
+ 
+ 	* i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
+ 
+ Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
+ 
+ Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): For passes starting with
+ 	flow_analysis, use print_rtl_with_bb instead of print_rtl.
+ 
+ 	* print-rtl.c (print_rtl_single): Print a single rtl value to a
+ 	file.
+ 
+ 	* flow.c (print_rtl_with_bb): Print which insns start and end
+ 	basic blocks.  For the start of a basic block, also print the live
+ 	information.
+ 
+ Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* toplev.c (main): Change #elif to #else/#ifdef.
+ 
+ 	* tlink.c: Include ctype.h.
+ 	* ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
+ 
+ Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
+ 
+ 	* bitmap.c: Conditionally include stdlib.h.
+ 	(free): Provide a declaration if NEED_DECLARATION_FREE.
+ 
+ Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
+ 
+ Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* profile.c (output_arc_profiler): Verify next_insert_after is an
+ 	INSN before and after skipping a stack pop.
+ 
+ Thu Sep  4 07:39:19 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Don't count the lengths of deleted
+ 	instructions.
+ 
+ Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
+ 	two bitmaps ANDed together.
+ 	(bitmap_print): Declare.
+ 
+ 	* bitmap.c (function_obstack): Don't declare any more.
+ 	(bitmap_obstack): Obstack for allocating links from.
+ 	(bitmap_obstack_init): New static to say whether to initialize
+ 	bitmap_obstack.
+ 	(bitmap_element_allocate): Use bitmap_obstack to allocate from.
+ 	(bitmap_release_memory): Free all memory allocated from
+ 	bitmap_obstack.
+ 
+ 	* basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
+ 	EXECUTE_IF_AND_IN_BITMAP.
+ 
+ Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alias.c (true_dependence): Address with AND can alias scalars.
+ 	(anti_dependence, output_dependence): Likewise.
+ 
+ 	* alias.c (true_dependence): Test x for BLKmode, in addition to mem.
+ 
+ Wed Sep  3 09:28:50 1997  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
+ 	  mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
+ 	  sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
+ 	  definitions.  Use -qrtems instead of -mrtems.
+ 
+ Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
+ 
+ 	* xm-sco5.h (sys_siglist): Define.
+ 	(SYS_SIGLIST_DECLARED): Likewise.
+ 
+ Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (convert_move): Handle truncation from TQFmode to QFmode.
+ 
+ Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
+ 
+ 	* except.c (eh_outer_context): Expand masking operation using
+ 	expand_binop.
+ 
+ Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha.md (floatdisf2-1): New pattern.
+ 
+ Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
+ 	* xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
+ 	* xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
+ 	* gcc.texi: Note that if you define sys_siglist that you should
+ 	also define SYS_SIGLIST_DECLARED.
+ 
+ 	* mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
+ 	are relative to the next instruction, not the current instruction.
+ 
+ Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* local-alloc.c (contains_replace_regs): New function.
+ 	(update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
+ 	verify that there is no existing REG_EQUIV note, and add a call to
+ 	contains_place_regs.
+ 
+ Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
+ 	(STARTFILE_SPEC): Always use crtbegin.o%s.
+ 	(ENDFILE_SPEC): Always use crtend.o%s.
+ 
+ Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
+ 	is passed in.
+ 	* emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
+ 	SFmode for 64 bit hosts.
+ 
+ Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
+ 
+ 	* fixincludes: Permits spaces between # and define.  Discard C++
+ 	comments in sys/pci.h on HP/UX 10.20.
+ 
+ Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 	* pa.c (restore_unscaled_index_insn_codes): New function.
+ 	(record_unscaled_index_insn_codes): Likewise.
+ 	(output_function_prologue): Call restore_unscaled_index_insn_codes.
+ 	(output_function_epilogue): Free memory for unscaled_index_insn_codes.
+ 	(pa_reorg): Call record_unscaled_index_insn_codes.
+ 
+ 	* haifa-sched.c (move_insn): Handle notes correctly for insns
+ 	with SCHED_GROUP_P set.
+ 
+ Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* alpha/xm-linux.h (USE_BFD): Undef before define.
+ 
+ Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Don't record BLKmode values.
+ 
+ Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
+ 
+ 	* i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
+ 
+ Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cccp.c (sys_errlist): Remove special 4.4bsd declaration.
+ 	* collect2.c (sys_errlist): Likewise.
+ 	* cpplib.c (sys_errlist): Likewise.
+ 	* gcc.c (sys_errlist): Likewise.
+ 	* protoize (sys_errlist): Likewise.
+ 	* configure.in: Check for strerror.
+ 	* xm-freebsd.h (HAVE_STRERROR): Remove definition.
+ 	* xm-gnu.h (HAVE_STRERROR): Likewise.
+ 	* xm-linux.h (HAVE_STRERROR): Likewise.
+ 	* xm-netbsd.h (HAVE_STRERROR): Likewise.
+ 	* xm-bsd386.h (HAVE_STRERROR): Likewise.
+ 	* xm-cygwin32.h (HAVE_STRERROR): Likewise.
+ 	* xm-dos.h (HAVE_STRERROR): Likewise.
+ 	* xm-mingw32.h (HAVE_STRERROR): Likewise.
+ 	* xm-pa.h (HAVE_STRERROR): Likewise.
+ 	* xm-papro.h (HAVE_STRERROR): Likewise.
+ 	* xm-sysv4.h (HAVE_STRERROR): Likewise.
+ 	* configure, config.in: Rebuilt.
+ 
+ 	* Makefile.in: Add several missing "else true" clauses.
+ 
+ 	* collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
+ 	* mips-tfile.c: Likewise.
+ 	* gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
+ 	* xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
+ 	* xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
+ 	* configure.in: Check for sys_siglist declaration.
+ 	* configure, config.in: Rebuilt.
+ 
+ Mon Sep  1 08:04:07 1997  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
+ 	m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
+ 	sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
+ 	* i960/i960.h: Added SUBTARGET_SWITCHES macro.
+ 	* rs6000/sysv4.h (extra_subtarget_switches): Added new
+ 	macro EXTRA_SUBTARGET_SWITCHES.
+ 	* configure.in (sh*-*-rtems*): New target.
+ 	* sh/rtems.h: New file.
+ 	* sh/sh.h: Added SUBTARGET_SWITCHES macro.
+ 	* configure: Rebuilt.
+ 
+ Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (calculate_giv_inc): Handle increment with code PLUS.
+ 
+ Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md: Make DF fused-add operations pay attention to
+ 	-mno-fused-add.
+ 
+ Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
+ 
+ Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (reload_peepholes): Make sure operand is a REG before
+ 	examining REGNO.  Allow general registers too.
+ 
+ Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
+ 
+ Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
+ 
+ 	* dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
+ 	to reallocate abbrev_die_table.
+ 
+ Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
+ 
+ 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* Makefile.in (config.status): Depend on version.c.
+ 
+ 	* expr.h (insn_gen_function): Reenable prototype.
+ 
+ 	* expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
+ 	first parameter.
+ 
+ Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
+ 
+ Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for latest snapshot.
+ 
+ 	* bc-optab.c: Conditionally include stdlib.h.
+ 	(free): Provide a declaration if NEED_DECLARATION_FREE.
+ 	* tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
+ 	* rtl.h (free): Remove declaration.
+ 	* tree.h (free): Remvoe declaration.
+ 
+ 	* configure: Rebuilt.
+ 
+ Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flags.h (flag_move_all_movables): Declare.
+ 	(flag_reduce_all_givs): Likewise.
+ 	* loop.c (move_movables): Handle flag_move_all_movables.
+ 	(strength_reduce): Handle flag_reduce_all_givs.
+ 	* toplev.c (flag_move_all_movables): Define.
+ 	(flag_reduce_all_givs): Likewise.
+ 	(f_options): Add -fmove-all-movables and -freduce-all-givs.
+ 	* invoke.texi: Document new options, including alias stuff that
+ 	wasn't included last time.
+ 
+ Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
+ 
+ 	* t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
+ 	* t-mn10200: Likewise.
+ 	* t-vxsparc: Likewise.
+ 	* t-vxworks68: Likewise.
+ 	* t-vxworks960: Likewise.
+ 	* t-vx29k: Likewise.
+ 
+ Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
+ 	if not already defined, and USE_C_ALLOCA not defined.
+ 
+ Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config.guess: Replace with script that uses ../config.guess.
+ 
+ 	* config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
+ 	if USE_GNULIBC_1 is not defined.
+ 
+ Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
+ 	* config.guess: Recognize alpha-linux-gnulibc1.
+ 	* configure.in (alpha-*-linux-gnulibc1): New target.
+ 	(alpha-*-linux-gnu*): Don't build crtbegin/end.
+ 
+ Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
+ 	last change.
+ 
+ Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
+ 
+ 	* loop.c (combine_movables): Earlier insns don't match later ones.
+ 
+ Wed Aug 27 01:24:25 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* config/linux.h (CC1_SPEC): Define it only if not defined.
+ 
+ 	* config/m68k/linux.h (CC1_SPEC): Undefine it before include
+ 	<linux.h>
+ 
+ 	* config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
+ 	USE_GNULIBC_1 is not defined.
+ 
+ 	* config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
+ 
+ 	* config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
+ 	as 1 if USE_GNULIBC_1 is not defined.
+ 
+ Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c (dbr_schedule): Allow current_function_return_rtx
+ 	to be something other than a REG.
+ 	* function.c (expand_function_end): Fix current_function_return_rtx
+ 	if it was a pseudo.
+ 
+ 	* t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
+ 	* x-netbsd: Likewise.
+ 	* x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
+ 	(INSTALL_HEADERS): Delete.
+ 	* x-dguxbcs: Likewise.
+ 	* x-hp3bsd44: Likewise.
+ 	* x-pa: Likewise.
+ 
+ Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* i386.md (pop): pop increments the stack pointer.
+ 	(prologue_set_stack_ptr): New pattern.
+ 	* i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
+ 	instead of subsi3.
+ 
+ Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (find_reloads, case '0'): Reject matching a non-offsettable
+ 	address where an offsettable address is required.
+ 
+ Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
+ 
+ 	* loop.c (check_final_value): Don't miss a biv increment in a
+ 	parallel.
+ 
+ Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
+ 	TYPE_DECL_IS_STUB instead of DECL_NAME.
+ 
+ Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
+ 
+ Mon Aug 25 23:27:10 1997  Jim Meyering  <meyering@eng.ascend.com>
+ 
+ 	* objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
+ 
+ Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
+ 	(find_post_sched_live): Likewise.
+ 
+ 	* haifa-sched.c (schedule_block): Remove old code to get arguments
+ 	from hard regs into pseudos early.
+ 
+ Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for new snapshot.
+ 
+ 	* local-alloc.c (update_equiv_regs): All the target to reject
+ 	promotion of some REG_EQUAL to REG_EQUIV notes.
+ 	* pa.h (DONT_RECORD_EQUIVALENCE): Define.
+ 
+ 	* pa.c (secondary_reload_class): (mem (mem ... )) does not need
+ 	secondary reloads.
+ 
+ 	* pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
+ 	store of the argument registers.
+ 
+ Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
+ 
+ 	* fold-const.c (multiple_of_p): New function.
+ 	(fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
+ 
+ Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.h (insn_gen_function): Temporarily remove prototype.
+ 
+ Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
+ 	filenames.  Use sed to extract base filename for install.
+ 
+ Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
+ 
+ 	* unroll.c (find_splittable_givs): Only share if two givs have the
+ 	same add and multiply values.
+ 
+ Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
+ 	* m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
+ 
+ Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
+ 	around branch tables.
+ 	* pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
+ 	and .end_brtab directives if TARGET_GAS.
+ 
+ Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alias.c (true_dependence): Pass x_addr not x to varies.
+ 
+ 	* acconfig.h (NEED_DECLARATION_CALLOC): Add.
+ 	* configure.in: Add GCC_NEED_DECLARATION call for calloc.
+ 	* rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
+ 	declarations.
+ 	* config.in, configure: Regenerate.
+ 
+ Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
+ 
+ 	* alias.c (find_base_value): Improve handling of PLUS, MINUS, and
+ 	LO_SUM.
+ 	(record_set): Handle LO_SUM like PLUS.
+ 	(init_alias_analysis): When following chains of base addresses,
+ 	do not stop on reaching a hard register.
+ 
+ Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for new snapshot.
+ 
+ Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha.h (ARCH_ASM_FILE_START): Define.
+ 	(ASM_FILE_START): Use ARCH_ASM_FILE_START.
+ 	* osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
+ 
+ Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (install-common): Put gcov comment at start of line.
+ 
+ Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (init_alias_analysis): When simplifying the reg_base_value
+ 	array, simplify entries for hard registers too.
+ 
+ Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
+ 	list.
+ 
+ Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* stmt.c (start_cleanup_deferral, end_cleanup_deferral): Test
+ 	block_stack before dereferencing it.
+ 
+ Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
+ 
+ Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* cplus-dem.c: Add 'extern' to prepends_underscore.
+ 
+ Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
+ 	(get_issue_rate): Delete.
+ 	* pa.h (ISSUE_RATE): Define.
+ 
+ 	* configure.in: Turn on haifa by default for the PA.
+ 	* configure: Rebuilt.
+ 	* pa.c (override_options): Accept -mschedule=7200 option.
+ 	(pa_adjust_cost): No longer need to scale costs for newer
+ 	processors.
+ 	* pa.h (enum processor_type): Add PROCESSOR_7200.
+ 	* pa.md: Revamp scheduling parameters to work better with
+ 	haifa.  Add scheduling parameters for the 7200.
+ 
+ 	* haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
+ 	insns too.
+ 	(schedule_block): When adjusting basic_block_{head,end}, account
+ 	for movement of SCHED_GROUP_P insns too.
+ 
+ 	* haifa-sched.c (debug_dependencies): Fix thinko.
+ 
+ 	* Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
+ 	(site.exp, check, check-g++, check-gcc): New targets.
+ 
+ 	* haifa-sched.c: Make lots of variables static.
+ 
+ Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
+ 
+ 	* expr.h, real.h: Finish prototyping.
+ 
+ Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
+ 	reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
+ 	* reload1.c: Undo bugfix from Aug 11.
+ 
+ Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
+ 
+ 	* configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
+ 	quotes around the name.
+ 	* configure: Regenerate.
+ 
+ Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (stmp-multilib-sub): Fix typo in last change.
+ 
+ Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (sub-makes): Pass the current value of LANGUAGES down
+ 	to sub-makes to avoid building more passes than the user might have
+ 	requested on the command line.
+ 
+ Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
+ 
+ 	* configure.in: Expurgate `broken_install' (install is
+ 	autoconfed).
+ 
+ 	* configure.lang: Substitute autoconfed ${INSTALL} (not currently
+ 	relevant).
+ 
+ Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (is_power_of_2, is_conditional_branch): Delete unused
+ 	functions and declarations.
+ 	(analyze_loop_iterations): Use condjump_p.
+ 	(insert_bct): Likewise.  Use exact_log2.
+ 
+ Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
+ 	(schedule_region): Likewise.
+ 	(schedule_insns): Likewise.
+ 
+ 	* PROJECTS: Update with Haifa stuff.
+ 
+ Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Change the version string to look like:
+ 	egcs-2.90.00 970814 (gcc2-970802 experimental).
+ 
+ 	* loop.c (is_conditional_branch): Make definition match declaration.
+ 
+ 	* gcc.c: Take out experimental snapshot warning message.
+ 
+ Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
+ 	print out the names of the notes.  Print out the name of the insn
+ 	that is not a note, and not an {,CALL_,JUMP_}INSN.
+ 
+ Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
+ 	again for the slot after we give it RTL.
+ 
+ Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
+ 
+ 	* configure.in (haifa configury): Fix typo.
+ 	* configure: Regenerate.
+ 
+ Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump version to "gcc-3.0.0 970802 experimental".
+ 
+ 	* gcc.info*: Rebuilt.
+ 
+ 	* COPYING.g77, README.g77: New files.
+ 	* real.c (ereal_unto_float, ereal_unto_double): New functions.
+ 	* real.h (ereal_unto_float, ereal_unto_double): Declare them.
+ 	(REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
+ 
+ Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Integrate Haifa instruction scheduler.
+ 	* Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
+ 	to sched with $(SCHED_CFLAGS.
+ 	* configure.in: Handle --enable-haifa.
+ 	* configure: Rebuilt.
+ 	* flags.h: Add new flags for haifa instruction scheduler.
+ 	* genattrtab.c (expand_units): For haifa, don't subtract one
+ 	when computing blockage.
+ 	* toplev.h (flag_schedule_interblock): Haifa scheduler flag.
+ 	(flag_schedule_speculative): Likewise.
+ 	(flag_schedule_speculative_load): Likewise.
+ 	(flag_schedule_speculative_load_dangerous): Likewise.
+ 	(flag_schedule_reverse_before_reload): Likewise.
+ 	(flag_schedule_reverse_after_reload): Likewise.
+ 	(flag_branch_on_count_reg): Likewise.
+ 	(f_options): Add Haifa switches.
+ 	(main): Turn off some Haifa options if appropriate macro is
+ 	defined.  Process Haifa switches.
+ 	* unroll.c (iteration_info): No longer static, since Haifa
+ 	scheduler uses it.
+ 	(unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
+ 	* unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
+ 	* loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
+ 	* loop.h (loop_initial_value,loop_unroll_iter): New globals.
+ 	* loop.c (loop_optimize): If HAIFA is defined, allocate additional
+ 	storage for the Haifa scheduler.
+ 	(mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
+ 	LABEL_NEXTREF.
+ 	(strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
+ 	are defined, call analyze_loop_iterations and insert_bct to use
+ 	countdown loops.
+ 	(record_giv): Refine test for jumps out of loops if HAIFA is
+ 	defined.
+ 	(analyze_loop_iterations): New function to identify if we can use
+ 	a countdown loop.
+ 	(insert_bct): Insert countdown loop.
+ 	(instrument_loop_bct): Low level code to insert countdown loop.
+ 	(loop_number): Calculate UID of loop.
+ 	(indirect_jump_in_function_p): Return true if an indirect jump is
+ 	in the function.
+ 	(is_power_of_2): Return true if value is a power of 2.
+ 	(is_conditional_branch): Return true if insn is a conditional
+ 	jump.
+ 	(fix_bct_param): Process -fbct-{min,max}-N switches.
+ 	(check_bct_param): Return true if loop should be instrumented.
+ 	* loop.c (loop_initial_value,loop_unroll_iter): New globals.
+ 	(loop_optimize): Initialize.
+ 	(get_condition_for_loop): Likewise.
+ 	* loop.c (strength_reduce): Inside of code that uses #ifdef
+ 	HAVE_decrement_and_branch_on_count code, test it to make sure the
+ 	condition is true.
+ 	(instrument_loop_bct): Likewise.
+ 	* haifa-sched.c: New file.
+ 
+ 	* Integrate regmove pass.
+ 	* Makefile.in (OBJS): Add regmove.o.
+ 	(regmove.o): Add dependencies.
+ 	* flow.c (find_use_as_address): No longer static.
+ 	* rtl.h (find_use_as_address): Declare.
+ 	* toplev.c (regmove_dump, flag_regmove): Define.
+ 	(f_options): Add -fregmove.
+ 	(regmove_dump_file, regmove_time): Define.
+ 	(fatal_insn): Close the regmove dump file.
+ 	(compile_file): Initialize regmove_time; open/close the regmove dump
+ 	file as needed.  Print regmove time as needed.
+ 	(rest_of_compilation): Run regmove pass if requested, dump
+ 	RTL after regmove if requested.
+ 	(main): If -O2 or more, turn on regmove.  Handle dump switches.
+ 	* regmove.c: New file.
+ 
+ Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Integrate tlink patch from jason@cygnus.com
+ 	* gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
+ 	(process_command): Increment n_switches for them.  Don't discard
+ 	their args.  Validate them.
+ 	(main): Escape " marks when creating COLLECT_GCC_OPTIONS.
+ 	From Rohan Lenard.
+ 	(process_command): Set include_prefixes from COMPILER_PATH.
+ 	(main): Set COLLECT_GCC_OPTIONS sooner.
+ 	* confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
+ 	* tlink.c, hash.c, hash.h: New files.
+ 	* Makefile.in (USE_COLLECT2): Always use collect2.
+ 	(collect2): Depend on and link in hash.o and tlink.o.
+ 	(tlink.o, hash.o): Add dependencies.
+ 
+ Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Integrate alias analysis changes from jfc@mit.edu
+ 	* Makefile.in (OBJS): Add alias.o.
+ 	(alias.o): Add dependencies.
+ 	* alias.c: New file.
+ 	* sched.c: Remove alias analysis code.  It lives in alias.c now.
+ 	(sched_analyze_2): Add new arguments to true_dependence.
+ 	(schedule_insns): Always call init_alias_analysis.
+ 	* calls.c (expand_call): Note calls to malloc, calloc, and realloc;
+ 	mark return value from such functions as a pointer and keep track of
+ 	them for alias analysis.  If a return value from a function is a
+ 	pointer, mark it as such.
+ 	* combine.c (distribute_notes): Handle REG_NOALIAS.
+ 	* cse.c (struct write_data): Delete.  No longer needed.
+ 	(invalidate): Don't call set_nonvarying_address_components anymore.
+ 	Use true_dependence to decide if an entry should be removed from
+ 	the hash table.
+ 	(invalidate_memory): Remove WRITES argument, simplify appropriately.
+ 	Fix all callers.
+ 	(note_mem_written): Similarly for WRITE_PTR argument.
+ 	(invalidate_from_clobbers): Similarly for W argument.
+ 	(invalidate_for_call): Remove memory elements from the hash table.
+ 	(refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
+ 	(cse_rtx_varies_p): New function.  Derived from old
+ 	cse_rtx_addr_varies_p.
+ 	(cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
+ 	Don't call note_mem_written anymore.  Stack pushes invalidate the stack
+ 	pointer if PUSH_ROUNDING is defined.  No longer need to call
+ 	cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
+ 	(skipped_writes_memory): Remove variable.
+ 	(invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
+ 	(invalidate_skipped_block): Simplify for new alias analysis code.
+ 	(cse_set_around_loop): Likewise.
+ 	(cse_main): Call init_alias_analysis.
+ 	* flags.h (flag_alias_check, flag_argument_noalias): Declare.
+ 	* toplev.c (flag_alias_check, flag_argument_noalias): Define.
+ 	(f_options): Add new alias checking arguments.
+ 	(main): Set flag_alias_check when optimizing.
+ 	* local_alloc (validate_equiv_mem_from_store): Add new arguments
+ 	to true_dependence.
+ 	(memref_referenced_p): Likewise.
+ 	* loop.c (NUM_STORES): Increase to 30.
+ 	(prescan_loop): Only non-constant calls set unknown_address_altered.
+ 	(invariant_p): Add new arguments to true_dependence.
+ 	(record_giv): Initialize unrolled and shared fields.
+ 	(emit_iv_add_mult): Call record_base_value as needed.
+ 	* loop.h (struct induction): Add unrolled and shared fields.
+ 	* unroll.c  (unroll_loop): Call record_base_value as needed.
+ 	(copy_loop_body): Likewise.
+ 	(final_biv_value): Likewise.
+ 	(final_giv_value): Likewise.
+ 	(find_splittable_regs): Likewise.  Only create one new pseudo
+ 	if we have multiple address GIVs that were combined with the same
+ 	dst_reg GIV.  Note when a new register is created due to unrolling.
+ 	* rtl.c (reg_note_name): Add REG_NOALIAS.
+ 	* rtl.h (enum reg_note): Similarly.
+ 	(rtx_varies_p, may_trap_p, side_effects_p): Declare.
+ 	(volatile_refs_p, volatile_insn_p, remove_note): Likewise.
+ 	(note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
+ 	(true_dependence, read_dependence, anti_dependence): Likewise.
+ 	(output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
+ 	(mark_user_reg, mark_reg_pointer): Likewise.
+ 
+ 	* Integrate reload bugfix from Wilon which enables the PA port
+ 	to bootstrap again.
+ 	* reload1.c (reload): Sum needs for both OPADDR_ADDR and
+ 	OPERAND_ADDRESS when computing how many registers an insn needs.
+ 	(reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
+ 	conflict.
+ 	(reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
+ 	OPADDR_ADDR reload.
+ 	(reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
+ 	in reload_reg_use_in_op_addr do not reach the end.
+ 	do not reach the end.
+ 	(reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
+ 	RELOAD_FOR_OPERAND_ADDRESS.
+ 
+ Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* egcs project officially starts.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-1998 gcc-4.1.0/gcc/ChangeLog-1998
*** gcc-4.0.2/gcc/ChangeLog-1998	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-1998	Mon Mar  7 16:19:38 2005
***************
*** 0 ****
--- 1,17616 ----
+ Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (adddi_dilshr32): Allow all operands to be registers too.
+ 	(adddi_dishl32): Similarly.
+ 
+ 	* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
+ 	for each insn in the skipped block.
+ 
+ 	* reload1.c (reload_as_needed): Verify that the insn satisfies its
+ 	constraints after replacing a register address with an autoincrement
+ 	address for reload inheritance purposes.
+ 
+ 	* i386.md (doubleword shifts): Avoid namespace pollution.
+ 
+ Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
+ 
+ 	* configure.in (FreeBSD ELF): Needs special crt files.
+ 
+ Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
+ 
+ 	* i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
+ 
+ 1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* loop.c (check_dbra_loop): While reversing the loop, if the
+ 	comparison value has a VOID mode use the mode of the other operand
+ 	to compute the mask.
+ 
+ Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.md ({save,restore}_stack_function): Take 2 operands to
+ 	avoid warnings in compiling explow.c.
+ 
+ 	(patch from Ken Raeburn, raeburn@cygnus.com)
+ 	* rs6000.c (rs6000_stack_info): Force 8-byte alignment of
+ 	fpmem_offset.  Compute total size after that, and then
+ 	rs6000_fpmem_offset using both values.
+ 
+ Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
+ 	the future; indeed that already happens in some cases.
+ 
+ Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (input_operand): Recognize (const (constant_p_rtx)).
+ 	(arith_operand): Remove constant_p_rtx handling.
+ 	(const64_operand, const64_high_operand): Likewise.
+ 	(arith11_operand, arith10_operand, arith_double_operand): Likewise.
+ 	(arith11_double_operand, arith10_double_operand, small_int): Likewise.
+ 	(small_int_or_double, uns_small_int, zero_operand): Likewise.
+ 	* sparc.h (PREDICATE_CODES): Likewise.
+ 
+ 	* rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
+ 
+ Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.def (CONSTANT_P_RTX): Clarify commentary.
+ 	* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
+ 	consider constant CONSTRUCTOR constant and to defer some cases
+ 	to cse.
+ 	* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
+ 	* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
+ 
+ Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
+ 	* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
+ 
+ 	* alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
+ 	(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
+ 	(sext_add_operand, and_operand, or_operand): Likewise.
+ 	(reg_or_cint_operand, some_operand, input_operand): Likewise.
+ 	* alpha.h (PREDICATE_CODES): Likewise.
+ 
+ Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gengenrtl.c (gencode): Always use bzero to clear memory instead
+ 	of dangerous casts and stores.
+ 
+ 	* Makefile.in (compare, gnucompare): Add missing else true clauses.
+ 
+ Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alpha.md (builtin_longjmp): Add missing "DONE".
+ 
+ Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* gcc.c (execute): Enable -pipe with win32.
+ 
+ Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/t-arm-elf: Add multiplib option for leading
+ 	underscores.
+ 
+ 	* config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
+ 	'user_label_prefix' rather than macro USER_LABEL_PREFIX.
+ 
+ 	(thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
+ 	than variable 'reload_address_base_reg_class'.  [Note this
+ 	change is unrelated to the others in this patch].
+ 
+ 	* config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
+ 	leading underscore.
+ 
+ Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alias.c (record_alias_subset): Remove ignored `&'.
+ 	(init_alias_once): Likewise.
+ 
+ 	* c-lex.c (UNGETC): Cast first argument of comma expression to void.
+ 
+ 	* config/mips/mips.c (mips_asm_file_end): Cast the result of
+ 	fwrite to `int' when comparing against one.
+ 
+ 	* config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
+ 	(INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
+ 
+ 	* cse.c (rehash_using_reg): Change type of variable `i' to
+ 	unsigned int.
+ 
+ 	* dwarf2out.c (initial_return_save): Cast -1 to unsigned before
+ 	assigning it to one.
+ 
+ 	* except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
+ 
+ 	* final.c (final_scan_insn): Likewise for variable `i'.
+ 	(output_asm_insn): Cast a char to unsigned char when used as an
+ 	array index.
+ 
+ 	* gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
+ 	assigning it to one.
+ 
+ 	* loop.c (strength_reduce): Remove unused variables `count' and `temp'.
+ 
+ 	* recog.c (preprocess_constraints): Cast a char to unsigned char
+ 	when used as an array index.
+ 
+ 	* regmove.c (find_matches): Likewise.
+ 
+ 	* reload1.c (calculate_needs): Add default case in switch.
+ 	(eliminate_regs_in_insn): Initialize variable `offset'.
+ 	(set_offsets_for_label): Change type of variable `i' to unsigned.
+ 	(reload_as_needed): Wrap variable `i' in macro check on
+ 	AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
+ 
+ 	* scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
+ 	with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
+ 	when comparing against one.
+ 
+ 	* stor-layout.c (layout_decl): Cast maximum_field_alignment to
+ 	unsigned when comparing against one.  Likewise for
+ 	GET_MODE_ALIGNMENT().
+ 	(layout_record): Cast record_align to int when comparing against a
+ 	signed value.
+ 	(layout_type): Cast TYPE_ALIGN() to int when comparing against a
+ 	signed value.
+ 
+ 	* tree.c (get_identifier): Cast variable `len' to unsigned when
+ 	comparing against one.
+ 	(maybe_get_identifier): Likewise
+ 
+ Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (rest_of_compilation): Do not set reload_completed.
+ 	* reload1.c (reload): Set reload_completed before calling
+ 	cleanup_subreg_operands.
+ 
+ Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (emit_reload_insns): Check `set' not null before use.
+ 
+ Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
+ 	'int'.
+ 
+ Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* halfpic.c (half_pic_encode): Delete redundant code.
+ 
+ Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* toplev.c (main): Delete handling of -dM as a preprocessor
+ 	option.
+ 
+ Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* toplev.c (main): Don't emit any warnings when using -dD, -dM, or
+ 	-dI, which are handled by the preprocessor.
+ 
+ Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
+ 
+ 	* configure.in: Handle Digital UNIX 5.x the same as 4.x.
+ 	* i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
+ 
+ Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (fatal): Qualify a char* with the `const' keyword.
+ 
+ 	* genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
+ 	write_unit_name, write_eligible_delay, expand_units,
+ 	make_length_attrs, write_attr_case, find_attr,
+ 	make_internal_attr): Likewise.
+ 	* gencheck.c (tree_codes): Likewise.
+ 	* gencodes.c (fatal): Likewise.
+ 	* genconfig.c (fatal): Likewise.
+ 	* genemit.c (fatal): Likewise.
+ 	* genextract.c (fatal, walk_rtx, copystr): Likewise.
+ 	* genflags.c (fatal): Likewise.
+ 	* genopinit.c (fatal, optabs, gen_insn): Likewise.
+ 	* genoutput.c (fatal, error, predicates): Likewise.
+ 	* genpeep.c (fatal): Likewise.
+ 	* genrecog.c (fatal, decision, pred_table, add_to_sequence,
+ 	write_tree_1, write_tree, change_state, copystr, indents): Likewise.
+ 
+ Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (with-fast-fixincludes): Fix whitespace.
+ 	* configure: Rebuilt.
+ 
+ 	* fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
+ 	asm() etc. function declarations in __DECC.
+ 
+ Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* expr.c (emit_move_insn_1): Only emit a clobber if the target
+ 	is a pseudo register.
+ 
+ Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* gcse.c: Include expr.h in order to get the prototype for
+ 	get_condition() which is used in delete_null_pointer_checks().
+ 
+ Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
+ 
+ Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
+ 	(ALL_CFLAGS): Delete SCHED_CFLAGS.
+ 
+ 1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
+ 	';').
+ 
+ 1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
+ 
+ 	* i960.md (extend*, zero_extend*): Don't generate rtl that looks
+ 	like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
+ 	optimizations from the combiner.
+ 
+ Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
+ 
+ Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (main): Disable optimize_size if a specific
+ 	optimization level is requested.  Always set optimization
+ 	level to 2 if -Os is specified.
+ 
+ Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
+ 	cpplib.
+ 	* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
+ 	initialize it using fname.
+ 
+ 1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (do_include): Treat #include_next in the
+ 	primary source file as #include plus warning.  Treat
+ 	#include_next in a file included by absolute path as an
+ 	error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
+ 
+ Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c: Don't define MIN/MAX anymore.
+ 	* cpplib.c: Likewise.
+ 	* machmode.h: Likewise.
+ 	* system.h: Provide definitions for MIN/MAX.
+ 
+ Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* fix-header.c: Don't define xstrdup here.
+ 
+ Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (consec_sets_giv): New argument last_consec_insn.
+ 	(strength_reduce): Provide / use it.
+ 
+ Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.h (loop_info): New field 'vtop'.
+ 	* loop.c (check_dbra_loop): Use loop_info->vtop rather than
+ 	scanning loop for vtop.
+ 	* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
+ 	(loop_iterations): Use them to determine if loop has a constant
+ 	number of iterations.  Set loop_info->vtop.  Don't subtract
+ 	common reg term from initial_value and final_value if have a
+ 	do-while loop.
+ 
+ Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
+ 
+ 	* mn10300.md (bset, bclr): Operand 0 is a read/write operand.
+ 
+ 	* mn10200.md (abssf2, negsf2): New expanders.
+ 
+ 	* mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
+ 
+ Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): If a SUBREG is
+ 	replaced by a CONCAT whose components do not have the same
+ 	mode as the original SUBREG, use a new SUBREG to restore the
+ 	mode.
+ 
+ 	* emit-rtl.c (subreg_realpart_p): Cope with subregs containing
+ 	multiword complex values.
+ 
+ 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cppalloc.c: Add xstrdup here.
+ 	* cpplib.h: Remove savestring prototype.
+ 	* cpplib.c: Remove savestring function. s/savestring/xstrdup/
+ 	  throughout.
+ 	* cppfiles.c: s/savestring/xstrdup/ throughout.
+ 
+ 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c: Make all directive handlers read their own
+ 	  arguments.
+ 	  (struct directive): Remove last two arguments from FUNC
+ 	  member prototype. Remove `command_reads_line' member
+ 	  entirely.
+ 	  (directive_table): Remove initializations of
+ 	  command_reads_line flag.  Pretty-print.
+ 	  (eval_if_expression, do_define, do_line, do_include,
+ 	  do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
+ 	  do_else, do_elif, do_sccs, do_assert, do_unassert,
+ 	  do_warning): Take only two args.
+ 
+ 	  (cpp_define): Call do_define with two args and the text to
+ 	  define stuffed into a buffer.
+ 	  (make_assertion): Call do_assert with two args.
+ 	  (handle_directive): Call do_line with two args. Call
+ 	  kt->func with two args.  Remove command_reads_line
+ 	  processing.
+ 	  (do_define, do_undef, do_error, do_warning, do_pragma,
+ 	  do_sccs): Read the rest of the line here.
+ 	  (do_ident): Gobble rest of line, as cccp does.
+ 	  (cpp_undef): New function.
+ 	  (cpp_start_read): Call cpp_undef instead of do_undef.
+ 
+ 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpphash.h (union hash_value): Remove `keydef' member, add a
+ 	  `struct hashnode *aschain' member for #assert.
+ 
+ 	* cpplib.c (struct tokenlist_list, struct
+ 	  assertion_hashnode): Delete structure definitions.
+ 	  (assertion_install, assertion_lookup, delete_assertion,
+ 	  check_assertion, compare_token_lists, reverse_token_list,
+ 	  read_token_list, free_token_list): Delete functions.
+ 	  (parse_assertion): New function.
+ 	  (cpp_cleanup): Don't destroy the assertion_hashtable.
+ 
+ 	  (do_assert): Gut and rewrite.  #assert foo (bar) places
+ 	  entries for `#foo' and `#foo(bar)' in the macro hash table,
+ 	  type T_ASSERT.  The value union's `aschain' member is used
+ 	  to chain all answers for a given predicate together.
+ 	  (do_unassert): Also rewritten.  Take an un-asserted
+ 	  answer off the chain from its predicate and call
+ 	  delete_macro on the hashnode, or walk a predicate chain
+ 	  calling delete_macro on all the entries.
+ 	  (cpp_read_check_assertion): Simply call parse_assertion to
+ 	  get the canonical assertion name, and look that up in the
+ 	  hash table.
+ 
+ 	* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
+ 	Removed.
+ 
+ 	* cpphash.c (install): Use bcopy instead of an explicit loop
+ 	  to copy the macro name.
+ 
+ 	* cppexp.c (cpp_lex): Convert the result of
+ 	  cpp_read_check_assertion to a `struct operation' directly;
+ 	  don't go through parse_number.
+ 
+ Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.h (struct induction): Delete times_used member.
+ 	* loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
+ 	(n_times_used): Rename to n_times_set.  Changed all users.
+ 	(scan_loop): Free reg_single_usage before strength reduction.
+ 	(record_giv, combine_givs): Remove handling of times_used member.
+ 	(combine_givs_used_once): Rename to:
+ 	(combine_givs_used_by_other) .  Changed all callers.
+ 
+ Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
+ 	instead of TREE_CODE_CLASS == 't'.
+ 	(gen_type_die): Likewise.
+ 	(scope_die_for): Ignore FUNCTION_TYPE "scopes".
+ 
+ Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* real.c (endian): Disable last change unless
+ 	HOST_BITS_PER_WIDE_INT is greater than 32.
+ 
+ Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* output.h (force_data_section): New prototype.
+ 	* varasm.c (force_data_section): New function to force the
+ 	data section, regardless of what in_section thinks.
+ 	* dwarf2out.c (output_call_frame_info): Call force_data_section
+ 	since varasm may not realize we've changes sections.
+ 
+ Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
+ 	  after completing reload.
+ 
+ 	* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
+ 	  deleted after reload.
+ 
+ Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.h (multiple_sets): Fix prototype.
+ 	* rtlanal.c (multiple_sets): Fix return type.
+ 
+ Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
+ 
+ Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (recompute_reg_usage): Add second argument.
+ 	* flow.c (recompute_reg_usage): Likewise.
+ 	* toplev.c (rest_of_compilation): Supply second argument to
+ 	recompute_reg_usage.
+ 
+ 	* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
+ 	after reload.
+ 
+ Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
+ 	(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
+ 	(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
+ 	mcpu32 or m5200.
+ 
+ 	* i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
+ 
+ 	* rtlanal.c (multiple_sets): New function.
+ 	* rtl.h (multiple_sets): Declare it.
+ 	* local-alloc.c (wipe_dead_reg): Use it.
+ 	* global.c (global_conflicts): Likewise.
+ 
+ Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* global.c (record_conflicts): Don't use an array of shorts to
+ 	store an array of ints.
+ 	(global_conflicts): Likewise.
+ 
+ Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_move): mode_for_size expects
+ 	bits, not bytes.  Infer extra alignment from addressof.
+ 
+ 1998-12-11  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
+ 	.sbss section, not .sdata.
+ 
+ 1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* cccp.c: Do not #include <sys/stat.h> here; this is already done
+ 	by "system.h".
+ 	* collect2.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* getpwd.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 	* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
+ 	and don't try to define it here.
+ 	* Makefile.in (cppmain.o): Depend on machmode.h.
+ 	(cpplib.o): Likewise.
+ 	(cpperror.o): Likewise.
+ 	(cppexp.o): Likewise.
+ 	(cppfiles.o): Likewise.
+ 	(cpphash.o): Likewise.
+ 	(cppalloc.o): Likewise.
+ 	(fix-header.o): Likewise.
+ 	(scan-decls.o): Likewise.
+ 
+ Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* sh.c (print_operand): Lookup interrupt_handler attribute instead
+ 	of relying on static variable.
+ 	* (calc_live_regs): Likewise.
+ 	* (sh_pragma_insert_attributes): Create interrupt_handler
+ 	attribute if a pragma was specified.
+ 	* (sh_valid_machine_decl_attribute): Don't set static flag.
+ 	* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
+ 
+ Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
+ 	to determine if a register is live at a jump destination.
+ 	Everything is dead at a BARRIER.
+ 
+ Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cse.c (simplify_unary_operation): Sign-extend constants when
+ 	they have the most significant bit set for the target.
+ 	* real.c (endian): Sign-extend 32 bit output values on a 64 bit
+ 	host.
+ 	* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
+ 	HOST_WIDE_INT temporary before negating it.
+ 	* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
+ 
+ Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
+ 	#if USE_CPPLIB.
+ 
+ Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.h: New header file for prototypes.
+ 
+ 	* Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
+ 
+ 	* collect2.c: Include collect2.h.
+ 	* tlink.c: Likewise.
+ 
+ Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c: Update some comments.
+ 
+ Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* objc/objc-act.c (cpp_initialized): Removed.
+ 	(lang_init_options): Initialize cpplib.
+ 	(lang_decode_option): Move initialization of cpplib to
+ 	lang_init_options.
+ 	* c-lang.c (parse_options,parse_in): Added.
+ 	(lang_init_options): Initialized cpplib here.
+ 	* c-decl.c (parse_options,cpp_initialized): Removed.
+ 	(c_decode_option): Move initialization of cpplib to
+ 	lang_init_options.
+ 
+ Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine, reload_combine_note_store):
+ 	Make STORE_RUID always valid.
+ 	(reload_combine): Check if BASE is clobbered too early.
+ 
+ Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* reload.c (find_reloads): Display the insn that cannot be
+ 	reloaded.
+ 
+ Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cccp.c (create_definition): Fix end of buffer logic.
+ 
+ Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
+ 	pointer parameters changed to use the PARAMS() macro.
+ 
+ Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (struct handler_info): Add handler_number field.
+ 	* except.c (gen_exception_label): EH labels no longer need to be
+ 	on the permanent obstack.
+ 	(get_new_handler): Set the label number field.
+ 	(output_exception_table_entry): Regenerate handler label reference
+ 	from the label number field.
+ 	(init_eh): Remove a blank line.
+ 	* integrate.c (get_label_from_map): Labels no longer need to be
+ 	on the permanent obstack.
+ 
+ Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
+ 	only when OUTER_CODE is SET.
+ 
+ Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): If scan_start points to the loop exit
+ 	test, be wary of subversive use of gotos inside expression statements.
+ 	Don't set maybe_multiple for a backward jump that does not
+ 	include the label under consideration into its range.
+ 	* unroll.c (biv_total_increment): Make use of maybe_multiple field.
+ 
+ Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* explow.c (plus_constant_wide): Don't immediately return with
+ 	result of recursive call.
+ 
+ Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* eh-common.h (struct eh_context): Add table_index for rethrows.
+ 
+ 	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
+ 	(SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
+ 	processed when inlined or unrolled (ie duplicated in some way).
+ 
+ 	* rtl.c (reg_note_name): Add strings for new reg_note enums.
+ 
+ 	* expr.h (rethrow_libfunc): New library decl.
+ 
+ 	* optabs.c (rethrow_libfunc): Initialize.
+ 
+ 	* except.h (struct eh_entry): Add new field 'rethrow_label'.
+ 	(new_eh_region_entry): No longer exported from except.c.
+ 	(duplicate_handlers): Renamed to duplicate_eh_handlers and
+ 	different prototype.
+ 	(rethrow_symbol_map, rethrow_used): New exported functions.
+ 	(eh_region_from_symbol): New exported function.
+ 
+ 	* except.c (create_rethrow_ref): New function to create a single
+ 	SYMBOL_REF for a rethrow region.
+ 	(push_eh_entry): Initialize a rethrow ref.
+ 	(func_eh_entry): Add a rethrow_label field.
+ 	(new_eh_region_entry): Make static, and initialize the rethrow entry.
+ 	(duplicate_eh_handlers): Create a new region, and remap labels/symbols.
+ 	(eh_region_from_symbol): Find an EH region based on its rethrow symbol.
+ 	(rethrow_symbol_map): Given a label map, maps a rethrow symbol for
+ 	a region into an appropriate new symbol.
+ 	(rethrow_used): Indicate whether a rethrow symbol has been referenced.
+ 	(expand_eh_region_end): Don't issue jump around code for new-exceptions.
+ 	(end_catch_handler): Emit a barrier for new-exceptions since
+ 	control can never drop through the end of a catch block.
+ 	(expand_end_all_catch): new-exceptions never fall through a catch
+ 	block.
+ 	(expand_rethrow): Use __rethrow routine for new exceptions.
+ 	(output_exception_table_entry): Generate rethrow labels, if needed.
+ 	(output_exception_table): Generate start and end rethrow labels.
+ 	(init_eh): Create rethrow symbols for beginning and end of table.
+ 	(scan_region): Don't eliminate EH regions which are the targets of
+ 	rethrows.
+ 
+ 	* flow.c (make_edges): Add different edges for rethrow calls,
+ 	identified by having the REG_EH_RETHROW reg label.
+ 	(delete_unreachable_blocks): Don't delete regions markers which are
+ 	the target of a rethrow.
+ 
+ 	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
+ 	allow save_for_inline_copying to call duplicate_eh_handlers.
+ 	(save_for_inline_copying): Call duplicate_eh_handlers instead of
+ 	exposing internal details of exception regions.
+ 	(copy_for_inline): Check if SYMBOL_REFs need adjustment.
+ 	(expand_inline_function_eh_labelmap): New callback routine to
+ 	allow expand_inline_function to call duplicate_eh_handlers.
+ 	(expand_inline_function): Call duplicate_eh_handlers instead of
+ 	exposing internal details of exception regions.
+ 	(copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
+ 	flag is set.
+ 
+ 	* libgcc2.c (find_exception_handler): Generalize to enable it to
+ 	pick up processing where it left off last time for a rethrow.
+ 	(__unwinding_cleanup): New function. debug hook which is called before
+ 	unwinding when __throw finds there is nothing but cleanups left.
+ 	(throw_helper): Common parts of __throw extracted out for reuse.
+ 	(__throw): Common parts moved to throw_helper.
+ 	(__rethrow): New function for performing rethrows.
+ 
+ Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (current_function_decl): Tweak declaration.
+ 
+ Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (flag_isoc9x): Default off.
+ 	(c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
+ 	* cccp.c (print_help, main): Likewise.
+ 	* gcc.c (default_compilers): Update for -std=gnu*.
+ 
+ Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
+ 	* demangle.h: Deleted.
+ 
+ 	* reload1.c (current_function_decl): Declare.
+ 
+ Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
+ 
+ Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
+ 
+ 1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* configure.in: Test for availability of putc_unlocked, fputc_unlocked,
+ 	and fputs_unlocked.
+ 	* configure: Rebuilt.
+ 	* system.h: If the *_unlocked functions are available use them
+ 	instead of the locked counterparts by defining macros.
+ 	* config.in: Regenerated.
+ 
+ Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
+ 	wrong and should only be used for dump related things, not
+ 	debugging information, instead main_input_filename should be used.
+ 	Also, reuse output_file_directive if possible.
+ 	* i386/aix386ng.h (ASM_FILE_START): Likewise.
+ 	* i386/isc.h (ASM_FILE_START): Likewise.
+ 	* i386/win-nt.h (ASM_FILE_START): Likewise.
+ 	* i386/sun386.h (ASM_FILE_START): Likewise.
+ 
+ Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* configure.in (mips*-*-linux*): Handle big and little endian
+ 	systems.
+ 	* configure: Rebuilt.
+ 
+ Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* emit-rtl.c: Fix typo.
+ 
+ Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* reload1.c (eliminate_regs): Don't do anything, if we're not
+ 	generating code.
+ 
+ Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
+ 
+ 	* mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
+ 	Add comment.
+ 	* mips/mips.c (mips_select_section): Add comment.
+ 
+ Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* cccp.c (ignore_escape_flag): Add support for \ as `natural'
+ 	characters in file names in #line to be consistent with #include
+ 	handling.  We support escape processing in the # 1 "..." version of
+ 	the command.  See also support in cp/lex.c.
+ 	(handle_directive): Likewise.
+ 	(do_line): Likewise.
+ 
+ 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
+ 	  so it'll work on non-ASCII platforms.  Always consider $ an
+ 	  identifier character.  Take no arguments.
+ 	  (cpp_reader_init): Call initialize_char_syntax with no
+ 	  arguments.
+ 	  (cpp_start_read): Don't call initialize_char_syntax again.
+ 	  Clear is_idchar['$'] and is_idstart['$'] if not
+ 	  opts->dollars_in_ident.
+ 
+ 	* cpplib.h (struct cpp_reader): Replace void *data element by
+ 	  cpp_options *opts.  Rearrange elements to make gdb printout
+ 	  less annoying (put buffer stack at end).
+ 	  (CPP_OPTIONS): Get rid of now-unnecessary cast.
+ 
+ 	* cppmain.c: s/data/opts/ when initializing cpp_reader
+ 	  structure.
+ 	* c-decl.c: Likewise.
+ 	* objc/objc-act.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 
+ 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.h (struct cpp_buffer): Replace dir and dlen members
+ 	with a struct file_name_list pointer.
+ 	(struct cpp_reader): Add pointer to chain of `actual
+ 	directory' include searchpath entries.
+ 	(struct file_name_list): Add *alloc pointer for the sake of
+ 	the actual-directory chain.
+ 
+ 	Move definition of HOST_WIDE_INT here.
+ 	(cpp_parse_escape): Change prototype to match changes in
+ 	cppexp.c.
+ 
+ 	* cppfiles.c (actual_directory): New function.
+ 	(finclude): Use it to initialize the buffer's actual_dir
+ 	entry.
+ 	(find_include_file): We don't need to fix up max_include_len
+ 	here.
+ 
+ 	* cpplib.c (do_include): Don't allocate a file_name_list on
+ 	the fly for current directory "" includes, use the one that's
+ 	been preallocated in pfile->buffer->actual_dir.  Hoist out
+ 	duplicate code from the search_start selection logic.
+ 	(cpp_reader_init): Initialize pfile->actual_dirs.
+ 
+ 	Remove definition of HOST_WIDE_INT.  Change calls
+ 	to cpp_parse_escape to match changes in cppexp.c (note
+ 	hardcoded MASK, which is safe since this is the source
+ 	character set).
+ 
+ 	* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
+ 	to handle wide character constants in #if directives.  The
+ 	function now returns a HOST_WIDE_INT, and takes a third
+ 	argument which is a binary mask for all legal values (0x00ff
+ 	for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
+ 	MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
+ 	cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
+ 
+ Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
+ 
+ Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
+ 	* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
+ 	* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
+ 
+ Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* final.c (output_asm_name): Use tabs to separate comments from
+ 	assembly text.
+ 
+ 	Include instruction lengths (if defined) in output.
+ 
+ Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
+ 	in the loop_info structure.
+ 
+ Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* configure.in (arm*-*-ecos-elf): New target.
+ 	* configure: Regenerated.
+ 	* config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
+ 	* config/arm/ecos-elf.h: New file.
+ 	* config/arm/unknown-elf.h (TARGET_VERSION): Check
+ 	for redefinition.
+ 
+ Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
+ 
+ Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (check_dbra_loop): New argument loop_info.  Update fields
+ 	as needed.
+ 
+ Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
+ 	compressed reports are ok and preferred over URLs.
+ 
+ Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* invoke.texi (Warning Options): Soften the tone of -pedantic.
+ 
+ Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* print-rtl.c (print_rtx): Add prototype.
+ 
+ 	* unroll.c (iteration_info): Make it static.
+ 
+ Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (memrefs_conflict_p): A second ANDed address
+ 	disables the aligned address optimization.
+ 
+ Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_set_const_1): Fix parenthesis error
+ 	in -c << n case.
+ 
+ Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* i960.h (BOOL_TYPE_SIZE): Define.
+ 
+ Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
+ 	from old valid_parallel_operands_4.
+ 	(valid_parallel_operands_4): Check that operands for 4 operand
+ 	parallel insns are valid, excluding load/store insns.
+ 	* config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
+ 	* config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
+ 	valid_parallel_load_store instead of valid_parallel_operands_4.
+ 	(*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
+ 	*negqf2_movqf_clobber, *absqi2_movqi_clobber,
+ 	*fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
+ 	*notqi_movqi_clobber): Use valid_parallel_operands_4.
+ 	(*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
+ 	*ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
+ 	*subqi3_movqi_clobber): Use valid_parallel_operands_5.
+ 
+ Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (iteration_info): Delete extern.
+ 
+ Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
+ 
+ 	* final.c (cleanup_subreg_operands): Delete some unused code.
+ 
+ 	* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
+ 	(struct insn_alternative): New structure definition.
+ 	(recog_op_alt): Declare variable.
+ 	(preprocess_constraints): Declare function.
+ 	* recog.c (recog_op_alt): New variable.
+ 	(extract_insn): Verify number of alternatives is in range.
+ 	(preprocess_constraints): New function.
+ 	* reg-stack.c: Include recog.h.
+ 	(constrain_asm_operands): Delete.
+ 	(get_asm_operand_lengths): Delete.
+ 	(get_asm_operand_n_inputs): New function.
+ 	(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
+ 	N_OUTPUTS args.  All callers changed.
+ 	Compute number of inputs and outputs here by calling
+ 	get_asm_operand_n_inputs.
+ 	Instead of constrain_asm_operands, call extract_insn,
+ 	constrain_operands and preprocess_constraints.  Use information
+ 	computed by these functions throughout.
+ 	(record_reg_life): Delete code that is unused due to changes in
+ 	record_asm_reg_life.
+ 	(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
+ 	N_INPUTS and N_OUTPUTS args.  All callers changed.
+ 	Similar changes as in record_asm_reg_life.
+ 	(subst_stack_regs): Move n_operands declaration into the if statement
+ 	where it's used.
+ 	Delete code that is unused due to changes in subst_asm_stack_regs.
+ 	* stmt.c (expand_asm_operands): Verify number of alternatives is in
+ 	range.
+ 	* Makefile.in (reg-stack.o): Depend on recog.h.
+ 
+ Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* except.c (set_exception_version_code): Argument is an "int".
+ 
+ Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
+ 	* configure: Rebuilt.
+ 
+ Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* configure.in (mipsel-*-linux*): New target.
+ 	* mips/linux.h: New file, based on other Linux targets.
+ 
+ Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
+ 	runs in the context of the deleter, not the deletee, so we must
+ 	use taskVarGet to find the correct memory to free.
+ 	(__gthread_key_create): Initialize the task
+ 	variable subsystem so that the task variable is still active when
+ 	the delete hook is run.
+ 
+ 1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.h: Use optimize_size for space optimizations.
+ 	* pdp11.c: Likewise.
+ 	* pdp11.md: Likewise.
+ 
+ 	* pdp11.h (TARGET_40_PLUS): Fix typo.
+ 
+ Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* local-alloc.c (block_alloc): Slightly retune heuristic to widen
+ 	qty lifetimes.
+ 
+ Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* alias.c (addr_side_effect_eval): New function.
+ 	(memrefs_conflict_p): Use it.
+ 	* rtl.h (addr_side_effect_eval): Prototype it.
+ 
+ 1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.md (extendsfdf2): Fix mode mismatch in SET.
+ 
+ Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (find_reloads): When force const to memory, put result
+ 	in substed_operand not *recog_operand_loc.
+ 
+ 1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* c-lex.c: Fix indentation from last patch.
+ 	Remove trailing whitespace.
+ 	* real.c: Likewise.
+ 
+ Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (delete_block): Call set_last_insn after we have reset
+ 	NEXT_INSN (kept_tail).
+ 
+ Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.md (trap_if): Use "$0" for the value zero.
+ 
+ Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
+ 			  Stephen L Moshier  <moshier@world.std.com>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-common.c (declare_function_name): Declare predefined variable
+ 	`__func__'.
+ 
+ 	* c-decl.c (flag_isoc9x): Set to 1 by default.
+ 	(c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
+ 	(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
+ 
+ 	* c-parse.in: Allow constructors in ISO C 9x.
+ 	Rewrite designator list handling.
+ 	Allow [*] parameters.
+ 	Don't warn about comma at end of enum definition for ISO C 9x.
+ 
+ 	* cccp.c (c9x): New variable.
+ 	(rest_extension): New variable.
+ 	(print_help): Document new -std= option.
+ 	(main): Recognize -std= option.  Set c9x appropriately.
+ 	(create_definition): Recognize ISO C 9x vararg macros.
+ 
+ 	* gcc.c (default_compilers): Adjust specs for -std options.
+ 	(option_map): Add --std.
+ 	(display_help): Document -std.
+ 
+ 	* toplev.c (documented_lang_options): Add -std and remove
+ 	-flang-isoc9x.
+ 
+ 	* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
+ 	or REAL_VALUE_HTOF based on base of the constants.
+ 	* fold-const.c (real_hex_to_f): New function.  Replacement function
+ 	for hex FP conversion if REAL_ARITHMETIC is not defined.
+ 	* real.c (asctoeg): Add handling of hex FP constants.
+ 	* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
+ 	real_hex_to_f.
+ 
+ Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
+ 	-mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
+ 	expansion.  Use hi/lo as destination register.
+ 	(div_trap): New.
+ 	(divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
+ 	umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
+ 	Avoid as macro expansion.  Use hi/lo as destination register.
+ 
+ 	* mips.h (MASK_CHECK_RANGE_DIV): New.
+ 	(MASK_NO_CHECK_ZERO_DIV): New.
+ 	(ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
+ 	(CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
+ 	return address for leaf functions out of r31 to support
+ 	builtin_return_address.
+ 
+ Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
+ 	NEXT_INSN(x) to check insn x.
+ 
+ Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (delete_block): Call set_last_insn if we end up deleting the
+ 	last insn in the rtl chain.
+ 
+ 	* reload1.c (reload): Do not set reload_completed or split insns
+ 	here.  Instead...
+ 	* toplev.c (rest_of_compilation): Set reload_completed after
+ 	reload returns.  Split insns after reload_cse has run.
+ 
+ Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* final.c (final_scan_insn): Abort if block_depth falls below 0.
+ 
+ Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
+ 
+ Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
+ 	use of user-label_prefix.
+ 
+ Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_reload_insns): Clear spill_reg_store
+ 	when doing a new non-inherited reload from the same pseudo.
+ 
+ 	* local-alloc.c (function_invariant_p): New function.
+ 	(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
+ 	to decide if an equivalence should be recorded.
+ 	* reload1.c (num_eliminable_invariants): New static variable.
+ 	(reload): Set it.  Use function_invariant_p instead of CONSTANT_P
+ 	to decide if an equivalence should be recorded.
+ 	Unshare PLUS.
+ 	(calculate_needs_all_insns): Skip insns that only set an equivalence.
+ 	Take num_eliminable_invariants into account when deciding
+ 	if register elimination should be done.
+ 	(reload_as_needed): Take num_eliminable_invariants into account
+ 	when deciding if register elimination should be done.
+ 	(eliminate_regs): Handle non-constant reg_equiv_constant.
+ 	* rtl.h (function_invariant_p): Declare.
+ 
+ Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (add_new_handler): Complain about additional handlers
+ 	after one that catches everything.
+ 
+ Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (alpha*-*-netbsd): Fix typo.
+ 	* configure: Rebuilt.
+ 
+ Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Include libiberty.h.
+ 
+ 	* c-aux-info.c: Remove prototypes for concat/concat3.  Change
+ 	function `concat' from fixed parameters to variable parameters,
+ 	as is done in libiberty.  All callers of concat/concat3
+ 	changed to use the new `concat' with variable args.
+ 
+ 	* cccp.c: Remove things made redundant by libiberty.h and/or
+ 	conform to libiberty standards.
+ 	* cexp.y: Likewise.
+ 	* collect2.c: Likewise.
+ 	* config/1750a/1750a.h: Likewise.
+ 	* cppalloc.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpphash.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* dyn-string.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* genattr.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* getpwd.c: Likewise.
+ 	* halfpic.c: Likewise.
+ 	* hash.c: Likewise.
+ 	* mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
+ 	in NEED_DECLARATION_* macros.
+ 
+ 	* mips-tfile.c: Remove things made redundant by libiberty.h and/or
+ 	conform to libiberty standards.
+ 	(fatal): Fix const-ification of variable `format' in
+ 	!ANSI_PROTOTYPES case.
+ 
+ 	* prefix.c: Remove things made redundant by libiberty.h and/or
+ 	conform to libiberty standards.
+ 
+ 	* print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
+ 	conflicting with function `spaces' from libiberty.
+ 
+ 	* profile.c: Remove things made redundant by libiberty.h and/or
+ 	conform to libiberty standards.
+ 	* protoize.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* scan.h: Likewise.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* toplev.h: Likewise.
+ 	* tree.h: Likewise.
+ 
+ Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
+ 
+ Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* README.C4X: Updated URLs.
+ 	* config/c4x/c4x.c (c4x_address_conflict): Fix typo.
+ 	(valid_parallel_operands_5): Remove unused variable.
+ 
+ Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
+ 
+ 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
+ 	which can be configured.
+ 	(LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
+ 	(Makefile): Pass actual LANGUAGES through the environment when
+ 	re-configuring.
+ 	(cstamp-h): Likewise.
+ 	(config.status): Likewise.
+ 
+ 	* configure.in (enable_languages): Add new configuration parameter
+ 	"--enable-languages=lang1,lang2,...".
+ 	(${srcdir}/*/config-lang.in): Change handling to configure only
+ 	those directories, that the user might have enabled; default to
+ 	"all" existing languages.
+ 	* configure: Regenerate.
+ 
+ Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (regs_set_between_p): New function.
+ 	* rtl.h (regs_set_between_p): Prototype it.
+ 	* jump.c (jump_optimize): Use it instead of modified_between_p
+ 	in the Sep 2 change.
+ 
+ Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
+ 			  Matthias Pfaller  <leo@dachau.marco.de>
+ 
+ 	* invoke.texi (Option Summary, NS32K Options): Add description
+ 	of NS32K specific options.
+ 
+ 	* ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
+ 	fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
+ 	fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
+ 	negdf2, absdf2): Use l instead of f since the double class and
+ 	float class are no longer the same.
+ 	(cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
+ 	divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
+ 	ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
+ 	Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
+ 	fixed.
+ 	(cmpsi, cmphi, cmpqi): Use general_operand instead of
+ 	non_immediate_operand. Removes erroneous assumption that can't
+ 	compare constants.
+ 	(movsf, movsi, movhi, movqi,...): New register numbering scheme.
+ 	(movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
+ 	constants.
+ 	(movstrsi, movstrsi1, movstrsi2): Completely new block move
+ 	scheme.
+ 	(...): Patterns to exploit multiply-add instructions.
+ 	(udivmodsi4, udivmodsi_internal4, udivmodhi4,
+ 	udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
+ 	patterns to exploit extended divide insns.
+ 	(udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
+ 	etc patterns.
+ 
+ 	* ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
+ 	float return values as well as simple scalar floats.
+ 	(TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
+ 	Support new flag to denote 32381 fpu.
+ 	(OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
+ 	(CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
+ 	compiling for 32381.
+ 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
+ 	REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
+ 	REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
+ 	L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
+ 	LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
+ 	REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
+ 	REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
+ 	REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
+ 	REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
+ 	fpu registers and special register classes for new 32381
+ 	instructions dotf and polyf.
+ 	(MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
+ 	be tieable.
+ 	(INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
+ 	INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
+ 	required.
+ 	(SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
+ 	(MOVE_RATIO): Set to zero because of smart movstrsi implementation.
+ 	(REGISTER_MOVE_COST): Move code to register_move_cost function for
+ 	ease of coding and debugging.
+ 	(CLASS_LIKELY_SPILLED_P): Under new register scheme class
+ 	LONG_FLOAT_REGO is likely spilled but not caught by default
+ 	definition.
+ 	(CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
+ 	instead of hard coded numbers in range check.
+ 	(ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
+ 	(...): Add prototypes for functions in ns32k.c but disable because
+ 	of problems when ns32k.h is included in machine independent files.
+ 
+ 	* ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
+ 	(ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
+ 	hard_regno_mode_ok, secondary_reload_class,
+ 	print_operand, print_operand_address): New register scheme to
+ 	include 32381 fpu registers and special register classes for new
+ 	32381 instructions dotf and polyf.
+ 	(gen_indexed_expr): Make static to keep namespace clean.
+ 	(check_reg): Remove since never called.
+ 	(move_tail, expand_block_move): Helper functions for "movstrsi"
+ 	block move insn.
+ 	(register_move_cost): Helper function for REGISTER_MOVE_COST macro.
+ 	Increase cost of moves which go via memory.
+ 	* netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
+ 	(CPP_PREDEFINES): No longer predefine "unix".
+ 
+ 	* ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
+ 	Remove erroneous %$. print_operand() can work out from the rtx is
+ 	an immediate prefix is required.
+ 
+ 	* ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
+ 	convention.
+ 	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
+ 	pic operands.
+ 
+ 	* ns32k.c (symbolic_reference_mentioned_p, print_operand):
+ 	Correct handling of pic operands.
+ 	(ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
+ 	ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
+ 	-mrtd calling convention.
+ 
+ Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (option_map): Recognize --output-class-directory.
+ 
+ Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.h (precondition_loop_p): Added new mode argument.
+ 	* unroll.c (precondition_loop_p): Likewise.
+ 	(approx_final_value): Function deleted and subsumed
+ 	into loop_iterations.
+ 	(loop_find_equiv_value): New function.
+ 	(loop_iterations): Use loop_find_equiv_value to find increments
+ 	too large to be immediate constants.  Also use it to find terms
+ 	common to initial and final iteration values that can be removed.
+ 
+ Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.h (struct loop_info): Define new structure.
+ 	(precondition_loop_p): Added prototype.
+ 	(unroll_loop): Added new argument loop_info to prototype.
+ 	(final_biv_value, final_giv_value): Added new argument n_iterations
+ 	to prototype.
+ 	* loop.c (strength_reduce): Declare new structure loop_iteration_info
+ 	and new pointer loop_info.
+ 	(loop_n_iterations): Replace global variable by element in
+ 	loop_info structure.
+ 	(check_final_value): New argument n_iterations.
+ 	(insert_bct): New argument loop_info.
+ 	(loop_unroll_factor): Replace global array by element in
+ 	loop_info structure.
+ 	(loop_optimize): Remove code to allocate and initialize
+ 	loop_unroll_factor_array.
+ 	* unroll.c (precondition_loop_p): No longer static since
+ 	used by branch on count optimization.
+ 	(precondition_loop_p, unroll_loop): New argument loop_info.
+ 	(final_biv_value, final_giv_value, find_splittable_regs): New
+ 	argument n_iterations.
+ 	(loop_iteration_var, loop_initial_value, loop_increment,
+ 	loop_final_value, loop_comparison_code, loop_unroll_factor):
+ 	Replaced global variables by loop_info structure.
+ 	(loop_unroll_factor): Replace global array by element in
+ 	loop_info structure.
+ 
+ Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
+ 	when loop reversed.
+ 
+ 	* unroll.c (precondition_loop_p): Return loop_initial_value
+ 	for initial_value instead of loop_iteration_var.
+ 
+ Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
+ 	(*b, *b_rev, *b_noov, *b_noov_rev, *db,
+ 	decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
+ 	to output the instruction sequences.
+ 	(rpts): Delete.
+ 	(rptb_top): Provide alternatives to use any register or memory
+ 	for loop counter.
+ 	(rptb_end): Emit use of operands rather than assigning them
+ 	explicitly to the RS and RE registers.
+ 
+ Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
+ 	c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
+ 	c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
+ 	c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
+ 	c4x_merge_notes, c4x_parallel_process,
+ 	c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
+ 	c4x_combine_parallel): Delete.
+ 
+ Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_override_options): For compatibility
+ 	with old target options clear flag_branch_on_count_reg if
+ 	-mno-rptb specified and set flag_argument_alias is -mno-aliases
+ 	specified.
+ 	(c4x_output_cbranch): Handle a sequence of insns rather than a
+ 	single insn.
+ 	(c4x_rptb_insert): Do not emit a RPTB insn if the RC register
+ 	has not been allocated as the loop counter.
+ 	(c4x_address_conflict): Do not allow two volatile memory references.
+ 	(valid_parallel_operands_4, valid_parallel_operands_5,
+ 	valid_parallel_operands_6): Reject pattern if the register destination
+ 	of the first set is used as part of an address in the second set.
+ 
+ Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
+ 	(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
+ 	is no longer enabled if PARALLEL_MPY_FLAG set.
+ 	(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
+ 	(REG_CLASS_CONTENTS): Add braces around initializers.
+ 	(HAVE_MULTIPLE_PACK): Define.
+ 	(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
+ 	REAL_VALUE_TO_DECIMAL.
+ 	(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
+ 	REAL_VALUE_TO_DECIMAL.
+ 	(ar0_reg_operand): Add prototype.
+ 	(ar0_mem_operand): Likewise.
+ 	(ar1_reg_operand): Likewise.
+ 	(ar1_mem_operand): Likewise.
+ 	(ar2_reg_operand): Likewise.
+ 	(ar2_mem_operand): Likewise.
+ 	(ar3_reg_operand): Likewise.
+ 	(ar3_mem_operand): Likewise.
+ 	(ar4_reg_operand): Likewise.
+ 	(ar4_mem_operand): Likewise.
+ 	(ar5_reg_operand): Likewise.
+ 	(ar5_mem_operand): Likewise.
+ 	(ar6_reg_operand): Likewise.
+ 	(ar6_mem_operand): Likewise.
+ 	(ar7_reg_operand): Likewise.
+ 	(ar7_mem_operand): Likewise.
+ 	(ir0_reg_operand): Likewise.
+ 	(ir0_mem_operand): Likewise.
+ 	(ir1_reg_operand): Likewise.
+ 	(ir1_mem_operand): Likewise.
+ 	(group1_reg_operand): Likewise.
+ 	(group1_mem_operand): Likewise.
+ 	(ir1_reg_operand): Likewise.
+ 	(arx_reg_operand): Likewise.
+ 	(not_rc_reg): Likewise.
+ 	(not_modify_reg): Likewise.
+ 	(c4x_group1_reg_operand): Remove prototype.
+ 	(c4x_group1_mem_operand): Likewise.
+ 	(c4x_arx_reg_operand): Likewise.
+ 
+ Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Remove earlier change.
+ 	* real.c (make_nan): Make SIGN arg actually specify the sign bit.
+ 
+ Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
+ 	during reload.
+ 
+ Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
+ 	unless FMOVD_WORKS is defined.
+ 
+ Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regclass.c (init_reg_sets): Move code that calculates tables
+ 	dependent on reg_class_contents from here...
+ 	(init_reg_sets_1): To here.
+ 
+ Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.h: Delete struct import_file.  Add ihash element to
+ 	struct cpp_buffer.  Delete dont_repeat_files and
+ 	import_hash_table elements from cpp_reader; change
+ 	all_include_files to a hash table.  Delete all foobar_include
+ 	/ last_foobar_include elements from struct cpp_options; put
+ 	back four such: quote_include, bracket_include,
+ 	system_include, after_include.  Redo struct file_name_list
+ 	completely.  Add new structure type include_hash.  Add
+ 	prototypes for merge_include_chains and include_hash.  Change
+ 	prototypes for finclude, find_include_file, and
+ 	append_include_chain to match changes below.
+ 
+ 	* cppfiles.c (simplify_pathname, include_hash,
+ 	remap_filename, merge_include_chains): New functions.
+ 	(add_import, lookup_import, open_include_file): Removed.
+ 	(INO_T_EQ): Define this (copied from cccp.c).
+ 	(hack_vms_include_specification): Remove all calls and #if 0
+ 	out the definition.  It was being called incorrectly and at
+ 	the wrong times.  Until a VMSie can look at this, it's better
+ 	to not pretend to support it.
+ 	(append_include_chain): Change calling convention; now takes
+ 	only one directory at a time, and sets up the data structure
+ 	itself.
+ 	(redundant_include_p): Rewritten - this is now used for all
+ 	include redundancy, whether by #ifndef, #import, or #pragma
+ 	once.  Looks up things in the include hash table.
+ 	(file_cleanup): Decrement pfile->system_include_depth here if
+ 	it's >0.
+ 	(find_include_file): Calling convention changed; now passes
+ 	around a struct include_hash instead of 3 separate parameters.
+ 	Guts ripped out and replaced with new include_hash mechanism.
+ 	(finclude): Calling convention changed as for
+ 	find_include_file.  Error exits pulled out-of-line.  Reformat.
+ 	(safe_read): Return a long, not an int.
+ 	(deps_output): Don't recurse.
+ 
+ 	* cpplib.c (is_system_include): Deleted.
+ 	(path_include): Fix up call to append_include_chain.
+ 	(do_include): Fix up calls to find_include_file and finclude.
+ 	Clean up dependency output a bit.  Shorten obnoxiously lengthy
+ 	#import warning message.  Don't decrement
+ 	pfile->system_include_depth here.
+ 	(do_pragma): Understand the include_hash structure.  Reformat.
+ 	(do_endif): Correct handling of control macros.  Understand
+ 	the include_hash.
+ 	(cpp_start_read): Fix up calls to finclude.  Call
+ 	merge_include_chains.
+ 	(cpp_handle_option): Fix up calls to append_include_chain.
+ 	Understand the four partial include chains.
+ 	(cpp_finish): Add debugging code (#if 0-ed out) for the
+ 	include_hash.
+ 	(cpp_cleanup): Free the include_hash, not the import hash and
+ 	the all_include and dont_repeat lists which no longer exist.
+ 
+ Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (no_new_pseudos): Define.
+ 	(rest_of_compilation): Set no_new_pseudos as needed.
+ 	* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
+ 	if no_new_pseudos is set.
+ 	* rtl.h (no_new_pseudos): Declare it.
+ 	* reload1.c (reload): Update comments.
+ 	* md.texi: Corresponding changes.
+ 
+ Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
+ 	(choose_reload_regs): Rename it here as well.  When computing it,
+ 	also merge in used hardregs.
+ 
+ 1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* gcc.c: Split out Objective-C specs to...
+ 	* objc/lang-specs.h: here. (New file.) Make the specs cpplib
+ 	aware.
+ 
+ 	* c-lex.c (init_parse): Always initialize the filename global.
+ 	* objc/objc-act.c (lang_init): Always call check_newline at
+ 	beginning of file.
+ 
+ Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* reload1.c (reload): Remove unused variable.
+ 	(reload_reg_free_for_value_p): Add missing parameter definition.
+ 
+ 	* jump.c (jump_optimize): Remove unused variable.
+ 
+ Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
+ 
+ 	* cse.c (fold_rtx): Make autoincrement addressing mode tests be
+ 	runtime selectable.
+ 	* expr.c (move_by_pieces): Similarly.
+ 	(move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
+ 	* flow.c (find_auto_inc): Similarly.
+ 	(try_pre_increment): Similarly.
+ 	* loop.c (strength_reduce): Similarly.
+ 	* regclass.c (auto_inc_dec_reg_p): Similarly.
+ 	* regmove.c (try_auto_increment): Similarly.
+ 	(fixup_match_1): Similarly.
+ 	* rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
+ 	(HAVE_PRE_DECREMENT): Similarly.
+ 	(HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
+ 	* Corresponding changes to all target header files.
+ 	* tm.texi: Update docs for autoinc addressing modes.
+ 
+ Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
+ 	* configure: Rebuild.
+ 	* config/elfos.h: New file.
+ 	* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
+ 	config/m68k/t-m68kelf: New file.
+ 
+ Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (HOST_AR): Define.
+ 	(HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
+ 	(libcpp.a): Use the host tools explicitly.
+ 	(STAGESTUFF): Add libcpp.a.
+ 
+ Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.md (movstrsi_internal): Describe changes made
+ 	to source and destination registers.
+ 
+ Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
+ 	The strategy we now use is to pre allocate the top_elt along
+ 	with the EH context so that each thread has its own top_elt.
+ 	This is necessary as the dynamic cleanup chain is used on the
+ 	top element of the stack and each thread MUST have its own.
+ 	(eh_context_static): Likewise.
+ 	(new_eh_context): Likewise.
+ 	(__sjthrow): Likewise.
+ 
+ Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
+ 	* i386.md (prologue_get_pc): Remove unused variable.
+ 
+ Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
+ 
+ 	* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
+ 
+ Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* Makefile.in (OBJS): Add graph.o.
+ 	(graph.o): New dependency list.
+ 	* flags.h: Declare dump_for_graph and define graph_dump_types type.
+ 	* print-rtl.c (dump_for_graph): Define new variable.
+ 	(print_rtx): Rewrite to allow use in graph dumping functions.
+ 	* toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
+ 	finish_graph_dump_file.
+ 	Define graph_dump_format.
+ 	(compile_file): If graph dumping is enabled also clear these files.
+ 	Finish graph dump files.
+ 	(rest_of_compilation): Also dump graph information if enabled.
+ 	(main): Recognize -dv to enabled VCG based graph dumping.
+ 	* graph.c: New file.  Graph dumping functions.
+ 
+ Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Look for <sys/stat.h>.
+ 	* system.h: Include it before substitute S_ISREG definitions.
+ 
+ Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
+ 	* config/mips/iris6.h: Same.
+ 	* config/mips/mips.md: Same.
+ 	* config/mips/mips.c: Same; also add "-mabi=o64" option.
+ 	* config/mips/mips.h: Same; also define ABI_O64.
+ 
+ Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	*  configure.in: Use AC_PREREQ(2.12.1).
+ 
+ Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
+ 
+ 	* cccp.c (S_ISREG, S_ISDIR): Delete defines.
+ 	* cpplib.c, gcc.c: Likewise.
+ 	* system.h (S_ISREG, S_ISDIR): Define if not already defined.
+ 
+ Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* local-alloc.c (local_alloc): Use malloc not alloca for
+ 	reg_qty, reg_offset, ref_next_in_qty.
+ 
+ Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* caller-save.c (insert_one_insn): Initialize the live_before and
+ 	live_after register sets.
+ 
+ 	Add SH4 support:
+ 
+ 	* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
+ 	(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
+ 	* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
+ 	(fp_reg_names, assembler_dialect): New variables.
+ 	(print_operand_address): Handle SUBREGs.
+ 	(print_operand): Added 'o' case.
+ 	Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
+ 	Name of FP registers depends on mode.
+ 	(expand_block_move): Emit different code for SH4 hardware.
+ 	(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
+ 	(from_compare): Likewise.
+ 	(add_constant): New argument last_value.  Changed all callers.
+ 	(find_barrier): Don't try HImode load for FPUL_REG.
+ 	(machine_dependent_reorg): Likewise.
+ 	(sfunc_uses_reg): A CLOBBER cannot be the address register use.
+ 	(gen_far_branch): Emit a barrier after the new jump.
+ 	(barrier_align): Don't trust instruction lengths before
+ 	fixing up pcloads.
+ 	(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
+ 	Use auto-inc addressing for fp registers if doubles need to
+ 	be loaded in two steps.
+ 	Set sh_flag_remove_dead_before_cse.
+ 	(push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
+ 	(pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
+ 	(calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
+ 	Support for FIRST_XD_REG .. LAST_XD_REG.
+ 	(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
+ 	(sh_expand_epilogue): Likewise.
+ 	(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
+ 	(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
+ 	(arith_reg_operand): FPUL_REG is OK for SH4.
+ 	(fp_arith_reg_operand, fp_extended_operand): New functions.
+ 	(tertiary_reload_operand, fpscr_operand): Likewise.
+ 	(commutative_float_operator, noncommutative_float_operator): Likewise.
+ 	(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
+ 	(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
+ 	(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
+ 	(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
+ 	* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
+ 	(CONDITIONAL_REGISTER_USAGE): Likewise.
+ 	(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
+ 	(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
+ 	(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
+ 	(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
+ 	(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
+ 	to -1 and sh_flag_remove_dead_before_cse to 1.
+ 	(ASSEMBLER_DIALECT): Define to assembler_dialect.
+ 	(assembler_dialect, fp_reg_names): Declare.
+ 	(OVERRIDE_OPTIONS): Add code for TARGET_SH4.
+ 	Hide names of registers that are not accessible.
+ 	(CACHE_LOG): Take TARGET_CACHE32 into account.
+ 	(LOOP_ALIGN): Take TARGET_HARWARD into account.
+ 	(FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
+ 	(FIRST_PSEUDO_REGISTER: Now 49.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
+ 	(HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
+ 	(HARD_REGNO_MODE_OK): Update.
+ 	(enum reg_class): Add DF_REGS and FPSCR_REGS.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
+ 	(CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
+ 	(NPARM_REGS): Eight floating point parameter registers on SH4.
+ 	(BASE_RETURN_VALUE_REG): SH4 also passes double values
+ 	in floating point registers.
+ 	(GET_SH_ARG_CLASS): Likewise.
+ 	Complex float types are also returned in float registers.
+ 	(BASE_ARG_REG): Complex float types are also passes in float registers.
+ 	(FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
+ 	(LIBCALL_VALUE): Remove trailing semicolon.
+ 	(ROUND_REG): Round when double precision value is passed in floating
+ 	point register(s).
+ 	(FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
+ 	passed on the stack.
+ 	(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
+ 	(FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
+ 	(TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
+ 	(INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
+ 	(MODE_DISP_OK_8): Not for SH4 DFmode.
+ 	(GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
+ 	Allow indexed addressing for PSImode after reload.
+ 	(LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
+ 	Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
+ 	(DOUBLE_TYPE_SIZE): 64 for SH4.
+ 	(RTX_COSTS): Add PLUS case.
+ 	Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
+ 	(REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
+ 	MAC_REGS, PR_REGS, DF_REGS.
+ 	(REGISTER_NAMES): Use fp_reg_names.
+ 	(enum processor_type): Add PROCESSOR_SH4.
+ 	(sh_flag_remove_dead_before_cse): Declare.
+ 	(rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
+ 	(PREDICATE_CODES): Add binary_float_operator,
+ 	commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
+ 	fpscr_operand, noncommutative_float_operator.
+ 	(ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
+ 	(SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
+ 	* sh.md (attribute cpu): Add value sh4.
+ 	(attrbutes fmovd, issues): Define.
+ 	(attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
+ 	(function units memory, int, mpy, fp): Make dependent on issue rate.
+ 	(function units issue, single_issue, load_si, load): Define.
+ 	(function units load_store, fdiv, gp_fpul): Define.
+ 	(attribute hit_stack): Provide proper default.
+ 	(use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
+ 	(udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
+ 	(udivsi3, divsi3): Emit special patterns for SH4 hardware,
+ 	(mulsi3_call): Now uses match_operand for function address.
+ 	(mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
+ 	REG_RETVAL notes.
+ 	(push, pop, push_e, pop_e): Now define_expands.
+ 	(push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
+ 	(movsi_ie): Added y/i alternative.
+ 	(ic_invalidate_line_i, movdf_i4): New insns.
+ 	(movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
+ 	(reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
+ 	(movdf): Add special code for SH4.
+ 	(movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
+ 	(call_valuei, calli, call_value): Likewise.
+ 	(movsf): Emit no-op move.
+ 	(mov_nop, movsi_y): New insns.
+ 	(blt, sge): Generalize to handle DFmode.
+ 	(return predicate): Call emit_fpscr_use and remove_dead_before_cse.
+ 	(block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
+ 	(block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
+ 	(fpu_switch0, fpu_switch1, movpsi): New expanders.
+ 	(fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
+ 	(toggle_sz): New insn.
+ 	(addsf3, subsf3, mulsf3, divsf3): Now define_expands.
+ 	(addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
+ 	(macsf3): Make use of fpscr visible.  Disable for SH4.
+ 	(floatsisf2): Make use of fpscr visible.
+ 	(floatsisf2_i4): New insn.
+ 	(floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
+ 	(ieee_ccmpeqsf_t): Likewise.
+ 	(fix_truncsfsi2): Emit different code for SH4.
+ 	(fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
+ 	(cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
+ 	(negsf2, sqrtsf2, abssf2): Now expanders.
+ 	(adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
+ 	(negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
+ 	(muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
+ 	(fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
+ 	(fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
+ 	(fix_truncdfsi2_i4_2+1): New splitters.
+ 	(negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
+ 	(extendsfdf2, truncdfsf2): New expanders.
+ 	(truncdfsf2_i4): New insn.
+ 	* t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
+ 	(MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
+ 	* float-sh.h: When testing for __SH3E__, also test for
+ 	__SH4_SINGLE_ONLY__ .
+ 	* va-sh.h (__va_freg): Define to float.
+ 	(__va_greg, __fa_freg, __gnuc_va_list, va_start):
+ 	Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
+ 	(__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
+ 	(__PASS_AS_FLOAT): Use different definition for __SH4__ and
+ 	 __SH4_SINGLE__.
+ 	(TARGET_SH4_P): Define.
+ 	(va_arg): Use it.
+ 
+ 	* sh.md (movdf_k, movsf_i): Tweak the condition so that
+ 	init_expr_once is satisfied about the existence of load / store insns.
+ 
+ 	* sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
+ 	Change m constraint in source operand to mr / mf.
+ 
+ 	* va-sh.h (__va_arg_sh1): Use __asm instead of asm.
+ 
+ 	* (__VA_REEF): Define.
+ 	(__va_arg_sh1): Use it.
+ 
+ 	* va-sh.h (va_start, va_arg, va_copy): Add parentheses.
+ 
+ Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/dgux.c (struct option): Add new "description field".
+ 	* m88k/m88k.c (struct option): Likewise.
+ 
+ Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Nov 22 13:40:02 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* regmove.c (regmove_profitable_p): Use return value of find_matches
+ 	properly.
+ 
+ Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
+ 	without reload having been called earlier.
+ 
+ 	* v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
+ 	addressing modes.
+ 	(v850_reorg): Similarly.
+ 
+ 	* loop.c (check_dbra_loop): Avoid using gen_add2_insn.
+ 
+ Sat Nov 21 02:18:38 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (move_movables): Start of libcall might be new loop start.
+ 
+ Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
+ 
+ Fri Nov 20 08:34:00 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* function.c (nonlocal_goto_handler_slots): Renamed from
+ 	nonlocal_goto_handler_slot; now an EXPR_LIST chain.
+ 	(push_function_context_to): Adjust for this change.
+ 	(pop_function_context_from): Likewise.
+ 	(init_function_start): Likewise.
+ 	(expand_function_end): Likewise.
+ 	* function.h (struct function): Likewise.
+ 	* calls.c (expand_call): Likewise.
+ 	* explow.c (allocate_dynamic_stack_space): Likewise.
+ 	* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
+ 	* stmt.c (declare_nonlocal_label): Make a new handler slot for each
+ 	label.
+ 	(expand_goto): When doing a nonlocal goto, find corresponding handler
+ 	slot for it.  Don't put the label address in the static chain register.
+ 	(expand_end_bindings): Break out nonlocal goto handling code into
+ 	three new functions.
+ 	(expand_nl_handler_label, expand_nl_goto_receiver,
+ 	expand_nl_goto_receivers): New static functions, broken out of
+ 	expand_end_bindings and adapted to create one handler per nonlocal
+ 	label.
+ 	* function.c (delete_handlers): Delete insn if it references any of
+ 	the nonlocal goto handler slots.
+ 	* i960.md (nonlocal_goto): Comment out code that modifies
+ 	static_chain_rtx.
+ 	* sparc.md (nonlocal_goto): Likewise.
+ 	(goto_handler_and_restore_v9): Comment out.
+ 	(goto_handler_and_restore_v9_sp64): Comment out.
+ 
+ Thu Nov 19 23:44:38 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* expr.c (STACK_BYTES): Delete unused macro.
+ 	* calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
+ 	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+ 	(expand_call): Likewise.
+ 	(emit_library_call): Likewise.
+ 	(emit_library_call_value): Likewise.
+ 	* function.c: Provide default for PREFERRED_STACK_BOUNDARY.
+ 	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+ 	* explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
+ 	(round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
+ 	(allocate_dynamic_stack_space): Likewise.
+ 	* tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
+ 	(STACK_BOUNDARY): Update description to reflect the new situation.
+ 
+ Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c (relax_delay_slots): When optimizing for code size, if a
+ 	return with a filled delay slot is followed by a return with an
+ 	unfilled delay slot, delete the first return and reemit the insn
+ 	that was previously in its delay slot.
+ 
+ 	* i860.c (single_insn_src_p): Add missing parens.
+ 	* ginclude/math-3300.h: Likewise.
+ 
+ Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* regclass.c (init_reg_sets_1): Add prototype.
+ 	(init_reg_modes): Likewise.
+ 
+ 1998-11-19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* c-common.c: Change warning messages to say `comparison is
+ 	always true' or `comparison is always false' instead of the
+ 	confusing `is always 0', `is always 1'.
+ 
+ Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
+ 	break instead of return (which loses closing '>').
+ 
+ Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
+ 	standard 387 constants.
+ 
+ 	* i386.md (jump): Explicitly set "memory" attribute.
+ 	(indirect_jump, prologue_set_stack_ptr): Likewise.
+ 	(prologue_get_pc_and_set_got, pop): Likewise.
+ 	(allocate_stack_worder, blockage, return_internal): Likewise.
+ 	(return_pop_internal, nop): Likewise.
+ 	(epilogue_set_stack_ptr, leave): Likewise.
+ 
+ Thu Nov 19 15:42:54 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
+ 
+ Thu Nov 19 23:20:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p):
+ 	Early auto_inc reloads don't conflict with outputs.
+ 
+ Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
+ 	Instead call AC_HEADER_SYS_WAIT.
+ 
+ 	* collect2.c: Don't provide defaults for sys/wait.h macros.
+ 	* gcc.c: Likewise.
+ 	* protoize.c: Likewise.  Also, don't include sys/wait.h.
+ 
+ 	* system.h: Include sys/wait.h and provide macro defaults.
+ 
+ 1998-11-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* Makefile.in (mandir): Set to @mandir@.
+ 	(man1dir): New variable to hold the former value of $(mandir).
+ 	Replace all uses of $(mandir) by $(man1dir).
+ 
+ Wed Nov 18 16:31:28 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (find_reloads_address_part): If have a CONST_INT, create
+ 	a new one before passing it to force_const_mem.
+ 
+ 	* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
+ 	find_reloads_address call.
+ 
+ Wed Nov 18 22:13:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (store_expr): Don't generate load-store pair
+ 	if TEMP is identical (according to ==) with TARGET.
+ 
+ Tue Nov 17 22:25:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): When considered reload
+ 	has an output, matching inputs are not sufficient to avoid conflict.
+ 
+ Tue Nov 17 11:51:16 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* hash.h (hash_table_key): New type.
+ 	(hash_entry): Change `string' field to generic `key'.
+ 	(hash_table): Add `comp' and `hash' functions.
+ 	(hash_table_init): Take them as input.
+ 	(hash_table_init_n): Likewise.
+ 	(hash_lookup): Modify for generic keys.
+ 	(hash_newfunc): Likewise.
+ 	(hash_traverse): Likewise.
+ 	(string_hash): New function.
+ 	(string_compare): Likewise.
+ 	(string_copy): Likewise.
+ 	* hash.c (hash_table_init_n): Modify for generic keys.
+ 	(hash_table_init): Likewise.
+ 	(hash_lookup): Likewise.
+ 	(hash_newfunc): Likewise.
+ 	(hash_traverse): Likewise.
+ 	(string_hash): Split out from hash_lookup.
+ 	(string_compare): New function.
+ 	(string_copy): Split out from hash_lookup.
+ 	* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
+ 	tables.
+ 	(symbol_hash_lookup): Likewise.
+ 	(file_hash_newfunc): Likewise.
+ 	(file_hash_lookup): Likewise.
+ 	(demangled_hash_newfunc): Likewise.
+ 	(demangled_hash_lookup): Likewise.
+ 	(tlink_int): Likewise.
+ 	(read_repo_file): Likewise.
+ 	(recompile_files): Likewise.
+ 	(demangle_new_symbols): Likewise.
+ 	(scan_linker_output): Likewise.
+ 
+ Tue Nov 17 17:13:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
+ 
+ Mon Nov 16 17:56:07 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (output_mi_thunk): Improve test for local branch.
+ 
+ Mon Nov 16 17:56:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.c (output_mi_thunk): Correct test for aggregate values.
+ 
+ Mon Nov 16 21:02:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_before_p): Delete.
+ 	Changed all callers to use reload_reg_free_for_value_p instead.
+ 	(reload_reg_free_for_value_p): Handle more reload types.
+ 	A RELOAD_FOR_INPUT doesn't conflict with its
+ 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
+ 	Add special case for OUT == const0_rtx.
+ 	Added ignore_address_reloads argument.  Changed all callers.
+ 
+ Mon Nov 16 02:22:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (compile_file): Don't pedwarn about undefined static
+ 	functions just because we passed -Wunused.
+ 
+ Mon Nov 16 04:41:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* function.c (purge_addressof_1): Unshare rtl created by
+ 	store_bit_field.
+ 
+ Mon Nov 16 04:23:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (regmove_optimize): Don't do anything but
+ 	optimize_reg_copy[123] when flag_regmove is not set.
+ 
+ Sat Nov 14 15:05:07 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
+ 	value in paradoxical SImode result, rather than truncating midpoint.
+ 
+ Fri Nov 13 22:19:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (reg_not_elim_operand): New.
+ 	* alpha.h (PREDICATE_CODES): Add it.
+ 	* alpha.md (s48addq, s48subq patterns): Use it as the predicate
+ 	for the multiplicand.
+ 
+ Fri Nov 13 22:50:37 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movsf): Remove explicit secondary-reload-like
+ 	functionality.  Only truncate SFmode store if in FPR.
+ 	(movsf splitters): Combine const_double splitters.
+ 	(movsf_hardfloat): Add GPR support.
+ 
+ Fri Nov 13 11:02:11 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
+ 	deprecate -mlive-g0 and -mbroken-saverestore.
+ 	* t-splet (MULTILIB_OPTIONS): Likewise.
+ 
+ 	* sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
+ 	in a leaf function.  Clarify total_size/extra_size relationship.
+ 
+ Thu Nov 12 19:20:57 1998  Geoffrey Noer  <noer@cygnus.com>
+ 
+ 	* i386/cygwin32.asm: Delete.
+ 	* i386/cygwin.asm: New file, renamed from cygwin32.asm.
+ 	* i386/cygwin32.h: Delete.
+ 	* i386/cygwin.h: New file, renamed from cygwin32.h.
+ 	* i386/t-cygwin32: Delete.
+ 	* i386/t-cygwin: New file, renamed from t-cygwin32.  Include
+ 	cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
+ 	* i386/x-cygwin32: Delete.
+ 	* i386/x-cygwin: New file, renamed from x-cygwin32.
+ 	* i386/xm-cygwin32: Delete.
+ 	* i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
+ 	renamed cygwin_ funcs for path translations.
+ 	* i386/win32.h: Define __CYGWIN__ when -mcygwin given.
+ 	* i386/winnt.c: Remove "32" from comment about cygwin.
+ 	* i386/mingw32.h: Fix references to cygwin32.h in light of above.
+ 	* rs6000/cygwin32.h: Delete.
+ 	* rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
+ 	-D__CYGWIN__ to CPP_PREDEFINES.
+ 	* rs6000/x-cygwin32: Delete.
+ 	* rs6000/x-cygwin: New file, renamed from x-cygwin32.
+ 	* rs6000/xm-cygwin32: Delete.
+ 	* rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
+ 
+ 	* configure.in: Check for cygwin* instead of cygwin32.  Account
+ 	for the rename of cygwin-related config files to lose the "32"s.
+ 	* configure: Regenerate.
+ 
+ 	* cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
+ 	toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
+ 
+ Wed Nov 11 12:25:19 1998  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* Makefile.in (JAVAGC): New macro.
+ 	* configure: Rebuilt.
+ 	* configure.in: Recognize --enable-java-gc argument.  Subst
+ 	`JAVAGC' variable.
+ 
+ Thu Nov 12 03:32:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	Handle equivalences that have been obscured by gcse:
+ 
+ 	* reload1.c (reload): Handle equivalences set up in multiple places.
+ 	* local-alloc.c (reg_equiv_init_insns): New variable.
+ 	(no_equiv): New function.
+ 	(update_equiv_regs): Handle equivalences set up in multiple places.
+ 	Don't ignore an insn just because its destination is likely to be
+ 	spilled.
+ 
+ Wed Nov 11 13:46:13 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* except.c (expand_eh_return): Readd force_operand call lost in
+ 	Sept 15 change.
+ 
+ Tue Nov 10 17:04:11 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
+ 
+ 1998-11-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
+ 
+ Mon Nov  9 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* regmove.c (regmove_optimize): Fix error in last change.
+ 
+ Mon Nov  9 16:37:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* mips.c (function_prologue): When TARGET_MIPS16, adjust the register
+ 	offset in the .mask pseudo to compensate for frame pointer adjustments.
+ 	(mips16_fp_args, build_mips16_call_stub): For little endian, do not
+ 	word swap arguments moved to/from FP registers.
+ 	* mips16.S (DFREVCMP): Reverse arguments to OPCODE.
+ 
+ Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
+ 	times, then it can not be completely replaced.
+ 
+ Mon Nov  9 00:39:02 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
+ 
+ Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h: Prepend a "G" to the macro wrapping this file
+ 	(to distinguish it from the macro wrapping ansidecl.h.)
+ 	Include libiberty's ansidecl.h.  Remove all redundant definitions.
+ 	Define the PROTO() style macros in terms of the PARAMS() ones.
+ 
+ 
+ 	* calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
+ 	__STDC__, when deciding whether to use ANSI variable args.
+ 	(emit_library_call_value): Likewise.
+ 
+ 	* cccp.c (error): Likewise.
+ 	(warning): Likewise.
+ 	(error_with_line): Likewise.
+ 	(warning_with_line): Likewise.
+ 	(pedwarn): Likewise.
+ 	(pedwarn_with_line): Likewise.
+ 	(pedwarn_with_file_and_line): Likewise.
+ 	(fatal): Likewise.
+ 
+ 	* cexp.y (error): Likewise.
+ 	(pedwarn): Likewise.
+ 	(warning): Likewise.
+ 
+ 	* collect2.c (fatal_perror): Likewise.
+ 	(fatal): Likewise.
+ 	(error): Likewise.
+ 
+ 	* combine.c (gen_rtx_combine): Likewise.
+ 
+ 	* cpperror.c (cpp_message): Likewise.
+ 	(cpp_fatal): Likewise.
+ 
+ 	* cpplib.c (cpp_error): Likewise.
+ 	(cpp_warning): Likewise.
+ 	(cpp_pedwarn): Likewise.
+ 	(cpp_error_with_line): Likewise.
+ 	(cpp_warning_with_line): Likewise.
+ 	(cpp_pedwarn_with_line): Likewise.
+ 	(cpp_pedwarn_with_file_and_line): Likewise.
+ 
+ 	* cpplib.h: Don't define PARAMS() macro.
+ 
+ 	* demangle.h: Likewise.
+ 
+ 	* doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
+ 	when deciding whether to use ANSI variable args.
+ 
+ 	* emit-rtl.c (gen_rtx): Likewise.
+ 	(gen_rtvec): Likewise.
+ 
+ 	* final.c (asm_fprintf): Likewise.
+ 
+ 	* fix-header.c (cpp_message): Likewise.
+ 	(fatal): Likewise.
+ 	(cpp_fatal): Likewise.
+ 
+ 	* gcc.c (concat): Likewise.
+ 	(fatal): Likewise.
+ 	(error): Likewise.
+ 
+ 	* genattr.c (fatal): Likewise.
+ 
+ 	* genattrtab.c (attr_rtx): Likewise.
+ 	(attr_printf): Likewise.
+ 	(fatal): Likewise.
+ 
+ 	* gencodes.c (fatal): Likewise.
+ 
+ 	* genconfig.c (fatal): Likewise.
+ 
+ 	* genemit.c (fatal): Likewise.
+ 
+ 	* genextract.c (fatal): Likewise.
+ 
+ 	* genflags.c (fatal): Likewise.
+ 
+ 	* genopinit.c (fatal): Likewise.
+ 
+ 	* genoutput.c (fatal): Likewise.
+ 	(error): Likewise.
+ 
+ 	* genpeep.c (fatal): Likewise.
+ 
+ 	* genrecog.c (fatal): Likewise.
+ 
+ 	* halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
+ 	deciding whether to declare `tree_node' and `rtx_def'.
+ 
+ 	* hash.h: Don't define stuff we get from gansidecl.h.
+ 
+ 	* mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
+ 	(fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
+ 	whether to use ANSI variable args.
+ 	(error): Likewise.
+ 
+ 	* prefix.c (concat): Likewise.
+ 
+ 	* scan.h: Likewise.
+ 
+ 	* system.h: Likewise.
+ 
+ 	* toplev.c (error_with_file_and_line): Likewise.
+ 	(error_with_decl): Likewise.
+ 	(error_for_asm): Likewise.
+ 	(error): Likewise.
+ 	(fatal): Likewise.
+ 	(warning_with_file_and_line): Likewise.
+ 	(warning_with_decl): Likewise.
+ 	(warning_for_asm): Likewise.
+ 	(warning): Likewise.
+ 	(pedwarn): Likewise.
+ 	(pedwarn_with_decl): Likewise.
+ 	(pedwarn_with_file_and_line): Likewise.
+ 	(sorry): Likewise.
+ 	(really_sorry): Likewise.
+ 
+ 	* toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
+ 	whether to declare `tree_node' and `rtx_def'.
+ 
+ 	* tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
+ 	deciding whether to use ANSI variable args.
+ 	(build_nt): Likewise.
+ 	(build_parse_node): Likewise.
+ 
+ Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
+ 
+ Sat Nov  7 22:26:19 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (main, case 'b'): Use else if.
+ 
+ Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
+ 	Arrange to include gansidecl.h in {ht}config.h & tm.h just
+ 	before the config/ directory headers.
+ 	(tm_file_list, host_xm_file_list, build_xm_file_list): Handle
+ 	gansidecl.h in the list of dependencies.
+ 
+ 	* Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
+ 	(TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
+ 	mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
+ 	gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
+ 	dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
+ 	cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
+ 	Likewise.
+ 
+ 	* cccp.c: Don't include gansidecl.h.
+ 	* cexp.y: Likewise.
+ 	* collect2.c: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* cppalloc.c: Likewise.
+ 	* cpperror.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpphash.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cppmain.c: Likewise.
+ 	* cppulp.c: Likewise.
+ 	* demangle.h: Likewise.
+ 	* doprint.c: Likewise.
+ 	* dyn-string.c: Likewise.
+ 	* eh-common.h: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* frame.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gen-protos.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* halfpic.h: Likewise.
+ 	* hash.c: Likewise.
+ 	* machmode.h: Likewise.
+ 	* mbchar.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* recog.h: Likewise.
+ 	* rtl.h: Likewise.
+ 	* scan-decls.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* varray.h: Likewise.
+ 
+ Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (call_value_pop): If we're not popping anything,
+ 	defer to call_value.
+ 	(call_pop): Likewise defer to call.
+ 
+ Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (purge_addressof): Clear purge_addressof_replacements
+ 	only after processing the whole function.
+ 
+ Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload): If we can not perform a particular elimination
+ 	when we thought we could earlier, then we must always iterate through
+ 	the loop at least one more time.
+ 
+ Fri Nov  6 19:37:33 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (add_operand): Simplify the CONST_INT match.
+ 	(sext_add_operand): Correct typo in comparison by using
+ 	CONST_OK_FOR_LETTER_P.
+ 	* alpha.md (s?addq): Use sext_add_operand to allow the negative
+ 	constant alternatives to be generated.
+ 	(mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
+ 	small constants, since the hw instructions do.
+ 
+ Fri Nov  6 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
+ 	previous insn to store directly into our reload register, make sure
+ 	that if the source of the previous insn is a reload register, its
+ 	spill_reg_store and spill_reg_stored_to values are cleared.
+ 
+ Fri Nov  6 16:35:10 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (floatunssidf2_internal splitter): Use base register
+ 	operand, not hard-coded SP.
+ 
+ Fri Nov  6 04:07:53 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* jump.c (calculate_can_reach_end): Fix thinko.
+ 
+ Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c (fill_simple_delay_slots): Fix typo.
+ 
+ 	* romp.h (LEGITIMIZE_ADDRESS): Fix typo.
+ 
+ Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
+ 
+ 	* i386.md (extendsidi2): Use # in the output template.
+ 	(extendsidi splitters): New splitters.
+ 
+ Thu Nov  5 11:13:27 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Use unknown-elf.h as tm_file for arm-elf
+ 	configurations.
+ 	* configure: Regenerate.
+ 
+ Thu Nov  5 07:59:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* jump.c (init_label_info, delete_barrier_successors,
+ 	mark_all_labels, delete_unreferenced_labels,
+ 	delete_noop_moves, calculate_can_reach_end): New functions broken
+ 	out of jump_optimize.
+ 	(jump_optimize): Use them.
+ 
+ Thu Nov  5 07:57:45 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.c (expand_fixup_region_end): Make sure outer context labels
+ 	are not issued in an inner context during cleanups.
+ 
+ Thu Nov  5 04:03:06 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (addsi3, subsi3): No new temporaries once cse is
+ 	no longer expected.
+ 
+ Thu Nov  5 03:29:19 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
+ 	to expose this midpoint to CSE.
+ 
+ Thu Nov  5 03:42:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
+ 
+ Thu Nov  5 10:53:01 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* configure.in: Bring over gcc2 change of Nov 19 1997.
+ 
+ Wed Nov  4 23:43:08 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* toplev.c (output_lang_identify): Make definition dependent on
+ 	ASM_IDENTIFY_LANGUAGE.
+ 
+ 	* print-rtl.c (spaces): Make static.
+ 
+ Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* extend.texi: Clarify proper uses for register clobbers in asms.
+ 
+ Wed Nov  4 22:16:36 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* recog.h (enum op_type): Define.
+ 	(constrain_operands): Adjust prototype.
+ 	(recog_op_type): Declare new variable.
+ 	* recog.c (recog_op_type): New variable.
+ 	(insn_invalid_p): Allow modifying an asm statement after reload.
+ 	(extract_insn): Set up recog_op_type.
+ 	(constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
+ 	Don't compute operand types, use recog_op_type.
+ 	Use the information computed by extract_insn instead of the previous
+ 	method of finding it by insn code number.
+ 	* caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
+ 	* reorg.c (fill_slots_from_thread): Likewise.
+ 	* reload1.c (reload_as_needed): Likewise.
+ 	(gen_reload): Likewise.
+ 	(inc_for_reload): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	Use the information computed by extract_insn instead of the previous
+ 	method of finding it by insn code number.
+ 	* genattrtab.c (write_attr_case): Generate call to extract_insn, not
+ 	insn_extract.
+ 	* final.c (final_scan_insn): Use extract_insn, not insn_extract.
+ 	(cleanup_operand_subregs): Use extract_insn, not insn_extract.
+ 	Use the information computed by extract_insn instead of the previous
+ 	method of finding it by insn code number.
+ 	* regmove.c (find_matches): Likewise.  Change meaning of the return
+ 	value to be nonzero if the optimization can be performed, zero if
+ 	not.  All callers changed.
+ 	Shorten some variable names to fix formatting problems.
+ 	(regmove_optimize): Shorten some variable names to fix formatting
+ 	problems.
+ 	Use the information computed by extract_insn instead of the previous
+ 	method of finding it by insn code number.
+ 	* regclass.c (scan_one_insn): Likewise.
+ 	(record_reg_classes): Don't compute operand types, use recog_op_type.
+ 	* reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
+ 	recog_constraints instead.
+ 
+ Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.h (flow2_completed): Declare.
+ 	* flow.c (flow2_completed): Definition.
+ 	* toplev.c (rest_of_compilation): Set and clear flow2_completed
+ 	as necessary.
+ 
+ Wed Nov  4 19:15:37 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
+ 
+ 	* Makefile.in (libcpp.a): Ranlib libcpp.a.
+ 
+ 	* cppulp.c (user_label_prefix): Initialize.
+ 
+ Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
+ 
+ 	* flow.c (mark_regs_live_at_end): Mark the stack pointer as live
+ 	at a RETURN if current_function_sp_is_unchanging is set.
+ 
+ Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* emit-rtl.c (try_split): Fixed error in Oct 10 patch.
+ 
+ Wed Nov  4 15:11:15 1998  Geoffrey Noer  <noer@cygnus.com>
+ 
+ 	* i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
+ 	TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
+ 	(SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
+ 	(CPP_PREDEFINES): Don't define __CYGWIN32__ here.
+ 	(STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
+ 	(CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
+ 	to __CYGWIN32__.
+ 	(LIB_SPEC): Handle -mno-cygwin option.
+ 	(LINK_SPEC): Handle -mdll.
+ 
+ Wed Nov  4 22:56:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): Fix test for usage by other reload
+ 	to handle secondary reloads properly.
+ 
+ Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
+ 	intermediate structure which has exactly the members provided by
+ 	ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
+ 	static intermediate structure.
+ 
+ 	(init_elim_table): Xmalloc() `reg_eliminate', and initialize it
+ 	from the intermediate structure.  Do the same analogous fix in
+ 	the case where ELIMINABLE_REGS is not defined.
+ 
+ Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (SELECT_SECTION): Fix thinko.
+ 
+ Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Comments on last change.
+ 
+ Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (add_constant): When taking the address of an item in the
+ 	pool, get the mode of the item addressed.
+ 
+ 	* arm.c (final_prescan_insn case INSN): If an insn doesn't
+ 	contain a SET or a PARALLEL, don't consider it for conditional
+ 	execution.
+ 
+ 	Restore ABI compatibility for NetBSD.
+ 	* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
+ 	arm.h.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 
+ Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
+ 	(m32r_output_block_move): Rewrite bytes < 4 handling.
+ 
+ Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Call AC_FUNC_VFORK.
+ 
+ 	* collect2.c: Define VFORK_STRING as a printable string for
+ 	error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
+ 	defined, include vfork.h.  If VMS is defined, define vfork()
+ 	appropriately.  Remove vfork check on USG, we're using autoconf.
+ 	(collect_execute): Pass VFORK_STRING to fatal_perror instead of
+ 	checking locally what string to pass.
+ 	(scan_prog_file): Likewise.
+ 	(scan_libraries): Likewise.
+ 
+ 	* gcc.c: Remove vfork check on USG, we're using autoconf.
+ 	Besides, no calls to vfork/fork occur in this file.
+ 
+ 	* protoize.c: Likewise.
+ 
+ Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* configure.in (DEFAULT_LINKER): Renamed from LD.
+ 	(DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
+ 	(gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
+ 	* configure: Rebuilt.
+ 
+ Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* BUGS: Fix the regexp for `more' to find the appropriate node.
+ 	Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
+ 
+ 	* BUGS: Added link to the WWW FAQ.
+ 
+ Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* From Christian Gafton:
+ 	* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
+ 	* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
+ 	* sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
+ 
+ Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* c-common.c (c_get_alias_set): Allow all type-punning through
+ 	unions.  Don't get confused about the type of a bit-field, despite
+ 	the antics of build_modify_expr.
+ 
+ Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  <jpr@jpr.com>
+ 
+ 	* fixinc.sco: Parameterize #include_next values.
+ 	* fixinc/fixinc.sco: Likewise.
+ 
+ Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (rest_of_compilation): No longer set reload_completed.
+ 	* reload1.c (reload): Set it here.  Perform instruction splitting
+ 	after reload has completed if we will be running the scheduler
+ 	again.
+ 
+ Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (jump_optimize): Initialize mappings from INSN_UID to
+ 	EH region if exceptions are enabled and we're performing cross
+ 	jump optimizations.
+ 	(find_cross_jump): Exit loop if the insns are in different EH regions.
+ 
+ Sat Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Use
+ 	ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
+ 
+ Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
+ 	* c-common.c (check_format_info): Don't check for the 'x'
+ 	format character twice, instead check for 'x' and 'X'
+ 
+ Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (assembler features): Also make gas is configured if
+ 	we find it in the source tree.
+ 
+ Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (i386_comp_type_attributes): Compare whether the
+ 	attributes are defined, not their tree nodes.
+ 
+ Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* configure.in (gxx_include_dir): Bitten by autoconf quoting
+ 	characters.  :-(
+ 	* configure: Rebuilt.
+ 
+ Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* configure.in: Ignore non-absolute value in $AS.
+ 
+ Fri Oct 30 00:54:25 1998  Peter Jakubek  <pjak@snafu.de>
+ 
+ 	* m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
+ 
+ Fri Oct 30 00:42:34 1998  Mark Elbrecht  <snowball3@usa.net>
+ 
+ 	* configure.in (msdosdjgpp): Set exeext and target_alias.
+ 
+ Thu Oct 29 23:55:43 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* flow.c (XNMALLOC): New macro.
+ 	(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
+ 	static variables.
+ 	(add_edge, add_edge_to_label): New static functions.
+ 	(free_bb_memory): New function.
+ 	(flow_delete_insn): Delete function.
+ 	(basic_block_drops_in): Delete variable.
+ 	(find_basic_blocks): Allocate and initialize basic_block_head,
+ 	basic_block_succ.  Don't allocate basic_block_drops_in.
+ 	Call free_bb_memory at the beginning.
+ 	(find_basic_blocks_1): Don't do multiple passes.
+ 	Delete code to compute basic_block_drops_in.
+ 	After calling make_edges, mark blocks reached by current block live.
+ 	Update test for unreachable live blocks.
+ 	(mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
+ 	changed.
+ 	Simplify to call add_edge_to_label when a LABEL_REF is found.
+ 	(make_edges): Simplify to call add_edge_to_label instead of
+ 	mark_label_ref most of the time.
+ 	Compute here whether control drops into the next block.
+ 	(delete_unreachable_blocks): Return void.  All callers changed.
+ 	Delete unreachable blocks in reverse order.
+ 	After deleting all unreachable blocks, renumber the remaining ones
+ 	and update n_basic_blocks.
+ 	(delete_block): Speed up deletion a bit.
+ 	Don't set basic_block_drops_in for deleted blocks.
+ 	(free_basic_block_vars): Don't free basic_block_drops_in.
+ 	(life_analysis_1): Update to use new edge representation.
+ 	(dump_flow_info): Delete code to print basic block info; call
+ 	dump_bb_data instead.
+ 	(compute_preds_succs): Delete code to recompute basic_block_drops_in
+ 	and uid_block_number.
+ 	Simply copy the previously computed cfg.
+ 	(dump_bb_data): New arg LIVE_INFO.  All callers changed.
+ 	Print register lifetime information if LIVE_INFO is nonzero.
+ 	* basic-block.h (dump_bb_data): Adjust prototype.
+ 	* gcse.c (gcse_main): Update call to dump_bb_data.
+ 	* rtl.h (free_bb_memory): Declare.
+ 	* toplev.c (rest_of_compilation): Call free_bb_memory.
+ 
+ 	* reload1.c (struct elim_table): Delete MAX_OFFSET member.
+ 	(update_eliminable_offsets): Don't compute it.
+ 	(set_initial_elim_offsets): Don't initialize it.
+ 	Break out some code into set_initial_label_offsets so the rest of
+ 	this function can be called from reload_as_needed.
+ 	Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
+ 	ELIMINABLE_REGS isn't.
+ 	(set_initial_label_offsets): New function, broken out of
+ 	set_initial_elim_offsets.
+ 	(set_offsets_for_label): New function, broken out of set_label_offsets
+ 	and reload_as_needed.
+ 	(reload): Call the two new functions.
+ 	(reload_as_needed): Call set_initial_elim_offsets instead of
+ 	duplicating the code.  Likewise for set_offsets_for_label.
+ 
+ 	* reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
+ 	(emit_reload_insns): Ensure that when we set reg_reloaded_valid for
+ 	any hard reg, reg_reloaded_dead contains valid data.
+ 
+ Thu Oct 29 22:30:54 1998  Marcus Meissner  <Marcus.Meissner@informatik.uni-erlangen.de>
+ 
+ 	* i386.c (i386_comp_type_attributes): Return nonzero for mismatched
+ 	"stdcall" and "cdecl" attributes.
+ 
+ Thu Oct 29 19:05:17 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sched.c (update_flow_info): Add code to ! found_orig_dest case to
+ 	handle deleted no-op moves of hard registers.
+ 	* haifa-sched.c (update_flow_info): Likewise.
+ 
+ Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
+ 	of the sequences to reload the HILO register which do not actually
+ 	reference HILO.
+ 
+ Thu Oct 29 12:39:35 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
+ 
+ Thu Oct 29 14:10:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.c (emit_eh_context): Make the EH context register stay alive
+ 	at -O0 so stupid.c doesn't get confused.
+ 
+ 1998-10-29  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* emit-rtl.c (try_split): Do not try to split a BARRIER.
+ 
+ Thu Oct 29 01:33:54 1998  Jan Hubicka  <hubicka@freesoft.cz>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
+ 	(zero_extendsidi2): Use # in output template and handle completely by
+ 	splits.
+ 	(zero_extend splitters): New define_splits.
+ 	(ashiftrt_32): New pattern.
+ 
+ Wed Oct 28 22:58:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (append_random_chars): New fn.
+ 	(get_file_function_name_long): Use it.
+ 
+ Wed Oct 28 22:27:05 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
+ 	(LIBCPP_OBJS): New.  Add cppulp.o.
+ 	(cppmain, fix-header): Depend on and use libcpp.a.
+ 	* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
+ 	of the individual object files.
+ 	* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
+ 	last.
+ 
+ 	* cccp.c (user_label_prefix): New.
+ 	(main): Set it off -f*leading-underscore.
+ 	(special_symbol): Use it.
+ 	* cpplib.c (special_symbol): Likewise.
+ 	(cpp_handle_option): Handle -f*leading-underscore.
+ 	* cppulp.c: New file.
+ 
+ 	* output.h (user_label_prefix): Declare it.
+ 	* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
+ 	* toplev.c (f_options, main): Handle -f*leading-underscore.
+ 
+ 	* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
+ 	referencing USER_LABEL_PREFIX directly.
+ 	* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
+ 	* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
+ 	* final.c (asm_fprintf): Use user_label_prefix instead.
+ 	* arm/thumb.c (thumb_print_operand): Likewise.
+ 
+ 	* gcc.c (default_compilers): Pass -f*leading-underscore on to
+ 	cpp wherever appropriate.
+ 
+ Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
+ 	specific compiler switches.
+ 
+ Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
+ 	of rtl.h.
+ 
+ Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
+ 	structure which has exactly the members provided by EXTRA_SPECS.
+ 	Xmalloc() the real `extra_specs', and initialize it from this
+ 	intermediate structure.
+ 
+ 	* alpha.h (EXTRA_SPECS): Revert change for missing initializers.
+ 
+ 	* mips.h  (EXTRA_SPECS): Likewise.
+ 
+ 	* sparc.h (EXTRA_SPECS): Likewise.
+ 
+ Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* function.c (purge_addressof_1): Instead of aborting when a
+ 	bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
+ 	work just put the ADDRESSOF on stack.  Otherwise remember all such
+ 	successful replacements, so that exactly the same replacements
+ 	can be made on the REG_NOTEs.  Remove the special case for CALL
+ 	insns again.
+ 	(purge_addressof_replacements): New variable.
+ 	(purge_addressof): Clear it at end.
+ 
+ 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
+ 	  (lang_init): Call check_newline always.
+ 	* c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
+ 	  cpp_start_read, set yy_cur and yy_lim to read from
+ 	  parse_in.token_buffer, so that we'll see the first #line
+ 	  directive.
+ 	* cpplib.c (cpp_start_read): finclude the main input file
+ 	  before processing -include/-imacros.	 Process -imacros and
+ 	  -include separately, and handle -include by stacking a
+ 	  buffer for the file in question as if it'd been #included.
+ 	* toplev.c (documented_lang_options): Recognize -H when
+ 	  USE_CPPLIB is on.
+ 
+ 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c: Merge do_once into do_pragma.  Break file handling
+ 	  code out of do_include.
+ 	  Move append_include_chain, deps_output,
+ 	  file_cleanup, redundant_include_p, import_hash,
+ 	  lookup_import, add_import, read_filename_string, read_name_map,
+ 	  open_include_file, finclude, safe_read to cppfiles.c.
+ 	  Move prototypes for deps_output, append_include_chain,
+ 	  finclude to cpplib.h.  Move definition of struct
+ 	  file_name_list there also.
+ 
+ 	* cppfiles.c: New file.  Contains all the above functions
+ 	  broken out of cpplib.c; also hack_vms_include_specification
+ 	  from cccp.c and find_include_file, a new function broken out of
+ 	  do_include.
+ 
+ 	* Makefile.in (cppmain): Depend on cppfiles.o.
+ 	  (fix-header): Likewise.
+ 	  (cppfiles.o): New target.
+ 	* configure.in (--enable-c-cpplib): Add cppfiles.o to
+ 	  extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
+ 
+ Wed Oct 28 14:06:49 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
+ 	if pending_types is nonzero.
+ 	(dwarfout_finish): Verify pending_types is zero before finishing.
+ 
+ Wed Oct 28 10:29:09 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* expr.c (convert_move): Use shifts to perform the move if a
+ 	suitable extend pattern cannot be found.  Code written by
+ 	Richard Henderson <rth@cygnus.com>.
+ 
+ Wed Oct 28 03:59:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* regclass.c (renumber, regno_allocated): New static variables, moved
+ 	out of allocate_reg_info.
+ 	(allocate_reg_info): Move these two variables outside the function.
+ 	Move code to free memory into new function free_reg_info.
+ 	(free_reg_info): New function, broken out of allocate_reg_info.
+ 	* toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
+ 	* rtl.h (allocate_reg_info): Don't declare.
+ 	(free_reg_info): Declare.
+ 
+ 	* final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
+ 
+ Wed Oct 28 02:38:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (compile_file): Temporarily revert last change.
+ 
+ Wed Oct 28 00:00:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-typeck.c (convert_for_assignment): Parenthesize.
+ 
+ 1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* reload1.c (delete_output_reload): Avoid ambigous else.
+ 
+ Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (compile_file): Call allocate_reg_info to free register
+ 	table memory.
+ 	* rtl.h (allocate_reg_info): Declare.
+ 
+ 	* PROJECTS: Remove entry for local spilling.
+ 
+ 	* final.c (cleanup_subreg_operands): New function.
+ 	(final_scan_insn): Use it.
+ 	(alter_subreg): Clear the "used" field when we turn a SUBREG into
+ 	a REG.
+ 	* reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
+ 	operands when reload has finished.
+ 	* reload.h (cleanup_subreg_operands): Declare..
+ 	* flow.c (life_analysis_1): No longer delete CLOBBER insns after
+ 	reload.  Handled in reload itself.
+ 
+ Tue Oct 27 23:32:34 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (verify_initial_offsets): New function.
+ 	(reload): Call it after reload_as_needed.  Also verify that the frame
+ 	size stays constant during reload_as_needed.
+ 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
+ 
+ 	* reload.h (struct insn_chain): Add need_operand_change element.
+ 	* reload1.c (new_insn_chain): Clear it.
+ 	(calculate_needs_all_insns): Set it; don't overload need_reload.
+ 	(reload_as_needed): Use it.
+ 
+ 	* reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
+ 	reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
+ 	and reload_address_index_reg_class.
+ 	(find_reloads_address_1): Likewise.
+ 	* reload.h (reload_address_base_reg_class,
+ 	reload_address_index_reg_class): Don't declare.
+ 	* reload1.c (reg_old_renumber, pseudo_previous_regs,
+ 	pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
+ 	(used_spill_regs): Now static.
+ 	(reload_address_base_reg_class, reload_address_index_reg_class,
+ 	regs_explicitly_used, counted_for_groups, counted_for_nongroups,
+ 	basic_block_needs, max_needs, group_size, group_mode, max_groups,
+ 	max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
+ 	forbidden_regs):
+ 	Deleted variables.
+ 	(init_reload): Delete code to compute base/index reg classes.
+ 	(reload): Delete variable J.
+ 	Delete code to manage basic_block_needs.
+ 	Don't compute regs_explicitly_used.
+ 	Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
+ 	pseudo_previous_regs.
+ 	Initialize bad_spill_regs_global.
+ 	Don't call order_regs_for_reload here.
+ 	Don't initialize spill_reg_order and n_spills.
+ 	Don't forbid explicitly used regs to be used for spill regs.
+ 	Change main loop to infinite loop, with explicit break statements.
+ 	Make SOMETHING_CHANGED variable local to that loop.
+ 	Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
+ 	max_groups_insn, max_nongroups_insn, group_size, group_mode.
+ 	Make sure spilled_pseudos is cleared before calling spill_hard_reg or
+ 	new_spill_reg.
+ 	Don't call dump_needs.
+ 	Delete code to reset potential_reload_regs.
+ 	Delete code to terminate loop conditional on the global needs variables
+ 	showing no further needs.
+ 	(calculate_needs_all_insns): Return void.  All callers changed.
+ 	Initialize something_needs_elimination here, not in reload.
+ 	Delete avoid_return_reg kludge.
+ 	(calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
+ 	All callers changed.
+ 	Initialize the group_mode and group_size elements of the arg CHAIN.
+ 	Delete code to manage basic_block_needs.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	Delete avoid_return_reg kludge.
+ 	(find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
+ 	All callers changed.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	Delete special SMALL_REGISTER_CLASSES code.
+ 	Delete spill_failure code; now in new_spill_reg.
+ 	(find_group): Lose GLOBAL arg, take CHAIN arg, return void.
+ 	All callers changed.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	(maybe_mark_pseudo_spilled): New static function.
+ 	(find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
+ 	All callers changed.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	Call order_regs_for_reload here, not in reload.
+ 	Initialize spill_reg_order and n_spills.
+ 	Simplify test whether an asm insn is involved.
+ 	Delete spill_failure code; now in new_spill_reg.
+ 	Call maybe_mark_pseudo_spilled for everything marked as live in
+ 	CHAIN.  Merge CHAIN's used_spill_regs into the global variable
+ 	used_spill_regs.
+ 	(dump_needs): Take CHAIN arg.  No longer static, to prevent the
+ 	compiler from optimizing this function (now unused) away.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	(possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
+ 	changed.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	(count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
+ 	take CHAIN arg.  All callers changed.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	(new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
+ 	CHAIN, NONGROUP args.  Return void.  All callers changed.
+ 	Verify caller isn't trying to spill a pseudo.
+ 	Simplify test for illegal reg, just use bad_spill_regs.
+ 	Generate better error messages.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	Mark spilled register in CHAIN's used_spill_regs element.
+ 	Don't call spill_hard_reg.
+ 	(spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
+ 	Mark spilled hard regs in bad_spill_regs_global.
+ 	Mark affected pseudos in spilled_pseudos, but don't spill them.
+ 	(ior_hard_reg_set): New static function.
+ 	(finish_spills): Return int.  All callers changed.
+ 	Compute spill_reg_order, n_spills and spill_regs here.  Also update
+ 	regs_ever_live for regs used as spills.
+ 	For every pseudo in spilled_pseudos, spill it and mark the previous
+ 	hard reg it had in pseudo_previous_regs.  Compute which hard regs
+ 	are used as spills in insns during which it is live, and retry global
+ 	register allocation.  Update all life information in the
+ 	reload_insn_chain not to include pseudos without hard regs.
+ 	Call alter_reg for all affected speudos.
+ 
+ 	(scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
+ 	case, it's not clear what it's supposed to do.
+ 
+ 	(hard_reg_use_compare): Take bad_spill_regs into account.
+ 	(pseudos_counted): New static variable.
+ 	(count_pseudo): New static function.
+ 	(order_regs_for_reload): Take CHAIN arg.  All callers changed.
+ 	Initialize bad_spill_regs from bad_spill_regs_global, then merge any
+ 	hard registers explicitly used across the current insn into the set.
+ 	Compute hard_reg_n_uses taking only pseudos live across this insn
+ 	into account.
+ 	Tweak sorting of potential_reload_regs.
+ 	(compare_spill_regs): Delete function.
+ 	(reload_as_needed): Don't sort the spill_regs array, it's computed
+ 	in proper order in finish_spills.
+ 	Delete avoid_return_reg kludge.
+ 	Delete code to manage basic_block_needs.
+ 	(allocate_reload_reg): Minor speed/readability tweaks.
+ 	Operate on elements of CHAIN instead of global variables.
+ 	(choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
+ 	Delete avoid_return_reg kludge.
+ 	Initialize reload_reg_used from CHAIN's used_spill_regs element.
+ 	Delete unused label FAIL.
+ 	(reload_combine): Replace reload_address_index_reg_class with
+ 	INDEX_REGS.
+ 	Don't use used_spill_regs to determine information about lifetime of
+ 	hard regs.
+ 
+ Tue Oct 27 13:15:02 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (display_help): Ignore empty target specific
+ 	options, and if -W is also specified on the command line then
+ 	display undocumented options.
+ 
+ 	* config/arm/arm.c: Updated with changes in devo sources.
+ 	* config/arm/arm.h: Updated with changes in devo sources.
+ 	* config/arm/lib1funcs.asm: Updated with changes in devo sources.
+ 	* config/arm/lib1thumb.asm: Add ELF support.
+ 
+ Tue Oct 27 16:11:43 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (aix64_flag): New variable.
+ 	(main, case 'b'): Parse it.
+ 	(GCC_CHECK_HDR): Object magic number must match mode.
+ 	(scan_prog_file): Only check for shared object if valid header.
+ 	Print debugging if header/mode mismatch.
+ 
+ Tue Oct 27 10:15:02 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	Added support for arm-elf-linux configuration, submitted by Philip
+ 	Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
+ 	code developed by Catherine Moore <clm@cygnus.com>.  The following
+ 	files are affected:
+ 
+ 	* configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
+ 	targets.
+ 
+ 	* configure: Regenerated.
+ 
+ 	* config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
+ 	USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
+ 	definitions conditional on their not having been already defined.
+ 
+ 	* config/arm/lin1funcs.asm: Add ELF only macros to generate .size
+ 	and .type directives, and add "(PLT)" qualification to function
+ 	calls.
+ 
+ 	* config/arm/linux.h: Deleted.  This file is now superseded by
+ 	either linux-elf.h or linux-aout.h.
+ 
+ 	* config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
+ 	(CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
+ 	support).
+ 	Move definitions from old linux.h file here.
+ 
+ 	* config/arm/elf.h: New file.  Generic ARM/ELF support.
+ 
+ 	* config/arm/linux-aout.h: New file.  Support for Linux with a.out.
+ 
+ 	* config/arm/linux-elf.h: New file.  Support for Linux with ELF.
+ 
+ 	* config/arm/linux-elf26.h: New file.  Support for Linux with ELF
+ 	using the 26bit APCS.
+ 
+ 	* config/arm/unknown-elf.h: New file.  Support for OS'es other
+ 	than Linux with ELF.
+ 
+ 	* config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
+ 	builds.
+ 
+ 	* config/arm/coff.h: Include aout.h for basic assembler macros.
+ 	Add support for -mstructure_size_boundary=<n> command line option.
+ 
+ 	* config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
+ 	command line option.  Make macro definitions conditional on their
+ 	not having been already defined.
+ 
+ 	* config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
+ 	command line option.
+ 
+ 
+ Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
+ 	has been changed to not include a newline. Use this macro instead.
+ 	(output_enumeral_list, const_value_attribute, name_attribute,
+ 	comp_dir_attribute, prototyped_attribute, producer_attribute,
+ 	inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
+ 	dwarfout_file_scope_decl, generate_new_sfname_entry,
+ 	generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
+ 	ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
+ 
+ Mon Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (subst): Process the inputs to a parallel asm_operands
+ 	only once.
+ 
+ Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
+ 
+ Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
+ 
+ Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* stmt.c (expand_fixup): Set fixup->before_jump to a
+ 	NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
+ 
+ Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (recog.o): Depend on toplev.h.
+ 	(insn-emit.o): Depend on recog.h.
+ 	(insn-peep.o): Depend on recog.h and insn-config.h.
+ 
+ 	* combine.c (simplify_set): Remove unused variable `scratches'.
+ 
+ 	* final.c (final_scan_insn): Wrap declaration of variables `vlen'
+ 	and `idx' in macro conditional controlling their use.
+ 
+ 	* genemit.c (main): Make the generated output file include
+ 	recog.h.  Don't have it declare `insn_operand_constraint', since
+ 	we get it from recog.h.
+ 
+ 	* genpeep.c (main): Make the generated output file include
+ 	insn-config.h and recog.h.
+ 
+ 	* recog.c: Include toplev.h.
+ 	(extract_insn): Remove unused variable `p'.
+ 
+ 	* regclass.c (fix_register): Add missing braces around initializer
+ 	for `what_option'.
+ 	(allocate_reg_info): Move variable `i' into the scope where it is
+ 	used.  Change its type to `size_t'.
+ 
+ Sun Oct 25 13:10:15 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload.c (push_reload): When merging reloads, make sure
+ 	that reload_in_reg and reload_in are from the same reload in
+ 	all cases.
+ 
+ Sun Oct 25 12:07:00 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/crtdll.h (CPP_PREDEFINES): Fix typo.
+ 	* i386/mingw32.h (CPP_PREDEFINES): Likewise.
+ 
+ Fri Oct 23 23:42:03 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* loop.c (loop_has_tablejump): New variable.
+ 	(prescan_loop): Scan for it.
+ 	(insert_bct): Replace explicit scan with use of it.
+ 	* regclass.c (regclass): Restore loop variable j.
+ 	(record_reg_classes): Deterine op_types modifiers and initialize
+ 	classes[i] before matching constraints.  Handle matching
+ 	constraints 5-9.
+ 
+ Fri Oct 23 13:55:48 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
+ 	subreg support.
+ 
+ Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (EXTRA_SPECS): Add missing initializers.
+ 
+ Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.h (EXTRA_SPECS): Add missing initializers.
+ 	(sparc_defer_case_vector): Provide a prototype.
+ 
+ 	* svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
+ 	comparing it to the result of a pointer subtraction.
+ 
+ Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
+ 	the argument to (unsigned char).
+ 
+ 	* alpha.h (EXTRA_SPECS): Add missing initializers.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
+ 	format specifier.
+ 
+ Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (life_analysis_1): Enable "rescan" code after reload.
+ 	(propagate_block): Delete dead code after reload.
+ 
+ 	* sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
+ 	back Oct 15, 1998 change.
+ 	* haifa-sched.c (update_flow_info): Likewise.
+ 	* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
+ 
+ 	* mn10200.md (truncated shift): Accept constant inputs too.
+ 
+ Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* machmode.h (mode_mask_array): No longer const.
+ 	* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
+ 
+ Fri Oct 23 11:19:06 1998  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* frame.c: Somewhat explain `FDE'.
+ 	Suggested by Brendan Kehoe
+ 
+ Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (pending_chain): Move up.
+ 	(save_expr_status): Do save pending_chain.
+ 	(restore_expr_status): And restore it.
+ 	* function.h (struct function): Add pending_chain.
+ 
+ 1998-10-23  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
+ 	did not match the code.
+ 
+ Fri Oct 23 00:07:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* regclass.c (regclass): Break out some code into new function
+ 	scan_one_insn, and into regclass_init.
+ 	(init_cost): New static variable, moved out of regclass.
+ 	(regclass_init): Initialize it here, not in .
+ 	(scan_one_insn): New static function, broken out of regclass.
+ 	* recog.c (apply_change_group): Break out some code into new
+ 	function insn_invalid_p.
+ 	(insn_invalid_p): New static fn, broken out of apply_change_group.
+ 
+ Thu Oct 22 22:34:42 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload1.c (reload_as_needed): When rewrite POST_INC, verify
+ 	reg_reloaded_contents matches incremented pseudo.
+ 
+ 	* v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
+ 
+ Fri Oct 23 11:11:56 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
+ 	addressing modes with side effects.  These are currently
+ 	placeholders for the C4x target.
+ 
+ Thu Oct 22 16:46:35 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* loop.c (express_from): Make sure that when generating a PLUS of
+ 	a PLUS, any constant expression appears on the outermost PLUS.
+ 
+ Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
+ 
+ 	* Makefile.in (distdir-cvs, distdir-start): Clean up so it
+ 	works if "$(srcdir)" != ".".
+ 
+ Wed Oct 21 19:23:59 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): If need to add a SUBREG, then remove
+ 	existing SUBREG if we can, otherwise abort.
+ 
+ Wed Oct 21 09:58:51 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* c-common.c (c_apply_type_quals_to_decl): Don't crash when
+ 	`restrict' is applied to a non-pointer variable.
+ 
+ Wed Oct 21 09:18:58 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* invoke.texi: Document -flang-isoc9x.
+ 
+ 	* Makefile.in (OBJS): Add splay-tree.o.
+ 	(c-common.o): Depend on rtl.h.
+ 	(splay-tree.o): List dependencies and provide build rule.
+ 
+ 	* rtl.h (record_alias_subset): New function.
+ 	* alias.c: Include splay-tree.h.
+ 	(alias_set_entry): New type.
+ 	(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
+ 	(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
+ 	(mems_in_disjoin_alias_sets_p): New function.
+ 	(alias_set_compare): Likewise.
+ 	(insert_subset_children): Likewise.
+ 	(get_alias_set_entry): Likewise.
+ 
+ 	* tree.h (TYPE_RESTRICT): New macro.
+ 	(TYPE_UNQUALIFIED): New manifest constant.
+ 	(TYPE_QUAL_CONST): Likewise.
+ 	(TYPE_QUAL_VOLATILE): Likewise.
+ 	(TYPE_QUAL_RESTRICT): Likewise.
+ 	(tree_type): Add restrict_flag.  Reduce count of free bits.
+ 	(DECL_POINTER_ALIAS_SET): New macro.
+ 	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
+ 	(tree_decl): Add pointer_alias_set.
+ 	(build_qualified_type): New function.
+ 	(build_type_variant): Define in terms of build_qualified_type.
+ 	* tree.c (set_type_quals): New function.
+ 	(make_node): Initialize DECL_POINTER_ALIAS_SET.
+ 	(build_type_attribute_variant): Use build_qualified_type and
+ 	set_type_quals.
+ 	(build_type_variant): Rename, and modify, to become...
+ 	(build_qualified_type): New function.
+ 	(build_complex_type): Use set_type_quals.
+ 
+ 	* c-tree.h (C_TYPE_OBJECT_P): New macro.
+ 	(C_TYPE_FUNCTION_P): Likewise.
+ 	(C_TYPE_INCOMPLETE_P): Likewise.
+ 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+ 	(c_apply_type_quals_to_decl): New function.
+ 	(c_build_qualified_type): New function.
+ 	(c_build_type_variant): Define in terms of c_build_qualified_type.
+ 	(flag_isoc9x): Declare.
+ 	* c-typeck.c (qualify_type): Use c_build_qualified_type.
+ 	(common_type): Change to use TYPE_QUALS.
+ 	(comptypes): Likewise.
+ 	(convert_for_assignment): Likewise.
+ 	* c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
+ 	* c-decl.c (flag_isoc9x): Define.
+ 	(c_decode_option): Handle -flang-isoc9x.
+ 	(grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
+ 	c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
+ 	* c-lex.c (init_lex): Deal with restrict.
+ 	(init_lex): Don't treat restrict as a reserved word in
+ 	-traditional mode, or without -flang-isoc9x.
+ 	* c-lex.h (rid): Add RID_RESTRICT.
+ 	* c-parse.gperf (restrict, __restrict, __restrict__): Make
+ 	equivalent to RID_RESTRICT.
+ 	* c-parse.in (TYPE_QUAL): Update comment.
+ 	* c-common.c: Include rtl.h.
+ 	(c_find_base_decl): New function.
+ 	(c_build_type_variant): Rename, and modify, to become ...
+ 	(c_build_qualified_type): New function.
+ 	(c_apply_type_quals_to_decl): Likewise.
+ 	(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
+ 	a particular alias set for the reference.
+ 	* toplev.c (documented_lang_options): Add -flang-isoc9x.
+ 
+ Wed Oct 21 09:15:06 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (TARGET_SWITCHES): Document arm specific
+ 	command line switches.
+ 
+ Tue Oct 20 10:04:51 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* reload.c (loc_mentioned_in_p): Add missing braces to bind
+ 	else to correct if.
+ 
+ Mon Oct 19 16:34:05 1998  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (option_map): Added --classpath and --CLASSPATH.
+ 
+ Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* regclass.c (fix_register): Add error message.
+ 	* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
+ 	  new error message.
+ 
+ Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (warn_missing_noreturn): New global variable.
+ 	(c_decode_option): Check for new flags -W{no-}missing-noreturn.
+ 	(finish_function): Implement missing noreturn warning.
+ 
+ 	* c-tree.h (warn_missing_noreturn): Declare extern.
+ 
+ 	* invoke.texi: Document new flags.
+ 
+ 	* toplev.c (documented_lang_options): Add description.
+ 
+ Tue Oct 20 22:16:11 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
+ 	loop optimization stable for the C4x.
+ 	(c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
+ 	c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
+ 	c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
+ 	loop optimization).
+ 	(c4x_address_conflict): Be more paranoid when packing a volatile
+ 	memref in a parallel load/store.
+ 
+ Tue Oct 20 21:56:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (repeat_block_top, repeat_block_end,
+ 	repeat_block_filler): Deleted.
+ 	(*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
+ 	Condition code not set if destination register from 'c' class.
+ 	(*subbqi3_carry_clobber): Fix typo.
+ 
+ 1998-10-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reorg.c (steal_delay_list_from_target): Check for insns that
+ 	modify the condition codes and effect the direction of the jump
+ 	in the sequence.
+ 
+ Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* function.c (purge_addressof_1): Replace call to
+ 	emit_insns_before() with emit_insn_before().
+ 
+ Mon Oct 19 19:34:03 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
+ 
+ Mon Oct 19 13:26:24 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* jump.c (sets_cc0_p): Compile only if HAVE_cc0.
+ 
+ Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (compute_hash_table): Correctly identify hard regs which are
+ 	clobbered across calls.
+ 
+ 	* loop.c (scan_loop): Be more selective about what invariants are
+ 	moved out of a loop.
+ 
+ Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* libgcc2.c (eh_context_static): Do not call malloc to allocate the
+ 	static eh_context structure.
+ 
+ Mon Oct 19 10:45:40 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
+ 	callers changed.
+ 	(try_combine): Don't update max_scratch.
+ 	* flow.c (max_scratch, num_scratch): Delete variables.
+ 	(life_analysis_1): Don't initialize max_scratch.
+ 	(propagate_block): Don't update max_scratch.
+ 	(mark_set_1): Don't increment num_scratch.
+ 	* regs.h (max_scratch): Delete declaration.
+ 
+ Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
+ 	is nonzero.  This is temporary!
+ 
+ 	* sched.c (update_flow_info): Handle death notes made invalid by
+ 	instruction splitting.  Partially reverts Oct 15, 1998 patch.
+ 	* haifa-sched.c (update_flow_info): Likewise.
+ 
+ Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
+ 	if it has a nonzero DECL_INITIAL.
+ 
+ Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (flow.o): Depend on recog.h.
+ 
+ 	* cpplib.h (directive_table): Add missing initializiers.
+ 	(finclude): Change type of variable `bsize' to size_t.
+ 
+ 	* cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
+ 
+ 	* dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
+ 
+ 	* fix-header.c (lookup_std_proto): Cast the result of `strlen' to
+ 	`int' when comparing against one.
+ 	(cpp_file_line_for_message): Mark parameter `pfile' with
+ 	ATTRIBUTE_UNUSED.
+ 	(cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
+ 
+ 	* flow.c: Include recog.h.
+ 	(sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Mark parameter
+ 	`f' with ATTRIBUTE_UNUSED.
+ 	(reposition_prologue_and_epilogue_notes): Likewise.
+ 
+ 	* genopinit.c (gen_insn): Cast argument of ctype functions to
+ 	`unsigned char'.
+ 
+ 	* haifa-sched.c: Include recog.h.
+ 	(blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
+ 	comparing against one.
+ 
+ 	* libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
+ 
+ 	* mips-tfile.c (parse_end): Cast the argument of ctype function to
+ 	`unsigned char'.
+ 	(parse_ent): Likewise.
+ 	(parse_input): Likewise.
+ 
+ 	* optabs.c (init_libfuncs): Likewise.
+ 
+ 	* protoize.c (find_rightmost_formals_list): Likewise.
+ 
+ 	* recog.h (const_double_operand): Fix typo in prototype.
+ 
+ 	* tlink.c (scan_linker_output): Cast the argument of ctype
+ 	function to `unsigned char'.
+ 
+ 	* toplev.c (check_lang_option): Cast the result of `strlen' to
+ 	`int' when comparing against one.
+ 
+ Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* gcse.c (dump_cuid_table): Correct typo.
+ 
+ Sat Oct 17 11:02:47 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (display_help): Prepend '-m' to target specific
+ 	options.
+ 	(check_lang_option): Ignore text after end of first word of a
+ 	language specific option.
+ 
+ Sat Oct 17 02:26:03 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (reg_used_by_pseudo): New static variable.
+ 	(choose_reload_regs): Initialize it.
+ 	Use it instead of testing spill_reg_order to determine whether a
+ 	pseudo is live in a hard register across the current insn.
+ 	Fix a typo in a reference to reload_reg_rtx.
+ 
+ 	* flow.c (propagate_block): Replace code that computes and uses
+ 	regs_sometimes_live with simpler code that just walks the set of
+ 	currently live registers.
+ 
+ 	* Makefile.in (insn-extract.o): Fix dependencies.
+ 	* genextract.c (main): Generate includes for insn-config.h and
+ 	recog.h.
+ 	Delete generation of declarations which are now in recog.h.
+ 	* genrecog.c (main): Delete generation of definitions which are
+ 	now in recog.c.
+ 	* local-alloc.c (block_alloc): Use extract_insn and the variables
+ 	it sets up instead of looking up values by insn_code.
+ 	* recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
+ 	recog_dup_num): Define here instead of generating the definition in
+ 	genrecog.c.
+ 	(recog_n_operands, recog_n_dups, recog_n_alternatives,
+ 	recog_operand_mode, recog_constraints, recog_operand_address_p):
+ 	New variables.
+ 	(extract_insn): New function.
+ 	* recog.h (extract_insn): Declare function.
+ 	(which_alternative, recog_n_operands, recog_n_dups,
+ 	recog_n_alternatives, recog_operand_mode, recog_constraints,
+ 	recog_operand_address_p): Declare variables.
+ 	* regclass.c (n_occurrences): New static function.
+ 	* reload.c (n_occurrences): Delete function.
+ 	(find_reloads): Use extract_insn.
+ 	* reload.h (n_occurrences): Delete declaration.
+ 
+ Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_as_needed): Fix test for when to call
+ 	update_eliminable_offsets.
+ 
+ Fri Oct 16 20:40:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	Fix consistency problems with reg_equiv_{mem,address};
+ 	Improve reload inheritance;
+ 
+ 	* reload.c (reload_out_reg): New variable.
+ 	(loc_mentioned_in_p, remove_address_replacements): New functions.
+ 	(remove_replacements): Deleted.
+ 	(push_reload): Set reload_out_reg[i].
+ 	When merging, also set reload_{in,out}_reg[i], and remove
+ 	duplicate address reloads.
+ 	(combine_reloads): Copy reload_out_reg[i].
+ 	(find_reloads): Do make_memloc substitution also when
+ 	reg_equiv_memory_loc[regno] and num_not_at_initial_offset
+ 	are both nonzero.
+ 	Include *recog_operand_loc in commutativity operand changes.
+ 	Generate optional output reloads.
+ 	Delete reference to n_memlocs.  Don't set *recog_operand_loc before
+ 	processing operands.  Call make_memloc in reg_equiv_address code.
+ 	Set *recog_operand_loc only after processing operands, and only
+ 	if replace is true.  Return a value.
+ 	When changing address reload types for operands that didn't get
+ 	reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
+ 	RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
+ 	Don't emit USEs for pseudo SUBREGs when not replacing.
+ 	(find_reloads_address): Do make_memloc substitution also when
+ 	reg_equiv_memory_loc[regno] and num_not_at_initial_offset
+ 	are both nonzero.
+ 	(find_reloads_toplev): Likewise.
+ 	Call make_memloc in reg_equiv_address code.
+ 	(debug_reload_to_stream): Add code to output reload_out_reg.
+ 	(make_memloc): Delete local variable i, ifdefed out code, and
+ 	references to memlocs and n_memlocs.
+ 	(memlocs, n_memlocs): Delete.
+ 	(push_secondary_reload): Clear reload_out_reg.
+ 	(find_reloads_address_1): Provide memrefloc argument to all calls
+ 	to find_reloads_address.
+ 	In AUTO_INC code, handle non-directly addressable equivalences properly.
+ 	* reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
+ 	(find_reloads): Add return type.
+ 	(remove_address_replacements, deallocate_reload_reg): Declare.
+ 	* reload1.c (num_not_at_initial_offset): No longer static.
+ 	(delete_address_reloads, delete_address_reloads_1): Likewise.
+ 	(deallocate_reload_reg): New function.
+ 	(spill_reg_stored_to): New array.
+ 	(eliminate_regs): Don't substitute from reg_equiv_memory_loc.
+ 	(eliminate_regs_in_insn): Move assignments of previous_offset and
+ 	max_offset fields, and recalculation of num_not_at_initial_offset
+ 	into new static function:
+ 	(update_eliminable_offsets) .
+ 	(reload_as_needed): Call update_eliminable_offsets after calling
+ 	find_reloads.
+ 	Call forget_old_reloads_1 with contents of reloaded auto_inc
+ 	expressions if the actual addressing can't be changed to match the
+ 	auto_inc.
+ 	(choose_reload_regs): For inheritance, replace
+ 	reload_reg_free_before_p test with reload_reg_used_at_all test, and
+ 	remove stand-alone reload_reg_used_at_all test.
+ 	Use reload_out_reg to determine which reload regs have output reloads.
+ 	Treat reload_override_in more similar to inherited reloads.
+ 	Handle (subreg (reg... for inheritance.
+ 	For flag_expensive_optimizations, add an extra pass to remove
+ 	unnecessary reloads from known working inheritance.
+ 	Delete obsolete code for pseudos replaced with MEMs.
+ 	Handle inheritance from auto_inc expressions.
+ 	(emit_reload_insns): If reload_in is a MEM, set OLD to
+ 	reload_in_reg[j].
+ 	Don't reload directly from oldequiv; if it's a pseudo with a
+ 	stack slot, use reload_in[j].
+ 	Check that reload_in_reg[j] is a MEM before replacing reload_in
+ 	from reg_reloaded_contents.
+ 	Include non-spill registers in reload inheritance processing.
+ 	Also try to use reload_out_reg to set spill_reg_store /
+ 	reg_last_reload_reg.
+ 	In code to set new_spill_reg_store, use single_set to find out if
+ 	there is a single set.
+ 	Add code that allows to delete optional output reloads.
+ 	Add code to allow deletion of output reloads that use no spill reg.
+ 	At the end, set reload_override_in to oldequiv.
+ 	Also call delete_output_reload if reload_out_reg is equal to old
+ 	in oldequiv code.
+ 	Add code to call delete_output_reload for stores with no matching load.
+ 	Set / use spill_reg_stored_to.
+ 	Handle case where secondary output reload uses a temporary, but
+ 	actual store isn't found.
+ 	When looking for a store of a value not loaded in order to call
+ 	delete_output_reload, count_occurrences should return 0 for no
+ 	loads; but discount inherited input reloadill_reg_stored_to.
+ 	Do checks for extra uses of REG.  Changed all
+ 	callers.
+ 	Use delete_address_reloads.
+ 	(reload): Take return value of find_reloads into account.
+ 	If a no-op set needs more than one reload, delete it.
+ 	(reload_reg_free_before_p): RELOAD_FOR_INPUT
+ 	can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
+ 	for the same operand.
+ 	(clear_reload_reg_in_use): Check for other reloads that keep a
+ 	register in use.
+ 	(reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
+ 	RELOAD_FOR_OPADDR_ADDR.
+ 	Take into account when an address address reload is only needed
+ 	for the address reload we are considering.
+ 	(count_occurrences): Use rtx_equal_p for MEMs.
+ 	(inc_for_reload): Return instruction that stores into RELOADREG.
+ 	New argument two, IN, and rtx.  Changed all callers.
+ 	(calculate_needs_all_insns, reload_as_needed):
+ 	Don't clear after_call for a CLOBBER.
+ 	Keep track of how many hard registers need to be copied from
+ 	after_call, and don't clear after_call before we have seen
+ 	that much copies, or we see a different instruction.
+ 
+ Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks_1): Do not delete unreachable blocks
+ 	after reload has completed.
+ 
+ Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cpplib.c (cpp_get_token): Replace whitespace that occurs between
+ 	a macro name and the next token with a single blank if that whitespace
+ 	is in a macro buffer and the next token is not '('.
+ 
+ Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cccp.c (rescan): Handle multibyte characters ending in backslash.
+ 	(rescan): Likewise.
+ 	(skip_if_group): Likewise.
+ 	(skip_to_end_of_comment): Likewise.
+ 	(macarg1): Likewise.
+ 	(discard_comments): Likewise.
+ 	(change_newlines): Likewise.
+ 
+ Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* c-lex.c (yylex): Fix unaligned access of wchar_t.
+ 
+ Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
+ 	(TARGET_OPTIONS): Add --help documentation.
+ 
+ Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
+ 
+ Fri Oct 16 07:08:46 1998  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* fixinc/* Moved in from ../contrib directory in preparation
+ 	for integrating it into the normal build process.  In particular,
+ 	fixinc/Makefile.in must be config-ed into the build directory
+ 	as fixinc/Makefile.  Proposed patches to ./Makefile.in and
+ 	./configure.in will be "in the mail" momentarily.
+ 
+ Fri Oct 16 08:13:46 1998  David S. Miller  <davem@pierdol.cobaltnet.com>
+ 
+ 	* cse.c (cse_basic_block): Fixup hash flushing loop so we do not
+ 	accidently walk into the free list.  Comment how that can happen.
+ 	(invalidate): Fix indentation.
+ 
+ Thu Oct 15 23:53:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (life_analysis_1): Do not clobber regs_ever_live after
+ 	reload.  Never perform rescans of the insn chain after reload.
+ 	(propagate_block): Do not delete insn or create new autoinc addressing
+ 	modes after reload.
+ 
+ 	* jump.c (jump_optimize): Unconditionally use the code that was
+ 	previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
+ 	* reload1.c (reload): When reloading is finished, delete all
+ 	REG_DEAD and REG_UNUSED notes.
+ 	(emit_reload_insns): Delete all code that was conditional on
+ 	PRESERVE_DEATH_INFO_REGNO_P.
+ 	(no_longer_dead_regs): Delete variable.
+ 	(reload_cse_delete_death_notes): Delete function.
+ 	(reload_cse_no_longer_dead): Delete function.
+ 	(reload_cse_regs_1): Delete all code to handle deletion of death
+ 	notes.
+ 	(reload_cse_noop_set_p): Likewise.
+ 	(reload_cse_simplify_set): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	(reload_cse_move2add): Likewise.
+ 	* reorg.c (used_spill_regs): Delete declaration.
+ 	(max_label_num_after_reload): Delete declaration.
+ 	(find_dead_or_set_registers): Don't assume that spill regs are
+ 	dead at a CODE_LABEL.
+ 	* rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
+ 	even after reload.
+ 	* sched.c (sched_analyze_insn): Likewise.
+ 	(update_flow_info): Likewise.
+ 	* haifa-sched.c (sched_analyze_insn): Likewise.
+ 	(update_flow_info): Likewise.
+ 	* tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
+ 	* toplev.c (max_label_num_after_reload): Delete variable.
+ 	(rest_of_compilation): Don't set max_label_num_after_reload.
+ 	Call life_analysis after reload_cse_regs if optimizing.
+ 	* config/gmicro/gmicro.h: Delete comment referring to
+ 	PRESERVE_DEATH_INFO_REGNO_P.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/m88k/m88k.h: Likewise.
+ 	* config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
+ 	* config/sh/sh.h: Likewise.
+ 
+ Thu Oct 15 19:48:41 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* loop.c (strength_reduce): Restore marking bct_p as
+ 	ATTRIBUTE_UNUSED.
+ 	* rs6000.c (optimization_options): Change #ifdef HAIFA to
+ 	HAVE_decrement_and_branch_on_count.
+ 	(small_data_operand): Remove TARGET_ELF condition for marking
+ 	parameters ATTRIBUTE_UNUSED.
+ 
+ Thu Oct 15 11:45:51 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
+ 	(SELECT_SECTION): Resync with svr4.h.
+ 
+ Thu Oct 15 12:42:13 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* loop.c (strength_reduce): Undo Oct 14 change marking bct_p
+ 	ATTRIBUTE_UNUSED.
+ 
+ Thu Oct 15 00:57:55 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* c-pragma.c (handle_pragma_token): Test for null tree before
+ 	dereferencing TREE_CODE.
+ 
+ Thu Oct 15 17:36:48 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c: Convert to use GEN_INT.
+ 	(c4x_parallel_process): Rework to handle new repeat loop structure.
+ 
+ 	* config/c4x/c4x.md: Convert to use GEN_INT.
+ 	(rptb_end): Convert to use GE test.  Replace uses with clobbers.
+ 	(decrement_and_branch_on_count): Likewise.
+ 
+ 	* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
+ 	loop.c has the desired functionality.
+ 	(rc_reg_operand): New prototype.
+ 
+ 	* config/c4x/t-c4x: Can now build all front ends.
+ 
+ Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
+ 
+ 	* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
+ 
+ Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
+ 	* config/t-rtems: Do not install assert.h -- use newlib's.
+ 
+ Wed Oct 14 21:57:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* combine.c (combine_instructions): When finished, call init_recog.
+ 	* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
+ 
+ Wed Oct 14 16:10:22 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* toplev.c: If flag_syntax_only, don't open or write assembler file.
+ 
+ Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppalloc.c (memory_full): Mark function prototype with
+ 	ATTRIBUTE_NORETURN.
+ 
+ 	* demangle.h (collect_exit): Likewise.
+ 
+ 	* fix-header.c (v_fatal, fatal): Likewise.
+ 
+ 	* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
+ 	Likewise.
+ 
+ 	* gcov.c (print_usage): Likewise.
+ 
+ 	* genattr.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genattrtab.c (fatal, fancy_abort): Likewise.
+ 
+ 	* gencodes.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genconfig.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genemit.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genextract.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genflags.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genopinit.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genoutput.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genpeep.c (fatal, fancy_abort): Likewise.
+ 
+ 	* genrecog.c (fatal, fancy_abort): Likewise.
+ 
+ 	* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
+ 	__sjpopnthrow, __throw): Likewise.
+ 
+ 	* objc/objc-act.c (objc_fatal): Likewise.
+ 
+ 	* protoize.c (usage, aux_info_corrupted,
+ 	declare_source_confusing): Likewise.
+ 
+ 	* rtl.c (dump_and_abort): Likewise.
+ 
+ 	* rtl.h (sets_cc0_p): Likewise.
+ 
+ 	* toplev.c (float_signal, pipe_closed): Likewise.
+ 
+ 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
+ 	when generating the decision tree for the general case.
+ 
+ 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
+ 	wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
+ 
+ Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (sched.o): Depend on recog.h.
+ 
+ 	* alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
+ 	(unsigned) when comparing against one.
+ 	(find_base_value): Likewise.
+ 	(record_base_value): Cast variable `regno' to (unsigned) when
+ 	comparing against one.  Cast the result of REGNO() macro to
+ 	(unsigned) when comparing against one.
+ 	(memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
+ 	unsigned.
+ 	(init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
+ 	variable where an unsigned index is needed.
+ 
+ 	* caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
+ 	before comparing against one.
+ 
+ 	* collect2.c: Add prototypes for functions `error', `fatal' and
+ 	`fatal_perror'.  Make these functions take variable arguments
+ 	instead of faking it with a fixed number of args.
+ 	(write_c_file_stat): Cast the argument of ctype macro to (unsigned
+ 	char).
+ 
+ 	* combine.c (can_combine_p): Mark parameter `pred' with
+ 	ATTRIBUTE_UNUSED.
+ 	(find_split_point): Cast variable `src' to (unsigned
+ 	HOST_WIDE_INT) when comparing against one.
+ 	(simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
+ 	(simplify_logical): Likewise.
+ 	(force_to_mode): Cast result of INTVAL() macro to (unsigned
+ 	HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
+ 	HOST_WIDE_INT) in shift.
+ 	(simplify_and_const_int): Cast result of INTVAL() macro to
+ 	`unsigned HOST_WIDE_INT' when comparing against one.
+ 	(merge_outer_ops): Cast variable const0 to `unsigned
+ 	HOST_WIDE_INT' when comparing against the result of
+ 	GET_MODE_MASK() macro.
+ 	(simplify_comparison): Likewise for variable `c0'.  Cast variable
+ 	`const_op' to `unsigned HOST_WIDE_INT' when comparing against
+ 	one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
+ 	result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
+ 	against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
+ 	result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
+ 	comparing against one.
+ 	(distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
+ 
+ 	config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
+ 	macro to `unsigned HOST_WIDE_INT' when comparing against one.
+ 	(output_block_move): Cast `sizeof' expression to (int) when
+ 	comparing against one.
+ 	(function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
+ 	against one.
+ 	(save_restore_insns): Cast `base_offset' to `long' to match format
+ 	specifier in fprintf.
+ 
+ 	* config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
+ 	to `enum machine_mode'.
+ 
+ 	* flow.c (life_analysis_1): Remove unused variable `insn'.
+ 
+ 	* gcc.c (translate_options): Move variables `j' and `k' into the
+ 	scope in which they are used.  Change their types to `size_t'.
+ 	(set_spec): Cast the argument of ctype macro to `unsigned char'.
+ 	(read_specs): Likewise.
+ 	(process_command): Cast `sizeof' to (int) when comparing against one.
+ 	(do_spec_1): Cast the argument of ctype macro to `unsigned char'.
+ 	(handle_braces): Cast both sides of `==' expression to `long' to
+ 	ensure sign matching.
+ 	(main): Cast variable `i' to `int' when comparing against one.
+ 
+ 	* gcov-io.h (__fetch_long): Change type of parameter `bytes' from
+ 	int to size_t.  Cast variable `i' to size_t when comparing against
+ 	one.
+ 
+ 	* genattrtab.c (convert_set_attr_alternative): Remove unused
+ 	parameter `insn_code'.  All callers changed.
+ 	(convert_set_attr): Likewise.
+ 
+ 	* genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
+ 	size_t when comparing against one.  Likewise for variable `len'.
+ 
+ 	* global.c (global_alloc): Cast variable `max_regno' to size_t
+ 	when comparing against one.  Likewise for variable `max_allocno'.
+ 
+ 	* jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
+ 
+ 	* local-alloc.c (validate_equiv_mem_from_store): Mark parameter
+ 	`set' with ATTRIBUTE_UNUSED.
+ 	(find_free_reg): Cast `sizeof' expression to (int) when comparing
+ 	against one.
+ 
+ 	* loop.c (count_loop_regs_set): Remove unused variable `dest'.
+ 	(strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
+ 	(get_condition): Cast variable `const_val' to `unsigned
+ 	HOST_WIDE_INT' when comparing against one.  Cast unsigned
+ 	expression to HOST_WIDE_INT when comparing against one.
+ 	(insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
+ 	(load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
+ 	`unsigned' when comparing against one.
+ 
+ 	* protoize.c (is_id_char): Change type of parameter `ch' to
+ 	unsigned char.
+ 	(munge_compile_params): Cast argument of ctype macro to (const
+ 	unsigned char).
+ 	(process_aux_info_file): Cast variable `aux_info_size' to int when
+ 	comparing against one.
+ 	(forward_to_next_token_char): Cast argument of ctype macro to
+ 	`const unsigned char'.
+ 	(edit_formals_lists): Likewise.
+ 	(find_rightmost_formals_list): Likewise.
+ 	(add_local_decl): Likewise.
+ 	(add_global_decls): Likewise.
+ 	(edit_fn_definition): Likewise.
+ 	(do_cleaning): Likewise.
+ 	(scan_for_missed_items): Likewise.
+ 	(edit_file): Cast variable `orig_size' to (int) when comparing
+ 	against one.
+ 	(main): Cast argument of ctype macro to `const unsigned char'.
+ 
+ 	* recog.c (const_int_operand): Mark parameter `mode' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* regclass.c (record_reg_classes): Change type of variable `c' to
+ 	`unsigned char'.  Cast `char' array index to `unsigned char'.
+ 
+ 	* reload.c (push_secondary_reload): Cast argument to
+ 	REG_CLASS_FROM_LETTER() macro to `unsigned char'.
+ 
+ 	* reload1.c (calculate_needs): Cast `char' array index to
+ 	`unsigned char'.
+ 	(set_label_offsets): Change type of variable `i' to unsigned int.
+ 	Cast result of XVECLEN() macro to unsigned when comparing against
+ 	one.
+ 	(mark_not_eliminable): Change type of variable `i' to unsigned.
+ 	(order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
+ 	when comparing against one.
+ 	(reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
+ 	comparing against one.
+ 	(choose_reload_regs): Hide unused label `fail'.
+ 	(reload_cse_simplify_operands): Cast `char' array index to
+ 	`unsigned char'.
+ 	(reload_combine_note_store): Mark parameter `set' with
+ 	ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
+ 	against one.
+ 	(reload_cse_move2add): Remove unused variable `src2'.
+ 
+ 	* sched.c: Include recog.h.
+ 	(sched_note_set): Remove unused parameter `b'.  All callers
+ 	changed.
+ 	(split_hard_reg_notes): Likewise for parameter `orig_insn'.
+ 	(blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
+ 	when comparing against one.
+ 
+ 	* stupid.c (stupid_find_reg): Mark parameter `changes_size' with
+ 	ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
+ 	comparing against one.
+ 
+ 	* unroll.c (precondition_loop_p): Remove unused parameter
+ 	`loop_end'.  All callers changed.
+ 
+ Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (maybe_fix_stack_asms): New static function.
+ 	(reload): Call it.
+ 
+ 	* reload.h (compute_use_by_pseudos): Declare.
+ 
+ 	* reload1.c (spilled_pseudos, insns_need_reload): New variables.
+ 	(something_needs_reloads): Delete variable.
+ 	(finish_spills): New function.
+ 	(compute_use_by_pseudos): New function.
+ 
+ 	(delete_caller_save_insns): Lose argument FIRST.  All callers changed.
+ 	Use the reload_insn_chain instead of walking the rtl directly.
+ 
+ 	(reload): Allocate and free spilled_pseudos.
+ 	Ensure that all calls of spill_hard_reg are followed by a call to
+ 	finish_spills.
+ 	Use the insns_need_reload list instead of something_needs_reloads
+ 	to find out if reload_as_needed must be called.
+ 	Clear unused_insn_chains at the end.
+ 
+ 	(calculate_needs_all_insns): Lose FIRST parameter.  All callers
+ 	changed.
+ 	Delete code to keep track of current basic block.
+ 	Walk reload_insn_chain instead of the rtl structure.  Build the
+ 	insns_need_reload chain.
+ 	Remember which insns need reloading/elimination by setting the
+ 	appropriate fields in struct insn_chain, not by putting modes on the
+ 	insn.
+ 
+ 	(calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
+ 	arg INSN.  All callers changed.
+ 	Delete declaration of struct needs.
+ 	Don't set something_needs_reloads.
+ 	Record insn needs in the CHAIN argument.
+ 
+ 	(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
+ 
+ 	(reload_as_needed): Lose FIRST arg.  All callers changed.
+ 	Walk the reload_insn_chain instead of the rtx structure.
+ 	Delete code to keep track of current basic block.
+ 	Rename one of the NEXT variables to OLD_NEXT.
+ 
+ 	(allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
+ 	callers changed.
+ 	(choose_reload_regs): Likewise.
+ 
+ 	(emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
+ 	callers changed.
+ 
+ 	* caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
+ 	instead of (MOVE_MAX / UNITS_PER_WORD) computation.
+ 	(hard_regs_live, hard_regs_need_restore): Delete variables.
+ 	(n_regs_saved): Now static.
+ 	(referenced_regs, this_insn_sets): New variables.
+ 
+ 	(setup_save_areas): Restructure the code a bit.
+ 
+ 	(restore_referenced_regs): Delete function.
+ 	(mark_referenced_regs): New function, similar to the old
+ 	restore_referenced_regs, but mark registers in referenced_regs.
+ 
+ 	(clear_reg_live): Delete function.
+ 	(mark_set_regs): Renamed from set_reg_live.  All callers changed.
+ 	Only mark registers in this_insn_sets.
+ 
+ 	(save_call_clobbered_regs): Rework this function to walk the
+ 	reload_insn_chain instead of using the list of instructions directly.
+ 	Delete code to keep track of register lives, compute live regs on the
+ 	fly from information in the chain.
+ 	Instead of calling restore_referenced_regs, use mark_referenced_regs,
+ 	then walk the set it computes and call insert_restore as appropriate.
+ 
+ 	(insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
+ 	callers changed.
+ 	Restructure the code a bit.  Test hard_regs_saved instead of
+ 	hard_regs_need_restore.
+ 	(insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
+ 	args.  All callers changed.
+ 	Restructure the code a bit.  Use TO_SAVE to determine which regs to
+ 	save instead of more complicated test.
+ 	(insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
+ 	callers changed.
+ 	Create a new insn_chain structure for the new insn and place it
+ 	into the chain.
+ 
+ 	* rtl.texi: Update documentation to reflect that reload no longer
+ 	puts modes on the insns.
+ 
+ 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* function.c (purge_addressof_1): Force the first argument of a
+ 	CALL insn to memory.
+ 
+ Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.h: Delete duplicate prototypes.  Add some missing
+ 	prototypes.
+ 	* rtlanal.c (for_each_rtx): Formatting tweak.
+ 
+ 1998-10-13  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* real.c (emdnorm and etoasc): Disable round to even for c4x target
+ 	to be compatible with TI compiler.
+ 
+ 	* Makefile.in (USER_H): Add va-c4x.h to definition.
+ 
+ Tue Oct 13 23:03:37 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (purge_addressof_1): Fix typo in inequality: do
+ 	bitfield optimization for equal mode sizes.
+ 	* expmed.c (store_bit_field): Don't take subregs of subregs in
+ 	the movstrict case.  Tidy a potential problem in the multi-word case.
+ 	(extract_bit_field): Likewise.
+ 
+ Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* flow.c (find_basic_blocks): Emit NOPs after normal calls in this
+ 	function.
+ 	Compute max_uid_for_flow by calling get_max_uid after the scan.
+ 	(find_basic_blocks_1): Don't emit NOPs here.
+ 
+ Tue Oct 13 22:05:49 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (base_alias_check): Accept new args for the modes of the
+ 	two references.  Use them to determine if an AND can overlap.  Update
+ 	all callers.
+ 	(memrefs_conflict_p): Assume sizes are aligned, and uses them
+ 	to determine if an AND can overlap.
+ 
+ Tue Oct 13 17:51:04 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
+ 	check.  Add comment to document problems with TARGET_SUN_FPA version
+ 	of this macro.
+ 	* config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
+ 
+ Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gencheck.o): Depend on gansidecl.h.
+ 
+ 	* c-common.c (print_char_table): Add missing initializers.
+ 	(scan_char_table): Likewise.
+ 	(time_char_table): Likewise.
+ 
+ 	* c-decl.c (c_decode_option): Mark parameter `argc' with
+ 	ATTRIBUTE_UNUSED.
+ 	(declare_parm_level): Mark parameter `definition_flag' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* c-lex.c (readescape): Use `(unsigned)1' in shift.
+ 	(yylex): Likewise.  Cast `sizeof' to an (int) when comparing
+ 	against one.
+ 
+ 	* calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
+ 	callers changed.
+ 	(emit_call_1): Mark parameters `fndecl' and `funtype' with
+ 	ATTRIBUTE_UNUSED.
+ 	(expand_call): Cast result of MIN() to (unsigned int) when
+ 	comparing against an unsigned value.
+ 
+ 	* cccp.c (pcfinclude): Remove unused parameter `limit'.  All
+ 	callers changed.
+ 	(make_definition): Remove unused parameter `op'.  All callers
+ 	changed.
+ 	(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
+ 	comparing against the result of pointer arithmetic.
+ 
+ 	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
+ 	when comparing against one.
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
+ 	HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
+ 	one.
+ 	(output_die): Move variable `i' into the scope in which it is
+ 	used.  Change its type to `unsigned'.
+ 	(output_die): Cast the result of `strlen' to (int) when passing it
+ 	to ASM_OUTPUT_ASCII().
+ 	(output_pubnames): Likewise.
+ 	(output_line_info): Likewise.
+ 
+ 	* emit-rtl.c (global_rtl): Add missing initializers.
+ 
+ 	* explow.c (promote_mode): Mark parameter `for_call' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
+ 	`unsigned HOST_WIDE_INT' when comparing against one.
+ 	(synth_mult): Change type of variable `cost' to int.
+ 	(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
+ 
+ 	* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
+ 	when comparing against one.
+ 	(get_inner_reference): Change variable `alignment' to unsigned.
+ 	(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
+ 	int) when comparing against one.
+ 	(expand_builtin_setjmp): Change type of variable `i' to size_t.
+ 
+ 	* fold-const.c (div_and_round_double): Cast BASE to
+ 	(HOST_WIDE_INT) when comparing against one.
+ 
+ 	* gencheck.c: Include gansidecl.h.
+ 	(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
+ 
+ 	* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
+ 	`tcode' with ATTRIBUTE_UNUSED.
+ 
+ 	* real.c (edivm): Cast constant value to (unsigned long) in
+ 	expression compared against an unsigned value.
+ 
+ 	* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
+ 	comparing against one.
+ 	(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
+ 	when comparing against one.
+ 
+ 	* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
+ 	(unsigned int) when comparing against one.  Likewise for
+ 	GET_MODE_BITSIZE.
+ 	(smallest_mode_for_size): Likewise.
+ 	(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
+ 	(restore_storage_status): Likewise.
+ 
+ 	* toplev.c (debug_args): Add missing initializer.
+ 	(f_options): Spelling correction.  Add missing initializers.
+ 	(documented_lang_options): Likewise.
+ 	(debug_end_source_file): Mark parameter `lineno' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* tree.c (valid_machine_attribute): Mark parameters `attr_args',
+ 	`decl' and `type' with ATTRIBUTE_UNUSED.
+ 
+ 	* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
+ 	when comparing against one.
+ 	(assemble_variable): Mark parameter `top_level' with
+ 	ATTRIBUTE_UNUSED.
+ 	(assemble_external_libcall): Mark parameter `fun' with
+ 	ATTRIBUTE_UNUSED.
+ 	(output_constant_pool): Mark parameters `fnname' and `fndecl' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ Tue Oct 13 12:51:04 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
+ 	Replace use of r5 with use of r19.
+ 
+ 	* config/v850/v850.h (LINK_POINTER_REGNUM): Define.
+ 
+ 	* config/v850/v850.c (compute_register_save_size): Allow for the
+ 	fact that helper functions save all registers, not just those used
+ 	by the function.
+ 
+ 	Replace constant 31 with macro LINK_POINTER_REGNUM.
+ 
+ 	* config/v850/v850.md: Use 'indirect_operand' rather than
+ 	'memory_operand' for bit test/set/clear patterns.
+ 
+ Tue Oct 13 11:49:14 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
+ 	* varasm.c (assemble_start_function et al): Don't call
+ 	ASM_GLOBALIZE_LABEL for weak symbols.
+ 
+ Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* cse.c (equiv_constant): Check for NULL return from
+ 	gen_lowpart_if_possible().
+ 
+ Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
+ 
+ 	* collect2.c (main): Pass -EL/-EB through to the compiler.
+ 
+ 1998-10-12  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* expr.c (push_block): Handle targets where the stack grows
+ 	to higher addresses, but args grow to lower addresses and
+ 	ACCUMULATE_OUTGOING_ARGS is not defined.
+ 
+ Tue Oct 13 08:00:52 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/v850/v850.c (print_operand): Extend meaning
+ 	of 'c' operands to support .vtinherit.
+ 
+ Tue Oct 13 21:38:35 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c: Convert to gen_rtx_FOO.
+ 	Added ATTRIBUTE_UNUSED to unused function arguments.
+ 	(rc_reg_operand): New predicate.
+ 	(c4x_rptb_insert): New function.
+ 	(c4x_rptb_nop_p): Recognize modified rptb_top pattern.
+ 	(c4x_optimization_options): New function.
+ 
+ 	* config/c4x/c4x.md: Convert to gen_rtx_FOO.
+ 	 (decrement_and_branch_on_count): New pattern.
+ 	 (rptb_top): Modified pattern to work with BCT optimization.
+ 
+ 	* config/c4x/c4x.h (RC_REG): New register class.
+ 	(rc_reg_operand): Define prototype.
+ 	(IS_RC_REG): New macro.
+ 	(IS_RC_OR_PSEUDO_REG): New macro.
+ 	(IS_RC_OR_PSEUDO_REGNO): New macro.
+ 	(OPTIMIZATION_OPTIONS): Define.
+ 
+ Mon Oct 12 19:57:34 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* collect2.c (extract_init_priority): No priority is 65535.
+ 
+ Mon Oct 12 12:10:37 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* Makefile.in (build_tooldir): New variable, same as old
+ 	$(tooldir), but without depending on $(libdir)/$(unlibsubdir).
+ 	(GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
+ 	(bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
+ 
+ 	* configure.in (gxx_include_dir): Set default based on unlibsubdir.
+ 	* Makefile.in (tooldir): Likewise.
+ 	(cccp.o, cpplib.o): Use unlibsubdir implicitly through
+ 	gxx_include_dir, includedir and tooldir.
+ 	(protoize.o, unprotoize.o): Likewise.
+ 
+ Mon Oct 12 10:50:44 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
+ 
+ 	* config/arm/thumb.c (thumb_override_options): Add warning about
+ 	PIC code not being supported just yet.
+ 
+ Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
+ 
+ 	* flow.c: Update comment.
+ 	(notice_stack_pointer_modification): New static function.
+ 	(record_volatile_insns): Use it.
+ 	(mark_regs_live_at_end): Mark the stack pointer as alive
+ 	at the end of the function if current_function_sp_is_unchanging
+ 	is set.
+ 	(life_analysis_1): Set current_function_sp_is_unchanging.
+ 	* function.c: Define it.
+ 	(init_function_start): Initialize it.
+ 	* output.h: Declare it.
+ 	* reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
+ 	the stack pointer as alive at the end of the function if
+ 	current_function_sp_is_unchanging is set.
+ 	* i386.c (ix86_epilogue): Optimize the restoring
+ 	of the stack pointer.
+ 
+ Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Oct 11 23:04:30 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* c-pragma.c (handle_pragma_token): If passed a token instead
+ 	of a tree, use that as the pack value.
+ 
+ Sun Oct 11 14:21:14 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* flow.c (find_basic_blocks_1): Fix prototype.
+ 
+ Sun Oct 11 05:03:41 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
+ 	(struct tree_decl): New fields no_check_memory_usage.
+ 	* c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
+ 	(init_attributes): Register it as a new attribute.
+ 	(decl_attributes): Set flags on functions given that attribute.
+ 	* c-decl.c (duplicate_decls): Merge new attribute.
+ 	* expr.h (current_function_check_memory_usage): Declare new var.
+ 	* calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
+ 	pa.c, sparc.c: Replace uses of flag_check_memory_usage with
+ 	current_function_check_memory_usage.
+ 	* function.h: Add field to struct function.
+ 	* function.c (current_function_check_memory_usage): Define it.
+ 	(push_function_context_to, pop_function_context_from): Save and
+ 	restore it.
+ 	(expand_function_start): Set it, based on global flag and function
+ 	attribute.
+ 
+ 	* expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
+ 	check non-automatic variables, to permit detection of writes to
+ 	read-only locations in embedded systems without memory management.
+ 	* calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
+ 	when emitting chkr_set_right_libfunc call, even if the argument is
+ 	BLKmode or variable-sized; don't abort.
+ 
+ 	* optabs.c (init_optabs): Create Checker and __cyg_profile_*
+ 	symbols in Pmode, not VOIDmode.
+ 
+ Sun Oct 11 01:03:05 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cppexp.c: When forcing unsigned comparisons, cast both sides
+ 	of the operation.
+ 
+ 	* cpphash.h: Move static declaration of hashtab[]...
+ 	* cpphash.c: ...here.
+ 
+ 	* cpplib.c: Cast difference of two pointers to size_t before
+ 	comparing it to size_t.  Cast signed to unsigned
+ 	before comparing to size_t. (FIXME: struct argdata should use
+ 	unsigned buffer sizes.)
+ 	* cpplib.h (struct cpp_reader): Declare token_buffer_size as
+ 	unsigned int. (CPP_WRITTEN): Cast return value to size_t.
+ 	(CPP_RESERVE): Parenthesize N for evaluation order, cast to
+ 	size_t before comparison.
+ 
+ Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
+ 	(find_basic_blocks_1): Similarly.
+ 	* output.h (find_basic_blocks): Fix prototype.
+ 	* gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
+ 	find_basic_blocks anymore.
+ 
+ Sat Oct 10 22:00:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
+ 	(sbitmap_free, sbitmap_vector_free): New macros.
+ 	* output.h (rtl_dump_file): Declare.
+ 
+ Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
+ 
+ Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fp-bit.c (SFtype): Don't implicitly use int in declaration.
+ 	(DFtype): Likewise.
+ 	(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
+ 	(divide): Remove unused variable `tmp'.
+ 	(si_to_float): Cast numeric constant to (SItype) before comparing
+ 	it against one.
+ 
+ Fri Oct  9 16:03:19 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
+ 	* gcc.c (add_preprocessor_option): Correct typo when allocating
+ 	memory, sizeof() argument had one too many `*'.
+ 	(add_assembler_option): Likewise.
+ 	(add_linker_option): Likewise.
+ 	* gcov.c (output_data): Likewise.
+ 	* local-alloc.c (memref_used_between_p): Likewise.
+ 	(update_equiv_regs): Likewise.
+ 	* loop.c (strength_reduce): Likewise.
+ 	* reg-stack.c (record_asm_reg_life): Likewise.
+ 	(subst_asm_stack_reg): Likewise.
+ 	* reorg.c (dbr_schedule): Likewise.
+ 
+ Fri Oct  9 15:57:51 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* flow.c (life_analysis_1): Break out some functions.
+ 	(find_basic_blocks_1): Likewise.  Also move some variables out and
+ 	make them static.
+ 	Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
+ 	new static var nonlocal_label_list with it.
+ 	(active_eh_region, nested_eh_region, label_value_list,
+ 	nonlocal_label_list): New static variables.
+ 	(make_edges, delete_unreachable_blocks, delete_block): New static
+ 	functions, broken out of find_basic_blocks_1.
+ 	(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
+ 	noop_move_p): New static functions, broken out of life_analysis_1.
+ 
+ Fri Oct  9 15:49:29 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
+ 	Take extra care for op0 now possibly being a subreg.
+ 	(extract_bit_field): Likewise.
+ 	* function.c (purge_addressof_1): Revert Oct 4 change.  Drop
+ 	the reg to memory if there is no equal sized integral mode.
+ 	* stor-layout.c (int_mode_for_mode): New function.
+ 	* machmode.h: Prototype it.
+ 
+ Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* global.c (build_insn_chain): Verify no real insns exist past the
+ 	end of the last basic block, then exit the loop.
+ 
+ Fri Oct  9 11:44:47 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* loop.c (insert_bct): Ensure loop_iteration_var nonzero before use.
+ 
+ Thu Oct  8 21:59:47 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
+ 
+ Thu Oct  8 22:03:45 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
+ 
+ Thu Oct  8 17:00:18 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Correctly determine when a call
+ 	is within an exception region.
+ 
+ Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
+ 
+ 	* cpplib.h: Protect from multiple inclusions.
+ 	* cpplib.c: Fix minor formatting problems.
+ 
+ 	* i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
+ 
+ 	* jump.c (jump_optimize): Revert accidental patch.
+ 
+ 	* Makefile.in (cpplib.o): Use unlibsubdir.
+ 
+ Thu Oct  8 12:50:47 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (get_condition): Allow combine when either compare is
+ 	VOIDmode.
+ 
+ Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>
+ 
+ 	* c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
+ 	(init_lex): Initialize ridpointers[RID_BYREF].
+ 	* c-lex.h (enum rid): Add RID_BYREF.
+ 	* c-parse.gperf: Add RID_BYREF as a type qualifier.
+ 	* objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
+ 	(encode_type_qualifiers): Similarly.
+ 	* c-gperf.h: Rebuilt.
+ 
+ Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-common.c (type_for_mode): Only return TItype nodes when
+ 	HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ 	* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
+ 	when HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ 	(init_decl_processing): Only create TItype nodes when
+ 	HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ 	* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
+ 	when HOST_BITS_PER_WIDE_INT is >= 64 bits.
+ 
+ Thu Oct  8 05:05:34 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* stmt.c (n_occurrences): New static function.
+ 	(expand_asm_operands): Verify that all constrains match in the
+ 	number of alternatives.
+ 	Verify that '+' or '=' are at the beginning of an output constraint.
+ 	Don't allow '&' for input operands.
+ 	Verify that '%' isn't written for the last operand.
+ 	* reload.c (find_reloads): Abort if an asm is found with invalid
+ 	constraints; all possible problems ought to be checked for earlier.
+ 
+ Thu Oct  8 04:26:20 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* flags.h (flag_branch_on_count_reg): Always declare.
+ 	* toplev.c (flag_branch_on_count_reg): Likewise.
+ 	* toplev.c: Fix typos.
+ 
+ 	* real.c (c4xtoe): Remove unused variables.  Add some missing parens.
+ 	(toc4x): Similarly.
+ 
+ Thu Oct  8 01:25:22 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Calc upper bound for extra nops in
+ 	max_uids_for_flow.
+ 	(find_basic_blocks_1): Add a nop to the end of a basic block when
+ 	a trailing call insn does not have abnormal control flow.
+ 	* gcse.c (pre_transpout): New variable.
+ 	(alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
+ 	(compute_pre_transpout): Calculate it.
+ 	(compute_pre_ppinout): Use it to eliminate impossible placements
+ 	due to abnormal control flow through calls.
+ 	(compute_pre_data): Call compute_pre_transpout.
+ 
+ Wed Oct  7 21:40:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
+ 
+ Wed Oct  7 21:19:46 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* config/mips/mips.md (tablejump_internal3, tablejump_internal4
+ 	and matching define_insns): Tack on a `use' of the table label, so
+ 	flow analysis will recognize a tablejump.
+ 
+ Wed Oct  7 17:33:39 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcse.c (pre_insert_insn): Tweek to notice that calls do not
+ 	always end basic blocks for abnormal edge reasons.
+ 
+ Wed Oct  7 14:40:43 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/i386/i386.h: Remove definition of
+ 	HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* config/i386/go32.h: Add definition of
+ 	HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* config/i386/win32.h: Add definition of
+ 	HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* config/i386/cygwin32.h: Add definition of
+ 	HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* c-pragma.c (insert_pack_attributes): Do not insert
+ 	attributes unless #pragma pack(push,<n>) is in effect.
+ 
+ Wed Oct  7 12:10:46 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (emit_group_store): Handle a PARALLEL destination.
+ 
+ Wed Oct  7 10:07:29 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcse.c (pre_insert_insn): When a call ends a bb, insert
+ 	the new insns before the argument regs are loaded.
+ 
+ Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
+ 	(c-parse.gperf): Update comments describing invocation flags.
+ 	(c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
+ 
+ 1998-10-07  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* reload1.c (reload): Call free before clobbering the memory
+ 	locations or constants pointers.
+ 
+ Wed Oct  7 02:05:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
+ 	for efficiency by checking whether we need to modify the current
+ 	stack permission at all.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
+ 	__enable_execute_stack libcall here too if
+ 	TRANSFER_FROM_TRAMPOLINE is defined.
+ 	* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
+ 	IN_LIBGCC2.
+ 
+ Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (DRIVER_DEFINES): Remove last change.
+ 
+ Wed Oct  7 01:08:43 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
+ 	insns we're going to copy.
+ 	* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
+ 
+ 	* loop.c (count_one_set): Add prototype.
+ 
+ 	* caller-save.c (restore_referenced_regs): Lose mode argument.
+ 	(insert_save): Lose mode argument.
+ 	(insert_restore): Lose mode argument.
+ 	(insert_one_insn): Lose mode argument.
+ 	(save_call_clobbered_regs): Lose mode argument.
+ 	(setup_save_areas): Take no argument and return void.  All callers
+ 	changed.
+ 	Don't verify validity of memory addresses.
+ 	* reload.h (setup_save_ares): Adjust prototype.
+ 	(save_call_clobbered_regs): Likewise.
+ 	* reload1.c (delete_caller_save_insns): New function.
+ 	(caller_save_spill_class): Delete variable.
+ 	(caller_save_group_size): Delete variable.
+ 	(reload): Call setup_save_areas and save_call_clobbered_regs
+ 	in the main loop, before calling calculate_needs_all_insns.
+ 	Don't call save_call_clobbered_regs after the loop.
+ 	Call delete_caller_save_insns at the end of an iteration if
+ 	something changed.
+ 	Delete code to manage caller_save_spill_class.
+ 	Emit the final note before setting reload_first_uid.
+ 	Simplify test that determines whether reload_as_needed gets run.
+ 	(calculate_needs): Delete code to manage caller_save_spill_class.
+ 
+ Tue Oct  6 15:42:27 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* collect2.c (main): Initialize ld_file_name.
+ 
+ Tue Oct  6 15:45:15 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
+ 	check for flag_function_sections.
+ 
+ Tue Oct  6 20:02:31 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (insert_regs): Fix bug in Sep 24 change.
+ 
+ Tue Oct  6 17:00:42 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* flags.h (flag_dump_unnumbered): Declare.
+ 	* toplev.c (flag_dump_unnumbered): Don't declare.
+ 	* print-rtl.c (flags.h): Include.
+ 	(print_rtl_single): Add return value.
+ 	* rtl.h (print_rtl_single): Update declaration.
+ 	* flow.c (flag_dump_unnumbered): Don't declare.
+ 	(print_rtl_with_bb): Use return value of print_rtl_single.
+ 
+ Tue Oct  6 01:36:00 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* loop.c (count_one_set): New static function, broken out of
+ 	count_loop_regs_set.
+ 	(count_loop_regs_set): Call it.
+ 	* global.c (mark_reg_store): Handle clobbers here by not calling
+ 	set_preference.
+ 	(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
+ 	is in fact a clobber.
+ 	* integrate.c (process_reg_param): New function, broken out of
+ 	expand_inline_function.
+ 	(expand_inline_function): Call it.
+ 
+ 	* i386.md (addsidi3_1): Delete unused variable temp.
+ 	(addsidi3_2): Likewise.
+ 	(clstrstrsi): Delete unused variable addr1.
+ 
+ 	* rtl.h: Don't declare any functions also declared in recog.h.
+ 
+ 	* Makefile.in (stupid.o): Update dependencies.
+ 	(global.o): Likewise.
+ 
+ 	* global.c: Include reload.h.
+ 	(reg_becomes_live): New function.
+ 	(reg_dies): New function.
+ 	(build_insn_chain): New function.
+ 	(global_alloc): Call build_insn_chain before calling reload.
+ 
+ 	* reload.h (struct needs): New structure definition.
+ 	(struct insn_chain): Likewise.
+ 	(reload_insn_chain): Declare variable.
+ 	(new_insn_chain): Declare function.
+ 
+ 	* reload1.c (reload_startobj): New variable.
+ 	(reload_insn_chain): New variable.
+ 	(unused_insn_chains): New variable.
+ 	(new_insn_chain): New function.
+ 	(init_reload): Initialize reload_startobj, not reload_firstobj.
+ 	(reload): Initialize reload_firstobj.
+ 	Before returning, free everything on the reload_obstack.
+ 
+ 	* stupid.c: Include insn-config.h, reload.h and basic-block.h.
+ 	(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
+ 	current_chain): New variables.
+ 	(reg_where_born): Delete variable.
+ 	(REG_WHERE_BORN): New macro.
+ 	(find_clobbered_regs): New function.
+ 	(stupid_life_analysis): Don't allocate/free reg_where_born.
+ 	Allocate and free reg_where_born_exact, reg_where_born_clobber,
+ 	reg_where_dead_chain.
+ 	Use REG_WHERE_BORN instead of reg_where_born.
+ 	While processing the insns, build the reload_insn_chain with
+ 	information about register lifetimes.
+ 	(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
+ 	(stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
+ 	changed.
+ 	Compute and information about birth and death of pseudo registers in
+ 	reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
+ 	Delete code to set elements of reg_where_born.
+ 
+ Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (GOTO_EXPR): Modified documentation.
+ 	* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
+ 	goto.
+ 
+ Mon Oct  5 22:43:36 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* unroll.c (loop_iteration_var, loop_initial_value, loop_increment
+ 	loop_final_value, loop_comparison_code): No longer static.
+ 	(unroll_loop): Delete loop_start_value update.
+ 	* loop.h (loop_iteration_var, loop_initial_value, loop_increment,
+ 	loop_final_value, loop_comparison_code): Extern.
+ 	(loop_start_value): Delete extern.
+ 	* loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
+ 	loop_comparison_value, loop_comparison_code): Delete.
+ 	(loop_optimize): Remove initialization for deleted variables.
+ 	(strength_reduce): Delete analyze_loop_iterations call.  Only call
+ 	insert_bct if flag_branch_count_on_reg set.
+ 	(analyze_loop_iterations): Delete.
+ 	(insert_bct): Remove iteration count calculation.  Move checks for
+ 	viable BCT optimization to here.  Obtain iteration count from
+ 	loop_iterations and correct for unrolling.  Check for enough
+ 	iteration to be beneficial.  Comment out runtime iteration count
+ 	case.
+ 	(insert_bct): Print iteration count in dump file.  Remove
+ 	loop_var_mode and use word_mode directly.
+ 
+ 	* rs6000.h (processor_type): Add PROCESSOR_PPC604e.
+ 	* rs6000.c (rs6000_override_options): Use it.
+ 	(optimization_options): Enable use of flag_branch_on_count_reg.
+ 	* rs6000.md (define_function_unit): Describe 604e.
+ 
+ 1998-10-05  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* loop.c (move_movables): Corrected threshold calculation for
+ 	moved_once registers.
+ 
+ Mon Oct  5 21:18:45 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* loop.c (combine_givs_p): Fix test for identical givs.
+ 
+ Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
+ 	call abort if the function is already defined.
+ 
+ Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
+ 	truncation is not a no-op.
+ 
+ Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Oct  5 01:07:23 1998  Torbjorn Granlund  <tege@matematik.su.se>
+ 
+ 	* expmed.c (expand_divmod): Don't widen for computing remainder
+ 	if we seem to have a divmod pattern for needed mode.
+ 
+ Mon Oct  5 01:01:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (macroexpand): Correct off-by-one error in handling
+ 	of escapes.
+ 
+ Sun Oct  4 23:58:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (expand_field_assignment): Don't do bitwise operations
+ 	on MODE_FLOAT; pun to MODE_INT if possible.
+ 
+ Sun Oct  4 18:33:24 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 			  scott snyder  <snyder@d0sgif.fnal.gov>
+ 
+ 	* tlink.c (scan_linker_output): Recognize errors from irix 6.2
+ 	linker.  Recognize mangled names in quotes.
+ 
+ Sun Oct  4 02:58:20 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
+ 	(ashlsi3_const1, ashldi3_const1): New combiner patterns.
+ 	(ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
+ 	(lshrsi3_extend, lshrsi3_extend2): Likewise.
+ 
+ Sun Oct  4 00:23:00 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* function.c (purge_addressof_1): If trying to take a sub-word
+ 	integral piece of a floating point mode, put it on the stack.
+ 
+ Sat Oct  3 19:01:03 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
+ 
+ Sat Oct  3 14:42:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* PROJECTS: Remove template friends.
+ 
+ 	* collect2.c (sort_ids): Remove unused variable.
+ 
+ 	* tm.texi (MATH_LIBRARY): Document.
+ 	(NEED_MATH_LIBRARY): Remove.
+ 
+ 	* varasm.c (assemble_start_function, assemble_variable, weak_finish,
+ 	assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
+ 
+ Sat Oct  3 16:14:44 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
+ 	last_end to 0x7fffffff.
+ 
+ Fri Oct  2 19:14:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* function.c (purge_addressof_1): Do not perform endianness
+ 	corrections on bitpos, who we call will do it for us.
+ 
+ Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.c (WORD_REG_USED): Fix typo.
+ 	(initial_offset): Use WORD_REG_USED.
+ 
+ 	* h8300.c (handle_pragma): Fix typo.
+ 
+ Fri Oct  2 10:51:35 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* caller-save.c (insert_save_restore): Break this function up
+ 	into new functions insert_restore, insert_save and insert_one_insn.
+ 	All callers changed.
+ 	(insert_restore): New function, mostly broken out of
+ 	insert_save_restore.
+ 	(insert_save): Likewise.
+ 	(insert_one_insn): Likewise.
+ 	(restore_referenced_regs): New argument BLOCK.  All callers changed.
+ 	(save_call_clobbered_regs): Don't keep track of basic block boundaries
+ 	in this function, do it in insert_one_insn instead.
+ 
+ 	* reload1.c (reload): Break out some more pieces into separate
+ 	functions.
+ 	(dump_needs): New function, broken out of reload.
+ 	(set_initial_elim_offsets): Likewise.
+ 	(init_elim_table): Likewise.
+ 	(update_eliminables): Likewise.
+ 
+ 	* global.c (global_alloc): Delete code to manage the scratch_list.
+ 	* local-alloc.c (qty_scratch_rtx): Delete.
+ 	(scratch_block): Delete.
+ 	(scratch_list): Delete.
+ 	(scratch_list_length): Delete.
+ 	(scratch_index): Delete.
+ 	(alloc_qty_for_scratch): Delete.
+ 	(local-alloc): Update initialization of max_qty.
+ 	Delete code to manage the scratch list.
+ 	Delete code to allocate/initialize qty_scratch_rtx.
+ 	(block_alloc): Don't allocate quantities for scratches.
+ 	Delete code to manage the scratch list.
+ 	* regs.h (scratch_list): Delete declaration.
+ 	(scratch_block): Delete declaration.
+ 	(scratch_list_length): Delete declaration.
+ 	* reload1.c (reload): Delete code to manage the scratch list.
+ 	(spill_hard_reg): Likewise.
+ 	(mark_scratch_live): Delete.
+ 
+ 	* recog.c (alter_subreg): Delete declaration.
+ 
+ 1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+ 
+ 	* Makefile.in (cccp.o): Fix typo in last patch.
+ 
+ Fri Oct  2 16:13:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* t-sh (LIB1ASMFUNCS): Add _set_fpscr .
+ 	* config/sh/lib1funcs.asm (___set_fpscr): Add.
+ 
+ Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c (reg_scan_mark_refs): Return immediately if passed a
+ 	NULL_RTX as an argument.
+ 
+ 	* Makefile.in (unlibsubdir): Define.
+ 	(DRIVER_DEFINES): Use unlibsubdir.
+ 	(cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
+ 	(stmp-fixinc): Similarly.
+ 
+ Thu Oct  1 19:58:30 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* regmove.c (regmove_optimize): Add variable old_max_uid.
+ 	At the end of the function, update basic_block_end.
+ 
+ Thu Oct  1 17:58:25 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Use
+ 	FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
+ 	arbitrary constant.
+ 
+ Thu Oct  1 17:57:14 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Improve interworking support.
+ 
+ Thu Oct  1 18:43:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
+ 	copied from reload_out[r] .
+ 
+ Thu Oct  1 19:20:09 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
+ 	with more than three size ranges.
+ 
+ 	* flow.c (sbitmap_copy): Use bcopy to copy bitmap.
+ 
+ 	* rtl.c (mode_name): Add a null string at the end of the array.
+ 	(mode_wider_mode): Change type to unsigned char.
+ 	(mode_mask_array): New variable.
+ 	(init_rtl): Update for mode_wider_mode type change.
+ 
+ 	* rtl.h (mode_wider_mode): Change type to unsigned char.
+ 	(mode_mask_array): Declare.
+ 	(GET_MODE_MASK): Use mode_mask_array.
+ 
+ Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* calls.c (expand_call) : Encapsulate code into
+ 	copy_blkmode_from_reg.
+ 	* expr.c (copy_blkmode_from_reg): New function.
+ 	* expr.h (copy_blkmode_from_reg): New function.
+ 	* integrate.c (function_cannot_inline_p): We can inline
+ 	these now.
+ 	(expand_inline_function): Use copy_blkmode_from_reg
+ 	if needed.  Avoid creating BLKmode REGs.
+ 	(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
+ 	object.
+ 
+ Thu Oct  1 10:42:27 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.c: Add function prototypes.
+ 	Add support for v850 special data areas.
+ 
+ 	* config/v850/v850.h: Add support for v850 special data areas.
+ 
+ 	* c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
+ 	HANDLE_PRAGMA_PACK_PUSH_POP.
+ 	(push_alignment): New function: Cache an alignment requested
+ 	by a #pragma pack(push,<n>).
+ 	(pop_alignment): New function: Pop an alignment from the
+ 	alignment stack.
+ 	(insert_pack_attributes): New function: Generate __packed__
+ 	and __aligned__ attributes for new decls whilst a #pragma pack
+ 	is in effect.
+ 	(add_weak): New function: Cache a #pragma weak directive.
+ 	(handle_pragma_token): Document calling conventions.  Add
+ 	support for #pragma pack(push,<n>) and #pragma pack (pop).
+ 
+ 	* c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
+ 	are defined enable HANDLE_PRAGMA_PACK.
+ 	Move 'struct weak_syms' here (from varasm.c).
+ 	Add pragma states for push and pop pragmas.
+ 
+ 	* c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
+ 	if it is defined.
+ 
+ 	* c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
+ 	HANDLE_GENERIC_PRAGMAS.
+ 
+ 	* varasm.c: Move definition of 'struct weak_syms' into
+ 	c-pragma.h.
+ 	(handle_pragma_weak): Deleted.
+ 
+ 	* config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* c-decl.c (start_function): Add invocation of
+ 	SET_DEFAULT_DECL_ATTRIBUTES, if defined.
+ 
+ 	* tm.texi: Remove description of non-existent macro
+ 	SET_DEFAULT_SECTION_NAME.
+ 
+ 	(HANDLE_SYSV_PRAGMA): Document.
+ 	(HANDLE_PRAGMA_PACK_PUSH_POP): Document.
+ 
+ Wed Sep 30 22:27:53 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* config.sub: Recognize i[34567]86-pc-udk as new target.
+ 	* configure.in: Likewise.
+ 	* config/i386/t-udk: New file.
+ 	* config/i386/udk.h: New file.
+ 
+ Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c (check_annul_list_true_false): Remove unused variables.
+ 	(steal_delay_list_from_target): Add missing "used_annul" variable.
+ 	(try_merge_delay_insns): Close out half formed comment.
+ 
+ Wed Sep 30 19:13:20 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (macroexpand): If arg->raw_before or
+ 	arg->raw_after, remove any no-reexpansion escape at the
+ 	beginning of the pasted token.  Correct handling of whitespace
+ 	markers and no-reexpand markers at the end if arg->raw_after.
+ 
+ 	* toplev.c (documented_lang_options): Recognize -include,
+ 	-imacros, -iwithprefix, -iwithprefixbefore.
+ 	* cpplib.c (cpp_start_read): Process -imacros and -include
+ 	switches at the same time and in command-line order, after
+ 	initializing the dependency-output code.  Emit properly nested
+ 	#line directives for them.  Emit a #line for the main file
+ 	before processing these switches, and don't do it again
+ 	afterward.
+ 
+ Wed Sep 30 18:03:22 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (purge_addressof_1): Use bitfield manipulation
+ 	routines to handle mem mode < reg mode.
+ 
+ Wed Sep 30 18:43:32 1998  Herman ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reorg.c (try_merge_delay_insns): Account for resources referenced
+ 	in each instruction in INSN's delay list before trying to eliminate
+ 	useless instructions.  Similarly when looking at a trial insn's delay
+ 	slots.
+ 
+ 	* reorg.c (check_annul_list_true_false): New function.
+ 	(steal_delay_list_from_{target,fallthrough}): Call it and also
+ 	refine tests for when we may annul if already filled a slot.
+ 	(fill_slots_from_thread): Likewise.
+ 	(delete_from_delay_slot): Return newly-created thread.
+ 	(try_merge_delay_isns): Use its new return value.
+ 
+ Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
+ 	used to compute a giv or as some other non-counting use.
+ 
+ Wed Sep 30 18:19:27 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
+ 	* local-alloc.c (find_free_reg): Use it.
+ 	* global.c (find_reg): Likewise.
+ 	* tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
+ 
+ 	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
+ 	* caller-save.c (init_caller_save): Use it.
+ 	* tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
+ 
+ Wed Sep 30 12:57:30 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* configure.in: Add --enable-cpplib option which uses cpplib
+ 	for cpp, but doesn't link cpplib into cc1.  Make help text
+ 	capitalization consistent.
+ 	* configure: Rebuilt.
+ 
+ Wed Sep 30 10:09:39 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* function.c (gen_mem_addressof): If the address REG is
+ 	REG_USERVAR_P make the new REG be so also.
+ 	* loop.c (scan_loop): Apply DeMorgan's laws and add documentation
+ 	in an attempt to clarify slightly.
+ 
+ Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
+ 	and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
+ 
+ Wed Sep 30 10:13:39 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* toplev.c: Fix last patch.
+ 
+ Tue Sep 29 20:03:18 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (get_condition): Fix typo in May 9 change.
+ 
+ Tue Sep 29 11:11:38 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* invoke.texi (-fexceptions): Merge 2 different descriptions.
+ 
+ Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c (documented_lang_options): Spelling corrections.
+ 
+ Mon Sep 28 19:41:24 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* configure.in: New flags --with-ld and --with-as, equivalent
+ 	to setting LD and AS environment variables.  Test whether
+ 	specified arguments are GNU commands, and report them with
+ 	checking messages.  Use the specified AS for configure
+ 	tests too.
+ 	* configure: Likewise.
+ 	* acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
+ 	* config.in: Likewise.
+ 	* gcc.c (find_a_file): When looking for `as' and `ld', return
+ 	the DEFAULT program if it exists.
+ 	* collect2.c (main): Use DEFAULT_LINKER if it exists.
+ 
+ 	* gcc.c (find_a_file): The test for existence of a full
+ 	pathname was reversed.
+ 
+ Mon Sep 28 17:34:35 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
+ 	* rs6000.c (output_mi_thunk): Always use a raw jump for now.
+ 
+ Mon Sep 28 14:24:03 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* tree.h (TYPE_BINFO): Document.
+ 
+ Mon Sep 28 12:55:49 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* i386-coff.h (dbxcoff.h): Added.
+ 
+ Mon Sep 28 12:51:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* toplev.c: Fix bad patch around flag_data_sections.
+ 
+ Mon Sep 28 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* reload1.c (reload): Use reload_address_index_reg_class and
+ 	reload_address_base_reg_class when setting
+ 	caller_save_spill_class.  (Patch generated by Jim Wilson:
+ 	wilson@cygnus.com).
+ 
+ Mon Sep 28 07:43:34 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
+ 	and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
+ 	* expr.c (store_field): Add alias_set parameter.  Set the
+ 	MEM_ALIAS_SET accordingly, if the target is a MEM.
+ 	(expand_assignment): Use it.
+ 	(store_constructor_field): Pass 0.
+ 	(expand_expr): Likewise.
+ 
+ Mon Sep 28 07:54:03 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* flags.h: Add flag_data_sections.
+ 	* toplev.c: Add option -fdata-sections.  Add flag_data_sections.
+ 	(compile_file): Error if flag_data_sections not supported.
+ 	* varasm.c (assemble_variable): Handle flag_data_sections.
+ 	* config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
+ 	* config/mips/elf.h: Likewise.
+ 	* config/mips/elf64.h: Likewise.
+ 	* invoke.texi: Describe -fdata-sections.
+ 
+ Mon Sep 28 04:15:44 1998  Craig Burley  <burley@melange.gnu.org>
+ 
+ 	* invoke.texi (-ffloat-store): Clarify that this option
+ 	does not affect intermediate results -- only variables.
+ 
+ Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cpp.texi: Update for Fortran usage from Craig.
+ 
+ Fri Sep 25 22:09:47 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (function_arg_boundary): Revert accidental change on
+ 	September 18.
+ 
+ Fri Sep 25 20:30:00 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
+ 	(output_mi_thunk): Declare.
+ 
+ 	* rs6000.c (output_mi_thunk): Function to create thunks for MI.
+ 	(output_function_profiler): Use r12 for temp, instead of r11 so
+ 	that we preserve the static chain register.
+ 
+ Fri Sep 25 14:18:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
+ 
+ Fri Sep 25 19:30:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (gen_shl_sext): Fix case 5.
+ 
+ Fri Sep 25 17:35:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine): Re-add line that got accidentally lost.
+ 
+ Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
+ 	accessing variables until they are initialized via va_arg().
+ 
+ Thu Sep 24 22:12:16 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* reload1.c (reload_combine): Initialize set before using.
+ 
+ Thu Sep 24 18:53:20 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* sdbout.c (sdbout_field_types): Don't emit the types of fields we
+ 	won't be emitting.
+ 
+ Thu Sep 24 17:05:30 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
+ 	operand3 with mask before using it.  Patch provided by Jim Wilson.
+ 
+ Thu Sep 24 15:08:08 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* config/sparc/sparc.c (function_value): Perform the equivalent of
+ 	PROMOTE_MODE for ARCH64.
+ 	(eligible_for_epilogue_delay): Allow DImode operations in delay
+ 	slot of a return for ARCH64.
+ 
+ Thu Sep 24 22:17:54 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (sqrtsf2): Fix mode of sqrt.
+ 
+ Thu Sep 24 21:48:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): Also try inheritance when
+ 	reload_in is a stack slot of a pseudo, even if we already got a
+ 	reload reg.
+ 
+ Thu Sep 24 21:22:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
+ 	(reload_cse_regs): New function body: call reload_cse_regs_1,
+ 	reload_combine, reload_cse_move2add.
+ 	When doing expensive_optimizations, call reload_cse_regs_1 a
+ 	second time after reload_cse_move2add.
+ 	(reload_combine, reload_combine_note_store): New functions.
+ 	(reload_combine_note_use): New function.
+ 	(reload_cse_move2add, move2add_note_store): New functions.
+ 
+ Thu Sep 24 18:48:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
+ 	reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
+ 
+ 	Properly keep track of first RELOAD_FOR_X_ADDRESS also for
+ 	more than 3 such reloads.
+ 
+ 	If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
+ 	RELOAD_FOR_X_ADDR_ADDR reload.
+ 
+ Thu Sep 24 17:45:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (store_constructor): When initializing a field that is smaller
+ 	than a word, at the start of a word, try to widen it to a full word.
+ 
+ 	* cse.c (cse_insn): When we are about to change a register,
+ 	remove any invalid references to it.
+ 
+ 	(remove_invalid_subreg_refs): New function.
+ 	(mention_regs): Special treatment for SUBREGs.
+ 	(insert_regs): Don't strip SUBREG for call to mention_regs.
+ 	Check if reg_tick needs to be bumped up before that call.
+ 	(lookup_as_function): Try to match known word_mode constants when
+ 	looking for a norrower constant.
+ 	(canon_hash): Special treatment for SUBREGs.
+ 
+ Thu Sep 24 01:35:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
+ 	* config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
+ 	defined, emit libcall to __enable_execute_stack.  Also fix opcodes
+ 	and offsets in actual stack trampoline code so they match the
+ 	commentary and actually work.
+ 
+ Thu Sep 24 01:19:02 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
+ 	tmake_file.
+ 	(sparc64-*-linux): Use t-linux and sparc/t-linux64 for
+ 	tmake_file.  Set extra_parts to needed crt objects.
+ 	* configure: Rebuilt.
+ 	* config/sparc/linux64.h (SPARC_BI_ARCH): Define.
+ 	(TARGET_DEFAULT): Set if default is v9 or ultra.
+ 	(STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
+ 	(STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
+ 	(ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
+ 	(SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
+ 	LINK_SPEC, LINK_ARCH_SPEC): Likewise.
+ 	(TARGET_VERSION): Define.
+ 	(MULTILIB_DEFAULT): Define.
+ 	* config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
+ 	mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
+ 	(CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
+ 	appropriately.
+ 	(TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
+ 	* config/sparc/sparc.c (sparc_override_options): If arch and
+ 	pointer size disagree, emit diagnostic and fix it up.  If
+ 	SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
+ 	V8PLUS in 64-bit mode.
+ 	* config/sparc/t-linux64: New file.
+ 	* config/sparc/t-sol2-64: New file.
+ 	* config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
+ 	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
+ 	(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
+ 	CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
+ 	(ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
+ 	(STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
+ 	Define.
+ 	(STARTFILE_SPEC): Set appropriately based upon those.
+ 	(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
+ 	disposition of DEFAULT_ARCH32_P.
+ 	(LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
+ 	(LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
+ 	(CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
+ 	(MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
+ 	* config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
+ 	arch64/v9.
+ 	* config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
+ 
+ Wed Sep 23 22:32:31 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.h (init_virtual_regs): New function.
+ 	* emit-rtl.c (init_virtual_regs): Define.
+ 	(insn_emit): Use it.
+ 	* integrate.c (save_for_inline_copying): Likewise.
+ 
+ Wed Sep 23 16:22:01 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.h: The following patches were made by Jim Wilson:
+ 	(enum reg_class): Add NONARG_LO_REGS support.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
+ 	PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
+ 	completes.  Re-enable HImode REG+OFFSET addresses.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Define.
+ 
+ 	* expmed.c (extract_bit_field): Add comment from Jim Wilson.
+ 
+ Wed Sep 23 13:26:02 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (get_aligned_mem): Revert Sep 20 change.
+ 	(alpha_set_memflags, alpha_set_memflags_1): Likewise.
+ 	(alpha_align_insns): Properly calculate initial offset wrt max_align.
+ 
+ Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (find_barrier): Revert change of Apr 23.  Handle table
+ 	jumps as a single entity, taking into account the size of the
+ 	table.
+ 
+ Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (SWITCH_EXPR): New tree node definition.
+ 
+ Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Recognize i[34567]86-*-openbsd* and handle it like
+ 	NetBSD.
+ 
+ Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Revert this patch.
+ 	* reload.c (find_reloads): Do not replace a pseudo with
+ 	(MEM (reg_equiv_addr)) in the initializing insn for the
+ 	pseudo.
+ 
+ Mon Sep 21 20:19:41 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* final.c (final_scan_insn): Disable tracking CC across branches.
+ 
+ Mon Sep 21 17:15:26 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* expr.h (eh_rtime_match_libfunc): New extern declaration.
+ 	* optabs.c (init_optabs): Set eh_rtime_match_libfunc.
+ 	* except.c (start_catch_handler): Use eh_rtime_match_libfunc.
+ 	* libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
+ 	NULL. Only include <stdio.h> if inhibit_libc is not defined.
+ 
+ Mon Sep 21 14:10:51 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Skip compiling anything with
+ 	DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
+ 
+ Mon Sep 21 13:51:05 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Delete check for in_libcall_block when
+ 	prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
+ 	use in_libcall_block.
+ 	(find_basic_blocks_1): Delete check for in_libcall_block when prev_code
+ 	is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
+ 	to INSN.
+ 
+ Mon Sep 21 14:02:23 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
+ 	typo in no-fancy-math-387 description.
+ 
+ Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 21 09:24:49 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* i386-coff.h (DBX_DEBUGGING_INFO): Added.
+ 
+ Mon Sep 21 09:14:49 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* i386.h (TARGET_SWITCHES): Add description fields for flags
+ 	documented in install.texi.
+ 	(TARGET_OPTIONS): Likewise.
+ 
+ Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 21 01:53:05 1998  Felix Lee  <flee@cygnus.com>
+ 
+ 	* c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
+ 	* cccp.c (main): Likewise.
+ 
+ 	* cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
+ 	Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
+ 	macro-use bugs.
+ 
+ Mon Sep 21 00:52:12 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* Makefile.in (LIBS): Link in libiberty.a.
+ 	* c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
+ 
+ Sun Sep 20 23:28:11 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
+ 	it to update bb boundaries.  Update caller.
+ 	* function.c (reposition_prologue_and_epilogue_notes): Update
+ 	bb boundaries wrt the moved note.
+ 
+ Sun Sep 20 20:57:02 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
+ 	problems.
+ 	* configure: Regenerate.
+ 
+ Sun Sep 20 19:01:51 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_sr_alias_set): New variable.
+ 	(override_options): Set it.
+ 	(alpha_expand_prologue, alpha_expand_epilogue): Use it.
+ 	(mode_mask_operand): Fix signed-unsigned comparison warning.
+ 	(alpha_expand_block_move): Likewise.
+ 	(print_operand): Likewise.
+ 	(get_aligned_mem): Use change_address.
+ 	(alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
+ 	(alphaev4_insn_pipe, alphaev4_next_group): New functions.
+ 	(alphaev4_next_nop, alphaev5_next_nop): New functions.
+ 	(alpha_align_insns): Remade from old alphaev5_align_insns
+ 	to handle multiple processors.
+ 	(alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
+ 	* output.h (label_to_alignment): Prototype.
+ 
+ 	* tree.c (new_alias_set): New function.
+ 	* tree.h (new_alias_set): Declare it.
+ 	* c-common.c (c_get_alias_set): Use it.
+ 
+ Sun Sep 20 12:35:55 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (fold): Yet another COND_EXPR bug: when folding
+ 	to an ABS expr, convert an unsigned input to signed.
+ 
+ Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (fold): Fix another type in COND_EXPR handling code.
+ 
+ 1998-09-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* configure.in: Add support for c4x targets.
+ 	* configure: Rebuilt.
+ 
+ Sun Sep 20 00:00:51 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (distribute_notes): If an insn is a cc0 user, only
+ 	delete it if we can also delete the cc0 setter.
+ 
+ Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
+ 
+ 	* fold-const.c (fold): Fix typo in COND_EXPR handling code.
+ 	(invert_truthvalue): Enable truthvalue inversion for
+ 	floating-point operands if -ffast-math.
+ 
+ Sat Sep 19 23:58:07 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
+ 
+ 	* configure.in: Disable collect2 for nextstep.  Instead use
+ 	crtbegin/crtend.
+ 	* configure: Rebuilt.
+ 	* config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
+ 	(ENDFILE_SPEC): Define.
+ 	(OBJECT_FORMAT_MACHO): Define.
+ 	(EH_FRAME_SECTION_ASM_OP): Define.
+ 	* crtstuff.c: Handle MACHO.
+ 
+ Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
+ 
+ 1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>
+ 
+ 	* fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
+ 	(_fpadd_parts): Get sign right for 0.
+ 
+ 1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* ginclude/varargs.h: Add support for C4x target.
+ 	* ginclude/stdargs.h: Likewise.
+ 
+ Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_return_addr): SET should be VOIDmode.
+ 	(alpha_emit_set_long_const): Rewrite to be callable from reload
+ 	and 32-bit hosts.
+ 	(alpha_expand_epilogue): Update for alpha_emit_set_long_const.
+ 	* alpha.md (movdi): Likewise.
+ 
+ Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (add_constant): New parameter address_only, change caller.
+ 	Set it nonzero if taking the address of an item in the pool.
+ 	(arm_reorg): Handle cases where we need the address of an item in
+ 	the pool.
+ 
+ 	* arm.c (bad_signed_byte_operand): Check both arms of a sum in
+ 	a memory address.
+ 	* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
+ 	memory addresses that are not in standard canonical form.
+ 
+ Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
+ 
+ 	* README.C4X: New file with information about the c4x ports.
+ 	* ginclude/va-c4x.h: New file for c4x varargs support.
+ 	* config/c4x: New directory with c4x port files.
+ 
+ Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload.c (find_reloads): Do not replace a pseudo with
+ 	(MEM (reg_equiv_addr)) in the initializing insn for the
+ 	pseudo.
+ 
+ Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* toplev.c (rest_of_compilation): Set bct_p on second call to
+ 	loop_optimize.
+ 	* loop.c (loop_optimize, scan_loop, strength_reduce): New argument
+ 	bct_p.
+ 	(strength_reduce): Only call analyze_loop_iterations and
+ 	insert_bct if bct_p set.
+ 	(check_dbra_loop): Fix typo.
+ 	(insert_bct): Use word_mode instead of SImode.
+ 	(instrument_loop_bct): Likewise.  Do not delete iteration count
+ 	condition code generation insn.  Initialize iteration count before
+ 	loop start.
+ 	* rtl.h (loop_optimize): Update prototype.
+ 
+ 	* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
+ 	not doubleword aligned.
+ 
+ 	* rs6000.c (optimization_options): New function.
+ 	(secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
+ 	* rs6000.h (OPTIMIZATION_OPTIONS): Define.
+ 	(REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
+ 	first; cr1 can be used for FP record condition insns.
+ 
+ Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.h (m32r_block_immediate_operand): Add to
+ 	PREDICATE_CODES.
+ 
+ 	* config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
+ 	patterns.
+ 
+ 	* config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
+ 	operators.
+ 	(block_move_call): New function: Call a library routine to copy a
+ 	block of memory.
+ 	(m32r_expand_block_move): New function: Expand a "movstrsi"
+ 	pattern into a sequence of insns.
+ 	(m32r_output_block_move): New function: Expand a
+ 	"movstrsi_internal" pattern into a sequence of assembler opcodes.
+ 	(m32r_block_immediate_operand): New function: Return true if the
+ 	RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
+ 
+ Thu Sep 17 16:42:16 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
+ 	re-align some code.
+ 	* libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
+ 
+ Thu Sep 17 12:24:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (copy_src_to_dest): Check that modes match.
+ 
+ Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
+ 
+ Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
+ 	narrower than FLOAT_REGS.
+ 
+ Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
+ 	* cccp.c: Likewise.
+ 	* Makefile.in (old_gxx_include_dir): Removed.
+ 
+ Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
+ 	new specification.
+ 
+ 	* config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
+ 	(sh_handle_pragma): Change function arguments to match new
+ 	specification for HANDLE_PRAGMA.
+ 
+ Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
+ 	`unsigned char'.
+ 	(main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
+ 	When generating output, initialize missing struct member to zero.
+ 
+ Wed Sep 16 14:47:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (copy_src_to_dest): Don't copy if that requires
+ 	(a) new register(s).
+ 
+ Wed Sep 16 01:29:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* global.c (reg_allocno): Now static.
+ 	* reload1.c (reg_allocno): Delete declaration.
+ 	(order_regs_for_reload): Take no arguments.  Don't treat regs
+ 	allocated by global differently than those allocated by local-alloc.
+ 
+ Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+ 
+ 	* m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
+ 	condition, fix format strings.
+ 	(output_function_epilogue): Likewise.
+ 
+ 	* m68k/m68k.c: Don't include <stdlib.h> directly.
+ 
+ Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
+ 
+ 	* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
+ 	mem_first_set, mem_last_set; because 0 can be a CUID.
+ 	(oprs_unchanged_p): Use new definition.
+ 	(record_last_reg_set_info): Likewise.
+ 	(record_last_mem_set_info): Likewise.
+ 	(compute_hash_table): Likewise.
+ 
+ Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.c (output_epilogue): Handle Chill.
+ 
+ 	* mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+ 	* mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+ 
+ 	* combine.c (make_extraction): If no mode is specified for
+ 	an operand of insv, extv, or extzv, default it to word_mode.
+ 	(simplify_comparison): Similarly.
+ 	* expmed.c (store_bit_field): Similarly.
+ 	(extract_bit_field): Similarly.
+ 	* function.c (fixup_var_regs_1): Similarly.
+ 	* recog.c (validate_replace_rtx_1): Similarly.
+ 	* mips.md (extv, extzv, insv expanders): Default modes for most
+ 	operands.  Handle TARGET_64BIT.
+ 	(movdi_uld, movdi_usd): New patterns.
+ 
+ 	* pa.c (emit_move_sequence): Do not replace a pseudo with its
+ 	equivalent memory location unless we have been provided a scratch
+ 	register.  Similarly do not call find_replacement unless a
+ 	scratch register has been provided.
+ 
+ Tue Sep 15 19:23:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
+ 	return FLOAT_REGS.
+ 
+ Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
+ 	(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
+ 	(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
+ 	(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
+ 	* c-decl.c (init_decl_processing): Update accordingly.
+ 	* expr.c (expand_builtin): Likewise.
+ 
+ 	* rtl.h (global_rtl): Add cfa entry.
+ 	(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
+ 	(LAST_VIRTUAL_REGISTER): Update.
+ 	* emit-rtl.c (global_rtl): Add cfa entry.
+ 	(init_emit): Initialize it.
+ 	* function.c (cfa_offset): New.
+ 	(instantiate_virtual_regs): Initialize it.
+ 	(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
+ 	(expand_function_end): Call expand_eh_return.
+ 	* tm.texi (ARG_POINTER_CFA_OFFSET): New.
+ 
+ 	* except.c (current_function_eh_stub_label): Kill.
+ 	(current_function_eh_old_stub_label): Likwise; update all references.
+ 	(expand_builtin_set_return_addr_reg): Kill.
+ 	(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
+ 	(expand_builtin_set_eh_regs): Kill.
+ 	(eh_regs): Produce a third reg for the actual handler address.
+ 	(eh_return_context, eh_return_stack_adjust): New.
+ 	(eh_return_handler, eh_return_stub_label): New.
+ 	(init_eh_for_function): Initialize them.
+ 	(expand_builtin_eh_return, expand_eh_return): New.
+ 	* except.h: Update prototypes.
+ 	* flow.c (find_basic_blocks_1): Update references to the stub label.
+ 	* function.h (struct function): Kill stub label elements.
+ 
+ 	* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
+ 	register number is one that would be in the previous window.
+ 	Provide a dummy definition for non-windowed targets.
+ 	(get_reg_addr): New function.
+ 	(get_reg, put_reg, copy_reg): Use it.
+ 	(__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
+ 	generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
+ 
+ 	* alpha.c (alpha_eh_epilogue_sp_ofs): New.
+ 	(alpha_init_expanders): Initialize it.
+ 	(alpha_expand_epilogue): Use it.
+ 	* alpha.h: Declare it.
+ 	* alpha.md (eh_epilogue): New.
+ 
+ 	* m68h.h (ARG_POINTER_CFA_OFFSET): New.
+ 	* sparc.h (ARG_POINTER_CFA_OFFSET): New.
+ 
+ Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
+ 	flag bit mask.
+ 
+ Tue Sep 15 14:10:54 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (struct eh_entry): Add false_label field.
+ 	(end_catch_handler): Add prototype.
+ 	* except.c (push_eh_entry): Set false_label field to NULL_RTX.
+ 	(start_catch_handler): When using old style exceptions, issue
+ 	runtime typematch code before continuing with the handler.
+ 	(end_catch_handler): New function, generates label after handler
+ 	if needed by older style exceptions.
+ 	(expand_start_all_catch): No need to check for new style exceptions.
+ 	(output_exception_table_entry): Only output the first handler label
+ 	for old style exceptions.
+ 	* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
+ 	mechanism into one function, if a runtime matcher is provided.
+ 
+ Tue Sep 15 13:53:59 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
+ 
+ Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* integrate.c (copy_decl_list): Fix typo.
+ 
+ Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
+ 	attribute.
+ 
+ Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* invoke.texi (C Dialect Options): Put back missing @end itemize.
+ 
+ Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* configure.in: Remove usage of `!' to negate the result of a
+ 	command; some common shells do not support it.
+ 
+ Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* configure.in: In sparc9-sol2 config, use 'if test' not
+ 	brackets.
+ 	* configure: Rebuilt.
+ 
+ 	* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
+ 	CM_MEDANY.
+ 	(CPP_CPU_SPEC): Do not define _LP64, header files do this.
+ 	(CPP_CPU_DEFAULT_SPEC): Likewise.
+ 	* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
+ 	for arch64 libfuncs.
+ 
+ 	* config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
+ 	for operand zero.
+ 
+ Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
+ 
+ 	* collect2.c: Don't declare `sys_siglist' here.
+ 	(my_strsignal): Prototype and define new function.  Use it in
+ 	place of `sys_siglist' hacks.
+ 
+ 	* mips_tfile.c: Likewise.
+ 
+ 	* configure.in (AC_CHECK_FUNCS): Check for strsignal.
+ 	(GCC_NEED_DECLARATIONS): Likewise.
+ 
+ 	* system.h (strsignal): Prototype it, if necessary.
+ 	(sys_siglist): Declare it, if necessary.
+ 
+ Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* loop.c (move_movables): While removing insn sequences, preserve
+ 	the next pointer of the most recently deleted insn when we skip
+ 	over a NOTE.
+ 
+ Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
+ 
+ 	* objc/config-lang.in: Do not output the name of the selected
+ 	thread file when building the front-end.  The Makefile for the
+ 	runtime library will do this.
+ 
+ 	* objc/Make-lang.in: Do not build the runtime library or install
+ 	the Objective-C header files.  The Makefile for the runtime
+ 	library will do this.
+ 
+ 	* objc/Makefile.in (all.indirect): Only build the front-end.
+ 	(compiler): Rename to `frontend'.
+ 	(obj-runtime): Remove target.
+ 	(copy-headers): Likewise.
+ 	(clean): No need to remove `libobjc.a' any longer.
+ 
+ Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
+ 	supported with -mcpu=xxx.
+ 
+ Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* flow.c (mark_set_1): Recognize multi-register structure return
+ 	values in CALL insns.
+ 	(mark_used_regs): Likewise.
+ 	(count_reg_sets_1): Likewise.
+ 	(count_reg_references):	Likewise.
+ 	* rtlanal.c (note_stores): Likewise.
+ 	(reg_overlap_mentioned_p): Likewise.
+ 	* haifa-sched.c (check_live_1): Likewise.
+ 	(update_live_1): Likewise.
+ 	(sched_analyze_1): Likewise.
+ 	(sched_note_set): Likewise.
+ 	(birthing_insn_p): Likewise.
+ 	(attach_deaths): Likewise.
+ 
+ 	* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
+ 
+ Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
+ 
+ 	* config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
+ 
+ Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
+ 
+ Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* configure.in: Add check for GAS subsection -1 support.
+ 	* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
+ 	* configure config.in: Rebuilt.
+ 	* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
+ 	SImode is subsection -1 works, else use DImode.
+ 	(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
+ 	subsection -1 works.
+ 	* config/sparc/sparc.c (sparc_output_addr_vec,
+ 	sparc_output_addr_diff_vec): Use them if defined.
+ 
+ Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* tree.h (DECL_ORIGIN): New macro.
+ 	* integrate.c (copy_and_set_decl_abstract_origin): New function.
+ 	(copy_decl_list): Use it.
+ 	(integrate_parm_decls): Likewise.
+ 	(integrate_decl_tree): Likewise.
+ 	* dwarf2out.c (decl_ultimate_origin): Simplify.
+ 	* dwarfout.c (decl_ultimate_origin): Likewise.
+ 	* c-decl.c (duplicate_decls): Use DECL_ORIGIN.
+ 	(pushdecl): Likewise.
+ 
+ Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (output_epilog): Add Java support.
+ 
+ Thu Sep 10 14:48:59 1998  Martin von LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* invoke.texi (C++ Dialect Options): Document -fhonor-std.
+ 
+ Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
+ 	empty or has a single entry.
+ 
+ 	* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
+ 	before calling reg_to_stack.
+ 
+ Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alphaev5_insn_pipe): Abort on default case.
+ 	(alphaev5_next_group): Swallow CLOBBERs and USEs.
+ 
+ 	* c-tree.h (warn_long_long): Declare it.
+ 
+ Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  <moshier@world.std.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Disable optimization of
+ 	initialized float-int union if the value is a NaN.
+ 
+ Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* c-lex.c (real_yylex): Don't warn about long long constants if
+ 	we're allowing long long
+ 
+ Wed Sep  9 21:58:41 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* except.h (current_function_eh_stub_label): Declare.
+ 	(current_function_eh_old_stub_label): Declare.
+ 	* function.h (struct function): New members eh_stub_label and
+ 	eh_old_stub_label.
+ 	* except.c (current_function_eh_stub_label): New variable.
+ 	(current_function_eh_old_stub_label): New variable.
+ 	(init_eh_for_function): Clear them.
+ 	(save_eh_status): Save them.
+ 	(restore_eh_status): Restore them.
+ 	(expand_builtin_eh_stub): Set current_function_eh_stub_label.
+ 	(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
+ 	* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
+ 	make an edge from the block that contains it to the block starting
+ 	with the label if this label is one of the eh stub labels.
+ 	If eh stub labels exist, show they are reachable from the last block
+ 	in the function.
+ 
+ 	* reload1.c (reload): Break out several subroutines and make some
+ 	variables global.
+ 	(calculate_needs_all_insns): New function, broken out of reload.
+ 	(calculate_needs): Likewise.
+ 	(find_reload_regs): Likewise.
+ 	(find_group): Likewise.
+ 	(find_tworeg_group): Likewise.
+ 	(something_needs_reloads): New global variable, formerly in reload.
+ 	(something_needs_elimination): Likewise.
+ 	(caller_save_spill_class): Likewise.
+ 	(caller_save_group_size): Likewise.
+ 	(max_needs): Likewise.
+ 	(group_size): Likewise.
+ 	(max_groups): Likewise.
+ 	(max_nongroups): Likewise.
+ 	(group_mode): Likewise.
+ 	(max_needs_insn): Likewise.
+ 	(max_groups_insn): Likewise.
+ 	(max_nongroups_insn): Likewise.
+ 	(failure): Likewise.
+ 
+ 	* print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
+ 
+ Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (load_mems): Copy rtx for output mem.
+ 
+ Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
+ 	mips1 or mips2 either.
+ 
+ Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (pa_reorg): New marking scheme for jumps inside switch
+ 	tables.
+ 	(pa_adjust_insn_length): Update to work with new marking scheme
+ 	for jumps inside switch tables.
+ 	* pa.md (switch_jump): Remove pattern.
+ 	(jump): Handle jumps inside jump tables.
+ 
+ 	* Makefile.in (profile.o): Depend on insn-config.h
+ 
+ Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* iris6.h (DWARF2_UNWIND_INFO): Undef.
+ 
+ Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	Add preliminary native sparcv9 Solaris support.
+ 	* configure.in: Recognize sparv9-*-solaris2*
+ 	* configure: Rebuilt.
+ 	* config.sub: Recognize sparcv9 just like sparc64.
+ 	* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
+ 	config/sparc/sol2-cn.asm: Macroize so it can be shared between
+ 	32-bit and 64-bit Solaris systems.
+ 	* config/sparc/t-sol2: Assemble those with cpp.
+ 	* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
+ 	(*TF*_LIBCALL): If ARCH64 use V9 names.
+ 	* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New	files.
+ 
+ Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
+ 	(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
+ 	not doing pic.
+ 	(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
+ 	Pmode.
+ 	* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
+ 	to Pmode if CASE_VECTOR_MODE is something else.
+ 
+ Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* prefix.c (update_path): Correctly handle cases where PATH is
+ 	a substring of the builtin prefix, but specifies a different
+ 	directory location.
+ 
+ Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* expr.c: Corrected comment about what MOVE_RATIO does.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/1750a/1750a.h: Likewise.
+ 	* config/clipper/clipper.h: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 
+ Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (m68k-next-nextstep3*): Use collect2.
+ 	Similarly for x86 NeXT configurations.
+ 	* configure: Rebuilt.
+ 
+ Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* configure.in: Don't assume srcdir is .../gcc.
+ 	* configure: Rebuilt.
+ 
+ Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
+ 
+ 	* global.c: Update comments.
+ 	(global_alloc): Assign allocation-numbers
+ 	even for registers allocated by local_alloc in case
+ 	they are later spilled and retry_global_alloc is called.
+ 	(mark_reg_store, mark_reg_clobber,
+ 	mark_reg_conflicts, mark_reg_death): Always record a
+ 	conflict with a pseudo register even if it has been
+ 	assigned to a hard register.
+ 	(dump_conflicts): Don't list pseudo registers already assigned to
+ 	a hard register as needing to be allocated, but do list their
+ 	conflicts.
+ 	* local-alloc.c: Update comment.
+ 
+ Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
+ 	* configure: Rebuilt.
+ 
+ Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_override_options): Fix name for ec603e, to add
+ 	missing 'c'.
+ 	* t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
+ 	for all targets that set -msoft-float.
+ 
+ Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c (print_switch_values): Make static to match prototype.
+ 
+ Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: If we are unable to find the "gnatbind" program,
+ 	then do not configure the ada subdir.
+ 	* configure: Rebuilt.
+ 
+ Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o): Depend on $(EXPR_H).
+ 	(insn-extract.o, insn-attrtab.o): Depend on toplev.h.
+ 
+ 	* gansidecl.h: Define ATTRIBUTE_NORETURN.
+ 
+ 	* genattrtab.c: Have insn-attrtab.c include toplev.h.
+ 
+ 	* genextract.c: Have insn-extract.c include toplev.h.
+ 
+ 	* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
+ 
+ 	* toplev.c: Include expr.h.
+ 	(really_sorry, fancy_abort): Remove prototypes.
+ 	(set_target_switch): Add argument in prototype.
+ 	(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
+ 	(v_really_sorry): Likewise.
+ 	(print_version, print_single_switch, print_switch_values): Make
+ 	static and add prototype arguments.
+ 	(decl_printable_name): Add prototype arguments.
+ 	(lang_expand_expr_t): New typedef.
+ 	(lang_expand_expr): Declare as a lang_expand_expr_t.
+ 	(incomplete_decl_finalize_hook): Add prototype argument.
+ 	(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
+ 	(botch): Likewise for variable `s'.
+ 	(rest_of_type_compilation): Mark variables `type' and `toplev'
+ 	with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
+ 	XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
+ 	(display_help): Make variable `i' an `unsigned long'.
+ 	(main): Remove unused parameter `envp'.
+ 	Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
+ 	Cast -1 when comparing it with a `size_t'.
+ 
+ 	* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
+ 	prototype with ATTRIBUTE_NORETURN.
+ 	(fatal_insn_not_found, fatal_insn, really_sorry,
+ 	push_float_handler, pop_float_handler): Add prototypes.
+ 	(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
+ 	(do_abort, botch): Add prototypes.
+ 
+ Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* final.c (final): If a label is reached only from a single jump,
+ 	call NOTICE_UPDATE_CC on the jump and its predecessor before
+ 	emitting the insn after the label.
+ 
+ 	* i386.h: Add AMD K6 support.
+ 	Change TARGET_* macros to use table lookup.
+ 	(INITIALIZE_TRAMPOLINE): Improve trampoline code.
+ 	(ADJUST_COST): Change definition to call function in i386.c.
+ 	(ISSUE_RATE): Define as 2 for anything newer than an 80486.
+ 	* i386.c: Add AMD K6 support.
+ 	Add constants for feature tests used by TARGET_* macros.
+ 	(split_di): If before reload, call gen_lowpart and gen_highpart.
+ 	(x86_adjust_cost): New function.
+ 	(put_jump_code): New function.
+ 	(print_operand): New codes 'D' and 'd'.
+ 	* i386.md: New insn types.  New insn attribute "memory".
+ 	Redefine scheduling parameters to use new types and add AMD K6
+ 	support.  Explicitly set type of most insns.
+ 	(move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
+ 	Pro and K6 prefer movl $1,reg to incl reg.
+ 	(adddi3, subdi3): Set cc_status.
+ 	(DImode shift patterns): Change label counters from HOST_WIDE_INT
+ 	to int; x86 can't have more than 2^31 DImode shifts per	file.
+ 	(setcc): Combine all setcc patterns.  Allow writing memory.
+ 	Combine all jump patterns using match_operator.
+ 	(*bzero): Name pattern.  Emit multiple stos instructions when that
+ 	is faster than rep stos.
+ 	(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
+ 	add define_split.
+ 
+ Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
+ 	linking.
+ 
+ Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
+ 	not whatever we're generating now.
+ 
+ 	* alpha.c (set_frame_related_p, FRP): New.
+ 	(alpha_expand_prologue): Mark frame related insns.
+ 	(alpha_expand_epilogue): Likewise, but with a null FRP.
+ 	* alpha.h (INCOMING_RETURN_ADDR_RTX): New.
+ 	* alpha.md (exception_receiver): New.
+ 	* alpha/crtbegin.asm (.eh_frame): New beginning.
+ 	(__do_frame_setup, __do_frame_takedown): New.
+ 	* alpha/crtend.asm (.eh_frame): New ending.
+ 	* alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
+ 	(ASM_SPEC): Don't emit both dwarf2 and mdebug.
+ 	(ASM_FILE_START): Don't emit .file for dwarf2.
+ 
+ 	* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
+ 	* rtl.c (reg_note_name): Likewise.
+ 	* rtl.texi (REG_NOTES): Likewise.
+ 	* dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
+ 	without an offset.
+ 
+ Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
+ 	* i386.md (movsf, movdf, movxf): Validate memory address returned
+ 	from force_const_mem.  Kill useless REG_EQUAL setting code.
+ 
+ Sat Sep  5 14:23:31 1998  Torbjorn Granlund  <tege@matematik.su.se>
+ 
+ 	* m68k.md (zero_extendsidi2): Fix typo.
+ 
+ Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* configure.in: Removed references to the removed file.
+ 	* config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
+ 	arm*-*-netbsd* and ns32k-*-netbsd*.
+ 	* config/i386/xm-netbsd.h: Removed unnecessary file.
+ 	* config/m68k/xm-netbsd.h: Likewise.
+ 	* config/sparc/xm-netbsd.h: Likewise.
+ 	* config/mips/xm-netbsd.h: Likewise.
+ 
+ Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
+ 	(PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
+ 
+ 	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
+ 	for exact section attributions.
+ 
+ 	* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
+ 	runtime.
+ 	* i386/crtdll.h (CPP_PREDEFINES): Define.
+ 
+ Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (5200 movqi): Do not allow byte sized memory references
+ 	using address regs.
+ 	* m68k.c (output_move_qimode): Do not use byte sized operations on
+ 	address registers.
+ 
+ 	* Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
+ 	explicit rules for building.  Similarly for alloca, vfprintf,
+ 	choose-temp and mkstemp, getopt, getopt1, and obstack.
+ 	(INCLUDES): Add $(srcdir)/../include.
+ 	* pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
+ 	* getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
+ 
+ Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (do_spec_1): [case 'o'] Account for
+ 	lang_specific_extra_outfiles.
+ 	(main): Correctly clear all slots in outfiles for
+ 	lang_specific_extra_outfiles.  Set input_file_number before
+ 	calling lang_specific_pre_link.
+ 
+ Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
+ 
+ Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (output_double_int): In all V9 symbolic
+ 	cases, use xword.
+ 	(sparc_output_deferred_case_vectors): If no work to do, return.
+ 	Fix thinko in Sept 1 change.
+ 
+ 1998-09-03  SL Baur  <steve@altair.xemacs.org>
+ 
+ 	* Makefile.in: Add semicolon in BISON definition for portability.
+ 
+ Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* config/nextstep.c (handle_pragma): Correct name of third
+ 	argument.
+ 
+ Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
+ 	* config/m32r/m32r.h: Make register 17 be fixed.
+ 	* config/m32r/m32r.c: Use SImode for cc operations.
+ 
+ Thu Sep  3 18:17:34 1998  Benjamin Kosnik  <bkoz@cygnus.com>
+ 
+ 	* invoke.texi (Warning Options): Add -Wnon-template-friend
+ 	documentation.
+ 
+ Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
+ 
+ Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movsf): Disable explicit secondary-reload-like
+ 	functionality if TARGET_POWERPC64.
+ 	(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
+ 	functionality.
+ 
+ Thu Sep  3 11:41:40 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
+ 	and term.h from fixinc.wrap.
+ 
+ Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
+ 	safe to include both string.h and strings.h together.
+ 	(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
+ 	which headers to search for function declarations.  Continue to
+ 	prefer string.h over strings.h when both are not acceptable.
+ 
+ 	* acconfig.h (STRING_WITH_STRINGS): Add stub.
+ 
+ 	* configure.in: Call GCC_HEADER_STRING.
+ 
+ 	* system.h: Test STRING_WITH_STRINGS when deciding which headers
+ 	to include.  Continue to prefer string.h over strings.h when both
+ 	are not acceptable.
+ 
+ Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
+ 	not assume top 32-bits of symbolic addresses are zero if
+ 	flag_pic.
+ 
+ Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ginclude/va-alpha.h: Protect entire second portion of the
+ 	file against double inclusion.
+ 
+ Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
+ 
+ 	Added support for the Boehm's garbage collector.
+ 	* configure.in: Handle --enable-objc-gc.
+ 	* configure: Rebuilt.
+ 	* Makefile.in (CHECK_TARGETS): Add check-objc.
+ 	(check-objc): New rule.
+ 	* objc/Make-lang.in: Build a different Objective-C library that
+ 	runs with the Boehm's collector.
+ 	* objc/encoding.c (objc_round_acc_size_for_types): New function.
+ 	* objc/encoding.c: Correctly compute the size of compound types in
+ 	the presence of bitfields. Skip the variable name of the type if
+ 	any. Added support for long long.
+ 	* objc/encoding.h (_C_GCINVISIBLE): New specifier.
+ 	(_F_GCINVISIBLE): New mask.
+ 	* objc/gc.c: New file. Compute the type memory mask associated with
+ 	a class based on the runtime information.
+ 	* objc/misc.c: Added the hooks that use the Boehm's collector
+ 	allocation functions.
+ 	* objc/objc-act.c (build_class_template): Generate a new class
+ 	member (gc_object_type) to hold the class' type memory mask.
+ 	(build_shared_structure_initializer): Initialize the new member to
+ 	NULL.
+ 	(encode_complete_bitfield): New function. Generate the new
+ 	encoding.
+ 	(encode_field_decl): Generate the new encoding only for the GNU
+ 	runtime.
+ 	* objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
+ 	long long types.
+ 	(class_get_gc_object_type): New function to mark a pointer instance
+ 	variable as a weak pointer.
+ 	* objc/objc-features.texi: New file.
+ 	* objc/objc.h (gc_object_type): New class member.
+ 	* objc/objects.c (class_create_instance): Create a typed memory
+ 	object when compiled with Boehm's collector support.
+ 	* objc/sendmsg.c (__objc_init_install_dtable): Call
+ 	__objc_send_initialize instead of setting the initialize flag.
+ 	(__objc_send_initialize): Call __objc_generate_gc_type_description
+ 	to generate the class type memory mask. Rewrite the code that
+ 	sends the +initialize so that it is called only once (bug report
+ 	and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
+ 	* testsuite/objc: New testsuite for Objective-C type encoding.
+ 	* testsuite/lib/objc-torture.exp: New file.
+ 	* testsuite/lib/objc.exp: New file.
+ 
+ Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* jump.c (jump_optimize): In if/then/else transformations, add
+ 	another call to modified_between_p for the jump insn.
+ 
+ Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fix-header.c (symlink): Treat like readlink.
+ 
+ Wed Sep  2 19:30:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
+ 	as FT_float.
+ 
+ Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/nextstep.h:    Update HANDLE_PRAGMA macro.
+ 	* config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
+ 	* config/i960/i960.h:   Update HANDLE_PRAGMA macro.
+ 
+ 	* config/nextstep.c (handle_pragma): Take three arguments, as per
+ 	the new HANDLE_PRAGMA macro specification.
+ 	* config/h8300/h8300.c (handle_pragma): Take three arguments, as
+ 	per the new HANDLE_PRAGMA macro specification.
+ 	* config/i960/i960.c (process_pragma): Take three arguments, as
+ 	per the new HANDLE_PRAGMA macro specification.
+ 
+ Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* c-lex.c (check_newline): Call HANDLE_PRAGMA before
+ 	HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
+ 	if unknown pragmas are encountered.
+ 	(handle_sysv_pragma): Interpret return code from
+ 	handle_pragma_token ().  Return success/failure indication rather
+ 	than next unprocessed character.
+ 	(pragma_getc): New function: retrieves characters from the
+ 	input stream.  Defined when HANDLE_PRAGMA is enabled.
+ 	(pragma_ungetc): New function: replaces characters back into the
+ 	input stream.  Defined when HANDLE_PRAGMA is enabled.
+ 
+ 	* c-pragma.c (handle_pragma_token): Return success/failure status
+ 	of the parse.
+ 
+ 	* c-pragma.h: Change prototype of handle_pragma_token().
+ 
+ 	* varasm.c (handle_pragma_weak): Only create this function if
+ 	HANDLE_PRAGMA_WEAK is defined.
+ 
+ 	* c-common,c (decl_attributes): If defined call the expression
+ 	contained within the INSERT_ATTRIBUTES macro before adding
+ 	attributes to a decl.
+ 
+ 	* tm.texi (HANDLE_PRAGMA): Document the new version of
+ 	HANDLE_PRAGMA, which takes three arguments.
+ 	(INSERT_ATTRIBUTES): Document this new macro.
+ 
+ 	* LANGUAGES: Document the new version of HANDLE_PRAGMA and the
+ 	new INSERT_ATTRIBUTES macro.
+ 
+ Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movdf): Only generate special RTL for
+ 	LABEL_REFs when PIC.
+ 	(move_label_di): Remove.
+ 	(movdi_pic_label_ref, movdi_high_pic_label_ref,
+ 	movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
+ 	references when PIC.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
+ 	ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
+ 	output an .xword for all 64-bit cases.
+ 
+ Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
+ 	alignment, use FUNCTION_BOUNDARY instead.
+ 	(sparc_output_deferred_case_vectors): Likewise.
+ 
+ Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movsf_const_intreg): Kill warning.
+ 	(movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
+ 
+ Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/va_list.h: New file.
+ 	* alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
+ 
+ Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* NEWS: Add SCO Openserver and Unixware 7 notes.
+ 
+ 	* NEWS: Fix typos.
+ 
+ Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* varasm.c (compare_constant_1): Handle RANGE_EXPR.
+ 	(record_constant_1): Handle RANGE_EXPR.
+ 
+ Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
+ 	* haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
+ 	and NOTE_INSN_RANGE_END specially.
+ 	(reemit_notes): Likewise.
+ 
+ Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
+ 	(ultrasparc_sched_init): Remove unneeded &.
+ 
+ Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
+ 	for m68020-60, to prevent the use of fintrz.
+ 
+ Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
+ 	even in stage1.
+ 	* Makefile.in: Likewise.
+ 	* configure: Regenerated.
+ 
+ Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* configure.in (gxx_include_dir): Changed to
+ 	'${prefix}/include/g++'-${libstdcxx_interface}.
+ 	* configure: Rebuilt.
+ 
+ Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
+ 	consistent.
+ 	* tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
+ 	*sequences* *below* which scalar moves will be used.
+ 
+ Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* collect2.c (mktemp): Delete unused declaration.
+ 
+ 	* config/xm-netbsd.h: Remove unnecessary file.
+ 	* config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
+ 	file anymore, it is not needed.
+ 
+ Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* convert.c (convert_to_integer): Issue an error on conversions to
+ 	incomplete types.
+ 
+ Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* Makefile.in: Add lang_tree_files and gencheck.h.
+ 	* configure.in: Generate them.
+ 	* gencheck.c: Include gencheck.h.
+ 
+ Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
+ 	movdi_lo_sum_pic and movdi_high_pic and make visible.
+ 	* config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
+ 	emit these when Pmode is not SImode.
+ 	* config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
+ 
+ Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
+ 	.linkonce directive after the first time.
+ 
+ Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (beq0_di): Generate correct (and more efficient) code when
+ 	the clobbered operand overlaps with an input.
+ 	(bne0_di): Similarly.
+ 
+ 	* Makefile.in (INSTALL): Remove "--no-header" argument.
+ 
+ 	* NEWS: Various updates.
+ 
+ Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (arith_operand, const64_operand,
+ 	const64_high_operand, arith_double_4096_operand): Mark mode as
+ 	unused.
+ 	(create_simple_focus_bits): Remove unused arg highest_bit_set, all
+ 	callers changed.
+ 	(sparc_emit_set_const64): Remove unused variable i.
+ 	(sparc_splitdi_legitimate): Likewise for addr_part.
+ 	(ultra_code_from_mask): Likewise for mask.
+ 	(ultra_cmove_results_ready_p): Fixup entry modulo calc. and
+ 	reverse return values so it matches usage and comments.
+ 	(ultra_flush_pipeline): Likewise.
+ 	(ultra_fpmode_conflict_exists): Likewise, remove unused variable
+ 	this_type, and allow loads and stores of differing FP modes as
+ 	they do not create a conflict.
+ 	(ultra_find_type): Initialize fpmode to SFmode, fix
+ 	parenthesization thinkos in large conditional.
+ 	(ultrasparc_sched_init): Mark dump and sched_verbose as unused.
+ 	Init free_slot_mask after ultra_cur_hist is reset, not before.
+ 	(ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
+ 	(ultrasparc_sched_reorder): Don't bzero current pipeline state,
+ 	use ultra_flush_pipeline instead, then re-init group pointer.
+ 	Fix statement with no effect.  If no progress made in, and no
+ 	instructions scheduled at all, advance to new pipeline cycle else
+ 	we get into an endless loop.
+ 	(ultrasparc_adjust_cost): Remove previous arg.
+ 	* config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
+ 
+ Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
+ 	code.  Use reg_overlap_mentioned_p to detect when source and
+ 	destination overlap.
+ 	(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
+ 
+ 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
+ 	COMPARISON_VAL, into invariant_p.
+ 
+ Fri Aug 28 15:13:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (regclass_compatible_p): New function.
+ 	(regmove_optimize): Use it.
+ 
+ 	Use NREGS parameter instead of calling max_reg_num.
+ 
+ 	(fixup_match_1): Don't use code = MINUS when later tieing with
+ 	a hard register is likely.
+ 
+ Fri Aug 28 14:54:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
+ 	COMPARISON_VAL was normalized.
+ 
+ Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (check_dbra_loop): The loop ending comparison value
+ 	must be an invariant or we can not reverse the loop.
+ 
+ 	* loop.c (scan_loop): Count down from max_reg_num - 1 to
+ 	FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
+ 	of the loop.
+ 	(load_mems_and_recount_loop_regs_set): Likewise.
+ 
+ 	* i386.c (print_operand): Remove obsolete 'c' docs.
+ 
+ Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
+ 	* frame.c (init_object_mutex): New function.
+ 	(init_object_mutex_once): Likewise.
+ 	(find_fde): Call it.
+ 	(__register_frame_info): Likewise.
+ 	(__register_frame_info_table): Likewise.
+ 	(__deregister_frame_info): Likewise.
+ 
+ Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
+ 
+ Thu Aug 27 16:34:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): Enable code for reversal
+ 	of some loops without a known constant loop end.
+ 
+ Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (last_clock_var): New.
+ 	(schedule_block): Initialize it.
+ 	(schedule_insn): Use it to fill insn modes with issue information.
+ 
+ 	* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
+ 	Tag trapb and next insn with TImode.
+ 	(alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
+ 	(alpha_reorg): Add conditional for alpha_handle_trap_shadows.
+ 	Invoke alphaev5_align_insns as appropriate.
+ 	* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
+ 	(MD_SCHED_VARIABLE_ISSUE): New.
+ 	* alpha.md (attr type): Add multi.
+ 	(define_asm_attributes): New.
+ 	(prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
+ 	(arg_home): Likewise.
+ 	(fnop, unop, realign): New.
+ 
+ Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
+ 	* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
+ 
+ 	* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
+ 	(rs6000-ibm-aix4.[12]*): Likewise.
+ 	* configure: Regenerate.
+ 
+ Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
+ 	already contains the return address.
+ 
+ Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (expand_call): Use bitfield instructions to extract/deposit
+ 	word sized hunks when loading unaligned args into registers.
+ 
+ 	* haifa-sched.c (sched_analyze_insn): Only create scheduling
+ 	barriers for LOOP, EH and SETJMP notes on the loop_notes list.
+ 
+ 	* mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
+ 
+ Wed Aug 26 16:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): Add some code that would allow reversal
+ 	of some loops without a known constant loop end if it were enabled.
+ 
+ Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* mips.md (lshrsi3_internal2+2): Fix type-o.
+ 
+ Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Include stdarg.h/varargs.h, make sure they are ordered
+ 	correctly with regards to stdio.h.
+ 
+ 	* calls.c: Remove stdarg.h/varargs.h.
+ 	* cccp.c: Likewise.
+ 	* cexp.y: Likewise.
+ 	* combine.c: Likewise.
+ 	* cpperror.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* doprint.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* final.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* genattr.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree.c: Likewise.
+ 
+ Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* config/sparc/sparc.c (sparc_override_options): If not
+ 	TARGET_FPU, turn off TARGET_VIS.
+ 	* config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
+ 	(LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
+ 	* config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
+ 	(movdi_insn_sp64): Add VIS fzero alternative.
+ 	(clear_sf, clear_df): New VIS patterns.
+ 	(movsf, movdf expanders): Allow fp_zero_operand flat out when
+ 	TARGET_VIS.
+ 	(one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
+ 
+ Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* loop.c (n_times_set, n_times_used, may_not_optimize,
+ 	reg_single_usage): Convert to varrays.  All uses changed.
+ 	(insert_loop_mem): Return a value.
+ 	(scan_loop): Tweak AVOID_CC_MODE_COPIES code.
+ 	(load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
+ 	necessary.
+ 
+ Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* From Alexandre:
+ 	* configure.in: Do not set thread_file to "irix" since no such
+ 	support exists yet.
+ 
+ 	* sparc.md (float abs/neg splits): Check reload_completed before
+ 	calling alter_subreg.
+ 
+ Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
+ 	function.
+ 	* config/sparc/sparc.h: Declare it.
+ 	* config/sparc/sparc.md (float abs/neg splits): Use it.
+ 	(all other splits): Handle SUBREGs properly where necessary.
+ 	(unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
+ 
+ Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
+ 	an insn on the unfilled_slots_list that has no delay slots.
+ 	(fill_eager_delay_slots): Similarly.
+ 
+ Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
+ 	as an ordinary operand.
+ 
+ Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (valid_machine_attribute): Don't apply attributes to both
+ 	decl and type.
+ 
+ Tue Aug 25 12:23:20 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (operands_match_p): Handle rtvecs.
+ 
+ 	* i386.c (legitimate_pic_address_disp_p): New.
+ 	(legitimate_address_p): Use it.
+ 	(legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
+ 	Handle constant pool symbols just like statics.
+ 	(emit_pic_move): Use Pmode not SImode for clarity.
+ 	(output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
+ 	[UNSPEC]: New, handling what we killed above.
+ 	[PLUS]: Detect and abort on invalid symbol arithmetic.
+ 	* i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
+ 
+ Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* alias.c: Include output.h.
+ 	(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
+ 	different if we're in a varargs function.
+ 	* Makefile.in (alias.o): Depend on output.h
+ 
+ Tue Aug 25 19:20:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (GIV_SORT_CRITERION): Delete.
+ 
+ Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* regclass.c (regclass): Use xmalloc/free instead of alloca.
+ 	* stupid.c (stupid_life_analysis): Likewise.
+ 	* reload1.c (reload): Likewise.
+ 
+ Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
+ 
+ 	* config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
+ 	arith_double_4096_operand, arith_double_add_operand): New
+ 	predicates.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
+ 	* config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
+ 	them to transform add/sub 4096 into add/sub -4096.
+ 
+ Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* loop.c (scan_loop): Allocate some slop to handle pseudos
+ 	generated by move_movables.
+ 	(load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
+ 	here too.
+ 
+ Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* tree.def (DECL_RESULT): Correct documentation.
+ 
+ Tue Aug 25 01:15:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
+ 	all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
+ 	conflicts will all RELOAD_FOR_OUTPUT reloads.
+ 
+ 	* reload1.c (reload_cse_regs_1): When deleting a no-op move that
+ 	loads the function result, substitute with a USE.
+ 
+ Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
+ 	when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
+ 	(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
+ 	* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
+ 	(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
+ 	* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
+ 	operand.
+ 	(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
+ 	'o' to 'm' for GPR variant constraints.
+ 
+ Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
+ 
+ 	* h8300.h (STRIP_NAME_ENCODING): Fix typo.
+ 
+ 	* sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
+ 	when the source and destination overlap.
+ 
+ 	* stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
+ 	clash with global type.
+ 
+ Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* fixinc.irix: Add curses.h handling from fixinc.wrap.
+ 
+ 	* c-common.c (combine_strings): Also set TREE_READONLY.
+ 	Change warn_write_strings to flag_const_strings.
+ 	* c-decl.c, c-tree.h: Likewise.
+ 
+ Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
+ 	CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
+ 	sequence, use SET/IOR instead so CSE can see it.
+ 	* config/sparc/sparc.md (movhi_const64_special,
+ 	movsi_const64_special): New patterns necessitated by that change.
+ 	(movhi_high): Remove.
+ 	(movhi_lo_sum): Change to match an IOR.
+ 	(movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
+ 	(movdf_insn_v9only): New pattern for when V9 but not ARCH64.
+ 	(movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
+ 	(movdf splits): Allow when not V9 or when not ARCH64 and integer
+ 	registers are involved.
+ 	(snesi_zero_extend split): Remove reload_completed test.
+ 	(unnamed plus and minus zero_extend sidi splits): Add it.
+ 
+ Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* extend.texi: Remove description of extension to explicit
+ 	instantiation that is now endorsed by standard C++.
+ 
+ Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/arc/arc.c (arc_initialize_pic): Remove.
+ 	* config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
+ 	nothing on any platform and is invoked by no-one, it does not even
+ 	appear in the documentation.
+ 	* config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
+ 	* config/sparc/sparc.c (initialize_pic): Likewise.
+ 	(find_addr_reg): Remove this as well, no longer referenced after
+ 	my rewrite.
+ 
+ Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* recog.c (validate_replace_rtx_group): New function.
+ 	* recog.h (validate_replace_rtx_group): Declare it.
+ 	* regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
+ 	the entire group of substitutions.
+ 
+ Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
+ 
+ 	* loop.c (load_mems): Fix initializers.
+ 
+ Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (TFmode splits): Handle destination
+ 	registers being referenced in the address correctly.
+ 
+ 	* expmed.c (make_tree) [CONST_INT]: Sign extend even if
+ 	TREE_UNSIGNED, when bitsize of type's mode is larger than
+ 	HOST_BITS_PER_WIDE_INT.
+ 
+ Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
+ 	* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+ 	EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
+ 	macros.
+ 	* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
+ 	EXIT_BLOCK_EXPR.
+ 
+ Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.c (h8300_encode_label): Use '&' for tiny data items.
+ 	* h8300.h (TINY_DATA_NAME_P): Likewise.
+ 	(STRIP_NAME_ENCODING): Handle '&'.
+ 
+ 	* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
+ 	register (it could be accessed via an outer SUBREG).
+ 	(REG_OK_FOR_BASE_P): Likewise.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
+ 
+ 	* remove.c (optimize_reg_copy_3): Abort instead of silently generating
+ 	bogus rtl.
+ 
+ 	* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
+ 
+ Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movtf_insn_sp32): All memory operands
+ 	must be offsettable so the splits can be made.
+ 
+ Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* config/i386/winnt.c: Include system.h, not stdio.h to get
+ 	sys/param.h pulled in before rtl.h in case the system defines MIN
+ 	and MAX.
+ 
+ Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
+ 
+ Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
+ 	arrays of bits.
+ 	* cpplib.c (cpp_define): Handle macros with parameters.
+ 
+ Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
+ 	(output_toc): Use single TOC slot or llong minimal-toc for DFmode
+ 	and DImode 64-bit.  Use llong for minimal-toc SFmode and
+ 	SYMBOL_REF / LABEL_REF 64-bit.
+ 	(output_function_profiler): Use llong for profiler label and ld to
+ 	load 64-bit label address.
+ 
+ Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
+ 
+ 	* config/arm/thumb.md (extendqisi2_insn): Cope with REG +
+ 	OFFSET addressing.
+ 
+ Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* collect2.c (extract_init_priority): Use atoi instead of strtoul.
+ 
+ Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* tm.texi (Misc): Fix typo "teh".
+ 
+ 	* tm.texi (PIC): Fix typo "PPIC".
+ 
+ 	* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
+ 	effect when -O2 and higher.
+ 	* invoke.texi (Optimize Options): Likewise for -fcaller-saves.
+ 
+ 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
+ 
+ 	* regclass.c: Changed register set documentation to be consistent
+ 	with GCC behavior.
+ 
+ 	* final.c (final_start_function): Removed redundant test for
+ 	call_fixed_regs.
+ 
+ Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.h (rtx_function): New type.
+ 	(for_each_rtx): New function.
+ 	* rtlanal.c (for_each_rtx): Define it.
+ 
+ 	* recog.c (change_t): New type.
+ 	(change_objects, change_old_codes, change_locs, change_olds):
+ 	Replace with ...
+ 	(changes): New variable.
+ 	(validate_change): Dynamically allocate room for more changes, if
+ 	necessary.  Uses changes array instead of change_objects, etc.
+ 	(apply_change_group): Use changes array instead of
+ 	change_objects, etc.
+ 
+ 	* loop.c (loop_mem_info): New type.
+ 	(loop_mems): New variable.
+ 	(loop_mems_idx): Likewise.
+ 	(looop_mems_allocated): Likewise.
+ 	(scan_loop): Remove nregs parameter.
+ 	(next_insn_in_loop): New function.
+ 	(load_mems_and_recount_loop_regs_set): Likewise.
+ 	(load_mems): Likewise.
+ 	(insert_loop_mem): Likewise.
+ 	(replace_loop_mem): Likewise.
+ 	(replace_label): Likewise.
+ 	(INSN_IN_RANGE_P): New macro.
+ 	(loop_optimize): Don't pass max_reg_num() to scan_loop.
+ 	(scan_loop): Remove nregs parameter, compute it after any new
+ 	registers are created by load_mems.  Use INSN_IN_RANGE_P and
+ 	next_insn_in_loop rather than expanding them inline.  Call
+ 	load_mems to load memory into pseudos, if appropriate.
+ 	(prescan_loop): Figure out whether or not there are jumps from the
+ 	loop to targets other than the label immediately following the
+ 	loop.  Call insert_loop_mem to notice all the MEMs used in the
+ 	loop, if it could be safe to pull MEMs into REGs for the duration
+ 	of the loop.
+ 	(strength_reduce): Use next_insn_in_loop.  Tweak comments.
+ 
+ Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (arm_override_options): Remove lie about ignoring PIC flag.
+ 
+ Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (finalize_pic): Check for the correct
+ 	nonlocal_goto_receiver UNSPEC number.
+ 	* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
+ 	making note of this dependency existing in sparc.c.
+ 	(negtf2_notv9 split): Give NEG SFmode.
+ 	(negsf2): Fix insn output string.
+ 
+ Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-common.c (decl_attributes): Issue an error if the argument
+ 	to alias is not a string.
+ 
+ Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
+ 	pending memory flush list.
+ 
+ 	* combine.c (can_combine_p): Allow combining insns with REG_RETVAL
+ 	notes.
+ 	(try_combine): Allow combining insns with REG_LIBCALL notes.
+ 
+ 	* expr.c (emit_block_move): Do not call memcpy as a libcall
+ 	instead build up a CALL_EXPR and call it like any other
+ 	function.
+ 	(clear_storage): Similarly for memset.
+ 
+ 	* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
+ 	on notes.
+ 
+ 	* Makefile.in (cplus-dem.o): Provide explicit rules for building
+ 	cplus-dem.o.
+ 
+ 	* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
+ 	and REG_LIVE_LENGTH as successful substitutions are made.
+ 
+ Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
+ 	statement after end of loop label.
+ 
+ Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (ultra_types_avail): New variable.
+ 	(ultra_build_types_avail): New function to record mask of insn
+ 	types in ready list at this cycle.
+ 	(ultrasparc_sched_reorder): Call it.
+ 	(ultra_find_type): Use it to quicken the search.  Also simplif
+ 	dependency check, don't use rtx_equal_p because we know exactly
+ 	what we are looking for.
+ 
+ Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
+ 	for architecture v4.
+ 
+ Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
+ 	gen_compare_reg.
+ 	(movsf_const_intreg, movsf_const_high, movsf_const_lo,
+ 	movdf_const_intreg and helper splits): New patterns to move float
+ 	constants into integer registers.
+ 	(negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
+ 	splits.
+ 
+ Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* From Graham
+ 	* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
+ 	to itype.
+ 	* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
+ 
+ 	* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
+ 	a BASE_REGS register is needed as an intermediate when copying
+ 	a symbolic value into any register class other than BASE_REGS.
+ 
+ 	* expr.c (move_by_pieces): No longer static.  Remove prototype.
+ 	* rtl.h (move_by_pieces): Add extern prototype.
+ 	* mips.c (expand_block_move): Handle aligned straight line copy by
+ 	calling move_by_pieces.
+ 
+ 	* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
+ 	and VAR_DECLs.
+ 
+ Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* stmt.c (expand_end_loop): Tidy.  Allow unconditional
+ 	jumps out of the loop to be treated as part of the exit test.
+ 
+ Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
+ 	* cplus-dem.c: Delete.
+ 
+ 	* Makefile.in (fold-const.o): Depend on $(RTL_H).
+ 
+ 	* fold-const.c: Include rtl.h to get the prototype for
+ 	`set_identifier_local_value'.
+ 
+ 	* loop.c (express_from_1): Remove unused variable `tmp'.
+ 	(combine_givs): Cast the first argument of bzero to char *.
+ 
+ 	* toplev.c (display_help): Remove unused variable `looking_for_start'.
+ 
+ 	* c-decl.c (init_decl_processing): Remove unneeded &.
+ 
+ 	* alpha.h (alpha_initialize_trampoline): Provide prototype.
+ 
+ 	* except.c (set_exception_lang_code, set_exception_version_code):
+ 	Change parameter from `short' to `int' to avoid using a gcc
+ 	extension.
+ 
+ 	* except.h (set_exception_lang_code, set_exception_version_code):
+ 	Likewise for prototypes.
+ 
+ 	* flow.c (count_reg_references): Remove unused variables `regno'
+ 	and `i'.
+ 
+ 	* gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
+ 
+ 	* prefix.c (translate_name): Cast the result of `alloca'.
+ 
+ 	* varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
+ 
+ Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
+ 	Include "toplev.h".
+ 	(valid_dbcc_comparison_p): Mark mode argument as unused.
+ 	(symbolic_operand): Likewise.
+ 	(legitimize_pic_address): Likewise.
+ 	(const_uint32_operand): Likewise.
+ 	(const_sint32_operand): Likewise.
+ 	* sched.c [!INSN_SCHEDULING]: Define only dummy function
+ 	schedule_insns and comment out rest of file.
+ 
+ 	* m68k.c (output_move_simode_const): Use subl to move a zero into an
+ 	address register.
+ 	(output_move_[hq]imode): Likewise.
+ 
+ Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
+ 	* invoke.texi: Corresponding changes.
+ 
+ Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regclass.c (allocate_reg_info): Respect MIN when clearing data.
+ 
+ Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (ultra_code_from_mask,
+ 	ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
+ 	ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
+ 	ultrasparc_sched_init, ultrasparc_variable_issue,
+ 	ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
+ 	functions to describe UltraSPARC pipeline exactly to Haifa.
+ 	(ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
+ 	as there is nothing the scheduler can do about it.  Indicate that
+ 	REG_DEP_OUTPUT's collide.  Fixup formatting.
+ 	* config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
+ 	divide costs on Ultra for DImode.
+ 	(MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
+ 	Define.
+ 	* config/sparc/sparc.md (ieu_unnamed function unit): Rename to
+ 	ieuN and add call_no_delay_slot to type list.
+ 	(cti function unit): New unit for branches on UltraSPARC.
+ 	(subx/addx insns): Set type to misc.
+ 	(sidi zero/sign extension insns on arch64): Set type to shift.
+ 	(sign_extendhidi2_insn): Set type to sload.
+ 
+ Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
+ 	(output_epilog): Use if != 0 for offset.
+ 	(rs6000_fatal_bad_address): Prepare for Intl.
+ 	* rs6000.h (rs6000_fatal_bad_address): Declare.
+ 	* rs6000.md (movsfcc, movdfcc): Use else if.
+ 	(elf_high): Use {liu|lis}.
+ 	(elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
+ 	(movsi): Use rs6000_fatal_bad_address.
+ 
+ Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (find_equiv_reg): Reject equivalences separated
+ 	by a volatile instruction.
+ 
+ Sun Aug 16 00:21:44 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
+ 
+ Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (movsicc): Fix mode mismatch.
+ 
+ Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
+ 	return type.
+ 	* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
+ 	write-only modifier from operand 1 constraint.
+ 
+ Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
+ 	emitting a XOR of -1 at the end, emit a NOT instead for combine's
+ 	sake.
+ 	(sparc_emit_set_const64): Likewise, also when computing trailing
+ 	bits do not negate low_bits and make fast_int an int.
+ 
+ Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (add_label_notes): Do not ignore references to labels
+ 	before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
+ 	* gcse.c (add_label_notes): Similarly.
+ 
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
+ 
+ 	* m68k.md (adddi_dilshr32): One of the operands must be a register.
+ 	(adddi_dishl32): Similarly.
+ 
+ Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
+ 	* alias.c (memrefs_conflict_p): Add braces to shut up warnings.
+ 	* cse.c (cse_basic_block): Add parens to shut up warnings.
+ 
+ Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const64_quick2,
+ 	sparc_emit_set_const64_longway, const64_is_2insns,
+ 	create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
+ 	in 64-bit constant formation.
+ 	* config/sparc/sparc.md (snesi_zero_extend split): Generate
+ 	rtl for addx not subx.
+ 	(define_insn movdi_const64_special): Make available even when
+ 	HOST_BITS_PER_WIDE_INT is not 64.
+ 	(movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
+ 	(losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
+ 	(cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
+ 	instances of operand 1 inside a QI subreg.
+ 	(xordi3_sp64_dbl): Remove '%' constraint for op1.
+ 	(one_cmpldi2_sp64): Fix output string.
+ 	(one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
+ 	alternative case.
+ 	(unnamed arch64 ashift DI): Truncate shift count if greater than
+ 	63, not 31.
+ 
+ Fri Aug 14 21:52:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (store_expr): Don't optimize away load-store pair
+ 	when either source or destination have a side effect.
+ 
+ Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* genrecog.c (add_to_sequence): Fatal error if the modes of the
+ 	operands of SET are incompatible.
+ 
+ 	* alpha.md: Fix max and min patterns so modes of SET operands match.
+ 
+ Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* configure.in: Avoid [[ by using test and changequote.
+ 	* configure: Rebuild.
+ 
+ Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* rtl.def (CONSTANT_P_RTX): Fix typo in string name.
+ 
+ 	* config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
+ 	seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
+ 	split, snedi_zero_trunc and split, seqsi_zero_extend and split,
+ 	seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
+ 	movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
+ 	split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
+ 	Fix mismatching modes in SET operands.
+ 	(conditional move patterns): Fix formatting.
+ 	(unnamed subx arch64 pattern): Remove duplicate insn.
+ 
+ Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (const64_operand, const64_high_operand):
+ 	Get it right when HOST_BITS_PER_WIDE_INT is not 64.
+ 	(input_operand): Fixup test for what we accept for constant
+ 	integers.
+ 	(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
+ 	set VOIDmode.
+ 	(safe_constDI): Remove.
+ 	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
+ 	gen_safe_XOR64): New functions.
+ 	(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
+ 	sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
+ 	them.
+ 	* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
+ 	available when HOST_BITS_PER_WIDE_INT is not 64.
+ 	(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
+ 	move before movdi_insn_sp64 pattern.
+ 	(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
+ 	(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
+ 	symbolic_operand as predicate for second operand.
+ 	(DImode minus split on arch32, negsi2 expander, one_cmplsi2
+ 	expander): Give set VOIDmode.
+ 
+ Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
+ 
+ Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
+ 
+ 	* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
+ 
+ Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
+ 	point.
+ 	(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
+ 
+ Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* install.texi: Various SCO OpenServer tweaks.
+ 
+ Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Handle another case when
+ 	eliminating the frame pointer to the hard frame pointer.  Add
+ 	missing	ep->to_rtx check to one existing case.
+ 
+ 	* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
+ 
+ Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.h: De-conditionalize init_priority code.
+ 
+ 	* mips.h (NM_FLAGS): Change from -Bp to -Bn.
+ 	* collect2.c (NM_FLAGS): Change from -p to -n.
+ 
+ 	* configure.in: Turn on collect2 for mipstx39-elf.
+ 	Handle use_collect2=no properly.
+ 
+ 	* c-common.c: De-conditionalize init_priority code.
+ 	* collect2.c (extract_init_priority, sort_ids): New fns.
+ 	(main): Call sort_ids.
+ 	Move sequence_number to file scope.
+ 
+ 	* configure.in: Handle --enable-init-priority.
+ 	* c-common.c (attrs): Add A_INIT_PRIORITY.
+ 	(init_attributes, decl_attributes): Likewise.
+ 	* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
+ 	* tree.c (get_file_function_name_long): Split out...
+ 	(get_file_function_name): ...from here.
+ 
+ Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* expr.c (safe_from_p): Change code to ERROR_MARK only when not
+ 	accessing nodes.
+ 
+ Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (display_help): Add braces to shut up warnings.
+ 	* tree.c (simple_cst_equal): Likewise.
+ 
+ 	* fold-const.c (non_lvalue): Don't deal with null pointer
+ 	constants here.
+ 	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
+ 
+ 	* c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
+ 	of any size to a pointer.
+ 
+ Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
+ 
+ Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
+ 	which will be saved.
+ 	* mn10300.md (prologue insn): Only save registers which need saving.
+ 	(epilogue insn): Similarly.
+ 
+ 	* mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
+ 	optimizations.
+ 
+ Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
+ 	VAR_DECL's in gp addressable sections.
+ 
+ Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* sparc.c: Change return <exp> to <exp>; return; in functions
+ 	returning void.
+ 	* sparc.md: Add empty semicolon statement after final label in
+ 	move expanders.
+ 
+ Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (define_insn addx_extend): Rename to
+ 	addx_extend_sp64, only allow when TARGET_ARCH64.
+ 	(define_insn addx_extend_sp32 and split): Version that works when
+ 	not TARGET_ARCH64.
+ 	(define_insn subx_extend): Likewise.
+ 	(define_split adddi3 and subdi3 with zero extension): Fixup and
+ 	correct bugs when not TARGET_ARCH64.
+ 
+ Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* except.c (set_exception_lang_code, set_exception_version_code):
+ 	Use prototype-style definition if __STDC__, to match declaration
+ 	in except.h.
+ 
+ 	* genemit.c: Change FAIL and DONE macros not to use loops.
+ 
+ Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
+ 	ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
+ 
+ 	* mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
+ 
+ Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* README.g77: Update from Craig.
+ 
+ Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
+ 	type HOST_WIDE_INT.
+ 	(safe_constDI sparc_emit_set_const64_quick1,
+ 	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
+ 	analyze_64bit_constant, const64_is_2insns,
+ 	create_simple_focus_bits): Fix some bugs when compiled on real
+ 	64-bit hosts.
+ 	(function_arg_record_value_3, function_arg_record_value_2,
+ 	function_arg_record_value): Add fully prototyped forward decls.
+ 	* config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
+ 	to cmpsi_insn and use on both 64 and 32 bit targets.
+ 	(define_insn cmpsi_insn_sp64): Remove.
+ 	(define_expand zero_extendsidi2): Allow for 32-bit target too.
+ 	(define_insn zero_extendsidi2_insn): Rename to
+ 	zero_extendsidi2_insn_sp64.
+ 	(define_insn zero_extendsidi2_insn_sp32): New pattern and
+ 	associated forced split for it.
+ 
+ 	* config/sparc/sparc.c (const64_operand, const64_high_operand):
+ 	New predicates.
+ 	* config/sparc/sparc.h: Declare them.
+ 	(PREDICATE_CODES): Add them.
+ 	* config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
+ 	movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
+ 
+ Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
+ 	in v9 case as the latter makes the Solaris assembler crash.
+ 
+ Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
+ 	for TFmode when !v9.  We require offsettable memory addresses.
+ 	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
+ 	DFmode register number conversions.
+ 	* config/sparc/sparc.md (define_split DFmode moves): If register
+ 	is a SUBREG do alter_subreg on it before using.
+ 	(define_expand movtf): Fixup comment about alignment on v9.
+ 	(define_split TFmode moves): Don't use gen_{high,low}part, create
+ 	explicit SUBREGs instead.
+ 
+ Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* Makefile.in (mbchar.o): Depend on mbchar.c.
+ 
+ Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Rewrite SPARC backend for better code generation and
+ 	improved sparc64 support.
+ 	* config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
+ 	zero.
+ 	* config/sparc/sysv4.h: Likewise.
+ 	* config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
+ 	move_operand, v8plus_regcmp_op, emit_move_sequence,
+ 	singlemove_string, doublemove_string, mem_aligned_8,
+ 	output_move_double, output_move_quad, output_fp_move_double,
+ 	move_quad_direction, output_fp_move_quad, output_scc_insn):
+ 	Remove.
+ 	(small_int_or_double): New predicate.
+ 	(gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
+ 	(legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
+ 	old pic_{sethi,lo_sum}_si patterns.
+ 	(mem_min_alignment): New generic function to replace
+ 	mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
+ 	available and can test for arbitrary alignments.  All callers
+ 	changed.
+ 	(save_regs, restore_regs, build_big_number,
+ 	output_function_prologue, output_cbranch, output_return,
+ 	sparc_flat_save_restore, sparc_flat_output_function_prologue,
+ 	sparc_flat_output_function_epilogue): Prettify
+ 	insn output.
+ 	(output_function_epilogue): Likewise and add code to output
+ 	deferred case vectors.
+ 	(output_v9branch): Likewise, add new arg INSN and use it to tack
+ 	on branch prediction settings.  All callers changed.
+ 	(print_operand): Likewise and output %l44 for LO_SUMs when
+ 	TARGET_CM_MEDMID.
+ 	(sparc_splitdi_legitimate): New function to make sure DImode
+ 	splits can be run properly when !arch64.
+ 	(sparc_initialize_trampoline, sparc64_initialize_trampoline):
+ 	Reformat example code in comments.
+ 	(set_extends): Remove UNSPEC/v8plus_clear_high case.
+ 	(sparc_addr_diff_list, sparc_addr_list): New statics to keep track
+ 	of deferred case vectors we need to output.
+ 	(sparc_defer_case_vector): Record a case vector.
+ 	(sparc_output_addr_vec, sparc_output_addr_diff_vec,
+ 	sparc_output_deferred_case_vectors): New functions to output them.
+ 	(sparc_emit_set_const32): New function to form 32-bit constants in
+ 	registers when that requires more than one instruction.
+ 	(safe_constDI, sparc_emit_set_const64_quick1,
+ 	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
+ 	analyze_64bit_constant, const64_is_2insns,
+ 	create_simple_focus_bits, sparc_emit_set_const64): New functions
+ 	which do the same for 64-bit constants when arch64.
+ 	(sparc_emit_set_symbolic_const64): New function to emit address
+ 	loading for all code models on v9.
+ 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
+ 	%g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
+ 	(ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
+ 	(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
+ 	inaccuracies in comments, add symbolic and text_segment operands
+ 	when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
+ 	GENERAL_REGS in these cases as a temp REG is needed to load these
+ 	addresses into a register properly.
+ 	(EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
+ 	is no longer used.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
+ 	quads are guaranteed to have 16-byte alignment.
+ 	(LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
+ 	copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
+ 	(ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
+ 	deferred case vector implementation.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
+ 	Generate "internal label - label" instead of "label - 1b".
+ 	(PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
+ 	(PREDICATE_CODES): Remove sparc_operand, move_operand,
+ 	v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
+ 	zero_operand.
+ 	(doublemove_string, output_block_move, output_fp_move_double,
+ 	output_fp_move_quad, output_move_double, output_move_quad,
+ 	output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
+ 	sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
+ 	(sparc_emit_set_const32, sparc_emit_set_const64,
+ 	sparc_emit_set_symbolic_const64, input_operand, zero_operand,
+ 	mem_min_alignment, small_int_or_double): Add externs.
+ 	* config/sparc/sparc.md: Document the many uses of UNSPEC and
+ 	UNSPEC_VOLATILE in this backend.
+ 	(define_function_unit ieu): Rename to ieu_unnamed.  Add move and
+ 	unary to types which execute in it.
+ 	(define_function_unit ieu_shift): Rename to ieu0.
+ 	(define_function_unit ieu1): New, executes compare, call, and
+ 	uncond_branch type insns.
+ 	(define_function_units for type fdivs, fdivd, fsqrt): These
+ 	execute in the fpu multiply unit not the adder on UltraSPARC.
+ 	(define_expand cmpdi): Disallow TARGET_V8PLUS.
+ 	(define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
+ 	(define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
+ 	allows the arith_double_operand predicate and rHI constraint when
+ 	TARGET_ARCH64.
+ 	(define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
+ 	cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
+ 	neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
+ 	sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
+ 	sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
+ 	movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
+ 	movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
+ 	movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
+ 	movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
+ 	cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
+ 	sign_extendqihi2_insn, sign_extendqisi2_insn,
+ 	sign_extendqidi2_insn, sign_extendhidi2_insn,
+ 	extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
+ 	trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
+ 	floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
+ 	fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
+ 	adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
+ 	subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
+ 	muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
+ 	const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
+ 	smulsi3_highpart_v8plus, unnamed subreg mult,
+ 	const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
+ 	const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
+ 	const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
+ 	const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
+ 	const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
+ 	udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
+ 	andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
+ 	or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
+ 	xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
+ 	cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
+ 	cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
+ 	cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
+ 	cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
+ 	cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
+ 	cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
+ 	addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
+ 	muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
+ 	negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
+ 	ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
+ 	cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
+ 	ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
+ 	lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
+ 	call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
+ 	call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
+ 	call_address_untyped_struct_value_sp32,
+ 	call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
+ 	call_value_symbolic_sp32, call_value_address_sp64,
+ 	call_value_symbolic_sp64, branch_sp32, branch_sp64,
+ 	flush_register_windows, goto_handler_and_restore,
+ 	goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
+ 	flush, all ldd/std peepholes, return_qi, return_hi, return_si,
+ 	return_addsi, return_di, return_adddi, return_sf, all call+jump
+ 	peepholes, trap, unnamed trap insns): Prettify output strings.
+ 	(define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
+ 	or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
+ 	Likewise and force + implement splits for integer cases.
+ 	(define_insn return_sf_no_fpu): Likewise and allow to match when
+ 	no-fpu because of our subreg SFmode splits.
+ 	(define_insn zero_extendqihi2, zero_extendqisi2_insn,
+ 	zero_extendqidi2_insn, zero_extendhidi2_insn,
+ 	zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
+ 	input_operand for second operand.
+ 	(cmp_minus_cc, cmp_minus_cc_set): Likewise and use
+ 	reg_or_0_operand for operand 2 so new splits can use it.
+ 	(cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
+ 	cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
+ 	too.
+ 	(cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
+ 	CONST_DOUBLEs for operand 2.
+ 	(define_insn move_label_di): Likewise and label distance
+ 	optimization because it no longer works with new deferred case
+ 	vector scheme.  To be revisited.
+ 	(define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
+ 	and allow reg_or_0_operand and J constraint for second operand.
+ 	(define_insn jump): Set branch predict taken on V9.
+ 	(define_insn tablejump): Emit LABEL_REF + PLUS memory address for
+ 	new deferred case vector scheme.
+ 	(define_insn pic_tablejump_32, pic_tablejump_64): Remove.
+ 	(define_insn negdi2_sp32): Force + implement splits.
+ 	(define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
+ 	one_cmplsi2_not_liveg0 respectively, and create	expander of original
+ 	names which emit special rtl for TARGET_LIVE_G0.
+ 	(define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
+ 	(define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
+ 	gen_compare_reg, FAIL instead.
+ 	(define_insn sgtu, sleu): Likewise and check gen_s*() return
+ 	values when trying to reverse condition codes, if they FAIL then
+ 	do likewise.
+ 	(define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
+ 	snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
+ 	neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
+ 	seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
+ 	x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
+ 	set output string to # to indicate they are mandatory splits.
+ 	(define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
+ 	pic_sethi_di, move_pic_label_si): Remove.
+ 	(define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
+ 	movsi_high_pic, movsi_pic_label_reg): New patterns to take their
+ 	place.
+ 	(define_expand movsi_pic_label_ref, define_insn
+ 	movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
+ 	expander and insns to handle PIC label references and deferred
+ 	case vectors.
+ 	(define_insn get_pc_via_rdpc): Comment out as it is no longer
+ 	used.
+ 	(define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
+ 	Rewrite to not use emit_move_sequence, make use of new constant
+ 	formation code, and new splits for all multi-insn cases.
+ 	(define_insn movqi_insn): Remove sethi case, it can never happen.
+ 	Use reg_or_zero_operand instead of const0_rtx explicit test,
+ 	use input_operand instead of move_operand for source, and use
+ 	general_operand now for dest.
+ 	(define_insn movhi_insn): Similar but leave sethi case.
+ 	(define_insn lo_sum_qi, store_qi, store_hi): Remove.
+ 	(define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
+ 	movhi_lo_sum respectively, prettify output string.
+ 	(define_insn movsi_zero_liveg0): New pattern to put zero into a
+ 	register when needed on TARGET_LIVE_G0.
+ 	(define_insn movsi_insn): Use general_operand and input_operand
+ 	for dest and src respectively.  Simplify applicability test.
+ 	Prettify output strings, and add clr alternative for J
+ 	constraint.
+ 	(define_insn movdi_sp32_v9, movdi_sp32, define_splits for
+ 	deprecated std and reg-reg DI moves): Remove and...
+ 	(define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
+ 	implementation which uses forced splits for all non-single insn
+ 	cases.
+ 	(define_split DI move cases on !arch64): New splits to handle all
+ 	situations of 64-bit double register DImode on 32bit, and
+ 	unaligned registers and memory addresses for all subtargets.
+ 	(define_insn movsf_const_insn, movdf_const_insn, store_sf):
+ 	Remove.
+ 	(define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
+ 	input_operand for dest and src respectively, prettify output
+ 	strings.
+ 	(define_insn movdf_insn, movdf_no_e_insn, store_df,
+ 	movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
+ 	and...
+ 	(define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
+ 	movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
+ 	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
+ 	movtf_no_e_insn_sp64): Replace with new
+ 	implementation which uses forced splits for all non-single insn
+ 	cases.
+ 	(define_split DF move cases): New splits in similar vein to DI
+ 	move counterparts.
+ 	(define_insn sethi_di_medlow, sethi_di_medium_pic,
+ 	sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
+ 	movdi_sp64_insn): Remove old v9 code model and constant loading
+ 	support insns and..
+ 	(define_insn pic_lo_sum_di, pic_sethi_di,
+ 	sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
+ 	seth44, setm44, setl44, sethh, setlm, sethm, setlo,
+ 	embmedany_sethi, embmedany_losum, embmedany_brsum,
+ 	embmedany_textuhi, embmedany_texthi, embmedany_textulo,
+ 	embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
+ 	movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
+ 	scheme, using unspecs, secondary reloads, and one to one sparc
+ 	insn to rtl insn mapping for better scheduling and code gen.
+ 	(define_expand reload_indi, reload_outdi): Reload helpers for
+ 	MEDANY and EMBMEDANY symbol address loading cases which require a
+ 	temporary register.
+ 	(define_expand movsicc): Remove v8plus_regcmp cases.
+ 	(define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
+ 	cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
+ 	cmp_diqi_trunc_set): New patterns used by some of the new scc
+ 	splits on arch64.
+ 	(define_insn xordi3_sp64_dbl): New pattern used for constant
+ 	formation when crossing from 32-bit targets.
+ 	(define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
+ 	split): Remove.
+ 	(define_insn addx, subx): Make visible and prettify.
+ 	(define_insn adddi3_insn_sp32): Likewise and force split.
+ 	(define_insn addx_extend, subx_extend, unnamed): New patterns for
+ 	64bit scc split usage.
+ 	(define_insn unnamed plusDI zero_extend, unnamed minusDI
+ 	zero_extend, subdi3): Force and implement splits.
+ 
+ 	* final.c (final_scan_insn): Don't output labels if target
+ 	specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
+ 	instead.
+ 
+ 	* reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
+ 	don't forget to walk inside SEQUENCESs too as these are what the
+ 	delay slot scheduler will create.
+ 
+ Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (extxl+1,+2): New patterns to work around
+ 	combine lossage.
+ 
+ Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
+ 
+ 	* rs6000.c (rs6000_allocate_stack_space): Fix typo which
+ 	caused bad assembly code to be generated.
+ 
+ Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* netbsd.h: Fix typo.
+ 
+ Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* config.sub: Fix typo.
+ 
+ Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* invoke.texi (Environment Variables): Typo: Change "ascpects"
+ 	into "aspects".
+ 	(Running Protoize): Typo: Change "ther" into "other".
+ 
+ Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
+ 	* m68k/netbsd.h: Likewise.
+ 	* ns32k/netbsd.h: Likewise.
+ 	* sparc/netbsd.h: Likewise.
+ 
+ Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ginclude/va-alpha.h (va_list): Use a typedef, not a define.
+ 	* ginclude/va-clipper.h (va_list): Likewise.
+ 
+ Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_override_options): If big endian and -Os, use
+ 	load/store multiple instructions unless user overrides.
+ 
+ Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ns32k/netbsd.h: Fix typo.
+ 
+ Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
+ 	labels with .debugsym if no parallel insns.
+ 
+ Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
+ 	(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
+ 
+ Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
+ 	(AR_FOR_TARGET): Define.
+ 
+ Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* dyn-string.h: New file.
+ 	* dyn-string.c: Likewise.
+ 	* Makefile.in (OBJS): Add dyn-string.o.
+ 	(dwarf2out.o): Add dyn-string.h dependency.
+ 	(dyn-string.o): List dependencies.
+ 	* dwarf2out.c: Include dyn-string.h.
+ 	(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
+ 	(addr_const_to_string): Take a dyn_string_t, not a char* as a
+ 	prototype.  Use dyn_string_append rather than strcat, throughout.
+ 	(addr_to_string): Use dyn_string_t.
+ 
+ Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	Function entry/exit profiling instrumentation:
+ 	* expr.h (profile_function_entry_libfunc,
+ 	profile_function_exit_libfunc): Declare new variables.
+ 	* optabs.c: Define them here.
+ 	(init_optabs): Initialize them.
+ 	* tree.h (struct tree_decl): New flag
+ 	no_instrument_function_entry_exit.
+ 	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
+ 	* c-decl.c (duplicate_decls): Merge it.
+ 	* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
+ 	(init_attributes): Use it for "no_instrument_function".
+ 	(decl_attributes): Handle it, for functions that have not yet been
+ 	compiled.  Set decl flag.
+ 	* flags.h (flag_instrument_function_entry_exit): Declare new
+ 	variable.
+ 	* toplev.c (flag_instrument_function_entry_exit): Define it here.
+ 	(f_options): New option "instrument-functions".
+ 	* function.h (struct function): New field instrument_entry_exit.
+ 	* function.c (current_function_instrument_entry_exit): New
+ 	variable.
+ 	(push_function_context_to, pop_function_context_from): Save and
+ 	restore.
+ 	(expand_function_start): Set current_ variable, maybe emit return
+ 	label and entry profile call.
+ 	(expand_function_end): Maybe emit exit profile call.
+ 
+ Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md (movqi): When optimizing a load of (const_int 1) into a
+ 	NON_QI_REG_P, pretend the register is SImode.
+ 
+ Wed Jul 29 23:49:23 1998  Todd Vierling  <tv@netbsd.org>
+ 
+ 	* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
+ 	Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
+ 	manufacturer id for ns32k.
+ 	* configure: Regenerated.
+ 	* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
+ 	* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
+ 	* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
+ 	* config/m68k/netbsd.h: Same.
+ 	* config/ns32k/netbsd.h: Same.
+ 	* config/sparc/netbsd.h: Same.
+ 
+ Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
+ 	or UNROLL_COMPLETELY loop that starts with a jump to its
+ 	exit code.
+ 
+ Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
+ 	* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
+ 	(print_operand, case 'B'): Don't fall through.
+ 	(print_operand, case 'S'): Correct mask begin/end computation.
+ 	Use HOST_BITS_PER_WIDE_INT.
+ 	* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
+ 	(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
+ 	* rs6000/aix41.h (CPP_PREDEFINES): Same.
+ 	* rs6000/aix43.h (CPP_PREDEFINES): Same.
+ 
+ Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
+ 	constraint from second alternative.
+ 
+ Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* configure.in: Fix --without/--disable cases for local-prefix,
+ 	gxx-include-dir and checking.
+ 
+ Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* configure.in (enable_haifa): Set by default for sparc64 too.
+ 	configure: Rebuilt.
+ 
+ Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
+ 	* i386/winnt.c (associated_type): New fn.
+ 	(i386_pe_valid_type_attribute_p): New fn.
+ 	(i386_pe_check_vtable_importexport): Remove.
+ 	(i386_pe_dllexport_p): Use associated_type.
+ 	(i386_pe_dllimport_p): Likewise.
+ 
+ 	From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
+ 	* i386.c (i386_valid_type_attribute_p): Also accept
+ 	attributes for METHOD_TYPEs.
+ 
+ Tue Jul 28 23:17:39 1998  Peter Gerwinski  <peter@gerwinski.de>
+ 
+ 	* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
+ 
+ Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
+ 
+ 	* gcc.c: Fix commentary describing %g, %u, %U, and %O.
+ 
+ 	* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
+ 	them from generating a new base name for each occurrence of
+ 	a specific suffix.
+ 
+ 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Enable substitution inside libcall only for REG,
+ 	SUBREG, MEM.
+ 	* rtlanal.c (replace_rtx): Prohibit replaces in	CONST_DOUBLE.
+ 
+ 	* cplus-dem.c (type_kind_t): New type.
+ 	(demangle_template_value_parm): Add type_kind_t parameter.  Rely
+ 	on this parameter, rather than demangling the type again.
+ 	(demangle_integral_value): Pass tk_integral.
+ 	(demangle_template_: Pass the value returned from do_type.
+ 	(do_type): Return a type_kind_t.  Pass tk_integral to
+ 	demangle_template_value_parm for array bounds.
+ 	(demangle_fund_type): Likewise.
+ 
+ Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
+ 	identical.
+ 
+ Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (move_operand): Accept CONSTANT_P_RTX.
+ 
+ Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
+ 
+ 	* expr.c (get_inner_reference): Handle zero-based, unsigned, array
+ 	index conversion.
+ 
+ Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
+ 	(DEBUGGER_ARG_OFFSET): Likewise.
+ 
+ 	* mn10300.md (movsf): Remove last change.  Not needed.
+ 
+ Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* c-lex.c (yylex): Fix boundary conditions in character literal and
+ 	string literal loops.
+ 
+ Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* longlong.h (count_leading_zeros): SPARClite scan instruction was
+ 	being invoked incorrectly.
+ 
+ 	* i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
+ 	* i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
+ 	Add -pg support.
+ 	* i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
+ 	* configure.in: Added i[34567]86-*-win32.
+ 	* config.sub: Likewise.
+ 	* configure: Rebuilt.
+ 
+ Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
+ 	the frame pointer and compiling PIC code and reload has not completed.
+ 
+ 	* i386.c (output_to_reg): Add code to emulate non-popping DImode
+ 	case.
+ 
+ Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
+ 
+ Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* Makefile.in (install-info): Only try to update the info
+ 	directory file if it exists in the first place.
+ 
+ Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
+ 
+ 	* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
+ 
+ Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
+ 	CONST_DOUBLE source.
+ 
+ Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
+ 	strings as the insertion of USER_LABEL_PREFIX.
+ 	* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
+ 	valid code.
+ 	* config/arm/thumb.md: Use %_ as a prefix to gcc library function
+ 	calls.
+ 
+ Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
+ 	already defined type.
+ 
+ Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (check_max_integer_computation_mode): Allow conversions
+ 	of constant integers to MAX_INTEGER_COMPUTATION_MODE.
+ 	(expand_expr): Likewise.
+ 
+ Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* expr.c (expand_expr): Expand RETURN_EXPR.
+ 
+ Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
+ 
+ Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* dwarf2out.c (output_aranges): Call stripattributes
+ 	for TEXT_SECTION references.
+ 	(output_line_info): Likewise.
+ 
+ Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* profile.c (branch_prob): Call allocate_reg_info after outputting
+ 	profile rtl in instrument_arcs.
+ 
+ Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* fixinc.irix (math.h): Install wrapper instead of copying.
+ 
+ Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
+ 	so WFL are expanded correctly when contained in a COMPOUND_EXPR.
+ 	* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
+ 	lang_flag_0. Added documentation in the flag table.
+ 
+ Tue Jul 21 23:28:35 1998  Klaus Kaempf  <kkaempf@rmi.de>
+ 
+ 	* cccp.c (do_include): Fix vax c style include handling.
+ 
+ Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
+ 
+ Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* fold-const.c (non_lvalue): Don't deal with null pointer
+ 	constants here.
+ 	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
+ 
+ Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
+ 	* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
+ 	* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
+ 	(u_short_cint_operand): Same.
+ 	(reg_or_cint_operand): Same.
+ 	(logical_operand): Same.
+ 	(input_operand): Same.
+ 	(reg_or_short_operand): Use u_short_cint_operand.
+ 
+ Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
+ 	but keep the insns and splits.  Adjust so when the ultimate destination
+ 	is memory, use cvtql.
+ 
+ Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (regno_uninitialized): Fixed regs are never uninitialized.
+ 
+ Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcc.c (do_spec): Call "error" not "warning".
+ 
+ 	* configure.in: Fix minor problems with gas feature detection code.
+ 	* configure: Rebuilt.
+ 
+ 	* gcc.c (do_spec): Issue a warning for '%[]' usage.
+ 
+ 	* Undo this change.
+ 	* gcc.c: Delete %[spec] support.
+ 	(do_spec_1, case '('): Likewise.
+ 	(do_spec_1, case '['): Call error.
+ 
+ Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
+ 	(CPP_SUBTARGET_SPEC): Default to empty string.
+ 	(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
+ 	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
+ 	* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
+ 	* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
+ 	(LIB_SPEC): Tidy.
+ 	* alpha/linux.h (CPP_PREDEFINES): Tidy.
+ 	* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
+ 	* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
+ 	* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
+ 	* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
+ 	* alpha/vsf.h (CPP_PREDEFINES): Likewise.
+ 	(CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
+ 	* alpha/vxworks.h: Likewise.
+ 
+ Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* mips.md (reload_outsi): Added missing REGNO call.
+ 	(smulsi3_highpart, umulsi3_highpart): Provide prototype for
+ 	function pointer.
+ 	(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
+ 	another match_operator and compare the codes.
+ 
+ 	* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
+ 
+ 	* MIPS multiply pattern fixes:
+ 	* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+ 	Add union classes for HI, LO, or HILO plus general registers.
+ 	(GENERATE_MADD): Deleted.
+ 	* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
+ 	Add TARGET_MAD to condition.
+ 	(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
+ 	(mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
+ 	"*d" for accumulator, to give preference to LO initially but not
+ 	during reload.
+ 
+ Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* configure.in (enable_c_mbchar): New configure option.
+ 	(extra_cpp_objs): Always available now.
+ 
+ 	* cexp.y (mbchar.h): #include it.
+ 	(yylex): Handle Multibyte characters in character literals.
+ 
+ 	* cccp.c (mbchar.h): #include it.
+ 	(main): Set character set based on LANG environment variable.
+ 	(rescan): Handle multibyte characters in comments.
+ 	(skip_if_group): See above.
+ 	(validate_else): See above.
+ 	(skip_to_end_of_comment): See above.
+ 	(macarg1): See above.
+ 	(discard_comments): See above.
+ 	(rescan): Handle multibyte characters in string and character literals.
+ 	(collect_expansion): See above.
+ 	(skip_quoted_string): See above.
+ 	(macroexpand): See above.
+ 	(macarg1): See above.
+ 	(discard_comments): See above.
+ 	(change_newlines): See above.
+ 
+ 	* c-lex.c (mbchar.h): #include it.
+ 	(GET_ENVIRONMENT): New macro.
+ 	(init_lex): Set character set based on LANG environment variable.
+ 	(yylex): Handle multibyte characters in character literals.
+ 	(yylex): Handle multibyte characters in string literals.
+ 
+ 	* Makefile.in (mbchar.o): New target.
+ 	(cccp$(exeext)): @extra_cpp_objs@ is always available.
+ 	(cppmain$(exeext)): @extra_cpp_objs@ is always available.
+ 
+ 	* mbchar.[ch]: New files for multibyte character handling.
+ 
+ Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* jump.c (jump_optimize): When simplifying noop moves and
+ 	PUSH_ROUNDING, fix thinko so we use same criterion for identifying
+ 	the PUSHes to rewrite in second loop as we did in the first.
+ 
+ Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cplus-dem.c (demangle_nested_args): Make function definition
+ 	static to match the prototype.
+ 
+ Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alloca.c: Respect USE_C_ALLOCA.
+ 	* gencheck.c (xmalloc): Ignore __GNUC__ for definition.
+ 	* gengenrtl.c (xmalloc): Likewise.
+ 
+ Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.h (struct induction): Add no_const_addval.
+ 	* loop.c (the_movables, reg_address_cost): New variables.
+ 	(init_loop): Init reg_address_cost.
+ 	(loop_optimize): Call end_alias_analysis.
+ 	(scan_loop): Init the_movables.
+ 	(record_giv): Init induction->no_const_addval.
+ 	(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
+ 	[REG]: Rearrange loop search test to catch more cases.
+ 	(general_induction_var): Return success not benefit; take an extra
+ 	argument for that.  Change all callers.
+ 	(simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
+ 	[MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
+ 	[default]: Search the_movables for additional combinations.
+ 	(sge_plus_constant, sge_plus): New functions.
+ 	(express_from_1): New function.
+ 	(express_from): Always define.  Rewrite using express_from_1.
+ 	(combine_givs_p): Handle more cases.  Ignore address cost.
+ 	(cmp_combine_givs_stats): New function.
+ 	(combine_givs_used_once, combine_givs_benefit_from): New functions.
+ 	(combine_givs): Rewrite to do best-fit combination.
+ 
+ 	* fold-const.c (operand_equal_p): Handle RTL_EXPR.
+ 	(fold): Do a complete (A*C)+(B*C) association check.
+ 
+ Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
+ 
+ Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.c (MODES_TIEABLE_P): Fix typo.
+ 
+ Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* tree.c (valid_machine_attribute): Only create a new type variant if
+ 	there is a decl to use it.
+ 
+ Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
+ 	a suffix.
+ 
+ Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
+ 	be deleted"
+ 
+ Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
+ 	Simplify tests for clearing an address register.
+ 	(expand_prologue): Corresponding changes.
+ 
+ 	* mn10300.md (movXX patterns): Make sure the destination is an
+ 	ADDRESS_REG when substituting "zero_areg" for (const_int 0).
+ 	(logical patterns): Split into expanders + patterns.
+ 	(zero and sign extension patterns): Similarly.
+ 	(shift patterns): Similarly.
+ 
+ Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (emit_iv_add_mult): Scan the entire insn list generated
+ 	for the sequence, recording base values.
+ 
+ Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
+ 
+ Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* gcc.c: Remove ANSI-C ism from --help code.
+ 
+ 	* toplev.c: Support --help with USE_CPPLIB.
+ 
+ Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Rework gas feature code to work with symlink based
+ 	source trees.
+ 
+ 	* extend.texi: Clarify some issues related to local variables
+ 	assigned to explicit registers.
+ 
+ 	* mn10300.md (mulsi): Turn into expander + pattern.
+ 
+ 	* mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
+ 	alternative.
+ 
+ Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
+ 
+ Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump again to distinguish mainline tree from the
+ 	egcs-1.1 branch.
+ 
+ Tue Jul 14 02:20:38 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump to avoid problems with old spec files during
+ 	bootstrap.
+ 
+ Mon Jul 13 23:11:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
+ 	parens while walking over notes.
+ 	* config/sparc/sparc.md (reg movdi split): Clean up matching
+ 	conditions.
+ 	(all DI arithop splits on 32-bit): Handle immediate arguments
+ 	correctly when they are CONST_INTs.
+ 
+ Mon Jul 13 23:57:21 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+ 
+ 	* m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
+ 	-m68020-40, -m68020-60 and -m5200.
+ 
+ Mon Jul 13 23:52:05 1998  Weiwen Liu  <weiwen.liu@yale.edu>
+ 
+ 	* gcc.c (do_spec_1): Fix %O handling for secure temporary file
+ 	creation.
+ 
+ Mon Jul 13 23:42:36 1998  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+ 
+ 	* sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
+ 
+ Mon Jul 13 23:36:08 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
+ 	(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
+ 	(EXTRA_SPECS): Support them.
+ 	* gcc.c: Delete %[spec] support.
+ 	(do_spec_1, case '('): Likewise.
+ 	(do_spec_1, case '['): Call error.
+ 	* i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
+ 	linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
+ 	sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
+ 	%[cpp_cpu].
+ 
+ Mon Jul 13 23:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* m68k.c (output_scc_di): Use cmpw #0 only for address registers.
+ 
+ Mon Jul 13 23:26:43 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tree.h (tree_common): Note front-end dependencies on layout of
+ 	this structure.
+ 
+ Mon Jul 13 23:18:39 1998  Craig Burley  <burley@gnu.org>
+ 
+ 	* stmt.c (expand_expr_stmt): If not assigning fresh
+ 	value to last_expr_value, zero it, so old garbage
+ 	doesn't get dereferenced.
+ 
+ Mon Jul 13 23:06:55 1998  Henning.Petersen@t-online.de  (Henning Petersen)
+ 
+ 	* gcse.c (hash_scan_insn): Add missing argument declaration.
+ 
+ Mon Jul 13 18:59:13 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
+ 	HAVE_INTTYPES_H from xm_defines.  Define xm_file to mips/xm-iris5.h.
+ 	* mips/xm-iris5.h (USG): Delete.
+ 
+ Mon Jul 13 17:18:47 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* cccp.c (main): Add support for parsing --help.
+ 	(display_help): New function: display command line switches.
+ 
+ 	* cpplib.c (cpp_handle_option): Add support for parsing --help.
+ 	(display_help): New function: display command line switches.
+ 
+ 	* gcc.c (main): Add support for parsing --help, and passing it on
+ 	to the sub-processes invoked by gcc.
+ 	(display_help): New function: display command line switches.	
+ 
+ 	* tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
+ 	'description' field added to structure.
+ 
+ 	* toplev.c: Add support for parsing --help.
+ 	Add documentation strings to command line option tables.
+ 	(display_help): New function: display comman line switches.
+ 
+ Mon Jul 13 16:15:10 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* sparc.c, sparc.h, sparc.md: New trampoline code.
+ 	Allow integer operand 1 to V8+ DImode shift instructions.
+ 	Fix bugs in V8+ wide multiply patterns.
+ 	In 32 bit mode, split DImode register moves and logical instructions.
+ 	Write V9 branch prediction flag.
+ 	Use V9 conditional move more often for scc.
+ 
+ Mon Jul 13 15:10:09 1998  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* invoke.texi(-fno-builtin): Explain that the names of built-in
+ 	functions begin with `__builtin_', not `__'.
+ 
+ Mon Jul 13 19:01:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
+ 
+ Mon Jul 13 10:50:17 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
+ 	(cplus_demangle_opname): Initialize work.
+ 	(demangle_template): Remove is_java_array.
+ 	(do_type): Remove DMGL_JAVA stuff.
+ 	(long_options): Remove "java".
+ 	(main): Remove 'j' option.
+ 
+ Mon Jul 13 10:19:00 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
+ 	Handle 'x' as NO_REGS for this cpu.
+ 	(REGNO_OK_FOR_BIT_BASE_P): Define.
+ 	(REG_OK_FOR_BIT_BASE_P): Define.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use them.
+ 	(REG_OK_FOR_INDEX_P): Tweak.
+ 	* mn13000.c (REG_SAVE_BYTES): Define.
+ 	(expand_epilogue, initial_offset): Use it.
+ 	(secondary_reload_class): Slightly reformat.
+ 	(output_tst): Tweak comments.
+ 	* mn10300.md: Change 'x' to 'y' for SP_REGS.  Then add 'x' to many
+ 	patterns.
+ 	(addsi3): Turn into a define_expand/define_insn pair.  Rework code for
+ 	three operand addition case to be more efficient.
+ 	(subsi3): Turn into a define_expand/define_insn pair.
+ 
+ 	* expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
+ 	is not varying for REFERENCE_TYPE or when we think we might have found
+ 	an optimized access to the first element in an array.
+ 
+ Mon Jul 13 02:24:08 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* regclass.c (reg_scan_mark_refs): New arg min_regno.  Only update
+ 	regscan information for REGs with numbers greater than or equal to
+ 	this.  All callers changed.
+ 	(reg_scan_update): New function to efficiently update regscan
+ 	information on the fly.
+ 	* rtl.h: Add prototype.
+ 	* jump.c (jump_optimize): Call it when we make a transformation
+ 	which generates new pseudo-REGs.
+ 
+ Sun Jul 12 13:08:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* collect2.c (main): Use "-x c" instead of "-lang-c" for force the
+ 	compiler into C mode.
+ 
+ Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* cplus-dem.c (demangle_nested_args): Return a value.
+ 
+ 	* tree.h (TYPE_P): New macro.
+ 
+ Sat Jul 11 16:19:48 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cplus-dem.c (string): Move definition before work_stuff.
+ 	(work_stuff): Add volatile_type, forgetting_types,
+ 	previous_argument, and nrepeats fields.
+ 	(SCOPE_STRING): New macro.
+ 	(demangle_template): Add `remember' parameter.  Add comment.
+ 	Register the `B' code type here, if remembering.  Tidy.  Fix crash
+ 	on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
+ 	(demangle_nested_args): New function.
+ 	(internal_cplus_demangle): Handle volatile-qualified member
+ 	functions.
+ 	(mop_up): Delete the previous_argument string if present.
+ 	(demangle_signature): Tidy.  Handle volatile-qualified member
+ 	functions.  Handle back-references using the `B' code.  Use extra
+ 	parameter to demangle_template and SCOPE_STRING where appropriate.
+ 	(demangle_template_value_parm): Fix thinko; 'B' is not an integral
+ 	code.
+ 	(demangle_class): Use SCOPE_STRING.
+ 	(gnu_special): Pass additional argument to demangle_template.
+ 	Use SCOPE_STRING.
+ 	(demangle_qualified): Save qualified types for later
+ 	back-references.  Handle constructors and destructors for template
+ 	types correctly.
+ 	(do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
+ 	demangle_template.  Use demangled_nested_args.  Don't remember
+ 	qualified types here; that's now done in demangle_qualified.
+ 	Similarly for templates.
+ 	(do_arg): Improve comment.  Handle 'n' repeat code.
+ 	(remember_type): Check forgetting_types.
+ 	(demangle_args): Deal with 'n' repeat codes.  Tidy.
+ 	
+ Sat Jul 11 02:59:08 1998  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
+ 	and structure attribute flags to MEMs generated.
+ 	(splits for sign-extended HI & QI mode from memory): Also propagate
+ 	the volatile flag.
+ 
+ 	* configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
+ 
+ Fri Jul 10 19:06:59 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* varray.h: Include system.h if it hasn't already been included
+ 	before to get size_t declared.
+ 
+ Fri Jul 10 12:53:58 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* jump.c (jump_optimize): If after_regscan and our transformations
+ 	generate new REGs, rerun reg_scan.
+ 
+ Fri Jul 10 11:50:43 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* config/i960/i960.c (i960_address_cost): MEMA operands with
+ 	positive offsets < 4096 are free.
+ 
+ Fri Jul 10 12:34:37 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c (const_uint32_operand): Recognize
+ 	CONSTANT_P_RTX.
+ 	(const_sint32_operand): Likewise.
+ 
+ Thu Jul  9 22:58:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (alias.o): Depend on $(EXPR_H).
+ 
+ Thu Jul  9 18:24:56 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): If using an equivalence from
+ 	find_equiv_reg and reg_reloaded_valid is not set for this register,
+ 	clear the associated spill_reg_store.
+ 
+ Thu Jul  9 18:12:49 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_reload_insns): If an output reload copies only
+ 	to a secondary reload register, indicate that the secondary reload
+ 	does the actual store.
+ 
+ Thu Jul  9 18:01:05 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_equiv_reg): If need_stable_sp is set,
+ 	check if stack pointer is changed directly in a PARALLEL.
+ 
+ Thu Jul  9 10:38:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (duplicate_loop_exit_test): Fix thinko.
+ 
+ Thu Jul  9 01:30:37 1998  Joel Sherrill  <joel@OARcorp.com>
+ 			  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+ 
+ 	* config/i386/rtemself.h: Updated to keep in sync with
+ 	config/i386/linux.h.
+ 
+ 	* configure.in: Added sh-rtemself.
+ 	* configure: Rebuilt.
+ 	* config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
+ 	* config/sh/rtemself.h: New file.
+ 
+ 	* config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
+ 
+ Wed Jul  8 21:43:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Check if the assembler supports ".balign" and
+ 	".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
+ 	* acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
+ 	* i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
+ 	".balign" then use it.
+ 
+ 	* print-rtl.c (print_rtx): Revert previous patch.
+ 
+ 	* jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
+ 	test if the exit code has an insn with ASM_OPERANDS.
+ 
+ 	* i386/cygwin32.h (STDIO_PROTO): Fix typo.
+ 	* m32r.h (STDIO_PROTO): Fix typo.
+ 
+ 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
+ 	LEGITIMIZE_RELOAD_ADDRESS.
+ 	* tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
+ 	able to handle addresses created by previous invocations of the macro.
+ 
+ 	* flow.c (find_auto_inc): Remove most recent change.  Real bug was
+ 	elsewhere.
+ 
+ 	* cse.c (count_reg_usage): Count registers used in addresses of
+ 	CLOBBERs.
+ 
+ Wed Jul  8 15:08:29 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
+ 
+ 	* configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
+ 
+ 1998-07-08  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
+ 	stubs.
+ 
+ 	* toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
+ 	options.
+ 	* c-decl.c (warn_long_long): Define.
+ 	(c_decode_option): Parse -Wlong-long, -Wno-long-long options.
+ 	(grokdeclarator): Add flag `warn_long_long' as guard for
+ 	warning "ANSI C does not support `long long'".
+ 	* invoke.texi: Add description of options -Wlong-long,
+ 	-Wno-long-long.
+ 	* gcc.1: The same as above.
+ 	
+ Wed Jul  8 02:43:34 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
+ 	either argument is CONSTANT_P, then return zero.
+ 	* reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
+ 
+ 	* configure.in: Also look at $srcdir/gas/configure to find a
+ 	gas version #.
+ 
+ Wed Jul  8 00:28:22 1998  Carlo Wood  <carlo@runaway.xs4all.nl>
+ 
+ 	* dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
+ 
+ Tue Jul  7 21:18:14 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
+ 	definitions from last two patches.
+ 
+ Tue Jul  7 23:03:34 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): Don't set reload_override_in
+ 	if EQUIV is clobbered in INSN and the reload is done after INSN.
+ 
+ Tue Jul  7 21:23:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
+ 	to the first insn of the sequence.
+ 
+ Tue Jul  7 21:05:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (cse_insn): Don't make change without validation.
+ 
+ Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (various zero/sign extension patterns): Zero and sign
+ 	extensions which use "sub" clobber cc0.
+ 
+ Tue Jul  7 09:12:08 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
+ 
+ Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
+ 	is a double.
+ 
+ Tue Jul  7 00:31:58 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Jul  7 01:03:03 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	Support for dllimport and dllexport attributes for i386-pe.
+ 
+ 	* tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
+ 	(struct tree_decl): Add non_addr_const_p field.
+ 	* tree.c (staticp): Use.
+ 
+ 	* i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
+ 	attributes.
+ 	(SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
+ 	attributes. Also accept -mwindows option.
+ 	(VALID_MACHINE_DECL_ATTRIBUTE): New macro.
+ 	(MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
+ 	(REDO_SECTION_INFO_P): New macro.
+ 	(DRECTVE_SECTION_FUNCTION): New macro.
+ 	(drectve_section): Cover function to implement above.
+ 	(SWITCH_TO_SECTION_FUNCTION): New macro.
+ 	(switch_to_section): Covert function to implement above.
+ 	(EXTRA_SECTIONS): Add in_drectve.
+ 	(EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
+ 	(ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
+ 	(STRIP_NAME_ENCODING): Handle new attributes.
+ 	(ASM_OUTPUT_LABELREF): New macro.
+ 	(ASM_OUTPUT_FUNCTION_NAME): New macro.
+ 	(ASM_OUTPUT_COMMON): New macro.
+ 	(ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
+ 
+ 	* i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
+ 	attributes.
+ 
+ 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
+ 	(i386_pe_merge_decl_attributes): New function.
+ 	(i386_pe_check_vtable_importexport): New function.
+ 	(i386_pe_dllexport_p): New function.
+ 	(i386_pe_dllimport_p): New function.
+ 	(i386_pe_dllexport_name_p): New function.
+ 	(i386_pe_dllimport_name_p): New function.
+ 	(i386_pe_mark_dllexport): New function.
+ 	(i386_pe_mark_dllimport): New function.
+ 	(i386_pe_encode_section_info): New function.
+ 	(i386_pe_unique_section): Strip encoding from name first.
+ 
+ Tue Jul  7 00:50:17 1998  Manfred Hollstein  (manfred@s-direktnet.de)
+ 
+ 	* libgcc2.c (L_exit): Provide a fake for atexit on systems which
+ 	define ON_EXIT but not HAVE_ATEXIT.
+ 
+ Tue Jul  7 00:44:35 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
+ 
+ Tue Jul  7 00:36:41 1998  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* i386.c: Remove random whitespace at end of lines.
+ 
+ 	* i386.c (ix86_epilogue): For pentium processors, try to deallocate
+ 	4 or 8 byte stacks with pop instructions instead of an add instruction.
+ 
+ Tue Jul  7 00:30:08 1998  Klaus Kaempf  <kkaempf@rmi.de>
+ 
+ 	* alpha.c: Include tree.h before expr.h.
+ 
+ Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-parse.in (struct_head, union_head, enum_head): New nonterminals.
+ 	(structsp): Use them.  Update files generated from c-parse.in.
+ 	* extend.texi (Type Attributes): Document it.
+ 
+ 	* c-decl.c: Add warn_multichar.
+ 	(c_decode_option): Handle -Wno-multichar.
+ 	* c-lex.c (yylex): Check it.
+ 	* c-tree.h: Declare it.
+ 	* toplev.c (lang_options): Add it.
+ 	* invoke.texi: Document it.
+ 
+ Mon Jul  6 22:47:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_equiv_reg): When looking for stack pointer + const,
+ 	make sure we don't use a stack adjust.
+ 
+ 	* reload.c (find_equiv_reg): If need_stable_sp is set,
+ 	check if stack pointer is changed directly.
+ 
+ 	* reload1.c (delete_dead_insn): Don't delete feeding insn
+ 	if that insn has side effects.
+ 
+ 	* flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
+ 	changed.
+ 
+ 	* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
+ 	precedes RELOAD_FOR_OUTADDR_ADDRESS.
+ 
+ 	* gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
+ 	caller.
+ 
+ Mon Jul  6 22:21:56 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+ 
+ 	* m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
+ 	testing address registers on the 68000.
+ 
+ Mon Jul  6 22:17:19 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+ 
+ 	* i386.c (is_fp_test): Fix thinko.
+ 
+ 	* jump.c (jump_optimize): Check for CONST_INT before using INTVAL.
+ 
+ Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* print-rtl.c (print_rtx): Display the real-value equivalent of
+ 	a const_double when easy.
+ 
+ 	* real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
+ 	Zero memory first for predictability.
+ 	(REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
+ 	* varasm.c (immed_real_const_1): Notice width of H_W_I == double.
+ 
+ 	* regclass.c (allocate_reg_info): Initialize the entire reg_data
+ 	virtual array.
+ 
+ Mon Jul  6 22:09:32 1998  Ian Lance Taylor  <ian@cygnus.com>
+ 			  Jeff Law	    <law@cygnus.com>
+ 
+ 	* i386/cygwin32.h: Add some declaration of external functions.
+ 	(ASM_DECLARE_FUNCTION_NAME): Define.
+ 	(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
+ 	(ASM_FILE_END): Define.
+ 	* i386/winnt.c (i386_pe_declare_function_type): New function.
+ 	(struct extern_list, extern_head): Define.
+ 	(i386_pe_record_external_function): New function.
+ 	(i386_pe_asm_file_end): New function.
+ 
+ 	* cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
+ 	matching July 18, 1995 change to cccp.c.  If -traditional then
+ 	disable cplusplus_comments.
+ 
+ Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (expand_compound_operation): Fix thinko in code to optimize
+ 	(zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
+ 
+ 	* Disable the following change from gcc2.  Not appropriate for egcs:
+ 
+ 	Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	* reload.c (find_reloads): Give preference to pseudo that was the
+ 	reloaded output of previous insn.
+ 
+ Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
+ 	Instead, define a new macro HAVE_PRINTF_PTR which only signifies
+ 	whether we have the %p format specifier or not.
+ 
+ 	* acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
+ 	
+ 	* machmode.h (HOST_PTR_PRINTF): When determining the definition,
+ 	check HAVE_PRINTF_PTR to see whether "%p" is okay.
+ 
+ 	* mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
+ 
+ 	* Makefile.in (mips-tfile.o): Depend on machmode.h.
+ 
+ Mon Jul  6 10:42:05 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Don't refuse to copy a
+ 	section of code just because it contains
+ 	NOTE_INSN_BLOCK_{BEG,END}.
+ 	* stmt.c (expand_end_loop): Likewise.  Also, don't refuse to
+ 	move CALL_INSNs or CODE_LABELs.  When moving code, don't move
+ 	NOTE_INSN_BLOCK_{BEG,END}.
+ 
+ Mon Jul  6 09:38:15 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
+ 	dealing with ADDRESSOF.
+ 	(find_best_addr): Use it.
+ 
+ Mon Jul  6 09:27:08 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
+ 
+ Mon Jul  6 09:25:06 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* libgcc2.c (__eprintf): Make args consistent with prototype in
+ 	assert.h.
+ 
+ Mon Jul  6 00:28:43 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
+ 	don't claim that the former is equivalent to the latter.
+ 
+ Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
+ 	(cse_basic_block): Keep track of the current RETVAL insn for a
+ 	libcall instead of just noting that we're in a libcall.
+ 
+ 	* combine.c (simplify_comparison): Do not commute a AND into
+ 	a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
+ 
+ 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
+ 	HAVE_GAS_MAX_SKIP_P2ALIGN.
+ 	* i386/linux.h: Likewise.
+ 	
+ Fri Jul  3 02:33:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* sparc.c (sparc_operand, move_operand,	arith_operand,
+ 	arith11_operand, arith10_operand, arith_double_operand,
+ 	arith11_double_operand, arith10_double_operand, small_int,
+ 	uns_small_int): Recognize CONSTANT_P_RTX.
+ 	(output_sized_memop, output_move_with_extension,
+ 	output_load_address, output_size_for_block_move,
+ 	output_block_move, delay_operand): Remove, has not been
+ 	enabled or referenced for years.
+ 	* sparc.md (movstrsi, block_move_insn): Likewise.
+ 	* sparc.h (PREDICATE_CODES): Define.
+ 	* linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
+ 	version which uses getcc/setcc traps to save/restore condition
+ 	codes.
+ 	* linux64.h: Likewise.
+ 	* sunos4.h: Likewise.
+ 	* linux.h: Likewise.
+ 	* sol2.h: Likewise.
+ 	* sun4o3.h: Likewise.
+ 
+ Fri Jul  3 02:28:05 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
+ 	lossage on VMS.  Reported by kkaempf@rmi.de.
+ 	* alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
+ 
+ Thu Jul  2 17:41:14 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
+ 	version.
+ 
+ Thu Jul  2 14:34:48 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* expr.h (STACK_SIZE_MODE): New macro.
+ 	* explow.c (allocate_dynamic_stack_space): Use it for
+ 	mode of allocate_stack pattern increment operand.
+ 	* tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
+ 	* md.texi (stack_save_block, ...): Reflect use of macro.
+ 
+ 	* rs6000.h (PROMOTE_MODE): Always promote to word_mode.
+ 	(PROMOTE_FUNCTION_ARGS): Define.
+ 	(PROMOTE_FUNCTION_RETURN): Define.
+ 	(FUNCTION_VALUE): Promote to word_mode if smaller.
+ 	Convert to gen_rtx_FOO.
+ 	* rs6000.md (call_indirect): Store doubleword in 64-bit mode.
+ 	Convert to gen_rtx_FOO.
+ 	* rs6000.c: Convert to gen_rtx_FOO.
+ 	
+ Thu Jul  2 14:16:11 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* varray.{c,h}: New files to provide virtual array support.
+ 
+ 	* Makefile.in (OBJS): Add varray.o.
+ 	(varray.o): Add new file.
+ 	(REGS_H): New variable for dependencies for files including
+ 	regs.h.  Add varray.h and files it includes.  Change all regs.h
+ 	dependencies to $(REGS_H).
+ 
+ 	* toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
+ 	(xcalloc): Provide frontend for calloc.
+ 	* {tree,rtl}.h (xcalloc): Add declaration.
+ 
+ 	* basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
+ 	varray.
+ 
+ 	* regs.h (toplevel): Include varray.h.
+ 	(reg_n_info): Switch to use a varray.
+ 	(REG_*): Likewise.
+ 	(allocate_reg_info): Change num_regs argument to be size_t.
+ 
+ 	* regclass.c (reg_info_data): New structure to remember groups of
+ 	reg_info structures allocated that are to be zeroed.
+ 	({pref,alt}class_buffer): New statics to hold buffers
+ 	allocate_reg_info allocates for {pref,alt}class_buffer.
+ 	(regclass): Use {pref,alt}class_buffer to initialize
+ 	{pref,alt}class.
+ 	(allocate_reg_info): Switch to make reg_n_info use varrays.
+ 	Allocate buffers for the preferred and alter register class
+ 	information.  Change num_regs argument to be size_t, not int.
+ 
+ 	* flow.c (reg_n_info): Switch to use varrays.
+ 
+ Thu Jul  2 10:11:47 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* install.texi (sco3.2v5): Document new --with-gnu-as flag.
+ 	* config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
+ 	in other targets.
+ 	(USE_GAS): Conditionalize away native assembler usage.
+ 	* config/i386/sco5gas.h: New file.
+ 	* config/i386/t-sco5gas: New file.
+ 	* configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
+ 
+ Thu Jul  2 08:20:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* haifa-sched.c (alloc_EXPR_LIST): Change to use
+ 	unused_expr_list.
+ 
+ Thu Jul  2 14:13:28 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* Makefile.in (install-info): Don't use $realfile.  Ignore
+ 	possible errors from the install-info program.
+ 
+ Thu Jul  2 01:53:32 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+ 
+ 	* combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
+ 
+ Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (HARD_REGNO_MODE_OK): Kill spurious test.
+ 	(MODES_TIEABLE_P): Tie SImode and HImode.
+ 
+ 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+ 
+ 	* invoke.texi (Optimize Options): Fix typo.
+ 
+ Wed Jul  1 22:25:43 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
+ 	the zero'th block.
+ 
+ Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* h8300.c (print_operand): Delete %L support.
+ 	* h8300.md (branch_true, branch_false): Use %= with a prefix
+ 	instead of %L for local branch labels.
+ 
+ Wed Jul  1 21:27:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_reload_insns): Use proper register classes for
+ 	SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
+ 
+ Wed Jul  1 21:17:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): If there are multiple
+ 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
+ 	one operand, change RELOAD_FOR_INPADDR_ADDRESS /
+ 	RELOAD_FOR_OUTADDR_ADDRESS for all but the first
+ 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
+ 
+ Wed Jul  1 17:23:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
+ 	using its PATTERN.
+ 
+ Wed Jul  1 05:04:41 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (emit_group_load, emit_group_store): Rewrite considering
+ 	the size and alignment of the structure being manipulated.
+ 	* expr.c, calls.c, function.c: Update all callers.
+ 	* expr.h: Update prototypes.
+ 	* cse.c (invalidate): Cope with parallels.
+ 
+ Wed Jul  1 04:22:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (function_arg_record_value): Take a MODE arg with which to
+ 	create the PARALLEL.  Update all callers.
+ 
+ Wed Jul  1 04:10:35 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_assignment, store_constructor, expand_expr): Use
+ 	convert_memory_address instead of convert_to_mode when possible.
+ 
+ Wed Jul  1 03:48:00 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_initialize_trampoline): Take arguments describing
+ 	the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
+ 	* alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
+ 	(TRANSFER_FROM_TRAMPOLINE): Move ...
+ 	* alpha/osf.h: ... here.
+ 	* alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
+ 	(TRANSFER_FROM_TRAMPOLINE): Remove undef.
+ 	* alpha/win-nt.h: Likewise.
+ 	* alpha/vxworks.h: Likewise.
+ 
+ 	* alpha/linux.h: Revert gcc2 merge lossage.
+ 
+ Wed Jul  1 10:56:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* c-decl.c (grokdeclarator): Don't warn about implicit int in
+ 	`typedef foo = bar'.
+ 
+ Wed Jul  1 02:12:33 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* i386.c (asm_output_function_prefix): Make 686 function
+ 	prologues not issue .types for non-global labels.
+ 
+ Tue Jun 30 23:46:53 1998  Dmitrij Tejblum  <tejblum@arc.hq.cti.ru>
+ 
+ 	* i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
+ 	(WCHAR_TYPE_SIZE): Update appropriately.
+ 
+ Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (recompute_reg_usage): Does not return a value.
+ 	* rtl.h (recompute_reg_usage): Update prototype.
+ 
+ 	* jump.c (jump_optimize): Show that the jump chain is not
+ 	valid when not optimizing.
+ 
+ Tue Jun 30 16:01:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.def (CONSTANT_P_RTX): New.
+ 	* rtl.h (CONSTANT_P): Recognize it.
+ 	* cse.c (fold_rtx): Eliminate it.
+ 	* expr.c (can_handle_constant_p): New variable.
+ 	(init_expr_once): Initialize it.
+ 	(expand_builtin): Generate CONSTANT_P_RTX if the expression is not
+ 	immediately recognizable as a constant.
+ 
+ 	* alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
+ 	(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
+ 	(sext_add_operand, and_operand, or_operand): Likewise.
+ 	(reg_or_cint_operand, some_operand, input_operand): Likewise.
+ 	* alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
+ 
+ 1998-06-30  Benjamin Kosnik  <bkoz@bliss.nabi.net>
+ 
+ 	* dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
+ 
+ Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
+ 	argument, which is typically preprocessor code used to draw in
+ 	additional header files when looking for a function declaration.
+ 	(GCC_NEED_DECLARATIONS): Likewise.
+ 
+ 	* configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
+ 	and setrlimit, search for them in sys/resource.h.
+ 
+ 	* acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
+ 	NEED_DECLARATION_SETRLIMIT.
+ 
+ 	* system.h: Prototype getrlimit/setrlimit if necessary.
+ 
+ Tue Jun 30 10:54:48 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
+ 	upon.
+ 
+ Tue Jun 30 13:11:42 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/sysv4.h (asm output): Add tabs for asm directives.
+ 
+ Tue Jun 30 13:11:42 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
+ 
+ Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
+ 	Don't define NULL here.  Also, remove all vestiges of autoconf
+ 	based checks for bcmp/bcopy/bzero/index/rindex.
+ 
+ 	* system.h: Immediately after including stdio.h, check for and if
+ 	necessary provide a default definition of NULL.
+ 
+ Tue Jun 30 08:22:05 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* reload1.c (reload_cse_simplify_operands): Call
+ 	fatal_insn_not_found, not abort.
+ 
+ Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* choose-temp.c (make_temp_file): Accept new argument for the
+ 	file suffix to use.  Allocate space for it and add it to the
+ 	template.
+ 	* mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
+ 	for the length of the suffix.  Update template structure checks
+ 	to handle optional suffix.
+ 	* collect2.c (make_temp_file): Update prototype.
+ 	(main): Put proper suffixes on temporary files.
+ 	* gcc.c (make_temp_file): Update prototype.
+ 	(do_spec_1): Put proper suffixes on temporary files.
+ 
+ Tue Jun 30 00:56:19 1998  Bruno Haible  <haible@ilog.fr>
+ 
+ 	* invoke.texi: Document new implicit structure initialization
+ 	warning.
+ 
+ Mon Jun 29 21:40:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* toplev.c (flag_dump_unnumbered): Declare.
+ 	(f_options): Add dump-unnumbered.
+ 	* print-rtl.c (flag_dump_unnumbered): Define.
+ 	(print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
+ 	is nonzero.
+ 	(print_rtl): Don't output line number notes if flag_dump_unnumbered
+ 	is nonzero.
+ 	* flow.c (print_rtl_with_bb): Don't output newline after line
+ 	numbers note if flag_dump_unnumbered is nonzero.
+ 
+ Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
+ 	details.
+ 
+ 	* pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
+ 
+ Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
+ 
+ 	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
+ 	void since it is evaluated in a comma list.
+ 
+ 	* mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
+ 	argument as a long and cast `NUM' to long to ensure it is of the
+ 	proper width.  Wrap macro arguments in parens when they appear in
+ 	the expansion.
+ 
+ 	* sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 
+ 	* sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(ASM_DECLARE_RESULT): Fix fprintf format specifier to match
+ 	function argument return type.
+ 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
+ 	REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
+ 
+ 	* cpplib.c (cpp_message_from_errno): Remove unneeded argument to
+ 	cpp_message.
+ 
+ 	* dbxout.c: Fix the comments after an #endif to reflect the actual
+ 	condition tested in the preceding #if.
+ 
+ 	* except.c (find_all_handler_type_matches): Switch to old-style
+ 	function definition.
+ 
+ 	* expr.c (expand_builtin): Remove unused variable `type' twice.
+ 
+ 	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
+ 	to an unsigned long.
+ 
+ 	* haifa-sched.c (print_insn_chain): Remove unused function.
+ 
+ 	* objc/objc-act.c (build_msg_pool_reference): Hide prototype and
+ 	definition.
+ 
+ 	* toplev.c: When testing whether to include dbxout.h, also include
+ 	it when XCOFF_DEBUGGING_INFO is defined.
+ 
+ 	* unroll.c (unroll_loop): Add parentheses around assignment used
+ 	as truth value.
+ 
+ Mon Jun 29 12:18:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/lb1spc.asm (.div, .udiv): Replace routines.
+ 
+ Mon Jun 29 09:44:24 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.h: Update comment about special gen_rtx variants.
+ 	* emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
+ 
+ Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* choose-temp.c (choose_temp_base): Restore original variant of
+ 	this function for compatibility.
+ 	(make_temp_file): This is the new, preferred interface to create
+ 	temporary files.
+ 	* collect2.c (choose_temp_base): Delete declaration.
+ 	(make_temp_file): Declare.
+ 	(temp_filename_length, temp_filename): Delete.
+ 	(main): Use make_temp_file to get temporary files.  Use --lang-c
+ 	to force the resulting ctort/dtor file to be compiled with the C
+ 	compiler.  Make sure to remove temporary files on all exit paths.
+ 	* gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
+ 	defined.
+ 	(choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
+ 	not defined.
+ 	(do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
+ 
+ Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
+ 	getwd.
+ 
+ 	* acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
+ 	NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
+ 
+ 	* cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
+ 	(my_strerror): Add prototype and make it static.
+ 
+ 	* collect2.c: Likewise.
+ 
+ 	* cpplib.c: Likewise.
+ 
+ 	* gcc.c: Likewise, but keep `my_strerror' extern.
+ 
+ 	* protoize.c: Likewise.
+ 
+ 	* pexecute.c (my_strerror): Add argument to prototype.
+ 
+ 	* system.h: Add prototypes for getcwd, getwd and strerror.  Add
+ 	extern decls for sys_nerr and sys_errlist.  Make abort decl
+ 	explicitly extern.
+ 
+ 	* getpwd.c: Remove decls for getwd and getcwd.
+ 
+ Sun Jun 28 02:11:16 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Jun 27 23:32:25 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
+ 	of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
+ 	Allow FP moves to be optimized.
+ 	(rtx_unsafe_p): Delete.
+ 
+ Sat Jun 27 23:02:04 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* objc/archive.c: Remove <string.h> prototypes.
+ 
+ Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tm.texi (NEED_MATH_LIBRARY): Document new target macro.
+ 
+ 	* Makefile.in (gencheck): Remove $(TREE_H) dependency.
+ 
+ Sat Jun 27 20:20:00 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
+ 	* dsp16xx.c (next_cc_user_unsigned): New function.
+ 	Remove save_next_cc_user_code.
+ 	(print_operand): Use HOST_WIDE_INT_PRINT_* macros.
+ 	* dsp16xx.md: Call next_cc_user_unsigned instead of using
+ 	save_next_cc_user_code.
+ 	Use gen_rtx_* functions instead of gen_rtx.
+ 
+ Sat Jun 27 20:18:34 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
+ 
+ Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (count_reg_sets): New function.
+ 	(count_reg_sets_1, count_ref_references): Likewise.
+ 	(recompute_reg_usage): Likewise.
+ 	* rtl.h (recompute_reg_usage): Add prototype.
+ 	* toplev.c (rest_of_compilation): Call recompute_reg_usage just
+ 	before local register allocation.
+ 
+ Sat Jun 27 13:15:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (negsf, negdf): Revert Jan 22 change.
+ 
+ Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
+ 	(mkstemp): Remove size specifier for variable `letters'.  Call
+ 	gettimeofday, not __gettimeofday.
+ 
+ 	* Makefile.in (EXPR_H): New dependency variable.
+ 	(c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
+ 	(c-iterate.o): Likewise.
+ 	(gencheck): Depend on $(TREE_H) instead of tree.h, etc.
+ 	(stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
+ 	(toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
+ 	(varasm.o): Depend on $(EXPR_H) instead of expr.h.
+ 	(function.o): Likewise.
+ 	(stmt.o): Likewise.
+ 	(except.o): Likewise.
+ 	(expr.o): Likewise.
+ 	(calls.o): Likewise.
+ 	(expmed.o): Likewise.
+ 	(explow.o): Likewise.
+ 	(optabs.o): Likewise.
+ 	(sdbout.o): Likewise.
+ 	(dwarf2out.o): Likewise.
+ 	(emit-rtl.o): Likewise.
+ 	(integrate.o): Likewise.
+ 	(jump.o): Likewise.
+ 	(cse.o): Likewise.
+ 	(gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
+ 	basic-block.h.
+ 	(loop.o): Depend on $(EXPR_H) instead of expr.h.
+ 	(unroll.o): Likewise.
+ 	(combine.o): Likewise.
+ 	(reload.o): Likewise.
+ 	(reload1.o): Likewise.
+ 	(caller-save.o): Likewise.
+ 	(reorg.o): Likewise.
+ 	(alias.o): Don't depend on insn-codes.h.
+ 	(regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
+ 	(insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
+ 	(insn-opinit.o): Likewise.
+ 
+ Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
+ 	instead of mktemp.
+ 	* gcc.c (MKTEMP_EACH_FILE): Define.
+ 	(main): No need to call choose_temp_base if we are going to
+ 	use choose_temp_base to create each file later.
+ 	* mkstemp.c: New file.  Adapted from glibc.
+ 	* Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o.
+ 	(mkstemp.o): Add dependencies.
+ 
+ 	* configure.in (gettimeofday): Check for its existence.
+ 	* config.in (HAVE_GETTIMEOFDAY): Define.
+ 	* configure: Rebuilt.
+ 
+ 1998-06-26  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.md (ne 0, non power case): Add missing & constraint.
+ 	Name pattern ne0.
+ 	(negative abs insns): Add pattern names.
+ 
+ Fri Jun 26 17:36:42 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* Makefile.in (install-info): Run install-info program in separate
+ 	loop.
+ 
+ Fri Jun 26 16:03:15 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* haifa-sched.c (schedule_block): Add hooks for the machine
+ 	description to reorder the ready list, and update how many more
+ 	instructions can be issued this cycle.
+ 	* tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
+ 	
+ Fri Jun 26 11:54:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
+ 	Explicitly mark the constant being compared against as unsigned.
+ 	* config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
+ 	Fully initialize final members.
+ 	(mem_aligned_8): Explicit init of offset to zero.
+ 	(output_function_prologue): Explicit init of n_regs to zero.
+ 	(output_function_epilogue): Likewise, and mark arg size as
+ 	unused.
+ 	(init_cumulative_args): Mark libname and indirect as unused.
+ 	(function_arg_pass_by_reference): Likewise for cum and named.
+ 	(sparc_builtin_saveregs): Likewise for arglist.
+ 	(sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
+ 
+ Fri Jun 26 06:58:54 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
+ 	if reloading a MEM.
+ 
+ 	* arm.h (arm_adjust_cost): Renamed bogus prototype from
+ 	arm_adjust_code.
+ 	(bad_signed_byte_operand): Add prototype.
+ 	* arm.c (arm_override_options): Make I unsigned.
+ 	(const_ok_for_arm): Add casts to the constants.	
+ 	(load_multiple_operation): Don't redeclare elt in sub-block.
+ 	(arm_gen_movstrqi): Delete external declaration of optimize.
+ 	(gen_compare_reg): Declare parameter fp.
+ 
+ 	* arm.c (final_prescan_insn): Only initialize scanbody if the insn
+ 	has a pattern.
+ 
+ Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c: Include system.h and toplev.h.
+ 	(cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
+ 	(const48_operand): Likewise.
+ 	(mode_width_operand): Likewise.
+ 	(mode_mask_operand): Likewise.
+ 	(mul8_operand): Likewise.
+ 	(current_file_function_operand): Likewise.
+ 	(signed_comparison_operator): Likewise.
+ 	(divmod_operator): Likewise.
+ 	(any_memory_operand): Likewise.
+ 	(alpha_return_addr): Likewise for parameter `frame'.
+ 	(alpha_builtin_saveregs): Likewise for parameter `arglist'.
+ 	(vms_valid_decl_attribute_p): Likewise for parameters `decl' and
+ 	`attributes'.
+ 	(alpha_start_function): Likewise for parameter `decl'.  Use
+ 	HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
+ 	specifiers.  Remove unused variables `lab' and `name'.
+ 	(alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
+ 	(check_float_value): Likewise for parameter `overflow'.
+ 	(alpha_need_linkage): Likewise for parameters `name' and `is_local'.
+ 	
+ 	* alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
+ 	taking an argument.
+ 	(ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
+ 	(ASM_OUTPUT_CHAR): Likewise.
+ 	(ASM_OUTPUT_BYTE): Likewise.
+ 	(PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
+ 	fprintf.
+ 	(PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
+ 	Add prototypes for functions in alpha.c.
+ 
+ 	* alpha.md (ashldi3): Add default case in switch.
+ 
+ 1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (gcc_version, gcc_version_trigger): New macros.
+ 	(version): Initialize from $(gcc_version).
+ 
+ 	* configure.in (version): Rename to gcc_version.
+ 	(gcc_version_trigger): New variable; call AC_SUBST for it and
+ 	emit it into the generated config.status.
+ 	* configure: Regenerate.
+ 
+ Thu Jun 25 12:47:41 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
+ 	nodes that are not expressions.
+ 
+ Thu Jun 25 15:08:16 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* invoke.texi (-fstrict-aliasing): Document.
+ 	* rtl.texi (MEM_ALIAS_SET): Document.
+ 
+ 	* flags.h (flag_strict_aliasing): Declare.
+ 	* toplev.c (flag_strict_aliasing): Define.
+ 	(f_options): Add -strict-aliasing.
+ 	(main): Set flag_strict_aliasing if -O2 or higher.
+ 
+ 	* tree.h (tree_type): Add alias_set field.
+ 	(TYPE_ALIAS_SET): New macro.
+ 	(TYPE_ALIAS_SET_KNOWN_P): Likewise.
+ 	(get_alias_set): Declare.
+ 	* tree.c (lang_get_alias_set): Define.
+ 	(make_node): Initialize TYPE_ALIAS_SET.
+ 	(get_alias_set): New function.
+ 	* print-tree.c (print_node): Dump the alias set for a type.
+ 
+ 	* c-tree.h (c_get_alias_set): Declare.
+ 	* c-common.c (c_get_alias_set): New function.
+ 	* c-decl.c (init_decl_processing): Set lang_get_alias_set.
+ 
+ 	* expr.c (protect_from_queue): Propagate alias sets.
+ 	(expand_assignment): Calculate alias set for new MEMs.
+ 	(expand_expr): Likewise.
+ 	* function.c (put_var_into_stack): Likewise.
+ 	(put_reg_into_stack): Likewise.
+ 	(gen_mem_addressof): Likewise.
+ 	(assign_parms): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* varasm.c (make_decl_rtl): Eliminate redundant clearing of
+ 	DECL_RTL.  Calculate alias set for new MEMs.
+ 
+ 	* rtl.def (REG): Add dummy operand.
+ 	(MEM): Add extra operand to store the MEM_ALIAS_SET.
+ 	* rtl.h (MEM_ALIAS_SET): New macro.
+ 	(gen_rtx_MEM): Declare.
+ 	* emit-rtl.c (gen_rtx_MEM): New function.
+ 	* gengenrtl.c (sepcial_rtx): Make MEMs special.
+ 
+ 	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
+ 	(DIFFERENT_ALIAS_SETS_P): Likewise.
+ 	(canon_rtx): Propagate the alias set to the new MEM.
+ 	(true_dependence): Check the alias sets.
+ 	(anti_dependence): Likewise.
+ 	(output_dependence): Likewise.
+ 	* explow.c (stabilize): Progoate alias sets.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
+ 	in an unpredictable state.  Propagate alias sets.
+ 	* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
+ 	we have no alias information.
+ 	
+ Thu Jun 25 16:59:18 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
+ 	(find_all_handler_type_matches): Add function prototype.
+ 	* eh-common.h (CATCH_ALL_TYPE): Definition added.
+ 	* except.c (find_all_handler_type_matches): Add function to find all
+ 	runtime type info in the exception table.
+ 	(output_exception_table_entry): Special case for CATCH_ALL_TYPE.
+ 
+ Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
+ 
+ 	* config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
+ 	`yhigh' and `bit' into the scope in which they are used.
+ 	(_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
+ 	`y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
+ 
+ 	* rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
+ 	(any_operand): Mark unused parameters `op' and `mode' with
+ 	ATTRIBUTE_UNUSED.
+ 	(count_register_operand): Likewise for parameter `mode'.
+ 	(fpmem_operand): Likewise.
+ 	(short_cint_operand): Likewise.
+ 	(u_short_cint_operand): Likewise.
+ 	(non_short_cint_operand): Likewise.
+ 	(got_operand): Likewise.
+ 	(got_no_const_operand): Likewise.
+ 	(non_add_cint_operand): Likewise.
+ 	(non_logical_cint_operand): Likewise.
+ 	(mask_operand): Likewise.
+ 	(current_file_function_operand): Likewise.
+ 	(small_data_operand): Likewise for parameters `op' and `mode' but
+ 	only when !TARGET_ELF.
+ 	(init_cumulative_args): Mark parameters `libname' with
+ 	ATTRIBUTE_UNUSED.
+ 	(function_arg_pass_by_reference): Likewise for parameters `cum',
+ 	`mode' and `named'.
+ 	(expand_builtin_saveregs): Likewise for parameter `args'.
+ 	(load_multiple_operation): Likewise for parameter `mode'.
+ 	(store_multiple_operation): Likewise.
+ 	(branch_comparison_operator): Likewise.
+ 	(secondary_reload_class): Likewise.
+ 	(print_operand): Add parentheses around & operation.
+ 	(output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
+ 	(output_epilog): Likewise.  Cast argument to fprintf to int.
+ 	(rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
+ 	(rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
+ 	`attributes', `identifier' and `args'.
+ 	(rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
+ 	(rs6000_comp_type_attributes): Likewise for parameters `type1' and
+ 	`type2'.
+ 	(rs6000_set_default_type_attributes): Likewise for parameter `type'.
+ 
+ 	* rs6000.h (RTX_COSTS): Add parentheses around & operation.
+ 	(toc_section, private_data_section, trap_comparison_operator): Add
+ 	prototypes.
+ 
+ 	* dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
+ 	prototypes.
+ 
+ 	* xcoffout.c: Include toplev.h, outout.h and dbxout.h.
+ 
+ 	* xcoffout.h (stab_to_sclass, xcoffout_begin_function,
+ 	xcoffout_begin_block, xcoffout_end_epilogue,
+ 	xcoffout_end_function, xcoffout_end_block,
+ 	xcoff_output_standard_types, xcoffout_declare_function,
+ 	xcoffout_source_line): Add prototypes.
+ 
+ Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
+ 	noticed by grahams@rcp.co.uk.
+ 
+ Thu Jun 25 11:12:29 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* gcc.c (default_compilers): Use new | syntax to eliminate
+ 	string concatenation.
+ 
+ Thu Jun 25 01:00:48 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_function_name): Delete.
+ 	(alpha_ra_ever_killed): Notice current_function_is_thunk.
+ 	(alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
+ 	(alpha_start_function): Reorg from output_prologue.
+ 	(alpha_end_function): Reorg from output_epilogue.
+ 	* alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
+ 	(ASM_DECLARE_FUNCTION_SIZE): New.
+ 	(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
+ 	(PROFILE_BEFORE_PROLOGUE): Set.
+ 	(ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
+ 	* alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+ 
+ 1998-06-25  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* expr.c (expand_assignment): Rework address calculation for structure
+ 	field members to expose more invariant computations to the loop
+ 	optimizer.
+ 	(expand_expr): Likewise.
+ 
+ Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* local-alloc.c (block_alloc): Do not try to avoid false dependencies
+ 	when SMALL_REGISTER_CLASSES is nonzero.
+ 
+ Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
+ 
+ Wed Jun 24 16:27:23 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* expr.c (get_memory_rtx): New function.
+ 	(expand_builtin): Call get_memory_rtx for MEM arguments to builtin
+ 	string functions.
+ 
+ 	* expmed.c (init_expmed): Initialize all elements of *_cost arrays.
+ 
+ 	* optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
+ 	* expr.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* gcse.c: Likewise.
+ 
+ Wed Jun 24 15:13:01 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* README.gnat: Add patch for new lang_decode_options interface.
+ 
+ Wed Jun 24 09:14:04 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.c (start_catch_handler): Do nothing if EH is not on.
+ 
+ 1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* configure.in (gxx_include_dir): Initialize default value depending on
+ 	new flag --enable-version-specific-runtime-libs; remove superfluous
+ 	default initialization afterwards.
+ 	* configure: Regenerate.
+ 
+ Wed Jun 24 01:32:12 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* toplev.c (rest_of_compilation): Revert May 15 change.
+ 
+ Tue Jun 23 21:27:27 1998  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* reload.c (find_reloads): Fix check for failure to match any
+ 	alternative, to account for Mar 26 change in initial "best" cost.
+ 
+ Tue Jun 23 16:44:21 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cpplib.c (do_line): Typo broke #line directive.
+ 	(cpp_message_from_errno): New function.
+ 	(cpp_error_from_errno): Call cpp_message_from_errno.
+ 	* cpplib.h (cpp_message_from_errno): New function.
+ 
+ Tue Jun 23 13:38:18 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
+ 	functions to return exception descriptor information.
+ 	(find_exception_handler): Pass match_info field to runtime matcher,
+ 	not a descriptor table entry.
+ 
+ Tue Jun 23 09:30:58 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
+ 	accompany previous Makefile.in (install-info) change.
+ 
+ Tue Jun 23 10:06:07 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* eh-common.h (struct __eh_info): Remove coerced value field.
+ 	* libgcc2.c (find_exception_handler): Don't set coerced_value field.
+ 	* except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
+ 	POINTER_SIZE instead of Pmode.
+ 	(expand_start_all_catch): Call start_catch_handler() if we are not
+ 	using new style exceptions.
+ 
+ Tue Jun 23 06:45:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* varasm.c (assemble_variable): Remove reference to warn_bss_align.
+ 
+ Mon Jun 22 23:57:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 
+ 	* config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
+ 	extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
+ 	subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
+ 	splits and peepholes): Change remaining generic gen_rtx calls to
+ 	specific genrtl ones.
+ 	* config/sparc/sparc.c: Likewise.
+ 	
+ Mon Jun 22 22:21:46 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcc.c (handle_braces): Recognize | between options as an or.
+ 
+ Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
+ 	* i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
+ 
+ 	* i386.md (exception_receiver): Define.
+ 
+ Mon Jun 22 12:01:48 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
+ 	PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
+ 	(install-common): Use them.
+ 
+ 	* gcse.c (add_label_notes): New function.
+ 	(pre_insert_insn): Call it.
+ 	* unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
+ 	pass the label to set_label_in_map.
+ 
+ Mon Jun 22 19:01:14 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* Makefile.in (install-info): Fix typpo in previous change.
+ 
+ Mon Jun 22 11:10:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* varasm.c (assemble_variable): Emit alignment warning.
+ 
+ Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (varasm.o): Depend on sdbout.h.
+ 	(sdbout.o): Depend on toplev.h.
+ 
+ 	* collect2.c (scan_prog_file): Cast fprintf argument to `long' and
+ 	use %ld specifier.
+ 
+ 	* final.c (shorten_branches): Cast first arg of `bzero' to char *.
+ 
+ 	* genextract.c (main): When creating insn-extract.c, mark variable
+ 	`i' with ATTRIBUTE_UNUSED.
+ 
+ 	* genpeep.c (main): When creating insn-peep.c, mark variables
+ 	`insn', `x' and `pat' with ATTRIBUTE_UNUSED.
+ 
+ 	* objc/init.c (__objc_tree_print): Wrap function definition in
+ 	macro `DEBUG'.
+ 
+ 	* objc/objc-act.c (encode_array): Cast sprintf argument to `long'
+ 	and use %ld specifier.
+ 	(adorn_decl): Likewise, twice.
+ 
+ 	* reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
+ 
+ 	* sdbout.c: Include output.h and toplev.h.
+ 	(PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
+ 	`a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
+ 	(PUT_SDB_SIZE): Likewise.
+ 
+ 	* sdbout.h (sdbout_mark_begin_function): Add prototype.
+ 
+ 	* stmt.c (check_for_full_enumeration_handling): Cast argument of
+ 	`warning' to long and use %ld specifier.
+ 
+ 	* toplev.c (main): Likewise for `fprintf'.
+ 
+ 	* toplev.h (output_file_directive): Add prototype.
+ 
+ 	* unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
+ 	call to `fprintf'.
+ 	(precondition_loop_p): Likewise.
+ 
+ 	* varasm.c Include sdbout.h.
+ 	(assemble_static_space): Move sometimes-unused variable `rounded'
+ 	into the scope in which it is used.
+ 	
+ 	* mips.c (gpr_mode): Don't say `static' twice.
+ 
+ 	* cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
+ 
+ 	* objc/objc-act.c (init_selector): Hide prototype and definition.
+ 
+ 	* optabs.c (gen_cond_trap): Remove unused variable `icode'.
+ 	
+ 	* regmove.c (copy_src_to_dest): Likewise for `i'.
+ 
+ 	* mips-tfile.c (add_local_symbol): Cast width format specifier to int.
+ 	(add_ext_symbol): Likewise.
+ 	(add_file): Likewise.
+ 	(parse_def): Likewise.
+ 	(write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
+ 	remaining format specifiers and arguments.
+ 	(write_object): Likewise, several times.
+ 	(read_seek): Likewise.
+ 	(out_of_bounds): Likewise.
+ 	(allocate_cluster): Likewise.
+ 	(xmalloc): Likewise.
+ 	(xcalloc): Likewise.
+ 	(xrealloc): Likewise.
+ 	(xfree): Likewise.
+ 
+ 	* mips-tdump.c (print_symbol): Likewise.
+ 	
+ Sun Jun 21 17:05:34 1998  Dave Love  <d.love@dl.ac.uk>
+ 
+ 	* Makefile.in (install-info): Use install-info program if
+ 	available, per GNU standard.
+ 
+ Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* invoke.texi: Document -mrelax for the mn10300 and mn10200.
+ 
+ 	* basic-block.h (init_regset_vector): Delete declaration.
+ 	* flow.c (init_regset_vector): Make it static and add a prototype.
+ 
+ 	* bitmap.h (debug_bitmap): Declare.
+ 
+ 	* haifa-sched.c (debug_ready_list): Make static.
+ 
+ 	* toplev.h (fancy_abort): Declare.
+ 
+ Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* basic-block.h (init_regset_vector): New declaration.
+ 
+ 	* Makefile.in (sdbout.o): Add insn-codes.h to dependency.
+ 
+ 	* global.c: Include machmode.h amd move hard-reg-set.h before
+ 	rtl.h.
+ 
+ 	* haifa-sched.c (insn_issue_delay, birthing_insn_p,
+ 	adjust_priority, print_insn_chaino): New declaration.
+ 	(schedule_insns): Remove declaration.
+ 	(init_target_units, get_visual_tbl_length,
+ 	init_block_visualization): Add prototype.
+ 
+ 	* integrate.c (pushdecl, poplevel): Remove declaration.
+ 
+ 	* rtl.h (expand_expr): Remove declaration.
+ 
+ 	* loop.c (oballoc): Remove declaration.
+ 	(replace_call_address): Add prototype.
+ 
+ Sun Jun 21 01:08:17 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (output_fp_conditional_move): Don't bother handling
+ 	(cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
+ 	prevent this from happening.
+ 
+ 	* i386.md (nonlocal_goto_receiver): Delete.
+ 
+ Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
+ 	-DCRTSTUFFS_O.
+ 	(INSTALL): cd $(srcdir) before make.
+ 
+ 	* flow.c (allocate_for_life_analysis, init_regset_vector):
+ 	Remove declaration.
+ 
+ 	* function.h (get_first_block_beg): New declaration.
+ 
+ 	* gbl-ctors.h (__do_global_dtors): Add prototype.
+ 
+ 	* gcov-io.h (__fetch_long): New declaration.
+ 	(__store_long): Likewise.
+ 	(__read_long): Likewise.
+ 	(__write_long): Likewise.
+ 
+ 	* gcov.c (print_usage): New declaration.
+ 
+ 	* Makefile.in (c-iterate.o): Depend on insn-codes.h too.
+ 
+ Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (expand_call): Initialize "src" and "dest".
+ 	* stmt.c (expand_return): Likewise.
+ 	* expmed.c (extract_split_bit_field): Similarly for "result"
+ 	* gcse.c (compute_hash_table): Mark first arg as unused.
+ 	* jump.c (jump_optimize): Initialize reversep.
+ 	* tree.c (make_node): Initialize length.
+ 
+ 	* c-common.c (check_format_info): Initialize length_char and
+ 	fci to keep -Wall quiet.
+ 
+ 	* except.c (jumpif_rtx): Put declaration and definition
+ 	inside a suitable #ifdef.
+ 	(jumpifnot_rtx): Delete dead function.
+ 
+ 	* i386.h (output_int_conditional_move): Declare.
+ 	(output_fp_conditional_move): Likewise.
+ 	(ix86_can_use_return_insn_p): Likewise.
+ 
+ 	* optabs.c (init_traps): Put prototype inside a suitable #ifdef.
+ 
+ Sat Jun 20 00:27:40 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* alias.c: Include toplev.h.
+ 	* caller-save.c: Include toplev.h.
+ 	* combine.c: Include toplev.h.
+ 	* flow.c Include toplev.h.
+ 	* global.c: Include toplev.h.
+ 	* jump.c: Include toplev.h.
+ 	* local-alloc.c: Include toplev.h.
+ 	* loop.c: Include toplev.h.
+ 	* regmove.c: Include toplev.h.
+ 	* stupid.c: Include toplev.h.
+ 	* unroll.c: Include toplev.h.
+ 	* Makefile.in: Add toplev.h dependencies.
+ 
+ Fri Jun 19 22:40:25 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* regmove.c (copy_src_to_dest): Add decl for loop_depth.
+ 
+ 	* svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
+ 	Add parens to various macros.
+ 
+ Fri Jun 19 23:22:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* c-typeck.c (pop_init_level): Warn about implicit zero initialization
+ 	of struct members.
+ 
+ Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* varasm.c (assemble_start_function): Add weak_global_object_name.
+ 	* tree.c (get_file_function_name): Use it.
+ 
+ Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* except.c (jumpif_rtx): Make static and add prototype.
+ 	(jumpifnot_rtx): Likewise.
+ 
+ 	* README.gnat: Add a build patch from Fred Fish.
+ 
+ 	* c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
+ 
+ 	* Makefile.in (c-iterate.o): Depend on expr.h.
+ 
+ Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* except.h (emit_unwinder, end_eh_unwinder): Removed.
+ 
+ 	* dwarfout.c (getpwd): Add prototype.
+ 	(is_pseudo_reg, type_main_variant, is_tagged_type,
+ 	is_redundant_typedef): New declaration.
+ 	(output_decl): Add prototype for FUNC.
+ 	(type_main_variant): Make it static.
+ 	(is_tagged_type): Likewise.
+ 	(is_redundant_typedef): Likewise.
+ 
+ 	* expr.c (do_jump_by_parts_greater_rtx): Removed.
+ 	(truthvalue_conversion): Likewise.
+ 
+ 	* c-iterate.c: Include "expr.h".
+ 	(expand_expr): Use proper values when calling the function.
+ 
+ 	* explow.c (emit_stack_save): Add prototype for FCN.
+ 	(emit_stack_restore): Likewise.
+ 
+ 	* dwarf2out.c (getpwd): Add prototype.
+ 
+ 	* dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
+ 
+ 	* c-typeck.c (c_expand_asm_operands): Use proper values when calling
+ 	expand_expr.
+ 
+ 	* c-lex.c (yyprint): Add prototype.
+ 	(check_newline, build_objc_string): Remove declaration.
+ 
+ 	* c-tree.h (comptypes_record_hook): Removed.
+ 	(finish_incomplete_decl): New prototype.
+ 
+ 	* alias.c (find_base_value): Add prototype.
+ 	(true_dependence): Add prototype for function argument.
+ 
+ 	* c-aux-info.c (xmalloc): Remove declaration.
+ 
+ Fri Jun 19 20:23:05 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* i386.c: Include system.h.  Remove redundant includes.
+ 	(optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
+ 	(i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
+ 	'identifier', 'args'.
+ 	(i386_valid_type_attribute_p): Likewise for 'attributes'.
+ 	(i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
+ 	(function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
+ 	and 'named'.
+ 	(symbolic_operand): Likewise for 'mode'.
+ 	(call_insn_operand): Likewise.
+ 	(expander_call_insn_operand): Likewise.
+ 	(ix86_logical_operator): Likewise.
+ 	(ix86_binary_operator_ok): Likewise.
+ 	(emit_pic_move): Likewise.
+ 	(VOIDmode_compare_op): Likewise.
+ 	(is_mul): Likewise.
+ 	(str_immediate_operand): Likewise.
+ 	(ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
+ 	(asm_output_function_prefix): Likewise for 'name'.
+ 	(function_prologue): Likewise for 'file', and 'size'.
+ 	(function_epilogue): Likewise.
+ 
+ 1998-06-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.h (struct induction): Clarify comment for unrolled field.
+ 	* unroll.c (find_splittable_givs): Move set of unrolled field
+ 	after address validity check.
+ 
+ Fri Jun 19 18:38:04 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* config/fp-bit.c (INLINE): Only define if not already defined.
+ 
+ 1998-06-19  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (installdirs): Loop over directories in $(libsubdir)
+ 	creating probably missing ones, instead of single if statements.
+ 
+ Fri Jun 19 10:43:52 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* c-common.c (truthvalue_conversion): Protect side effects in the
+ 	expression when splitting a complex value.
+ 	* fold-const.c (fold): Likewise.
+ 
+ Fri Jun 19 02:31:16 1998  Klaus Kaempf  (kkaempf@progis.de)
+ 
+ 	* cccp.c (hack_vms_include_specification): Rewrite to handle
+ 	'#include <dir/file.h>' correctly.
+ 
+ Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
+ 
+ Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (notice_update_cc): Integer conditional moves don't
+ 	affect cc0.
+ 
+ 	* i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
+ 	to support LT, LE, GE, and GT signed integer comparisons.
+ 	(movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
+ 	movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
+ 	is LT, LE, GE, or GT.
+ 	(movdicc): Remove code resulting from an earlier patch which
+ 	didn't apply correctly.
+ 
+ Fri Jun 19 02:00:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
+ 	consider a MEM in FP mode as equal.
+ 
+ Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
+ 	duplicate declarations of a function.
+ 
+ Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/float-i386.h: New.
+ 
+ 	* configure.in (i[34567]86-*-linux-*): Set float_format to i386.
+ 
+ Thu Jun 18 20:11:00 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sched.c (schedule_insns): Use xmalloc not alloca for max_uid
+ 	indexed arrays.  Call free at the end of the function for them.
+ 	* haifa-sched.c (schedule_insns): Likewise.
+ 
+ Thu Jun 18 18:16:01 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (size_of_string): Do count backslashes.
+ 
+ Thu Jun 18 11:43:54 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
+ 	addressing when one register is the frame pointer or stack
+ 	pointer.  Disallow REG+CONST addressing in HI mode.
+ 
+ Thu Jun 18 17:30:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
+ 	RELOAD_FOR_INSN.
+ 
+ Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-lang.o): Depend on output.h.
+ 
+ 	* c-lang.c: Include output.h.
+ 
+ 	* sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
+ 
+ 	* except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
+ 
+ 	* genrecog.c (write_subroutine): When writing insn-recog.c, mark
+ 	variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
+ 	with ATTRIBUTE_UNUSED.
+ 
+ 	* regmove.c (copy_src_to_dest): Make function static to match its
+ 	prototype.
+ 
+ 	* reload1.c Include hard-reg-set.h before rtl.h to get macro
+ 	HARD_CONST.  Include machmode.h before hard-reg-set.h.
+ 
+ 	* rtl.h: Prototype `retry_global_alloc' and wrap with macro
+ 	HARD_CONST to protect usage of typedef HARD_REG_SET.
+ 
+ 	* tree.c: Prototype `_obstack_allocated_p'.
+ 
+ 	* varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
+ 	BSS_SECTION_ASM_OP.
+ 
+ Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pa.c: Include system.h and toplev.h.  Remove redundant code.
+ 	(call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
+ 	(symbolic_operand): Likewise.
+ 	(symbolic_memory_operand): Likewise.
+ 	(pic_label_operand): Likewise.
+ 	(fp_reg_operand): Likewise.
+ 	(pre_cint_operand): Likewise.
+ 	(post_cint_operand): Likewise.
+ 	(ireg_or_int5_operand): Likewise.
+ 	(int5_operand): Likewise.
+ 	(uint5_operand): Likewise.
+ 	(int11_operand): Likewise.
+ 	(uint32_operand): Likewise.
+ 	(ior_operand): Likewise.
+ 	(lhs_lshift_cint_operand): Likewise.
+ 	(pc_or_label_operand): Likewise.
+ 	(legitimize_pic_address): Likewise.
+ 	(hppa_legitimize_address): Likewise for parameter `old'.
+ 	(output_block_move): Likewise for parameter `size_is_constant'.
+ 	(output_function_prologue): Likewise for parameter `size'.
+ 	(output_function_epilogue): Likewise.
+ 	(return_addr_rtx): Likewise for parameter `count'.
+ 	(output_mul_insn): Likewise for parameter `unsignedp'.
+ 	(hppa_builtin_saveregs): Likewise for parameter `arglist'.
+ 	(output_bb): Likewise for parameter `operands'.
+ 	(output_bvb): Likewise.
+ 	(function_label_operand): Likewise for parameter `mode'.
+ 	(plus_xor_ior_operator): Likewise.
+ 	(shadd_operand): Likewise.
+ 	(non_hard_reg_operand): Likewise.
+ 	(eq_neq_comparison_operator): Likewise.
+ 	(movb_comparison_operator): Likewise.
+ 	(pa_combine_instructions): Likewise for parameter `insns'.
+ 
+ 	* pa.h: Add prototypes for functions `output_deferred_plabels',
+ 	`override_options', `output_ascii', `output_function_prologue',
+ 	`output_function_epilogue', `print_operand',
+ 	`symbolic_expression_p', `reloc_needed', `compute_frame_size',
+ 	`hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
+ 	`pa_adjust_cost', `pa_adjust_insn_length' and
+ 	`secondary_reload_class'.
+ 
+ Wed Jun 17 22:28:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* configure.in: Don't turn on collect2 unconditionally.
+ 
+ Wed Jun 17 20:20:48 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cse.c (cse_basic_block): Don't include NOTE insns in the count
+ 	that is used to decide whether or not it is time to erase the
+ 	equivalence table.
+ 
+ Wed Jun 17 18:30:43 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
+ 
+ Wed Jun 17 19:05:03 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
+ 	(sched_analyze_2): Allow scheduling TRAP_IF.
+ 
+ 	* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
+ 
+ 	* rtl.h (TRAP_CODE): New macro.
+ 
+ 	* rtl.def (TRAP_IF): Change second operand type to rtx.
+ 
+ 	* optabs.c (gen_cond_trap): New function.
+ 	(init_traps): New function.
+ 	(init_optabs): Call init_traps.
+ 	* expr.h: Declare gen_cond_trap.
+ 
+ 	* jump.c (jump_optimize): Optimize jumps to and around traps.
+ 
+ 	* sparc.md: Define trap instructions.
+ 
+ 	* rs6000.md: Define trap instructions.
+ 	* rs6000.c (print_operand): New code 'V' for trap condition.
+ 	(trap_comparison_operator): New function.
+ 
+ 	* m88k.md: Update use of TRAP_IF.
+ 
+ 	* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
+ 	* c-decl.c (init_decl_processing): New builtin __builtin_trap.
+ 	* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
+ 
+ 	* expr.c (expand_builtin): Error if __builtin_longjmp second argument
+ 	is not 1.
+ 
+ Wed Jun 17 15:20:00 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	 * reload1.c (spill_hard_reg): Check mode of register when
+ 	 spilling from scratch_list.
+ 
+ Wed Jun 17 16:25:38 1998  Andrew MacLeod  (amacleod@cygnus.com)
+ 
+ 	* except.c (add_new_handler): Fix bug in finding last region handler.
+ 	* libgcc2.c (find_exception_handler): Pass exception table pointer
+ 	to runtime type matcher, not the match info field.
+ 
+ Wed Jun 17 15:57:48 1998  Andrew MacLeod  (amacleod@cygnus.com)
+ 
+ 	* eh-common.h (struct eh_context): Add comment for hidden use of
+ 	field dynamic_handler_chain.
+ 	* except.c (get_dynamic_handler_chain): Comment on, and use the
+ 	correct offset of the dynamic_handler_chain field.
+ 
+ 1998-06-17  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/iris6.h (LINK_SPEC): Add -woff 131.
+ 
+ 1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
+ 
+ 	* configure.in: Don't disable collect2 when we have GNU ld.
+ 
+ Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (make_range): Do not widen the type of the expression.
+ 
+ 	* expr.c (check_max_integer_computation_mode): New function.
+ 	(expand_expr): Avoid integer computations in modes wider than
+ 	MAX_INTEGER_COMPUTATION_MODE.
+ 	* fold-const.c (fold): Likewise.
+ 	* tree.h (check_max_integer_computation_mode): Declare.
+ 	* tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
+ 
+ 	* configure.in (nm): Make a link to "nm" in the build tree too.
+ 
+ 	* mn10300.md (andsi3): Fix typo.
+ 
+ Tue Jun 16 22:58:40 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (reload_cse_regs): Call bzero instead of looping.
+ 
+ Tue Jun 16 18:30:35 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (stripattributes): Prepend '*' to the section name.
+ 
+ Tue Jun 16 16:49:26 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
+ 	(output_prologue, output_epilogue): Merge VMS and OSF versions;
+ 	Remove anything related to the actual code generation.
+ 	(output_end_prologue): New function.
+ 	(alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
+ 	(alpha_does_function_need_gp): Return false for VMS.
+ 	(alpha_function_needs_gp): Make static.
+ 	(add_long_const): Delete.
+ 	(summarize_insn): Don't assume a SUBREG is of a REG.
+ 	Prototype all static functions.  Rename VMS-specific global
+ 	variables vms_*.
+ 	* alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
+ 	(FUNCTION_BOUNDARY): Align to cache line.
+ 	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
+ 	(FUNCTION_END_PROLOGUE): New macro.
+ 	* alpha.md (attribute length): New.  Mark all insns.
+ 	(return_internal, prologue_stack_probe_loop): New patterns.
+ 	(prologue, init_fp, epilogue): New patterns.
+ 	Disable peepholes.
+ 	* linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
+ 
+ Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* toplev.c (lang_options): Add -trigraphs option for cpplib.
+ 
+ Tue Jun 16 23:33:24 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
+ 	is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
+ 	is earlier than RELOAD_FOR_INPUT_ADDRESS.
+ 
+ Tue Jun 16 13:15:16 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* libgcc1-test.c (memcpy): Define.
+ 
+ Tue Jun 16 13:44:02 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* genattrtab.c (struct attr_desc): Change int flags to bit
+ 	fields.  Add bit fields for this being function_units_used
+ 	or *_blockage_range attributes.
+ 	(write_unit_name): New function to print a function unit name
+ 	given unit #.
+ 	(expand_units): Indicate whether this is function_units_used or
+ 	*_blockage_range attributes.
+ 	(write_toplevel_expr): Print function_units_used and
+ 	*_blockage_range attributes in a more friendly fashion.
+ 	(make_internal_attr): Indicate whether this attribute is either
+ 	function_units_used or *_blockage_range.
+ 
+ Mon Jun 15 17:06:43 1998  Michael Meissner  <meissner@cygnus.com>
+ 			  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* regmove.c (copy_src_to_dest): Do not copy src to dest if either
+ 	the source or destination is special.
+ 
+ Mon Jun 15 13:20:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
+ 
+ Mon Jun 15 07:16:29 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Jun 13 13:10:40 1998  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
+ 	redefining it.
+ 
+ Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
+ 
+ 	* m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
+ 	(ENDFILE_SPEC): Add -lgloss.
+ 
+ Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
+ 	(large_int): Likewise.
+ 	(pc_or_label_operand): Likewise.
+ 	(call_insn_operand): Likewise.
+ 	(consttable_operand): Likewise.
+ 	(m16_uimm3_b): Likewise.
+ 	(m16_simm4_1): Likewise.
+ 	(m16_nsimm4_1): Likewise.
+ 	(m16_simm5_1): Likewise.
+ 	(m16_nsimm5_1): Likewise.
+ 	(m16_uimm5_4): Likewise.
+ 	(m16_nuimm5_4): Likewise.
+ 	(m16_simm8_1): Likewise.
+ 	(m16_nsimm8_1): Likewise.
+ 	(m16_uimm8_1): Likewise.
+ 	(m16_nuimm8_1): Likewise.
+ 	(m16_uimm8_m1_1): Likewise.
+ 	(m16_uimm8_4): Likewise.
+ 	(m16_nuimm8_4): Likewise.
+ 	(m16_simm8_8): Likewise.
+ 	(m16_nsimm8_8): Likewise.
+ 	(m16_usym8_4): Likewise.
+ 	(m16_usym5_4): Likewise.
+ 	(mips_move_1word): Change type of variable `i' from int to size_t.
+ 	(mips_move_2words): Likewise.
+ 	(output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
+ 	(function_arg_advance): Use HOST_PTR_PRINTF to print an address.
+ 	(function_arg): Likewise.
+ 	(function_arg_partial_nregs): Mark parameter `named' with
+ 	ATTRIBUTE_UNUSED.
+ 	(override_options): Use ISDIGIT instead of isdigit.
+ 	(mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
+ 	(final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
+ 	(save_restore_insns): Cast HOST_WIDE_INT arguments passed to
+ 	function `fatal' to long before printing.  Use
+ 	HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
+ 	times in this function.
+ 	(function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
+ 	(function_epilogue): Likewise for parameters `file' and `size'.
+ 	Print an int with "%d" not "%ld".
+ 	(mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
+ 	(mips_function_value): Likewise for parameter `func'.
+ 	(function_arg_pass_by_reference): Likewise for parameters `cum'
+ 	and `named'.
+ 	(extend_operator): Likewise for parameter `mode'
+ 	(highpart_shift_operator): Likewise.
+ 
+ 	* mips.md (mul_acc_si): Remove unused variable `macc'.
+ 
+ Fri Jun 12 09:33:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (fold): Revert last change.  It breaks constant
+ 	expressions somehow.
+ 
+ Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
+ 	prevent operands from being evaluated twice.
+ 
+ Fri Jun 12 00:50:27 1998  Sergey Okhapkin  <sos@prospect.com.ru>
+ 
+ 	* toplev.c (lang_options): Add -remap as a preprocessor option.
+ 
+ Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
+ 	which set CC_REVERSED since reload should ensure that
+ 	the operands are already the correct type.
+ 
+ Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
+ 	calling gen_rtx_SET.
+ 
+ Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* config/rs6000/x-aix43 (AR): Delete.
+ 	(AR_FOR_TARGET_FLAGS): Add -X32_64 here.
+ 
+ Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
+ 
+ 	* config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
+ 
+ Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.c (override_options): Replace word_mode with explicit
+ 	TARGET_64BIT check.
+ 
+ Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* regmove.c (regmove_optimize): If we can't replace the
+ 	destination in an insn that sets the source, generate an explicit
+ 	move of the source to the destination.
+ 	(copy_src_to_dest): New function.
+ 	(toplevel): Include basic-block.h.
+ 
+ 	* Makefile.in (regmove.o): Add basic-block.h dependencies.
+ 
+ Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* toplev.c (lang_options): Add missing options (nostdinc, idirafter).
+ 
+ Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.h (rtx_def): Improve documentation.
+ 	(MEM_IN_STRUCT_P): Likewise.
+ 
+ Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* c-decl.c (start_decl): Correct test for -Wmain.
+ 
+ 	* c-decl.c (grokdeclarator): Remove unused variable "last".
+ 
+ Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
+ 	(expand_builtin_longjmp): Abort if value isn't const1_rtx.
+ 	Delete code storing value in static_chain_rtx.
+ 	(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
+ 	to second expand_expr call.
+ 
+ Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* mips/mips.c: Remove -mabi=o32 and -mabi=n64.
+ 
+ Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cppmain.c (fatal): New function.
+ 	* configure.in (cpp_main): New configuration variable.
+ 	* configure: Regenerated.
+ 	* Makefile.in (CCCP): Use a configuration variable to select basex
+ 	for cccp.
+ 	(cppmain$(exeext)): Add @extra_cpp_objs@.
+ 
+ Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* objc/objc-act.c: Add cpplib declarations.
+ 	(lang_decode_option): Initialize cpplib if necessary.
+ 	(lang_decode_option): New argc/argv interface.
+ 	* tree.h (lang_decode_option): New argc/argv interface.
+ 	* toplev.c (lang_options): Add cpp options.
+ 	(main): New interface for lang_decode_option.
+ 	* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
+ 	unless -E, -M or -MM is specified.
+ 	* cpplib.h (cpp_handle_option): New function.
+ 	* cpplib.c (cpp_handle_option): New function.
+ 	(cpp_handle_options): Now calls cpp_handle_option.
+ 	* c-tree.h (c_decode_option): New argc/argv interface.
+ 	* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
+ 	* c-lang.c (lang_decode_option): New argc/argv interface.
+ 	* c-decl.c: Add cpplib declarations.
+ 	(c_decode_option): New argc/argv interface.
+ 	(c_decode_option): Call cpp_handle_option.
+ 	(c_decode_option): Now returns number of strings processed.
+ 
+ Wed Jun 10 09:47:13 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* unroll.c (verify_addresses): Use validate_replace_rtx to undo the
+ 	changes.  Abort if the undo fails.
+ 
+ 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (output_prolog): Change locations and
+ 	directions of saving and restoring arguments of main on the stack.
+ 
+ Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
+ 	for each alternative.  Do not replace a CONST_INT with a REG unless
+ 	the reg is cheaper.
+ 
+ Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* decl.c (init_decl_processing): Fix typo.
+ 
+ 	* mips.c (gpr_mode): New variable.
+ 	(override_options): Initialize gpr_mode.
+ 	(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
+ 	determine size and offset of general purpose registers save slots.
+ 	(save_restore_insns, mips_expand_prologue): Similarly.
+ 
+ 	* reload.c (find_reloads_toplev): Use gen_lowpart common to convert
+ 	between constant representations when we have (SUBREG (REG)) with
+ 	REG equivalent to a constant.
+ 
+ Wed Jun 10 01:39:00 1998  Juha Sarlin  <juha@c3l.tyreso.se>
+ 
+ 	* h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
+ 
+ Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (fold): Even with otherwise constant trees, look for
+ 	opportunities to combine integer constants.
+ 
+ Wed Jun  3 23:41:24 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (notice_update_cc): Clear cc_status.value2 in the
+ 	case of UNSPEC 5 (bsf).
+ 
+ 	* i386.md (movsfcc, movdfcc, movxfcc): The floating point
+ 	conditional move instructions don't support signed integer
+ 	comparisons.
+ 
+ Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
+ 	overflows.
+ 
+ 	* config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
+ 	16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
+ 	<glctr@abc.it>.
+ 
+ Tue Jun  9 16:23:13 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.c (expand_start_catch): Rename to start_catch_handler.
+ 	(expand_end_catch): Delete function.
+ 	(expand_end_all_catch): Remove catch status that expand_end_catch
+ 	use to do.
+ 	* except.h (expand_start_catch): Rename prototype.
+ 	(expand_end_catch): Delete prototype.
+ 
+ Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* invoke.texi: Add documentation for -mips4 and -mabi=*.
+ 
+ Tue Jun  9 12:12:34 1998  Klaus Kaempf  (kkaempf@progis.de)
+ 
+ 	* alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
+ 	(EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
+ 
+ Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
+ 	as the threshold to permit splitting memory operations.
+ 
+ Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.c (gpr_mode): New variable.
+ 	(override_options): Initialize gpr_mode.
+ 	(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
+ 	determine size and offset of general purpose registers save slots.
+ 	(save_restore_insns, mips_expand_prologue): Similarly.
+ 
+ 	* Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
+ 	(LIBGCC2_CFLAGS): Remove -fexceptions.
+ 	(LIB2FUNCS): Remove "_eh".
+ 	(libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
+ 	it with -fexceptions.
+ 
+ 	* Makefile.in (local-alloc.o): Depend on insn-attr.h.
+ 	* local-alloc.c (block_alloc): Avoid creating false
+ 	dependencies for targets which use instruction scheduling.
+ 
+ Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
+ 	(ASM_FINISH_DECLARE_OBJECT): Define;
+ 	* mips/elf64.h: Likewise.
+ 
+ Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (flag_new_exceptions): Remove extraneous `extern'.
+ 
+ Mon Jun  8 23:24:48 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
+ 	(mulsidi3_ppc64): Delete.
+ 
+ Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (varasm.o): Depend on dbxout.h.
+ 	(cse.o): Depend on toplev.h and output.h.
+ 	(gcse.o): Depend on output.h.
+ 
+ 	* mips.c: Include system.h and toplev.h and remove redundant code.
+ 	Include output.h after tree.h so all its prototypes get activated.
+ 	* mips.md (table_jump): Remove unused variable `dest'.
+ 
+ 	* sparc.h: Add prototype for `v8plus_regcmp_op'.
+ 
+ 	* crtstuff.c (fini_dummy, init_dummy): Mark function definitions
+ 	with __attribute__ ((__unused__)).
+ 	(__frame_dummy): Provide prototype before use, wrap it with
+ 	EH_FRAME_SECTION_ASM_OP.
+ 
+ 	* cse.c: Move inclusion of <setjmp.h> above local headers.
+ 	Include toplev.h and output.h.
+ 
+ 	* dbxout.h: Add prototype for `dbxout_begin_function'.
+ 
+ 	* final.c (final_scan_insn): Wrap variable `max_skip' in macro
+ 	ASM_OUTPUT_MAX_SKIP_ALIGN.
+ 
+ 	* gcse.c: Include system.h and output.h.
+ 	(dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
+ 	Make extern instead of static.
+ 	(compute_can_copy): Only declare variables `reg' and `insn' when
+ 	AVOID_CCMODE_COPIES is not defined.
+ 	(record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
+ 	(hash_scan_clobber): Likewise for `x' and `insn'.
+ 	(hash_scan_call): Likewise.
+ 	(record_last_set_info): Likewise for `setter'.
+ 	(mark_call): Likewise for `pat'.
+ 	(pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
+ 
+ 	* libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
+ 	length parameter so that it multiplies the number of elements by
+ 	the sizeof(element).
+ 
+ 	* output.h: Add prototype for `weak_finish'.
+ 
+ 	* recog.h: Likewise for `validate_replace_src'.
+ 
+ 	* rtl.h: Likewise for `optimize_save_area_alloca',
+ 	`fix_sched_param', `purge_addressof', `gcse_main',
+ 	`regmove_optimize', `dbr_schedule', `branch_prob' and
+ 	`end_branch_prob'.
+ 
+ 	* toplev.h: Likewise for `set_float_handler' and
+ 	`output_quoted_string'.
+ 
+ 	* varasm.c: Include dbxout.h.
+ 
+ Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
+ 	GP_REG_P.  Use gr_regs instead of GR_REGS.
+ 
+ Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
+ 			  Jeff Law      <law@cygnus.com>
+ 
+ 	* Revamped multiply support for MIPS chips.
+ 	* mips.c (extend_operator): New function.
+ 	(highpart_shift_operator): Likewise.
+ 	* mips.h: Declare new functions.
+ 	(PREDICATE_CODES): Add support for new predicates.
+ 	* mips.md (mulsi3 expander): Simplify.
+ 	(mulsi_mult3): Add another constraint alternative.  Support
+ 	3 operand multiply instructions as found on various mips
+ 	parts.
+ 	(mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
+ 	(mul_acc_si): New pattern and associated splitters.
+ 	(mulsidi3 expander): Rework to use mulsidi3_64bit and
+ 	mulsidi3_internal.
+ 	(umulsidi3): New expander.
+ 	(mulsidi3_internal): Accept either sign or zero extended
+ 	operands and generate code as appropriate appropriately.
+ 	(mulsidi3_64bit): Similarly.
+ 	(smulsi3_highpart): Turn into an expander and generate code
+ 	to match new patterns.
+ 	(umulsi3_highpart): Likewise.
+ 	(xmulsi3_highpart_internal): New pattern.
+ 	(maddi patterns): Delete.  Replace with:
+ 	(mul_acc_di, mul-acc_64bit_di): New patterns.
+ 
+ Mon Jun  8 14:16:15 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
+ 	flag_new_exceptions runtime flag.
+ 	(struct old_exception_table): New struct which represents what
+ 	the exception table looks like without the new model.
+ 	(NEW_EH_RUNTIME): New value used as a tag in the exception table to
+ 	flag that this is a new style table.
+ 	* except.h: Remove compile time flag NEW_EH_MODEL.
+ 	(expand_builtin_eh_stub_old): New prototype.
+ 	* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
+ 	* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
+ 	* c-decl.c (init_decl_processing): Add new builtin function
+ 	__builtin_eh_stub_old.
+ 	* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
+ 	* flags.h (flag_new_exceptions): New runtime flag.
+ 	* toplev.c (flag_new_exceptions): Initialize default to 0,
+ 	-fnew-exceptions sets to 1.
+ 	* except.c (output_exception_table_entry): Output New style exception
+ 	identifier into table, and replace compile time flag NEW_EH_MODEL
+ 	with runtime flag flag_new_exceptions.
+ 	(output_exception_table): Replace compile time flag NEW_EH_MODEL.
+ 	(expand_builtin_eh_stub_old): Duplicates original functionality of
+ 	expand_builtin_eh_stub.
+ 	(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
+ 	* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
+ 	(old_find_exception_handler): New func, same as find_exception_handler
+ 	except it works on the old style exception table.
+ 	(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
+ 	of identifier in the exception table, and call appropriate routines.
+ 
+ Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* function.c: Define current_function_cannot_inline.
+ 	(push_function_context_to): Save it.
+ 	(pop_function_context_from): Restore it.
+ 	* function.h (struct function): Provide it a home.
+ 	* output.h: Declare it.
+ 	* integrate.c (function_cannot_inline_p): Check it.
+ 
+ Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (force_operand): Detect PIC address loads before
+ 	splitting arithmetic.
+ 
+ Mon Jun  8 09:22:38 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* tree.c (tree_class_check): Add braces to eliminate ambiguous
+ 	else warning.
+ 	(tree_check): Likewise.
+ 
+ Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Make sure the top of
+ 	stack is the destination for conditional move insn.
+ 
+ Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.h (TREE_VEC_END): Cast unused value to void.
+ 
+ 	* i386.c (print_operand): Use %lx for long operand.
+ 
+ Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (summarize_insn): Ignore rtl slot format 'i'.
+ 
+ Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
+ 	conversion functions.
+ 
+ Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (flag_exceptions): Default to 0.
+ 	(compile_file): Remove flag_exceptions == 2 hack.
+ 	(main): Call lang_init_options.
+ 	* tree.h: Declare it.
+ 	* c-lang.c: Implement it.
+ 	* objc/objc-act.c: Likewise.
+ 	
+ Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md (restore_stack_block): Generate MEM and specify mode.
+ 	* rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
+ 	* rs6000.c (rs6000_output_load_toc_table): Use fputs.
+ 	(output_function_profiler): Use asm_fprintf and fputs.
+ 
+ Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gencheck.c: Remove redundant stdio.h include.  Add a definition
+ 	of xmalloc for when we are forced to link with alloca.o.
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
+ 	instead of `1U'.
+ 
+ 	* fold-const.c (constant_boolean_node): Make definition static to
+ 	match the prototype.
+ 
+ Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
+ 	(lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
+ 	(do_spec, input_filename, input_filename_length): Make public.
+ 	(main): Adjust outfiles allocation by lang_specific_extra_outfiles.
+ 	Call lang_specific_pre_link befor elinking.
+ 
+ Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
+ 	the insn which has the most insns dependent on it.
+ 
+ Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* alias.c (find_base_value): Avoid reading past	end of reg_base_value.
+ 
+ Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (insxh-1): New insxl pattern for combine.
+ 
+ Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* i386/i386.c (output_fp_conditional_move): New function
+ 	to output floating point conditional move.
+ 	(output_int_conditional_move): New function to output integer
+ 	conditional move.
+ 
+ 	* i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
+ 	output_int_conditional_move () to output int conditional move.
+ 	(movsfcc+5, movdfcc+5, movxfcc+5): Call
+ 	output_fp_conditional_move () to output floating point
+ 	conditional move.
+ 
+ 	* i386/i386.c (put_condition_code): In INT mode, check
+ 	cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
+ 
+ Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_type): Output arrays of bits as if
+ 	they were bitstrings for Chill
+ 
+ Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* tree.c (get_inner_array_type): New function.
+ 	* tree.h (get_inner_array_type): Prototype.
+ 	* expr.h (STACK_SAVEAREA_MODE): New macro.
+ 	* expr.c (expand_builtin_setjmp): Initialize sa_mode using
+ 	STACK_SAVEAREA_MODE.
+ 	(expand_builtin_longjmp): Likewise.
+ 	* explow.c (emit_stack_save): Likewise.
+ 	(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
+ 
+ 	* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
+ 	(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
+ 	* rs6000/aix43.h: New file.
+ 	* rs6000/t-aix43: New file.
+ 	* rs6000/x-aix41: New file.
+ 	* rs6000/x-aix43: New file.
+ 	* configure.in (rs6000-ibm-aix*): Use them.
+ 	* rs6000/powerpc.h: Delete.
+ 	* rs6000/sysv4.h: Move necessary powerpc.h definitions to here,
+ 	* rs6000/netware.h: and here,
+ 	* rs6000/win-nt.h: and here.
+ 
+ 	* rs6000/rs6000.c (processor_target_table, 620): Do not affect
+ 	MASK_POWERPC64.
+ 	(rs6000_override_options): Ignore flag_pic for AIX.
+ 	(rs6000_immed_double_const): Delete.
+ 	(u_short_cint_operand): Don't assume 32-bit CONST_INT.
+ 	(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
+ 	(num_insns_constant): mask64_operand() is 2 insns.
+ 	(logical_operand): Don't assume 32-bit CONST_INT.
+ 	(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
+ 	(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
+ 	(mask_constant): HOST_WIDE_INT parameter.
+ 	(non_and_cint_operand): Delete.
+ 	(mask64_operand): New function.
+ 	(and64_operand): New function.
+ 	(function_arg_advance): DImode arguments do not need special
+ 	alignment when 64-bit.
+ 	(function_arg): Likewise.
+ 	(setup_incoming_varargs): Reverse reg_size assignment.
+ 	(print_operand): HOST_WIDE_INT second parameter.
+ 	(print_operand, 'B'): New case.
+ 	(print_operand, 'M'): Fix typo in lossage string.
+ 	(print_operandm 'S'): New case.
+ 	(rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
+ 	to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
+ 	(rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
+ 	TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
+ 	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
+ 	(rs6000_allocate_stack_space): Use {cal|la}.
+ 	(output_epilog): Use {cal|la}
+ 	(output_function_profiler): Add call glue to mcount call.
+ 	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
+ 
+ 	* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
+ 	(STACK_BOUNDARY): Depend on TARGET_32BIT.
+ 	(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
+ 	(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
+ 	(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
+ 	64-bit mask operand.
+ 	(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
+ 	(STACK_SAVEAREA_MODE): New macro.
+ 	(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): New macro.
+ 	(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
+ 	(ASM_FILE_START): Emit 64-bit ABI directive.
+ 	(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
+ 	(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
+ 	Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
+ 
+ 	* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
+ 	Restore define_splits.
+ 	(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
+ 	(floatsidf2_internal, floatunssidf2_internal2): Likewise.
+ 	Do not specify base register operand mode.
+ 	(floatsidf2_loadaddr): Do not specify base register operand mode.
+ 	(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
+ 	register; do not specify mode.  Remove !TARGET_POWERPC64 final
+ 	constraint.
+ 	(floatsidf2_load): Do not specify base register operand mode.  Remove
+ 	!TARGET_POWERPC64 final constraint.
+ 	(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
+ 	base register operand mode.
+ 	(adddi3): Split large constants early.
+ 	(absdi3): Shift by 63, not 31.
+ 	(*mulsidi3_ppc64): New pattern.
+ 	(rotldi3): Add masking combiner patterns.
+ 	(anddi3): Add rldic{r,l} masking.  Remove split of large constants
+ 	because PPC insns zero-extend.
+ 	(iordi3, xordi3): Split large constants early.
+ 	(movsi matcher): Remove S and T constraints.
+ 	(movsf const_double): Create SImode constant from TARGET_DOUBLE.
+ 	(movdf_hardfloat32): Add default abort() case.
+ 	(movdf easy_fp_const): Create DImode constant from TARGET_DOUBLE.
+ 	(movdi): Remove 64-bit constant generator.  Try to convert
+ 	CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
+ 	(movdi_32): Add default abort() case.
+ 	(movdi_64): Add numerous ways to split 64-bit constants.
+ 	Make catch-all define_split more optimal and never FAIL.
+ 	(movti_ppc64): Add default abort() case.
+ 	(allocate_stack): Remove operand modes.  Use Pmode.
+ 	(restore_stack_block): Remove operand modes.  Generate Pmode
+ 	temporary.
+ 	(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
+ 	temporary.  Save area is double Pmode.
+ 	(call_indirect_aix64, call_value_indirect_aix64): New patterns.
+ 	(call, call_value): Do not specify address operand mode.  Choose
+ 	appropriate AIX ABI.
+ 	(*call_local64, *ret_call_local64): New patterns.
+ 	(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
+ 	(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
+ 	(compare): Materialize DImode truthvalues.
+ 
+ Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
+ 
+ 	* expr.c (safe_from_p): Avoid combinatorial explosion
+ 	over duplicate SAVE_EXPRs by ensuring we never recurse
+ 	on one that has already been visited.
+ 
+ Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): Initialize final_value before
+ 	normalizing the loop.
+ 
+ Wed Jun  3 20:00:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): New arguments out and
+ 	reloadnum.  Changed all callers.
+ 
+ 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* system.h: Add _() and N_() macros in preparation for gettext.
+ 
+ Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* c-common.c (check_format_info): Put back check for C9x `hh'
+ 	length modifier.  Warn about %n format writing into const.  Remove
+ 	obsolete comment.
+ 	(format_char_info): Fix comments.
+ 
+ 	* configure.in: Set float_format to m68k for all m68k targets that
+ 	do not override LONG_DOUBLE_TYPE_SIZE.
+ 	* config/float-m68k.h: New file.
+ 
+ Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize): Remove debug messages accidentally left in
+ 	with the previous change.
+ 
+ Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (store_expr): Revert stray patch associated with
+ 	1998-05-23 commit.
+ 
+ Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (rtx_unsafe_p): New function.
+ 	(jump_optimize): Use it on if/then/else transformations and
+ 	conditional move transformations.
+ 
+ Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
+ 	or VAR-- == CONST construct a proper mask if VAR is a bitfield.
+ 	Cope with CONST being out of range for the bitfield.
+ 
+ Tue Jun  2 22:28:31 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
+ 
+ 	* expr.c (emit_move_insn_1): When moving complex values in several
+ 	steps, emit a CLOBBER to show the destination dies.
+ 
+ Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (site.exp): Use the object testsuite directory as
+ 	the temporary directory.
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): Handle taking the
+ 	address of an ADDRESSOF rtx.
+ 
+ 1998-06-02  Mike Stump  <mrs@wrs.com>
+ 
+ 	* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
+ 	* i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
+ 	* i960.md (ret, flush_register_windows): Define.
+ 	(nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
+ 	work yet.
+ 	* tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
+ 
+ Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
+ 	around an OSF/1 library bug wrt sign-extension of inputs.
+ 
+ Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
+ 
+ Mon Jun  1 03:44:03 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
+ 
+ 	* varasm.c (assemble_variable): Augment alignment warning.
+ 
+ Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
+ 	in the presence of IEEE negative 0's.
+ 
+ Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
+ 
+ 	* reload.c (find_reloads): Record the existing mode if
+ 	operand_mode == VOIDmode before replacing a register with
+ 	a constant.
+ 	* i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
+ 	i386_compare_op1 to const0_rtx for the benefit of the
+ 	conditional move patterns.
+ 	(movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
+ 	based on suggestions from Jim Wilson.
+ 
+ Sun May 31 00:44:02 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun May 31 00:34:17 1998  Bruce Korb  <korbb@datadesign.com>
+ 
+ 	* Makefile.in (fixinc.sh): Update rules again.
+ 
+ Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* extend.texi: Bring back reference to trampoline paper.
+ 
+ Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* Makefile.in (USER_H): Add stdbool.h.
+ 	* ginclude/stdbool.h: New file.
+ 
+ Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
+ 	of a non-note insn.
+ 
+ 	* gcse.c (pre_delete): Fix code to determine the mode of
+ 	the reaching pseudo register.
+ 
+ Fri May 29 01:07:28 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* Makefile.in (GEN): Add gencheck.
+ 	(STAGESTUFF): Add tree-check.h and gencheck.
+ 
+ Fri May 29 00:57:37 1998  Bruce Korb  <korbb@datadesign.com>
+ 
+ 	* Makefile.in (cstamp-h.in): Remove before trying to recreate.
+ 	(fixinc.sh): Set some additional environment variables before
+ 	calling mkfixinc.sh.
+ 
+ Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload.c (find_reloads): Do not force a reloads of match_operators.
+ 
+ Thu May 28 10:22:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (remove_handler): Add new prototype.
+ 	* except.c (remove_handler): New function to remove handlers
+ 	from an exception region.
+ 	* flow.c (find_basic_blocks_1): Remove handlers from regions when
+ 	handler label is deleted; remove exception regions with no handlers.
+ 
+ Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* except.h (rtx): Define rtx type correctly if needed.
+ 	* function.h (rtx): Likewise.
+ 	(tree): Define tree type correctly if needed.
+ 
+ 	* c-pragma.c (toplevel): Include rtl.h.
+ 
+ 	* stor-layout.c (toplevel): Move include of rtl.h before
+ 	except.h.
+ 
+ 	* Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
+ 	(tree.o): Add except.h dependency.
+ 
+ Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c: Revert accidental checkin.
+ 
+ 	* configure.lang: Fix thinko when adding a definition for
+ 	target_alias to the Makefile.
+ 
+ Wed May 27 02:50:00 1998  Catherine Moore  (clm@cygnus.com)
+ 
+ 	* config/sparc/lb1spc.asm (.rem and .urem): Replace
+ 	routines.
+ 
+ Wed May 27 02:48:31 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (arm_gen_constant): Rework to eliminate uninitialized
+ 	variable warnings.  Don't generate scratch registers if only
+ 	counting insns.
+ 	(find_barrier): Eliminate unused variable SRC.
+ 
+ 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* toplev.h (rtx_def): Provide global declaration to avoid
+ 	`limited scope' warnings.
+ 
+ Tue May 26 23:47:52 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* Makefile.in (gencheck.o): Use HOST_CC.
+ 	* i386/t-mingw32: New file.
+ 	* configure.in (i386-*-mingw32*): Use.
+ 
+ Tue May 26 07:31:04 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (bad_signed_byte_operand): New predicate function.
+ 	* arm.h (PREDICATE_CODES): Add it to the list.
+ 	* arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
+ 	can't handle.
+ 	(define_split): Two new splits for above insns.
+ 
+ 	* arm.c: Include toplev.h.
+ 	(arm_override_options): Add parentheses around use of tune_flags.
+ 	(arm_split_constant): Remove unused variable.
+ 	(arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
+ 	(output_func_prologue, arm_expand_prologue): Likewise.
+ 	(arm_canonicalize_comparison): Make I unsigned; rework constants
+ 	accordingly.  Add missing parentheses around << operation.
+ 	(arm_rtx_costs): Correctly parenthesize MULT costs.  Add a DEFAULT
+ 	clause.
+ 	({load,store}_multiple_sequence): Initialize BASE_REG.
+ 	(select_dominance_cc_mode): Add DEFAULT clauses.
+ 	(broken_move): Return zero if the destination is not a register.
+ 	(arm_reorg): Move unused REGNO declaration into the dead code.
+ 	* arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
+ 
+ Mon May 25 22:49:56 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon May 25 11:56:24 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cpperror.c (v_cpp_message): Remove static prototype.
+ 	* cpplib.c (v_cpp_message): Move prototype to cpplib.h.
+ 	* cpplib.h (v_cpp_message): Add protoptype.
+ 	(stdarg.h,varargs.h): Needed for v_cpp_message prototype.
+ 
+ Sun May 24 20:36:15 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun May 24 02:08:57 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* m68k.h: Declare more functions used in macros.
+ 	(REG_CLASS_CONTENTS): Completely embrace initializer.
+ 	* m68k.md (adddi3, subdi3): Add abort call to avoid warning
+ 	about returning no value.
+ 	* cse.c (find_best_addr): Declare p and found_better only if
+ 	needed.
+ 	* dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
+ 	* dwarfout.c (string_length_attribute): #if 0 away.
+ 	* function.c (expand_function_end): Define varible blktramp only
+ 	if needed.
+ 	* jump.c (find_insert_position): Define only if !HAVE_cc0.
+ 	* loop.c (combine_givs_p): Define variable tem only if needed.
+ 	* real.c: Comment out unused functions eabs, eround,
+ 	e{24,53,64,113}toasc and eiinfin.
+ 
+ Sat May 23 23:44:53 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* Makefile.in (boostrap2-lean, bootstrap3-lean,
+ 	bootstrap4-lean): New targets.
+ 
+ Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* warn_summary, test_summary: Moved into the contrib directory.
+ 
+ 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
+ 	of the Makefile.
+ 	(FLOAT_H_TEST): Likewise.
+ 	(ENQUIRE): Likewise.
+ 	(float.h-nat): Likewise.
+ 	(float.h-cross): Likewise.
+ 	(enquire): Likewise.
+ 	(enquire.o): Likewise.
+ 	(stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
+ 	(stmp-headers): Move actions to stmp-int-hdrs, retaining only a
+ 	no-op.
+ 	(FLOAT_H): Remove old float.h-nat version; move current definition
+ 	to CROSS_FLOAT_H location.
+ 	(all.cross): Remove comments about enquire stuff.
+ 
+ 	* Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
+ 	(rest.encap): Likewise.
+ 	(libgcc2.ready): Depend upon $(STMP_FIXPROTO)
+ 
+ 	* toplev.h (tree_node): Provide global declaration to avoid
+ 	`limited scope' warnings.
+ 
+ Sat May 23 23:23:35 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* test_summary: Display section breaks for each entry
+ 	in a multilibbed target's output.
+ 
+ 1998-05-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
+ 	offset's mode is not ptr_mode, convert it.
+ 
+ 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* fold-const.c (ssize_binop): New fn.
+ 	* tree.h: Declare it.
+ 
+ Fri May 22 03:42:05 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* genextract.c (print_path): Handle zero-length path as a special
+ 	case.
+ 
+ Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
+ 
+ Fri May 22 00:57:00 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
+ 	(shorten_branches, final_scan_insn): Test value of
+ 	JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
+ 	is defined.
+ 	* tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
+ 	* arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
+ 	* arm/tcoff.h: Likewise.
+ 	* i386/386bsd.h: Likewise.
+ 	* i386/freebsd-elf.h: Likewise.
+ 	* i386/freebsd.h: Likewise.
+ 	* i386/netbsd.h: Likewise.
+ 	* i386/ptx4-i.h: Likewise.
+ 	* i386/sysv4.h: Likewise.
+ 	* pa/pa.h: Likewise.
+ 	* rs6000/linux.h: Likewise.
+ 	* rs6000/rs6000.h: Likewise.
+ 	* sh/sh.h: Likewise.
+ 	* sparc/sp64-elf.h: Likewise.
+ 	* v850/v850.h: Likewise.
+ 	* rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
+ 	* i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
+ 
+ Thu May 21 19:50:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (gen_add3_insn): New function.
+ 	(fixup_match_2): Use it instead of calling gen_addsi3.
+ 
+ Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (gencheck): Depend on HOST_LIBDEPS.
+ 
+ 	* alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
+ 	address.
+ 
+ Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* Makefile.in (TREE_H): Add tree-check.h.
+ 	(tree-check.h, gencheck): New targets.
+ 	* gencheck.c: New file.
+ 	* tree.c (tree_check, tree_class_check): New functions.
+ 	* tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
+ 	(TYPE_CHECK, DECL_CHECK): Define.
+ 	Modify all access macros to use generated checking macros.
+ 
+ Wed May 20 23:44:28 1998  John Wehle  (john@feith.com)
+ 
+ 	* acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
+ 	* configure.in: Check for it.
+ 	* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
+ 	* final.c (uid_align, uid_shuid, label_align): Make static.
+ 	(label_align): Change type to struct label_alignment pointer.
+ 	(LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
+ 	(LABEL_TO_MAX_SKIP): Define.
+ 	(LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
+ 	LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
+ 	(shorten_branches): Record the maximum bytes to skip when
+ 	aligning a label.
+ 	(final_scan_insn): Use the maximum bytes to skip when aligning a label
+ 	if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
+ 	* i386.h (LOOP_ALIGN_MAX_SKIP,
+ 	LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
+ 	* i386.c (override_options): i386_align_jumps and i386_align_loops
+ 	default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
+ 	* invoke.texi: Document new i386 align-loops and align-jumps behavior.
+ 
+ 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* cplus-dem.c (do_type): Handle volatile qualification.
+ 
+ Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* function.c (init_function_start): Don't call emit_line_note if
+ 	lineno is 0.  (Can happen when compiling Java .class files.)
+ 
+ Thu May 21 19:50:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
+ 	end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
+ 
+ Thu May 21 19:32:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* combine.c (nonzero_bits): For paradoxical subregs, take
+ 	LOAD_EXTENDED_OP into account.
+ 
+ Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* configure.in (extra_c_objs): Add prefix.o.
+ 	(extra_cxx_objs): Extra objects for C++ with cpplib.
+ 	* configure: Regenerate.
+ 
+ 	* c-tree.h (get_directive_line): Different prototype for cpplib.
+ 	(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
+ 
+ 	* c-lex.h (get_directive_line): Not needed here for cpplib.
+ 
+ 	* c-lex.c (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
+ 	(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
+ 
+ 	* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
+ 	(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
+ 
+ Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gengenrtl.c (type_from_format, accessor_from_format): Change
+ 	type of parameter `c' from `char' to `int'.
+ 
+ Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* warn_summary, test_summary: New scripts from
+ 	Kaveh Ghazi and Alexandre Oliva respectively.
+ 
+ 	* gcse.c (current_function_calls_longjmp): Declare.
+ 
+ 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (base_type_die): Use int_size_in_bytes.
+ 
+ Wed May 20 01:11:02 1998  Doug Evans  (devans@cygnus.com)
+ 			  Jeff Law  (law@cygnus.com)
+ 
+ 	* Global CSE and constant/copy propagation.
+ 	* Makefile.in (OBJS): Add gcse.o.
+ 	(STAGESTUFF): Add *.gcse.
+ 	(gcse.o): Add dependencies.
+ 	(mostlyclean): Remove *.gcse and */*.gcse.
+ 	* gcse.c: New file.
+ 	* loop.c (loop_optimize): Move call to init_alias_analysis.
+ 	* recog.c (validate_replace_src): New function.
+ 	* toplev.c (gcse_dump): New global variable.
+ 	(flag_gcse, gcse_time): Likewise.
+ 	(compile_file): Initialize gcse_time and clean out the gcse dump
+ 	file if necessary.
+ 	(rest_of_compilation): Call gcse_main as requested.  Dump RTL
+ 	after gcse if requested.
+ 	(main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
+ 	dumps for -da.
+ 	* gcc.texi: Add gcse related internal documentation.
+ 	* invoke.texi: Note new command line options for gcse.
+ 	* tm.texi: Document AVOID_CCMODE_COPIES.
+ 	* mips.h (AVOID_CCMODE_COPIES): Define.
+ 
+ Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
+ 	exists.
+ 	(stmp-fixproto): Simlarly for running fixproto.
+ 	* cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
+ 
+ Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/mips/mips.c (double_memory_operand): Accept any MEM during
+ 	reload when TARGET_64BIT.
+ 
+ Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	Finish incomplete change started by Kenner.
+ 	* configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
+ 	(powerpcle-*-cygwin32): Delete xm_defines.
+ 	* final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
+ 	HAVE_STAB_H instead of NO_STAB_H.
+ 	* config/xm-linux.h (NO_STAB_H): Delete.
+ 	(HAVE_STAB_H): Undefine.
+ 	* config/i386/xm-go32.h (NO_STAB_H): Delete.
+ 
+ 1998-05-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
+ 	LANG_TYPE trees with DECL_SOURCE_LINE of 0.
+ 
+ Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
+ 
+ 	* arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
+ 
+ Tue May 19 17:19:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): New function.
+ 	(allocate_reload_reg, choose_reload_regs): Use it.
+ 
+ Tue May 19 11:51:00 1998  Andrew MacLeod  (amacleod@cygnus.com)
+ 
+ 	* except.c (expand_start_catch): Correct logic for when to
+ 	generate a new handler label, and when to use the old one.
+ 
+ Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (print-rtl.o): Depend on bitmap.h.
+ 	(dbxout.o): Depend on toplev.h.
+ 	($(SCHED_PREFIX)sched.o): Likewise.
+ 	($(out_object_file)): Likewise for system.h and toplev.h.
+ 	(cppmain.o): Depend on gansidecl.h.
+ 	(cpplib.o): Likewise.
+ 	(cpperror.o): Likewise.
+ 	(cppexp.o): Likewise.
+ 	(cpphash.o): Likewise.
+ 	(cppalloc.o): Likewise.
+ 	(fix-header.o): Depend on cpplib.h and cpphash.h.
+ 	(scan-decls.o): Depend on gansidecl.h.
+ 
+ 	* basic-block.h (free_regset_vector): Add prototype.
+ 
+ 	* cccp.c (check_precompiled): Mark parameter `fname' with
+ 	ATTRIBUTE_UNUSED.
+ 	(do_assert): Likewise for `op' and `keyword'.
+ 	(do_unassert): Likewise.
+ 	(do_line): Likewise for `keyword'.
+ 	(do_error): Likewise for `op' and `keyword'.
+ 	(do_warning): Likewise.
+ 	(do_ident): Likewise for `keyword'.
+ 	(do_pragma): Likewise for `limit', `op' and `keyword'.
+ 	(do_sccs): Likewise.
+ 	(do_if): Likewise for `keyword'.
+ 	(do_elif): Likewise.
+ 	(do_else): Likewise.
+ 	(do_endif): Likewise.
+ 
+ 	* collect2.c (getenv): Remove redundant prototype.
+ 	(collect_exit, collect_execute, dump_file): Likewise.
+ 	(dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
+ 	(dump_prefix_list): Hide prototype and definition.
+ 
+ 	* sparc.c: Include toplev.h.
+ 	(intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
+ 	(symbolic_memory_operand): Likewise.
+ 	(sp64_medium_pic_operand): Likewise.
+ 	(data_segment_operand): Likewise.
+ 	(text_segment_operand): Likewise.
+ 	(splittable_symbolic_memory_operand): Likewise.
+ 	(splittable_immediate_memory_operand): Likewise.
+ 	(eq_or_neq): Likewise.
+ 	(normal_comp_operator): Likewise.
+ 	(noov_compare_op): Likewise.
+ 	(v9_regcmp_op): Likewise.
+ 	(v8plus_regcmp_op): Likewise.
+ 	(extend_op): Likewise.
+ 	(cc_arithop): Likewise.
+ 	(cc_arithopn): Likewise.
+ 	(small_int): Likewise.
+ 	(uns_small_int): Likewise.
+ 	(clobbered_register): Likewise.
+ 	(legitimize_pic_address): Likewise.
+ 	(delay_operand): Likewise.
+ 	(sparc_builtin_saveregs): Remove unused variable `stdarg'.
+ 
+ 	* sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
+ 	sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
+ 
+ 	* sparc.md (cmpdi_v8plus): Add abort for default case in switch.
+ 
+ 	* cppalloc.c: Include gansidecl.h.
+ 
+ 	* cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
+ 	(cpp_file_line_for_message): Mark parameter `pfile' with
+ 	ATTRIBUTE_UNUSED.
+ 	(v_cpp_message): New function.
+ 	(cpp_message): Use it.  Also convert to variable arguments.
+ 	(cpp_fatal): Likewise.
+ 	(cpp_pfatal_with_name): Constify parameter `name'.
+ 
+ 	* cppexp.c: Move gansidecl.h before cpplib.h.
+ 	* cpphash.c: Likewise.
+ 	* cpphash.h (hashf, delete_macro): Add prototypes.
+ 
+ 	* cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
+ 	cpplib.h.  Don't include errno.h.
+ 	(update_path): Add arguments to prototype.
+ 	(cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
+ 	cpp_print_containing_files): Remove redundant prototypes.
+ 	(cpp_hash_cleanup, add_import, append_include_chain,
+ 	make_assertion, path_include, initialize_builtins,
+ 	initialize_char_syntax, finclude, validate_else, comp_def_part,
+ 	lookup_import, redundant_include_p, is_system_include,
+ 	read_name_map, read_filename_string, open_include_file,
+ 	check_macro_name, compare_defs, compare_token_lists,
+ 	eval_if_expression, change_newlines): Add prototype arguments.
+ 	(hashf): Remove redundant prototype.
+ 	(read_token_list, free_token_list, safe_read, xcalloc, savestring,
+ 	conditional_skip, skip_if_group): Add prototype arguments.
+ 	(fdopen): Remove redundant prototype.
+ 	(do_define, do_line, do_include, do_undef, do_error, do_pragma,
+ 	do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
+ 	do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
+ 	(struct directive): Add prototype arguments to function pointer
+ 	member `func'.
+ 	(handle_directive): Add missing arguments to call to `do_line'.
+ 	(do_include): Mark parameters `unused1' and `unused2' with
+ 	ATTRIBUTE_UNUSED.
+ 	(do_line): Likewise for `keyword' and new parameters `unused1' and
+ 	`unused2'.
+ 	(do_error): Likewise for `keyword'.
+ 	(do_warning): Likewise.  Also add missing argument `pfile' in call
+ 	to cpp_pedwarn.
+ 	(do_once): Mark parameter `keyword', `unused1' and `unused2' with
+ 	ATTRIBUTE_UNUSED.
+ 	(do_ident): Likewise for `keyword', `buf' and `limit'.
+ 	(do_pragma): Likewise.  Also add missing arguments in call to do_once.
+ 	(do_sccs): Mark parameter `keyword', `buf' and `limit' with
+ 	ATTRIBUTE_UNUSED.
+ 	(do_if): Likewise for `keyword'.
+ 	(do_elif): Likewise.
+ 	(eval_if_expression): Likewise for `buf' and `length'.
+ 	(do_xifdef): Likewise for `unused1' and `unused2'.
+ 	(do_else): Likewise for `keyword', `buf' and `limit'.
+ 	(do_endif): Likewise.
+ 	(parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
+ 	(cpp_handle_options): Remove superfluous NULL argument in call to
+ 	cpp_fatal.
+ 	(cpp_handle_options): Likewise.
+ 	(do_assert): Mark parameter `keyword', `buf' and `limit' with
+ 	ATTRIBUTE_UNUSED.
+ 	(do_unassert): Likewise.
+ 	(cpp_print_file_and_line): Add missing argument `pfile' in call to
+ 	cpp_file_line_for_message.
+ 	(v_cpp_error): New function.
+ 	(cpp_error): Use it. Also accept variable arguments.
+ 	(v_cpp_warning): New function.
+ 	(cpp_warning): Use it. Also accept variable arguments.
+ 	(cpp_pedwarn): Accept variable arguments.
+ 	(v_cpp_error_with_line): New function.
+ 	(cpp_error_with_line): Use it.  Accept variable arguments.
+ 	(v_cpp_warning_with_line): New function.
+ 	(cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
+ 	definition.
+ 	(cpp_pedwarn_with_line): Accept variable arguments.
+ 	(cpp_pedwarn_with_file_and_line): Likewise.
+ 	(cpp_error_from_errno): Constify parameter `name'.  Add missing
+ 	argument `pfile' in call to cpp_file_line_for_message.
+ 	(cpp_perror_with_name): Constify parameter `name'.
+ 
+ 	* cpplib.h: Define PARAMS() in terms of PROTO().
+ 	(fatal): Remove redundant prototype.
+ 	(cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
+ 	cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
+ 	cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
+ 	cpp_fatal, cpp_message, cpp_pfatal_with_name,
+ 	cpp_file_line_for_message, cpp_print_containing_files): Add
+ 	arguments to prototypes.
+ 	(scan_decls, cpp_finish): Add prototypes.
+ 
+ 	* cppmain.c: Include gansidecl.h.
+ 	(main): Remove unused variable `i'.
+ 
+ 	* dbxout.c: Include toplev.h.
+ 
+ 	* demangle.h (do_tlink, collect_execute, collect_exit,
+ 	collect_wait, dump_file, file_exists): Add prototype.
+ 
+ 	* dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
+ 	prototype and definition.
+ 	(gen_unspecified_parameters_die): Don't assign results of call to
+ 	function new_die() to unused variable `parm_die'.
+ 	(dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
+ 	(dwarf2out_define): Likewise for `lineno' and `buffer'.
+ 
+ 	* dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
+ 	prototype and definition.
+ 	(output_die): Add prototype arguments to function pointer arg.
+ 	(output_unspecified_parameters_die): Mark parameter `arg' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* except.c (output_exception_table_entry): Remove unused variable
+ 	`eh_entry'.
+ 
+ 	* except.h (expand_fixup_region_start, expand_fixup_region_end):
+ 	Add prototypes.
+ 
+ 	* expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
+ 
+ 	* expr.h (do_jump_by_parts_equality_rtx): Add prototype.
+ 
+ 	* fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
+ 	before cpplib.h, include cpphash.h, remove redundant prototype of
+ 	cpp_fatal, don't define `const', add a prototype for `fatal'.
+ 	(cpp_file_line_for_message): Add missing arguments `pfile'.
+ 	(v_cpp_message): New function.
+ 	(cpp_message): Use it.
+ 	(v_fatal): New function.
+ 	(fatal, cpp_fatal): Use it.
+ 	(cpp_pfatal_with_name): Constify parameter `name'.
+ 
+ 	* flow.c (free_regset_vector): Remove redundant prototype.
+ 
+ 	* function.c (round_down): Wrap prototype and definition with
+ 	macro ARGS_GROW_DOWNWARD.
+ 	(record_insns): Wrap prototype and definition with
+ 	defined (HAVE_prologue) || defined (HAVE_epilogue).
+ 
+ 	* gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
+ 
+ 	* gen-protos.c: Include gansidecl.h.
+ 	(hashf): Don't make it static, constify parameter `name'.
+ 
+ 	* genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
+ 	specifier %s in calls to function `fatal'.
+ 
+ 	* haifa-sched.c: Include toplev.h.
+ 	(find_rgns): Remove unused variable `j'.
+ 
+ 	* integrate.c (note_modified_parmregs): Mark parameter `x' with
+ 	ATTRIBUTE_UNUSED.
+ 	(mark_stores): Likewise.
+ 
+ 	* jump.c (mark_modified_reg): Likewise.
+ 
+ 	* output.h (insn_current_reference_address): Add prototype.
+ 	(eh_frame_section): Likewise.
+ 
+ 	* print-rtl.c: Include bitmap.h.
+ 
+ 	* reload1.c (reload): Wrap variables `note' and `next' in macro
+ 	PRESERVE_DEATH_INFO_REGNO_P.
+ 	(forget_old_reloads_1): Mark parameter `ignored' with
+ 	ATTRIBUTE_UNUSED.
+ 	(choose_reload_regs): Remove unused variable `in'.
+ 	(reload_cse_invalidate_mem): Mark parameter `ignore' with
+ 	ATTRIBUTE_UNUSED.
+ 	(reload_cse_check_clobber): Likewise.
+ 
+ 	* rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
+ 	(mark_elimination): Fix typo in prototype.
+ 
+ 	* scan-decls.c: Include gansidecl.h.
+ 
+ 	* tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
+ 
+ Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (identify_blocks): Fix thinko when setting the
+ 	block number for NOTE_INSN_BLOCK_END.
+ 
+ Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/lib1funcs.asm: Add .text pseudo op to start of
+ 	___udivsi3.
+ 
+ 	* config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
+ 	underscores for the prefixes to the names of the maths functions.
+ 
+ 	* dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
+ 	comment explaining why.
+ 
+ Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.h (TYPE_SIZE_UNIT): New.
+ 	(struct tree_type): Add size_unit member.
+ 	* stor-layout.c (layout_type): Initialize it.
+ 	* expr.c (get_inner_reference) [ARRAY_REF]: Use it.
+ 	* tree.c (size_in_bytes, int_size_in_bytes): Likewise.
+ 
+ Mon May 18 12:07:37 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* stor-layout.c (layout_record): Fix off-by-one error when checking
+ 	length of the TYPE_BINFO vector.
+ 
+ Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
+ 	function parameter passed in memory.
+ 
+ Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
+ 	Prototypes for externally used functions in respective C files.
+ 	* dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
+ 	final.c: Include above files.
+ 	* Makefile.in (toplev.o): Add dependency for above four headers.
+ 	(final.o): Likewise.
+ 	(dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
+ 	respective header files.
+ 
+ Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (TARGET_TOOLPREFIX): No longer define.
+ 	(AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
+ 	the build tree if they exist.
+ 	(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
+ 	appropriately.
+ 	(objdir): Let configure substitute value.
+ 	(FLOAT_H): Let configure select a pre-built version from the
+ 	config subdir.
+ 	* build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
+ 	* configure.in: Substitute for objdir.
+ 
+ 	* Makefile.in (build_canonical, host_canonical): Let configure
+ 	substitute values for these variables.
+ 	* configure.in: Substitute for build_canonical, host_canonical
+ 	and target_subdir in generated Makefile.
+ 
+ 	* output.h (find_basic_blocks): Declare.
+ 	(free_basic_block_vars, set_block_num, life_analysis): Likewise.
+ 
+ 	* Makefile.in (BISON): Use bison from the build tree if it exists.
+ 	(FLEX): Similarly.
+ 
+ Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
+ 	(DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
+ 	(process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
+ 	command line arguments to see if an executable is not being
+ 	created, and if so - do not append the suffix.
+ 
+ 	* tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
+ 	driver macro.
+ 
+ Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.h (ALIGN_DFmode): Delete.
+ 	(CONSTANT_ALIGNMENT): Define.
+ 	* varasm.c (force_const_mem): Use it.
+ 
+ Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
+ 	using it with swap_condition, not before.
+ 
+ Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alias.c (mode_alias_check): Delete.
+ 	(true_dependence, anti_dependence, output_dependence): Revert April 21
+ 	change.
+ 
+ Sun May 17 08:45:21 1998  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* toplev.c (output_lang_identify): Enable prototype and definition.
+ 
+ Sun May 17 01:12:27 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/osf.h (HAVE_STAMP_H): Define.
+ 	* alpha.c: Use it.
+ 	* alpha/netbsd.h, alpha/netbsd-elf.h: New files.
+ 	* configure.in (alpha*-*-netbsd*): New.
+ 	Based on patches from Paul H. Anderson <pha@pdq.com>.
+ 
+ 	* configure.in (alpha*-*-linux-*): Kill xm_defines.
+ 	(alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
+ 	* alpha/xm-linux.h: Remove file.
+ 
+ Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* dbxout.c (dbxout_parms): If mode of type of parameter living
+ 	in memory doesn't match mode of DECL_RTL, make big endian correction.
+ 
+ Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
+ 
+ Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
+ 	* stor-layout.c (layout_record): Set it.
+ 
+ Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* toplev.c (rest_of_compilation): Don't defer nested functions.
+ 
+ Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
+ 	to an 8-byte boundary if info_ptr->fpmem_p.
+ 
+ Fri May 15 17:36:11 1998  Bill Moyer  <ttk@cygnus.com>
+ 
+ 	* loop.c (basic_induction_var): Added test preventing
+ 	CCmode parameter passed to convert_modes().
+ 
+ Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
+ 	input_filename and lineno around expand_expr call.  Set them to values
+ 	in WFL before expand_expr call.
+ 
+ Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
+ 
+ 	* stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
+ 
+ Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* fold-const.c (constant_boolean_node): New function.
+ 	(fold): Use it.
+ 
+ Fri May 15 11:21:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (gen_shl_and): Don't sign extend constant for kind two.
+ 	Abort if trying to split kind 3 or 4 outside of combine.
+ 
+ Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
+ 
+ Fri May 15 01:42:45 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* objc/Make-lang.in (OBJC_O): Add missing exeext.
+ 	(libobjc.a, runtime-info.h): Likewise.
+ 
+ Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.h (DATA_ALIGNMENT): Define.
+ 
+ Fri May 15 05:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (delete_output_reload): Ignore single USE that
+ 	was emitted for the pseudo use of this INSN.
+ 	If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
+ 	remains, we can always delete OUTPUT_RELOAD_INSN.
+ 
+ Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (find_reloads): Don't penalize SCRATCH output reload.
+ 
+ Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
+ 
+ Thu May 14 16:30:47 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* eh-common.h: New file for basic EH data structures.
+ 	* except.h: Various prototypes and structures for NEW_EH_MODEL.
+ 	* function.h (struct function): Add a struct eh_stack for the catch
+ 	clause stack.
+ 	* except.c (gen_exception_label): New function to generate an
+ 	exception label.
+ 	(push_eh_entry): Use gen_exception_label() and init 'label_used' field.
+ 	(push_entry): New function to push an existing entry onto a stack.
+ 	(receive_exception_label): New function to emit the code required
+ 	at the start of all catch blocks.
+ 	(struct func_eh_entry): New structure for maintaining handlers
+ 	associated with EH regions.
+ 	(new_eh_region_entry): New function to register an EH region.
+ 	(add_new_handler): New function to register a handler with a region.
+ 	(get_new_handler): Creates  anew handler entry for registering.
+ 	(find_func_region): New function to convert a NOTE eh region number
+ 	to an Eh region index.
+ 	(get_first_handler): New function to get the first handler in a region.
+ 	(clear_function_eh_region): New function to release memory.
+ 	(duplicate_handlers): New function to duplicate a list of handlers.
+ 	(expand_eh_region_end): Create a new region entry node as well.
+ 	(expand_leftover_cleanups): Call receive_exception_label() and
+ 	register the cleanup as a handler to the current region.
+ 	(expand_start_catch): New function to start a catch clause.
+ 	(expand_end_catch): New function to end a catch clause.
+ 	(expand_start_all_catch): Restructure to not do the equivalent of
+ 	what expand_start_catch() does now. Push the exception region being
+ 	handled onto the catch stack.
+ 	(output_exception_table_entry): Issue an entry for each handler
+ 	associated with a region.
+ 	(set_exception_lang_code): New function for setting the language code.
+ 	(set_exception_version_code): New function to set the version number.
+ 	(output_exception_table): Output version and language codes.
+ 	(find_exception_handler_labels): Find handler labels using new scheme.
+ 	(is_exception_handler_label): New function, returns 1 if label is
+ 	present as a handler in some exception region.
+ 	(check_exception_handler_labels): Use the new scheme.
+ 	(init_eh_for_function): Initialize the catch stack.
+ 	(save_eh_status): Save the catch stack.
+ 	(restore_eh_status): Restore the catch stack.
+ 	(scan_region): Don't remove unreferenced handler label. Flow does it.
+ 	(get_reg_for_handler): New function to get the eh_context pointer
+ 	passed by __throw.
+ 	(expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
+ 	* final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
+ 	entry when processing END region rather that START region.
+ 	* flow.c (find_basic_blocks_1): Find all potential handler regions
+ 	now that we don't automatically know what the labels might be.
+ 	Let scan_region() remove unreferenced EH BEGIN/END labels.
+ 	* integrate.c (get_label_from_map): Put inlined labels onto the
+ 	permanent obstack since we don't know which ones might be exception
+ 	labels.
+ 	(save_for_inline_copying): Make new copies of all the handlers.
+ 	(expand_inline_function): Make new copies of all the handlers.
+ 	* libgcc2.c: Remove local struct decls, and include eh-common.h.
+ 	(find_exception_handler): With NEW_EH_MODEL the first matching
+ 	region we find is the right one. Add eh_info as a new parameter.
+ 	(__throw): Pass eh_info to find_exception_handler. Set handler
+ 	and pass use different regs  under NEW_EH_MODEL.
+ 
+ Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i960.h (hard_regno_mode_ok): Changed to function from array of
+ 	unsigned.
+ 	(HARD_REGNO_MODE_OK): Call function instead of testing bit.
+ 	* i960.c (hard_regno_mode_ok): Changed to function from array of
+ 	unsigned.
+ 
+ Thu May 14 08:41:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (remove_replacements): New function.
+ 	* reload.h (remove_replacements): Declare.
+ 	* reload1.c (choose_reload_regs): Disable some reloads that
+ 	belong to inherited reloads.
+ 
+ Thu May 14 02:17:17 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (scan_loop): Don't call move_movables for optimize_size.
+ 
+ 	* reload1.c (merge_assigned_reloads): When merging, reset
+ 	reload_spill_index for the eliminated reload.
+ 
+ Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (schedule_insns): Fix merge goof.
+ 
+ 1998-05-13  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* varasm.c (make_decl_rtl): Revert April 1 change.
+ 	* alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
+ 	m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
+ 	Get function name from the SYMBOL_REF in the DECL_RTL, not from
+ 	DECL_ASSEMBLER_NAME.
+ 	* i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
+ 	DECL_ASSEMBLER_NAME.
+ 
+ Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.c (notice_update_cc, output_float_compare): Disable
+ 	TARGET_CMOVE support.
+ 
+ Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* rtlanal.c (find_reg_note): Ignore notes that are not on on
+ 	insns of class 'i'.
+ 	(find_regno_note): Likewise.
+ 
+ 	* Makefile.in (stor-layout.o): Depend on except.h.
+ 	(varasm.o, function.o): Likewise.
+ 	(expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
+ 
+ 	* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
+ 	(rtl.o, emit-rtl.o): Add dependency on bitmap.h.
+ 	($(HOST_PREFIX_1)rtl.o): Likewise.
+ 	($(HOST_PREFIX_1)bitmap.o): New host object.
+ 	* emit-rtl.c (toplevel): Include bitmap.h.
+ 	(gen_rtx): Handle 't' and 'b' nodes.
+ 	* print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
+ 	Print block number for block begin/end notes.  Print 't' type
+ 	nodes as a pointer.  Know that the 3rd argument of live range
+ 	start/stop notes is really a range_info rtx.  If type is 'b', print
+ 	out argument as a bitmap.
+ 	* rtl.c: Include bitmap.c.
+ 	(copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
+ 	(note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
+ 	* rtl.def (RANGE_LIVE): New node to hold live information while we
+ 	recalculate the basic blocks.
+ 	(RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
+ 	(RANGE_VAR): New node, to hold information saved in symbol node for New
+ 	communicating live range information to the debug output functions.
+ 	* rtl.h (rtunion_def): Add rttree and rtbit fields.
+ 	(XBITMAP, XTREE): New accessor macros.
+ 	(NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
+ 	(NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
+ 	(NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
+ 	(NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
+ 	(RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
+ 	(RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
+ 	(RANGE_INFO_*): Likewise.
+ 	* sched.c (sched_analyze): Keep live range start/stop notes.
+ 	(unlink_other_notes): Likewise.
+ 	* haifa-sched.c (sched_analyze): Keep live range start/stop notes.
+ 	(unlink_other_notes): Likewise.
+ 	* tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
+ 	(BLOCK_LIVE_RANGE_FLAG): Likewise.
+ 	(DECL_LIVE_RANGE_RTL): Likewise.
+ 	(struct tree_block): Add live_range_flag, live_range_var_flag,
+ 	live_range_start and live_range_end.
+ 	(struct tree_decl): Add live_range_rtl field.
+ 	* gengenrtl.c (type_from_format): Handle 'b' and 't'.
+ 	(accessor_from_format): Likewise.
+ 
+ 	* haifa-sched.c (schedule_block): Make verbose output line up.
+ 	Also add a blank line in printing the individual ready lists.
+ 
+ Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
+ 	(c-lex.o): Depend on output.h.
+ 	(c-common.o): Likewise.
+ 	(stmt.o): Likewise.
+ 	(calls.o): Likewise.
+ 	(integrate.o): Depend on toplev.h.
+ 	(regclass.o): Depend on output.h.
+ 	(final.o): Depend on reload.h.
+ 
+ 	* c-common.c: Include output.h.
+ 	(check_format_info): Remove unused variable `integral_format'.
+ 
+ 	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
+ 	`indent' with ATTRIBUTE_UNUSED.
+ 	(print_lang_type): Likewise.
+ 	(maybe_build_cleanup): Likewise for parameter `decl'.
+ 	(copy_lang_decl): Likewise for parameter `node'.
+ 
+ 	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
+ 	(lang_print_xnode): Mark parameters `file', `node' and `indent'
+ 	with ATTRIBUTE_UNUSED.
+ 	(lookup_interface): Likewise for parameter `arg'.
+ 	(is_class_name): Likewise.
+ 	(maybe_objc_check_decl): Likewise for parameter `decl'.
+ 	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
+ 	`reflexive'.
+ 	(maybe_objc_method_name): Likewise for parameter `decl'.
+ 	(build_objc_string): Likewise for parameters `len' and `str'.
+ 
+ 	* c-lex.c: Include output.h.
+ 
+ 	* c-lex.h (position_after_white_space): Correct typo in prototype.
+ 
+ 	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
+ 	c_expand_end_cond, init_iterators): Add prototypes.
+ 
+ 	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
+ 	with ATTRIBUTE_UNUSED.
+ 
+ 	* calls.c: Include output.h.
+ 
+ 	* cccp.c (pipe_closed): Mark parameter `signo' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* combine.c: Move inclusion of expr.h to after insn-config.h.
+ 
+ 	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
+ 	as empty, rather define as ((void)0).
+ 
+ 	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
+ 	Add parentheses around assignment used as truth value.
+ 
+ 	* cplus-dem.c (squangle_mop_up): Change return type to void.
+ 	(internal_cplus_demangle): Remove unused parameter `options'.
+ 	All callers changed.
+ 	(cplus_demangle_opname): Remove function wide variable `int i' and
+ 	replace with `size_t i' at each location where it is used.
+ 	(cplus_demangle_opname): Change type of `i' from int to size_t.
+ 
+ 	* cppexp.c (right_shift): Mark parameter `pfile' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* cpphash.c (cpp_lookup): Likewise.
+ 	(cpp_hash_cleanup): Likewise.
+ 
+ 	* cpplib.c (parse_name): Add a prototype and make it static.
+ 	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
+ 	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
+ 	(macro_cleanup): Likewise for parameter `pfile'.
+ 	(file_cleanup): Likewise.
+ 
+ 	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
+ 	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
+ 
+ 	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
+ 	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
+ 
+ 	* cse.c (cse_check_loop_start): Mark parameter `set' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* dbxout.c (flag_minimal_debug, have_used_extensions,
+ 	source_label_number): Move inside macro wrapper check against
+ 	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
+ 
+ 	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
+ 
+ 	* except.h (doing_eh): Provide prototype.
+ 
+ 	* expr.c: Move inclusion of expr.h to after insn-config.h.
+ 
+ 	* final.c: Include reload.h.
+ 	(shorten_branches): Cast the first argument of bzero to char *.
+ 
+ 	* fix-header.c (cpp_print_containing_files): Mark parameter
+ 	`pfile' with ATTRIBUTE_UNUSED.
+ 	(cpp_fatal): Likewise.
+ 
+ 	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
+ 	to char *.
+ 
+ 	* genattrtab.c (make_length_attrs): Change the type of variable
+ 	`i' from int to size_t.
+ 	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
+ 	(one_fn): Likewise.
+ 
+ 	* genextract.c (main): When generating insn-extract.c, mark
+ 	variable `junk' with ATTRIBUTE_UNUSED.
+ 
+ 	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
+ 	argument of bzero to char*.
+ 
+ 	* integrate.c: Include toplev.h.
+ 
+ 	* libgcc2.c: Wrap `struct exception_table' and
+ 	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
+ 
+ 	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
+ 
+ 	* objc/objc-act.c: Include toplev.h.
+ 	(lang_print_xnode): Mark parameters `file', `node' and `indent'
+ 	with ATTRIBUTE_UNUSED.
+ 	(finish_protocol): Likewise for parameter `protocol'.
+ 
+ 	* output.h (declare_weak): Add prototype.
+ 	(decode_reg_name): Don't wrap with TREE_CODE macro.
+ 	(assemble_alias): Add prototype.
+ 
+ 	* regclass.c: Include output.h.
+ 
+ 	* reload.h (reloads_conflict): Add prototype.
+ 
+ 	* rtl.h (print_rtl_single, mark_elimination, reg_class_subset_p,
+ 	output_func_start_profiler): Add prototypes.
+ 
+ 	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* scan-decls.c: Include scan.h.
+ 
+ 	* scan.h (recognized_function, recognized_extern): Add prototypes.
+ 
+ 	* stmt.c: Include output.h.
+ 
+ 	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
+ 	(output_lang_identify): Hide prototype and definition.
+ 	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
+ 	(pipe_closed): Likewise.
+ 
+ 	* toplev.h (count_error, strip_off_ending, error_for_asm,
+ 	warning_for_asm): Add prototypes.
+ 
+ Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): "Charge" final for any time
+ 	doing various cleanup operations after finishing compilation
+ 	of a function.
+ 
+ 	* flow.c (dump_flow_info): Also print number of sets and
+ 	whether or not the pseudo is a user variable.
+ 
+ 	* flow.c (reg_n_max): New global variable.
+ 	* regclass.c (allocate_reg_info): Keep reg_n_max up to date.
+ 	Delete regno_max variable.
+ 	* regs.h (REG_N_CHECK): Define.
+ 	(REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
+ 	(REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
+ 	(REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
+ 
+ Wed May 13 12:54:19 1998  Martin von Loewis  <martin@mira.isdn.cs.tu-berlin.de>
+ 
+ 	* acconfig.h (ENABLE_CHECKING): Undefine.
+ 	* configure.in (--enable-checking): New option.
+ 
+ Wed May 13 08:52:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (merge_assigned_reloads): Can merge
+ 	RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
+ 	if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
+ 
+ Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
+ 
+ Wed May 13 03:23:45 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (gen_reload): Create REG_EQUIV notes.
+ 
+ Tue May 12 22:21:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload): Fix check for USEs to use code of pattern.
+ 	(choose_reload_regs): Remove dead variable use_insn.
+ 
+ Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
+ 
+ Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
+ 	already defined.
+ 	(find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
+ 	(insn_{unit,issue_delay}): Likewise.
+ 	(blockage_range): Likewise.
+ 	(actual_hazard{,_this_instance}): Likewise.
+ 	(schedule_unit): Likewise.
+ 	(potential_hazard): Likewise.
+ 	(insn_cost): Likewise.
+ 	(swap_sort): Likewise.
+ 	(queue_insn): Likewise.
+ 	(birthing_insn_p): Likewise.
+ 	(adjust_priority): Likewise.
+ 	(get_block_head_tail): Likewise.
+ 	(init_rgn_data_dependences): Likewise.
+ 
+ Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
+ 
+ Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
+ 
+ Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.md (dslot): Move after definition of "cpu"
+ 	attribute.  Handle r3900 case.
+ 
+ Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Define the STRINGIFY macro here.
+ 	* protoize.c: Not here.
+ 	* gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
+ 
+ Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
+ 
+ 	* varasm.c (assemble_variable): Compute the alignment of the data
+ 	earlier so that both initialized and uninitialized variables are
+ 	effected by DATA_ALIGNMENT.
+ 	* tm.texi (DATA_ALIGNMENT): Updated appropriately.
+ 
+ Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.c: Prototype static functions.
+ 
+ Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* regmove.c (fixup_match_2, find_matches, regmove_profitable):
+ 	Add explanatory comments.
+ 
+ 	* sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
+ 
+ Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.md (ffsdi2): Disable.  Simplify the expression as well.
+ 
+ Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* varasm.c (make_decl_rtl): Disable April 1 change.
+ 
+ Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
+ 
+ Mon May 11 08:24:18 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
+ 	* alpha.c (print_operand): Handle it.
+ 	* alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
+ 	related define_splits.  Also add peepholes for SImode reload
+ 	plus sign_extend lossage.
+ 
+ Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c: Include stdarg.h/varargs.h.  Change function
+ 	`fatal' to use variable arguments instead of faking it with
+ 	integer parameters.  Provide a prototype which also
+ 	checks the format specifiers using ATTRIBUTE_PRINTF_1.
+ 
+ 	* genattrtab.c: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* genoutput.c: Likewise.  Similarly for function `error'.
+ 
+ Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
+ 	* alocal.m4 (GCC_C_VOLATILE): New autoconf test.
+ 	* configure.in: Use GCC_C_VOLATILE.
+ 	* system.h (volatile): Define as empty if no volatile support is
+ 	available.
+ 
+ Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* genemit.c (output_add_clobbers): Removed unused variable 'i' from
+ 	generated function.
+ 
+ Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (get_condition): Don't combine when either compare is MODE_CC.
+ 	* alpha.c (alpha_emit_conditional_branch): New function.  Taken from
+ 	the body of beq; additionally set the mode of the branch to CCmode for
+ 	FP compares and not fast_math.
+ 	(alpha_emit_conditional_move): Always use a compare insn for FP
+ 	when not fast_math, as well as setting CCmode on the cmov.
+ 	* alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
+ 
+ 	* machmode.h (COMPLEX_MODE_P): New macro.
+ 
+ Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (print_exp): Fix typo.
+ 
+ Fri May  8 21:48:50 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* final.c (final_scan_insn): Call fatal_insn instead of abort if
+ 	we could not split an insn when required to.
+ 
+ 	* m32r.md ({add,sub}di3): Add define_splits and appropriate low
+ 	level insns.
+ 	(peepholes): Disable peepholes that call dead_or_set_p.
+ 	(movsi): Rewrite to handle addresses better after last change.
+ 	Add define_split to split load of addresses in large/medium modes.
+ 	(prologue): Call m32r_expand_prologue.
+ 	(movsi_{push,pop}): Generators for push/pop.
+ 	(movsi): Support PRE_{INC,DEC}, POST_INC.
+ 	(mov{di,df}): Rewrite.  Always split the insns.
+ 	(movsf): Add define_split to get register load in correct mode.
+ 	(cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
+ 	(attributes): Rewrite attributes so that type indicates both the
+ 	type and the length of the insn directly.
+ 	(all insns): Change to use new type attributes.
+ 	(debug): New attribute to convey whether -mdebug was used.
+ 	(opt_space): New attribute to convey whether -Os was used.
+ 	(function units): Loads are 3 cycles, not 2.  Better classify all
+ 	insns into short/long.
+ 	(load/store/extend insns): Add separate case for load/store
+ 	indirect operations without an offset.
+ 	(divsi3): Division is a long operation, not short.
+ 
+ 	* m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
+ 	modes > 1 word.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
+ 	(CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
+ 	(EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
+ 	operands with PRE_{INC,DEC}, POST_INC.
+ 	(FUNCTION_PROFILER): Call abort instead of doing nothing.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
+ 	SImode variables.
+ 	(gen_split_move_double): Declare.
+ 	(EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
+ 
+ 	* m32r.c (gen_split_move_double): Fix typo.  Also, don't call
+ 	emit_move_insn, build up SET's directly.
+ 	(toplevel): Include system.h, not stdio.h.
+ 	(move_double_src_operand): Allow any DF or DI mode constant.
+ 	(gen_split_move_double): Split moves of DI or DF values into the
+ 	appropriate moves, loads, or stores.  Don't handle use of auto
+ 	inc/dec if using dead index.  Do handle overlapping moves, etc.
+ 	(m32r_frame_info): Remove prologue_size field.
+ 	(m32r_compute_frame_size): Don't calculate prologue size.
+ 	(m32r_output_function_prologue): Change to pretty much a NOP.
+ 	(m32r_expand_prologue): Expand prologue as a series of INSNs.
+ 	(m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
+ 	(m32r_print_operand_address): Likewise.
+ 
+ Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* reload1.c (emit_reload_insns): When performing expensive
+ 	optimizations, do not output the last reload insn if OLD is
+ 	not the dest of NSN and is in the src and is clobbered by INSN.
+ 
+ Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (genrtl.o): Depend on system.h.
+ 	* gengenrtl.c (gencode): When creating genrtl.c, have it
+ 	include system.h.
+ 
+ Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/t-linux: Remove extra stuff already included in
+ 	config/t-linux.
+ 
+ Fri May  8 09:53:24 1998  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
+ 	curses.h if it contains `typedef char bool;', as suggested by
+ 	Manfred Hollstein <manfred@s-direktnet.de>.
+ 
+ 	* configure.in: Rename fixinc.math to fixinc.wrap.
+ 
+ Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* gcc.c (read_specs): Handle missing blank line at end of specs file.
+ 
+ 	* i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
+ 	movdfcc_1): Disable.
+ 
+ Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (enable_threads): Rename to enable_threads_flag before
+ 	main loop.  Set enable_threads to enable_threads_flag inside main
+ 	loop.
+ 
+ Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
+ 	multiple times.
+ 
+ Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
+ 
+ 	* configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
+ 	(AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
+ 	(AC_CHECK_FUNCS): Remove unused check for vprintf.
+ 
+ 	* Makefile.in: Add support for linking in vfprintf.c and doprint.c.
+ 	(cccp.o): Depend on gansidecl.h.
+ 	(cexp.o): Likewise.
+ 
+ 	* cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
+ 	per the rest of gcc source.
+ 	* cexp.y: Likewise.  Include gansidecl.h and remove all code made
+ 	redundant.
+ 
+ 	* cccp.c: Remove checks for HAVE_VPRINTF and the associated code
+ 	used when vfprintf is missing.
+ 	* cexp.y: Likewise.
+ 	* gcc.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 	* vfprintf.c: New file.
+ 	* doprint.c: New file.
+ 
+ Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/linux.h (ASM_COMMENT_START): Remove from here,
+ 	* config/linux-aout.h (ASM_COMMENT_START): and here,
+ 	* config/i386/linux.h (ASM_COMMENT_START): to here,
+ 	* config/i386/linux-aout.h (ASM_COMMENT_START): and here.
+ 	* config/i386/linux-oldld.h (ASM_COMMENT_START): Define
+ 	here as '#' too.
+ 
+ Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
+ 	constant.
+ 
+ Wed May  6 22:32:37 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* Makefile.in (dwarfout.o): Add toplev.h dependency.
+ 	* dwarfout.c, i386.c: Include toplev.h.
+ 	* toplev.h (pfatal_with_name): Add prototype.
+ 
+ Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* Makefile.in: Fix .SUFFIXES.
+ 
+ Wed May  6 19:31:32 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
+ 
+ 	* config/linux.h (ASM_COMMENT_START): Define as "#".
+ 	* config/linux-aout.h (ASM_COMMENT_START): Likewise.
+ 
+ Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
+ 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
+ 
+ 	* toplev.c: Include toplev.h.
+ 	* Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
+ 	c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
+ 	dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
+ 	hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
+ 	reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
+ 	toplev.h dependency.
+ 
+ 	* mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
+ 	HARD_FRAME_POINTER_REGNUM.
+ 
+ 	* expr.c (target_temp_slot_level): Delete duplicate definition.
+ 
+ Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (mark_seen_cases): Make it have external linkage again.
+ 	* expr.h (mark_seen_cases): Add declaration, but only when tree.h
+ 	has been included.
+ 
+ 	* haifa-sched.c (print_value, case SUBREG): Fix typo.
+ 
+ 	* i386.c (output_387_binary_op): Add some braces to avoid warnings.
+ 	* i386.h (REG_CLASS_CONTENTS): Similarly.
+ 
+ 	* toplev.c (-fsched-max): Delete flag.
+ 	(-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
+ 	* haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
+ 	and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
+ 	conditionals.
+ 
+ 	* haifa-sched.c (find_rgns): Correctly handle reducible loops with
+ 	inner loops which are not reducible.
+ 
+ 	* loop.c (regs_match_p): Fix typo in prototype.
+ 
+ 	* regmove.c (try_auto_increment): Wrap declaration inside an
+ 	#ifdef AUTO_INC_DEC.
+ 
+ Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* final.c (output_operand_lossage): Call fatal with the operand
+ 	lossage message instead of calling abort.
+ 
+ Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c: Convert to using ctype macros defined in system.h.
+ 	* c-lex.c: Likewise.
+ 	* cccp.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* rs6000.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gen-protos.c: Likewise.
+ 	* pexecute.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* rtl.c: Likewise.
+ 	* scan.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
+ 	Replace -gdwarf-2 with -g0.
+ 
+ Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
+ 	* mips-tdump.c: Include system.h, remove redundant headers.
+ 	* mips-tfile.c: Likewise.  Also, convert all ctype function calls
+ 	to calls of the macro versions defined in system.h.
+ 
+ 	* objc/Make-lang.in (objc-act.o): Depend on system.h.
+ 	* objc/objc-act.c: Include system.h, remove redundant headers.
+ 
+ Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (AC_CHECK_FUNCS): Add isascii.
+ 	(GCC_NEED_DECLARATIONS): Add atof.
+ 
+ 	* system.h: Provide prototypes for abort, atof, atol and sbrk here.
+ 	* rtl.c, rtl.h, toplev.c, tree.h: Not here.
+ 
+ Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Wrap time.h and sys/file.h in autoconf checks.
+ 	Provide default definitions for O_RDONLY and O_WRONLY here.
+ 
+ 	* cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
+ 
+ 1998-05-06  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
+ 
+ Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* toplev.h: New file.  Protypes for functions in toplev.c.
+ 	* tree.h, rtl.h: Deleted protos for functions in toplev.c.
+ 	* c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
+ 	c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
+ 	convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
+ 	function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
+ 	reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
+ 	varasm.c: Include it.
+ 
+ Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 			  Jim Wilson  (wilson@cygnus.com)
+ 
+ 	* haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
+ 	blocks.  Check for 1 successor which is the EXIT_BLOCK.
+ 
+ 	* haifa-sched.c (find_rgns): Detect unreachable blocks, including
+ 	unreachable loops with more than one block.
+ 
+ Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fix-header.c (write_rbrac): Add "abort" to functions which need to
+ 	be protected.
+ 
+ Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Check in merge from gcc2.  See ChangeLog.12 for details.
+ 
+ Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
+ 	accept 'a' flag.  'S' does accept 'a' flag.
+ 	(check_format_info): When pedantic, warn for m/C/S/a/A formats,
+ 	and `a' flag.
+ 
+ 	* elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
+ 
+ Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.h: Declare functions from m68k.c used in
+ 	macros and machine description.
+ 	(ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
+ 	long values.
+ 	(ASM_OUTPUT_FLOAT): Likewise.
+ 	(ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ 
+ Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.def: Add NAMESPACE_DECL.
+ 	* dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
+ 	* dwarf2out.c (push_decl_scope): Likewise.
+ 	(scope_die_for): Likewise.
+ 	* tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
+ 	how to get next context level.
+ 
+ Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.c (output_fix_trunc): Add code to emulate non-popping DImode
+ 	case.
+ 
+ Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
+ 
+ 	* reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
+ 	for any insns skipped at the start of a block because they were
+ 	redundant.
+ 
+ Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
+ 
+ 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* c-common.c (format_char_info): Add new field hhlen.
+ 	(print_char_table, scan_char_table, time_char_table): Initialize
+ 	hhlen field appropriately.
+ 	(char_format_info): Recognize hh modifier and lookup correct char
+ 	table entry.
+ 
+ Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
+ 	reference if this is a store.
+ 
+ Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
+ 
+ Sun May  3 23:57:25 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	Make UnixWare 7 bootstrap support work with final shipping product.
+ 	* configure.in (i[34567]86-*-sysv5): Append, not overwrite, xm_file.
+ 	Pick up xm-siglist and xm-alloca.
+ 	(xm_defines): Add USG so dbxout will build.
+ 	* configure: Regenerate.
+ 
+ Sun May  3 13:51:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Support for official SPARC V9 ABI:
+ 	* sparc.c (sparc_override_options): Force stack bias off for !arch64.
+ 	Care for flag_pcc_struct_return default.
+ 	(output_move_quad): Rewrite to move by halves on v9 and in the
+ 	proper direction.
+ 	(move_quad_direction): New function.
+ 	(output_fp_move_quad): Use it to determine the direction of copy.
+ 	(function_arg_slotno): Return -1 for FP reg overflow as well.
+ 	(function_arg_record_value*): New functions.
+ 	(function_arg): Use them.  Streamline unprototyped parameter passing.
+ 	(function_arg_pass_by_reference): Pass TCmode by reference.
+ 	(function_value): New function.
+ 	* sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
+ 	long long in 64-bit mode.
+ 	(RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
+ 	(DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
+ 	(BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
+ 	(BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
+ 	(BASE_INCOMING_ARG_REG): Likewise.
+ 	(FUNCTION_VALUE): Call function_value.
+ 	(FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
+ 	* sparc.md (movdi_sp32_v9): Disable for arch64.
+ 	(movsf, movdf, movtf): Sort all alternatives using fp regs first.
+ 	(call_value_address_sp64): Remove register class constraints.
+ 	(call_value_symbolic_sp64): Likewise.
+ 	(nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
+ 	v9 case to 32-bit constants.
+ 	(goto_handler_and_restore_v9): Provide a version for arch64.
+ 	* sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
+ 	* sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
+ 	(CPP_PREDEFINES): New.
+ 	* sparc/sp64-elf.h: Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE): Dwarf2.
+ 	(ASM_OUTPUT_DWARF2_ADDR_CONST): New.
+ 	* sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
+ 
+ Sat May  2 17:47:17 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat May  2 01:37:29 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): Emit USEs to mark where a pseudo
+ 	is reloaded with the MEM of its stack slot.
+ 	* reload1.c (cannot_omit_stores): Delete.
+ 	(reload): Don't initialize it.
+ 	Don't apply avoid_return_reg logic to USEs.
+ 	When done, remove USEs that have a REG_EQUAL note on them.
+ 	(emit_reload_insns): Handle case where we have inherited a MEM.
+ 	(choose_reload_regs): Likewise.
+ 	(delete_output_reload): Don't use cannot_omit_stores.
+ 
+ Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (cpp.info, gcc.info): Put -o option before input file.
+ 
+ Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* haifa-sched.c (print_{exp,value}): Various changes to make the
+ 	debug output easier to read.  Also, use only one buffer, and make
+ 	sure the buffer we are passed in doesn't overflow.
+ 	(safe_concat): Concatenate to a buffer without overflow.
+ 
+ Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
+ 	with the prototype.
+ 
+ Wed Apr 29 21:45:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sched.c (new_insn_dead_notes): Check if the register was
+ 	used in the original instruction.
+ 	* haifa-sched.c (new_insn_dead_notes): Likewise.
+ 
+ Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (scope_die_for): If could not find proper scope,
+ 	check for and handle tagged type with incorrect TYPE_CONTEXT.
+ 
+ Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* calls.c (expand_call): Fix recognition of C++ operator new.
+ 
+ 	* alias.c (mode_alias_check): Disable type based alias detection.
+ 
+ Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
+ 	ASM_OUTPUT_WEAK_ALIAS): Define.
+ 	* config/mips/elf64.h: Same.
+ 	* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
+ 	ASM_WEAKEN_LABEL): Removed.
+ 
+ Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* calls.c (expand_call): Bump the length limit on the specially
+ 	recognized function names to 17.
+ 
+ Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
+ 	when undefining macros at the end.
+ 
+ 	* expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
+ 	val or len has TREE_SIDE_EFFECTS set.
+ 
+ 	* sparc.md (mulsidi3): Call const v8plus and v8plus routines.
+ 	(mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
+ 	(smuldi3_highpart): Call const v8plus routine.
+ 	(smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
+ 	(const_smulsi3_highpart_v8plus): New pattern.
+ 	(smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
+ 	(umulsidi3): Call const v8plus routine.
+ 	(umulsi3_highpart): Handle const before v8plus.  Call const v8plus
+ 	routine.
+ 	(umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
+ 	(umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
+ 
+ Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* m32r.c (*_oper{and|ator}): Change enum arguments and return
+ 	values to int, so they can be prototyped even in files that don't
+ 	include rtl.h.
+ 	({small,large}_insn_p): Likewise.
+ 	(m32r_select_cc_mode): Likewise.
+ 	(gen_compare): Likewise.
+ 	(function_arg_partial_nregs): Likewise.
+ 	(m32r_setup_incoming_varargs): Likewise.
+ 	(init_reg_tables): Add prototype.
+ 	(m32r_frame_info): Add prolog_size field.
+ 	(m32r_compute_frame_size): Calculate the size of the prologue.
+ 	(m32r_first_insn_address): Return prologue size.
+ 	(m32r_output_function_prologue): Calculate frame size before
+ 	printing out information.  Print out the prologue size.
+ 
+ 	* m32r.h: Prototype all functions in m32r.c.
+ 	(FIRST_INSN_ADDRESS): Declare, returning prologue size.
+ 
+ 	* m32r.md (bcc functions): Cast enum's to int.
+ 
+ 	* m32r.c (conditional_move_operand): Silence a debug message.
+ 	({small,long}_insn): New predicates.
+ 
+ 	* m32r.h (TARGET_M32R): New macro.
+ 	(PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
+ 	(HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
+ 	was selected.
+ 	(ISSUE_RATE): Define as 2.
+ 
+ 	* m32r.md (insn_size): New attribute.
+ 	({,rev_}branch_insn): Add .s qualifier to branches believed to be
+ 	short.
+ 	(m32r): New attribute.
+ 
+ 	* configure.in (enable_haifa): Switch m32r to Haifa by default.
+ 	* configure: Regenerate.
+ 
+ 	(Changes from Nick Clifton <nickc@cygnus.com>)
+ 	* m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
+ 	the equivalent of a negated 'I' constraint.
+ 	(PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
+ 	optimization to work.
+ 
+ 	* m32r.md (cmp_ne_small_const_insn): Use 'S' constraint rather
+ 	than 'I' since the value is negated.
+ 	(peephole): Add peephole optimization to cope with optimization of
+ 	divide and subtracts of the same operands.
+ 
+ 	* m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
+ 	* m32r.h: Likewise.
+ 	* m32r.md: Likewise.
+ 
+ 	* m32r.h (PREDICATE_CODES): Add declaration of machine specific
+ 	predicates.
+ 
+ Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
+ 
+ Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
+ 	frame_pointer_rtx not FRAME_POINTER_REGNUM.
+ 
+ Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reg-stack.c: Revert last patch (Apr 20).
+ 	(convert_regs): Set insn to PREV_INSN (next) after do while loop.
+ 
+ 	* m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
+ 
+ 	* loop.c (check_dbra_loop): New locals jump, first_compare, and
+ 	compare_and_branch.  Call get_condition to set first_compare.
+ 	Set compare_and_branch to number of compare/branch instructions.
+ 	Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
+ 	Replace '2' with compare_and_branch.
+ 
+ Mon Apr 27 15:53:30 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* cplus-dem.c (demangle_qualified): Replace missing else.
+ 
+ Mon Apr 27 20:22:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
+ 
+ Mon Apr 27 18:23:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (sh_expand_prologue, sh_expand_epilogue):
+ 	If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
+ 	* sh.h (STACK_BOUNDARY): Likewise.
+ 
+ Mon Apr 27 17:22:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
+ 
+ Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* system.h (abort): If abort is not defined, and neither is
+ 	USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
+ 	reporting the line and filename of the error.
+ 
+ 	* .gdbinit: Add breakpoints on exit and fancy_abort.
+ 
+ 	* final.c (split_double): Avoid a compiler warning if
+ 	BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
+ 
+ 	* rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
+ 	for calling jump_optimize.
+ 
+ 	* toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
+ 	macros, rather than 0/1's.
+ 
+ Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (CONST_COSTS): Zero is always free.
+ 	(RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
+ 
+ Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
+ 	length in the name of a virtual table.
+ 
+ Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
+ 
+ Sat Apr 25 22:11:38 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (fold_convert): Fix typo.
+ 
+ Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* alias.c (alias_invariant): New variable.
+ 	(record_base_value): New argument INVARIANT.
+ 	(memrefs_conflict_p): If a register has an entry in the alias_invariant
+ 	array, try substituting that value for the register.
+ 
+ 	* rtl.h: Declare record_base_value.
+ 
+ 	* loop.c, unroll.c: Update callers of record_base_value.
+ 
+ 	* alias.c (find_base_value, find_base_term): SIGN_EXTEND and
+ 	ZERO_EXTEND do not affect base values.
+ 
+ Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* dbxout.c (dbxout_type): Fix typo.
+ 	(dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
+ 
+ 	* configure.in: Use CC_FOR_BUILD, not BUILD_CC.
+ 
+ Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
+ 	if the argument is the address of a structure or array.
+ 
+ 	* configure.in: Enable Haifa scheduler by default for SPARC.
+ 
+ Fri Apr 24 20:55:47 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (cse_set_around_loop): Don't do optimization when
+ 	new pseudos are created.
+ 
+ Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
+ 	appropriately.
+ 	(dbxout_type_method_1, dbxout_type): Likewise.
+ 	(print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
+ 	(dbxout_type): Fix check for when to print a type range in
+ 	octal vs decimal.
+ 
+ Fri Apr 24 16:45:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* (gen_shl_and, in case 1): Fix comparison with mask.
+ 
+ Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
+ 	pointer as second register in REG+REG pair.
+ 
+ Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (check_format_info): Don't check for the 'x' format
+ 	character twice, instead check for 'x' and 'X'
+ 
+ Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (libgcc2.ready): Add explicit dependency from
+ 	$(STMP_FIXPROTO) to ensure all necessary include files have
+ 	been created and to guarantee proper parallel builds.
+ 
+ Fri Apr 24 04:42:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
+ 	register for stdarg functions.
+ 	* sh.h (current_function_varargs): Declare.
+ 	(FUNCTION_ARG): Ignore NAMED for stdarg functions.
+ 
+ 1998-04-23  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
+ 	inhibit_libc is defined.
+ 
+ 	* c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
+ 
+ Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* profile.c (tablejump_entry_p): New function.
+ 	(branch_prob): Add code to recognize MIPS tablejump entry branch.
+ 	Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
+ 
+ Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (find_barrier): Return as soon as a barrier is
+ 	found, rather than at end of the loop, after the insn has been
+ 	changed.
+ 
+ Thu Apr 23 20:21:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
+ 	* sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
+ 
+ Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* loop.c (note_addr_stored): Correct function to take 2 arguments,
+ 	instead of 1.
+ 
+ 	* rtl.def (MATCH_INSN2): Add new matching pattern.
+ 	* genrecog.c (add_to_sequence): Support MATCH_INSN2.
+ 
+ Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
+ 	if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
+ 
+ 	* final.c (split_double): Sign extend both halves of a split CONST_INT.
+ 
+ Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
+ 
+ Wed Apr 22 10:53:49 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
+ 	(cplus_demangle_opname): Call mop_up_squangle.
+ 	(cplus_demangle): Initialize squangle info, then call
+ 	internal_cplus_demangle. (Most code moved there as well)
+ 	(internal_cplus_demangle): New function, performs most of what use
+ 	to be done in cplus_demangle, but is only called with this file.
+ 	(squangle_mop_up): New function to clean up B and K code data.
+ 	(mop_up): Set pointers to NULL after freeing.
+ 	(demangle_signature, demangle_template, demangle_class): Add
+ 	switch elements to handle K and B codes.
+ 	(demangle_prefix, gnu_special, demangle_qualified): Add
+ 	code to handle K and B codes.
+ 	(do_type, demangle_fund_type): Handle B and K codes.
+ 	(remember_Ktype): New function to store K info.
+ 	(register_Btype, remember_Btype): New functions for B codes.
+ 	(forget_B_and_K_types): New function to destroy B and K info.
+ 
+ 1998-04-21  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* stmt.c (check_seenlabel): When search for line number note for
+ 	warning, handle case where there is no such note.
+ 
+ Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* genemit.c (gen_exp): Allow machine description to set mode of
+ 	MATCH_OP_DUP.
+ 
+ Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* alias.c (mode_alias_check): New function.
+ 	(true_dependence, anti_dependence, output_dependence): Call
+ 	mode_alias_check.
+ 
+ Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.h (STACK_BOUNDARY): Allow specific targets to override.
+ 	(MIPS_STACK_ALIGN): Similarly.
+ 
+ 	* c-common.c (type_for_mode): Handle TI types.
+ 	* c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
+ 	(init_decl_processing): Handle TI types.
+ 	* c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
+ 
+ 	* mips.c (block_move_loop): Test Pmode == DImode instead of
+ 	TARGET_MIPS64.
+ 	(expand_block_move, save_restore_insns): Likewise.
+ 	(function_prologue, mips_expand_prologue): Likewise.
+ 	(mips_expand_epilogue): Likewise.
+ 	* mips.h (POINTER_SIZE): Allow specific targets to override.
+ 	(Pmode): Allow specific targets to override.
+ 	(FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64.
+ 	(POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
+ 	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
+ 	(TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
+ 	(CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
+ 	* mips.md (indirect, tablejump & casesi support): Test for
+ 	Pmode == DImode instead of TARGET_MIPS64.
+ 	(call patterns): Likewise.
+ 
+ Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
+ 	for gen_rtx(MEM, ...).
+ 
+ Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
+ 	to not be so gross, and to properly function with PIC.
+ 
+ Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* frame.c (heapsort): Rename to frame_heapsort.
+ 
+ 	* gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
+ 
+ Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
+ 
+ 	* flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
+ 
+ Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movsf_push, movdf_push, movxf_push): Allow memory
+ 	operands during and after reload.
+ 
+ Mon Apr 20 22:37:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches, init_insn_lengths): Move code
+ 	to free label_align, uid_shuid, insn_lengths, insn_addresses
+ 	and uid_align from the former function into the latter one;
+ 	Add code to clear these variables.
+ 	* sh.h (label_align): Remove declaration.
+ 
+ Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* gcc.c (lang_specific_driver): Declare prototype properly so
+ 	fatal can be passed to it without error.
+ 
+ 	* configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
+ 	* configure: Regenerate.
+ 	* config.in: Add #undef's for strchr and strrchr.
+ 
+ 	* protoize.c (toplevel): If we have rindex, but not strrchr, map
+ 	rindex to strrchr.
+ 	(file_could_be_converted): Use strrchr, not rindex since rindex is
+ 	not defined on Linux systems when _POSIX_SOURCE is defined.
+ 	(file_normally_convertible): Likewise.
+ 	(process_aux_info_file): Likewise.
+ 	(main): Likewise.
+ 
+ 	* rs6000.md (mov{sf,df} define_splits): When splitting a move of
+ 	a constant to an integer register, don't split the insns that do
+ 	the simple AND and OR operations, rather just split each word, and
+ 	let the normal movsi define split handle it further.
+ 
+ Mon Apr 20 18:19:40 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
+ 	(split_branches): Call init_insn_lengths.
+ 
+ Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* i386.c: Include expr.h to get the change_address prototype
+ 	declared.
+ 
+ Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* reg-stack.c (subst_asm_stack_regs): Change to return the last
+ 	new insn generated by this function.
+ 	(subst_stack_regs): Likewise.
+ 	(convert_regs): Record the last newly generated insn and use
+ 	it for change_stack () instead of INSN.
+ 
+ Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fix-header.c (enum special_file): Undefine enumerators if they
+ 	are already defined by include files.
+ 	* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
+ 	macro with '__' to not pollute user namespace.
+ 
+ Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (queue_to_ready): Fix typo in prototype.
+ 
+ Sat Apr 18 23:52:35 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
+ 
+ 	* i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
+ 	Add missing -Dpentium* options.
+ 	(CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
+ 	instead of CPP_CPU_DEFAULT.
+ 	(EXTRA_SPECS): Add entry for cpp_cpu_default.
+ 
+ Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
+ 	negative in a stackless frame.
+ 	* rs6000.c (rs6000_stack_info): Don't include fixed-size link area
+ 	in stackless frame size.  Support 64-bit stackless frame size.
+ 	Combine fpmem offset calculations and don't add total_size to
+ 	offset if not pushing a stack frame.
+ 
+ Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* regmove.c (fixup_match_1): In three places, in flag_exceptions
+ 	check, change p to q.
+ 
+ Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* gcc.c (lang_specific_driver): Add new parm type to prototype.
+ 	(added_libraries): New file scope static variable.
+ 	(process_command): Initialize added_libraries.  Pass it to
+ 	lang_specific_driver.
+ 	(main): Use added_libraries in check for no input files.
+ 
+ Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
+ 	code generation.  Use 64 bit instructions in 32 bit mode when
+ 	possible.  Use V9 return instruction.  UltraSPARC optimizations.
+ 
+ 	* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
+ 
+ Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
+ 	just pass zero.  That will work regardless of the size of HARD_REG_SET.
+ 
+ 	* libgcc2.c (__floatdisf): Fix a couple typos.
+ 
+ Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (mostlyclean): Delete *.mach and *.bp files.
+ 
+ Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
+ 
+ 	* emit-rtl.c (gen_highpart): Initialize `word' properly for pseudo.
+ 
+ Fri Apr 17 14:30:37 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* emit-rtl.c (operand_subword_force): If a register can not be
+ 	accessed by words, copy it to a pseudo register.
+ 
+ Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
+ 
+ Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* tree.h (mark_seen_cases): Delete declaration.
+ 
+ Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (mark_seen_cases): Make static and add prototype.
+ 
+ Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* frame.c: Include stdlib.h and unistd.h to possibly get various
+ 	function prototypes.  The fixproto script guarantees these header
+ 	files exist on the target system.
+ 	* libgcc2.c: Likewise.
+ 
+ 	* gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
+ 	__gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
+ 	function parameters.
+ 	* libgcc2.c (__udiv_w_sdiv): Likewise.
+ 
+ Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* varasm.c (asm_output_bss): Add prototype.
+ 	(asm_output_aligned_bss): Likewise.
+ 
+ 	* unroll.c (verify_addresses): Add prototype.
+ 
+ 	* toplev.c: Add many prototypes.  Too many to mention here.
+ 
+ 	* stmt.c (check_seenlabel): Add prototype.
+ 
+ 	* rtlanal.c (reg_set_p_1): Add prototype.
+ 	(reg_set_last_1): Likewise.
+ 
+ 	* reorg.c (find_dead_or_set_registers): Add prototype.
+ 
+ 	* regmove (try_auto_increment): Add prototype.
+ 
+ 	* reg-stack.c (pop_stack): Add prototype.
+ 
+ 	* recog.c (validate_replace_rtx_1): Add prototype.
+ 	(find_constant_term_loc): Likewise.
+ 
+ 	* loop.c (regs_patch_p): Add prototype.
+ 	(add_label_notes, count_nonfixed_reads): Likewise.
+ 	(find_single_use_in_loop): Likewise.
+ 	(express_from): Surround prototype with #ifdef.
+ 	(giv_sort): Similarly.
+ 
+ 	* jump.c (mark_modified_reg): Add prototype.
+ 
+ 	* haifa-sched.c (is_prisky): Add prototype.
+ 	(queue_to_ready): Likewise.
+ 
+ 	* genextract.c (gen_insn): Add prototype.
+ 
+ 	* genemit.c (max_operand_1): Add prototype.
+ 	(max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
+ 	(gen_expand, gen_explit, output_add_clobbers): Likewise.
+ 	(output_init_mov_optab): Likewise.
+ 
+ 	* genattrtab.c (attr_hash_add_rtx): Add prototype.
+ 	(attr_hash_add_string, write_length_unit_log): Likewise.
+ 
+ 	* genattr.c (init_range): Add prototype.
+ 
+ 	* combine.c (sets_function_arg_p): Add prototype.
+ 
+ 	* expr.c (store_constructor_field): Add prototype.
+ 	(get_memory_usage_from_modifier): Likewise.
+ 
+ 	* expmed.c (synth_mult): Add prototype.
+ 	(choose_multiplier, invert_mod2n): Likewise.
+ 
+ 	* except.c (push_eh_entry): Add prototype.
+ 	(pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
+ 	(call_get_eh_context, start_dynamic_cleanup): Likewise.
+ 	(start_dynamic_handler, can_throw): Likewise.
+ 	(output_exception_table_entry, scan_region): Likewise.
+ 	(eh_regs, set_insn_eh_region): Likewise.
+ 
+ 	* dwarfout.c (decl_class_context): Add prototype.
+ 	(output_inheritance_die, type_ok_for_scope): Likewise.
+ 
+ 	* c-lex.c (skip_white_space_on_line): Add prototype.
+ 
+ 	* alias.c (record_set): Add prototype.
+ 	(find_base_term, base_alias_check): Likewise.
+ 
+ 	* function.c (assign_outer_stack_local): Make static and add prototype.
+ 
+ 	* haifa-sched.c (build_control_flow): Accept raw data as inputs
+ 	instead of computing it locally.  Callers changed.
+ 	(find_rgns): Several new arguments.  Callers changed.
+ 	Generally clean up and comment better.  Use dominators to
+ 	identify reducible loops.  Convert some flag arrays to bitmaps.
+ 	Convert most of the code to work on pred/succ lists instead of
+ 	an edge table.  Add comments for future improvements.
+ 	(schedule_insns): Allocate temporary tables for flow data, call
+ 	routines to compute flow data and pass it along to children as
+ 	arguments.
+ 	(debug_control_flow): Delete.  Use dump_bb_data instead.
+ 
+ 	* basic-block.h (compute_dominators): Declare.
+ 
+ 	* flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
+ 	functions.
+ 	* basic-block.h: Declare them.
+ 
+ Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
+ 	no operands.
+ 
+ Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
+ 
+ 	* tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
+ 	Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
+ 	node is non NULL. Cache last file name and file name identifier node.
+ 
+ 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
+ 	the length of an array, not TREE_TYPE.
+ 
+ Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (sbitmap_union_of_successors): New function.
+ 	* basic-block.h (sbitmap_union_of_successors): Declare it.
+ 
+ Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
+ 	Set gnu_ld to gnu_ld_flag inside main loop.
+ 	(gas): Likewise.
+ 
+ Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* toplev.c (compile_file): Call init_parse using new interface.
+ 	(init_lex): Remove declaration.
+ 
+ 	* c-lex.c (init_parse): Now returns char* containing filename.
+ 
+ Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
+ 
+ Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
+ 	(gen{extract,peep,opinit,output}): Likewise.
+ 
+ 	* gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
+ 	global definition so print-rtl.o can be linked in.
+ 	* gen{peep,recog}.c (insn_attr_name): Likewise.
+ 
+ Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
+ 
+ 	* fixincludes: Discard empty C++ comments, as found in sys/time.h
+ 	on hpux-11.0.
+ 
+ Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
+ 	operand.
+ 
+ Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (operand_subword): Rework slightly to avoid
+ 	bogus warning from previous change.
+ 
+ Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md: Revert Oct 27 change, as it is superseded by Kenner's
+ 	Nov 8 find_replacement change.  Move decls of get_unaligned_address
+ 	* alpha.h: ... here.
+ 
+ Tue Apr 14 22:00:39 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* function.c (assign_parms): Initialize unsignedp before passing
+ 	its pointer to promote_mode.
+ 
+ 	* genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
+ 	(write_test_expr): Allow MATCH_INSN.
+ 
+ Tue Apr 14 21:57:57 1998  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* install.texi: Update section on warnings that can be safely ignored.
+ 
+ Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (reload_outdi): Change the scratch mode from DImode to
+ 	TImode.  New variable scratch, used instead of operand[2] in template.
+ 	Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
+ 
+ Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
+ 
+ Tue Apr 14 11:31:28 1998  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
+ 
+ Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
+ 	(ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* Idea and part of the patch from HJ.
+ 	* Makefile.in: auto-host.h renamed from auto-config.h.  All references
+ 	changed.
+ 	(distclean): Remove auto-build.h too.
+ 	* configure.in: Rename host autoconf generated file to auto-host.h.
+ 	If host != build, then run autoconf to generate auto-build.h for
+ 	the build machine and include it in build_xm_files.
+ 	Check for wait.h and sys/wait.h.
+ 
+ 	* combine.c (simplify_rtx, case TRUNCATE): Respect value of
+ 	TRULY_NOOP_TRUNCATION.
+ 
+ Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
+ 
+ Sun Apr 12 20:55:32 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* invoke.texi (ld options): Include memset requirements
+ 	for options -nodstdlib and -nodefaultlibs.
+ 
+ 1998-04-12  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	This change is from an idea suggested by Arthur David Olson.
+ 
+ 	* c-common.c (decl_attributes, record_function_format,
+ 	check_format_info, init_function_format_info):
+ 	Add support for strftime format checking.
+ 	(enum format_type): New type.
+ 	(record_function_format): Now static, and takes value of type
+ 	enum format_type instead of int.
+ 	(time_char_table): New constant.
+ 	(struct function_format_info): format_type member renamed from is_scan.
+ 	(check_format_info): Use `warning' rather than sprintf followed by
+ 	`warning', to avoid mishandling `%' in warnings.
+ 	Change `pedwarn' to `warning', since these warnings do not necessarily
+ 	mean the program does not conform to the C Standard, as the code
+ 	need not be executed.
+ 
+ 	* c-tree.h (record_function_format): Remove decl; no longer extern.
+ 
+ 	* extend.texi: Add documentation for strftime format checking.
+ 
+ Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips/ecoffl.h: Do not include mips.h.
+ 	* mips/elf.h: Likewise.
+ 
+ 	* configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
+ 	* mips/ecoff.h: Include "mips/mips.h".
+ 
+ Sat Apr 11 22:42:54 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
+ 	(delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
+ 	* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns		instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
+ 	between loop optimization passes.
+ 	* rtl.h: Updated appropriately.
+ 
+ Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	Reinstall this patch from Jason.
+ 	* function.c (push_function_context_to): Don't call init_emit.
+ 
+ Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* rtl.c (read_skip_spaces): Prevent infinite loops upon
+ 	encountering unterminated comments.
+ 
+ Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (operand_subword): Properly handle CONST_INTs for
+ 	64x32 cross builds.
+ 
+ 	* configure.in: Handle --with-fast-fixincludes.
+ 	(fixincludes): If --with-fast-fixincludes, then use a different
+ 	fixincludes program by default.
+ 	* Makefile.in (fixinc.sh): New rule.
+ 
+ Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* i386.md (movqi+1): Handle invalid QI register.
+ 	(movsf_push-1): Likewise.
+ 
+ Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.c: call_address_operand(): Only accept symbolic
+ 	addresses.
+ 	symbolic_memort_operand(), call32_operand(), int8_operand(),
+ 	int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
+ 	Not used.
+ 	uint16_operand(): Made static.
+ 
+ Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (expand_call): Fix typo.
+ 
+ Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
+ 
+ 	* c-lex.c (finput): New global.
+ 	(init_parse): Always included.  Handle !USE_CPPLIB using
+ 	code originally in compile_file.
+ 	(finish_parse): Update for CPPLIB.
+ 	* toplev.c (init_parse, finish_parse): Declare.
+ 	(finput): Delete variable.  Now in front-ends.
+ 	(compile_file): Remove code which is now handled by init_parse
+ 	which is unconditionally called.  Similarly for finish_parse.
+ 
+ Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
+ 	ASM_WEAKEN_LABEL): Add.
+ 
+ Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
+ 	* configure.in (alpha-*-linux*): Use them.
+ 
+ Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
+ 	* tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
+ 	COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
+ 	(build_expr_wfl): New prototype declaration.
+ 	* tree.c (build_expr_wfl): New function, to build
+ 	EXPR_WITH_FILE_LOCATION nodes.
+ 	(copy_node): Don't zero TREE_CHAIN if copying a
+ 	EXPR_WITH_FILE_LOCATION node.
+ 	* print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
+ 	* expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
+ 
+ Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (v850): Use t-v850.
+ 	(ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
+ 
+ 	* protoize.c (creat, read, write): Do not declare.
+ 
+ 	* jump.c (mark_jump_label): Record REG_LABEL notes for insns which
+ 	refer to the CODE_LABEL before a dispatch table.
+ 
+ 	* invoke.texi: Add ARC options.
+ 
+ 	* gcc.c (process_command): Improve error message for -o with
+ 	either -c or -S.
+ 
+ 	* i386/x-cygwin32 (CLIB): Link in advapi32.
+ 
+ 	* alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
+ 	(ASM_IDENTIFY_LANGUAGE): Likewise.
+ 
+ 	* i386.md (movqi recognizer): Don't perfom byte increment into
+ 	a NON_QI_REG_P.
+ 
+ 	* configure.in (x86-dg-dgux): Run fixinc.dgux.
+ 
+ 	* i370.h: Fix typo in GEN_INT changes.
+ 
+ 	* bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
+ 	of an empty arglist in prototype.
+ 
+ 	* Makefile.in: Remove bytecode crud that crept back in after the
+ 	gcc2 merge.
+ 
+ 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* c-lex.h (is_class_name): Fix arg type to be tree, not void.
+ 	(make_pointer_declarator, reinit_parse_for_function): Fix typo.
+ 
+ Wed Apr  8 06:16:45 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
+ 
+ Wed Apr  8 00:44:18 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* c-lex.c (is_class_name): Delete declaration.
+ 	(whitespace_cr): Make static and add prototype.
+ 	* c-lex.h (make_pointer_declarator, reinit_parse_for_function,
+ 	yylex, get_directive_line): Turn declarations into prototypes.
+ 	(position_after_whitespace, check_newline, yyerror,, is_class_name,
+ 	forget_protocol_qualifiers, remember_protocol_qualifiers): Add
+ 	prototypes.
+ 	* genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
+ 	prototypes.
+ 	* gencodes.c (gen_insn): Add prototype.
+ 	* genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
+ 	gen_peephole): Add prototypes.
+ 	* genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
+ 	prototypes.
+ 	* gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
+ 	special_format, find_formats, gendecl, genmacro, gendef, genlegend,
+ 	genheader, gencode): Add prototypes.
+ 	* genopinit.c (gen_insn): Add prototype.
+ 	* genoutput.c (output_prologue, output_epilogue, scan_operands,
+ 	process_template, validate_insn_alternatives, gen_insn, gen_peephole,
+ 	gen_expand, gen_split, n_occurrences): Add prototypes.
+ 	* genpeep.c (gen_peephole): Add prototype.
+ 	* loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
+ 	reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
+ 	labels_in_range_p, count_loop_regs_set, note_addr_stored,
+ 	loop_reg_used_before_p, scan_loop, replace_call_address,
+ 	skip_consec_insns, libcall_benefit, ignore_some_movables,
+ 	force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
+ 	strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
+ 	check_final_value, record_giv, update_giv_derive, basic_induction_var,
+ 	simplify_giv_expr, general_induction_var, consec_sets_giv,
+ 	check_dbra_loop, express_from, combine_givs_p, combine_givs,
+ 	product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
+ 	last_use_this_basic_block, record_initial, update_reg_last_use,
+ 	iteration_info, analyze_loop_iterations, insert_bct,
+ 	instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
+ 	into prototypes.
+ 
+ Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
+ 
+ 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	* config/mips/mips.c (siginfo): Deleted.
+ 	(override_options): Don't install SIGINFO signal handler.
+ 
+ Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop): When normalize comparison_val, add check
+ 	to verify it is non-negative.
+ 
+ Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_move): Correctly collect block offsets.
+ 	(alpha_expand_block_clear): Likewise.
+ 
+ Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.h (sizetype_tab): Fix previous change for K&R.
+ 
+ Mon Apr  6 22:23:29 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Apr  6 23:16:10 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
+ 	Add USG and POSIX to xm_defines.
+ 
+ Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
+ 
+ 	* gcc.c: Add linker spec.
+ 	(link_command_spec): Use %(linker) instead of ld.
+ 	(main): If collect2 is requested as the linker, see if it exists;
+ 	if not, use ld instead.
+ 
+ 	* Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
+ 	(ld): Deleted.
+ 	(install-collect2): Install as collect2, not ld.
+ 
+ 	* configure.in(will_use_collect2): It's named collect2 now.
+ 
+ 	* collect2: Remove checks to see if we were invoked recursively.
+ 	(collect_execute): Use _spawnvp under cygwin32.
+ 
+ Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* haifa-sched.c (build_control_flow): Set unreachable for block whose
+ 	only predecessor is itself.
+ 
+ Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in: Include system.h, and remove stuff now made redundant.
+ 	* cccp.c: Likewise.
+ 	* cexp.y: Likewise.
+ 	* protoize.c: Likewise.  Properly check for cpp stringification.
+ 
+ 	* Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
+ 	Depend on system.h.
+ 
+ 	* objc/Make-lang.in (objc-parse.o): Likewise.
+ 
+ Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h: Check if compiler supports __attribute__.  Provide
+ 	definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
+ 	__attribute__ when its available.  Also provide definitions for
+ 	ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
+ 	terms of ATTRIBUTE_PRINTF.
+ 
+ 	* genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
+ 	of __attribute__.
+ 
+ Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* combine.c (can_combine_p): Include successor in volatile test.
+ 
+ Mon Apr  6 14:16:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
+ 	offset_unsigned.
+ 
+ Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
+ 	in prototype and definition.
+ 
+ Mon Apr  6 00:48:56 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_clear): Add missing offset arg to
+ 	alpha_expand_unaligned_store_words.
+ 
+ Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movsf_push, movsf_mem): Remove.
+ 	(movsf_push): Rename from movsf_push_nomove and move in front of
+ 	movsf.  Use nonmemory_operand predicate and don't bother checking
+ 	TARGET_MOVE.
+ 	(movsf_push_memory): New pattern.
+ 	(movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
+ 	both operands refer to memory then force operand[1] into a register.
+ 	(movsf_normal): Change to unnamed pattern.
+ 	Likewise for movdf, movxf, and friends.
+ 
+ Sun Apr  5 18:45:51 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-dec-osf*): Match osf1.3 correctly.
+ 
+ Sun Apr  5 16:53:37 1998  Don Bowman  <don@pixsci.com>
+ 
+ 	* configure.in (mips-wrs-vxworks): New target.
+ 
+ Sat Apr  4 23:34:32 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* expmed.c (synth_mult): The value -1, has no zeros, so it can
+ 	never have the form ...011.
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (asm_output_function_prefix, load_pic_register):
+ 	Use ASM_GENERATE_INTERNAL_LABEL properly.
+ 	(output_pic_addr_const): Recognize %X to suppress any PIC sym suffix.
+ 	(print_operand): Ignore it.
+ 	(load_pic_register): Use it for the got load call.
+ 	* i386.md (prologue_set_got, prologue_get_pc): Likewise.
+ 	(prologue_get_pc_and_set_got): Likewise.
+ 	* i386.h: Update print_operand docs.
+ 
+ Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (ffssi, ffshi): Rewrite as define_expands.
+ 	(ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
+ 	* i386.c (notice_update_cc): Recognize unspec 5.
+ 
+ Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
+ 
+ 	* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
+ 	* alpha.c (print_operand): Handle it.
+ 	* alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
+ 	for ALPHA_TP_INSN.
+ 	(fix_truncdfdi2): Likewise.
+ 
+ Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
+ 	of these into a single struct, with additional [us]sizetype entries.
+ 	* stor-layout.c (set_sizetype): Initialize [us]sizetype.
+ 	* fold-const.c (size_int_wide): Don't rely on sizetype_tab being
+ 	an array.
+ 
+ Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
+ 
+ Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (split_block_insns): Don't suppress insn splitting
+ 	on subsequent passes.
+ 
+ 	* alpha.c (hard_fp_register_operand): New function.
+ 	* alpha.h (PREDICATE_CODES): Add it.
+ 	* alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
+ 	f<-m case and accompanying define_split.
+ 	(trapb): Use a unique unspec_volatile number.
+ 
+ Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
+ 	from gcc2 merge.
+ 
+ Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
+ 	for details.
+ 
+ 	* haifa-sched.c: Mirror recent changes from gcc2.
+ 
+ Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (insn*.o): Depend on system.h.
+ 
+ 	* pa.c (output_global_address): Initialize base.
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
+ 
+ 1998-04-03  Mike Stump  <mrs@wrs.com>
+ 
+ 	* gthr.h: Support systems that don't have weak, but have threads.
+ 	* configure.in (*wrs-vxworks*): Use VxWorks threads by default.
+ 	* gthr-vxworks.h: New file.
+ 	* objc/thr-vxworks.h: Dummy file from thr-single.c for now.
+ 
+ Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
+ 
+ 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* ginclude/va-i960.h (va_end): Change void * to void.
+ 
+ Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (choose-temp.o): Depend on system.h.
+ 
+ 	* choose-temp.c: Include system.h when IN_GCC.
+ 
+ Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
+ 	(move_replacements): New function.
+ 	* reload.h: Prototype it.
+ 
+ 	* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
+ 
+ Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
+ 	Run fixincludes.
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
+ 	(gen_highpart): Likewise.
+ 	* final.c (alter_subreg): Allow the target to hook by-mode subreg
+ 	hard register number changes.
+ 
+ Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
+ 	rnbitsize, rnmode and rinner.
+ 	(make_range): Initialize type.
+ 	(fold): Initialize arg0, arg1 and varop.
+ 
+ 	* function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
+ 	and regnor.
+ 	(expand_function_start): Initialize last_ptr.
+ 
+ 	* stor-layout.c (layout_record): Initialize desired_align.
+ 	(get_best_mode): Initialize unit.
+ 
+ 	* tree.c (copy_node): Initialize length.
+ 
+ 	* c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
+ 
+ 	* caller-save.c (insert_save_restore): Initialize pat, code and
+ 	numregs.
+ 
+ 	* emit-rtl.c (push_to_sequence): Initialize top.
+ 	(push_topmost_sequence): Likewise.
+ 
+ 	* genattrtab.c (simplify_by_exploding): Initialize defval.
+ 
+ 	* profile.c (branch_prob): Initialize dest.
+ 
+ 	* rtl.h (note_stores): Remove duplicate prototype.
+ 	(GEN_INT): Reinstate cast of second arg to HOST_WIDE_INT.
+ 
+ 	* cplus-dem.c (gnu_special): Don't get confused by .<digits>
+ 	strings that are not actually lengths.
+ 
+ 	* genattrtab.c: Make generated file use system.h, instead of
+ 	including stdio.h, etc directly.
+ 	* genextract.c, genopinit.c, genoutput.c: Likewise.
+ 	* genpeep.c, genrecog.c: Likewise.
+ 
+ 	* genoutput.c (process_template): Mark operands in the generated
+ 	function as potentially unused if compiling with GNU CC.
+ 
+ 	* i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
+ 
+ 	* pa.md (reload peepholes): Remove unused variable "mode".
+ 
+ Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.h: Add super interworking support.
+ 	* config/arm/thumb.c: Add super interworking support.
+ 	* config/arm/thumb.md: Add super interworking support.
+ 	* config/arm/lib1funcs.asm: Add interworking support.
+ 	* config/arm/lib1thumb.asm: Add super interworking support.
+ 	* config/arm/t-semi: Add interworking support.
+ 	* config/arm/t-thumb: Add interworking support.
+ 	* config/arm/README-interworking: New file.
+ 
+ Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
+ 	(MD_STARTFILE_PREFIX): Unset.
+ 
+ 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
+ 	entity in a local scope.
+ 
+ 	* fold-const.c (fold): Call truthvalue_conversion for values which
+ 	are folded to boolean type.
+ 
+ Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
+ 	* convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
+ 	* i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
+ 	* i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
+ 	* m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
+ 	* pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
+ 	* rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
+ 	* tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
+ 	* md.texi: Likewise.
+ 
+ Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixincludes (limits.h): Fix nested comments in Motorola's
+ 	limits.h and sys/limits.h.
+ 
+ Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
+ 	as dest of expand_binop call.
+ 
+ 	* alpha.md (extzv): Correct check for valid operand[2] values.
+ 
+ 	* profile.c (branch_prob): Add code to recognize HPPA tablejump entry
+ 	branch.
+ 
+ 	* toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
+ 
+ Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
+ 
+ 	* libgcc2.c (__main, __do_global_dtors, __do_global_ctors):
+ 	For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
+ 
+ 	* gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
+ 	cygwin32 can override this to allow both unix and win32 style PATHs.
+ 
+ 	* i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
+ 	style environment paths.
+ 
+ Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
+ 	cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
+ 	gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
+ 	system.h.
+ 
+ 	* cpphash.c: Include config.h.
+ 	* cppalloc.c: Include system.h.  Add parameters to various
+ 	function prototypes.
+ 	* cpperror.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* cpphash.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cppmain.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gen-protos.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* halfpic.c: Likewise.
+ 	* hash.c: Likewise.
+ 	* scan-decls.c: Likewise.
+ 	* scan.c: Likewise.
+ 
+ Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* README.gnat: Add lang_print_xnode definition.
+ 
+ Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c (standard_68881_constant_p): Don't use
+ 	fmovecr on the 68060.
+ 
+ Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* genemit.c (DONE): Rework so that it works in the true arm if
+ 	an if-else conditional.
+ 	(FAIL): Likewise.
+ 
+ Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.c: Do not include stdioh or ctype.h anymore.
+ 
+ 	* Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
+ 	$(RTL_H).
+ 	(stor-layout.o): Likewise.
+ 	* c-typeck.c: Include rtl.h and expr.h.
+ 	* stor-layout.c: Likewise.
+ 
+ 	* cpplib.c (cpp_file_line_for_message): Delete unused parameter.
+ 	All callers changed.
+ 	(do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
+ 	* fix-header.c (cpp_file_line_for_message): Delete unused parameter.
+ 	All callers changed.
+ 
+ 	* collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
+ 
+ 	* local-alloc.c (reg_classes_overlap_p): Delete dead function.
+ 
+ 	* tree.h (lang_print_xnode): Provide prototype.
+ 
+ Sat Mar 28 23:50:44 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* objc/sendmsg.c (__objc_block_forward): Add braces for return
+ 	value if INVISIBLE_STRUCT_RETURN.
+ 
+ 	* pa.c (arith_double_operand): Fix parens.
+ 
+ 	* haifa-sched.c (print_pattern): Correct arg to sprintf.
+ 
+ 	* Makefile.in (libgcc1.null): Make return type for __foo void.
+ 
+ Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h: Add declarations for many functions defined in pa.c.
+ 
+ 	* genpeep.c (main): Remove unused variable 'i' from the generated
+ 	file.
+ 
+ 	* genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
+ 	(gen_split): Likewise.
+ 	(main): Rework generated definitions of DONE and FAIL so that they
+ 	no longer use gotos.  Avoids warnings about unused labels.
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Rework to avoid need for
+ 	unused "junk" variable.
+ 
+ 	* genattrtab.c (write_complex_function): Add a default case in
+ 	generated switch statement to keep -W -Wall quiet.
+ 
+ Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* invoke.texi: Document more ARM and Thumb command line options.
+ 
+ 	* config/arm/xm-thumb.h: New file.
+ 
+ Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
+ 
+ 	* stmt.c (expand_expr_stmt): Must generate code for
+ 	statements within an expression (gcc's `({ ... )}')
+ 	even if -fsyntax-only.
+ 
+ Sat Mar 28 01:06:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* basic-block.h (basic_block_computed_jump_target): Declare.
+ 	* flags.h (current_function_has_computed_jump): Declare.
+ 	* flow.c (basic_block_computed_jump_target): Define.
+ 	(flow_analysis): Allocate it. Set current_function_has_computed_jump
+ 	to 0.
+ 	(find_basic_blocks): Set current_function_has_computed_jump and
+ 	elements of basic_block_computed_jump_target to 1 as appropriate.
+ 	* function.c (current_function_has_computed_jump): Define.
+ 	* global.c (global_conflicts): Don't allocate pseudos into stack regs
+ 	at the start of a block that is reachable by a computed jump.
+ 	* reg-stack.c (stack_reg_life_analysis): If must restart, do so
+ 	immediately.
+ 	(subst_stack_regs): Undo change from Sep 4 1997.
+ 	(uses_reg_or_mem): Now unused, deleted.
+ 	* stupid.c (stupid_life_analysis): Compute
+ 	current_function_has_computed_jump.
+ 	(stupid_find_reg): Don't allocate stack regs if the function has a
+ 	computed goto.
+ 	* haifa-sched.c (is_cfg_nonregular): Delete code to determine if
+ 	the current function has a computed jump.  Use the global value
+ 	instead.
+ 
+ Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
+ 	(DWARF2_UNWIND_INFO): Define to zero.
+ 
+ Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* gcc.c (set_std_prefix): Add declaration.
+ 	(process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
+ 	suffix, and update the standard prefix prefix.c uses.
+ 
+ 	* prefix.c (std_prefix): New global to hold default prefix value.
+ 	(get_key_value): Change to use std_prefix instead of PREFIX.
+ 	(translate_name): Likewise.
+ 	(update_path): Likewise.
+ 	(get_key_value): Release allocated scratch storage.
+ 	(set_std_prefix): New function to reset the standard prefix.
+ 
+ Fri Mar 27 18:08:21 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (find_barrier): Fix calculations for alignment increase.
+ 
+ Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (stmp-fixinc): If we're actually fixing include
+ 	files, copy gcc's assert.h into the fixed include dir.
+ 	* fixincludes (assert.h): Avoid any attempts to fix a probably
+ 	broken system specific assert.h file.
+ 	* fixproto (stdlib.h): Make sure, it'll contain a definition of
+ 	size_t.
+ 
+ Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c (reg_scan_mark_refs): Be more selective about
+ 	when we mark a register with REGNO_POINTER_FLAG.
+ 
+ Thu Mar 26 23:00:11 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	reload inheritance improvement:
+ 	* reload1.c (reg_reloaded_contents, reg_reloaded_insn):
+ 	Change meaning: index is now hard reg number.
+ 	(reg_reloaded_valid, reg_reloaded_dead): New variables.
+ 	(reload_spill_index): Content is now a hard reg number.
+ 	(reload_as_needed): Change to fit new variable meaning.
+ 	(forget_old_reloads_1, allocate_reload_reg): Likewise.
+ 	(choose_reload_regs, emit_reload_insns): Likewise.
+ 
+ Thu Mar 26 18:34:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regclass.c (record_reg_classes): '?' increases cost by two.
+ 
+ 	* reload.c (find_reloads): Double previous costs.  Output
+ 	reloads cost one unit extra.
+ 
+ 	* reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
+ 	boiled down to && ! 0.
+ 
+ 	* reload.c (find_equiv_reg): Also consider a goal offset from the
+ 	frame pointer to be constant.
+ 
+ Thu Mar 26 17:34:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (OPTIMIZATION_OPTIONS): Define.
+ 
+ Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
+ 
+ Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
+ 
+ Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-common.c (check_format_info): Initialize type, is_type.  New local
+ 	integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
+ 	when pedantic if used with integral format specifier.
+ 
+ Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
+ 	direction.
+ 	(function_arg_padding): Declare.
+ 
+ 	* rs6000.c: Include system.h.
+ 	(function_arg_padding): Change return type to int, cast enum's to
+ 	int.
+ 
+ 	(From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
+ 	* collect2.c (scan_prog_file): Add explicit braces to avoid
+ 	ambiguous `else'.
+ 
+ 	* dbxout.c (dbxout_type_fields): Add braces around empty body in
+ 	an if-statement.
+ 	(dbxout_type): Likewise.
+ 
+ 	* rs6000.c (rs6000_override_options): Change type of `i', `j' and
+ 	`ptt_size' from int to size_t.
+ 	(rs6000_file_start): Likewise for `i'.
+ 	(rs6000_replace_regno): Add default case in enumeration switch.
+ 	(output_epilog): Remove unused variable `i'.
+ 	(rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
+ 	and `reg2'.
+ 
+ 	* rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
+ 	initializer.
+ 	(get_issue_rate, non_logical_cint_operand): Add prototype.
+ 	(rs6000_output_load_toc_table): Likewise.
+ 
+ 	* rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
+ 	`else'.
+ 
+ Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c: New File.  Support for ARM's Thumb
+ 	instruction set.
+ 	* config/arm/thumb.h: New File.  Thumb definitions.
+ 	* config/arm/thumb.md: New File.  Thumb machine description.
+ 	* config/arm/tcoff.h: New File.  Thumb COFF support.
+ 	* config/arm/t-thumb: New File.  Thumb makefile fragment.
+ 	* config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
+ 
+ 	* configure.in: Add Thumb-coff target.
+ 	* configure: Add Thumb-coff target.
+ 	* config.sub: Add Thumb-coff target.
+ 
+ Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (scan_loop): Initialize move_insn_first to zero.
+ 
+ Wed Mar 25 01:06:49 1998  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
+ 	* config/i386/rtems.h: Likewise.
+ 	* config/i960/rtems.h: Likewise.
+ 	* config/m68k/rtems.h: Likewise.
+ 	* config/mips/rtems64.h: Likewise.
+ 	* config/pa/rtems.h: Likewise.
+ 	* config/rs6000/rtems.h: Likewise.
+ 	* config/sh/rtems.h: Likewise.
+ 	* config/sparc/rtems.h: Likewise.
+ 
+ Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* pa.c (emit_move_sequence): If in reload, call find_replacement.
+ 
+ Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
+ 
+ 	* collect2.c (find_a_file): Add debugging.
+ 	(find_a_file): Test for win32 style absolute paths if
+ 	DIR_SERPARATOR is defined.
+ 	(prefix_from_string): Add debugging.
+ 	(main): Test for debug command line switch at start of program
+ 	execution.
+ 	(main): Use GET_ENVIRONMENT rather than getenv().
+ 	(prefix_from_env): Use GET_ENVIRONMENT.
+ 
+ 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* cplus-dem.c (optable): Add sizeof.
+ 	(demangle_template_value_parm): New function containing code
+ 	previously found in demangle_template.
+ 	(demangle_integral_value): New function which handles complicated
+ 	integral expressions.
+ 	(demangle_template): Use them.
+ 
+ Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
+ 	genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
+ 	genattrtab.o, genoutput.o): Depend on system.h.
+ 
+ 	* genattr.c: Include system.h.  Add arguments to various function
+ 	prototypes.  Remove redundant prototype of read_rtx().
+ 	* genattrtab.c: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 
+ 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* c-lang.c (lang_print_xnode): New function.
+ 	* objc/objc-act.c (lang_print_xnode): Likewise.
+ 	* print-tree.c (print_node): Call it
+ 
+ Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* c-parse.in: Recognize protocol qualifiers in class
+ 	definitions for objc.
+ 	Include "output.h".
+ 	(yyerror): Remove redundant decl.
+ 	(yyprint): Fix prototype.
+ 
+ Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
+ 
+ 	* stmt.c (unroll_block_trees): Free block_vector if needed.
+ 
+ Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
+ 	(zero_extendsidi2): Avoid useless copy.
+ 	(iordi_zext): New pattern.
+ 	(iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
+ 	operand 2.
+ 	(iorsi_zext): New name for old unnamed pattern; indentation fixes.
+ 
+ 	* m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
+ 	(ashldi3): Allow constant shift count in range ]32,63].
+ 	(ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
+ 
+ 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* tree.h (IS_EXPR_CODE_CLASS): New macro.
+ 
+ Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.h (CONST_COSTS): Remove definition.
+ 	(DEFAULT_RTX_COSTS): Define.
+ 
+ Mon Mar 23 22:58:22 1998  Joel Sherrill  (joel@OARcorp.com)
+ 
+ 	* config/sh/rtems.h: Switched from ELF to COFF.
+ 
+ Mon Mar 23 14:14:20 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
+ 
+ Sat Mar 21 23:52:56 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
+ 			  Geoff Noer	<noer@cygnus.com>
+ 
+ 	* Makefile.in: Various fixes for building cygwin32 native toolchains.
+ 
+ 	* objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
+ 	* objc/Make-lang.in: Likewise.
+ 
+ 	* config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
+ 
+ Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
+ 
+ 	* configure.in: Handle with-PACKAGE=no correctly
+ 
+ Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
+ 	c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
+ 	caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
+ 	dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
+ 	expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
+ 	integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
+ 	prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
+ 	reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
+ 	rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
+ 	tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
+ 	on system.h.
+ 
+ 	* alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
+ 	c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
+ 	caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
+ 	dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
+ 	expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
+ 	integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
+ 	prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
+ 	reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
+ 	rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
+ 	stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
+ 	xcoffout.c: Include system.h.  Organize include ordering so
+ 	that stdarg/varargs comes before other system headers.  Remove
+ 	spurious casts of functions assured of a prototype in system.h.
+ 
+ Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
+ 
+ 	* reg-stack.c (pop_stack): Define. Pops any register on the
+ 	regstack and adjusts regstack.
+ 	(compare_for_stack_reg): Use pop_stack.
+ 
+ Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa1.0-hp-hpux10): Handle threads for this
+ 	config too.
+ 
+ Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
+ 
+ 	* fold-const.c (fold): Replace sign-extension of a zero extended
+ 	value by a single zero extension.
+ 
+ Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (init_eh): Do nothing.
+ 	(save_eh_status): Call init_eh_for_function, not init_eh.
+ 	* function.c (push_function_context_to): Don't call init_emit.
+ 
+ Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
+ 	and EABI.
+ 
+ Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* final.c (shorten_branches): Add parentheses around +/- in
+ 	operand of &.
+ 
+ 	* flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
+ 
+ Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* regclass.c (memory_move_secondary_cost): Wrap uses of
+ 	SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
+ 	with #ifdef tests.
+ 
+ Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
+ 
+ 	* flow.c (life_analysis): #include <sys/types.h> to make sure
+ 	size_t is defined.
+ 	* cplus-dem.c (demangle_function_name): Likewise.
+ 
+ Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* final.c (insn_noperands): Change type to unsigned int.
+ 	(final_scan_insn): Likewise for noperands;
+ 	properly check operand number boundaries.
+ 
+ Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (extzv): Don't reject register operands.  Fix
+ 	mode of operand 1.
+ 
+ Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_function_end): Fix last change.  The correct
+ 	predicate is ASM_OUTPUT_SECTION_NAME.
+ 
+ Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
+ 	(ashlsi): Use match_dup 1 instead of match_operand 2.
+ 
+ Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (operand_equal_for_comparison_p): See if equal
+ 	when nop conversions are removed.
+ 
+ Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COND_EXPR): If have conditional move,
+ 	don't use ORIGINAL_TARGET unless REG.
+ 
+ Wed Mar 18 16:53:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
+ 
+ Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (struct movable): New field move_insn_first.
+ 	(scan_loop): In consec sets code, set it.  Clear it otherwise.
+ 	(move_movables): In consec sets code, use it.  Copy REG_NOTES from
+ 	p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
+ 	out code.
+ 
+ Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
+ 	is large, and the system doesn't provide atoll or atoq.
+ 	(atoll): New.
+ 
+ 	* alpha/xm-vms.h (HAVE_ATOLL): Define.
+ 	Reported by Klaus Kaempf <kkaempf@progis.de>.
+ 
+ Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lang.c (finish_file): Wrap variable `void_list_node' with macro
+ 	test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
+ 
+ 	* calls.c (emit_call_1): Wrap variable `already_popped' with macro
+ 	test !ACCUMULATE_OUTGOING_ARGS.
+ 
+ 	* collect2.c (write_c_file_glob): Wrap function definition in
+ 	macro test !LD_INIT_SWITCH.
+ 
+ 	* combine.c (try_combine): Wrap variables `cc_use' and
+ 	`compare_mode' in macro test EXTRA_CC_MODES.
+ 
+ 	* cpplib.c (do_ident): Remove unused variable `len'.
+ 	(skip_if_group): Remove unused variables `at_beg_of_line' and
+ 	`after_ident'.
+ 	(cpp_get_token): Remove unused variable `dummy'.
+ 
+ 	* dbxout.c (scope_labelno): Move static variable definition inside
+ 	the one function scope where it is used.
+ 	(dbxout_function_end): Wrap prototype and definition in
+ 	macro test !NO_DBX_FUNCTION_END.
+ 
+ 	* dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
+ 	in macro test !MIPS_DEBUGGING_INFO.
+ 
+ 	* expr.c (expand_builtin_setjmp): Move declaration of variable `i'
+ 	into the scope where it is used.  Wrap empty else-statement body
+ 	in braces.
+ 
+ 	* fix-header.c: Fix typo in comment.
+ 	(inf_skip_spaces): Cast results of INF_UNGET to (void).
+ 	(check_protection, main): Likewise.
+ 
+ 	* flow.c (find_basic_blocks_1): Remove dangling comment text.
+ 
+ 	* function.c (contains): Wrap prototype and definition in macro
+ 	test HAVE_prologue || HAVE_epilogue.
+ 	(fixup_var_refs_1): Remove unused variable `width'.
+ 
+ 	* gen-protos.c (main): Remove unused variable `optr'.
+ 
+ 	* haifa-sched.c (debug_control_flow): Remove unused variable `j'.
+ 
+ 	* libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
+ 	(__sjpopnthrow): Remove unused variable `jmpbuf'.
+ 	(__throw): Remove unused variable `val'.
+ 
+ 	* protoize.c: Check for a previously existing definition before
+ 	defining *_OK macros.
+ 
+ 	* scan-decls.c (scan_decls): Remove unused variable `old_written'.
+ 
+ Tue Mar 17 00:45:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* vax.h (ADDR_VEC_ALIGN): Define.
+ 
+ Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* gcc.c (default_arg): Don't wander off the end of allocated
+ 	memory.
+ 
+ 	(From Geoffrey Keating  <geoffk@ozemail.com.au>)
+ 	* rs6000.c (small_data_operand): Ensure that any address
+ 	referenced relative to the small data area is inside the SDA.
+ 
+ Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
+ 
+ Mon Mar 16 15:50:20 1998  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (in_same_eh_region): New prototype.
+ 	(free_insn_eh_region, init_insn_eh_region): New prototypes.
+ 	* except.c (insn_eh_region, maximum_uid): New static variables.
+ 	(set_insn_eh_region): New static function to set region numbers.
+ 	(free_insn_eh_region): New function to free EH region table.
+ 	(init_insn_eh_region): New function to initialize EH region table.
+ 	(in_same_eh_region): New function used to determine if two rtl
+ 	instructions are in the same exception region or not.
+ 	* final.c (final): Initialize the table indicating which instructions
+ 	belong in which exception region.
+ 	* genpeep.c (main): Add "except.h" to include file list in generated
+ 	file insn-peep.c.
+ 	* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
+ 	peepholes involving calls and unconditional branches.
+ 
+ Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* README.gnat: New file.
+ 
+ Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
+ 	"recog.h" for offsettable_memref_p.
+ 	(legitimize_pic_address): Remove unused variable `offset'.
+ 	(notice_update_cc): Change return type to void.  Add default label
+ 	to switch.
+ 	(standard_68881_constant_p): Remove unused variable mode.
+ 	(print_operand): Define local variable i only if SUPPORT_SUN_FPA.
+ 	(const_int_cost): Explicitly declare as returning int.
+ 	(output_dbcc_and_branch): Change return type to void.
+ 
+ 	* config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
+ 	config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
+ 	(...).  Use GEN_INT instead of gen_rtx_CONST_INT.
+ 
+ Sun Mar 15 22:30:44 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
+ 	check for 'M' constraint.
+ 
+ Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cccp.c (create_definition): If pedantic, call pedwarn for macro
+ 	varargs feature.
+ 
+ Thu Mar 12 13:43:25 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
+ 
+ 	* i386.c (ix86_logical_operator): New function.
+ 	(split_di): Ensure that when a MEM is split, the resulting MEMs have
+ 	SImode.
+ 	* i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
+ 	to implement them.
+ 
+ Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 			  Richard Earnshaw  <rearnsha@arm.com>
+ 			  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* tm.texi (DEFAULT_RTX_COSTS): Document new macro.
+ 
+ 	* arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
+ 
+ 	* cse.c (rtx_cost): Provide a default case in an enumeration
+ 	switch, and call DEFAULT_RTX_COSTS if it's defined.
+ 
+ Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* basic-block.h (compute_preds_succs): Change return type in
+ 	prototype to void.
+ 	* flow.c (compute_preds_succs): Likewise in function definition.
+ 
+ 	* regmove.c (find_matches): Cast char used as array index to unsigned char
+ 	to suppress warning.
+ 
+ Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* i386.h (RTX_COSTS): Insert braces around nested if.
+ 	(ADDITIONAL_REGISTER_NAMES): Insert braces around structured
+ 	elements.
+ 
+ 	* gcc.c (default_compilers): Properly put brackets around array elements in
+ 	initializer.
+ 
+ 	* getopt.c (_getopt_internal): Add explicit braces around nested if;
+ 	reformatted.
+ 
+ 	* reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
+ 	(record_reg_life_pat): Add explicit parens around && and || in expression.
+ 	(stack_reg_life_analysis): Add parens around assignment used as expression.
+ 	(convert_regs): Likewise.
+ 
+ Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* bitmap.c (bitmap_element_allocate): Remove unused parameter;
+ 	change callers accordingly.
+ 
+ 	* cplus-dem.c (arm_special): Remove unused parameter work in prototype
+ 	and definition; change all callers accordingly.
+ 
+ 	* except.c (init_eh): Avoid assignment of unused return value of
+ 	build_pointer_type; cast it to void, instead, and remove unused
+ 	variable type.
+ 
+ 	* gcc.c (lang_specific_driver): Define prototype only #ifdef
+ 	LANG_SPECIFIC_DRIVER.
+ 	(temp_names): Define only #ifdef MKTEMP_EACH_FILE.
+ 
+ 	* genoutput.c (output_epilogue): Initialize next_name to 0.
+ 
+ 	* real.c (efrexp): #if 0 prototype and function definition.
+ 	(eremain): Likewise.
+ 	(uditoe): Likewise.
+ 	(ditoe): Likewise.
+ 	(etoudi): Likewise.
+ 	(etodi): Likewise.
+ 	(esqrt): Likewise.
+ 
+ 	* reload.c (push_secondary_reload): Define prototype only
+ 	#ifdef HAVE_SECONDARY_RELOADS.
+ 
+ 	* varasm.c (assemble_static_space): Define rounded only
+ 	#ifndef ASM_OUTPUT_ALIGNED_LOCAL.
+ 
+ Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* i386.md (andsi): Add default case in enumeration switch.
+ 	(iorsi3): Likewise.
+ 	(iorhi3): Likewise.
+ 	(xorsi3): Likewise.
+ 
+ Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* c-decl (finish_struct): Change type of min_align to unsigned.
+ 
+ 	* cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
+ 	remove unused variable len.
+ 
+ 	* dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
+ 	comment indicating this is proper behavior.
+ 	(reg_loc_descriptor): Remove redundant comparison of unsigned variable
+ 	reg >= 0.
+ 	(based_loc_descr): Likewise.
+ 
+ 	* enquire.c (bitpattern): Change type of variable i to unsigned.
+ 
+ 	* final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
+ 
+ 	* flow.c (life_analysis): Change type of variable i to size_t;
+ 	remove unused variable insn.
+ 
+ 	* gcc.c (translate_options): Change type of variables optlen, arglen and
+ 	complen to size_t.
+ 	(input_filename_length): Change type to size_t.
+ 	(do_spec_1): Change type of variable bufsize to size_t.
+ 	(main): Change type of variables i and j to size_t;
+ 	remove subblock local definition of variable i.
+ 	(lookup_compiler): Change type of second argument to size_t;
+ 	change type of variable i to size_t.
+ 
+ 	* genemit.c (output_init_mov_optab): Change type of variable i to size_t.
+ 
+ 	* genopinit.c (get_insn): Change type of variable pindex to size_t.
+ 
+ 	* genrecog.c (add_to_sequence): Change type of variable i to size_t.
+ 
+ 	* global.c (global_alloc): Change type of variable i to size_t.
+ 
+ 	* regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
+ 
+ 	* stmt.c (expand_end_bindings): Change type of variable i to size_t.
+ 	(expand_end_case): Change type of variable count to size_t.
+ 
+ 	* toplev.c (main): Change type of variable j to size_t.
+ 	(set_target_switch): Change type of variable j to size_t.
+ 	(print_switch_values): Change type of variable j to size_t;
+ 	remove unused variable flags.
+ 
+ 	* varasm.c (assemble_variable): Change type of variable align to size_t.
+ 	(const_hash_rtx): Change type of variable i to size_t.
+ 
+ 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
+ 	TREE_VEC if that's what it really is.
+ 
+ Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
+ 	as per ISO C spec.
+ 
+ Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
+ 
+ 	* gthr.h: Changed the comment about return values.
+ 	* gthr-solaris.h (__gthread_once): Do not use errno; return the
+ 	error number instead of -1.
+ 	(__gthread_key_create): Any nonzero return value is an error.
+ 	* libgcc2.c (eh_context_initialize): Check for nonzero return
+ 	value from __gthread_once.
+ 	Check that the value of get_eh_context was really changed.
+ 
+ Wed Mar 11 18:26:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (LOOP_ALIGN): Only align when optimizing.
+ 	* sh.c (find_barrier): Clear inc for CODE_LABELs.
+ 	When not optimizing, calculate alignment for BARRIERs directly.
+ 
+ Wed Mar 11 15:07:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Remove conditionalizing on
+ 	SHORTEN_WITH_ADJUST_INSN_LENGTH.
+ 	* sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
+ 
+ Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
+ 	an unconditional jump around deleted blocks.
+ 
+ Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* profile.c (branch_prob): If see computed goto, call fatal instead of
+ 	abort.
+ 
+ 	* config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
+ 
+ 	* configure.in (alpha-dec-osf): Add default case for osf* to switch.
+ 	Patch from Bruno Haible.
+ 
+ 	* function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
+ 	(assign_parms): Set aggregate if hide_last_arg and last_named.
+ 
+ Mon Mar  9 19:57:56 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Initialize insn_addresses.
+ 
+ Mon Mar  9 14:10:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (MUST_PASS_IN_STACK): Define.
+ 
+ Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* final.c (shorten_branches): Fix minor logic error in
+ 	ADDR_DIFF_VEC shortening support.
+ 
+ Sun Mar  8 02:17:42 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (is_cfg_nonregular): Change return type to
+ 	an int.  No longer compute "estimated" number of edges.  Use
+ 	computed_jump_p instead of duplicating the code.  Fixup/add
+ 	some comments.
+ 	(build_control_flow): Returns a value indicating an irregularity
+ 	in the cfg was detected.  Count the number of edges in the cfg.
+ 	allocate various edge tables.
+ 	(find_rgns): No longer look for unreachable blocks.
+ 	(schedule_insns): Do not allocate memory for edge tables here.
+ 	Free memory for edge tables before returning.  Do not perform
+ 	cross block scheduling if build_control_flow returns nonzero.
+ 	* flow.c (compute_preds_succs): More accurately determine when
+ 	a block drops in.
+ 
+ 	* basic-block.h (free_basic_block_vargs): Provide prototype.
+ 
+ 	* cccp.c (main): Fix dumb mistakes in last change.
+ 
+ Fri Mar  6 21:28:45 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (addr_diff_vec_flags): New typedef.
+ 	(union rtunion_def): New member rt_addr_diff_vec_flags.
+ 	(ADDR_DIFF_VEC_FLAGS): New macro.
+ 
+ 	* sh.c (output_branch): Fix offset overflow problems.
+ 
+ 	* final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
+ 	(final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
+ 	* rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
+ 	* stmt.c (expand_end_case): Supply new arguments to
+ 	gen_rtx_ADDR_DIFF_VEC.
+ 	* 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
+ 	* alpha.h, arc.h, clipper.h, convex.h : Likewise.
+ 	* dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
+ 	* i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
+ 	* mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
+ 	* rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
+ 	* vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
+ 	* i386/386bsd.h, i386/freebsd-elf.h : Likewise.
+ 	* i386/freebsd.h, i386/linux.h : Likewise.
+ 	* i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
+ 	* i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
+ 	* m68k/mot3300.h, m68k/sgs.h : Likewise.
+ 	* m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
+ 	* sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
+ 	(CASE_VECTOR_SHORTEN_MODE): Define.
+ 	(short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
+ 	(med_branch_p, braf_branch_p): Don't declare.
+ 	(mdep_reorg_phase, barrier_align): Declare.
+ 	(ADJUST_INSN_LENGTH): Remove alignment handling.
+ 	* sh.c (uid_align, uid_align_max): Deleted.
+ 	(max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
+ 	(short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
+ 	(cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
+ 	(output_far_jump): Don't use braf_branch_p.
+ 	(output_branchy_insn): Don't use branch_offset.
+ 	(find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
+ 	Remove paired barrier stuff.
+ 	Don't use cache_align_p.
+ 	Take alignment insns into account.
+ 	(fixup_addr_diff_vecs): Reduce to only fixing up the base label of
+ 	the addr_diff_vec.
+ 	(barrier_align, branch_dest): New function.
+ 	(machine_dependent_reorg, split_branches): Remove infrastructure
+ 	for branch shortening that is now provided in the backend.
+ 	* sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
+ 	(braf_branch_p, braf_cbranch_p): Likewise.
+ 	(attribute length): Use new attributes.
+ 	(casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
+ 	(addr_diff_vec_adjust): Delete.
+ 	(align_2): Now a define_expand.
+ 	(align_log): Now length 0.
+ 
+ Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* m32r.md (right): Correctly check for length == 2, not 1.
+ 
+ Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips/mips.h: Prototype `machine_dependent_reorg'.
+ 	(ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
+ 
+ Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
+ 
+ 	* final.c (shorten_branches): Restore accidentally removed code.
+ 
+ Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* configure.in: Remove duplicate uses of AC_PROG_CC and
+ 	AC_PROG_MAKE_SET.
+ 
+ Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (target_cpu_default2): Correct typo for alphapca56.
+ 
+ Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
+ 			  Doug Evans	 (devans@cygnus.com)
+ 
+ 	* haifa-sched.c (build_jmp_edges): Delete dead function.
+ 	(build_control_flow): Use cfg routines from flow.c.
+ 	(schedule_insns): Remove debugging code accidentally checked
+ 	in earlier today.
+ 
+ 	* basic-block.h: Add external integer list structures, typdefs,
+ 	accessor macros and function declarations.  Similarly for
+ 	basic block pred/succ support and simple bitmap stuff.
+ 	* flow.c: Add functions for integer list, basic block pred/succ
+ 	support and simple bitmap support.
+ 	(compute_dominators): New function to compute dominators and
+ 	post dominators.
+ 	(find_basic_blocks): Split into two functions.
+ 	(life_analysis): Likewise.
+ 	(flow_analysis): Removed.  Now handled by calling find_basic_blocks,
+ 	the life_analysis from toplev.c.
+ 	* toplev.c (rest_of_compilation): Call find_basic_blocks, then
+ 	life_analysis instead of flow_analysis.
+ 
+ Thu Mar  5 23:06:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* jump.c (jump_optimize): Call mark_jump_label also for deleted
+ 	insns.
+ 	(mark_jump_label): Don't increment ref counts for deleted insns.
+ 
+ Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
+ 
+ 	* mips/mips.c: Include stdlib.h and unistd.h.
+ 	(mips_asm_file_end): Add braces around empty body in an if-statement.
+ 	(function_prologue): Wrap variable `fnname' in
+ 	!FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
+ 	(mips_select_rtx_section, mips_select_section): Declare as void.
+ 
+ 	* mips/mips.h: Add prototypes for extern functions in mips.c.
+ 	(FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
+ 	(ENCODE_SECTION_INFO): Add braces around empty body in an
+ 	if-statement.
+ 
+ 	* mips/mips.md (movdi): Add parentheses around && within ||.
+ 	(movsf, movdf): Likewise.
+ 	(branch_zero, branch_zero_di): Add default case in
+ 	enumeration switch.
+ 
+ Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
+ 	real constants, since they can't be changed.
+ 	(TARGET_AS_CAN_SUBTRACT_LABELS): New.
+ 	* alpha/alpha.md (builtin_setjmp_receiver): Use it.
+ 	* alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
+ 	* alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
+ 	* alpha/vms.h (TARGET_OPEN_VMS): New.
+ 	* alpha/win-nt.h (TARGET_WINDOWS_NT): New.
+ 
+ Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (find_reloads): Always force (subreg (mem)) to be
+ 	reloaded if WORD_REGISTER_OPERATIONS.
+ 
+ Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (free_list): Rename from free_pnd_lst.
+ 	(free_pending_lists): Rename free_pnd_lst uses.
+ 	(remove_dependence): Place expunged element on unused_insn_list.
+ 	(alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
+ 	gen_rtx_*_LIST and alloc_rtx to use them.
+ 	(compute_block_backward_dependences): Free the reg_last_* lists.
+ 
+ Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cccp.c (main): Avoid undefined behavior when setting pend_includes
+ 	and pend_files.
+ 
+ Wed Mar  4 21:58:25 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/linux.h: Don't define DEFAULT_VTABLE_THUNKS to 1 if
+ 	USE_GNULIBC_1 is defined.
+ 	* configure.in: Add a new case powerpc-*-linux-gnulibc1 which
+ 	includes the t-linux-gnulibc1 fragment.
+ 
+ Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
+ 
+ Wed Mar  4 18:47:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (final_scan_insn, case CODE_LABEL: Cleanup.
+ 
+ Wed Mar  4 15:51:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Tag the loop alignment onto the
+ 	first label after NOTE_INSN_LOOP_BEG even if there is an
+ 	intervening insn.
+ 
+ Tue Mar  3 21:48:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (insn_current_reference_address):
+ 	Use SEQ instead of BRANCH as argument to align_fuzz, to get a
+ 	proper alignment chain.
+ 
+ 	* final.c (max_labelno): New static variable.
+ 	(final_scan_insn): Check max_labelno before outputting an
+ 	alignment for a label.
+ 	(shorten_branches): Remove unused variable length_align.
+ 
+ Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (ultrasparc_adjust_cost): Add default case in
+ 	enumeration switch.
+ 
+ 	* sparc.h: Add prototypes for extern functions defined in
+ 	sparc.c.
+ 
+ Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c: Only generate <name>.dbr file when dumping RTL if
+ 	DEALY_SLOTS is defined.
+ 
+ Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* reorg.c (fill_eager_delay_slots): Add new argument delay_list
+ 	in call to fill_slots_from_thread.
+ 
+ Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
+ 	to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
+ 
+ Mon Mar  2 22:59:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (insn_last_address, insn_current_align, uid_align):
+ 	New variables.
+ 	(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
+ 	(insn_current_reference_address): Likewise.
+ 	(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
+ 	LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
+ 	(label_to_alignment): New function.
+ 	* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
+ 	LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
+ 	insn_current_reference_address instead of insn_current_address.
+ 	(or_attr_value, write_length_unit_log): New functions.
+ 	(main): Call write_length_unit_log.
+ 	(write_const_num_delay_slots): Output extra '\n'.
+ 	* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
+ 	Replace with:
+ 	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
+ 	* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
+ 	* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): Replace with:
+ 	(LOOP_ALIGN).
+ 	* i960.h, m88k.h (ASM_OUTPUT_ALIGN_CODE): Replace with:
+ 	(LABEL_ALIGN_AFTER_BARRIER).
+ 	* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
+ 	* ns32k/tek6000.h: Likewise.
+ 	* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
+ 	* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
+ 	ASM_OUTPUT_ALIGN_CODE.
+ 
+ Mon Mar  2 01:05:50 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Mar  2 00:52:18 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
+ 
+ 	* reorg.c (fill_slots_from_thread): Don't steal delay list from target
+ 	if condition code of jump conflicts with opposite_needed.
+ 
+ 	* reorg.c (fill_slots_from_thread): Mark resources referenced in
+ 	opposite_needed thread.  Return delay_list even when cannot get
+ 	any more delay insns from end of subroutine.
+ 
+ Sun Mar  1 18:26:21 1998  Ken Rose  (rose@acm.org)
+ 
+ 	* reorg.c (fill_slots_from_thread): New parameter, delay_list.
+ 	All callers changed.
+ 
+ Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
+ 	end_fde_sort): New functions for fast sorting of an FDE array.
+ 	(fde_insert): Simplified.
+ 	(add_fdes): Change argument list.
+ 	(frame_init): Use the new functions.
+ 
+ Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ginclude/va-ppc.h (va_arg): Fix typo in long long support.
+ 
+ 	* i386.c (reg_mentioned_in_mem): Fix dangling else statement.
+ 
+ 	* fold-const.c (fold_range_test): Always return a value.
+ 
+ Sun Mar  1 17:57:34 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* config/i386/winnt.c (i386_pe_unique_section): Put read-only
+ 	data in the text section unless READONLY_DATA_SECTION is defined.
+ 
+ Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-parse.in (undeclared variable error): Tweak error message to
+ 	be clearer.
+ 
+ Sun Mar  1 10:22:36 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* final.c (final_scan_insn): Undo overzealous removal of `set'.
+ 
+ Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
+ 	case, add parentheses to specify the proper order of precedence in
+ 	the if-statement.
+ 
+ 	* c-aux-info.c: Include string.h/strings.h.
+ 
+ 	* pa.c: Include stdlib.h.
+ 	(pa_combine_instructions): Prototype the function.
+ 	(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
+ 	(reloc_needed): Add default case for enumeration switch.
+ 	(remove_useless_addtr_insns): Remove unused variable `all'.
+ 	(hppa_expand_prologue): Add explicit braces to avoid
+ 	ambiguous `else'.
+ 	(output_function_epilogue): Remove unused variable `i'.
+ 	(output_millicode_call): Remove unused variable `link'.
+ 	(shadd_constant_p, forward_branch_p): Make the function static.
+ 	(following_call): Explicitly declare to return int.
+ 	(pa_reorg): Declare as void.
+ 	(pa_combine_instructions): Declare as static void.  Add
+ 	parentheses around && within ||.
+ 
+ 	* pa.h: Add prototypes for pa_reorg, symbolic_operand,
+ 	following_call, function_label_operand, lhs_lshift_cint_operand
+ 	and zdepi_cint_p.
+ 
+ 	* pa.md: Add parentheses around && within ||.
+ 
+ 	* cppalloc.c: Include stdlib.h.
+ 
+ 	* cpperror.c (cpp_print_containing_files): Remove unused variable
+ 	`i'.  Fix format specifier in fprintf.
+ 
+ 	* cse.c (cse_around_loop): Add explicit braces to avoid
+ 	ambiguous `else'.
+ 	(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
+ 
+ 	* expr.c (expand_expr): Add parentheses around && within ||.
+ 
+ 	* final.c (app_enable): Replace fprintf with fputs where there are
+ 	no format specifiers and no trailing argument after the string.
+ 	Eg, when printing ASM_APP_ON/ASM_APP_OFF.
+ 	(app_disable): Likewise.
+ 	(final_end_function): Likewise.
+ 	(final_scan_insn): Likewise.  Remove unused variable `set'.
+ 	(profile_function): Wrap empty if-statement body in {} brackets.
+ 
+ 	* function.c: Include stdlib.h.
+ 	(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
+ 	(reposition_prologue_and_epilogue_notes): Add parentheses
+ 	around assignment used as truth value.
+ 
+ 	* integrate.c (expand_inline_function): Wrap variable
+ 	`cc0_insn' in macro HAVE_cc0.
+ 
+ 	* jump.c (jump_optimize): Wrap variable `q' in macro
+ 	HAVE_cc0.  Remove unused variable `prev1'.
+ 
+ 	* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
+ 	within ||.  Fix format specifier in fprintf.
+ 	(__bb_init_prg): Add parentheses around assignment used as
+ 	truth value.
+ 
+ 	* local-alloc.c: Include stdlib.h.
+ 	(requires_inout): Add parentheses around assignment used
+ 	as truth value.
+ 
+ 	* loop.c (analyze_loop_iterations): Wrap prototype and definition
+ 	in macro HAVE_decrement_and_branch_on_count.
+ 	(insert_bct, instrument_loop_bct): Likewise.
+ 	(move_movables): Add parentheses around assignment used as
+ 	truth value.
+ 	(consec_sets_invariant_p): Likewise.
+ 	(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
+ 
+ 	* objc/objc-act.c: Include stdlib.h.
+ 	(lookup_method_in_protocol_list): Wrap empty else-statement body
+ 	in braces.
+ 	(lookup_protocol_in_reflist): Likewise.
+ 	(objc_add_static_instance): Remove unused variables `decl_expr'
+ 	and `decl_spec'.
+ 	(get_objc_string_decl): Remove unused variable `decl'.
+ 	(generate_static_references): Remove unused variables `idecl' and
+ 	`instance'.
+ 	(check_protocols): Wrap empty else-statement body in braces.
+ 
+ 	* protoize.c: Include stdlib.h.
+ 	(substr): Add parentheses around assignment used as truth value.
+ 	(abspath): Likewise.
+ 	(shortpath): Likewise.
+ 
+ 	* regmove.c (fixup_match_1): Add parentheses around assignment
+ 	used as truth value.
+ 
+ 	* reload.c (push_secondary_reload): Remove unused variable `i'.
+ 	(find_reloads): Add parentheses around assignment used as truth
+ 	value.
+ 
+ 	* reload1.c: Include stdlib.h.
+ 
+ 	* rtl.h: Correct typo in prototype of offsettable_memref_p.
+ 
+ 	* stmt.c (add_case_node): Add parentheses around assignment used
+ 	as truth value.
+ 	(case_tree2list): Likewise.
+ 
+ 	* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
+ 	in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
+ 	`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
+ 	(merge_attributes): Add explicit braces to avoid ambiguous
+ 	`else'.
+ 
+ 	* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
+ 	macro HAVE_cc0.
+ 
+ 	* varasm.c: Include stdlib.h.
+ 
+ 	* system.h: Remove sys/stat.h.
+ 	* gcc.c: Add sys/stat.h.
+ 
+ 	* genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
+ 	* genattrtab.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
+ 
+ Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* invoke.texi: Use @itemx for a secondary item in a @table.
+ 
+ 	* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
+ 	zero.
+ 
+ Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
+ 
+ Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.c (struct machine_function): Add new fields for PIC stuff.
+ 	(save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
+ 	and pic_label_name.
+ 	(restore_386_machine_status): Corresponding changes.
+ 	(clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
+ 
+ Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-parse.y (undeclared variable error): Tweak error message
+ 	to be clearer.
+ 
+ Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flags.h (g_switch_value, g_switch_set): Declare.
+ 	* alpha.c (override_options): Set g_switch_value=8 if not set.
+ 	* alpha/elf.h (CC1_SPEC): New.
+ 	(ASM_SPEC): New.
+ 	(LINK_SPEC): Pass along the -G value we were given.
+ 	(LOCAL_ASM_OP): Remove.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
+ 	(MAX_OFILE_ALIGNMENT): New.
+ 	(BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
+ 	(EXTRA_SECTIONS): Add sbss and sdata.
+ 	(SECTION_FUNCTION_TEMPLATE): New.
+ 	(EXTRA_SECTION_FUNCTIONS): Use it.
+ 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+ 	(SELECT_SECTION): Use sdata when small enough.
+ 	* alpha/linux.h (ASM_SPEC): Remove.
+ 
+ Mon Feb 23 15:09:18 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 	* config.sub (sco5): Fix typo.
+ 
+ Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
+ 	set to empty.
+ 	* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
+ 	* config/alpha/t-linux: Remove file.
+ 	* config/sparc/t-linux: Remove file.
+ 	* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
+ 	* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
+ 	* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
+ 	for tmake_file.
+ 	(alpha*-*-linux-gnu*): Likewise.
+ 	(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
+ 	(sparc-*-linux-gnu*): Likewise.
+ 
+ Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
+ 	* collect2.c (ldd_file_name): Bracket declaration with same
+ 	manifests as use.
+ 	(full_real_ld_suffix): Deleted.  Variable was calloced and
+ 	written into, but never read.
+ 
+ 1998-02-23  Mike Stump  <mrs@wrs.com>
+ 
+ 	* configure.in: Add support for i386-wrs-vxworks configuration.
+ 	* i386/vxi386.h: New file.
+ 
+ Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* tree.c (contains_placeholder_p): Ensure function always returns
+ 	a value.
+ 	* sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
+ 	(movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
+ 
+ Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
+ 
+ 1998-02-22  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
+ 	Define this new symbol.
+ 	(DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
+ 	* toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
+ 	LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
+ 
+ Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* iris5.h (DWARF2_UNWIND_INFO): Define to 0.
+ 	* iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
+ 
+ Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* objc/Object.m (-error): Call objc_verror with our va_list.
+ 
+ Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (scan_prog_file): Completely cover uses of variable
+ 	`exports' with macro COLLECT_EXPORT_LIST.
+ 
+ Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* sched.c (schedule_block): Remove code to get arguments from hard
+ 	regs into pseudos early.  Same as Aug 25, 1997 change to
+ 	haifa-sched.c.
+ 
+ 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* collect2.c (main): Still handle !do_collecting for non-AIX targets.
+ 
+ 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* toplev.c (rest_of_compilation): Do not defer the output of a
+ 	nested function.
+ 
+ Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
+ 
+ 	* ginclude/va-mips.h (va_arg): Remove trailing space after '\'
+ 	continuation character (line 243).
+ 
+ Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* genrecog.c (main): Remove duplicated sentence in emitted comment.
+ 
+ Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
+ 			  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* collect2.c (XCOFF_SCAN_LIBS): Remove.
+ 	(export_flag): New variable.
+ 	(export_file): #ifdef COLLECT_EXPORT_LIST.
+ 	(import_file, exports, imports, undefined): New variables.
+ 	(libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
+ 	(dump_list, dump_prefix_list, is_in_list): New functions.
+ 	(write_export_file): $ifdef COLLECT_EXPORT_LIST.
+ 	(write_import_file, resolve_lib_name): New functions.
+ 	(use_import_list, ignore_library): Same.
+ 	(collect_exit): maybe_unlink import_file and #ifdef.
+ 	(handler): Same.
+ 	(main): New variable importf, #ifdef exportf.  Move parsing of
+ 	-shared before general argument parsing.  Resolve AIX library
+ 	paths and import libgcc.a symbols.  Treat .so shared libraries the
+ 	same as objects and .a libraries.  Create alias for object_lst and
+ 	increment it instead of original pointer.  Scan AIX libraries as
+ 	objects earlier instead of using scan_libraries.  Perform AIX
+ 	tlink later to resolve templates instead of forking ld.
+ 	(GCC_OK_SYMBOL): Ensure symbol not in undef section.
+ 	(GCC_UNDEF_SYMBOL): New macro.
+ 	(scan_prog_file): Loop for members of AIX libraries.  Handle
+ 	export/import of ctors/dtors.
+ 	(aix_std_libs): New variable.
+ 	(scan_libraries, XCOFF): Delete.
+ 
+ Thu Feb 19 22:36:52 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
+ 
+ 1998-02-19  Mike Stump  <mrs@wrs.com>
+ 
+ 	* Makefile.in: Use $tooldir for sys-include to match toplevel
+ 	configure.
+ 
+ Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
+ 			  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
+ 
+ 	* emit-rtl.c (hard-reg-set.h): Include.
+ 	(get_lowpart_common): Don't make new REG for hard reg in a
+ 	class that cannot change size.
+ 	* Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
+ 
+ 	* combine.c: Revert previous patch.
+ 
+ 1998-02-19  Paul Eggert  <eggert@twinsun.com>
+ 
+ 	* config/sparc/sol2-sld.h: New file.
+ 	* configure.in (sparc-*-solaris2*): Use it when using the
+ 	system linker.
+ 
+ Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (force_movables): Fix typo.
+ 
+ Thu Feb 19 08:26:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* m88k.h: Change file pattern to match reality.
+ 
+ Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* varasm.c (output_constant_pool): Fix dumb thinko in last
+ 	change.
+ 
+ 	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
+ 	a function name to a section name.
+ 
+ 1998-02-18  Doug Evans  <devans@cygnus.com>
+ 
+ 	* tree.h (merge_machine_{type,decl}_attributes): Declare.
+ 	(split_specs_attrs, strip_attrs): Add prototypes.
+ 	* tree.c (merge_machine_{type,decl}_attributes): New functions.
+ 	* c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
+ 	Update olddecl's attributes too.
+ 	* c-common.c (strip_attrs): New function.
+ 	* c-typeck.c (common_type): Call merge_machine_type_attributes.
+ 	* varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
+ 	(make_decl_rtl): Likewise.
+ 
+ 1998-02-18  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-decl.c (shadow_tag_warned): Call split_specs_attrs.
+ 
+ Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	Remove this change until we can fix it correctly.
+ 	* collect2.c: Bracket declaration of 'exportf' and
+ 	'full_real_ld_suffix'.
+ 
+ Wed Feb 18 08:44:25 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
+ 
+ 	* Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
+ 
+ Tue Feb 17 23:30:20 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
+ 
+ 	* c-common.c (c_expand_start_cond, c_expand_end_cond,
+ 	c_expand_start_else): Don't warn about non-ambiguous else even if
+ 	braces are missing.
+ 
+ Tue Feb 17 23:56:50 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_LONG_DOUBLE): Delete.  Use the ones from i386.h
+ 	instead.
+ 
+ Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
+ 	simplifying a subreg of a hard reg.
+ 	(expand_compound_operation): Likewise.
+ 	(force_to_mode): Likewise.
+ 
+ Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
+ 	(lshift_double): Add parentheses around + or - inside shift.
+ 	(rshift_double): Likewise.
+ 	(size_int_wide): Explicitly set type of `bit_p' to `int'.
+ 
+ 	* Makefile.in (fold-const.o): Depend on system.h.
+ 
+ 	* Makefile.in (gcc.o): Depend on system.h, in accordance with last
+ 	change to gcc.c.
+ 
+ 	* haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
+ 	(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
+ 	(sched_note_set): Remove unused parameter `b', all callers changed.
+ 	(schedule_block): Likewise for `rgn'.
+ 	(split_hard_reg_notes): Likewise for `orig_insn'.
+ 	(check_live): Likewise for `trg'.
+ 	(update_live): Likewise.
+ 	(check_live_1): Explicitly declare variable `i' as int.
+ 	(update_live_1): Likewise.
+ 	(insn_issue_delay): Remove unused variable `link'.
+ 	(sched_analyze_2): Add default case in enumeration switch.
+ 	(schedule_insns): Remove unused variable `i'.
+ 
+ 	* Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
+ 
+ Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
+ 	a dangling else clause.
+ 
+ Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
+ 	pointer for the stack pointer in MIPS16 and 64BIT.
+ 
+ Tue Feb 17 21:17:30 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (force_line_numbers, restore_line_number_status): Declare.
+ 	* emit-rtl.c (force_line_numbers, restore_line_number_status):
+ 	New functions.
+ 	* stmt.c (struct nesting): Replace seenlabel with line_number_status.
+ 	(expand_start_case): Adjust to this change.
+ 	(check_seenlabel): New function.
+ 	(pushcase, pushcase_range, expand_endcase): Use it.
+ 
+ Tue Feb 17 10:14:32 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* i386.md (adddi3): Add =!r,0,0,X alternative.
+ 
+ Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+ 
+ 	* rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
+ 	* x-aix31 (INSTALL): Delete.
+ 
+ Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
+ 	tsize changes to something other than zero.
+ 
+ Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* ginclude/va-mips.h: Replace casts of pointers to int with
+ 	casts of pointers to __PTRDIFF_TYPE__.
+ 
+ Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* loop.c (strength_reduce, record_biv, record_giv): Use
+ 	HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
+ 
+ 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (first_rtl_op): New fn.
+ 	(unsave_expr_now): Use it.
+ 	* print-tree.c (print_node): Likewise.
+ 	* tree.c (has_cleanups): New fn.
+ 	* fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
+ 	conservative about pushing the cleanup point down.
+ 	* tree.h: Declare them.
+ 
+ Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (flag_schedule_reverse_before_reload): Delete variable.
+ 	(flag_schedule_reverse_after_reload): Likewise.
+ 	(f_options): Remove reverse scheduling support.
+ 	* flags.h (flag_schedule_reverse_before_reload): Delete declaration.
+ 	(flag_schedule_reverse_after_reload): Likewise.
+ 	* haifa-sched.c (rank_for_schedule): Remove support for reverse
+ 	scheduling.
+ 
+ Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c: Get system includes, prototypes and macros via "system.h"
+ 	instead of doing it manually.  Change all calls of the ctype
+ 	macros to custom versions defined in "system.h".
+ 
+ 	* system.h: Fix return type of bcmp prototype from `void' to `int'.
+ 	Make bcopy, bcmp and bzero prototypes explicitly `extern'.
+ 	Add a prototype for getenv.
+ 
+ Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
+ 
+ Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* alias.c: Include <stdlib.h> and <string.h>.
+ 	(init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
+ 
+ Sat Feb 14 11:23:09 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Feb 14 05:08:21 1998  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.md (movsfcc): Also validate operands[3] when compiling hard
+ 	float.
+ 	(movdfcc): Only accept fpu_add_operand for operands[3].
+ 
+ 	* arm/t-semi (STMP_FIXPROTO): Define to nothing.
+ 	* arm/t-semiaof (STMP_FIXPROTO): Likewise.
+ 
+ Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* varasm.c (output_constant_pool): Bring back 'done' label inside
+ 	an appropriate #ifdef.
+ 
+ 	* bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
+ 	appropriate #ifdef.
+ 	(bitmap_copy, bitmap_operation): Likewise.
+ 	* combine.c (combinable_i3pat): Similarly for 'src'.
+ 	* function.c (fixup_var_refs_1): Similarly for 'outerdest'.
+ 	(locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
+ 	* regclass.c (copy_cost): Similarly for 'secondary_class'.
+ 	* reload.c (make_memloc): Similarly for 'i'.
+ 	(find_reloads_address_1): Similarly for 'link'.
+ 	* reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
+ 	(emit_reload_insns): Similarly for 'second_reloadreg'.
+ 	* unroll.c (iteration_info): Similarly for 'v'.
+ 
+ 	* caller-save.c (insert_save_restore): Remove unused variable 'i'.
+ 	* calls.c (expand_call): Similarly for 'i'.
+ 	(emit_library_call, emit_library_call_value): Similarly for 'mode'.
+ 	* fold-const.c (strip_compound_expr): Similarly for 'type'.
+ 	* function.c (fixup_var_refs_1): Similarly  for 'width'.
+ 	(fixup_memory_subreg): Similarly for 'saved'.
+ 	(locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
+ 	(setjmp_protect): Similarly for 'sub'.
+ 	(thread_prologue_and_epilogue_insns): Similarly for 'insn'.
+ 	* loop.c (record_giv): Similarly for 'p'.
+ 	(combine_givs): Similarly for 'temp_iv'.
+ 	(indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
+ 	* recog.c (validate_replace_rtx_1): Similarly for 'width'.
+ 	* tree.c (get_set_constructor_bytes): Similarly for 'vals'.
+ 	* unroll.c (unroll_loop): Similarly for 'copy'.
+ 	(iteration_info): Similarly for 'b'.
+ 	* varasm.c (assemble_string): Similarly for 'i'.
+ 	* i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
+ 
+ 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* c-lang.c (lang_print_xnode): New function.
+ 	* objc/objc-act.c (lang_print_xnode): Likewise.
+ 	* print-tree.c (print_node): Call it
+ 
+ Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (decl_scope_node): New type.
+ 	(decl_scope_table): Change type to use it.
+ 	(decl_scope_table_allocated, decl_scope_depth): Change type to int.
+ 	(push_decl_scope): Use new type.  New locals containing_scope, i.
+ 	Add code to handle setting previous field.
+ 	(scope_die_for): Change type of local i to int.  Add code to use
+ 	previous field.
+ 	(dwarf2out_init): Use new type.
+ 
+ 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* except.c (emit_throw): Lose throw_used.
+ 
+ Fri Feb 13 20:36:05 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
+ 	was deleted.
+ 	* haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
+ 
+ Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* genextract.c (main): Fix typo.
+ 
+ Fri Feb 13 08:41:49 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* c-lang.c (finish_file): Bracket declaration of static_ctors,
+ 	static_dtors.
+ 
+ 	* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
+ 	'old_stack_arg_under_construction'
+ 	(emit_library_call): Bracket declaration of 'upper_bound',
+ 	'lower_bound', 'i', 'reg_parm_stack_space'
+ 	(emit_library_call_value): Likewise.
+ 	(store_one_arg):
+ 
+ 	* collect2.c: Include <unistd.h> when appropriate.
+ 	Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
+ 
+ 	* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
+ 
+ 	* explow.c (plus_constant_for_output_wide): Remove unused variable
+ 	'code'.
+ 	(memory_address): Remove unused variable 'orig_x'.
+ 
+ 	* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
+ 	(write_const_num_delay_slots): Remove unused variable 'i'.
+ 
+ 	* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
+ 	(gen_insn): Remove unused variable 'obstack_ptr'.
+ 
+ 	* libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
+ 	'j', 'tmp', 'i'.
+ 	(__bb_exit_trace_func): Remove unused variable 'e'.
+ 
+ 	* optabs.c (expand_binop): Remove unused variables 'lhs', 'rhs',
+ 	'funexp'.
+ 	(expand_unop): Remove unused variable 'funexp'.
+ 	(expand_complex_abs): Remove unused variable 'funexp'.
+ 	(init_optabs): Bracket declaration of 'j'.
+ 	(init_complex_libfuncs): Deleted.  Dead static function.
+ 
+ 	* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
+ 
+ 	* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
+ 	(reg_to_stack): 'initialized', 'before_function_beg'
+ 	explicitly type as ints instead of defaulting.
+ 	(emit_swap_insn): Remove unused variable 'i2'.
+ 	(compare_for_stack_reg): Remove unused variable 'src_note'.
+ 
+ 	* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
+ 
+ 	* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
+ 
+ 	* stmt.c (add_case_node): Add parens for assignment used as truth.
+ 	(all_cases_count): Remove unused variable 'count_high'.
+ 	(mark_seen_cases): Remove unused variable 'i'.
+ 	(check_for_full_enumeration_handling): Remove unused variable 't'.
+ 	Bracket declaration of  'all_values', 'l'.
+ 
+ 	* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
+ 
+ 	* varasm.c (assemble_string): Remove unused variable 'i'.
+ 	(immed_double_const): Remove unused variable 'in_current_obstack'.
+ 	(immed_real_const_1): Likewise.
+ 	(output_constant_pool): Remove unreferenced label 'done'.
+ 	(output_constant): Remove unused variable 'x'.
+ 
+ 	* i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
+ 	a string.
+ 
+ 	* i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
+ 	as truth.
+ 
+ Fri Feb 13 10:21:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* combine.c (can_combine_p): Handle USEs in PARALLELs.
+ 
+ Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/linux.h (LIB_SPEC): Add -lc for -shared if
+ 	USE_GNULIBC_1 is not defined.
+ 	* config/sparc/linux.h; Likewise.
+ 
+ 	* config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
+ 
+ 	* config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
+ 	USE_GNULIBC_1 is not defined.
+ 
+ Fri Feb 13 01:29:29 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/sysv4.h (ENDFILE_SPEC): Add missing %(endfile_linux)
+ 	for -mcall-linux.
+ 
+ Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: New file to get common systems includes and various
+ 	definitions and declarations based on autoconf macros.
+ 
+ Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cccp.c (new_include_prefix): Correctly handle -I./.
+ 
+ Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
+ 
+ Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* expr.c (expand_assignment): Correct typo exposed by -Wall.
+ 	offset should have been a truth value, not an assignment.
+ 
+ Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (delete_dead_from_cse): If a libcall produces a constant
+ 	result and that result can be substituted into SET_SRC of the
+ 	insn with the REG_RETVAL note, then perform the substitution
+ 	and delete the libcall.
+ 
+ Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips.md (trucndihi2,truncdiqi2): Change these to support
+ 	mips16.
+ 
+ Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.c (movdi_operand): Direct references to symbols
+ 	that arn't mips16 consts in mips16 mode arn't valid operands.
+ 
+ 	* mips/mips.c (mips_move_2words): Add gprel handling.
+ 
+ Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips.md (extendsidi2): Allow extension to/from a non-mips16
+ 	register.
+ 
+ Thu Feb 12 00:04:16 1998  Marc Lehmann  <pcg@goof.com>
+ 
+ 	* i386.c: Conditionally include <stdlib.h>, <string.h>, and
+ 	<strings.h>.
+ 
+ Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (WARN_CFLAGS): New variable.
+ 	(bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
+ 
+ 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
+ 	falling through default case in switch.
+ 	(i386_aligned_p): Likewise.
+ 
+ Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
+ 
+ 	* mips/mips.h (mips_abi_string): Correct typo in comment.
+ 
+ Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/mips.md (movdi): These PLUS's need to be Pmode.
+ 
+ Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
+ 	reorg.o, regmove.o): Depend on insn-codes.h, it gets included
+ 	indirectly via expr.h.
+ 
+ Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stor-layout.c (layout_type): Do upper - lower in the native type,
+ 	so as to properly handle negative indices.
+ 
+ Wed Feb 11 01:35:55 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
+ 	(expand_eh_region_start_tree): Remove unused variable 'note'.
+ 	(exception_optimize): Remove unused variable 'regions'.
+ 	(expand_builtin_eh_stub): Remove unused variable 'temp'.
+ 	(copy_eh_entry): Deleted.  Dead function.
+ 
+ 	* expr.c (move_block_to_reg): Bracket declaration of 'pat' and
+ 	'last' with same #if HAVE_load_multiple as use of it.
+ 	(move_block_from_reg): Likewise.
+ 	(emit_move_insn_1): Remove unused variable 'insns'.
+ 	(store_constructor): Bracket declaration of startb, endb with
+ 	#if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
+ 	'target', and 'xtarget'.
+ 	(expand_builtin_setjmp): Remove unused variables 'op0',
+ 	'next_arg_reg', 'old_inhibit_defer_pop'.
+ 	(expand_builtin): Remove unused variable 'offset'.
+ 	(do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
+ 	(emit_queue): Add parens for assignment used as conditional.
+ 	(expand_expr): Case TARGET_EXPR: Remove unused variable 'temp'.
+ 
+ Wed Feb 11 01:30:49 1998  Marc Lehmann  <pcg@goof.com>
+ 
+ 	* i386.c: Added include for recog.h.
+ 	(override_options): Removed unused variable p. Initialized regno to
+ 	avoid warning.
+ 	(order_regs_for_local_alloc): Initialized regno to avoid warning.
+ 	(legitimize_address): Likewise for 'other'.
+ 	(i386_aligned_reg_p): Added default case with abort ().
+ 	(print_operand): Likewise.
+ 	(reg_mentioned_in_mem): Likewise.
+ 	(ix86_expand_binary_operator): Removed unused variables i & insn.
+ 	(ix86_expand_unary_operator): Removed unused variable insn.
+ 	(output_fp_cc0_set): Removed unused variable unordered_label.
+ 
+ Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
+ 
+ 	* i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
+ 	Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
+ 	and format string match.
+ 
+ Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (life_analysis): Do not consider the stack pointer live at
+ 	the end of a function if the function calls alloca.
+ 	(mark_used_regs): Similarly.
+ 
+ 1998-02-10  John F Carr  <jfc@mit.edu>
+ 
+ 	* config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
+ 	1, fzero on alternative 8.
+ 
+ Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
+ 
+ Tue Feb 10 03:35:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
+ 	SUBREGs of CONST_INTs.
+ 
+ Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* mips.c (print_operand, function_prologue): Make printf format
+ 	match argument type.
+ 
+ Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (alpha_return_addr): Remove unused variable `first'.
+ 	(alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
+ 	(output_epilog): Remove unused variable `frame_size_from_reg_save'.
+ 
+ Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* loop.c (strength_reduce): When placing increment for auto-inc
+ 	case, do comparison in loop order.
+ 
+ Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
+ 	not a HOST_WIDE_INT.
+ 
+ 	* calls.c (expand_call): Change test of expand_inline_function
+ 	return value to stop compiler warning.
+ 
+ 	* genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
+ 
+ Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
+ 			  Jeff Law  (law@cygnus.com)
+ 
+ 	* regmove.c: Fix various minor formatting problems.
+ 	(optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
+ 	is true.  Make end of basic block tests consistent through regmove.c.
+ 	(optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
+ 	(fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
+ 
+ Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h: Check for a conflicting macro definition before
+ 	attempting to prototype bcopy, bcmp or bzero.
+ 
+ Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (clear_pending_stack_adjust): Handle case where a function
+ 	calls alloca, but the user has specified -fomit-fframe-pointer.
+ 
+ 	* function.c (assign_parms): Fix typo in last change.
+ 
+ Sat Feb  7 23:54:29 1998  Robert Lipe  <robertl@dgii.com>
+ 
+ 	* gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
+ 	<fcntl.h>.
+ 	(free_path_suffix): Remove unreferenced static function.
+ 	(process_command): Remove unused variable temp.
+ 	(default_arg): Remove unused variable i.
+ 	(do_spec_1): Add parens for assignment used as truth value.
+ 	(main): Likewise.
+ 	(validate_all_switches): Likewise.
+ 	(main): Remove unused variables i, first_time>
+ 
+ 	* c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
+ 
+ 	* calls.c (expand_call): Remove unused variables funtree,
+ 	n_regs, and tmpmode.
+ 
+ 	* dbxout.c, except.c: Include <string.h>/<strings.h>.
+ 
+ 	* explow.c (plus_constant_for_output_wide): Removed unused
+ 	variable all_constant.
+ 
+ 	* c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
+ 	genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
+ 	genrecog.c, global.c, integrate.c , stupid.c : Include
+ 	<stdlib.h>.
+ 
+ 	* genextract.c (walk_rtx): Remove unused variable link.
+ 
+ 	* genrecog.c (concat): Remove unreferenced static function.
+ 
+ 	* prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
+ 
+ 	* stmt.c: Include <stdlib.h>.
+ 	(expand_asm_operands): Remove unused variable val1.
+ 	(expand_return): Remove unused variable block.
+ 	(pushcase): Remove unused variables l and n.
+ 	(pushcaserange): Likewise.
+ 
+ 	* unroll.c (unroll_loop): Remove unused variable temp.
+ 
+ Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
+ 
+ 	* c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
+ 
+ Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
+ 	functions for whether they support the %p format specifier.
+ 	* acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
+ 	* configure.in (GCC_FUNC_PRINTF_PTR): Use it.
+ 	* configure, config.in: Rebuild.
+ 
+ Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* function.c (assign_parms): New variable named_arg, with value
+ 	depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
+ 
+ Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
+ 
+ 	* mips/t-r3900: New - same as t-ecoff but eliminate
+ 	multilibs: mips1 and mips3.
+ 	* configure.in (tx39*): Use new mips/t-r3900.
+ 	* configure: Rebuild.
+ 	* mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
+ 
+ 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c: Add old_args_size.
+ 	(dwarf2out_args_size): Use it.
+ 	(dwarf2out_begin_prologue): Initialize it.
+ 	(dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
+ 	pushed args until we see a call.
+ 	* final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
+ 	before outputting them.
+ 
+ 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
+ 
+ 	* cplus-dem.c (demangle_template_template_parm): New function.
+ 	(demangle_template): Handle template template parameters.
+ 
+ 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
+ 
+ 	* calls.c (expand_call): Don't confuse member functions named
+ 	realloc, setjmp, and so forth with the standard library
+ 	functions of the same names.
+ 
+ Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (expand_asm_operands): Correctly identify asm statements
+ 	no output operands.
+ 
+ Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-common.c (decl_attributes): Flag unrecognized attribute
+ 	functions as warnings instead of as errors.
+ 
+ 1998-02-05  Marc Lehmann  <pcg@goof.com>
+ 
+ 	* integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
+ 	when -Os is specified.
+ 	* toplev.c (main): Don't disable flag_inline_functions anymore when
+ 	-Os is in effect.
+ 
+ Fri Feb  6 00:27:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c: Update.
+ 	* flags.h (flag_regmove): Declare.
+ 	* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
+ 	* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
+ 	Moved into regmove; changed caller.
+ 	* toplev.c (rest_of_compilation): Call regmove_optimize also for
+ 	expensive_optimizations.
+ 
+ Thu Feb  5 13:38:42 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Feb  5 01:45:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 	Undo this change (the problem was actually in reload):
+ 	Fri Jan 23 23:28:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	  * sh.md (movqi_i+1): New peephole.
+ 
+ Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (jump_optimize): Lose calls to modified_in_p they are
+ 	not needed anymore due to changes elsewhere in jump.c.
+ 
+ 	* jump.c (jump_optimize): Fix first arg to modified_in_p in
+ 	previous change.
+ 
+ Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_builtin_setjmp): Accept two new arguments for
+ 	the labels to branch to on first and subsequent executions.  Don't
+ 	play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
+ 	and provide it with the jmp_buf.  Use only one of
+ 	`builtin_setjmp_receiver' or `nonlocal_goto_receiver',
+ 	and provide the former with the target label.
+ 	(expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
+ 	(expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
+ 	(expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
+ 	insn to replace all of the normal nonlocal_goto code.  Don't play
+ 	with __dummy.  Correct arguments to nonlocal_goto.
+ 	* expr.h (expand_builtin_setjmp): Update prototype.
+ 	* except.c (start_dynamic_handler): When using builtin_setjmp,
+ 	generate more accurate flow information.
+ 
+ 	* alpha.md (nonlocal_goto_receiver_osf): Delete.
+ 	(nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
+ 	(builtin_longjmp, builtin_setjmp_receiver): New.
+ 	* sparc.md (update_return): Disambiguate unspec number.
+ 	(nonlocal_goto): Rearrange arguments to match caller in except.c.
+ 	(builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
+ 	jmp_buf operand.
+ 	* mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
+ 	(builtin_setjmp_setup*, builtin_longjmp): New.
+ 
+ Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
+ 
+ Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* vmsconfig.com: Remove bytecode references.
+ 
+ 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
+ 	-fno-sjlj-exceptions works for a target that defines
+ 	DWARF2_UNWIND_INFO as zero.
+ 
+ 	* regmove.c (fixup_match_1): Undo last change which removed some
+ 	"useless" code, and add a comment explaining this.
+ 
+ Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
+ 
+ 	* mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
+ 	to TARGET_LONG64.
+ 
+ Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* makefile.vms: Remove bytecode references.
+ 	Create genrtl files.
+ 
+ Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
+ 
+ 	* jump.c (jump_optimize): Allow conditional loading of floating point
+ 	constants and constants from memory.  Reinstalled modified_in_p tests.
+ 
+ Mon Feb  2 01:38:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (get_condition): Handle sign-extended constants.
+ 
+ Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* expr.c (emit_push_insn): Add code to use movstrti if present.
+ 
+ 	* expr.c (emit_push_insn): Use same max-move-amount for movstrhi
+ 	and movstrqi as in emit_block_move ().
+ 
+ Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* config/m68k/x-next: Remove /NextDeveloper/Headers from
+ 	the directories to fixinclude - /usr/include is a link
+ 	to it and hence its contents are fixed by default.
+ 
+ Sun Feb  1 14:15:33 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION.
+ 
+ Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* cccp.c (main): Predefine __VMS_VER on VMS.
+ 
+ Sun Feb  1 12:39:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (get_inner_reference): Use sbitsizetype for type sizes.
+ 	* fold-const.c (size_int): Replace with
+ 	(size_int_wide).
+ 	(make_bit_field_ref): Use bitsize_int for bit position.
+ 	* stor-layout.c (sizetype): Delete.
+ 	(sizetype_tab, sbitsizetype, ubitsizetype): Declare.
+ 	(layout_record, layout_union, layout_type):
+ 	Use bitsize_int for bit size.
+ 	(set_sizetype): New function.
+ 	(make_signed_type, make_unsigned_type): Use it.
+ 	* c-decl.c (init_decl_processing): Likewise.
+ 	* tree.h (size_int): Don't delcare, #define.
+ 	(size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
+ 	(set_sizetype): Declare.
+ 	(bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
+ 	Define.
+ 	* c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
+ 	Convert result to sizetype.
+ 	(really_start_incremental_init, push_init_level):
+ 	Set type of constructor_bit_index to sbitsizetype.
+ 	(push_init_level): Use unsigned arithmetic to determine padding.
+ 	(output_init_element): Likewise.
+ 
+ Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (simplify_shift_const): Fix typo in last change.
+ 
+ Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
+ 	is (truncate (lshiftrt)).
+ 
+ Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
+ 	Make sure result winds up in TGT.
+ 	(alpha_expand_unaligned_store): Use expand_binop properly.  Allow
+ 	src to be other than DImode.
+ 	(alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 	(alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
+ 	that source and destination are separately optimized for alignment.
+ 	(alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
+ 
+ Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.md (adddi3_internal_2): Be consistent with adddi3 expander
+ 	with handling of -32768.
+ 
+ Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
+ 	shell variable argument instead of only hard coded functions.
+ 	(GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
+ 
+ 	* configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
+ 	call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
+ 	call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
+ 	declarations for bcopy, bcmp and bzero.
+ 
+ 	* acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
+ 
+ 	* gansidecl.h: If we have bcopy but don't declare it, then do so.
+ 	Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
+ 	bzero, index and rindex if they aren't already present.
+ 
+ Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (close_dump_file): Wrap function prototype for
+ 	argument "func" in PROTO.
+ 	(dump_rtl): Likewise.
+ 
+ Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* sparc.c (sparc_override_options): Make v8plus and ultrasparc set
+ 	MASK_V8PLUS.
+ 	(output_function_epilogue): Omit epilogue if nothing drops through.
+ 	(output_move_double): Suppress int ldd usage on ultrasparc and v9.
+ 	(registers_ok_for_ldd_peep): Likewise.
+ 	(print_operand): Suppress b,a on ultrasparc.  Let Y accept a constant.
+ 	(ultrasparc_adjust_cost): New function.
+ 	(sparc_issue_rate): New function.
+ 	* sparc.h (MASK_VIS, TARGET_VIS): New.
+ 	(MASK_V8PLUS, TARGET_V8PLUS): New.
+ 	(TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
+ 	(TARGET_SWITCHES): Add vis and v8plus.
+ 	(REG_CLASS_FROM_LETTER): Accept d and b for VIS.
+ 	(REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
+ 	(RTX_COSTS): Use TARGET_HARD_MUL.
+ 	(ADJUST_COST): Call ultrasparc_adjust_cost.
+ 	(ISSUE_RATE): New.
+ 	* sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
+ 	of load & fp appropriately.
+ 	(supersparc function units): Adjust for Haifa.
+ 	(ultrasparc function units): Likewise.
+ 	(get_pc_via_rdpc): All v9, not just arch64.
+ 	(movdi_v8plus, movdi_v8plus+1): New.
+ 	(adddi3_sp32+1): New.
+ 	(subdi3_sp32+1): New.
+ 	(movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
+ 	(addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
+ 	(and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
+ 	(xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
+ 	(one_cmpldi2_sp32, one_cmplsi2): Likewise.
+ 	(ldd peepholes): Suppress for v9.
+ 	(return_adddi): Kill redundant test.  Arg1 may be arith_operand.
+ 	(return_subsi): Revmove.
+ 
+ Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
+ 
+ 	* mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
+ 	save/restore MEM rtl.
+ 
+ Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Check for declaration of abort.
+ 	* acconfig.h: Corresponding changes.
+ 	* toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
+ 	be declared.
+ 
+ Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
+ 	uses it.
+ 
+ Thu Jan 29 09:27:56 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Check for atoq and atoll.
+ 	* rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
+ 	proper routine for converting ascii into long long values.
+ 
+ Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
+ 
+ 	* vmsconfig.com: Remove bytecode references.
+ 
+ 	* alpha/vms.h (PREFIX): Define.
+ 
+ 	* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
+ 
+ 	* am-alpha.h: Don't include alloca for OPEN_VMS.
+ 
+ 	* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
+ 
+ 	* alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
+ 	(GCC_INCLUDE_DIR): Define.
+ 
+ 	* make-cc.com, make-cccp.com, make-cc1.com: Removed.
+ 	* makefile.vms: New file.
+ 
+ 	* alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
+ 
+ 	* alpha.c (output_prolog): Output '.name' directive
+ 	for minimal traceback information.
+ 
+ 	* alpha.c (output_prolog): Don't prepend entry point symbols
+ 	with '$' on OPEN_VMS.
+ 
+ Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.c (read_rtx): Use atol/atoq based upon disposition of
+ 	HOST_WIDE_INT.
+ 
+ 	* genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
+ 	as needed.
+ 	* genemit.c (gen_exp): Likewise.
+ 	* genpeep.c (match_rtx): Likewise.
+ 	* genrecog.c (write_tree_1): Likewise.
+ 
+ 	* c-lex.c (yyprint): Use proper format string based upon
+ 	disposition of HOST_BITS_PER_WIDE_INT.
+ 	(yylex): Put casts in right place for args to build_int_2.
+ 
+ Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c: Fix typos in Jan27 changes.
+ 
+ Thu Jan 29 00:07:49 1998  Ollivier Robert  <roberto@keltia.freenix.fr>
+ 
+ 	* i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
+ 	(LINK_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 
+ 1998-01-28  Mike Stump  <mrs@wrs.com>
+ 
+ 	* rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
+ 	reload completes.
+ 	* genattrtab.c (reload_completed): Define.
+ 
+ 	* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
+ 	comments.
+ 
+ Wed Jan 28 20:11:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
+ 	SUBREG_REG if the word count is unchanged, also in the input reload
+ 	case.  Disable non-applicable sanity checks.
+ 
+ Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
+ 
+ Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
+ 
+ Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
+ 	is a TREE_VEC before trying to use it for baseclasses.
+ 	(Chill uses the same field for a different purpose.)
+ 
+ 	* toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
+ 
+ Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
+ 
+ 	* config.sub: More accurate determination of HP processor types.
+ 
+ Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
+ 	prototype for `handle_sysv_pragma', and make it static.  Add
+ 	parentheses around assignment used as truth value.
+ 
+ 	* combine.c (combine_instructions): Protect variable `prev' with
+ 	macro HAVE_cc0.
+ 	(can_combine_p): Protect variable `link' with AUTO_INC_DEC.
+ 	(extract_left_shift): Add parentheses around operand of &.
+ 	(merge_outer_ops): Avoid an empty body in an else-statement.
+ 	(gen_rtx_combine): Remove unused variable `i'.
+ 
+ 	* sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
+ 	function monstartup `void'.  Likewise for internal_mcount.  Add
+ 	`static void' prototype for moncontrol.  Reconcile sprintf format
+ 	vs. args.
+ 
+ 	* sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
+ 	Make return type of function_arg_slotno explicitly `int'.
+ 	(reg_unused_after): Add	parentheses around assignment used as
+ 	truth value.
+ 	(save_regs): Add explicit braces to avoid ambiguous `else'.
+ 	(function_arg_slotno): Add parentheses around && within ||.
+ 	(function_arg_pass_by_reference): Likewise.
+ 	(sparc_flat_output_function_prologue): Reconcile fprintf format
+ 	vs. args.
+ 
+ 	* svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
+ 	assignment used as truth value.
+ 
+ 	* cplus-dem.c: Include <stdlib.h>.
+ 	(demangle_signature): Avoid an empty body in an else-statement.
+ 	(do_type): Remove unused variable `lvl'.
+ 
+ 	* cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
+ 	Include <string.h>/<strings.h>.
+ 	(cpp_lex): Remove unused variable `namelen'.
+ 	(cpp_lex): Explicitly declare `num_chars' as an int.
+ 
+ 	* cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
+ 	<unistd.h> instead.  Explicitly declare is_system_include
+ 	returning int.
+ 	(make_assertion): Remove unused variable `kt'.
+ 	(cpp_expand_to_buffer): Hide variable `obuf'.
+ 	(output_line_command): Remove unused variables, `line_end',
+ 	`line_cmd_buf' and `len'.
+ 	(macarg): Remove unused variable `arg_start'.
+ 	(special_symbol): Remove unused variable `i'.  Add parentheses
+ 	around assignment used as truth value.
+ 	(do_include): Remove unused variables `pcfname' and `retried',
+ 	hide `pcf' and `pcfbuflimit'.
+ 	(do_line): Remove unused variable `i'.
+ 	(finclude): Hide variable `missing_newline'.
+ 	(cpp_handle_options): Remove unused variable `j'.
+ 	(read_token_list): Remove unused variable `eofp'.
+ 	(cpp_error_with_line): Remove unused variable `i'.
+ 	(cpp_warning_with_line): Likewise.
+ 	(cpp_pedwarn_with_line): Explicitly declare `column' as int.
+ 	(cpp_error_from_errno): Remove unused variable `i'.
+ 
+ 	* cse.c (invalidate): Add parentheses around assignment used as
+ 	truth value.
+ 	(find_best_addr): Move declaration of variable `our_cost' inside
+ 	the conditional macro where its used.
+ 	(fold_rtx): Avoid an empty body in an if-statement.
+ 	(cse_insn): Wrap variables  `this_insn_cc0_mode' and
+ 	`this_insn_cc0' in macro HAVE_cc0.
+ 
+ 	* dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
+ 	(ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
+ 	(output_uleb128): Likewise.
+ 	(output_sleb128): Likewise.
+ 	(output_cfi): Likewise.
+ 	(output_call_frame_info): Remove unused variables `j', `fde_size'
+ 	and `fde_pad'.
+ 	(comp_unit_has_inlines): Hide declaration as per rest of file.
+ 	(size_of_line_prolog): Correct typo in prototype.
+ 	(add_arange): Likewise.
+ 	(output_aranges): Likewise.
+ 	(add_name_and_src_coords_attributes): Likewise.
+ 	(gen_array_type_die): Likewise.
+ 	(gen_inlined_subroutine_die): Likewise.
+ 	(equate_decl_number_to_die): Remove unused variable `i'.
+ 	(print_die): Reconcile format vs. args in fprintf's.
+ 	(print_dwarf_line_table): Likewise.
+ 	(output_die): Likewise.
+ 	(output_line_info): Likewise.
+ 	(add_subscript_info): Avoid an empty body in an else-statement.
+ 	(gen_subprogram_die): Remove unused variable `fp_loc'.
+ 
+ 	* dwarfout.c: Explicitly declare `next_pubname_number' as int.
+ 	Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
+ 	macro.  Protect `src_coords_attribute' prototype with
+ 	DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
+ 	prototype as in the rest of the file.  Likewise for
+ 	`output_pointer_type_die' and `output_reference_type_die'.  Remove
+ 	prototype for `type_of_for_scope'.
+ 	(output_unsigned_leb128): Reconcile format vs. args in fprintf.
+ 	(type_attribute): Add explicit braces to avoid ambiguous `else'.
+ 
+ 	* final.c: Include <stdlib.h> and <string.h>/<strings.h>.
+ 	(shorten_branches): Protect declaration of tmp_length with
+ 	SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
+ 	(profile_function): Protect declaration of `sval' and `cxt'
+ 	variables with appropriate macros.
+ 	(final_scan_insn): Likewise for `note' variable.  Add explicit
+ 	braces to avoid empty body in an if-statement.
+ 	(output_asm_insn): Move variable `i' inside macro conditional
+ 	where it is used.  Add parentheses around assignment used as truth
+ 	value.
+ 	(asm_fprintf): Likewise, likewise.
+ 
+ 	* fix-header.c (main): Remove unused variable `done'.  Protect
+ 	declaration of `i' with FIXPROTO_IGNORE_LIST.
+ 
+ 	* pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
+ 
+ 	* print-rtl.c (print_inline_rtx): Explicitly declare the parameter
+ 	`ind'.
+ 
+ 	* profile.c: Include <string.h>/<strings.h>.
+ 	(instrument_arcs): Remove unused variables `note', `inverted',
+ 	`zero' and `neg_one'.
+ 	(branch_prob): Avoid empty body in an if-statement.
+ 
+ 	* regclass.c: Include <stdlib.h>.
+ 	(reg_alternate_class): Explicitly declare parameter `regno'.
+ 
+ 	* regmove.c (regmove_optimize): Remove unused variable `p'.  Add
+ 	parentheses around assignment used as truth value.
+ 	(find_matches): Remove unused variables `output_operand' and
+ 	`matching_operand'.
+ 	(fixup_match_1): Remove statement with no effect: "if (0) ;".
+ 
+ 	* scan.c (sstring_append): Explicitly declare `count' as int.
+ 	(scan_string): Explicitly declare parameter `init' as int.
+ 
+ 	* sched.c: Include <stdlib.h>.
+ 	(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
+ 	(rank_for_schedule): Add parentheses around assignment used as
+ 	truth value.
+ 	(schedule_block): Likewise.
+ 	(regno_use_in): Likewise.
+ 	(schedule_insns): Remove unused variable `i'.
+ 
+ 	* toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
+ 	(v_message_with_decl): Remove unused variable `n'.
+ 	(botch): Explicitly declare parameter `s' as char *.
+ 	(main): Add parentheses around assignment used as truth value.
+ 
+ 	* tree.c (make_node): Protect the variable `kind' with the
+ 	GATHER_STATISTICS macro.
+ 	(real_value_from_int_cst): Move variable `e' inside conditional
+ 	macro area where it is used.
+ 	(tree_last): Add parentheses around assignment used as truth value.
+ 	(build1): Protect the variable `kind' with the GATHER_STATISTICS
+ 	macro.
+ 	(print_obstack_statistics): Reconcile format vs. args in fprintf.
+ 	Protect variables `i', `total_nodes', and `total_bytes' with the
+ 	GATHER_STATISTICS macro.
+ 
+ Tue Jan 27 23:01:55 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
+ 	some comments regarding use of dead_or_set_p.
+ 
+ Tue Jan 27 22:14:48 1998  Todd Vierling  <tv@pobox.com>
+ 
+ 	* fixincludes: Tweak fix for struct exception in math.h
+ 
+ Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
+ 
+ 	* mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
+ 	Change mode of registers used to add/sub from
+ 	hard_frame_pointer_rtx from word_mode to Pmode.
+ 
+ Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
+ 	asm_output_aligned_bss() instead of asm_output_bss().
+ 
+ 	* toplev.c (rest_of_compilation): Replace references to
+ 	stack_reg_dump_file and dbr_sched_dump_file with references to
+ 	rtl_dump_file.
+ 
+ Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
+ 
+ 	* tlink.c (scan_linker_output): Call fclose() for opened files.
+ 
+ Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (output_epilog [!VMS]): Don't tag global functions if
+ 	compiling with -fpic -- we want to be able to override symbols
+ 	properly.
+ 	(alpha_expand_block_move): Fix thinko in last change.
+ 
+ 	* alpha.h (ASM_OUTPUT_MI_THUNK): New define.
+ 	* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
+ 	* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
+ 
+ Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (abssf, absdf): Revert last change.
+ 
+ Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
+ 	* mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
+ 
+ Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Handle more case where converting
+ 	a CONST_INT into SFmode.
+ 
+ Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
+ 
+ 	* flags.h: New flag (optimize_size).
+ 	* toplev.c (main): Parse -Os option and set optimize_space
+ 	accordingly.
+ 	* gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
+ 	__OPTIMIZE_SIZE__ when compiling with -Os.
+ 	* config/dsp16xx/dsp16xx.h, config/i386/i386.h,
+ 	config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
+ 	config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
+ 	to macro.
+ 	* config/i386/i386.c (optimization_options): Accept new SIZE argument.
+ 
+ Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
+ 	stuff only if MCT_TEXT is #define'd.
+ 
+ Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer  <k3040e4@c210.edvz.uni-linz.ac.at>
+ 
+ 	* configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
+ 	configurations.
+ 
+ Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c: Add -dM command line option to dump RTL after the
+ 	machine dependent reorganization pass, if there is one.
+ 	Reorganize RTL dump code, so that only one file handle is
+ 	needed.
+ 
+ Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
+ 
+ 	* except.c (check_exception_handler_labels): Disable warning when
+ 	flag_syntax_only.
+ 
+ Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
+ 
+ Mon Jan 26 18:11:30 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Get parameter tags from
+ 	last_function_parm_tags.
+ 	* dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
+ 	traversing the parameter types.
+ 	(output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
+ 
+ Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
+ 	the default case.
+ 	(get_shift_alg): Fix typo.
+ 
+ Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
+ 
+ Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (get_run_time): Make sure each case gets its variables.
+ 
+ Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (build_xm_file): Add auto-config.h if host=build.
+ 	(host_xm_file_list): Don't add $(srcdir) to auto-config.h.
+ 	(build_xm_file_list): Likewise.
+ 	* configure: Rebuild.
+ 
+ Sun Jan 25 22:00:25 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+ 
+ 	* recog.c (validate_replace_rtx_1): Only perform substitutions
+ 	of arguments to commutative and comparison operators once.
+ 
+ Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (output_cbranch): Add default case in
+ 	enumeration switch.
+ 
+ 	* reorg.c (insn_sets_resource_p): Correct typo in prototype.
+ 	(emit_delay_sequence): Eliminate unused parameter, all callers
+ 	changed.
+ 	(fill_simple_delay_slots): Likewise.
+ 	(fill_slots_from_thread): Likewise.
+ 	(fill_eager_delay_slots): Likewise.
+ 	(mark_referenced_resources): Add default case in enumeration switch.
+ 	(mark_set_resources): Likewise.
+ 	(rare_destination): Likewise.
+ 	(mostly_true_jump): Likewise.
+ 	(find_dead_or_set_registers): Likewise.
+ 	(redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
+ 	(update_reg_unused_notes): Remove unused variable `p'.
+ 	(mark_target_live_regs): Remove unused variables `next' and
+ 	`jump_count'.
+ 	(fill_simple_delay_slots): Remove unused variable `j'.
+ 	(fill_slots_from_thread): Add parentheses around assignment used
+ 	as truth value.
+ 	(dbr_schedule): Likewise.
+ 
+ 	* objc/Make-lang.in (objc.stage1): Depend on stage1-start.
+ 	(objc.stage2, objc.stage3, objc.stage4): Likewise.
+ 
+ Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
+ 
+ 	* cse.c (simplify_ternary_operation): Don't try to simplify
+ 	IF_THEN_ELSE expressions (created by combine) that don't use
+ 	relational operators.
+ 
+ Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
+ 	simplifications.
+ 
+ 	* crtstuff.c (init_dummy): Keep the epilogue in the init
+ 	section for non-ELF systems.
+ 
+ Fri Jan 23 23:28:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (movqi_i+1): New peephole.
+ 
+ Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in: Remove remaining bytecode stuff.
+ 	* emit-rtl.c, expr.c: Likewise.
+ 
+ Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
+ 
+ 	* toplev.c (lang_options): Add unknown-pragma options.
+ 
+ Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* dwarfout.c (byte_size_attribute): Simplify and fix - don't need
+ 	special (and incomplete) handling for Chill arrays.
+ 
+ Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
+ 	to get clock rate.
+ 
+ Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
+ 
+ 	* mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
+ 
+ 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
+ 
+ 	* mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
+ 	.frame directive instead of FRAME_POINTER_REGNUM.
+ 
+ Fri Jan 23 00:08:55 1998  Robin Kirkham  <rjk@mlb.dmt.csiro.au>
+ 
+ 	* m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
+ 	(MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
+ 	* m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
+ 	(CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
+ 	(CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
+ 	* m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
+ 	(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
+ 	(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
+ 	mcpu32 or m5200.
+ 	* longlong.h: Replace __mc68332__ with __mcpu32__.
+ 
+ Thu Jan 22 19:55:40 1998  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
+ 	to require the SUBREG mode to be smaller than the SUBREG_REG mode.
+ 	* reload1.c (eliminate_regs): Likewise.
+ 
+ Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regmove.c (find_matches): Initialize matches->earlyclobber too.
+ 
+ Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (abssf2, absdf2): Disable in IEEE mode.
+ 	(negsf2, negdf2): Use proper subtract in IEEE mode.
+ 
+ Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in: Remove more bytecode stuff.
+ 	* expr.c, stmt.c, config/msdos/top.sed: Likewise.
+ 	* vax/xm-vms.h, winnt/config-nt.sed: Likewise.
+ 	* f/install.texi, objc/Make-lang.in: Likewise.
+ 
+ 	* Makefile.in: Remove all bytecode support.
+ 	(OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
+ 	* emit-rtl.c: Remove all bytecode support.
+ 	* expr.c, expr.h function.c, integrate.c: Likewise.
+ 	* output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
+ 	* tree.h, varasm.c: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* bi-*, bc-*, bytecode*: Delete bytecode related files.
+ 	* modemap.def: Likewise.
+ 
+ Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
+ 
+ 	* mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
+ 	umodsi3,umoddi3): Handle mips16 div/mod by a constant.
+ 
+ Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (push): Prohibit symbolic constants if flag_pic.
+ 	(movsi+1): Likewise for move to non-register.
+ 
+ Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
+ 	(print_operand): Handle 0xffffffff on 32 bit host.
+ 
+ 	* configure.in (thread_file): Rename uses before main loop to
+ 	target_thread_file.  Initialize to empty in main loop.  Set thread_file
+ 	to target_thread_file after main loop if not set.
+ 	* configure: Rebuild.
+ 
+ 	* genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
+ 	(add_values_to_cover): Revert last change (which had no ChangeLog
+ 	entry).
+ 	(simplify_with_current_value_aux): Handle CONST_INT.
+ 
+ Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* unprotoize.c: Define UNPROTOIZE first, to actually take effect.
+ 
+ Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Add cpp stringify test.
+ 	* acconfig.h (HAVE_CPP_STRINGIFY): New tag.
+ 	* gengenrtl.c: Use it.
+ 	* configure, config.in: Rebuild.
+ 
+ Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+ 
+ 	* Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
+ 
+ Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Find declaration for sbrk.
+ 	* acconfig.h (NEED_DECLARATION_SBRK): New tag.
+ 	* config.in, configure: Rebuild.
+ 	* mips-tfile.c: Properly protect declaration of sbrk and free.
+ 	* toplev.c: Properly protect declaration of sbrk.
+ 
+ Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
+ 
+ Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
+ 
+ Sun Jan 18 00:57:35 1998  Mike Stump  <mrs@wrs.com>
+ 
+ 	* configure.in (i960-wrs-vxworks): Default to latest vxworks release.
+ 
+ Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
+ 
+ 	* combine.c (force_to_mode, nonzero_bits): Correctly optimize
+ 	constant offset computations from objects with known alignment in
+ 	the presence of STACK_BIAS.
+ 
+ 	* varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
+ 	necessary.
+ 	(const_hash): Hash val is unsigned long.
+ 	(SYMHASH): Likewise.
+ 
+ 	* tree.c (TYPE_HASH): Type of hash val is unsigned long.
+ 
+ 	* print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
+ 	char pointer, not HOST_WIDE_INT.
+ 	(print_node): Likewise.  Also hash is unsigned long not
+ 	HOST_WIDE_INT.
+ 
+ 	* cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
+ 
+ 	* explow.c (optimize_save_area_alloca): New function for targets
+ 	where SETJMP_VIA_SAVE_AREA is true.
+ 	(allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
+ 	compute the amount of stack space needed should we find later that
+ 	setjmp is never called by this function, stuff rtl for this inside
+ 	a REG_NOTE of the final SET of stack_pointer_rtx.
+ 	* toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
+ 	current_function_calls_alloca, call optimize_save_area_alloca.
+ 
+ Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
+ 
+ 	* i386.md: Remove redundant integer push patterns.
+ 	Don't bother checking for TARGET_PUSH_MEMORY when
+ 	pushing constants or registers.
+ 
+ Sat Jan 17 22:35:39 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 			  J.J VanderHeijden  <J.J.vanderHeijden@student.utwente.nl>
+ 
+ 	* pexecute.c (pexecute): New function for mingw32. Supports pipes.
+ 	(pwait): New function for mingw32.
+ 
+ 	* gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
+ 	pipe support is broken for now.
+ 
+ 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
+ 
+ 	* emit_rtl.c (init_emit_once): Ensure that potential aliasing
+ 	between frame_pointer_rtx, hard_frame_pointer_rtx, and
+ 	arg_pointer_rtx is respected in initialization.
+ 	(init_emit_once): Use gen_rtx_raw_REG() to create
+ 	return_address_pointer_rtx.
+ 
+ 	* reorg.c: #include "expr.h" for rtx prototypes.
+ 	* Makefile.in (reorg.o): Depend on expr.h
+ 
+ Sat Jan 17 21:28:08 1998  Pieter Nagel  <pnagel@epiuse.co.za>
+ 
+ 	* Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
+ 	local_prefix to sub-make invocations.
+ 
+ Sat Jan 17 21:24:16 1998  David T. McWherter  <dtm@waterw.com>
+ 
+ 	* objc-parse.c: Recognize protocol qualifiers in class definitions.
+ 
+ Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.h: Fix typos.
+ 
+ 	* acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
+ 	* configure.in: Check for atol.
+ 	* rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
+ 
+ 	* rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
+ 
+ 	* loop.c (find_and_verify_loops): When attempting to move insns from
+ 	inside the loop outside the loop, create a BARRIER if no suitable
+ 	one was found.
+ 
+ 	* jump.c (jump_optimize): Remove Dec 17, 1997 chance in
+ 	favor of an equivalent change from gcc-2.8.
+ 
+ 	* i386/x-sco5 (CC): Remove trailing whitespace.
+ 
+ Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gengenrtl.c (type_from_format): De-ANSIfy function signature.
+ 	(accessor_from_format): Likewise.
+ 	(xmalloc): New function for use when linking with alloca.o.
+ 
+ Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* frame.c (find_fde): Correct FDE's upper bound.
+ 
+ Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
+ 
+ Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (expand_call): Move #ifdef code out of macro argument
+ 	lists.
+ 	(emit_library_call, emit_library_call_value): Likewise.
+ 
+ Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
+ 
+ Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
+ 	change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
+ 	* caller-save.c, calls.c, combine.c, cse.c: Likewise.
+ 	* dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
+ 	* final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
+ 	* halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
+ 	* profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
+ 	* reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
+ 	* unroll.c, varasm.c: Likewise.
+ 	* config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
+ 
+ Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
+ 
+ 	* mips.h: Fix some type-o's from a previous change.
+ 
+ Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (check_dbra_loop): Make sure initial value is a
+ 	CONST_INT before trying to normalize it.
+ 
+ Tue Jan 13 23:27:54 1998  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
+ 
+ Tue Jan 13 22:47:02 1998  Herman ten Brugge  <herman@htbrug.net.HCC.nl>
+ 
+ 	* cppexp.c: Include gansidecl.h
+ 
+ Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
+ 
+ 	* svr4.h (LINK_SPEC): Never specify -h.
+ 	* ptx4.h (LINK_SPEC): Likewise.
+ 	* rs6000/sysv4.h (LINK_SPEC): Likewise.
+ 	* sparc/sol2.h (LINK_SPEC): Likewise.
+ 
+ Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
+ 
+ 	* c-typeck.c (comptypes): Exit early on NULL input.
+ 
+ 	* haifa-sched.c (schedule_insns): Correctly remove inter-block
+ 	dependencies after reload.
+ 
+ Tue Jan 13 22:22:31 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
+ 
+ Tue Jan 13 22:14:57 1998  Klaus Kaempf  <kkaempf@progis.de>
+ 
+ 	* alpha/vms.h (DIR_SEPARATOR): Define.
+ 
+ Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
+ 
+ 	* Makefile.in (stamp-proto): Remove.
+ 	(protoize.o, unprotoize.o): Straightforward compile.
+ 	* unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
+ 
+ Tue Jan 13 21:59:39 1998  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
+ 	off the trailing @[NUM] added by ENCODE_SECTION_INFO.
+ 
+ Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
+ 	* i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
+ 	* sparc/netbsd.h, vax/netbsd.h: Likewise.
+ 
+ Tue Jan 13 21:37:07 1998  Shigeya Suzuki  <shigeya@foretune.co.jp>
+ 
+ 	* i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
+ 
+ Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (target_cpu_default, target_cpu_default2): Use double
+ 	quotes around them when testing their value.
+ 	* configure: Rebuilt.
+ 
+ Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
+ 
+ 	* gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
+ 	to allocate rtx.
+ 	(gendef): Call obstack_alloc_rtx.
+ 
+ Tue Jan 13 01:16:36 1998  Robert Lipe  (robertl@dgii.com)
+ 
+ 	* configure.in (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
+ 	for now.
+ 
+ Thu Dec 18 18:40:17 1997  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
+ 	of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
+ 	(STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
+ 
+ Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips.md (return_internal): Change mode from SImode to VOIDmode.
+ 
+ Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
+ 
+ 	* i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
+ 	"-static".
+ 
+ Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
+ 
+ 	* i386.md (movsicc_1, movhicc_1): For alternate 3 set the opcode
+ 	suffix from operand 3.
+ 
+ Sat Jan 10 21:50:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regmove.c: New implementation of regmove pass.
+ 	* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
+ 	decls, make them have external linkage.  Return a value from
+ 	optimize_reg_copy_1.
+ 	* reload.h (count_occurrences): Add decl.
+ 	* reload1.c (count_occurrences): Delete decl, make it have external
+ 	linkage.
+ 	* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
+ 
+ Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
+ 	if it is not defined.
+ 
+ Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
+ 	* emit-rtl.c (gen_rtx): Move special code to ...
+ 	(gen_rtx_CONST_INT): New function.
+ 	(gen_rtx_REG): New function.
+ 	(*): Update all calls to gen_rtx.
+ 	* genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
+ 	* rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
+ 	(GEN_INT): Call gen_rtx_CONST_INT.
+ 	* gengenrtl.c: New file.
+ 
+ Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
+ 
+ 	* alias.c (*_dependence): Call base_alias_check before canon_rtx.
+ 	(base_alias_check): If no base found for address call canon_rtx and
+ 	try again.
+ 
+ Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.c (mips_expand_prologue): Handle large frame with no outgoing
+ 	arguments for mips16.
+ 	(mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
+ 	Don't lose if tsize is zero after handling large stack for mips16.
+ 	* mips.md (return): For trivial return, return address is in $31.
+ 
+ Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
+ 
+ 	*  mips/mips16.S: Various changes to make it work with -msingle-float
+ 	and -EL.
+ 
+ Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
+ 			  Ian Lance Taylor  <ian@cygnus.com>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* mips.c, mips.h, mips.md: First cut at merging in mips16
+ 	support.  Major modifications throughout all three files.
+ 
+ Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
+ 
+ 	* configure.in: Make gthr-default.h a forwarding header instead of
+ 	a symlink.
+ 
+ Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcov-io.h: Include sys/types.h to ensure we get size_t.
+ 
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
+ 
+ Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* crtstuff.c (__frame_dummy): New function for irix6.
+ 	(__do_global_ctors): Call __frame_dummy for irix6.
+ 	* iris6.h (LINK_SPEC): Hide __frame_dummy too.
+ 
+ Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
+ 
+ 	* alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
+ 
+ Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (init_decl_processing): Provide proper fallback symbol
+ 	for __builtin_memset.
+ 	* expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
+ 	not INTEGER_CST.  Assert arg 3 is a constant.
+ 
+ 	* alpha.c (mode_width_operand): Accept 64-bit modes.
+ 	(mode_mask_operand): Likewise.
+ 	(print_operand): Likewise for 'M' and 'U' codes.
+ 	(alpha_expand_unaligned_load): New function.
+ 	(alpha_expand_unaligned_store): Likewise.
+ 	(alpha_expand_unaligned_load_words): Likewise.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 	(alpha_expand_block_move): Likewise.
+ 	(alpha_expand_block_clear): Likewise.
+ 	* alpha.h (MOVE_RATIO): New define.
+ 	* alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
+ 	(insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
+ 
+ 	* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
+ 	(CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
+ 
+ Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
+ 	* configure: Update.
+ 
+ Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (operand_subword): Correctly handle extracting a word
+ 	from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
+ 
+ 	* mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
+ 	for first argument.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-1999 gcc-4.1.0/gcc/ChangeLog-1999
*** gcc-4.0.2/gcc/ChangeLog-1999	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-1999	Mon Mar  7 16:19:38 2005
***************
*** 0 ****
--- 1,21786 ----
+ Fri Dec 31 19:10:31 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (update_temp_slot_address): Handle case where sum of
+ 	temporary address plus offset in register is a valid address.
+ 
+ 1999-12-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* genrecog.c (change_state) Corrected typo.
+ 
+ 1999-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
+ 	getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
+ 	strerror, getrlimit, setrlimit, abort): Add prototype arguments.
+ 
+ 1999-12-30  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* i386.c (ix86_expand_fp_compare): In non-sahf non-TARGET_IEEE
+ 	case, expand GT comparisons correctly.  Fix a comment before this
+ 	part of the code.
+ 
+ 1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
+ 
+ 	* dwarfout.c: Include "frame.h"
+ 	* dwarf2out.c: Likewise.
+ 	* Makefile.in (dwarfout.o): Depend on frame.h
+ 	(dwarf2out.o): Likewise.
+ 
+ 1999-12-29  "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
+ 
+ 	Restore i386 binary compatibility in Dwarf EH info.
+ 	* config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
+ 	value of FIRST_PSEUDO_REGISTER.
+ 	* frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
+ 	(struct frame_state): Use DWARF_FRAME_REGISTERS.
+ 	* dwarfout.c (output_reg_number): Ditto.
+ 	* dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
+ 	(DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.
+ 
+ 1999-12-29  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK
+ 	* fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once
+ 	(<hack>_RE_CT): not needed
+ 	* fixinc/fixlib.c(is_cxx_header): moved from fixtests.c
+ 	rewritten to scan the file text once only
+ 	"template<..." test added
+ 	* fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c
+ 	(is_cxx_header): declaration added
+ 	* fixinc/fixtests.c(is_cxx_header): removed
+ 	(apply_fix_p_t): removed
+ 	(double_slash_test): is_cxx_header is only called once now
+ 	* fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG
+ 	* fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state
+ 	within the templates.
+ 	The borken spelling of "broken" was fixed.
+ 	* fixinc/inclhack.tpl: The $VERBOSE level is used on various messages
+ 	The default level depends on FIXINC_DEBUG.
+ 
+ 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
+ 	Otherwise provide a declaration for atexit.
+ 	(init_dummy): Make sure dummy call to atexit is nevertheless
+ 	called with correct number of args.
+ 
+ 	* frame.c: Update comments referring to other files.
+ 
+ 	* libgcc2.c: Likewise.
+ 
+ 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (free_element, get_element): Remove unused prototypes.
+ 
+ 	* fold-const.c (extract_muldiv): Initialize variables `op0' and
+ 	`op1'.
+ 
+ 	* jump.c (invert_exp): Add explicit braces to avoid ambiguous
+ 	`else' clauses.
+ 
+ Wed Dec 29 12:44:54 1999  Donald Lindsay  <dlindsay@cygnus.com>
+ 
+ 	* configure.in,configure: case arm for mn10200-*-* now sets
+ 	float_format=i32 so that float.h will correctly claim "double"
+ 	to be 32 bits. Ran autoconf to generate configure from .in file.
+ 
+ Wed Dec 29 10:53:21 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (conditional zero): If op1 is a register, force it into
+ 	the same register as op0.
+ 
+ 1999-12-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (BINFO_BASETYPES): Improve documentation.
+ 
+ 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (--enable-checking): Use a more portable `for'
+ 	loop syntax.
+ 
+ 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
+ 	arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.
+ 
+ 	* xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
+ 	Delete files.
+ 
+ 	* gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
+ 	Delete descriptions.
+ 
+ 	* i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
+ 	m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
+ 	m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
+ 	pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
+ 	xm-svr4.h: Remove all instances of sys_siglist handling.
+ 
+ 1999-12-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (cmp_zero_qi,
+ 	cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
+ 	cmp_zero_extendqidi2_andcc_set): New patterns.
+ 
+ 1999-12-28  Manfred Hollstein  <mhollstein@cygnus.com>
+ 
+ 	* m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
+ 	(LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
+ 	(fpgnulib.c, xfgnulib.c): Add rules.
+ 	* m68k/t-mot3300-gas: Likewise.
+ 
+ 1999-12-27  Ian Lance Taylor  <ian@zembu.com>
+ 
+ 	* configure.in: Avoid [[ by using test and changequote.  Add
+ 	changequote required by 1999-12-14 change.
+ 	* configure: Rebuild.
+ 
+ 1999-12-27  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
+ 
+ 1999-12-27  Christophe Jaillet  <jaillet.christophe@caramail.com>
+ 
+ 	* alias.c (nonlocal_reference_p): Add else for disjoint ifs.
+ 	* flow.c (find_use_as_address): Likewise.
+ 	* function.c (fixup_var_refs_1): Likewise.
+ 	(walk_fixup_memory_subreg, fixup_stack_1): Likewise.
+ 	* jump.c (invert_exp, redirect_exp): Likewise.
+ 	* loop.c (replace_call_address): Likewise.
+ 	(count_nonfixed_reads): Likewise.
+ 	* rtlanal.c (modified_between_p): Likewise.
+ 	(modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
+ 	(side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
+ 	* unroll.c (remap_split_bivs): Likewise.
+ 
+ 1999-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* diagnostic.c (v_message_with_decl): Use .* format specifier
+ 	instead of building the format specifier width manually.
+ 
+ 	* system.h (strsignal): Don't check HAVE_STRSIGNAL when
+ 	determining whether to provide a prototype.  Remove the
+ 	sys_siglist clause in the conditional.
+ 
+ 1999-12-23  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* fold-const.c (operand_equal_p): Use memcmp to compare string
+ 	constants.
+ 	Suggested by D. J. Bernstein
+ 
+ 1999-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
+ 	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
+ 	compiling libgcc2.
+ 	* config/mips/mips.h (TARGET_64BIT): Likewise.
+ 	* config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
+ 	* libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
+ 	of {SI,DI}type and DIunion.  Define these types to QI/HI modes on
+ 	dsps.  Give routines proper names if SI/DI modes are not used.
+ 	* longlong.h: Use DWunion instead of DIunion.
+ 
+ 1999-12-26  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
+ 	GC_CHECKING, GC_ALWAYS_COLLECT.
+ 	* configure.in: Allow --enable-checking with an argument
+ 	listing check modes to enable.
+ 	* config.in, configure: Rebuilt.
+ 	* ggc-page.c, ggc-simple.c: Define GGC_POISON (and
+ 	GGC_ALWAYS_VERIFY for ggc-simple.c) only if
+ 	ENABLE_GC_CHECKING.  Define GGC_ALWAYS_COLLECT only if
+ 	ENABLE_GC_ALWAYS_COLLECT.
+ 	* rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
+ 	throughout.
+ 	* tree.h, tree.c: Change ENABLE_CHECKING to
+ 	ENABLE_TREE_CHECKING throughout.
+ 
+ Sun Dec 26 07:48:20 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (fold_truthop): Properly check for FP RHS.
+ 
+ 1999-12-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.h (note_deferall_of_defined_inline_function): Declare.
+ 	* toplev.c (note_deferral_of_defined_inline_function): New
+ 	function, split out from ...
+ 	(rest_of_compilation): ... here.  Use it.
+ 
+ Fri Dec 24 12:34:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): Don't call clear_storage if size is
+ 	variable.
+ 
+ 1999-12-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o): Depend on loop.h.
+ 
+ 	* dwarfout.c: Include tm_p.h.
+ 
+ 	* emit-rtl.c (restore_emit_status): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* final.c (final_scan_insn): Likewise.
+ 
+ 	* flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
+ 	flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
+ 	flow_depth_first_order_compute, flow_loop_pre_header_find,
+ 	flow_loop_tree_node_add, flow_loops_tree_build,
+ 	flow_loop_level_compute, flow_loops_level_compute,
+ 	flow_loop_outside_edge_p): Add prototypes.
+ 	(recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
+ 
+ 	* ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
+ 	Mark with ATTRIBUTE_NORETURN.
+ 
+ 	* hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* local-alloc.c (no_conflict_p): Likewise.
+ 
+ 	* loop.c (insert_bct): Hide definitions of variables with hidden
+ 	usage.
+ 	(note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* regclass.c (memory_move_secondary_cost): Mark variable `mem'
+ 	with ATTRIBUTE_UNUSED.
+ 	(record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
+ 	(reg_scan): Likewise.
+ 
+ 	* reload.c (find_reloads): Remove unused variables `changed'.
+ 
+ 	* reload1.c (reload_reg_class_lower): Don't unnecessarily cast
+ 	away const-ness.
+ 	(allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
+ 	Remove unused variable `insn'.
+ 
+ 	* toplev.c: Include loop.h.
+ 	(report_file_and_line): Remove unnecessary prototype.
+ 
+ 	* tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* unroll.c (biv_total_increment): Likewise.
+ 
+ Thu Dec 23 23:15:22 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_input_reload_insns): Restore old behavior
+ 	wrt. 'special' reloads.
+ 
+ 1999-12-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on
+ 	hash.h.  (cse.c): Don't depend on hashtab.h.
+ 
+ 	* cse.c: Don't include hashtab.h.
+ 	(hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes
+ 	of dead functions.
+ 	* ggc-simple.c: Don't include hash.h.
+ 
+ 1999-12-22  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Call
+ 	gen_abstract_function on our function context.
+ 
+ Thu Dec 23 03:57:10 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
+ 
+ 1999-12-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_address_cost): Add statement to default
+ 	case in switch.
+ 
+ 1999-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0
+ 	constraints to "a!r".
+ 
+ 1999-12-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (calls.o): Depend on function.h.
+ 	(alias.o): Likewise.
+ 
+ 1999-12-21  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_reload_insns): Break out code and variables into...
+ 	(input_reload_insns, other_input_address_reload_insns,
+ 	other_input_reload_insns, input_address_reload_insns,
+ 	inpaddr_address_reload_insns, output_reload_insns,
+ 	output_address_reload_insns, outaddr_address_reload_insns,
+ 	operand_reload_insns, other_operand_reload_insns,
+ 	other_output_reload_insns): ... new static variables, and...
+ 	(emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
+ 	do_output_reload): ... new functions.
+ 
+ Tue Dec 21 07:06:36 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
+ 
+ 1999-12-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* md.texi: Add c4x constraints documentation.
+ 
+ 1999-12-21  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* config/i386/dgux.c (struct option): Rename to
+ 	lang_independent_option.
+ 	(struct m_options): Add description field.
+ 	(output_options): Rename option type, add sep declaration, output
+ 	ix86_cpu_string and ix86_arch_string only if set.
+ 	(output_file_start): Rename option type.
+ 
+ Mon Dec 20 23:15:36 1999  Mike Stump  <mrs@wrs.com>
+ 
+ 	* Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
+ 	stmp-int-hdrs.
+ 	(libgcc2.a): Similarly.
+ 
+ Mon Dec 20 23:06:47 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
+ 	with W_TYPE_SIZE == 32.  Do not fall through to POWER architecture
+ 	for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
+ 
+ Mon Dec 20 23:02:03 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
+ 	Remove redundant initialization of "frexpon" and "expon".
+ 
+ Mon Dec 20 15:00:04 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
+ 
+ 	* expr.c (store_constructor): New argument SIZE; pass to clear_storage.
+ 	(store_constructor_field, expand_expr): Pass new arg.
+ 
+ 1999-12-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (explow.o): Depend on function.h.
+ 
+ 	* stor-layout.c (set_sizetype): Fix typo.
+ 
+ 1999-12-20  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* function.c (cfun): Renamed from current_function.  All users
+ 	changed.
+ 	* function.h (cfun): Rename declaration as well.
+ 
+ 	* reload.h (struct insn_chain): Change live_throughout and dead_or_set
+ 	to be of type regset_head, not regset.  All users changed by adding
+ 	address operator.
+ 	* reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
+ 
+ 1999-12-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/rtems.h: New file.
+ 
+ 1999-12-19  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (spill_failure): Take class of failed reload as argument
+ 	and print it.  Caller changed.
+ 
+ Sun Dec 19 07:50:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rs6000.h (SUBTARGET_DEFAULT): New macro.
+ 	(TARGET_SWITCHES): Allow subtargets to default switches.
+ 	* rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
+ 
+ 1999-12-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
+ 	in a main program.
+ 
+ Sat Dec 18 20:42:43 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cccp.c (main): Define __STDC_VERSION__ as necessary.
+ 	* cppinit.c (cpp_handle_option): Likewise.
+ 
+ 	* ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
+ 	determine when to define.
+ 
+ Sat Dec 18 20:34:00 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
+ 	cmove with mismatched test and data modes.
+ 
+ Sat Dec 18 20:30:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (c_expand_start_case): Don't warn for long switch
+ 	in system headers.
+ 
+ Sat Dec 18 16:28:43 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c: Minor reformatting.
+ 	* flow.c: Likewise.
+ 	* regs.h: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	(OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
+ 	(struct cb_args, const_binop_1, const_binop): Pass type of arg,
+ 	not arg itself.
+ 	(size_int_wide): Cache nodes even if garbage collecting.
+ 	(twoval_comparison_p): Reenable SAVE_EXPR case if operand
+ 	of SAVE_EXPR has no side effects.
+ 	* cse.c: Move a comment.
+ 	* tree.c: Minor reformatting.
+ 	(int_size_in_bytes): Return -1 if constant overflows.
+ 
+ Sat Dec 18 18:30:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
+ 
+ 1999-12-18 10:42 -0800  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* objc/objc-parse.c: Regenerate.  This file must be rebuilt
+ 	after any change to c-parse.in, even if objc-parse.y didn't
+ 	change.  Oops.
+ 
+ 1999-12-18  David S. Miller  <davem@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Restore BLOCK tree
+ 	reconstruction and branch shortening changes lost in
+ 	December 18th change.
+ 
+ Sat Dec 18 05:29:29 1999  Scott Bambrough  <scottb@netwinder.org>
+ 
+ 	* config/arm/linux-elf.h: Change all instances of
+ 	ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
+ 	* config/arm/uclinux-elf.h: Likewise.
+ 
+ 1999-12-18 Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.c (notice, vmessage, v_message_with_file_and_line,
+ 	v_message_with_decl, file_and_line_for_asm,
+ 	v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
+ 	verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
+ 	v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
+ 	v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
+ 	pfatal_with_name, fatal_io_error, need_error_newline,
+ 	last_error_function, last_error_tick, announce_function,
+ 	default_print_error_function, print_error_function,
+ 	report_error_function, fnotice, error_with_file_and_line,
+ 	error_with_decl, error_for_asm, error, set_fatal_function, fatal,
+ 	_fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
+ 	warning_with_decl, warning_for_asm, warning, pedwarn,
+ 	pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
+ 	diagnostic.c
+ 	(compile_file): Use fnotice instead of notice.  Adjust call.
+ 
+ 	* diagnostic.c: New file.
+ 
+ 	* Makefile.in (OBJS): Include diagnostic.o
+ 	(diagnostic.o): Define dependence.
+ 
+ 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
+ 	Tweak formatting.
+ 
+ 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
+ 
+ 1999-12-17 13:21 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* fixtests.c (is_cxx_header): New fn, split out of
+ 	double_slash_test.
+ 	(else_endif_label): Allow "#endif // comment" in C++ headers,
+ 	as determined by is_cxx_header.
+ 	* fixfixes.c (else_endif_label_fix): Update comment.
+ 	* fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
+ 	a tty.
+ 	* genfixes: Correct double thinko in commandline parsing.
+ 	* hackshell.tpl: Generate correct sh syntax for bypass
+ 	entries.
+ 
+ 	* inclhack.def (all): Whenever an inserted preprocessor
+ 	conditional is split over multiple lines, use double
+ 	backslashes in this file so the fixed header will be readable.
+ 
+ 	(AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
+ 	and add bypass entry for correct version of this header.
+ 	(AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
+ 	(AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
+ 
+ 	(hpux8_bogus_inlines): New fix, split from...
+ 	(ultrix_atof_param) ... here.
+ 	(math_expression): Add bypass entry keyed to glibc comment
+ 	indicating the problem has been dealt with; disable
+ 	unnecessary sed operations; update commentary.
+ 	(math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
+ 	add select and bypass entries, simplify shell operation.
+ 	(math_huge_val_ifndef): Split from math_gcc_ifndefs.
+ 
+ 	(ip_missing_semi, rs6000_param, tinfo_cplusplus,
+ 	 ultrix_atof_param): Add select entry.
+ 	(stdio_va_list, sunos_mather_decl): Add bypass entry.
+ 	(systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
+ 	comments with the fixes they describe.
+ 
+ 	* c-parse.in (string action): Do not warn about ANSI string
+ 	concatenation in system headers.  Affects C parser only.
+ 	* c-parse.y, c-parse.c, c-parse.h: Rebuild.
+ 
+ 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
+ 	compiling libgcc2 the macro depends always on arch cpp defines.
+ 
+ Fri Dec 17 10:34:16 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* loop.c (insert_loop_mem): Don't record MEMs from inside
+ 	EXPR_LISTs.
+ 
+ Fri Dec 17 12:08:11 MET 1999  Jan Hubicka  <hubicka@freesoftr.cz>
+ 
+ 	* regclass.c (regclass): Do not use flowgraph when not optimizing.
+ 
+ 	* gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
+ 	notes too, create one when replacement failed, attempt to simplify
+ 	resulting notes.
+ 	(cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
+ 	or REG_EQUIV notes.
+ 
+ 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* crtstuff.c (__dso_handle): Declare.
+ 	(__cxa_finalize): Likewise.
+ 	(do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
+ 	non-NULL.
+ 
+ 	* invoke.texi: Document -fuse-cxa-atexit.
+ 
+ 	* tree.h (ptr_type_node): Document.
+ 	(const_ptr_type_node): Likewise.
+ 
+ Fri Dec 17 01:32:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
+ 	(optimize_reg_copy_2): Likewise.
+ 	(optimize_reg_copy_3): Likewise.
+ 	(fixup_match_2): Likewise.
+ 	(regmove_optimize): Likewise.
+ 	(fixup_match_1): Liekwise.
+ 
+ 	* i386.md (HI to SImode promoting splitters): Rewrite.
+ 	(pushsf mem peep2): New.
+ 	(testhi to andhi peep2): Remove.
+ 	* i386.h (x86_promote_QImode): New.
+ 	(TARGET_PROMOTE_QImode): New.
+ 	(PREDICATE_CODES): Add promotable_binary_operator.
+ 	* i386.c (x86_promote_QImode0: New.
+ 	(promotable_binary_operator): New.
+ 	* i386-protos.h (promotable_binary_operator): New.
+ 
+ 	* i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
+ 	condition.
+ 	(one_cmpl?i*): Pass "NOT" to unary_operator_ok.
+ 
+ 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
+ 	* function.c (insert_block_after_note): Remove.
+ 	(retrofit_block): Likewise.
+ 	(identify_blocks): Fix indentation.
+ 	(reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
+ 	NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
+ 	* function.h (insert_block_after_note): Remove prototype.
+ 	(retrofit_block): Likewise.
+ 	* integrate.c (expand_inline_function): Don't call
+ 	find_loop_tree_blocks.  Use expand_start_bindings_and_block, not
+ 	just expand_start_bindings.  Use the block_map to remap old
+ 	NOTE_BLOCKs to new ones.
+ 	(integrate_decl_tree): Keep track of remapped blocks.
+ 	* integrate.h (struct inline_remap): Add block_map.
+ 	* stmt.c (expand_fixup): Don't try to retrofit_blocks.  Just set
+ 	NOTE_BLOCK on the notes.
+ 	(expand_start_bindings): Rename to ...
+ 	(expand_start_bindings_and_block): Add parameter.  Set NOTE_BLOCK.
+ 	(expand_end_bindings): Set NOTE_BLOCK.
+ 	* toplev.c (rest_of_compilation): In function-at-a-time-mode,
+ 	reconstruct the BLOCK tree.
+ 	* tree.h (expand_start_bindings): Macroize.  Call ...
+ 	(expand_start_bindings_and_block): New function.
+ 
+ 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (print_operand): Cast fprintf arguments
+ 	to match the format.
+ 
+ 1999-12-16  David S. Miller  <davem@redhat.com>
+ 
+ 	* expr.c (emit_move_insn_1): Only emit clobbers if one of
+ 	the outputs is a SUBREG.
+ 	* rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
+ 	change.
+ 
+ 	* config/sparc/sparc.c (epilogue_renumber): Add default case
+ 	to switch stmt.
+ 
+ Thu Dec 16 11:33:57 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Run branch shortening after
+ 	reg-stack.
+ 
+ 	* regclass.c (loop_depth): Remove
+ 	(scan_one_insn): Do not handle LOOP_NOTE insns.
+ 	(regclass): Go through basic blocks and set loop_cost
+ 
+ Thu Dec 16 02:56:25 1999  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
+ 
+ Thu Dec 16 10:43:35 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (movqi): Use "nonimmediate_operand" for output operand.
+ 	(movstrictqi, movdi, movsf, movdf, movxf): Likewise.
+ 	(adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
+ 
+ Thu Dec 16 02:41:26 1999  Richard Henderson (rth@cygnus.com)
+ 
+ 	* loop.c (insert_loop_mem): Ignore memory clobbers.
+ 
+ 	* combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
+ 	to (OP A B).
+ 
+ Thu Dec 16 02:26:11 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* profile.c: Remove redundant #include "output.h".
+ 
+ 	* h8300.md (HImode preinc peephole): Fix typo.
+ 
+ 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* function.c (retrofit_block): Abort if we don't find a suitable insn.
+ 	(insert_block_after_note): Abort if we don't have a previous block.
+ 	Remove FN parameter.
+ 	* function.h: Adjust.
+ 
+ 1999-12-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Make sure not to expand the
+ 	argument more than once.
+ 
+ 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* stmt.c (expand_decl): Expand upper bound of a dynamic array.
+ 
+ 1999-12-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (emit_group_load): Use dst mode if src is VOIDmode.
+ 
+ Wed Dec 15 16:11:55 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
+ 	(assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
+ 	update stack_alignment_needed.
+ 	(prepare_function_start): Initialize stack_alignment_needed
+ 	* function.h (struct function): Add field stack_alignment_needed.
+ 
+ Wed Dec 15 14:55:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* caller-save.c (insert_one_insn): Returns struct insn_chain *.
+ 	Handle live_throughout / dead_or_set instead of live_before /
+ 	live_after.
+ 	(save_call_clobbered_regs): Get register livenessinformation from
+ 	chain->live_throughout.
+ 	(add_stored_regs): New function.
+ 	(insert_restore, insert_save): Add restored / saved registers to
+ 	dead_or_set.
+ 	* global.c (reg_dies): New parameter chain.
+ 	(reg_becomes_live): Third parameter is regs_set now.
+ 	Changed all callers.
+ 	(reg_dies): New parameter chain.  Changed all callers.
+ 	(build_insn_chain): Set live_throughout instead of
+ 	live_before / live_after.
+ 	* reload.h (struct insn_chain): Replace members live_before /
+ 	live_after with live_throughout / dead_or_set.
+ 	* reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
+ 	instead of live_before / live_after.
+ 	(maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
+ 	(order_regs_for_reload, find_reg, finish_spills): Likewise.
+ 	(choose_reload_regs_init): Likewise.
+ 	* stupid.c (current_chain, find_clobbered_regs): Delete.
+ 	(stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
+ 	instead of chain->live_before / chain->live_after.
+ 	(mark_hard_ref): New function.
+ 	(stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
+ 
+ 1999-12-15  David S. Miller  <davem@redhat.com>
+ 
+ 	* rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
+ 
+ Wed Dec 15 15:05:30 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* flow.c (calculate_loop_depth): Make global, remove prototype,
+ 	rewrite to use new loop infrastructure.
+ 	(find_basic_block): Remove calculate_loop_depth call.
+ 	* toplev.c (rest_of_compilation): Call find_basic_block.
+ 	* output.h (calculate_loop_depth): Declare.
+ 
+ 	* flow.c (dump_flow_info): Dump loop_depth.
+ 	(flow_loops_nodes_find): Increase loop_depth for basic block in the
+ 	body.
+ 	(flow_loops_find): Initialize the loop_depth for each basic block.
+ 
+ 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* tree.c (decl_function_context): Handle virtual functions.
+ 
+ 	* tlink.c (scan_linker_output): Don't look in demangled name when
+ 	looking for linker output keywords.
+ 
+ 	* dwarfout.c (output_type): We can defer namespace-scope classes.
+ 
+ Wed Dec 15 01:23:29 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c (record_reg_classes): Update comment for merging
+ 	register class preferences in reg->reg copies.  Tighten conditions
+ 	for merging register class preferences in reg->reg copies.
+ 
+ Wed Dec 15 02:19:32 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
+ 
+ 1999-12-14  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
+ 	(INIT_SECTION_ASM_OP): Delete.
+ 	(FINI_SECTION_ASM_OP): Delete.
+ 	(STARTFILE_SPEC): Define to hold just crtbegin.o.
+ 
+ 1999-12-14  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Do call abort if
+ 	the abstract origin wasn't emitted.
+ 
+ 	* dwarf2out.c (class_scope_p): New fn.
+ 	(gen_subprogram_die): Use it.
+ 	(gen_variable_die): Use it.  Tweak logic.
+ 	(gen_struct_or_union_type_die): Check context_die to determine
+ 	if we're function-local.
+ 	(dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
+ 
+ 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): Can't reverse a biv that has
+ 	maybe_multiple set.
+ 
+ 1999-12-14  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Add support for -mcpu=arm720 command line
+ 	switch.
+ 
+ Tue Dec 14 18:13:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Fix sign of giv lifetime calculation
+ 	for givs made from biv increments.
+ 
+ Tue Dec 14 08:11:27 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-osf, alpha-linux): Handle ev6[78].
+ 	* alpha.c (override_options): Recognize -mcpu=ev67.
+ 	* alpha.h (CPP_CPU_EV67_SPEC): New.
+ 	(CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
+ 	(EXTRA_SPECS): Update.
+ 
+ Tue Dec 14 08:04:28 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
+ 	appropriate for -lang-c89 and -std=*.
+ 	* cppinit.c (cpp_handle_option): Likewise.
+ 	(new_pending_define): New, split out from cpp_handle_option.
+ 	* gcc.c (default_compilers): Don't define __STRICT_ANSI__
+ 	or enable trigraphs for -ansi/-std=*.
+ 
+ 	* ginclude/stdarg.h (__va_copy): New.
+ 	(va_copy): Don't define for C89.
+ 
+ Tue Dec 14 08:37:27 CST 1999 Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
+ 	for long long multiply-accumulate.
+ 
+ Tue Dec 14 13:51:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regclass.c (scan_one_insn): Set loop_cost to 1 when
+ 	optimizing for size.
+ 
+ 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (reload): Can't avoid select_reload_regs/finish_spills
+ 	if something changed.  Back out that part of yesterday's changes.
+ 
+ 	* loop.c (loop_max_reg): New static variable.
+ 	(loop_optimize): Initialize it.  Eliminate one unnecessary call to
+ 	max_reg_num.
+ 	(scan_loop): Call reg_scan_update whenever we may have added new
+ 	registers, and update loop_max_reg.
+ 
+ Tue Dec 14 12:07:29 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regclass.c  (record_reg_classes): Do not do the copying preferrencing
+ 	when source does not die.
+ 
+ 	* regclass.c (record_reg_classes): Handle INOUT operands properly.
+ 
+ 1999-12-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (TARGET_LIVE_G0,
+ 	TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
+ 	variants on Linux.
+ 	* config/sparc/linux.h (TARGET_LIVE_G0,
+ 	TARGET_BROKEN_SAVERESTORE): Likewise.
+ 	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
+ 	TARGET_BROKEN_SAVERESTORE): Likewise.
+ 
+ 	* config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
+ 	(CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
+ 	not %g2.
+ 	(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
+ 	as sparc64 block profiling register.
+ 	* config/sparc/sparc.c (sparc_override_options): Allow block
+ 	profiling with -m32.
+ 	(sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
+ 	profiling register.
+ 	* config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
+ 	macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
+ 	* config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
+ 
+ 	* config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
+ 	for sparc64.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/xm-sysv4-64.h: Likewise.
+ 	* config/float-sparc.h: Likewise.
+ 	* glimits.h: Likewise.
+ 	* longlong.h: Likewise.
+ 
+ 	* config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
+ 	(ASM_IDENTIFY_GCC): Remove.
+ 
+ 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* combine.c (combine_simplify_rtx): Don't make shared rtl.
+ 	(simplify_logical): Likewise.
+ 
+ 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
+ 	* cppfiles.c (INO_T_EQ): Likewise.
+ 
+ 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
+ 	* i386/mingw32.h (LIB_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 	* i386/uwin.h (LIB_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 
+ 	* i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
+ 	* i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
+ 
+ Mon Dec 13 20:25:29 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (combine_simplify_rtx): Fix order of checks for
+ 	(ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
+ 
+ 1999-12-13  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/arm/arm.md  (*mulsidi3adddi, *umulsidi3adddi) Backed out
+ 	12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
+ 
+ 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
+ 	defined.
+ 	* regclass.c (inv_reg_alloc_order): New array.
+ 	(regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
+ 
+ 	* reload.h (struct insn_chain): Delete fields group_size, group_mode,
+ 	counted_for_groups, counted_for_nongroups.  Add fields rld and
+ 	n_reloads.
+ 	* reload.c (push_secondary_reload): Don't set nongroup field of
+ 	new reloads.
+ 	(push_reload): Likewise.
+ 	(find_reloads): Delete code to compute nongroup fields.
+ 	* reload1.c (reload_insn_firstobj): New static variable.
+ 	(pseudos_counted, spilled_pseudos): Now of type regset_head.  All
+ 	users changed.
+ 	(calculate_needs, find_tworeg_group, find_group, possible_group_p,
+ 	count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
+ 	dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
+ 	functions.
+ 	(count_pseudo, select_reload_regs, copy_reloads, find_reg): New
+ 	functions.
+ 	(struct hard_reg_n_uses): Deleted.
+ 	(potential_reload_regs): Deleted.
+ 	(init_reload): Initialize spilled_pseudos and pseudos_counted.
+ 	(reload): Don't try to allocate reload registers if we already know
+ 	we have to make another pass.  Call select_reload_regs.  Free memory
+ 	starting with reload_firstobj when starting another pass.
+ 	Don't allocate spilled_pseudos.
+ 	(calculate_needs_all_insns): Call copy_reloads for an insn that
+ 	needs reloads; don't call calculate_needs.
+ 	(spill_cost): New static array.
+ 	(used_spill_regs_local): New static variable.
+ 	(order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
+ 	to compute potential_reload_regs.
+ 	(find_reload_regs): Completely rewritten to use find_reg.
+ 	(allocate_reload_reg): Don't test counted_for_groups or
+ 	counted_for_nongroups.  Lose NOERROR arg and code to give an error;
+ 	all cllers changed.
+ 	(choose_reload_regs): Add fallback code that uses the existing
+ 	register allocation from find_reload_regs.
+ 
+ Mon Dec 13 00:54:14 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* flow.c (create_edge_list): Cast xmalloc return value.
+ 
+ Mon Dec 13 00:47:58 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* doprnt.c: Remove incorrect comment closure.
+ 
+ 	* cse.c: Fix a few minor whitespace goofs.
+ 
+ 1999-12-13  Don Bowman  <don@pixstream.com>
+ 
+ 	* mips/vxworks.h: Fix problem with comment termination.
+ 	(EXTRA_SECTIONS): Add in_sbss.
+ 	(EXTRA_SECTION_FUNCTIONS): Corresponding changes.
+ 
+ 1999-12-12  David S. Miller  <davem@redhat.com>
+ 
+ 	* cse.c (struct cse_reg_info): Add hash_next member,
+ 	reorder rest of struct for better packing on 64-bit
+ 	hosts.
+ 	(cse_reg_info_tree): Kill.
+ 	(REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
+ 	REGHASH_FN): New custom pow2 hash mechanism.
+ 	(NBUCKETS): Kill.
+ 	(HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
+ 	use a pow2 hash table.
+ 	(get_cse_reg_info): Rework to use new REGHASH.
+ 	(new_basic_block): Likewise, use HASH_SIZE, and inline
+ 	free_element call.
+ 	(remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
+ 	and inline free_element call.
+ 	(lookup_as_function, insert, flush_hash_table, invalidate,
+ 	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
+ 	invalidate_for_call, use_related_value, find_comparison_args,
+ 	fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
+ 	(hash_cse_reg_info, cse_reg_info_equal_p, free_element,
+ 	get_element): Kill.
+ 
+ Sun Dec 12 21:31:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_basic_block): Free qty_table consistently.
+ 
+ 1999-12-12  David S. Miller  <davem@redhat.com>
+ 	    Jakub Jelinek    <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movtf reg/reg split): Don't generate
+ 	SUBREGs by hand, gen the appropriate hard reg directly.
+ 	(movtf reg/mem split): Likewise and alter_subreg on destination
+ 	if necessary.
+ 	(movtf mem/reg split): Similarly.
+ 	(movdf_cc_sp64): Rename from hidden pattern.
+ 	(movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
+ 	(movtf_cc_sp64, following split): New pattern and splitter.
+ 	(movdf_cc_reg_sp64): Rename from hidden pattern.
+ 	(movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
+ 	TARGET_HARD_QUAD.
+ 	(movtf_cc_reg_sp64, following split): New pattern and splitter.
+ 
+ 1999-12-12  Stephen L Moshier <moshier@mediaone.net>
+ 
+ 	* loop.c (load_mems): Don't hoist written floating point mem
+ 	if -ffloat-store.
+ 
+ 1999-12-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.h (struct eh_queue): Add `next' pointer.
+ 	(struct eh_status): Make x_ehqueue a pointer.
+ 	(push_ehqueue):  Declare.
+ 	(pop_ehqueue): Likewise.
+ 	* except.c (expand_eh_region_end): Adjust now that ehqueue is a
+ 	pointer.
+ 	(expand_fixup_region_end): Likewise.
+ 	(expand_leftover_cleanups): Likewise.
+ 	(push_ehqueue): Define.
+ 	(pop_ehqueue): Likewise.
+ 	(emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
+ 	than doing it inline.
+ 	(expand_start_all_catch):  Adjust now that ehqueue is a
+ 	pointer.
+ 	(mark_eh_queue): Mark all level of the queue.
+ 	(mark_eh_status):  Adjust now that ehqueue is a
+ 	pointer.
+ 	(init_eh_for_function): Allocate ehqueue.
+ 	(free_eh_status): Free it.
+ 	* stmt.c (expand_cleanups): Save the ehqueue around the cleanup
+ 	expansion for a fixup.
+ 
+ 1999-12-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gthr-single.h (__gthread_active_p): Add prototype arguments.
+ 
+ 	* libgcc2.c (__udivmoddi4): Remove unnecessary decls.
+ 	(__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
+ 	__bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
+ 	function_ptr, getpagesize, __enable_execute_stack,
+ 	__enable_execute_stack, __clear_insn_cache,
+ 	__enable_execute_stack, __do_global_dtors, __do_global_ctors,
+ 	_cleanup, _exit, __default_terminate, __terminate_func,
+ 	__terminate, __empty, __throw, new_eh_context,
+ 	eh_context_initialize, eh_context_static, eh_context_specific,
+ 	get_eh_context, __get_eh_context, __get_eh_info,
+ 	init_reg_size_table, eh_threads_initialize,
+ 	__get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
+ 	__unwinding_cleanup, throw_helper, __throw, __rethrow,
+ 	__pure_virtual): Add prototype arguments.
+ 	(__bb_exit_func): Cast a sizeof to long when comparing against one.
+ 	Cast a signed value to unsigned long when comparing against one.
+ 	(new_eh_context): Wrap in _GTHREADS macro.
+ 	(__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
+ 	declaration.
+ 	(in_reg_window): Mark parameters with __attribute__ ((__unused__)).
+ 	(throw_helper): Initialize variables `handler_p' and `pc_p'.
+ 
+ 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* combine.c (record_promoted_value): Remove unused variable
+ 	`links2'.
+ 
+ 	* emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
+ 
+ 	* global.c (record_conflicts): Likewise for `j'.
+ 
+ 	* genoutput.c (output_insn_data): Don't unnecessarily cast away
+ 	const-ness.
+ 
+ 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386-protos.h (output_387_binary_op, output_fix_trunc,
+ 	output_fp_compare): Constify a char*.
+ 
+ 	* i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
+ 	static prototypes.
+ 	(override_options, ix86_comp_type_attributes, print_operand,
+ 	output_387_binary_op, output_fix_trunc, output_fp_compare):
+ 	Constify a char*.
+ 	(ix86_sched_reorder): Mark parameter `clock_var' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* i386.h (DEBUG_PRINT_REG): Constify a char*.
+ 
+ Fri Dec 10 16:12:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
+ 
+ 	* tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
+ 	operand, for use in the Java front-end.
+ 
+ 1999-12-10  Ben Collins  <bcollins@debian.org>
+ 
+ 	* configure.in: Fix typo for "-64" in 64bit as check.
+ 	* configure: Rebuilt.
+ 
+ 1999-12-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
+ 	appropriate.
+ 
+ 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (string): With -Wtraditional, warn if ANSI string
+ 	concatenation is utilized.
+ 
+ 	* invoke.texi (-Wtraditional): Document it.
+ 
+ 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* flow.c (flow_loops_dump): Avoid ANSI string concatenation.
+ 	Cast a ptrdiff_t to long and pass it to printf with %ld.
+ 
+ 1999-12-10  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
+ 	68881, we have no 68881 registers at all.
+ 	(HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
+ 	value in a 68881 register if it is available.
+ 
+ 1999-12-10  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
+ 	for long long multiply-accumulate.
+ 
+ 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (insert_loop_mem): Undo last change.
+ 
+ 1999-12-10  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
+ 	New functions.
+ 	* config/sparc/sparc-protos.h: Add them.
+ 	* config/sparc/sparc.h: Add them to PREDICATE_CODES.
+ 	(EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
+ 	constraints which use those helpers.
+ 	(EXTRA_CONSTRAINT): Use this new macro.
+ 	* md.texi: Update sparc target constraints documentation.
+ 	* config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
+ 	movsf_const_high, movsf_const_lo, movsf_insn): Delete.
+ 	(movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
+ 	movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
+ 	(movsf high/lo_sum split): Rework for new patterns.
+ 	(movsf expander): Allow storing fp_zero to memory if ! live_g0.
+ 
+ 1999-12-09  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins):
+ 	Create __builtin_ptrdiff_t and __builtin_size_t.
+ 
+ Thu Dec  9 18:05:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
+ 
+ Fri Dec 10 00:53:10 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* regclass.c (globalize_reg): Re-instate test that allows
+ 	fixed registers to be declared as a variable even after functions
+ 	are defined.
+ 
+ Fri Dec 10 00:52:13 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (cpu attribute): Add "athlon".
+ 	(athlon_decode): New attribute.
+ 	(Athlon scheduling units definitions): New.
+ 	(fcmp and shld patterns): Set athlon_decode to "vector".
+ 	* i386.c (athlon_cost): New.
+ 	(m_ATHLON): New.
+ 	(x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
+ 	x86_use_sahf): Set for Athlon.
+ 	(x86_use_fiop): Unset for Athlon.
+ 	(override_options): Define Athlon alignments and "athlon" name.
+ 	(x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
+ 	* i386.h (TARGET_ATHLON): New.
+ 	(enum processor_type): Add PROCESSOR_ATHLON.
+ 	(TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
+ 	for CPU_DEFAULT==5
+ 	(TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
+ 
+ 1999-12-09  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* loop.c (record_biv): Declare parameter as int.
+ 
+ 	* config/i386/i386-protos.h: Declare long_memory_operand.
+ 
+ 1999-12-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (copy_node): Do zero the TREE_CHAIN, even for an
+ 	EXPR_WITH_FILE_LOCATION.
+ 
+ Thu Dec  9 11:36:24 MET 1999 Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
+ 	in expander.
+ 
+ 	* flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
+ 
+ 	* combine.c (try_combine, distribute_notes): Remove REG_N_REFS
+ 	updating code.
+ 
+ 1999-12-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
+ 	default on linux64 again.
+ 	* config/sparc/t-linux64: Add mno-app-regs and non-medlow code
+ 	models for multilibing.
+ 	* genmultilib: Accept | as alternative separator within a set in
+ 	MULTILIB_OPTIONS.
+ 
+ 	* config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
+ 
+ 	* calls.c (precompute_arguments): Make sure initial_value contains
+ 	value pseudo which CSE expects.
+ 	* cse.c (struct set): New entry orig_src.
+ 	(cse_insn): Set it early on entry, use it for libcall EQUIV note
+ 	replacement.
+ 
+ Wed Dec  8 22:24:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
+ 
+ 1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
+ 
+ 1999-12-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (ultra_cmove_results_ready_p,
+ 	ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
+ 
+ 	* config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
+ 	if TARGET_ARCH32.
+ 
+ 	* longlong.h: Merge in changes from glibc.
+ 	Also don't clobber %g2 register in 32bit SPARC assembly, so that
+ 	-mno-app-regs libgcc can be compiled.
+ 	* libgcc2.c: Add defines so that the updated longlong.h
+ 	can be used in libgcc2.a. Also, make sure on most architectures
+ 	(at least on all which have optimized code in longlong.h defined
+ 	for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
+ 
+ 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
+ 	`-m EMULATION' is added to non-default LINK_ARCH_SPECs.
+ 	* configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
+ 	is GNU ld.
+ 	* configure: Rebuilt.
+ 
+ Wed Dec  8 03:45:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (secondary_reload_class): For !BWX, sub-simode
+ 	outputs require a register.
+ 
+ 1999-12-08  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
+ 	_df_to_usi.  Required by some targets, so US_SOFTWARE_GOFAST calls to
+ 	functions like dptoul will be resolved.
+ 	(libgcc2.a): Make sure that the object files from DPBIT are named
+ 	differently (prefix `_dp') from those that would be coming from
+ 	FPBIT.
+ 
+ 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>,  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: When target is sparc* and tm_file contains 64,
+ 	test for 64bit support in assembler.  If not supported, remove
+ 	sparc/t-sol2-64 from target-dependent Makefile fragments.
+ 	(AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
+ 	(HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
+ 	(HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
+ 	* acconfig.h (AS_SPARC64_FLAG): Added.
+ 	* configure, config.in: Rebuilt.
+ 	* config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
+ 	support.  Use AS_SPARC64_FLAG.
+ 
+ 1999-12-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
+ 	suitable for holding OFmode values so that gcc works with complex
+ 	quad long doubles.
+ 	(hard_64bit_mode_classes): Likewise.
+ 
+ 	* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
+ 	so that it is actually matched.
+ 	(sethi_di_medlow): Likewise.
+ 
+ 	* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
+ 	as legitimate constant if -mvis.
+ 	* config/sparc/sparc.md (movtf): Likewise.
+ 	(clear_sf): Use const_double_operand.
+ 	(clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
+ 
+ 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
+ 	* config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
+ 	* config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
+ 	routines, _Qp_* cannot be handled like that now.
+ 	(INIT_TARGET_OPTABS): Likewise.
+ 	* config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
+ 	(seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
+ 	sparc_emit_float_lib_cmp if ARCH64 and soft float.
+ 	(extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
+ 	floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
+ 	divtf3, sqrttf3): New expanders.
+ 	(extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
+ 	floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
+ 	addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
+ 	non-_hq patterns.
+ 
+ 	* configure.in (sparc64-*-linux*): Use posix threads if enabled.
+ 	* configure: Rebuilt.
+ 	* config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
+ 	-mcpu is given and we're doing 64bit compiles.
+ 
+ Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.h (struct induction): Add multi_insn_incr.
+ 	* loop.c (basic_induction_var): New multi_insn_incr argument.
+ 	Set it if we search back through previous insns for the biv.
+ 	(record_biv): New multi_insn_incr argument; fill in struct induction.
+ 	(strength_reduce): Discard an iv with multiple bivs, any of
+ 	which require multiple insns to increment.
+ 
+ 1999-12-07  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
+ 	documentation.
+ 
+ 1999-12-06  David S. Miller  <davem@redhat.com>
+ 
+ 	* combine.c (check_promoted_subreg): Do not conditionalize this	upon
+ 	PROMOTE_FUNCTION_RETURN.
+ 
+ Mon Dec  6 15:12:14 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
+ 	and handle REG_UNUSED note on insn.
+ 
+ 	* combine.c (force_to_mode, case LSHIFTRT): New local inner_mask.  Set
+ 	inner_mask instead of mask.
+ 
+ 1999-12-06  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
+ 	zero if there was an error.
+ 
+ 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (return_losum_di): Fix typo in asm
+ 	output string.
+ 
+ 	* longlong.h: Fix clobbers in SPARC asm statements.
+ 
+ 	* config/sparc/sparc.c (input_operand): Allow HImode and QImode
+ 	valid sethi operations when TARGET_ARCH64.
+ 
+ 	* calls.c (save_fixed_argument_area): If save_mode is BLKmode,
+ 	always use move_by_pieces to avoid infinite recursion.
+ 	(restore_fixed_argument_area): Likewise.
+ 
+ 	* combine.c (check_promoted_subreg, record_promoted_value): New
+ 	functions.
+ 	(combine_instructions): Use them to retain nonzero and sign bit
+ 	information after SUBREGs are eliminated by optimizations in
+ 	this pass if PROMOTE_FUNCTION_RETURN.
+ 
+ 	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
+ 	.register declaration. Don't use variables with __ prefixes.
+ 
+ Mon Dec  6 12:24:52 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (optimize_bit_field_compare): Only use one mode
+ 	for both RHS and LHS in non-constant case.
+ 
+ 1999-12-06  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* frame.c (start_fde_sort): Only allocate erratic array, if
+ 	linear one was allocated. Return allocated flag.
+ 	(fde_insert): Only insert, if there's a valid array.
+ 	(fde_end_sort): Split, sort and merge if linear and erratic
+ 	arrays exist, else just sort linear one.
+ 	(search_fdes): New function. Linear search through original fde
+ 	structure.
+ 	(frame_init): Permit multiple initializations. Cope with
+ 	memory shortages.
+ 	(find_fde): Fallback on linear search, if failed to sort array.
+ 	(__deregister_frame_info): Only free sorted array, if we
+ 	allocated it.
+ 
+ 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
+ 
+ 1999-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
+ 
+ 1999-12-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (special_function_p): Declare.
+ 	* calls.c (special_function_p): Make it global.  Don't take `name'
+ 	as a parameter.  Fix typo in 1999-11-28 change.
+ 	(expand_cal): Adjust.
+ 
+ 1999-12-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
+ 	* tree.h (EXPR_WFL_FILENAME): Define in terms of
+ 	EXPR_WFL_FILENAME_NODE.
+ 	(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
+ 	the TREE_CHAIN.
+ 	* print-tree.c (print_note): Print TREE_PRIVATE and
+ 	TREE_PROTECTED.
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
+ 	the original die cannot be found.
+ 
+ 	* varray.h (varray_head_tag): Add elements_used.
+ 	(VARRAY_PUSH): New macro.
+ 	(VARRAY_POP): Likewise.
+ 	(VARRAY_TOP): Likewise.
+ 	Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
+ 	types.
+ 	* varray.c (varray_init): Initialize elements_used.
+ 	* Makefile.in (BASIC_BLOCK_H): Add varray.h.
+ 	(INTEGRATE_H): New variable.
+ 	(integrate.o): Depend on INTEGRATE_H.
+ 	(unroll.o): Likewise.
+ 
+ 	* function.h (insert_block_after_note): Declare.
+ 	* function.c (insert_block_after_note): Split out from ...
+ 	(retrofit_block): ... here.
+ 
+ 	* stmt.c (expand_fixup): Fix typo in comment.
+ 
+ Sat Dec  4 14:13:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regmove.c (copy_src_to_dest): Remove loop_depth parameter.
+ 	(optimize_reg_copy_1): Remove REG_N_REFS updating code.
+ 	(optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
+ 	(regmove_optimize, fixup_match_1): Likewise.
+ 
+ 1999-12-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* flow.c (flow_loops_dump): Add missing argument when calling
+ 	flow_loop_nested_p.
+ 
+ 1999-12-04  Geoffrey Keating  <geoffk@cygnus.com>
+ 	    Greg McGary  <gkm@gnu.org>
+ 
+ 	* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
+ 	(init_attributes): Add A_NO_LIMIT_STACK.
+ 	(decl_attributes): Handle A_NO_LIMIT_STACK.
+ 	* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
+ 	* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
+ 	Handle stack bounds checking.
+ 	* flags.h (flag_stack_check): Use the word 'probe' rather than
+ 	'check', because the flag doesn't actually cause any checking to
+ 	be done.
+ 	* function.c (expand_function_start): Set
+ 	current_function_limit_stack.
+ 	* function.h (struct function): Add limit_stack.
+ 	(current_function_limit_stack): Define.
+ 	* invoke.texi (Code Gen Options): Document new options.
+ 	* rtl.h: Declare stack_limit_rtx.
+ 	* toplev.c (stack_limit_rtx): New variable.
+ 	(decode_f_option): Handle new options -fstack-limit-register=REG,
+ 	-fstack-limit-symbol=IDENT, -fno-stack-limit.
+ 	(main): Add stack_limit_rtx as GC root.
+ 	* tree.h (DECL_NO_LIMIT_STACK): New macro.
+ 	(struct tree_decl): New member no_limit_stack.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
+ 	stack_limit_rtx.
+ 	* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
+ 	(conditional_trap+1): Get new mnemonic correct.
+ 	(conditional_trap+2): New pattern for DImode traps.
+ 
+ 	* config/m68k/m68k.c (output_function_prologue): Handle
+ 	stack_limit_rtx.
+ 	* config/m68k/m68k.md (trap): New insn.
+ 	(conditional_trap): New insn.
+ 	* md.texi (Standard Names): Document `trap' and
+ 	`conditional_trap'.
+ 	* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
+ 	so a cc0 setter doesn't get emitted at some random place in the
+ 	function.
+ 
+ 	* config/i960/i960.md (trap): New insn.
+ 	(conditional_trap): New expander.
+ 	(conditional_trap+1, conditional_trap+2): New insns for signed
+ 	and unsigned cases.
+ 	* config/i960/i960.c (i960_function_prologue): Use
+ 	STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.
+ 
+ Thu Dec  2 21:22:45 1999  Greg McGary  <gkm@gnu.org>
+ 			  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* flags.h (warn_padded, warn_packed): Add global var decls.
+ 	* toplev.c (warn_padded, warn_packed): Add global var defns.
+ 	(W_options): Add warnings `-Wpacked' and `-Wpadded'.
+ 	* stor-layout.c (layout_record): Add local variable `type'
+ 	to hold often-used TREE_TYPE (field).  Add local variable
+ 	`unpacked_align' to hold alignment that would be in force
+ 	if no `packed' attribute were present.  Warn if `packed' attribute
+ 	is unnecessary, or even harmful.  Warn when gcc inserts padding
+ 	to satisfy alignment requirements of members.  Use NULL_TREE
+ 	when checking whether var_size is set.
+ 	* invoke.texi: Document new flags.
+ 
+ 1999-12-03  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* frame.c (fde_split): Reimplement to avoid variable sized array.
+ 
+ Thu Dec  2 18:59:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* combine.c (try_combine): Before fixing up LOG_LINKS for the
+ 	i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
+ 
+ 1999-12-02  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* invoke.texi: Document the mips option -mno-crt0
+ 
+ 1999-12-02  Mike Karr  <mkarr@mathworks.com>
+ 
+ 	* cccp.c (argdata): Added free_ptr member.
+ 	(macroexpand): Initialize free_ptr of each argument. When an
+ 	argument's buffers are freed, if the argument's free_ptr corresponds
+ 	to a buffer on the input stack, then return the free_ptr to that stack
+ 	frame, otherwise, free it.
+ 	(macarg): If an argument begins and ends on the same input stack level,
+ 	then transfer the free_ptr of that buffer to the argument in case
+ 	the stack is popped during the processing of a subsequent argument.
+ 
+ 1999-12-02  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (note_reg_stored): New function.
+ 	(struct note_reg_stored_arg): New structure.
+ 	(try_copy_prop): Change to be more conservative; only replace within
+ 	one extended basic block and stop replacing if a store to the
+ 	replacement reg is seen.
+ 
+ 1999-12-02  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fp-bit.c: Initialize all fields of the NAN
+ 	constants.
+ 
+ 	* c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
+ 	to HANDLE_PRAGMA.
+ 
+ Wed Dec  1 18:16:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (extend?f?f2): Force the input into a register, not
+ 	the output.
+ 
+ 1999-12-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movsf_const_intreg): Add constraints for
+ 	regclass' sake.
+ 	(movdf_const_intreg_sp32): Likewise. Prefer the memory load
+ 	alternative because setting up 64bit constant is usually costly,
+ 	especially when reload is in progress or completed.
+ 	(movdf_const_intreg_sp64): Likewise.
+ 	(movdf_const_intreg split): Fix building up constants when
+ 	HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
+ 
+ Wed Dec  1 16:51:22 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (if_then_else_cond): Use const_true_rtx instead of
+ 	const1_rtx for return values in EQ/NE comparison against (const_int 0)
+ 	case.
+ 
+ 	* mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
+ 	(asm_file_start): Emit .am33 into assembly file when compiling for
+ 	the AM33.
+ 	(print_operand_address): Handle POST_INC addresses.
+ 	(can_use_return_insn, initial_offset): Check AM33 registers too.
+ 	(expand_prologue): Check & save AM33 registers too.
+ 	(expand_epilogue): Similarly.
+ 	(secondary_reload_class): Handle AM33 specific secondary reloads.
+ 	(output_tst): Emit efficient code for the AM33 too.
+ 	* mn10300.h (CPP_SPEC, TARGET_AM33): Define.
+ 	(TARGET_SWITCHES): Add -mam33 switch.
+ 	(FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
+ 	(REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
+ 	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
+ 	(enum reg_class, REG_CLASS_NAMES): Likewise.
+ 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
+ 	(INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
+ 	(REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
+ 	(PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
+ 	(REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
+ 	(HAVE_POST_INCREMENT): Define.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
+ 	* mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
+ 	(mulsi, andsi, iorsi, xorsi, notsi): Likewise.
+ 	(ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
+ 	(zero_extend to SI from QI/HI): Likewise.
+ 	(sign_extend to SI from QI/HI): Likewise.
+ 	(mulsidi3, umulsidi3): New patterns for the AM33.
+ 	(tstsi with zero extension from QI/HI): Add AM33 variants.
+ 	(movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
+ 	(return_internal_regs, store_movm): Handle new AM33 registers.
+ 	* t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
+ 	(LIBGCC, INSTALL_LIBGCC): Likewise.
+ 	* invoke.texi: Document new flags.
+ 
+ Fri Nov 26 10:59:12 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
+ 	(addsi3_carry): Likewise.
+ 	(sbbsi3_cc): Add "binary_operator_ok" to the condition.
+ 	(sbbsi3_carry): Likewise.
+ 	(mulsi3): Rewrite to expander, ensure that only one operand is memory.
+ 	(mulhi3): Likewise.
+ 	(test?i_1): Ensure that only one operand is memory.
+ 	(conditional move patterns): likewise.
+ 	(shift and rotate patterns): Rewrite to expander, add
+ 	"binary_operator_ok" to the condition.
+ 
+ 	* i386.md (QImode patterns): Remove '*' before the 'r' constraints.
+ 	* i386.h (procesor_costs): Add movzbl_load field.
+ 	(HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
+ 	non-Q registers, accept DImode registers anywhere.
+ 	(Q_CLASS_P): New.
+ 	(MEMORY_MOVE_COST): Calculate QImode moves correctly.
+ 	* i386.c (*_cost): Set value for movxbl_load field.
+ 
+ 	* (addsi): New add to lea splitter.
+ 	(ashlsi): Likewise.
+ 	(lea to add/shift peep2): New.
+ 
+ 1999-12-01  Mark Salter <msalter@cygnus.com>
+ 
+ 	* config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
+ 	* config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
+ 	* config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
+ 
+ Tue Nov 30 15:20:52 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.c (ix86_expand_move): Never add clobbers to move patterns.
+ 	* i386.md (movsi_xor): New.
+ 	(movsi_or): New.
+ 	(movsi_1, movhi_1, movqi_1): Remove.
+ 	(movsi_2): Rename to movsi_1.
+ 	(movhi_2): Rename to movhi_1.
+ 	(movqi_2): Rename to movqi_1.
+ 	(movdi_1): Remove; remove splitter.
+ 	(movdi_2): Rename to movdi_1.
+ 	(divmodsi4 splitter): Do not emit clobbers for move patterns.
+ 	(long move peep2): Do not create QI or HI mode mov0s
+ 	(mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
+ 
+ 	* i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
+ 	rewrite splitters.
+ 
+ 	* i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
+ 	(abs?f2_if): Likewise.
+ 
+ 1999-11-30  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* ggc.h (ggc_test_and_set_mark): New macro.
+ 	(ggc_mark_rtx): Use ggc_test_and_set_mark.
+ 	(ggc_mark_tree): Likewise.
+ 	(ggc_mark_rtvec): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
+ 
+ 1999-11-30  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (scope_die_for): Only handle types.  Only search for
+ 	containing types.
+ 	(decl_scope_table): Just an array of trees now.
+ 	(push_decl_scope): Simplify.
+ 	(dwarf2out_init): Adjust.
+ 	(local_scope_p): New fn.
+ 	(gen_inlined_enumeration_type_die): Don't call scope_die_for.
+ 	(gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
+ 	(gen_typedef_die): Likewise.
+ 	(gen_lexical_block_die): Don't call push/pop_decl_scope.
+ 	(gen_inlined_subroutine_die): Likewise.
+ 	(gen_abstract_function): Set current_function_decl temporarily.
+ 	(gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
+ 	Handle block extern declarations.  Don't call push/pop_decl_scope.
+ 	(gen_decl_die): Fix logic for block externs.
+ 
+ 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (special_function_p): Remove `realloc' and add `strdup'
+ 	to the list of functions which have attribute malloc by default.
+ 
+ 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
+ 	integer constant does not match the traditional type, limit the
+ 	warnings to cases where the base of the type is ten.
+ 
+ 	* invoke.texi (-Wtraditional): Document it.
+ 
+ Tue Nov 30 15:18:35 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
+ 	* rs6000.md: Only access a CONST_INT with INTVAL
+ 
+ Tue Nov 30 14:21:00 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* lcm.c (compute_laterin): Cast bb->aux to size_t not int.
+ 	(compute_nearerout): Likewise.
+ 	* ggc-page.c (ggc_page_print_statistics): Explicitly cast
+ 	size_t to unsigned long for formatting.
+ 
+ 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
+ 	Allow the user to override call-used/fixed state of %g2-5
+ 	registers from the command line (with the exception of %g4 for
+ 	embedded model).
+ 	(REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
+ 	there is a higher chance of having a leaf function.
+ 	(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
+ 	for ARCH64 which has %ccr register.
+ 	* config/sparc/sparc.md (return_losum_si, return_losum_di): New
+ 	patterns.
+ 	* config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
+ 	insn accept into delay slot any insn which does not use %[ol]
+ 	registers.  Accept some LO_SUM and shift left by 1 for the normal
+ 	restore case.
+ 	(output_function_epilogue): Likewise.
+ 	(epilogue_renumber): Added argument which inhibits any renumbering
+ 	and just tests if the rtx does not use any %[ol] registers.
+ 	(output_return): Reflect above change.
+ 
+ 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
+ 	aggregate passing for sizes <= 16 bytes.
+ 
+ 1999-11-30  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
+ 	* global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
+ 	* reload.c (find_dummy_reload): Likewise.
+ 	(find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
+ 	* reload1.c (reload_as_needed): Likewise.
+ 	* stupid.c (stupid_find_reg): Likewise.
+ 	* tm.texi (Obsolete Register Macros): Delete section.
+ 	* gmicro.h: Remove all traces of the two macros.
+ 	* i386.h: Likewise.
+ 	* m88k.h: Likewise.
+ 	* mips.h: Likewise.
+ 
+ 1999-11-30  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
+ 	(TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
+ 	(ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
+ 	* sparc.md (sparclite86x_branch, sparclite86x_shift): New function
+ 	units for the sparclite86x chip.
+ 	(flush): Revert October 14th change; add SImode specifically.
+ 	(flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
+ 	* invoke.texi: Document it.
+ 
+ Tue Nov 30 14:58:14 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/mn10200/mn10200.h (PREDICATE_CODES): Add
+ 	psimode_truncation_operand.
+ 
+ 	* config/mn10200/mn10200.c (psimode_truncation_operand): New
+ 	function.  Return true if the operand is either a MEM valid
+ 	for a PSImode address or not a MEM at all.
+ 
+ 	* config/mn10200/mn10200.md (truncsipsi2): Use
+ 	psimode_truncation_operand.
+ 
+ 1999-11-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
+ 	(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
+ 	(flow_loop_exits_find, flow_loop_nodes_find): Likewise.
+ 	(flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
+ 	(flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
+ 	(flow_loop_level_compute, low_loops_level_compute): Likewise.
+ 	(flow_loops_find, flow_loop_outside_edge_p): Likewise.
+ 	* basic-block.h: Protect from multiple inclusion.
+ 	(flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
+ 	(struct loops, struct loop): Define structures.
+ 	* sbitmap.c (sbitmap_a_subset_b_p): New function.
+ 	* sbitmap.h: Protect from multiple inclusion.
+ 	(sbitmap_a_subset_b_p): Add prototype.
+ 	* Makefile.in (LOOP_H): New macro.
+ 	(stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
+ 
+ Tue Nov 30 01:34:47 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* cppinit.c (CAT): The argument list of this macro may not contain
+ 	spaces !
+ 
+ 1999-11-29  David S. Miller  <davem@redhat.com>
+ 
+ 	Move quantity tables and register equivalence chains into
+ 	per-qty and per-register structure arrays respectively.
+ 	* cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
+ 	qty_const_insn, qty_comparison_code, qty_comparison_const,
+ 	qty_comparison_qty): Delete, replace with...
+ 	(qty_table): this structure table.
+ 	(reg_next_eqv, reg_prev_eqv): Delete, replace with...
+ 	(reg_eqv_table): this structure table.
+ 	(make_new_qty): Add argument MODE.  Caller updated.
+ 	Update to use qty_table and reg_eqv_table.
+ 	(make_regs_eqv, delete_reg_equiv, insert_regs,
+ 	insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
+ 	fold_rtx, equiv_constant, record_jump_cond, cse_insn,
+ 	cse_process_notes, cse_main, cse_basic_block): Likewise.
+ 
+ Mon Nov 29 16:56:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
+ 	operation if C is negative.
+ 	(extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
+ 	(extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
+ 	law for some divisions if constant is negative and change other
+ 	divisions to the opposite rounding.
+ 
+ 	* expr.c (store_constructor_field): If bit position is not multiple
+ 	of alignment of TARGET's mode, use BLKmode.
+ 
+ 	* expr.c (expand_expr_unaligned): Add more code from full case
+ 	that is needed when OP0 is in a register.
+ 
+ Mon Nov 29 18:09:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* dwarfout.c (field_byte_offset): Size can be zero if there was
+ 	an error.
+ 
+ 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
+ 	(associate_trees): Delete unused var TEM.
+ 	(extract_muldiv): Delete unused var CANCEL_P.
+ 
+ 	* fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
+ 	(target_isinf, target_isnan, target_negative): Add return types to
+ 	function definitions.
+ 
+ 1999-11-29  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/fixincl.c(process): don't skip GLIBC files any more.
+ 	* fixinc/hackshell.tpl: ditto
+ 	* fixinc/fixtests.c(double_slash_test): more C++ header testing
+ 	* fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
+ 
+ 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload.c (push_reload): When looking for a register to put into
+ 	reg_rtx, make sure all hard regs in a multi-reg register are in the
+ 	right class and nonfixed.
+ 
+ 	* haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
+ 	pending_read_insns, pending_write_insns, pending_read_mems,
+ 	pending_write_mems, pending_list_length, last_pending_memory_flush,
+ 	last_function_call, sched_before_next_call): Move static variables
+ 	into a structure.
+ 	(bb_ prefixed versions): Replace with single array bb_deps.
+ 	(struct deps): New structure.
+ 	(add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
+ 	sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
+ 	argument of type "struct deps *"; use that instead of global
+ 	variables.  All callers changed.
+ 	(init_rgn_data_dependencies): Delete function.
+ 	(init_rtx_vector): Delete function.
+ 	(init_deps): New function.
+ 
+ 	(free_pending_lists): Simplify, we always use the bb_deps array even
+ 	if only one basic block.
+ 	(compute_block_backward_dependences): Likewise.
+ 	(schedule_region): Likewise.
+ 
+ 	(propagate_deps): New function, broken out of
+ 	compute_block_backward_dependences.
+ 	(compute_block_backward_dependences): Use it.
+ 
+ 	* alpha.md: Delete useless patterns that tried to work around
+ 	register elimination problems.
+ 
+ 	* unroll.c (loop_iterations): Don't abort if iteration variable
+ 	was made by loop.
+ 
+ 	From Joern Rennecke:
+ 	* reload1.c (reloads_conflict): Reverse test comparing operand
+ 	numbers when testing for conflict between output/outaddr reloads.
+ 
+ 1999-11-29  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (init_cumulative_args): Fix type of third
+ 	arg.
+ 	* config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
+ 
+ 1999-11-28  Robert Lipe  <robertl@cygnus.com>
+ 
+ 	* i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
+ 	table from .fini into .dtor.
+ 
+ 1999-11-28  Anthony Green  <green@cygnus.com>
+ 
+ 	* tree.h (struct tree_decl): Add malloc_flag.
+ 	(DECL_IS_MALLOC): Define.
+ 	* c-common.c (attrs): Add A_MALLOC attribute.
+ 	(init_attributes): Add this attribute to the table.
+ 	(decl_attributes): Handle malloc attribute.
+ 	* calls.c (special_function_p): Check for the malloc attribute.
+ 	* extend.texi (Function Attributes): Document malloc attribute.
+ 
+ Sun Nov 28 13:21:00 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (reload shift-add patterns): Remove.
+ 
+ 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reorg.c (dbr_schedule) Print more statistics. Corrected
+ 	problem when printing info when 3 delay slots are filled.
+ 
+ 1999-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (setup_incoming_promotions): Pass an outgoing
+ 	regno to FUNCTION_ARG_REGNO_P which it expects.
+ 
+ 1999-11-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
+ 
+ Sun Nov 28 00:48:15 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* cccp.c (do_include): Avoid initialization of automatic variable.
+ 
+ 	* integrate.c (mark_stores): Function definition made void, to match
+ 	previous declaration.
+ 	* regclass.c (dump_regclass): Ditto.
+ 	* Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
+ 
+ Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
+ 	known to be multiple of divisor.
+ 
+ 	* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
+ 
+ 	* combine.c (try_combine): Add code to try to merge a set of a
+ 	two-word pseudo to a constant with a setting of one of those words
+ 	to a constant.
+ 
+ 	* fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
+ 	(split_tree): Completely rework to make more general.
+ 	(make_range, fold): Call negate_expr.
+ 	(fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
+ 	(fold, associate): Call new split_tree and associate_trees.
+ 	(fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
+ 
+ 1999-11-26  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (try_copy_prop): Avoid GNU C extension.
+ 
+ 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.c (init_eh_for_function): Still zero eh_return_context,
+ 	eh_return_stack_adjust, and eh_return_handler.
+ 
+ 	* except.h (eh_status): Adjust documentation for x_protect_list.
+ 	(begin_protect_partials): New function.
+ 	* except.c (enqueue_eh_entry): Fix formatting.
+ 	(get_first_handler): Add consistency check.
+ 	(add_partial_entry): Adjust usage of protect_list.
+ 	(emit_cleanup_handler): Save and restore ehqueue.
+ 	(expand_start_all_catch): Add comment.
+ 	(begin_protect_partials): New function.
+ 	(end_protect_partials): Adjust usage of protect_list.
+ 	(init_eh_for_function): Use xcalloc.
+ 
+ 1999-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (check_format_info): Don't call a variadic function
+ 	with a non-literal format string.
+ 
+ 	* c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
+ 
+ 	* c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
+ 	pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
+ 	Likewise.
+ 
+ 	* cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
+ 	Likewise.
+ 
+ 	* collect2.c (collect_wait): Likewise.
+ 
+ 	* dbxout.c (dbxout_type): Likewise.
+ 
+ 	* gcc.c (do_spec_1): Likewise.
+ 
+ 	* genemit.c (gen_insn, gen_expand): Likewise.
+ 
+ 	* genrecog.c (write_switch, write_subroutine): Likewise.
+ 
+ 	* mips-tfile.c (catch_signal, botch): Likewise.
+ 
+ 	* print-rtl.c (print_rtx): Likewise.
+ 
+ 	* toplev.c (default_print_error_function, report_error_function,
+ 	_fatal_insn): Likewise.
+ 
+ 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (unsave_expr_now): Handle NULL_TREE as input.
+ 
+ Wed Nov 24 17:08:09 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
+ 	operations when needed.
+ 	* i386.md (fop_?f_comm): New.
+ 	(fop_?f_1): Do not accept commutative operands.
+ 
+ 1999-11-25  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/mips.md (casesi_internal): Add missing brace.
+ 
+ 1999-11-25  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
+ 	(splice_child_die): Handle moving a child DIE from the declaration
+ 	DIE of a class to its specification.
+ 	(gen_struct_or_union_type_die): Use 'complete' consistently.
+ 	(gen_decl_die): Generate the virtual context DIE first.
+ 	Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
+ 
+ 1999-11-24  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.md (call_value_multiple_interanal1): New.
+ 
+ 1999-11-24  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (free_AT, free_die): New fns.
+ 	(remove_children): Call them.
+ 	(output_line_info): Disable removal of duplicate notes.
+ 
+ 	Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
+ 	* dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
+ 	means pretend the type isn't defined.
+ 	Don't defer emitting types.
+ 	(gen_type_die_for_member): New fn.
+ 	(gen_decl_die): Call it.
+ 	(splice_child_die): New fn.
+ 	(gen_member_die): Call it rather than generate duplicate dies.
+ 
+ 	Defer emitting information for the abstract instance of an inline
+ 	until we either inline it or emit an out-of-line copy.
+ 	* dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
+ 	from output_inline_function if DECL_ABSTRACT is also set.
+ 	(block_ultimate_origin): Likewise.
+ 	(gen_abstract_function): New fn.
+ 	(gen_decl_die, gen_inlined_subroutine_die): Call it.
+ 	(gen_subprogram_die):  An abstract instance is not a declaration
+ 	just because it doesn't match current_function_decl.  Don't abort
+ 	because DECL_DEFER_OUTPUT isn't set.  Do abort if a declaration
+ 	has an abstract origin.
+ 	* toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
+ 	abstract instance here.
+ 
+ Wed Nov 24 18:39:18 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
+ 	where we need to reload fpul from a system register.
+ 
+ 1999-11-24  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h (CPP_PREDEFINES): Added.
+ 	(LINK_SPEC): Remove -Y since this is only needed on sparc.
+ 
+ 1999-11-24  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h (TARGET_VERSION): Added.
+ 	(HANDLE_SYSV_PRAGMA): Added.
+ 	(DEFAULT_VTABLE_THUNKS): Added.
+ 
+ Wed Nov 24 14:12:15 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* local-alloc.c (qty): New structure and static variable.
+ 	(qty_phys_reg): Remove, all references changed to qty.
+ 	(qty_n_refs): Likewise.
+ 	(qty_min_class): Likewise.
+ 	(qty_birth): Likewise.
+ 	(qty_death): Likewise.
+ 	(qty_size): Likewise.
+ 	(qty_mode): Likewise.
+ 	(qty_n_calls_crossed): Likewise.
+ 	(qty_alternate_class): Likewise.
+ 	(qty_changes_size): Likewise.
+ 	(qty_first_reg): Likewise.
+ 	(alloc_qty): Rename variable QTY to QTYNO.
+ 	(finf_free_reg): Likewise.
+ 	(local_alloc): Allocate qty, do not allocate the removed variables.
+ 
+ Wed Nov 24 17:26:05 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
+ 	when -membedded-pic is passed.
+ 
+ 	* config/mips/mips.md (casesi): Handle 64-bit case too.
+ 	(casesi_internal_di): New insn.
+ 
+ 	* config/mips/mips.c (embedded_pic_offset): Always make the
+ 	embedded-pic subtractions relative to the name of the current
+ 	function by use of the magic string "..CURRENT_FUNCTION".
+ 	* config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
+ 
+ 1999-11-24  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
+ 	of (const_int 0), when what we really care about is
+ 	whether it's a zero constant anyway.
+ 	(div_trap_mips16): Likewise.
+ 
+ 1999-11-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* loop.c (loop_optimize): Always find_loop_tree_blocks and
+ 	unroll_block_trees when generating debuggable code.
+ 
+ 	* tree.h (unsave_expr_1): New function.
+ 	(lang_unsave): New variable.
+ 	(get_callee_fndecl): New function.
+ 	* tree.c (unsave_expr_now_r): New function.
+ 	(lang_unsave): Define.
+ 	(unsave_expr_1): Likewise.
+ 	(unsave_expr_now_r): Split out from unsave_expr_now.
+ 	(unsave_expr_now): Call lang_unsave if it is non-NULL.  Otherwise,
+ 	call unsave_expr_now_r.
+ 	(get_callee_fndecl): Define.
+ 
+ 	* Makefile.in (gencheck): Don't depend on lang_tree_files.
+ 	(gencheck.o): Do depend on lang_tree_files.
+ 
+ 	* integrate.h (copy_decl_for_inlining): New declaration.
+ 	* integrate.c (copy_and_set_decl_abstract_origin): Remove.
+ 	(copy_decl_for_inlining): New function.
+ 	(integrate_parm_decls): Use it.
+ 	(integrate_decl_tree): Likewise.
+ 
+ 1999-11-23  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
+ 	the second two from the first.
+ 	(CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
+ 	* config/mips/mips.md (movcc,reload_incc,reload_outcc,
+ 	conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
+ 	ISA_HAS_FP4.
+ 	* config/mips/mips.c (mips_move_1word,gen_conditional_branch,
+ 	override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
+ 	ISA_HAS_FP4.
+ 
+ Tue Nov 23 11:15:04 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (call_internal_symref, call_value_internal_symref): No mode
+ 	needed on the address operand.
+ 	* pa.c (call_operand_address): Check for the correct mode.
+ 
+ 1999-11-23  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c: Include "basic-block.h".
+ 	(try_copy_prop, replace_loop_reg): New functions.
+ 	(load_mems): Detect registers that just hold copies of the hoisted
+ 	mem, and call try_copy_prop to eliminate them.
+ 	* Makefile.in (loop.o): Update dependencies.
+ 
+ Tue Nov 23 01:03:29 1999  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* Makefile.in (gencheck.o): Depend on gencheck.h.
+ 	(insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
+ 	(insn-peep.o): Depend on except.h and function.h.
+ 	(insn-attrtab.o): Depend on RECOG_H.
+ 	(insn-output.o): Depend on toplev.h and flags.h.
+ 	(gengenrtl.o): Depend on real.h.
+ 	(gen-protos.o): Depend on cpplib.h and cpphash.h.
+ 	Unify all dependencies to be on RECOG_H rather than recog.h.
+ 
+ Tue Nov 23 00:57:10 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
+ 	* configure.in: Try building a bi-arch 32/64-bit compiler on
+ 	sparc-*-solaris2.7 and higher.
+ 	* configure: Rebuild.
+ 
+ Mon Nov 22 23:09:44 1999  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd.h: New, FreeBSD architecture independent file.
+ 	* config/i386/freebsd-elf.h: removed FreeBSD architecturally
+ 	independent pieces.
+ 	* config/i386/freebsd.h: include i386/perform.h via tm.h rather than
+ 	directly by i386/freebsd.h.
+ 	* configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
+ 	independent configuration file.
+ 	(*-*-freebsdelf): Include i386/perform.h via tm.h rather than
+ 	directly by i386/freebsd.h.
+ 	* configure: Rebuilt.
+ 
+ 	* xm-i386.h: Define `__i386__' if not defined, rather than `i386'
+ 	which is in the user's namespace.
+ 	* libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
+ 	`i386' which is not in our namespace.
+ 
+ Mon Nov 22 22:58:01 1999  "R. Kelley Cook" <KelleyCook@attglobal.net>
+ 
+ 	* invoke.texi (ARM Options): Add in -mno-alignment-traps
+ 
+ 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
+ 	(add_dwarf_attr, add_child_die): Just push onto the front.
+ 	(reverse_die_lists): New fn.
+ 	(add_sibling_attributes): Use it.
+ 	(push_decl_scope): Reorganize.
+ 	(add_name_and_src_coords_attributes): Don't set file and line for
+ 	an artificial decl.
+ 	(gen_subprogram_die): An artificial function doesn't need to match
+ 	file and line.
+ 	(gen_compile_unit_die): Return the generated die.  Only add
+ 	AT_comp_dir if the filename is relative.
+ 	(remove_AT): Simplify loop.  Also free string values.
+ 	(output_die): A DIE ref can't be null.
+ 	(output_value_format, value_format): Take a dw_attr_ref.
+ 	(dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
+ 	(AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
+ 	AT_addr, AT_lbl): New fns.
+ 	(various): Use them.
+ 	(various): Constify.
+ 
+ Mon Nov 22 23:53:50 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* combine.c (combine_simplify_rtx): When handling a SUBREG,
+ 	take SUBREG_WORD into account.
+ 	(if_then_else_cond): Likewise.
+ 
+ 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
+ 	clause from BSD license, pursuant with
+ 
+ 	  ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
+ 
+ 1999-11-22  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (load_mems): Reformat slightly.
+ 	* basic-block.h (regset_head): New typedef.
+ 	(INIT_REG_SET): New macro.
+ 
+ 1999-11-22  Bruce Korb  <autogen@linuxbox.com
+ 
+ 	* fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
+ 	(mips-dec-bsd*): non-functional code
+ 	(alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
+ 
+ 	* fixinc/inclhack.def(AAB_fd_zero_glibc_*):
+ 	added three replacement fixes
+ 	(no_double_slash): removed comments that are not (any longer) pertinent
+ 	(bad_lval): this fix currently runs against many files.
+ 	The comment seems to indicate that we should select for files
+ 	containing 'pragma extern_prefix'.
+ 
+ 	* fixinc/fixinc.x86-linux-gnu: deleted
+ 	* fixinc/inclhack.sh:  regen
+ 	* fixinc/fixincl.x:  regen
+ 	* fixinc/fixincl.sh:  regen
+ 
+ Fri Nov 12 14:08:40 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_sequence): Only return the pattern of an insn if
+ 	its code is INSN and it has no notes.
+ 
+ 1999-11-22  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* varasm.c (function_defined): Remove.
+ 	(make_function_rtl): Don't set function_defined.
+ 	(make_decl_rtl): Remove global register warning.
+ 	* regclass.c (no_global_reg_vars): New variable.
+ 	(globalize_reg): Warn if function has already been defined.
+ 	(regclass_init): Set no_global_reg_vars.
+ 
+ Mon Nov 22 14:42:22 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regclass.c (reg_pref): New structure and static variable
+ 	(prefclass): Delete.
+ 	(altclass): Delete.
+ 	(all uses of prefclass and altclass): Use reg_pref instead.
+ 
+ 1999-11-21  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* invoke.texi (ARM Options): Replace -mshort-load-bytes with
+ 	-malignment-traps.
+ 	(arm.h): Replace -mshort-load-bytes with -malignment-traps.
+ 	(arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
+ 	(arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
+ 
+ Sun Nov 21 17:11:13 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* varasm.c (output_constructor): Solve problem with long long
+ 	bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
+ 
+ Fri Nov 19 05:48:45 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* global.c (allocno): New structure and static variable.
+ 	(allocno_reg): Remove, all references replaced by allocno.
+ 	(allocno_size): Likewise.
+ 	(hard_reg_conflicts): Likewise.
+ 	(hard_reg_preferences): Likewise.
+ 	(hard_reg_copy_preferences): Likewise.
+ 	(hard_reg_full_preferences): Likewise.
+ 	(regs_someone_prefers): Likewise.
+ 	(allocno_calls_crossed): Likewise.
+ 	(allocno_n_refs): Likewise.
+ 	(allocno_live_length): Likewise.
+ 	(find_reg): Rename ALLOCNO to NUM.
+ 
+ 	* regclass.c (may_move_in_cost): Rename from may_move_cost, all
+ 	references updated.
+ 	(may_move_out_cost): New variable.
+ 	(init_reg_sets_1): Initialize may_move_out_cost.
+ 	(record_reg_classes): Use may_move_out_cost.
+ 
+ 	* regclass.c (dump_regclass): New function.
+ 	(regclass): New parameter DUMP, call DUMP_REGCLASS.
+ 	* toplev.c (rest_of_compilation): Open lreg dump file before regclass,
+ 	pass rtl_dump_file to regclass.
+ 	* rtl.h (regclass): Update prototype.
+ 
+ Fri Nov 19 06:32:19 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (neg, not and abs patterns): Revmap to use
+ 	ix86_expand_unary_operator and ix86_unary_operator_ok.
+ 	(add?f and sub?f expanders): Force operand 1 to register.
+ 	* i386.c (ix86_expand_unary_operator): Rewrite.
+ 	(ix86_unary_operator_ok): Ensure that memory operands
+ 	match real opcode.
+ 	(ix86_binary_operator_ok): Do not allow operand 1 to
+ 	come into memory and operand 0 not.
+ 	(ix86_expand_binary_operator): Ensure that
+ 	src1 is not non-matching memory.
+ 
+ 	* i386.md (negs?2): Rewrite to expanders, new patterns and splitters
+ 	to support integer registers and memory.
+ 	(abss?2_integer): Likewise.
+ 
+ 	* i386.h (enum reg_class): Add FLOAT_INT_REGS.
+ 	(REG_CLASS_NAMES): Likewise.
+ 	(REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
+ 	and GENERAL_REGS.
+ 	* i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
+ 	(movsf): Likewise; unify 4th and 5th alternative.
+ 	(pushdf): Likewise.
+ 	(movdf_1): Likewise; rename to movdf_integer.
+ 	(pushxf): Likewise; rename to pushxf_integer; fix output template;
+ 	remove redundant splitter.
+ 	(movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
+ 	(movdf_nointeger): New.
+ 	(movxf_nointeger): New.
+ 	(pushxf_nointeger): New.
+ 
+ 	* i386.md (extend?f?f): Split to expander and pattern, refuse two
+ 	memory operands in patterns.
+ 	(fop*): Refuse two memory operands.
+ 
+ 	* i386.md (ashrsi3_31): Allow cltd when optimizing for size even
+ 	on !TARGET_USE_CLTD CPUs.
+ 
+ Fri Nov 19 10:41:15 GMT 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* extend.texi: Document C++ restricted pointers and references.
+ 
+ 1999-11-19  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
+ 	(invalidate_skipped_set): Call it unconditionally.
+ 	(cse_set_around_loop): Likewise.
+ 
+ Thu Nov 18 17:29:34 MST 1999	Diego Novillo <dnovillo@cygnus.com>
+ 
+ 	* rtl.texi (mem): Add documentation for alias-set argument
+ 	to RTX `mem'.
+ 
+ Fri Nov 18 13:39:22 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.h (struct_processor_costs): New fields int_load, int_store,
+ 	fp_move, fp_load and fp_store
+ 	(REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
+ 	fp->int moves
+ 	(MEMORY_MOVE_COST): New macro.
+ 	* i386.c (386_cost): Define new fields.
+ 	(i486_cost): Likewise.
+ 	(pentium_cost): Likewise.
+ 	(pentiumpro_cost): Likewise.
+ 	(k6_cost): Likewise.
+ 
+ Fri Nov 19 11:11:55 1999  Greg McGary  <gkm@gnu.org>
+ 			  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/m68k/m68kelf.h: Suppress '/* within comment' warning.
+ 
+ 	* config/m68k/m68k.h (MASK_PCREL): Don't use same value as
+ 	MASK_ALIGN_INT.
+ 
+ 	* config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
+ 	(TARGET_STRICT_ALIGNMENT): New macro.
+ 	(TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
+ 	(STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
+ 	* invoke.texi (M680x0 Options): Document -mstrict-align.
+ 
+ Thu Nov 18 11:10:03 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386-protos.h (split_xf, ix86_split_movdi): Remove.
+ 	(ix86_split_long_move): Declare.
+ 	* i386.c (split_xf, ix86_split_movdi): Remove.
+ 	(ix86_split_to_parts, ix86_split_long_move): New.
+ 	* i386.md (dimode move splitters): Use ix86_split_long_move.
+ 	(dfmode move splitters): Likewise.
+ 	(xfmode move splitters): Likewise.
+ 	(movsf_1): Allow F->r.
+ 	(movdf_1, movxf_1): Allow F->ro.
+ 
+ 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.h (struct eh_entry): Add goto_entry_p.
+ 	(eh_region_from_symbol): Remove prototype.
+ 	* except.c (find_func_region_from_symbol): New function.
+ 	(emit_cleanup_handler): Likewise.
+ 	(eh_region_from_symbol): Make it static.
+ 	(add_new_handler): Verify the argument.
+ 	(find_func_region): Update comment.
+ 	(expand_eh_region_end): Expand handlers here, rater than waiting
+ 	until expand_leftover_cleanups or start_all_catch.
+ 	(expand_leftover_cleanups): Don't expand here.
+ 	(expand_start_all_catch): Or here.
+ 	(expand_rethrow): Check the return value from find_func_region.
+ 	* function.c (expand_function_end): Emit the catch_clauses.
+ 
+ 1999-11-18  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* integrate.c (expand_inline_function): Add necessary check for NULL.
+ 
+ 1999-11-18  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (main): Correctly detect an unrecognized option.
+ 
+ 	* cppinit.c (cpp_handle_option): Do not claim to have consumed
+ 	a -f option if it has not been recognized.
+ 
+ Thu Nov 18 00:59:11 1999  Michael Gschwind  <mikeg@alagoas.watson.ibm.com>
+ 
+ 	* basic-block.h (update_life_extent): Remove trailing comma on
+ 	enumeration type list.
+ 
+ 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* varasm.c (output_constructor) Solved problem with long long
+ 	bitfields. Corrected calculating this_time and shift. Also
+ 	corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
+ 
+ Wed Nov 17 23:46:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (split_edge): Take looping structure into account when
+ 	determining where to put the new block note.
+ 
+ Wed Nov 17 20:42:43 1999  Jeff Holcomb  <jeffh@cygnus.com>
+ 
+ 	* Makefile.in (ggc-none.o): Provide host specific version if
+ 	needed.
+ 
+ Wed Nov 17 16:51:23 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (delete_trivially_dead_insns): Identify no-op insns
+ 	containing subregs too.
+ 
+ Wed Nov 17 17:39:48 MST 1999	Diego Novillo <dnovillo@cygnus.com>
+ 
+ 	* invoke.texi: Add documentation for -muninit-const-in-rodata.
+ 	* config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
+ 	(TARGET_UNINIT_CONST_IN_RODATA): Define.
+ 	(text_section): Add switches -munint-const-in-rodata and
+ 	-mno-uninit-const-in-rodata.
+ 	(ASM_OUTPUT_COMMON): Remove.
+ 	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
+ 	const objects should be placed in read-only data. Otherwise declare
+ 	them in common.
+ 
+ Wed Nov 17 16:38:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Revert last change.
+ 
+ Wed Nov 17 15:18:30 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Don't try to duplicate the loop exit
+ 	test if optimizing for size.
+ 
+ 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (toplev.o): Depend on except.h.
+ 	(dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
+ 
+ Mon Nov 15 22:45:39 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (divmodsi4): Rewrite to expander.
+ 	(*divmodsi4_nocltd): New.
+ 	(*divmodsi4_cltd): New.
+ 	(divmodsi4 splitter): Handle the case when input comes in edx.
+ 	(udivmodhi4): Do not use constraints in exander.
+ 	(ashrsi3_31): Conditionize by TARGET_USE_CLTD.
+ 
+ 1999-11-17  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
+ 	for the common case.
+ 
+ 1999-11-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* explow.c (hard_function_value): Add outgoing argument.
+ 	* expr.h (hard_function_value): Declare it.
+ 	* calls.c (expand_call, emit_library_call_value): Update callers.
+ 	* function.c (aggregate_value_p): Ditto.
+ 	(diddle_return_value): Must look at the outgoing registers
+ 	on archs with register windows.
+ 
+ Mon Nov 15 20:46:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_build_va_list): Use make_lang_type and
+ 	initialize TYPE_NAME for the va_list record.
+ 
+ 	* flow.c (calculate_global_regs_live): Zero bb->aux to begin.
+ 
+ 	* ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
+ 	for printing.
+ 	* ggc.h (struct ggc_statistics): Rearrange elements for better
+ 	packing on 64-bit hosts.
+ 	* lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
+ 	(compute_nearerout): Likewise.
+ 
+ Tue Nov 16 14:37:52 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (first_reg_to_save): Save
+ 	PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
+ 
+ 1999-11-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
+ 	notion of nesting to find the DIE for a type or function.
+ 	DIEs can go in limbo even if we got a context_die.
+ 	(push_decl_scope): Our context doesn't need to be in decl_scope_table.
+ 	(gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
+ 	for local type.
+ 	(gen_decl_die): Ignore NAMESPACE_DECLs for now.
+ 	(gen_type_die): Writing out the context doesn't cause member class
+ 	template instantiations to be written out as well.
+ 
+ Mon Nov 15 15:33:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.h (ASM_OUTPUT_DEF): New.
+ 	Based on proposed addition from David Edelsohn.
+ 
+ 1999-11-15  Robert Lipe  <RobertLipe@usa.net>
+ 	    Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/inclhack.def
+ 	(AAB_svr4_replace_byteorder): added.  Takes advantage of GCC features
+ 	(unixware7_byteorder_fix): added.  Removes conflicts for new defs
+ 		in net/inet.h.
+ 	(svr5_mach_defines): added.  Like svr4_mach_defines, with new syntax
+ 	(svr4_endian): enabled with SVR5
+ 	(svr4_mkdev): simplified syntax and enabled with SVR5
+ 
+ Sun Nov 14 18:49:37 1999  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* configure.in: Handle libgcc2 threads support on FreeBSD platforms.
+ 	* configure: Rebuilt.
+ 	* config/t-freebsd-thread: New file.
+ 
+ Sun Nov 14 23:11:05 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.c (ix86_decompose_address): Verify the base is a REG
+ 	before trying to examine its register number.
+ 
+ 	* basic-block.h: Remove all #defines and prototypes related to
+ 	integer lists.
+ 	(free_bb_mem, compute_preds_succs): Remove prototype.
+ 	* rtl.h (free_bb_mem): Remove prototype.
+ 	* flow.c (alloc_int_list_node); Remove function.
+ 	(add_inst_list_node, free_int_list, add_pred_succ): Likewise.
+ 	(compute_preds_succs, free_bb_mem): Likewise.
+ 	* gcse.c (gcse_main): Do not call free_bb_mem anymore.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* haifa-sched.c (build_control_flow): Use flow generated edge
+ 	list to build the haifa specific edge list.
+ 	(find_rgns): Use new CFG data structures instead of pred/succ lists.
+ 	(schedule_insns): Do not build pred/succ lists anymore.  Instead
+ 	build the edge table.
+ 
+ 	* basic-block.h (dump_bb_data): Remove declaration.
+ 	* flow.c (dump_bb_data): Remove function.
+ 	* sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
+ 	(sbitmap_union_of_predsucc): Likewise.
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
+ 	argument.  All callers changed.
+ 	(delete_null_pointer_checks_1): No longer need to compute the
+ 	pred/succ lists.
+ 
+ 	* gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
+ 	All callers changed.
+ 	(pre_expr_reaches_here_p_work): Likewise.
+ 	(pre_edge_insert): No longer call pre_expr_reaches_here_p.
+ 	* lcm.c (compute_laterin): Fix initialization of LATER.
+ 	(compute_nearerout): Similarly for NEARER.
+ 
+ Sun Nov 14 12:41:57 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (set_nonvarying_address_components): Delete unused function.
+ 	(refers_to_p): Likewise.
+ 
+ Fri Nov 12 20:53:22 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
+ 	needed.
+ 
+ Sat Nov 13 16:20:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
+ 	definition in do while (0).
+ 
+ Fri Nov 12 16:26:25 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
+ 
+ Fri Nov 12 12:43:49 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
+ 
+ Fri Nov 12 15:14:19 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
+ 	(FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
+ 	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
+ 	(INITIAL_FRAME_POINTER_OFFSET): Remove it.
+ 
+ 	* i960.c (i960_function_prologue): Don't allocate space for g8-g11
+ 	saved on the stack.  Output more accurate stack frame statistics
+ 	into assembler file.
+ 
+ 1999-11-12 11:47 -0800  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* genextract.c (record_insn_name): New function.
+ 	(get_insn_name): No longer a stub.
+ 	(main): Call record_insn_name for each insn.  After each label
+ 	written, print the insn name in a comment.
+ 
+ Fri Nov 12 13:45:02 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (const_section, init_section, fini_section): Add
+ 	prototypes.
+ 
+ 	* alpha/elf.h (const_section): Delete declaration.
+ 
+ 	* svr4.h (const_section): Likewise.
+ 
+ Fri Nov 12 08:54:22 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
+ 	* tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
+ 	(unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
+ 	expressions.
+ 	* stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
+ 	variable-sized array bounds.
+ 
+ Fri Nov 12 08:04:45 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME):  Use
+ 	ASM_OUTPUT_LABEL.
+ 
+ Fri Nov 12 13:31:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
+ 	addresses the same way GO_IF_LEGITIMATE_INDEX does.
+ 
+ Fri Nov 12 12:36:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (hash_arg_in_struct): Delete.
+ 	(struct table_elt): Delete elt in_struct.
+ 	(struct set): Delete elt src_in_struct.
+ 	(merge_equiv_classes): Don't set either hash_arg_in_struct or
+ 	the corresponding in_struct elts.
+ 	(canon_hash): Likewise.
+ 	(safe_hash): Likewise.
+ 	(find_best_addr): Likewise.
+ 	(record_jump_cond): Likewise.
+ 	(cse_insn): Likewise.
+ 
+ Thu Nov 11 19:45:24 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
+ 
+ 	* dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
+ 	unsigned types.
+ 
+ Thu Nov 11 18:54:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (diddle_return_value): Put back check that the DECL_RTL
+ 	for the function is a register.
+ 
+ 	* function.c (diddle_return_value): Use hard_function_value to
+ 	get an rtx suitable for use in the USE/CLOBBER insn.
+ 
+ 	* global.c (global_conflicts): Update comments.
+ 	(record_conflicts): No need to record conflicts between pseudos here.
+ 
+ 1999-11-11  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/fixincl.c: Added verbose levels for status messages
+ 
+ Thu Nov 11 13:23:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* jump.c (jump_optimize_1): Avoid passing an rtx that is not an
+ 	operand as argument to expand_and or expand_binop.
+ 
+ Thu Nov 11 02:21:16 1999  Rodney Brown <RodneyBrown@pmsc.com>
+ 
+ 	* xcoffout.c (xcoffout_source_file): Change ggc_add_root to
+ 	gcc_add_string_root.
+ 
+ Wed Nov 10 21:24:19 1999  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
+ 
+ Wed Nov 10 15:56:16 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (compute_flow_dominators): Initially put all blocks on
+ 	the worklist.
+ 	* lcm.c (compute_antinout_edge, compute_available): Similarly.
+ 	* gcse.c (compute_cprop_avinout): Remove.
+ 	(compute_cprop_data): Use compute_available.
+ 	(delete_null_pointer_checks_1): Use compute_available.
+ 
+ 	* basic-block.h (compute_available): Returns a void now.
+ 	* gcse.c (one_classic_gcse_pass): Do not expect compute_available
+ 	to return a value anymore.
+ 	* lcm.c (compute_available, compute_antinout_edge): Revamp to use
+ 	worklists.  Fix boundary cases. Compute maximal solutions.
+ 	(compute_laterin, compute_nearerout): Similarly.
+ 
+ 	* dwarf2out.c (add_AT_location_description): Allow
+ 	(mem (plus (pseudo) (...)) too.
+ 
+ Wed Nov 10 10:52:42 1999  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (do_spec_1): Support text between `%u' and `%O'.
+ 
+ Wed Nov 10 12:43:21 1999  Philippe De Muyter  <phdm@macqel.be>
+ 			  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
+ 
+ 	* gansidecl.h: Likewise.
+ 
+ 	* rtl.c: Likewise.
+ 
+ 	* rtl.h: Likewise.
+ 
+ 	* toplev.h: Likewise.
+ 
+ 	* tree.c: Likewise.
+ 
+ 	* tree.h: Likewise.
+ 
+ 	* varray.c: Likewise.
+ 
+ 	* varray.h: Likewise.
+ 
+ Wed Nov 10 10:57:22 1999  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* gcov.c (struct arcdata): Add hits and total, remove prob.
+ 	(output_branch_counts): New.
+ 	(process_args): Set output_branch_counts if -c.
+ 	(calculate_branch_probs): Store hits and total instead of
+ 	percentage.
+ 	(output_data): Emit counts if output_branch_counts is true.
+ 	* gcov.texi (Invoking Gcov): Document -c switch..
+ 
+ Wed Nov 10 01:10:41 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
+ 	`INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
+ 
+ Wed Nov 10 00:51:41 1999  Hans-Peter Nilsson  <hp@axis.se>
+ 
+ 	* invoke.texi (C Dialect Options): Add missing builtins from
+ 	c-common.c to list.
+ 	* extend.texi (Other Builtins): Copy to this list.
+ 
+ Wed Nov 10 04:58:09 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
+ 	(print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise.  Remove
+ 	redundant bitmap.h.
+ 
+ Wed Nov 10 00:02:53 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (compute_flow_dominators): No longer treat basic block 0
+ 	or (n_basic_blocks - 1) specially.  Clear the AUX field before
+ 	starting computation of doms/pdoms.  Fix initial state for pdoms.
+ 
+ Wed Nov 10 03:58:08 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
+ 	match rtl.o's: added ggc.h and toplev.h
+ 	($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
+ 	($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
+ 	($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
+ 
+ Tue Nov  9 10:30:08 1999  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
+ 	from HAVE_DOS_BASED_FILESYSTEM.
+ 	* gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
+ 	HAVE_DOS_BASED_FILESYSTEM.
+ 	(main): Likewise.
+ 	(split_directories): Only special-case DOS file names if
+ 	HAVE_DOS_BASED_FILE_SYSTEM is defined.  Use IS_DIR_SEPARATOR
+ 	instead of explicit tests.  Conditionalize on !VMS.
+ 	(make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
+ 	tests.  Conditionalize on !VMS.
+ 	(process_command): Only use make_relative_prefix if !VMS.
+ 	(free_split_directories): Conditionalize on !VMS.
+ 	(DIR_UP): Conditionalize on !VMS.
+ 
+ Wed Jun  9 16:57:11 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
+ 
+ Fri Feb  5 14:22:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
+ 	case.
+ 
+ Mon Nov  8 14:16:57 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* invoke.texi (Environment Variables): Document relative path
+ 	lookup.
+ 	* gcc.c (DIR_UP): If not defined, define as "..".
+ 	(standard_bindir_prefix): New static, holds target location to
+ 	install binaries.
+ 	(split_directories): New function to split a filename into
+ 	component directories.
+ 	(free_split_directories): New function, release memory allocated
+ 	by split_directories.
+ 	(make_relative_prefix): New function, make a relative pathname if
+ 	the compiler is not in the expected location.
+ 	(process_command): If GCC_EXEC_PREFIX was not specified, see if we
+ 	can figure out an appropriate prefix from argv[0].
+ 	* Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
+ 	STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX.  Define
+ 	STANDARD_BINDIR_PREFIX.
+ 
+ Wed Nov 10 11:47:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x-protos.h: New file.  Prototypes for functions defined
+ 	in c4x.c.
+ 	* config/c4x/c4x.h: Moved prototypes to c4x.h.
+ 	* config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
+ 	c4x_secondary_memory_needed) Delete.
+ 	(fp_zero_operand): Add mode argument.
+ 
+ Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): Don't use a register
+ 	that is in reload_reg_used.
+ 
+ Tue Nov  9 16:43:00 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm-protos.h: New file: Prototypes for functions
+ 	defined in arm.c and pe.c.
+ 	* config/arm/arm.h: Fix compile time warnings.
+ 	* config/arm/arm.c: Fix compile time warnings.
+ 	* config/arm/pe.h: Fix compile time warnings.
+ 	* config/arm/aout.h: Fix compile time warnings.
+ 
+ Tue Nov  9 14:55:44 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r-protos.h: New file: Prototypes for functions
+ 	defined in m32r.c
+ 
+ 	* config/m32r/m32r.h: Move prototypes to m32r-protos.h
+ 	Add support for subtargets.
+ 	Add prototypes for new predicates.
+ 	Add scheduling macros.
+ 
+ 	* config/m32r/m32r.c: Fix compile time warnings.
+ 	(int8_operand): New predicate function.
+ 	(reg_or_cmp_int16_operand): New predicate function.
+ 	(extend_operand): New predicate function.
+ 	(m32r_adjust_code): New scheduling function.
+ 	(m32r_adjust_priority): New scheduling function.
+ 	(m32r_sched_init): New scheduling function.
+ 	(m32r_sched_reorder): New scheduling function.
+ 	(m32r_sched_variable_issue): New scheduling function.
+ 	(direct_return): New codegen function.
+ 	(m32r_not_same_reg): New rtl testsing function.
+ 
+ 	* config/m32r/m32r.md: Fix compile time warnings.
+ 	Add support for pre decrement and post increment memory
+ 	references.
+ 	Add S<cc> patterns.
+ 	Add fabs patterns.
+ 
+ Mon Nov  8 22:20:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* global.c (EXECUTE_IF_CONFLICT): Don't define.
+ 	(prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
+ 	(find_reg): Likewise.
+ 
+ Mon Nov  8 13:16:46 1999  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
+ 	to avoid assembler errors.
+ 
+ Mon Nov  8 15:38:41 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850-protos.h: New file: Prototypes for functions
+ 	defined in v850.c
+ 	* config/v850/v850.h: Move prototypes to v850-protos.h
+ 	* config/v850/v850.c: Move prototypes to v850-protos.h
+ 	* config/v850/v850.md: Fix compile time warnings.
+ 
+ 	* config/fr30/fr30-protos.h: New file: Prototypes for functions
+ 	defined in fr30.c
+ 	* config/fr30/fr30.h: Move prototypes to fr30-protos.h
+ 	* config/fr30/fr30.c: Fix compile time warnings.
+ 	* config/fr30/fr30.md: Fix compile time warnings.
+ 
+ Mon Nov  8 07:25:37 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (get_containing_scope): Declare it.
+ 	* tree.c (get_containing_scope): New fucntion.
+ 	(decl_function_context): Use it.
+ 	* toplev.c (rest_of_compilation): Use get_containing_scope.
+ 
+ aMon Nov  8 03:03:07 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* Makefile.in (rtl.o): Depend on toplev.h.
+ 
+ Sun Nov  7 20:55:14 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cse.c (delete_trivially_dead_insns): Replace alloca with
+ 	xmalloc/xcalloc.
+ 	* except.c (update_rethrow_references): Likewise.
+ 	(init_eh_nesting_info): Likewise.
+ 	* function.c (identify_blocks): Likewise.
+ 	* gcse.c (dump_hash_table): Likewise.
+ 	* graph.c (print_rtl_graph_with_bb): Likewise.
+ 	* loop.c (combine_movables): Likewise.
+ 	(move_movables): Likewise.
+ 	(count_loop_regs_set): Likewise.
+ 	(strength_reduce): Likewise.
+ 	* profile.c (compute_branch_probabilities): New function, split
+ 	out from ...
+ 	(branch_prob): Here.  Replace alloca with xmalloc/xcalloc.
+ 	* regclass.c (regclass): Likewise.
+ 	* regmove.c (regmove_optimize): Likewise.
+ 	* toplev.c (compile_file): Likewise.
+ 	(main): Don't mess with the stack rlimit.
+ 
+ Sun Nov  7 19:41:17 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
+ 
+ Sun Nov  7 10:23:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
+ 
+ Sun Nov  7 02:58:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
+ 	(EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
+ 	macro expansion.
+ 
+ Sat Nov  6 23:48:30 1999  Robert Lipe  (robertlipe@usa.net)
+ 
+ 	* global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
+ 
+ Sat Nov  6 17:34:39 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (post_dominators): Kill.
+ 	(alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
+ 	(compute_code_hoist_data): Use compute_flow_dominators.  Do not
+ 	pass in a pdom array since we do not need pdoms.
+ 	* haifa-sched.c (schedule_insns): Similarly.
+ 	* flow.c (compute_dominators): Remove dead function.
+ 	(compute_flow_dominators): Do not compute doms or pdoms if the
+ 	caller does not request them.  Split up loop to build doms and
+ 	pdoms.  Use a worklist to compute doms and pdoms.
+ 	* basic-block.h (compute_dominators): Remove prototype.
+ 
+ Sat Nov  6 11:38:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (struct haifa_insn_data, h_i_d): New.
+ 	(insn_luid, insn_priority, insn_costs, insn_units): Remove.
+ 	(insn_reg_weight, insn_depend, insn_dep_count): Remove.
+ 	(insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
+ 	(cant_move, fed_by_spec_load, is_load_insn): Remove.
+ 	(schedule_region): Remove unused variable.
+ 	(schedule_insns): Allocate h_i_d, and not all the separate arrays.
+ 
+ Sat Nov  6 10:00:34 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
+ 	(update_equiv_regs): Likewise.
+ 	(block_alloc): Likewise.
+ 	* reg-stack.c (reg_to_stack): Likewise.
+ 	(convert_regs_2): Likewise.
+ 	* reload1.c (reload_as_needed): Likewise.
+ 
+ Sat Nov  6 09:57:59 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (dbxout.o): Depend on ggc.h.
+ 	(dwarf2out.o): Likewise.
+ 	(xcoffout.o): Likewise.
+ 	* dbxout.c: Include ggc.h.
+ 	(dbxout_init): Register lastfile as a root.
+ 	* dwarf2out.c: Include ggc.h.
+ 	(dwarf2out_line): Register lastfile as a root.
+ 	* xcoffout.c: Include ggc.h.
+ 	(xcoffout_source_line): Register xcoff_lastfile as a root.
+ 
+ Sat Nov  6 09:52:09 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
+ 
+ Sat Nov  6 07:48:59 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
+ 	defined.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ 
+ Fri Nov  5 18:33:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
+ 	(EXECUTE_IF_CONFLICT): Likewise.
+ 	(ALLOCNO_LIVE_P): Avoid signed division.
+ 	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
+ 	(prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
+ 	(record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
+ 
+ Fri Nov  5 12:04:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (schedule_block): Don't crash if there's no
+ 	next insn for an interblock movement.
+ 	(add_branch_dependences): Don't allow clobber insns to move either.
+ 
+ Fri Nov  5 10:18:11 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (split_xf): New.
+ 	* i386-protos.h: Declare it.
+ 	* i386.md (movxf_1): Add general regs alternatives.
+ 	(movxf_1+1): New splitter for same.
+ 
+ Fri Nov  5 12:05:52 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* function.c (purge_addressof_1): Add missing return values.
+ 
+ Fri Nov  5 10:07:25 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* function.c (is_addressof): New function.  Returns true if
+ 	the given piece of RTL is an ADDRESSOF.
+ 	(purge_addressof_1): Make boolean.  Return false if the
+ 	ADDRESSOFs could not be purged.
+ 	(purge_addressof): If ADDRESSOFs could not be purged from the
+ 	notes attached to an insn, remove the offending note(s),
+ 	unless they are attached to a libcall.
+ 
+ 1999-11-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* genoutput.c (null_operand =): Initialize all fields.
+ 
+ 	* errors.h: Add extern to prototypes.
+ 
+ Fri Nov  5 01:44:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
+ 	* configure: Rebuilt.
+ 
+ Fri Nov  5 01:24:37 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
+ 	(mirror_conflicts): New function.
+ 	(global_alloc): Call it.
+ 	(expand_preferences): Remove redundant CONFLICTP test.
+ 	(find_reg, dump_conflicts): Likewise.
+ 	(prune_preferences): Process conflicts one word at a time.
+ 
+ Fri Nov  5 01:05:21 1999  Richard Henderson <rth@cygnus.com>
+ 
+ 	* global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
+ 	instead of an explicit loop.
+ 
+ Thu Nov  4 23:07:14 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Revert Oct 31 change.  When computing src_elt,
+ 	if REG_RETVAL check succeeds, then put classp in src_elt.
+ 
+ Thu Nov  4 23:48:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (pad_to_arg_alignment): Only update argument_pad
+ 	if the argument's alignment is greater than STACK_BOUNDARY.
+ 
+ Thu Nov  4 16:44:53 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* bitmap.h (BITMAP_XFREE): New.
+ 	* flow.c (life_analysis): Use it.
+ 	(life_analysis_1): Free blocks.
+ 
+ 	* combine.c (undo_commit): New.
+ 	(try_combine): Use it.  Don't zap undobuf.undos.
+ 	(combine_instructions): Don't zap undobuf.undos; free the
+ 	undobuf.frees list.
+ 
+ 	* local-alloc.c (local_alloc): Free qty_phys_num_sugg.
+ 
+ 	* stmt.c (cost_table_): New.
+ 	(estimate_case_costs): Use it instead of xmalloc.
+ 
+ 	* toplev.c (compile_file): Reuse dumpname memory instead
+ 	of strdup'ing it.
+ 
+ Thu Nov  4 16:36:44 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reg-stack.c (convert_regs_1): Initialize target_stack->top
+ 	after verifying an EH edge.
+ 
+ 	* haifa-sched.c (init_rgn_data_dependences): Correctly
+ 	size bb_pending_lists_length when zeroing.
+ 
+ Thu Nov  4 16:36:36 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (diddle_return_value): New.
+ 	(expand_function_end): Use it.
+ 	* stmt.c (expand_null_return): Likewise.
+ 	(expand_value_return): Likewise.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
+ 
+ 	* reload1.c (reload): Don't remove return value clobbers.
+ 
+ Thu Nov  4 13:33:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
+ 
+ Thu Nov  4 12:49:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (cse_main): Use xmalloc, not alloca.
+ 	(cse_basic_block): Likewise.
+ 	* local-alloc.c (local_alloc): Likewise.
+ 
+ Thu Nov  4 14:22:12 1999  David Billinghurst  <David.Billinghurst@riotinto.com.au>
+ 			  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* rtl.c: Include toplev.h.
+ 	(fatal): Remove declaration.
+ 
+ Thu Nov  4 06:39:47 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (schedule_block): Fix thinko.
+ 
+ 1999-11-03  James McKelvey <mckelvey@fafnir.com>
+ 
+ 	* fixinc/fixincl.c(create_file):  Allow for systems that do not have
+ 	S_IR* defined values
+ 
+ 1999-11-03  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
+ 	call `malloc' instead.
+ 
+ Wed Nov  3 23:05:14 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* flags.h (flag_renumber_insns): Declare.
+ 	* emit-rtl.c (renumber_insns): Check flag_renumber_insns.  Print
+ 	renumbering table.
+ 	* rtl.h (renumber_insns): Change prototype.
+ 	* toplev.c (flag_renumber_insns): Define.
+ 	(rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
+ 
+ Wed Nov  3 15:11:27 1999  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
+ 	and fpsqrtd.  Use them and create fdiv function unit to more
+ 	accurately represent fpu sqrt pipeline semantics on UltraSPARC.
+ 	* config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
+ 
+ Wed Nov  3 15:11:27 1999  Matteo Frigo <athena@fftw.org>
+ 
+ 	* config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
+ 	3 on UltraSPARC.
+ 	* config/sparc/sparc.c (ultra_schedule_insn): Insert launched
+ 	insn into ready list, do not use just a raw swap.
+ 
+ Wed Nov  3 14:51:59 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (renumber_insns): New function.
+ 	(remove_unnecessary_notes): Likewise.
+ 	* emit-rtl.c (renumber_insns): Define.
+ 	(remove_unnecessary_notes): Likewise.
+ 	* toplev.c (rest_of_compilation): Remove dead code.
+ 	Use renumber_insns and remove_unnecessary_notes.
+ 
+ 	* gcse.c (struct null_pointer_info): New type.
+ 	(get_bitmap_width): New function.
+ 	(current_block): Remove.
+ 	(nonnull_local): Likewise.
+ 	(nonnull_killed): Likewise.
+ 	(invalidate_nonnull_info): Take a null_pointer_info as input.
+ 	(delete_null_pointer_checks_1): New function.
+ 	(delete_null_pointer_checks): Use it.
+ 
+ 	* haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
+ 	(split_edges): Likewise.
+ 	(schedule_block): Likewise.
+ 	(compute_block_backward_dependencies): Likewise.
+ 	(schedule_region): Likewise.
+ 	(schedule_insns): Likewise.
+ 
+ Wed Nov  3 15:40:23 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
+ 	* emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
+ 	* final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
+ 	* ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
+ 	* jump.c (delete_unreferenced_labels): Don't delete if
+ 	LABEL_ALTERNATE_NAME is set.
+ 	* print-rtl.c (print_rtx): Dump alternate name.
+ 	* rtl.def (CODE_LABEL): Change format to "iuuis00s".
+ 	* rtl.h (LABEL_ALTERNATE_NAME): Define.
+ 	* rtl.texi (LABEL_ALTERNATE_NAME): Document.
+ 	* tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
+ 
+ Wed Nov  3 15:39:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fix-header.c (recognized_extern, recognized_function): Constify
+ 	a char*.
+ 
+ 	* lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
+ 	(pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
+ 	(compute_available): Remove unused variable `last'.
+ 	(compute_nearerout): Remove unused variable `temp_bitmap'.
+ 	(pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
+ 	Remove unused variable `x'.
+ 
+ 	* scan.h (recognized_function, recognized_extern): Constify a
+ 	char*.
+ 
+ 	* simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
+ 
+ Wed Nov  3 10:40:53 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* varasm.c (decode_rtx_const): Use XSTR to access the string
+ 	of a SYMBOL_REF.
+ 
+ Wed Nov  3 10:10:58 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (duplicate_decls): Copy DECL_MODE too.
+ 
+ Wed Nov  3 12:12:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
+ 
+ Wed Nov  3 03:26:28 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (ireg_operand): New function.
+ 	* pa.h (PREDICATE_CODES): Handle ireg_operand.
+ 	* pa.md (parallel_addb, parallel_movb): Use ireg_operand.
+ 	Fix out of date comment.
+ 
+ 	* pa.md (negdi2): Turn into expander + anonymous pattern.
+ 
+ 	* reload.c (find_reloads): Fix typos in recent change.
+ 
+ 	* dwarf2out.c: Do not include ctype.h.
+ 
+ Tue Nov  2 21:53:44 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* regclass.c (record_reg_classes): Always use may_move_cost when
+ 	seeing how operand fits with various register classes.
+ 
+ Tue Nov  2 15:38:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
+ 	* toplev.c: Revert Nov 1 13:22 change.
+ 
+ Tue Nov  2 14:21:37 1999  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* config/pa/pa.md (height reduction patterns): Add checks for
+ 	overlapping operands to avoid semantic-destroying splits for
+ 	height reduction patterns.
+ 
+ Tue Nov  2 15:27:31 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
+ 	have been an hyphen, fixed.
+ 	* configure: Rebuilt.
+ 
+ Tue Nov  2 17:04:36 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/tpe.h: Add prototypes for exported functions.
+ 	* config/arm/pe.c: Fix compile time warnings.
+ 	* config/arm/semi.h: Fix compile time warnings.
+ 	* config/arm/arm.c: Fix compile time warnings.
+ 	* config/arm/arm.h: Fix compile time warnings.
+ 	* config/arm/arm.md: Fix compile time warnings.
+ 	* config/arm/thumb.c: Fix compile time warnings.
+ 	* config/arm/thumb.h: Fix compile time warnings.
+ 	* config/arm/thumb.md: Fix compile time warnings.
+ 
+ Tue Nov  2 04:10:24 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* jump.c (jump_optimize_1): Swap the incscc and the conditional mode
+ 	detection code
+ 
+ 	* unroll.c (unroll_loop): Remove LOOP notes when loop is
+ 	completely unrolled.
+ 
+ Tue Nov  2 16:57:22 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
+ 
+ Tue Nov  2 09:43:00 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
+ 	* rtl.h (rtx_equal_p): Move prototype.
+ 	* rtl.c (rtx_equal_function_value_matters): Move from
+ 	rtlanal.c
+ 	(rtx_equal_p): Likewise.
+ 	* rtlanal.c (rtx_equal_function_value_matters): Delete.
+ 	(rtx_equal_p): Likewise.
+ 
+ Mon Nov  1 23:21:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (__do_global_dtors): Only do EH frame stuff if
+ 	! HAS_INIT_SECTION.
+ 
+ Mon Nov  1 23:37:38 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcc.1 (PA options): Remove obsolete -mshared-libs options.
+ 
+ 	* pa.h (ADDR_VEC_ALIGN): Define.
+ 
+ 	* jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
+ 	notes when presented with "if (foo) break; end_of_loop" and
+ 	the break sequence gets moved out of the loop.
+ 
+ 	* unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
+ 	Remove explicit zero initializations of entries within MAP.
+ 
+ Mon Nov  1 18:09:14 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reg-stack.c (convert_regs_1): Handle EH edges specially.
+ 
+ Mon Nov  1 15:41:01 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* bitmap.h (BITMAP_XMALLOC): New macro.
+ 	* flow.c (CLEAN_ALLOCA): Remove.
+ 	(delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
+ 	(life_analysis): Likewise.
+ 	(update_life_info): Don't use CLEAN_ALLOCA.
+ 	(life_analysis_1): Use xmalloc/xcalloc instead of alloca.
+ 	(calculate_global_regs_live): Likewise.
+ 	(print_rtl_with_bb): Likewise.
+ 	(verify_flow_info): Likewise.
+ 	* global.c (global_alloc): Likewise.
+ 	(global_conflicts): Likewise.
+ 	* integrate.c (save_for_inline_nocopy): Likewise.
+ 	(expand_inline_function): Likewise.
+ 	* jump.c (jump_optimize_1): Likewise.
+ 	(duplicate_loop_exit_test): Likewise.
+ 	(thread_jumps): Likewise.
+ 	* loop.c (loop_optimize): Likewise.
+ 	(combine_givs): Likewise.
+ 	(recombine_givs): Likewise.
+ 	* reorg.c (dbr_schedule): Likewise.
+ 	* unroll.c (unroll_loop): Likewise.
+ 
+ 	* combine.c (combine_instructions): Use xmalloc instead of alloca.
+ 
+ Mon Nov  1 13:22:30 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Don't optimize the CFG
+ 	when rebuilding, just before dbr.
+ 
+ Mon Nov  1 14:35:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (assemble_end_function, assemble_destructor,
+ 	assemble_constructor, assemble_gc_entry, assemble_global,
+ 	assemble_label, output_constant_pool) Constify a char*.
+ 
+ 	* varasm.c (assemble_destructor, assemble_constructor,
+ 	assemble_gc_entry, assemble_end_function, assemble_global,
+ 	assemble_label, output_constant_pool): Likewise.
+ 
+ Mon Nov  1 14:22:51 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c (thumb_expand_prologue): Add comments
+ 	explaining what is goin on in this function.
+ 
+ Mon Nov  1 08:03:15 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* regclass.c (record_reg_classes): In matching case, recompute
+ 	costs since the direction of movement is different.
+ 
+ Sun Oct 31 21:59:34 MST 1999  Diego Novillo <dnovillo@cygnus.com>
+ 
+ 	* resource.c (mark_target_live_regs): For unconditional branches,
+ 	the resources found at the branch target should be added to the
+ 	resources found so far, not intersected.
+ 
+ Sun Oct 31 15:48:49 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
+ 	old cpp's.
+ 	* fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
+ 	(sys/mman.h): Include this file only if #HAVE_MMAP.
+ 	(run_compiles): Initialize `esac_fmt' with one old KR string, not
+ 	with automatically concatenated ANSI strings.
+ 
+ Sun Oct 31 23:57:07 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-page.c (struct page_entry): Remove save_num_free_objects.
+ 	(DIV_ROUND_UP): Robustify.
+ 	(ggc_recalculate_in_use_p): New function.
+ 	(release_pages): Don't inline it.
+ 	(ggc_alloc_obj): Don't refuse to allocate objects on pages for
+ 	outer contexts.
+ 	(ggc_pop_context): Use ggc_recalculate_in_use_p.
+ 	(clear_marks): Always save in_use_p.
+ 	(sweep_pages): Use ggc_recalculate_in_use_p.
+ 	(ggc_page_print_statistics): Avoid signed/unsigned comparisons.
+ 	Release pages before counting statistics.
+ 
+ Sun Oct 31 23:42:37 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.c (rest_of_compilation): Fix thinko in this change:
+ 
+ 	Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
+ 
+ 	(rest_of_compilation): If inside an inlined external function,
+ 	pretend we are just being declared.
+ 
+ Sun Oct 31 23:03:25 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (calculate_global_regs_live): Fix thinko.
+ 
+ 	* integrate.c (expand_inline_function): Fix bugs in previous
+ 	change from Oct 28, 1999.
+ 
+ Sun Oct 31 20:27:45 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_value_return): Fix typo in this change:
+ 
+ 	Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	(expand_value_return): Correctly convert VAL when promoting function
+ 	return; support RETURN_REG being a PARALLEL.
+ 
+ Sun Oct 31 20:25:42 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
+ 
+ Sun Oct 31 20:42:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* hard-reg-set.h (reg_names): Constify a char*.
+ 
+ 	* regclass.c  (reg_names): Likewise.
+ 
+ 	* regs.h (reg_names): Likewise
+ 
+ 	* a29k/a29k.c (reg_names): Delete declaration.
+ 
+ 	* a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
+ 
+ 	* arc/arc.c (arc_save_restore, arc_output_function_prologue,
+ 	arc_output_function_epilogue): Likewise.
+ 
+ 	* elxsi/elxsi.c (reg_names): Likewise.
+ 
+ 	* gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
+ 
+ 	* m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
+ 	Likewise.
+ 
+ 	* m88k/m88k.c (output_function_profiler): Likewise.
+ 
+ 	* sparc/sparc.c (sparc_flat_output_function_prologue,
+ 	sparc_flat_output_function_epilogue): Likewise.
+ 
+ Sun Oct 31 13:32:15 CET 1999  Marc Lehmann <pcg@goof.com>
+ 
+ 	* toplev.c (rest_of_compilation): Separate the setjmp/vfork clobber
+ 	warning from -Wuninitialized and put it under -W.
+ 	* function.c (uninitialized_vars_warning): Warn only when the
+ 	corresponding flag is set.
+ 
+ Sun Oct 31 01:53:30 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): If an insn has only a single set, SRC_EQV
+ 	is nonzero and the single set does not have an elt, then assign
+ 	it an elt.
+ 
+ 	* simplify-rtx.c: New file.
+ 	* Makefile.in (OBJS): Add simplify-rtx.o
+ 	(simplify-rtx.o): Add dependencies.
+ 	* rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
+ 	* cse.c: Use simplify_gen_binary intead of cse_gen_binary.
+ 	(cse_gen_binary, simplify_unary_operation): Delete.
+ 	(simplify_binary_operation, simplify_plus_minus): Likewise.
+ 	(check_fold_consts, simplify_relation_operation): Likewise.
+ 	(simplify_ternary_operation): Likewise.
+ 	(delete_trivially_dead_insns): Simplify the contents of the
+ 	REG_EQUAL note before trying to substitute it into the source
+ 	of the reg-reg copy at the end of a libcall sequence.
+ 
+ 	* combine.c (combine_simplify_rtx): Renamed from simplify_rtx.  All
+ 	references/callers changed.
+ 
+ 	* mn10200.c (mn10200_va_arg): Force the return value into a
+ 	register.
+ 
+ 	* fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
+ 
+ 	* cccp.c (macroexpand): Avoid out of range accesses for omitted
+ 	arguments.
+ 
+ Sat Oct 30 22:42:50 1999  Stephen L Moshier <moshier@mediaone.net>
+ 
+ 	* c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
+ 
+ Sat Oct 30 22:19:26 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (fold): Fix thinko when optimizing comparisons
+ 	against -0.0.
+ 
+ Sat Oct 30 21:32:17 1999  David Starner  <dstarner98@aasaa.ofe.org>
+ 
+ 	* gcc.texi (Passes): Update front-end files to their current
+ 	location.
+ 
+ Sat Oct 30 14:41:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+ 	(PREDICATE_CODES): Add addition_operation.
+ 	* alpha-protos.h (addition_operation): Declare.
+ 	(secondary_reload_class): Likewise.
+ 	* alpha.c (addition_operation): New.
+ 	(secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
+ 	* alpha.md (adddi3): Turn into expander.
+ 	(*lda, *adddi_2): New.
+ 	(movsf, movdf patterns): Don't preference integer regs.
+ 	(movsi, movdi patterns): Don't preference fp regs.
+ 
+ Sat Oct 30 14:38:22 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (write_switch): Check for duplicate CODE cases.
+ 
+ Sat Oct 30 14:31:48 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-common.c: Update pre-function commentary.
+ 	* ggc-page.c: Likewise.
+ 	(poison): Remove.
+ 	(poison_pages): Use memset directly.
+ 	(ggc_alloc_obj): Likewise.  Use a different pattern than poison_pages.
+ 	(ggc_collect): Poison before sweeping.
+ 	* ggc-simple.c: Update pre-function commentary.
+ 	(ggc_alloc_obj): Poison nonzeroed memory.
+ 
+ Sat Oct 30 14:28:52 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-common.c (ggc_print_statistics): Make arguments to fprintf
+ 	match format string, even on 64-bit hosts.
+ 	* gcc-page.c (ggc_page_print_statistics): Likewise.
+ 
+ Sat Oct 30 14:38:04 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/i386/i386.c (ix86_cpu): Revert last patch.
+ 	* config/i386/i386.h (ix86_cpu): Ditto.
+ 
+ Fri Oct 29 17:00:42 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
+ 	TYPE_SIZE, convert type of result to sizetype.
+ 
+ Fri Oct 29 14:34:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (count_or_remove_death_notes): Equate NULL with the
+ 	universal set.
+ 
+ 	* jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
+ 	* toplev.c (rest_of_compilation): Rebuild CFG immediately before
+ 	dbr_schedule.
+ 
+ 	* i386.c (pic_label_no): Delete.
+ 	(ix86_attr_length_default): Don't use single_set to peek
+ 	inside a parallel.
+ 
+ 	* recog.c (peephole2_optimize): Allow recog_next_insn to index
+ 	the first insn after bb->end.
+ 	* i386.md (push mem peeps): Scratch is live after evaluation
+ 	of the memory.
+ 	(cmp mem peep): Similarly.
+ 
+ Fri Oct 29 11:50:11 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* calls.c (emit_library_call_value): Fix declaration of alignment_pad.
+ 	* function.c (pad_to_arg_alignment): Add missing braces.
+ 
+ Fri Oct 29 13:53:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha/alpha-protos.h (literal_section): Add prototype.
+ 	(alpha_need_linkage, alpha_start_function,alpha_end_function):
+ 	Constify a char*.
+ 
+ 	* alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
+ 	prototype.
+ 	(alpha_start_function, alpha_end_function, float_strings,
+ 	alpha_need_linkage): Constify a char*
+ 
+ 	* alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ 	* alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ 	* alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ Fri Oct 29 13:49:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* flow.c (debug_flow_info): Add prototype.
+ 
+ 	* gcc.c (main): Likewise.
+ 
+ 	* gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
+ 	Likewise.
+ 
+ 	* reload1.c (failed_reload, set_reload_reg): Likewise.
+ 
+ 	* mips-tfile.c (main): Likewise.
+ 	(pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
+ 	with ATTRIBUTE_NORETURN.
+ 
+ Fri Oct 29 18:16:03 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
+ 	DECL is not a memory ref.
+ 
+ Fri Oct 29 09:05:34 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/i386/i386.h (ix86_cpu): Remove extern attribute.
+ 	* config/i386/i386.c (ix86_cpu): Add extern attribute.
+ 
+ Fri Oct 29 16:30:04 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
+ 	* config/mips/elf64.h: ditto.
+ 
+ Fri Oct 29 08:03:57 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* expr.c (emit_push_insn): New argument alignment_pad.
+ 	Update all callers.  Adjust stack pointer based on alignment pad.
+ 	* function.c (pad_to_arg_alignment):  New argument alignment_pad.
+ 	Update all callers.  Track alignment_pad if boundary > PARM_BOUNDARY.
+ 	(locate_and_pad_parm): New argument alignment_pad.  Update all
+ 	callers.
+ 	* expr.h (emit_push_insn): Update prototype.
+ 	(locate_and_pad_parm): Update prototype.
+ 	* calls.c (arg_data):  Add new field alignment_pad.
+ 	(initialize_argument_information): Initialize alignment_pad.
+ 
+ Fri Oct 29 02:51:35 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.c (free_eh_nesting_info): Free the info itself.
+ 	* function.c (free_after_compilation): Don't free NULL.
+ 	* gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
+ 	(pre_edge_insert): Free inserted.
+ 	* stmt.c (free_stmt_status): Don't free NULL.
+ 
+ Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
+ 
+ 	* gcov.c (DIR_SEPARATOR): Provide default.
+ 	(output_data): Add test for MS-DOS format absolute filename.
+ 	(fancy_abort): Correct program name.
+ 	(open_files): Open all files in binary mode.
+ 	* libgcc2.c (__bb_exit_func): Likewise.
+ 
+ 	* profile.c (init_branch_prob): Specify binary when opening files.
+ 
+ 	* flags.h (flag_unwind_tables): New decl.
+ 	* toplev.c (flag_unwind_table): New definition.
+ 	(f_options): Add -funwind-tables.
+ 	(decode_g_option): Clarify warning when unknown -g option is given.
+ 	(rest_of_compilation): If inside an inlined external function,
+ 	pretend we are just being declared.
+ 
+ 	* dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
+ 	(dwarf2out_frame_finish): Likewise.
+ 
+ Fri Oct 29 07:44:26 1999  Vasco Pedro  <vp@di.fct.unl.pt>
+ 
+ 	* fold-const.c (merge_ranges): If not in0, but in1, handle
+ 	upper bounds equal like subset case.
+ 
+ Thu Oct 28 19:22:24 1999  Douglas Rupp <rupp@gnat.com>
+ 
+ 	* dbxout.c (dbxout_parms): Generate a second stabs line for parameters
+ 	passed in a register but moved to the stack.
+ 
+ Thu Oct 28 19:12:57 1999  Sam Tardieu  <tardieu@act-europe.fr>
+ 
+ 	* gcc.c (pass_exit_codes, greatest_status): New variables.
+ 	(struct option_map): Add entry for "--pass-exit-codes".
+ 	(execute): Update greatest_status if error.
+ 	(display_help): Add documentation for -pass-exit-codes.
+ 	(process_command): Handle -pass-exit-codes.
+ 	(main): Look at pass_exit_codes and greatest_status on call to exit.
+ 
+ Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload.c (find_reloads): Refine test for no input reload
+ 	case to not includes reloads emitted after insn.
+ 
+ 	* function.c (find_temp_slots_from_address): Handle sum involving
+ 	a register that points to a temp slot.
+ 	(update_temp_slot_address): Make recursive call if both old and
+ 	new are PLUS with a common operand.
+ 	* calls.c (expand_call): Mark temp slot for result as having
+ 	address taken.
+ 
+ 	* rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
+ 
+ 	* gcc.c (process_command): Add standard_exec_prefix with "GCC"
+ 	component as well as "BINUTILS".
+ 
+ 	* integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	(expand_inline_function, integrate_parm_decls, integrate_decl_tree):
+ 	All callers changed.
+ 	* unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
+ 
+ 	* dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
+ 	gdb extensions, write size of type; also be more consistent
+ 	in using references when this is a subtype.
+ 
+ 	* pa.md (extv, extzv, insv): Use define_expand to reject constant
+ 	that is out of range.
+ 
+ 	* loop.c (unknown_constant_address_altered): New variable.
+ 	(prescan_loop): Initialize it.
+ 	(note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
+ 	(invariant_p, case MEM): Remove handling for volatile and readonly;
+ 	check new variable if readonly.
+ 	(check_dbra_loop): Chdeck unknown_constant_address_altered.
+ 
+ 	* cse.c (canon_hash, case MEM): Do not record if BLKmode.
+ 	(addr_affects_sp_p): Removed from note_mem_written and only
+ 	define #ifdef AUTO_INC_DEC.
+ 
+ 	* alpha.c (input_operand, case ADDRESSOF): Treat as REG.
+ 
+ 	* regclass.c (record_reg_classes): Properly handle register move
+ 	directions.
+ 
+ 	* varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
+ 	Don't think valid if both operands are invalid.
+ 	(struct constant_descriptor): New field RTL.
+ 	(mark_const_hash_entry): Mark it.
+ 	(record_constant{,_rtx}): Initialize it.
+ 	(output_constant_def): Allocate RTL in permanent obstack and
+ 	save in table.
+ 	({record,compare}_constant_1): Modes must match for
+ 	CONSTRUCTOR of ARRAY_TYPE.
+ 
+ 	* c-common.h (initializer_constant_valid_p): Delete decl from here.
+ 	* output.h (initializer_constant_valid_p): Move decl to here.
+ 	* c-common.c (initializer_constant_valid_p): Delete function from here.
+ 	* varasm.c (initializer_constant_valid_p): Move function to here.
+ 
+ 	* tree.h (STRIP_SIGN_NOPS): New macro.
+ 	* fold-const.c (optimize_minmax_comparison): New function.
+ 	(invert_truthvalue, case WITH_RECORD_EXPR): New case.
+ 	(fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
+ 	(fold, case EQ_EXPR): Call optimize_minmax_comparison and add
+ 	cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
+ 	widening conversions.
+ 	(fold, case LE_EXPR): Rework changing unsigned to signed comparisons
+ 	to look at size of mode, not precision of type; also add missing cases.
+ 	(optimize_bit_field_compare, decode_field_reference): Don't try to
+ 	optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
+ 
+ 	* dwarf2out.c (ctype.h): Include.
+ 	(dwarf2out_set_demangle_name_func): New function.
+ 	(size_of_line_info): Deleted.
+ 	(output_line_info): Compute size of line info table from difference
+ 	of labels.
+ 	(base_type_die, add_name_attribute): Call demangle function, if any.
+ 	(field_byte_offset): Use bits per word for variable length fields.
+ 	(gen_array_type_die): Add array name.
+ 	(gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
+ 	(dwarf2out_add_library_unit_info): New function.
+ 
+ 	* explow.c (set_stack_check_libfunc): New function.
+ 	(stack_check_libfunc): New static variable.
+ 	(probe_stack_range): Allow front-end to set up a libfunc to call.
+ 
+ 	* combine.c (simplify_comparison): When making comparison in wider
+ 	mode, check for having commuted an AND and a SUBREG.
+ 	(contains_muldiv): New function.
+ 	(try_combine): Call it when dividing a PARALLEL.
+ 	(simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
+ 	(simplify_comparison, case ASHIFTRT): Recognize sign-extension of
+ 	a PLUS.
+ 	(record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
+ 	use one of the CLOBBERs instead.
+ 	(if_then_else_cond): If comparing against zero, just return thing
+ 	being compared.
+ 
+ 	* optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
+ 	Don't generate shifts and subtract if have conditional arithmetic.
+ 
+ 	* rtl.h (delete_barrier): New declaration.
+ 	* jump.c (jump_optimize): Set up to handle conditional call.
+ 	In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
+ 	(delete_barrier): New function.
+ 
+ 	* rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
+ 
+ 	* recog.c (nonmemory_operand): Accept ADDRESSOF.
+ 
+ 	* tree.c (build_type_attribute_variant): Push to obstack of
+ 	ttype around type_hash_canon call.
+ 
+ 	* expr.c (placeholder_list): Move decl to file scope.
+ 	(expand_expr): Don't force access to volatile just because its
+ 	address is taken.
+ 	If ignoring reference operations, just expand the operands.
+ 	(expand_expr, case COMPONENT_REF): Propagate
+ 	EXPAND_CONST_ADDRESS to recursive call when expanding inner.
+ 	Refine test for using bitfield operations vs pointer punning.
+ 	(expand_expr, case CONVERT_EXPR): If converting to
+ 	BLKmode UNION_TYPE from BLKmode, just return inner object.
+ 	Use proper mode in store_field call.
+ 	Properly set sizes of object to store and total size in store_field
+ 	call for convert to union.
+ 	(expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
+ 	memory (like for ADDR_EXPR).  Also, don't put constant in register if
+ 	we'll want it in memory.
+ 	(readonly_fields_p): New function.
+ 	(expand_expr, case INDIRECT_REF): Call it if LHS.
+ 	(expand_assignment): Handle a RESULT_DECL where
+ 	DECL_RTL is a PARALLEL.
+ 	(do_jump, case WITH_RECORD_EXPR): New case.
+ 	(get_inner_reference): Always go inside a CONVERT_EXPR
+ 	and NOP_EXPR if both modes are the same.
+ 	(store_field): Use bitfield operations if size of bitsize is not same
+ 	as size of RHS's type.
+ 	Check for bitpos not a multiple of alignment in BLKmode case.
+ 	Do block move in largest possible alignment.
+ 	(store_constructor): Set BITSIZE to -1 for variable size and properly
+ 	in case of array of BLKmode.
+ 	(expand_expr_unaligned): New function.
+ 	(do_compare_and_jump): Call it.
+ 
+ 	* mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
+ 	* collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
+ 	does not include 'o'.
+ 
+ 	* function.c (instantiate_virtual_regs_1, case SET): Handle case where
+ 	both SET_DEST and SET_SRC reference a virtual register.
+ 	(gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
+ 
+ 	* integrate.c (expand_inline_function): Handle case of setting
+ 	virtual stack vars register (from built in setjmp); when parameter
+ 	lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
+ 	(subst_constant): Add new parm, MEMONLY.
+ 	(expand_inline_function, integrate_parm_decls): Pass new parm.
+ 	(integrate_decl_tree): Likewise.
+ 	(copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
+ 	(try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
+ 	(copy_rtx_and_substitute, case SET): Add explicit calls to
+ 	copy_rtx_and_substitute for both sides.
+ 
+ 	* stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
+ 	constraints.
+ 	(pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
+ 	within INDEX_TYPE, instead of before.
+ 	(fixup_gotos): Use f->target_rtl, not the next insn,
+ 	since latter may be from a later fixup.
+ 	(expand_value_return): Correctly convert VAL when promoting function
+ 	return; support RETURN_REG being a PARALLEL.
+ 	(expand_return): When checking for result in regs and having
+ 	cleanup, consider PARALLEL in DECL_RTL as being in regs.
+ 
+ 1999-10-28 21:27 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cpplib.h (struct cpp_buffer: fname, nominal_fname,
+ 	last_nominal_fname): Mark const.
+ 	(struct include_hash: name, nshort, control_macro): Mark
+ 	const.
+ 	(struct macrodef: symnam): Mark const.
+ 	(struct if_stack: fname): Mark const.
+ 	(is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
+ 	(IStable): New character-syntax array which encompasses all
+ 	the old is_foo arrays.
+ 	(is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
+ 	is_space): New macros for interrogating IStable.
+ 	(check_macro_name): Kill last argument.  All callers changed.
+ 
+ 	* cppinit.c (initialize_char_syntax): Delete.
+ 	(is_idchar, is_idstart, is_hor_space, is_space,
+ 	trigraph_table): Delete.
+ 	(IStable): New.  Initialize with clever macros to avoid
+ 	information duplication.
+ 	(builtin_array): Table of builtins to get rid of explicit list
+ 	in initialize_builtins.
+ 	(initialize_builtins): Use builtins_array.
+ 	(cpp_start_read): Call init_IStable, and set IStable['$'] if
+ 	opts->dollars_in_ident.
+ 
+ 	* cppexp.c: Change all refs to is_xyz[] arrays to use new
+ 	is_xyz() macros.
+ 	(cpp_parse_expr): Avoid 'format string is not constant'
+ 	warning. Use ISGRAPH to identify printable chars.
+ 	* cppfiles.c: Change all refs to is_xyz[] arrays to use new
+ 	is_xyz() macros.
+ 	(read_and_prescan): Map trigraphs to chars with open-coded
+ 	if-else-if-... sequence, not a lookup table.
+ 	* cpphash.c: Change all refs to is_xyz[] arrays to use new
+ 	is_xyz() macros.
+ 	* cpplib.c: Change all refs to is_xyz[] arrays to use new
+ 	is_xyz() macros.  Kill SKIP_ALL_WHITE_SPACE (unused).
+ 	(check_macro_name): Remove ability to report an invalid
+ 	assertion name, which is never used.
+ 	(do_line): Constify a couple of char *'s.
+ 	* cppmain.c (main): Call cpp_cleanup before returning.
+ 
+ Thu Oct 28 21:16:35 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc.h (struct ggc_statistics): New type.
+ 	(ggc_get_size): New function.
+ 	(ggc_print_statistics): Likewise.
+ 	* ggc-common.c (ggc_stats): New variable.
+ 	(ggc_mark_rtx_children): Keep statistics.
+ 	(ggc_mark_tree_children): Likewise.
+ 	(ggc_print_statistics): New function.
+ 	* ggc-page.c (struct globals): Add bytes_mapped field.
+ 	(alloc_anon): Update it.
+ 	(release_pages): Likewise.
+ 	(ggc_get_size): New function.
+ 	(ggc_page_print_statistics): New function.
+ 	* ggc-simple.c (ggc_get_size): New function.
+ 
+ Fri Oct 29 06:32:44 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* flow.c (propagate_block): When the last reference to a label
+ 	before an ADDR_VEC is deleted because the reference is a dead
+ 	store, delete the ADDR_VEC.
+ 
+ Thu Oct 28 12:28:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* resource.c (find_free_register): Don't use the frame pointer
+ 	if frame_pointer_needed.
+ 
+ Thu Oct 28 10:02:00 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
+ 	(function_arg_pass_by_reference): Check for a NULL pointer in cum.
+ 
+ 	* config/i960/i960.c (i960_va_start): New locals base, num.
+ 	Use INDIRECT_REF instead of ARRAY_REF on valist.
+ 	(i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
+ 
+ Thu Oct 28 09:45:48 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gcse.c (delete_null_pointer_checks): Fix typo in previous change.
+ 
+ Thu Oct 28 03:37:50 1999  Peter Gerwinski <peter@gerwinski.de>
+ 
+ 	* tree.def (PLACEHOLDER_EXPR): Update comments.
+ 
+ Thu Oct 28 06:47:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (check_format_info): Avoid non-literal format string
+ 	warnings when `first_arg_num' is zero.
+ 
+ Thu Oct 28 12:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
+ 
+ Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.md (casesi_insn): Add a clobber of the condition code
+ 	register.
+ 
+ Mon Oct 18 21:16:06 1999  Fred Fish  <fnf@be.com>
+ 
+ 	* tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
+ 	used by both cc1 and cc1plus.
+ 
+ Thu Oct 28 10:00:48 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Initialize arm_structure_size_boundary to
+ 	DEFAULT_STRUCTURE_SIZE_BOUNDARY.
+ 	* config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
+ 	to the value 32 if it has not already been defined.
+ 	* config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
+ 	Override definition in arm.h with a value of 8.
+ 
+ Thu Oct 28 03:12:02 1999  David Starner  <dstarner98@aasaa.ofe.org>
+ 
+ 	* c-pragma.c (push_alignment): Don't check the return value
+ 	of xmalloc.
+ 
+ Thu Oct 28 03:08:38 1999  Matteo Frigo <athena@fftw.org>
+ 
+ 	* sparc.h (ADJUST_COST): Fix thinko.
+ 
+ Thu Oct 28 02:44:03 1999  Glen Nakamura  <glen.nakamura@usa.net>
+ 
+ 	* cccp.c (rescan): Fixed obp pointer handling around call to
+ 	check_expand subroutine.
+ 
+ Thu Oct 28 02:15:22 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (delete_null_pointer_checks): Only record non-null info
+ 	for pseudos when examining stores.
+ 
+ 	* arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
+ 	splitters for these patterns.  Use "#" for output templates.
+ 	(addsi3_carryin_shift): New pattern.
+ 
+ Thu Oct 28 10:20:02 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
+ 	of the function return register into a plain REG until
+ 	after function inlining is done.
+ 
+ Wed Oct 27 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): If we did cross-jumping, and
+ 	the data will matter, rebuild the CFG.
+ 	* reg-stack.c (reg_to_stack): Only (re)build the CFG if
+ 	not optimizing.  Don't run shorten_branches.
+ 	* toplev.c (rest_of_compilation): Run shorten_branches after
+ 	reg_to_stack.
+ 
+ Wed Oct 27 12:33:40 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (note_stores): Add additional parameter.
+ 	* rtlanal.c (reg_set_p_1): Take additional parameter.
+ 	(reg_set_last_1): Likewise.
+ 	(reg_set_p): Adjust call to note_stores.
+ 	(reg_set_last): Likewise.
+ 	(note_stores): Pass data parameter to worker function.
+ 	* alias.c (record_set): Take additional parameter.
+ 	(init_alias_analysis): Pass it.
+ 	* caller-save.c (mark_set_regs): Take additional parameter.
+ 	(save_call_clobbered_regs): Pass NULL to note_stores.
+ 	* combine.c (set_nonzero_bits_and_sign_copies): Take additional
+ 	parameter.
+ 	(record_dead_and_set_regs_1): Likewise.
+ 	(reg_dead_at_p_1): Likewise.
+ 	(combine_instructions): Adjust calls to note_stores.
+ 	(try_combine): Likewise.
+ 	(record_dead_insn): Remove.
+ 	(record_dead_and_set_regs): Adjust calls to note_stores.
+ 	(reg_dead_at_p): Likewise.
+ 	* cse.c (invalidate_skipped_set): Take additional parameter.
+ 	(cse_check_loop_start): Likewise.
+ 	(cse_check_loop_start_value): Remove.
+ 	(cse_set_around_loop): Adjust calls to note_stores.
+ 	* flow.c (notice_stack_pointer_modification): Take additional
+ 	parameter.  Remove duplicate declaration.
+ 	(record_volatile_insns): Adjust calls to note_stores.
+ 	* gcse.c (record_set_info): Take additional parameter.
+ 	(record_last_set_info): Likewise.
+ 	(invalidate_nonnull_info): Likewise.
+ 	(record_set_insn): Remove.
+ 	(compute_sets): Adjust calls to note_stores.
+ 	(last_set_insn): Remove.
+ 	(compute_hash_table): Adjust calls to note_stores.
+ 	(insert_insn_end_bb): Likewise.
+ 	(delete_null_pointer_checks): Likewise.
+ 	* global.c (mark_reg_store): Take additional parameter.
+ 	(mark_reg_clobber): Likewise.
+ 	(reg_becomes_live): Likewise.
+ 	(global_conflicts): Adjust calls to note_stores.
+ 	(build_insn_chain): Likewise.
+ 	* integrate.c (note_modified_parmregs): Take additional parameter.
+ 	(mark_stores): Likewise.  Make it static.
+ 	(save_for_inline_nocopy): Adjust calls to note_stores.
+ 	(try_constants): Likewise.
+ 	* integrate.h (mark_stores): Remove declaration.
+ 	* jump.c (mark_modified_reg): Take additional parameter.
+ 	(thread_jumps): Adjust calls to note_stores.
+ 	* local-alloc.c (validate_equiv_mem_from_store): Take additional
+ 	parameter.
+ 	(no_equiv): Likewise.
+ 	(reg_is_set): Likewise.
+ 	(validate_equiv_mem): Adjust calls to note_stores.
+ 	(update_equiv_regs): Likewise.
+ 	(block_alloc): Likewise.
+ 	* loop.c (note_set_pseudo_multiple_uses_retval): Remove.
+ 	(note_addr_stored): Take additional parameter.
+ 	(note_set_pseudo_multiple_uses): Likewise.
+ 	(record_initial): Likewise.
+ 	(prescan_loop): Adjust calls to note_stores.
+ 	(strength_reduce): Likewise.
+ 	(check_dbra_loop): Likewise.
+ 	* regmove.c (flags_set_1): Take additional parameter.
+ 	(mark_flags_life_zones): Adjust calls to note_stores.
+ 	* reload1.c (mark_not_eliminable): Take additional parameter.
+ 	(forget_old_reloads_1): Likewise.
+ 	(reload_cse_invalidate_rtx): Likewise.
+ 	(reload_cse_check_clobber): Likewise.
+ 	(reload_combine_note_store): Likewise.
+ 	(move2add_note_store): Likewise.
+ 	(reload): Adjust calls to note_stores.
+ 	(reload_as_needed): Likewise.
+ 	(emit_reload_insns): Likewise.
+ 	(reload_cse_regs_1): Likewise.
+ 	(reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
+ 	(reload_combine): Adjust calls to note_stores.
+ 	* resource.c (update_live_status): Take additional parameter.
+ 	(mark_target_live_regs): Adjust calls to note_stores.
+ 	* stupid.c (find_clobbered_regs): Take additional parameter.
+ 	(stupid_life_analysis): Adjust calls to note_stores.
+ 
+ Wed Oct 27 19:26:12 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
+ 	definition.
+ 
+ 	* config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
+ 	definition.
+ 
+ 	* config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
+ 	of the variable arm_structure_size_boundary.
+ 
+ Wed Oct 27 02:05:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* alias.c (init_alias_analysis): Allocate reg_known_value and
+ 	reg_known_equiv_p on the heap.  Likewise for new_reg_base_value
+ 	and reg_seen.
+ 	(end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
+ 	* cse.c (cse_main): Call end_alias_analysis.
+ 	* haifa-sched.c (schedule_insns): Likewise.
+ 	* local-alloc. (update_equiv_regs): Likewise.
+ 	* reload1.c (reload_cse_regs): Likewise.
+ 
+ Wed Oct 27 01:49:17 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
+ 	* sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
+ 	mapping from MASK_FPU.
+ 
+ Wed Oct 27 01:42:26 1999  Scott Christley  <scottc@net-community.com>
+ 
+ 	* sparc.md (call): Don't bound structure return size to 0xfff.
+ 
+ Wed Oct 27 00:56:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* resource.c (mark_target_live_regs): Check that the target
+ 	insn wasn't created after compute_bb_for_insn.
+ 
+ Tue Oct 26 23:15:03 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-page.c (poison_pages): Don't be overzealous.
+ 
+ Tue Oct 26 23:29:18 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c: Update comments for ADDRESS.
+ 	(nonlocal_reference_p): Look inside the ADDRESS to determine if
+ 	it is a local memory reference.
+ 
+ 	* c-typeck.c (build_function_call): Check that the built-in
+ 	function is of class BUILT_IN_NORMAL before trying to recongize
+ 	it as BUILT_IN_ABS.
+ 	* calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
+ 	* stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
+ 
+ Wed Oct 27 00:14:13 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
+ 	of alloca.
+ 	(pre_gcse): Likewise.
+ 	(hoist_expr_reaches_here_p): Likewise.
+ 	(hoist_code): Likewise.
+ 	(pre_expr_reaches_here_p): Replace alloca with xcalloc.  Move core
+ 	code to ...
+ 	(pre_expr_reaches_here_p_work): ... here.
+ 	(expr_reaches_here_p): Replace alloca with xcalloc.  Move core
+ 	code to ...
+ 	(expr_reaches_here_p_work): ... here.
+ 
+ Tue Oct 26 20:42:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* resource.c (find_basic_block): Delete.
+ 	(mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
+ 	(init_resource_info): Call compute_bb_for_insn.
+ 
+ Tue Oct 26 20:21:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (merge_blocks_move_predecessor_nojumps): Cope
+ 	with already adjacent blocks, but no fallthru.
+ 	(merge_blocks_move_successor_nojumps): Simplify.
+ 	(debug_flow_info): New.
+ 
+ 	* toplev.c (rest_of_compilation): Open jump1 dump file before
+ 	jump and close after, as opposed to just using dump_rtl.
+ 
+ Wed Oct 27 03:09:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload.h (earlyclobber_operand_p): Declare.
+ 	* reload.c (earlyclobber_operand_p): Don't declare.  No longer static.
+ 	* reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
+ 	an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
+ 	case where the RELOAD_OTHER reload is new.  Use earlyclobber_operand_p.
+ 
+ Tue Oct 26 18:23:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (emit_block_insn_before): New.
+ 	(emit_block_insn_after): New.
+ 	* basic-block.h: Declare them.
+ 
+ 	* bitmap.h: Protect from multiple inclusion.
+ 
+ 	* recog.c (scratch_operand): Handle VOIDmode correctly.
+ 
+ 	* rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
+ 
+ 	* builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
+ 	* function.c (assign_parms): Likewise.
+ 	* global.c (global_conflicts): Clarify STACK_REGS commentary.
+ 
+ 	* reg-stack.c (max_uid): Remove.
+ 	(blocks, block_begin, block_end, block_drops_in): Remove.
+ 	(block_stack_in, block_out_reg_set, block_number): Remove.
+ 	(struct block_info_def, BLOCK_INFO): New.
+ 	(enum emit_where): New.
+ 	(current_block): New.
+ 	(BLOCK_NUM): Remove.
+ 	(mark_regs_pat, record_label_references): Remove.
+ 	(record_reg_life_pat, record_reg_life, find_blocks): Remove.
+ 	(nan): New.
+ 	(goto_block_pat, print_blocks, dump_stack_info): Remove.
+ 	(reg_to_stack): Simplified test for existence of fp code.  Use
+ 	flow.c code.  Call shorten_branches after cross-jump opt.
+ 	(check_asm_stack_operands): Renamed from record_asm_reg_life.
+ 	Return false if the asm doesn't use stack regs.  Don't do life
+ 	analysis on the asm.
+ 	(emit_pop_insn): Replace function pointer arg `when' with
+ 	enum `where'.  Update all callers.
+ 	(change_stack): Likewise.  Update basic block end.
+ 	(emit_swap_insn): Use current_block->head to limit reverse search
+ 	for start of block.  Use emit_block_insn_after.
+ 	(subst_stack_regs_pat): Handle USE and CLOBBER patterns.
+ 	(subst_asm_stack_regs): Use check_asm_stack_operands.  Use direct
+ 	structure assignment instead of bcopy.
+ 	(print_stack): New.
+ 	(convert_regs_entry, convert_regs_exit): New.
+ 	(convert_regs_1, convert_regs_2): Split out from convert_regs.
+ 	Work on basic blocks and the CFG.
+ 	(convert_regs): Use them.
+ 
+ 	* i386.c (output_fix_trunc): Remove code for DImode input operand
+ 	not at top-of-stack.
+ 	* i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
+ 	appropriate mode.
+ 	(fix_truncdi_1): Allow any mode scratch.
+ 
+ Tue Oct 26 13:30:35 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (TARGET_MEM_FUNCTIONS): Define here.
+ 	* linux.h, netbsd.h, vms.h: Not here.
+ 
+ 1999-10-26  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
+ 	ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
+ 	(GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
+ 	CONDITIONAL_REGISTER_USEAGE): Use them.
+ 	* config/mips/mips.c (mips_move_1word,mips_move_2words,
+ 	gen_conditional_branch,override_options) : Use them.
+ 	* config/mips/mips.md : Use them.
+ 
+ Tue Oct 26 13:09:23 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (zero_extendqihi2): Use SImode register name with andl.
+ 
+ Tue Oct 26 12:35:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* integrate.c (function_cannot_inline_p): Don't allow inlining
+ 	if setjmp is used.
+ 
+ Tue Oct 26 14:10:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (cast_expr): Constify.
+ 
+ 	* cccp.c (special_symbol): Likewise.
+ 
+ 	* cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
+ 
+ 	* dwarf2out.c (base_type_die): Likewise.
+ 
+ 	* global.c (allocno_compare): Likewise.
+ 
+ 	* local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
+ 
+ 	* regclass.c (fix_register): Likewise.
+ 
+ 	* rtl.h (fix_register): Likewise.
+ 
+ 	* stupid.c (stupid_reg_compare): Likewise.
+ 
+ 	* toplev.c (decode_f_option): Likewise.
+ 
+ 	* tree.c (build_complex_type): Likewise.
+ 
+ Tue Oct 26 18:35:25 1999  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
+ 
+ Tue Oct 26 15:42:56 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads): Compute mode and nregs fields of all
+ 	reloads.
+ 	* reload1.c (calculate_needs_all_insns): Simplify a bit.
+ 	(calculate_needs): Use precomputed mode/nregs values.
+ 	(allocate_reload_reg): Likewise.
+ 	Break out two...
+ 	(failed_reload, set_reload_reg): ... new functions.
+ 	(choose_reload_regs_init): New function, mostly broken out from...
+ 	(choose_reload_regs): ... here.  Lose all the save_xxx nonsense.
+ 	Also lose one #if 0 block.
+ 
+ Tue Oct 26 02:48:32 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET):  Fix target name
+ 	substitution.
+ 
+ Tue Oct 26 01:27:32 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (BLOCK_TYPE_TAGS): Remove.
+ 	(BLOCK_END_NOTE): Likewise.
+ 	(BLOCK_LIVE_RANGE_FLAG): Likewise.
+ 	(BLOCK_LIVE_RANGE_START): Likewise.
+ 	(BLOCK_LIVE_RANGE_END): Likewise.
+ 	(tree_block): Remove live_range_flag, live_range_var_flag, and
+ 	type_tags.  Remove end_note, live_range_start, and live_range_end.
+ 	(remember_end_note): Remove prototype.
+ 	* tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
+ 	* c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
+ 	remember_end_note.
+ 	* ggc-common.c (ggc_mark_tree_children): Don't mark
+ 	BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
+ 	* integrate.c (adjust_copied_decl_tree): Remove.
+ 	* print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
+ 	* stmt.c (last_block_end_note): Remove.
+ 	(init_stmt): Don't add a GC root for it.
+ 	(expand_fixup): Don't set it.
+ 	(remember_end_note): Remove.
+ 	(expand_end_bindings): Don't set last_block_end_note.
+ 
+ Tue Oct 26 00:41:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): Show
+ 	RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
+ 	reloads.
+ 
+ Mon Oct 25 23:54:45 1999  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* expmed.c (extract_bit_field): Allow for the case of non-integer
+ 	objects that are smaller than a word (like SFmode on a 64-bit
+ 	machine).
+ 
+ 	* loop.c (basic_induction_var): A non-integer variable which is
+ 	being set by a paradoxical subreg is probably not a biv.
+ 
+ 1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* prefix.c (translate_name) Check for empty prefix string.
+ 
+ Mon Oct 25 23:10:45 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (CPP_CROSS_NAME): New variable.
+ 	(install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
+ 	xcpp.
+ 	(uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
+ 	names of the files to be uninstalled.
+ 
+ Mon Oct 25 23:03:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* collect2.c (IS_DIR_SEPARATOR): Define.
+ 	(prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
+ 
+ 	* som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
+ 	functions too.
+ 
+ 	* haifa-sched.c (add_dependence): Update the true dependency
+ 	cache the first time we add a true dependence to the LOG_LINKS chain.
+ 
+ Mon Oct 25 22:27:40 1999  Jim Kingdon  <http://developer.redhat.com/>
+ 
+ 	* fold-const.c (fold): Fix comment.
+ 
+ Mon Oct 25 22:49:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dbxout.c (lastfile, cwd, dbxout_type_method_1,
+ 	dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
+ 	dbxout_start_new_source_file, dbxout_source_file,
+ 	dbxout_source_line, dbxout_finish, dbxout_type_fields,
+ 	dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
+ 	Constify a char*.
+ 	(dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
+ 	(dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
+ 	(dbxout_block): Initialize variable `blocknum'.
+ 
+ 	* dbxout.h (dbxout_init, dbxout_finish,
+ 	dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
+ 	dbxout_args, dbxout_source_line): Constify a char*.
+ 
+ 	* dwarfout.c (dwarf_tag_name, dwarf_attr_name,
+ 	dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
+ 	dwarf_fund_type_name, name_attribute, stmt_list_attribute,
+ 	low_pc_attribute, high_pc_attribute, body_begin_attribute,
+ 	body_end_attribute, comp_dir_attribute, sf_names_attribute,
+ 	src_info_attribute, mac_info_attribute, producer_attribute,
+ 	lookup_filename, generate_macinfo_entry, fundamental_type_code,
+ 	dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
+ 	dwarfout_undef): Constify a char*.
+ 	(add_incomplete_type, retry_incomplete_types): Add prototypes.
+ 
+ 	* dwarfout.h (dwarfout_define, dwarfout_undef,
+ 	dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
+ 
+ 1999-10-25  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
+ 	(MULTILIB_ISA_DEFAULT): New.
+ 	(MULTILIB_DEFAULTS): Use it.
+ 	* config/mips/mips.c (): Remove the now unnecessary definition
+ 	of MIPS_ISA_DEFAULT.
+ 	* config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
+ 	unnecessary definition.
+ 
+ Mon Oct 25 22:08:35 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm.md (pic_load_addr): Add constraints to operand 1.
+ 
+ 1999-10-25  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/genfixes:  Provide a means for specifying -D options to
+ 	AutoGen
+ 
+ Mon Oct 25 00:42:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* arm.c (arm_override_options): Correct initialization of
+ 	arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
+ 	arm_is_strong, and arm_is_6_or_7.
+ 
+ 	* loop.c (note_set_pseudo_multiple_uses_retval): New variable.
+ 	(note_set_pseudo_multiple_uses): New function.
+ 	(check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
+ 	if a pseudo set in the loop exit is used elsewhere.
+ 
+ Sun Oct 24 20:52:40 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
+ 
+ Sun Oct 24 21:02:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
+ 	a single load-address pattern.
+ 
+ Sun Oct 24 19:33:24 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* haifa-sched.c (schedule_insns): Don't assign LUIDs differently
+ 	depending on whether or not line-number notes are present.
+ 
+ Sun Oct 24 20:29:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (progname, file_buf, default_include, include_file,
+ 	macrodef, definition, hashval, wchar_type, user_label_prefix,
+ 	directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
+ 	expand_to_temp_buffer, is_system_include, base_name,
+ 	absolute_filename, read_name_map, open_include_file,
+ 	record_control_macro, check_precompiled, check_preconditions,
+ 	pcfinclude, pass_thru_directive, create_definition,
+ 	check_macro_name, comp_def_part, collect_expansion,
+ 	check_assertion, read_token_list, assertion_install,
+ 	assertion_lookup, eval_if_expression, conditional_skip,
+ 	validate_else, skip_quoted_string, quote_string, macarg1,
+ 	error_from_errno, install, lookup, hashf, dump_defn_1,
+ 	perror_with_name, pfatal_with_name, main, trigraph_pcp,
+ 	check_white_space, rescan, handle_directive, monthnames,
+ 	special_symbol, do_include, remap_include_file, write_output,
+ 	arglist, do_assert, do_unassert, do_line, do_error, do_once,
+ 	do_ident, do_sccs, do_xifdef, skip_if_group,
+ 	output_line_directive, macroexpand, macarg, change_newlines,
+ 	initialize_builtins, make_definition): Constify a char*.
+ 
+ 	* pcp.h (stringdef): Likewise.
+ 
+ Sun Oct 24 13:29:28 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* unroll.c (copy_loop_body): Examine SET_DEST of single_set
+ 	not of pattern.
+ 
+ Sun Oct 24 13:14:20 1999  Graham  <grahams@rcp.co.uk>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c: Include ggc.h.
+ 	(reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
+ 	(record_set): Verify enough room in reg_base_value.
+ 	(init_alias_analysis): Allocate reg_base_value with xcalloc.
+ 	Register it as a GC root.
+ 	(end_alias_analysis): Free reg_base_value.  Remove it as a GC root.
+ 	* Makefile.in (alias.o): Depend on ggc.h.
+ 
+ 	* unroll.c (unroll_loop): Verify the insn before a barrier
+ 	is a JUMP_INSN before checking JUMP_LABEL.
+ 
+ Sun Oct 24 15:46:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
+ 	* mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ Sun Oct 24 15:35:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (ctors_section, dtors_section, bss_section): Prototype.
+ 
+ 	* alpha/alpha-interix.h (text_section): Delete prototype.
+ 	* alpha/elf.h (text_section): Likewise.
+ 	* arm/linux-elf.h (text_section): Likewise.
+ 	* arm/linux-telf.h (text_section): Likewise.
+ 	* c4x/c4x.h (text_section): Likewise.
+ 	* dsp16xx/dsp16xx.h (bss_section): Likewise.
+ 	* elfos.h (text_section): Likewise.
+ 	* i386/aix386ng.h (text_section): Likewise.
+ 	* i386/i386-interix.h (text_section): Likewise.
+ 	* i386/sco5.h (text_section): Likewise.
+ 	* i386/svr3gas.h (text_section): Likewise.
+ 	* nextstep.h (text_section): Likewise.
+ 	* psos.h (text_section): Likewise.
+ 	* ptx4.h (text_section): Likewise.
+ 	* svr3.h (text_section): Likewise.
+ 	* svr4.h (text_section, ctors_section, dtors_section): Likewise.
+ 
+ Sun Oct 24 15:20:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* final.c (peephole): Delete prototype.
+ 
+ 	* gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
+ 	(pre_insert_copies): Remove unused variable `bb'.
+ 
+ 	* genrecog.c (debug_decision_0, debug_decision_list, main): Add
+ 	prototypes.
+ 
+ 	* output.h (peephole): Add prototype.
+ 
+ Sun Oct 24 11:35:30 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
+ 	-O0.
+ 
+ Sat Oct 23 21:13:00 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
+ 	for inlined declarations.
+ 
+ Fri Oct 22 18:05:43 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* arm.c (logical_binary_operator): New fucntion.
+ 	* arm.h (logical_binary_operator): Declare it.
+ 	(PREDICATE_CODES): Handle logical_binary_operator.
+ 	* arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
+ 	output constraints.  Add appropriate splitters.
+ 	(anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
+ 	(iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
+ 	(xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
+ 
+ Fri Oct 22 23:46:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* genoutput.c (struct operand_data): New elt eliminable.
+ 	(output_operand_data): Write it.
+ 	(scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
+ 	(compare_operands): Take it into account.
+ 	* recog.h (struct insn_operand_data): New elt eliminable.
+ 	* reload1.c (check_eliminable_occurrences, elimination_effects): New
+ 	functions.
+ 	(old_asm_operands_vec, new_asm_operands_vec): Delete.
+ 	(eliminate_regs): Move code that detects changes to elimination
+ 	target regs into new function elimination_effects.
+ 	Delete one #if 0 block.
+ 	Abort for USE, CLOBBER, ASM_OPERANDS and SET.
+ 	(eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
+ 	ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
+ 	Only call eliminate_regs for real operands of the insn, not for parts
+ 	of its structure or parts matched by things like match_operator.
+ 	Use elimination_effects and check_eliminable_occurrences.  Use
+ 	copy_insn to duplicate the pattern when not in the final pass.
+ 
+ Fri Oct 22 09:03:44 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
+ 	and fld.
+ 
+ 1999-10-22  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/README: document the "mach" machine matching test
+ 	* fixinc/fixfixes.c: Implement the #else/#endif label fix
+ 	* fixinc/fixtests.c: Implement the #else/#endif label test
+ 	* fixinc/inclhack.def: utilize these tests and fixes
+ 	* fixinc/inclhack.sh:  regen
+ 	* fixinc/fixincl.x:  regen
+ 	* fixinc/fixincl.sh:  regen
+ 
+ Thu Oct 21 20:37:19 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h.  Also
+ 	depend on ggc.h.
+ 
+ Thu Oct 21 20:30:19 1999  Matthias Klose  <doko@debian.org>
+ 
+ 	* gcc.1: Document exit codes.
+ 
+ Thu Oct 21 12:49:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c: Include tm_p.h later, so everything we need is defined.
+ 	* expr.c: Likewise.
+ 	* function.c: Likewise.
+ 
+ 	* except.c: Include tm_p.h.
+ 
+ 	* sparc.c: Likewise.
+ 	(dwarf2out_cfi_label): Don't prototype.
+ 	(check_return_regs, epilogue_renumber,
+ 	ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
+ 	ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
+ 	ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
+ 	ultra_schedule_insn): Add static prototype.
+ 	(data_segment_operand, text_segment_operand): Call itself with the
+ 	proper number of arguments.
+ 	(sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
+ 
+ 	* sparc.h: Move all declarations to sparc-protos.h.
+ 	(SELECT_RTX_SECTION):  Pass a missing MODE argument to
+ 	symbolic_operand.
+ 
+ 	* sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
+ 
+ 	* config/svr4.h (text_section, ctors_section, dtors_section): Add
+ 	Prototypes.
+ 	(ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
+ 	ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
+ 	ASM_OUTPUT_ASCII): Constify a char*.
+ 
+ 	* sparc-protos.h: New file for sparc prototypes.
+ 
+ Thu Oct 21 12:23:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* function.c (record_insns, contains): Always declare and define.
+ 	(record_insns): Mark with ATTRIBUTE_UNUSED.
+ 
+ Thu Oct 21 13:03:49 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
+ 	to .section when outputting a .bss section to deal with multiple
+ 	.bss input sections (as happens with -fdata-sections)
+ 	Also output %progbits, not @progbits so the assembler doesn't treat as
+ 	a comment.
+ 	* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
+ 
+ 	* config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
+ 	thumb parts even when building with non-thumb CPUs, by forcing
+ 	thumb mode.
+ 
+ Wed Oct 20 22:57:58 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* sparc.md (movsf_const_intreg): If splitting, length must be > 1.
+ 	(movdf_const_intreg_sp64): Similarly.
+ 
+ 	* local-alloc.c (update_equiv_regs): Check the correct insn
+ 	for pre-existing REG_EQUIV notes.
+ 
+ Wed Oct 20 20:41:46 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cse.c (cse_end_of_basic_block): Don't return the end of a basic
+ 	block reached by a branch if we're not going to actually process
+ 	this block.
+ 
+ Wed Oct 20 15:18:42 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
+ 	a local extern function declaration.
+ 
+ Wed Oct 20 13:56:01 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (ix86_expand_prologue): Properly wrap USE around
+ 	reg for CALL_INSN_FUNCTION_USAGE.
+ 
+ Thu Oct 14 18:51:37 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.md (movdf_internal1a): Allow floating-point
+ 	move between GP_REGs.
+ 
+ Wed Oct 20 15:36:11 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
+ 	the mode size when finding out if an offset is legal.
+ 
+ Wed Oct 20 06:26:58 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (PROP_*): Move constants from ...
+ 	* flow.c: ... here.
+ 	(compute_bb_for_insn): Free the array before reallocating.
+ 	(update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
+ 	(allocate_reg_life_data): Reset all reg variables collected by
+ 	propagate_block.
+ 	(get_block_head_tail): Don't convert from bb to block.
+ 	(get_bb_head_tail): New.  Update all callers of get_block_head_tail.
+ 	(find_insn_reg_weight): Take block not bb.
+ 	(schedule_block): Don't set block num for moved insns.
+ 	(schedule_region): Don't update_life_info or find_insn_reg_weight.
+ 	(schedule_insns): Do it here instead.
+ 	* combine.c (combine_instructions): Invoke compute_bb_for_insn
+ 	before update_life_info.
+ 	* recog.c (split_all_insns, peephole2_optimize): Update for
+ 	new arg to update_life_info.
+ 	* rtlanal.c (remove_note): Cope with NULL note.
+ 	* toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
+ 	if we did sched1.
+ 
+ Wed Oct 20 10:46:41 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* jump.c (jump_optimize_1): More accurately detect casesi insns.
+ 
+ 	* flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
+ 	block records so that merge_blocks_nomove will clean up correctly.
+ 	(split_edge): Handle casesi insns.
+ 
+ 	* gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
+ 
+ Tue Oct 19 23:43:50 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (call, call_value): Do not emit a blockage after restoring
+ 	the PIC register.
+ 
+ Tue Oct 19 17:22:39 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-typeck.c (c_expand_asm_operands): Fix typo.
+ 
+ Tue Oct 19 18:42:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* arm.c (fpu_rhs_operand): Verify modes.
+ 	(fpu_add_operand): Likewise.
+ 	(di_operand): Likewise.
+ 	(soft_df_operand): Likewise.
+ 
+ Tue Oct 19 15:26:11 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (arm_return_in_memory): APCS rules state that the elements
+ 	of a structure returned in a register must be 'integer-like'.
+ 
+ 1999-10-19  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/Makefile.in: Change the generation rules to run `genfixes'
+ 	in the source tree when the generated targets are out of date
+ 	* fixinc/genfixes: Alter it to run individual fixes for make.
+ 	* fixinc/README: rewrite
+ 	* fixinc/inclhack.def: moved initial comments to README
+ 
+ Tue Oct 19 14:01:34 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (main): Do not generate an error message if an
+ 	unrecognized command line switch is recognizable by another
+ 	language.  If extra_warnings are enabled, then generate a
+ 	warning message instead.
+ 
+ Tue Oct 19 11:41:12 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
+ 	(insert_pack_attributes): Delete prototype.
+ 
+ 	* c-pragma.c (default_alignment): New static variable.
+ 	(push_alignment): Initialize to current effective alignment.
+ 	(pop_alignment): Use to set new alignment.
+ 	(insert_pack_attributes): Delete function.
+ 	(handle_pragma_token): Set default_alignment as well each time
+ 	a #pragma pack(<n>) is encountered.
+ 
+ Tue Oct 19 02:03:00 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reg-stack.c (stack_result): Aggregates are not returned in
+ 	stack registers.
+ 
+ Tue Oct 19 01:26:48 1999  Alasdair Baird <alasdair@wildcat.demon.co.uk>
+ 
+ 	* fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
+ 
+ Mon Oct 18 15:19:41 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (set_block_num): Declare.
+ 	* flow.c (update_life_info): Don't call compute_bb_for_insn
+ 	or free_basic_block_vars.
+ 	* haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
+ 	(insn_orig_block): Remove.
+ 	(INSN_BLOCK): Remove.  Update all callers to use BLOCK_NUM.
+ 	(schedule_block): Keep BLOCK_NUM up-to-date.
+ 	(schedule_insns): Use compute_bb_for_insn.
+ 	* recog.c (split_all_insns): Likewise.
+ 	(peephole2_optimize): Likewise.
+ 
+ Mon Oct 18 18:50:51 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
+ 	if the pic register is used.
+ 
+ Mon Oct 18 02:38:46 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
+ 	(finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
+ 	if that tests TREE_PERMANENT.
+ 
+ Mon Oct 18 01:41:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (invalidate_for_call): Do not remove memory references from
+ 	the table here.  It's handled elsewhere.
+ 
+ 	* haifa-sched.c (add_dependence): Protect references to the
+ 	true dependency cache with #ifdef INSN_SCHEDULING.
+ 	(remove_dependence): Similarly.
+ 
+ 	* mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
+ 	to the cfg code that this is a return instruction.
+ 	* mn10300.md (return_internal): Similarly.
+ 
+ 	* combine.c (get_last_value): If the last set of a register
+ 	is after subst_low_cuid, then we can not use it to determine
+ 	the register's last value.
+ 
+ Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in: Back out previous change.
+ 
+ Sun Oct 17 15:22:50 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
+ 
+ 	* haifa-sched.c (add_dependence): Only check/update the cache
+ 	if it exists.
+ 	(remove_dependence): Likewise.
+ 	(schedule_insns): Only create the true_dependency_cache if the
+ 	average number of instructions in a basic block is very large.
+ 
+ Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (ggc-common.o): Depend on genrtl.h.
+ 	(ggc-simple.o): Likewise.
+ 	(ggc-page.o): Likewise.
+ 
+ Sun Oct 17 02:09:50 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
+ 	Prototype for exported functions.
+ 	(pre_lcm, pre_rev_lcm): Remove prototypes.
+ 	* gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
+ 	(compute_available): Move to lcm.c, and change parameter order.
+ 	(one_classic_gcse_pass): Call compute_ae_kill with parameters.
+ 	(pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
+ 	(gcse_main): No longer call compute_preds_succs.  Rebuild the
+ 	set table after reach pre pass.
+ 	(pre_insert_map, pre_delete_map, edge_list): New.
+ 	(alloc_pre_mem): Allocate edge vectors.
+ 	(free_pre_mem): Delete edge vectors.
+ 	(compute_pre_data): Call new edge based lcm routines.
+ 	(process_insert_insn): New function.
+ 	(insert_insn_end_bb): Use it.
+ 	(pre_edge_insert): New function.
+ 	(pre_insert_copy_insn): Formatting fixes.  Update BLOCK_END as
+ 	needed.
+ 	(pre_insert_copies): Revamp using new edge based lcm outputs.
+ 	(pre_delete): Likewise.
+ 	(one_pre_gcse_pass): Insert & remove fake edges to the exit
+ 	block.
+ 	(compute_code_hoist_vbeinout): New new edge based routines.
+ 	* lcm.c: Remove all the old LCM functions.  Replace with new ones
+ 	that work with the new cfg datastructures and work with edges
+ 	instead of blocks.
+ 
+ Sun Oct 17 00:44:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload.h (struct reload): Add new fields "mode" and "nregs".
+ 	* reload1.c: Change all occurrences of reload_mode and reload_nregs
+ 	to reference the "mode" and "nregs" field within struct reload.
+ 
+ Sat Oct 16 21:50:28 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (true_dependency_cache): New.
+ 	(add_dependence): Use the true dependency cache to avoid expensive
+ 	walks down the LOG_LINKS dependency list.  Add entries to the
+ 	cache as necessary.
+ 	(remove_dependence): Remove entries from the true dependency cache
+ 	as needed.
+ 	(schedule_insns): Allocate and initialize and free the true
+ 	dependency cache.
+ 
+ 	* haifa-sched.c (schedule_insns): Do not remove inter-block
+ 	dependencies anymore.
+ 
+ Sat Oct 16 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
+ 	* i386/t-winnt: Likewise.
+ 
+ Sat Oct 16 11:11:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
+ 
+ 1999-10-16  Manfred Hollstein  <mhollstein@cygnus.com>
+ 
+ 	* Makefile.in (LANGUAGES): Omit "proto".
+ 	(clean): Remove stale comment about removing unprotoize.c.
+ 
+ Sat Oct 16 11:29:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* protoize.c (safe_read, safe_write): Avoid the gcc extension of
+ 	using arithmetic on void pointers.
+ 
+ Sat Oct 16 02:48:22 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (compute_block_forward_dependencies): Only check
+ 	for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
+ 
+ Sat Oct 16 00:07:01 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
+ 	(expr_equiv_p): Reject memories with different alias sets.
+ 
+ Fri Oct 15 15:17:29 1999  Greg McGary  <gkm@gnu.org>
+ 
+ 	* flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
+ 	* toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
+ 	(f_options): Add "bounded-pointers" and "bounds-check" entries.
+ 	* c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
+ 	(lang_init): Set default for flag_bounds_check if still "unspecified".
+ 
+ Sat Oct 16 13:42:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (HF mode patterns):  Add missing modes.
+ 
+ Sat Oct 16 13:37:46 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (movstrqi_small): Utilize parallel move
+ 	instructions.
+ 
+ Sat Oct 16 13:26:47 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*db_noclobber,
+ 	*decrement_and_branch_until_zero_noclobber): New patterns and
+ 	associated splitters.
+ 
+ Sat Oct 16 13:13:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (parallel instruction patterns): Rework
+ 	constraints to keep reload happy.
+ 
+ Sat Oct 16 13:03:16 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
+ 	*one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
+ 	*andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
+ 	Add new patterns and associated post-reload splitters.
+ 
+ Sat Oct 16 12:42:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
+ 
+ Sat Oct 16 12:34:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
+ 	if appropriate.
+ 	* config/c4x/c4x.md (rpts_top): New pattern and splitter.
+ 
+ Sat Oct 16 12:26:30 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (src_operand):  Check SYMBOL_REF and LABEL_REF
+ 	memory mode.
+ 
+ Fri Oct 15 17:02:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (move_operand): Rely on memory_address_p to determine the
+ 	validity of non-indexed memory addresses.
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
+ 	operand in DFmode and SFmode when generating PA2.0 code.
+ 
+ Fri Oct 15 14:25:19 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
+ 
+ Fri Oct 15 13:48:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mips.c (function_prologue): Fix argument types.
+ 	* mips.md (casesi): Use emit_jump_insn for casesi_internal.
+ 	(casesi_internal): Write to the scratch register.
+ 
+ 1999-10-15 11:16 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cppexp.c (cpp_parse_escape): Make static.  Change second arg
+ 	to U_CHAR **.
+ 	(parse_charconst): Delete unnecessary cast when calling
+ 	cpp_parse_escape.
+ 	(cpplib.h): Kill prototype of cpp_parse_escape.
+ 
+ Fri Oct 15 11:02:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
+ 	* unroll.c (unroll_loop): Cast return value of alloca.
+ 	* i370/i370.c: Include function.h and toplev.h.
+ 	(i370_label_scan): Remove c++ commented abort.
+ 	* i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
+ 	(ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
+ 	* i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
+ 	* i370/xm-mvs.h, i370/xm-oe.h: Likewise.
+ 
+ Fri Oct 15 03:01:01 1999  Loren Rittle  <ljrittle@acm.org>
+ 
+ 	* config/t-freebsd: Do not override USER_H.
+ 	* ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
+ 
+ Fri Oct 15 02:37:28 1999  Alastair J. Houghton <ajh8@doc.ic.ac.uk>
+ 			  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-parse.in (component_decl): Support anonymous struct/union.
+ 	(%expect): Update.
+ 	* c-parse.y: Regenerate.
+ 	* c-parse.c: Likewise.
+ 	* objc/objc-parse.y: Likewise.
+ 	* objc/objc-parse.c: Likewise.
+ 	* c-decl.c (finish_struct): Don't sort the fields.
+ 	(field_decl_cmp): Delete unused function.
+ 
+ Fri Oct 15 01:20:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.md (movsf_const_intreg): Revert last constraint change.
+ 	(movdf_const_intreg_sp32): Likewise.
+ 
+ Fri Oct 15 01:47:51 1999  Vladimir Makarov  <vmakarov@loony.cygnus.com>
+ 
+ 	* cse.c: Include hashtab.h instead of splay-tree.h
+ 	(struct cse_reg_info): No longer use variant union.  Add new
+ 	field "regno".  All references changed to avoid union.
+ 	(cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
+ 	(free_cse_reg_info): Remove.
+ 	(hash_cse_reg_info, cse_reg_info_equal_p): New functions.
+ 	(get_cse_reg_info): Revamp to use expandable hash tables instead
+ 	of splay trees.  Initialize new fields in cse_reg_info structure.
+ 	(new_basic_block): Similarly.
+ 
+ Thu Oct 14 23:51:56 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (message_with_line): Prototype.
+ 	(validate_pattern): Pass along the set for the dest, not a flag.
+ 	Fix non-lvalue message.  Don't warn for VOIDmode SET_DEST of CALL.
+ 	Check for PC/CC0 as sources.
+ 	(nodes_identical): Check for children position match before
+ 	allowing the combination.
+ 
+ 	* rtl.c (read_rtx): Track line number across \\\n.
+ 
+ Thu Oct 14 23:50:25 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mips.h (SPECIAL_MODE_PREDICATES): New.
+ 	* mips.md (*) Use nonimmediate_operand not general_operand for outputs.
+ 	(movdi+1, movsi+1): Add output reload constraint.
+ 	(casesi_internal): Likewise.  Fix commentary.
+ 	(return_internal): Use pmode_register_operand.
+ 
+ Thu Oct 14 23:19:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* 1750a.md (movstrqi): Add missing output reload constraint.
+ 	(call_value): Likewise.
+ 	* a29k.md (cpxxx patterns): Add missing match_operator mode.
+ 	(jmpfdec): Add missing inout reload constraint.
+ 	* elxsi.md (addsi patterns): Add missing output reload constraint.
+ 	(move from sp): Use @ alternates.
+ 	(call_value): No constraint on output.
+ 	* fr30.md (movsi_pop): Add missing output reload constraint.
+ 	(movsf_constant_store): Likewise.
+ 	(splits): Remove constraints.
+ 	(subsi3): Add missing mode.
+ 	* i370.md (cmpstrsi+1): Add missing output reload constraint.
+ 	(call_value): Likewise.
+ 	* i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
+ 	* m32r.h (PREDICATE_CODES): Add seth_add3_operand.
+ 	* m32r.md (movsicc_internal): Add output reload constraint.
+ 	(movstrsi_internal): Add inout reload constraints.
+ 	* m88k.h (reg_names): Don't declare.
+ 	(SPECIAL_MODE_PREDICATES): New.
+ 	* m88k.md (*): Use register_operand not reg_or_0_operand
+ 	on destinations.
+ 	* mn10200.h (PREDICATE_CODES): New.
+ 	* ns32k.md (ffs pattern): Add output reload constraint.
+ 	* pdp11.md (sob pattern): Add inout reload constraint.
+ 	* sh.md (splits): Remove constraints.
+ 	(indirect_jump_scratch, fpu_switch): Add output reload constraint.
+ 	* v850.md (pattern_is_ok_for_epilogue): Likewise.
+ 	* vax.md (jgequ pattern): Add inout reload constraint.
+ 
+ Fri Oct 15 00:05:00 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (djgpp): Revert previous patch.
+ 	* configure: Rebuit.
+ 	* config/i386/djgpp.h: Revert previous patch.
+ 
+ Fri Oct 15 00:00:24 1999  Loren J. Rittle <ljrittle@acm.org>
+ 
+ 	* fixinc/inclhack.def: Restore patch lost during last merge of
+ 	"no_bogosity" branch.
+ 	* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
+ 
+ Thu Oct 14 23:57:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* fixincludes: Add a HPUX 11 fix for inttypes.h.
+ 	* fixinc/inclhack.def: Same.
+ 	* fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
+ 
+ Thu Oct 14 22:51:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
+ 	as the base of a PLUS.
+ 
+ Fri Oct 15 18:36:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md:  Define mode for remaining unspec operators.
+ 	* config/c4x/c4x.c (dst_operand):  Use nonimmediate_operand.
+ 
+ Thu Oct 14 22:14:23 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* pa.md (post_stw+1): Use pmode_register_operand.
+ 	(dcacheflush, icacheflush): Likewise.
+ 
+ 	* i386.md (movstricthi_1): Allow r/r.
+ 
+ Thu Oct 14 19:44:08 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* fold-const.c (fold): Convert (or (not arg0) (not arg1))
+ 	to (not (and (arg0) (arg1))). Similary for and.
+ 
+ 	* fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
+ 	fallthrough to associate code.
+ 	Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
+ 	bits in common.
+ 
+ 	* combine.c (simplify_logical): Convert XOR to IOR if operands have
+ 	no bits in common; remove XOR to ROTATE conversion.
+ 
+ Fri Oct 15 17:40:11 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
+ 
+ Fri Oct 15 17:27:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (dst_operand): New.
+ 	(PREDICATE_CODES): Update.
+ 	* config/c4x/c4x.h (dst_operand): Declare it.
+ 	* config/c4x/c4x.md:  Define mode for each unspec usage.
+ 	(move patterns):  Use dst_operand predicate instead of src_operand.
+ 	(movqi_update, movqf_update): Delete.
+ 
+ Thu Oct 14 18:48:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.c (pmode_register_operand): New.
+ 	* recog.h: Declare it.
+ 	* genrecog.c (pred_codes): Likewise.
+ 	(special_mode_pred_table): Likewise.
+ 	(validate_pattern): Don't warn no mode for address_operand.
+ 
+ 	* print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
+ 	if the operand is not insn-like.
+ 
+ Thu Oct 14 19:38:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 			  Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
+ 
+ 	* fold-const.c (fold): Handle more simplifications allowed by IEEE.
+ 
+ Thu Oct 14 17:30:14 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.md (*): Use {nonimmediate,register}_operand as appropriate
+ 	instead of general_operand in a SET_DEST.  Use const_double_operand
+ 	instead of an explicit test against CONST_DOUBLE.
+ 	(movsf_const_lo): Add missing register mode.
+ 	(goto_handler_and_restore): Add auxiliary test for Pmode.
+ 	(flush): Adjust to use address_operand.
+ 	(return_sf_no_fpu): Add missing output constraint.
+ 
+ Thu Oct 14 17:21:26 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
+ 	for call return value.
+ 	(call_value_indirect_aix64, call_value_indirect_nt): Likewise.
+ 
+ Thu Oct 14 13:54:25 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (main): Only warn about options for other languages.
+ 	* collect2.c (main): Pass -w to sub-gcc.
+ 
+ Thu Oct 14 16:27:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_block): Add call-clobbered registers to
+ 	significant too.
+ 
+ 	* flow.c (propagate_block): Use free_EXPR_LIST_list instead of
+ 	zapping mem_set_list.
+ 	(invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
+ 	(mark_set_1, mark_used_regs): Likewise.
+ 
+ Thu Oct 14 10:51:49 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m68k.md (zero_extendsidi2): Add missing output reload constraint.
+ 
+ Wed Oct 13 00:09:18 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
+ 	-Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
+ 	options. Also add a new item "C-only Warning Options" to the
+ 	option summary.
+ 
+ 1999-10-14  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
+ 	from multiple calls.
+ 
+ Thu Oct 14 04:54:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (call value patterns): Move to the end of the file.
+ 	(prologue_set_got, prologue_get_pc): Use register_operand for op 0.
+ 
+ 1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* configure.in (djgpp configuration): Define extra_objects..
+ 	* configure: Rebuilt.
+ 	* config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
+ 	(DTORS_SECTION_ASM_OP): Define.
+ 	(INIT_SECTION_ASM_OP): Define.
+ 	(FINI_SECTION_ASM_OP): Define.
+ 	(DATA_SECTION_ASM_OP): Define.
+ 	(TEXT_SECTION_ASM_OP): Define.
+ 	(EH_FRAME_SECTION_ASM_OP): Define.
+ 	(LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
+ 	(STARTFILE_SPEC): Add crtbegin.o.
+ 	(ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
+ 	to here from LINK_COMMAND_SPEC.
+ 	(DO_GLOBAL_CTORS_BODY): Define.
+ 	(CRTSTUFF_USE_FINI_SECTION): Define
+ 	(HAS_INIT_SECTION): Delete.
+ 
+ Thu Oct 14 05:08:14 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (all.cross): Depend on xcpp$(exeext).
+ 
+ Thu Oct 14 04:00:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* pa.h (PREDICATE_CODES): New.
+ 
+ 	* genrecog.c (validate_pattern): Condense the destination
+ 	non-lvalue message.
+ 
+ Thu Oct 14 03:23:08 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (call-1): Supply missing mode for operator.
+ 	(*): Add missing output reload constraints.  Remove constraints
+ 	from define_splits.
+ 
+ 	* i386.h (SPECIAL_MODE_PREDICATES): New.
+ 	* i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
+ 	(movqi_1, movdi_1, movdi_2, some splits): Likewise.
+ 	(addsi_lea_3): Add missing mode for op 3.
+ 	(prologue_set_got, prologue_get_pc): Add missing modes.
+ 	(*) Add missing output reload constraints.
+ 
+ Thu Oct 14 03:59:57 1999  Stephane Carrez  <stcarrez@worldnet.fr>
+ 
+ 	* stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
+ 	check for member bit-size overflow and use var_size if it occurs.
+ 	(layout_record): Use bitsize_int() to define the type size in bits.
+ 	Likewise for computation and assignment to DECL_FIELD_BITPOS.
+ 	(layout_decl): Likewise when assigning to DECL_SIZE.
+ 
+ Thu Oct 14 02:57:05 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (validate_pattern): Typo last change.  Verify
+ 	that output operands have output reloads.
+ 
+ Thu Oct 14 01:49:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (special_mode_pred_table): New.
+ 	(NUM_SPECIAL_MODE_PREDS): New.
+ 	(find_operand): New.
+ 	(validate_pattern): New argument `insn'.  Warn for assignment to
+ 	any predicate accepting non-lvalues.  Conditionally warn for
+ 	match_operand without a mode.  Try much harder to match source
+ 	and destination modes on a set.
+ 	* tm.texi (SPECIAL_MODE_PREDICATES): Document.
+ 
+ Thu Oct 14 02:54:13 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
+ 
+ Thu Oct 14 02:18:19 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* combine.c (simplify_logical): Recognize xor pattern that encodes
+ 	rotation.
+ 
+ Wed Oct 13 23:23:45 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.c (expand_block_move): Use INTVAL, not XINT to access
+ 	alignment.
+ 
+ Wed Oct 13 21:47:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-page.c (MAP_FAILED): Provide default.
+ 
+ Wed Oct 13 21:41:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
+ 	* sparc.h (PREDICATE_CODES): Update.
+ 
+ Wed Oct 13 21:18:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (some_ni_operand): New.
+ 	* alpha-protos.h: Declare it.
+ 	* alpha.h (PREDICATE_CODES): Update.
+ 	* alpha.md (sXaddq reload insns): Use some_ni_operand
+ 	for SET_DEST instead of some_operand.
+ 
+ Wed Oct 13 21:04:45 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* genrecog.c (maybe_both_true_2): Don't compare modes of
+ 	two DT_pred tests.
+ 	(process_tree): Elide peephole2_insns.  Invoke simplify_tests
+ 	after find_afterward.
+ 	(debug_decision_1): Dump next and afterward codes.
+ 
+ Wed Oct 13 20:35:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.c (dump_and_abort): Remove.
+ 	(fatal_with_file_and_line): New.
+ 	(fatal_expected_char): New.
+ 	(read_rtx_lineno, read_rtx_filename): New.
+ 	(read_skip_spaces): Track line number.
+ 	(read_name): Use fatal_with_file_and_line.
+ 	(read_rtx): Use fatal_expected_char.  Track line number.
+ 	* rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
+ 
+ 	* print-rtl.c (print_rtx): Don't special case LABEL_REF argument
+ 	if it isn't a CODE_LABEL.
+ 
+ 	* genattr.c (main): Set read_rtx_filename.
+ 	* genattrtab.c (main): Likewise.
+ 	* gencodes.c (main): Likewise.
+ 	* genconfig.c (main): Likewise.
+ 	* genemit.c (main): Likewise.
+ 	* genextract.c (main): Likewise.
+ 	* genflags.c (main): Likewise.
+ 	* genopinit.c (main): Likewise.
+ 	* genoutput.c (main): Likewise.
+ 	* genpeep.c (main): Likewise.
+ 
+ 	* genrecog.c (decision_test.u.insn): Add `lineno'.
+ 	(pattern_lineno, error_count): New variables.
+ 	(message_with_line): New.
+ 	(add_to_sequence): Break out checking code to ...
+ 	(validate_pattern): ... here.  Detect SET_DEST matching CONST_INT.
+ 	(merge_insn): Use message_with_line.
+ 	(make_insn_sequence): Use validate_pattern.  Record insn lineno.
+ 	(main): Set read_rtx_filename, pattern_lineno.  Exit early on error.
+ 
+ Wed Oct 13 22:01:35 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* expr.c (store_constructor): Clear union if constructor is empty.
+ 
+ Wed Oct 13 15:19:04 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
+ 	Add !endian checks.  Change %{...} to %(...).
+ 
+ Wed Oct 13 13:30:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (*addsi3_cc): Renamed from addcsi3.
+ 	(*addsi3_carry): Renamed from addxsi3.
+ 	(*subsi3_cc): Renamed from subcsi3.
+ 	(*subsi3_carry): Renamed from subxsi3.
+ 	(*xorqi_cc_1): Renamed from xorcqi_1.
+ 	(xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
+ 	* i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
+ 
+ Wed Oct 13 13:10:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
+ 	(ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
+ 
+ 1999-10-13  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
+ 	climb up the chain of insns.
+ 
+ Wed Oct 13 10:20:58 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (write_subroutine): Careful for null trees.
+ 	(process_tree): Don't elide empty functions.
+ 
+ Wed Oct 13 10:07:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (genrtl.o): Depend on ggc.h.
+ 	* configure.in (valloc): Probe for it.
+ 	(with-gc): Use ggc-page if valloc present.
+ 	* ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
+ 	(ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
+ 	(ggc_alloc_string): Moved from ggc-page.c.
+ 	* ggc-none.c (ggc_alloc_obj): New.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
+ 	* ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
+ 	(struct globals): Likewise for dev_zero_fd.
+ 	(init_ggc): Likewise for it's initialization.
+ 	(ggc_allocated_p): Move careful dereference from ...
+ 	(ggc_lookup_page_table): ... here.  Delete.
+ 	(lookup_page_table_entry): Don't use ggc_lookup_page_table.
+ 	(alloc_anon): Use valloc if no mmap.
+ 	(release_pages): Use free if using valloc.
+ 	(ggc_alloc_obj): Renamed from alloc_obj.
+ 	(ggc_set_mark): Renamed from mark_obj.
+ 	(ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
+ 	(ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
+ 	(ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
+ 	(ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
+ 	(ggc_collect): Use fp printing instead of our own rounding.
+ 	* ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
+ 	(GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
+ 	(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
+ 	(struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
+ 	(struct ggc_string, struct ggc_any): Delete.
+ 	(offsetof): Provide default definition.
+ 	(GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
+ 	(PTR_KEY): New.
+ 	(struct ggc_mem): New, from corpse of ggc_any.
+ 	(struct ggc_status): Delete.
+ 	(ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
+ 	(n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
+ 	(n_strings_collected, n_anys_collected): Delete.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
+ 	(ggc_alloc_string, ggc_alloc): Delete.
+ 	(ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
+ 	(ggc_free_string, ggc_free_any): Delete.
+ 	(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
+ 	(ggc_compare_addresses, ggc_mark_string): Delete.
+ 	(ggc_mark_string_if_gcable, ggc_mark): Delete.
+ 	(search_data): Delete.
+ 	(struct globals): New.
+ 	(GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
+ 	(tree_insert, tree_lookup): New.
+ 	(ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
+ 	(clear_marks, sweep_objs): New.
+ 	(ggc_collect): Gut.  Use clear_marks, sweep_objs.
+ 	(init_ggc): Set allocated_last_gc.
+ 	(ggc_push_context): Gut.  Use G.context.
+ 	(ggc_pop_context): Likewise.
+ 	(ggc_pop_context_1): New.
+ 	(debug_ggc_tree): New.
+ 	(debug_ggc_balance, tally_leaves): New.
+ 	* ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
+ 	(ggc_mark_string_if_gcable): Remove decl.
+ 	(ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
+ 	(ggc_mark_rtvec_children): New.
+ 	(ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
+ 	(ggc_mark_if_gcable): New decl.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
+ 	(ggc_alloc_tree, ggc_alloc): Likewise.
+ 	(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
+ 	(ggc_alloc_obj): New decl.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
+ 	(ggc_alloc_tree, ggc_alloc): Likewise.
+ 	(ggc_set_mark): New decl.
+ 	* rtl.h (struct rtx_def): Remove gc_mark.
+ 	(struct rtvec_def): Likewise.
+ 	* tree.h (struct tree_common): Likewise.
+ 
+ Wed Oct 13 01:44:29 1999  Carol LePage  <carolo@hal.com>
+ 
+ 	* configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
+ 	float_format and thread_file definitions.
+ 	* configure: Rebuilt.
+ 
+ Wed Oct 13 09:25:03 1999  Niels MÃ¶ller <nisse@lysator.liu.se>
+ 
+ 	* extend.texi (Function Names): Document types of function names.
+ 
+ Wed Oct 13 00:45:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
+ 	an earlyclobbered output conflict with RELOAD_INPUT reloads.
+ 
+ Tue Oct 12 23:28:28 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
+ 
+ Tue Oct 12 23:19:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
+ 
+ Tue Oct 12 17:09:38 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (main): Do prelimnary link on AIX if rflag.
+ 
+ Tue Oct 12 09:45:19 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
+ 	__CTOR_LIST__ in opposite order, which is the correct order for sorted
+ 	constructors.
+ 	(__do_global_dtors): similarly for __DTOR_LIST__.
+ 
+ Fri Oct  8 19:46:03 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 				Diego Novillo <dnovillo@cygnus.com>
+ 
+ 	* config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
+ 	FPUL_REGS.
+ 
+ Tue Oct 12 07:38:41 1999  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixincl/*: Merged "no_bogosity" branch
+ 	* fixincl/fixlib.h: protect against doubly defining t_bool
+ 	* fixincl/server.h: protect against doubly defining t_bool
+ 
+ Mon Oct 11 20:18:41 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* genoutput.c: Include toplev.h.
+ 
+ Mon Oct 11 18:56:14 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+ 	Undef.
+ 	* configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
+ 	* configure: Regenerate.
+ 
+ Mon Oct 11 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcse.c (delete_null_pointer_checks): Returns void.
+ 
+ Mon Oct 11 20:31:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* rtl.c (copy_rtx): Don't use accessor macros to copy fields.
+ 	* emit-rtl.c (copy_insn_1): Likewise.
+ 
+ Mon Oct 11 13:29:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_build_va_list): Correct
+ 	TREE_CHAIN setting when hard-float.
+ 	(mips_va_start): Use corrected setting.
+ 	(mips_va_arg): Likewise.  Also pass a tree to build of
+ 	POSTINCREMENT_EXPR rather than a naked 'int'.
+ 
+ Sun Oct 10 18:27:27 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc.h (ggc_push_context): Fix comment.
+ 	(ggc_pop_context): Likewise.
+ 	(mark_string_if_gcable): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx_children): Use
+ 	ggc_mark_string_if_gcable.
+ 	* ggc-page.c (ggc_lookup_page_table): New function.
+ 	(ggc_allocated_p): Likewise.
+ 	(mark_obj): Fix formatting.
+ 	(ggc_mark_string_if_gcable): New function.
+ 	* ggc-simple.c (ggc_allocated_strings): New variable.
+ 	(ggc_strings_used): Likewise.
+ 	(ggc_compare_addresses): New function.
+ 	(ggc_pop_context): Pop the `any' memory too.
+ 	(ggc_mark_string_if_gcable): New function.
+ 	(ggc_collect): Initialize and tear down ggc_allocated_strings.
+ 
+ Sun Oct 10 20:05:21 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
+ 	(scc patterns): Disable most SImode variants if TARGET_POWERPC64.
+ 	* rs6000.c (expand_block_move): Match movstrsi_?reg register
+ 	changes.
+ 
+ Sun Oct 10 16:37:01 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_reg_n_calls_crossed): Delete.
+ 	(sched_reg_live_length, sched_reg_basic_block): Delete.
+ 	(current_block_num, bb_live_regs, old_live_regs): Delete.
+ 	(dead_notes, struct sometimes): Delete.
+ 	(sched_note_set, birthing_insn_p): Delete.
+ 	(adjust_priority): Gut useless reg lifetime code.
+ 	(create_reg_dead_note, attach_deaths): Delete.
+ 	(attach_deaths_insn, new_sometimes_live): Delete.
+ 	(finish_sometimes_live): Delete.
+ 	(find_pre_sched_live, find_post_sched_live): Delete.
+ 	(update_reg_usage): Delete.
+ 	(find_insn_reg_weight): New, from corpse of find_pre_sched_live.
+ 	(schedule_insns): Delete reg lifetime code.
+ 	(sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
+ 	(unlink_other_notes): Adjust REG_NOTE commentary.
+ 	(reemit_notes): Use REG_SAVE_NOTE.
+ 	(schedule_block): Likewise.
+ 	(schedule_region): Allocate bitmap of blocks in region.  Use
+ 	count_or_remove_death_notes.  Use update_life_info.
+ 
+ 	* rtl.h (REG_SAVE_NOTE): New.
+ 	* rtl.c (reg_note_name): Update.
+ 
+ Sun Oct 10 16:14:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (refresh_blocks, need_refresh): New.
+ 	(combine_instructions): Allocate refresh_blocks.  Invoke
+ 	update_life_info if needed.
+ 	(distribute_notes): Mark refresh_blocks instead of installing
+ 	USE insns.
+ 	* flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
+ 	* basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
+ 
+ 	* Makefile.in (recog.o): Depend on basic-block.h.
+ 
+ Sun Oct 10 12:03:21 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (add_to_sequence): Thinko last change: delete
+ 	shadowing allow_const_int variable.
+ 
+ Sun Oct 10 08:40:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
+ 	__GNUC__ and __GNUC_MINOR__.
+ 
+ 	* gansidecl.h: Likewise.
+ 
+ 	* rtl.c: Likewise.
+ 
+ 	* rtl.h: Likewise.
+ 
+ 	* toplev.h: Likewise.
+ 
+ 	* tree.c: Likewise.
+ 
+ 	* tree.h: Likewise.
+ 
+ 	* varray.c: Likewise.
+ 
+ 	* varray.h: Likewise.
+ 
+ Sun Oct 10 13:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (find_and_verify_loops): When looking for a BARRIER, don't
+ 	use one before a jump table.
+ 
+ 	* rtl.def (ADDRESS): Change documentation to match reality.
+ 	* md.texi: Don't document it.
+ 	* gmicro.md (load address pattern): Use 'p' constraint, delete use
+ 	of ADDRESS rtx.
+ 
+ 	* emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
+ 
+ Sun Oct 10 02:41:41 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (add_to_sequence): Move allow_const_int test outside
+ 	known predicate block; default allow_const_int true.
+ 	(debug_decision_list): New.
+ 
+ Sun Oct 10 00:43:08 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (CC1_SPEC): Typo -- use cc1_cpu.
+ 
+ Sat Oct  9 23:26:55 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (gcse_main): Avoid global optimizations if we have a
+ 	large number of basic blocks and the ratio of edges to blocks
+ 	is high.
+ 	(delete_null_pointer_checks): Likewise.
+ 
+ Sat Oct  9 23:16:01 1999  Ken Raeburn  <raeburn@mit.edu>
+ 
+ 	* c-common.c (check_format_info): Warn if format string isn't a
+ 	string literal.
+ 
+ Sat Oct  9 23:04:02 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* configure.in (arm*-*-*): Don't let autoconf remove brackets
+ 	* configure: regenerate
+ 
+ Sat Oct  9 13:15:53 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (extendsidi2): Turn into a splitter.  Allow f/f.
+ 	If TARGET_FIX, allow r/f.  Remove cvtlq unspec pattern.
+ 	(peepholes): Re-enable.
+ 
+ Sat Oct  9 12:18:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (flow.o): Depend on TREE_H.
+ 	* basic-block.h (REG_SET_EQUAL_P): New.
+ 	(XOR_REG_SET): New.
+ 	(n_edges): Declare.
+ 	(free_regset_vector): Remove declaration.
+ 	(flow_delete_insn_chain): Declare.
+ 	(enum update_life_extent): New.
+ 	(update_life_info, count_or_remove_death_notes): Declare.
+ 	* combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
+ 	Verify register live at bb->global_live_at_start before adding USE.
+ 	* flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
+ 	(CLEAN_ALLOCA): New.
+ 	(n_edges): New.
+ 	(PROP_*): New flags.
+ 	(find_basic_blocks_1): Use alloc_EXPR_LIST.
+ 	(clear_edges): Zero n_edges.
+ 	(make_edge): Increment n_edges.
+ 	(split_edge): Don't allocate bb->local_set.  Increment n_edges.
+ 	(flow_delete_insn_chain): Export.
+ 	(delete_block): Decrement n_edges.
+ 	(merge_blocks_nomove): Likewise.
+ 	(life_analysis): Give life_analysis_1 PROP flags.
+ 	(verify_wide_reg_1, verify_wide_reg): New.
+ 	(verify_local_live_at_start): New.
+ 	(update_life_info): Rewrite to call into propagate_block.
+ 	(mark_reg): New.
+ 	(mark_regs_live_at_end): After reload, if epilogue as rtl,
+ 	always mark stack pointer.  Conditionally mark PIC register.
+ 	After reload, mark call-saved registers, return regsiters.
+ 	(life_analysis_1): Accept PROP flags not remove_dead_code.
+ 	Call mark_regs_live_at_end before zeroing regs_ever_live.
+ 	Use calculate_global_regs_live.  Copy global_live_at_end before
+ 	calling final propagate_block.  Zero reg_next_use on exit.
+ 	(calculate_global_regs_live): New.
+ 	(allocate_bb_life_data): Don't allocate bb->local_set.
+ 	(init_regset_vector, free_regset_vector): Remove.
+ 	(propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
+ 	Test flags before every operation.  Warn if prologue/epilogue insn
+ 	would have been deleted.
+ 	(mark_set_regs, mark_set_1): Accept and use FLAGS.
+ 	Use alloc_EXPR_LIST.
+ 	(mark_used_regs): Accept and use FLAGS, not FINAL.
+ 	Remove special handling for RETURN.
+ 	(try_pre_increment): Use alloc_EXPR_LIST.
+ 	(dump_flow_info): Dump n_edges.
+ 	(unlink_insn_chain, split_hard_reg_notes): Remove.
+ 	(maybe_add_dead_note, maybe_add_dead_note_use): Remove.
+ 	(find_insn_with_note, new_insn_dead_notes): Remove.
+ 	(update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
+ 	(maybe_remove_dead_notes, prepend_reg_notes): Remove.
+ 	(replace_insns): Remove.
+ 	(count_or_remove_death_notes): New.
+ 	(verify_flow_info): Abort on error after all checks.
+ 	(remove_edge): Decrement n_edges.
+ 	(remove_fake_edges): Tweak format.
+ 	* haifa-sched.c (schedule_insns): Use split_all_insns.
+ 	* output.h (update_life_info): Remove declaration.
+ 	* recog.c (split_all_insns): From the corpse of split_block_insns,
+ 	do the whole function block by block.  Use update_life_info.
+ 	(recog_last_allowed_insn): New.
+ 	(recog_next_insn): Mind it.
+ 	(peephole2_optimize): Set it.  Walk backwards through blocks.
+ 	Use update_life_info.
+ 	* rtl.h (update_flow_info, replace_insns): Remove declarations.
+ 	(split_all_insns): Declare.
+ 	* toplev.c (rest_of_compilation): Thread prologue before flow2.
+ 	Use split_all_insns.
+ 
+ 	* i386.md (or -1 peep2s): Disable.
+ 
+ Fri Oct  8 17:49:08 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/mips/mips.md (movstrsi+[123]) : Combine these into
+ 	a single pattern.  Scrap the 'd' versions as unnecessary.
+ 
+ 	* config/mips/mips.md (tablejump_internal3,tablejump_mips161,
+ 	tablejump_mips162,tablejump_internal4): The operands to a
+ 	label_ref must be VOIDmode.
+ 
+ Fri Oct  8 16:12:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
+ 
+ Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mips.c (mips_va_arg) [EABI]: Return addr_rtx.
+ 
+ Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
+ 	cache every function if ggc_p.
+ 
+ Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
+ 	instead of copy_rtx.  Accept sequences that contain asm statements.
+ 	* emit-rtl.c (copy_insn_1, copy_insn): New functions.
+ 	(copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
+ 	orig_asm_operands_vector, copy_asm_operands_vector,
+ 	orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
+ 	variables.
+ 	* rtl.h (copy_insn, copy_insn_1): Declare.
+ 
+ Fri Oct  8 13:08:12 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
+ 
+ 	* alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
+ 	arguments to `current_file_function_operand'.
+ 
+ 	* genrecog.c: Include hard-reg-set.h and resource.h in the
+ 	generated output file.
+ 
+ 	* real.c: Include tm_p.h.
+ 
+ Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* i386.md (prologue_allocate_stack): Add '=' constraint letter on
+ 	output operand.
+ 
+ Thu Oct  7 23:06:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
+ 	before the fctiwz insn.
+ 
+ Thu Oct  7 22:53:00 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 			  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (make_lang_type_fn): New function pointer.
+ 	(make_lang_type): Call it.
+ 	* tree.h (make_lang_type): Declare.
+ 	(make_lang_type_fn): Likewise.
+ 	* rs6000.c (rs6000_build_va_list): Use make_lang_type.
+ 
+ Thu Oct  7 00:36:17 1999  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
+ 	make sure that HIGH instructions are copied into BASE_REGS.
+ 
+ Thu Oct  7 17:02:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
+ 
+ Thu Oct  7 17:01:58 1999  Greg McGary  <gkm@gnu.org>
+ 
+ 	* c-decl.c (finish_struct): Use simpler method of
+ 	removing elements of a singly-linked list.
+ 
+ Thu Oct  7 15:23:28 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* alpha.md (peephole2's): Comment out peephole2's that generate
+ 	buggy code.
+ 
+ Thu Oct  7 12:00:53 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (add_to_sequence): Disable mode check for
+ 	wildcard matches.
+ 
+ Thu Oct  7 20:14:16 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* ggc-simple.c (init_ggc): Set empty_string.
+ 
+ Thu Oct  7 01:13:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Detect mmap.  Add --with-gc=foo to select
+ 	garbage collector; default to page if mmap available.
+ 	* Makefile.in (GGC): Substitute.
+ 
+ Wed Oct  6 23:56:30 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (ggc_p): Enable.
+ 
+ Wed Oct  6 17:17:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* flow.c (verify_flow_info): Make it extern & unconditionally define.
+ 
+ 1999-10-06  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
+ 	string for little-endian-data.
+ 
+ Wed Oct  6 16:10:35 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
+ 	case somebody tries to compile --enable-checking code with gcc
+ 	1.34 or such.
+ 
+ Wed Oct  6 12:22:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (add_to_sequence): Verify operand to label_ref is
+ 	VOIDmode.
+ 
+ Wed Oct  6 10:21:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genconfig.c (main): Disable HAVE_conditional_arithmetic.
+ 	* jump.c (jump_optimize_1): Document why.
+ 
+ Wed Oct  6 10:41:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (scan_prog_file, scan_libraries): Prototype function
+ 	pointers and casts for `int_handler' and `quit_handler'.
+ 
+ 	* flow.c (verify_flow_info, split_hard_reg_notes,
+ 	find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
+ 	remove_edge, remove_fake_successors): Add static prototypes.
+ 	(verify_flow_info): Wrap with macro ENABLE_CHECKING.
+ 	(mark_set_1): Initialize variable `regno'.
+ 	(unlink_insn_chain): Likewise for variable `curr'.
+ 	(remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
+ 
+ 	* loop.c (strength_reduce): Initialize variable
+ 	`unrolled_insn_copies'.
+ 	(cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
+ 	prototypes.  Change these functions to take const PTR parameters
+ 	to avoid prototype conflict when used as the comparson argument
+ 	for qsort.
+ 	(check_dbra_loop): Initialize variable `comparison_val'.
+ 
+ 	* reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
+ 	(get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
+ 	(find_valid_class): Initialize variable `best_class'.
+ 	(find_reloads): Call memcpy, not bcopy.
+ 
+ 	* reload1.c (gen_mode_int, dump_needs): Add prototypes.
+ 	(hard_reg_use_compare): Don't needlessly cast away const.
+ 	(reload_reg_class_lower): Likewise.
+ 	(choose_reload_regs): Initialize variable `regno'.
+ 
+ Tue Oct  5 16:34:12 1999  Paul Burchard <burchard@pobox.com>
+ 
+ 	* ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
+ 
+ Tue Oct  5 16:14:40 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* libgcc1-test.c (toplevel): Include stddef.h to get size_t.
+ 	({,d}discard): Add forward declarations.  Declare parameter as
+ 	unused.
+ 	(main_without_main): Explicitly declare return type to be int.
+ 	(memcpy): Properly declare.
+ 
+ 	* libgcc2.c (toplevel): If inhibit_libc is defined and not
+ 	building the trampoline support, declare malloc, free, and
+ 	atexit.
+ 	(__clear_cache): Mark arguments as potentially unused.
+ 
+ 	* frame.c (toplevel): If inhibit_libc is defined, declare
+ 	malloc and free.
+ 
+ Tue Oct  5 12:00:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (make_edge): Accept an optional 2D bitmap in which
+ 	to cache edge existence.  Update all callers.
+ 	(make_label_edge, make_eh_edge): Pass through the edge cache.
+ 	(make_edges): Provide the cache.
+ 
+ Tue Oct  5 12:16:49 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
+ 	a char*.
+ 	(local_mbtowc): Change the type of variable `i' from int to size_t.
+ 
+ 	* mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
+ 	(local_mbtowc, local_mblen, literal_codeset): Constify a char*.
+ 
+ Tue Oct  5 11:34:52 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
+ 	after other includes that define the appropriate types.  Include
+ 	tm_p.h for getting user prototypes.
+ 	* ggc-callbacks.c (toplevel): Ditto.
+ 	* ggc-none.c (toplevel): Ditto.
+ 	* gcc-page.c (toplevel): Ditto.
+ 	* ggc-simple.c (toplevel): Ditto.
+ 
+ Mon Oct  4 16:48:16 1999  Diego Novillo <dnovillo@cygnus.com>
+ 			  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* config/mips/mips.c (mips_move_2words): Split doubles if
+ 	ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
+ 
+ Mon Oct  4 21:47:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (struct decision_test): New.
+ 	(struct decision): Remove test-related members, sort the rest by size.
+ 	(IS_SPLIT): Simplify.
+ 	(new_decision, new_decision_test): New.
+ 	(add_to_sequence): Use them.  No special handling for args of
+ 	non-MATCH codes.
+ 	(maybe_both_true): Renamed from not_both_true; return sense changed.
+ 	(maybe_both_true_1, maybe_both_true_2): New.  Broken out
+ 	of maybe_both_true and adjusted for decision_test.
+ 	(position_merit): Remove.
+ 	(nodes_identical, nodes_identical_1): New, broken out of merge_trees.
+ 	(merge_accept_insn): New, broken out of merge_trees.
+ 	(merge_trees): Use them.  No special case for c_test; no node
+ 	splitting; use test type instead of position_merit.
+ 	(factor_tests): New.
+ 	(simplify_tests): New.
+ 	(break_out_subroutines): Don't write code now.
+ 	(find_afterward): New.
+ 	(write_afterward, write_switch, write_cond): New.
+ 	(write_action, is_unconditional): New.
+ 	(write_node): New.  Use them.
+ 	(write_tree_1): Rewrite.  Use the new functions above.
+ 	(write_tree): Remove afterward processing.
+ 	(write_subroutine): Simplify function variant emission.
+ 	(write_subroutines): New.
+ 	(same_codes, clear_codes): Remove.
+ 	(same_modes, clear_modes): Remove.
+ 	(write_header): New, broken out of main.
+ 	(make_insn_sequence): Use new_decision and new_decision_test.
+ 	(process_tree): New, broken out of main.
+ 	(main): Adjust for merge_trees interface change.
+ 	Don't #define operands in the output file.
+ 	(record_insn_name): New, broken out of make_insn_sequence.
+ 	(debug_decision_2, debug_decision_1, debug_decision_0): New.
+ 	(debug_decision): New.
+ 
+ 1999-10-04 21:58 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* resource.c (find_free_register): Mark class_str argument const.
+ 	* resource.h: Update prototype to match.
+ 
+ 	* i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
+ 	* i386.md: Give all anonymous insns names.
+ 
+ Mon Oct  4 21:12:02 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
+ 	blocks.
+ 
+ Mon Oct  4 21:01:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (dbr_sched_time): Unconditional.
+ 	(peephole2_time): New.
+ 	(compile_file): Add pass numbers to all of the dump file suffixes.
+ 	Dump peephole2_time.  Don't dump times for non-applicable passes.
+ 	(rest_of_compilation): Add pass numbers to dump file suffixes.
+ 	Conditionalize calls to the scheduler.
+ 	* invoke.texi: Update.
+ 
+ Mon Oct  4 20:25:13 1999  Anthony Green  <green@cygnus.com>
+ 
+ 	* flow.c (make_edges): Fix insn iteration.
+ 	(find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
+ 	(find_basic_blocks_1): Fix spelling mistake.
+ 
+ Mon Oct  4 16:56:11 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
+ 	always have side-effects.  Use memset not bzero.
+ 	(make_node): Likewise.
+ 
+ Mon Oct  4 16:22:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_anon_union_decl): When any of the elements of the
+ 	union is addressable, so is the entire union.
+ 
+ Mon Oct  4 11:38:33 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sbitmap.c (sbitmap_ones): Don't set too many bits.
+ 
+ 	* bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
+ 	* bitmap.c (bitmap_operation): Return true iff TO changed.
+ 	(bitmap_equal_p): New.
+ 	(bitmap_bit_p): Tidy arithmetic.
+ 	(debug_bitmap_file): Likewise.
+ 
+ Mon Oct  4 11:28:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Turn on cse_not_expected
+ 	before cse2 instead of after.
+ 
+ Mon Oct 4 09:55:17 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
+ 	register offsets.
+ 
+ Mon Oct  4 08:54:12 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* cppinit.c (is_idchar initializer): Loosen tests to accept
+ 	gcc 2.>6 and >2.
+ 
+ Mon Oct  4 02:31:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* mips.md: Define conditional move patterns for floating point
+ 	operands and DI mode conditions.
+ 
+ Mon Oct  4 02:12:41 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
+ 	always have side-effects.
+ 
+ Sun Oct  3 14:14:16 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.c (asm_file_start): Fix typo.
+ 
+ 	* cppinit.c (is_idchar initializer): Tighten tests for when
+ 	to put the table into initialized memory.
+ 
+ 	* ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
+ 	not an array of rtunion.
+ 	* gcc-page.c (ggc_alloc_rtvec): Similarly.
+ 	* gcc-simple (ggc_free_rtvec): Similarly.
+ 
+ 	* genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
+ 	of rtunions.
+ 
+ 	* mbchar.h: Add missing #endif.
+ 
+ 	* t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
+ 	(FPBIT, DPBIT): Define.
+ 
+ Sun Oct  3 12:44:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* print-tree.c (print_node, indent_to): Remove redundant prototypes.
+ 
+ 	* profile.c (instrument_arcs, output_gcov_string,
+ 	tablejump_entry_p): Add static prototypes.
+ 	(output_gcov_string): Constify a char*.
+ 
+ 	* regmove.c (replacement_quality, fixup_match_2): Add static
+ 	prototypes.
+ 
+ 	* resource.h (reg_dead_p): Add extern prototype.
+ 
+ 	* rtl.c (trim_filename): Add static prototype.
+ 
+ 	* scan-decls.c (skip_to_closing_brace): Likewise.
+ 
+ 	* stmt.c (expand_decl_cleanup_no_eh): Hide definition.
+ 	(expand_end_case): Initialize variable `range'.
+ 	(emit_case_nodes): Remove unused prototype `rtx_fn'.
+ 
+ 	* varasm.c (asm_emit_uninitialised): Add static prototype.
+ 	(asm_emit_uninitialised, assemble_variable): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ Sun Oct  3 12:24:52 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplib.c (if_directive_nameo): Add static prototype.
+ 
+ 	* cse.c (cse_insn): Remove unused variable `p'.
+ 
+ 	* except.c (create_rethrow_ref, push_entry,
+ 	receive_exception_label, new_eh_region_entry, find_func_region,
+ 	clear_function_eh_region, process_nestinfo): Add static prototypes.
+ 	(get_reg_for_handler): Hide definition.
+ 	(process_nestinfo): Initialize variable `extra_handlers'.
+ 
+ 	* expr.h (expand_builtin_longjmp): Add extern prototype.
+ 
+ 	* final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
+ 
+ 	* function.c (prepare_function_start): Likewise.
+ 	(pop_function_context_from): Mark parameter `context' with
+ 	ATTRIBUTE_UNUSED.
+ 	(push_temp_slots_for_block, flush_addressof): Hide definition.
+ 
+ 	* gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
+ 	solve_program_flow_graph, calculate_branch_probs,
+ 	function_summary, main, fancy_abort): Add prototypes.
+ 
+ 	* gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
+ 	(add_hash): Constify a char*.
+ 
+ 	* ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
+ 	ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
+ 	ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
+ 
+ 	* integrate.c (expand_inline_function_eh_labelmap): Likewise.
+ 
+ 	* lists.c (free_list, zap_lists): Likewise.
+ 
+ Sun Oct  3 12:05:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alias.c (nonlocal_reference_p): Add static prototype.
+ 
+ 	* bitmap.c (bitmap_element_allocate): Prototype args in function
+ 	pointer cast.
+ 
+ 	* builtins.c (stabilize_va_list): Add static prototype.
+ 	(expand_builtin_va_arg): Constify a char*.
+ 
+ 	* c-lex.c (getch, put_back, extend_token_buffer_to,
+ 	read_line_number, token_getch, token_put_back): Add static
+ 	prototypes.
+ 
+ 	* c-parse.gperf (hash, is_reserved_word): Likewise.
+ 
+ 	* cccp.c (is_dir_separator): Likewise.
+ 
+ Sat Oct  2 16:07:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* graph.h: New file to prototype functions exported by graph.c.
+ 
+ 	* Makefile.in (graph.o, toplev.o): Depend on graph.h.
+ 
+ 	* graph.c: Include graph.h.
+ 
+ 	* toplev.c: Likewise.  Remove redundant prototypes.
+ 
+ Sat Oct  2 11:28:33 1999  Krister Walfridsson <cato@df.lth.se>
+ 
+ 	* invoke.texi: Removed duplicated description for -Q.
+ 
+ Sat Oct  2 11:16:00 1999  Jim Kingdon  <http://developer.redhat.com>
+ 
+ 	* extend.texi: Grammar fix in __extension__ text.
+ 
+ Sat Oct  2 11:06:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* md.texi (define_peephole2): New section.
+ 
+ Sat Oct  2 10:57:56 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
+ 	(mov $-1 to or peepholer): Enable for pentium when optimizing for
+ 	speed.
+ 
+ Sat Oct  2 10:55:25 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* builtins.c (expand_builtin_strlen): Fix best mode searching loop.
+ 
+ Sat Oct  2 10:53:22 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (ffs expander): Emit Pentium friendly code for
+ 	TARGET_PENTIUM.
+ 
+ Sat Oct  2 02:48:21 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
+ 	for non-trees.
+ 	(build1): Likewise.
+ 
+ Fri Oct  1 18:01:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* i386elf.h (TARGET_DEFAULT): Use symbolic constants.
+ 
+ Fri Oct  1 12:42:53 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c (use_return_insn): Return false if the pic
+ 	register is in use.
+ 
+ Fri Oct  1 10:56:06 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* md.texi (No Constraints): Delete section.
+ 	* Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
+ 	* final.c (final_scan_insn): We always have register constraints.
+ 	* genattrtab.c: Don't include "insn-config.h".
+ 	(write_attr_case): We always have register constraints.
+ 	* genconfig.c (register_constraint_flag): Delete.
+ 	(walk_insn_part): Don't check whether we have register constraints.
+ 	(main): Don't write out "#define REGISTER_CONSTRAINTS".
+ 	* genoutput.c (have_constraints): Delete.
+ 	(main): Don't set it.
+ 	(output_operand_data): We always have constraints.
+ 	(scan_operands): Likewise.
+ 	(compare_operands): Likewise.
+ 	* local-alloc.c (block_alloc): We always have constraints.
+ 	(requires_inout): Always compile this function.
+ 	* recog.c (extract_insn): We always have constraints.
+ 	(constrain_operands, reg_fits_class_p): Always compile these
+ 	functions.
+ 	* recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
+ 	fields.
+ 	(struct insn_operand_data): Likewise.
+ 	* regclass.c (regclass): We always have constraints.
+ 	(record_reg_classes, copy_cost, record_address_regs,
+ 	auto_inc_dec_reg_p): Always compile these functions.
+ 	* regmove.c (regmove_optimize): We always have constraints.
+ 	* reload.c (find_reloads): Likewise.
+ 	* reload1.c (reload): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	* i860.c (output_delay_insn): Likewise.
+ 
+ Thu Sep 30 23:04:41 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* iris6.h (BUILD_VA_LIST_TYPE): Define.
+ 
+ Thu Sep 30 18:44:50 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
+ 	for the va_list record.
+ 
+ Thu Sep 30 18:34:54 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
+ 	prologues.
+ 
+ Thu Sep 30 18:31:36 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* alias.c: Include insn-flags.h.
+ 	* Makefile.in (alias.o): Update.
+ 
+ Thu Sep 30 18:21:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
+ 	to LTU and GEU.  Handle more cases using sbb.
+ 
+ Thu Sep 30 18:18:39 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (truncatexfdf splitters): Do not use subreg.
+ 	(fop XFmode patterns): Fix mode in operand testing.
+ 
+ Thu Sep 30 18:04:13 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Amend last change to test only the
+ 	form of the operand, not the insn.
+ 
+ 	* jump.c (jump_optimize_1) [conditional_move]: Use general_operand
+ 	not register_operand to determine when B may need preloading.
+ 
+ Thu Sep 30 17:39:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
+ 	(ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
+ 	(call-value patterns): Move to end of file.
+ 	(*): Remove mode from label_ref in (pc) context.
+ 	(movstrqi): Use memory not general_operand for BLKmode operands.
+ 	(prologue_stack_probe_loop, builtin_longjmp): Add missing mode
+ 	to register_operand operands.
+ 	(peep2 patterns): Convert from commented-out peephole patterns.
+ 
+ Thu Sep 30 14:39:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
+ 	to BUILT_IN_INIT_DWARF_REG_SIZES.
+ 	* builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
+ 	Renamed from BUILT_IN_DWARF_REG_SIZE; call
+ 	expand_builtin_init_dwarf_reg_sizes.
+ 	* c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
+ 	with __builtin_init_dwarf_reg_size_table.
+ 	* dwarf2out.c (struct reg_size_range): Delete.
+ 	(expand_builtin_init_dwarf_reg_sizes): New function.
+ 	(expand_builtin_dwarf_reg_size): Delete.
+ 	* except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
+ 	(expand_builtin_dwarf_reg_size): Don't declare.
+ 	* libgcc2.c (dwarf_reg_size_table_initialized): New.
+ 	(dwarf_reg_size_table): New.
+ 	(init_reg_size_table): New function.
+ 	(copy_reg): Use dwarf_reg_size_table.
+ 	(eh_context_initialize): Make sure dwarf_reg_size_table is initialized
+ 	before use.
+ 
+ Thu Sep 30 05:40:34 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
+ 	Correctly build argument list to constructor and destructor functions.
+ 
+ Thu Sep 30 00:13:27 1999  Dirk Zoller  <duz@rtsffm.com>
+ 
+ 	* c-tree.h (warn_float_equal): Declare.
+ 	* c-decl.c (warn_float_equal): Define.
+ 	(c_decode_option): Recognize -W[no-]float-equal.
+ 	* c-typeck.c (build_binary_op): Conditionally warn
+ 	about equality tests of floating point types.
+ 	* toplev.c (documented_lan_options): Add -W[no-]float-equal.
+ 	* invoke.texi: Add docs for -Wfloat-equal warning.
+ 
+ Wed Sep 29 23:43:39 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
+ 	generating RTL directly.
+ 	* mips.h (INIT_TARGET_OPTABS): Likewise.
+ 	* mn10200.h (INIT_TARGET_OPTABS): Likewise.
+ 
+ 	* expr.h (init_mov_optab): Delete declaration
+ 
+ 	* h8300.c (WORD_REG_USED): Update to avoid useless register
+ 	saves in interrupt functions and functions which never return.
+ 
+ 	* cse.c (struct set): Delete inner_dest_loc field.
+ 	(cse_insn): Remove assignments to inner_dest_loc field.
+ 
+ Wed Sep 29 16:06:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-page.c: Don't include <unistd.h> etc taken care of
+ 	by "system.h".  Include <sys/mman.h> afterward.
+ 
+ Wed Sep 29 16:05:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_encode_section_info): If ggc_p, use
+ 	ggc_alloc_string.
+ 
+ Tue Sep 28 16:45:40 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* xcoffout.c (xcoffout_declare_function): Add documentation.
+ 	* rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
+ 	TARGET_64BIT.  Compare constant to -1, not bit pattern.
+ 	(easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
+ 	(expand_block_move): Allow 8 DImode loads for PowerPC64.  Fix
+ 	gen_movsi typos.
+ 
+ Tue Sep 28 16:43:14 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Abort if
+ 	origin_die is NULL.
+ 	(gen_inlined_enumeration_type_die): Do not abort if the type has
+ 	not been writeen out.
+ 	(gen_inlined_structure_type_die): Do not abort if the type has
+ 	not been writeen out.
+ 	(gen_inlined_union_type_die): Do not abort if the type has
+ 	not been writeen out.
+ 	(gen_tagged_type_instantiation_die): Do not abort if the type
+ 	has not been written out.
+ 
+ Tue Sep 28 14:33:47 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
+ 	call it.
+ 	* reg-stack.c (straighten_stack): Copy hard reg set with
+ 	COPY_HARD_REG_SET.
+ 
+ Tue Sep 28 01:11:05 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (stabilize_va_list): Stabilize array type va_list
+ 	to a pointer type, not the base record type.
+ 	(expand_builtin_va_copy): Dereference the pointers explicitly;
+ 	use the correct size for the copy.
+ 
+ 	* rs6000.c (rs6000_va_start): Dereference valist to get to the record.
+ 	(rs6000_va_arg): Likewise.
+ 
+ Mon Sep 27 23:27:21 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.h (struct rtx_def): Move gc_mark to align mode field.
+ 
+ Mon Sep 27 23:20:29 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (struct tree_decl): Use `bclass', not `class', in name of
+ 	field.
+ 	(DECL_BUILT_IN_CLASS): Adjust accordingly.
+ 
+ Mon Sep 27 23:03:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
+ 	(init_ggc): Use it instead of a constant.
+ 	(ggc_collect): Bound allocated_last_gc by it.
+ 
+ Mon Sep 27 19:06:04 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
+ 	with va_list.
+ 
+ Mon Sep 27 19:40:17 CEST 1999	Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* configure.in (mips*el-*-openbsd*):  Don't duplicate default settings.
+ 	(mips*-*-openbsd*):  Let big endian configuration be a fragment.
+ 	* configure:  Regen.
+ 	* config/mips/openbsd.h:  New, OpenBSD little endian target.
+ 	* config/mips/openbsd-be.h:  New, OpenBSD big endian target fragment.
+ 	* config/mips/xm-openbsd.h:  New, OpenBSD host.
+ 
+ Mon Sep 27 10:28:48 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c (output_function_prologue,
+ 	output_function_epilogue): Use
+ 	current_function_uses_pic_offset_table instead of regs_ever_live
+ 	to decide whether to save/restore pic register.
+ 	(legitimize_pic_address): Don't modify regs_ever_live any more.
+ 
+ Sun Sep 26 10:55:36 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.h (struct function): Add x_dont_save_pending_sizes_p.
+ 	* stor-layout.c (variable_size): Don't add sizes to the pending
+ 	sizes list if x_dont_save_pending_sizes_p is set.
+ 
+ Sun Sep 26 16:36:52 1999  Robert Lipe  (robertlipe@usa.net)
+ 
+ 	* config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
+ 	for symbolic_operand().
+ 	* config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
+ 
+ Sun Sep 26 07:37:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* combine.c (gen_rtx_combine): Add missing call to va_end().
+ 
+ 	* final.c (asm_fprintf): Likewise.
+ 
+ 	* genattrtab.c (attr_rtx): Likewise.
+ 
+ Sat Sep 25 13:11:07 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c: Update comments.
+ 	(cse_insn): When converting a conditional/computed jump into
+ 	an unconditional jump, always make sure a BARRIER immediately
+ 	follows the converted jump.  Do not delete unreachable code.
+ 	(cse_basic_block): Do not delete unreachable code.
+ 	* toplev.c (rest_of_compilation): Move call to
+ 	delete_trivially_dead_insns after the conditional call to
+ 	jump_optimize.
+ 
+ Sat Sep 25 09:03:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (make_temp_file): Don't prototype.
+ 
+ 	* gcc.c (make_temp_file): Likewise.
+ 
+ 	* mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
+ 
+ Sat Sep 25 13:42:15 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* varasm.c (asm_emit_uninitialised): New function: Generate
+ 	the assembler statements necessary to declare an uninitialized
+ 	variable.
+ 	(ASM_EMIT_LOCAL): New macro: Emit a local, uninitialized
+ 	variable.
+ 	(ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
+ 	(ASM_EMIT_COMMON): New macro: Emit an entry in the common
+ 	section.
+ 	(assemble_variable): Use asm_emit_uninitialised to emit an
+ 	uninitialized variable.
+ 
+ Fri Sep 24 17:10:56 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* combine.c (simplify_comparison): Cope with downshifting a 32 bit
+ 	constant on a 64 bit host.  Patch supplied by Geoffrey Keating
+ 	<geoffk@cygnus.com>.
+ 
+ Fri Sep 24 10:48:10 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
+ 	* c-common.h (builtin_function): Don't declare.
+ 
+ 	* c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
+ 	DECL_BUILT_IN.
+ 	(pushdecl): Likewise.
+ 	(finish_decl): Likewise.
+ 	(builtin_function): New arg CLASS.  Arg FUNCTION_CODE now of type
+ 	int.  All callers changed.
+ 	Set the builtin's DECL_BUILT_IN_CLASS.
+ 	* tree.h (enum built_in_class): New.
+ 	(enum built_in_function): Delete NOT_BUILT_IN.
+ 	(DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
+ 	in a union.
+ 	(DECL_SET_FUNCTION_CODE): Likewise.
+ 	(DECL_BUILT_IN_CLASS): New macro.
+ 	(DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
+ 	(struct tree_decl): Split builtin function code field into a
+ 	struct.
+ 	(builtin_function): Declare.
+ 
+ Fri Sep 24 01:45:05 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* optabs.c (init_traps): Fix typo in last change.
+ 
+ Fri Sep 24 01:10:11 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.c (rest_of_decl_compilation): Update comment.
+ 
+ Fri Sep 24 11:57:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
+ 	in .sbss if appropriate.
+ 	(EXTRA_SECTION_FUNCTIONS): Add sbss.
+ 	(SBSS_SECTION_ASM_OP): New macro.
+ 	* config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
+ 	(EXTRA_SECTIONS): Add in_sbss.
+ 	* config/mips/mips.h: Prototype sbss_section.
+ 
+ Thu Sep 23 18:18:55 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_start_bindings): Don't allow cleanup instructions
+ 	to disappear.
+ 
+ Thu Sep 23 18:07:01 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* optabs.c (init_traps): Register trap_rtx as a GC root.
+ 
+ Thu Sep 23 17:41:47 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/mips/mips.c (function_arg_pass_by_reference): Define
+ 	unconditionally, since it's called unconditionally.
+ 
+ Thu Sep 23 13:40:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (documented_lang_options): Add -fshort-wchar.
+ 	* c-decl.c (c_decode_option): Likewise.
+ 	(init_decl_processing): If -fshort-wchar, use 'short unsigned int'
+ 	for wchar_t.
+ 	* c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
+ 	* gcc.c (default_compilers): If -fshort-wchar,
+ 	override __WCHAR_TYPE__.
+ 	* tm.texi (C Dialect Options): Add -fshort-wchar.
+ 
+ 	* dwarf2out.c (output_aranges): Use DW_AT_location to find the
+ 	symbol for a variable.
+ 
+ 	* cpplib.h (CPP_PREPROCESSED): New macro.
+ 	* cpplib.c (handle_directive): Don't complain about `# NUMBER' if
+ 	we're seeing this input for a second time.
+ 
+ Thu Sep 23 12:54:49 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* emit-rtl.c (init_emit_once): Initialize modes first.
+ 
+ Sun Sep 19 01:23:23 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* config/i386/i386.c (pic_label_name): Change to char pointer.
+ 	(global_offset_table): New variable.
+ 	(load_pic_register): Fill global_offset_table if it hasn't
+ 	already been done.  Allocate pic_label_name dynamically.
+ 	* ggc.h (empty_string): New variable.
+ 	* ggc-simple.c (empty_string): Likewise.
+ 	(init_ggc): Allocate empty_string and add as root.
+ 	* stmt.c (digit_strings): New variable.
+ 	(init_stmt): Add last_block_end_note as root.  Allocate and
+ 	initialize digit_strings.
+ 	(expand_asm_operands): Use empty_string instead of string
+ 	constant.  Use digit_strings instead of string constants.
+ 	* profile.c (init_arc_profiler): Allocate string with
+ 	ggc_alloc_string instead of xmalloc.
+ 	(output_func_start_profiler): Likewise.
+ 	* c-typeck.c (digest_init): Check if init is error_mark_node.
+ 
+ Thu Sep 23 12:59:14 1999  Alex Samuel  <samuel@codesourcery.com>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-page.c: New file.
+ 	* Makefile.in (ggc-page.o): New.
+ 
+ Thu Sep 23 13:55:21 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* invoke.texi: Document -fdelete-null-pointer-checks
+ 	* toplev.c (flag_delete_null_pointer_checks): New.
+ 	(f_options): Add entry for -fdelete-null-pointer-checks.
+ 	(rest_of_compilation): Conditionalize null pointer check
+ 	elimination on flag_delete_null_pointer_checks.
+ 	(main): If -O2 or greater, enable -fdelete-null-pointer-checks
+ 
+ 1999-09-23 10:56 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
+ 	copyright notice and special exception to GPL.
+ 
+ Thu Sep 23 13:40:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* abi64.h (mips_function_value): Add prototype arguments.
+ 
+ 	* mips-protos.h: New file with mips prototypes.
+ 
+ 	* mips.c: Include "tm_p.h".
+ 	(mktemp, lookup_name): Add prototype arguments.
+ 	(extern_list, string_constant, mips_fill_delay_slot,
+ 	mips_output_external, mips_output_external_libcall,
+ 	mips_output_filename, mips_declare_object, function_prologue,
+ 	mips_expand_prologue, function_epilogue, mips16_constant,
+ 	build_mips16_function_stub, mips_output_conditional_branch):
+ 	Constify a char*.
+ 	(mips_va_start): Remove unused variable `u'.
+ 	(mips_va_arg): Cast value to unsigned when comparing against one.
+ 	(trace): Delete.
+ 	(save_restore_insns, mips_expand_prologue): Add missing arg in
+ 	call to `large_int'.
+ 
+ 	* mips.h: Move prototypes to mips-protos.h.
+ 	(data_section, memory_address_p, rdata_section,
+ 	readonly_data_section, simple_epilogue_p, text_section): Delete
+ 	prototypes delcared elsewhere.
+ 	(mips_epilogue_delay_slots, print_options): Delete unused decls.
+ 	(trace): Delete.
+ 	(GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
+ 
+ 	* mips.md: Delete extra args in call to `mips_move_2words'.
+ 
+ 	* xm-iris6.h (alloca): Add prototype argument.
+ 
+ 	* genpeep.c: Include "tm_p.h" in generated output file.
+ 
+ Thu Sep 23 10:36:55 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* basic-block.h (find_edge_index): Change parameters.
+ 	* flow.c (verify_edge_list): Pass basic_block parameters to
+ 	find_edge_index instead of integers.
+ 
+ Thu Sep 23 15:54:12 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* combine.c (simplify_comparison): Use an unsigned shift to adjust
+ 	the constant.
+ 
+ Thu Sep 23 08:46:21 1999  Guy Harris  <guy@netapp.com>
+ 
+ 	* gcc.1: Fix a formatting error.
+ 
+ Wed Sep 22 16:10:21 1999  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* install.texi (Configurations): Remove pyramid. Add fr30, i686,
+ 	i786, mn10200, mn10300, pdp11, v850.
+ 
+ Thu Sep 23 07:37:13 1999  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* libgcc2.c (num_digits): Add prototype with
+ 	__attribute__((const)).
+ 	(__terminate): Add prototype.
+ 
+ Thu Sep 23 05:32:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c, dbxout.c, varasm.c: Include tm_p.h.
+ 
+ 	* alpha/alpha.c (print_operand): Fix type of `code'.
+ 	(alpha_output_filename): Constify.
+ 	* alpha/alpha.h: Move all function declarations ...
+ 	* alpha/alpha-protos.h: ... here.  New file.
+ 	* alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
+ 	(SECTION_FUNCTION_TEMPLATE): Likewise.
+ 
+ Thu Sep 23 11:15:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
+ 	* expr.c (expand_expr): Likewise.
+ 	(do_jump): Likewise.
+ 	(do_store_flag): Pass ccp_store_flag to can_compare_p.
+ 	* expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
+ 	accessor macros.
+ 	(enum can_compare_purpose): New.
+ 	(can_compare_p): Adjust prototype.
+ 	(prepare_cmp_insn, prepare_operand): Declare.
+ 	* genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
+ 	* optabs.c (cmp_available_p): Deleted.
+ 	(expand_abs): Pass ccp_jump to can_compare_p.
+ 	(can_compare_p): New arg PURPOSE.  Check for combined optabs.
+ 	(prepare_cmp_insn): No longer static.  Add arg PURPOSE.
+ 	Call can_compare_p rather than cmp_available_p.
+ 	(prepare_operand): No longer static.
+ 	(emit_cmp_and_jump_insn): Check for and use cbranch patterns.
+ 	(emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
+ 	(expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
+ 	sequence to use emit_cmp_and_jump_insns.
+ 	(init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
+ 
+ Wed Sep 22 17:58:01 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
+ 	register offsets; let LEGITIMIZE_ADDRESS load it into a register.
+ 	(LEGITIMIZE_ADDRESS): Use plus_constant to avoid
+ 	(plus (reg) (const_int 0))
+ 	* mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
+ 
+ Wed Sep 22 17:55:31 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (expand_block_move): DImode loads and stores require
+ 	word-aligned displacements.  Increment address registers with
+ 	adddi3 on 64-bit platform.  Use TARGET_POWERPC64 not TARGET_64BIT.
+ 
+ Wed Sep 22 17:35:55 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* dwarf2out.c (base_type_die): Use the name __unknown__ if there
+ 	is no name for the base type, rather than segfault.  If we are
+ 	writing out a complex integer type, use DW_ATE_lo_user.
+ 
+ 	* expr.c (emit_move_insn_1): If we are copying a complex that fits
+ 	in one word or less (complex char, complex short, or on 64 bit
+ 	systems complex float) to/from a hard register, copy it through
+ 	memory instead of dying in gen_{real,imag}part.  If we have a
+ 	short complex type, prevent inlining since it allocates stack
+ 	memory.
+ 
+ 	* tree.c (build_complex_type): If we are writing dwarf2 output,
+ 	generate a name for complex integer types.
+ 
+ Wed Sep 22 11:34:08 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
+ 	* flow.c (remove_edge): Remove extra whitespace.
+ 	(remove_fake_edges): Fix comment.
+ 	(add_noreturn_fake_exit_edges): Use the correct name.
+ 
+ Wed Sep 22 16:12:40 BST 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
+ 	(mostlyclean): Depend on INTL_MOSTLYCLEAN.
+ 	(clean): Depend on INTL_CLEAN.
+ 	(maintainer-clean): Adjust.
+ 
+ Wed Sep 22 10:18:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (AC_PREREQ): Bump to 2.13.
+ 	(AC_C_STRINGIZE): Call this instead of using a custom macro.
+ 
+ 	* gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
+ 
+ 	* system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
+ 
+ 	* acconfig.h (HAVE_CPP_STRINGIFY): Delete.
+ 
+ 	* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
+ 	(HAVE_STRINGIZE): Define.
+ 
+ Wed Sep 22 06:25:15 1999  Jim Kingdon  <http://developer.redhat.com>
+ 
+ 	* c-parse.in: save and restore warn_pointer_arith on __extension__
+ 	along with pedantic.
+ 	(SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
+ 	Set the type of extension to itype rather than $<itype>1 kludge.
+ 	* extend.texi (Alternate Keywords): Adjust documentation.
+ 	* c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
+ 
+ Wed Sep 22 06:06:57 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c, pa.h, pa.md: Support multiple assembler dialects in
+ 	most assembler templates.
+ 
+ 	* pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
+ 	FP loads and stores.
+ 	(following_call): Always return zero for the PA8000.
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
+ 	FP loads and stores.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Similarly.
+ 
+ 	* pa.h (BRANCH_COST): Define.
+ 
+ 	* pa.md (return, return_internal): Use bve for PA2.0.
+ 
+ 	* pa.md (fused multiply): Add variants which reduce height for the
+ 	fused multiply, but which still generate 2 insns.
+ 	(fnegabs): Similarly.
+ 
+ 	* pa.md (subsi3): Turn into an expander.  Create two anonymous
+ 	patterns.  One for PA2.0 one for PA1.x.  Use mtsarcm for PA2.0.
+ 	* pa.h (EXTRA_CONSTRAINT): Handle 'S'.
+ 
+ 	* pa.md (floatunssisf2, floatunssidf2): Generate different RTL
+ 	for TARGET_PA_20.
+ 	(floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
+ 	code generation.
+ 	(floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
+ 	(fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
+ 
+ 	* regclass.c (init_regs): Add "top_of_stack" as a garbage
+ 	collection root.
+ 
+ 	* flow.c (record_active_eh_regions): Terminate loop after finding
+ 	the last insn in the last basic block.
+ 
+ Wed Sep 22 20:25:00 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md: Delete parallel instruction peepholes.
+ 
+ Wed Sep 22 19:59:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
+ 
+ Wed Sep 22 19:56:25 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
+ 	splitting to not use output template.
+ 
+ Wed Sep 22 19:50:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
+ 	* config/c4x/c4x.c (c4x_va_start): New function.
+ 
+ Tue Sep 21 18:40:01 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* genrecog.c (not_both_true): Handle correctly cases when called for
+ 	tests with different positions in the insn.
+ 
+ Tue Sep 21 18:29:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* machmode.h (HOST_PTR_PRINTF): Move from here ...
+ 
+ 	* system.h (HOST_PTR_PRINTF): ... to here.
+ 
+ 	* mips-tfile.c: Don't include machmode.h.
+ 
+ 	* Makefile.in (MACHMODE_H): New variable.  Update to use it.
+ 	(mips-tfile.o): Don't depend on machmode.h.
+ 
+ Tue Sep 21 18:27:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* haifa-sched.c (sched_analyze): Rename local variable `region' to
+ 	avoid conflicts with typedef struct `region' at the top level scope.
+ 
+ Tue Sep 21 14:14:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (basic_block): Add eh_beg, eh_end.
+ 	* flow.c (entry_exit_blocks): Update.
+ 	(find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
+ 	Call new functions.
+ 	(find_basic_blocks_1): Don't record eh_list at each bb.  Use
+ 	lists.c functions to allocate insn lists.
+ 	(make_edges): Use eh_beg+eh_end, not the lists.  Split out EH
+ 	edge creation ...
+ 	(make_eh_edge): ... here.  New.
+ 	(move_stray_eh_region_notes): New.
+ 	(record_active_eh_regions): New.
+ 	(delete_unreachable_blocks): Split out block merging ...
+ 	(try_merge_blocks): ... here.  New.
+ 	(merge_blocks_move_predecessor_nojumps): Remove edge arg.
+ 	Dump debugging data.
+ 	(merge_blocks_move_successor_nojumps): Likewise.
+ 	(merge_blocks): Use eh_beg+eh_end to validate block movement.
+ 
+ Tue Sep 21 11:15:03 1999  Martin v. LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* extend.texi (Bound member functions): Document unbound pmf
+ 	conversion.
+ 
+ Tue Sep 21 14:55:11 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* flow.c (split_edge): Handle insertion on a fallthrough edge which
+ 	has the EXIT_BLOCK as a dest.
+ 
+ Tue Sep 21 14:51:23 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* flow.c (remove_edge): New function to remove an edge from the
+ 	flow graph.
+ 	(remove_fake_successors): New function to remove fake successor edges.
+ 	(remove_fake_edges): New function to remove all fake edges from the
+ 	flow graph.
+ 	(add_fake_exit_edges): New function to add fake edges from all blocks
+ 	with no successors to the exit block.
+ 	* basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
+ 	prototypes for new functions.
+ 
+ Tue Sep 21 14:49:53 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
+ 	Use Pmode to determine whether to output .dword or .word.
+ 
+ Tue Sep 21 11:04:34 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* tree.c (built_in_filename): New variable.
+ 	(BUILT_IN_FILENAME): New macro.
+ 	(init_tree_codes): Allocate built_in_filename.
+ 	(make_node): Use built_in_filename instead of string constant.
+ 
+ Tue Sep 21 14:13:27 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Add fr30 target.
+ 	* configure: Regenerate.
+ 	* config/fr30: New directory.
+ 	* config/fr30/crti.asm: New file.
+ 	* config/fr30/fr30.c: New file.
+ 	* config/fr30/crtn.asm: New file.
+ 	* config/fr30/fr30.h: New file.
+ 	* config/fr30/fr30.md: New file.
+ 	* config/fr30/lib1funcs.asm: New file.
+ 	* config/fr30/t-fr30: New file.
+ 	* config/fr30/xm-fr30.h: New file.
+ 
+ Tue Sep 21 06:45:31 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (merge_blocks_move_successor_nojumps): Delete the
+ 	BARRIER at the end of the successor, not the BARRIER before
+ 	the successor.
+ 
+ 	* pa.c (pa_add_gc_roots): Fix thinko in last change.
+ 
+ Tue Sep 21 05:29:17 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* stmt.c (any_pending_cleanups): Don't crash when
+ 	current_function->stmt is unset.
+ 
+ Tue Sep 21 00:59:49 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* emit-rtl.c (init_emit_once): Initialize const_int_rtx before
+ 	other initializations that may use it for relative offsets.
+ 
+ Mon Sep 20 21:43:25 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
+ 	(ASM_SPEC): Moved from sol2dbg.h.  Added work-around for gas.
+ 	* config/i386/sol2dbg.h: Removed.
+ 	* config/i386/sol2gas.h: New file, to enable gas work-around.
+ 	* configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
+ 	Don't use sol2dbg.h.
+ 	* configure: Rebuilt.
+ 
+ Mon Sep 20 13:29:41 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (-fthis-is-variable): Remove documentation.
+ 
+ Mon Sep 20 12:59:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (compute_bb_for_insn): Declare.
+ 	* flow.c (compute_bb_for_insn): Export.  Don't accept the varray
+ 	to use; set size of basic_block_for_insn directly.
+ 	(find_basic_blocks): Update.
+ 
+ Mon Sep 20 15:11:54 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
+ 
+ Mon Sep 20 14:56:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* crtstuff.c (ON_EXIT): Delete empty macro definition.
+ 	(__do_global_ctors_aux): Call atexit(), not ON_EXIT().
+ 
+ Mon Sep 20 15:25:35 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* c-decl.c (c_decode_option): Extend comment.
+ 
+ Mon Sep 20 14:43:37 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (progname): Make 'const char *'
+ 	(flag_print_mem): Move out of main.
+ 	(version_flag): Move out of main.
+ 	(filename): Move out of main.
+ 	(debug_args): Remove g prefix from options.
+ 	(documented_lang_options): Remove cpplib specific options.
+ 	(display_help): Add g prefix to debug options.
+ 	(check_lang_option): Delete this function.
+ 	(decode_d_option): New function: Decode -d... option.
+ 	(decode_f_option): New function: Decode -f... option.
+ 	(decode_W_option): New function: Decode -W... option.
+ 	(decode_g_option): New function: Decode -g... option.
+ 	(independent_decode_option): New function: Decode a language
+ 	independent command line option.
+ 	(main): Invoke lang_decode_option and then
+ 	independent_decode_option on each command line option in
+ 	turn.
+ 
+ Mon Sep 20 05:41:36 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	Revert this change.  Gavin's patch to operand_equal_p is a better fix.
+ 	 * fold-const.c (fold_range_test): Do not try to fold the range
+ 	 test if the rhs or lhs has side effects.
+ 
+ 	* basic-block.h (compute_flow_dominators): Declare.
+ 
+ 	* gcse.c (alloc_code_hoist_mem): New function.
+ 	(free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
+ 	(compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
+ 	(hoist_code, one_code_hoisting_pass): Likewise.
+ 	(gcse_main): If optimizing for size, then hoist expressions
+ 	computed in multiple dominated basic blocks.
+ 
+ 	* gcse.c (invalid_nonnull_info): New function.
+ 	(delete_null_pointer_checks): Likewise.
+ 	* rtl.h (delete_null_pointer_checks): Declare.
+ 	* toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
+ 
+ 	* flow.c (merge_blocks_move_predecessor_nojumps): New function.
+ 	(merge-blocks_move_successor_nojumps): Likewise.
+ 	(merge_blocks): Allow merging of some blocks, even if it requires
+ 	physical movement of the blocks, but not if it requires new jumps.
+ 
+ 	* bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
+ 	Callers and prototype changed.
+ 	* bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
+ 
+ Mon Sep 20 06:56:32 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
+ 	-YP when both -p and -pg are present.  From i386/sol2.h.
+ 
+ Mon Sep 20 10:49:05 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* Makefile.in (distclean): Delete tm_p.h.
+ 	* configure.in: Create a new file, "tm_p.h", from a list in
+ 	"tm_p_file". For ix86 systems, set up "tm_p_file" to include
+ 	"i386/i386-protos.h".
+ 
+ 	* alias.c: Include "tm_p.h".
+ 	* c-typeck.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* cse.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* final.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* global.c: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* unroll.c: Likewise.
+ 	* genattrtab.c (main): Make generated file include "tm_p.h".
+ 	* genemit.c (main): Likewise.
+ 	* genoutput.c (main): Likewise.
+ 	* genrecog.c (main): Likewise.
+ 
+ 	* i386.h: Delete all prototypes.
+ 	* i386.c: Include "tm_p.h".
+ 	(ix86_attr_length_default): Call constant_call_address_operand
+ 	with correct number of arguments.
+ 	* i386-protos.h: New file.
+ 	* i386.md (unnamed patterns): Call constant_call_address_operand
+ 	with correct number of arguments.
+ 	(exception_receiver): Call load_pic_register with correct number
+ 	of arguments.
+ 
+ Sun Sep 19 14:18:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-pragma.c (mark_align_stack): Dereference the void* properly.
+ 
+ Sun Sep 19 09:03:40 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (insns_safe_to_move_p): New function.
+ 	* loop.c (find_and_verify_loops): Use it.
+ 	* rtlanal.c (insns_safe_to_move_p): Define it.
+ 
+ Sun Sep 19 02:54:33 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-pragma.c: Include ggc.h.
+ 	* Makefile.in (c-pragma.o): Update.
+ 
+ Sat Sep 18 16:01:18 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/i386/sol2.h (CPP_SPEC): Support -[p]threads
+ 	(LIB_SPEC): Likewise.
+ 	(LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
+ 	Reindent -YP/-p/-pg.
+ 	Copied from config/sparc/sol2.h.
+ 
+ Sat Sep 18 11:52:43 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-pragma.c (mark_align_stack): New.
+ 	(init_pragma): New.
+ 	* c-pragma.h (init_pragma): Declare it.
+ 	* c-lex.c (init_parse): Call it.
+ 
+ Sat Sep 18 15:20:38 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* configure.in: Pick up thread library on Solaris/x86 just
+ 	like on Solaris/sparc.
+ 	* configure: Rebuilt.
+ 
+ Sat Sep 18 11:15:58 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* rtl.h (global_rtx_index): New enum.
+ 	(global_rtl): Change to array of rtx.
+ 	(pc_rtx, cc0_rtx): Redefine accordingly.
+ 	(cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
+ 	(hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
+ 	(virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
+ 	(virtual_outgoing_args_rtx, virtual_cfa): Likewise.
+ 	(const_int_rtx): Change to array of rtx.
+ 	(const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
+ 	accordingly.
+ 	* emit-rtl.c (global_rtl): Change to array of rtx.
+ 	(const_int_rtx): Change to aray of rtx.
+ 	(gen_rtx_CONST_INT): Redefine accordingly.
+ 	(init_emit_once): Allocate and initialize global_rtl.  Likewise
+ 	for const_int_rtx.  Add both as GC roots.
+ 	* genattrtab.c (global_rtl): Update declaration.
+ 
+ 1999-09-17  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* Makefile (USER_H): Add iso646.h back.
+ 
+ Sat Sep 18 01:07:21 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
+ 	zapping the LOG_LINKS of sched_before_next_call.
+ 
+ 	* pa.h (INSN_SETS_ARE_DELAYED): Delete.
+ 	* pa.c (insn_refs_are_delayed): Renamed from
+ 	insn_sets_and_refs_are_delayed.
+ 
+ Fri Sep 17 15:19:01 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* functiion.h (struct function): Add x_whole_function_mode_p.
+ 	(retrofit_block): Declare.
+ 	* function.c (retrofit_block): New function.
+ 	(identify_blocks): Add assertions.  Allow an incomplete set of
+ 	block notes if we're still generating code for the function.
+ 	* integrate.c: Include loop.h.
+ 	(expand_inline_function): Call find_loop_tree_blocks to map block
+ 	notes to blocks when in whole-function mode.  Use retrofit_block
+ 	to insert new BLOCKs for the inlined function, rather than
+ 	insert_block.
+ 	* stmt.c (expand_fixup): Likewise.  Don't use pushlevel/polevel.
+ 	* Makefile.in (integrate.o): Depend on loop.h.
+ 
+ Fri Sep 17 15:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (warn_about_unused_variables): Declare.
+ 	* stmt.c (warn_about_unused_variables): New function, split out
+ 	from ...
+ 	(expand_end_bindings): Here.
+ 
+ Fri Sep 17 15:07:37 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (preserve_subexpressions_p): Don't crash when
+ 	current_function->stmt is unset.
+ 
+ Fri Sep 17 15:03:16 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_start_bindings): Allow callers to pass a flag
+ 	indicating that no NOTE_INSN_BLOCK_BEG note is required.
+ 	(expand_start_target_temps): Use it.
+ 	* except.c (expand_eh_region_start_for_decl): Likewise.
+ 	* expr.c (expand_expr): Likewise.
+ 
+ Fri Sep 17 15:05:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* fold-const.c (operand_equal_p): Pay attention to side effects.
+ 
+ Fri Sep 17 11:14:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
+ 	* sparc/sunos4.h (HAVE_ON_EXIT): Remove.
+ 
+ 	* tlink.c (scan_linker_output): Look for keywords before accepting
+ 	a mangled name in quotes.
+ 
+ Thu Sep 16 16:47:08 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
+ 	* alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
+ 
+ Thu Sep 16 16:35:41 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md: Revert Thu Nov 26 change that came in through the
+ 	last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
+ 	Avoid earlyclobber when possible.
+ 
+ Thu Sep 16 18:44:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* libgcc2.c (__do_global_ctors): Call atexit with one arg.
+ 
+ 	* sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
+ 	Define HAVE_ON_EXIT.
+ 
+ Thu Sep 16 18:06:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros.  Use
+ 	CTYPE_CONV in all ctype macros.
+ 
+ 	* cccp.c (initialize_char_syntax): Use uppercase ctype macro
+ 	from system.h.
+ 
+ 	* cexp.y (initialize_random_junk): Likewise.
+ 
+ 	* c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
+ 
+ 	* i370.c (handle_pragma): Likewise.
+ 
+ 	* i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* v850.c (override_options): Likewise.
+ 
+ 	* doprint.c (_doprnt): Likewise.
+ 
+ 	* fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
+ 	Likewise.
+ 
+ 	* fixinc/server.c (load_data): Likewise.
+ 
+ 	* fold-const.c (real_hex_to_f): Likewise.
+ 
+ 	* genattr.c (write_upcase, gen_attr): Likewise.
+ 
+ 	* genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
+ 	write_upcase): Likewise.
+ 
+ 	* genemit.c (print_code): Likewise.
+ 
+ 	* genopinit.c (gen_insn): Likewise.
+ 
+ 	* genpeep.c (print_code): Likewise.
+ 
+ 	* genrecog.c (print_code): Likewise.
+ 
+ 	* optabs.c (init_libfuncs): Likewise.
+ 
+ Thu Sep 16 14:03:32 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* haifa-sched.c (sched_analyze): Keep the list of notes organized
+ 	in pairs.
+ 	(reemit_notes): Likewise.
+ 
+ Thu Sep 16 11:50:52 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* ggc.h (ggc_root): Move to ggc-common.c.
+ 	(roots): Remove.
+ 	(ggc_mark_rtx, ggc_mark_tree): Change to macro.
+ 	(ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
+ 	(ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
+ 	(ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
+ 	* ggc-common.c (ggc_root): Move from ggc.h.
+ 	(roots): Declare, static.
+ 	(ggc_mark_rtx, ggc_mark_tree): Renamed to...
+ 	(ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
+ 	null or check/set mark bit.
+ 	(ggc_mark_roots): New.
+ 	* ggc-simple.c (ggc_collect): Call ggc_mark_roots.
+ 
+ Thu Sep 16 11:37:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m32r.c: Include toplev.h.
+ 	(*): Add ATTRIBUTE_UNUSED as needed to arguments.
+ 	(gen_compare): Rename swap_p to must_swap to match uses.
+ 	Add default abort case.
+ 	(m32r_output_function_epilogue): Remove unused variables.
+ 	(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+ 	* m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
+ 	define to empty parameter list.  Update all uses.
+ 	(predicate decls): Use enum machine_mode not int.
+ 	* m32r.md (movsi): Call abort, not fatal_insn.
+ 	(zero_branch_insn, rev_zero_branch_insn): Add default abort case.
+ 
+ 1999-09-14  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
+ 	use $0 instead of 0.
+ 
+ Thu Sep 16 10:53:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (order_regs_for_reload): Move hard_reg_n_uses
+ 	computation out of loop over hard regs.
+ 
+ Wed Sep 15 21:37:06 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (identify_blocks): Don't shadow a variable in an
+ 	outer scope.
+ 	* integrate.c (integrate_decl_tree): Don't use pushlevel,
+ 	pushdecl, or poplevel to build up the new BLOCK tree.
+ 	(expand_inline_function): Likewise.
+ 	(integrate_parm_decls): Likewise.
+ 
+ Wed Sep 15 21:20:38 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-typeck.c (qualify_type): Merge qualifiers from both types.
+ 
+ 1999-09-15  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
+ 	* invoke.texi: Document this change.
+ 
+ Wed Sep 15 17:56:00 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
+ 	Free the struct.
+ 	(mark_emit_status): Renamed from mark_emit_state.
+ 	* except.c (mark_eh_status): Renamed from mark_eh_state.
+ 	Check not null before marking.
+ 	(free_eh_status): New.
+ 	* expr.c (mark_expr_status, free_expr_status): New.
+ 	* function.c (free_machine_status): New.
+ 	(free_after_parsing): New.
+ 	(free_after_compilation): Move bits to free_after_parsing; call
+ 	free_eh_status, free_expr_status; zero the marked members of the
+ 	function state.
+ 	(prepare_function_start): No can_garbage_collect.
+ 	Call init_eh_for_function.
+ 	(expand_dummy_function_end): Free up current_function state.
+ 	(mark_function_status): Renamed from mark_function_state.
+ 	(mark_function_chain): No can_garbage_collect.  Call mark_expr_status.
+ 	* function.h (struct function): No can_garbage_collect.
+ 	(free_machine_status, free_after_parsing): Declare.
+ 	(free_eh_status, free_expr_status): Declare.
+ 	* ggc.h (mark_expr_status): Declare.
+ 	* stmt.c (free_stmt_status): Free the struct.
+ 	(mark_stmt_status): Renamed from mark_stmt_state.
+ 	(init_stmt): Don't call init_eh.
+ 	(init_stmt_for_function): Don't call init_eh_for_function.
+ 	* toplev.c (compile_file): Call init_eh.
+ 	(rest_of_compilation): Free basic block info before ggc_collect.
+ 	Call free_after_parsing; conditionally call free_after_compilation.
+ 	* varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
+ 	Check not null before marking.
+ 	(free_varasm_status): Don't check DECL_DEFER_OUTPUT.  Free the struct.
+ 
+ Wed Sep 15 17:53:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-lex.c (yylex): Initialize warn.
+ 
+ Wed Sep 15 18:35:38 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (emit_move_sequence): Properly set the mode of the scratch
+ 	register when performing secondary reloads for the SAR register.
+ 
+ Wed Sep 15 15:51:52 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
+ 	(NOTE_BLOCK): New macro.
+ 	(NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
+ 	* function.h (identify_blocks): Change prototype.
+ 	* function.c (identify_blocks): Simplify.
+ 	(reorder_blocks): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
+ 	NOTE_INSN_BLOCK_{BEG,END}.
+ 	* haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
+ 	the list of saved notes if the note isn't a
+ 	NOTE_INSN_BLOCK_{BEG,END}.
+ 	(move_insn1): Use NOTE_EH_HANDLER in comment, rather than
+ 	NOTE_BLOCK_NUMBER.
+ 	(reemit_notes): Adjust recreation of notes to reflect new saved
+ 	note structure.
+ 	* print-rtl.c (print_rtx): Print the address of the BLOCK when
+ 	printing a block note.
+ 	* stmt.c (block_vector): Remove.
+ 	(find_loop_tree_blocks): Simplify.
+ 	(unroll_block_trees): Likewise.
+ 	* tree.h (reorder_block): Change prototype.
+ 
+ Wed Sep 15 14:39:35 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* gbl-ctors.h: Lose HAVE_ATEXIT.  Don't define ON_EXIT.
+ 	* libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
+ 	(__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
+ 	(__do_global_dtors): Likewise.  Don't mess with _exit_dummy_decl.
+ 	(atexit, exit): Simplify.
+ 	* tm.texi: Document NEED_ATEXIT and ON_EXIT.  Remove HAVE_ATEXIT.
+ 	* config/lots: Remove defns of HAVE_ATEXIT.
+ 
+ Wed Sep 15 10:25:12 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (precompute_arguments): Fix typo in comment.
+ 	* expr.c (preexpand_calls): Don't preexpand the cleanup in a
+ 	TARGET_EXPR.
+ 
+ Wed Sep 15 09:59:59 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dsp16xx.c (override_options): Fix typos in GC root registration.
+ 
+ Wed Sep 15 15:23:28 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
+ 	from config/svr4.h.
+ 	(UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
+ 	(FUNCTION_PROFILER): Redefine appropriately for Linux.
+ 	(CC1_SPEC): Likewise.
+ 
+ Wed Sep 15 10:09:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (main): Add extern prototype.  Call return, not exit.
+ 	* genattrtab.c (main): Likewise.
+ 	* gencheck.c (main): Likewise.
+ 	* gencodes.c (main): Likewise.
+ 	* genconfig.c (main): Likewise.
+ 	* genemit.c (main): Likewise.
+ 	* genextract.c (main): Likewise.
+ 	* genflags.c (main): Likewise.
+ 	* gengenrtl.c (main): Likewise.
+ 	* genopinit.c (main): Likewise.
+ 	* genoutput.c (main): Likewise.
+ 	* genpeep.c (main): Likewise.
+ 	* genrecog.c (main): Likewise.
+ 
+ 	* genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
+ 	* genattrtab.c (get_insn_name): Likewise.
+ 	* gencodes.c (get_insn_name): Likewise.
+ 	* genconfig.c (get_insn_name): Likewise.
+ 	* genemit.c (get_insn_name): Likewise.
+ 	* genextract.c (get_insn_name): Likewise.
+ 	* genflags.c (get_insn_name): Likewise.
+ 	* genopinit.c (get_insn_name): Likewise.
+ 	* genpeep.c (get_insn_name): Likewise.
+ 
+ 	* gencheck.c (usage): Add static prototype.
+ 	* genextract.c (print_path): Constify a char*.
+ 	* genopinit.c (optabs): Likewise.
+ 	* genoutput.c (operand_data, data, output_predicate_decls,
+ 	compare_operands): Likewise.
+ 	* genrecog.c (write_tree): Add default case in switch.
+ 
+ Wed Sep 15 09:59:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
+ 
+ 	* print-rtl.c (get_insn_name): Remove prototype.
+ 
+ 	* toplev.h (progname): Declare const.
+ 
+ 	* toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
+ 	init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
+ 	dump_sched_info, dump_local_alloc, regset_release_memory,
+ 	print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
+ 	error_with_file_and_line, error_with_decl, error_for_asm, error,
+ 	fatal, warning_with_file_and_line, warning_with_decl, warning,
+ 	pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
+ 	Remove redundant prototypes.
+ 
+ 	(notice, check_lang_option, report_file_and_line, vnotice,
+ 	mark_file_stack): Add static prototype.
+ 	(set_fatal_function): Add prototype.
+ 	(vnotice, report_file_and_line, set_fatal_function,
+ 	check_lang_option): Constify a char*.
+ 	(main): Prototype.  Call return, not exit.
+ 
+ Wed Sep 15 09:50:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
+ 
+ 	* configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
+ 
+ 	* gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
+ 
+ 	* ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
+ 
+ Wed Sep 15 11:04:43 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* function.c (assign_parms): Delete arg SECOND_TIME.  Don't test it,
+ 	behave as if it's zero in all cases.
+ 	(expand_function_start): Adjust call to assign_parms.
+ 	* tree.h (assign_parms): Adjust prototype.
+ 	* objc/objc-act.c (hack_method_prototype): Adjust call to
+ 	assign_parms.
+ 
+ Tue Sep 14 21:47:06 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
+ 	arg_pointer_rtx fixed if the argument pointer register is
+ 	not fixed.
+ 	(NONZERO_BASE_PLUS_P): Likewise.
+ 
+ Tue Sep 14 20:26:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.def (match_insn, match_insn2): Remove match_insn; rename
+ 	match_insn2 to match_insn.
+ 	* genrecog.c (add_to_sequence): Rename MATCH_INSN2.
+ 
+ Tue Sep 14 20:10:29 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (USER_H): Remove va-foo.h.
+ 
+ 	* ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
+ 	va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
+ 	va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
+ 	va-spur.h,va-v850.h}: Remove.
+ 
+ Tue Sep 14 19:43:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc/sparc.md (eligible_for_return_delay): New attribute.
+ 	(in_return_delay): Use it instead of match_insn.
+ 
+ Tue Sep 14 23:05:37 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/alpha/va_list.h (va-alpha.h): Do not include.
+ 	(__gnuc_va_list): Typedef as in varargs.h.
+ 
+ Tue Sep 14 18:14:03 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
+ 	DECL_LIVE_RANGE_RTL.
+ 
+ Tue Sep 14 16:47:08 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
+ 	not NOTE_BLOCK_NUMBER.
+ 	(expand_eh_region_end): Likewise.
+ 	(find_exception_handler_labels): Likewise.
+ 	(scan_region): Likewise.
+ 	(exception_optimize): Likewise.
+ 	(update_rethrow_references): Likewise.
+ 	(set_insn_eh_region): Likewise.
+ 	* final.c (final_scan_insn): Likewise.
+ 	* flow.c (make_edges): Likewise.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 
+ Tue Sep 14 16:30:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ginclude/stdarg.h, ginclude/varargs.h: Implement in
+ 	terms of builtin functions and types.
+ 
+ 	* mips.c (mips_build_va_list): New.
+ 	(mips_va_start, mips_va_arg): New.
+ 	* mips.h (BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
+ 
+ 	* sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
+ 	(sh_build_va_list, sh_va_start, sh_va_arg): New.
+ 	* sh.h (BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
+ 
+ Tue Sep 14 16:20:24 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.h (struct recog_data): Make dup_num, operand_address_p,
+ 	n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
+ 	(struct insn_data): Likewise with n_operands, n_dups,
+ 	n_alternatives, output_format.
+ 	* regclass.c (scan_one_insn): Cast n_operands to int before
+ 	arithmetic inside comparison.
+ 
+ Tue Sep 14 15:13:36 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (compile_function): Unconditionally emit nop.
+ 
+ Tue Sep 14 14:41:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* haifa-sched.c (actual_hazard): Move declaration of variable
+ 	`this_cost' into the scope where it is used.
+ 
+ Tue Sep 14 14:14:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-pragma.c (handle_pragma_token): Wrap variables `name' and
+ 	`value' in HANDLE_PRAGMA_WEAK.  Wrap variable `align' in
+ 	HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
+ 
+ 	* genrecog.c (make_insn_sequence): Call memset, not bzero.
+ 
+ 	* jump.c (find_insert_position): Don't declare or define unless
+ 	!HAVE_conditional_arithmetic.
+ 	(returnjump_p_1, delete_prior_computation): Add static prototypes.
+ 
+ 	* mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
+ 
+ 	* recog.c (offsettable_address_p): Prototype function pointer.
+ 	(preprocess_constraints): Call memset, not bzero.
+ 
+ 	* tree.c (tree_node_kind_names): Constify a char*.  Make static.
+ 	(gcc_obstack_init): Don't declare.
+ 	(fix_sizetype): Add static prototype.
+ 	(gcc_obstack_init): Use prototype casts in call to _obstack_begin.
+ 	(tree_cons): Call memset, not bzero.
+ 
+ 	* varasm.c (remove_from_pending_weak_list): Wrap declaration and
+ 	definition in macro ASM_WEAKEN_LABEL.
+ 	(mark_const_hash_entry): Add static prototype.
+ 
+ Tue Sep 14 12:22:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c (handle_generic_pragma): Remove unused variable `c'.
+ 
+ 	* unroll.c (find_common_reg_term, subtract_reg_term,
+ 	loop_find_equiv_value): Add static prototypes.
+ 	(unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
+ 	(copy_loop_body): Remove unreachable break statement.
+ 
+ 	* sparc.c (sparc_va_arg): Remove unused variable `tmp'.
+ 
+ 	* sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
+ 
+ Tue Sep 14 15:28:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	Undo some changes from the gcc2 merge:
+ 	* rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
+ 	* emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
+ 	pointers.
+ 
+ 	Undo this change:
+ 	Sat Oct  3 07:20:28 1998  Stephen L Moshier  <moshier@world.std.com>
+ 	* emit-rtl.c (gen_lowpart_common): Disable optimization of
+ 	initialized float-int union if the value is a NaN.
+ 
+ Tue Sep 14 04:03:44 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* gthr-win32.h: New file.
+ 
+ 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
+ 	shared as a valid attribute.
+ 	* i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
+ 	* extend.texi: Document `shared' variable attribute.
+ 
+ Tue Sep 14 04:01:46 1999  Loren Rittle  <ljrittle@acm.org>
+ 
+ 	* configure.in: Handle --enable-threads on FreeBSD.
+ 	* configure: Rebuit.
+ 
+ Tue Sep 14 03:58:44 1999  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+ 
+ 	* configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
+ 	thread support.
+ 	* configure: Rebuilt.
+ 
+ Tue Sep 14 03:47:23 1999  Joel Sherrill <joel@OARcorp.com>
+ 			  Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
+ 			  Rosimildo DaSilva <rdasilva@connecttel.com>
+ 
+ 	* configure.in (m68k-*-rtemscoff*): Added.
+ 	* configure.in (mips64orion-*-rtems*): Converted to ELF.
+ 	* configure.in (sparc-*-rtemsaout*): Added as alias for old
+ 	sparc-rtems configuration.
+ 	* configure.in (sparc-*-rtemself*): Added.
+ 	* configure.in (sparc-*-rtems*): Now ELF not a.out.
+ 	* config/i386/rtems.h: Added comment.
+ 	* config/sparc/rtemself.h: New file.
+ 
+ 	* configure.in (m68k-rtemself): Added.
+ 	* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
+ 	and DWARF_DEBUGGING_INFO.
+ 	* config/m68k/crti.s: New file.
+ 	* config/m68k/crtn.s: New file.
+ 	* config/m68k/t-crtstuff: New file.
+ 	* config/m68k/rtemself.h: New file.
+ 
+ 	* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
+ 	global ctor/dtor and C++ exception handling.
+ 	* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
+ 	for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
+ 	ENDFILE_SPEC.
+ 	* config/i386/t-rtems-i386: New File.
+ 
+ Tue Sep 14 09:47:41 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* stmt.c (expand_end_case): Return right away if the case stack is
+ 	empty.
+ 
+ Tue Sep 14 01:47:19 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (version.c): Remove rule incorrectly brought in from
+ 	the gcc2 merge.
+ 
+ Tue Sep 14 01:42:27 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* Makefile.in:  Prepend $(SHELL) to move-if-change calls.
+ 	* msdos/top.sed:  Take into account a prepended $(SHELL) to
+ 	move-if-change.
+ 	* winnt/config-nt.sed:  Likewise.  Kill bogus substitution.
+ 
+ 	* objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
+ 
+ Tue Sep 14 01:38:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (fixup_match_1): Don't change an unchanging register.
+ 	(stable_but_for_p): Renamed to:
+ 	(stable_and_no_regs_but_for_p).  Reject unchanging registers too.
+ 	Changed all callers.
+ 
+ Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* loop.c (strength_reduce): Don't call reg_used_between_p if the
+ 	insn from BL2 is after the insn from BL.
+ 
+ Mon Sep 13 21:06:01 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.h (INSN_OUTPUT_FORMAT_*): New.
+ 	(struct insn_data): Merge `template' and `outfun' into `output'.
+ 	Add `output_format'.
+ 	* genoutput.c (INSN_OUTPUT_FORMAT_*): New.
+ 	(struct data): Remove `outfun'; add `output_format'.
+ 	(name_for_index): Remove declaration.
+ 	(output_insn_data): Handle output formats.
+ 	(process_template): Emit the bare array for @.
+ 	(gen_expand, gen_split): Set output_format to NONE.
+ 	* output.h (get_insn_template): Declare.
+ 	* final.c (get_insn_template): New.
+ 	(final_scan_insn): Use it.
+ 	* toplev.c (compile_file): Likewise.
+ 
+ 	* c4x/c4x.c (c4x_process_after_reload): Likewise.
+ 	* i860/i860.c (output_delayed_branch): Likewise.
+ 	(output_delay_insn): Likewise.
+ 
+ 1999-09-13  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* rtl.c (obstack_alloc_rtx): Removed.
+ 
+ 1999-09-13 17:03 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
+ 
+ Mon Sep 13 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (call_insn_operand): Reject const_int.
+ 	(expander_call_insn_operand): Use call_insn_operand.
+ 
+ Mon Sep 13 17:44:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (getrusage): Wrap prototype arguments in PROTO().
+ 
+ 1999-09-13 12:18 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
+ 	Use DImode operation.
+ 
+ 1999-09-13 12:13 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* gcc.c: Include sys/resource.h.
+ 	(report_times): New flag.
+ 	(execute):  If report_times is set, calculate and report the
+ 	CPU time consumed by each subprocess.
+ 
+ 	(rus, prus): New globals.
+ 	(option_map): Add --time.
+ 	(display_help): Document -time.
+ 	(process_command): Set report_times if -time is given.
+ 	Turn off -pipe if -time is given.
+ 
+ 	* invoke.texi: Document new option -time.
+ 
+ 	* configure.in: Check for getrusage.  Check if we have to
+ 	prototype getrusage.
+ 	* acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ Mon Sep 13 12:57:06 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
+ 	fields.
+ 
+ Mon Sep 13 10:01:33 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
+ 	appropriate) if FINE_GRAINED_LIBRARIES is not defined.
+ 	(nan): Return _thenan_sf or _thenan_df as appropriate.
+ 	(L_thenan_sf): Define _thenan_sf.
+ 	(L_thenan_df): Define _thenan_df.
+ 
+ 	* Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
+ 	(DPBIT_FUNCS): Add _thenan_df.
+ 
+ Mon Sep 13 09:38:53 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* tree.c (fix_sizetype):  Exchange the types for TYPE_SIZE and
+ 	TYPE_SIZE_UNIT.
+ 
+ Sun Sep 12 23:28:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
+ 
+ 	* gcc.h: New file.
+ 	(lang_specific_driver): Don't take a function pointer parameter.
+ 	All callers changed.
+ 
+ 	* gcc.c: Include gcc.h.
+ 	(do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
+ 	lang_specific_extra_outfiles, fatal): Don't declare.
+ 	(multilib_defaults_raw): Constify.
+ 	(read_specs): Call memset, rather than bzero.
+ 	(main): Call return, not exit.
+ 	(lookup_compiler): Call memcpy, not bcopy.
+ 	(fatal): Make extern.
+ 
+ 	* cppspec.c: Include gcc.h.
+ 	(lang_specific_driver): Initialize variable `quote'.  Constify a
+ 	char*.  All calls to the function pointer parameter now
+ 	explicitly call `fatal'.
+ 
+ 	* gccspec.c (lang_specific_driver): Include gcc.h.
+ 
+ Sun Sep 12 19:52:10 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.c (note_invalid_constants): Use recog_data.operand_type
+ 	for recog_op_type.
+ 
+ Sun Sep 12 15:53:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
+ 	Declare.
+ 
+ 	* reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
+ 	reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+ 	reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+ 	reload_secondary_in_reload, reload_secondary_out_reload,
+ 	reload_secondary_in_icode, reload_secondary_out_icode,
+ 	reload_reg_rtx, reload_when_needed): Delete declarations.
+ 	(struct reload): New structure.
+ 	(rld): Declare new array.
+ 	* reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
+ 	reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+ 	reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+ 	reload_secondary_in_reload, reload_secondary_out_reload,
+ 	reload_secondary_in_icode, reload_secondary_out_icode,
+ 	reload_reg_rtx, reload_when_needed): Delete definitions.
+ 	(rld): New array.
+ 	(whole file): Replace uses of the deleted arrays with uses of rld.
+ 	* reload1.c (whole file): Replace uses of the deleted arrays with
+ 	uses of rld.
+ 	(choose_reload_regs): Copy in/out of save_reload_reg_rtx with
+ 	explicit loops, not with bcopy.
+ 
+ Sun Sep 12 05:00:24 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
+ 	insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
+ 	insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
+ 	insn_name): Delete and consolidate into new structures.
+ 	(insn_operand_predicate_fn): New.
+ 	(insn_output_fn): New.
+ 	(insn_gen_fn): New.
+ 	(struct insn_operand_data): New.
+ 	(struct insn_data): New.
+ 	(insn_data): New.
+ 	(OUT_FCN): Update for insn_data change.
+ 	* builtins.c (expand_builtin_strlen): Likewise.
+ 	(expand_builtin_memcmp): Likewise.
+ 	* combine.c (make_extraction, simplify_comparison): Likewise.
+ 	* cse.c (canon_reg, cse_insn): Likewise.
+ 	* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
+ 	* expmed.c (store_bit_field, extract_bit_field): Likewise.
+ 	(emit_store_flag): Likewise.
+ 	* expr.c (convert_move, emit_block_move): Likewise.
+ 	(clear_storage, emit_push_insn, expand_increment): Likewise.
+ 	(do_store_flag): Likewise.
+ 	* expr.h (GEN_FCN): Likewise.
+ 	(insn_gen_function): Die.
+ 	* final.c (final_scan_insn): Update for insn_data change.
+ 	(output_asm_name): Likewise.
+ 	* function.c (fixup_var_refs_1): Likewise.
+ 	* loop.c (check_dbra_loop): Likewise.
+ 	* optabs.c (expand_binop, expand_twoval_binop): Likewise.
+ 	(expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
+ 	(prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
+ 	(emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
+ 	* recog.c (validate_replace_rtx_1, extract_insn): Likewise.
+ 	* regmove.c (gen_add3_insn): Likewise.
+ 	* reload.c (push_secondary_reload, combine_reloads): Likewise.
+ 	(find_reloads, find_reloads_address_1): Likewise.
+ 	(debug_reload_to_stream): Likewise.
+ 	* reload1.c (emit_reload_insns, gen_reload): Likewise.
+ 	* stmt.c (expand_end_case): Likewise.
+ 	* toplev.c (compile_file): Likewise.
+ 
+ 	* c4x/c4x.c (c4x_process_after_reload): Likewise.
+ 	* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+ 
+ 	* print-rtl.c (insn_name_ptr): Remove declaration.
+ 	(get_insn_name): Declare.
+ 	(print_rtx): Use it.
+ 	* genoutput.c (insn_name_ptr): Remove.
+ 	(next_operand_number): New.
+ 	(struct operand_data): New.
+ 	(null_operand, odata, odata_end): New.
+ 	(struct data): Use struct operand_data.
+ 	(idata, idata_end): Renamed from insn_data and end_of_insn_data.
+ 	(get_insn_name): Renamed from name_for_index.
+ 	(output_prologue): Define NO_MD_PROTOTYPES.
+ 	(output_predicate_decls): Break out from output_epilogue.
+ 	Iterate over the operands list.
+ 	(output_operand_data): Break out from output_epilogue.  Emit
+ 	just the operands list.
+ 	(output_insn_data): Break out from output_epilogue.  Emit just
+ 	the insn data.
+ 	(output_epilogue): Remove.
+ 	(output_get_insn_name): New.
+ 	(constraints, op_n_alternatives, predicates, address_p): Die.
+ 	(modes, strict_low, seen): Die.
+ 	(scan_operands): Take new param `d' instead of writing to
+ 	seven global variables.
+ 	(compare_operands): New.
+ 	(place_operands): New.
+ 	(validate_insn_alternatives): Update for struct data change.
+ 	(gen_insn): Don't zero or copy 7 global arrays.  Update for
+ 	scan_operands; call place_operands.
+ 	(gen_peephole, gen_expand, gen_split): Likewise.
+ 	(main): Update for new output routines.
+ 
+ 	* genattr.c (insn_name_ptr): Remove.
+ 	(get_insn_name): New function.
+ 	* genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
+ 	* genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 
+ 	* alpha.md (adddi3): Make `pattern' array static.
+ 
+ Sun Sep 12 22:05:21 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (c4x_rpts_cycles_string,
+ 	c4x_cpu_version_string): Constify char *.
+ 	* config/c4x/c4x.c (c4x_rpts_cycles_string,
+ 	c4x_cpu_version_string): Likewise.
+ 
+ Sat Sep 11 23:28:33 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (save_tree_status): Revert 10 Sep change.
+ 	(restore_tree_status): Likewise.  Call obstack_free with NULL
+ 	before freeing the obstack proper.
+ 
+ Sat Sep 11 23:23:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (cse_main): If gc'ing, collect around cse_basic_block.
+ 
+ 	* ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
+ 	surrounding context.
+ 
+ Sat Sep 11 19:52:43 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (type_hash_canon): Put all types in the hash-table, when
+ 	GC'ing.
+ 
+ Sat Sep 11 18:37:04 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.h (struct recog_data, recog_data): New.
+ 	(recog_foo variables): Kill.
+ 	* recog.c (recog_operand, recog_operand_loc): Kill.
+ 	(recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
+ 	(recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
+ 	(recog_constraints, recog_op_type, recog_operand_address_p): Kill.
+ 	(recog_data): Define.
+ 	(extract_insn): Update all recog_foo references to use recog_data.
+ 	(preprocess_constraints, constrain_operands): Likewise.
+ 	* final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
+ 	* genattrtab.c (main): Likewise.
+ 	* genextract.c (main): Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genrecog.c (write_subroutine, main): Likewise.
+ 	* local-alloc.c (block_alloc): Likewise.
+ 	* reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
+ 	* regclass.c (scan_one_insn, record_reg_classes): Likewise.
+ 	* regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
+ 	* reload.c (find_reloads, find_reloads_toplev): Likewise.
+ 	* reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 
+ 	* arc/arc.c (arc_final_prescan_insn): Likewise.
+ 	* arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
+ 	* h8300/h8300.c (notice_update_cc): Likewise.
+ 	* i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
+ 	* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+ 	* mn10200/mn10200.c (notice_update_cc): Likewise.
+ 	* mn10300/mn10300.c (notice_update_cc): Likewise.
+ 	* romp/romp.c (update_cc): Likewise.
+ 	* sparc/sparc.c (check_pic): Likewise.
+ 	* v850/v850.c (notice_update_cc): Likewise.
+ 
+ 	* genemit.c (main): Don't declare recog_operand.
+ 
+ Sat Sep 11 12:41:55 1999  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* ggc.h (rtvec_def): Forward declare.
+ 	(tree_node): Likewise.
+ 	(ggc_root): Define.
+ 	(roots): Declare.
+ 	(ggc_set_mark_rtx): Add prototype.
+ 	(ggc_set_mark_rtvec): Likewise.
+ 	(ggc_set_mark_tree): Likewise.
+ 	* ggc-simple.c (ggc_root): Don't define.
+ 	(roots): Don't declare.
+ 	(ggc_mark_rtx): Remove.
+ 	(ggc_mark_rtvec): Likewise.
+ 	(ggc_mark_tree): Likewise.
+ 	(ggc_mark_varray): Likewise.
+ 	(ggc_mark_tree_hash_table_entry): Likewise.
+ 	(ggc_mark_tree_hash_table): Likewise.
+ 	(ggc_set_mart_rtx): New function.
+ 	(ggc_set_mark_rtvec): Likewise.
+ 	(ggc_set_mark_tree): Likewise.
+ 	(ggc_add_root): Remove.
+ 	(ggc_add_rtx_root): Likewise.
+ 	(ggc_remove_tree_root): Likewise.
+ 	(ggc_add_string_root): Likewise.
+ 	(ggc_add_tree_varray_root): Likewise.
+ 	(ggc_add_tree_hash_table_root): Likewise.
+ 	(ggc_del_root): Likewise.
+ 	(ggc_mark_rtx_ptr): Likewise.
+ 	(ggc_mark_tree_ptr): Likewise.
+ 	(ggc_mark_string_ptr): Likewise.
+ 	(ggc_mark_tree_varray_ptr): Likewise.
+ 	(ggc_mark_tree_hash_table_ptr): Likewise.
+ 	* ggc-common.c: New file.
+ 	* Makefile.in (OBJS): Add ggc-common.o.
+ 	(ggc-common.o): List dependencies.
+ 
+ 1999-09-10 22:37 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cppalloc.c (xstrdup): Use memcpy.
+ 	* cpperror.c (cpp_print_containing_files): Don't use
+ 	cpp_notice.
+ 	* cpplib.c (conditional_skip): Set temp->lineno.
+ 	(do_endif): Make error message less obscure.
+ 	(if_directive_name): New function.
+ 	(cpp_get_token [case EOF]): Unwind the if stack and generate
+ 	error messages for each unterminated conditional in this file.
+ 	(parse_string):  Do not behave differently if -traditional.
+ 
+ Fri Sep 10 14:04:07 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_va_arg): Cope with an array-type
+ 	va_list decomposing to pointer-type.
+ 	* rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
+ 	(rs6000_va_arg): Likewise.
+ 
+ Fri Sep 10 13:21:21 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* except.c (start_dynamic_handler): Compute size using
+ 	STACK_SAVEAREA_MODE.
+ 
+ Fri Sep 10 16:01:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* protoize.c: Remove various __STDC__ and POSIX hacks.  Don't
+ 	include directory headers.  Don't define strrchr.  Don't provide
+ 	my_* replacement functions.  Prefer PTR over `pointer_type'.
+ 	Don't prototype system functions.  Don't redefine getopt.
+ 
+ 	(shortpath, fancy_abort, notice, savestring, dupnstr, substr,
+ 	safe_read, safe_write, save_pointers, restore_pointers,
+ 	is_id_char, in_system_include_dir, directory_specified_p,
+ 	file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
+ 	find_corresponding_lparen, referenced_file_is_newer,
+ 	save_def_or_dec, munge_compile_params, gen_aux_info_file,
+ 	process_aux_info_file, identify_lineno, check_source,
+ 	seek_to_line, forward_to_next_token_char, output_bytes,
+ 	output_string, output_up_to, other_variable_style_function,
+ 	find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
+ 	do_processing, is_syscalls_file, rename_c_file, find_extern_def,
+ 	find_static_definition, connect_defs_and_decs, add_local_decl,
+ 	add_global_decls, needs_to_be_converted, visit_each_hash_node,
+ 	add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
+ 	edit_fn_declaration, edit_formals_lists, edit_fn_definition,
+ 	scan_for_missed_items, edit_file, string_list_cons): Add static
+ 	prototypes.
+ 	(standard_exec_prefix, target_machine, target_version,
+ 	default_syscalls_dir, string_list, string_list_cons, find_file,
+ 	do_cleaning): Constify a char*.
+ 	(safe_read, safe_write): Use PTR, not a char*.
+ 	(is_id_char): Take an int, not a char.
+ 	(main): Add prototype.  Call return, not exit.
+ 
+ Fri Sep 10 16:48:26 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
+ 	when comparing types.
+ 
+ Fri Sep 10 08:43:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
+ 	(strength_reduce): Release the varrays from the no-bivs early exit.
+ 
+ 	* reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
+ 	the loop over the registers.
+ 
+ 	* tree.c (save_tree_status): Set maybepermanent_firstobj NULL
+ 	for a new obstack.
+ 	(restore_tree_status): Check that instead when freeing the obstack.
+ 
+ Wed Sep  8 16:12:04 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
+ 	as pointers.
+ 
+ Fri Sep 10 11:58:55 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* i386.md (ashlqi3): For NON_QI_REG_P regs, use sall.  Fix some
+ 	operand size modifiers.
+ 
+ Fri Sep 10 10:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Don't build
+ 	va_list_type_node.
+ 	* c-common.h (enum c_tree_index and related accesor macros): Remove
+ 	everything now declared in tree.h.
+ 	* c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+ 	LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
+ 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
+ 	(error_mark_node, void_type_node, char_type_node, integer_type_node,
+ 	unsigned_type_node, ptr_type_node, va_list_type_node,
+ 	integer_zero_node, null_pointer_node, integer_one_node): Delete.
+ 	(init_decl_processing): Call build_common_tree_nodes and
+ 	build_common_tree_nodes_2 instead of building their nodes here.
+ 	Don't add roots for these nodes.
+ 	* stor-layout.c (size_zero_node, size_one_node): Delete.
+ 	(set_sizetype): Make a new node for bitsizetype each time.
+ 	* tree.c (global_trees): New variable.
+ 	(init_obstacks): Add a gc root for it.
+ 	(CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+ 	LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
+ 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
+ 	(build_common_tree_nodes): New function.
+ 	(fix_sizetype): New function.
+ 	(build_common_tree_nodes_2): New function.
+ 	* tree.h (enum tree_index): New.
+ 	(global_trees): Declare.
+ 	Add accessor macros for all nodes now moved to global_trees.
+ 	Delete their declarations.
+ 
+ Thu Sep  9 20:15:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (finish_function): When processing a nested function,
+ 	push and pop GC context around rest_of_compilation.
+ 
+ Thu Sep  9 16:42:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
+ 	Default ix86_arch to PROCESSOR_I386.
+ 	* i386.h (CC1_CPU_SPEC): Don't add -march=foo.  Remove -mno-foo.
+ 	(CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
+ 	(CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
+ 	(CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
+ 	__tune_foo__ if no -mcpu.  Make -mcpu=bar define __tune_bar__.
+ 	(EXTRA_SPECS): Remove deleted specs.
+ 
+ Thu Sep  9 16:03:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (assign_stack_local_1): Allocate from
+ 	function->x_frame_offset, not frame_offset.
+ 
+ Thu Sep  9 14:36:31 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc.h (lang_cleanup_tree): Remove.
+ 	* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
+ 	* ggc-callbacks.c (lang_cleanup_tree): Remove.
+ 
+ 	* c-decl.c (finish_struct): Use ggc_alloc to allocate
+ 	TYPE_LANG_SPECIFIC when garbage collecting.
+ 	(lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
+ 	(lang_cleanup_tree): Remove.
+ 
+ Thu Sep  9 14:23:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
+ 	* crtstuff.c: Not here.
+ 	* dwarf2out.c: Or here.
+ 	* libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
+ 	info.
+ 
+ Thu Sep  9 09:40:58 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.h (free_after_compilation): Remove decl parameter.
+ 	(free_varasm_status0: Likewise.
+ 	(free_emit_status): Likewise.
+ 	(free_stmt_status): Likewise.
+ 	(free_after_compilation): Likewise.
+ 	(init_lang_status): New variable.
+ 	(free_lang_status): Likewise.
+ 	* emit-rtl.c (free_emit_status): Make decl parameter implicit.
+ 	* function.c (init_lang_status): New variable.
+ 	(free_lang_status): Likewise.
+ 	(push_function_context_to): Don't set function::decl here.
+ 	(free_after_copmilation): Make decl parameter implicit.  Call
+ 	free_lang_status if defined.
+ 	(prepare_function_start): Call init_lang_status if defined.
+ 	(init_function_start): Set function::decl here.
+ 	* profile.c (output_func_start_profiler): Don't call pushdecl
+ 	until we've actually started the function.
+ 	* stmt.c (free_stmt_status): Make decl parameter implicit.
+ 	* toplev.c (rest_of_compilation): Don't pass decl to
+ 	free_after_compilation.
+ 	* varasm.c (free_varasm_status): Likewise.
+ 
+ Thu Sep  9 17:23:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* except.c (call_get_eh_context): Add root when allocating static
+ 	tree variable.
+ 
+ Thu Sep  9 15:24:59 BST 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.c: Include "ggc.h".
+ 	(arm_add_gc_roots): New function.
+ 	(arm_override_options): Call it.
+ 	(aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
+ 
+ 	* arm.md (define_asm_attributes): Add a pool_range attribute.
+ 
+ Thu Sep  9 12:32:57 BST 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* extend.texi (Volatiles): New node.
+ 
+ Thu Sep  9 03:37:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
+ 	(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
+ 	(struct ggc_any): Replace `mark' with `magic_mark'.
+ 	(ggc_alloc_string): Use memcpy, not bcopy.
+ 	(ggc_alloc_any): Set magic_mark.  Update bytes_alloced_since_gc.
+ 	(ggc_free_{rtx,rtvec,tree,string}): Mark inline.
+ 	(ggc_free_any): New.
+ 	(ggc_mark_string): Use IGNORE_MARK.  Calc back to struct gcc_string.
+ 	(ggc_mark): Use IGNORE_MARK.  Abort if magic doesn't match.
+ 	(ggc_collect): Re-enable collection avoidance.  Use GGC_ANY_MARK.
+ 	Use IS_MARKED. Use ggc_free_any.
+ 
+ 1999-09-09  Scott Bambrough <scottb@netwinder.org>
+ 
+ 	* config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
+ 
+ Thu Sep  9 01:55:21 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (main): Always init_ggc.
+ 
+ Wed Sep  8 23:53:22 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* except.c (find_all_handler_type_matches): Free the list if
+ 	we found no matches.
+ 
+ 	* combine.c (SUBST): Break out to a real function do_SUBST.
+ 	(SUBST_INT): Likewise.
+ 	* gcse.c (free_pre_mem): Free `temp_bitmap'.
+ 	(pre_insert): Free `inserted'.
+ 	* loop.c (basic_induction_var): Always set `location'.
+ 
+ 	* function.c (expand_function_end): Add initial_trampoline as a root.
+ 	* rtl.h (init_varasm_once): Declare.
+ 	* toplev.c (compile_file): Call it.
+ 	* ggc-simple.c (ggc_mark_string_ptr): New.
+ 	(ggc_add_string_root): New.
+ 	(ggc_collect): Disable collection avoidance temporarily.
+ 	* ggc.h (ggc_add_string_root): Declare.
+ 	* except.c (create_rethrow_ref): Use ggc_alloc_string.
+ 	* optabs.c (init_libfuncs): Likewise.
+ 	* varasm.c (named_section): Use ggc_alloc_string.
+ 	(make_function_rtl): Likewise.
+ 	(make_decl_rtl): Likewise.
+ 	(assemble_static_space): Likewise.
+ 	(assemble_trampoline_template): Likewise.
+ 	(output_constant_def): Likewise.
+ 	(force_const_mem): Likewise.
+ 	(mark_const_hash_entry): New.
+ 	(mark_pool_sym_hash_table): New.
+ 	(mark_varasm_state): Use it.
+ 	(init_varasm_once): New.
+ 
+ 	* expr.h (init_one_libfunc): Declare.
+ 	* optabs.c (init_one_libfunc): New.
+ 	(init_optabs): Use it.
+ 	* config/gofast.h: Likewise.
+ 	* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
+ 	* config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
+ 
+ Thu Sep  9 13:46:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* Makefile.in (cppexp.o): Depend on cpphash.h.
+ 	* cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
+ 	Include cpphash.h.
+ 	* cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
+ 	* cpplib.c (do_define): Generalize to handle poisoned definitions,
+ 	redefining poisoned identifiers, etc.
+ 	(do_undef): Don't allow poisoned identifiers to be undefined.
+ 	(do_pragma): Add #pragma poison.
+ 	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
+ 
+ 	* cccp.c: Add T_POISON node type.
+ 	(special_symbol): Handle `defined(xxx)' and plain `xxx' for
+ 	poisoned xxx.
+ 	(do_define): Generalize to handle poisoned definitions,
+ 	redefining poisoned identifiers, etc.
+ 	(do_undef): Don't allow poisoned identifiers to be undefined.
+ 	(do_pragma): Add #pragma poison.
+ 	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
+ 
+ 	* c-pragma.c (handle_pragma_token): Ignore #pragma poison.
+ 	* c-pragma.h: Add ps_poison state.  We now always have generic
+ 	pragmas.
+ 
+ Wed Sep  8 20:30:42 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc.h (ggc_alloc): New function.
+ 	(ggc_mark): Likewise.
+ 	* ggc-simple.c (ggc_any): New structure.
+ 	(ggc_status): Add anys.
+ 	(n_anys_collected): New variable.
+ 	(ggc_alloc): Define.
+ 	(ggc_mark): Likewise.
+ 	(ggc_collect): Collect the anys.
+ 
+ Wed Sep  8 20:15:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (mark_binding_level): Make static to match prototype.
+ 
+ Wed Sep  8 16:41:27 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
+ 
+ Wed Sep  8 16:07:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
+ 	will use into account.  Expand the max width to 5.
+ 	* rtl.c: Likewise.
+ 
+ Wed Sep  8 16:01:14 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ggc-simple.c (ggc_free_rtx): Poison the correct amount
+ 	for the rtx length.
+ 
+ Wed Sep  8 15:23:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (call value patterns): Remove the result predicates.
+ 
+ Wed Sep  8 13:35:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
+ 	last change.
+ 
+ Wed Sep  8 15:32:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (sbrk, malloc, calloc, realloc): Backup prototypes
+ 	changed from extern char *, to extern PTR.  Also fix typo in
+ 	NEED_DECLARATION_REALLOC test.
+ 
+ 	* mips-tdump.c (malloc, calloc, realloc): Don't prototype.
+ 
+ Wed Sep  8 11:40:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
+ 	ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
+ 	ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
+ 	ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
+ 
+ 	* c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
+ 
+ 	* cccp.c (pcfinclude): Likewise.
+ 
+ 	* global.c (allocno_compare): Likewise.
+ 
+ 	* haifa-sched.c (rank_for_schedule): Likewise.
+ 
+ 	* local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
+ 
+ 	* reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
+ 
+ 	* stupid.c (stupid_reg_compare): Likewise.
+ 
+ 	* tree.c (_obstack_allocated_p): Likewise.
+ 
+ 	* varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
+ 
+ 1999-09-08  Bruce Korb  autogen@linuxbox.com
+ 
+ 	* Makefile.in: Give the hapless gperf user a hint about
+ 	why "gperf -F" fails.
+ 
+ Wed Sep  8 04:43:22 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* lists.c: Include ggc.h.
+ 	(zap_lists): New.
+ 	(init_EXPR_INSN_LIST_cache): Install it.
+ 
+ 	* ggc-simple.c (init_ggc): Absorb the old init.
+ 	(ggc_push_context): Use xcalloc.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
+ 	(ggc_collect): Add [rvts] tags to the collection stats.
+ 
+ Wed Sep  8 11:14:25 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* cccp.c (main): Fix handling of -include and -imacros options.
+ 
+ Wed Sep  8 02:23:08 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cpplib.c (cpp_push_buffer): Fix order of arguments.
+ 
+ Wed Sep  8 04:44:09 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* rtl.h (obstack_alloc_rtx): Removed, it's now static in
+ 	genrtl.c.
+ 
+ Wed Sep  8 00:33:43 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+ 
+ 	* flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
+ 	* haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
+ 	and SET_DEST. Update comment.
+ 
+ Wed Sep  8 18:55:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c: Include ggc.h.
+ 	(c4x_add_gc_roots): New function.
+ 	(c4x_override_options): Call c4x_add_gc_roots.
+ 
+ Wed Sep  8 00:00:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* defaults.h (TARGET_ESC): Move ...
+ 	* system.h: ... here, where Linas had it in the first place.  Silly me.
+ 
+ Tue Sep  7 23:46:35 1999  Linas Vepstas  <linas@linas.org>
+ 
+ 	* c-common.c: Use ISGRAPH, ISLOWER, toupper.
+ 	* c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
+ 	genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
+ 	* system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
+ 	* defaults.h (TARGET_ESC): Add default.
+ 
+ Tue Sep  7 23:36:59 1999  Linas Vepstas  <linas@linas.org>
+ 
+ 	* configure.in: add i370-*-openedition, i370-*-mvs and
+ 	i370-*-linux targets
+ 
+ Tue Sep  7 23:31:53 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dsp16xxx.c: Include ggc.h
+ 	(override_options): Mark GC roots.
+ 	* mn10200.c: Include ggc.h.
+ 	(asm_file_start): Mark GC roots.
+ 	* tahoe.c: Include ggc.h.
+ 	(extensible_operand): Mark GC roots.
+ 
+ Tue Sep  7 23:23:15 1999  Linas Vepstas  <linas@linas.org>
+ 
+ 	* README: Add section discussing status of ELF ABI.
+ 	* i370.c: Fix misc spelling mistakes.
+ 	(i370_label_scan): Updated notes, exception handling.
+ 	(i370_function_prolog): Simplify ELF stack handling.
+ 	* i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
+ 	(STACK_GROWS_DOWNWARD): ELF stack grows down.
+ 	(ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
+ 	* i370.md: (movdi): Add notes.
+ 	(floatsidf2): Use stack not rtca for scratch float area.
+ 	(iorsi3): Correct operand constraints.
+ 	* x-oe: Restore TAROUTOPTS which are used by pax.
+ 
+ Tue Sep  7 22:39:18 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rs6000.c: Include ggc.h.
+ 	(rs6000_add_gc_roots): New function.
+ 	(override_options): Call it.
+ 
+ Tue Sep  7 22:09:03 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (alpha_compare): New.
+ 	(alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
+ 	* alpha.c: Likewise for the definitions.
+ 	(alpha_emit_conditional_branch): Update for alpha_compare.
+ 	(alpha_emit_conditional_move): Likewise.
+ 	* alpha.md (cmpdf, cmpdi): Likewise.
+ 	(setcc patterns): Likewise.  Zero alpha_compare after use.
+ 	(sne): Optimize (x != 0) into (0U < x).
+ 
+ Tue Sep  7 21:55:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
+ 	(struct machine_function): Declare; add eh_epilogue_sp_ofs.
+ 	(INIT_EXPANDERS): Remove.
+ 	* alpha.c: Include ggc.h.
+ 	(alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
+ 	(alpha_init_machine_status, alpha_mark_machine_status): New.
+ 	(override_options): Install them.
+ 	(struct machine_function): Moved to alpha.h.
+ 	(alpha_save_machine_status, alpha_restore_machine_status): Remove.
+ 	(alpha_init_expanders): Remove.
+ 	(alpha_return_addr): Adjust to use current_function->machine.
+ 	(alpha_ra_ever_killed): Likewise.
+ 	(alpha_expand_epilogue): Likewise.
+ 	* alpha.md (eh_epilogue): Likewise.
+ 
+ Wed Sep  8 14:34:42 1999  Ian Piumarta  <piumarta@prof.inria.fr>
+ 			  Melissa O'Neill  <oneill@cs.sfu.ca>
+ 			  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
+ 	call-used registers (call-saved registers must still be contiguous
+ 	and end with r31, of course).
+ 
+ Tue Sep  7 21:41:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
+ 	(self_promoting_type_p): Delete.
+ 	(self_promoting_args_p): Move ...
+ 	* c-common.c: ... here.
+ 	(c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
+ 	(simple_type_promotes_to): New.
+ 	* builtins.c (lang_type_promotes_to): New.
+ 	(expand_builtin_va_arg): Use it to give diagnostic for illegal types.
+ 	* c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
+ 	* c-common.h: ... here.
+ 	(self_promoting_args_p, simple_type_promotes_to): Declare.
+ 	* c-decl.c (duplicate_decls): Use simple_type_promotes_to.
+ 	(grokdeclarator): Likewise.
+ 	* tree.h (lang_type_promotes_to): Declare.
+ 
+ Tue Sep  7 17:15:21 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Add some machine-dependent GC roots.
+ 	* sparc.c: Include ggc.h.
+ 	(sparc_add_gc_roots): New function.
+ 	(mark_ultrasparc_pipeline_state): Likewise.
+ 	(override_options): Call sparc_add_gc_roots.
+ 	* pa.c: Include ggc.h.
+ 	(pa_add_gc_roots): New function.
+ 	(mark_deferred_plabels): Likewise.
+ 	(override_options): Call pa_add_gc_roots.
+ 	* mips.c: Include ggc.h.
+ 	(mips_add_gc_roots): New function.
+ 	(override_options): Use it.
+ 
+ Tue Sep  7 11:39:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpperror.c (cpp_file_line_for_message): Constify a char*.
+ 
+ 	* cppexp.c (parse_number, parse_charconst, cpp_lex,
+ 	cpp_parse_expr): Add static prototypes.
+ 	(parse_charconst): Don't cast away const-ness.
+ 	(token): Constify a char*.
+ 
+ 	* cppfiles.c (file_name_list, include_hash, find_include_file,
+ 	finclude, initialize_input_buffer): Constify a char*.
+ 	(file_cleanup, find_position): Add static prototypes.
+ 
+ 	* cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
+ 	collect_expansion): Add static prototypes.
+ 	(cpp_install, create_definition, monthnames): Constify a char*.
+ 
+ 	* cpphash.h (cpp_install): Likewise.
+ 
+ 	* cppinit.c (known_suffixes, default_include,
+ 	dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
+ 	(base_name, dump_special_to_buffer, initialize_dependency_output):
+ 	Add static prototypes.
+ 
+ 	* cpplib.c (my_strerror): Constify a char*.
+ 	(null_underflow, null_cleanup, skip_comment, copy_comment,
+ 	copy_rest_of_line, handle_directive, pass_thru_directive,
+ 	get_directive_token, read_line_number, cpp_print_file_and_line,
+ 	v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
+ 	v_cpp_warning_with_line, detect_if_not_defined,
+ 	consider_directive_while_skipping): Add static prototypes.
+ 	(pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
+ 	cpp_pedwarn_with_file_and_line): Constify a char*.
+ 
+ 	* cpplib.h (cpp_options, include_hash, progname, definition,
+ 	cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
+ 	check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
+ 	find_include_file, deps_output, include_hash): Constify a char*.
+ 
+ 	* cppmain.c (progname): Constify.
+ 	(main): Add prototype.  Use return, not exit.
+ 
+ 	* fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
+ 	recognized_macro, check_macro_names, read_scan_file, write_rbrac,
+ 	inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
+ 	check_protection): Add static prototype.
+ 	(xfree): Remove.
+ 	(progname, recognized_macrom, recognized_extern): Constify a char*.
+ 	(main): Add prototype.
+ 
+ 	* gen-protos.c (progname): Constify a char*.
+ 
+ Tue Sep  7 00:47:52 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* emit-rtl.c (free_emit_status): Take decl as a parameter.
+ 	(init_emit_once): Add more GC roots.
+ 	* except.c (mark_func_eh_entry): New function.
+ 	(mark_eh_node): Mark false_label and rethrow_label.
+ 	(init_eh): Add more GC roots.
+ 	* function.c (free_after_compilation): Take decl as a parameter.
+ 	Call free_stmt_status.
+ 	(mark_function_state): Don't assume x_parm_reg_stack_loc is
+ 	non-NULL.
+ 	* function.h (free_after_compilation): Change prototype.
+ 	(free_varasm_status): Likewise.
+ 	(free_emit_status): Likewise.
+ 	(free_stmt_status): New function.
+ 	* ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
+ 	Remove, replacing with ...
+ 	(ggc_status): New structure.
+ 	(ggc_chain): New variable.
+ 	(init_gcc): Define.
+ 	(ggc_push_context): New function.
+ 	(ggc_pop_context): Likewise.
+ 	(ggc_alloc_rtx): Adjust for use of ggc_chain.
+ 	(ggc_alloc_rtvec): Likewise.
+ 	(ggc_alloc_tree): Likewise.
+ 	(ggc_alloc_string): Likewise.
+ 	(ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
+ 	(ggc_mark_tree): Give language-dependent code a chance to mark
+ 	`x' nodes.
+ 	(ggc_mark_tree_varray): Handle empty arrays.
+ 	(ggc_collect): Adjust for use of ggc_chain.  Clear
+ 	bytes_alloced_since_last_gc.
+ 	* ggc.h (ggc_pop_context): New function.
+ 	(ggc_push_context): Likewise.
+ 	* print-tree.c (print_node): Don't print obstacks when GC'ing.
+ 	* stmt.c (free_stmt_status): New function.
+ 	(init_stmt_for_function): Clear last_expr_value.
+ 	* toplev.c (rest_of_compilation): Always call free_after_compilation.
+ 	Conditionalize call to ggc_collect.
+ 	(main): Call init_ggc.
+ 	* tree.c (push_obstacks): Do the push, even when GC'ing.
+ 	(push_obstacks_nochange): Likewise.
+ 	(pop_obstacks): Liekwise.
+ 	* varasm.c (free_varasm_status): Take decl as a parameter.
+ 
+ Tue Sep  7 08:15:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
+ 	(MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
+ 	* config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
+ 	* config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
+ 
+ Tue Sep  7 03:42:45 1999  Mark Klein (mklein@dis.com)
+ 
+ 	* pa/x-pa-mpeix: New file for the MPE port.
+ 
+ 	* pa/quadlib.asm: New file for long double support.
+ 
+ 	* configure.in: Add hppa1.0-*-mpeix for MPE port.
+ 	* configure: Rebuilt.
+ 
+ Tue Sep  7 10:08:40 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* final.c (shorten_branches): Fix last change.
+ 
+ Tue Sep  7 00:30:32 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
+ 
+ Mon Sep  6 22:44:47 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Merge from gcc2 snapshot Jan 9, 1999.  See FSFChangeLog for
+ 	details.
+ 
+ Mon Sep  6 22:31:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c (concat): Don't define.
+ 
+ 	* cccp.c (my_strerror): Likewise.  All callers changed to use
+ 	xstrerror instead.
+ 	(do_include): Call xstrdup, not xmalloc/strcpy.
+ 	(grow_outbuf): Don't check if xrealloc returns NULL, it can't.
+ 	(xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
+ 
+ 	* collect2.c (my_strsignal): Likewise.  All callers changed to use
+ 	strsignal instead.
+ 	(locatelib): Call xstrdup, not xmalloc/strcpy.
+ 
+ 	* 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
+ 
+ 	* dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
+ 
+ 	* i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
+ 
+ 	* mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
+ 
+ 	* cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
+ 
+ 	* dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
+ 
+ 	* except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
+ 	malloc/realloc.
+ 	(find_all_handler_type_matches): Likewise.  Don't check return
+ 	value.
+ 	(get_new_handler, init_insn_eh_region, process_nestinfo): Call
+ 	xmalloc, not malloc.
+ 	(init_eh_nesting_info): Likewise.  Call xcalloc, not xmalloc/bzero.
+ 
+ 	* gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
+ 	(init_spec): Call xcalloc, not xmalloc/bzero.
+ 	(set_spec): Call xstrdup, not save_string.
+ 	(record_temp_file): Call xstrdup, not xmalloc/strcpy.
+ 	(find_a_file): Call xstrdup, not xmalloc/strcpy.
+ 	(process_command): Call xstrdup, not save_string.
+ 	(main): Call xcalloc, not xmalloc/bzero.
+ 
+ 	* gcov.c (xmalloc): Don't define.
+ 	(create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
+ 	(scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
+ 	(output_data): Call xcalloc, not xmalloc/bzero.
+ 
+ 	* haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
+ 
+ 	* mips-tdump.c (xmalloc): Don't define.
+ 	(print_symbol): Call xmalloc, not malloc.
+ 	(read_tfile): Call xcalloc, not calloc.
+ 
+ 	* mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
+ 	Don't define.  All callers of xfree/my_strsignal changed to use
+ 	free/strsignal instead.
+ 	(allocate_cluster): Call xcalloc, not calloc.
+ 
+ 	* objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
+ 	Fix memory leak, free allocated memory.
+ 
+ 	* prefix.c (translate_name): Call xstrdup, not save_string.
+ 	(update_path): Likewise.
+ 
+ 	* profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
+ 
+ 	* protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
+ 	Don't define.  Callers of xfree/savestring2 changed to use
+ 	free/concat instead.
+ 
+ 	* reload1.c (reload): Call xcalloc, not xmalloc/bzero.
+ 	(init_elim_table): Likewise.
+ 
+ 	* resource.c (init_resource_info): Likewise.
+ 
+ 	* stupid.c (stupid_life_analysis): Likewise.
+ 
+ 	* toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
+ 	(open_dump_file): Call concat, not xmalloc/strcpy/...
+ 	(clean_dump_file): Likewise.
+ 	(compile_file): Call xstrdup, not xmalloc/strcpy.
+ 
+ Mon Sep  6 15:04:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* v850.h (EXPAND_BUILTIN_VA_ARG): New.
+ 	* v850.c (v850_va_arg): New.
+ 
+ Tue Sep  7 09:36:01 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* haifa-sched.c: Tidy comments.
+ 
+ Mon Sep  6 14:30:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
+ 	(c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
+ 	$(out_object_file)): Depend on ggc.h.
+ 	* c-common.c: Include "ggc.h".
+ 	(combine_strings): If doing GC, use ggc_alloc_string.
+ 	* c-decl.c: Include "ggc.h".
+ 	(ggc_p): Define with value 0.
+ 	(mark_binding_level): New function.
+ 	(init_decl_processing): Add GC roots.
+ 	(mark_c_function_context): New function.
+ 	(lang_mark_false_label_stack): New function.
+ 	(lang_mark_tree): New function.
+ 	(lang_cleanup_tree): New function.
+ 	* c-lang.c: Include "ggc.h".
+ 	(lang_init): Call c_parse_init.
+ 	* c-lex.c: Include "ggc.h".
+ 	(check_linenum): If doing GC, don't copy filenames to permanent
+ 	obstack.
+ 	* c-parse.in: Include "ggc.h".
+ 	(c_parse_init): New function.
+ 	* c-tree.h (c_parse_init, mark_c_function_context): Declare.
+ 	* objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
+ 
+ 	* except.c (mark_eh_state): Mark more state.
+ 	* function.c (mark_function_state): Likewise.
+ 	* ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
+ 	(ggc_alloc_string) [GGC_DUMP]: Fix typo.
+ 	* toplev.c (mark_file_stack): New function.
+ 	(compile_file): If doing GC, use ggc_alloc_string on input filename.
+ 	(main): Add root for input_file_stack.
+ 
+ 	* i386.c: Include "ggc.h".
+ 	(ix86_mark_machine_status): New function.
+ 	(override_options): Set mark_machine_status.
+ 
+ Mon Sep  6 15:26:23 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.c (copy_node): Copy node contents also if doing GC.
+ 
+ Mon Sep  6 08:42:06 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* collect2.c (scan_libraries): Fix double-thinko :-).
+ 
+ Mon Sep  6 02:42:36 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* collect2.c (scan_libraries): Fix thinko.
+ 
+ 	* cse.c (delete_trivially_dead_insns): Do not skip the last
+ 	insn if it is a real insn.
+ 
+ Sun Sep  5 18:57:42 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (ggc-simple.o): Depend on hash.h.
+ 	* ggc.h (ggc_add_tree_hash_table_root): Declare.
+ 	(ggc_mark_tree_varray): Likewise.
+ 	(ggc_mark_tree_hash_table): Likewise.
+ 	* ggc-simple.c: Include hash.h.
+ 	(ggc_mark_tree_hash_table_ptr): New function.
+ 	(ggc_mark_tree_hash_table_entry): Likewise.
+ 	(ggc_mark_tree_hash_table): Likewise.
+ 	(ggc_add_tree_hash_table_root): Likewise.
+ 	* varray.h (const_equiv_data): Use struct rtx_def *, rather than
+ 	rtx, when defining fields.
+ 
+ Sun Sep  5 18:57:42 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* profile.c (output_func_start_profiler): Remove apparently
+ 	nonsensical call to start_sequence.
+ 
+ Sun Sep  5 17:34:33 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* clipper/clipper.c (clipper_va_start): Fix typos.
+ 
+ 	* pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
+ 	* spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
+ 	(spur_va_arg): New stub.
+ 
+ 	* configure.in: Comment out pyramid.
+ 
+ Sun Sep  5 19:11:01 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
+ 	don't conflict with the bits that win32, cygwin, and dgux
+ 	defines.
+ 
+ Sun Sep  5 09:31:56 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Bernd Schmidt <bernds@cygnus.co.uk>
+ 
+ 	* integrate.c (function_cannot_inline_p): Do not inline
+ 	functions with forced labels.
+ 
+ Sun Sep  5 00:35:17 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Bernd Schmidt <bernds@cygnus.co.uk>
+ 			  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (ggc-simple.o): Depend on varray.h.
+ 	(rtl.o): Depend on ggc.h.
+ 	(genattrtab.o): Depend on ggc.h.
+ 	(print-tree.o): Likewise.
+ 	(fold-const.o): Likewise.
+ 	* emit-rtl.c (sequence_element_free_list): Remove, and all references.
+ 	(make_insn_raw): Don't cache insns when GC'ing.
+ 	(emit_insn_before): Likewise.
+ 	(emit_insn_after): Likewise.
+ 	(emit_insn): Likewise.
+ 	(start_sequence): Use xmalloc to allocate the sequence_stack.
+ 	(end_sequence): Add free to free it.
+ 	(gen_sequence): Don't cache insns when GC'ing.
+ 	(clear_emit_caches): Don't use sequence_element_free_list.
+ 	(init_emit): Use xcalloc, not xmalloc+bzero.
+ 	* fold-const.c (size_int_wide): Kill the cache, when GC'ing.
+ 	* function.c (pop_function_context_from): Use free to free the
+ 	fixup_var_refs_queue.
+ 	(put_reg_into_stack): Allocate it with xmalloc.
+ 	* genattrtab.c: Include ggc.h.
+ 	(operate_exp): Don't use obstack_free when GC'ing.
+ 	(simplify_cond): Likewise.
+ 	(simplify_text_exp): Likewise.
+ 	(optimize_attrs): Likewise.
+ 	* gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
+ 	GC'ing.
+ 	(gencode): Generate a #include for ggc.h.
+ 	* ggc-callbacks.c (ggc_p): Define it to zero.
+ 	* ggc-none.c (ggc_p): Likewise.
+ 	* ggc-simple.c: Include varray.h.
+ 	(ggc_mark_tree_varray): New function.
+ 	(ggc_add_tree_varray_root): Likewise.
+ 	(ggc_mark_tree_varray_ptr): Likewise.
+ 	* ggc.h (ggc_p): Declare.
+ 	(varray_head_tag): Likewise.
+ 	(ggc_add_tree_varray_root): Declare.
+ 	* print-tree.c (print_node): Don't check for TREE_PERMANENT
+ 	inconsistencies when GC'ing.
+ 	* rtl.c: Include ggc.h.
+ 	(rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
+ 	(rtx_alloc): Use ggc_alloc_rtx when GC'ing.
+ 	(rtx_free): Don't call obstack_free when GC'ing.
+ 	* toplev.c (rest_of_compilation): Call ggc_collect after every
+ 	pass, if GC'ing.
+ 	* tree.c (push_obstacks): Do nothing, if GC'ing.
+ 	(pop_obstacks_nochange): Likewise.
+ 	(pop_obstacks): Likewise.
+ 	(make_node): Use ggc_alloc_tree when GC'ing.
+ 	(copy_node): Likewise.
+ 	(get_identifier): Use ggc_alloc_string when GC'ing.
+ 	(build_string): Likewise.
+ 	(make_tree_vec): Use ggc_alloc_tree when GC'ing.
+ 	(tree_cons): Likewise.
+ 	(build1): Likewise.
+ 	(type_hash_canon): Don't call obstack_free when GC'ing.
+ 
+ Sat Sep  4 21:52:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (schedule_block): Use next_nonnote_insn instead
+ 	of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
+ 
+ Sat Sep  4 20:40:19 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Bernd Schmidt <bernds@cygnus.co.uk>
+ 			  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (stor-layout.o): Depend on ggc.h.
+ 	(expr.o): Depend on ggc.h.
+ 	(profile.o): Depend on ggc.h.
+ 	(stor-layout.o): Depend on ggc.h.
+ 	* emit-rtl.c (init_emit_once): Add gc roots.
+ 	* expr.c: Include ggc.h.
+ 	(emit_block_move): Add gc roots.
+ 	(clear_storage): Likewise.
+ 	* expr.h (init_stor_layout_once): New function.
+ 	* profile.c: Include ggc.h.
+ 	(init_arc_profiler): profiler_label is a root.
+ 	* scan.c (make_sstring_space): Trust xrealloc to function
+ 	correctly with first parameter NULL.
+ 	* stor-layout.c: Include ggc.h.
+ 	(set_sizetype): Add gc root.
+ 	(init_stor_layout_once): New function.
+ 	* toplev.c (compile_file): Call it.
+ 
+ Sat Sep  4 19:26:25 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Bernd Schmidt <bernds@cygnus.co.uk>
+ 			  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (tree.o): Depend on ggc.h.
+ 	(varasm.o): Likewise.
+ 	(function.o): Likewise.
+ 	(stmt.o): Likewise.
+ 	(except.o): Likewise.
+ 	(optabs.o): Likewise.
+ 	(emit-rtl.o): Likewise.
+ 	* emit-rtl.c: Include ggc.h.
+ 	(sequence_element_free_list): Remove, and all references.
+ 	(mark_sequence): New functions.
+ 	(mark_emit_state): New function.
+ 	* except.c: Include ggc.h.
+ 	(mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
+ 	(mark_tree_label_node): New functions.
+ 	(mark_eh_state): New function.
+ 	* function.c: Include ggc.h.
+ 	(mark_temp_slot, mark_function_chain): New functions.
+ 	(mark_function_state): New function.
+ 	(init_function_once): New function.
+ 	* function.h (init_function_once): New function.
+ 	* ggc-callbacks.c (lang_mark_false_label_stack): New function.
+ 	* ggc.h (label_node): Declare.
+ 	(eh_status, emit_status, stmt_status, varasm_status): Likewise.
+ 	(lang_mark_false_label_stack): New function.
+ 	(mark_temp_slot): Remove declaration.
+ 	(mark_function_chain): Likewise.
+ 	(mark_eh_state): Adjust prototype.
+ 	(mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
+ 	Likewise.
+ 	* optabs.c: Include ggc.h.
+ 	(mark_optab): New function.
+ 	(init_optabs): Add gc roots.
+ 	* stmt.c: Include ggc.h.
+ 	(mark_cond_nesting, mark_loop_nesting): New functions.
+ 	(mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
+ 	(mark_stmt_state): New function.
+ 	* toplev.c (compile_file): Call init_function_once.
+ 	* tree.c: Include ggc.h.
+ 	(type_hash): Move declaration earlier in file.
+ 	(TYPE_HASH_SIZE, type_hash_table): Likewise.
+ 	(init_obstacks): Add gc roots.
+ 	(mark_type_hash): New function.
+ 	* varasm.c: Include ggc.h.
+ 	(mark_pool_constant): New function.
+ 	(mark_varasm_state): New function.
+ 
+ Sat Sep  4 22:28:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
+ 
+ Sat Sep  4 18:01:45 1999  Bernd Schmidt <bernds@cygnus.co.uk>
+ 
+ 	* c-decl.c (struct language_function): Renamed from struct c_function.
+ 	Delete elt NEXT.
+ 	(c_function_chain): Delete.
+ 	(push_c_function_context): New arg F.  Don't warn about nested
+ 	functions here.  Fill LANGUAGE elt of F.  Delete code to update
+ 	c_function_chain.  Don't call push_function_context.
+ 	(pop_c_function_context): New arg F.  Restore from there instead of
+ 	from c_function_chain.  Don't call pop_function_context.  Clear out
+ 	LANGUAGE field of F when done.
+ 	* c-lang.c: Include "function.h"
+ 	(lang_init): Initialize save_lang_status and restore_lang_status.
+ 	* c-parse.in (nested_function, nested_function_notype): Warn about
+ 	nested functions.  Call push_function_context/pop_function_context
+ 	instead of the _c_ variants.
+ 	* c-tree.h (push_c_function_context, pop_c_function_context): Update
+ 	prototype.
+ 	* Makefile.in (c-lang.o): Update dependencies.
+ 
+ 	* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
+ 	regno_pointer_flag, regno_pointer_align.
+ 	(gen_reg_rtx): Use xrealloc to enlarge them.
+ 	(free_emit_status): New function.
+ 	* function.c (mark_machine_status, mark_lang_status): New variables.
+ 	(assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
+ 	in some bits from assign_stack_local.  All callers changed to use new
+ 	name.
+ 	(assign_stack_local): Just call assign_stack_local_1.
+ 	(free_after_compilation): New function.
+ 	(put_reg_into_stack): Simplify to always call assign_stack_local_1.
+ 	(trampoline_address): Likewise.
+ 	(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
+ 	(prepare_function_start): Explicitly clear some more variables.
+ 	* function.h (struct function): New elt can_garbage_collect.
+ 	(mark_machine_status, mark_lang_status): Declare variables.
+ 	(free_after_compilation, free_emit_status, free_varasm_status,
+ 	init_varasm_status): Declare functions.
+ 	* toplev.c (rest_of_compilation): Call free_after_compilation when
+ 	done with the current function.
+ 	* varasm.c (free_varasm_status): New function.
+ 
+ Sat Sep  4 17:15:13 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.h (EXPAND_BUILTIN_VA_START): Define.
+ 	(EXPAND_BUILTIN_VA_ARG): Define.
+ 	* sparc.c (sparc_va_start): New.
+ 	(sparc_va_arg): New.
+ 
+ Sun Sep  5 11:11:59 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
+ 
+ Sun Sep  5 10:13:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
+ 
+ Sat Sep  4 13:44:01 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
+ 	(OBJS): Add $(GGC).
+ 	(ggc-callbacks.o): New target.
+ 	* ggc-callbacks.c: New file.
+ 
+ Sat Sep  4 22:53:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* expr.h: Collapse individual optab and libfunc vars to arrays.
+ 	(optab_index, libfunc_index): New enumerations.
+ 	(optab_table, libfunc_table): New arrays.
+ 	Add accessor macros for both.
+ 
+ 	* optabs.c (optab_table, libfunc_table): New.
+ 	Delete declarations for individual optab and libfunc vars.
+ 
+ Sat Sep  4 12:57:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
+ 
+ Sat Sep  4 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (GGC, GGC_LIB): New.
+ 	(HOST_RTL): Include ggc-none.o.
+ 	(ggc-simple.o): New target.
+ 	(ggc-none.o): Likewise.
+ 	* tree.h (tree_common): Add gc_mark.
+ 	* rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
+ 	(struct rtvec_def): Add gc_mark.
+ 	* emit-rtl.c (global_rtl): Update static initializers to contain
+ 	enough initializers.
+ 	* ggc.h, ggc-none.c, ggc-simple.c: New files.
+ 	* toplev.c (gc_time): New variable.
+ 	(all_time): New variable.
+ 	(compile_file): Print gc time.
+ 	(print_time): Calculate percentage of the whole.
+ 
+ Sat Sep  4 13:11:01 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	Change obstack memory management and varasm constant pool handling so
+ 	that nested functions are treated like any other functions.
+ 	* function.c (init_machine_status): New variable.
+ 	(push_function_context_to): Set contains_functions for the outer
+ 	function.  Don't call save_varasm_status.
+ 	(pop_function_context_from): Don't call restore_varasm_status.  Don't
+ 	set current_function_contains_functions.
+ 	(prepare_function_start): Call init_varasm_status rather than
+ 	init_const_rtx_hash_table.  Call (*init_machine_status) if the pointer
+ 	is non-null.
+ 	* function.h (struct function) Add field varasm.  Delete fields
+ 	inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
+ 	last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
+ 	(init_machine_status): Declare.
+ 	(save_varasm_status, restore_varasm_status): Delete declarations.
+ 	(save_tree_status, restore_tree_status): Delete last argument.
+ 	* integrate.c (initialize_for_inline): Lose arg COPY.  Delete copying
+ 	code.  All callers changed.
+ 	(copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
+ 	save_constants_in_decl_trees, restore_constants, save_constants,
+ 	save_for_inline_eh_labelmap, save_for_inline_copying): Delete
+ 	functions.
+ 	(inlining): New variable.
+ 	(reg_map, label_map, insn_map, orig_asm_operands_vector,
+ 	copy_asm_operands_vector, copy_asm_constraints_vector): Delete
+ 	variables.
+ 	(save_for_inline_nocopy): Don't save constants.
+ 	Don't set inl_emit field in current_function.
+ 	(expand_inline_function): Use emit field, not inl_emit, of the inlined
+ 	function.  Set new variable inlining before
+ 	calling copy_rtx_and_substitute.
+ 	(copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
+ 	constant pool references if inlining is nonzero.
+ 	Delete ADDRESS and (most of the) CONST cases.
+ 	(output_inline_function): Save and restore current_function/
+ 	current_function_decl.  Delete restore_constants code.  Don't call
+ 	init_const_rtx_hash_table.
+ 	* output.h (init_const_rtx_hash_table): Don't declare.
+ 	* rtl.h (struct function): Declare.
+ 	(get_pool_constant_for_function, get_pool_mode_for_function): Declare.
+ 	* toplev.c (rest_of_compilation): Don't treat nested functions or
+ 	functions containing them specially.  Delete all code to deal with
+ 	save_for_inline_copying.
+ 	* tree.c (toplev_inline_obstacks, extra_inline_obstacks,
+ 	inline_obstacks): Delete variables.
+ 	(save_tree_status): Lose arg CONTEXT.  All callers changed.
+ 	Simply allocate a new function_maybepermanent_obstack for the new
+ 	function, delete all the special cases.
+ 	Don't save inline_obstacks.
+ 	(restore_tree_status): Lose arg CONTEXT.  All callers changed.
+ 	Delete special handling for function_maybepermanent_obstack; simply
+ 	free it if empty.
+ 	Don't restore inline_obstacks.
+ 	(permanent_allocation):  Delete code that frees inline_obstacks.
+ 	(print_inline_obstack_statistics): Delete function.
+ 	(dump_tree_statistics): Don't call it.
+ 	* varasm.c (struct varasm_status): New.
+ 	(const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
+ 	last_pool, pool_offset, const_double_chain): Delete global
+ 	variables, replace with accessor macros.
+ 	(immed_double_const): Don't walk const_double_chain outside a
+ 	function, but don't treat nested functions specially anymore.
+ 	(immed_real_const_1): Likewise.
+ 	(clear_const_double_mem): Don't treat nested functions specially.
+ 	(init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
+ 	(save_varasm_status, restore_varasm_status): Delete functions.
+ 	(init_varasm_status): New function.
+ 	(force_const_mem): Don't treat nested functions specially.
+ 	(find_pool_constant): Accept new arg F, search for constants in
+ 	that function's pool rather than the current one.  All callers
+ 	changed.
+ 	(get_pool_constant_for_function, get_pool_mode_for_function): New
+ 	functions.
+ 
+ 	* i386.c (init_386_machine_status): New function, mostly from
+ 	clear_386_stack_locals.
+ 	(struct machine_functions): Rename element names to avoid name
+ 	clashes.
+ 	(pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
+ 	macros, replacing global variables.
+ 	(clear_386_stack_locals, save_386_machine_status,
+ 	restore_386_machine_status): Delete functions.
+ 	(override_options): Initialize init_machine_status.
+ 	* i386.h (INIT_EXPANDERS): Delete macro.
+ 	(save_386_machine_status, restore_386_machine_status,
+ 	clear_386_stack_locals): Delete declarations.
+ 
+ Sat Sep  4 16:56:28 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
+ 	(doloop_begin):  Simplify pattern and use emit_jump_insn.
+ 	(doloop_end): Simplify pattern, switch operand order,
+ 	and use emit_jump_insn.
+ 
+ Fri Sep  3 19:02:38 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* function.h (struct function): Add new element LANGUAGE.
+ 	(save_lang_status): Declare new variable.
+ 	(restore_lang_status): Likewise.
+ 	* function.c (save_lang_status): Define.
+ 	(restore_lang_status): Likewise.
+ 	(push_function_context_to): Call language-specific save function.
+ 	(pop_function_context_from): Call language-specific restore function.
+ 
+ Fri Sep  3 01:16:18 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
+ 
+ 	* i386.md (movsf_1): Check REG_P before use of REGNO.
+ 	(movdf_1): Likewise.
+ 	(movxf_1): Likewise.
+ 	(extendsfdf2): Likewise.
+ 	(extendsfxf2): Likewise.
+ 	(extenddfxf2): Likewise.
+ 
+ Sat Sep  4 11:37:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
+ 	constants into memory.
+ 	(c4x_shiftable_constant): New function.
+ 	* config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
+ 	(c4x_shiftable_constant): Declare.
+ 	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
+ 	ashlqi3_noclobber): Add new patterns and associated splitters.
+ 
+ Fri Sep  3 16:22:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
+ 	* dwarf2out.c (dwarf2out_frame_init): Likewise.
+ 	* final.c (shorten_branches): Likewise.
+ 	* global.c (global_alloc): Likewise.
+ 	* haifa-sched.c (build_control_flow): Likewise.
+ 	* stmt.c (check_for_full_enumeration_handling): Likewise.
+ 	(estimate_case_costs): Likewise.
+ 
+ Fri Sep  3 15:49:56 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (RTL_CHECKC2): Fix typo in last change.
+ 
+ Fri Sep  3 15:13:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
+ 	(recompute_reg_usage): Likewise.
+ 	* rtlanal.c (find_regno_fusage): Likewise.
+ 
+ 	* rtl.c (rtl_check_failed_code1): New function.
+ 	(rtl_check_failed_code2): New.
+ 	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
+ 	(RTL_CHECKC1, RTL_CHECKC2): New.
+ 	(XC*): New accessor macros.
+ 	(NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
+ 	(ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
+ 	(CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
+ 	(ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
+ 	(TRAP_*, RANGE_INFO_*): Likewise.
+ 
+ Fri Sep  3 15:10:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (tlink.o): Don't depend on toplev.h.
+ 
+ 	* collect2.c (c_file, o_file, export_file, import_file, ldout,
+ 	output_file, nm_file_name, ldd_file_name, strip_file_name,
+ 	c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
+ 	add_prefix, prefix_from_env, prefix_from_string, do_wait,
+ 	fork_execute, maybe_unlink, add_to_list,
+ 	extract_init_priority, write_list, dump_list,
+ 	dump_prefix_list, write_list_with_asm, write_c_file,
+ 	write_c_file_stat, write_c_file_glob, scan_prog_file,
+ 	scan_libraries, is_in_list, resolve_lib_name, use_import_list,
+ 	ignore_library, extract_string, notice, dump_file, target_machine,
+ 	collect_wait, collect_execute, libname, locatelib, aix_std_libs,
+ 	read_file, print_load_command): Constify a char*.
+ 	(fdopen, error, fatal, fatal_perror): Don't prototype.
+ 	(my_strerror): Remove.  All callers use xstrerror instead.
+ 	(xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
+ 	(main): Add prototype.  Constify lots of char* ptrs.  Change calls
+ 	to xcalloc/strcpy/strcat/...  to one call to concat.
+ 	(main, scan_prog_file, scan_libraries): Use an intermediate
+ 	`const char **' to build an argv array.
+ 	(mapfile, libselect, libcompare, locatelib): Add prototypes.
+ 
+ 	* collect2.h (collect_execute, collect_wait, dump_file,
+ 	file_exists): Constify a char*.
+ 	(ldout, c_file_name, temporary_obstack, permanent_obstack,
+ 	temporary_firstobj, vflag, debug): Add extern declarations.
+ 	(fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
+ 
+ 	* tlink.c: Don't include toplev.h.
+ 	(vflag, debug, ldout, c_file_name, temporary_obstack,
+ 	permanent_obstack, temporary_firstobj): Don't declare.
+ 	(tlink_execute, frob_extension, symbol_hash_lookup,
+ 	file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
+ 	recompile_files, read_repo_files, demangle_new_symbols,
+ 	scan_linker_output): Constify a char*.
+ 	(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
+ 	do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
+ 
+ Fri Sep  3 18:09:24 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
+ 	(relative) rather than jsr (absolute) subroutine call insns.
+ 	* config/m68k/m68k-coff.h: Ditto.
+ 
+ Fri Sep  3 17:24:31 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.c (note_invalid_constants): No need to ignore ASMs, we can
+ 	now rework these too.
+ 	(arm_reorg): If an insn can't reach the end of the current pool,
+ 	ensure that we emit that pool before the insn.
+ 
+ Fri Sep  3 09:14:32 1999  Marc Espie <espie@tetto.liafa.jussieu.fr>
+ 
+ 	* tlink.c (scan_linker_output): Skip the initial underscore in
+ 	a mangled name if appropriate.
+ 
+ Fri Sep  3 01:28:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
+ 	objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
+ 	error_with_ivar, gen_declarator, create_builtin_decl,
+ 	my_build_string, generate_descriptor_table, generate_ivars_list,
+ 	generate_dispatch_table, check_protocols, TAG_GETCLASS,
+ 	TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
+ 	dump_base_name, lang_decode_option, build_encode_expr,
+ 	start_class, finish_class, encode_pointer, really_start_method,
+ 	gen_declaration, dump_interface, handle_class_ref, handle_impent):
+ 	Constify.
+ 	(objc_demangle, objc_printable_name, generate_struct_by_value_array):
+ 	Add static prototypes.
+ 	(build_objc_string_decl, build_selector_reference_decl,
+ 	encode_bitfield, build_class_reference_decl): Remove unused
+ 	parameter, all callers changed.
+ 	(maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
+ 	(objc_printable_name): Likewise.  Change second parameter to type int.
+ 	(init_objc): Use memcpy, not bcopy, to avoid casts.
+ 
+ Thu Sep  2 21:49:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Avoid eliminating the
+ 	reg notes on a deleted insn.
+ 	* gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
+ 
+ Thu Sep  2 20:18:12 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
+ 
+ Thu Sep  2 22:00:08 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* stmt.c (expand_asm_operands): Fix index into inout_mode when
+ 	reading it.
+ 
+ Thu Sep  2 13:00:48 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
+ 	* tm.texi (MD_ASM_CLOBBERS): Document it.
+ 
+ Thu Sep  2 10:22:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
+ 	* except.c (expand_rethrow): Remove unused variable.
+ 	* expr.c (do_jump_by_parts_greater_rtx): Likewise.
+ 	* flow.c (replace_insns): Likewise.
+ 	(create_edge_list, verify_edge_list): Likewise.
+ 	* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
+ 
+ 	* genemit.c (gen_expand): Only emit `operands[N]' decl if there
+ 	is special code to run.
+ 	(main): Don't define operands to emit_operand.
+ 	* genrecog.c (main): Don't emit an empty peephole2_insn function.
+ 
+ 	* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
+ 
+ 	* alpha/alpha.h (normal_memory_operand): Declare.
+ 	(reg_no_subreg_operand): Declare.
+ 	* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
+ 
+ Thu Sep  2 10:19:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-parse.in (compstmt_primary_start): New, broken out of first
+ 	part of compstmt handling in primary.
+ 	(primary): Use it.  Add an error clause.
+ 	(compstmt_nostart): Renamed from compstmt; remove all
+ 	initial invocations of compstmt_start.
+ 	(compstmt): New.
+ 
+ Thu Sep  2 01:35:50 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* protoize.c (gen_aux_info_file):  Let pexecute call choose_temp_base if
+ 	needed.
+ 
+ Thu Sep  2 00:43:59 1999  Finn Hakansson  <finn@axis.com>
+ 
+ 	* combine.c (simplify_shift_const): Remove extra semicolon.
+ 	* dwarf2out.c (remove_AT): Likewise.
+ 	* expmed.c (expand_mult): Likewise.
+ 	* gcov.c (create_program_flow_graph): Likewise.
+ 	* reorg.c (mostly_true_jump): Likewise.
+ 
+ Thu Sep  2 00:06:43 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fold-const.c (fold_range_test): Do not try to fold the range
+ 	test if the rhs or lhs has side effects.
+ 
+ 	* combine.c (simplify_rtx): Recognize another case of a synthesized
+ 	sign extension.
+ 
+ 	* varasm.c (mark_constant_pool): When marking indirect references,
+ 	only look at SYMBOL_REFs.
+ 
+ 	* except.c (expand_fixup_region_end): Do not peek at
+ 	INSN_UID (node->entry->outer_context) for flag_new_exceptions.
+ 
+ Thu Sep  2 13:52:53 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* flags.h: New variables align_loops, align_loops_log,
+ 	align_jumps, align_jumps_log, align_labels, align_labels_log,
+ 	align_functions, align_functions_log.
+ 	* toplev.c: Define them.
+ 	(f_options): Handle -falign-* when they have no argument.
+ 	(main): Add logic to set variables for -falign-functions,
+ 	-falign-jumps, -falign-labels, -falign-loops.
+ 	Make it -fsched-verbose=<n> and -finline-limit=<n>.
+ 	(display_help): Change help to match options.
+ 	* final.c (LABEL_ALIGN): Default to align_labels_log.
+ 	(LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
+ 	(LOOP_ALIGN): Default to align_loops_log.
+ 	(LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
+ 	(LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
+ 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
+ 	* varasm.c (assemble_start_function): Handle align_functions.
+ 
+ 	* config/sparc/sparc.h: Don't declare sparc_align_*.
+ 	Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
+ 	(DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
+ 	sparc.c.
+ 	(FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
+ 	it's a promise.
+ 	* config/sparc/sparc.c: Delete sparc_align_loops,
+ 	sparc_align_jumps, sparc_align_funcs and the corresponding string
+ 	variables.
+ 	(sparc_override_options): Default align_functions on ultrasparc.
+ 	Delete -malign-* handling.
+ 
+ 	* config/mips/mips.c (override_options):  On 64-bit targets,
+ 	try to align code to 64-bit boundaries.
+ 	(print_operand): New substitution, %~,
+ 	which aligns labels to align_labels_log.
+ 	* config/mips/mips.md (div_trap_normal): Use %~.
+ 	(div_trap_mips16): Likewise.
+ 	(abssi): Likewise.
+ 	(absdi2): Likewise.
+ 	(ffssi2): Likewise.
+ 	(ffsdi2): Likewise.
+ 	(ashldi3_internal): Likewise.
+ 	(ashrdi3_internal): Likewise.
+ 	(lshrdi3_internal): Likewise.
+ 	(casesi_internal): Likewise.
+ 
+ Wed Sep  1 21:13:48 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Merge new ia32 backend from the branch!
+ 
+ 	* i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
+ 	See ChangeLog.P2 on new_ia32_branch for details.
+ 
+ 	* rtl.h (stack_regs_mentioned_p): Delete prototype.
+ 	* i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
+ 	* i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
+ 	* i386/gas.h (ASM_FILE_START): Define.
+ 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
+ 	for name change of ix86_valid_decl_attribute_p.
+ 	(i386_pe_valid_type_attribute_p): Similarly.
+ 
+ Wed Sep  1 18:21:23 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
+ 	to step through CC modes.
+ 
+ Wed Sep  1 20:18:06 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (fixup_match_1): Don't move INSN in front of P if
+ 	it would end up in the shadow of a live flags regsiter.
+ 
+ Wed Sep  1 11:32:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c: Fix many indentation problems.
+ 	* reload.c: Likewise.
+ 
+ Tue Aug 31 22:08:03 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* alias.c (non_local_reference_p): Constify fmt.
+ 
+ Tue Aug 31 23:19:35 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
+ 
+ Tue Aug 31 16:44:52 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (delete_trivially_dead_insns): Do not delete stores to
+ 	the internal_arg_pointer.
+ 
+ Tue Aug 31 13:35:42 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Merge peephole2 from new_ia32_branch:
+ 	* Makefile.in (STAGESTUFF): Add *.peephole2.
+ 	(mostlyclean): Likewise.
+ 	(recog.o): Depend on resource.h.
+ 
+ 	* final.c (peephole): Conditionalize decl on HAVE_peephole.
+ 	(final_scan_insn): Likewise for the invocation of peephole.
+ 	* genconfig.c (main): Look for peephole and peephole2 patterns.
+ 	Emit HAVE_peephole* accordingly.
+ 	* genpeep.c (main): Conditionalize entire output on HAVE_peephole.
+ 	* flags.h (flag_peephole2): Declare.
+ 	* toplev.c: New pass peephole2.  New flag -fpeephole2.
+ 
+ 	* genattrtab.c (main): Count DEFINE_PEEPHOLE2.
+ 	* gencodes.c (main): Likewise.
+ 	* genextract.c (main): Likewise.
+ 	* genoutput.c (main): Likewise.
+ 	* genemit.c (max_operand_1): Look for the max scratch operand.
+ 	(gen_rtx_scratch): New.
+ 	(gen_exp): Use it, and pass on new arg subroutine_type.
+ 	(gen_expand): Take max scratch into account.
+ 	(gen_split): Emit peephole2 functions.
+ 	(output_peephole2_scratch): New.
+ 	(main): Include hard-reg-set.h and resource.h.  Handle peephole2.
+ 	* genrecog.c (routine_type): Add PEEPHOLE2.
+ 	(IS_SPLIT): New.
+ 	(make_insn_sequence): Match outer parallel for peep2.  Discard
+ 	top level scratches and dups.
+ 	(add_to_sequence): New args insn_type and top.  Update all callers.
+ 	Handle toplevel peep2 matching insns.
+ 	(write_subroutine): Handle peep2.
+ 	(write_tree_1): Likewise.
+ 	(write_tree): Likewise.
+ 	(main): Likewise.
+ 	(change_state): New arg afterward.  Update all callers.
+ 	Handle matching separate insns.
+ 	* recog.c (recog_next_insn): New.
+ 	(peephole2_optimize): New.
+ 	* rtl.def (DEFINE_PEEPHOLE2): New.
+ 	* resource.c (find_free_register): New argument last_insn.  Use it
+ 	to find a register available through the entire span.
+ 	* resource.h (find_free_register): Update prototype.
+ 
+ Tue Aug 31 11:51:06 1999  Jim Kingdon  <http://developer.redhat.com>
+ 
+ 	* i386.c (output_strlen_unroll): Don't write xops[7]
+ 	label if it wasn't set.
+ 
+ 1999-08-31 12:44 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cpplib.c (struct directive): Const-ify name pointer and
+ 	function pointer prototype.
+ 	(validate_else, do_define, do_line, do_include, do_undef,
+ 	do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
+ 	do_elif, do_endif, do_sccs, do_assert, do_unassert,
+ 	do_warning): Const-ify second arg.
+ 	(directive_table): Mark const.  Reorder entries by frequency
+ 	of usage, record statistics.
+ 
+ 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
+ 
+ 	* rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
+ 	bounds- check RTL accesses if --enable-checking.
+ 	(RTVEC_ELT): Bounds check if --enable-checking.
+ 	(XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
+ 	XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
+ 	(XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
+ 	GET_NUM_ELEM.
+ 	(X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
+ 	X0BBDEF, X0ADVFLAGS):  New macros for accessing '0' slots of RTXes.
+ 
+ 	(ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
+ 	(NOTE_SOURCE_FILE): Use X0STR.
+ 	(NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
+ 	MEM_ALIAS_SET): Use X0INT.
+ 	(NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
+ 	JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
+ 	Use X0EXP.
+ 	* real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
+ 	* rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
+ 	(rtl_check_failed_bounds, rtl_check_failed_type1,
+ 	rtl_check_failed_type2, rtvec_check_failed_bounds): New
+ 	functions.
+ 	(fancy_abort): Fix comment.
+ 
+ 	* cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
+ 	(cse_insn): Decrement LABEL_NUSES for jump target before
+ 	deleting jump insn.
+ 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
+ 	* final.c (alter_subreg): Compute regno before changing x to
+ 	REG; set REGNO(x) after changing it.
+ 	* flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
+ 	notes containing CONST_INTs.
+ 	(delete_eh_regions): Use NOTE_EH_HANDLER.
+ 	* function.c (put_reg_into_stack): Make reg a MEM before
+ 	initializing it.
+ 	(fixup_var_refs_insns):  Save REG_NOTES (insn) in case we
+ 	delete insn.
+ 	(gen_mem_addressof): Make reg a MEM before initializing it.
+ 	* integrate.c (copy_rtx_and_substitute): Copy '0' slots with
+ 	X0WINT.
+ 	* local-alloc.c (update_equiv_regs): Zap REG_NOTES before
+ 	deleting an insn, not after.
+ 	(block_alloc): Only look at PATTERN(insn) if we have to, and
+ 	only if it's format class 'i'.
+ 	* loop.c (check_dbra_loop): Check bl->biv->add_val is a
+ 	CONST_INT before using its INTVAL.
+ 	* print-rtl.c (print_rtx): Use X0STR.
+ 	* regmove.c (fixup_match_1): Don't look at PATTERN of
+ 	non-class-'i' insn chain elements.
+ 	* reload.c (loc_mentioned_in_p): Take address of
+ 	in->fld[1].rtx directly.
+ 	* reload1.c (reload): Change reg to a MEM before initializing
+ 	it.
+ 	* varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
+ 	have no names.
+ 	* config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
+ 
+ Fri Aug 20 13:43:41 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.c (machine_dependent_reorg): Force a
+ 	barrier to output the local constant pool if a barrier hasn't
+ 	been found at a natural point in the instruction stream.
+ 
+ Mon Aug 30 22:04:36 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (language_string): Constify.
+ 
+ 	* dwarf2out.c (language_string): Remove declaration.
+ 
+ 	* dwarfout.c (language_string): Likewise.
+ 
+ 	* toplev.c (language_string, init_parse, finish_parse): Likewise.
+ 
+ 	* tree.h (language_string, init_parse, finish_parse): Declare.
+ 
+ 	* i386/sun386.h (language_string): Remove declaration.
+ 
+ 	* mips.h (language_string): Likewise.
+ 
+ 	* nextstep.h (language_string): Likewise.
+ 
+ 	* nextstep21.h (language_string): Likewise.
+ 
+ 	* rs6000.c (language_string): Likewise.
+ 
+ Mon Aug 30 20:56:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
+ 	(getpwd.o): Remove target.
+ 
+ 	* getpwd.c: Delete file.  Its in libiberty now.
+ 
+ 	* dbxout.c (getpwd): Don't prototype.
+ 	* dwarf2out.c (getpwd): Likewise
+ 	* dwarfout.c (getpwd): Likewise
+ 	* final.c (getpwd): Likewise.
+ 	* protoize.c (getpwd): Likewise.
+ 
+ Mon Aug 30 20:21:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
+ 
+ Mon Aug 30 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
+ 	mark_set_resources.
+ 
+ Mon Aug 30 12:23:53 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* fixinc/Makefile.in (subdir): New.
+ 	(fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
+ 	(Makefile): New.
+ 
+ Mon Aug 30 01:02:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (copy_rtx_if_shared): A MEM which references
+ 	virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
+ 	be shared.
+ 
+ 	* invoke.texi: Fix typo.
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): New argument MODE.  All callers
+ 	changed.  Handle autoincrement addressing modes.
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
+ 	just like we would the virtual incoming args register when
+ 	integrating.
+ 
+ Sun Aug 29 23:17:54 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (ASM_FILE_START): Specify complete filename, including
+ 	path, in .file directive.
+ 
+ Sun Aug 29 05:06:43 1999  Russ Allbery  <rra@stanford.edu>
+ 
+ 	* gcc.texi (External Bugs): Remove obsolete note about Perl on
+ 	SunOS.
+ 
+ 1999-08-29 08:38 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* stdbool.h: Make the typedef name _Bool, with bool a #defined
+ 	alias.
+ 
+ Sun Aug 29 09:36:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.c (tree_code_name): Constify a char*.
+ 
+ 	* tree.h (tree_code_name, decl_printable_name): Likewise.
+ 
+ 	* function.h (struct function): Likewise.
+ 
+ 	* toplev.c (decl_name, decl_printable_name): Likewise.
+ 
+ 	* vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
+ 
+ 	* objc/objc-act.c (decl_printable_name): Remove redundant prototype.
+ 	(init_objc): Remove function pointer cast.
+ 
+ Sun Aug 29 05:01:17 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (interspace_jump): New pattern.
+ 	(builtin_longjmp): New expander.
+ 
+ 1999-08-29  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
+ 	_gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
+ 	sf_to_df, df_to_sf): Fix potential problem with alias analysis.
+ 
+ Sun Aug 29 04:30:52 1999  John Wehle  (john@feith.com)
+ 
+ 	* jump.c (delete_prior_computation): Also check calls
+ 	to constant functions.  Don't bother checking for a
+ 	REG_UNUSED note before adding it.
+ 	(delete_computation): Handle multi-word hard registers
+ 	when synthesizing missing REG_DEAD notes for a register
+ 	which is both set and used by an insn.
+ 
+ 1999-08-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (this_loop_info): New variable.
+ 	(loop_has_call, loop_has_volatile, loop_has_tablejump,
+ 	loop_continue, loops_enclosed): Replace with fields in this_loop_info.
+ 	All uses updated.
+ 	(prescan_loop, strength_reduce): New argument loop_info.  All callers
+ 	updated.
+ 	(scan_loop): New variable loop_info, initialize to address of
+ 	this_loop_info.
+ 	(prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
+ 	Delete variable loop_has_multiple_exit targets and replace with
+ 	field in this_loop_info.
+ 	(find_and_verify_loops): Rename this_loop to this_loop_num.
+ 	(strength_reduce): Delete loop_iteration_info.  Replace variable
+ 	loop_info with function argument of same name.
+ 	(insert_bct): Rework test for loop being completely unrolled.
+ 
+ 	* loop.h (struct loop_info): New fields num, loops_enclosed,
+ 	has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
+ 	has_indirect_jump, and cont.  Redefine use of unroll_number.
+ 	(loop_unroll_number): Delete.
+ 
+ 	* unroll.c (unroll_loop): Store loop unroll count in unroll_number
+ 	field of loop_info.
+ 	(loop_iterations): Delete variable vtop and instead use
+ 	loop_info->vtop computed in prescan_loop.
+ 
+ Sun Aug 29 03:27:23 1999  Scott Weikart <scott@igc.apc.org>
+ 
+ 	* fix-header.c (main): Do not pass a null pointer to strcmp.
+ 
+ Sun Aug 29 03:18:48 1999  William Bader  (william@nscs.fast.net)
+ 
+ 	* configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
+ 	filenames.
+ 	* configure: Rebuilt.
+ 
+ Sat Aug 28 19:36:05 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (jump_optimize_1): Do not delete assignments to
+ 	internal_arg_pointer.
+ 	* cse.c (delete_trivially_dead_insns): Always consider a set of
+ 	the internal_arg_pointer live.
+ 
+ Sat Aug 28 16:24:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
+ 	(update_life_info) [REG_WAS_0]: Search the original insns rather
+ 	than the new insns for the note.  Fix typos finding note_dest.
+ 	If no dest found, discard the note rather than abort.
+ 	[REG_NOALIAS]: Handle as REG_NO_CONFLICT.
+ 	(replace_insns): Remove the old insn list after update_life_info
+ 	not before.
+ 
+ Sat Aug 28 16:20:12 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
+ 	sched_analyze_insn.
+ 	(sched_analyze_1): Let add_dependence care for not adding dups.
+ 	(sched_analyze_2): Likewise.
+ 	(add_branch_dependences): Likewise.
+ 
+ Sat Aug 28 15:58:16 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/winnt.c (export_list): New type.
+ 	(exports_head): Rename to
+ 	(export_head):  this.
+ 	(i386_pe_record_exported_symbol): Add is_data flag.
+ 	(i386_pe_asm_file_end): Emit directive for exported variables.
+ 	* i386/cygwin.h (i386_pe_record_exported_symbol): Update
+ 	prototype.
+ 	* i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
+ 	(ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	* i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 
+ Fri Aug 27 15:35:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
+ 
+ 	* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
+ 	operand.
+ 
+ Fri Aug 27 14:01:19 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* config/openbsd.h: Define SET_ASM_OP.
+ 	* tm.texi: cross-reference SET_ASM_OP in the index.
+ 
+ 1999-08-27 13:27 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
+ 	for a CONST_DOUBLE, at compile time.  Initialize rtx_length
+ 	and class_narrowest_mode at compile time.  Kill init_rtl.
+ 	Mark rtx_length, mode_class, mode_size, mode_unit_size,
+ 	mode_wider_mode, mode_mask_array, class_narrowest_mode, and
+ 	rtx_format as const.  Kill all references to EXTRA_CC_MODES or
+ 	EXTRA_CC_NAMES.
+ 	* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
+ 	format.
+ 	* rtl.h: Declare rtx_length and rtx_format as const.
+ 	* machmode.def: Define CC().  Use CC() to define CCmode.  If
+ 	EXTRA_CC_MODES is defined, expand it here.
+ 	* machmode.h: Declare mode_class, mode_size, mode_unit_size,
+ 	mode_wider_mode, mode_mask_array, and class_narrowest_mode as
+ 	const.  Kill all references to EXTRA_CC_MODES.
+ 
+ 	* toplev.c: Don't prototype or call init_rtl.
+ 	* optabs.c: Don't call init_mov_optab.
+ 	* genemit.c: Don't generate init_mov_optab.  Don't call
+ 	init_rtl.
+ 	* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
+ 	here.
+ 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
+ 	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
+ 	genrecog.c: Don't call init_rtl.
+ 
+ 	* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
+ 	rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES.  Use CC() in
+ 	definition of EXTRA_CC_MODES.
+ 
+ 	* md.texi: Kill ref to EXTRA_CC_NAMES.
+ 	* tm.texi: Document new way to define EXTRA_CC_MODES.
+ 
+ 	* genrecog.c: Do not look up the name of a define_split.
+ 	(Unrelated bugfix.)
+ 
+ Fri Aug 27 17:03:42 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.md: Fix typo introduced by previous delta.
+ 
+ Fri Aug 27 09:48:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (fatal): Make definition static to match prototype.
+ 
+ Fri Aug 27 10:33:35 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* combine.c (get_last_value): Don't look for earlier sets if the last
+ 	known set is somewhere in between the insns being combined.
+ 
+ Fri Aug 27 10:03:12 BST 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* configure.in: Don't use shell ! to negate exit codes
+ 	* configure: Regenerate
+ 
+ Fri Aug 27 09:36:17 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
+ 	the fact that ALIGN is measured in bits, not bytes.
+ 
+ 1999-08-27 00:27 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* errors.c: New file; defines functions error, warning, and
+ 	fatal, variables have_error and progname.
+ 	* errors.h: New file; prototypes and decls for stuff in errors.c.
+ 
+ 	* Makefile: Add rules to build errors.o and
+ 	$(HOST_PREFIX)errors.o.  Link genconfig, gencodes, genemit,
+ 	genopinit, genrecog, genextract, genpeep, genattr, and
+ 	genoutput with errors.o.  Add errors.h to deps of genconfig.o,
+ 	gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
+ 	genpeep.o, genattr.o, and genoutput.o.
+ 
+ 	* genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
+ 	genextract.c, genpeep.c, genattr.c:  Include errors.h.  Don't
+ 	define or prototype fatal.  Set progname at beginning of main.
+ 	* genoutput.c:  Likewise, and don't define or prototype error
+ 	either.
+ 
+ 	* c-typeck.c (c_expand_start_case): Return immediately if exp
+ 	is an ERROR_MARK.
+ 	* fold-const.c (operand_equal_p): Return immediately if arg1
+ 	or arg0 are ERROR_MARKs.
+ 	* stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
+ 	fields of type ERROR_MARK when calculating if the record can
+ 	go in a register.
+ 
+ Fri Aug 27 01:03:48 1999  Jim Kingdon  <http://developer.redhat.com>
+ 	with much help from Jeffrey A Law and Richard Henderson
+ 
+ 	* i386.md: In the 6 insns which call output_fix_trunc,
+ 	earlyclobber operands[0].
+ 
+ Fri Aug 27 01:01:51 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Call reg_scan_update after
+ 	creating new registers.
+ 
+ 1999-08-26 23:09 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* i386.h: Declare ix86_cpu_string, ix86_arch_string,
+ 	i386_reg_alloc_order, i386_regparm_string,
+ 	i386_align_loops_string, i386_align_jumps_string,
+ 	i386_align_funcs_string, i386_preferred_stack_boundary_string,
+ 	and i386_branch_cost_string as type "const char *".
+ 	* i386.c: Define all above strings as type "const char *".
+ 
+ Thu Aug 26 20:36:30 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
+ 	when emitting alignment padding.  Emit padding byte of 0 instead of 4.
+ 
+ Thu Aug 26 18:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (array_type_nelts): Don't create RTL_EXPRs from
+ 	SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
+ 
+ Thu Aug 26 19:33:23 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
+ 	(debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
+ 	(dwarf2out_line, dwarf2out_finish): Likewise.
+ 	* tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documentation.
+ 
+ Thu Aug 26 16:10:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* tree.c (lang_unsave_expr_now) : Correct return type.
+ 	* tree.h (lang_unsave_expr_now) : Same.
+ 
+ Thu Aug 26 13:12:29 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
+ 	instead of duplicating code.
+ 
+ Thu Aug 26 18:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* gcse.c (hash_scan_insn): Don't scan obvious no-ops.
+ 
+ 1999-08-26 09:42 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* tree.h: fancy_abort always takes three args.
+ 	* resource.c: Move include of system.h before toplev.h.
+ 
+ Thu Aug 26 09:46:16 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
+ 	as SYMBOL_REFs.
+ 
+ 1999-08-25 22:10 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* system.h: Don't redefine abort or trim_filename.
+ 	* rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
+ 	or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
+ 	whether or not __FUNCTION__ is available.
+ 	* tree.h: Duplicate rtl.h's definition of abort, for files
+ 	that don't include rtl.h.  Delete all code to perform type
+ 	checking with a compiler other than GCC.
+ 	* varray.h: Delete all code to perform type checking with a
+ 	compiler other than GCC.  Make VARRAY_CHECK() always evaluate
+ 	its arguments exactly once, using a statement expression.
+ 	Adjust the VARRAY_<type> accessor macros to match.
+ 	* toplev.h (fatal_insn, fatal_insn_not_found): Kill.
+ 	(_fatal_insn, _fatal_insn_not_found): New fns, take info on
+ 	caller's location.  Define fatal_insn and fatal_insn_not_found
+ 	as macros that use _fatal_insn and _fatal_insn_not_found.
+ 	(fancy_abort, trim_filename): Kill prototypes.
+ 
+ 	* rtl.c (trim_filename): Move here from toplev.c.
+ 	(fancy_abort): New function.
+ 	(DIR_SEPARATOR): Provide default definition.
+ 	* tree.c (tree_check_failed, tree_class_check_failed): Go
+ 	through fancy_abort.
+ 	(tree_check, tree_class_check, cst_or_constructor_check,
+ 	expr_check): Delete.
+ 	* varray.c (varray_check_failed): New function.
+ 	* toplev.c (fatal_insn, fatal_insn_not_found): Replace with
+ 	_fatal_insn and _fatal_insn_not_found.  Go through
+ 	fancy_abort.
+ 	(trim_filename, fancy_abort): Delete.
+ 
+ 	* builtins.c (expand_builtin_args_info): Report ICE with abort.
+ 	* except.c (start_catch_handler): Report ICE with error/abort
+ 	combo.
+ 	* final.c (output_operand_lossage): Likewise.
+ 	* flow.c (verify_flow_info): Likewise.
+ 
+ 	* gcc.c: Prototype fatal.
+ 	* gengenrtl.c: Undef abort after including rtl.h not system.h.
+ 	* genattr.c, genattrtab.c, genemit.c, genextract.c,
+ 	genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
+ 	Don't define fancy_abort.
+ 
+ Wed Aug 25 17:56:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* optabs.c (emit_cmp_and_jump_insns): Be more thorough in
+ 	canonization.
+ 
+ Wed Aug 25 15:35:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m88k.h (VERSION_INFO2): Kill.
+ 	(VERSION_STRING): Kill.
+ 	(TM_RCS_ID): Kill.
+ 	(VERSION_INFO1): Tidy.
+ 	(TARGET_VERSION): Update.
+ 	* m88k/dgux.h (VERSION_INFO2): Kill.
+ 	(ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
+ 	* m88k/luna.h (VERSION_INFO1): Tidy.
+ 	* m88k/sysv4.h (VERSION_INFO1): Likewise.
+ 	* m88k.c (out_rcs_id, tm_rcs_id): Kill.
+ 	(output_file_start): Adjust for death of VERSION_STRING.
+ 
+ 1999-08-25 13:51 -0700  Jim Meyering  <meyering@ascend.com>
+ 
+ 	* cpplib.c (detect_if_not_defined): New function.
+ 	(do_if): Use it to detect potential once-only headers.
+ 
+ Wed Aug 25 14:00:18 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-common.c (combine_strings): Always set TREE_CONSTANT.
+ 
+ Wed Aug 25 15:27:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* combine.c (nonzero_bits) : Allow single-ly set registers to be
+ 	anywere in the function only if they are pseudos and set before
+ 	being used (not live at the start of the function).
+ 	(num_sign_bit_copies) : Same.
+ 	(get_last_value_validate) : Same.
+ 	(get_last_value) : Same.
+ 
+ Wed Aug 25 11:13:29 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (express_from): Try harder to unify (* c N) and (* c M)
+ 	where N and M are constant and N is an integer multiple of M.
+ 
+ Wed Aug 25 13:55:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
+ 	(sbitmap_intersection_of_preds, sbitmap_union_of_succs,
+ 	sbitmap_union_of_preds): Add prototypes.
+ 	* sbitmap.c (sbitmap_intersection_of_succs): New function to compute
+ 	the intersection of successors with the new flow graph structures.
+ 	(sbitmap_intersection_of_preds): New function to compute the
+ 	intersection of predecessors with the new flow graph structures.
+ 	(sbitmap_union_of_succs): New function to compute the union of
+ 	successors with the new flow graph structures.
+ 	(sbitmap_union_of_preds): New function to compute the union of
+ 	predecessors with the new flow graph structures.
+ 	* gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
+ 	(expr_reaches_here_p): Use edge and basic_block structures instead
+ 	of s_preds and s_succs.
+ 	(compute_cprop_avinout): Use new sbitmap routines.
+ 	(pre_expr_reaches_here_p): Use edge and basic_block structures instead
+ 	of s_preds and s_succs.
+ 	* flow.c (compute_flow_dominators): Compute dominators using
+ 	edges and basic blocks instead of s_preds and s_succs.
+ 
+ Wed Aug 25 13:41:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* lists.c (unused_insn_list, unused_expr_list): New file for
+ 	maintaining various types of lists. New statics for maintaining a
+ 	cache of available INSN_LIST and EXPR_LIST nodes.
+ 	(free_list): Static function for freeing a list of INSN/EXPR nodes.
+ 	(alloc_INSN_LIST): Function to get a free INSN_LIST node.
+ 	(alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
+ 	(init_EXPR_INSN_LIST_cache): Initialize the cache lists.
+ 	(free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
+ 	(free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
+ 	(free_EXPR_LIST_node): Free an individual EXPR_LIST node.
+ 	(free_INSN_LIST_node): Free an individual INSN_LIST node.
+ 	* haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
+ 	(free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
+ 	(remove_dependence, free_pending_lists): Use new global routines.
+ 	(flush_pending_lists, sched_analyze_insn): Use new global routines.
+ 	(sched_analyze, compute_block_backward_dependences): Use new routines.
+ 	(sched_analyze_1, sched_analyze_2): Use new routines.
+ 	(schedule_insns): Use new global routines.
+ 	* rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
+ 	prototypes.
+ 	(free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
+ 	(free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
+ 	prototypes.
+ 	* toplev.c (rest_of_compilation): Initialize node cache.
+ 	* Makefile.in (OBJS): Add lists.o to list of object files.
+ 	(lists.o): Add dependencies.
+ 
+ Wed Aug 25 17:31:56 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.md: Fix compile time warning messages.
+ 	* config/v850/v850.c: Fix compile time warning messages.
+ 	* config/v850/v850.h: Fix compile time warning messages.
+ 
+ Wed Aug 25 09:44:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (gen_attr): Add prototype arguments for get_attr_*().
+ 	Remove unused prototype for `init_lengths'.
+ 
+ Wed Aug 25 09:32:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (emit_call_1): Mark parameter `stack_size' with
+ 	ATTRIBUTE_UNUSED.
+ 	(expand_call): Initialize variable `insn'.
+ 	(emit_library_call): Likewise for variable `high_to_save'.
+ 	(emit_library_call_value): Likewise.
+ 	(store_one_arg): Likewise for variables `lower_bound' and
+ 	`upper_bound'.
+ 
+ 	* combine.c (try_combine): Likewise for variables `i2_code_number'
+ 	and `other_code_number'.
+ 	(find_split_point): Likewise for variables `pos', `unsignedp' and
+ 	`inner'.
+ 	(simplify_if_then_else): Likewise for variables `op' and `c1'.
+ 	(simplify_and_const_int): Remove unused variable `width'.
+ 	(merge_outer_ops): Likewise.
+ 
+ 	* cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
+ 	HOST_WIDE_INT' when comparing against one.
+ 	(simplify_relational_operation): Likewise.
+ 	(cse_insn): Initialize variables `src_eqv_volatile',
+ 	`src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
+ 
+ 	* final.c (init_final): Constify parameter `filename'.
+ 	(final_start_function): Mark parameter `optimize' with
+ 	ATTRIBUTE_UNUSED.
+ 	(profile_function): Likewise for parameters `first' and `optimize'.
+ 	(output_source_line): Likewise for parameter `file'.
+ 
+ 	* integrate.c (subst_constants): Cast a value to `size_t' when
+ 	comparing against one.
+ 	(mark_stores): Initialize variable `mode'.  Cast a value to
+ 	`size_t' when comparing against one.
+ 
+ 	* integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
+ 
+ 	* loop.c (move_movables): Initialize variable `first'.
+ 	(strength_reduce): Likewise for variable `increment'.
+ 	(check_dbra_loop): Likewise for variable `comparison_val'.  Cast a
+ 	value to `size_t' when comparing against one.
+ 	(load_mems): Initialize variable `end_label'.
+ 
+ 	* output.h (init_final): Constify parameter.
+ 
+ 	* reload.c (decompose): Initialize variable `base'.
+ 
+ 	* reload1.c (reload): Likewise for variable `is_scalar'.
+ 	(spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
+ 	(choose_reload_regs): Initialize variable `mode'.
+ 	(emit_reload_insns): Likewise for variable `store_insn'.
+ 	(reload_cse_noop_set_p): Mark parameter `insn' with
+ 	ATTRIBUTE_UNUSED.
+ 	(reload_combine): Initialize variable `set'.
+ 
+ 	* unroll.c (unroll_loop): Likewise for variable `local_label'.
+ 	(copy_loop_body): Cast a value to `size_t' when comparing against
+ 	one.
+ 
+ 	* varasm.c (assemble_variable): Initialize variable `size_tree'.
+ 	(const_hash): Add an `else abort()' in an if-else-if-else sequence.
+ 	(remove_from_pending_weak_list): Mark parameter `name' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ Wed Aug 25 11:18:39 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* toplev.c (rest_of_compilation): Use decl_printable_name when opening
+ 	gcse dump file.
+ 
+ Wed Aug 25 10:57:12 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
+ 	(ASM_DECLARE_FUNCTION_NAME): Define.
+ 	(TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
+ 	ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
+ 	ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
+ 	not already defined.
+ 
+ Wed Aug 25 01:36:11 1999  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* calls.c (emit_call_1): Use call_pop/call_value_pop for all values
+ 	of n_popped when call/call_value are not defined.
+ 
+ Wed Aug 25 01:25:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tm.texi: GNU CC -> GCC conversion.
+ 	(CC1_SPEC): Indicate it is used for all language front ends.
+ 
+ Tue Aug 24 23:43:03 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
+ 	NOTE_INSN_EH_REGION_END correctly.
+ 
+ Tue Aug 24 23:26:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+ 			  Jeff Law <law@cygnus.com>
+ 
+ 	* loop.c (strength_reduce): Automatically unroll loops if the
+ 	unrolled loop size is smaller than the rolled loop size.
+ 
+ 	* loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
+ 	and delete comment that code should be rewritten.
+ 
+ Tue Aug 24 22:56:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (find_rgns): Mark a block found during the DFS search
+ 	as reachable.
+ 
+ 	* haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
+ 
+ Tue Aug 24 22:41:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* fixinc/mkfixinc.sh: Don't fix uwin headers.
+ 	* i386/uwin.h (MD_STARTFILE_PREFIX): Define.
+ 	(LINK_SPEC): Add -u _main when building executables.
+ 	(ASM_DECLARE_FUNCTION): Update from Cygwin.
+ 	(ASM_FILE_END): Use the default for ix86-pe.
+ 	* i386/xm-uwin.h (HAVE_BCOPY): Undefine.
+ 
+ Tue Aug 24 20:49:47 1999  Art Haas  <ahaas@neosoft.com>
+ 
+ 	* final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
+ 	and ASM_CLOSE_PAREN are empty strings.
+ 
+ Wed Aug 25 12:46:22 1999  Fred Fish  <fnf@cygnus.com>
+ 			  Geoffrey Keating <geoffk@cygnus.com>
+ 
+ 	* Makefile.in (PREPROCESSOR_DEFINES): New macro.
+ 	(protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
+ 	(unprotoize.o): Ditto.
+ 	(test-protoize-simple): Don't define STD_PROTO_DIR.
+ 	* protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
+ 	changes to make 'test-protoize-simple' pass.
+ 	(STD_PROTO_DIR): Remove define.
+ 	(STANDARD_EXEC_PREFIX): Supply default define.
+ 	(standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
+ 	(target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
+ 	(target_version): New variable, init to DEFAULT_TARGET_VERSION.
+ 	(GET_ENV_PATH_LIST): New macro.
+ 	(default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
+ 	(do_processing): Initialize default_syscalls_dir using new
+ 	macros.  Use it to initialize syscalls_absolute_filename.
+ 
+ Tue Aug 24 16:58:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Do cmov opt on any single-set; force
+ 	B into a register before emit_conditional_move.
+ 
+ Tue Aug 24 15:37:03 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
+ 	as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
+ 	multiplicand out of (+ (* a b) (* c d)).
+ 
+ Tue Aug 24 11:46:10 1999  Bob Manson <manson@cygnus.com>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (split_hard_reg_notes): Move to flow.c
+ 	(new_insn_dead_notes): Likewise.
+ 	(update_n_sets): Likewise.
+ 	(update_flow_info): Move to flow.c, renamed to update_life_info;
+ 	extend to handle multiple source insns.
+ 	* flow.c: Include resource.h
+ 	(unlink_insn_chain): New.
+ 	(split_hard_reg_notes): New.
+ 	(maybe_add_dead_note): New.
+ 	(maybe_add_dead_note_use): New.
+ 	(find_insn_with_note): New.
+ 	(new_insn_dead_notes): New.
+ 	(update_n_sets): New.
+ 	(sets_reg_or_subreg_1, sets_reg_or_subreg): New.
+ 	(maybe_remove_dead_notes): New.
+ 	(update_life_info): New.
+ 	(prepend_reg_notes): New.
+ 	(replace_insns): New.
+ 	* output.h (update_life_info): Declare.
+ 	* recog.c (split_block_insns): Use update_life_info.
+ 	* resource.c (find_free_register): Use reg_alloc_order, don't use
+ 	fixed regs, make sure the mode is supported, don't use new regs.
+ 	(reg_dead_p): New.
+ 	* rtl.h (replace_insns): Declare.
+ 
+ Tue Aug 24 13:48:39 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* expr.c (expand_expr): Cope with COND_EXPRs with one
+ 	non-returning branch.
+ 
+ Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (store_expr): Always pass down the target, even when not
+ 	doing CSE.
+ 
+ 1999-08-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Define target_cpu_default for v850 targets.
+ 	* configure: Regenerate
+ 
+ 	* config/v850/v850.h (TARGET_CPU_generic): Define.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
+ 	addresses are 4 byte aligned.
+ 
+ 	* config/v850/v850.c (print_operand): Cope with 'R' format DFmode
+ 	addresses.
+ 
+ Tue Aug 24 09:32:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (function_unit_desc): Constify a char*.  Add prototype.
+ 	(main): Add prototypes.
+ 
+ 	* genattrtab.c (substitute_address, write_const_num_delay_slots,
+ 	attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
+ 	(write_attr_get): Emit prototypes along with function definition.
+ 	(write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
+ 	(write_complex_function): Emit static prototype along with
+ 	function definition.
+ 
+ 	* genemit.c (gen_split): Emit prototypes along with function
+ 	definition.
+ 
+ 	* genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
+ 	Likewise for predicates and `insn_operand_predicate'.
+ 	(process_template): Emit static prototype along with function
+ 	definition.
+ 
+ 	* genrecog.c (make_insn_sequence): Constify a char*.  Add
+ 	prototypes for get_split_*().
+ 	(write_subroutine): Emit prototypes along with function
+ 	definition.
+ 
+ Tue Aug 24 12:35:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* gcse.c (find_avail_set): Follow chains of register-register copies.
+ 	Use oprs_not_set_p to guarantee that the returned value can be
+ 	substituted.
+ 	(cprop_insn): Don't verify the return value of find_avail_set with
+ 	oprs_not_set_p.
+ 
+ 	* gcse.c (cprop_jump): New function, broken out of cprop_insn.
+ 	(cprop_cc0_jump): New function.
+ 	(cprop_insn): Break out new function cprop_jump and use it.
+ 	Also use cprop_cc0_jump for machines with CC0.
+ 	(cprop): Don't crash if cprop_insn turned the insn into a NOTE.
+ 
+ 	* tree.h (current_function_calls_setjmp,
+ 	current_function_calls_longjmp): Delete declarations.
+ 	* dsp16xx.c: Include "function.h".
+ 	* elxsi.c: Likewise.
+ 	* gmicro.c: Likewise.
+ 	* h8300.c: Likewise.
+ 	* i370.c: Likewise.
+ 	* m32r.c: Likewise.
+ 	* mn10200.c: Likewise.
+ 	* mn10300.c: Likewise.
+ 	* ns32k.c: Likewise.
+ 	* spur.c: Likewise.
+ 	* v850.c: Likewise.
+ 
+ 	* rtl.h (rtx_equal_function_value_matters): Declare.
+ 	* toplev.c (rtx_equal_function_value_matters): Don't declare.
+ 	* cse.c: Likewise.
+ 	* function.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 
+ Tue Aug 24 02:47:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
+ 	call.
+ 
+ 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
+ 	exactly.
+ 
+ Mon Aug 23 23:35:52 1999  Matthias Klose  <doko@cs.tu-berlin.de>
+ 
+ 	* cpp.texi: Add a node documenting macro varargs (copied
+ 	from extend.texi).
+ 
+ 1999-08-23 22:23 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cppspec.c: Put a null pointer at the end of the new argv.
+ 
+ Mon Aug 23 21:23:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Remove code to select/de-select the haifa
+ 	scheduler.  Every scheduled port gets haifa now.
+ 	* configure: Rebuilt.
+ 	* flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
+ 	* sched.c Deleted.
+ 	* Makefile.in: Corresponding changes.
+ 
+ Mon Aug 23 16:04:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
+ 	All callers changed.
+ 	(prepare_float_lib_cmp): Likewise.
+ 	Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
+ 	* expr.h (emit_float_lib_cmp): Delete declaration.
+ 	* tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
+ 	* sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
+ 	* sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
+ 	specially.
+ 	(cmptf): Now conditional on TARGET_HARD_QUAD.
+ 
+ Fri Aug 20 17:52:27 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* resource.c (mark_target_live_regs): Use
+ 	PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
+ 
+ Fri Aug 20 19:07:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
+ 
+ 	* rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
+ 
+ 	* genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
+ 
+ Fri Aug 20 18:53:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (rtx_format): Constify a char*.
+ 
+ 	* rtl.c (rtx_format): Likewise.
+ 	(copy_rtx, copy_most_rtx, read_rtx): Likewise.
+ 	(init_rtl): Use accessor macro, not `rtx_format'.
+ 
+ 	* alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
+ 	char*.
+ 
+ 	* caller-save.c (mark_referenced_regs): Likewise.
+ 
+ 	* combine.c (subst, make_compound_operation, known_cond,
+ 	gen_rtx_combine, update_table_tick, get_last_value_validate,
+ 	use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
+ 
+ 	* cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
+ 	refers_to_p, canon_reg, fold_rtx, cse_process_notes,
+ 	count_reg_usage): Likewise.
+ 
+ 	* emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
+ 	Likewise.
+ 
+ 	* final.c (leaf_renumber_regs_insn): Likewise.
+ 
+ 	* flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
+ 	dump_edge_info, count_reg_references): Likewise.
+ 
+ 	* function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
+ 	fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
+ 	Likewise.
+ 
+ 	* gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
+ 	oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
+ 	add_label_notes): Likewise.
+ 
+ 	* genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
+ 	clear_struct_flag, count_sub_rtxs, count_alternatives,
+ 	compares_alternatives_p, contained_in_p, walk_attr_value,
+ 	write_expr_attr_cache): Likewise.
+ 
+ 	* genconfig.c (walk_insn_part): Likewise.
+ 
+ 	* genemit.c (max_operand_1, gen_exp): Likewise.
+ 
+ 	* genextract.c (walk_rtx): Likewise.
+ 
+ 	* genflags.c (num_operands): Likewise.
+ 
+ 	* genoutput.c (scan_operands): Likewise.
+ 
+ 	* genpeep.c (match_rtx): Likewise.
+ 
+ 	* genrecog.c (add_to_sequence): Likewise.
+ 
+ 	* haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
+ 	Likewise.
+ 
+ 	* integrate.c (save_constants, copy_for_inline,
+ 	copy_rtx_and_substitute, subst_constants, restore_constants):
+ 	Likewise.
+ 
+ 	* jump.c  (mark_jump_label, invert_exp, redirect_exp,
+ 	rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
+ 
+ 	* local-alloc.c (contains_replace_regs, memref_referenced_p):
+ 	Likewise.
+ 
+ 	* loop.c (record_excess_regs, rtx_equal_for_loop_p,
+ 	add_label_notes, replace_call_address, count_nonfixed_reads,
+ 	invariant_p, find_single_use_in_loop, find_mem_givs,
+ 	find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
+ 	Likewise.
+ 
+ 	* print-rtl.c (reg_names, print_rtx): Likewise.
+ 
+ 	* recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
+ 
+ 	* reg-stack.c (stack_regs_mentioned_p, record_label_references,
+ 	record_reg_life_pat, swap_rtx_condition, goto_block_pat,
+ 	print_blocks): Likewise.
+ 
+ 	* regclass.c (fix_register, record_address_regs,
+ 	reg_scan_mark_refs): Likewise.
+ 
+ 	* regmove.c (stable_but_for_p): Likewise.
+ 
+ 	* reload.c (loc_mentioned_in_p, operands_match_p,
+ 	find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
+ 	copy_replacements, refers_to_regno_for_reload_p,
+ 	refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
+ 	reload_when_needed_name, reg_class_names, debug_reload_to_stream):
+ 	Likewise.
+ 
+ 	* reload1.c (eliminate_regs, scan_paradoxical_subregs,
+ 	delete_address_reloads_1, count_occurrences,
+ 	reload_cse_mem_conflict_p, reload_combine_note_use,
+ 	add_auto_inc_notes): Likewise.
+ 
+ 	* resource.c (mark_referenced_resources, mark_set_resources):
+ 	Likewise.
+ 
+ 	* rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
+ 	reg_mentioned_p, regs_set_between_p, modified_between_p,
+ 	modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
+ 	rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
+ 	may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
+ 	jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
+ 
+ 	* sched.c (sched_analyze_2, attach_deaths): Likewise.
+ 
+ 	* stupid.c (stupid_mark_refs): Likewise.
+ 
+ 	* unroll.c (remap_split_bivs): Likewise.
+ 
+ 	* varasm.c (mark_constants): Likewise.
+ 
+ 	* a29k/a29k.c (uses_local_reg_p): Likewise.
+ 
+ 	* alpha/alpha.c (summarize_insn): Likewise.
+ 
+ 	* arm/arm.c (symbol_mentioned_p, label_mentioned_p,
+ 	eliminate_lr2ip): Likewise.
+ 
+ 	* arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
+ 
+ 	* i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
+ 	reg_mentioned_in_mem): Likewise.
+ 
+ 	* ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
+ 	symbolic_reference_mentioned_p): Likewise.
+ 
+ 	* romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
+ 
+ 	* sh/sh.c (regs_used, mark_use): Likewise.
+ 
+ 	* vax/vax.c (vax_rtx_cost): Likewise.
+ 
+ Fri Aug 20 18:38:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* machmode.h (mode_name): Constify a char*.
+ 
+ 	* rtl.c (mode_name): Likewise.
+ 
+ 	* genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
+ 
+ 	* optabs.c (init_libfuncs): Constify a char*.
+ 
+ 	* print-tree.c (mode_name): Remove redundant declaration.
+ 	(print_node): Use accessor macro, not `mode_name'.
+ 
+ 	* reload1.c (dump_needs): Constify a char*.  Use accessor macro,
+ 	not `mode_name'.
+ 	(new_spill_reg): Constify a char*.
+ 
+ 	* tree.c (mode_name): Remove redundant declaration.
+ 
+ Fri Aug 20 18:31:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.c (rtx_name): Constify a char*.
+ 
+ 	* rtl.h (rtx_name, fix_sched_param): Likewise.
+ 
+ 	* gmicro/gmicro.c (rtx_name): Remove redundant declaration.
+ 	(mypr): Use accessor macro, not `rtx_name'.
+ 
+ 	* genemit.c (print_code): Constify a char*.
+ 
+ 	* genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
+ 
+ 	* genpeep.c (print_code): Constify a char*.
+ 
+ 	* genrecog.c (print_code): Likewise.
+ 
+ 	* graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
+ 	end_bb): Add static prototype.
+ 	(draw_edge): Constify a char*.
+ 	(end_bb): Remove unused parameter.
+ 
+ 	* haifa-sched.c (fix_sched_param, safe_concat, print_exp
+ 	print_block_visualization): Constify a char*.
+ 
+ Fri Aug 20 15:02:10 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (c_get_alias_set): Update comment.
+ 
+ 1999-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+ 
+ 	* linux.h (LIB_SPEC): Added.
+ 
+ Fri Aug 20 22:32:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (STARTFILE_SPEC): Don't def.
+ 
+ 1999-08-19 18:43 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* tree.c (expr_check): Fix typo in last change.
+ 
+ 1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* rtl.def (NOTE): Change format to "iuu0n".
+ 	(ADDR_DIFF_VEC): Change format to "eEee0".
+ 	(ADDRESSOF): Change format to "eit".
+ 
+ 	* rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
+ 	(RTVEC_ELT): Change to match.
+ 	(XVECEXP): Use XVEC and RTVEC_ELT.
+ 	(INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
+ 	ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
+ 	(PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
+ 	CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
+ 	TRAP_CONDITION, TRAP_CODE): Use XEXP.
+ 	(INTVAL): Use XWINT.
+ 	(ADDRESSOF_DECL): Use XTREE.
+ 	(SET_ADDRESSOF_DECL): Delete.
+ 	(NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
+ 	NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
+ 	ifdefed out since 2.6 at least.
+ 	(gen_rtvec_vv): Delete prototype.
+ 
+ 	* rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
+ 	not rtunion.
+ 	(copy_most_rtx): Handle 't' format letter.
+ 	* emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
+ 	(gen_rtvec_vv): Delete function.  All callers changed to use
+ 	gen_rtvec_v instead.
+ 	* print-rtl.c (print_rtx): Move special casing of NOTEs to
+ 	the '0' format letter.
+ 
+ 	* function.c (gen_mem_addressof): Don't use
+ 	SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
+ 	instead.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	Copy 't' slots with XTREE.
+ 	(subst_constants): Treat 't' slots like '[swi]' slots.
+ 	* cse.c (canon_hash, exp_equiv_p): Treat 't' slots like	'0' slots.
+ 	* jump.c (rtx_equal_for_thread_p): Likewise.
+ 	* rtlanal.c (rtx_equal_p): Likewise.
+ 	* stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
+ 	only four arguments.
+ 	* gengenrtl.c (type_from_format): Provide correct types for
+ 	'b' and 't' slots.
+ 
+ 
+ 	* tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
+ 	If a recent gcc is in use (always in stage2 and beyond), use
+ 	statement expressions, so we don't make a function call unless
+ 	the check fails.  Evaluate arguments exactly once.
+ 	(CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
+ 	TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
+ 	Delete.
+ 	(CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
+ 	they evaluate their arguments exactly once, irrespective of
+ 	the compiler in use.
+ 
+ 	* tree.c [ENABLE_CHECKING]: Define whichever set of functions
+ 	is used by the currently-enabled check macros.  This is:
+ 	(tree_check_failed, tree_class_check_failed): For gcc.
+ 	(tree_check, tree_class_check, cst_or_constructor_check,
+ 	expr_check): For other compilers.
+ 
+ 	* gencheck.c: Do not define any *_CHECK1 macros.
+ 
+ Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
+ 			  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* c-common.c (c_get_alias_set): Fix support for pointers and
+ 	references.
+ 
+ Thu Aug 19 11:51:22 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* alias.c: Include tree.h.
+ 	(nonlocal_reference_p, mark_constant_function): New functions.
+ 	* flow.c (life_analysis): Call mark_constant_function.
+ 	* rtl.h (mark_constant_function): Declare it.
+ 
+ Thu Aug 19 15:02:01 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Fix test for
+ 	unrecognizable switches.
+ 
+ Wed Aug 18 23:31:57 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (recombine_givs): Set ix field after sorting.
+ 	(recombine_givs): Remove bogus index / giv lockstep looping.
+ 
+ Wed Aug 18 18:20:40 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
+ 	on CODE.
+ 	(emit_store_flag_force): Use do_compare_rtx_and_jump.
+ 	(do_cmp_and_jump): Formatting fixes.
+ 	* expr.c (do_compare_and_jump): Renamed from compare; changed to call
+ 	do_compare_rtx_and_jump instead of compare_from_rtx.
+ 	(do_compare_rtx_and_jump): New function; mostly copied from
+ 	compare_from_rtx.
+ 	(do_jump_for_compare): Delete.
+ 	(expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
+ 	MIN_EXPR.
+ 	(do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
+ 	of compare/do_jump_for_compare pairs.
+ 	(do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
+ 	(do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
+ 	compare_from_rtx/do_jump_for_compare pairs.
+ 	(do_jump_by_parts_equality): Likewise.
+ 	(do_jump_by_parts_equality_rtx): Likewise.
+ 	* expr.h (do_compare_rtx_and_jump): Declare.
+ 	* optabs.c (prepare_cmp_insn): New function, contains most of the code
+ 	that used to be in emit_cmp_insn.
+ 	(cmp_available_p): New function.
+ 	(prepare_operand): New function.
+ 	(emit_cmp_and_jump_insn_1): New function, contains some code that used
+ 	to be in emit_cmp_insn.
+ 	(prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
+ 	parameters to be pointers; don't emit final compare but modify some of
+ 	the values pointed to by the args so the caller can perform the
+ 	correct comparison.
+ 	(expand_binop): Call emit_store_flag_force with signed forms of
+ 	comparison code.
+ 	(expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
+ 	emit_jump_insn pair.
+ 	(emit_cmp_and_jump_insn): Use prepare_cmp_insn and
+ 	emit_cmp_and_jump_insn_1.  Call emit_queue.
+ 	(emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
+ 	arg.
+ 	* flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
+ 	jump sets cc0 before deleting it.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* unroll.c (unroll_loop): Similar changes in several places.
+ 	(copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
+ 	before deleting it.
+ 
+ Wed Aug 18 06:37:44 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* Makefile.in (insn-recog.o): Update dependencies.
+ 	* genrecog.c (main): Make generated file include "function.h".
+ 
+ Sat Aug 14 00:54:57 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Call never_reached_warning when a jump is
+ 	changed to be unconditional.
+ 	* flags.h: Declare warn_notreached.
+ 	* flow.c (delete_block): Call never_reached_warning when
+ 	a block is deleted.
+ 	* jump.c (delete_barrier_successors): Call never_reached_warning
+ 	when we delete everything after a BARRIER.
+ 	(never_reached_warning): New function.
+ 	* rtl.h: Declare never_reached_warning.
+ 	* toplev.c (warn_notreached): New variable.
+ 	(lang_independent_options): Set warn_notreached
+ 	when -Wunreachable-code.
+ 	(compile_file): We need line numbers for -Wunreachable-code.
+ 
+ Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* haifa-sched.c (insn_unit): Fix typo on out of range test.
+ 	* sched.c (insn_unit): Likewise.
+ 
+ Tue Aug 17 21:57:23 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* combine.c (distribute_notes): Handle REG_EH_RETHROW.
+ 
+ Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* flow.c (create_edge_list): Use xmalloc, not malloc.
+ 
+ Tue Aug 17 01:40:54 1999  Loren Rittle  <ljrittle@acm.org>
+ 
+ 	* fixinc/inclhack.def (no_double_slash): Do not trash single-line
+ 	C-style comments.  Do not lose the character before double slash.
+ 
+ Mon Aug 16 18:08:22 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* basic-block.h (struct edge_list): Stucture to maintain a vector
+ 	of edges.
+ 	(EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
+ 	 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
+ 	(create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
+ 	New function prototypes.
+ 	* flow.c (create_edge_list): Function to create an edge list.
+ 	(free_edge_list): Discards memory used by an edge list.
+ 	(print_edge_list): Debug output showing an edge list.
+ 	(verify_edge_list): Internal consistency check for an edge list.
+ 	(find_edge_index): Function to find an edge index for a pred and succ.
+ 
+ Mon Aug 16 11:56:36 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (type_hash_add): Use permalloc to allocate nodes in the
+ 	hashtable.
+ 
+ Mon Aug 16 17:04:15 1999  Jorn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
+ 
+ Fri Aug 13 15:20:43 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 
+ Fri Aug 13 10:21:28 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Allow machine dependent
+ 	reorganization pass to place information into the RTL dump
+ 	file if it so wishes.
+ 
+ Sun Aug 15 12:41:21 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* explow.c (hard_function_value): Use VOIDmode instead of
+ 	MAX_MACHINE_MODE.
+ 	* stmt.c (expand_return): Likewise.
+ 	* stor-layout.c (get_best_mode): Likewise.
+ 
+ 	* genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
+ 	emit call instead of emit_insn call.
+ 
+ Sat Aug 14 15:04:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* configure.in: Handle --disable/enable-win32-registry.
+ 	* install.texi: Document --disable/enable-win32-registry.
+ 	* acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
+ 	(WIN32_REGISTRY_KEY): New macro.
+ 	* prefix.c: Use to enable/disable win32-specific code.
+ 	(lookup_key): Use versioned key.
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 
+ Fri Aug 13 17:41:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* cpplib.c (read_line_number): New fn, split out of...
+ 	(do_line): Here.
+ 
+ Fri Aug 13 14:18:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	tree.c (lang_unsave_expr_now) : New.
+ 	(unsave_expr_now): Call lang_unsave_expr_now.
+ 	tree.h (lang_unsave_expr_now) : New.
+ 
+ Fri Aug 13 00:49:46 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (flag_new_exceptions): On by default.
+ 
+ 1999-08-13  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
+ 
+ Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* dwarfout.c (fundamental_type_code): Return FT_boolean for
+ 	INTEGER_TYPE with precision==1, it's __java_boolean.
+ 
+ Thu Aug 12 23:51:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* global.c (prune_preferences): Move some invariants out of the
+ 	inner loop.
+ 
+ Thu Aug 12 15:30:29 1999  Jesse Perry  (jap@unx.dec.com)
+ 
+ 	* configure.in (alpha*-dec-osf*): Add osf5.
+ 
+ Sun Aug  1 22:24:03 1999  Philip Blundell  <philb@gnu.org>
+ 
+ 	* configure.in: Rework handling of ARM GNU/Linux slightly.
+ 	(arm*-*-linux-gnuoldld): New target.
+ 	* configure: Regenerate.
+ 	* install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
+ 	arm-*-elf.  Mention that arm-*-linux-gnuaout is obsolete.
+ 	* config/arm/linux-oldld.h: New file.
+ 	* config/arm/linux-elf26.h: Don't include linux-elf.h.
+ 	(TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
+ 	Don't define.
+ 	* config/arm/linux-elf.h (ASM_SPEC): Define.
+ 	(TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
+ 	SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
+ 	for 26-bit APCS and old linker.
+ 	(CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
+ 	`arm_elf'.
+ 	(FP_DEFAULT): Define to FP_SOFT3 for all machines.
+ 	* config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
+ 	don't define `arm' or `arm_elf'.
+ 	* config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
+ 	MULTILIB_DIRNAMES): Define.  Fix typo in comment.
+ 
+ Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* rtl.texi: Fix typo.
+ 
+ Wed Aug 11 23:50:57 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* invoke.texi (C++ Dialect Options): Add -fms-extensions.
+ 
+ Wed Aug 11 12:59:37 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* extend.texi (C++ Signatures): Remove node.
+ 	* invoke.texi: Remove discussion of -fhandle-signatures,
+ 	signature, sigof, __signature__, and __sigof__.
+ 
+ Wed Aug 11 03:38:25 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (JAVAGC): Removed.
+ 
+ Wed Aug 11 02:13:26 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+ 
+ 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+ 
+ 1999-08-11  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
+ 	a register that is already known to be a pointer.
+ 
+ 1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/inclhack.tpl: Only install assert.h conditionally.
+ 	* fixinc/inclhack.sh: Regenerated.
+ 	* fixinc/fixincl.sh: Regenerated.
+ 
+ Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
+ 
+ 	* invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
+ 	Fix documentation of -ansi flag to describe its C++ behavior.
+ 	Remove bogus reference to GCC 2.9.
+ 
+ Tue Aug 10 17:19:02 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
+ 	note if it is non-NULL.
+ 
+ Tue Aug 10 10:47:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* except.h (eh_nesting_info): Add new structure definition.
+ 	(init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
+ 	(reachable_handlers, update_rethrow_references): Add function
+ 	prototypes.
+ 	* rtl.h (struct rtvec_def): Update comments.  REG_EH_RETHROW takes
+ 	a rethrow symbol instead of an integer exception region number.
+ 	* flow.c (Make_edges): Use new exception nesting routines to determine
+ 	which handlers are reachable from a CALL or asynchronous insn.
+ 	Don't add an edge for calls with a REG_EH_REGION of -1 to non-local
+ 	goto receivers.
+ 	(delete_eh_regions): Update rethrow labels, and don't delete
+ 	regions which are the target of a rethrow.
+ 	* except.c (struct func_eh_entry): Add rethrow_ref field, now we can
+ 	avoid overloading the SYMBOL_REF_USED flag.
+ 	(rethrow_symbol_map): Use new rethrow_ref field.
+ 	(rethrow_used): Use new rethrow_ref field.
+ 	(expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
+ 	of an integer.  Fix formatting.
+ 	(output_exception_table_entry): Use new rethrow_ref field.
+ 	(can_throw): Check for EH_REGION_NOTE before deciding
+ 	whether a CALL can throw or not.
+ 	(scan_region): Call rethrow_used() instead of accessing data structure.
+ 	(update_rethrow_references): New function to make sure only regions
+ 	which are still targets of a rethrow are flagged as such.
+ 	(process_nestinfo): New static function to initialize a handler
+ 	list for a specific region.
+ 	(init_eh_nesting_info): New function to allocate and initialize
+ 	the list of all EH handlers reachable from all regions.
+ 	(reachable_handlers): New function to retrieve the list of handlers
+ 	reachable from a specific region and insn.
+ 	(free_eh_nesting_info): New function to dispose of a list of
+ 	reachable handlers.
+ 
+ Tue Aug 10 10:39:31 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* flow.c (split_edge): Set JUMP_LABEL field.
+ 	(commit_one_edge_insertion): Set head correctly for insert_before.
+ 	When inserting insns, update insn block numbers if allocated.
+ 
+ Tue Aug 10 09:26:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
+ 	retry_incomplete_types): Add static prototype.
+ 	(stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
+ 	dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
+ 	dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
+ 	dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
+ 	dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
+ 	Constify a char*.
+ 
+ 	* dwarf2out.h (dwarf2out_define, dwarf2out_undef,
+ 	dwarf2out_start_source_file, dwarf2out_line): Likewise.
+ 
+ Tue Aug 10 09:21:46 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (assemble_name): Constify a char*.
+ 
+ 	* varasm.c (UNIQUE_SECTION, assemble_start_function,
+ 	assemble_variable, assemble_name): Likewise.
+ 
+ 	* dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
+ 
+ 	* arm/pe.c (arm_pe_unique_section): Likewise.
+ 
+ 	* i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
+ 
+ 	* i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
+ 
+ 	* i386/interix.c (i386_pe_unique_section): Likewise.
+ 
+ 	* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
+ 
+ 	* i386/winnt.c (i386_pe_unique_section): Likewise.
+ 
+ 	* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
+ 
+ 	* mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
+ 
+ 	* mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
+ 
+ 	* pa/pa.c (output_call): Likewise.
+ 
+ 	* pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ 	* pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
+ 
+ 	* rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
+ 	Likewise.
+ 
+ 	* rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
+ 	Likewise.
+ 
+ 	* rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 
+ 	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
+ 	STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
+ 
+ 	* v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
+ 
+ Mon Aug  9 19:54:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
+ 
+ Mon Aug  9 19:36:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.h (lang_identify): Constify a char*.
+ 	(print_error_function): Add extern prototype.  Constify a char*.
+ 
+ 	* c-lang.c (lang_identify): Constify a char*.
+ 
+ 	* objc/objc-act.c (lang_identify): Constify a char*.
+ 
+ Mon Aug  9 16:21:53 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* genpeep.c (main): Make generated file include "function.h".
+ 	* arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
+ 
+ Mon Aug  9 10:08:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* Makefile.in: Update dependencies.
+ 	* alias.c: Include "function.h"
+ 	* c-decl.c: Likewise.
+ 	* caller-save.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* cse.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* final.c: Likewise.
+ 	* global.c: Likewise.
+ 	* graph.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* sched.c: Likewise.
+ 	* stupid.c: Likewise.
+ 	* config/1750a/1750a.c: Likewise.
+ 	* config/a29k/a29k.c: Likewise.
+ 	* config/arc/arc.c: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/thumb.c: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/clipper/clipper.c: Likewise.
+ 	* config/convex/convex.c: Likewise.
+ 	* config/fx80/fx80.c: Likewise.
+ 	* config/i860/i860.c: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/m88k/m88k.c: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/pdp11/pdp11.c: Likewise.
+ 	* config/pyr/pyr.c: Likewise.
+ 	* config/romp/romp.c: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/tahoe/tahoe.c: Likewise.
+ 	* config/vax/vax.c: Likewise.
+ 	* config/we32k/we32k.c: Likewise.
+ 	* config/sparc/sparc.c: Include "function.h".
+ 	(mem_min_alignment): Test current_function rather than
+ 	regno_pointer_align.
+ 	* config/pa/pa.c: Likewise.
+ 	(compute_frame_size): Delete declaration of
+ 	current_function_outgoing_args_size.
+ 	* config/arc/arc.h (current_function_varargs): Delete declaration.
+ 	* config/elxsi/elxsi.h (current_function_calls_alloca): Delete
+ 	declaration.
+ 	* config/i370/i370.h (current_function_outgoing_args_size): Delete
+ 	declaration.
+ 	* config/i386/i386.h (FINALIZE_PIC): Delete declaration of
+ 	current_function_uses_pic_offset_table.
+ 	* config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
+ 	of current_function_returns_pointer.
+ 	* config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
+ 	* config/m88k/m88k.c: Include "function.h"
+ 	(call_used_regs, current_function_pretend_args_size,
+ 	current_function_outgoing_args_size, frame_pointer_needed): Delete
+ 	declarations.
+ 	* config/m88k/m88k.h (current_function_pretend_args_size): Delete
+ 	declaration.
+ 	* config/mips/mips.h (current_function_calls_alloca): Delete
+ 	declaration.
+ 	* config/mn10200/mn10200.h (current_function_needs_context,
+ 	rtx_equal_function_value_matters): Delete declarations.
+ 	* config/ns32k/ns32k (current_function_uses_pic_offset_table,
+ 	flag_pic): Delete declarations.
+ 	* config/pa/pa.h (current_function_pretend_args_size,
+ 	current_function_decl): Delete declarations.
+ 	* config/pa/som.h (current_function_varargs): Delete declaration.
+ 	* config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
+ 	declaration.
+ 	* config/pyr/pyr.h (current_function_pretend_args_size,
+ 	current_function_args_size, current_function_calls_alloca): Delete
+ 	declarations.
+ 	* config/sh/sh.h (current_function_varargs): Delete declaration.
+ 	* config/sparc/sparc.h (current_function_outgoing_args_size,
+ 	current_function_calls_alloca, current_function_decl): Delete
+ 	declarations.
+ 	* config/spur/spur.h (current_function_pretend_args_size,
+ 	current_function_calls_alloca): Delete declarations.
+ 	* config/v850/v850.c (current_function_outgoing_args_size): Delete
+ 	declaration.
+ 	* config/vax/vms.h (current_function_name): Delete declaration.
+ 	* gcse.c: Include "function.h".
+ 	(current_function_name, current_function_calls_setjmp): Delete
+ 	declarations.
+ 	* haifa-sched.c: Include "function.h".
+ 	(forced_labels): Delete declaration.
+ 	* jump.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* genemit.c (main): Make generated file include function.h.
+ 	* genoutput.c (output_prologue): Likewise.
+ 
+ 	* builtins.c (saveregs_value, apply_args_value): Delete variables.
+ 	* emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
+ 	sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
+ 	regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
+ 	regno_reg_rtx, sequence_stack): Delete variables.  Add accessor
+ 	macros for some of them.
+ 	(emit_filename, emit_lineno): Delete declarations.
+ 	(gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy.  Access
+ 	regno_pointer_* variables through current_function.
+ 	(gen_inline_header_rtx): Delete function.
+ 	(save_emit_status): Delete function.
+ 	(set_new_last_label_num): New function.
+ 	(clear_emit_caches): New function.
+ 	(restore_emit_status): Just clear last_labelnum and call
+ 	clear_emit_caches.
+ 	(get_last_insn_anywhere): Variable sequence_stack is now accessed
+ 	through macro seq_stack.
+ 	(add_insn_after): Likewise.
+ 	(add_insn_before): Likewise.
+ 	(remove_insn): Likewise.
+ 	(pop_topmost_sequence): Likewise.
+ 	(in_sequence_p): Likewise.
+ 	(start_sequence_for_rtl_expr): Likewise.
+ 	(start_sequence): Likewise, and likewise for
+ 	sequence_rtl_expr/seq_rtl_expr.
+ 	(push_topmost_sequence): Likewise.
+ 	(end_sequence): Likewise.
+ 	(init_virtual_regs): Now takes a "struct emit_status *" argument.
+ 	All callers changed.  Store into that pointer instead of globals.
+ 	(init_emit): Allocate emit elt of current_function.
+ 	Changes for sequence_rtl_expr/sequence_stack renaming.
+ 	Call clear_emit_caches instead of doing it in-line.
+ 	Access regno_pointer_* variables through current_function.
+ 	(init_emit_once) Don't clear sequence_stack.
+ 
+ 	* expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
+ 	Delete variables.
+ 	(arg_pointer_save_area): Delete declaration.
+ 	(finish_expr_for_function): Renamed from init_queue; no longer static.
+ 	(init_expr): Don't call init_queue.
+ 	(save_expr_status, restore_expr_status): Delete functions.
+ 	(expand_expr): Changes to reflect new layout of struct function.
+ 	Don't access current_function_check_memory_usage when current_function
+ 	is 0.
+ 	* expr.h (forced_labels, save_expr_regs, saveregs_value,
+ 	apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
+ 	current_function_outgoing_args_size, current_function_arg_offset_rtx,
+ 	current_function_uses_const_pool, function_call_count,
+ 	current_function_uses_pic_offset_table, nonlocal_labels,
+ 	current_function_internal_arg_pointer, nonlocal_goto_stack_level,
+ 	current_function_check_memory_usage, nonlocal_goto_handler_slots,
+ 	pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
+ 	declarations.
+ 	(finish_expr_for_function): Declare.
+ 	* flags.h (current_function_has_nonlocal_label,
+ 	current_function_has_nonlocal_goto, current_function_is_thunk,
+ 	current_function_has_computed_jump): Delete declarations.
+ 	* flow.c (forced_labels): Delete declaration.
+ 	* function.c (current_function_pops_args,
+ 	current_function_returns_struct, current_function_returns_pcc_struct,
+ 	current_function_needs_context, current_function_calls_setjmp,
+ 	current_function_calls_longjmp, current_function_has_nonlocal_label,
+ 	current_function_has_nonlocal_goto, current_function_is_thunk,
+ 	current_function_has_computed_jump, current_function_calls_alloca,
+ 	current_function_contains_functions, current_function_returns_pointer,
+ 	current_function_epilogue_delay_list, current_function_args_size,
+ 	current_function_pretend_args_size, current_function_arg_offset_rtx,
+ 	current_function_outgoing_args_size, current_function_varargs,
+ 	current_function_stdarg, current_function_args_info, cleanup_label,
+ 	current_function_name, current_function_uses_const_pool,
+ 	current_function_instrument_entry_exit, current_function_return_rtx,
+ 	current_function_uses_pic_offset_table, nonlocal_labels,
+ 	current_function_internal_arg_pointer, current_function_cannot_inline,
+ 	current_function_check_memory_usage, function_call_count,
+ 	nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
+ 	nonlocal_goto_stack_level, return_label, save_expr_regs,
+ 	stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
+ 	tail_recursion_reentry, arg_pointer_save_area, frame_offset,
+ 	context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
+ 	last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
+ 	temp_slot_level, var_temp_slot_level, target_temp_slot_level):
+ 	Delete variables.
+ 	(push_function_context_to): Don't save them.  Don't call
+ 	save_storage_status, save_emit_status or save_expr_status.
+ 	(pop_function_context_from): Don't restore them.  Don't call
+ 	restore_storage_status or restore_expr_status.
+ 	(get_func_frame_size): New function.
+ 	(get_frame_size): Use it.
+ 	(assign_outer_stack_local): Reflect some member name changes in struct
+ 	function.
+ 	(put_reg_into_stack): Likewise.
+ 	(assign_stack_temp_for_type): sequence_rtl_expr was renamed to
+ 	seq_rtl_expr.
+ 	(fixup_var_refs): Likewise.
+ 	(fix_lexical_addr): Likewise.
+ 	(trampoline_address): Likewise.
+ 	(prepare_function_start): Clear field inlinable of current_function.
+ 	(init_function_for_compilation): New function.
+ 	(expand_dummy_function_end): New function.
+ 	(expand_function_end): Call finish_expr_for_function.
+ 	* function.h (struct emit_status): New; fields moved here from struct
+ 	function and from global variables.  Add accessor macros for some of
+ 	the fields.
+ 	(struct expr_status): Likewise.
+ 	(REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
+ 	(struct function): Add fields expr and emit, inlinable, inl_emit,
+ 	original_arg_vector, original_decl_initial, inl_last_parm_insn,
+ 	inl_max_label_num.  Add many comments.
+ 	Add accessor macros for all elts of struct function that no longer
+ 	have a global variable.
+ 	(cleanup_label, return_label, frame_offset, tail_recursion_label,
+ 	tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
+ 	stack_slot_list): Delete declarations.
+ 	(get_func_frame_size): Declare.
+ 	(save_expr_status, restore_expr_status, save_emit_status,
+ 	save_storage_status, restore_storage_status): Delete declarations.
+ 	(init_virtual_regs): Declare.
+ 	* output.h (current_function_pops_args,
+ 	current_function_returns_struct, current_function_returns_pcc_struct,
+ 	current_function_needs_context, current_function_calls_setjmp,
+ 	current_function_calls_longjmp, current_function_calls_alloca,
+ 	current_function_has_nonlocal_label, current_function_varargs,
+ 	current_function_has_computed_jump, current_function_returns_pointer,
+ 	current_function_contains_functions, current_function_args_size,
+ 	current_function_pretend_args_size, current_function_stdarg,
+ 	current_function_outgoing_args_size, current_function_args_info,
+ 	current_function_name, current_function_return_rtx,
+ 	current_function_epilogue_delay_list,
+ 	current_function_uses_const_pool, current_function_cannot_inline):
+ 	Delete declarations.
+ 	* regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
+ 	regno_reg_rtx): Delete declaration.
+ 	(REGNO_POINTER_FLAG): Delete macro.
+ 	* stmt.c (expand_goto): Changes to reflect that some fields in struct
+ 	function were renamed.
+ 	* stor-layout.c (save_storage_status, restore_storage_status): Delete
+ 	functions.
+ 	* toplev.c: Include "function.h".
+ 	(current_function_decl): Delete declaration.
+ 	(compile_file): Call init_dummy_function_start and
+ 	expand_dummy_function_end around some initializations that need to
+ 	emit rtl.
+ 	(rest_of_compilation): Use DECL_SAVED_INSNS properly.
+ 	Call init_function_for_compilation.
+ 	* unroll.c: Include "function.h"
+ 	(unroll_loop): Access regno_pointer_* variables through
+ 	current_function.
+ 
+ 	* tree.h (struct tree_decl): Add elt f to saved_insns member.
+ 	(DECL_SAVED_INSNS): use it.
+ 	(expand_dummy_function_end): Declare.
+ 	(init_function_for_compilation): Declare.
+ 	* calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
+ 	that it's no longer an INLINE_HEADER.
+ 	(expand_call): Likewise.
+ 	* integrate.c (finish_inline): Delete function.
+ 	(max_parm_reg, parm_reg_stack_loc): Delete declarations.
+ 	(initialize_for_inline): Delete min_labelno, max_labelno and max_reg
+ 	args.  Don't generate an INLINE_HEADER rtx, just return the arg
+ 	vector.  All callers changed.
+ 	(save_for_inline_copying):  Create a duplicate struct emit_status to
+ 	hold the emit state for compiling the current function.  Use this and
+ 	the other new fields in struct function that are for integration
+ 	instead of an INLINE_HEADER.
+ 	Use memcpy instead of bcopy.
+ 	Store the current struct function in DECL_SAVED_INSNS of fndecl.
+ 	(save_for_inline_nocopy): Similar changes, except no new emit_status
+ 	is needed here.
+ 	(expand_inline_function): Get information from function structure,
+ 	not from an inline header rtx.
+ 	(output_inline_function): Lose code to extract the necessary
+ 	information from an inline header; simply put back the function
+ 	structure into current_function.  Clear its inlinable elt.
+ 	* rtl.def (INLINE_HEADER): Delete.
+ 	* rtl.h: Delete all accessors for an INLINE_HEADER.
+ 	(gen_inline_header_rtx): Delete declaration.
+ 	(regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
+ 	Delete declarations.
+ 	(REGNO_POINTER_ALIGN): Delete.
+ 	(clear_emit_caches): Declare.
+ 	(set_new_last_label_num): Declare.
+ 
+ Mon Aug  9 01:52:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* print-tree.c (print_node): Print base for OFFSET_TYPEs.
+ 
+ 	* except.c (expand_eh_region_start_for_decl): Always start a new block.
+ 	* stmt.c (is_eh_region): Make sure current_function is present, too.
+ 
+ Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
+ 	for 64bit PA targets.
+ 
+ 	* pa.h (SELECT_SECTION): Define.
+ 	* som.h (SELECT_SECTION): Delete.
+ 
+ Sun Aug  8 15:13:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alias.c (init_alias_analysis): Wrap call to
+ 	`prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
+ 
+ 1999-08-07  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/inclhack.def(irix_asm_apostrophe):  IRIX 5.2's
+ 	<sys/asm.h> contains an asm comment with an apostrophe
+ 	* fixinc/inclhack.sh:  regen
+ 	* fixinc/fixincl.x:  regen
+ 
+ Sat Aug  7 19:37:07 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (init_function_start): Clear prologue & epilogue.
+ 	(prologue_epilogue_contains): New function.
+ 	* alias.c (init_alias_analysis): Use it.
+ 	* rtl.h (prologue_epilogue_contains): Declare it.
+ 
+ Sat Aug  7 19:32:16 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (onlyjump_p): New function.
+ 	* rtl.h: Declare it.
+ 	* flow.c (delete_unreachable_blocks): Use onlyjump_p instead
+ 	of condjump_p in calling tidy_fallthru_edge and merge_blocks.
+ 
+ Sat Aug  7 17:09:36 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
+ 	to invert loops.  Simplify block scanning.
+ 
+ Sat Aug  7 02:11:13 1999  Bernd Schmidt <bernds@cygnus.co.uk>
+ 
+ 	* gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
+ 	(cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
+ 
+ 1999-08-07  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* config/sparc/liteelf.h: New file to support sparclite-elf target
+ 	* config/sparc/t-sp86x: New file to support sparc86x targets
+ 	* config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
+ 	* config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
+ 	* configure.in: Support above target triplets
+ 	* configure: Regenerated
+ 
+ Sat Aug  7 01:39:27 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* fixinc/server.c (server_setup): Do not prefix function used as
+ 	parameter with `&'.
+ 
+ Sat Aug  7 00:21:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
+ 	Remove fp reg alternatives.
+ 
+ Sat Aug  7 00:06:54 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefiin (TAROUTOPTS): Kill.
+ 	(install-headers-tar): Use "xpf" for tar headerfile extraction
+ 	* i370/x-oe (TAROUTOPTS): Delete.
+ 	* m68k/x-apollo68 (TAROUTOPTS): Delete.
+ 	* m68k/x-hp320 (TAROUTOPTS): Delete.
+ 	* m68k/x-hp320g (TAROUTOPTS): Delete.
+ 	* gcc.texi: Update bug reporting text.
+ 
+ 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reg-stack.c (change_stack) Fixed problem with negative array index.
+ 
+ Fri Aug  6 23:08:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* extend.texi, install.texi: Fix spelling mistakes.
+ 
+ 	* Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
+ 	(s-attrtab); No longer try to use pre-made insn-attrtab file.
+ 	* mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
+ 	PREMADE_ATTRTAB_MD.
+ 	* mips/t-ecoff: Likewise.
+ 	* mips/t-elf: Likewise.
+ 	* mips/t-mips: Likewise.
+ 	* mips/t-osfrose: Likewise.
+ 	* mips/t-r3900: Likewise.
+ 	* mips/t-svr3: Likewise.
+ 	* mips/t-svr4: Likewise.
+ 	* mips/t-ultrix: Likewise.
+ 
+ 	* gcc.texi: Document recommend means to provide software floating
+ 	point libraries in libgcc.a
+ 
+ 1999-08-06  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-lex.c (yylex): We can have a number with no digits.
+ 
+ Fri Aug  6 16:53:55 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* jump.c (delete_prior_computation): New function, broken
+ 	out of delete_computation.  Check for side effects with
+ 	side_effects_p instead of FIND_REG_INC_NOTE.  Handle
+ 	multi-word hard registers.
+ 	(delete_computation): Use it.  Check for side effects with
+ 	side_effects_p instead of FIND_REG_INC_NOTE.  Synthesize a
+ 	missing REG_DEAD note for a register which is both set and
+ 	used by an insn.
+ 
+ Fri Aug  6 11:05:29 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
+ 	(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
+ 	(ASM_FILE_START): Import _mcount with the right type.
+ 	(ASM_DECLARE_FUNCTION_NAME): Define.
+ 	(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
+ 	* pa.c (output_function_prologue): Always emit the function's label
+ 	here.
+ 	* pa.h (TEXT_SPACE_P): Define.
+ 	(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
+ 	(ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
+ 	* som.h (TEXT_SPACE_P): Delete.
+ 	(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
+ 	(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
+ 
+ Thu Aug  5 19:29:39 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (emit_group_load): Allow src to be a CONCAT.
+ 
+ Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
+ 	(___mulsi3): Use '!' comment character.
+ 
+ Thu Aug  5 13:34:14 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
+ 
+ Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcc.c: Update URLs and mail addresses.
+ 	* gcc.texi: Likewise.
+ 
+ Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
+ 
+ 	* rs6000.c (current_file_function_operand): Return zero for
+ 	weak functions.
+ 	(rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
+ 	weak symbols.
+ 	* rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
+ 	for weak symbols.
+ 
+ Thu Aug  5 00:56:30 1999  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
+ 	allocate space in the stack frame for the PIC register.
+ 
+ Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (xordi3, anddi3): These patterns are not available on
+ 	the coldfire.
+ 
+ Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
+ 	(PUT_REAL): Likewise.
+ 
+ Wed Aug  4 20:45:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Don't add an alignment for loops
+ 	that have no label inside.
+ 
+ Wed Aug  4 16:39:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
+ 	prototypes in macro HAVE_cmpstrsi.
+ 
+ 	* cpplib.c (cpp_get_token): Remove unused label `op3'.
+ 
+ 	* emit-rtl.c (operand_subword): Remove unused variable
+ 	`bits_per_word'.
+ 
+ 	* rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
+ 
+ 	* tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
+ 
+ Wed Aug  4 13:29:23 1999  Zack Weinberg  <zack@bitmover.com>
+ 
+ 	* cpphash.c (macroexpand): Delete leading whitespace when arg
+ 	is concatenated before.
+ 	(unsafe_chars): Correct test for whether + and - can extend a
+ 	token.
+ 
+ 	* cppinit.c (cpp_start_read): Do dependencies for
+ 	-include/-imacros files also.
+ 
+ 	* cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
+ 	tokenizing non-directive lines.
+ 	(cpp_expand_to_buffer): Temporarily disable no-output mode.
+ 	* cppmain.c: In no-output mode, just call cpp_scan_buffer for
+ 	the input file.
+ 
+ Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
+ 
+ 	* c-lex.c: Sync with C++ frontend.
+ 	(linemode): New variable.
+ 	(parse_float): imag, conversion_errno, and type are output only.
+ 	(yylex): Adjust.  Move initial '.' case into main switch.
+ 	Use linemode.
+ 	(handle_generic_pragma): Just deal with tokens.
+ 	(readescape): Use ISXDIGIT and ISGRAPH.
+ 	* c-parse.in: Add END_OF_LINE token.
+ 
+ 	* c-lex.c (lang_init): Generalize.
+ 	(nextchar): Remove.  Replace uses with UNGETC.
+ 	(skip_white_space): Handle linemode here.  Optimize for cpplib.
+ 	(skip_white_space_on_line): Remove.
+ 	(extend_token_buffer_to): New fn.
+ 	(extend_token_buffer): Use it.
+ 	(read_line_number, check_newline): Just deal with tokens.
+ 	(token_getch, token_put_back): New fns.
+ 	(yylex): Use them.  More cpplib optimizations.  Simplify.
+ 
+ Wed Aug  4 12:53:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+ 			  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
+ 	(consume_string): Make this smart about USE_CPPLIB.
+ 	(check_newline): Rewrite to be intelligent about USE_CPPLIB.
+ 	(yylex): Rewrite to be intelligent about USE_CPPLIB.
+ 	Also, clean up cases where we redundantly set token_buffer[0].
+ 	(read_line_number): New fn.
+ 	(ignore_escape_flag): New variable.
+ 
+ Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* a29k/t-a29kbare: Fix some comments.
+ 	(LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
+ 	(FPBIT, DPBIT): Define.
+ 	* a29k/t-vx29k: Likewise.
+ 	* arc/t-arc: Likewise.
+ 	* arm/t-arm-elf: Likewise.
+ 	* arm/t-bare: Likewise.
+ 	* arm/t-pe: Likewise.
+ 	* arm/t-pe-thumb: Likewise.
+ 	* arm/t-semi: Likewise.
+ 	* arm/t-thumb: Likewise.
+ 	* arm/t-thumb-elf: Likewise.
+ 	* arm/t-thumb-linux: Likewise.
+ 	* h8300/t-h8300: Likewise.
+ 	* i960/t-i960: Likewise.
+ 	* i960/t-vxworks960: Likewise.
+ 	* m32r/t-m32r: Likewise.
+ 	* mips/t-ecoff: Likewise.
+ 	* mips/t-elf: Likewise.
+ 	* mips/t-r3900: Likewise.
+ 	* pa/t-pro: Likewise.
+ 	* rs6000/t-aix43: Likewise.
+ 	* rs6000/t-beos: Likewise.
+ 	* rs6000/t-newas: Likewise.
+ 	* rs6000/t-ppccomm: Likewise.
+ 	* rs6000/t-rs6000: Likewise.
+ 	* rs6000/t-winnt: Likewise.
+ 	* rs6000/t-xnewas: Likewise.
+ 	* rs6000/t-xrs6000: Likewise.
+ 	* sh/t-sh: Likewise.
+ 	* sparc/t-elf: Likewise.
+ 	* sparc/t-sparcbare: Likewise.
+ 	* sparc/t-sparclite: Likewise.
+ 	* sparc/t-splet: Likewise.
+ 	* v850/t-v850: Likewise.
+ 	* mn10200/t-mn10200: Fix comments.
+ 	* mn10300/t-mn10300: Likewise.
+ 
+ 	* pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
+ 	dummy operand.  Allocate a new pseudo for the dummy operand.
+ 	(divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
+ 
+ 	* pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
+ 
+ Wed Aug  4 11:53:55 1999  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* configure: Rebuilt.
+ 	* configure.in: Removed --enable-java-gc option and JAVAGC subst.
+ 
+ Wed Aug  4 09:06:14 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* recog.c (preproces_constraints): Zero recog_op_alt before
+ 	processing the constraints.
+ 
+ 	* arm.c (typedef minipool_node): Renamed from pool_node.
+ 	(minipool_vector, minipool_size, minipool_vector_label): Similarly.
+ 	(add_minipool_constant): New function.
+ 	(dump_minipool): New function.
+ 	(find_barrier): Remove special case for getting the insn size of
+ 	an insn that references the constant pool.
+ 	(minipool_fixup): New structure.
+ 	(push_minipool_barrier): New function.
+ 	(push_minipool_fix): New function.
+ 	(note_invalid_constants): New function.
+ 	(add_pool_constant, dump_table, fixit, broken_move): Delete.
+ 	(arm_reorg): Rewrite code to fix up the constant pool into a
+ 	series of mini-pools embedded in the insn stream.
+ 	(arm_output_epilogue): New function, made mainly from the body
+ 	of output_func_epilogue.
+ 	(output_func_epilogue): Move insn generation part of epilogue code
+ 	to arm_output_epilogue.
+ 	* arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
+ 	* arm.md (pool_range): New attribute.
+ 	(zero_extendqidi2): Add attribute pool_range.
+ 	(zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
+ 	extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
+ 	pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
+ 	movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
+ 	movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
+ 	(epilogue): New expand.
+ 	(epilogue_insn): New insn.  Call arm_output_epilogue.
+ 
+ 	* arm.c (arm_poke_function_name): Undo change of July 17.  Tidy up.
+ 	* arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
+ 
+ Mon Aug  2 19:18:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 
+ 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* config/i386/djgpp.h  (BSS_SECTION_ASM_OP): Define.
+ 
+ Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
+ 
+ 	* jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
+ 
+ Wed Aug  4 01:48:08 1999  Jim Kingdon  <http://developer.redhat.com>
+ 
+ 	* global.c: Fix comment.
+ 
+ Wed Aug  4 01:43:01 1999  Ian Lance Taylor  <ian@zembu.com>
+ 
+ 	* gcc.c (access_check): New static function.
+ 	(find_a_file): Use it when searching a directory list.
+ 	* collect2.c (find_a_file): Don't accept directories found when
+ 	searching a directory list.
+ 
+ Wed Aug  4 01:40:43 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* tlink.c (symbol_hash_lookup): Do not prefix functions used as
+ 	function parameters with `&'.
+ 	(file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
+ 
+ Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (delete_unreachable_blocks): Do not call merge_blocks
+ 	or tidy_fallthru_edge if the last insn in the block is not
+ 	an unconditional jump or a simple conditional jump.
+ 
+ Tue Aug  3 20:21:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* Makefile.in (c-decl.o): Depends on defaults.h.
+ 
+ Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
+ 	PA1.1 and above.
+ 	(CLASS_MAX_NREGS): Likewise.
+ 
+ Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Fix dumb thinko in last change.
+ 
+ Tue Aug  3 10:36:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
+ 	"const char *".
+ 
+ Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* dwarf2out.c (add_location_or_const_value_attribute): Correct
+ 	test for sizes of passed and declared parameter types.
+ 
+ Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixincludes: Fix the return type of bsearch, char* -> void*.
+ 
+ 	* fixinc/inclhack.def: Likewise.
+ 
+ Mon Aug  2 18:29:32 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (-fdump-translation-unit): New option.
+ 
+ Mon Aug  2 17:54:19 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.h (PROMOTE_PROTOTYPES): Move ...
+ 	* defaults.h: ... to here.
+ 	* c-decl.c: Include defaults.h instead of expr.h.
+ 	* c-typeck.c: Include defaults.h.
+ 
+ Mon Aug  2 17:10:24 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.h (errorcount): Declare.
+ 	(warningcount): Likewise.
+ 	(sorrycount): Likewise.
+ 	* c-lex.c (errorcount): Don't declare.
+ 	* dwarf2out.c (errorcount): Don't declare.
+ 
+ Mon Aug  2 17:02:08 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* config/libgloss.h: Add a note discouraging use with ELF.
+ 	* configure.in: Don't use libgloss.h for ELF targets.
+ 	Always use_collect2 on a.out targets.
+ 
+ Mon Aug  2 16:27:42 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
+ 	(force_to_mode, case ASHIFTRT): Add shiftrt label.
+ 
+ Tue Aug  3 00:45:02 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, update
+ 	reg note of NEXT->insn.
+ 
+ 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
+ 
+ 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* c-decl.c (get_parm_info, store_parm_decls): Change all uses of
+ 	PROMOTE_PROTOTYPES, so that it tests it as a C expression.
+ 	Ensure expr.h is included.
+ 	* c-typecheck.c (convert_arguments): Ditto.
+ 
+ 	* expr.h: Supply default for PROMOTE_PROTOTYPES (0).
+ 
+ 	* config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
+ 	* config/convex/convex.h: Ditto.
+ 	* config/dsp16xx/dsp16xx.h: Ditto.
+ 	* config/fx80/fx80.h: Ditto.
+ 	* config/gmicro/gmicro.h: Ditto.
+ 	* config/i370/i370.h: Ditto.
+ 	* config/i386/i386.h: Ditto.
+ 	* config/m32r/m32r.h: Ditto.
+ 	* config/m68k/m68k.h: Ditto.
+ 	* config/m88k/m88k.h: Ditto.
+ 	* config/mips/mips.h: Ditto.
+ 	* config/pa/pa.h: Ditto.
+ 	* config/pyr/pyr.h: Ditto.
+ 	* config/tahoe/tahoe.h: Ditto.
+ 	* config/we32k/we32k.h: Ditto.
+ 
+ 	* config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
+ 	based on arch size.
+ 
+ 	* config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
+ 
+ 	* config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
+ 	from comment.
+ 
+ 	* tm.texi: Document new usage of PROMOTE_PROTOTYPES.
+ 
+ 1999-08-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
+ 	for the register spill block.
+ 	(m32r_va_arg): New.
+ 	* m32r.h (EXPAND_BUILTIN_VA_ARG): New.
+ 	(EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
+ 
+ 	* m32r.h (INT8_P): Don't short-cut test with (unsigned).
+ 	(INT16_P, CMP_INT16_P, UINT16_P): Likewise.
+ 	(UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
+ 
+ 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
+ 	MAX_WCHAR_TYPE defined in sparc.h.
+ 	* config/sparc/linuxaout.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 	Also default to -mvis if CPU is UltraSPARC.
+ 
+ 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
+ 	(RTX_OK_FOR_OLO10): Likewise.
+ 	(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
+ 	%lo(), allow it in addresses...
+ 	(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
+ 	* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
+ 	does not make sense.
+ 	* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
+ 	(sparc_output_scratch_registers): New function.
+ 	(output_function_prologue, sparc_flat_output_function_prologue): Use
+ 	it.
+ 	* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
+ 	defined.
+ 	* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
+ 	* configure.in: Add check for .register pseudo-op support in as and
+ 	check for offsetable %lo().
+ 	* acconfig.h: Add templates for the above checks.
+ 	* configure: Regenerate.
+ 
+ 1999-08-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
+ 	* sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
+ 	* sparc/sol2.h (TARGET_DEFAULT): Likewise.
+ 
+ Mon Aug  2 23:46:45 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
+ 	reg_biv_class.
+ 
+ 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* config/float-sparc.h: New file.
+ 	* configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
+ 	sparc-*-linux-gnu and sparc64-*-linux*.
+ 
+ 1999-08-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.c (rs6000_va_list): Type is an array.
+ 	(rs6000_va_start): Don't doubly adjust for varargs.
+ 	(rs6000_va_arg): Evaluate long long GPR adjustment.
+ 
+ Mon Aug  2 16:15:57 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
+ 	-maix64 and -maix32.
+ 	(ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
+ 	LINK_SPEC): Change appropriately.
+ 	* rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
+ 	(u_short_cint_operand): Likewise.
+ 	* rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
+ 	for 64-bit hosts.
+ 	* rs6000/t-aix43 (MULTILIB): Change to -m64.
+ 
+ 	* invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
+ 
+ Mon Aug  2 16:15:57 1999  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000/rs6000.c (num_insns_constant_wide): Correct
+ 	for type promotion.
+ 	(add_operand): Get test correct for 64-bit HOST_WIDE_INT.
+ 	(non_add_cint_operand): Likewise.
+ 	(logical_operand): Likewise.
+ 	(non_logical_cint_operand): Likewise.
+ 	(print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
+ 	(print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
+ 	(rs6000_select_rtx_section): Suppress warning.
+ 	(small_data_operand): Suppress warning.
+ 	(rs6000_got_register): Suppress warning.
+ 	* rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
+ 	type, so `J' is generally the wrong constraint for a SImode value;
+ 	use `L' instead.
+ 	(andsi3_internal2): Likewise.
+ 	(andsi3_internal3): Likewise.
+ 	(iorsi3_internal1): Likewise.
+ 	(xorsi3_internal1): Likewise.
+ 	(movsi): Likewise.
+ 	(movsf_softfloat): Likewise.
+ 	(scc insns): Likewise.
+ 	(movsi+2): Preserve sign bits of SImode constant.
+ 	(floatsidf2_internal+1): Sign-extend SImode constant correctly.
+ 	(movdf+1): Sign-extend properly.
+ 	(movdi_32+1): Sign-extend properly.
+ 	(scc insns): Sign-extend properly.
+ 
+ 	* md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
+ 	K, L, and T.
+ 
+ 1999-08-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (override_options): Move ev6 alpha_tp frobbing out of
+ 	-mcpu parsing code.
+ 	(print_operand): Notice alpha_fptm not alpha_tp for sw completion.
+ 	* alpha.md (all fp insns): Likewise.
+ 
+ 1999-08-02  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
+ 	already defined.
+ 
+ Mon Aug  2 03:38:33 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (legitimize_pic_address): Clarify comments.  Do not call the
+ 	pic_load_label generator directly.
+ 	* pa.md (pic_load_label): Clarify comments.  Remove modes on operands.
+ 	No longer a named pattern.
+ 
+ Mon Aug  2 09:38:10 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* explow.c (force_reg): Call force_operand if X does not
+ 	satisfy general_operand.
+ 
+ Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fix-header.c (main): When testing for CONTINUED, use string
+ 	equality, not pointer equality.
+ 
+ Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
+ 
+ Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Fix loop which deletes insns after a jump
+ 	that has become an unconditional jump.
+ 
+ 	* m68k.c (output_function_prologue): Fix typo in CPU32 case.
+ 	(output_function_epilogue): Similarly.
+ 
+ Sun Aug  1 20:14:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.h (init_dummy_function_start): Declare.
+ 
+ Sun Aug  1 12:55:31 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
+ 	last_expr_type, last_expr_value, block_start_count, block_stack,
+ 	stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
+ 	nesting_depth, goto_fixup_chain): Delete global	vars; now allocated
+ 	dynamically in stmt elt of struct function for each function.
+ 	(struct nesting): Rename function_call_count elt to n_function_calls,
+ 	target_temp_slot_level to block_target_temp_slot_level.  All users
+ 	changed.
+ 	(struct stmt_status): New structure definition.
+ 	Add many accessor macros for stmt_status elements which previously
+ 	were global variables.
+ 	(init_stmt_for_function): Allocate stmt elt for current_function.
+ 	Reflect that block_start_count was renamed to
+ 	current_block_start_count.
+ 	(save_stmt_status, restore_stmt_status): Delete functions.
+ 	(preserve_subexpressions_p): Don't access loop_stack when outside
+ 	a function.
+ 	(expand_start_bindings): Reflect that block_start_count was renamed to
+ 	current_block_start_count.
+ 	(expand_fixup): Likewise.
+ 	(expand_decl): Don't access block_stack when outside a function.
+ 	(expand_decl_cleanup): Likewise.
+ 	(expand_dcc_cleanup): Likewise.
+ 	(expand_dhc_cleanup): Likewise.
+ 	(expand_anon_union_decl): Likewise.
+ 	(set_file_and_line_for_stmt): New function.
+ 	(in_control_zone_p): New function.
+ 
+ 	* function.h (struct function): Add new elt stmt.
+ 	Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
+ 	case_stack, nesting_stack, nesting_depth, block_start_count,
+ 	last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
+ 	emit_lineno, goto_fixup_chain.
+ 	(save_eh_status, restore_eh_status, save_stmt_status,
+ 	restore_stmt_status): Delete declarations.
+ 	* function.c (push_function_context_to): Don't call save_stmt_status.
+ 	(pop_function_context_to): Don't call restore_stmt_status.
+ 	* tree.h (in_control_zone_p): Declare.
+ 	* rtl.h (set_file_and_line_for_stmt): Declare.
+ 
+ 	* emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
+ 	call set_file_and_line_for_stmt.
+ 
+ Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
+ 
+ 	* gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
+ 	Also update copyright.
+ 
+ Sat Jul 31 11:10:07 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-pragma.c: Don't include "except.h".
+ 	* emit-rtl.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 	* flow.c: Include "function.h".
+ 	* tree.h (init_dummy_function_start): Declare new function.
+ 
+ 	* except.h (struct eh_status): New structure.
+ 	(struct label_node, struct eh_entry): Declare even if tree.h hasn't
+ 	been included.
+ 	(eh_return_stub_label, ehstack, catchstack, ehqueue,
+ 	catch_clauses, false_label_stack, caught_return_label_stack,
+ 	protect_list, current_function_ehc): Add accessor macros for the
+ 	corresponding fields in current_function->eh; delete declarations
+ 	for all items that used to be declared here.
+ 	* except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
+ 	catch_clauses, false_label_stack, caught_return_label_stack,
+ 	protect_list, current_function_ehc): Delete variables.
+ 	(init_eh_for_function): Allocate current_function->eh.
+ 	(save_eh_status, restore_eh_status): Delete functions.
+ 
+ 	* function.h (struct function): Add fields next_global and eh.
+ 	Delete all exception handling related fields.
+ 	* function.c (current_function): New variable.
+ 	(all_functions): New variable.
+ 	(push_function_context_to): Don't allocate a struct function,
+ 	use current_function instead.  Call init_dummy_function_start when
+ 	outside a function.  Clear current_function before returning.
+ 	(pop_function_context_from): Restore current_function.
+ 	Don't free the restored struct function.
+ 	(prepare_function_start): New function.
+ 	(init_dummy_function_start): New function.
+ 	(init_function_start): Break out some code into prepare_function_start
+ 	and call it here.
+ 
+ 	* stmt.c (save_stmt_status): Don't call save_eh_status.
+ 	(restore_stmt_status): Don't call restore_eh_status.
+ 
+ 	* Makefile.in: Update dependencies.
+ 
+ Sat Jul 31 04:10:01 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
+ 	of depending on a magic constant value.  Update comments.
+ 	(hppa_expand_prologue): Similarly.
+ 
+ 	* pa.md (reload_indi, reload_outdi): Allow any register for the
+ 	original reload register.
+ 
+ Fri Jul 30 19:41:35 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cccp.c (print_help): Change marcos to macros.
+ 
+ 1999-07-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (initializer_constant_valid_p): Move ...
+ 	* c-common.c (initializer_constant_valid_p): ... here.  Use
+ 	FOO_TYPE_P instead of tests against TREE_CODE.  Allow subtraction
+ 	of label addresses.
+ 	* c-common.h (initializer_constant_valid_p): Declare.
+ 	* c-tree.h (initializer_constant_valid_p): Remove.
+ 
+ Fri Jul 30 16:33:42 1999  Mathias Froehlich  <frohlich@na.uni-tuebingen.de>
+ 
+ 	* config/i386/sol2-c1.asm: Align the stack.
+ 	* config/i386/sol2-gc1.asm: Likewise.
+ 
+ 1999-07-30  Vladimir Makarov  <vmakarov@loony.cygnus.com>
+ 
+ 	* config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
+ 	-Asparclite for sparc86x.
+ 	(CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
+ 	sparc86x.
+ 	(ASM_CPU_SPEC): Use -Asparclite for sparc86x.
+ 
+ Fri Jul 30 14:53:56 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
+ 	the user if using the non-default arch size in BI_ARCH configuration.
+ 	* config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
+ 
+ 	* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
+ 	Fix patterns so that they actually match.
+ 	(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
+ 	(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
+ 	(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
+ 	TARGET_HARD_MUL32.
+ 	(mulsidi3): Reflect this in the expand.
+ 	(smulsi3_highpart): Only on TARGET_ARCH32.
+ 	(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
+ 	(const_umulsidi3_sp32): Renamed from const_umulsidi3.
+ 	(umulsidi3): Reflect this in the expand.
+ 	(umulsi3_highpart): Only on TARGET_ARCH32.
+ 	(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
+ 	don't require g0 to be zero.
+ 	(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
+ 	({,u}divsi3): New expands.
+ 	({,u}divsi3_sp64): New patterns.
+ 	(after lshrdi3_v8plus): Four new patterns to help combiner
+ 	optimizing nested mixed mode shifts.
+ 
+ 	* config/sparc/sparc.c (sparc_override_options): Use deprecated
+ 	v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
+ 	speed things up. Don't use them by default on plain v9 in 64bit
+ 	mode, according to what SPAMv9 sais.
+ 
+ 	* config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
+ 	top 32 bits of %[og][0-7] in signal handlers.
+ 	Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
+ 
+ Fri Jul 30 03:00:41 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (zvdep_imm32): Renamed from zvdep_imm.
+ 	(ashlsi3): Corresponding changes.
+ 
+ 	* pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
+ 
+ Thu Jul 29 18:37:13 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
+ 
+ Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* arm.h (Hint): Delete macro.
+ 	Substitute HOST_WIDE_INT for Hint in some prototypes.
+ 	* arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
+ 
+ Thu Jul 29 09:21:42 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_setjmp): Use force_operand to
+ 	make sure that the buffer address is in a suitable form to be
+ 	passed to force_reg.
+ 
+ Wed Jul 28 12:50:48 1999  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/mips.c: system.h handles MIN and MAX, don't undefine
+ 	them here.
+ 
+ Wed Jul 28 13:18:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (indirect_jump): Remove mode from match_operand.  Verify
+ 	proper mode in the condition string.
+ 	(icacheflush, dcacheflush): Remove modes from match_operands.
+ 
+ 	* pa.c (emit_move_sequence): Always convert scratch_reg to the
+ 	proper mode before using it.
+ 
+ 	* pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
+ 	pair.
+ 
+ 	* pa.c (store_reg): Do not call add_high_const generator directly.
+ 	(load_reg, set_reg_plus_d): Likewise.
+ 	* pa.md (add_high_const): No longer a named pattern.
+ 
+ 	* pa.c (legitimize_address): Consistently use Pmode rather than
+ 	SImode.  Do not call gen_pic2_highpart directly anymore.
+ 	* pa.md (pic2_highpart): No longer a named pattern.
+ 	(pic2_lo_sum): Similarly.  Reformat to make more readable.
+ 
+ 	* pa.md (call, call_value): Use "word_mode" instead of "SImode" as
+ 	needed.
+ 
+ 	* README: Update.
+ 
+ Wed Jul 28 11:28:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
+ 
+ Wed Jul 28 11:23:48 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* pa.c (hppa_builtin_saveregs):  Use get_varargs_alias_set
+ 	and tag the spill mems.
+ 	(hppa_va_start): New.
+ 	(hppa_va_arg): New.
+ 	* pa.h (EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 
+ Wed Jul 28 11:22:21 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
+ 	and tag the spill mems.
+ 	(mn10300_va_start): New.
+ 	(mn10300_va_arg): New.
+ 	* mn10300.h (EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 
+ Wed Jul 28 11:20:19 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mn10200.c (mn10200_va_arg): New.
+ 	* mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
+ 
+ Wed Jul 28 11:19:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
+ 	rather than play with TREE_INT_CST_LOW.
+ 
+ 1999-07-27  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/telf.h: Include dbxelf.h.
+ 	(CPP_PREDEFINES): Only define if not already defined.
+ 	(ASM_IDENTIFY_GCC): Likewise.
+ 	(SUBTARGET_EXTRA_SECTIONS): Likewise.
+ 	(SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
+ 	* config/arm/thumb.h (LINK_SPEC): Only define if not already
+ 	defined.
+ 	(DBX_DEBUGGING_INFO): Don't define.
+ 	* config/arm/linux-telf.h: New file.
+ 	* config/arm/linux-tgas.h: New file.
+ 	* config/arm/t-thumb-linux: New file.
+ 	* config/arm/uclinux-elf.h: New file.
+ 	* config/arm/uclinux-telf.h: New file.
+ 	* configure.in (arm-*-uclinux, thumb-*-linux-gnu,
+ 	thumb-*-uclinux): New targets.
+ 	* configure: Regenerate.
+ 
+ Tue Jul 27 23:20:21 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (post_store, pre_load): New expanders.
+ 	(post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
+ 	(post_ldwm, pre_stwm): Make these unnamed patterns since we never
+ 	need to directly generate RTL for them.
+ 	* pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
+ 	changes.
+ 
+ Tue Jul 27 16:05:52 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
+ 	* rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
+ 	(rs6000_cpu): Choose between 32-bit and 64-bit default processors.
+ 	(secndary_reload_class): Make TARGET_ELF conditional compile.
+ 	(print_operand_address): Similar.
+ 	(output_toc): Print all values as hex.
+ 	(get_issue_rate): Rearrange and add RS64A and PPC630.
+ 	* rs6000.h (processor_type): Add RS64A and PPC630.
+ 	(PROCESSOR_POWERPC64): New.
+ 	(PROMOTE_MODE): Use word_mode.
+ 	(RTX_COSTS): Add RS64A and PPC630.
+ 	* rs6000.md (scheduling information): Add lmul and ldiv
+ 	representing 64-bit integer multiply and divide.  Add rs64a and
+ 	PPC630 information.
+ 	(ashldi3): Add support for "rldic" instruction.
+ 	* sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
+ 
+ Tue Jul 27 15:31:53 1999  Vladimir Makarov  <vmakarov@toad.to.cygnus.com>
+ 
+ 	* config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
+ 	instead of V8 for sparclite86x in cpu_table.
+ 
+ Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
+ 	output_file_directive.
+ 
+ Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
+ 	tree for op1, not the rtl.
+ 
+ Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m88k.c (m88k_builtin_saveregs): Break out the constructor code
+ 	to m88k_va_start, leaving only the register spill.
+ 	(m88k_build_va_list): New.
+ 	(m88k_va_start): New.
+ 	(m88k_va_arg): New.
+ 	* m88k.h (BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 
+ Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
+ 	Rename from expand_builtin_saveregs.
+ 	* config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
+ 
+ Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
+ 	for the register spill block.
+ 	(i960_build_va_list): New.
+ 	(i960_va_start): New.
+ 	(i960_va_arg): New.
+ 	* i960.h (BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 	* i960.md (store_multiple): Use change_address on individual mems.
+ 
+ Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (stabilize_va_list): Don't INDIRECT_REF through
+ 	an ARRAY_TYPE.
+ 	(std_expand_builtin_va_start): Back out one word if !stdarg_p.
+ 	(expand_builtin_va_end): Evaluate arg for side effects.
+ 	* c-common.c (c_common_nodes_and_builtins): Construct a
+ 	va_list_arg_type_node to handle array decomposition to pointer.
+ 
+ Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* except.c (st_dynamic_cleanup): Use force_operand on the
+ 	buffer's address.
+ 
+ Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c4x.h (EXPAND_BUILTIN_VA_ARG): New.
+ 	* c4x.c (c4x_va_arg): New.
+ 
+ Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
+ 	has manual_pop set.
+ 
+ 1999-07-26  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* eh-common.h (__eh_matcher): Prototype correctly.
+ 
+ Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
+ 	(TARGET_SINGLE_PIC_BASE): Likewise.
+ 	(GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
+ 	definitions.
+ 	(TARGET_CALLEE_INTERWORKING): Fix typo in comment.
+ 	(TARGET_SWITCHES): Add -m{no-}single-pic-base.
+ 	(TARGET_OPTIONS): Add -mpic-register=N.
+ 	(OUTPUT_INT_ADDR_CONST): New macro.
+ 	(INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
+ 	LEGITIMATE_PIC_OPERAND_P): Likewise.
+ 	(LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
+ 	(ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
+ 	output_addr_const directly.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
+ 	ARM port.
+ 	(thumb_pic_register, thumb_pic_register_string): Declare.
+ 
+ 	* config/arm/thumb.c (symbol_mentioned_p): New function: Imported
+ 	from arm.c.
+ 	(label_mentioned_p): New function: Imported from arm.c.
+ 	(legitimize_pic_address): New function: Imported from arm.c.
+ 	(is_pic):New function: Imported	from arm.c.
+ 	(thumb_finalize_pic):New function: Imported from arm.c.
+ 	(add_constant): Cope with PIC constants.
+ 	(fixit): Cope with PIC constants.
+ 	(output_return): Do not treat the PIC register as live if
+ 	TARGET_SINGLE_PIC_BASE is true.
+ 	(thumb_function_prologue): Do not treat the PIC register as live if
+ 	TARGET_SINGLE_PIC_BASE is true.
+ 	(thumb_expand_prologue): Do not treat the PIC register as live if
+ 	TARGET_SINGLE_PIC_BASE is true.
+ 	(thumb_unexpand_epilogue): Do not treat the PIC register as live if
+ 	TARGET_SINGLE_PIC_BASE is true.
+ 	(thumb_print_operand): Accept '|'.
+ 	(thumb_override_options): Process PIC options.
+ 
+ 	* config/arm/thumb.md (movsi): Support PIC.
+ 	(call_insn): Change "i" constraint to "X".
+ 	(call_value_insn): Likewise.
+ 	(consttable_4, consttable_8, consttable_end): Set and clear
+ 	"making_const_table" as appropriate.
+ 	(pic_load_addr, pic_add_dot_plus_four): New insns.
+ 
+ 	* invoke.texi (Thumb Options): Fix spelling.  Document new
+ 	options -msingle-pic-base and -mpic-register=.
+ 
+ 1999-07-26  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/m32r/initfini.c (__init): Use a full word immediate for
+ 	__fini: this allows it to be placed in any memory region.
+ 
+ 	* config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
+ 	-mmodel=medium.  This is OK for all memory models.
+ 
+ Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
+ 	* config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
+ 
+ Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
+ 	defined.
+ 
+ 	* tm.texi: Document ASM_FPRINTF_EXTENSIONS.
+ 
+ Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i860.h (EXPAND_BUILTIN_SAVEREGS): New.
+ 	(BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 	* i860.c (output_delayed_branch): Disable.
+ 	(output_delay_insn): Likewise.
+ 	(i860_saveregs): New.
+ 	(i860_build_va_list): New.
+ 	(i860_va_start): New.
+ 	(i860_va_arg): New.
+ 	* i860.md: Disable all peepholes using output_delayed_branch.
+ 	* i860/sysv4.h (I860_SVR4_VA_LIST): New.
+ 
+ Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
+ 	(BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 	* clipper.c (clipper_builtin_saveregs): Only dump registers.
+ 	Return the address of the save area.
+ 	(clipper_build_va_list): New.
+ 	(clipper_va_start): New.
+ 	(clipper_va_arg): New.
+ 
+ Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* arc.h (EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 	* arc.c (arc_setup_incoming_varargs): Set alias set of
+ 	varargs save area.
+ 	(arc_va_start): New.
+ 	(arc_va_arg): New.
+ 
+ Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
+ 	(BUILD_VA_LIST_TYPE): New.
+ 	(EXPAND_BUILTIN_VA_START): New.
+ 	(EXPAND_BUILTIN_VA_ARG): New.
+ 	* alpha.c (alpha_builtin_saveregs): Delete.
+ 	(alpha_build_va_list): New.
+ 	(alpha_va_start): New.
+ 	(alpha_va_arg): New.
+ 
+ Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
+ 	column zero.
+ 	(DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
+ 	(FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* gcc.texi: More changes related to list conversion.
+ 	* invoke.texi: Likewise.
+ 
+ Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_saveregs): Remove static, remove exp
+ 	and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
+ 	(expand_builtin_next_arg): Accept ARGLIST not EXP.
+ 	(stabilize_va_list): New function.
+ 	(std_expand_builtin_va_start): New function.
+ 	(expand_builtin_va_start): New function.
+ 	(get_varargs_alias_set): New function.
+ 	(std_expand_builtin_va_arg): New function.
+ 	(expand_builtin_va_arg): New function.
+ 	(expand_builtin_va_end): New function.
+ 	(expand_builtin_va_copy): New function.
+ 	(expand_builtin): Call them.
+ 	* c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
+ 	__builtin_{varargs_start,stdarg_start,end,copy}.
+ 	(build_va_arg): New function.
+ 	* c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
+ 	(build_va_arg): Declare.
+ 	* c-decl.c (ptr_type_node, va_list_type_node): New.
+ 	* c-parse.gperf (__builtin_va_arg): New.
+ 	* c-parse.in (VA_ARG): New token.
+ 	(unary_expr): Recognize it.
+ 	* expr.c (expand_expr): Expand VA_ARG_EXPR.
+ 	* expr.h (std_expand_builtin_va_start): Declare.
+ 	(std_expand_builtin_va_arg): Declare.
+ 	(expand_builtin_va_arg): Declare.
+ 	(get_varargs_alias_set): Declare.
+ 	* tree.def (VA_ARG_EXPR): New.
+ 	* tree.h (BUILT_IN_VARARGS_START): New.
+ 	(BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
+ 	(ptr_type_node, va_list_type_node): Declare.
+ 	* tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
+ 	* m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	* m88k.h, m88k.c: Likewise.
+ 	* mn10300.h, mn10300.c: Likewise.
+ 	* pa.h, pa.c: Likewise.
+ 	* rs6000.h, rs6000.c: Likewise.
+ 	* sh.h, sh.c: Likewise.
+ 	* sparc.h, sparc.c: Likewise.
+ 
+ 	* emit-rtl.c (operand_subword): Copy alias set.
+ 	(change_address): Likewise.
+ 
+ Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (compute_frame_size): Scan all the used callee saved registers,
+ 	not just the first one.
+ 
+ Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/arm.h (TARGET_SWITCHES): Add
+ 	-m{no-}single-pic-base.  Correct help string for -mshort-load-words.
+ 	(TARGET_OPTIONS): Add -mpic-register=.
+ 	(ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
+ 	(arm_pic_register_string): Declare.
+ 	(NEED_PLT_GOT): Delete, replace with ...
+ 	(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
+ 	(OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
+ 	(ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
+ 	* config/arm/arm.c (arm_override_options): Add new option
+ 	-mpic-register=N.
+ 	(arm_pic_register_string): New variable.
+ 	(arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
+ 	(output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
+ 	register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
+ 	(output_return_instruction): Likewise.
+ 	* config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
+ 	(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
+ 	* config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
+ 
+ 	* invoke.texi (ARM Options): Fix spelling.  Remove duplicate
+ 	mention of -msched-prolog.  Document new options -msingle-pic-base
+ 	and -mpic-register=.
+ 
+ Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (reemit_notes): Tidy.
+ 	* sched.c (reemit_notes): Duplicate 1998-08-31 patch to
+ 	haifa's routine.
+ 
+ Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* explow.c (trunc_int_for_mode): New function.
+ 	(plus_constant_wide): Use it.
+ 	* combine.c (simplify_and_const_int): Likewise.
+ 	(merge_outer_ops): Likewise.
+ 	(simplify_shift_const): Likewise.
+ 	* cse.c (simplify_unary_operation): Likewise.
+ 	(simplify_binary_operation): Likewise.
+ 	* emit-rtl.c (operand_subword): Likewise.
+ 	* rtl.h: Declare it.
+ 
+ Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
+ 	(use NUM_REGS instead of NUM_INTS).
+ 
+ Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* builtins.c: New file.
+ 	* expr.c (saveregs_value, apply_args_value):  Delete definition,
+ 	moved into builtins.c.
+ 	(string_constant): No longer static.
+ 	(get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
+ 	apply_args_size, apply_result_size, result_vector,
+ 	expand_builtin_apply_args, expand_builtin_apply,
+ 	expand_builtin_return): Delete functions, moved into builtins.c.
+ 	(INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
+ 	* expr.h (saveregs_value, apply_args_value): Declare variables.
+ 	(expand_builtin, string_constant): Declare functions.
+ 	* Makefile.in: Update to build builtin.o.
+ 
+ Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
+ 	* tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
+ 	* dwarf2out.c (dwarf2out_init): Don't output a label to mark the
+ 	start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
+ 	false.
+ 	* config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
+ 	Define to zero.
+ 
+ 1999-07-21  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): Print the names of the virtual
+ 	registers.
+ 
+ Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
+ 	introduced in previous delta.
+ 
+ Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-lang.c (finish_file): Rename void_list_node to void_list_node_1
+ 	to avoid name clash.
+ 
+ Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-lex.c (yylex) : Correct the test for overflow when lexing
+ 	integer literals.
+ 
+ Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
+ 	(adjust_priority): Always call ADJUST_PRIORITY.
+ 	(schedule_insn): Only put insns into the ready at cost 0.
+ 	(schedule_block): Remove redundant initial sort.  Give clock_var
+ 	and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
+ 	is not 0.
+ 	* tm.texi (MD_SCHED_REORDER): Update docs.
+ 
+ 	* sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
+ 	* sparc.c (ultra_reorder_called_this_block): Delete.
+ 	(ultrasparc_sched_init): Don't set it.
+ 	(ultrasparc_sched_reorder): Don't check it.
+ 
+ Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.h (struct rs6000_args): Add sysv_gregno.
+ 	* rs6000.c (init_cumulative_args): Init sysv_gregno.
+ 	(function_arg_boundary): Align DFmode.
+ 	(function_arg_advance): Restructure for ABI_V4; use sysv_gregno
+ 	to get fp reg and stack overflow correct.
+ 	(function_arg): Likewise.
+ 	(function_arg_pass_by_reference): True for TFmode for ABI_V4.
+ 	(setup_incoming_varargs): Restructure for ABI_V4; use
+ 	function_arg_advance to skip final named argument.
+ 	(expand_builtin_saveregs): Properly unskip the last integer arg
+ 	when doing varargs.  Adjust overflow location calculation.
+ 
+ 	* ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
+ 	explicitly unsigned.
+ 	(__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
+ 	(__VA_GP_REGSAVE): Similarly.
+ 	(__va_longlong_p): Delete.
+ 	(__va_arg_type_violation): New declaration.
+ 	(va_arg): Restructure.  Flag promotion errors.  Align double.
+ 	TFmode passed by reference.
+ 
+ 	* rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
+ 	in the HOST_BITS_PER_WIDE_INT > 32 case.
+ 
+ Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* dwarf2out.c (output_abbrev_section): Terminate with a zero.
+ 
+ Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
+ 	* toplev.c (documented_lang_options): Add -fpreprocessed.
+ 	* cpplib.h (struct cpp_buffer): Add preprocessed.
+ 	* cppinit.c (cpp_handle_option): Handle -fpreprocessed.
+ 	(cpp_start_read): Don't expand macros or emit an initial #line
+ 	directive if -fpreprocessed.
+ 
+ Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
+ 
+ 	* cpplib.h (struct cpp_buffer): Added manual_pop for
+ 	better C++ tokenization.
+ 	* cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
+ 	Also, support C++ tokenization for ->*, .*, <?, and >? operators.
+ 	* c-common.c (cpp_token): Make non-static.
+ 
+ Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* c-common.h: New file.
+ 	* c-common.c (permanent_obstack): Delete unused declaration.
+ 	(c_global_trees): New array.
+ 	(c_common_nodes_and_builtins): New function; split off common code
+ 	from init_decl_processing in both c-decl.c and cp/decl.c.
+ 	* c-tree.h: Delete lots of declarations of tree nodes; replaced by
+ 	c_global_trees and accessor macros defined in c-common.h.
+ 	Include c-common.h.
+ 	* c-decl.c: Delete definitions for tree nodes that were replaced by
+ 	c_global_trees.
+ 	(init_decl_processing): Build void_list_node.
+ 	Call c_common_nodes_and_builtins; delete code to generate the common
+ 	builtins here.
+ 	* objc/objc-act.c (build_module_descriptor): Rename variable
+ 	void_list_node to avoid clash with c-common.h.
+ 
+ 	* Makefile.in: Update dependencies.
+ 	* objc/Make-lang.in: Likewise.
+ 
+ Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
+ 	(UNIQUE_SECTION_P): Likewise.
+ 	(UNIQUE_SECTION): Likewise.
+ 
+ 1999-07-19  Linas Vepstas  <linas@linas.org>
+ 
+ 	* config/i370/README: New file.
+ 	* config/i370/linux.h: New file.
+ 	* config/i370/mvs.h: New file.
+ 	* config/i370/oe.h: New file.
+ 	* config/i370/t-linux: New file.
+ 	* config/i370/t-mvs: New file.
+ 	* config/i370/t-oe: New file.
+ 	* config/i370/x-oe: New file.
+ 	* config/i370/xm-linux.h: New file.
+ 	* config/i370/xm-mvs.h: New file.
+ 	* config/i370/xm-oe.h: New file.
+ 
+ 	* i370.c (label_node_t): Add first_ref_page, label_addr,
+ 	label_first_ref, label_last_ref members.
+ 	(mvs_need_base_reload): Renamed from mvs_label_emitted.
+ 	(MAX_MVS_LABEL_SIZE): Define.
+ 	(MAX_LONG_LABEL_SIZE): Define.
+ 	(alias_node_t, alias_anchor, alias_number): New.
+ 	(mvs_function_table): Reorder for EBCDIC.
+ 	(ascebc, ebcasc): Unconditionally define.
+ 	(i370_branch_dest, i370_branch_length): New functions.
+ 	(i370_short_branch, i370_label_scan): New functions.
+ 	(mvs_get_label): Renamed from mvs_add_label.  Search for
+ 	an existing label before creating a new one.
+ 	(mvs_add_label): New function.
+ 	(mvs_get_label_page): New function.
+ 	(mvs_free_label_list): Renamed from mvs_free_label.  Iterate
+ 	over the entire list.
+ 	(mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
+ 	(mvs_check_page) [TARGET_ELF_ABI]: New function.
+ 	(mvs_add_alias, mvs_need_alias): New functions.
+ 	(mvs_get_alias, mvs_check_alias): New functions.
+ 	(handle_pragma): New function.
+ 	(mvs_function_check): New function.
+ 	(unsigned_jump_follows_p): Search harder.
+ 	(i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
+ 	(i370_function_prolog) [TARGET_ELF_ABI]: New function.
+ 	* i370.h (TARGET_VERSION): Delete.
+ 	(CPP_SPEC, CPP_PREDEFINES): Delete.
+ 	(mvs_label_emitted): Delete.
+ 	(TARGET_EBCDIC): Delete.
+ 	(MAP_CHARACTER): Define only if TARGET_EBCDIC.
+ 	(HANDLE_PRAGMA): Define.
+ 	(HARD_REGNO_NREGS): Handle complex modes.
+ 	(HARD_REGNO_MODE_OK): Likewise.
+ 	(CLASS_MAX_NREGS): Likewise.
+ 	(RET_REG): Likewise.
+ 	(EXTRA_CONSTRAINT): Define.
+ 	(RETURN_IN_MEMORY): True for DImode.
+ 	(TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
+ 	(FUNCTION_PROFILER): Delete.
+ 	(COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
+ 	(NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
+ 	(TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
+ 	(TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
+ 	(TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
+ 	(ASM_FILE_START): Add "RMODE ANY".
+ 	(ASM_OUTPUT_EXTERNAL): Check for aliases.
+ 	(ASM_GLOBALIZE_LABEL): Likewise.
+ 	(ASM_OUTPUT_LABELREF): Likewise.
+ 	(ASM_OUTPUT_COMMON): Likewise.
+ 	(PRINT_OPERAND): Handle 'K', 'W', default.
+ 	(PRINT_OPERAND_ADDRESS): New.
+ 	(Lots of defines): Add support for TARGET_ELF_ABI.
+ 	* i370.md (attr length): New.  Define for all patterns.
+ 	(*): Lots of tweeks to assembly output and constraints.
+ 
+ Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
+ 	Disable patterns performing SImode comparisons with SImode values
+ 	if TARGET_POWERPC64 and instruction does not sign-extend or does
+ 	not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
+ 	differ for signed quantities.
+ 	(indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
+ 	(tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
+ 	(decrement_and_branch_on_count): Add 64-bit variant.
+ 
+ Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* final.c (output_asm_insn): When searching for the matching string
+ 	for a given dialect, don't run past the end of the list of
+ 	alternatives if there are fewer alternatives in the template than
+ 	dialects.
+ 
+ 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
+ 	Removed paragraph about compression of files and size limitation,
+ 	duplicated in the FAQ.  Use gcc-patches for posting patches.
+ 	* gcc.c (main): Updated URL with bug reporting instructions to
+ 	gcc.gnu.org.  Removed e-mail address.
+ 	* system.h (abort): Likewise.
+ 
+ 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (stmp-multilib-sub): Make the files extracted
+ 	from $(LIBGCC1) writable.
+ 
+ Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/aout.h: Reformat for improved readability.
+ 
+ 	* config/arm/arm.h: Reformat for improved readability.
+ 	Replace uses of fprintf with asm_fprintf where appropriate.
+ 	(ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
+ 	function declaration assembler actions.
+ 	(NUM_INTS): New macro: Convert from bytes to words.
+ 	(NUM_REGS): New macro: Compute number of registers required to
+ 	hold a quanitity of tyep MODE.
+ 	(NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
+ 	types.
+ 	(NUM_ARG_REGS): New macro: The number of argument registers
+ 	available.
+ 	(ARG_REGISTER): New macro: Compute the register number of the Nth
+ 	argument register.
+ 	(LAST_ARG_REGNUM): New macro: The number of the last argument
+ 	register.
+ 	(SP_REGNUM): New macro: Register number of the stack pointer.
+ 	(FP_REGNUM): New macro: Register number of the frame pointer.
+ 	(FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
+ 	FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
+ 	CUMULATIVE_ARGS so that it counts registers not bytes.
+ 
+ 	* config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
+ 	TARGET_INTERWORK.
+ 	Replace uses of fprintf with asm_fprintf where appropriate.
+ 	(output_ascii_pseudo_op): Replace with version from thumb.c
+ 
+ 	* config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
+ 
+ 	* config/arm/elf.h (CPP_PREDEFINES): Replace with
+ 	SUBTARGET_CPP_SPEC.
+ 	(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
+ 	(ASM_FILE_START): Emit ASM_APP_OFF.
+ 
+ Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (compute_frame_size): Round frame according to
+ 	STACK_BOUNDARY rather than a hardwired value.
+ 
+ 	* pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
+ 
+ 	* configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
+ 	of "1".
+ 	* configure: Rebuilt.
+ 
+ 	* configure.in (hppa*-*-linux*): New configuration.
+ 	* configure: Rebuilt.
+ 	* pa.h (MAX_OFILE_ALIGNMENT): Delete.
+ 	* pa/som.h (MAX_OFILE_ALIGNMENT): Define.
+ 	* pa/pa-linux.h: New file.
+ 	* pa/t-linux: New file.
+ 	* pa/xm-linux.h: New file.
+ 
+ 	* pa.c (hppa_legitimize_address): Change references from SImode to
+ 	either Pmode or word_mode as appropriate.
+ 	(emit_move_sequence, store_reg, load_reg): Likewise.
+ 	(set_reg_plus_d, hppa_expand_prologue): Likewise.
+ 	(output_mul_insn): Likewise.
+ 	* pa.h (PROMOTE_MODE): Likewise.
+ 	(INITIALZE_TRAMPOLINE): Likewise.
+ 	(Pmode): Define to word_mode.
+ 
+ 	* pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
+ 	value of 4.  Allocate 8 bytes for each FP register save.
+ 	(hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
+ 	value of 4.
+ 	(hppa_expand_prologue): Likewise.
+ 	* pa.h (PROMOTE_MODE): Likewise.
+ 	(HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
+ 	(FUNCTION_ARG_BOUNDARY): Likewise.
+ 
+ 	* invoke.texi (HPPA Options): Remove -mspace/-mno-space.
+ 
+ 	* pa.c (out_of_line_prologue_epilogue): Delete.
+ 	(override_options): Remove -mspace related code.
+ 	(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
+ 	(compute_frame_size): Only allocate space for register that
+ 	actually need to be saved.
+ 	* pa.h (MASK_SPACE, TARGET_SPACE): Delete.
+ 	(TARGET_SWITCHES): Remove -mspace, -mno-space
+ 	* pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
+ 	* pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
+ 	* pa/ee.asm, pa/ee_fp.asm: Delete.
+ 
+ 	* pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
+ 
+ 	* config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
+ 	directive in column zero.
+ 
+ Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.c (output_function_prologue): Fix computation of save mask
+ 	when generating PIC code.
+ 
+ Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* tree.c (build_type_attribute_variant): Move current_obstack restore
+ 	after build_qualified_type call.
+ 
+ 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.in: Use t-iris6, even with GNU LD.
+ 	* config/mips/iris6gld.h: Fix typo in linker spec.
+ 	* config/mips/t-iris6gld: Remove.
+ 
+ Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (insv, extzv): Remove SImode dependence in named
+ 	patterns.  Explicitly generate DImode RTL if PowerPC64 and
+ 	operand is DImode.
+ 	(insvdi): Reverse start and size in instruction template.
+ 
+ 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Typo fixes.
+ 
+ Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
+ 	handle at this time instead of silently generating incorrect code.
+ 	(gen_imagpart): Likewise.
+ 
+ 	* reload.c (find_reloads): Emit a USE for a pseudo register without
+ 	a hard register if we could not create an optional reload for the
+ 	pseudo.
+ 
+ Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* c-typeck.c (output_init_element, process_init_element):
+ 	When advancing constructor_unfilled_fields for a RECORD_TYPE,
+ 	check for nameless bit fields.
+ 
+ Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regclass.c (scan_one_insn): Notice subregs that change the
+ 	size of their operand.
+ 	(record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
+ 
+ Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (alpha*-*-*): Include alpha/t-ieee.
+ 	* configure: Rebuilt.
+ 	* alpha/t-ieee: New file.
+ 
+ Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.c (find_addr_reg): Do not select r0 as an address
+ 	register.
+ 
+ Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
+ 
+ Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.md (movsf): Do not force easy FP constants into memory.
+ 
+ 	* expr.c (expand_expr, case PLUS_EXPR): Pass constants through
+ 	immed_double_const to ensure they are properly truncated then
+ 	sign extended.
+ 
+ Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
+ 	always unless NO_DEBUG is used.  Compile this code
+ 	unconditionally.
+ 	(replace_symbols_in_block): Compile it unconditionally.
+ 
+ Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (i?86-*-elf*): New target.
+ 	* configure: Rebuilt.
+ 	* i386/i386elf.h, i386/t-i386elf: New files.
+ 
+ Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* toplev.c (main): Don't complain about saying -gdwarf.
+ 	(rest_of_compilation): Remove redundant code.
+ 
+ Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (unroll_loops): Don't delete named CODE_LABELs.
+ 
+ Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
+ 
+ 	* config/i960/i960.c (ret_label): Change asm label from "LR:" to
+ 	"Li960R:", to avoid name clash.
+ 
+ Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* loop.c (check_dbra_loop): When reversing a loop, delete all
+ 	REG_EQUAL notes referencing the reversed biv except those which are
+ 	for a giv based on it.
+ 
+ Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Drop "gcc-" prefix from version #.
+ 
+ Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_line): Emit a line number comment after
+ 	the label if we're being verbose.
+ 
+ Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m68k.c (output_function_prologue): Add pic register to mask
+ 	if live and flag_pic.
+ 	(output_function_epilogue): Likewise.
+ 
+ Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
+ 	directives in column zero.
+ 
+ 	* pa/elf.h (ASM_FILE_START): Define.
+ 	* pa/som.h (ASM_FILE_START): Include .level directives.
+ 	* pa/hpux10.h (ASM_FILE_START): Delete.
+ 	* pa/hpux11.h (ASM_FILE_START): Delete.
+ 
+ 	* pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
+ 
+ Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): Never call remove_address_replacements
+ 	when reload_out equals reload_in.
+ 
+ Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* invoke.texi (Spec Files): New node: Describe the contents of
+ 	spec files.
+ 
+ Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* invoke.texi (DEC Alpha Options): Put @end table at
+ 	beginning of line, to avoid confusing texi2html.
+ 
+ Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
+ 	introduced in previous delta.
+ 
+ Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* reload1.c (gen_reload): When synthesizing a 3 operand add
+ 	sequence, improve test for when to reload OP1 into the reload
+ 	register instead of OP0.
+ 
+ Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
+ 
+ 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
+ 
+ 	* m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
+ 	string literal.
+ 
+ Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ginclude/varargs.h (__builtin_va_alist_t): New typedef.
+ 	(va_dcl): Use __builtin_va_alist_t.
+ 
+ Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (gen_struct_or_union_type_die): Only remember types
+ 	on the permanent_obstack.
+ 	* dwarfout.c (output_type): Likewise.
+ 
+ Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+ 	Merged from c-typeck.c and cp/typeck.c.
+ 	* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+ 	Merged into c-common.
+ 
+ Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* c-lex.c (errorcount): Declare it.
+ 	(finish_parse): Update errorcount when using CPPLIB.
+ 
+ 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/inclhack.def(end_else_label): Double the backslash so
+ 	sed gets a chance to see it.
+ 	* fixinc/inclhack.sh: regen
+ 	* fixinc/fixincl.x: regen
+ 
+ Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	Add framework to support armv5 architecture when it becomes
+ 	available:
+ 
+ 	* config/arm/arm.c (FL_ARCH5): New processor capability flag.
+ 	(arm_arch5): New variable.
+ 	(all_architectures): Add armv5 line.
+ 	* config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
+ 	-march=armv5 is specified on the command line.
+ 	(arm_arch5): Export this variable.
+ 	* invoke.texi: Document new string accepted by -march= switch for
+ 	ARM ports.
+ 
+ 	* config/arm/arm.h: Replace use of constant 12 as a register
+ 	number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
+ 	* config/arm/arm.c: Replace use of constant 12 as a register
+ 	number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
+ 
+ 	* config/arm/elf.h: Tidy up.
+ 	* config/arm/coff.h: Tidy up.
+ 
+ Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
+ 	* gcc/config/mips/t-iris6gld: New file.
+ 	* gcc/config/mips/iris6gld.h: Likewise.
+ 
+ Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-decl.c (widest_integer_literal_type_node,
+ 	widest_unsigned_literal_type) : New.
+ 	(init_decl_processing): Handle/use the two new types.
+ 	* c-common.c (type_for_size,type_for_mode) : Same.
+ 	* c-lex.c (yylex) : Same.
+ 	* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
+ 	Same.
+ 	* c-tree.h (widest_integer_literal_type_node,
+ 	widest_unsigned_literal_type) : New.
+ 
+ Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* dwarfout.c (field_byte_offset): Correctly compute the object's
+ 	byte offset for the first bit of a field which crosses an alignment
+ 	boundary on a !BYTES_BIG_ENDIAN target.
+ 
+ Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
+ 	ntohs.
+ 
+ Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
+ 			  Jeff Law <law@cygnus.com>
+ 
+ 	* ginclude/varargs.h (va_dcl): Use word_mode for type of
+ 	__builtin_va_list.
+ 
+ 	* except.c: Include intl.h.
+ 	(expand_eh_return): Set current_function_cannot_inline.
+ 	(save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
+ 	* function.h (struct function): Add eh_return_stub_label.
+ 	* flow.c (delete_unreachable_blocks): Don't merge across EH edges.
+ 	* Makefile.in (except.o): Depend on intl.h.
+ 
+ Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
+ 	same as offsettable in cases 1 and 2.
+ 
+ Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
+ 	(extlh, extwh): Likewise.
+ 
+ Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-lex.c (yylex): Improve 'integer constant out of range' messages.
+ 
+ Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Add arm-pe and thumb-pe targets.
+ 	* configure: Regenerate.
+ 
+ 	* thumb.c (arm_naked_function_p): New function: Determines if
+ 	a function is naked (has no gcc generated prologue/epilogue).
+ 	(is_called_in_ARM_mode): Return true if the func has the
+ 	interfacearm attribute.
+ 	(output_return): Do not generate a return for naked functions.
+ 	(thumb_function_prologue): Do not generate a prologue for
+ 	naked functions.
+ 	(thumb_expand_prologue): Do not generate a prologue for naked
+ 	functions.
+ 	(thumb_expand_epilogue): Do not generate an epilogue for naked
+ 	functions.
+ 	(arm_valid_machine_decl_attribute): New function, copied from
+ 	arm.c:  Permit naked and interfacearm attributes.
+ 
+ 	* config/arm/pe.c: New file: Support code for arm-pe target.
+ 	* config/arm/pe.h: New file: Header file for arm-pe target.
+ 	* config/arm/tpe.h: New file: Header file for thumb-pe target.
+ 	* config/arm/t-thumb-pe: New file: Makefile fragment for
+ 	thumb-pe target.
+ 
+ 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
+ 	-fPIC or -fpic is specified.
+ 
+ Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (emit_block_move): Use copy_to_mode_reg for
+ 	!TARGET_MEM_FUNCTIONS case too.
+ 
+ 	* configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
+ 	appropriate.
+ 	* configure: Rebuilt.
+ 	(hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
+ 	* pa.h: Include dbxelf.h.  Delete various dbx/stabs related
+ 	definitions made redundant by dbxelf.h inclusion.  Delete
+ 	lots of definitions related to assembly output that are
+ 	specific to the SOM object format.
+ 	* pa.c (output_function_prologue): Do not emit the function's
+ 	name for OBJ_ELF.
+ 	* pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
+ 	* pa-pro.h: Deleted.
+ 	* som.h: New file with SOM specific definitions.
+ 	* elf.h: New file with ELF specific definitions.
+ 
+ 	* elfos.h (const_section): Output a tab before assembler directives.
+ 	(ctors_section, dtors_section): Likewise.
+ 	(ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* pa/pa1.h: Delete unused file.
+ 
+ Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa*-hp-hpux11*): New configuration.
+ 	* configure: Rebuilt.
+ 	* pa/pa-hpux11.h: New file.
+ 	* pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
+ 	command line.
+ 
+ 	* mips.md (leasi, leadi): New patterns.
+ 
+ 	* expr.c (emit_block_move): Properly handle case where one of the
+ 	block move arguments has a queued increment or decrement.
+ 	(clear_storage): Similarly.  Fix formatting goof.
+ 
+ 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
+ 
+ 	* fixinc/inclhack.def(stdio_va_list): This patch Removes a
+ 	semicolon from the BSD VA_LIST replacement expression.
+ 
+ 	* fixinc/inclhack.sh: regen
+ 	* fixinc/fixincl.x: regen
+ 
+ 	* fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
+ 	now use the fixincl program.
+ 
+ Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
+ 	case.  Also make the PIC register call_used.
+ 
+ 	* m68k.h (FINALIZE_PIC): Delete.
+ 	* m68k.c (finalize_pic): Delete.
+ 
+ Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
+ 	to memory.
+ 
+ Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
+ 
+ Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
+ 
+ Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
+ 
+ Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
+ 
+ Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (output_toc): Always use hex values for floating-point
+ 	constants.  Store single-precision values in upper-half of TOC
+ 	entry in 64-bit mode.
+ 	* rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
+ 	to final constraints.
+ 	(fix_truncdfsi2 splitter): Change pattern matching fctiwz.
+ 	(fctiwz): Improve accuracy of RTL for pattern.
+ 
+ Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* expr.c (expand_expr): Allow RTL_EXPR's through the
+ 	MAX_INTEGER_COMPUTATION_MODE checks.
+ 
+ Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
+ 	such that MASK_SUPPORT_ARCH is not negative.
+ 
+ Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (verify_dominator): Properly handle ADDR_VEC and
+ 	ADDR_DIFF_VEC insns that appear inside loops.
+ 
+ Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
+ 			  Jeff Law <law@cygnus.com>
+ 
+ 	* rs6000.md (movdf_hardfloat32): Revert previous patch.
+ 	Handle LO_SUM the same as offsettable in cases 1 and 2.
+ 	* rs6000.c (find_addr_reg): Revert previous patch.
+ 
+ Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* system.h (strstr): New external function declaration.
+ 	* acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
+ 	* configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
+ 	* config.in, configure: Rebuilt.
+ 
+ 1999-06-24  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (main): Read user-specified specs files after computing
+ 	additional startfile_prefixes.
+ 
+ Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert these two patches:
+ 
+ 	Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, update
+ 	reg note of NEXT->insn.
+ 
+ 	Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
+ 	reg_biv_class.
+ 	(recombine_givs): Set ix field after sorting.
+ 
+ Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
+ 	for the parts of an UNSPEC / UNSPEC_VOLATILE.
+ 
+ 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	*fixinc/inclhack.def:  Add fix development commentary
+ 	(read_ret_type): reactivate and add selection clause
+ 	(zzz_*): tweak output file name to match what is used in hackshell.tpl
+ 	*fixinc/{fixincl.x|inclhack.sh}: regen
+ 
+ Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* expr.c (expand_expr): STRIP_NOPS before checking against
+ 	MAX_INTEGER_COMPUTATION_MODE
+ 	(check_max_integer_computation_mode): Likewise.
+ 
+ Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
+ 
+ 1999-06-22  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (store_expr): When target is a promoted subreg, return a
+ 	promoted subreg as a result.
+ 
+ Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
+ 	coding standards.
+ 	(dwarf2out_define): Mark unused parameters appropriately.
+ 	(gen_unspecified_parameters_die): Ditto.
+ 	(gen_subprogram_die): Fix signed/unsigned warnings.
+ 	(gen_variable_die): Ditto.
+ 
+ 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/inclhack.def(end_else_label): combined else_label
+ 	and endif_label and fixed the sed expression.
+ 	*fixinc/{fixincl.x|inclhack.sh}: regen
+ 
+ Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
+ 	'x' when handling non-offsettable addresses
+ 
+ Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* final.c (shorten_branches): Don't try to split an insn that has
+ 	been deleted.
+ 
+ Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/mips.c (symbolic_expression_p): New function.
+ 	(mips_select_rtx_section): Put symbolic expressions in the
+ 	data section, not the read-only data section.
+ 
+ Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.md (find_addr_reg): Handle LO_SUM addresses.
+ 
+ Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* collect2.c (main): Log frame table count.
+ 	(GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
+ 	(scan_prog_file) [COFF]: Handle frame tables.
+ 
+ 	* alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
+ 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
+ 	* alpha/elf.h: Undef them again.
+ 	* alpha/vms.h: Remove their definitions.
+ 
+ Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (machine_dependent_reorg): When fixing up fp pcloads,
+ 	remove the clobber of r0 and change the REG_UNUSED note to
+ 	REG_INC.
+ 
+ 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* real.c (ereal_from_double): Fix for 64-bit big endian hosts.
+ 	* emit-rtl.c (gen_lowpart_common): Add case for hosts where double
+ 	fits in HOST_WIDE_INT and one uses union to access a long constant
+ 	as double.
+ 
+ Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (sparc_override_options): Don't allow profiling for
+ 	code models other than medlow.
+ 	(sparc_function_profiler): New function from old FUNCTION_PROFILER
+ 	macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
+ 	(sparc_function_block_profiler): Likewise.  Use user_label_prefix.
+ 	(sparc_block_profiler): Likewise.
+ 	(sparc_function_block_profiler_exit): Likewise.
+ 	* sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
+ 	(FUNCTION_BLOCK_PROFILER): Likewise.
+ 	(BLOCK_PROFILER): Likewise.
+ 	(FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
+ 	(MCOUNT_FUNCTION): New.
+ 	* sparc/pbd.h (FUNCTION_PROFILER): Delete.
+ 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
+ 	* sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
+ 	(MCOUNT_FUNCTION): New.
+ 	* sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
+ 	(BLOCK_PROFILER): Delete.
+ 	(MCOUNT_FUNCTION): New.
+ 
+ Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movdf_hardfloat32): Fix typo in case 2.
+ 
+ Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ 	Add the macros.
+ 
+ 	* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ 	Ditto.
+ 
+ 	* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ 	Ditto.
+ 
+ 	* config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ 	Ditto.
+ 
+ Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
+ 	types.
+ 
+ Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* i386/djgpp.h (LIB_SPEC): New.
+ 	(STARTFILE_SPEC): New.
+ 
+ 	* i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
+ 
+ Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
+ 	compiler flags.
+ 
+ 	* system.h (WSTOPSIG): New macro.
+ 
+ Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-pragma.c (push_alignment): Don't ignore alignments greater than
+ 	4 bytes.
+ 	(insert_pack_attributes): Take into account member natural
+ 	alignment.
+ 
+ 	* i386/winnt.c (exports_head): New static variable.
+ 	(i386_pe_record_exported_symbol): New function.
+ 	(i386_pe_asm_file_end): Use.
+ 	* i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
+ 	symbols to be emitted at end of assembly.
+ 	(ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 
+ 	* i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
+ 	-iwithprefix.
+ 
+ Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
+ 	in last change.
+ 
+ Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_analyze_1): Use free_list instead of
+ 	zapping reg_last_uses directly.
+ 	(sched_analyze_2, sched_analyze_insn): Likewise.
+ 	(sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
+ 
+ Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movdf_hardfloat32): Use worst case insn length
+ 	attributes for cases 1 and 2.
+ 
+ Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
+ 	instead of set.
+ 
+ Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
+ 
+ 	* arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
+ 
+ Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
+ 	PIC_OFFSET_TABLE_REGNUM for general alloaction.
+ 	(INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
+ 	must be stacked if it is used for PIC accesses.
+ 	* arm.c (use_return_insn): Handle PIC register specially.
+ 	(output_return_instruction): Likewise.
+ 	(output_func_{prologue,epilogue}): Likewise.
+ 	(output_expand_prologue): Likewise.
+ 
+ 	* arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
+ 	(*strsi_predec): Renamed from *strqi_predec.
+ 	(*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
+ 	(*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
+ 
+ 	* arm.c (arm_override_options): Remove warning about PIC code
+ 	not being supported.
+ 
+ Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (find_addr_reg): New function.
+ 	* rs6000.h (find_addr_reg): Declare.
+ 	(offsettable_addr_operand): Delete.
+ 	* rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
+ 	from and stores to GPRs.
+ 
+ Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_move): Use get_insns rather than
+ 	gen_sequence as argument to emit_no_conflict_block.
+ 
+ Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
+ 	* fixinc/inclhack.def(dgux_int_varargs): script must end with \n
+ 	*fixinc/fixincl.x: regen
+ 	*fixinc/inclhack.sh: regen
+ 
+ Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
+ 
+ 	* added support for -mpcrel (PC relative addressing for m68k)
+ 	based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
+ 	* invoke.texi (m68000 options): Add documentation for -mpcrel flag.
+ 	* m68k.c (print_operand_address): Handle 32-bit PIC case.
+ 	(comments for general_src_operand): Add some explanation
+ 	about EXTRA_CONSTRAINTS.
+ 	(OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
+ 	* m68kelf.h (OVERRIDE_OPTIONS): Ditto.
+ 	(LEGITIMATE_PIC_OPERAND_P): Fix typo.
+ 	(LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
+ 	* m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
+ 	(INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
+ 	(OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
+ 	if not already set.
+ 	(OVERRIDE_OPTIONS): Merge in changes from m68k.h.
+ 	* m68k.h (TARGET_PCREL): New target flag.
+ 	(TARGET_SWITCHES): Add "pcrel" as a recognized switch.
+ 	(OVERRIDE_OPTIONS): Add checks for -mpcrel.
+ 	(LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
+ 	contains a SYMBOL_REF.  Relax this constraint during reload, since
+ 	we want to use the predicates, not reload's built-in concept of a
+ 	valid memory address, to control what insns need reloading.
+ 	(EXTRA_CONSTRAINT): Define constraints to accept pc-relative
+ 	operands (essentially 'g', 'm', and 's' under normal circumstances).
+ 	* m68k.c (print_operand): Cause printing of pc-relative addresses
+ 	to include pc register.
+ 	(print_operand_address): Ditto.
+ 	(general_src_operand): Accept operands that are not only
+ 	general_operands, but are also valid when used as a pc-relative
+ 	source.
+ 	(nonimmediate_src_operand): Similar, for nonimmediate_operands.
+ 	(memory_src_operand): Similar, for memory_operands.
+ 	(pcrel_address): New predicate to accept the special case of a
+ 	pc-relative address.
+ 	* m68k.md (many patterns): Rewrite common SImode, HImode, and
+ 	QImode insns to accept *_src_operand instead of *_operand where
+ 	pc-relative operands can fit.  For example, a pc-relative operand
+ 	can be used as a memory source operand for addsi3, but not as a
+ 	memory destination.
+ 	* hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
+ 
+ Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
+ 	.thumb_set pseudo op to mark aliases of thumb functions.
+ 
+ Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
+ 	preference to ASM_OUTPUT_DEF, if it is defined.
+ 
+ 	* tm.texi: Document new, optional target macro
+ 	ASM_OUTPUT_DEF_FROM_DECLS.
+ 
+ Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixincludes: ISCNTL patch
+ 	* fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
+ 	(dgux_int_varargs): new for DG/UX
+ 	* fixinc/{fixincl.x,inclhack.sh}: Regenerated.
+ 
+ Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
+ 
+ 	* invoke.texi (ia32 options): Fix typo.
+ 
+ Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, update
+ 	reg note of NEXT->insn.
+ 
+ Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (move_movables): Note issues with replacing REGs with
+ 	SUBREGs.
+ 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
+ 
+ Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
+ 
+ 	* i386/freebsd-elf.h (LINK_SPEC): Fix typo.
+ 
+ 	* i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
+ 	the reference to `mcount' was not correct for the ELF on FreeBSD.
+ 
+ Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
+ 	reg_biv_class.
+ 
+ 	(recombine_givs): Set ix field after sorting.
+ 
+ Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* emit-rtl.c (operand_subword): Tighten checks for when it is safe
+ 	to safe to extract a subword out of a REG.
+ 
+ Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (mulsi3): Don't add a no-op move at the end.
+ 
+ Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (cse_insn): Don't put hard register source into tables for
+ 	the last insn of a libcall.
+ 
+ Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Insert sets of derived givs at every
+ 	biv increment, even if it's the only one.
+ 
+ Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarfout.c (add_incomplete_type): New fn.
+ 	(output_type): Call it.
+ 	(retry_incomplete_types): New fn.
+ 	(dwarfout_finish): Call it.
+ 
+ 	From Eric Raskin <ehr@listworks.com>:
+ 	(output_type): Output types for bases.
+ 
+ Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* mips.c (mips_output_conditional_branch): Add `break'
+ 	between `default' label and `close braces'.
+ 
+ Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
+ 
+ 	* i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
+ 	specifications and make it realistic.
+ 	(LIB_SPEC): Likewise.
+ 
+ Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_secondary_reload_class): Check for
+ 	(PLUS (SP) (REG)) and return appropriate register class.
+ 	* config/mips/mips.md (reload_insi): Delete predicate for operand 1.
+ 	Handle (PLUS (SP) (REG)).
+ 	(tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
+ 	(tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
+ 	of emit_insn for tablejump.
+ 
+ Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (output_prolog): RS6000_CALL_GLUE must be
+ 	asm_fprintf format string by itself.
+ 	(output_function_profiler): Likewise.
+ 
+ Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* combine.c (simplify_logical, case AND): Only call
+ 	simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
+ 	or the constant is positive.
+ 
+ Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Fix typo in rs6000-ibm-aix4 case.
+ 	* configure: Regenerate.
+ 
+ Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
+ 	require a sub-version #.
+ 	* configure: Rebuilt.
+ 
+ 1999-06-14  Robert Lipe  (robertlipe@usa.net)
+ 
+ 	* svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
+ 
+ Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* c-typeck.c (process_init_element): Detect excess elements in
+ 	char array initializer.
+ 
+ 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+ 
+ 	* gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
+ 
+ Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+ 
+ 	* invoke.texi (Option Summary): Add -fpermissive flag.
+ 
+ Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
+ 	that require PIC code sequences.
+ 
+ Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Add new target: thumb-elf.
+ 	* configure: Regenerate.
+ 	* config/arm/t-thumb-elf: New file: Makefile fragment for
+ 	thumb-elf build.
+ 	* config/arm/telf.h: New file: Header file for thumb-elf
+ 	build.
+ 
+ Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
+ 	* libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
+ 	initializers is some circumstances.
+ 
+ 	* fixinc/inclhack.def (endif_label): Add additional selector for
+ 	more bogus stuff after #endif statements.
+ 	* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
+ 
+ Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (SET_ASM_OP): Define.
+ 
+ Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
+ 
+ Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
+ 	latter.
+ 
+ 	* sh.md (ic_invalidate_line_i): Remove second alternative.
+ 
+ Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	*fixinc/inclhack.def(sun_auth_proto): We do not know how to
+ 	test for the presence of valid prototypes.  Delete bypass expr.
+ 	(ioctl_fix_ctrl): Correct the selection expression.
+ 	(no_double_slash): Correct quoting rules
+ 	*fixinc/fixincl.x: regen
+ 	*fixinc/inclhack.sh: regen
+ 
+ Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
+ 
+ Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.md (movsi_got_internal_mem): Delete.
+ 	* rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
+ 	(GOT_TOC_REGNUM): Delete.
+ 	(PIC_OFFSET_TABLE_REGNUM): Define.
+ 	(FINALIZE_PIC): Disable.
+ 	* rs6000.c (rs6000_got_register): New code for fixed pic register.
+ 	(rs6000_replace_regno): Delete.
+ 	(rs6000_finalize_pic): Likewise.
+ 	(output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
+ 
+ Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (loop_insn_first_p): Don't compare LUIDs when P
+ 	is a note; use <= for the compare; advance P while it is
+ 	a NOTE.
+ 
+ Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/inclhack.def (no_double_slash): Fix quoting for test.
+ 	* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
+ 
+ 	* varasm.c (remove_from_pending_weak_list): Verify t->name
+ 	is non-NULL before passing it to strcmp.
+ 
+ Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	*fixinc/inclhack.def(sun_auth_proto): bypass the patch if
+ 	the typed arguments are not part of a comment
+ 	(ioctl_fix_ctrl): Added a purpose comment
+ 	*fixinc/fixincl.x: regenerate
+ 	*fixinc/inclhack.sh: regenerate
+ 
+ Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* invoke.texi: Add C4x invocation docs.
+ 
+ Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
+ 	Define new macros.
+ 	* config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
+ 	TARGET_EXPOSE_LDP.
+ 	(c4x_legitimize_reload_address): New function.
+ 	* config/c4x/c4x.md: Update docs.
+ 
+ Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixincludes: Avoid removing '.'.
+ 	* fixinc/fixinc.svr4: Likewise.
+ 	* fixinc/fixinc.winnt: Likewise.
+ 	* fixinc/inclhack.tpl: Likewise.
+ 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
+ 
+ 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/inclhack.def (sun_catmacro): Escape parens in the select
+ 	pattern.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+ 
+ Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
+ 	correctly.
+ 
+ Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
+ 	* configure: Regenerate.
+ 
+ Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
+ 	values.
+ 
+ Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/inclhack.def (avoid_bool): Also catch
+ 	"typedef [unsigned] int bool".
+ 	* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+ 
+ 	* m68k/x-hp3bsd44: Delete obsolete and incorrect file.
+ 	* configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
+ 	* configure: Rebuilt.
+ 
+ Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
+ 	such that we can override its definitions if necessary.
+ 	(CPP_SPEC): New define.  Support processor specific predefines via
+ 	%(cpp_cpu).
+ 	(CC1_SPEC): New define.  Support processor specific compiler
+ 	options via %(cc1_cpu).
+ 	(STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
+ 	-static.
+ 
+ 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
+ 	between sed's -e flag, and the open-quote following it.
+ 	* fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
+ 
+ Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* varasm.c (assemble_start_function): Remove the function
+ 	from the pending weak decls list when we define a function.
+ 	(assemble_variable): Similarly for variables.
+ 	(weak_finish): Ignore items on the list with a NULL name.
+ 	(remove_from_ending_weak_list); New function to "remove" an item
+ 	from the pending weak declarations list.
+ 
+ Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+ 
+ 	* pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
+ 
+ Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* c-lex.c (GETC): Redefine to call getch.
+ 	(UNGETC): Redefine to call put_back.
+ 	(putback_buffer): New structure type.
+ 	(putback): New static structure.
+ 	(getch): New function.
+ 	(put_back): New function.
+ 	(yylex): Replace unused bytes from bad multibyte character.
+ 
+ Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cpplib.c (do_define): Cast `alloca' return value.
+ 	(do_include, do_undef, do_pragma): Likewise.
+ 	* cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
+ 	values.
+ 	* cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
+ 	* gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
+ 
+ Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* sparc.md (abstf2): This should be an expand.
+ 	(split after abstf2_notv9): Fix mode.
+ 	(abstf2_hq_v9): New pattern.
+ 	(abstf2_v9): Only use when no hard quad.
+ 	(absdf2_v9): Fix if target is not the same as source.
+ 	(ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
+ 	Add correct output constraints.
+ 
+ Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
+ 	* invoke.texi: Clarify text vis-a-vis Intel CPUs.
+ 
+ Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* mips.h (mips_output_conditional_branch): New function.
+ 	(mips_adjust_insn_length): Likewise.
+ 	(ASSEMBLER_SCRATCH_REGNUM): New macro.
+ 	(ADJUST_INSN_LENGTH): Likewise.
+ 	* mips.c (print_operand): Add `F' and `W' for floating-point
+ 	comparison opcodes.
+ 	(machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
+ 	are now in bytes.
+ 	(mips_adjust_insn_length): New function.
+ 	(mips_output_conditional_branch): New function.
+ 	* mips.md (length): Adjust attribute definition to handle
+ 	conditional branches.  Change lengths to bytes, rather than
+ 	instructions throughout.  Remove length attribute from
+ 	instructions whose length is four bytes, and rely on the default
+ 	instead.
+ 	(dslot): Fix typo in comment.
+ 	Reword conditional branch patterns to use
+ 	mips_output_conditional_branch.
+ 
+ Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
+ 	(LIB_SPEC): Likewise.
+ 	Link with -lprof1_r for -g/-pg.
+ 
+ 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* loop.c (check_dbra_loop): Fix change of Jan 19.
+ 
+ Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
+ 	(STARTFILE_SPEC):  Define, override the svr4.h version.
+ 	(ENDFILE_SPEC):  Likewise.
+ 
+ Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
+ 	* fixinc/fixincl.x: Regenerated.
+ 	* fixinc/inclhack.sh: Regenerated.
+ 
+ Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (barrier_align): Don't return early for normal branch/barrier
+ 	when optimizing for SH2.
+ 
+ Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* i386/udk.h (LINK_SPEC): Correct linker search path for
+ 	system libraries.
+ 
+ Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (fixup_addr_diff_vecs): Emit braf reference label.
+ 	(braf_label_ref_operand): Delete.
+ 	* sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
+ 	* sh.md (casesi_jump_2): Operand1 is now the inside of a
+ 	label_ref, and has no predicate.
+ 	The pattern has a predicate to guard against invalid substitutions.
+ 	(dummy_jump): Delete.
+ 	(casesi): Update use of casesi_jump_2.
+ 
+ Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	*fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
+ 	*fixinc/fixincl.x: regenerate
+ 	*fixinc/inclhack.sh: regenerate
+ 
+ Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (add_incomplete_type): New fn.
+ 	(gen_struct_or_union_type_die): Call it.
+ 	(retry_incomplete_types): New fn.
+ 	(dwarf2out_finish): Call it.
+ 
+ Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (insert_insn_end_bb): Correct placement of insns when the
+ 	current block starts with a CODE_LABEL and ends with a CALL and
+ 	we can not find all the argument setup instructions for the CALL.
+ 
+ Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	Revert this change:
+ 	* fold-const.c (fold): STRIP_NOPS when deciding whether or not
+ 	something is a candidate for optimize_bit_field_compare.
+ 
+ Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
+ 
+ Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (override_options): Thinko in last patch.
+ 
+ 	* alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
+ 	(LIB_SPEC): Recognize -pthread.
+ 
+ Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronize with
+ 	definition in config/arm/coff.h
+ 	* config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
+ 
+ Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
+ 	fixes that need "file=xxx\n" prepended before invocation
+ 	(start_fixer - new): starting the fixer process is complex enough
+ 	to warrent its own routine.  It prepends the "file=xxx\n" stuff.
+ 	(process): uses the new routine; omit usage of putenv()
+ 	* fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
+ 	* fixinc/fixincl.x: regenerate
+ 
+ Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
+ 	and version #s (1.1 -> 2.96) as needed.
+ 	* README.g77: Kill way out of date file in the toplevel directory.
+ 
+ Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
+ 
+ 	* configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
+ 	i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
+ 	* configure: Rebuilt.
+ 	* i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
+ 	(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
+ 	(SWITCH_TAKES_ARG): Likewise.
+ 	* i386/freebsd.h: Remove FREEBSD_NATIVE support.
+ 	* config/t-freebsd: Moved from config/i386/ so it can used for all
+ 	FreeBSD targets.
+ 
+ Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
+ 
+ Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* configure.in (i[34567]86-*-udk*): Install headers with cpio.
+ 	* configure: Rebuilt.
+ 
+ Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/aix41.h (RS6000_CALL_GLUE): Define.
+ 	* rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
+ 	* rs6000/rs6000.c (rs6000_file_start): Use putc.
+ 	(rs6000_output_load_toc_table): Same.
+ 	(output_prolog, output_mi_thunk): Same.
+ 	* rs6000/rs6000.h (SELECT_SECTION): Formatting.
+ 	(ASM_GLOBALIZE_LABEL): Use putc.
+ 
+ Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (reload_*_help): New patterns and splitters.
+ 	(reload_*): Use them.
+ 	(mov[qh]i): Likewise.
+ 
+ Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cccp.c (handle_directive): Handle backslash-newlines in quoted
+ 	strings correctly.
+ 
+ Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
+ 
+ 	* rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
+ 
+ Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* flow.c (mark_regs_live_at_end, insn_dead_p,
+ 	mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
+ 	and HARD_FRAME_POINTER_REGNUM special treatment if reload
+ 	hasn't run or the frame pointer is needed.
+ 	* haifa-sched.c (attach_deaths): Likewise.
+ 	* sched.c (attach_deaths): Likewise.
+ 
+ Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (jump_optimize_1): Only set CAN_REACH_END if
+ 	calculate_can_reach_end returns nonzero.
+ 
+ 	* configure.in (native gas tests): Search for an assembler in the
+ 	same manner that the installed compiler will.
+ 	* configure: Rebuilt.
+ 	* tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
+ 
+ 	* alias.c (find_base_term): Improve handling of addresses
+ 	constructed from binary operations.
+ 
+ Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
+ 
+ 	* dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
+ 
+ Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.h (cleanup_label, frame_offset): Declare.
+ 	(tail_recursion_label, tail_recursion_reentry): Likewise.
+ 	(arg_pointer_save_area, rtl_expr_chain): Likewise.
+ 	* stmt.c (cleanup_label, frame_offset): Delete extern declarations.
+ 	(tail_recursion_label, tail_recursion_reentry): Likewise.
+ 	(arg_pointer_save_area, rtl_expr_chain): Likewise.
+ 
+ Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
+ 	defined.
+ 	* config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
+ 	(MAX_OFILE_ALIGNMENT): Define.
+ 
+ Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* fixincl.c: Replace local include scheme with #includes of
+ 	gansidecl.h and system.h.
+ 	* procopen.c:  Likewise.
+ 	* server.c:  Likewise.
+ 
+ Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
+ 
+ 	* i386/t-dgux (EXTRA_PARTS): Add crti.o
+ 	(crti.o): Add build rule and dependencies.
+ 	* fixinc/fixinc.dgux:  Use modified _int_varargs.h
+ 
+ Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/sysv4.h (CC1_SPEC): Add support for -profile
+ 	(LIB_LINUX_SPEC): Likewise.
+ 	(LIB_LINUX_SPEC): Add support for -pthread
+ 	(CPP_OS_LINUX_SPEC): Likewise.
+ 	(CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
+ 	specified.
+ 
+ Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
+ 	conditional move.
+ 	(notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
+ 	(output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
+ 	for IEEE math and CC_FCOMI.
+ 	(put_jump_code): No IEEE if CC_FCOMI is set.
+ 
+ 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* fold-const.c (fold_truthop): Make the field reference unsigned
+ 	when converting a single bit compare.
+ 
+ Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Don't do biv->giv conversion on constants.
+ 
+ Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* varasm.c (STRIP_NAME_ENCODING): Remove default definition.
+ 	* output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
+ 	version did.
+ 
+ 	* reload.c (push_reload): Do not call remove_address_replacements
+ 	when presented with identical optional reloads.
+ 
+ Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (MASK_FIX, TARGET_FIX): New.
+ 	(MASK_*): Reorganize constants.
+ 	(CPP_AM_FIX_SPEC): New.
+ 	(TARGET_SWITCHES): Add FIX.
+ 	(EXTRA_SPECS): Likewise.
+ 	(CPP_CPU_EV6_SPEC): Use FIX, not CIX.
+ 	(SECONDARY_MEMORY_NEEDED): Likewise.
+ 	(REGISTER_MOVE_COST): Likewise.
+ 	* alpha.c (override_options): Add FIX support.  Always use
+ 	ALPHA_TP_PROG for ev6.
+ 	* alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
+ 	* alpha/elf.h (ASM_FILE_START): Look at FIX too.
+ 	* configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
+ 
+ Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (fold): STRIP_NOPS when deciding whether or not
+ 	something is a candidate for optimize_bit_field_compare.
+ 
+ Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gcc.texi (Passes): Document branch-shortening.
+ 	* invoke.texi (Debugging Options): Document the fact that `-dp'
+ 	outputs length information for instructions.
+ 
+ Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* flow.c: Revert previous delta.
+ 
+ Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* flow.c (insn_dead_p): Check against frame_pointer_rtx not
+ 	FRAME_POINTER_REGNUM.
+ 	(mark_set_1): Ditto.
+ 	(mark_used_regs): Ditto.
+ 
+ Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* arm.h (NEED_PLT_GOT): Fix mistake in last change.
+ 	(GOT_PCREL): New macro.  Define to 1 if not already defined.
+ 	* arm/elf.h (GOT_PCREL): Define to 0.
+ 	* arm.c (arm_finalize_pic): Take into account the setting of
+ 	GOT_PCREL.
+ 
+ Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* output.h (STRIP_NAME_ENCODING): Provide default definition.
+ 	* dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
+ 
+ 	* flow.c (mark_set_1): Do not record BLKmode stores as dead
+ 	store elimination candidates.
+ 
+ Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
+ 	TARGET_GAS.
+ 
+ Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
+ 	Add use of x-aix41-gld.
+ 
+ Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
+ 
+ 	* sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
+ 	(ASM_OUTPUT_DESTRUCTOR): Define.
+ 
+ Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
+ 	last CODE_LABEL in a loop if we have previously passed a jump
+ 	to the top of the loop.
+ 
+ Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
+ 	applying Philip's patch.
+ 
+ Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_end_bindings): Ignore any elements of VARS that
+ 	are not VAR_DECLs.
+ 
+ Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (strength_reduce): Grow reg_single_usage as needed.
+ 
+ Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
+ 
+ 	* i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
+ 	Also remove a useless comment.
+ 
+ Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+ 
+ 	* pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
+ 
+ Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (main): Only generate import or export file and add
+ 	to link arguments if non-empty.  Use xmalloc not alloca.
+ 	(write_{export,import}_file): Delete.
+ 	(write_aix_file): New function.
+ 	(locatelib): Use xmalloc not malloc.
+ 	(GCC_OK_SYMBOL): Do not check type if aix64.
+ 
+ Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	Based on patch by Scott Bambrough and Pat Beirne:
+ 	* config/arm/arm.c (making_const_table): New variable.
+ 	* config/arm/arm.h (making_const_table): Declare.
+ 	(OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
+ 	appropriate.
+ 	* config/arm/arm.md (consttable_4, consttable_8, consttable_end):
+ 	Keep track of when we are building the constant table.
+ 
+ Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/arm.c (arm_override_options): Fix erroneous warning
+ 	message.
+ 
+ Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (NEED_PLT_GOT): Only define if not already
+ 	defined.
+ 
+ Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* tm.texi (FUNCTION_ARG): Correct description of a stack element
+ 	in a PARALLEL.
+ 
+ Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
+ 
+ Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.c (output_mi_thunk): Enable full support again.
+ 
+ Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (BRANCH_COST): Define.
+ 
+ Thu May 20 10:00:42 1999  Stephen L Moshier  <moshier@world.std.com>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
+ 
+ Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* function.c (assign_stack_local): Align stack slot properly.
+ 	(assign_outer_stack_local): Likewise.
+ 
+ Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.h (lang_expand_constant): Declare.
+ 	* toplev.c (lang_expand_constant): Define it.
+ 	* varasm.c (output_constant): Use it.
+ 
+ Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
+ 	Change function definitions to K&R style.
+ 
+ Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/fixincl.c: We must not ignore SIGCLD now.
+ 
+ Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
+ 
+ 	* fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
+ 	* fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
+ 	(several places): omit static initialization
+ 	(process): use single fd, since only the read fd is used
+ 	* fixinc/gnu-regex.c: define 'const' away, if not supported
+ 	* fixinc/procopen.c(several places): omit static initialization
+ 	* fixinc/server.c: define 'volitile' away, if not supported
+ 
+ 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
+ 	asm_fprintf and %L to generate the label name.
+ 	* config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
+ 	(ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
+ 
+ Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (can_reverse_comparison_p): Do not abort if the comparison
+ 	insn for a conditional jump can not be found.
+ 
+ Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
+ 	on variables in specific sections other than .sbss and .sdata.
+ 
+ Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_return): Call start_cleanup_deferral and
+ 	end_cleanup_deferral around conditional code.
+ 
+ Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/fixincl.tpl: Avoid depending on ANSI C features for
+ 	filename lists.  Utilizes new "krstr" AutoGen function.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 
+ Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
+ 
+ 	* i386.c (output_float_compare): Avoid GNU-C extensions.
+ 
+ Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump to distinguish mainline tree from the
+ 	gcc-2.95 branch.
+ 
+ Tue May 18 03:53:37 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	Improve open-coding of complex divide:
+ 	* flags.h: Declare new front-end-malleable flag.
+ 	* toplev.c: Define new flag.
+ 	* optabs.c (expand_cmplxdiv_straight): New function to do original
+ 	open-coding.
+ 	(expand_cmplxdiv_wide): New function to do new open-coding,
+ 	from Toon Moene, with changes (call to emit_barrier, dropping
+ 	of spurious `ok = 1;', plus the obvious `break;' -> `return 0;').
+ 	(expand_binop): A bit of spacing fixing, while at it.
+ 	Use new functions instead of inlining the open-coding code.
+ 
+ Tue May 18 00:51:46 1999  Krister Walfridsson <cato@df.lth.se>
+ 
+ 	* configure.in (arm*-*-netbsd*): Use collect2.
+ 	(i[34567]86-*-netbsd*): Likewise.
+ 	(m68k*-*-netbsd*): Likewise.
+ 	(ns32k-*-netbsd*): Likewise.
+ 	(sparc-*-netbsd*): Likewise.
+ 	(vax-*-netbsd*): Likewise.
+ 	* configure: Rebuilt.
+ 
+ Tue May 18 00:21:34 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cppspec.c: Insert -no-gcc into command line unless -gcc was
+ 	given by user.
+ 	* gcc.c (default_compilers): Define __GNUC__ and
+ 	__GNUC_MINOR__ only if -no-gcc was not given.
+ 	* objc/lang-specs.h: Likewise.
+ 	* cpp.texi: Document -x and -std options; explain that -lang
+ 	is no longer supported.  Minor related corrections.
+ 
+ Mon May 17 23:56:39 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
+ 	fixproto.
+ 	* fixproto: Avoid unportable constructs such as `basename' and
+ 	`mkdir -p'.  Use mkinstalldirs from the environment if `mkdir -p'
+ 	fails.
+ 
+ 	* fixinc/fixincl.c: Remove #error, it is not portable.
+ 
+ Mon May 17 23:50:41 1999  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* collect2.c (main):  Fix typo in COLLECT2_HOST_INITIALIZATION.
+ 
+ Mon May 17 19:45:41 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/fixincl.c (process): Wait for children from chain_open()
+ 	to avoid creating zombies.
+ 
+ 	* fixinc/inclhack.tpl: Removed no-op pipe.
+ 
+ 	* fixinc/inclhack.sh fixinc/fixincl.sh: regenerate
+ 
+ Mon May 17 07:23:34 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
+ 	reality.
+ 	* expr.c (init_noncopied_parts): Don't generate initializers for
+ 	parts that don't need them.
+ 
+ Mon May 17 02:56:35 PDT 1999 Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Oct 31 05:08:34 CET 1998 Jan Hubicka  (hubicka@freesoft.cz)
+ 
+ 	* reg-stack.c: Do not emit pop insns after cc0 setter.
+ 	(emit_pop_insn): Do not emit insn in case WHEN is NULL.
+ 	(compare_for_stack_reg): Update REG_DEAD note and 
+ 	do not emit push insn.
+ 
+ 	* i386.c: (output_float_compare): Handle new REG_DEAD notes.
+ 
+ Mon May 17 01:57:37 1999  David Daney <daney@ibw.com.ni>
+ 
+ 	* i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker
+ 	if -mimpure-text.
+ 
+ 1999-05-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid
+ 	68881 constant.
+ 
+ 	* fold-const.c (fold_truthop): When converting a one-bit
+ 	comparison don't sign extend the constant.
+ 
+ 	* cse.c (cse_insn): Copy SRC_CONST before putting it in the
+ 	REG_EQUAL note.
+ 
+ 1999-05-17  Mike Stump  <mrs@wrs.com>
+ 
+ 	* rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
+ 
+ Sat May 15 14:22:40 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/hackshell.tpl: Fix mis-applied patch.
+ 	* fixinc/inclhack.sh: Regenerated.
+ 
+ Thu May 13 21:05:55 1999  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of
+ 	targets that do not need any fixes.
+ 
+ Sat May 15 14:12:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (set_lo_sum+2): New splitter to load large
+ 	const_ints.
+ 
+ Sat May 15 14:09:08 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (decrement_and_branch_on_count): Disabled.
+ 	(doloop_begin, doloop_end): New patterns.
+ 	(*rptb_init): Added extra operands.
+ 
+ Fri May 14 21:31:36 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2
+ 	constraints order.
+ 
+ 1999-05-14  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
+ 	asm input operands.
+ 
+ Thu May 13 15:34:18 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (mask_constant): Delete.
+ 	(mask_operand): Move mask_constant() body to here.
+ 	* rs6000.h (mask_constant): Delete declaration.
+ 	* rs6000.md (nabsdi2): Reverse subtraction in splitter.
+ 
+ Thu May 13 02:25:01 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cpp.texi: Fix some typos.
+ 
+ Thu May 13 01:49:55 1999  Graham Stott <GrahamS@RCP.co.uk>
+ 
+ 	* loop.c (maybe_eliminate_biv): Check regno against
+ 	max_reg_before_loop.
+ 
+ 	* i386.c (memory_address_info): Correct the scale
+ 	factor test.
+ 
+ Thu May 13 01:31:19 1999  Nick Burrett  <nick.burrett@btinternet.com>
+ 
+ 	* arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
+ 	applied to each register.
+ 	* aof.h (ASM_FILE_START): Define register `r0'.
+ 
+ 1999-05-12 20:22 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* configure.in: Make --enable-cpp and --with-cpp-install-dir
+ 	documented options.  Enable the cpp driver by default.
+ 	* configure: Rebuilt.
+ 
+ Wed May 12 18:08:48 1999  David Edelsohn     <edelsohn@gnu.org>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.c (print_operand) [w]: Calculate signed constant more clearly.
+ 	(rs6000_allocate_stack_space): Print as hexadecimal value.
+ 	* rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed,
+ 	16-bit shifted constant.  Fix typo for 'P'.
+ 	(EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand.
+ 	* rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1):
+ 	Use 'L' for shifted constant.
+ 	(anddi3_internal3): Fix typo.
+ 	(32-bit mask patterns): Use 'T'.
+ 
+ Wed May 12 07:30:31 1999  Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that
+ 	a file exists before trying to copy it into the destination
+ 	(extract_quoted_files): use that routine.
+ 
+ Wed May 12 07:27:31 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	Allow front end (like g77's) to override maintenance of errno:
+ 	* expr.c (expand_builtin): Bother with errno only if
+ 	flag_errno_math.
+ 	* flags.h: Declare flag_errno_math.
+ 	* toplev.c: Define flag_errno_math.
+ 
+ Tue May 11 23:55:49 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixproto: Change "mkdir" calls to "mkdir -p"
+ 
+ 	* fixinc/inclhack.def (io_def_quotes): Consistently allow multiple
+ 	whitespace characters between the "define" and the name of the macro.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+ 
+ Tue May 11 20:46:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_block_move): Handle TImode registers
+ 	used with ADDRESSOF.
+ 	(alpha_expand_block_clear): Handle ADDRESSOF specially.
+ 
+ 1999-05-11  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary
+ 	memory output operand which irritates gcc.
+ 
+ Tue May 11 11:45:16 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for
+ 	cpplib-enabled compilers.
+ 
+ Tue May 11 11:34:56 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses
+ 	around &&.
+ 
+ Mon May 10 13:51:24 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come
+ 	first.
+ 
+ Tue May 11 01:32:01 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/inclhack.def (sun_auth_proto): Apply to all targets.
+ 	(sysz_stdlib_for_sun): Similarly.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+ 
+ Mon May 10 20:34:10 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/mips/elf.h (UNIQUE_SECTION_P): Undef.
+ 	* config/mips/elf64.h (UNIQUE_SECTION_P): Undef.
+ 	* config/mips/mips.h (UNIQUE_SECTION_P): Define to 0.
+ 
+ 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppfiles.c (initialize_input_buffer): New function.
+ 	(finclude): Call it, if pfile->input_buffer is NULL.  Accept
+ 	any character device as an input file.
+ 	(read_and_prescan): Use pfile->input_buffer and
+ 	pfile->input_speccase.
+ 	* cppinit.c (cpp_cleanup): Free pfile->input_buffer and
+ 	pfile->input_speccase.
+ 	* cpplib.h (cpp_reader): Add input_buffer, input_speccase, and
+ 	input_buffer_len members.  Use memcpy in CPP_PUTS_Q.
+ 
+ 	* cppmain.c: Buffer output in the token_buffer; throttle
+ 	number of calls to fwrite; check for errors from fwrite.
+ 
+ 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cppspec.c: Treat two non-option arguments as input and
+ 	output file.  Three or more non-option args is an error.
+ 	Clean up.
+ 	* gcc.c (default_compilers): Pass -$ to the preprocessor.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ Mon May 10 12:59:20 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* optabs.c (emit_cmp_and_jump_insns): Handle the case where both
+ 	operands to the comparison are constants.
+ 
+ Mon May 10 07:28:10 1999  Bruce Korb <autogen@autogen.freeservers.com>
+ 
+ 	* fixinc/inclhack.def(arm_norcroft_hint): check before fixing
+ 	(no_double_slash): portability
+ 	(math_exception): added reminder comment
+ 
+ Mon May 10 01:28:10 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	From Fri May 7  9:31:41 1999 Donn Terry (donn@interix.com):
+ 	* varasm.c (mark_constant_pool): Add some transitive closure.
+ 
+ Sun May  9 22:51:04 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	Fix gcc.dg/990506-0.c:
+ 	* c-typeck.c (require_complete_type): Handle ERROR_MARK input.
+ 
+ Sun May  9 13:19:12 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (cprop_insn): Do not try to simplify a simple jump.
+ 
+ Sun May  9 11:12:19 1999  Philip Blundell <bp@nexus.co.uk>
+ 
+ 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if
+ 	necessary.  Reported by jim@federated.com.
+ 
+ Sat May  8 23:05:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the
+ 	base register in an absolute memory address.
+ 	* pa.md (conditional moves): Avoid using immediate zero for
+ 	register zero.
+ 
+ Sat May  8 06:23:21 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	Based on patch by Scott Bambrough:
+ 	* config/arm/arm.h (NEED_PLT_GOT): New macro.  Set to 0 if not
+ 	already defined.
+ 	* config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic.
+ 	* config/arm/arm.md (call_symbol, call_value_symbol et al.): If
+ 	NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches.
+ 	* config/arm/arm.c (output_func_epilogue,
+ 	output_return_instruction): Likewise for calls to abort.
+ 
+ Sat May  8 01:57:58 1999  Donn Terry (donn@interix.com)
+ 
+ 	* calls.c (rtx_for_function_call): Extend function pointer being
+ 	passed to chkr_check_exec_libfunc, if needed.
+ 
+ Sat May  8 01:51:50 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* ginclude/stdarg.h (__va_rounded_size): Use long type for
+ 	rounding on AIX.
+ 	* ginclude/varargs.h: Likewise.
+ 
+ Sat May  8 01:47:20 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* invoke.texi: Remove duplicates in the description of -d
+ 	letters.  Fix use of @item vs. @itemx.
+ 
+ Sat May  8 01:43:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
+ 	(CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
+ 	* rs6000.c (setup_incoming_varargs): Fix typo last change.
+ 	(init_cumulative_args): Remove varargs_offset references.
+ 
+ 	* rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
+ 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
+ 
+ Sat May  8 01:34:19 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* reload1.c (gen_mode_int): New function.
+ 	(reload_cse_move2add): Use it to generate the new constants.
+ 
+ Sat May  8 01:25:09 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* varasm.c (output_constant): Do nothing if -fsyntax-only.
+ 
+ Fri May  7 19:10:15 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
+ 	for TFmode when there are no instructions which accept REG+REG
+ 	instructions.
+ 
+ Fri May  7 12:38:54 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
+ 	* mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
+ 	function_section instead of text_section.
+ 	* mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
+ 	in TARGET_MIPS16 STRING_CST handling.
+ 
+ Fri May  7 09:54:11 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	Patch from: Nick Burrett  <nick.burrett@btinternet.com>
+ 
+ 	* arm.c (arm_poke_function_name): New function to implement
+ 	-mpoke-function-name.
+ 	* aof.h (ASM_DECLARE_FUNCTION_NAME): Call it.
+ 	* aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	* elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	* arm.h: Prototype it.
+ 	(TARGET_SWITCHES): Add `no-poke-function-name'.
+ 
+ Fri May  7 14:19:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/server.c (load_data): Cast text_size to long, adapt
+ 	format.
+ 	* fixinc/server.c (read_pipe_timeout): Declare volatile, modified
+ 	in signal handler.
+ 	(sig_handler): Add debug code.
+ 	* fixinc/server.c (run_shell): Don't \-escape cd, it breaks the
+ 	Ultrix V4.3 /bin/sh.
+ 	* fixinc/server.c (def_args): Use static instead of STATIC to
+ 	avoid redefinition error from linker iff DEBUG.
+ 
+ 	* fixinc/hackshell.tpl: Don't strip trailing directory from
+ 	DESTDIR - that is already done
+ 
+ 	* fixinc/fixincl.c (run_compiles): fix memory leak
+ 
+ Thu May  6 20:34:00 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* resource.c (mark_referenced_resources): Make volatil
+ 	monotonically increasing.
+ 	(mark_set_resources): Likewise.
+ 
+ Thu May  6 20:02:33 1999  Fred Fish  <fnf@be.com>
+ 
+ 	* rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined.
+ 	(HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise.
+ 
+ Wed May  5 20:28:32 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/.
+ 
+ Wed May  5 23:44:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from.
+ 
+ Wed May  5 16:26:13 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* function.c (purge_addressof_replacements): Rename into
+ 	purge_bitfield_addressof_replacements.
+ 	(purge_addressof_replacements): New variable.
+ 	(purge_addressof_1): Add code for changing addressof in notes for
+ 	field values which are extracted by usage MEM with narrower mode.
+ 	(purge_addressof): Initialize purge_bitfield_addressof_replacements.
+ 
+ Wed May  5 07:40:02 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	Patch from: Nick Burrett  <nick.burrett@btinternet.com>
+ 	* config/arm/arm.h (ARM_MCOUNT_NAME): Define.
+ 	(FUNCTION_PROFILER): Remove assembler dialect dependency and use
+ 	ARM_MCOUNT_NAME.
+ 	(TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency.
+ 
+ 	* config/arm/aof.h (ARM_MCOUNT_NAME): Define.
+ 
+ 1999-05-05 09:58 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* gcc.c (default_compilers): Fix brace nesting bug.
+ 	* objc/lang-specs.h: Use %i, not %g.mi, for the input file
+ 	when processing an .mi file.
+ 
+ Tue May  4 13:17:55 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* resource.c (mark_set_resources): Handle UNSPEC_VOLATILE,
+ 	ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in
+ 	mark_referenced_resources.
+ 
+ Mon May  3 22:38:41 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC
+ 	and AIX64 combination to warning.  Add warning for disabling
+ 	PowerPC64 support when using 64-bit mode.
+ 	(LIB_SPEC): Do not link with libg.a in 64-bit mode.
+ 	(LINK_SPEC): Do not export libg.exp symbols in 64-bit mode.
+ 	* rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid
+ 	XCOFF files.
+ 	(read_only_data_section, private_data_section,
+ 	read_only_private_data_section): Always align CSECTs to doubleword
+ 	boundary regardless of mode.
+ 	(TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in
+ 	64-bit mode.
+ 	(DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary.
+ 	(ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to
+ 	maintain doublword alignment.
+ 
+ Mon May  3 14:45:23 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (btst insns): btst does not leave cc0 in a usable
+ 	state for redundant tst eliminatino.
+ 	* mn10300.md (btst insns): Likewise.
+ 
+ Mon May  3 16:14:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (Pmode): Revert Oct 14th change which added a cast.
+ 
+ Sun May  2 14:02:21 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (struct tree_decl): Add comdat_flag.
+ 	(DECL_COMDAT): Define it.
+ 	* toplev.c (wrapup_global_declarations): Don't output a
+ 	DECL_COMDAT function just because it's public.
+ 
+ Sun May  2 15:16:42 1999  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.h (TARGET_SWITCHES): Fix error in previous change.
+ 	(ASSEMBLER_DIALECT): Define.
+ 	(CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
+ 	required for the UNIX assembler.
+ 	(ASM_OUTPUT_INT): Remove.  The compiler will synthesize it.
+ 	(ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
+ 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
+ 	(TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
+ 	* pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
+ 	adapted to output constants in octal.
+ 	* pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
+ 	of output_addr_const.  Output constants in octal.  Use assembler
+ 	dialect alternatives where DEC and UNIX assemblers use different
+ 	instruction names.
+ 
+ Sun May 2 01:15:06 PDT 1999 Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Fri Apr 30 13:55:43 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
+ 	* rs6000.c (expand_builtin_saveregs): For V4, initialize a private
+ 	va_list struct, and return a pointer to it.
+ 	(setup_incoming_varargs): V4 save area based off virtual_stack_vars
+ 	instead of frame_pointer.
+ 
+ Thu Apr 29 23:02:22 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* emit-rtl.c (start_sequence): Expand comments.
+ 	(start_sequence_for_rtl_expr): Likewise.
+ 	(push_to_sequence): Likewise.
+ 	(end_sequence): Likewise.
+ 	* expr.c (inhibit_defer_pop): Likewise.
+ 	* expr.h (inhibit_defer_pop): Likewise.
+ 	(NO_DEFER_POP): Likewise.
+ 	(OK_DEFER_POP): Likewise.
+ 
+ Thu Apr 29 22:13:46 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix'
+ 	--enable-threads[={yes,pthreads,posix}] is passed as a command
+ 	line parameter to configure.
+ 	* config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'.
+ 	(CPP_SPEC): Likewise.
+ 
+ Thu Apr 29 17:23:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (operand_subword): Religiously mask and sign-extend
+ 	from 32-bits to HOST_WIDE_INT.
+ 
+ Thu Apr 29 15:58:52 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* fixinc/regex.c, fixinc/regex.h: Removed.   Replace with...
+ 	* fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18.
+ 	* fixinc/Makefile.in (OBJ, HDR): Handle name changes from above.
+ 	(gnu-regex.o): Define REGEX_MALLOC to avoid memory leak.
+ 	* fixinc/fixincl.c: new regex.h header name
+ 	* Makefile.in: new regex.[ch] file names
+ 
+ Thu Apr 29 12:53:33 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (emit_call_1): Pass rounded_stack_size to emit_call
+ 	instead of the unrounded size.
+ 
+ 1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/mkfixinc.sh: Makesure the result shell script is writable
+ 
+ Wed Apr 28 10:36:39 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit
+ 	constant with an address register.
+ 
+ Wed Apr 28 00:14:41 PDT 1999 Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Apr 27 19:50:25 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
+ 	indicates no throw and no nonlocal gotos.
+ 	* optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
+ 	of -1 instead of 0 to indicate a nonlocal goto won't happen either.
+ 	* flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
+ 	blocks, look for REG_EH_REGION note exclusively.
+ 	(make_edges): Check for REG_EH_REGION > 0 for specified handlers.
+ 
+ Tue Apr 27 15:33:42 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (read_only_data_section, private_data_section,
+ 	read_only_private_data_section, toc_section): Align CSECT on
+ 	doubleword boundary for 64-bit target.
+ 	(DATA_SECTION_ASM_OP): Likewise.
+ 	* rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288.
+ 
+ Tue Apr 27 20:19:47 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (insv): Use copy_addr_to_reg.
+ 
+ 	* final.c (insn_lengths_max_uid): New variable.
+ 	(init_insn_lengths, shorten_branches): Set it.
+ 	(get_attr_lengths): Test insn uid against insn_lengths_max_uid.
+ 
+ 1999-04-27 08:32 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
+ 	(compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
+ 
+ Tue Apr 27 01:33:43 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS.
+ 	Remove "CC".
+ 	(FLAGS_TO_PASS): New variable.
+ 
+ Tue Apr 27 00:36:44 1999  Nick Burrett  <nick.burrett@btinternet.com>
+ 
+ 	* arm.md (nop): Output instruction using output_asm_insn to fix
+ 	assembler dialect problems.
+ 
+ Mon Apr 26 23:55:50 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* Makefile.in (fixinc.sh): Fix dependencies.
+ 
+ 	* fixinc/inclhack.def (avoid_bool): Enable match if typedefs are
+ 	prepended by spaces.
+ 	(sco5_stat_wrappers): New fix.   Make sys/stat.h C++ safe.
+ 	* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+ 
+ Mon Apr 26 23:28:54 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+                           Donn Terry  <donn@interix.com>
+ 
+ 	* function.c (put_var_into_stack): Change ptr_mode to Pmode
+ 	in setup for chkr_set_right_libfunc calls.
+ 	(assign_params): Likewise.
+ 	* expr.c (emit_push_insn): Change ptr_mode to Pmode in
+ 	setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
+ 	(expand_assignment): Change ptr_mode to Pmode in
+ 	setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
+ 	(store_expr): Change ptr_mode to Pmode in
+ 	setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
+ 	(expand_expr): Change ptr_mode to Pmode in
+ 	setup for chkr_check_addr_libfunc.
+ 	(expand_builtin): Change ptr_mode to Pmode in
+ 	setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
+ 	chkr_check_addr_libfunc.
+ 	* calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
+ 	setup for chkr_check_exec_libfunc.
+ 	(expand_call): Change ptr_mode to Pmode in
+ 	setup for chkr_set_right_libfunc.
+ 	(expand_call): Change ptr_mode to Pmode in
+ 	setup for chkr_set_right_libfunc.
+ 	(store_one_arg): Change ptr_mode to Pmode in
+ 	setup for chkr_set_right_libfunc.
+ 
+ 	* c-parse.in (absdcl1): Allow attributes in explicit typespecs.
+ 	(%expect): Update.
+ 	* c-parse.y: Regenerate.
+ 	* c-parse.c: Likewise.
+ 	* objc/objc-parse.c: Likewise.
+ 	* objc/objc-parse.y: Likewise.
+ 
+ Mon Apr 26 21:17:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-pragma.c (push_alignment): Don't ignore alignments greater than
+ 	4 bytes.
+ 	(handle_pragma_token): Likewise.
+ 
+ 	* c-pragma.c: Support for #pragma pack (push, <id>, <n>).
+ 	(struct align_stack): Add id field.
+ 	(push_alignment, pop_alignment): Take id parameter.
+ 	(handle_pragma_token): Add necessary states.
+ 	* c-pragma.h (enum pragma_state): Add necessary states.
+ 
+ Tue Apr 27 13:58:23 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test,
+ 	*cmpqi_test_noov): Remove ? modifier from constraints list.
+ 	(*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap
+ 	output strings to match new constraint ordering.
+ 
+ 1999-04-26 19:16 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpphash.c (dump_definition): New function.
+ 	* cpphash.h: Prototype it.
+ 
+ 	* cpplib.c (handle_directive): Don't output anything here.
+ 	Streamline.
+ 	(pass_thru_directive): Take a length, not a pointer to the
+ 	end.  All callers changed.
+ 	(do_define): Handle -dD, -dN, -g3 entirely here.  Streamline.
+ 	(do_include): Handle -dI here.
+ 	(do_ident): Correct to match cccp.
+ 	(do_pragma): Copy the pragma through here.
+ 	(do_assert, do_unassert): Tidy.
+ 
+ 	* cppinit.c (cpp_finish): If -dM was specified, walk the macro
+ 	hash table and call dump_definition on all the entries.
+ 	* cppmain.c: cpp_finish may produce output.
+ 
+ Mon Apr 26 15:27:33 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.c (compile_file): Move call to check_global_declarations
+ 	after output_exception_table to restore behavior as it was before
+ 	1999-04-22 change.
+ 
+ 1999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/fixincl.c:  Improve the handling of child process exits
+ 	* fixinc/server.[ch]: Export the interface for shutting down
+ 	the server process
+ 	* fixinc/inclhack.tpl: Remove unnecessary character quote
+ 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate
+ 
+ Mon Apr 26 10:41:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* alpha.md (builtin_setjmp_receiver): Use a label_ref instead of
+ 	a code label.
+ 
+ 1999-04-26 09:47 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* rtl.texi: Document the rtl classes and their relation to
+ 	formats.
+ 
+ Mon Apr 26 01:02:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0
+ 	for less work in reload.
+ 	(movsf and movdf patterns): Put fp reg alternatives first.
+ 
+ Mon Apr 26 01:55:56 1999  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* configure.in (openbsd): Factorize xmake_file.
+ 	(ix86 openbsd): Trim obsolete comment.
+ 	(vax openbsd): Fix typo.
+ 	* configure: Rebuilt.
+ 
+ Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com>
+ 
+ 	* expr.c (expand_assignment): Improve test for pointer type.
+ 
+ Mon Apr 26 00:26:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (print_operand_address): Account for the subreg word.
+ 
+ Mon Apr 26 01:08:36 1999  Toshiyasu Morita  (tm@netcom.com)
+ 
+ 	* fold-const.c (make_range): Always initialize arg0 and arg1.
+ 	(fold): Similarly for alt0 and alt1.
+ 	* function.c (fixup_var_refs_insns): Initialize insn_list.
+ 	(instantiate_virtual_regs_1): Initialize offset.
+ 	* optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
+ 	and op1_xhigh.
+ 	* stmt.c (expand_end_case): Initialize minval and maxval.
+ 
+ Mon Apr 26 01:02:34 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* toplev.c (report_error_function): Reorder file stack and
+ 	function name printing.  Ignore FILE parameter.
+ 
+ Mon Apr 26 00:58:54 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+ 
+ 	* pa.h (architecture_type): New enum.
+ 	(pa_arch_string, pa_arch): Declare.
+ 	(MASK_PA_10, MASK_PA_20): New flags.
+ 	(TARGET_SWITCHES): Add pa-risc-2-0.  Update docs for PA1.0 codegen.
+ 	(TARGET_OPTIONS): Add -march= option.
+ 	* pa.c (pa_arch, pa_arch_string):  Define.
+ 	(override_options):  Set them.
+ 	* pa/pa-hpux10.h (ASM_FILE_START):  Output LEVEL 2.0 asm directive for
+ 	2.0 architecture.
+ 	* invoke.texi (Option Summary, HPPA Options):  Document new
+ 	architecture flags.
+ 
+ 	* pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h,
+ 	pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by
+ 	TARGET_PA_11 and MASK_SNAKE by MASK_PA_11.
+ 
+ Mon Apr 26 00:28:25 1999  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* flags.h (inline_max_insns): Declare.
+ 	* integrate.c (inline_max_insns): New variable.
+ 	(function_cannot_inline_p): Use it.
+ 	* toplev.c (main): Add the flag -finline-limit-n.
+ 	(display_help): Document -finline-limit-n.
+ 	* invoke.texi: Document -finline-limit-n
+ 
+ Sun Apr 25 23:03:32 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Reload in-out reg-only memory operands.
+ 
+ Sun Apr 25 13:06:13 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (assign_parms/STACK_BYTES): Revert last change,
+ 	and that of 19 Nov.
+ 
+ Sun Apr 25 12:30:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (emit_call_1): New arg rounded_stack_size; update callers.
+ 	Update pending_stack_adjust based on this value.
+ 	(compute_argument_block_size): Include pending_stack_adjust in
+ 	PREFERRED_STACK_BOUNDARY alignment.
+ 	* function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY.
+ 
+ Sun Apr 25 14:38:10 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* stupid.c (stupid_mark_refs): Generate a REG_UNUSED note
+ 	for a register which is clobbered even if the register
+ 	was used by an earlier instruction.
+ 
+ 	* i386.md (fix_truncsfdi2, fix_truncdfdi2,
+ 	fix_truncxfdi2): Don't bother with the gen_reg_RTX.
+ 	(fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2,
+ 	fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update
+ 	operand constraints and modes.
+ 	* i386.c (output_fix_trunc): Use HImode register to avoid
+ 	memory stalls.  Call output_move_double instead of output_to_reg.
+ 	(output_to_reg): Remove.
+ 	* i386.h: Likewise.
+ 
+ 	* i386.md (negsf2, negdf2, negxf2): Set the type
+ 	attribute to fpop.
+ 
+ Sat Apr 24 23:15:57 1999  Donn Terry (donn@interix.com)
+ 
+ 	* alpha.md (call_value_nt): Correct subscripts.
+ 
+ Sat Apr 24 20:49:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (PRINT_OPERAND_ADDRESS): Break out to ...
+ 	* alpha.c (print_operand_address): here.  Handle subregs.
+ 
+ Fri Apr 23 22:35:41 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* acconfig.h (HAVE_GAS_FILDS_FISTS): Add.
+ 	* configure.in: Check assembler instructions.
+ 	* configure: Rebuild.
+ 	* config.in: Likewise.
+ 	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
+ 	* i386.c (print_operand): Use the proper suffix for a 387 HImode
+ 	operand.  Abort if a 387 operand has an unsupported size.
+ 
+ Fri Apr 23 16:57:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_write_verstamp): Mark `file' unused.
+ 	* alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx.
+ 	(LIBCALL_VALUE): Likewise.
+ 	(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs.
+ 
+ Fri Apr 23 14:57:33 1999  Donn Terry  <donn@interix.com>
+ 
+ 	* alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
+ 
+ 	* alpha.c (alpha_initialize_trampoline): Add covert_memory_address
+ 	calls as needed.
+ 
+ Fri Apr 23 14:36:47 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_prologue): Don't negate frame size
+ 	for use with subq.
+ 
+ Fri Apr 23 09:43:18 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): Display LABEL_NUSES for labels.
+ 
+ Thu Apr 22 23:08:37 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.h (wrapup_global_declarations): Declare.
+ 	(check_global_declarations): Likewise.
+ 	* toplev.c (wrapup_global_declarations): New function, split out
+ 	from ...
+ 	(check_global_declarations): Likewise...
+ 	(compile_file): Here.
+ 
+ Thu Apr 22 22:34:41 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-parse.in (expr_no_commas): Verify we've an expr before
+ 	calling C_SET_EXP_ORIGINAL_CODE.
+ 
+ Thu Apr 22 22:22:15 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* toplev.c (rest_of_compilation): Always set
+ 	current_function_uses_only_leaf_regs appropriately.
+ 
+ Thu Apr 22 14:39:43 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro.
+ 	(HAVE_BZERO): Likewise.
+ 	(HAVE_BCMP): Likewise.
+ 	(HAVE_RINDEX): Likewise.
+ 	(HAVE_INDEX): Likewise.
+ 	(DIR_SEPARATOR_2): Define.
+ 	(GET_ENV_PATH_LIST): Turn path lists into POSIX.
+ 	(PATH_SEPARATOR): Use ':'.
+ 
+ 1999-04-22 Bruce Korb <ddsinc09@ix.netcom.com>
+ 
+ 	* configure.in: enable disabling of fast fixincludes
+ 	* configure: regenerate
+ 
+ 1999-04-21 14:55 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* gen-protos.c: #undef abort after including system.h.
+ 	Delete defns of fancy_abort and	fatal.
+ 	* fix-header.c: Delete defn of fancy_abort.
+ 
+ Wed Apr 21 12:09:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* cccp.c (simplify_filename): Always preserve leading double slash.
+ 
+ Wed Apr 21 18:15:55 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md: Add new peepholes to remove redundant loads.
+ 
+ Wed Apr 21 17:41:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (binary patterns): Reorder alternatives
+ 	so that two operand instructions are chosen before three operand
+ 	instructions.
+ 
+ Tue Apr 20 23:38:58 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
+ 	order.
+ 
+ 	* Makefile.in (c-parse.c): Put BISON parameters in correct
+ 	order.
+ 
+ Tue Apr 20 16:38:11 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (nt_lda): New pattern.
+ 	* alpha.c (alpha_expand_prologue): Use it for large frames
+ 	under windows nt.
+ 
+ Tue Apr 20 17:57:14 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/arm/arm.md (movhi):  Add check for odd offset.
+ 
+ Tue Apr 20 13:14:58 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (output_move_double): Abort if a non-offsettable
+ 	memory operand is encountered.  Delete unused code.
+ 	(find_addr_reg): Remove.
+ 
+ Mon Apr 19 21:13:02 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* tree.def (BLOCK): Fix typo in comment.
+ 
+ 1999-04-19 14:51 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpplib.c (output_line_command): Drop CONDITIONAL argument.
+ 	We can omit unnecessary line commands if file_change ==
+ 	same_file and pfile->lineno != 0.  All callers changed.
+ 	(cpp_get_token [case '\n']): Don't bump pfile->lineno if
+ 	CPP_OPTIONS (pfile)->no_line_commands is set.
+ 	* cpplib.h: Fix prototype of output_line_command.
+ 
+ 1999-04-18 17:46 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppfiles.c (find_position, read_and_prescan): Use `unsigned
+ 	long' variables consistently to count line and column numbers.
+ 
+ Sun Apr 18 15:50:33 EDT 1999  John Wehle  (john@feith.com)
+ 
+ 	* output.h (current_function_is_leaf,
+ 	current_function_uses_only_leaf_regs): Declare.
+ 	* function.c (current_function_is_leaf,
+ 	current_function_uses_only_leaf_regs): Define.
+ 	(init_function_start): Initialize current_function_is_leaf
+ 	and current_function_uses_only_leaf_regs.
+ 	* final.c (leaf_function): Don't define.
+ 	(final_start_function): Replace uses of leaf_function with
+ 	current_function_uses_only_leaf_regs.
+ 	* toplev.c (rest_of_compilation): Set current_function_is_leaf
+ 	prior to invoking local register allocation.
+ 	(rest_of_compilation): Replace uses of leaf_function with
+ 	current_function_uses_only_leaf_regs.
+ 	* dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
+ 	* dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
+ 	* dwarfout.c (add_location_or_const_value_attribute): Likewise.
+ 	* sdbout.c (sdbout_symbol): Likewise.
+ 	* sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
+ 	* sparc.c (eligible_for_epilogue_delay, output_return,
+ 	sparc_return_peephole_ok): Likewise.
+ 	* sparc.md (leaf_function attribute, untyped_return): Likewise.
+ 	* i386.c (ix86_compute_frame_size): Don't align the stack
+ 	for leaf functions which don't allocate any stack slots.
+ 	* tm.texi: Update documentation.
+ 
+ Sun Apr 18 02:15:09 PDT 1999 Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Apr 18 00:08:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
+ 	make sure FP_BASE_P registers are only used with an integer.
+ 
+ Sat Apr 17 22:54:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (REG_OK_FP_BASE_P): New macro.
+ 	(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
+ 	* alpha.md (adddi3+1): New insn to handle large constants off
+ 	the soft frame pointer.
+ 	(adddi3+2): Don't split soft frame pointer or arg pointer additions.
+ 
+ Sun Apr 18 17:24:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (legitimize_operands): Use rtx_cost
+ 	to determine if it is worthwhile forcing a constant into a register.
+ 	* config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
+ 	used with a logical and or an integer value of 16 or 24 used with
+ 	a right shift has zero cost on the C40.
+ 
+ Sat Apr 17 21:30:11 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* gcse.c (compute_local_properties): If setp is nonzero, clear
+ 	TRANSP instead of setting it to all ones.
+ 
+ Sat Apr 17 21:10:10 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* i386.c (i386_preferred_stack_boundary_string): New global variable.
+ 	(i386_preferred_stack_boundary): New global variable.
+ 	(override_functions): Set it.  Tidy option setting code.
+ 	* i386.h (TARGET_OPTIONS): New command line option.
+ 	(i386_preferred_stack_boundary_string): Declare it.
+ 	(i386_preferred_stack_boundary): Likewise.
+ 	(PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
+ 
+ Sat Apr 17 19:22:38 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* i386.c (k6_cost): Take into account the decoding time.
+ 
+ Sat Apr 17 19:13:22 1999  Donn Terry  <donn@interix.com>
+ 
+ 	* i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
+ 	* i386.c (print_operand): New %_ operator.
+ 	(load_pic_register): Proper number of leading _ in GOT literal.
+ 	* i386.md (prologue_get_pc_and_set_got): Likewise.
+ 	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ Sat Apr 17 19:13:07 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of
+ 	emit_move_insn+plus_constant.  For NT, don't use the stack probe
+ 	loop pointer to allocate stack space.
+ 	* alpha.md (adddi3): Always use lda to set the stack pointer.
+ 
+ 1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
+ 	haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
+ 	toplev.h for real declaration of trim_filename.
+ 	* Makefile.in: Update dependencies.
+ 
+ Sat Apr 17 14:36:19 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* tree.c (chainon): Check for circularity only if
+ 	ENABLE_CHECKING is defined.
+ 
+ 1999-04-17 10:15 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cccp.c: Make fatal non-static.
+ 
+ Sat Apr 17 23:47:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
+ 	New logical and patterns using C40 bit-field insert instructions.
+ 	(*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
+ 	*ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
+ 	instructions.
+ 
+ 1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* system.h: Always prototype abort.  Prototype fatal.  Define
+ 	abort to call fatal, not fprintf/exit.  Define a stub macro
+ 	for trim_filename.
+ 	* toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
+ 	function.
+ 	* toplev.h: Prototype trim_filename, and #undef system.h's stub.
+ 
+ 	* gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
+ 	genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
+ 	genpeep.c, genrecog.c: Make fatal non-static.
+ 	* gcov.c, gengenrtl.c, protoize.c: #undef abort after
+ 	including system.h.
+ 
+ 	* config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
+ 	relating to abort.
+ 
+ Sat Apr 17 11:25:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber):
+ 	New patterns to support parallel multiply and load of zero.
+ 
+ Fri Apr 16 01:23:47 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.c (valid_machine_attribute): If we're modifying the
+ 	FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
+ 	update the POINTER_TYPE.
+ 
+ Fri Apr 16 00:19:31 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* i386.c (x86_adjust_cost): Move break statement to correct place.
+ 
+ Thu Apr 15 23:17:33 1999  Jerry Quinn <jquinn@nortelnetworks.com>
+ 
+ 	* pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
+ 	HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
+ 	8000 to PROCESSOR_8000.
+ 
+ Thu Apr 15 20:46:57 1999  Donn Terry (donn@interix.com)
+ 
+ 	* expr.c (expand_assignment): Force pointers to proper mode if
+ 	POINTERS_EXTEND_UNSIGNED is defined.
+ 
+ 	* xm-alpha.h (alloca.h): Add Interix to list of special machines
+ 	that don't like alloca.h, pending using autoconf results.
+ 
+ 	* except.c (start_catch_hadler): Be sure rtime_address is Pmode
+ 	if POINTERS_EXTEND_UNSIGNED.
+ 
+ 	* except.c (expand_eh_return): Force pointers to proper mode if
+ 	POINTERS_EXTEND_UNSIGNED.
+ 
+ Thu Apr 15 23:13:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h:  Tweaked comment formatting.
+ 	* config/c4x/c4x.c:  Likewise.
+ 
+ Thu Apr 15 02:45:19 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
+ 	* configure.in: Use.
+ 	* configure: Rebuilt.
+ 	* acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
+ 	* config.in: Rebuilt.
+ 	* system.h: Use.
+ 
+ Thu Apr 15 01:03:21 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 			  Jeff Law <law@cygnus.com>
+ 
+ 	* i386.md (QImode add pattern): Support lea instruction.
+ 	(HImode add pattern): Likewise.
+ 
+ 	* i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
+ 	(ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
+ 	output_ashl.
+ 	(ashlhi): Likewise.
+ 	* i386.h (output_ashl): Renamed from output_ashlsi3.
+ 	* i386.c (output_ashl): Likewise; support HImode and QImode operands
+ 	as well.
+ 
+ 	* i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
+ 	memory_address_displacement_length instead of memory_address_length.
+ 	* i386.c (memory_address_info): Renamed from memory_address_length.
+ 	Accept new argument DISP_LENGTH.  All callers changed.  If DISP_LENGTH,
+ 	then return the displacement length.  Else return length of the
+ 	entire memory address.  Handle MULT case correctly.
+ 	* i386.h (memory_address_info): Update declaration.
+ 
+ 	* i386.md (memory_bit_test): Fix paren error.
+ 
+ Wed Apr 14 21:29:18 1999  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* flow.c: (make_edges): Always make edges from a basic block
+ 	to its exception handlers, even if the block ends with a jump.
+ 
+ 1999-04-14 23:26 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* graph.c (node_data): Return void.  Ignore result of
+ 	print_rtl_single.  Change caller to match.
+ 	* integrate.c (subst_constants): Initialize op0_mode to an
+ 	invalid mode, and abort before use if it's still invalid.
+ 	(Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
+ 	* objc/objc-act.c (get_objc_string_decl,
+ 	build_selector_translation_table, generate_protocol_list,
+ 	synth_id_with_class_suffix, build_keyword_selector,
+ 	build_selector_expr, gen_declarator): Abort when the tree
+ 	structure is corrupted.
+ 
+ Wed Apr 14 19:57:49 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (alpha interix): Use symbolic names to set
+ 	target_cpu_default.
+ 	* configure: Rebuilt.
+ 
+ 	* explow.c (allocate_dynamic_stack_space): Undo last change.  Use
+ 	convert_memory_address instead.
+ 
+ Wed Apr 14 19:42:02 1999  Donn Terry (donn@interix.com)
+ 
+ 	* alpha/lib1funcs.asm: New file.
+ 	* alpha/t-interix (lib1funcs.asm): Add to build.
+ 
+ 	* explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
+ 	to Pmode.
+ 
+ Wed Apr 14 14:26:36 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (truncxfdf): Output the template supplied
+ 	by output_move_double with the correct operands.
+ 
+ 	* i386.md (extendsfdf, extendsfxf, extenddfxf): Use
+ 	output_float_extend instead specifying '#' as the template.
+ 	* i386.c (output_float_extend): Define.
+ 	* i386.h (output_float_extend): Declare.
+ 
+ Wed Apr 14 10:48:03 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/mips/elf.h, config/mips/elf64.h
+ 	(CTORS_SECTION_ASM_OP): Define.
+ 	(DTORS_SECTION_ASM_OP): Define.
+ 	(EXTRA_SECTIONS): Define.
+ 	(INVOKE__main): Define.
+ 	(NAME__MAIN): Define.
+ 	(SYMBOL__MAIN): Define.
+ 	(EXTRA_SECTIONS_FUNCTIONS): Define.
+ 	(SECTION_FUNCTION_TEMPLATE): Define.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Define.
+ 	(ASM_OUTPUT_DESTRUCTOR): Define.
+ 	(CTOR_LIST_BEGIN): Define.
+ 	(CTOR_LIST_END): Define.
+ 	(DTOR_LIST_BEGIN): Define.
+ 	(DTOR_LIST_END): Define.
+ 	(LIB_SPEC): Define.
+ 	(STARTFILE_SPEC): Define.
+ 	(ENDFILE_SPEC): Define.
+ 	* config/mips/linux.h:  Undefine all of the above.
+ 	* config/mips/rtems64.h: Likewise.
+ 	* config/mips/t-r3900: Likewise.
+ 	* config/mips/t-elf: New file.
+ 	* config/mips/vxworks.h: New file.
+ 	* configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
+ 	(mips*-*-*elf*):  Use t-elf instead of t-ecoff.
+ 	* configure: Regenerate.
+ 
+ Wed Apr 14 09:59:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (emit_reload_insns): Also find equivalent mems
+ 	for subregs of pseudos.
+ 
+ 	* alpha.c (aligned_memory_operand): Recognize the output of
+ 	LEGITIMIZE_RELOAD_ADDRESS.  Examine reg_equiv_memory_loc in
+ 	the event of a pseudo.
+ 	(unaligned_memory_operand): Likewise.  Don't otherwise accept
+ 	completely illegal addresses.
+ 	(normal_memory_operand): Likewise.  Handle subregs of pseudos.
+ 	(get_aligned_mem): Revert previous change.  Abort if we don't have a
+ 	mem.  During reload, call find_replacement on all illegal memories.
+ 	(get_unaligned_address): Likewise.
+ 	* alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
+ 	instead of unaligned_memory_operand.
+ 	* alpha.md: Revert extra argument to get_aligned_mem.
+ 	(reload_inqi): Use any_memory_operand in constraints.  Abort if
+ 	we're not given some sort of mem.
+ 	(reload_inhi): Likewise.
+ 	(reload_outqi, reload_outhi): Likewise.
+ 
+ Wed Apr 14 09:39:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (neghi): Use the whole register when widening the op.
+ 
+ 1999-04-14 12:37 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpperror.c, cppexp.c, cpplib.c: Never call abort.
+ 	* cpphash.c: Only call abort when we detect corruption of the
+ 	malloc arena.
+ 	* cppmain.c: Don't define fatal or fancy_abort.
+ 
+ Wed Apr 14 09:19:39 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
+ 	requires value to be ready one extra cycle.
+ 
+ Wed Apr 14 11:28:34 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* config/i386/i386.c (memory_address_length): Add missing parenthesis.
+ 
+ Wed Apr 14 13:59:27 1999  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* extend.texi (Deprecated Features): New node.
+ 	* invoke.texi (-Wdeprecated): Document.
+ 
+ Wed Apr 14 00:18:22 1999  Jan Hubicka <hubicka@freesoft.cz>
+ 
+ 	* i386.md (SImode logical compare): Avoid outputting non-pariable testw
+ 	and testl on Pentium.
+ 	(register and memory bit tests): Likewise.
+ 	(setcc, normal and reversed conditional branches): Use shorter
+ 	sequence for testing flags stored in EAX.
+ 
+ 	* i386.md (xorsi3): Do not output NOT instrctions on Pentium.
+ 	(xorqi3): Likewise.
+ 	(xorhi3): Likewise.
+ 	(notsi2): Likewise.
+ 	(notqi2): Likewise.
+ 	(nothi2): Likewise; do not output prefixed opcodes when possible.
+ 
+ 	* i386.md (neghi2): Do not output prefixed opcode when possible.
+ 	(ashlhi3): Likewise.
+ 
+ Wed Apr 14 00:08:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (memory_address_length): New function.
+ 	* i386.h (memory_address_length): Declare it.
+ 
+ Tue Apr 13 22:52:04 1999  Donn Terry (donn@interix.com)
+ 			  Martin Heller (Ing.-Buero_Heller@t-online.de)
+ 
+ 	* configure.in (interix Alpha): Add.
+ 	(winnt Alpha): Use alpha32.h
+ 	(interix i386): Parallel Alpha32.
+ 	* configure: Rebuilt.
+ 
+ 	* config/interix.h: Move common elements from i386-interix.h.
+ 	* config/i386/i386-interix.h: Delete same.
+ 	* config/alpha/alpha-interix.h: New file.
+ 
+ 	* config/alpha/alpha32.h: New file, part fron win-nt.h.
+ 	* config/alpha/win-nt.h: Deletions (-> alpha32.h).
+ 	* config/alpha/interix.h: New file
+ 
+ 	* config/alpha/alpha.md (interix): Comment.
+ 
+ 	* config/alpha/xm-alpha-interix.h: New file.
+ 
+ 	* config/alpha/t-interix: New file.
+ 
+ 	* fixinc/mkfixinc.sh (interix/Alpha): Add.
+ 
+ 1999-04-13  Mike Stump  <mrs@wrs.com>
+ 
+ 	* i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
+ 	(CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
+ 
+ Tue Apr 13 21:01:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-common.c (default_valid_lang_attribute): New fn.
+ 	(valid_lang_attribute): New callback ptr.
+ 	(decl_attributes): Call it.  Move init_priority support into
+ 	C++ frontend.
+ 
+ Tue Apr 13 17:47:14 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movdi): Add splitter.
+ 
+ Wed Apr 14 10:04:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
+ 	loadqf_int_clobber): Add new patterns with corresponding splitters
+ 	to handle moves of floating point values into and out of intager
+ 	registers by using memory.
+ 
+ 	* config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
+ 	other than QFmode and QImode.
+ 	(mixed_subreg_operand): New function.
+ 	(c4x_emit_move_sequence): If moving a floating point value into or
+ 	out of an integer register, use the new patterns storeqf_int_clobber
+ 	or loadqf_int_clobber.
+ 	(reg_imm_operand, *_reg_operand): Call reg_operand instead of
+ 	register_operand.
+ 	(reg_operand, src_operand): Disallow operand if it satisifes
+ 	mixed_subreg_operand.
+ 
+ 	* config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
+ 
+ Tue Apr 13 14:49:13 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.c (agi_dependent): Handle push operation more correctly.
+ 
+ Tue Apr 13 14:45:17 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (anddi3): Add % constraint.
+ 	(iordi3, xordi3): Likewise.
+ 
+ Tue Apr 13 14:29:58 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (extendhisi2): Output mov instead of cw instruction for K6
+ 	to improve decoding bandwidth.
+ 	* i386.md (extendhiqi2): Likewise.
+ 
+ Tue Apr 13 14:26:31 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md (movsf_push): Handle memory to memory case too, new splitter.
+ 	(movdf_push, movxf_push): Likewise.
+ 	(movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
+ 
+ Tue Apr 13 14:14:06 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.md: Do not output mov %0,reg on AMD K6.
+ 
+ Tue Apr 13 12:14:07 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cppinit.c (cpp_start_read): Fix buffer overwrite.
+ 	* Makefile.in (cppinit.o): Typo in dependencies.
+ 
+ Tue Apr 13 05:04:59 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (function prototypes for arm.c): Ifdef these out if
+ 	HAVE_CONFIG_H is not defined.
+ 
+ Tue Apr 13 02:11:11 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c: Avoid Using immediate zero for register zero.
+ 	* pa.md: Likewise.
+ 
+ 	* pa.c (print_operand, case 'f'): New case for FP register or 0.0.
+ 	(print_operand, case 'r'): Use %r0 for zero value.
+ 	* pa.md (move patterns, fcmp patterns): Use new %f output arg.
+ 
+ 	* pa.c: Use a register name, not a raw immediate in branch,
+ 	compare/clear, sub, subb, uaddcm and vshd instructions.
+ 	* pa.md: Likewise.
+ 
+ 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+ 
+ 	* pa.c: Use a register name, not a raw immediate in "bv" instructions.
+ 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+ 
+ 	* pa.c: Remove space register specification in memory addresses,
+ 	except where it is actually needed.
+ 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
+ 
+ Mon Apr 12 23:34:35 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Apr 12 14:58:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
+ 
+ Mon Apr 12 19:15:17 1999  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
+ 
+ Mon Apr 12 19:11:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
+ 	-mno-nop-fun-dllimport and minor doc fixes.
+ 	(STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
+ 	(LINK_SPEC): Add -mconsole support.
+ 	* i386/mingw32.h (LIB_SPEC): Make libraries consistent with
+ 	Cygwin.
+ 	(LINK_SPEC): Remove. Use Cygwin's version.
+ 	(MATH_LIBRARY): Make it null.
+ 	* i386/crtdll.h (MATH_LIBRARY): Likewise.
+ 
+ Fri Apr 12 15:00:52 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* c-decl.c (c_decode_option, start_decl, start_function,
+ 	finish_function) : Recognize -Wno-main so we can avoid warnings.
+ 
+ 1999-04-12  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpphash.c (collect_expansion, macroexpand,
+ 	push_macro_expansion): Make the escape character in macro
+ 	buffers '\r', not '@'.  Remove code to protect literal
+ 	occurrences of the escape character; '\r' cannot appear
+ 	in a macro buffer unless we put it there.
+ 	* cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
+ 	copy_rest_of_line, cpp_get_token, parse_string,
+ 	parse_assertion): '\r' might be a backslash-newline marker, or
+ 	it might be a macro escape marker, depending on
+ 	CPP_BUFFER (pfile)->has_escapes.  '@' is not a special
+ 	character.
+ 	* cpplib.h: Update commentary.
+ 
+ Mon Apr 12 09:30:03 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (target_fp_name, structure_size_string, arm_cpu_select):
+ 	Const-ify.
+ 	* arm.c (target_fp_name, structure_size_string): Const-ify.
+ 
+ 	* arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
+ 	* arm.c (arm_reload_in_hi): Handle cases when the input is still
+ 	a pseudo, make use of scratch registers for reloading the address
+ 	as appropriate.
+ 	(arm_reload_outhi): Similarly for when the output is still a pseudo.
+ 
+ 	* riscix.h (SUBTARGET_SWITCHES): Document.
+ 
+ 1999-04-12  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixincludes:
+ 	make fixincludes behave like the scripts in fixinc/
+ 
+ 	* Makefile.in( stmp-fixinc ):
+ 	ensure the SHELL value is that of the make
+ 
+ 	* fixincl/inclhack.tpl:
+ 	the file name lists ought to be restricted to "*.h" anyway
+ 	C++ files may be named .../[a-z]++/... also
+ 	Adding copyright year and attribution to output
+ 
+ 	* fixincl/inclhack.def:
+ 	fixed broken expression
+ 	Clarify a some comments
+ 
+ 	* fixincl/fixincl.tpl:
+ 	Clarify a some comments
+ 	Remove dead template text
+ 	Correct the counting of regular expressions
+ 
+ Mon Apr 12 03:07:44 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (aligned_memory_operand): Handle out of range stack slots.
+ 	Take a new SCRATCH argument for the occasion.  Update all callers.
+ 	(get_unaligned_address): Abort on out of range stack slots.
+ 	* alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
+ 	(reload_inqi): Check for aligned mems before unaligned.
+ 	(reload_inhi): Likewise.
+ 
+ Mon Apr 12 03:11:30 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
+ 	it from the nonlocal_goto_handler_labels list.
+ 	* jump.c (delete_insn): Likewise.
+ 	(jump_optimize_1): Also recompute LABEL_NUSES when we are just
+ 	marking labels.
+ 	* rtl.h (remove_node_from_expr_list): Declare.
+ 	* rtlanal.c (remove_node_from_expr_list): New function.
+ 
+ Mon Apr 12 02:37:02 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* reg-stack.c: Update comment, include varray.h.
+ 	(stack_regs_mentioned_data): New global variable.
+ 	(check_stack_regs_mentioned): New function.
+ 	(stack_regs_mentioned): New function.
+ 	(reg_to_stack): Initialize and free stack_regs_mentioned_data,
+ 	use stack_regs_mentioned.
+ 	(record_asm_reg_life): Change insn type cache for changed insn.
+ 	(record_reg_life): Do not change the insn mode.
+ 	(emit_pop_insn): Likewise.
+ 	(emit_swap_insn): Likewise.
+ 	(move_for_stack_reg): Likewise.
+ 	(stack_reg_life_analysis): Use stack_regs_mentioned.
+ 	(emit_swap_insn): Likewise.
+ 	(subst_stack_regs): Likewise.
+ 	(convert_regs): Likewise.
+ 	* jump.c (find_cross_jump): Use stack_regs_mentioned.
+ 	* rtl.h (stack_regs_mentioned): Declare.
+ 
+ Mon Apr 12 00:57:10 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
+ 
+ Sun Apr 11 10:24:18 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* rtl.h (rtx_def): Update documentation for jump and call.
+ 
+ Sun Apr 11 07:43:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* jump.c (jump_optimize_1): Make the definition static to match
+ 	the prototype.
+ 
+ Sat Apr 10 22:51:53 1999  Jan Hubicka  <hubicka@limax.paru.cas.cz>
+ 
+ 	* flow.c (life_analysis): New parameter remove_dead_code.
+ 	(life_analysis_1): Likewise.
+ 	(propagate_block): Likewise; use it.
+ 	* output.h: Update prototype.
+ 	* toplev.c: Update calls to life_analysis.
+ 
+ Sat Apr 10 22:12:12 1999  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* recog.c (constrain_operands): Ignore unary operators when
+ 	matching operands.  Recognize '5'..'9' as well.
+ 
+ Sat Apr 10 21:53:02 1999  Philipp Thomas  (kthomas@gwdg.de)
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Set target_cpu_default2 for target_alias k6.
+ 	* i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
+ 	(CC1_CPU_SPEC): Likewise.
+ 	(CPP_CPU_DEFAULT_SPEC): Streamline definition.  Add K6 version.
+ 	(CPP_K6_SPEC): New.
+ 	(CPP_CPU_SPEC): Add K6 variant.
+ 	(EXTRA_SPECS): Likewise.
+ 
+ Fri Apr  9 11:29:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (merge_blocks_nomove): Rewrite to properly handle two
+ 	blocks that vanish entirely during merging.
+ 
+ Sat Apr 10 20:09:55 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
+ 	floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
+ 	movxfcc, movdicc): Remove unused register constraints from
+ 	the splitters.
+ 
+ 	* i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
+ 	fixuns_truncxfsi2): Delete.
+ 
+ 	* reg-stack.c (delete_insn_for_stacker): Ensure that
+ 	the only side effects of a PARALLEL are clobbers.
+ 	(subst_stack_regs): Handle subst_stack_regs_pat deleting
+ 	a PARALLEL.
+ 	* i386.md (extendsfdf2, extenddfxf2,
+ 	extendsfxf2): Rewrite using a splitter.
+ 	* i386.c (output_op_from_reg): Remove.
+ 	* i386.h: Likewise.
+ 
+ Sat Apr 10 13:09:18 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (di_operand): Allow SUBREGs as well.
+ 	(soft_df_operand): Allow SUBREGs as well.
+ 
+ Sat Apr 10 06:14:31 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+ 
+ 	* extend.texi (Assembler Instructions with C Expression Operands):
+ 	Document the i386 floating point operands.
+ 
+ 1999-04-10  Mike Stump  <mrs@wrs.com>
+ 
+ 	* configure.in (*-*-vxworks): Add vxWorks thread support for all
+ 	vxWorks targets.
+ 	* configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
+ 	* configure: Rebuilt.
+ 
+ Sat Apr 10 06:04:50 1999  Donn Terry  (donn@interix.com)
+ 
+ 	* i386/t-interix: Use mostly system headers unchanged.
+ 	Use system assert.h
+ 	* fixinc/fixinc.interix: Ditto (make almost no-op).
+ 	* config/x-interix.h (_ALL_SOURCE): add -D
+ 	* config/x-interix.h (crti.o): Delete dependency.
+ 	* config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
+ 	* i386/xm-i386-interix.h: New file.
+ 	* i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
+ 	* i386/i386-interix.h: Renamed from interix.h.
+ 	* configure.in (interix): Use new files.
+ 	* configure: Rebuilt.
+ 
+ Sat Apr 10 05:25:28 1999  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
+ 	for -Dunix and -Dlinux, and remove duplicate definition.
+ 	Change -Asystem(linux) to -Asystem(posix).
+ 	(CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
+ 	-DSVR4, -D__EXTENSIONS__.
+ 
+ 	* rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
+ 	-Dlinux, -Asystem(linux), and -Asystem(unix).
+ 
+ Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
+ 
+ 	* i386/djgpp.h (SET_ASM_OP): Define.
+ 
+ 	* cccp.c (DIR_SEPARATOR): Move to the top of the file.
+ 	(is_dir_separator): New function.
+ 	(simplify_filename): Use it.
+ 	* collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
+ 	of the DIR_SEPARATOR test.
+ 	Consider any file starting with a drivename to be absolute.
+ 	If the absolute filename test fails and EXECUTABLE_SUFFIX is
+ 	defined, append EXECUTABLE_SUFFIX to the file and try again.
+ 	* cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
+ 	in place of __MSDOS__ and _WIN32.
+ 	* cppfiles.c (simplify_pathname): Likewise.
+ 	* gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
+ 	character is a directory separator.
+ 	(find_a_file): Use it.
+ 	(convert_filename): Likewise.
+ 	(process_command): Likewise.
+ 	(do_spec_1): Likewise.
+ 	(is_directory): Likewise.
+ 	(main): Likewise.
+ 	* prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
+ 	a directory separator.
+ 	(translate_name): Use it.
+ 	(update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
+ 	warning in block where '/' is changed to DIR_SEPARATOR.
+ 	* i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
+ 	(DIR_SEPARATOR_2): New macro. Set to '\'.
+ 	(HAVE_DOS_BASED_FILESYS): Define.
+ 	* i386/xm-mingw32.h: Updated copyright. Set
+ 	DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
+ 	* i386/xm-os2.h: Likewise.
+ 	* winnt/xm-winnt.h: Likewise.
+ 	* i386/xm-dos.h: Likewise.  Add copyright.
+ 
+ 1999-04-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
+ 	(TARGET_DEFAULT): Possibly use UNIX syntax.
+ 	(TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
+ 	(REGISTER_NAMES): Use "r5" instead of "fp".
+ 	(ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
+ 	greater alignment.
+ 	* 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
+ 	syntax for 2BSD.
+ 	* pdp11.c (output_ascii): Use working syntax for ".byte".
+ 	(print_operand_address): Use "*" instead of "@" when using UNIX
+ 	assembler syntax.
+ 
+ Sat Apr 10 03:50:12 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rtl.h (rebuild_jump_labels): Declare.
+ 	* jump.c (jump_optimize_1): Renamed from jump_optimize.  Make static.
+ 	Add new argument MARK_LABELS_ONLY.  Quit after mark_all_labels if
+ 	requested.
+ 	(jump_optimize, rebuild_jump_labels): New wrapper functions for
+ 	jump_optimize_1.
+ 	* toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
+ 	running the entire jump optimizer.
+ 
+ 	* rtl.h (local_alloc): Returns an integer now.
+ 	* local-alloc.c (recorded_label_ref): New file scoped variable.
+ 	(local_alloc): Initialize recorded_label_ref to zero.  Return its
+ 	value when local allocation has completed.
+ 	(update_equiv_regs); If we create an equivalence for a LABEL_REF,
+ 	set recorded_label_ref.
+ 	* toplev.c (rest_of_compilation): Run the jump optimizer after
+ 	register allocation and reloading if needed.
+ 
+ Fri Apr  9 21:02:57 1999  Krister Walfridsson  (cato@df.lth.se)
+ 
+ 	* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
+ 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+ 
+ 1999-04-09  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpphash.c (special_symbol): When expanding __LINE__, use the
+ 	top file buffer, not the top buffer.
+ 
+ Fri Apr  9 13:41:04 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
+ 	cd .. to TCL_LIBRARY command.
+ 
+ Fri Apr  9 13:04:52 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
+ 	not already specified.
+ 
+ Fri Apr  9 11:18:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
+ 	of classes, too.
+ 
+ Fri Apr  9 10:40:10 1999  Kaveh R. Ghazi  <ghazi@snafu.rutgers.edu>
+ 
+ 	* rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
+ 	rs6000_float_const, rs6000_replace_regno, debug_stack_info,
+ 	rs6000_output_load_toc_table, output_prolog, output_epilog):
+ 	Const-ify a char*.
+ 	(output_mi_thunk): Likewise.  Mark parameter `thunk_fndecl' with
+ 	ATTRIBUTE_UNUSED.  Hide unused variables `r0', `sp', `toc',
+ 	`schain', `r12', `buf' and `labelno'.
+ 	(output_ascii): Const-ify a char*.
+ 	(rs6000_gen_section_name): Initialize variable `last_period'.
+ 	(rs6000_adjust_priority): Mark parameter `insn' with
+ 	ATTRIBUTE_UNUSED.
+ 	(rs6000_trampoline_template, rs6000_dll_import_ref,
+ 	rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
+ 
+ 	* rs6000.h (offsettable_mem_operand, optimization_options): Add
+ 	prototypes.
+ 
+ 	* rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
+ 	when comparing against one.
+ 
+ Thu Apr  8 19:20:18 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
+ 	Do not try to optimize an aggregate address which has VOIDmode.
+ 	Mirrors March 23 change to expand_assignment.
+ 
+ 	* flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
+ 	for an edge when tidying an edge which connects consecutive basic
+ 	blocks.
+ 
+ 	* flow.c (can_delete_label_p): Do not convert a label into a
+ 	deleted label here.
+ 
+ 	* cse.c (flush_hash_table): New function.
+ 	(cse_insn): Flush the hash table when we encounter a volatile asm.
+ 	(cse_basic_block): Use flush_hash_table instead of doing it
+ 	inline.
+ 
+ 	* reload1.c (reload_cse_regs_1): Flush known register values if
+ 	we encounter a volatile asm.
+ 
+ 	* loop.c (strength_reduce): Re-enable Joern's loop improvements.
+ 
+ Thu Apr  8 09:37:40 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (arm_print_operand): Undo previous change -
+ 	always print large constants in decimal.
+ 
+ Thu Apr  8 10:22:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (host_xm_file, build_xm_file): Include hwint.h.
+ 	Use case statements instead of "if test -a ... -a ... -a ..."
+ 
+ 	* machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
+ 	HOST_WIDE_INT in #ifdef.
+ 
+ 	* mips.h: Include hwint.h instead of providing definitions for
+ 	HOST_WIDE_INT, etc.  Wrap uses of HOST_WIDE_INT in #ifdef.
+ 
+ Thu Apr  8 06:16:14 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (truncdfsf2, truncxfsf2,
+ 	truncxfdf2): Rewrite using a splitter.
+ 
+ Thu Apr  8 01:26:05 1999  Arg Haas  (ahaas@neosoft.com)
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
+ 	else statement.
+ 	* gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+ 	* linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+ 	* openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+ 
+ Wed Apr  7 22:40:19 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i960/i960.c (i960_function_prologue): Don't save static chain
+ 	pointer.
+ 	* i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
+ 	(TRAMPOLINE_TEMPLATE): Likewise.
+ 	(FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
+ 	* i960/i960.md (nonlocal_goto): Rewrite.
+ 
+ Tue Apr  6 17:49:49 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
+ 
+ Wed Apr  7 14:07:34 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.c (h8300_adjust_insn_length): Also avoid recognizing
+ 	ADDR_VEC and ADDR_DIFF_VEC insns.
+ 
+ 	* h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
+ 	USE, CLOBBER or SEQUENCE insns.
+ 
+ 	* unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
+ 	to account for the uncopied insn that sets cc0 at the end of the loop.
+ 
+ 	* unroll.c (copy_loop_body): Always ensure at least two insns
+ 	are in the copied loop.
+ 
+ Wed Apr  7 14:52:18 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
+ 	(UNIQUE_SECTION_P): Define.
+ 
+ 1999-04-07  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/inclhack.tpl & fixincl.tpl:
+ 	Remove dynamic content from generated files
+ 
+ Wed Apr  7 13:16:22 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (output_move_memory): Remove.
+ 	* i386.h: Likewise.
+ 
+ 	* i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
+ 	movsf, movdf, movxf, movdi): Check no_new_pseudos instead
+ 	of (reload_in_progress | reload_completed).
+ 
+ Wed Apr  7 03:16:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (reg_no_subreg_operand): New function.
+ 	* alpha.h (PREDICATE_CODES): Add it.
+ 	* alpha.md (floatdi?f patterns): Use it for op1.
+ 
+ 	* alpha.c (alpha_end_function): Don't flag weak functions.
+ 
+ Wed Apr  7 02:11:55 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
+ 	copy_to_mode_reg; don't force constants into a register.
+ 
+ Tue Apr  6 22:55:25 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (compile_file): Typo flow_dump -> flow2_dump.
+ 
+ 1999-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.c (simple_memory_operand): Add default case in switch.
+ 	* pdp11.h (TARGET_SWITCHES): Add help strings.
+ 	(NOTICE_UPDATE_CC): Don't include excess argument to format.
+ 	(ASM_OUTPUT_DOUBLE_INT): Remove.
+ 
+ Tue Apr  6 22:09:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_builtin_setjmp): Put setjmp return label on
+ 	nonlocal_goto_handler_labels for flow.
+ 
+ Tue Apr  6 22:05:21 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (verify_flow_info): New function.
+ 	(find_basic_blocks): Call it if ENABLE_CHECKING.
+ 	(merge_blocks): Don't merge if there are non-deletable labels.
+ 	* toplev.c (fatal_insn): Allow a printf-style arg list.
+ 	* toplev.h (fatal_insn): Update prototype.
+ 
+ Tue Apr  6 16:18:58 1999  Jan Hubicka  <hubicka@paru.cas.cz>
+ 
+ 	* flow.c (split_edge) update correctly flow graph, disable
+ 	EDGE_CRITICAL flag on the split edge, update NUSES for new label.
+ 
+ Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
+ 	Clear third and following slots, if they exist.
+ 
+ Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (create_basic_block): Make sure the bb note is in the block.
+ 	(can_delete_note_p): Rename from delete_note_p.
+ 	(delete_insn_chain): Preserve undeleteable labels too.
+ 	(tidy_fallthru_edge): Use next_real_insn instead of confusing
+ 	inline code.
+ 
+ 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppexp.c (parse_charconst): Initialize c.
+ 	(cpp_parse_expr): Initialize rprio.
+ 	* cppfiles.c (merge_include_chains): Initialize prev.
+ 	(finclude): Set fp->line_base to fp->buf before returning.
+ 	* cpphash.c (macroexpand): Initialize token.
+ 	* cppspec.c (lang_specific_driver): Change suff to
+ 	const char *const *.
+ 
+ 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppinit.c (install_predefs): Delete function.
+ 	(cpp_start_read): Don't call install_predefs.
+ 	(cpp_handle_option): Remove case 'u' and all refs to
+ 	opts->inhibit_predefs.
+ 	(print_help): Don't mention -undef.
+ 	(initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
+ 	match cccp.
+ 	* cpplib.h (struct cpp_options): Remove inhibit_predefs
+ 	member.
+ 
+ 	* cccp.c (predefs): Delete variable.
+ 	(main): Remove case 'u' in argument parse loop,
+ 	'inhibit_predefs' variable, and the code block that would
+ 	process CPP_PREDEFINES.
+ 	(initialize_builtins): Don't define __OBJC__, the driver will
+ 	do that.
+ 
+ 	* gcc.c (default_compilers): Remove -undef from all specs that
+ 	invoke a C preprocessor.
+ 	* ch/lang-specs.h: Likewise.
+ 	* cp/lang-specs.h: Likewise.
+ 	* f/lang-specs.h: Likewise.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ Mon Apr  5 11:55:31 1999  Donn Terry  (donn@interix.com)
+ 
+ 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
+ 
+ Mon Apr  5 11:51:38 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (movdf): Hide GPR sources & destinations from regclass.
+ 
+ Mon Apr  5 09:54:42 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Apr  5 05:55:15 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixincl.tpl: Separate "-e" from its argument, a la
+ 	the Sat Apr  3 17:05:13 1999 fix.
+ 	* genfixes: Ensure that the server shell is _NOT_ csh.
+ 
+ Mon Apr  5 03:52:30 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Mon Apr  5 04:47:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.c (x86_double_with_add): Turn off for Pentium and PPro.
+ 	(small_shift_operand, output_ashlsi3): New functions.
+ 	* i386.h (small_shift_operand, output_ashlsi3): Declare.
+ 	* i386.md (ashlsi3): Simplify ahlsi3 patterns.  Remove splitters
+ 	that are no longer needed.
+ 
+ Sun Apr  4 04:05:04 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (expand_loop_end): When copying the loop exit test,
+ 	do not walk into a nested loop.
+ 
+ Sun Apr  4 00:14:54 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/hackshell.tpl: Skip links to directories, to avoid
+ 	removing them.
+ 	* fixinc/inclhack.tpl: Likewise.
+ 	* fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
+ 
+ Sat Apr  3 23:46:13 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
+ 	movsi_got, movsi, movsf): Use no_new_pseudos.
+ 	* rs6000.c (rs6000_got_register): Likewise.
+ 	(offsettable_mem_opereand): Use || not |.
+ 
+ Sat Apr  3 22:02:56 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
+ 	* config.in: Rebuilt.
+ 
+ Sat Apr  3 16:22:59 1999  Toshiyasu Morita  (tm@netcom.com)
+ 
+ 	* gcc.texi: Add info on regmove pass.
+ 
+ 	* regmove.c (fixup_match_1): Consistently evaluate
+ 	HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
+ 
+ Sat Apr  3 19:21:05 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
+ 	instead of test and sed to check whether they're GNU programs.
+ 	* configure: Rebuilt.
+ 
+ Sat Apr  3 17:57:35 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* Makefile.in (install-headers-tar, install-headers-cpio): Avoid
+ 	problems with CDPATH.
+ 	Reported by Ralf Canis <canis@bigfoot.com>
+ 
+ Sat Apr  3 13:50:16 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc.x86-linux-gnu: Deleted.
+ 
+ Sat Apr  3 17:05:13 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* inclhack.tpl: Insert spaces between `sed -e' and '...'.
+ 	Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ 	* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
+ 
+ Sat Apr  3 14:54:46 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* tree.def (BLOCK): Fix typo in comment.
+ 
+ Sat Apr  3 00:53:29 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
+ 	floatsixf2, floatdixf2): Rewrite using a splitter.
+ 
+ Fri Apr  2 17:36:10 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (arm_print_operand): Print large constants in
+ 	hex rather than decimal.
+ 
+ Fri Apr  2 17:23:58 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
+ 	and HOST_WIDE_INT_PRINT_HEX to display constants.
+ 
+ 1999-04-02  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* config/i386/i386.h: Document all TARGET_SWITCHES or add
+ 	explicit null initializer.
+ 
+ 	* config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
+ 	* config/i386/dgux.h: Likewise.
+ 	* config/i386/osf1elf.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 	* config/i386/osfrose.h: Likewise.  Drop obsolete -mno-ident option.
+ 
+ Fri Apr  2 17:49:44 1999  Toshiyasu Morita  <tm@netcom.com>
+ 
+ 	* regmove.c (fixup_match_1): Remove now useless if (0).
+ 
+ Sat Apr  3 11:37:20 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+ 	USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
+ 	(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
+ 
+ 	* rtl.h	(USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
+ 	USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
+ 	USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
+ 	definition.
+ 
+ 	* expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
+ 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
+ 	definition.
+ 
+ Fri Apr  2 16:03:05 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
+ 	* fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
+ 
+ Fri Apr  2 15:46:25 1999  Donn Terry  (donn@interix.com)
+ 
+ 	* configure.in: Set and substitute quoted_cc_set_by_configure.
+ 	* configure: Rebuilt.
+ 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
+ 
+ Fri Apr  2 14:35:45 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
+ 	of a hardcoded path for -mno-cygwin.
+ 	(mingw_include_path): New.
+ 
+ 1999-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* pdp11.c: Include "recog.h".
+ 	(output_function_prologue): Remove unused variables `nregs', `i',
+ 	`offset'.
+ 	(output_function_epilogue): Remove unused variables
+ 	`may_call_alloca', `nregs', `regno', `adjust_fp'.
+ 	(output_ascii): Mark as returning void.
+ 	(print_operand_address: Likewise.
+ 	(simple_memory_operand): Remove unused variables `plus0', `plus1',
+ 	`offset'.
+ 	* pdp11.h: Declare functions `arith_operand',
+ 	`const_immediate_operand', `expand_shift_operand',
+ 	`legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
+ 	`output_function_epilogue', `output_function_prologue',
+ 	`print_operand_address', `register_move_cost',
+ 	`simple_memory_operand'.
+ 	(HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
+ 	(REGNO_REG_CLASS): Likewise.
+ 	* pdp11.md: Add explicit `int' to `static count' (in two places).
+ 	(addhi3): Add explicit braces to avoid ambiguous else.
+ 	(addqi3): Likewise.
+ 	(ashlhi3): Likewise.
+ 
+ Fri Apr  2 14:17:10 1999  Jerry James  <jerry@cs.ucsb.edu>
+ 
+ 	* gcc/invoke.texi: Add documentation for additional supported
+ 	MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
+ 	defaults.
+ 
+ Fri Apr  2 14:12:06 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md: Delete floating point compare, add, subtract,
+ 	multiply, and divide patterns which allowed integer
+ 	operands.
+ 	* i386.c (output_387_binary_op): Delete unused code.
+ 	(output_float_compare): Likewise.
+ 
+ Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movsf+1, movdf+1, movxf+1): Update constraints
+ 	so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
+ 
+ 1999-04-02  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/mkfixinc.sh: Added support for x86-interix.
+ 	* fixinc/fixinc.interix: Fixincludes script, slight changes
+ 	from ./fixinc.interix.  Untested (needs interix box).
+ 	* fixinc/inclhack.def:
+ 	Complete the change to the 'fixinc.tmp' file.
+ 	Fixed regex for finding C++ headers.
+ 	* fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
+ 
+ Fri Apr  2 11:36:12 1999  Jan Hubicka  (hubicka@paru.cas.cz)
+ 
+ 	* i386.c (print_operand_address, case REG): Do not use ESI addressing
+ 	mode for the K6.
+ 
+ 	* i386.c (print_operand_address, case MULT): Use more efficient
+ 	encoding (mult (reg) (const_int 2)).
+ 
+ Thu Apr  1 17:01:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Move over patch from Bernd Schmidt from GC branch:
+ 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
+ 	(gen_rtx): Call it.  Tidy cases.
+ 	* rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
+ 	* gengenrtl.c: Add commentary.
+ 	(special_rtx): Also match CONST_DOUBLE.
+ 	(gencode): Emit call to memset instead of bzero.
+ 
+ Fri Apr  2 12:58:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
+ 	into a register if shift count not constant.
+ 	(ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
+ 	is a register.
+ 
+ Fri Apr  2 12:19:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
+ 	is nonzero.
+ 	(movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
+ 	register constraints.
+ 	(*movhi_clobber+1): Modify splitter pattern to handle destination
+ 	register that is used in the source address.
+ 	(*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
+ 
+ Fri Apr  2 12:16:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h: Added more comments.
+ 
+ Fri Apr  2 11:58:22 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
+ 	constants into memory if we get called directly from gen_move_insn
+ 	rather than emit_move_insn.
+ 	(c4x_legitimize_address): Fix up LABEL_REF addresses.
+ 
+ Thu Apr  1 12:04:05 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (store_field): When check direct_store, assume all complex
+ 	modes can be directly stored.
+ 
+ 1999-04-01  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* fixinc/genfixes: New shell script that runs autogen
+ 	to create the generated files.
+ 
+ 1999-04-01  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.
+ 
+ Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
+ 	signed integer comparisons.
+ 
+ 	* i386.c (output_int_conditional_move): Use "enum rtx_code" for code
+ 	type.
+ 
+ 	* i386.c (notice_update_cc): No need to check the INT mode for
+ 	conditional moves since FLOAT conditional moves don't affect cc0.
+ 
+ Thu Apr  1 02:17:18 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
+ 	string to only match on hpux11.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
+ 
+ Thu Apr  1 01:09:27 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
+ 	* fixinc/inclhack.sh: Rebuilt.
+ 
+ 	* fixinc/inclhack.def: Fix typos in c_asm.h fix.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
+ 
+ Wed Mar 31 17:20:11 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (rest_of_compilation): Allow dbr_schedule to write to
+ 	the dump file too.
+ 
+ Wed Mar 31 12:32:43 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): New argument `do_cleanup'.
+ 	Conditionally call delete_unreachable_blocks.
+ 	(free_basic_block_vars): Zero ENTRY/EXIT data.
+ 	(allocate_for_life_analysis): Kill.  Split into...
+ 	(allocate_bb_life_data, allocate_reg_life_data): ... new functions.
+ 	(life_analysis_1): Update.
+ 	* gcse.c (gcse_main): Update find_basic_blocks call.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* stupid.c (stupid_life_analysis): Update life data calls.
+ 	* rtl.h, output.h: Update prototypes.
+ 
+ Wed Mar 31 12:10:00 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
+ 
+ 	* inclhack.def (several): Added spaces in tests to ensure
+ 	correct shell syntax.  Added c_asm.h fix from fixincludes.
+ 	Also corrected the corrected fix to C++ comments :-}
+ 
+ 	* inclhack.tpl: Changed method of traversing symlink trees
+ 	so that file name matching will work correctly.
+ 
+ 	* fixincl.c, hackshell.tpl: Fallout from above.
+ 	* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
+ 
+ Tue Mar 30 10:43:49 1999  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
+ 	dbxelf.h was previously included.
+ 	(CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
+ 
+ 	* config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
+ 	definition from arm.h.
+ 
+ Wed Mar 31 10:33:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-gperf.h): Generate using gperf language 'C', not
+ 	'KR-C', so gperf uses the `const' keyword on strings.
+ 
+ 	* c-parse.gperf (resword): Const-ify a char*.
+ 
+ Wed Mar 31 01:49:31 1999  Ian Lance Taylor  <ian@zembu.com>
+ 
+ 	* t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
+ 
+ Wed Mar 31 00:50:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* system.h (STDERR_FILENO): Fix typo.
+ 
+ 	* inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
+ 	* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
+ 
+ Tue Mar 30 20:51:40 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* alias.c (alias_set_compare): Remove.
+ 	(record_alias_subset): Use splay_tree_compare_ints instead of
+ 	alias_set_compare.
+ 	(init_alias_once): Likewise.
+ 	* cse.c: Include splay-tree.h.
+ 	(reg_qty): Remove.
+ 	(reg_tick): Likewise.
+ 	(reg_table): Likewise.
+ 	(cse_reg_info): New structure.
+ 	(cse_reg_info_free_list): New variable.
+ 	(cse_reg_info_tree): Likewise.
+ 	(cached_regno): Likewise.
+ 	(cached_cse_reg_info): Likewise.
+ 	(all_minus_one): Remove.
+ 	(consec_ints): Likewise.
+ 	(GET_CSE_REG_INFO): New macro.
+ 	(REG_TICK): Likewise.  Use throughout instead of reg_tick.
+ 	(REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
+ 	(REG_QTY): Likewise.  Use throughout instead of reg_qty.
+ 	(get_cse_reg_info): New function.
+ 	(free_cse_reg_info): Likewise.
+ 	(new_basic_block): Reinitialize cse_reg_info_tree instead of
+ 	reg_tick, all_minus_one, and consec_ints.
+ 	* Makefile.in (cse.o): Depend on splay-tree.h
+ 
+ Tue Mar 30 13:19:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* libgcc2.c (throw_helper): Just return the SP offset, rather than
+ 	a whole udata.  Include args_size in the offset.
+ 	(__throw, __rethrow): Adjust.
+ 
+ Tue Mar 30 11:39:27 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* extend.texi (Extended Asm): Delete spurious `b' before
+ 	`@end example', which was confusing texi2html.
+ 
+ Tue Mar 30 00:26:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (output_line_info): Don't emit redundant info.
+ 	Do start a new row if the file changes and the line # doesn't.
+ 
+ Mon Mar 29 15:48:39 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* invoke.texi (Invoking G++, C++ Dialect Options): Update.
+ 
+ Mon Mar 29 15:05:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* except.c (start_dynamic_handler): Force jmp_buf address to
+ 	and operand before moving to memory.
+ 
+ Mon Mar 29 15:11:10 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* invoke.texi (Code Gen Options): Attempt to clarify
+ 	-fcheck-memory-usage.  Minor edits to -fprefix-function-name.
+ 
+ Mon Mar 29 20:52:47 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
+ 	end of libcall.
+ 
+ Mon Mar 29 20:35:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
+ 
+ Mon Mar 29 11:50:34 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+ 
+ 	* pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
+ 	class machine.
+ 	(HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
+ 	(HAVE_POST_DECREMENT): Likewise.
+ 
+ Mon Mar 29 08:24:43 1999  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* fixinc/mkfixinc.sh: Fix portability problems with old shells.
+ 
+ 	* fixinc/README: Updated for release announcement
+ 
+ Sun Mar 28 20:26:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* recog.h (insn_outfun, insn_operand_predicate): Add prototype
+ 	arguments.
+ 
+ 	* rtl.h (note_stores): Likewise.
+ 
+ 	* rtlanal.c (note_stores): Likewise.
+ 
+ Sun Mar 28 15:34:28 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* varasm.c (output_constant_pool): Always mark the constant pool.
+ 
+ Sun Mar 28 16:09:01 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+ 
+ 	* pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity.  Use
+ 	shift/mem ops in pa7100LCalu.
+ 
+ 	* pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
+ 	(pa_reorg): Don't call pa_combine_instructions on pa8000.
+ 
+ Sun Mar 28 15:27:26 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload): Remove accidental code duplication.
+ 
+ Sun Mar 28 12:22:12 1999  Robert Lipe  (robertlipe@usa.net)
+ 
+ 	* i386/sysv5.h: New file to describe UnixWare7/SVR5.
+ 	* configure.in (i?86-UnixWare7*-sysv): Use it.
+ 	* i386/udk.h: Use sysv5.h.  Now uses Dwarf-2.
+ 
+ Sun Mar 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Mar 28 00:44:27 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
+ 	one on the fly and do not cache the result.
+ 
+ 	* gcc.cps, cpp.cps: Delete unwanted files.
+ 
+ Sat Mar 27 23:37:40 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
+ 	* i386.c (output_int_conditional_move): Delete unused code.
+ 
+ Sat Mar 27 21:17:36 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
+ 
+ Sat Mar 27 16:13:50 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (mark_used_regs): Improve handling of ASMs.
+ 
+ 1999-03-26  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* Makefile.in (xcpp, cppspec.o): New targets.
+ 	(CPP_INSTALL_NAME): New macro.
+ 	(install-cpp): Install xcpp.  Use CPP_INSTALL_NAME.
+ 	(all.build, start.encap): Build xcpp.
+ 
+ 	* cppspec.c: New file, implements argument filtering for a
+ 	user-visible C preprocessor.
+ 	* cpp.sh: Removed.
+ 
+ Fri Mar 26 20:41:46 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
+ 
+ Fri Mar 26 16:02:37 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
+ 	* configure: Regenerate.
+ 	* config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
+ 	including arm/coff.h
+ 
+ 1999-02-16  Scott Bambrough  <scottb@corelcomputer.com>
+ 
+ 	* configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
+ 	--enable-threads[={yes,pthreads,posix}] is passed as a command
+ 	line parameter to configure.
+ 
+ 	* configure: Regenerate.
+ 
+ 	* gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
+ 
+ Fri Mar 26 19:42:19 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (combine_givs): Fix index into can_combine when doing
+ 	benefit adjustment for remaining givs when having combined a giv.
+ 
+ Fri Mar 26 11:38:01 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
+ 
+ Fri Mar 26 10:48:27 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/linux-elf.h: Include dbxelf.h
+ 
+ Fri Mar 26 10:43:47 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/svr4.h: Include new header file dbxelf.h.
+ 	(DBX_DEBUGGING_INFO): Remove definition.
+ 	(DBX_USE_BINCL): Remove definition.
+ 	(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
+ 	(ASM_IDENTIFY_GCC): Remove definition.
+ 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
+ 	(ASM_OUTPUT_SOURCE_LINE): Remove definition.
+ 	(DBX_FUNCTION_FIRST): Remove definition.
+ 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
+ 
+ 	* config/elfos.h: Include new header file dbxelf.h.
+ 	(DBX_DEBUGGING_INFO): Remove definition.
+ 	(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
+ 	(ASM_IDENTIFY_GCC): Remove definition.
+ 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
+ 	(ASM_OUTPUT_SOURCE_LINE): Remove definition.
+ 	(DBX_FUNCTION_FIRST): Remove definition.
+ 
+ 	* config/dbxelf.h: New header file.
+ 	(DBX_DEBUGGING_INFO): Define.
+ 	(DBX_BLOCKS_FUNCTION_RELATIVE): Define.
+ 	(DBX_FUNCTION_FIRST): Define.
+ 	(DBX_USE_BINCL): Define.
+ 	(DBX_CONTIN_LENGTH): Define.
+ 	(ASM_IDENTIFY_GCC): Define.
+ 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
+ 	(ASM_OUTPUT_SOURCE_LINE): Define.
+ 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
+ 
+ Fri Mar 26 01:59:15 1999  "Charles M. Hannum"  <root@ihack.net>
+ 
+ 	* fold-const.c (fold_truthop): Optimize bitfield references with
+ 	different masks as long as their size and bit position are the same.
+ 
+ 	* fold-const.c (fold_truthop): Build a type for both the lhs and
+ 	rhs and use it appropriately.
+ 
+ 	* fold-const.c (fold_truthop): Mask the lhs and rhs after merging
+ 	adjacent bitfield references.
+ 
+ 	* fold-const.c (fold_truthop): Verify that the lhs and rhs are
+ 	in the same bit position when optimizing bitfield references
+ 	which have the same mask.
+ 
+ Thu Mar 25 22:53:27 1999  Martin von LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* gcc.texi (Copy Assignment): New node.
+ 
+ 1999-03-25  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* gcc.c: Compile unconditionally all code formerly dependent
+ 	on #ifdef LANG_SPECIFIC_DRIVER.
+ 	* gccspec.c: New file with stub lang_specific_driver,
+ 	lang_specific_pre_link.
+ 	* Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
+ 
+ Thu Mar 25 21:08:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* gcc.texi (Temporaries): Update.
+ 
+ Thu Mar 25 16:53:53 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (distribute_notes): Place REG_LABEL also where
+ 	REG_EQUAL indicates.
+ 
+ Thu Mar 25 12:46:37 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
+ 	* i960/i960.h (TARGET_SWITCHES): Add doc strings.
+ 	* invoke.texi (a29k): Add documentation for -mno-multm option.
+ 
+ Thu Mar 25 14:04:54 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
+ 	* rtl.h (struct rtx_def): Update comment for frame_related field.
+ 	(set_unique_reg_note): Declare prototype.
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
+ 	'dwarf2out_frame_debug' to handle only expressions, and process
+ 	component parts of a PARALLEL expression.
+ 	(dwarf2out_frame_debug): Process insns only, and call
+ 	new function 'dwarf2out_frame_debug_expr' for patterns.
+ 	* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
+ 	but if there is an existing one, delete it first.
+ 	* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
+ 	* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
+ 	(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
+ 	(expand_fix): Use set_unique_reg_note.
+ 
+ Thu Mar 25 11:47:49 1999  Art Haas  <ahaas@neosoft.com>
+ 
+ 	* tlink.c (symbol_hash_newfunc): Remove redundant call to
+ 	hash_newfunc.
+ 	(file_hash_newfunc, demangled_hash_newfunc): Likewise.
+ 
+ Thu Mar 25 10:05:56 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
+ 
+ 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	Based on patch from Jim Studt  <jim@federated.com>:
+ 	* config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
+ 	definitions from config/linux.h.
+ 	(DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
+ 
+ Thu Mar 25 02:12:42 1999  Finn Hakansson  <finn@axis.com>
+ 
+ 	* loop.c (strength_reduce): Correct a comment.
+ 
+ 	* rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
+ 
+ Thu Mar 25 02:02:13 1999  Axel Thimm  <Axel.Thimm@physik.fu-berlin.de>
+ 
+ 	* Makefile.in (RANLIB_TEST): Improve test.
+ 
+ Thu Mar 25 01:15:33 1999  Donn Terry  <donn@interix.com>
+ 
+ 	* combine.c (force_to_mode, case PLUS): Use sign extended mask
+ 	when masking the low bits out of a constant.
+ 
+ Tue Mar 23 15:45:25 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* fold-const.c (make_range): If orig_type is unset, set it as soon
+ 	as we know the type.  Remove now unnecessary set of orig_type for
+ 	conversions.
+ 
+ Wed Mar 24 23:27:25 1999  Mark Elbrecht  <snowball3@usa.net>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* system.h (STDIN_FILENO): Provide default definition if one is not
+ 	provided by the system header files.
+ 	(STDOUT_FILENO, STDERR_FILENO): Likewise.
+ 
+ 	* i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
+ 	* collect2.c (main): Use it.
+ 	(pexecute_pid): New variable. Holds return value from call to pexecute.
+ 	(collect2_execute): Rework to use pexecute instead of fork.
+ 	(collect2_wait): Use pwait() instead of wait().
+ 
+ 	* i386/djgpp.h: Fix typo.
+ 
+ Wed Mar 24 23:24:30 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* fixinc/mkfixinc.sh: Recognize cygwin* instead of only
+ 	cygwin32.
+ 
+ Wed Mar 24 15:44:12 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
+ 	versions of attribute names and values.
+ 	(m32r_valid_machine_decl_attribute): Likewise.
+ 	(m32r_encode_section_info): Likewise.
+ 
+ Wed Mar 24 21:42:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): If output-reloading for a
+ 	simple move insn, try to inherit an equivalence for the input.
+ 
+ 1999-02-24  Mike Stump  <mrs@wrs.com>
+ 
+ 	* arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
+ 
+ 1999-03-24  Jim Blandy  <jimb@zwingli.cygnus.com>
+ 
+ 	* libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
+ 	platforms.
+ 
+ Wed Mar 24 01:35:01 1999  Geoff Keating  <geoffk@ozemail.com.au>
+ 
+ 	* fold-const.c (fold): Recognize a rotate by an unsigned amount.
+ 
+ Tue Mar 23 23:32:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (rotlsi3): New expander.  Synthesize a variable rotate
+ 	left using a variable rotate right.  Provide anonymous pattern for
+ 	rotate left by a constant value.
+ 
+ 	* expr.c (expand_assignment): Do not try to optimize an aggregate
+ 	address which has VOIDmode.
+ 
+ Tue Mar 23 22:51:48 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 			  Donn Terry  <donn@interix.com>
+ 
+ 	* protoize.c (abspath): Preserve multiple leading slashes for
+ 	_WIN32 and Interix.
+ 
+ 1999-01-23  Mike Stump  <mrs@wrs.com>
+ 
+ 	* arm/vxarm.h: Split out vxWorks support into separate headerfile
+ 	and vxify.
+ 	* arm/arm.c (cpu_defaults): Allow arm710 as default.
+ 
+ 	* configure.in: Split out vxWorks support for Arm.
+ 	* configure: Rebuilt.
+ 
+ Tue Mar 23 11:20:03 1999  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
+ 
+ Tue Mar 23 09:00:39 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
+ 	* config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
+ 
+ Tue Mar 23 07:50:20 1999  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c: Include hash.h.
+ 	(insns_for_mem_entry): New struct.
+ 	(put_reg_into_stack): Take an optional hash-table mapping MEMs to
+ 	the INSNs that use them.
+ 	(fixup_var_refs): Likewise.
+ 	(put_addressof_into_stack): Likewise.
+ 	(purge_addressof_1): Likewise.  Keep the hash-table up to date if
+ 	we add new instructions.
+ 	(fixup_var_refs_insns): Use it to avoid searching the entire
+ 	instruction chain.
+ 	(insns_for_mem_newfunc): New function.
+ 	(insns_for_mem_comp): Likewise.
+ 	(insns_for_mem_walk): Likewise.
+ 	(compute_insns_for_mem): Likewise.
+ 	(pop_function_context_from): Pass NULL for the hash-table.
+ 	(put_var_into_stack): Likewise.
+ 	(gen_mem_addressof): Likewise.
+ 	(flush_addressof): Likewise.
+ 	(purge_addressof): Call compute_insns_for_mem to pre-compute the
+ 	hash table.
+ 	* Makefile.in (OBJS): Include hash.o.
+ 	(function.o): Depend on hash.h.
+ 
+ Tue Mar 23 00:39:14 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
+ 	numbers.
+ 	* i386/netbsd.h, i386/freebsd.h: Likewise.
+ 
+ 	* crtstuff.c: Use ANSI function definitions.  Fix minor whitespace
+ 	problems.
+ 
+ 	* i386/openbsd.h (TARGET_DEFAULT): Define.
+ 	* configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
+ 	configurations.
+ 	* configure: Rebuilt.
+ 
+ Tue Mar 23 00:39:10 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386/freebsd.h (TARGET_DEFAULT): Define instead
+ 	of TARGET_CPU_DEFAULT.
+ 	* i386/netbsd.h (TARGET_DEFAULT): Likewise.
+ 
+ Mon Mar 22 23:52:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 			  Donn Terry  <donn@interix.com>
+ 
+ 	* sdbout.c (syms.h): Don't include on Interix.
+ 	* toplev.c (main): No sbrk on Interix.
+ 
+ 	* configure.in: Add i386-pc-interix support.
+ 	* configure: Regenerate.
+ 	* fixinc.interix: New file.
+ 	* config/interix.h: New file.
+ 	* config/x-interix: New file.
+ 	* config/xm-interix.h: New file.
+ 	* i386/interix.h: New file.
+ 	* i386/interix.c: New file.
+ 	* i386/t-interix: New file.
+ 
+ Mon Mar 22 23:41:49 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.h (PREFERRED_STACK_BOUNDARY): Define.
+ 
+ Mon Mar 22 23:41:31 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (ix86_compute_frame_size): New function.
+ 	(ix86_prologue, ix86_epilogue): Use it.
+ 	* i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	* reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
+ 
+ Mon Mar 22 18:06:59 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
+ 	strings.
+ 	* mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
+ 
+ Mon Mar 22 16:18:27 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
+ 	passing ATTRIBUTES to arm_valid_machine_decl_attribute.
+ 
+ 	* config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
+ 	passing ATTRIBUTES to arm_valid_machine_decl_attribute.
+ 
+ 	* config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
+ 	OUTER_CODE to arm_rtx_costs - it is not used.
+ 	(arm_compare_fp): Delete declaration.
+ 	(FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
+ 	arm_final_prescan_insn - they are not used.
+ 	(const_ok_for_op): Remove prototype.
+ 	(arm_rtx_costs): Fix prototype.
+ 	(arm_valid_machine_decl_attribute): Fix prototype.
+ 	(final_prescan_insn): Fix prototype.
+ 
+ 	* config/arm/arm.md: Remove references to arm_compare_fp.
+ 
+ 	* config/arm/arm.c (arm_compare_fp): Delete.
+ 	(const_ok_for_op): Make function static.  Add prototype.  Remove
+ 	mode parameter - it is unused.
+ 	(arm_rtx_costs): Remove outer_code parameter.
+ 	(reload_memory_operand): Declare mode parameter unused.
+ 	(power_of_two_operand): Declare mode parameter unused.
+ 	(equality_operator): Declare mode parameter unused.
+ 	(load_multiple_operation): Declare mode parameter unused.
+ 	(store_multiple_operation): Declare mode parameter unused.
+ 	(multi_register_push): Declare mode parameter unused.
+ 	(arm_valid_machine_decl_attribute): Remove attributes parameter -
+ 	it is unused.
+ 	(select_dominance_cc_mode): Remove op parameter - it is unused.
+ 	(gen_compare_reg): Remove fp parameter - it is unused.
+ 	(final_prescan_insn): Remove opvec and noperands parameters - they
+ 	are unused.
+ 
+ Mon Mar 22 14:35:28 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
+ 
+ Mon Mar 22 22:24:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_as_needed): Set reload_is_output_reload /
+ 	reload_has_output_reload for auto_inc expressions that could be
+ 	reloaded.  Call forget_old_reloads for REG_INC notes.
+ 
+ Mon Mar 22 21:51:57 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (cse_insn): Don't change the result register of a libcall.
+ 
+ Mon Mar 22 21:08:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (shallow_copy_rtx): Declare.
+ 	* rtl.c (shallow_copy_rtx): New function.
+ 	* reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
+ 	copy_rtx.
+ 
+ Mon Mar 22 10:44:33 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
+ 
+ 	* config/h8300/h8300.md (adjust_length): New attribute.
+ 	(modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
+ 	default value of attribute "adjust_length" onto "no".
+ 
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
+ 	length only if the attribute "adjust_length" value is "yes".
+ 	Use 0 if the shift is negative.
+ 
+ 	* final.c (shorten_branches): Check insn length after its
+ 	adjusting.
+ 
+ Sun Mar 21 17:33:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i860.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* i370.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* fx80.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* elxsi.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* clipper.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* 1750a.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* pa.h (TARGET_SWITCHES): Add documentation for default case.
+ 	(TARGET_OPTIONS): Likewise for default case.
+ 	* mn10300.h (TARGET_SWITCHES): Add documentation for default case.
+ 	* h8300.h (TARGET_SWITCHES): Add documentation for default case.
+ 
+ 	* gcse.c (dump_hash_table): Fix whitespace in declaration.
+ 	(compute_transpout): Renamed from pre_compute_transpout.
+ 	(compute_pre_*): Deleted.
+ 	(pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP.  All
+ 	callers changed.
+ 	(insert_insn_end_bb): Renamed from pre_insert_insn.
+ 	(pre_*): Delete unused variables.  Only leave local properties and
+ 	global redundant/optimal computation points.
+ 	(alloc_pre_mem, free_pre_mem): Corresponding changes.
+ 	(compute_pre_data): Simplify and call pre_lcm to run the lazy
+ 	code motion dataflow analysis.
+ 	(pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
+ 	based redundant and optimal computation points.
+ 
+ 	* basic-block.h (pre_lcm, pre_rev_lcm): Declare.
+ 
+ 	* toplev.c (main): A debug option without a level defaults to
+ 	level 2.
+ 
+ Sun Mar 21 12:13:01 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* flow.c (can_delete_label_p): Do not allow user specified
+ 	labels to be deleted.
+ 	* dwarf2out.c (gen_label_die): Generate addresses for deleted
+ 	(programmer specified) labels.
+ 	* dwarfout.c (output_label_die): Generate addresses for deleted
+ 	(programmer specified) labels.
+ 
+ 1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
+ 	linked with.
+ 
+ Sun Mar 21 01:15:03 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Mar 20 22:26:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.h (TARGET_SWITCHES): Add null description to default case.
+ 
+ Sat Mar 20 21:46:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c (yylex): Remove unused variable `bytes'.
+ 
+ 	* flow.c (print_rtl_with_bb): Cast the return value of alloca.
+ 
+ 	* function.c (assign_parms): Wrap variable `varargs_setup' in
+ 	macro SETUP_INCOMING_VARARGS.
+ 	(thread_prologue_and_epilogue_insns): Mark parameter `f' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* local-alloc.c (no_equiv): Likewise for parameter `store'.
+ 
+ 	* sched.c (schedule_insns): Remove unused variables `insn' and `next'.
+ 
+ 	* tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
+ 	file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
+ 	demangled_hash_lookup, symbol_push, symbol_pop, file_push,
+ 	file_pop, tlink_init, tlink_execute, frob_extension,
+ 	obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
+ 	maybe_tweak, recompile_files, read_repo_files,
+ 	demangle_new_symbols, scan_linker_output): Add static prototype.
+ 
+ 	(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
+ 	Make the third argument a `hash_table_key'.
+ 
+ 	* toplev.c (debug_start_source_file): Mark parameter `filename'
+ 	with ATTRIBUTE_UNUSED.
+ 
+ Sun Mar 21 02:28:21 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* tm.texi (Varargs): Don't split argument of @item across lines.
+ 
+ 	* invoke.texi: Fix use of @item vs @itemx.
+ 
+ Sun Mar 21 09:59:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
+ 	default case.
+ 
+ Sat Mar 20 23:33:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (check_dbra_loop): Fix debug message.
+ 
+ Sat Mar 20 15:54:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
+ 	pattern instead of decrement_and_branch_until_zero pattern.
+ 
+ Sat Mar 20 11:39:58 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
+ 	* config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
+ 
+ Fri Mar 19 23:26:29 1999  Martin von LÃ¶wis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* expr.c (expand_expr): Handle ERROR_MARK much earlier.
+ 
+ Fri Mar 19 15:28:38 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
+ 
+ 	* cppfiles.c (read_and_prescan): Likewise.
+ 	Start a #define in column 0.
+ 
+ 	* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
+ 	(cpp_push_buffer): Likewise for cpp_buffer*.
+ 	(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
+ 	(do_endif): Cast to char* when assigning to one.
+ 	(do_assert): Likewise.
+ 	(do_unassert): Likewise.
+ 	(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
+ 	Don't do unnecessary cast to char* anymore.
+ 
+ 	* genrecog.c (make_insn_sequence): Cast to char** when assigning
+ 	to one.  Cast the first argument of bzero to PTR.
+ 
+ 	* loop.c (strength_reduce): Remove unused variable `note'.
+ 
+ 	* reload1.c (new_insn_chain): Cast to struct insn_chain* when
+ 	assigning to one.
+ 
+ 	* rtl.c (copy_rtx): Use memcpy instead of bcopy.
+ 
+ Fri Mar 19 11:19:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (initialize_argument_information): Mark parameters
+ 	`num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
+ 
+ 	* dbxout.c (dbxout_start_new_source_file): Likewise for parameter
+ 	`filename'.
+ 	(dbxout_finish): Likewise for parameters `file' and `filename'.
+ 	(dbxout_prepare_symbol): Likewise for parameter `decl'.
+ 	(dbxout_begin_function): Likewise.
+ 
+ 	* explow.c (hard_function_value): Likewise for parameter `func'.
+ 
+ 	* function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
+ 
+ 	* expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
+ 	* expr.c (expand_expr): Likewise.
+ 	* expr.h (expand_abs): Delete unused argument from prototype.
+ 	* optabs.c (expand_abs): Remove unused parameter `unsignedp'.
+ 
+ 	* sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
+ 	(sdbout_end_block): Likewise for parameter `n'.
+ 
+ 	* toplev.c (debug_define): Likewise for parameters `lineno' and
+ 	`buffer'.
+ 	(debug_undef): Likewise.
+ 
+ 	* varasm.c (named_section): Likewise for parameter 'reloc'.
+ 	(assemble_external): Likewise for parameter `decl'.
+ 	(assemble_alias): Likewise for parameter `target'.
+ 
+ Fri Mar 19 01:54:30 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* toplev.c (read_integral_parameter): Constify.  Better control of
+ 	error messages.
+ 	(main): Use read_integral_parameter to set optimize, id_clash_len,
+ 	larger_than_size, and the debugging level.
+ 	* toplev.h (read_integral_parameter): Update prototype.
+ 
+ Fri Mar 19 01:42:05 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* system.h: Use putc_unlocked, fputc_unlocked, and
+ 	fputs_unlocked only if putc_unlocked has a prototype already.
+ 	Prototype fputs_unlocked if necessary.
+ 	* configure.in: Check for prototypes of putc_unlocked and
+ 	fputs_unlocked.
+ 	* acconfig.h: Updated.
+ 	* config.in, configure: Rebuilt.
+ 
+ Fri Mar 19 02:45:12 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* Makefile.in (INTL_TARGETS): New macro.
+ 	($(INTL_TARGETS)): Depend on generated sources; drop dependencies
+ 	on cp/parse.c and objc/objc-parse.c.
+ 	($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
+ 	* objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
+ 
+ Thu Mar 18 22:28:53 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i860.h (TARGET_SWITCHES): Add documentation.
+ 	* i860/paragon.h (TARGET_SWITCHES): Add documentation.
+ 	* i370.h (TARGET_SWITCHES): Add documentation.
+ 	* fx80.h (TARGET_SWITCHES): Add documentation.
+ 	* elxsi.h (TARGET_SWITCHES): Add documentation.
+ 	* clipper.h (TARGET_SWITCHES): Add documentation.
+ 	* 1750a.h (TARGET_SWITCHES): Add documentation.
+ 	* pa.h (TARGET_SWITCHES): Add documentation.
+ 	(TARGET_OPTIONS): Likewise.
+ 	* mn10300.h (TARGET_SWITCHES): Add documentation.
+ 	* h8300.h (TARGET_SWITCHES): Add documentation.
+ 
+ Thu Mar 18 15:58:26 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* loop.c (strength_reduce): Do not perform pseudo replacements
+ 	if the loop contains volatile memory references.
+ 
+ Thu Mar 18 19:09:50 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads_toplev): When processing X recursively,
+ 	don't alter it destructively except by filling in constants.
+ 
+ Thu Mar 18 10:14:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (default_include): Initialize structure members.
+ 	(pass_thru_directive): Change the type of 'keyword_length' to int.
+ 	(main): Cast `bindtextdomain' and `textdomain' to (void).
+ 
+ 	* collect2.c (main): Likewise.
+ 
+ 	* cppmain.c (main): Likewise.
+ 
+ 	* gcc.c (main): Likewise.
+ 
+ 	* gcov.c (main): Likewise.
+ 
+ 	* protoize.c (main): Likewise.
+ 
+ 	* toplev.c (main): Likewise.
+ 
+ 1999-03-18  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_explicit_type_size_string): Correct
+ 	its type.
+ 
+ Thu Mar 18 01:24:25 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Use "exit 1", not "exit (1)".
+ 	* configure: Rebuilt.
+ 
+ Wed Mar 17 23:17:42 1999  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config/t-gnu (SYSTEM_HEADER_DIR): New variable.  Set to
+ 	`/include' in order to find the system's limits.h.
+ 
+ Wed Mar 17 23:00:18 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* fixinc/fixincl.c: Include auto-host.h instead of config.h.
+ 	* fixinc/procopen.c: Likewise.
+ 	* fixinc/regex.c: Likewise.
+ 	* fixinc/server.c: Likewise.
+ 
+ Wed Mar 17 22:46:13 1999  Mark Elbrecht  <snowball3@usa.net.
+ 
+ 	* config/i386/go32.h: Delete.
+ 	* config/i386/djgpp.h: New. Renamed from go32.h.
+ 	Added -DDJGPP=2 to CPP_PREDEFINES.
+ 	* config/i386/go32-rtems.h: Delete.
+ 	* config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
+ 	Added -DDJGPP=2 to CPP_PREDEFINES.
+ 	* config/i386/xm-go32.h: Delete.
+ 	* config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
+ 	* config/i386/x-go32: Delete.
+ 	* config/i386/x-djgpp: New. Renamed from x-go32.
+ 	* config/i386/t-go32: Delete.
+ 	* config/i386/t-djgpp: New. Renamed from t-go32.
+ 	* configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
+ 	Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
+ 	Set xmake_file to i386/x-djgpp.
+ 	(*-go32-msdos, *-go32*): Remove entries.  Warn that GO32/DJGPP V1.X
+ 	is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
+ 	used instead.
+ 	* configure: Rebuilt.
+ 
+ 	* gcc.c (process_command): Dump link_command_spec too.
+ 
+ Wed Mar 17 20:38:08 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+ 			  Jeff Law  <law@cygnus.com>
+ 
+ 	* pa.md: Add real PA8000 scheduling information.
+ 
+ 	* pa.h (processor_type): Add PROCESSOR_8000 symbol.
+ 	(ISSUE_RATE): Revamp, including PA8000 support.
+ 	* pa.c (override_options): Add 8000 as -mschedule= option.
+ 	Do not call strcmp if pa_cpu_string is null.
+ 	* pa.md (attr cpu): Add 8000.
+ 	* invoke.texi: Add documentation for PA8000 scheduling.
+ 
+ Wed Mar 17 18:20:24 1999  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
+ 	Add descriptions.
+ 	* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
+ 
+ Wed Mar 17 14:51:19 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (compute_immediate_dominators): New function.
+ 	* basic-block.h (compute_immediate_dominators): Declare it.
+ 
+ 	* alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
+ 	in FP regs.
+ 	(MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
+ 
+ Wed Mar 17 14:41:41 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
+ 	time warning.
+ 	* config/arm/arm.md: Fix various compile time warnings.
+ 	* config/arm/arm.h: Fix various compile time warnings.  Add
+ 	function prototypes.
+ 	* config/arm/arm.c: Fix various compile time warnings.
+ 	(arm_override_options): Reorganize to separate tuning from
+ 	targetting.
+ 	(bit_count): New function: Return a count of the number of bits
+ 	set in a word.
+ 
+ Wed Mar 17 21:29:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
+ 	things that were eliminated.
+ 
+ Wed Mar 17 12:16:26 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (fixup_var_refs_1): First try moving the expression
+ 	directly into a register.  Don't separate cc0 setter and user.
+ 
+ Wed Mar 17 11:20:29 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
+ 
+ Wed Mar 17 09:25:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c: Don't include setjmp.h.
+ 	(parse_float): New static function.
+ 	(pf_args): New struct.
+ 	(yylex): Use them in call to `do_float_handler'.
+ 
+ 1999-03-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* cexp.y (yyerror): Call verror to get a useful error message.
+ 	* cexp.c: Rebuilt.
+ 
+ 	* .gdbinit: Move command to put breakpoint at abort to end of file
+ 	so that gdb does not bail out early.
+ 
+ Tue Mar 16 15:30:19 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
+ 
+ Tue Mar 16 23:40:09 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (movsi_i): Move t/r alternative after r/rI alternative.
+ 
+ Tue Mar 16 13:44:50 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
+ 	Delete emit_library_call_value declaration.
+ 
+ 1999-03-16  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
+ 	(which cannot otherwise appear in the processed buffer) and
+ 	move it out of tokens that it appears in the middle of.
+ 	Improve performance.
+ 	(find_position): New function.
+ 
+ 	* cpplib.c: \r (one character) indicates backslash
+ 	newline, not \\\n (two characters).  It cannot appear in the
+ 	middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
+ 	parsing moves past \n or \r.  Increment pfile->lineno whenever
+ 	a \n is placed into token_buffer.  Only one mark can exist at
+ 	a time, and CPP_BUMP_LINE must not be used while it is
+ 	active.  It is automatically cleared by cpp_pop_buffer and
+ 	parse_goto_mark.  \r is not in is_hor_space or is_space.
+ 
+ 	(NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
+ 	update_position, count_newlines, parse_move_mark): Removed.
+ 	(parse_string, copy_comment): New functions.
+ 	(parse_name): Returns void.
+ 	(parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
+ 	one argument, a cpp_reader *.  Change for new marking scheme.
+ 	(skip_comment): Handle CHILL line comments too.  Second
+ 	argument is now first character of comment marker; all callers
+ 	changed.  Issue error for unterminated block comment here.
+ 	(cpp_skip_hspace): Recognize CHILL comments.
+ 	(copy_rest_of_line): Likewise.  Call skip_comment and
+ 	parse_string directly, don't go through cpp_get_token.  Emit
+ 	"/**/" for block comments if -traditional (create_definition
+ 	needs this).
+ 	(do_define): Don't play with put_out_comments.
+ 	(cpp_push_buffer): Initialize ->mark to -1.
+ 	(cpp_buf_line_and_col): Just read out the values in the buffer
+ 	structure.
+ 	(output_line_command): Use cpp_buf_line_and_col.  Fix
+ 	formatting.  Remove stale code.
+ 	(cpp_get_token): Break out string parsing code to
+ 	parse_string.  Use skip_comment for CHILL comments too.  Use
+ 	copy_comment for put_out_comments instead of dinking with
+ 	marks.  Remove stale code.  Don't call output_line_command
+ 	unless it's necessary.
+ 
+ 	* cpplib.h (parse_marker): Removed.
+ 	(struct cpp_buffer): Line_base is now an unsigned char *; add
+ 	`mark' [long], remove `marks' [struct parse_marker *].
+ 	(parse_set_mark, parse_clear_mark, parse_goto_mark): Update
+ 	prototypes.
+ 	(CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
+ 	* cppinit.c (is_hor_space, is_space): '\r' is not considered
+ 	whitespace.
+ 	* cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
+ 	SKIP_WHITE_SPACE.
+ 	* cpphash.c (macarg): Disable line commands while expanding.
+ 
+ Tue Mar 16 11:30:19 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-lex.c (yylex) : Remove warning for integer literals being
+ 	larger than the largest target int.  Add warning for integer
+ 	literal being larger than than its chosen type.
+ 
+ Tue Mar 16 10:53:17 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* invoke.texi: Add -mlong32 documentation.
+ 	* config/mips/mips.h (mips_explicit_type_size_string): New.
+ 	(TARGET_SWITCHES): Add 'long32'.
+ 	(TARGET_OPTIONS): Add 'explicit-type-size'.
+ 	(CC1_SPECS): Set -mexplicit-type-size.
+ 	(LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
+ 	* config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
+ 	* config/mips/mips.c (mips_explicit_type_size_string): New.
+ 	(override_options): Use it.
+ 	* config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
+ 
+ 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
+ 	Pointer size now depends on both size longs and size of GP
+ 	registers.
+ 
+ Tue Mar 16 10:22:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
+ 	dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
+ 	* config/mips/mips.c (override_options): Allow -mlong64 and
+ 	-mint64 with -mips2 or less.
+ 	* config/mips/mips.h (MASK_LONG64): Fix comment.
+ 	(POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
+ 	(Pmode): Make Pmode the smaller of longs or gp registers.
+ 	* invoke.texi: Note the new size for pointers.
+ 
+ Mon Mar 15 22:45:25 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
+ 	bit-pattern directly.
+ 	(ASM_OUTPUT_REG_{PUSH,POP}): Delete.
+ 	* rs6000.c (first_reg_to_save): If profiling and context needed,
+ 	allocate a reg to save static chain for all ABIs.  For AIX
+ 	profiling, calculate parameter registers to save based on need.
+ 	(output_function_profiler): Save and restore static chain around
+ 	profile call for all ABIs.
+ 
+ 1999-03-15  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppinit.c: Instead of one pending list, keep separate lists
+ 	for each category of pending option: -D/-U, -A, -include,
+ 	-imacros.  Move the four partial include-path lists into the
+ 	pending block.  Use head and tail pointers so we don't ever
+ 	have to reverse the lists.
+ 
+ 	(cpp_start_read): Break out blocks of code to their own
+ 	functions: install_predefs and initialize_dependency_output.
+ 	Use path_include for C_INCLUDE_PATH and friends as well as
+ 	CPATH.  Remove include_defaults gunk.  Warn about the
+ 	combination of -lang-chill and -trigraphs.  Optimize string
+ 	bashing.  Walk each pending list once, deallocating as we go.
+ 
+ 	(append_include_chain): Brought over from cppfiles.c.  Mark
+ 	dirs as system include dirs if and only if appending to
+ 	system include path. If opts->verbose, print a notice when a
+ 	dir is dropped from the include path because it doesn't
+ 	exist.  Fix memory leak: this function is not supposed to copy
+ 	its DIR argument.
+ 
+ 	(nreverse_pending, push_pending): Removed.
+ 	(APPEND): New macro for adding to pending lists.
+ 	(path_include): Can now add to any partial include path.
+ 	(base_name): Bring over from cccp.c.
+ 	(cpp_options_init): Allocate the pending block.
+ 	(cpp_handle_option): Add --version.  Exit after --help.  Fix
+ 	formatting.  Order -ifoo options by frequency of usage.
+ 	(install_predefs): New function, simplified version of code
+ 	that was in cpp_start_read.
+ 	(initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
+ 
+ 	* cppfiles.c (simplify_pathname): Export.
+ 	(merge_include_chains): Don't nreverse the lists.  If
+ 	opts->verbose, print a notice when a duplicate dir is detected
+ 	and dropped from the include path.
+ 	(finclude): Fix excessive cleverness in setting
+ 	fp->system_header_p.
+ 	(actual_directory): Set x->sysp from
+ 	CPP_BUFFER (pfile)->system_header_p so that one system header
+ 	may include another with "".
+ 	(deps_output): Fix double adjustment of deps_size which would
+ 	cause all dependencies after the first two lines to be lost.
+ 
+ 	* cpplib.c (cpp_unassert): New function.
+ 	* cpplib.h: Lay out struct cpp_pending here.  Adjust
+ 	prototypes.  Add include_prefix_len to struct cpp_options.
+ 
+ Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
+ 	from HI/LO/HILO/MD into general registers the same as for one
+ 	of moving general registers to HI/LO/HILO/MD.
+ 
+ Mon Mar 15 12:39:38 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.c (init_idents): New function.  Initialize
+ 	static tree nodes for m32r specific attribute identifiers.  Remove
+ 	leading and trailing double underscores from the attribute names.
+ 	(m32r_valid_machine_decl_attribute): Call init_idents.
+ 	(m32r_encode_section_info): Call init_idents.
+ 
+ Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
+ 	LABEL_REF for something else.
+ 
+ Mon Mar 15 08:24:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (exact_real_inverse): Move variable `float_error'
+ 	into the scope where it is used.
+ 	(const_binop_1): New static function.
+ 	(cb_args): New struct.
+ 	(const_binop): Use them in call to `do_float_handler'.
+ 	(fold_convert_1): New static function.
+ 	(fc_args): New struct.
+ 	(fold_convert): Use them in call to `do_float_handler'.
+ 
+ Mon Mar 15 22:50:18 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* rtlanal.c (auto_inc_p): New function.
+ 	* rtl.h (auto_inc_p): Prototype it.
+ 	* reload1.c (add_auto_inc_notes): New function.
+ 	(reload): Strip REG_INC notes and call add_auto_inc_notes
+ 	for each insn to restore them correctly.
+ 
+ 1999-03-15  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixinc/Makefile.in (procopen.o): List the actual
+ 	dependencies.
+ 
+ Sun Mar 14 16:22:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (check_fold_consts): New static function.
+ 	(cfc_args): New struct.
+ 	(simplify_relational_operation): Use them in call to
+ 	`do_float_handler'.
+ 
+ 	* toplev.c (do_float_handler): New function to wrap calls to
+ 	setjmp/set_float_handler.
+ 
+ 	* toplev.h (do_float_handler): Add extern prototype.
+ 
+ 	* tree.c (build_real_from_int_cst_1): New static function.
+ 	(brfic_args): New struct.
+ 	(build_real_from_int_cst): Use them in call to
+ 	`do_float_handler'.
+ 
+ Sun Mar 14 01:15:06 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Mar 13 17:37:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
+ 
+ Sat Mar 13 11:36:16 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (arm_split_constant): Don't try to force a constant to
+ 	memory after arm_reorg has run.
+ 	(after_arm_reorg): New static variable.
+ 	(arm_reorg): Set it.
+ 	(output_func_epilogue): Clear it.
+ 
+ Fri Mar 12 20:26:32 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
+ 	* configure: Rebuilt.
+ 
+ Fri Mar 12 20:45:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (loop_iterations): Don't return a final value for EQ
+ 	comparison loops.
+ 
+ Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload1.c (calculate_needs_all_insns): When ignore equivalence
+ 	setting insn, clear need_elim, need_reload, and need_operand_change.
+ 
+ Fri Mar 12 07:54:43 1999  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* fixinc/fixinc.*: Some changes from the fixincl-branch
+ 	were not applied (??!!).  Corrected.
+ 
+ 	* fixinc/Makefile.in: Same thing.
+ 
+ Fri Mar 12 00:51:43 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
+ 	MAX_INTEGER_COMPUTATION_MODE.
+ 
+ Thu Mar 11 14:00:58 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
+ 	(MODES_TIEABLE_P): Update.
+ 
+ 	* alpha.md (ev5_e0): Conflict loads and stores.
+ 
+ Thu Mar 11 13:55:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* machmode.h (smallest_mode_for_size): Prototype.
+ 	* stor-layout.c (smallest_mode_for_size): Remove static.
+ 
+ Thu Mar 11 21:25:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
+ 	conversion if we don't know the lifetime.
+ 
+ Thu Mar 11 20:37:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.1c (delete_address_reloads_1): Check for reloads of
+ 	CURRENT_INSN even if it sets DST.
+ 
+ Thu Mar 11 10:29:50 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
+ 	(print_die, size_of_die, value_format, output_die): Adjust.
+ 
+ Thu Mar 11 10:27:42 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
+ 	DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
+ 	text_section_label, debug_line_section_label,
+ 	debug_info_section_label, abbrev_section_label): New.
+ 	(output_compilation_unit_header): Emit label associated
+ 	with section instead of section name itself.
+ 	(out_pubnames, output_aranges, output_line_info,
+ 	dwarf2out_finish): Likewise.
+ 	(dwarf2out_init): Build internal label names for sections
+ 	from static labels.
+ 
+ Thu Mar 11 17:28:32 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (mulsi3): End mul.l sequence with a no-op move.
+ 
+ Thu Mar 11 08:52:02 1999  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* Makefile.in: Activated fixinc/mkfixinc.sh.
+ 	* configure.in: Activated fixinc/mkfixinc.sh.
+ 
+ Thu Mar 11 01:38:02 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* cppfiles.c (INO_T_EQ): Handle UWIN.
+ 
+ 	* c-common.c (decl_attributes): Flag unrecognized attribute
+ 	functions as warnings instead of as errors.
+ 
+ 	Support for i386-pc-uwin.
+ 	* i386/uwin.h: New file.
+ 	* i386/xm-uwin.h: New file.
+ 	* i386/t-uwin: New file.
+ 	* i386/uwin.asm: New file.
+ 	* configure.in (i[3456]86-*-uwin*): Define.
+ 	Add Workaround for vfork bug when hosted on uwin.
+ 	* configure: Regenerate.
+ 
+ 	* cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
+ 	(absolute_filename): UWIN uses POSIX pathnames only.
+ 	* libgcc2.c (getpagesize): Do not define for UWIN.
+ 	(mprotect): Likewise.
+ 	* protoize.c (dirent.h): Conditionally include.
+ 	(fputc): Prototype only if it's not a macro.
+ 
+ Wed Mar 10 02:49:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* configure.in: Remove init_priority stuff.
+ 
+ 1999-03-11  Colin Smith  <colin@wrs.com>
+ 
+ 	* sdbout.c (plain_type_1): Make boolean types work better with sdb.
+ 
+ Thu Mar 11 00:20:52 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
+ 
+ 	* gcc.texi: Update bug reporting instructions to match
+ 	current ezmlm list reality.
+ 
+ Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (print_file_name, print_prog_name, spec_machine,
+ 	read_specs, set_spec, lookup_compiler, build_search_list,
+ 	putenv_from_prefixes, find_a_file, record_temp_file,
+ 	delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
+ 	is_directory, validate_switches, used_arg, default_arg,
+ 	pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
+ 	notice, add_preprocessor_option, add_assembler_option,
+ 	add_linker_option, process_command, execute,
+ 	unused_prefix_warnings, clear_args, fatal_error,
+ 	lang_specific_driver, user_specs, compiler, link_command_spec,
+ 	option_map, translate_options, make_temp_file, temp_name,
+ 	programname, path_prefix, machine_suffix, just_machine_suffix,
+ 	gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
+ 	md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
+ 	standard_startfile_prefix, standard_startfile_prefix_1,
+ 	standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
+ 	multilib_dir, temp_filename, temp_file, command, switchstr,
+ 	infile, outfiles, input_filename, input_basename, input_suffix,
+ 	check_live_switch, main): Qualify a char* with the `const' keyword.
+ 
+ Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* lcm.c: New file.
+ 	* Makefile.in (OBJS): Add lcm.o.
+ 	(lcm.o): Add dependencies.
+ 
+ 	* gcse.c (compute_pre_local_properties): Delete.
+ 	(compute_pre_data): Use compute_local_properties instead of
+ 	compute_pre_local_properties.
+ 
+ 	* gcse.c: More comments, whitespace and similar fixes.
+ 	(dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
+ 	(dump_pre_data, compute_cprop_local_properties): Likewise.
+ 	(one_classic_gcse_pass): Lose unused argument.  All callers changed.
+ 	(compute_hash_table, compute_expr_hash_table): Likewise.
+ 	(compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
+ 	(cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
+ 	All callers changed.  Only alter jumps if ALTER_JUMPS is nonzero.
+ 	Lose unused argument.
+ 	(gcse_main): Always run a cprop pass after finishing global cse.
+ 	(compute_local_properties): New function.
+ 	(hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
+ 	(compute_cprop_data): Use compute_local_properties.
+ 
+ 	* gcse.c: Update various comments.
+ 	(current_function_calls_longjmp): Delete declaration.
+ 
+ 	* gcse.c (run_jump_opt_after_gcse): New variable.
+ 	(gcse_main): Returns an integer.
+ 	(hash_scan_set): Record initializations from CONST_DOUBLEs too.
+ 	(try_replace_reg): Update some comments.
+ 	(cprop_insn): Allow propagation into some JUMP_INSNs too.
+ 	* rtl.h (gcse_main): Update prototype.
+ 	* toplev.c (rest_of_compilation): If gcse_main returns nonzero,
+ 	then run a jump optimization pass.
+ 	* jump.c (delete_barrier_successors): Delete nop jumps too.
+ 
+ Wed Mar 10 19:04:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (fp_arith_reg_operand): Actually test if reg is suitable
+ 	for FP arithmetic.  Changed caller.
+ 	* sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
+ 
+ Wed Mar 10 18:56:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): When inheriting from the frame
+ 	pointer, don't clobber it.
+ 
+ Wed Mar 10 08:01:52 1999  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* fixinc/fixinc.*: Resync-ed with the files in this
+ 	directory.
+ 
+ 	* fixinc/mkfixinc.sh: The machine case elements were
+ 	out-of-order.  (the ix86-*-linux-gnu* entry needed to
+ 	be earlier).
+ 
+ Wed Mar 10 00:01:24 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine_note_store): Fix calculation of number
+ 	of affected registers.
+ 
+ Tue Mar  9 15:48:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (tidy_fallthru_edge): Be more careful finding the last
+ 	BARRIER of a list.  Delete the cc0 setter as well as a cond jump.
+ 
+ Tue Mar  9 15:26:02 1999  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* i386.md (ashlsi3 splitter): Fix typo in last change.
+ 
+ Tue Mar  9 11:35:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reg-stack.c (stack_reg_life_analysis): Use returnjump_p
+ 	instead of an explicit test for RETURN.
+ 
+ Tue Mar  9 09:33:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
+ 
+ 	* toplev.c: Include basic-block.h.
+ 
+ Tue Mar  9 02:08:17 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (load_register_parameters): New function.
+ 	(expand_call): Use it.
+ 
+ 	* calls.c (expand_call): Slightly reorganize code.
+ 
+ 	* calls.c (compute_argument_addresses): New function.
+ 	(rtx_for_function_call): New function.
+ 	(expand_call): Use them.
+ 
+ 	* i386.md (zero_extendhisi2): Split into an expander and anonymous
+ 	pattern.  Add new anonymous pattern for use when optimizing for
+ 	size or for the PPro.
+ 	(zero_extendqihi2, zero_extendqisi2): Likewise.
+ 
+ Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
+ 	dependencies to sets in the non-hard-reg case too.
+ 
+ Mon Mar  8 18:55:21 1999  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
+ 
+ Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* local-alloc.c (combine_regs): Don't combine if we have a hard reg
+ 	for which CLASS_LIKELY_SPILLED_P is true.
+ 
+ 	* unroll.c (loop_iterations): Only call loop_find_equiv_value if we
+ 	have a REG or SUBREG.
+ 
+ Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md (ashlsi3): Revise comments.  Provide new anonymous
+ 	pattern for Pentium and PPro/PII.  Reverse constraints in
+ 	generic ashlsi3 anonymous pattern.
+ 
+ 	* calls.c (initialize_argument_info): Accept a pointer to
+ 	CUMULATIVE_ARGS.
+ 	(expand_call): Pass the address of CUMULATIVE_ARGS.
+ 
+ 	* rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
+ 
+ 	* mn10300.h (CASE_DROPS_THROUGH): Delete.
+ 	* mn10200.h (CASE_DROPS_THROUGH): Delete.
+ 	* h8300.h (CASE_DROPS_THROUGH): Delete.
+ 
+ 	* flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
+ 	to also delete the cc0 setter when deleting a conditional branch
+ 	to the next block.
+ 
+ Mon Mar  8 18:47:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* regmove.c (copy_src_to_dest): New argument max_old_uid.
+ 
+ Mon Mar  8 08:23:00 1999  Bruce Korb  <korb@datadesign.com>
+ 
+ 	* ChangeLog: Merged entries from fixincl-branch.
+ 
+ Sun Mar  7 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
+ 	(print_exp): Special case addition of a constant.
+ 	(print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
+ 
+ Sun Mar  7 11:21:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* haifa-sched.c (reg_last_clobbers): New.
+ 	(reg_pending_clobbers, bb_reg_last_clobbers): New.
+ 	(compute_block_backward_dependences): Allocate memory for them.
+ 	(schedule_region): Likewise.
+ 	(sched_analyze_1): Clobbers don't interfere with one another.
+ 	They do interfere with sets ...
+ 	(sched_analyze_2): ... and uses.
+ 	(sched_analyze): Likewise.
+ 	(sched_analyze_insn): Update reg_last_clobbers appropriately.
+ 
+ Sun Mar  7 08:30:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gmon-sol2.c: Include config.h and system.h.  Don't redundantly
+ 	include system header files.
+ 	(sccsid): Remove.
+ 	(moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
+ 	(_mcleanup): Add the `const' keyword to a char*.
+ 	(internal_mcount): Declare `etext' as a char[] not a function.
+ 	Cast `etext' to char* when calling `monstartup'.
+ 
+ 	* sparc.c (frame_base_name, save_regs, restore_regs,
+ 	build_big_number, sparc_cmodel_string, sparc_align_loops_string,
+ 	sparc_align_jumps_string, sparc_align_funcs_string, code_model,
+ 	cpu_default, cpu_table, output_function_prologue,
+ 	output_function_epilogue, output_return,
+ 	sparc_flat_output_function_prologue, ultra_code_names,
+ 	sparc_flat_output_function_epilogue): Constify a char*.
+ 	(hypersparc_adjust_cost): Add a default case in a switch.
+ 
+ 	* sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
+ 	sparc_cpu_select, sparc_align_loops_string,
+ 	sparc_align_jumps_string, sparc_align_funcs_string,
+ 	output_return): Constify a char*.
+ 
+ 	* sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
+ 	so that we check "== 32", instead of "!= 64".  Cast a value to
+ 	HOST_WIDE_INT when comparing against one.  Hide the declaration
+ 	for variable `chain'.
+ 
+ Sun Mar  7 08:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (const, inline): Move the stage2 handling of these
+ 	keywords-as-macros from here...
+ 
+ 	* gansidecl.h (const, inline): ...to here.
+ 
+ Sun Mar  7 02:44:15 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
+ 
+ Sun Mar  7 01:58:47 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (canon_hash): Never reject hard regs in CCmode.
+ 
+ Sun Mar  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Mar  6 17:18:44 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (make_edges): Handle casesi that jump to default branch.
+ 	If CASE_DROPS_THROUGH, force fallthru to block after casesi.
+ 
+ Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c (data_type, affix_data_type, gen_decl,
+ 	gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
+ 	Qualify a char* with the `const' keyword.
+ 
+ 	* c-common.c (declare_hidden_char_array, add_attribute, if_elt,
+ 	declare_function_name, decl_attributes, format_char_info,
+ 	check_format_info, binary_op_error): Likewise.
+ 
+ 	* cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
+ 
+ 	* gcse.c (dump_hash_table): Likewise.
+ 
+ 	* integrate.c (function_cannot_inline_p): Likewise.
+ 
+ 	* optabs.c: Include insn-config.h earlier.
+ 	(init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
+ 	Qualify a char* with the `const' keyword.
+ 
+ 	* real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
+ 	asctoeg, mtherr, ereal_atof): Likewise.
+ 
+ 	* real.h (ereal_atof): Likewise.
+ 
+ 	* sbitmap.c (dump_sbitmap_vector): Likewise.
+ 
+ 	* sbitmap.h (dump_sbitmap_vector): Likewise.
+ 
+ 	* stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
+ 
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 
+ 	* tree.h (function_cannot_inline_p, expand_start_case): Likewise.
+ 
+ Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
+ 	not overwrite AIX link register save area.
+ 
+ Fri Mar  5 23:08:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads_subreg_address): Actually create the USE
+ 	for the register, not the new memory location.
+ 
+ Fri Mar  5 21:41:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (emit_reload_insns): If pseudo that can't be replaced
+ 	with its equivalent constant, fall back to reload_in.
+ 
+ Fri Mar  5 13:20:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in: Delete .flow2 debugging files.
+ 
+ Fri Mar  5 11:36:11 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (arm_override_options): Change default target
+ 	cpu selection so that enabling TARGET_APCS_32 does not override
+ 	default target CPU.
+ 
+ Fri Mar  5 19:26:23 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (SLOW_BYTE_ACCESS): Define to 1.
+ 	(BOOL_TYPE_SIZE): Define.
+ 
+ Fri Mar  5 02:14:54 1999  John Wehle  (john@feith.com)
+ 
+ 	* function.c (assign_stack_temp_for_type): Abort
+ 	if mode == Blkmode and align is less than
+ 	BIGGEST_ALIGNMENT / BITS_PER_UNIT.
+ 	(assign_stack_temp_for_type): Round the size parameter
+ 	passed to assign_stack_local instead of size itself.
+ 
+ Thu Mar  4 15:00:35 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (delete_unreachable_blocks): Mark blocks as they
+ 	are put on to the worklist, not as they are taken off.
+ 
+ Thu Mar  4 00:05:44 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (current_function_has_computed_jump): Remove duplicate
+ 	definition.
+ 
+ Wed Mar  3 19:09:11 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
+ 
+ 	* sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
+ 	MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
+ 	(INIT_SUBTARGET_OPTABS): Define to empty.
+ 
+ Wed Mar  3 00:00:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (force_into): New function.
+ 	(expand_block_move): Use it.
+ 
+ Tue Mar  2 10:39:43 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* cccp.c (struct default_include): Add 'included' field.
+ 	(main): Set 'included' field when a default include directory
+ 	is added to the chain.  If -v is specified list all default
+ 	include directories which do not get appended to the chain.
+ 
+ Tue Mar  2 09:24:10 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in (gxx_include_dir): Rename to
+ 	gcc_gxx_include_dir in order to prevent it being overridden by
+ 	a top level Makefile.
+ 	(gcc_tooldir): If $exec_prefix != $prefix then use the
+ 	difference between the two as the basis for gcc_tooldir.
+ 
+ 	* configure: Rebuild.
+ 
+ 	* Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
+ 
+ Tue Mar  2 16:45:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (copy_loop_body): Don't make extra copies of
+ 	NOTE_INSN_LOOP_CONT notes.
+ 
+ Tue Mar  2 07:44:56 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* tree.c (save_tree_status): Don't treat functions with no context
+ 	as nested.
+ 
+ Tue Mar  2 09:37:05 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* Makefile.in (MAKEINFO): Use makeinfo built from sibling
+ 	tree when available.
+ 
+ Tue Mar  2 10:12:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
+ 	alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
+ 	current_function_file): Add the `const' keyword.
+ 	(normal_memory_operand): Mark parameter `mode' with
+ 	ATTRIBUTE_UNUSED.
+ 	(alpha_expand_unaligned_load): Add a default case to a switch.
+ 
+ 	* alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
+ 	alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
+ 	(normal_memory_operand): Add prototype.
+ 
+ 	* alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
+ 	comparing against one.
+ 
+ Tue Mar  2 10:00:21 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (abort_with_insn): Make function static, add a prototype,
+ 	constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
+ 	(current_function_file, mips_cpu_string, mips_isa_string,
+ 	mips_abi_string, mips_no_mips16_string, mips_entry_string,
+ 	mips_move_1word, mips_move_2words, output_block_move, load_store,
+ 	override_options, make_temp_file, mips16_fp_args): Qualify a char*
+ 	with the `const' keyword.
+ 
+ 	* mips.h (current_function_file, mips_cpu_string, mips_isa_string,
+ 	mips_abi_string, mips_entry_string, mips_no_mips16_string,
+ 	mips_move_1word, mips_move_2words, output_block_move): Likewise.
+ 	(abort_with_insn): Remove extern prototype.
+ 
+ 	* mips.md: Qualify a char* with the `const' keyword.
+ 	Remove many unused variables named `label'.
+ 
+ Tue Mar  2 01:27:52 1999  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
+ 	variables.
+ 	(install-cpp, uninstall-cpp): New targets.
+ 	(install-normal): Depend on $(INSTALL_CPP).
+ 	(uninstall): Depend on $(UNINSTALL_CPP).
+ 	* configure.in (cpp_install_dir): New, substitute.
+ 	(tmake_file): Added t-install-cpp for --enable-cpp.
+ 	* configure: Rebuilt.
+ 	* cpp.sh: New cpp script.
+ 	* config/t-install-cpp: New target fragment.
+ 
+ Tue Mar  2 01:40:01 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
+ 	case.
+ 	(cse_insn): Avoid creating a bogus REG_EQUAL note for
+ 	(const (minus (label) (label)))
+ 	(record_jump_cond): Fix mismatched paren in comment.
+ 
+ Tue Mar  2 01:07:12 1999  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
+ 
+ 	* final.c (end_final): There are 11 words in the "main header"
+ 	structure, not 10.
+ 
+ Tue Mar  2 00:09:18 1999  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* extend.texi: Reference __extension__ in the index.
+ 
+ Mon Mar  1 19:09:32 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in (CROSS_FLOAT_H): Delete.
+ 	(FLOAT_H): Use float_h_file.
+ 	(rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
+ 	(gfloat.h): Delete.
+ 	(stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
+ 	(mostlyclean): Delete gloat.h reference.
+ 	(install-cross-rest, install-float-h-cross, stmp-headers): Update
+ 	comments.
+ 	* configure.in (sparcv9-*-solaris2*): Set float_format to none.
+ 	(sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
+ 	(float_h_file): Set from float_format.  Substitute into Makefile.in.
+ 	(float_format): No longer substitute into Makefile.in.
+ 	* cross-make (FLOAT_H): Delete.
+ 	* config/mips/t-cross64 (FLOAT_H): Delete.
+ 	* configure: Rebuilt.
+ 
+ Mon Mar  1 16:36:18 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.md (div_trap_normal, div_trap_mips16): Require the dependent
+ 	insn to be an INSN before looking at its pattern.
+ 
+ Mon Mar  1 15:03:51 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs.  Fix comments.
+ 	* config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
+ 	HImode reg when TARGET_5200.
+ 
+ Mon Mar  1 21:44:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	From Toshiyasu Morita:
+ 	* sh.h (CACHE_LOG): SH2 has cache, too.
+ 
+ Mon Mar  1 14:23:36 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* toplev.c (compile_file): Disable -ffunction-sections and
+ 	debugging warning if the object format is elf.
+ 
+ Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Use 16 bit addressing
+ 	when the data in 8-bit area and can not be addressed by 8-bit.
+ 
+ Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (create_basic_block): Disregard integrated bb notes.
+ 
+ Sun Feb 28 15:57:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
+ 
+ Sun Feb 28 14:47:53 1999  Arturo Montes  <mitosys@colomsat.com.co>
+ 
+ 	* config/i386/t-sco5gas (crti.o): New target.
+ 
+ Sun Feb 28 15:10:17 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (elf_high, movsi_got, *movsi_got_internal,
+ 	*movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
+ 	movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
+ 	load_multiple, allocate_stack, call_indirect_aix32,
+ 	call_indirect_aix64, call_value_indirect_aix32,
+ 	call_value_indirect_aix64, call_indirect_nt,
+ 	call_value_indirect_nt): Use gpc_reg_operand instead of
+ 	register_operand.
+ 
+ Sun Feb 28 15:10:17 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
+ 	*andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
+ 	other than cr0.
+ 	* rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
+ 	allow andi. or andis. which always set cr0.
+ 
+ Sun Feb 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Feb 28 02:00:38 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* invoke.texi: Update information for PA scheduling.
+ 
+ Sat Feb 27 23:21:47 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
+ 			  Mike Stump  <mrs@wrs.com>
+ 
+ 	* pa.c (override_options): Change default to 7100LC.
+ 
+ 	* pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
+ 	float regs before right half of float regs.
+ 
+ Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* frame.h: Update some comments.
+ 	* defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
+ 	* crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
+ 	using TARGET_WEAK_ATTRIBUTE.
+ 	(__do_global_dtors_aux): Check if __deregister_frame_info is
+ 	zero before calling it.
+ 	(__do_global_dtors): Likewise.
+ 	(frame_dummy): Check if __register_frame_info is zero before
+ 	calling it.
+ 	(__frame_dummy): Likewise.
+ 
+ Sat Feb 27 19:18:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* SERVICE: Update from the FSF.
+ 
+ Sat Feb 27 14:31:22 1999  Arturo Montes  <mitosys@colomsat.com.co>
+ 
+ 	* config/i386/t-sco5 (crti.o): New target.
+ 	* config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
+ 	linking -shared.
+ 	* configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
+ 
+ Sat Feb 27 01:12:40 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* md.texi (prologue,epilogue): Document named patterns.
+ 
+ Fri Feb 26 19:31:25 1999  Dave Love  <fx@gnu.org>
+ 
+ 	* md.texi, invoke.texi: Fix unterminated @xrefs.
+ 
+ Fri Feb 26 15:33:45 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genattrtab.c (simplify_knowing): Fix uninitialized read
+ 	in Feb 21 change.
+ 
+ 	* genextract.c (main): Clear recog_operands before extracting.
+ 
+ Fri Feb 26 02:24:57 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-pragma.c (add_weak); Delete.  Moved into...
+ 	* varasm.c (add_weak): New external function.
+ 	(declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
+ 	the list of weak functions.
+ 	* c-pragma (add_weak): Declare.
+ 
+ Thu Feb 25 23:43:59 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Flow rewrite to use basic block structures and edge lists:
+ 
+ 	* basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
+ 	(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
+ 	(struct edge_def): New.
+ 	(struct basic_block_def): New.
+ 	(basic_block_info): New.
+ 	(BLOCK_HEAD, BLOCK_END): Update.
+ 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
+ 	(uid_block_number): Kill.
+ 	(basic_block_for_insn, BLOCK_FOR_INSN): New.
+ 	(BLOCK_NUM): Update.
+ 	* flow.c (XNMALLOC): Kill.
+ 	(max_uid_for_flow): Kill.
+ 	(uid_block_number): Kill.
+ 	(uid_volatile): Turn into a bitmap.
+ 	(SET_INSN_VOLATILE): New.
+ 	(basic_block_info): New.
+ 	(entry_exit_blocks): New.
+ 	(x_basic_block_head, x_basic_block_end): Kill.
+ 	(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
+ 	(flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
+ 	(basic_block_loop_depth): Kill.
+ 	(basic_block_for_insn): New.
+ 	(find_basic_blocks): Split out initial block counting into
+ 	count_basic_blocks.  Call functions split out of find_basic_blocks_1.
+ 	(count_basic_blocks): New.
+ 	(find_basic_blocks_1): Split out edge recognition, unreachable
+ 	block deletion.
+ 	(create_basic_block): New.
+ 	(compute_bb_for_insn): New.
+ 	(clear_edges): New.
+ 	(free_bb_memory): Kill.
+ 	(add_edge, add_edge_to_label): Kill.
+ 	(mark_label_ref): Kill.
+ 	(make_edges): Rewrite to use edge lists.
+ 	(make_edge, make_label_edge): New.
+ 	(mark_critical_edges): New.
+ 	(split_edge, insert_insn_on_edge): New.
+ 	(commit_one_edge_insertion, commit_edge_insertions): New.
+ 	(delete_unreachable_blocks): Rewrite to use edge lists.
+ 	Split out EH region manipulation into delete_eh_regions.
+ 	Call tidy_fallthru_edge and merge_blocks.
+ 	(delete_eh_regions): New.
+ 	(delete_note_p): New.
+ 	(delete_insn_chain): New.
+ 	(delete_block): Split out code into delete_insn_chain and
+ 	tidy_fallthru_edge.  Update edge lists.
+ 	(expunge_block): New.
+ 	(flow_delete_insn): New?
+ 	(can_delete_label_p): New?
+ 	(merge_blocks_nomove, merge_blocks): New.
+ 	(tidy_fallthru_edge): New.
+ 	(calculate_loop_depth): New.
+ 	(life_analysis): Allocate and free uid_volatile.
+ 	(free_basic_block_vars): Update for new structures.
+ 	(record_volatile_insns): Use SET_INSN_VOLATILE.
+ 	(mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
+ 	(mark_used_regs): Likewise.
+ 	(life_analysis_1): Use bb global_live_at_start, global_live_at_end,
+ 	local_set regsets.  Use bb->aux to store new_live_at_end.  Begin
+ 	life propagation from EXIT_BLOCK rather than last block.  Clear
+ 	regs_ever_live after mark_regs_live_at_end.
+ 	(allocate_for_life_analysis): Update for new structures.
+ 	(propagate_block): Split out loop depth calculation to
+ 	calculate_loop_depth.
+ 	(regno_uninitialized): Use bb->global_live_at_start.
+ 	(regno_clobbered_at_setjmp): Likewise.
+ 	(dump_bb_data): Likewise.
+ 	(find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
+ 	(dump_flow_info): Update for new structures.
+ 	(dump_edge_info): New.
+ 	(print_rtl_with_bb): Update for new structures.
+ 	(compute_preds_succs): Do no work -- convert edge lists.
+ 	(set_block_for_insn): From corpse of old set_block_num.
+ 	(set_block_num): Call it.
+ 
+ 	* rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
+ 	* rtl.h (rtunion_def): Add bb entry.
+ 	(NOTE_BASIC_BLOCK): New.
+ 	(NOTE_INSN_BASIC_BLOCK): New.
+ 
+ 	* varray.h (varray_data_tag): Add bb entry.
+ 	(VARRAY_BB_INIT, VARRAY_BB): New.
+ 
+ 	* emit-rtl.c (emit_label_before): New.
+ 
+ 	* except.c (expand_rethrow): Delete insns following the call to
+ 	rethrow.  Put the REG_EH_RETHROW on the call.
+ 
+ 	* jump.c (returnjump_p, returnjump_p_1): New.
+ 
+ 	* expr.h (nonlocal_goto_handler_labels): New declaration.
+ 	* function.c (nonlocal_goto_handler_labels): Define it.
+ 	(push_function_context_to): Save it.
+ 	(pop_function_context_from): Restore it.
+ 	(init_function_start): Clear it.
+ 	(nonlocal_label_rtx_list): Kill.
+ 	* function.h (struct function): Add storage space for it.
+ 	* stmt.c (expand_nl_handler_label): Return the new label.
+ 	(expand_nl_goto_receivers): Collect a list of them in
+ 	nonlocal_goto_handler_labels.
+ 
+ 	* Makefile.in (print-rtl.o): Depend on basic-block.h.
+ 	(flow.o): Depend on insn-flags.h.
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Do not
+ 	half-heartedly update bb structures.
+ 
+ 	* toplev.c: Add flow2 dump as -dw.
+ 	(rest_of_compilation): Finish .greg before flow2.
+ 
+ 	* graph.c (draw_edge): Handle class 3.
+ 	(print_rtl_graph_with_bb): Make abnormal edges red class 2,
+ 	change non-fall-thru but adjacent to green class 3.  Update
+ 	to use new structures.
+ 
+ 	* print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
+ 
+ 	* reg-stack.c (BLOCK_NUM): Convert to function.  Abort if
+ 	block_number is -1.
+ 	(reg_to_stack): Initialize block_num to -1.
+ 
+ 	* combine.c (set_nonzero_bits_and_sign_copies): Update reference
+ 	to basic_block_live_at_start to bb->global_live_at_start.
+ 	(try_combine): Likewise.
+ 	(reg_dead_at_p): Likewise.
+ 	* global.c (global_conflicts): Likewise.
+ 	Handle stack regs on all abnormal edges, not just computed jumps.
+ 	(mark_elimination): Update reference to basic_block_live_at_start.
+ 	(build_insn_chain): Likewise.
+ 	* haifa-sched.c (haifa_edge): Rename from edge for conflict.
+ 	(is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
+ 	of nonlocal_label_rtx_list.
+ 	(check_live_1): Update reference to basic_block_live_at_start.
+ 	(update_live_1): Likewise.
+ 	(find_pre_sched_live): Likewise.
+ 	(find_post_sched_live): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	(block_alloc): Likewise.
+ 	* reload1.c (reload, reload_combine): Likewise.
+ 	* regmove.c (mark_flags_life_zones): Likewise.
+ 	* resource.c (mark_target_live_regs): Likewise.
+ 	* sched.c (schedule_block): Likewise.
+ 
+ 	* regclass.c (regset_release_memory): Don't free
+ 	basic_block_live_at_start.
+ 
+ 	* unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
+ 
+ Thu Feb 25 21:32:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* fixinc.wrap: Also handle struct queue in sys/stream.h.
+ 	* fixinc.svr4: Likewise.
+ 
+ 	* dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
+ 	rather than asserting it.
+ 
+ Thu Feb 25 23:33:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
+ 	cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
+ 	HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
+ 
+ 	* Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
+ 	cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
+ 	scan-decls.o): Don't depend on machmode.h.
+ 
+ 	* cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
+ 	Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
+ 
+ 	* cppfiles.c: Likewise.
+ 
+ 	* cpplib.c: Likewise.
+ 
+ 	* cpplib.h: Likewise.  Also don't include machmode.h anymore.
+ 
+ Thu Feb 25 18:46:26 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ Thu Feb 25 16:19:43 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (call patterns): Lose unused argument to output_call.
+ 
+ 	* print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
+ 
+ 1999-02-25  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpphash.c (install): Rename to cpp_install, add cpp_reader*
+ 	first argument.  All callers changed.
+ 	(hashtab): Removed.
+ 	(cpp_lookup, cpp_install): Change all refs to hashtab to
+ 	pfile->hashtab.
+ 	(cpp_hash_cleanup): Removed.
+ 	* cpphash.h: Adjust prototypes.
+ 	* cpplib.h (struct cpp_reader): Add hashtab pointer.
+ 	* cppinit.c (cpp_reader_init): Also allocate space for the
+ 	hashtab.
+ 	(cpp_cleanup): Delete all macros and free the hashtab.
+ 
+ Thu Feb 25 21:52:54 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
+ 	in registers.
+ 
+ 	* expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
+ 	* function.c (assign_parms): Honor PRETEND_OUTGOING_VARARGS_NAMED.
+ 	* calls.c (expand_call): Likewise.
+ 
+ 	* sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
+ 	stdarg arguments.
+ 	* sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
+ 	(FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
+ 	arguments in registers.
+ 	(PRETEND_OUTGOING_VARARGS_NAMED): Define.
+ 	* va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
+ 	flavor varargs.
+ 
+ Thu Feb 25 14:32:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (dump_class): Revert last change and make the prototype
+ 	extern.
+ 
+ Thu Feb 25 19:13:42 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (insn_first_p): Don't declare.
+ 	* rtlanal.c (insn_first_p): Delete.
+ 	* loop.c (loop_insn_first_p): Faster implementation.
+ 
+ Thu Feb 25 10:44:35 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
+ 	(TARGET_3, TARGET_6): Delete.
+ 	(ARM_FLAG_ARM[36]): Delete.
+ 	(CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
+ 	(CC1_SPEC): Don't expand -m[236] into new equivalents.
+ 	(CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
+ 	* arm.c (arm_override_options): Delete warnings about deprecated
+ 	options -m[236].
+ 
+ 	* arm.c (arm_finalize_pic): Build the label into the special pic
+ 	adjustment insn instead of issuing it separately.
+ 	* arm.md (pic_add_dot_plus_eight): Rework to contain the label
+ 	that is needed.
+ 
+ 	* arm.md (*zeroextractqi_compare0_scratch): Delete.
+ 	(*ne_zeroextractsi): New pattern.
+ 
+ Thu Feb 25 18:40:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* stmt.c (expand_end_loop): Grok code emitted by
+ 	expand_exit_loop_if_false.
+ 
+ Thu Feb 25 10:17:32 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (return_in_memory): Float fields in unions
+ 	force a return in memory.
+ 	(load_multiple_sequence): Add comment explaining why two LDR
+ 	instructions can be better than an LDMIA instruction.
+ 
+ 	* config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
+ 	describing the real meaning of this option.
+ 	(FIXED_REGISTERS): Default r10 to not-fixed.
+ 	(CALL_USED_REGISTERS): Default r10 to not-call-used.
+ 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
+ 	as empty.
+ 	(CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
+ 	true.  Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
+ 	performing other checks.
+ 
+ 	* config/arm/arm.md (zero_extendhisi2): Undo previous change.
+ 	(extendhisi2): Undo previous change.
+ 	Also add comments describing why TARGET_SHORT_BY_BYTES can be
+ 	ignored for armv4(t) architectures.
+ 
+ 	* config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
+ 	Define to fix r10.
+ 
+ 	* config/arm/riscix1-1.h
+ 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
+ 
+ Thu Feb 25 12:09:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (dump_class): Make the function definition static to match
+ 	the prototype.
+ 
+ Wed Feb 24 17:47:28 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dbxout.c (gstab.h): Use if CROSS_COMPILE.
+ 
+ 	* dwarf2out.c (add_location_or_const_value_attribute): Add big
+ 	endian correction for parms passed in regs but living on the stack.
+ 
+ Wed Feb 24 14:03:54 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (initialize_argument_information): New function extracted
+ 	from expand_call.
+ 	(expand_call): Use initialize_argument_information.  Remove variables
+ 	which are no longer used due to cleanups.
+ 
+ 	* calls.c (compute_argument_block_size): New function, extracted from
+ 	expand_calls.
+ 	(expand_calls): Use compute_argument_block_size.  Delete
+ 	original_args_size, use unadjusted_args_size instead.
+ 
+ 	* calls.c (precompute_arguments): New function, extracted from
+ 	expand_call.
+ 	(expand_call): Use precompute_arguments.
+ 
+ 	* calls.c (finalize_must_preallocate): New function, extracted from
+ 	expand_call.
+ 	(expand_call): Use finalize_must_preallocate.
+ 
+ 	* calls.c (store_one_arg): Mark "variable_size" as possibly unused.
+ 
+ 	* regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
+ 	An alternative always fails if it needs a pseudo and no suitable
+ 	register class can be found.
+ 
+ Wed Feb 24 19:47:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.h (loop_insn_first_p): Declare.
+ 	* loop.c (loop_insn_first_p): No longer static.
+ 	* unroll.c (iteration_info): Fix comparison to
+ 	reg_iv_type->num_elements.
+ 	Before accessing reg_biv_class, check index against
+ 	max_reg_before_loop.
+ 	Fix and enable code for giv iterators.
+ 	(loop_iterations): Compare with reg_iv_type->num_elements instead
+ 	of with max_reg_before_loop.
+ 
+ Wed Feb 24 19:17:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
+ 
+ Wed Feb 24 11:26:41 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
+ 	PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
+ 
+ Tue Feb 23 16:24:19 1999  Marc Lehmann  <pcg@goof.com>
+ 
+ 	* config/i386/i386.md: Fix typo.
+ 
+ Mon Feb 22 19:36:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
+ 	frame_pointer_needed adjust frame size.
+ 	(function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
+ 	in .frame pseudo-op.
+ 	Frm Jim Wilson  <wilson@cygnus.com>:
+ 	* mips.c (function_prologue): Adjust frame size in .frame pseudo-op
+ 	when TARGET_MIPS16 && frame_pointer_needed.
+ 
+ 1999-02-22  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h: Add TARGET_CPU_strongarm1100.
+ 	Add -mno-sched command line switch to disable scheduling of
+ 	instructions into the function's prologue.
+ 	(enum processor_type): Remove.
+ 	(TARGET_OPTIONS): Add "fpe=" option to match documentation.
+ 	(struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
+ 	fields with 'processors' field.
+ 	(CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
+ 	checking is not enabled.
+ 	(RETURN_IN_MEMORY): Always call arm_return_in_memory.
+ 
+ 	* config/arm/arm.c (arm_cpu): Remove.
+ 	(tune_flags): Remove.
+ 	(arm_is_strong): New variable: true iff the target processor is a
+ 	StrongARM.
+ 	(arm_is_6_or_7): New variable: true iff the target processor is an
+ 	ARM6 or and ARM7.
+ 	(arm_select): Fields reorganized.
+ 	(struct processors): processor_type field removed.
+ 	(all_procs): Remove.
+ 	(all_cores): New array: Definitions of all known ARM cpu cores.
+ 	(all_architectures): New array: Definitions of all known ARM
+ 	architectures.
+ 	(streq): New macro.
+ 	(FL_SCHED): New processor flag: processor required load
+ 	scheduling.
+ 	(FL_STRONG): New processor flag: processor is a StrongARM.
+ 	(arm_override_options): Reorganized to make code clearer.
+ 	(use_return_insn): Test for "not (TARGET_APCS and
+ 	frame_pointer_needed)".
+ 	(arm_return_in_memory): Improve handling of structures.
+ 
+ 	* config/arm/arm.md: Remove "cpu" attribute.  Replace with
+ 	"is_strongarm" and "is_arm_6_or_7" attributes.
+ 	(zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
+ 	arm_arch4.
+ 	(extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
+ 
+ 	* invoke.texi (ARM Options): Document -mtune= and -mfp= options.
+ 
+ 1999-02-22  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
+ 	definition with one including cache synchronization.
+ 	(CLEAR_INSN_CACHE): Correct syscall number and enable definition.
+ 	Move definition of inhibit_libc to...
+ 	* config/arm/xm-linux.h: ... here.
+ 
+ 	* config/arm/t-linux: Disable multilib configurations since the
+ 	only effect for most people is to cause builds to fail.
+ 
+ 	* config/arm/elf.h (ASM_FILE_START): Add .file directive.
+ 	(ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
+ 
+ 	* config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
+ 	(HANDLE_SYSV_PRAGMA): Likewise.
+ 	(LIB_SPEC): Copy definition from generic Linux files.
+ 	(LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
+ 	(FP_DEFAULT): Set to SOFT3 on 32-bit targets.
+ 	(DWARF2_DEBUGGING_INFO): Define.
+ 	(PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
+ 
+ Mon Feb 22 16:54:18 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* loop.c (libcall_other_regs): Make extern.
+ 	* rtl.h (find_last_value): Add parameter to prototype.
+ 	(libcall_other_reg): Add extern declaration.
+ 	* rtlanal.c (find_last_value): Add another parameter to allow
+ 	a definition using a hardware register to be found as well.
+ 
+ Mon Feb 22 13:33:47 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* cse.c (dump_class): New function.
+ 	(invalidate_memory): Fix typo in comment.
+ 	* function.c (temp_slot): Add an alias set field.
+ 	(assign_stack_temp): Only reuse slots if they will have the
+ 	same alias set as before.
+ 	(combine_temp_slots): Don't combine if -fstrict-aliasing;
+ 	that's unsafe.
+ 	* rtl.c (copy_rtx): Copy all the flags (in particular,
+ 	MEM_SCALAR_P).
+ 
+ Mon Feb 22 14:13:23 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* configure.in (i[34567]86-*-linux-gnu*,
+ 	i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
+ 	i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
+ 	fixincludes.
+ 
+ 	* configure: Rebuilt.
+ 
+ 	* fixinc.x86-linux-gnu: New script for fixing asm-statements bug
+ 	on x86 linux.
+ 
+ 	* fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
+ 
+ 	* fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
+ 	i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
+ 	i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
+ 	fixincludes.
+ 
+ Mon Feb 22 08:55:05 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* objc/objc-act.c (encode_type): Temporary revert to the old
+ 	behavior of encoding types as the new one seems to break the
+ 	encoding of bitfields.
+ 
+ Mon Feb 22 11:40:44 1999  Craig Burley  <craig@jcb-sc.com>
+ Sat Feb 20 09:59:36 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	* Makefile.in (all.internal, all.cross): Depend on `doc'
+ 	target, to ensure docs get made before installation.
+ 
+ 	Decrease spurious warnings from -fsyntax-only:
+ 	* stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
+ 
+ Mon Feb 22 10:55:00 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* c-lex.c (yylex): Replace warning about integer constants being
+ 	larger than long-longs, with a warning about integer constants
+ 	being larger than the largest target integer.
+ 
+ Mon Feb 22 08:35:38 1999  Craig Burley  <craig@jcb-sc.com>
+ 
+ 	Fix -fsyntax-only ICEs:
+ 	* varasm.c (assemble_zeros, assemble_variable,
+ 	output_constant_def): Do nothing when -fsyntax-only.
+ 
+ Fri Feb 19 18:18:56 1999  Don Bowman  <don@pixstream.com>
+ 
+ 	* configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
+ 	* configure: Rebuilt.
+ 
+ Sun Feb 21 20:34:44 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Feb 21 20:35:10 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
+ 	(ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
+ 	* tm.texi: Update docs for constructors and destructors.
+ 
+ Sun Feb 21 17:11:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genattrtab.c (check_attr_value): Allow negative const_int if
+ 	negative_ok.  Accept integral arithmetic operators.  Accept
+ 	direct references to other attributes.  Accept symbol_ref in
+ 	non-constant attributes.
+ 	(max_attr_value): Add new argument `unknownp'.  Update all callers.
+ 	(or_attr_value): Likewise.
+ 	(simplify_knowing): Don't optimize if max_attr_value unknown.
+ 	(write_length_unit_log): Likewise with or_attr_value.
+ 	(find_and_mark_used_attributes): Don't fallthru case.
+ 	(write_attr_set): Pass thru all non-cond expressions.
+ 	(write_attr_value): Handle symbol_ref, attr, and arithmetic.
+ 
+ Sun Feb 21 13:16:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* regmove.c (discover_flags_reg): Use word_mode instead of SImode.
+ 
+ Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regmove.c (discover_flags_reg): Remove cc0 code.
+ 	(mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
+ 	a potential flags register was identified.
+ 
+ Sat Feb 20 16:16:07 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.md (scc plus ltu): Fix typo in last change.
+ 
+ Sat Feb 20 09:08:44 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
+ 
+ Fri Feb 19 23:02:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regmove.c (discover_flags_reg): New function.
+ 	(flags_set_1, mark_flags_life_zones): New functions.
+ 	(regmove_optimize): Call them.
+ 	(fixup_match_1): Use insn modes rather than sets_cc0_p.
+ 
+ Fri Feb 19 22:47:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtlanal.c (insn_first_p): Fix return value for insn == reference.
+ 
+ 	* loop.c (strength_reduce, check_final_value, check_dbra_loop):
+ 	Use loop_insn_first_p.
+ 
+ Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
+ 			  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (scc plus eq): Fix output template.
+ 	(scc plus ltu): Fix output template and collapse variants
+ 	correcting early clobbers.
+ 	(scc plus geu): Fix output template.
+ 	(scc plus gt): Fix output template.
+ 	(scc plus gtu): Fix output template and collapse variants.
+ 
+ Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppinit.c (print_help): Remove unescaped newline in string.
+ 
+ Fri Feb 19 19:55:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Check for intervening jumps when
+ 	converting biv increment to giv.
+ 
+ Thu Feb 18 16:36:58 1999  Per Bothner  <bothner@cygnus.com>
+ 
+ 	* tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
+ 	* expr.c (expand_expr): Support new tree nodes.
+ 
+ Fri Feb 19 10:17:56 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c (m68k_align_loops_string,
+ 	m68k_align_jumps_string, m68k_align_funcs_string): Add const.
+ 	* config/m68k/m68k.h (m68k_align_loops_string,
+ 	m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
+ 
+ Thu Feb 18 23:28:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
+ 
+ 	* bitmap.h (bitmap_print): Likewise.
+ 
+ 	* c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
+ 
+ 	* c-lang.c (build_objc_string): Likewise.
+ 
+ 	* c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
+ 	limits.h or ctype.h.  Remove unused variable `p'.
+ 
+ 	* c-lex.h (yyerror): Qualify a char* with the `const' keyword.
+ 
+ 	* c-pragma.c (handle_pragma_token): Likewise.
+ 
+ 	* c-pragma.h (handle_pragma_token): Likewise.
+ 
+ 	* c-tree.h (build_objc_string, builtin_function, grokfield,
+ 	build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
+ 	pedwarn_init): Likewise.
+ 
+ 	* c-typeck.c (convert_for_assignment, warn_for_assignment,
+ 	push_string, warning_init, incomplete_type_error,
+ 	build_indirect_ref, lvalue_or_else, readonly_warning,
+ 	build_c_cast, spelling, push_member_name, print_spelling,
+ 	error_init, pedwarn_init, start_init): Likewise.
+ 
+ 	* objc/objc-act.c (build_objc_string): Likewise.
+ 
+ 	* print-tree.c (print_node_brief, print_node): Likewise.
+ 
+ 	* tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
+ 
+ Thu Feb 18 20:44:21 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* regclass.c (record_reg_classes): Correctly handle 'p' constraint.
+ 
+ Thu Feb 18 19:59:37 1999  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* configure.in :Handle OpenBSD platforms.
+ 	* configure: Rebuilt.
+ 	* config/openbsd.h: New file.
+ 	* config/xm-openbsd.h: New file.
+ 	* config/t-openbsd: New file.
+ 	* config/t-openbsd-thread: New file.
+ 
+ Thu Feb 18 18:47:09 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (assign_stack_temp_for_type): Round SIZE before calling
+ 	assign_stack_local for BLKmode slots.
+ 
+ Fri Feb 19 01:45:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): For derived givs, replace the
+ 	giv this was derived from with its new_reg.
+ 	(recombine_givs): Don't set new_reg for derived giv.
+ 	And don't print it, print SUM instead.
+ 
+ Thu Feb 18 15:52:49 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
+ 
+ 1999-02-18  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpplib.c: Kill define of STDC_VALUE.  Don't include output.h
+ 	  or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
+ 	  macro_cleanup.
+ 	  (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
+ 	  predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ 	  CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
+ 	  cpp_pending, version_string, struct default_include,
+ 	  include_defaults_array, path_include, cpp_options_init,
+ 	  dump_special_to_buffer, initialize_builtins, cpp_start_read,
+ 	  cpp_reader_init, nreverse_pending, push_pending, print_help,
+ 	  cpp_handle_option, cpp_handle_options, cpp_finish,
+ 	  cpp_cleanup): Move to cppinit.c.
+ 	  (macro_cleanup, struct arglist, collect_expansion,
+ 	  create_definition, compare_defs, comp_def_part, ARG_BASE,
+ 	  struct argdata, macarg, change_newlines, timestamp,
+ 	  monthnames, special_symbol, unsafe_chars, macroexpand,
+ 	  push_macro_expansion): Move to cpphash.c.
+ 	  (quote_string, check_macro_name, cpp_expand_to_buffer,
+ 	  output_line_command, cpp_undef): Export.
+ 	  (null_underflow, null_cleanup, handle_directive): Make static.
+ 
+ 	* cpplib.h: Prototype now-exported functions.  Adjust decls of
+ 	  syntax tables so we can include cpplib.h in cppinit.c.
+ 	* cpphash.h: Prototype all functions exported by cpphash.c.
+ 	* cppinit.c: Make syntax tables initialized data if possible
+ 	  (uses GCC designated-initializer extension).
+ 	* cppexp.c: Make cpp_lex static.
+ 	* Makefile.in: Move -D switches for the various include dirs
+ 	  from cpplib.o rule to cppinit.o rule.  Adjust dependencies.
+ 
+ Thu Feb 18 13:15:56 1999  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* alpha/openbsd.h: New file.
+ 	* alpha/xm-openbsd.h: New file.
+ 	* sparc/openbsd.h: New file.
+ 	* sparc/xm-openbsd.h: New file.
+ 	* m68k/openbsd.h: New file.
+ 	* m68k/xm-openbsd.h: New file.
+ 	* i386/openbsd.h: New file, originally from netbsd.
+ 	* i386/xm-openbsd.h: New file.
+ 
+ 1999-02-17  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* Makefile.in: Correct dependencies for cpplib object files.
+ 
+ Wed Feb 17 14:04:18 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
+ 	than cr0.
+ 
+ Wed Feb 17 16:59:28 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Don't move giv insn for biv turned giv
+ 	below scan_start.
+ 
+ Wed Feb 17 10:56:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.c (tree_node_kind_names, print_obstack_name,
+ 	get_identifier, maybe_get_identifier, build_string,
+ 	build_expr_wfl, is_attribute_p, lookup_attribute,
+ 	print_obstack_statistics, get_file_function_name_long, tree_check,
+ 	tree_class_check, expr_check): Qualify a char* with the `const'
+ 	keyword.
+ 
+ 	* tree.h (get_identifier, maybe_get_identifier, build_string,
+ 	build_expr_wfl, is_attribute_p, lookup_attribute,
+ 	print_obstack_statistics, print_obstack_name, tree_check,
+ 	tree_class_check, expr_check): Likewise.
+ 
+ Tue Feb 16 21:29:38 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
+ 	errors.
+ 
+ 	* calls.c (store_one_arg): Mark any slots used for the argument
+ 	as in-use immediately after we're done saving any slots which
+ 	will be overwritten by this argument.
+ 
+ Tue Feb 16 21:02:07 1999  Anton Hartl  <toni@devsoft.com>
+ 
+ 	* rs6000.md (call_value): Fix typo.
+ 
+ Wed Feb 17 01:29:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Calculate maybe_dead before
+ 	calling recombine_givs.
+ 
+ Wed Feb 17 00:43:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Dump biv increment -> giv conversions.
+ 
+ Tue Feb 16 15:31:39 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* objc/objc-act.c (encode_type): Encode the type instead of
+ 	encoding the mode of the type (patch from Richard Frith-Macdonald
+ 	<richard@brainstorm.co.uk>).
+ 
+ Tue Feb 16 10:53:51 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
+ 	instruction killed in previous change.  Simplify mask generation.
+ 	(*zeroextractsi_compare0_scratch): Simplify mask generation.
+ 
+ Tue Feb 16 09:52:26 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
+ 	bitfield does not overflow a byte boundary.
+ 
+ Tue Feb 16 01:37:33 1999  Charles G Waldman  <cgw@alum.mit.edu>
+ 
+ 	* c-common.c (shorten_compare): Get the min/max value from the
+ 	underlying type of an enumeration, not the enumerated type itself.
+ 
+ Mon Feb 15 23:04:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c: Include insn-attr.h.
+ 	(delete_computation): If reload has completed and insn scheduling
+ 	after reload is enabled, then do not depend on REG_DEAD notes.
+ 	* Makefile.in (jump.o): Depend on insn-attr.h.
+ 
+ Mon Feb 15 16:57:38 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (addsi3): Allow lea for any constant_p.
+ 
+ 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* toplev.c (documented_lang_options): Remove -fident and
+ 	  -fnoident, which are now handled by the language independent
+ 	  option parser.
+ 
+ 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
+ 	* c-lex.c: Likewise.
+ 	* cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
+ 	list in malloced memory for the buffer stack.
+ 	(cpp_get_token): Don't pop the last buffer off the stack.
+ 	Calls after CPP_EOF has been returned produce CPP_EOF with no
+ 	state change.
+ 	(cpp_finish): Pop last buffer here.
+ 	(do_line): Don't free ip->last_nominal_fname if it is equal to
+ 	ip->fname.
+ 	(special_symbol): If a T_CONST is the empty string, push a
+ 	single `@ ' escape instead.
+ 	(macroexpand): Special symbol buffers have escapes too.
+ 	* cpplib.h (struct cpp_buffer): Remove unused fields, add prev
+ 	buffer pointer.
+ 	(struct cpp_reader): Remove buffer_stack.  Add
+ 	buffer_stack_depth.
+ 	(CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
+ 	linked list.
+ 
+ Mon Feb 15 14:44:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c: Don't define HOST_WIDE_INT.  Replace all occurrences of
+ 	WIDE_INT with WIDEST_INT.
+ 
+ 	* cexp.y: Likewise.
+ 	Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
+ 	HOST_BITS_PER_WIDE_INT.  Replace occurrences of PRINTF_PROTO_1()
+ 	style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros.  Replace
+ 	occurrences of "unsigned_HOST" with "unsigned HOST".  Provide a
+ 	definition of variable `c89' when compiling a test binary and set it.
+ 
+ 	* system.h: Don't define the PRINTF_PROTO_* macros.
+ 
+ Mon Feb 15 11:33:51 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (mark_loop_jump): Handle LO_SUM.  If we encounter something
+ 	we do not understand, mark the loop and containing loops as invalid.
+ 
+ Mon Feb 15 00:40:45 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* alias.c (init_alias_analysis): Avoid self-referential value
+ 	when setting reg_known_value from REG_EQUAL notes.
+ 
+ Sun Feb 14 23:12:10 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (legitimate_address_p): Verify modes of base and index.
+ 
+ Sun Feb 14 23:01:28 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (legitimate_pic_address_disp_p): Remove static.
+ 	* i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
+ 	open-coding cases.
+ 
+ Sun Feb 14 21:03:28 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
+ 	* explow.c (probe_stack_range): Likewise.
+ 	* expmed.c (do_cmp_and_jump): Likewise.
+ 	* expr.c (store_expr, expand_expr, expand_builtin): Likewise.
+ 	(do_tablejump): Likewise.
+ 	* stmt.c (expand_expr_stmt, expand_end_case): Likewise.
+ 	(do_jump_if_equal, emit_case_nodes): Likewise.
+ 	* optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
+ 	then convert comparison to an unsigned code before emitting the jump.
+ 	(expand_float, expand_fix): Use emit_cmp_and_jump_insns.
+ 
+ Sun Feb 14 02:24:15 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Feb 14 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Feb 14 00:45:50 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c: Disable recent loop changes.  Temporary as Joern
+ 	continues to fix problems.
+ 
+ Sat Feb 13 23:29:42 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (combine_givs_used_by_other): Delete.
+ 	(combine_givs_benefit_from): Delete.
+ 	(combine_givs): Deny combination of givs only used once.  Simplify
+ 	code with the death of combine_givs_benefit_from.
+ 
+ Sun Feb 14 11:24:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (scan_loop): Call reg_in_basic_block_p before
+ 	loop_reg_used_before_p.
+ 
+ Sat Feb 13 05:32:00 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
+ 	* arm.h: Likewise.
+ 	* arm.c: Likewise.
+ 
+ 	* arm.h (TARGET_OPTIONS): Reformat for clarity.
+ 	(GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
+ 	in the constant pool aren't valid.
+ 	(LEGITIMATE_PIC_OPERAND_P): Likewise.
+ 
+ 	* arm.c: Include "system.h", not stdio.h and string.h.
+ 
+ Fri Feb 12 13:06:28 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
+ 	(optimize_tail_recursion): Change return type from void to int.
+ 	Add return statements.
+ 	* tree.h (optimize_tail_recursion): Change prototype to match.
+ 
+ Fri Feb 12 21:09:51 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* reload.c (find_reloads_subreg_address): New function, broken out of
+ 	find_reloads_toplev.
+ 	(find_reloads_toplev, find_reloads_address_1): Use it.
+ 
+ Fri Feb 12 13:20:52 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
+ 	extending a CONST_INT.
+ 
+ 	* h8300.md (peephole for combining memrefs): Delete incorrect peephole.
+ 
+ Fri Feb 12 18:29:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
+ 	New functions.
+ 	(maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
+ 
+ Fri Feb 12 16:56:10 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (load_mems): Don't guess how to do a load / store, use
+ 	emit_move_insn.
+ 
+ Fri Feb 12 09:24:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Provide a definition for HOST_WIDEST_INT, etc.
+ 
+ Fri Feb 12 23:37:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
+ 
+ Fri Feb 12 00:51:26 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload.c (find_reloads_address_1): Fix handling of an autoincremented
+ 	pseudo which is homed in the stack.
+ 
+ 	* mips.c (save_restore_insns): Fix loop to save/restore FP registers.
+ 	(compute_frame_size): Change loop over FP regs to be consistent
+ 	with the loop in save_restore_insns.
+ 
+ Thu Feb 11 17:38:40 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
+ 	(LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
+ 
+ Thu Feb 11 15:11:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (bset); Re-enable.
+ 
+ Thu Feb 11 15:20:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (is_sfunc): New attribute.
+ 	* sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
+ 
+ Thu Feb 11 01:06:49 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* fold-const.c (range_binop): Take account of the bounded nature
+ 	of fixed length arithmetic when comparing unbounded ranges.
+ 
+ Thu Feb 11 00:08:17 1999  John Wehle  (john@feith.com)
+ 
+ 	* function.c (assign_stack_temp_for_type): Clear best_p
+ 	when an exact match is found.
+ 
+ 	* i386.h (LOCAL_ALIGNMENT): Define.
+ 	* function.c (assign_stack_local, assign_outer_stack_local): Use it.
+ 	(assign_stack_temp_for_type): New function based on assign_stack_temp.
+ 	(assign_stack_temp): Call it.
+ 	(assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
+ 	* stmt.c: Use assign_temp, not assign_stack_temp.
+ 	* tm.texi: Document LOCAL_ALIGNMENT.
+ 
+ Wed Feb 10 23:28:28 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reorg.c: Finish deleting half-deleted comment.
+ 
+ Wed Feb 10 17:12:21 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
+ 	result.
+ 	* final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
+ 	result.
+ 	* real.c (endian): Delete sign extension code.
+ 	* config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
+ 	replaced with operand_subword call.
+ 
+ Wed Feb 10 15:16:39 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (cmov compound patterns): Delete.  Jump can now
+ 	create the correct constructs in the first place.
+ 
+ Wed Feb 10 11:03:22 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alphaev6*): Fix typo in target_cpu_default2.
+ 
+ Wed Feb 10 13:59:18 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
+ 
+ Wed Feb 10 10:35:05 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* tmp-emsgids.c: Delete.
+ 
+ Wed Feb 10 09:57:08 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
+ 	coding standards.
+ 
+ Wed Feb 10 10:09:41 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (bset, bclr): Operand 0 is a read/write operand.
+ 
+ 	* reload1.c (reload_combine_note_store): Second argument is no
+ 	longer unused/ignored.  Handle multi-register hard regs.
+ 	(move2add_note_store): Simplify.
+ 
+ Wed Feb 10 10:05:23 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* collect2.c (collect_execute): Remove cygwin-specific code.
+ 
+ Tue Feb  9 17:27:29 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* system.h (_, N_): Remove dummy i18n macros.
+ 	* protoize.c: Move inclusion of intl.h to after system.h.
+ 	* cexp.y: Include intl.h.
+ 	* cexp.c: Rebuilt.
+ 
+ Tue Feb  9 16:52:22 1999  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
+ 	fpic/fPIC for windows32 targets.
+ 	* i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
+ 	paths with '/'.
+ 	* i386/mingw32.h (CPP_SPEC): Define.
+ 	(CPP_PREDEFINES): Add MINGW32 version id.
+ 	* i386/crtdll.h (CPP_PREDEFINES): Likewise.
+ 
+ 	* Makefile.in (collect2$(exeext)): Delete redundant dependency and
+ 	add missing exeext to target.
+ 
+ 	* gcc.c (convert_filename): Handle null filename argument.
+ 
+ Wed Feb 10 15:46:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
+ 	m constraint instead of QT.
+ 
+ 1999-02-09  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* cpplib.c (special_symbol): Move IP to be declared in function
+ 	scope, rather than individual case statements.
+ 
+ 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppfiles.c (finclude): Handle pipes properly under old BSD
+ 	  derivatives.
+ 
+ 1999-02-09  Melissa O'Neill  <oneill@cs.sfu.ca>
+ 
+ 	* system.h: Provide fallback definitions for S_ISCHR,
+ 	  S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
+ 
+ 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpplib.c (do_define): Allow redefining __STDC__ with -D.
+ 
+ 1999-02-09  Jim Blandy  <jimb@zwingli.cygnus.com>
+ 
+ 	* configure.in: For PowerPC configurations, accept "401", "ec603e",
+ 	"740", and "750" as valid arguments to --with-cpu.
+ 	* configure: Rebuilt.
+ 
+ Tue Feb  9 00:00:14 1999  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* configure.in (i[34567]86-*gnu*): Set float_format to i386.
+ 	* configure: Rebuilt.
+ 
+ Mon Feb  8 22:38:24 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* rs6000.md: Revert "alternate use of crs if cr0 not available"
+ 	patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
+ 
+ Mon Feb  8 21:36:44 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* output.h (current_function_has_computed_jump): Rename from
+ 	current_function_addresses_labels.
+ 	* function.h (struct function): Likewise for addresses_labels member.
+ 	* rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
+ 	* function.c (current_function_has_computed_jump): Likewise.
+ 	Update all references.
+ 	* integrate.c (function_cannot_inline_p):
+ 	Test current_function_has_computed_jump instead of addresses_labels.
+ 	(initialize_for_inline): Likewise save.
+ 	(output_inline_function): Likewise restore.
+ 
+ 	* expr.c (expand_expr): Don't reference addresses_labels variables.
+ 	* stmt.c (expand_computed_goto): Set has_computed_jump.
+ 
+ 1999-02-08  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	This is being installed only to get it into the repository to help
+ 	with the revert, resubmit & review process for the massive rs6000.md
+ 	changes.
+ 	* rs6000.md (andsi3_internal1 splitter): Don't split if using the
+ 	rlwinm instruction.
+ 	(anddi3_internal1): Likewise.
+ 	(andsi3_internal{2,3}): Correct some insn lengths.
+ 	(anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
+ 	mnemonics.
+ 
+ Mon Feb  8 21:31:06 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (reg_single_usage): New file-scope variable ...
+ 	(scan_loop): ... moved out of here.  Always initialize.
+ 	Test loop_has_call instead of reg_single_usage not zero.
+ 	Free reg_single_usage after strength reduction.
+ 	(count_loop_regs_set): Assume single_usage nonzero.
+ 	(combine_givs_used_by_other): Test reg_single_usage.
+ 	(load_mems_and_recount_loop_regs_set): Remove reg_single_usage
+ 	as a parameter.  Assume nonzero.
+ 
+ 1999-02-08  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
+ 
+ 	* cpplib.c (special_symbol): Rewrite.  Don't copy things
+ 	  multiple times.  Handle __STDC__ specially.  T_CONST
+ 	  indicates a constant /string/.  Don't handle T_*_TYPE and
+ 	  T_SPEC_DEFINED.  Use cpp_buf_line_and_col instead of
+ 	  adjust_position.  Determine the file buffer only if needed.
+ 	  (initialize_builtins): Handle __SIZE_TYPE__,
+ 	  __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
+ 	  __REGISTER_PREFIX__ with T_CONST special hashtab entries.
+ 	  Don't provide __OBJC__; the driver does that.  Provide
+ 	  __STDC_VERSION__, using T_CONST.  Use T_STDC for
+ 	  __STDC__.  Give install the length of all symbols defined.
+ 	  (eval_if_expression): Drop code to insert and remove the
+ 	  "defined" special symbol.
+ 
+ 	* cpplib.h: Remove SELF_DIR_DUMMY (no longer used).  Remove
+ 	  T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
+ 
+ 	* cpphash.c (install): Drop the `ivalue' parameter.  Constify
+ 	  the `value' parameter.  All callers changed.
+ 	* cpphash.h (install): Change prototype to match.
+ 	  (union hashval): Remove `ival' member.
+ 	* cppexp.c (cpp_lex): Handle `defined' here.
+ 
+ Mon Feb  8 17:29:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (EXTRA_CONSTRAINT): Fix comment.
+ 
+ Mon Feb  8 18:57:45 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* c-typeck.c (check_init_type_bitfields): Use nonincremental
+ 	initialization of unions whose first member is a bitfield.
+ 	Remove unnecessary code for checking the declaration mode
+ 	after DECL_C_BIT_FIELD.
+ 
+ 	* varasm.c (output_constructor): Additional comment about the
+ 	constructor of bitfield union initialization.
+ 
+ Tue Feb  9 11:55:04 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*movhi_stik): New pattern.
+ 	(movhi): Allow some immediate constants to be directly
+ 	stored in memory.
+ 
+ Tue Feb  9 11:34:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (all call patterns): Add constraints "Ur".
+ 	(call, call_value): Force address into a register if not valid
+ 	for a call instruction.
+ 	(load_immed_address): Emit a USE of the SYMBOL_REF that is
+ 	forced into memory.
+ 	* config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
+ 
+ Tue Feb  9 11:08:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
+ 	Rename from call_operand and symbolic_operand respectively.  All
+ 	callers changed.
+ 	* config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
+ 	Likewise.
+ 	* config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
+ 	Likewise.
+ 	(PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
+ 
+ Tue Feb  9 10:52:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
+ 	LO_SUM address for HImode or HFmode but instead force address into
+ 	a register so that it is offsettable.
+ 	(c4x_emit_move_sequence): Handle LO_SUM immediate address.
+ 
+ Tue Feb  9 10:46:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
+ 	REG+REG addressing if strength reduction enabled.
+ 
+ Tue Feb  9 10:10:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/t-c4x  (LIBGCC2_CFLAGS): Delete.
+ 	(TARGET_LIBGCC2_CFLAGS): Define.
+ 
+ 1999-02-08  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.md: Replace \\n\\t with \\;
+ 
+ 	* config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
+ 	* config/v850/v850.c (construct_restore_jr, construct_save_jarl):
+ 	Enforce TARGET_LONG_CALLS option.
+ 
+ Mon Feb  8 11:43:07 1999  Donn Terry  <donn@interix.com>
+ 
+ 	* real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
+ 
+ Mon Feb  8 11:37:24 1999  Marc Espie  (espie@cvs.openbsd.org)
+ 
+ 	* m88k/t-luna-gas: Remove bash dependency.
+ 
+ Mon Feb  8 11:34:44 1999  Graham  <grahams@rcp.co.uk>
+ 
+ 	* collect2.c (xrealloc): Fix typo in last change.
+ 
+ Mon Feb  8 09:13:38 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Feb  7 22:18:42 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* tree.h (TYPE_CHECK): Make it clear to the preprocessor
+ 	that we do not want macro replacement within a character constant.
+ 	(TYPE_CHECK1): Likewise.
+ 
+ Sun Feb  7 15:37:10 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tree.h (DECL_P): New macro.
+ 
+ Sun Feb  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Feb  6 18:14:46 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10300.md (reload_insi): Do not earlyclobber the output operand.
+ 
+ 	* README.g77, gcc.c, gcc.texi: Update email addresses.
+ 	* invoke.texi system.h: Likewise.
+ 
+ Sat Feb  6 11:04:08 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (find_splittable_givs): After express_from, call replace_rtx
+ 	to convert dest_reg to new_reg.
+ 
+ Sat Feb  6 10:31:35 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_combine_note_store): Be more careful with
+ 	STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
+ 	(move2add_note_store): Likewise.
+ 
+ Sat Feb  6 10:18:01 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
+ 	U_CHAR* when assigning to one.  Ensure the values of a ?: operator
+ 	have the same type.
+ 
+ 	* cppinit.c (initialize_char_syntax): Use K&R function definition.
+ 
+ Sat Feb  6 11:17:03 1999  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	Support for ARM9
+ 	* config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
+ 	* config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
+ 	(TARGET_CPU_DEFAULT): Rework to support ARM9.
+ 	(CPP_CPU_ARCH_SPEC): Likewise.
+ 	(enum processor_type): Likewise.
+ 	* config/arm/arm.md (attr cpu): Add arm9.
+ 
+ 	General scheduling changes
+ 	* config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
+ 	(max_insns_skipped): New variable.
+ 	(arm_override_options): If generating hard floating point code for
+ 	the FPA, emit code for version 3.
+ 	When optimizing for space, don't synthesize constants.
+ 	Reword several flags based on the requested processor and optimization
+ 	level.
+ 	(use_return_insn): New argument iscond, all callers changed.  Don't
+ 	use a return insn if it will be conditional and that would be
+ 	expensive; eg on StrongARM.
+ 	(arm_adjust_cost): Anti- and output- dependencies normally have no
+ 	cost.
+ 	(load_multiple_sequence): Newer ARMs don't benefit from ldm if
+ 	the sequence is short.
+ 	(final_prescan_insn): Use max_insns_skipped instead of
+ 	MAX_INSNS_SKIPPED.  Note whether we will make a return instruction
+ 	conditional, and aviod this if it would be expensive.
+ 	* config/arm/arm.md (scheduling attributes and function units):
+ 	Rewrite to better describe ARM8, 9 and StrongARM.
+ 
+ 	* config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
+ 	s_register_operand.
+ 	(*ifcompare_plus_move): Use arm_rhs_operand in place of
+ 	arm_rhsm_operand.  Rework constraints.
+ 	(*if_plus_move): Likewise.
+ 	(*ifcompare_move_plus): Likewise.
+ 	(*if_move_plus): Likewise.
+ 	(*ifcompre_arith_move): Likewise.
+ 	(*if_arith_move): Likewise.
+ 	(*ifcompare_move_arith): Likewise.
+ 	(*if_move_arith): Likewise.
+ 
+ 	* config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
+ 
+ 1999-02-05  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop): A store using an address giv for which
+ 	we have no life information is not reversible.
+ 
+ Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* function.c (fixup_var_refs): Scan catch_clauses too.
+ 
+ Fri Feb  5 11:49:49 1999  Benjamin Kosnik  <bkoz@loony.cygnus.com>
+ 
+ 	* c-common.c (decl_attributes): Fix reserved space for init_priority.
+ 	* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
+ 
+ Fri Feb  5 12:37:05 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (strength_reduce): Clear not_every_iteration when
+ 	passing the NOTE_INSN_LOOP_CONT note.
+ 
+ 	* haifa-sched.c (add_dependence): Do not add a dependency on a
+ 	note.
+ 
+ Fri Feb  5 10:55:43 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* recog.c (split_block_insns): Only call update_flow_info if
+ 	instruction scheduling is enabled.
+ 
+ 1999-02-05  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* Makefile.in (gen-protos): Use libcpp.a like everyone else.
+ 
+ Fri Feb  5 07:09:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (first_loop_store_insn): New file-scope variable.
+ 	(prescan_loop): Set it.
+ 	(check_dbra_loop): Check if a store depends on a register
+ 	that is set after the store.
+ 
+ Fri Feb  5 06:55:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* unroll.c (entire file): Remove tabs / spaces at end of lines.
+ 	Replace spaces with tabs where appropriate.
+ 
+ Thu Feb  4 15:12:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (scan_loop): New argument loop_cont.  Changed caller.
+ 	(strength_reduce): New argument loop_cont. Changed caller.
+ 	Before clearing not_every_iteration after a label, check if
+ 	we are not already past LOOP_CONT.
+ 
+ 1999-02-04  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cpperror.c (cpp_print_containing_files): Fix formatting
+ 	bug induced by merge.
+ 
+ 1999-02-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (initialize_char_syntax): Move to cppinit.c.
+ 	(cpp_define): Remove redundant syntax checks.
+ 	(make_assertion): Rename cpp_assert, remove redundant syntax
+ 	checks, export.
+ 	(cpp_options_init): Don't init things to zero twice.
+ 	(cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
+ 	(do_include): Kill excessively verbose #import warning that
+ 	snuck back in in the gcc2 merge.
+ 	(convert_string): Removed.
+ 	(do_line): Rewrite with simple last-name-used cache instead of
+ 	private hashtable.
+ 	(cpp_start_read): Call initialize_char_syntax here, not...
+ 	(cpp_reader_init): ...here.
+ 	(cpp_handle_options): Support the -std switch.
+ 	* cpplib.h (cpp_buffer): Add last_nominal_fname member.
+ 	(cpp_options): Add c9x flag.
+ 	Declare all the is_* tables and trigraph table here, as const.
+ 	Prototype cpp_assert and initialize_char_syntax.
+ 	* cppinit.c: New file.
+ 	* cppfiles.c (read_and_prescan): Optimize.
+ 	* Makefile.in (LIBCPP_OBJS): Add cppinit.o.
+ 
+ Thu Feb  4 10:46:30 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
+ 	[u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
+ 	before calling gen_div_trap.
+ 
+ Wed Feb  3 21:56:27 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
+ 	than numeric value for target_cpu_default..
+ 	* configure: Rebuilt.
+ 
+ Wed Feb  3 21:55:56 1999  Marc Espie  <Marc.Espie@liafa.jussieu.fr>
+ 
+ 	* Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
+ 	mkstemp.  Get them from libiberty.
+ 	(COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
+ 	(PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
+ 	(cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
+ 	(mkstemp.o, getopt1.o, getopt.o): Likewise.
+ 
+ 	* pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
+ 	values.
+ 	* pa-hpux.h (LINK_SPEC): Likewise.
+ 	* pa-hpux10.h (LINK_SPEC): Likewise.
+ 	* pa-hpux9.h (LINK_SPEC): Likewise.
+ 	* pa-osf.h (LINK_SPEC): Likewise.
+ 	* pa-pro.h (TARGET_DEFAULT): Likewise.
+ 	* pa1.h (TARGET_DEFAULT): Likewise.
+ 	* pa.h (MASK_*): New defines.
+ 	(TARGET_*): Use symbolic values rather than numeric values.
+ 	(TARGET_SWITCHES): Likewise.
+ 	(TARGET_DEFAULT): Likewise.
+ 	(CPP_SPEC): Likewise.
+ 
+ Wed Feb  3 21:07:38 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
+ 	* reload.c (find_reusable_reload): New function, broken out of
+ 	push_reload.  Add code to verify that none of the involved
+ 	outputs are subject to earlyclobbers.
+ 	(push_reload): Break out new function find_reusable_reload.
+ 	Delete "register" keyword for IN, OUT args.
+ 
+ Wed Feb  3 15:51:04 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.c (true_reg_or_0_operand) : New function.
+ 	* config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
+ 	* config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
+ 	Use true_reg_or_0_operand for div_trap.
+ 
+ Wed Feb  3 20:44:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.h (express_from): Declare.
+ 	(struct induction): Replace derived flag with derived_from pointer.
+ 	* loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
+ 	(express_from): No longer static.
+ 	* unroll.c (find_splittable_givs): Replace derived with derived_from.
+ 	When processing an address giv with which another giv has been
+ 	combined that has also been derived from a third giv, handle like
+ 	having combined with the third giv.
+ 	Set splittable_regs_updates appropriately for derived givs.
+ 
+ Wed Feb  3 15:26:58 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
+ 
+ Wed Feb  3 11:56:23 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (insn_sets_and_refs_are_delayed): New function.
+ 	* pa.h (INSN_SETS_ARE_DELAYED): Use it.
+ 	(INSN_REFERENCES_ARE_DELAYED): Likewise.
+ 
+ Wed Feb  3 06:24:49 1999  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
+ 	* config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
+ 	(TARGET_LIBGCC2_CFLAGS): Define.
+ 	(LIBGCC2_DEBUG_CFLAGS): Define.
+ 	* config/arm/t-netbsd: Likewise.
+ 	* config/arm/t-semi: Likewise.
+ 	* config/arm/t-semiaof: Likewise.
+ 	* config/arm/t-riscix: Likewise.
+ 
+ Wed Feb  3 10:59:07 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c (print_operand_address): When printing a
+ 	SYMBOL_REF that ends in `.<letter>' put parentheses around it.
+ 
+ Tue Feb  2 23:38:35 1999  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* i386/freebsd*.h now allows '$' in label names and does not use the
+ 	PCC struct return method.
+ 
+ Tue Feb  2 22:38:23 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* Makefile.in: Change all uses of AR to AR_FOR_TARGET.  Change all uses
+ 	of HOST_AR to AR.  Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
+ 	(RANLIB_TEST): Test to see if ranlib exists.  Only test absolute file
+ 	names if host == target.
+ 	(HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
+ 	(AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
+ 	(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
+ 	setting them to *_FOR_TARGET.
+ 	* cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
+ 	Delete.
+ 
+ Tue Feb  2 22:38:19 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* toplev.h (read_integral_parameter): Declare.
+ 	* toplev.c (read_integral_parameter): New function.
+ 
+ Fri Jan 29 21:00:56 1999  Bob Manson  <manson@charmed.cygnus.com>
+ 
+ 	* resource.c, resource.h: New files.
+ 	* Makefile.in (OBJS): Add it.
+ 
+ 	* haifa-sched.c (regno_use_in): Moved to rtlanal.c.
+ 	(split_block_insns): Moved to recog.c.
+ 	(update_flow_info): Make public.
+ 	* rtl.h: Declare them.
+ 
+ 	* reorg.c: Moved the functions dealing with computing resource
+ 	usage to resource.c.
+ 
+ 	* sched.c (regno_use_in): Moved to rtlanal.c.
+ 	(update_flow_info): Make public.
+ 	(schedule_insns): Use split_block_insns.
+ 
+ 	* recog.c (split_block_insns): New function.
+ 
+ Tue Feb  2 22:03:26 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
+ 	(LINK_OS_DEFAULT_SPEC): Delete, unused.
+ 
+ Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* configure.in (arm-*-oabi): Support.
+ 	* configure: Regenerate.
+ 	* config/arm/unknown-elf-oabi.h: New file.
+ 
+ Tue Feb  2 19:43:59 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
+ 	Make the anonymous pattern match when ! optimize_size.
+ 	(ashlsi3 size optimizer): New pattern.
+ 
+ 	* intl/Makefile.in (uninstall): Add missing "; \".
+ 
+ Tue Feb  2 18:21:23 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
+ 	synonym.
+ 
+ Tue Feb  2 20:24:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (loop_optimize): Fix value max_uid_for_loop is reset
+ 	to after find_and_verify_loops call.
+ 
+ Tue Feb  2 19:48:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* (recombine_givs): Don't use a giv that's likely to be dead to
+ 	derive others.
+ 
+ 	* loop.c (recombine_givs): Fix test for lifetime overlaps / loop
+ 	wrap around when deriving givs.
+ 
+ Mon Feb  1 20:00:40 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.c (check_asm_operands): Treat indeterminate operand ok
+ 	results as success.  Try harder to resolve a matching constraint.
+ 	* stmt.c (expand_asm_operands): Recognize when an output operand's
+ 	constraint does not allow memory.  Treat indeterminate operand ok
+ 	results as failure.  Try harder to resolve a matching constraint.
+ 
+ Mon Feb  1 15:00:02 1999  Ken Raeburn  <raeburn@cygnus.com>
+ 
+ 	Use varrays for constant-equivalence data:
+ 
+ 	* varray.h (struct const_equiv_data): New type.
+ 	(union varray_data_tag): New element const_equiv.
+ 	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
+ 	(VARRAY_SIZE): New macro, returns number of elements.
+ 	* integrate.h: Include varray.h.
+ 	(struct inline_remap): Replace const_equiv_map, const_age_map and
+ 	const_equiv_map_size with a const_equiv_varray element.
+ 	(MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
+ 	needed.
+ 	(SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
+ 	simultaneously, growing the varray if needed.
+ 
+ 	* integrate.c (global_const_equiv_map,
+ 	global_const_equiv_map_size): Deleted, replaced by....
+ 	(global_const_equiv_varray): New variable.
+ 	(expand_inline_function): References changed.
+ 	* integrate.h: Update declarations.
+ 
+ 	* integrate.c (process_reg_parm, expand_inline_function,
+ 	copy_rtx_and_substitute, try_constants, subst_constants,
+ 	mark_stores): Use varray allocation and accessor macros, new
+ 	integrate.h macros, and global_const_equiv_varray.  Don't
+ 	conditionalize non-NULL stores on array size; instead, expand the
+ 	array as needed.
+ 	* unroll.c (unroll_loop): Likewise.
+ 
+ 	* unroll.c (unroll_loop): Initialize const_equiv_varray element to
+ 	zero.  After allocating varray, always exit through bottom of
+ 	function, where it can be deallocated if needed.  Don't explicitly
+ 	reallocate const_equiv_map storage; instead, just ensure the
+ 	varray has been initialized, and update the global reference.
+ 
+ Mon Feb  1 09:40:25 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (inline, const): Handle these for stage2 (and later) gcc.
+ 
+ 	* dwarf2out.c (inline): Don't define.
+ 
+ 	* dwarfout.c (inline): Likewise.
+ 
+ Sun Jan 31 22:04:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (recombine_givs): Dump recombination and derivation data.
+ 
+ Sun Jan 31 20:34:29 1999  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* flags.h: Declare flag_no_ident.
+ 	* toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
+ 	* c-tree.h: Don't declare flag_no_ident.
+ 	* c-decl.c: Don't define flag_no_ident.  Don't process
+ 	  -f(no-)ident switches here.
+ 
+ 	* config/elfos.h (ASM_FILE_END): Output final .ident directive
+ 	  only if !flag_no_ident.
+ 	* config/ptx4.h: Likewise.
+ 	* config/svr4.h: Likewise.
+ 	* config/alpha/elf.h: Likewise.
+ 	* config/arm/linux-elf.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i860/fx2800.h: Likewise.
+ 	* config/mips/gnu.h: Likewise.
+ 	* config/i386/osfrose.h: Likewise.
+ 
+ 	* gcc.c (C specs): Map -Qn to -fno-ident.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ Mon Feb  1 10:52:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* configure.in: Don't remove loop.o and unroll.o when
+ 	enable-haifa is selected.
+ 	* configure: Rebuilt.
+ 
+ Sun Jan 31 13:22:02 1999  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (movsicc, movhicc, movsfcc, movdfcc,
+ 	movxfcc, movdicc): Delete unconstrained alternatives.
+ 	* i386.c (output_fp_conditional_move,
+ 	output_int_conditional_move): Delete unused case.
+ 
+ Sun Jan 31 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Jan 31 00:52:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (mov patterns): Emit the assembler aliases mov and fmov
+ 	instead of bis and cpys.  Combine alternatives where possible.
+ 
+ Sat Jan 30 23:14:13 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcov.c (fnotice): Add missing FILE* parameter.
+ 	(function_summary): Fix format specifiers in calls to `fnotice'.
+ 	(output_data): Likewise.
+ 
+ 	* toplev.c (fnotice): Constify char* parameter.
+ 
+ 	* toplev.h (fnotice): Add prototype.
+ 	Wrap prototype with BUFSIZ to protect FILE* usage.
+ 
+ Sun Jan 31 15:33:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
+ 
+ Sat Jan 30 08:27:23 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (distribute_notes): Handle REG_EH_REGION notes.
+ 
+ 	* alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
+ 	function definition.
+ 	(aliases_everything_p, write_dependence_p):Likewise.
+ 
+ 	* install.texi: Fix merge lossages.
+ 
+ 	* cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
+ 	is defined.
+ 	* collect2.c (main): Likewise.
+ 	* cppmain.c (main): Likewise.
+ 	* gcc.c (main): Likewise.
+ 	* gcov.c (main): Likewise.
+ 	* protoize.c (main): Likewise.
+ 	* toplev.c (main): Likewise.
+ 
+ 	* pa.md (parallel shift and shiftadd): Mark output of shift as an
+ 	earlyclobber.
+ 
+ 	* loop.c: Disable recent loop changes.  Temporary as Joern
+ 	continues to fix problems.
+ 
+ Sat Jan 30 03:24:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Size reg_map according to reg_iv_type.
+ 
+ Fri Jan 29 18:26:07 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* emit-rtl.c (remove_insn): New function.
+ 	* rtl.h (remove_insn): Add prototype.
+ 	* function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
+ 
+ Fri Jan 29 22:34:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (recombine_givs): Don't try to derive givs that have combined.
+ 
+ Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
+ 	when declaring arguments and calling va_arg() to initialize them.
+ 
+ 	* collect2.c (notice): Likewise.
+ 
+ 	* loop.c (find_life_end): Use PROTO() macro in the prototype.
+ 
+ Fri Jan 29 14:36:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (error): Fix typo in declaration.
+ 
+ 	* cpperror.c (cpp_message): Likewise.
+ 
+ 	* cpplib.c (cpp_warning): Likewise.
+ 
+ 	* cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
+ 	ATTRIBUTE_PRINTF_1.
+ 
+ 	* toplev.c (error): Fix typo in declaration.
+ 
+ Fri Jan 29 15:44:13 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
+ 	forward from cont dominator.
+ 
+ Fri Jan 29 07:10:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (eprint_string): Constify a char*.
+ 	(notice): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+ 	(vnotice): Constify a char*.
+ 	(error): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+ 	(verror): Constify a char*.
+ 	(warning): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
+ 	(vwarning): Constify a char*.
+ 	(error_with_line): Likewise.  Use PVPROTO not VPROTO, add
+ 	ATTRIBUTE_PRINTF_2.
+ 	(verror_with_line): Constify a char*.
+ 	(vwarning_with_line): Likewise.
+ 	(warning_with_line): Likewise.  Use PVPROTO not VPROTO, add
+ 	ATTRIBUTE_PRINTF_2.
+ 	(pedwarn): Constify a char*.  Use PVPROTO not VPROTO, add
+ 	ATTRIBUTE_PRINTF_1.
+ 	(pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
+ 	(pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
+ 	Also correct typo in parameter name declaration.
+ 	(make_assertion): Constify a char*.
+ 	(quote_string_for_make): Likewise.
+ 	(deps_output): Likewise.
+ 	(fatal): Likewise.  Use PVPROTO not VPROTO, add
+ 	ATTRIBUTE_PRINTF_1.  Use ATTRIBUTE_NORETURN not an explicit
+ 	"__attribute__ ((noreturn))".
+ 	(fancy_abort): Likewise for ATTRIBUTE_NORETURN.
+ 	(pfatal_with_name): Likewise.
+ 	(pipe_closed): Likewise.
+ 	(memory_full): Likewise.
+ 
+ Fri Jan 29 00:14:55 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (strength_reduce): Grow set_in_loop / n_times_set /
+ 	may_not_optimize to proper size when converting biv increments
+ 	into givs.
+ 	If necessary, reallocate reg_iv_type / reg_iv_info before calling
+ 	recombine_givs.
+ 
+ Thu Jan 28 23:24:08 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (recombine_givs): New parameter unroll_p.  If set, don't
+ 	generate complex adds.  Changed caller.
+ 	Don't generate adds that cost more than the original one.
+ 	(strength_reduce): Warning fixes.
+ 
+ Thu Jan 28 09:41:11 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa1.0-hp-hpux10*): Use t-pa.
+ 	* configure: Rebuilt.
+ 
+ Wed Jan 27 23:39:53 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (insn_first_p, no_jumps_between_p): Declare.
+ 	* rtlanal.c (insn_first_p, no_jumps_between_p): New function.
+ 	* loop.h (varray.h): Include.
+ 	(struct induction): Change combined_with to unsigned.
+ 	New members derived, ix and last_use.
+ 	(reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
+ 	(REG_IV_TYPE, REG_IV_INFO): Define.
+ 	(first_increment_giv, last_increment_giv): Declare.
+ 	* loop.c (loop_number_loop_cont): New static variable.
+ 	(loop_number_cont_dominator): Likewise.
+ 	(reg_iv_type, reg_iv_info): Now varray_type.
+ 	(first_increment_giv, last_increment_giv): New variables.
+ 	(compute_luids, verify_dominator, find_life_end): New functions.
+ 	(cmp_recombine_givs_stats, recombine_givs): Likewise.
+ 	(loop_optimize): Allocate loop_number_loop_cont and
+ 	loop_number_cont_dominator.  Use compute_luids.
+ 	(find_and_verify_loops): Initialize loop_number_loop_cont and
+ 	loop_number_cont_dominator.
+ 	(strength_reduce): Try to find bivs that can be expressed as givs
+ 	of another biv, and to convert biv increments into givs.
+ 	Call recombine_givs.  Handle derived givs.
+ 	(record_biv): New argument location.  All callers changed.
+ 	(record_giv): Initialize derived and last_use fields.
+ 	(basic_induction_var): New argument location.  All callers changed.
+ 	(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
+ 	Increment combined_with instead of setting to 1.
+ 	* unroll.c (derived_regs): New static variable.
+ 	(unroll_loop): Initialize it.
+ 	Allocate local_regno according to max_reg_num.
+ 	(copy_loop_body): Cope with derived givs.
+ 	(find_splittable_givs): Check for Givs made from biv increments.
+ 	Set derived_regs for givs.
+ 	* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
+ 
+ Wed Jan 27 19:31:36 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* function.c (purge_addressof_1): Handle case when a register
+ 	has been used in a wider mode.
+ 
+ 1999-01-27  Bruce Korb  <autogen@linuxbox.com>
+ 
+ 	* fixinc/fixincl.c, fixinc/server.[ch]:
+ 	Removed the last of the capitalized variable and proc names.
+ 
+ 	* fixinc/server.c: Removed the process open code.
+ 	* fixinc/procopen.c: New file containing the proc open code.
+ 	* fixinc/inclhack.tpl: Added code to bypass a readability test
+ 	when a file is not present.  A problem on some systems.
+ 	* fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
+ 
+ Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cpplib.h (cpp_notice): Add prototype.
+ 
+ Wed Jan 27 02:20:48 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Merge gcc2 snapshot 19980929.
+ 
+ 	* cccp.c (PRINTF_PROTO): Remove.
+ 	(PRINTF_PROTO_{1,2,3,4}: Likewise.
+ 	* cexp.y: Likewise.
+ 	* system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
+ 
+ 	* fix-header.c (cpp_file_lin_for_message): Delete.  In libcpp.
+ 	(cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
+ 	(cpp_fatal, cpp-Pfatal_with_name): Likewise.
+ 
+ 	* gen-protos.c (hashf): Delete in cpphash.o.
+ 	* gen-protos.c (hashf): Delete in cpphash.o.
+ 
+ 	* expr.c: Do not merge SAVE_STACKAREA_MODE changes.
+ 	* expmed.c: Likewise.
+ 	* rs6000.md: Likewise.
+ 
+ 	* rs6000.c, rs6000.md: Do not merge formatting changes yet.
+ 
+ Wed Jan 27 01:13:42 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
+ 	* rs6000.md (movsi, movdi): Likewise.
+ 
+ Tue Jan 26 13:31:38 1999  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* function.c (expand_function_end): Pass arg_pointer_save_area to
+ 	validize_mem before using it.  Emit code into a sequence.
+ 
+ Tue Jan 26 13:41:38 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (doz + set cr and or + set cr patterns): Add missing
+ 	'#' to split patterns.  Correct indentation of some new patterns.
+ 
+ 1999-01-26  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
+ 
+ 	* cppfiles.c (safe_read): Deleted.
+ 	(read_and_prescan): New function, replaces safe_read, converts
+ 	and/or warns about trigraphs, silently converts odd line
+ 	terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
+ 	(finclude): Use read_and_prescan; turn off nonblocking mode on
+ 	the input descriptor; remove file-size-examination and
+ 	no-newline-at-EOF gunk which is	longer necessary; be more
+ 	careful about checking that we've been handed a legitimate
+ 	file to read (only real files, pipes, and ttys are acceptable).
+ 	* cpplib.h (cpp_options): Rename no_trigraphs flag to
+ 	`trigraphs' and invert its sense.
+ 	(trigraph_table): Declare.
+ 	(cpp_warning_with_line): Prototype.
+ 	* cpplib.c: Remove all references to trigraph_pcp. Define
+ 	trigraph_table; initialize it in initialize_char_syntax.  Open
+ 	files in nonblocking mode.  s/no_trigraphs/trigraphs/
+ 	throughout, and invert sense.  Put cpp_warning_with_line back
+ 	in and export it.
+ 
+ Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (COUNTER_REGS): New register class.
+ 	* config/c4x/c4x.md (*rptb_init): Change constraints.
+ 	(rptb_end): Emit alternate looping instructions if
+ 	RC register not allocated for loop counter.
+ 	(decrement_and_branch_on_count): Allow other registers
+ 	for loop counter.
+ 
+ 1999-01-25  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* cppexp.c (struct arglist): Removed.
+ 	(parse_number): Use HOST_WIDE_INT for the accumulator.
+ 	Allow two `l' suffixes unless C89.  Clean up.  Make static.
+ 	(parse_charconst): New function broken out of cpp_lex.
+ 	Code cleaned up drastically.  Don't use a token_buffer.
+ 	(token_buffer): Removed.
+ 	(cpp_lex): Don't call parse_number on a constant string.
+ 	Use parse_charconst.
+ 	(cpp_parse_expr): Properly handle an ERROR op returned by
+ 	cpp_lex.
+ 
+ 1999-01-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c: Don't include signal.h, sys/times.h, or
+ 	sys/resource.h. Don't declare localtime.
+ 	(macroexpand): Handle special symbols here.
+ 	(push_macro_expansion): Chop off the trailing '@ ' if possible
+ 	here.
+ 	(cpp_get_token): Don't do either of the above two things here.
+ 	Move `string' label just after case '"' so that wide strings
+ 	don't crash the preprocessor.
+ 
+ Sun Jan 24 20:13:45 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (left shift + set cr patterns): Add missing '#' to
+ 	split patterns.
+ 	(move register + set cr pattern): Likewise.
+ 	(movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
+ 	inadvertently deleted.
+ 
+ Sun Jan 24 08:07:59 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (stmt_loop_nest_empty): New function.
+ 	* tree.h (stmt_loop_nest_empty): Declare it.
+ 	* rtl.def (CALL_PLACEHOLDER): New rtx code.
+ 
+ Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
+ 	New functions.
+ 	(c4x_check_legit_addr): Remove USE and PLUS, allow
+ 	LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
+ 	(c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
+ 	CONST cases.  Add LO_SUM.
+ 	(c4x_print_operand): Modified 'C' and 'R' cases for calls.
+ 	Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
+ 	(c4x_print_operand_address): Handle LO_SUM.
+ 	(c4x_scan_for_ldp): Delete.  Hooray!
+ 	(c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
+ 	Split all insns.
+ 	(c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
+ 	changed.
+ 	(c4x_immed_float_constant): Renamed from c4x_float_constant.  All
+ 	callers	changed.
+ 	(c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
+ 	and CONST.
+ 	(c4x_U_constraint, symbolic_operand): New functions.
+ 	(src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
+ 	disable SYMBOL_REF, LABEL_REF, and CONST.
+ 	(lsrc_operand, tsrc_operand): Call src_operand instead of
+ 	general_operand.
+ 	(c4x_operand_subword): Update comments.
+ 
+ 	* config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
+ 	(LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
+ 	plus HIGH and LO_SUM for the C40.
+ 	(ENCODE_SECTION_INFO): Define macro.
+ 	(symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
+ 	prototypes.
+ 	(PREDICATE_CODES): Add symbolic_operand.
+ 
+ 	* config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
+ 	c4x_emit_move_sequence.
+ 	(floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
+ 	to avoid symbol references.
+ 	(all patterns with g constraint): Replace 'g' constraint with 'rIm'.
+ 	(set_high): Renamed from set_high_use.
+ 	(set_lo_sum): Renamed from set_ior_lo_use.
+ 	(all call patterns): Make MEM explicit in call address operands.
+ 	Modified output templates to use 'U' modifier.
+ 
+ Sun Jan 24 01:15:05 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Jan 23 22:34:57 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* final.c (bb_str): Qualify a char* with the keyword `const'.
+ 	(add_bb_string, final_scan_insn, output_asm_insn): Likewise.
+ 
+ 	* fix-header.c (read_scan_file): Likewise.
+ 
+ 	* genoutput.c (output_epilogue, process_template): Likewise.
+ 
+ 	* local-alloc.c (requires_inout, block_alloc): Likewise.
+ 
+ 	* output.h (output_asm_insn, assemble_string): Likewise.
+ 
+ 	* recog.c (recog_constraints, check_asm_operands,
+ 	decode_asm_operands, extract_insn, preprocess_constraints,
+ 	constrain_operands): Likewise.
+ 
+ 	* recog.h (operand_alternative, recog_constraints, insn_template,
+ 	insn_outfun, insn_operand_constraint, insn_name): Likewise.
+ 
+ 	* regclass.c (record_reg_classes, scan_one_insn): Likewise.
+ 
+ 	* regmove.c (find_matches): Likewise.
+ 
+ 	* reload.c (alternative_allows_memconst): Likewise.
+ 
+ 	* reload1.c (constraint_accepts_reg_p,
+ 	reload_cse_simplify_operands): Likewise.
+ 
+ 	* rtl.h (decode_asm_operands): Likewise.
+ 
+ 	* scan.h (fn_decl): Likewise.
+ 
+ 	* varasm.c (assemble_string): Likewise.
+ 
+ Sat Jan 23 01:37:36 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (gcc_tooldir): Handle case where exec_prefix has
+ 	not been explicitly set.
+ 	* configure: Rebuilt.
+ 
+ 	* fold-const.c (lshift_double): Mark 'prec' arguments as possibly
+ 	unused.
+ 
+ 	* bitmap.h (bitmap_head_def): Make indx field unsigned.
+ 
+ 	* configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
+ 	use $exec_prefix/$target_alias for gcc_tooldir.
+ 	* configure: Rebuilt.
+ 
+ Fri Jan 22 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cppp.c (xrealloc): Fix typo last change.
+ 	* cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
+ 	* genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
+ 	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
+ 
+ 1999-01-22  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h (CR0_REGNO_P): New macro to test if cr0.
+ 	(CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
+ 	(PREDICATE_CODES): Add cc_reg_not_cr0_operand.
+ 	(cc_reg_not_cr0_operand): Add declaration.
+ 
+ 	* rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
+ 	pseudo register, or a control register that is not CR0.
+ 
+ 	* rs6000.md (all combiner patterns building . instructions): For
+ 	all `.' instructions that do something and set cr0, add an
+ 	alternative that does the operation, and then sets a different
+ 	flag, in order to avoid using the costly mcrf instruction and also
+ 	allow cr0 to be clobbered in asm statements.  Also fix a few
+ 	patterns that used the wrong register.
+ 
+ 	* rs6000.h (rs6000_cpu_select): Make string, names be const char *.
+ 	(rs6000_debug_name): Make const char *, not char *.
+ 
+ 	* sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
+ 
+ 	* rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
+ 	(rs6000_select): Use const char * in casts.
+ 
+ Fri Jan 22 07:43:01 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (gcc_tooldir): Move before first reference.
+ 	Let autoconf substitute in a value.
+ 	* configure.in (gcc_tooldir): Only use a relative path to the
+ 	tool directory if $exec_prefix == $prefix.
+ 	* configure: Rebuilt.
+ 
+ 	* Makefile.in (tooldir): Replace with gcc_tooldir.
+ 
+ Thu Jan 21 23:21:57 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* m68k.md (ashldi_const): Disable for !TARGET_5200.  Fix indentation.
+ 	(ashldi3 expander): Similarly.  Update comments.
+ 	(ashrdi_const, lshrdi_const): Fix indentation.
+ 	(ashrdi3, lshrdi3): Fix indentation.  Update comments.
+ 
+ Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (try_split): Don't try to split non-instructions.
+ 
+ Thu Jan 21 23:47:30 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* expr.c (emit_push_insn): Fix dumb typo.
+ 
+ Thu Jan 21 20:24:02 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
+ 	transformations that we have performed earlier.
+ 	* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
+ 
+ 	* alpha.md (prologue_stack_probe_loop): Don't do our own label
+ 	handling, call gen_label_rtx instead.
+ 
+ Thu Jan 21 17:45:18 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
+ 
+ 	* cccp.c (xrealloc): Call malloc given a NULL old pointer.
+ 	* collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
+ 	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
+ 	* genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
+ 	* genrecog.c, mips-tfile.c, protoize.c: Likewise.
+ 
+ Thu Jan 21 19:44:55 1999  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
+ 	--with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
+ 	adding -Wl,-bbigtoc to BOOT_LDFLAGS.
+ 	* configure: Regenerate.
+ 
+ 	* config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
+ 
+ Thu Jan 21 15:48:03 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* cppexp.c (cpp_lex): Allocate token_buffer dynamically.
+ 
+ Thu Jan 21 14:18:04 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
+ 	move_by_pieces.
+ 	(MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
+ 	(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
+ 	(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
+ 	(move_by_pieces): Use new macros.
+ 	(emit_block_move): Use new macros.
+ 	(clear_by_pieces): Use new macros.
+ 	(clear_storage): Use new macros.
+ 	(emit_push_insn): Use new macros.
+ 	(expand_expr): Use new macros.
+ 	* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
+ 	Define.
+ 	(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
+ 	(MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
+ 	(MOVE_MAX_PIECES): Move 8 bytes on SH4.
+ 	* tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
+ 	USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
+ 	USE_STORE_PRE_DECREMENT): Describe new macros.
+ 
+ Thu Jan 21 14:13:31 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* varasm.c (output_constant_pool): Use floor_log2 instead of
+ 	exact_log2 for ASM_OUTPUT_ALIGN.
+ 
+ 	* stor-layout.c (layout_type): Do machine-dependent extra alignment.
+ 
+ 	* emit-rtl.c (operand_subword): Handle case when a subword outside
+ 	the operand.
+ 
+ 	* tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
+ 	the macros.
+ 
+ Thu Jan 21 01:59:30 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (fold_rtx): Revert 29 Dec change.
+ 	(cse_insn): Revert 12 Jan change.
+ 	* expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
+ 	* regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
+ 	* rtl.def: Likewise.
+ 	* rtl.h (CONSTANT_P): Likewise.
+ 
+ 	* expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
+ 	to memory.
+ 	* recog.c (immediate_operand): Accept CONSTANT_P_RTX.
+ 	* alpha.c (input_operand): Likewise.
+ 	* c4x.c (const_operand): Likewise.
+ 
+ 	* explow.c (allocate_dynamic_stack_space): Use register_operand
+ 	instead of arith_operand, which does not exist.
+ 
+ 	* 1750a.h: Fix comment closure.
+ 	* a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
+ 	* arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
+ 	* arm.h (TARGET_SWITCHES): Fix typo.
+ 	* i370.md (anon mult and div patterns): Fix set mode mismatch.
+ 	* i860.c (output_delayed_branch): Fix operands to constrain_operands.
+ 	(output_delay_insn): Likewise.
+ 	* m88k.md (anon rotate insns): Fix set mode mismatch.
+ 	(anon BLKmode moves): Commonize and fix set mode mismatches.
+ 	* ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
+ 	* romp.md (movdf): Fix typo.
+ 
+ Thu Jan 21 00:29:35 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* Makefile.in (install-common): Remove extraneous chmod for gcov
+ 	install.
+ 
+ Wed Jan 20 18:15:08 1999  Dave Brolley  <brolley@cygnus.com>
+ 
+ 	* function.c (assign_parms): Save and restore setting of
+ 	TREE_USED (parm).
+ 
+ Wed Jan 20 12:51:42 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
+ 	Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
+ 
+ Tue Jan 19 21:20:52 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.c (pop_operand): New function.
+ 	* recog.h (pop_operand): Declare it.
+ 	* genrecog.c (preds): Define it.
+ 
+ 	* expr.c (do_jump_for_compare): Handle conditional branch expanders
+ 	emitting multiple jump instructions.
+ 	* jump.c (condjump_label): New function.
+ 	* rtl.h (condjump_label): Declare it.
+ 
+ Tue Jan 19 21:08:20 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (emit_move_insn_1): Revert 17 Dec change.  Don't emit
+ 	clobber during or after reload.
+ 
+ Tue Jan 19 16:56:03 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genoutput.c (name_for_index): New function.
+ 	(scan_operands, validate_insn_alternatives): Use it.
+ 	* genrecog.c (insn_name_ptr_size): New variable.
+ 	(make_insn_sequence): Fill in insn_name_ptr.
+ 	(merge_trees): Use it.
+ 
+ Tue Jan 19 16:37:36 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386/isc.h (TARGET_DEFAULT): Define symbolicly.
+ 	* i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
+ 	* i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
+ 
+ Tue Jan 19 15:00:10 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (NUM_STORES): Delete.
+ 	(loop_store_mems): Turn into an EXPR_LIST of MEMs.
+ 	(prescan_loop): Properly initialize loop_mems_idx.
+ 	(note_addr_stored): Simplify using list structure instead of
+ 	fixed sized array.
+ 	(invariant_p, check_dbra_loop, load_mems): Similarly.
+ 
+ 	* flow.c (invalidate_from_autoinc): New function.
+ 	(mark_set_1, mark_used_regs): Use it.
+ 
+ 	* Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
+ 
+ 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* invoke.texi (-mlong-double-64): New option description.
+ 
+ 1999-01-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
+ 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.  Set to LONG_DOUBLE_TYPE_SIZE
+ 	if not defined.
+ 	* i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
+ 	(CPP_SPECS): Add -mlong-double-64 support.
+ 	(TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
+ 	(TARGET_SWITCHES): Add -mlong-double-64 support.
+ 	(LONG_DOUBLE_TYPE_SIZE): Likewise.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ 	* i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
+ 	(CPP_SPECS): Add -mlong-double-64 support.
+ 	* i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
+ 	(MULTILIB_DIRNAMES): Add ld64.
+ 	* i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
+ 
+ Tue Jan 19 11:54:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
+ 	invisible reference.
+ 
+ Tue Jan 19 14:51:36 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (offsettable_addr_operand): Delete.
+ 	(offsettable_mem_operand): New function.
+ 	* rs6000.h (PREDICATE_CODES): Reflect function change.
+ 	(RS6000_SAVE_TOC): Represent address as MEM.
+ 	* win-nt.h (RS6000_SAVE_TOC): Same.
+ 	* rs6000.md (indirect calls): Change offsettable address parameter
+ 	to offsettable memory parameter.
+ 
+ Tue Jan 19 10:24:53 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* rtl.h (rtx_def): Update documentation.
+ 	(MEM_IN_STRUCT_P): Likewise.
+ 	(MEM_SCALAR_P): New macro.
+ 	(MEM_COPY_ATTRIBUTES): Likewise.
+ 	(MEM_SET_IN_STRUCT_P): Likewise.
+ 	* rtl.texi (MEM_SCALAR_P): Document.
+ 	* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
+ 	(fixed_scalar_and_varying_struct_p): New function.  Use
+ 	MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
+ 	(aliases_everything_p): Likewise.
+ 	(true_dependence): Use them.
+ 	(write_dependence_p): New function, containing code common to
+ 	anti_dependence and output_dependence.
+ 	(anti_dependence): Use it.
+ 	(output_dependence): Likewise.
+ 	* calls.c (save_fixed_argument_area): Don't clear
+ 	MEM_IN_STRUCT_P.
+ 	(expand_call): Use MEM_SET_IN_STRUCT_P.
+ 	(emit_library_call): Don't clear MEM_IN_STRUCT_P.
+ 	(emit_library_call_value): Likewise.
+ 	(store_one_arg): Use MEM_SET_IN_STRUCT_P.
+ 	* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
+ 	(make_extraction): Likewise.
+ 	(simplify_shift_const): Likewise.
+ 	(gen_lowpart_for_combine): Likewise.
+ 	* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
+ 	* emit-rtl.c (operand_subword): Likewise.
+ 	(change_address): Likewise.
+ 	* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
+ 	* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
+ 	(emit_group_store): Use MEM_SET_IN_STRUCT_P.
+ 	(copy_blkmode_from_reg): Likewise.
+ 	(store_field): Likewise.
+ 	(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
+ 	heuristically.  Use MEM_SET_IN_STRUCT_P.
+ 	(get_memory_rtx): Likewise.
+ 	* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
+ 	* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
+ 	MEM_ALIAS_SET on newly returned MEMs.
+ 	(assign_temp): Use MEM_SET_IN_STRUCT_P.
+ 	(put_reg_into_stack): Likewise.
+ 	(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
+ 	(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
+ 	(assign_parms): Likewise.
+ 	(expand_function): Likewise.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
+ 	* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
+ 	* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
+ 	* print-rtl.c (print_rtx): Print /f for frame_related.
+ 	* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
+ 	* reload1.c (reload): Copy MEM_SCALAR_P as well.
+ 	* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
+ 	(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
+ 	* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
+ 	(output_constant_def): Likewise.
+ 	* a29k.c (a29k_set_memflags_1): Take scalar_p.
+ 	Set MEM_SCALAR_P.
+ 	(a29k_set_memflags): Use it.
+ 	* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
+ 	* c4x.c (c4x_scan_for_ld): Likewise.
+ 	* h8300.c (fix_bit_operand): Likewise.
+ 	* m88k.c (legitimize_address): Likewise.
+ 	(block_move_loop): Likewise.
+ 	(block_move_no_loop): Likewise.
+ 	(block_move_sequence): Likewise.
+ 	(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+ 	* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
+ 	* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
+ 	* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
+ 	* arm.h (arm_gen_load_multiple): Take scalar_p.
+ 	(arm_store_load_multiple): Likewise.
+ 	* arm.c (arm_gen_load_multiple): Likewise.
+ 	(arm_gen_store_multiple): Likewise.
+ 	(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
+ 
+ Tue Jan 19 12:30:37 1999  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
+ 	calls within a libcall block to indicate no throws are possible.
+ 	* flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
+ 	libcall blocks. Don't add edges to exception handlers if we see
+ 	a REG_EH_REGION note with a value of 0.
+ 	(make_edges): Override active_eh_region vector if the call has a note
+ 	indicating the call does not throw.
+ 
+ 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
+ 
+ Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
+ 
+ Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* invoke.texi (C++ Dialect Options): Document -fno-rtti.
+ 
+ 1999-01-18  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	*  invoke.texi (-mcpu=740, -mcpu=750): New options.
+ 	(-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
+ 	PPC750.
+ 
+ 1999-01-18  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
+ 	supported with -mcpu=xxx.
+ 	(processor_type): Add PROCESSOR_PPC750.
+ 	(ADJUST_PRIORITY): Call rs6000_adjust_priority.
+ 	(RTX_COSTS): Supply costs for 750 multiply/divide operations.
+ 	(rs6000_adjust_priority): Add declaration.
+ 
+ 	* rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
+ 	processor type as 750, not 603.  Allow -mmultiple and -mstring on
+ 	little endian 750 systems.
+ 	(rs6000_adjust_priority): Stub for now.
+ 	(get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
+ 
+ 	* rs6000.md (function/cpu attributes): Add initial ppc750 support.
+ 
+ 	* sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
+ 	little endian.
+ 	(CC1_SPEC): Pass -mstrict-align if little endian, and not
+ 	overridden.
+ 	(CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
+ 	(SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
+ 
+ 	* {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
+ 	little endian.
+ 
+ 	* t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
+ 
+ Mon Jan 18 12:03:08 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.md (div_trap): Split div_trap_mips16
+ 	from div_trap.
+ 	(div_trap_normal,div_trap_mips16): Correct the length attributes.
+ 
+ Mon Jan 18 11:48:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
+ 	Instead of writing to const char *buf directly, use a non-const
+ 	variable `wbuf' to allocate and write a string, then set buf = wbuf.
+ 
+ 	* cppulp.c (user_label_prefix): Qualify a char* with the `const'
+ 	keyword.
+ 
+ 	* dyn-string.c (dyn_string_append): Likewise.
+ 
+ 	* dyn-string.h (dyn_string_append): Likewise.
+ 
+ 	* final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
+ 
+ 	* output.h (end_final, output_operand_lossage, asm_fprintf,
+ 	named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
+ 	Likewise.
+ 
+ 	* profile.c (init_branch_prob): Likewise.
+ 
+ 	* toplev.c (set_target_switch, vmessage,
+ 	v_message_with_file_and_line, v_message_with_decl,
+ 	v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
+ 	verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
+ 	v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
+ 	v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
+ 	open_dump_file, dump_rtl, clean_dump_file,
+ 	print_version, print_single_switch, print_switch_values,
+ 	dump_base_name, debug_args, lang_independent_options,
+ 	user_label_prefix, documented_lang_options, target_switches,
+ 	target_options, print_time, pfatal_with_name, fatal_io_error,
+ 	fatal_insn, default_print_error_function, print_error_function,
+ 	report_error_function, error_with_file_and_line, error_with_decl,
+ 	error_for_asm, error, fatal, warning_with_file_and_line,
+ 	warning_with_decl, warning_for_asm, warning, pedwarn,
+ 	pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
+ 	really_sorry, botch, output_quoted_string, output_file_directive,
+ 	open_dump_file, rest_of_decl_compilation, display_help, main):
+ 	Likewise.
+ 
+ 	* toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
+ 	fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
+ 	warning_with_file_and_line, error_with_file_and_line, sorry,
+ 	really_sorry, default_print_error_function, report_error_function,
+ 	rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
+ 	error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
+ 	output_file_directive, botch): Likewise.
+ 
+ 	* tree.h (make_decl_rtl): Likewise.
+ 
+ 	* varasm.c (strip_reg_name, named_section, decode_reg_name,
+ 	make_decl_rtl): Likewise.
+ 
+ Mon Jan 18 11:35:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
+ 	directory logically rather than physically.
+ 
+ Mon Jan 18 09:05:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* loop.c (insert_bct): Hide the definition of variables
+ 	`increment_direction', `compare_direction', `add_iteration' and
+ 	`loop_var_mode'.
+ 
+ 	* recog.c (mode_dependent_address_p): Mark parameter `addr' with
+ 	ATTRIBUTE_UNUSED.  Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
+ 	(mode_independent_operand): Mark label `lose' with
+ 	ATTRIBUTE_UNUSED_LABEL.
+ 
+ 	* regclass.c (n_occurrences): Remove prototype and definition.
+ 
+ 	* reload.c (find_reloads_address_1): Mark variable `tem' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
+ 
+ 	* sbitmap.c (sbitmap_copy): Likewise.
+ 
+ 	* scan-decls.c (scan_decls): Hide label `handle_comma'.
+ 
+ 	* toplev.c (output_lang_identify): Mark prototype with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* tree.c (make_node): Cast the first argument of `bzero' to PTR.
+ 	(make_tree_vec): Likewise.
+ 	(build1): Likewise.
+ 
+ 	* varasm.c (assemble_static_space): Mark variable `tem' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ Mon Jan 18 04:28:36 1999  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* Makefile.in (GCOV_INSTALL_NAME): New macro.
+ 	(install-common): Use it.
+ 	(uninstall): Use it.
+ 	(uninstall): Use correct names for protoize and unprotoize.
+ 
+ Mon Jan 18 03:52:56 1999  Christian Bruel  <Christian.Bruel@st.com>
+ 			  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (last_mem_set): Delete variable.  References removed.
+ 	(mem_set_list): New variable.
+ 	(life_analysis): Initialize and finalize alias analysis.
+ 	(propagate_block); Initialize mem_set_list.  Clear for CALL_INSNs.
+ 	(insn_dead_p): For a store to memory, search the entire mem_set_list
+ 	for a match.
+ 	(mark_set_1): Kill entries on the mem_set_list for aliased writes or
+ 	changes to their addresses.  Add new entries to the mem_set_list for
+ 	memory writes writes.
+ 	(mark_used_regs): Kill entries on the mem_set_list which may be
+ 	referenced by a load operation.
+ 
+ Mon Jan 18 01:01:02 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* alias.c (base_alias_check): Add missing return for differing
+ 	symbols case.
+ 
+ Mon Jan 18 00:36:13 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* mips-tdump.c (print_file_desc): Handle unknown filenames and
+ 	missing local symbols.
+ 
+ Sun Jan 17 21:04:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
+ 
+ 	* system.h (bcopy): Implement with memmove not memcpy.
+ 
+ Sun Jan 17 19:23:20 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (cppulp.o): Add dependencies.
+ 
+ 	* i386.md (integer conditional moves): Add missing earlyclobbers.
+ 
+ 	* regmove.c (optimize_reg_copy_1): Undo Aug 18 change.  Update
+ 	REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
+ 	where a register is live.
+ 
+ Sun Jan 17 03:20:47 1999  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Abort if the destination
+ 	of a FP conditional move is not on the FP register stack.
+ 
+ Sun Jan 17 01:15:04 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sat Jan 16 23:40:33 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_cse_regs_1): Do not call
+ 	reload_cse_simplify_operands for an insn with asm operands.
+ 
+ 	* cccp.c (print_help): Fix typos.
+ 	* cpplib.c (print_help): Fix typos.
+ 	* toplev.c (f_optiosn): Fix typos.
+ 	(documented_lang_options): Fix typos.
+ 
+ Sat Jan 16 21:48:17 1999  Marc Espie  (Marc.Espie@openbsd.org)
+ 
+ 	* gcc.c (do_spec_1): Fix obvious typo.
+ 
+ Sat Jan 16 19:31:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (duplicate_decls): If `warn_traditional', warn when
+ 	a non-static function declaration follows a static one.
+ 
+ 	* invoke.texi (-Wtraditional): Document the extra check now done
+ 	by this flag.
+ 
+ Sat Jan 16 15:13:46 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (shadd): Create shadd insns, even if the result of the shift is
+ 	needed without the addition.
+ 
+ Sat Jan 16 10:48:16 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
+ 
+ Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
+ 
+ Fri Jan 15 22:30:04 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
+ 	* rs6000.c (u_short_cint_operand, add_operand, logical_operand,
+ 	non_add_cint_operand, non_logical_cint_operand): Likewise.
+ 	(get_issue_rate): Add CPU_PPC604E case.
+ 	* rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
+ 
+ Fri Jan 15 18:42:12 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (queued_subexp_p): Make public.
+ 	* expr.h (queued_subexp_p): Declare it.
+ 	* recog.c (asm_operand_ok): New function.
+ 	(check_asm_operands): Use it.  After reload, use constrain_operands
+ 	instead.
+ 	* recog.h (asm_operand_ok): Declare it.
+ 	* stmt.c (expand_asm_operands): Use it to try harder to make
+ 	asms initially satisfy their constraints.
+ 
+ Fri Jan 15 17:43:59 1999  Jeffrey A. Law  <law@rtl.cygnus.com>
+ 
+ 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
+ 	(mem (lo_sum (...)) for TFmode unless TARGET_V9.
+ 
+ Sat Jan 16 12:47:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
+ 	in delay slot of RPTBD.
+ 
+ Sat Jan 16 12:26:40 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
+ 	divide and modulo sign problem.
+ 
+ Fri Jan 15 11:02:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* unroll.c (loop_iterations): Return 0 if the last loop insn
+ 	is not a jump insn or if the loop has multiple back edges.
+ 
+ 1999-01-15  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
+ 	it's working properly now.  Remove comment saying "see m68k-motorola-sysv
+ 	as an example".
+ 	* configure: Regenerate using autoconf.
+ 
+ 	* fixinc/fixincl.c (main): Do not ignore SIGCHLD.
+ 
+ Thu Jan 14 22:38:41 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
+ 	a register with another DEST_ADDR giv if the address is not valid.
+ 
+ 	* pa.c (hppa_expand_epilogue): Save and restore the static chain
+ 	around the call to mcount.
+ 
+ 	* h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
+ 
+ 	* stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
+ 	generating non-canonical rtl.
+ 
+ 1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/i960/i960.c (i960_output_move_double_zero,
+ 	i960_output_move_quad_zero): New functions for moving zeros.
+ 	(i960_output_move_double, i960_output_move_quad): Additional code
+ 	for situation when moving unaligned register group.
+ 
+ 	* config/i960/i960.h (i960_output_move_double_zero,
+ 	i960_output_move_quad_zero): The function definitions.
+ 
+ 	* config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
+ 
+ 1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
+ 
+ 	* config/i960/i960.c (i960_function_prologue): New code (optimal
+ 	solution) for saving global registers in local registers.
+ 	(form_reg_groups, reg_group_compare, split_reg_group): New
+ 	functions used by the code.
+ 	(reg_group): New structure definition for the new code.
+ 
+ 1999-01-13  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixinc/fixincl.c (create_file): Pass file creation mask as
+ 	third parameter to "open".  Use O_TRUNC flag to open instead of
+ 	explicitly unlink'ing the file.
+ 	(process): and forget about the "chmod" stuff.
+ 
+ Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* integrate.c (expand_inline_function): Recognize (mem (addressof))
+ 	and substitute.  Copy the return value from there into a new pseudo.
+ 
+ Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
+ 	before generating a call to abort for volatile functions.
+ 	* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
+ 	(TARGET_ABORT_NORETURN): Define.
+ 	(abort-on-noreturn): New option.
+ 
+ Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
+ 	and binarycc operations in 3rd annulled delay slot!
+ 
+ Wed Jan 13 16:16:44 1999  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
+ 	before generating a call to abort for volatile functions.
+ 	* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
+ 	(TARGET_ABORT_NORETURN): Define.
+ 	(abort-on-noreturn): New option.
+ 
+ Wed Jan 13 13:30:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c (xstrdup): Renamed from `savestring'.  All callers changed.
+ 	Remove prototype which we get from libiberty.h.
+ 
+ 	* collect2.c (xstrdup): Likewise.
+ 
+ 	* genextract.c (xstrdup): Likewise for `copystr'.
+ 	(mybzero): Remove it and use `memset' instead.
+ 
+ 	* genoutput.c (mybcopy, mybzero): Remove these.  All callers changed
+ 	to use `memcpy' and `memset' instead.
+ 
+ 	* genrecog.c (xstrdup): Renamed from `copystr'.  All callers
+ 	changed.  Remove prototype.
+ 	(mybcopy, mybzero): Remove these and use memcpy/memset.
+ 
+ Wed Jan 13 00:59:04 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
+ 	generating code for TARGET_64BIT.
+ 
+ Tue Jan 12 14:05:37 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
+ 	HOST_WIDE_INT word-size.
+ 	(rs6000_stack_info): Remove redundant alignment of fpmem.
+ 
+ Tue Jan 12 14:05:37 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
+ 	(u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
+ 	(input_operand): Adjust CONSTANT_P_RTX handling.
+ 	* rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
+ 	* rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
+ 	(movhi, movqi): Remove CONSTANT_P_RTX handling.
+ 	(movdi): Adjust CONSTANT_P_RTX handling.
+ 
+ 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* configure: Regenerate using autoconf.
+ 
+ 	* fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
+ 	* fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
+ 	(process): "fchmod" isn't available on all systems, use "chmod"
+ 	instead.
+ 	* fixinc/server.c: Add #include <sys/types.h>.
+ 	(STDIN_FILENO): Add default definition if no include file defines
+ 	it already.
+ 	(STDOUT_FILENO): Likewise.
+ 
+ Tue Jan 12 10:23:24 1999  Stan Cox  <scox@cygnus.com>
+ 
+ 	* mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
+ 
+ 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
+ 	ensure all prototypes necessary for building libio will be available.
+ 	* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
+ 	definitions here as they are not host specific.
+ 	* m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
+ 
+ Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
+ 
+ Tue Jan 12 02:36:10 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.c (rtx_alloc): Use memset instead of inline loop.
+ 
+ 	* recog.h (recog_op_alt): Declare extern.
+ 
+ Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (purge_addressof_1): If the note accesses a mem+addressof
+ 	in a wider mode than any replacement, adjust the cached replacement.
+ 	Cache trivial substitutions as well.
+ 
+ Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (OBJECTS): Add sbitmap.o.
+ 	(BASIC_BLOCK_H): Add sbitmap.h.
+ 	* basic-block.h: Move simple bitmap code to sbitmap.h.
+ 	* flow.c: Move simple bitmap code to sbitmap.c.
+ 	* sbitmap.h, sbitmap.c: New files.
+ 
+ Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (TARGET_SWITCHES): Document switches.
+ 	(TARGET_OPTIONS): Likewise.
+ 
+ 	* alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
+ 
+ Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
+ 
+ Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (basic_block_head): Rename to x_basic_block_head.
+ 	(basic_block_end): Rename to x_basic_block_end.
+ 	(BLOCK_HEAD, BLOCK_END): Update.
+ 
+ 	* caller-save.c: Change basic_block_head/end references to
+ 	BLOCK_HEAD/END.
+ 	* combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
+ 	* graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
+ 	* regmove.c, reload1.c, reorg.c, sched.c: Likewise.
+ 
+ Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (xstrerror): Renamed from my_strerror.  All callers
+ 	changed.  Remove prototype since we get that from libiberty.h.
+ 
+ 	* protoize.c (xstrerror): Likewise.
+ 
+ Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (read_specs): Ensure format specifiers match their arguments.
+ 
+ Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (copy_node): Oops.  That would be copy not zero
+ 	in that last change.
+ 
+ Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c: Include system.h.
+ 	(c4x_caller_save_map): Disable caller save for RC.
+ 	(c4x_optimization_options): Disable scheduling before reload.
+ 	(valid_parallel_load_store) : Define return type as int.
+ 	Remove unused variable regs.
+ 	* config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
+ 	class.
+ 	* config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
+ 	handle rotations.
+ 	(*db, decrement_and_branch_until_zero): Fix up constraints
+ 	to keep reload happy.
+ 
+ Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (make_node): Call bzero instead of inline clear.
+ 	(copy_node, make_tree_vec, build1): Likewise.
+ 	(get_identifier): Call strlen instead of inline count.
+ 	(maybe_get_identifier): Likewise.
+ 
+ Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
+ 	operations in 3rd annulled delay slot.
+ 	(*lshrqi3_const_set): Disallow c constraint for operand0.
+ 	(modhi3+1, modhi3+2): Set attribute type to multi.
+ 	* config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
+ 	!= operator.
+ 
+ Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h: Allow attribute unused on labels only when we are
+ 	version 2.93 or higher.  Not all versions of 2.92 have this feature.
+ 
+ 	* version.c: Bump minor number to 93.
+ 
+ Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.h: Declare output_function_epilogue.
+ 	* recog.h: Declare next_insn_tests_no_inequality.
+ 
+ Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (optimize_tail_recursion): New function, extracted from ...
+ 	(expand_return): Use optimize_tail_recursion.
+ 	* tree.h (optimize_tail_recursion): Declare.
+ 
+ 	* toplev.c (compile_file): Move call to output_func_start_profiler
+ 	to after the loop to emit deferred functions.
+ 
+ Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* system.h (abort): Supply more detailed information on how to
+ 	report an Internal Compiler Error.
+ 
+ Thu Jan  7 09:25:58 1999  Bruce Korb  (korb@datadesign.com)
+ 
+ 	* fixinc/fixincl.c (*): More decapitalization of variables
+ 	plus some explanatory comments.
+ 
+ 	* fixinc/Makefile.in fixinc/mkfixinc.sh:
+ 	When the fixincl program does not work for a certain system,
+ 	we substitute a shell script.  Added user commentary when
+ 	this happens.
+ 
+ Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
+ 
+ 	* calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
+ 	allocate memory that will live beyond this function.
+ 	(expand_call): Free it here.
+ 
+ Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
+ 	integer data not destined for fp regs.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): New.
+ 
+ Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
+ 			  Richard Henderson  <rth@cygnus.com>
+ 
+ 	Support for HyperSPARC and SPARClite86x:
+ 	* sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
+ 	(CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
+ 	(ASM_CPU32_DEFAULT_SPEC): Likewise.
+ 	(TARGET_CPU_DEFAULT): Likewise.
+ 	(enum processor_type): Likewise.
+ 	(CPP_ENDIAN_SPEC): Handle little endian data.
+ 	(LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
+ 	(ADJUST_COST): Call sparc_adjust_cost.
+ 	* sparc.c (sparc_override_options): Fix up for the new targets.
+ 	(supersparc_adjust_cost): Make static.
+ 	(hypersparc_adjust_cost): New.
+ 	(ultrasparc_adjust_cost): Make static.
+ 	(sparc_adjust_cost): New.
+ 	* sparc.md (attr cpu): Add hypersparc and sparclite86x.
+ 	(function_unit): Add hypersparc scheduling rules.
+ 
+ 	* configure.in (with_cpu handler): Recognize hypersparc.
+ 
+ Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c: Added space after negation operator.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 
+ Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
+ 
+ Thu Jan  7 00:29:25 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
+ 
+ 	* combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
+ 	when a test can't be performed due to limited width of
+ 	HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
+ 	Fix UDIV case for cases where the first operand has the highest bit
+ 	set.
+ 
+ Thu Jan  7 00:01:38 1999  Lutz Vieweg  <lkv@mania.robin.de>
+ 
+ 	* pa.h (reg_class): Add FPUPPER_REGS.
+ 	(REG_CLASS_NAMES): Similarly.
+ 	(REG_CLASS_CONTENTS): Similarly.
+ 	(REGNO_REG_CLASS): Handle FPUPPER_REGS.
+ 	(FP_REG_CLASS_P): Likewise.
+ 	(REG_CLASS_FROM_LETTER): Similarly.
+ 	(CLASS_MAX_NREGS): Similarly.
+ 
+ 1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
+ 
+ 	* fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
+ 	for a typedef of bool.  Make sure to have a copy of the file is
+ 	in place before we look to fix it.  Fix typo in variable name to
+ 	FILE.
+ 
+ Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
+ 	value_mode for the return mode.
+ 
+ Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* configure.in: New flag --with-dwarf2.  If set, enables DWARF-2
+ 	debugging as default.
+ 
+ 	* config/tm-dwarf2.h: New file.
+ 
+ Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.h (ASM_OUTPUT_LABELREF): Define.
+ 
+ 	* pa.h (DONT_RECORD_EQUIVALENCE): Kill.
+ 	* local-alloc.c (update_equiv_regs): Corresponding changes.
+ 	* tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
+ 
+ 	* calls.c (special_function_p): Push alloca test inside the large
+ 	conditional which excludes functions not at file scope or not
+ 	extern.
+ 
+ 	* calls.c (special_function_p): New function broken out of
+ 	expand_call.
+ 	(precompute_register_parameters): Likewise.
+ 	(store_one_arg): Likewise.
+ 	(store_unaligned_argumetns_into_pseudos): Likewise.
+ 	(save_fixed_argument_area): Likewise.
+ 	(restore_fixed_argument_area): Likewise.
+ 	(expand_call): Corresponding changes.
+ 
+ Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (addqi3): If the destination operand is
+ 	a hard register other than an extended precision register,
+ 	emit addqi3_noclobber.
+ 	(*addqi3_noclobber_reload): New pattern added so that reload
+ 	will recognize a store of a pseudo, equivalent to the sum
+ 	of the frame pointer and a constant, as an add insn.
+ 
+ 1999-01-06  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* fixinc/fixincl.c: Re-indent according to the GNU standards.
+ 	fixinc/server.c: Likewise.
+ 	fixinc/server.h: Likewise.
+ 
+ Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+ 
+ 	* config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
+ 	handling.
+ 	(const_sint32_operand): Likewise.
+ 
+ Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.h: In addition to checking _JBLEN, also check if `setjmp'
+ 	is a macro when deciding if we can use `jmp_buf' in prototypes.
+ 
+ Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net>
+ 
+ 	* configure.in (pc-msdosdjgpp): Set x_make to x-go32.
+ 	* configure: Rebuilt.
+ 	* i386/xm-go32.h: Define LIBSTDCXX.
+ 	* i386/x-go32: New.
+ 	* i386/go32.h (MD_EXEC_PREFIX): Define.
+ 	(FILE_NAME_ABSOLUTE_P): Define.
+ 	(LINK_COMMAND_SPEC): Define.
+ 
+ Wed Jan  6 02:23:36 1999  "Charles M. Hannum"  <root@ihack.net>
+ 
+ 	* expr.c (store_expr): If the lhs is a memory location pointed
+ 	to be a postincremented (or postdecremented) pointer, always
+ 	force the rhs to be evaluated into a pseudo.
+ 
+ Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
+ 
+ 	* real.c (mtherr): Print more reasonable warning messages.
+ 
+ Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
+ 
+ 	* cccp.c: Include prefix.h, don't prototype prefix.c functions.
+ 	(new_include_prefix): Constify char* parameters.
+ 
+ 	* cppfiles.c (read_name_map): Likewise.
+ 	(append_include_chain): Likewise.  Also, use a writable char* copy
+ 	of parameter `dir' which we then modify, rather than using the
+ 	parameter itself to store the new writable string.
+ 	(remap_filename): Constify some variables.  Also, use a writable
+ 	char* to store an allocated string which we will be modifying.
+ 
+ 	* cpplib.c: Include prefix.h, don't prototype prefix.c functions.
+ 	(cpp_start_read): Constify variable `str'.
+ 
+ 	* cpplib.h (append_include_chain): Constify a char* parameter.
+ 
+ 	* gcc.c Include prefix.h, don't prototype prefix.c functions.
+ 	(add_prefix, save_string): Constify char* parameters.
+ 	(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
+ 
+ 	* prefix.c: Include prefix.h.
+ 	(get_key_value, translate_name, save_string, update_path,
+ 	set_std_prefix): Constify various char* parameters and variables.
+ 	(save_string): Use xmalloc, not malloc.
+ 	(translate_name): Use a writable temporary variable to create and
+ 	modify a string before setting it to a const char*.
+ 
+ 	* prefix.h: New file to prototype functions exported from prefix.c.
+ 
+ Tue Jan  5 08:52:18 1999  Bruce Korb  (korb@datadesign.com)
+ 
+ 	* fixinc/fixincl.c (various): Added debug code so
+ 	Manfred can trace the processing.
+ 
+ 	* fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
+ 	struct utsname on Ultrix V4.[35].
+ 
+ 	* fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
+ 
+ Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (skip_if_group): Split out the logic that handles
+ 	directive recognition to its own function.  Don't use
+ 	parse markers; use a bare pointer into the buffer.  Use
+ 	copy/skip_rest_of_line instead of doing it by hand.  Remove
+ 	`return on any directive' mode which was never used, and take
+ 	only one argument.
+ 	(consider_directive_while_skipping): New function, subroutine
+ 	of skip_if_group.  Logic streamlined a bit.
+ 	(conditional_skip, do_elif, do_else): Call skip_if_group with
+ 	only one argument.
+ 
+ Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+ 
+ 	* cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
+ 	error.
+ 
+ Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* extend.texi (Bound member functions): Document.
+ 
+ Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
+ 	lang_to_string, type_to_string): Make return type const char*.
+ 	(print_symbol): Apply `const' keyword to a char*.
+ 	(print_file_desc): Cast structure member `crfd' to ulong when
+ 	comparing against one.
+ 
+ 	* mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
+ 	(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
+ 	(progname, input_name): Apply `const' keyword to a char*.
+ 	Don't redundantly include sys/stat.h.
+ 	(alloc_info): Apply `const' keyword to a char*.
+ 	(st_to_string, sc_to_string): Likewise.
+ 	(hash_string): Cast variable `hash_string' to a symint_t when
+ 	comparing against one.
+ 	(add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
+ 	Likewise cast it to long when comparing against one.
+ 	(add_local_symbol): Apply `const' keyword to a char*.
+ 	(add_ext_symbol): Likewise.
+ 	(add_unknown_tag): Likewise.
+ 	(add_procedure): Cast a printf-style field width to an int.
+ 	(add_file): Cast PAGE_USIZE to long when comparing against one.
+ 	(parse_begin): Cast a printf-style field width to an int.
+ 	(parse_bend): Likewise.
+ 	(parse_def): Likewise.
+ 	(parse_end): Likewise.
+ 	(mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
+ 	(parse_stabs_common): Fix format specifier.
+ 	(parse_input): Change type of variable `i' to Size_t.
+ 	(write_object): Fix arguments to match format specifiers.
+ 	Cast variable `num_write' to long when comparing against one.
+ 	(read_seek): Cast variable `sys_read' to symint_t when comparing
+ 	against one.  Fix arguments to match format specifiers.  Cast
+ 	variable `size' to long when comparing against one.
+ 	(copy_object): Cast result of `sizeof' to int when comparing
+ 	against one.  Fix arguments to match format specifiers.  Cast
+ 	variable `ifd' to long when comparing against a signed value.
+ 	Likewise, likewise.
+ 
+ Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (decl_attributes): Allow applying attribute `unused'
+ 	on a LABEL_DECL.
+ 
+ 	* c-parse.in (label): Parse attributes after a label, and call
+ 	`decl_attributes' to handle them.
+ 
+ 	* gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
+ 
+ 	* genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
+ 	generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
+ 
+ 	* invoke.texi: Note that labels can be marked `unused'.
+ 
+ Sun Jan  3 23:32:18 1999  Jeff Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump for snapshot.
+ 
+ Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
+ 	RTL for a compare/jump sequence.
+ 
+ Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
+ 	for a target with HAVE_cc0 defined.
+ 	(emit_cmp_and_jump_insns): New function.
+ 	* expr.h (emit_cmp_and_jump_insns): Prototype it.
+ 	* loop.c (check_dbra_loop): Use it to replace calls
+ 	to emit_cmp_insn and emit_jump_insn and to canonicalize
+ 	the comparison if necessary.
+ 	* unroll.c (unroll_loop): Likewise.
+ 
+ Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixincludes (sys/utsname.h): Provide forward declaration of
+ 	struct utsname on Ultrix V4.[35].
+ 
+ 	* mips.md (div_trap): Use local labels instead of dot-relative
+ 	branches.
+ 
+ Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (branch, negated branch): Handle (const_int 0) as first
+ 	source operand.
+ 	* pa.c (output_cbranch): Likewise.
+ 
+ Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_stack_info): Undo spurious part of last
+ 	change.
+ 
+ 1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
+ 
+ 	* extend.texi (__builtin_constant_p): Add missing @smallexample.
+ 
+ Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md (doubleword shifts): Fix dumb mistakes in previous change.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2000 gcc-4.1.0/gcc/ChangeLog-2000
*** gcc-4.0.2/gcc/ChangeLog-2000	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2000	Mon Mar  7 16:19:38 2005
***************
*** 0 ****
--- 1,32124 ----
+ 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* resource.c (mark_referenced_resources): Abort() before
+ 	attempting to mark a pseudo register.
+ 	(mark_set_resources): Likewise.
+ 
+ 2000-12-31  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
+ 	operands.
+ 
+ 2000-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
+ 	Initialize variables properly for DBX_LBRAC_FIRST.
+ 
+ 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
+ 
+ 2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (validate_arglist): New function, use it.
+ 
+ 2000-12-30  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Fix typos in error
+ 	message and comment.  Note location of testcase for an unhandled
+ 	situation.
+ 
+ 2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* defaults.h (BUILD_VA_LIST_TYPE): New definition.
+ 	* tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
+ 	is a copy, not an alias.
+ 
+ 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (calls_function_1, case CONSTRUCTOR): New case.
+ 
+ 	* alias.c (alias_sets_conflict_p): New function.
+ 	(mems_in_disjoint_alias_sets_p): Use it.
+ 	(readonly_fields_p): Moved from expr.c; check for record type.
+ 	(objects_must_conflict_p): New function.
+ 	* calls.c (expand_call): Use assign_temp as much as possible, use
+ 	readonly variant if assigned once, and don't set memory attributes.
+ 	(emit_library_call_value_1, store_one_arg): Likewise.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* stmt.c (expand_asm_operands, expand_return): Likewise.
+ 	* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
+ 	(store_field, save_noncopied_parts, expand_expr): Likewise.
+ 	(expand_expr_unaligned): Likewise.
+ 	(readonly_fields_p): Moved to alias.c.
+ 	(safe_from_p): Rework handling of SAVE_EXPR.
+ 	MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
+ 	* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
+ 	(assign_stack_for_temp): Use objects_must_confict_p.
+ 	Set all memory attributes from type, if specified.
+ 	(mark_temp_slot): Mark TYPE field.
+ 	* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
+ 	(objects_must_conflict_p): Likewise.
+ 
+ 	* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
+ 	(add_case_node): No need to copy nodes anymore.
+ 
+ 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (split_branches): Don't dereference re-computed
+ 	`beyond' before checking it's non-NULL.
+ 
+ 2000-12-29  Robert Lipe <robertl@sco.com>
+ 
+ 	Remove COFF support from i?86-pc-sco3.2v5.
+ 	* i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
+ 	(TARGET_ELF): Now always true.
+ 	(SUBTARGET_SWTICHES: )Remove -mcoff.
+ 
+ 	* i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+ 	MULTILIB_EXCEPTION): Nuke coff.
+ 	(CRTSTUFF_T_CFLAGS_S):  Deleted.
+ 	(TARGET_LIBGCC2_CFLAGS): Added.
+ 
+ 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
+ 	twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
+ 	modifies them.
+ 
+ 2000-12-29  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* ia64.c (ia64_expand_load_address): Accept additional scratch
+ 	register argument.  All callers & prototype changed.
+ 	Use scratch register when generating load_symptr insns.
+ 	* ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
+ 	when calling ia64_expand_load_address.
+ 	(movdi): Generate movdi_symbolic with additional operand.
+ 	(load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
+ 	(load_symptr): Likewise.  Use additional operand as a scratch
+ 	register instead of generating it here.
+ 
+ 	* basic-block.h: Add a comment.
+ 	* flow.c (PROP_POSTRELOAD): New macro.
+ 	(update_life_info): Add it to prop_flags.
+ 	(mark_set_1): If it is set, compute REG_N_SETS for the original
+ 	register number of a hard reg.
+ 
+ 	* emit-rtl.c (gen_raw_REG): New function.
+ 	(gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
+ 	gen_rtx_raw_REG.
+ 	* print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
+ 	* final.c (alter_subreg): Update it.
+ 	* regrename.c (do_replace): Likewise.  Use gen_raw_REG.
+ 	* rtl.def (REG): Update comment.
+ 	* rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
+ 	(gen_raw_REG): Declare.
+ 
+ 2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (get_set_constructor_bits): Use host_integerp and
+ 	tree_low_cst.
+ 
+ 	* local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
+ 
+ 	* toplev.c (main): Call xmalloc_set_program_name.
+ 	* gcc.c (main): Likewise.
+ 
+ 2000-12-29  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (arm_override_options): Fix typo in warning
+ 	message.
+ 
+ 2000-12-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_block_move): Initialize
+ 	src_align and dst_align in bits.  Do unaligned quadword loads
+ 	if possible for BWX too.
+ 	(alpha_expand_block_clear): Initialize align in bits.  Track
+ 	small leading offsets into a larger alignment.  Play games with
+ 	stq_u for large 4-byte aligned blocks.  Use load/mask/store
+ 	for appropreately aligned heads and tails.
+ 
+ 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* function.c (assign_parms): Convert arguments passed by
+ 	reference to the right mode.
+ 
+ 2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
+ 	on the condition of a FOR statement, so that it gets typechecked
+ 	and optimized.
+ 
+ 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Prevent crash in case of overflow in
+ 	array size.
+ 
+ 	* calls.c (emit_library_call_value_1): Add to call_fusage the
+ 	stack slot assigned to argument passed by reference.
+ 
+ 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* toplev.h (extern really_sorry): Remove extern declaration for
+         nonexistent function.
+ 
+ 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* varasm.c (initializer_constant_valid_p): Indicate subtraction of
+ 	pointers to the same string constant is absolute.
+ 
+ 2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (enum format_type): Add strfmon_format_type.
+ 	(decl_attributes): Handle format attributes strfmon and
+ 	__strfmon__.
+ 	(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
+ 	FMT_FLAG_EMPTY_PREC_OK): Define.
+ 	(format_char_info): Update comment for flag_chars.
+ 	(format_flag_spec): Add skip_next_char.
+ 	(format_kind_info): Add left_precision_char.
+ 	(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
+ 	format_types): Update for these new structure members and flags.
+ 	(time_char_table): Make const.
+ 	(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
+ 	monetary_char_table): New.
+ 	(format_types): Add details of strfmon formats.
+ 	(init_function_format_info): Create default attribute for strfmon.
+ 	(check_format_info_main): Check the new flags.  Handle
+ 	skip_next_char and left precision.
+ 	* toplev.c (documented_lang_options): Update description of
+ 	-Wformat.
+ 	* extend.texi: Document strfmon format attributes.  Document
+ 	attribute forms such as __printf__.  Clarify format_arg attribute
+ 	documentation.
+ 	* invoke.texi (-Wformat): Update for strfmon formats.
+ 
+ 2000-12-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* expmed.c (store_bit_field): Fix last patch.
+ 
+ 2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
+ 	the trailing `__'.
+ 
+ 2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
+ 
+ 	* expmed.c (store_bit_field): Correctly compute smallest mode that
+ 	is sufficient to contain all bits we are storing.
+ 
+ 2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (build_function_call_expr): New function.  Use it
+ 	everywhere in lieu of manually constructing a CALL_EXPR.
+ 
+ 2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* calls.c (store_one_arg):  If parm is passed both in stack and in
+ 	register and offset is greater than reg_parm_stack_space, split
+ 	the offset and call emit_push_insn().
+ 
+ 2000-12-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* ifcvt.c (noce_emit_store_flag): Handle jump insns that are
+ 	PARALLEL.
+ 
+ 2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
+ 	flag.
+ 
+ 2000-12-27  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.in: fix for ancient Bourne shell
+ 	* fixinc/Makefile.BEOS: obsolete
+ 	* fixinc/Makefile.DOS: obsolete
+ 	* fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
+ 
+ 2000-12-27  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* sched-deps.c (get_condition, conditions_mutex_p): New functions.
+ 	(add_dependence): Use them to avoid adding unnecessary dependencies
+ 	between conditionally executed insns.
+ 	(sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
+ 	dependency lists if current insn is a COND_EXEC.
+ 
+ 2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (define_attr "length"): Correct
+ 	calculation.
+ 
+ 2000-12-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Fix a comment typo.
+ 	(get_shift_alg): Fix a typo in the assembly code for 12-bit
+ 	ASHIFTRT in HImode.  Do not output extra whitespace after one line
+ 	of assembly code.  Output a tab after an opcode instead of a
+ 	space.
+ 	(emit_a_shift): Output a tab after an opcode instead of a space.
+ 
+ 2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
+ 	out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
+ 	%4 in output templates, do not modify operands passed by the caller.
+ 
+ 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
+ 	Don't define.
+ 	* builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
+ 	BUILT_IN_LLABS and BUILT_IN_IMAXABS.
+ 	* c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
+ 	builtin labs, llabs and imaxabs.
+ 	(expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
+ 	and BUILT_IN_IMAXABS.
+ 
+ 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (builtin_function_2): New function.
+ 	(c_common_nodes_and_builtins): Use it to define each pair (foo,
+ 	__builtin_foo) of builtins in one place.
+ 
+ 2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gccbug.in: Add libgcj and preprocessor categories.
+ 
+ 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/ia64/ia64.c (itanium_reorder): Only schedule stops in
+ 	the final scheduling pass.
+ 
+ 2000-12-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h (struct machine_function): Add new field
+ 	'lr_save_eliminated'.
+ 	* config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
+ 	link register if its save has been eliminated.
+ 	(output_arm_prologue): Mention if the save of the link register
+ 	has been eliminated.
+ 	(output_arm_epilogue): Rename 'live_regs_mask' to
+ 	'saved_regs_mask'.
+ 	Test 'saved_regs_mask' for the link register, not regs_ever_live.
+ 	(arm_expand_prologue): If the link register has not been saved set
+ 	lr_save_eliminated and emit a USE to prevent later passes from
+ 	scavenging it.
+ 
+ 	* dwarf2out_frame_debug_expr: Allow the (scratch) frame
+ 	pointer to be initialized from the stack pointer plus a
+ 	constant.
+ 
+ 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* regrename.c (struct du_chain): New field "earlyclobber".
+ 	(enum scan_actions): Remove unused entry "note_reference".
+ 	(enum scan_actions_name): Likewise.
+ 	(note_sets, clear_dead_regs, merge_overlapping_regs): New static
+ 	functions.
+ 	(regrename_optimize): Use them to compute unavailable regs; get
+ 	rid of the more simpleminded code we used to have here.
+ 	Use a tick array to ensure registers are allocated in a more
+ 	round-robin way.  Disable code that only optimizes registers
+ 	that were seen more than once.
+ 	(referenced_regs): Remove variable.
+ 	(scan_rtx_reg): New arg "earlyclobber".  All callers changed.
+ 	Store its value in newly generated du_chain structures.
+ 	Add new du_chains at the end, not the start, of the list.
+ 	Don't handle the "note_reference" action.
+ 	(scan_rtx): New arg "earlyclobber".  All callers changed.
+ 	(build_def_use): Lose code to keep track of referenced regs.
+ 
+ 2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
+ 
+ 	* fp-bit.h (usi_to_float): Add prototype.
+ 
+ 	* i386.c (ix86_expand_builtin): Delete unused label.
+ 
+ 	* dwarf2out.c (file_info_cmp): Prototype.
+ 	(dwarf2out_line): Hide variable `old_in_use'.
+ 
+ 	* objc-act.c (objc_fatal): Delete.
+ 
+ 	* sched-vis.c (visualize_stall_cycles): Remove unused variable.
+ 
+ 	* system.h (getopt): Fix error in last change.
+ 
+ 	* varasm.c (assemble_trampoline_template): Constify.
+ 
+ 2000-12-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* collect2.c (main): Use auto_demangling.
+ 
+ 2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* function.c (assign_parms): Update parm's DECL_INCOMING_RTL
+ 	when optimizing PARALLEL to REG.
+ 
+ 2000-12-22  Graham Stott  <grahams@redhat.com>
+ 
+ 	* reload.c (update_auto_inc_notes): New, broken out from ...
+ 	(find_reloads_address_1): ... use here, also correct possible
+ 	use of uninitialized reloadnum.
+ 
+ 2000-12-21  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd.h (LIB_SPEC): remove -kthread option.
+ 
+ 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* resource.c (mark_set_resources): Use MARK_SRC_DEST for
+ 	PRE_MODIFY and POST_MODIFY cases.
+ 
+ 	* rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
+ 
+ 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* md.texi (Looping Patterns): New node.
+ 
+ 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi, cpp.texi: Update last-updated dates.
+ 
+ 2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* varasm.c (output_addressed_constants): Use language specific
+ 	expander on unknown nodes.
+ 
+ 2000-12-21  Graham Stott  <grahams@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
+ 
+ 2000-12-21  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* Makefile.in (out_object_file): Depend on sched-int.h.
+ 	* rtl.h (single_set_1): New macro.
+ 	(single_set_2): Renamed from single_set_1 and extra argument added.
+ 	* rtlanal.c (single_set_2): Likewise.
+ 
+ 	* config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
+ 	ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
+ 	ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
+ 	Declare.
+ 	* config/ia64/ia64.c: Include "sched-int.h".
+ 	(hard_regno_rename_ok): Also disallow renaming from the various
+ 	reg_save_* regs.
+ 	(ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
+ 	ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
+ 	safe_group_barrier_needed_p, fixup_errata): New static functions.
+ 	(rtx_needs_barrier):  Handle bundle selector and cycle display
+ 	insns.
+ 	(emit_insn_group_barriers): Accept additional FILE * arg.  All
+ 	callers changed.  Rework to only generate stop bits between
+ 	basic blocks that haven't been inserted by scheduling.
+ 	(struct bundle, struct ia64_packet): New structures.
+ 	(NR_BUNDLES, NR_PACKETS): New macros.
+ 	(bundle, packets, type_names): New static arrays.
+ 	(ia64_final_schedule): New variable.
+ 	(ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
+ 	gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
+ 	cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
+ 	find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
+ 	New static functions.
+ 	(ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
+ 	ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
+ 	functions.
+ 	(ia64_reorg): Perform a final scheduling pass.
+ 	* config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
+ 	(MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
+ 	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
+ 	MD_SCHED_VARIABLE_ISSUE): Define macros.
+ 	(ia64_final_schedule): Declare variable.
+ 	* config/ia64/ia64.md (attr itanium_class): Add some more classes.
+ 	(attr type): Account for them.
+ 	(itanium_requires_unit0): New attribute.
+ 	(function units): Rewrite.
+ 	(some splitters): Don't create scheduling barriers here.
+ 	(gr_spill_internal, gr_restore_internal): Don't predicate the
+ 	pseudo-op.
+ 	(nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
+ 	bundle_selector): New patterns.
+ 	(insn_group_barrier): Now has an operand.
+ 
+ 2000-12-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* dwarf2out.c (simple_decl_align_in_bits): new
+ 	(field_byte_offset): Try both the type align and the
+ 	decl align, use whichever works, preferring the type align.
+ 
+ 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gccbug.in: Fix typo.
+ 
+ 2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* Makefile.in (gcc_gxx_target_include_dir): Use instead of
+ 	build_tooldir and libstdcxx_incdir.
+ 
+ 2000-12-20  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* haifa-sched.c (schedule_block): Provide empty source statement
+ 	if not MD_SCHED_REORDER2.
+ 
+ 2000-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (REG_NON_LOCAL_GOTO): New.
+ 	* rtl.c (reg_note_name): Update.
+ 	* stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
+ 	* builtins.c (expand_builtin_longjmp): Likewise.
+ 	* flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
+ 	not emit an edge.
+ 
+ 2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
+ 	Do not output undefined opcodes where source or destination register
+ 	overlaps with modified pointer register.  Handle (X + d) addresses.
+ 	* config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
+ 	in alternatives with memory operand.
+ 
+ 2000-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (build_asm_stmt): New, broken out from ...
+ 	(c_expand_asm_operands): ... here.  Just do rtl expansion.
+ 	(c_expand_return): Return the new stmt node.
+ 	(c_start_case, do_case): Likewise.
+ 	* c-common.c (c_expand_expr_stmt): Likewise.
+ 	* c-common.h: Update declarations.
+ 	* c-tree.h: Likewise.
+ 	* c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
+ 	* c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
+ 	(nested_function, notype_nested_function): Likewise.
+ 	(compstmt): Return the compound statement not the binding level.
+ 	(lineno_labeled_stmt): Simplify.
+ 	(lineno_stmt, lineno_label): Set STMT_LINENO.
+ 	(stmt, label): Return the new stmt node.
+ 
+ 2000-12-20  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* Makefile.in (OBJS): Add sched-ebb.o.
+ 	(sched-ebb.o): New rule.
+ 	(sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
+ 	(haifa-sched.o): Depend on insn-flags.h.
+ 	* haifa-sched.c: Include "insn-flags.h".
+ 	(priority): Don't access BLOCK_NUM, use the new contributes_to_priority
+ 	callback.
+ 	* rtl.h (schedule_ebbs): Declare.
+ 	* sched-int.h (struct sched_info): Add new members
+ 	contributes_to_priority and compute_jump_reg_dependencies.
+ 	* sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
+ 	New functions.
+ 	(region_sched_info): Add them.
+ 	* sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
+ 	* sched-ebb.c: New file.
+ 	* sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
+ 
+ 	* flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
+ 	handle all relational operators.
+ 
+ 2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
+ 	* tm.texi: Document it.
+ 
+ 2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
+ 	instead of gcc_tooldir.
+ 
+ 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* system.h (getopt): Update prototype to match include/getopt.h.
+ 
+ 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	From Jeff Law.
+ 	* pa.c (basereg_operand): Simplify.
+ 
+ 2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* haifa-sched.c (rm_line_notes): Arguments are now head and tail,
+ 	not block number.  All callers and prototype changed.
+ 	(set_priorities): Likewise.
+ 	(save_line_notes): Add head and tail arguments; all callers and
+ 	prototype changed.
+ 	(restore_line_notes): Likewise.  Don't crash on insns generated
+ 	during scheduling.
+ 	(schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
+ 	Call MD_SCHED_INIT with additional argument.
+ 	When starting a new cycle, emit cycle_display insns if available.
+ 	Don't stop scheduling when encountering a JUMP_INSN, but add another
+ 	call to schedule_more_p in the inner loop.
+ 	Call MD_SCHED_REORDER2 after scheduling an insn.
+ 	Call MD_SCHED_FINISH once all insns are scheduled.
+ 	(sched_init): Compensate for the fact that get_block_head_tail
+ 	doesn't include leading notes.
+ 	* sched-deps.c (free_deps): Free vectors here.
+ 	* sched-rgn.c (compute_block_backward_dependencies): Not here.
+ 	(last_was_jump): New static variable.
+ 	(schedule_more_p): Test it.
+ 	(init_ready_list): Initialize it.
+ 	(can_schedule_ready_p): Set it if we have a JUMP_INSN.
+ 
+ 	* config/i386/i386.h (MD_SCHED_INIT): Add new arg.
+ 	* config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
+ 	* config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
+ 
+ 	* md.texi (cycle_display): Document.
+ 	* tm.texi (MD_SCHED_INIT): Document new arg.
+ 	(MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
+ 
+ 	* flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
+ 	to use different representation.  All callers changed.
+ 	(and_reg_cond): Renamed from nand_reg_cond; caller changed.
+ 	(init_propagate_block_info): Don't test flags to determine
+ 	whether to compute conditional lifetimes.
+ 	Adjust code for new representation of conditional lifetimes.
+ 	(mark_regno_cond_dead): Similar adjustment.
+ 	(free_reg_cond_life_info): Similar adjustment.
+ 	(elim_reg_cond): New function.
+ 	(flush_reg_cond_1): Use it.
+ 
+ 2000-12-19  Catherine Moore  <clm@redhat.com>
+ 
+ 	* reload1.c (reload_combine): Take multi-hard-regs into account
+ 	when processing CALL_INSN_FUNCTION_USAGE.
+ 
+ 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi (-print-search-dirs): Make references to cpp refer
+ 	to cpp0 instead.
+ 
+ 2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Treat truth values as
+ 	non-negative.
+ 
+ Tue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload.c (push_reload): When using a dying register for the reload
+ 	register in an in-out reload, use outmode if wider than inmode.
+ 
+ 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config/d30v/d30v.h (EXIT_BODY): Update comment.
+ 
+ 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
+ 	* tm.texi (EXIT_BODY): Update documentation.
+ 	* config/freebsd.h, config/netware.h, config/arm/coff.h,
+ 	config/arm/conix-elf.h, config/arm/unknown-elf.h,
+ 	config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
+ 	sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
+ 	commented out) and associated comments.
+ 
+ 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (STD_C9L, ADJ_STD): Define.
+ 	(printf_length_specs, scanf_length_specs): Mark "ll" as standard
+ 	STD_C9L.
+ 	(T99_LL): Rename to T9L_LL.
+ 	(T99_ULL): Rename to T9L_ULL.
+ 	(print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
+ 	instead of T99_LL and T99_ULL.
+ 	(check_format_info_main): Use ADJ_STD on all format standard
+ 	versions being compared.
+ 	* c-common.h: Declare warn_long_long.
+ 	* c-tree.h: Don't declare warn_long_long.
+ 
+ 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* COPYING: Update to current
+ 	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
+ 	to 19yy as example year in copyright notice).
+ 
+ 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (cb_file_change): Treat in_system_header as strictly
+ 	boolean (0 or 1).
+ 
+ 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c: Update print.lineno with -P.
+ 
+ 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c: s/change_file/file_change.
+ 	* cpplib.h: Similarly.
+ 	* cppmain.c: Similarly.
+ 	* fix-header.c: Similarly.
+ 	* cppfiles.c (stack_include_file): Pass the buffer location and
+ 	size to cpp_push_buffer.  Generate the file_change callback,
+ 	so that sysp is already set.
+ 	* cpphash.h: Add _cpp_do_file_change.
+ 	* cpplib.c (do_line): Set buffer->sysp directly. Generate the
+ 	file_change callback after setting sysp.
+ 	(_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
+ 	here.
+ 	(cpp_push_buffer): Don't generate a callback.  Clear sysp.
+ 	(cpp_pop_buffer): Clean up logic.
+ 
+ 2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* configure.in (gcc_gxx_include_dir): Simplify.
+ 	(libstdcxx_incdir): Export.
+ 	* configure: Regenerate.
+ 	* Makefile.in (PREPROCESSOR_DEFINES): Add in
+ 	GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
+ 	(libstdcxx_incdir): Add.
+ 	* cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
+ 
+ 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (lex_lineno): Remove.
+ 	(init_c_lex, c_lex): Remove lex_lineno.
+ 	(cb_change_file): Update lineno correctly, both before calling
+ 	push_srcloc and before leaving the function.
+ 	(cb_def_pragma): Set lineno before outputting diagnostics.
+ 
+ Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
+ 	Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
+ 	Use print_node_brief to print bounds.
+ 
+ 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.h (struct cpp_reader): Remove references to string_pool
+ 	and temp_string_pool.
+ 	* cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
+ 	ident_pool in place.
+ 	* cpplex.c (parse_number, unescaped_terminator_p, parse_string,
+ 	save_comment, cpp_token_as_text): Similarly.
+ 	* cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
+ 	* cppmacro.c (make_number_token, builtin_macro, lock_pools,
+ 	unlock_pools, stringify_arg, paste_tokens): Similarly.
+ 
+ Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
+ 	(loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
+ 	(loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
+ 
+ 2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* Makefile.in (check-po): Use $(MAKE).
+ 	(risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
+ 
+ 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (check_multiline_token): New function.
+ 	(scan_buffer): Use it.
+ 	(cb_change_file): Restructure to avoid warning.
+ 	* cpperror.c (print_location): Initialize col.
+ 
+ 2000-12-14  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* protoize.c (main): Correctly set locale categories.
+ 	* gcc.c (main): Likewise.
+ 	* cppmain.c (general_init): Likewise.
+ 	* toplev.c (main): Likewise.
+ 	* gcov.c (main): Likewise.
+ 	* collect2.c (main): Likewise.
+ 
+ 2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Create a
+ 	cstring_endlink, use it.  Rename int_ftype_string_string to
+ 	int_ftype_cstring_cstring, string_ftype_string_int to
+ 	string_ftype_cstring_int, and string_ftype_string_string to
+ 	string_ftype_cstring_cstring.  Prefer sizetype_endlink and
+ 	int_endlink to manually recreating them.  Fix the prototype
+ 	set for __builtin_strspn/__builtin_strcspn.
+ 
+ 2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (out_set_stack_ptr): Update comment.
+ 	(print_operand): Add support for %~ and %o.
+ 
+ 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
+ 
+ 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
+ 	* cpperror.c (print_containing_files): Get right line number.
+ 	(print_location): Output column of 1 if 0.
+ 	* cppfiles.c (stack_include_file): cpp_push_buffer handles
+ 	the callback.
+ 	* cpphash.h (_cpp_do_file_change): No longer external.
+ 	* cpplib.c (do_file_change): Now local to cpplib.c.
+ 	(do_line): Fake a buffer stack for preprocessed files.
+ 	(cpp_push_buffer): Create a file_change callback.  Handle faked
+ 	buffers.
+ 	(cpp_pop_buffer): Similarly.
+ 	* cpplib.h: BUF_FAKE: New buffer type.
+ 	* cppmain.c: Update to handle correct file renaming where a
+ 	#line is the first line of the main file, and produce only
+ 	the renamed file, not the original file, as output.
+ 
+ 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md: Remove redundant @s from output patterns.
+ 
+ 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
+ 
+ 	* config/c4x/c4x.c (c4x_init_pragma): New function.
+ 	(c_lex_func): New variable.
+ 	(c4x_parse_pragma): Use c_lex_func.
+ 
+ 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
+ 	to c4x_init_builtins.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
+ 
+ 	* config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
+ 	(c4x_output_ascii):  Fix.
+ 
+ 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
+ 	(c4x_expand_builtin): Likewise.
+ 
+ 	* config/c4x/c4x.c (c4x_init_builtins): New function.
+ 	(c4x_expand_builtin): Likewise.
+ 
+ 	* config/c4x/c4x.md (floatunsqihf2): New pattern.
+ 	(*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
+ 	(fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
+ 	(*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
+ 	(*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
+ 
+ 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
+ 	* libgcc2.c (__absvsi2): Use Wtype and DWtype.
+ 	(__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
+ 	(__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
+ 
+ 2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
+ 	statement in do/while(0).
+ 
+ Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
+ 	lshrhi3_cmpno): Remove redundant '@' from the template.
+ 
+ 	* i386.md (cmpstrsi_1): Fix type of the compare.
+ 
+ 	* genattrtab.c (attr_rtx_cost): New function.
+ 	(simplify_test_exp): Avoid overactive inlining; use temporary
+ 	obstacks for tests.
+ 
+ Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.c (finish_abort): Deleted.
+ 	(fatal): Add code from finish_abort.
+ 	(error_recursion, fancy_abort): Call fatal, not finish_abort.
+ 	(trim_filename): Remove leading "../".
+ 	* diagnostic.h (finish_abort): Deleted.
+ 	* toplev.c (crash_signal): Call fatal, not finish_abort.
+ 
+ 	* stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
+ 	as if size were variable.
+ 
+ 	* expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
+ 
+ 2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tradcpp.c: T_WARNING: New.
+ 	(do_warning): New function.
+ 	(finclude): Skip past the newline and increase the line number
+ 	before calling output_line_command.
+ 	(do_line): Skip the new line after output_line_command.  Don't
+ 	pre-decrement the line number.
+ 
+ 2000-12-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
+ 	_GLOBAL_OFFSET_TABLE_ when using Intel syntax.
+ 
+ 2000-12-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (cpp_options): Pass -fno-operator-names.
+ 	* cpplib.h (struct cpp_options): Add operator_names.
+ 	* cppinit.c (cpp_create_reader): Initialize it.
+ 	(initialize_builtins): If -fno-operator-names, don't add
+ 	C++ alternate operator names.
+ 	(COMMAND_LINE_OPTIONS): Add -fno-operator-names.
+ 	(cpp_handle_option): Clear operator_names.
+ 
+ 2000-12-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* jump.c (jump_optimize_1): Don't delete the line note after the
+ 	prologue even if it seems redundant.
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
+ 	on all insns used to adjust the stack.
+ 
+ Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
+ 	hardreg<->reg moves.
+ 
+ Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genrecog.c (add_to_sequence): Remove special case for
+ 	const_int_operand.
+ 	(maybe_both_true): Return 1 when falling out of sequence when
+ 	trying to find common position in the pattern.
+ 
+ Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Copy mode too.
+ 
+ Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (notice_stack_pointer_modification_1): Cleanup.
+ 
+ 2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* function.c (adjust_trampoline_addr): New function.
+ 	(trampoline_address): Call it instead of round_trampoline_addr().
+ 	* tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
+ 
+ 2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* cppfiles.c (hack_vms_include_specification): Delete function
+ 	(not used since 1998).
+ 
+ Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
+ 
+ 2000-12-14  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* alias.c (get_alias_set): Call record_component_aliases for
+ 	COMPLEX_TYPE.
+ 	(record_component_aliases): Handle COMPLEX_TYPE.
+ 
+ 2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/gnu-regex.c: Disable NLS.
+ 
+ 2000-12-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
+ 	comparison operands when that would create non-canonical rtl.
+ 
+ 	* config/i386/i386.md (umulsi3_highpart): Remove * from name.
+ 	(smulsi3_highpart): Likewise.
+ 
+ 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc.c (cpp_options): Add -remap.
+ 
+ 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc.c (cpp_options): Update to use '&'.
+ 	(struct switchstr): Change type of validated to save space.
+ 	New member 'ordering'.
+ 	(handle_braces, validate_switches): Update to handle '&'.
+ 
+ 2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
+ 	found in a header.
+ 	* fixinc/fixincl.x: regenerated.
+ 
+ 2000-12-13  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config.gcc (cygwin, win32, mingw32): Use float-i386.h.
+ 
+ 2000-12-13  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.c (handle_braces): Handle %{<S*} spec correctly.
+ 
+ 2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* function.c (assign_parms): Optimize incoming PARALLELs into
+ 	REGs if possible.
+ 
+ 2000-12-13  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.in(*): substantial rewrite to accommodate systems
+ 	that cannot handle bi-directional pipes, viz. BeOS and DOS.
+ 	* fixinc/fixlib.h(IGNORE_ARG): new macro
+ 	(STATIC): define for all of fixinc to use
+ 	* fixinc/fixfixes.c(*): eliminate unused arg warnings
+ 	* fixinc/fixtests.c(*): ditto
+ 	* fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
+ 	* fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
+ 	warning.  Also, eliminate the ``#ifdef emacs'' stuff.
+ 	(re_syntax_options): make global as it is declared so.
+ 	* fixinc/mkfixinc.sh: process the argument list more consistently
+ 	(beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
+ 	* fixinc/procopen.c(globals): include "fixlib.h" for std defs
+ 	* fixinc/server.c(globals): ditto
+ 	* fixinc/server.h(defines): ditto
+ 
+ 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tradcpp.c (special_symbol): Improve test for definedness,
+ 	though it is still not perfect.
+ 	(do_define): Don't define illegal macro names.
+ 
+ 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
+ 	if changing into .bss section.
+ 	* config/mips/elf64.h: same.
+ 	* config/mips/iris6.h: same.
+ 	* config/mips/netbsd.h: same.
+ 	* config/mips/openbsd.h: same.
+ 
+ 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (read_name_map): Return null if open () fails.
+ 	(remap_filename): Simplify logic.  Add ICE if it doesn't work
+ 	as expected. Perform secondary lookup attempt on base filename
+ 	only.
+ 
+ Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (notice_stack_pointer_modification_1): Notice midifications
+ 	using PRE_MODIFY and POST_MODIFY.
+ 
+ Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genoutput.c (process_template): Add sanity checking for '@' templates.
+ 
+ 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* simplify-rtx.c (cselib_finish): Free reg_values and used_regs
+ 	varrays.
+ 
+ 2000-12-12  Mike Stump  <mrs@wrs.com>
+ 
+ 	* Makefile.in (distclean): Remove safe-ctype.c as well.
+ 
+ 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
+ 
+ 	* tradcpp.c (do_error): Cast difference of pointers to int
+ 	for error message.
+ 
+ 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
+ 	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
+ 
+ 2000-12-12  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
+ 
+ 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in: Simplify language enabling/disabling code.
+ 	* configure: Rebuilt.
+ 	* ch/config-lang.in (target_libs): Set.
+ 	(build_by_default): Set to no.
+ 	* cp/config-lang.in (target_libs): Set.
+ 	* f/config-lang.in (target_libs): Set.
+ 	* java/config-lang.in (target_libs): Set.
+ 	* objc/config-lang.in (target_libs): Set.
+ 
+ 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tradcpp.c (enum node_type): Add T_ERROR.
+ 	(do_error): New function.
+ 	(directive_table): Add #error handler.
+ 
+ 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
+ 	for powerpc*-*-*.
+ 	* configure: Regenerated.
+ 	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 	* config/rs6000/rs6000.c (rs6000_unique_section): Use
+ 	STRIP_NAME_ENCODING.
+ 
+ Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (cmpib_comparison_operator): Remove GEU and LTU.
+ 	* pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
+ 	changes.
+ 
+ 2000-12-11  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.tpl: initialize all fields for warnings
+ 	* fixinc/fixincl.x: regenerate
+ 
+ 2000-12-11  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcpp.h: For tradcpp, NUL is not whitespace.
+ 
+ 2000-12-11  Neil Booth  <neilb@earthling.net>
+ 
+ 	* fix-header.c (read_scan_file): Macro expansion is not a file buffer.
+ 
+ 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (compare_condition, compare_sign_p): New functions.
+ 	(compare_diff_p, compare_eq_p): Call compare_condition.
+ 	(out_tsthi, out_tstsi): Call compare_sign_p.
+ 	(avr_progmem_p): Check for error_mark_node.
+ 
+ 2000-12-11  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpperror.c (print_location): New function.
+ 	(print_containing_files): Simplify.
+ 	(_cpp_begin_message): Simplify and use print_location.
+ 	* cppfiles.c (stack_include_file): Update.
+ 	(_cpp_pop_file_buffer): Update.
+ 	* cpphash.h (struct cpp_buffer): New members
+ 	include_stack_listed and type.
+ 	* cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
+ 	(run_directive): Take buffer type.  cpp_push_buffer cannot fail.
+ 	(_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
+ 	handle_assertion): Update.
+ 	(cpp_push_buffer): Take a buffer type and file name.
+ 	(cpp_pop_buffer): Update.  Clear include_stack_listed.
+ 	* cpplib.h (input_stack_listing_current): Remove.
+ 	(enum cpp_buffer_type): New.
+ 	(cpp_push_buffer): New prototype.
+ 	* cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2000-12-10  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* install.texi (i*86-*-sco3.2v5*): Remove information duplicated
+ 	in html version.
+ 
+ 2000-12-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (find_operand): Handle 'V' format code.
+ 	(find_matching_operand): New.
+ 	(validate_pattern): Accept '=' for an in-out operand if there
+ 	is another operand with a matching constraint.
+ 
+ 	* config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
+ 	for op1 to op0.
+ 
+ 2000-12-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
+ 
+ 2000-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
+ 	STRICT_LOW_PART as SET_DEST have in-out constraints.
+ 
+ 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_function_format): Don't suggest adding format
+ 	attributes to functions with no parameter to which to add them.
+ 
+ 2000-12-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Mark the generated
+ 	insn not the set as being DWARF2_FRAME_RELATED_P.
+ 
+ 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* Makefile.in: use $(build_exeext) for all build
+ 	system executable targets.
+ 
+ 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* install.texi: remove i[345]86-*-winnt3.5 section.
+ 	* configur.bat: removed.
+ 	* config/msdos: directory removed.
+ 
+ 2000-12-09  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
+ 	* cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
+ 	* cpplex.c (parse_identifier): Improve diagnostic.
+ 	(_cpp_lex_token): Return unconditionally at the end of a directive.
+ 	* cpplib.c (read_flag): Verify legality of each flag.
+ 	(end_directive): Resotre pfile->skipping before skip_rest_of_line.
+ 	(do_line): Use the new read_flag.
+ 	* cppmacro.c (struct cpp_macro, parse_arg, replace_args,
+ 	check_macro_redefinition, parse_params): Rename var_args to
+ 	variadic.
+ 
+ 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* .cvsignore: Add info files.
+ 
+ 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* config/winnt: Remove obsolete directory.
+ 	* install.texi (Configurations): Remove obsolete documentation for
+ 	Windows NT.
+ 
+ 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Don't define INSTALL_INFO.
+ 	* configure: Regenerate.
+ 	* Makefile.in (INSTALL_INFO): Remove.
+ 	(info): Depend on info files in source directory.
+ 	(cpp.info, gcc.info, c-tree.info): Build info files in source
+ 	directory.
+ 	(distclean): Don't remove info files.
+ 	(maintainer-clean): Remove info files from source directory.
+ 	(install-normal): Depend on install-info.
+ 	(install-info): Install info files from source directory, if they
+ 	exist.
+ 	* texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
+ 
+ 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
+ 	before taking its NOTE_LINE_NUMBER.
+ 
+ 2000-12-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (load_indirect_jump): Add pool ranges.
+ 
+ 	* extend.texi: Document ARM "interrupt" function attribute.
+ 	Mention that the ARM also support the "naked" function
+ 	attribute.
+ 
+ 	* config/arm/arm-protos.h (arm_current_func_type): Add
+ 	prototype.
+ 
+ 	* config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
+ 	(struct machine_function): Add 'func_type' field.
+ 	Define bit values for 'func_type' field.
+ 	(ARM_FUNC_TYPE): New macro.
+ 	(IS_INTERRUPT): New macro.
+ 	(IS_VOLATILE): New macro.
+ 	(IS_NAKED): New macro.
+ 	(IS_NESTED): New macro.
+ 	(ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
+ 
+ 	* config/arm/arm.c (isr_attribute_args): New Structure.  A
+ 	list of "interrupt" function attribute modifiers.
+ 	(arm_isr_value): New Function: Returns the type of the current
+ 	interrupt function.
+ 	(arm_compute_func_type): New Function: Computes the type of
+ 	the current function.
+ 	(arm_current_func_type): New Function: Returns the type of the
+ 	current function.
+ 	(use_return_insn): Use arm_current_func_type.
+ 	(arm_valid_type_attribute_p): Accept "interrupt" function
+ 	attribute.
+ 	(arm_comp_type_attributes): Check "interrupt" attributes.
+ 	(arm_valid_machine_decl): Accept "interrupt" function
+ 	attribute.
+ 	(arm_function_ok_for_sibcall): Do not allow interrupt
+ 	functions to use sibcalls.
+ 	(arm_naked_function_p): Delete.
+ 	(print_multi_reg): Remove redundant parameter 'hat'.
+ 	(arm_compute_save_reg_mask): New Function: Compute a bit mask
+ 	of registers saved during the current function's prologue.
+ 	(output_arm_return_instruction): Use arm_current_func_type.
+ 	Generate return instruction when LR is not poppsed off the
+ 	stack.
+ 	(arm_volatile_func): Delete.
+ 	(output_arm_prologue): Use arm_current_func_type and
+ 	arm_compute_save_reg_mask.
+ 	Note presernce of interrupt functions.
+ 	(arm_output_epilogue): Use arm_current_func_type and
+ 	arm_compute_save_reg_mask.
+ 	(arm_expand_prologue): Use arm_current_func_type and
+ 	arm_compute_save_reg_mask.
+ 	(arm_init_machine_status): Initialize func_type field, if
+ 	necessary.
+ 	(thumb_expand_prologue): Use arm_current_func_type.
+ 	(output_thumb_prologue): Use arm_current_func_type.
+ 
+ 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
+ 
+ 	* tradcpp.c (do_include): Make pointer differences 64-bit clean.
+ 
+ Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* fp-bit.c (_fpmul_parts): Use USItype variables as inputs
+ 	for multiplies.
+ 
+ 2000-12-07  Mike Stump  <mrs@wrs.com>
+ 
+ 	* Makefile.in (distclean): Remove alloca.c hashtab.c.
+ 
+ 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* Makefile.in (HOST_RTL): Add safe-ctype.o.
+ 	(safe-ctype.o): New rule.
+ 	* system.h: Include safe-ctype.h, not ctype.h.  No need to
+ 	wrap ctype macros.
+ 
+ 	* cpphash.h: Zap IStable and related macros.  Define is_* in
+ 	terms of safe-ctype.h macros.
+ 	* cppinit.c: Delete the IStable and all related code.
+ 
+ 	* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
+ 	is_space arrays.  Delete initialize_char_syntax.  Change all
+ 	references to the above arrays to use macros instead.
+ 	* tradcpp.h: Define is_idchar, is_idstart, is_space, and
+ 	is_nvspace in terms of safe_ctype.h's macros.
+ 	* tradcif.y: is_idchar, is_idstart are macros not arrays.
+ 
+ 	* config/i370/i370.c, config/winnt/dirent.c,
+ 	config/winnt/fixinc-nt.c, config/winnt/ld.c:
+ 	Use uppercase ctype macros.  If we included ctype.h,
+ 	include safe-ctype.h instead.
+ 
+ 	* fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
+ 	ISLOWER(c) before calling TOUPPER(c).
+ 	* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
+ 	* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
+ 	wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
+ 
+ 2000-12-07  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): preserve previous alignments when
+ 	rebuilding array types.
+ 
+ 2000-12-07  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppfiles.c (struct include_file): Move from cpphash.h.
+ 	(_cpp_never_reread): New function.
+ 	(open_file, read_include_file): Use it.
+ 	(stack_include_file): Set the buffer's sysp according to the
+ 	path in which the file was found.
+ 	(find_include_file): Don't set sysp.
+ 	(cpp_make_system_header, actual_directory): Update.
+ 	(_cpp_execute_include): Do #include_next lookup handling here,
+ 	not in cpplib.c.  Use _cpp_never_reread.
+ 	* cpphash.h (struct_include_file): Remove.
+ 	(struct cpp_buffer): New member sysp.
+ 	(CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
+ 	(_cpp_never_reread): New.
+ 	* cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
+ 	(end_directive): Clear line_extension flag.
+ 	(_cpp_handle_directive): Set line_extension flag for #number.
+ 	(do_include_next): Handle path lookup in _cpp_execute_include.
+ 	(do_line): Cleanup to use read_flag.  Don't allow flags in #line.
+ 	(_cpp_do_file_change): Update.
+ 	(do_pragma_once): Use cpp_never_reread.  Clean up.
+ 	* cpplib.h (struct lexer_state): New member line_extension.
+ 
+ 2000-12-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (calculate_global_regs_live): Force the stack pointer live
+ 	after reload as well.
+ 
+ 2000-12-07  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.*(exeext): the variables are exeext, the
+ 	substitution expression is build_exeext.
+ 
+ 2000-12-07  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-common.c (parse_in): Make a cpp_reader *.
+ 	* cppfiles.c (_cpp_fake_include): Remove.
+ 	* cpphash.h: Similarly.
+ 	* cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
+ 	#line always creates a callback; FC_RENAME if there are no
+ 	#line flags.
+ 	* fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
+ 	The first EOF must be our get_char buffer.
+ 
+ 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (warn_format_security): New variable.
+ 	(check_format_info): Warn about non-literal formats with no format
+ 	arguments if either -Wformat-nonliteral or -Wformat-security is
+ 	specified.
+ 	(set_Wformat): Set warn_format_security for settings other than 1.
+ 	* c-common.h (warn_format_security): Declare.
+ 	* c-decl.c (c_decode_option): Decode -Wformat-security and
+ 	-Wno-format-security.
+ 	* invoke.texi: Document -Wformat-security.
+ 	* toplev.c (documented_lang_options): Include -Wformat-security
+ 	and -Wno-format-security.
+ 
+ 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info): Warn for non-constant format
+ 	strings with strftime formats if -Wformat-nonliteral.  Where the
+ 	format can convert arguments, if the format is not a string
+ 	literal and there are no arguments to the format, give a different
+ 	warning message from the general non-string-literal case.
+ 
+ 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (format_wanted_type): Add reading_from_flag.
+ 	(print_char_table): Mark %s and %S formats with flag "R".
+ 	(check_format_info_main): Set up reading_from_flag appropriately.
+ 	If aflag, always set writing_in_flag rather than relying on the
+ 	format used being a scanf format and so having it set.
+ 	(check_format_types): Check for formats reading through null
+ 	pointers.
+ 
+ 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi (-Wformat): Document what format features are
+ 	checked.
+ 
+ 2000-12-06  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.
+ 
+ 2000-12-06      Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
+ 	h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
+ 	* config.gcc (*-rtems*): Add support for gthr-rtems.h.
+ 	* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
+ 	config/h8300/rtems.h, config/mips/rtems.h: New files.
+ 
+ 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config.gcc: Reorganize handling of *-*-gnu*, to share target
+ 	specific make details with Linux.  Update comments to clarify
+ 	the distinction between GNU/Linux and GNU/Hurd.
+ 
+ Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* contrib.texi: Fix my email address.  Update Per's
+ 	list of contributions.
+ 
+ 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
+ 	* collect2.c (scan_libraries): Remove unused `ch'.
+ 	(COFF specific stuff): Prototype ldgetname.  Declare and prototype
+ 	ldbtread and ldclose.
+ 
+ 	* config/alpha/osf.h: Standarize copyright statement.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
+ 	* config/arm/arm.c config/arm/arm.h: Likewise.
+ 	* config/elxsi/elxsi.h: Likewise.
+ 	* config/i386/sco.h: Likewise.
+ 	* config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
+ 	* config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
+ 	* config/m68k/sun3.h: Likewise.
+ 	* config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
+ 	* config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/aix41.h: Likewise.
+ 	* config/sparc/sysv4.h: Likewise.
+ 	* config/we32k/we32k.c config/we32k/we32k.h: Likewise.
+ 	* fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
+ 	* cpplib.h cppexp.c cselib.h profile.c: Likewise.
+ 	* longlong.h: Likewise.
+ 	* libgcc2.c: Likewise.
+ 
+ 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* machmode.def: Use correct definition for BITSIZE on targets where
+ 	BITS_PER_UNIT != 8.
+ 
+ 2000-12-06  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.*: Reduce differences to (ultimately) reduce
+ 	the number of them.
+ 
+ 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c: Include expr.h before c-tree.h.
+ 	(remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
+ 	instead of reverse_condition.
+ 	(print_operand): Correct predicates for GT, GE, LT and LE.  Add
+ 	predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
+ 	ORDERED.
+ 	(cmpib_comparison_operator): Add GEU and LTU codes.
+ 	* pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
+ 	* pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
+ 	bordered): New float conditional branch patterns.
+ 
+ Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
+ 
+ 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
+ 
+ 	* cpplex.c (skip_escaped_newlines): Don't warn for spaces between
+ 	backslash and newline, when inside a comment.
+ 
+ 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Use @table @samp instead of @itemize @minus for
+ 	table of language standards.  Fix use of @pxref.  From Zack
+ 	Weinberg.  Also exclude specs documentation from generated
+ 	manpage, and create separate ENVIRONMENT section.
+ 
+ 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
+ 
+ 	* gcse.c (compute_pre_data): Kill trapping expressions in
+ 	destination blocks of abnormal edges.
+ 
+ 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
+ 
+ 	* config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
+ 	(mn10300_get_live_callee_saved_regs): Likewise.
+ 	(mn10300_gen_multiple_store): Likewise.
+ 	(store_multiple_operation): Likewise.
+ 	(expand_prologue): Use mn10300_gen_multiple_store().
+ 	* config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
+ 	(mn10300_get_live_callee_saved_regs): Likewise.
+ 	(mn10300_gen_multiple_store): Likewise.
+ 	(store_multiple_operation): Likewise.
+ 	* config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
+ 	tied to store_multiple_operation().
+ 
+ Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* builtins.c (expand_builtin_setjmp_setup): Set
+ 	current_function_has_nonlocal_label.
+ 
+ 2000-12-05  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppfiles.c (stack_include_file): Push zero-length buffers
+ 	in case of failure.  Return void, as we don't fail any more.
+ 	(read_include_file): Check for files we shouldn't re-read.
+ 	Don't return an error code; errors are implied by marking the
+ 	file NEVER_REREAD.
+ 	(_cpp_execute_include): Move the recursion and in-macro checks
+ 	here.  Update for stack_include_file not failing.
+ 	* cpplib.c (cpp_push_buffer): Always succeed, since
+ 	_cpp_execute_include performs the recursion check.  Tidy up.
+ 	* cpplib.h (cpp_push_buffer): Update prototype.
+ 
+ 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* sched-vis.c (visual_tbl_line_length): New variable.
+ 	(get_visual_tbl_length): Set it.
+ 	(visualize_stall_cycles): Don't let stalls overrun
+ 	visual_tbl_line_length.
+ 
+ 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* global.c (global_conflicts): Allow for a REG_UNUSED note
+ 	with a different mode to the REG set in the insn.
+ 
+ 2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
+ 
+ 	* fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
+ 
+ 2000-12-05  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
+ 	GNU/Linux.
+ 
+ 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* fixinc/mkfixinc.sh: Run fixinc on netbsd.
+ 	* fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
+ 	to cope with aliased copies.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
+ 	* sched-rgn.c: Likewise.
+ 	(rgn_print_insn): Fix output.
+ 
+ 2000-12-05  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.*: make these more consistent
+ 	* fixinc/mkfixincl.sh: enable BeOS fixincludes
+ 
+ 2000-12-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (warn_if_unused_value): Move side effects test earlier.
+ 
+ 2000-12-05  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
+ 	when using sjlj.
+ 
+ 2000-12-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (calculate_global_regs_live): Only force stack pointer
+ 	live before reload.  Force pic register live before reload.
+ 	(insn_dead_p): Don't protect pic references from deletion.
+ 
+ 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Add support for using texi2pod.pl.  Don't use
+ 	@multitable.
+ 
+ 2000-12-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_override_options): Test 'insn_flags' not
+ 	'tune_flags' for XScale nature.
+ 	Remove spurious test of HARD_FLOAT and XScale flags.
+ 
+ 	* config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
+ 	contraint, accidentally changed during XScale contribution.
+ 
+ 	* config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
+ 	not create these functions if the target architecture does not
+ 	support Thumb instructions.
+ 
+ 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ONEWS: New file with the current contents of NEWS up to EGCS
+ 	1.1.
+ 	* NEWS: Generate automatically from online release notes from EGCS
+ 	1.0 to GCC 2.95.2, using ../contrib/gennews.
+ 
+ 2000-12-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcif.y: Move lexptr to top of file.  Add rule to handle
+ 	assertions in conditional expressions.
+ 	* tradcpp.c (parse_answer): Assertions do not need to go to
+ 	end of line in conditional directives.
+ 	(parse_assertion): Get first character of identifiers correct.
+ 	(test_assertion): New function.
+ 	* tradcpp.h (test_assertion): New prototype.
+ 
+ 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* config.gcc: Fix typo for UnixWare 7.
+ 
+ 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* invoke.texi:  Replace `pedwarns' with clearer text.
+ 
+ 2000-12-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.*(clean):  don't clean autogenerated files.
+ 	(mainainer-clean): clean autogenerated files
+ 
+ 2000-12-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* md.texi: Add overview, clarify match_dup and define_expand.
+ 
+ 2000-12-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* print-tree.c (print_node): Target-specific builtins print
+ 	numbers, not names.
+ 
+ 2000-12-04  Jason Merrill  <jason@redhat.com>
+ 
+ 	* stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
+ 	MODE_VECTOR_FLOAT.
+ 
+ 	* diagnostic.c (report_problematic_module): s/function/module/.
+ 
+ 	* c-lex.h: Remove decl for check_newline.
+ 
+ 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.APOLLO: Remove obsolete file.
+ 
+ 2000-12-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppinternals.texi: New file.
+ 
+ 2000-12-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppfiles.c (cpp_make_system_header): Take 2 booleans,
+ 	and operate on current buffer.
+ 	(cpp_read_file): Rename _cpp_read_file.
+ 	* cpplib.c (do_line, do_pragma_system_header): Update calls to
+ 	cpp_make_system_header.
+ 	* fix-header.c: Similarly.
+ 	* cpphash.h (_cpp_read_file): Move from...
+ 	* cpplib.h: ... here.
+ 	* cppinit.c (do_includes, cpp_start_read): Update appropriately.
+ 
+ 2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
+ 	Handle another transformation.
+ 
+ 2000-12-03  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add support for StrongARM targets.
+ 	* config/arm/t-strongarm-elf: New file.
+ 	* config/arm/t-strongarm-coff: New file.
+ 	* config/arm/t-strongarm-pe: New file.
+ 	* config/arm/strongarm-pe.h: New file.
+ 
+ 2000-12-03  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* NEWS: Mention XScale has been added.
+ 	* config.gcc: Add support for XScale targets.
+ 	* config/arm/arm.h: Add support for XScale processor.
+ 	* config/arm/arm.c: Add support for XScale processor.
+ 	* config/arm/arm.md: Add support for XScale processor.
+ 	* config/arm/t-xscale-elf: New file.
+ 	* config/arm/t-xscale-coff: New file.
+ 	* config/arm/xscale-elf.h: New file.
+ 	* config/arm/xscale-coff.h: New file.
+ 
+ 2000-12-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
+ 	unless exception handling is enabled, and if not using sjlj.
+ 
+ 	* builtins.c (expand_builtin_setjmp_setup): New.
+ 	(expand_builtin_setjmp_receiver): New.
+ 	(expand_builtin_setjmp): Split out _setup and _receiver functions.
+ 	Move argument parsing in from ...
+ 	(expand_builtin): ... here.
+ 	* except.c (receive_exception_label): Branch around receiver
+ 	unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
+ 	(start_dynamic_handler): Call expand_builtin_setjmp_setup.
+ 	* expr.h: Update builtin setjmp decls.
+ 
+ 2000-12-03  Bruce Korb  <bkorb@gcc.org>
+ 
+ 	* fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
+ 	build machine name.  Default to the target.
+ 
+ 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* Makefile.in: use $(build_canonical), not $(canonical_build).
+ 
+ 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* Makefile.in (OBJS): Add sched-rgn.o.
+ 	(sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
+ 	longer static.
+ 	(INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
+ 	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
+ 	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
+ 	MAX_BLOCKAGE_COST): Move to sched-int.h.
+ 	(MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
+ 	IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
+ 	FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
+ 	OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
+ 	rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
+ 	RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
+ 	debug_regions, find_single_block_region, find_rgns, too_large,
+ 	init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
+ 	bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
+ 	extract_bitlst, bblst, struct candidate, candidate_table,
+ 	bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
+ 	SRC_PROB, target_bb, split_edges, compute_trg_info,
+ 	debug_candidate, debug_candidates, bbset, bbset_size, dom,
+ 	IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
+ 	rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
+ 	EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
+ 	compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
+ 	IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
+ 	MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
+ 	update_live, set_spec_fed, is_pfree, find_conditional_protection,
+ 	is_conditionally_protected, may_trap_exp, haifa_classify_insn,
+ 	is_prisky, is_exception_free, add_branch_dependences,
+ 	propagate_deps, compute_block_backward_dependences,
+ 	debug_dependencies, is_cfg_nonregular, build_control_flow,
+ 	new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
+ 	BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
+ 	UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
+ 	CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
+ 	target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
+ 	can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
+ 	rgn_rank, region_sched_info): Move to sched-rgn.c.
+ 	(debug_reg_vector): Delete useless function.
+ 	(get_bb_head_tail): Likewise.
+ 	(insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
+ 	no_real_insns_p, rm_line_notes, save_line_notes,
+ 	restore_line_notes, rm_redundant_line_notes, sched_init): No
+ 	longer static.
+ 	(rm_line_notes, save_line_notes, restore_line_notes,
+ 	schedule_block, set_priorities): Change argument to be a real
+ 	basic block, not one of haifa's "bb"s.  All callers changed
+ 	(rm_other_notes): Initialize note_list here, not in
+ 	schedule_region.
+ 	(sched_finish): New function, called from schedule_insn.  * *
+ 	sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
+ 	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
+ 	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
+ 	MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
+ 	(get_block_head_tail, no_real_insns_p, rm_line_notes,
+ 	save_line_notes, restore_line_notes, rm_redundant_line_notes,
+ 	rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
+ 	sched_init, sched_finish, ready_add, insn_cost): Declare.
+ 
+ 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* Makefile.in: pass $(build_canonical) to mkfixinc.sh.
+ 	* fixinc/mkfixinc.sh: accept build system name as an argument.
+ 	Use it for choosing the fix build method.  Use the target for
+ 	selecting special fix rules.
+ 
+ 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* Makefile.in (OBJS): Add sched-deps.o.
+ 	(sched-deps.o): New rule.
+ 	* haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
+ 	sched-int.h.
+ 	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
+ 	sched-int.h.
+ 	(SIZE_FOR_MODE): Delete unused macro.
+ 	(reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
+ 	reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
+ 	anti_dependency_cache, output_dependency_cache,
+ 	forward_dependency_cache): Variables moved to sched-deps.c.
+ 	(add_dependence, remove_dependence, find_insn_list,
+ 	find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
+ 	sched_analyze_insn, sched_analyze_1, sched_analyze_2,
+ 	sched_analyze, group_leader, compute_forward_dependences,
+ 	init_deps, free_deps, init_dependency_caches, free_dependency_caches):
+ 	Functions moved to sched-deps.c.
+ 	(schedule_region): Call init_deps_global and finish_deps_global
+ 	instead of directly manipulating dependency data structures.
+ 	* sched-deps.c: New file.
+ 	(init_deps_global, finish_deps_global): New functions.
+ 	* sched-int.h (struct haifa_insn_data, struct deps): Moved here from
+ 	haifa-sched.c.
+ 	(h_i_d): Declare.
+ 	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
+ 	from haifa-sched.c.
+ 
+ 	* Makefile.in (OBJS): Add sched-vis.o.
+ 	(sched-vis.o): New rule.
+ 	* haifa-sched.c (get_unit_last_insn): New function.
+ 	(sched_dump, insn_unit, actual_hazard_this_instance): No longer
+ 	static.
+ 	(schedule_block): Call visualize_alloc and visualize_free.  Delete
+ 	spurious return statement.
+ 	(init_target_units, insn_print_units, get_visual_tbl_length,
+ 	init_block_visualization, print_block_visualization, safe_concat,
+ 	visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
+ 	print_exp, print_value, print_pattern, print_insn, target_units,
+ 	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
+ 	n_vis_no_unit, vis_no_unit): Move scheduling visualization
+ 	functions/variables...
+ 	* sched-vis.c: ...here.  New file.
+ 	(visualize_alloc, visualize_free): New functions.
+ 	(visualize_scheduled_insns, visualize_stall_cycles,
+ 	print_block_visualization): Lose basic block argument.  All callers
+ 	changed.
+ 	(visualize_scheduled_insns): Use new function get_unit_last_insn.
+ 	* sched-int.h (current_sched_info, sched_dump): Declare.
+ 	(init_target_units, insn_print_units, init_block_visualization,
+ 	print_block_visualization, visualize_scheduled_inns,
+ 	visualize_no_unit, visualize_stall_cycles, visualize_alloc,
+ 	visualize_free): Declare functions.
+ 
+ 	* sched-int.h: New file.
+ 	* Makefile.in (haifa-sched.o): Depend on it.
+ 	* haifa-sched.c: Include it.
+ 	(no_real_insns_p): New function.
+ 	(current_sched_info): New static variable.
+ 	(__inline, HAIFA_INLINE): Moved to sched-int.h.
+ 	(get_block_head_tail): Minor cleanup.
+ 	(init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
+ 	rgn_print_insn, rgn_rank): New functions, broken out of
+ 	rank_for_schedule, schedule_insn and schedule_block, where they
+ 	are now called through function pointers in current_sched_info.
+ 	(queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
+ 	print_insn): To display uid and block number, call the print_insn
+ 	function pointer in current_schedule_info.
+ 	(region_sched_info): New static variable.
+ 	(sched_target_n_insns, sched_n_insns, target_n_insns): New global
+ 	variables, moved out of schedule_block.
+ 	(schedule_block): Return void.  All callers changed.
+ 	Move some of the setup code into schedule_region.  Get head/tail
+ 	from current_sched_info, and update it when done.
+ 	(schedule_region): Slightly rearranged, some code moved here from
+ 	schedule_block.  Call no_real_insns_p to avoid doing work for a
+ 	block that consists only of notes and labels.
+ 	(schedule_insns): Initialize current_sched_info.
+ 
+ 2000-12-03  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (funlike_invocation_p): Re-disable macros enabled
+ 	by contexts drops AFTER argument pre-expansion, so that they
+ 	remain enabled during argument pre-expansion.
+ 	(_cpp_pop_context): Unconditionally re-enable a macro when
+ 	dropping a context level.
+ 
+ 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
+ 
+ 	* arm/t-linux (MULTILIB_OPTIONS): Comment.
+ 	(MULTILIB_DIRNAMES): Likewise.
+ 	(EXTRA_MULTILIB_PARTS): Likewise.
+ 	(LIBGCC): Likewise.
+ 	(INSTALL_LIBGCC): Likewise.
+ 
+ 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
+ 	expand_builtin_strspn, expand_builtin_strcspn): New functions.
+ 	(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
+ 	BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
+ 
+ 	* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
+ 	BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
+ 	strcat, strncat, strspn and strcspn.
+ 	(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
+ 
+ 	* extend.texi (strcat, strcspn, strncat, strspn): Document new
+ 	builtins.
+ 
+ 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strcmp): Use const*_rtx when
+ 	expanding strcmp at compile-time.  Add another transformation.
+ 	(expand_builtin_strncmp): Add more transformations.  Call
+ 	expand_builtin_memcmp, not expand_builtin_strcmp, under
+ 	appropriate conditions if HAVE_cmpstrsi.
+ 
+ 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
+ 	instruction.
+ 	(cr logic): Really make operands sequential.
+ 
+ 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-common.c (combine_strings): When the ISO C standard specifies
+ 	the maximum length of a string, it doesn't include the trailing
+ 	zero byte.
+ 
+ 	* cpplib.c (do_ifdef): Add check_eol() call.
+ 	(do_ifndef): Likewise.
+ 
+ 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
+ 	* fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
+ 	* fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
+ 	* fixinc/fixfix.c(wrap_fix): avoid wrapping files that
+ 	use the "__need_" hackery.  It breaks them.
+ 	* fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
+ 	Sometimes on DOS and BeOS the temp output file cannot be opened.
+ 	Skip the file noisily.  Ought to be fixed instead.
+ 
+ 2000-12-02  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixfixes.c (emit_gnu_type, format_write): Prototype.
+ 	(format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
+ 	custom uppercase ctype macros.
+ 	* fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
+ 	Use gcc's custom uppercase ctype macros.
+ 	(main): Prototype.
+ 	(machine_matches): Add static prototype and constify variable.
+ 	(create_file, test_test, egrep_test): Add static prototype.
+ 	(quoted_file_exists): Likewise, and constify parameters.
+ 	(extract_quoted_files, internal_fix, start_fixer, fix_applies,
+ 	write_replacement, test_for_changes): Add static prototype.
+ 	(write_replacement, test_for_changes): Delete excess argument to
+ 	`create_file'.
+ 	* fixtests.c (test): Make static.
+ 	* server.c (load_data, sig_handler, server_setup, find_shell): Add
+ 	static prototype.
+ 	(sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 2000-12-02  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
+ 	(per Laurynas Biveinis  <lauras@softhome.net>)
+ 
+ 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
+ 	macros.
+ 	(REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
+ 	(REGNO_OK_FOR_FOR_BASE_P): Delete.
+ 	(ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
+ 	both strict and non-strict uses.
+ 	(REG_MODE_OK_FOR_BASE_P): Define in terms of above.
+ 	(ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
+ 	(REG_OK_FOR_INDEX_P): Define in terms of above.
+ 	(REG_OK_FOR_BASE_P): Delete.
+ 	(REG_OK_FOR_PRE_POST_P): Delete.
+ 	(ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
+ 	(ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
+ 	(ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
+ 	(THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
+ 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
+ 	specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
+ 	in pre/post increment cases.
+ 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
+ 	(ARM_LEGITIMIZE_ADDRESS): Similarly.
+ 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
+ 	* arm.c (legitimate_pic_address): Similarly.
+ 
+ 2000-12-02  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcpp.c (struct answer, parse_assertion, parse_answer,
+ 	canonicalize_text, find_answer): New.
+ 	(do_assert, do_unassert): Provide appropriate function bodies.
+ 	(union hashval): New member answers.
+ 
+ 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.md: Document UNSPEC usage.
+ 	(*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
+ 	Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
+ 	MEM for program memory word reference.  Do not add the label to
+ 	the table index in each of the asm output templates, instead ...
+ 	(casesi): ... do it in RTL.  Adjust to match the above change.
+ 
+ 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* c-common.c (PTRDIFF_TYPE): Provide default here, ...
+ 	* c-decl.c: ... not here.
+ 
+ 	* haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
+ 	(old_max_uid): New variable.
+ 	(compute_forward_dependences): Renamed from
+ 	compute_block_forward_dependences; changed to accept block head and
+ 	tail instead of block number.  Caller changed.
+ 	(free_deps, init_dependency_caches, free_dependency_caches,
+ 	init_regions, sched_init): New functions, split out from
+ 	schedule_insns and compute_block_backward_dependences.
+ 
+ 2000-12-02  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppexp.c (parse_number): Update diagnostic test.
+ 
+ 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload1.c (free_for_value_p): New function, frontend to
+ 	reload_reg_free_for_value_p.  All callers of the latter now call
+ 	this function with an additional mode argument.
+ 
+ 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* install.texi (Configurations): Remove obsolete documentation for
+ 	hppa*-*-*.
+ 
+ 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* install.texi (Installation): Remove obsolete description for
+ 	libstdc++ which is now an integral part of GCC.
+ 
+ 2000-12-01  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* dbxout.c (dbxout_parms): Correctly describe parameters passed by
+ 	invisible reference in registers, but then spilled to the stack.
+ 	Remove code to emit a second stab for such parameters; it attempts
+ 	to describe the value's location by introducing a synthetic C++
+ 	`reference' type, and then saying the stack slot has that
+ 	reference type.  This loses type information (breaking GDB's
+ 	`ptype' command, among other things) just to describe a location
+ 	which stabs can represent correctly in other ways.
+ 
+ 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* final.c (output_addr_const) <PLUS>: Don't assume at least one
+ 	operand is a CONST_INT.
+ 
+ 	* config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
+ 	(machine_dependent_reorg): Split all insns.
+ 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
+ 	reg_class_contents[SIBCALL_REGS].
+ 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
+ 	* config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
+ 	call_value_pcrel, call, call_value, sibcall): Match even when
+ 	not optimizing.
+ 	(sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
+ 	for call address.
+ 	(sibcalli): Likewise.
+ 
+ 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (warn_format, warn_format_y2k,
+ 	warn_format_extra_args, warn_format_nonliteral): Define.
+ 	(check_format_info): Check warn_format_nonliteral and
+ 	warn_format_extra_args.
+ 	(check_format_info_main): Check warn_format_y2k.
+ 	(set_Wformat): New function.
+ 	* c-common.h (warn_format_y2k, warn_format_extra_args,
+ 	warn_format_nonliteral, set_Wformat): Declare.
+ 	* c-decl.c (warn_format): Remove definition.
+ 	(c_decode_option): Handle -Wformat-nonliteral,
+ 	-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
+ 	Use set_Wformat.
+ 	* invoke.texi: Document these new options and -Wformat=2.
+ 	* toplev.c (documented_lang_options): Add these new options.
+ 
+ 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* builtins.def (BUILT_IN_IMAXABS): Add.
+ 	* builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
+ 	* c-common.c (c_common_nodes_and_builtins): Create builtin
+ 	functions __builtin_imaxabs, and plain imaxabs unless
+ 	flag_no_nonansi_builtin outside C99 mode.
+ 	(expand_tree_builtin): Handle BUILT_IN_IMAXABS.
+ 	* extend.texi: Document builtin imaxabs.
+ 
+ 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c: Include "defaults.h".
+ 	(WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
+ 	(c_common_nodes_and_builtins): Create string_type_node,
+ 	const_string_type_node, wint_type_node, intmax_type_node,
+ 	uintmax_type_node, default_function_type, ptrdiff_type_node and
+ 	unsigned_ptrdiff_type_node.
+ 	* c-common.h (identifier_global_value): Declare.
+ 	* c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
+ 	(init_decl_processing): Don't create string_type_node,
+ 	const_string_type_node, wint_type_node, intmax_type_node,
+ 	uintmax_type_node, default_function_type, ptrdiff_type_node and
+ 	unsigned_ptrdiff_type_node.
+ 	(identifier_global_value): New function.
+ 
+ 2000-12-01  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppinit.c (initialize): Forgotten prototype.
+ 	* cpplex.c (_cpp_lex_token): Loop until not skipping.
+ 	Always clear PREV_WHITE upon meeting a new line.
+ 	* cpplib.c (end_directive): Set pfile->skipping after
+ 	skip_rest_of_line.
+ 	* cpplib.h (cpp_reader): Remove macro_pos.
+ 	* cppmacro.c (cpp_get_line): Don't do anything special inside
+ 	macros.
+ 	(parse_arg): Add PREV_WHITE if a token appears after new lines.
+ 	(funlike_invocation_p): Save and restore the output position
+ 	over a successful check for a '('.
+ 	(enter_macro_context): Delete uses of macro_pos.
+ 	(cpp_get_token): Don't use pfile->skipping.
+ 
+ 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* diagnostic.c:  Fix typos in comments.
+ 	* diagnostic.h:  Likewise.
+ 
+ 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* rtl.texi (Machine Modes):  Document BImode and OImode.
+ 
+ 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
+ 	.FPP.
+ 
+ 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
+ 	incomplete element type.
+ 	(grokparms): Before checking for incomplete parameter type, check
+ 	the type isn't error_mark_node.
+ 
+ 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (target_char_cast): New function.
+ 	(expand_builtin_strchr): Use it.
+ 	(expand_builtin_strrchr): Use it.
+ 	(builtin_memset_read_str): New function.
+ 	(expand_builtin_memset): Use target_char_cast.
+ 	Try to optimize memset with second argument nonzero using
+ 	store_by_pieces.
+ 
+ 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* install.texi (avr): Replace incomplete list of supported MCU
+ 	types with a link to the current one ...
+ 	* invoke.texi (AVR Options): ... here.  Update -mmcu= to list
+ 	all supported MCU types.  Document -minit-stack= default.
+ 	Document new options -mno-tablejump, -mtiny-stack.
+ 	* md.texi (AVR family):  Fix typo in 'w' constraint letter
+ 	description.  Document 'q'.  Update 'O'.
+ 
+ 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* combine.c (cant_combine_insn_p): Only disallow insns involving
+ 	hard regs if they are reg-reg moves.
+ 	(try_combine, can_combine_p, combinable_i3pat): Delete old
+ 	SMALL_REGISTER_CLASSES tests.
+ 
+ 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
+ 	whether X is a CONST_INT.
+ 	(addsubcosts): Likewise.
+ 
+ 	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
+ 	mis-used XINT.
+ 	(ARG_POINTER_REGNUM): Set to AP_REG.
+ 
+ 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
+ 	splits): Only match on TARGET_SH4.
+ 
+ 	* combine.c (try_combine): Disregard USEs when updating LOG_LINKS
+ 	of subsequent insns.
+ 
+ 2000-11-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
+ 	* config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ 2000-11-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
+ 	(DO_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Use it.
+ 	(UNIQUE_SECTION_P): New.
+ 	(UNIQUE_SECTION): New.
+ 
+ 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
+ 	from va_list before using it.
+ 
+ 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
+ 
+ 	* flow.c (make_edge): Early out, if no flags to set.
+ 	(calculate_global_regs_live): Clear out garbage only when necessary.
+ 
+ 	* simplify-rtx.c (varray_type used_regs): New.
+ 	(clear_table): Use it to only clear necessary items.
+ 	(cselib_lookup, cselib_record_set): Remember newly set items.
+ 	(cselib_update_varray_sizes, cselib_init): Initialize and grow
+ 	used_regs.
+ 
+ 	* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
+ 	Move clearing of dead regs out of insn-loop.
+ 
+ 2000-11-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (expand_call): Emit queued insns before creating
+ 	the tail recursion sequence.
+ 
+ 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(): prevent dual double definition protection
+ 	* fixinc/fixincl.x: regenerate
+ 
+ 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* fixinc/Makefile.in (fixincl.x): Explicitly state the
+ 	location of the generated file.
+ 
+ 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.FRESCO: Remove obsolete file.
+ 
+ 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
+ 	TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
+ 	config/t-linux for the Hurd.
+ 
+ 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/mn10200/udivmod.c, config/mn10200/divmod.c,
+ 	config/mn10200/udivmodsi4.c: Moved from here.
+ 	* config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
+ 	* config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
+ 	C division functions.
+ 	* config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
+ 
+ Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (conditional moves): Avoid holes in operand list.
+ 	(mod, umod patterns): Similarly.
+ 	(variable extract/shift patterns): Similarly.
+ 
+ 2000-11-30  Neil Booth  <neilb@earthling.net>
+ 
+ 	* objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
+ 	maybe_objc_check_decl, build_objc_string_object,
+ 	objc_declare_alias, objc_declare_class, build_message_expr,
+ 	build_protocol_expr, build_selector_expr, build_encode_expr,
+ 	get_class_ivars, start_class, start_protocol): Remove
+ 	redundant code, assuming doing_objc_thang is true.
+ 
+ 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (restore_unscaled_index_insn_codes): Delete procedure.
+ 	(record_unscaled_index_insn_codes): Likewise.
+ 	(unscaled_index_insn_codes): Delete.
+ 	(max_unscaled_index_insn_codes_uid): Delete.
+ 	(output_function_prologue, output_function_epilogue, pa_reorg):
+ 	Don't use the unscaled index insn hack.
+ 
+ 	* pa.md: Remove hack from all index insns to reverse the operand
+ 	order of frame and stack pointer references incorrectly created
+ 	in the reload pass.
+ 
+ 	* function.h (emit_status): Delete member regno_pointer_flag and
+ 	rename regno_pointer_flag_length to regno_pointer_align_length.
+ 	Delete define for REGNO_POINTER_FLAG.
+ 	* integrate.h (inline_remap): Delete member regno_pointer_flag.
+ 	Add member x_regno_reg_rtx.
+ 	* rtl.h (rtx_def): Use frame_related bit to indicate register is
+ 	a pointer in REG expressions.  Define REG_POINTER macro.
+ 	* alias.c (find_base_value, find_base_term): Use REG_POINTER
+ 	instead of REGNO_POINTER_FLAG.
+ 	* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
+ 	* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
+ 	of regno_pointer_flag_length.  Remove code which refers to
+ 	regno_pointer_flag.
+ 	(mark_reg_pointer): Use REG_POINTER.
+ 	(free_emit_status): Remove code which refers to regno_pointer_flag.
+ 	(init_emit, mark_emit_status): Likewise.
+ 	* flow.c (dump_flow_info): Likewise.
+ 	* function.c (preserve_temp_slots): Likewise.
+ 	* integrate.c (expand_inline_function, copy_rtx_and_substitute):
+ 	Use x_regno_reg_rtx instead of regno_pointer_flag for function
+ 	pointer determination in map.
+ 	* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
+ 	* predict.c (estimate_probability): Likewise.
+ 	* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
+ 	* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
+ 	regno_pointer_flag for function pointer determination in map.
+ 	* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
+ 	REG_POINTER.
+ 	* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
+ 	Use REG_POINTER.
+ 	(restore_unscaled_index_insn_codes): Revise comment.
+ 
+ 	* expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
+ 
+ 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi: Update documentation for attributes.
+ 
+ 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
+ 	(ASM_DECLARE_OBJECT_NAME): Same.
+ 	(ASM_FILE_END): Same.
+ 	(ASM_FINISH_DECLARE_OBJECT): Same.
+ 	(ASM_IDENTIFY_GCC): Same.
+ 	(ASM_IDENTIFY_LANGUAGE): Same.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Same.
+ 	(ASM_OUTPUT_DEF): Same.
+ 	(ASM_OUTPUT_DESTRUCTOR): Same.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
+ 	(ASM_OUTPUT_SECTION_NAME): Same.
+ 	(ASM_WEAKEN_LABEL): Same.
+ 	(BSS_SECTION_ASM_OP): Same.
+ 	(COMMON_ASM_OP): Same.
+ 	(CONST_SECTION_ASM_OP): Same.
+ 	(CONST_SECTION_FUNCTION): Same.
+ 	(CTORS_SECTION_ASM_OP): Same.
+ 	(DTORS_SECTION_ASM_OP): Same.
+ 	(ESCAPES): Same.
+ 	(FINI_SECTION_ASM_OP): Same.
+ 	(IDENT_ASM_OP): Same.
+ 	(IDENT_ASM_OP): Same.
+ 	(INIT_SECTION_ASM_OP): Same.
+ 	(INT_ASM_OP): Same.
+ 	(MAX_OFILE_ALIGNMENT): Same.
+ 	(SBSS_SECTION_ASM_OP): Same.
+ 	(SDATA_SECTION_ASM_OP): Same.
+ 	(SECTION_FUNCTION_TEMPLATE): Same.
+ 	(SELECT_SECTION): Same.
+ 	(SE_CONST_SECTION): Same.
+ 	(SIZE_ASM_OP): Same.
+ 	(SKIP_ASM_OP): Same.
+ 	(STRING_ASM_OP): Same.
+ 	(STRING_LIMIT): Same.
+ 	(TYPE_ASM_OP): Same.
+ 	(TYPE_OPERAND_FMT): Same.
+ 
+ 2000-11-29  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-decl.c (c_decode_option): Don't handle -lang-objc.
+ 	* objc/lang-options.h: Remove -lang-objc.
+ 	* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
+ 	* objc/objc-act.c (lang_init_options): Set c_language.
+ 
+ 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
+ 	tests.
+ 
+ 2000-11-29  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-pragma.c (init_pragma): Update for parse_in type change.
+ 
+ 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* configure.in: recognize DOS-style absolute paths.
+ 
+ 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.h (store_by_pieces): Add prototype.
+ 	(can_store_by_pieces): Likewise.
+ 	* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
+ 	(can_store_by_pieces): New.
+ 	(store_by_pieces): New.
+ 	(clear_by_pieces): New.
+ 	(clear_by_pieces_1): New.
+ 	(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
+ 	arbitrary compiler generated constants into memory block.
+ 	(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
+ 	* builtins.c (c_readstr): New.
+ 	(builtin_memcpy_read_str): New.
+ 	(expand_builtin_memcpy): If src is string constant and
+ 	emit_block_move would move it by pieces, compute integer constants
+ 	from the string and store it into memory block instead.
+ 	(builtin_strncpy_read_str): New.
+ 	(expand_builtin_strncpy): If N is not constant zero and c_strlen does
+ 	not return INTEGER_CST, don't optimize.
+ 	If N is larger than strlen(src) + 1, try to copy the string
+ 	including padding with store_by_pieces.
+ 	(expand_builtin_strcmp): If both arguments have side effects, don't
+ 	optimize.
+ 	(expand_builtin_fputs): If STR has side effects, don't optimize.
+ 
+ 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
+ 	Add use of link register.
+ 
+ 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi: Update documentation for default format attributes.
+ 
+ Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+ 	a list, to keep track of the sections.
+ 
+ 2000-11-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (pic_load_addr): Split into
+ 	pic_load_addr_arm and pic_load_addr_thumb.
+ 
+ 	* config/arm/arm.c (legitimize_pic_address): Generate either
+ 	ARM or Thumb versions of pic_load_addr.
+ 	(arm_finalize_pic): Generate either ARM or Thumb versions of
+ 	pic_load_addr.
+ 
+ 2000-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
+ 	after sibcall do_pending_stack_adjust.
+ 
+ Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* jump.c (delete_insn): Check that REG_LABEL note actually contains
+ 	a CODE_LABEL.
+ 
+ 2000-11-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-common.h: Remove flag_digraphs.
+ 	* c-decl.c: Remove flag_digraphs.
+ 	(c_decode_option): Don't set it.
+ 	* c-lex.c (init_c_lex): Don't do anything for digraphs.
+ 
+ 2000-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (finish_parse): Update for parse_in type change.
+ 	(_yylex): Likewise.
+ 
+ 2000-11-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
+ 	indicating whether to scan all buffers on the stack or
+ 	just one.
+ 	* cppinit.c (do_includes): Update.
+ 	* cppmain.c (main): Update.
+ 	* cpplib.h: Update prototype.
+ 
+ 2000-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genoutput.c (validate_insn_operands): New.
+ 	(gen_insn): Call it.
+ 
+ 	* config/alpha/alpha.md (divmodsi_internal): Renumber operands.
+ 	(divmoddi_internal): Likewise.
+ 	* config/arm/arm.md (andsi3_compare0_scratch): Likewise.
+ 	* config/i960/i960.md (branch patterns): Likewise.
+ 	* config/ia64/ia64.md (tbit_and_0): Likewise.
+ 	(tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
+ 	* config/m68k/m68k.md (zero_extract memory patterns): Likewise.
+ 	* config/mips/mips.md (divmodsi4_internal): Likewise.
+ 	(divmoddi4_internal): Likewise.
+ 	* config/rs6000/rs6000.md (call patterns): Likewise.
+ 	* config/sh/sh.md (movsi_y): Likewise.
+ 	* config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
+ 
+ 2000-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc: Kill residual pyramid support.
+ 
+ 2000-11-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-lex.h (parse_in): Change parse_in to a cpp_reader *.
+ 	* c-decl.c (c_decode_option): Update to match.
+ 	* c-lex.c (init_c_lex, yyparse): Update to match.
+ 	* c-lang.c (lang_init_options): Use cpp_create_reader.
+ 	* cppinit.c (cpp_init): Rename initialize.
+ 	(cpp_reader_init): Rename cpp_create_reader.  Create the
+ 	reader.  Initialize cpplib if appropriate.
+ 	* cpplib.h (cpp_create_reader) New prototype.
+ 	(cpp_init, cpp_reader_init): Delete prototypes.
+ 	* cppmain.c (general_init, setup_callbacks): New functions.
+ 	(main): Use them.
+ 	* fix-header.c (scan_in): Change type to cpp_reader *.
+ 	(read_scan_file): Update for new cpplib interface and scan_in type.
+ 
+ 	* cp/decl.c (parse_in): Change to cpp_reader *.
+ 	(lang_decode_option): Update.
+ 	* cp/lex.c (lang_init_options): Use new cpplib interface.
+ 	(init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
+ 	* cp/spew.c (read_token): Update.
+ 	* objc/objc-act.c (lang_init_options): Update new cpplib interface.
+ 
+ 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* loop.c (load_mems): Avoid using next_label to find end_label. If
+ 	jumping outside of the loop (other than loop end), don't hoist MEMs
+ 	out of loop.
+ 
+ 2000-11-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Don't disable tail recursion based
+ 	on the loop nest.
+ 
+ 2000-11-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
+ 	(struct directive): Drop 4th argument from handlers.
+ 	(do_define, do_line, do_include, do_undef, do_else, do_elif,
+ 	do_endif): Similarly.
+ 	(do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
+ 	(do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
+ 	(make_definition, make_undef): Take a const char*.
+ 	(make_assertion): New function.
+ 	(struct directive_table): Update.
+ 	(main): Handle -A command line argument.
+ 	(handle_directive): Drop fourth handler argument.
+ 
+ 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
+ 	is anything but REG or MEM, but look inside STRICT_LOW_PART.
+ 
+ Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
+ 	(IS_ABSOLUTE_PATHNAME): New macro.
+ 	* gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
+ 
+ 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (truncxfsf2_2): Fix predicate.
+ 
+ 2000-11-27  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
+ 
+ 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
+ 
+ 	* extend.texi (Nested Functions): Update URL of Usenix paper.
+ 
+ 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (free_after_compilation): Clear x_clobber_return_insn.
+ 
+ 2000-11-27  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppinit.c (cpp_reader_init): Remove handling of warn_paste
+ 	command line options.
+ 	(cpp_handle_option): Similarly.
+ 	* cpplib.h (struct cpp_options): Remove warn_paste.
+ 	* cppmacro.c (paste_tokens): Apart from assembler, make
+ 	unpasteable token warning mandatory.
+ 
+ 2000-11-27  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcpp.c (enum pending_dir_t, struct pending_dir): New.
+ 	(main): Allocate a pending directive set of these.  Use it.
+ 	Merge handling of -D and -U.  Update handling of pending
+ 	directives.  Free the memory after use.
+ 
+ 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* flow.c (entry_exit_blocks): Add entry for cond_local_set.
+ 	(struct propagate_block_info): Add new member cond_local_set.
+ 	(propagate_block): Accept new arg cond_local_set.  All callers
+ 	changed.
+ 	(init_propagate_block_info): Likewise.
+ 	(calculate_global_regs_live): Allocate & free cond_local_set.  Always
+ 	rescan if there's overlap between cond_local_set and new_live_at_end.
+ 	(mark_set_1): Set bits either in cond_local_set or local_set, as
+ 	appropriate.
+ 	* basic-block.h (struct basic_block_def): New field cond_local_set.
+ 	(propagate_block, init_propagate_block_info): Update prototypes.
+ 
+ Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
+ 
+ 	* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
+ 	T register.
+ 
+ 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (select_dominance_cc_mode): Handle new way that combine
+ 	canonicalizes conditional compares.
+ 	(arm_select_cc_mode): Likewise.
+ 	* arm.md: Garbage collect some dead code.
+ 	(cmp_and, cmp_ior): New patterns.
+ 	(splitter for conditional move with inverted false): Use cond_exec
+ 	and handle unordered comparisons.
+ 
+ Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
+ 	* i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
+ 	* i386.md (float?i?f, int/fp operations): Rewrite spliters to use
+ 	ix86_force_to_memory and ix86_free_from_memory.
+ 
+ 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
+ 	arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
+ 	anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
+ 	one_cmpldi2): Merge with splitters to create define_insn_and_split
+ 	patterns.  Remove redundant splits.
+ 	(peephole2 for add:SI of invalid immediate): New.
+ 	(peephole2 for minus:SI of invalid immediate): New.
+ 	(peephole2 for ior:SI of invalid immediate): New.
+ 	(peephole for merge of move and compare): Convert ot peephole2.
+ 	(addsf3, adddf3): Mark as commutative.
+ 
+ 	* arm.md (thumb peephole for merging stack adjustments): Convert to
+ 	peephole2.
+ 
+ 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
+ 
+ 	* reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
+ 	(reload_cse_simplify_operands): Do nothing about operands where both
+ 	the operand and the match_operand fail to give us a mode.
+ 	* simplify-rtx.c (wrap_constant): New function.
+ 	(entry_and_rtx_equal_p): Except integer constants to come wrapped in a
+ 	CONST describing the proper mode.
+ 	(rtx_equal_for_cselib_p): Pass down modes to recursive calls of
+ 	cselib_lookup.
+ 	(cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
+ 	htab_find_slot_with_hash.
+ 	(cselib_lookup): Likewise.
+ 
+ 	Based on a patch from Geoff Keating <geoffk@redhat.com>:
+ 	* loop.c (basic_induction_var): If a REG is set from something
+ 	that is not a biv, then the REG is not a biv.  Even if it is
+ 	earlier set from something that is a biv.
+ 
+ 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (extra_objs): Enclose extra_headers in quotes.
+ 	* configure: Rebuilt.
+ 
+ 2000-11-27  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
+ 	Combine into the new function cb_change_file.
+ 	(init_c_lex): Update.
+ 	* cppfiles.c (stack_include_file): Use _cpp_do_file_change.
+ 	(cpp_syshdr_flags): Delete.
+ 	* cpphash.h (_cpp_do_file_change): New prototype.
+ 	Move struct cpp_buffer here from...
+ 	* cpplib.h (struct cpp_buffer): ... here.
+ 	(enum cpp_fc_reason, struct cpp_file_loc,
+ 	struct_cpp_file_change, change_file): New.
+ 	(enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
+ 	* cpplib.c (do_line): Update for new cb_change_file callback.
+ 	(_cpp_do_file_change): New function.
+ 	(_cpp_pop_buffer): Update to use it.
+ 	* cppmain.c (move_printer): Delete.
+ 	(main): Set up single callback cb_change_file.
+ 	(cb_enter_file, cb_leave_file, cb_rename_file): Delete.
+ 	(cb_change_file): New.
+ 	* fix-header.c (cur_file, cb_change_file): New.
+ 	(recognized_function, read_scan_file): Update.
+ 	* scan-decls.c (scan_decls): Update.
+ 	* scan.h (recognized_function): Update prototype.
+ 
+ 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (mark_tree_hashtable): New function.
+ 	* tree.c (mark_tree_hashtable_entry): New function.
+ 	(mark_tree_hashtable): Likewise.
+ 
+ 2000-11-27  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* d30v-protos.h (srelational_si_operator): Correctly spell
+ 	function.
+ 	(urelational_si_operator): Ditto.
+ 	(relational_si_operator): Ditto.
+ 	(d30v_expand_prologue): Add prototype.
+ 	(d30v_expand_epilogue): Ditto.
+ 
+ 	* d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
+ 
+ 	* d30v.md (movcccc_*): Delete now unused patterns.
+ 	(64 bit comparison splitters): Rewrite to use COND_EXEC instead of
+ 	IF_THEN_ELSE.
+ 	(define_cond_exec): Use 'b' to select branch flags.
+ 
+ 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
+ 	functions.
+ 	(expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
+ 
+ 	* builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
+ 	strncpy and strncmp.
+ 
+ 	* extend.texi (strncmp, strncpy): Document new builtins.
+ 
+ 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+ 	a list, to keep track of the sections.
+ 	* tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
+ 	parameter provided will always be a canonical string.
+ 
+ 2000-11-26  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
+ 	current buffer.
+ 
+ 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* makefile.vms: Remove EGCS references.
+ 
+ 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* dwarf2out.c (output_file_names): New function.  Compute minimal
+ 	combination of directory and file name table and emit them.
+ 	(output_line_info): Remove code to emit directory and file name
+ 	table and call output_file_names instead.
+ 	(file_info_cmp): Helper function to sort directory names.
+ 
+ 2000-11-26  Neil Booth	<neilb@earthling.net>
+ 
+ 	* cpplib.h (struct cpp_reader): Remove lang_asm.
+ 	(struct cpp_options): Remove c89. New members lang,
+ 	extended_numbers.
+ 	* cppexp.c (parse_number): Use them.
+ 	* cpphash.h (VALID_SIGN): Use them.
+ 	* cppinit.c (set_lang, cpp_start_read): Update.
+ 	* cpplex.c (parse_string, _cpp_lex_token): Update.
+ 	* cpplib.c (_cpp_handle_directive): Update.
+ 	* cppmacro.c (parse_args): Update.
+ 	* cppmain.c (scan_buffer): Update.
+ 
+ Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (fold, case CONVERT_EXPR): Always return tree of
+ 	proper type.
+ 
+ 2000-11-26  Neil Booth	<neilb@earthling.net>
+ 
+ 	* Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
+ 	* c-decl.c: Remove parse_in declaration.
+ 	* c-lang.c: Similarly.
+ 	* c-lex.c: Similarly.
+ 	* c-parse.in: Similarly.
+ 	* c-pragma.c: Similarly.
+ 	* configure.in: Similarly.
+ 	* cp/Make-lang.in: Similarly.
+ 	* cp/spew.c: Similarly.
+ 	* cp/decl2.c: Remove check for lang-c++ option.
+ 	* cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
+ 	* cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
+ 	* c-lex.h: Add declaration of parse_in.
+ 	* cppinit.c: Call set_lang after allocating pfile->pending.
+ 	* configure: Regenerate.
+ 
+ 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* combine.c (try_combine): Remove redundant test.
+ 
+ 2000-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (DECL_C_HARD_REGISTER): New.
+ 	* c-decl.c (finish_decl): Set it for asm register variables.
+ 	* c-semantics.c (emit_local_var): Test it when instantiating one.
+ 
+ 2000-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
+ 	lineno for the start of the function.
+ 
+ 2000-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (file_table, file_table_allocated): Remove.
+ 	(file_table_allocated): Remove.
+ 	(struct file_table): New.
+ 	(decl_file_table, line_file_table): New.
+ 	(print_dwarf_line_table): Use them.
+ 	(size_of_line_prolog): Likewise.
+ 	(output_line_info): Likewise.
+ 	(add_src_coords_attributes): Likewise.
+ 	(gen_subprogram_die): Likewise.
+ 	(gen_variable_die): Likewise.
+ 	(dwarf2out_add_library_unit_info): Likewise.
+ 	(dwarf2out_line): Likewise.
+ 	(lookup_filename): Take a struct file_table argument.
+ 	(init_file_table): New.
+ 	(dwarf2out_init): Use it.
+ 
+ 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Update sequence points references.
+ 
+ 2000-11-25  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-common.c: Remove USE_CPPLIB conditional inclusions.
+ 	* c-common.h: Similarly.
+ 	* c-decl.c: Similarly.
+ 	* c-lang.c: Similarly.
+ 	* c-lex.c: Similarly.
+ 	* c-parse.in: Similarly.
+ 	* c-pragma.c: Similarly.
+ 	* c-pragma.h: Similarly.
+ 	* gcc.c: Similarly.
+ 	* toplev.c: Similarly.
+ 	* cp/cp-tree.h: Similarly.
+ 	* cp/decl2.c: Similarly.
+ 	* cp/lang-specs.h: Similarly.
+ 	* cp/lex.c: Similarly.
+ 	* cp/lex.h: Similarly.
+ 	* cp/spew.c: Similarly.
+ 	* java/lang-options.h: Similarly.
+ 	* objc/lang-specs.h: Similarly.
+ 	* objc/objc-act.c: Similarly.
+ 
+ 	* configure.in: Remove configure option.
+ 	* config.in: Regenerate.
+ 	* configure: Regenerate.
+ 
+ 2000-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
+ 	Revert 2000-11-22 change.
+ 
+ 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* config/i386/i386.h (FIXED_REGS): Make the three flags registers
+ 	fixed.
+ 
+ 2000-11-25  Philipp Thomas  <pthomas@suse.de>
+ 	* configure.in (ALL_LINGUAS): Remove en_GB and add sv.
+ 	* configure: Rebuilt.
+ 
+ 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
+ 	Handle CONST_INT as second argument.
+ 	* config/sparc/sparc.c (set_extends): Remove first argument.
+ 	Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
+ 	MOV.
+ 	(sparc_check_64): Abort if first argument is not REG.
+ 	If it is DImode REG, look at the lower register of the register
+ 	pair.
+ 
+ 	* config/sparc/sparc.c (load_pic_register, restore_regs,
+ 	output_return, sparc_v8plus_shift, sparc_function_profiler,
+ 	sparc_function_block_profiler, sparc_block_profiler): Fix output
+ 	formatting.
+ 
+ 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (TARGET_NONE): New.
+ 	(TARGET_SWITCHES): For all variant-selecting switch, use
+ 	TARGET_NONE to reset all other variant-selecting switch.  Added
+ 	empty strings to avoid warnings.
+ 	(TARGET_DEFAULT): Set to SH1_BIT.
+ 
+ 	* Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
+ 	insn-codes.h.
+ 
+ 	* gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
+ 	(sibcall_pcrel): New insn_and_split.
+ 	(sibcall, sibcall_value, sibcall_epilogue): New expands.
+ 
+ 	* config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
+ 	symPLT_label2reg, call, call_value): Don't set
+ 	current_function_uses_pic_offset_table.
+ 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
+ 	PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
+ 	takes it into account.
+ 	(FINALIZE_PIC): Delete, useless.
+ 	(LEGITIMATE_CONSTANT_P): Delete, unused.
+ 	* config/sh/sh.c (sh_expand_prologue): Don't use
+ 	current_function_uses_pic_offset_table.  Don't special-case
+ 	PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
+ 	PIC is enabled.
+ 	(sh_expand_epilogue, initial_elimination_offset): Don't
+ 	special case PIC_OFFSET_TABLE_REGNUM.
+ 
+ 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
+ 
+ 	* config/sh/sh-protos.h (symbol_ref_operand): Declare.
+ 	* config/sh/sh.md (UNSPEC_CALLER): New constant.
+ 	(calli_pcrel, call_valuei_pcrel): Use PIC_REG.
+ 	(call_pcrel, call_value_pcrel): New insn_and_splits.
+ 	(call, call_value): Use them.
+ 	(call_site): New expand.
+ 	(sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
+ 	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
+ 	Output call_site label.
+ 	(PREDICATE_CODES): Added symbol_ref_operand.
+ 	* config/sh/sh.c (symbol_ref_operand): Define.
+ 	* emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
+ 	to CALL_INSNs in the split sequence.
+ 
+ 2000-11-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc (v850-*-*): Define c_target_objs and
+ 	cxx_target_objs.
+ 
+ 	* config/v850/t-v850: Define how to build v850-c.o
+ 
+ 	* config/v850/v850.h (struct data_area_stack_element): Move
+ 	definition here from v850.c.
+ 
+ 	* config/v850v850.c: Include gcc.h to avoid compile time
+ 	warning.
+ 	(push_data_area): Move to v850-c.c.
+ 	(pop_data_area): Move to v850-c.c.
+ 	(mark_current_function_as_interrupt): Move to v850-c.c.
+ 	(GHS_default_section_names): Allow to be exported.
+ 	(GHS_current_section_names): Allow to be exported.
+ 	(data_area_stack_elements): Allow to be exported.
+ 	(ghs_pragma_section): Move to v850-c.c.
+ 	(ghs_pragma_interrupt): Move to v850-c.c.
+ 	(ghs_pragma_starttda): Move to v850-c.c.
+ 	(ghs_pragma_startsda): Move to v850-c.c.
+ 	(ghs_pragma_startzda): Move to v850-c.c.
+ 	(ghs_pragma_endtda): Move to v850-c.c.
+ 	(ghs_pragma_endsda): Move to v850-c.c.
+ 	(ghs_pragma_endzda): Move to v850-c.c.
+ 
+ 	* config/v850/v850-c.c: New file: Contains v850 specific
+ 	pragma parsing functions.
+ 
+ 2000-11-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc (extra_objs): Remove duplicate description.
+ 	(c_target_objs): New variable.  Contains target specific
+ 	object files for the gcc C compiler only.
+ 	(cxx_target_objs): New variable.  Contains target specific
+ 	object files for the gxx C++ compiler only.
+ 
+ 	* configure.in (c_target_objs): Substitute in the makefile.
+ 	(cxx_target_objs): Substitute in the makefile.
+ 	* configure: Regenerate.
+ 
+ 	* Makefile.in (C_TARGET_OBJS): Define and initialize from
+ 	c_target_objs.
+ 	(CXX_TARGET_OBJS): Define and initialize from
+ 	cxx_target_objs.
+ 	(C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
+ 
+ 	* cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
+ 
+ 	* tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
+ 	about how the use of the 'c_lex' function requires the use of
+ 	the target specific, language specific object files feature of
+ 	the configuration mechanism.
+ 
+ Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcc.c (process_command): Use F_OK, not R_OK.
+ 
+ 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
+ 
+ 	* flow.c (print_rtl_and_abort): Remove ANSIism.
+ 
+ Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (GENERAL_REGISTER_P,
+ 	GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
+ 	FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
+ 	all over.
+ 	(SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
+ 	* config/sh/sh.c: Use new macros.
+ 	* config/sh/sh.md: Likewise.
+ 
+ Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
+ 	instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
+ 	in PSImode.
+ 
+ Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
+ 	fixed.
+ 	(machine_dependent_reorg): Wrong optimization based on
+ 	NOTICE_UPDATE_CC removed.
+ 
+ Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* jump.c (delete_computation): Re-instate deletion of feeding insn.
+ 	(delete_insn): Look for REG_LABEL notes.
+ 	(redirect_tablejump): Delete feeding insns.
+ 
+ 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
+ 	call_value_pop_1): Make sure operand numbers are contiguous.
+ 
+ 	* fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
+ 
+ 	* reload1.c (conflicts_with_override): New function.
+ 	(emit_input_reload_insns): Use it to tighten test for validity
+ 	of substituting into output of previous insn.
+ 
+ 	* haifa-sched.c (struct ready_list): New.
+ 	(ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
+ 	functions.
+ 	(schedule_insn): Replace args READY and N_READY with a pointer to a
+ 	ready_list; return void.  Use the new functions to access the ready
+ 	list.  All callers changed.
+ 	(queue_to_ready, debug_ready_list): Likewise.
+ 	(schedule_block): Initialize a ready_list structure.  Use new
+ 	functions to access it.
+ 	(max_priority): Remove unused variable.
+ 	(schedule_insn): Don't set it.
+ 
+ 	* c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
+ 
+ 	* combine.c (cant_combine_insn_p): New function.
+ 	(try_combine): Use it.
+ 
+ 	* Makefile.in (c-common.o): Depend on $(OBSTACK_H).
+ 	* c-common.c (c-obstack.c): Include "obstack.h".
+ 	(struct reverse_tree): Delete.
+ 	(reverse_list, reverse_max_depth): Delete.
+ 	(build_reverse_tree, common_ancestor, modify_ok): Delete functions.
+ 	(struct tlist, struct tlist_cache): New.
+ 	(tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
+ 	(add_tlist, merge_tlist, verify_tree, warning_candidate_p,
+ 	warn_for_collisions, warn_for_collisions_1, new_tlist): New
+ 	static functions.
+ 	(verify_sequence_points): Rewritten.
+ 	* fold-const.c (fold): Don't lose possibly important sequence
+ 	points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
+ 
+ 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
+ 	when reversing a register-to-register copy.  Reversal now disabled
+ 	when the previous instruction has a REG_EQUIV.
+ 
+ 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-parse.in (unary_expr): Move VA_ARG from here ...
+ 	(primary): ... to here.
+ 
+ 2000-11-23  Graham Stott  <grahams@redhat.com>
+ 
+ 	* expr.c (store_constructor): If a field is non addressable and
+ 	the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
+ 
+ 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* flow.c (print_rtl_and_abort): New function.
+ 	(verify_wide_reg, verify_local_live_at_start): Try to dump more
+ 	information before aborting.
+ 
+ 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
+ 	is narrower than requested mode.
+ 	(gen_highpart): Abort if register mode is narrower than
+ 	requested mode.
+ 
+ 2000-11-23  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cse.c (cse_insn): Initialize all regcost variables.
+ 	Fix a typo add missing '='.
+ 	Only compare costs if there is a replacement insn.
+ 
+ Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* final.c (output_addr_const) [LABEL_REF]: Simplify.
+ 	[MINUS]: Enclose non-CONST_INTs in parentheses.
+ 	[default]: Try OUTPUT_ADDR_CONST_EXTRA.
+ 	* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
+ 	* varasm.c (decode_rtx_const) [CONST]: If it's not something
+ 	PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
+ 	instead of abort()ing.
+ 	* sh.c (output_pic_addr_const): Removed.  Fixed all callers.
+ 	* sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
+ 	formerly handled in output_pic_addr_const.
+ 	* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
+ 	operands of MINUS in CONSTs so that decode_rtx_const() will
+ 	accept them.
+ 
+ Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (mova_const): New pattern.
+ 	(GOTaddr2picreg): Use it.
+ 	* config/sh/sh.c (broken_move): Match it.
+ 	(mova_p): Don't match it.
+ 	(machine_dependent_reorg): Adjust it.
+ 
+ Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
+ 	Moved most register-number #defines...
+ 	* config/sh/sh.md (define_constants): ... here.  Use macros to
+ 	refer to registers and unspecs.
+ 	* config/sh/sh.c: Likewise.
+ 
+ Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
+ 	(rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
+ 	(alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
+ 	(splay-tree.o, hash.o): Likewise.
+ 	GCONFIG_H: New.
+ 	(rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
+ 	(bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
+ 	(hashtab.o): Likewise.
+ 	(gcov.o): Depend on $(CONFIG_H).
+ 	* configure.in: #include insn-codes.h in tm.h.
+ 
+ 2000-11-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
+ 	const char * to avoid a compile time warning.
+ 
+ 	* config/arm/arm.md (define_constants): Define symbolic names for
+ 	the link register, last integer register and the fake CC register.
+ 	Update patterns to use these symbolic names.
+ 
+ 2000-11-22  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (trigraph_ok): Ensure we don't warn twice.
+ 	* cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
+ 
+ 2000-11-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* haifa-sched.c (sched_analyze_1): Don't special-case calls
+ 	for clobbering registers.
+ 	(sched_analyze_2): Likewise.
+ 	(sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
+ 
+ 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
+ 	    Neil Booth  <neilb@earthling.net>
+ 
+ 	* gcc.c (validate_switches): Validate multiple switches named
+ 	in '|' (or) expressions in specs.
+ 	(handle_braces): If more than 1 alternative in a '|' spec
+ 	matches, call do_spec1 just once.
+ 
+ 2000-11-22  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* d30v.h (TARGET_SWITCHES): Add documentation strings.
+ 	(TARGET_OPTIONS): Ditto.
+ 	(OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
+ 	-O3.
+ 
+ Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (hppa_encode_label): Account for addition of encoding
+ 	character when allocating persistent space for the new label
+ 	name.
+ 
+ 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* Makefile.in, config.gcc, configure.in: Expunge remaining
+ 	traces of facility for running MD files through C preprocessor.
+ 
+ 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcov.texi: Add magic comments for texi2pod.pl.
+ 	* Makefile.in: Add rules to generate and install gcov.1.
+ 	* gcov.1: New (generated) file.
+ 
+ 2000-11-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (scan_rtx_reg): Terminate the chain rather than
+ 	abort on mark_read with NO_REGS.
+ 
+ 2000-11-21  Mike Stump  <mrs@wrs.com>
+ 
+ 	* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
+ 	compilation with older compilers, such as /bin/cc on SunOS.
+ 	* fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
+ 
+ 2000-11-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (record_constant): Pad the constructed
+ 	constant_descriptor appropriately.
+ 
+ Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* rtl.h (traverse_md_constants): Declare.
+ 	(struct md_constant): Define.
+ 	* Makefile.in (HOST_RTL): Add hashtab.o .
+ 	(OBJS): Add hashtab.o .
+ 	(hashtab.o): New rule.
+ 	(rtl.o): Depends on HASHTAB_H.
+ 	* rtl.c (hashtab.h): #include.
+ 	(md_constants): New static variable.
+ 	(def_hash, def_name_eq_p, read_constants): New static functions.
+ 	(traverse_md_constants): New function.
+ 	(read_name): Do constant expansion.
+ 	(read_rtx): Recognize define_constants.
+ 	* gencodes.c (print_md_constant): New function.
+ 	(main): Emit #defines for all constant definitions encountered.
+ 	* md.texi (Constant Definitions): New node.
+ 	* gensupport.c (xcalloc): New function.
+ 
+ 2000-11-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
+ 	* config/alpha/alpha-protos.h: Declare it.
+ 	* config/alpha/alpha.md (abstf_internal): Use it.
+ 	(negtf_internal): Likewise.
+ 	(andnotdi3): Unstar the name.
+ 	(movtf_internal): Add o/G alternative.
+ 
+ 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* stringpool.c (stringpool_statistics): Also report number and
+ 	percentage of entries which are identifiers.
+ 
+ 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
+ 	visited before visiting it.
+ 
+ 2000-11-21  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
+ 	TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
+ 
+ 	* config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
+ 
+ 2000-11-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (c_unsafe_for_reeval): New function.
+ 	(add_c_tree_codes): Register it.
+ 	* c-common.h: Declare it.
+ 	* tree.c (lang_unsafe_for_reeval): New hook.
+ 	(unsafe_for_reeval): Call it.
+ 	* tree.h: Declare it.
+ 
+ 2000-11-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
+ 	references as well.
+ 
+ 2000-11-21  Neil Booth  <neilb@earthling.net>
+ 
+ 	* do_includes: Revert to using cpp_read_file.
+ 
+ 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* loop.c (consec_sets_giv): If the reg we're examining is anything
+ 	but UNKNOWN_INDUCT, do nothing.
+ 	Reset the reg's type to UNKNOWN_INDUCT before returning.
+ 
+ 	Mostly from Vladimir Makarov (vmakarov@redhat.com)
+ 	* ia64.md (attr itanium_class): Define insn types as described in
+ 	Itanium docs.
+ 	(all insn patterns): Use itanium_class, not type attributes.
+ 	Occasionally split alternatives as necessary.
+ 	(attr type): Compute from new attr itanium_class.
+ 
+ 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tradcpp.c (output_line_command): Mark system headers as such in
+ 	`line' commands.
+ 
+ 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc
+ 	support in as as well.
+ 	* configure: Regenerate.
+ 
+ 2000-11-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-lex.c (orig_filename): New variable.
+ 	(init_c_lex): Set it.  Move call to cpp_start_read ...
+ 	(yyparse): ... here.  New function.
+ 	* c-parse.in (yyparse_1): Rename the parser entry point.
+ 	* c-tree.h: Declare it.
+ 
+ 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (do_compare_and_jump): If op0 was replaced by promoted
+ 	integer constant, use type of op1 for comparison.
+ 
+ 2000-11-20  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/xm-darwin.h: New file, Darwin host definitions.
+ 	* config/rs6000/x-darwin: New file, Darwin host fragment.
+ 	* config.gcc (powerpc-*-darwin*): New host.
+ 	* system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
+ 	overridden by a config file.
+ 
+ 2000-11-20  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (paste_tokens): Rename from paste_payloads.
+ 	Change token type after pasting spellings.
+ 	(paste_all_tokens): Use it.
+ 	* gcc.dg/cpp/paste2.c: Update test.
+ 	* objc/execute/paste.m: New test.
+ 
+ 2000-11-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
+ 	dwarf_subscr_data_formats bits.
+ 	* dwarfout.c (simple_type_size_in_bits): Handle a type with
+ 	no computed size as size zero.
+ 	(field_byte_offset): Likewise.
+ 	(subscript_data_attribute): Handle a range with no upper bound.
+ 
+ 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h (const): Check __STDC__ before undef'ing `const'.
+ 
+ 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (build_conditional_expr): When merging type
+ 	qualifiers for conditional expressions between a pointer and a
+ 	pointer to a void type, merge the qualifiers on the target types
+ 	rather than the pointer type.  Remove obsolete conditioned out
+ 	code.
+ 
+ 2000-11-20  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-lang.c (lang_init_options): Update call to
+ 	cpp_reader_init.
+ 	* cppmain.c (main): Similarly.
+ 	* fix-header.c (read_scan_file): Similarly.
+ 	* cp/lex.c (lang_init_options): Similarly.
+ 	* objc/objc-act.c (lang_init_options): Similarly.
+ 	* cppexp.c (parse_number): Only warn for unextended C89.
+ 	* cppinit.c (set_lang): New function.
+ 	(cpp_reader_init): Take a LANG argument and pass it to set_lang.
+ 	(COMMAND_LINE_OPTIONS): New option std=c++98.
+ 	(cpp_handle_option): Use set_lang.
+ 	* cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
+ 	* cppib.h (enum_c_lang): New enumeration.  Update comments.
+ 
+ 2000-11-20  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* calls.c (expand_call): Clear target only when target is in
+ 	hard register and current_function_check_memory_usage is set.
+ 
+ 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* toplev.c (rest_of_compilation): Run optimize_mode_switching even
+ 	if not optimizing.
+ 	* sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
+ 
+ 2000-11-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* crtstuff.c (force_to_data): Use array size 1 not 0.
+ 
+ 	* dwarf2out.c (simple_type_size_in_bits): Handle a type with
+ 	no computed size as size zero.
+ 	(field_byte_offset): Likewise.
+ 
+ 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc: Fix another typo.
+ 
+ 2000-11-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Support flexible array members.
+ 	Use open-ended ranges for these and zero-length arrays.
+ 	* c-typeck.c (push_init_level): Validate the context of
+ 	initialization of a zero-length array.
+ 	* tree.c (int_fits_type_p): Be prepared for missing bounds.
+ 	* varasm.c (array_size_for_constructor): New.
+ 	(output_constructor): Use it for arrays of unspecified length.
+ 	* extend.texi (Zero Length): Mention C99 flexible array members.
+ 	Document initialization in a top-level struct as valid.
+ 
+ 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
+ 
+ 	* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
+ 	stdarg and varargs functions.
+ 
+ 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* gcc.c (process_command): Define 'j' variable when
+ 	MODIFY_TARGET_NAME is defined.
+ 
+ 2000-11-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
+ 
+ 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
+ 	calculation and allocation.
+ 
+ 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (c_getstr): Constify variable.
+ 	* gmon-sol2.c (_mcleanup): Comment out #endif labels.
+ 	* conflict.c (const_conflict_graph_arc): New typedef.
+ 	(arc_hash, arc_eq): Avoid needlessly casting away const-ness.
+ 	* cppmacro.c (builtin_macro): Likewise.
+ 	* dwarf2out.c (output_comp_unit): Constify variable.
+ 	* fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
+ 	* protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
+ 	* ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
+ 	away const-ness.
+ 	* tradcpp.c (rescan, do_line, macroexpand, macarg): Use
+ 	ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
+ 	* varasm.c (const_str_htab_hash, const_str_htab_eq,
+ 	compare_constant_1, record_constant_1): Constify.
+ 
+ 2000-11-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Special case the creation of an
+ 	index for a zero-length array.
+ 	* tree.c (build_index_type): Revert Oct 20 change.
+ 
+ 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
+ 	* config/avr/avr.c (jump_tables_size): New variable.
+ 	(function_prologue): Initialize it as 0.
+ 	(function_epilogue): Add it to function_size.
+ 	(avr_output_addr_vec_elt): New function.  Count words in jump
+ 	tables in jump_tables_size.  Move code ...
+ 	* config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
+ 	Call avr_output_addr_vec_elt instead.
+ 	* config/avr/avr.md (tablejump): Remove disabled define_expand.
+ 
+ 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.in: Make --enable-new-gxx-abi the default.
+ 	* configure: Likewise.
+ 
+ 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
+ 
+ 	* tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
+ 	Move extern function declarations to tradcpp.h.
+ 
+ 	* tradcpp.c: Likewise.
+ 
+ 	* tradcpp.h: New file.
+ 
+ 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (check_for_loop_decls): New function.
+ 	* c-parse.in (for_init_stmt): New.
+ 	(select_or_iter_stmt): Use for_init_stmt.
+ 	* c-tree.h (check_for_loop_decls): New declaration.
+ 
+ 2000-11-18  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppinit.c: Update comments.
+ 	(cpp_reader_init): Make -imacro and -include use the standard
+ 	#include "" search path.
+ 	(do_includes): New function.
+ 
+ 2000-11-18  Ben Elliston  <bje@redhat.com>
+ 
+ 	* config/sh/crt1.asm (start_l): Move PC-relative move instruction
+ 	out of a branch delay slot.
+ 
+ 2000-11-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
+ 	(ASM_SPEC): Disable and enable .mdebug based on -gstabs.
+ 	(ASM_FILE_START): Only write out ecoff .file directive if
+ 	emitting mdebug debugging.
+ 
+ 2000-11-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
+ 	whether as accepts .file/.loc and produces dwarf2 line info.
+ 	* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
+ 	the assembler supports it.
+ 	* config.in, configure: Regenerate.
+ 
+ 2000-11-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
+ 
+ 2000-11-17  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
+ 	Don't clear need_barrier is next_insn is a CALL_INSN, or has
+ 	instruction type B or UNKNOWN.
+ 
+ 2000-11-17  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpperror.c (print_file_and_line): Don't display line number if 0.
+ 
+ 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
+ 	digit_vector and digit_string.
+ 	* stringpool.c (digit_vector): New.
+ 	(ggc_alloc_string): Use digit_string.
+ 
+ 	* stmt.c (digit_strings): Delete.
+ 	(init_stmt): Do not initialize digit_strings.
+ 	(expand_asm_operands): Use ggc.h's digit_string macro.
+ 	* toplev.c (mark_file_stack): Delete.
+ 	(compile_file): Don't call init_tree_codes.
+ 	(main): No need to make the file stack a GC root.
+ 	* tree.c (init_tree_codes): Delete.
+ 	* tree.h (init_tree_codes): Delete.
+ 
+ 	* c-lex.c: Don't include ggc.h.
+ 	(mark_splay_tree_node, mark_splay_tree): Delete.
+ 	(init_c_lex): No need to ggc_strdup string constant.  Don't add
+ 	file_info_tree to GGC roots.
+ 	(cb_enter_file, cb_rename_file): No need to ggc_strdup
+ 	ip->nominal_fname.
+ 
+ 	* Makefile.in (c-lex.o): No longer depends on $(GGC_H).
+ 
+ 	* dbxout.c (dbxout_init),
+ 	dwarf2out.c (dwarf2out_line),
+ 	ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
+ 	varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
+ 	xcoffout.c (xcoffout_source_file),
+ 	i386.c (load_pic_register):
+ 	Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
+ 
+ 	* except.c (create_rethrow_ref),
+ 	profile.c (init_edge_profiler),
+ 	toplev.c (compile_file),
+ 	varasm.c (named_section, assemble_static_space,
+ 	assemble_trampoline_template, output_constant_def, force_const_mem),
+ 	i386.c (load_pic_register),
+ 	ia64.c (ia64_encode_section_info),
+ 	rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
+ 	rs6000_emit_prologue, rs6000_emit_epilogue),
+ 	rs6000.md (load_toc_aix_si, load_toc_aix_di):
+ 	Change ggc_alloc_string (var, -1) to ggc_strdup (var).
+ 
+ 	* profile.c (output_func_start_profiler),
+ 	tree.c (make_node),
+ 	i386.c (load_pic_register): No need to ggc_strdup string constant.
+ 
+ 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* Makefile.in (config.status): Depend on config.gcc.
+ 	* configure.in <for machine in $build $host $target>: Move
+ 	contents of loop into config.gcc, removing autoconf quoting.
+ 	Fix changequote bug for alpha*-*-vxworks*.
+ 	* configure: Regenerate.
+ 	* config.gcc: New.
+ 
+ 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* c-parse.in (if_prefix): Find the filename and line number at
+ 	$-2 and $-1 respectively.
+ 	* diagnostic.c (error_recursion): Add missing newline, use
+ 	fputs, translate string.
+ 
+ 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* stringpool.c: New file.
+ 	* ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
+ 	(ggc_alloc_string): Now in stringpool.o.
+ 	* ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
+ 	* ggc.h: Delete prototype of ggc_add_string_root.  #define
+ 	ggc_add_string_root and ggc_mark_string to nothing.  Prototype
+ 	init_stringpool and stringpool_statistics.
+ 	(ggc_alloc_string): Returns a const char *.
+ 	* tree.c (hash_table, do_identifier_warnings): Delete.
+ 	(init_obstacks): Don't initialize the identifier hash table.
+ 	(get_identifier, maybe_get_identifier, start_identifier_warnings,
+ 	set_identifier_size): Now in stringpool.c.
+ 	* tree.h (struct tree_string): Constify pointer field.
+ 	(approx_sqrt): Prototype.
+ 
+ 	* Makefile.in (stringpool.o): Add rule, mention in OBJS.
+ 
+ 	* toplev.c (approx_sqrt): New function.
+ 	(compile_file): Call stringpool_statistics if mem_report is on.
+ 	(main): Call init_stringpool.
+ 
+ 	* builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
+ 	(process_directive), c-typeck.c (constructor_asmspec, struct
+ 	initializer_stack, start_init), except.c (create_rethrow_ref),
+ 	stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
+ 	(built_in_filename), varasm,c (in_named_name,
+ 	assemble_static_space, struct constant_descriptor, struct
+ 	deferred_string, struct pool_constant, force_const_mem),
+ 	i386.c (pic_label_name, global_offset_table_name), rs6000.c
+ 	(rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
+ 
+ 	* c-common.c (combine_strings): Combine strings in scratch
+ 	buffer, then pass to build_string.
+ 	* optabs.c (init_libfuncs), profile.c (init_edge_profiler,
+ 	output_func_start_profiler), stmt.c (init_stmt), alpha.c
+ 	(alpha_need_linkage), arm.c (arm_encode_call_attribute),
+ 	i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
+ 	rs6000.c (rs6000_encode_section_info): Create string in
+ 	scratch buffer, then pass to ggc_alloc_string.
+ 
+ 	* stmt.c (expand_asm_operands): If we must adjust the
+ 	constraint strings, do so by creating a new one, not by
+ 	modifying the old one in place.  Constify some char *s.
+ 	* config/pa/pa.c (hppa_encode_label): Drop unnecessary second
+ 	argument.  Create string in scratch buffer, then pass to
+ 	ggc_alloc_string.
+ 	* config/pa/pa-protos.h: Update prototype.
+ 	* config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
+ 	hppa_encode_label takes only one argument.
+ 
+ 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
+ 	malloc/realloc.
+ 
+ 	* cpplib.c (glue_header_name): Likewise.
+ 
+ 	* fixincl.c (run_compiles, start_fixer): Likewise.
+ 
+ 	* fixlib.c (load_file_data): Likewise.
+ 
+ 	* mkdeps.c (munge): Likewise.
+ 
+ 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
+ 	trailing ';'.  Fix formatting.
+ 
+ 2000-11-16  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
+ 	Shift masks left by one to avoid conflict.
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
+ 	DECL_EXTERNAL set.
+ 
+ 2000-11-16  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (output_arm_prologue): Note nested functions.
+ 	(arm_expand_prologue): For nested functions preserve the
+ 	static chain register during stack frame creation.
+ 
+ 	* config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
+ 	(ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
+ 	with a stack frame there is a 4 byte gap between the arg
+ 	pointer and the hard frame pointer (used to preserve the
+ 	static chain register during stack frame creation).
+ 
+ 2000-11-16  DJ Delorie  <dj@redhat.com>
+ 
+ 	* rtl.c (read_rtx): Provide suitable names for unnamed
+ 	define_insn and define_insn_and_split patterns, based on file
+ 	and line numbers.
+ 
+ 2000-11-15  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplib.c (start_directive, end_directive): New functions.
+ 	(_cpp_handle_directive, run_directive): Use them.
+ 	(_cpp_handle_directive): Don't -Wtraditional on indented
+ 	null directives.
+ 	(_cpp_push_buffer): Don't re-clear was_skipping.
+ 	* cpplib.h (struct cpp_reader): New member la_saved.
+ 	* cppmacro.c (cpp_get_token): Don't interpret _Pragma in
+ 	directives.
+ 
+ 	gcc.dg/cpp/_Pragma1.c: Update.
+ 	gcc.dg/cpp/_Pragma2.c: New test.
+ 
+ 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.c (wrapup_global_declarations): Don't write out
+ 	artificial static variables that aren't needed.
+ 
+ 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* ia64.c (struct group): New structure.
+ 	(last_group): New static array.
+ 	(group_idx): New static variable.
+ 	(emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
+ 	New static functions.
+ 	(emit_insn_group_barriers): Initialize and keep track of group_idx
+ 	and last_group.
+ 	Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
+ 	Replace all calls to emit_insn_after that emit a group barrier to use
+ 	emit_group_barrier_after.
+ 	* ia64.h (MASK_B_STEP): New.
+ 	(other MASK_XXX macros): Renumbered.
+ 	(TARGET_B_STEP): New.
+ 	(TARGET_SWITCHES): Add -mb-step.
+ 
+ 2000-11-15  Fred Fish  <fnf@be.com>
+ 
+ 	* fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
+ 	machines for which fixincludes is not needed.
+ 	* config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
+ 
+ 2000-11-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* diagnostic.c (finish_abort): New fn.
+ 	(fancy_abort, error_recursion): Use it.
+ 	* toplev.c (crash_signal): Likewise.
+ 	* diagnostic.h: Declare it.
+ 
+ 2000-11-13  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree.c (build_type_no_quals): New function.
+ 	* tree.h (build_type_no_quals): Declare.
+ 	* c-common.c (c_get_alias_set): When considering type
+ 	compatibility for pointer types, ignore cv-qualifiers anywhere in
+ 	a pointer chain.
+ 
+ 2000-11-15  Graham Stott  <grahams@redhat.com>
+ 
+ 	* regrename.c (scan_rtx_rtx): Skip to the next chain on
+ 	encountering a terminated chain.
+ 
+ 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.in: Move check for V3 above check for C++ header-file
+ 	directory.
+ 	* configure: Regenerated.
+ 
+ 2000-11-14  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/v850/v850.c: Remove obstacks.
+ 
+ Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (avr_case_values_threshold): New.
+ 	(avr_override_options): Set it depending on options, make it large
+ 	when not optimizing to work around "unable to generate reloads".
+ 
+ 	* config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
+ 	(EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
+ 	executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
+ 	(avr_case_values_threshold): Declare as extern int.
+ 	(CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
+ 
+ 	* config/avr/avr.md (tablejump): Removed.
+ 	(*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
+ 	(*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
+ 	index in the table, not multiplied by 2.
+ 	(casesi): Change to match the above insns.  Always enable.
+ 
+ 	* config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
+ 	Change to expect the word address of the table, multiply it by 2
+ 	here and not in the caller.  Change "adiw" to faster "inc".
+ 
+ 2000-11-14  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppexp.c (parse_defined): Call cpp_get_token not
+ 	_cpp_get_token.
+ 	(lex): Similarly.
+ 	* cpplex.c (cpp_output_line): Similarly.
+ 	* cpplib.c (glue_header_name, do_line, do_ident,
+ 	parse_answer, parse_assertion): Similarly.
+ 	(_cpp_handle_diretive): Don't save to lookaheads
+ 	when processing directives.
+ 	* cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
+ 	_cpp_get_token.
+ 	(funlike_invocation_p): Don't save to lookaheads
+ 	when pre-expanding arguments.
+ 	(_cpp_get_token): Delete.
+ 	(cpp_get_token): Merge contents of _cpp_get_token.
+ 
+ 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_setjmp): Set
+ 	current_function_calls_setjmp.
+ 	(expand_builtin_longjmp): Set current_function_calls_longjmp.
+ 
+ 	* config/sparc/sparc.md (builtin_setjmp_setup): New expand.
+ 	(do_builtin_setjmp_setup): New insn.
+ 
+ Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (get_unwidened): Use host_integerp and tree_low_cst.
+ 	(int_fits_type_p): For variable bounds, call force_fit_type.
+ 
+ 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (struct deferred_string): New structure.
+ 	(const_str_htab): New variable.
+ 	(STRHASH): New macro.
+ 	(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
+ 	constr_str_htab_eq, const_str_htab_del): New functions.
+ 	(output_constant_def): Add DEFER argument, defer string
+ 	constants until mark_constant_pool time if requested.
+ 	(mark_constant_pool): Walk the insn chain even if const_str_htab is
+ 	not empty.
+ 	(mark_constants): If a SYMBOL_REF for deferred string is found,
+ 	output it and remove from hash table.
+ 	(output_addressed_constants): Set DEFER to 0 in call to
+ 	output_constant_def.
+ 	* rtl.h (STRING_POOL_ADDRESS_P): Define.
+ 	(output_constant_def): Adjust prototype.
+ 	* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
+ 
+ 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
+ 	signed types if flag_trapv.
+ 
+ 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* tradcpp.c, tradcif.y: Update FSF mailing address, delete
+ 	reference to GPLv1.
+ 
+ 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.h (CTI_C_SIZE_TYPE): Update comment.
+ 
+ 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
+ 	to array of pool_constnat pointers.
+ 	(struct pool_constant): Add next_sym and label members.
+ 	(struct pool_sym): Remove.
+ 	(init_varasm_status): Change pool_sym into pool_constant.
+ 	(mark_pool_constant): Mark pc->label string as well.
+ 	(mark_pool_sym_hash_table): Remove.
+ 	(mark_varasm_status): Remove it from caller as well.
+ 	(free_varasm_status): Don't free pool_sym structures.
+ 	(force_const_mem): Don't allocate pool_sym structure, instead
+ 	fill pool->label and chain it into rtx_sym hash table.
+ 	(find_pool_constant, mark_constant_pool): Use pool_constant instead
+ 	of pool_sym.
+ 
+ 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reload1.c (emit_input_reload_insns): Honor forcing of constants
+ 	into memory by PREFERRED_RELOAD_CLASS NO_REGS.
+ 
+ 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
+ 
+ 	* dominance.c: New file.
+ 	* Makefile.in (OBJS): Add dominance.o.
+ 
+ 	* flow.c (compute_flow_dominators): Remove.
+ 	(compute_immediate_dominators): Remove.
+ 	(compute_immediate_postdominators): Remove.
+ 	* basic-block.h: Remove their prototypes.
+ 	(calculate_dominance_info): Add prototype.
+ 
+ 	* dce.c (eliminate_dead_code): Change calls to above functions.
+ 	Don't compute dominators but only immediate dominators.
+ 	* flow.c (flow_loops_find): Change callers.
+ 	* gcse.c (compute_code_hoist_data): Likewise.
+ 	* haifa-sched.c (schedule_insns): Likewise.
+ 	* ifcvt.c (if_convert): Likewise.
+ 	* ssa.c (convert_to_ssa): Likewise, and only compute immediate
+ 	dominators.
+ 
+ 2000-11-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (warn_if_unused_value): Don't warn if the expression
+ 	has side effects.
+ 
+ 	* c-typeck.c (c_sizeof): Fold result to c_size_type_node.
+ 	(c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
+ 
+ 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* loop.c (basic_induction_var): Revert accidental checkin.
+ 
+ 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* c-lex.c (cb_leave_file): Harmonize conditions and order of
+ 	statements to those of process_directive for (action == act_pop).
+ 
+ 	* collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
+ 
+ 	* local-alloc.c (equiv_init_movable_p): References to CC0 are not
+ 	movable.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (stmts_and_decls): Deprecate use of label at end of
+ 	compound statement.
+ 
+ 2000-11-13  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
+ 	cases return without MI check.
+ 	* cpplib.c (do_diagnostic): Take boolean of whether to
+ 	print the directive name.
+ 	(do_error, do_warning): Update.
+ 	(do_pragma_dependency): Use it.
+ 	* cpplib.h (VARARGS_FIRST): Delete.
+ 	(struct cpp_token): Delete integer.
+ 	* cppmacro.c (enter_macro_context): Move disabled check
+ 	to _cpp_get_token.
+ 	(_cpp_get_token): Simplify into a single loop.
+ 
+ 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* configure.in:  Use 'test -f' not '[ -e'.
+ 	* configure: Regenerated.
+ 
+ 2000-11-13  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (store_movm): Note which registers are
+ 	really used or clobbered.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (ends_in_label): Remove from %union and %type.
+ 	(decls, stmts, lineno_stmt_or_labels, xstmts,
+ 	lineno_stmt_or_label, stmt_or_label): Remove.
+ 	(stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
+ 	lineno_stmt_decl_or_labels_ending_decl,
+ 	lineno_stmt_decl_or_labels_ending_label,
+ 	lineno_stmt_decl_or_labels_ending_error,
+ 	lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
+ 	lineno_stmt, lineno_label): New.
+ 	(compstmt_nostart): Use compstmt_contents_nonempty.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (boolean_increment): New function.
+ 	* c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
+ 	CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
+ 	(c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
+ 	(boolean_increment): Declare.
+ 	* c-convert.c (convert): Allow for BOOLEAN_TYPE.
+ 	* c-decl.c (init_decl_processing): Create boolean nodes.
+ 	(finish_struct): Allow for _Bool bitfields.
+ 	* c-parse.in (reswords): Add _Bool.
+ 	(rid_to_yy): Allow for RID_BOOL.
+ 	* c-typeck.c (default_conversion): Make booleans promote to int.
+ 	(convert_arguments, build_unary_op, build_modify_expr,
+ 	convert_for_assignment): Allow for booleans.
+ 	* ginclude/stdbool.h: Make conforming to C99.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (c99_block_start, c99_block_end,
+ 	c99_block_lineno_labeled_stmt): New.
+ 	(simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
+ 	(stmt): Split off selection and iteration statements into...
+ 	(select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
+ 	-time): Update.
+ 
+ 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
+ 	Rewrite to avoid use of match_dup.  Don't try to tie registers that
+ 	are not in the same mode.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Update lists of languages and suffixes supported.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Take toplevel configure arguments from the
+ 	environment to create configargs.h and substitute
+ 	gcc_config_arguments, taking account of any existing configargs.h
+ 	if reconfiguring.
+ 	* configure: Regenerate.
+ 	* gccbug.in: Include toplevel configure arguments in gccbug.
+ 
+ 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* varasm.c (struct constant_descriptor): Put CONTENTS inside a
+ 	union to make it well-aligned.  Update all uses.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (initelt): Give appropriate pedantic warnings,
+ 	depending on flag_isoc99, for non-ISO syntax and for C99 syntax
+ 	outside C99 mode.
+ 	(designator): If pedantic, pedwarn for a designator specifying a
+ 	range of elements.
+ 	* c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
+ 	these cases.
+ 	* extend.texi: Document the C99 syntax as the preferred syntax,
+ 	and the pre-2.5 syntax as obsolete.  Mention use of designator
+ 	lists for nested subobjects.
+ 
+ 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
+ 	Add ATTRIBUTE_PRINTF.
+ 	* tradcpp.c (v_message, warning, error, fatal, error_with_line):
+ 	Add ATTRIBUTE_PRINTF*.
+ 
+ 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (assign_parms): When calling put_var_into_stack, make
+ 	sure that there are no hidden pending sequences.
+ 
+ 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
+ 	BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
+ 	BUILT_IN_STRRCHR.
+ 
+ 	* builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare index and
+ 	rindex when nonansi builtins are allowed.
+ 
+ 	* extend.texi (index, rindex): Document new builtins.
+ 
+ 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.in: Turn on libstdc++ V3 by default.
+ 	* configure: Regenerated.
+ 
+ 	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
+ 
+ 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reload1.c (set_label_offsets): Go inside of PARALLELs.
+ 
+ 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Clean up option summary.
+ 
+ 2000-11-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mcore/mcore.c: Fix comment formating, and adjust sequence
+ 	of #include headers.
+ 
+ 2000-11-12  Marc Espie <espie@openbsd.org>
+ 
+ 	* configure.in: Fix filds test.
+ 	* configure: Regen.
+ 
+ 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* jump.c (delete_computation): Don't assume that just because an
+ 	instruction sets a register, that register is dead.
+ 
+ 2000-11-12  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppexp.c: Don't worry about pfile->skipping.
+ 	* cpplib.c (struct if_stack): Make was_skipping unsigned char.
+ 	(cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
+ 	for handled directives.
+ 	(skip_rest_of_line): Use _cpp_lex_token after popping contexts
+ 	and releasing lookaheads.
+ 	(do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
+ 	(do_else, do_elif, push_conditional): Update logic.
+ 	(do_endif): Set buffer->was_skipping rather than pfile->skipping.
+ 	(unwind_if_stack): Inline into cpp_pop_buffer.
+ 	(cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
+ 	* cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
+ 	multiple-include optimisation.
+ 	* cpplib.h (struct cpp_buffer): New member was_skipping.
+ 	* cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
+ 	works because skipping == 0 in directives.
+ 	(_cpp_release_lookahead): Renamed from release_lookahead.
+ 	(cpp_get_token): No need to check skipping as _cpp_get_token does
+ 	this for us.  No need to handle MI optimisation.
+ 
+ Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
+ 
+ 	* fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
+ 	declarations that use `__MATH_EXCEPTION' in their prototypes, too.
+ 	* fixinc/fixincl.x: Regenerated.
+ 
+ 2000-11-11  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
+ 	(avoid_wchar_t_type): ditto
+ 	* fixinc/fixinc.irix: obsoleted
+ 
+ 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* configure.in: Don't add $outputs to all_lang_makefiles.  Add
+ 	$srcdir/$s/Makefile.in if it exists.
+ 	* configure: Regenerate.
+ 
+ Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
+ 
+ 	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
+ 
+ 2000-11-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	* function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
+ 	give the parm a register and then call put_var_into_stack.
+ 	* stmt.c (expand_decl): Likewise.
+ 
+ 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi: Adjust wording.
+ 
+ 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fixinc/inclhack.def (avoid_wchar_t_type): New fix.
+ 	* fininc/fixincl.x: Regenerated.
+ 
+ 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Correct spelling of -foptimize-register-move.
+ 
+ 2000-11-11  Neil Booth  <neilb@earthling.net>
+ 
+ 	Remove CPP_PLACEMARKERs.
+ 
+ 	* cppexp.c (lex): Don't handle CPP_PLACEMARKER.
+ 	* cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
+ 	* cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
+ 		   Similarly.
+ 	* cpplib.h: Remove CPP_PLACEMARKER.
+ 	(struct lexer_state): Rename skip_newlines to next_bol.
+ 	* cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
+ 	Simplify prev_white handling as a result.
+ 	(paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
+ 	(parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
+ 	(parse_args): Similarly.  Update argument count tests.
+ 	(enter_macro_context): Return 2 to indicate an empty macro.
+ 	(replace_args): Don't bother pre-expanding an empty argument.
+ 	Handle placemarkers and ## extension during pre-expansion.
+ 	(cpp_get_token): Handle empty macro expansions.  Don't worry
+ 	about CPP_PLACEMARKERs.
+ 	(_cpp_create_definition): Empty macros are now empty.
+ 	(cpp_macro_definition): Don't special case empty macros.
+ 	* scan-decls.c: Don't bother with CPP_PLACEMARKERs.
+ 	* c-lex.c: Similarly.
+ 
+ 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi, invoke.texi: Add new section discussing language
+ 	standards; link to it where appropriate; refer to ISO C instead of
+ 	ANSI C.
+ 
+ 2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
+ 	into account.
+ 
+ 	* config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
+ 	modes.
+ 
+ 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi, gcov.texi: Update dates and version numbers.
+ 
+ 2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
+ 	flex and bison, specifically, first in a unified build and
+ 	then installed on the system.
+ 	* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
+ 	LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
+ 	match.
+ 
+ 	(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
+ 	cppdefault.o): Remove pointless sed munging of source file
+ 	name.
+ 
+ 2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
+ 	for address reloads.  Push replacements for REG_INC notes.
+ 	(regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
+ 	callers changed.
+ 	* reload1.c (choose_reload_regs): Registers set in the insn can't be
+ 	used for RELOAD_OTHER reloads.
+ 
+ 2000-11-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-dump.h: New file.
+ 
+ 2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (check_float_value): Use memcpy, not bcopy.
+ 	* arm.c (output_move_double): Likewise.
+ 	* arm.md: Likewise.
+ 	* m88k.c (legitimize_operand): Likewise.
+ 	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
+ 	* m88k.md: Likewise.
+ 	* mips.c (override_options): Likewise.
+ 	* mips.md: Likewise.
+ 	* romp.c (output_fpops): Likewise.
+ 	* rs6000.c (rs6000_override_options): Likewise.
+ 	* sh.md: Likewise.
+ 	* vax.c (check_float_value): Likewise.
+ 
+ 	* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
+ 	* expmed.c (synth_mult): Likewise.
+ 	* final.c (add_bb_string): Likewise.
+ 	* genattr.c (main): Likewise.
+ 	* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
+ 	Likewise.
+ 	* jump.c (thread_jumps): Likewise.
+ 	* prefix.c (save_string): Likewise.
+ 	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
+ 	* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
+ 	* reload1.c (reload, eliminate_regs): Likewise.
+ 
+ 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi (Service): Update to reflect current practice and
+ 	location of the GNU service directory.
+ 
+ 2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* regrename.c (build_def_use): Mark contents of REG_INC notes as
+ 	needing replacement.
+ 
+ 	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
+ 	a no-op move if regs are equal.
+ 	* toplev.c (rest_of_compilation): Do the noop moves elimination pass
+ 	when calling jump after post-reload splitting.
+ 
+ 2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* c-tree.texi: Fix typos.
+ 	* extend.texi: Likewise
+ 	* gcov.texi: Likewise
+ 	* rtl.texi: Likewise
+ 	* tm.texi: Likewise
+ 
+ 2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
+ 	in_system_header and flags[1] before dereferencing flags[2].
+ 
+ 2000-11-09  Matthew Hiller <hiller@redhat.com>
+ 
+ 	* reload1.c (reload_combine): Fixed calculation of
+ 	first_index_reg, last_index_reg.
+ 
+ 2000-11-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-dump.c (dequeue_and_dump): Dump function bodies.
+ 
+ 	* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
+ 	(c-dump.o): New target.
+ 	* c-common.h (flag_dump_translation_unit): New variable.
+ 	(C_TYPE_QUALS): New macro.
+ 	(strip_array_types): New function.
+ 	(DECL_C_BIT_FIELD): New macro.
+ 	(SET_DECL_C_BIT_FIELD): Likewise.
+ 	(CLEAR_DECL_C_BIT_FIELD): Likewise.
+ 	(dump_info_p): New typedef.
+ 	(dump_tree_fn): Likewise.
+ 	(lang_dump_tree): New variable.
+ 	(dump_node_to_file): New function.
+ 	* c-common.c (flag_dump_translation_unit): Define it.
+ 	(strip_array_types): New function.
+ 	* c-decl.c (c_decode_option): Handle -fdump-translation-unit.
+ 	* c-lang.c (finish_file): Call dump_node_to_file if
+ 	flag_dump_translation_unit.
+ 	* c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
+ 	* c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
+ 	* c-dump.c: New file.
+ 
+ 2000-11-09  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Add mingw startfile prefix.
+ 
+ 2000-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (invalidate_mems_from_set): Split out from ...
+ 	(mark_set_1): ... here.
+ 	(try_pre_increment_1): Use it.  Use propagate_block_delete_insn
+ 	instead of turning insn into a NOTE_INSN_DELETED.
+ 
+ 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi, invoke.texi: Move documentation of builtin versions
+ 	of C library functions to one place and update.
+ 
+ 2000-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
+ 	the types themselves to discover type equivalence.
+ 
+ 2000-11-09  Mike Stump  <mrs@wrs.com>
+ 
+ 	* Makefile.in (distclean): Remove a few extra leftovers.
+ 
+ 2000-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (validate_replace_rtx_1): Consider subregs when
+ 	replacing a register with a constant inside a sign/zero_extend.
+ 
+ 	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 
+ 2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-decl.c (finish_struct): When a structure is completed,
+ 	check all its variant types for completeness.
+ 
+ 2000-11-09  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpphash.c: Move cpp_defined here from cpplib.c.
+ 	* cpplib.c: Update comments, move cpp_defined to cpphash.c.
+ 	* cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
+ 	* cppmacro.c (cpp_get_token): Update comments, no need now
+ 	to catch the CPP_EOF meaning EOL case.
+ 
+ 2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_va_arg): When the required alignment
+ 	is more than that provided, copy to a temporary.
+ 
+ 2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
+ 	interpreting $out as a macro assignment.
+ 	* Makefile.in (T_TARGET): New auxiliary macro and target.
+ 	(all): Add a target right in the beginning, so that we don't build
+ 	T_TARGET by default.
+ 
+ 2000-11-09  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/i386/i386.md (mmx_pinsrw): Output operands in correct
+ 	order for -mintel-syntax.  Remove comment now that the operand
+ 	order has been checked.
+ 	(mmx_pextrw): Likewise.
+ 	(mmx_pshufw): Likewise.
+ 
+ 2000-11-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
+ 	(c_getstr): New function.
+ 	(expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
+ 	If both arguments are constant string, optimize out.
+ 	(expand_builtin_strchr, expand_builtin_strrchr): New functions.
+ 	(expand_builtin_strpbrk): Use c_getstr, do nothing if
+ 	-fcheck-memory-usage.
+ 	(expand_builtin_fputs): Likewise.
+ 	(expand_builtin_strcmp): Add MODE argument.
+ 	Use even if !HAVE_cmpstrsi.
+ 	Optimize the case when both arguments are constant strings.
+ 	(expand_builtin): Adjust expand_builtin_strcmp caller.
+ 	Call expand_builtin_strchr and expand_builtin_strrchr.
+ 	* c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
+ 	builtins.
+ 	* builtins.def (BUILT_IN_STRRCHR): Add.
+ 
+ 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
+ 
+ 2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* calls.c (expand_call, emit_library_call_value_1), collect2.c
+ 	(scan_prog_file), config/a29k/a29k.c (print_operand),
+ 	config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
+ 	instead of bcopy ().
+ 	* real.h: Use memcmp () instead of bcmp ().
+ 	* config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
+ 	(split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
+ 	ultrasparc_sched_init, ultrasparc_sched_reorder),
+ 	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
+ 	instead of bzero ().
+ 	* config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
+ 	instead of rindex ().
+ 	* configure.in: Don't check for bzero, bcmp, index or rindex.
+ 	* configure, config.in: Regenerate.
+ 	* system.h: Don't include declarations for bzero, bcmp, index or
+ 	rindex.
+ 	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
+ 	bzero, bcmp, index or rindex.
+ 
+ Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
+ 	include and library paths from -mcygwin case.  Parameterize some
+ 	declarations to avoid warnings.  Use standard locations for include and
+ 	lib dirs.
+ 
+ 2000-11-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (mulsidi3adddi): Change output operand
+ 	constraint from "=&" to "+&".
+ 	(umulsidi3adddi): Change output operand	constraint from "=&" to
+ 	"+&".
+ 
+ 2000-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (init_propagate_block_info): Protect the rtx stored in
+ 	mem_set_list from modification by find_auto_inc.
+ 	(mark_set_1): Likewise.
+ 
+ 2000-11-08  Neil Booth  <neilb@earthling.net>
+ 
+ 	Move directive handling into the lexer itself.
+ 
+ 	* cpplex.c (_cpp_lex_token): Handle directives directly.
+ 	In the case of a directive interrupting a function-like
+ 	macro invocation, use extra_char since read_ahead is
+ 	used to store the '#'.  Return a CPP_EOF in this case.
+ 	* cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
+ 	(cpp_get_token): Don't handle directives here.
+ 	* cpplib.h: Remove CPP_DHASH token type.
+ 
+ Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
+ 	formed using PRE_MODIFY too.
+ 
+ 2000-11-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-tree.texi (VAR_DECL): Describe representation of GCC's
+ 	extension for placing variables in particular registers.
+ 
+ 	* c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
+ 	unprototyped C functions with no parameters.
+ 
+ 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
+ 	before passing to fprintf.
+ 
+ 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (expand_function_start): Cast GET_MODE_SIZE to
+ 	HOST_WIDE_INT before negating it.
+ 
+ 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
+ 	passed in multiple non-contiguous locations.
+ 
+ 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.gnat: Remove file.
+ 
+ 2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
+ 	in-place.
+ 
+ 2000-11-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarfout.c (INSN_LABEL_FMT): Remove.
+ 	(output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+ 	(dwarfout_label): Remove.
+ 	* dwarfout.h: Remove it's prototype.
+ 	* dwarf2out.c (INSN_LABEL_FMT): Remove.
+ 	(gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+ 	(dwarf2out_label): Remove.
+ 	* dwarf2out.h: Remove it's prototype.
+ 	* final.c (final_scan_insn): Don't call dwarf[2]out_label.
+ 
+ 2000-11-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
+ 	search on the unwind region section.
+ 
+ 	* config/ia64/ia64.md (movbi): Add r/r alternative.
+ 	(cmovdi_internal_astep): Describe all combinations of register
+ 	classes for sources & destinations; remove matching constraints.
+ 	(cmovdi_internal): Likewise.
+ 
+ 	* gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
+ 
+ 2000-11-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-lang.c (start_cdtor, finish_cdtor): New functions.
+ 	(finish_file): Use them in building constructor/destructor functions.
+ 
+ 	* config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
+ 	LD_FINI_SWITCH): Move ...
+ 	* config/alpha/osf.h: ... here.
+ 	* config/alpha/alpha-interix.h: Don't undef them.
+ 
+ 2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
+ 
+ 	* config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
+ 	included in libgcc.a.
+ 	(DPBIT): Likewise.
+ 	(dp-bit.c): Likewise.
+ 	(fp-bit.c): Likewise.
+ 
+ 2000-11-07  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
+ 	(INTERNAL_ASM_OP): Add missing tab.
+ 
+ 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* alias.c (init_alias_analysis), calls.c (expand_call,
+ 	emit_library_call_value_1), combine.c (init_reg_last_arrays),
+ 	cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
+ 	(init_output_buffer, set_diagnostic_context), dwarf2out.c
+ 	(equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
+ 	(init_emit_once), fold-const.c (mul_double, div_and_round_double),
+ 	function.c (assign_parms), gcse.c (compute_can_copy,
+ 	alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
+ 	compute_hash_table, compute_set_hash_table,
+ 	compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
+ 	(global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
+ 	clear_units, schedule_block), integrate.c (initialize_for_inline,
+ 	expand_inline_function), jump.c (thread_jumps), local-alloc.c
+ 	(local_alloc), loop.c (combine_movables, count_loop_regs_set,
+ 	load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
+ 	regclass.c (init_reg_sets, init_reg_sets_1, regclass,
+ 	record_reg_classes, allocate_reg_info), reload.c
+ 	(get_secondary_mem, remove_address_replacements, find_reloads),
+ 	reload1.c (reload, set_initial_label_offsets, finish_spills,
+ 	reload_as_needed, choose_reload_regs_init,
+ 	reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
+ 	(sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
+ 	(rename_registers), stmt.c (expand_end_case), unroll.c
+ 	(unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
+ 	() instead of bzero ().
+ 
+ 2000-11-07  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
+ 
+ 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (combine_strings): Only warn about long strings for C.
+ 
+ Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Fix typo in last change.
+ 
+ 2000-11-07  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (movdi_internal32+1): Use
+ 	operand_subreg_force rather than gen_rtx_SUBREG.
+ 	(movdi_internal32+2): Likewise.
+ 
+ 2000-11-07  Philip Blundell  <philb@gnu.org>
+ 
+ 	* configure.in (arm*-*-linuxaout*): Obsolete, deleted.
+ 	* config/arm/linux-aout.h: Likewise.
+ 	* configure: Regenerate.
+ 
+ 2000-11-07  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* ABOUT-GCC-NLS: Remove the patch for gettext as it has been
+ 	accepted my the gettext maintainer.
+ 
+ 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strpbrk): New function.
+ 	(expand_builtin): Handle BUILT_IN_STRPBRK.
+ 
+ 	* builtins.def (BUILT_IN_STRPBRK): New entry.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
+ 	strpbrk.
+ 
+ 2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
+ 
+ 	* config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
+ 	* POTFILES.in: Add config/alpha/freebsd.h
+ 	* configure.in: Add alpha*-freebsd support.
+ 	* configure: Regenerate.
+ 
+ 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
+ 	copy of ptr_type_node rather than ptr_type_node itself.
+ 
+ Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* combine.c (recog_for_combine): Allocate uninitialized vector with
+ 	rtvec_alloc.
+ 	* recog.c (apply_change_group): Likewise.
+ 
+ Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* flow.c (verify_local_live_at_start): Back out last change.
+ 	* combine.c (distribute_notes): When parts of a hard reg are
+ 	neither set nor referenced in PLACE, search backwards for a
+ 	place to put a REG_UNUSED note; if none found, ask for flow
+ 	info refresh.
+ 
+ Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
+ 	with (clobber (match_scratch...)).
+ 
+ 2000-11-06  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-lex.c (init_c_lex): If cpp_start_read fails, exit with
+ 	error status.
+ 
+ 2000-11-06  Neil Booth  <neilb@earthling.net>
+ 
+ 	* tradcpp.c (special_symbol): Assign an null string rather
+ 	than writing to an unallocated buffer.
+ 
+ 2000-11-06  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (_cpp_equiv_tokens): Check arg_no in the
+ 	CPP_MACRO_ARG case.
+ 
+ 2000-11-06  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
+ 	tok.val.arg_no as appropriate.
+ 	* cppexp.c (lex): Similarly.
+ 	* cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
+ 	cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
+ 	* cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
+ 	cpp_macro_definition): Similarly.
+ 	* cpplib.h (struct cpp_token): Replace aux with c and arg_no.
+ 
+ 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
+ 	operands[1] is constant, calculate the sum and generate movdi.
+ 	(addsi3): Similarly.  Use SImode in call to arith_4096_operand.
+ 	(subsi3): Use SImode in call to arith_4096_operand.
+ 
+ 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
+ 	adjust %o1, not %o0 if the return type is large structure.
+ 
+ 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
+ 	update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
+ 
+ Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* expmed.c (expand_divmod): For signed divide by 2, prefer
+ 	a branch and fewer shifts if branches are very cheap.
+ 
+ 2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in: Remove all targets related to building
+ 	distributions and diffs, or INSTALL.
+ 	* INSTALL, install1.texi: Remove.
+ 	* configure.in: Remove mention of distdir.
+ 	* configure: Regenerate.
+ 	* objc/Make-lang.in: Remove mention of distdir.
+ 
+ 2000-11-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpp.texi: Update for _Pragma.
+ 
+ 2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi (Contributing): Update URL for projects web page.
+ 
+ 2000-11-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (parse_string): Don't allow multiline strings in
+ 	#include family directives.
+ 
+ 2000-11-04  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplib.c (do_line): Only warn pedantically if not reading
+ 	preprocessed input.
+ 
+ 2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
+ 	RETURN_POPS_ARGS().
+ 
+ 2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* builtins.c (expand_builtin_strlen): Remove unused mode
+ 	argument.
+ 	* gcc.c (process_command): Remove unused variable.
+ 	* fold-const.c: Include expr.h.
+ 	* recog.c: Include reload.h.
+ 	* Makefile.in (recog.o, fold-const.o): Update deps.
+ 
+ 2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
+ 
+ Fri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
+ 	handling.
+ 	(STARTFILE_SPEC): Likewise.
+ 	(LINK_SPEC): Likewise.
+ 
+ 2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
+ 	(toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
+ 	(simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
+ 
+ 2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
+ 	(dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
+ 	perm_calloc, get_identifier, maybe_get_identifier,
+ 	real_value_from_int_cst, simple_cst_equal), varasm.c
+ 	(assemble_name, assemble_real, immed_real_const_1,
+ 	compare_constant_1, decode_rtx_const, output_constant_pool): Use
+ 	strrchr () instead of rindex ().  Use memcmp () instead of bcmp
+ 	().  Use memcpy () instead of bcopy ().  Use memset () instead of
+ 	bzero ().
+ 
+ 2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cppfiles.c (open_file): If already read, then don't reopen.
+ 	Immediately close an empty file.
+ 
+ 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* expr.h (fold_builtin): Move declaration...
+ 	* tree.h (fold_builtin): ... here.
+ 
+ Fri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* flow.c (verify_local_live_at_start): Allow hard regs to die.
+ 
+ 2000-11-02  Neil Booth  <neilb@earthling.net>
+ 
+ config:
+ 	* a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
+ 	alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
+ 	alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
+ 	alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
+ 	arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
+ 	arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
+ 	c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
+ 	elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
+ 	i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
+ 	i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
+ 	i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
+ 	i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
+ 	i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
+ 	i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
+ 	i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
+ 	i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
+ 	i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
+ 	i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
+ 	i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
+ 	i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
+ 	i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
+ 	ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
+ 	m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
+ 	m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
+ 	m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
+ 	m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
+ 	m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
+ 	m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
+ 	m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
+ 	m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
+ 	m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
+ 	m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
+ 	mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
+ 	mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
+ 	mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
+ 	mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
+ 	mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
+ 	mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
+ 	ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
+ 	ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
+ 	pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
+ 	pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
+ 	romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
+ 	rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
+ 	rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
+ 	rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
+ 	sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
+ 	sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
+ 	sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
+ 	sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
+ 	sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
+ 	sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
+ 	sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
+ 	v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
+ 	vax/vaxv.h, vax/vms.h, we32k/we32k.h
+ 
+ 	Replace -A() with -A=, the new assertion syntax.
+ 
+ Thu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
+ 	elim_i1.
+ 	In REG_DEAD handling: When handling parts of multi-hard-reg hard
+ 	registers, increment the loop counter by the size of the parts;
+ 	use recursion to handle individual parts.
+ 
+ 2000-11-02  Neil Booth  <neilb@earthling.net>
+ 
+ 	* configure.in: Make integrated CPP the default.
+ 	* configure: Regenerate.
+ 
+ Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload.c (find_equiv_reg): Test all hard registers for membership
+ 	in the requested class.
+ 
+ 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* collect2.c (main, write_c_file_stat), gcc.c (translate_options,
+ 	process_command, main), gcov.c (open_files, output_data), tlink.c
+ 	(frob_extension, scan_linker_output), toplev.c
+ 	(file_name_nondirectory): Use strchr () and strrchr () instead of
+ 	index () and rindex ().
+ 
+ 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (get_flag_spec, check_format_info_main,
+ 	check_format_types): Use strchr () instead of index ().  Compare
+ 	against error_mark_node instead of comparing the TREE_CODE against
+ 	ERROR_MARK.
+ 
+ 2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
+ 
+ 	Integrated CPP.
+ 
+ 	* c-lex.c (init_c_lex): Update cpp_start_read call.
+ 	(cb_ident): Update for new callback prototype.
+ 	(cb_def_pragma): Update for new cpp_get_token prototype.
+ 	(c_lex): Similarly.  Use cpp_get_line.
+ 
+ 	* c-parse.in (finish_parse): Update for new cpp_finish
+ 	prototype.
+ 
+ 	* cp/lex.c (finish_parse): Similarly.
+ 
+ 2000-11-01  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* machmode.def: Add V16QImode.
+ 
+ 2000-11-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Check for null result
+ 	from rtl_for_decl_location.
+ 	(add_location_or_const_value_attribute): Likewise.
+ 
+ 2000-11-01  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplib.c (run_directive): Use correct line number for output
+ 	of _Pragma.  Remember any in-progress directive.
+ 
+ 	* gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
+ 
+ 2000-11-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (expand_start_null_loop): Set continue_label.
+ 
+ 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
+ 	(expand_builtin_constant_p): Move parts of the code into
+ 	fold_builtin_constant_p.
+ 	(expand_builtin_strlen): Move parts of the code into fold_builtin.
+ 	* expr.h (fold_builtin): Declare.
+ 	* fold-const.c (fold): Handle builtin calls.
+ 
+ 	* c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
+ 
+ 2000-11-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (expand_start_null_loop): New.
+ 	(expand_end_null_loop): New.
+ 	* c-semantics.c (genrtl_do_stmt): Use them.
+ 	* tree.h: Declare them.
+ 
+ 2000-11-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cppmain.c (scan_buffer): Don't avoid paste for assembly.
+ 
+ 2000-11-01  Neil Booth  <neilb@earthling.net>
+ 
+ 	* c-parse.in (_yylex): Remove CPP_BACKSLASH case.
+ 	* cp/spew.c: Similarly.
+ 	* cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
+ 	* cppmacro.c (stringify_arg): Similarly.
+ 	* cpplib.h (CPP_BACKSLASH): Delete.
+ 
+ 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strstr): New function.
+ 	(expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
+ 
+ 	* builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
+ 	and builtin strchr.
+ 
+ 2000-10-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (fcmov_comparison_operator): Check for
+ 	CCFPmode or CCFPUmode instead of CCmode.
+ 	(ix86_expand_fp_movcc): Call ix86_expand_setcc for most
+ 	unordered operations as well.
+ 
+ 2000-10-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
+ 	of integer_zero_node.
+ 
+ 2000-10-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-semantics.c (genrtl_do_stmt): Special case do/while(0).
+ 
+ 2000-10-31  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
+ 	-fdata-sections to override the section attribute of a DECL.
+ 
+ 2000-10-31  Chris Demetriou  <cgd@sibyte.com>
+ 
+ 	* libgcc2.c (__shtab): Remove __shtab variable.
+ 	* libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
+ 	* Makefile.in (LIB2FUNCS): Remove _shtab from list of library
+ 	members.
+ 
+ 2000-10-31  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
+ 	* tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
+ 	* dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
+ 	instead of ASM_OUTPUT_INTERNAL_LABEL.
+ 	(dwarf2out_end_block, dwarf2out_label): Likewise.
+ 	* final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
+ 	* config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
+ 
+ 2000-10-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
+ 	(size_of_locs): Set it.
+ 	(output_loc_operands): Use it to compute branch displacement.
+ 	(int_loc_descriptor): New.
+ 	(mem_loc_descriptor): Dereference memory in the proper size.
+ 	Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
+ 	(loc_descriptor_from_tree): New.
+ 	(rtl_for_decl_location): Break out from ...
+ 	(add_location_or_const_value_attribute): ... here.
+ 	(add_bound_info): Use loc_descriptor_from_tree.
+ 
+ 2000-10-31  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpp.texi: Update for new command line assertion syntax.
+ 	* cpplib.c (cpp_define): Simplify a bit.
+ 	(cpp_assert, cpp_unassert): Use handle_assertion.
+ 	(handle_assertion): New function; accept new command line
+ 	syntax with '='.
+ 	* testsuite/gcc.dg/cpp/assert3.c: New tests.
+ 
+ 2000-10-31  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
+ 	undefined.  Remove #ifdef check.
+ 	* config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
+ 	Define STDC_0_IN_SYSTEM_HEADERS to 1.
+ 
+ 2000-10-31  Jan Hubicka  <jh@suse.cz>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h: Clarify CCNOmode description in comment.
+ 	(EXTRA_CC_MODES): Remove CCRCmode.
+ 	* config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
+ 	(put_condition_code, ix86_match_ccmode): Likewise.
+ 	(ix86_cc_mode): Likewise.  Fix comment.
+ 	(ix86_expand_strlensi_unroll_1): *rc patterns are gone.
+ 	* config/i386/i386.md: Add unspec 12 description.
+ 	(adddi3 split): Use unspec 12 instead of CCRCmode.
+ 	(addsi3_carry_rc): Remove.
+ 	(addsi3_cc, addqi3_cc): New patterns.
+ 	(addsi_3): Swap operands, match CCZmode.
+ 	(addsi_4): Rewritten.
+ 	(addsi_5): Renamed from addsi_6.
+ 	(addsi_6): Removed.
+ 	(addhi_3): Swap operands, match CCZmode.
+ 	(addhi_4): Rewritten.
+ 	(addhi_5): Renamed from addhi_6.
+ 	(addhi_6): Removed.
+ 	(addqi_3): Swap operands, match CCZmode.
+ 	(addqi_4): Rewritten.
+ 	(addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
+ 	(subsi3_carry_rc): Removed.
+ 	(iorqi_3): Use =q constraint for clobber.
+ 	(xorqi_cc_2): Likewise.
+ 	(negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
+ 	(x86_movsicc_0_m1_rc): Removed.
+ 	(cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
+ 
+ 2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
+ 	and decrement of complex types.
+ 
+ 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_fputs): When deleting NOP calls to
+ 	builtin fputs, ensure we still evaluate the stream in case it
+ 	has side-effects.
+ 
+ 2000-10-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
+ 	to expand_shift.
+ 
+ Tue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
+ 	(fp_extended_operand, emit_fpscr_use): Likewise.
+ 	* sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
+ 	(fpul_operand): New function.
+ 	* sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
+ 	fp_extended_operand.  Add fpul_operand.
+ 	* sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
+ 	(mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
+ 	(cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
+ 	(negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
+ 	(adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
+ 	(divdf3_i): Likewise.
+ 	(floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
+ 	(floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
+ 	(fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
+ 	(fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
+ 	(extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
+ 
+ 2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* config/i386/i386.c (ix86_init_builtins): Correct return type
+ 	building v4hi_ftype_v4hi_int_int tree node.
+ 	(ix86_expand_builtin): Use correct operand numbers 0 and 1.
+ 	Copy operand 0 into a Pmode register, don't generate a MEM rtx.
+ 
+ 	* config/i386/i386.md (sse_movntdi): Use mmx register constraint
+ 	for operand 1.
+ 	(mmx__uavgv8qi3): Correct insn mnemonic.
+ 	(mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
+ 	(mmx_punpckhwd): Correct insn mnemonic.
+ 	(mmx_punpckhdq): Likewise.
+ 	(mmx_punpcklwd): Likewise.
+ 	(mmx_punpckldq): Likewise.
+ 	(prefetch): Use immediare_operand and 'n' constraint for operand 1.
+ 	Renumber case labels to match the _mm_prefetch constants defined in
+ 	xmmintrin.h.
+ 
+ 	* recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
+ 	if the splitter didn't emit new insns.
+ 	Make sure we call cleanup_subreg_operands even when splitting the last
+ 	insn in a basic block.
+ 
+ 	* invoke.texi (Debugging Options): Describe -do.
+ 	* toplev.c (enum_dump_file_index): New entry DFI_postreload.
+ 	(dump_file): Likewise.
+ 	(rest_of_compilation): Split .greg dump into .greg and .postreload.
+ 
+ 2000-10-30  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppfiles.c (stack_include_file): Check for stacked contexts
+ 	here.
+ 	* cpphash.h (_cpp_do__Pragma): New prototype.
+ 	* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
+ 
+ 	* cpplex.c (skip_escaped_newlines): Only process trigraphs and
+ 	escaped newlines if !(buffer->from_stage3).
+ 	(_cpp_lex_token): Warn about missing newlines iff
+ 	!buffer->from_stage3.
+ 
+ 	* cpplib.c (get__Pragma_string, destringize,
+ 	_cpp_do__Pragma): New functions.
+ 	(run_directive): Set output_line for _Pragma to avoid line
+ 	markers in output.  Set from_stage3 and prevent macro expansion
+ 	for _Pragma and command-line options.  Check buffer exhaustion.
+ 	(cpp_push_buffer): Don't check for stacked macro contexts, as
+ 	this is perfectly legitimate for _Pragma.  Move the check to
+ 	stack_include_file instead. Set from_stage3 iff buffer is
+ 	preprocessed input.
+ 
+ 	* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
+ 	unsigned. New boolean from_stage3.
+ 	(struct spec_nodes): Add n__Pragma.
+ 
+ 	* cppmacro.c (enter_macro_context): Flip sense of return value.
+ 	(_cpp_get_token): Handle _Pragma operator.
+ 
+ 2000-10-30  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* gcc.texi:  The C++ standard isn't "draft" anymore.
+ 
+ 2000-10-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
+ 
+ 2000-10-29  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplib.c (skip_rest_of_line):  Use _cpp_get_token.
+ 
+ 2000-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* toplev.c, flags.h, fold-const.c, real.c, rtl.c,
+ 	fixinc/inclhack.def: Change comments mentioning C9X to refer to
+ 	C99 instead.
+ 
+ 	* invoke.texi: Document that -V will only work for very similar
+ 	versions of driver and compiler.
+ 
+ 2000-10-29  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cppmacro.c (_cpp_create_definition): Optimize the case of
+ 	a macro defined to itself.
+ 
+ 2000-10-29  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (save_comment): Don't store new lines in C++ comments.
+ 
+ 2000-10-29  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* integrate.c (copy_insn_list): Copy the unchanging flag for calls.
+ 
+ 2000-10-28  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* cpphash.c (cpp_forall_identifiers): Add context variable
+ 	for callback routine.
+ 	* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
+ 	change.
+ 	(main): Call cpp_forall_identifiers with null context.
+ 	* cpplib.h (cpp_forall_identifiers): Update prototype.
+ 
+ 	* cppmain.c: Make `parse_in' and `print' static.
+ 
+ 2000-10-28  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* c-decl.c (finish_function): Clear c_function_name_declared_p.
+ 
+ 2000-10-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (scan_rtx_address): Frob action, not class,
+ 	when trying to disable optimization.
+ 
+ 2000-10-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-semantics.c (make_rtl_for_local_static): Don't clobber
+ 	DECL_ASSEMBLER_NAME.
+ 
+ 2000-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Determine and substitute gcc_version_full.
+ 	* configure: Regenerate.
+ 	* gccbug.in: Use it to give full version.  Don't allow
+ 	confidential PRs.
+ 
+ 2000-10-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (split_all_insns): Run cleanup_subreg_operands
+ 	after reload.
+ 
+ 	* regrename.c (regrename_optimize): Verify that all registers of
+ 	a multiple register mode are available.
+ 	(scan_rtx_address): Accept the mode of the address; all callers
+ 	changed.
+ 
+ 	* cpplib.c (run_directive): Fix prototype.
+ 
+ 2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload.c (find_reloads): Distinguish "wins" so that we know whether
+ 	a given operand won because of a matching constraint or not; then use
+ 	that information to compute goal_alternative_matched properly.
+ 	* reload1.c (choose_reload_regs): Never set reload_override_in for an
+ 	optional reload.
+ 
+ 	* config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
+ 	accurate value for MULT.
+ 	* config/ia64/ia64.c (ia64_print_operand): Require probability to be
+ 	2% or > 98% before using static branch prediction bits.
+ 
+ 2000-10-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	New macro expander.
+ 
+ 	* cpplib.c (struct answer): New.
+ 	(struct if_stack): Use cpp_lexer_pos rather than line and col.
+ 	Rename cmacro mi_cmacro.
+ 	(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
+ 	IN_I): New directive and flags.
+ 	(skip_rest_of_line, check_eol, run_directive, glue_header_name,
+ 	parse_answer, parse_assertion, find_answer): New functions.
+ 	(parse_ifdef, detect_if_not_defined, validate_else): Remove.
+ 	(lex_macro_node): New function to replace parse_ifdef and
+ 	get_define_node.
+ 
+ 	(_cpp_handle_directive): New function, combines _cpp_check_directive
+ 	and _cpp_check_linemarker.
+ 
+ 	(do_define, do_undef, parse_include, do_include, do_import,
+ 	do_include_next, read_line_number, do_line, do_ident, do_pragma,
+ 	do_pragma_once, do_pragma_poison, do_pragma_dependency):
+ 	Update for new token getting interface.
+ 
+ 	(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
+ 	: Update for new multiple-include optimisation technique.
+ 	(do_elif): Don't forget to invalidate controlling macros.
+ 
+ 	(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
+ 	(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
+ 	Functions to handle assertions with the new token interface.
+ 	(do_assert, do_unassert): Use them.
+ 
+ 	(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
+ 	Use run_directive.
+ 
+ 	(_cpp_init_stacks): Register directive names.  Don't register special
+ 	nodes.
+ 
+ 	* cpperror.c (print_containing_files, _cpp_begin_message): Update to
+ 	new position recording regime.
+ 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+ 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
+ 	cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
+ 	(cpp_type2name): Move to cpplex.c.
+ 
+ 	* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
+ 	(parse_defined): Update to handle new multiple include optimisation
+ 	method.  Remove poisoned identifier warning.
+ 	(parse_assertion, TYPE_NAME): Delete.
+ 	(lex): Update for multiple include optimisation, removal of
+ 	CPP_DEFINED, to use _cpp_test_assertion for assertions and
+ 	cpp_token_as_text.
+ 	(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
+ 	(op_as_text): New function, to wrap cpp_token_as_text.
+ 
+ 	* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
+ 	Update for MI optimisation.
+ 	(_cpp_execute_include): Take a token rather than 3 arguments.  Fix
+ 	segfault on diagnostic.
+ 	(_cpp_compare_file_date): Take a token rather than 3 args.
+ 	(cpp_read_file): Work correctly for zero-length files.
+ 
+ 	* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
+ 	_cpp_init_hashtable and _cpp_cleanup_hashtable.
+ 	(cpp_lookup): Place identifiers at front of identifier pool
+ 	for _cpp_lookup_with_hash.
+ 	(_cpp_lookup_with_hash): Require identifiers to be at the front of
+ 	the identifier pool.  Commit the memory if not already in the
+ 	hash table.
+ 
+ 	* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
+ 	Initialize various members of cpp_reader, memory pools, and the
+ 	special nodes.
+ 	(cpp_printer_init): Delete.
+ 	(cpp_cleanup): Update.
+ 	(struct builtin, builtin_array, initialize_builtins): Update for new
+ 	hashnode definition and builtin handling.
+ 	(cpp_start_read, cpp_finish): Don't take or initialize a
+ 	printer.  Update.
+ 
+ 	* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
+ 	PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
+ 	T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
+ 	T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
+ 	(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
+ 	struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
+ 	NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
+ 	struct toklist, struct cpp_context, struct specnodes,
+ 	TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
+ 	NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
+ 	enum builtin_type, cpp_can_paste): New.
+ 	(struct cpp_token): Delete line and col members.
+ 	(struct cpp_buffer): New member output_lineno.
+ 	(struct lexer_state): Delete indented, in_lex_line, seen_dot.
+ 	Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
+ 	(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
+ 	ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
+ 	base_context, context, directive, mi_state, mi_if_not_defined,
+ 	mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
+ 	mlstring_pos, macro_buffer, macro_buffer_len.
+ 	Delete members mls_line, mls_column, token_list, potential_control_macro,
+ 	temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
+ 	context_cap, cur_context, no_expand_level, paste_level, contexts, args,
+ 	save_parameter_spellings, need_newline, .
+ 	Change type of date, time and spec_nodes members.
+ 	Change prototypes for include and ident callbacks.
+ 	(struct cpp_hashnode): Change type of name.  Remove union members
+ 	expansion and code.  Add members macro, operator and builtin.
+ 
+ 	(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
+ 	cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
+ 	cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
+ 	cpp_stop_lookahead): New prototypes.
+ 	(cpp_printer_init, cpp_dump_definition): Delete prototypes.
+ 
+ 	(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
+ 	Move from cpphash.h.
+ 
+ 	* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
+ 	ufputs): Move to cpplib.h.
+ 	(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
+ 	TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
+ 	COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
+ 	struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
+ 	_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
+ 	_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
+ 	_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
+ 	_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
+ 	_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
+ 	_cpp_parse_assertion, _cpp_find_answer): Delete.
+ 	(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
+ 	POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
+ 	_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
+ 	_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
+ 	_cpp_handle_directive, DSC): New.
+ 	(struct include_file): New member defined.
+ 
+ 	(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
+ 	_cpp_compare_file_date): Update.
+ 	(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
+ 	(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
+ 	_cpp_cleanup_hashtable.
+ 
+ 	* Makefile.in: Remove cppoutput.c.
+ 
+ 	* cppoutput.c: Delete
+ 
+ 	* fixheader.c (read_scan_file): Update for new cpp_get_token
+ 	prototype.
+ 	(recognized_function): New argument LINE.
+ 
+ 	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+ 	new cpp_get_token prototype.
+ 
+ 	* scan.h (recognized_function): Update prototype.
+ 
+ 	* po/POTFILES.in: Remove cppoutput.c.
+ 
+ 2000-10-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-typeck.c (check_init_type_bitfields): Remove.
+ 	(constructor_incremental): Likewise.
+ 	(struct constructor_stack): Remove incremental bit.
+ 	(struct initializer_stack): Likewise.
+ 	(start_init): Don't play with constructor_incremental.
+ 	(finish_init): Likewise.
+ 	(really_start_incremental_init): Likewise.
+ 	(push_init_level): Likewise.
+ 	(pop_init_level): Likewise.
+ 	(output_init_level): Likewise.
+ 	(output_pending_init_elements): Likewise.
+ 
+ 2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
+ 
+ 	* c-pragma.c (handle_pragma_pack): Initialize align to -1.
+ 	Improve error messages.  Correct parsing of
+ 	#pragma pack(pop [,id]).  Do not check the user-supplied
+ 	alignment if we're popping.
+ 
+ 	* gcc.dg/pack-test-1.c: New test case.
+ 	* gcc.dg/pack-test-2.c: New test case.
+ 	* gcc.dg/pack-test-1.h: New file.
+ 
+ 2000-10-27  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpp.texi: Update.
+ 
+ 2000-10-27  Kelley Cook <kelley.cook@home.com>
+ 
+ 	* invoke.texi: Document -mintel-syntax
+ 
+ 2000-10-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* invoke.texi: Document -frename-registers.  Add it to -O3.
+ 	* toplev.c (rest_of_compilation): Run regrename before ifcvt2.
+ 	(enum dump_file_index, dump_file): Update order.
+ 	(main): Set flag_rename_registers at -O3.
+ 
+ 2000-10-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (enum reg_class): Add PV_REG.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
+ 	(REG_CLASS_FROM_LETTER): Assign it to 'c'.
+ 	* config/alpha/alpha.md (call_osf_1): Use it.
+ 	(call_value_osf_1): Likewise.
+ 
+ 	* config/ia64/ia64.c: Revert 10-23 patch.
+ 	(ia64_hard_regno_rename_ok): New.
+ 	* config/ia64/ia64-protos.h: Declare it.
+ 	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
+ 
+ 2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c: Rewrite to handle multi-register modes and
+ 	cond_exec instructions.
+ 	* Makefile.in (regrename.o): Update dependencies.
+ 	* recog.h (struct operand_alternative): Add is_address.
+ 	* recog.c (preprocess_constraints) [case 'p']: Set it.
+ 
+ 2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* configure.in: If not NO_MINUS_C_MINUS_O, substitute
+ 	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
+ 	top level.  Kill oldstyle_subdirs.  Do not include
+ 	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
+ 	$outputs.  Do not run configure.lang from config.status.
+ 	Rearrange warning-flag logic to correspond to what the
+ 	makefile wants.  Put special vax stage1 options in
+ 	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
+ 	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
+ 	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
+ 	switch is given, nothing otherwise.
+ 	* configure.lang: Delete.
+ 
+ 	* Makefile.in: Expunge all traces of extra_c_objs,
+ 	extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
+ 	@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
+ 	warning options via a three level scheme so that -pedantic and
+ 	-Wtraditional are not used for non-C front ends: LOOSE_WARN,
+ 	STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
+ 	WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
+ 	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
+ 	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
+ 	LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
+ 	generation rules.  Wrap all rules that change the current
+ 	directory in parentheses; pmake doesn't spawn a new shell for
+ 	each command.  Expunge all references to $(P).  When one
+ 	command depends on another and they're run all at once, use &&
+ 	to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
+ 	deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
+ 	and beyond.
+ 
+ 	* objc/Make-lang.in: Wrap all rules that change the current
+ 	directory in parentheses.  Expunge all references to $(P).
+ 	When one command depends on another and they're run all at
+ 	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
+ 	all object-file generation rules.  Delete obsolete variables.
+ 	* objc/Makefile.in: Delete.
+ 
+ 2000-10-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* calls.c (expand_call): If sibcall_failure is set during pass 1,
+ 	clear tail_call_insns as well.
+ 
+ 2000-10-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
+ 	prototype.
+ 
+ 2000-10-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (expand_call): Supress sibcall if we have a
+ 	BLKmode return in registers.
+ 
+ 2000-10-26  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
+ 	into memory.
+ 
+ 2000-10-26  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.c (make_node, case 't'): Set alignment to that of
+ 	char_type_node.
+ 	* expr.c (move_by_pieces_ninsns): Abort if some length remains.
+ 
+ 2000-10-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
+ 	* configure.in (enable-libstdcxx-v3): Arrange to have
+ 	HAVE_LIBSTDCXX_V3 substituted into the output files.
+ 
+ 2000-10-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (constrain_operands): Initialize which_alternative
+ 	before no alternatives early exit.
+ 
+ 	* cse.c (find_comparison_args): Check that we can reverse a
+ 	comparison if needed before accepting the substitution.
+ 
+ 	* reload.c (find_reloads_address_part): Kill rtx obstack hackery.
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Sign extend
+ 	low words before sign extending to high words.
+ 
+ 2000-10-25  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mcore/mcore.c: Include config.h before system.h.
+ 
+ 2000-10-25  Ray Essick  <essick@ddna.labs.mot.com>
+ 
+ 	* config/mcore/mcore.md (return): Force function epilogue to
+ 	always be generated to work around epilogue suppression bug in
+ 	M*Core backend.
+ 
+ 2000-10-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Move warning for qualified void
+ 	return types with -pedantic to when the function type is
+ 	constructed.  At -W, warn in general for qualified function return
+ 	types, except for volatile void.
+ 	* invoke.texi: Document this new warning at -W.
+ 
+ 2000-10-25  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpp.texi: Update with implementation-defined behavior and
+ 	internal limits.
+ 
+ 2000-10-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
+ 	incomplete type force it into alias set 0.
+ 
+ Wed Oct 25 01:02:44 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c: Include basic-block.h.
+ 	(loop_p): New function.
+ 	(mark_constant_function): Use it.
+ 	* Makefile.in (alias.o): Update dependencies.
+ 
+ 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
+ 	like memory.
+ 
+ 2000-10-24  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): Move integer pun code down after
+ 	code that calls emit_move_insn for entire register move.
+ 	* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
+ 	Oct 20 changes.  Only store mode in TYPE_MODE if RECORD_TYPE.
+ 
+ 2000-10-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
+ 	register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
+ 
+ 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* gcse.c (cprop_insn): do not propagate constants into jump_insn
+ 	for machines with CC0 more than once.
+ 
+ 2000-10-24  Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
+ 	pseudos just like memory.
+ 
+ 2000-10-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
+ 	when deleting libcall sequence collapsed to a single instruction.
+ 
+ 2000-10-24  Andrew Haley  <aph@cygnus.co.uk>
+ 
+ 	* expr.c (do_store_flag): Don't crash if either side of a
+ 	comparison is error_mark_node.
+ 
+ 2000-10-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* sibcall.c (purge_mem_unchanging_flag): New function.
+ 	(optimize_sibling_and_tail_recursive_calls): Call it.
+ 
+ 2000-10-24  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* Makefile.in (check-po): New target for doing checks in the po
+ 	subdir if all languages configured.
+ 	(CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
+ 	configure if NLS is enabled.
+ 	* configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
+ 	otherwise leave empty.
+ 	* configure: Regenerate.
+ 
+ 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* i386.c (print_operand): Handle new 'A' formatting code.
+ 	387 opcodes need suffixes even with -mintel-syntax.
+ 	Check for explicit size override (codes 'b', 'w' and 'k').
+ 	(print_operand_address): Check if register prefix is needed when
+ 	emitting `ds' segment override.
+ 	* i386.h: Add comment about new 'A' formatting code.
+ 	* i386.md (jump and call patterns): Emit absolute references using %A.
+ 
+ 2000-10-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
+ 	output registers as fixed.
+ 	(ia64_function_epilogue): Undo output fixation.
+ 
+ 2000-10-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.md: Add names for all unnamed insns; use
+ 	define_insn_and_split in some obvious places.
+ 	(lda): Remove.
+ 	(zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
+ 	(zero_extendqisi2, zero_extendqidi2): Likewise.
+ 	(zero_extendhisi2, zero_extendhidi2): Likewise.
+ 	(abs splitters): Fix match_scratch operand number.
+ 	(bcc_reverse): Swap pc & label instead of non-canonical compare.
+ 
+ 2000-10-23  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* ia64.c (ia64_print_operand, case 'r'): Correct comment.  Handle
+ 	CONST_INT.
+ 	* ia64.md (cmpsi_adjusted): Use %r3.
+ 	(cmpdi_adjusted): Likewise.
+ 
+ 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* config/i386/att.h (ASM_FILE_START): Define.
+ 
+ 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* config/i386/linux.h (ASM_FILE_START): Define.
+ 
+ Wed Oct 18 11:16:40 2000  Donald Lindsay  <dlindsay@cygnus.com>
+ 
+ 	* gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
+ 	since this (only) drags in a crt0.o reference that the .ld files
+ 	also introduce.
+ 
+ 2000-10-23  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
+ 	overwrite the value in a RELOAD_FOR_INPUT and other kinds of
+ 	reloads just like an RELOAD_FOR_OUTPUT would.
+ 
+ 	* local-alloc.c (update_equiv_regs): Add an abort().  When
+ 	deleting or moving insns, update reg_equiv[regno].init_insns.
+ 
+ 2000-10-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-tree.texi: Improve documentation for IF_STMTs and related
+ 	conditional statements.
+ 
+ 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (do_preexpand_calls): Remove.
+ 	(same_from_p): Don't use CALL_EXPR_RTL.
+ 	(expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
+ 	(preexpand_calls): Remove.
+ 	* tree.c (first_rtl_op): Remove CALL_EXPR case.
+ 	(unsave_expr_1): Likewise.
+ 	* tree.def (CALL_EXPR): Give it only two slots.
+ 	* tree.h (CALL_EXPR_RTL): Remove.
+ 
+ 2000-10-21  Chandrakala Chavva   <cchavva@redhat.com>
+ 
+ 	* libgcc-std.ver (__addvsi3, __addvdi3,  __subvsi3, __subvdi3,
+ 	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
+ 	New functions.
+ 
+ 2000-10-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* calls.c (combine_pending_stack_adjustment_and_call): Don't
+ 	adjust stack when unadjusted_alignment ends up as zero.
+ 
+ 2000-10-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* fixinc/genfixes: Remove EGCS reference.
+ 	* install.texi: Remove EGCS reference.
+ 	* INSTALL: Regenerate.
+ 
+ 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
+ 
+ 2000-10-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* diagnostic.c: Remove EGCS reference in comment.
+ 
+ Sat Oct 21 08:24:25 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* loop.c (strength_reduce): Fix error in last change.
+ 
+ 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* Makefile.in (SHLIB_NM_FLAGS): New.
+ 	(libgcc.mk): Pass it.
+ 	* mklibgcc.in (libgcc.map): Use it.
+ 
+ 	* rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
+ 	SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
+ 
+ 2000-10-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
+ 
+ 	* sparc.c (load_pic_register): Delete unused varaible.
+ 
+ 	* libgcc2.c (__addvsi3): Delete unused variable.
+ 
+ 	* libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
+ 	__subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
+ 	__negvdi2): Prototype.
+ 
+ 	* ssa.c (apply_delayed_renames): Avoid undefined operation.
+ 
+ 	* toplev.c (display_target_options): Make static to match
+ 	prototype.  Delete empty declaration.
+ 
+ 2000-10-20  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
+ 	* gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
+ 
+ Fri Oct 20 17:05:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
+ 	returned MEM.
+ 	(expand_expr_unaligned, case ARRAY_REF): Check that index is
+ 	a constant before comparing it; use tree_low_cst.
+ 	* tree.c (save_expr): Set TREE_READONLY.
+ 	(substitute_expr): Return inside of NON_LVALUE_EXPR.
+ 	(build, build1): Set TREE_READONLY if all operands are.
+ 	(build_index_type): If upper bound is a negative number, lower
+ 	bound is zero and sizetype is unsigned, use upper bound of one and
+ 	lower of zero.
+ 
+ 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* gcc.c (process_command, main): Use "because" instead of
+ 	"since" in error messages.
+ 
+ Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (compute_record_mode): Use tree_low_cst.
+ 	Don't use mode of field for record unless sizes are the same.
+ 	(layout_type, case ARRAY_TYPE): Remove special bounds handling
+ 	previously added for Ada; also change to using host_integerp
+ 	and tree_low_cst.
+ 
+ 	* loop.c (strength_reduce): Show when new register made for
+ 	giv is known to be a pointer and its aligment if so and known.
+ 	(loop_dump_aux): Show VERBOSE parameter unused.
+ 
+ 	* gcse.c (set_hash_table_size): Now unsigned.
+ 	* sdbout.c (template_name_p): Add "const" to avoid warnings.
+ 	(sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
+ 	(sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
+ 	(sdbout_end_epilogue): Remove variable NAME.
+ 	* system.h (getopt): Add default definition.
+ 	* config/alpha/alpha.c (print_operand): Don't continue processing
+ 	after issuing error.
+ 	(summarize_insn): Avoid use of UL in constant.
+ 
+ 	* function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
+ 
+ 	* fold-const.c (force_fit_type): Unsigned values can overflow
+ 	if they are sizetype.
+ 	(int_const_binop): Don't use cache if overflows.
+ 
+ 2000-10-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (locate_and_pad_parm): Zero alignment_pad.
+ 
+ 	* regrename.c (rr_replace_reg): Rewrite to use recog_data to
+ 	perform substitutions, and apply_change_group to see if it worked.
+ 
+ Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
+ 
+ 	* combine.c (struct undo): Change int to unsigned int.
+ 	(do_SUBST_INT): Args are unsigned int.
+ 	(make_extraction, force_to_mode): Use proper type when forming mask.
+ 	(make_field_assignment): Likewise.
+ 
+ 2000-10-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info_recurse): Extract string constant
+ 	initializers from non-volatile constant arrays and check them as
+ 	formats.
+ 	* c-typeck.c (decl_constant_value): Don't check pedantic or check
+ 	for DECL_MODE (decl) != BLKmode.
+ 	(decl_constant_value_for_broken_optimization): New function which
+ 	includes these checks.
+ 	(default_conversion, convert_for_assignment, digest_init): Use
+ 	decl_constant_value_for_broken_optimization instead of
+ 	decl_constant_value.
+ 
+ 2000-10-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (DECL_ALIGN_UNIT): New macro.
+ 
+ 2000-10-14  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr-protos.h (avr_output_bld): New.
+ 	(out_shift_with_cnt): Add t_len argument.
+ 	* config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
+ 	(output_movqi, output_movhi, output_movsisf): Optimize loading
+ 	any constant with exactly one bit set to NO_LD_REGS.
+ 	(out_shift_with_cnt): Optimize output code for size or speed,
+ 	depending on optimize_size.  Handle small shift counts as well
+ 	(if not hand-optimized in ?sh??i3_out).  Shifts can be done
+ 	with or without a scratch register, with help of __tmp_reg__
+ 	or __zero_reg__ if necessary.  Add T_LEN argument to pass the
+ 	length of TEMPLATE in words, return total insn length in *LEN.
+ 	(ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
+ 	out_shift_with_cnt to work with the above change.
+ 	(ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
+ 	lshrsi3_out): Likewise.  Optimize more known shift count cases.
+ 	Remove cases already well optimized in out_shift_with_cnt.
+ 	(avr_output_bld): New function.
+ 	* config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
+ 	(TARGET_SWITCHES): Remove -mpack-args backward compatibility.
+ 	* config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
+ 	Add reload_completed to insn condition - only for peepholes.
+ 	(ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
+ 	in a register or memory.
+ 	(ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
+ 	Do not require a scratch register.
+ 	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
+ 	*lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
+ 	Optimize shifts by known count using a scratch register, but only
+ 	if one is still available after register allocation.
+ 
+ 2000-10-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* t-vax: New file.  Don't build modules from libgcc1.c.
+ 
+ Fri Oct 20 00:57:00 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c: (mark_constant_function): Don't check pure functions.
+ 	Initialize and end alias analysis.
+ 	(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
+ 	Don't make a special exception for recursion.  Handle
+ 	UNSPEC_VOLATILE.  Don't assume ASM_OPERANDS is non-local
+ 	unless it's volatile.
+ 
+ 	* local-alloc.c (equivalence): New structure.
+ 	(reg_equiv): Define.
+ 	(contains_replace_regs): Remove array and use
+ 	field in reg_equiv.
+ 	(memref_referenced_p): Likewise.
+ 	(no_equiv): Likewise.
+ 	(update_equiv_regs): Likewise.
+ 
+ 	(equiv_init_varies_p,
+ 	equiv_init_movable_p): New functions.
+ 	(update_equiv_regs): Use them.  Use rtx_varies_p
+ 	instead of function_invariant_p.  Process insns
+ 	from end to beginning.  Allow a REG_EQUIV insn
+ 	within the same loop as a use to be moved, also
+ 	allow it to be moved out of a loop.  Update
+ 	REG_DEAD notes when substituting into an insn.
+ 
+ 2000-10-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-decl.c (start_decl): Check for error_mark_node type before using
+ 	COMPLETE_TYPE_P.
+ 	(finish_decl): Likewise.  Don't give an error if decl type is
+ 	already error_mark_node.
+ 
+ 	* haifa-sched.c (compute_trg_info): Add explanatory comments.
+ 	New local update_blocks.  Use update_blocks to remove duplicates
+ 	when computing update blocks.  Check for bblst_table overflow.
+ 	(schedule_block): Add explanatory comment.  Reduce bblst_size by
+ 	factor of 2.
+ 	* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
+ 	notes.
+ 
+ 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+ 
+ 	* libgcc2.c (_mulvsi3): Change variables u and v to a and b.
+ 
+ 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+ 
+ 	* expmed.c: Minor corrections in comments.
+ 	* invoke.texi: Added desciption for the new option -ftrapv.
+ 
+ 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
+ 
+ 	* libgcc2.c: Added the missing #endif.
+ 
+ Thu Oct 19 14:25:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
+ 
+ 2000-10-18  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
+ 	Use smulv_optab for -ftrapv.
+ 	(expand_mult_highpart): Use unsigned multiply.
+ 	(expand_divmod): Special-case division by -1.
+ 	For EXACT_DIV_EXPR, do right shift first, then the multiply.
+ 	For complex divide, use abs with unsigned result.
+ 	* expr.c (force_operand): Use unsigned multiply.
+ 	(expand_expr): Use overflow-trapping optabs for signed types if
+ 	flag_trapv.
+ 	If flag_trapv, don't generate a recursive call with EXPAND_SUM
+ 	if the type is signed and the original call wasn't EXPAND_SUM or
+ 	EXPAND_INITIALIZER.
+ 	* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
+ 	(negv_optab, absv_optab): Declare.
+ 	* flags.h (flag_trapv): Declare.
+ 	* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
+ 	smulv_optab, sdivv_optab, negv_optab and absv_optab.
+ 	(gen_insn): Interpret '$P' as requiring an integer mode,
+ 	including partial integer modes.
+ 	* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
+ 	(product_cheap_p): Use unsigned expand_mult.
+ 	* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
+ 	(negv_optab, absv_optab): Define.
+ 	(expand_binop): Use overflow-trapping optabs for signed types if
+ 	flag_trapv.
+ 	Handle negv_optab libe neg_optab.
+ 	(expand_abs): Take result_unsignedp argument instead of unsignedp one.
+ 	Use overflow-trapping optabs for signed result if flag_trapv.
+ 	(expand_complex_abs): Use overflow-trapping optabs for signed types if
+ 	flag_trapv.
+ 	Don't open-code complex absolute-value operation for flag_trapv.
+ 	(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
+ 	sdivv_optab, negv_optab and absv_optab.
+ 	* toplev.c (flag_trapv): Define.
+ 	(lang_independent_options f_options): Include flag_trapv.
+ 	* tree.h (TYPE_TRAP_SIGNED): Define.
+ 	* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
+ 	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
+ 	New functions.
+ 	* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
+ 	_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
+ 
+ 2000-10-18  Geoffrey Keating  <geoffk@cygnus.com>
+ 	    David V. Henkel-Wallace  <gumby@cygnus.com>
+ 
+ 	* config/i386/t-netware: Bring in from the Red Hat tree.
+ 	* config/i386/netware.h: Likewise.
+ 	* config/netware.h: Likewise.
+ 	* config/rs6000/netware.h: Delete.
+ 	* configure.in: Add i[34567]86-*-netware.
+ 	* configure: Hand-edit to match configure.in change.
+ 
+ 2000-10-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (flag_no_builtin): Declare.
+ 	(flag_no_nonansi_builtin): Likewise.
+ 	(c_common_nodes_and_builtins): Change prototype.
+ 	* c-common.c (flag_no_builtin): New variable.
+ 	(flag_no_nonansi_builtin): Likewise.
+ 	(c_common_nodes_and_builtins): Remove parameters.  Adjust
+ 	accordingly.
+ 	* c-decl.c (flag_no_builtin): Remove.
+ 	(flag_no_nonansi_builtin): Likewise.
+ 	(init_decl_processing): Adjust call to
+ 	c_common_nodes_and_builtins.
+ 
+ 2000-10-18  Marc Espie <espie@openbsd.org>
+ 
+ 	* tm.texi (LIBGCC_SPEC): Synch with reality.
+ 
+ 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_types): Check for writing through a
+ 	NULL pointer argument.
+ 
+ 2000-10-18  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* tm.texi (Exception Region Output): Document
+ 	DWARF_CIE_DATA_ALIGNMENT.
+ 	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
+ 	#ifndef.
+ 	[ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
+ 	DWARF_CIE_DATA_ALIGNMENT.
+ 
+ 2000-10-18  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* basic-block.h (struct loop): Delete fields pre_header_root
+ 	and pre_header_trace and replace with pre_header_edges
+ 	and num_pre_header_edges.
+ 	* flow.c (flow_loop_dump): Dump pre_header_edges.
+ 	(flow_loops_free): Free pre_header_edges.
+ 	(flow_loop_pre_header_scan): Calculate pre_header_edges.
+ 
+ 2000-10-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* contrib.texi: Update references to steering committee members
+ 	and Jeff Law's entry.
+ 
+ 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
+ 	(maybe_read_dollar_number, check_format_info_main): Use them for
+ 	pedantic warning messages.
+ 
+ 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info_main): Minor cleanup: move
+ 	variables into inner scopes; initialize declarations where
+ 	appropriate; don't hardcode "scanf" name on warning for zero
+ 	width.
+ 
+ 2000-10-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (back_end_hook): New variable.
+ 	* c-common.h (back_end_hook): Declare it.
+ 	* c-lang.c (finish_file): Use it.
+ 
+ 	* emit-rtl.c (init_emit_once): Initialize the const_int_htab
+ 	earlier.
+ 
+ 2000-10-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_comparison_operator, put_condition_code,
+ 	ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
+ 	(ix86_expand_strlensi_unroll_1): Use CCRCmode.
+ 	* i386.h (EXTRA_CC_MODES): Add CCRCmode.
+ 	* i386.md (adddi and negdi splitter): Use CCRCmode.
+ 	(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
+ 	(subsi3_carry): add '*'
+ 	(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
+ 	(cmp to add peep2): Use CCRCmode; swap operands.
+ 
+ 2000-10-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c: Fix a comment typo.
+ 	(round_frame_size): New.
+ 	(compute_saved_regs): Likewise.
+ 	(push): Likewise.
+ 	(pop): Likewise.
+ 	(push_order): Remove.
+ 	(pop_order): Likewise.
+ 	(function_prologue): Rearrange code for readability.
+ 	(function_epilogue): Likewise.
+ 
+ 	* config/h8300/h8300.md: Remove an unnecessary sign_extend
+ 	expander that is used when not optimizing.  Output a tab after
+ 	each assembly insns.
+ 
+ 	* reorg.c: Fix formatting.
+ 
+ 2000-10-17  Joern Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* reload1.c (move2add_note_store): Check for simple
+ 	auto-inc in destination.
+ 
+ 2000-10-17  Michael Chastain  <chastain@redhat.com>
+ 
+ 	* config/i386/i386-aout.h: define INT_ASM_OP.
+ 
+ Tue Oct 17 20:11:08 2000  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* pa.c (print_operand): Handle case 'c' for .vtable_inherit
+ 
+ Tue Oct 17 20:05:51 2000  Martin Buchholz <martin@xemacs.org>
+ 
+ 	* i370.md: Fix spelling typo.
+ 
+ 2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* function.c (locate_and_pad_parm): Don't align stack unconditionally.
+ 	Fixes execute/20001017-1.c on powerpc-linux-gnu.
+ 
+ 	* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
+ 	* rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
+ 	LABEL_REF.
+ 
+ 	* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
+ 	ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
+ 	here...
+ 	* rs6000/aix.h: ...to here.
+ 	* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
+ 
+ 2000-10-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
+ 
+ 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
+ 	sure linker can relax even the delay slot mov %g1,%o7, fix output
+ 	formating.
+ 
+ 2000-10-17  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Remove an unnecessary zero_extend
+ 	expander that is used when not optimizing.  Output a tab after
+ 	each assembly insns.
+ 
+ 2000-10-17  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* gcc.c: New options --target-help.
+ 	(process_command): Added code to parse this new option.
+ 	* toplev.c (display_target_options): New function to support the
+ 	above new option.
+ 	* cppinit.c (new_pending_directive) : New option OPT_target__help.
+ 	(cpp_handle_option): Support this new option.
+ 	* invoke.texi: Added notes about --target-help option.
+ 
+ 2000-10-17  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/i386/i386.md (testqi_1): Add missing operand prefix
+ 	for operand 0.
+ 	* config/i386/i386-protos.h: Add missing prototype.
+ 
+ 2000-10-17  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
+ 	_GLOBAL_OFFSET_TABLE should not have a $ prefix when
+ 	using -mintel-syntax.
+ 
+ 2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
+ 	(format_types): Use it for printf.
+ 	(maybe_read_dollar_number): Add parameter for the kind of format
+ 	involved.  Warn for multiple use for arguments if this is
+ 	inappropriate for the kind of format involved.
+ 	(check_format_info_main): Update calls to maybe_read_dollar_number.
+ 
+ 2000-10-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* inclhack.def (hpux_maxint): Also apply fix to values.h.
+ 	* fixincl.x: Rebuilt.
+ 
+ 2000-10-17  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* genrecog.c (write_switch): Return the first condition that needs a
+ 	label.
+ 
+ 2000-10-17  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* c-tree.h (warn_sequence_point): Move declaration to...
+ 	* c-common.h (warn_sequence_point): ... here.
+ 	* c-decl.c (warn_sequence_point): Move definition to...
+ 	* c-common.c (warn_sequence_point): ... here.
+ 	(struct reverse_tree): New.
+ 	(reverse_list, reverse_max_depth): New static variables.
+ 	(build_reverse_tree, common_ancestor, modify_ok
+ 	verify_sequence_points): New functions.
+ 	(c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
+ 	* c-typeck.c (check_modify_expr): Delete.
+ 	(build_modify_expr): Don't call it.
+ 
+ 2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.h (warn_missing_format_attribute): New variable.
+ 	* c-decl.c (warn_missing_format_attribute): New variable.
+ 	(c_decode_option): Decode -Wmissing-format-attribute and
+ 	-Wno-missing-format-attribute.
+ 	* c-common.c (check_function_format): If
+ 	-Wmissing-format-attribute, give a warning where a vprintf or
+ 	vscanf function is called by a function without its own printf or
+ 	scanf attribute.
+ 	* toplev.c (documented_lang_options): Add
+ 	-Wmissing-format-attribute.
+ 	* invoke.texi: Document -Wmissing-format-attribute.
+ 
+ 2000-10-17  Marc Espie <espie@openbsd.org>
+ 
+ 	* invoke.texi (-shared): Insist on requiring code generation flags
+ 	to be used along with -shared, and document the subtle failure that
+ 	may occur otherwise.
+ 
+ 2000-10-16  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (return_internal): Move `use' after `return'.
+ 
+ 2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* machmode.def: Correct comment.
+ 
+ 2000-10-16  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* print-rtl.c (print_rtx_head): Constify.
+ 	* rtl.h (print_rtx_head): Similarly.
+ 
+ 	* config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
+ 	Constify char * return value.
+ 	* config/pa/pa/pa.c
+ 	(output_64bit_and, output_64bit_ior): Constify char * return value.
+ 	(pa_can_combine_p): Make static.
+ 	(function_arg): Decorate unused `named' argument. Fix comment typo.
+ 	(function_arg_partial_nregs): Decorate unused `named' argument.
+ 
+ 2000-10-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (format_check_results): New structure.
+ 	(finish_dollar_format_checking): Adjust to take a
+ 	format_check_results * parameter.
+ 	(check_format_info, check_format_info_recurse,
+ 	check_format_info_main): Split check_format_info into three
+ 	functions, the main checking going in check_format_info_main.
+ 	Recurse when any reduction of the format string argument towards a
+ 	string literal is done; go down both branches of a conditional
+ 	expression.  Don't warn for extra format arguments or empty format
+ 	strings if they only occur in some branches of a conditional
+ 	expression.
+ 
+ 2000-10-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Remove obstack.  Include ggc.h.
+ 
+ 2000-10-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* rtlanal.c (may_trap_p): Check operand modes of COMPARE.
+ 
+ 2000-10-15  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* i386.md (*movsi_or): Switch operand order for intel syntax.
+ 
+ 2000-10-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* PROBLEMS: Remove.
+ 
+ 	* gcc.texi (Contributing): Update.
+ 
+ 2000-10-13  Diego Novillo  <dnovillo@cygnus.com>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
+ 	appropriate assembler dialect.
+ 
+ 2000-10-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-common.c (c_expand_builtin): PARAMS-ize prototype.
+ 
+ 2000-10-12  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (output_movhi, output_movsisf): Fix loading
+ 	constants 1 and 2 to NO_LD_REGS.
+ 
+ 2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-parse.c, tradcif.c): Create atomically.
+ 
+ 	* objc/Make-lang.in (objc-parse.c): Likewise.
+ 
+ 2000-10-13  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.c: Include obstack.h
+ 	(minipool_obstack, minipool_startobj): Define.
+ 	(arm_add_gc_roots): Initialize them.
+ 	(create_fix_barrier): Use our new obstack.
+ 	(push_minipool_barrier, push_minipool_fix): Likewise.
+ 	(arm_reorg): Release obstack memory.
+ 
+ 2000-10-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
+ 	(prologue, exception_receiver, builtin_setjmp_receiver): New
+ 	patterns.
+ 	* config/sparc/sparc.h (FINALIZE_PIC): Remove.
+ 	* config/sparc/sparc-protos.h (finalize_pic): Remove.
+ 	(load_pic_register): New prototype.
+ 	* config/sparc/sparc.c (pic_setup_code): Remove.
+ 	(finalize_pic): Rename to...
+ 	(load_pic_register): ...this function.
+ 	Don't look for nonlocal_goto_receivers and emit pic setup code
+ 	directly.  Don't check current_function_uses_pic_offset_table.
+ 
+ 2000-10-13  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* tree.h (struct obstack): Declare.
+ 
+ 2000-10-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Remove obstacks.
+ 	* Makefile.in (ggc-callbacks.o): Remove target.
+ 	(flow.o): Depend on GGC_H.
+ 	* alias.c (init_alias_analysis):
+ 	Remove ggc_p conditionals.
+ 	(end_alias_analysis): Likewise.
+ 	* basic-block.h (init_flow): New function.
+ 	(allocate_reg_life_data): Declare.
+ 	* bb-reorder.c	(function_obstack): Replace with ...
+ 	(flow_obstack): ... new variable.
+ 	(fixup_reorder_chain): Use it.
+ 	* c-decl.c (ggc_p): Remove.
+ 	(caller-save.c): Don't call oballoc/obfree.
+ 	* combine.c (struct
+ 	undobuf): Remove storage.
+ 	(try_combine): Don't call oballoc.
+ 	(undo_all): Don't call obfree.
+ 	* cse.c (insert): Use xmalloc, not
+ 	oballoc.
+ 	(cse_main): Adjust accordingly.
+ 	* dwarf2out.c (save_rtx): Remove
+ 	obstack code.
+ 	(dwarf2out_init): Remove ggc_p conditionals.
+ 	* emit-rtl.c (rtl_obstack): Remove.
+ 	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
+ 	(make_insn_raw): Likewise.
+ 	(emit_insn_before): Likewise.
+ 	(emit_insn_after): Likewise.
+ 	(emit_insn): Likewise.
+ 	(gen_sequence): Likewise.
+ 	(copy_insn_1): Remove handling of `b' RTL components.
+ 	(init_emit_once): Remove ggc_p conditionals.
+ 	* except.c (create_rethrow_ref): Don't fool with obstacks.
+ 	(add_partial_entry): Likewise.
+ 	(call_get_eh_context): Likewise.
+ 	(begin_protect_partials): Likewise.
+ 	(protect_with_terminate): Likewise.
+ 	* explow.c
+ 	(plus_constant_wide): Likewise.
+ 	* expr.c (init_expr_once):
+ 	Likewise.
+ 	(emit_block_move): Likewise.
+ 	(clear_storage): Likewise.
+ 	(expand_expr): Likewise.
+ 	* flow.c (function_obstack): Remove.
+ 	(flow_obstack): New variable.
+ 	(flow_firstobj): Likewise.
+ 	(create_base_block): Use the flow_obstack.
+ 	(split_block): Likewise.
+ 	(split_edge): Likewise.
+ 	(calculate_global_regs_live): Likewise.
+ 	(allocate_bb_life_data): Make it static.  Likewiwse.
+ 	(init_flow): New function.
+ 	(size_int_type_wide): Remove ggc_p conditionals.
+ 	* function.c
+ 	(push_function_context_to): Don't call save_tree_status.
+ 	(pop_function_context_from): Or restore_tree_status.
+ 	(assign_stack_local_1): Don't call push_obstacks.
+ 	(find_fixup_replacement): Use xmalloc.
+ 	(fixup_var_refs_insns): Free the storage.
+ 	(insns_for_mem_walk): Don't mess with obstacks.
+ 	(instantiate_decls): Likewise.
+ 	(trampoline_address): Likewise.
+ 	(expand_function_end): Likewise.
+ 	* function.h (sturct function):
+ 	Remove obstack-related variables.
+ 	(save_tree_status): Don't declare.
+ 	(restore_tree_status): Likewise.
+ 	* gcse.c (compute_can_copy):
+ 	Don't call oballoc/obfree.
+ 	* genattrtab.c (operate_exp): Remove
+ 	ggc_p conditionals.
+ 	(simplify_cond): Likewise.
+ 	(simplify_test_exp): Don't mess with obstacks.
+ 	(optimize_attrs): Likewise.
+ 	* gengenrtl.c (gendef): Don't include
+ 	ggc_p conditionals.
+ 	* ggc-callbacks.c (ggc_p): Remove.
+ 	* ggc-none.c (ggc_p): Remove.
+ 	* ggc.h (ggc_p): Don't declare.
+ 	* integrate.c (save_for_inline): Don't mess with obstacks.
+ 	(integrate_decl_tree): Likewise.
+ 	(output_inline_function): Likewise.
+ 	* lists.c
+ 	(init_EXPR_INSN_LIST_cache): Likewise.
+ 	* loop.c (temp_obstack):
+ 	Remove.
+ 	(rtl_obstack): Likewise.
+ 	(init_loop): Don't mess with obstacks.
+ 	(reg_address_cost): Free BIVs and GIVs.
+ 	(check_insns_for_bivs): Use xmalloc, not oballoc.
+ 	(find_mem_givs): Likewise.
+ 	(record_biv): Likewise.
+ 	(general_induction_var): Likewise.
+ 	(product_cheap_p): Likewse.
+ 	* optabs.c (init_one_libfunc): Remove
+ 	ggc_p conditional.
+ 	* print-tree.c (debug_tree): Don't use
+ 	oballoc/obfree.
+ 	(print_node): Likewise.
+ 	* profile.c (output_func_start_profiler):
+ 	Remove call to temporary_allocation.
+ 	* reload1.c
+ 	(eliminate_regs_in_insn): Don't mess with obstacks.
+ 	* resource.c
+ 	(mark_target_live_regs): Use xmalloc.
+ 	(free_resource_info): Free the memory.
+ 	* rtl.c (rtl_obstack):
+ 	Remove.
+ 	(rtvec_alloc): Don't mess with obstacks.
+ 	(rtx_alloc): Likewise.
+ 	(rtx_free): Remove.
+ 	(copy_rtx): Don't handle `b' cases.
+ 	(read_rtx): Use a local rtl_obstack.
+ 	* rtl.h (oballoc): Remove.
+ 	(obfree): Likewise.
+ 	(pop_obstacks): Likewise.
+ 	(push_obstacks): Likewise.
+ 	(allocate_bb_life_data): Likewise.
+ 	(allocate_reg_life_data): Likewise.
+ 	(rtx_free): Likewise.
+ 	* sdbout.c (sdbout_queue_anonymous_type):
+ 	Use tree_cons, not saveable_tree_cons.
+ 	* simplify-rtx.c
+ 	(cselib_init): Don't mess with obstacks.
+ 	* stmt.c
+ 	(mark_block_nesting): Mark the label_chain.
+ 	(epxand_label): Use ggc_alloc, not oballoc.
+ 	(clear_last_expr): Don't mess with obstacks.
+ 	(expand_decl_cleanup): Likewise.
+ 	(expand_dcc_cleanup): Likewise.
+ 	(expand_dhc_cleanup): Likewise.
+ 	(expand_anon_union_decl): Likewise.
+ 	(add_case_node): Use xmalloc, not oballoc.
+ 	(free_case_nodes): New function.
+ 	(expand_end_case): Call it.
+ 	* stor-layout.c (layout_type): Don't
+ 	mess with obstacks.
+ 	(layout_type): Likewise.
+ 	* toplev.c (wrapup_global_declarations):
+ 	Likewise.
+ 	(compile_file): Remove ggc_p conditionals.
+ 	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
+ 	(decode_f_option): Remove ggc_p conditionals.
+ 	* tree.c
+ 	(function_maybepermanent_obstack): Remove.
+ 	(maybepermanent_obstack): Likewise.
+ 	(function_obstack): Likewise.
+ 	(tmeporary_obstack): Likewise.
+ 	(momentary_obstack): Likewise.
+ 	(temp_decl_obstack): Likewise.
+ 	(saveable_obstack): Likewise.
+ 	(rtl_obstack): Likewise.
+ 	(current_obstack): Likewise.
+ 	(expression_obstack): Likewise.
+ 	(struct obstack_stack): Likewise.
+ 	(obstack_stack): Likewise.
+ 	(obstack_stack_obstack): Likewise.
+ 	(maybepermanent_firstobj): Likewise.
+ 	(temporary_firstobj): Likewise.
+ 	(momentary_firstobj): Likewise.
+ 	(temp_decl_firstobj): Likewise.
+ 	(momentary_function_firstobj): Likewise.
+ 	(all_types_permanent): Likewise.
+ 	(struct momentary_level): Likewise.
+ 	(momentary_stack): Likewise.
+ 	(init_obstacks): Remove initialization of removed obstacks.
+ 	(save_tree_status): Remove.
+ 	(restore_tree_status): Likewise.
+ 	(temporary_allocation): Liekwise.
+ 	(end_temporary_allocation): Liekwise.
+ 	(resume_temporary_allocation): Likewise.
+ 	(saveable_allocation): Likewise.
+ 	(push_obstacks): Likewise.
+ 	(push_obstacks_nochange): Likewise.
+ 	(pop_obstacks): Likewise.
+ 	(allocation_temporary_p): Likewise.
+ 	(permanent_allocation): Likewise.
+ 	(preserve_data): Likewise.
+ 	(preserve_initializer): Likewise.
+ 	(rtl_in_current_obstack): Likewise.
+ 	(rtl_in_saveable_obstack): Likewise.
+ 	(oballoc): Likewise.
+ 	(obfree): Likewise.
+ 	(savealloc): Likewise.
+ 	(expralloc): Likewise.
+ 	(print_obstack_name): Likewise.
+ 	(debug_obstack): Likewise.
+ 	(object_permanent_p): Likewise.
+ 	(push_momentary): Likewise.
+ 	(perserve_momentary): Likewise.
+ 	(clear_momentary): Likewise.
+ 	(pop_momentary): Likewise.
+ 	(pop_momentary_nofree): Likewise.
+ 	(suspend_momentary): Likewise.
+ 	(resume_momentary): Likewise.
+ 	(make_node): Don't set TREE_PERMANENT.
+ 	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
+ 	Don't set TREE_PERMANENT.
+ 	(get_identifier): Remove ggc_p conditionals.
+ 	(build_string): Likewise.
+ 	(make_tree_vec): Likewise.
+ 	(build_decl_list): Remove.
+ 	(build_expr_list): Likewise.
+ 	(tree_cons): Remove ggc_p conditionals.
+ 	(decl_tree_cons): Remove.
+ 	(expr_tree_cons): Likewise.
+ 	(perm_tree_cons): Likewise.
+ 	(temp_tree_cons): Likewise.
+ 	(saveable_tree_cons): Likewise.
+ 	(build1): Remove ggc_p conditionals.
+ 	(build_parse_node): Likewise.
+ 	(build_type_attribute_variant): Don't mess with obstacks.
+ 	(build_type_copy): Likewise.
+ 	(type_hash_canon): Likewise.
+ 	(build_pointer_type): Likewise.
+ 	(build_reference_type): Likewise.
+ 	(build_index_type): Likewise.
+ 	(build_range_type): Likewise.
+ 	(dump_tree_statistics): Don't print obstack information.
+ 	* tree.h
+ 	(struct tree_common): Remove permanent_flag.
+ 	(TREE_PERMANENT): Remove.
+ 	(TREE_SET_PERMANENT): Likewise.
+ 	(TYPE_OBSTACK): Likewise.
+ 	(struct tree_type): Remove obstack.
+ 	(oballoc): Remove.
+ 	(savealloc): Likewise.
+ 	(build_decl_list): Likewise.
+ 	(build_expr_list): Likewise.
+ 	(perm_tree_cons): Likewise.
+ 	(temp_tree_cons): Likewise.
+ 	(saveable_tree_cons): Likewise.
+ 	(decl_tree_cons): Likewise.
+ 	(expr_tree_cons): Likewise.
+ 	(suspend_momentary): Likewise.
+ 	(allocation_temporary_p): Likewise.
+ 	(resume_momentary): Likewise.
+ 	(push_obstacks_nochange): Likewise.
+ 	(permanent_allocation): Likewise.
+ 	(push_momentary): Likewise.
+ 	(clear_momentary): Likewise.
+ 	(pop_momentary): Likewise.
+ 	(end_temporary_allocation): Likewise.
+ 	(pop_obstacks): Likewise.
+ 	(push_obstacks): Likewise.
+ 	(pop_momentary_nofree): LIkewise.
+ 	(preserve_momentary): Likewise.
+ 	(saveable_allocation): Likewise.
+ 	(temporary_allocation): Likewise.
+ 	(resume_temporary_allocation): Likewise.
+ 	(perserve_initializer): Likewise.
+ 	(debug_obstack): Likewise.
+ 	(rtl_in_current_obstack): Likewise.
+ 	(rtl_in_saveable_obstack): Likewise.
+ 	(obfree): Likewise.
+ 	* varasm.c (current_obstack): Remove.
+ 	(saveable_obstack): Remove.
+ 	(rtl_obstack): Remove.
+ 	(immed_double_const): Don't mess with obstacks.
+ 	(immed_real_cons): Likewise.
+ 	(output_constant_def): Likewise.
+ 	(init_varasm_status): Use xcalloc.
+ 	(mark_pool_constant): Mark the pool constant itself.
+ 	(free_varasm_status): Free memory.
+ 	(decode_rtx_const): Call bzero directly, rather than expanding it
+ 	inline.
+ 	(record_rtx_const): Don't mess with obstacks.
+ 	(force_const_mem): Likewise.
+ 	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
+ 	conditionals.
+ 	(aof_pic_entry): Likewise.
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+ 	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
+ 	* config/pa/pa.c (saveable_obstack): Remove.
+ 	(rtl_obstack): Likewise.
+ 	(current_obstack): Likewise.
+ 	(output_call): Don't mess with obstacks.
+ 	(hppa_encode_label): Remove ggc_p conditionals.
+ 	* config/romp/romp.c (get_symref): Don't mess with obstacks.
+ 	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
+ 	(rs6000_encode_section_info): Likewise.
+ 	* config/sh/sh.c (get_fpscr_rtx): Likewise.
+ 
+ Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (adddi3, subdi3 splitters): Update for new pattern.
+ 	(addsi3_cc, addqi3_cc, subsi3_cc): Remove
+ 	(addsi3_carry): Canonicalize.
+ 	(addqi_5): Remove '*'.
+ 	(sbb pattern): Canonicalize.
+ 
+ 	* i386.md (cmp to inc/add peep2): New.
+ 
+ 2000-10-12  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
+ 	the exit block.
+ 
+ 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
+ 	* README.TRAD, TESTS.FLUNK: Remove.
+ 
+ 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (decl_attributes): Don't allow strftime formats with
+ 	first_arg_num nonzero.
+ 	(check_format_info): Set wanted_type and wanted_type_name to zero
+ 	before they are possibly assigned and used.
+ 
+ 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (scanf_flag_specs): Add flags ' and I.
+ 	(strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
+ 	or the ^ and # flags together.
+ 	(scan_char_table): Handle the ' and I flags.
+ 	(format_types): Add ' and I flags for scanf.
+ 
+ 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (print_char_table): Use the unpromoted type for
+ 	lengths "h" and "hh" with conversions dioxXu.
+ 	(check_format_types): Apply the default argument promotions where
+ 	the wanted type is not a pointer target.
+ 
+ 2000-10-11  Michael Meeks  <mmeeks@gnu.org>
+ 	    Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (check_modify_expr): New function.
+ 	(build_modify_expr): Call it if warn_sequence_point.
+ 	* c-decl.c (warn_sequence_point): New variable.
+ 	(c_decode_option): Handle -Wsequence-point and
+ 	-Wno-sequence-point.  Enable -Wsequence-point as part of -Wall.
+ 	* c-tree.h (warn_sequence_point): Declare.
+ 	* invoke.texi (-Wsequence-point): Document.
+ 	* toplev.c (documented_lang_options): Add -Wsequence-point and
+ 	-Wno-sequence-point.
+ 	Original work by Michael Meeks, 16 Jun 1998.
+ 
+ Wed Oct 11 06:15:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (get_narrower): Don't look at precision of field if
+ 	not laid out yet.
+ 
+ Tue Oct 10 23:14:33 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
+ 	declaration for data with "progmem" attribute.
+ 
+ 2000-10-09  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
+ 	Correct insn length if shift count is a memory operand.
+ 	* config/avr/avr.md: New define_peephole2 to use *reload_inqi.
+ 	(*iorhi3_clobber): Change lo8 to hi8.
+ 	(zero_extendhisi2): Change %B0 to %A1.
+ 	(ashlhi3, ashrhi3): Correct insn length.
+ 	(andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
+ 	from "clobber" to "set_n" in some alternatives.
+ 
+ 2000-10-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reload1.c (calculate_needs_all_insns): If deleting an instruction,
+ 	remove its insn_chain structure as well.
+ 
+ 2000-10-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* dbxout.c (dbxout_source_line): Remove extra tab.
+ 
+ 2000-10-09  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
+ 
+ 2000-10-09  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (LANG_LIB2FUNCS): Remove.
+ 	(LIB2FUNCS): Remove _pure.
+ 	(LIB2ADD): Remove LANG_LIB2FUNCS.
+ 	(stage_a): Don't set LANG_LIB2FUNCS.
+ 	* libgcc2.c (__terminate): Mark noreturn.
+ 	(__pure_virtual): Remove.
+ 	* mklibgcc.in: Remove LIB2ADD .txt processing.
+ 
+ 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (push_multi): Revert unintended change.
+ 
+ 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c: Miscellaneous white space and comment clean-ups.  No
+ 	functional change.
+ 	* arm.md: Likewise.
+ 
+ 2000-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
+ 	STRING_CST by calling combine_strings.
+ 
+ 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
+ 	(thumb_output_move_mem_multiple): Support new insn format.
+ 	* arm.md (movmem12b): Use SSA compatible format.
+ 	(movmem8b): Likewise.
+ 
+ 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (predicable): New attribute, default to "no".
+ 	(all patterns): Mark as predicable if appropriate.
+ 	(conditional execution splits): Split using predication format.
+ 	(define_cond_exec): Define.
+ 	* arm.c (arm_print_operand): handle insn predicate.
+ 
+ 2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.NS32K: Remove file.
+ 
+ 2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README-bugs: Remove file.
+ 
+ 2000-10-08  Philipp Thomas  <pthomas@suse.de>
+ 	* aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
+ 	for test.
+ 	* configure: Rebuilt.
+ 
+ 2000-10-08  Philipp Thomas  <pthomas@suse.de>
+ 	* aclocal.m4 (AM_WITH_NLS): When not using included gettext,
+ 	disable catalog building if no suitable program was found.
+ 	Move warning message from here
+ 	(AM_GNU_GETTEXT): To here.
+ 	* configure: Rebuilt.
+ 
+ 2000-10-08  Philipp Thomas  <pthomas@suse.de>
+ 	* aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
+ 	different cache variables.
+ 	(GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
+ 	uses different cache variables.
+ 	(AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
+ 	* configure: Regenerated.
+ 
+ 2000-10-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
+ 	* configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
+ 	* mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
+ 	Use SHLIB_EXT.
+ 
+ 	* config/t-linux (SHLIB_EXT): New.
+ 	(SHLIB_LINK): Use the entire build command, with substitutions.
+ 	(SHLIB_LIBS): Remove.
+ 	* config/alpha/t-osf4: Likewise.
+ 	* config/mips/t-iris6: Likewise.
+ 	* config/sparc/t-sol2: Likewise, but move shlib stuff...
+ 	* config/sparc/t-slibgcc-sld: ...here.
+ 	* config/sparc/t-slibgcc: New file.
+ 
+ 2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
+ 	* c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
+ 	CTI_UINTMAX_TYPE.
+ 	(intmax_type_node, uintmax_type_node): Define.
+ 	* c-common.c (decl_attributes): If pedantic, warn if `mode'
+ 	attributes create a type wider than intmax_t.
+ 	(T_IM, T_UIM): Define properly.
+ 	* c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
+ 	defined.
+ 	(init_decl_processing): Initialize intmax_type_node and
+ 	uintmax_type_node.
+ 	* c-lex.c (lex_number): When pedantic and warning for integer
+ 	constants that are too large, in C99 mode warn for those that have
+ 	a type wider than long long.
+ 
+ 2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
+ 	FMT_FLAG_FANCY_PERCENT_OK): Define.
+ 	(format_char_info): Add flag "4" to comment.
+ 	(format_flag_spec, format_flag_pair): New structures.
+ 	(format_kind_info): Add additional fields to control format
+ 	checking.
+ 	(printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
+ 	scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
+ 	arrays.
+ 	(time_char_table): Use "4" flag to handle %Ey.
+ 	(format_types): Add entries for new fields.
+ 	(get_flag_spec): New function.
+ 	(check_format_info): Increase size of flag_chars[] to 256.
+ 	Control format checking using the new fields of a format_kind_info
+ 	and the new tables; remove all conditionals on printf_format_type,
+ 	scanf_format_type or strftime_format_type.  Handle all details of
+ 	bad combinations of flags (including width, precision and strftime
+ 	modifiers) through data rather than ad hoc code.  Handle all
+ 	details of standard versions in which flags appeared through
+ 	data.  Use the "4" flag.
+ 
+ 2000-10-07  Will Cohen  <wcohen@redhat.com>, Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Remove the memory alternative and correct
+ 	the insn lengths in the templates for sign extension and zero
+ 	extension.
+ 
+ 2000-10-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (expand_call): Disallow sibcalls to noreturn functions.
+ 	* flow.c (make_edges): Revert last change.
+ 
+ 	* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
+ 	TREE_THIS_VOLATILE.
+ 	* config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
+ 
+ 2000-10-06  David O'Brien  <obrien@dragon.nuxi.com>
+ 
+ 	* config/alpha/elf.h: Standardize the formatting.
+ 
+ 2000-10-06  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
+ 	#undef.
+ 
+ 2000-10-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (diddle_return_value): Examine
+ 	current_function_return_rtx instead of the DECL_RESULT.
+ 	(expand_function_end): Handle reloading DECL_RESULT from memory
+ 	into a hard register.  Query promote_mode for sign of mismatched
+ 	modes.
+ 
+ 2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+ 
+ 	* haifa-sched.c (schedule_insns): Fix typo in freeing
+ 	forward_dependency_cache.
+ 
+ 2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
+ 	`TARGET_SH2' as a condition.
+ 
+ 2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+ 
+ 	* haifa-sched.c (anti_dependency_cache, output_dependency_cache,
+ 	forward_dependency_cache): New variables.
+ 	(add_dependence, remove_dependence): Use anti_dependency_cache and
+ 	output_dependency_cache.
+ 	(compute_block_forward_dependences): Use forward_dependency_cache.
+ 	(schedule_insns): Allocate and free memory for anti/output/forward
+ 	dependencies caches.
+ 
+ 2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+ 	`! TARGET_SH1'.  Reindent.
+ 
+ 2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
+ 	Move functions from here ...
+ 
+ 	* c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
+ 	... to here.
+ 	(c_expand_builtin): New function.
+ 	(init_function_format_info): Don't set `check_function_format_ptr'.
+ 	(c_common_nodes_and_builtins): Set built_in_class type for
+ 	printf/__builtin_printf to BUILT_IN_FRONTEND.
+ 	(c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
+ 
+ 	* c-common.h (build_function_call): Declare.
+ 
+ 	* expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
+ 	to `lang_expand_expr' rather than `expand_builtin'.
+ 
+ 	* tree.c (check_function_format_ptr): Delete.
+ 
+ 	* tree.h (check_function_format_ptr): Likewise.
+ 
+ 2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
+ 	DW_OP_bregx when cfa->reg > 31.
+ 
+ 	* frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
+ 	break.
+ 
+ 2000-10-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (warn_missing_noreturn): Remove.
+ 	(c_expand_body): Don't set or check can_reach_end.
+ 	* c-tree.h (warn_missing_noreturn): Move ...
+ 	* flags.h: ... here.
+ 	(can_reach_end): Remove.
+ 	* flow.c (check_function_return_warnings): New.
+ 	(make_edges): No edge to exit for noreturn sibcalls.
+ 	* function.c (expand_function_end): Save the return value
+ 	clobber instruction.
+ 	(mark_function_status): Mark it.
+ 	* function.h (struct function): Add x_clobber_return_insn.
+ 	* jump.c (can_reach_end): Remove.
+ 	(calculate_can_reach_end): Remove.
+ 	(jump_optimize_1): Don't call it.
+ 	* output.h (check_function_return_warnings): Declare.
+ 	* toplev.c (warn_missing_noreturn): Move from c-decl.c
+ 	(rest_of_compilation): Call check_function_return_warnings.
+ 
+ 2000-10-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (NM_FOR_TARGET): New.
+ 	(libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
+ 	(libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
+ 	* mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
+ 	shared library build on that and EXTRA_MULTILIB_PARTS.
+ 	* mkmap-flat.awk: New file.
+ 	* mkmap-symver.awk: New file.
+ 	* libgcc-std.ver: New file.
+ 	* config/libgcc-glibc.ver: New file.
+ 	* config/ia64/libgcc-ia64.ver: New file.
+ 	* config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ 	(SHLIB_LINK): Add --version-script.
+ 	* config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
+ 	* config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ 	* config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ 	(SHLIB_LINK): Add -M.
+ 
+ 2000-10-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (LIB2FUNCS): Add _clz.
+ 	* libgcc2.c (__ffsdi2): Use count_trailing_zeros.
+ 	(__clz_tab): Put in its own unit, non-static.
+ 	* libgcc2.h: Always include longlong.h.
+ 
+ 	* longlong.h [alpha] (count_leading_zeros): Use cmpbge with
+ 	a zero instead of -1.
+ 	(count_trailing_zeros): Likewise.
+ 
+ 2000-10-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
+ 	when second op1 is const0_rtx.  Validate op0 as a register.
+ 	* config/alpha/alpha.md (setcc_internal): Don't allow constants
+ 	in the first argument of the compare.
+ 	(setcc_swapped_internal): Likewise.
+ 	(setne_internal): Likewise.
+ 
+ 2000-10-05  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* tree.c (tree_size): New function split out of copy_node.
+ 	(make_node): Remove obstack handling.  Use tree_size.
+ 	(copy_node): Use tree_size.
+ 	* tree.h: Prototype tree_size.
+ 
+ 2000-10-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* diagnostic.c (output_format): Add missing break.
+ 
+ 2000-10-05  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
+ 	SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
+ 	sequence insn to INSN, and delete last sequence insn.
+ 
+ 2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* gcc.c (main): Include generated configargs.h header
+ 	and use arguments in '-v' output.
+ 
+ Thu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcc.c: Move data on prefixes forward in file and reorganize.
+ 	(md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
+ 	Always define, but make null if no value.
+ 	(static_specs): Add "md_exec_prefix", "md_startfile_prefix",
+ 	and "md_startfile_prefix_1".
+ 	(main): Check whether md_exec_prefix and the others are the
+ 	null string rather than whether the macro is defined.
+ 
+ Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* (convert_move): Use zero_extendpsisi2 to do an unsigned extension
+ 	from PSImode to SImode.
+ 
+ 2000-10-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
+ 	from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
+ 	* dwarf2out.c (add_const_value_attribute): Divide by 4, not
+ 	sizeof(long).
+ 
+ Thu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
+ 	negation in proper type.a
+ 
+ 2000-10-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (enable-shared): New.
+ 	* Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
+ 	(libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
+ 	* mklibgcc.in: Use them to link shared a libgcc.
+ 	* config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
+ 	* config/alpha/t-ieee (SHLIB_MULTILIB): New.
+ 	* config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
+ 	* config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
+ 
+ 	* configure.in (alpha-osf*): Use t-osf and x-osf.
+ 	* config/alpha/t-osf: New file.
+ 	* config/alpha/t-osf4: New file.
+ 	* config/alpha/x-osf: New file.
+ 	* config/alpha/x-alpha: Remove file.
+ 
+ 2000-10-04  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* c-typeck.c (process_init_element): Added warning for zero-length
+ 	array.
+ 
+ 	* extend.texi (Zero Length): State that static initializers for
+ 	zero-length arrays are not allowed.
+ 
+ Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (single_set_1): Do not require USE and CLOBBERs
+ 	to come last.
+ 
+ 2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/float-c4x.h: New.
+ 	* configure.in (c4x-*): Set float_format to c4x.
+ 	* configure: Regenerate.
+ 
+ 2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
+ 	compilation for solaris versions 2.7 and greater.
+ 
+ 2000-10-02  Marc Espie <espie@openbsd.org>
+ 
+ 	* config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
+ 	instead of redefining from scratch.
+ 
+ 2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
+ 
+ 	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
+ 
+ 2000-10-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/ns32k/genix.h: Remove.
+ 	* config/ns32k/x-genix: Likewise.
+ 	* config/ns32k/xm-genix.h: Likewise.
+ 	* config/fx80: Remove all filee in directory.
+ 	* config/pyr: Likewise.
+ 	* config/tahoe: Likewise.
+ 	* config/gmicro: Likewise.
+ 	* config/spur: Likewise.
+ 	* configure.in: Remove configury bits for above targets.
+ 	* configure: Regenerated.
+ 
+ 	* configure.in: Don't configure chill by default.
+ 	* configure: Regenerated.
+ 
+ 	* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
+ 	(lang_mark_false_label_stack): Remove.
+ 	* c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
+ 	<top level> string in GC area.
+ 	(mark_splay_tree_node): New function.
+ 	(mark_splay_tree): Likewise.
+ 	* except.c (mark_eh_status): Only call lang_mark_false_label_stack
+ 	if it exists.
+ 	* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
+ 	* ggc-common.c (lang_mark_false_label_stack): Change type.
+ 	* ggc.h (ggc_alloc_string): Add comment.
+ 	(ggc_strdup): New function.
+ 
+ Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.h (BRANCH_COST): Define as 0.
+ 
+ 	* config/pdp11/pdp11.c: #include "tree.h" added.
+ 
+ 2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
+ 	ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
+ 	with known shift count.
+ 	* config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
+ 	New alternative for shift count 2 with no scratch register.
+ 	(ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
+ 	"set_n" for shift counts 1 and 2.
+ 
+ 2000-09-30  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
+ 	the mask value from the individual SET operations.
+ 	(return_internal_si): Move the USE after the RETURN.
+ 	(return_internal_di): Likewise.
+ 	(return_and_restore_fpregs_si): Likewise.
+ 	(return_and_restore_fpregs_di): Likewise.
+ 	(return_eh_si): Likewise.
+ 	(return_eh_di): Likewise.
+ 	* config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
+ 	or check, the USE.
+ 	(rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
+ 	Don't generate a PARALLEL around a single operation movsi_to_cr.
+ 	Generate the RETURN first in any PARALLELs.
+ 
+ 	* rtlanal.c (single_set_1): Use fatal_insn to display the
+ 	invalid insn.  Check for more cases when a USE or CLOBBER occurs
+ 	before a SET.
+ 	* Makefile.in: Update dependencies for rtlanal.o.
+ 
+ 2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* i386.c: Move include of "config.h" to before that of <setjmp.h>.
+ 
+ 2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
+ 	Consistently use @email for formatting email addresses.
+ 
+ 2000-09-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (notreg_cost): New argument outer.
+ 	(COST): Pass in SET to notreg_cost
+ 	(COST_IN): New.
+ 	(fold_rtx): Use COST_IN.  Prefer constants when costs
+ 	are the same.
+ 
+ 2000-09-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* fixinc/inclhack.def (broken_cabs): Generalize regex.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* loop.c (check_final_value): A GIV is not replaceable if used
+ 	before set.
+ 
+ Fri Sep 29 10:04:12 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* version.c: Bump to gcc-2.97.
+ 
+ Frs Sep 29 13:37:59 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (final_scan_insn): Remove extra extract_insn call;
+ 	Use caching for constrain_operands.
+ 	(cleanup_subreg_operands): Use caching for extract_insn.
+ 	* recog.c (constrain_operands_cached): New.
+ 	* recog.h (constrain_operands_cached): Declare.
+ 	* i386.c (ix86_attr_length_immediate_default,
+ 	ix86_attr_length_address_default, ix86_agi_dependant): Cache
+ 	extract_insn call.
+ 
+ 	* recog.c (asm_noperands): Tweak.
+ 	(extract_insn): Do not call asm_noperads for non-asm instructions.
+ 
+ Fri Sep 29 13:20:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (recog_memoized): Rename to recog_memoized_1.
+ 	* recog.h (recog_memoized): Rename to recog_memoized_1.
+ 	(recog_memoized): New macro.
+ 	* rtl.h (single_set): Rename to single_set_1
+ 	(single_set): New macro.
+ 	* rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
+ 	to be last.
+ 
+ 	* i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
+ 	Do not use match_dup of input operands at outputs.
+ 	Use register_operand for memory expression.
+ 	(rep_movsi): Put use last, canonicalize.
+ 	Use register_operand for memory expression.
+ 	(rep_movqi): Put use last.
+ 	Use register_operand for memory expression.
+ 	(strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
+ 	of input operands at outputs.  Use register_operand for memory
+ 	expression.
+ 	(rep_stossi): Put use last; canonicalize; fix match_dup in
+ 	the address expression
+ 	(rep_stosqi): Likewise.
+ 	(memcmp expander): Update calls.
+ 	(cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
+ 	the clobbers.
+ 
+ 	* i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
+ 	VOIDmode.
+ 	(fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
+ 
+ 2000-09-28  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
+ 	Contains the old contents of config/i386/freebsd.h
+ 	* config/i386/freebsd.h: Now the ELF rather than a.out config file.
+ 	Contains the old contents of config/i386/freebsd-elf.h
+ 	* config/i386/freebsd-elf.h: Retire this file -- contents moved to
+ 	config/i386/freebsd.h.
+ 	* configure.in: Adjust for above changes.
+ 	* po/POTFILES.in: Likewise.
+ 	* po/en_GB.po: Likewise.
+ 	* po/gcc.pot: Likewise.
+ 	* configure: Rebuilt.
+ 
+ 2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* doloop.c (doloop_modify): Prevent delete_insn() from
+ 	deleting too much.  Prefer loop->top over loop->start as
+ 	target for the new JUMP insn.
+ 	(doloop_valid_p): Ignore loop with exit_count != 0.
+ 
+ 2000-09-28  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* invoke.texi (i386 Options): Add athlon to table of possible
+ 	choices for -mcpu=.
+ 
+ 2000-09-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (output_clear_message_text): New function.
+ 	(output_message_text): New macro.
+ 
+ 	* diagnostic.c (clear_text_info): Rename to
+ 	output_clear_message_text.
+ 	(output_clear): Adjust.
+ 	(output_finish): Rename to output_finalize_message.  Tweek.
+ 	(output_to_stream): Adjust.
+ 
+ 2000-09-28  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpperror.c (_cpp_begin_message):  Do the test for suppression
+ 	of warnings and pedantic warnings before the "is a warning an
+ 	error" tests.
+ 	* cppinit.c (cpp_handle_option): Remove surplus \n.
+ 	* cpplex.c (ON_REST_ARG): Delete.
+ 	(skip_block_comment): Initialize prevc.
+ 	(parse_args): Improve error messages.
+ 	(maybe_paste_with_next): Use CONTEXT_VARARGS rather
+ 	than ON_REST_ARG.
+ 	* cpplib.c (cpp_push_buffer): Fix grammar in message.
+ 	* cppmain.c (main): Set callbacks for #ident and #pragma
+ 	only if no_output option is false.
+ 	(do_pragma_implementation): Only call the #pragma handler
+ 	if it is set in the cpp_reader structure.
+ 
+ Wed Sep 27 14:00:07 2000  Donald Lindsay  <dlindsay@cygnus.com>
+ 
+ 	* integrate.c (copy_insn_list): if an ignored return value
+ 	is being clobbered, skip cloning that into the inline copy.
+ 
+ 2000-09-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
+ 	use @uref for formatting URLs.
+ 
+ 2000-09-27  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
+ 	name and prefix.
+ 
+ Tue 26-Sep-2000 18:25:38 BST  Neil Booth  <neilb@earthling.net>
+ 
+ 	* gcc.c (cpp_options): Add spec for -ftabstop=.
+ 	(invoke_as): New spec that handles invoking as.
+ 	Update specs to handle -save-temps and -traditional.
+ 	* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
+ 	Use invoke_as.
+ 	* cp/lang-specs.h, objc/lang-specs.h: Update to use
+ 	invoke_as, and handle -save-temps and -traditional (if
+ 	appropriate).
+ 
+ 2000-09-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
+ 	op0 is a SUBREG.
+ 	(function_arg_slotno): Accept TImode/CTImode.
+ 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
+ 	to UNITS_PER_WORD.
+ 
+ 2000-09-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* flow.c (flow_loop_pre_header_scan): Punt if loop enters
+ 	from entry block.
+ 
+ 2000-09-25  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
+ 	(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
+ 	(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
+ 	(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
+ 
+ Tue 26-Sep-2000 00:16:22 BST  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (parse_args): Don't set VOID_REST flag.
+ 	(CONTEXT_VARARGS): New flag.
+ 	(maybe_paste_with_next): Set context earlier in loop.  Use
+ 	it.  Do varargs test with CONTEXT_VARARGS flag.
+ 	(push_arg_context): Set CONTEXT_VARARGS flag if we're
+ 	pushing an argument context for a varargs argument.
+ 	* cpplib.h (VOID_REST): Delete.
+ 	* gcc.dg/cpp/vararg1.c: Add test case.
+ 
+ 2000-09-25  Branko Cibej  <branko.cibej@hermes.si>
+ 
+ 	* flags.h:  Declare warning flag warn_system_headers.
+ 	* toplev.c:  Define it.
+ 	(W_options): Add option -Wsystem-headers.
+ 	* diagnostic.c (count_error): Test warn_system_headers.
+ 	* invoke.texi:  Add description for -Wsystem-headers.
+ 	* cpplib.h (cpp_options): New member warn_system_headers.
+ 	* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
+ 	CPP_IN_SYSTEM_HEADER.
+ 	* cpplib.c (do_import, do_pragma_once): Likewise.
+ 	* cpperror.c (_cpp_begin_message): Test warn_system_headers
+ 	and CPP_IN_SYSTEM_HEADER.
+ 	* cppinit.c (handle_option): Recognize -Wsystem_headers.
+ 	(print_help): Describe -Wsystem_headers.
+ 	* cpplex.c (lex_line): Reorganize condition so that warnings
+ 	about C++ comments in system headers can be enabled. Remove
+ 	label do_line_comment.
+ 
+ Mon 25-Sep-2000 23:38:27 BST  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (save_comment): Only store the initial '/'
+ 	now.
+ 	(lex_token): Combine handling of the two comment types.
+ 	Pass everything but the initial '/' to save_comment.
+ 
+ Mon 25-Sep-2000 23:31:45 BST  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
+ 	_cpp_can_paste): New library-internal prototypes.
+ 	* cpplex.c (dump_param_spelling, output_line_command,
+ 	output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
+ 	cpp_printf, cpp_output_list): Move to cppoutput.c.
+ 	(process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
+ 	* cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
+ 	cppoutput.c.
+ 	* cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
+ 	dump_param_spelling, output_line_command, cpp_scan_buffer,
+ 	cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
+ 	from elsewhere.
+ 	* Makefile.in: Add cppoutput.c.
+ 	* po/POTFILES.in: Add cppoutput.c.
+ 
+ 2000-09-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
+ 	* config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
+ 	split until after reload.
+ 	(rotlsi3, rotldi3): New.
+ 
+ 2000-09-25  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (output_last_position): Define.
+ 	(set_real_maximum_length): Tweek.
+ 	* diagnostic.h (output_last_position): Declare.
+ 
+ 2000-09-25  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/i386/i386.c: Fix formatting.
+ 
+ 2000-09-24  Alan Lehotsky  <alehotsky@cygnus.com>
+ 
+ 	* emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
+ 	UNITS_PER_WORD is small.
+ 
+ 2000-09-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (format_char_info): Add flags2; update comments.
+ 	(print_char_table, scan_char_table, time_char_table): Split some
+ 	flags out into flags2.
+ 	(check_format_info): Use flags2 for those flags, for identifying
+ 	the initial character of a scanf scanset, and for identifying
+ 	printf formats where the '0' flag is ignored with precision.
+ 
+ 2000-09-25  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	Changes below marked "here" add TABs on either or both sides,
+ 	covering start of line, up to any operand for all noted .*ASM.*_OP
+ 	definitions.  All callers changed.
+ 	* tm.texi: Make documented *_ASM.*_OP:s include spacing
+ 	(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+ 	ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
+ 	ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
+ 	Fix typos in description for LONG_LONG_TYPE_SIZE and
+ 	FINI_SECTION_ASM_OP.
+ 	* crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
+ 	why these defaults don't have leading spacing.
+ 	* dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
+ 	* dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
+ 	* dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
+ 	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
+ 	* defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
+ 	* varasm.c (ASM_STABS_OP): Here.
+ 	* xcoffout.h (ASM_STABS_OP): Here.
+ 	* config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
+ 	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
+ 	INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
+ 	STRING_ASM_OP): Here.
+ 	* config/freebsd.h (IDENT_ASM_OP): Here.
+ 	* config/linux-aout.h (SET_ASM_OP): Here.
+ 	* config/linux.h (SET_ASM_OP): Here.
+ 	* config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	INT_ASM_OP): Here.
+ 	* config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
+ 	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
+ 	* config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
+ 	* config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	INT_ASM_OP): Here.
+ 	* config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
+ 	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
+ 	INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
+ 	* config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
+ 	* config/a29k/udi.h (INT_ASM_OP): Here.
+ 	* config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
+ 	SET_ASM_OP): Here.
+ 	* config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
+ 	READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
+ 	ASM_STABD_OP): Here.
+ 	* config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
+ 	COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
+ 	CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
+ 	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
+ 	SIZE_ASM_OP, STRING_ASM_OP): Here.
+ 	* config/alpha/vms.h (LINK_SECTION_ASM_OP,
+ 	READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
+ 	* config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
+ 	(PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
+ 	* config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
+ 	Here.
+ 	* config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
+ 	* config/arm/coff.h (INT_ASM_OP): Here.
+ 	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+ 	* config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
+ 	* config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
+ 	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
+ 	* config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
+ 	* config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
+ 	STRING_ASM_OP): Here.  Update documentation copy in comments.
+ 	* config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
+ 	* config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP): Here.
+ 	* config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
+ 	Here.
+ 	* config/convex/convex.h (TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
+ 	* config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
+ 	* config/h8300/h8300.h (ASM_WORD_OP): Here.
+ 	* config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
+ 	* config/i386/bsd.h (ASM_BYTE_OP): Here.
+ 	* config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
+ 	* config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
+ 	* config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
+ 	Here.
+ 	* config/i386/freebsd-elf.h (SET_ASM_OP): Here.
+ 	* config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
+ 	Here.
+ 	* config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+ 	* config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
+ 	SET_ASM_OP): Here.
+ 	* config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
+ 	* config/i386/netbsd.h (INT_ASM_OP): Here.
+ 	* config/i386/openbsd.h (INT_ASM_OP): Here.
+ 	* config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
+ 	IDENT_ASM_OP): Here.
+ 	* config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
+ 	ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
+ 	LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
+ 	SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
+ 	* config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
+ 	SHARED_BSS_SECTION_ASM_OP): Here.
+ 	* config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
+ 	* config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP): Here.
+ 	* config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	CONST_SECTION_ASM_OP): Here.
+ 	* config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
+ 	* config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
+ 	* config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
+ 	* config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
+ 	BSS_ASM_OP): Here, but use trailing spaces.
+ 	* config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP): Here.
+ 	* config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
+ 	Here.
+ 	* config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
+ 	* config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	TDESC_SECTION_ASM_OP): Here.
+ 	* config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+ 	* config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
+ 	* config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
+ 	COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
+ 	* config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
+ 	* config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
+ 	* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
+ 	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
+ 	SET_ASM_OP): Here.
+ 	* config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+ 	* config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
+ 	* config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
+ 	* config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
+ 	* config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
+ 	* config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
+ 	* config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	GLOBAL_ASM_OP): Here.
+ 	* config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/m68k/m68kv4.h (BSS_ASM_OP): Here.
+ 	* config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
+ 	SKIP_ASM_OP): Here.
+ 	* config/m68k/newsgas.h (SET_ASM_OP): Here.
+ 	* config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
+ 	* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
+ 	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
+ 	SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
+ 	but use trailing spaces.
+ 	* config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
+ 	Here.
+ 	* config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
+ 	* config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
+ 	GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
+ 	BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
+ 	CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
+ 	SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
+ 	VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
+ 	ASM_BYTE_OP): Here.
+ 	* config/m88k/openbsd.h (SET_ASM_OP): Here.
+ 	* config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
+ 	* config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP): Here.
+ 	* config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+ 	* config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Here.
+ 	* config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
+ 	* config/mips/iris5.h (ABICALLS_ASM_OP): Here.
+ 	* config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
+ 	POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
+ 	CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
+ 	* config/mips/mips.c (ABICALLS_ASM_OP): Here.
+ 	* config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
+ 	Here.
+ 	* config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
+ 	Here.
+ 	* config/mips/osfrose.h (SET_ASM_OP): Here.
+ 	* config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
+ 	* config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
+ 	* config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
+ 	* config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
+ 	* config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
+ 	* config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
+ 	* config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
+ 	* config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
+ 	* config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/rs6000/rs6000.h (SET_ASM_OP): Here.
+ 	* config/rs6000/sol2.h (ASM_STABN_OP): Here.
+ 	* config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
+ 	Here.
+ 	* config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
+ 	* config/sparc/linux.h (COMMON_ASM_OP): Here.
+ 	* config/sparc/linux64.h (COMMON_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
+ 	* config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
+ 	* config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
+ 	* config/sparc/pbd.h (ASM_INT_OP): Here.
+ 	* config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
+ 	* config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
+ 	* config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
+ 	UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
+ 	* config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
+ 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
+ 	CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
+ 	EH_FRAME_SECTION_ASM_OP): Here.
+ 	* config/sparc/vxsim.h (COMMON_ASM_OP): Here.
+ 	* config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
+ 	TCOMMON_ASM_OP): Here.
+ 	* config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
+ 	Here.
+ 	* config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	ASM_BYTE_OP): Here.
+ 
+ 2000-09-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): Adjust last change to not consider
+ 	any word-sized field naturally aligned.
+ 
+ 2000-09-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
+ 	TFmode unordered compares properly.  Revalidate integer compare
+ 	operands.
+ 	(alpha_emit_setcc): New.
+ 	(alpha_emit_conditional_move): Revalidate integer compare operands.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md (cmpdi): Allow general operands.
+ 	(sne): Use alpha_emit_setcc.
+ 	(seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
+ 	(sunordered, sordered): New.
+ 
+ 2000-09-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.c (call_multiple_values_operation): Remove.
+ 	(ia64_expand_call): New.
+ 	(ia64_expand_prologue): Emit an alloc if we need extra input
+ 	registers.
+ 	(ia64_expand_epilogue): New arg sibcall_p; don't emit the return
+ 	instruction if true.
+ 	(struct reg_flags): Add is_sibcall.
+ 	(rtx_needs_barrier): A sibcall does not use CFM et al.  Ignore USEs.
+ 	(emit_insn_group_barriers): Set flags.is_sibcall.  Remove hacks
+ 	for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md (call): Use ia64_expand_call.
+ 	(call_value): Likewise.
+ 	(sibcall, sibcall_value): New.
+ 	(call patterns): Remove extra expanders; tidy.
+ 	(sibcall_epilogue): New.
+ 	(set_bsp): Remove the extra USE.  Put the operand inside the UNSPEC.
+ 
+ 2000-09-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
+ 
+ 	* sibcall.c (skip_pic_restore): New.
+ 	(identify_call_return_value): Use it.
+ 
+ 2000-09-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-tree.texi: Moved here from cp/ir.texi.  Documented nested
+ 	functions.  Generalize to handle both C and C++.
+ 	* Makefile.in (c-tree.info): New target.
+ 	(info): Add c-tree.info.
+ 
+ Sun Sep 24 09:15:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_field): If BITSIZE is negative, use size of type.
+ 	(expand_expr, case COMPONENT_EXPR): Likewise.
+ 
+ Sun 24-Sep-2000 11:40:23 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c: Update TODO comment.
+ 	* cpplib.c (do_error, do_warning): Merge common code of
+ 	do_error and do_warning	into do_diagnostic.  Use it.
+ 	(do_diagnostic): New function.
+ 	* cpplib.h: Fix comment typo.
+ 
+ 2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info): Warn for a wide character string
+ 	used as a non-wide format argument.
+ 
+ 2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* builtins.def (BUILT_IN_LLABS): Add.
+ 	* builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
+ 	* c-common.c (c_common_nodes_builtins): Create builtin functions
+ 	__builtin_llabs, and plain llabs unless no_nonansi_builtins
+ 	outside of C99 mode.
+ 	(expand_tree_builtin): Handle BUILT_IN_LLABS.
+ 
+ Sat 23-Sep-2000 22:39:18 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
+ 	CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
+ 	* cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
+ 	_cpp_free_toklist): No need to worry about extra dummy token
+ 	at the start of token lists any more.
+ 	(trigraph_ok): Only warn outside comments.
+ 	(skip_block_comment): Set and clear lexing_comment.
+ 	(skip_line_comment): Take a cpp_reader not cpp_buffer.
+ 	Set and clear lexing_comment.
+ 	(parse_number): Handle leading '.' indicated by pfile->seen_dot.
+ 	(check_long_token): Delete.
+ 	(lex_percent, lex_dot): New subroutines of lex_token to
+ 	handle lexing of '.' and '%' without lookback.
+ 	(lex_token): Use lex_dot and lex_percent.
+ 	(lex_line): Don't check for LIST_OFFSET.
+ 	(_cpp_init_input_buffer): Update for new _cpp_init_toklist.
+ 	* cpplib.c (_cpp_parse_assertion): Similarly.
+ 	(cpp_push_buffer): Initialize extra_char.
+ 	* cpplib.h (LIST_OFFSET): Delete.
+ 	(struct cpp_buffer): New member extra_char.
+ 	(struct lexer_state): New members lexing_comment and seen_dot.
+ 
+ 2000-09-23  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/rs6000/x-aix41 (CLIB): Define here.
+ 	* config/rs6000/t-aix43: Not here.
+ 	* config/rs6000/t-aix41: Or here.  Remove.
+ 	* configure.in: Don't use it.
+ 
+ 2000-09-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
+ 	* toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
+ 	* config.in: Regenerate.
+ 
+ 	* configure.in: Fix checks for assembler features when using a
+ 	one-tree assembler that has not yet been built.
+ 	Fix --disable-threads.
+ 
+ 2000-09-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Allow # in constraints.
+ 
+ 2000-09-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
+ 
+ 	* dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
+ 	function-local names.
+ 
+ 2000-09-22  Brad Lucier <lucier@math.purdue.edu>
+ 	    Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.c (warn_disabled_optimization): Declare new warning flag.
+ 	* flags.h (warn_disabled_optimization): Add it here.
+ 	* gcse.c (gcse_main): Add warning when disabled.
+ 	* invoke.texi: Document -Wdisabled-optimization.
+ 
+ 2000-09-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
+ 
+ 	* dwarf2out.c (tree_add_const_value_attribute): New fn.
+ 	(gen_variable_die): Call it for non-definitions.
+ 
+ 	* dwarf2out.c (die_struct): Add die_mark field.
+ 	(mark_dies, unmark_dies): New fns.
+ 	(clear_die_sizes): Remove.
+ 	(print_die): Check die_symbol rather than die_offset.
+ 	(build_abbrev_table, output_pubnames, output_aranges): Check
+ 	die_mark rather than die_offset.
+ 	(output_comp_unit): Move calc_die_sizes after build_abbrev_table.
+ 	Call mark_dies.
+ 
+ Thu 21-Sep-2000 18:19:05 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppfiles.c (lookup_include_file): Rename to open_file.
+ 	Always create a splay tree value, even on syscall failures.
+ 	Negative entries indicated by fd == -2.
+ 	Re-open files closed in the meantime.
+ 	(_cpp_fake_include): Create a negative splay tree entry.
+ 	(find_include_file, cpp_read_file): Update for function name
+ 	change.
+ 	* gcc.gd/cpp/mi4.c: Testcase.
+ 
+ 2000-09-21  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
+ 	ARM and THUMB modes.
+ 
+ 	* config/mcore/mcore.c: Fix compile time warnings.
+ 	* config/mcore/mcore-protos.h: Fix compile time warnings.
+ 
+ 2000-09-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* configure.in: Correct test of gcc_cv_glibc.
+ 	* configure: Rebuilt.
+ 	* config.in: Rebuilt.
+ 
+ 2000-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_fputs): Also expand when length!=1.
+ 	(expand_builtin): Handle BUILT_IN_FWRITE.
+ 
+ 	* builtins.def (BUILT_IN_FWRITE): New entry.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
+ 
+ Wed Sep 20 15:39:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcc.c (modify_target): New variable and struct.
+ 	(process_command): Handle MODIFY_TARGET_NAME.
+ 	* tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
+ 	* config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
+ 
+ 	* c-decl.c (finish_decl): Add else's to avoid referencing
+ 	TYPE_DOMAIN of an ERROR_MARK.
+ 
+ Wed Sep 20 21:44:31 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (adjust_insn_length): Adjust lengths of
+ 	`reload_in*' insns.
+ 
+ 2000-09-19  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.md (neghi2): Add alternative for input and output
+ 	operands in different registers, as in negsi2.
+ 	(*negsi2): Remove '*' from the name.  Use "movw" if available.
+ 
+ 2000-09-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/crtbegin.asm (__dso_handle): Delete use of
+ 	HAVE_GAS_HIDDEN macro.
+ 
+ Tue 19-Sep-2000 22:38:57 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (lex_line): Drop the EOF token for unknown
+ 	directives in assembler.
+ 
+ 2000-09-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* configure.in: Allow enable_threads_flag value of "aix".  Define
+ 	thread_file as "aix" for AIX 4.3 and above.
+ 	* configure: Regenerated.
+ 
+ 	* gthr-aix.h: New file.
+ 
+ 	* rs6000/t-aix43: Replace soft-float multilib with pthread.
+ 	Remove 403 processor multilib match.  Fix rios2 processor multilib
+ 	match.
+ 
+ 	* rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
+ 	to return to appropriate csect.
+ 
+ 2000-09-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
+ 	functions.
+ 	(expand_builtin_fputs): Set `target' parameter for `expand_expr'.
+ 	(expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
+ 	BUILT_IN_PRINTF.
+ 
+ 	* builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
+ 	New entries.
+ 
+ 	* c-common.c (init_function_format_info): Handle __builtin_printf.
+ 	Set `check_function_format_ptr'.
+ 	(c_common_nodes_and_builtins): Set `puts_ftype' and
+ 	`printf_ftype'.  Declare __builtin_putchar, __builtin_puts,
+ 	__builtin_printf and printf.
+ 
+ 	* tree.c, tree.h (check_function_format_ptr): Declare.
+ 
+ Tue 19-Sep-2000 18:26:57 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppfiles.c (read_include_file): Take no special action for
+ 	zero-length files.
+ 
+ 2000-09-19  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* final.c (insn_current_reference_address): Use INSN_SHUID of seq
+ 	rather than that of branch.
+ 	(shorten_branches): Don't increment insn_current_address twice.
+ 
+ 	Undo most of the Wed Jan 27 23:39:53 1999 patch:
+ 	* loop.h (struct induction): Delete members derived, ix and last_use.
+ 	(struct loop_ivs): Delete members first_increment_giv and
+ 	last_increment_giv.
+ 	* loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
+ 	recombine_givs): Delete functions.
+ 	(find_and_verify_loops): Don't initialize cont_dominator.
+ 	(strength_reduce): Lose code to try to find bivs that can be
+ 	expressed as givs of another biv, and to convert biv increments
+ 	into givs.
+ 	Lose loop_scan_start variable, always use loop->scan_start.
+ 	Don't call recombine_givs.  Don't handle derived givs.
+ 	(record_giv): Don't initialize derived and last_use fields.
+ 	(biv_eliminiation_giv_has_0_offset): Lose code to handle derived
+ 	givs.
+ 	* unroll.c (derived_regs): Delete static variable.
+ 	(unroll_loop): Don't initialize it.
+ 	(copy_loop_body): Lose code to handle derived givs.
+ 	(find_splittable_givs): Don't check for givs made from biv
+ 	increments.
+ 	Don't set derived_regs.
+ 
+ 	Fix misapplied earlier patch:
+ 	* config/sh/sh.md (floatsisf_ie): Reenable.  Remove explicit reference
+ 	to fpul.
+ 	(floatsisf2): Generate floatsisf_ie by default.
+ 	(floatsisf_i4): Conditional on TARGET_SH4.
+ 
+ 	(floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
+ 	predicate for the expanders.
+ 
+ 2000-09-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
+ 	in addition to pentium and pentiumpro symbols.
+ 	(CPP_CPU_DEFAULT_SPEC): Likewise.
+ 
+ 	* c-typeck.c (c_expand_asm_operands): Restore the output tree
+ 	after expanding.
+ 
+ 	* stmt.c (expand_expr_stmt): Only call warn_if_unused_value
+ 	if the tree has side effects.
+ 	(warn_if_unused_value): Do not warn about void constructs.
+ 
+ 	* c-decl.c (poplevel): Invoke warn_about_unused_variables.
+ 
+ 	* unroll.c (copy_loop_body): Update LABEL_NUSES before
+ 	calling invert_jump.
+ 
+ 2000-09-18  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
+ 	into anything.
+ 
+ 2000-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-common.o): Depend on diagnostic.h.
+ 
+ 	* c-common.c: Include diagnostic.h.
+ 	(tfaff): Delete.
+ 	(status_warning): New function.
+ 	(check_format_info, maybe_read_dollar_number, check_format_types,
+ 	finish_dollar_format_checking, check_function_format): Accept a
+ 	`status' parameter.  All callers changed.
+ 
+ 	* c-common.h (check_function_format): Accept a `status' parameter.
+ 
+ 	* c-typeck.c: Update call to `check_function_format'.
+ 
+ 2000-09-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c (c_expand_body): Call mark_varargs before
+ 	expand_function_start.
+ 
+ 2000-09-18  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
+ 	* config/rs6000/eabi-ci.asm: Likewise.
+ 
+ 2000-09-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
+ 	for BImode.
+ 
+ 2000-09-18  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
+ 	before passing it to fold_rtx_mult_add.
+ 
+ 	* unroll.c (final_giv_value): Pass increment through
+ 	extend_value_for_giv before passing it to emit_iv_add_mult.
+ 
+ 	* function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
+ 	paradoxical subreg, then directly substitute the replacement and
+ 	return.
+ 
+ Mon 18-Sep-2000 22:12:44 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpp.texi: Update documentation, including some clarifications,
+ 	the treatment of various newline combinations, and space between
+ 	backslash and newline.
+ 
+ Mon Sep 18 21:00:47 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
+ 	Replace ASM_OUTPUT_LABELREF with assemble_name.
+ 
+ Mon Sep 18 20:26:50 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* sh.c (addsubcosts): CONST is not cheap.
+ 	(find_barrier): For Sh1, take alignment after jumps into account.
+ 
+ 2000-09-15  Andrew Haley  <aph@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
+ 	remove all SETs of SUBREGs of hard registers.
+ 	* function.c (purge_hard_subreg_sets): New function.
+ 	(purge_single_hard_subreg_set): New function.
+ 	* rtl.h: (purge_hard_subreg_sets): New function.
+ 
+ 2000-09-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.c (signed_inequality_operator): New.
+ 	(ia64_expand_compare): New.
+ 	(ia64_register_move_cost): Handle PR_REGS moves.
+ 	(ia64_secondary_reload_class): Require a GR when moving to a PR.
+ 	(struct reg_write_state): Add written_by_and/or.
+ 	(struct reg_flags): Add is_and/or.
+ 	(rws_update): Set them.
+ 	(rws_access_regno): Test them to allow parallel comparisons.
+ 	(rtx_needs_barrier): Recognize parallel comparisons.
+ 	(emit_insn_group_barriers): Set prev_insn after a call stop bit.
+ 	Call recog_memoized; ignore pred_rel_mutex.
+ 	(emit_predicate_relation_info): Don't call find_basic_blocks here.
+ 	(ia64_reorg): Do it here instead.
+ 	* config/ia64/ia64.h: s/CCmode/BImode/g
+ 	(MODES_TIEABLE_P): Don't tie BImode.
+ 	(PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
+ 	(CONST_COSTS): Pick sensible values for CONST_INT based on context.
+ 	(RTX_COSTS): Make multiply 4 insns.
+ 	(MEMORY_MOVE_COST): New.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md: s/CCmode/BImode/g
+ 	(movcci, movbi): New.
+ 	(andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
+ 	(cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
+ 	(cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
+ 	(tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
+ 	(cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
+ 	(cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
+ 	(tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
+ 	(mulsi, muldi): Use xmpy not xma.
+ 	(cmpbi): New.
+ 	(movcc, movcc_internal): Remove.
+ 	(branch expanders): Use ia64_expand_compare.
+ 	(setcc expanders): Likewise.
+ 	(cmov insns): Use move_operand and ia64_move_ok.
+ 	(pred_rel_mutex): Use unspec not unspec_volatile.  Prevent the
+ 	scheduler from moving it past a use.
+ 	* config/ia64/build.hacks: Remove.
+ 
+ Mon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h (HASHSTEP): Take character rather than pointer
+ 	to character.
+ 	(_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
+ 
+ 	* cpphash.c (cpp_loookup): Update for new HASHSTEP.
+ 
+ 	* cpplex.c (auto_expand_name_space, trigraph_replace,
+ 	backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
+ 	IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
+ 	BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
+ 	KNOWN_DIRECTIVE): Delete.
+ 
+ 	(handle_newline, check_long_token, skip_escaped_newlines,
+ 	unterminated): New functions.
+ 	(ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
+ 
+ 	(parse_identifier): Was parse_name, new implementation.
+ 	(skip_line_comment, skip_block_comment, skip_whitespace,
+ 	parse_number, parse_string, trigraph_ok, save_comment,
+ 	adjust_column, _cpp_get_line): New implementations.
+ 
+ 	(lex_token): New function.  Lexes a token at a time, looking
+ 	forwards.  Contains most of the guts of the old lex_line.
+ 	(lex_line): New implementation, using lex_token to obtain
+ 	individual tokens.
+ 	(cpp_scan_buffer): Use the token's line, not the list's line.
+ 
+ 	* cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
+ 	 New implementations.
+ 	(do_assert): Don't bother setting the answer's list's line.
+ 	(cpp_push_buffer): Initialize new pfile and read_ahead members
+ 	of struct cpp_buffer.
+ 
+ 	* cpplib.h (cppchar_t): New typedef.
+ 	(struct cpp_buffer): read_ahead, pfile and col_adjust are
+ 	new members.
+ 	(struct lexer_state): New structure that determines the state
+ 	and behavior of the lexer.
+ 	(IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
+ 	(struct cpp_reader): New member "state". Rename
+ 	multiline_string_line and multiline_string_column. Delete
+ 	col_adjust, in_lex_line members.
+ 	(CPP_BUF_COLUMN): Update.
+ 
+ 2000-09-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (simplify_comparison): Shift a NOT out of a single
+ 	bit test.
+ 
+ 	* combine.c (if_then_else_cond): Canonicalize BImode true to
+ 	STORE_FLAG_VALUE.
+ 	* explow.c (trunc_int_for_mode): Likewise.
+ 
+ 	* combine.c (combine_simplify_rtx): Use gen_unary to distribute
+ 	the NOT for De Morgan's rule.
+ 	* simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
+ 	of a comparison to the reverse comparison.
+ 
+ 	* combine.c (try_combine): Allow split to create a single insn.
+ 
+ 	* machmode.def: Add BImode.  Add a column for bitsize.
+ 	* machmode.h (DEF_MACHMODE): Adjust for extra column.
+ 	(GET_MODE_BITSIZE): Use it.
+ 	* rtl.c (DEF_MACHMODE): Adjust for extra column.
+ 	(mode_bitsize): New.
+ 	(mode_mask_array): Use bitsize.
+ 	* combine.c (combine_simplify_rtx): Require inner and outer
+ 	modes to match on nonzero_bits optimizations.
+ 
+ 2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
+ 	its entry in spill_reg_store.
+ 	* config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
+ 	* sh.c (reg_no_subreg_operand): New function.
+ 	* sh-protos.h (reg_no_subreg_operand): Declare it.
+ 	* sh.h (PREDICATE_CODES): Add it.
+ 	* sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
+ 	input operand that needs to be in fpul.
+ 	(fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
+ 	* sh.c (find_barrier): Take into account that machine_dependent_reorg
+ 	might add new insns.
+ 
+ 2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
+ 	MAYBE_DEAD.
+ 	(sh_expand_epilogue): Take the PIC register into account when
+ 	computing the frame size.
+ 
+ 	* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
+ 	* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
+ 	LABEL_REFs with a PIC-safe unspec.
+ 
+ 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info): Properly save the argument
+ 	number and parameter for $ operand number formats in case width
+ 	and precision arguments are also used.  Allow printf width and
+ 	precision arguments to have operand numbers even if none was
+ 	specified for the main format, since this is OK for %*.*m.  Only
+ 	object to missing $ operand number if the format used requires an
+ 	argument.
+ 
+ 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (format_char_info): Add 'W' flag to comment.
+ 	(print_char_table, scan_char_table): Use it.
+ 	(check_format_info): Use the 'W' flag to determine whether a
+ 	format argument is written into.
+ 
+ 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_types): Reorganize and clean up,
+ 	checking earlier for ERROR_MARKs and making cur_type into its
+ 	TYPE_MAIN_VARIANT where convenient.
+ 
+ 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
+ 
+ 2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
+ 
+ 	* i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
+ 	* i386.c (struct builtin_description): New.
+ 	(bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
+ 	(mmx_reg_operand): Declare MODE arg as unused.
+ 	(ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
+ 	ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
+ 	ix86_expand_binop_builtin, ix86_expand_store_builtin,
+ 	ix86_init_builtins, ix86_expand_builtin): New functions.
+ 	* i386.h (ix86_builtins): New enumeration.
+ 	(MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
+ 	* i386.md (attr length_immediate): 0 for mmx/sse types.
+ 	(attr prefix_0f): 1 for mmx/sse types.
+ 	(setcc_2): Remove "*" so we get gen_setcc_2.
+ 	(emms): Account for changed register numbering.  Set "memory" attr
+ 	to unknown.
+ 	(sfence): Set "memory" attr to unknown.
+ 
+ 2000-09-18  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in: Define _GNU_SOURCE only when using the GNU C
+ 	Library.
+ 	* configure: Regenerated.
+ 	* config.in: Regenerated.
+ 
+ 2000-09-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cppinit.c (cpp_init): Don't use ANSI prototypes.
+ 	* flow.c (flow_dump_loop): Likewise.
+ 	(flow_loops_dump): Likewise.
+ 
+ 	* c-typeck.c (c_start_case): Fix typo.
+ 
+ 2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Don't give a warning about defaulting
+ 	to int for plain complex which defaults to complex double.  Do
+ 	warn about defaulting to complex double if pedantic.  Warn about
+ 	complex integer types if pedantic.  Warn about complex types if
+ 	pedantic and not in C99 mode.
+ 	* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
+ 	for complex conjugation.
+ 
+ 2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* contrib.texi: Update my entry.
+ 
+ Sun Sep 17 18:48:32 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md (mcu_enhanced): New attribute.
+ 	(mcu_mega): Likewise.
+ 	(extendhisi2): Use mcu_enhanced.
+ 	(zero_extendhisi2): Likewise.
+ 	(call_insn): Use mcu_enhanced and mcu_mega.
+ 	(call_value_insn): Likewise.
+ 	(*sbrx_branch): Use mcu_mega.
+ 	(*sbrx_and_branchsi): Likewise.
+ 	(*sbrx_and_branchhi): Likewise.
+ 	(*tablejump_lib): Likewise.
+ 
+ Sun Sep 17 10:46:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (true_dependence): Allow non-unchanging read to conflict
+ 	with unchanging write.
+ 
+ 	* expr.c (store_constructor_field): Accept ALIAS_SET arg.
+ 	(store_constructor): Pass alias_set to it.
+ 
+ 	* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
+ 	TYPE_MAIN_VARIANT of ERROR_MARK.
+ 	* c-lex.c (readescape): Avoid using printf syntax we don't recognize.
+ 
+ 	* simplify-rtx.c (simplify_unary_operation): Add cases
+ 	FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
+ 
+ 2000-09-17  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* expr.h (emit_library_call, emit_library_call_value): Delete
+ 	declarations.
+ 	* rtl.h (enum libcall_type): New.
+ 	(emit_library_call, emit_library_call_value): Change fn_type arg to
+ 	be of type enum libcall_type.
+ 	* calls.c: Likewise for the function definitions.  Several callers
+ 	throughout changed to use the new enumeration appropriately.
+ 	(emit_library_call_value_1): Likewise.  Put back code to make libcall
+ 	blocks of equal form, but only use it for the two new higher
+ 	enumeration values.
+ 
+ 2000-09-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Convert the C front-end to use function-at-a-time mode.
+ 	* c-common.h: Include splay-tree.h.
+ 	(C_DECLARED_LABEL_FLAG): New macro.
+ 	(struct language_function): Add x_scope_stmt_stack and
+ 	x_function_name_declared_p.
+ 	(RECHAIN_STMTS): Move definition.
+ 	(lang_statement_code_p): Likewise.
+ 	(lang_expand_stmt): Likewise.
+ 	(lang_expand_decl_stmt): New variable.
+ 	(lang_expand_function_end): Likewise.
+ 	(current_scope_stmt_stack): New function.
+ 	(add_decl_stmt): Likewise.
+ 	(add_scope_stmt): Likewise.
+ 	(mark_stmt_tree): Likewise.
+ 	(struct c_lang_decl): New structure.
+ 	(DECL_SAVED_TREE): Define.
+ 	(c_mark_lang_decl): New function.
+ 	(c_expand_start_cond): Change prototype.
+ 	(c_finish_then): New function.
+ 	(c_finish_else): Likewise.
+ 	(current_function_name_declared): Remove.
+ 	(set_current_function_name_declared): Likewise.
+ 	(mark_c_language_function): Declare.
+ 	(case_compare): Likewise.
+ 	(c_add_case_label): Likewise.
+ 	(c_expand_expr): Likewise.
+ 	(c_safe_from_p): Likewise.
+ 	* c-common.c (lang_expand_function_end): New variable.
+ 	(struct if_elt): Add if_stmt.
+ 	(c_expand_start_cond): Add the if-statement to the statement-tree,
+ 	rather than generating RTL.
+ 	(c_finish_then): New function.
+ 	(c_expand_start_else): Don't generate RTL.
+ 	(c_finish_else): New function.
+ 	(c_expand_expr_stmt): Don't generate RTL.
+ 	(statement_code_p): Add SCOPE_STMT.
+ 	(case_compare): New function.
+ 	(c_add_case_label): Likewise.
+ 	(mark_stmt_tree): Likewise.
+ 	(c_mark_lang_decl): Likewise.
+ 	(mark_c_language_function): Likewise.
+ 	(c_expand_expr): Likewise.
+ 	(c_safe_from_p): Likewise.
+ 	* c-decl.c (c_stmt_tree): New variable
+ 	(c_scope_stmt_stack): Likewise.
+ 	(c_function_name_declared_p): Likewise.
+ 	(lang_expand_expr_stmt): Remove.
+ 	(poplevel): Don't call output_inline_function for nested
+ 	functions.
+ 	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
+ 	`extern' function.
+ 	(redeclaration_error_message): Change means of computing whether
+ 	or not a function is nested.
+ 	(lookup_label): Don't call label_rtx.
+ 	(init_decl_processing): Add more GC roots.
+ 	(start_decl): Add DECL_STMTs to the statement-tree, rather than
+ 	calling rest_of_decl_compilation.
+ 	(finish_decl): Don't call expand_decl.
+ 	(store_parm_decls): Begin the statement-tree, but don't generate
+ 	RTL.
+ 	(finish_function): Tie off the statement-tree.  Call c_expand_body
+ 	if appropriate.
+ 	(c_expand_body): New function.
+ 	(push_c_function_context): Save more information.
+ 	(pop_c_function_contxt): Likewise.
+ 	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
+ 	(lang_mark_tree): Mark it.
+ 	(current_stmt_tree): Adjust.
+ 	(current_scope_stmt_stack): New function.
+ 	(do_case): Remove.
+ 	(set_current_name_declared): Likewise.
+ 	(c_begin_compound_stmt): Define.
+ 	(c_expand_decl_stmt): Likewise.
+ 	* c-lang.c: Include rtl.h and expr.h.
+ 	(lang_init): Set more language-specific hooks.
+ 	* c-lex.c: Include expr.h.
+ 	* c-parse.in: Changes throughout to add statements to the
+ 	statement-tree, rather than generating RTL after every statement.
+ 	* c-semantics.c (lang_expand_decl_stmt): Define.
+ 	(add_decl_stmt): New function.
+ 	(add_scope_stmt): Likewise.
+ 	(finish_stmt_tree): Tweak.
+ 	(genrtl_expr_stmt): Likewise.
+ 	(genrtl_decl_stmt): Handle local labels, and call
+ 	lang_expand_decl_stmt if required.
+ 	(genrtl_for_stmt): Fix line-number handling.
+ 	(genrtl_case_label): Handle cleanups.
+ 	(genrtl_asm_stmt): Don't call combine_strings.
+ 	(genrtl_compound_stmt): Simplify.
+ 	(expand_stmt): Handle SCOPE_STMTs.
+ 	* c-tree.h (struct lang_decl): New structure.
+ 	(C_DECLARED_LABEL_FLAG): Remove.
+ 	(c_begin_compound_stmt): Declare.
+ 	(c_expand_decl_stmt): Likewise.
+ 	(c_expand_start_case): Rename to c_start_case.
+ 	(c_finish_case): New function.
+ 	* c-typeck.c (start_init): Tweak setting of
+ 	constructor_incremental.
+ 	(c_expand_asm_operands): Tweak error-handling.  Add to the
+ 	statement-tree.
+ 	(c_expand_return): Add to the statement-tree.
+ 	(c_expand_start_case): Rename to ...
+ 	(c_start_case): ... this.
+ 	(struct c_switch): New type.
+ 	(switch_stack): New variable.
+ 	(do_case): Simplify.
+ 	(c_finish_case): New function.
+ 	* dependence.c: Include expr.h.
+ 	(enum dependence_type): Change spelling of enumerals.
+ 	(check_node_dependence): Adjust.
+ 	* expr.h (lang_safe_from_p): Declare.
+ 	(safe_from_p): Likewise.
+ 	* expr.c (lang_safe_from_p): New variable.
+ 	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
+ 	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
+ 	* toplev.c (rest_of_decl_compilation): Robustify.
+ 	* tree.c (contains_placeholder_p): Likewise.
+ 	* Makefile.in: Update dependencies.
+ 	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
+ 	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
+ 	(objc_expand_function_end): New function.
+ 	(finish_method_def): Use it.
+ 	(init_objc): Initialize more language-specific hooks.
+ 	* objc/Make-lang.in: Update dependencies.
+ 
+ 2000-09-16  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* configure.in: Define macros that affect features before
+ 	testing for features.  Don't define _XOPEN_SOURCE.
+ 	* configure: Regenerated.
+ 	* config.in: Regenerated.
+ 
+ Sat Sep 16 19:42:50 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (rtx_varies_p): Volatile asms vary.
+ 	(rtx_unstable_p): Restructure code.  Volatile asms
+ 	are unstable.
+ 
+ Sat Sep 16 14:35:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.h (no_debugging_symbols): New field.
+ 	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
+ 	Initialize no_debugging_symbols.
+ 	(output_inline_function): Save and restore write_symbols and set from
+ 	no_debugging_symbols.
+ 	* toplev.c (rest_of_compilation): Call save_for_inline.
+ 	* tree.h: Update comment.
+ 
+ 	* stor-layout.c (place_field): Don't do anything if field or
+ 	its type are ERROR_MARK.
+ 
+ Sat Sep 16 19:14:00 2000  Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
+ 	(read_include_file): Ensure inc->mmaped is initialized.
+ 
+ 2000-09-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cppiles.c (purge_cache): Use PTR not caddr_t.
+ 
+ 2000-09-16  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* gcc.c: In description for %{<S}, say the option removed is -S.
+ 	* invoke.texi (Spec Files): Ditto.
+ 
+ 2000-09-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in: Always define _GNU_SOURCE to make interfaces
+ 	visible that were hidden by only defining _GNU_SOURCE.
+ 	* configure: Regenerated.
+ 
+ Sat 16-Sep-2000 08:13:45 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (push_macro_context): Set an argument's level after
+ 	calling parse_args.  We could loop infinitely otherwise.
+ 
+ 2000-09-15  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* configure, config.in: Rebuilt.
+ 	* configure.in: Check for iconv.h.  Define _XOPEN_SOURCE.
+ 
+ 2000-09-15  Greg McGary  <greg@mcgary.org>
+ 
+ 	* cppmacro.c (check_trad_stringification): Check token
+ 	text pointers against limit before dereferencing.
+ 
+ 2000-09-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (format_wanted_type): New structure.
+ 	(check_format_types): New function.
+ 	(check_format_info): Pass all checking of types of format
+ 	arguments, including width and precision arguments, to this new
+ 	function.
+ 
+ 2000-09-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* BUGS: Remove file.
+ 
+ 2000-09-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/alpha/alpha.c (override_options): ev6 cache latencies
+ 	from Richard Henderson.  Don't allow -mmemory-latency=L0.
+ 
+ 	* config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
+ 	(TARGET_OPTIONS): Add tune=.
+ 	(alpha_tune_string): Declare.
+ 	* config/alpha/alpha.c (override_options): Add cpu_table.
+ 	Use alpha_cpu_string first to set both alpha_cpu and target_flags
+ 	and then alpha_tune_string to set alpha_cpu only.
+ 	Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
+ 	* config/alpha/elf.h (ASM_FILE_START): Likewise.
+ 	* config/alpha/osf.h (ASM_FILE_START): Likewise.
+ 	* config/alpha/openbsd.h (ASM_FILE_START): Likewise.
+ 
+ Fri Sep 15 19:45:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (no_comparison_operator, uno_comparison_operator):
+ 	Remove.
+ 	(ix86_comparison_operator, ix86_cc_mode): Declare
+ 	* i386.h (CCGC, CCGCO): New modes.
+ 	(SELECT_CC_MODE): Move offline to ....
+ 	* i386.c (ix86_cc_mode): .... here; use new modes.
+ 	(ix86_comparison_operator): New.
+ 	(fcmov_comparison_operator): Ensure proper mode.
+ 	(put_condition_mode): More sanity checking.
+ 	(ix86_match_ccmode): Handle new modes.
+ 	(ix86_expand_fp_compare): GEU requires CCmode.
+ 	(ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
+ 	doing it by hand.
+ 	* i386.md (cmp?i_ccz_1): Remove
+ 	(cmp?i_ccno_1): Use ix86_match_ccmode.
+ 	(cmp?i_minus_1): New.
+ 	(cmpsi_1): New expander.
+ 	(cmpqi_ext_1): Use match_ccmode
+ 	(cmpqi_ext_3): New expander.
+ 	(cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
+ 	(cmpqi_ext_4): Use match_ccmode.
+ 	(add?i_?): Use match_ccmode.
+ 	(add?i_6): New.
+ 	(test?i_ccz_1): Remove
+ 	(test?i_1): New.
+ 	(testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
+ 	(testqi_ext_0): Use ix86_match_ccmode.
+ 	(*xorqi_cc_ext_1): Use ix86_match_ccmode.
+ 	(xorqi_cc_ext_1): New expander.
+ 	(shift patterns): Use CCGOCmode for all shifts except for sar.
+ 	(setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
+ 	(setcc_3, jcc_3, miv?icc_c): Remove.
+ 
+ 2000-09-15  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* dwarf2out.c (add_const_value_attribute): Changed array into a
+ 	xmalloced object, so it exists after function exit.
+ 	(free_AT): Added case for dw_val_class_float to free allocated
+ 	memory.
+ 
+ 2000-09-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/i386/i386.md: Fix a comment typo.
+ 	* gcc.c: Fix formatting.
+ 
+ 2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* optabs.c (emit_libcall_block): If target is a user variable,
+ 	copy to a temporary first.
+ 	* expr.c (convert_move): When generating a libcall, make a libcall
+ 	block.
+ 	* calls.c (emit_library_call_value_1): Don't create a libcall
+ 	sequence here; our caller will in most cases do it.
+ 
+ 	* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
+ 	MACH into FPUL.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
+ 	* sh.md (reload_outsf): Generate recognizable patterns for
+ 	TARGET_SH3E.
+ 	(floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
+ 	fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
+ 	fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
+ 	truncdfsf2_i4): Change not to use explicit references to fpul.
+ 	(floatsisf2_ie): Remove USE of fpscr.
+ 	(floatsisf2): Change default expansion to match this.
+ 	(fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
+ 	unused patterns.
+ 
+ 2000-09-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): Consider naturally aligned
+ 	memory for direct reference.
+ 
+ 2000-09-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
+ 	AND addresses into alias set 0.
+ 	(alpha_expand_unaligned_store): Likewise.
+ 	(alpha_expand_unaligned_load_words): Likewise.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 
+ 2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
+ 	* config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
+ 	is defined.
+ 	* config/mips/mips.c (mips_va_arg): Args passed by reference have a
+ 	rsize of UNITS_PER_WORD.
+ 
+ Fri 15-Sep-2000 06:49:07 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (ON_REST_ARG): Correct the test.
+ 	(maybe_paste_with_next): Duplicate a token that fail pasting,
+ 	and clear its PASTE_LEFT flag, so that nested pasting attempts
+ 	do not occur.
+ 
+ 2000-09-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
+ 	* cse.c (rtx_cost): Likewise.
+ 	* optabls.c (expand_binop): Likewise.
+ 	(expand_twoval_binop, prepare_cmp_insn): Likewise.
+ 	* regclass.c (copy_cost): Likewise.
+ 	* reload1.c (reload_cse_move2add): Likewise.
+ 
+ 2000-09-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (reswords): Add _Complex.
+ 
+ 2000-09-14  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gcc.1: Delete documentation for -undef preprocessor option.
+ 
+ 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
+ 	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+ 	Remove undefine before config/elfos.h.
+ 	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
+ 
+ 2000-09-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* invoke.texi (H8/300 Options): Add -ms2600.
+ 	* config/h8300.c (h8300_init_once): Output an error when -ms2600
+ 	is used without -ms.
+ 	* config/h8300.h (TARGET_MAC): New.
+ 	(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
+ 	(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
+ 	machine other than H8S/2600.
+ 	* config/h8300.md: Accept mac instructions on the H8S/2600 instead
+ 	of the H8S/2000.
+ 
+ 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>, Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload.c (find_reloads_address_1): Generate reloads for auto_inc
+ 	pseudos that refer to the original pseudos, not only to their
+ 	equivalent memory locations.
+ 
+ Thu Sep 14 12:10:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
+ 	when making new MEM.
+ 
+ 	* Makefile.in (LN): Remove duplicate definition.
+ 
+ 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	From Joern Rennecke:
+ 	* local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
+ 	on an insn and function_invariant_p returns nonzero for the source,
+ 	add a REG_EQUAL note.
+ 
+ Thu Sep 14 00:51:57 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
+ 	conflict with frame_pointer_rtx.
+ 
+ 2000-09-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* loop.c: Fix formatting.
+ 	* loop.h: Likewise.
+ 
+ 2000-09-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (divsf3): New.
+ 	(divsf3_internal_lat, divsf3_internal_thr): New.
+ 	(divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
+ 	(divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
+ 	(adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
+ 	(madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
+ 	(nmadddf4_alts, nmadddf4_trunc): New.
+ 	(addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
+ 	(subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
+ 	(multf3_truncsf_alts, multf3_truncdf_alts): New.
+ 	(maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
+ 	(msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
+ 	(nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
+ 	(nmaddtf4_truncdf_alts): New.
+ 	(recip_approx): Don't predicate.
+ 
+ 2000-09-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
+ 
+ 2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* flags.h (flag_dump_rtl_in_asm): Declare.
+ 	* toplev.c (flag_dump_rtl_in_asm): Define.
+ 	(decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
+ 	if -dP is specified.
+ 	* rtl.h (print_rtx_head): Declare.
+ 	* print-rtl.c (print_rtx_head): Define.
+ 	(print_rtx): Print the string pointed to by print_rtx_head
+ 	at beginning of each dump line.
+ 	(print_rtl): Likewise.
+ 	(print_rtl_single): Likewise.
+ 	* final.c (final_scan_insn): Dump the insn in the assembly
+ 	file for debugging.
+ 	* gcc.1: Document -dP option.
+ 	* invoke.texi (Debugging Options): Likewise.
+ 
+ 2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* md.texi (Machine Constraints): Document the 68HC11 constraints.
+ 	* install.texi (Configurations): Document the 68HC11&68HC12 port.
+ 	* invoke.texi (Option Summary, M68hc1x Options): Document the options.
+ 
+ Tue Sep 12 13:51:13 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
+ 	* config/avr/avr.md (*movstrqi_insn): Cleanup output template.
+ 	(*clrstrqi): Likewise.
+ 	(xorhi3,xorsi3,absqi2): Likewise.
+ 	(one_cmplhi2,one_cmplsi2): Likewise.
+ 	(addsi3): Two stupid constraint alternatives removed.
+ 	(extendhisi2): Use `movw' for enhanced avr cores.
+ 	(zero_extendhisi2): Likewise.
+ 
+ Wed Sep 13 02:31:23 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c (find_base_term): Use frame_pointer_rtx
+ 	when handling an ADDRESSOF.
+ 
+ 	* cse.c (canon_hash): Handle USE of BLKmode memory.
+ 	(cse_insn): Outgoing arguments for a libcall don't
+ 	affect any recorded expressions.
+ 
+ 2000-09-12  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* configure, config.in: Rebuilt.
+ 	* configure.in: Check for iconv, nl_langinfo, langinfo.h.
+ 
+ 2000-09-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-lex.c (lex_string): Use charwidth to compute bytemask.
+ 	* expr.c (expand_expr): Don't optimize constant array references
+ 	initialized with wide string constants.
+ 
+ 2000-09-13  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (note_set_pseudo_multiple_uses): Correct.
+ 
+ 2000-09-12  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): If A and B are the same, and no
+ 	else block, and X has side-effects, then fail.
+ 
+ 2000-09-12  Greg McGary  <greg@mcgary.org>
+ 
+ 	* config/mips/mips-protos.h
+ 	(trap_cmp_op, mips_gen_conditional_trap): New func decls.
+ 	* config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
+ 	(PREDICATE_CODES): Add "trap_cmp_op".
+ 	* config/mips/mips.c
+ 	(trap_cmp_op, mips_gen_conditional_trap): New functions.
+ 	* config/mips/mips.md (trap, conditional_trap): New patterns.
+ 
+ 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* flow.c (try_pre_increment_1): Don't do anything to sets of the stack
+ 	pointer.
+ 
+ 2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (built_in_decls): New array.
+ 	(expand_builtin_fputs): New function.
+ 	(expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
+ 
+ 	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
+ 
+ 	* tree.h (built_in_decls): New array.
+ 
+ Tue Sep 12 08:53:57 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* convex.md: Use "+" instead of "=" for outputs wrapped in a
+ 	STRICT_LOW_PART.
+ 	* i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
+ 
+ 2000-09-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* haifa-sched.c: Fix formatting.
+ 
+ 	* genattrtab.c: Fix formatting.
+ 
+ 	* unroll.c: Fix formatting.
+ 
+ 2000-09-12  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c: make a type for the fix procedure & use it,
+ 	remove obsolete code
+ 	* fixinc/fixincl.c: Use PARAMS, not _P_.  Add no-op default to switch.
+ 	* fixinc/fixincl.tpl: make non-exported arrays static scope
+ 	* fixinc/fixincl.x: regenerate
+ 	* fixinc/fixlib.h: Use PARAMS, not _P_
+ 	* fixinc/fixtests.c: make a type for the test proc & use it
+ 	* fixinc/server.h: Use PARAMS, not _P_
+ 
+ 2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-typeck.c (process_init_element): Avoid union init warnings on
+ 	floating point zero.  Don't crash on unions containing structs.
+ 
+ 2000-09-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
+ 	general_movsrc_operand, and remove CONST_INT from
+ 	general_movdst_operand.
+ 
+ 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
+ 	if a reference to non-fixed hardreg is seen.  Otherwise, count hard
+ 	regs with a higher cost.
+ 	(preferrable): Deal with cases where either cost or regcost is
+ 	MAX_COST.
+ 	(cse_insn): Use MAX_COST rather than 10000.  Always initialize
+ 	regcost values.
+ 	(COSTS_N_INSNS): Move definition...
+ 	* rtl.h: ...here.
+ 	(MAX_COST): New macro.
+ 	* loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
+ 	constant.
+ 
+ 2000-09-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (genrtl_clear_out_block): Remove.
+ 	* c-semantics.c (genrtl_clear_out_block): Remove.
+ 	(genrtl_while_stmt): Don't call it.
+ 	(genrtl_for_stmt): Likewise.
+ 
+ 2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c: Move all default-#defines to top of file.
+ 	(open_include_file): Replace by lookup_include_file.
+ 	(read_with_read, read_file): Merged into read_include_file.
+ 	(stack_include_file, purge_cache): New functions.
+ 	(close_cached_fd): Delete.
+ 	(lookup_include_file, read_include_file, _cpp_pop_file_buffer):
+ 	Cache the in-memory buffer, not the file descriptor.
+ 
+ 	* cpphash.h (struct include_file): Add buffer, st, refcnt,
+ 	mapped fields.
+ 	(xcnew): New utility macro.
+ 	(DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
+ 	* cpplib.h (struct cpp_buffer): Remove mapped field.
+ 
+ 2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (parse_string): Accept backslash space newline as a
+ 	line continuation.
+ 	(lex_line): Likewise.
+ 	(_cpp_get_token): Remove hard limit on macro nesting.
+ 
+ 2000-09-12  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
+ 	* configure: Rebuilt.
+ 
+ 2000-09-13  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* flow.c (split_block): Fix update of registers live at
+ 	end of split block.
+ 
+ Tue Sep 12 01:51:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (add?i_3, add?i_5): New.
+ 	(add?i_4): Rename from add?i_3;  Fix compare pattern.
+ 	(sub?i_3, xor?i_3, ior?i_3): New.
+ 
+ 	* genrecog.c (write_tree): Output code to clear insn_extract cache.
+ 	* genattrtab.c (write_attr_case): Gen call to extract_insn_cache
+ 	instead of extract_insn and extract_constrain_insn_cache instead of
+ 	extract_insn and constrain_operands.
+ 	* recog.c (extract_insn_cached, extract_constrain_insn_cached):
+ 	New functions.
+ 	(extract_insn): Clear which_alternative.
+ 	(constrain_operands): Set which_alternative to -1 when failed.
+ 	* recog.h (extract_constrain_insn_cached, extract_insn_cached):
+ 	Declare.
+ 
+ 2000-09-11  Matthew Hiller  <hiller@redhat.com>
+ 
+ 	* config/h8300/h8300.md (movstrictqi): Changed constraint modifier
+ 	on operand 0 to '+'.
+ 	(movstricthi): Likewise.
+ 
+ 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.h (LOOP_IVS): New macro.
+ 	(REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
+ 	(struct loop_ivs): New.
+ 	(struct loop_info): Add ivs field.
+ 	(reg_iv_type, reg_iv_info): Delete prototype.
+ 	(reg_biv_class, loop_iv_list): Likewise.
+ 	* loop.c (record_biv, find_life_end): Pass loop argument.
+ 	(reg_iv_type): Remove global array and use
+ 	field in loop_regs structure within loop_ivs structure.
+ 	(reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
+ 	(first_increment_giv, last_increment_giv): Use entry in
+ 	loop_ivs structure.
+ 	(record_initial): Pass ivs pointer.
+ 	* unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
+ 
+ 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.h (LOOP_REGS): New macro.
+ 	(struct loop_regs): New.
+ 	(struct loop_info): Add regs field.
+ 	* loop.c (set_in_loop): Remove global array and store
+ 	in loop_regs structure as part of loop_info structure.
+ 	(n_times_set, may_not_optimize): Likewise.
+ 	(reg_single_usage, moved_once): Likewise.
+ 	(count_one_set): Add regs argument.
+ 	(combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
+ 	(set_pseudo_multiple_uses): Pass regs pointer.
+ 
+ 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* unroll.c (iteration_info): Subsume into loop_iterations.
+ 	* loop.h (loop_info): New field iv.
+ 
+ 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
+ 	(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
+ 	(flow_loops_update): New prototype.
+ 	(flow_loops_find): Add flags to prototype.
+ 	(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
+ 	* flow.c (flow_loop_pre_header_scan): New.
+ 	(flow_loop_dump): Dump pre-header root and trace and exit dominators.
+ 	(flow_loop_free): Free pre-header root and trace and exit dominators.
+ 	(flow_loops_find): New argument flags.
+ 	(flow_loops_update): New function.
+ 	* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
+ 
+ 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* basic-block.h (split_block, update_bb_for_insn): New prototypes.
+ 	* flow.c (split_block, update_bb_for_insn): New functions.
+ 
+ 2000-09-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
+ 
+ 2000-09-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
+ 	* config/ia64/ia64.c (fr_nonimmediate_operand): New.
+ 	(ia64_override_options): Prevent optimizing division for both
+ 	latency and throughput.
+ 	(rtx_needs_barrier): Handle frcpa.
+ 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
+ 	(MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
+ 	(TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
+ 	(TARGET_SWITCHES): Add -minline-divide-min-latency and
+ 	-minline-divide-max-throughput.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md (extendsidi2): Remove * from f case.
+ 	(zero_extendsidi2): Likewise.  Fix typo in f case insn.
+ 	(extendsfdf2): Add cases for gr<->fr and fr<->mem.
+ 	(extendsftf2): Likewise.
+ 	(extenddftf2): Likewise.
+ 	(fix_trunctfdi2_alts): New.
+ 	(fixuns_trunctfdi2_alts): New.
+ 	(madd*4): Rename from madd*3.
+ 	(divsi3, modsi3, udivsi3, umodsi3): New.
+ 	(divsi3_internal): New.
+ 	(divdi3, moddi3, udivdi3, umoddi3): New.
+ 	(divdi3_internal_lat, divdi3_internal_thr): New.
+ 	(multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
+ 	(recip_approx): New.
+ 
+ 2000-09-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* print-rtl.c (debug_call_placeholder_verbose): New variable.
+ 	(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
+ 	set.
+ 	* integrate.c (copy_rtx_and_substitute): Don't share
+ 	LEAF_REG_REMAPpable registers with the inlined function.  Don't
+ 	share the function value with calling sequences.
+ 
+ 2000-09-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (do_case): Fix a typo.
+ 
+ 	* combine.c (simplify_if_then_else): Don't convert a == b ? b : a
+ 	to a if the comparison is floating mode and not -ffast-math.
+ 	* simplify-rtx.c (simplify_ternary_operation): Likewise.
+ 
+ Mon Sep 11 20:07:48 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
+ 	gen_ic_invalidate_line.
+ 
+ 2000-09-11  Philip Blundell  <pb@futuretv.com>
+ 
+ 	* config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
+ 
+ Mon Sep 11 10:48:41 2000  Ulrich Drepper <drepper@redhat.com>
+ 
+ 	* install.texi (LANGUAGES): Update to include new languages.
+ 	* INSTALL: Rebuilt.
+ 
+ 2000-09-11  DJ Delorie  <dj@redhat.com>
+ 
+ 	* gcc.c (main): Don't warn about unused -B prefixes
+ 	(unused_prefix_warnings): remove
+ 
+ 2000-09-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* final.c: Fix formatting.
+ 
+ 	* integrate.c: Fix formatting.
+ 
+ 2000-09-11  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
+ 
+ 2000-09-11  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* reload.c (regno_clobbered_p): Fix thinko in previous change.
+ 
+ 2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* gcc.1: Document 68hc11 specific options.
+ 
+ 2000-09-10  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
+ 	(TARGET_LONG_DOUBLE_128): Define.
+ 	(SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
+ 	(LONG_DOUBLE_TYPE_SIZE): Redefine.
+ 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
+ 	of __LONG_DOUBLE_128__.
+ 	(CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
+ 	passed.
+ 	(CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
+ 	(CPP_SYSV_DEFAULT_SPEC): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
+ 	(INIT_TARGET_OPTABS): Define.
+ 
+ 	* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
+ 	(RS6000_UITRUNC): Likewise.
+ 	(INIT_TARGET_OPTABS): New macro.
+ 	* config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
+ 	(trunc_defined): Delete.
+ 	(output_prolog): Don't output .extern definitions for fp->int
+ 	conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
+ 	* config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
+ 	(trunc_defined): Delete.
+ 	(RS6000_ITRUNC): Moved to aix.h.
+ 	(RS6000_UITRUNC): Likewise.
+ 	* config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
+ 	only emit a libcall.
+ 	(fixuns_truncdfsi2): Delete.
+ 	(trunc_call): Delete.
+ 	(trunc_call_rtl): Delete.
+ 
+ 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* varasm.c (make_decl_rtl): Restore leading star on
+ 	DECL_ASSEMBLER_NAME set for decls with an asmspec.
+ 
+ 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
+ 	won't give a spurious error for '#pragma pack()'.  Simplify
+ 	control flow for readability.  'reset' action is not necessary.
+ 
+ 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
+ 	SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
+ 	LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
+ 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
+ 
+ 	* cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
+ 	profile.c, sdbout.c, tradcif.y, tree.c:
+ 	Include defaults.h if not already included.
+ 	Don't define the above macros.
+ 
+ 	* Makefile.in: Update dependencies.
+ 
+ 2000-09-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (add_stmt): Change prototype.
+ 	(RECHAIN_STMTS): New macro.
+ 	(CASE_LABEL_DECL): Likewise.
+ 	(genrtl_case_label): Change prototype.
+ 	(c_expand_start_case): Remove prototype.
+ 	(build_case_label): Change prototype.
+ 	(decl_constant_value): Declare.
+ 	* c-common.c (check_case_value): Handle C++'s extensions to C
+ 	semantics.
+ 	* c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
+ 	field.
+ 	* c-parse.in (stmt): Adjust handling of return statements and case
+ 	laels.
+ 	* c-semantics.c (add_stmt): Return the new statement.
+ 	(genrtl_return_stmt): Take the RETURN_STMT as input, not the
+ 	returned expression.  Directly generate RTL, rather than calling
+ 	c_expand_return.
+ 	(genrtl_switch_stmt): Don't call c_expand_start_case.
+ 	(build_case_label): Take the LABEL_DECL as input, too.
+ 	(genrtl_case_label): Just call add_case_node.
+ 	(expand_stmt): Adjust calls to genrtl_return_stmt and
+ 	genrtl_case_label.
+ 	* c-tree.h (c_expand_start_case): Declare.
+ 	* c-typeck.c (decl_constant_value): Give it external linkage.
+ 	(c_expand_return): Don't call expand_return or expand_null_return;
+ 	use genrtl_return_stmt instead.
+ 	* stmt.c (struct nesting): Remove num_ranges field.
+ 	(add_case_node): Give it external linkage.
+ 	(expand_start_case): Don't set num_ranges.
+ 	(expand_start_case_dummy): Don't clear it.
+ 	(pushcase): Rely on add_case_node to handle `default' labels.
+ 	(add_case_node): Handle `default' labels.
+ 	* tree.c (tree_int_cst_compare): New function.
+ 	* tree.h (tree_int_cst_compare): Declare.
+ 	(add_case_node): Likewise.
+ 
+ 2000-09-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-parse.in: Revert last change.
+ 	(init_reswords): Do not enter disabled keywords into the ridpointers
+ 	table, modulo objc weirdness.
+ 	(_yylex): Return the canonical spelling for a keyword.
+ 
+ 2000-09-10  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
+ 	* config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
+ 
+ Sun Sep 10 14:30:28 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c (find_base_term): Handle ADDRESSOF.
+ 	(memrefs_conflict_p): An ADDRESSOF doesn't conflict.
+ 
+ 2000-09-10  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
+ 	outputting templates with many lines.
+ 
+ 2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
+ 	to decide whether 64-bit support must be generated.
+ 
+ 2000-09-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-parse.in (asm patterns): Fix volatile check.
+ 
+ 2000-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppmacro.c (check_trad_stringification): New function.
+ 	(save_expansion): If -Wtraditional, warn about stringification of
+ 	macro arguments.
+ 
+ 2000-09-11  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.h (struct loop_mem_info): Move from loop.c
+ 	(struct loop_info): Add fields store_mems, mems, mems_idx,
+ 	mems_allocated, unknown_address_altered,
+ 	unknown_constant_address_altered, num_mem_sets, and
+ 	first_loop_store_insn.
+ 
+ 	* loop.c (loop_store_mems): Replace with field in loop_info struct.
+ 	(loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
+ 	(unknown_address_altered, unknown_constant_address_altered): Likewise.
+ 	(num_mem_sets): Likewise.
+ 	(replace_loop_mems, replace_loop_regs): New.
+ 	(struct loop_replace_args): New.
+ 	(load_mems): Use replace_loop_mems.
+ 	(try_copy_prop): Use replace_loop_regs.
+ 	(replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
+ 
+ 2000-09-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* configure.in: Recognize m6811-elf and m6812-elf.
+ 	* configure: Regenerate.
+ 
+ 2000-09-09  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* recog.c (validate_replace_rtx_1): Correct MODE parameter in call
+ 	to operand_subword.
+ 
+ 2000-09-10  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (struct movables): New.
+ 	(num_movables): Move into struct movables.
+ 	(the_movables): Change type to struct movables.
+ 	(ignore_some_movables): Change struct movable arg to struct movables.
+ 	(force_movables, combine_movables, regs_match_p): Likewise.
+ 	(rtx_equal_for_loop_p, move_movables): Likewise.
+ 	(scan_loop): Change movables to be of type struct movables.
+ 	Replace last_movable with field in movables structure.
+ 
+ 2000-09-08  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
+ 	(init_pragma): Avoid warning if pfile happens to be unused.
+ 	* c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS.  Never
+ 	define init_pragma to nothing.  Always prototype
+ 	init_pragma.  Prototype dispatch_pragma if !USE_CPPLIB.
+ 
+ 	* c-lex.c (process_directive): Always call dispatch_pragma.
+ 	Initialize entering_c_header to 0.
+ 
+ 2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md: New file, machine description for
+ 	68HC11 & 68HC12.
+ 	* config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
+ 	* config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
+ 	* config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
+ 	* config/m68hc11/m68hc11-protos.h: New file.
+ 	* config/m68hc11/m68hc11-crt0.S: New file, startup code.
+ 	* config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
+ 	* config/m68hc11/xm-m68hc11.h: New file, target defs.
+ 	* config/m68hc11/larith.asm: New file, libgcc routines.
+ 
+ 2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
+ 	(FPBIT_FUNCS): Add _usi_to_sf.
+ 	* config/fp-bit.c (usi_to_float): New function.
+ 	* config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
+ 	(usi_to_float): Add appropriate #define.
+ 
+ 2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
+ 	new functions.
+ 	* i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
+ 	* i386.md (attr "type"): Add sse and mmx types.
+ 	(attr "memory"): Handle them without a crash.
+ 	(movsi_1, movdi_2): Allow MMX regs.
+ 	(movdi splits): Don't split moves involving MMX regs.
+ 	(setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
+ 	(movv4sf_internal, movv4si_internal, movv8qi_internal,
+ 	movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
+ 	movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
+ 	sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
+ 	sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
+ 	sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
+ 	addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
+ 	divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
+ 	sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
+ 	sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
+ 	vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
+ 	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
+ 	cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
+ 	addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
+ 	subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
+ 	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
+ 	mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
+ 	mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
+ 	eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
+ 	smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
+ 	lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
+ 	mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
+ 	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
+ 	mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
+ 	mmx_clrdi): New patterns.
+ 
+ 2000-09-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c: Don't include tm.h directly.
+ 
+ Fri Sep  8 14:34:56 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_rtx_1): Fix confusion about equality
+ 	testing; simplify subregs of constants and nested subregs.
+ 
+ 2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
+ 
+ 2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
+ 	VEC_CONCAT.
+ 	* rtl.texi (description of USE): Add note about possible pitfalls
+ 	with this rtx.
+ 	From Richard Henderson:
+ 	* reload1.c (choose_reload_regs): Compute need_mode properly.
+ 
+ 2000-09-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
+ 	(__modsi3, __umodsi3): Likewise.
+ 	(__udivsi3): Likewise.  Normalize the TFmode values.
+ 
+ 2000-09-07  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
+ 	with a prototype.
+ 	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
+ 	warning.
+ 
+ Fri Sep  8 03:26:38 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+ 
+ 	* sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
+ 	(cmpeqdi_t): Add output pattern.
+ 	(cmpeqdi_t+1): Don't split when not optimizing.
+ 	Restore proper splitting operation.
+ 
+ 2000-09-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
+ 	do not call dispatch_pragma.
+ 
+ 2000-09-07  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
+ 	to CLASS_CANNOT_CHANGE_MODE.
+ 	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
+ 	mode classes are different.
+ 
+ 2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (struct cpp_options): Add user_label_prefix member,
+ 	left out of commit which removed cppulp.c.
+ 
+ 2000-09-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* bb-reorder.c (fixup_reorder_chain): Add jump in new block
+ 	after switch for CASE_DROPS_THROUGH.
+ 
+ 2000-09-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (strength_reduce): Call check_ext_dependant_givs.
+ 	Properly extend the biv initial value for the giv.
+ 	(record_biv): Zero ext_dependant.
+ 	(record_giv): New argument ext_val.  Update all callers.
+ 	(general_induction_var): Likewise.
+ 	(consec_sets_giv): Likewise.
+ 	(simplify_giv_expr): Likewise.  Fill in ext_val if we find
+ 	a sign-extend, zero-extend, or truncate.
+ 	(combine_givs_p): Make sure modes are compatible.
+ 	(check_ext_dependant_givs): New.
+ 	(extend_value_for_giv): New.
+ 	* loop.h (struct induction): Add ext_dependant.
+ 	* unroll.c (iteration_info): Extend the biv initial value for the giv.
+ 	(find_splittable_givs): Likewise.
+ 	(final_giv_value): Likewise.
+ 
+ 2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
+ 	REGISTER_TARGET_PRAGMAS is defined.  Duplicate some
+ 	definitions from cpplib.h.
+ 	* cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
+ 	already done it.
+ 	* tm.texi: Document HANDLE_PRAGMA as no longer supported.  Add
+ 	documentation for REGISTER_TARGET_PRAGMAS.
+ 
+ 	* c-lex.c: Include cpplib.h before c-pragma.h.  Define a
+ 	default-pragma callback to implement -Wunknown-pragmas if
+ 	USE_CPPLIB.
+ 	* c-parse.in: Move all includes to top of file.
+ 	* c-pragma.c: Include cpplib.h before c-pragma.h.  Include
+ 	tm_p.h.
+ 	(dispatch_pragma): Put the namespace in the -Wunknown-pragmas
+ 	warning.
+ 	(init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
+ 
+ 	* arm.h, arm-protos.h, arm.c,
+ 	  c4x.h, c4x-protos.h, c4x.c,
+ 	  h8300.h, h8300-protos.h, h8300.c,
+ 	  i370.h, i370-protos.h, i370.c,
+ 	  i960.h, i960-protos.h, i960.c,
+ 	  sh.h, sh-protos.h, sh.c,
+ 	  v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
+ 	pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
+ 
+ 	* d30v.h: Don't mention HANDLE_PRAGMA in comment.  Add
+ 	multiple include guard.
+ 	* i370.md (untyped_call): Use GEN_CALL.
+ 	(umodsi3): Remove unused variable.
+ 	* sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
+ 	* v850.c (output_move_single, output_move_double): Constify
+ 	return value.
+ 	(print_operand): Constify a char *.
+ 	* v850.h (struct small_memory_info): Constify name member.
+ 
+ 2000-09-07  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300.h: Fix comment typos.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 
+ Thu 07-Sep-2000 21:29:00 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* Makefile.in: Remove references to cppulp.{c,o}.
+ 	* cppinit.c (initialize_builtins, cpp_start_read,
+ 	cpp_handle_option): Update to use cpp_options structure.
+ 	* cppulp.c: Remove.
+ 
+ 2000-09-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (time_char_table): Allow %#b and %#h.
+ 
+ 2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* reorg.c (find_end_label): If the basic block reorder pass moves the
+ 	return insn to some other place try to locate it again and put our
+ 	end_of_function_label there.
+ 	* reorg.c (relax_delay_slots): Check if find_end_label created a
+ 	new label that invalidates the current optimazation.
+ 
+ 2000-09-07  Catherine Moore  <clm@redhat.com>
+ 
+ 	* unroll.c (unroll_loop): Check for unconditional jumps
+ 	to loop continuation.  Delete if n_iterations is 1.
+ 	(ujump_to_loop_cont): New routine.
+ 
+ 2000-09-07  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
+ 	MODE_VECTOR_FLOAT.
+ 	* reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
+ 	to handle multiword modes correctly.  All callers and the declaration
+ 	changed.
+ 
+ 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (prep_stmt): Declare.
+ 	(lang_expand_stmt): Likewise.
+ 	* c-decl.c (lang_expand_stmt): Remove.
+ 	* c-semantics.c (lang_expand_stmt): Define.
+ 	(prep_stmt): New function.
+ 	(expand_stmt): Handle common statement types here.
+ 
+ 2000-09-07  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (sh-*-linux*): Added.
+ 	* configure: Rebuilt.
+ 	* config/sh/t-linux: New file.
+ 	* config/sh/sh.h (USERMODE_BIT): Define.
+ 	(TARGET_USERMODE): Likewise.
+ 	(TARGET_SWITCHES): New switches for the bits above.
+ 	(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
+ 	* config/sh/linux.h: New file.
+ 	* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
+ 	underscore on linux.
+ 	(L_sdivsi3, L_udivsi3): Define for linux.
+ 	(L_ic_invalidate): Define.
+ 	* invoke.texi (SH Options): Document -musermode.
+ 
+ 2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
+ 	CSE unless generating PIC.
+ 
+ 	* config/sh/sh.md (symPLT_label2reg): Force the initialization of
+ 	the PIC register.
+ 
+ 2000-09-06  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* Makefile.in (clean_s1): Depend on stage_b.
+ 	(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
+ 	stage2. They are used for "make compare".
+ 
+ 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Move statement-tree facilities from C++ to C front-end.
+ 	* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
+ 	(void_zero_node): New macro.
+ 	(struct stmt_tree_s): New type.
+ 	(stmt_tree): New typedef.
+ 	(struct language_function): New type.
+ 	(last_tree): New macro.
+ 	(last_expr_type): Likewise.
+ 	(walk_tree_fn): New typedef.
+ 	(current_stmt_tree): New function.
+ 	(begin_stmt_tree): Likewise.
+ 	(add_stmt): Likewise.
+ 	(finish_stmt_tree): Likewise.
+ 	(statement_code_p): Likewise.
+ 	(lang_statement_code_p): New variable.
+ 	(walk_stmt_tree): New function.
+ 	(STMT_IS_FULL_EXPR_P): New macro.
+ 	* c-common.c (lang_statement_code_p): New variable.
+ 	(c_common_nodes_and_builtins): Initialize void_zero_node.
+ 	(statement_code_p): New function.
+ 	(walk_stmt_tree): Likewise.
+ 	* c-decl.c (language_function): Rename to ...
+ 	(c_language_function): ... this.  Include language_function.
+ 	(push_c_function_context): Adjust accordingly.
+ 	(pop_c_function_context): Likewise.
+ 	(mark_c_function_context): Likewise.
+ 	(current_stmt_tree): Define.
+ 	* c-semantics.c (begin_stmt_tree): New function.
+ 	(add_stmt): Likewise.
+ 	(prune_unused_decls): Likewise.
+ 	(finish_stmt_tree): Likewise.
+ 
+ 2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* flow.c (insn_dead_p): Detect dead memory stores with auto increments.
+ 
+ 2000-09-06  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* calls.c: Fix formatting.
+ 
+ 2000-09-06  Graham Stott  <grahams@cygnus.co.uk>
+ 
+ 	* config/i386/i386.h (ADDRESS_COST): Fix typo.
+ 
+ 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	Integrated preprocessor.
+ 
+ 	* Makefile.in: Remove all references to c-parse.gperf,
+ 	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
+ 	generating c-parse.c.  Update dependencies.
+ 	* c-parse.gperf, c-gperf.h: Delete.
+ 
+ 	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
+ 	yy_lim, or yy_get_token.  Don't define get_directive_line if
+ 	USE_CPPLIB.
+ 	* c-common.h: Add multiple include guard.  Define RID values
+ 	for every keyword in C, C++, and Objective-C.  Put all the
+ 	modifiers first.
+ 	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
+ 	* c-decl.c (c_decode_option): Handle -lang-objc here.
+ 	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
+ 	(grokdeclarator): Adjust for new RID scheme.
+ 	(extract_interface_info): New stub.
+ 	* c-lang.c: Don't declare yy_cur or parse_options.
+ 	(lang_init_options): Call cpp_init.  Don't call
+ 	cpp_options_init.
+ 	(lang_init): Don't call check_newline if USE_CPPLIB.
+ 
+ 	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
+ 	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
+ 	rendered unnecessary by new architecture.  Move routines not
+ 	shared with C++ to c-parse.in.  Maintain a local idea of the
+ 	line number.    Handle C++ as well as C.
+ 	[USE_CPPLIB]: Declare and register callbacks for #ident and
+ 	for entering/leaving files.
+ 	(init_c_lex, c_lex): Are now the entry points to this file.
+ 	(check_newline): Break out directive handling to
+ 	process_directive.
+ 	(read_ucs, is_extended_char, utf8_extend_token): Moved here
+ 	from C++ front end.
+ 	(readescape, parse_float): Overhaul.
+ 	(lex_number, lex_string, lex_charconst): Break out of c_lex
+ 	(n'ee yylex).
+ 	(get_fileinfo, update_header_times, dump_one_header,
+ 	dump_time_statistics): New and/or moved here from C++.
+ 	Support per-file data needed by C++ and per-header timing
+ 	statistics (C++ only, at the moment).
+ 	* c-lex.h: Update prototypes.  Add multiple include guard.
+ 	* c-tree.h (struct lang_identifier): Add rid_code field.
+ 	(C_IS_RESERVED_WORD, C_RID_CODE): New.
+ 
+ 	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
+ 	reinit_parse_for_function and/or position_after_white_space.
+ 	(save_filename, save_lineno): Look ahead before saving.
+ 	(label -> identifier ':'): Save file and line before shifting ':'.
+ 	(reservedwords): No need to call get_identifier.
+ 	(init_parse, finish_parse, yyerror, yylex, yyprint,
+ 	make_pointer_declarator): Are now here for C/ObjC.
+ 	(rid_to_yy): Conversion table from RID constants to Yacc codes.
+ 
+ 	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
+ 	#pragma registry.  Provide dummy implementation of that
+ 	interface if !USE_CPPLIB.
+ 	* c-pragma.h: Update to match.
+ 
+ 	* flags.h: Add multiple include guard.
+ 	(flag_detailed_statistics): Moved here from C++.
+ 	* toplev.c: Define flag_detailed_statistics.
+ 
+ 	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
+ 	#if USE_CPPLIB.
+ 	* timevar.def (TV_CPP, TV_LEX): New.
+ 	* timevar.h: Add multiple include guard.
+ 
+ 	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
+ 	#if USE_CPPLIB.
+ 	* objc/objc-act.c: Don't mention yy_cur or parse_options.
+ 	Initialize cpplib properly.  Force lineno to 0 after first
+ 	call to check_newline.  Don't handle -lang-objc here.
+ 	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
+ 
+ 2000-09-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md: Correct function unit definitions for cr_logical and
+ 	mtjmpr.
+ 	(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
+ 	and use portable method for >=0 and floating point >=.  Remove
+ 	associated matchers.
+ 
+ 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* extend.texi: Mark named return value extension as deprecated.
+ 
+ 2000-09-06  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
+ 	the result.
+ 
+ 2000-09-06  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.c (display_help): Fix thinko in documentation.
+ 
+ 	* diagnostic.h (output_buffer::indent_skip): New fields.
+ 	(output_indentation): New macro.
+ 
+ 	* diagnostic.c (output_indent): New function.
+ 	(output_set_prefix, clear_diagnostic_info): Use.
+ 	(output_emit_prefix): Predict future indentation.
+ 
+ 2000-09-06  DJ Delorie  <dj@redhat.com>
+ 
+ 	* Makefile.in (stage_*): add more dependencies to ensure parallel
+ 	builds build correctly
+ 
+ 2000-09-06  Manfred Hollstein  <manfredh@redhat.com>
+ 
+ 	* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
+ 	not bootstrap-lean_f.
+ 
+ 2000-09-06  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* mklibgcc.in: Emit rule for libgcc-stage-start.
+ 	* Makefile.in (stage1-start, stage2-start, stage3-start,
+ 	stage4-start): Don't handle libgcc here, use libgcc.mk instead.
+ 
+ 2000-09-06  Bernd Schmidt  <bernds@redhat.co.uk>
+ 
+ 	* local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
+ 	(update_equiv_regs): Likewise, except for the mn10200 kludge.
+ 	(combine_regs): Likewise.
+ 
+ 	* Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
+ 	* cse.c: Include "basic-block.h".
+ 	(struct table_elt): New field REGCOST.
+ 	(CHEAP_REG): Delete macro.
+ 	(COST): Return 0 for REGs.
+ 	(approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
+ 	(notreg_cost): Return 0 for appropriate SUBREGs.
+ 	(COSTS_N_INSNS): Return N * 2.
+ 	(rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
+ 	SUBREGs.
+ 	(CHEAPER): Use new function preferrable.
+ 	(insert): Initialize REGCOST member.
+ 	(find_best_addr): Use approx_reg_cost for estimation of register
+ 	usage.
+ 	(cse_insn): Likewise.
+ 	* loop.c (iv_add_mult_cost): New function.
+ 	(add_cost, shift_cost, mult_cost): Delete variables.
+ 	(init_loop): Don't initialize add_cost; reduce copy_cost by half.
+ 	(strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
+ 	Make code that detects autoinc opportunities slightly less optimistic.
+ 	(simplify_giv_expr): If expression contains other reg that is also a
+ 	giv, only increment benefit if this is the only use of that reg.
+ 	(consec_sets_giv): Take that change into account.
+ 	(combine_givs): Slightly more verbose output.
+ 
+ 	* i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
+ 	not the cost of an equivalent shift.
+ 	* sh-protos.h (addsubcosts): Declare.
+ 	* sh.c (addsubcosts): New function.
+ 	* sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
+ 	(RTX_COSTS): Tweak.  Use addsubcosts.
+ 	(ADDRESS_COST): Return higher cost for reg+reg addressing.
+ 
+ 2000-09-06  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (validate_condition_mode): New function.
+ 	(branch_comparison_operator): Call validate_condition_mode to
+ 	abort rather than returning 0.
+ 	(branch_positive_comparison_operator): New function.
+ 	(scc_comparison_operator): Call validate_condition_mode to abort
+ 	rather than returning 0.
+ 	(ccr_bit): Call validate_condition_mode.  Update for
+ 	new branch scheme.
+ 	(print_operand): Delete %C modifier.  Update %E case
+ 	to use EQ bit not SO bit.
+ 	(rs6000_reverse_condition): New function.
+ 	(rs6000_generate_compare): New function.
+ 	(rs6000_emit_sCOND): New function.
+ 	(rs6000_emit_cbranch): New function.
+ 	(output_cbranch): The length of a long branch insn is
+ 	now only 8 bytes.  Add validate_condition_mode.  Use
+ 	rs6000_reverse_condition.  Remove cror generation.
+ 
+ 	* config/rs6000/rs6000.h: Update comments.
+ 	(PREDICATE_CODES): Add new predicate.  Update codes used
+ 	by branch_comparison_operator and scc_comparison_operator.
+ 	* config/rs6000/rs6000-protos.h: Add prototypes for
+ 	new external functions.
+ 	* config/rs6000/rs6000.md: Add new scheduling parameters
+ 	for cr_logical instructions.  Change length of branch
+ 	instructions.
+ 	(bCOND patterns): Call rs6000_emit_cbranch.
+ 	(sCOND patterns): Call rs6000_emit_sCOND.
+ 	(branch patterns): Change lengths to 4.
+ 	(cr logical patterns): New.
+ 
+ 2000-09-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/i386.md (call_pop): Fix test for setting
+ 	current_function_uses_pic_offset_table.
+ 	(call, call_value_pop, call_value): Likewise.
+ 
+ 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* timevar.c (timevar_add): Delete.
+ 	(timevar_get): Also count time since the selected timer was
+ 	last updated.  Do not examine the timevar stack if the
+ 	selected timer is standalone.
+ 
+ 2000-09-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
+ 
+ 2000-09-05  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
+ 	for 'extern' arrays.
+ 
+ 2000-09-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
+ 	Eliminate final copy from non-trapping case.
+ 	(__divdf3, __divsf3): Likewise.
+ 
+ 2000-09-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (mulhi3): Fix typo last change.
+ 	* config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
+ 
+ 2000-09-03  Donn Terry  <donn@interix.com>,  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* Makefile.in: Restructure bootstrap stages to allow clean
+ 	restart after failure.
+ 
+ 2000-09-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64.md (movsi and movdi patterns): Allow moves from
+ 	8-bit constants to AR registers.
+ 
+ 2000-09-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (mulhi3): New.
+ 
+ 2000-09-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
+ 	* config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
+ 	Optimization Guide, minimum latency alternative.
+ 	(__moddi3, __udivdi3, __umoddi3): Likewise.
+ 	(__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
+ 
+ 2000-09-05  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.c (load_file): always read header files
+ 	with sizes that are a multiple of the page size.
+ 	& use libiberty's getpagesize for determining that.
+ 
+ 2000-09-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcse.c (hash_string_1): Add prototype.
+ 	* cse.c (canon_hash_string): Likewise.
+ 
+ 2000-09-04  Craig Newell  <CraigN@ieee.org>
+ 
+ 	* gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
+ 
+ 2000-09-04  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (STAGESTUFF): Remove libgcc.
+ 	(stage1-start, stage2-start, stage3-start): Copy the contents of
+ 	the libgcc directory explicitly.
+ 	(mostlyclean): Clean libgcc.
+ 
+ 2000-09-04  Andrew Haley  <aph@redhat.com>
+ 
+ 	* dwarf2out.c: (stack_adjust_offset): New prototype.
+ 
+ Wed Jan  1 00:23:59 MET 1997  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (make_extraction): Fix rtx_cost comparison to
+ 	match the comment.
+ 
+ Wed Jan  1 00:17:32 MET 1997  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
+ 	umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
+ 	Add '*' to insn pattern name.
+ 
+ 2000-09-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
+ 	use posn - 1 to index into tokens array.
+ 	(maybe_paste_with_next): Adjust caller.
+ 
+ 2000-09-03  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* invoke.texi: Document the -mvxworks option for rs6000 ELF.
+ 
+ 	* config/rs6000/rs6000.h: Update various comments about XER_REGNO.
+ 	(REGNO_REG_CLASS): Use symbolic register
+ 	names.
+ 
+ 2000-09-03  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (final_prescan_insn): If the form of a jump insn isn't
+ 	recognized, don't try to conditionally execute it.
+ 
+ Sun Sep  3 13:10:56 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md ("*tablejump_lib"): New pattern.
+ 	(call_value_insn): Right length claculation.
+ 	(call_insn): Likewise.
+ 
+ 2000-09-02  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr-protos.h, config/avr/avr.c (unique_section,
+ 	gas_output_limited_string, gas_output_ascii, output_movqi,
+ 	output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
+ 	out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
+ 	out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
+ 	ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
+ 	lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
+ 	out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
+ 	Add "const" as needed to remove warnings.
+ 
+ 	* config/avr/avr.c (avr_override_options, avr_init_once,
+ 	function_prologue, function_epilogue, frame_pointer_required_p,
+ 	class_likely_spilled_p, order_regs_for_local_alloc,
+ 	avr_address_cost, avr_ret_register): Use K&R style arguments.
+ 	(initial_elimination_offset, gas_output_limited_string):
+ 	Remove ATTRIBUTE_UNUSED from the used arguments.
+ 	(output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
+ 	Use local variables src, dest, base to access operands[].
+ 	Rename reg_dest to reg_src if that's what it is.
+ 	(output_movhi, output_movsisf): Optimize loading 8-bit immediate
+ 	constants to LD_REGS if reg_was_0.
+ 	(output_reload_insisf): Change arg 3 to insn length and set it.
+ 	(out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
+ 	access to 16-bit I/O register pairs.
+ 	(avr_address_cost): Lower cost for the above case.
+ 	(out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
+ 	may be clobbered, also for LD_REGS.
+ 	(adjust_insn_length): Correct insn length for iorhi3 and iorsi3
+ 	with a CONST_INT.
+ 
+ 	* config/avr/avr.h (PTRDIFF_TYPE): Make signed.
+ 
+ 	* config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
+ 	macro to test_hard_reg_class function.
+ 	(*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
+ 	for loading immediate constants to LD_REGS.
+ 	(andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
+ 
+ 
+ Sat Sep  2 13:58:23 2000  Marek Michalkiewicz <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
+ 	* config/avr/libgcc.S: Lost part of the previous patch.
+ 
+ 2000-08-31  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
+ 	object before calling pthread_mutex_init.
+ 
+ 2000-09-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
+ 	config/sh/crtn.asm: New files.
+ 	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
+ 	(crt1.o, crti.o, crtn.o): New targets.
+ 	* configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
+ 	sh/t-elf.
+ 	* configure: Rebuilt.
+ 	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
+ 	STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
+ 	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
+ 	Undefine for config/elfos.h to redefine.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
+ 
+ 2000-09-02  Alexandre Oliva  <aoliva@redhat.com>, Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+ 
+ 	* config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
+ 	legitimize_pic_address, output_pic_addr_const): Declare.
+ 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
+ 	(PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
+ 	(TARGET_SWITCHES): New switch -mprefergot.
+ 	(OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
+ 	(PIC_OFFSET_TABLE_REGNUM): Define.
+ 	(GOT_SYMBOL_TABLE): Likewise.
+ 	(LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
+ 	(ENCODE_SECTION_INFO): Define.
+ 	(FINALIZE_PIC): New macros.
+ 	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
+ 	(ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
+ 	* config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
+ 	(prepare_move_operands): Call emit_pic_move or
+ 	emit_pic_const_move if appropriate.
+ 	(output_far_jump): For PIC, use braf and output long offset.
+ 	(machine_dependent_reorg):
+ 	(sh_expand_prologue): Save and initialize the PIC register.
+ 	(sh_expand_epilogue): Restore it.
+ 	(initial_elimination_offset): Account for it.
+ 	(nonpic_symbol_mentioned_p): New function.
+ 	(legitimize_pic_address): Likewise.
+ 	(output_pic_addr_const): Likewise.
+ 	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
+ 	(call, call_value): Use them.
+ 	(GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
+ 	symPLT_label2reg): New expands.
+ 	* invoke.texi (SH Options): Document -mprefergot.
+ 
+ 2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
+ 	* gcse.c (hash_string_1): New function.
+ 	(hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
+ 	(expr_equiv_p) <ASM_OPERANDS>: Likewise.
+ 	* cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
+ 	(canon_hash_string): New function.
+ 	(canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
+ 	(exp_equiv_p) <ASM_OPERANDS>: Likewise.
+ 	(fold_rtx): Use ASM_OPERANDS accessor macros.
+ 	* emit-rtl.c (copy_insn_1): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* stmt.c (expand_asm_operands): Likewise.  Give an
+ 	ASM_OPERANDS rtx the mode of the output reg being set from it.
+ 
+ 2000-09-01  Fred Fish  <fnf@be.com>
+ 
+ 	* fix-header.c (write_rbrac): Add putc and getc to list of
+ 	functions to protect against prior definition as a macro.
+ 
+ 2000-09-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
+ 	(c_size_type_node): Define.
+ 	* c-decl.c (init_decl_processing): Initialize c_size_type_node.
+ 	* c-common.c (enum format_lengths, enum format_std_version,
+ 	format_length_info, format_type_detail, BADLEN, NOLENGTHS,
+ 	format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
+ 	T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
+ 	T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
+ 	T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
+ 	TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
+ 	format_types): Define.
+ 	(format_char_info, print_char_table, scan_char_table,
+ 	time_char_table): Rearrange for new organization of information
+ 	about format length modifiers and standard versions.
+ 	(T_ST): Redefine to use c_size_type_node.
+ 	(check_format_info): Obtain information about length modifiers and
+ 	standard versions from tables.  Adjust warning message wordings.
+ 	Use the name from the user's program for `ll' and `hh' length
+ 	modifiers in warning messages.  Use more informative names for
+ 	wanted types where available (for wchar_t, wint_t, size_t, signed
+ 	size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
+ 
+ 2000-09-01  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
+ 	* combine.c (distribute_notes): Handle REG_NORETURN.
+ 	* rtl.c (reg_note_name): Add REG_NORETURN.
+ 	* rtl.h (enum reg_note): Likewise.
+ 
+ 	* config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
+ 	ia64_file_start.
+ 	* config/ia64/ia64.c (emit_safe_across_calls): Likewise.
+ 	(rtx_needs_barrier): Handle unspec_volatile 8 and 9.
+ 	(emit_predicate_relation_info): Handle conditional calls with
+ 	REG_NORETURN.
+ 	* config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
+ 	instead of ia64_file_start.
+ 	* config/ia64/sysv4.h (ASM_FILE_START): Likewise.
+ 	* config/ia64/ia64.md (safe_across_calls_all,
+ 	save_across_calls_normal): New patterns.
+ 
+ 	* loop.c (check_final_value): Check for biv use before checking for
+ 	giv use.  Check for both biv and giv uses.  Always set last_giv_use
+ 	if there is a giv use.
+ 
+ 2000-09-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
+ 	(madddi3): Likewise.
+ 	(maddsi3): New.
+ 
+ Fri Sep  1 10:59:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (clear_storage): Don't use emit_move_insn unless
+ 	either BLKmode or proper size.
+ 	(store_constructor): Don't call clear_storage if REG of wrong size.
+ 
+ 	* flow.c (init_propagate_block_info): Don't mark frame dead at end
+ 	of function if returns wiht stack pointer depressed.
+ 
+ 2000-09-01  Andrew Haley  <aph@redhat.com>
+ 
+ 	* dwarf2out.c (stack_adjust_offset): New function.
+ 	(dwarf2out_stack_adjust): Break out stack adjust logic into
+ 	new stack_adjust_offset function.  Look inside parallels and
+ 	sequences for stack adjustments.
+ 
+ 2000-08-31  Jeff Law <law@cygnus.com>
+ 
+ 	* arm.md: Use no_new_pseudos to determine when it is safe
+ 	to create new pseudo registers.
+ 
+ 	* arm.c (legitimize_pic_address): Use no_new_pseudos to determine
+ 	when we can safely allocate new registers.
+ 
+ 2000-08-31  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Twiddle generating_concat_p
+ 	so that CONCATs are not generated for ASMs.
+ 	* emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
+ 	not generating_concat_p.
+ 	* function.c (pop_function_context_from): Reset
+ 	generating_concat_p.
+ 	(prepare_function_start): Likewise.
+ 	* rtl.c (generating_concat_p): Define.
+ 	* rtl.h (generating_concat_p): Declare.
+ 	* toplev.c (rest_of_compilation): No CONCATs after RTL generation.
+ 
+ 2000-08-22  Philipp Thomas  <pthomas@suse.de>
+ 	    Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
+ 
+ 	* gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
+ 	for translation.
+ 
+ 2000-08-30  Greg McGary  <greg@mcgary.org>
+ 
+ 	* Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
+ 	* fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
+ 	* fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
+ 
+ 2000-08-30  Greg McGary  <greg@mcgary.org>
+ 
+ 	* tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
+ 	(TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
+ 	(TREE_INT_CST): New macro.
+ 	* varasm.c (const_hash, compare_constant_1, record_constant_1):
+ 	Use new macro TREE_INT_CST.
+ 
+ Wed 30-Aug-2000 23:18:59 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* contrib.texi: Add self.
+ 
+ 2000-08-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
+ 	(cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
+ 	and labels.
+ 
+ 2000-08-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* fixinc/gnu-regex.c: Don't define `const'.
+ 
+ Tue Aug 29 22:09:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): Allow variable bounds of array type.
+ 	(expand_expr): Don't blow up if type is ERROR_MARK.
+ 	* varasm.c (output_constructor): Don't access lower bound of array
+ 	type unless need it if index is supplied (so it can be a variable
+ 	if no index is supplied).
+ 	Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
+ 	Other minor cleanups.
+ 
+ 2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
+ 	for compilations in stage 1 and subsequent stages, respectively.
+ 	* configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
+ 	* configure: Rebuilt.
+ 	* x-vax, x-vax-gcc: Deleted.
+ 
+ 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-common.c (declare_function_name): Use func_id_node,
+ 	function_id_node, and pretty_function_id_node.  Do not make
+ 	__func__ visible at file scope.
+ 	* c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
+ 	CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
+ 	(function_id_node, pretty_function_id_node, func_id_node): New
+ 	macros.
+ 	* c-decl.c (init_decl_processing): Initialize function_id_node,
+ 	pretty_function_id_node, and func_id_node.
+ 	(c_make_fname_decl): Correct comment.
+ 
+ 	* tree.h (struct tree_identifier): Constify pointer member.
+ 
+ 	* c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
+ 	* c-pragma.h (struct weak_syms): Constify name and value members.
+ 	(add_weak): Constify arguments.
+ 
+ 	* calls.c (special_function_p): Constify a char *.
+ 	(expand_call): Remove variable which is initialized and then
+ 	never used.
+ 	* dependence.c (struct def_use, struct induction, struct subscript):
+ 	Constify 'variable' member.
+ 	(get_low_bound, have_induction_variable): Constify char * argument.
+ 	(find_induction_variable): Add braces to avoid dangling else.
+ 	(classify_dependence): Constify char * arrays.
+ 	* profile.c (output_func_start_profiler): Constify a char *.
+ 	* stor-layout.c (finalize_record_size): Constify a char *.
+ 	* tree.c (is_attribute_p): Constify a char *.
+ 	* varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
+ 
+ 	* varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
+ 	for comprehensibility.  Do not call get_identifier if we did
+ 	not change the DECL_ASSEMBLER_NAME of the decl.  Use alloca to
+ 	create temporary string constants, not ggc_alloc_string.  No
+ 	need to copy result of ASM_FORMAT_PRIVATE_NAME.  Use const
+ 	char * to hold IDENTIFIER_POINTERs.
+ 
+ 2000-08-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (muldi3): Use grfr_register_operand
+ 	for the inputs.
+ 
+ 2000-08-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (push_secondary_reload): Allow class == reload_class
+ 	if we're using a reload_in/out pattern.
+ 
+ 	* config/ia64/ia64.md (reload_inti): Use a TImode scratch.  Use
+ 	the half that does not conflict with the reload register.
+ 	(reload_outti): Likewise.
+ 
+ 2000-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* reload.c: Fix formatting.
+ 
+ 	* stmt.c: Fix formatting.
+ 
+ 	* gcc.c: Fix formatting.
+ 
+ 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* flags.h (time_report, mem_report): New global flags.
+ 	* toplev.c: Define time_report and mem_report.
+ 	(f_options): Add -ftime-report and -fmem-report.
+ 	(compile_file): Turn on time_report if quiet_flag is off.
+ 	Call ggc_print_statistics at very end if mem_report is on.
+ 	* timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
+ 
+ 	* ggc-common.c (ggc_print_statistics): Rename to
+ 	ggc_print_common_statistics; all callers changed.  Scale
+ 	quantities above 10K to kilobytes and above 10M to megabytes.
+ 	* ggc-page.c (ggc_page_print_statistics): Rename to
+ 	ggc_print_statistics.  Report memory consumed by internal data
+ 	structures for each allocation bucket.  Scale quantities above
+ 	10K to kilobytes and above 10M to megabytes.
+ 	* ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
+ 	Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
+ 	Define tally_leaves always.
+ 	(ggc_print_statistics): New function.
+ 	* ggc.h: Adjust for renamed functions.
+ 
+ Wed Aug 30 00:11:42 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
+ 	output_movsisf instead of which_alternative.
+ 
+ 	* config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
+ 
+ Tue Aug 29 22:29:58 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr-protos.h: (avr_output_ascii) Removed.
+ 	(avr_progmem_p): New prototype.
+ 	(output_movsisf): Prototype declaration changed.
+ 	(output_movqi): New prototype.
+ 	(output_movhi): New prototype.
+ 	(call_insn_operand): Likewise.
+ 	(final_prescan_insn): Likewise.
+ 	(avr_simplify_comparision_p): Likewise.
+ 	(avr_normalize_condition): Likewise.
+ 	(compare_eq_p): Likewise.
+ 	(out_shift_with_cnt): Likewise.
+ 	(const_int_pow2_p): Likewise.
+ 	(output_reload_inhi): Prototype declaration changed.
+ 
+ 	* config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
+ 	(ldi_reg_rtx): New. rtx for r31.
+ 	(avr_init_stack): Initialize as "__stack".
+ 	(function_prologue): Use it.
+ 	Replace all TARGET_ENHANCED with AVR_ENHANCED.
+ 	(avr_mcu_name): Initialize as "avr2".
+ 	(avr_enhanced_p, avr_mega_p): New variables.
+ 	(mcu_types, avr_override_options): Handle all known MCU types.
+ 	Also handle avr1 (only preprocess, assemble and link).
+ 	(print_operand): Using of `%K' in output template removed.
+ 	(out_movqi_r_mr): Optimized.
+ 	(out_movhi_r_mr): Likewise.
+ 	(output_movqi): New function.
+ 	(output_movhi): Likewise.
+ 	(out_movsi_r_mr): Optimized.
+ 	(output_movsisf): Compute insn length for `adjust_insn_length'
+ 	(out_movqi_mr_r): Optimized.
+ 	(out_movhi_mr_r): Optimized.
+ 	(adjust_insn_length): Use output_movsisf, output_movqi,
+ 	output_movhi for insn length adjusting.
+ 	(reg_unused_after): Use dead_or_set_p.
+ 	(preferred_reload_class): Now haven't any restriction.
+ 	(reg_was_0): New function.
+ 	(io_address_p): Likewise.
+ 	(const_int_pow2_p): Likewise.
+ 	(output_reload_inhi): Likewise.
+ 	(output_reload_insisf): Likewise.
+ 
+ 	* config/avr/avr.h (MULTILIB_DEFAULTS): Define.
+ 	(LIB_SPEC): Use -lc for all supported devices.
+ 	(LIBGCC_SPEC): Use -lgcc for all supported devices.
+ 	(AVR_MEGA): Define as avr_mega_p.
+ 	(AVR_ENHANCED): New, define as avr_enhanced_p.
+ 	(TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
+ 	(CPP_SPEC, LINK_SPEC): Handle all known MCU types.
+ 	(CRT_BINUTILS_SPECS): Handle all known MCU types.
+ 	Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
+ 	(EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
+ 	(ASM_SPEC): Pass -mmcu=... to the assembler.
+ 	Change all -DAVR_* to -D__AVR_*__.
+ 	(INIT_TARGET_OPTABS), config/avr/libgcc.S:
+ 	Rename library functions to start with two underscores.
+ 	(ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
+ 	alignment.
+ 	(ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
+ 	(SUPPORTS_WEAK): Likewise.
+ 	(LDI_REG_REGNO): New. Register r31 will be used as temporary
+ 	register for loading constants to r0-r14.
+ 
+ 	* config/avr/avr.md: Replace all TARGET_ENHANCED with
+ 	AVR_ENHANCED.
+ 	(*mov_r_sp): Removed. Handled by output_movhi.
+ 	(*mov_sp_r): Likewise.
+ 	(*mov_sp_r_no_interrupts): Likewise
+ 	(*mov_sp_r_tiny): Likewise.
+ 	(*movqi): Use output_movqi.
+ 	(*reload_inqi): New.
+ 	(*movhi): Use output_movhi.
+ 	(*reload_inhi): New.
+ 	(*negsi2): Optimized.
+ 	(*negsf2): Likewise.
+ 	Added peepholes (define_peephole2) for loading constants to r0-r14
+ 	and for using `cpse' command.
+ 
+ 	* config/avr/libgcc.S: Rename library functions to start with two
+ 	underscores.
+ 	Add support for enhanced core.
+ 	(_moqhi3): Fix typo, now _modqi3.
+ 	(__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
+ 	(__prologue_saves__): Remove test for stack adjust by 0.
+ 	(__tablejump__): New.
+ 
+ 	* config/avr/t-avr: Build libgcc2 with -mcall-prologues.
+ 	Add multilib support.
+ 
+ Tue Aug 29 15:17:54 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* loop.c (prescan_loop): Don't check unknown_address_altered
+ 	when deciding if insert_loop_mem is safe.  Add BLKmode MEMs
+ 	to loop_store_mems as necessary.
+ 	(loop_invariant_p): Don't check unknown_address_altered
+ 	or unknown_constant_address_altered.
+ 
+ 2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
+ 
+ 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpperror.c (print_file_and_line): If line is (unsigned int)-1,
+ 	print just the filename.
+ 	* cpplex.c (_cpp_run_directive): Add additional argument, the
+ 	name to give the synthetic buffer.  This defaults to
+ 	translated "<command line>".
+ 	* cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
+ 	Adjust to match.
+ 	(_cpp_define_builtin): New function.
+ 	* cppinit.c (initialize_builtins): Use _cpp_define_builtin.
+ 	* cpphash.h: Update prototypes.
+ 
+ 	* tradcpp.c (main): Process -D and -U simultaneously, in the
+ 	order they appeared on the command line.
+ 
+ 2000-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (define_label): Call warning_with_file_and_line and
+ 	error_with_file_and_line instead of plain warning or error.
+ 
+ 	* c-parse.in (label): Use save_filename/save_lineno to ensure
+ 	correct values for calls to define_label.
+ 
+ 2000-08-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (expand_call): Don't create a VAR_DECL just to throw it
+ 	away.
+ 	* expr.c (expand_expr, case TARGET_EXPR): Don't call
+ 	mark_addressable.
+ 	* tree.h (get_file_function_name): Remove two duplicate
+ 	declarations.
+ 
+ 2000-08-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* tree.c: Fix formatting.
+ 
+ 	* xcoffout.c: Fix formatting.
+ 
+ 2000-08-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
+ 
+ 2000-08-28  Daniel Berlin  <dberlin@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't bother calling
+ 	break_out_includes if it won't do anything.
+ 
+ 2000-08-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (push_secondary_reload): Revert 2000-08-16 change.
+ 	(find_reloads): Likewise.
+ 	* config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
+ 	(reload_inhi): Likewise.
+ 
+ 2000-08-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
+ 	(call_insn_operand): Don't expect a surrounding mem.
+ 	(constant_call_address_operand): Likewise.
+ 	* config/i386/i386.h (PREDICATE_CODES): Update.
+ 	* config/i386/i386.md (call patterns): Move the match_operand
+ 	for the call destination inside the mem.
+ 
+ 2000-08-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* local-alloc.c (requires_inout): Don't use reserved range for
+ 	EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
+ 	* recog.c (asm_operand_ok): Likewise.
+ 	(preprocess_constraints, constrain_operands): Likewise.
+ 	* regclass.c (record_reg_classes): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* reload1.c (maybe_fix_stack_asms): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	* stmt.c (expand_asm_operands): Likewise.
+ 
+ 	* md.texi: Update constraints documentation.
+ 	* tm.texi (EXTRA_CONSTRAINT): Update.
+ 
+ 2000-08-28  Daniel Berlin  <dberlin@redhat.com>
+ 
+ 	* dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
+ 	(print_die): If we don't know the offset of the
+ 	target die, try the symbol.  Add a trailing newline.
+ 	(reverse_all_dies): New fn.
+ 	(dwarf2out_finish): Call it.
+ 	(break_out_includes): Reorganize for clarity.
+ 	(add_sibling_attributes): Don't call reverse_die_lists.
+ 	(output_comp_unit): Rename from output_comdat_comp_unit.  Use for
+ 	primary CU, too.
+ 	* flags.h: Add flag_eliminate_dwarf2_dups.
+ 	* toplev.c (f_options): Support -feliminate-dwarf2-dups.
+ 
+ 2000-08-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
+ 	* dwarf2out.c: #include "md5.h".
+ 	(DIE_LABEL_PREFIX): New macro.
+ 	(dw_val_struct): Add 'external' flag to val_die_ref.
+ 	(add_AT_die_ref, AT_ref): Adjust.
+ 	(AT_ref_external, set_AT_ref_external): New fns.
+ 	(build_abbrev_table): Call set_AT_ref_external.
+ 	(value_format): Call AT_ref_external.
+ 	(die_struct): Add die_symbol field.
+ 	(new_die): Clear it.
+ 	(dwarf_tag_name): Handle BINCL/EINCL.
+ 	(dwarf2out_start_source_file): Add BINCL DIE.
+ 	(dwarf2out_end_source_file): Add EINCL DIE.
+ 	(push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
+ 	(loc_checksum, attr_checksum, die_checksum): New fns.
+ 	(is_type_die, is_comdat_die, is_symbol_die): New fns.
+ 	(compute_section_prefix, assign_symbol_names): New fns.
+ 	(gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
+ 	(output_die): Call output_die_symbol and AT_ref_external.
+ 	(output_comdat_comp_unit): New fn, split out from...
+ 	(dwarf2out_finish): ...here.  Also call add_sibling_attributes for
+ 	secondary CUs.
+ 	(output_pubnames, output_aranges): Abort if we see entries from
+ 	secondary CUs.
+ 	* toplev.h: Declare file_name_nondirectory.
+ 	* toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
+ 	(rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
+ 	(debug_start_source_file): Call dwarf2out_start_source_file
+ 	regardless of debug verbosity.
+ 	(debug_end_source_file): Similarly.
+ 	* tree.h: Declare clean_symbol_name.
+ 	* tree.c (clean_symbol_name): Split out from...
+ 	(get_file_function_name_long): ...here.
+ 
+ 	* dwarf2out.c (new_loc_descr): Use calloc.
+ 	(splice_child_die): Remove the die from the right parent.
+ 	(gen_struct_or_union_die): Don't add AT_name to a specification DIE.
+ 
+ Mon Aug 28 19:02:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (decode_g_option): Don't give warning for unknown -g
+ 	option; return 0 instead.
+ 	(main): If -g option is not recognized by front end or
+ 	language-independent code, give warning.
+ 
+ 2000-08-28  Greg McGary  <greg@mcgary.org>
+ 
+ 	* config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
+ 	* config/i386/i386.c (ix86_expand_compare): Remove `static'.
+ 	* config/i386/i386.md (trap, conditional_trap): New insn & expand.
+ 
+ 2000-08-27  Greg McGary  <greg@mcgary.org>
+ 
+ 	* cpplex.c (parse_string): Don't look for backslash
+ 	before first char in `namebuf'.
+ 	* loop.c (strength_reduce): Skip NOTEs.
+ 
+ 2000-08-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
+ 	DECL_EXTERNAL on a local extern.  Don't set DECL_IGNORED_P or
+ 	TREE_ASM_WRITTEN, either.
+ 	(finish_decl): Adjust.
+ 
+ 2000-08-28  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
+ 	they have been incorporated into the gettext CVS. Change the text to
+ 	reflect the current status of NLS. Add instructions for accessing
+ 	the gettext CVS and add the patch from Martin v. Loewis.
+ 
+ 2000-08-27  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
+ 	by using gen_lowpart_common.
+ 	(movdi_internal64+6): Likewise.
+ 
+ 2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
+ 	Document.
+ 
+ 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
+ 	numbers to the ranges used by GDB.
+ 
+ 2000-08-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (struct machine_function): Add n_varargs.
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Use it.
+ 	(ia64_expand_prologue): Likewise.
+ 	(ia64_setup_incoming_varargs): Set it.  Properly skip the current
+ 	argument for stdargs.
+ 
+ 2000-08-25  Jason Merrill  <jason@redhat.com>
+ 
+ 	* integrate.c (expand_inline_function): Pull out the original decl.
+ 
+ 2000-08-25  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
+ 
+ 	* function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
+ 
+ 2000-08-25  Greg McGary  <greg@mcgary.org>
+ 
+ 	* flow.c (dump_edge_info): Use ARRAY_SIZE.
+ 	* config/alpha/alpha.c (alpha_expand_block_move): Likewise.
+ 
+ 2000-08-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (STRUCT_VALUE): Define to 0, not NULL.
+ 
+ Fri Aug 25 12:52:49 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (ix86_find_base_term): New.
+ 	* i386-protos.h (ix86_find_base_term): Prototype.
+ 	* i386.h (FIND_BASE_TERM): Define.
+ 	* alias.c (find_base_term): Use it.
+ 	* tm.texi (FIND_BASE_TERM): Document it.
+ 
+ 	* alias.c (true_dependence, write_dependence_p): Unchanging
+ 	memory can't conflict with non-unchanging memory.
+ 
+ 	* alias.c (memrefs_conflict_p): A BLKmode reference
+ 	to a symbol (or CONST_INT address) always conflicts
+ 	with a reference to another symbol.
+ 
+ 2000-08-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (time_char_table): Don't allow width and flags with
+ 	"z" format.
+ 
+ 2000-08-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
+ 	way as LT and LTU when the second operand has 0 in low word.
+ 
+ 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* basic-block.h (struct loop): Rename `exits' field to
+ 	`exit_edges'.  Add `entry_edges' and `num_entries' fields.
+ 
+ 	* flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
+ 	(flow_loop_entry_edges_find): Add.
+ 	(flow_edge_list_print): Rename from flow_exits_print.
+ 	(flow_loops_find): Call flow_loop_entry_edges_find.
+ 	(flow_loop_dump): Dump entry_edges list.
+ 	(flow_loops_free): Free entry_edges.
+ 
+ 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (loop_dump_aux, debug_loop): New functions.
+ 	(LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
+ 
+ 	* flow.c (flow_loops_dump): Add callback parameter.
+ 	(flow_loop_dump): Add callback parameter and call it.  Move
+ 	loop note debugging code to loop_dump_aux.
+ 
+ 	* basic-block.h (flow_loop_dump): Add callback parameter
+ 	(flow_loops_dump): Likewise.
+ 
+ 	* toplev.c (rest_of_compilation): Add NULL callback function pointer
+ 	to call to flow_loops_dump.
+ 
+ 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (count_loop_regs_set): Replace start and end arguments
+ 	with loop argument.  All callers udated.
+ 
+ 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (constant_high_bytes): Delete.
+ 
+ 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
+ 	and NOTE_INSN_LOOP_VTOP to...
+ 	(find_and_verify_loops) ...here.
+ 
+ Fri Aug 25 04:21:13 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
+ 	(fini_dummy, init_dummy): Use it.
+ 
+ Fri 25-Aug-2000 08:03:27 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (is_macro_disabled): Caller has already checked
+ 	that we're not a preprocessed file.
+ 
+ 2000-08-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
+ 	(c-iterate.o): Remove target.
+ 	* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
+ 	* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
+ 	(finish_decl): Don't handle iterators.
+ 	(grokdeclarator): Likewise.
+ 	* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
+ 	* gcc/c-gperf.h: Regenerated.
+ 	* gcc/c-iterate.c: Removed.
+ 	* gcc/c-lex.c (init_lex): Don't handle iterators.
+ 	* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
+ 	(compstmt_primary_start): Remove push_iterator_stack call.
+ 	(stmt): Don't allow iterator statements.  Replace iterator_expand
+ 	with expand_expr_stmt.
+ 	(all_iter_stmt): Remove.
+ 	(all_iter_stmt_simple): Likewise.
+ 	(all_iter_stmt_with_decl): Likewise.
+ 	* gcc/c-tree.h (ITERATOR_P): Remove.
+ 	(ITERATOR_BOUND_P): Likewise.
+ 	(init_iterators): Remove declaration.
+ 	(iterator_expand): Likewise.
+ 	(iterator_for_loop_start): Likewise.
+ 	(iterator_for_loop_end): Likewise.
+ 	(iterator_for_loop_record): Likewise.
+ 	(push_iterator_stack): Likewise.
+ 	(pop_iterator_stack): Likewise.
+ 	* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
+ 	(readonly_warning): Likewise.
+ 	* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
+ 
+ 2000-08-24  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* c-common.c (decl_attributes, case A_ALIGN): Revert last change.
+ 	Copy type in a TYPE_DECL, just like pushdecl does.
+ 
+ 2000-08-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (main): Enable flag_reorder_blocks at -O2.
+ 
+ 2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
+ 	asked for one page, allocate GGC_QUIRE_SIZE of them and put
+ 	the extras on the free list.
+ 	(release_pages): Clean up.
+ 	(ggc_set_mark): Don't adjust G.allocated here...
+ 	(sweep_pages): ... do it here.
+ 
+ 2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (read_include_file): Rearrange initializations.
+ 
+ 2000-08-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
+ 
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.c (gr_register_operand): New.
+ 	(fr_register_operand, grfr_register_operand): New.
+ 	(gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
+ 	(grfr_reg_or_8bit_operand): New.
+ 	(gr_reg_or_0_operand): Rename from reg_or_0_operand and
+ 	use gr_register_operand.
+ 	(gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
+ 	(gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
+ 	(gr_reg_or_8bit_and_adjusted_operand): Likewise.
+ 	(gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
+ 	(fr_reg_or_fp01_operand): Likewise.
+ 	(not_postinc_memory_operand): New.
+ 	(ia64_split_timode): Remove unused variables.
+ 	(rtx_needs_barrier): Check arguments to cmpxchg.
+ 	(builtin_description): Remove.
+ 	(bdesc_2argsi, bdesc_2argdi): Remove.
+ 	(ia64_init_builtins): Declare all builtins directly.
+ 	(ia64_expand_fetch_and_op): Rewrite to be called from
+ 	ia64_expand_builtin directly.  Use expand_binop and co.
+ 	(ia64_expand_op_and_fetch): Likewise.
+ 	(ia64_expand_compare_and_swap): Likewise.
+ 	(ia64_expand_binop_builtin): Remove.
+ 	(ia64_expand_lock_test_and_set): New.
+ 	(ia64_expand_lock_release): New.
+ 	(ia64_expand_builtin): Use them.
+ 	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
+ 	(EXTRA_CONSTRAINT): Use it.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md (*): Use gr_register_operand and co.
+ 	(mf): Indicate that we set memory as well as use it.
+ 	(fetchadd_acq_si): Show memory being modified as well.
+ 	(fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
+ 	(val_compare_and_swap_si, val_compare_and_swap_di): Remove.
+ 	(lock_test_and_set_si, lock_test_and_set_di): Remove.
+ 	(fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
+ 	(fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
+ 	(fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
+ 	(fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
+ 	(add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
+ 	(and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
+ 	(add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
+ 	(and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
+ 	* config/ia64/ia64intrin.h (*): Cast result to the appropriate
+ 	return type.  Pretty print definitions.
+ 
+ 2000-08-24  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
+ 	we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
+ 
+ 2000-08-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
+ 	AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
+ 	(get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
+ 	get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
+ 
+ 2000-08-24  Greg McGary  <greg@mcgary.org>
+ 
+ 	* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
+ 	and extendtab within their proper array boundaries.
+ 	* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
+ 	for the entire array.
+ 
+ 	* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
+ 	* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
+ 	* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
+ 	* config/fr30/fr30.c (fr30_print_operand): Likewise.
+ 	* config/i386/dgux.c (output_options): Likewise.
+ 	* config/i386/dgux.h (ASM_FILE_START): Likewise.
+ 	* config/m88k/m88k.c (output_options): Likewise.
+ 	* config/m88k/m88k.h (ASM_FILE_START): Likewise.
+ 	* config/mcore/mcore.c (mcore_output_inline_const_forced,
+ 	layout_mcore_frame, handle_structs_in_regs): Likewise.
+ 	* config/mips/mips.c (output_block_move): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_override_options,
+ 	rs6000_file_start): Likewise.
+ 	* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
+ 	* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
+ 	* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
+ 	* builtins.c (expand_builtin_setjmp): Likewise.
+ 	* expr.c (safe_from_p): Likewise.
+ 	* flow.c (life_analysis): Likewise.
+ 	* fold-const.c (size_int_type_wide): Likewise.
+ 	* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
+ 	* genattrtab.c (make_length_attrs): Likewise.
+ 	* genopinit.c (gen_insn): Likewise.
+ 	* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
+ 	* global.c (global_alloc): Likewise.
+ 	* local-alloc.c (find_free_reg): Likewise.
+ 	* mips-tdump.c (print_symbol): Likewise.
+ 	* mips-tfile.c (parse_def, parse_input): Likewise.
+ 	* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
+ 	* stmt.c (expand_nl_goto_receiver): Likewise.
+ 	* stor-layout.c (set_sizetype): Likewise.
+ 	* varasm.c (decode_reg_name): Likewise.
+ 	* toplev.c (decode_f_option, decode_W_option,
+ 	set_target_switch, print_switch_values): Likewise.
+ 	(NUM_ELEM): Remove macro.
+ 	(display_help, main): s/NUM_ELEM/ARRAY_SIZE/
+ 
+ 2000-08-24  Greg McGary  <greg@mcgary.org>
+ 
+ 	* tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
+ 	(MAIN_NAME_P, main_identifier_node): New macros.
+ 	* c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
+ 	* c-decl.c (start_decl, grokdeclarator, start_function,
+ 	store_parm_decls, finish_function): Use MAIN_NAME_P.
+ 	* config/avr/avr.c (function_prologue, function_epilogue): Likewise.
+ 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
+ 	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
+ 	* config/pdp11/pdp11.c (output_function_prologue): Likewise.
+ 
+ 2000-08-24  Greg McGary  <greg@mcgary.org>
+ 
+ 	* cppfiles.c (actual_directory): Don't write beyond `dir'
+ 	when it contains "".
+ 	* real.c (asctoeg): Stay within bounds of etens[][].
+ 
+ 2000-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dependence.c (dependence_string, direction_string,
+ 	dump_one_node, dump_node_dependence): Hide unused identifiers.
+ 	(get_low_bound, normalize_coefficients): Match definition to
+ 	static prototype.
+ 	(get_one_coefficient): Initialize variables `value0_is_idx' and
+ 	`value1_is_idx'.
+ 	(ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
+ 	(ziv_test): Delete variable `idx', use parameter `sub' instead.
+ 	(direction_merge): Avoid automatic aggregate initialization.
+ 	(have_dependence_p): Use `src' not `dest' to set `src_idx'.
+ 	Initialize variables `dest_idx' and `src_idx'.
+ 	(end_dependence_analysis): Avoid C89 style function definition.
+ 
+ 2000-08-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (time_char_table): Don't allow width with %F.
+ 	(check_format_info): Don't allow "Z" length with scanf.
+ 
+ 2000-08-24  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (finish_diagnostic): Define.
+ 	(output_do_printf): Use wrap_text instead of output_add_string.
+ 	(default_print_error_function): Avoid embedded '\n'.
+ 
+ 	* diagnostic.h (flush_diagnostic_buffer): Declare.
+ 
+ 2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
+ 
+ 2000-08-23  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* Makefile.in (GCC_PASSES): Add specs.
+ 
+ 2000-08-23  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
+ 	* config/ia64/frame-ia64.c (__get_personality): Return zero if neither
+ 	EHANDLER nor UHANDLER bit is set.
+ 	(__get_except_table): Likewise.
+ 
+ 2000-08-23  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/lib1funcs.asm: Replace upper case condition codes
+ 	with lower case versions.
+ 
+ 	* config/arm/arm.h (STRUCT_VALUE): Define.
+ 	(STRUCT_VALUE_REGNUM): Delete.
+ 
+ 2000-08-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h (IN_I): New flag for directive table.
+ 	* cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
+ 	#pragma with IN_I.
+ 	(_cpp_check_directive): If -fpreprocessed, execute directives
+ 	marked with IN_I.  Issue no warnings in this case.
+ 	* cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
+ 
+ 2000-08-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (print_char_table): Allow 'I' flag with %d, %i and
+ 	%u.
+ 	(check_format_info): Support printf 'I' flag; warn about it with
+ 	-pedantic.
+ 
+ 2000-08-23  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm.c (arm_expand_prologue): Ensure that the stack-adjustment
+ 	barrier can't be ignored by the alias analysis code.
+ 
+ 2000-08-12  Eli Zaretskii  <eliz@is.elta.co.il>
+ 
+ 	* fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
+ 	works inside fixincl.
+ 
+ Wed Aug 23 04:55:48 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
+ 	simplify_relational_operation() unless both operands are of
+ 	VOIDmode.
+ 	* cse.c (fold_rtx): Likewise.
+ 
+ Tue Aug 22 23:53:27 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (rtx_unstable_p): The pic register is stable
+ 	(within one function) and the actual rtx should be used
+ 	when checking the registers.
+ 	(rtx_addr_can_trap_p): Pic memory addresses can't trap.
+ 
+ 	* alias.c (true_dependence, write_dependence_p): Fix
+ 	bug in previous patch.
+ 
+ 	* i386.c (ix86_GOT_alias_set): New.
+ 	(legitimize_pic_address): Use it.
+ 
+ 	* rtlanal.c (rtx_unstable_p): An unchanging MEM is
+ 	only stable if its address is stable.
+ 	(rtx_varies_p): An unchanging MEM can't vary if
+ 	its address doesn't vary.
+ 
+ 2000-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
+ 
+ 2000-08-22  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.h (ASM_SPEC): Pass `-J' to assembler.
+ 	* x-vax-gcc: New file for bootstrapping with gcc.
+ 	* x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
+ 	* configure.in: Use x-vax-gcc with gcc.
+ 	* configure: Rebuilt.
+ 
+ Tue Aug 22 21:21:05 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* toplev.c (rest_of_compilation): Rebuild label notes after
+ 	post-reload splitting pass if new labels have been created.
+ 
+ 2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (output_buffer_state): New macro.
+ 	* diagnostic.c (diagnostic_for_decl, sorry,
+ 	default_print_error_function, output_do_verbatim,
+ 	report_diagnostic, report_problematic_module): Use it.
+ 	(wrap_text): Tweak.
+ 	(output_format): Use wrap_text instead of maybe_wrap_text.
+ 
+ 2000-08-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
+ 	Common code for ARM divide and modulus functions.
+ 	(THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
+ 	ARM_DIV_MOD_BODY.
+ 	(FUNC_END): New macro: Common code at the end of the division and
+ 	modulo functions.
+ 	(THUMB_FUNCTION_START): New macro:  Common code at the start of
+ 	Thumb functions.
+ 	(__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
+ 
+ Tue Aug 22 20:34:52 2000  Kaz Kojima <kkojima@rr.iij4u.or.jp>
+ 
+ 	* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
+ 
+ 	* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
+ 	sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
+ 	const0_rtx.
+ 
+ 2000-08-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/lib1funcs.asm (__umodsi3): Before performing any
+ 	restorative additions, test for bottom bits of IP being set,
+ 	rather than relying upon the RORs not matching.
+ 	(__modsi3): Ditto.
+ 
+ 2000-08-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
+ 	text_section() as appropriate instead of emitting text csect
+ 	pseudo-op directly.
+ 	(TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
+ 	(UNIQUE_SECTION): Define macro.
+ 	(ASM_OUTPUT_SECTION_NAME): Define macro.
+ 	* rs6000.c (rs6000_override_options): Disable -ffunction-sections
+ 	on AIX if debugging and -fdata-sections always.
+ 
+ 2000-08-22  Steven King  <sxking@uswest.net>
+ 
+ 	* config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
+ 	machinery.
+ 	(LDBL_MAX): Same here.
+ 
+ 2000-08-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (tidy_fallthru_edge): Update b->end properly.
+ 
+ 2000-08-22  Stan Cox  <scox@redhat.com>
+ 
+ 	* Makefile.in (OBJS): Add dependence.o.
+ 	* dependence.c: New file.
+ 
+ 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>, John David Anglin  <dave.anglin@nrc.ca>
+ 
+ 	* calls.c (check_sibcall_argument_overlap_1): Adjust for
+ 	ARGS_GROW_DOWNWARD.
+ 	(check_sibcall_argument_overlap): Likewise.
+ 
+ 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* invoke.texi (SH Options): Document -m4-nofpu,
+ 	-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
+ 	-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
+ 
+ 2000-08-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (check_format_info): Give the 'some locales' warning
+ 	for strftime %Ey rather than the unconditional 'only last 2 digits
+ 	of year' one.
+ 
+ 2000-08-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (init_alias_analysis): Do not register
+ 	struct_value_incoming_rtx or static_chain_rtx as pointing
+ 	to stack memory.
+ 
+ Tue Aug 22 01:44:43 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* protoize.c (munge_compile_params): Fix typo and formatting buglets.
+ 
+ 2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (report_problematic_module): Declare.
+ 	* diagnostic.c (report_problematic_module): New function.
+ 	(report_error_function): Tweak.
+ 
+ Tue Aug 22 02:31:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stmt.c (expand_goto_internal, fixup_gotos): Only check
+ 	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
+ 
+ 2000-08-21  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (calculate_global_regs_live): Mark frame pointer live
+ 	everywhere before reload.
+ 
+ 2000-08-21  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
+ 	INTEL_EXTENDED_IEEE_FORMAT.
+ 	(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support.  Unconditionally
+ 	clear last two bytes of output FP value.
+ 
+ 2000-08-21  Graham Stott  <grahams@cygnus.co.uk>
+ 
+ 	* config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
+ 
+ 2000-08-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unroll.c (loop_find_equiv_value): If ret is modified between
+ 	insn and loop_start, ret might not be equivalent to reg.
+ 
+ 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (init_dollar_format_checking,
+ 	maybe_read_dollar_number, finish_dollar_format_checking): New
+ 	functions.
+ 	(dollar_arguments_used, dollar_arguments_count,
+ 	dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
+ 	New variables.
+ 	(check_format_info): Support $ formats for scanf and printf width
+ 	and precision.  Always increment format_chars to advance past the
+ 	'*' of precision, not just when the format parameters are
+ 	available to check.
+ 
+ 2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (block_move_loop, expand_block_move,
+ 	function_arg_partial_nregs, save_restore_insns, function_prologue,
+ 	mips_expand_prologue, RA_MASK): Avoid using the `U' integer
+ 	constant suffix.
+ 	(function_arg_advance, function_arg): Match argument to format
+ 	specifier `%p'.
+ 
+ 2000-08-21  Nix  <nix@esperi.demon.co.uk>
+ 
+ 	* gcc.c (do_spec_1): Implement %j spec flag.
+ 	Remove dead comment.
+ 
+ 	* gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
+ 	* system.h (HOST_BIT_BUCKET): Default to "/dev/null".
+ 	* config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
+ 	* config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
+ 
+ 	* protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
+ 	writable) instead of hardcoded value.
+ 
+ 	* toplev.c (compile_file): Output to a file even if -fsyntax-only.
+ 
+ 	* gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
+ 	MKTEMP_EACH_FILE.
+ 
+ 	* gcc.c (cc1_options): Do not process -o or run the assembler if
+ 	-fsyntax-only.
+ 	* objc/lang-spec.h: Likewise.
+ 
+ 2000-08-21  Eli Zaretskii  <eliz@is.elta.co.il>
+ 
+ 	* fixinc/fixincl.c (fix_with_system): Pipe the output of
+ 	"external" fixes through `cat', to avoid truncating the input
+ 	file by redirection.
+ 
+ 2000-08-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (lea_general_1): Copy insn condition to split
+ 	condition.
+ 	(lea_general_2, lea_general_3): Likewise.
+ 
+ 2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
+ 	warnings to user code.
+ 
+ 	* c-lex.c (readescape, yylex): Likewise.
+ 
+ 	* c-typeck.c (store_init_value, process_init_element): Likewise
+ 	(c_expand_start_case): Format.
+ 
+ 2000-08-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 
+ 	* mips/linux.h (LINK_SPEC): Use %(endian_spec).
+ 
+ 	* mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
+ 	and linker_endian_spec to endian_spec.
+ 	(ENDIAN_SPEC): Add %{EB} and %{EL}.
+ 	(LINK_SPEC): Remove %{EB} and %{EL}.
+ 	(ASM_SPEC): Likewise.  Use %(endian_spec).
+ 
+ 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-tree.h (flag_hosted): Move declaration from here...
+ 	* c-common.h (flag_hosted): ... to here.
+ 	(flag_noniso_default_format_attributes): New declaration.
+ 	* c-decl.c (flag_noniso_default_format_attributes): New variable.
+ 	(c_decode_option): Set it appropriately for options choosing
+ 	language standard variant.
+ 	* c-common.c (init_function_format_info): Only provide default
+ 	format attributes if flag_hosted.  Only provide the gettext
+ 	formats if flag_noniso_default_format_attributes.  Update
+ 	comments.
+ 	(check_format_info): Disable treatment of %a as a scanf flag in
+ 	C99 mode.
+ 
+ 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (scan_char_table): Add 'w' to flags for all formats
+ 	except 'n'.
+ 	(check_format_info): Set 'wide' for scanf format widths.  Warn for
+ 	a zero scanf width.  Make the check for writing into a constant
+ 	object at the first level of indirection; at later levels, warn if
+ 	any type qualifiers are encountered.
+ 
+ Mon Aug 21 07:41:12 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload.c (reload_inner_reg_of_subreg): New function broken out of
+ 	push_reload.
+ 	(push_reload): Use reload_inner_reg_of_subreg.
+ 	(combine_reloads): Do not combine reloads if the input reload
+ 	is a SUBREG in which the inner part will need reloading.
+ 
+ 	* global.c (global_alloc): Avoid passing dumpfile argument to
+ 	reload routines.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* reload.h (reload): Remove dumpfile argument.  Callers changed.
+ 	(debug_reload, debug_reload_to_stream): Move prototypes here.
+ 	* rtl.h  (reload): Remove dumpfile argument.
+ 	* reload.c (debug_reload): Remove prototype.
+ 	(debug_reload_to_stream): Likewise.
+ 	* reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
+ 	instead.
+ 
+ 2000-08-21  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.c (context_as_prefix): Export.
+ 	(need_error_newline): Remove.
+ 	(lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
+ 	(error_module_changed, record_last_error_module,
+ 	error_function_changed, record_last_error_function): New functions.
+ 	(initialize_diagnostics): Default initialize
+ 	lang_diagnostic_starter, lang_diagnostic_finalizer.
+ 	(init_output_buffer): Tweak.
+ 	(file_name_as_prefix): New function.
+ 	(announce_function, default_print_error_function,
+ 	report_error_function, set_diagnostic_context): Tweak.
+ 
+ 2000-08-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (init_propagate_block_info): Handle SUBREG in a jump
+ 	condition expression.
+ 
+ 2000-08-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (merge_blocks_nomove): Don't seek back past the bb note.
+ 
+ 2000-08-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c (cpp_init): Set global flag when called.
+ 	(cpp_reader_init): Bomb out if cpp_init hasn't been called.
+ 
+ Sun Aug 20 01:41:35 2000  Dennis Chernoivanov  <cdi@sparc.spb.su>
+ 
+ 	* cpplex.c (cpp_scan_buffer): Move `output_line_command' just
+ 	before `process_directive' so that newlines won't be missed
+ 	for directives.
+ 	(cpp_printf): Increment `print->lineno' when newline is emitted.
+ 
+ 	* cppmain.c (cb_ident): Likewise.
+ 	(cb_define): Likewise.
+ 	(cb_undef): Likewise.
+ 	(cb_include): Likewise.
+ 	(cb_def_pragma): Likewise.
+ 	(dump_macros_helper): Likewise.
+ 
+ 2000-08-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
+ 	assigned before a loop.
+ 
+ 	* config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
+ 	(ashrsi3, lshrsi3): Likewise.
+ 
+ 2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* c-lang.c: #include diagnostic.h
+ 	(c_tree_printer): New function.
+ 	(lang_init): Initialize lang_printer.
+ 
+ 	* Makefile.in (c-lang.o): Depends on diagnostic.h
+ 
+ 2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
+ 
+ 	* diagnostic.c (default_diagnostic_starter,
+ 	default_diagnostic_finalizer): New functions.
+ 	(diagnostic_for_asm, diagnostic_for_decl): Tweak.
+ 	(pedwarn, pedwarn_with_file_and_line, error,
+ 	error_with_file_and_line, fatal, warning,
+ 	warning_with_file_and_line): Adjust call to report_diagnostic.
+ 	(report_diagnostic): Rework.
+ 	(set_diagnostic_context): New function.
+ 
+ 	* diagnostic.h (struct diagnostic_context): New data structure.
+ 	(diagnostic_message, diagnostic_argument_list,
+ 	diagnostic_file_location, diagnostic_line_location,
+ 	diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
+ 	diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
+ 	(set_diagnostic_context): Declare.
+ 	(report_diagnostic): Change prototype.
+ 
+ Sun 20-Aug-2000 09:25:45 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* fix-header.c (main): Initialize cpplib.
+ 
+ 2000-08-19  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* ifcvt.c (find_if_block): Do not assume that a THEN block has any
+ 	instructions in it before checking for indirect jumps.
+ 
+ 	* ifcvt.c (find_if_block): Do not consider a THEN block that ends
+ 	in an indirect jump as a potential for conditional execution.
+ 
+ 	* d30v.h (d30v_init_expanders): Don't declare here.
+ 	* d30v-protos.h (d30v_init_expanders): Declare here with a valid
+ 	prototype.
+ 
+ Sat 19-Aug-2000 21:11:45 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpp.texi: Add @section for assertions.
+ 
+ Sat Aug 19 12:37:08 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* loop.c (scan_loop): Use CONST_CALL_P instead of
+ 	checking for REG_LIBCALL / REG_RETVAL.
+ 
+ Sat Aug 19 09:18:47 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_as_needed): Accept dumpfile argument,
+ 	pass it to emit_reload_insns.
+ 	(emit_reload_insns): Add new dumpfile argument.  If non-null
+ 	then dump the reloads for each insn into the dumpfile.
+ 	(reload): Pass dumpfile to reload_as_needed.
+ 
+ 	* invoke.texi: Clean up linux-gnu vs linux comments.
+ 
+ 2000-08-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (reg_or_5bit_operand): New.
+ 	(ia64_depz_field_mask): New.
+ 	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md: Update commentary.
+ 	(depz_internal): New.
+ 	(ashlsi3): Implement directly.
+ 	(ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
+ 	(ashldi3): Use shladd.
+ 	* config/ia64/ia64-protos.h: Update.
+ 
+ 2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* toplev.c (independent_decode_option): Always process -g.
+ 	Remove third argument, now unused.  Adjust caller to match.
+ 
+ 2000-08-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (make_compound_operation): Break after creating
+ 	the extraction.
+ 
+ 2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (cpp_register_pragma_space): Just return if the
+ 	namespace is already registered.
+ 
+ 2000-08-18  Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
+ 	constant amount.  Do not generate ROTL instruction.
+ 
+ Fri Aug 18 16:22:20 2000  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/elf.h: Do not include sh/sh.h.
+ 	* config/sh/rtems.h: Likewise.
+ 	* config/sh/rtemself.h: Do not include sh/elf.h.
+ 	* configure.in: Get them included with `tm_file's.
+ 	* configure: Rebuilt.
+ 
+ 	* config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
+ 	* config/sh/sh.c (fpscr_set_from_mem): Use them.
+ 
+ Fri Aug 18 14:23:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (compute_record_type): Don't use mode of single
+ 	field as mode of record if not integer mode of same type.
+ 
+ 	* regmove.c (perhaps_ends_bb_p): New function.
+ 	(optimize_reg_copy_1, optimize_reg_copy_2): Call it.
+ 	(optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
+ 	(fixup_match_1): Likewise.
+ 	(fixup_match_1, combine_stack_adjustments_for_block): Add casts to
+ 	avoid signed/unsigned warnings.
+ 
+ 	* function.c (fixup_var_refs_1, case MEM): Update CODE after
+ 	updating X.
+ 
+ Fri 18-Aug-2000 18:33:45 BST  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
+ 	(_cpp_trigraph_map): Declaration moved from cpplex.c
+ 
+ 	* cppinit.c: Define _cpp_trigraph_map.  Use UCHAR_MAX + 1
+ 	instead	of 256.  Use consistent test for designated initializers.
+ 	(cpp_init): Initialize trigraph_map.
+ 	(initialize_standard_includes, parse_option):  Use memcmp
+ 	instead of strncmp.
+ 
+ 	* cpplex.c (init_trigraph_map): Remove.
+ 	(trigraph_ok, trigraph_replace, lex_line): Refer to
+ 	_cpp_trigraph_map.
+ 
+ 	* cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
+ 	(do_unassert): Remove unused "next" local.
+ 
+ 	* system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
+ 
+ 2000-08-18  Emmanuel Marty  <emarty@suntech.fr>
+ 
+ 	* arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
+ 	insn.
+ 
+ 2000-08-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (spill_restore_mem): Handle emitting
+ 	the first insn in a sequence.
+ 
+ Thu Aug 17 22:40:05 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* alias.c (true_dependence, write_dependence_p): A read
+ 	involving a label_ref or the constant pool doesn't create
+ 	a dependency.
+ 
+ 	* rtl.h (unchanging): Improve documentation.
+ 
+ 2000-08-17  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* cse.c (insert_regs): Remove unused `regno'.
+ 
+ 2000-08-17  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* (cppinit.c) merge_include_chains: Use remove_dup_dir,
+ 	remove_dup_dirs.  If qtail == brack, remove brack not
+ 	qtail.
+ 	(remove_dup_dir, remove_dup_dirs): New functions.
+ 
+ 2000-08-17  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (cpp_cleanup): Free include dir chains.
+ 	* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
+ 	(do_unassert): Free the assert with _cpp_free_definition.
+ 	* cppmacro.c (_cpp_free_definition): Free memory allocated for
+ 	assertions.  Make the node a T_VOID node.
+ 
+ 2000-08-17  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (path_include, append_include_chain):
+ 	Remove 2nd parameter (struct cpp_pending *).
+ 	(path_include, initialize_standard_includes, cpp_handle_option):
+ 	Update callers appropriately.
+ 	(cpp_handle_option): Use pend.
+ 
+ 2000-08-17  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (sort_options): Remove, put functionality in
+ 	cpp_init.
+ 	(cpp_init): New.
+ 	(initialize_builtins): Free memory.
+ 	(cpp_start_read): Move init_IStable to cpp_init.
+ 
+ 	* cpplib.h (cpp_init): New prototype.
+ 	* cppmain.c (main): Call cpp_init.
+ 
+ Thu Aug 17 13:20:32 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
+ 	(rtx_unstable_p, rtx_varies_p): Process vectors.
+ 
+ 2000-08-16  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+ 
+ 	* config/sh/lib1funcs.asm (GLOBAL): Define.  Use for all
+ 	references to GLOBAL symbols.  Use LOCAL where appropriate.
+ 
+ 2000-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.  Always
+ 	use t-aix41 when host == target.
+ 
+ 2000-08-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (push_secondary_reload): Revert last change.
+ 	If we use a reload_in/out pattern, make the when the same
+ 	as the primary reload.
+ 	(find_reloads): Likewise.
+ 
+ 2000-08-16  Manfred Hollstein  <manfredh@redhat.com>
+ 
+ 	* configure.in (libstdcxx-v3): Fix test.
+ 	* configure: Regenerate.
+ 
+ Wed Aug 16 08:10:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (calls_function_1, expand_call): Only test
+ 	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
+ 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
+ 
+ 2000-08-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (simplify_shift_const): Revert previous two
+ 	changes.  If SHIFT_COUNT_TRUNCATED, crop the shift count
+ 	before the main loop.
+ 
+ 2000-08-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (simplify_shift_const): Bound shift count when
+ 	combining shifts.
+ 
+ Tue Aug 15 17:33:05 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (ECF_SP_DEPRESSED): New macro.
+ 	(calls_function_1): Treat calling sp-depressed function as alloca.
+ 	(emit_call_1): Don't adjust SP if calling sp-depressed function.
+ 	(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
+ 	If sp-depressed, ensure block saves and restores SP.
+ 	* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
+ 	for INTEGER_TYPE.
+ 	* function.c (keep_stack_depressed): New function.
+ 	(thread_prologue_and_epilogue_insns): Call it.
+ 	* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
+ 	to print DECL_OFFSET_ALIGN.
+ 	Print no-force-blk and transparent-union flags properly.
+ 	* stmt.c (expand_goto_internal): Don't restore stack if last block
+ 	and function returns with sp depressed.
+ 	(fixup_gotos): Likewise.
+ 	(save_stack_pointer): New function, from code in expand_decl.
+ 	(expand_decl): Call new function.
+ 	* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
+ 	(TYPE_RETURNS_STACK_DEPRESSED): New macro.
+ 	(save_stack_pointer): New declaration.
+ 
+ 	* diagnostic.c (fatal_function): New variable.
+ 	(set_fatal_function): New function.
+ 	(fatal): Call it.
+ 	* diagnostic.h (set_fatal_function): New declaration.
+ 
+ 2000-08-15  William Cohen  <wcohen@redhat.com>
+ 
+ 	* config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
+ 	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
+ 	(DWARF2_ASM_LINE_DEBUG_INFO): Defined.
+ 
+ 2000-08-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_used_reg): Set reg_cond_reg appropriately.
+ 
+ 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_function_ok_for_sibcall): New function.
+ 	* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
+ 	* arm.md (call expanders): Don't check here for calls that can't
+ 	be sibling calls.
+ 
+ 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.md (splits generating cond_exec): Disable.
+ 
+ 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm/linux-elf.h (text_section): Delete declaration.
+ 
+ 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	ARM support for unordered FP operations.
+ 	* arm-protos.h (arm_comparison_operator): Declare.
+ 	* arm.c (arm_comparison_operator): New function.
+ 	(arm_select_cc_mode): Add unordered comparison codes.
+ 	(get_arm_condition_code): Likewise.
+ 	(arm_final_prescan_insn): Can't handle unordered jumps that can't
+ 	be done in one insn.
+ 	* arm.h (PREDICATE_CODES): Add arm_comparison_operator.
+ 	* arm.md (all uses of comparison_operator): Replace with
+ 	arm_comparison_operator.
+ 	(bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
+ 	expands.
+ 	(arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
+ 	patterns.
+ 
+ Tue Aug 15 00:36:36 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* gthr-posix.h: Conditionally include <sched.h>; include
+ 	<config.h> from libobjc/.
+ 
+ 2000-08-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/i386.c (legitimize_pic_address): Use Pmode
+ 	for all CONSTs.
+ 
+ 2000-08-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (ia64-*): Set float_format for i386 long double.
+ 
+ 	* real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
+ 	as we would for i386 XFmode.
+ 	(PUT_REAL): Likewise.
+ 	(endian, ereal_atof, real_value_truncate): Likewise.
+ 	(ereal_isneg, toe64, etens, make_nan): Likewise.
+ 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
+ 
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.c (general_tfmode_operand): New.
+ 	(destination_tfmode_operand): New.
+ 	(tfreg_or_fp01_operand): New.
+ 	(ia64_split_timode): New.
+ 	(spill_tfmode_operand): New.
+ 	(ia64_expand_prologue): Use TFmode not XFmode.
+ 	(ia64_expand_epilogue): Likewise.
+ 	(ia64_function_arg): Likewise.
+ 	(ia64_function_arg_advance): Likewise.
+ 	(ia64_return_in_memory): Likewise.
+ 	(ia64_function_value): Likewise.
+ 	(ia64_print_operand): Likewise.
+ 	(ia64_register_move_cost): Set GR<->FR to 5.
+ 	(ia64_secondary_reload_class): Get GR for TImode memory op.
+ 	* config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
+ 	(ROUND_TYPE_ALIGN): Remove.
+ 	(LONG_DOUBLE_TYPE_SIZE): Set to 128.
+ 	(INTEL_EXTENDED_IEEE_FORMAT): Define.
+ 	(HARD_REGNO_NREGS): Use TFmode, not XFmode.
+ 	(HARD_REGNO_MODE_OK): Likewise.  Disallow TImode in FRs.
+ 	(MODES_TIEABLE_P): Use TFmode, not XFmode.
+ 	(CLASS_MAX_NREGS): Likewise.
+ 	(ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md (movti): New.
+ 	(movti_internal): Use a clobber for memory alternatives.
+ 	(reload_inti, reload_outti): New.
+ 	(movsfcc_astep): Predicate properly.
+ 	(movdfcc_astep): Likewise.
+ 	(movxf): Remove.
+ 	(movtf): New.
+ 	(extendsftf2, extenddftf2): New.
+ 	(trunctfsf2, trunctfdf2): New.
+ 	(floatditf2, fix_trunctfdi2): New.
+ 	(floatunsditf2, fixuns_trunctfdi2): New.
+ 	(addtf3, subtf3, multf3, abstf2): New.
+ 	(negtf2, nabstf2, mintf3, maxtf3): New.
+ 	(maddtf3, msubtf3, nmultf3, nmaddtf3): New.
+ 	(cmptf): New.
+ 	(fr_spill): Use TFmode, not XFmode.
+ 	(fr_restore): Likewise.
+ 	* config/ia64/lib1funcs.asm (__divtf3): New.
+ 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
+ 
+ 2000-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cse.c (fold_rtx): Avoid empty body in an if-statement.
+ 
+ 	* doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
+ 	`U' integer constant suffix.
+ 
+ 	* dwarf2out.c (add_subscript_info): Avoid empty body in an
+ 	else-statement.
+ 
+ 	* sparc/sol2.h (__enable_execute_stack): Prototype.
+ 
+ 2000-08-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c: Remove use of AIX import file.
+ 
+ 	* longlong.h: Test ARCH_PWR not ARCH_POWER.
+ 
+ 	* rs6000.c (print_operand, case 'E'): Add else.
+ 
+ 2000-08-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
+ 	(movdi_symbolic): New.
+ 
+ 2000-08-14  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+ 	to GNU as.  For Intel as, pass -M const_gp and -M no_plabel.
+ 	* config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
+ 	to GNU as.
+ 
+ 2000-08-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (emit_group_load): Don't force constants into registers.
+ 	Special case source already in the correct mode.
+ 
+ 2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
+ 	* fixinc/inclhack.def: Likewise.
+ 	* fixinc/mkfixinc.sh: Likewise.
+ 	* configure: Regenerate.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* install.texi: Document equivalence of linux and linux-gnu.
+ 
+ Mon Aug 14 18:51:44 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* cse.c (insert_regs): Also in REG case: When finding an invalid
+ 	value, and we make a new quantity, make sure that it won't be
+ 	mistaken by for a valid one by mention_regs.
+ 
+ 2000-08-13  Ralf Gütlein <ralf.guetlein@aranea.de>
+ 
+ 	* h8300.md: Remove obsolete peepholes.
+ 
+ 2000-08-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* invoke.texi (H8/300 Options): Fix typos.
+ 	* config/h8300.c: Fix formatting.
+ 	* config/h8300.h: Fix comment typos.
+ 	(OVERRIDE_OPTIONS): Fix formatting.
+ 
+ 	* function.c: Fix formatting.
+ 
+ 	* cse.c: Fix formatting.
+ 
+ 2000-08-13  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* flow.c (attempt_auto_inc): Remove unused variable `bb'.
+ 	(attempt_auto_inc): Suppress parentheses warning.
+ 	* function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
+ 	* loop.c (load_mems): Remove `u' suffix in two places.
+ 	* config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
+ 	hex constants.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/sol-c0.c: Prototype some functions.  Remove the
+ 	__eabi dummy routine.
+ 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
+ 	variable `buf_ptr'.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
+ 	not put stuff in .sdata unnecessarily.
+ 	(rs6000_unique_section): New function.
+ 	* config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
+ 	* config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
+ 
+ 	* c-typeck.c (build_array_ref): Don't complain about non-lvalue
+ 	arrays in C99.  Don't try to look at DECL_REGISTER of a
+ 	COMPONENT_REF.  Don't complain twice about the same error.
+ 
+ 	* fixinc/inclhack.def (aix_pthread): New fix.
+ 	(aix_sysmachine): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 	* expr.c (expand_expr): Call convert_modes when turning a large
+ 	multiply into a small one.
+ 
+ 2000-08-12  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
+ 	the tree structure an exponent rather than an explicit alignment
+ 	so it doesn't overflow.
+ 	(SET_DECL_OFFSET_ALIGN): New macro.
+ 	* stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
+ 	rather than DECL_OFFSET_ALIGN.
+ 	(place_field): Likewise.
+ 	* expmed.c (store_bit_field): Abort on align==0 to avoid
+ 	antisocial machine behavior.
+ 
+ 2000-08-12  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sibcall.c (uses_addressof): Accept both addressof and
+ 	current_function_internal_arg_pointer inside a mem.
+ 	(optimize_sibling_and_tail_recursive_call): Fail tail recursion
+ 	if current_function_uses_addressof.
+ 	* stmt.c (expand_return): Kill tail recursion and HAVE_return
+ 	optimizations.
+ 
+ 2000-08-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (addsi3): Remove expander.
+ 	(subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
+ 	(*addsi3_shladd): New.
+ 
+ 2000-08-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
+ 	(do_restore): Likewise.
+ 	(gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
+ 	(ia64_expand_prologue, ia64_expand_epilogue): Use them.
+ 	(rtx_needs_barrier): Track actual bit manipulation for
+ 	ar.unat moves, gr_spill, and gr_restore.
+ 	(emit_insn_group_barriers): Special case gr_spill/gr_restore.
+ 	(process_set): Don't handle varargs spills.
+ 	* config/ia64/ia64.md (gr_spill): Accept cfa offset.  Emit
+ 	.mem.offset here instead of in process_set.
+ 	(gr_restore): Likewise.
+ 
+ 2000-08-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
+ 
+ 2000-08-11  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* gcc.texi (The Configuration File): Document
+ 	COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
+ 	UPDATE_PATH_HOST_CANONICALIZATION.
+ 
+ 2000-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
+ 	unprototyped function pointer casts on integer constants.
+ 
+ 2000-08-11 Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* fixproto: Recognize DOS paths with drive letters as absolute paths.
+ 
+ 2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* extend.texi (Volatiles): Fix typos.
+ 
+ 2000-08-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* flow.c: Fix formatting.
+ 
+ 2000-08-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (push_secondary_reload): When invoking a reload_{in,out}
+ 	pattern, always allocate a tertiary scratch register.
+ 
+ 	* config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
+ 	(reload_inhi): Likewise.
+ 
+ 2000-08-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (put_reg_into_stack): Allow type to be NULL.
+ 	(schedule_fixup_var_refs): Likewise.
+ 	(gen_mem_addressof): Allow decl to be NULL.
+ 	(put_addressof_into_stack): Likewise.
+ 
+ 	* flow.c (merge_blocks_nomove): Be more careful about
+ 	locating the beginning of block A.
+ 
+ 	* combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
+ 
+ Thu Aug 10 22:47:09 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* configure.in:
+ 	* configure:
+ 	* gthr-posix.h:
+ 	* config.in: Reverted the check for <sched.h>.
+ 
+ 2000-08-10  Chris Demetriou  <cgd@sibyte.com>
+ 
+ 	* mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
+ 	macros define the name of CTOR and DTOR sections.
+ 	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+ 	DTOR_LIST_END): Change to use attributes to specify
+ 	sections.
+ 	* mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
+ 	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+ 	DTOR_LIST_END): Same as in mips/elf.h.
+ 
+ 2000-08-10  Drew Moseley  <dmoseley@redhat.com>
+ 
+ 	* config/mn10300/mn10300.h: Added no-crt0 option for explicitly
+ 	disabling just crt0.o.
+ 
+ 2000-08-10  Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
+ 	(CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
+ 	(EXTRA_SPECS): Add them.
+ 	* arm/lib1funcs.asm: Support builds for interworking.
+ 	Use macros to eliminate duplicated pieces of code.
+ 
+ 2000-08-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c (expand_a_rotate): New.
+ 	(emit_a_rotate): Likewise.
+ 	(h8300_adjust_insn_length): Add support for the rotate insns.
+ 	* h8300.md (rotlqi3): New.
+ 	(*rotlqi3_1): Likewise.
+ 	(rotlhi3): Likewise.
+ 	(*rotlhi3_1): Likewise.
+ 	(rotlhi3): Likewise.
+ 	(*rotlhi3_1): Likewise.
+ 	* h8300-proto.h: Add prototypes for expand_a_rotate and
+ 	emit_a_rotate.
+ 
+ 	* h8300.c: Fix comment typos.
+ 	(dosize): Declare the variable amount as unsigned.
+ 	(get_shift_alg): Fix a comparison between signed and unsigned.
+ 	(emit_a_shift): Likewise.
+ 	(h8300_adjust_insn_length): Simplify the code.
+ 
+ 	* c-decl.c: Fix formatting.
+ 
+ 2000-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c (parse_float, yylex): For -Wtraditional, issue a
+ 	warning about non-traditional numeric constant suffixes.
+ 
+ 	* cppexp.c (parse_number): Likewise.
+ 
+ 	* invoke.texi: (-Wtraditional): Document new behavior.
+ 
+ Thu Aug 10 00:11:04 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* gthr-posix.h: Include auto-host.h. Conditionally include
+ 	<sched.h>.
+ 	* configure.in: Check for the <sched.h> header file.
+ 	* config.in: Added define for HAVE_SCHED_H.
+ 
+ 2000-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-typeck.c (process_init_element): For -Wtraditional, warn about
+ 	initialization of unions.
+ 
+ 	* invoke.texi (-Wtraditional): Document new behavior.
+ 
+ 2000-08-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in (--enable-c-cpplib): Uncomment.  Use AC_DEFINE
+ 	instead of extra_c_flags.
+ 	(--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 	* cpperror.c (cpp_type2name): New function.
+ 	* cpplex.c (lex_line): If we issued an error for an invalid
+ 	preprocessing directive, discard that logical line.
+ 	* cpplib.c (do_line): Call a hook function if the current file
+ 	is renamed by #line.
+ 	(do_ident): Pass the contents of the string, not the entire
+ 	token, to the callback function.
+ 	* cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
+ 	(cb.rename_file): New hook function.
+ 	(cb.ident): Adjust prototype.
+ 	(cpp_type2name): Prototype.
+ 	* cppmacro.c (dump_macro_args): Correct precedence lossage.
+ 
+ 	* cppmain.c (cb_ident): Update for changed interface.
+ 	(cb_rename_file): New function.
+ 	(main): Set rename callback.
+ 
+ 2000-08-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* caller-save.c (mark_referenced_regs): Mark partially-overwritten
+ 	multi-word registers.
+ 
+ 2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (combine_strings, check_format_info): Refer to ISO C
+ 	or ISO C89 instead of ANSI C.
+ 	* c-decl.c (grokdeclarator, xref_tag, finish_struct,
+ 	build_enumerator, do_case): Likewise.
+ 	* c-lex.c (parse_float, yylex): Likewise.
+ 	* c-parse.in: Likewise.
+ 	* c-typeck.c (common_type, build_array_ref, build_binary_op,
+ 	build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
+ 	build_c_cast, convert_for_assignment, set_init_index,
+ 	set_init_label, c_expand_start_case): Likewise.
+ 	* toplev.c (documented_lang_options, display_help): Likewise.
+ 
+ 2000-08-08  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c: Fix formatting.
+ 	* h8300.h: Likewise.
+ 	* h8300.md: Likewise.
+ 	(movsi_h8300hs): Fix formatting of the resulting assembly code.
+ 
+ 	* reload1.c: Fix formatting.
+ 
+ 2000-08-08  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* alpha/alpha.c (alpha_emit_xfloating_libcall):
+ 	Use GEN_CALL_VALUE define.
+ 	* alpha/alpha.md (untyped_call): Use GEN_CALL define.
+ 	* clipper/clipper.md (untyped_call): Likewise.
+ 	* dsp16xx/dsp16xx.md (untyped_call): Likewise.
+ 	* fx80/fx80.md (untyped_call): Likewise.
+ 	* mips/mips.md (untyped_call): Likewise.
+ 	* ns32k/ns32k.md (untyped_call): Likewise.
+ 	* pa/pa.md (untyped_call): Likewise.
+ 	* romp/romp.md (untyped_call): Likewise.
+ 	* sparc/sparc.md (untyped_call): Likewise.
+ 
+ 2000-08-08  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* config/i860/i860.c (singlemove_string): Do not generate assembler
+ 	pseudo instructions that must be expanded (that is, with signed
+ 	constants larger than 16 bits).
+ 
+ 2000-08-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
+ 	PROP_AUTOINC at -O0.  Don't collect alias info at -O0.
+ 	(init_propagate_block_info): Don't kill memory stores at -O0.
+ 	(mark_set_1, mark_used_regs): Likewise.
+ 
+ 2000-08-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (optimization_options): Decorate 'level' as
+ 	ATTRIBUTE_UNUSED.
+ 	(mask64_operand): Remove sign-extend thinko.
+ 	(rldic_operand): New function.
+ 	(load_multiple_operation): regno's are unsigned ints.
+ 	(store_multiple_operation): Likewise.
+ 	(lmw_operation): Likewise.
+ 	(stmw_operation): Likewise.
+ 	(includes_lshift_p): shift_mask is unsigned int.
+ 	(includes_lshift64_p): New function.
+ 	(addrs_ok_for_quad_peep): unsigned int reg1.
+ 	(print_operand): Consistently add "else" after
+ 	output_operand_lossage().
+ 	(print_operand, case 'b'): Fold in case 'W'.
+ 	(print_operand, case 'W'): Print rldic MB value.
+ 	(output_epilogue): Update Objective-C language string.
+ 	(output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
+ 	* rs6000.h (PREDICATE_CODES): Add rldic_operand.
+ 	* rs6000.md (ashldi3): Add rldic instruction.
+ 	(iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
+ 	(cmpsi_internal2, cmpdi_interal2): Use 'b' output template
+ 	modifier.
+ 
+ 2000-08-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h: Remove duplicates.  Update
+ 	for massive code rearrangements.
+ 	* config/ia64/ia64.c (ia64_arpfs_regno): Remove.
+ 	(ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
+ 	(ia64_local_regs, ia64_need_regstk): Remove.
+ 	(ar_ccv_reg_operand): New.
+ 	(ia64_gp_save_reg): New.
+ 	(struct ia64_frame_info): Combine most of the size elements;
+ 	add new gr save elements.
+ 	(find_gr_spill): New.
+ 	(next_scratch_gr_reg): New.
+ 	(mark_reg_gr_used_mask): New.
+ 	(ia64_compute_frame_size): Rewrite.  Allocate special AR regs
+ 	to GR backing store regs when possible.
+ 	(ia64_initial_elimination_offset): New.
+ 	(ia64_rap_fp_offset): Remove.
+ 	(save_restore_insns): Remove.
+ 	(setup_spill_pointers): New.
+ 	(finish_spill_pointers): New.
+ 	(spill_restore_mem): New.
+ 	(do_spill, do_restore): New.
+ 	(ia64_expand_prologue): Rewrite to use them.
+ 	(ia64_expand_epilogue): Likewise.
+ 	(ia64_direct_return): Update for current_frame_info changes.
+ 	(ia64_function_prologue): Simplify .prologue emission.  Emit
+ 	.spill when needed.
+ 	(ia64_setup_incoming_varargs): Don't ever emit rtl.
+ 	(ia64_dbx_register_number): New.
+ 	(ia64_initialize_trampoline): New.
+ 	(ia64_secondary_reload_class): Request GR_REGS for integer
+ 	arithmetic destined for FR_REGS.
+ 	(ia64_init_machine_status): Don't reset return_address_pointer_rtx.
+ 	(ia64_mark_machine_status): Mark ia64_gp_save.
+ 	(rws_access_regno): Rename from rws_access_reg; don't treat
+ 	predicates specially.
+ 	(rws_access_reg): New.  Update all callers.
+ 	(rtx_needs_barrier): Remove dead unspecs.
+ 	(ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
+ 	(ia64_encode_section_info): Silence signed/unsigned warnings.
+ 	(spill_offset, sp_offset, spill_offset_emitted): Remove.
+ 	(tmp_reg, tmp_saved): Remove.
+ 	(process_set): Rewrite to expect complicated bits via
+ 	REG_FRAME_RELATED_EXPR.
+ 	(ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
+ 	in the use of ar.ccv; never set RTX_UNCHANGING_P.
+ 	(ia64_expand_op_and_fetch): Likewise.
+ 	(ia64_expand_compare_and_swap): Likewise.
+ 	(ia64_expand_builtin): Likewise.
+ 	* config/ia64/ia64.h (AR_UNAT_REGNUM): New.
+ 	(FIRST_PSEUDO_REGISTER): Update.
+ 	(AR_M_REGNO_P): Update.
+ 	(FIXED_REGS): Don't mark three local registers as used.
+ 	(EXTRA_CC_MODES): New.
+ 	(SELECT_CC_MODE): New.
+ 	(HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
+ 	(HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
+ 	(FRAME_GROWS_DOWNWARD): Unset.
+ 	(STARTING_FRAME_OFFSET): Zero.
+ 	(ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
+ 	(INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
+ 	(HARD_FRAME_POINTER_REGNUM): New.
+ 	(CAN_DEBUG_WITHOUT_FP): Define.
+ 	(TRAMPOLINE_TEMPLATE): Remove.
+ 	(TRAMPOLINE_SIZE): Lower to 32.
+ 	(TRAMPOLINE_ALIGNMENT): Lower to 64.
+ 	(INITIALIZE_TRAMPOLINE): Defer to out of line function.
+ 	(PREDICATE_CODES): Update.
+ 	(struct machine_function): Add ia64_gp_save.
+ 	* config/ia64/ia64.md: Purge unused unspecs.
+ 	(movsi patterns): Allow moves to/from AR_M_REGS.
+ 	(movdi patterns): Allow moves to/from p0.
+ 	(call patterns): Move most setjmp hackery to ia64_gp_save_reg.
+ 	(gr_spill, gr_restore): Indicate ar.unat read/written.
+ 	(nonlocal_goto): Don't pass old frame_pointer.
+ 	(nonlocal_goto_receiver): Remove.
+ 	(exception_receiver): New.
+ 	(builtin_setjmp_setup): New.
+ 	(builtin_setjmp_receiver): New.
+ 	* config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
+ 	(__ia64_nonlocal_goto): Bundle.  Don't kill r7.
+ 	(__ia64_restore_stack_nonlocal): Likewise.
+ 	(__ia64_trampoline): New.
+ 	* config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
+ 	function.
+ 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
+ 
+ 2000-08-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* frame.h (ia64_frame_state): Add my_psp.
+ 	* libgcc2.c (ia64_throw_helper): Add throw_sp argument.
+ 	(__throw): Pass it in.  Don't clobber r7.
+ 	* config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
+ 	(execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
+ 	and nothing to do with sp.
+ 	(normalize_reg_loc): Use frame->my_psp.
+ 	(frame_translate): Handle frame-pointer-less functions.  Set
+ 	spill_base correctly, in absence of being told.
+ 	(__build_ia64_frame_state): New sp argument.  Fill in frame->my_sp.
+ 	(__ia64_backtrace_helper): New sp argument.  Use
+ 	builtin_return_address instead of label addresses.
+ 	(print_record) [mem_stack_v]: No size member.
+ 
+ 2000-08-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
+ 
+ 2000-08-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tm.texi (LOCAL_REGNO): Document.
+ 	* flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
+ 	(mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
+ 	* reload1.c (reload): Likewise when considering nonlocal labels.
+ 
+ 	* config/ia64/ia64.h (LOCAL_REGNO): New.
+ 	* config/sparc/sparc.h (LOCAL_REGNO): New.
+ 
+ 2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
+ 
+ 2000-08-07  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mips/mips.c: Fix compile time warning messages.
+ 	* config/mips/mips-protos.h: Add prototype for equality_op.
+ 
+ 	* mn10300.h (TARGET_SWITCHES): Document `-mam33'.
+ 
+ 2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
+ 
+ 	* mn10300.md: Use nonimmediate_operand instead of general_operand
+ 	on output operands.
+ 
+ 	* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
+ 
+ 2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
+ 	* sh.c (expand_block_move): Break long lines.
+ 	(expand_ashiftrt, fpscr_set_from_mem): Likewise.
+ 	* sh.md (mulsi3): Likewise.
+ 	(movdi): Adjust spacing.
+ 
+ 2000-08-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
+ 	* expr.c (emit_group_store): Don't set it.
+ 
+ 2000-08-07  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* invoke.texi (Options for Debugging Your Program or GCC): Remove
+ 	duplicate entries for 'w' and 'z'.
+ 
+ 	* flow.c: Fix a comment typo.
+ 
+ Sun Aug  6 23:47:35 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* c-parse.in: Changed the language string for Objective-C to "GNU
+ 	Objective-C".
+ 
+ Sun Aug  6 11:54:03 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
+ 	to improve the Posix thread support for Objective-C.
+ 
+ 2000-08-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
+ 	CTI_UNSIGNED_PTRDIFF_TYPE.
+ 	(signed_size_type_node): Define.
+ 	(unsigned_ptrdiff_type_node): Define.
+ 	* c-decl.c (init_decl_processing): Create the
+ 	signed_size_type_node and unsigned_ptrdiff_type_node types.
+ 	* c-common.c (T_SC): Define.
+ 	(T_SST): Define.
+ 	(T_UPD): Define.
+ 	(print_char_table): Use T_SST for %zd, %zi, %zn.  Use T_UPD for
+ 	%to, %tu, %tx, %tX.  Allow %hhn (T_SC).  Add "c" to the flags for
+ 	%s and %p.
+ 	(scan_char_table): Use T_SC for %hhd, %hhi, %hhn.  Use T_SST for
+ 	%zd, %zi, %zn.  Use T_UPD for %to, %tu, %tx, %tX.  Add "c" to the
+ 	flags for %c, %s and %[.
+ 	(check_format_info): Only allow leniency for signedness of targets
+ 	of character pointers (when pedantic) for formats flagged with
+ 	"c", so for strings but not for %hh formats.  When pedantic, don't
+ 	allow character pointers to substitute for void pointers if a
+ 	second level of indirection is present.
+ 
+ 2000-08-06  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* invoke.texi (Options for Debugging Your Program or GCC): Update
+ 	the names of dump files.
+ 
+ 	* h8300.c (dosize): Rearrange code for conciseness.
+ 	(split_adds_subs): Likewise.
+ 
+ 	* loop.c: Fix formatting.
+ 
+ 	* dwarf2out.c: Fix formatting.
+ 
+ 	* tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
+ 
+ 	* expr.c: Fix formatting.
+ 
+ 2000-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rs6000.c (rs6000_maybe_dead): Prototype.
+ 
+ 2000-08-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
+ 	HAVE_nonlocal_goto as well.
+ 	* config/i960/i960.md (nonlocal_goto): Don't do it here.
+ 	* config/pj/pj.md (nonlocal_goto): Likewise.
+ 
+ 2000-08-07  Michael Hayes  <mhayes@cygnus.com>
+ 
+ 	* loop.c (try_swap_copy_prop): New function.
+ 	(load_mems): Rename copies to load_copies and add new regset
+ 	store_copies.  Check for sets of shadow registers and mark
+ 	in store_copies.   Call try_swap_copy_prop for registers
+ 	marked in store_copies.
+ 
+ Sun Aug  6 00:54:42 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+ 
+ 	* objc/objc-act.c: New command line option -fconstant-string-class
+ 	to allow specifying a user defined constant string class,
+ 	different from NXConstantString.
+ 
+ 	* toplev.c: Moved the Objective-C specific options to
+ 	objc/lang-options.h.
+ 
+ 	* objc/lang-options.h: Moved the Objective-C specific options from
+ 	toplev.c. Added -fconstant-string-class.
+ 
+ 2000-08-05  Chris Demetriou  <cgd@sibyte.com>
+ 
+ 	* mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
+ 	DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
+ 	__CTOR_LIST__ from func_ptr array to just func_ptr, to
+ 	avoid extra alignment imposed on arrays.
+ 	* mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
+ 	DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
+ 
+ 	* mips.h: Clean up comments and spacing near MASKs.
+ 	(TARGET_UNIX_ASM): Delete.
+ 	(MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
+ 	MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
+ 	values contiguous.
+ 
+ 2000-08-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (print_char_table): Add entries for the X/Open '
+ 	format flag (print decimals with locale's thousands grouping
+ 	character).  Make %C expect wint_t.
+ 	(check_format_info): If pedantic, warn when the %n$ operand
+ 	number form is used.  Allow for the ' flag; warn about it if
+ 	pedantic.
+ 
+ 2000-08-05  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* i386.h (FUNCTION_OK_FOR_SIBCALL):  Not OK if DECL's return
+ 	type is a float mode, cfun->decl's return type is not, and
+ 	TARGET_FLOAT_RETURNS_IN_80387.
+ 
+ 2000-08-04  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* cppmain.c (cb_def_pragma): Skip the first two tokens from the
+ 	token list, which are always `#' and `pragma'.
+ 
+ 2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tree.c (tree_expr_nonnegative_p): Move to...
+ 	* fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
+ 	(rtl_expr_nonnegative_p): New.
+ 	* tree.h: Add prototype for rtl_expr_nonnegative_p.
+ 
+ 	* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
+ 	CONST_DOUBLE_CHAIN: Move to...
+ 	* rtl.h: ...here.  Use XCINT/XCEXP.
+ 
+ 	* Makefile.in: Remove toplev.o from OBJS.  Add rule to make
+ 	libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
+ 	variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
+ 	to VOL_FILES.
+ 
+ 	* objc/Make-lang.in (cc1obj): Link with $(BACKEND).
+ 
+ 2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* config/c4x/c4x.md (return_indirect_internal): New.
+ 	* config/c4x/c4x.c (c4x_expand_epilogue): Use it.
+ 
+ 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (time_char_table): Mark up formats added in C99 and
+ 	make other corrections.  %D and %g were added in C99.  %Og is an
+ 	extension.  %EX is permitted.  %R, %T, %n, %r, %t were added in
+ 	C99.  %e was added in C99.  %Oj is an extension.  %G and %z are in
+ 	C99 rather than GNU extensions, but %OG and %Oz are extensions.
+ 	%h was added in C99.  %C was added in C99.  %OY and %OC are
+ 	extensions.  Add the C99 format %F.
+ 	(check_format_info): If pedantic and not in C99 mode, warn for C99
+ 	formats, %E and %O.
+ 
+ Fri Aug  4 23:01:58 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* function.c (schedule_fixup_var_refs): New function, broken out
+ 	of put_reg_into_stack.
+ 	(put_reg_into_stack): Use it.
+ 	(put_var_into_stack): In CONCAT case, fixup up references for
+ 	components only after fixing up references to the whole concat.
+ 
+ 2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* alias.c (mark_constant_function): Use INSN_P.
+ 	(init_alias_analysis): Likewise.
+ 	* combine.c (combine_instructions): Use INSN_P.
+ 	(can_combine_p): Likewise.
+ 	(try_combine): Likewise.
+ 	(distribute_notes): Likewise.
+ 	(distribute_links): Likewise.
+ 	* cse.c (cse_around_loop): Use INSN_P.
+ 	(invalidate_skipped_block): Likewise.
+ 	(cse_set_around_loop): Likewise.
+ 	(cse_end_of_basic_block): Likewise.
+ 	(delete_trivially_dead_insns): Likewise.
+ 	* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
+ 	(unshare_all_rtl_1): Likewise.
+ 	(next_cc0_user): Likewise.
+ 	(try_split make_insn_raw): Likewise.
+ 	(remove_unnecessary_notes): Likewise.
+ 	* final.c (shorten_branches): Use INSN_P.
+ 	(leaf_renumber_regs): Likewise.
+ 	(leaf_renumber_regs_insn): Likewise.
+ 	* flow.c (find_label_refs): Use INSN_P.
+ 	(verify_wide_reg): Likewise.
+ 	(notice_stack_pointer_modification): Likewise.
+ 	(count_or_remove_death_notes): Likewise.
+ 	(verify_flow_info): Likewise.
+ 	(clear_log_links): Likewise.
+ 	* function.c (fixup_var_refs_insns): Use INSN_P.
+ 	(compute_insns_for_mem): Likewise.
+ 	* gcse.c (alloc_gcse_mem): Use INSN_P.
+ 	(compute_sets): Likewise.
+ 	(compute_hash_table): Likewise.
+ 	(classic_gcse): Likewise.
+ 	(cprop): Likewise.
+ 	(insert_insn_end_bb): Likewise.
+ 	(delete_null_pointer_checks_1): Likewise.
+ 	* global.c (expand_preferences): Use INSN_P.
+ 	(build_insn_chain): Likewise.
+ 	* graph.c (node_data): Use INSN_P.
+ 	* haifa-sched.c (priority): Use INSN_P.
+ 	(rm_line_notes): Likewise.
+ 	(rm_other_notes): Likewise.
+ 	(find_insn_reg_weight): Likewise.
+ 	(init_target_units): Likewise.
+ 	(schedule_block): Likewise.
+ 	(compute_block_forward_dependences): Likewise.
+ 	(debug_dependencies): Likewise.
+ 	(set_priorities): Likewise.
+ 	* integrate.c (function_cannot_inline_p): Use INSN_P.
+ 	(save_parm_insns): Likewise.
+ 	(copy_insn_list): Likewise.
+ 	* jump.c (mark_all_labels): Use INSN_P.
+ 	(never_reached_warning): Likewise.
+ 	* lcm.c (optimize_mode_switching): Use INSN_P.
+ 	* local-alloc.c (validate_equiv_mem): Use INSN_P.
+ 	(memref_used_between_p): Likewise.
+ 	(update_equiv_regs): Likewise.
+ 	(block_alloc): Likewise.
+ 	(no_conflict_p): Likewise.
+ 	* loop.c (scan_loop): Use INSN_P.
+ 	(find_and_verify_loops): Likewise.
+ 	(count_loop_regs_set): Likewise.
+ 	(loop_reg_used_before_p): Likewise.
+ 	(strength_reduce): Likewise.
+ 	(recombine_givs): Likewise.
+ 	(check_dbra_loop): Likewise.
+ 	(load_mems): Likewise.
+ 	(try_copy_prop): Likewise.
+ 	* print-rtl.c (print_rtx): Use INSN_P.
+ 	* recog.c (find_single_use): Use INSN_P.
+ 	* reg-stack.c (stack_regs_mentioned): Use INSN_P.
+ 	(next_flags_user): Likewise.
+ 	(swap_rtx_condition): Likewise.
+ 	* regmove.c (mark_flags_life_zones): Use INSN_P.
+ 	(optimize_reg_copy_1): Likewise.
+ 	(optimize_reg_copy_2): Likewise.
+ 	(optimize_reg_copy_3): Likewise.
+ 	(reg_is_remote_constant_p): Likewise.
+ 	(fixup_match_2): Likewise.
+ 	(regmove_optimize): Likewise.
+ 	(fixup_match_1): Likewise.
+ 	* regrename.c (build_def_use): Use INSN_P.
+ 	(replace_reg_in_block): Likewise.
+ 	(consider_use): Likewise.
+ 	* reload.c (find_equiv_reg): Use INSN_P.
+ 	* reload1.c (reload): Use INSN_P.
+ 	(maybe_fix_stack_asms): Likewise.
+ 	(calculate_needs_all_insns): Likewise.
+ 	(reload_as_needed): Likewise.
+ 	(emit_output_reload_insns): Likewise.
+ 	(delete_address_reloads_1): Likewise.
+ 	(reload_cse_regs_1): Likewise.
+ 	(reload_combine): Likewise.
+ 	(reload_cse_move2add): Likewise.
+ 	* reorg.c (redundant_insn): Use INSN_P.
+ 	(dbr_schedule): Likewise.
+ 	* resource.c (find_dead_or_set_registers): Use INSN_P.
+ 	(mark_target_live_regs): Likewise.
+ 	* rtlanal.c (reg_used_between_p): Use INSN_P.
+ 	(reg_referenced_between_p): Likewise.
+ 	(reg_set_between_p): Likewise.
+ 	(reg_set_p): Likewise.
+ 	(single_set): Likewise.
+ 	(multiple_sets): Likewise.
+ 	(find_last_value): Likewise.
+ 	(reg_set_last): Likewise.
+ 	(find_reg_note): Likewise.
+ 	(find_regno_note): Likewise.
+ 	* sibcall.c (sequence_uses_addressof): Use INSN_P.
+ 	* simplify-rtx.c (cselib_process_insn): Use INSN_P.
+ 	* ssa.c (find_evaluations): Use INSN_P.
+ 	(rename_block): Likewise.
+ 	(rename_equivalent_regs): Likewise.
+ 	* unroll.c (loop_find_equiv_value): Use INSN_P.
+ 	(set_dominates_use): Likewise.
+ 	* varasm.c (mark_constant_pool): Use INSN_P.
+ 	(mark_constants): Likewise.
+ 	* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
+ 	(alphaev4_next_group): Likewise.
+ 	(alphaev5_next_group): Likewise.
+ 	* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
+ 	(c4x_rptb_rpts_p): Likewise.
+ 	* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
+ 	* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
+ 	(rs6000_adjust_priority): Likewise.
+ 	* config/sh/sh.c (sh_loop_align): Use INSN_P.
+ 	(machine_dependent_reorg): Likewise.
+ 	(split_branches): Likewise.
+ 	* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
+ 
+ Fri Aug  4 11:43:49 2000  John Wehle  (john@feith.com)
+ 
+ 	* combine.c (recog_for_combine): Remove the old notes
+ 	prior to attempting to recognize the new pattern.
+ 	(distribute_notes): Ignore REG_NONNEG notes.
+ 
+ 2000-08-04  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* varasm.c (output_constructor): Add .align 0 for packed vars.
+ 
+ 2000-08-04  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* configure.in: Use default thread_file even when enable_threads is
+ 	yes or dce because hpux10.20 pa port uses MULTILIB implementation.
+ 	* configure: Rebuilt.
+ 
+ 	* gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
+ 
+ 2000-08-04  Donn Terry (donnte@microsoft.com)
+ 
+ 	* prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
+ 
+ 2000-08-04  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* i386/x-djgpp: Delete code that conditionally modifies target_alias.
+ 	Delete code that conditionally modifies 'version'.
+ 	Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
+ 	* i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
+ 	* gcc.c (main): Use it.
+ 	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
+ 	* prefix.c (update_path): Use it.
+ 	* i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
+ 	(MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
+ 	(ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
+ 	code.
+ 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
+ 	(SUBTARGET_SWITCHES): Adjust.
+ 	(WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
+ 	defining.
+ 	(WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
+ 
+ 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.h (flag_isoc94): Declare.
+ 	* c-decl.c (flag_isoc94): Define.
+ 	(c_decode_option): Set flag_isoc94 as appropriate.
+ 	* c-common.c (T_PD, T_IM, T_UIM): Define.
+ 	(format_char_info): Add tlen and jlen.
+ 	(print_char_table): Add entries for %t and %j.  Allow %zn.  Allow
+ 	%F.  Allow %lf.
+ 	(scan_char_table): Add entries for %t and %j.  Allow %F.  Allow
+ 	%l[.
+ 	(time_char_table): Add NULL entries for %t and %j.
+ 	(check_format_info): Allow for %t and %j.  Warn for %F if pedantic
+ 	and not C99.  Warn for %lc, %ls and %l[ if pedantic and not C94.
+ 	Warn for printf %lf if pedantic and not C99.  Don't warn for empty
+ 	precision.  Allow precision argument to be unsigned int.  If
+ 	pedantic, warn for %p passed an argument not a pointer to possibly
+ 	qualified void or a possibly qualified character type, and for
+ 	pointer targets of the wrong sign, except for character pointers.
+ 
+ 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
+ 	* c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
+ 	(wint_type_node): Define.
+ 	* c-decl.c (WINT_TYPE): Define.
+ 	(init_decl_processing): Create the wint_type_node type.
+ 	* c-common.c (T_WI): Define.
+ 	(print_char_table): Use T_WI for %lc format.
+ 
+ 2000-08-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/:  Verified that the MSDOS patch does not break
+ 	the UNIX functionality and applied the next three patches
+ 	from July:
+ 
+ 2000-07-28  Eli Zaretskii  <eliz@is.elta.co.il>
+ 
+ 	* fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
+ 	output file with the temporary one by appending ".X" to generate
+ 	the temporary fuile's name.  If the output file already has an
+ 	extension, replace it with ".X".
+ 
+ 	* fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
+ 	not $DESTDIR, to find applyfix.  Use sprintf instead of snprintf;
+ 	reallocate the command buffer while copying the command-line
+ 	argument.  Redirect the output directly to the temporary file,
+ 	instead of going through another temporary file.
+ 	(process): Close the temporary file before unlinking it.
+ 	(machine_matches) [__MSDOS__]: If the machine doesn't match, set
+ 	the FD_SKIP_TEST flag.  Pay attention to the FD_MACH_IFNOT flag.
+ 	(run_compiles): Pass p_fixd argument to machine_matches, as it
+ 	expects.
+ 
+ 	* fixinc/fixincl.sh: Export ORIGDIR.  If $DJDIR is set in the
+ 	environment, assume there are no symlinks in the include
+ 	directory.  When cleaning up the DONE files, look for them
+ 	case-insensitively.  Don't try to remove symlinks if they aren't
+ 	there.
+ 
+ 	* fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
+ 	all callers changed.  Declare pz "const char *", to avoid compiler
+ 	warnings.
+ 
+ 	* fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
+ 	Change prototype of make_raw_shell_str.
+ 
+ 2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
+ 
+ 	* fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
+ 	(initialize) [__MSDOS__]: Use tempnam.
+ 	(initialize): Don't use SIGPIPE if it is not defined.
+ 
+ 	* fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
+ 	return stdout.
+ 
+ 2000-07-25  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fix*.[ch]: substantially reworked to make it possible
+ 	to run this program without using fork(2) or pipe(2) (i.e. in
+ 	a DOS environment).
+ 
+ 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* cppdefault.h (WINT_TYPE): Define.
+ 	* cppinit.c (builtin_array): Define __WINT_TYPE__.
+ 	* tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
+ 	* tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
+ 
+ Fri Aug  4 06:53:46 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* (mips_legitimate_address_p): Don't allow register+offset
+ 	if the offset is large and negative, and we are compiling
+ 	for 64 bit registers.
+ 
+ 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* gencodes.c (main): Define CODE_FOR_nothing as the last possible
+ 	insn_code_number + 1.
+ 
+ 2000-08-04  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c (function_prologue): Rearrange code for conciseness.
+ 	(function_epilogue): Likewise.
+ 	* h8300.h (OK_FOR_U): Fix formatting.
+ 
+ 	* cse.c: Fix a comment typo. Fix formatting.
+ 
+ 2000-08-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/i386.md (return_indirect_internal): New.
+ 	* config/i386/i386.c (ix86_expand_epilogue): Use it.
+ 
+ 2000-08-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (parse_name): Might have to glue a CPP_OTHER token
+ 	before the name.
+ 	(lex_line): Glue @ onto the beginning of identifiers and
+ 	string constants, in Objective-C mode.
+ 	(output_token, spell_token): Handle CPP_OSTRING.
+ 	(can_paste, maybe_paste_with_next): Handle pasting @ onto the
+ 	beginning of a NAME or a STRING, in objc mode.
+ 
+ 	* cpplib.c (get_define_node): Do not permit identifiers that
+ 	begin with @ to be #defined.
+ 	* cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
+ 	* cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
+ 
+ 	* c-lang.c, objc/objc-act.c (build_objc_string): Delete.
+ 	* c-tree.h (build_objc_string): Delete prototype.
+ 	* objc/objc-tree.def: Delete OBJC_STRING_CST.
+ 	* c-lex.c (yylex): Use build_string for all three kinds of strings.
+ 
+ 	* c-parse.in, objc/objc-act.c: Update commentary.
+ 
+ 2000-08-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* extend.texi: Fix typo in last change.
+ 
+ 	* extend.texi: Add commentary on statement-expressions and their
+ 	interactions with C++.
+ 
+ 2000-08-03  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* dwarf2.h (DW_LANG_Java): Change value to 0x000b.
+ 	* dwarf.h (LANG_JAVA): Change value to 0x000b.
+ 
+ 2000-08-03  Anthony Green  <green@cygnus.com>
+ 
+ 	* dwarf2out.c (gen_compile_unit_die): Add java language support.
+ 	(add_bound_info): Check for java language.
+ 	(is_java): New function.
+ 	* dwarfout.c (output_compile_unit_die): Ditto.
+ 	* dwarf.h (dwarf_source_language): Add java source language type.
+ 	* dwarf2.h (dwarf_source_language): Ditto.
+ 
+ Thu Aug  3 20:32:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat):  Use replace_reg to swap
+ 	operands.
+ 
+ 	* i386.c (ix86_expand_branch): Mode of comparison in
+ 	IF_THEN_ELSE is VOIDmode.
+ 
+ Thu Aug  3 10:05:53 2000  Akiko Matsushita <matusita@sra.co.jp>
+ 
+ 	* gengenrtl.c, rtl.c: Avoid #elif.
+ 
+ 2000-08-03  Michael Poole  <poole@troilus.org>
+ 
+ 	* tm.texi (Register Classes): Clarify order of sub-initializers
+ 	in REG_CLASS_CONTENTS.
+ 
+ Thu Aug  3 15:53:03 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	From SAITOH Masanobu:
+ 	* sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
+ 
+ 2000-08-03  David Billinghurst  <David.Billinghurst@riotinto.com.au>
+ 
+ 	* config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
+ 	is not supported by tradcpp and isn't actually needed for cygwin.
+ 
+ 2000-08-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c: Fix a comment typo.
+ 	* h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S.
+ 
+ 	* jump.c: Fix formatting.
+ 
+ 	* toplev.c: Fix formatting.
+ 
+ Thu Aug  3 01:05:32 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_auto_inc): Verify that we've got a REG before
+ 	peeking at its regno.  Fail, don't abort if we can't find
+ 	the increment of the desired register.
+ 
+ 	* pa.md (shadd height reduction patterns/splitters): Remove.
+ 
+ 2000-08-02  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h (flag_ssa): Declare.
+ 	* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
+ 
+ 2000-08-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dce.c: Remove all uses of assert.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* ssa.c: Likewise.
+ 
+ 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.h (lang_specific_driver): Constify second argument.
+ 	* gcc.c (translate_options, process_command, main): Likewise.
+ 	Constify variables to match.  Cast second argument to
+ 	pexecute.
+ 
+ 	* cppspec.c, gccspec.c: Adjust type of second argument to
+ 	lang_specific_driver, and update code as necessary.
+ 
+ 2000-08-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* loop.c (scan_loop): Ensure update_end label does not
+ 	go away until reg_scan_update is run.
+ 
+ 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-common.h: Prototype min_precision and c_build_qualified_type here...
+ 	* c-tree.h: ... not here.
+ 	* errors.h: Prototype fancy_abort.
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
+ 	HOST_BITS_PER_WIDE_INT == 64 ifdef block.
+ 	* regrename.c (regrename_optimize): Make control flow explicit.
+ 	(replace_reg_in_block): Initialize reg_use to 0.
+ 
+ 	* i386.c (legitimate_address_p): Rename error label to
+ 	report_error to avoid namespace clash.
+ 
+ 2000-08-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* fold-const.c: Fix formatting.
+ 
+ Wed Aug  2 16:26:15 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (legitimate_address_p): Accept other bases than
+ 	pic_offset_table_rtx for GOTOFF constructs.
+ 
+ Wed Aug  2 15:59:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (shift to lea splitter): Use const_int_operand.
+ 
+ 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
+ 	cppspec.c: Do not use 'legal' or 'illegal' in error messages
+ 	and comments.
+ 
+ 	* cppmain.c (cb_define, cb_undef): Don't generate any output
+ 	if not done_initializing.
+ 	* cpplex.c (maybe_paste_with_next): When the token after a ##
+ 	is an omitted rest argument, only delete the token before it
+ 	if that token is a comma.  Do not warn about bogus token
+ 	pastes for , ## rest_arg.
+ 
+ 	* cpp.texi: Update.
+ 	* cpp.1: Regenerate.
+ 
+ 2000-08-02  Fred Fish  <fnf@be.com>
+ 
+ 	* config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
+ 	when user gives -p option.  Add init_term_dyn.o for BeOS 5.0
+ 	and later.
+ 
+ 	* config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
+ 	Be directories to search path.
+ 
+ 	Remove support for __declspec(dllimport) and __declspec(dllexport).
+ 	This is leftover cruft from the earlier BeOS gcc port when BeOS
+ 	used Microsoft's PE object file format.
+ 	* configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
+ 	* config/i386/t-beos (winnt.o): Remove Makefile frag.
+ 	* config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
+ 	(VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	(MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
+ 	(REDO_SECTION_INFO_P): Remove.
+ 	(ASM_EXPORT_DECL): Remove.
+ 	(ASM_DECLARE_FUNCTION_NAME): Remove.
+ 	(ASM_DECLARE_OBJECT_NAME): Remove.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Remove.
+ 	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Remove.
+ 	(STRIP_NAME_ENCODING): Remove.
+ 
+ 	Remove support for obsolete version of BeOS that is no longer
+ 	supported by Be.
+ 	* configure.in (i*86-*-beospe*): Remove.
+ 	* config/i386/beos-pe.h: Remove.
+ 
+ 2000-08-01  Jeffrey Oldham  <oldham@codesourcery.com>
+ 	    Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS): Added dce.o.
+ 	(ssa.o): Updated target to include ssa.h.
+ 	(flow.o): Likewise.
+ 	(toplev.o): Likewise.
+ 	(dce.o): Created target.
+ 	* basic-block.h: Added comments.
+ 	(INVALID_BLOCK): Added definition.
+ 	(connect_infinite_loops_to_exit): Added declaration.
+ 	Moved SSA declarations to ssa.h.
+ 	* flow.c: Added inclusion of ssa.h.
+ 	(struct depth_first_search_dsS, depth_first_search_ds):
+ 	Added definitions.
+ 	(compute_immediate_postdominators): Added definition.
+ 	(connect_infinite_loops_to_exit): Likewise.
+ 	(flow_dfs_compute_reverse_init): Likewise.
+ 	(flow_dfs_compute_reverse_add_bb): Likewise.
+ 	(flow_dfs_compute_reverse_execute): Likewise.
+ 	(flow_dfs_compute_reverse_finish): Likewise.
+ 	* rtl.h (rtx/in_struct): Added use to determine insn necessity.
+ 	(LABEL_P): Added definition.
+ 	(JUMP_P): Likewise.
+ 	(NOTE_P): Likewise.
+ 	(BARRIER_P): Likewise.
+ 	(JUMP_TABLE_DATA_P): Likewise.
+ 	(INSN_DEAD_CODE_P): Likewise.
+ 	* ssa.c: Replaced inclusions with ssa.h inclusion.
+ 	(CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
+ 	(rename_registers): Removed unnecessary variables.
+ 	* ssa.h: Created by moving declarations from ssa.c and
+ 	basic-block.h.
+ 	* timevar.def: Defined TV_DEAD_CODE_ELIM.
+ 	* toplev.c: Added ssa.h inclusion.
+ 	(dump_file_index): Added DFI_dce.
+ 	(dump_file): Added "dce" entry.
+ 	Defined flag_ssa.
+ 	(f_options): Added dce entry.
+ 	* invoke.texi: Document -fdce.  Emphasize experimental status of
+ 	-fssa.
+ 	* dce.c: New file.
+ 
+ 2000-08-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpperror.c (v_message): Split into _cpp_begin_message and
+ 	v_message macro.  All callers updated.
+ 	(_cpp_begin_message): Do inhibit_errors/inhibit_warnings
+ 	checks here.
+ 
+ 	* cppfiles.c (cpp_syshdr_flags): New function.
+ 	(read_include_file): Don't call cpp_output_tokens.  Call
+ 	enter_file hook.
+ 	* cppinit.c (dump_macros_helper): Moved to cppmain.c.
+ 	(cpp_reader_init): Don't initialize token_buffer.  Call
+ 	_cpp_init_internal_pragmas.
+ 	(cpp_cleanup): Don't clear token_buffer.
+ 	(cpp_start_read): Don't worry about output from -D processing.
+ 	Don't call cpp_output_tokens.
+ 	(cpp_finish): Don't dump macros here.  Don't call
+ 	cpp_output_tokens.
+ 	* cppmacro.c (_cpp_dump_definition): Rename
+ 	cpp_dump_definition.  Write directly to a FILE *.
+ 	(dump_funlike_macro): Delete.
+ 	(dump_macro_args): New.
+ 
+ 	* cpplex.c (TOKEN_LEN): Convert to inline function.
+ 	(_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
+ 	cpp_scan_line, _cpp_dump_list): Delete.
+ 	(cpp_printf, cpp_output_list): New.
+ 	(output_line_command): Don't worry about entering or leaving files.
+ 	(cpp_scan_buffer): Just output each token as we hit it.
+ 	(process_directive): Don't call cpp_output_tokens.
+ 	(_cpp_glue_header_name): Don't use token_buffer.
+ 	(output_token, dump_param_spelling): Write directly to a FILE *.
+ 
+ 	* cpplib.c (pass_thru_directive, dump_macro_name,
+ 	pragma_dispatch, do_pragma_gcc): Delete.
+ 	(do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
+ 	do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
+ 	functions.
+ 	(do_error, do_warning, pragma_dependency): Call
+ 	_cpp_begin_message, then cpp_output_list.
+ 	(cpp_register_pragma, cpp_register_pragma_space,
+ 	_cpp_init_internal_pragmas): New.
+ 	(do_pragma): Walk the pragmas table here.
+ 	(do_pragma_once, do_pragma_poison, do_pragma_system_header,
+ 	do_pragma_dependency): Return void.
+ 	(do_pragma_implementation): Moved to cppmain.c.
+ 
+ 	* cpplib.h: Update prototypes.
+ 	 (struct cpp_reader): Remove printer, token_buffer,
+ 	token_buffer_size, and limit.  Add struct cb, and pragmas.
+ 	(struct cpp_printer): Remove last_id and written.
+ 	(CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
+ 	CPP_ADJUST_WRITTEN): Delete.
+ 	* cpphash.h: Update prototypes.
+ 	(ufputs): New wrapper.
+ 
+ 	* cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
+ 	cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
+ 	(main): Set up callbacks.  Register #pragma implementation.
+ 	Dump macros from here.
+ 
+ 2000-08-01  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
+ 	* rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
+ 	* flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
+ 	insns if they have a REG_MAYBE_DEAD note attached.
+ 	* config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
+ 	(rs6000_emit_load_toc_table): TOC loads may go dead.
+ 
+ 2000-08-01  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): Fix last change.  Verify
+ 	type exists before using it.  Use number of words as alignment
+ 	otherwise.
+ 	(ia64_function_arg_partial_nregs, ia64_function_arg_advance,
+ 	ia64_va_arg): Propagate ia64_function_args changes here.
+ 
+ 2000-08-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+ 
+ 2000-08-01  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	From Joern Rennecke:
+ 	* sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
+ 	* sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
+ 	unless TARGET_SH3E is set.
+ 	* t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
+ 
+ 	* sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
+ 	(ashlsi3_std): New pattern.
+ 	(ashlsi3 expander): Use it for TARGET_SH3.
+ 	* sh.c (gen_ashift): Use it instead of ashlsi3_k.
+ 
+ Tue Aug  1 12:34:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (canonicalize_condition):  Use destination, not source to
+ 	determine SET's mode.
+ 
+ 2000-07-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* flow.c (clear_log_links): Fix typo.
+ 
+ Mon Jul 31 22:19:24 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* loop.c (check_dbra_loop): Make change from July 17, 2000 work
+ 	on targets which need more than one insn for a compare/cbranch
+ 	operation.
+ 
+ 2000-07-31  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): Use alignment not size
+ 	when computing offset.
+ 
+ Mon Jul 31 20:35:50 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* genpeep.c (main): Handle DEFINE_PEEPHOLE2.
+ 
+ 2000-07-31  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* flow.c (clear_log_links): Nuke global_live_at_start and
+ 	global_live_at_end data, since if the log_links stuff is invalid
+ 	so is global_live_at_*.
+ 
+ 2000-07-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
+ 
+ 2000-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
+ 	(_cpp_get_token): Don't macro expand a just pasted token if it
+ 	was pasted at no_expand_level.
+ 
+ 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppmacro.c (find_param, count_params, save_expansion):
+ 	Permit 'defined' as a macro parameter name.
+ 
+ 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
+ 	xcpp to cpp throughout.
+ 	(native): Remove unnecessary dependency on cpp.
+ 
+ 	* gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
+ 	tradcpp to tradcpp0.
+ 	(.i spec): Add missing output-file spec to cc1 command line.
+ 	* objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
+ 
+ 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-decl.c (mesg_implicit_function_declaration): Init to -1.
+ 	(implicit_decl_warning): New function.
+ 	(implicitly_declare): Use it.
+ 	* c-typeck.c (build_external_ref): Use implicit_decl_warning
+ 	to complain about implicit decls of builtins.
+ 
+ 	* c-lang.c (lang_init): Set mesg_implicit_function_declaration
+ 	based on pedantic && flag_isoc99, if not already set.
+ 	* c-tree.h: Declare mesg_implicit_function_declaration.
+ 	Prototype implicit_decl_warning.
+ 
+ 2000-07-30  Jeffrey D. Oldham  <oldham@codesourcery.com>
+ 
+ 	* Makefile.in (ssa.o): Updated header files in dependences.
+ 	* basic-block.h: Added compute_immediate_postdominators declaration.
+ 	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
+ 	definition.
+ 	* flow.c (compute_immediate_dominators): Updated comment.
+ 	(compute_immediate_postdominators): Added definition.
+ 	* rtl.h (HARD_REGISTER_P): Added definition.
+ 	* ssa.c: Include additional header files.
+ 	(assert): Added definition.
+ 	(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
+ 	include select hard registers.
+ 	(ssa_rename_to_insert): Likewise.
+ 	(ssa_rename_from_initialize): Likewise.
+ 	(ssa_rename_from_lookup): Likewise.
+ 	(original_register): Likewise.
+ 	(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
+ 	include select hard reigsters.
+ 	(ssa_rename_from_traverse): Likewise.
+ 	(ssa_rename_from_free): Likewise.
+ 	(ssa_rename_from_print): Likewise.
+ 	(ssa_rename_from_print_1): Likewise.
+ 	(ssa_rename_from_hash_function): Likewise.
+ 	(ssa_rename_from_equal): Likewise.
+ 	(ssa_rename_from_delete): Likewise.
+ 	(simplify_to_immediate_dominators): Removed in favor of
+ 	flow.c:compute_immediate_dominators.
+ 	(find_evaluations_1): Modified to work with hard registers.
+ 	(insert_phi_node): Likewise.
+ 	(insert_phi_nodes): Likewise.
+ 	(struct rename_set_data): Updated prev_reg comment.
+ 	(create_delayed_rename): Modified to work with hard registers.
+ 	(RENAME_NO_RTX): Updated comment.
+ 	(apply_delayed_renames): Modified to work with hard registers.
+ 	(rename_insn_1): Likewise and added handling of CLOBBER rtls.
+ 	(rename_block): Updated to use revised ssa_rename_to interface.
+ 	(rename_registers): Updated to use revised ssa_rename_to and
+ 	ssa_rename_from interface.
+ 	(convert_to_ssa): Revised to use compute_immediate_dominators and
+ 	deal with hard registers.
+ 	(make_regs_equivalent_over_bad_edges): Modified to work with hard
+ 	registers.  Added check for illegal unification of hard register.
+ 	(make_equivalent_phi_alternatives_equivalent): Modified to work
+ 	with hard registers.
+ 	(compute_conservative_reg_partition): Likewise.
+ 	(coalesce_if_unconflicting): Modified to work with hard registers
+ 	and check for conflicting hard registers.
+ 	(mark_phi_and_copy_regs): Revised loop to work only on pseudo
+ 	registers.
+ 	(rename_equivalent_regs_in_insn): Modified to work with hard
+ 	registers.
+ 	(record_canonical_element_1): Added definition.
+ 	(check_hard_regs_in_partition): Added definition.
+ 	(convert_from_ssa): Added data structure deallocation and check
+ 	for illegal hard register unification.
+ 	(conflict_hard_regs_p): Added definition.
+ 	* toplev.c (rest_of_compilation): Added comment.
+ 
+ 2000-07-31  Anthony Green  <green@redhat.com>
+ 
+ 	* config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
+ 
+ 2000-07-31  Jason McMullan  <jmcmullan@linuxcare.com>
+ 
+ 	* builtins.c (expand_builtin_apply): Don't defer pop during
+ 	argument setup.
+ 
+ 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* calls.c (combine_pending_stack_adjustment_and_call): Only use
+ 	preferred_unit_stack_boundary when it is > 1.
+ 
+ 2000-07-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (init_function_format_info): Add C99 format functions
+ 	in C99 mode.
+ 
+ 	* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
+ 	void' or 'register void' as being the special case of 'void' alone
+ 	in a parameter list.
+ 
+ 	* c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
+ 	discarding qualifiers into a plain warning.
+ 
+ 2000-07-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c: Fix formatting.
+ 
+ 	* h8300.md: Fix formatting.
+ 
+ 	* local-alloc.c: Fix formatting.
+ 
+ 	* h8300.c (get_shift_alg): Remove the variable alg.
+ 	(emit_a_shift): Rearrange code to improve readability.
+ 
+ 	* h8300.md (movsi_h8300hs): Rearrange code to improve readability.
+ 
+ 	* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
+ 	HImode on all architectures and a combination of HImode and SImode
+ 	on H8/300H and H8S.
+ 
+ 	* h8300.c (split_adds_subs): Rearrange code for conciseness.
+ 
+ Mon Jul 31 12:27:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
+ 	in my last checkin.
+ 
+ Mon Jul 31 10:41:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (extract_insn): Set operand_mode according to
+ 	operand if match_operand is VOIDmode.
+ 
+ Mon Jul 31 10:36:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
+ 
+ 2000-07-31  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* c-parse.in (extdefs): Call ggc_collect between external
+ 	definitions.
+ 
+ 2000-07-30  Michael Hayes  <mhayes@cygnus.com>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (OBJS): Add doloop.o.
+ 	* doloop.c: New file.
+ 
+ 	* final.c (insn_current_reference_address): Return 0 before final.
+ 	* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
+ 	* jump.c (any_uncondjump_p): Likewise.
+ 	* loop.c (indirect_jump_in_function): Make static.
+ 	(strength_reduce): Call doloop_optimize.
+ 	(insert_bct, instrument_loop_bct): Remove.
+ 	* loop.h (doloop_optimize): Prototype.
+ 	* recog.c (split_all_insns): Split all INSN_P.
+ 	* toplev.c (flag_branch_on_count_reg): Default on.
+ 
+ 	* config/c4x/c4x.c (c4x_optimization_options): Don't set
+ 	flag_branch_on_count_reg.
+ 	* config/i386/i386.c (override_options): Likewise.
+ 	* config/rs6000/rs6000.c (optimization_options): Likewise.
+ 
+ 	* config/i386/i386.md (decrement_and_branch_on_count): Remove.
+ 	(doloop_end): New.
+ 	(dbra_ge): Remove, as well as all it's splitters.
+ 
+ 	* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
+ 	(doloop_end): New.
+ 
+ 	* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
+ 	(ia64_register_move_cost): Declare.
+ 	* config/ia64/ia64.c (ar_lc_reg_operand): New.
+ 	(struct ia64_frame_info): Add ar_size.
+ 	(ia64_compute_frame_size): Set it.
+ 	(save_restore_insns): Save and restore ar.lc.
+ 	(ia64_register_move_cost): New, moved from header file.  Handle
+ 	application registers.
+ 	(REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
+ 	(emit_insn_group_barriers): Special case doloop_end_internal.
+ 	(ia64_epilogue_uses): Mark ar.lc live at end.
+ 	* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
+ 	(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
+ 	(FIRST_PSEUDO_REGISTER): Make room.
+ 	(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
+ 	(REG_ALLOC_ORDER): Update.
+ 	(HARD_REGNO_MODE_OK): Update.
+ 	(REGISTER_NAMES): Update.
+ 	(enum reg_class): Add AR_M_REGS and AR_I_REGS.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+ 	(REGNO_REG_CLASS): Update.
+ 	(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
+ 	(REGISTER_MOVE_COST): Move out of line.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
+ 	(addsi3_plus1_alt, adddi3_plus1_alt): New.
+ 	(shladd_elim splitter): Allow constants in the predicate.
+ 	(doloop_end, doloop_end_internal): New.
+ 
+ 2000-07-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genattrtab.c (struct insn_def): Add lineno member.
+ 	(struct insn_ent): Likewise.
+ 	(struct attr_desc): Likewise.
+ 	(struct delay_desc): Likewise.
+ 	(struct function_unit_op): Likewise.
+ 	(struct function_unit): Likewise.
+ 	(check_attr_value): Use message_with_line.
+ 	(check_defs): Likewise.
+ 	(expand_units): Likewise.
+ 	(check_attr_test): Take a lineno argument.
+ 	(gen_attr): Likewise.
+ 	(gen_insn): Likewise.
+ 	(gen_delay): Likewise.
+ 	(gen_unit): Likewise.
+ 	(main): Give it to them.
+ 	(convert_set_attr_alternative): Take an insn_def argument
+ 	instead of num_alt and insn_index.
+ 	(convert_set_attr): Likewise.
+ 	(write_test_expr): Protect INSN_ADDRESSES load
+ 	with INSN_ADDRESSES_SET_P.
+ 
+ 2000-07-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (init_propagate_block_info): Use pc_set.
+ 
+ Sun Jul 30 20:58:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (*lea_general_[123]) New insns and splits.
+ 	(addsi3 to lea splitter): Handle other modes too.
+ 	(shlsi3 to lea splitter): Likewise.
+ 	(addhi_1_lea, shlhi_1_lea): New patterns.
+ 	(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
+ 
+ Sun Jul 30 20:51:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (general_operand, nonimmediate_operand): Accept
+ 	any mode for VOIDmode CONSTANT_P operands.
+ 
+ Sun Jul 30 20:42:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
+ 	instead of replace_rtx.
+ 	* recog.c (validate_replace_rtx_subexp): New function.
+ 	* recog.h (validate_replace_rtx_subexp): Declare.
+ 
+ Sun Jul 30 20:38:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (simplify_set, make_extraction, make_compound_operation
+ 	make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
+ 	as force_to_mode argument.
+ 
+ Sun Jul 30 20:30:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (if_then_else_cond): Be sure that mode fits in
+ 	HOST_WIDE_INT.
+ 
+ Sun Jul 30 20:27:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (record_promoted_value):  Allow bitsize of mode
+ 	to be equivalent to HOST_BITS_PER_WISE_INT.
+ 
+ Sun Jul 30 20:25:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (assign_stack_local_1, assign_stack_temp_for_type):
+ 	Do not call gen_mode_alignment when mode is BLKmode.
+ 
+ Sun Jul 30 20:21:54 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (express_from_1): Fix call of simplify_gen_binary.
+ 
+ Sun Jul 30 20:08:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
+ 	VOIDmode implies both operands to be VOIDmode.
+ 	(simplify_ternary_operation): Compute properly the mode of comparison.
+ 	* combine.c (combine_simplify_rtx): Likewise.
+ 
+ 2000-07-25  Michael Hayes  <mph@paradise.net.nz>
+ 
+ 	* basic-block.h (struct loops): New field rc_order.
+ 	* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
+ 	(flow_loops_free): Free rc_order.
+ 	(flow_depth_first_order_compute): New parameter rc_order.
+ 	(flow_loops_find): Allocate rc_order and swap usage with
+ 	dfs_order.
+ 
+ 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 	   Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
+ 	(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
+ 	(nodb_call, return_from_epilogue): Likewise.
+ 	(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
+ 	* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
+ 	* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
+ 	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
+ 	(c4x_valid_type_attribute_p): Likewise.
+ 	* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
+ 	(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
+ 
+ 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
+ 	and loadhi_big_constant if applicable.
+ 	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
+ 	and add new splitter.s
+ 
+ 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
+ 
+ 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
+ 
+ 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
+ 
+ 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/libgcc.S (divqf3): Improve accuracy.
+ 
+ 2000-07-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Put phi nodes after NOTE_INSN_BASIC_BLOCK.
+ 	* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
+ 	* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
+ 	(get_prev_bb_note): Likewise.
+ 	(remove_scope_notes): Likewise.
+ 	* flow.c (commit_one_edge_insertion): Likewise.
+ 	(merge_blocks_nomove): Likewise.
+ 	(verify_flow_info): Likewise.
+ 	* gcse.c (insert_insn_end_bb): Likewise.
+ 	* reg-stack.c (emit_swap_insn): Likewise.
+ 	* ssa.c (first_insn_after_basic_block_note): New function.
+ 	(insert_phi_node): Use it.
+ 	(rename_block): Likewise.
+ 	(eliminate_phi): Likewise.
+ 	(make_regs_equivalent_over_bad_edges): Likewise.
+ 	(make_equivalent_phi_alternatives_equivalent): Likewise.
+ 	(for_each_successor_phi): Likewise.
+ 	(convert_from_ssa): Modify phi-node deletion algorithm.
+ 
+ 2000-07-29  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in (mips*-*-linux*): Use mips*el to check for little
+ 	endian MIPS, add tmake_file.
+ 
+ 	* config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
+ 	(SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
+ 	Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
+ 
+ 2000-07-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_print_operand): Fix typos.
+ 	Sign extend mode size before negating.
+ 
+ 2000-07-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
+ 
+ 2000-07-28  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
+ 	(cse_insn): Likewise.
+ 	(addr_affects_sp_p): Likewise.
+ 	* expr.c (move_by_pieces): Likewise.
+ 	(clear_by_pieces): Likewise.
+ 	* gcse.c (oprs_unchanged_p): Likewise.
+ 	* haifa-sched.c (sched_analyze_2): Likewise.
+ 	* recog.c (offsettable_address_p): Likewise.
+ 	* regclass.c (record_address_regs): Likewise.
+ 	* reload.c (find_reusable_reload): Likewise.
+ 	(push_reload): Likewise.
+ 	(operands_match_p): Likewise.
+ 	(decompose): Likewise.
+ 	(find_reloads_address_1): Likewise.
+ 	(find_inc_amount): Likewise.
+ 	* reload1.c (elimination_effects): Likewise.
+ 	* resource.c (mark_set_resources): Likewise.
+ 	* flow.c (attempt_auto_inc): New function; mostly broken out
+ 	of find_auto_inc.
+ 	(find_auto_inc): Split into two functions and enhanced to
+ 	generate POST_MODIFY.
+ 	* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
+ 	* rtl.h (count_all_occurrences):  Declare.
+ 	(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
+ 	defined.
+ 	* rtlanal.c (count_all_occurrences): New function.
+ 	* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
+ 	HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
+ 
+ 	* config/ia64/ia64-protos.h (destination_operand): Declare.
+ 	* config/ia64/ia64.c (destination_operand): New function.
+ 	(ia64_print_operand): Handle POST_MODIFY.
+ 	(rtx_needs_barrier): Likewise.
+ 	* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
+ 	(HAVE_POST_MODIFY_REG): Define to 1.
+ 	(MAX_REGS_PER_ADDRESS): Change to 2.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
+ 	(LEGITIMATE_ADDRESS_REG): New helper macro.
+ 	(LEGITIMATE_ADDRESS_DISP): Likewise.
+ 	(PREDICATE_CODES): Add entry for destination_operand.
+ 	* config/ia64/ia64.md (all mov patterns): Use destination_operand
+ 	predicate for operand 0.
+ 
+ 2000-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2out.c: Indent #error directive.
+ 
+ 	* gbl-ctors.h: Fix typo in comment.
+ 	(__do_global_ctors): Prototype.
+ 
+ 	* gcse.c (record_one_set, pre_delete): Remove unused variables.
+ 
+ 	* rs6000.c (rs6000_maybe_dead): Delete unused prototype.
+ 	(print_operand): Initialize variable `t'.
+ 
+ 2000-07-27  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/arm/arm.md ("call_value"): removed constraints.
+ 	Constraints are ignored in expanders.
+ 	(*call_value_reg): split =rf into various constraints.
+ 	(*call_value_mem): same
+ 	(*call_value_symbol): same
+ 	(*sibcall_value_insn): same
+ 
+ 2000-07-28  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* install.texi (--enable-nls): Change the description of the NLS
+ 	related configure options to match the current state.
+ 	(--with-included-gettext): Likewise.
+ 	(--enable-maintainer-mode): New description added.
+ 	* extend.texi (-fstrict-prototype): Add missing '.'.
+ 
+ 2000-07-27  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
+ 	DECL_INITIAL (decl) == NULL_TREE.
+ 
+ 2000-07-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (INSN_ATTR_H): New macro.  Replace all dependencies
+ 	on insn-attr.h with it.
+ 	* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
+ 	* insn-addr.h: New header.
+ 	(insn_addresses_): Renamed from insn_addresses.
+ 	(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
+ 	INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
+ 	INSN_ADDRESSES_NEW): New macros.
+ 	* genattrtab.c (write_test_expr): Use new macros.
+ 	* final.c (insn_addresses, init_insn_lengths): Likewise.
+ 	(align_fuzz, shorten_branches): Likewise.
+ 	(final): Likewise.  Do not reject new insns if their addresses
+ 	have been added to INSN_ADDRESSES.
+ 	* config/arm/arm.c, config/avr/avr.c: Use new macros.
+ 	* config/h8300/h8300.c, config/i370/i370.c: Likewise.
+ 	* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
+ 	* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	(output_branchy_insn): Use INSN_ADDRESSES_NEW.
+ 
+ 	* Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
+ 
+ 2000-07-27  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* gcc.c (struct prefix_list): Add member priority.
+ 	(enum path_prefix_priority): Declare.
+ 	(add_prefix): Replace ``first'' with ``priority''.  Append new
+ 	entry but keep list in priority order.
+ 	(process_command): Update.  Pass PREFIX_PRIORITY_B_OPT or
+ 	PREFIX_PRIORITY_LAST to add_prefix.
+ 	(process_command): Move include kludge - foo/stageN - to before
+ 	foo/include.
+ 
+ 2000-07-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (gen_typedef_die): Abort if we get identical
+ 	TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
+ 
+ 2000-07-27  RodneyBrown  <RodneyBrown@pmsc.com>
+ 
+ 	* expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
+ 	* tree.h (get_alias_set, lang_get_alias_set): Prototype.
+ 
+ 2000-07-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (finish_function): Don't treat 'main' specially unless
+ 	flag_hosted.  In C99 mode, return 0 from 'main' unless
+ 	DEFAULT_MAIN_RETURN is otherwise defined.
+ 
+ 	* c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
+ 	parameters defaulting to int in an old-style function definition.
+ 
+ 2000-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (string): For -Wtraditional, warn about string
+ 	concatenation only once per line.
+ 
+ Thu Jul 27 09:25:17 2000  Akiko Matsushita  <matusita@sra.co.jp>
+ 
+ 	* pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
+ 	for HI-UX/WE2 systems.
+ 
+ 2000-07-24  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
+ 	defining the __xxx_TYPE__ macros.
+ 	* fixincl/fixincl.tpl(gnu_type_map): now obsolete
+ 	* fixincl/fixlib.h: don't need to include "tm.h" anymore
+ 	* fixincl/inclhack.def(type_map): now obsolete
+ 
+ Thu Jul 27 11:54:17 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* cpp.texi: Append a trailing full-stop to xrefs where needed.
+ 
+ 2000-07-26  Dave Pitts  <dpitts@cozx.com>
+ 
+ 	* i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
+ 	routine constants.
+ 	(mvs_hash_alias): New function.
+ 	(mvs_add_alias): Change argument spacing.
+ 	(mvs_need_alias): Change aliasing criteria. Added documentation.
+ 	(mvs_get_alias): Change to use hashed name. The hashed name prevents
+ 	CSECT name collisions.
+ 	(mvs_check_alias): Likewise.
+ 	(handle_pragma): Change documentation.
+ 	* i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
+ 	mode from SImode to DImode.
+ 	(iorhi3): Changed LTORG size for insn.
+ 
+ Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
+ 	mem if the address is a mode_dependent_address_p.
+ 
+ 2000-07-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c (print_operand): Print ":8" when the 'R' operand is
+ 	suitable for 8-bit absolute.
+ 	* h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
+ 	(OK_FOR_U): Add a case for the 8-bit constant address on the
+ 	H8/300H.
+ 
+ Wed Jul 26 19:26:21 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
+ 	&& ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
+ 	! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
+ 	lack of implemented alignment.
+ 
+ 2000-07-26  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
+ 	cross-compiling between 64-bit and 32-bit machines.
+ 
+ 2000-07-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
+ 	(movhicc_astep, movhi_internal_astep): New.
+ 	(movsicc_astep, movsi_internal_astep): New.
+ 	(movdicc_astep, movdi_internal_astep): New.
+ 	(movsfcc_astep, movsf_internal_astep): New.
+ 	(movdfcc_astep, movdf_internal_astep): New.
+ 	(movxfcc_astep, movxf_internal_astep): New.
+ 	(cmovdi_internal_astep, cmovsi_internal_astep): New.
+ 	Unify the cmov[ds]i splitters.
+ 
+ 2000-07-27  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* real.c (asctoeg): Rename `error' label to unexpected_char_error
+ 
+ 2000-07-26  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
+ 	__arm__.  Allow it to be defined by CPP_ISA_SPEC in arm.h
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
+ 	well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
+ 
+ 2000-07-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-decl.c (finish_enum): Convert enumerations that fit in an
+ 	`int' to `int'.
+ 	(build_enumerator): In pedantic mode, cast to `int' those that
+ 	don't.
+ 
+ 2000-07-25  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
+ 
+ Tue Jul 25 23:08:33 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (cmpgtdi_t): Must be split.
+ 	(cmpgtdi_t+1): New splitter.
+ 
+ 2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (_cpp_check_directive): Issue -Wtraditional
+ 	warnings for indented directives even if we are skipping.
+ 
+ 2000-07-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* invoke.texi (strict-prototypes): Remove.
+ 	* extend.texi (Deprecated Features): Add strict-prototypes.
+ 	(Backwards Compatibility): New node.
+ 
+ 2000-07-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (andsi_1+1): Allow HImode.
+ 	(andsi_1+2): Require q_regs_operand.
+ 
+ 2000-07-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (call_pop): Check operands[0],
+ 	not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
+ 	(call): Likewise.
+ 	(call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
+ 	(call_value): Likewise.
+ 
+ 2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* toplev.c (pipe_closed): Delete.
+ 	(crash_signal): New.  Generate ICE for a fatal signal.
+ 	(float_signal): Call crash_signal outside a float-handler
+ 	block, not abort.
+ 	(main): Install crash_signal as handler for core-dumping signals.
+ 
+ 2000-07-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (print_operand, case 'T'): New case.
+ 
+ 	* rs6000.md (call_indirect_aix32): Convert to expander of
+ 	scheduled instructions.
+ 	(call_indirect_aix64): Likewise.
+ 	(call_value_indirect_aix{32,64}): Likewise.
+ 	(call, call_value): Invoke expanders for AIX.  Fall through to
+ 	matchers for SysV.
+ 	(call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
+ 	(call_value_indirect_nonlocal_aix{32,64}): New patterns.
+ 	(call_nonlocal_aix32): Remove CALL_LONG alternative.  Operand 1
+ 	only "g" constraint.
+ 	(call_nonlocal_aix64): Likewise.
+ 	(call_value_nonlocal_aix{32,64}): Likewise.
+ 	(call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
+ 	operands.
+ 	(call_value_nonlocal_sysv): New pattern.
+ 	(indirect_jump{si,di}): Use new 'T' modifier.
+ 	(tablejump{si,di} matchers): Likewise.
+ 	(return_internal_{si,di}): Likewise.
+ 	(return_eh_{si,di}): Likewise.
+ 
+ 2000-07-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_print_operand): Handle "%,".
+ 	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
+ 	* config/ia64/ia64.md (movdi_internal): Use it.
+ 
+ 2000-07-24  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c: Warn about unary + if -Wtraditional.
+ 	* cpplex.c (lex_line): Always set BOL on the first token of a line.
+ 
+ 2000-07-24  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
+ 	unsupported macro.
+ 
+ 2000-07-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (emit_multi_reg_push): Generate a
+ 	REG_FRAME_RELEATED_NOTE that is compatible with the code in
+ 	dwarf2out_debug_frame_expr.
+ 
+ 2000-07-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
+ 	UNALIGNED_INT_ASM_OP.
+ 	(def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
+ 	a location expression.
+ 	(dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff.  Don't
+ 	assume indirect access if we're saving the CFA address exactly.
+ 
+ 	* Makefile.in (bootstrap): Move -BstageN/ to the end.
+ 
+ 2000-07-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tradcpp.c (main): Update max_include_len for cpp_include_defaults
+ 	as well.
+ 
+ 2000-07-24  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* invoke.texi (D30V Options): Add d30v options.
+ 
+ Mon Jul 24 02:04:52 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
+ 	needed by our gcse pass anymore.
+ 	(free_pre_mem): Corresponding changes.
+ 	(compute_pre_data): Do not call compute_transpout anymore.
+ 
+ 	* gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
+ 	(free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
+ 	changes.
+ 
+ 	* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
+ 	(compute_pre_data): Do it here instead.
+ 
+ 	* gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
+ 	'temp_bitmap'.
+ 	(pre_delete): Corresponding changes.
+ 
+ 2000-07-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
+ 	to figure out whether or not a variable has already been emitted.
+ 
+ Sun Jul 23 14:49:12 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* config/i860/i860.md (untyped_call expander): Use GEN_CALL
+ 	instead of gen_call.
+ 
+ Sun Jul 23 11:52:03 2000  George Helffrich (george@gly.bris.ac.uk)
+ 
+ 	* dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
+ 
+ 2000-07-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c: Fix formatting.
+ 
+ 2000-07-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
+ 	for `long' switch expression into a plain warning.
+ 
+ 	* c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
+ 	(yylex): Don't pedwarn for "inline" in C99 mode.
+ 
+ 	* bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
+ 	with %p.
+ 	* ggc-page.c (debug_print_page_list, alloc_page, free_page,
+ 	ggc_alloc): Likewise.
+ 	* bb-reorder.c (dump_scope_forest_1): Likewise.
+ 
+ 2000-07-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* reload.c (find_reloads_toplev): Add new parameter
+ 	"address_reloaded".
+ 	(find_reloads): Add new parameter to find_reloads_toplev calls.
+ 
+ 2000-07-22  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* collect2.c (main): Typo fixed.
+ 	* diagnostic.c: Typo fixed.
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
+ 	* eh-common.h: Typo fixed.
+ 	* emit-rtl.c (start_sequence): Typo fixed.
+ 	* flow.c (find_label_refs): Typo fixed.
+ 	(calculate_global_regs_live): Typo fixed.
+ 	(mark_regno_cond_dead): Typo fixed.
+ 	(create_edge_list): Typos fixed.
+ 	(verify_edge_list): Typo fixed.
+ 	* ggc-common.c (ggc_mark_rtx_children): Typo fixed.
+ 	* loop.c (strength_reduce): Typo in function name fixed.
+ 	* rtl.h: Added comments.  Typo in function name fixed.
+ 	* rtlanal.c: Typo in function name fixed.
+ 	(insn_dependant_p): Rename to ...
+ 	(insn_dependent_p): ... this.
+ 	(computed_jumo_p): Typo fixed.
+ 
+ 2000-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (__FUNCTION__): Wrap definition in #ifndef.
+ 
+ 2000-07-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (SIZE_TYPE): Define.
+ 
+ 2000-07-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ssa.c (rename_insn_1): Don't rename registers that are
+ 	CLOBBERed.
+ 
+ 2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* diagnostic.c (trim_filename, fancy_abort): Moved here from
+ 	rtl.c.
+ 	(fatal_function, set_fatal_function): Removed.
+ 	(fatal): Don't prepare for or call the fatal_function.
+ 	(diagnostic_lock, error_recursion): New.
+ 	(diagnostic_for_decl, report_diagnostic): Guard against
+ 	re-entering the error reporting routines.
+ 	(fancy_abort): Assume function is not NULL.
+ 
+ 	* errors.c (fancy_abort): New.  Assume function is not NULL.
+ 	* tradcpp.c (fancy_abort): Assume function is not NULL.
+ 
+ 	* system.h: Provide default definition of __FUNCTION__.
+ 	* rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
+ 	Always use __FUNCTION__ in definition of abort.
+ 	* tree.h: Likewise.
+ 	* varray.h: Likewise.
+ 	* toplev.h: Likewise.  Don't prototype set_fatal_function.
+ 
+ 2000-07-20  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
+ 	in 64-bit mode.
+ 	* glimits.h: Don't do #if defined for ARCH_PPC.
+ 
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
+ 	constants of size no larger than a pointer should go in the TOC.
+ 	Add 'MODE' parameter.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
+ 	ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
+ 	* config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
+ 	* config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
+ 	* config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
+ 	(rs6000_legitimize_address): Likewise.
+ 	(rs6000_emit_move): Likewise.
+ 	(rs6000_select_rtx_section): Likewise.
+ 	(output_toc): Deal properly with outputting small constants like
+ 	HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
+ 	MODE parameter.  Put small constants in the TOC.
+ 
+ 	* config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
+ 	easy in SImode.
+ 	(rs6000_emit_move): When reload calls us with an illegitimate
+ 	address, exit early.  Move the change_address calls to one place
+ 	at the end of the routine.  Merge the SImode and DImode expanders.
+ 	When called by reload to put an integer into a FP register, force
+ 	it to memory.
+ 
+ 	* config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
+ 	field.
+ 	(rs6000_hash_constant): Hash mode too.
+ 	(toc_hash_function): Allow for key_mode.
+ 	(toc_hash_eq): Structures are different if key_mode differs.
+ 	(output_toc): Add 'mode' parameter.  Save key_mode.
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
+ 	Pass 'mode' parameter.
+ 	* config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
+ 
+ 	* config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
+ 	for vtable references.
+ 
+ 	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
+ 	choice, don't put integer values in FP regs.
+ 
+ Thu Jul 20 18:13:52 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (verify_flow_info): Revamp code to verify that the
+ 	head and end of each basic block are in the insn chain.
+ 
+ Thu Jul 20 18:02:35 2000  Michael Matz <matzmich@cs.tu-berlin.de>
+ 
+ 	* gcse.c (record_one_set): Prepend instead of append onto
+ 	reg_set_table, making it O(n) instead O(n^2).
+ 	* lcm.c (compute_antinout_edge,compute_laterin,compute_available):
+ 	Use a queue instead of a stack as worklist.
+ 
+ 2000-07-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c (two_insn_adds_subs_operand): Fix a typo.
+ 	* h8300.h (OK_FOR_T): New.
+ 	(EXTRA_CONSTRAINT): Support OK_FOR_T.
+ 	* h8300.md: Use inc/dec.[wl] for increment/decrement
+ 	by 1 and 2 in HI and SI modes.
+ 
+ 2000-07-20  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
+ 	larger than 14 bits.
+ 
+ 2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppmacro.c (CAN_PASTE_AFTER): New macro.
+ 	(count_params): Don't set GNU_REST_ARGS on anything.
+ 	(save_expansion): Set PASTE_LEFT only on tokens for which
+ 	CAN_PASTE_AFTER is true, or which are named operators.
+ 
+ 	* cpplex.c (parse_args): Distinguish between a rest argument
+ 	given one empty argument, and a rest argument given zero arguments.
+ 	(maybe_paste_with_next): Look for VOID_REST tag, and trigger
+ 	deletion of previous token based on that.
+ 	(get_raw_token): Flatten some control structure.
+ 
+ 	* cpplib.h (CPP_LAST_EQ): Correct.
+ 	(VOID_REST): New token flag.
+ 	(GNU_REST_ARGS): Delete.
+ 
+ 	* tradcpp.c (main): Don't munge -D options.
+ 	(make_definition): Bring -D handling in line with cpplib.
+ 	(do_define): Strip all leading whitespace from macro definitions.
+ 
+ 2000-07-20  David Billinghurst <David.Billinghurst@riotinto.com.au>
+ 
+ 	* Makefile.in (tradcpp): Depend on intl.o and version.o.
+ 
+ 2000-07-20  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixincl/check.tpl: strip the platform specific types before testing
+ 	* fixincl/fixfixes.c(gnu_type_fix): use platform specific types
+ 	* fixincl/fixincl.tpl: use platform specific types
+ 	* fixincl/fixlib.h: include the platform specific types
+ 	* fixincl/inclhack.def(gnu_types): don't supply the types
+ 	* fixincl/fixincl.x: regen
+ 
+ 2000-07-19  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
+ 	GR_REGS.
+ 
+ 2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tradcpp.c (rescan): Do not recognize directives when the #
+ 	is indented.
+ 
+ 2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	Implement C++ named operators.
+ 
+ 	* cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
+ 	of operators allowed in #if and having an _EQ variant.  Add
+ 	CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
+ 	(cpp_token flags): Add NAMED_OP.
+ 	(enum node_type): Add T_OPERATOR.
+ 	(struct cpp_hashnode): Add code slot to value union.
+ 	* cpphash.h (spec_nodes): Remove n_defined.
+ 
+ 	* cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
+ 	(spell_token, can_paste, maybe_paste_with_next): Handle named operators.
+ 	(is_macro_disabled): Tweak error messages.
+ 
+ 	* cpplib.c (get_define_node): Disallow all named operators as
+ 	macro names.  Tweak error messages.
+ 	(_cpp_init_stacks): Don't set up spec_nodes->n_defined.
+ 
+ 	* cppinit.c (builtin_array): Add entries for the named operators.
+ 	* cppexp.c (lex): Check for CPP_DEFINED token.
+ 	(priority table): Add entries for CPP_MIN and CPP_MAX.
+ 	(_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
+ 
+ 2000-07-19  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
+ 	larger than the array of cuids.
+ 	(alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
+ 	cuids.
+ 
+ 2000-07-19  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.c:  Convert to using a table of environment variables
+ 	and activate the auto-edit marker on the fixed output files.
+ 	* fixinc/fixlib.h:  Define the environment table
+ 	* fixinc/fixincl.sh: export the ${INPUT} dir
+ 	* fixinc/check.tpl: likewise
+ 
+ 2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.c (.h spec): Fix typo.
+ 
+ Wed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* Makefile.in: Fix tradcif.c path.
+ 
+ 2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
+ 	  macros, not five.
+ 
+ 	* cpphash.h (TOKEN_NAME): New macro.
+ 	(_cpp_spell_operator): Deleted.
+ 	(token_spellings): Now _cpp_token_spellings.
+ 
+ 	* cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
+ 	* cpplex.c: Use OP and TK macros when expanding the
+ 	TTYPE_TABLE.  Eliminate token_names.  For non-OPERATOR tokens,
+ 	store the stringification of the enumeration name (CPP_CHAR,
+ 	etc.) in the name slot of token_spellings.
+ 	Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
+ 	token_spellings directly.
+ 	* cpplib.c: Use TOKEN_SPELL.
+ 
+ 	* cpplex.c (_cpp_push_token): If the token being pushed back
+ 	is the previous token in this context, just subtract one from
+ 	context->posn.
+ 	* cppmacro.c (save_expansion): Clear aux field when storing a
+ 	placemarker.
+ 
+ 2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplex.c (cpp_scan_buffer): Output line command even at the stop
+ 	buffer, provided it is not NULL.
+ 
+ 2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Do not call make_var_volatile() in
+ 	case of invalid volatile re-declaration.
+ 
+ 2000-07-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* calls.c (store_arg): Return nonzero if sibcall_failure is desired.
+ 	(expand_call): Adjust caller.
+ 
+ 2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (report_diagnostic): Change prototype.
+ 
+ 	* diagnostic.c (output_do_verbatim, diagnostic_for_asm,
+ 	diagnostic_for_decl):  Change prototype.
+ 	(error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
+ 	error, warning, error_with_file_and_line,
+ 	warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
+ 	Adjust call to report_diagnostic, diagnostic_for_decl.
+ 	(error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
+ 	(output_verbatim, verbatim): Adjust call to output_do_verbatim.
+ 
+ 	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
+ 	varaible argument list.
+ 
+ 2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c: Don't include hashtab.h.  Most macro-handling code
+ 	moved to cppmacro.c.
+ 	(hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
+ 	dump_hash_helper): Delete.
+ 	(expand_hash, higher_prime_number, _cpp_lookup_with_hash,
+ 	cpp_forall_identifiers): New. Implement specialized version of
+ 	Vlad's expandable hash table.
+ 	(cpp_lookup): Use new functions.
+ 	(_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
+ 	implementation.
+ 	* cppmacro.c: New file.
+ 	* cppinit.c (dump_macros_helper): New.
+ 	(cpp_finish): Iterate over the identifier table directly.
+ 	* cpplex.c (parse_name): Calculate the hash of the identifier
+ 	while we scan it.  Use _cpp_lookup_with_hash when we can.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	(xcnewvec, HASHSTEP): New helper macros.
+ 	* cpplib.h: Update prototypes.
+ 	* Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
+ 	(cppmacro.o): New rule.
+ 	(cpphash.o): Update deps.
+ 
+ 	* cppmain.c: Do not set pfile->printer if no_output is on.
+ 
+ 2000-07-15  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplib.c: Change all directive-handler functions to return
+ 	void, not int.
+ 	* cpphash.h: Update typedefs.
+ 
+ 2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* configure: Regenerate.
+ 
+ 	* extend.texi (Extended Asm): Mention that a memory clobber
+ 	does not count as a side-effect.
+ 
+ 	* unroll.c (copy_loop_body): Fix one instance of using host
+ 	arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
+ 	cross-compile.
+ 
+ 	* tlink.c (scan_linker_output): Tweak for output of AIX ld.
+ 
+ 2000-07-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (movdi): Split out load address code.
+ 	New post-reload splitter for symbolic operands.
+ 	(movdi_internal): Abort if we didn't split symbolic operands
+ 	when we should have.
+ 	* config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
+ 	(ia64_reorg): Split insns when not optimizing.
+ 	* config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
+ 
+ Mon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
+ 	instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
+ 
+ 2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
+ 
+ 2000-07-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (clean): Remove libgcc directory.
+ 
+ 	* configure.in (-Wno-long-long check): Use higher-level macros.
+ 
+ 2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Recognize
+ 	   (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
+ 	(simplify_ternary_operation):  Do not examine MODE_BITSIZE of
+ 	   a CONST_INT, it will always be zero.
+ 
+ 2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop) : Return if more than one condition is
+ 	present to control the loop.
+ 
+ Mon Jul 17 08:26:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* mips.c (mips_expand_prologue): Don't calculate the last argument
+ 	register unless we need it.  When we are calculating this, make
+ 	sure FUNCTION_ARG is giving us a REG.
+ 
+ 2000-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* flow.c (libcall_dead_p): Use single_set to verify the insn
+ 	has only one set and get for analysis.
+ 	(propagate_one_insn): Don't pass the PATTERN of the insn.
+ 
+ 2000-07-17  Mark Klein <mklein@dis.com>
+ 
+ 	 * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
+ 
+ 2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
+ 	* configure.in (TARGET_GETGROUPS_T): Evaluate.
+ 	* sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
+ 	of second argument of getgroups.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Two signed
+ 	values with equal high words are less/greater than each other if
+ 	their low words are less/greater when considered as unsigned.
+ 
+ Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
+ 
+ 	* configure.in (vax-*-openbsd):  Change to new style configuration,
+ 	add collect2/float_format information.
+ 	* configure:  Rebuilt.
+ 	* config/vax/openbsd1.h:  New.
+ 	* config/vax/openbsd.h:  New.
+ 	* config/vax/t-openbsd:  New.
+ 
+ 2000-07-17  Chip Salzenberg  <chip@valinux.com>
+ 
+ 	* c-common.c (shorten_compare): Quiet warnings about unsigned
+ 	comparisons with zero when they occur in a system header.
+ 
+ 2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
+ 	update to describe current practice.
+ 
+ 	* glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
+ 
+ 	* contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
+ 	references to C9X.  Change references to -fstd and -flang-isoc9x
+ 	to refer to -std.
+ 
+ 	* c-common.c (scan_char_table): Allow "z" length modifiers on
+ 	diouxXn formats.
+ 	(check_format_info): Use TYPE_DOMAIN on the type matched against
+ 	for "z" formats, to retrieve the language size_t rather than the
+ 	internal one.
+ 
+ 	* c-common.c (check_format_info): Do not make a pedantic objection
+ 	to the 'L' length modifier if used with a floating point type
+ 	character.
+ 
+ 	* c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
+ 	constants in C99 mode.
+ 
+ 2000-07-17  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.md: Fix the format of mac.
+ 	(movsi_h8300hs): Output a tab after stmac instead of a space.
+ 
+ 	* h8300.c (two_insn_adds_subs_operand): Improve code for detecting
+ 	profitable adds/subs sequences.
+ 
+ 	* fold-const.c: Fix comment typos.
+ 
+ 2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
+ 
+ 2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
+ 
+ 2000-07-16  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c: Update comments.
+ 	* README.Portability: Small update.
+ 
+ 2000-07-16  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* README.Portability:  Small update.
+ 
+ 2000-07-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
+ 	* config/ia64/ia64.c (ia64_move_ok): New function.
+ 	* config/ia64/ia64.md (movqi, movqi_internal): Use it.
+ 	(movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
+ 
+ 2000-07-15  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (save_expansion): Clear PREV_WHITE on tokens
+ 	immediately following a paste operator.
+ 	* cppinit.c (sort_options): New function (only for HOST_EBCDIC).
+ 	(cpp_reader_init): Call it, if HOST_EBCDIC.
+ 	(cpp_handle_options): Do not sort option list here.
+ 	(handle_option): Rename to cpp_handle_option and export.
+ 	* cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
+ 	_cpp_get_token directly.
+ 	(cpp_scan_line): Return 0 at EOF, 1 otherwise.
+ 	* cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
+ 	* cpplib.h: Prototype cpp_handle_option.  Update prototype of
+ 	cpp_scan_line.
+ 
+ 2000-07-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (extract_muldiv): Don't optimize past an unsigned
+ 	cast around an expression.  Tidy other unsigned tests.
+ 
+ 2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
+ 	v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
+ 	(v_message_with_decl): Rename to ...
+ 	(format_with_decl): ... this. Tweak
+ 	(diagnostic_for_decl): New function.
+ 	(fatal_io_error): Use verbatim in lieu of notice.
+ 	(announce_function): Use verbatim.
+ 	(default_print_error_function): Likewise.
+ 	(error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
+ 	infratructure.
+ 
+ 2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (function_arg_pass_by_reference): Don't do automatic
+ 	aggregate initialization.
+ 	(machine_dependent_reorg): Initialize variable `mode'.
+ 
+ 	* mips.md (absdi2): Change variable `regno1' to unsigned int.
+ 	(reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
+ 	conflicts with sys/param.h macro of the same name.
+ 	(reload_outdi): Likewise.
+ 
+ 2000-07-15  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
+ 	== CONST + INCREMENT, don't overwrite the tree node for FOO++,
+ 	create a new node instead.
+ 
+ 2000-07-15  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* README.Portability: Correct example about calling a function
+ 	through a pointer to function.  Format wide paragraphs.
+ 
+ 2000-07-15  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* README.Portability: Update integer suffixes and function
+ 	prototype sections.
+ 
+ 2000-07-15  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* README.Portability: Small update.
+ 
+ 2000-07-15  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* README.Portability: New file.
+ 
+ Fri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
+ 
+ 	* INSTALL: Give special instructions for building GCC on Irix 6.
+ 	* config/mips/x-iris6 (CC): Don't set it.
+ 	(OLDCC): Likewise.
+ 
+ 2000-07-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
+ 	register in the stack and later in another register, use the new
+ 	register.
+ 
+ Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.md: (absdi2): Handle sign_extend for
+ 	second operand.
+ 
+ 2000-07-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpplib.c (do_pragma_dependency): Tidy warning messages.
+ 
+ 2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* .cvsignore: Correct typo.
+ 
+ 2000-07-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* .cvsignore: Add generated YACC files.
+ 	* objc/.cvsignore: New file.
+ 
+ 2000-07-14  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (adjust_column): New function.
+ 	(skip_whitespace): Use it.
+ 	(skip_block_comment): Use it, and warn about /*/* with
+ 	-Wcomments.
+ 
+ 2000-07-14  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.c (struct macro_info): Add new members.
+ 	(_cpp_free_definition): Delete the macro directly.
+ 	(count_params): Return void, with first token of
+ 	expansion in struct macro_info on success.
+ 	(parse_define): Return int.  Hoist syntax checking from
+ 	save_macro_expansion.  Leave call to save_expansion to
+ 	_cpp_create_definition.
+ 	(alloc_macro): Needs just 2 arguments.
+ 	(free_macro): Delete.
+ 	(save_expansion): Don't perform syntax check.
+ 	(_cpp_create_definition): Call save_expansion.
+ 
+ 2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genrecog.c (write_header): Split long string.
+ 
+ 	* cpphash.c (macro_info): Don't use the `signed' keyword.
+ 
+ 	* system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
+ 
+ 2000-07-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* calls.c (stored_args_map): New variable.
+ 	(check_sibcall_argument_overlap_1): New.
+ 	(check_sibcall_argument_overlap): New.
+ 	(expand_call): Initialize stored_args_map.
+ 	Call check_sibcall_argument_overlap.
+ 
+ 2000-07-13  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
+ 	(emit_gnu_type): utility procedure for gnu_type_fix
+ 	(gnu_type_fix): implement various pre-processor guards around
+ 	standard types so these types can be defined over and over
+ 	* fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
+ 	types alluded to above will have GNU-compliant base types
+ 	* fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
+ 	* fixinc/inclhack.def: add test_text entries and utilize the new
+ 	"gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
+ 	* fixinc/fixincl.x: regenerate
+ 
+ 2000-07-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.c (vline_wrapper_message_with_location,
+ 	v_message_with_file_and_line, v_error_with_file_and_file,
+ 	v_error_for_asm, v_warning_for_asm, vfatal,
+ 	v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
+ 	vsorry, verror, vwarning, vpedwarn): Remove.
+ 	(diagnostic_for_asm): New function.
+ 	(pedwarn, error, warning, pedwarn_with_file_and_line,
+ 	error_with_file_and_line, warning_with_file_and_line, sorry,
+ 	error_for_asm, warning_for_asm, fatal): Reimplement.
+ 	(finish_diagnostic): Clear diagnostic info as well.
+ 
+ 2000-07-13  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* c-common.h (flag_digraphs): New.
+ 	* c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
+ 	* c-lex.c (yylex): Use flag_digraphs to decide whether to
+ 	honor digraphs.
+ 
+ 2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.c (do_spec_1): Add new %B operator.
+ 	(set_input): Prepare for %B.
+ 
+ 	(link_command_spec): Move up with the other tm.h-
+ 	overrideable specs.  Factor out the portion conditional on
+ 	LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
+ 	(struct compiler): Just have a single spec string.  All users
+ 	updated.
+ 	(default_compilers): Remove unnecessary braces.
+ 	(static_specs): Update.
+ 
+ 	(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
+ 	named specs.
+ 	(C and assembly specs): Use the new named specs, as appropriate.
+ 
+ 	* objc/lang-specs.h: Use the new named specs.
+ 	Remove unnecessary braces.
+ 
+ 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.c (execute): If a subprocess gets a fatal signal, report
+ 	strsignal() of the signal number, and ask for a bug report.
+ 	Do not do this for SIGPIPE if there's already been an error.
+ 
+ 	* tradcpp.c: Don't include signal.h.  Don't catch SIGPIPE.
+ 	Delete pipe_closed.
+ 
+ 	* tradcif.c: Remove.
+ 
+ 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* final.c (profile_function): Do not emit profile counters in
+ 	the data section, if NO_PROFILE_COUNTERS is defined.
+ 	* tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
+ 	FUNCTION_PROFILER.
+ 
+ 	* config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
+ 	(FUNCTION_PROFILER): Just emit a call to mcount.
+ 
+ 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tradcpp.c (main): Rename 'perror' label to 'sys_error'.
+ 
+ 	* cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
+ 	cpplib.c, cpplib.h: Eradicate all traces of code dependent on
+ 	traditional, lang_chill, or lang_fortran.
+ 
+ 	* cppfiles.c: #undef strcmp to suppress warning about macros
+ 	used without arguments.
+ 	(_cpp_execute_include): Use f, not fname, in "No include path"
+ 	error.
+ 	(_cpp_pop_file_buffer): New function.
+ 	* cpplib.c: Don't include <sys/mman.h>.
+ 	(cpp_push_buffer): Set line_base and lineno in new buffer.
+ 	(cpp_pop_buffer): Use _cpp_pop_file_buffer.
+ 
+ 	* cpplex.c: Move all prototypes and structure declarations to the
+ 	top of the file.  Properly parenthesize some macro arguments.
+ 	(cpp_scan_line): New function.
+ 	(special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
+ 	don't need to walk up the stack counting.
+ 
+ 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (combine_strings): Emit a pedantic warning when a
+ 	string length is greater than the minimum ANSI C is required
+ 	to support.
+ 
+ Wed Jul 12 13:24:30 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
+ 	* d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
+ 
+ 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (define_label): Warn about identifier conflicts with
+ 	labels in traditional C.
+ 
+ 	* c-parse.in (unop +): Warn about the unary plus operator for
+ 	traditional C.
+ 
+ 	* c-typeck.c (store_init_value): Warn about automatic aggregate
+ 	initialization for traditional C.
+ 
+ 	* invoke.texi (-Wtraditional): Document new warnings.
+ 
+ 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* Makefile.in (c-errors.o): Fix thinko in dependency.
+ 
+ 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
+ 	-traditional, -ftraditional, or -traditional-cpp was given.
+ 	Do not pass -traditional to the preprocessor.
+ 	(.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
+ 	preprocessor does it automatically.
+ 	* objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
+ 
+ 	* ch/lang-specs.h: Always use tradcpp.  Do not pass
+ 	-traditional, -trigraphs, or -pedantic to the preprocessor.
+ 	* f/lang-specs.h (.F spec): Likewise.  Don't bother defining
+ 	_LANGUAGE_FORTRAN.
+ 
+ 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c (LOGICAL): Delete macro.
+ 	(_cpp_parse_expr): Do not use UNARY for unary +.  Implement ||
+ 	and && directly.
+ 
+ 	* cpphash.c (HASHSIZE): Increase to 4096.
+ 	(struct hashdummy): Add hash field.
+ 	(eq_HASHNODE): Compare unreduced hashes, then lengths, then
+ 	the string values using memcmp.
+ 	(cpp_lookup): Set dummy.hash.
+ 
+ Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
+ 
+ 	* configure.in (m88k-openbsd): Express configuration using new fragment
+ 	style.
+ 	* configure: Rebuilt.
+ 	* m88k/aout-dbx.h: New.
+ 	* m88k/openbsd.h: New.
+ 	* m88k/xm-openbsd.h: New.
+ 
+ 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* expr.c (expand_expr): Return const0_rtx, not error_mark_node.
+ 
+ 2000-07-12  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload.c (push_secondary_reload): Make sure to add the new
+ 	reload at the end, after acquiring secondary memory.
+ 
+ 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
+ 
+ 	* c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
+ 	lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
+ 
+ 	* c-parse.in (stmt): Delete unused variables.
+ 
+ 	* convert.c (convert_to_vector): Likewise.
+ 
+ 	* gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
+ 
+ 	* tree.c (finish_vector_type): Prototype.
+ 
+ 2000-07-12  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c: use xmalloc
+ 	* fixinc/fixincl.c(initialize): set program name for xmalloc
+ 	* fixinc/fixlib.c(must_malloc): obsolete
+ 	(is_cxx_header): no longer used - disabled
+ 	(skip_quote): inserted and disabled for future use
+ 	* fixinc/fixlib.h: reflects above
+ 	* fixinc/fixtests.c: removed dinkleberries
+ 
+ 2000-07-12  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
+ 	* cpplex.c (TOKEN_SPELL) Move to cpphash.h.
+ 
+ 	* cpphash.c: (struct macro_info, alloc_macro, free_macro,
+ 	struct toklist_dummy): New.
+ 	(cpp_free_definition): Free macros with free_macro.
+ 	(count_params): Don't save parameter spellings.  Save macro
+ 	information in a struct macro_info.
+ 	(parse_define): Don't allocate a token list.
+ 	(save_expansion): Allocate the macro's token list, and
+ 	save parameter spellings if necessary.  Use TOKEN_SPELL.
+ 	(cpp_create_definition): Make list const.
+ 
+ 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* c-typeck.c (pedwarn_c99): Move to
+ 	* c-errors.c: ... Here.
+ 	* toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
+ 	* diagnostic.c (verror, vwarning, vpedwarn): Make static.
+ 	* Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
+ 	(c-errors.o): List dependency.
+ 
+ 2000-07-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-parse.c: Remove.
+ 	* c-parse.h: Likewise.
+ 	* c-parse.y: Likewise.
+ 	* objc/objc-parse.c: Likewise.
+ 	* objc/objc-pasre.y: Likewise.
+ 
+ 2000-07-11  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* gcc.texi: Fix minor typos
+ 	* extend.texi: Fix minor typos
+ 
+ 2000-07-11  Marc Espie <espie@openbsd.org>
+ 
+ 	* collect2.c (main): Recognize .lo as object files.
+ 
+ 2000-07-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
+ 	true.
+ 
+ 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
+ 	with MAP_ANONYMOUS and MAP_ANON.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (save_output_state): Remove.
+ 	(restore_output_state): Likewise.
+ 	(clear_text_info): New function.
+ 	(clear_diagnostic_info): Likewise.
+ 	(output_text_length, is_starting_newline, output_prefix,
+ 	line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
+ 	prefixing_policy, output_buffer_ptr_to_format_args): New macros
+ 	(set_real_maximum_length, output_set_maximum_length,
+ 	output_set_prefix, output_get_prefix, output_set_maximum_length,
+ 	output_destroy_prefix, init_output_buffer,
+ 	reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
+ 	output_add_newline, output_add_character, output_add_space,
+ 	output_append_r, output_append, wrap_text, output_format,
+ 	output_do_printf, output_printf, output_do_verbatim,
+ 	output_verbatim, verbatim): Use them.
+ 	(output_clear): Split into cleat_text_info and
+ 	clear_diagnostic_info.
+ 	(struct output_state): Move to...
+ 
+ 	* diagnostic.h: ...Here
+ 	(struct output_buffer): Adjust.
+ 
+ 2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (parse_name): No longer inline (premature optimization).
+ 	(do_pop_context): Fold into pop_context.
+ 	(pop_context): Returns int.
+ 	(lex_next): Hoist test for end of directive into pop_context.
+ 	(push_macro_context): Returns int; takes just reader and token.
+ 	Hoist test for excessive nesting to caller.
+ 	(push_arg_context): Returns void; takes just reader and token.
+ 	Do not call stringify_arg or get_raw_token.
+ 	(get_raw_token): Convert tail recursion through	push_arg_context
+ 	to a loop at this level.  Call stringify_arg here if appropriate.
+ 	(maybe_paste_with_next): Convert tail recursion to a while loop.
+ 	Hoist test of paste_level to caller.
+ 
+ 	(stringify_arg): Push arg context at beginning.
+ 	(cpp_get_token): Split out core into _cpp_get_token.  Call
+ 	process_directive here.  Throw away CPP_PLACEMARKER tokens.
+ 	(_cpp_get_token): Convert tail recursion through
+ 	push_macro_context to a loop at this level.
+ 	(_cpp_glue_header_name, is_macro_disabled, stringify_arg,
+ 	_cpp_get_raw_token): Use _cpp_get_token.
+ 	(_cpp_skip_rest_of_line): Drop the context stack directly; do
+ 	not call pop_context.
+ 	(_cpp_run_directive): Call lex_next directly.
+ 
+ 	* cpphash.h: Prototype _cpp_get_token.
+ 	* cppexp.c (lex): Use it.
+ 	* cpphash.c (parse_define): Use it.
+ 	* cpplib.c (get_define_node, do_undef, parse_include,
+ 	read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
+ 	do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
+ 	parse_ifdef, validate_else): Use it.
+ 	(cpp_push_buffer): Tweak error message; abort if anyone tries
+ 	to push a buffer while macro expansions are stacked.
+ 
+ 2000-07-11  Donn Terry  <donnte@microsoft.com>
+ 
+ 	* cpplex.c (free_macro_args, save_token): Cast arg of free
+ 	and/or xrealloc to PTR.
+ 	(_cpp_init_input_buffer): Clear all fields of the base context.
+ 
+ Tue Jul 11 15:28:21 CDT 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* gensupport.c (process_rtx): Make rtl checking stop
+ 	complaining about the define_insn while it is being
+ 	converted from a define_insn_and_split.
+ 
+ Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.c (simple_memory_operand): Access the
+ 	INTVAL of the address, not it's containing MEM.
+ 
+ 2000-07-11  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixtests.c(double_slash): obsolete
+ 	(else_endif_label): likewise
+ 	* fixinc/inclhack.def(irix_multiline_cmnt): obsolete
+ 	(libc1_ifdefd_memx): correct initial comment
+ 	and omit the #if/#endif pair from the memxxx declarations
+ 	* fixinc/fixincl.x: regen
+ 
+ 2000-07-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
+ 
+ 2000-07-11  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpp.texi: Update.
+ 
+ 2000-07-11  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c: (cpp_reader_init): Allow digraphs by default.
+ 	(handle_option): Set digraphs according to standard.
+ 	Merge OPT_lang_c89 handler with OPT_std_c89.
+ 
+ 	* cpplex.c: (lex_line, can_paste): Honor digraphs in
+ 	accordance with	the digraphs flag.
+ 
+ 	* cpplib.h: (struct cpp_options): New option digraphs.
+ 
+ 2000-07-10  Hans-Peter Nilsson  <hp@axis.com>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/testing.h: Add testcase.
+ 
+ 2000-07-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (got_symbolic_operand): New.
+ 	(symbolic_operand, move_operand): Revert 0701 change.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Update.
+ 	* config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
+ 	* config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
+ 	split the offset into a 14-bit low part instead of a 13-bit low part.
+ 	(load_fptr): Mark the mem as unchanging.
+ 	(load_symptr): Use got_symbolic_operand.
+ 
+ 2000-07-10  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* libgcc2.c (next_stack_level): Cast result of computation to
+ 	(void **) so that the assignment does not generate a warning.
+ 
+ 2000-07-10  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* flags.h : Add new variable flag_single_precision_constant.
+ 	* toplev.c (display_help) : Add -fsingle-precision-constant option.
+ 	(flag_single_precision_constant): New.
+ 	* c-lex.c (yylex): Convert floating point constant to single
+ 	precision constant.
+ 	* invoke.texi : Add documentation for this new option.
+ 
+ 2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (output_octal): Second parameter is unsigned.
+ 	(output_long_octal): Likewise.
+ 	(output_hexadecimal): Likewise.
+ 	(output_long_hexadecimal): Likewise.
+ 	(output_format): Adjust arguments extraction. Tweak.
+ 	(output_verbatim, verbatim): End variable argument list.
+ 	(report_diagnostic): Improve documentation.
+ 
+ 2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* c-common.h (build_stmt): Declare.
+ 	(build_continue_stmt): Likewise.
+ 	(build_break_stmt): Likewise.
+ 	(build_return_stmt): Likewise.
+ 
+ 	* c-decl.c (do_case): Rewrite to do what previously done in
+ 	c-parse.in.
+ 
+ 	* c-semantics.c (build_stmt): Define.
+ 	(build_return_stmt): Likewise.
+ 	(build_break_stmt): Likewise.
+ 	(build_continue_stmt): Likewise.
+ 	(build_case_label): Likewise.
+ 
+ 	* c-parse.in (BREAK): Change to build tree, then generate RTL.
+ 	(CONTINUE): Likewise.
+ 	(RETURN): Likewise.
+ 	(CASE): Likewise.
+ 	(DEFAULT): Likewise.
+ 
+ 	* c-parse.y: Regenerate.
+ 	* c-pasre.c: Likewise.
+ 
+ 2000-07-09  Jason Merrill  <jason@redhat.com>
+ 
+ 	* expr.c (expand_expr): Bail earlier if we get an error_mark_node.
+ 
+ 	* tree.h (STRIP_NOPS): Check for error_mark_node.
+ 	(STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
+ 	(dwarf2out_*): Remove duplicate declarations.
+ 
+ 	* c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
+ 	DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
+ 
+ 2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (wrap_text): New function.
+ 	(maybe_wrap_text): Likewise.
+ 	(output_add_string): Use it.
+ 	(output_format): Likewise.
+ 	(count_error): Use verbatim instead of notice.
+ 	(report_error_function): Likewise. Don't use plain fprintf.
+ 	(finish_diagnostic): New function.
+ 	(output_do_verbatim): Tweak.  Commonalize functionalities in
+ 	output_verbatim and verbatim.
+ 	(output_verbatim): Adjust.
+ 	(verbatim): Likewise.
+ 	(report_diagnostic): Define.
+ 
+ 	* diagnostic.h (report_diagnostic): Prototype.
+ 
+ 2000-07-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c (_cpp_parse_expr): Don't use unary plus.
+ 
+ 2000-07-09  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
+ 	IShspace, ISspace: Update.
+ 
+ 	* cppinit.c: ISTABLE: Update.
+ 	V: New.
+ 
+ 	* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
+ 	(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
+ 	(skip_block_comment, skip_line_comment,	parse_string,
+ 	lex_line): Use is_vspace rather than IS_NEWLINE.
+ 	(skip_whitespace, lex_line): Clean up to use is_nvspace.
+ 	(lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
+ 	gets a BOL flag.
+ 	(lex_next): Unconditionally stop if within a directive.
+ 	Treat directives within macro invocations as directives
+ 	(after parse_args emits error), not as the argument.
+ 
+ 2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (diagnostic_args): New macro.
+ 	(diagnostic_msg): Likewise.
+ 	(output_formatted_integer): Likewise.
+ 	(output_state): New data type.
+ 	(digit_buffer): Make global.
+ 	(output_add_integer): Rename to output_decimal. Squeeze
+ 	digit_buffer.
+ 	(output_long_decimal, output_unsigned_decimal,
+ 	output_long_unsigned_decimal, output_octal, output_long_octal,
+ 	output_hexadecimal, output_long_hexadecimal): New functions.
+ 	(output_append_r): New function.
+ 	(output_append): Tweak.
+ 	(output_flush_on): Rename to output_to_stream.
+ 	(output_format): Change prototype.  Improve documentation. Handle
+ 	more format specifiers.
+ 	(build_location_prefix): Rename to context_as_prefix.
+ 	(output_notice): Rename to output_do_printf.
+ 	(output_printf): Tweak.
+ 	(line_wrapper_printf): Likewise.
+ 	(vline_wrapper_message_with_location): Adjust call to renamed
+ 	functions.
+ 	(v_message_with_decl): Likewise.
+ 	(default_print_error_function): Likewise.
+ 	(save_output_state): New function.
+ 	(restore_output_state): Likewise.
+ 	(output_do_verbatim): Likewise.
+ 	(output_verbatim): Define.
+ 	(verbatim): Likewise.
+ 
+ 	* diagnostic.h (printer_fn): Change return type from void to int.
+ 	Improve documentation.
+ 	(output_add_integer): Rename to output_decimal.
+ 	(output_flush_on, output_format): Don't export.
+ 	(output_verbatim, verbatim): Declare.
+ 
+ 2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
+ 	Check whether c divides op1 exactly if operation is not
+ 	multiplication.
+ 
+ 2000-07-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* final.c (final): Do not abort when reg-stack introduces
+ 	a new insn.
+ 
+ 2000-07-08  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (struct cpp_name): Now struct cpp_string.
+ 	(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
+ 	CPP_HEADER_NAME): Change to type S.
+ 	(struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
+ 	field, a cpp_hashnode *.  All references to val.name updated
+ 	to use val.str or val.node as appropriate.
+ 	(struct cpp_reader): Add spec_nodes field.
+ 	(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
+ 
+ 	* cpphash.h (struct spec_nodes): New.
+ 	(enum spell_type): Reorder.  Only SPELL_STRING tokens use
+ 	val.str.  All references to 'spelling > SPELL_NONE' updated to
+ 	match.
+ 
+ 	(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
+ 	pfile->buffer->inc are not NULL before dereferencing them.
+ 
+ 	* cpplex.c (parse_name): Take a pointer to the current token,
+ 	plus current position and limit as args; return the new
+ 	position; don't copy the text of a name into the string
+ 	buffer, instead call cpp_lookup and store the node pointer.
+ 	If extending a token, copy out the text of the old into a
+ 	scratch buffer, append the new, look that up and store the new
+ 	node pointer.  Inline.
+ 	(maybe_paste_with_next): If the result of paste is a NAME,
+ 	then look up the pasted text and store its node pointer.
+ 	(lex_line): Adjust for new parse_name interface.
+ 	Check for L"str", L'str' using spec_nodes->n_L.
+ 	(spell_token): SPELL_IDENT tokens have their spelling in
+ 	val.node->name.  Handle SPELL_STRING tokens that don't have
+ 	string delimiters.
+ 	(_cpp_expand_name_space,
+ 	(can_paste): Check for L ## "str" using spec_nodes->n_L.
+ 	(cpp_get_token, special_symbol): No need to call cpp_lookup.
+ 	(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
+ 	return 1=equal 0=not, not a tristate.
+ 
+ 	* cpphash.c (var_args_str): Delete.
+ 	(find_param): Compare node fields directly.
+ 	(is__va_args__): Use CPP_PEDANTIC.  Just compare
+ 	token->val.node with spec_nodes->n__VA_ARGS__.
+ 	(dump_funlike_macro): Don't use var_args_str.
+ 
+ 	* cpplib.c (_cpp_check_directive): Just walk through
+ 	spec_nodes->dirs comparing pointers.
+ 	(get_define_node, do_pragma_poison, detect_if_not_defined,
+ 	parse_ifdef): The identifier has already been looked up.
+ 	(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
+ 	node.
+ 	(do_if): Only call detect_if_not_defined at beginning of file.
+ 	(_cpp_parse_assertion): Only copy string pointers for
+ 	SPELL_STRING tokens.
+ 	(pragma_dispatch): Take a node pointer and examine its name
+ 	field.
+ 	(_cpp_init_stacks): Also initialize the spec_nodes structure.
+ 
+ 	* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
+ 	_cpp_init_macros.
+ 	(cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
+ 	reverse order from the corresponding _cpp_init_* routines.
+ 
+ 	* cppexp.c (parse_number, parse_charconst, parse_defined,
+ 	lex): Check val.node->type instead of calling cpp_defined.
+ 	Use spec_nodes entries where appropriate.
+ 
+ 	* fix-header.c, scan-decls.c: Update for interface changes.
+ 
+ 2000-07-08  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
+ 	emitting aux_truncdfsf2.
+ 
+ 2000-07-03  Donn Terry  (donnte@microsoft.com)
+ 
+ 	* cppinit.c (print_help): split overlong line into ISO C89
+ 	maximum chunks.
+ 
+ 2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c: Update all code for new lexer interface.
+ 	(op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
+ 	(struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
+ 	* cpplex.c (token_names): Trim leading CPP_ from names; make
+ 	the strings unsigned.
+ 	(_cpp_spell_operator): New.
+ 	(is_macro_disabled): Disable all macros if rescanning
+ 	preprocessed text.
+ 	(_cpp_get_directive_token): Remove.
+ 
+ 	* cppinit.c: Don't set no_macro_expand.
+ 	* cpplib.c (read_line_number, do_line): Check only for EOF,
+ 	not VSPACE.
+ 	* cpphash.h: Update prototypes.
+ 	* cpplib.h (CPP_VSPACE): Remove.
+ 	(struct cpp_reader): Remove no_macro_expand.
+ 
+ 2000-07-08  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.c (is__va_args__): New function.
+ 	(count_params): Fix line reported in error messages.  Use
+ 	is__va_args__.  Don't return ')' on error.  Flag GNU style
+ 	rest args macro definitions.
+ 	(parse_define): Check macro name is not __VA_ARGS__.
+ 	(save_expansion): Check identifier in non-varargs-macro is
+ 	not __VA_ARGS__.  Don't flag GNU_VARARGS.
+ 	* cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
+ 	(maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
+ 	 than per-token GNU_VARARGS.
+ 	* cpplib.h (GNU_VARARGS): Remove.
+ 	(GNU_REST_ARGS): New.
+ 
+ Sat Jul  8 01:38:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (call_pop, call, call_value_pop): Do not set
+ 	current_function_uses_pic_offset_table for calls to static
+ 	functions or indirect calls.
+ 
+ 2000-07-07  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (rws_access_reg): New local write_count.  If
+ 	is_predicate_reg, then take max write_count of register pair.
+ 
+ 2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tradcpp.c (main): Rename label `include' to `add_include' to
+ 	avoid conflicts with variable `include' in traditional C.
+ 
+ 2000-07-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* integrate.c (copy_insn_list): Remove REG_LABEL notes.
+ 
+ 2000-07-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* sibcall.c (uses_addressof): Add INMEM argument, check for
+ 	current_function_internal_arg_pointer outside of MEM rtxs in addition
+ 	to ADDRESSOFs.
+ 	(sequence_uses_addressof): Update caller.
+ 
+ 2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
+ 	and friends.
+ 
+ 2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (UNION_INIT_ZERO): New macro for initializing union
+ 	members in structs.
+ 
+ 	* cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
+ 
+ 2000-07-07  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpp.texi: Update.
+ 
+ Fri Jul  7 07:47:35 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* final.c (final): Detect out of bounds array access to
+ 	the insn_lengths array.
+ 
+ 2000-07-07  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* fold-const.c (fold): Fix a comment typo.
+ 
+ 2000-07-07  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpp.texi: Update to new lexer.
+ 
+ 2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tradcpp.c: New file.
+ 	* tradcif.y: New file.
+ 	* tradcif.c: New generated file.
+ 
+ 	* Makefile.in: Add rules to build tradcpp.o, tradcif.o,
+ 	$(srcdir)/tradcif.c.  Add tradcpp to STAGESTUFF and
+ 	dependencies of C.  Install tradcpp from install-common, in
+ 	$(libsubdir).
+ 
+ 2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c: Include cppdefault.h.  Refer to
+ 	cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
+ 	to GCC_INCLUDE_DIR and its length.
+ 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+ 	USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
+ 	STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT):  Move to
+ 	cppdefault.h.
+ 	(include_defaults_array): Move to cppdefault.c.
+ 
+ 	* cppdefault.h: New file.
+ 	* cppdefault.c: New file.
+ 
+ 	* Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
+ 	(cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
+ 	(cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
+ 	this file.
+ 
+ Thu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload.c (push_reload): When seeing if can reuse a register,
+ 	check extra registers against widest of INMODE and OUTMODE.
+ 
+ 2000-07-06  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplib.c: (_cpp_parse_assertion):  Perform hash lookups
+ 	based on full length of predicate.
+ 
+ 2000-07-06  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
+ 	[NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
+ 
+ 2000-07-05  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300-proto.h: Fix formatting.
+ 	* h8300.c: Likewise.
+ 	* h8300.h: Likewise.
+ 
+ 2000-07-05  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
+ 	CCmode.
+ 
+ 2000-07-05  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* invoke.texi: Fix minor typos
+ 	* md.texi: Fix minor typos
+ 
+ 2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
+ 
+ 2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c: Don't include sys/mman.h.
+ 	(cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
+ 
+ 	* cpplib.c: Include sys/mman.h and obstack.h.
+ 	(cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
+ 	obstack.
+ 	(cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
+ 	(_cpp_unwind_if_stack): Now static, unwind_if_stack.  Don't
+ 	bother freeing if stack entries (they will be freed with their buffer).
+ 	(do_endif): Free if stack entries from the buffer obstack.
+ 	(push_conditional): Allocate if stack entries from the buffer obstack.
+ 
+ 	(find_answer): Rename to _cpp_find_answer.
+ 	(do_assert, do_unassert): Update.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	(xobnew): New convenience macro.
+ 	* cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
+ 	Update comments.
+ 	(struct cpp_hashnode): Remove disabled field.
+ 
+ 	* cppinit.c: Don't include hashtab.h or splay-tree.h.
+ 	(report_missing_guard): Moved to cppfiles.c.
+ 	(cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
+ 	cpp_init_includes.
+ 	(cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
+ 	cpp_cleanup_includes.  Don't destroy hashtab or
+ 	all_include_files here.
+ 	(cpp_finish): Use _cpp_report_missing_guards.
+ 
+ 	* cppfiles.c (report_missing_guard): Moved from cppinit.c.
+ 	(_cpp_init_include_table): Rename _cpp_init_includes.
+ 	(_cpp_cleanup_includes, _cpp_report_missing_guards): New.
+ 
+ 	* cppexp.c (parse_assertion): Update for new name of
+ 	find_answer.
+ 
+ 	* Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
+ 
+ 2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_ident): s/VSPACE/EOF/
+ 
+ 2000-07-05  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c: Fix trigraph replacement within strings.
+ 
+ 2000-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
+ 
+ 	* xcoffout.c (assign_type_number): Constify.
+ 	(xcoffout_source_file): Add static prototype.  Don't needlessly
+ 	cast away const-ness.
+ 
+ 2000-07-04  Jason Merrill  <jason@redhat.com>
+ 
+ 	* frame.h (frame_state): Move base_offset to end.
+ 
+ Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Revert previous change.
+ 
+ 2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fix-header.c (struct partial_proto): Remove unnecessary fields.
+ 	(recognized_extern, recognized_function, read_scan_file):
+ 	Update for new scheme.
+ 	(check_protection): It's still a multiple include guard even
+ 	if it doesn't always trigger.
+ 	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
+ 	new scheme.
+ 	* scan.h: Declare struct cpp_token.  Update prototypes.
+ 
+ 2000-07-03  Neil Booth  <neilb@earthling.net>
+ 	    Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	Complete overhaul of the lexer and macro expander.
+ 
+ 	* cpphash.c (object_defn, funct_defn, push_macro_expansion,
+ 	arg, arglist, argdata, reflist, collect_objlike_expansion,
+ 	collect_funlike_expansion, collect_params,
+ 	warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
+ 	unsafe_chars, macarg, compare_defs, special_symbol,
+ 	scan_arguments, stringify, funlike_macroexpand,
+ 	_cpp_quote_string, monthnames): Delete.
+ 	(cpp_lookup, _cpp_free_definition, dump_funlike_macro,
+ 	_cpp_create_definition, _cpp_dump_definition,
+ 	dump_hash_helper): Adjust.
+ 	(find_param, count_params, parse_define, var_args_str,
+ 	check_macro_redefinition, save_expansion): New.
+ 
+ 	* cpplex.c (skip_block_comment, skip_line_comment, parse_name,
+ 	parse_string, output_line_command, trigraph_replace,
+ 	lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
+ 	cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
+ 	cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
+ 	_cpp_skip_rest_of_line): Modify.
+ 
+ 	(maybe_macroexpand, skip_comment, copy_comment, skip_string,
+ 	find_position, null_warning, bump_column, expand_name_space,
+ 	pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
+ 	_cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
+ 	_cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
+ 	_cpp_prescan): Delete.
+ 
+ 	(dump_param_spelling, process_directive, lex_next,
+ 	is_macro_disabled, stringify_arg, expand_context_stack,
+ 	output_token, make_string_token, alloc_number_token,
+ 	special_symbol, duplicate_token, maybe_paste_with_next,
+ 	can_paste, prevent_macro_expansion, restore_macro_expansion,
+ 	get_temp_token, release_temp_tokens, quote_string,
+ 	token_names, token_spellings, _cpp_expand_name_space,
+ 	_cpp_glue_header_name, _cpp_reserve_name_space,
+ 	digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
+ 	placemarker_token, eof_token, cpp_context, macro_args,
+ 	get_raw_token, parse_arg, parse_args, save_token,
+ 	push_arg_context, push_macro_context, pop_context,
+ 	do_pop_context, free_macro_args, _cpp_get_line,
+ 	_cpp_run_directive): New.
+ 
+ 	* cpplib.c (validate_else, parse_include, push_conditional,
+ 	pass_thru_directive, read_line_number, parse_ifdef,
+ 	detect_if_not_defined, _cpp_check_directive, do_define,
+ 	do_undef, do_include, do_import, do_include_next, do_error,
+ 	do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
+ 	top_pragmas, do_pragma_gcc, do_pragma_implementation,
+ 	do_pragma_poison, do_pragma_system_header,
+ 	do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
+ 	dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
+ 	do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
+ 	cpp_defined): Update for new scheme.
+ 	(strtoul_for_line, get_define_node, dump_macro_name,
+ 	_cpp_check_linemarker, _cpp_parse_assertion): New.
+ 	(_cpp_handle_directive, do_pragma_default): Delete.
+ 
+ 	* cpphash.h (struct predicate): Now struct answer.
+ 	(enum spell_type, struct token_spelling, struct directive,
+ 	directive_handler): New.
+ 	Update prototypes.  Remove unused macros.
+ 	* cpplib.h: Update prototypes.  Remove unused macros,
+ 	structure definitions, and fields.
+ 
+ 	* cpperror.c (print_containing_files, v_message): Adjust.
+ 	* cppexp.c (parse_assertion, lex, parse_escape,
+ 	_cpp_parse_expr): Adjust.
+ 	* cppfiles.c (open_include_file, _cpp_execute_include,
+ 	_cpp_compare_file_date, cpp_read_file, read_include_file):
+ 	Adjust.
+ 	* cppinit.c (dump_special_to_buffer): Delete.
+ 	(append_include_chain, merge_include_chains, cpp_reader_init,
+ 	cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
+ 	cpp_finish, handle_option, print_help): Adjust.
+ 	* cppmain.c (main): Adjust.
+ 
+ 2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppspec.c (lang_specific_driver): Use double quotes in error
+ 	message.
+ 
+ Mon Jul  3 16:53:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Use valreg instead
+ 	of hard_libcall_value.
+ 
+ 2000-07-03  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): New function.
+ 	* config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
+ 	* config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
+ 	(movhi): Likewise.
+ 	(movqi): Likewise.
+ 	(movdf): Likewise.
+ 	(movsf): Likewise.
+ 	(movdi): Likewise.
+ 	(movti): Likewise.
+ 
+ 	* expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
+ 	mode instead of wider_mode is being used.
+ 
+ 2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
+ 	of 'r'. Use q_regs_operand.
+ 	(andsi_1+2): Use q_regs_operand.
+ 
+ 2000-07-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (get_memory_rtx): Always put into alias set 0.
+ 
+ 2000-07-03  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md: Fix post increment and pre increment
+ 	peepholes so that they do not generate UNPREDICATBLE opcodes.
+ 	(ie ones where the increment clobbers the source/destination).
+ 
+ 2000-07-01  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
+ 	change too big for -mtiny-stack" a warning, if larger than 63.
+ 	(out_set_stack_ptr): Change the logic so -mno-interrupts is
+ 	always safe to use on possible future devices.
+ 	(function_prologue): Write SPH before SPL, for consistency.
+ 	If interrupt_func_p true, we know we have enabled interrupts.
+ 	(avr_num_arg_regs): New function.  Round up to even number of
+ 	bytes if no -mpack-args or if calling a libgcc function.
+ 	(function_arg, function_arg_advance): Use it.
+ 	(output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
+ 	Output "movw" if available.
+ 	(out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
+ 	of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
+ 	(asm_output_section_name): Add blanks for consistent output.
+ 	(encode_section_info): Set TREE_READONLY for progmem data to
+ 	avoid gas warnings about changed section attributes.
+ 	(avr_hard_regno_mode_ok): Force non-QImode data to start in
+ 	even numbered registers on devices with "movw".
+ 	* config/avr/avr.h (MASK_*): Define bits for target_flags.
+ 	(TARGET_SWITCHES): Mark help strings for translation.
+ 	Add new -mpack-args and -menhanced switches.
+ 	(TARGET_OPTIONS): Mark help strings for translation.
+ 	(progmem_section): Add section attributes.
+ 	* config/avr/avr.md (*movhi, call_insn, call_value_insn):
+ 	Output "movw" if available.
+ 	(mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
+ 	New patterns.
+ 	* config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
+ 	call convention (arguments aligned on even registers).
+ 	(_cleanup, _exit): Make weak symbols libc can override.
+ 
+ 2000-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fp-bit.h: New file.
+ 
+ 	* fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
+ 	Comment #endif statements.
+ 	(__thenan_sf, __thenan_df): Add missing braces around initializer.
+ 
+ Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (compute_pre_data): Compute ae_kill using other local
+ 	properties instead of calling compute_ae_kill.
+ 
+ 	* alias.c (init_alias_analysis): Do not call
+ 	prologue_epilogue_contains until after reload has completed.
+ 
+ 2000-07-02  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* c-common.h (genrtl_begin_compound_stmt): Remove declaration.
+ 	(genrtl_finish_compound_stmt): Likewise.
+ 	(genrtl_compound_stmt): Change to return void.
+ 
+ 	* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
+ 	move code from here to ...
+ 	(genrtl_compound_stmt): ... here.
+ 	(genrtl_finish_compound_stmt): Remove.
+ 	(expand_stmt): Add comment.
+ 
+ 2000-07-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
+ 	and VOID_TYPE_P.
+ 
+ 2000-07-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplib.h (struct cpp_reader): New field include_depth.
+ 	(struct cpp_printer): Rename last_bsd to last_id.
+ 	* cppfiles.c (read_include_file): Bump include_depth.
+ 	* cpplex.c (cpp_pop_buffer): Decrement include_depth.
+ 	(output_line_command): Output correct #line if a header
+ 	is including itself and is not protected against multiple inclusion.
+ 	Use include_depth instead of buffer_stack_depth, last_id instead of
+ 	last_bsd.
+ 	* cppinit.c (cpp_start_read): Initialize last_id instead of
+ 	last_bsd.
+ 
+ 2000-07-01  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
+ 	(c-semantics.o): New target.
+ 
+ 	* c-common.h (TREE_LANG_FLAG_?): Added documentation.
+ 	(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
+ 	(genrtl_clear_out_block): Likewise.
+ 	(genrtl_goto_stmt): Likewise.
+ 	(genrtl_expr_stmt): Likewise.
+ 	(genrtl_decl_stmt): Likewise.
+ 	(genrtl_if_stmt): Likewise.
+ 	(genrtl_while_stmt): Likewise.
+ 	(genrtl_do_stmt): Likewise.
+ 	(genrtl_return_stmt): Likewise.
+ 	(genrtl_for_stmt): Likewise.
+ 	(genrtl_break_stmt): Likewise.
+ 	(genrtl_continue_stmt): Likewise.
+ 	(genrtl_scope_stmt): Likewise.
+ 	(genrtl_switch_stmt): Likewise.
+ 	(genrtl_case_label): Likewise.
+ 	(genrtl_begin_compound_stmt): Likewise.
+ 	(gerntl_finish_compound_stmt): Likewise.
+ 	(genrtl_compound_stmt): Likewise.
+ 	(genrtl_asm_stmt): Likewise.
+ 	(genrtl_decl_cleanup): Likewise.
+ 	(DECL_ANON_UNION_ELEMS): Likewise.
+ 	(emit_local_var): Likewise.
+ 	(make_rtl_for_local_static): Likewise.
+ 	(expand_cond): Likewise.
+ 	(expand_stmt): Likewise.
+ 	(c_expand_return): Likewise.
+ 	(c_expand_start_case): Likewise.
+ 	(do_case): Likewise.
+ 	(COMPOUND_STMT_NO_SCOPE): Likewise.
+ 	(c_expand_asm_operands): Likewise.
+ 	(NEW_FOR_SCOPE_P): New macro.
+ 	(expand_expr_stmt_fn): New type.
+ 
+ 	(set_current_function_name_declared): Likewise.
+ 	(current_function_name_declared): Likewise.
+ 	(lang_expand_stmt): Likewise.
+ 	(stmts_are_full_exprs_p): Likewise.
+ 	(anon_aggr_type_p): Likewise.
+ 	(lang_expand_expr_stmt): Likewise.
+ 	(build_case_label): Likewise.
+ 
+ 	* c-decl.c (lang_expand_expr_stmt): Initialize.
+ 	(stmts_are_full_exprs_p): Define.
+ 	(current_function_name_declared): Likewise.
+ 	(do_case): Likewise.
+ 	(lang_expand_stmt): Likewise.
+ 	(set_current_function_name_declared): Likewise.
+ 	(anon_aggr_type_p): Likewise.
+ 
+ 	* c-semantics.c: New file.
+ 	(expand_cond): Moved from cp/semantics.c.
+ 	(genrtl_do_pushlevel): Likewise.
+ 	(genrtl_clear_out_block): Likewise.
+ 	(genrtl_goto_stmt): Likewise.
+ 	(genrtl_expr_stmt): Likewise.
+ 	(genrtl_decl_stmt): Likewise.
+ 	(genrtl_if_stmt): Likewise.
+ 	(genrtl_while_stmt): Likewise.
+ 	(genrtl_do_stmt): Likewise.
+ 	(genrtl_return_stmt): Likewise.
+ 	(genrtl_for_stmt): Likewise.
+ 	(genrtl_break_stmt): Likewise.
+ 	(genrtl_continue_stmt): Likewise.
+ 	(genrtl_scope_stmt): Likewise.
+ 	(genrtl_switch_stmt): Likewise.
+ 	(genrtl_case_label): Likewise.
+ 	(genrtl_begin_compound_stmt): Likewise.
+ 	(genrtl_finish_compound_stmt): Likewise.
+ 	(genrtl_compound_stmt): Likewise.
+ 	(genrtl_asm_stmt): Likewise.
+ 	(genrtl_decl_cleanup): Likewise.
+ 	(make_rtl_for_local_static): Moved from cp/decl.c.
+ 	(emit_local_var): Likewise.
+ 	(expand_stmt): Define.
+ 
+ 	* c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
+ 	(c_expand_return): Likewise.
+ 	(c_expand_start_case): Likewise.
+ 
+ 2000-07-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
+ 	with the low 13 bits set.
+ 	(move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
+ 	* config/ia64/ia64.md (movdi): Likewise.  Expand a CONST with one
+ 	of the low 13 bits into a CONST plus an adddi3.
+ 	(load_symptr): Set RTX_UNCHANGING_P.
+ 
+ 2000-06-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
+ 	* c-common.c (ridpointers): Declare.
+ 	* c-common.h (enum rid): Declare.
+ 	(NORID): Likewise.
+ 	(ridpointers): Likewise.
+ 	* c-lex.c (ridpointers): Don't declare.
+ 	(init_lex): Initialize ridpointers.
+ 	* c-lex.h (enum rid): Don't declare.
+ 	(NORID): Likewise.
+ 	(RID_FIRST_MODIFIER): Likewise.
+ 	(ridpointers): Likewise.
+ 
+ 2000-06-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
+ 	have global scope.
+ 
+ 2000-06-30  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* invoke.texi (-Wreturn-type): In C++, a missing return type is
+ 	always an error.
+ 
+ 2000-06-30  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* c-common.c (decl_attributes):  Differentiate between
+ 	types and type decls for alignment.
+ 
+ 2000-06-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpp.texi: Document #pragma GCC dependency
+ 	* cppfiles.c (open_include_file): Set date to unknown.
+ 	(_cpp_compare_file_date): New function.
+ 	(read_include_file): Set file date.
+ 	* cpphash.h (struct include_file): Add date member.
+ 	(_cpp_compare_file_date): Prototype.
+ 	* cpplib.c (parse_include): Add trail parameter. Adjust.
+ 	(do_include): Adjust parse_include call.
+ 	(do_import): Likewise.
+ 	(do_include_next): Likewise.
+ 	(gcc_pragmas): Add dependency pragma.
+ 	(do_pragma_dependency): New pragma.
+ 
+ 2000-06-29  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (output_loc_operands): Don't abort on codes that have
+ 	no operands.
+ 
+ 2000-06-29  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
+ 	a volatile mem and FR_REGS.
+ 
+ 2000-06-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
+ 	* c-common.h (flag_const_strings): Declare.
+ 	(warn_format): Likewise.
+ 	(flag_traditional): Likewise.
+ 	(flag_isoc99): Likewise.
+ 	(warn_parentheses): Likewise.
+ 	(warn_conversion): Likewise.
+ 	(C_TYPE_OBJECT_P): Likewise.
+ 	(C_TYPE_INCOMPLETE_P): Likewise.
+ 	(C_TYPE_FUNCTION_P): Likewise.
+ 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+ 	(C_EXP_ORIGINAL_CODE): Likewise.
+ 	(build_unary_op): Likewise.
+ 	(build_binary_op): Likewise.
+ 	(lvalue_p): Likewise.
+ 	(default_conversion): Likewise.
+ 	(common_type): Likewise.
+ 	* c-tree.h (C_TYPE_OBJECT_P): Remove.
+ 	(C_TYPE_INCOMPLETE_P): Likewise.
+ 	(C_TYPE_FUNCTION_P): Likewise.
+ 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
+ 	(C_EXP_ORIGINAL_CODE): Likewise.
+ 	(common_type): Likewise.
+ 	(default_conversion): Likewise.
+ 	(build_binary_op): Likewise.
+ 	(build_unary_op): Likewise.
+ 	(lvalue_p): Likewise.
+ 	(flag_const_strings): Likewise.
+ 	(warn_format): Likewise.
+ 	(warn_conversion): Likewise.
+ 	(flag_traditional): Likewise.
+ 	(flag_isoc99): Likewise.
+ 	(warn_parentheses): Likewise.
+ 
+ 2000-06-29  James E. Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
+ 
+ 	* config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
+ 	same.  Only tie XFmode with XFmode.
+ 
+ 2000-06-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-decl.c, timevar.c, tlink.c: Include intl.h.
+ 	* Makefile.in: Update deps.
+ 
+ 2000-06-29  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* toplev.c (main): On an IA-64, make flag_unwind_tables defauit
+ 	to true.
+ 
+ 2000-06-29  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
+ 	bytes: remove the multiply by 8.
+ 
+ 2000-06-29  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* rtl.c : Revert NLS changes.
+ 	* gcc.c : Fix bug in display_help introced by my last changes.
+ 
+ Wed Jun 28 21:09:33 2000   Raja R Harinath <harinath@cs.umn.edu>
+ 
+ 	* dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
+ 	DECL_CONTEXT, not DECL_FIELD_CONTEXT.
+ 
+ 2000-06-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* flow.c (flow_depth_first_order_compute): Fix algorithm.
+ 
+ 2000-06-28  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* c-decl.c : Mark strings for translation.
+ 	(parmlist_tags_warning): Use distinct messages instead
+ 	of conditional expressions.
+ 	* diagnostic.c (v_message_with_decl): Mark string for translation.
+ 	* gcc.c: Mark messages for translation.
+ 	(display_help): Combine messages into one string where necessary.
+ 	* mips-tfile: Add intl.h. Mark messages for translation.
+ 	* rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
+ 	messages for translation.
+ 	* timevar.c: Mark messages for translation.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ Wed Jun 28 15:39:26 2000  Donn Terry (donnte@microsoft.com)
+ 
+ 	* i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
+ 
+ 	* alpha/alpha-interix.h: Delete redundant -Asystem(interix),
+ 	use -isystem instead of -idirafter.
+ 	* i386/i386-interix.h: Likewise.
+ 
+ 2000-06-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (output_loc_operands): Don't support >1 byte output
+ 	unless DWARF2_DEBUGGING_INFO is defined.
+ 	(ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
+ 
+ 2000-06-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
+ 
+ 2000-06-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplex.c (output_line_command): Output correct #line if a header
+ 	is including itself and is not protected against multiple inclusion.
+ 
+ 2000-06-28  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (open_include_file): If open(2) returns EMFILE or
+ 	ENFILE, close all cached file descriptors and try again.
+ 	(_cpp_execute_include): Keep a count of the number of times
+ 	each header is included.
+ 	(close_cached_fd): New function.
+ 	* cpphash.h (struct include_file): Rename before to
+ 	include_count; all users updated.  Make include_count and sysp
+ 	unsigned short.
+ 	* cppinit.c (cpp_finish): If -H, report headers that could use
+ 	reinclude guards.
+ 	(report_missing_guard): New function.
+ 
+ Wed Jun 28 14:46:58 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (prologue_set_got): Set length_immediate field.
+ 	(testqi_ccno_1):  Add missing '@' character.
+ 
+ 2000-06-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
+ 	DWARF_FRAME_REGNUM.
+ 
+ 2000-06-27  Andrew Macleod <amacleod@cygnus.com>
+ 
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
+ 	unsigned macros available.
+ 
+ 2000-06-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (emit_insn_group_barriers): Special case
+ 	epilogue_deallocate_stack.
+ 
+ 	* config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
+ 	completers for UNORDERED and ORDERED as well.
+ 	* config/ia64/ia64.md (bunordered, bordered): New.
+ 	(sunordered, sordered): New.
+ 
+ Tue Jun 27 12:14:12 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
+ 	* i386.c (ix86_attr_length_default): Kill.
+ 	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+ 	New.
+ 	* i386-protos.h (ix86_attr_length_default): Kill
+ 	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
+ 	Add prototype
+ 	* i386.md (attribute type): Add "test".
+ 	(attribute length_prefix): Kill.
+ 	(attribute length_opcode): Kill.
+ 	(attribute i387, mode, length_immediate, length_address, prefix_data16,
+ 	prefix_rep, prefix_0f, modrm): New.
+ 	(attribute length): Compute using the new attributes.
+ 	(attribute pent_prefix): New.
+ 	(attribute pent_pair): Compute using pent_prefix.
+ 	(all insn patterns): Set mode,modrm and immediate_length attributes where
+ 	needed.
+ 	(cmpsi patterns): Compute sizes properly for test instruction.
+ 	(movsi, movhi patterns): Compute sizes properly for eax shortcuts.
+ 	(movstricthi_xor, movstrictqi_xor): New patterns.
+ 	(andsi/andhi): Use splitters to generate xor instructions.
+ 	(xorqi_ext_1): New pattern.
+ 	(movstricthi->movstricthi_xor peep2): New.
+ 
+ Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (addqi_low_1): Remove.
+ 
+ 2000-06-27  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* 1750a.h: Mark help strings for options/switches for translation.
+ 	* a29k.h: Likewise.
+ 	* alpha.h: Likewise.
+ 	* arm.h: Likewise.
+ 	* pe.h: Likewise.
+ 	* riscix.h: Likewise.
+ 	* c4x.h: Likewise.
+ 	* clipper.h: Likewise.
+ 	* convex.h: Likewise.
+ 	* elxsi.h: Likewise.
+ 	* fr30.h: Likewise.
+ 	* fx80.h: Likewise.
+ 	* h8300.h: Likewise.
+ 	* i370.h: Likewise.
+ 	* cygwin.h: Likewise.
+ 	* dgux.h: Likewise.
+ 	* djgpp.h: Likewise.
+ 	* i386.h: Likewise.
+ 	* osf1elf.h: Likewise.
+ 	* osfrose.h: Likewise.
+ 	* sco5.h: Likewise.
+ 	* win32.h: Likewise.
+ 	* i860.h: Likewise.
+ 	* paragon.h: Likewise.
+ 	* i960.h: Likewise.
+ 	* ia64.h: Likewise.
+ 	* m32r.h: Likewise.
+ 	* mcore.h: Likewise.
+ 	* mips.h: Likewise.
+ 	* mn10300.h: Likewise.
+ 	* ns32k.h: Likewise.
+ 	* pdp11.h: Likewise.
+ 	* pj.h: Likewise.
+ 	* aix.h: Likewise.
+ 	* aix41.h: Likewise.
+ 	* aix43.h: Likewise.
+ 	* beos.h: Likewise.
+ 	* rs6000.h: Likewise.
+ 	* sysv4.h: Likewise.
+ 	* linux.h: Likewise.
+ 	* linux64.h: Likewise.
+ 	* sp64-elf.h: Likewise.
+ 	* sparc.h: Likewise.
+ 	* splet.h: Likewise.
+ 	* v850.h: Likewise.
+ 	* convex.h (TARGET_SWITCHES): Provide descriptions and mark them
+ 	for translation.
+ 	* sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
+ 	Properly document option and mark for translation.
+ 	* sp86x-elf.h: Likewise.
+ 
+ 2000-06-27  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	Add MMX and SSE registers to i386 machine description.
+ 	* i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
+ 	ix86_local_alignment): Declare.
+ 
+ 	* i386.h (TARGET_MMX, TARGET_SSE): New.
+ 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
+ 	REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
+ 	REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
+ 	enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
+ 	(FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
+ 	(FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
+ 	(RETURN_IN_MEMORY): Handle MMX/SSE.
+ 	(REG_PARM_STACK_SPACE): Added so the first three TImode parameters
+ 	also get stack space.
+ 	(MUST_PASS_IN_STACK): Added TImode to the default definition.
+ 	(CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
+ 	(MMX_REGISTER_NAMES): New.
+ 	(ALIGN_MODE_128): New macro.
+ 	(CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
+ 	(DATA_ALIGNMENT): Likewise.
+ 	(LOCAL_ALIGNMENT): Likewise.
+ 	(CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
+ 	TARGET_MMX/TARGET_SSE.
+ 	(VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
+ 	(REG_CLASS_FROM_LETTER): 'y' for MMX regs.
+ 	(SECONDARY_MEMORY_NEEDED): Be conservative about copying between
+ 	SSE/MMX regs and something else.
+ 	(CLASS_MAX_NREGS): 1 for SSE and MMX regs.
+ 	(REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
+ 	3 if moving between MMX regs and something else.
+ 
+ 	* i386.c (reg_class): Add SSE_REGS, MMX_REGS.
+ 	(regclass_map): Add MMX/SSE registers.
+ 	(print_operand): Add code to print XMMWORD as appropriate.
+ 	(ix86_split_movdi): Abort for MMX regs.
+ 	(init_cumulative_args): Also allow SSE_REGS
+ 	(function_arg_advance, function_arg): Likewise
+ 	(print_reg): Support 'm'.  Add case for TImode.
+ 	(override_options): TARGET_SSE implies TARGET_MMX.
+ 	(ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
+ 	New functions.
+ 
+ 	* config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
+ 	FIRST_SSE_REG.
+ 	* config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
+ 	memory.
+ 	* config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
+ 	* config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
+ 
+ 2000-06-26  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* ssa.c (struct rename_set_data): Change the name of field
+ 	'set_dest' to 'old_reg'.  Add comments.
+ 	(struct rename_context): Change the name of 'set_data' to
+ 	'new_renames'.  Add new field 'done_renames'.
+ 	(create_delayed_rename): New function.
+ 	(apply_delayed_renames): New function.
+ 	(rename_insn_1): Use the new functions.  Handle CLOBBERS.  Handle
+ 	SUBREGs and similar by emitting a move.
+ 	(new_registers_for_updates): Delete, functionality moved to
+ 	apply_delayed_renames.
+ 	(rename_block): Handle moves emitted by rename_insn_1 by putting
+ 	them into a SEQUENCE with the original insn.  Add sanity checks
+ 	and comments.
+ 	(rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
+ 	(rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
+ 
+ 2000-06-26  Andrew Macleod <amacleod@cygnus.com>
+ 	    Jason Merrill <jason@redhat.com>
+ 
+ 	* dwarf2.h (enum dwarf_call_frame_info): Add
+ 	DW_CFA_def_cfa_expression.
+ 	* dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
+ 	dw_loc_descr_struct entry.
+ 	(struct cfa_loc): New structure to track a CFA location.
+ 	(lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
+ 	(lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
+ 	offset, plus handle DW_CFA_def_cfa_expression.
+ 	(def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
+ 	cfa_loc record.
+ 	(dwarf2out_def_cfa): Entry point maintained for compatibility.
+ 	(dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
+ 	(cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
+ 	(cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
+ 	(initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
+ 	cfa_reg.
+ 	(dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
+ 	sequences for the new DW_CFA_def_cfa_expression record.
+ 	(dwarf2out_frame_debug): Use new variables/fields.A
+ 	(output_cfi): Handle DW_CFA_def_cfa_expression.
+ 	(output_cfa_loc): New function to generate a CFI record for
+ 	DW_CFA_def_cfa_expression.
+ 	(get_cfa_from_loc_descr): New function to get a cfa_loc record from
+ 	a dw_loc_descr sequeunce.
+ 	(build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
+ 	(dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
+ 	size_of_locs, output_loc_operands, output_loc_sequence): Move into
+ 	unwind info section.
+ 	* frame.h (frame_state): Add base_offset and indirect fields.
+ 	* frame-dwarf2.c (decode_stack_op): New function to interpret a
+ 	dw_loc_descr operation.
+ 	(execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
+ 	(struct frame_state): Add base offset and indirect fields.
+ 	* libgcc2.c (next_stack_level): Support indirect loading for CFA.
+ 
+ 2000-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
+ 	Make warnings about implicit int be pedwarns in C99.  Don't warn
+ 	about duplicate type qualifiers in C99.
+ 	(start_function): Make warning about implict int return type be a
+ 	pedwarn in C99.
+ 	* c-lex.c (yylex): Don't warn about `long long' in C99.
+ 	* c-typeck.c (c_expand_return): In C99, always pedwarn about
+ 	`return' with no value in function returning non-void.
+ 
+ 2000-06-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (pedwarn_c99): New.
+ 	* diagnostic.c (verror, vwarning, vpedwarn): Export.
+ 	* toplev.h: Prototype them.
+ 
+ 2000-06-26  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* c-typeck.c (digest_init): Return error_mark_node node when
+ 	TREE_TYPE (init)  == error_mark_node.
+ 
+ 2000-06-26  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
+ 	test for msgfmt without path instead.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* gengenrtl.c (special_rtx): Fix typo in comment.
+ 
+ 2000-06-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* mklibgcc.in (LIB2FUNCS): Add missing space.
+ 
+ 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.h (enum tree_index): Add vector type nodes.
+ 	Add accessor macros for them.
+ 	(TYPE_REPRESENATION_TYPE): New macro.
+ 	* tree.c (build_common_tree_nodes_2): Build these nodes.
+ 	(finish_vector_type): New function.
+ 	* c-common.c (type_for_mode): Handle vector modes.
+ 	* tm.texi (VECTOR_MODE_SUPPORTED_P): Document.
+ 
+ 	* dbxout.c (dbxout_type): Handle VECTOR_TYPEs.
+ 	* dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers.
+ 	* dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs.
+ 	(gen_type_die): Likewise.
+ 	* dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers.
+ 	(fundamental_type_code): Likewise.
+ 	(type_is_fundamental): VECTOR_TYPEs aren't.
+ 	(output_type): Handle VECTOR_TYPEs.
+ 
+ 2000-06-25  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/arm.c: Fix a comment typo.
+ 	* config/arm.h: Likewise.
+ 
+ 2000-06-25  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
+ 	compiler found.
+ 	AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-25  John David Anglin  <dave.anglin@nrc.ca>
+ 
+ 	* config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
+ 
+ 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating
+ 	libgcc.a.
+ 
+ 2000-06-24  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* collect2.c (resolve_lib_name): Move '/' check out of loop.
+ 
+ 2000-06-24  Dirk Duellmann  <Dirk.Duellmann@cern.ch>
+ 
+ 	* ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0.
+ 
+ 2000-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stmt.c (expand_decl_cleanup): Emit a dummy insn after
+ 	last_unconditional_cleanup.
+ 
+ 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* tree.def (VECTOR_TYPE): New node type.
+ 	* tree.h: Adjust some comments to reflect addition of vector types.
+ 	(TYPE_VECTOR_SUBPARTS): New macro.
+ 	* stor-layout.c (layout_type): Handle VECTOR_TYPE.
+ 	* c-convert.c (convert): Likewise.
+ 	* convert.c (convert_to_integer): Handle vector modes.
+ 	(convert_to_vector): New function.
+ 	* convert.h (convert_to_vector): Declare.
+ 	* expr.c (convert_move): Handle vector modes.
+ 	* expmed.c (extract_bit_field): Don't abort for vector modes.
+ 
+ 2000-06-24  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
+ 	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
+ 	New functions, common code moved from function_{prologue,epilogue}
+ 	and extended to support the -mtiny-stack option.
+ 	(function_prologue, function_epilogue): Use them.
+ 	Use lo8/hi8 consistently for asm output readability.
+ 	(avr_hard_regno_mode_ok): New function.
+ 	* config/avr/avr.h (TARGET_SWITCHES): Fix typo.  Add -mtiny-stack.
+ 	(UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
+ 	(HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
+ 	* config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
+ 	Write SPH before SPL.
+ 	(*movqi): No need to disable interrupts for just one "out"
+ 	in alternative 5.  Change length attribute from 4 to 1.
+ 	* config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
+ 	Write SPH before SPL.
+ 
+ 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* rtl.texi (Vector Operations): New node.
+ 	(Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus.
+ 	(Conversions): Add ss_truncate, us_truncate.
+ 	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER,
+ 	VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE,
+ 	US_TRUNCATE): New rtx codes.
+ 	* machmode.def: Add vector modes.
+ 	* machmode.h (enum mode_class): Add MODE_VECTOR_INT and
+ 	MODE_VECTOR_FLOAT.
+ 	(INTEGER_MODE_P): Check for MODE_VECTOR_INT.
+ 	(FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT.
+ 	(VECTOR_MODE_P): New.
+ 
+ 2000-06-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpp.texi: Clarify #pragma GCC namespace.
+ 
+ 2000-06-24  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build
+ 	all catalogs specified in ALL_LINGUAS.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (reload_outdi+1): Handle
+ 	HOST_BITS_PER_WIDE_INT == 64 case correctly.
+ 	(adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise.
+ 
+ 2000-06-23  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* alias.c (fixed_scalar_and_varying_struct_p): Don't examine
+ 	struct vs. scalar-ness when -fno-strict-aliasing.
+ 
+ 2000-06-23  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpplib.c (struct pragma_entry): New structure.
+ 	(pragma_dispatch): Pragma dispatcher.
+ 	(top_pragmas, gcc_pragmas): New static variables.
+ 	(do_pragma): Use pragma_dispatch.
+ 	(do_pragma_gcc): New pragma handler.
+ 	* cpp.texi: Update.
+ 
+ 2000-06-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* calls.c (compute_argument_addresses): Force stack slots into
+ 	alias set 0.
+ 	* expr.c (emit_push_insn): Force pushes into alias set 0.
+ 
+ 2000-06-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (pred_rel_mutex): Only take one register.
+ 	* config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match.
+ 
+ 2000-06-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* toplev.c (compile_file): Always call timevar_print.
+ 	* Makefile.in (calls.o): Depend on TIMEVAR_H.
+ 
+ 2000-06-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* varasm.c (constant_descriptor): Make contents unsigned char.
+ 	(mark_const_hash_entry): Adjust.
+ 	(const_hash): Just hash the code of unknown nodes.
+ 	(compare_constant_1): Adjust for unsigned char.
+ 	Use language specific expander on unknown nodes.
+ 	(record_constant_1): Likewise.
+ 
+ 2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (cpp_make_system_header): New function.
+ 	* cpplib.h: Prototype it.
+ 	* cpplib.c (do_line, do_pragma_system_header): Use it.
+ 	* fix-header.c (read_scan_file): Use it.
+ 
+ 	* fix-header.c (check_macro_names): Cast second arg of
+ 	cpp_defined to const unsigned char *.
+ 	(read_scan_file): Make getchar_call const unsigned char.
+ 
+ 2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c: Include splay-tree.h, not hashtab.h.
+ 	(redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
+ 	(destroy_include_file_node): New.
+ 	(_cpp_init_include_hash): Rename _cpp_init_include_table.
+ 	Create a splay tree, not a hash table.
+ 	(open_include_file): Look up the path in the include table,
+ 	do the multiple include optimization here, etc.
+ 	(cpp_included): Walk the path.
+ 	(find_include_file): Just walk the path calling
+ 	open_include_file, or call it directly for an absolute path.
+ 	(_cpp_fake_ihash): Rename _cpp_fake_include and update for new
+ 	scheme.
+ 	(read_include_file): Update for new scheme.  Don't close the
+ 	file unless reading fails.
+ 	(_cpp_execute_include, cpp_read_file): Tweak for new scheme.
+ 
+ 	* cpphash.h (struct ihash, NEVER_REINCLUDE): Delete.
+ 	(struct include_file): New.
+ 	(NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New
+ 	macros.
+ 	(CPP_PEDANTIC, CPP_WTRADITIONAL): Update.
+ 	Update prototypes.
+ 
+ 	* cppinit.c: Include splay-tree.h.
+ 	(cpp_reader_init, cpp_cleanup): Update.
+ 
+ 	* cpplib.h (struct cpp_buffer): Change ihash field to
+ 	'struct include_file *inc'.  Remove system_header_p.
+ 	(struct cpp_reader): Change all_include_files to a
+ 	struct splay_tree_s *.
+ 
+ 	* cpplex.c: Update all references to cpp_buffer->ihash and/or
+ 	cpp_buffer->system_header_p.
+ 	(cpp_pop_buffer): Close file here, only if DO_NOT_REREAD.
+ 
+ 	* Makefile.in (SPLAY_TREE_H): New macro.
+ 	(cppfiles.o, cppinit.o): Update dependencies.
+ 
+ Wed Jun 21 11:05:48 2000  Martin Buchholz <martin@xemacs.org>
+ 
+ 	* invoke.texi (g++): "g++" is not a script anymore.
+ 
+ 2000-06-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* function.c (round_down): Delete obsolete prototype.
+ 
+ 	* pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__.
+ 
+ 2000-06-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in: Use 'test a = b' not 'test a == b'.
+ 	* configure: Regen.
+ 
+ 	* Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS).
+ 
+ 	* Makefile.in: Remove all references to HOST_INTLLIBS.
+ 
+ 	* cpplex.c (parse_name): Don't warn about $ in identifiers if
+ 	skipping.
+ 
+ 2000-06-20  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later
+ 	for PA 2.0.
+ 
+ Mon Jun 19 23:26:40 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* Take REG_INC notes into account.
+ 
+ 2000-06-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
+ 	(primary: IDENTIFIER): Just call build_external_ref.
+ 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
+ 	Regenerate.
+ 	* c-lex.c (lastiddecl): Remove.
+ 	(yylex): Replace all instances of lastiddecl with local
+ 	variables.
+ 
+ 	* c-typeck.c (build_external_ref): New function.  Treat decls
+ 	with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
+ 	Look up the decl from the id here.  Call lookup_objc_ivar.
+ 	* c-lang.c (lookup_objc_ivar): Stub.
+ 	* objc/objc-act.c (lookup_objc_ivar): New function.
+ 
+ 	* c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
+ 	* c-lex.h: Don't declare lastiddecl.
+ 
+ 2000-06-19  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* c-common.h (IF_COND): Added documentation.
+ 	(THEN_CLAUSE): Likewise.
+ 	(ELSE_CLAUSE): Likewise.
+ 	(WHILE_COND): Likewise.
+ 	(WHILE_BODY): Likewise.
+ 	(DO_COND): Likewise.
+ 	(DO_BODY): Likewise.
+ 	(RETURN_EXPR): Likewise.
+ 	(EXPR_STMT_EXPR): Likewise.
+ 	(FOR_INIT_STMT): Likewise.
+ 	(FOR_COND): Likewise.
+ 	(FOR_EXPR): Likewise.
+ 	(FOR_BODY): Likewise.
+ 	(SWITCH_COND): Likewise.
+ 	(SWITCH_BODY): Likewise.
+ 	(CASE_LOW): Likewise.
+ 	(CASE_HIGH): Likewise.
+ 	(GOTO_DESTINATION): Likewise.
+ 	(COMPOUND_BODY): Likewise.
+ 	(ASM_CV_QUAL): Likewise.
+ 	(ASM_STRING): Likewise.
+ 	(ASM_OUTPUTS): Likewise.
+ 	(ASM_INPUTS): Likewise.
+ 	(ASM_CLOBBERS): Likewise.
+ 	(DECL_STMT_DECL): Likewise.
+ 	(STMT_EXPR_STMT): Likewise.
+ 	(LABEL_STMT_LABEL): Likewise.
+ 
+ 	* c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
+ 	COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
+ 	RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
+ 	LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
+ 
+ 2000-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (--enable-checking): Update --help doc to reflect
+ 	new defaults.  Ensure $ac_save_IFS is set before $IFS is changed.
+ 
+ Sun Jun 18 21:42:15 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
+ 
+ 	* function.c (put_var_into_stack): Don't reference DECL_ fields
+ 	if input is a SAVE_EXPR.
+ 	Use set_mem_attributes in COMPLEX case.
+ 
+ 2000-06-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h (process_for_unwind_directive): Declare.
+ 	(ia64_file_start): Declare.
+ 	* config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0.
+ 	(GR_REGNO_P): Likewise.
+ 	* config/ia64/ia64.c: Many prototypes.
+ 	(ia64_reg_numbers): Constify.
+ 	(ia64_input_reg_names, ia64_local_reg_names): Likewise.
+ 	(ia64_section_threshold): Make unsigned.
+ 	(ia64_print_operand): Constify.
+ 	(fix_range): Constify.
+ 	(ia64_init_builtins): Don't compare signed vs unsigned.
+ 	(ia64_expand_builtin): Likewise.
+ 
+ 	* config/ia64/ia64.h (EXTRA_CONSTRAINT): New.
+ 	(CONSTRAINT_OK_FOR_Q): New.
+ 	* config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem.
+ 	(movsf_internal, movdf_internal): Likewise.
+ 	(cmovdi_internal): Rewrite so that constraints and predicates match;
+ 	simplify splitters.
+ 	(cmovsi_internal): Likewise.
+ 
+ 	* config/ia64/ia64.h (ASM_SPEC): Add -x for gas.
+ 	(ASM_FILE_START): New.
+ 	* config/ia64/ia64.c (ia64_file_start): New.
+ 	(rtx_needs_barrier): Handle pred.rel.mutex.
+ 	(emit_predicate_relation_info): New.
+ 	* config/ia64/ia64.md (pred_rel_mutex): New.
+ 	* config/ia64/linux.h (ASM_SPEC): Define.
+ 	* config/ia64/sysv4.h (ASM_FILE_START): Define.
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Fix thinko
+ 	filtering global register variables.
+ 
+ 2000-06-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (add_c_tree_codes): Fix definition for traditional C.
+ 
+ 2000-06-17  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is
+ 	not present and there is a field after a '-'.
+ 
+ 2000-06-17  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/check.tpl:  finish the implementation of multiple tests
+ 	for a single fix
+ 	* fixinc/inclhack.def(ctrl_quotes_def): add a second test
+ 	(io_quotes_def): add a second test
+ 	(various): reorder `files' so that "limits.h" is never first
+ 	* fixinc/tests/base/*: update the testing output
+ 
+ Sat Jun 17 10:33:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcc.texi: Remove reference to stupid.c.
+ 
+ 2000-06-16  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* c-common.c (c_tree_code_type): New array.
+ 	(c_tree_code_length): Likewise.
+ 	(c_tree_code_name): Likewise.
+ 	(add_c_tree_codes): New function.
+ 
+ 	* c-common.h (add_c_tree_codes): Declare.
+ 	(enum c_tree_code): New enum.
+ 
+ 	* c-lex.c (init_parse): Added call to add_c_tree_codes.
+ 
+ 2000-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify
+ 	select pattern to also match macro defs with only one argument.
+ 
+ Thu Jun 15 18:56:12 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.md: Create new [right,left] rotate and right shift
+ 	patterns to optimize shift by 1 bit for certain ia32 processors.
+ 	Update patterns which perform left shifts to optimize shift by
+ 	1 bit for certain ia32 processors.
+ 	* i386.c (const_int_1_operand): New predicate.
+ 	* i386.h (PREDICATE_CODES): Handle const_int_1_operand.
+ 	* i386-protos.h (const_int_1_operand): Prototype.
+ 
+ Wed Jun 14 23:46:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* mips.c (machine_dependent_reorg): Fix braces for nested if.
+ 
+ 2000-06-14  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare
+ 	LABEL_REFs.
+ 
+ 2000-06-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* conflict.c (conflict_graph_compute): Don't look for REG_INC.
+ 
+ 	* config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
+ 	auto-inc code.
+ 
+ 	* print-rtl.c (print_rtx): Emit space before mem alias set.
+ 
+ 2000-06-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (expand_block_move): Fix typo in earlier change.
+ 	(print_operand): Remove unused variables neg and op.
+ 	(toc_hash_mark_entry): Fix prototype.
+ 
+ 2000-06-14  Benjamin Chelf  <chelf@codesourcery.com>
+ 
+ 	* c-common.h (IF_COND): Moved here from cp/cp-tree.h.
+ 	(THEN_CLAUSE): Likewise.
+ 	(ELSE_CLAUSE): Likewise.
+ 	(WHILE_COND): Likewise.
+ 	(WHILE_BODY): Likewise.
+ 	(DO_COND): Likewise.
+ 	(DO_BODY): Likewise.
+ 	(RETURN_EXPR): Likewise.
+ 	(EXPR_STMT_EXPR): Likewise.
+ 	(FOR_INIT_STMT): Likewise.
+ 	(FOR_COND): Likewise.
+ 	(FOR_EXPR): Likewise.
+ 	(FOR_BODY): Likewise.
+ 	(SWITCH_COND): Likewise.
+ 	(SWITCH_BODY): Likewise.
+ 	(CASE_LOW): Likewise.
+ 	(CASE_HIGH): Likewise.
+ 	(GOTO_DESTINATION): Likewise.
+ 	(COMPOUND_BODY): Likewise.
+ 	(ASM_CV_QUAL): Likewise.
+ 	(ASM_STRING): Likewise.
+ 	(ASM_OUTPUTS): Likewise.
+ 	(ASM_INPUTS): Likewise.
+ 	(ASM_CLOBBERS): Likewise.
+ 	(DECL_STMT_DECL): Likewise.
+ 	(STMT_EXPR_STMT): Likewise.
+ 	(LABEL_STMT_LABEL): Likewise.
+ 	(SCOPE_BEGIN_P): Likewise.
+ 	(SCOPE_END_P): Likewise.
+ 	(SCOPE_STMT_BLOCK): Likewise.
+ 	(SCOPE_NULLIFIED_P): Likewise.
+ 	(SCOPE_NO_CLEANUPS_P): Likewise.
+ 	(SCOPE_PARTIAL_P): Likewise.
+ 	(ASM_VOLATILE_P): Likewise.
+ 	(STMT_LINENO): Likewise.
+ 	(STMT_LINENO_FOR_FN_P): Likewise.
+ 
+ 	* c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR,
+ 	ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT,
+ 	FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT,
+ 	CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT,
+ 	SCOPE_STMT, CASE_LABEL, STMT_EXPR.
+ 
+ 	* gencheck.c (tree_codes[]): Added '#include "c-common.def"'.
+ 
+ 2000-06-14  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* gcc.c (main): Quiet compiler warnings.  argv is assumed to be
+ 	writable in parts of the GCC code.
+ 
+ 	* config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf
+ 	specification match cast.
+ 
+ Wed Jun 14 09:25:57 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in: Revert AC_TYPE_GETGROUPS patch from June 13.
+ 	* configure, config.in: Rebuilt.
+ 	* sys-protos.h: Similarly.
+ 
+ Wed Jun 14 03:39:58 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* ifcvt.c (EDGE_COMPLEX): Move definition ...
+ 	* basic-block.h (EDGE_COMPLEX): ... here.
+ 
+ 	* loop.c (check_dbra_loop): Specify the register when
+ 	generating REG_NONNEG notes and don't generate duplicates.
+ 
+ 2000-06-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
+ 	(struct tree_type, struct tree_decl): Add user_align member.
+ 	* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
+ 	(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
+ 	and DECL_USER_ALIGN 0, cap alignment to this value.
+ 	(place_field): Likewise.
+ 	(finalize_type_size): Set TYPE_USER_ALIGN.
+ 	(layout_type): Likewise.
+ 	(initialize_sizetypes): Likewise.
+ 	* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
+ 	DECL_USER_ALIGN to 1.
+ 	* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
+ 	(xfer_tag): Set TYPE_USER_ALIGN.
+ 	(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
+ 	(finish_enum): Likewise.
+ 	* stmt.c (expand_decl): Set DECL_USER_ALIGN.
+ 	(expand_anon_union_decl): Likewise.
+ 	* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
+ 	(build_index_type): Set TYPE_USER_ALIGN.
+ 	(build_range_type): Likewise.
+ 	(build_common_tree_nodes_2): Likewise.
+ 	* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
+ 
+ 2000-06-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in: Use --enable-checking=misc,tree,gc by default if
+ 	no --enable-checking option is given and for
+ 	--enable-checking=yes.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
+ 	(__throw): Don't pass the address of a label.
+ 
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Use
+ 	current_function_is_leaf.
+ 	(ia64_expand_prologue): Likewise.  Modify return_address_pointer_rtx
+ 	instead of reg_names[RETURN_ADDRESS_REGNUM].
+ 	(ia64_init_machine_status): Reset return_address_pointer_rtx.
+ 	* config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
+ 	from RETURN_ADDRESS_REGNUM.  Update all uses.
+ 	(RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
+ 	zero instead of null on failure.
+ 	(ELIMINABLE_REGS): Add ra->b0 elimination.
+ 	(CAN_ELIMINATE): Update accordingly.
+ 	(INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	(REGISTER_NAMES): Use an illegal assembler name for
+ 	RETURN_ADDRESS_POINTER_REGNUM.
+ 
+ 2000-06-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS,
+ 	GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS.
+ 	(REG_CLASS_NAMES): Likewise.
+ 	(REG_CLASS_CONTENTS): Likewise.
+ 	(FR_FP_REGNO_P, FR_INT_REGNO_P): Remove.
+ 	(HARD_REGNO_MODE_OK): Remove references to them.
+ 	(REGNO_REG_CLASS): Likewise.
+ 	(REG_CLASS_FROM_LETTER): Likewise.
+ 	(CLASS_MAX_NREGS): Likewise.
+ 	(REGISTER_MOVE_COST): Likewise.
+ 	* config/ia64/ia64.c (ia64_secondary_reload_class): Likewise.
+ 	* config/ia64/ia64.md (*): Replace "e" constraints with "f".
+ 	(movqi_internal): Special case moves from zero.
+ 	(movhi_internal, movsi_internal): Likewise.
+ 	(movdi_internal): Likewise.  Fill out "f" constraints.
+ 	(movsf_internal): Fill out "r" constraints.
+ 	(movdf_internal): Likewise.
+ 
+ 2000-06-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM
+ 	alive before reload.
+ 
+ 	* haifa-sched.c (struct deps): Add in_post_call_group_p.
+ 	(add_dependence): Handle notes between SCHED_GROUP_P insns.
+ 	(remove_dependence): Always define.
+ 	(set_sched_group_p): New.
+ 	(sched_analyze_2): Use it.
+ 	(sched_analyze_insn): Don't special-case naked uses.  Look for
+ 	and extend in_post_call_group_p.
+ 	(sched_analyze): Clear stale SCHED_GROUP_P.  Set in_post_call_group_p.
+ 	(init_deps): Clear in_post_call_group_p.
+ 
+ 2000-06-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
+ 	CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
+ 	and hard-coded tests.
+ 	(simplify_set): Likewise.
+ 	(gen_lowpart_for_combine): Likewise.
+ 	* emit-rtl.c (gen_lowpart_common): Likewise.
+ 	* global.c (find_reg): Likewise.
+ 	* local-alloc.c (find_free_reg): Likewise.
+ 	* recog.c (register_operand): Likewise.
+ 	* regclass.c (init_reg_sets_1): Likewise.
+ 	(record_operand_costs, regclass): Likewise.
+ 	* reload.c (push_reload): Likewise.
+ 	* reload1.c (choose_reload_regs): Likewise.
+ 	* flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
+ 	* local-alloc.c (struct qty): Rename changes_size to changes_mode.
+ 	Update all references.
+ 	* regs.h (struct reg_info_def): Likewise.
+ 	(REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
+ 	* tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
+ 	(CLASS_CANNOT_CHANGE_MODE_P): Likewise.
+ 
+ 	* config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
+ 	(CLASS_CANNOT_CHANGE_MODE_P): New.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/pa/pa32-regs.h: Likewise.
+ 	* config/pa/pa64-regs.h: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
+ 	(CLASS_CANNOT_CHANGE_MODE_P): New.
+ 	* config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
+ 	* config/d30v/d30v.h: Likewise.
+ 
+ 2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* configure.in: Add AC_TYPE_GETGROUPS test.
+ 	* sys-protos.h: Use GETGROUPS_T * for second arg of getgroups.
+ 	* configure: Rebuilt.
+ 	* config.in: Rebuilt.
+ 
+ 2000-06-13  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* explow.c (set_mem_attributes): Do nothing for NULL type.
+ 
+ Tue Jun 13 14:45:10 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler
+ 	correctly.
+ 
+ 2000-06-13  James E. Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf.
+ 
+ Tue Jun 13 14:05:35 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference.
+ 
+ 2000-06-13  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* configure.in(ALL_LINGUAS): Changed en_UK to en_GB.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-07  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* configure.in:  Adjust FreeBSD bits to match changes to config.guess.
+ 	We now default to ELF for the i386, and a.out is the special case.
+ 	* configure:  Rebuilt.
+ 
+ Tue Jun 13 10:05:30 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* final.c (final_scan_insn): Delete notes between cc0 setter and
+ 	user when restarting from setter.
+ 
+ 2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and
+ 	cast to squelch signed/unsigned warnings.
+ 
+ 2000-06-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (handle_directive): Print non-NUL-terminated string
+ 	with %.*s.
+ 
+ 2000-06-12  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Don't do conditional execution
+ 	path if the machine needs extra support to do conditional
+ 	execution.
+ 
+ Mon Jun 12 17:04:17 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
+ 	to print the alias set.
+ 	* print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
+ 
+ 2000-06-12  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* config/float-vax.h: Add GFLOAT defines.
+ 
+ Mon Jun  12  9:44:00 2000  Mark Klein  <mklein@dis.com>
+ 
+ 	* configure.in: Update tm dependencies for MPE.
+ 	* configure: Rebuilt.
+ 
+ 2000-06-12  H.J. Lu  <hjl@gnu.org>
+ 
+ 	* gengenrtl.c (obstack_alloc_rtx): Correct the allocated size.
+ 
+ 2000-06-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* aix41.h (SUBTARGET_SWITCHES): Delete threads.
+ 	(CPP_SPEC): Change mthreads to pthread.
+ 	(LIB_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 	* aix43.h (SUBTARGET_SWITCHES): Delete threads.
+ 	(CPP_SPEC): Change mthreads to pthread.
+ 	(LIB_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 	* rs6000-protos.h (reg_or_arith_cint_operand): New.
+ 	* rs6000.c (reg_or_arith_cint_operand): New.
+ 	(num_insns_constant_wide): Decorate unsigned constant.
+ 	* rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand.
+ 	* rs6000.md (addsi3): Use new predicate.
+ 	(subsi3, adddi3, subdi3): Likewise.
+ 
+ 2000-06-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (lang_get_alias_set): Fix typo.
+ 
+ 2000-06-12  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* flow.c (mark_used_regs): Revert last change.
+ 	(life_analysis): Remove PROP_AUTOINC if running after reload.
+ 	(propagate_one_insn): PROP_AUTOINC is always off after reload.
+ 
+ 2000-06-11  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* flow.c (mark_used_regs): Don't call find_auto_inc after reload
+ 	has run.
+ 
+ 2000-06-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bb-reorder.c (build_scope_forest): Initialize variable
+ 	`curr_scope'.
+ 
+ 	* calls.c (expand_call): Likewise for variables
+ 	`save_pending_stack_adjust' and `save_stack_pointer_delta'.
+ 
+ 	* i386.c (function_arg_advance, function_arg): Cast to avoid
+ 	signed/unsigned warnings.
+ 
+ 	* i386.h (MEMORY_MOVE_COST): Likewise.
+ 
+ 	* ifcvt.c (cond_exec_process_if_block): Initialize variables
+ 	`else_start' and `else_end'.
+ 
+ 	* libgcc2.h (__eh_alloc, __eh_free): Prototype.
+ 
+ 	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
+ 
+ 2000-06-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (libintl.a): Depend on intl.all.
+ 
+ 2000-06-09  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* Makefile.in (c-parse.o): Also depend on output.h.
+ 
+ 2000-06-09  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* mcore-protos.h: discards const warning removal.
+ 	* mcore.c: discards const warning removal.
+ 
+ 2000-06-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/lib1funcs.asm: Declare the machine architecture at
+ 	the beginning of the file.
+ 
+ 2000-06-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* real.h:  Add prototype for ldexp.
+ 
+ 2000-06-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
+ 	it ggc_alloc, drop second argument, never clear returned memory.
+ 	* ggc-common.c (ggc_alloc_string): Use ggc_alloc.
+ 	(ggc_alloc_cleared): New.
+ 	* ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
+ 	ggc_alloc_obj.  Remove ggc_alloc macro.
+ 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
+ 
+ 	* rtl.c (rtvec_alloc): Clear the vector always.
+ 	(rtx_alloc): Clear the first word always.  Remove dirty
+ 	obstack tricks (this routine is no longer a bottleneck).
+ 	* tree.c (make_node): Clear the new node always.
+ 	(make_tree_vec): Likewise.
+ 	(tree_cons): Clear the common structure always.
+ 	(build1): Likewise; also, clear TREE_COMPLEXITY.
+ 	* gengenrtl.c: Use puts wherever possible.  Remove extra
+ 	newlines.
+ 	(gendef): Clear the first word of an RTX in the generator
+ 	function, irrespective of ggc_p.  Initialize '0' slots to
+ 	NULL.
+ 	(genlegend): Don't generate obstack_alloc_rtx routine, just a
+ 	thin wrapper macro around obstack_alloc.
+ 
+ 	* stmt.c (expand_fixup): Use ggc_alloc.
+ 	* c-typeck.c (add_pending_init): Use ggc_alloc.
+ 	* emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
+ 	* varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
+ 	const0_rtx when it is created.
+ 	(immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
+ 	we are not in a function.
+ 
+ 	* tree.c (tree_class_check_failed): Make second arg an int.
+ 	* tree.h: Update prototype.
+ 
+ 2000-06-09  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT
+ 	of an error_mark_node.
+ 
+ Fri Jun  9 20:35:13 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (asm_output_section_name): bugfix.
+ 
+ 2000-06-09  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* timevar.def: Add TV_EXPAND.
+ 	* timevar.c (timevar_print): Update timing information.
+ 	* calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining.
+ 
+ 	* stmt.c (expand_return): Check for error_mark_node.
+ 
+ 2000-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Also avoid wrapping auto-build.h with IN_GCC.
+ 
+ 	* scan-types.sh (VALUE) Wrap use with double quotes to protect
+ 	variable against filename expansion when it contains "char *".
+ 
+ 	* system.h (SSIZE_MAX): Delete backup definition.
+ 
+ 	* cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t)
+ 	instead of SSIZE_MAX.
+ 
+ 2000-06-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: Check whether gas supports -relax.
+ 	* configure, config.in: Rebuilt.
+ 	* config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
+ 	(EXTRA_SPECS): Add asm_relax.
+ 	(ASM_SPEC): Add %(asm_relax).
+ 	(TARGET_SWITCHES): Add -mrelax and -mno-relax.
+ 	* config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
+ 	(LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
+ 	(ASM_SPEC): Add %(asm_relax).
+ 	* config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
+ 	* config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
+ 	never use sethi/jmpl for leaf tail calls.  Use or with rs2 %g0
+ 	instead of mov, so that gas can further optimize it.
+ 
+ 2000-06-08  James E. Wilson  <wilson@bletchleypark.cygnus.com>
+ 
+ 	* dwarf2out.c (size_of_die, case dw_val_class_const): Use
+ 	size_of_sleb128.
+ 	(value_format, case dw_val_class_const): Use sdata format.
+ 	(output_die): Call output_sleb128.
+ 
+ 2000-06-08  James E. Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
+ 	UNALIGNED_DOUBLE_INT_ASM_OP.  Rename old macro to
+ 	ASM_OUTPUT_DWARF_CONST_DOUBLE.
+ 	(output_die, case dw_val_class_unsigned_const): Correct call to
+ 	ASM_OUTPUT_DWARF_DATA8.
+ 	(output_die, case dw_val_class_long_long): Use
+ 	ASM_OUTPUT_DWARF_CONST_DOUBLE.
+ 	* tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
+ 	pos is zero.
+ 
+ 	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Add.
+ 	(output_function_prologue): Fix mispelling.
+ 	(output_function_prologue, output_function_epilogue): Reorder to
+ 	match ia64.c definition order.
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Add comment.
+ 	(ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns.
+ 	Use r3 instead of r2 for large stack restores.
+ 	(ia64_output_end_prologue): New function.
+ 	(process_set): Emit ".restore sp" for epilogue stack restores.
+ 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define.
+ 
+ 2000-06-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dbxout.c (dbxout_type_fields): Don't segfault on fields with
+ 	incomplete types.
+ 
+ 2000-06-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* frame.c (end_fde_sort): Remove extraneous erratic array test.
+ 
+ 2000-06-08  Denis Perchine <dyp@perchine.com>
+ 
+ 	* frame.c (start_fde_sort): Don't malloc (0).
+ 
+ 2000-06-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
+ 	error_mark_node.
+ 	* print-tree.c (print_node): The transparent_union_flag means
+ 	different things for unions and arrays.  Do not inspect it
+ 	with TYPE_TRANSPARENT_UNION.
+ 
+ 2000-06-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
+ 	returned NULL.
+ 
+ Wed Jun  7 20:34:33 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (asm_output_section_name): output section
+ 	attributes.
+ 	* config/avr/libgcc.S (.text.libgcc): declare section attributes.
+ 
+ 2000-06-06  James E. Wilson  <wilson@cygnus.com>
+ 
+ 	* frame.h (struct unwind_info_ptr): Collapse version, flags, and length
+ 	fields into header field.
+ 	(IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
+ 	macros to access length, flags, and version info from header field.
+ 	* config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
+ 	* config/ia64/crtend.asm (__do_frame_setup_aux): Add here.
+ 	(__do_global_ctors_aux): Fix caller.
+ 	* config/ia64/frame-ia64.c (get_unwind_record): Change parameter
+ 	prologue_flag to header.  Pass to read_P_record.
+ 	(read_P_record): New argument header.  Implement P4 format.
+ 	Multiply P7_T_SIZE by 16.
+ 	(execute_one_ia64_descriptor): New static local region_header.  Pass to
+ 	get_unwind_record.  Copy r to region_header if r is a header record.
+ 	(print_all_records): Likewise.
+ 	(__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH.
+ 	(__get_personality, __get_except_table): Likewise.
+ 	* config/ia64/ia64.c (process_set): Do not divide offsets by 4.
+ 
+ 2000-06-06  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* configure.in (AC_C_INLINE): Added.
+ 	* aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default.
+ 	* configure: Regenerate.
+ 
+ 2000-06-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (c_language_kind): New type.
+ 	(c_language): New variab.e
+ 	* c-common.c (lang_get_alias_set): Don't put structures in
+ 	nonzero alias sets in C++.
+ 	* c-decl.c (c_language): Define it.
+ 	* c-lex.c (doing_objc_thang): Remove.
+ 	* c-tree.h (doing_objc_thang): Make it a macro.
+ 	* objc/objc-act.c (lang_decode_option): Set c_language, not
+ 	doing_objc_thang.
+ 
+ 2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (output_maximum_width): Remove.
+ 	(doing_line_wrapping): Tweak.
+ 	(diagnostic_buffer): New object.
+ 	(global_output_buffer): New object.
+ 	(output_destroy_prefix): New function.
+ 	(default_initialize_buffer): Likewise.
+ 	(reshape_diagnostic_buffer): Likewise.
+ 	(initialize_diagnostics): Likewise.
+ 	(output_clear): Tweak.
+ 	(line_wrapper_printf): Adjust call to init_output_buffer.
+ 	(vline_wrapper_message_with_location): Likewise.  Use
+ 	output_destroy_prefix.
+ 	(v_message_with_decl): Likewise.
+ 
+ 	* diagnostic.h (struct output_buffer): Constify prefix.
+ 	(init_output_buffer, output_get_prefix): Constify.
+ 	(diagnostic_message_length_per_line): Likewise.
+ 	(reshape_diagnostic_buffer): Declare.
+ 	(default_initialize_buffer): Declare.
+ 	(initialize_diagnostics): Declare.
+ 	(diagnostic_buffer): Declare new obbject.
+ 
+ 	* toplev.c: #include diagnostic.h
+ 	(display_help): Document diagnostic formatting options.
+ 	(decode_f_option): Handle diagnostic formatting options.
+ 	(main): Setup initialization for diagnostic messages outputter.
+ 
+ 	* toplev.h (set_message_length): Remove.
+ 
+ 	* Makefile.in (toplev.o): Depends upon diagnostic.h
+ 
+ 	* invoke.texi : Document diagnostics formatting options.
+ 
+ Tue Jun  6 19:25:32 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* configure.in (Make the links): Typo fix : the file that must be
+ 	included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
+ 	* configure: File rebuilt.
+ 
+ 2000-06-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
+ 	(eh_context): Add alloc_mask and alloc_buffer emergency fallback
+ 	space.
+ 	* libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
+ 	emergency eh_context buffer, if malloc fails.
+ 	(__eh_free): Moved from cp/exception.cc. Release to emergency
+ 	eh_context buffer, if appropriate.
+ 
+ 2000-06-06  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* expr.c (store_expr): Fix typo.
+ 
+ 2000-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k.c (legitimize_pic_address): Move prototype ...
+ 
+ 	* m68k-protos.h (legitimize_pic_address): ... here.
+ 
+ 	* m68k.md (legitimize_pic_address): Delete prototypes.
+ 	(untyped_call): Invoke GEN_CALL(), not gen_call().
+ 
+ 	* nextstep.c: Include system.h and toplev.h.
+ 	(get_directive_line): Don't prototype.
+ 	(handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
+ 
+ 	* nextstep.h (handle_pragma): Prototype.
+ 	(SECTION_FUNCTION): Prototype FUNCTION().  Move prototype of
+ 	objc_section_init ...
+ 	(EXTRA_SECTION_FUNCTIONS): ... here.
+ 
+ Tue Jun  6 08:17:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sdbout.c (struct sdb_file): NAME now const.
+ 	(sdbout_init): input_file_name now const.
+ 	(sdbout_start_new_source_file): FILENAME now const.
+ 	* sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above.
+ 
+ 2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* c-typeck.c (build_conditional_expr): Handle complex data types.
+ 
+ 2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* explow.c (maybe_set_unchanging): New function, broken out from...
+ 	(set_mem_attributes): Here.
+ 	* expr.h: Declare it.
+ 	* stmt.c (expand_decl): Call it.
+ 
+ 2000-06-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE
+ 	while looking for a register to inherit from.
+ 
+ 2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* Makefile.in (libgcc.ready): Lose.
+ 	(libgcc.mk): Just use mv, not move-if-change.
+ 	(LIBGCC_DEPS): New macro.
+ 	(libgcc.a): Use it.
+ 	(stmp-multilib): Likewise.
+ 	* mklibgcc.in (stmp-dirs): New target.  Make everything depend on
+ 	it rather than the directories themselves.
+ 	(LIB2ADD): Depend on the list file rather than 'force'.
+ 
+ 	* fold-const.c (fold, case COND_EXPR): Elide conversion between
+ 	cv-qualified versions of types.
+ 
+ Mon Jun  5 14:06:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.c (short_branch): Correct error in range
+ 	computation.
+ 
+ 2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* fixinc/inclhack.def: New include hacks for ultrix.
+ 	* (nested_ultrix): Replaced by ultrix_nested_svc.
+ 	* (ultrix_atof_param): test_text string added.
+ 	* (ultrix_ifdef): Modified select string.
+ 
+ 2000-06-05  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* objc/objc-act.c (generate_method_descriptors): Register
+ 	objc_method_prototype_template as a GC root.
+ 	(comp_method_with_proto): Register function_type as a GC root.
+ 	(comp_proto_with_proto): Replace function_type1 and
+ 	function_type2 with a two-element array; register it as a GC root.
+ 
+ 	(generate_protocols, build_protocol_initializer,
+ 	generate_protocol_list, build_category_initializer,
+ 	build_shared_structure_initializer): Do not cache cast_type
+ 	and/or cast_type2.
+ 
+ 2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* function.c (assign_parms): Add missing argument to set_mem_attributes
+ 	call.
+ 
+ 2000-06-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (VOID_TYPE_P): New macro.
+ 	(COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P.
+ 	* c-decl.c (grokdeclarator): Use VOID_TYPE_P.
+ 	(get_parm_info): Likewise.
+ 	(store_parm_decls): Likewise.
+ 	(combine_parm_decls): Likewise.
+ 	(finish_function): Likewise.
+ 	* c-typeck.c (build_function_call): Likewise.
+ 	(build_binary_op): Likewise.
+ 	(build_conditional_expr): Likewise.
+ 	(internal_build_compound_expr): Likewise.
+ 	(convert_for_assignment): Likewise.
+ 	* stmt.c (expend_expr_stmt): Likewise.
+ 	(warn_if_unused_value): Likewise.
+ 	(expand_return): Likewise.
+ 	* c-parse.in (primary): Likewise.
+ 	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
+ 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
+ 
+ Mon Jun  5 06:46:28 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (get_alias_set): If compnent is addressable, use alias
+ 	set of component.
+ 	* c-decl.c (init_decl_processing): Don't call record_component_aliases.
+ 	(grokdeclarator): Likewise.
+ 	* c-typeck.c (common_type): Likewise.
+ 
+ 2000-06-04  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS): Remove dyn_string.o
+ 	(dyn-string.o): Delete rule.
+ 	* dyn-string.c: Delete file
+ 	* dyn-string.h: Likewise.
+ 
+ 2000-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (intl.*): Honor nonzero exit codes in the intl
+ 	subdir.
+ 
+ 2000-06-03  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* alias.c (record_component_aliases): Don't inspect
+ 	DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures.
+ 
+ Sat Jun  3 19:05:30 2000  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call
+ 	it with the pattern to do machine dependent work.
+ 	(cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined,
+ 	use it to modify the true/false tests used in conditional
+ 	execution.  If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are
+ 	defined, invoke them if the conversion to conditional execution
+ 	was successful or not.
+ 
+ 	* tm.texi (IFCVT_MODIFY_TESTS): Document.
+ 	(IFCVT_MODIFY_INSN): Ditto.
+ 	(IFCVT_MODIFY_FINAL): Ditto.
+ 	(IFCVT_MODIFY_CANCEL): Ditto.
+ 
+ Sat Jun  3 15:26:13 2000  Matt Kraai <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* toplev.c (main): Fix misspellings of possibility and language.
+ 
+ 2000-06-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (record_alias_subset): Initialize has_zero_child in the
+ 	superset.
+ 
+ 2000-06-03  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm.md (untyped_call): Use GEN_CALL macro.
+ 
+ 2000-06-02  Pekka Nikander  <pnr@teldanex.tcm.hut.fi>
+ 
+ 	* Makefile.in: Use $(MAKE) not "make"
+ 
+ Fri Jun  2 19:31:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (struct alias_set_entry): New field has_zero_child.
+ 	(mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
+ 	(get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
+ 	do nothing.
+ 	Call record_component_aliases for aggregate types.
+ 	(record_alias_subset): Set has_zero_child.
+ 	(record_component_aliases, case ARRAY_TYPE): Do nothing if
+ 	TYPE_NONALIASES_COMPONENT.
+ 	(record_component_aliases, case RECORD_TYPE): Test
+ 	DECL_NONADDRESSABLE_P.
+ 	* c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
+ 	of TREE_ADDRESSABLE.
+ 	* calls.c (initialize_argument_information): Only test
+ 	TYPE_TRANSPARENT_UNION for UNION_TYPE.
+ 	* function.c (assign_parms): Likewise.
+ 	* integrate.c (function_cannot_inline_p): Likewise.
+ 	* stor-layout.c (finish_record_layout): Don't call
+ 	record_component_aliases.
+ 	* tree.h (struct tree_int_cst): Use struct tree_common.
+ 	(struct tree_real_cst, struct tree_string): Likewise.
+ 	(struct tree_complex, struct tree_identifier): Likewise.
+ 	(struct tree_list, struct tree_vec, struct tree_exp): Likewise.
+ 	(struct tree_block, struct tree_type, struct tree_decl): Likewise.
+ 	(TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
+ 	(TYPE_NONALIASES_COMPONENT): New macro.
+ 	(TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
+ 	(DECL_NONADDRESSABLE_P): New macro.
+ 	(struct tree_decl): Reorder bits for clarity of how many left;
+ 	add non_adressable.
+ 
+ 2000-06-02  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* Makefile.in (libgcc.a): Also depend on $(LIB2ADD).
+ 	* mklibgcc.in (force): New target.
+ 	Make LIB2ADD stuff depend on it.
+ 
+ 2000-06-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alias.c (lang_get_alias_set): Remove.
+ 	(get_alias_set): Call it directly, not indirectly.
+ 	* c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
+ 	* c-common.h (c_get_alias_set): Don't declare.
+ 	* c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
+ 	* expr.h (lang_get_alias_set): Declare as function, not pointer.
+ 
+ 2000-06-02  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/server.c(sig_handler):  resume closing server on SIGPIPE
+ 	(server_setup):  define the server's master pid
+ 	(close_server):  actually do the deed IFF we are the server's master
+ 
+ 2000-06-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-common.c (c_get_alias_set): Check whether signed_type did not
+ 	return its argument before calling get_alias_set on the result.
+ 
+ 2000-06-02  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE.
+ 
+ Fri Jun  2 00:22:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
+ 	(CONDITIONAL_REGISTER_USAGE): Mac registers are call used
+ 	for TARGET_NOMACSAVE.
+ 	(NOMACSAVE_BIT): Define.
+ 	(TARGET_NOMACSAVE): Define.
+ 	(TARGET_SWITCHES): Add "nomacsave".
+ 
+ 2000-06-02  Toshiyasu Morita  <toshi.morita@sega.com>
+ 
+ 	* sh.md (untyped_call): Remove excess parameters
+ 
+ 2000-06-01  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* fixinc/inclhack.def (osf_namespace_a): Relax expression to
+ 	match that used before the conversion to c_fix style.
+ 	* fixinc/fixincl.x: regenerate
+ 
+ 2000-06-01  Stan Cox  <scox@cygnus.com>
+ 
+ 	* varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix
+ 	macro argument typo.
+ 
+ 2000-06-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL.  Improve
+ 	error message.
+ 	* cpplib.c (parse_include): Remove support for VAX-C
+ 	"#include starlet" misfeature.
+ 
+ 2000-05-31 Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* cppfiles.c: conditionally define O_BINARY.
+ 	(open_include_file): pass O_BINARY to open().
+ 
+ 2000-06-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i960.c (i960_br_predict_opcode): Remove.
+ 	(i960_print_operand) [+]: Emit branch prediction hints.
+ 	(i960_function_arg): Return early for VOIDmode.
+ 	(i960_round_align): Return early for incomplete types.
+ 	* i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
+ 	* i960.md (all conditional branches): Add "%+".
+ 
+ Thu Jun  1 12:24:21 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (get_alias_set): Don't call language-specific routine more
+ 	than is needed and clean up code a bit.
+ 	* c-common.c (c_get_alias_set): All references whose type
+ 	is char get alias set 0, but character types need not.
+ 	* varasm.c (make_function_rtl): Don't call set_mem_attributes.
+ 	(make_decl_rtl): Don't call it for FUNCTION_DECL.
+ 
+ 2000-06-01  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/tests/base/...: new base result files
+ 
+ Thu Jun  1 09:37:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/i386/i386.c (ix86_use_fcomi_compare): Make global.
+ 	* config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
+ 	* config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
+ 	will use FCOMI.
+ 
+ 2000-06-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
+ 
+ 	* c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (sdata_symbolic_operand): Consider small
+ 	CONSTANT_POOL_ADDRESS_P addresses for .sdata.
+ 	* config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
+ 	* config/ia64/ia64.c (ia64_expand_prediction): Move code ...
+ 	(ia64_print_operand) [+]: ... here.  Use current_output_insn.
+ 	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
+ 	* config/ia64/ia64.md (all branch/call patterns): Use %+.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (merge_if_block): Be prepared for JOIN to have no
+ 	remaining edges.
+ 	(find_if_block): Allow THEN with no outgoing edges.
+ 	* flow.c (merge_blocks_nomove): Remove a barrier not following
+ 	a jump as well.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_block): Move initialization of mem_set_list ...
+ 	(init_propagate_block_info): ... here.  Also track blocks with
+ 	no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Revert 05-18 change.
+ 
+ 2000-05-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi: Remove documentation for -fguiding-decls.
+ 
+ 2000-05-31  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in: Fix typo last change.
+ 
+ 2000-05-31  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* configure.in (enable-nls): Enable if build == host, i.e. when
+ 	not building a canadian cross compiler.
+ 	(enable-maintainer-mode): Added for use with i18n.
+ 	* aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
+ 	cross section of ALL_LINGUAS and LINGUAS.
+ 	* configure: Rebuild.
+ 
+ 2000-05-31  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/check.tpl: rework to use test result tree
+ 	* fixinc/Makefile.in: change invocation of check script
+ 	* fixinc/check.diff: No longer needed
+ 	* fixinc/fixincl.x: regenerate
+ 	* fixinc/inclhack.def:  add new tests
+ 	* fixinc/tests/base/arch/i960/archI960.h:  New test result
+ 	* fixinc/tests/base/curses.h: modified test result
+ 	* fixinc/tests/base/stdio.h: ditto
+ 	* fixinc/tests/base/time.h: ditto
+ 	* fixinc/tests/base/sys/asm.h: ditto
+ 	* fixinc/tests/base/sys/stat.h: ditto
+ 	* fixinc/tests/base/sys/wait.h: ditto
+ 
+ Wed May 31 13:17:20 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* except.c (clear_function_eh_region): Do not free NULL.
+ 
+ Wed May 31 08:07:52 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
+ 	* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
+ 	(REG_BASE_VALUE): Remove unneeded cast to unsigned.
+ 	(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
+ 	(find_base_decl): New function, from c_find_base_decl in c-common.c.
+ 	(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
+ 	(get_alias_set): Likewise.
+ 	Major rework to do more things and allow language-specific code
+ 	to just handle special-cases.
+ 	(record_alias_subset): Args are HOST_WIDE_INT.
+ 	(record_component_alias): Local vars are HOST_WIDE_INT.
+ 	Don't handle COMPLEX_EXPR.
+ 	(get_varargs_alias_set): Moved from builtins.c.
+ 	(get_frame_alias_set): New function.
+ 	* builtins.c (expand_builtin_return_address): Use frame alias set.
+ 	(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
+ 	for setjmp buffer.
+ 	(get_memory_rtx): Rework to use set_mem_attributes.
+ 	(get_varargs_alias_set): Deleted from here.
+ 	* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
+ 	(c_find_base_decl): Deleted from here.
+ 	(c_get_alias_set): Remove many cases and rework to just handle
+ 	C-specific cases.
+ 	* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
+ 	* c-decl.c (rtl.h, expr.h): Now included.
+ 	(init_decl_processing): Call record_component_aliases on array types.
+ 	(grokdeclarator): Likewise.
+ 	Set TREE_ADDRESSABLE for all fields that are not bitfields.
+ 	* c-typeck.c (common_type): Call record_component_aliases for array.
+ 	* caller-save.c (setup_save_areas): Rework register loop for unsigned.
+ 	Set all save areas to the frame alias set.
+ 	* calls.c (initialie_argument_information): Call set_mem_attributes.
+ 	(compute_argument_addresses, expand_call): Likewise.
+ 	* explow.c (set_mem_attributes): New function.
+ 	(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
+ 	* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
+ 	LEN and OFFSET now HOST_WIDE_INT.
+ 	(clear_by_pieces): Similar changes.
+ 	(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
+ 	(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
+ 	(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
+ 	(clear_by_pieces_1): Likewise.
+ 	(emit_push_insn): Call set_mem_attributes.
+ 	(expand_expr, case INDIRECT_REF): Likewise.
+ 	(expand_expr, case VAR_DECL): Call change_address.
+ 	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
+ 	tree_low_cst.
+ 	(get_varargs_alias_set, get_frame_alias_set): New decls.
+ 	(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
+ 	(new_alias_set, set_mem_attributes): Likewse.
+ 	* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
+ 	(assign_stack_temp_for_type): Likewise.
+ 	Can split slot even if alias set since can copy.
+ 	Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
+ 	(assign_temp): Use host_integerp and tree_low_cst.
+ 	(put_var_into_stack): Properly handle SAVE_EXPR.
+ 	(put_addressof_into_stack): Likewise.
+ 	(assign_parms): Call set_mem_attributes.
+ 	Delete #if 0 code.
+ 	(fix_lexical_address): Put reference to chain into frame alias set.
+ 	(expand_function_start): Call set_mem_attributes.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
+ 	* regmove.c (try_apply_stack_adjustment): Likewise.
+ 	* reload.c (push_reload, make_memloc): Likewise.
+ 	* reload1.c (alter_reg): Make alias sets for spilled pseudos.
+ 	* rtl.def (MEM): Update comment.
+ 	* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
+ 	(move_by_pieces): Change length to HOST_WIDE_INT.
+ 	(record_base_value, record_alias_subset): Delete from here.
+ 	* stmt.c (expand_decl): Call set_mem_attributes.
+ 	* stor-layout.c (finish_record_layout): Call record_component_aliases.i
+ 	* toplev.c (compile_file): Call init_alias_once earlier.
+ 	* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
+ 	from here: now in alias.c.
+ 	* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
+ 	(struct tree_decl): Likewise.
+ 	(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
+ 	* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
+ 	(output_constant_def, force_const_mem): Likewise.
+ 
+ 	* flow.c (propagate_block): If block has no successors, stores to
+ 	frame are dead if not used.
+ 
+ 2000-05-31  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* stmt (expand_end_case): Reorder conversion sequence for jump
+ 	table to avoid extra truncations.
+ 
+ Wed May 31 01:31:42 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
+ 	in the block is more than just a simple conditional branch.
+ 	(noce_process_if_block): Similarly.
+ 
+ Tue May 30 22:25:57 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
+ 	queue.
+ 
+ 2000-05-30  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
+ 	instructions.  Treat LO_SUM operations as loading the full integer
+ 	constant.
+ 
+ 2000-05-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (get_pos_from_mask): Test exact_log2 result as signed.
+ 
+ 2000-05-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
+ 
+ 2000-05-30  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/tests/*:  Added expected result files for fixinc's make check
+ 	* fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
+ 
+ 2000-05-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.md (*setne_internal): Use match_operator
+ 	instead of working down from insn.
+ 
+ 2000-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* invoke.texi (-Wtraditional): Update WRT function macros.
+ 
+ Tue May 30 09:57:32 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* except.c (free_exception_table): Do not free NULL.
+ 
+ 2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_if): Don't save and restore only_seen_white here.
+ 	* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
+ 	and skipping here.
+ 
+ 2000-05-29  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* flow.c (mark_used_reg): If a register is unconditionally live,
+ 	remove any conditional death information.
+ 
+ 2000-05-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* final.c (current_output_insn): New.
+ 	(final_scan_insn): Set it.
+ 	* output.h: Declare it.
+ 
+ 2000-05-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stor-layout.c (finalize_record_size): Fix typo.
+ 
+ 	* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
+ 	if nlabel is null.
+ 
+ 2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (cpp_reader): Remove if_stack.  Change
+ 	potential_control_macro to a cpp_hashnode *.  Add skipping flag.
+ 	* cpphash.h (struct ihash): Change control_macro to a
+ 	cpp_hashnode * and shorten name to cmacro.
+ 	Add NEVER_REINCLUDE constant.
+ 
+ 	* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
+ 	Examine the cmacro node directly, no need to call cpp_defined.
+ 	(_cpp_execute_include, read_include_file): Set cmacro to
+ 	NEVER_REINCLUDE, not U"".
+ 	* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
+ 	(cpp_get_token): If pfile->skipping is true, discard text and
+ 	keep scanning until we hit a directive; don't expand macros.
+ 
+ 	* cpplib.c (struct if_stack): Remove if_succeeded, add
+ 	was_skipping. Change control_macro to a cpp_hashnode * and
+ 	shorten name to cmacro.  Remove typedef IF_STACK.
+ 	(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
+ 	(conditional_skip, skip_if_group,
+ 	consider_directive_while_skipping): Delete.
+ 	(push_conditional): New.
+ 	(_cpp_handle_directive): Don't process directives other than
+ 	conditionals if we are skipping.
+ 
+ 	(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
+ 	Update to new scheme.
+ 	(validate_else): Skip rest of line here, unconditionally.
+ 	(_cpp_unwind_if_stack): The stack is per-buffer.  Force
+ 	pfile->skipping off.
+ 
+ 	(all): Remove `scare quotes' from error messages.
+ 
+ 2000-05-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (emit_return_into_block): New line_note arg; emit it.
+ 	(thread_prologue_and_epilogue_insns): Attempt to locate a line note
+ 	for the close brace to accompany HAVE_return.  Move all line notes
+ 	following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
+ 
+ 2000-05-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* longlong.h [__alpha] (count_leading_zeros): New.
+ 	(count_trailing_zeros): New.
+ 	(COUNT_LEADING_ZEROS_0): New.
+ 
+ 	* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
+ 	(alpha_split_conditional_move): New.
+ 	* config/alpha/alpha-protos.h: Prototype them.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
+ 	* config/alpha/alpha.md: Update ffs cix commentary.
+ 	(*ze_and_ne): New.
+ 	(*nabssf2, *nabsdf2): New.
+ 	(*mov[qhsd]icc_internal): Use add_operand.
+ 	(if_then_else constant splitters): New.
+ 	(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
+ 	(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
+ 
+ 2000-05-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (force_to_mode) [MINUS]: Convert subtraction from
+ 	a constant to NEG or NOT when conditions allow.
+ 
+ 	* combine.c (combine_simplify_rtx): Don't create an if_then_else
+ 	unless both args are general_operand.  Don't canonicalize plus
+ 	to ior unless it helps.
+ 
+ 	* toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
+ 	instead track register_life_up_to_date.  Toggle no_new_pseudos
+ 	around if_convert.
+ 
+ 2000-05-28  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
+ 	so output_operand doesn't see them.
+ 
+ Sun May 28 18:37:07 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* lcm.c (make_preds_opaque): Fix comment.
+ 	(optimize_mode_switching): Use NORMAL_MODE instead of
+ 	MODE_USES_IN_EXIT_BLOCK.  Change leftover instance of
+ 	FP_MODE_NONE to no_mode.  Rename MODE_AT_ENTRY to NORMAL_MODE.
+ 	Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
+ 	* tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
+ 	(MODE_USES_IN_EXIT_BLOCK): Delete.
+ 	(MODE_AT_ENTRY) Rename to NORMAL_MODE.
+ 	* sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
+ 	(MODE_AT_ENTRY): Rename to NORMAL_MODE.
+ 	(MODE_NEEDED): Don't look for USE.
+ 	(EPILOGUE_USES): Define.
+ 
+ Sun May 28 23:26:59 2000  Philippe De Muyter <phdm@macqel.be>
+ 
+ 	* mklibgcc.in (all): Variable initialized to `libgcc'.
+ 
+ 2000-05-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.h (skip_leading_substring): New macro.
+ 	* toplev.c (decode_f_option): Use skip_leading_substring instead
+ 	of strncmp.
+ 	(decode_W_option): Likewise.
+ 
+ 2000-05-28  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
+ 	modify reg_names.
+ 
+ 2000-05-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regclass.c (record_operand_costs): Protect reg_changes_size
+ 	with CLASS_CANNOT_CHANGE_SIZE.
+ 
+ 	* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
+ 
+ 2000-05-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (diddle_return_value): A pcc-style struct return
+ 	returns a pointer.
+ 
+ 2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c: Read files in, using mmap if possible, then
+ 	prescan them separately.
+ 	(read_file, read_with_read): New functions.
+ 	* cpplex.c: Don't define UCHAR_MAX.
+ 	(_cpp_read_and_prescan): Rename to _cpp_prescan.  Don't read
+ 	the file here.
+ 
+ 	* cppinit.c (handle_option): Automatically define __cplusplus,
+ 	__OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
+ 	the respective -lang switch.
+ 
+ 	* cpphash.h (enum node_type, struct hashnode, _cpp_lookup
+ 	prototype): Move to...
+ 	* cpplib.h: ... here.  Rename struct hashnode to struct
+ 	cpp_hashnode and give it a typedef.  Rename _cpp_lookup to
+ 	cpp_lookup.  Add 'fe_value' slot, a union tree_node *.
+ 
+ 2000-05-27  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (movsi): Constify 'name'.
+ 
+ 	* regclass.c [CLASS_CANNOT_CHANGE_SIZE]
+ 	(class_can_change_size): New variable.
+ 	(reg_changes_size): New variable.
+ 	(init_reg_sets_1): Initialize class_can_change_size.
+ 	(record_operand_costs): Remove subreg_changes_size.
+ 	Don't pass it around.  Instead update reg_changes_size.
+ 	(regclass): Initialize and free reg_changes_size.  If a register
+ 	changes size, don't preference it to a class that contains
+ 	registers that can't change size.
+ 	(record_reg_classes): Don't look at subreg_changes_size.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* print-rtl.c (reg_names): Remove const.
+ 	* regclass.c (reg_names): Likewise.
+ 	* regs.h (reg_names): Likewise.
+ 	* hard-reg-set.h (reg_names): Likewise.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_does_function_need_gp): Test
+ 	TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
+ 	(alpha_expand_prologue): Emit prologue_mcount if needed.
+ 	* config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
+ 	* config/alpha/alpha.md (prologue_mcount): New.
+ 	* config/alpha/linux.h (FUNCTION_PROFILER): Remove.
+ 	(TARGET_PROFILING_NEEDS_GP): Undef before redefining.
+ 	* config/alpha/netbsd.h: Likewise.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
+ 	change to config/elfos.h.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (resource.o): Depend on except.h.
+ 	* except.h (output_exception_table_data): Prototype.
+ 	* genconfig.c (gen_peephole2): Prototype.
+ 	* genemit.c (main): Include ggc.h.
+ 	* genoutput.c: Revert parts of last change: include errors.h
+ 	(main): Set progname.
+ 	* recog.c: Include hard-reg-set.h before recog.h.
+ 	* resource.c: Include except.h.
+ 
+ 	* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
+ 	with RTX_CODE.
+ 	(alpha_write_linkage): Protect with BUFSIZ.
+ 	(alpha_need_linkage): Update prototype.
+ 	* config/alpha/alpha.c (function_arg): Move VMS code here.
+ 	(alpha_links_base): Remove.
+ 	(alpha_links): New.
+ 	(mark_alpha_links_node, mark_alpha_links): New.
+ 	(alpha_write_one_linkage): New.
+ 	(alpha_need_linkage): Use a splay tree.  Build the linkage symbol.
+ 	(alpha_write_linkage): Use splay_tree_foreach.
+ 	* config/alpha/alpha.md (call_vms): Use alpha_need_linkage
+ 	to get the linkage symbol.
+ 	(call_value_vms): Likewise.
+ 	* config/alpha/elf.h (output_file_directive): Remove decl.
+ 	(ctors_section, dtors_section): Prototype.
+ 	(sbss_section, sdata_section): Prototype.
+ 	* config/alpha/vms.h (FUNCTION_ARG): Remove.
+ 	(readonly_section, link_section, literals_section): Prototype.
+ 	(ctors_section, dtors_section): Prototype.
+ 	(vms_valid_decl_attribute_p): Remove decl.
+ 	(alpha_arg_type, alpha_arg_info_reg_val): Likewise.
+ 
+ 2000-05-27  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* reload.c (get_secondary_mem): Don't widen floating-point modes.
+ 
+ 	* combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when
+ 	substituting the REG in a (subreg:X (reg:Y ...)).
+ 
+ 2000-05-28  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (_cpp_lex_line): Merge vertical space.  Flag
+ 	first token of a line BOL.  Update EOF code for this.
+ 	Remove illegal directive check - it appears in the (not
+ 	yet committed) caller.
+ 	* cpplib.h (BOL): New flag.
+ 
+ 2000-05-28  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (_cpp_init_toklist): No comment space to initialize.
+ 	(_cpp_free_toklist): No comment space to free.
+ 	(expand_comment_space): Remove.
+ 	(save_comment_space): Place the comment in the current token and
+ 	not in a separate comment space.
+ 	(_cpp_lex_line): Save comments during plain code and #define
+ 	directives only.
+ 	* cpplib.h (struct _cpp_toklist): Remove comment space.
+ 
+ 2000-05-28  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppexp.c (parse_assertion): Supply extra argument to
+ 	_cpp_init_toklist.
+ 	* cpplib.c (do_assert, do_unassert): Similarly.
+ 	* cpphash.h (_cpp_init_toklist) Update.
+ 	(_cpp_expand_token_space): New.
+ 	(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
+ 	* cpplex.c (_cpp_init_toklist): New argument.
+ 	(parse_string2): New argument multiline_ok.
+ 	(spell_token): Take a const cpp_token *.
+ 	(INIT_NAME): Replace with INIT_TOKEN_NAME.  Update tokens_used.
+ 	(SPELL_ macros): Replace with enum.
+ 	(expand_token_space): Replace with _cpp_expand_token_space.
+ 	Take COUNT argument.
+ 	(IS_DIRECTIVE): Update.
+ 	(_cpp_lex_line): Update token structure before parsing number.
+ 	Don't assume start at beginning of token list.
+ 	(save_comment): Use INIT_TOKEN_NAME.
+ 
+ 2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
+ 	-Wmissing-prototypes.
+ 	* configure: Regenerate.
+ 	* gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
+ 
+ 	* builtins.c, calls.c: Change all instances of gen_call_* or
+ 	gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
+ 	* calls.c (struct_value_size_rtx): Separate definition from
+ 	initialization to avoid unused variable warning.
+ 
+ 	* genflags.c (gen_macro): New function.
+ 	(gen_proto): Call it for gen_call_* and gen_sibcall_*.
+ 	(gen_nonproto): Delete.
+ 	(gen_insn): Put all insns on the same obstack.
+ 	(main): Generate prototypes for everything unconditionally.
+ 
+ 	* configure.in: Add AC_CHECK_TYPE(ssize_t).  Remove commented
+ 	out check for wchar_t.
+ 	* acconfig.h: Add template for ssize_t.  Remove @TOP@.
+ 	* system.h: Add infrastructure for defining missing
+ 	TYPE_MAX/TYPE_MIN macros.  Use it to provide fallback
+ 	definitions of UCHAR_MAX and SSIZE_MAX.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 	* Makefile.in (libgcc2.ready): Rename to libgcc.ready.
+ 	Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
+ 	headers.
+ 	(clean): No need to delete libgcc1.a, libgcc1-asm.a,
+ 	libgcc2.a, or libgcc1.null.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (recog.o): Don't depend on resource.h.
+ 	* recog.c: Don't include resource.h.
+ 	(recog_last_allowed_insn): Remove.
+ 	(recog_next_insn): Remove.
+ 	(struct peep2_insn_data): New.
+ 	(peep2_insn_data, peep2_current): New.
+ 	(peep2_next_insn): New.
+ 	(peep2_regno_dead_p, peep2_reg_dead_p): New.
+ 	(peep2_find_free_register): New.
+ 	(peephole2_optimize): Track life information by insn as we go.
+ 	* recog.h: Update declarations.
+ 	* resource.c (find_free_register, reg_dead_p): Remove.
+ 	* resource.h: Remove their declarations.
+ 	* toplev.c: Include hard-reg-set.h before recog.h.
+ 
+ 	* genconfig.c (max_insns_per_peep2): New.
+ 	(gen_peephole2): New.
+ 	(main): Call it.
+ 	* genemit.c (output_peephole2_scratches): Generate calls to
+ 	peep2_find_free_register; adjust surrounding code.
+ 	(main): Have insn-emit.c include hard-reg-set.h before recog.h.
+ 	* genrecog.c (change_state): Don't track last_insn.
+ 	(write_action): Write into *_pmatch_len before accepting.
+ 	(write_tree): Adjust peephole2_insns and subroutines to match.
+ 
+ 	* config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
+ 
+ 	* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
+ 	(hard_int_register_operand): New.
+ 	* config/alpha/alpha-protos.h: Declare it.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
+ 	as needed; use peep2_reg_dead_p instead of dead_or_set_p.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (thread_prologue_epilogue_insns): Don't move the
+ 	line note at the head of the chain.  Only force a lineno note
+ 	before the end of block 0.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* gensupport.c (collect_insn_data): Record the maximum number
+ 	of alternatives, not the last seen.
+ 
+ 	* genoutput.c: Don't include errors.h.
+ 	(struct data): Add lineno member.
+ 	(have_error): New.
+ 	(scan_operands): Use message_with_line instead of error.
+ 	(validate_insn_alternatives): Likewise.
+ 	(gen_insn): Accept and store the pattern's line number.
+ 	(gen_peephole, gen_expand, gen_split): Likewise.
+ 	(main): Don't set progname.  Pass line_no to gen_foo.
+ 
+ 2000-05-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/d30v/d30v.c (d30v_print_operand): Handle ':'.
+ 	* config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
+ 	* config/d30v/d30v.md (attr predicable): New.
+ 	(all insn patterns): Mark non-predicable patterns; use %: on the rest.
+ 	(andsi3*): Unify into one pattern.
+ 	(iorsi3*, xorsi3*): Likewise.
+ 	(peephole2 patterns): Use peep2_reg_dead_p; verify not a
+ 	conditional return.
+ 	(old cond_exec patterns): Remove.
+ 	(define_cond_exec): New.
+ 
+ Sat May 27 11:01:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (TREE_CODE_LENGTH): New macro.
+ 	* c-common.c (c_find_base_decl): Use it.
+ 	* expr.c (safe_from_p): Likewise.
+ 	* print-tree.c (print_node): Likewise.
+ 	* tree.c (make_node, copy_node, get_identifier): Likewie.
+ 	(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
+ 	(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
+ 	* fold-const.c (make_range): Likewise.
+ 	(fold): Likewise; also use first_rtl_op.
+ 	* c-iterate.c (collect_iterators): Use first_rtl_op.
+ 	* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
+ 	Use IS_EXPR_CODE_CLASS.
+ 	(preexpand_calls): Likewise.
+ 	* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
+ 	and TREE_CODE_LENGTH.
+ 	* stmt.c (warn_if_unused_value): If no operands, no unused value.
+ 
+ 2000-05-26  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
+ 	than '%1(%*)'.
+ 	(movdi_internal64): Likewise.
+ 
+ 	* config/rs6000/rs6000.md: Correct order of operands for DImode
+ 	boolean patterns.
+ 
+ 	* config/rs6000/rs6000.c (boolean_or_operator): New function.
+ 	* config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
+ 	* config/rs6000/rs6000.md: Use boolean_or_operator instead of
+ 	boolean_operator for the boolean patterns without NOTs.
+ 
+ 	* config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
+ 	from reg_or_u_cint_operand.  Change comment and behavior.
+ 	(logical_operand): Clean up, add assertion.
+ 	(non_logical_cint_operand): Also check for
+ 	reg_or_logical_cint_operand.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Update.
+ 	* config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
+ 	in the expander.
+ 	(xorsi3): Likewise.
+ 	(iordi3): Likewise.
+ 	(xordi3): Likewise.
+ 
+ 2000-05-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (struct record_layout_info): Rename to (struct
+ 	record_layout_info_s).
+ 	* stor-layout.c (start_record_layout): Replace
+ 	`record_layout_info' with `record_layout_info_s'.
+ 
+ 2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (find_label_refs): New function.
+ 	(find_basic_blocks_1): Call it for each alternative of a call
+ 	placeholder.
+ 
+ 2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
+ 	of get_pc.
+ 
+ 2000-05-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_comparison_operator): Don't be
+ 	so strict about DImode.
+ 	(alpha_swapped_comparison_operator): Likewise.
+ 	* config/alpha/alpha.md (*setne_internal): Name it.  Allow
+ 	any integer output mode.
+ 	(*setcc_internal): Likewise.
+ 	(*setcc_swapped_internal): Likewise.
+ 	(*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
+ 	(*mov[qhs]icc_internal): New.
+ 	(*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
+ 
+ 2000-05-25  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
+ 
+ 2000-05-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* bb-reorder.c (reorder_block_def): Reorder elements for size.
+ 	Remove add_jump; add next; replace flags with visited.
+ 	(rbd_init): Remove.
+ 	(REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
+ 	(REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
+ 	(REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
+ 	(REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
+ 	(RBI): New.
+ 	(reorder_index, reorder_last_visited): Remove.
+ 	(skip_insns_after_block): Rewrite to use a switch.
+ 	(get_common_dest): Remove.
+ 	(chain_reorder_blocks): Remove.
+ 	(record_effective_endpoints): Split out from reorder_basic_blocks.
+ 	(make_reorder_chain): Likewise.  Loop until all blocks are placed.
+ 	(make_reorder_chain_1): Renamed from old make_reorder_chain.
+ 	Only construct the reorder chain, do not move insns.  Try harder
+ 	to tail recurse.
+ 	(label_for_bb, emit_jump_to_block_after): New.
+ 	(fixup_reorder_chain): Use them.  Do bulk block movement.  Examine
+ 	and adjust the jump insns appropriately.  Fixup basic_block_info.
+ 	(verify_insn_chain): Always define.
+ 	(relate_bbs_with_scopes): Call xmalloc, not xcalloc.  Fix thinko
+ 	in allocation size.
+ 	(make_new_scope): Don't write zeros to calloc'd space.
+ 	(build_scope_forest): Rely on xrealloc to DTRT.
+ 	(reorder_basic_blocks): Don't build loop nest.  Don't fail if
+ 	profile_arc_flag.  Streamline EH test.
+ 
+ 	* flow.c (redirect_edge_succ, redirect_edge_pred): New.
+ 	* basic-block.h: Declare them.
+ 
+ 2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* emit-rtl.c (reset_used_decls): New function.
+ 	(unshare_all_rtl_again): Call it.
+ 
+ 2000-05-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (maybe_macroexpand): Warn about function-like
+ 	macros used in non-function context, if -Wtraditional.
+ 
+ 2000-05-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* recog.c (peephole2_optimize): Use INSN_P.
+ 
+ 2000-05-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (seq_contains_jump): New.
+ 	(noce_try_store_flag_constants): Use it to fail conversion.
+ 	(noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
+ 
+ 2000-05-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.h (can_throw): Declare it.
+ 	* except.c (can_throw): Give it external linkage.
+ 	* resource.c (find_dead_or_set_registers): Use can_throw.
+ 
+ 2000-05-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_set_1): Don't record conditionally dead memory.
+ 
+ 2000-05-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
+ 	and pc_set at the place of simplejump_p and condjump_p.
+ 	* cse.c (record_jump_equiv): Likewise.
+ 	* emit-rtl.c (emit): Likewise.
+ 	* explow.c (find_next_ref): Likewise.
+ 	* flow.c (tidy_fallthru_edge): Likewise.
+ 	(init_propagate_block_info): Likewise.
+ 	* gcse.c (delete_null_pointer_checks): Likewise.
+ 	* ifcvt.c (cond_exec_get_condition, noce_get_condition,
+ 	dead_or_predicable): Likewise.
+ 	* integrate.c (copy_insn_list): Likewise.
+ 	* loop.c (scan_loop, verify_dominator, find_and_verify_loops,
+ 	for_each_insn_in_loop, check_dbra_loop, get_condition,
+ 	insert_bct, load_mems): Likewise.
+ 	* resource.c (find_dead_or_set_registers): Likewise.
+ 	* sibcalls.c (simplejump_p): Likewise.
+ 	* unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
+ 
+ 2000-05-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
+ 	to STRING case.  Use doubleword STRING move for TARGET_POWERPC64
+ 	when unaligned.
+ 	* rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
+ 	(RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
+ 	* rs6000.md: Name various internal patterns.
+ 
+ 2000-05-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (invert_exp_1): Remove first argument, use pc_set
+ 	to get the expression.
+ 	(redirect_exp): Make static; redirect only the pc_set expression,
+ 	remove first argument.
+ 	(invert_exp): Remove first argument, make static.
+ 	(jump_optimize): Use any_condjump_p, any_uncondjump_p and
+ 	any_onlyjump at most places where we originaly did condjump_p
+ 	and simplejump_p.
+ 	(jump_back_p, follow_jumps, thread_jumps): Likewise.
+ 	(delete_barrier_succesors): Use pc_set.
+ 	(invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
+ 	calls of invert_exp and redirect_exp.
+ 	* rtl.h (redirect_exp, invert_exp): Remove.
+ 	* unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
+ 
+ 2000-05-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_end_bindings): Fix thinko last change.
+ 
+ 2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
+ 	    Andrew Haley  <aph@cygnus.com>
+ 
+ 	* except.c  (func_eh_entry): Add emitted field.
+ 	(new_eh_region_entry): Set emitted field to 0;
+ 	(output_exception_table_entry): Only emit previously un-emitted data,
+ 	and send it to the eh_data section.
+ 	(output_exception_table): Break out common parts. Output
+ 	exception table for entire compilation unit to eh_data section.
+ 	(output_exception_table_data): Common parts of output_exception_table.
+ 	Send output to eh_data section.
+ 	(output_function_exception_table): Output exception table data for
+ 	a single function to eh_data section.
+ 	(free_exception_table): New external to free the table.
+ 	* except.h (free_exception_table): Add prototype.
+ 	(output_function_exception_table): Add prototype.
+ 	* final.c (final_end_function): Output function exception table
+ 	for IA64_UNWIND_INFO.
+ 	(final_scan_insn): Emit any unwind directives for an insn.
+ 
+ 	* frame-dwarf2.c: New file containing all DWARF 2 specific code
+ 	from frame.c.
+ 	* frame.c: Remove all DWARF 2 specific code.
+ 	* config/ia64/frame-ia64.c: New file.
+ 	(gthread_stuff): Make all gthread available with
+ 	IA64_UNWIND_INFO.
+ 	(dwarf_fde): Define an IA64 struct for dwarf_fde.
+ 	(__register_frame_info, __register_frame): Move to common area of file.
+ 	(__register_frame_info_table, __register_frame_table): Move to common i
+ 	area.
+ 	(__deregister_frame_info, __deregister_frame): Move to common area.
+ 	(__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
+ 	(read_uleb128): New version for ia64.
+ 	(get_unwind_record): Read the next IA-64 unwind record.
+ 	(read_R_record): Read a region header record.
+ 	(process_a_b_reg_code): X record helper.
+ 	(read_X_record): Read an X format record.
+ 	(read_B_record): Read a B format record.
+ 	(P3_record_types): List of record types matching the P3 format.
+ 	(P7_record_types): List of record types matching the P7 format.
+ 	(P8_record_types): List of record types matching the P8 format.
+ 	(read_P_record): Read a P format record.
+ 	(init_ia64_reg_loc): Set default fields for a register.
+ 	(init_ia64_unwind_frame): Set defaults for all register records.
+ 	(execute_one_ia64_descriptor): Execute one descriptor record.
+ 	(rse_address_add): Calculate the position of a local reg in memory.
+ 	(normalize_reg_loc): Turn a location descriptor into a memory address.
+ 	(maybe_normalize_reg_loc): Only normalize a descriptor if it falls
+ 	within a specified PC offset range.
+ 	(get_real_reg_value): Given a register location, retrieve its value.
+ 	(set_real_reg_value): Change the value of a register location.
+ 	(copy_reg_value): Copy reg values, if needed.
+ 	(copy_saved_reg_state): Copy all registers that need to be copied.
+ 	(process_state_between): Normalize all frame register records that
+ 	fall within the specified PC range.
+ 	(frame_translate): Take a processed frame description, and turn
+ 	everything into addresses.
+ 	(build_ia64_frame_state ): Find and create frame state record for a PC.
+ 	(get_personality): Get the personality routine for a given frame.
+ 	(get_except_table): Get the exception table for a given frame.
+ 	(record_name): Unwind record names for debugging.
+ 	(print_record): Print and unwind record.
+ 	(print_all_records): Print an entire unwind image.
+ 	(__ia64_backtrace): Print a backtrace.
+ 	(ia64_backtrace_helper): New function.
+ 	(__register_frame_info_aux): New function.
+ 	* config/ia64/crtend.asm (__do_frame_setup_aux): New function.
+ 
+ 	* frame.h (enum unw_record_type): New unwind record types.
+ 	(struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
+ 	(struct unw_r_record, unwind_record): New unwind record structs.
+ 	(struct unwind_info_ptr): Unwind information layout.
+ 	(IA64_UNW_LOC_TYPE_*): Macros for different types for location
+ 	descriptors.
+ 	(struct ia64_reg_loc): Register location description.
+ 	(struct ia64_frame_state): Location of all registers in a frame.
+ 	(struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
+ 	* libgcc2.c (__ia64_personality_v1): Personality routine.
+ 	(__calc_caller_bsp): Calculate the bsp register for the caller's
+ 	frame.
+ 	(ia64_throw_helper): Figure out who to return to and set up the
+ 	registers.
+ 	(__throw): Throw routine.
+ 
+ 	* output.h (assemble_eh_align, assemble_eh_label): New functions
+ 	to generate EH info where we want it.
+ 	(assemble_eh_integer): New function.
+ 	* toplev.c (compile_file): Output module level exception table for
+ 	non-ia64 targets.
+ 	(main): Set exceptions_via_longjump and flag_new_exceptions based
+ 	on IA64_UNWIND_INFO too.
+ 
+ 	* varasm.c (assemble_eh_label): Generate a label via
+ 	ASM_OUTPUT_EH_LABEL if it has been specified.
+ 	(assemble_eh_align): Generate an alignment directive via
+ 	ASM_OUTPUT_EH_ALIGN if it has been specified.
+ 	(assemble_eh_label): Generate an integer value via
+ 	ASM_OUTPUT_EH_type if they have been specified.
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
+ 	(ia64_init_builtins): Add __builtin_ia64_bsp
+ 	and __builtin_ia64_flushrs.
+ 	(ia64_expand_builtin): Add IA64_BUILTIN_BSP and
+ 	IA64_BUILTIN_FLUSHRS.
+ 	* config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
+ 	IA64_BUILTIN_FLUSHRS.
+ 
+ 	* config/ia64/ia64.md (flushrs): New insn to flush the register
+ 	stack.  Add to unspec list.
+ 
+ 	* config/ia64/crtbegin.asm (frame_object): Change size.
+ 	(__do_frame_setup_aux): New function.
+ 	* config/ia64/crtend.asm: call __do_frame_setup_aux.
+ 	* config/ia64/t-ia64 (LIB2ADDEH): Add.
+ 	* Makefile.in (LIB2ADDEH): Add.
+ 	(LIB2ADD): Use LIB2ADDEH.
+ 
+ 2000-05-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* recog.c (offsettable_address_p): If mode size is zero, assume
+ 	BIGGEST_ALIGNMENT.
+ 
+ 2000-05-24  J. David Anglin  <dave@hiauly.hia.nrc.ca>
+ 
+ 	* configure.in: Check for -Wno-long-long option support and improve
+ 	handling of warning CFLAGS for stages 1 and 2.
+ 	* Makefile.in (WARN_CFLAGS): Move definition to configure.in.
+ 	* configure: Regenerate.
+ 
+ Wed May 24 19:37:53 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcc.texi: Remove contributor list.  Instead include contrib.texi.
+ 	* contrib.texi: New file.
+ 
+ Thu May 25 02:27:22 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (basic_induction_var): Avoid double recording of an increment.
+ 
+ Thu May 25 02:19:27 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* Back out this patch:
+ 	Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
+ 	  * loop.h (struct induction): Add multi_insn_incr.
+ 	  * loop.c (basic_induction_var): New multi_insn_incr argument.
+ 	  Set it if we search back through previous insns for the biv.
+ 	  (record_biv): New multi_insn_incr argument; fill in struct induction.
+ 	  (strength_reduce): Discard an iv with multiple bivs, any of
+ 	  which require multiple insns to increment.
+ 
+ 	* loop.c (check_insn_for_bivs): Remove bits copied from above patch.
+ 
+ Thu May 25 02:09:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* rtl.h (loc_mentioned_in_p): Declare.
+ 	* reload.c (loc_mentioned_in_p): Moved from here...
+ 	* rtlanal.c (loc_mentioned_in_p): to here.  No longer static.
+ 	Fix loop increment for 'E' handling.
+ 	* loop.c (strength_reduce): When doing biv->giv conversion,
+ 	take multi-insn biv increments into account.
+ 
+ 2000-05-24  Jason Merrill  <jason@casey.soma.redhat.com>
+ 
+ 	* stmt.c (expand_end_bindings): Look through NOTEs to find a
+ 	BARRIER.
+ 
+ 2000-05-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (expand_call): Handle cleanups in tail-recursion
+ 	arguments analogously to cleanups in sibling calls.
+ 
+ 2000-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
+ 	All callers changed.
+ 
+ 2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* expr.c (expand_assignment, store_expr, expand_expr,
+ 	expand_expr_unaligned): Set in_check_memory_usage while emitting
+ 	chkr_check_addr libcall.
+ 
+ 2000-05-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* fold-const.c (extract_muldiv): When constructing a
+ 	multiplier/divisor, do not expect const_binop to correctly
+ 	determine if overflow has occurred, so check explicitly.
+ 
+ 2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* c-decl.c (build_enumerator): Don't modify the value's type,
+ 	convert it.
+ 
+ 2000-05-24  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
+ 
+ 2000-05-24  Eric Christopher <echristo@cygnus.com>
+ 
+ 	* configure.in: Redefine inhibit_libc conditions.
+ 	* libgcc2.c: Remove inhibit_libc conditional define.
+ 	* configure: Regenerate.
+ 
+ 2000-05-24  Phil Edwards  <pme@sourceware.cygnus.com>
+ 
+ 	* configure.in:  For --enable-languages=LIST, check for empty LIST.
+ 	* configure:  Regenerate.
+ 
+ 2000-05-24  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* pdp11.h (STACK_BOUNDARY): Define.
+ 
+ 2000-05-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* ifcvt.c (if_convert): Update life info globally.
+ 
+ 2000-05-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* emit-rtl.c (unshare_all_decls): New function.
+ 	(unshare_all_rtl): Call it.
+ 
+ 2000-05-23  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Treat 'strongarm' as if it were 'arm' when
+ 	determining cpu type.
+ 
+ 	* configure: Regenerate.
+ 
+ 	* config/arm/arm.c: Change 'char *' to 'const char *' for cases
+ 	where constant strings are involved.
+ 
+ 	* config/arm/arm.h (arm_condition_codes): Change type to 'const
+ 	char *'.
+ 
+ 	* config/arm/arm-protos.h: Change 'char *' to 'const char *' for
+ 	cases where constant strings are involved.
+ 
+ Tue May 23 15:08:31 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/sh/sh.c (gen_far_branch, split_branches): Update
+ 	to reflect new prototypes for redirect_jump and invert_jump.
+ 	(sh_insn_length_adjustment): Get rid of const warnings.
+ 
+ 2000-05-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* invoke.texi (Options for Debugging Your Program or GCC): Update
+ 	the names of dump files.
+ 
+ Tue May 23 13:58:52 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
+ 	* configure: Regenerated.
+ 
+ 2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* simplify-rtx.c (SIGN_EXTEND): New macro.
+ 	(simplify_unary_operation, simplify_binary_operation,
+ 	simplify_relational_operation): Use SIGN_EXTEND.  Make low
+ 	halves of (low, high) pairs unsigned if they weren't already.
+ 	(simplify_ternary_operation): Cast INTVAL to unsigned before
+ 	comparing to a MODE_BITSIZE.
+ 
+ 2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
+ 	rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
+ 
+ 	* configure.in (gcc_AC_CHECK_DECLS): Call this instead of
+ 	gcc_AC_NEED_DECLARATIONS.
+ 
+ 	* dwarfout.c: Don't prototype time().
+ 
+ 	* gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
+ 
+ 	* system.h: Likewise.
+ 
+ 	* toplev.c: Likewise.
+ 
+ 2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-decl.c (pushdecl): Invert sense of test for non-global types.
+ 
+ Tue May 23 18:11:42 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
+ 
+ 2000-05-23  Jonathan Larmour  <jlarmour@redhat.co.uk>
+ 
+ 	* config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
+ 
+ Tue May 23 06:50:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
+ 	(alpha_start_function): Never write ..ng label if VMS or NT.
+ 	(alpha_align_insns): Remove GP_IN_USE arg.
+ 	Alignment now unsigned.
+ 	(alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
+ 	* config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
+ 	and two define_insn's.
+ 
+ 2000-05-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (simplify_comparison): Use trunc_int_for_mode.
+ 
+ 2000-05-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stor-layout.c (place_field): Change rli->size to rli->offset.
+ 
+ 2000-05-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Make sure
+ 	existing line number notes appear after the prologue.
+ 
+ Mon May 22 21:49:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (alpha_fnname): New static variable.
+ 	(print_operand, case '~'): New case.
+ 	(alpha_expand_prologue): Emit prologue_ldgp insn if needed.
+ 	(alpha_start_function): Set alpha_fnname.
+ 	Write "ng" label if no ldgp; don't write ldgp insn.
+ 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
+ 	* config/alpha/alpha.md (prologue_ldgp): New define_insn.
+ 
+ Mon May 22 11:30:48 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Don't increment LABEL_NUSES
+ 	on deleted labels.
+ 
+ 2000-05-22  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* varasm.c (eh_frame_section): Revert change to argument list.
+ 
+ Mon May 22 13:14:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
+ 	(gen_extend_insn, can_fix_p, can_float_p): Likewise.
+ 
+ 	* final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
+ 	dangling "else" that causes "break" to be conditional.
+ 	Also remove unneeded code at start.
+ 
+ Mon May 22 17:31:35 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
+ 	* fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
+ 	* gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
+ 
+ 2000-05-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
+ 	just one argument.
+ 
+ Mon May 22 06:57:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (record_component_aliases): New function.
+ 	* tree.h: Clean up some declarations and comments.
+ 	(record_component_aliases): New declaration.
+ 	* tree.c (get_alias_set): If type and has alias set, use it.
+ 
+ 2000-05-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* simplify-rtx.c (simplify_ternary_operation): Try to simplify
+ 	IF_THEN_ELSE to a setcc form.
+ 	* jump.c (can_reverse_comparison_p): Be prepared for insn null.
+ 
+ 2000-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/inclhack.def (sun_malloc): Handle `calloc'.
+ 	(sun_malloc, sysz_stdtypes_for_sun): Add test_text.
+ 
+ Sun May 21 16:42:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
+ 	not a PARALLEL.
+ 
+ 2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
+ 	* config/mn10300/mn10300.c (print_operand): Likewise.
+ 
+ 	* final.c (split_double): Right shift of negative values is not
+ 	portable.
+ 
+ 	* ifcvt.c (if_convert): Scan and kill dead code.
+ 
+ 	* emit-rtl.c (unshare_all_rtl): Store the copied rtx.
+ 
+ 2000-05-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* diagnostic.c: Eliminate implicit int.
+ 	* except.c, gcc.c: Add static prototypes.
+ 	* final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
+ 	* gensupport.c (process_rtx): Use XVEC to initialize vector
+ 	slot of 'split'.
+ 
+ 	* print-rtl.c: If DEBUG_REGISTER_NAMES, define static
+ 	debug_reg_names instead of static reg_names.  If not, define
+ 	global reg_names.
+ 	* regclass.c: Don't define global reg_names unless
+ 	DEBUG_REGISTER_NAMES is defined.
+ 
+ 	* reload1.c (order_regs_for_reload): Remove unused variable.
+ 	* varasm.c: Include output.h after defaults.h.  Define
+ 	eh_frame_section as function of no args, not of unspecified args.
+ 
+ 	* gcc.c: Constify argbuf; arguments to store_arg,
+ 	process_command, main; elements of struct command and struct
+ 	switchstr; local variables in execute, process_command, main.
+ 
+ 2000-05-20  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def:  many applications of c_fix=format + tests
+ 	* fixinc/check.diff:  regenerated
+ 	* fixinc/fixincl.x:  regenerated
+ 
+ Sat May 20 09:30:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c: Clarify some comments.
+ 	(record_base_value): REGNO is unsigned.
+ 	* rtl.h (record_base_value): Likewise.
+ 
+ 	* alias.c (aliases_everything_p): Don't special-case QImode here.
+ 	* c-common.c (c_get_alias_set): Do it here.
+ 	Handle BIT_FIELD_REF by getting alias info for arg.
+ 	Use POINTER_TYPE_P.
+ 
+ 2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* mklibgcc.in: Restore rule to create ${dir}.
+ 
+ Sat May 20 08:45:41 2000  H.J. Lu  <hjl@gnu.org>
+ 
+ 	* Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
+ 	GCC_FOR_TARGET used by MULTILIBS.
+ 	* mklibgcc.in: Make sure each .o file depends on the
+ 	directory it will be in.
+ 	Make the multilib directory depends libgcc.
+ 
+ Sat May 20 08:29:28 2000  H.J. Lu  <hjl@gnu.org>
+ 
+ 	* Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
+ 
+ Sat May 20 07:27:35 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* fold-const.c (make_range): Handle degenerated intervals.
+ 	Fixes c-torture/execute/991221-1.c
+ 
+ Fri May 19 18:16:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
+ 	* reload.c (find_equiv_reg): Likewise.
+ 	* alias.c (init_alias_analysis): Likewise.
+ 	Only call prologue_epilogue_contains on insns.
+ 	* basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
+ 	* bb-reorder.c (hard-reg-set.h): Include earlier.
+ 	* haifa-sched.c (hard-reg-set.h): Likewise.
+ 	* ifcvt.c (hard-reg-set.h): Likewise.
+ 	* local-alloc.c (hard-reg-set.h): Likewise.
+ 	* loop.c (hard-reg-set.h): Likewise.
+ 	* predict.c (hard-reg-set.h): Likewise.
+ 	* regrename.c (hard-reg-set.h): Likewise.
+ 	* flow.c (hard-reg-set.h): Likewise.
+ 	(reg_set_to_hard_reg_set): New function.
+ 	* bitmap.c (regs.h, basic-block.h): No longer include.
+ 	(bitmap.h): Now include.
+ 	* conflict.c (hard-reg-set.h): Include.
+ 	* profile.c (hard-reg-set.h): Likewise.
+ 	* print-rtl.c (hard-reg-set.h): Likewise.
+ 	* sbitmap.c (hard-reg-set.h): Likewise.
+ 	* toplev.c (hard-reg-set.h): Likewise.
+ 	* unroll.c (hard-reg-set.h, basic-block.h): Likewise.
+ 	* hard-reg-set.h (reg_names): Now constant.
+ 	* regs.h (reg_names): Likewise.
+ 	* regclass.c (reg_names): Likewise.
+ 	* loop.h (basic-block.h): No longer include.
+ 	(bitmap.h): Now include.
+ 	* reload1.c (order_regs_for_reload): Avoid loop over reg sets.
+ 	* Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
+ 	(toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
+ 
+ 2000-05-19  Jan Hubicka  <jh@suse.cz>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (struct edge_def): New field "count".
+ 	(struct basic_block_def): Likewise.
+ 	* flow.c (entry_exit_blocks): Add count fileds.
+ 	(split_edge): Keep count information up-to-date.
+ 	(dump_edge_info, dump_flow_info): Dump count fields.
+ 
+ 	* final.c (count_instrumented_edges): Rename to edge from arc.
+ 	(end_final): Update users.
+ 	* profile.c: Include expr.h, basic-block.h.
+ 	(struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
+ 	(struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
+ 	(ignore_next_note, return_label_execution_count): Kill.
+ 	(bbg_file_name, da_file_name): Kill.
+ 	(edge_info, bb_info): New structures.
+ 	(EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
+ 	(count_instrumented_edges, total_num_edges): Rename to edge from arc.
+ 	(total_num_edges_instrumented): Likewise.
+ 	(init_arc, expand_spanning_tree): Kill.
+ 	(fill_spanning_tree, tablejump_entry_p): Kill.
+ 	(instrument_edges):  Rewrite from instrument_arcs to use
+ 	commit_edge_insertions infrastructure.
+ 	(compute_branch_probabilities): Remove arguments; rewrite for
+ 	CFG infrastructure; use rtl_dump_file directly.
+ 	(branch_prob, find_spanning_tree): Likewise.
+ 	(union_groups, find_group): New.
+ 	(init_branch_prob): Make bbg_file_name and da_file_name local.
+ 	(end_branch_prob): Use rtl_dump_file directly.
+ 	(init_edge_profiler): Rename to edge from arc.
+ 	(output_arc_profiler): Kill.
+ 	(gen_edge_profiler): New.
+ 	(output_func_start_profiler): Turn off profiling.  Make the
+ 	constructor static when we can.
+ 	* rtl.h (branch_prob, end_branch_prob): Update prototypes.
+ 
+ 	* toplev.c (DFI_flow): Remove.
+ 	(DFI_cfg, DFI_life): New.
+ 	(dump_file): Update accordingly.
+ 	(compile_file): Call end_branch_prob if profile_arc_flag too.
+ 	(rest_of_compilation): Move flow1 cfg creation to DFI_cfg.  Do edge
+ 	profiling after the CFG is built.  Move flow1 life analysis to
+ 	DFI_life.  Always estimate remaining probabilities.
+ 
+ 2000-05-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
+ 
+ 	* flow.c (make_edges): The sibling call edge to exit is abnormal.
+ 
+ 2000-05-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (redirect_jump): Add delete_unused argument.  Don't
+ 	remove labels and code following when LABEL_NUSES goes to zero.
+ 	(invert_jump): Likewise.
+ 	(jump_optimize_1): Fix redirect/invert arguments.
+ 	(do_cross_jump, thread_jumps): Likewise.
+ 	* flow.c (split_edge): Likewise.
+ 	* reorg.c (optimize_skip): Likewise.
+ 	(reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
+ 	* profile.c (instrument_arcs): Likewise.
+ 	* loop.c (find_and_verify_loops): Likewise.  Fix indentation.
+ 	* rtl.h: Update prototypes.
+ 
+ Fri May 19 12:05:13 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* ssa.c (convert_from_ssa): Tell life_analysis we need death
+ 	notes.
+ 	(make_regs_equivalent_over_bad_edges): Only look at abnormal
+ 	critical edges.
+ 
+ 2000-05-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (funlike_macroexpand): Make sure not to walk p1
+ 	past l1 when deleting whitespace and markers.
+ 
+ 	* cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
+ 	* cpplib.c (do_unassert): Put the list to compare against on
+ 	the stack.
+ 
+ 2000-05-19  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/README:  cleaned up old documentation
+ 	* fixinc/check.diff: regenerated & verified on OSR5 on ix86
+ 	* fixinc/check.tpl: compute the list of needed directories
+ 	emit "#if defined(name)" because of conflict
+ 	omit machine name differences from output differences
+ 	* fixinc/inclhack.def( m88k_multi_incl ):  Use `wrap' function
+ 	(machine_name): change test text to use `sed' markers
+ 	* fixinc/fixincl.x: regen
+ 
+ Fri May 19 06:49:35 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
+ 	a CONSTRUCTOR.
+ 
+ 2000-05-18  Chris Demetriou  <cgd@sibyte.com>
+ 
+ 	* gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
+ 	it to match the current practice.
+ 
+ 2000-05-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
+ 
+ 2000-05-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
+ 	* rtl.h (insn_dependant_p): Declare it.
+ 	* loop.c (strength_reduce): Use it.
+ 
+ 2000-05-18  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
+ 	16-bit and 64-bit clean-up.
+ 
+ 2000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* configure.in (*-pc-msdosdjgpp): Set float_format to none.
+ 	* configure: Rebuilt.
+ 
+ 2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* genopinit.c: Use $ for escape sequences in optab patterns.
+ 	Remove backslashes from optab patterns.  Change $A, $B, $C to
+ 	expand to (int) whatever instead of just whatever; remove
+ 	explicit (int) from all optab patterns.
+ 
+ 	* gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
+ 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
+ 	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
+ 	genrecog.c: Remove private copies of xmalloc, xrealloc, and
+ 	xstrdup.
+ 
+ 2000-05-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Base minimum insn count during
+ 	find_cross_jump on BRANCH_COST.
+ 
+ 2000-05-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* print-rtl.c (print_rtx): Only print note line number as string
+ 	if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
+ 	* final.c (final_scan_insn): Do nothing for note line number 0.
+ 
+ 2000-05-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
+ 	from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
+ 	NOTE_INSN_DELETED_LABEL.
+ 
+ 2000-05-18  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
+ 	uninitialized data in .rodata not .bss, and do not interpret an
+ 	error in the initialisation value as meaning that the variable
+ 	should be placed in the .bss section.
+ 
+ Thu May 18 12:10:18 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
+ 	not `$ac_cv_prog_cc_cc_c_o'.
+ 	* configure: Regenerated.
+ 
+ 2000-05-18  Chris Demetriou  <cgd@sibyte.com>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-common.h (enum c_tree_index): Add g77 type entries.
+ 	(g77_integer_type_node, g77_uinteger_type_node): New.
+ 	(g77_longint_type_node, g77_ulongint_type_node): New.
+ 	* c-decl.c (init_decl_processing): Initialize them.
+ 
+ 2000-05-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/h8300/h8300.md (subs patterns): Use %G to negate.
+ 
+ 	* config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
+ 	(small_power_of_two): Likewise; use exact_log2.
+ 	(adds_subs_operand, one_insn_adds_subs_operand): Remove.
+ 	(output_adds_subs): Remove.
+ 	(two_insn_adds_subs_operand): New.
+ 	(split_adds_subs): New.
+ 	* config/h8300/h8300-protos.h: Update.
+ 	* config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
+ 	(CONST_OK_FOR_L): Match strict adds operands.
+ 	(CONST_OK_FOR_N): Match struct subs operands.
+ 	* config/h8300/h8300.md (adds_subs insns): Remove.
+ 	(addhi patterns): Output adds/subs directly.
+ 	(addsi_h8300h): Likewise.
+ 	(addhi/addsi splitters): New.  Decompose two_insn_adds_subs_operand.
+ 
+ 2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c (parse_assertion): New.
+ 	(lex): Call it for CPP_HASH.  Remove CPP_ASSERTION case.
+ 	(_cpp_parse_expr): Remove case '#'.  Don't set
+ 	parsing_if_directive.
+ 	* cpphash.c (collect_objlike_expansion,
+ 	collect_funlike_expansion, collect_params,
+ 	_cpp_create_definition): The list no longer has a trailing
+ 	VSPACE token.
+ 	* cpphash.h (enum node_type): Add T_ASSERTION.
+ 	(struct hashnode): Remove aschain, add pred.
+ 	(struct predicate): New.
+ 	Update prototypes.
+ 
+ 	* cpplex.c (expand_token_space): Handle both offset and
+ 	nonoffset lists.
+ 	(init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
+ 	(_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
+ 	_cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
+ 	_cpp_equiv_toklists): New.
+ 	(_cpp_scan_line): Rename to _cpp_scan_until; add ability to
+ 	stop at any single-character token, not just newline.
+ 	(_cpp_lex_token): Remove special cases for #define and #if.
+ 	(cpp_get_token): Expect # as a separate token type.  Remove
+ 	DIRECTIVE case.
+ 	(_cpp_get_directive_token): Remove DIRECTIVE case.
+ 	(_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
+ 
+ 	* cpplib.c (_cpp_check_directive): Set dirno and
+ 	SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
+ 	(_cpp_handle_directive): Run # <number> through the same logic
+ 	as normal directives.
+ 	(do_define): Don't set parsing_define_directive.  Use
+ 	_cpp_scan_until.  The list does not have a VSPACE at the end.
+ 	(do_if): Save, clear, and restore only_seen_white around
+ 	_cpp_parse_expr.
+ 	(skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
+ 	(do_assert, do_unassert): Rewrite.
+ 
+ 	* cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
+ 	(LIST_OFFSET): New flag.
+ 	(struct cpp_toklist): Replace dir_handler and dir_flags with
+ 	dirno and flags.
+ 	(struct cpp_reader): Remove parsing_if_directive and
+ 	parsing_define_directive.
+ 
+ 2000-05-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/inclhack.def (broken_cabs): Update fix to handle comments
+ 	following the cabs decl which terminate on the following line.
+ 	Add the corresponding test_text case.
+ 
+ 2000-05-18  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (cpp_reader_init): Initialize col_adjust and
+ 	default tab stop size.
+ 	(no_num, OPT_ftabstop): New.
+ 	(handle_option): Handle "ftabstop=" command-line option.
+ 	(print_help): Document it.
+ 	* cpplex.c (COLUMN): Remove.
+ 	(handle_newline): Reset col_adjust.
+ 	(skip_whitespace): Update col_adjust as tabs encountered.
+ 	(_cpp_lex_line): Update to use col_adjust.  Call
+ 	skip_whitespace for all whitespace.
+ 	* cpplib.h (struct cpp_options): New member tabstop.
+ 	(struct cpp_reader): New member col_adjust.
+ 	(CPP_BUF_COL): Update.
+ 	(CPP_BUF_COLUMN): New.
+ 	* cpp.texi: Document "-ftabstop=" command line option.
+ 
+ Wed May 17 18:19:41 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
+ 	files.
+ 	* configure: Rebuilt.
+ 
+ Wed May 17 18:06:12 2000  John David Anglin <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
+ 
+ 	* tree.c (build_common_tree_nodes): Do not build TI nodes unless
+ 	HOST_BITS_PER_WIDE_INT is >= 64.
+ 
+ 2000-05-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Remove inactive but real insns
+ 	in jump-to-next-insn optimization.
+ 
+ 2000-05-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Don't call optimize_mode_switching
+ 	unless OPTIMIZE_MODE_SWITCHING.  Conditionally set no_new_pseudos.
+ 	Don't call recompute_reg_usage if no_new_pseudos is true.
+ 	* lcm.c (optimize_mode_switching): Move ifdefs outside function.
+ 	Return true if we did work; update global life information.
+ 	* basic-block.h (optimize_mode_switching): Update decl.
+ 
+ 2000-05-17  Neil Booth  <neilb@earthling.net>
+ 
+ 	* cpplex.c (expand_name_space): Don't use ptrdiff_t.
+ 
+ 2000-05-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c: New feature, #pragma system_header.
+ 	* cpp.texi: Document special treatment of system headers, and
+ 	the various mechanisms to get a header that special treatment.
+ 
+ 2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (offsetof): Define at the very end, to ensure we prefer
+ 	the platform's definition if available.
+ 
+ 2000-05-16  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
+ 	* fixinc/server.c: likewise
+ 	* fixinc/fixfixes.c( char_macro_def_fix ): fix regex
+ 	+ #ifdef debugging code + use #def constant for
+ 	sub-pattern count
+ 	* fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
+ 	on C++ math namespace
+ 
+ 2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
+ 	Don't check the return value of sprintf.  Use asprintf to avoid
+ 	buffer overflows.
+ 
+ Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
+ 
+ 	* flags.h (warn_unused_function, warn_unused_label,
+ 	warn_unused_parameter, warn_unused_variable, warn_unused_value):
+ 	Replace ``warn_unused''.
+ 	(set_Wunused): Add declaration.
+ 	* toplev.c (set_Wunused): New function.
+ 	(warn_unused_function, warn_unused_label, warn_unused_parameter,
+ 	warn_unused_variable, warn_unused_value): New variables.
+ 	(W_options): Add -Wunused-function, -Wunused-function,
+ 	-Wunused-label, -Wunused-parameter, -Wunused-variable and
+ 	-Wunused-value.  Delete -Wunused.  Handled in decode_W_option.
+ 
+ 	* toplev.c (decode_W_option): Update -Wunused flags by calling
+ 	set_Wunused.
+ 	* c-decl.c (c_decode_option): Ditto for -Wall.
+ 
+ 	* stmt.c (expand_expr_stmt, expand_expr_stmt,
+ 	warn_about_unused_variables): Replace warn_unused with more
+ 	explicit warn_unused_value et.al.
+ 	* function.c (expand_function_end): Ditto.
+ 	* c-typeck.c (internal_build_compound_expr,
+ 	internal_build_compound_expr): Ditto.
+ 	* c-decl.c (poplevel, pop_label_level): Ditto.
+ 	* toplev.c (check_global_declarations): Replace warn_unused with
+ 	check for either warn_unused_function or warn_unused_variable.
+ 
+ 	* gcc.1, invoke.texi (Warning Options): Document
+ 	-Wunused-function, -Wunused-function, -Wunused-label,
+ 	-Wunused-parameter, -Wunused-variable and -Wunused-value options.
+ 
+ Wed May 17 10:28:12 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
+ 	$(srcdir), not in the current directory.
+ 
+ 2000-05-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
+ 	assembler supports it.
+ 	(.fini, .init): Use a gp-relative indirect call.
+ 	(__do_global_dtors_aux): Preserve the gp; rebundle.
+ 	(__do_frame_setup): Likewise.
+ 	* config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
+ 	(.init): Use a gp-relative indirect call.
+ 	(__do_global_ctors_aux): Preserve the gp.
+ 
+ 2000-05-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (commit_one_edge_insertion): Be prepared for a return
+ 	insn to be inserted on the edge with a normal jump.
+ 	* jump.c (jump_optimize_1): Don't look to create return isns.
+ 
+ 	* flow.c (flow_delete_insn): Don't adjust reference count of notes.
+ 	* jump.c (jump_optimize_1): Likewise.
+ 	(returnjump_p): Verify the argument is a JUMP_INSN.
+ 	* rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
+ 
+ 2000-05-16  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
+ 	GET_RTX_CLASS (GET_CODE ()) == 'i'.
+ 	(large_insn_p): Ditto.
+ 	(m32r_is_insn): New function: Return true if the insn contains
+ 	an executable instruction.
+ 	(m32r_adjust_insn): Use m32r_is_insn.
+ 	(m32r_sched_reorder): Use m32r_is_insn.
+ 	(m32r_sched_variable_issue): Use m32r_is_insn.
+ 
+ 2000-05-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
+ 	VAR_DECL.
+ 
+ 	* rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
+ 
+ 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
+ 	according to given options.
+ 
+ Tue May 16 12:17:31 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
+ 	if X has VOIDmode either.
+ 	(LIMIT_RELOAD_CLASS): Similarly.
+ 
+ 	* mn10200.md (indirect_jump, tablejump): Use "register_operand",
+ 	not "general_operand" to match the processor's capabilities.
+ 
+ 2000-05-16  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/README:  corrected return address
+ 	* fixinc/check.diff:  regenerate, now that test works
+ 	* fixinc/fixfixes.c(format_fix,format_write): reformatted
+ 	(char_macro_def_fix,char_macro_use_fix): corrected and
+ 	rewrote to use regex to parse the text
+ 	* fixinc/inclhack.def: more testing
+ 	* fixinc/fixincl.x:  regenerated
+ 
+ 	* fixinc/inclhack.def: added several "test_text" attributes
+ 	changed several fixes to use `c_fix = format'
+ 	re-alphabetized the fixes
+ 
+ 	* fixinc/check.diff: regenerate
+ 	* fixinc/fixincl.x: regenerate
+ 	* fixinc/check.tpl: added `sparc' and `netinet' to the list
+ 	of created dirs
+ 
+ 
+ 2000-05-16  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
+ 
+ 2000-05-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Run full jump pass before
+ 	find_basic_blocks of flow2.
+ 
+ 2000-05-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c: Fix typos and clarify commentary from last change.
+ 	(any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
+ 	(safe_to_remove_jump_p): Remove.
+ 	(condjump_label): Use pc_set.
+ 
+ 2000-05-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
+ 	that get in the way after reload.
+ 	(cond_exec_process_if_block): Skip a label heading THEN block.
+ 
+ 2000-05-15  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* varasm.c (output_constant_pool): Abort instead of converting
+ 	(improperly) deleted labels to zero.
+ 
+ 2000-05-16  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (parse_string2): Update comment.
+ 	(cpp_lex_line): No special assertion treatment for '('.
+ 	* cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
+ 	* cpplib.h (SYNTAX_ASSERT): Remove.
+ 
+ Mon May 15 21:45:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (condjump_p):  Mark as depreached.
+ 	(any_condump_p): New.
+ 	(any_uncondump_p): New.
+ 	(pc_set): New.
+ 	(safe_to_remove_jump_p): New.
+ 	* rtl.h (any_condump_p, any_uncondjump_p, pc_set
+ 	safe_to_remove_jump_p): Declare.
+ 
+ Mon May 15 21:07:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c: Re-install both patches reverted by last patch.
+ 	(struct arg_data): New field tail_call_reg.
+ 	(initialize_argument_information): Initialize tail_call_reg
+ 	(load_register_parameters): New argument flags, use
+ 	tail_call_reg when emiting tail call sequence.
+ 	(expand_call): Update call of load_register_parameters;
+ 	copy unadjusted_args_size to adjusted_args_size.
+ 
+ Mon May 15 19:01:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
+ 	and bct_p parameters to flags.
+ 	* loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
+ 	* rtl.h (loop_optimize): Update prototype.
+ 	* toplev.c (rest_of_compilation): Update call of loop_optimize.
+ 
+ 2000-05-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* calls.c (expand_call): Move expand_start_target_temps call after
+ 	start_sequence().
+ 
+ 2000-05-15  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.c (trad_stringify, warn_trad_stringify,
+ 	collect_params): Make some pointers pointers to const.
+ 	* cpplex.c (auto_expand_name_space) Guaranteed to always
+ 	expand by at least one character.
+ 	(SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
+ 	(struct token_spelling): Use const U_CHAR * rather than PTR.
+ 	(expand_name_space): Fix up token pointers if name space
+ 	is moved when expanding.
+ 	(INIT_NAME, cpp_scan_line, parse_name, parse_number,
+ 	parse_string2, save_comment, spell_token, cpp_output_list):
+ 	Update so the routines handle tokens with a direct pointer to
+ 	their text, rather than an offset into the token's list's namebuf.
+ 	(_cpp_lex_line): Rearrange for clarity.
+ 
+ 	* cpplib.c (_cpp_check_directive): Similarly.
+ 	(do_define): Make SYM a pointer to const.
+ 	* cpplib.h (struct cpp_name): Replace offset with direct pointer.
+ 	(CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
+ 	(TOK_OFFSET): Delete.
+ 	(TOK_NAME): Update.
+ 
+ 2000-05-14  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
+ 	64-bit ABI.
+ 
+ 	* config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
+ 	into account.
+ 	(logical_u_operand): Delete.
+ 	(non_logical_cint_operand): Rewrite to take MODE into account.
+ 	(non_logical_u_cint_operand): Delete.
+ 	(boolean_operator): New function.
+ 	(print_operand): Add new %q operand.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
+ 	remove logical_u_operand and non_logical_u_cint_operand,
+ 	update logical_operand and non_logical_cint_operand.
+ 	* config/rs6000/rs6000.md: Rewrite the patterns for performing
+ 	logical operations to use %q.
+ 
+ 	* config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
+ 	(movdi): Make similar to movsi.
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
+ 	is no such thing as a DImode CONST_DOUBLE.
+ 	* config/rs6000/rs6000.c (output_toc): Likewise.
+ 
+ 	* config/rs6000/rs6000.c (output_cbranch): Don't output prediction
+ 	codes when old mnemonics are in use.  Print register names
+ 	for cc registers when requested.
+ 
+ 	* optabs.c (expand_float): Don't allow mode widening that causes
+ 	double rounding.
+ 
+ 	* invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
+ 	flags to their current names -maix64 and -maix32.
+ 
+ 2000-05-14  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
+ 	and/or after current text of file
+ 	* fixinc/fixlib.c(must_malloc):
+ 	* fixinc/fixlib.h(must_malloc): + reformatting
+ 	* fixinc/inclhack.def: replace the "1i" and "$a" sed commands
+ 	with usages of ``c_fix = wrap;''
+ 	Add several tests and use the ``c_fix = format'' fixer more.
+ 	* fixinc/fixincl.x: regen
+ 	* fixinc/check.diff: regen
+ 	* fixinc/check.tpl: emit the associated header with the missing
+ 	test message
+ 
+ Sun May 14 17:58:59 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
+ 	variables $src and $dst.
+ 
+ 2000-05-13  Gabriel Dos Reis <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
+ 	(DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
+ 	(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
+ 	(struct output_buffer: emitted_prefix_p, prefixing_rule): New
+ 	fields.
+ 	(set_message_prefixing_rule): Declare.
+ 
+ 	* diagnostic.c: (current_prefixing_rule): New variable.
+ 	(set_message_prefixing_rule): Define.
+ 	(output_set_prefix): Adjust buffer->emitted_prefix_p.
+ 	(init_output_buffer): Adjust Initialization.
+ 	(output_emit_prefix): Rewrite.  Take prefixing rules into account.
+ 
+ Sat May 13 11:05:47 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* ifcvt.c (if_convert): Do not free NULL.
+ 
+ 2000-05-12  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* gthr-dce.h: Add support for libobjc.
+ 	* gthr-posix.h: Likewise.
+ 	* gthr-solaris.h: Likewise.
+ 	* gthr-vxworks.h: Likewise.
+ 	* gthr-single.h: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 
+ 2000-05-12  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fr30/fr30.c (fr30_move_double): New function:  Emit code
+ 	to move a double word value.
+ 	(di_operand): New function: Return true if the operand is suitbale
+ 	for a double word move operation.
+ 	(nonimmediate_di_operand): New function: Return true if the
+ 	operand is a DImode register or MEM.
+ 
+ 	* config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
+ 	nonimmediate_di_operand.
+ 
+ 	* config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
+ 	nonimmediate_di_operand.
+ 
+ 	* config/fr30/fr30.md (movdi): New pattern.  Required because
+ 	other patterns generate DImode results.
+ 	(movdi_insn): New pattern.
+ 
+ 2000-05-12  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (struct shadow_summary): Define
+ 	bitfields as type unsigned int.
+ 
+ Sat May 13 00:09:59 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/t-avr: Added definition of FLOAT while generates
+ 	fp-bit.c
+ 
+ 	* config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
+ 	peepholes for tst+jump = sbrs/sbrc optimization.
+ 
+ Fry May 12 20:03:00 CEST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (emit_push_insn): Do not adjust stack pointer when
+ 	preallocating.
+ 
+ Fri May 12 19:03:58 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* ggc-simple.c (offsetof): Macro fallback definition moved from here ..
+ 	* system.h (offsetof): ... to here.
+ 
+ 2000-05-12  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
+ 	* final.c (final_end_function): Use app_disable.  Rearrange note
+ 	handling into a switch.  Emit deleted labels.
+ 	(output_asm_label): Generate label strings for deleted labels.
+ 	* flow.c (tail_recursion_label_list): New.
+ 	(find_basic_blocks_1): Set label_value_list directly.  Collect list
+ 	of tail recursion labels from call_placeholders.  Don't add deleted
+ 	labels to the label value list.
+ 	(cleanup_cfg): Use free_EXPR_LIST_list.
+ 	(flow_delete_insn_chain): Turn non-removable labels into notes.
+ 	(flow_delete_block): Don't disable deleting the block because of
+ 	a non-removable label.
+ 	(tail_recursion_label_p): New.
+ 	(merge_blocks_move_predecessor_nojumps): Don't disable the merge
+ 	because of a label.
+ 	(merge_blocks_move_successor_nojumps): Likewise.  Also move a
+ 	jump table.
+ 	(merge_blocks): Disable a merge because of tail recursion labels.
+ 	* ifcvt.c (merge_if_block): Don't disable a merge because of a label.
+ 	Use a more accurate measure of not merging the join block.
+ 	(find_if_block): Don't disable conversion because of a label.
+ 	(find_if_case_1, find_if_case_2): Likewise.
+ 	* jump.c (duplicate_loop_exit_test): Preserve the kind of list
+ 	element when copying.
+ 	(squeeze_notes): Also leave EH notes.
+ 	(mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
+ 	REG_LABEL notes.
+ 	(delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
+ 	deleting a label.
+ 	* print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
+ 	NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
+ 	referring to a deleted label.  Convert tail handling to a switch.
+ 	* rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
+ 	for NOTE_INSN_DELETED_LABEL.
+ 	(NOTE): Fix commentary.
+ 	* rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
+ 	(REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
+ 	(CODE_LABEL_NUMBER, LABEL_NAME): Update index.
+ 	(LABEL_NUSES, LABEL_REFS): Likewise.
+ 	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
+ 
+ 2000-05-12  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c(format_write): buglet & relaxed rules
+ 	* fixinc/check.diff: updated
+ 	* fixinc/inclhack.def: corrected & added some test_text-s
+ 	* fixinc/genfixes: removed unneeded options to autogen invocation
+ 	* fixinc/fixincl.tpl: Specified the output file
+ 	* fixinc/fixfixes.c: visual appearance
+ 	* fixinc/fixincl.x: regenerate
+ 
+ 2000-05-12  Zack Weinberg <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
+ 	CTRL_defn_fix): Delete.
+ 	(fix_char_macro_defines, fix_char_macro_uses): Rename to
+ 	char_macro_def_fix and char_macro_use_fix, respectively.  Put
+ 	them into the FIXUP_TABLE.  Get the string to search for from
+ 	a c_fix_arg.
+ 
+ 	(format_write): New function.
+ 	(format_fix): Use it.
+ 
+ 	(FIX_PROC_HEAD): Constify text parameter.
+ 	(machine_name_fix): Constify all char *s.
+ 	* fixtests.c (skip_quote): Remove double static.
+ 
+ 	* inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
+ 	ctrl_use_quotes): Update for new scheme.
+ 	* fixincl.x: Regenerate.
+ 
+ 2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
+ 	DWARF2_DEBUG.
+ 	(DWARF2_ASM_LINE_DEBUG_INFO): Define.
+ 	(ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+ 
+ 2000-05-11  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
+ 	* fixincl.x: Regenerate.
+ 
+ 2000-05-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c: Revert both 05-09 patches.
+ 
+ 2000-05-11  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.c (print_operand): Print FP constants in
+ 	hexadecimal.
+ 	* config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
+ 	for FP values.
+ 
+ 	* mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
+ 	and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
+ 
+ 2000-05-11  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
+ 
+ 2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
+ 
+ Thu May 11 22:28:05 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
+ 	* config/avr/avr.c (jump_over_one_insn_p): New function.
+ 	* config/avr/avr.md: New peepholes added. Output test and
+ 	conditional jump to "sbrc" or "sbrs" command.
+ 
+ 2000-05-11  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* cppmain.c (main): Use IS_DIR_SEPARATOR.
+ 
+ 2000-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* except.c (find_exception_handler_labels_1): New function.
+ 	(find_exception_handler_labels): Split into two functions, dive
+ 	into CALL_PLACEHOLDERs when looking for exception handler labels.
+ 
+ 2000-05-11 Stan Cox <scox@cygnus.com>
+ 
+ 	* regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
+ 	* timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
+ 	* toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
+ 
+ 2000-05-11  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c (double_slash_fix):  obsolete
+ 	(else_endif_label_fix): obsolete
+ 	(format_fix):  new, unused as yet
+ 	(main): obsolete
+ 	* fixinc/fixlib.h: added fix description struct for use by format_fix
+ 	* fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
+ 	* fixinc/Makefile.in:  compile fixfixes.c and fixtests.c as separate
+ 	modules.  Removed the vestiges of the script version.
+ 	Added support for "make check".
+ 	* fixinc/check.diff: base diff file (needs work!!)
+ 	* fixinc/check.tpl: quiet the fixup output
+ 	* fixinc/fixtests.c (main): obsolete
+ 	* fixinc/fixincl.sh:  don't bother copying fixincl to ..
+ 	* fixinc/fixincl.tpl:  provide for arguments to c_fix routines
+ 
+ Thu May 11 11:57:02 MET DST 2000  Jan Hubicka <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Remove dead code after
+ 	combine.
+ 
+ 2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (collect_funlike_expansion): Make "# is not
+ 	followed by a macro argument name" a pedwarn, not an error.
+ 	Preserve the # in the output.  Suppress the warning if lang_asm.
+ 
+ Thu May 11 01:19:31 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
+ 	* configure: Rebuilt.
+ 
+ 2000-05-10 Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
+ 
+ 2000-05-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c (try_combine): Fix a typo.
+ 
+ Wed May 10 21:31:44 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (insv): Add comment.
+ 
+ 2000-05-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
+ 	* mklibgcc.in: Rewrite to not use functions.  Don't shortcut
+ 	dependencies on FPBIT and DPBIT.
+ 
+ 2000-05-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
+ 	when optimising for size.
+ 	(mark_used_regs:) Ditto.
+ 	(try_pre_increment_1): Ditto.
+ 
+ 2000-05-10  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
+ 	Make error message friendlier.
+ 
+ 	* cpphash.h (struct hashnode): Use struct hack for name
+ 	member.
+ 	* cpphash.c (struct hashdummy): New.
+ 	(eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
+ 	(make_HASHNODE): No need to set ->name pointer.  Correct
+ 	setting of p.
+ 	(cpp_lookup): Make 'dummy' a struct hashdummy.  Tidy up a bit.
+ 
+ 2000-05-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks_1): Remove any spare bb_note
+ 	after completion.
+ 
+ 2000-05-10  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/gnu-regex.c:  reg_syntax_t re_syntax_options must be static
+ 
+ 2000-05-10  Eric Schweitz  <schweitz@nortelnetworks.com>
+ 
+ 	* dwarfout.c (dwarfout_finish): Call retry_incomplete_types
+ 	after we enter .debug.
+ 
+ 2000-05-10  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
+ 	abstract instance of a nested inline function.
+ 
+ 	* stor-layout.c (finish_record_layout): finalize_type_size
+ 	before laying out the pending_statics.
+ 
+ Wed 10 May 09:36:47 2000  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (spell_token): New function.
+ 	(spell_string, spell_comment, spell_name): fold into
+ 	spell_token.
+ 	(I, S): Add macros.
+ 	(E, H): Remove macros.
+ 	(save_comment): Save comment opening characters too.
+ 	(_cpp_lex_file): Update to use spell_token.  Tidy up comment
+ 	handling.
+ 	* cpplib.h (I, S): Add macros.
+ 	(E, H): Remove macros.
+ 	(TTYPE_TABLE): Update entries for new speller.
+ 	(SYNTAX_ASSERT): Remove.
+ 
+ Wed 10 May 09:08:30 2000  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
+ 	when removing escaped newlines.  Reverse sense of test for
+ 	escaped newline.
+ 
+ 2000-05-09  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks_1): Do not delete the first
+ 	bb_note we run across.
+ 	(create_basic_block): Use reorder_insns to move an existing
+ 	bb_note to the correct place.
+ 
+ 2000-05-09  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (expand_call): Increment currently_expanding_call
+ 	before calling optimize_tail_recursion.
+ 
+ Tue May  9 18:54:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload1.c (reload_combine): Fix errors in last change.
+ 
+ 2000-05-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* gcc.c (used_arg): Skip over a semicolon at the end of the
+ 	split-up loop; don't break out of it.
+ 
+ 	* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
+ 	(tree.o): Depend on output.h.
+ 
+ 	* c-decl.c (pending_invalid_xref_file,
+ 	current_function_prototype_file): Constify.
+ 	(pushdecl): Constify a local char *.
+ 	(define_label): Constify filename parameter.
+ 	* c-lex.c (init_parse): Constify parameter and return value.
+ 	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
+ 	* c-tree.h: Update prototypes.
+ 	* c-parse.in: Constify filename member of %union, and if_stmt_file.
+ 	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
+ 	objc/objc-parse.c: Regenerate.
+ 
+ 	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
+ 	* dwarfout.h: Update prototypes.
+ 	* expr.c (expand_expr): Constify a local char *.
+ 	* flags.h: Constify main_input_filename.
+ 	* function.c (expand_function_end): Constify filename parameter.
+ 	* genrecog.c (make_insn_sequence): Use a character array for
+ 	c_test_pos.
+ 	(main): Remove unused variables.
+ 	* input.h: Constify input_filename, main_input_filename, and
+ 	file_stack.name.  Update prototypes.
+ 	* output.h: Declare first_global_object_name and
+ 	weak_global_object_name here, as const char *.
+ 	* stmt.c (expand_asm_operands): Constify filename parameter.
+ 	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
+ 	Constify filename parameter.
+ 	(input_filename, main_input_filename): Constify.
+ 	* toplev.h: Update prototypes.
+ 	* tree.c: Include output.h.  Don't declare
+ 	first_global_object_name or weak_global_object_name.  Clean up string
+ 	bashing in get_file_function_name_long.
+ 	* tree.h (struct tree_decl): Constify filename member.
+ 	(input_filename): Constify.
+ 	Update prototypes.
+ 	* varasm.c (first_global_object_name, weak_global_object_name):
+ 	Constify.
+ 	(assemble_start_function, assemble_variable): Clean up string bashing.
+ 
+ 	* gcc.c: Constify all spec-related strings initialized,
+ 	transitively, from string constants.  Constify all strings
+ 	and string variables related to multilibs.
+ 	(set_spec, read_specs): Cast argument to free to PTR.
+ 	(used_arg): Do not modify multilib_matches.  Use strncmp plus
+ 	length comparison to compare multilib switches.
+ 	* genmultilib: Constify everything declared in multilib.h.
+ 
+ Tue May  9 22:28:03 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
+ 	as deleted.
+ 
+ Tue May  9 20:52:43 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr-protos.h (extra_constraint): change a type of
+ 	second argument from char to int to avoid warnings.
+ 	(asm_output_byte): Likewise.
+ 
+ 	* config/avr/avr.c (MAX_LD_OFFSET) New macro.
+ 	(initial_elimination_offset): Handle elimination from
+ 	FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
+ 	(legitimate_address_p): Use MAX_LD_OFFSET.
+ 	(legitimize_address): Likewise.
+ 	(out_movqi_r_mr): Likewise.
+ 	(out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
+ 	(out_movsi_r_mr): Use MAX_LD_OFFSET.
+ 	(out_movsi_mr_r): Likewise.
+ 	(out_movqi_mr_r): Likewise.
+ 	(out_movhi_mr_r): Likewise.
+ 	(notice_update_cc): Correct CC for the ashrqi3 with the shift
+ 	count as CONST_INT != 6.
+ 	(ashlqi3_out): Coding style modifications. Run `fatal_insn' if
+ 	shift count is a CONSTANT_P, but not a CONST_INT.
+ 	(ashlhi3_out): Coding style modifications.
+ 	(ashlsi3_out): Likewise.
+ 	(ashrhi3_out): Likewise.
+ 	(ashrsi3_out): Likewise.
+ 	(lshrhi3_out): Likewise.
+ 	(lshrsi3_out): Likewise.
+ 	(ashrqi3_out): Generate shift for any known constant count without
+ 	scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
+ 	but not a CONST_INT.
+ 	(lshrqi3_out): Coding style modifications. Run `fatal_insn' if
+ 	shift count is a CONSTANT_P, but not a CONST_INT.
+ 	(extra_constraint): change a type of
+ 	second argument from char to int to avoid warnings.
+ 	(asm_output_byte): Likewise.
+ 	(asm_file_end): Output size generated commands count as a hex
+ 	number too.
+ 
+ 	* config/avr/avr.h (RETURN_ADDR_RTX): New macro.
+ 
+ 	* config/avr/avr.md (addhi3): Fragment commented by &&0 is
+ 	removed.
+ 	(ashlqi3): Values of "length" attribute changed. Shift count
+ 	uses constraints 'n' instead of 'i'.
+ 	(ashrqi3): Likewise. Values of "cc" attribute changed. Generate
+ 	shifts without clobber register.
+ 	(lshrqi3): Shift count uses constraints 'n' instead of 'i'.
+ 	(call_insn): Correct test for which_alternative == 1 (was 0).
+ 	(call_value_insn): Likewise.
+ 
+ 	* config/avr/t-avr: Remove definition of FLOAT while generates
+ 	fp-bit.c
+ 
+ 2000-05-09  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/check.tpl:  Template for checking fixes
+ 	* fixinc/inclhack.def:  Added 'test_text' for many fixes
+ 	disable hpux8_bogus_inlines on SCO
+ 	* fixinc/fixinc.sco:  Oh, yes, we don't need this any more.
+ 
+ Tue May  9 16:30:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Reorganize somewhat in order
+ 	to avoid unnecesary recalculation inside loop and make
+ 	tail call failure code cleaner.
+ 
+ Tue May  9 06:30:20 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (nonlocal_reference_p): Minor reformatting.
+ 	* reload.c (find_equiv_reg): Simplify logic for
+ 	CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
+ 	some some reformatting.
+ 	* reload1.c (reload_combine): Don't assume everything in
+ 	CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
+ 
+ 2000-05-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* final.c (current_insn_predicate): New.
+ 	(final_scan_insn): Set it.
+ 	* output.h (current_insn_predicate): Declare.
+ 
+ 	* ifcvt.c (cond_exec_process_insns): New argument prob_val.
+ 	Attach it to call insns.
+ 	(cond_exec_process_if_block): Track probability for true and
+ 	false branches.
+ 	(dead_or_predicable): Likewise.
+ 
+ 	* predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
+ 	(PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
+ 	(PROB_VERY_LIKELY, PROB_ALWAYS): New.
+ 	(estimate_probability, expected_value_to_br_prob): Use them.
+ 
+ 	* config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
+ 	* config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
+ 	(ia64_expand_prediction): New.
+ 	(emit_insn_group_barriers): Don't look at notes.  Emit barriers
+ 	as needed after calls.
+ 	(ia64_epilogue_uses): Mark b0 used.
+ 	* config/ia64/ia64.md (beq_true, beq_false): Remove.
+ 	(bne_true, bne_false): Remove.
+ 	(eq_return, eq_not_return, ne_return, ne_not_return): Remove.
+ 	(br_true, br_false): New.  Use predicate_operator and
+ 	ia64_expand_prediction.
+ 	(return_true, return_false): Likewise.
+ 	(call_internal): Use ia64_expand_prediction.  Don't emit stop bit.
+ 	(call_internal1, call_value_internal): Likewise.
+ 	(call_value_internal1, call_multiple_values_internal1): Likewise.
+ 
+ 	* config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
+ 
+ 	* config/ia64/ia64.md (extendsfdf2): Split only after reload.
+ 
+ 2000-05-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (may_trap_p): Consider old-style and volatile
+ 	asms to trap.
+ 
+ Mon May  8 17:16:48 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
+ 
+ 2000-05-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (predicate_operator): Declare.
+ 
+ 	* config/ia64/ia64.md (extendsfdf2): Split the nop case out
+ 	of existence.
+ 
+ 	* gensupport.c (process_rtx): Copy and post-process each member
+ 	of the define_insn rtvec individually.
+ 
+ Mon  8 May 22:17:35 2000  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (spell_token): New function.
+ 	(TOKEN_LEN): Add 1 for whitespace.
+ 	(_cpp_lex_file): Update to use spell_token.
+ 	* cpplib.h (E): Remove.
+ 	(TTYPE_TABLE): Update CPP_VSPACE entry.
+ 
+ 2000-05-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (init_propagate_block_info): Watch out for conditional
+ 	branch to next instruction, and thus one outgoing edge.
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Exit early
+ 	for global register variables; don't special case __[CD]TOR_LIST__;
+ 	mind ggc_p for string allocation.
+ 
+ 2000-05-08  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
+ 
+ 2000-05-08  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh:  fixinc.sco is no longer used
+ 	i?86-*-msdosdjgpp* no longer uses fixincludes
+ 	* fixinc/genfixes:  inclhack.sh and fixincl.sh are no longer generated
+ 	* fixinc/inclhack.sh:  deleted
+ 	* fixinc/hackshell.tpl:  deleted
+ 	* fixinc/inclhack.tpl:  deleted
+ 	* fixinc/Makefile.in:  Remove dependencies on above
+ 	* fixinc/fixincl.sh:  "DO NOT EDIT" text modified
+ 
+ 2000-05-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
+ 	support.
+ 
+ 2000-05-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
+ 	substitutions.
+ 
+ Sun  7 May 08:43:53 2000  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c: Move new lexer definitions and prototypes
+ 	to top.  Conditional include these and the code if
+ 	NEW_LEXER is defined.  Rename functions whose names
+ 	clash if this code included.
+ 
+ Sun May  7 00:54:57 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* rtl.def (COND_EXEC): Clarify.
+ 
+ 	* i386.md (extendsidi2): Clobber (reg:CC 17) in the
+ 	same fashion as zero_extendsidi2.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (predicate_operator): New.
+ 	(ia64_print_operand): Handle 'J'.
+ 	(rtx_needs_barrier): Handle COND_EXEC.
+ 	* config/ia64/ia64.h (BRANCH_COST): Define.
+ 	(PREDICATE_CODES): Update.
+ 	* config/ia64/ia64.md: Document used unspec values.
+ 	(attr predicable): New.
+ 	(movxf, movxf_internal): New.
+ 	(extendsfdf2): Don't comment out nop.
+ 	(floatdidf2): Remove.
+ 	(truncxfsf2, truncxfdf2, floatdixf2): New.
+ 	(abssi2, absdi2): Put the neg in the "true" slot.
+ 	(conditional branch instructions): Mark not predicable.
+ 	(cmov*_internal): Use predicate_operator.  Split to cond_exec.
+ 	(abs*_internal): Likewise.
+ 	(alloc, set_bsp): Mark not predicable.
+ 	(barrier, insn_group_barrier, flush_cache): Likewise.
+ 	(define_cond_exec): New.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-decl.c: Include "tm_p.h".
+ 
+ 	* config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
+ 	(fetchadd_operand, ia64_expand_fetch_and_op): Declare.
+ 	(ia64_expand_op_and_fetch): Declare.
+ 	* config/ia64/ia64.c: Include "toplev.h".  Kill trailing whitespace.
+ 	(setjmp_operand): Constify variables for XSTR.
+ 	(ia64_encode_section_info): Likewise.
+ 	(ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
+ 	values to int.
+ 	(ia64_asm_output_external): Constify name.
+ 	(process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
+ 	(process_for_unwind_directive): Provide switch default.
+ 	(ia64_expand_compare_and_swap): Remove unused variables.
+ 	(ia64_expand_builtin): Likewise.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
+ 	for printing.
+ 
+ 	* config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
+ 	(symbolic_operand, function_operand, setjmp_operand): Likewise.
+ 	(shift_count_operand, shift_32bit_count_operand): Likewise.
+ 	(shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
+ 	(ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
+ 	(ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
+ 	(ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
+ 	(ia64_expand_builtin): Likewise.
+ 	(call_multiple_values_operation): Make dest_regno unsigned.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.def (DEFINE_COND_EXEC): New.
+ 	* md.texi: Document it.
+ 
+ 	* gensupport.c (input_file): Remove.
+ 	(struct queue_elem): Add lineno.
+ 	(rtx_ready_queue): Remove.
+ 	(errors): New.
+ 	(predicable_default): New.
+ 	(predicable_true, predicable_false): New.
+ 	(define_attr_queue, define_attr_tail): New.
+ 	(define_insn_queue, define_insn_tail): New.
+ 	(define_cond_exec_queue, define_cond_exec_tail): New.
+ 	(other_queue, other_tail): New.
+ 	(queue_pattern): New.
+ 	(process_rtx): Add patterns to the appropriate queues.
+ 	(is_predicable, identify_predicable_attribute): New.
+ 	(n_alternatives, collect_insn_data): New.
+ 	(alter_predicate_for_insn, alter_test_for_insn): New.
+ 	(shift_output_template, alter_output_for_insn): New.
+ 	(process_one_cond_exec, process_define_cond_exec): New.
+ 	(init_md_reader): Read the entire file.  Process define_cond_exec.
+ 	(read_md_rtx): Return elements from the queues.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_set_1): Don't update conditional life info
+ 	if the register is not_dead.
+ 
+ 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
+ 	(mostlyclean): Also delete fixincl, fixinc.sh, and
+ 	specs.ready, and make clean in the fixinc subdir.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (gensupport.o): Compile for the host.
+ 	(host-prefix gensuuprt.o): Remove.
+ 	(genflags.o): Depend on gensupport.h and OBSTACK_H.
+ 	(genattrtab.o): Likewise.
+ 	(gencodes.o): Depend on gensupport.h.
+ 	(genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
+ 	(genpeep.o, genattr.o, genoutput.o): Likewise.
+ 
+ 	* gensupport.c (obstack, rtl_obstack): New.
+ 	(init_md_reader): Initialize rtl_obstack.
+ 	* gensupport.h (rtl_obstack): Declare.
+ 	(message_with_line): Declare.
+ 
+ 	* genattr.c: Remove all traces of obstack manipulation.
+ 	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
+ 	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
+ 
+ 	* genattrtab.c (obstack, rtl_obstack): Remove.
+ 	(main): Don't init rtl_obstack.
+ 	* genflags.c: Likewise.
+ 
+ 	* genrecog.c (message_with_line): Move ...
+ 	* gensupport.c: ... here.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (build_c_cast): Remove dead code.
+ 
+ 2000-05-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (split_edge): Don't allocate global_live_at_start for
+ 	the new block unless the old blocks had them as well.
+ 
+ 	* flow.c (mark_set_1): Respect not_dead when updating reg_live.
+ 
+ 	* ifcvt.c (noce_process_if_block): Don't use an insn_b from
+ 	test_bb if a or b uses x.
+ 
+ 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h: Remove conditional #define of __extension__.
+ 	* rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
+ 	RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
+ 	(ENABLE_RTL_CHECKING only).
+ 	* tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
+ 	CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
+ 	(ENABLE_TREE_CHECKING only).
+ 	* varray.h: Add __extension__ to VARRAY_CHECK macro
+ 	(ENABLE_CHECKING only).
+ 
+ 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
+ 
+ 	Use new tail-calling mechanism on ARM.
+ 	* arm.md (sibcall, sibcall_value): New expands.
+ 	(sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
+ 	(tailcalling peepholes): Delete.
+ 	(push_multi): Simplify.
+ 	* arm.c (lr_save_eliminated): Delete definition.
+ 	(pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
+ 	(output_return_instruction): Remove checks on lr_save_eliminated.
+ 	(output_arm_prologue): Remove old tail-calling code.
+ 	(arm_output_epilogue): New parameter, really_return.  All callers
+ 	changed.  Handle tail-calling epilogues.
+ 	* arm.h (lr_save_eliminated): Delete declaration.
+ 	(frame_pointer_needed): Delete declaration.
+ 	* arm-protos.h (arm_output_epilogue): Adjust prototype.
+ 
+ 	* arm.md (is_thumb): Examine symbol thumb_code, not expression
+ 	TARGET_ARM.
+ 	* arm.c (thumb_code): Define it.
+ 	(arm_override_options): Set it.
+ 	* arm.h (thumb_code): Declare it.
+ 
+ 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
+ 
+ 	* arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
+ 
+ 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
+ 
+ 	* arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
+ 	bogus clobber to insns.
+ 	(load_multiple_operation, store_mulitple_operation): Don't check
+ 	for it.
+ 	* arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
+ 
+ 	* arm.md (and_scc, ior_scc): Add missing mode.
+ 
+ 	* arm.md (call_value_symbol): Remove predicate from op2.
+ 
+ 	* arm.h (SPECIAL_MODE_PREDICATES): Define.
+ 
+ Sat May  6 06:25:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (get_subtarget): New function.
+ 	(force_operand, expand_expr, do_store_flag): Use it.
+ 
+ 	* toplev.c (compile_file): Don't take strlen of NAME if null.
+ 
+ 2000-05-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* xcoffout.c (xcoff_current_include_file,
+ 	xcoff_current_function_file, xcoff_lastfile): Constify char *.
+ 	(xcoffout_source_file, xcoffout_source_line): Make filename 'const
+ 	char *'.
+ 	(xcoffout_declare_function): Make name 'const char *'.
+ 	(xcoffout_end_epilogue): Make fname 'const char *'
+ 	* xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
+ 	xcoffout_declare_function, xcoffout_source_line): Match above.
+ 
+ 	* aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
+ 	-maix64	is error.
+ 	* rs6000.c (print_operand): Fix lossage typo.
+ 	(output_cbranch): Remove "cr" decoration for now.
+ 	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
+ 
+ Sat May  6 06:55:32 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
+ 	constant count.
+ 
+ 2000-05-05  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/genfixes: Improve the matching for make target names
+ 
+ 2000-05-05  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* c-common.c (decl_attributes):  For TYPE_DECLs attach the
+ 	attribute to the decl.
+ 	* c-decl.c (pushdecl): Propagate the USED attribute to the
+ 	type copy.
+ 
+ 2000-05-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
+ 	same way emit_group_load does.
+ 
+ 2000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
+ 
+ 	* toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
+ 	(main): Likewise.
+ 
+ 2000-05-05 Rodney Brown	<RodneyBrown@mynd.com>
+ 
+ 	* pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
+ 
+ Fri May  5 10:29:21 2000  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* config/openbsd.h (LINK_SPEC): pass correct flags to ld
+ 	to support -shared, on platforms with dynamic libraries.
+ 
+ Fri May  5 10:27:06 2000  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* system.h (S_ISBLK): Provide fallback definition.
+ 
+ 2000-05-05  Geoff Berry  <geoffb@bops.com>
+ 
+ 	* extend.texi (Extended Asm): Document inability to give asm
+ 	statements access to condition codes.
+ 
+ 2000-05-05  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* varasm.c (asm_emit_uninitialised): Use 0, not NULL
+ 	as arg 2 of UNIQUE_SECTION.
+ 
+ Fri May  5 10:11:41 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* predict.c: Remove May 4 change.
+ 	* bb-reorder.c (make_reorder_chain): Do not perform block movement
+ 	if we have predicted the branch at 50-50 probability.
+ 
+ 2000-05-05  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (init_propagate_block_info): Fix merge error
+ 	in HAVE_conditional_execution code.
+ 
+ Fri May  5 07:43:50 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
+ 	shift cycle for unknown shift count. Also generates dec + brpl.
+ 	(ashlqi3_out): Don't generate dec + brpl which now generates by
+ 	`out_shift_with_cnt'.
+ 	(ashlhi3_out): Likewise.
+ 	(ashlsi3_out): Likewise.
+ 	(ashrqi3_out): Likewise.
+ 	(ashrhi3_out): Likewise.
+ 	(ashrsi3_out): Likewise.
+ 	(lshrqi3_out): Likewise.
+ 	(lshrhi3_out): Likewise.
+ 	(lshrsi3_out): Likewise.
+ 
+ 2000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* gcc.c (free_split_directories): Correct typo in explanation
+ 	of make_relative_prefix.
+ 
+ 2000-05-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
+ 	comparison codes to branch_comparison_operator.
+ 
+ 2000-05-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
+ 
+ 2000-05-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
+ 	(DPBIT_FUNCS): Remove _sf_to_usi.
+ 	(stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
+ 
+ 	* ifcvt.c (noce_process_if_block): Fail if A or B modified
+ 	between condition and jump.
+ 
+ 	* libgcc2.c (near eh_context_specific): Comment #endif string.
+ 	* longlong.h: Don't use strings with embedded newlines.
+ 
+ 2000-05-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000-protos.h: Add output_cbranch.
+ 	* config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
+ 	(print_operand): Delete %t and %T codes.
+ 	(output_cbranch): New function.  Support branch prediction.
+ 	* config/rs6000/rs6000.md: Use output_cbranch for
+ 	conditional branches and returns.
+ 
+ 2000-05-04  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
+ 	* stor-layout.c (place_field): Likewise.
+ 	* integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
+ 	* expr.c (store_expr): Make align unsigned.
+ 	* explow.c (plus_constant_wide): Make low words unsigned.
+ 	* expmed.c (choose_multiplier): Likewise.
+ 	* fold-const.c (fold):  Likewise.
+ 	* tree.h (build_int_2): Likewise.
+ 	* tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
+ 	* emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
+ 	(init_emit): Change cast to unsigned char*.
+ 	* varasm.c (compare_constant_1): Add cast to char*.
+ 	* gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
+ 	* reload1.c (reload): Likewise.
+ 
+ 	* rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
+ 
+ Thu May  4 14:37:23 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* predict.c (estimate_probability): If no prediction was found, then
+ 	predict the successor that is the next physical block (if such a
+ 	successor exists).
+ 
+ 2000-05-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
+ 
+ 2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
+ 
+ 2000-05-04  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
+ 	attribute macros from here ...
+ 	(CPP_SPEC): to here.
+ 	* i386/mingw32.h (CPP_PREDEFINES): Likewise.
+ 	(CPP_SPEC): Likewise.
+ 	* i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
+ 
+ 	* Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
+ 	(libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
+ 
+ 2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
+ 
+ 	* diagnostic (vbuild_message_string, build_message_string,
+ 	build_location_prefix, output_get_prefix, init_output_buffer,
+ 	output_notice, vline_wrapper_message_with_location,
+ 	v_message_with_decl, default_print_error_function): De-constify.
+ 	(set_real_maximum_length): Prototype.
+ 
+ 	* diagnostic.h (struct output_buffer, init_output_buffer,
+ 	output_get_prefix, output_set_prefix): De-constify.
+ 
+ 	* function.c (init_function_start): Constify.
+ 
+ 	* gensupport.c (remove_constraints, process_rtx): Prototype.
+ 
+ 	* gthr-posix.h: Indent uses of #pragma.
+ 
+ 	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
+ 	Prototype.
+ 
+ 	* predict.c (find_expected_value): Delete prototype.
+ 	(expected_value_to_br_prob): Initialize variable `ev_reg'.
+ 
+ 	* sbitmap.h (debug_sbitmap): Prototype.
+ 
+ 	* ssa.c (compute_coalesced_reg_partition): Prototype.
+ 
+ 	* stor-layout.c (debug_rli): Prototype.
+ 
+ 	* tree.h (round_down): Prototype.
+ 	(init_function_start): Constify.
+ 
+ 2000-05-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h: #define __extension__ away if GCC_VERSION < 2095
+ 	(overly conservative).  Change extern inline wrappers to
+ 	static inline, define them always, use PARAMS properly.
+ 	* cpplex.c (_cpp_get_directive_token): Don't issue pedantic
+ 	whitespace warnings for \f and \v at the beginning of a line.
+ 
+ Thu May  4 10:03:50 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* haifa-sched.c (schedule_insns): Free the flow edge list when it
+ 	is no longer needed
+ 
+ 2000-05-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixincl/inclhack.def: added broken_cabs -
+ 	Remove `extern double cabs' declarations from math.h
+ 	* fixincl/inclhack.sh: regen
+ 	* fixincl/fixincl.x: regen
+ 	* fixincl/fixincl.c: Remove BOGOSITY code
+ 	* fixincl/mkfixinc.sh: Remove code for installing "shell" version
+ 
+ Thu May  4 09:45:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
+ 	MEM_ALIAS_SET.
+ 	* alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
+ 	when calling MEM_COPY_ATTRIBUTES.
+ 	* emit-rtl.c (operand_subword, change_address): Likewise.
+ 	* explow.c (stabilize): Likewise.
+ 	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
+ 	when calling MEM_COPY_ATTRIBUTES.
+ 	(make_extraction, simplify_shift_const, gen_lowpart_for_combine):
+ 	Likewise.
+ 	* cse.c (gen_lowpart_if_possible): Likewise.
+ 	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
+ 	* optabs.c (gen_move_insn): Likewise.
+ 	* recog.c (validate_replace_rtx_1): Likewise.
+ 	* simplify-rtx.c (add_mem_for_addr): Likewise.
+ 	* stmt.c (expand_anon_union_decl): Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/h8300/h7300.c (fix_bit_operand): Likewise.
+ 	* config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
+ 	(block_move_no_loop, block_move_sequence): Likewise.
+ 	* config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
+ 	* config/alpha/alpha.c (get_aligned_mem): Likewise.
+ 	Clear MEM_ALIAS_SET.
+ 	* final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
+ 	MEM_COPY_ATTRIBUTES.
+ 
+ 2000-05-03  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
+ 	to suppress libgcc1.
+ 	(i[34567]86-*-sco3.2v5*) Likewise.
+ 	(i[34567]86-*-sco3.2v4*) Likewise.
+ 	(i[34567]86-*-sco) Likewise.
+ 	(i[34567]86-*-solaris2) Likewise.
+ 	(i[34567]86-*-sysv5*) Likewise.
+ 	(i[34567]86-*-sysv4*) Likewise.
+ 	(i[34567]86-*-udk*) Likewise.
+ 	(i[34567]86-*-sysv*) Likewise.
+ 
+ 2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h (U): New define, to correct type of string constants.
+ 	(ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
+ 	routines, to do casts when passing unsigned strings to libc.
+ 	* cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
+ 
+ 	* cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
+ 	* cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
+ 	* cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
+ 	* cpplex.c (parse_ifdef, parse_include, validate_else): Make
+ 	second argument an U_CHAR *.
+ 
+ 	* cppinit.c (builtin_array): Make name and value U_CHAR *, add
+ 	length field, clean up initializer.
+ 	(ISTABLE): Add __extension__ to designated-
+ 	initializers version.
+ 	* cpplex.c (CHARTAB): Likewise.
+ 
+ 	* mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
+ 	case so the file won't be empty.
+ 
+ Wed May  3 21:01:46 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (struct reorder_block_def): Member succ removed.
+ 	(REORDER_BLOCK_SUCC): Removed.
+ 	(enum reorder_skip_type): Removed.
+ 	(skip_insns_between_block): Renamed to skip_insns_after_block.
+ 	Removed second argument. Removed dead code and cleaned up.
+ 	(make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
+ 	(reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
+ 	second parameter to skip_insns_after_block.
+ 
+ Wed May  3 13:29:54 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (staticp, case LABEL_DECL): New case.
+ 
+ 2000-05-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (start.encap): Do not depend on LIBGCC1.
+ 
+ 	* mklibgcc1.in: Fix typo last change.
+ 
+ 2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
+ 	(LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
+ 	(GCC_CFLAGS): Use it.
+ 	(LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
+ 	* cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
+ 	objc/Make-lang.in: Use it.
+ 
+ 2000-05-03  Jason R Thorpe  <thorpej@zembu.com>
+ 
+ 	* config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
+ 
+ 2000-05-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* mklibgcc.in: Restrict OLDCC=GCC test to native.  Equate
+ 	LIBGCC1 empty with libgcc1.null.
+ 
+ Wed May  3 12:55:46 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
+ 	change.
+ 
+ 2000-05-03  Greg McGary  <gkm@gnu.org>
+ 
+ 	* tree.h (tree_common): Add bounded_flag member.  Remove
+ 	inaccurate comment about number of remaining bits.
+ 	(BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
+ 	BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
+ 	MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
+ 	TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
+ 	TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
+ 	(TYPE_QUAL_BOUNDED): New constant.
+ 	(TYPE_QUALS): Handle bounded qualifier.
+ 	(TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
+ 	(TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
+ 	TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
+ 	TYPE_AMBIENT_BOUNDEDNESS): New macros.
+ 	(MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
+ 	(tree_type): Add pointer_depth member.  Remove
+ 	inaccurate comment about number of remaining bits.
+ 	(DECL_POINTER_DEPTH): Add macro.
+ 	(tree_decl): Add pointer_depth member.
+ 
+ Wed May  3 22:52:53 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr-protos.h (test_hard_reg_class): Declared.
+ 	* config/avr/avr.c (ashrhi3_out): optimized shift by 15.
+ 	(lshrhi3_out): Likewise.
+ 	(ashrsi3_out): bugfix in shift by 8.
+ 	(test_hard_reg_class): New function.
+ 	* config/avr/avr.md: Bugfix inside conditions in peepholes.
+ 	(ashlhi3): removed define_expand of this pattern.
+ 	(*ashlhi3_insn): renamed to ashlhi3.
+ 	(ashlsi3): removed define_expand of this pattern.
+ 	(*ashlsi3_insn): renamed to ashlsi3.
+ 	(ashrqi3): removed define_expand of this pattern.
+ 	(*ashrqi3_insn): renamed to ashrqi3.
+ 	(ashrhi3): removed define_expand of this pattern.
+ 	(*ashrhi3_insn): renamed to ashrhi3.
+ 	(ashrsi3): removed define_expand of this pattern.
+ 	(*ashrsi3_insn): renamed to ashrsi3.
+ 	(lshrhi3): removed define_expand of this pattern.
+ 	(*lshrhi3_insn): renamed to lshrhi3.
+ 	(lshrsi3): removed define_expand of this pattern.
+ 	(*lshrsi3_insn): renamed to lshrsi3.
+ 
+ 2000-05-03  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
+ 	inclusion of "system.h".
+ 
+ Wed May  3 11:43:53 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Add check for
+ 	TREE_ASM_WRITTEN.
+ 
+ 2000-05-03  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
+ 	if -mauto-pic is on.
+ 	(ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
+ 	-mconstant-gp is in effect and function-descriptors are being used
+ 	to make indirect calls.
+ 	* config/ia64/ia64.h (MASK_CONST_GP): New macro.
+ 	(MASK_AUTO_PIC): Ditto.
+ 	(TARGET_CONST_GP): Ditto.
+ 	(TARGET_AUTO_PIC): Ditto.
+ 	(TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
+ 	(ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
+ 	-mno-pic is in effect.
+ 	(ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
+ 	* config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
+ 	-mauto-pic is in effect.
+ 	(gprel64_offset): New pattern.
+ 	(load_gprel64): Ditto.
+ 	(call): Handle -mauto-pic like -mno-pic (don't use fptr).  If
+ 	-mconstant-gp is in effect, no need to preserve gp around direct
+ 	calls.
+ 	(call_value): Ditto.
+ 	* config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
+ 	(FUNCTION_PROFILER): Define.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
+ 	@fptr() directive when -mno-pic or -mauto-pic is in effect.
+ 	(ASM_OUTPUT_DESTRUCTOR): Ditto.
+ 
+ 2000-05-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
+ 	(libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
+ 	(libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
+ 	(mklibgcc, libgcc.mk): New targets.
+ 	(libgcc.a): Use libgcc.mk.
+ 	(stmp-multilib): Likewise.
+ 	(stmp-multilib-sub): Remove.
+ 	(mostlyclean): Don't delete libgcc2 temp files.
+ 	* configure.in (AC_PROG_CC_C_O): Add.
+ 	(NO_MINUS_C_MINUS_O): Substitute it.
+ 	(all_outputs): Add mklibgcc.
+ 	* mklibgcc.in: New file.
+ 
+ 2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cppexp.c (op_t): Make an int.
+ 
+ 	* rtlanal.c (dead_or_set_regno_p): Remove unused variable.
+ 
+ 	* varasm.c (initializer_constant_valid_p): Fix parenthesis.
+ 
+ 	* gensupport.c (process_rtx): Fix macros used.
+ 
+ 2000-05-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
+ 	call-clobbered registers of a call.
+ 
+ Wed May  3 12:40:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* gensupport.c: New file.
+ 	* gensupport.h: New file.
+ 	* Makefile.in (HOST_RTL): Depend on gensupport.
+ 	(gensupport.o) New rule.
+ 	* genattr.c: Use gensupport for reading .md files.
+ 	* genattrtab.c: Ditto.
+ 	* gencodes.c: Ditto.
+ 	* genconfig.c: Ditto.
+ 	* genemit.c: Ditto.
+ 	* genextract.c: Ditto.
+ 	* genflags.c: Ditto.
+ 	* genopinit.c: Ditto.
+ 	* genoutput.c: Ditto.
+ 	* genpeep.c: Ditto.
+ 	* genrecog.c: Ditto.
+ 	* rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
+ 	* md.texi (Insn Splitting): Document define_insn_and_split.
+ 
+ Tue May  2 00:20:30 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* flow.c (verify_flow_info): Added two more sanity checks. The
+ 	first checks that the blocks are numbered consecutively. The second
+ 	checks that n_basic_blocks is actually equal to the number of
+ 	basic blocks in the insn chain.
+ 
+ 2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h: Add accessor macros for token lists.
+ 	* cpplib.c, cpphash.c, cpplex.c: Use them.
+ 
+ Wed May  3 09:29:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
+ 	memory usage if not in a function.
+ 	* varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
+ 	return address if static.
+ 
+ Wed May  3 13:14:49 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (noce_try_cmove_arith):  Use may_trap_p to thest
+ 	whether address may trap.
+ 
+ Tue May  2 23:38:37 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder (chain_reorder_blocks): Changed code to test for
+ 	EDGE_FALLTHRU rather than making erroneous assumption that the
+ 	first outgoing edge is the fall-through edge.
+ 
+ Tue May  2 18:20:31 2000  Donald Lindsay  <dlindsay@hound.cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
+ 	ABI for varargs, across all MIPS. This is incompatible because the
+ 	va_list (__builtin_va_list) structure is different, so a compilation
+ 	unit passing a va_list and a compilation unit being passed one, should
+ 	both be compiled with the same ABI. (The old structure had two
+ 	pointers, now it has three.)
+ 
+ Tue May  2 19:18:43 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (struct reorder_block_def): Remove members end,
+ 	block_begin, and block_end.
+ 	(REORDER_BLOCK_OLD_END): Delete.
+ 	(REORDER_BLOCK_BEGIN): Delete.
+ 	(REORDER_BLOCK_END): Delete.
+ 	(chain_reorder_blocks): Remove dead code.
+ 
+ Tue May  2 17:06:53 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (remove_scope_notes): Check for both types of scope
+ 	notes as the end of a basic block before deleting.
+ 
+ 2000-05-02  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* final.c (final_start_function): Fix spelling of "necessary".
+ 
+ 2000-05-02  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* toplev.c (debug_ignore_block): Return int.
+ 	* dwarf2out.c (dwarf2out_ignore_block): Likewise.
+ 	* toplev.h, dwarf2out.h: Adjust.
+ 	* emit-rtl.c (remove_unnecessary_notes): Test return value.
+ 
+ 	* emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
+ 	* toplev.c, final.c, rtl.h: Adjust.
+ 
+ 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
+ 	* configure.in: Look for makeinfo in the unified tree, then
+ 	for a system makeinfo which is sufficiently new.
+ 	* Makefile.in: If configure says makeinfo is too old, don't
+ 	build or install Info documentation.
+ 
+ 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (collect_params): Fix off-by-one error.
+ 	(dump_hash_helper): Dump all four macro nodetypes.
+ 
+ 2000-05-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpphash.c (trad_stringify): Adjust p after stringification as
+ 	well.
+ 
+ 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (CPP_POP, parse_cleanup_t): Delete.
+ 	(cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
+ 
+ 	* cppfiles.c (file_cleanup): Delete.
+ 	* cpphash.c (macro_cleanup): Delete.
+ 	(collect_objlike_expansion, collect_funlike_expansion,
+ 	macarg, scan_arguments): Remove CPP_POP case.
+ 
+ 	* cpplex.c (null_cleanup): Delete.
+ 	(cpp_pop_buffer): Do the work that was done in the cleanups
+ 	here.  Call _cpp_unwind_if_stack from here.
+ 	(_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
+ 	cpp_scan_buffer): Run until we see CPP_EOF and the top of
+ 	stack is the buffer _below_ the one we stacked.
+ 	(cpp_get_token): Always pop an exhausted buffer.  Return
+ 	CPP_EOF unless it's a macro buffer.  Don't call _cpp_handle_eof.
+ 	* cpplib.c (skip_if_group): Don't call cpp_get_token to
+ 	increment the line number.
+ 	(_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
+ 
+ 	* fix-header.c (read_scan_file) [parsing getchar()]: Run until
+ 	we see CPP_EOF and the top of stack is the buffer _below_ the
+ 	one we stacked.
+ 	* scan-decls.c: Likewise.
+ 
+ 2000-05-02  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Handle the case
+ 	where this function is called for the second time on a decl that
+ 	has had its section info changed in such a way as to move it out
+ 	of small data/bss.
+ 	* config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
+ 
+ 2000-05-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
+ 	the sequence we're moving, not to merge_bb->head.
+ 
+ 2000-05-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
+ 	reference to alpha/t-linux.
+ 	(alpha*-*-linux-gnu*): Likewise.
+ 	* configure: Rebuild.
+ 
+ 	* calls.c (expand_call): Don't emit reg notes for a sibcall.
+ 
+ 	* flow.c (calculate_global_regs_live): Skip for_each_successor_phi
+ 	if not in SSA form.
+ 
+ 	* ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
+ 
+ 2000-05-01  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
+ 	TREE_THIS_VOLATILE.
+ 
+ 2000-05-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (noce_emit_cmove): Conditionally compile call to
+ 	emit_conditional_move.
+ 
+ 2000-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
+ 	as the dynamic linker.
+ 
+ 2000-05-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (open_include_file): Open file in blocking mode.
+ 	(read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
+ 	Only exclude block devices and directories.
+ 
+ 	* cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
+ 	static.  Allocate the hashnode and its string in the same
+ 	block of memory.
+ 	(del_HASHNODE): Don't free h->name.
+ 	(_cpp_lookup): If there is no entry for this string, create
+ 	one, of type T_VOID.
+ 	(_cpp_lookup_slot): Delete.
+ 	* cpphash.h: Update prototypes.
+ 
+ 	* cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
+ 	not hp == NULL.
+ 	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
+ 	do_unassert, cpp_defined): Use _cpp_lookup.  Don't create a
+ 	node here, just fill in the value field properly.  "Delete"
+ 	entries by setting the value field to T_VOID.  Check for
+ 	hp->type == T_VOID, not hp == NULL.
+ 
+ 	* Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
+ 	* cpperror.c, cppexp.c, cpplex.c, cpplib.c:  Don't include
+ 	hashtab.h.
+ 
+ 2000-05-01  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.c (print_operand_address): Do not add
+ 	zero to SP.
+ 
+ 	* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
+ 	adjusted by less than 256 bytes, use ret regardless of having any
+ 	callee-saved register to restore.
+ 
+ 2000-05-01 Laurynas Biveinis <lauras@softhome.net>
+ 
+ 	* tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
+ 
+ 2000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* config/i386/djgpp.h (INT_ASM_OP): Define.
+ 	(CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
+ 	(ASM_WEAKEN_LABEL): Define.
+ 	(MASK_BNU210): Define.
+ 	(SUBTARGET_SWITCHES): Define.
+ 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
+ 	(MAKE_DECL_ONE_ONLY): Define.
+ 	(UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
+ 
+ 2000-05-01  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* i386/cygwin.h (INT_ASM_OP): Define.
+ 
+ Mon May  1 18:20:06 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (address_cost): renamed to avr_address_cost.
+ 	* config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
+ 
+ Mon May  1 17:50:44 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
+ 	__tmp_reg__ and __zero_reg__ initialization.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_one_insn): Mark sets even when the insn is dead.
+ 
+ 	* ifcvt.c (noce_process_if_block): Fail the conversion if X is
+ 	referenced bewteen the condition and the jump.  Don't delete
+ 	anything but the jump.
+ 
+ Sun Apr 30 22:48:24 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (scope_def): New struct.
+ 	(scope_forest_info): New struct.
+ 	(struct reorder_block_def): New member "scope".
+ 	(REORDER_BLOCK_SCOPE): New macro.
+ 	(relate_bbs_with_scopes): New function and prototype.
+ 	(make_new_scope): Likewise.
+ 	(build_scope_forest): Likewise.
+ 	(remove_scope_notes): Likewise.
+ 	(insert_intra_1): Likewise.
+ 	(insert_intra_bb_scope_notes): Likewise.
+ 	(insert_inter_bb_scope_notes): Likewise.
+ 	(rebuild_scope_notes): Likewise.
+ 	(free_scope_forest_1): Likewise.
+ 	(free_scope_forest): Likewise.
+ 	(dump_scope_forest): Likewise.
+ 	(dump_scope_forest_1): Likewise.
+ 	(chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
+ 	Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
+ 	block.
+ 	(reorder_basic_blocks): Added calls to build_scope_scope_forest
+ 	and remove_scope_notes before reordering is done. Added calls to
+ 	rebuild_scope_notes, free_scope_forest, and reorder_blocks after
+ 	after reordering is done.
+ 
+ 2000-40-30  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def:  Added definitions needed by OSR5,
+ 	removed two stale entries (defined away with OLD_CPP).
+ 	* fixinc/inclhack.sh: regen
+ 	* fixinc/fixincl.x: regen
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
+ 	from the last insn in the sequence.
+ 
+ 2000-04-30  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (cpp_idcmp): New function.
+ 	* cpplib.h: Prototype it.
+ 	* scan_decls.c (scan_decls): Use it to inspect token names.
+ 	* fix-header.c (read_scan_file): Likewise.  Set system_header_p on
+ 	the file being run through the preprocessor.
+ 	(check_macro_names): Provide length of token to cpp_defined.
+ 
+ 	* Makefile.in: Remove stale warning message.
+ 
+ 	* cppfiles.c (redundant_include_p): Provide length of token to
+ 	cpp_defined.
+ 	* cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
+ 	values are unsigned int.
+ 	(_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
+ 	(_cpp_lookup_slot): Do not calculate the hash, either.
+ 	* cpphash.h: Update prototypes.
+ 	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
+ 	Hashes are unsigned int.  Calculate hash here, pass by value
+ 	to _cpp_lookup_slot.
+ 
+ 2000-04-30  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* simplify-rtx.c (check_value_useless): Delete function.
+ 	(discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
+ 	by hand.
+ 	(cselib_invalidate_regno): Likewise.
+ 	(cselib_invalidate_mem_1): Likewise.
+ 	(references_value_p): Recognize useless values by the fact that they
+ 	have no locations.
+ 	(discard_useless_values): Likewise.
+ 	(cselib_record_set): This may turn a useless value
+ 	into a useful one.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/d30v: New port.
+ 
+ 	* configure.in (d30v-*): Set fp format.
+ 	* configure: Rebuild.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* ifcvt.c: New file.
+ 	* Makefile.in (OBJS): Add it.
+ 	(ifcvt.o): New target.
+ 	* jump.c (jump_optimize_1): Remove all code related to if-conversion,
+ 	and conditional arithmetic.
+ 	(find_insert_position): Remove.
+ 	* timevar.def (TV_IFCVT, TV_IFCVT2): New.
+ 	* toplev.c (DFI_ce, DFI_ce2): New.
+ 	(dump_file): Add ce and ce2 dumps.
+ 	(rest_of_compilation): Run if_convert a couple o times.  Set
+ 	cse_not_expected after cse2.  Don't set no_new_pseudos until
+ 	after sched1 or recompute_reg_usage.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
+ 	(crtend.o, crtbeginS.o, crtendS.o): Likewise.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (struct reg_cond_life_info): New.
+ 	(struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
+ 	(init_propagate_block_info): Initialize them.
+ 	(free_propagate_block_info): Destruct them.
+ 	(mark_set_1): Consider conditional life before killing a register.
+ 	(mark_regno_cond_dead): New.
+ 	(free_reg_cond_life_info): New.
+ 	(flush_reg_cond_reg_1, flush_reg_cond_reg): New.
+ 	(ior_reg_cond, not_reg_cond, nand_reg_cond): New.
+ 	(mark_used_reg): Record conditional life.
+ 
+ 	* haifa-sched.c (schedule_insns): Disable death counting
+ 	sanity check for HAVE_conditional_execution.
+ 
+ 2000-04-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (TIMEVAR_H): New.
+ 	(ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
+ 	(timevar.h): Remove rule.
+ 
+ 2000-04-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/crtend.asm: Use C comments instead of #.
+ 	* config/alpha/crtbegin.asm: Likewise.  Mark __dso_handle hidden.
+ 
+ 	* config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
+ 
+ 2000-04-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h (enum node_type: Take out T_MCONST.
+ 	(union hashval): Move into struct hashnode.
+ 	(struct hashnode): Pack tighter.  Remove file, line, col
+ 	members.
+ 	* cpphash.c: Constify most of the macro-definition structures.
+ 	(struct definition): Replace by struct object_defn
+ 	and struct funct_defn.  Put file, line, column information
+ 	here.  All users updated to match.
+ 	(_cpp_create_definition, _cpp_macroexpand): Remove special
+ 	case for #define WORD OTHERWORD.
+ 	* cpplib.c (do_undef): Remove T_MCONST case.
+ 
+ 	* cpphash.h: Move struct reflist, struct definition, and the
+ 	DEFINITION typedef to cpphash.c.  Use 'struct definition *' in
+ 	union hashval.  _cpp_free_definition takes a HASHNODE pointer.
+ 	* cpphash.c (_cpp_free_definition): Free data pointed to by
+ 	MCONST, XCONST, MACRO, and FMACRO nodes properly.
+ 	(_cpp_create_definition, del_HASHNODE): Just call
+ 	_cpp_free_definition to clear out a hashnode.
+ 	* cpplib.c (do_pragma_poison): Likewise.
+ 
+ Sat Apr 29 12:25:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
+ 	LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
+ 	FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
+ 	(REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
+ 	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
+ 	REGNO_AM33_P): Redefine in terms of the new macros.
+ 	(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
+ 	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
+ 	STRUCT_VALUE): Likewise.
+ 	(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
+ 	ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise.  Moved.
+ 
+ Sat Apr 29 01:18:45 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regmove.c (struct record_stack_memrefs_data): New.
+ 	(record_stack_memrefs): New function.
+ 	(combine_stack_adjustments_for_block): Use it.
+ 
+ Sat Apr 29 01:15:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (calls_function_1):  Properly handle TREE_LIST expressions;
+ 	use special_function_p to detect alloca.
+ 
+ Fri Apr 28 16:30:33 2000  Marc Espie <espie@cvs.openbsd.org>
+ 
+ 	* gcc.texi: Fixes for makeinfo 4.0 --html.
+ 
+ 2000-04-28  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* pcp.h: Delete file.
+ 
+ 2000-04-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300.c (function_epilogue): Clean up flags when the last insn
+ 	in a function is a barrier.
+ 
+ 2000-04-28  Chris Demetriou  <cgd@sibyte.com>
+ 
+ 	* configure.in (sparc-hal-solaris2*): protect [] glob from
+ 	my expansion.
+ 	(mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
+ 	rather than hard-coded constants in target_cpu_default2.
+ 	* configure: Regenerate.
+ 
+ 2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* tree.c (get_callee_fndecl): Extract the initial value from
+ 	a readonly decl.
+ 
+ 2000-04-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* varasm.c (record_constant_1): Record the CODE_LABEL when
+ 	taking the address of a LABEL_REF.
+ 
+ 2000-04-28  Richard Henderson  <rth@cygnus.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (combine_pending_stack_adjustment_and_call): Return the
+ 	adjustment; don't do the stack adjust.
+ 	(expand_call): Call compute_argument_block_size right before
+ 	allocating the block; update comment; don't do alignment sanity
+ 	checking for sibling call; use args_size instead of
+ 	unadjusted_args_size before args_size is adjusted.  Use
+ 	combine_pending_stack_adjustment_and_call to compute stack adjust
+ 	for must_preallocate case.
+ 
+ 	* expr.c (push_block): Remove shadow `temp' in inner scope.
+ 
+ 2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Call
+ 	note_deferral_of_defined_inline_function even if the function
+ 	can't be inlined.
+ 
+ 2000-04-28  Scott Bambrough  <scottb@netwinder.org>
+ 
+ 	* cpplex.c (_cpp_scan_line): Fix buffer overwrite.
+ 
+ 2000-04-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
+ 
+ 2000-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* timevar.c (init_timevar): DeANSIfy function definition.
+ 
+ 2000-04-27  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* Makefile.in (timevar.o): Depend on flags.h.
+ 	* timevar.c (unused_stack_instances): New variable.
+ 	(timevar_push): Take a timevar_stack_def from
+ 	unused_stack_instances if available.
+ 	(timevar_pop): Push the popped timevar_stack_def onto
+ 	unused_stack_instances.
+ 	(TIMEVAR_ENABLE): New macro.
+ 	(timevar_def): Make standalone a 1-bit field.  Add field used.
+ 	(get_time): Rename parameter to now.  Return after clearing it if
+ 	not TIMEVAR_ENABLE.
+ 	(init_timevar): Do nothing if not TIMEVAR_ENABLE.
+ 	(timevar_pop): Likewise.
+ 	(timevar_stop): Likewise.
+ 	(timevar_push): Likewise.  Mark the timing variable as used.
+ 	(timevar_start): Likewise.
+ 	(timevar_print): Do nothing if not TIMEVAR_ENABLE.  Don't print
+ 	timevars that were never used.
+ 
+ 2000-04-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
+ 	always TREE_READONLY.
+ 
+ 2000-04-27  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
+ 	for call instruction with mode QImode.
+ 
+ 2000-04-27  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS): Add timevar.o.
+ 	(toplev.o): Depend on timevar.h.
+ 	(ggc-simple.o): Likewise.
+ 	(ggc-page.o): Likewise.
+ 	(timevar.o): New rule.
+ 	(timevar.h): New rule.
+ 
+ 	* timevar.h: New file.
+ 	* timevar.c: Likewise.
+ 	* timevar.def: Likewise.
+ 
+ 	* toplev.h (gc_time, parse_time, varconst_time): Remove.
+ 	* toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
+ 	throughout.
+ 	(TIMEVAR): Remove macro.
+ 	(gc_time, parse_time, varconst_time, integration_time, jump_time,
+ 	cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
+ 	flow_time, combine_time, regmove_time, sched_time,
+ 	local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
+ 	sched2_time, dbr_sched_time, reorder_blocks_time,
+ 	rename_registers_time, shorten_branch_time, stack_reg_time,
+ 	to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
+ 	all_time): Remove.
+ 	(compile_file): Don't initialize time variables.  Call
+ 	init_timevar and start TV_TOTAL timer.  Call timevar_print instead
+ 	of many calls to print_time.
+ 	(rest_of_compilation): Add timing for reload_cse_regs.
+ 	(get_run_time): Removed to timevar.c.
+ 	(print_time): Likewise.
+ 	(get_run_time): Implement using TV_TOTAL time variable.
+ 	(print_time): Get total run time from get_run_time.
+ 	* ggc-page.c (ggc_collect): Push and pop TV_GC instead of
+ 	computing elapsed time explicitly.
+ 	* ggc-simple.c (ggc_collect): Likewise.
+ 	(gc_time): Remove declaration.
+ 
+ 2000-04-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (combine_pending_stack_adjustment_and_call): New function.
+ 	(expand_call): Use it.
+ 
+ 2000-04-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (mark_set_1):  Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
+ 	fields.
+ 
+ Thu Apr 27 12:47:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.md (movhi): Simplify.  Prefer data
+ 	registers.
+ 
+ Thu Apr 27 17:33:05 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (epilogue_done): Pass whole insn to record_insns.
+ 
+ Thu Apr 27 16:55:28 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (CSE_ADDRESS_COST): Remove.
+ 	(find_best_addr): Add new parameter "MODE", use address_cost instead
+ 	of CSE_ADDRESS_COST
+ 	(address_cost): New.
+ 	(fold_rtx): Update call of find_best_addr.
+ 	* rtl.h (address_cost): Declare.
+ 	* loop.c (general_induction_var): Add new parameter "MODE", use
+ 	address_cost instead of ADDRESS_COST
+ 	(init_loop): Use address_cost instead of ADDRESS_COST.
+ 	(check_insn_for_givs): Update call of general_induction_var.
+ 	(find_mem_givs): Likewise.
+ 	(consec_sets_giv): Likewise.
+ 	* config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
+ 	* i386.c (ix86_address_cost): New.
+ 	* i386-protos.h (ix86_address_cost): Declare.
+ 
+ Thu Apr 27 11:45:16 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.md (movqi): Simplify.  Prefer data
+ 	registers.
+ 
+ Thu Apr 27 16:11:00 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (store_expr): Use clear_storage instead of direct memset
+ 	libcall.
+ 
+ Thu Apr 27 10:36:51 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.c (mn10300_address_cost): Test
+ 	ASHIFT, AND and LABEL_REF.
+ 
+ Thu Apr 27 15:08:46 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* invoke.texi (-foptimize-sibling-calls): Fix.
+ 
+ Thu Apr 27 14:54:22 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (load_mems)  Don't use hard registers for the hoisting.
+ 
+ 	* unroll.c (unroll_loop): Avoid overflow in the n_iterations
+ 	calculation; rename const_equiv array in the preconditioning code
+ 	from loop_unroll to loop_unroll_precondition
+ 
+ 2000-04-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (struct propagate_block_info): Remove new_dead, new_live;
+ 	add new_set.
+ 	(propagate_one_insn): Clear it.  Don't update reg_live here.
+ 	(init_propagate_block_info): Update for pbi member changes.
+ 	(free_propagate_block_info): Likewise.
+ 	(mark_set_1): Know that zero_extract, sign_extract, and
+ 	strict_low_part don't kill their argument.  Alter hard subregs.
+ 	Update new_set for non-CLOBBER sets.  Update reg_live.
+ 	(find_auto_inc): Update reg_live, not new_dead.
+ 	(mark_used_reg): Update reg_live, not new_live.  Examine new_set
+ 	to determine if the reg in question was set this insn.  Only update
+ 	reg info with PROP_REG_INFO.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (allocate_reg_life_data): Set max_regno here ...
+ 	(life_analysis): ... not here.
+ 
+ 	* flow.c (calculate_global_regs_live): Force stack pointer
+ 	live at end.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (redirect_exp_1): Rework from old redirect_exp.  Never
+ 	commit change group changes.
+ 	(invert_exp_1): Similarly.
+ 	(redirect_exp, invert_exp): Use them.
+ 	(redirect_jump_1): New.
+ 	(invert_jump_1): New.
+ 	(jump_optimize_1): Remove code subsumed by condexec.c.
+ 	* rtl.h (invert_jump_1, redirect_jump_1): Declare.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
+ 
+ 	* genconfig.c (main): Set all HAVE_foo to 1.
+ 
+ 	* graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
+ 
+ 2000-04-26  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* invoke.texi: Document -fssa flag.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (count_reg_sets_1): Remove.
+ 	(count_reg_sets, count_reg_references): Remove.
+ 	(recompute_reg_usage): Implement with update_life_info.
+ 	Reallocate life data.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (update_life_info): Consider blocks null to mean the
+ 	universal set.
+ 	(calculate_global_regs_live): Likewise.
+ 	(life_analysis): Do that instead of collecting all_blocks.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
+ 	a still-valid conditional jump.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (invert_jump): Always invert REG_BR_PROB.  Do it correctly.
+ 
+ 	* bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
+ 	* flow.c (calculate_loop_depth): Remove.
+ 	* output.h (calculate_loop_depth): Don't declare.
+ 	* toplev.c (rest_of_compilation): Expand calculate_loop_depth
+ 	inline; run estimate_probability at the same time.
+ 
+ 2000-04-26  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplib.h: "~=" is not a single pp-token.
+ 	* cpplex.c: Correct commentary.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_set_1): New arguments code and flags; update all
+ 	callers.  Track regno_first and regno_last; do HARD_REGNO_NREGS
+ 	test in one place.  Tidy flags tests.  Don't bias REG_N_REFS by
+ 	loop_depth when optimizing for size.  Do new_dead update after
+ 	emitting REG_UNUSED notes.  Merge mark_set_reg code.
+ 	(mark_set_reg): Remove.
+ 	(propagate_one_insn): Use mark_set_1 for call-clobbered registers;
+ 	arrange to not emit REG_UNUSED notes.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
+ 	* ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_one_insn): Break out from propagate_block.
+ 	(init_propagate_block_info): Likewise.
+ 	(free_propagate_block_info): Likewise.
+ 	(propagate_block): Use them.  Export.
+ 	* basic-block.h: Declare them all.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* basic-block.h (life_analysis): Declare here ...
+ 	* output.h: ... not here.
+ 	* flow.c (life_analysis): Remove nregs parameter; replace
+ 	remove_dead_code with flags.  Remove ssa dead code check.
+ 	Only init alias analysis if we'll use it.
+ 	* reg-stack.c (reg_to_stack): Update life_analysis arguments.
+ 	* ssa.c (convert_to_ssa): Likewise.
+ 	(convert_from_ssa): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 
+ 2000-04-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (flow_delete_block): Rename from delete_block.  Export.
+ 	* basic-block.h (flow_delete_block): Declare.
+ 
+ 2000-04-26  David S. Miller  <davem@redhat.com>
+ 
+ 	* optabs.c (emit_libcall_block): Verify insns with INSN_P before
+ 	taking a PATTERN of it.
+ 
+ 2000-04-26  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (spell_other, spell_char): Remove.
+ 	(SPELL_CHAR): New.
+ 	(token_spelling, trigraph_map): Use unsigned chars.
+ 	(_cpp_lex_line): Tidy up the switch statement.
+ 	* cpplib.h: Implement spell_char with spell_string.
+ 	(C): New.
+ 
+ 2000-04-26  <RodneyBrown@pmsc.com>
+ 
+ 	* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
+ 	* pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
+ 
+ 2000-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
+ 	reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
+ 	dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
+ 	dwarf2out_return_save, dwarf2out_return_reg,
+ 	dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
+ 	add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
+ 	gen_compile_unit_die, dwarf2out_init): Constify a char*.
+ 
+ 	* dwarf2out.h (dwarf2out_init): Likewise.
+ 
+ 	* dwarfout.c (filename_entry, primary_filename, last_filename,
+ 	type_tag, output_compile_unit_die, dwarfout_init): Likewise.
+ 
+ 	* tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
+ 	dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
+ 	dwarf2out_return_reg): Likewise.
+ 
+ 2000-04-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* extend.texi (Function Attributes): Fix description of pure
+ 	attribute.
+ 
+ 2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
+ 	before calling rest_of_compilation.
+ 
+ 2000-04-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
+ 	last patch.
+ 
+ 2000-04-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* cse.c (cse_insn): Emit barrier after unconditional jump.
+ 
+ 	* calls.c (expand_call): Disable tail call generation once
+ 	rtx_equal_function_value_matters is false.
+ 
+ 	* reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
+ 	like EDGE_EH edges.
+ 
+ 2000-04-25  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
+ 
+ 	* dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
+ 
+ 	* dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
+ 	is the primary DIE for a member function.
+ 	(gen_decl_die): Call set_decl_origin_self here.
+ 	* dwarfout.c (output_decl): And here.
+ 	* integrate.c (output_inline_function): Not here.
+ 	Don't clear DECL_INLINE until after calling rest_of_compilation.
+ 	(set_decl_origin_self): No longer static.
+ 	* tree.h: Add prototype.
+ 	* toplev.c (note_deferral_of_defined_inline_function): Only write
+ 	out abstract instance for actual inlines.
+ 
+ 2000-04-25  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
+ 	EXTENDED_REGS only if TARGET_AM33.
+ 	* config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
+ 	SP_REGS to register allocation and reloading unless absolutely
+ 	necessary.
+ 	(movsi3): Remove special-case of adding non-constants to SP.
+ 
+ 2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
+ 	INCLUDES to search and does not provide any of its own.  Also it
+ 	now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
+ 	parameters.  Also it does not call AC_DEFINE.
+ 	(gcc_AC_NEED_DECLARATIONS): Likewise.  Also this macro now calls
+ 	AC_DEFINE and provides for automatic entries for autoheader.
+ 	(gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
+ 
+ 	* configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
+ 	so we can pass -I flags and include gansidecl.h/system.h in this
+ 	test.
+ 
+ 	* acconfig.h: Delete all NEED_DECLARATION_* entries.
+ 
+ 2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
+ 	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
+ 	ENABLE_GC_ALWAYS_COLLECT): Delete entries.
+ 
+ 	* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
+ 	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
+ 	ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
+ 	for these macros.  Clean up spacing and linewraps.
+ 
+ 2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* calls.c (expand_call): Use get_callee_fndecl.
+ 
+ 	* print-tree.c (print_node): Print the chain of an _EXPR.
+ 
+ Tue Apr 25 16:16:04 2000  Andrew MacLeod  <amacleod@cygnus.com>
+ 			  Jim Wilson  <wilson@cygnus.com>
+ 			  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/ia64/crtbegin.asm: Add IA-64 unwind support.  Correct alloc
+ 	and gp save/restore problems.
+ 	* config/ia64/crtend.asm: Add IA-64 unwind support.
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
+ 	in fr_pad_size calculation.
+ 	(save_restore_insns): Move PR save area.  Correct uses of
+ 	RTX_FRAME_RELATED_P.
+ 	(ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
+ 	(ia64_expand_epilogue): Add eh_epilogue support.
+ 	(ia64_function_prologue): Emit .prologue directive.
+ 	(ia64_init_machine_status, ia64_mark_machine_status): New functions.
+ 	(ia64_override_options): Set init_machine_status and
+ 	mark_machine_status.
+ 	(rtx_needs_barrier): Handle bsp reads and writes.
+ 	(spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
+ 	New static variables.
+ 	(process_set, process_for_unwind_directive): New functions.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
+ 	ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
+ 	ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
+ 	macros.
+ 	(EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
+ 	(IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
+ 	(struct machine_function): Define.
+ 	* config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
+ 
+ 2000-04-25  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/Makefile.in: make the removal of old programs more
+ 	robust
+ 	* fixinc/mkfixinc.sh: use the two new targets in the Makefile:
+ 	install-bin and install-sh
+ 
+ 2000-04-25  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
+ 	defined, define to return zero.
+ 	(function_cannot_inline_p): If a function has any target
+ 	specific attributes, then use the macro
+ 	FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
+ 	whether it can be inlined.  If it cannot, issue a suitable
+ 	explanation.
+ 
+ 	* tm.texi: Add a new node 'Inlining' to document the new macro
+ 	FUNCTION_ATTRIBUTE_INLINABLE_P.
+ 
+ 2000-04-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
+ 	commentary.
+ 
+ 2000-04-25  Neil Booth  <NeilB@earthling.net>
+ 
+ 	Restore previous patch, plus the following fixes:
+ 
+ 	* cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
+ 	flags, not CPP_OPEN_PAREN.
+ 	* cpplex.c (expand_token_space, init_token_list,
+ 	cpp_free_token_list): Put the dummy token at list->tokens[-1].
+ 	(_cpp_lex_line, _cpp_lex_file): token list is 0-based.
+ 
+ Tue Apr 25 14:06:40 2000  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/i386/freebsd.h (INT_ASM_OP): Define.
+ 
+ Tue Apr 25 14:51:07 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (strength_reduce): Fix typo in the last checkin.
+ 
+ Tue Apr 25 07:33:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (finalize_record_size): Simplify to use existing
+ 	functions.
+ 	(compute_record_mode): No longer static.
+ 	* tree.h (compute_record_mode): New declaration.
+ 
+ 2000-04-25  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* Revert my patch below until cause of build failures
+ 	determined.
+ 
+ 2000-04-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (combine_instructions): Add missing argument
+ 	to try_combine.
+ 
+ 	* toplev.c (rest_of_compilation): Delay sibcall optimization
+ 	until after emit_eh_context.
+ 
+ 2000-04-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* combine.c (combine_instructions): Do not try to combine a
+ 	sequence of insns when the second insn has been replaced by a
+ 	note.
+ 
+ Mon Apr 24 17:34:18 2000  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* gcc.c (load_specs): New static function.
+ 	(read_specs): Use it.
+ 
+ 	* gcc.c (lookup_compiler): Make multiple passes for case
+ 	insensitive filesystems.
+ 
+ 2000-04-24  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
+ 	* cpphash.h (_cpp_check_directive): new.
+ 	* cpplex.c (handle_newline, cpp_free_token_list,
+ 	init_trigraph_map, trigraph_ok, trigraph_replace,
+ 	backslash_start, skip_block_comment, skip_line_comment,
+ 	skip_whitespace, parse_name, parse_number, parse_string,
+ 	copy_comment, _cpp_lex_line, spell_char, spell_string,
+ 	spell_comment, spell_name, spell_other, _cpp_lex_file,
+ 	_cpp_output_list): new.
+ 	(expand_name_space): take length argument.
+ 	(init_token_list): add comment list initialisation.
+ 	(cpp_scan_line): use auto_expand_name_space.  PREV_WHITESPACE
+ 	instead of HSPACE_BEFORE.
+ 
+ 	* cpplib.c (_cpp_check_directive): new
+ 	* cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
+ 	DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
+ 	(HSPACE_BEFORE): delete.
+ 	(TTYPE_TABLE): rearrange.
+ 	(struct cpp_toklist): update.
+ 
+ 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
+ 	gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
+ 	argument form of AC_DEFINE.
+ 
+ 	* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
+ 	HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
+ 	WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
+ 	HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
+ 	HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
+ 
+ 	* acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
+ 
+ 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
+ 	deduced.h): Use -isystem, not -I, for including system headers.
+ 
+ 2000-04-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fr30/fr30.md (addsi3): Do not use small add instruction if
+ 	the source register is the frame pointer or arg pointer.
+ 	(addsi3_small_int): Disallow if source register is the frame
+ 	pointer or arg pointer.
+ 
+ 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
+ 	call to AC_MSG_RESULT.
+ 
+ 2000-04-24  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* invoke.texi: Correct grammatical errors, document
+ 	-fno-gnu-keywords as identical to -fno-asm for C++.
+ 
+ 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
+ 	GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
+ 	GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
+ 	AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
+ 	EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
+ 
+ 	* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
+ 	GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
+ 	GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
+ 	GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
+ 	new macros names.
+ 
+ 2000-04-24  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* c-pragma.c (push_alignment): Use BITS_PER_UNIT macro.
+ 	(pop_alignment): Likewise.
+ 	(handle_pragma_token): Likewise.
+ 
+ 2000-04-24  Robert Lipe <robertlipe@usa.net>
+ 
+ 	* tree.h (tree_decl): Member `mode' now ENUM_BITFIELD.
+ 
+ 2000-04-24  Hiroyuki Machida <machida@sm.sony.co.jp>
+ 
+ 	* combine.c (try_combine): Update reg_nonzero_bits of
+ 	newi2pat before newpat.
+ 
+ Mon Apr 24 10:19:48 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (strength_reduce): Simplify test to INSN_P.
+ 	(record_giv): Attempt to simplify the add value, use CONSTANT_P
+ 	expressions instead of CONST_INT.
+ 	(express_from_1): Likewise.
+ 
+ 2000-04-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* regs.h (reg_n_max): Don't declare.
+ 	* flow.c (reg_n_max): Don't define.
+ 	* regclass.c (renumber): Don't initialize to zero.
+ 	(regno_allocated): Likewise.
+ 	(reg_n_max): Define.
+ 	(allocate_reg_info): Don't initialize unnecessarily.
+ 
+ Mon Apr 24 00:21:36 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* genattrtab.c (find_attr): Initialize unsigned_p, func_units_p
+ 	and blockage_p in the newly allocated attribute.
+ 
+ Sun Apr 23 20:16:49 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.md (addsi): `inc4' on address
+ 	registers does not modify cc, but `inc' on an extended
+ 	register does.
+ 
+ Sun Apr 23 16:24:35 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* reload.c (find_equiv_reg): Checks all valueno regs
+ 	as a reload_reg_p regs.
+ 
+ 2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (collect_objlike_expansion): Add sanity check.
+ 	(special_symbol): Remove case T_CONST, T_XCONST, T_MCONST.  If
+ 	the buffer is the empty string, return.  Mark __DATE__ and
+ 	__TIME__ as XCONST nodes, not MCONST.
+ 	(_cpp_macroexpand): Avoid pushing an empty buffer.
+ 	(funlike_macroexpand): Don't pop token_buffer here.
+ 
+ Sun Apr 23 18:37:53 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro.
+ 	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros.
+ 	(REGNO_EXTENDED_P, REGNO_AM33_P): New macros.
+ 	(REGNO_OK_FOR_BASE_P): Define in terms of them.
+ 	(REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise.
+ 	(REG_OK_FOR_BASE_P): Define in terms of the REGNO macro.
+ 	(REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise.
+ 
+ Sun Apr 23 22:23:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (simplify_giv_expr):  Be more agressive on simplifying
+ 	constant MULT givs.
+ 
+ 2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.h (struct definition): Move file, line, col members...
+ 	(struct hashnode): ... here.  Also add 'disabled' flag.
+ 	(enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and
+ 	T_IDENTITY.  Remove T_DISABLED.
+ 	Update prototypes.
+ 
+ 	* cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION.
+ 	(collect_expansion): Split into collect_objlike_expansion and
+ 	collect_funlike_expansion.
+ 	(_cpp_macroexpand): Split out scan_arguments, stringify, and
+ 	funlike_macroexpand.
+ 	(_cpp_compare_defs): Rename compare_defs, make static.
+ 	(_cpp_make_hashnode): Initialize hp->disabled.
+ 	(macro_cleanup): Adjust for new token types.  Clear
+ 	m->disabled.
+ 	(_cpp_create_definition): Move code here to determine what
+ 	sort of macro it is, and code to check for redefinitions, from
+ 	do_define.  Implement a few simple cases without creating a
+ 	full DEFINITION.
+ 	(_cpp_macroexpand, special_symbol, _cpp_dump_definition):
+ 	Handle the simple cases.
+ 	(push_macro_expansion): Set buf->has_escapes and hp->disabled
+ 	here.
+ 
+ 	* cppinit.c (builtin_array): Change MCONST to XCONST
+ 	everywhere.
+ 	* cpplex.c (maybe_macroexpand): Handle IDENTITY macros here;
+ 	fix check for disabled and function-like macros.
+ 	* cpplib.c (do_define): Move most logic to
+ 	_cpp_create_definition.
+ 	(do_undef): Handle new special token types.
+ 
+ Sun Apr 23 14:27:44 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (maybe_eliminate_biv_1): Use GET_CODE (x) == CONST_INT instead
+ 	of CONSTANT_P for mult_val; always use validate_change to update insn.
+ 
+ 2000-04-22  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (trad_stringify, add_pat): New functions.
+ 	(collect_expansion): Restore support for -traditional syntax.
+ 	Use trad_stringify and add_pat.
+ 	(_cpp_macroexpand): Restore support for -traditional semantics.
+ 	* cpplex.c (_cpp_scan_line): Don't change space_before if we
+ 	get a COMMENT token.
+ 	(_cpp_lex_token): Provide COMMENT tokens to caller if
+ 	traditional and parsing_define_directive.
+ 	(skip_comment): Warn about // comments if -Wtraditional.
+ 	* cpplib.c (do_define): Fix typo.  Create EMPTY nodes with
+ 	proper node type.
+ 	(do_undef): Don't warn about undefining EMPTY nodes.
+ 
+ Sat Apr 22 22:35:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (strength_reduce): Fix biv removal code.
+ 
+ 2000-04-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* predict.c (estimate_probability): Examine both sides of
+ 	a branch for no exits.  Use 90% not 50% for predict taken.
+ 	Reorg for one copy of note generation code.
+ 
+ 2000-04-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
+ 
+ 2000-04-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* diagnostic.c (init_output_buffer): Don't initialize format_args.
+ 	(output_clear): Likewise.
+ 	(output_printf): Use va_copy.
+ 	(vline_wrapper_message_with_location): Likewise.
+ 	(v_message_with_decl): Likewise.
+ 	(line_wrapper_printf): VA_START infor buffer.format_args directly.
+ 	* system.h (va_copy): Provide default implementation.
+ 
+ 2000-04-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* predict.c (expected_value_to_br_prob): Don't bomb if op1 of
+ 	the collected condition is not a constant.
+ 
+ 2000-04-22  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h: New file.
+ 
+ 	* Makefile.in (diagnostic.o): Depends on diagnostic.h
+ 
+ 	* diagnostic.c: Tweak.  Rationalize the output logic.  Adjust
+ 	various function prototypes.
+ 	(diagnostic.h): #include.
+ 	(struct output_buffer): Move into diagnostic.h.
+ 	(get_output_prefix): Rename to output_get_prefix.  Export.
+ 	(init_output_buffer): Export. Break out.  Adjust initialization.
+ 	(output_space_left, output_append): Export.
+ 	(output_newline): Rename to output_add_newline.  Export.
+ 	(output_clear): Nullify additional output_buffer fields.
+ 	(output_puts): Rename to output_add_string.  Export.
+ 	(dump_output): Rename to output_flush_on.  Export.
+ 	(build_location_prefix): Constify return-type.
+ 	(emit_output_prefix): Rename to output_emit_prefix. Export.
+ 	(set_real_maximum_length): New function.
+ 	(output_set_maximum_length): Ditto
+ 	(output_clear): Ditto.
+ 	(output_add_character): Ditto.
+ 	(output_add_integer): Ditto.
+ 	(output_add_space): Ditto.
+ 	(output_format): Ditto.
+ 	(output_printf): Adjust buffer initialization.
+ 	(vline_wrapper_message_with_location): Ditto.
+ 	(v_message_with_decl): Ditto.  Adjust call to output_puts
+ 	and get_output_prefix.
+ 	(default_print_error_function): Adjust buffer initialization.
+ 
+ Sat Apr 22 06:45:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (preexpand_calls, case CALL_EXPR): Don't look at TYPE_SIZE
+ 	of VOID_TYPE.
+ 
+ Fri Apr 21 18:33:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead
+ 	of explicit 0.
+ 
+ Fri Apr 21 18:30:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
+ 	accurate data about SP moves.
+ 
+ Fri Apr 21 18:28:28 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added
+ 	aliases to AM33 registers.
+ 
+ Fri Apr 21 18:26:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16
+ 	to all EXTENDED bitmaps.
+ 
+ Fri Apr 21 18:17:12 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare.
+ 	* config/mn10300/mn10300.h (ADDRESS_COST): New macro.
+ 	* config/mn10300/mn10300.c (mn10300_address_cost): New function.
+ 
+ Fri Apr 21 18:11:56 2000  Alexandre Oliva  <aoliva@cygnus.com>
+ 
+ 	* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
+ 	the operand is not constant.
+ 
+ Fri Apr 21 14:58:29 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* reload.c (find_equiv_reg): Checks all valueno and regno regs
+ 	as a call-clobbered regs.
+ 
+ Fri Apr 21 13:30:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
+ 	* rtl.h: Likewise.
+ 	* rtl.def: Update comment.
+ 	* function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* profile.c (branch_prob): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
+ 	(reemit_notes): Likewise; also use enum insn_note.
+ 
+ 	* stor-layout.c (layout_decl): Only set DECL_MODE if not already set.
+ 	(place_field): Properly compute know and actual alignment.
+ 
+ 	* gengenrtl.c (gencode): Write obstack_alloc_rtx function start
+ 	in proper format.
+ 
+ 	* cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL
+ 	note for REG1.
+ 
+ 2000-04-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (struct arg, struct arglist): Const-ify strings.
+ 	(warn_trad_stringify, duplicate_arg_p): New helper functions.
+ 	(collect_expansion): Rewrite to scan over a token list.
+ 	Remove -traditional support.
+ 	(collect_formal_parameters): Rename to collect_params; rewrite
+ 	to scan over a token list.
+ 	(_cpp_create_definition): Adjust to scan a token list.
+ 	(_cpp_macroexpand): Remove -traditional support.
+ 	(_cpp_compare_defs): Whitespace is now canonicalized.
+ 	(comp_def_part): Delete function.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	* cpplex.c (init_token_list): Don't set lineno if there is no
+ 	buffer.
+ 	(pedantic_whitespace): New function.
+ 	(_cpp_scan_line): Mark tokens that had hspace before.  Don't
+ 	consume a newline.  Use pedantic_whitespace.
+ 	(_cpp_lex_token): Remove support for -traditional macros.
+ 	(_cpp_get_define_token): Delete.
+ 	(_cpp_get_directive_token): Do the real work here.  Use
+ 	pedantic_whitespace.
+ 	(_cpp_init_input_buffer): Initialize pfile->directbuf.
+ 
+ 	* cpplib.c (get_macro_name): Delete.
+ 	(do_define): Read the entire line into pfile->directbuf, then
+ 	feed the token list to _cpp_create_definition.
+ 	* cpplib.h (HSPACE_BEFORE): new define.
+ 	(struct cpp_reader): Add a toklist member, "directbuf".
+ 
+ 	* predict.c (estimate_probability): New heuristic: if a jump
+ 	branches around a block with no successors, predict it taken.
+ 	Disentangle control flow.
+ 
+ 2000-04-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (emit_iv_add_mult): Revert last change.
+ 
+ 2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (enum cpp_ttype): Add token types for all
+ 	punctuators.  Distinguish pp-numbers from valid C numbers.
+ 	Give some tokens better names.  Initialize from macro.
+ 	(struct cpp_name, cpp_token, cpp_toklist): New data
+ 	structures.
+ 	Update prototypes.
+ 	* cpplex.c (bump_column, expand_name_space,
+ 	expand_token_space, init_token_list, cpp_output_list,
+ 	_cpp_scan_line):  New functions.
+ 	(output_line_command): Add third argument, new line number.
+ 	* cpphash.h: Update prototypes.
+ 	* cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new
+ 	token names.
+ 
+ 2000-04-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
+ 
+ 2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
+ 	object pointed to.
+ 
+ Thu Apr 20 14:19:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (emit_iv_add_mult):  Simplify it's input and emit
+ 	REG_EQUAL note explaining the calculated value.
+ 
+ 	* calls.c (expand_call): Avoid unnecesary precalculation
+ 	and outgoing parameters space guarding for sibling calls.
+ 	(store_one_arg): Likewise.
+ 
+ Thu Apr 20 08:01:07 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
+ 	(rest_of_compilation): Write sibling dump file and account
+ 	for time as jump time.
+ 	* invoke.texi: Update documentation on dump flags.
+ 
+ 2000-04-19  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
+ 
+ 2000-04-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (special_symbol): Represent an empty macro with
+ 	"\r \r " not just "\r ".
+ 	(_cpp_macroexpand): Correct condition for the foo ( ) special
+ 	case.
+ 	(unsafe_chars): Handle EOF as second argument.
+ 	(push_macro_expansion): Simplify test for removing escape at
+ 	end.  Do not trim both escapes if there is no text in between.
+ 
+ 2000-04-19  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* dwarf2out.c (DWARF2_ADDR_SIZE): New macro.  Use it instead
+ 	of PTR_SIZE, when appropriate.
+ 
+ 2000-04-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* system.h (ONLY_INT_FIELDS): Make sure it is defined.
+ 	(USE_ENUM_BITFIELDS): Fix typo.
+ 
+ Wed Apr 19 12:14:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (place_field): Set rli->offset_align properly.
+ 
+ 2000-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG,
+ 	INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
+ 	PARM_BOUNDARY): Remove unnecessary casts.
+ 
+ Wed Apr 19 12:02:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (precompute_arguments): Remove must_preallocate and
+ 	args_size calls.
+ 	(expand_call): Update call of precompute_arguments.
+ 
+ 	* loop.c (check_insn_for_bivs, for_every_insn_in_loop,
+ 	check_insn_for_givs): Break out from ...
+ 	(strength_reduce) ... here; use for_every_insn_in_loop to call
+ 	check_insn_for_givs.
+ 	* loop.h (for_every_insn_in_loop): Declare.
+ 	(loop_insn_callback): New type.
+ 
+ 2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_pragma_poison):  Strings in the token buffer are
+ 	not nul-terminated.
+ 
+ Tue Apr 18 16:04:12 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
+ 	flag_pic and RELOC.
+ 
+ 2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
+ 
+ 	* configure.in: Delete --disable-cpplib option and all
+ 	references to cpp_main.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
+ 	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
+ 	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
+ 	cpp$(exeext).  Add --no-headers to makeinfo command line when
+ 	generating INSTALL.  Install and uninstall cpp.1 manpage, not
+ 	cccp.1.
+ 	* install.texi: Delete all references to cexp.y/cexp.c.
+ 	Delete ancient instructions for compiling GCC on 3b1.
+ 	* INSTALL: Regenerate.
+ 
+ 	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
+ 	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
+ 	* convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
+ 	cexp.c/cexp.y.
+ 	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
+ 	which is no longer tested anywhere.
+ 
+ 	* cppinit.c (handle_option): Don't run error message through
+ 	gettext twice.
+ 
+ Tue Apr 18 14:16:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* conflict.c (conflict_graph_add): Pass enum type to htab_find_slot.
+ 	* cpperror.c (hashtab.h): Now include.
+ 	* cppexp.c (hashtab.h): Likewise.
+ 	* cpplex.c (hashtab.h): Likewise.
+ 	* cppfiles.c (hashtab.h): Likewise.
+ 	(find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type
+ 	to htab_find_slot_with_hash.
+ 	* cpphash.c (hashtab.h): Now include.
+ 	(_cpp_lookup_slot): INSERT is now enum insert_option.
+ 	* cpphash.h (_cpp_lookup_slot): Likewise.
+ 	* cppinit.c (hashtab.h): Include earlier.
+ 	(initialize_builtins): Pass enum to htab_find_slot.
+ 	* cpplib.c (hashtab.h): Now include.
+ 	(do_define, do_undef): Pass enum type to _cpp_lookup_slot.
+ 	(do_pragma_poison, do_assert): Likewise.
+ 	* emit-rtl.c (gen_rtx_CONST_INT): Pass enum to
+ 	htab_find_slot_with_hash.
+ 	* simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise.
+ 	* tree.c (type_hash_add): Likewise.
+ 	(build1): Minor cleanup.
+ 
+ 	* ggc-common.c: Add missing blanks.
+ 	* print-tree.c (print_node): Print DECL_OFFSET_ALIGN.
+ 	* tree.h (DECL_OFFSET_ALIGN): Fix typo in comment.
+ 
+ 	* stmt.c (mark_case_node): New function.
+ 	(mark_case_nesting): Call it.
+ 
+ 	* expmed.c (emit_store_flag): If comparing two-word integer
+ 	with zero, can optimize NE, EQ, GE, and LT.
+ 
+ 	* c-decl.c (mark_binding_level): Use 'for' instead of `while'.
+ 	* conflict.c: Minor cleanups.
+ 	* optabs.c: Add blank line
+ 	* simplify-rtx.c: Minor cleanups.
+ 
+ 2000-04-18  Stan Cox  <scox@cygnus.com>
+ 
+ 	* gengenrtl.c (genlegend): Fix misspelling.
+ 
+ 2000-04-18  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added.  Check that
+ 	bitfields of the host compiler are not signed quantities.
+ 	* config.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* system.h (USE_ENUM_BITFIELDS): Added.
+ 	(ENUM_BITFIELDS): Added.
+ 	* rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD.
+ 	(SHORT_ENUM_BUG): Deleted.
+ 	* tree.h (tree_common): Members `code', `mode', `built_in_class',
+ 	now ENUM_BITFIELD.
+ 	* config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted.
+ 	(CODE_FIELD_BUG): Likewise.
+ 	* config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG.
+ 	(OLD_CC): Likewise.
+ 	* config/m68k/x-ccur (X_CFLAGS): Likewise.
+ 
+ 2000-04-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the
+ 	mark is active.
+ 
+ 2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c (lex): Don't assume tokens are NUL terminated.
+ 	* cpplib.c (do_include, do_import, do_include_next,
+ 	read_line_number, detect_if_not_defined): Likewise.
+ 	* cpphash.c (collect_expansion): Likewise.
+ 	(special_symbol, _cpp_macroexpand): Check return from
+ 	cpp_file_buffer.
+ 	* cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete
+ 	macros.  Delete all uses.
+ 
+ 	* gcc.dg/cpp-mi.c: Add two more test cases.
+ 	* gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files.
+ 
+ 2000-04-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* bb-reorder.c (fixup_reorder_chain): Don't look up new block again.
+ 	(reorder_basic_blocks): If no epilogue in rtl, force last block last.
+ 
+ 2000-04-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (expand_function_start): Use hard_function_value to
+ 	compute the RTL to use for DECL_RESULT.
+ 
+ Mon Apr 17 23:35:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
+ 	(x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ 	 x86_memory_mismatch_stall): New global variables.
+ 	(ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
+ 	alloved; fix load penalties for Athlon.
+ 	* i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ 	x86_memory_mismatch_stall): Declare.
+ 	(TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
+ 	 TARGET_MEMORY_MISMATCH_STALL): New.
+ 	* i386.md (athlon scheduling parameters): Fix latencies according to
+ 	Athlon Optimization Manual.
+ 	(sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
+ 	vector.
+ 	(fsqrt instruction patterns): Set athlon_decode to direct.
+ 	(movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
+ 	PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
+ 	(movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
+ 	and TARGET_PARTIAL_REGISTER_STALL machines.
+ 	(pushdf_nointeger): New pattern.
+ 	(pushdf_integer): Rename from pushdf.
+ 	(movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
+ 	(movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.
+ 
+ 2000-04-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* loop.c (canonicalize_condition): Add WANT_REG argument.
+ 	Stop the search if we match it.
+ 	* expr.h (canonicalize_condition): Update decl.
+ 	* predict.c (expected_value_to_br_prob): Use it.  Track last
+ 	expected value note.
+ 	(find_expected_value): Remove.
+ 
+ 	* reorg.c (mostly_true_jump): Always use BR_PROB if present.
+ 
+ 2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]).
+ 	(AC_FUNC_MMAP_FILE): New macro, tests read-only private map of
+ 	a plain file.
+ 	* configure.in: Call AC_FUNC_MMAP_FILE.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 	* intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP.
+ 	* fixinc/fixincl.c: Likewise.
+ 
+ 2000-04-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_expect): New.
+ 	(expand_builtin): Call it.
+ 	* builtins.def (BUILT_IN_EXPECT): New.
+ 	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect.
+ 	* extend.texi: Document it.
+ 
+ 	* predict.c (expected_value_to_br_prob): New.
+ 	(find_expected_value): New.
+ 	* basic-block.h (expected_value_to_br_prob): Declare.
+ 	* toplev.c (rest_of_compilation): Invoke it.
+ 
+ 	* rtl.h (NOTE_EXPECTED_VALUE): New.
+ 	(NOTE_INSN_EXPECTED_VALUE): New.
+ 	* rtl.c (note_insn_name): Update.
+ 	* print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special
+ 	cases; handle NOTE_INSN_EXPECTED_VALUE.
+ 
+ 2000-04-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
+ 	leaf sibcall delay slot if flag_pic.
+ 	(output_sibcall): Always emit call for leaf sibcall if flag_pic.
+ 
+ 2000-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (stmp-fixproto): Acknowledge errors in fixproto.
+ 
+ 	* fixproto: If fix-header fails, exit with an error.
+ 
+ Mon Apr 17 14:59:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (struct check_dependence_data): New.
+ 	(check_dependence): New function.
+ 	(invalidate): Use check_depdenence.
+ 
+ 2000-04-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that
+ 	UNITS_PER_WORD is unsigned.
+ 
+ 	* tree.h (struct tree_common): Remove misleading comment.
+ 
+ 2000-04-16  Dave Pitts  <dpitts@cozx.com>
+ 
+ 	* Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
+ 	message in quotes. Otherwise, IBM's make program treats the '#' as the
+ 	start of a comment and ignores the remainder of the line.
+ 
+ 	* c-lex.c (yylex): Change for EBCDIC, lower case characters precede
+ 	upper case.
+ 	* cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
+ 	* cexp.y (initialize_random_junk): Likewise.
+ 	* cppfiles.c (find_include_file): Cast alloca return value.
+ 	* cppinit.c (initialize_standard_includes): Likewise.
+ 	* cpplib.c (cpp_define, cpp_undef): Likewise.
+ 	* defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
+ 	* final.c (output_asm_insn): Allow for holes in EBCDIC.
+ 	* fold-const.c (CHARMASK): New.
+ 	(real_hex_to_f): Use it.
+ 	* real.c (CHARMASK): New.
+ 	(etoasc, asctoeg): Use it.
+ 	(asctoeg): EBCDIC lower case characters precede upper case.
+ 
+ 	* i370.c (mvs_add_label): Change spacing for coding conventions.
+ 	* i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
+ 	outputting case vectors.
+ 	(ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
+ 	since vector in in the data CSECT.
+ 	(ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.
+ 	* i370.md (Many patterns): Put the length in the XL directives.
+ 	(movdi): Put back STM and MVC in definition.
+ 	(floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
+ 	pattern using the TCA.
+ 	* oe.h (CPP_SPEC): Added to allow trigraphs.
+ 	* xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
+ 	not support the "long long" type.
+ 
+ 2000-04-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/mips-protos.h (mips_legitimate_address_p): New
+ 	function.
+ 	(mips_reg_mode_ok_for_base_p): Likewise.
+ 	* config/mips/mips.h (REG_OK_STRICT_P): Don't define.
+ 	(REG_OK_FOR_INDEX_P): Define unconditionally.
+ 	(REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
+ 	* config/mips/mips.c (mips16_simple_memory_operand): Adjust now
+ 	that GET_MODE_SIZE is unsigned.
+ 	(mips_reg_mode_ok_for_base_p): Define.
+ 	(mips_legitimate_address_p): Likewise.  Adjust now
+ 	that GET_MODE_SIZE is unsigned.
+ 	(block_move_loop): Make the number of bytes unsigned.
+ 	(expand_block_move): Likewise.
+ 	(function_arg): Make the loop counter unsigned to match the
+ 	boundary condition.
+ 
+ 2000-04-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.h (enum insn_note): New enumeration.  Subsume
+ 	NOTE_INSN_DELETED and friends.
+ 	(GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS.
+ 	* rtl.c (note_insn_name): Tweak string order.
+ 
+ 2000-04-15  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
+ 	to offset * 2.
+ 
+ 	* cpplex.c (output_line_command): Remove debugging prints.
+ 	(cpp_output_tokens): Don't write out a zero-length buffer or
+ 	try to see if it has a newline in it.
+ 	(_cpp_expand_to_buffer): Copy the source buffer before pushing.
+ 	(_cpp_read_and_prescan): Move shift-down of pushback bytes to
+ 	the end of the loop.  Use memmove.  Don't read past the end of
+ 	the buffer.  Remove trailing newlines from error messages.
+ 
+ 2004-04-16  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
+ 	* cpplib.c: Add new syntax flags to directive table, and
+ 	supporting macros.
+ 
+ 2000-04-15  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once
+ 	using ret $N.
+ 
+ 2000-04-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* toplev.c (display_help): Prefix "f" to "sched-verbose=".
+ 	* haifa-sched.c: Update -fsched-verbose comments to use "=".
+ 
+ Sat Apr 15 10:59:19 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (ggc-page.o): Now includes toplev.h.
+ 	* ggc-page.c (toplev.h): Now included.
+ 	(gc_time): Remove declaration.
+ 	(ggc_collect): TIME now long.
+ 	* toplev.c (parse_time, varasm_time, gc_time): Still global; all
+ 	others static.
+ 	* toplev.h (gc_time, parse_time, gc_time): New declarations.
+ 
+ 	* toplev.c: Make *_time variable long to reduce chance of overflow.
+ 	(TIMEVAR): Likewise for `otime'.
+ 	(print_time): Arg is now long; compute percentage in FP and round.
+ 	* toplev.h (print_time): Arg is long.
+ 
+ 	* tree.c: Minor whitespace changes.
+ 
+ 	* configure.in (alpha*-*-*): Add config/alpha/t-alpha.
+ 	* configure: Rebuilt.
+ 	* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
+ 	(__fixunsxfDI): Renamed from __fixunsxfdi.
+ 	(__fixunsdfDI): Renamed from __fixunsdfdi.
+ 	(__fixunssfDI): Renamed from __fixunssfdi.
+ 	(__floatdisf): Use proper type in REP_BIT macro.
+ 	(__fixunsxfSI): Renamed from __fixunsxfsi.
+ 	(__fixunsdfSI): Renamed from __fixunsdfsi.
+ 	(__fixunssfSI): Renamed from __fixunssfsi.
+ 	* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
+ 	Change location of macros and upper-case some names as above.
+ 	* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
+ 	* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
+ 
+ 	* varasm.c (assemble_variable): Add cast to remove warning.
+ 	(immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
+ 
+ 	* flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
+ 	* optabs.c (emit_libcall_block): If have REG_EH_REGION, update
+ 	region number to -1.
+ 
+ 2000-04-15  Richard Earnshaw (rearnsah@arm.com)
+ 
+ 	* emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
+ 	call unshare_all_rtl.
+ 
+ 	* arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
+ 
+ Fri Apr 14 16:58:45 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
+ 	Use .s1 not .s0 for all FP instructions.
+ 
+ 2000-04-14  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
+ 	interfaces.
+ 	(safe_fwrite, output_line_command): New static functions.
+ 	(cpp_expand_to_buffer): Now private to cpplib.
+ 	(cpp_scan_buffer): Take a printer.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	* cpplib.h: Update prototypes.
+ 	(cpp_printer): New.
+ 	(cpp_buffer): Remove last_nominal_fname.
+ 	(cpp_reader): Remove lineno.
+ 
+ 	* cppmain.c: Use a cpp_printer.
+ 	* fix-header.c: No need to inhibit line commands.  Call
+ 	cpp_start_read with no printer.
+ 
+ 	* cpperror.c (cpp_notice_from_errno): Provide default name.
+ 	* cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
+ 	(find_include_file, cpp_read_file): Use make_IHASH.
+ 	(file_cleanup): Set control_macro and clear
+ 	input_stack_listing_current here.
+ 	(_cpp_execute_include): Don't output entering-file marker.
+ 	* cpphash.c (special_symbol): Look for the line number in the
+ 	buffer, not the reader.
+ 	(_cpp_macroexpand): No need to disable line commands.
+ 	(_cpp_dump_definition): No need to generate line commands.
+ 	(dump_hash_helper): Remove excess newline from output.
+ 	* cppinit.c (dump_special_to_buffer): No need to generate line
+ 	commands.
+ 	(cpp_printer_init): New.
+ 	(cpp_start_read): Take a printer, and start it up if it's not
+ 	NULL.  No need to generate line commands.
+ 	(cpp_finish): Expect no buffers stacked at all.  Take a
+ 	printer argument, and flush the output buffer if it's not
+ 	NULL.
+ 	* cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
+ 	Don't put two hashes at the beginning of an assertion.
+ 	(cpp_get_token): Don't increment pfile->lineno or emit line
+ 	commands here.  Return EOF if there's no buffer when we get
+ 	EOF.
+ 	* cpplib.c (do_define, skip_if_group):
+ 	No need to disable line commands.
+ 	(_cpp_output_line_command): Delete function.
+ 	(do_line): Don't emit line commands here, but set things up so
+ 	they will be emitted if necessary.  Use _cpp_fake_ihash to
+ 	make unique nominal_fnames if necessary.
+ 	(do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
+ 	with 0 for column, not -1.
+ 	(_cpp_handle_eof): Don't set the control macro here.  Don't
+ 	clear input_stack_listing_current here.  Don't emit line
+ 	commands.
+ 
+ 2000-04-14  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
+ 	always, use the default SVR4 start address.
+ 
+ 	* config/rs6000/linux.h (LINK_SPEC): Don't define.
+ 	(LINK_SHLIB_SPEC): Define.
+ 	(LINK_START_DEFAULT_SPEC): Define.
+ 	(LINK_OS_DEFAULT_SPEC): Define.
+ 
+ 	* config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
+ 
+ 	* config/rs6000/eabi.asm (__eabi): Call __init rather than
+ 	__do_global_ctors to handle constructors.
+ 	* config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
+ 	(STARTFILE_YELLOWKNIFE_SPEC): Likewise.
+ 	(STARTFILE_MVME_SPEC): Likewise.
+ 	(STARTFILE_SIM_SPEC): Likewise.
+ 	(ENDFILE_ADS_SPEC): Use crtend.
+ 	(ENDFILE_YELLOWKNIFE_SPEC): Likewise.
+ 	(ENDFILE_MVME_SPEC): Likewise.
+ 	(ENDFILE_SIM_SPEC): Likewise.
+ 	(STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
+ 	(ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
+ 	(STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
+ 	(ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
+ 	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
+ 	(EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
+ 	(CRTSTUFF_T_CFLAGS_S): Define.
+ 	* config/rs6000/eabi-ctors.c: Delete.
+ 
+ 	* config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
+ 	boundary.
+ 	(__fini): Likewise.
+ 	* config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
+ 	boundary.
+ 	(__fini): Likewise.
+ 
+ Fri Apr 14 16:09:02 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
+ 	plus mask size is smaller or equal to the mode size.
+ 
+ Fri Apr 14 18:07:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
+ 	not yet set.
+ 
+ 	* expr.c (reload.h): Now included.
+ 	(emit_block_move): Set volatile_ok when checking for movstr.
+ 	(emit_move_1): Check for replacements in addresses in multi-word case.
+ 	* Makefile.in (expr.o): Now includes reload.h.
+ 
+ 	* flow.c (count_basic_blocks): Remove unused var PREV_CALL.
+ 	Never have a LIBCALL end a basic block.
+ 	(find_basic_blocks_1): Likewise.
+ 	Reorganize CALL_INSN cases.
+ 
+ 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
+ 
+ Fri Apr 14 10:54:22 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
+ 	completers from mov.ret instruction.
+ 
+ 2000-04-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fold-const.c (extract_muldiv): Don't distribute and widen
+ 	multiply across plus for non-sizetype unsigned types.
+ 
+ 2000-04-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_auto_inc): Don't autoinc eliminable registers.
+ 	If the original source is dead in the incr insn, it's dead now.
+ 
+ Fri Apr 14 07:40:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
+ 	see if DECL_BIT_FIELD needs to still be set.
+ 
+ 	* tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
+ 
+ 	* dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
+ 	print_int_cst_octal with something that's not an INTEGER_CST.
+ 
+ 	* config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
+ 	and not a SUBREG to a FLOAT rtl.
+ 
+ Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* emit-rtl.c (try_split): Avoid infinite loop if the split
+ 	results in a sequence that contains the original insn.
+ 
+ 2000-04-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/mips.c (expand_block_move): Pass alignment
+ 	argument to move_by_pieces in bits, not bytes.
+ 
+ 	* config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
+ 	__pic__ for little endian.
+ 
+ 2000-04-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386-protos.h: Add prototype for
+ 	uno_comparison_operator.
+ 
+ Thu Apr 13 15:55:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
+ 	* calls.c (ECF_PURE): New flag.
+ 	(emit_call_1): Handle ECF_PURE calls.
+ 	(initialize_argument_information): Unset ECF_PURE flag too.
+ 	(precompute_arguments): Precompute for ECF_PURE too.
+ 	(expand_call): Handle ECF_PURE calls too.
+ 	(emit_library_call_value_1): Rename no_queue argument to fn_type,
+ 	accept value of 2 as pure function.
+ 	(emit_library_call_value, emit_library_call): Rename no_queue argument
+ 	to fn_type.
+ 	* optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
+ 
+ 	* tree.h (DECL_IS_PURE): New macro.
+ 	(struct tree_decl): Add pure_flag.
+ 	* c-common.c (enum attrs): Add attribute "pure".
+ 	(init_attributes): Initialize attribute "pure"
+ 	(decl_attributes): Handle attribute "pure".
+ 	* extend.texi (Attribute "pure"): Document.
+ 	* calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
+ 	in pure function.
+ 	(flags_from_decl_or_type): Support attribute "pure".
+ 
+ 2000-04-13  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
+ 	the token except for numbers and identifiers.
+ 
+ Thu Apr 13 00:09:16 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* i386.c (ix86_expand_binary_operator,
+ 	ix86_expand_unary_operator): Check no_new_pseudos
+ 	instead of reload_in_progress and reload_completed.
+ 	(ix86_split_ashldi, ix86_split_ashrdi,
+ 	ix86_split_lshrdi): Check no_new_pseudos instead
+ 	of reload_completed.
+ 
+ 2000-04-12  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (purge_addressof): Unshare any shared rtl created by
+ 	purge_addressof and its children.
+ 
+ 2000-04-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (aggregate_value_p): VOID_TYPE nodes are never
+ 	aggregates.
+ 
+ 2000-04-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
+ 	not compiling PIC code, add flags for mabi=64.
+ 	(SUBTARGET_CPP_SIZE_SPEC): New.
+ 	(SUBTARGET_CPP_SPEC): New.
+ 	(CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
+ 	for MIPS/Linux and lots of code needs these defines.
+ 
+ Wed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* reorg.c (fill_slots_from_thread): Check side_effects_p when
+ 	trying the "opposite arithmetic" approach.
+ 
+ Wed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
+ 	(struct sh_args): Add new field force_mem.
+ 	(INIT_CUMULATIVE_ARGS): Initialize it.
+ 	(FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.
+ 
+ Wed Apr 12 17:20:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Do not reverse args in "equal from" field.
+ 	(emit_library_call_value_1): Emit_libcall_block for const and pure
+ 	function.
+ 
+ Wed Apr 12 16:00:25 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine): Don't enable optimization for fixed
+ 	registers when encountering a BARRIER.
+ 
+ Wed Apr 12 15:54:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (expand_builtin_memcmp): Do expansion even with
+ 	!HAVE_cmpstrsi, do libcall when gen_strcmpsi fails.
+ 
+ 	* calls.c (expand_call): Do NO_DEFER_POP unconditionally once
+ 	stack is properly aligned; add sanity checking for aligned
+ 	stack pointer.
+ 	(expand_library_call_value_1): Add sanity checking for aligned
+ 	stack pointer.
+ 
+ Wed Apr 12 07:51:54 2000  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Change 3rd arg to
+ 	locate_and_pad_parm to disregard the setting of partial.
+ 
+ Wed Apr 12 08:47:38 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
+ 
+ 	* print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
+ 	CALL_INSN from the normal case.
+ 
+ Fri Apr  7 12:23:04 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
+ 	New global variables.
+ 	(ix86_emit_epilogue_adjustment): Do not attempt to use pop for the
+ 	adjustment.
+ 	* i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
+ 	Declare,
+ 	(TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4,
+ 	 TARGET_ADD_ESP_8): New macros.
+ 	* i386.md: Add peep2s to convert esp adjustments to push and pop
+ 	instructions.
+ 	(pushsi_prologue, popsi_epilogue): New patterns.
+ 
+ 2000-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* real.c (toe64): Remove stale #endif from the last change.
+ 
+ 2000-04-12  Stephen L Moshier  <moshier@mediaone.net>
+ 
+ 	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment.
+ 	* real.c (toe64): Revert previous change.
+ 
+ 2000-04-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* objc/objc-act.c: Include ggc.h.
+ 	(objc_tree_index, objc_global_trees): Convert most of the
+ 	static tree variables into a static array with previous names
+ 	as defines.
+ 	(objc_ellipsis_node): New variable.
+ 	(lang_init): Call objc_act_parse_init and c_parse_init.
+ 	Create objc_ellipsis_node.
+ 	(build_selector_translation_table): Use objc_ellipsis_node instead
+ 	of (tree)1.
+ 	(hack_method_prototype): Likewise.
+ 	(get_arg_type_list): Likewise.
+ 	(start_method_def): Likewise.
+ 	(continue_method_def): Likewise.
+ 	(gen_method_decl): Likewise.
+ 	(ggc_mark_imp_list): New function.
+ 	(ggc_mark_hash_table): New function.
+ 	(objc_act_parse_init): New function.
+ 	* objc/objc-act.h (objc_ellipsis_node): Add extern variable.
+ 	* c-parse.in (c_parse_init): For objc add roots of objc specific
+ 	local tree variables.
+ 	* objc/objc-parse.y: Rebuilt.
+ 	* objc/objc-parse.c: Rebuilt.
+ 	(opt_parm_list): Use objc_ellipsis_node instead of (tree)1.
+ 
+ Wed Apr 12 01:00:44 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* cse.c (delete_trivially_dead_insns): Also delete insns
+ 	that copy a register to itself where the destination is
+ 	a strict_low_part.
+ 
+ 2000-04-11  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (struct propagate_block_info): Add new_dead, new_live.
+ 	(propagate_block): Initialize them.  Use them in parallel instead
+ 	of one tmp variable, ie revert much of the 0408 and 0407 functional
+ 	changes, but keep the structural changes.
+ 	(mark_set_regs): Take new_dead from propagate_block_info instead.
+ 	(mark_set_1, mark_set_reg): Likewise.
+ 	(mark_used_regs): Likewise with new_live.
+ 	(mark_used_reg): Likewise.  Revert 0408 change.
+ 
+ 2000-04-11  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2
+ 	restriction.
+ 	(DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction.
+ 
+ 2000-04-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/elfos.h (SELECT_SECTION): Decide whether to use a data or
+ 	const section to output a CONSTRUCTOR based on the same conditions
+ 	used for VAR_DECLs.
+ 
+ Tue Apr 11 09:55:59 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
+ 	* pa/pa-protos.h (output_call): Add additional argument indicating
+ 	if the call is a sibling/tail call.
+ 	(compute_zdepdi_operands, output_64bit_and): Prototype new functions.
+ 	(compute_64bit_ior, cmpib_comparison_operator): Likewise.
+ 	(function_arg, function_arg_partial_nregs): Likewise
+ 	* pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
+ 	(emit_move_sequence): Zero extend certain constants as needed
+ 	for TARGET_64BIT.
+ 	(compute_zdepdi_operands, output_64bit_and): New functions.
+ 	(output_64bit_ior, function_arg): Likewise.
+ 	(cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
+ 	(compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
+ 	(hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
+ 	(hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
+ 	(output_bvb): Likewise.
+ 	(output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
+ 	(output_call): New argument 'sibcall'.  Generate sibcall sequences
+ 	as needed.
+ 	(print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT.  For
+ 	(ouput_arg_descriptor): Do not emit argument descriptors for
+ 	TARGET_64BIT.
+ 	* pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
+ 	defined.
+ 	(TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
+ 	(FUNCTION_OK_FOR_SIBALL): Define.
+ 	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
+ 	(CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
+ 	(CPP_SPEC): Use new spec infrastructure.
+ 	(BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
+ 	(STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
+ 	(RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
+ 	(REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
+ 	(STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
+ 	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
+ 	(INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
+ 	(CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
+ 	(FUNCTION_ARG); Call out to C code.
+ 	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+ 	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
+ 	(MIN_UNITS_PER_WORD): Likewise.
+ 	* pa/pa.md (cmpdi): New expander.
+ 	(scc patterns, movstrsi): Not available for TARGET_64BIT.
+ 	(64bit conditional arithmetic): New patterns.
+ 	(absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
+ 	(movsicc): Not available if modes on all the operands to not match.
+ 	(movdicc): New expander and associated patterns.
+ 	(64bit branches): New patterns.
+ 	(pre_load, post_store): Generate appropriate code for TARGET_64BIT.
+ 	(pre_ldd, post_std): New patterns.
+ 	(64bit addil, load low part): New patterns.
+ 	(special movsf constant): Not available for TARGET_64BIT.
+ 	(movsf, movdf expanders): Force constants into memory.
+ 	(32bit movdf/movdi patterns): Disable for TARGET_64BIT.
+ 	(64bit movdf/movdi patterns): New patterns.
+ 	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
+ 	for TARGET_64BIT.
+ 	(extendqidi2, extendhidi2, extendsidi2): Similarly.
+ 	(adddi3 expander): Allow "arith_operand" for second input.
+ 	(32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
+ 	(64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
+ 	(mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
+ 	(muldi3): New expander for TARGET_64BIT.
+ 	(divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
+ 	for TARGET_64BIT.
+ 	(32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
+ 	patterns for TARGET_64BIT.
+ 	(64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
+ 	patterns for TARGET_64BIT.
+ 	(64bit bit insertion/extractions): New patterns for TARGET_64BIT.
+ 	(64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
+ 	(sibcall_epilogue): New expander.
+ 	(casesi): Tweak for TARGET_64BIT.
+ 	(call expanders): Set & use the outgoing argument pointer.  Use the
+ 	64bit call patterns as needed. Add additional arg to output_call.
+ 	(call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
+ 	(sibcall, sibcall_internal_symref): New expanders.
+ 	(sibcall_value, sibcall_value_internal_symref
+ 	(interspace_jump): Turn into an expander + matching patterns.
+ 	(canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
+ 	* pa/pa64-regs.h: Eliminate trigraph sequences.
+ 	* pa/pa64-start.h (TARGET_PA_20): Fix typo.
+ 
+ 2000-04-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
+ 	cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
+ 	cpp_token with cpp_ttype everywhere.
+ 	* cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
+ 	Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
+ 	CPP_BUF_COL.  Line and column numbers are unsigned int, not
+ 	long.
+ 	* cpplex.c (cpp_buf_line_and_col): Delete.
+ 	* cpplib.h (struct cpp_buffer, struct cpp_reader): Change
+ 	'long lineno' to 'unsigned int lineno'.
+ 	(CPP_BUF_LINE, CPP_BUF_COL): New macros.
+ 
+ 2000-04-11  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* extend.texi: ISO C99 is not a draft anymore.
+ 	* invoke.texi: ISO C++ is not a draft anymore.
+ 	* cpp.texi: __cplusplus is required by the ISO standard.
+ 
+ 	* extend.texi (-fthis-is-variable): Undocument.
+ 	* flags.h (warn_template_debugging): Remove declaration.
+ 	* gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
+ 	-Wenum-clash, -Wtemplate-debugging): Undocument.
+ 
+ 2000-04-10  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT
+ 	integer.
+ 	(HOST_UINT): New macro: Declare an unsigned HOST_WIDE_INT
+ 	integer.
+ 	(ARM_SIGN_EXTEND): Use HOST_UINT.
+ 	(STRIP_NAME_ENCODING): Prevent warnings about redefinitions.
+ 	(ASM_OUTPUT_LABELREF): Prevent warnings about redefinitions.
+ 	(INCOMING_RETURN_ADDR_RTX): Only define if Dwarf2 is supported.
+ 	(DWARF_FRAME_RETURN_COLUMN): Only define if Dwarf2 is supported.
+ 
+ 	* config/arm/arm.c: (const_ok_for_arm): Use HOST_UINT.
+ 	(arm_gen_constant): Use HOST_UINT.
+ 	(arm_canonicalize_constant): Use HOST_UINT.
+ 	(arm_reload_in_hi): Use HOST_UINT.
+ 	(arm_reload_out_hi): Use HOST_UINT.
+ 	(output_multi_immediate): Use HOST_UINT.
+ 	(int_log2): Use HOST_UINT.
+ 	(arm_poke_function_name): Use HOST_UINT.
+ 	(arm_output_epilogue): Use arm_volatile_func().
+ 	(output_thumb_prologue): Use arm_strip_name_encoding().
+ 
+ Mon Apr 10 15:40:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential
+ 	of sequence point problems.
+ 
+ 2000-04-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):
+ 	Recomment.
+ 	* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.
+ 
+ Mon Apr 10 07:21:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sbitmap.h: Whitespace changes and use upper-case macro args.
+ 	(struct simple_bitmap_def): All sizes now unsigned.
+ 	(EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
+ 	* sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
+ 	(sbitmap_vector_alloc): Parms and local vars now unsigned.
+ 	(sbitmap_zero): Cast bzero arg to PTR.
+ 	(sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
+ 	(sbitmap_union_of_diffs): Change loop index to unsigned and rework
+ 	loop to make structure clearer.
+ 	(sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
+ 	(sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
+ 	(sbitmap_a_and_b_or_c): Likewise.
+ 	(sbitmap_intersection_of_succs): Minor cleanups.
+ 	(sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
+ 	(sbitmap_union_of_preds): Likewise.
+ 	(sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
+ 	(debug_sbitmap): New function.
+ 
+ 	* c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
+ 	* c-typeck.c (convert_for_assignment): Likewise.
+ 
+ 	* expmed.c (init_expmed): Don't free objects we make.
+ 	* emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.
+ 
+ 	* expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
+ 	(expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.
+ 
+ 	* gcse.c (expr_hash_table_size): Now unsigned.
+ 	(compute_ae_gen): Local variable `i' now unsigned.
+ 	(compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
+ 	(compute_transout, hoist_code): Likewise.
+ 	(compute_local_properties): Likewise, also hash_table_size.
+ 	(alloc_expr_hash_table): N_INSNS now unsigned.
+ 	(delete_null_pointer_checks): Mark arg F as unused.
+ 
+ 	* regrename.c: Minor cleanups, including chang some variables
+ 	to unsigned int.
+ 
+ 2000-04-10  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (skip_block_comment): Use pointer arithmetic rather
+ 	than GETC ().
+ 	* cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.
+ 
+ 2000-04-10  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* invoke.texi (-fno-gnu-keywords): Remove classof, headof,
+ 	__classof__, and __headof__ from the list of gnu keywords.
+ 	(-ansi): Remove -foperator-names from list of implied options.
+ 	Do not call it ANSI C++.
+ 	(-foperator-names): Document as -fno-operator-names.
+ 
+ 2000-04-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (timestamp): Delete.
+ 	(del_HASHNODE): If type is T_MCONST, free value.cpval.
+ 	(special_symbol): Remove unnecessary braces.  Remove
+ 	T_VERSION.  Treat T_STDC like T_CONST unless
+ 	STDC_0_IN_SYSTEM_HEADERS.  Render both __DATE__ and __TIME__
+ 	when one is encountered, then convert them into T_MCONST
+ 	nodes.
+ 	* cppinit.c (builtin_array): version_string is T_MCONST.
+ 	__STDC__ has a "1" in its cpval.  Don't have a terminator
+ 	entry.  Clean up which entries are dumped.
+ 	(initialize_builtins): Only __STDC__ gets the special
+ 	-traditional treatment.  Count the length of builtin_array.
+ 	Render version_string here.
+ 	* cpphash.h: Remove T_VERSION.  Add T_MCONST.
+ 	* cpplib.h (struct cpp_reader): Remove timebuf.
+ 
+ 2000-04-09  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (pred): Update comparison_operator for the unordered
+ 	operators.
+ 
+ 	* config/i386/i386.c (no_comparison_operator): Disallow unordered
+ 	operators.
+ 	(fcmov_comparison_operator): Allow UNORDERED/ORDERED.
+ 	(uno_comparison_operator): New.
+ 	(put_condition_code): Handle UNORDERED/ORDERED.
+ 	(unsigned_comparison): Likewise.
+ 	(ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare.
+ 	(ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise.
+ 	(ix86_expand_fp_compare): Use them.  Take scratch as argument,
+ 	update all callers.  Handle all 8 unordered operators.
+ 	(ix86_expand_setcc): Lose the unordered argument, update all callers.
+ 	(ix86_expand_branch): Likewise.  Don't fully expand fp branches.
+ 	* config/i386/i386.h (PREDICATE_CODES): Update.
+ 	* config/i386/i386-protos.h (ix86_expand_fp_compare): Declare.
+ 	(ix86_expand_branch, ix86_expand_setcc): Update.
+ 	* config/i386/i386.md (sunordered, sordered): New.
+ 	(suneq, sunge, sungt, sunle, sunlt, sltgt): New.
+ 	(bunordered, bordered): New.
+ 	(buneq, bunge, bungt, bunle, bunlt, bltgt): New.
+ 	(*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New.
+ 	(*fp_jcc_5, *fp_jcc_6, and splitters): New.
+ 
+ 2000-04-09  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.h (ARM_NAME_ENCODING_LENGTHS): Strip `*' too.
+ 
+ Sun Apr  9 15:16:14 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (fix_truncsfhi2, fix_truncdfhi2,
+ 	fix_truncxfhi2): New patterns.
+ 	* i386.c (output_fix_trunc): Handle converting to HImode.
+ 
+ 2000-04-08  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* ssa.c (convert_to_ssa): Eliminate dead code when calling
+ 	life_analysis.
+ 	(convert_from_ssa): Call compute_bb_for_insn before life_analysis.
+ 	(for_each_successor_phi): Change parameter to basic_block.
+ 	(coalesce_regs_in_successor_phi_nodes): Likewise.
+ 	(coalesce_regs_in_copies): Likewise.
+ 	(compute_coalesced_reg_partition): Use basic_block instead of index.
+ 	* rtl.h (convert_to_ssa): Delete.
+ 	(convert_from_ssa): Likewise.
+ 	(successor_phi_fn): Likewise.
+ 	(for_each_successor_phi): Likewise.
+ 	(in_ssa_form): Likewise.
+ 	* basic-block.h (convert_to_ssa): Moved from rtl.h.
+ 	(convert_from_ssa): Likewise.
+ 	(successor_phi_fn): Likewise.
+ 	(in_ssa_form): Likewise.
+ 	(for_each_successor_phi): Likewise.  Change parameter to basic_block.
+ 	* flow.c (calculate_global_regs_live): Pass a basic_block to
+ 	for_each_successor_phi.
+ 
+ 2000-04-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_used_reg): Use reg_set_p to determine if a register
+ 	was modified in the current insn.
+ 
+ 2000-04-08  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm/thumb.md: Delete.
+ 	* arm/thumb-protos.h: Delete.
+ 
+ 2000-04-08  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	Merge changes from merged-arm-thumb-backend-branch onto trunk.
+ 
+ 	2000-04-08  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000408
+ 	into branch.
+ 
+ 	* arm.md (nop): Use the standard RTL expression.  Don't code as a
+ 	define_expand.
+ 	(*arm_nop, *thumb_nop): Delete.
+ 
+ 	* arm.c (const_ok_for_arm): Don't use ANSI extensions for defining
+ 	constants.  Use casts instead.
+ 	(arm_gen_constant, arm_rtx_costs, arm_reload_in_hi, arm_reload_out_hi,
+ 	output_multi_immediate, arm_poke_function_name): Likewise.
+ 	* arm.h (ARM_LEGITIIMIZE_RELOAD_ADDRESS, ARM_SIGN_EXTEND,
+ 	MASK_RETURN_ADDDR): Likewise.
+ 
+ 	2000-03-31  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000325
+ 	into branch.
+ 
+ 	* arm.md (eh_epilogue): New function.
+ 	* arm.h (struct machine_function): Move to here ...
+ 	* arm.c: ... from here.
+ 	(arm_output_epilogue): Support epilogues for __builtin_eh_return.
+ 	(thumb_exit): Extra parameter eh_ofs.  All callers changed.
+ 	Handle epilogues for __builtin_eh_return.  Make bit-fields unsigned.
+ 
+ 	2000-03-30  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/semi.h (ASM_SPEC): Restore definition.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
+ 
+ 	* config/arm/elf.h (ASM_SPEC): Restore definition.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
+ 
+ 	* config/arm/arm.h (ASM_SPEC): Remove definition.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Remove definition.
+ 
+ 	2000-03-26  Bernd Schmidt <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.c: Disable -fschedule-insns for Thumb.
+ 
+ 	2000-03-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	Various formating tidyups, elimination of compile time
+ 	warnings and synchronisation with internal sources:
+ 
+ 	* config/arm/arm-protos.h (assemble_align): Add prototype.
+ 	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
+ 	(gen_comapre_reg): Rename to arm_gen_compare_reg.
+ 	(arm_return_addr_rtx): Rename to arm_return_addr.
+ 
+ 	* config/arm/arm.c: Include except.h.
+ 	Define shorter typenames for strict minipool_node and struct
+ 	minipool_fix.
+ 	(arm_return_in_memory): For WinCE return all structures <= 32 bits
+ 	in memory.
+ 	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
+ 	(gen_comapre_reg): Rename to arm_gen_compare_reg.
+ 
+ 	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
+ 	already defined.
+ 	(ASM_SPEC): Define if not already defined.
+ 	(ASM_OUTPUT_DEF_FROM_DECLS): Define.
+ 
+ 	* config/arm/arm.md: Rename references to gen_rotated_half_load to
+ 	arm_gen_rotated_half_load, and references to gen_comapre_reg to
+ 	arm_gen_compare_reg.
+ 	(indirect_jump):  Only accept register operands.
+ 	(load_indirect_jump): Keep this pattern since combine can generate
+ 	it.
+ 
+ 	* config/arm/coff.h: Include aout.h.
+ 	(MULTILIB_DEFAULTS): Only define if not already defined.
+ 
+ 	* config/arm/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Move definition
+ 	into arm.h (so that COFF ports can support thumb based aliases).
+ 	(ASM_SPEC): Move definition into arm.h
+ 
+ 	* config/arm/linux-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Remove
+ 	redundant apcs spec.
+ 	(ASM_SPEC): Move definition to arm.h
+ 
+ 	* config/arm/semi.h (ASM_SPEC): Move definition to arm.h
+ 
+ 	* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Add support
+ 	for entries in the .bss section
+ 
+ 	2000-03-23  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Pass 0
+ 	to thumb_far_jump_used_p.
+ 
+ 	* config/arm/arm-protos.h (thumb_far_jump_used_p): Take a
+ 	single integer parameter.
+ 
+ 	* config/arm/arm.c (struct machine_function): Add two new
+ 	fields, 'far_jump_used' and 'arg_pointer_live'.
+ 	(thumb_far_jump_used_p): Once the decision has been made that
+ 	far jumps might be used, always return true.
+ 	If being called from the initial elimination offset macro then
+ 	do not bother to perform the test if the arg pointer is not
+ 	being used.
+ 	(thumb_unexpand_epilogue): Pass 1 to thumb_far_jump_used_p().
+ 	(output_thumb_prologue): Pass 1 to thumb_far_jump_used_p().
+ 
+ 	2000-03-23  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm.c (output_return_instruction): Handle more cases where we can
+ 	return from a function with an ldr instruction.
+ 	(arm_output_epilogue): Likewise.
+ 
+ 	* arm.c (thumb_expand_prologue): Don't clobber the frame pointer
+ 	if we need to push a large stack frame and there are no callee-saved
+ 	registers.
+ 
+ 	* arm.c (arm_debugger_arg_offset): An offset of 0 is also valid
+ 	in ARM code if the frame pointer has been eliminated.
+ 
+ 	* arm.md (epilogue, *epilogue_insns, consttable_*, align_4): Renumber
+ 	unspec_volatile arguments to avoid duplicates.
+ 	(consttable_1, consttable_2): Fixes for big-endian mode.
+ 
+ 	* arm.md (all ARM-mode load insns): Add neg_pool_range attribute
+ 	as appropriate.
+ 
+ 	Re-write constant pool code.
+ 	* arm.c (minipool_node, minipool_fix): New types.
+ 	(minifix): Delete type.
+ 	(arm_add_minipool_constant): Delete.
+ 	(arm_compute_minipool_offsets, arm_find_barrier,
+ 	arm_find_minipool_constant, fixup_compare, sort_fixups): Likewise.
+ 	(get_jump_table_size): Now returns HOST_WIDE_INT.
+ 	(move_minipool_fix_forward_ref, add_minipool_forward_ref): New
+ 	functions.
+ 	(move_minipool_fix_backward_ref, add_minipool_backward_ref): Likewise.
+ 	(assign_minipool_offsets, arm_print_value): Likewise.
+ 	(dump_minipool): Rewrite.
+ 	(arm_barrier_cost): New function.
+ 	(create_fix_barrier): New function.
+ 	(push_minipool_barrier): New function.
+ 	(push_minipool_fix): Record additional information about the fixup
+ 	required.
+ 	(note_invalid_constants): Remove push for (UNSPEC 3).  Don't
+ 	check the mode of what needs fixing.
+ 	(arm_reorg): Rewrite.
+ 
+ 	2000-03-08  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md (indirect_jump): Force constant addresses into
+ 	a register.
+ 
+ 	2000-03-01  Bernd Schmidt <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.md: Add splitter to turn SF moves into SI moves.
+ 
+ 	2000-02-24  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (thumb_expand_prologue): Make sure that stack
+ 	adjust is word aligned.
+ 	(thumb_expand_epilogue): Make sure that stack adjust is word
+ 	aligned.
+ 
+ 	* config/arm/elf.h (ASM_FILE_START): Fix type of version string.
+ 
+ 	2000-02-24  Bernd Schmidt <bernds@cygnus.com>
+ 
+ 	* config/arm/arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Allow frame
+ 	pointer relative addresses.
+ 
+ 	2000-02-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (find_barrier): Find the last barrier within the allowed
+ 	range.
+ 
+ 	2000-02-09  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm-protos.h: Replace PROTO with PARAMS.
+ 
+ 	2000-02-09  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to
+ 	ARM_FUNCTION_PROFILER.
+ 
+ 	* config/arm/netbsd.h (FUNCTION_PROFILER): Rename to
+ 	ARM_FUNCTION_PROFILER.
+ 
+ 	* config/arm/linux-oldld.h: Imported from mainline sources.
+ 
+ 	2000-02-07  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/lib1funcs.asm: Merge in thumb functions from
+ 	lib1thumb.asm.
+ 
+ 	* config/arm/lib1thumb.asm: Delete.
+ 
+ 	2000-02-04  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Sychronised with current Red hat local
+ 	sources.
+ 	* config/arm/arm.h: Ditto.
+ 	* config/arm/arm-protos.h: Ditto.
+ 
+ 	2000-02-02  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* arm.c (soft_df_operand): Reject SUBREGs containing a constant.
+ 
+ 	* arm.c (arm_gen_movstrqi): Generate halfword stores rather than two
+ 	byte stores.
+ 
+ 	2000-02-02  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c (thumb_exit): Additional fix for same bug.
+ 
+ 	* config/arm/arm.md (epilogue): Fix rtl checking abort because
+ 	(return) was emited using an emit_insn() call.
+ 
+ 	2000-01-31  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (output_thumb_prologue): Fix bug generating
+ 	thumb stack frame.
+ 	(thumb_exit): Move frame pointer back into hard frame pointer
+ 	register if backtracing is being used.
+ 
+ 	2000-01-13  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000113
+ 	into branch.
+ 
+ 	1999-12-15  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.md (neg_pool_offset): Provide default for new
+ 	attribute.
+ 	(arm_movsi_insn): Add neg_pool_offset attribute.
+ 	* config/arm/arm.c (arm_find_barrier): Replace arg FIX with an
+ 	rtx for the insn that starts the scan and an unsigned long for its
+ 	address.  Add MIN_OFFSET and PINSERTED args.  All callers changed.
+ 	Change scan to ignore insns before MIN_OFFSET.  Store size of inserted
+ 	instructions in *PINSERTED.
+ 	(struct minipool_fixup): Add MIN_ADDRESS elt.
+ 	(sort_fixups): Compute it.
+ 	(arm_reorg): Changes to support inserting pools before the insn to be
+ 	fixed up.
+ 
+ 	1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/elf.h (MULTILIB_DEFAULTS): Add "marm".
+ 	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Add "marm".
+ 	* config/arm/coff.h (MULTILIB_DEFAULTS): Add "marm".
+ 
+ 	Wed Nov  3 10:04:07 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/semi.h (TARGET_VERSION): Do not define if already
+ 	defined.
+ 	(TARGET_DEFAULT): Do not define if already defined.
+ 
+ 	Tue Nov  2 10:37:25 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.md (anddi3): Allow disjoint source operands.
+ 	(iordi3): Allow disjoint source operands.
+ 	(xordi3): Allow disjoint source operands.
+ 	(negdi2): Permit construction for ARM and Thumb.
+ 	(arm_negdi2): Renamed version of old negdi2 pattern.
+ 	(thumb_negdi2): New pattern: Only permit non-overlapping
+ 	source and destination.
+ 
+ 	Fri Oct 29 18:52:38 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (thumb_expand_prologue): Emit a USE of the
+ 	scratch low register so that it will not be deleted.
+ 
+ 	Fri Oct 29 15:23:48 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/pe.h (ARM_PE): Define.
+ 
+ 	* config/arm/arm.c (arm_valid_machine_decl_attribute): Allow
+ 	interfacearm attribute if this is a PE toolchain.
+ 	(output_return_instruction): Do not emit anything if the function
+ 	has the naked attribute set.
+ 	(is_called_in_ARM_mode): If the function has the interfacearm
+ 	attribute then return true.
+ 	(thumb_expand_prologue): Do not generate a prologue for naked
+ 	functions.
+ 	(thumb_expand_epilogue): Do not generate an epilogie for a naked
+ 	function.
+ 	(output_thumb_prologue): Do not bother if the function is naked.
+ 	Strip PE encoding from function name before emitting.
+ 
+ 	Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.md (pic_load_addr): Fix constraints.
+ 
+ 	* arm.md (casesi_insn): Fix mis-applied patch.
+ 
+ 	* arm.md ("core" function unit): Add rules for single- and
+ 	multi-cycle insns.
+ 	(All TARGET_THUMB patterns): Add "type" attribute information
+ 	where needed.
+ 	* arm.c (arm_adjust_cost): Reduce the cost of a data dependency if
+ 	the following insn is a CALL.
+ 
+ 	* arm.c (thumb_expand_epilogue): Add a use of the adjusted stack
+ 	pointer.
+ 	* arm.h (CONDITIONAL_REGISTER_USAGE): Nail down the
+ 	ARM_HARD_FRAME_POINTER_REGNUM when TARGET_APCS_FRAME.
+ 	(FRAME_POINTER_REQUIRED): Only check TARGET_APCS_FRAME if TARGET_ARM.
+ 
+ 	Wed Oct 27 14:40:48 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/linux-gas.h: oops - this file was missed out when the
+ 	branch was created...
+ 
+ 	Tue Oct 26 17:07:38 1999  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* thumb.c: Deleted.  Move contents to ...
+ 	* arm.c: ... here.
+ 	* t-arm-aout, t-arm-coff, t-arm-elf, t-linux, t-netbsd, t-semi: Remove
+ 	rule for thumb.o
+ 	* configure.in (arm*-*-*): Remove thumb.o from extra_objs list.
+ 	* configure: Regen.
+ 
+ 	* arm-protos.h: Use RTX_CODE and tidy up long lines.  Don't
+ 	declare a prototype for asm_output_align();
+ 
+ 	* arm.c (thumb_condition_code): Delete.
+ 	(arm_print_operand): Always use arm_condition_code array.
+ 
+ 	* arm.c (thumb_return_addr_rtx): Delete.
+ 	(arm_save_machine_status, arm_restore_machine_status): Delete.
+ 	(arm_init_machine_status, arm_mark_machine_status): New functions.
+ 	(arm_init_expanders): Update accordingly.
+ 	(arm_return_addr): Renamed from arm_return_addr_rtx.  Rewrite.
+ 	(thumb_expand_prologue): Delete code referencing thumb_return_addr_rtx.
+ 	* arm.h (RETURN_ADDR_RTX): Call arm_return_addr().
+ 
+ 	Tue Oct 26 13:24:16 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in : Fix arm-*-aout target to use new t-arm-aout
+ 	script.
+ 	* config/arm/t-arm-aout: New file: Makefile script for arm-*-aout
+ 	targets.
+ 
+ 	Tue Oct 26 11:27:12 1999  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c (output_thumb_prologue): Fix bug creating
+ 	stack backtrace structure.
+ 
+ 	* config/arm/arm-protos.h: Add prototypes for functions defined in
+ 	arm/pe.h.
+ 
+ 	* config/arm/arm.c (arm_override_options): Fix selection of
+ 	attributes of default processor.
+ 
+ 	* config/arm/coff.h: Delete needless #include.
+ 
+ 	* config/arm/pe.c: Delete unused code.
+ 
+ 	* config/arm/pe.h (CPP_DEFINES): Delete
+ 	(SUBTARGET_CPP_SPEC): Define.
+ 	(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
+ 
+ 	* config/arm/t-pe: Add -DInhibit_libc to allof libgcc.a to build.
+ 
+ 	Mon Oct 25 15:42:09 1999  Richard Earnshaw (rearnsha@arm.com)
+ 
+ 	* arm.h (TARGET_APCS_FRAME): Renamed from TARGET_APCS -- all uses
+ 	updated.
+ 	(CAN_DEBUG_WITHOUT_FP): Define.
+ 	(FIXED_REGISTERS): Make r11 call-saved.
+ 	(CALL_USED_REGISTERS): Likewise.
+ 	(CONDITIONAL_REGISTER_USAGE): Fix r11 if TARGET_APCS_FRAME.
+ 	(FRAME_POINTER_REQUIRED): Correct logic for determining when a
+ 	frame-pointer is required.
+ 	(TARGET_DEFAULT): Make default setting include ARM_FLAG_APCS_FRAME.
+ 	* arm.c (arm_override_options): Warn about -mno-apcs-frame and -g
+ 	if the target normally needs a stack frame in non-leaf functions.
+ 	(use_return_insn): Correct logic for determining when a return
+ 	instruction can be used.
+ 	(output_return_instruction): Handle the frame-pointer register as
+ 	a normal register when not TARGET_APCS_FRAME.
+ 	(arm_output_prologue): Likewise.
+ 	(arm_output_epilogue): Likewise.
+ 	(output_func_epilogue): Likewise.
+ 	(arm_expand_prologue): Likewise.
+ 	* netbsd.h semi.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_FRAME.
+ 
+ 	* arm.c (use_return_insn): No need to check floating point regs if
+ 	TARGET_SOFT_FLOAT.
+ 	(arm_find_minipool_constant): Correct typo; use GET_CODE to get
+ 	the code of value stored in the minipool array.
+ 	(arm_add_minipool_constant): Likewise.
+ 
+ 2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* basic-block.h (conflict_graph_enum_fn): K&R fix.
+ 
+ 2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.c (tree_expr_nonnegative_p): New function.
+ 
+ 	* tree.h (tree_expr_nonnegative_p): Declare.
+ 
+ 	* c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to
+ 	elide some sign_compare warnings.
+ 	(build_conditional_expr): Likewise.
+ 
+ Sat Apr  8 00:21:51 EDT 2000  John Wehle  (john@feith.com)
+ 
+ 	* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.
+ 
+ 	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
+ 	* i386.c (print_operand): Use the proper suffix for a 387 HImode
+ 	operand.  Abort if a 387 operand has an unsupported size.
+ 
+ 2000-04-08  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppexp.c (parse_charconst): Null does not end character
+ 	constants.
+ 	* cppinit.c (ISTABLE): Null character handled as whitespace.
+ 	* cpplex.c (null_warning):  new function.
+ 	(skip_string): Emit warning if nulls encountered.
+ 	(_cpp_skip_hspace): Emit warning if nulls encountered.
+ 	(_cpp_lex_token): Emit warning if nulls encountered.  Drop
+ 	them.
+ 	* cpp.texi: Update.
+ 
+ 2000-04-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (loop_depth): Remove.
+ 	(reg_next_use, cc0_live, mem_set_list): Replace with ...
+ 	(struct propagate_block_info): New.
+ 	(life_analysis): Don't allocate reg_next_use.
+ 	(propagate_block_delete_insn): Break out of propagate_block.
+ 	Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED.
+ 	(propagate_block_delete_libcall): Likewise.
+ 	(propagate_block): Create a propagate_block_info struct to pass
+ 	to subroutines.  Allocate one not two temporary regsets.  Don't
+ 	clobber memory for const calls.  Look for clobbers in
+ 	CALL_INSN_FUNCTION_USAGE.
+ 	(mark_set_regs): Recognize COND_EXEC.
+ 	(mark_set_reg): Break out of mark_set_1.
+ 	(mark_used_reg): Break out of mark_used_regs.
+ 	(mark_used_regs): Recognize COND_EXEC.
+ 	(insn_dead_p): Use propagate_block_info struct.
+ 	(libcall_dead_p, invalidate_mems_from_autoinc): Likewise.
+ 	(find_auto_inc, try_pre_increment_1): Likewise.
+ 	(print_rtl_with_bb): Dump regs live at end too.
+ 	(count_reg_sets_1): Pass in loop_depth.
+ 	(count_reg_sets, count_reg_references): Likewise.
+ 	(recompute_reg_usage): Provide it.
+ 
+ 2000-04-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
+ 	not the raw files.
+ 
+ 2000-04-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_elif): Skip the rest of the line if we're
+ 	not going to bother evaluating it.
+ 	(skip_if_group): Clear pfile->only_seen_white.  Reorder loop
+ 	to avoid pointless calls to the lexer.
+ 
+ Fri Apr  7 11:50:54 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.
+ 
+ 2000-04-07  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* calls.c (expand_call): emit_queue if we're trying a sibcall.
+ 
+ 2000-04-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
+ 
+ 2000-04-06  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* Makefile.in: Build crtbeginS and crtendS like crtbegin and
+ 	crtend so they can be multilibbed.
+ 	(STAGESTUFF): Remove s-crt and s-crtS.
+ 
+ 2000-04-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
+ 	if we discover we need a pseudo and no_new_pseudos is true.
+ 	* config/alpha/alpha.md (ne:DI insn): New.
+ 	(trunctfsf2, sne): Emit NE instead of non-canonical LTU.
+ 
+ 2000-04-07  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.def (COND_EXEC): New.
+ 	* rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New.
+ 	* tm.texi (MAX_CONDITIONAL_EXECUTE): Document.
+ 
+ 	* genconfig.c (have_cond_arith_flag): Remove.
+ 	(have_cond_exec_flag): New.
+ 	(walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE.
+ 	(main): Print HAVE_conditional_execution.
+ 
+ 	* haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC.
+ 	(sched_analyze_insn, print_pattern): Likewise.
+ 	* reload.c (find_equiv_reg): Likewise.
+ 	* rtlanal.c (reg_referenced_p): Likewise.
+ 	(note_stores, dead_or_set_regno_p): Likewise.
+ 	(reg_overlap_mentioned_p): Rewrite to use a switch.
+ 
+ 	* ggc.h (struct rtx_def): Forward declare.
+ 
+ 	* print-rtl.c (debug_rtx_range): New.
+ 	* rtl.h (debug_rtx_range): Declare.
+ 
+ 	* varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.
+ 
+ 	* gcse.c (gcse_main): Don't rebuild the CFG here.
+ 	(delete_null_pointer_checks): Likewise.
+ 	* ssa.c (convert_to_ssa): Likewise.
+ 	* toplev.c (rest_of_compilation): Do it here instead.  Combine
+ 	sequential calls to TIMEVAR.  Consistently use `insns' instead of
+ 	`get_insns()'.  Always split insns after reload when optimizing.
+ 
+ 	* basic-block.h (merge_blocks_nomove): Declare.
+ 	(tidy_fallthru_edge): Declare.
+ 	* flow.c (merge_blocks_nomove): Document as merging into previous
+ 	blocks.  Remove cruft from between blocks; remove all edges out of A.
+ 	(tidy_fallthru_edge): Export.
+ 
+ 2000-04-06  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* ssa.c (compute_conservative_reg_partition): Declare with
+ 	void arguments.
+ 	* toplev.c (clean_dump_file): Remove previously-deleted function
+ 	inadvertantly merged back in.
+ 	* conflict.c (conflict_graph_add): Use a single call to
+ 	htab_find_slot to look up and insert.
+ 
+ 2000-04-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* genrecog.c (*): Rename _last_insn to last_insn.
+ 	(make_insn_sequence): Set the position of the peephole2 C test
+ 	to be at the last insn.
+ 
+ 2000-04-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (compute_flow_dominators): Free worklist.
+ 
+ 2000-04-06  Michael Matz  <matzmich@cs.tu-berlin.de>
+ 
+ 	* flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.
+ 
+ 2000-04-06  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* rtl.h (INSN_P): New macro.
+ 	(successor_phi_fn): New typedef.
+ 	(for_each_successor_phi): New prototype.
+ 	(in_ssa_form): New variable.
+ 	(PHI_NODE_P): Likewise.
+ 	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
+ 	phi nodes in successors.
+ 	(mark_used_regs): Add PHI case.
+ 	(set_phi_alternative_reg): New function.
+ 	(life_analysis): Assert that dead code elimination is not selected
+ 	when in SSA form.
+ 	* toplev.c (to_ssa_time): New variable.
+ 	(from_ssa_time): Likewise.
+ 	(compile_file): Zero to_ssa_time and from_ssa_time.
+ 	Print time to convert to and from SSA.
+ 	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
+ 	(print_time): Compute percent fraction as integer.
+ 	* ssa.c (PHI_NODE_P): Moved to rtl.h.
+ 	(convert_to_ssa): Check if we're already in SSA.
+ 	Don't eliminate dead code in life_analysis.
+ 	Rerun flow and life analysis at bottom.
+ 	(eliminate_phi): Use canonical regnos when adding nodes.
+ 	(mark_reg_in_phi): New function.
+ 	(mark_phi_and_copy_regs): Likewise.
+ 	(convert_from_ssa): Rerun life analysis at top.
+ 	Use coalesced partition.
+ 	Check for removing a phi node at the end of the block.
+ 	(compute_coalesced_reg_partition): New function.
+ 	(coalesce_regs_in_copies): Likewise.
+ 	(coalesce_reg_in_phi): Likewise.
+ 	(coalesce_regs_in_successor_phi_nodes): Likewise.
+ 	(for_each_successor_phi): Likewise.
+ 	(rename_context): New struct.
+ 	(rename_block): Use a rename_context with rename_insn_1.  When
+ 	renaming sets of a subreg, emit a copy of the entire reg first.
+ 	(rename_insn_1): Treat data as a rename_context *.  Save current
+ 	insn in set_data.
+ 	(rename_set_data): Add field set_insn.
+ 	* Makefile.in (HASHTAB_H): Move up in file.
+ 	(OBSTACK_H): New macro.
+ 	(collect2.o): Use OBSTACK_H in dependencies.
+ 	(sdbout.o): Likewise.
+ 	(emit-rtl.o): Likewise.
+ 	(simplify-rtx.o): Likewise.
+ 	(fix-header.o): Likewise.
+ 	(OBJS):	Add conflict.o.
+ 	(conflict.o): New rule.
+ 	* basic-block.h: Include partition.h.
+ 	(conflict_graph): New typedef.
+ 	(conflict_graph_enum_fn): Likewise.
+ 	(conflict_graph_new): New prototype.
+ 	(conflict_graph_delete): Likewise.
+ 	(conflict_graph_add): Likewise.
+ 	(conflict_graph_conflict_p): Likewise.
+ 	(conflict_graph_enum): Likewise.
+ 	(conflict_graph_merge_regs): Likewise.
+ 	(conflict_graph_print): Likewise.
+ 	(conflict_graph_compute): Likewise.
+ 	* conflict.c: New file.
+ 
+ 2000-04-06  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* tlink.c (read_repo_files): Don't look for .rpo info for
+ 	linker flags.
+ 
+ Thu Apr  6 20:39:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define.
+ 
+ Thu Apr  6 19:34:08 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* config/sh/lib1funcs.asm (___udivsi3_i4):
+ 	( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr
+ 	only depends on FMOVD_WORKS.
+ 
+ Thu Apr  6 19:11:47 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
+ 	make double constant 8-byte aligned.
+ 
+ 2000-04-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32,
+ 	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64,
+ 	movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS.
+ 	(movtf_insn_sp64, movtf_insn_vis_sp64): Likewise.
+ 	Accept storing GENERAL_REGS into offsetable memory.
+ 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow
+ 	building a TFmode constant other than 0.0L into GENERAL_REGS.
+ 
+ 2000-04-06  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.
+ 
+ 2000-04-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete.
+ 	(macro_cleanup): No need to cast pbuf->macro.
+ 	(collect_expansion): Use _cpp_get_define_token.  Goto done if
+ 	it returns VSPACE.  Remove check for trailing space after
+ 	CPP_COMMENT.
+ 	(_cpp_create_definition): Don't diddle flags here.  Return
+ 	directly on error.
+ 	(unsafe_chars): Handle c1 being EOF.
+ 	(push_macro_expansion): Use unsafe_chars for both accidental-paste
+ 	checks.  Don't push the buffer till after we're done with
+ 	them.
+ 	* cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New.
+ 	(PEEKN, FORWARD, GETC, PEEKC): Use them.
+ 	(cpp_push_buffer): Don't set new->alimit.  Set new->mark
+ 	appropriately.
+ 	(_cpp_parse_assertion): Don't NUL terminate.
+ 	(_cpp_lex_token): Fix -traditional macro handling.  Don't skip
+ 	hspace before calling _cpp_parse_assertion.  Remove all sets
+ 	of only_seen_white. Treat '\f' as hspace.  Don't do anything
+ 	special with '\n' here.
+ 	(maybe_macroexpand): Handle T_EMPTY hash entries without
+ 	pushing a buffer at all.
+ 	(cpp_get_token): Handle clearing only_seen_white here.  Handle
+ 	incrementing the line number here.  Clear
+ 	potential_control_macro as well as only_seen_white, if
+ 	appropriate.
+ 	(cpp_get_non_space_token): Don't eat CPP_POP tokens.
+ 	(_cpp_get_define_token): New function, basically like
+ 	_cpp_get_directive_token was but doesn't eat horizontal space.
+ 	Don't do anything with only_seen_white here.
+ 	(_cpp_get_directive_token): Just call _cpp_get_define_token
+ 	repeatedly till it returns non-hspace.
+ 
+ 	* cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete.
+ 	(conditional_skip, skip_if_group): Return int.
+ 	(DIRECTIVE_TABLE): Change origin of all conditional directives
+ 	to "COND".
+ 	(TRAD_DIRECT_P): New macro.
+ 	(_cpp_handle_directive): Use _cpp_get_directive_token.  Issue
+ 	an error for a bogus directive, unless -lang-asm.  Use
+ 	TRAD_DIRECT_P. Loop calling handler functions till one returns
+ 	zero.
+ 	(get_macro_name): Don't diddle flags here.
+ 	(do_define): Diddle flags here.  Use _cpp_get_directive_token.
+ 	Create T_EMPTY nodes for #define macro /* nothing */.
+ 	(do_undef): Don't copy the name.  Use _cpp_get_directive_token.
+ 	Use hp->name when calling pass_thru_directive.
+ 	(do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip):
+ 	Return the result of conditional_skip and/or skip_if_group.
+ 	Don't call _cpp_output_line_command.
+ 	(consider_directive_while_skipping): Use _cpp_get_directive_token.
+ 	Issue -Wtraditional warnings as appropriate.  Don't complain
+ 	about unrecognized directives.  If we are to stop skipping,
+ 	return the number of the directive that ended the skip.
+ 	(skip_if_group): Use _cpp_get_directive_token.  Turn off macro
+ 	expansion and line commands while skipping.  Return the result
+ 	of consider_directive_while_skipping, if nonzero.
+ 	(do_endif): Just set potential_control_macro here.
+ 	(validate_else): Use _cpp_get_directive_token.
+ 	(do_assert, do_unassert): Don't save pointers into the
+ 	token_buffer across calls to the lexer.  Use
+ 	_cpp_get_directive_token.
+ 
+ 	* cpplib.h (cpp_buffer): Remove alimit and colno.  Make mark a
+ 	pointer, not an offset.  Replace 'data', which was a generic
+ 	pointer, with 'macro', which points to a struct hashnode.
+ 	(cpp_reader): Add 'potential_control_macro' pointer.
+ 	* cpphash.h (T_UNUSED): Replace with T_EMPTY.
+ 	(CPP_BUF_GET, CPP_FORWARD): Delete.
+ 	(CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros.
+ 	(CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK,
+ 	ACTIVE_MARK_P): Update.
+ 	(_cpp_get_define_token): New internal function.
+ 	* cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno.
+ 
+ 2000-04-05   Benjamin Kosnik  <bkoz@cygnus.com>
+ 
+ 	* configure.in: And here.
+ 	* configure: Regenerate.
+ 	* acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if
+ 	--enable-libstdcxx-v3 is passed at configure time.
+ 	* config.h.in: Regenerate.
+ 
+ 2000-04-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* final.c (final): Use xcalloc to allocate line_note_exists.
+ 	* function.c (free_after_compilation): Free the temp_slots.
+ 	(assign_stack_temp_for_type): Use xmalloc to allocate temp_slots.
+ 	(combine_temp_slot): Free temp_slots when they get combined.
+ 	(purge_addressof): Fix typo in comment.
+ 	* stmt.c (mark_goto_fixup): Mark the fixup itself.
+ 	(expand_fixup): Allocate the fixup with ggc_alloc_obj.
+ 
+ 	* ggc.h: Include varray.h.
+ 	(ggc_pending_trees): Declare.
+ 	(ggc_mark_tree_children): Remove declaration.
+ 	(ggc_mark_tree): Just push unmarked trees on ggc_pending_trees.
+ 	* ggc-common.c (ggc_pending_trees): New variable.
+ 	(ggc_mark_roots): Call ggc_mark_trees.
+ 	(ggc_mark_tree_children): Rename to ggc_mark_trees.  Process all
+ 	the ggc_pending_trees.
+ 	* Makefile.in (GGC_H): New variable.  Use it throughout in place
+ 	of ggc.h.
+ 
+ Thu Apr  6 00:30:50 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accommodate an unsigned
+ 	GET_MODE_SIZE.
+ 
+ Wed Apr  5 23:17:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (sh_insn_length_adjustment): New function.
+ 	* sh-protos.h (sh_insn_length_adjustment): Declare.
+ 	* sh.h (ADJUST_INSN_LENGTH): Use it.
+ 
+ Wed Apr  5 12:35:18 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes
+ 	from the insn where REG_RETVAL is added.
+ 	(emit_no_conflict_block): Ditto.
+ 
+ 	* md.texi (Standard Names): Clarify when movX is needed.
+ 
+ 	* combine.c (simplify_comparison) [MINUS]: Do not replace
+ 	all (op (minus A B) 0) with (op A B).
+ 
+ Wed Apr  5 18:03:31 2000  Toshiyasu Morita  (toshi.morita@sega.com)
+ 			  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (block_lump_real_i4): Add missing clobber of T_REG
+ 	(block_lump_real): Likewise.
+ 
+ 2000-04-05  Chris Demetriou  <cgd@netbsd.org>
+ 
+ 	* mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the
+ 	remaining nonzero debugging masks.
+ 
+ Wed Apr  5 09:44:07 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* basic-block.h (verify_flow_info): Declare.
+ 	(flow_loop_outside_edge_p): Declare.
+ 	* flow.c (verify_flow_info): Remove declaration.
+ 	(clear_log_links, flow_loop_outside_edge_p): Likewise.
+ 
+ Wed Apr  5 09:34:26 2000  Philippe De Muyter <phdm@macqel.be>
+ 
+ 	* m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0',
+ 	not C++ comments.
+ 
+ 2000-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1,
+ 	snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1,
+ 	seqdi_zero_trunc+1): Allow splits only if registers are
+ 	different.
+ 
+ 2000-04-04  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* acconfig.h: Add HAVE_GAS_HIDDEN.
+ 	* config.in: Regenerated.
+ 	* configure.in: Add test for .hidden pseudo-op in gas.
+ 	* configure: Regenerated.
+ 	* crtstuff.c: Include auto-host.h.
+ 	Emit additional .hidden pseudo-op for __dso_handle if the
+ 	assembler knows about it.
+ 
+ 2000-04-04  Philippe De Muyter  <phdm@macqel.be>
+ 
+ 	* cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0,
+ 	before freeing argnames.
+ 	* cpplib.c (do_ifndef): Cast return value of xstrdup.
+ 
+ 2000-04-05  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (print_operand): Patch from Jonathan
+ 	Walton <jonboy@gordian.com> to make memory references with update
+ 	work wtih -mregnames.
+ 
+ 2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* regrename.c (regno_first_use_in): Wrap prototype in PARAMS.
+ 	(regrename_optimize): Rename variables `def_uses' and
+ 	`ext_basic_blocks' to avoid conflicts with similarly named
+ 	typedefs in traditional C.
+ 
+ 	* calls.c (initialize_argument_information): Fix typo in previous
+ 	change.
+ 
+ 2000-04-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regrename.c (consider_available): Test fixed_regs not
+ 	PIC_OFFSET_TABLE_REGNUM.
+ 
+ 2000-04-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin,
+ 	crtend.
+ 	(CRTSTUFF_T_CFLAGS_S): Delete definition.
+ 	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin.
+ 	(ENDFILE_LINUX_SPEC): Always use crtend.
+ 	* configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts.
+ 	(powerpc-*-linux-gnu): Likewise.
+ 	* configure: Regenerate.
+ 
+ 	* config/rs6000/eabi.h:	Don't include sysv4.h.
+ 	(MULTILIB_DEFAULTS): Don't define.
+ 	* config/rs6000/eabiaix.h: Don't include eabi.h.
+ 	* config/rs6000/eabile.h: Delete.
+ 	* config/rs6000/eabilesim.h: Delete.
+ 	* config/rs6000/eabisim.h: Don't include eabi.h.
+ 	* config/rs6000/linux.h: Don't include sysv4.h.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Don't redefine.
+ 	(MULTILIB_DEFAULTS): Don't redefine.
+ 	* config/rs6000/rtems.h: Don't include eabi.h.
+ 	* config/rs6000/sol2.h: Don't include sysv4le.h.
+ 	* config/rs6000/sysv4le.h: Don't include sysv4.h.
+ 	* config/rs6000/t-ppc: Delete.
+ 	* config/rs6000/t-ppcgas: Correct comment.
+ 	* config/rs6000/t-ppcos: Correct comment.  Don't build
+ 	multilibs for -fPIC, rather use -fPIC -mstrict-align
+ 	as default.
+ 	* config/rs6000/t-ppc: Delete.
+ 	* config/rs6000/vxppc.h: Don't include sysv4.h.
+ 	* config/rs6000/vxppcle.h: Delete.
+ 	* configure.in: Use multiple header files for p2pc ELF targets
+ 	powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi,
+ 	powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu,
+ 	powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv,
+ 	powerpc-vxworks, powerpcle-vxworks.  Assume GAS functionality is
+ 	always available for these platforms.
+ 
+ 2000-04-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (try_to_integrate): Initialize reg_parm_stack_space.
+ 
+ 2000-04-04  Stan Cox  <scox@cygnus.com>
+ 
+ 	* Makefile.in: Add rules for regrename.o
+ 	* regrename.c: New file.
+ 	* rtl.h (regrename_optimize): Add prototype.
+ 	* toplev.c (rename_registers_dump, flag_rename_registers): New variables
+ 	(compile_file, decode_d_option): Add support for -frename-registers.
+ 	(rest_of_compilation): Call regrename_optimize.
+ 	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS):
+ 	New macros.
+ 
+ 2000-04-04  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* Makefile (gccbug): New target.
+ 	(doc): Depend on it.
+ 	* gcc.texi (Bugs): Link subnodes.
+ 	(gccbug): New node.
+ 	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
+ 	Document severities, priorities, and classes in bug form.
+ 
+ 2000-04-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplex.c (trigraph_map, speccase): Combine into single
+ 	table, chartab.
+ 	(NORMAL, NONTRI): New macros.
+ 	(_cpp_read_and_prescan): Change to use unified table.  Use
+ 	is_hspace to test for whitespace.
+ 
+ 	* dbxout.c (CONTIN): If it doesn't have to do anything, give it a
+ 	definition that doesn't provoke the "empty body in an
+ 	if-statement" warning.
+ 
+ 2000-04-04  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_strlen): Force the source to
+ 	be a memory address.
+ 
+ 2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
+ 
+ Tue Apr  4 19:17:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE,
+ 	 ECF_LONGJMP, ECF_FORK_OR_EXEC):  New constants.
+ 	(ECF_IS_CONST): Rename to ECF_CONST.
+ 	(special_function_p): Make static, change interface.
+ 	(flags_from_decl_or_type, try_to_integrate): Break out from ...
+ 	(expand_call) ... here; convert number of variables to flags.
+ 	(emit_library_call_vlue_1): Likewise.
+ 	(setjmp_call_p): New function.
+ 	(initialize_argument_information): Accepts flags as argument;
+ 	return flags.
+ 	(precompute_arguments): Likewise.
+ 	* tree.h (special_function_p): Remove.
+ 	(setjmp_call_p): Add prototype.
+ 
+ 2000-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin
+ 	so that addresses are offsetable by up to 16 bytes.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for
+ 	non-optimizing TARGET_ARCH32 in DF or DI modes because it is not
+ 	offsetable.
+ 
+ 	* config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern.
+ 	(movdi_insn_sp64_vis): Renamed from movdi_insn_sp64.
+ 	(movsf): Don't force any constant to memory if target is integer
+ 	hard register.
+ 	Move fp_zero_operand check below the const0_rtx check.
+ 	(movtf): Likewise. Also allow fp_zero_operand for stores into
+ 	memory.
+ 	(movdf): Likewise. Also allow fp_zero_operand for stores into
+ 	memory and into integer hard registers.
+ 	(clear_df, clear_dfp, movdf_const_intreg_sp32,
+ 	movdf_const_intreg_sp64): Remove.
+ 	(movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and
+ 	conditions.
+ 	(movdf_no_e_insn_v9_sp32): New pattern.
+ 	(movdf_insn_v9only): Remove.
+ 	(movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns.
+ 	(movdf_insn_sp64): Remove.
+ 	(movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns.
+ 	(movdf_no_e_insn_sp64): Allow storing 0.0 into memory.
+ 	(following splits): Rewrite conditions. Add two new splits
+ 	for storing 0.0 into memory and registers.
+ 	(clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove.
+ 	(movtf_insn_sp32): Redo constraints and conditions.
+ 	(movtf_insn_vis_sp32): New pattern.
+ 	(movtf_no_e_insn_sp32): Redo constraints and conditions.
+ 	(movtf_insn_hq_sp64): Likewise.
+ 	(movtf_insn_hq_vis_sp64): New pattern.
+ 	(movtf_insn_sp64): Redo constraints and conditions.
+ 	(movtf_insn_vis_sp64): New pattern.
+ 	(movtf_no_e_insn_sp64): Redo constraints and conditions.
+ 	(movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers
+ 	or memory.
+ 	* config/sparc/sparc.c (sparc_override_options): Assume v9 if either
+ 	-mvis or -m64 to take down the number of various reload patterns.
+ 
+ Tue Apr  4 00:41:53 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/pa-64.h: New file.
+ 	* pa/pa64-regs.h: New file.
+ 	* pa/pa64-start.h: New file.
+ 	* pa/t-pa64: New file.
+ 	* pa/xm-pa64hpux.h: New file.
+ 
+ 2000-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (output_restore_regs): Prototype.
+ 	(sparc_emit_float_lib_cmp): Constification.
+ 
+ 	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise.
+ 
+ 	* reload1.c (reload_cse_delete_noop_set, reload_cse_simplify):
+ 	Prototype.
+ 
+ 	* simplify-rtx.c (entry_and_rtx_equal_p): Constification.
+ 	(get_value_hash, hash_rtx): Likewise.
+ 
+ 	* ssa.c (compute_conservative_reg_partition): Prototype.
+ 
+ 	* tree.c (mark_hash_entry): Prototype.
+ 
+ 2000-04-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING.
+ 	* i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0.
+ 	* i386.md (call_value, call_value_pop): Remove unused variable 'addr'.
+ 
+ 	* gcc.c (C specs): Pass -fno-show-column to the preprocessor.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ 2000-04-03  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppexp.c: wrap long lines.  New macros CPP_ICE, SYNTAX_ERROR
+ 	and SYNTAX_ERROR2. Replace `' in messages with ''.
+ 	(op_to_str): Make re-entrant.
+ 	(_cpp_parse_expr): Implement new error macros. Use | rather
+ 	than || to logically or 2 boolean integers.  Simply expression
+ 	checking we have a left operand iff needed.
+ 
+ 2000-04-03  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* Makefile.in (diagnostic.o): Depend upon diagnostic.c
+ 
+ 2000-04-03  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/linux-elf.h (SUBTARGET_EXTRA_LINK_SPEC): Fix typos.
+ 
+ 2000-04-03  Felix Lee  <flee@cygnus.com>
+ 
+ 	* fixinc/server.c (find_shell): New function.  Avoid $SHELL.
+ 	(run_shell): Use it.
+ 
+ 2000-04-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
+ 
+ 	* Makefile.in (stmp-int-hdrs): Make include subdir here...
+ 	(stmp-fixproto): ...rather than here.
+ 
+ Mon Apr  3 00:50:06 2000  Jason Eckhardt <jle@cygnus.com>
+ 
+ 	* pa.c (print_operand): Compute 'base' only inside the code paths
+ 	that use it.
+ 
+ 2000-04-03  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than
+ 	CEIL_DIV_EXPR.
+ 
+ 2000-04-03  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo.
+ 
+ Mon Apr  3 00:02:59 2000  Brad Lucier <lucier@math.purdue.edu>
+ 
+ 	* Makefile.in (alias.o): Depend on $(TREE_H).
+ 
+ 2000-04-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c (cpp_start_read): Turn off -Wtraditional if
+ 	processing C++.
+ 	* cpplib.c (_cpp_handle_directive): Improve warnings for
+ 	traditional C and indented directives.
+ 
+ 	* enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex,
+ 	fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap,
+ 	fixinc/inclhack.def: Indent the # of #include_next one space.
+ 	* cp/rtti.c: Un-indent #if and #endif.
+ 
+ 	* cppexp.c (_cpp_parse_expr): If lex returns '#', it's a
+ 	syntax error, but an error has already been printed.
+ 	* cpplex.c (_cpp_parse_assertion): Give a more specific error
+ 	message when called with nothing remaining on the line.
+ 	(_cpp_lex_token): If _cpp_parse_assertion fails, return an
+ 	OTHER token, not an ASSERTION.
+ 	* cpplib.c (do_assert): When we create a 'base' node, clear
+ 	its aschain pointer.
+ 
+ 2000-04-02  Neil Booth <NeilB@earthling.net>
+ 
+ 	* cppexp.c:  New typedef op_t.  struct operation and struct
+ 	token updated to use it.
+ 	(op_to_str): New function.
+ 	(_cpp_parse_expr): Error messages modified to use op_to_str.
+ 
+ 2000-04-02  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
+ 	before checking MUST_PASS_IN_STACK.
+ 
+ 2000-04-02  Neil Booth <NeilB@earthling.net>
+ 
+ 	* cppexp.c:  New FINISHED dummy token.  Combine operator initial
+ 	flags and initial priority into a single constant.  New
+ 	EQUALITY macro.  New operator flag SHORT_CIRCUIT.
+ 	(_parse_cpp_expr): Implement new constants.  Take left operand
+ 	checks out of reduction loop.  Handle SHORT_CIRCUIT.  End of
+ 	parse indicated by reducing FINISHED token.  Remove new lines
+ 	from cpp_error messages.
+ 
+ 2000-04-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the
+ 	permanent obstack.
+ 
+ 2000-04-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c: Include symcat.h.  Add 'origin' field to struct
+ 	directive.  Add origin values to DIRECTIVE_TABLE.  Generate
+ 	the strings and function names on the fly.  Take the #sccs
+ 	entry out of the table if SCCS_DIRECTIVE is not defined.
+ 	(_cpp_handle_directive): Decide if the # was at the beginning
+ 	of the line here.  Issue -pedantic warnings for extended
+ 	directives here.  Warn about K+R directives with the #
+ 	indented, and C89/extended directives with the # not indented,
+ 	here.
+ 	(do_import, do_include_next, do_warning, do_ident, do_sccs,
+ 	do_assert, do_unassert): Don't issue pedantic warning here.
+ 
+ 	* cpphash.h: Add CPP_WTRADITIONAL macro.
+ 	* cpplib.h (struct cpp_options): Rename warn_stringify to
+ 	warn_traditional; update comments.
+ 	* cppinit.c (handle_option): Set warn_traditional not
+ 	warn_stringify.
+ 	* cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with
+ 	CPP_WTRADITIONAL (pfile).
+ 	* cpplex.c (_cpp_lex_token): Don't decide if directives should
+ 	be ignored in -traditional mode here.
+ 
+ 	* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
+ 	to initialize speccase[] and trigraph_map[].  Delete all
+ 	references to pfile->input_speccase.  Always treat '?' as a
+ 	special character.  Remove table-initialization code from
+ 	_cpp_init_input_buffer.
+ 
+ 	* cpplib.h (struct cpp_reader): Remove input_speccase field.
+ 	* cppinit.c (cpp_cleanup): Don't free input_speccase.
+ 
+ 2000-04-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.
+ 	(mostlyclean): Likewise.
+ 
+ 	* toplev.c (rtl_dump, jump_opt_dump, etc): Remove.
+ 	(struct dump_file_info, enum dump_file_index, dump_file): New.
+ 	(open_dump_file): Take a dump_file_index not a suffix, and a decl
+ 	not a string.  Clean out file if we haven't yet done so.  Do nothing
+ 	if the dump isn't enabled.
+ 	(close_dump_file): Do nothing if the dump isn't open.  Dump
+ 	graph data if requested.
+ 	(dump_rtl, clean_dump_file): Remove.
+ 	(compile_file): Don't clean the dump files.  Only finalize .bp dump
+ 	if flag_test_coverage or flag_branch_probabilities.  Only finalize
+ 	.combine dump if optimizing.  Iterate over dump_file to finalize the
+ 	graph dumps.
+ 	(rest_of_compilation): Update for open_dump_file/close_dump_file.
+ 	Convert all uses of dump_rtl.
+ 	(decode_d_option): Iterate over dump_file to implement 'a' and to
+ 	locate pass-specific dumps.
+ 
+ 2000-04-01  Neil Booth <NeilB@earthling.net>
+ 
+ 	* cppexp.c: Redefine priority constants.
+ 	(_cpp_parse_expr): Replace left and right priority scheme with
+ 	single priority logic.  Move LOGICAL to same place as COMPARE.
+ 	Remove bogus check for multiple unary +/- operators.
+ 
+ 2000-04-01  Neil Booth <NeilB@earthling.net>
+ 
+ 	* cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
+ 	within the switch statement.  Binary operations break out of
+ 	the switch naturally.  '(' tokens handled by forcing
+ 	immediate shift.  ')' handled by forcing immediate reduce to
+ 	the previous '('.  New error messages.
+ 
+ 2000-03-31  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
+ 	part', it's already in use.  Use %K instead.  Add a return at the
+ 	end of what is now %K.
+ 	* config/rs6000/rs6000.md (elf_low): Use %K instead of %l.
+ 
+ Sat Apr  1 02:05:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c  (expand_builtin_apply):  Pass proper parameters to
+ 	allocate_dynamic_stack_space.
+ 	* calls.c (emit_call_1):  Do not adjust stack pointer for SIB,
+ 	update stack_pointer_delta; do not update arg_size_so_far.
+ 	(compute_argument_block_size): Use stack_delta instead of
+ 	stack_pointer_pending and arg_size_so_far.
+ 	(expand_call): Add sanity checking for stack_pointer_delta;
+ 	save and restore stack_pointer_delta for SIB, use
+ 	stack_pointer_delta for alignment; do not update arg_space_so_far.
+ 	(emit_library_call_value): Use stack_pointer_delta for alignment.
+ 	(store_one_arg): Do not update arg_space_so_far.
+ 	* explow.c (adjust_stack, anti_adjust_stack): Update
+ 	stack_pointer_delta.
+ 	(allocate_dynamic_stack_space): Add sanity checking for
+ 	stack_pointer_delta.
+ 	* expr.c (init_expr, clear_pending_stack_adjust): Clear
+ 	stack_pointer_delta.
+ 	(emit_push_insn): Update stack_pointer_delta.
+ 	* function.h (struct expr_status): Add x_stack_pointer_delta;
+ 	remove x_arg_space_so_far.
+ 	(arg_space_so_far): Remove.
+ 	(stack_pointer_delta): New macro.
+ 
+ 2000-03-31  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h: Merge struct cpp_options into struct cpp_reader.
+ 	Reorder struct cpp_options and struct cpp_reader for better
+ 	packing.  Replace CPP_OPTIONS macro with CPP_OPTION which
+ 	takes two args.  Change all 'char' flags to 'unsigned char'.
+ 	Move show_column flag into struct cpp_options.  Don't
+ 	prototype cpp_options_init.
+ 	* cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
+ 	cppinit.c, cpplex.c, cpplib.c:
+ 	Replace CPP_OPTIONS (pfile)->whatever with
+ 	CPP_OPTION (pfile, whatever), and likewise for
+ 	opts = CPP_OPTIONS (pfile); ... opts->whatever;
+ 
+ 	* cppinit.c (merge_include_chains): Take a cpp_reader *.
+ 	Extract CPP_OPTION (pfile, pending) and work with that
+ 	directly.
+ 	(cpp_options_init): Delete.
+ 	(cpp_reader_init): Turn on on-by-default options here.
+ 	Allocate the pending structure here.
+ 	(cl_options, enum opt_code): Define these from the same table,
+ 	kept in a large macro.  Add -fshow-column and -fno-show-column
+ 	options.
+ 
+ 	* cpperror.c (v_message): If show_column is off, don't print
+ 	the column number.
+ 
+ 	* cppmain.c: Update for new interface.
+ 	* fix-header.c: Likewise.
+ 
+ 2000-03-30  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new
+ 	definition.
+ 	* Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that
+ 	are passed to any invocation of AR_FOR_TARGET.
+ 	(AR_CREATE_FOR_TARGET): New macro.
+ 	(AR_EXTRACT_FOR_TARGET): New macro.
+ 	(ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET,
+ 	AR_EXTRACT_FOR_TARGET.
+ 	(many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET
+ 	in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and
+ 	`$(AR_FOR_TARGET) x'.  Pass AR_CREATE_FOR_TARGET and
+ 	AR_EXTRACT_FOR_TARGET to sub-makes.
+ 
+ 2000-03-31  Neil Booth <NeilB@earthling.net>
+ 
+ 	* cppexp.c: Delete SKIP_OPERAND.  Correct priority
+ 	PAREN_INNER_PRIO.
+ 	(_cpp_parse_expr): Check for multiple unary +/- operators.
+ 	Correct priorities of ':' and '?'.  Treat ')' as having a
+ 	value.	Ensure conditional expression is not void.
+ 
+ 2000-03-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* alias.c (canon_rtx): Make it global.
+ 	(rtx_equal_for_memref_p): CONST_INT equality is now pointer
+ 	equality.
+ 	* cse.c (struct table_elt): Add canon_exp.
+ 	(insert): Clear it.
+ 	(invalidate): Canonicalize expressions only once.
+ 	* rtl.h (canon_rtx): Declare.
+ 
+ 2000-03-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (emit-rtl.o): Depend on HASHTAB_H.
+ 	* alias.c (reg_known_value): Add comments.
+ 	(init_alias_analysis): Likewise.
+ 	* cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same
+ 	address.
+ 	(cse_basic_block): Fix typo in comment.
+ 	* emit-rtl.c: Include hashtab.h.
+ 	(const_int_htab): New variable.
+ 	(const_int_htab_hash): New function.
+ 	(const_int_htab_eq): Likewise.
+ 	(rtx_htab_mark_1): Likewise.
+ 	(rtx_htab_mark): Likewise.
+ 	(gen_rtx_CONST_INT): Cache all CONST_INTs.
+ 	(unshare_all_rtx): Fix formatting.
+ 	(init_emit_once): Initialize const_int_htab.
+ 	* rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same
+ 	address.
+ 	* rtl.texi: Document the fact that all CONST_INTs with the same
+ 	value are shared.
+ 
+ 2000-03-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.
+ 
+ 2000-03-30  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in: Comment out --enable-c-cpplib stanza.
+ 	* configure: Regenerate.
+ 
+ Thu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): Properly compute displacement and
+ 	alignment when offset is variable.
+ 
+ 	* expmed.c (store_bit_field, store_fixed_bit_field): Fix more
+ 	cases of alignment in bytes.
+ 
+ Thu Mar 30 13:30:40 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* c-parse.in (cast_expr): Move change from March 21 into c-parse.in
+ 	since it is used to generate c-parse.y.
+ 	* objc-parse.c, objc-parse.y: Regenerated.
+ 
+ 	* function.c (expand_function_end): Pass alignment argument to
+ 	emit_block_move in bits, not bytes.
+ 
+ Thu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (move_by_pieces_ninsns): Fix one more missing align
+ 	correction.
+ 
+ 	* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.
+ 
+ 	* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
+ 	* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
+ 	* function.c (assign_parms): Likewise.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	(copy_rtx_and_substitute): Likewise.
+ 	* expr.c (expand_expr, expand_expr_unaligned): Likewise.
+ 	(clear_by_pieces): Fix error in last change.
+ 	* emit-rtl.c (init_emit): Set known registers alignment in bits.
+ 	* function.h (regno_pointer_align): Now unsigned.
+ 	* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
+ 	is in bits.
+ 	* config/i386/i386.c (aligned_operand): Likewise.
+ 	* config/sparc/sparc.c (mem_min_alignment): Likewise.
+ 	* config/alpha/alpha.c (aligned_memory_operand): Likewise.
+ 	(unaligned_memory_operand): Likewise.
+ 	(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
+ 	Also make alignments and sizes unsigned and some whitespace cleanup.
+ 	(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
+ 
+ 	* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.
+ 	(expand_builtin_apply): Pass alignment to emit_block_move in bits.
+ 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
+ 	(expand_builtin_memset): Likewise, but to clear_storage.
+ 	* calls.c (save_fixed_argument_area): Likewise, to move_by_pieces.
+ 	(restore_fixed_argument_area): Likewise.
+ 	(store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field.
+ 	(load_register_parameters): Likewise, to emit_group_load.
+ 	(expand_call): Likewise, to emit_group_store and emit_block_move.
+ 	(emit_library_call_value_1): Likewise, to emit_block_move.
+ 	(store_one_arg): Likewise, and to emit_push_insn.
+ 	* expmed.c (extract_bit_field): Alignment is in bits, not bytes.
+ 	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
+ 	* expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise.
+ 	(emit_block_move, emit_group_load, emit_group_store): Likewise.
+ 	(clear_by_pieces, clear_storage, emit_push_insn): Likewise.
+ 	(expand_assigment, store_expr, store_constructor_field): Likewise.
+ 	(expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise.
+ 	(store_constructor, store_field, get_inner_reference): Likewise.
+ 	Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT.
+ 	(expand_expr, case COMPONENT_REF): Likewise.
+ 	(copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes
+ 	and positions; reindent code.
+ 	* expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned.
+ 	* function.c (purge_addressof_1): Pass bit align to store_bit_field.
+ 	(assign_parms): Likewise to emit_group_store.
+ 	* optabs.c (prepare_cmp_insn): Alignment is in bits.
+ 	(emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned.
+ 	* stmt.c (expand_value_return): Pass align in bits to emit_group_load.
+ 	(expand_return): Likewise to {extract,store}_bit_field.
+ 	* stor-layout.c (get_mode_alignment): Minor cleanup.
+ 	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits.
+ 	* config/sh/sh.h (MOVE_BY_PIECES_P): Likewise.
+ 
+ 2000-03-29  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h: Undo effects of previous delta:
+ 	(ASM_SPEC): Do not define.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Do not define.
+ 
+ 	* config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix
+ 	typo.
+ 
+ 2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c (cpp_start_read): Call initialize_dependency_output
+ 	only after reading in the primary source file.
+ 
+ 2000-03-29  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): The first parameter to
+ 	__builtin_va_start and __builtin_va_copy is now either a 'va_list'
+ 	or a reference to a va_list.
+ 	* builtins.c (stabilize_va_list): Simplify now we don't have to
+ 	work around C array address decay.
+ 	* c-typeck.c (convert_for_assignment): Handle assignment to
+ 	a reference parameter by taking the address of the RHS.
+ 	* ginclude/stdarg.h (va_start): Don't take address of first parameter.
+ 	(va_copy): Likewise.
+ 	(__va_copy): Likewise.
+ 	* ginclude/varargs.h (va_start): Likewise.
+ 	(__va_copy): Likewise.
+ 
+ Wed Mar 29 15:44:53 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386/djgpp.h: Remove extraneous "+".
+ 
+ 	* stmt.c (stmt_loop_nest_empty): Fix thinko in last change.
+ 
+ 	* calls.c (expand_call): Fix typo in last change.
+ 
+ 2000-03-29  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't
+ 	been expanded.
+ 
+ Wed Mar 29 15:39:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (bit_from_pos, byte_from_pos): New functions.
+ 	(pos_from_byte, pos_from_bit, normalize_offset): Likewise.
+ 	(normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them.
+ 	* tree.c (bit_position, byte_position): Likewise.
+ 	* tree.h: Declare new functions.
+ 
+ 2000-03-29  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Minor formatting changes/
+ 	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
+ 	already defined.
+ 	(ASM_SPEC): Define if not already defined.
+ 
+ 2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (cpp_read_file): Don't pass zero-length string to
+ 	_cpp_calc_hash.
+ 
+ 2000-03-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2out.c (gen_enumeration_type_die): If enum has a negative
+ 	value, don't output it as unsigned.
+ 
+ Wed Mar 29 10:53:49 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL.
+ 
+ 2000-03-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Don't special case
+ 	cplus_mode when declaring builtin bzero/bcmp, always avoid
+ 	prototype arguments.
+ 
+ 2000-03-29  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Initially set the variable "fixincludes"
+ 	to a non-file
+ 
+ Wed Mar 29 15:08:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Convert ACCUMULATE_OUTGOING_ARGS to an expression.
+ 	* calls.c (PUSH_ARGS_REVERSED) Change to expression.
+ 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value.
+ 	(struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS.
+ 	(save_fixed_argument_area, restore_fixed_argument_area):
+ 	conditionize by #ifdef REG_PARM_STACK_SPACE only.
+ 	(emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS
+ 	to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS.
+ 	(precompute_register_parameters): Avoid #ifdefs on
+ 	ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED.
+ 	(stire_one_args): Likewise.
+ 	(expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS.
+ 	(emit_library_call_value_1): Likewise.
+ 	(compute_argument_block_size): Align to STACK_BOUNDARY only for
+ 	ACCUMULATE_OUTGOING_ARGS.
+ 	* combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default
+ 	value.
+ 	(nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH.
+ 	(use_crosses_set_p): Likewise.
+ 	* all targets (ACCUMULATE_OUTGOING_ARGS define): Change to
+ 	#define ACCUMULATE_OUTGOING_ARGS 1.
+ 	* i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS
+ 	frames.
+ 	* i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New
+ 	constants.
+ 	(TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros.
+ 	(TARGET_SWITCHES): Add push-args, no-push-args,
+ 	accumulate-outgoing-args and no-accumulate-outgoing-args.
+ 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro.
+ 	* expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default.
+ 	(push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS
+ 	and PUSH_ROUNDING.
+ 	(emit_push_insn): Likewise.
+ 	* final.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
+ 	(final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS.
+ 	* function.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
+ 	(STACK_DYNAMIC_OFFSET): Define correctly for both
+ 	ACCUMULATE_OUTGOING_ARGS and normal mode.
+ 	* invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document.
+ 	* tm.texi (PUSH_ARGS): Document.
+ 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation.
+ 
+ Wed Mar 29 11:51:13 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flags.h (flag_optimize_sibling_calls): Declare.
+ 	* calls.c (expand_call): Fail sibcall when
+ 	!flag_optimize_sibling_calls
+ 	* invoke.texi (flag_optimize_sibling_calls): Document.
+ 	* toplev.c (flag_optimize_sibling_calls): New global variable.
+ 	(f_options): Add flag_optimize_sibling_calls.
+ 	(rest_of_compilation): Conditionize
+ 	optimize_sibling_and_tail_recursive_calls by
+ 	flag_optimize_sibling_calls.
+ 	(main): Set flag_optimize_sibling_calls for -O2.
+ 	* stmt.c (expand_return): Conditionize tail recursion by
+ 	flag_optimize_sibling_calls.
+ 
+ 2000-03-29  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/i386/att.h (LOCAL_LABEL_PREFIX): Define.
+ 	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it.
+ 
+ 2000-03-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* except.c (add_eh_table_entry): Mark type_info's as referenced.
+ 
+ 2000-03-29  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi
+ 	is given.
+ 	* config/rs6000/aix43.h (CPP_SPEC): Likewise.
+ 	* config/rs6000/rs6000.h (CPP_SPEC): Moved to...
+ 	* config/rs6000/aix.h: then modified likewise.
+ 
+ 2000-03-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.h: Redistribute enum reg_note documentation.
+ 	Kill trailing whitespace.
+ 	* rtl.c (reg_note_name): Adjust to match enum reg_note tweeks.
+ 	Kill trailing whitespace.
+ 
+ 2000-03-28  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (hash_IHASH): Just return i->hash.
+ 	(cpp_included): Set dummy.hash using _cpp_calc_hash.  Use
+ 	htab_find_with_hash.
+ 	(cpp_read_file): Likewise.
+ 	(find_include_file): Likewise.  Properly initialize
+ 	ih->nshort.  Share ih->name and ih->nshort if possible.
+ 	* cpphash.c (_cpp_calc_hash): New function.
+ 	(hash_HASHNODE): Just return h->hash.
+ 	(_cpp_lookup): Set dummy.hash using _cpp_calc_hash.  Use
+ 	htab_find_with_hash.
+ 	* cpphash.h: Prototype _cpp_calc_hash.
+ 	* cppinit.c (initialize_builtins): Provide a valid hash
+ 	to _cpp_make_hashnode, using _cpp_calc_hash.
+ 
+ 	* cpphash.c (collect_expansion): # is not a special character
+ 	in object-like macros.  In -traditional mode, /**/ is not
+ 	token paste at the beginning or end of the line.
+ 	* cpplib.c (do_include, do_import, do_include_next): If
+ 	parse_include fails, return immediately.
+ 
+ 2000-03-28  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* config/arm/arm.md (return peepholes): Update to reflect the new
+ 	call insn patterns.
+ 	* config/arm/arm.c (arm_volatile_func): Also check
+ 	current_function_nothrow.
+ 	(output_return_instruction, output_func_prologue): Use it.
+ 	(arm_output_epilogue, arm_expand_prologue): Likewise.
+ 
+ 2000-03-27  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (handle_braces): In {x*...} case, break out of loop if
+ 	switch is found.
+ 
+ Tue Mar 28 11:55:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): SIZE now signed.
+ 	For EXPR_SIZE, don't evaluate size; just needed if constant.
+ 	* fold-const.c (fold): Fix a number of cases when folded tree is
+ 	wrong type.
+ 	* function.c (flush_addressof): Reenable.
+ 	* tree.h (flush_addressof): Likewise.
+ 	* toplev.c (independent_decode_option): Look at strings_processed.
+ 	* config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned.
+ 
+ Tue Mar 28 08:29:46 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sibcall.c (identify_call_return_value): Find last call in the chain;
+ 	Allow stack adjustment after function call.
+ 
+ 	* regmove.c (struct csa_memlist): Make mem field rtx *.
+ 	(record_one_stack_ref): Accept rtx * instead of rtx as parameter.
+ 	(try_apply_stack_adjustment): Replace whole MEM rtx.
+ 	(combine_stack_adjustments_for_block): Update calls
+ 	to record_one_stack_ref.
+ 
+ 2000-03-28  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with
+ 	'\\' rather than a null character, so nulls are not special.  Fix
+ 	"\\\n" handling in end-of-buffer conditions.  Use trigraph map to
+ 	speed trigraph conversion.
+ 	(_cpp_init_input_buffer): Initialize trigraph map.
+ 
+ 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* config/i386/i386.c (output_387_binary_op): Correct intel
+ 	mode assembly output, and add spaces after commas in AT&T
+ 	output.  Correct Unixware assembler comment.  Document input
+ 	constraints.  Comment fp operations.  Reduce profligate buffer
+ 	size.  Remove extraneous abort.  Localize temp var.
+ 	(SYSV386_COMPAT): Define.  Add !SYSV386_COMPAT code.
+ 	(output_fix_trunc): Add spaces after commas in assembly output.
+ 
+ 2000-03-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386-protos.h (ix86_match_ccmode): Declare.
+ 	* i386.c (ix86_match_ccmode): New.
+ 	(ix86_expand_fp_compare): Update for pattern renames.
+ 	(ix86_expand_strlensi_unroll_1): Likewise.
+ 	* i386.h (EXTRA_CC_MODES): Add CCZ.
+ 	(SELECT_CC_MODE): Use it for EQ/NE zero.
+ 	* i386.md (cmpsi_ccz_1): New.
+ 	(cmpqi_ccz_1): New.
+ 	(*testsi_ccz_1): New.
+ 	(testqi_ccz_1): New.
+ 	(cmpsi_ccno_1): Rename from cmpsi_0.
+ 	(testsi_ccno_1): Rename from testsi_1.
+ 	(testqi_ccno_1): Rename from testqi_1.
+ 	(*testqi_ext_ccz_0): Rename from testqi_ext_0.
+ 	(testqi_ext_ccno_0): Rename from *testqi_ext_1.
+ 	(*cmphi_0): Use ix86_match_ccmode.
+ 	(*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise.
+ 	(*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise.
+ 	(*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise.
+ 	(*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise.
+ 	(*iorsi_2, *iorhi_2, *iorqi_2): Likewise.
+ 	(*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise.
+ 	(*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise.
+ 	(*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise.
+ 	(*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise.
+ 	(*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise.
+ 	(appropriate peepholes): Likewise.
+ 	(*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name.
+ 	(*subsi_3, *subhi_3, *subqi_3): Remove.
+ 	(*negdi2_1+1 splitter): Use CCZ for neg patterns.
+ 	(*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove.
+ 	(*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ.
+ 	(*neghi2_cmpz, *negqi2_cmpz): Similarly.
+ 	(x86_shift_adj_1): Use CCZ.
+ 	(*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise.
+ 
+ 2000-03-27  Stan Cox  <scox@cygnus.com>
+ 
+ 	* resource.h (mark_resource_type): New.
+ 	* resource.c (find_dead_or_set_registers, mark_target_live_regs,
+ 	find_free_register): Use mark_resource_type.
+ 	(mark_set_resources): Change include_delayed_effects
+ 	to mark_resource_type.
+ 	* reorg.c (steal_delay_list_from_target, try_merge_delay_insns,
+ 	redundant_insn, fill_simple_delay_slots, fill_slots_from_thread):
+ 	Use mark_resource_type.
+ 
+ 2000-03-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.md (call_pop_0, call_value_pop_0): New.
+ 	(call_pop_1): Remove constraint from unused arg.  Support sibcalls.
+ 	(call_value_pop_1): Likewise.
+ 	(call_0, call_value_0): New.
+ 	(call_1, call_value_1): Remove constraint from unused arg.
+ 
+ 2000-03-27  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* invoke.texi (Spec Files): Document new spec % command created by
+ 	Tom Tromey's recent patch.
+ 
+ 2000-03-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD
+ 	if not defined.
+ 
+ Mon Mar 27 06:04:22 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_assignment): Fix typo in last change.
+ 
+ 	* libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD.
+ 
+ Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-convert.c (convert): Return if output or input type is ERROR_MARK.
+ 	* c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
+ 	and DECL_INLINE if FUNCTION_DECL.
+ 	(pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
+ 	(store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
+ 	Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
+ 	(combine_parm_decls): Likewise.
+ 	* ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
+ 	* print-tree.c (print_node): Likewise.
+ 	Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
+ 	DECL_TRANSPARENT_UNION on proper decl types.
+ 	Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
+ 	* stor-layout.c (layout_decl): Only check DECL_PACKED and
+ 	DECL_BIT_FIELD of FIELD_DECL.
+ 	* tree.h (DECL_RESULT_FLD): New macro.
+ 
+ 	* expr.c (expand_assignment): Add code to handle variable-sized
+ 	BLKmode case.
+ 
+ 2000-03-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (expand_call): Pass parms not original exp to
+ 	optimize_tail_recursion.  Mind return value instead of looking
+ 	for a barrier.
+ 	* stmt.c (optimize_tail_recursion): Take parameter list, not entire
+ 	call_expr.  Move checks for call_expr and current_function_decl ...
+ 	(expand_return): ... here.
+ 
+ 2000-03-26  Tom Tromey  <tromey@cygnus.com>
+ 
+ 	* gcc.c (handle_braces): Recognize `%{<S}' construct.
+ 	(SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New
+ 	defines.
+ 	(process_command): Use them.
+ 	(check_live_switch): Likewise.
+ 	(give_switch): Skip ignored switches.
+ 
+ 2000-03-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (jump_optimize_1): Fix typo in elide optimizations
+ 	for minimal jump pass test.
+ 
+ 2000-03-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.c (function_cannot_inline_p): Do inline functions that
+ 	return `void'.
+ 
+ Sun Mar 26 11:37:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_type, set_sizetype): early_type_list is
+ 	now a list of TREE_LIST entries, not types.
+ 	* tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
+ 
+ 	* expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
+ 	* config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and
+ 	int_bit_position.
+ 	* config/mips/mips.c (function_arg): Likewise; also remove cast
+ 	and make variables unsigned or HOST_WIDE_INT and use tree_low_cst.
+ 	(mips_function_value): Use int_byte_position and make HOST_WIDE_INT.
+ 	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned.
+ 	* config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned.
+ 	(UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise.
+ 	(POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise.
+ 	(GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed.
+ 	(struct mips_arg): arg_number, arg_words, fp_arg_words, and
+ 	num_adjusts now unsigned.
+ 	(FUNCTION_ARG_BOUNDARY): Remove unneeded cast.
+ 	* config/sparc/sparc.c (struct function_arg_record_value_parms):
+ 	NREGS now unsigned.
+ 	(function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT
+ 	as is BITPOS variable; use host_integerp and int_bit_position.
+ 	(function_arg_record_value_2): Likewise.
+ 	(function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT.
+ 	Variable REGNO now unsigned.
+ 	(function_arg_record_value): NREGS now unsigned.
+ 
+ 2000-03-26  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs.
+ 
+ Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Rework fields used to describe positions of bitfields and
+ 	modify sizes to be unsigned and use HOST_WIDE_INT.
+ 	* alias.c (reg_known_value_size): Now unsigned.
+ 	* c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
+ 	(really_start_incremental_init): Use bitsize_zero_node.
+ 	(push_init_level, pop_init_level, output_init_element): Likewise.
+ 	Use bitsize_unit_node and bitsize_one_node.
+ 	(output_pending_init_elements, process_init_element): Likewise.
+ 	* combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
+ 	(make_extraction): Position and length HOST_WIDE_INT and unsigned
+ 	HOST_WIDE_INT, respectively.
+ 	(get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
+ 	(num_sign_bit_copies): Returns unsigned.
+ 	BITWIDTH now unsigned; rework arithmetic.
+ 	Remove recursive call from arg to MAX.
+ 	(combine_instructions, init_reg_last_arrays): NREGS now unsigned.
+ 	(setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
+ 	REGNO now unsigned.
+ 	(set_nonzero_bit_and_sign_copies): NUM now unsigned.
+ 	(find_split_point, expand_compound_operation, make_extraction): LEN
+ 	now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
+ 	(make_field_assignment): Likewise.
+ 	(combine_simplify_rtx): Add cast.
+ 	(expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
+ 	(force_to_mode): WIDTH now unsigned; add cast.
+ 	(if_then_else_cond): SIZE now unsigned.
+ 	(nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
+ 	(extended_count): Now returns unsigned.
+ 	(simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
+ 	Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
+ 	(simplify_comparison): MODE_WIDTH now unsigned.
+ 	(update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
+ 	(mark_used_regs_combine): Likewise; rework arithmetic.
+ 	(record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
+ 	(record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
+ 	(record_promoted_value): REGNO now unsigned.
+ 	(get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
+ 	(get_last_value): REGNO now unsigned.
+ 	(use_crosses_set_p): REGNO and ENDREGNO now unsigned.
+ 	(reg_dead_regno, reg_dead_endregno): Now unsigned.
+ 	(remove_death): Arg REGNO now unsigned.
+ 	(move_deaths):  REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
+ 	(reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
+ 	now unsigned.
+ 	* convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
+ 	* cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
+ 	(struct cse_reg_info): REGNO now unsigned.
+ 	(cached_regno): Now unsigned.
+ 	(REGNO_QTY_VALID_P): Add cast.
+ 	(make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
+ 	(remove_invalid_regs): Likewise.
+ 	(remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
+ 	as are variables END and I.
+ 	(get_cse_reg_info, insert): Likewise.
+ 	(mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
+ 	(canon_hash): Likewise.
+ 	(insert_regs, lookup_for_remove): REGNO now unsigned.
+ 	(invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
+ 	New variable RN.
+ 	* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
+ 	* dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
+ 	* emit-rtl.c (subreg_realpart_p): Add cast.
+ 	(operand_subword): Arg I is now unsigned as is var PARTWORDS.
+ 	(operand_subword_force): Arg I is now unsigned.
+ 	* except.c (eh_regs): Variable I is now unsigned.
+ 	* explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
+ 	* expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
+ 	length is unsigned HOST_WIDE_INT; likewise for internal variables.
+ 	(store_split_bit_field, extract_fixed_bit_field): Likewise.
+ 	(extract_split_bit_field, store_bit_field, extract_bit_field):
+ 	Likewise.
+ 	* expr.c (store_constructor_fields, store_constructor, store_field):
+ 	Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
+ 	(expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
+ 	(do_jump): Likewise.
+ 	(move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
+ 	MAX_SIZE is now unsigned.
+ 	(emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
+ 	(emit_group_store): Likewise.
+ 	(emit_move_insn): I now unsigned.
+ 	(store_constructor): Use host_integerp, tree_low_cst, and
+ 	bitsize_unit_node.
+ 	(get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
+ 	Rework all calculations to use trees and new fields.
+ 	* expr.h (promoted_input_arg): Regno now unsigned.
+ 	(store_bit_field, extract_bit_field): Adjust types of pos and size.
+ 	(mark_seen_cases): Arg is HOST_WIDE_INT.
+ 	* flow.c (verify_wide_reg_1): REGNO now unsigned.
+ 	* fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
+ 	precisions and alignments are unsigned.
+ 	(optimize_bit_field_compare, fold_truthop): Likewise.
+ 	(int_const_binop): Adjust threshold for size_int_type_wide call.
+ 	(fold_convert): Likewise.
+ 	(size_int_type_wide): Make table larger and fix thinko that only
+ 	had half of table used.
+ 	(all_ones_mask_p, fold): Precisions are unsigned.
+ 	* function.c (put_reg_info_stack): REGNO is unsigned.
+ 	(instantiate_decl): Size is HOST_WIDE_INT.
+ 	(instantiate_virtual_regs): I is unsigned.
+ 	(assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
+ 	(promoted_input_arg): REGNO is unsigned.
+ 	* function.h (struct function): x_max_parm_reg is now unsigned.
+ 	* gcse.c (max_gcse_regno): Now unsigned.
+ 	(struct null_pointer_info): min_reg and max_reg now unsigned.
+ 	(lookup_set, next_set): REGNO arg now unsigned.
+ 	(compute_hash_table): REGNO and I now unsigned.
+ 	(handle_avail_expr): regnum_for_replacing now unsigned.
+ 	(cprop_insn): REGNO now unsigned.
+ 	(delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
+ 	* ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
+ 	* global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
+ 	* hard-reg-set.h (reg_class_size): Now unsigned.
+ 	* integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
+ 	* jump.c (mark_modified_reg): I now unsigned; add cast.
+ 	(rtx_equal_for_thread_p): Add cast.
+ 	* loop.c (max_reg_before_loop): Now unsigned.
+ 	(struct_movable): REGNO now unsigned.
+ 	(try_copy_prop): REGNO arg unsigned.
+ 	(regs_match_p): XN and YN now unsigned.
+ 	(consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
+ 	(strength_reduce): Likewise; NREGS also unsigned.
+ 	(first_increment_giv, last_increment_giv unsigned): Now unsigned.
+ 	* loop.h (struct iv_class): REGNO now unsigned.
+ 	(max_reg_before_loop, first_increment_giv, last_increment_giv):
+ 	Now unsigned.
+ 	* machmode.h (mode_size, mode_unit_size): Now unsigned.
+ 	(mode_for_size, smallest_mode_for_size): Pass size as unsigned.
+ 	* optabs.c (expand_binop): I and NWORDS now unsigned.
+ 	(expand_unop): I now unsigned.
+ 	* print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
+ 	print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
+ 	* real.c (significand_size): Now returns unsigned.
+ 	* real.h (significand_size): Likewise.
+ 	* regclass.c (reg_class_size): Now unsigned.
+ 	(choose_hard_reg_mode): Both operands now unsigned.
+ 	(record_reg_classes): REGNO and NR now unsigned.
+ 	(reg_scan): NREGS now unsigned.
+ 	(reg_scan_update): old_max_regno now unsigned.
+ 	(reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
+ 	* reload.c (find_valid_class): BEST_SIZE now unsigned.
+ 	(find_dummy_reload): REGNO, NWORDS, and	I now unsigned.
+ 	(hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
+ 	Likewise for variable R.
+ 	(refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
+ 	as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
+ 	(find_equiv_reg): Add casts.
+ 	(regno_clobbered_p): Arg REGNO now unsigned.
+ 	* reload.h (struct reload): NREGS now unsigned.
+ 	(refers_to_regno_for_reload_p): Regno args are unsigned.
+ 	(regno_clobbered_p): Likewise.
+ 	* reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
+ 	(compute_use_by_pseudos): REGNO now unsigned.
+ 	(find_reg): I and J now unsigned, new variable K, and change loop
+ 	variables accordingly; THIS_NREGS now unsigned.
+ 	(alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
+ 	(spill_hard_reg): REGNO arg now unsigned; add casts.
+ 	(forget_old_reloads_1): REGNO, NR, and I now unsigned.
+ 	(mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
+ 	(clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
+ 	END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
+ 	(reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
+ 	(choose_reload_regs): MAX_GROUP_SIZE now unsigned.
+ 	(emit_reload_insns): REGNO now unsigned.
+ 	(reload_cse_move2add): Add cast.
+ 	(move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
+ 	and rework loop.
+ 	* resource.c (mark_referenced_resources, mark_set_resources): New
+ 	variable R; REGNO and LAST_REGNO now unsigned.
+ 	(mark_target_live_regs): J and REGNO now unsigned.
+ 	* rtl.c (mode_size, mode_unit_size): Now unsigned.
+ 	* rtl.h (union rtunion_def): New field rtuint.
+ 	(XCUINT): New macro.
+ 	(ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
+ 	(operand_subword, operand_subword_force): Word number is unsigned.
+ 	(choose_hard_reg_mode): Operands are unsigned.
+ 	(refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
+ 	(find_regno_note, find_regno_fusage, replace_regs): Likewise.
+ 	(regno_use_in, combine_instructions, remove_death): Likewise.
+ 	(reg_scan, reg_scan_update): Likewise.
+ 	(extended_count): Return is unsigned.
+ 	* rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
+ 	INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
+ 	(reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
+ 	(reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
+ 	(reg_reg_last_1): FIRS and LAST now unsigned.
+ 	(dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
+ 	(dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
+ 	now unsigned.
+ 	(find_regno_note, regno_use_in): Arg REGNO now unsigned.
+ 	(find_regno_fusage): Likewise; also var REGNOTE now unsigned.
+ 	(find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
+ 	(replace_regs): Arg NREGS now unsigned.
+ 	* sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
+ 	* simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
+ 	(simplify_binary_operation): Likewise.
+ 	(cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
+ 	THIS_LAST now unsigned.
+ 	(cselib_record_set): Add cast.
+ 	* ssa.c (ssa_max_reg_num): Now unsigned.
+ 	(rename_block): REGNO now unsigned.
+ 	* stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
+ 	sizes now unsigned.
+ 	(all_cases_count): Just return -1 not -2.
+ 	COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
+ 	Rework tests to use trees whenever possible.
+ 	Use host_integerp and tree_low_cst.
+ 	(mark_seen_cases): COUNT arg now HOST_WIDE_INT;
+ 	Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
+ 	(check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
+ 	* stor-layout.c (mode_for_size): SIZE arg now unsigned.
+ 	(smallest_mode_for_size): Likewise.
+ 	(layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
+ 	KNOWN_ALIGN is now an alignment, so simplify code.
+ 	Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
+ 	(start_record_layout): Renamed from new_record_layout_info.
+ 	Update to new fields.
+ 	(debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
+ 	New functions.
+ 	(place_union_field): Renamed from layout_union_field.
+ 	Update to use new fields in rli.
+ 	(place_field): Renamed from layout_field.
+ 	Major rewrite to use new fields in rli; pass alignment to layout_decl.
+ 	(finalize_record_size): Rework to use new fields in rli and handle
+ 	union.
+ 	(compute_record_mode): Rework to simplify and to use new DECL fields.
+ 	(finalize_type_size): Make rounding more consistent.
+ 	(finish_union_layout): Deleted.
+ 	(layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
+ 	(layout_type, case RECORD_TYPE): Call new function names.
+ 	(initialize_sizetypes): Set TYPE_IS_SIZETYPE.
+ 	(set_sizetype): Set TYPE_IS_SIZETYPE earlier.
+ 	(get_best_mode): UNIT is now unsigned; remove casts.
+ 	* tree.c (bit_position): Compute from new fields.
+ 	(byte_position, int_byte_position): New functions.
+ 	(print_type_hash_statistics): Cast to remove warning.
+ 	(build_range_type): Use host_integerp and tree_low_cst to try to hash.
+ 	(build_index_type): Likewise; make subtype of sizetype.
+ 	(build_index_2_type): Pass sizetype to build_range_type.
+ 	(build_common_tree_nodes): Use size_int and bitsize_int to
+ 	initialize nodes; add bitsize_{zero,one,unit}_node.
+ 	* tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
+ 	(DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
+ 	(DECL_PACKED, DECL_BIT_FIELD): Likewise.
+ 	(DECL_FIELD_BITPOS): Deleted.
+ 	(DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
+ 	(DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
+ 	(DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
+ 	(DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
+ 	(DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
+ 	(DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
+ 	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
+ 	(DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
+ 	(DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
+ 	(DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
+ 	(DECL_ALIGN): Adjust to new field in union.
+ 	(DECL_OFFSET_ALIGN): New field.
+ 	(DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
+ 	(DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
+ 	(union tree_decl): Add struct for both aligns.
+ 	(enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
+ 	(bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
+ 	(struct record_layout_info): Rework fields to have offset
+ 	alignment and byte and bit position.
+ 	(start_record_layout, place_field): Renamed from old names.
+ 	(rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
+ 	(byte_position, int_byte_position): Likewise.
+ 	(get_inner_reference): Change types of position and length.
+ 	* unroll.c (unroll_loop): New variable R; use for some loops.
+ 	MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
+ 	(calculate_giv_inc): Arg REGNO now unsigned.
+ 	(copy_loop_body): REGNO and SRC_REGNO now unsigned.
+ 	* varasm.c (assemble_variable): Clean up handling of size using
+ 	host_integerp and tree_low_cst.
+ 	(decode_addr_const): Use byte, not bit, position.
+ 	(output_constructor): bitpos and offsets are HOST_WIDE_INT;
+ 	use tree_low_cst and int_bit_position.
+ 	* objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
+ 
+ Fri Mar 24 20:13:49 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
+ 	(reorder_block_def): New members eff_head and eff_end.
+ 	(REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros.
+ 	(verify_insn_chain): New function.
+ 	(skip_insns_between_block): Add code to skip deleted insns.
+ 	Check for note before using.
+ 	(chain_reorder_blocks): Replace calls to skip_insns_between_block
+ 	with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END.
+ 	Check for note before using.
+ 	(make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB.
+ 	(fixup_reorder_chain): Restructure, clean up, defect removal.
+ 	(reorder_basic_blocks): Remove last_insn and references to it.
+ 	Moved insn chain verification code into a new function (see above).
+ 	Delete defective code that sets last insn.
+ 	Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for
+ 	all blocks.
+ 
+ 2000-03-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
+ 
+ 2000-03-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.c (lang_safe_for_unsave): Remove.
+ 	(unsafe_for_reeval): Transmute and rename from safe_for_unsave,
+ 	allowing for two levels of unsafeness.  Remove lang hook.
+ 	* tree.h: Update declarations.
+ 	* calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
+ 	Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
+ 	Always fail sibcalls when there are pending cleanups.
+ 
+ 2000-03-24  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* flow.c (propagate_block): When we delete an ADDR_VEC,
+ 	also delete the BARRIER following it if there is one.
+ 
+ 2000-03-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_bzero): Convert `length' argument
+ 	to sizetype.
+ 
+ 2000-03-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
+ 	comparison if regno's are equal.
+ 	* calls.c (initialize_argument_informat): Add ecf_flags argument.
+ 	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
+ 	(expand_call): Update caller.
+ 	Avoid making a sibling call if argument size of the callee is larger
+ 	than argument size of the caller.
+ 	Call hard_function_value with outgoing set if in sibcall pass.
+ 	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
+ 
+ 	* final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
+ 	Change LEAF_REGISTERS from an array initializer to actual array
+ 	identifier. Move static global variable into the function.
+ 	(leaf_function_p): Allow SIBLING_CALL_P calls even outside of
+ 	sequences for leaf functions.
+ 	* global.c (global_alloc): Likewise.
+ 	* tm.texi (LEAF_REGISTERS): Update documentation.
+ 
+ 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
+ 	TARGET_FLAT leaf disabling hack.
+ 	(LEAF_REGISTERS): Changed from an array initializer to actual array
+ 	identifier to avoid duplication and remove the above hack.
+ 	(FUNCTION_OK_FOR_SIBCALL): Define.
+ 	* config/sparc/sparc.md (sibcall): New attr type. Use it almost
+ 	always like call attribute.
+ 	(eligible_for_sibcall_delay): New attribute.
+ 	(sibcall): New delay type.
+ 	(sibcall, sibcall_value, sibcall_epilogue): New expands.
+ 	(sibcall_symbolic_sp32, sibcall_symbolic_sp64,
+ 	sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
+ 	* config/sparc/sparc.c (sparc_leaf_regs): New array.
+ 	(eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
+ 	New functions.
+ 	(output_function_epilogue): Move part of the code into
+ 	output_restore_regs.
+ 	(ultra_code_from_mask, ultrasparc_sched_reorder): Handle
+ 	TYPE_SIBCALL.
+ 	* sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
+ 	prototypes.
+ 
+ 	* config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
+ 	until infrastructure is finished.
+ 
+ Fri Mar 24 13:49:45 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
+ 	(save_parm_insns): Not here.
+ 
+ 2000-03-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_bzero): New function.
+ 	(expand_builtin): Handle bzero.
+ 
+ 	* builtins.def: Add BUILT_IN_BZERO.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Provide builtin
+ 	prototype & function for bzero.
+ 
+ 2000-03-23  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21
+ 	change adding TARGET_FP to the TF floating point insns, except for
+ 	trunctfsf2, which generates direct calls to truncdfsf2.
+ 
+ 2000-03-23  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
+ 	try to protect against middle-end changes that break binary
+ 	compatibility.
+ 	(DWARF_FRAME_REGISTERS): New definition, likewise for backend.
+ 
+ 2000-03-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (load_immed_address):  Add DP reg clobber.
+ 
+ Thu Mar 23 17:10:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (expand_call): If TARGET is passed by reference and
+ 	is readonly, write a CLOBBER.
+ 
+ 2000-03-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin): Handle bcmp.
+ 
+ 	* builtins.def: Add BUILT_IN_BCMP.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Provide builtin
+ 	prototype & function for bcmp.
+ 
+ Thu Mar 23 11:34:39 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
+ 	(rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
+ 	* config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
+ 
+ Thu Mar 23 16:04:40 2000  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
+ 	alternative when using -fp64 -gp32.
+ 
+ 2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
+ 	* config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
+ 	* config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
+ 
+ 	* frame.h (frame_state): Revert last change.
+ 	* frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
+ 	* libgcc2.c (throw_helper): Revert last change.
+ 
+ 2000-03-22  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stmt.c (expand_asm_operands): Don't promote the temporary.
+ 
+ 2000-03-22  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
+ 	* c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
+ 	  c_get_alias_set): Likewise.
+ 	* c-decl.c (duplicate_decls): Likewise.
+ 	* c-typeck.c (default_conversion,build_unary_op): Likewise.
+ 	* calls.c (initialize_argument_information): Likewise.
+ 	* dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
+ 	Likewise.
+ 	* dwarfout.c (decl_class_context,output_type): Likewise.
+ 	* expr.c (get_inner_reference): Likewise.
+ 	* fold-const.c (simple_operand_p,fold): Likewise.
+ 	* function.c (aggregate_value_p): Likewise.
+ 	* stmt.c (expand_asm_operands): Likewise.
+ 	* varasm.c (named_section): Likewise.
+ 
+ 2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	Implement dwarf2 exception handling for the ARM.
+ 	* config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
+ 	(DWARF_FRAME_RETURN_COLUMN): Define.
+ 	* config/arm/arm.c (emit_multi_reg_push): Return rtx.  Attach
+ 	REG_FRAME_RELATED_EXPR note.
+ 	(emit_sfm): Likewise.
+ 	(arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
+ 	* dwarf2out.c (reg_save): Handle saving a register to itself.
+ 	(dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
+ 	* except.c (eh_regs): Don't use the static chain reg if it's
+ 	callee-saved.
+ 	* frame.h (frame_state): Add cfa_saved field.
+ 	* frame.c (execute_cfa_insn): Set it.
+ 	* libgcc2.c (throw_helper): Don't adjust sp if it's restored in
+ 	the epilogue.
+ 	* function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
+ 	Now takes a parm.
+ 	(instantiate_virtual_regs): Adjust.
+ 	* tm.texi: Adjust.
+ 	* config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
+ 	* config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
+ 	* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
+ 
+ 	* dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
+ 	(initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
+ 
+ 2000-03-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: New file.
+ 
+ 	* Makefile.in (TREE_H): Depend on builtins.def.
+ 
+ 	* builtins.c (built_in_names): Use builtins.def.
+ 
+ 	* tree.h (built_in_function): Likewise.
+ 
+ 2000-03-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (size_in_bytes): Return size_zero_node, not
+ 	integer_zero_node.
+ 
+ 2000-03-22  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/fp-bit.c (pack_d): Correct the case when a denormal
+ 	is rounded up and stops being denormal.
+ 
+ 2000-03-21  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* config/alpha/alpha.c (function_arg): Check for void_type_node
+ 	before using MUST_PASS_IN_STACK.
+ 
+ 2000-03-21  Stephane Carrez  <stcarrez@worldnet.fr>
+ 
+ 	* regmove.c (combine_stack_adjustments_for_block): Check that
+ 	the stack pointer is a valid memory address.
+ 
+ Wed Mar 22 11:44:50 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c: re-install Mar 16 emit_library_call merge.
+ 
+ 2000-03-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (mem_min_alignment): If not optimizing,
+ 	we cannot be sure that if reload_completed base register will
+ 	be properly aligned.
+ 
+ 2000-03-21  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (delete_block): Fix typo last change.
+ 
+ 2000-03-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
+ 	not COMPLETE_TYPE_P, to check the type of the expression.
+ 
+ 2000-03-21  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* config/alpha/alpha.md (floating point insns): Add TARGET_FP to
+ 	all floating point insns that just tested the macro
+ 	TARGET_HAS_XFLOATING_LIBS.
+ 	(movsf/movdf recognizers): Add separate insns if -mno-fp-regs is
+ 	used to only use the gprs.
+ 
+ 2000-03-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (COMPLETE_TYPE_P): New macro.
+ 	(COMPLETE_OR_VOID_TYPE_P): New macro.
+ 	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
+ 	* stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
+ 	* c-aux-info.c (gen_type): Use them.
+ 	* c-common.c (c_expand_expr_stmt): Likewise.
+ 	* c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
+ 	grokdeclarator, grokparms, finish_struct, start_function,
+ 	store_parm_decls, combine_parm_decls): Likewise.
+ 	* c-parse.y (cast_expr): Likewise.
+ 	* c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
+ 	c_size_in_bytes, c_alignof, build_component_ref,
+ 	build_indirect_ref, build_array_ref, convert_arguments,
+ 	build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
+ 	* calls.c (initialize_argument_information): Likewise.
+ 	* convert.c (convert_to_integer): Likewise.
+ 	* dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
+ 	* dwarfout.c (location_or_const_value_attribute,
+ 	output_enumeration_type_die, output_structure_type_die,
+ 	output_union_type_die, output_type): Likewise.
+ 	* expr.c (safe_from_p, expand_expr): Likewise.
+ 	* function.c (assign_parms): Likewise.
+ 	* sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
+ 	* tree.c (build_array_type, build_function_type,
+ 	build_method_type, build_offset_type, build_complex_type): Likewise.
+ 	* c-parse.c, c-parse.h: Regenerated.
+ 
+ 2000-03-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/rtems.h: Include config/rtems.h.
+ 
+ Tue Mar 21 09:24:00 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
+ 	decl is a FUNCTION_DECL
+ 
+ Mon Mar 20 19:53:53 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf
+ 	function uses output registers.  Don't save RP for leaf functions.
+ 	Do save RP even if no epilogue.
+ 	* config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers.
+ 	(CALL_USED_REGISTERS): Unmark in registers.
+ 	(REG_ALLOC_ORDER): Move out regs up, to near the top.  Move in regs up,
+ 	to near the middle.
+ 
+ 2000-03-20  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (bunordered): New expander.
+ 	(bordered): New expander.
+ 	(buneq): New expander.
+ 	(bunge): New expander.
+ 	(bungt): New expander.
+ 	(bunle): New expander.
+ 	(bunlt): New expander.
+ 	(bltgt): New expander.
+ 
+ 	* config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons.
+ 	(ccr_bit_negated_p): New function.
+ 	(print_operand): For %C, generate appropriate cror for UNEQ,
+ 	UNLT, UNGT, and LTGT.  For %T and %t, use ccr_bit_negated_p.
+ 
+ 2000-03-20  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else"
+ 	warning.
+ 
+ 	* tree.h (safe_for_unsave): Prototype.
+ 
+ 2000-03-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regmove.c (stack_memref_p): Fix typo, reorg for readability.
+ 	(combine_stack_adjustments_for_block): Don't allow sp references
+ 	in the side of a set we're not fixing up.
+ 	* toplev.c (rest_of_compilation): Run combine_stack_adjustments
+ 	after life_analysis.
+ 
+ 2000-03-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c (expand_call): Don't bother generating tail call
+ 	sequences if there are pending cleanups.  Use
+ 	expand_start_target_temps/expand_end_target_temps to elide
+ 	cleanups created during sibcall expansion.
+ 
+ 2000-03-20  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* configure.in: Set $IFS to a value if it doesn't already have one
+ 	in the --enable-checking handling.
+ 	* configure: Regenerate.
+ 
+ 2000-03-20  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* c-parse.in (SAVE_WARN_FLAGS): Use size_int.
+ 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
+ 	Regenerated.
+ 
+ Mon Mar 20 11:43:15 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (delete_noop_moves): Remove code attempting to
+ 	combine stack adjustments.
+ 
+ 2000-03-19  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions.
+ 	* except.c (emit_cleanup_handler): Use them.
+ 	(expand_end_all_catch): Likewise.
+ 	* function.c (fixup_var_refs): Likewise.
+ 	(expand_function_end): Clear catch_clauses_last.
+ 	* rtl.h (push_to_full_sequence, end_full_sequence): Declare.
+ 	* except.h (struct eh_status): New field x_catch_clauses_last.
+ 	(catch_clauses_last): New define.
+ 
+ 	* Makefile.in (tree.o): Depend on HASHTAB_H.
+ 	* tree.c: Include hashtab.h.
+ 	(struct type_hash): Remove next field.
+ 	(TYPE_HASH_SIZE): Remove.
+ 	(TYPE_HASH_INITIAL_SIZE): New define.
+ 	(type_hash_table): Change type to htab_t.
+ 	(type_hash_eq, type_hash_hash, print_type_hash_statistics,
+ 	mark_hash_entry): New functions.
+ 	(init_obstacks): Allocate type hash.
+ 	(type_hash_lookup): Use htab functions.
+ 	(type_hash_add, mark_type_hash): Likewise.
+ 	(dump_tree_statistics): Call print_type_hash_statistics.
+ 
+ 2000-03-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rs6000/t-aix41: New file.
+ 
+ 	* configure.in ({rs6000,powerpc}-ibm-aix4.[12]*): Use it.
+ 
+ Sun Mar 19 13:27:30 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* tm.texi (Driver): Fix typos and tweak entry for
+ 	INCLUDE_DEFAULTS.
+ 	Move misplaced STRUCT_FORCE_BLK entry ...
+ 	(Storage Layout): ... to here.
+ 	(Run-time Target): Recommend having TARGET_MASK_... helper macros.
+ 
+ 2000-03-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (delete_block): Delete the addr_vec along with the block.
+ 	(flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
+ 	reference labels.
+ 
+ 	* fold-const.c (extract_muldiv): Apply type check for defined
+ 	overflow to multiply as well as divide.
+ 
+ 	* stor-layout.c (layout_decl): Don't abort on any zero sized decl.
+ 
+ 2000-03-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* emit-rtl.c (remove_unnecessary_notes): Check that all
+ 	NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an
+ 	associated NOTE_BLOCK.
+ 	* function.h (identify_blocks): Update comments.
+ 	(reorder_blocks): Declare.
+ 	* function.c (identify_blocks): Don't take paramters.
+ 	(reorder_blocks): Don't take parameters.
+ 	* loop.h (find_loop_tree_blocks): Remove.
+ 	(unroll_block_trees): Likewise.
+ 	* loop.c (loop_optimize): Don't call find_loop_tree_blocks.  Use
+ 	reorder_blocks instead of unroll_block_trees.h
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise.
+ 	* stmt.c (find_loop_tree_blocks): Remove.
+ 	(unroll_block_trees): Likewise.
+ 	* toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks
+ 	in whole-function mode.
+ 	* tree.h (reorder_blocks): Remove declaration.
+ 
+ 	* expr.c: Include intl.h.
+ 	* Makefile.in (expr.o): Depend on intl.h.
+ 
+ 2000-03-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* expr.c (emit_move_insn_1): Clarify cannot_inline message.
+ 
+ 2000-03-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (tree_index): Remove enumerals for integer types.
+ 	(integer_type_kind): New type.
+ 	(integer_types): New variable.
+ 	(char_type_node): Adjust.
+ 	(signed_char_type_node): Likewise.
+ 	(unsigned_char_type_node): Likewise.
+ 	(short_integer_type_node): Likewise.
+ 	(short_unsigned_type_node): Likewise.
+ 	(integer_type_node): Likewise.
+ 	(unsigned_type_node): Likewise.
+ 	(long_integer_type_node): Likewise.
+ 	(long_unsigned_type_node): Likewise.
+ 	(long_long_integer_type_node): Likewise.
+ 	(long_long_unsigned_type_node): Likewise.
+ 	* tree.c (integer_types): New variable.
+ 	(init_obstacks): Register it as a root.
+ 
+ Sat Mar 18 14:38:00 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as
+ 	NEXT_INSN. Update last insn in chain.
+ 
+ 2000-03-17  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_decl): Don't emit anything for types
+ 	with TYPE_DECL_SUPPRESS_DEBUG set.
+ 
+ 2000-03-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (make_edges): Use INTVAL to access REG_EH_REGION value.
+ 
+ 2000-03-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (call_insn_operand): Always allow SYMBOL_REF,
+ 	care for HALF_PIC_P.
+ 	(expander_call_insn_operand): Remove.
+ 	(ix86_expand_epilogue): New arg `emit_return' to control return insn.
+ 	* i386.h (PREDICATE_CODES): Update.
+ 	* i386.md (all call expanders): Remove predicates, remove special
+ 	handling for half-pic.
+ 	(*call_1, *call_value_1): Handle SIBLING_CALL_P insns.
+ 	(*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove.
+ 	(sibcall_epilogue): New.
+ 
+ 2000-03-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtlanal.c (single_set): Reject if the parallel has anything
+ 	except SET or USE or CLOBBER.
+ 
+ 2000-03-17  Jeff Law  <law@cygnus.com>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (OBJS): Add sibcall.o.
+ 	(sibcall.o): New.
+ 	* sibcall.c: New file.
+ 	* calls.c (FUNCTION_OK_FOR_SIBCALL): Provide default.
+ 	(ECF_IS_CONST, ECF_NOTHROW, ECF_SIBCALL): New.
+ 	(emit_call_1): Replace `is_const' and `nothrow' with `ecf_flags'.
+ 	Emit sibcall patterns when requested.  Update all callers.
+ 	(expand_call): Generate CALL_PLACEHOLDER insns when tail call
+ 	elimination seems feasable.
+ 	* final.c (leaf_function_p): Sibling calls don't discount being
+ 	a leaf function.
+ 	* flow.c (HAVE_sibcall_epilogue): Provide default.
+ 	(find_basic_blocks_1): Sibling calls don't throw.
+ 	(make_edges): Make edge from sibling call to EXIT.
+ 	(propagate_block): Don't remove sibcall_epilogue insns.
+ 	* function.c (prologue, epilogue): Turn into varrays.  Update all uses.
+ 	(sibcall_epilogue): New.
+ 	(fixup_var_refs): Scan CALL_PLACEHOLDER sub-sequences.
+ 	(identify_blocks_1): Likewise.  Break out from ...
+ 	(identify_blocks): ... here.
+ 	(reorder_blocks_1): Scan CALL_PLACEHOLDER.  Break out from ...
+ 	(reorder_blocks): ... here.
+ 	(init_function_for_compilation): Zap prologue/epilogue as varrays.
+ 	(record_insns): Extend a varray instead of mallocing new memory.
+ 	(contains): Read a varray not array of ints.
+ 	(sibcall_epilogue_contains): New.
+ 	(thread_prologue_and_epilogue_insns): Emit and record
+ 	sibcall_epilogue patterns.
+ 	(init_function_once): Allocate prologue/epilogue varrays.
+ 	* genflags.c (gen_insn): Treat sibcall patterns as calls.
+ 	* integrate.c (save_parm_insns): Recurse on CALL_PLACEHOLDER patterns.
+ 	Broken out from ...
+ 	(save_for_inline_nocopy): ... here.
+ 	(copy_insn_list): Recurse on CALL_PLACEHOLDER patterns.
+ 	Broken out from ...
+ 	(expand_inline_function): ... here.
+ 	(copy_rtx_and_substitute): Handle NOTE_INSN_DELETED_LABEL.
+ 	(subst_constants): Handle 'n' formats.
+ 	* jump.c (jump_optimize_minimal): New.
+ 	(jump_optimize_1): New arg `minimal'; update callers.  Elide most
+ 	optimizations if it's set.
+ 	* rtl.c (copy_rtx): Do copy jump & call for insns.
+ 	* rtl.h (struct rtx_def): Document use of jump and call for insns.
+ 	(SIBLING_CALL_P): New.
+ 	(sibcall_use_t): New.
+ 	* toplev.c (rest_of_compilation): Do init_EXPR_INSN_LIST_cache earlier.
+ 	Invoke optimize_sibling_and_tail_recursive_calls.
+ 	* tree.c (lang_safe_for_unsave): New.
+ 	(safe_for_unsave): New.
+ 	* tree.h (lang_safe_for_unsave, safe_for_unsave): Declare.
+ 
+ 	* alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
+ 	* alpha.md (sibcall, sibcall_value, sibcall_epilogue): New.
+ 	(*sibcall_osf_1, *sibcall_value_osf_1): New.
+ 
+ 2000-03-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* objc/objc-act.c (encode_method_prototype): Pass types, not
+ 	PARM_DECLs, to int_size_in_bytes.
+ 
+ Fri Mar 17 11:51:34 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template.
+ 
+ 	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
+ 	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again.
+ 
+ Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Clean up usages of TREE_INT_CST_LOW.
+ 	* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
+ 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
+ 	Regenerated.
+ 	* c-tree.h (min_precision): Move declaration to here.
+ 	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
+ 	(build_unary_op, add_pending_init): Use bit_position.
+ 	(pending_init_member, process_init_element): Likewise.
+ 	(really_start_incremental_init, push_init_level, pop_init_level):
+ 	Don't make copies of nodes or modify them in place, use consistent
+ 	types when tracking positions, and use tree routines computations.
+ 	(set_init_index, output_init_element): Likewise.
+ 	(output_pending_init_elements, process_init_element): Likewise.
+ 	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
+ 	tree_low_cst and int_bit_position; also minor cleanup.
+ 	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
+ 	(print_cst_octal): Precision is unsigned.
+ 	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
+ 	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
+ 	(simple_type_align_in_bits): Result is unsigned int.
+ 	Use tree_int_low_cst and host_integerp.
+ 	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
+ 	(field_byte_offset): Result is HOST_WIDE_INT.
+ 	Change types of internal variables so alignments are unsigned int,
+ 	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
+ 	Use host_integerp, tree_low_cst, and int_bit_position.
+ 	(add_bit_offset_attribute): Likewise.
+ 	(add_data_member_location_attribute): Use tree_cst_low.
+ 	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
+ 	(add_bit_size_attribute): Use tree_low_cst.
+ 	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
+ 	* dwarfout.c: Similar changes to dwarf2out.c.
+ 	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
+ 	* genoutput.c (n_occurrences): Return -1 for null string.
+ 	(strip_whitespace): Accept null string and make into function.
+ 	(scan_operands): Reflect above changes.
+ 	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
+ 	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
+ 	* ssa.c (rename_registers): Add missing cast of arg to bzero.
+ 	* tree.c (int_size_in_bytes): Check for too big to represent.
+ 	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
+ 	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
+ 	New declarations.
+ 	(min_precision): Delete from here.
+ 	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
+ 	and int_bit_position.
+ 	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
+ 	(encode_method_def): Likewise.
+ 	(build_ivar_list_initializer): Use int_bit_position.
+ 	(generate_shared_structures): Convert size.
+ 	(encode_type, encode_complete_bitfield): Use integer_zerop.
+ 	(encode_bitfield): Use tree_low_cst and int_bit_position.
+ 
+ 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (CPP_SPEC): Fix typo.
+ 
+ 2000-03-17  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* call.c (special_function_p): It is only malloc if it returns
+ 	Pmode.
+ 
+ 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33.
+ 	(C33_FLAG, TARGET_C3X): Add macros.
+ 	(TARGET_SWITCHES): Add -m33 option.
+ 	* config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33.
+ 
+ 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add.
+ 	(PARALLEL_PACK_FLAG): Delete.
+ 	(TARGET_SWITCHES): Update.
+ 	(TARGET_PARALLEL): Use PARALLEL_INSN_FLAG.
+ 
+ Thu Mar 16 18:52:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (fold): Fix a few cases when the returned result
+ 	is not of the same type as the input.
+ 
+ 2000-03-16  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Fix compile time
+ 	warning.
+ 
+ 2000-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* libgcc2.h: Move prototypes above macros with the same name.
+ 	Wrap some function prototypes in the conditional which indicates
+ 	whether they are supported, i.e. "BITS_PER_UNIT == 8".
+ 
+ 2000-03-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* calls.c: Revert last two changes.
+ 
+ 2000-03-16  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* fp-bit.c (_unpack_d): If NO_DENORMALS is defined, anything that
+ 	has exponent 0 is a zero.
+ 
+ 	* simplify-rtx.c (hash_rtx, case MEM/REG): Take into account that
+ 	HASH may already be nonzero.  Add code/mode into hash value
+ 	immediately after repeat label.
+ 	(cselib_lookup): Don't leave the hash table in an inconsistent
+ 	state before a hash lookup operation.
+ 
+ Thu Mar 16 17:03:10 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (all HI and QI mode non-move patterns):  Conditionize
+ 	by TARGET_[HQ]IMODE_MATH.
+ 	* i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
+ 	x86_promote_qi_regs): Declare.
+ 	(TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS,
+ 	TARGET_PROMOTE_QI_REGS): New macros.
+ 	(PROMOTE_MODE): New macro.
+ 	* i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
+ 	x86_promote_qi_regs): New global variables.
+ 
+ Thu Mar 16 16:50:44 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (emit_library_call_value_1): Break out from ...; handle
+ 	VOIDmode function calls too.
+ 	(emit_library_call_value): ... here.
+ 	(emit_library_call): Implement by calling emit_library_call_value_1.
+ 
+ Thu Mar 16 16:01:30 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Do sanity checking on arg_space_so_far.
+ 	Update arg_space_so_far on stack adjustments.
+ 	(emit_library_call, emit_library_call_value): Likewise; take into
+ 	account arg_space_so_far and pending_stack_adjust when calculcating
+ 	the boundary.
+ 
+ Thu Mar 16 09:02:19 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* flow.c: Move all basic block reordering code into its own file.
+ 	(create_basic_block): Externalize.
+ 	* bb-reorder.c: New file. Copy all basic block reordering code from
+ 	flow.c to this file.
+ 	(reorder_basic_blocks): Fix fencepost error in for-loop.
+ 	(reorder_basic_blocks): Remove braces from single statement for-loops.
+ 	* basic-block.h: Add declaration for create_basic_block.
+ 	* Makefile.in: Add rules for bb-reorder.o.
+ 
+ 2000-03-16  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (handle_option):  Implement #unassert directive
+ 	as -A- command line option.
+ 	(print_help):  Update.
+ 	* cpptexi.c:  Update.
+ 
+ Thu Mar 16 02:14:16 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* md.texi (Standard Names): Document `jump'.
+ 
+ 2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* calls.c (emit_call_1): Nothrow functions can still have nonlocal
+ 	gotos.
+ 
+ 2000-03-15  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	Merge changes from newppc-branch onto trunk.
+ 
+ 	2000-03-15  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (toc_hash_table): Update for new hash table functions.
+ 	(toc_hash_function): Likewise.
+ 	(toc_hash_eq): Likewise.
+ 	(toc_hash_mark_entry): Likewise.
+ 	(toc_hash_mark_table): Likewise.
+ 	(output_toc): Likewise.
+ 	(rs6000_add_gc_roots): Likewise.
+ 
+ 	2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* t-aix43 (AR_FOR_TARGET): Deleted.  Moved `-X32_64'...
+ 	(AR_FLAGS_FOR_TARGET): here.  New macro.
+ 
+ 	2000-03-05  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_fpmem_offset, rs6000_fpmem_size,
+ 	fpmem_operand) Delete.
+ 	(xer_operand) New.
+ 	(rs6000_reg_names, alt_reg_names): Change fpmem to xer.
+ 	(machine_function): Remove fpmem_size, fpmem_offset, save_toc_p.
+ 	(rs6000_save_machine_status, rs6000_restore_machine_status,
+ 	rs6000_init_expanders, rs6000_stack_info, debug_stack_info): Remove
+ 	references to above variables.
+ 	(gpc_reg_operand): Use XER_REGNO_P instead of FPMEM_REGNO_P.
+ 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER, REGISTER_NAMES,
+ 	DEBUG_REGISTER_NAMES): Chagne fpmem to xer.
+ 	(FPMEM_REGNO_P, FPMEM_REGNUM): Delete.
+ 	(XER_REGNO_P, XER_REGNO): New.
+ 	(rs6000_stack): Remove fpmem_p, fpmem_offset, fpmem_size.
+ 	(PREDICATE_CODES): Change fpmem_operand to xer_operand.
+ 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Change FPMEM_REGNO_P to
+ 	XER_REGNO_P.
+ 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
+ 	REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS): Change FPMEM_REGS to XER_REGS,		and remove FLOAT_OR_FPMEM_REGS.
+ 	(CLASS_CANNOT_CHANGE_SIZE): Change to FLOAT_REGS.
+ 
+ 	2000-02-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* aix.h (FP_SAVE_INLINE, ASM_OUTPUT_INTERNAL_LABEL_PREFIX,
+ 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Move here...
+ 	* rs6000.h: from here.
+ 
+ 	* rs6000-protos.h (rs6000_select_section): Provide prototype.
+ 	(rs6000_select_rtx_section): Likewise.
+ 	(rs6000_encode_section_info): Likewise.
+ 	(sdata_section): Likewise.
+ 	(sdata2_section): Likewise.
+ 	(sbss_section): Likewise.
+ 	* sysv4.h (rs6000_select_section): Delete prototype.
+ 	(rs6000_select_rtx_section): Likewise.
+ 	(rs6000_encode_section_info): Likewise.
+ 	(sdata_section): Likewise.
+ 	(sdata2_section): Likewise.
+ 	(sbss_section): Likewise.
+ 	(REG_SAVE_AREA): Delete definition duplicated in rs6000.h.
+ 
+ 	* sysv4.h: Delete various unnecessary #undef's and put a comment
+ 	on the remaining ones.
+ 	Change various comments according to coding standard.
+ 
+ 	2000-02-29  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.h (MQ_REGNO, CR0_REGNO, CR1_REGNO, CR2_REGNO,
+ 	CR3_REGNO, CR4_REGNO, MAX_CR_REGNO): Define.
+ 	(CR0_REGNO_P) Remove.
+ 	* config/rs6000/rs6000.c (gpc_reg_operand, and64_operand, and_operand,
+ 	setup_incoming_varargs, mtcrf_operation, print_operand,
+ 	rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue):
+ 	Use the above macros.
+ 
+ 	2000-02-24  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md: Added a new alternative for each
+ 	pattern that had a 'x' alternative but no 'y' alternative.
+ 	Added a new split for each of the above patterns.
+ 
+ 	2000-02-18  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* aix41.h (ASM_CPU_SPEC): Delete.
+ 	(CPP_CPU_SPEC): Delete.
+ 
+ 	* aix.h (RS6000_OUTPUT_BASENAME): Define.
+ 	(ASM_OUTPUT_LABEL): Define.
+ 	(ASM_GLOBALIZE_LABEL): Define.
+ 	(STRIP_NAME_ENCODING): Define.
+ 	* rs6000.h (RS6000_OUTPUT_BASENAME): Don't define.
+ 	(STRIP_NAME_ENCODING): Don't define.
+ 	(ASM_OUTPUT_LABEL): Don't define.
+ 	(ASM_GLOBALIZE_LABEL): Don't define.
+ 	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use assemble_name to output
+ 	names, and ASM_OUTPUT_LABEL to output labels, rather than
+ 	asm_fprintf.
+ 	(ASM_OUTPUT_LABEL): Define.
+ 	(ASM_OUTPUT_INT): Use assemble_name.
+ 	(ASM_OUTPUT_DWARF_ADDR): Use assemble_name.
+ 	(STRIP_NAME_ENCODING): Don't undefine first.
+ 	(RS6000_OUTPUT_BASENAME): Make equivalent to assemble_name for
+ 	ELF.
+ 	(ASM_OUTPUT_LABELREF): Don't prepend underscores to labels
+ 	specified with 'asm' even with -fleading-underscore.
+ 	* rs6000.c (print_operand): Use assemble_name when !TARGET_AIX.
+ 	(output_epilog): Likewise.
+ 	(output_toc): Likewise.
+ 	* tramp.asm: Handle -fleading-underscore correctly.
+ 
+ 	* rs6000.md (builtin_setjmp_receiver): Also run for -fPIC and
+ 	-mminimal-toc.
+ 	(nonlocal_goto_receiver): Delete.
+ 	* rs6000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Delete.
+ 
+ 	* rs6000.h (ASM_OUTPUT_DEF): Don't define.
+ 	(SET_ASM_OP): Define.
+ 	* sysv4.h (ASM_OUTPUT_DEF): Don't undefine.
+ 
+ 	* rs6000.h (ASM_OUTPUT_ADDR_VEC_ELT): Don't define.
+ 	(ASM_LONG): Define.
+ 
+ 	* rs6000.c (rs6000_dll_import_ref): Delete, not used.
+ 	* rs6000-protos.h (rs6000_dll_import_ref): Delete.
+ 
+ 	* rs6000.h: Add 'u' to more constants.
+ 
+ 	2000-02-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (mfcr+shift): Delete PowerPC64 version.
+ 
+ 	2000-02-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (reg_or_u_cint_operand): New function.
+ 	(logical_operand): Handle 64-bit hosts.
+ 	(logical_u_operand): New function.
+ 	(non_logical_cint_operand): Handle 64-bit hosts.
+ 	(non_logical_u_cint_operand): New function.
+ 	* rs6000.h (DATA_SECTION_ASM_OP): Add tab.
+ 	(PREDICATE_CODES): Define new functions.
+ 	* rs6000-protos.h: Declare new functions.
+ 	* rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
+ 	(movdi_64): Bracket code intended for 64-bit hosts.  Create
+ 	CONST_DOUBLE for 32-bit values.
+ 	(scc insns): Generate DImode compares.
+ 	(mfcr insns): Create DImode versions.
+ 	(sge matchers): New patterns.
+ 
+ 	2000-02-15  Gabriel Paubert  <paubert@iram.es>
+ 
+ 	* rs6000.md: Correct instructions length attributes and
+ 	constraints on unsigned compare instructions.
+ 	(*ne0): Disable for PowerPC64.
+ 
+ 	2000-02-11  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (output_function_profiler): Use .long for a 32-bit
+ 	quantity, fix profile1.C test failure under -fPIC.
+ 
+ 	* rs6000.c: Add 'u' to many constants to suppress warnings.
+ 	(constant_pool_expr_1): Make static.
+ 	(rs6000_emit_eh_toc_restore): Remove unused 'r2'.
+ 	* rs6000.h: Add 'u' to many constants to suppress warnings.
+ 
+ 	* rs6000.c (rs6000_emit_load_toc_table): Use LCTOC..1 under AIX
+ 	for the start of the TOC, instead of LCTOC..0.
+ 	* aix.h (toc_section): Use LCTOC..1 under AIX for the start
+ 	of the TOC.
+ 	* rs6000.md (load_toc_aix_si): Use LCTOC..1.
+ 	(load_toc_aix_di): Use LCTOC..1.
+ 
+ 	* rs6000.h (LEGITIMIZE_ADDRESS): Turn into a function.
+ 	* rs6000.c (rs6000_legitimize_address): New function from
+ 	LEGITIMIZE_ADDRESS.  Only use create_TOC_reference on
+ 	symbols in the constant pool that really are TOC references.
+ 	(print_operand_address): For ELF, write TOC offsets under
+ 	-fPIC as subtractions in the insn.
+ 	(output_toc): For ELF, define symbols in TOC as normal labels,
+ 	to match RTL.
+ 	(create_TOC_reference): Use gen_rtx_PLUS rather than gen_rtx.
+ 	* rs6000-protos.h (rs6000_legitimize_address): Prototype.
+ 	(create_TOC_reference): Prototype only when RTX_CODE is defined.
+ 	* rs6000.md (movsi): Only use create_TOC_reference on
+ 	symbols in the constant pool that really are TOC references.
+ 
+ 	* rs6000.h (MACHINE_DEPENDENT_REORG): Don't define.
+ 	* rs6000.c (rs6000_reorg): Delete.
+ 	* rs6000-protos.h (rs6000_reorg): Delete.
+ 
+ 	2000-02-09  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.h (INCOMING_RETURN_ADDR_RTX): New macro.
+ 
+ 	* aix.h (SETUP_FRAME_ADDRESSES): Define.
+ 	* rs6000.c [TARGET_AIX] (insn_after_throw): New static variable.
+ 	[TARGET_AIX] (rs6000_aix_emit_builtin_unwind_init): New function.
+ 	[TARGET_AIX] (rs6000_emit_eh_toc_restore): New function.
+ 	* rs6000-protos.h: Prototype rs6000_emit_eh_toc_restore,
+ 	rs6000_aix_emit_builtin_unwind_init.
+ 	* rs6000.md (eh_epilogue) [TARGET_AIX]: Call
+ 	rs6000_emit_eh_toc_restore on AIX.
+ 	(return_eh_si): Use r2.
+ 	(return_eh_di): Use r2.
+ 
+ 	* aix43.h: Turn on HAS_INIT_SECTION and LD_INIT_SWITCH,
+ 	since we're breaking binary compatibility anyway.
+ 
+ 	2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/rs6000/rs6000-protos.h: (get_TOC_alias_set, uses_TOC,
+ 	constant_pool_expr_p): Declare them.
+ 	(constant_pool_expr_p): Declare it.
+ 	* config/rs6000/rs6000.c (toc_label_name): Define.
+ 	(rs6000_override_options): Set toc_label_name.
+ 	(input_operand): Allow any TOC_RELATIVE_EXPR_P.
+ 	(get_TOC_alias_set, constant_pool_expr_p, constant_pool_expr_1,
+ 	uses_TOC): New functions.
+ 	(print_operand): Delete old '*' case.
+ 	(print_operand_address): Use LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
+ 	and strip off rtl for TOC before calling output_addr_const.
+ 	(rs6000_emit_load_toc_table): Use toc_label_name.
+ 	* config/rs6000/rs6000.h (TARGET_SWITCHES): Make msched-prolog
+ 	the default.
+ 	(LEGITIMATE_CONSTANT_POOL_BASE_P): Delete.
+ 	(CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): New macros.
+ 	(LEGITIMATE_CONSTANT_POOL_ADDRESS_P): Use CONSTANT_POOL_EXPR_P.
+ 	(LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Turn symbol_refs
+ 	into explicit TOC_REGISTER offsets.
+ 	(TOC_REGISTER): New macro.
+ 	* config/rs6000/rs6000.md (movsi, movdi): Emit rtl under
+ 	TARGET_TOC to reference TOC_REGISTER.
+ 	(load_toc_v4_PIC_1b): Add 4 to offset for toc reload.
+ 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Call
+ 	uses_TOC before emitting label references.
+ 
+ 	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (stack_tie): Fix warning.
+ 
+ 	* eabi-ctors.c: Use 'asm' names for the start/end variables,
+ 	to handle -fleading-underscore.
+ 	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf and %U.
+ 	(USER_LABEL_PREFIX): New macro.
+ 	(ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf and %L.
+ 	(ASM_OUTPUT_LABELREF): Use asm_fprintf and %U.
+ 	* t-ppccomm (MULTILIB_MATCHES_SYSV): Note that call-sysv and
+ 	call-linux can use the same multilibs.
+ 	* t-ppcgas (MULTILIB_OPTIONS): Don't need to have separate call-sysv
+ 	and call-linux multilibs.  Do multilib with -fleading-underscore.
+ 	(MULTILIB_DIRNAMES): Follow MULTILIB_OPTIONS change.
+ 	(MULTILIB_EXCEPTIONS): Remove call-linux exceptions.  Add restrictions
+ 	to call-aix.
+ 
+ 	* sysv4.h (CPP_SYSV_SPEC): Define _SOFT_FLOAT for all those CPUs that
+ 	have MASK_SOFT_FLOAT set.
+ 	(CPP_FLOAT_DEFAULT_SPEC): New macro.
+ 	(SUBTARGET_EXTRA_SPECS): Set `cpp_float_default' to the value of
+ 	CPP_FLOAT_DEFAULT_SPEC.
+ 
+ 	* rs6000.c (ccr_bit): Add some consistency checks and a variable 'reg'.
+ 	* rs6000.md: Whitespace change.
+ 	* sysv4.h (LINK_TARGET_SPEC): Whitespace change.
+ 	* sysv4le.h (LINK_TARGET_SPEC): Whitespace change.
+ 
+ 	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (eh_epilogue): New expander.
+ 	(eh_reg_restore): New expand/split/insn combination.
+ 	(return_eh_si): New insn.
+ 	(return_eh_di): New insn.
+ 
+ 	* eabi-ci.asm: Put a label at the start of the .eh_frame section.
+ 	* eabi-cn.asm: Put a zero at the end of the .eh_frame section.
+ 	* eabi-ctors.c (__do_global_ctors): Register this object's
+ 	frame.  Clean up.  Call atexit() after the constructors.
+ 	(__do_global_dtors): Deregister this object's frame.  Clean up.
+ 	Allow for recursive calls to exit().
+ 	* rs6000.c (fixuplabelno): New variable.
+ 	* sysv4.h (ASM_OUTPUT_INT): Don't do .fixup if not
+ 	TARGET_RELOCATABLE, it slows down exec() under linux.
+ 	(ASM_OUTPUT_DWARF_ADDR): Do .fixup if TARGET_RELOCATABLE.
+ 
+ 	* aix.h (ASM_OUTPUT_DWARF_ADDR_VAR): New macro.
+ 	(ASM_OUTPUT_DWARF_DELTA_VAR): New macro.
+ 	(ASM_OUTPUT_DWARF_DELTA2): New macro.
+ 	(ASM_OUTPUT_DWARF_DELTA4): New macro.
+ 	(ASM_OUTPUT_DWARF_ADDR_DELTA): New macro.
+ 	(ASM_OUTPUT_DWARF_ADDR): New macro.
+ 	(ASM_OUTPUT_DWARF_DATA4): New macro.
+ 	(ASM_OUTPUT_DWARF_DATA2): New macro.
+ 	(ASM_OUTPUT_DWARF_OFFSET4): New macro.
+ 	(ASM_OUTPUT_DWARF_OFFSET): New macro.
+ 	(UNALIGNED_INT_ASM_OP): New macro, fake definition.
+ 
+ 	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_sr_alias_set): New variable.
+ 	(rs6000_override_options): Initialize rs6000_sr_alias_set.
+ 	(rs6000_emit_stack_tie): New function.
+ 	(rs6000_emit_allocate_stack): Specify RTX_FRAME_RELATED_P
+ 	in a way that dwarf2out can understand.
+ 	(rs6000_frame_related): New function.
+ 	(rs6000_emit_prologue): Use rs6000_sr_alias_set.  Specify
+ 	RTX_FRAME_RELATED_P in a way that dwarf2out can understand.
+ 	Use rs6000_emit_stack_tie when needed.
+ 	(rs6000_emit_epilogue): Use rs6000_sr_alias_set.  Don't set
+ 	RTX_FRAME_RELATED_P.  Use rs6000_emit_stack_tie when needed.
+ 	* rs6000.md (stack_tie): New insn.
+ 	(return_internal_si): Allow return value to be in the count
+ 	register.
+ 	(return_internal_di): Likewise.
+ 
+ 	* rs6000.c (output_mi_thunk): Remove unused variable `sp'.
+ 
+ 	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* sysv4.h (LOCAL_LABEL_PREFIX): Define, for the use of dbxelf.h.
+ 
+ 	2000-01-31  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro.
+ 
+ 	* rs6000.md (stmw): Use the right POWER opcode.
+ 	(lmw): Likewise.
+ 
+ 	2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rs6000-protos.h: New file.
+ 
+ 	* rs6000.c: Include tm_p.h.  Fix compile time warnings.
+ 
+ 	* rs6000.h: Move prototypes to rs6000-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* sysv4.h: Likewise.
+ 
+ 	2000-01-28  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* ../../configure.in: Delete powerpcle-*-winnt*
+ 	and powerpcle-*-pe|powerpcle-*-cygwin*.
+ 	* ../../configure: Regenerated.
+ 	* cygwin.h: Delete.
+ 	* rs6000.h (OBJECT_WINDOWS_NT): Delete.
+ 	(TARGET_WINDOWS_NT): Delete.
+ 	(ABI_NT): Delete.
+ 	(CALL_NT_DLLIMPORT): Delete.
+ 	Delete NT-specific code.
+ 	* rs6000.md, rs6000.c, sysv4.h: Delete NT-specific code.
+ 	* win-nt.h: Delete.
+ 	* t-winnt: Delete.
+ 	* nt-ci.asm: Delete.
+ 	* nt-cn.asm: Delete.
+ 	* ntstack.asm: Delete.
+ 
+ 	2000-01-27  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h (SELECT_RTX_SECTION): Move to aix.h.
+ 	(ASM_FILE_START): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(ASM_OUTPUT_LABELREF): Likewise.
+ 	(ASM_OUTPUT_SKIP): Likewise.
+ 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(ASM_OUTPUT_CASE_LABEL): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	(ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	2000-01-27  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
+ 	reload_toc_labelno for non-prologue TOC reloads.  Also, don't
+ 	increment rs6000_pic_labelno here.
+ 	(rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
+ 	and increment rs6000_pic_labelno here.
+ 
+ 	2000-01-24  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (fctiwz): Use (set (reg) (unspec:DI [(fix:SI ...)]))
+ 	rather than (set (subreg:SI (reg)) (fix:SI ...)) so that register
+ 	allocation knows (reg) is dead before the insn.
+ 
+ 	2000-01-21  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (movsi_to_cr): Correct typo in output template.
+ 
+ 	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_pic_labelno): Always define.
+ 	(rs6000_pic_func_labelno): Delete.
+ 	(lmw_operation): Check for a zero base register,
+ 	which doesn't mean what we want.
+ 	(stmw_operation): New function.
+ 	(print_operand): Define new 'l' modifier.
+ 	(rs6000_stack_info): We must save all 64 bits of the registers
+ 	if TARGET_POWERPC64.
+ 	(rs6000_output_load_toc_table): Delete.
+ 	(rs6000_emit_load_toc_table): New function.
+ 	(rs6000_allocate_stack_space): Delete.
+ 	(rs6000_emit_allocate_stack): New function.
+ 	(rs6000_emit_prologue): New function.
+ 	(output_prolog): Use rs6000_emit_prologue.
+ 	(rs6000_emit_epilogue): Change a few variable names to be
+ 	more accurate.  Restore all 64 bits of the registers if
+ 	TARGET_POWERPC64.  Only restore the FP registers which were used
+ 	if they are being saved/restored one-at-a-time.
+ 	(output_mi_thunk): Delete inefficient code generation.
+ 	(output_function_profiler): Don't use rs6000_output_load_toc_table.
+ 	* rs6000.h: Declare rs6000_emit_load_toc_table,
+ 	rs6000_allocate_stack_space, stmw_operation.  Don't declare
+ 	rs6000_output_load_toc_table.
+ 	* rs6000.md (elf_high): Allow register 0, but discourage it
+ 	heavily.
+ 	(elf_low): Support loading into register 0.
+ 	(load_toc_aix_si): New pattern.
+ 	(load_toc_aix_di): New pattern.
+ 	(load_toc_v4_pic_si): New pattern.
+ 	(load_toc_v4_pic_di): New pattern.
+ 	(load_toc_v4_PIC_1): New pattern.
+ 	(load_toc_v4_PIC_1b): New pattern.
+ 	(load_toc_v4_PIC_2): New pattern.
+ 	(builtin_setjmp_receiver): Use rs6000_emit_load_toc_table.
+ 	(nonlocal_goto_receiver): Use rs6000_emit_load_toc_table.
+ 	(prologue): New expander.
+ 	(movesi_from_cr): New pattern.
+ 	(stmw): New pattern.
+ 	(save_fpregs_si): New pattern.
+ 	(save_fpregs_di): New pattern.
+ 
+ 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (movsi): Don't use force_reg when no_new_pseudos.
+ 	(movdi): Likewise.
+ 	(movhi): Likewise.
+ 	(movqi): Likewise.
+ 
+ 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (movsi_got): 'unspec 8' returns a SImode result,
+ 	at present.
+ 	(movsi_got_internal): Likewise.
+ 	(movsi_got_internal+1): Likewise.
+ 	(set_sp): 'unspec 7' does a SImode clobber.
+ 
+ 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md (floatsidf2): Don't use the fpmem "register", just
+ 	allocate a stack temporary.
+ 	(floatsidf2_internal): Likewise.
+ 	(floatsidf2_internal+1): Likewise.  Don't do bizzare hacks
+ 	with unspec.
+ 	(floatunssidf2): Don't use the fpmem "register", just
+ 	allocate a stack temporary.
+ 	(floatunssidf2_internal): Likewise.
+ 	(floatunssidf2_internal+1): Likewise.  Don't do bizzare hacks
+ 	with unspec.
+ 	(floatsidf2_loadaddr): Delete.
+ 	(floatsidf2_store1): Delete.
+ 	(floatsidf2_store2): Delete.
+ 	(floatsidf2_load): Delete.
+ 	(fix_truncdfsi2): Don't use the fpmem "register", just
+ 	allocate a stack temporary.
+ 	(fix_truncdfsi2_internal_si): Delete.
+ 	(fix_truncdfsi2_internal_di): Delete.
+ 	(fix_truncdfsi2_internal): New insn.
+ 	(fix_truncdfsi2_internal+1): Don't use the fpmem "register".
+ 	(fix_truncdfsi2_store): Delete.
+ 	(fix_truncdfsi2_load): Delete.
+ 	(fctiwz): Produce gen_fctiwz.
+ 
+ 	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* eabi.h (INVOKE__main): Define.
+ 	* rs6000.c (rs6000_stack_info): Don't handle call to NAME__MAIN
+ 	specially.
+ 	(rs6000_emit_prologue): Likewise.
+ 	* rs6000.h (struct rs6000_stack): Don't keep track of whether
+ 	this is the main program.
+ 
+ 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_va_arg): Delete some unused variables.
+ 
+ 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_va_arg): On AIX, padding for small arguments
+ 	goes after the argument.
+ 
+ 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.md: Document 'unspec' values used.
+ 	(epilogue): New expander.
+ 	(movesi_to_cr_one): New expander.
+ 	(movesi_to_cr and following): New pattern.
+ 	(lmw): New pattern.
+ 	(return_internal_si): New pattern.
+ 	(return_internal_di): New pattern.
+ 	(return_and_restore_fpregs_si): New pattern.
+ 	(return_and_restore_fpregs_di): New pattern.
+ 	* rs6000.h: Declare new functions.
+ 	* rs6000.c (rs6000_stack_info): Use current_function_is_leaf
+ 	rather than rs6000_calls_p.
+ 	(rs6000_makes_calls): Delete.
+ 	(lmw_operation): New function.
+ 	(mtcrf_operation): New function.
+ 	(rs6000_emit_epilogue): New function.
+ 	(output_epilog): Call rs6000_emit_epilogue and final if
+ 	!TARGET_SCHED_PROLOG, instead of writing text unconditionally.
+ 
+ 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* aix43.h (SUBSUBTARGET_SWITCHES): Document switches.
+ 	* aix41.h (SUBSUBTARGET_SWITCHES): Document switches.
+ 	* aix.h (SUBTARGET_SWITCHES): Document switches.
+ 	* rs6000.h: (TARGET_SWITCHES): Don't print options twice.  Make
+ 	sched-prolog and sched-epilog the same.  Document all the
+ 	switches.
+ 	(TARGET_OPTIONS): No longer allow -mdebug-.
+ 
+ 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.h (ASM_FILE_END): Move to aix.h.
+ 	(EXTRA_SECTIONS): Move to aix.h.
+ 	(READONLY_DATA_SECTION): Move to aix.h.
+ 	(EXTRA_SECTION_FUNCTIONS): Move to aix.h.
+ 	(SELECT_SECTION): Move to aix.h.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Move to aix.h.
+ 	(INT_REGNO_P): Use symbolic name for ARG_POINTER_REGNUM.
+ 	(LINK_REGISTER_REGNUM): New definition.
+ 	(RETURN_ADDR_RTX): Use symbolic name for LINK_REGISTER_REGNUM.
+ 	(SLOW_UNALIGNED_ACCESS): Define in a way suitable for both
+ 	AIX and SVR4.
+ 	* sysv4.h: Delete the code between the inclusion of rs6000.h
+ 	and svr4.h.
+ 	(DWARF_DEBUGGING_INFO): Don't define, it's defined in elfos.h.
+ 	(FP_ARG_MAX_REG): Move generic definition to rs6000.h.
+ 	(RS6000_REG_SAVE): Move generic definition to rs6000.h.
+ 	(RS6000_SAVE_AREA): Move generic definition to rs6000.h.
+ 	* rs6000.md (floatsidf2_loadaddr): The first arg here is Pmode.
+ 	(fix_truncdfsi2_internal): Rename to fix_truncdfsi2_internal_si.
+ 	(fix_truncdfsi2_internal_di): New pattern.
+ 	(fix_truncdfsi2_store): The second arg here is Pmode too.
+ 	(fix_truncdfsi2_load): The second arg here is Pmode too.
+ 	(tablejumpdi): Now that switch tables hold only SImode values,
+ 	gcc needs to know how to add them to the pc which is DImode.
+ 	* rs6000.c (rs6000_stack_info): Use symbolic name for
+ 	LINK_REGISTER_REGNUM.
+ 	(output_mi_thunk) [!TARGET_ELF]: Don't define sp, it's not used.
+ 	(output_toc): Delete unused variables s1 and s2.
+ 	(output_ascii): Use fputs not fprintf on a variable string.
+ 
+ 	2000-01-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (processor_target_table): Add power3 as alias for 630.
+ 	* aix43.h: Revert Aug 2 change.
+ 	(HAS_INIT_SECTION): Define, not visible yet.
+ 	(LD_INIT_SWITCH): Define, not visible yet.
+ 	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
+ 
+ 	2000-01-04  Joel Sherrill (joel@OARcorp.com>
+ 
+ 	* config/rs6000/rtems.h: Include config/rtems.h.
+ 
+ 	2000-01-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
+ 	(SLOW_UNALIGNED_ACCESS): Define.
+ 	(CASE_VECTOR_MODE): Always use 32-bit offsets.
+ 	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
+ 	(EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
+ 	(toc_section): Likewise and .toc pseudo-op.
+ 	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
+ 	64-bit mode.
+ 	(TEXT_SECTION_ASM_OP): Likewise.
+ 	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
+ 	32-bit offsets.
+ 
+ 	1999-12-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (TARGET_POWERPC64): Make sure
+ 	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
+ 	compiling libgcc2.
+ 
+ 	2000-01-06  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h: Move more stuff from here...
+ 	* aix.h: to here.
+ 	* sysv4.h: Cleanup accordingly.
+ 	* netware.h: Likewise
+ 
+ 	2000-01-05  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h: Continue cleanup.
+ 	* aix.h: Likewise.
+ 	* lynx.h: Likewise.
+ 	* netware.h: Likewise.
+ 	* sol2.h: Likewise.
+ 	* sysv4.h: Likewise.
+ 	* win-nt.h: Likewise.
+ 
+ 	* rs6000.h (TARGET_SWITCHES): Add descriptions.
+ 	(TARGET_OPTIONS): Likewise.
+ 
+ 	* sysv4.h (SUBTARGET_SWITCHES): Add descriptions.
+ 	(SUBTARGET_OPTIONS): Likewise.
+ 
+ 	* rs6000.md: Fix compile time warnings.
+ 
+ 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	vxworks patches from the Cygnus tree originally by
+ 	Michael Meissner <meissner@cygnus.com> and Vladimir Makarov
+ 	<vmakarov@cygnus.com>.
+ 	* sysv4.h (SUBTARGET_SWITCHES): Add vxworks.
+ 	(ENDFILE_SPEC): Likewise.
+ 	(LIB_VXWORKS_SPEC): New macro.
+ 	(STARTFILE_VXWORKS_SPEC): New macro.
+ 	(ENDFILE_VXWORKS_SPEC): New macro.
+ 	(LINK_START_VXWORKS_SPEC): New macro.
+ 	(LINK_OS_VXWORKS_SPEC): New macro.
+ 	(CPP_OS_VXWORKS_SPEC): New macro.
+ 	(SUBTARGET_EXTRA_SPECS): Add all the vxworks specs.
+ 	* vxppc.h: Rewrite to use proper configuration method.
+ 	* vxppcle.h: New file.
+ 	* ../../configure.in: Add powerpcle-wrs-vxworks*.
+ 	* ../../configure: Rebuilt.
+ 
+ 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	Lots of changes to rs6000.h, sysv4.h, aix.h,
+ 	aix31.h, aix3newas.h, aix41.h, aix43.h, beos.h,
+ 	with the aim that rs6000.h is the first header
+ 	included and the others override it.
+ 	* aix.h: New file.
+ 
+ 	* x-aix41-gld: Remove.
+ 	* x-aix43: Remove.
+ 	* x-aix41: Remove target-specific switches, and don't specify
+ 	-Wl,-bbigtoc as we don't need it any more.
+ 	* ../../configure.in: Use x-aix41 for ppc AIX 4.1 and above.
+ 	Use t-aix43 for AIX 4.3 and above.
+ 	* ../../configure: Regenerated.
+ 
+ 	* rs6000.h (TARGET_SWITCHES): Add some initial prolog-scheduling
+ 	options, that don't do anything yet.
+ 	(MASK_SCHED_PROLOG): New macro.
+ 	(MASK_SCHED_EPILOG): New macro.
+ 	(TARGET_SCHED_PROLOG): New macro.
+ 	(TARGET_SCHED_EPILOG): New macro.
+ 
+ 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c: Correct comment, the `minimal' TOCs are actually
+ 	one per translation unit, not one per function.
+ 	(output_toc): Also do duplicate constant elimination
+ 	for per-translation-unit TOCs.
+ 
+ 	* rs6000.md (nonlocal_goto_receiver): Put it back as before.  Add
+ 	a comment explaining _exactly_ when this pattern gets used.
+ 	(builtin_setjmp_receiver): New pattern for better clarity.
+ 	(init_v4_pic): Move it into a section dealing with TOC registers.
+ 
+ 	1999-12-30  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (toc_hash_table): New variable.
+ 	(rs6000_hash_constant): New function.
+ 	(toc_hash_function): New function.
+ 	(toc_hash_eq): New function.
+ 	(toc_hash_mark_entry): New function.
+ 	(toc_hash_mark_table): New function.
+ 	(output_toc): Don't output duplicate TOC entries in
+ 	a single file.
+ 	(rs6000_add_gc_roots): Add the hash table as a GC root.
+ 	* t-aix43: Move AR_FOR_TARGET and CLIB here from x-aix43,
+ 	where they clearly shouldn't be.  This may need to be fixed
+ 	later when there is a GNU ar for AIX.
+ 	* x-aix43: Don't define CLIB or AR_FOR_TARGET.
+ 	Don't define BOOT_LDFLAGS as it is now not necessary.
+ 
+ 	1999-12-29  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rs6000.c (rs6000_build_va_list): Use 'char *' rather than 'void *'
+ 	for va_list on AIX.  Use unsigned_char_type_node rather than
+ 	constructing our own version on svr4.
+ 
+ 	1999-12-17  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* tramp.asm (__trampoline_size): Delete CYGNUS LOCAL comment,
+ 	since patently it's not.
+ 
+ 	1999-12-08  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/rs6000/rs6000.md (nonlocal_goto_receiver): Turn into
+ 	define_expand/define_insn pair, and handle restore of the
+ 	SVR4 -fpic register.
+ 
+ Wed Mar 15 15:43:38 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* acconfig.h (HAVE_GAS_WEAK): New define.
+ 	* configure.in (assembler weak support): Check for .weak support.
+ 	* config.in, configure: Rebuilt.
+ 	* pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if
+ 	HAVE_GAS_WEAK is defined.
+ 
+ 2000-03-15  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Do not pass %c to
+ 	asm_fprintf().
+ 
+ 2000-03-15  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (open_include_file): New function.
+ 	(find_include_file, cpp_read_file): Use it.
+ 
+ 2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cpphash.c (dump_hash_helper): Take the slot, not the element.
+ 
+ Wed Mar 15 14:28:54 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* flow.c (verify_flow_info): Check for unconditional return.
+ 
+ Wed Mar 15 11:34:27 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.md (restore_stack_nonlocal): New.
+ 	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop.
+ 	(__ia64_restore_stack_nonlocal): New.
+ 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal.
+ 
+ 2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* cpphash.c (collect_formal_parameters): Do not complain about
+ 	parameter names that just start with `__VA_ARGS__'.
+ 
+ Wed Mar 15 13:26:58 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and
+ 	movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines.
+ 	* i386.c (pentiumpro_cost): Set mul cost to 4.
+ 	(x86_use_movx): Set for PPro.
+ 
+ Wed Mar 15 13:07:05 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (ix86_compute_frame_size): stack_alignment_needed is
+ 	STACK_BOUNDARY for empty frames now.
+ 
+ 2000-03-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (layout_union): Remove.
+ 	(layout_union_field): New function, split out from layout_union.
+ 	(finish_union_layout): Likewise.
+ 	(layout_field): Handle unions by calling layout_union_field.
+ 	(finish_record_layout): Handle unions.
+ 	(layout_type): Combine RECORD_TYPE, UNION_TYPE, and
+ 	QUAL_UNION_TYPE handling.
+ 
+ Wed Feb 23 13:00:06 CET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (fixup_reorder_chain): Avoid double labels in the basic block;
+ 	end of basic block is jump_insn, not barrier; use create_basic_block
+ 	instead of creating basic block by hand.
+ 
+ 2000-03-14  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* flow.c (reorder_basic_blocks): Account for barriers when writing
+ 	over NEXT_INSN (last_bb->end).
+ 	(verify_flow_info): Add check for missing barriers.
+ 
+ 2000-03-14  Greg McGary  <gkm@gnu.org>
+ 
+ 	* c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.
+ 	* c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED.
+ 	* c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__,
+ 	__ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__,
+ 	__unbounded, __unbounded__): New keywords.
+ 	* c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens.
+ 	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
+ 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
+ 
+ 2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* cselib.h: New file.
+ 	* alias.c: Include "cselib.h".
+ 	(fixed_scalar_and_varying_struct_p): Accept the addresses of the
+ 	MEMs as two new arguments.
+ 	(get_addr): New static function.
+ 	(find_base_term): Handle VALUEs.
+ 	(memrefs_conflict_p): Likewise.
+ 	(true_dependence): Call get_addr on the addresses.
+ 	Call fixed_scalar_and_varying_struct_p with addresses that have been
+ 	passed through get_addr and canon_rtx.
+ 	(write_dependence_p): Move DIFFERENT_ALIAS_SETS_P test for consistency
+ 	with true_dependence.
+ 	Call get_addr on the addresses; don't call canon_rtx on the MEMs.
+ 	* loop.c: Include "cselib.h".
+ 	(load_mems): Process extended basic block that enters the loop with
+ 	cselib.  Use that information to change initialization of the shadow
+ 	register so that a constant equivalence is seen by later passes.
+ 	* reload1.c: Include "cselib.h".
+ 	(reload_cse_invalidate_regno): Delete function.
+ 	(reload_cse_mem_conflict_p): Likewise.
+ 	(reload_cse_invalidate_mem): Likewise.
+ 	(reload_cse_invalidate_rtx): Likewise.
+ 	(reload_cse_regno_equal_p): Likewise.
+ 	(reload_cse_check_clobber): Likewise.
+ 	(reload_cse_record_set): Likewise.
+ 	(reg_values): Delete static variable.
+ 	(invalidate_regno_rtx): Likewise.
+ 	(reload_cse_delete_noop_set): New static function.
+ 	(reload_cse_simplify): New static function, broken out of
+ 	reload_cse_regs_1.
+ 	(reload_cse_noop_set_p): Delete unused argument INSN.
+ 	Just call rtx_equal_for_cselib_p on set source and destination.
+ 	(reload_cse_regs_1): Break out some code into reload_cse_simplify and
+ 	reload_cse_delete_noop_set.  Delete code to keep track of values; use
+ 	cselib functions instead.  Delete code to push/pop obstacks.
+ 	(reload_cse_simplify_set): Use cselib to find equivalent values.
+ 	Delete code to push/pop obstacks.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	* rtl.def (VALUE): New rtx code.
+ 	* rtl.h (union rtunion_def): New elt rt_cselib.
+ 	(X0CSELIB, CSELIB_VAL_PTR): New macros.
+ 	* simplify_rtx.c: Include "ggc.h", "obstack.h", "cselib.h".
+ 	(new_elt_list, new_elt_loc_list, unchain_one_value, clear_table,
+ 	unchain_one_elt_list, unchain_one_elt_loc_list, check_useless_values,
+ 	discard_useless_locs, discard_useless_values, entry_and_rtx_equal_p,
+ 	hash_rtx, new_cselib_val, add_mem_for_addr, get_value_hash,
+ 	cselib_lookup_mem, cselib_subst_to_values, cselib_invalidate_regno,
+ 	cselib_mem_conflict_p, cselib_invalidate_mem, cselib_invalidate_rtx,
+ 	cselib_record_set, cselib_record_sets): New static functions.
+ 	(cselib_lookup, cselib_update_varray_sizes, cselib_init,
+ 	cselib_finish, cselib_process_insn, rtx_equal_for_cselib_p,
+ 	references_value_p): New functions.
+ 	(MAX_USELESS_VALUES, REG_VALUES): New macros.
+ 	(table, cselib_current_insn, next_unknown_value, cselib_nregs,
+ 	n_useless_values, reg_values, callmem, cselib_obstack,
+ 	cselib_startobj, empty_vals, empty_elt_lists, empty_elt_loc_lists):
+ 	New static variables.
+ 	* varray.h (union varray_data_tag): New elt te.
+ 	(VARRAY_ELT_LIST_INIT, VARRAY_ELT_LIST): New macros.
+ 	* Makefile.in (reload1.o, loop.o, simplify-rtx.o, alias.o): Update
+ 	dependencies.
+ 
+ 2000-03-14  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* gcc.c (do_spec_1): Catch the case where %* is used in a
+ 	substitution pattern, but it has not been initialized.
+ 	Issue a meaningful error message if an unrecognized operator
+ 	is encountered in a spec string.
+ 
+ 2000-03-14  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* function.c (prepare_function_start): Correctly initialize
+ 	cfun->stack_alignment_needed.
+ 
+ 2000-03-14  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (find_include_file): Don't assume nshort is a
+ 	substring of name.
+ 
+ Tue Mar 14 08:42:21 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* configure.in (hppa configurations): Add pa32-regs.h to the
+ 	list of tm files as appropriate.
+ 	* configure: Rebuilt.
+ 	* pa.c (compute_frame_size): Remove explicit knowledge about FP
+ 	register numbering.
+ 	(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
+ 	(fmpyaddoperands, fmpysuboperands): Likewise.
+ 	* pa.h: Remove various definitions which depend on knowing
+ 	how registers are numbered.
+ 	* pa32-regs.h: New file with PA32 register numbering specific
+ 	definitions.
+ 
+ 2000-03-14  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* regmove.c (combine_stack_adjustments): New.
+ 	(stack_memref_p, single_set_for_csa): New.
+ 	(free_csa_memlist, record_one_stack_memref): New.
+ 	(try_apply_stack_adjustment): New.
+ 	(combine_stack_adjustments_for_block): New.
+ 	* rtl.h (combine_stack_adjustments): Declare.
+ 	* toplev.c (rest_of_compilation): Call it.
+ 
+ 	* i386.md: Revert 2000-01-16 change.
+ 
+ 2000-03-14  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* gccbug.in: Add web category, gcc specific classes.
+ 
+ 2000-03-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* stor-layout.c (finalize_record_size): Fix typo.
+ 
+ 2000-03-14  Stan Shebs  <shebs@apple.com>
+ 
+ 	* c-typeck.c (c_alignof): Error on incomplete types.
+ 	* extend.texi (Alignment): Document this.
+ 
+ 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c: Include mkdeps.h.
+ 	(find_include_file, read_include_file): Remove _cpp_ prefix
+ 	from name, make static.
+ 	(_cpp_execute_include): New function, broken out of
+ 	do_include.
+ 
+ 	* cpplib.c: Don't include mkdeps.h.
+ 	(struct directive): Remove type field. Reorder entries.  The
+ 	function takes only one argument.
+ 	(struct if_stack): Make type field an int.
+ 	(directive_table): Rename to dtable.  Generate it, the
+ 	prototypes of the directive handlers, and the enum for the
+ 	directive numbers, from a template macro.
+ 	(do_ifndef, do_include_next, do_import): New functions.
+ 	(do_define, do_include, do_endif, do_ifdef, do_if, do_else,
+ 	do_undef, do_line, do_elif, do_error, do_pragma, do_warning,
+ 	do_ident, do_assert, do_unassert, do_sccs): Take only one
+ 	argument.
+ 	(do_sccs): Define always, but alter behavior based on
+ 	SCCS_DIRECTIVE.
+ 	(_cpp_handle_directive, consider_directive_while_skipping):
+ 	Restructure for new directive table layout.
+ 
+ 	(pass_thru_directive): Take a directive number, not a pointer
+ 	to a struct directive.
+ 	(parse_include): New function, broken out of do_include.
+ 	(do_include, do_import, do_include_next): Use parse_include
+ 	and _cpp_execute_include.
+ 	(do_elif, do_else): Test for T_ELSE specifically when checking
+ 	for #elif/#else after #else.
+ 	(parse_ifdef): New function, broken out of do_ifdef.
+ 	(validate_else): Expect a name arg without a leading #.
+ 	(if_directive_name): Delete.
+ 	(cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call
+ 	directive handlers with only one argument.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	(enum node_type): Remove entries for directives.
+ 	* Makefile.in: Update dependencies.
+ 
+ 	* cpphash.c (dump_hash_helper): Only dump nodes of type
+ 	T_MACRO.  Emit a newline after each definition.
+ 
+ 2000-03-14  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* gccbug.in: New file.
+ 	* configure.in (all_outputs): Add gccbug.
+ 	* Makefile.in (install-common): Install gccbug.
+ 	(GCCBUG_INSTALL_NAME): New variable.
+ 	* configure: Rebuilt.
+ 
+ 2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* function.c (put_var_into_stack): Use type_for_mode to calculate
+ 	part_type.  Use MEM_SET_IN_STRUCT_P.
+ 	* expr.c (store_field): Handle CONCAT.
+ 	(store_constructor): Use fields_length.
+ 	* tree.c (fields_length): New fn.
+ 	* tree.h: Declare it.
+ 
+ 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (LIBCPP_OBJS): Add cpplex.o.
+ 	(cpplex.o): New target.
+ 	* po/POTFILES.in: Add cpplex.c.
+ 
+ 	* cpplex.c (_cpp_grow_token_buffer, null_cleanup,
+ 	cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer,
+ 	cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer,
+ 	skip_block_comment, skip_line_comment, skip_comment,
+ 	copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line,
+ 	_cpp_parse_name, skip_string, parse_string,
+ 	_cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token,
+ 	_cpp_get_directive_token, find_position,
+ 	_cpp_read_and_prescan, _cpp_init_input_buffer): Move here.
+ 	(maybe_macroexpand, _cpp_lex_token): New functions.
+ 
+ 	* cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark,
+ 	parse_goto_mark): Delete.
+ 	(_cpp_handle_eof): New function.
+ 	(_cpp_handle_directive): Rename from handle_directive.
+ 	(_cpp_output_line_command): Rename from output_line_command.
+ 	(do_if, do_elif): Call _cpp_parse_expr directly.
+ 	* cppfiles.c (_cpp_read_include_file): Don't call
+ 	init_input_buffer here.
+ 	* cpphash.c (quote_string): Move here, rename _cpp_quote_string.
+ 	* cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive
+ 	here; pop the token_buffer and skip the rest of the line here.
+ 	* cppinit.c (cpp_start_read): Call _cpp_init_input_buffer
+ 	here.
+ 
+ 	* cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P):
+ 	Define here.
+ 	(CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK,
+ 	CPP_GOTO_MARK): New macros.
+ 	(_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line,
+ 	_cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token,
+ 	_cpp_read_and_prescan, _cpp_init_input_buffer,
+ 	_cpp_grow_token_buffer, _cpp_get_directive_token,
+ 	_cpp_handle_directive, _cpp_handle_eof,
+ 	_cpp_output_line_command): Prototype them here.
+ 	* cpplib.h (enum cpp_token): Add CPP_MACRO.
+ 	(CPP_RESERVE, get_directive_token, cpp_grow_buffer,
+ 	quote_string, output_line_command): Remove.
+ 
+ 2000-03-13  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* stmt.c (expand_end_case): RANGE may be signed, and when checking
+ 	whether it is too large we must also verify that it isn't negative.
+ 
+ 2000-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0.
+ 	(movsi_zero_liveg0): Remove.
+ 	(movsf_insn_novis_liveg0): Remove.
+ 	(negsi2): Remove.
+ 	(negsi2_not_liveg0): Rename to negsi2.
+ 	(one_cmplsi2): Remove.
+ 	(one_cmplsi2_not_liveg0): Rename to one_cmplsi2.
+ 	(one_cmplsi2_liveg0): Remove.
+ 	* config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE,
+ 	MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove.
+ 	(CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if.
+ 	(PREDICATE_CODES): Remove zero_operand.
+ 	* config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and
+ 	TARGET_BROKEN_SAVERESTORE.
+ 	(zero_operand): Remove.
+ 	* config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0,
+ 	-mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore
+ 	options.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ 	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
+ 	TARGET_BROKEN_SAVERESTORE): Remove.
+ 	* config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
+ 	Remove.
+ 	* config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
+ 	Remove.
+ 	* config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
+ 	Remove.
+ 
+ 	* config/sparc/sparc.md (return_df_no_fpu): New pattern.
+ 
+ 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_pragma_implementation): Fix off-by-one error
+ 	truncating a string.  Don't assume tokens are nul terminated.
+ 	Problem noted by Andreas Jaeger <aj@suse.de>
+ 
+ 2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_name_and_src_coords_attributes): Only add
+ 	DW_AT_MIPS_linkage_name for TREE_PUBLIC decls.
+ 	(ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline.
+ 
+ 2000-03-13  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* stor-layout.c (new_record_layout_info): Fix typo inside ifdef
+ 	STRUCTURE_SIZE_BOUNDARY.
+ 
+ 2000-03-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (record_layout_info_s): New structure.
+ 	(record_layout_info): New type.
+ 	(new_record_layout_info): New function.
+ 	(layout_field): Likewise.
+ 	(finish_record_layout): Likewise.
+ 	* stor-layout.c (layout_record): Remove.
+ 	(new_record_layout_info): New function.
+ 	(layout_field): New function, broken out from layout_record.
+ 	(finalize_record_size): Likewise.
+ 	(compute_record_mode): Likewise.
+ 	(finalize_type_size): New function, broken out from layout_type.
+ 	(finish_record_layout): Likewise.
+ 	(layout_type): Use them.
+ 
+ 2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c: Don't include version.h.
+ 	(special_symbol) [case T_VERSION]: Look for the string in
+ 	hp->value.cpval; don't use version_string.
+ 	* cppinit.c (initialize_builtins): Set hp->value.cpval for
+ 	__VERSION__ to version_string.
+ 	* Makefile.in (cpphash.o): Update deps.
+ 
+ 2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	Convert cpplib to use libiberty/hashtab.c.
+ 
+ 	* cpplib.h (struct cpp_reader): Make hashtab and
+ 	all_include_files of type 'struct htab *'.  Delete HASHSIZE
+ 	and ALL_INCLUDE_HASHSIZE macros.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	(struct hashnode): Remove next, prev, and bucket_hdr members.
+ 	Make length a size_t.  Add hash member.
+ 	(struct ihash): Remove next member.  Add hash member.  Make
+ 	name a flexible array member.
+ 
+ 	* cppfiles.c: Include hashtab.h.
+ 	(include_hash): Delete.
+ 	(IHASHSIZE): New macro.
+ 	(hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions.
+ 	(cpp_included): Do the hash lookup here.
+ 	(_cpp_find_include_file): Rewrite.
+ 	(cpp_read_file): Put the "fake" hash entry into the hash
+ 	table.  Honor the control_macro, if it turns out we've seen
+ 	the file before.  Don't push the buffer here.
+ 	(_cpp_read_include_file): Push the buffer here.
+ 	(OMODES): New macro.  Use it whenever we call open(2).
+ 
+ 	* cpphash.c: Include hashtab.h.
+ 	(hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper,
+ 	_cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode,
+ 	_cpp_lookup_slot): New functions.
+ 	(HASHSIZE): new macro.
+ 	(hashf, _cpp_install, _cpp_delete_macro): Delete.
+ 	(_cpp_lookup): Use hashtab.h routines.
+ 
+ 	* cppinit.c: Include hashtab.h.
+ 	(cpp_reader_init): Call _cpp_init_macro_hash and
+ 	_cpp_init_include_hash.  Don't allocate hashtab directly.
+ 	(cpp_cleanup): Just call htab_delete on pfile->hashtab and
+ 	pfile->all_include_files.
+ 	(initialize_builtins): Use _cpp_make_hashnode and
+ 	htab_find_slot to add hash entries.
+ 	(cpp_finish): Just call _cpp_dump_macro_hash.
+ 	* cpplib.c: Include hashtab.h.
+ 	(do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to
+ 	create hash entries.
+ 	(do_pragma_poison, do_assert): Likewise.
+ 	(do_include): Don't push the buffer here.  Don't increment
+ 	system_include_depth unless _cpp_read_include_file succeeds.
+ 	(do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot
+ 	or htab_remove_elt.
+ 	(do_pragma_implementation): Use alloca to create copy.
+ 
+ 	* Makefile.in: Update dependencies.
+ 
+ 2000-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppinit.c (cl_directive_handler): More K&R fixing.
+ 
+ Sat Mar 11 23:54:26 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Align size to
+ 	STACK_BOUNDARY.
+ 	* config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses.
+ 
+ 2000-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth):
+ 	Change from char[] to macros.
+ 
+ 2000-03-12  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (cpp_start_read): Update indirect function
+ 	call to K&R C.
+ 
+ Sat Mar 11 16:18:12 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79
+ 	entry.
+ 
+ 	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
+ 	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages.
+ 
+ 2000-03-11  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (struct pending option): Replace undef with a
+ 	pointer to a directive handling routine.
+ 	(struct cpp_pending): Replace separate assert_ and define_
+ 	lists with one directive_ list.
+ 	(new_pending_define): Rename new_pending_directive. Extra
+ 	argument is the directive's handling routine.
+ 	(handle_option): Update to use new_pending_directive.
+ 
+ 2000-03-11  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppfiles.c (file_cleanup, _cpp_find_include_file,
+ 	remap_filename, _cpp_read_include_file, actual_directory,
+ 	hack_vms_include_specification): Replace bcopy(), index() etc
+ 	calls.  Add casts to some allocations.  Make some variables
+ 	pointers to const [unsigned] char.
+ 	* cpphash.c (_cpp_install, macro_cleanup, collect_expansion,
+ 	collect_formal_parameters): Similarly.
+ 	* cppinit.c (struct pending_option, append_include_chain,
+ 	cpp_options_init, cpp_reader_init, initialize_standard_includes,
+ 	cpp_start_read, new_pending_define, handle_option): Similarly.
+ 	* cpplib.c (cpp_define, copy_comment, do_define, do_include,
+ 	do_undef, do_error, do_warning, do_pragma, do_pragma_once,
+ 	do_pragma_implementation, detect_if_not_defined,
+ 	do_ifdef, skip_if_group, cpp_get_token, parse_string,
+ 	do_assert, do_unassert): Similarly.
+ 	* cpplib.h (cpp_buffer, cpp_options): Update types.  Update
+ 	function prototypes.
+ 	* mkdeps.c (deps_add_target, deps_add_dep): cast allocations.
+ 
+ 2000-03-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_strlen): Revert last change.
+ 	Use emit_insn_before if we're at the beginning of a sequence.
+ 
+ 2000-03-10  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_strlen): Make sure that we have something
+ 	at the beginning of the sequence.
+ 
+ 	* toplev.c (rest_of_compilation): Also set TREE_NOTHROW for
+ 	deferred inlines.
+ 
+ 	* invoke.texi (C++ Dialect Options): Document -fno-enforce-eh-specs.
+ 
+ 2000-03-10  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* except.c (can_throw): Use INTVAL on a CONST_INT.
+ 	(reachable_handlers): Likewise.
+ 	* flow.c (count_basic_blocks, find_basic_blocks_1): Likewise.
+ 
+ 2000-03-10  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mips/linux.h: Undefine MD_EXEC_PREFIX and
+ 	MD_STARTFILE_PREFIX since those are not needed on linux.
+ 	(ASM_FILE_START): New, from mips/gnu.h.
+ 
+ 2000-03-09  Richard Henderson  <rth@cygnus.com>
+ 	    Alex Samuel  <samuel@codesourcery.com> and others
+ 
+ 	* Makefile.in (ssa.o): New rule.
+ 	(OBJS): Add ssa.o.
+ 	(STAGESTUFF): Add *.ssa and *.ussa.
+ 	(mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa.
+ 	* rtl.def (PHI): New RTL expression.
+ 	* rtl.h (clear_log_links): New declaration.
+ 	(convert_to_ssa): Likewise.
+ 	(convert_from_ssa): Likewise.
+ 	* flow.c (split_edge): If the entry node falls through to the
+ 	split edge's source block, split the entry edge.
+ 	(clear_log_links): New function.
+ 	* toplev.c (ssa_dump): New variable.
+ 	(flag_ssa): Likewise.
+ 	(f_options): Add "ssa".
+ 	(compile_file): Create SSA dump files.
+ 	(rest_of_compilation): Go to and from SSA if enabled.
+ 	(decide_d_option): Handle -de for SSA dump files.
+ 	* ssa.c: New file.
+ 
+ Thu Mar  9 20:01:38 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL
+ 	same as VAR_DECL.
+ 
+ 2000-03-09  Benjamin Kosnik  <bkoz@cygnus.com>
+ 
+ 	* config/alpha/linux.h (WCHAR_TYPE): Make consistent.
+ 
+ Thu Mar  9 18:10:02 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/pa-hpux10.h (LIB_SPEC): Correct typo in !p case.
+ 	(MD_STARTFILE_PREFIX_1): New macro.
+ 
+ 2000-03-09  Robert Lipe  <robertl@sco.com>
+ 
+ 	* config/ia64/ia64.c: Include system.h.
+ 
+ 2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* except.c (nothrow_function_p): If -fno-exceptions, just return.
+ 	(init_eh_nesting_info): Likewise.
+ 
+ 	* tree.h (struct tree_common): Rename raises_flag to nothrow_flag.
+ 	(TREE_NOTHROW): Rename from TREE_RAISES.
+ 	* toplev.c (rest_of_compilation): Set it.
+ 	* print-tree.c (print_node): Adjust.
+ 	* tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES.
+ 	(stabilize_reference_1, get_unwidened, get_narrower): Likewise.
+ 	* calls.c (emit_call_1): Add 'nothrow' parm.  Add
+ 	REG_EH_REGION note as appropriate.
+ 	(libfunc_nothrow): New fn.
+ 	(emit_library_call, emit_library_call_value): Use it.
+ 	(expand_call): Check TREE_NOTHROW.
+ 
+ 	* varasm.c (make_decl_rtl): Skip initial '*' when setting
+ 	DECL_ASSEMBLER_NAME.
+ 
+ 2000-03-09  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* mips/linux.h (NO_IMPLICIT_EXTERN_C): Define.
+ 	(TARGET_MEM_FUNCTIONS): Define.
+ 
+ 2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* i386.c (ix86_valid_type_attribute_p): Use compare_tree_int.
+ 
+ 	* except.c (can_throw): See through a SEQUENCE.
+ 	(nothrow_function_p): New fn.
+ 	* except.h: Declare it.
+ 	* function.c (current_function_nothrow): New var.
+ 	(prepare_function_start): Initialize it.
+ 	* output.h: Declare it.
+ 	* toplev.c (rest_of_compilation): Set it.
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Use it.
+ 
+ 2000-03-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (collect_formal_parameters): strncmp returns 0 for
+ 	match.  (cpp_compare_defs): Count the nul separator when
+ 	advancing over argument names.
+ 
+ 2000-03-09  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* recog.c (preprocess_constraints): Matching constraints affect
+ 	same alternative/different operand, not same operand/different
+ 	alternative.
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Handle additions of eliminable
+ 	register and a constant specially.
+ 
+ 2000-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* libgcc2.h: New file.
+ 	* libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h.
+ 
+ Wed Mar  8 16:19:42 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* configure.in (ia64*-*-elf*, ia64*-*-linux*): New.
+ 	* configure: Regenerate.
+ 	* config/ia64: New.
+ 
+ 2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (LIBCPP_DEPS): New macro.
+ 	(cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use
+ 	it to declare deps.
+ 	* cpperror.c: Include cpphash.h.
+ 	* cppexp.c: Include cpphash.h.  Remove MULTIBYTE_CHARS
+ 	dingleberry.
+ 	(lex): Don't use CPP_WARN_UNDEF.
+ 	(_cpp_parse_expr): Return an int, the truth value.
+ 	* cppfiles.c: Include cpphash.h.
+ 	(_cpp_merge_include_chains): Move to cppinit.c and make static.
+ 	* cppinit.c (include_defaults_array): Disentangle.
+ 	(cpp_cleanup): Don't free the if stack here.
+ 	(cpp_finish): Pop off all buffers, not just one.
+ 	* cpplib.c (eval_if_expr): Return int.
+ 	(do_xifdef): Rename do_ifdef.
+ 	(handle_directive): Don't use CPP_PREPROCESSED.
+ 	(cpp_get_token): Don't use CPP_C89.
+ 	* fix-header.c: Don't use CPP_OPTIONS.
+ 
+ 	* cpplib.h: Move U_CHAR, enum node_type, struct
+ 	file_name_list, struct ihash, is_idchar, is_idstart,
+ 	is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK,
+ 	CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC,
+ 	CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q,
+ 	CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER,
+ 	CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes
+ 	of _cpp_simplify_pathname, _cpp_find_include_file,
+ 	_cpp_read_include_file, and _cpp_parse_expr to cpphash.h.
+ 	Move struct if_stack to cpplib.c.  Move struct cpp_pending to
+ 	cppinit.c.
+ 	Change all uses of U_CHAR to be unsigned char instead.
+ 	Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED.
+ 
+ 2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (dw_fde_struct): Add 'nothrow'.
+ 	(dwarf2out_begin_prologue): Set it.
+ 	(output_call_frame_info): Don't emit EH unwind info for leaves.
+ 
+ 	* flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow
+ 	can occur outside of an EH region.
+ 	* except.c: Correct comments about rethrow behavior.
+ 	(rethrow_symbol_map): Do nothing if !flag_new_exceptions.
+ 
+ 2000-03-08  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* flow.c (make_edges): Always call make_eh_edge for calls.
+ 
+ 2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete.
+ 	(struct cpp_buffer): Remove fname and underflow fields.
+ 	(struct cpp_reader): Remove get_token field.
+ 	(struct include_hash): Rename to struct ihash.  Add typedef to
+ 	IHASH.
+ 	(struct if_stack): Remove fname field.
+ 	(IF_STACK_FRAME): Rename to IF_STACK.
+ 
+ 	* cpperror.c (print_containing_files): Trust that there are no
+ 	macro buffers below the top file buffer.
+ 	* cppfiles.c: Replace all references to 'struct include_hash'
+ 	with 'IHASH'.  Rename initialize_input_buffer to
+ 	init_input_buffer.  Don't set or reference cpp_buffer->fname,
+ 	use buffer->ihash->name instead.
+ 	* cpphash.c (special_symbol): Use cpp_file_buffer.  Use NULL
+ 	not CPP_NULL_BUFFER.
+ 	* cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not
+ 	IF_STACK_FRAME, IHASH not struct include_hash.
+ 	* cpplib.c: Rename eval_if_expression to eval_if_expr.  Remove
+ 	null_underflow.  Use IF_STACK not IF_STACK_FRAME, IHASH not
+ 	struct include_hash, NULL not CPP_NULL_BUFFER.  Remove all
+ 	references to cpp_buffer->fname (delete entirely, or use
+ 	->ihash->name instead) and IF_STACK->fname.
+ 	(cpp_push_buffer): Don't set new->underflow.
+ 	(do_include): Use cpp_file_buffer.
+ 
+ 	* cpphash.c (collect_formal_parameters): Remove duplicate
+ 	increment of argslen.  Pedwarn in C99 mode if __VA_ARGS__ is
+ 	used as a macro argument name.  Don't append "..." to namebuf
+ 	for varargs macros.  After we're done scanning, go through
+ 	namebuf and make it NUL separated, not comma separated.
+ 	(_cpp_compare_defs): Remove register tag from variables.
+ 	Expect defn->argnames to be NUL separated.
+ 	(_cpp_dump_definition): Expect defn->argnames to be NUL
+ 	separated and in forward order.
+ 	* cpphash.h: Update documentation of argnames field.
+ 
+ 2000-03-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_builtin_strlen): Be prepared for strlensi
+ 	to fail.  Don't pre-expand the source operand.
+ 
+ 	* i386.md (strlensi): Initialize eoschar and align before use.
+ 
+ 2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* expr.c (expand_expr, case ARRAY_REF): Still check for missing
+ 	CONSTRUCTOR element.
+ 
+ 2000-03-08  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
+ 
+ 	* mips.c (mips_expand_prologue): If the last
+ 	named argument is the vararg marker "va_list", treat it as
+ 	an unnamed argument.
+ 
+ 2000-03-08  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* dbxout.c (dbxout_parms): When correcting for promoted
+ 	big-endian parameters, use the mode of the DECL_RTL rather
+ 	than UNITS_PER_WORD.
+ 
+ 2000-03-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.h (make_fname_decl): Declare.
+ 	* c-common.c (make_fname_decl): Define.
+ 	(declare_hidden_char_array): Remove.
+ 	(declare_function_name): Use make_fname_decl.
+ 	* c-decl.c (c_make_fname_decl): New function.
+ 	(init_decl_processing): Set make_fname_decl.
+ 
+ Tue Mar  7 23:50:31 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cccp.c (handle_directive): Initialize backslash_newlines_p.
+ 
+ 2000-03-07  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* po/POTFILES.in: Remove cppalloc.c from file list.
+ 
+ 2000-03-07  Steve Chamberlain  <sac@pobox.com>
+ 
+ 	* pj.c (pj_expand_prologue): current_function->args_info is
+ 	now current_function_args_info.
+ 
+ 	* pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX,
+ 	LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL,
+ 	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define.
+ 
+ 2000-03-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is
+ 	output as hexadecimal rather than the default octal.
+ 
+ 2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (special_symbol): Fix thinko in previous commit.
+ 
+ 2000-03-07  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppexp.c (struct operation, left_shift, right_shift,
+ 	cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some
+ 	"int"s to "unsigned int"s.
+ 	* cpplib.c (detect_if_not_defined, do_assert, do_unassert):
+ 	Similarly.
+ 	* cpplib.h: Update for above.
+ 	* mkdeps.c (deps_init, deps_calc_target): Cast pointers
+ 	returned from allocations.
+ 
+ 	* cppinit.c (opt_comp, parse_options): New functions.
+ 	(handle_option): Use parse_option to parse a single command
+ 	line option, that possibly takes an argument.
+ 	(cpp_handle_options): Sort the array of command line options on
+ 	first invocation (non-ASCII hosts only).
+ 	(print_help): Update.
+ 
+ 2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* mkdeps.c (munge): Fix off-by-one bug and inconsistencies in
+ 	backslash counting loops.  Problem noted by Matt Kraai <kraai@ghs.com>.
+ 
+ 	* cppfiles.c (_cpp_find_include_file): Make sure ih->name is
+ 	initialized.
+ 	* cppinit.c (cpp_cleanup): Free imp->nshort also.
+ 
+ 	* cpperror.c (cpp_print_containing_files,
+ 	cpp_print_file_and_line, v_cpp_message): Rename to
+ 	print_containing_files, print_file_and_line, and v_message.
+ 	* cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename
+ 	to _cpp_parse_expr, parse_escape, and lex.
+ 	(parse_charconst): Remove broken multibyte support.
+ 	* cppfiles.c (include_hash): Make static.
+ 	(cpp_included): New function.
+ 	(merge_include_chains, find_include_file, finclude,
+ 	simplify_pathname): Rename to _cpp_merge_include_chains,
+ 	_cpp_find_include_file, _cpp_read_include_file, and
+ 	_cpp_simplify_pathname.
+ 	* cpphash.c (cpp_lookup, free_definition, delete_macro,
+ 	cpp_install, create_definition, macroexpand, compare_defs,
+ 	dump_definition): Rename to _cpp_lookup, _cpp_free_definition,
+ 	_cpp_delete_macro, _cpp_install, _cpp_create_definition,
+ 	_cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition.
+ 	* cppinit.c (cpp_handle_option): Rename to handle_option, make
+ 	static.
+ 	* cpplib.c: Remove extern prototype of cpp_parse_expr.
+ 
+ 	* cpphash.h: Update prototypes.
+ 	* cpplib.h: Likewise.  Prototype _cpp_parse_expr here.
+ 
+ 2000-03-07  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.h (PTRDIFF_TYPE): Revert broken change;
+ 	PTRDIFF_TYPE should be based solely on Pmode.
+ 	(SIZE_TYPE): ditto.
+ 
+ 2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (rtunion_def): Constify member `rtstr'.
+ 	(emit_line_note_after, emit_line_note, emit_line_note_force,
+ 	emit_note, decode_asm_operands): Constify.
+ 
+ 	* cse.c (canon_hash): Likewise.
+ 
+ 	* dbxout.c (dbxout_block): Likewise.
+ 
+ 	* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
+ 	v_warning_for_asm): Likewise.
+ 
+ 	* dwarfout.c (function_start_label): Likewise.
+ 
+ 	* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
+ 	emit_line_note_force): Likewise.
+ 
+ 	* final.c (last_filename, asm_insn_count, final_scan_insn,
+ 	output_source_line): Likewise.
+ 
+ 	* function.h (struct emit_status): Likewise.
+ 
+ 	* gcse.c (hash_expr_1): Likewise.
+ 
+ 	* genattr.c (gen_attr, main): Likewise.
+ 
+ 	* genattrtab.c (struct function_unit, current_alternative_string,
+ 	write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
+ 	attr_numeral, check_attr_test, check_attr_value,
+ 	convert_set_attr_alternative, convert_set_attr,
+ 	compute_alternative_mask, simplify_by_exploding, gen_attr,
+ 	gen_unit): Likewise.
+ 
+ 	* genflags.c (gen_insn): Likewise.
+ 
+ 	* gengenrtl.c (type_from_format): Likewise.
+ 
+ 	* genopinit.c (gen_insn): Likewise.
+ 
+ 	* genoutput.c (n_occurrences, process_template, process_template):
+ 	Likewise.
+ 
+ 	* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
+ 	Likewise.
+ 
+ 	* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
+ 	Likewise.
+ 
+ 	* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
+ 	ggc_set_mark, ggc_get_size): Likewise.
+ 
+ 	* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
+ 
+ 	* optabs.c (init_one_libfunc): Likewise.
+ 
+ 	* output.h (assemble_start_function): Likewise.
+ 
+ 	* recog.c (decode_asm_operands): Likewise.
+ 
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 
+ 	* tree.h (emit_line_note_after, emit_line_note,
+ 	emit_line_note_force): Likewise.
+ 
+ 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
+ 	asm_emit_uninitialised, assemble_start_function,
+ 	assemble_variable, const_hash, compare_constant_1,
+ 	find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
+ 
+ 	* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
+ 
+ 	* alpha/alpha.md (call_vms, call_value_vms): Likewise.
+ 
+ 	* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
+ 	arm_dllimport_name_p): Likewise.
+ 
+ 	* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
+ 	Likewise.
+ 
+ 	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
+ 
+ 	* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
+ 	arm_mark_dllexport, arm_mark_dllimport,
+ 	arm_pe_encode_section_info): Likewise.
+ 
+ 	* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
+ 	ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* arm/thumb.c (thumb_function_prologue): Likewise.
+ 
+ 	* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
+ 	ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* i386/i386-protos.h (asm_output_function_prefix): Likewise.
+ 
+ 	* i386/i386.c (asm_output_function_prefix): Likewise.
+ 
+ 	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
+ 	ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
+ 	ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* m32r/m32r.c (m32r_encode_section_info): Likewise.
+ 
+ 	* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* mcore/mcore.c (mcore_encode_section_info): Likewise.
+ 
+ 	* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
+ 
+ 	* mips/mips.md (movdi, movsi): Likewise.
+ 
+ 	* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 
+ 	* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
+ 	ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
+ 	output_mi_thunk, output_toc): Likewise.
+ 
+ 	* rs6000/rs6000.md (movsi): Likewise.
+ 
+ 	* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
+ 
+ 	* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* v850/v850.c (print_operand, print_operand_address,
+ 	v850_encode_data_area): Likewise.
+ 
+ 2000-03-07  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.md (zero_extendsidi2): Always force operand
+ 	one to memory for mips16.
+ 
+ Mon Mar  6 15:22:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
+ 	(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
+ 	(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
+ 	(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
+ 	(min_precision): Result is unsigned.
+ 	(add_double, neg_double, mul_double): Low word is unsigned.
+ 	(lshift_double, rshift_double, lrotate_double): Likewise.
+ 	(rrotate_double, div_and_round_double): Likewise.
+ 	(tree_floor_log2, compare_tree_int): New functions.
+ 	(preserve_rtl_expr_temps): New declaration.
+ 	* c-common.c (declare_hidden_char_array): Use compare_tree_int.
+ 	(decl_attributes): Use tree_log2 to find alignment.
+ 	Check for TREE_INT_CST_HIGH for format args.
+ 	(min_precision): Now unsigned.
+ 	Use tree_floor_log2.
+ 	(truthvalue_conversion): Delete long-disabled code.
+ 	* c-decl.c (finish_struct): Clean up tests on field width.
+ 	(finish_function): Use compare_tree_int.
+ 	* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
+ 	* c-typeck.c (comptypes): Use tree_int_cst_equal.
+ 	(default_conversion, digest_init): Use compare_tree_int.
+ 	(build_binary_op): Use integer_all_onesp and compare_tree_int.
+ 	Fix type errors in forming masks.
+ 	* calls.c (initialize_argument_information): Use compare_tree_int.
+ 	* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
+ 	* except.c (expand_eh_region_start_tree): Use compare_tree_int.
+ 	* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
+ 	(store_field): Use compare_tree_int.
+ 	(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
+ 	(expand_expr, case ARRAY_REF): Use compare_tree_int.
+ 	(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
+ 	(do_store_flag): Use compare_tree_int.
+ 	* fold-const.c (encode, decode): Low part is always unsigned.
+ 	(force_fit_type, add_double, neg_double, mul_double): Likewise.
+ 	(lshift_double, rshift_double, lrotate_double): Likewise.
+ 	(rrotate_double, div_and_round_double, int_const_binop): Likewise.
+ 	(fold_convert): Use compare_tree_int.
+ 	(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
+ 	(invert_truthvalue, case INTEGER_CST): Likewise.
+ 	(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
+ 	* mkdeps.c (deps_dummy_targets): Make I unsigned.
+ 	* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
+ 	(lshift_double, rshift_double, lrotate_double, rrotate_double):
+ 	Likewise.
+ 	* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
+ 	(expand_end_case): Use compare_tree_int.
+ 	(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
+ 	* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
+ 	(layout_decl): Likewise.
+ 	(layout_record, layout_union): Make sizes unsigned.
+ 	(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
+ 	(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
+ 	* tree.c (struct type_hash): hashcode is unsigned.
+ 	(build_type_attribute_variant, type_hash_list): Likewise.
+ 	(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
+ 	(attribute_hash_list, build_array_type, build_method_type): Likewise.
+ 	(build_complex_type): Likewise.
+ 	(real_value_from_int_cst): Remove unneeded casts.
+ 	(integer_all_onesp): Add casts.
+ 	(tree_floor_log2, compare_tree_int): New functions.
+ 	(build_index_type): Use tree_int_cst_sgn.
+ 	* varasm.c (assemble_variable): Use compare_tree_int.
+ 
+ 2000-03-06  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cpphash.c (collect_expansion): Also catch ## at start of macro.
+ 
+ 	* varasm.c (make_decl_rtl): Don't add a number to members of
+ 	local classes.
+ 	(make_function_rtl): Likewise.
+ 
+ 2000-03-06  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* gcse.c (compute_can_copy): Adjust if/else blocks from rth's
+ 	patch from 2000-01-28.
+ 
+ 2000-03-06  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/sh/sh.c: (barrier_align): Handle a delay slot that is
+ 	filled with an insn from the jump target.
+ 
+ 2000-03-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x-protos.h (c4x_global_name): Constify char *.
+ 	(c4x_external_ref): Likewise.
+ 	* config/c4x/c4x.c (struct name_list): Likewise.
+ 
+ 1999-12-16  Ben Collins  <bcollins@debian.org>
+ 
+ 	* Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth
+ 	argument to genmultilib.
+ 	* genmultilib: accept new MULTILIB_EXCLUSIONS option and output
+ 	the contents into the multilib.h header.
+ 	* gcc.c: Declare multilib_exclusions for the specs file.
+ 	(set_multilib_dir): Use it.
+ 	(print_multilib_info): Likewise.
+ 	* t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option
+ 	to pass to genmultilib.
+ 
+ 2000-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (built_in_class_names, built_in_names): Constify a
+ 	char*.
+ 
+ 	* gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not
+ 	int.
+ 	(_mcleanup): Ensure value matches format specifier in sprintf.
+ 
+ 	* cpphash.c (special_symbol): Don't needlessly cast away
+ 	const-ness.
+ 
+ 	* cppinit.c (base_name): Delete unused prototype.
+ 
+ 	* mkdeps.c (deps_init): Make definition K&R safe.
+ 
+ 	* tree.h (built_in_class_names, built_in_names): Constify a
+ 	char*.
+ 
+ 2000-03-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (eligible_for_epilogue_delay): Accept
+ 	floating point instructions for epilogue delay.
+ 
+ 	* config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs
+ 	to gas if it supports .register pseudo.
+ 
+ 	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
+ 	LONG_DOUBLE_TYPE_SIZE if not defined.
+ 	Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
+ 	LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
+ 	* real.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* print-rtl.c: Likewise.
+ 	* rtl.c: Likewise.
+ 	* config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
+ 	MASK_LONG_DOUBLE_128.
+ 	* config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
+ 	* config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
+ 	* config/sparc/linux64 (TARGET_DEFAULT): Likewise.
+ 	(SUBTARGET_SWITCHES): Define.
+ 	(CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
+ 	with -mlong-double-128.
+ 	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
+ 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
+ 	(CC1_SPEC): Include -mlong-double-{64,128} as needed.
+ 	* config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
+ 	(CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
+ 	with -mlong-double-128.
+ 	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
+ 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
+ 	* config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
+ 	TARGET_LONG_DOUBLE_128): Define.
+ 	* config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
+ 	* config/sparc/sparc.c (sparc_override_options): Disallow 64bit
+ 	long double on TARGET_ARCH64.
+ 
+ 2000-03-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (free_temps_for_rtl_expr): Don't free slots
+ 	that have been pushed into a higher level.
+ 
+ 	Revert this patch:
+ 	2000-03-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 2000-03-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* basic-block.h (ALLOCA_REG_SET): Remove.
+ 	(INITIALIZE_REG_SET): New macro.
+ 	* flow.c (update_life_info): Use it.
+ 	(calculate_global_regs_live): Likewise.
+ 	(propagate_block): Likewise.
+ 	* global.c (build_insn_chain): Likewise.
+ 	* haifa-sched.c (schedule_region): Likewise.
+ 
+ 2000-03-05  Stephane Carrez  <stcarrez@worldnet.fr>
+ 
+ 	* dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer.
+ 	(ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP.
+ 	(DWARF_ARANGES_PAD_SIZE): New define.
+ 	(output_aranges): Use it to pad the address range header.
+ 	(DWARF_ROUND): Fix for non power of 2 rounding.
+ 
+ 2000-03-05  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* mkdeps.c (deps_calc_target): Remove incorrect 'const'.
+ 
+ 2000-03-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.def (RTL_EXPR): Update documentation.
+ 	* tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro.
+ 	* expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE.
+ 	* function.c (preserve_rtl_expr_temp): New function.
+ 	(preserve_rtl_expr_temps): Likewise.
+ 	(preserve_rtl_expr_result): Use it.
+ 
+ 	Revert this patch:
+ 	2000-03-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 2000-03-04  Thomas Schuster <Thomas.Schuster@gmx.net>
+ 
+ 	* regmove.c (copy_src_to_dest)  Do not create src->dest move
+ 	for unchanging destination.
+ 
+ 2000-03-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.h (struct sequence_stack): Remove rtl_expr.
+ 	(struct emit_staus): Likewise.
+ 	(seq_rtl_expr): Remove.
+ 	* tree.h (free_temps_for_rtl_expr): Don't declare.
+ 	(start_sequence_for_rtl_expr): Likewise.
+ 	* rtl.h (preserve_rtl_expr_result): Likewise.
+ 	* emit-rtl.c (start_sequence): Don't set sequence_rtl_expr.
+ 	(start_sequence_for_rtl_expr): Remove.
+ 	(push_topmost_sequence): Don't save sequence_rtl_expr.
+ 	(pop_topmost_sequence): Remove comment about not restoring it.
+ 	(end_sequence): Don't set seq_rtl_expr.
+ 	(init_emit): Don't initialize it.
+ 	(mark_sequence_stack): Don't mark it.
+ 	(mark_emit_status): Likewise.
+ 	* except.c (protect_with_terminate): Use
+ 	start_sequence_for_rtl_expr, not start_sequence.
+ 	* expr.c (expand_expr, case RTL_EXPR): Don't call
+ 	preserve_rtl_expr_result or free_temps_for_rtl_expr.
+ 	* function.c (assign_stack_temp_for_type): Don't set rtl_expr.
+ 	(preserve_rtl_expr_result): Remove.
+ 	(free_temps_for_rtl_expr): Likewise.
+ 	(pop_temp_slots): Likewise.
+ 	(mark_temp_slot): Don't mark the rtl_expr.
+ 	* stmt.c (expand_start_stmt_expr): Use start_sequence, not
+ 	start_sequence_for_rtl_expr.
+ 
+ 2000-03-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* mkdeps.c, mkdeps.h: New files.
+ 	* po/POTFILES.in: Add them.
+ 	* Makefile.in (LIBCPP_OBJS): Add mkdeps.o.
+ 	(cpplib.o, cppinit.o): Depend on mkdeps.h.
+ 	(mkdeps.o): New target.
+ 
+ 	* cppfiles.c: Delete deps_output.
+ 	* cppinit.c: Include mkdeps.h.  Delete known_suffixes,
+ 	OBJECT_SUFFIX, and base_name.
+ 	(cpp_cleanup): Use deps_free.  Free ihash->name when clearing
+ 	the include hash.
+ 	(initialize_dependency_output): Use deps_init,
+ 	deps_add_target, deps_calc_target, and deps_add_dep.  Remove
+ 	all the unnecessary string bashing.
+ 	(cpp_finish): Use deps_write.  Remove an unnecessary nesting
+ 	level.
+ 	* cpplib.c (do_include): Use deps_add_dep.
+ 	* cpplib.h (struct cpp_reader): Replace deps_buffer,
+ 	deps_allocated_size, deps_size, deps_column members with
+ 	single pointer to a struct deps.  Delete prototype of
+ 	deps_output.
+ 
+ 	* cppinit.c: Fix thinko in previous patch.
+ 
+ Sat Mar  4 11:32:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed.
+ 	* stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise.
+ 	(mode_for_size_tree): New function.
+ 	(layout_decl, layout_type): Call it and clean up BLKmode checks.
+ 	* tree.h (mode_for_size_tree): New declaration.
+ 
+ 	* toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.
+ 
+ 2000-03-04  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* stmt.c (is_body_block): Move...
+ 	* dwarfout.c, dwarf2out.c: ...from here.
+ 	* tree.h: Declare it.
+ 	* emit-rtl.c (remove_unnecessary_notes): Don't remove the body block.
+ 	* final.c (final_start_function): Do call remove_unnecessary_notes
+ 	when scheduling.
+ 
+ 2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.
+ 
+ 	* cpplib.h (_dollar_ok): New macro.
+ 	(is_idchar, is_idstart): Use it.
+ 	(IStable): Rename to _cpp_IStable.  Declare it const if
+ 	gcc >=2.7 or C99.  Delete all references to FAKE_CONST.
+ 	(is_idchar, is_idstart, is_numchar, is_numstart, is_hspace,
+ 	is_space): Update for renamed IStable.
+ 
+ 	* cppinit.c: Delete all references to FAKE_CONST and CAT
+ 	macros. Define init_IStable as empty macro if gcc >=2.7 or
+ 	C99. Change TABLE() to ISTABLE and hardcode name of table.
+ 	(cpp_start_read): Don't change the IStable based on
+ 	dollars_in_ident.
+ 
+ 	* cpphash.c (unsafe_chars): Add pfile argument.  All callers
+ 	changed.  Handle '$' for char1 correctly.
+ 	* cpplib.c (cpp_get_token): Use is_numchar when parsing numbers.
+ 
+ 	* cppexp.c (tokentab2): Make const.
+ 	(cpp_lex): Make toktab const.
+ 	* cppinit.c (include_defaults_array): Make const.
+ 	(initialize_standard_includes): Make default_include const.
+ 
+ 2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
+ 	(dwarf2out_decl): Functions can now have DECL_IGNORED_P.
+ 	(gen_decl_die): Likewise.
+ 	* dwarfout.c (dwarfout_file_scope_decl): Likewise.
+ 	(output_decl): Likewise.
+ 
+ 	* varasm.c (make_function_rtl): If we change the name used in the
+ 	rtl, update DECL_ASSEMBLER_NAME accordingly.
+ 	(make_decl_rtl): Likewise.
+ 
+ 	* toplev.c (rest_of_compilation): Tweak formatting.
+ 
+ 	* toplev.c (rest_of_compilation): find_loop_tree_blocks before
+ 	remove_unnecessary_notes.
+ 	(debug_ignore_block): New fn.
+ 	* toplev.h: Declare it.
+ 	* emit-rtl.c (remove_unnecessary_notes): Call it.
+ 	* dwarf2out.c (dwarf2out_ignore_block): New fn.
+ 	* dwarf2out.h: Declare it.
+ 	* final.c (final_start_function): Don't call remove_unnecessary_notes
+ 	if we did insn scheduling.
+ 
+ 2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c (cpp_handle_option): Set opts->pedantic directly.
+ 	* cpplib.h: Delete SET_CPP_PEDANTIC.
+ 
+ Fri Mar  3 14:56:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if
+ 	result is a RECORD_TYPE.
+ 
+ 2000-03-03  Jonathan Larmour  <jlarmour@cygnus.co.uk>
+ 
+ 	* mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
+ 
+ 2000-03-03  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
+ 	addition over compliments over shifts.
+ 
+ Fri Mar  3 12:49:28 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine_note_use): Handle return register USEs.
+ 	REG case: Handle multi-hard-register hard regs.
+ 
+ Fri Mar  3 07:38:34 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* md.texi: Document use of '*' in insn pattern name.
+ 
+ 2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* calls.c (special_function_p): operator new may not be malloc-like.
+ 
+ 	* gcse.c (dump_hash_table): Really fix error in last change.
+ 
+ 2000-03-02  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* avr.c (print_operand): Use print_operand_address instead of
+ 	output_addr_const.
+ 	* avr/libgcc.S: Cleanup code.
+ 
+ 2000-03-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_set_const_1): Also try c + small constant.
+ 
+ 2000-03-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (TYPE_ALIGN_UNIT): New macro.
+ 
+ 2000-03-02  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* i386.c: (constant_call_address_operand): Reject CONST_INT.
+ 
+ 2000-03-02  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
+ 	for the buffer.
+ 	(SET_CPP_PEDANTIC): New macro.
+ 	* cpplib.c (do_include): Don't bother checking system_header_p.
+ 	(do_warning, do_ident, do_assert, do_unassert): Likewise.
+ 	* cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC.
+ 
+ 	* function.h (struct expr_status): Add x_arg_space_so_far.
+ 	(arg_space_so_far): New macro.
+ 	* expr.c (init_expr): Initialize it.
+ 	* calls.c (emit_call_1): Reset it.
+ 	(compute_argument_block_size, expand_call): Use it.
+ 	(expand_call, store_one_arg): Increment it.
+ 
+ Thu Mar  2 17:27:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* varasm.c (output_constant): Strip off a CONVERT_EXPR to
+ 	a UNION_TYPE.
+ 
+ 2000-03-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (cpp_read_file): New function.
+ 
+ 	* cpphash.c (collect_expansion): Make sure to reset last_token
+ 	to NORM when we hit a string.  Handle trailing whitespace
+ 	properly when the expansion is empty.
+ 	(create_definition): Disable line commands while parsing the
+ 	directive line.
+ 	(dump_definition): If pfile->lineno == 0, output a line
+ 	command ahead of the dump, and add a trailing newline.
+ 
+ 	* cppinit.c (append_include_chain): Add fifth argument, which
+ 	indicates whether or not system headers are C++ aware.
+ 	(initialize_standard_includes): New function,
+ 	broken out of read_and_prescan.  Pass 'cxx_aware' value from
+ 	the include_defaults_array on to append_include_chain.
+ 	(dump_special_to_buffer): Const-ify char array.
+ 	(builtin_array): Don't dump __BASE_FILE__.
+ 	(cpp_start_read): Use cpp_read_file.  Reorder code for
+ 	clarity.  Don't output line commands here for -D/-A/-U
+ 	switches.  Don't call deps_output for files included with
+ 	-include or -imacros.
+ 
+ 	* cpplib.c (do_define): Don't pay any attention to the second
+ 	argument.
+ 	(cpp_expand_to_buffer): Disable line commands while scanning.
+ 	(output_line_command): Work in the file buffer.
+ 	* cpplib.h: Remove no_record_file flag from struct cpp_reader.
+ 	Fix formatting of comments.  Prototype cpp_read_file.
+ 
+ Thu Mar  2 13:29:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink
+ 	reference the language-equivalent of sizetype.
+ 	* c-typeck.c (comptypes): Treat sizetype like its language equivalent.
+ 	* fold-const.c (size_binop, size_diffop): Put back checks.
+ 	* gcse.c (dump_hash_table): Fix minor error in last change.
+ 	* stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype.
+ 	Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of
+ 	all sizetypes.
+ 
+ Thu Mar  2 12:48:45 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call)  Do not attempt to combine stack adjustments
+ 	with inhibit_defer_pop set.
+ 
+ 2000-03-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (layout_decl): Allow front-ends to explicitly set
+ 	the DECL_SIZE for a FIELD_DECL.
+ 
+ 2000-03-01  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.tpl: remove unused symlinks
+ 	* fixinc/README: GCC Maintainer info
+ 	* fixinc/inclhack.sh: regen
+ 	* fixinc/fixincl.sh: regen
+ 
+ 2000-03-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (collect_expansion): Trim trailing white space
+ 	from macro definitions, but don't go past the last insertion
+ 	point.
+ 
+ Wed Mar  1 12:14:31 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (mulqi3): New pattern.
+ 
+ 2000-02-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New
+ 	token types.
+ 	(struct cpp_reader): Add parsing_if_directive and
+ 	parsing_define_directive flags.
+ 	(struct cpp_options): Remove output_conditionals flag.
+ 	(check_macro_name): Delete prototype.
+ 
+ 	* cpphash.h (struct macrodef): Delete.
+ 	(struct reflist): Separate from struct definition.
+ 	(struct definition): Remove unused fields.  Add column number.
+ 	(create_definition): Returns a DEFINITION *.  Takes a
+ 	cpp_reader * and an int.
+ 
+ 	* cpphash.c (SKIP_WHITE_SPACE): Delete.
+ 	(PEEKC): Copy defn from cpplib.c.
+ 	(rest_extension, REST_EXTENSION_LENGTH): Delete.
+ 	(struct arg): New.
+ 	(struct arglist): Simplify.
+ 	(collect_expansion): Rewrite.  Get tokens by calling
+ 	cpp_get_token.  Add more error checking.
+ 	(collect_formal_parameters): New function, broken out of
+ 	create_definition and reworked to use get_directive_token.
+ 	(create_definition): All real work is now in collect_expansion
+ 	and collect_formal_parameters.  do_define handles finding the
+ 	macro name.  Return a DEFINITION, not a MACRODEF.
+ 	(macroexpand): Replace bcopy with memcpy throughout.  Replace
+ 	character-at-a-time copy loop with memcpy and pointer increments.
+ 	(compare-defs): d1->argnames / d2->argnames might be null.
+ 
+ 	* cpplib.c (copy_rest_of_line): Delete function.
+ 	(skip_rest_of_line): Do all the work ourselves.
+ 	(skip_string): New function.
+ 	(parse_string): Use skip_string.
+ 	(get_macro_name): New function.
+ 	(check_macro_name): Delete.
+ 	(copy_comment): Use CPP_RESERVE and CPP_PUTC_Q.
+ 	(cpp_skip_hspace): Use CPP_BUMP_LINE.
+ 	(handle_directive): ICE if we're called on a macro buffer.
+ 	(do_define): Determine macro name and type (funlike/objlike)
+ 	here.  Expunge all uses of MACRODEF.
+ 	(cpp_push_buffer): Set line_base to NULL.
+ 	(do_undef, read_line_number): Don't worry about getting a POP token.
+ 	(eval_if_expression): Set/reset parsing_if_directive around
+ 	cpp_parse_expr. Don't clear only_seen_white.
+ 	(skip_if_group): Remove output_conditionals logic.  Use
+ 	skip_rest_of_line.
+ 	(cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE
+ 	tokens under appropriate conditions.
+ 	(cpp_unassert): Call do_unassert not do_assert.  Oops.
+ 
+ 	* cppexp.c (parse_defined): New function, break out of
+ 	cpp_lex.
+ 	(cpp_lex): We now get CPP_ASSERTION tokens and can check them
+ 	ourselves, with cpp_defined.
+ 	* cppinit.c (cpp_handle_option, print_help): Delete -ifoutput.
+ 
+ 	* gcc.dg/20000209-2.c: Turn off -pedantic-errors.
+ 	* gcc.dg/strpaste-2.c: New.
+ 
+ 2000-02-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (size_binop): Don't asert inputs are the same and
+ 	have TYPE_IS_SIZETYPE set.
+ 	(size_diffop): Likewise.
+ 
+ 2000-02-29  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarfout.c (output_block): Output abstract blocks even if they
+ 	don't have TREE_ASM_WRITTEN set.
+ 
+ 	* calls.c (emit_library_call): Check for null REG.
+ 
+ 2000-03-01  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* c-decl.c (current_function_decl): Move to toplev.c.
+ 	(init_decl_processing): Don't add current_function_decl as a ggc
+ 	root here.
+ 	* dbxout.c (dbxout_symbol): Change return type to int.
+ 	(dbxout_symbol_location, dbxout_syms): Likewise.
+ 	(dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without
+ 	any locals. Use current_function_func_begin_label if set.
+ 	* dbxout.h (dbxout_symbol, dbxout_syms): Change return type.
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Set
+ 	current_function_func_begin_label.
+ 	* final.c (final_start_function): Reset it.
+ 	* toplev.c (current_function_decl): Define it here.
+ 	(current_function_func_begin_label): New variable.
+ 	(main): Add both as ggc roots.
+ 	* tree.h (current_function_func_begin_label): Declare.
+ 
+ Tue Feb 29 14:07:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c: Cleanups throughout: mostly white-space, but also
+ 	some minor rearrangement of code.
+ 
+ Tue Feb 29 10:45:59 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* calls.c (emit_library_call): Do not abort if FUNCTION_ARG
+ 	returns a PARALLEL.  Use emit_group_load and use_group_regs
+ 	as needed.
+ 	(emit_library_call_value): Similarly.
+ 
+ 	* pa/t-pa: Use quadlib.c instead of quadlib.asm.
+ 	* pa/quadlib.asm: Remove.
+ 	* pa/quadlib.c: New file.
+ 
+ 	* configure.in (hpux10, hpux11, PA32 mode): Use i128 float format.
+ 	* configure: Rebuilt.
+ 
+ 2000-02-29  Philip Blundell  <pb@futuretv.com>
+ 
+ 	* config/arm/conix-elf.h: New file.
+ 	* configure.in (arm*-*-conix*): New configuration.
+ 	* configure: Regenerate.
+ 
+ 2000-02-28  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (gen_block_die): Output abstract blocks even if they
+ 	don't have TREE_ASM_WRITTEN set.
+ 
+ Mon Feb 28 21:07:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Eliminate DECL_FIELD_SIZE.
+ 	* builtins.c (built_in_class_names, built_in_names): New variables.
+ 	* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
+ 	* expr.c (expand_expr, case COMPONENT_REF): Get field size from
+ 	DECL_SIZE, not DECL_FIELD_SIZE.
+ 	* print-tree.c (print_node): Remove code that prints extra blank
+ 	lines in some cases.
+ 	Properly handle inline and builtin function cases.
+ 	* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
+ 	* tree.h (built_in_class_named, built_in_names): New declarations.
+ 	(union tree_decl): Rename internal unions to u1 and u2 and change
+ 	some of their components.
+ 	Add new field built_in_class.
+ 	(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
+ 	Reflect above changes.
+ 	(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
+ 	(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
+ 	* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
+ 	(encode_field_decl): Likewise; also remove obsolete test for bitfield.
+ 
+ 2000-02-28  Dmitri Makarov  <dim@windriver.com>
+ 
+ 	* extend.texi: Document ARM's support for long/short calls.
+ 
+ 	* invoke.texi: Document ARM's -mlong-calls command line switch.
+ 
+ 	* config/arm/arm-protos.h (arm_is_longcall_p): Add prototype.
+ 	(arm_encode_call_attribute): Add prototype.
+ 	(arm_set_default_type_attribute): Add prototype.
+ 	(arm_strip_name_encoding): Add prototype.
+ 
+ 	* config/arm/arm.c (arm_init_cumulative_args): replace
+ 	initialisation og 'long_calls' field with initialisation of
+ 	'call_cookie' field.
+ 	(enum arm_pragma_enum): New enum.
+ 	(arm_pragma_long_calls): New static variable.
+ 	(arm_process_pragma): Also process "#pragma long_calls_off".
+ 	(arm_valid_type_attribute_p): Accept short_call attribute.
+ 	(arm_comp_type_attributes): Check long/short call attributes.
+ 	(arm_encode_call_attribute):  New function:  Encode long_call
+ 	or short_call attribute in function name.
+ 	(arm_set_default_type_attributes): New function: Assign
+ 	default attributes to newly defined type.
+ 	(current_file_function_operand): New function: Return true if
+ 	the symbol is a function which has already been compiled.
+ 	(arm_is_longcall_p): New function: Return true if the
+ 	indicated function should be called via a long call.
+ 	(arm_get_strip_length): New function.  Returns number of
+ 	prefix characters to be stripped from a function's name.
+ 	(arm_strip_name_encoding): New function.  Strip prefix characters
+ 	from a function's name.
+ 
+ 	* config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field
+ 	with 'call_cookie'.
+ 	(SHORT_CALL_FAG_CHAR): Define.
+ 	(LONG_CALL_FAG_CHAR): Define.
+ 	(ENCODED_SHORT_CALL_ATTR_P): Define.
+ 	(ENCODED_LONG_CALL_ATTR_P): Define.
+ 	(ARM_NAME_ENCODING_LENGTHS): Define.
+ 	(STRIP_NAME_ENCODING): Define.
+ 	(ASM_OUTPUT_LABELREF): Define, and use to strip name encoding.
+ 	(ARM_ENCODE_CALL_TYPE): Define.
+ 	(ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE.
+ 	(ARM_DECLARE_FUNCTION_SIZE): Define.
+ 	(SET_DEFAULT_TYPE_ATTRIBUTES): Define.
+ 
+ 	* config/arm/arm.md (call): Call arm_is_longcall_p to decide
+ 	if a long call is needed.
+ 	(call_value): Ditto.
+ 	(call_symbol): Ditto.
+ 
+ 	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of
+ 	ARM_DECLARE_FUNCTION_SIZE.
+ 
+ 	* config/arm/pe.h (ARM_PE_FLAG_CHAR): Define.
+ 	(SUBTARGET_NAME_ENCODING_LENGTHS): Define.
+ 	(ARM_STRIP_NAME_ENCODING): Undefine.
+ 	(STRIP_NAME_ENCODING): Undefine.
+ 	(ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding.
+ 	(ASM_DECLARE_FUNCTION_NAME): Ditto.
+ 	(ASM_OUTPUT_COMMON): Ditto.
+ 	(ASM_DECLARE_OBJECT_NAME): Ditto.
+ 
+ 	* config/arm/pe.c (arm_dllexport_name_p): Check for
+ 	ARM_PE_FLAG_CHAR.
+ 	(arm_dllimport_name_p): Ditto.
+ 	(arm_mark_dllexport): Use ARM_PE_FLAG_CHAR.
+ 	(arm_mark_dllimport): Ditto.
+ 
+ Mon Feb 28 22:11:12 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
+ 
+ 2000-02-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
+ 
+ 2000-02-28  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
+ 	* cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if
+ 	NO_BUILTIN_WCHAR_TYPE is not defined.
+ 	(CPP_WCHAR_TYPE): Delete.
+ 	* cccp.c (main): Don't change wchar_type if cplusplus.
+ 	(special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE.
+ 
+ 2000-02-28  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long".
+ 
+ Mon Feb 28 14:21:15 2000  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
+ 	(ASM_WEAKEN_LABEL): Define.
+ 
+ Mon Feb 28 13:07:19 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (store_constructor): Do not emit USE.
+ 	* rtl.h (stupid_life_analysis): Remove.
+ 
+ Mon Feb 28 07:03:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (number_blocks): Reset next_block_index based on
+ 	what debugging format is used, not what is defined.
+ 
+ 	* lcm.c: Minor reformatting throughout.
+ 	(reg_dies, reg_becomes_live): Properly handle multiple hard regs.
+ 
+ 	* toplev.c (rest_of_compilation): Account for time in
+ 	optimize_mode_switching.
+ 
+ 	* jump.c (jump_optimize_1): Don't call delete_barrier_successors
+ 	if only marking labels.
+ 
+ Mon Feb 28 12:53:57 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Attempt to combine stack adjustments with
+ 	pending stack adjustments.
+ 
+ Mon Feb 28 11:34:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* loop.c (reg_in_basic_block_p): Don't abort when falling through
+ 	to the end of the function.
+ 
+ 2000-02-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* emit-rtl.c (remove_unnecessary_notes): Remove notes for empty
+ 	blocks.
+ 	* final.c (next_block_index): Remove.
+ 	(max_block_depth): Likewise.
+ 	(pending_blocks): Likewise.
+ 	(init_final): Don't initialize them.
+ 	(final_start_function): Don't set next_block_index.  Set up
+ 	BLOCK_NUMBER.
+ 	(final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
+ 	* function.h (number_blocks): New function.
+ 	* function.c (get_block_vector): New function.
+ 	(identify_blocks): Use it.
+ 	(reorder_blocks): Set NOTE_BLOCK.
+ 	(number_blocks): New function.
+ 	* tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
+ 	* tree.h (BLOCK_NUMBER): New macro.
+ 	(tree_block): Add block_num field.
+ 	* dbxout.c (next_block_number): Remove.
+ 	(dbxout_init): Don't set it.
+ 	(dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
+ 	set.  Use BLOCK_NUMBER, rather than next_block_num, to determine
+ 	block numbers.
+ 	* toplev.c (rest_of_compilation): Always call
+ 	find_loop_tree_blocks.  Fix indentation.
+ 	* dwarf2out.c (next_block_number): Remove.
+ 	(gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
+ 	to determine block numbers.
+ 	(gen_inlined_subroutine_die): Likewise.
+ 	(gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
+ 	(decls_for_scope): Don't increment next_block_number.
+ 	* dwarfout.c (next_block_number): Remove.
+ 	(output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
+ 	to determine block numbers.
+ 	(output_inlined_subroutine_die): Likewise.
+ 	(output_block): Only output blocks that have TREE_ASM_WRITTEN set.
+ 	(output_decls_for_scope): Don't increment next_block_number.
+ 	* sdbout.c (next_block_number): Remove.
+ 	(sdbout_block): Use BLOCK_NUMBER.
+ 	(sdbout_begin_block): Simplify.
+ 	* xcoffout.c (next_block_number): Remove.
+ 	(xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
+ 	(xcoffout_begin_block): Don't set next_block_number.
+ 	(xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
+ 	next_block_number.
+ 
+ Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (c_strlen): Use size_diffop and return ssizetype value.
+ 	(expand_builtin_strcpy): Pass correct type to size_binop.
+ 	(expand_builtin_strcmp): Likewise.
+ 	Clean up conditional structure.
+ 	* c-decl.c (init_decl_processing): Don't call set_sizetype twice.
+ 	(complete_array_type): Don't use size_binop for MAXINDEX.
+ 	* c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
+ 	(c_sizeof_nowarn, c_size_in_bytes): Likewise.
+ 	(c_alignof): Use size_one_node.
+ 	(build_unary_op): Pass arg of proper type to size_binop.
+ 	(really_start_incremental_init, push_init_level): Use sizetype for
+ 	constructor{,_bit,_unfilled}_index.
+ 	(pop_init_label, output_init_element): Likewise.
+ 	(output_pending_init_elements, process_init_element): Likewise.
+ 	* calls.c (compute_argument_block_size): Field VAR is ssizetype.
+ 	* expr.c (store_expr): Use size_int.
+ 	(store_constructor): Use proper types for size_binop args.
+ 	(get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
+ 	(expand_expr_unaligned): Likewise.
+ 	(string_contant): Return object of sizetype.
+ 	* expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
+ 	(ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
+ 	(ARGS_SIZE_TREE): Pass proper types to size_binop.
+ 	* fold-const.c (int_const_binop): Refine when size_int is called.
+ 	(fold_convert): Likewise.
+ 	(size_int_wide): Rework to take KIND as arg, only take low order
+ 	bits, handle new sizetype_tab datatype, and chain entries in
+ 	size_table.
+ 	(size_int_type_wide): New function.
+ 	(size_binop): Validate types of arguments.
+ 	(ssize_binop): Deleted.
+ 	(size_diffop): New function.
+ 	(extract_muldiv): Only fold division into multiplication for sizetypes.
+ 	* function.c (assign_parms): Use size_diffop and make sure
+ 	VAR field is of ssizetype; also pass proper type to size_binop.
+ 	(locate_and_pad_parm, pad_to_arg_alignment): Likewise.
+ 	(round_down): Deleted from here.
+ 	* store-layout.c (sizetype_tab): Now an array.
+ 	(sizetype_set, early_root_list): New variables.
+ 	(variable_size): Use size_one_node.
+ 	(round_up): Pass proper type to size_binop.
+ 	(round_down): Moved to here and corrected as above.
+ 	(layout_record): Pass proper arg types to size_binop.
+ 	(layout_type): Likewise.
+ 	If sizetype_set is zero, record the type just laid out.
+ 	(make_unsigned_type): Don't call set_sizetype;
+ 	(make_signed_type): Likewise; also, call fixup_signed_type.
+ 	(initialize_sizetypes): New function.
+ 	(set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
+ 	set name of bitsizetype to "bit_size_type".
+ 	Fix up type of sizes of all types made before call.
+ 	* tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
+ 	* tree.c (fix_sizetype): Deleted.
+ 	(build_common_tree_nodes): Call initialize_sizetypes.
+ 	(build_common_tree_nodes_2): Don't call fix_sizetype.
+ 	* tree.h (TYPE_IS_SIZETYPE): New macro.
+ 	(initialize_sizetype): New declaration.
+ 	(enum size_type_kind): New type.
+ 	(struct sizetype_tab): Deleted.
+ 	(sizetype_tab): Now array; adjust sizetype macros.
+ 	(size_diffop, size_int_type_wide): New functions.
+ 	(size_int_wide): Change number of args and type; access macros changed.
+ 	(ssize_int, sbitsize_int): New macros.
+ 	* config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
+ 	(ROUND_TYPE_SIZE_UNIT): New macro.
+ 
+ 2000-02-27  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
+ 
+ Sun Feb 27 07:44:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
+ 	Mark as possibly unused.
+ 
+ 	* cse.c (cse_insn): Delete dead code involving tablejump.
+ 	Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
+ 
+ 	* Makefile.in (libcpp.a): Start by deleting it.
+ 
+ 2000-02-27  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* cpplib.h (enum file_change_code): Added rename_file.
+ 	* cpplib.c (do_line): If a filename is given, set file_change to
+ 	rename_file.
+ 	(output_line_command): If file_change is rename_file, always
+ 	output a # directive with the file name.
+ 
+ 	* cpplib.c (do_pragma): Accept #pragma without consecutive token.
+ 
+ 2000-02-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE
+ 	when copying a PARM_DECL or RESULT_DECL.
+ 
+ 2000-02-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fix-header.c (recognized_function): Also fix prototypes for
+ 	functions taking "void".
+ 
+ 2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* reload1.c (do_output_reload): Check reg_reloaded_valid before
+ 	looking at reg_reloaded_contents.
+ 
+ 2000-02-26  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (STMP_FIXINC): New toggle.
+ 	(LIBGCC2_DEPS): Delete all references.
+ 	(stmp-headers): Delete target.  All references either deleted
+ 	or changed to stmp-int-headers.
+ 	(all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
+ 	(LIBCPP_OBJS): Take out cppalloc.o.
+ 	(cppalloc.o): Delete target.
+ 	(stmp-int-hdrs): Depend on $(STMP_FIXINC).
+ 	(gen-protos, fix-header): Link with libiberty.a.
+ 	* build-make: Don't change FIXINCLUDES.  Override STMP_FIXINC
+ 	to empty.
+ 
+ 	* configure.in: Remove refs to strerror.
+ 	* acconfig.h: Take out NEED_DECLARATION_STRERROR.
+ 	* system.h: Take out strerror stanza.
+ 
+ 	* cpperror.c (my_strerror): Delete function.
+ 	(cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
+ 	* cppmain.c (main): Call xmalloc_set_program_name first thing.
+ 	* cppalloc.c: Delete file.
+ 	* gen-protos.c: Don't provide xrealloc.
+ 
+ 	* fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
+ 	xstrerror throughout.
+ 
+ 2000-02-26  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def (undefine_null): the bypass pattern needs to
+ 	match for DOS headers, too.
+ 	* fixinc/inclhack.sh,fixincl.x: Regenerate.
+ 
+ 2000-02-26  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/elfos.h (ASM_OUTPUT_LABELREF): Don't define.  The default
+ 	is right for most ELF targets.
+ 	* config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
+ 	Let the default file use %U properly.
+ 	* config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
+ 	default.
+ 
+ 	* config/fp-bit.c (pack_d): Properly handle rounding of denormal
+ 	numbers.
+ 
+ Sat Feb 26 09:39:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (documented_lang_options): Correct spelling error.
+ 	(decode_d_option, decode_f_option, main): Likewise.
+ 
+ 	* toplev.c (print_time): Avoid SIGFPE when all_time is zero.
+ 
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
+ 	to tell assembler it is permitted to expand large constants.
+ 
+ 2000-02-25  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* protoize.c: (AUX_INFO_SUFFIX): New macro.
+ 	(aux_info_suffix): Use.
+ 	(SAVE_SUFFIX): New macro.
+ 	(save_suffix): Use.
+ 	(munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
+ 	(gen_aux_info_file): Use aux_info_suffix instead of ".X".
+ 	(edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
+ 
+ 	* invoke.texi (Running Protoize): Update documentation.
+ 
+ 2000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.
+ 
+ 2000-02-25  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
+ 
+ 2000-02-25  Anthony Green  <green@cygnus.com>
+ 
+ 	* toplev.c (rest_of_compilation): Rebuild jump labels if
+ 	combine_instructions has created a new direct jump.
+ 	* combine.c (try_combine): Add new_direct_jump_p argument.  Set it
+ 	when appropriate.
+ 	(combine_instructions): Call try_combine with new argument.
+ 	Return non-null value when new direct jump instruction is created.
+ 	* rtl.h: combine_instructions returns an int.
+ 
+ Fri Feb 25 19:49:08 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Replace the PATTERN of the insn with an new
+ 	jump when changing a computed jump into a jump to a known
+ 	target.
+ 
+ Fri Feb 25 19:22:44 2000  Graham Stott <grahams@rcp.co.uk>
+ 
+ 	* resource.c (mark_referenced_resources): Changed use SET_DEST (...)
+ 	to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER.
+ 
+ 	* i386.md (define_expand "clrstrsi"): Fix typo.
+ 
+ Fri Feb 25 18:49:39 2000  "K. Richard Pixley" <rich@microunity.com>
+ 
+ 	* rtl.texi: Fix typo.
+ 
+ Fri Feb 25 20:02:35 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
+ 	UNITS_PER_WORD.  Change caller initial_elimination_offset.
+ 	(rounded_frame_size): Take into account that argument pushed has
+ 	changed.  Fix TARGET_ALIGN_DOUBLE problem.
+ 
+ 2000-02-25  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* haifa-sched.c (schedule_block): Explain the real reason
+ 	we delete REG_SAVE_NOTEs on the first insn of a block.
+ 	Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP.
+ 
+ 2000-02-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* input.h (push_srcloc): New function.
+ 	(pop_srcloc): Likewise.
+ 	* toplev.c (push_srcloc): Define it.
+ 	(pop_srcloc): Likewise.
+ 
+ 2000-02-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (life_analysis): When collecting reg info, clear
+ 	regs_ever_live.
+ 
+ Thu Feb 24 22:06:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	Fix bug exposed by reload.c no longer rounding the frame
+ 	size to BIGGEST_ALIGNMENT:
+ 	* sh.c (rounded_frame_size): New function.
+ 	(sh_expand_prologue, sh_expand_epilogue): Use it.
+ 	(initial_elimination_offset): Likewise.
+ 
+ Thu Feb 24 20:04:11 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change:
+ 	* sh-protos.h (sh_need_epilogue): Declare.
+ 	* sh.c (sh_need_epilogue_known): New static variable.
+ 	(sh_need_epilogue): New function.
+ 	(function_epilogue): Clear need_epilogue_known.
+ 	* sh.md (return): Split into expander / insn pattern.
+ 	Make the expander conditional on ! sh_need_epilogue ().
+ 
+ 2000-02-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* machmode.h (get_mode_alignment): Declare.
+ 	(GET_MODE_ALIGNMENT): Call it.
+ 	* stor-layout.c (get_mode_alignment): New function. Make
+ 	sure alignment is always power of 2.
+ 
+ 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* i386.h: Remove useless definition of "I386" and misleading
+ 	comment above it.
+ 
+ 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* tree.h (TREE_SET_PERMANENT): New macro.  Document conditions
+ 	under which TREE_PERMANENT will be set.
+ 	* tree.c (make_node, copy_node, make_tree_vec, tree_cons,
+ 	build1): Use TREE_SET_PERMANENT.
+ 	* print-tree.c (print_node): Don't report value of
+ 	TREE_PERMANENT if ggc_p is true.
+ 
+ 	* c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to
+ 	decide whether to give a type a new alias set.
+ 	* objc/objc-act.c (build_objc_string_object): Never copy the string.
+ 	* tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective
+ 	of value of 'obstack'.
+ 
+ 
+ 2000-02-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
+ 
+ 2000-02-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
+ 	* cpplib.c (cpp_get_token): Produce them.
+ 	* cppexp.c (cpp_lex): Handle them.
+ 
+ 2000-02-23  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c (arm_comp_type_attributes): Simply and
+ 	comment tests on type attributes.
+ 
+ Wed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* final.c (shorten_branches): Make value passed to LOOP_ALIGN
+ 	conform to documentation.
+ 	* sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
+ 	to check for special cases.
+ 	* sh-protos.h (sh_loop_align): Declare.
+ 	* sh.c (sh_loop_align): Define.
+ 
+ 2000-02-22  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas.
+ 	(SIZE_TYPE): Is 32 bits when using -mgp32.
+ 	(PTRDIFF_TYPE): Ditto.
+ 
+ Wed Feb 23 07:26:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.c (init_output_buffer): Handle case of null PREFIX.
+ 
+ 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* config/i386/i386.h: If IN_TARGET_LIBS is defined, make
+ 	BIGGEST_FIELD_ALIGNMENT a constant.
+ 
+ 2000-02-21  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (output_line_info): Put the marker for the end of
+ 	the line number info at the actual end.
+ 	(gen_struct_or_union_type_die): Use decl_function_context
+ 	to check for local classes.
+ 	* dwarfout.c (output_type): Likewise.
+ 
+ Tue Feb 22 01:38:57 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference
+ 	for arguments with a mode, but no type.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Similarly.
+ 	* t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm.
+ 	* pa/long_double.h: New file.
+ 	* configure.in (hpux10, hpux11 configurations): hpux10 and hpux11
+ 	both have 128bit wide long doubles.
+ 	* configure: Rebuilt.
+ 
+ 2000-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* defaults.h (ASM_OUTPUT_ASCII): Constify a char*.
+ 
+ 	* flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain,
+ 	fixup_reorder_chain, skip_insns_between_block): Add static prototypes.
+ 	(life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS.
+ 
+ 	* haifa-sched.c (rank_for_schedule): Don't cast away const-ness.
+ 
+ 	* integrate.c (compare_blocks, find_block): Likewise.
+ 
+ 	* rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2.
+ 
+ 	* rtl.h (set_file_and_line_for_stmt): Constify a char*.
+ 
+ 	* stmt.c (stmt_status, set_file_and_line_for_stmt,
+ 	expand_asm_operands): Likewise.
+ 
+ Mon Feb 21 17:06:27 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* predict.c (estimate_probability): Added the pointer heuristic to
+ 	the collection of static branch predictors.
+ 
+ 2000-02-21  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/mips/mips.h (ASM_SPEC): Add -mfix700.
+ 	* invoke.texi (-mfix7000): Document.
+ 
+ 2000-02-21  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (init_output_buffer): Make it possible to output at
+ 	least 32 characters if we're given a too long prefix.
+ 
+ 2000-02-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (initializer_constant_valid_p): Call
+ 	lang_expand_constant to	simplify the constant.
+ 
+ 2000-02-20  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(stdio_va_list):
+ 	typedef needs to be disabled.
+ 	* fixinc/inclhack.sh: regen
+ 	* fixinc/fixincl.x: regen
+ 
+ 2000-02-20  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* print-rtl.c (print_rtx): Don't print addresses when
+ 	flag_dump_unnumbered.
+ 
+ 2000-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (sparc_output_scratch_registers): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	(sparc_va_arg, sparc_flat_output_function_prologue,
+ 	sparc_flat_output_function_epilogue): Cast value to unsigned in
+ 	comparison.
+ 	(sparc_emit_float_lib_cmp): Remove unused variable `cmp'.
+ 
+ 	* sparc.md: Add default case in switch.
+ 
+ 2000-02-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* c-typeck.c (add_pending_init): Don't abort for multiple
+ 	fields at the same offset.
+ 	(pending_init_member): Test the correct member.
+ 
+ 2000-02-19  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node)
+ 	instead of SImode.
+ 	(start_catch_handler) : Same.
+ 
+ 2000-02-19  Brad Lucier  (lucier@math.purdue.edu)
+ 
+ 	* Makefile.in: Have flow.o depend on $(EXPR_H)
+ 
+ Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-common.c (decl_attributes): Set DECL_SIZE_UNIT.
+ 	* c-decl.c (duplicate_decls, finish_enum): Likewise.
+ 	(finish_decl): Remove -Wlarger-than code from here.
+ 	* flags.h (id_clash_len): Now int.
+ 	(larger_than_size): Now HOST_WIDE_INT.
+ 	* fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed.
+ 	Clean up checking to see if in table.
+ 	(make_bit_field_ref): Remove extra parm to bitsize_int.
+ 	* ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT.
+ 	* print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT.
+ 	* stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size
+ 	and for computing size of decl.
+ 	* stor-layout.c (layout_decl): Set DECL_SIZE_UNIT.
+ 	Move -Wlarger-than code to here.
+ 	(layout_record): Remove extra arg to bitsize_int.
+ 	Set TYPE_BINFO_SIZE_UNIT.
+ 	(layout_union): Remove extra arg to bitsize_int.
+ 	Use proper type for size of QUAL_UNION.
+ 	(layout_type): Remove extra arg to bitsize_int.
+ 	* toplev.c (id_clash_len): Now int.
+ 	(larger_than_size): Now HOST_WIDE_INT.
+ 	(decode_W_option): Clean up id-clash and larger-than- cases.
+ 	* tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts.
+ 	(expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined.
+ 	* tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New.
+ 	(struct tree_decl): New field size_unit.
+ 	(size_int_wide): No HIGH operand; NUMBER is now signed.
+ 	(size_int_2): Deleted.
+ 	(size_int, bitsize_int): Don't use it and rework args.
+ 	* varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT.
+ 
+ Fri Feb 18 20:01:58 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call.
+ 
+ 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* invoke.texi (Warning Options): Add an explanation of why
+ 	you might want the -Wfloat-equal flag.
+ 
+ Fri Feb 18 20:08:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
+ 	* cppinit.c (new_pending_define): Add cast to avoid warning.
+ 	* expmed.c (extract_bit_field): Likewise.
+ 	* flow.c (enum reorder_skip_type): New type.
+ 	(skip_insns_between_blcok): New it.
+ 	Rework to avoid warning about possibly undefined variable.
+ 	* function.c (assign_parms): Make thisparm_boundary unsigned.
+ 	* genrecog.c (write_switch): Cast XWINT result to int.
+ 	* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
+ 	* mips-tfile.c (init_file): Make two versions of FDR initializer:
+ 	one for MIPS and one for Alpha.
+ 	(get_tag, copy_object): Add casts to avoid warnings.
+ 	* optabs.c (init_one_libfunc): Cast NAME to (char *).
+ 	* reload.c (find_reloads): Make TYPE enum reload_type.
+ 	* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
+ 	* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
+ 	* varasm.c (compare_constant_1): Add cast to avoid warning.
+ 	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
+ 	to (char *).
+ 	(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
+ 	Cast switch operand of size to int.
+ 	(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
+ 	* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
+ 	in unhandled case.
+ 
+ 2000-02-18  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate
+ 	anything for an alignment of zero.
+ 
+ 	* config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate
+ 	anything for an alignment of zero.
+ 
+ 2000-02-18  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* gcc.texi (Bug Reporting): Refer to bugs.html.
+ 	(Bug Lists): Likewise.
+ 	* system.h (GCCBUGURL): New preprocessor define.
+ 	* rtl.c (fancy_abort): Use it.
+ 	* gcc.c (main): Likewise.
+ 
+ 2000-02-18  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove.
+ 	(life_analysis_1): Subsume into ...
+ 	(life_analysis): ... here.  Force PROP_REG_INFO off after reload.
+ 	Use update_life_info for the relaxation.
+ 	(update_life_info): Update REG_BASIC_BLOCK for registers live on
+ 	entry and regs_live_at_setjmp.
+ 	(set_noop_p): Simplify.
+ 	(notice_stack_pointer_modification_1): Renamed from s/_1//.
+ 	(record_volatile_insns): Split into ...
+ 	(delete_noop_moves): ... here,
+ 	(notice_stack_pointer_modification): ... here,
+ 	(insn_dead_p): ... and here.
+ 	(propagate_block): Don't query INSN_VOLATILE.
+ 	(mark_used_regs): Mind !PROP_REG_INFO.
+ 	* toplev.c (rest_of_compilation): Call mark_constant_function here,
+ 	not in life_analysis.
+ 
+ Fri Feb 18 01:29:22 EST 2000  John Wehle  (john@feith.com)
+ 
+ 	* loop.c (canonicalize_condition): New function,
+ 	broken out of get_condition.
+ 	(get_condition): Use it.
+ 	* expr.h (canonicalize_condition): Prototype it.
+ 
+ 	* tree.h (tree_int_cst_msb): Declare.
+ 	* tree.c (tree_int_cst_msb): New function.
+ 
+ 2000-02-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt
+ 	isn't set.
+ 
+ 	* invoke.texi (-fmessage-length=n): Document.
+ 
+ 2000-02-17  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* bitmap.c (bitmap_operation): Don't leak bitmap elements.
+ 
+ 2000-02-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Put a line note
+ 	after the prologue.
+ 
+ 2000-02-17  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.c: Replace includes of system headers with
+ 	#include "system.h".
+ 
+ 2000-02-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
+ 	Add crtbeginS.o and crtendS.o.
+ 	* alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
+ 	(ENDFILE_SPEC): Use crtendS.o.
+ 	* alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
+ 
+ 	* alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
+ 	(__do_global_dtors_aux): ... here.  Call __cxa_finalize if
+ 	shared and present.
+ 	(__dso_handle): New variable.
+ 	* alpha/crtend.asm (__do_global_ctors_aux): Remove runtime
+ 	bias to __CTOR_END__.
+ 
+ 2000-02-16  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T).
+ 
+ Wed Feb 16 21:40:04 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* longlong.h (__clz_tab): Declare as static to match definition.
+ 
+ 2000-02-16 Mark Elbrecht <snowball3@bigfoot.com>
+ 
+ 	* i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h.
+ 	(XREF_FILE_NAME): Define.
+ 
+ 	* i386/djgpp.h (DATA_SECTION_ASM_OP): Define.
+ 	(EH_FRAME_SECTION_ASM_OP): Define.
+ 	(IDENT_ASM_OP): Define.
+ 	(TEXT_SECTION_ASM_OP): Define.
+ 	(CPP_SPEC): Define.
+ 	(CTORS_SECTION_ASM_OP): Define.
+ 	(CTOR_SECTION_FUNCTION): Use it.
+ 	(DTORS_SECTION_ASM_OP): Define.
+ 	(DTOR_SECTION_FUNCTION): Use it.
+ 
+ 2000-02-16  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* reg-stack.c (emit_swap_insn): Do not put a new insn before a
+ 	NOTE_BASIC_BLOCK.
+ 
+ 	* flow.c (dump_regset, debug_regset, dump_bb, debug_bb,
+ 	debug_bb_n): New functions.
+ 	(dump_flow_info, print_rtl_with_bb): Use dump_regset.
+ 	* basic-block.h: Prototype new functions.
+ 
+ Wed Feb 16 21:07:53 2000  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* configure.in: Add support for avr target.
+ 	* configure: Rebuilt.
+ 
+ 	* invoke.texi: Add AVR invocation docs.
+ 	* install.texi: Add information about AVR.
+ 	* md.texi: Add AVR constraint letters description.
+ 	* extend.texi: Add description for AVR specific attributes.
+ 
+ 2000-02-16  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* fixinc/fixinc.svr4: Wrap byteorder.h with extern "C".
+ 
+ 2000-02-16  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* emit-rtl.c (emit_insn): Move RTL check into make_insn_raw.
+ 	(make_insn_raw): Move RTL check here.
+ 
+ 2000-02-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* version.c: Include gansidecl.h and version.h.
+ 
+ 	* version.h: Wrap entire file in macro __GCC_VERSION_H__.
+ 
+ 	* configure.in (gcc_version): When setting, narrow search to
+ 	lines containing `version_string'.
+ 
+ 	* Makefile.in (mainversion): Likewise.
+ 	(GCC_H): New variable.
+ 	(gcc.h): Delete target.
+ 	(gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
+ 	(version.o): Depend on version.h.
+ 	(dbxout.o): Don't depend on gcc.h.
+ 
+ Wed Feb 16 15:04:49 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 			  Michael Meissner  <meissner@cygnus.com>
+ 
+ 	* md.texi (Simple Constraints): Add item about whitespace.
+ 	* genoutput.c (strip_whitespace): New.
+ 	(scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call
+ 	strip_whitespace for constraints.
+ 	Test pointer using NULL, not 0.
+ 
+ 2000-02-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* cpplib.c (do_line): Pedwarn for #line > 32767.
+ 
+ 	* c-lex.c (readescape): Warn about '\x', but do not reject it.
+ 
+ 2000-02-15  Jonathan Larmour  <jlarmour@redhat.co.uk>
+ 
+ 	* gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define
+ 	to default cpp spec.
+ 	(do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__.
+ 	* cpp.texi: Document __GNUC_PATCHLEVEL__.
+ 	* cpp.1: Likewise.
+ 
+ 	* objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to
+ 	default spec.
+ 
+ 2000-02-15  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* configure.in: Add support for avr target.
+ 
+ Wed Feb 16 03:21:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode.
+ 	(sh_addr_diff_vec_mode): Don't declare.
+ 	* sh.c (sh_addr_diff_vec_mode): Delete.
+ 
+ Wed Feb 16 01:27:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn.
+ 
+ Wed Feb 16 00:58:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name.
+ 	(smulsi3_highpart_i): Name.
+ 	(udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes.
+ 	(divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise.
+ 	(smulsi3_highpart, umulsi3_highpart): Likewise.
+ 
+ 	(mulsidi3_i, umulsidi3_i): Make rtl describe operation
+ 	correctly independent of endianness.
+ 	(mulsidi3, umulsidi3): Now define_insn.  Hide details that
+ 	confuse the optimizers.
+ 	(mulsidi3+1, umulsidi3+1): New define_split.
+ 
+ Tue Feb 15 23:22:26 2000  Andrew Haley  <aph@cygnus.com>
+ 
+ 	* config/sh/sh.md: Guard insn splits against illegal registers.
+ 	* config/sh/sh.h: Correct comment about macros.
+ 
+ Tue Feb 15 22:30:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 			  Andrew MacLeod  <amacleod@cygnus.com>
+ 
+ 	* Makefile.in (lcm.o): Depend on insn-attr.h.
+ 	* basic-block.h (optimize_mode_switching): Declare.
+ 	* lcm.c (tm_p.h, insn-attr.h): #include.
+ 	(seginfo, bb_info): New structs.
+ 	(antic, transp, comp, delete, insert) : New file-scope static variables.
+ 	(new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions.
+ 	(reg_becomes_live, optimize_mode_switching): Likewise.
+ 	* tm.texi: Add description of mode switching macros.
+ 	* toplev.c (rest_of_compilation): Call optimize_mode_switching.
+ 
+ 	* sh-protos.h (remove_dead_before_cse): Remove prototype.
+ 	(fldi_ok, fpscr_set_from_mem): New prototypes.
+ 	* sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set.
+ 	(CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS):
+ 	Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
+ 	(sh_flag_remove_dead_before_cse): Remove declaration.
+ 	(NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros.
+ 	(MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise.
+ 	(MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
+ 	* sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
+ 	(barrier_align): Allow for JUMP_INSNS containing a parallel.
+ 	(machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set.
+ 	(fldi_ok): New function.
+ 	(get_fpscr_rtx): Add fpscr_rtx as GC root.
+ 	(emit_sf_insn): Only generate fpu switches when optimize < 1.
+ 	(emit_df_insn): Likewise.
+ 	(expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete.
+ 	(sh_flag_remove_dead_before_cse): Delete.
+ 	(get_free_reg, fpscr_set_from_mem): New functions.
+ 	* sh.md (movdf, movsf): Remove no_new_pseudos code.
+ 	(return): Remove emit_fpscr_use / remove_dead_before_cse calls.
+ 
+ 2000-02-15  Loren Rittle  <ljrittle@acm.org>
+ 
+ 	* ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.
+ 
+ 2000-02-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
+ 	cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
+ 
+ 	* cccp.c: Include version.h and/or don't declare `version_string'.
+ 	* collect2.c: Likewise.
+ 	* alpha.c: Likewise.
+ 	* arm/aof.h: Likewise.
+ 	* arm/coff.h: Likewise.
+ 	* arm/elf.h: Likewise.
+ 	* arm/pe.h: Likewise.
+ 	* arm/tcoff.h: Likewise.
+ 	* arm/telf.h: Likewise.
+ 	* arm/tpe.h: Likewise.
+ 	* arm/vxarm.h: Likewise.
+ 	* convex/convex.c: Likewise.
+ 	* i386/dgux.c: Likewise.
+ 	* i386/sun386.h: Likewise.
+ 	* m88k/m88k.c: Likewise.
+ 	* mcore/mcore-pe.h: Likewise.
+ 	* mips/mips.h: Likewise.
+ 	* romp/romp.h: Likewise.
+ 	* sh/sh.c: Likewise.
+ 	* cpphash.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcc.h: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 	* version.c (version_string): Constify a char*.
+ 
+ 	* version.h: New file.
+ 
+ 2000-02-14  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Add mcore-elf and mcore-pe targets.
+ 	* configure: Regenerate.
+ 
+ 	* NEWS: Add note that MCore port has been contributed.
+ 
+ 	* invoke.texi: Document command line switches for MCore port.
+ 	* install.texi: Add MCore to list of supported targets.
+ 
+ 2000-02-14  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,
+ 	then we will need to import the frame handling functions.
+ 	(scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need
+ 	to import the frames themselves.
+ 
+ Mon Feb 14 13:31:01 2000  Stan Cox  <scox@cygnus.com>
+ 			  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* basic_block.h: Added prototype for reorder_basic_blocks.
+ 	* toplev.c: Changes to add -freorder-blocks and graph dump after
+ 	block reordering is done.
+ 	* flow.c (reorder_block_def): New structure for use during block
+ 	reordering.
+ 	(REORDER_BLOCK_*): New macros to access members of above structure.
+ 	(skip_insns_between_block, get_common_dest, chain_reorder_blocks,
+ 	make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New
+ 	functions for block reordering.
+ 
+ Mon Feb 14 11:24:44 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* gcc.texi (Passes): Fix typo.
+ 	* md.texi (Standard Names): Ditto.
+ 	* tm.texi (Storage Layout): Ditto.
+ 
+ 2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (do_define): Only free the old definition if it
+ 	actually had one.
+ 
+ 2000-02-13   Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppfiles.c (read_and_prescan): When emitting deferred
+ 	newlines, test speccase[] again instead	of checking each
+ 	possible whitespace character in turn.  When we encounter \r,
+ 	look behind for \n first, then ahead.
+ 
+ 2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cse.c (cse_altered): New internal flag.
+ 	(cse_insn): Set it if we changed an insn.
+ 	(cse_main): Clear cse_altered before each basic block.
+ 	Only garbage collect if cse_altered is true afterward.
+ 
+ Sun Feb 13 14:12:28 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* sparc/sol2.h (LIB_SPEC): Link -ldl if profiling.
+ 
+ Sun Feb 13 13:21:55 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (simplify_comparison): Fix typo.
+ 
+ Sun Feb 13 12:57:52 2000  Neil Booth <NeilB@earthling.net>
+ 
+ 	* prefix.c (concat, lookup_key): Use xmalloc and xrealloc
+ 	consistently.
+ 
+ 2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* flow.c (flow_loop_tree_node_add): Use better algorithm by passing
+ 	previously inserted node instead of root node.	Caller changed.
+ 
+ 2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete.
+ 
+ 2000-02-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
+ 	__dereg_frame_dtor): Add prototype argument.
+ 
+ 	* gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.
+ 
+ 	* gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.
+ 
+ 	* gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.
+ 
+ 	* gthr-vxworks.h (__gthread_once): Likewise.
+ 
+ 	* gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.
+ 
+ Sat Feb 12 01:44:26 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_emit_restore_regs_using_mov): Break out from ...
+ 	(ix86_expand_epilogue): ... here. Use mov instead of add to restore
+ 	stack pointer in functions w/o saved registers, output LEAVE more often
+ 	on TARGET_USE_LEAVE machines.
+ 
+ 2000-02-07  Dmitri Makarov  <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_init_cumulative_args); New function:
+ 	Initlaise the CUMULATIE_ARGS strcuture for a function
+ 	definition.
+ 	(arm_function_arg): New function: Determine where to place a
+ 	function's argument.  Also handles deciding the function's
+ 	call cookie.
+ 	(current_file_function_operand): New function: Return true if
+ 	the symbol is a function which has already been compiled.
+ 	(arm_is_long_call_p): New function: Return true if the
+ 	indicated function should be called via a long call.
+ 	(arm_valid_type_attribute_p): New function: Return true if the
+ 	attribute is a valid, arm specific, attribute.
+ 	(arm_comp_type_attribute): New function: Return true if the
+ 	two types have compatible, arm specific, attributes.
+ 
+ 	* config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a
+ 	structure.
+ 	(FUNCTION_ARG): Redefine to call arm_function_arg.
+ 	(FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct
+ 	structure field.
+ 	(INIT_CUMULATIVE_ARGS): Redefine to call
+ 	arm_init_cumulative_args.
+ 	(FUNCTION_ARG_ADVANCE): Redefine to use correct structure
+ 	field.
+ 	(SETUP_INCOMING_VARARGS): Redefine to use correct structure
+ 	field.
+ 	(ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled
+ 	functions.
+ 	(ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION.
+ 	(VALID_MACHINE_TYPE_ATTRIBUTE): Define.
+ 	(COMP_TYPE_ATTRIBUTES): Define.
+ 
+ 	* config/arm/arm.md (call): Call arm_is_long_call_p to decide
+ 	if a long call is needed.
+ 	(call_value): Call arm_is_long_call_p to decide if a long call
+ 	is needed.
+ 	(call_symbol): Call arm_is_long_call_p to decide if a long call
+ 	is needed.
+ 
+ 	* config/arm/arm-protos.h: Add prototype for arm_is_long_call_p.
+ 
+ 2000-02-11  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* README.AVR: New file with information about the avr ports.
+ 	* config/avr: New directory with avr port files.
+ 
+ 2000-02-11  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@.
+ 
+ 2000-02-11  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c: Fix formatting, update commentary.
+ 	(dump_definition): Take three separate arguments instead of a
+ 	MACRODEF structure argument.
+ 	* cpphash.h: Update prototype of dump_definition.
+ 	* cppinit.c (cpp_finish): Update call of dump_definition.
+ 
+ 	* cpplib.c (do_define): Always create new hash entry with
+ 	T_MACRO type.  Remove redundant check for redefinition of
+ 	poisoned identifier.  Update call of dump_definition.
+ 	(do_undef): Don't call check_macro_name.  Rename sym_length to
+ 	len.
+ 	(do_error, do_warning): Don't use copy_rest_of_line or
+ 	SKIP_WHITE_SPACE.
+ 	(do_warning): Don't use pedwarn for the actual warning,
+ 	only the notice about its not being in the standard.  (Fixes
+ 	bug with #warning in system headers.)
+ 	(do_ident): Stricter argument checking - accept only a single
+ 	string after #ident.  Also, macro-expand the line.
+ 	(do_xifdef): Use cpp_defined.  De-obfuscate.
+ 
+ 	(do_pragma): Split out specific pragma handling to separate
+ 	functions.  Use get_directive_token.  Update commentary.  Do
+ 	not pass on #pragma once or #pragma poison to the front end.
+ 	(do_pragma_once, do_pragma_implementation, do_pragma_poison,
+ 	do_pragma_default): New.
+ 
+ Feb 11 12:30:53 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (jump_optimize_1): The first operand in a relational
+ 	can be a CONST_INT.
+ 	* optabs.c (emit_conditional_move): Handle relationals which
+ 	have a known true/false result.
+ 
+ 2000-02-11  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Don't insert
+ 	a RETURN insn into a block which already ends with a jump.
+ 
+ 2000-02-11  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* haifa-sched.c (BUF_LEN): Increase a lot.
+ 
+ 2000-02-11  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* configure.in: Add tm_p_file specification for thumb targets.
+ 	* configure: Regenerate.
+ 
+ 	* config/arm/thumb-protos.h: New file: Prototypes for exported
+ 	functions defined in thumb.c.
+ 
+ 2000-02-11  Robert Lipe  <robertl@sco.com>
+ 
+ 	* Makefile.in (bootstrap-lean): Remove additional files.
+ 	(bootstrap2-lean): Likewise.
+ 	(VOL_FILES): List of files for above.
+ 
+ 2000-02-11  Nathan Sidwell  <nathan@acm.org>
+ 
+ 	* cpphash.c (special_symbol): Remove spurious argument to
+ 	cpp_lookup.
+ 
+ 2000-02-11  Joel Sherrill (joel@OARcorp.com>
+ 
+ 	* configure.in: (i*86-*-rtems*): Swapped elf and coff
+ 	stanzas.
+ 	* configure: Rebuilt.
+ 
+ 2000-02-11  Rodney Brown  <RodneyBrown@pmsc.com>
+ 
+ 	* pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef.
+ 
+ Fri Feb 11 02:59:05 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c, pa.h: Remove trigraph sequences within comments.
+ 
+ Fri Feb 11 02:51:56 2000  Pavel Roskin <pavel_roskin@geocities.com>
+ 
+ 	* invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics.
+ 
+ Fri Feb 11 02:48:30 2000  Brad Lucier  (lucier@math.purdue.edu)
+ 
+ 	* sbitmap.h: Make SBITMAP_ELT_BITS unsigned.
+ 
+ 2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE.
+ 
+ 2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label.
+ 	(ASM_OUTPUT_EXTERNAL): Use c4x_external_ref.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ 	(ASM_FILE_END): Use c4x_file_end.
+ 	* config/c4x/c4x.c (c4x_global_label): New function.
+ 	(c4x_external_ref, c4x_file_end): Likewise.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
+ 	(c4x_external_ref, c4x_end_file): Likewise.
+ 
+ 2000-02-10  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppexp.c: Don't include cpphash.h.
+ 	(parse_charconst, cpp_lex): Use cpp_defined.
+ 	(cpp_lex): Use get_directive_token throughout.  Remove
+ 	unnecessary cases from switch.  Move assertion-handling code
+ 	down to OTHER case.
+ 	(cpp_parse_expr): If we see '+' or '-', check the context to
+ 	determine if they are unary or binary operators.  Streamline
+ 	the jumps a bit.  Do not call skip_rest_of_line.
+ 
+ 	* cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
+ 	static.  Export get_directive_token.  Update commentary.
+ 	(cpp_defined): New function.
+ 	(do_define): Remove reference to T_PCSTRING.  Call
+ 	free_definition to release memory for old definition, when
+ 	redefining a macro.
+ 	(eval_if_expression): Set only_seen_white to 0 before calling
+ 	cpp_parse_expr.  Call skip_rest_of_line after it returns.
+ 	(cpp_read_check_assertion): Don't preserve a pointer into the
+ 	token buffer across a call to cpp_get_token.
+ 
+ 	* Makefile.in (cppexp.o): Don't depend on cpphash.h.
+ 	* cppfiles.c (redundant_include_p): Use cpp_defined.
+ 	* cpphash.c (free_definition): New function.
+ 	(delete_macro): Use it.  Update commentary.
+ 	* cpphash.h: Typedef HASHNODE here.  Prototype cpp_lookup and
+ 	free_definition.
+ 	* cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
+ 	from enum node_type.  Prototype cpp_defined and get_directive_token.
+ 	Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
+ 
+ 	* fix-header.c (check_macro_names): Use cpp_defined.
+ 	(read_scan_file): Set inhibit_warnings and inhibit_errors in
+ 	the options structure.
+ 
+ 2000-02-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
+ 
+ 2000-02-10  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin)
+ 	rather than die->die_tag.
+ 
+ Thu Feb 10 16:26:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (make_extraction, force_to_mode): Avoid warning on
+ 	mixed-signedness conditionals.
+ 	(make_field_assignment, nonzero_bits): Likewise.
+ 	* expmed.c (store_fixed_bit_field): ALIGN arg now unsigned.
+ 	(store_split_bit_field, extract_split_bit_field): Likewise.
+ 	(extract_fixed_bit_field, store_bit_field,
+ 	* expr.c: Change alignment to be unsigned everywhere.
+ 	(move_by_pieces, store_constructor_field, store_constructor):
+ 	Alignment parm is unsigned.
+ 	(emit_block_move, emit_group_load, emit_group_store): Likewise.
+ 	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 	(move_by_pieces_ninsns, clear_by_pieces): Likewise.
+ 	Compare align with GET_MODE_ALIGNMENT.
+ 	(expand_expr_unaligned): Pointer to alignment is pointer to unsigned.
+ 	(get_inner_reference): Likewise.
+ 	(copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts.
+ 	(expand_assignment): Local vars for alignment now unsigned.
+ 	(store_constructor, store_field, expand_expr, do_jump): Likewise.
+ 	(do_compare_and_jump): Likewise.
+ 	(store_field): Call new function expr_align.
+ 	* expr.h (emit_block_move, emit_group_load, emit_group_store):
+ 	Alignment arg now unsigned.
+ 	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
+ 	(do_compare_rtx_and_jump, store_bit_field): Likewise.
+ 	(extract_bit_field): Likewise.
+ 	* fold-const.c (add_double): Add cast to eliminate signedness warning.
+ 	* machmode.h (GET_MODE_ALIGNMENT): Result is unsigned.
+ 	(get_best_mode): Alignment arg is unsigned.
+ 	* rtl.h (move_by_pieces): Likewise.
+ 	* store-layout.c (maximum_field_alignment, set_alignment):
+ 	Now unsigned.
+ 	(layout_decl): Alignment arg is now unsigned.
+ 	Remove unneeded casts.
+ 	(layout_record, layout_union, layout_type): Remove unneeded casts.
+ 	Local alignment variables now unsigned.
+ 	(get_best_mode): Alignment arg now unsigned.
+ 	* tree.c (expr_align): New function.
+ 	* tree.h (expr_align): Likewise.
+ 	(maximum_field_alignment, set_alignment): Now unsigned.
+ 	(get_inner_reference): Alignment argument is now pointer to unsigned.
+ 	* varasm.c (assemble_variable): Add cast to eliminate warning.
+ 
+ Thu Feb 10 12:56:47 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* expmed.c (store_bit_field): If op0 and fieldmode are the same size,
+ 	then store directly into op0.
+ 
+ 	* calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for
+ 	the CALL_INSN, and emit the note immediately after it.
+ 
+ 2000-02-10  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/thumb.md (epilogue): Include a (return) in the
+ 	generated insn, and emit it using emit_jump_insn not
+ 	emit_insn.
+ 
+ Thu Feb 10 18:28:59 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (assign_temp): Change zero-sized arrays to size 1.
+ 	* integrate.c (expand_inline_function): Do not update
+ 	stack_alignment_needed
+ 	* i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY,
+ 	add some sanity checking, remove optimization for function with
+ 	zero frame size.
+ 
+ 2000-02-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* flow.c (mark_regs_live_at_end): Delete unused variables.
+ 
+ 	* ggc-page.c (ggc_page_print_statistics): bzero -> memset.
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Wrap variable `alignment'
+ 	in macro FRAME_GROWS_DOWNWARD.
+ 
+ 	* stmt.c (expand_end_bindings): Delete unused variable.
+ 
+ 	* unroll.c (iteration_info): Mark parameter `loop' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2000-02-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* fixinc/server.c (load_data): Return NULL if the marker line is
+ 	not found.
+ 	(run_shell): If load_data returns NULL, retry the command once, in
+ 	a new shell.
+ 
+ 	* configure: Rebuilt.
+ 
+ 2000-02-09  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc/fixincludes:  ** DELETED **
+ 	* gcc/fixcpp:  ** DELETED **
+ 	* gcc/fixinc-nt.sed:  ** DELETED **
+ 	* gcc/just-fixinc:  ** DELETED **
+ 	* gcc/Makefile.in:  Removed out-dated commentary
+ 	* gcc/configure.in: Removed fast-fixincludes disablement.
+ 	* MAINTAINERS(Ian Taylor) moved to "Write after approval" group.
+ 
+ 2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
+ 	* function.c (thread_prologue_and_epilogue_insns): Uncomment
+ 	last change.
+ 
+ 2000-02-09  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (delete_insn): Don't delete user labels at -O0.
+ 
+ 2000-02-09  Robert Lipe  <robertl@sco.com>
+ 
+ 	* Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
+ 	Don't link with HOST_LIBS.
+ 
+ 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in: Correct --help text for --with-dwarf2.
+ 	Put tm-dwarf2.h after other tm files, if it's requested.
+ 	* configure: Regenerate.
+ 	* config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before
+ 	defining it.
+ 
+ 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h: Provide HASHNODE typedef and forward decl of
+ 	struct hashnode only.  Kill cpp_hashnode typedef.  MACRODEF,
+ 	DEFINITION, struct hashnode, struct macrodef, struct
+ 	definition, scan_decls prototype, default defn of
+ 	INCLUDE_LEN_FUDGE moved elsewhere.
+ 
+ 	* cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct
+ 	definition, and struct hashnode moved here. Remove the unused
+ 	'predefined' field from struct definition.  Replace the 'args'
+ 	union with its sole member.  All users updated (cpphash.c).
+ 	Delete HASHSTEP and MAKE_POS macros, and hashf prototype.  Add
+ 	multiple include guard.
+ 
+ 	* cpphash.c (hashf): Make static; use better algorithm; drop
+ 	HASHSIZE parameter; return an unsigned int.
+ 	(cpp_lookup): Drop HASH parameter.  PFILE parameter is
+ 	used. Calculate HASHSIZE modulus here.
+ 	(cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus
+ 	here.
+ 	(create_definition): Drop PREDEFINITION parameter.
+ 	* cpplib.c (do_define): Don't calculate a hash value here.
+ 	Don't pass (keyword == NULL) to create_definition.
+ 
+ 	* scan.h: Prototype scan_decls here.
+ 	* cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here.
+ 	* cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All
+ 	callers of cpp_lookup and cpp_install updated.
+ 
+ 	* cpphash.c (macarg): Hoist all the flag diddling out of the
+ 	function...
+ 	(macroexpand): ... and out of the loop that calls macarg.
+ 	Skip over the initial paren before macro arguments with
+ 	cpp_get_non_space_token; point may be some distance before
+ 	that paren.  Abort if it's not there.
+ 
+ 	* cpplib.c (parse_clear_mark): Delete function.
+ 	(parse_set_mark, parse_goto_mark): Make static.
+ 	(ACTIVE_MARK_P): New macro.
+ 	(skip_block_comment, skip_line_comment): Do not bump the line
+ 	if ACTIVE_MARK_P is true.
+ 	(cpp_pop_buffer): The buffer to be popped may not have an
+ 	active mark.
+ 	(cpp_get_token): When looking for the initial paren before
+ 	macro arguments, only set a mark in a file buffer, Always
+ 	return to that mark before proceeding to call macroexpand or
+ 	return a NAME token.
+ 
+ 	* cpplib.h: Remove prototypes of parse_set_mark,
+ 	parse_clear_mark, parse_goto_mark.
+ 	(struct cpp_options): Rename 'put_out_comments' to
+ 	'discard_comments' and invert its sense.
+ 	* cppinit.c, cpphash.c, cpplib.c: All users of
+ 	put_out_comments changed to use discard_comments, with
+ 	opposite sense.
+ 
+ 2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Don't delete
+ 	the edge from a block that both jumps and falls through to the
+ 	fallthru block.
+ 
+ 2000-02-09  Scott Bambrough  <scottb@netwinder.org>
+ 
+ 	* config/arm/arm.md (movsi): In PIC mode, make sure that a
+ 	constant source address is legitimate.
+ 
+ 2000-02-09  Philip Blundell  <pb@futuretv.com>
+ 
+ 	* config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
+ 	correctly.
+ 
+ 	* config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when
+ 	generating PIC.
+ 	(LEGITIMATE_PIC_OPERAND): Disallow references to labels.
+ 
+ 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
+ 	ends with a newline and a NUL.  Don't be so clever manipulating
+ 	strings.
+ 
+ Wed Feb  9 14:18:08 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
+ 	not to BIGGEST_ALIGNMENT.
+ 
+ 2000-02-08  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
+ 	* dwarf2out.c (dwarf_cfi_name): Print name of new constant.
+ 	(reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
+ 	(output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
+ 	* frame.c (execute_cfa_insn): Handle
+ 	DW_CFA_GNU_negative_offset_extended.
+ 
+ 2000-02-08  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (tidy_fallthru_edges): Split out from ...
+ 	(delete_unreachable_blocks): ... here.
+ 	(find_basic_blocks): Use it.
+ 
+ Tue Feb  8 15:51:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
+ 
+ 2000-02-08  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
+ 	(gen_protos.o): Don't depend on cpplib.h or cpphash.h.
+ 	(fix-header.o): Don't depend on cpphash.h.
+ 
+ 	* scan.c (hashstr): New function.
+ 	* scan.h: Prototype it.
+ 	* fix-header.c: Don't include cpphash.h.  Use hashstr.
+ 	* gen-protos.c: Don't include cpphash.h or cpplib.h.  Use
+ 	hashstr.  Report hash table statistics.  Add private
+ 	definition of xrealloc.
+ 
+ 2000-02-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386.h (TARGET_SWITCHES): Fix typo in option name.
+ 
+ 2000-02-08  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Don't replace
+ 	jumps with returns unless they are jumps to the fallthru block.
+ 
+ Tue Feb  8 07:53:55 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (addqi3_cc): Fix constraints.
+ 
+ Tue Feb  8 01:39:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
+ 
+ 2000-02-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
+ 	carriage return after a macro name.
+ 
+ 2000-02-07  Fred Fish  <fnf@be.com>
+ 
+ 	* i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
+ 	so the gcc2_compiled symbol doesn't confuse BeOS debuggers.
+ 
+ 2000-02-07  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (deps_output): Count spacers in deps_column.
+ 
+ 2000-02-07  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cppinit.c (initialize_dependency_output): If there is no
+ 	suffix, don't try to look for known suffixes.  Use strrchr.
+ 	(cpp_start_read): Remove duplicate initialization.
+ 
+ Mon Feb  7 18:36:41 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (compute_argument_block_size): New argument
+ 	preferred_stack_boundary.
+ 	(expand_call): update cfun->preferred_stack_boundary, update call of
+ 	compute_argument_block_size
+ 	(emit_library_call): Increate cfun->preferred_stack_boundary
+ 	to PREFERRED_STACK_BOUNDARY
+ 	(emit_library_call_value): Likewise.
+ 	* explow.c (allocate_dynamic_stack_spave): Likewise.
+ 	* function.c (prepare_function_start): Set
+ 	cfun->preferred_stack_boundary
+ 	* function.h (struct function): Add preferred_stack_boundary field.
+ 	* integrate.c (expand_inline_function): Update
+ 	cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
+ 	(copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
+ 	* i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
+ 
+ 2000-02-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
+ 	cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
+ 	cpp_pedwarn, cpp_pedwarn_with_line,
+ 	cpp_pedwarn_with_file_and_line): Move to cpperror.c.
+ 	(cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
+ 	v_cpp_error_with_line, v_cpp_warning_with_line,
+ 	cpp_message_from_errno, cpp_perror_with_name): Delete.
+ 
+ 	* cpperror.c (cpp_print_containing_files): Take starting
+ 	buffer as argument.
+ 	(cpp_file_line_for_message): Rename to cpp_print_file_and_line.
+ 	(v_cpp_message): Now called directly by all entry points.
+ 	Remove -1 case.
+ 	(cpp_pfatal_with_name, cpp_message): Delete.
+ 	(cpp_notice_from_errno, cpp_ice): New functions.
+ 	(cpp_notice): Is now for reporting error conditions, just
+ 	without an associated file.
+ 	(cpp_error, cpp_error_with_line): Don't do anything if
+ 	opts->inhibit_errors is on.
+ 	(cpp_pedwarn_with_file_and_line): Take column argument also.
+ 
+ 	* cpplib.h: Update prototypes of exported functions.
+ 	(struct cpp_options): Add inhibit_errors.
+ 
+ 	* cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
+ 	non-error messages.  Include intl.h.
+ 
+ 	* cppinit.c, cppmain.c: Likewise.  Also, use
+ 	cpp_notice_from_errno instead of cpp_perror_with_name or
+ 	cpp_pfatal_with_name, and cpp_notice instead of cpp_message.
+ 
+ 	* cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
+ 	report internal errors.
+ 
+ 	* cpplib.c (do_define): Switch bcopy to memcpy.
+ 	Give cpp_pedwarn_with_file_and_line a dummy column argument.
+ 
+ 	* cpplib.c (copy_rest_of_line): Revert previous change: don't
+ 	bail out early if we hit a line comment.
+ 
+ 2000-02-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (flow_delete_insn, make_edge, remove_edge): Export.
+ 	* basic-block.h: Declare them.
+ 	* emit-rtl.h (active_insn_p): New.
+ 	(next_active_insn, prev_active_insn): Use it.
+ 	* rtl.h: Declare it.
+ 	* function.c (emit_return_into_block): New.
+ 	(thread_prologue_and_epilogue_insns): Insert return insns instead
+ 	of epilogues when possible.
+ 	* jump.c (jump_optimize_1): Remove code to insert a return insn
+ 	on the fallthru to the exit block.
+ 
+ 	* i386.c (ix86_can_use_return_insn_p): Fail for large poped args
+ 	and for non-empty stack frames.
+ 	* i386.md (return): Expand to return-pop as needed.
+ 
+ 2000-02-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Canonicalize
+ 	constant to op1 for testing.
+ 
+ 2000-02-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*ldi_on_overflow): New pattern.
+ 	(fixuns_truncqfqi2): Use it.
+ 
+ 2000-02-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
+ 	as a TYPE_LEA insn.
+ 
+ 	* i386.md (widening and peepholes): Mask the constant instead of
+ 	using gen_lowpart.
+ 
+ 2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
+ 	input pointer before possibly branching off to the backslash
+ 	code.
+ 	* cpphash.c (macroexpand): Correctly delete \r escapes when
+ 	stringifying parameters.
+ 	* cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
+ 	if we can; bail out early if we hit a line comment.
+ 	(handle_directive): Treat '# 123' in an .S file just like
+ 	'# <punctuation>'.  Discard the shifted '#' if we hit '#\n'.
+ 	Return 1 for '# not_a_directive'.
+ 	(get_directive_token): Pop macro buffers here, so that
+ 	cpp_get_token can't sneakily move past a newline.
+ 	Add sanity checks.
+ 	(cpp_get_token): goto randomchar if handle_directive returns 0.
+ 
+ 	* cppalloc.c: Update copyright.
+ 	* cpplib.c: Merge all the static function prototypes into one
+ 	block.
+ 	* cpplib.h: Remove #if 0 block.
+ 
+ 	* cpperror.c: Remove #ifdef EMACS block.
+ 	* cppmain.c: Likewise.
+ 	* cpphash.c: Remove #if 0 blocks.
+ 	* cppinit.c: Remove #if 0 blocks, and the -lint option.
+ 	* cpplib.c: Remove #if 0 blocks and code referencing
+ 	pcp_inside_if or for_lint.  Remove duplicate error message.
+ 	Fix error messages for #else after #else or #elif.  Reformat.
+ 	Remove archaic TODO list.
+ 	* cpplib.h: Remove pcp_inside_if and for_lint flags.
+ 
+ 2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* i386/osf1elf.h: Add missing backslash to multiline string.
+ 
+ 2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
+ 
+ 2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-common.o): Depend on $(EXPR_H).
+ 
+ 	* c-common.c: Include expr.h.
+ 
+ 	* c-pragma.c (mark_align_stack): Add prototype.
+ 
+ 	* caller-save.c (add_stored_regs): Likewise.
+ 
+ 	* combine.c (record_promoted_value): Likewise.
+ 
+ 	* i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
+ 	Likewise.
+ 
+ 	* cppinit.c (new_pending_define): Likewise.
+ 
+ 	* cpplib.c (skip_block_comment, skip_line_comment): Likewise.
+ 
+ 	* dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
+ 	AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
+ 	AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
+ 	class_scope_p): Likewise.
+ 
+ 	* dwarf2out.h (dwarf2out_set_demangle_name_func,
+ 	dwarf2out_add_library_unit_info): Likewise.
+ 
+ 	* ggc.h (ggc_page_print_statistics): Likewise.
+ 
+ 	* haifa-sched.c (propagate_deps): Likewise.
+ 
+ 	* reg-stack.c (next_flags_user, record_label_references): Likewise.
+ 
+ 	* rtl.h (set_stack_check_libfunc): Likewise.
+ 
+ 	* toplev.h (set_fatal_function): Likewise.
+ 
+ 	* toplev.c (set_fatal_function): Delete prototype.
+ 
+ 	* diagnostic.c: Deconstify functions returning malloc'ed ptrs.
+ 
+ 2000-02-05  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.
+ 	(FUNC_END): Likewise.
+ 
+ 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* caller-save.c: Include tm_p.h.
+ 
+ 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
+ 
+ 2000-02-04  Neil Booth  <NeilB@earthling.net>
+ 
+ 	* cccp.c (main): Check 'dir' for a NULL pointer before passing
+ 	it to strcmp.
+ 
+ 2000-02-04  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* recog.h: Remove NO_MD_PROTOTYPES ifdefs.
+ 	* genflags.c: Use the max_operand_1 logic from genemit.c to
+ 	calculate how many arguments gen_insn prototypes have.  Remove
+ 	NO_MD_PROTOTYPES ifdefs from the generated file.
+ 	* genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
+ 	file.  Cast gen_insn initializers to insn_gen_fn.
+ 	* config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
+ 	* gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
+ 
+ 2000-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/Makefile.in (HDR): Add machname.h.
+ 	(clean): Likewise.
+ 
+ 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ...
+ 	(c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto.
+ 	(c4x_cpu_version): Ditto.
+ 	* config/c4x/c4x-protos.h: ... here.
+ 
+ 2000-02-04  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c (add_abstract_origin_attribute): Don't call
+ 	gen_abstract_function on our context if we're a nested function.
+ 
+ 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite.
+ 	* config/c4x/libgcc.S (ufix_truncqfhi2n): Fix.
+ 
+ 2000-02-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/genfixes(machname.h):
+ 	Move the functionality from gen-machine.h into this file.
+ 	UNdef MN_NAME_PAT if there are no names to change.
+ 	Also, be a little kinder when AutoGen is not present.
+ 
+ 	* fixinc/Makefile.in(machname.h):
+ 	Change the generation rule to use genfixes.
+ 
+ 	* fixinc/fixfixes.c(machine_name):
+ 	machine_name_fix's functionality now dependent upon whether
+ 	MN_NAME_PAT is defined.
+ 
+ 	* fixinc/fixtests.c(machine_name):
+ 	ditto.
+ 
+ 	* fixinc/fixlib.c(mn_get_regexps): conditional on definition
+ 	of MN_NAME_PAT.
+ 
+ 	* fixinc/fixlib.h(mn_get_regexps):
+ 	ditto
+ 
+ 	* fixinc/gen-machine.h: DELETED
+ 
+ 2000-02-04  Jan Hubicka  <jh@suse.cz>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (SAVE_REGS_FIRST): Remove.
+ 	(ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
+ 	(ix86_compute_frame_size): Likewise.
+ 	(ix86_expand_prologue): Likewise.  Use pro_epilogue_adjust_stack.
+ 	(ix86_emit_restore_regs): Remove.
+ 	(ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
+ 	when a frame pointer is in use.
+ 	(ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode.  Use mov
+ 	instead of pop to restore a register when profitable; emit leave
+ 	when profitable.
+ 	(ix86_attr_length_default): Handle pro_epilogue_adjust_stack
+ 	as a TYPE_LEA insn.
+ 	(ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
+ 	* i386.md (prologue_allocate_stack): Remove.
+ 	(epilogue_deallocate_stack): Remove.
+ 	(pro_epilogue_adjust_stack): New.
+ 
+ 2000-02-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* function.c (diddle_return_value): Rework to use a callback function.
+ 	Use current_function_return_rtx if it's been set up.
+ 	(do_clobber_return_reg, clobber_return_register): New.
+ 	(do_use_return_reg, use_return_register): New.
+ 	(expand_function_end): Use them.
+ 	* stmt.c (expand_null_return): Likewise.
+ 	* function.h: Declare them.
+ 	* flow.c (mark_regs_live_at_end): Use diddle_return_value.
+ 	(mark_reg): Change arguments as appropriate for callback.
+ 	* integrate.c (expand_inline_function): Revert 19 Jan change.
+ 
+ Fri Feb  4 20:25:42 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* tm.texi (Values in Registers): Fix typo: "fo" "for".
+ 	(Misc): Say the scheduler, not the Haifa scheduler.
+ 
+ 2000-02-04  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs
+ 	when in_mem is set.  Update all callers.
+ 
+ 2000-02-04  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386/openbsd.h (INT_ASM_OP): Define.
+ 
+ Fri Feb  4 10:51:30 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* tm.texi: Fix various typos.
+ 
+ Thu Feb  3 17:17:32 2000  Steve Ellcey <sje@cup.hp.com>
+ 
+ 	* config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
+ 	(MD_STARTFILE_PREFIX_1): New macro.
+ 
+ Thu Feb  3 15:08:13 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movstrsi, clrstrsi): Support variable sized copies, align
+ 	destination when needed.
+ 	(strmovsi, strsetsi): New expander.
+ 	(strmovsi_1, strsetsi_1): New pattern.
+ 	* i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
+ 	TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
+ 	(TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
+ 	* invoke.texi (align-stringops, inline-all-stringops): Document.
+ 
+ Wed Feb  2 23:04:47 2000   Krister Walfridsson <cato@df.lth.se>
+ 
+ 	* i386/netbsd.h (INT_ASM_OP): Define.
+ 
+ 2000-02-02  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (cpp_reader): Add new flag, no_directives.
+ 	* cpphash.c (macarg): Set it.
+ 	* cpplib.c (handle_directive): If no_directives is on and we
+ 	find a directive, issue an error and discard the line.
+ 
+ Wed Feb  2 13:07:10 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
+ 	FP constants.  Add ! TARGET_FPU check for FP constants.
+ 
+ 2000-02-02  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Don't kill label_value_list
+ 	here.
+ 	(cleanup_cfg): Kill it here.
+ 
+ Wed Feb  2 08:12:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_field): Ensure ALIGN is no stricter than the
+ 	alignment of EXP.
+ 
+ 2000-02-02  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (delete_insn): Partially revert 19 Jan change;
+ 	don't convert unused code labels to notes at -O0.
+ 
+ 2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* toplev.c (rest_of_compilation): Run rebuild_jump_labels after
+ 	split_all_insns to recreate REG_LABEL notes for flow2 pass.
+ 
+ 2000-02-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (general_no_elim_operand): New.
+ 	(nonmemory_no_elim_operand): New.
+ 	(ix86_expand_move): Copy eliminable operands before a push.
+ 	* i386-protos.h: Declare new functions.
+ 	* i386.h (CAN_ELIMINATE): Simplify.
+ 	(PREDICATE_CODES): Update.
+ 	* i386.md (push insns): Don't allow eliminable register operands.
+ 
+ 2000-02-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_regs_live_at_end): Follow expand_function_end and
+ 	replace BLKmode with DECL_RTL's mode.
+ 
+ 2000-02-01  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* frame.c (find_fde): Convert for loop to do-while so compiler
+ 	sees it's always executed at least once.
+ 	* libgcc2.c (BBINBUFSIZE): Kill.
+ 	(__bb_init_prg): Use fgets.
+ 	(__bb_exit_trace_func): Don't paste strings.
+ 	* unroll.c (unroll_loop): Initialize unroll_type, not
+ 	unroll_number, and tweak logic to match.
+ 
+ 	* i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
+ 	all failure paths.
+ 	(ix86_flags_dependant): Likewise.  Disentangle control flow.
+ 	(ix86_sched_reorder): Break guts out to
+ 	ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
+ 	(ix86_sched_reorder_ppro): Initialize pair2 and insnp before
+ 	any possible use.
+ 
+ 	* i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
+ 	use string concatenation.  Don't save and restore esi.
+ 
+ 	* fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
+ 	(machname.h): Remove script to separate file.  Use two-step
+ 	sequence so target is not created if script fails.
+ 	* fixinc/gen-machname.h: New file.  Handle case where no non-reserved
+ 	identifiers are defined.
+ 	* fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
+ 	an empty string, machine_name doesn't need to do anything at
+ 	all.
+ 	(is_cxx_header): Add more cases to regexp.
+ 	* fixinc/fixlib.h: Update prototype.
+ 	* fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
+ 	mn_get_regexps.
+ 	* fixinc/fixincl.c: Define NO_BOGOSITY.
+ 
+ 	* fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
+ 	(hp_sysfile): Add missing comma.
+ 	(math_exception): Put the wrapper ifdefs at the beginning and
+ 	the end of the file.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.
+ 
+ 2000-02-01  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (fp_zero_operand): Turn into a normal predicate.
+ 	Use CONST0_RTX.  Update all callers.
+ 	* sparc.h, sparc-protos.h: Update accordingly.
+ 	* sparc.md (fp mov insns): Use fp_zero_operand directly
+ 	where applicable.
+ 
+ Wed Feb  2 02:59:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
+ 	example.
+ 
+ 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (specs.ready): New target.
+ 	(fixinc.sh): Depend on `specs.ready' instead of `specs'.
+ 
+ 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc.irix: Use unique filenames for writing into /tmp,
+ 	* fixinc.ptx: Likewise.
+ 	* fixinc.sco: Likewise.
+ 	* fixinc.svr4: Likewise.
+ 	* fixinc.winnt: Likewise.
+ 
+ 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tsystem.h: New file.
+ 
+ 	* Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
+ 	s-crtS): Depend on tsystem.h.
+ 
+ 	* crtstuff.c: Include tsystem.h.
+ 	* frame.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 
+ Tue Feb  1 19:53:27 CET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (expand_builtin_memset): Expand for variable sized
+ 	lengths too.
+ 
+ 2000-02-01  David Billinghurst <David.Billinghurst@riotinto.com.au>
+ 
+ 	* config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based
+ 	on ABI.
+ 
+ Tue Feb  1 00:57:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* dwarfout.c (SHORT_TYPE_SIZE): Correct default.
+ 
+ 	* tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.
+ 
+ 2000-01-31  Chandra Chavva <cchavva@cygnus.com>
+ 
+ 	* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
+ 	case 3->2 combining (combining with splitting) in which 2 is CC0
+ 	setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
+ 	checked at the begining of the function with the aid of calling
+ 	function 'can_combine_p'.
+ 
+ 2000-01-31  Dave Brolley  <brolley@redhat.com>
+ 
+ 	* cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
+ 
+ 2000-01-31  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
+ 	new label.
+ 
+ 2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.
+ 
+ 	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
+ 	PROTO -> PARAMS.
+ 
+ 2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
+ 	i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
+ 	i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
+ 	i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
+ 	i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
+ 	i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
+ 	i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
+ 	i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
+ 	i386/vxi386.h, i386/win-nt.h, i386/win32.h:
+ 	Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
+ 
+ 	* i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
+ 	Add %(cpp_cpu) to CPP_SPEC.
+ 
+ 	* i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
+ 	Add %(cc1_cpu) to CC1_SPEC.
+ 
+ 2000-01-28  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* c-decl.c (c_decode_option): Accept optional numeric argument to
+ 	-Wformat and set warn_format.
+ 	* c-common.c: Don't emit warning about non-constant printf format
+ 	string unless warn_format > 1.
+ 
+ 2000-01-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (return_internal): Allow after reload only.
+ 
+ 2000-01-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (ix86_compute_frame_size): Omit padding1 if the
+ 	local frame size is zero.
+ 
+ 2000-01-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_expand_epilogue): Don't emit the return insn.
+ 	* alpha.h (EPILOGUE_USES): New.  Mark $26 live.
+ 	* alpha.md (return): Turn into an expander.
+ 	(return_internal): Don't use $26.
+ 	(epilogue): Emit the return insn.
+ 
+ 2000-01-30  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (negtf2, abstf2): Fix word order thinko.
+ 	(extendsftf2): New.
+ 	(trunctfsf2): Avoid intermediate rounding errors.
+ 
+ 2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppfiles.c (find_position): Drop 'colp' argument, return the
+ 	new line base.
+ 	(read_and_prescan): Adjust to match.  Don't ever manipulate
+ 	line or line_base except via find_position.
+ 
+ 2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-parse.in: Apply Ulrich's changes from c-parse.y.
+ 	* c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
+ 	Regenerate.
+ 
+ 2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpperror.c (cpp_file_line_for_message): If 'line' is zero,
+ 	just print "<command line>".  If 'filename' is null or an
+ 	empty string, print "<stdin>" for the filename.
+ 	* cpplib.c (do_define): Don't print the 'location of the
+ 	previous definition' message if we're still parsing the
+ 	command line.
+ 	(cpp_pedwarn_with_file_and_line): Always call
+ 	cpp_file_line_for_message.
+ 
+ 2000-01-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* flow.c (mark_regs_live_at_end): Fix typo.
+ 
+ 2000-01-28  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* c-common.c: Adjust variable names, comments, help strings to c99.
+ 	* c-lex.c: Likewise.
+ 	* c-parse.y: Likewise.
+ 	* c-tree.h: Likewise.
+ 	* cccp.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* c-decl.c: Likewise.  Recognize options with names "*99" as well.
+ 	* cppinit.c: Likewise.
+ 
+ 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
+ 	* c4x.c: Define the optab rtx values.
+ 	(c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
+ 	(c4x_emit_libcall): Use new optab rtx values.
+ 	(c4x_emit_libcall3): Likewise.
+ 	(c4x_emit_libcall_mulhi): Likewise.
+ 	* c4x-protos.h: Add prototypes for optab rtx values and change
+ 	prototypes for above c4x_emit_libcall functions.
+ 
+ 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (c4x_output_ascii): Restrict line length of output when TI
+ 	syntax is used.
+ 	(c4x_function_prologue): Use regnames intead of float_reg_names when
+ 	TI syntax is used.
+ 	(c4x_function_epilogue): Likewise.
+ 	(c4x_print_operand): Likewise.
+ 	* c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
+ 	* c4x.md (set_high): Disable for TARGET_TI.
+ 
+ 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
+ 	of framepointer + constant to ADDR_REGS class.
+ 	* c4x.md (addqi3, addqi3_noclobber_reload): Update.
+ 	* c4x.c (std_or_reg_operand): New function.
+ 	* c4x-protos.h (std_or_reg_operand): Prototype it.
+ 
+ 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
+ 		object names as libgcc2.c.
+ 	* libgcc.S: Use newly defined names.
+ 
+ Fri Jan  7 19:48:04 CET 2000  Jan Hubicka  <jh@suse.cz>
+ 	* sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
+ 	function.
+ 	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
+ 	* basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
+ 	(FLOW_LOOP_LAST_BLOCK): Likewise.
+ 
+ 2000-01-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* basic-block.h (struct loop): New fields 'first' and 'last'.
+ 	* flow.c (flow_loops_find): Compute loop->first and loop->last.
+ 	(flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
+ 	and loop->last to check for NOTE_INSN_LOOP_END.
+ 
+ Fri Jan 28 10:57:58 2000  Jason Eckhardt  <jle@cygnus.com>
+ 
+ 	* predict.c (estimate_probability): Use the new FIRST and LAST fields
+ 	of the loop descriptor rather than HEADER and LATCH. Also added
+ 	missing break statements as well making some coding style modifications
+ 	as suggested by Michael Hayes.
+ 
+ 2000-01-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (find_basic_blocks): Remove do_cleanup argument.
+ 	Break out that code ...
+ 	(cleanup_cfg): ... here.
+ 	(commit_one_edge_insertion): Detect a return instruction being
+ 	emitted to an edge.  Emit a barrier following; clear fallthru.
+ 	(commit_edge_insertions): Verify CFG consistency.
+ 	* function.c (expand_function_start): Kill unused variable.
+ 	(expand_function_end): Likewise.
+ 	(thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
+ 	to insert the epilogue.
+ 
+ 	* gcse.c (gcse_main): Adjust for find_basic_blocks change.
+ 	(delete_null_pointer_checks): Likewise.
+ 	* output.h: Likewise.
+ 	* reg-stack.c (reg_to_stack): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise.  Run
+ 	thread_prologue_and_epilogue_insns after rebuilding the CFG.
+ 
+ 2000-01-28  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (flow.o): Revert 24 Jan change.
+ 	* flow.c (mark_regs_live_at_end): Likewise.  Force BLKmode
+ 	FUNCTION_VALUE result to DECL_RESULT's mode.
+ 
+ 	* haifa-sched.c (schedule_insns): Don't recompute reg info
+ 	after reload.
+ 
+ 2000-01-28  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* configure.in: Make --enable-cpplib the default.
+ 	* configure: Regenerate.
+ 	* gcc.dg/990119-1.c: No longer expected to fail.
+ 
+ 2000-01-28  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* jump.c (jump_optimize_1): Delete an optimization that is also done
+ 	by merge_blocks in flow.
+ 
+ 2000-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* diagnostic.c (build_message_string, output_printf,
+ 	line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
+ 	(build_location_prefix): Fix non-literal format string.
+ 
+ 2000-01-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (trunctfsf2): New.
+ 
+ 2000-01-27  Andrew Hobson  <ahobson@eng.mindspring.net>
+ 
+ 	* configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
+ 
+ 2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c (cpp_handle_option): Recognize C++ comments under
+ 	-std=gnu89.
+ 	* cpplib.c (skip_block_comment, skip_line_comment): Split code
+ 	out of...
+ 	(skip_comment) ... here.  Permit C++ comments in system
+ 	headers always.  Warn about C++ comments in user code under
+ 	-std=gnu89 -pedantic.
+ 	(copy_comment): Use skip_comment.
+ 	(cpp_skip_hspace, cpp_get_token): skip_comment can no longer
+ 	return EOF.
+ 	(consider_directive_while_skipping, do_else, do_endif): Call
+ 	validate_else unconditionally.
+ 	(validate_else): Check CPP_PEDANTIC here.  Accept non-comment
+ 	text after the conditional in a system header.
+ 	* cpplib.h (struct cpp_buffer): Add flag
+ 	warned_cplusplus_comments.
+ 
+ 2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
+ 	Use unshare_all_rtl_1.
+ 	(unshare_all_rtl_again): New function.
+ 	(unshare_all_rtl_1): New function split out of unshare_all_rtl.
+ 
+ 	* function.c (purge_addressof_1): Use unshare_all_rtl_again
+ 	rather than resetting the 'used' flags ourself.
+ 
+ 	* toplev.c (rest_of_compilation): Add current_function_decl
+ 	to the unshare_all_rtl call.
+ 	* tree.h: Prototype unshare_all_rtl.
+ 	* rtl.h: Prototype unshare_all_rtl_again here.
+ 
+ 2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
+ 
+ 	* genoutput.c (output_prologue): Include ggc.h in generated
+ 	files.
+ 	* Makefile.in (insn-output.o): Depends on ggc.h.
+ 
+ 2000-01-27  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+ 	    Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
+ 	Remove redundant include of xm-ns32k.h.
+ 	* ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
+ 	Remove redundant include of xm-ns32k.h.
+ 	* ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
+ 	Remove redundant include of xm-ns32k.h.
+ 	* ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
+ 
+ 	* ns32k/ns32k.h: Update comment on multiply-add instructions.
+ 	(TARGET_SWITCHES): Add documentation strings.
+ 	(DWARF_FRAME_REGNUM): Override default definition.
+ 	(REG_CLASS_CONTENTS): Add comments.
+ 	(SUBSET_P): Format to reduce line length.
+ 	(SMALL_REGISTER_CLASSES): Make a run time option.
+ 	(GO_IF_NONINDEXED_ADDRESS): Reformat.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
+ 	dereferencing it.  Braces to avoid "ambiguous else" were misplaced.
+ 	(regclass_map): fix typo in comment.
+ 	* ns32k/ns32k.c: Add spaces before parentheses for consistant style.
+ 	Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
+ 	(trace, reg_or_mem_operand): Delete, unused function.
+ 	(calc_address_cost): Small offsets are cheaper than large ones.
+ 	(expand_block_move): Generate more efficient code when bytes is a
+ 	known at compile time.
+ 	* ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
+ 	(udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
+ 	instead of reg_or_mem_operand.
+ 
+ 	* ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
+ 	not general_operand.  Similarly use "=rm" or stricter, not "=g".
+ 	For input operands, use stricter constraints than "g" if not
+ 	general_operand.  Similarly use stricter predicate than
+ 	"general_operand" when stricter constraints than "g" are present,
+ 	except for matching constraints.
+ 	(movstrsi): Use "memory_operand" for operands 0 and 1.
+ 	(truncsiqi2, truncsihi2, trunchiqi2): Remove.
+ 	(udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
+ 	not reg_or_mem_operand.
+ 	(udivmoddisi4): Ditto.
+ 	Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
+ 	Use nonimmediate_operand for operand 3, not register_operand.
+ 	(udivmoddiqi4_internal): Use register_operand for operand 1, not
+ 	reg_or_mem_operand.
+ 
+ 2000-01-27  Fred Fish  <fnf@be.com>
+ 
+ 	* gthr-posix.h: Fix typo; compatibily -> compatibility.
+ 	* gthr-single.h: Likewise.
+ 	* gthr-solaris.h: Likewise.
+ 	* gthr-vxworks.h: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 	* gthr.h: Likewise.
+ 
+ 2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cppinit.c: Add " (cpplib)" to end of string printed by
+ 	-v / --version.
+ 
+ 2000-01-27  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_conditional_move): Use VOIDmode when
+ 	testing for a signed comparison.
+ 	(alpha_emit_floatuns): New.
+ 	* alpha-protos.h: Declare it.
+ 	* alpha.md (floatunsdisf2, floatunsdidf2): New.
+ 	(extendsfdf2): Tidy.
+ 
+ 2000-01-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
+ 	no -g option specifying debugging format, default to -gstabs+.
+ 
+ Wed Jan 26 22:19:14 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
+ 
+ 	* calls.c (special_function_p): New argument fork_or_exec.
+ 	(expand_call): When profile_arc_flag is set and the function
+ 	is in the fork_or_exec group, call __bb_fork_func first.
+ 	* libgcc2.c, _bb module (__bb_fork_func): New function.
+ 	(__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
+ 	output file.
+ 	* config/svr4.h (TARGET_HAS_F_SETLKW): Define.
+ 	* tree.h (special_function_p): Update prototype.
+ 
+ 2000-01-26  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_split_tfmode_pair): New.
+ 	* alpha-protos.h: Declare it.
+ 	* alpha.md (abstf2, negtf2): New.
+ 	(movtf insn): Add input G constraint.
+ 	(movtf splitter): Use alpha_split_tfmode_pair.
+ 
+ 2000-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386/cygwin.h: PROTO -> PARAMS.
+ 
+ 2000-01-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
+ 	TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
+ 	using _Qp_cmp/_Q_cmp and testing the return value.
+ 	(print_operand): Call reverse_condition_maybe_unordered if
+ 	we are handling CCFPmode or CCFPEmode.
+ 	Handle ORDERED, UN* and LTGT comparisons.
+ 	* config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
+ 	if not TARGET_HARD_QUAD.
+ 	(seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
+ 	bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
+ 	Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
+ 	Adjust gen_b* calls so that they reflect return comparison of
+ 	sparc_emit_float_lib_cmp.
+ 
+ 2000-01-26  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
+ 	incoming operands array is large enough for one more operand.
+ 	(alpha_emit_xfloating_arith): Likewise.
+ 
+ 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
+ 	file with one line and no trailing newline.
+ 	Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
+ 	* fixinc/fixtests.c (machine_name_test): Fix fencepost error
+ 	checking if the match is on the line.
+ 	* fixinc/gnu-regex.c: Provide regerror not __regerror.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc.c (output_cbranch): Fix accidental squashing of the
+ 	fp branch pre-delay nop.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* tree.def (UNNE_EXPR): Remove.
+ 	* c-typeck.c (build_binary_op): Don't handle it.
+ 	* expr.c (expand_expr, do_jump, do_store_flag): Likewise.
+ 
+ 	* rtl.def (UNNE): Remove.
+ 	(LTGT): Add.
+ 	* jump.c (reverse_condition): Update accordingly.
+ 	(swap_condition): Likewise.
+ 	(comparison_dominates_p): Handle unordered comparisons.
+ 	(reverse_condition_maybe_unordered): New.
+ 	* rtl.h (reverse_condition_maybe_unordered): Declare.
+ 
+ 	* sparc.c (select_cc_mode): Update for UNNE/LTGT.
+ 	(output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
+ 	* sparc.h (REVERSIBLE_CC_MODE): Always true.  Update docs.
+ 	* sparc.md (bltgt): New.
+ 
+ 2000-01-25  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* emit-rtl.c (emit_insn): Only check machine class insns for
+ 	improper emission of a RETURN.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* Makefile.in (flow.o): Depend on $(EXPR_H).
+ 	* flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
+ 	duplicate the structure of diddle_return_value for keeping regs live.
+ 
+ 2000-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (current_loop_info): Delete.
+ 	(consec_sets_invariant_p): Add loop argument, update callers.
+ 	(get_condition_for_loop): Likewise.
+ 	(count_nonfixed_reads, update_giv_derive): Likewise.
+ 	(simplify_giv_expr, general_induction_var): Likewise.
+ 	(consec_sets_giv, recombine_givs): Likewise.
+ 	(move_movables): Delete loop_start and loop_end arguments,
+ 	add loop argument, and update callers.
+ 	(find_mem_givs, check_final_value): Likewise.
+ 	(record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
+ 	(loop_invariant_p): Rename from invariant_p, add loop argument, and
+ 	update callers.
+ 	(basic_induction_var): Add loop argument, delete loop_level argument,
+ 	and update callers.
+ 	* unroll.c (iteration_info): Delete loop_start and loop_end arguments,
+ 	add loop argument, and update callers.
+ 	(find_splittable_regs, find_splittable_givs): Likewise.
+ 	(reg_dead_after_loop, loop_find_equiv_value): Likewise.
+ 	(final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
+ 	(biv_total_increment): Delete loop_start and loop_end arguments;
+ 	update callers.
+ 	(precondition_loop_p): Delete loop_start and loop_info arguments;
+ 	update callers.
+ 	* loop.h (get_condition_for_loop): Add loop argument.
+ 	(biv_total_increment): Delete loop_start and loop_end arguments.
+ 	(precondition_loop_p): Delete loop_start and loop_info arguments;
+ 	add loop argument.
+ 	(final_biv_value): Delete loop_start and loop_end arguments;
+ 	add loop argument.
+ 	(final_giv_value, back_branch_in_range_p): Likewise.
+ 
+ 2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
+ 
+ 2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* Makefile.in (c-gperf.h) : Change the "See" pointer to
+ 	point to the new "generated_files" doc.
+ 
+ 2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/fp-bit.c (_unord_f2): Fix typo.
+ 
+ 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
+ 	c-typeck.c, objc/objc-act.c: Remove all references to obstack
+ 	functions obsoleted by GC, such as push_obstacks_nochange,
+ 	end_temporary_allocation, savealloc, saveable_tree_cons, etc.
+ 	and code which existed only to decide whether or not to call
+ 	them.  Remove now-unused NESTED argument from start_function;
+ 	all callers changed.  Do not change behavior based on ggc_p.
+ 	The use of the ixp_obstack in c-iterate.c and the util_obstack
+ 	in objc/objc-act.c remain; these are not obsoleted by garbage
+ 	collection.
+ 	* c-tree.h: Update prototype for start_function.
+ 
+ 	* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
+ 
+ 2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.md (zero_extendsidi2_internal): Disable for
+ 	mips16.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* sparc-protos.h (select_cc_mode): Declare.
+ 	* sparc.c (select_cc_mode): New.  Handle unordered compares.
+ 	(output_cbranch): Always reverse via code change.  Handle
+ 	unordered compares.  Factor tests and string updates.
+ 	* sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
+ 	(REVERSIBLE_CC_MODE): Also exclude CCFPmode.
+ 	* sparc.md (bunordered, bordered): New.
+ 	(bungt, bunlt, buneq, bunge, bunle): New.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
+ 	* ggc-common.c (ggc_add_rtx_varray_root): New.
+ 	(ggc_mark_rtx_varray): New.
+ 	(ggc_mark_rtx_varray_ptr): New.  Shift all ggc_mark_foo_ptr
+ 	functions down below ggc_mark_foo.
+ 	* ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
+ 
+ 2000-01-25  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (secondary_reload_class): Don't allocate a secondary
+ 	for integral mode memories into FLOAT_REGS.  Rearrange the more
+ 	complicated memory expression inward.
+ 
+ 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* inclhack.def: Fixes to play nicer with FreeBSD, and
+ 	corrections to comments.
+ 	(cxx_unready): Add select expression.
+ 	(irix_sockaddr): Add bypass expression.
+ 	(machine_ansi_h_va_list): New fix.
+ 	(stdio_va_list): No need to edit _BSD_VA_LIST_.
+ 	Split out addition of "#include <stdarg.h>" to...
+ 	(stdio_stdarg_h): ... here.
+ 	(systypes_for_aix): Rename to systypes_stdlib_size_t.  Apply
+ 	to stdlib.h also.  Do not munge _BSD_SIZE_T_.
+ 	(sysz_stdlib_for_sun): Delete duplicate fix for unprotected
+ 	size_t.
+ 	(ultrix_ifdef): Tighten up select expression.
+ 
+ 	* fixincl.tpl: Exorcise 'exesel'.  Rewrite calculations of
+ 	re_ct and max_mach to avoid use of shell.  Make printed names
+ 	match names in inclhack.def.  Use static copyright date.
+ 	Don't count c_test and test expressions as requiring regex_t
+ 	slots.  Add some commentary.
+ 	* inclhack.tpl: Do not include the 'This script contains N
+ 	fixup scripts' line if PROGRAM is defined.  Use static
+ 	copyright date.
+ 
+ 2000-01-24  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* dwarf2out.c: include "varray.h", not dyn-string.h.
+ 	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
+ 	(addr_const_to_string, addr_to_string): Lose.
+ 	(ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
+ 	(struct dw_val_struct): val_addr is now an rtx.
+ 	(add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
+ 	(used_rtx_varray): New varray.
+ 	(dwarf2out_init): Initialize it.
+ 	(save_rtx): New fn.
+ 	(mem_loc_descriptor, add_const_value_attribute): Call it instead of
+ 	addr_to_string.
+ 	* arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
+ 	sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
+ 	* Makefile.in (dwarf2out.o): Update dependencies.
+ 
+ 2000-01-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (i386_dwarf_output_addr_const): New.
+ 	* i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
+ 	if defined.
+ 	* dwarfout.c (output_mem_loc_descriptor): Likewise.
+ 	* i386.c (i386_simplify_dwarf_addr): New.
+ 	* i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
+ 
+ Mon Jan 24 16:56:10 2000  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* dwarf2out.c (gen_struct_or_union_type_die): Set complete if
+ 	TYPE_STUB_DECL is NULL.
+ 
+ 2000-01-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* builtins.c (expand_tree_builtin): Move ...
+ 	* c-common.c (expand_tree_builtin): ... here.
+ 
+ 2000-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.h (LOOP_INFO): New accessor macro.
+ 	* basic-block.h (struct loop): Rename field `info' to `aux'.
+ 	* loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
+ 	(prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
+ 	* unroll.c (loop_iterations, unroll_loop): Likewise.
+ 
+ 2000-01-24  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/t-cygwin: Accommodate new winsup directory layout
+ 	when searching for include files.
+ 
+ 2000-01-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* rtl.def: Add unordered fp comparisons.
+ 	* tree.def: Likewise.
+ 	* tree.h: Add ISO C 9x unordered fp comparison builtins.
+ 
+ 	* builtins.c (expand_tree_builtin): New function.
+ 	* c-typeck.c (build_function_call): Use it.
+ 	(build_binary_op): Support unordered compares.
+ 	* c-common.c (c_common_nodes_and_builtins): Add unordered compares.
+ 
+ 	* combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
+ 	(reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
+ 	* cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
+ 	(record_jump_equiv): Handle reverse_condition returning UNKNOWN.
+ 	* jump.c (reverse_condition): Don't abort for UNLE etc, but
+ 	return UNKNOWN.
+ 	(swap_condition): Handle unordered compares.
+ 	(thread_jumps): Check can_reverse before reversing.
+ 	* loop.c (get_condition): Likewise.  Allow UNORERED/ORDERED to be
+ 	reversed for FP.
+ 
+ 	* optabs.c (can_compare_p): New argument CODE.  Verify branch or
+ 	setcc is present before acking for cmp_optab.  Update all callers.
+ 	(prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
+ 	* expmed.c (do_cmp_and_jump): Update for can_compare_p.
+ 	* expr.c (expand_expr): Likewise.  Support unordered compares.
+ 	(do_jump, do_store_flag): Likewise.
+ 	* expr.h (enum libfunc_index): Add unordered compares.
+ 
+ 	* Makefile.in (FPBIT_FUNCS): Add _unord_sf.
+ 	(DPBIT_FUNCS): Add _unord_df.
+ 	* config/fp-bit.c (_unord_f2): New.
+ 	* fp-test.c (main): Try unordered compare builtins.
+ 
+ 	* alpha-protos.h (alpha_fp_comparison_operator): Declare.
+ 	* alpha.c (alpha_comparison_operator): Check mode properly.
+ 	(alpha_swapped_comparison_operator): Likewise.
+ 	(signed_comparison_operator): Likewise.
+ 	(alpha_fp_comparison_operator): New.
+ 	(alpha_emit_conditional_branch): Handle unordered compares.
+ 	* alpha.h (PREDICATE_CODES): Update.
+ 	* alpha.md (fp compares): Use alpha_fp_comparison_operator.
+ 	(bunordered, bordered): New.
+ 
+ 2000-01-24  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
+ 	* alpha.md (movtf): New expander, insn, and splitter.
+ 
+ Mon Jan 24 19:49:47 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
+ 	dead registers.
+ 
+ Mon Jan 24 17:37:31 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS,
+ 	 REG_ALLOC_ORDER): Add frame pointer
+ 	(FRAME_POINTER_REGNUM): Set to 20
+ 	(HARD_FRAME_POINTER_REGNUM): New macro.
+ 	(ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
+ 	to HARD_FRAME_POINTER.
+ 	(REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
+ 	(REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
+ 	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
+ 	(HI_REGISTER_NAMES): Add "frame".
+ 	(CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
+ 	(debug_reg): Handle FRAME_POINTER_REGNUM.
+ 	(reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
+ 	GENERAL_REGS and INDEX_REGS.
+ 	* i386.c (SAVED_REGS_FIRST): new macro.
+ 	(AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
+ 	(ix86_decompose_address, memory_address_length): Likewise.
+ 	(regclass_map): Add frame pointer.
+ 	(call_insn_operand): Handle frame_pointer_rtx.
+ 	(reg_no_sp_operand): Likewise.
+ 	(ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
+ 	(print_operand, legitimize_pic_address): Fix formating.
+ 	(ix86_compute_frame_size): Make static, update prototype, new
+ 	parameters padding1, padding2, use ix86_nsaved_regs, use
+ 	stack_alignment_needed.
+ 	(ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
+ 	to HARD_FRAME_POINTER_REGNUM conversions.
+ 	(ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
+ 	(ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
+ 	(print_reg): Abort on FRAME_POINTER_REGNUM
+ 
+ Mon Jan 24 16:50:08 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (PREDICATE_CODES): Add aligned_operand.
+ 	* i386.c (aligned_operand): New function.
+ 	(ix86_aligned_p): Kill.
+ 	* i386.md (movhi_1): Emit mov for aligned operands.
+ 	(promoting peep2s): Use aligned_operand.
+ 
+ 2000-01-23  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
+ 	expression to allow underscores in macro names.
+ 	(fix_char_macro_defines): Increment scanning pointer.
+ 
+ 2000-01-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
+ 	* alpha/osf5.h: New file.
+ 	* configure.in (alpha-*-osf5): Add it to tm_file.
+ 
+ 	* emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
+ 
+ 	* alpha-protos.h (alpha_emit_xfloating_arith): Declare.
+ 	(alpha_emit_xfloating_cvt, function_arg): Declare.
+ 	* alpha.c (alpha_emit_conditional_branch): Call
+ 	alpha_emit_xfloating_compare for TFmode compares.
+ 	(alpha_lookup_xfloating_lib_func): New.
+ 	(alpha_compute_xfloating_mode_arg): New.
+ 	(alpha_emit_xfloating_libcall): New.
+ 	(alpha_emit_xfloating_arith): New.
+ 	(alpha_emit_xfloating_compare): New.
+ 	(alpha_emit_xfloating_cvt): New.
+ 	(print_operand): Add default abort case.
+ 	(function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
+ 	* alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
+ 	(BIGGEST_ALIGNMENT): Increase to 128 bits.
+ 	(RETURN_IN_MEMORY): True for TF/TCmode.
+ 	(ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
+ 	(FUNCTION_ARG): Move to function_arg.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE): New.
+ 	(ASM_OUTPUT_LONG_DOUBLE): New.
+ 	(ASM_OUTPUT_DOUBLE): Always output bits.
+ 	* alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
+ 	(fix_trunctfdi2, floatditf2, floatunsditf2): New.
+ 	(extenddftf2, trunctfdf2): New.
+ 
+ 2000-01-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
+ 	* config/sparc/sol2.h: ... here.
+ 
+ 2000-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* basic-block.h (struct loops): New field `levels'.
+ 	* flow.c (flow_loops_level_compute): Traverse all outer loops.
+ 	(flow_loop_level_compute): Initialize level to 1.
+ 	(flow_loops_find): Set loops->levels.
+ 	(flow_loops_dump): Print loops->levels.
+ 
+ 2000-01-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
+ 	(throw_helper): Iterate over DWARF_FRAME_REGISTERS.
+ 
+ 2000-01-23  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* i386.c (dbx_register_map, svr4_dbx_register_map): New.
+ 	* i386.h (DBX_REGISTER_NUMBER): Use them.
+ 	* i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
+ 	* i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
+ 	* i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
+ 	* i386/sequent.h: Kill incorrect comment.
+ 
+ 2000-01-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-page.c (struct page_entry): Make `context_depth' an
+ 	`unsigned short'.
+ 	(struct globals): Likewise.
+ 
+ 2000-01-23  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* loop.c (check_dbra_loop): When checking a loop for
+ 	reversability, check the source of any stores to ensure
+ 	they don't depend on an initial value.
+ 
+ 2000-01-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
+ 
+ 2000-01-22  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixincl.c: Move declarations of 'pz_fname' and
+ 	'pz_scan' into scope of entire function.  Only affects
+ 	compiles with -DDEBUG.
+ 
+ 2000-01-22  Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
+ 
+ 	* config/elfos.h (UNIQUE_SECTION): Restore uninitialized data
+ 	section naming to that prior to 2000-01-07 patch.
+ 	* config/mips/elf.h (UNIQUE_SECTION): Ditto.
+ 	* config/mips/elf64.h (UNIQUE_SECTION): Ditto.
+ 	* config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
+ 	* config/i386/interix.c (UNIQUE_SECTION): Ditto.
+ 	* config/i386/winnt.c (UNIQUE_SECTION): Ditto.
+ 
+ 2000-01-22  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
+ 	constant.
+ 
+ 2000-01-21  Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* fixinc/inclhack.tpl: Test for directory before trying to cd into it.
+ 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
+ 
+ 2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpphash.c (change_newlines): Delete function.
+ 	(struct argdata): Delete 'newlines' and 'use_count' fields.
+ 	(macroexpand): Remove code referencing those fields.
+ 
+ 2000-01-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (loops_info): New variable.
+ 	(loop_optimize): Allocate loops->array and free it on exit.
+ 	Allocate memory for loops_info and assign to each loop,
+ 	replacing alloca.
+ 	(find_and_verify_loops): Do not allocate loops->array.
+ 
+ 2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
+ 
+ 2000-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
+ 	pseudos if expanded after first flow.
+ 	(movdi_pic_label_ref): Likewise.
+ 
+ 2000-01-20  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
+ 
+ 2000-01-20  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* Makefile.in (fixinc.sh): Depend on specs.
+ 	* fixinc/Makefile.in: Add rule to create machname.h.
+ 	(fixlib.o): Depend on machname.h.
+ 	* fixinc/fixtests.c (machine_name): New test.
+ 	* fixinc/fixfixes.c (machine_name): New fix.
+ 	* fixinc/fixlib.c (mn_get_regexps): New helper function for
+ 	the machine_name test and fix.
+ 	* fixinc/fixlib.h: Prototype it.
+ 	* fixinc/inclhack.def (machine_name): Use the C test and fix.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
+ 
+ 	* gcc.c (do_spec_1) [case P]: Take care not to create
+ 	identifiers with three leading or trailing underscores.
+ 
+ 	* fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
+ 	(fixincl): Don't specify libraries twice on link line.
+ 	(gnu-regex.o): Remove special rule.
+ 	* fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
+ 	defined by config.h.  Do not define _REGEX_RE_COMP.
+ 	(regcomp): Allocate and initialize a fastmap.
+ 	* fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
+ 
+ 2000-01-20  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
+ 
+ 2000-01-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (propagate_block): Replace FIRST, LAST and BNUM
+ 	arguments with BB.  Update all callers.  Tidy line wrapping.
+ 
+ 2000-01-19  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* emit-rtl.c (try_split): Return last_insn if we split the
+ 	last_insn.
+ 
+ Thu Jan 20 01:01:23 MET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (ix86_compute_frame_size): Remove prototype.
+ 	(ix86_initial_elimination_offset): Declare.
+ 	* i386.c (ix86_nsaved_regs): Break out from ...
+ 	(ix86_can_use_return_insn_p): ... here.
+ 	(ix86_emit_save_regs): Break out from ...
+ 	(ix86_expand_prologue): ... here.
+ 	(ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
+ 	out from ...
+ 	(ix86_expand_epilogue): ... here.
+ 	(ix86_compute_frame_size): Make static, add prototype.
+ 	(ix86_initial_elimination_offset): Break out from ...
+ 	* i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
+ 
+ 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* recog.h (OUT_FCN): Delete.
+ 
+ 	* vax.md: Call `get_insn_template' instead of OUT_FCN.
+ 
+ 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppalloc.c: PROTO -> PARAMS.
+ 	* cpperror.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 
+ 	* config/arm/arm-protos.h: PROTO -> PARAMS.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/fr30/fr30-protos.h: Likewise.
+ 	* config/nextstep.c: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pj/pj.c: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/v850/v850-protos.h: Likewise.
+ 	* config/v850/v850.c: Likewise.
+ 
+ 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i370-protos.h: New file.
+ 
+ 	* i370.c: Include tm_p.h.  Fix compile time warnings.
+ 
+ 	* i370.h: Move prototypes to i370-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* i370.md: Likewise.
+ 
+ 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
+ 	(target_isinf, target_isnan, eisnan): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	(eiisinf): Wrap in INFINITY.
+ 	(etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
+ 	(ibmtoe): Remove unused variable `rndsav'.
+ 
+ Wed Jan 19 20:23:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
+ 
+ 2000-01-19  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
+ 	* fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
+ 	(fix_char_macro_defines, fix_char_macro_uses): New functions.
+ 
+ 	* fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
+ 	Recognize Emacs mode markers also.
+ 	* fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
+ 	C++ comments in C++ headers.  Call is_cxx_header only if
+ 	necessary.
+ 
+ 	* fixinc/inclhack.def (avoid_bool): Add select for the problem and
+ 	bypass for ncurses.
+ 	(bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
+ 	(io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
+ 	... these, which use the new C fixes.
+ 	(math_exception): Escape literal '+' in bypass expression.
+ 
+ 	* fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
+ 	Regenerate.
+ 
+ 2000-01-19  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
+ 	inside the MEM.
+ 
+ 2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (loop_optimize): Allocate loop_info structure for each loop
+ 	prior to calling scan_loop.
+ 
+ Wed Jan 19 19:54:38 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.c (find_barrier, gen_block_redirect): Fix indentation.
+ 	(split_branches, calc_live_regs): Likewise.
+ 
+ Wed Jan 19 19:12:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* sh.md (fpu_single, fp_mode): New attributes.
+ 
+ 2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (current_loop_info): Renamed from loop_info_data
+ 	and changed to a pointer.
+ 	(loop_optimize): Allocate loop_info structure for each loop
+ 	and initialize to zero.
+ 	(scan_loop): Set current_loop_info.
+ 
+ 	* unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
+ 	on iteration_var.
+ 
+ 2000-01-19  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* stupid.c: Die die die.
+ 	* Makefile.in (OBJS): Remove stupid.o.
+ 	(stupid.o): Likewise.
+ 
+ 	* except.c (emit_eh_context): Don't emit USEs for stupid.
+ 	* explow.c (probe_stack_range): Likewise.
+ 	* flags.h (obey_regdecls): Remove.
+ 	* flow.c (find_basic_blocks): Don't run try_merge_blocks
+ 	when not optimizing.
+ 	(life_analysis): Limit data collection when not optimizing.
+ 	(mark_regs_live_at_end): Always mark the return value registers.
+ 	(mark_used_regs): Remove dummy RETURN case.
+ 	(print_rtl_with_bb): Don't consult obey_regdecls.
+ 	* function.c (use_variable, use_variable_after): Remove.
+ 	(assign_parms): Consult optimize not obey_regdecls.
+ 	(expand_function_start): Don't emit USEs for stupid.
+ 	(expand_function_end): Likewise.
+ 	* global.c (build_insn_chain): Export.
+ 	* integrate.c (expand_inline_function): Kill return-value USE
+ 	handling code.
+ 	* jump.c (jump_optimize_1): Do simple jump optimizations and
+ 	dead code elimination.
+ 	(calculate_can_reach_end): Remove check_deleted argument.
+ 	(delete_insn): Patch out insns even when not optimizing.
+ 	* local-alloc.c (block_alloc): Don't do tying when not optimizing.
+ 	* rtl.h (use_variable, use_variable_after): Remove declarations.
+ 	(build_insn_chain): Declare.
+ 	* stmt.c (expand_value_return): Don't emit USEs for stupid.
+ 	(expand_end_bindings): Likewise.
+ 	(expand_decl): Likewise.  Consult optimize not obey_regdecls.
+ 	* toplev.c (obey_regdecls): Remove.
+ 	(rest_of_compilation): Don't set it.  Kill stupid in favor of
+ 	flow1, local-alloc, and reload.
+ 	(main): Don't set obey_regdecls.
+ 
+ 	* config/nextstep.c (handle_pragma): Likewise.
+ 
+ 	* alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
+ 
+ 	* arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha-protos.h: PROTO -> PARAMS.
+ 	* alpha.c: Likewise.
+ 	* elf.h: Likewise.
+ 	* h8300.c: Likewise.
+ 	* i386-protos.h: Likewise.
+ 	* i386.c: Likewise.
+ 	* m32r-protos.h: Likewise.
+ 	* m32r.c: Likewise.
+ 	* mips.c: Likewise.
+ 	* mips.md: Likewise.
+ 	* gmon-sol2.c: Likewise.
+ 	* sparc.c: Likewise.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ns32k-protos.h: New file.
+ 
+ 	* ns32k.c: Fix compile time warnings.
+ 
+ 	* ns32k.h: Move prototypes to ns32k-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* ns32k.md: Likewise.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* vax-protos.h: New file.
+ 
+ 	* vax.c: Fix compile time warnings.
+ 
+ 	* vax.h: Move prototypes to vax-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* vax.md: Likewise.
+ 
+ 	* vaxv.md: Likewise.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* romp-protos.h: New file.
+ 
+ 	* romp.c: Fix compile time warnings.
+ 
+ 	* romp.h: Move prototypes to romp-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* romp.md: Likewise.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* we32k-protos.h: New file.
+ 
+ 	* we32k.c: Fix compile time warnings.
+ 
+ 	* we32k.h: Move prototypes to we32k-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* except.c (eh_regs): Likewise.
+ 
+ 	* final.c (output_operand): Likewise.
+ 
+ 	* fold-const.c (target_isinf, target_isnan): Likewise.
+ 
+ Tue Jan 18 16:19:55 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.h (BIGGEST_ALIGNMENT): Set to 128.
+ 	(BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
+ 
+ 	* i386.md (memstr): Do not use rep stosb for counts divisible by 4
+ 	when optimize_size.
+ 	(clrstrsi): Rewrite.
+ 	(strsethi, strsetqi): New expanders.
+ 	(strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
+ 	(cmpstrsi): Emit compare insn before cmpstrsi_1
+ 	(cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
+ 	(strlensi_1): Likewise.
+ 	(cmpstrsi_1): Likewise; do not output compare.
+ 	(strlen expander): Do not unroll when optimizing for size.
+ 	(*subsi3_carry): Rename to subsi3_carry
+ 	(addqi3_cc): New pattern.
+ 	* i386.h (processor_costs): Add move_ratio field.
+ 	(MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
+ 	* i386.c (*_cost): Set move_ratio.
+ 	(x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
+ 	(x86_expand_strlensi_1): Rewrite the main loop.
+ 
+ 2000-01-17  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
+ 	* cse.c (find_comparison_args, fold_rtx): Likewise.
+ 	* integrate.c (subst_constants): Likewise.
+ 	* loop.c (get_condition): Likewise.
+ 
+ 	* tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
+ 
+ 	* alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
+ 
+ 2000-01-18  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
+ 	(RESTORE_WARN_FLAGS): Unpack it.
+ 	Change semantic type of extension to ttype.
+ 	* c-common.c (split_specs_attrs): Expect an INTEGER_CST.
+ 	* c-parse.y, c-parse.c, objc/objc-parse.y,
+ 	objc/objc-parse.c: Regenerate.
+ 
+ 2000-01-17  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* fixinc/fixlib.c: Add copyright notice.
+ 	(compile_re): New function.
+ 	* fixinc/fixlib.h: Prototype compile_re.
+ 
+ 	* fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c:
+ 	Use compile_re to compile regular expressions.
+ 
+ 	* fixinc/fixincl.c (egrep_test): Don't bother asking regexec
+ 	where the pattern matched.
+ 
+ 	* fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy,
+ 	use 'replace'.
+ 	(ultrix_ansi_compat): Likewise.
+ 	(interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test,
+ 	add egrep test.
+ 	(interactv_add2, interactv_add3): Delete.
+ 	(x11_sprintf): Don't use filename glob.
+ 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh:
+ 	Regenerate.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* print-rtl.c: PROTO -> PARAMS.
+ 	* real.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* sdbout.h: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* stupid.c: Likewise.
+ 	* xcoffout.c: Likewise.
+ 	* xcoffout.h: Likewise.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c: PROTO -> PARAMS.
+ 	* toplev.h: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* unroll.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* varray.c: Likewise.
+ 	* varray.h: Likewise.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* reload.c: PROTO -> PARAMS.
+ 	* reload.h: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.h: Likewise.
+ 	* rtl.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* sbitmap.h: Likewise.
+ 	* sdbout.c: Likewise.
+ 	* stack.h: Likewise.
+ 	* stmt.c: Likewise.
+ 	* system.h: Likewise.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* machmode.h: PROTO -> PARAMS.
+ 	* mbchar.h: Likewise.
+ 	* mips-tdump.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* output.h: Likewise.
+ 	* prefix.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* real.h: Likewise.
+ 	* recog.c: Likewise.
+ 	* recog.h: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* regs.h: Likewise.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ggc-common.c: PROTO -> PARAMS.
+ 	* ggc-page.c: Likewise.
+ 	* ggc-simple.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* global.c: Likewise.
+ 	* graph.c: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* halfpic.h: Likewise.
+ 	* integrate.c: Likewise.
+ 	* integrate.h: Likewise.
+ 	* jump.c: Likewise.
+ 	* lcm.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* loop.h: Likewise.
+ 
+ 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c: PROTO -> PARAMS.
+ 	* genattrtab.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 
+ 2000-01-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (BINFO_VPTR_FIELD): Augment documentation.
+ 
+ 2000-01-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro.
+ 	* configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP.
+ 	* ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2000-01-16  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* config/i386/i386.md: Add peephole to merge successive stack
+ 	adjusts.
+ 
+ Sat Jan 15 15:41:14 EST 2000  John Wehle  (john@feith.com)
+ 
+ 	* gcse.c (insert_insn_end_bb): Use emit_block_insn_before
+ 	instead of emit_insn_before.  Also handle NOTE_INSN_BASIC_BLOCK
+ 	when walking backwards to find all the parameter loads when
+ 	the basic block ends in a call.
+ 
+ 2000-01-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* loop.c (this_loop_info): Delete.
+ 	(uid_loop): Add in place of uid_loop_num.  All uses updated.
+ 	(loop_number_exit_count): Delete and replace with entry in loop
+ 	structure.  All uses updated.
+ 	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
+ 	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
+ 	(loop_outer_loop): Likewise.
+ 	(loop_invalid, loop_number_exit_labels): Likewise.
+ 	(loop_used_count_register): Delete and replace with entry in
+ 	loop_info structure.
+ 	(find_and_verify_loops): Add loops argument.
+ 	(verify_dominator, mark_loop_jump, prescan_loop): Replace loop_start,
+ 	loop_end, etc. arguments with loop structure pointer.  All callers
+ 	changed.
+ 	(loop_reg_used_before_p, scan_loop, strength_reduce): Likewise.
+ 	(check_dbra_loop, next_insn_in_loop, try_copy_prop): Likewise.
+ 	(load_mems_and_recount_loop_regs_set, load_mems): Likewise.
+ 	(insert_bct): Likewise.
+ 	(basic_induction_var): New argument level.
+ 	* loop.h (struct loop_info): Delete fields num, loops_enclosed,
+ 	vtop, and cont.  Add used_count_register.
+ 	(uid_loop): Delete declaration.
+ 	(loop_number_exit_count): Likewise.
+ 	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
+ 	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
+ 	(loop_outer_loop, loop_used_count_register): Likewise.
+ 	(loop_invalid, loop_number_exit_labels): Likewise.
+ 	(unroll_loop): Replace loop_start and loop_end arguments
+ 	with loop structure pointer.
+ 	(loop_precondition_p, loop_iterations): Likewise.
+ 	Include basic-block.h.
+ 	* unroll.c: (unroll_loop): Replace loop_start and loop_end arguments
+ 	with loop structure pointer.
+ 	(loop_precondition_p, loop_iterations): Likewise.
+ 	* basic-block.h (struct loop): New entries vtop, cont,
+ 	cont_dominator, start, end, top, scan_start, exit_labels,
+ 	exit_count.
+ 	* Makefile.in (LOOP_H): Add basic-block.h to dependencies.
+ 
+ 2000-01-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT.
+ 
+ 2000-01-14  Nathan Sidwell  <sidwell@codesourcery.com>
+ 
+ 	* config.in: Rebuilt for 2000-01-13 change to acconfig.h.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pdp11-protos.h: New file.
+ 
+ 	* pdp11.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* pdp11.h: Move prototypes to pdp11-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* pdp11.md: Likewise.
+ 
+ 	* 2bsd.h: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mn10300-protos.h: New file.
+ 
+ 	* mn10300.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* mn10300.h: Move prototypes to mn10300-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* mn10300.md: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mn10200-protos.h: New file.
+ 
+ 	* mn10200.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* mn10200.h: Move prototypes to mn10200-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* mn10200.md: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* h8300-protos.h: New file.
+ 
+ 	* h8300.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* h8300.h: Move prototypes to h8300-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* h8300.md: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* varasm.c (asm_output_bss): Mark parameters with ATTRIBUTE_UNUSED.
+ 	(asm_emit_uninitialised): Likewise.
+ 
+ 2000-01-13  Gavin Romig-Koch  <gavin@cygnus.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): New.
+ 	* config/mips/mips.md: Use ISA_HAS_INT_CONDMOVE.
+ 
+ 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.c (override_options): Don't turn on extra
+ 	alignment for mips16.
+ 
+ 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit
+ 	eabi, and make sure queued POSTINCREMENT rtl is emitted at
+ 	the right point.
+ 
+ 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* builtins.c (PAD_VARARGS_DOWN): Define.
+ 	(std_expand_builtin_va_arg): Use the above macro.
+ 	* config/mips/mips.h (PAD_VARARGS_DOWN): Define.
+ 	* tm.texi (Register Arguments): Document the above macro.
+ 
+ 2000-01-14  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* emit-rtl.c (emit_insn): If checking is enabled, make sure
+ 	that this function has not been used to emit a jump
+ 	instruction.
+ 
+ 	* jump.c (return_jump_1): Cope with being passed a null rtx.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* eh-common.h: PROTO -> PARAMS.
+ 	* emit-rtl.c: Likewise.
+ 	* errors.c: Likewise.
+ 	* errors.h: Likewise.
+ 	* except.c: Likewise.
+ 	* except.h: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* expr.h: Likewise.
+ 	* final.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* function.h: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sh-protos.h: New file.
+ 
+ 	* sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h.
+ 	Add static prototypes.  Fix compile time warnings.
+ 
+ 	* sh.h: Move prototypes to sh-protos.h.  Fix compile time warnings.
+ 	* sh.md: Likewise.
+ 	* elf.h: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arc-protos.h: New file.
+ 
+ 	* arc.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* arc.h: Move prototypes to arc-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* arc.md: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dsp16xx-protos.h: New file.
+ 
+ 	* dsp16xx.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* dsp16xx.h: Move prototypes to dsp16xx-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* dsp16xx.md: Likewise.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* convex-protos.h: New file.
+ 
+ 	* convex.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* convex.h: Move prototypes to convex-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* elxsi-protos.h: New file.
+ 
+ 	* elxsi.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* elxsi.h: Move prototypes to elxsi-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* elxsi.md: Likewise.
+ 
+ 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant
+ 	case for moving from HI/LO/HI_LO_REG.  This makes the behavior
+ 	match the comment for MIPS16.
+ 
+ Fri Jan 14 00:28:06 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (split_edge): Do not call set_block_for_insn if we
+ 	do not have a basic_block_for_insn structure.
+ 
+ 	* fr30.h (TRAMPOLINE_TEMPLATE): Use nops to ensure the static chain
+ 	and destination functions are 32bit aligned within the trampoline.
+ 	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
+ 	(TRAMPOLINE_ALIGNMENT): Define.
+ 
+ 	* cse.c (cse_insn): When changing (set (pc) (reg)) to
+ 	(set (pc) (label_ref)), verify the change creates a valid insn.
+ 
+ 	* fr30.c (call_operand): Tighten and rework to match rules for
+ 	call RTL expressions.
+ 	* fr30.h (PREDICATE_CODES, case call_operand): Only allow MEMs.
+ 	* fr30.md (call patterns): Improve constraints.
+ 
+ Thu Jan 13 23:44:03 2000  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* fr30.c (fr30_expand_epilogue): Revert last change.
+ 	Use emit_jump_insn for the return insn.
+ 
+ Thu Jan 13 14:46:03 2000  Jason Eckhardt  <jle@cygnus.com>
+ 			  Stan Cox  <scox@cygnus.com>
+ 
+ 	* predict.c: New file. Preliminary infrastructure work for static
+ 	branch prediction and basic block reordering.
+ 	* basic-block.h: Add prototype for estimate_probability.
+ 	* Makefile.in: Add rules for predict.o.
+ 
+ 2000-01-13  Jason Merrill  <jason@yorick.cygnus.com>
+ 
+ 	* fixincludes (va_list): Use __not_va_list__ for the dummy.
+ 	* fixinc/*: Likewise.
+ 
+ 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cccp.c: PROTO -> PARAMS.
+ 	* cexp.y: Likewise.
+ 	* collect2.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* convert.h: Likewise.
+ 	* cse.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* dbxout.h: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* doprint.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarf2out.h: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* dwarfout.h: Likewise.
+ 	* dyn-string.h: Likewise.
+ 
+ 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in
+ 	macro conditionals guarding use.
+ 
+ 	* dwarf2out.c: Include "tm_p.h".
+ 
+ 	* function.c (locate_and_pad_parm): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	(expand_function_end): Likewise for variable `context'.
+ 
+ 	* reorg.c (make_return_insns): Wrap prototype in macro HAVE_return.
+ 
+ 2000-01-13  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fr30/fr30.c (fr30_expand_epilogue): Emit USEs of pop'ed
+ 	register to prevent compile time warnings.
+ 
+ 2000-01-13  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* longlong.h [i386] (udiv_qrnnd): Rename 'd' argument to 'dv'
+ 	to avoid -Wtraditional warning.
+ 
+ 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a-protos.h: New file.
+ 
+ 	* 1750a.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* 1750a.h: Move prototypes to 1750a-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 	* 1750a.md: Likewise.
+ 
+ 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* a29k-protos.h: New file.
+ 
+ 	* a29k.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* a29k.h: Move prototypes to a29k-protos.h.  Fix compile time
+ 	warnings.
+ 
+ 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* clipper-protos.h: New file.
+ 
+ 	* clipper.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* clipper.h: Move prototypes to clipper-protos.h.  Fix compile time
+ 	warnings.
+ 
+ Thu Jan 13 16:03:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_combine_note_store): Use HARD_REGNO_NREGS.
+ 
+ 2000-01-13  Nathan Sidwell  <sidwell@codesourcery.com>
+ 
+ 	* configure.in (--enable-new-gxx-abi): New option.
+ 	* acconfig.h (ENABLE_NEW_GXX_ABI): New define.
+ 	* Makefile.in (GXX_ABI_FLAG): New variable.
+ 	* configure: Regenerate.
+ 
+ 2000-01-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* stor-layout.c (layout_type): Use FORCE_STRUCT_BLK.
+ 	* tm.texi (FORCE_STRUCT_BLK): Document.
+ 	* config/c4x/c4x.h (FORCE_STRUCT_BLK): New macro.
+ 
+ Wed Jan 12 23:12:47 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/ns32k/ns32k.md: Revert Jan 9 change.
+ 
+ 	* genrecog.c (maybe_both_true_2): Do not compare a predicate-test
+ 	to a mode-test, if the predicate is address_operand.
+ 
+ Wed Jan 12 22:34:00 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (if_then_else_cond): Be careful about what kinds
+ 	of RTL expressions are passed to operand_subword.
+ 
+ 	* flow.c (split_edge): If we have to insert a new jump, make
+ 	sure to associate it with a basic block.
+ 
+ 	* flow.c (commit_one_edge_insertion): A block with one successor
+ 	can end in a JUMP_INSN that is not a simplejump.
+ 
+ 2000-01-12  Robert Lipe  <robertl@sco.com>
+ 
+ 	* i386/sco5.h (INIT_SECTION_ASM_OP_COFF): Rename section to "ctor".
+ 	(BUILD_VA_LIST_TYPE): Define.
+ 	(EH_FRAME_SECTION_ASM_OP): Explictly define to better interact
+ 	with crtstuff.c.
+ 
+ 2000-01-12  Jason Merrill  <jason@casey.cygnus.com>
+ 
+ 	* cccp.c (do_pragma): Add cast to (char *).
+ 
+ 2000-01-12  Richard Henderson  <rth@cygnus.com>
+ 	    Fred Fish  <fnf@be.com>
+ 	    Jason Merrill  <jason@cygnus.com>
+ 
+ 	* configure.in (i?86-*-beos{pe,elf,}*): Recognize.
+ 	* i386/t-beos, i386/x-beos, i386/xm-beos.h: New files.
+ 	* i386/beos-elf.h, i386/beos-pe.h: New files.
+ 
+ 	* Makefile.in (CROSS_SYSTEM_HEADER_DIR): New.
+ 	* cross-make (SYSTEM_HEADER_DIR): Define using
+ 	CROSS_SYSTEM_HEADER_DIR.
+ 
+ 	* gcc.c (LIBRARY_PATH_ENV): Provide default.
+ 	(process_command): Use it.
+ 	(main): Likewise.  Kill trailing = from env vars.
+ 	(build_search_list): Put it back.
+ 	* collect2.c (main): Use LIBRARY_PATH_ENV.
+ 
+ 	* configure.in (GCC_NEED_DECLARATIONS): Add environ.
+ 	* toplev.c: Use NEED_DECLARATION_ENVIRON.
+ 
+ 	* tm.texi (Frame Layout): Document SMALL_STACK.
+ 	* c-common.c (c_common_nodes_and_builtins): Check it.
+ 
+ 	* system.h: Undef alloca after including glibc's <stdlib.h>,
+ 	if USE_C_ALLOCA is defined.
+ 
+ 	* gcc.c (set_input): New fn.
+ 	(main): After all input files are compiled, reset the input file
+ 	info to the first.
+ 
+ 	* aclocal.m4 (rindex, index): If already defined, don't attempt
+ 	to redefine.
+ 
+ 	* ginclude/varargs.h: (__va_list__): Define ifndef.
+ 	* ginclude/stdarg.h: Likewise.
+ 
+ 	* ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int
+ 	instead of unsigned char.
+ 
+ 	* hash.h (true, false, boolean): Undef before enum.
+ 
+ 	* expmed.c (choose_multiplier): Cast &mhigh_lo and &mhigh_hi to be
+ 	proper type of "HOST_WIDE_INT *", rather than their natural type of
+ 	"unsigned HOST_WIDE_INT *".
+ 
+ 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* svr3.h (ASM_FILE_START): Wrap if-clause in squigly brackets.
+ 
+ 	* recog.c (memory_address_p): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* regclass.c (choose_hard_reg_mode): Likewise.
+ 
+ 	* reload.c (find_valid_class, strict_memory_address_p): Likewise.
+ 
+ 	* reorg.c (optimize_skip): Wrap prototype in macro conditionals.
+ 
+ 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c: PROTO -> PARAMS.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-iterate.c: Likewise.
+ 	* c-lang.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-lex.h: Likewise.
+ 	* c-parse.in: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* c-pragma.h: Likewise.
+ 	* c-tree.h: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* objc/objc-act.c: Likewise.
+ 	* objc/objc-act.h: Likewise.
+ 
+ 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m88k-protos.h: New file.
+ 
+ 	* m88k.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* m88k.h: Move prototypes to m88k-protos.h.  Fix compile time warnings.
+ 
+ 	* m88k.md: Likewise.
+ 
+ 	* tekXD88.h: Likewise.
+ 
+ 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k-protos.h: New file.
+ 
+ 	* m68k.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* m68k.h: Move prototypes to m68k-protos.h.  Fix compile time warnings.
+ 
+ 	* mot3300.h: Likewise.
+ 
+ 2000-01-12  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* haifa-sched.c (split_edges): Pass edgeset_size as second arg to
+ 	extract_bitlst.
+ 	(extract_bitlist): Declare bitlen.
+ 
+ 2000-01-12  Zack Weinberg  <zack@wolery.cumb.org
+ 
+ 	* cccp.c: Accept and ignore -lang-fortran.
+ 
+ 	* c-typeck.c (build_c_cast): Issue -Wcast-qual warnings if the
+ 	qualifiers don't match at any level of pointerness.
+ 
+ 2000-01-12  Robert Lipe  <robertl@sco.com>
+ 
+ 	* i386/sysv5.h (CPP_SPEC, LIBSPEC): Add -pthreadT.
+ 
+ 2000-01-12  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (reload_reg_unavailable): New static variable.
+ 	(reload_reg_free_p): Test it.
+ 	(reload_reg_free_for_value_p): Test it instead of
+ 	reload_reg_used.
+ 	(choose_reload_regs_init): Compute it.
+ 
+ Wed Jan 12 03:24:41 2000  Toshiyasu Morita (toshi.morita@sega.com)
+ 
+ 	* reorg.c (fill_slots_from_thread): Check modified_in_p
+ 	before replacing.
+ 
+ Wed Jan 12 03:20:31 2000  John Marshall <john_w_marshall@palm.com>
+ 
+ 	* gcc.texi (Funding, GNU/Linux, Copying, Contributors): Format
+ 	these nodes even if INTERNALS is not set.
+ 
+ Wed Jan 12 09:39:22 2000  Nick Burrett  <nick.burrett@btinternet.com>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Cope when
+ 	get_condition cannot determine the condition.
+ 
+ 2000-01-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.h (set_message_length): Declare.
+ 
+ 	* diagnostic.c (obstack_chunk_alloc): Define macro.
+ 	(obstack_chunk_free): Likewise.
+ 	(struct output_buffer): New data structure.
+ 	(vmessage): Remove.
+ 	(output_maximum_width): New variable.
+ 	(doing_line_wrapping, set_message_length, init_output_buffer,
+ 	get_output_prefix, output_space_left, emit_output_prefix,
+ 	output_newline, output_append, output_puts, dump_output,
+ 	vbuild_message_string, build_message_string, build_location_prefix,
+ 	voutput_notice, output_printf, line_wrapper_printf,
+ 	vline_wrapper_message_with_location):  New functions. Implement
+ 	automatic line wrapping.
+ 	(v_message_with_decl): Make it handle automatic line wrapping.
+ 	(v_error_with_file_and_line): Likewise.
+ 	(v_warning_with_file_and_line): Likewise.
+ 	(announce_function): Likewise.
+ 	(default_print_error_function): Likewise.
+ 
+ 2000-01-11 16:24 -0800  Zack Weinberg  <zack@wolery.cumb.org>
+ 
+ 	* cpplib.h (struct cpp_options): Change lang_asm to char.
+ 	Add lang_fortran.
+ 	* cppinit.c (builtin_array): Take out __STDC_VERSION__, it's
+ 	done in cpp_handle_option now.
+ 	(initialize_builtins): Take out special case code used only by
+ 	__STDC_VERSION__.
+ 	(cpp_handle_option): Turn off trigraphs and trigraph warnings
+ 	if -traditional.  Recognize -lang-fortran and set
+ 	lang_fortran, also turn off cplusplus_comments.
+ 	(print_help): Document -lang-fortran.
+ 	* cpplib.c (handle_directive): Ignore `# 123 "file"' if
+ 	lang_asm. Ignore all directives other than `# 123 "file"' if
+ 	CPP_PREPROCESSED.
+ 	(cpp_get_token): If -traditional, don't recognize directives
+ 	unless the # is in column 1.
+ 	(parse_string): If lang_fortran or lang_asm, silently
+ 	terminate strings ('' or "") at end of line.
+ 	Remove unnecessary braces.
+ 
+ 2000-01-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 	    Richard Henderson  <rth@cygnus.com>
+ 
+ 	* resource.c (mark_referenced_resources): Mark a set strict_low_part
+ 	as used.
+ 	* config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set
+ 	strict_low_part when possible.
+ 
+ 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alias.c: PROTO -> PARAMS.
+ 	* basic-block.h: Likewise.
+ 	* bitmap.c: Likewise.
+ 	* bitmap.h: Likewise.
+ 	* builtins.c: Likewise.
+ 	* c-aux-info.c: Likewise.
+ 	* caller-save.c: Likewise.
+ 	* calls.c: Likewise.
+ 
+ 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o): Depend on regs.h.
+ 
+ 	* output.h (tdesc_section): Prototype.
+ 
+ 	* regclass.c (copy_cost): Mark parameters with ATTRIBUTE_UNUSED.
+ 
+ 	* sdbout.c: Include "tm_p.h".
+ 
+ 	* toplev.c: Include "regs.h".
+ 
+ Tue Jan 11 11:37:58 2000  Mike Stump  <mrs@wrs.com>
+ 
+ 	* unroll.c (unroll_loop): Add EH support.
+ 
+ 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pa-protos.h: New file.
+ 
+ 	* pa.c: Include recog.h and tm_p.h.
+ 	(compute_zdepwi_operands, compute_movstrsi_length,
+ 	remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d,
+ 	find_addr_reg, import_milli): Add static prototypes.
+ 	(pa_cpu_string, pa_arch_string): Constify a char*.
+ 	(legitimize_pic_address): Pass argument `mode' to pic_label_operand.
+ 	(read_only_operand): Add argument `mode'.
+ 	(singlemove_string, output_move_double, output_fp_move_double,
+ 	output_block_move, output_and, output_ior, output_ascii,
+ 	remove_useless_addtr_insns, milli_names, output_mul_insn,
+ 	output_div_insn, output_mod_insn, output_arg_descriptor,
+ 	output_cbranch, output_bb, output_bvb, output_dbra, ,
+ 	output_millicode_call, output_call, hppa_encode_label,
+ 	output_parallel_movb, output_parallel_addb): Constify a char*.
+ 	(hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED.
+ 	(output_parallel_addb): Remove extra arg to `constrain_operands'
+ 
+ 	* pa.h:  Move all prototypes to pa-protos.h.
+ 	(pa_cpu_string, pa_arch_string): Constify a char*.
+ 	(LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument.
+ 
+ 	* pa.md: Call `function_label_operand' with mode argument.
+ 	Likewise for `read_only_operand'.
+ 	Fix nesting of parens in call to `symbolic_operand'.
+ 
+ 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i860-protos.h: New file.
+ 
+ 	* i860.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* i860.h: Move prototypes to i860-protos.h.  Fix compile time warnings.
+ 
+ 	* i860.md: Likewise.
+ 
+ Tue Jan 11 18:59:35 MET 2000  Jan Hubicka <jh@suse.cz>
+ 
+ 	* i386.md (movstrsi expander): Rewrite.
+ 	(movstrsi_1 insn): Deleted.
+ 	(strmovhi, strmovqi expander): New expanders.
+ 	(movshi_1, movsqi_1, rep_movsi, rep_movqi): New patterns.
+ 	* i386.c (x86_single_stringop): New global variable.
+ 	* i386.h (x86_single_stringop): Declare.
+ 	(TARGET_SINGLE_STRINGOP): New macro.
+ 
+ 2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): For EABI, emit the queued
+ 	integer vararg POSTINCREMENT before the destination of the jump
+ 	for the hard fp case.
+ 	(function_arg_pass_by_reference): Pass a copy of CUM to
+ 	FUNCTION_ARG.
+ 
+ 	* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check
+ 	for CONSTANT_ADDRESS_P above while loop for subreg.
+ 
+ 2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
+ 
+ 	* flow.c (propagate_block): When a prologue/epilogue insn
+ 	is marked dead, unconditionally clear libcall_is_dead and
+ 	insn_is_dead, and only dump rtl if warnings aren't being
+ 	suppressed.
+ 
+ Tue Jan 11 16:26:47 MET 2000  Jan Hubicka <jh@suse.cz>
+ 
+ 	* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
+ 	* i386.md (FIRST_PSEUDO_REGISTER): Set to 20.
+ 	(FIXED_REGISTERS): Set dirflag as fixed.
+ 	(CALL_USED_REGISTERS): Set dirflag as used.
+ 	(REG_ALLOC_ORDER): Set dirflag as last one.
+ 	(DIRFLAG_REG): New macro.
+ 	(MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility.
+ 	(HI_REGISTER_NAMES): Add dirflag.
+ 	(DEBUF_PRINT_REG): Handle dirflag.
+ 	* i386.md (type attribute): New cld and str types.
+ 	(length_opcode attribute): Set cld and str to 1.
+ 	(memory attribute): Set str to unknown - it is not clear from the
+ 	patterns.
+ 	(pent_np function unit): Prefixed string operations takes 12 cycles
+ 	minimally; cld takes 2 cycles.
+ 	(ppro_uops attribute): Str is "many" and cld is "few".
+ 	(ppro_p0 unit): Handle cld here.
+ 	(k6_alux unit): Handle cld and str types.
+ 	(k6_load unit): It is ocupied by str opcodes.
+ 	(k6_store unit): It is ocupied by str opcodes.
+ 	(athlon_decode): Str is vector decoded.
+ 	(athlon_ieu): Handle str and cld.
+ 	(cld pattern): New.
+ 	(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
+ 	(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
+ 	cmpstrsi_nz_1 insn): Do not output cld instruction
+ 
+ Tue Jan 11 06:14:39 2000  David Starner <dstarner98@aasaa.ofe.org>
+ 
+ 	* gcc.texi (G++ and GCC): Add Java and Chill.
+ 	(Bug Critera): Don't list languages.
+ 
+ 	* gcc.texi (Incompatibilities): No longer claim most C compilers
+ 	are K&R.
+ 
+ 	* gcc.texi (G++ and GCC): Update other front-ends list.
+ 
+ Tue Jan 11 05:49:01 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* i386.c (ix86_expand_setcc): Fix typo.
+ 	(ix86_expand_movcc): Similarly.
+ 
+ 	* Band-aid until haifa's bitset implementation is nuked.
+ 	* haifa-sched.c (extract_bitlst): New parameter for size of the
+ 	bitset in bits.  All callers changed.  Avoid looking at undefined
+ 	bits in the bitset.
+ 	(edgeset_bitsize): New variable.
+ 	(schedule_region): Initialize edgeset_bitsize.
+ 
+ 2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (optabs.o): Depend on real.h
+ 	(resource.o): Depend on insn-attr.h
+ 
+ 	* builtins.c (result_vector): Wrap prototype in macro conditions
+ 	governing definition and use.
+ 
+ 	* c-common.c: Include tm_p.h.
+ 
+ 	* c-lex.c: Likewise.
+ 
+ 	* elfos.h: Constify a char*.
+ 
+ 	* final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length.
+ 	(get_attr_length, shorten_branches, profile_after_prologue): Mark
+ 	parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* fold-const.c (exact_real_inverse): Wrap variable `i' in
+ 	CHECK_FLOAT_VALUE.
+ 
+ 	* haifa-sched.c (schedule_insns): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* optabs.c: Include real.h.
+ 
+ 	* real.h (ereal_atof): Add prototype arguments.
+ 
+ 	* resource.c: Include insn-attr.h.
+ 
+ 	* sdbout.c (sdbout_queue_anonymous_type,
+ 	sdbout_dequeue_anonymous_types): Wrap in macro
+ 	SDB_ALLOW_FORWARD_REFERENCES.
+ 	(sdbout_init, sdbout_start_new_source_file): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return.
+ 
+ 	* stupid.c: Include tm_p.h.
+ 
+ 	* tree.c (real_value_from_int_cst): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i960-protos.h: New file.
+ 
+ 	* i960.c: Include tm_p.h.  Add static prototypes.  Fix compile
+ 	time warnings.
+ 
+ 	* i960.h: Move prototypes to i960-protos.h.  Fix compile time warnings.
+ 
+ 2000-01-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* combine.c (expand_field_assignment): Do not discard SUBREGs
+ 	while computing nonzero_bits.
+ 
+ 2000-01-09  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/arm/arm.c: Fix compile time warnings about signed vs
+ 	unsigned constants.
+ 	* config/arm/arm.h: Fix compile time warnings about signed vs
+ 	unsigned constants.
+ 
+ 2000-01-09  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (output_return_instruction): Use `ldr' rather
+ 	than `ldm' with only one register.
+ 	* config/arm/arm.md (push_multi): Use `str' rather than `stm' with
+ 	only one register.
+ 
+ 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Say that R0 is
+ 	clobbered.
+ 
+ Sun Jan  9 17:50:23 2000  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/ns32k/ns32k.md (load or push effective address): Operand 1
+ 	must have SImode.
+ 
+ 2000-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
+ 	assignment used as truth value.
+ 
+ 	* function.c (assign_temp): Mark parameter `dont_promote' with
+ 	ATTRIBUTE_UNUSED.  Wrap variable `unsignedp' with macro
+ 	PROMOTE_FOR_CALL_ONLY.
+ 
+ 	* genrecog.c (write_subroutine): Mark variable `operands' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* optabs.c (prepare_cmp_insn): Mark parameter `align' with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* sdbout.c (sdbout_init): Likewise for parameter `asm_file'.
+ 	(sdbout_begin_block, sdbout_end_block): Likewise for `file'.
+ 
+ 	* toplev.c (note_deferral_of_defined_inline_function): Likewise
+ 	for `decl'.
+ 
+ 2000-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x.h: Tidy up comments.
+ 	* config/c4x.c: Likewise.
+ 
+ Sun Jan  9 01:02:55 EST 2000  John Wehle  (john@feith.com)
+ 
+ 	* fold-const.c (lshift_double, rshift_double): Handle
+ 	shifting by 2 * HOST_BITS_PER_WIDE_INT correctly.
+ 
+ 2000-01-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+ 
+ 	* toplev.c (rest_of_compilation): Initialize cse_not_expected as
+ 	in prepare_function_start().
+ 
+ Sat Jan  8 12:12:46 2000  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/v850/v850.c (expand_epilogue): Interrupt functions no
+ 	longer allocate extra stack for function calls.
+ 
+ 2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*subqf3_set): Fix typo.
+ 
+ 2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Define as 0.
+ 
+ 2000-01-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (processor_target_table): Add power3 as alias for 630.
+ 	* aix43.h: Revert Aug 2 change.
+ 	(HAS_INIT_SECTION): Define, not visible yet.
+ 	(LD_INIT_SWITCH): Define, not visible yet.
+ 	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
+ 
+ 	* glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
+ 
+ 	* collect2.c (main): Expand ld2 size further.
+ 	(export_object_lst): Cast assignment to avoid warning.
+ 	(main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support.
+ 	(scan_prog_file, COFF): Do not collect initialization or
+ 	finalization functions generated for entire shared object if
+ 	init/fini support present.
+ 
+ 2000-01-07  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/elfos.h: Tidy up formatting of marcos.  Make sure
+ 	that .section directives are always prefixed by a tab.
+ 
+ 	* config/svr4.h: Add #include "elfos.h" and remove duplicate
+ 	definitions.
+ 
+ 2000-01-07  Matt Austern  <austern@sgi.com>
+ 
+ 	* fold-const.c (real_hex_to_f): Remove duplicate declaration of
+ 	expon.
+ 
+ Fri Jan  7 01:55:34 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (crtend.o): Pass @inhibit_libc@ to compilation of
+ 	crtstuff.c.
+ 	(crtbegin.o, s-crtS): Likewise.
+ 
+ 2000-01-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* alpha.md (adddi_2+1): Limit offset such that it will be
+ 	loadable with a single ldah+lda pair.
+ 	(adddi_2+2): Explicitly fail split if we can't make it work.
+ 
+ 2000-01-06  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* protoize.c: Conditionally include unistd.h.
+ 	(IS_SAME_PATH_CHAR): New macro.
+ 	(IS_SAME_PATH): New macro.
+ 	(CPLUS_FILE_SUFFIX): New macro.
+ 	(cplus_suffix): New static variable.
+ 	(is_abspath): New static function.
+ 	(in_system_include_dir): Handle DOS style pathnames.
+ 	(file_could_be_converted): Likewise.
+ 	(file_normally_convertible): Likewise.
+ 	(directory_specified_p): Likewise.
+ 	(file_excluded_p): Likewise.
+ 	(abspath): Likewise.
+ 	(shortpath): Likewise.
+ 	(referenced_file_is_newer): Likewise.
+ 	(save_def_or_dec): Likewise.
+ 	(do_processing): Likewise.
+ 	(main): Likewise.
+ 	(edit_file): Likewise. Use rename instead of link.
+ 	(rename_c_file): Likewise. Don't rename syscalls file.
+ 	(munge_compile_params): Define null device for DOS based systems.
+ 	(process_aux_info_file): Use binary mode if appliable.
+ 	(edit_file): Likewise.
+ 	* invoke.texi (Running Protoize): Document C++ suffixes used.
+ 
+ 	* cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and
+ 	IS_DIR_SEPARATOR macros.
+ 	* collect2.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* rtl.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* system.h: And move to here.
+ 
+ 	* prefix.c (update_path): Fix typo in variable name.
+ 
+ 2000-01-06  Richard Henderson  <rth@cygnus.com>
+ 
+ 	* flow.c (mark_set_1): Use loop_depth+1 as reference weight.
+ 	(find_auto_inc, mark_used_regs, try_pre_increment_1): Likewise.
+ 	(count_reg_sets_1, count_reg_references): Likewise.
+ 	(flow_loops_level_compute): Start counting actual loop depth at 1.
+ 	(flow_loops_find): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	* regclass.c (regclass): Re-instate Jan 4 0-based loop_depth change.
+ 
+ 2000-01-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
+ 
+ 	* defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to
+ 	FIRST_PSEUDO_REGISTER
+ 	* dwarf2out.c: Don't include frame.h
+ 	* dwarfout.c: Likewise
+ 	* Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on
+ 	frame.h
+ 
+ Thu Jan  6 13:44:59 CET 2000  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
+ 	dead registers.
+ 
+ 	* i386.c (movsf splitter): Fix typo in my last checkin.
+ 
+ 2000-01-05  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* varasm.c (IN_NAMED_SECTION): Allow targets to provide their
+ 	own definition of this macro.
+ 	(asm_emit_uninitialised): Invoke UNIQUE_SECTION if either
+ 	flag_data_sections or UNIQUE_SECTION_P are true.
+ 
+ 	* tm.texi (UNIQUE_SECTION): Document that it can be called for
+ 	uninitialized data decls.
+ 
+ 	* config/i386/winnt.c (i386_pe_unique_section): Cope with
+ 	being called for uninitialized data.
+ 
+ 	* config/i386/interix.c (i386_pe_unique_section): Cope with
+ 	being called for uninitialized data.
+ 
+ 	* config/mips/elf.h (UNIQUE_SECTION): Cope with being called
+ 	for uninitialized data.
+ 
+ 	* config/mips/elf64.h (UNIQUE_SECTION): Cope with being called
+ 	for uninitialized data.
+ 
+ 	* config/mips/iri6gld.h (UNIQUE_SECTION): Cope with being called
+ 	for uninitialized data.
+ 
+ 	* config/arm/unknown-elf.h (IN_NAMED_SECTION): Define.
+ 	(UNIQUE_SECTION_P): Always generate a unique section if
+ 	flag_data_sections is true.
+ 	(UNIQUE_SECTION): Also generate unique sections for
+ 	uninitialized data.
+ 	(ASM_OUTPUT_ALIGNED_BSS): Redefine to use named_section().
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Redefine to use
+ 	named_section().
+ 
+ 2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/t-c4x (TARGET_LIBGCC2_CFLAGS): Don't redefine SF, DF,
+ 	SI, or DI.
+ 
+ 2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (udivqi3, divqi3): Delete.
+ 	(umodqi3, modqi3, udivhi3, divhi3, umodhi3, modhi3, ffsqi2): Likewise.
+ 	(*smulqi3_highpart_noclobber, *umulqi3_highpart_noclobber): New.
+ 	(*lshrqi3_const_noclobber, *lshrqi3_nonconst_noclobber): Likewise.
+ 	(*ashrqi3_const_noclobber, *ashrqi3_nonconst_noclobber): Likewise.
+ 
+ 	* c4x.h (INIT_TARGET_OPTABS): Define to init libcalls.
+ 
+ 2000-01-05 11:25 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
+ 
+ 	* c-decl.c (finish_enum): Simplify code to determine minimum and
+ 	maximum values of the enum, and calculate the type.  Remove check
+ 	for FUNCTION_DECLs in the values list, which cannot happen.  Replace
+ 	the DECL_INITIAL of each enumeration constant with a copy converted
+ 	to the enumeration type.  When updating variant types, don't bother
+ 	updating the type itself.
+ 
+ 	* c-typeck.c (build_binary_op): Simplify conditional expressions
+ 	when weeding out spurious signed-unsigned warnings.  Add new
+ 	spurious warning category: if the unsigned quantity is an enum
+ 	and its maximum value fits in signed_type(result_type).  Update
+ 	commentary.
+ 	(build_conditional_expr): Warn here if one alternative is signed
+ 	and the other is unsigned.
+ 
+ 2000-01-05  Nick Clifton  <nickc@cygnus.com>
+ 
+ 	* config/fr30/fr30.h: Remove extraneous comments.
+ 
+ 2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* reload1.c (choose_reload_regs): When disabling a reload, also
+ 	set reload_spill_index to -1.
+ 
+ 2000-01-04  Joel Sherrill (joel@OARcorp.com>
+ 
+ 	* configure.in (m68*-*-rtemscoff*): New target, formal name for
+ 	old m68*-*-rtems*.
+ 	(m68*-*-rtemself*): New target.
+ 	(mips64orion-*-rtems*): Remove duplicate definition of tm_file.
+ 	(sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*.
+ 	(sparc*-*-rtemself*): New target.
+ 	(sparc*-*-rtems*): Now elf not a.out.
+ 	* config/i386/rtems.h: Include config/rtems.h.
+ 	* config/i386/rtemself.h: Include config/rtems.h.
+ 	* config/i960/rtems.h: Include config/rtems.h.
+ 	* config/m68k/rtems.h: Include config/rtems.h.
+ 	* config/m68k/rtemself.h: Include config/rtems.h.
+ 	* config/mips/rtems64.h: Include config/rtems.h.
+ 	* config/pa/rtems.h: Include config/rtems.h.
+ 	* config/rs6000/rtems.h: Include config/rtems.h.
+ 	* config/sh/rtems.h: Include config/rtems.h.
+ 	* config/sh/rtemself.h: Include config/rtems.h.
+ 	* config/sparc/rtems.h: Include config/rtems.h.
+ 	* config/sparc/rtemself.h: Include config/rtems.h
+ 
+ Tue Jan  4 23:59:26 2000  Denis Chertykov <denisc@overta.ru>
+ 
+ 	* final.c (shorten_branches): Correctly compute length of
+ 	asms without operands.
+ 
+ Tue Jan  4 22:55:41 2000  Steve Chamberlain <sac@pobox.com>
+ 
+ 	* configure.in: Add pj target.
+ 	* configure: Regenerate.
+ 	* config/pj: New directory.
+ 	* config/pj/lib1funcs.S: New file.
+ 	* config/pj/linux.h: New file.
+ 	* config/pj/pj.c: New file.
+ 	* config/pj/pj.md: New file.
+ 	* config/pj/pjl.h: New file.
+ 	* config/pj/t-pj: New file.
+ 	* config/pj/xm-pj.h: New file
+ 
+ Tue Jan  4 22:30:16 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (rest_of_compilation): Run shorten-branches before
+ 	reg-stack for now.
+ 
+ 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behavior of
+ 	macros so that they're consistent with their names.
+ 	* config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise.
+ 	* config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise.
+ 
+ 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never
+ 	modified inadvertently.
+ 
+ 2000-01-04  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* configure.in (v850*-*-rtems*): New target.
+ 	* configure: Regenerate.
+ 	* config/v850/rtems.h: New file.
+ 
+ 2000-01-04  Mumit Khan  <khan@xraylith.wisc.edu>
+ 
+ 	* gthr-win32.h (__gthread_active_p): Support Mingw MT runtime.
+ 	(__gthread_key_create): Likewise.
+ 	(__gthread_key_dtor):  Likewise.
+ 	(__gthread_once): Fix logic.
+ 	(__gthread_key_delete): Cast away constness.
+ 
+ 	* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option.
+ 	* invoke.texi: Document.
+ 	* i386/mingw32.h (CPP_SPEC): Use.
+ 	(LIBGCC_SPEC): Likewise.
+ 	* i386/crtdll.h (LIBGCC_SPEC): Likewise.
+ 
+ 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine.
+ 	(HANDLE_PRAGMA_PACK): Undefine.
+ 	(SLOW_UNALIGNED_ACCESS): Define.
+ 
+ 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
+ 	to default definition.
+ 	(store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment.
+ 	(store_fixed_bit_field): Call macro with word_mode and alignment.
+ 	(extract_bit_field): Call macro with relevant mode and alignment.
+ 	* expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
+ 	to default definition.
+ 	(move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode
+ 	and alignment.
+ 	(move_by_pieces_ninsns): Likewise.
+ 	(clear_by_pieces): Likewise.
+ 	(emit_push_insn): Likewise.
+ 	(store_field): Call macro with relevant mode and alignment.
+ 	(expand_expr): Likewise.
+ 	(expand_expr_unaligned): Likewise.
+ 
+ 	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
+ 	(SLOW_UNALIGNED_ACCESS): Define.
+ 	(CASE_VECTOR_MODE): Always use 32-bit offsets.
+ 	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
+ 	(EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op.
+ 	(toc_section): Likewise and .toc pseudo-op.
+ 	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
+ 	64-bit mode.
+ 	(TEXT_SECTION_ASM_OP): Likewise.
+ 	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
+ 	32-bit offsets.
+ 
+ 	* a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters.
+ 	* alpha.h (SLOW_UNALIGNED_ACCESS): Likewise.
+ 	* arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise.
+ 	* gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise.
+ 	* fr30.h (SLOW_UNALIGNED_ACCESS): Likewise.
+ 
+ Tue Jan  4 11:44:13 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c: Revert my Jan 4 change to loop cost computation.
+ 
+ Tue Jan  4 19:22:39 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing
+ 	compilation.
+ 
+ 2000-01-04  Stan Cox  <scox@cygnus.com>
+ 
+ 	* haifa-sched.c (build_control_flow): Change unreachable simple
+ 	loop test to check if current block has only one predecessor.
+ 	(find_rgns): Initialize degree.  Use dest as degree index, not src.
+ 
+ 2000-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strlen): Initialize variable `icode'.
+ 
+ 	* calls.c (expand_call): Likewise for
+ 	`old_stack_arg_under_construction'.
+ 
+ 	* cpphash.c (macroexpand): Likewise for `args' and `rest_zero'.
+ 
+ 	* function.c (pad_to_arg_alignment): Likewise for `save_var' and
+ 	`save_constant'.
+ 
+ 	* gcc.c (execute): Likewise for `ut' and `st'.
+ 
+ 	* genattrtab.c (attr_rtx): Likewise for `rt_val'.
+ 
+ 	* genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'.
+ 
+ 	* jump.c (jump_optimize_1): Likewise for `temp2'.
+ 
+ 	* local-alloc.c (block_alloc): Likewise for `r1'.
+ 
+ 	* loop.c (recombine_givs): Likewise for `life_start' and `life_end'.
+ 
+ 	* reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'.
+ 	(subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'.
+ 
+ 	* regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node'
+ 	and `set2'.
+ 
+ 	* reload.c (find_reloads): Likewise for `goal_alternative_number'
+ 	and `goal_earlyclobber'.
+ 
+ 	* scan-decls.c (scan_decls): Likewise for `prev_id_end'.
+ 
+ 	* sdbout.c (sdbout_one_type): Likewise for `member_scl'.
+ 
+ 	* stupid.c (stupid_life_analysis): Likewise for `chain'.
+ 
+ 	* unroll.c (copy_loop_body): Likewise for `copy'.
+ 
+ 	* varasm.c (output_constructor): Likewise for `byte'.
+ 
+ Tue Jan  4 15:34:34 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* i386.c (ix86_expand_move): Allow pushes of memory, offload to memory
+ 	all FP constants for constant->reg moves.
+ 	(ix86_split_to_parts): Try to convert memory address into immediate
+ 	when available in the constant pool.
+ 	* i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg
+ 	moves.
+ 	(LEGITIMATE_CONSTANT_P): Return 1.
+ 	* i386.md (pushsf): New splitter to convert constant pool memory
+ 	reference to immediate.
+ 	(mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before
+ 	reload.
+ 
+ 2000-01-04  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* i386.md (ashlsi3_cmpno): Don't accept variables shifts.
+ 	(ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno,
+ 	ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise.
+ 	(rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno,
+ 	rotrhi3_cmpno, rotrqi3_cmpno): Likewise.
+ 
+ 2000-01-04  Martin von Löwis  <loewis@informatik.hu-berlin.de>
+ 
+ 	* ginclude/stdbool.h:  Support compilation as C++.
+ 
+ Tue Jan  4 01:35:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+ 
+ 	* fold-const.c (make_range): Don't try to reverse an unbounded range.
+ 
+ Tue Jan  4 00:18:46 2000  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* regclass.c (regclass): Properly compute loop_cost.  Adjust
+ 	comments.
+ 
+ 	* regclass.c: Fix minor whitespace problems.
+ 
+ 2000-01-03  Anthony Green  <green@cygnus.com>
+ 
+ 	* config/i386/i386.md (builtin_setjmp_receiver): New pattern.
+ 	Restore the pic register if required.
+ 
+ 2000-01-03  Ulrich Drepper  <drepper@cygnus.com>
+ 
+ 	* c-common.c (format_char_info): Update comment.
+ 	(check_format_info): Recognize 'z' modifier in the same way 'Z'
+ 	was recognized.  Emit warning for formats new in ISO C99 only
+ 	if flag_isoc9x is not set.
+ 
+ Mon Jan  3 12:59:54 2000  Mark P. Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/mips/iris6gld.h: Fix typo in -mabi=n32 specs.
+ 
+ Mon Jan  3 15:33:37 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
+ 
+ 	* combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
+ 	SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
+ 	(make_compound_operation): Choose cheaper alternative between
+ 	ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.
+ 
+ 	* regclass.c (op_costs): Remove global variable.
+ 	(record_reg_classes): New parameter "op_costs" and "reg_pref".
+ 	(record_operand_costs): Break out from ...
+ 	(scan_one_insn): ... here.
+ 	(dump_regclass): Make dumps nicer.
+ 	(regclass): Dump preferrences choosed and changes done during passes.
+ 
+ 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
+ 
+ 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (gen_df_reg): New function.
+ 	* config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
+ 	* config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
+ 	movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
+ 	movtf_cc_reg_sp64+1): Use it.
+ 
+ 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
+ 	copied LABEL_DECLs.
+ 
+ Mon Jan  3 02:54:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_unary_operator): Function
+ 	definition made void.
+ 	(ix86_expand_binary_operator): Update outdated preceding comment.
+ 	* config/i386/i386-protos.h (ix86_expand_unary_operator): Update
+ 	prototype.
+ 
+ 	* config/i386/i386.c (override_options): Fix option-name typo.
+ 
+ 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* system.h (CEIL): Define.
+ 	* builtins.c (CEIL): Remove.
+ 	* expmed.c (CEIL): Likewise.
+ 	* expr.c (CEIL): Likewise.
+ 	* stor-layout.c (CEIL): Likewise.
+ 
+ 2000-01-02  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* expr.c (store_constructor_field): Fix typo introduced with last
+ 	gcc2 merge.
+ 
+ 2000-01-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (BINFO_N_BASETYPES): New macro.
+ 
+ 2000-01-01  Bernd Schmidt  <bernds@cygnus.co.uk>
+ 
+ 	* expmed.c (emit_store_flag): Prevent losing a pending stack
+ 	adjust the same way we prevent losing queued increments.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2001 gcc-4.1.0/gcc/ChangeLog-2001
*** gcc-4.0.2/gcc/ChangeLog-2001	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2001	Fri Mar 18 01:13:39 2005
***************
*** 0 ****
--- 1,33645 ----
+ 2001-12-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
+ 
+ 2001-12-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (build_def_use): Don't rename asm operands that
+ 	were originally hard registers.
+ 	(copyprop_hardreg_forward_1): Likewise.
+ 	(find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
+ 	* varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
+ 
+ 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
+ 	(NAME__MAIN, SYMBOL__MAIN): Define.
+ 
+ 2001-12-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
+ 	before decrementing LABEL_NUSES from a jump table.
+ 
+ 	* final.c (alter_subreg): Assign REGNO after changing the rtx code.
+ 
+ 	* config/alpha/alpha.c (reg_no_subreg_operand): Reject all
+ 	non-registers.
+ 
+ 2001-12-31  Graham Stott  <grahams@redhat.com>
+ 
+ 	* halfpic.h: Remove foward defs of tree_node and rtx_def.
+ 
+         * toplev.h: Remove forward def of tree_node, rtx_def.
+ 
+ 	* except.h: Remove forward def of tree_node, rtx_def and
+ 	define of tree, rtx. Also remove undefs.
+ 
+ 	* basic-block.h: Remove forward def of tree_node and
+ 	define of tree.
+ 
+ 2001-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfglayout.c (scope_def, scope_forest_info, forest,
+ 	relate_bbs_with_scopes, make_new_scope, build_scope_forest,
+ 	remove_scope_notes, insert_intra_before_1, insert_intra_1,
+ 	insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
+ 	rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
+ 	dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
+ 	(fixup_reorder_chain): Don't set scope for bb.
+ 	(insn_scopes, scope_to_insns_initialize, set_block_levels,
+ 	change_scope, scope_to_insns_finalize): New.
+ 	(cfg_layout_initialize, cfg_layout_finalize): Update to match.
+ 	* cfglayout.h (scope_def, scope): Remove.
+ 	(reorder_block_def): Remove scope member.
+ 	(scope_to_insns_initialize, scope_to_insns_finalize): Declare.
+ 	* haifa-sched.c: Revert reemit_other_notes change.
+ 	* sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
+ 	Use scope_to_insns_initialize and scope_to_insns_finalize.
+ 	* sched-rgn.c (schedule_insns): Likewise.
+ 
+ 2001-12-31  Graham Stott  <grahams@redhat.com>
+ 
+ 	* c-lex.c: Include tree.h before expr.h
+ 
+ 	* c-typeck.c: Include rtl.h earlier.
+ 
+ 	* tree.h (STRIP_NOPS): Remove extraneous semicolon.
+ 	(STRIP_SIGN_NOPS): Likewise.
+ 	(STRIP_TYPE_NOPS): Likewise.
+ 	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
+ 	macro paramater.
+ 
+ 	* final.c (struct bb_list): Delete.
+ 	(struct bb_str): Likewise.
+ 
+ 	* cfgloop.c (flow_loop_entry_edges_find): Fix typo.
+         (flow_loop_exit_edges_find): Likewise.
+ 
+ 	* gcse.c (gcse_main): Fix typos.
+ 	(alloc_gcse_mem): Likewise.
+ 
+ 	* function.h: Remove undefs for rtx and tree.
+ 
+ 2001-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (check_dbra_loop): Fix last change: examine both
+ 	has_multiple_exit_targets and exit_count.
+ 
+ 2001-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Fix error last change:
+ 	we need to unconditionally create a new mem.
+ 
+ 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("*call_real"): Fix typo in comment.
+ 	* config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
+ 	to mmix_extra_constraint.
+ 	* config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
+ 	non-global register classes.  Mark now unused parameters as such.
+ 	(mmix_extra_constraint, 'U'): Use new parameter strict and call
+ 	calling memory_operand_p or strict_memory_address_p, not
+ 	address_operand.
+ 	* config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
+ 
+ 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* unroll.c: Move include files above first use of `const'.
+ 
+ 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
+ 	to fail if target is EXIT_BLOCK_PTR, die otherwise.
+ 	(redirect_edge_and_branch): Likewise.
+ 	* cfgcleanup.c (try_forward_edge): Don't force jump redirecting
+ 	if target is EXIT_BLOCK_PTR.
+ 
+ 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
+ 	gcc invoked with -shared.
+ 
+ 2001-12-29  Graham Stott  <grahams@redhat.com>
+ 
+         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
+ 
+         (override_options): Delete abs macro unused.
+ 
+         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
+         when testing ASSEMBLER_DIALECT.
+ 
+         (print_reg): Likewise.
+         (print_operand): Likewise.
+         (print_operand_address): Likewise.
+         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
+ 
+         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
+ 
+         (FIND_BASE_TERM): Fix typo.
+ 
+ Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_field): Use adjust_address, not PUT_MODE.
+ 	(expand_expr, case VIEW_CONVERT_EXPR): Likewise.
+ 	* reload1.c (eliminate_regs, case SUBREG): Likewise, but use
+ 	adjust_address_nv.
+ 	* varasm.c (make_decl_rtl): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
+ 	replace_equiv_address_nv.
+ 
+ 	* varasm.c (decode_addr_const, case INTEGER_CST): Call
+ 	output_constant_def instead of looking at TREE_CST_RTL.
+ 
+ 	* expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
+ 
+ 	* stor-layout.c (layout_decl): Don't misalign field of variable size
+ 	for packed record.
+ 
+ 	* dwarf2out.c (compute_section_prefix): Avoid cast warning.
+ 	(gen_decl_die): Only check DECL_IGNORED_P on decls.
+ 	(dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
+ 
+ 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cfglayout.c (insert_intra_before_1): New.
+ 	(insert_inter_bb_scope_notes): Emit sibling block notes which don't
+ 	span multiple basic blocks.
+ 
+ 2001-12-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (prescan_loop): Set has_multiple_exit_targets for exception
+ 	edges.  Rearrange jump interpretation code to use pc_set.
+ 	(check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
+ 
+ 	* sched-deps.c (sched_analyze_insn): Set scheduling barrier for
+ 	all insns that can throw, not just if flag_non_call_exceptions.
+ 
+ 2001-12-29  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
+ 	(default_constant_string_class_name): New global.
+ 	(objc_init): Set it.
+ 	(synth_module_prologue): Use it.
+ 
+ 	* objc/objc-act.c: Apply various cosmetic and formatting changes.
+ 
+ 2001-12-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm: Fix comment formatting.
+ 	* config/rs6000/freebsd.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 
+ 2001-12-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (build_module_descriptor): Make sure the init
+ 	function is not deferred.
+ 	(build_dispatch_table_initializer): Compute the method encoding if
+ 	not already done.
+ 
+ 2001-12-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/md.texi: Add @findex define_insn_and_split.
+ 
+ 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
+ 
+ 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ 	* config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
+ 	bsp setup.  Set pri_unat_loc to something reasonable.
+ 	(uw_install_context): Add missing cast.
+ 	(unw_access_gr): Fix off-by-1 indexing error.
+ 
+ 2001-12-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* except.c: Fix comment formatting.
+ 	* flags.h: Likewise.
+ 	* flow.c: Likewise.
+ 	* predict.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* system.h: Likewise.
+ 	* vmsdbg.h: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 
+ 2001-12-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Fix formatting.
+ 
+ 2001-12-28  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* varasm.c (record_constant_1): Correct parameter to recursive
+ 	call in default case.
+ 
+ 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
+ 	ASM_OUTPUT_DWARF_PCREL): Define.
+ 	* config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
+ 	.uaword %r_disp32() and linker handles it correctly.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (store_init_value): If initializing object with array
+ 	type of unknown size by a compound literal, set object's size from
+ 	compound literal size.
+ 	* doc/extend.texi (Compound Literals): Adjust documentation.
+ 
+ 2001-12-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
+ 	(endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
+ 	(etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
+ 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
+ 	INTEL_EXTENDED_IEEE_FORMAT.
+ 
+ 2001-12-27  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* combine.c (try_combine): Mask off sign bits when combining
+ 	stores to the low and high parts of a two-word value.
+ 
+ 	* expr.c (expand_expr): Don't mark memory for non-constants as
+ 	constant.
+ 
+ Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* integrate.c (copy_rtx_and_substitute, case MEM): If inlining
+ 	and not for LHS, clear RTX_UNCHANGING_P.
+ 
+ 2001-12-28  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* cppfiles.c (stack_include_file): Don't translate <stdin>.
+ 
+ 2001-12-27  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
+ 	when all arguments are known constant.  Fixes PR opt/3508.
+ 
+ 2001-12-27  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (two anonymous patterns): Remove.
+ 
+ 2001-12-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* haifa-sched.c (reemit_other_notes): New.
+ 	(schedule_block): Use it.
+ 	* sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
+ 	* sched-rgn.c (schedule_insns): Likewise.
+ 	* cfglayout.c (remove_scope_notes): Handle removing note at
+ 	the end of the insn chain.
+ 	* function.c (debug_find_var_in_block_tree): New.
+ 
+ 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
+ 
+ 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* toplev.c (independent_decode_option): Re-add -aux-info option
+ 	handling.
+ 
+ Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
+ 	if special value.
+ 
+ 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (is_ctor_dtor): Const-ify.
+ 	* m88k-protos.h (output_file_start): Likewise.
+ 	* m88k.c (m88k_lang_independent_options, output_options,
+ 	output_file_start): Likewise.
+ 	* fix-header.c (files_to_ignore, std_include_entry, include_entry,
+ 	std_include_table, main): Likewise.
+ 	* protoize.c (longopts): Likewise.
+ 	* regclass.c (int_reg_class_contents): Likewise.
+ 	* toplev.c (dump_file, f_options, W_options): Make static.
+ 	(lang_independent_options, f_options, W_options): Const-ify.
+ 	* tree-dump.c (dump_file_info): Likewise.
+ 	* unroll.c (_factor): Make static.
+ 
+ Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (alpha_align_insns): Remove warning.
+ 
+ 	* config/sparc/sparc.md (call struct patterns): Show starting
+ 	at two words long.
+ 
+ 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
+ 	* sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
+ 
+ 2001-12-26  DJ Delorie  <dj@redhat.com>
+ 
+ 	* function.c (expand_main_function): Make sure stack adjustments
+ 	happen before sjlj exception setup.
+ 
+ 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (indirect_jump): Prefer CTR over LR.
+ 	* xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
+ 
+ Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c: Reformatting and minor code rearrangement.
+ 
+ 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
+ 
+ 	* configure.in (quoted_stage_prefix_set_by_configure): Generate.
+ 	* configure: Regenerated.
+ 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
+ 	quoted_stage_prefix_set_by_configure.
+ 
+ Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.h (in_expr_list_p): New declaration.
+ 	* rtlanal.c (in_expr_list_p): New function.
+ 	* cfgcleanup.c: Reformatting and minor code rearrangement.
+ 	* cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
+ 
+ 2001-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5163:
+ 	* c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
+ 	we have a function body associated.  Minor cleanups.
+ 	(grokdeclarator): Do not set DECL_INLINE without a function body.
+ 
+ 2001-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (resolve_operand_names): Handle operand modifiers.
+ 
+ 2001-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (parse_input_constraint): Break out from ...
+ 	(expand_asm_operands): ... here.  Loop over the operands twice,
+ 	the first time only calling mark_addressable.  Correct and simplify
+ 	the conditions for spilling an output operand to memory.
+ 
+ 2001-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
+ 
+ 	* config/alpha/alpha.md (UNSPEC_SIBCALL): New.
+ 	(sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
+ 	(sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
+ 
+ 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (c_start_case): Don't strip conversions from the
+ 	controlling expression.  Partially fixes PR c/2454.
+ 
+ 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (USER_H): Remove proto.h.
+ 	* config.gcc (c*-convex-*): Set extra_headers=proto.h.
+ 
+ 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arc.c (arc_hard_regno_mode_ok): Const-ify.
+ 	* arc.h (arc_hard_regno_mode_ok): Likewise.
+ 	* i386.c (x86_64_reg_class_name): Make static.
+ 	* m68k.c (regno_reg_class): Const-ify.
+ 	* m68k.h (regno_reg_class): Likewise.
+ 	* mcore.c (reg_class_from_letter): Likewise.
+ 	* mcore.h (reg_class_from_letter): Likewise.
+ 	* sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
+ 	ext_shift_insns, ext_shift_amounts): Likewise.
+ 	* sh.h (reg_class_from_letter): Likewise.
+ 	* sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
+ 	hard_64bit_mode_classes): Likewise.
+ 	* sparc.h (hard_regno_mode_classes): Likewise.
+ 
+ 	* gcc.c (modify_target): Make static.
+ 	* gengenrtl.c (defs, formats): Likewise.
+ 	* reload1.c (elim_table_1, init_elim_table): Const-ify.
+ 	* tradcpp.c (directive, directive_table, handle_directive,
+ 	skip_if_group, run_directive): Likewise.
+ 
+ 2001-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
+ 	an invalid result register; do end the sequence properly.
+ 	(emit_library_call_value_1): Likewise.
+ 
+ 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
+ 
+ 	* config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
+ 
+ 	* config/rs6000/rs6000.c: Clean up some spacing and indentation.
+ 	(altivec_init_builtins): Add tree types for builtins with 4 bit
+ 	literals.
+ 	(bdesc_3arg): Add vsldoi variants.
+ 
+ 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.h (datalbl, jmplbl): Declare array size explicitly.
+ 	* a29k.h (a29k_debug_reg_map): Likewise.
+ 	* arc.h (arc_regno_reg_class): Likewise.
+ 	* c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
+ 	* convex.h (regno_reg_class, reg_class_from_letter): Likewise.
+ 	* d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
+ 	* i386.h (regclass_map): Likewise.
+ 	* m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
+ 	* mcore.h (regno_reg_class): Likewise.
+ 	* mips.h (mips_print_operand_punct, mips_char_to_class):
+ 	Likewise.
+ 	* ns32k.h (regclass_map): Likewise.
+ 	* pj.h (pj_debugreg_renumber_vec): Likewise.
+ 	* s390.h (regclass_map): Likewise.
+ 	* sh.h (regno_reg_class): Likewise.
+ 	* sparc.h (sparc_regno_reg_class): Likewise.
+ 
+ 	* hard-reg-set.h (reg_class_contents): Likewise.
+ 	* machmode.h (class_narrowest_mode): Likewise.
+ 
+ 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* loop.c (scan_loop, move_movables, count_one_set): Do not
+ 	overlook hard registers when computing statistics.
+ 
+ Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (ECF_LIBCALL_BLOCK): New constant.
+ 	(emit_call_1, initialize_argument_information,
+ 	precompute_arguments, expand_call,
+ 	emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
+ 	instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
+ 
+ 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc (extra_headers): Move settings to math-68881.h and
+ 	ppc-asm.h to common code for CPU types.  Use math-68881.h on all
+ 	m68k targets.
+ 	(header_files): Remove unused setting.
+ 
+ 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* elxsi.c: Include "hard-reg-set.h" and/or don't declare
+ 	`call_used_regs' explicitly.
+ 	* i860.c: Likewise.
+ 	* m68k.c: Likewise.
+ 	* ns32k.c: Likewise.
+ 	* pa.c: Likewise.
+ 	* vax.c: Likewise.
+ 	* we32k.c: Likewise.
+ 
+ Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
+ 	(TARGET_CPU_DEFAULT_*): Renumber.
+ 
+ Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtl.h (subreg_lsb): Declare.
+ 	* rtlanal.c (subreg_lsb): Implement.
+ 
+ Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* predict.c: Reformatting and minor cleanups.
+ 	* cfg.c, cfganal.c, cfgbuild.c: Likewise.
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
+ 	SAVE_EXPR.
+ 	* function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
+ 	(put_addressof_into_stack): Clarify code in setting of used_p.
+ 
+ 	* calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
+ 	(expand_call): Delete from here.
+ 	Do pending stack adjustments if ECF_SP_DEPRESSED.
+ 
+ 	* dwarf2out.c (save_rtx): Deleted.
+ 	(mem_loc_descriptor): Do equivalent operation.
+ 	(add_const_value_attribute, case CONST): Likewise.
+ 	(add_name_and_src_coords_attributes): Likewise.
+ 
+ 2001-12-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix comment formatting.
+ 
+ Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
+ 	(CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
+ 
+ 2001-12-21  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	 * system.h (PREFETCH): Explictly undefine.
+ 
+ 2001-12-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
+ 	(RESTORE_WARN_FLAGS): Restore it.
+ 	(extension): Zero warn_traditional.
+ 
+ 2001-12-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/passes.texi: Fix a typo.
+ 
+ 2001-12-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix a comment typo.
+ 
+ 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (nonzero_bits): If using reg_nonzero_bits,
+ 	we don't know anything about bits outside of X mode.
+ 	(num_sign_bit_copies): Likewise.
+ 
+ 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.md (prefetch): Use 'a' operand code.
+ 
+ 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
+ 	subshells.
+ 	* configure.in: Likewise for perl Pod::Man.
+ 
+ 	* configure: Regenerated.
+ 
+ 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (__builtin_printf_unlocked,
+ 	__builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
+ 	Mark with the __printf__ attribute.
+ 
+ 	* builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
+ 	and set the replacement function depending on it.
+ 	(expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
+ 	Handle BUILT_IN_*_UNLOCKED when optimizing.
+ 
+ 	* builtins.def (DEF_EXT_FALLBACK_BUILTIN,
+ 	DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
+ 	Declare the "unlocked" stdio functions.
+ 
+ 	* c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
+ 	Add an `unlocked' parameter and set the replacement function
+ 	depending on it.
+ 	(c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
+ 	BUILT_IN_FPRINTF_UNLOCKED.
+ 
+ 	* doc/extend.texi (printf_unlocked, fprintf_unlocked,
+ 	fputs_unlocked): Document.
+ 
+ 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
+ 
+ 	* cfgloop.c (flow_loops_find): Use the information of the depth
+ 	first search order of the CFG correctly when finding natural loops.
+ 
+ 2001-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
+ 
+ 2001-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
+ 	* config/alpha/alpha.md (call_osf, call_value_osf): Don't force
+ 	operand into $27.
+ 
+ 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in (all_headers, all_lib2funcs): Remove.
+ 	* configure: Regenerate.
+ 	* Makefile.in (LANG_EXTRA_HEADERS): Remove.
+ 	(USER_H): Don't include $(LANG_EXTRA_HEADERS).
+ 	* config/alpha/t-interix (USER_H): Don't include
+ 	$(LANG_EXTRA_HEADERS).
+ 	* config/i386/t-interix: Likewise.
+ 	* config/t-openbsd: Likewise.
+ 
+ 2001-12-20  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* libgcc2.c (__bb_exit_func): Remove unused variable.
+ 	(num_digits): Remove unused function.
+ 
+ 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Changed IP restore
+ 	to use ldmfd instead of ldmea.
+ 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
+ 	Modified to reflect behavior of arm_expand_prologue when generating
+ 	interrupt handlers
+ 
+ 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
+ 	function. Compute which of registers r0 through r12 should be
+ 	saved onto the stack during a function's prologue.
+ 	(arm_compute_save_reg_mask): Use
+ 	arm_compute_save_reg0_reg12_mask.
+ 	(arm_compute_initial_elimination_offset): Use
+ 	arm_compute_save_reg0_reg12_mask.
+ 
+ 	(arm_expand_prologue): Do not mark as save of the IP register
+ 	for an interrupt handler as being part of the frame creation
+ 	code.
+ 
+ 2001-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
+ 	to emit floating point values.
+ 	(assemble_real_1): Remove.
+ 
+ 	* 1750a/1750a.c (real_value_to_target_single): New.
+ 	(real_value_to_target_double): New.
+ 	* 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
+ 	(REAL_VALUE_TO_TARGET_SINGLE): New.
+ 	(REAL_VALUE_TO_TARGET_DOUBLE): New.
+ 	* 1750a/1750a-protos.h: Update.
+ 
+ 	* 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
+ 	alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
+ 	avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
+ 	d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
+ 	fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
+ 	i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
+ 	i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
+ 	i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
+ 	m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
+ 	m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
+ 	m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
+ 	m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
+ 	mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
+ 	mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
+ 	ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
+ 	romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
+ 	sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
+ 	vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
+ 	ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
+ 	associated support routines.
+ 
+ Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
+ 	if one of block does not contain jump.
+ 	(outgoing_edge_math): Revert last path; require edges to be noncomplex
+ 	nonfake to match single exit edge; require conditional jumps to not
+ 	have side effect.
+ 
+ 2001-12-20  Turly O'Connor  <turly@apple.com>
+ 
+ 	* tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
+ 	"recog_operand" to "recog_data.operand".
+ 	* rtl.def: Likewise.
+ 
+ 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
+ 	narrower mode than op0, only return the bits in DIV's mode.
+ 
+ 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Avoid adding REG_LABEL notes
+ 	to JUMP_INSNs with JUMP_LABEL.
+ 
+ 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/install.texi: Add documentation for --enable-altivec.
+ 
+ 	* config.gcc: Add support for --enable-altivec.
+ 
+ 	* config/rs6000/altivec.h: New.
+ 
+ 	* config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
+ 	Define.  Fix typo.
+ 
+ 	* config/rs6000/rs6000.c (vrsave_operation): Change unspec to
+ 	unspec_volatile.
+ 	(generate_set_vrsave): Generate the unspec here instead of calling
+ 	an .md pattern.
+ 	(generate_set_vrsave): Use gen_rtvec.
+ 	(rs6000_emit_prologue): Replace call to gen_get_vrsave with
+ 	gen_rtx_SET.
+ 
+ 	* config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
+ 	for setting special registers.
+ 	("*set_vrsave_internal"): Use unspec_volatile.
+ 	("set_vrsave"): Remove.
+ 	("get_vrsave"): Remove.
+ 
+ 	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
+ 	SPECIAL_REGS.
+ 
+ 2001-12-19  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
+ 	(strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
+ 	* gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
+ 	* gcc/fixinc/base/...: adjust for changes in fixes
+ 
+ 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* po/gcc.pot: Regenerate.
+ 
+ 	* configure.in (all_diff_excludes, diff_excludes): Remove.
+ 	* configure: Regenerate.
+ 	* Makefile.in (LANG_DIFF_EXCLUDES): Remove.
+ 	* objc/config-lang.in (diff_excludes): Remove.
+ 
+ 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
+ 	the destination register as a parameter to mems_ok_for_ldd_peep.
+ 	For store peepholes pass NULL_RTX.  Move all volatile checks ...
+ 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
+ 	register parameter, check it's not the same as base for an address.
+ 	* config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
+ 
+ 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_single_set): Return first set for
+ 	prologue_allocate_stack and epilogue_deallocate_stack instructions.
+ 
+ 2001-12-19  Dale Johannesen  <dalej@apple.com>
+ 
+ 	 * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
+ 	 redefine in terms of rs6000_legitimize_reload_address().
+ 	 * config/rs6000/rs6000-protos.h: Add this function.
+ 	 * config/rs6000/rs6000.c: Add this function.  Includes
+ 	 handling for Darwin FP constants.
+ 
+ Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* config/pa/t-hpux-shlib: New file.
+ 	* config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
+ 	for 32bit hpux10 & hpux11 configurations.
+ 
+ 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
+ 	-mno-fpu onto gas unless -mhard-float is specified.
+ 	(MULTILIB_DEFAULTS): Include msoft-float.
+ 
+ 	* config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
+ 
+ 	* config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
+ 	* config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
+ 
+ Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
+ 	descriptor output.
+ 
+ 2001-12-18  Stan Shebs  <shebs@apple.com>
+ 
+ 	* rs6000.h (LOCAL_ALIGNMENT): Fix parens.
+ 
+ Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (widen_memory_access): Only call compare_tree_int
+ 	on an INTEGER_CST.
+ 
+ 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_override_options): Only use DI ops when
+ 	TARGET_64BIT.  Fix typo.
+ 
+ Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* att.h (ASM_FILE_START): Use asm_dialect.
+ 	* linux.h (ASM_FILE_START): Likewise.
+ 	* gas.h (ASM_FILE_START): Likewise.
+ 	* i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
+ 	ix86_asm_string, ix86_asm_dialect): New.
+ 	(override_options): Set asm_dialect.
+ 	* i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
+ 	MASK_DEBUG_ADDR): Kill.
+ 	(MASK_64BIT, MASK_NO_RED_ZONE): renumber.
+ 	(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
+ 	(ASSEMBLER_DIALECT): Use asm_dialect.
+ 	(TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
+ 	remove debug-addr and debug-arg.
+ 	(TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
+ 	(asm_dialect): New enum.
+ 	(ix86_debug_arg_string, ix86_debug_addr_string,
+ 	ix86_asm_string, ix86_asm_dialect): Declare.
+ 	* invoke.texi (-mintel-syntax): Remove.
+ 	(-masm): Document.
+ 
+ Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* libgcc2.c (__bb_exit_func): Kill -ax dumping code.
+ 
+ 2001-12-18  Jason Merrill  <jason@redhat.com>
+ 
+ 	C++ ABI change: destroy value arguments in caller.
+ 	* calls.c (initialize_argument_information): Pass the address of
+ 	the TARGET_EXPR temporary rather than storing it into another.
+ 
+ Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
+ 	* config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
+ 
+ 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ 	* config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ 	* config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ 	(CC1_SPEC): Don't default to -gstabs+ if -m32.
+ 
+ 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
+ 
+ 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* po/gcc.pot: Regenerate.
+ 
+ 2001-12-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Fix comment typos.
+ 	* config/h8300/h8300.h: Fix comment formatting.
+ 
+ 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
+ 	mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
+ 	declaration to NUM_MACHINE_MODES.
+ 	(mode_size, mode_unit_size): Set array type to unsigned char.
+ 	(mode_bitsize): Set array type to unsigned short.
+ 
+ 	* rtl.c (rtx_length): Set array type to unsigned char.
+ 	(rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
+ 	NUM_RTX_CODE.
+ 	(mode_bitsize): Set array type to unsigned short.
+ 	(mode_size, mode_unit_size): Set array type to unsigned char.
+ 	(mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
+ 	mode_wider_mode, mode_mask_array): Set array size to
+ 	NUM_MACHINE_MODES.
+ 
+ 	* rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
+ 	size in declaration to NUM_RTX_CODE.
+ 
+ 2001-12-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (unop): Encode RB as $sp.
+ 
+ 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update dependencies.
+ 	* c-lang.c: Remove unnecessary includes.
+ 	(deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
+ 	c-objc-common.c.
+ 	(finish_file): Move body to c_common_finish_file.
+ 	* c-objc-common.c: Include varray.h and ggc.h.
+ 	(deferred_fns, start_cdtor, finish_cdtor, defer_fn,
+ 	expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
+ 	(c_objc_common_init): Initialize deferred function array.
+ 	* c-tree.h (c_objc_common_finish_file,
+ 	static_ctors, static_dtors): New.
+ objc:
+ 	* Make-lang.in: Update dependencies.
+ 	* objc/objc-act.c: Don't include varray.h.
+ 	(defer_fn, deferred_fns): Move to c-objc-common.c.
+ 	(objc_init): Similarly for initialization of it.
+ 	(finish_file): Move some to c-objc-common.c, use
+ 	c_objc_common_finish_file.
+ 
+ 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
+ 
+ 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* expmed.c (emit_store_flag): Extract updated comparison code
+ 	from the return value of compare_from_rtx.
+ 	* expr.c (do_store_flag): Similarly.
+ 
+ 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
+ 	preference to BASE_REG_CLASS.
+ 	* recog.c (preprocess_constraints): Ditto.
+ 	* regclass.c (record_operand_costs, scan_one_insn, regclass,
+ 	record_reg_classes, record_address_regs): Ditto.
+ 	* regrename.c (scan_rtx_address, scan_rtx,
+ 	replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
+ 	* reload.c (find_reloads, find_reloads_address,
+ 	find_reloads_address_1): Ditto.
+ 	* reload1.c (maybe_fix_stack_asms): Ditto.
+ 	* defaults.h (MODE_BASE_REG_CLASS): Provide default
+ 	definition.
+ 	* doc/tm.texi: Document MODE_BASE_REG_CLASS.
+ 
+ 	* config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
+ 
+ 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi2html: Use -I $SOURCEDIR.
+ 
+ 	Separate user and internals manuals.
+ 	* Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
+ 	dependencies.
+ 	($(docdir)/gccint.info, gccint.dvi): New targets.
+ 	(maintainer-clean, install-info, uninstall): Update.
+ 	* doc/.cvsignore: Add gccint.info*.
+ 	* doc/include/gcc-common.texi: New file.
+ 	* doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
+ 	copyright notice in a macro.  Don't include ISBN unless FSFPRINT
+ 	is defined.
+ 	* doc/gccint.texi: New file.
+ 	* doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
+ 	doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
+ 	Update for separate user and internals manuals.
+ 
+ 2001-12-17  Dale Johannesen  <dalej@apple.com>
+ 
+ 	 * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
+ 	 ASM_CPU_SPEC: Ditto.
+ 	 RTX_COSTS: Fix timing info for 7450 multiply.
+ 	 * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
+ 	 Allow floats to be kept in int regs in movsf_low,
+ 	 movsf_low_st (Darwin only)
+ 
+ 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
+ 	parallel.
+ 	(is_gpr_return_reg): New.
+ 	(rs6000_emit_prologue): Call generate_set_vrsave with additional
+ 	argument.  Save only registers in the mask.  Attach
+ 	REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
+ 	rs6000_frame_related when saving VRSAVE.
+ 	(rs6000_emit_epilogue): Call generate_set_vrsave with additional
+ 	argument.  Restore only registers in the mask.  Restore altivec
+ 	registers after we restore CR.
+ 	(generate_set_vrsave): New parameter epiloguep.  Generate unspec
+ 	sets instead of clobbers for call saved registers.
+ 	(altivec_frame_fixup): New.
+ 
+ 2001-12-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movdi_zero): Remove.
+ 	(movdi_insn_sp32_v9): New.
+ 
+ 2001-12-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match): Check for insn match with
+ 	a single outgoing edge too.
+ 
+ Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
+ 	edges resulting from computed jump
+ 
+ Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cfgcleanup.o): Add cselib.h dependency.
+ 	* basic-block.h (CLEANUP_THREADING): New constant.
+ 	* cfgcleanup.c: Include cselib.h
+ 	(thread_jump, mark_effect): New functions.
+ 	(try_forward_edges): Do jump threading when asked for.
+ 	* jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
+ 	modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
+ 	* rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
+ 	* toplev.c (rest_of_compilation): Do now call thread_jumps; use
+ 	CLEANUP_THREAD instead.
+ 
+ 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
+ 
+ 2001-12-17  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
+ 	of bytes.
+ 
+ 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
+ 	asm_out.integer): New fields.
+ 	* target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
+ 	TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initializers.
+ 	(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
+ 	the individual initializers together.
+ 	(TARGET_ASM_OUT): Add the new initializers.
+ 	* output.h (assemble_integer): Return bool.
+ 	(integer_asm_op): Declare.
+ 	(default_assemble_integer): Declare.
+ 	(assemble_aligned_integer): New interface to assemble_integer.
+ 	* varasm.c (integer_asm_op): New function to select pseudo-op.
+ 	(default_assemble_integer): Default implementation of asm_out.integer.
+ 	(assemble_integer): Use the new target hook.  Split objects into
+ 	words or bytes if the target hook fails.  Return bool.
+ 	* doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
+ 	ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
+ 	UNALIGNED_SHORT_ASM_OP,	UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
+ 	Document new target hooks.
+ 
+ 	* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
+ 	* dwarf2asm.c (unaligned_integer_asm_op): Remove.
+ 	(dw2_assemble_integer): New.
+ 	(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
+ 	dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
+ 	dw2_asm_output_encoded_addr_rtx): Use it.
+ 	(dw2_asm_output_nstring): Use assemble_integer for the null terminator.
+ 	(dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
+ 	integer_asm_op to get the byte pseudo-op.  Use assemble_integer
+ 	if it returns NULL.
+ 	* dwarf2asm.h (dw2_assemble_integer): Declare.
+ 	* dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
+ 	default	implementation of most macros.
+ 	(output_unsigned_leb128): Use dw2_asm_output_data.
+ 	(output_signed_leb128, dwarfout_source_line): Likewise.
+ 	(output_reg_number): Use dw2_assemble_integer.
+ 	(generate_macinfo_entry): Separate the type and offset arguments.
+ 	Use assemble_integer to write the value.
+ 	(dwarfout_start_source_file): Update generate_macinfo_entry usage.
+ 	(dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
+ 	* final.c (output_addr_const): Don't put brackets round a subtracted
+ 	symbol value or ".".
+ 	* halfpic.c (half_pic_finish): Use assemble_aligned_integer.
+ 
+ 	* config/1750a/1750a.c (assemble_integer_1750a): New,
+ 	* config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
+ 	* config/arc/arc.c (arc_assemble_integer): New.
+ 	* config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ 	* config/arm/arm.c (arm_poke_function_name): Likewise.
+ 	(arm_assemble_integer): New, extracted from...
+ 	* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
+ 	(ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
+ 	(ARM_FUNCTION_PROFILER): Likewise.
+ 	* config/avr/avr-protos.h (asm_output_byte): Remove.
+ 	(asm_output_char, asm_output_short): Remove.
+ 	* config/avr/avr.c (avr_assemble_integer): New.
+ 	(asm_output_byte, asm_output_char, asm_output_short): Remove.
+ 	* config/clipper/clipper.h (ASM_LONG): Remove.
+ 	* config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
+ 	* config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
+ 	* config/elxsi/elxsi.c (elxsi_assemble_integer): New.
+ 	* config/i370/i370.c (i370_hlasm_assemble_integer): New.
+ 	* config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
+ 	(ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
+ 	* config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
+ 	ASM_LONG instead of UNALIGNED_INT_ASM_OP.
+ 	* config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
+ 	ASM_LONG instead of UNALIGNED_INT_ASM_OP.
+ 	* config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
+ 	* config/i860/i860.c (i860_output_function_epilogue): Likewise.
+ 	* config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ 	(ASM_SHORT, ASM_LONG): Undefine.
+ 	* config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ 	* config/ia64/ia64.c (ia64_assemble_integer): New.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
+ 	(ASM_OUTPUT_DWARF_PCREL): Likewise.
+ 	* config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
+ 	(ASM_SHORT, ASM_LONG): Remove.
+ 	* config/m68k/m68k.h (INT_OP_GROUP): New macro.
+ 	(INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
+ 	macros, the allowed values for INT_OP_GROUP.
+ 	* config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
+ 	* config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
+ 	* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
+ 	* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
+ 	(INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ 	* config/m68k/dpx2.h (ASM_LONG): Undefine.
+ 	(INT_OP_GROUP): Define to INT_OP_DC.
+ 	* config/m68k/dpx2g.h (ASM_LONG): Undefine.
+ 	* config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ 	* config/m68k/lynx.h (ASM_LONG): Undefine.
+ 	* config/m68k/dpx2g.h (ASM_LONG): Undefine.
+ 	* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
+ 	(TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
+ 	* config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
+ 	for GAS and INT_OP_NO_DOT otherwise.
+ 	(ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
+ 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
+ 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
+ 	(INT_OP_GROUP): Define to INT_OP_STANDARD.
+ 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
+ 	(ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
+ 	* config/m68k/tower-as.h (ASM_LONG): Remove.
+ 	(INT_OP_GROUP): Define to INT_OP_NO_DOT.
+ 	* config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
+ 	* config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ 	(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
+ 	* config/mips/iris5.h (TARGET_IRIX5): Define.
+ 	* config/mips/mips.c (mips_assemble_integer): New.
+ 	* config/mips/sni-svr4.h (ASM_LONG): Undefine.
+ 	* config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
+ 	* config/mmix/mmix.c (mmix_assemble_integer): New.
+ 	(mmix_asm_output_double_int): Remove.
+ 	(mmix_print_operand): Call mmix_output_octa directly.
+ 	* config/mmix/mmix.h (ASM_LONG): Remove.
+ 	* config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
+ 	* config/pa/pa.c (pa_assemble_integer): New.
+ 	(pa_override_options): Only use aligned DI ops on 64-bit targets.
+ 	Only use the unaligned ops if TARGET_GAS.
+ 	* config/pdp11/pdp11.c (pdp11_assemble_integer): New.
+ 	* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
+ 	* config/pj/pj.h (ASM_LONG): Undefine.
+ 	* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
+ 	* config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
+ 	extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
+ 	and in_toc_section() rather than the in_section variable.
+ 	(rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
+ 	* config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
+ 	(RELOCATABLE_NEEDS_FIXUP): Define.
+ 	* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
+ 	* config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
+ 	to get the word directive.
+ 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
+ 	* config/s390/s390.c (s390_assemble_integer): New.
+ 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
+ 	integer_asm_op to get the word directive.
+ 	* config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
+ 	* config/sparc/sparc-protos.h (output_double_int): Remove.
+ 	* config/sparc/sparc.c (output_double_int): Move to...
+ 	(sparc_assemble_integer): ...this new function.
+ 	(sparc_override_options): Only use .uaxword if TARGET_ARCH64.
+ 	* config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
+ 	* config/sparc/sysv4.h (ASM_LONG): Remove.
+ 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
+ 	ASM_LONG.
+ 	* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
+ 	* config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
+ 
+ 	* config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
+ 	config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
+ 	config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
+ 	config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
+ 	config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
+ 	config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
+ 	config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ 	config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
+ 	config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
+ 	config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
+ 	config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
+ 	config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
+ 	(TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
+ 	TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
+ 	TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
+ 	TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
+ 	appropriate.
+ 
+ 	* config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
+ 	config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
+ 	config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
+ 	config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
+ 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
+ 	config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
+ 	config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
+ 	config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
+ 	config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
+ 	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
+ 	config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
+ 	config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
+ 	config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
+ 	config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
+ 	config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
+ 	config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
+ 	config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
+ 	config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
+ 	config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
+ 	config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
+ 	config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
+ 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
+ 	config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
+ 	ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
+ 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
+ 
+ 2001-12-17  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
+ 	(STACK_BOUNDARY): Remove definition.
+ 	(CPP_PREDEFINES): Define __POWERPC__.
+ 
+ 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/c-tree.texi (Trees): Only refer to GCC.
+ 
+ 2001-12-17  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-common.def: Fix typo in comment.
+ 
+ 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (sparc64-*-freebsd*): Add target.
+ 	* config/sparc/freebsd.h: New file.
+ 	* config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
+ 	* config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
+ 	* config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
+ 
+ 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
+ 	PLUS operands into registers for altivec mode.
+ 
+ 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* builtins.c (apply_args_size): Change regno to unsigned.
+ 
+ 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
+ 	ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
+ 
+ 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-typeck.c (error_init, pedwarn_init, warning_init): Call
+ 	gettext on argument before printing.
+ 
+ 	* fold-const.c (negate_expr): Always call fold on new
+ 	NEGATE_EXPR.
+ 
+ 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
+ 	a DECL directly.
+ 	* c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
+ 	(COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
+ 	* c-decl.c (build_compound_literal): Put the decl inside a
+ 	DECL_STMT.
+ 	* doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
+ 	Fixes PR c/5105.
+ 
+ 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Add powerpc-*-eabisimaltivec*.
+ 
+ 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c, c-common.h (back_end_hook): Remove.
+ 	* c-lang.c (finish_file): Remove back_end_hook.
+ 
+ Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
+ 	last change.
+ 
+ 2001-12-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (parse_options_and_default_flags): Don't enable
+ 	flag_cprop_registers at -O1.
+ 
+ 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* avr.c (avr_simplify_comparision_p, adjust_insn_length,
+ 	mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
+ 	* avr.h (reg_class): Likewise.
+ 	* avr.md: Likewise.
+ 	* mcore.c (try_constant_tricks, mcore_byte_offset,
+ 	mcore_halfword_offset): Likewise.
+ 	* sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
+ 	* v850.c (not_power_of_two_operand): Likewise.
+ 
+ 	* clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
+ 	warnings.
+ 	* convex.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i370.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/att.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
+ 
+ 	* i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
+ 	* interix.h (TARGET_MEM_FUNCTIONS): Likewise.
+ 	* psos.h (CPP_PREDEFINES): Likewise.
+ 	* rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
+ 	* rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
+ 	ASM_OUTPUT_EXTERNAL): Likewise.
+ 	* sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ 	Likewise.
+ 	* sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
+ 	* sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ 	Likewise.
+ 	* sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
+ 
+ 	* c-lex.c (lex_number): Use ISXDIGIT/hex_value.
+ 	* vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
+ 	* fold-const.c (real_hex_to_f): Use hex_value.
+ 	* real.c (asctoeg): Use hex_value & ISXDIGIT.
+ 	* toplev.c (toplev_main): Call hex_init.
+ 	* tradcpp.c (main): Call hex_init.
+ 
+ 	* nextstep-protos.h: New file.
+ 	* nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
+ 	* nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
+ 	STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
+ 	(nextstep_asm_out_constructor, nextstep_asm_out_destructor,
+ 	handle_pragma): Move prototypes to nextstep-protos.h.
+ 	* config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
+ 	m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
+ 
+ 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR other/3725
+ 	* configure.in: Add AC_SUBST(target_alias).
+ 	* configure: Regenerated.
+ 
+ 2001-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (sibcall_osf_1_er): New.
+ 	(sibcall_value_osf_1_er): New.
+ 
+ 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
+ 	addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
+ 	addrs; eliminate restriction of only using fp and sp as base
+ 	registers.
+ 	* config/sparc/sparc-protos.h: Update.
+ 	* config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
+ 	(*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
+ 	from old define_peepholes.
+ 	Convert all the ldd/std peepholes to peephole2.
+ 
+ 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* s390.md (prologue, epilogue, *return_si, *return_di): New.
+ 	s390.c (find_unused_clobbered_reg, s390_frame_info,
+ 	save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
+ 	s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
+ 	s390.c (s390_arg_frame_offset): Use s390_frame_info.
+ 	(leaf_function_flag, cur_is_leaf_function,
+ 	save_fprs, restore_fprs, force_const_mem_late): Remove.
+ 	(s390_function_prologue, s390_function_epilogue): Mostly remove.
+ 	s390.md (lit): New.  Uses ...
+ 	s390.c (s390_output_constant_pool): ... this, so adapt and make global.
+ 	s390-protos.h (s390_output_constant_pool): Declare.
+ 	s390.md (load_multiple, store_multiple): Allow use after reload.
+ 	s390.c (load_multiple_operation, store_multiple_operation): Likewise.
+ 	s390.h (INCOMING_FRAME_SP_OFFSET): Define.
+ 	s390.h (CALL_REALLY_USED_REGISTERS): Define.
+ 	config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
+ 	s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
+ 	s390.c (s390_sr_alias_set): New global variable, initialized ...
+ 	(override_options): ... here.  New.
+ 	s390-protos.h (override_options): Declare.
+ 	s390.h (OVERRIDE_OPTIONS): Call it.
+ 	s390.c (s390_function_profiler): New.
+ 	s390-protos.h (s390_function_profiler): Declare.
+ 	s390.h (FUNCTION_PROFILER): Call it.
+ 	s390.c (s390_profile): Remove.
+ 
+ 	* s390.c (reg_used_in_mem_p): PC reload counts as memory access.
+ 	(addr_generation_dependency_p): Consider literal pool register loads.
+ 	(s390_adjust_priority): Do not schedule load_multiple.
+ 	s390.md (attribute "type"): Define some additional types.
+ 	(function_unit "integer"): Adapt.
+ 	(many insns): Adapt "type" attribute setting.
+ 
+ 	* s390.c (general_s_operand, s_imm_operand): New.
+ 	(s_operand): Remove old definition, call general_s_operand instead.
+ 	s390-protos.h (s_imm_operand): Declare.
+ 	s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
+ 	r_or_x_or_im16_operand, r_or_im8_operand): Remove.
+ 	s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
+ 	r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
+ 	s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
+ 	s390.md (many insns): Rework insn predicates.
+ 
+ 	* s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
+ 	non-symbolic constants.  Reload will force them because of ...
+ 	(s390_preferred_reload_class): ... this.  New.
+ 	s390-protos.h (s390_preferred_reload_class): Declare.
+ 	s390.h (PREFERRED_RELOAD_CLASS): Call it.
+ 	s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
+ 	*reload_la_31 splitters): Handle constants after reload.
+ 	(many insns): no longer force all constants immediately.
+ 	s390.c (legitimate_reload_constant_p): New helper routine.
+ 	s390-protos.h (legitimate_reload_constant_p): Declare.
+ 	s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
+ 
+ 	* s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
+ 	HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
+ 	(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
+ 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
+ 	(DWARF_FRAME_REGISTERS): Define.
+ 	s390.c (regclass_map): Add virtual frame pointer.
+ 	(legitimate_la_operand_p): Allow use of virtual frame pointer.
+ 	s390.md (*la_ccclobber, *addaddr_ccclobber): New.
+ 	(addaddr, addsi_64): Delete.
+ 
+ 	* s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
+ 	floating point registers.
+ 	(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
+ 	(ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+ 
+ 	* s390.md (movti): Replace multi-insn output with splitters.
+ 	(movdi_31, movdf_31): Likewise.
+ 	(movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
+ 	(movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
+ 	(movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
+ 	(movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
+ 	(movsf_64, movsf_31): Remove, replace by ...
+ 	(movsf): ... this.
+ 	(movqi_64): Use lhi instead of llill.
+ 	(*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
+ 
+ 	* s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
+ 	extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
+ 	extendqihi2 and associated splitters): Reworked.
+ 	(zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
+ 	zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
+ 	zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
+ 	*zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
+ 	*zero_extendqisi2_64, *zero_extendqisi2_mem_31,
+ 	zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
+ 	zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
+ 	and associated splitters): Likewise.
+ 	(*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
+ 	and associated splitters): New.
+ 	(truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
+ 	*truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
+ 	(ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
+ 	s390.h (PROMOTE_PROTOTYPES): Remove.
+ 	config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
+ 
+ 	* s390.md (muldi3): Delete, use instead ...
+ 	(mulsidi3): ... this.
+ 	(*muldi3_64): Rename to muldi3.
+ 	(mulsi_6432): Fix template.
+ 	(divdi3, moddi3): Delete, replace by ...
+ 	(divmoddi4): ... this.
+ 	(divmodtidi3): Fix template.
+ 	(divmodtisi3): New.
+ 	(udivdi3, umoddi3): Delete, replace by ...
+ 	(udivmoddi4): ... this.
+ 	(udivmodtidi3): Fix template.
+ 	(divsi3, modsi3): Delete, replace by ...
+ 	(divmodsi4): ... this.
+ 	(divmoddisi3): Fix template.
+ 	(udivsi3, umodsi3): Adapt.
+ 
+ 	* s390.md (anddi3): Remove SS alternative, use instead ...
+ 	(anddi3_ss, anddi3_ss_inv): ... these.
+ 	(anddi3_ni): New.
+ 	(andsi3*, andhi3*, andqi3*): Likewise.
+ 	(iordi3): Remove SS alternative, use instead ...
+ 	(iordi3_ss, iordi3_ss_inv): ... these.
+ 	(iordi3_oi): New.
+ 	(iorsi3*, iorhi3*, iorqi3*): Likewise.
+ 	(iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
+ 	(xordi3): Remove SS alternative, use instead ...
+ 	(xordi3_ss, xordi3_ss_inv): ... these.
+ 	(xordi3_oi): New.
+ 	(xorsi3*, xorhi3*, xorqi3*): Likewise.
+ 	(xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
+ 	(one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
+ 	Expand to XOR with -1.
+ 	(*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
+ 	(cmpdi_tm): Delete, replace by ...
+ 	(cmpdi_tm_reg, cmpdi_tm_mem): ... these.
+ 	(cmpsi_cct): Delete, replace by ...
+ 	(cmpsi_tm_reg, cmpsi_tm_mem): ... these.
+ 	(cmpdi_tm2, cmpsi_tm2): Improve.
+ 	(cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
+ 	s390.c (s390_single_hi, s390_extract_hi,
+ 	s390_single_qi, s390_extract_qi): New helper routines.
+ 	s390-protos.h (s390_single_hi, s390_extract_hi,
+ 	s390_single_qi, s390_extract_qi): Declare.
+ 	s390.c (tmxx_operand, const1_operand): Remove.
+ 	s390-protos.h (tmxx_operand, const1_operand): Likewise.
+ 	s390.h (PREDICATE_CODES): Likewise.
+ 
+ 	* s390.md (sqrtdf2, sqrtsf2): New.
+ 
+ 	* s390.h (CRT_CALL_STATIC_FUNCTION): Define.
+ 	(check_and_change_labels): Remove section-change special case.
+ 
+ 	* s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
+ 	in leaf functions.  Needs ...
+ 	(DYNAMIC_CHAIN_RTX):  ... this.  New.
+ 
+ 	* s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
+ 
+ 	* s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
+ 	clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
+ 	input operands using a match_dup clause.
+ 	(movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
+ 
+ 	* s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
+ 	floatsisf2, floatsisf2_ieee): Add missing CC clobber.
+ 
+ 	* s390.md (floatsidf2_ibm): Use correct operand.
+ 
+ 	* s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
+ 	fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
+ 	non-portable constants.
+ 	s390.c (s390_gen_rtx_const_DI): New helper routine.
+ 	s390-protos.h (s390_gen_rtx_const_DI): Declare.
+ 
+ 	* s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
+ 
+ 	* config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
+ 	ASM_OUTPUT_BYTE): Clean up assembly output.
+ 	(ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
+ 	(ASM_OUTPUT_ASCII): Remove.
+ 
+ 	* config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
+ 
+ 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
+ 	before including unwind-dw2-fde.c, if we are not using the
+ 	special code in this file.
+ 
+ 2001-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (TARGET_SWITCHES): Turn on
+ 	MASK_EXPLICIT_RELOCS if the assembler supports it.
+ 	* configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
+ 	* configure, config.in: Rebuild.
+ 
+ Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
+ 	for rounded_stack_size.
+ 
+ 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
+ 	config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
+ 	toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
+ 	"bit-field" spellings in messages.
+ 	* po/gcc.pot: Regenerate.
+ 
+ 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
+ 	American spelling in messages.
+ 	* po/gcc.pot: Regenerate.
+ 
+ 2001-12-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Adjust whitespacing.  Remove
+ 	constraints from expanders.  Replace \@ with @.
+ 
+ 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
+ 
+ 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* regrename.c (copyprop_hardreg_forward): Do not keep register
+ 	value data live across abnormal call or eh egdes.
+ 
+ Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (highest_pow2_factor, case INTEGER_CST): Return
+ 	BIGGEST_ALIGNMENT for 0.
+ 
+ Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def (PRED_NORETURN): Make probabilities match reality.
+ 	(PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
+ 	Likewise.
+ 
+ 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: Check for ld.
+ 	(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
+ 	* configure, config.in: Rebuilt.
+ 	* config.gcc: Add crtbeginT.o to extra_parts where needed.
+ 	* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
+ 	frame unwinding on Linux.
+ 	* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
+ 	frame unwinding.
+ 	* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+ 	(LINK_EH_SPEC): Define.
+ 	* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+ 	* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
+ 	* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
+ 	iterate further if pc falls into current library, but fde was not
+ 	found.
+ 	* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
+ 	if using glibc.
+ 	(LINK_EH_SPEC): Define.
+ 	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
+ 	Use crtbeginT.o for -static.
+ 	(LINK_EH_SPEC): Define.
+ 	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
+ 	* Makefile.in (crtbeginT.o): Add rule.
+ 	* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
+ 	If neither -static-libgcc nor -shared-libgcc is passed and -shared,
+ 	use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
+ 	If none of the above switches are passed, use -lgcc -lgcc_eh.
+ 	(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
+ 	* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
+ 	creating libgcc_s.so, put them into separate libgcc_eh.a instead.
+ 	* unwind-dw2-fde.c: Don't include any headers if this file
+ 	is included from other .c file.
+ 	* unwind-dw2-fde-glibc.c: New file.
+ 	* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
+ 	Use it instead of EH_FRAME_SECTION_NAME where appropriate.
+ 
+ 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memcmp): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* cfgcleanup.c (insns_match_p): Likewise.
+ 	* regrename.c (mode_change_ok): Likewise.
+ 	* gcc.c (execute): Const-ify.
+ 
+ 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-parse.in (typename): Do not split attributes.
+ 	Remove unsupported attributes warning.
+ 
+ 	* c-decl.c (groktypename): Apply attributes.
+ 
+ 2001-12-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (spill_restore_mem): Mark iterator
+ 	initialization as possibly dead.
+ 
+ 2001-12-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (mode_change_ok): New.
+ 	(find_oldest_value_reg): Use it.
+ 
+ 2001-12-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (struct value_data): Add max_value_regs.
+ 	(init_value_data): Initialize it.
+ 	(kill_value): Kill values that overlap the dying register.
+ 	(set_value_regno): New.
+ 	(kill_set_value, kill_autoinc_value, copy_value): Use it.
+ 	(copyprop_hardreg_forward_1): Kill earlyclobber operands
+ 	before looking at inputs.
+ 
+ 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
+ 	DECL_WEAK for function descriptors.
+ 	* config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
+ 	weak support present.
+ 	(ASM_WEAKEN_LABEL): Same.
+ 
+ 2001-12-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (anonymous pattern): Add a missing
+ 	mode.
+ 
+ 2001-12-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
+ 	comment typo.
+ 
+ 2001-12-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
+ 	Remove the initialization requierment.
+ 	(h8300_handle_tiny_data_attribute): Likewise.
+ 
+ 2001-12-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (udivqi3): Remove.
+ 	(divqi3): Likewise.
+ 	(udivhi3): Likewise.
+ 	(divhi3): Likewise.
+ 	(umodqi3): Likewise.
+ 	(modqi3): Likewise.
+ 	(umodhi3): Likewise.
+ 	(modhi3): Likewise.
+ 	(udivmodqi3): New.
+ 	(divmodqi3): Likewise.
+ 	(udivmodhi3): Likewise.
+ 	(divmodhi3): Likewise.
+ 
+ Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (flow_find_cross_jump): Replace tests for note
+ 	by active_insn_p; count conditional jump as instruction.
+ 
+ 2001-12-14  DJ Delorie  <dj@redhat.com>
+ 	    Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
+ 	at SYM_NAME[0] or SYM_NAME[3].
+ 	(STRIP_NAME_ENCODING): Don't check for leading '*'.
+ 
+ 2001-12-14  Ira Ruben	<ira@apple.com>
+ 
+ 	Add -### option (displays driver-generated commands without
+ 	executing and quotes all arguments).
+ 	* doc/invoke.texi: Add -###.
+ 	* gcc.c (verbose_only_flag) - New flag.
+ 	* (execute): If -### write quoted arguments and return.
+ 	* (display_help): Print meaning of -###.
+ 	* (process_command): Handle -###.
+ 
+ 2001-12-14  Ira Ruben	<ira@apple.com>
+ 
+ 	Fix to no allow -save-temps to clobber user's source file.
+ 	* gcc.c: Add static globals input_stat and input_stat_set.
+ 	(do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
+ 	set, check that user's input file is not overwritten.
+ 	(set_input): Reset input_stat_set for each new file.
+ 
+ Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
+ 
+ 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* combine.c (record_dead_and_set_regs): Use
+ 	regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
+ 
+ 2001-12-14  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
+ 	__builtin_fsqrt to __builtin_sqrt.
+ 
+ 	* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
+ 	* doc/extend.texi: Simplify documentation to match patch.
+ 
+ Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config.gcc: Revamp target_cpu_default2 to strings;
+ 	support new x86 variants.
+ 	* i386.c (override_options): Default x86_cpu_string and x86_arch_string
+ 	properly; set prefetch_sse.
+ 	* i386.h (x86_prefetch_sse): Declare.
+ 	(TARGET_PREFETCH_SSE): New.
+ 	(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
+ 	(TARGET_CPU_DEFAULT_*): New.
+ 
+ Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
+ 			      Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config/i386/i386.h (struct processor_costs): Add new members
+ 	  prefetch_block and simultaneous_prefetches.
+ 	  (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
+ 	* config/i386/i386.c (processor_costs structs): Add values for
+ 	  prefetch_block and simultaneous_prefetches.
+ 	* config/i386/i386.md (unspec values): Remove values for prefetch
+ 	  operations, which now use the PREFETCH rtx code.
+ 	  (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
+ 	  unified prefetch support.
+ 
+ 2001-12-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	* diagnostic.c (sorry): Increment sorrycount before saving the
+ 	buffer state.
+ 
+ Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sqrt?f): Fix conditionals.
+ 
+ Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config.gcc (alpha64-dec-*vms*): New case.
+ 	* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
+ 	* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
+ 	* config/alpha/xm-vms64.h: Likewise.
+ 
+ 	* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
+ 	(alpha_write_linkage): Test for null alpha_links.
+ 	(SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
+ 	(vms_section_type_flags, vms_asm_named_section): Handle them.
+ 
+ Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_fpmath, ix86_fpmath_string): New.
+ 	(override_option): Set ix86_fpmath.
+ 	* i386.h (MASK_MIX_SSE_I387): Remove.
+ 	(TARGET_SSE_MATH): New.
+ 	(TARGET_MIX_SSE_I387): Use ix86_fpmath.
+ 	(TARGET_SWITCHES): Remove "mix-sse-i387".
+ 	(fpmath_unit): New enum.
+ 	(ix86_fpmath, ix86_fpmath_string): Declare.
+ 	* i386.md (swapsf): Fix condition.
+ 	(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
+ 	(fp_?f_*_nosse): New.
+ 	(fp_*): Use TARGET_SSE_MATH.
+ 	* invoke.texi (-mfpmath): Document.
+ 	(-msse2): Add.
+ 
+ 2001-12-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (output_die): Print the string in the comment for
+ 	a DW_FORM_strp.
+ 
+ 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* netbsd.h (COLLECT_SHARED_INIT_FUNC)
+ 	(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
+ 	* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+ 	(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
+ 
+ 2001-12-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (kill_value_regno): Simplify chain removal.
+ 	(kill_value): Kill all of HARD_REGNO_NREGS.
+ 	(kill_set_value): Use kill_value not kill_value_regno.
+ 	(kill_autoinc_value): Likewise.
+ 	(copyprop_hardreg_forward): Don't collect refresh_blocks.
+ 	Call delete_noop_moves.
+ 
+ 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* attribs.c (c_common_attribute_table): Swap decl_req and type_req
+ 	for the mode attribute.
+ 	(handle_mode_attribute): Handle types, not decls.
+ 
+ 2001-12-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
+ 
+ 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
+ 	constraint to base register.
+ 	(eh_set_lr_si): Same.
+ 
+ 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): Don't honor
+ 	flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
+ 	modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
+ 
+ Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
+ 	warning and reformat comments.
+ 	(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
+ 	(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
+ 	if overflow.
+ 
+ 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Add
+ 	SUBSUBTARGET_OVERRIDE_OPTIONS.
+ 
+ 	* config/rs6000/eabialtivec.h: New file.
+ 
+ 	* config/rs6000/linuxaltivec.h: New file.
+ 
+ 	* config.gcc: Add powerpc-*-eabialtivec and
+ 	powerpc-*-linux-gnualtivec.
+ 
+ 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* toplev.c (process_options, parse_options_and_default_flags):
+ 	Set flag_no_inline before the post_options hook.
+ 
+ 2001-12-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
+ 	is false.
+ 
+ 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* collect2.c (COLLECT_SHARED_INIT_FUNC)
+ 	(COLLECT_SHARD_FINI_FUNC): Define default values.
+ 	(write_c_file_stat): Use them to call construtor and destructor
+ 	functions in shared libraries.
+ 	* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+ 	(COLLECT_SHARD_FINI_FUNC): Document them.
+ 	* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
+ 	(COLLECT_SHARD_FINI_FUNC): Define.
+ 
+ 	* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
+ 	shared library.  Pass -shared through to the linker.
+ 	* config/arm/netbsd.h (LINK_SPEC): Likewise.
+ 
+ 	* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
+ 	(SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
+ 	(SHLIB_INSTALL): Define.
+ 
+ 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
+ 	the same way as we handle SYMBOL_REFS.
+ 
+ Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* loop.c (remove_constant_addition): Fix prototype and whitespace.
+ 	(emit_prefetch_instructions): Remove warnings and whitespace
+ 	changes.
+ 
+ Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms-cc.c (preprocess_args): Fix forward
+ 	declaration.
+ 
+ Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Reorganize opcode heuristics.
+ 	* predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
+ 	PRED_FPOPCODE): New.
+ 
+ 	* i386.c (override_options): Recognize various CPU variants and set
+ 	SSE/MMX/3dNOW flags accordingly.
+ 	* i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
+ 	MASK_3DNOW_A_SET): New.
+ 	(MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
+ 	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
+ 	(MASK_*): Renumber.
+ 	(TARGET_FLAGS): Use new masks.
+ 	(CPP_CPU_SPECS): Recognize new CPU variants.
+ 	* invoke.texi (-mcpu): Update documentation.
+ 
+ 	* flags.h (flag_prefetch_loop_arrays): Declare.
+ 	* loop.h (LOOP_PREFETCH): Define new constant.
+ 	* loop.c (strength_reduce): Call emit_prefetch_instructions.
+ 	(MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
+ 	PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
+ 	constants.
+ 	(check_store_data): New structure.
+ 	(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
+ 	New functions.
+ 	* toplev.c: Include insn-flags.h.
+ 	(flag_prefetch_loop_arrays): New global variable.
+ 	(lang_independent_option): Add -fprefetch-loop-arrays.
+ 	(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
+ 	is set.
+ 	* Makefile.in (toplev.c): Depend on insn-flags.h.
+ 	* invoke.texi (-fprefetch-loop-arrays): Document.
+ 
+ 	* predict.c (estimate_probability): Distribute the loop exit
+ 	probability according to number of exit edges.
+ 
+ 	* cfgcleanup.c (insns_match_p): Break out from ...;
+ 	(flow_find_cross_jump): ... here;
+ 	(outgoing_edges_match): Add parameter MODE; attempt to match everything
+ 	except for tablejumps.
+ 	(try_crossjump_to_edge): Accept complex edges.
+ 	(try_crossjump_bb): Likewise.
+ 
+ 2001-11-29  Corey Minyard <minyard@acm.org>
+ 
+ 	* recog.c (validate_replace_rtx_1): Use simplify_gen_binary
+ 	instead of plus_constant.
+ 	* simplify-rtx.c (neg_const_int): New.
+ 	(simplify_gen_binary, simplify_plus_minus): Use it.
+ 
+ 2001-12-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_memset, expand_builtin_memcpy,
+ 	expand_builtin_strcpy): Additional arguments TARGET and MODE.
+ 	(expand_builtin_bzero, expand_builtin_strcpy,
+ 	expand_builtin_strncpy, expand_builtin_bzero): Pass additional
+ 	TARGET and MODE parameters to the above functions.
+ 	(expand_builtin_memset, expand_builtin_memcpy): Optimize the
+ 	case where the LEN parameter is constant zero.
+ 	(expand_builtin_memcmp): No longer conditional on
+ 	HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
+ 	the cases where len is either constant zero or one.
+ 	Optimize to call to memcpy, even if the memcpy isn't inlined.
+ 	(expand_builtin_strncpy): Optimize to call memcpy, even if the
+ 	memcpy isn't inlined.
+ 	(expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
+ 	to optimize to a call to memcmp.
+ 	(expand_builtin): expand_builtin_memcmp can always be called,
+ 	and pass the required parameters to expand_builtin_memcmp,
+ 	expand_builtin_memset, expand_builtin_memcpy and
+ 	expand_builtin_strcpy.
+ 
+ 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (arm-*-freebsd*): Add target.
+ 	* config/arm/freebsd.h: New file.
+ 	* config/arm/arm.h (CPP_PREDEFINES): Do not define.
+ 	(CPP_SPEC): #undef before defining.
+ 	(CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
+ 	* config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
+ 	-Amachine=arm.
+ 	* config/arm/linux-elf.h: Likewise.
+ 	* config/arm/netbsd.h: Likewise.
+ 	* config/arm/riscix.h: Likewise.
+ 	* config/arm/riscix1-1.h: Likewise.
+ 	* config/arm/semiaof.h: Likewise.
+ 
+ 2001-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (copyprop_hardreg_forward): New optimization.
+ 	(kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
+ 	kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
+ 	replace_oldest_value_reg, replace_oldest_value_addr,
+ 	replace_oldest_value_mem, copyprop_hardreg_forward_1,
+ 	debug_value_data, validate_value_data): New.
+ 	* rtl.h (copyprop_hardreg_forward): Declare.
+ 	* toplev.c (flag_cprop_registers): New.
+ 	(f_options): Add -fcprop-registers
+ 	(rest_of_compilation): Invoke it.
+ 	(parse_options_and_default_flags): Set it at -O1.
+ 	* doc/invoke.texi: Document it.
+ 
+ 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
+ 	(DEBUG_RANGES_SECTION_LABEL): Define.
+ 	(ranges_section_label): Add.
+ 	(add_AT_range_list): New.
+ 	(print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
+ 	(output_loc_list): Location expression length is always 2-byte.
+ 	(output_die): Handle dw_val_class_range_list.
+ 	(gen_lexical_block_die): Call add_AT_range_list.
+ 	(dwarf2out_init): Initialize ranges_section_label.
+ 	(dwarf2out_finish): Emit ranges_section_label.
+ 
+ 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (digest_init): Allow initializing
+ 	static storage duration objects with compound literals.
+ 	* doc/extend.texi (Compound literals): Document the extension.
+ 
+ 2001-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (adjust_address_1): Always copy address to avoid
+ 	shared rtl.
+ 
+ Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* stmt.c (expand_end_case): Do subtraction of lower bound as trees
+ 	to avoid overflow.
+ 
+ Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* cppfiles.c (read_include_file): Set buffer size properly when
+ 	file is shorter than expected.
+ 
+ Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* objc/objc-act.c (encode_complete_bitfield): Fixed encoding
+ 	enumeral types - encode them using 'i'.
+ 
+ 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/extend.texi (Deprecated Features): Deprecate implicit
+ 	typename. Document that named return and initializer lists are now
+ 	removed.
+ 
+ 2001-12-11  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
+ 	compiler warning about enumeration values not being handled.
+ 
+ 2001-12-11  Momchil Velikov  <velco@fadata.bg>
+ 
+ 	* config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
+ 	shifts.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
+ 	* config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
+ 	* config/alpha/alpha.md (prefetch): New.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
+ 	if C has only low bits set and doesn't intersect with X or Y.
+ 
+ Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* basic-block.h (flow_preorder_transversal_compute): Declare.
+ 	* cfganal.c (flow_preorder_transversal_compute): Implement.
+ 
+ Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* cfganal.c (flow_depth_first_order_compute): Always
+ 	increment dfsnum.
+ 
+ 2001-11-30 Alan Matsuoka <alanm@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx) : Can't simplify
+ 	cases that use mode class MODE_CC.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
+ 	which there is no divide expander.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (sjlj_find_directly_reachable_regions): Don't
+ 	consider RNL_BLOCKED a directly reachable region.
+ 	(sjlj_assign_call_site_values): Trust directly_reachable.
+ 	(sjlj_emit_dispatch_table): Likewise.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (divmodsi_internal_er): Split, so that
+ 	we represent the address load's dependency on the gp.
+ 	(divmoddi_internal_er): Likewise.
+ 	(divmodsi_internal_er_1, divmoddi_internal_er_1): New.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (widen_memory_access): New.
+ 	* expr.h (widen_memory_access): Declare it.
+ 	* config/alpha/alpha.c (get_aligned_mem): Use it.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
+ 	simplification above out of range check.
+ 
+ 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* config/sparc/sparc.md (prefetch): New.
+ 
+ 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* output.h (regno_uninitialized): Make argument unsigned.
+ 
+ 	* flow.c (regno_uninitialized): Make regno unsigned.
+ 
+ 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
+ 	* config/cris/cris.h (ENDFILE_SPEC): Define.
+ 	* config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
+ 	* config/pa/elf.h: Likewise.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* objc/objc-act.c (build_string_class_template): New.
+ 	(build_objc_string_object): Call it.
+ 
+ 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+ 	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
+ 	* calls.c (store_unaligned_arguments_into_pseudos): Check
+ 	FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
+ 	are passed/returned.
+ 	* expr.c (move_block_from_reg): Ditto.
+ 	(move_block_from_reg): Ditto.
+ 	(copy_blkmode_from_reg): Ditto.
+ 	* stmt.c (expand_return): Ditto.
+ 	* stor-layout.c (compute_record_mode): If
+ 	FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
+ 	MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
+ 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
+ 	so that Structures of one field are still treated as structures.
+ 	(FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
+ 	(FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
+ 	(PAD_VARARGS_DOWN): Modify from default to not pad structures down.
+ 	* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
+ 	* config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
+ 	to special case handling of structure padding.
+ 
+ 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
+ 	(may_trap_exp): Stores only are risk if they trap, too, not just
+ 	if code == MEM.
+ 
+ 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* flow.c (find_regno_partial): Indent properly.  Add a default to
+ 	switch.
+ 
+ 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (combine_strings): Complain if concatenating
+ 	__FUNCTION__.
+ 	* c-parse.in (yylexname): Flag artificial strings.
+ 	* tree.h (TREE_ARTIFICIAL_STRING_P): New.
+ doc:
+ 	* extend.texi: Update.
+ 
+ 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.c (type_for_mode): Handle unsigned vectors.
+ 	(type_for_mode): Remove redundant calls to TYPE_MODE.
+ 
+ 	* tree.c (make_vector): New.
+ 	(build_common_tree_nodes_2): Use make_vector for vector types.
+ 	Add unsigned vector types.
+ 
+ 	* tree.h (tree_index): Add unsigned types for vectors.
+ 	(unsigned_V16QI_type_node): New.
+ 	(unsigned_V4SI_type_node): New.
+ 	(unsigned_V8QI_type_node): New.
+ 	(unsigned_V8HI_type_node): New.
+ 	(unsigned_V4HI_type_node): New.
+ 	(unsigned_V2SI_type_node): New.
+ 
+ 2001-12-11  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
+ 	test of class names.
+ 
+ 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (m68020-*-elf*): Expand tm_file to include all needed
+ 	cpu configuration headers.
+ 	* config/h8300/elf.h: Include dbxelf.h.
+ 	* config/m68k/linux.h: Likewise.
+ 	* config/m68k/m68020-elf.h: Likewise.
+ 	* config/m68k/m68kv4.h: Likewise.
+ 	* config/sh/elf.h: Likewise.
+ 	* config/m68k/m68kemb.h: Add comment about the its purpose.
+ 
+ 2001-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* objc/objc-act.c (build_constructor): Cast initializer values
+ 	to the proper field types.
+ 
+ 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
+ 
+ 2001-12-10  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin): Use a switch statement to list
+ 	those functions not expanded without optimizations, instead of a
+ 	series of equality tests.
+ 
+ Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (LIB_SPEC): Define.
+ 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
+ 
+ 	* libgcc2.c (_bb): Remove ctime declaration.
+ 
+ 	* Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
+ 	that works if LN_S = cp.
+ 
+ 	* config/alpha/x-vms (version): Change "." to "_".
+ 
+ 	* configure.in: Hardcode that vfork works on VMS host.
+ 	* configure: Regenerated.
+ 
+ Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* gcc.c (convert_filename): Add do_obj parameter. Don't convert
+ 	unless do_obj true.
+ 	(process_command): Modify calls to convert_filename.
+ 
+ 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sparc/sol2-sld-64.h: Include dbxelf.h again.
+ 
+ Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* combine.c (known_cond): Check mode of each operand to determine
+ 	if COND is comparing floating point values.
+ 
+ 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.h (processor_type): Add PPC405.
+ 	(RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
+ 	* rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
+ 	rios1, rs64, and ppc630 processors.
+ 	* rs6000.c (processor_target_table): Add PPC405.
+ 
+ 2001-12-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
+ 	instead of hardcoding subregs into the _be and _le patterns.
+ 
+ 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
+ 
+ Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
+ 	what insn does.
+ 
+ 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
+ 	copyright notice formerly conditioned on @ifinfo on @ifnottex
+ 	instead.
+ 
+ Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* vmsdbgout.c (lookup_filename): Remove warning.
+ 
+ Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
+ 
+ 	* config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
+ 	(exeext, target_alias, prefix, local_prefix): Define.
+ 	* config/alpha/x-vms (USE_COLLECT2): Make empty.
+ 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
+ 	file specifications. Remove ".".
+ 	(GCC_INCLUDE_DIR): Remove redefinition (redundant).
+ 	* fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
+ 
+ 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
+ 
+ Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
+ 	Add rules for building [vp]crt0.o
+ 	* config/alpha/vms.h (START_FILE_SPEC): Define.
+ 	* config/alpha/x-vms (VMS_EXTRA_PARTS): Define
+ 	* config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
+ 	* doc/invoke.texi: Document special Alpha/VMS options.
+ 
+ Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
+ 	* vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
+ 	not GNUC.
+ 
+ Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 			  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* tree.c (append_random_char): Conditionalize INO for VMS.
+ 
+ 2001-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (label_is_jump_target_p): New function.
+ 	(try_optimize_cfg): Use label_is_jump_target_p to check if label is
+ 	target of a JUMP_INSN from the preceding block.
+ 
+ Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* vmsdbgout.c (lookup_filename): Assign null string instead
+ 	of null pointer to fnam.
+ 
+ 2001-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_align_insns): Suppress realignment
+ 	immediately after a call; insert nops before a call.
+ 
+ 2001-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_align_insns): Use align_functions,
+ 	not FUNCTION_BOUNDARY.
+ 	* config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
+ 	* config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
+ 	* config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
+ 
+ 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_function_block_profiler,
+ 	mmix_block_profiler, mmix_function_block_profiler_exit): Delete
+ 	unused functions.
+ 	* config/mmix/mmix-protos.h (mmix_function_block_profiler,
+ 	mmix_block_profiler, mmix_function_block_profiler_exit): Delete
+ 	prototypes.
+ 
+ 	* config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
+ 	Delete obsoleted macros.
+ 
+ 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
+ 	doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
+ 
+ 	* ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
+ 	cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
+ 	function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
+ 	config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
+ 	config/i370/i370.c, config/i386/i386.c,
+ 	config/i386/i386-interix.h, config/i386/i386.md,
+ 	config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
+ 	config/m32r/m32r-protos.h, config/mcore/mcore.h,
+ 	config/rs6000/rs6000.h, config/sparc/linux64.h,
+ 	config/sparc/sparc.c, config/v850/v850-protos.h,
+ 	config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
+ 	spelling errors.
+ 
+ 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
+ 	altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
+ 
+ 	* config/rs6000/rs6000.c: Ditto.
+ 
+ 	* config/rs6000/rs6000.md: Ditto.
+ 
+ 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.md: Add default case in switch.
+ 	* alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
+ 	if-else statement.
+ 	* dsp16xx.c (print_operand_address): Likewise.
+ 	* i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
+ 	* ia64.md: Add missing braces.
+ 	* rs6000-protos.h (s8bit_cint_operand): Prototype.
+ 	* s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
+ 	if-else statement.
+ 	* stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
+ 	* v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
+ 	* dbxout.c (dbxout_source_file): Move a variable into the scope
+ 	where it is used.
+ 	* final.c (profile_function): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* genemit.c (gen_expand): Likewise for generated file.
+ 	* insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
+ 
+ 	* vmsdbg.h: Delete spurious close-comment.
+ 	(DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
+ 	* vmsdbgout.c (write_modbeg): Define return type.
+ 
+ 	* m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
+ 	* m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
+ 	* m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
+ 	* m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
+ 	* m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
+ 
+ 2001-12-08  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
+ 	* config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
+ 	* config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
+ 	for powerpc64.
+ 	* config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
+ 	movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
+ 	* config/rs6000/rs6000.c (expand_block_move): Do not use
+ 	gen_movstrsi_2reg and powerpc64.
+ 
+ 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.h (rid): Add RID_CHOOSE_EXPR and
+ 	RID_TYPES_COMPATIBLE_P.
+ 
+ 	* c-parse.in (reswords): Add __builtin_choose_expr.
+ 	Add __builtin_types_compatible_p.
+ 	Add CHOOSE_EXPR token.
+ 	Add TYPES_COMPATIBLE_P token.
+ 	Add production for CHOOSE_EXPR.
+ 	Add production for TYPES_COMPATIBLE_P.
+ 
+ 	* doc/extend.texi (__builtin_choose_expr): Add documentation.
+ 	(__builtin_types_compatible_p): Likewise.
+ 
+ 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
+ 	to unions.
+ 
+ 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in: Take string literals in assembler constructs,
+ 	not expressions.
+ 	* c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
+ 	check the strings are STRING_CSTs.
+ 
+ 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
+ 	using combine_strings to do the concatenation.
+ 	* c-parse.in: Replace uses of the string non-terminal with STRING.
+ 	Don't attempt string concatenation.
+ 	(OBJC_STRING): New terminal.
+ 	(string): Remove non-terminal.
+ 	(_yylex): Call combine_strings on function names.  Generate
+ 	OBJC_STRING terminals; don't pass '@' on to yacc.
+ 	* c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
+ 	(build_asm_stmt): Similarly.
+ 
+ 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtlanal.c (get_jump_table_offset): Delete unused variable.
+ 
+ 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (VUNSPEC_PREFETCH): Delete constant definition.
+ 	(prefetch): Rewrite using PREFETCH RTL primitive.
+ 	* arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
+ 	* arm.c (arm_init_builtins): Don't initialize a builtin for
+ 	__builtin_prefetch here.
+ 	(arm_expand_builtin): Don't expand __builtin_prefetch here.
+ 
+ 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
+ 	in test for a subreg.
+ 
+ 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
+ 	strings.
+ 
+ 2001-12-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi: Fix typo last change.
+ 
+ 	* c-decl.c (c_language): Remove duplicate.
+ 
+ 2001-12-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
+ 	specific codegen, eliminate a register copy.
+ 	(print_operand_address): Add support for Darwin's lo16(constant)
+ 	syntax.
+ 	(rs6000_machopic_legitimize_pic_address): Fix darwin-specific
+ 	generation of addresses within very large data objects.
+ 	(s8bit_cint_operand):  New.
+ 	* config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
+ 	Move "mtjmpr" to correct functional unit for 750/7400/7450.
+ 	Add imul2 and imul3 insn types for multiplication by 16- and
+ 	8-bit constants.
+ 	Change tablejump patterns to strongly discourage using LR
+ 	rather than CTR.
+ 	Add %lo16 patterns for Darwin loads and stores.
+ 
+ 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
+ 
+ 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
+ 
+ 	* config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
+ 	with %sp because it can cause the delayed instruction to load
+ 	below the stack.
+ 
+ 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (alpha_expand_unaligned_store,
+ 	alpha_expand_unaligned_store_words): Use constm1_rtx in place of
+ 	call to immed_double_const.
+ 
+ 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/extend.texi (Variable Attributes): Document vector_size.
+ 
+ 	* attribs.c (c_common_attribute_table): Add vector_size.
+ 	(handle_vector_size_attribute): New.
+ 	(vector_size_helper): New.
+ 	(decl_attributes): Relayout the decl after calculating attribs.
+ 
+ 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Don't include install-old.texi.  Adjust menu
+ 	description for Trouble section.
+ 	* doc/install-old.texi: Adjust for inclusion as chapter of new
+ 	installation manual.
+ 	* doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
+ 	Adjust to include old installation chapter as chapter of new
+ 	installation manual.
+ 
+ Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtl.h (get_jump_table_offset): Declare.
+ 	* rtlanal.c (get_jump_table_offset): Implement.
+ 
+ Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
+ 	Deleted; were used only by BB profiler code.
+ 	(sbb_head, sbb_tail, sbb_label_num): Likewise.
+ 	(end_final): Delete now-unused vars I, PTR, and SPTR.
+ 
+ 	* expr.c (store_field): Remove warning.
+ 	(expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
+ 	(highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
+ 	(highest_pow2_factor, case *_DIV_EXPR): Only can do something if
+ 	divisor constant power of 2.
+ 	(highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
+ 
+ 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (function_arg): Cast value to HOST_WIDE_INT before
+ 	shifting.
+ 
+ 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
+ 	(DWARF_FRAME_REGISTERS): Delete.
+ 
+ 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* builtin-types.def (BT_FN_VOID_PTR_VAR): New.
+ 	* builtins.def (BUILT_IN_PREFETCH): Change arguments.
+ 	* builtins.c (expand_builtin_prefetch): Two arguments are now optional,
+ 	with defaults for read prefetch with high degree of locality.
+ 	* doc/extend.texi (__builtin_prefetch): Update documentation.
+ 	* doc/md.texi (prefetch): Add documentation.
+ 
+ 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
+ 	UNIX V5.1A stdio.h.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	Fixes PR libf2c/4826.
+ 
+ 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
+ 	(PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
+ 
+ 	* unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
+ 	to PRE_GCC3_DWARF_FRAME_REGISTERS.
+ 	(frame_state): Same.
+ 	(PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
+ 
+ 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* langhooks.c (lhd_staticp): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2001-12-06  H.J. Lu <hjl@gnu.org>
+ 
+ 	* Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
+ 	reduce noise.
+ 	(.po.pox): Likewise.
+ 	(o/$(PACKAGE).pot): Likewise.
+ 
+ 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
+ 	* tree-inline.c (expand_call_inline): ... here.
+ 
+ 2001-12-06  H.J. Lu <hjl@gnu.org>
+ 
+ 	* Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
+ 	(.po.pox): Likewise.
+ 	(o/$(PACKAGE).pot): Likewise.
+ 
+ 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc: Include dbxelf.h before elfos.h.
+ 	* elfos.h: Don't include dbxelf.h, let config.gcc handle it.
+ 
+ 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppfiles.c (open_file): If we've opened a directory by
+ 	mistake, close it.
+ 	(find_include_file): Avoid turning / into // or // into ///.
+ 
+ 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.h (STRUCT_VALUE): Suppress definition.
+ 	(STRUCT_VALUE_REGNUM): Restore definition.
+ 
+ 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
+ 
+ 	* flow.c (find_regno_partial): Return register, not the expression
+ 	the register is in.
+ 
+ Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (handle_epilogue_set): Check for FP setting case when
+ 	SP is set from FP in same insn.
+ 
+ 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (load_multiple_sequence): Pass pointer to
+ 	RTX when calling alter_subreg().
+ 	(store_multiple_sequence): Pass pointer to RTX when calling
+ 	alter_subreg().
+ 
+ Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (assing_parms): Fix typo in last change.
+ 	* config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
+ 	* config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
+ 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ 	* config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
+ 
+ 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
+ 	correct code selecting section.
+ 
+ Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (count_basic_block, add_bb, add_bb_string):
+ 	Kill.
+ 	(end_final, final_start_function, final, final_scan_insn,
+ 	leaf_function_p): Kill BB profiler related code.
+ 	* flags.h (profile_block_flag): Kill.
+ 	* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
+ 	BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
+ 	__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
+ 	bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
+ 	reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
+ 	__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
+ 	__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
+ 	__bb_init_trace_func): Kill.
+ 	* toplev.c (profile_block_flag): Kill.
+ 	(indepdendent_decode_option, process_options): Kill -a related code.
+ 	* alpha.c (direct_call_operand): Likewise.
+ 	* arm.c (arm_expand_prologue, thumb_expand_prologue,
+ 	thumb_expand_epilogue): Likewise.
+ 	* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
+ 	* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+ 	* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
+ 	ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
+ 	code.
+ 	(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
+ 	* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+ 	* i960.c (i960_output_function_prologue): Kill BB profiler related
+ 	code.
+ 	* ia64.c (ia64_compute_frame_size): Likewise.
+ 	* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
+ 	* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
+ 	* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
+ 	Kill BB profiler related code.
+ 	* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* mips.c (mips_expand_prologue): Kill BB profiler related code.
+ 	* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* rs6000.c (rs6000_override_options): Kill BB profiler related code.
+ 	* s960.c (s390_function_prologue): Kill BB profiler related code.
+ 	* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
+ 	sparc_nonflat_function_epilogue): Kill BB profiler related code.
+ 	(sparc_function_block_profiler, sparc_block_profiler,
+ 	sparc_function_block_profiler_exit): Kill.
+ 	* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
+ 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+ 	* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 	* doc/invoke.texi: Kill documentation of -a and -ax.
+ 	* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+ 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+ 	MACHINE_STATE_RESTORE): Kill.
+ 
+ 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
+ 
+ 	* doc/rtl.texi: Use a table to display RTL format characters.
+ 
+ 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
+ 
+ 	* config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
+ 
+ Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (keep_stack_depressed): Check global_live_at_start
+ 	of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
+ 
+ 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
+ 	as set by the generic FreeBSD configure framework.
+ 
+ 2001-12-04  Jason Merrill  <jason@redhat.com>
+ 
+ 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
+ 	start_inlining, end_inlining.
+ 	* tree-inline.c (expand_call_inline): Call them.
+ 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
+ 	(LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
+ 	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
+ 	* langhooks.c (lhd_tree_inlining_start_inlining): New fn.
+ 	(lhd_tree_inlining_end_inlining): New fn.
+ 
+ 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (shadow_warning): New function, moved from cp/decl.c.
+ 	* c-common.h (shadow_warning): New.
+ 	* c-decl.c: Include c-common.h.
+ 	(warn_if_shadowing): New, broken out of pushdecl.
+ 	(pushdecl): Use warn_if_shadowing.
+ 	(store_parm_decls): Prevent duplicate -Wshadow warnings.
+ 
+ Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
+ 	(DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
+ 	(LIB_SPEC): Remove.
+ 
+ Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
+ 	(QUAL_UNION_TYPE): New type.
+ 
+ 	* varasm.c (output_constant, case ERROR_MARK): New case.
+ 
+ 	* attribs.c (handle_no_check_memory_usage_atribute): Deleted.
+ 	(c_com): Delete its reference.
+ 	* builtins.c: Delete memory checking code.
+ 	* calls.c, expr.c, function.c, stmt.c: Likewise.
+ 	* builtins.c (expand_builtin_arg_info): Remove reference to
+ 	EXPAND_MEMORY_USE_* modifiers.
+ 	* explow.c (expr_size): Likewise.
+ 	* expr.c (expand_expr, expand_increment): Likewise.
+ 	* expr.h (ARGS_SIZE_RTX): Likewise.
+ 	* function.c (assign_parms, expand_pending_sizeso): Likewise.
+ 	* c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
+ 	* expr.c (in_check_memory_usage): Delete.
+ 	(get_push_address, get_memory_usage_from_modifier): Delete.
+ 	(expand_assigment): Use EXPAND_WRITE on destination.
+ 	(expand_expr): Delete ro_modifier.
+ 	* expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
+ 	add EXPAND_WRITE.
+ 	(memory_use_mode): Delete.
+ 	* flags.h (flag_check_memory_usage): Deleted.
+ 	(flag_prefix_function_name): Likewise.
+ 	* function.c (expand_function_start): Don't set
+ 	current_function_check_memory_usage.
+ 	* function.h (check_memory_usage): Delete.
+ 	* libfuncs.h, optabs.c: Delete chkr_* stuff.
+ 	* stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
+ 	EXPAND_WRITE.
+ 	* toplev.c (flag_check_memory_usage): Deleted.
+ 	(flag_prefix_function_name): Likewise.
+ 	(f_options, process_options): Delete references to above.
+ 	* tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
+ 	* varasm.c (CHKR_PREFIX): Deleted.
+ 	(make_decl_rtl): Remove flag_prefix_function_name handling.
+ 	(assemble_name): Likewise.
+ 	* doc/extend.texi: Remove no_check_memory_usage attribute.
+ 	* doc/invoke.texi: Remove -fcheck-memory-usage
+ 	and -fprefix-function-name.
+ 
+ 2001-12-05  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
+ 	from autoconf.
+ 
+ 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config.gcc: Include arm/xscale-coff.h before arm/arm.h.
+ 
+ 2001-12-05  William Cohen  <wcohen@redhat.com>
+ 
+ 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
+ 	instruction.
+ 
+ 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
+ 	builtins.
+ 
+ 	* config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
+ 	better reflect reality (change from Apple's tree).
+ 	Add more of altivec instructions.
+ 	Add ftruncv4sf2 pattern.
+ 	Remove more unspecs (vector merge instructions, etc).
+ 
+ 	* config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
+ 	builtins.
+ 	(bdesc_1arg): New, for 1 argument altivec builtins.
+ 	(altivec_expand_builtin): Handle unary and ternary ops.
+ 	(altivec_init_builtins): Ditto.
+ 
+ Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
+ 	* doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
+ 
+ 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcse.c (store_killed_in_insn): Consider pure calls
+ 	as potential store killers in addition to normal calls.
+ 
+ 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_expr): When checking promoted value, use
+ 	DECL_MODE (exp) and not mode.
+ 
+ 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (output_init_element): Call digest_init
+ 	just once, not in each if branch and check its return value for
+ 	error_mark_node.
+ 
+ 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
+ 	type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
+ 	(finish_struct): Break the loop if n_incomplete went to 0.
+ 	For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
+ 
+ Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_va_start): Update VMS case.
+ 
+ Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 			  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
+ 	* doc/invoke.texi: Add -gvms.
+ 	* doc/passes.texi: Add mention of vmsdbgout.c.
+ 	* doc/tm.texi: Document VMS debugging output.
+ 
+ Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.h (tree, rtx): Remove no-longer-needed definitions.
+ 
+ 	* function.c (keep_stack_depressed): Refine check for register
+ 	clobbered over call.
+ 
+ 	* expr.c (store_expr): When copying string constant into array,
+ 	use functions that update memrefs instead of computations on
+ 	addresses to better track MEMs.  Also properly handle 32/64 pointers.
+ 	(expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
+ 	(expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
+ 
+ 	* emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
+ 	underneath COMPONENT_REFs.
+ 	(set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
+ 
+ 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* toplev.c (display_target_options): Don't print twice.
+ 
+ Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* emit-rtl.c (set_unique_reg_note): Don't set
+ 	a REG_EQUAL or REG_EQUIV note if multiple sets
+ 	are present.
+ 
+ 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
+ 	CASE_DROPS_THROUGH.
+ 
+ 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* rtl.h (initialize_uninitialized_subregs): New prototype.
+ 	* toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
+ 	when optimization is on.
+ 	* flow.c (find_regno_partial): Find subregs within an expression.
+ 	(initialize_uninitialized_subregs): Initialize live on entry registers
+ 	which are used in subreg expressions.
+ 
+ 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
+ 
+ 2001-12-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* fixinc/fixincl.c (initialize): Avoid problemsome macro
+ 	parameter names (PR 3388).
+ 
+ 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
+ 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
+ 
+ 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.def (COMPOUND_LITERAL_EXPR): New.
+ 	* c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
+ 	(c_staticp): New function.
+ 	* c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
+ 	(c_staticp): Declare.
+ 	* c-typeck.c (default_function_array_conversion, build_unary_op):
+ 	Don't handle CONSTRUCTOR specially.
+ 	(lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
+ 	* c-decl.c (build_compound_literal): New function.
+ 	* c-tree.h (build_compound_literal): Declare.
+ 	* c-parse.in (primary): Use build_compound_literal.
+ 	* c-lang.c (LANG_HOOKS_STATICP): Define.
+ 	* objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
+ 	* doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
+ 	* doc/extend.texi: Update documentation of compound literals.
+ 	Fixes PR c/4787.
+ 
+ 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* langhooks.h (struct lang_hooks): Add staticp.
+ 	* langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
+ 	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
+ 	* langhooks.c (lhd_staticp): New function.
+ 	* tree.c (staticp): Call lang_hooks.staticp for language-specific
+ 	tree codes.
+ 
+ 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppspec.c (lang_specific_driver): Set is_cpp_driver.
+ 	* gcc.c (process_command): Ensure the cpp driver sees
+ 	--help and --target-help, and that the help is printed
+ 	exactly once.
+ 
+ 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
+ 
+ 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
+ 	flag_strict_aliasing.  Use separate assignment statements.
+ 
+ 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* build-make, cross-make: Delete file.
+ 	* configure.in: Set and substitute CROSS, ALL,
+ 	SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
+ 	HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
+ 	whether build == host and host == target.  Do not
+ 	AC_SUBST_FILE build_overrides or cross_overrides.  Do not
+ 	AC_SUBST cross_defines or extra_c_flags.
+ 	* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
+ 	(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
+ 	HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
+ 	partially or completely with autoconf-substituted @variable@
+ 	notation.
+ 	(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
+ 	@build_overrides@, @extra_c_flags@, all.build, install-build,
+ 	install-cross-rest, install-float-h-cross): Deleted.
+ 	(install-normal): Rename to install.  Delete old "install"
+ 	indirection rule.
+ 
+ 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* stmt.c (expand_return): Clear destination instead of clobbering it
+ 	when setting a return value via bitsets.
+ 
+ 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
+ 	it has DECL_SAVED_TREE.
+ 
+ 	* c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
+ 	is in a different binding level, get its abstract origin to be
+ 	olddecl.
+ 	* tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
+ 	check earlier.
+ 	* tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
+ 	DECL_INITIAL is NULL.
+ 
+ 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
+ 	Return correct value if one of the subexpressions was optimized to
+ 	0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
+ 	(and_reg_cond): Similarly.
+ 
+ 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (assign_parms): Set last_named only for last named
+ 	argument.
+ 
+ 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Use the GFDL.  Include years from old install
+ 	manual in copyright notice.  Include copyright and GFDL notice on
+ 	HTML index page.  Include usual footer on testing.html.
+ 	* doc/install.texi2html: Build gfdl.html.  Use -I
+ 	$SOURCEDIR/include.
+ 	* doc/include/fdl.texi: Adapt for use in the install manual.
+ 
+ 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Document that installed native compiler for
+ 	building cross compilers should be GCC 2.95 or later.
+ 
+ 2001-12-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
+ 	* config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
+ 	patterns.
+ 
+ 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rtl.def (PREFETCH): New rtx code.
+ 	* doc/rtl.texi (PREFETCH): Add documentation.
+ 	* function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
+ 	* rtlanal.c (reg_referenced_p): Ditto.
+ 	* sched-vis.c (print_exp):  Ditto.
+ 	* ssa-dce.c (find_inherently_necessary):  Ditto.
+ 
+ 	* config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
+ 	  (PREFETCH_BLOCK): Define.
+ 	* config/ia64/ia64.md (itanium_class): Add lfetch.
+ 	  (prefetch, prefetch_internal): New.
+ 
+ 	* builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
+ 	* builtins.def (BUILT_IN_PREFETCH): New.
+ 	* builtins.c (expand_builtin_expect): New.
+ 	  (expand_builtin): Call it.
+ 	* doc/extend.texi: Document __builtin_prefetch.
+ 
+ 	* config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
+ 	  conflicts with new generic prefetch functionality.
+ 	* config/i386/i386.c (ix86_expand_builtin): Use new name for
+ 	  prefetch_sse.
+ 
+ 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/Make-lang.in: Update copyright.
+ 	(OBJC_OBJS): Add objc-lang.o.
+ 	(objc-lang.o): New rule.
+ 	* objc/config-lang.in: Fix file description and update
+ 	copyright.
+ 	* objc/objc-act.c: Do not include langhooks.h and
+ 	langhooks-def.h
+ 	(lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
+ 	(objc_post_options): Move to objc-lang.c.
+ 	(objc_init_options): Move to objc-lang.c.
+ 	(objc_init): Make non-static.
+ 	(objc_decode_option): Make non-static.
+ 	(HASHFUNCTION): Remove macro.
+ 	(hash_func): New function.
+ 	(hash_enter): Replace HASHFUNCTION with hash_func.
+ 	(hash_lookup): Replace HASHFUNCTION with hash_func.
+ 	(maybe_objc_tree_codes): New function.
+ 	(init_objc): Move ObjC tree code initialization to
+ 	maybe_objc_tree_codes().
+ 	* objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
+ 	(objc_init): New public prototype.
+ 	(objc_decode_option): New public prototype.
+ 	(maybe_add_objc_tree_codes): New public prototype.
+ 	* objc/objc-lang.c: New file.
+ 	(lang_hooks): Moved from objc-act.c.
+ 	(objc_post_options): Moved from objc-act.c.
+ 	(objc_init_options): Moved from objc-act.c.
+ 
+ 2001-12-03  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
+ 	of array elements.
+ 
+ 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR c/4988
+ 	* gcc.c (process_command): Don't add a preprocessor option for
+ 	--help and --target-help; cc1 is enough.
+ 
+ 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Use ISO word.
+ 	* cppinit.c: Remove leading capital from diagnostic messages, as
+ 	per GNU coding standards.
+ 	* emit-rtl.c: Similarly.
+ 	* final.c: Similarly.
+ 	* gcc.c: Similarly.
+ 	* tradcpp.c: Similarly.
+ 	* config/arm/arm.c: Similarly.
+ 	* config/arm/arm.h: Similarly.
+ 	* config/avr/avr.c: Similarly.
+ 	* config/avr/avr.h: Similarly.
+ 	* config/c4x/c4x.c: Similarly.
+ 	* config/cris/cris.c: Similarly.
+ 	* config/cris/cris.h: Similarly.
+ 	* config/d30v/d30v.c: Similarly.
+ 	* config/dsp16xx/dsp16xx.c: Similarly.
+ 	* config/dsp16xx/dsp16xx.h: Similarly.
+ 	* config/h8300/h8300.c: Similarly.
+ 	* config/i386/i386.c: Similarly.
+ 	* config/i386/xm-djgpp.h: Similarly.
+ 	* config/i960/i960.h: Similarly.
+ 	* config/m32r/m32r.c: Similarly.
+ 	* config/m68hc11/m68hc11.c: Similarly.
+ 	* config/m88k/m88k.c: Similarly.
+ 	* config/m88k/m88k.h: Similarly.
+ 	* config/mcore/mcore.c: Similarly.
+ 	* config/mcore/mcore.h: Similarly.
+ 	* config/mips/mips.c: Similarly.
+ 	* config/mmix/mmix.c: Similarly.
+ 	* config/pa/pa.c: Similarly.
+ 	* config/rs6000/rs6000.c: Similarly.
+ 	* config/rs6000/sysv4.h: Similarly.
+ 	* config/s390/s390.c: Similarly.
+ 	* config/sparc/sparc.c: Similarly.
+ 	* config/v850/v850-c.c: Similarly.
+ 	* config/v850/v850.c: Similarly.
+ 
+ 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rs6000.h (RETURN_IN_MEMORY): Cast result of
+ 	int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
+ 
+ Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
+ 	bit twiddling constant.
+ 
+ Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
+ 	call purge_dead_edges after removing.
+ 	(delete_null_pointer_checks): Do not handle delete_list.
+ 
+ 	* cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
+ 	(count_basic_blocks): ... here.
+ 	(find_basic_blocks, find_bb_boundaries): Cleanup.
+ 
+ 	* stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
+ 	overflow for types greater then 2 * HOST_WIDE_INT.
+ 
+ 	* reload.c (find_reloads): Update the duplicates after swapingg.
+ 
+ Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
+ 
+ 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
+ 	MASK_LONG_DOUBLE_128): Delete.
+ 	(MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
+ 	TARGET_AIX_STRUCT_RET): New flags.
+ 	(TARGET_SWITCHES): Remove entries for -mlong-double-128 and
+ 	-mlong-double-64.  Add entries for -m(no-)aix-struct-return
+ 	and -m(no-)svr4-struct-return.
+ 	(TARGET_OPTIONS): Add entry for -mlong-double-.
+ 	(rs6000_long_double_size_string, rs6000_long_double_type_size,
+ 	rs6000_altivec_abi): Declare.
+ 	(TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
+ 	LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
+ 	(RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
+ 	structures of size <= 8 bytes in registers.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_long_double_size_string,
+ 	rs6000_long_double_type_size, rs6000_altivec_abi): New
+ 	globals.
+ 	(rs6000_override_options): Set rs6000_long_double_type_size
+ 	from rs6000_long_double_size_string, if nonzero.  Set the
+ 	MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
+ 	not already set.
+ 	(rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
+ 	target_flags bit.
+ 	(rs6000_init_builtins): This hook now takes no arguments.
+ 
+ 	* config/rs6000/netbsd.h, config/rs6000/linux.h: Define
+ 	DRAFT_V4_STRUCT_RET to 1.
+ 
+ 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (really_start_incremental_init, push_init_level):
+ 	Avoid constructor_max_index being other than an INTEGER_CST.
+ 
+ 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
+ 	unsigned.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Same.
+ 	(UNIQUE_SECTION): Fix typo.
+ 
+ 2001-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
+ 
+ 2001-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
+ 	(MEM_EXPR): Rename from MEM_DECL; adjust all users.
+ 	* emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
+ 	* expr.h, final.c, reload1.c: Adjust users.
+ 
+ 	* alias.c (nonoverlapping_component_refs_p): New.
+ 	(decl_for_component_ref, adjust_offset_for_component_ref): New.
+ 	(nonoverlapping_memrefs_p): Use them.
+ 	* emit-rtl.c (component_ref_for_mem_expr): New.
+ 	(set_mem_attributes): Use it.
+ 	(set_mem_offset): New.
+ 	* expr.c (expand_assignment): Call set_mem_attributes for
+ 	inner references; adjust the memory offset as needed.
+ 	* print-rtl.c (print_mem_expr): New.
+ 	(print_rtx): Use it.
+ 
+ Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
+ 
+ 	* config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
+ 	(PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
+ 	(ASM_SPEC): Don't redefine.
+ 	(OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
+ 	* config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
+ 	* config/alpha/vms-dwarf2.asm: New file.
+ 
+ 	* Makefile.in (OBJS): Add vmsdbgout.c and its rule.
+ 	* c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
+ 	* debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
+ 	(vmsdbgout_after_prologue): New declaration.
+ 	* defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
+ 	* dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
+ 	* dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
+ 	(dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
+ 	(dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
+ 	(add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
+ 	* final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
+ 	Test VMS_DEBUGGING_INFO.
+ 	(final_end_function): Test for VMS_AND_DWARF2_DEBUG.
+ 	(final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
+ 	* flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
+ 	* toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
+ 	VMS_AND_DWARF2_DEBUG.
+ 	(rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
+ 	(decode_g_option): Add "vms" to debug_type_names.
+ 	(process_options): Set vmsdbg_debug_hooks if -gvms.
+ 	(lang_independent_init): Emit line number for VMS unless -g0.
+ 	* tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
+ 	* vmsdbg.h, vmsdbgout.c: New files.
+ 
+ Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
+ 
+ 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cfgrtl.c (purge_all_dead_edges): Initialize variable.
+ 	* dwarf2out.c (is_cxx): Prototype.
+ 	* local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
+ 	warning.
+ 	* objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
+ 
+ Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* libgcc2.c (__bb_exit_func): Fix line wrap problems.
+ 
+ 2001-12-02  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
+ 	rather than simplify_subreg.  Check for volatile-ness.  Check that
+ 	we're not splitting one slow operation into two slow operations.
+ 
+ 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
+ 	before shifting.
+ 
+ 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (duplicate_decls, push_parm_decl): Remove leading
+ 	capital from diagnostics.
+ 	* c-lex.c (cb_file_change): Similarly.
+ 	* c-parse.in : Similarly.
+ 	* cfgrtl.c (verify_flow_info): Similarly.
+ 	* collect2.c: Similarly.
+ 	* cppfiles.c (find_include_file): Similarly.
+ 	* cppinit.c (cpp_handle_option): Similarly.
+ 	* cpplex.c (cpp_spell_token): Similarly.
+ 	* cppmain.c (do_preprocessing): Similarly.
+ 	* gcc.c (translate_options, process_command, do_spec1,
+ 	main, pfatal_execute): Similarly.
+ 	* genattr.c (main): Similarly.
+ 	* genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
+ 	write_test_expr, main): Similarly.
+ 	* gencodes.c (main): Similarly.
+ 	* genconfig.c (main): Similarly.
+ 	* genconstants.c (main): Similarly.
+ 	* genemit.c (main): Similarly.
+ 	* genextract.c (main): Similarly.
+ 	* genflags.c (main): Similarly.
+ 	* genopinit.c (main): Similarly.
+ 	* genoutput.c (process_template, main): Similarly.
+ 	* genpeep.c (main): Similarly.
+ 	* genrecog.c (main): Similarly.
+ 	* gensupport.c (is_predicable, identify_predicable_attribute,
+ 	alter_predicate_for_insn, init_md_reader_args, main): Similarly.
+ 	* ggc-page.c (alloc_anon): Similarly.
+ 	* mips-tfile.c (add_string, add_procedure, add_file, read_line,
+ 	parse_begin, parse_bend, parse_def, parse_end, parse_file,
+ 	parse_stabs_common, parse_stabs, write_varray, write_object,
+ 	read_seek, copy_object, main, error): Similarly.
+ 	* profile.c (compute_branch_probabilities): Similarly.
+ 	* reg-stack.c (check_asm_stack_operands): Similarly.
+ 	* reload.c (find_reloads): Similarly.
+ 	* reload1.c (spill_failure, failed_reload): Similarly.
+ 	* rtl-error.c (_fatal_insn_not_found): Similarly.
+ 	* toplev.c (read_integral_parameter, crash_signal,
+ 	decode_f_option, set_target_switch, parse_options_and_default_flags)
+ 	: Similarly.
+ 	* tradcif.y (parse_number, yylex): Similarly.
+ 	* tradcpp.c (main, fancy_abort): Similarly.
+ 	* tree.c (tree_check_failed): Similarly.
+ 	* varray.c (varray_check_failed): Similarly.
+ 	* xcoffout.c (xcoff_output_standard_types): Similarly.
+ objc:
+ 	* objc-act.c (get_object_ref, lookup_and_install_protocols,
+ 	build_objc_string_object, objc_declare_alias, build_ivar_chain,
+ 	finish_message_expr, build_protocol_expr, is_public,
+ 	start_class): Similarly.
+ 
+ 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
+ 	trailing period from diagnostics.
+ 	* c-lex.c (cb_file_change): Similarly.
+ 	* cppmacro.c (check_trad_stringification): Similarly.
+ 	* gcc.c (do_spec_1): Similarly.
+ 	* genattr.c (main): Similarly.
+ 	* genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
+ 	* gencodes.c (main): Similarly.
+ 	* genconfig.c (main): Similarly.
+ 	* genconstants.c (main): Similarly.
+ 	* genemit.c (main): Similarly.
+ 	* genextract.c (main): Similarly.
+ 	* genopinit.c (main): Similarly.
+ 	* genoutput.c (main): Similarly.
+ 	* genpeep.c (main): Similarly.
+ 	* genrecog.c (main): Similarly.
+ 	* mips-tfile.c (add_file, error): Similarly.
+ 	* profile.c (init_branch_prob): Similarly.
+ 	* reload1.c (spill_failure): Similarly.
+ 	* stmt.c (parse_output_constraint): Similarly.
+ 	* varasm.c (assemble_variable): Similarly.
+ 
+ 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k.c (init_FPA_table): Provide static prototype.
+ 	* mips/abi64.h (mips_function_value): Move prototype to ...
+ 	* mips-protos.h (mips_function_value): ... here.
+ 	* mips.c: Include halfpic.h.
+ 	* output.h (rdata_section): Prototype.
+ 
+ 	* h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+ 	* m88k.c (m88k_svr3_asm_out_constructor,
+ 	m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
+ 	!OBJECT_FORMAT_ELF.
+ 	* mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+ 	* sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+ 	* sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+ 
+ 2001-12-01  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
+ 	LO_SUM addresses less than word size are not legitimate,
+ 	because they lead to invalid SUBREGs.
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
+ 
+ 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
+ 	while scanning for multiple back edges.
+ 
+ 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* ginclude/ppc-asm.h (JUMP_TARGET): New macro.
+ 	* config/rs6000/tramp.asm: Use it.
+ 
+ 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gencheck.c, gengenrtl.c: Don't define xmalloc.
+ 	* gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
+ 	xmalloc.
+ 
+ 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_ascii): Cast `p' to unsigned char.
+ 
+ 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_expand_builtin): add
+ 	ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
+ 	*_16qi,_8hi, rename existing V4SI ones to *_4si.
+ 	(altivec_init_builtins): Ditto.
+ 	(bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
+ 
+ 	* config/rs6000/rs6000.md: Add attribute types vecsimple,
+ 	veccomplex, vecfloat, and vecperm, for altivec instructions.
+ 	Modify altivec patterns to use appropriate attribute type.
+ 	Modify altivec patterns to match RTL operations where appropriate
+ 	(IE no unspec where we can avoid it).
+ 	Add vector unit scheduling for ppc7450.
+ 	Rename patterns to what they are where appropriate
+ 	(altivec_vaddfp->addv4sf3, etc)
+ 
+ 	* config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
+ 	Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
+ 
+ 	* config/rs6000/sysv4.h: Add -mcpu=7450.
+ 
+ 	* testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
+ 	_builtin_altivec_ld_interal function.
+ 
+ 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
+ 	strchr, strrchr, isascii, gettimeofday.
+ 	* config.in, configure: Regenerate.
+ 
+ 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
+ 
+ 	* unroll.c (unroll_loop): Correct special exit cases.
+ 
+ 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
+ 
+ 	* config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
+ 	accept DFmode and DImode only.
+ 
+ 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
+ 	(STACK_DYNAMIC_OFFSET): Same.
+ 
+ 2001-11-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
+ 
+ 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
+ 	(CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
+ 	the values in call_used_registers.
+ 
+ Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gthr-dce.h: If _DCE_THREADS is not defined, then just include
+ 	gthr-single.
+ 
+ 2001-11-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (is_cxx): New fn.
+ 	(add_data_member_location_attribute): Check it.
+ 	* dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
+ 
+ Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
+ 
+ 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
+ 	MODE_VECTOR_FLOAT as allowed.
+ 
+ 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	Purge cruft now we have build libiberty.
+ 
+ 	* Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
+ 	HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
+ 	USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
+ 	USE_HOST_STRSTR): Delete variables.
+ 	(vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
+ 	hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
+ 	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
+ 	$(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
+ 	(LIBIBERTY, BUILD_LIBIBERTY): New variables.
+ 	(LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
+ 	(LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
+ 	(HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
+ 	(HOST_LIBS): Ditto.
+ 	(HOST_RTL): Remove hashtab.o safe-ctype.o.
+ 	(OBJS): Remove splay-tree.o.
+ 	(gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
+ 	(distclean): No need to delete splay-tree.c obstack.c
+ 	hashtab.c safe-ctype.c.
+ 	(mostlyclean): Delete build copies of print-rtl.c bitmap.c
+ 	errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
+ 	* aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
+ 	Delete.
+ 	* configure.in: Don't use them.
+ 	Set and substitute @FORBUILD@.
+ 	* config.in, configure: Regenerate.
+ 	* doprint.c: Move to libiberty/_doprnt.c.
+ 	* doc/configterms.texi: Document that libiberty is now built
+ 	up to three times.  Fix typo.
+ 
+ 2001-11-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (add_data_member_location_attribute): Do the
+ 	right thing for virtual bases.
+ 	* dbxout.c (dbxout_type): For a virtual base, print the offset
+ 	within the vtable.
+ 
+ 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
+ 
+ 	* doloop.c (doloop_valid_p): Check for LTU and GTU as well.
+ 
+ 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
+ 	go in memory.
+ 	Remove unused attribute for named.
+ 
+ 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattrtab.c (attr_rtx_1): New function containing the
+ 	majority of `attr_rtx'.  Move variable declarations into the
+ 	scope where they are used.  Eliminate unnecessary gotos.
+ 	(attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
+ 	VA_FIXEDARG, and VA_CLOSE.
+ 
+ 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_notice_update_cc): Check first
+ 	destination also against overlap with cc_status.value2 and second
+ 	destination against overlap with cc_status.value1.  For overlaps,
+ 	clear overlapped value, don't just CC_STATUS_INIT.
+ 
+ 	* config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
+ 	Fix typo in comment.
+ 	(LINK_SPEC): Remove whitespace at end of line.
+ 
+ 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-lex.c (init_c_lex): Canonicalize "-" filename to "".
+ 
+ 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
+ 	macros for the supported debugging types.
+ 
+ 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR other/4932
+ 	* config/i386/i386.c (print_operand):  Verify that the
+ 	  argument to %c is a constant and not a conditional which
+ 	  needs to be reversed.
+ 
+ Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Fix conversion of
+ 	REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
+ 	of low part of those arrays for 32bit and 64bit hosts.
+ 
+ 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (insn-output.o): Depend on insn-codes.h.
+ 
+ 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in (target_list): Add generated-manpages.
+ 	* configure: Regenerate.
+ 	* Makefile.in (generated-manpages): Depend on
+ 	lang.generated-manpages.
+ 	* objc/Make-lang.in (objc.generated-manpages): New dummy target.
+ 
+ 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/crti.asm (_init): Add .thumb_func if compiled
+ 	with -mthumb.
+ 	(_fini): Add .thumb_func if compiled with -mthumb.
+ 
+ 2001-11-28  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Fix thinko in mips_tune
+ 	for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
+ 
+ Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* alpha.md (tablejump): Use pic_offset_table_rtx
+ 	instead of gen_rtx_REG.
+ 
+ Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* expr.c (store_expr): When copying a string constant into an
+ 	array, reset the known alignment of the MEM for the section to
+ 	be cleared to BITS_PER_UNIT.
+ 
+ 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c: Remove whitespace at end of line.
+ 
+ Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config.gcc (i[34567]86-*-interix3*): New case.
+ 	* config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
+ 	New files.
+ 
+ 2001-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
+ 	symbolic_operand as the predicate.
+ 
+ 2001-11-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doloop.c (doloop_modify_runtime): Properly select induction
+ 	variable; skip late entry test if biv initializer created by loop.
+ 
+ Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
+ 	EXPR_WITH_FILE_LOCATION, so change checks and documentation.
+ 
+ 	* tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
+ 
+ 	* tree.h: Add missing checks on some macros; make formatting more
+ 	consistent.
+ 
+ 	* stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
+ 	level; only add to pending_sizes if find it.
+ 
+ 	* langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
+ 
+ 	* df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
+ 	Add casts to remove warnings.
+ 
+ 	* Makefile.in (OBJS): Sort alphabetically.
+ 
+ 	* print-rtl.c (print_rtx): If RTX code is bad, just say so.
+ 	Also minor cleanups.
+ 
+ Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
+ 
+ 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
+ 	(FLAGS_TO_PASS): Add STAGE_PREFIX.
+ 	(SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
+ 	to STAGE_PREFIX.
+ 
+ Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (true_dependence_in_rtx): New function.
+ 	(invalidate): Use it.
+ 
+ 	* c-common.h (GOTO_FAKE_P): New macro.
+ 	* tree-inline.c (GOTO_FAKE_P): Set.
+ 	* c-tree.texi (GOTO_FAKE_P): Document.
+ 
+ 	* varasm.c (assemble_variable): Set reloc to 3 for error_mark
+ 	containing pointers.
+ 	(output_addressed_constants): Check for local/external relocations.
+ 	* elfos.h (SELECT_SECTION): Classify data section.
+ 	* tm.texi (SELECT_SECTION): Update documentation.
+ 
+ 	* cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
+ 	(flow_dfs_compute_reverse_execute): Add only unvisited blocks.
+ 
+ 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
+ 	OBJECT_FORMAT_ROSE.
+ 
+ 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c: Tweak spacing for prototypes.
+ 	(LOSE_AND_RETURN): New macro.
+ 	(cris_operand_lossage): New function.
+ 	(cris_print_index, cris_print_base): Use cris_operand_lossage
+ 	rather than fatal_insn.
+ 	(cris_print_operand, cris_print_operand_address): Use
+ 	LOSE_AND_RETURN rather than fatal_insn and internal_error.
+ 	(cris_output_addr_const): Use LOSE_AND_RETURN and
+ 	output_operand_lossage rather than fatal_insn and internal_error
+ 	for valid but unexpected rtx expressions.
+ 
+ 	* config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
+ 	for a SUBREG in src or dest, abort instead.
+ 
+ 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
+ 	doc.
+ 
+ 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
+ 	preprocessor define.  If only DBX_DEBUGGING_INFO or only
+ 	DWARF2_DEBUGGING_INFO is supported for the target, provide
+ 	appropriate definitions.
+ 
+ 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update, and add c-objc-common.o dependencies.
+ 	* c-lang.c: Remove unnecessary includes.
+ 	(c_init): Move bulk of code to c_objc_common_init, and call it.
+ 	(c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
+ 	inline_forbidden_p, c_cannot_inline_tree_fn): Move to
+ 	c-objc-common.c.
+ 	* c-objc-common.c: New.  Mostly pulled from c-lang.c.
+ 	* c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
+ 	c_objc_common_init, c_missing_noreturn_ok_p): New.
+ 	* toplev.c: Update comment.
+ 	* doc/passes.texi: Update.
+ objc:
+ 	* objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
+ 	LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
+ 	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
+ 	(objc_init): Update to use c_objc_common_init.
+ 
+ 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.c (_cpp_init_hashtable): Update.
+ 	* cpphash.h (struct spec_nodes): Remove n_L.
+ 	* cpplex.c (_cpp_lex_direct): Check for prefix L separately.
+ 
+ 2001-11-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (loop_iterations): Move last change ...
+ 	* doloop.c (doloop_modify_runtime): ... here.
+ 
+ 2001-11-17  Corey Minyard  <minyard@acm.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (loop_iterations): Detect one situation in which we
+ 	overestimate the number of iterations.
+ 
+ 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gcc.c (set_input): Export.
+ 	Move declaration ...
+ 	gcc.h (set_input): ... here.
+ 
+ 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gcc.c (set_collect_gcc_options): New function, split out from
+ 	main.
+ 	Ignore elided switches.
+ 	(do_spec): Invoke before executing command.
+ 	(do_spec_1): Likewise.
+ 	Fixes PR other/3968.
+ 
+ 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (INT_ASM_OP): Remove.
+ 
+ 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/i386/sol2.h (WINT_TYPE): Redefine.
+ 	(WINT_TYPE_SIZE): Likewise.
+ 
+ 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
+ 	(dup2): Make static and add prototype.
+ 	* m68k/plexus.h: Don't define NO_DUP2.
+ 	* configure.in (AC_CHECK_FUNCS): Add dup2.
+ 	* config.in, configure: Regenerate.
+ 
+ 	* ia64/aix.h (REG_SIZE): Don't #undef.
+ 	* sparc.h (REG_SIZE): Delete.
+ 	* flow.c (mark_used_regs): Don't use REG_SIZE.
+ 	* regs.h (REG_SIZE): Delete.
+ 
+ 2001-11-27  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
+ 	PREFERRED_DEBUGGING_TYPE.
+ 
+ Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (c-lang.o): Depends on langhooks-def.h.
+ 	(expr.o, varasm.o): Depends on langhooks.h.
+ 	* c-common.c (c_safe_from_p): Always declare.
+ 	(c_expand_expr): Refine when declared.
+ 	* c-lang.c (c-common.h): Now include.
+ 	(LANG_HOOKS_SAFE_FROM_P): Define new hook.
+ 	(c_init): Don't set lang_safe_from_expr.
+ 	* expr.c (langhooks.h): Now include.
+ 	(lang_safe_from_p): No longer define.
+ 	(safe_from_p): Use lang hook.
+ 	(expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
+ 	(expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
+ 	* expr.h (lang_expand_constant, lang_safe_from_p): Delete.
+ 	* langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
+ 	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
+ 	* langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
+ 	* langhooks.h (struct lang_hooks): New fields expand_constant
+ 	and safe_from_p.
+ 	* output.h (output_constant): Size arg is HOST_WIDE_INT.
+ 	* stmt.c (expand_decl_init): No longer need to expand constant
+ 	for CONST_DECL.
+ 	* stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
+ 	* toplev.c (lang_expand_constant): Delete var.
+ 	* tree.c (save_expr): Don't put another SAVE_EXPR around simple
+ 	operations on SAVE_EXPR.
+ 	* varasm.c (langhooks.h): Now include.
+ 	(compare_constant_1): Use lang_hooks, not lang_expand_constant.
+ 	(record_constant_1, output_addressed_constants): Likewise.
+ 	(initializer_constant_valid_p, output_constant): Likewise.
+ 	(output_constant_def): Process no-defer of string constant.
+ 	(output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
+ 	(output_constant): Strip more conversions.
+ 	Track our size and pad for the rest.
+ 	(array_size_for_constructor): Remove code for non-byte STRING_CST.
+ 	(output_constructor): SIZE now HOST_WIDE_INT.
+ 
+ 2001-11-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (noce_try_store_flag_constants): Test for overflow
+ 	in computing DIFF.
+ 
+ 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppfiles.c (read_include_file): Add comment.
+ 
+ 2001-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
+ 
+ 2001-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
+ 	* config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
+ 	commented out override.
+ 
+ 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Don't optimize zero-length
+ 	files.
+ 	(read_include_file): NUL-terminate read files.
+ 	* cpplex.c (handle_newline, skip_escaped_newlines,
+ 	get_effective_char, skip_whitespace, parse_identifier,
+ 	parse_identifier_slow, parse_number, parse_string,
+ 	_cpp_lex_direct): Optimize for the fact that buffers are guaranteed
+ 	NUL-terminated.
+ 	* cpplib.c (destringize_and_run, cpp_define, handle_assertion):
+ 	Be sure buffers are NUL terminated.
+ 	* cppmacro.c (warn_of_redefinition): Kill compile warning.
+ 
+ 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c: Include tree-inline.h.
+ 	(c_language): Move separate definitions here.
+ 	(c_common_init_options, c_common_post_options): New.
+ 	(c_common_lang_init): Rename c_common_init.
+ 	* c-common.h (c_common_lang_init): Similarly.
+ 	(c_common_init_options, c_common_post_options): New.
+ 	* c-lang.c (c_post_options): Move body to c_common_post_options.
+ 	(c_init_options): Use c_common_init_options.
+ 	(c_init): Update.
+ 	* langhooks.def: Rearrange.
+ 	* langhooks.h: Rearrange, and improve comments.
+ 	* toplev.c (do_compile): New function.
+ 	(toplev_main): Use it.
+ 	(lang_independent_f_options, parse_options_and_default_flags,
+ 	process_options): Remove trailing periods.
+ 	* Makefile.in: Update.
+ objc:	* objc-act.c (objc_post_options, objc_init_options): Use c-common.c
+ 	functions.
+ 	(ojbc_init): Update.
+ 
+ 2001-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
+ 
+ 2001-11-26  DJ Delorie  <dj@redhat.com>
+ 
+ 	* expr.c (store_constructor): Actually use the value computed
+ 	if WORD_REGISTER_OPERATIONS.
+ 
+ 2001-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
+ 	for CONSTRUCTOR.
+ 
+ 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (output_mi_thunk): Handle minimal-toc and call
+ 	correct function on AIX.
+ 
+ 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* toplev.c (process_options): Don't force
+ 	flag_optimize_sibling_calls to zero just because exceptions are
+ 	enabled.
+ 
+ Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* df.h (transfer_function_sbitmap): Use PARAMS around argument
+ 	list in function prototypes.
+ 	(transfer_function_bitmap): Likewise.
+ 
+ 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
+ 	* config/i386/netbsd-elf.h: Likewise.
+ 
+ 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/trouble.texi: Remove outdated RS/6000 comments.
+ 
+ Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (walk_alter_subreg): Fix return value.
+ 
+ Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sparc.c (sparc_absnegfloat_split_legitimate): Do not call
+ 	alter_subreg.
+ 	* sparc.md (post-reload splitters): Do not call alter_subreg.
+ 	* cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
+ 
+ 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* regclass.c (choose_hard_reg_mode): Handle vector arguments.
+ 
+ 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* final.c: (insn_lengths): Make it an int *, so that large jump
+ 	tables don't overflow.
+ 
+ 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
+ 	(format_types): Use it for scanf.
+ 	(dollar_arguments_pointer_p): New.
+ 	(init_dollar_format_checking): Store details of which arguments
+ 	are pointers.
+ 	(maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
+ 	(finish_dollar_format_checking): Take extra parameter
+ 	pointer_gap_ok.  Treat unused arguments differently if
+ 	pointer_gap_ok and the unused arguments are pointers.
+ 	(check_format_info_main): Pass extra argument to
+ 	finish_dollar_format_checking.
+ 	* doc/invoke.texi (-Wno-format-extra-args): Document behavior when
+ 	unused arguments are present between used arguments with operand
+ 	numbers.
+ 
+ 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* df.c: Add prototypes for hybrid_search_bitmap and
+ 	hybrid_search_sbitmap.
+ 	(hybrid_search_bitmap): New function.
+ 	(hybrid_search_sbitmap): New function.
+ 	(iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
+ 	(iterative_dataflow_bitmap): Ditto.
+ 
+ 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
+ 	address computations.
+ 
+ 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (d_register_operand): Must accept
+ 	register b (low part of d).
+ 
+ 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
+ 	passed to mcount.
+ 
+ Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
+ 	* config/alpha/x-vms: New file, to compile the above.
+ 	* config.gcc (alpha*-dec-vms*): Add x-vms.
+ 
+ 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* genextract.c (main): Set ro_loc for peepholes.
+ 
+ Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* fix-header.c (main): Move inf_buffer termination and inf_limit
+ 	calculation to after read.
+ 
+ 	* config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
+ 	(__UNIX_FOPEN): Define.
+ 
+ Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (assign_stack_temp_for_type): Clear alias set before
+ 	setting new one.
+ 
+ 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
+ 	format.
+ 	* rs6000.md (cmptf): Fix typo.
+ 
+ 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* final.c (output_addr_const): Output PC as '.' even if !flag_pic.
+ 	* varasm.c (output_constructor): Use assemble_integer rather
+ 	than ASM_OUTPUT_BYTE.
+ 
+ 2001-11-23  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
+ 	extension.
+ 
+ 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
+ 	default definition.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
+ 	(MULTILIB_DEFAULTS): Remove previous definition.
+ 
+ 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
+ 	* gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
+ 
+ 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cris.h: Revert thinko in last patch.
+ 
+ 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
+ 	FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
+ 	cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
+ 	dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
+ 	explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
+ 	sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
+ 
+ 	* predict.c, reg-stack.c: Fix spelling errors.
+ 
+ 2001-10-09  Andrew Haley  <aph@redhat.com>
+ 
+ 	* calls.c (check_sibcall_argument_overlap): Use slot_offset for
+ 	start of stack slot.
+ 
+ 2001-11-22  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
+ 	replacement jump after original jump.
+ 
+ 	(verify_flow_info): Remove redundent initialisation.
+ 	Handle reaching end of insn list before finding a BARRIER.
+ 	Only issue one missing barrier diagnostic.
+ 
+ 2001-11-22  Graham Stott  <grahams@redhat.com>
+ 
+ 	* local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
+ 
+ Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
+ 	insn actually does.
+ 
+ 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
+ 	Fix typo -mm32rx=> -m32rx.
+ 
+ 	* config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
+ 	targets.
+ 
+ 	* config.gcc (xscale-coff): Add necessary header files to
+ 	tm_file variable.
+ 
+ 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rs6000.c (output_cbranch): Use $, not %$, in output template.
+ 
+ 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
+ 	(lang_type_quals): Declare.
+ 	(dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
+ 	retrieve language-specific qualifiers for a type node, instead of
+ 	C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
+ 	lang_dump_tree.
+ 	* tree-dump.h: Rename from c-dump.h.
+ 	* c-common.h (C_TYPE_QUALS): Removed.
+ 	Move declarations for tree-dump.c interface to...
+ 	* tree.h: ... here. Remove lang_dump_tree.
+ 	* langhooks.h (struct lang_hooks_for_tree_dump): New.
+ 	(struct lang_hooks): Add tree_dump hooks.
+ 	* langhooks.c (lhd_tree_dump_dump_tree): New function.
+ 	(lhd_tree_dump_type_quals): New function.
+ 	* langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
+ 	Declare.
+ 	(LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
+ 	* Makefile.in: Move tree-dump.o to language-independent back-end.
+ 
+ 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.h (DBX_REGISTER_NUMBER): Don't define.
+ 	* alpha.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* arc.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* avr.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* c4x.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* clipper.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* convex.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* cris.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* elxsi.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* fr30.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* h8300.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* i370.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* i860.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* m32r.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* m88k.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* mcore.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* mn10200.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* mn10300.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* pdp11.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* romp.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* rs6000.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* stormy16.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* v850.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* vax.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* we32k.h (DBX_REGISTER_NUMBER): Likewise.
+ 
+ 	* defaults.h (DBX_REGISTER_NUMBER): Provide a default.
+ 	* doc/tm.texi (DBX_REGISTER_NUMBER): Update.
+ 
+ 2001-11-21  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
+ 
+ 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
+ 	emit_cmp_and_jump_insns.
+ 
+ 	* stormy16.c (xstormy16_expand_builtin_va_arg,
+ 	xstormy16_expand_casesi): Likewise.
+ 
+ Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (keep_stack_depressed): Major rework.
+ 	(handle_epilogue_set, emit_equiv_load): New functions.
+ 	(thread_prologue_and_epilogue_insns): keep_stack_depressed now
+ 	has return value.
+ 	* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
+ 	* rtl.h (SET_IS_RETURN_P): New macro.
+ 
+ 	* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
+ 	and also support TREE_ADDRESSABLE.
+ 	* tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
+ 
+ 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (cmptf_internal1): Replace %$ with $.
+ 
+ Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* cppfiles.c (STAT_SIZE_TOO_BIG): Define.
+ 	(read_include_file): Use STAT_SIZE_TOO_BIG.
+ 
+ 	* cppinit.c (INO_T_COPY): Define.
+ 	(INO_T_EQ): Uppercase parameters.
+ 	(append_include_chain): Use INO_T_COPY.
+ 
+ 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* cfg.c: Fix typos and formatting in the introductory comment.
+ 
+ Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
+ 
+ 	* profile.c (compute_branch_probabilites):  Compute probabilities
+ 	for entry/exit edges; estimate probabilities for zero counts.
+ 
+ 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
+ 	to emit_library_call.
+ 	* function.c (expand_main_function, expand_function_start,
+ 	expand_function_end): Likewise.
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 	* stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
+ 	second argument to emit_library_call.
+ 	* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
+ 	as second argument to emit_library_call.
+ 	* calls.c (emit_library_call): Update fn_type description.
+ 
+ 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (c_expand_deferred_function): Only call c_expand_body
+ 	if fndecl is still DECL_INLINE and has DECL_RESULT.
+ 
+ 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* clipper.c (clipper_movstr): Avoid uninitialized warning.
+ 	* i960.c (is_mask, legitimize_address): Likewise.
+ 	* m88k.c (m88k_expand_prologue): Likewise.
+ 	* m88k.md: Likewise.
+ 	* mcore.c (emit_new_cond_insn): Likewise.
+ 	* stormy16.c (xstormy16_emit_cbranch): Likewise.
+ 
+ 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Delete powerpcle-*-solaris2* stanza.
+ 	* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
+ 	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
+ 	config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
+ 	config/rs6000/t-ppcos: Expunge all references to Solaris.
+ 
+ 	* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
+ 
+ 	* config/rs6000/rs6000.md: Replace '%$' with '$' in all
+ 	output templates.
+ 	* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
+ 	and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
+ 
+ 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sh.md: Avoid uninitialized warnings.
+ 	* vax.c (vax_rtx_cost): Likewise.
+ 
+ 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.c (direct_return): Check if we are saving altivec
+ 	registers.
+ 	(first_altivec_reg_to_save): New.
+ 	Updated stack frame layout comments.
+ 	(rs6000_stack_info): Calculate altivec register save size.
+ 	Save link register if we saved some altivec registers.
+ 	(rs6000_stack_info): Align save size to 16 if altivec abi or
+ 	abi_darwin.
+ 	(rs6000_stack_info): Calculate altivec register offsets.
+ 	(rs6000_stack_info): Add altivec info to save_size.
+ 	(debug_stack_info): Add altivec debug info.
+ 	(rs6000_emit_prologue): Save altivec registers and vrsave.
+ 	(compute_vrsave_mask): New.
+ 	(altivec_expand_builtin): Remove unused variables.
+ 	(rs6000_parse_abi_options): Add static qualifier.
+ 	(rs6000_expand_builtin): Remove unused parameters.
+ 	(altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
+ 	(altivec_init_builtins): Same.
+ 	(is_altivec_return_reg): New.
+ 	(vrsave_operation): New.
+ 	(ALTIVEC_REG_BIT): New.
+ 	(generate_set_vrsave): New.
+ 
+ 	* rs6000.md (get_vrsave): New.
+ 	(set_vrsave): New.
+ 	(*set_vrsave_internal): New.
+ 
+ 	* rs6000.h (rs6000_stack): Add first_altivec_reg_save,
+ 	altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
+ 	altivec_padding_size, vrsave_mask.
+ 	(TOTAL_ALTIVEC_REGS): New.
+ 	(EPILOGUE_USES): Add VRSAVE_REGNO.
+ 
+ 2001-11-20  Jeff Law <law@redhat.com>
+ 
+ 	* unroll.c (copy_loop_body): Update LABEL_NUSES for the
+ 	exit label as necessary.
+ 
+ 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
+ 
+ 	* reload1.c (elimination_effects): Use function_invariant_p
+ 	instead of CONSTANT_P when considering register equivalences.
+ 
+ 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc: Add FreeBSD/PowerPC target.
+ 	(powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
+ 	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
+ 	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
+ 	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
+ 	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
+ 	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
+ 	freebsd-spec.h to tm_file.
+ 	(rs6000-*-lynxos*): Add lynx.h to tm_file.
+ 	* config/freebsd.h: Tidy up.
+ 	(USING_CONFIG_FREEBSD): Define.
+ 	(FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
+ 	FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
+ 	FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
+ 	(TARGET_HAS_F_SETLKW): Define.
+ 	(ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
+ 	* config/freebsd-spec.h: New file.
+ 	* config/rs6000/freebsd.h: New file.
+ 	* config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
+ 	* config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
+ 	USING_SVR4_H to know when to turn on ELF support.
+ 	* config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
+ 	define only if not already defined.
+ 	Add FreeBSD support.
+ 	* config/rs6000/aix.h (TARGET_VERSION): Define.
+ 	* config/rs6000/beos.h: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 	* config/rs6000/mach.h: Likewise.
+ 	* config/rs6000/lynx.h (TARGET_VERSION): Likewise.
+ 	Don't include lynx.h directly.
+ 
+ 2001-11-20  Graham Stott  <grahams@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (__deregister_frame_info_bases):
+ 	Fix lossage in last change return OB.
+ 
+ Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/xm-vms.h (_POSIX_EXIT): Define.
+ 	Remove unneeded exit related macros.
+ 
+ 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
+ 
+ 	* rs6000.c (rs6000_emit_move): Add TFmode case.
+ 	* sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
+ 	LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
+ 	* rs6000.h: ... to here.
+ 	* rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
+ 	trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
+ 	fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
+ 
+ Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (get_mem_attrs): Fix typo.
+ 
+ 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-lang.c (finish_file): Backout 2001-11-16
+ 	changes, instead set DECL_DEFER_OUTPUT for static inline functions
+ 	before calling c_expand_deferred_function.
+ 
+ 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
+ 	Don't register empty .eh_frame sections.
+ 	(__deregister_frame_info_bases, __deregister_frame): Don't
+ 	unregister them either.
+ 
+ 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
+ 	(HAVE_AS_GSTABS_DEBUG_FLAG): Define.
+ 	* configure: Regenerate.
+ 	* config.in: Add dummy definitions of new flags.
+ 	* toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
+ 	* defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
+ 	* gcc.c (ASM_DEBUG_SPEC): New macro.
+ 	(asm_debug): New static variable.
+ 	(default_compilers): Add asm_debug when assembling from
+ 	user input.
+ 	(static_specs): Add asm_debug.
+ 
+ 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config.gcc (*-*-freebsd*): Remove configuration block.
+ 
+ 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	bootstrap/4422
+ 	* configure.in: Setup ability to run ./stage[1234]/xgcc in
+ 	fixinc *as if* it were a proper lang subdirectory.
+ 	* configure: Rebuilt.
+ 
+ 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
+ 
+ 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.md: Don't use hex format for a const_int.
+ 
+ 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* expmed.c (extract_bit_field): Don't create invalid SUBREGs.
+ 
+ 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
+ 	defined (prevents link errors when gettext isn't in the system
+ 	library).
+ 
+ 2001-11-19  DJ Delorie  <dj@redhat.com>
+ 
+ 	* read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
+ 	(validate_const_int): New.
+ 	(read_rtx): Validate constant integers.
+ 	* config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
+ 
+ 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
+ 
+ Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* toplev.c (DUMPFILE_FORMAT): Define default.
+ 	(open_dump_file): Use DUMPFILE_FORMAT in sprintf.
+ 	(close_dump_file, compile_file): Likewise.
+ 	* config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
+ 	* doc/hostconfig.texi (DUMPFILE_FORMAT): Document
+ 
+ 2001-11-19  Jeff Law <law@redhat.com>
+ 
+ 	* gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
+ 	a nop-jump.
+ 
+ 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
+ 	Don't fall off the base token run.
+ 
+ 2001-11-19  Jason Wilkins <fenix@io.com>
+ 
+ 	* Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
+ 
+ Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.def (VIEW_CONVERT_EXPR): New tree code.
+ 	* tree.h (handled_component_p): New declaration.
+ 	* alias.c (handled_component_p): Move function from here ...
+ 	* expr.c (handled_component_p): ... to here and non longer static.
+ 	(is_zeros_p, case VIEW_CONVERT_EXPR): New case.
+ 	(store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
+ 	(get_inner_reference): Handle VIEW_CONVERT_EXPR.
+ 	(expand_expr, case VAR_DECL): Clean up handling of re-layout case.
+ 	(expand_expr, case VIEW_CONVERT_EXPR): New case.
+ 	(expand_expr, cse ADDR_EXPR): No need to copy if already
+ 	BIGGEST_ALIGNMENT.
+ 	* fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
+ 	* varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
+ 	(output_constant): Handle VIEW_CONVERT_EXPR.
+ 	* dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
+ 	Add new case for VIEW_CONVERT_EXPR.
+ 
+ 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* a29k/unix.h (ASM_FILE_START): Const-ify.
+ 	* i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
+ 	* i386/isc.h (ASM_FILE_START): Const-ify.
+ 	* i386/sun386.h (ASM_FILE_START): Likewise.
+ 	* m32r.md: Likewise.
+ 	* m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
+ 	* m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
+ 	* m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
+ 	* mn10200.md: Initialize variable.
+ 
+ Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (try_replace_reg): Copy RTX before creating note.
+ 
+ 	* df.h (df_ref_flags): New uenum.
+ 	(DF_REF_FLAGS): New macro.
+ 	(struct ref): Add field "flags".
+ 	* df.c (HANDLE_SUBREG): Remove.
+ 	(df_ref_create): Likewise; set flags field of ref.
+ 	(df_def_record_1): Strip down read_write subreg; remove
+ 	commented out code; set READ_WRITE flag.
+ 	(read_modify_subreg_p): New static function.
+ 	(df_uses_record): Cleanup SET handling; set READ_WRITE flag;
+ 	new argument "flags".
+ 	(df_insn_refs_record): Update call of df_uses_record.
+ 	(df_insn_modify): Avoid #if 0 around comment.
+ 	(df_dump): Dump the read/write flag.
+ 
+ 	* predict.c (propagate_freq): Make cyclic_probability and frequency
+ 	volatile
+ 
+ 	* i386.c (ix86_cc_mode): Accept USE.
+ 
+ 	* cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
+ 	jump is turned into simplejump.
+ 
+ 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/fragments.texi, doc/trouble.texi: Remove links to old
+ 	installation chapter.
+ 	* doc/gcc.texi: Don't claim that this manual documents
+ 	installation.  Mark Installation menu entry as being out of date.
+ 
+ Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/xm-vms.h: Don't define macros that autoconf handles.
+ 	(SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
+ 	* gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
+ 
+ 2001-11-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
+ 	cur_token, not after.
+ 
+ 	* config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
+ 	Lose ASM_OUTPUT_CONSTRUCTOR.
+ 	* system.h: Poison it and INT_ASM_OP.
+ 	* c-lang.c (finish_file): Don't check for it.
+ 	* libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
+ 
+ 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mmix.c (mmix_cc1_ignored_option): Const-ify.
+ 	(mmix_init_machine_status): Make static to match declaration.
+ 	(mmix_unique_section): Const-ify.
+ 	(mmix_output_quoted_string): Avoid automatic aggregate
+ 	initialization.
+ 	(mmix_output_register_setting): Likewise.
+ 	(mmix_output_shiftvalue_op_from_str): Likewise.
+ 
+ 	* mmix.h (mmix_cc1_ignored_option): Const-ify.
+ 	(ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 
+ 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR c/4448
+ 	* gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
+ 	name __objc_thread_exit_status so that it matches the
+ 	variable defined in objc/thr.h.
+ 
+ 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR bootstrap/4020
+ 	* mklibgcc.in: Add missing semi-colons.
+ 	* Makefile.in: Same.
+ 
+ Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
+ 	after re-laying out decl in incomplete case.
+ 	(expand_expr, case ADDR_EXPR): Fix typo in copy case.
+ 
+ 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install-old.texi: Move some sections out to ...
+ 	* doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
+ 	... here.  New files.  Make into chapters rather than sections.
+ 	* doc/gcc.texi: Include the new files and add menu entries for
+ 	them.
+ 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+ 
+ Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (TYPE_ALIGN_OK): New flag.
+ 	* emit-rtl.c (set_mem_attributes): Handle it.
+ 	* expr.c (emit_single_push_insn): Only set to alias set 0 if
+ 	doing sibcall optimization.
+ 	(expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
+ 	when make temporary.
+ 	(expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
+ 	(expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
+ 
+ 	* sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
+ 
+ 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (c_decode_option): Give deprecation warning for
+ 	-traditional.
+ 	* doc/invoke.texi (-traditional): Note that this option is
+ 	deprecated.
+ 
+ Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
+ 	arg to HOST_WIDE_INT, not long.
+ 
+ 	* config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
+ 	(HAS_INIT_SECTION): Define.
+ 	(REAL_ARITHMETIC): Don't undefine.
+ 
+ 2001-11-18  Egor Duda  <deo@logos-m.ru>
+ 
+ 	* config/i386/cygwin.h: Strip leading '*' from name, if any.
+ 
+ 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (c-parse.o, c-common.o): Update dependencies.
+ 	* c-common.c: Include diagnostic.h.
+ 	(c_common_finish): New.
+ 	* c-common.h (c_common_finish): New.
+ 	* c-lang.c (LANG_HOOKS_FINISH): Override.
+ 	* c-parse.in: Don't include diagnostic.h.
+ 	(finish_parse): Remove.
+ 	* langhooks.h: Update comments.
+ 	* toplev.c (lang_dependent_init): New prototype.
+ 	(finalize): New.
+ 	(compile_file): Split cleanup code out to finalize.
+ 	(lang_dependent_init): Stop if lang_hooks.init fails.
+ 	(toplev_main): Update.
+ 	* tree.h (finish_parse): Remove.
+ objc:
+ 	* objc-act.c (LANG_HOOKS_FINISH): Override.
+ 
+ Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
+ 	* config/alpha/vms_tramp.asm: New file.
+ 	* config/alpha/vms-tramp.asm: Removed.
+ 
+ 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (struct disabled_builtin, disabled_builtins,
+ 	disable_builtin_function, builtin_function_disabled_p): New.
+ 	(builtin_function_2): Check for disabled built-in functions.
+ 	* c-common.h (disable_builtin_function): Declare.
+ 	* c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
+ 	* doc/invoke.texi: Document -fno-builtin-FUNCTION.
+ 	* doc/extend.texi: Mention -fno-builtin-FUNCTION.
+ 
+ 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR target/4606
+ 	* config.gcc: Remove reference to va-clipper.h.
+ 
+ 2001-11-17  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
+ 	AltiVec-related bitfields.
+ 
+ Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* except.c (enum eh_region_type): Add ERT_UNKNOWN.
+ 	(mark_eh_region, case ERT_UKNONW): New case.
+ 
+ 2001-11-17  Christopher Faylor  <cgf@redhat.com>
+ 	    Corinna Vinschen  <vinschen@redhat.com>
+ 
+ 	* config/i386/cygwin.h: Search target specific include directory for
+ 	w32api stuff, if appropriate.
+ 
+ Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
+ 
+ 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Change all ldvx to lvx.
+ 
+ 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gensupport.c (process_rtx): Don't assume filename is the first
+ 	argument of any rtl.
+ 
+ 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax-protos.h (reg_was_0_p): New prototype.
+ 	* vax.md (movsi, movhi, movqi): Use reg_was_0_p.
+ 	* vax.c (follows_p, reg_was_0_p): New functions.
+ 
+ 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
+ 	(casesi1): Likewise.  Define new pattern which arises by simplification
+ 	when operand 1 is a constant int.  Correct pattern which arises by
+ 	simplification when operand 1 is zero.
+ 
+ 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
+ 	arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
+ 	arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
+ 	arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
+ 	arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
+ 	arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
+ 	xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
+ 	* config/arm/aof.h: Don't include arm.h.
+ 	* config/arm/aout.h: Likewise.
+ 	* config/arm/coff.h: Don't include semi.h and aout.h.
+ 	* config/arm/elf.h: Don't include aout.h.
+ 	* config/arm/netbsd.h: Don't include netbsd.h and aout.h.
+ 	(TARGET_VERSION): Undef before defining.
+ 	(ARM_OS_NAME): Likewise
+ 	(TARGET_DEFAULT): Likewise
+ 	(TARGET_MEM_FUNCTIONS): Do not need to undefine now.
+ 	* config/arm/pe.h: Don't include arm/coff.h.
+ 	* config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
+ 	SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
+ 	* config/arm/riscix1-1.h: Likewise.
+ 	* config/arm/rix-gas.h: Don't include riscix.h.
+ 	(DBX_CONTIN_LENGTH): Undef before defining.
+ 	* config/arm/semi.h: Don't include aout.h.
+ 	* config/arm/semiaof.h: Don't include aof.h.
+ 	* config/arm/strongarm-coff.h: Don't include coff.h.
+ 	* config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
+ 	* config/arm/vxarm.h: Don't include arm/coff.h.
+ 	* config/arm/xscale-coff.h: Don't include coff.h.
+ 
+ Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
+ 	emit_cmp_insn.
+ 
+ 2001-11-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
+ 	to ....
+ 	(fixup_fallthru_exit_predecessor): ... this.
+ 	Change callers and prototype.
+ 
+ 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
+ 	hand; don't use gen_setcc_2.
+ 	(ix86_expand_builtin): Fix pshufw.
+ 	* config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
+ 	case UNORDERED to emit the right assembler instruction.
+ 	(mmx_pshufw): Lose operand 2.
+ 	(cvtsi2ss): Fix representation.
+ 	From Graham Stott:
+ 	(mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
+ 
+ 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/include/linux-and-gnu.texi: Remove.
+ 	* doc/gnu.texi: New.
+ 	* doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
+ 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+ 
+ 2001-11-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/a29k/a29k.c: Fix comment formatting.
+ 	* config/a29k/a29k.h: Likewise.
+ 	* config/arc/arc.c: Likewise.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/vax/vax.c: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 	* config/we32k/we32k.c: Likewise.
+ 	* config/we32k/we32k.h: Likewise.
+ 
+ 2001-11-16  Jeff Law  <law@redhat.com>
+ 
+ 	* unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
+ 	creating a new jump insn.
+ 
+ Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
+ 	copy misaligned data.
+ 	* varasm.c (assemble_variable): Set alignment into MEM when changed.
+ 
+ 2001-11-16  Graham Stott  <grahams@redhat.com>
+ 
+ 	* optabs.c (prepare_cmp_insn): Correct lossage in last change fix
+ 	OPALIGN type.
+ 
+ 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* except.c: Support for catching a list of types with a single handler
+ 	(struct eh_region): Change type and filter to lists for catch regions.
+ 	(mark_eh_region): Mark the filter list for GC also.
+ 	(expand_start_catch): Always build a list if argument not NULL and
+ 	register each type of the list through add_type_for_runtime.
+ 	(duplicate_eh_region_1): Change type into type_list for catch regions.
+ 	(assign_filter_values): Assign a filter to each type associated with a
+ 	catch region. Assign filter for NULL types in a unique entry in the
+ 	filter list.
+ 	(build_post_landing_pads): Emit compare and jump for each filter of
+ 	the list associated with a catch region.
+ 	(reachable_next_level): When the type thrown is known, stop the search
+ 	as soon as one type within a catch list matches. Also, a handler is
+ 	potentially reachable only if at least one of the types it catches
+ 	has not been previously caught.
+ 	(collect_one_action_chain): Retrieve the filter for a NULL type list
+ 	from the first filter list entry. For non NULL type lists, add an
+ 	action record for every filter assigned.
+ 	* except.h: Reflect changes in comment before expand_start_catch.
+ 
+ Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
+ 	BLKmode.
+ 
+ Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
+ 
+ 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-lang.c (finish_file): Don't emit static inline functions if
+ 	they weren't referenced.
+ 
+ 2001-11-15  Stan Shebs  <shebs@apple.com>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
+ 
+ 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
+ 	call.
+ 	* config/i386/i386.md: Likewise.
+ 
+ Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* timevar.c (rtl.h): Include so get fancy abort.
+ 
+ 2001-11-15  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.h (SELECT_RTX_SECTION):  Force address
+ 	initializers into 'const' section
+ 	* config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
+ 	if_then_else to match result, not operands
+ 
+ Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
+ 	* emit-rtl.c (change_address): Fix typo in default alignment.
+ 	(adjust_address_1): Use mode of NEW, not MODE, when setting size.
+ 	* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
+ 	* rtl.h (REGNO_PTR_FRAME_P): New macro.
+ 
+ 	* expr.c (store_field): Pass tree instead of max size; callers changed.
+ 	Change handling of alignment.
+ 	Only copy to_rtx if is TARGET.
+ 	(expand_expr_unaligned): Delete; callers now use expand_expr.
+ 	(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
+ 	(expand_assignment): Change handling of alignment.
+ 	Only copy to_rtx if was original.
+ 	(get_inner_reference): No longer return alginment; callers changed.
+ 	(expand_expr, case COMPONENT_REF): Change handling of alignment.
+ 	(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
+ 	(compare_from_rtx): Delete ALIGN parm; all callers changed.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 	* expr.h: Reflect above changes.
+ 	* tree.h: Likewise.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
+ 	to get_inner_reference.
+ 	* builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
+ 	* doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	(prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
+ 	(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
+ 	* expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
+ 	compare_rtx_and_jump, and emit_cmp_jump_insns.
+ 	* fold-const.c: Remove PALIGN in calls to get_inner_reference.
+ 	* function.c (assign_stack_temp_for_type): No longer static.
+ 	* optabs.h (emit_cmp_insn): Remove ALIGN parm.
+ 	(prepare_cmp_insn): Delete declaration.
+ 	* rtl.h (assign_stack_temp_for_type): Add declaration.
+ 	* config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
+ 	* config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
+ 	* config/i386/i386.c,config/mips/mips.c: Likewise.
+ 	* config/i860/i860.c, config/ia64/ia64.c: Likewise.
+ 	* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
+ 
+ 2001-11-15  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.h: Fix a comment typo.
+ 	(RTX_COSTS): Sort processor versions better.
+ 
+ 2001-11-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Fix insn length of bit insns.
+ 
+ 2001-11-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
+ 	DIEs if there were errors in the source.
+ 
+ 	* config/alpha/alpha-interix.h, config/alpha/elf.h,
+ 	config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
+ 	config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
+ 	config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
+ 	config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
+ 	config/elfos.h, config/lynx.h, config/netware.h,
+ 	config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
+ 	config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
+ 	uses to use ASM_LONG.
+ 
+ 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
+ 
+ 	* gensupport.c	process_include : Change call to alloca to
+ 	xmalloc.
+ 
+ 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Use spaces instead of tabs in output
+ 	templates.
+ 
+ Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* final.c (alter_subreg): If simplify_subreg can't do anything,
+ 	handle REG ourselves and abort for others.
+ 
+ 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
+ 
+ 	* config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
+ 	routines.
+ 
+ 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (toplev_main): Don't start timing until after
+ 	command-line options are parsed.
+ 
+ 2001-11-15  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
+ 	makefile frag, not host makefile frag.
+ 	(m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
+ 	(hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
+ 	used.
+ 	(hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
+ 	* config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
+ 	* config/m88k/t-dgux (STMP_FIXPROTO): Define.
+ 	* config/i386/t-cygwin (STMP_FIXPROTO): Define.
+ 	* config/i386/t-dgux (STMP_FIXPROTO): Define.
+ 	* config/x-interix: Don't define STMP_FIXPROTO and
+ 	FIXPROTO_DEFINES.
+ 	* config/t-interix: New file, define STMP_FIXPROTO.
+ 	* config/i386/x-beos (STMP_FIXPROTO): Don't define here.
+ 	* config/i386/t-beos (STMP_FIXPROTO): Define here instead.
+ 	* config/t-svr4 (FIXPROTO_DEFINES): Define.
+ 	* config/arm/t-riscix (FIXPROTO_DEFINES): Define.
+ 	* config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
+ 	* config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
+ 	* config/m68k/t-hp3200: Renamed from x-hp3200.
+ 	* config/i370/t-oe: Renamed from x-oe.
+ 	* config/mips/t-iris: Renamed from x-iris.
+ 	* config/pa/t-bsd: Renamed from x-pa.
+ 	* config/pa/t-pa-hpux: Renamed from x-pa-hpux.
+ 	* config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
+ 	config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
+ 	config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
+ 	config/rs6000/x-cygwin: Remove files.
+ 
+ 	* configure.in: Check for target objdump and use that in eh_frame
+ 	optimization test.
+ 	* configure: Regenerated.
+ 
+ 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* jump.c (squeeze_notes): Return true if no real insns were found.
+ 	* rtl.h (squeeze_notes): Adjust prototype.
+ 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
+ 	squeeze_notes finds no real instructions, abort.
+ 	(merge_blocks_move_successor_nojumps): Likewise.
+ 	* loop.c (find_and_verify_loops): Likewise.
+ 	* stmt.c (expand_end_case): Likewise.
+ 	* ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
+ 	find any real instructions.
+ 
+ 	* config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
+ 	conditional jump, request updating life into for the block
+ 	containing it.  Fix a typo which prevented life info update.
+ 	Clear blocks bitmap before using it.
+ 
+ 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c: Include c-lex.h.
+ 	(c_common_lang_init): Change prototype.  Call init_c_lex and
+ 	init_pragma from here.
+ 	* c-common.h (c_common_lang_init): Change prototype.
+ 	* c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
+ 	* c-lang.c (c_init): Change prototype.  Update.
+ 	(c_init_options): Update.
+ 	* c-lex.c (cpp_filename): Remove.
+ 	(init_c_lex): Update.  Read the main file, and get the original
+ 	file name.
+ 	(yyparse): Finish the command line options.
+ 	* c-parse.in (c_parse_init): Call init_reswords here.
+ 	(init_parse): Remove.
+ 	* c-tree.h (c_init_decl_processing): New.
+ 	* cpphash.c (_cpp_init_hashtable): After initializing the hash
+ 	table, populate it.
+ 	* cppinit.c (read_original_filename, cpp_finish_options): New.
+ 	(cpp_create_reader): New prototype. Defer hash table initialization.
+ 	(cpp_start_read): Rename cpp_read_main_file.  Initialize the
+ 	hash table.  Get the original filename.
+ 	* cpplib.h (cpp_create_reader): Update.
+ 	(cpp_start_read): Remove.
+ 	(cpp_read_main_file, cpp_finish_options): New.
+ 	* cppmain.c (main, do_preprocessing): Update.
+ 	* langhooks.h (struct langhooks): Update init prototype.
+ 	* toplev.c (general_init, parse_options_and_default_flags,
+ 	process_options, lang_indpendent_init, lang_dependent_init,
+ 	init_asm_output): New; perform the bulk of initialization.
+ 	(compile_file): Move most of initialization to above functions.
+ 	(debug_hooks): Initialize statically.
+ 	(set_Wunused): Relocate.
+ 	(toplev_main): Move most of initialization to other init functions.
+ 	Have a clear logic flow.
+ 	* tree.h (init_parse, init_decl_processing): Remove.
+ objc:
+ 	* objc-act.c (objc_init): Update prototype, combine with old
+ 	init_parse.
+ 	(objc_init_options): Update.
+ 
+ 
+ 2001-11-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cfgrtl.c (purge_all_dead_edges): Use int as argument for
+ 	portability.
+ 	* basic-block.h: Adjust prototype.
+ 
+ 2001-11-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/rs6000/aix31.h: Fix comment formatting.
+ 	* config/rs6000/beos.h: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 	* config/rs6000/eabi.asm: Likewise.
+ 	* config/rs6000/linux.h: Likewise.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/rs6000/lynx.h: Likewise.
+ 	* config/rs6000/netbsd.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/rs6000/sol2.h: Likewise.
+ 	* config/rs6000/tramp.asm: Likewise.
+ 	* config/rs6000/xcoff.h: Likewise.
+ 	* config/rs6000/xm-beos.h: Likewise.
+ 
+ 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
+ 
+ 	* rtl.def (INCLUDE) : Define.
+ 	* gensupport.c  (init_include_reader, process_include,
+ 	save_string) :  New functions to implement an include facility
+ 	in .md files.
+ 	* gensupport.h : Add prototype for init_md_reader_args.
+ 	* genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
+ 	genextract.c genflags.c genopinit.c genoutput.c
+ 	genpeep.c genrecog.c: Change call to init_md_reader to
+ 	init_md_reader_args.
+ 	* md.texi: Document (include "path") and -I directives for RTL
+ 	generation tools.
+ 
+ 2001-11-14  DJ Delorie  <dj@redhat.com>
+ 
+ 	* integrate.c (get_hard_reg_initial_reg): New.
+ 	* integrate.h (get_hard_reg_initial_reg): Prototype.
+ 	* local-alloc.c (block_alloc): Don't tie pseudos that
+ 	represent call-saved hard regs' initial values.
+ 
+ 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
+ 	recursion.
+ 
+ 2001-11-14  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold): Optimize strlen comparisons against zero.
+ 
+ 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
+ 	sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
+ 	sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
+ 	sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
+ 	sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
+ 	sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
+ 	sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
+ 	Include various CPU headers via tm_file.  a.out based platforms now
+ 	properly include sparc/aout.h.  sol2.h usage now implies including
+ 	elfos.h, svr4.h, and sparc/sysv4.h.
+ 	* config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
+ 	Also define to '1'.
+ 	* sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
+ 	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
+ 	Remove.  They are a.out specific and belong in sparc/aout.h.
+ 	* sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
+ 	ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
+ 	sparc/sparc.h.
+ 	* sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
+ 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
+ 	Moved here from sparc/sparc.h.
+ 	* config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
+ 	defining.
+ 	* config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
+ 	* config/sparc/lynx.h:  Don't include lynx.h.
+ 	(SELECT_SECTION): Do not undef.
+ 	* config/sparc/openbsd.h: Don't include sparc/sparc.h.
+ 	* config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
+ 	and sparc/sysv4.h.
+ 	* config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
+ 	* config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
+ 	sparc/aout.h now.
+ 	* config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
+ 	Don't undef, there is no need.
+ 	* config/sparc/splet.h (CPP_PREDEFINES): Define.
+ 	* config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
+ 	* config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
+ 	Don't include sparc/sparc.h.
+ 	* config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
+ 	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
+ 	elfos.h and svr4.h.
+ 	(TARGET_VERSION): Define.
+ 	* config/sparc/vxsim.h (TARGET_VERSION): Define.
+ 
+ Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
+ 	(cfg_layout_finalize): Use it.
+ 	* bb-reorder.c (HAVE_epilogue): Remove.
+ 	(make_reorder_chain): Do not care special placement of
+ 	last basic block.
+ 
+ 	* predict.c (expected_value_to_br_prob): Delete the note
+ 	once transformed.
+ 
+ 	* c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
+ 	measure integration time separately.
+ 
+ Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (struct temp_slot): ALIGN now unsigned.
+ 
+ 2001-11-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/dsp16xx/dsp16xx.c: Fix comment formatting.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/dsp16xx/dsp16xx.md: Likewise.
+ 
+ 2001-11-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Reorganize the code
+ 	that deals with 7-bit shifts in HImode.
+ 
+ Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
+ 	* final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
+ 	(final_scan_insn): Update call of alter_subreg.
+ 	(cleanup_subreg_operands): Likewise.
+ 	(alter_subreg): Rewrite using simplify_subreg.
+ 	(output_address, output_operand): Update call of alter_subreg.
+ 	* output.h (alter_subreg): Update prototype.
+ 	* sdbout.c (sdbout_symbol): Update call of alter_subreg.
+ 	* simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
+ 	* Makefile.in (final.o): Add dependency on expr.h
+ 
+ Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-lang.c (finish_file): Make I unsigned to eliminate warning.
+ 
+ 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* doc/install.texi (sparc-*-linux*): Mention requirements for
+ 	binutils and glibc.
+ 
+ 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (POD2MAN): Don't include --section=1.
+ 	(manext): Rename to man1ext.  All users changed.
+ 	(man7ext): New.
+ 	(man7dir): New.
+ 	(generated-manpages): Also depend on $(docdir)/gfdl.7,
+ 	$(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
+ 	($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
+ 	--section=1 in calls to $(POD2MAN).
+ 	($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
+ 	(maintainer-clean, install, uninstall): Handle the new man pages.
+ 	($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
+ 	(installdirs): Create man7dir.
+ 	* doc/cpp.texi: Include GFDL in this manual.  In the man page,
+ 	refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
+ 	texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
+ 	the SEE ALSO man page section.
+ 	* doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
+ 	and fsf-funding(7) in the SEE ALSO man page section.
+ 	* doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
+ 	gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
+ 	* doc/include/fdl.texi, doc/include/funding.texi,
+ 	doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
+ 	* doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
+ 
+ 2001-11-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
+ 	as appropriate for the artificial decl.
+ 
+ 2001-11-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (combine_movables): Turn off combination until
+ 	move_movables validation bugs are fixed.
+ 
+ 2001-11-13  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config.gcc (powerpc|rs6000): Set default cpp options based
+ 	on --with-cpu settings.
+ 	* config/rs6000/softfloat.h: New.
+ 
+ 2001-11-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg_si): Use special code for
+ 	25-bit shifts on H8S.
+ 	(get_shift_alg): Generate special code for 25-bit shifts on
+ 	H8S.
+ 
+ 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* emit-rtl.c (adjust_address_1): Add ADJUST argument.
+ 	(adjust_automodify_address_1): New.
+ 	* expr.h (adjust_address, adjust_address_nv): Adjust.
+ 	(adjust_automodify_address, adjust_automodify_address_nv): Define.
+ 	(adjust_address_1): Update prototype.
+ 	(adjust_automodify_address_1): Add prototype.
+ 	* expr.c (move_by_pieces_1): Use adjust_automodify_address.
+ 	(store_by_pieces_2): Likewise.
+ 
+ Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (explow.o): Now depends on ggc.h.
+ 	* explow.c (ggc.h): Include.
+ 	(set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
+ 
+ 	* Makefile.in (expr.o): Depends on insn-attr.h.
+ 	* expr.c (insn-attr.h): New include.
+ 	(force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
+ 	of MEM.
+ 	(highest_pow2_factor, case INTEGER_CST): Handle negative values.
+ 	(expand_expr): Remove unneeded mark_temp_addr_taken calls and
+ 	clean up related usage in ADDR_EXPR.
+ 	(expand_expr_unaligned): Likewise.
+ 
+ 	* emit-rtl.c (change_address): Fix typo in alias setting.
+ 
+ 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (cfgcleanup.o): Depend on insn-config.h
+ 
+ 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR bootstrap/3451
+ 	* c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
+ 	GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
+ 
+ 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
+ 	sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
+ 	sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
+ 	sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
+ 	sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
+ 	sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
+ 	sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
+ 	sparc64-*-linux*):  Include various CPU headers via tm_file.
+ 	* config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
+ 	(SELECT_SECTION): Likewise.
+ 	(SELECT_RTX_SECTION): Likewise.
+ 	* config/sparc/sparc_bi.h: New file.
+ 	* config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
+ 	* config/sparc/linux-aout.h: Likewise.
+ 	* config/sparc/linux.h: Don't include sparc/sysv4.h.
+ 	* config/sparc/linux64.h: Likewise.
+ 	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
+ 	* config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
+ 	* config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
+ 	and dbxcoff.h
+ 	(ASM_OUTPUT_IDENT): Do not #undef.
+ 	(SELECT_SECTION): Likewise.
+ 	(SELECT_RTX_SECTION): Likewise.
+ 	* config/sparc/liteelf.h: Don't include gofast.h.
+ 	* config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
+ 	* config/sparc/lynx.h: Don't include sparc/sparc.h.
+ 	* config/sparc/pbd.h: Likewise.
+ 	* config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
+ 	* config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
+ 	* config/sparc/rtemself.h: Don't include rtems.h.
+ 	* config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
+ 	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
+ 	sparc_bi.h instead.
+ 	* config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
+ 	* config/sparc/sol2.h: Include sparc/sparc.h directly.
+ 	* config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
+ 	* config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
+ 	* config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
+ 	* config/sparc/sp86x-elf.h: Don't include gofast.h.
+ 	* config/sparc/splet.h: Don't include sparc/aout.h.
+ 	* config/sparc/sun4o3.h: Don't include sparc/sparc.h.
+ 	* config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
+ 	* config/sparc/vxsim.h: Don't include sparc/sysv4.h.
+ 	* config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
+ 	* config/sparc/vxsparc64.h: Don't include gofast.h.
+ 	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
+ 
+ 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/standards.texi: Mention C99 TC1.
+ 
+ 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips-protos.h (mips_output_conditional_branch): Const-ify.
+ 	* mips.c (mips_output_conditional_branch): Likewise.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg_si): Use special code for
+ 	15-bit logical shifts and 31-bit logical shifts.
+ 	(get_shift_alg): Generate special code for 15-bit and 31-bit
+ 	logical shifts.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg_qi): Use rotations when
+ 	doing 6-bit logical shifts on H8S.
+ 	(shift_alg_qi): Use special code for 21-bit shifts on H8S.
+ 	(get_shift_alg): Generate special code for 21-bit shifts on
+ 	H8S.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove a redundant
+ 	label.
+ 
+ Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (nonoverlapping_memrefs_p): Only update size from memref
+ 	if both size and offset known.
+ 
+ 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/ia64/freebsd.h: Fix misspelling.
+ 
+ 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Move several chapters out to ...
+ 	* doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
+ 	doc/include/linux-and-gnu.texi, doc/interface.texi,
+ 	doc/makefile.texi, doc/passes.texi, doc/portability.texi:
+ 	... here.  New files.
+ 	* doc/gcc.texi, doc/contrib.texi: Move section headings into
+ 	contrib.texi.
+ 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/alpha/alpha-interix.h: Fix comment formatting.
+ 	* config/alpha/alpha.c: Likewise.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/alpha/alpha32.h: Likewise.
+ 	* config/alpha/freebsd.h: Likewise.
+ 	* config/alpha/unicosmk.h: Likewise.
+ 	* config/alpha/vms.h: Likewise.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
+ 
+ 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
+ 	numbers.
+ 
+ Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (set_mem_attributes): If making object, can set alignment
+ 	from type.
+ 	(replace_equiv_address): Call update_temp_slot_address.
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
+ 
+ 	* alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
+ 
+ 2001-11-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg_qi): New.
+ 	(shift_alg_hi): Likewise.
+ 	(shift_alg_si): Likewise.
+ 	(get_shift_alg): Change the type of count to unsigned int.
+ 	Use the tables.
+ 
+ 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (c-lang.o): Depend on $(VARRAY_H).
+ 	* c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
+ 	to decide whether to defer a function.
+ 	(finish_function): Adjust.
+ 	(c_expand_deferred_function): New function.
+ 	* c-lang.c (deferred_fns): New variable.
+ 	(c_init): Initialize it, and mark it as a root.
+ 	(defer_fn): New function.
+ 	(finish_file): Expand all deferred functions.
+ 	* c-tree.h (defer_fn): Declare.
+ 	(c_expand_deferred_function): Likewise.
+ 	* objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
+ 	* objc-act.c (deferred_fns): New variable.
+ 	(objc_init): Initialize it, and mark it as a root.
+ 	(defer_fn): New function.
+ 	(finish_file): Expand all deferred functions.
+ 
+ 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (unicosmk_special_name): Prototype.
+ 	(unicosmk_ssib_name): Delete unused variable.
+ 	* alpha/unicosmk.h (common_section, ssib_section): Prototype.
+ 	* alpha/vms.h (PREFIX): Undef before defining.
+ 	* arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
+ 	* i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
+ 	controlling usage.  Const-ify.
+ 	(alias_number): Delete unused variable.
+ 	* m32r/m32r.c (m32r_sched_init): Add missing argument.
+ 	(m32r_expand_block_move): Fix uninitialized warnings.
+ 	* mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
+ 	always true' warnings.
+ 	* openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
+ 	* sh/sh.c: Include "integrate.h".
+ 	(output_far_jump): Fix uninitialized warning.
+ 	* final.c (shorten_branches): Avoid automatic aggregate
+ 	initialization.
+ 	* integrate.c (subst_constants): Likewise.
+ 
+ 2001-11-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
+ 	(get_shift_alg): Remove redundant code.
+ 
+ 2001-11-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/pa/milli64.S: Fix comment formatting.
+ 	* config/pa/pa-64.h: Likewise.
+ 	* config/pa/pa-linux.h: Likewise.
+ 	* config/pa/pa-protos.h: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/pa/pa32-linux.h: Likewise.
+ 	* config/pa/pa32-regs.h: Likewise.
+ 	* config/pa/pa64-hpux.h: Likewise.
+ 	* config/pa/pa64-regs.h: Likewise.
+ 	* config/pa/som.h: Likewise.
+ 
+ 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Move several chapters out to ...
+ 	* doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
+ 	doc/service.texi, doc/standards.texi, doc/trouble.texi,
+ 	doc/vms.texi: ... here.  New files.
+ 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
+ 
+ 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
+ 	cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
+ 	collect2.c, combine.c, config.in, configure, configure.in,
+ 	conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
+ 	genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
+ 	reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
+ 	spelling errors.
+ 
+ Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
+ 	Adjust operand number in CONST_DOUBLE.
+ 
+ 	* expmed.c (extract_bit_field): No longer pass in alignment.
+ 	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
+ 	(store_bit_field, store_fixed_bit_field, store_split_bit_field):
+ 	Likewise.
+ 	* expr.c (store_constructor, store_constructor_field): Likewise.
+ 	(store_field, emit_group_load, emit_group_store): Likewise.
+ 	* expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
+ 	(store_bit_field, extract_bit_field): Likewise.
+ 	* calls.c, expr.c, function.c: Change calls to above functions.
+ 	* ifcvt.c, stmt.c: Likewise.
+ 
+ 	* alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
+ 	constant and one is on frame.
+ 	If know memref offset, adjust size from decl.
+ 
+ 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
+ 	format specifier warning.
+ 	* convex.h (ASM_OUTPUT_BYTE): Likewise.
+ 	* elfos.h (ALIGN_ASM_OP): Undef before defining.
+ 	* i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
+ 	warning.
+ 	* i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386-interix.h (gen_stdcall_suffix): Prototype.
+ 	* i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 	* i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_LONG_DOUBLE): Likewise.
+ 	* i386/interix.c (gen_stdcall_suffix): Const-ify.
+ 	* i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
+ 	specifier warnings.
+ 	* i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_LONG_DOUBLE): Likewise.
+ 	* i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
+ 	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ 	* m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
+ 	Likewise.
+ 	* m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
+ 	Likewise.
+ 	* m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
+ 	* m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
+ 	Likewise.
+ 	* m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
+ 	Likewise.
+ 	* m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
+ 	Likewise.
+ 	* m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
+ 	* m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 	* m68k/news.h (PRINT_OPERAND): Likewise.
+ 	* m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ 	ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+ 	* m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ 	* m68k/plexus.h (ASM_SPEC): Insert space between macro name and
+ 	definition.
+ 	* m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
+ 	ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
+ 	* m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
+ 	* m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
+ 	PRINT_OPERAND): Likewise.
+ 	* m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
+ 	Likewise.
+ 	* mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	* mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	* mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
+ 	* mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	* mips.c (mips_output_external_libcall): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	(mips_asm_file_start): Move variable into the scope where it's
+ 	used.
+ 	* mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
+ 	* mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	* mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
+ 	* ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* ns32k.c (print_operand): Likewise.
+ 	* pa.c (print_operand, output_div_insn): Likewise.
+ 	* pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
+ 	ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
+ 	* pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
+ 	* sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
+ 	specifier warnings.
+ 	* sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
+ 	* sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
+ 	specifier warnings.
+ 	* svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 
+ 	* sdbout.c (sdbout_end_epilogue): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* varasm.c (assemble_global): Likewise.
+ 
+ 2001-11-11  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
+ 
+ Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (*_MAX_SKIP): Use *_max_skip variables.
+ 	* flags.h (align_loops_max_skip, align_jumps_max_skip,
+ 	align_labels_max_skip): New global variables.
+ 	* toplev.c (align_loops_max_skip, align_jumps_max_skip,
+ 	align_labels_max_skip): New global variables.
+ 	(toplev_main): Set new variables.
+ 	* i386.c (override_options): Set max_skip values.
+ 
+ 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
+ 	* final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
+ 	* config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
+ 	don't print an @fptr for labels either.
+ 	(xstormy16_output_addr_vec): Don't print @fptr here.
+ 	* config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
+ 
+ Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa-ccp.c (examine_flow_edges): Use old-style definition, not
+ 	an ANSI/ISO definitino.
+ 	(ssa_const_prop): Likewise.
+ 
+ 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
+ 	altivec registers.
+ 
+ 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cppexp.c (parse_number): Use ISXDIGIT/hex_value.
+ 	* cpplex.c (hex_digit_value): Use hex_p/hex_value.
+ 	* cppmain.c (general_init): Call hex_init.
+ 	* tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
+ 
+ 	* config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
+ 
+ 	* i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
+ 	of dgux.c:output_file_start().
+ 
+ 	* i386/dgux.c: Delete file.
+ 
+ 2001-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (decl_in_text_section): New.
+ 	(current_file_function_operand): Use it.
+ 	(alpha_encode_section_info, alpha_end_function): Likewise.
+ 
+ 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
+ 	* config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
+ 	they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
+ 	so OS specific files and use CPP_PREDEFINES for their needs.
+ 	* config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
+ 	target headers to tm_file.
+ 	* config/ia64/aix.h (TARGET_VERSION): Likewise.
+ 	* config/ia64/hpux.h (TARGET_VERSION): Likewise.
+ 	* config/ia64/linux.h (TARGET_VERSION): Likewise.
+ 	(FUNCTION_PROFILER): Remove.
+ 	* config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
+ 	version in config/ia64/linux.h.
+ 	* config/ia64/freebsd.h: New file.
+ 	* config/freebsd.h: Tidy up.
+ 	(_USING_CONFIG_FREEBSD): Define.
+ 	(FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
+ 	(FBSD_CPP_SPEC): Define generic FreeBSD spec.
+ 	(FBSD_STARTFILE_SPEC): Likewise.
+ 	(FBSD_ENDFILE_SPEC): Likewise.
+ 	(FBSD_LIB_SPEC): Likewise.
+ 	(WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
+ 	(USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
+ 	set an ELF-improper one.
+ 
+ 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
+ 	constant can be loaded in a single instruction to a register.  When
+ 	loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
+ 	depdi for insertion of most significant 32-bits on 64-bit hosts.
+ 	* pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
+ 	with ldil/ldo/depdi instruction sequence on 64-bit hosts.
+ 	* pa.md: New addmove pattern for adding constant_int to HImode
+ 	register and moving result to HImode register.  Remove HImode HIGH
+ 	and LO_SUM patterns.
+ 
+ 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-decl.c (print_lang_decl, print_lang_type): Remove.
+ 	(print_lang_identifier): Rename c_print_identifier.
+ 	* c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
+ 	(print_lang_statistics, lang_print_xnode): Remove.
+ 	* c-parse.in (set_yydebug): Rename c_set_yydebug.
+ 	* c-tree.h (c_set_yydebug, c_print_identifier): New.
+ 	* langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
+ 	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
+ 	LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
+ 	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New members.
+ 	(lang_print_tree_hook): New.
+ 	* langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
+ 	* print-tree.c: Include langhooks.h.
+ 	(print_node): Update.
+ 	* toplev.c (decode_d_option): Update.
+ 	* tree.c: Include langhooks.h.
+ 	(dump_tree_statistics): Update.
+ 	* tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
+ 	print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
+ objc:
+ 	* objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
+ 	LANG_HOOKS_SET_YYDEBUG): Override.
+ 	(lang_print_xnode, print_lang_statistics): Remove.
+ 
+ 2001-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
+ 	on the symbol string.
+ 
+ 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
+ 	ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
+ 	* config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
+ 
+ 	* clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
+ 
+ 	* tlink.c (recompile_files): Copy strings passed to `putenv'.
+ 
+ 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
+ 	(TYPE_READONLY): Likewise.
+ 
+ 	* flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
+ 
+ 	* config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
+ 	don't pass --gdwarf2 to the assembler if the compiler will also
+ 	provide debug info.
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_casesi):
+ 	Don't change INDEX.
+ 
+ Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (nonoverlapping_memrefs_p): New function.
+ 	(true_dependence, canon_true_depenence, write_dependence_p): Call it.
+ 
+ 	* emit-rtl.c (set_mem_attributes): Get alignments for constants.
+ 
+ 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
+ 	(CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
+ 	generating altivec code.
+ 	(FIXED_REGISTERS): VRSAVE is fixed.
+ 	(CALL_USED_REGISTERS): VRSAVE is call used.
+ 
+ 2001-11-09  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/mips/mips.c (mips_output_conditional_branch): Do not hard
+ 	code the branch target as ".+16/.+12", but rather use labels.
+ 
+ Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
+ 	to work around limitations of certain versions of GAS.
+ 
+ 	* pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
+ 	(muldi3): Update due to SUBREG_BYTE changes.
+ 	(casesi): Similarly.
+ 
+ 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/invoke.texi: Remove comment referring to -xf77-version.
+ 
+ 2001-11-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/convex/convex.c: Fix comment formatting.
+ 	* config/convex/convex.h: Likewise.
+ 
+ 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (.po.pox): Look both in srcdir and builddir
+ 	for $(PACKAGE).pot.
+ 	(po/$(PACKAGE).pot): Don't move-if-change the new potfile over
+ 	to the source directory.
+ 
+ 2001-11-09 Ben Elliston  <bje@redhat.com>
+ 	   Michael Meissner  <meissner@redhat.com>
+ 	   Andrew MacLeod  <amacleod@redhat.com>
+ 	   Richard Henderson  <rth@redhat.com>
+ 	   Nick Clifton  <nickc@redhat.com>
+ 	   Catherine Moore  <clm@redhat.com>
+ 
+ 	* m32r.c: Add support for m32rx processor.
+ 	* m32r.h: Ditto.
+ 	* m32r.md: Ditto.
+ 	* t-m32r: Ditto.
+ 	* m32r-protos.h: Add prototypes for m32rx functions.
+ 	* doc/invoke.texi: Document -m32rx option.
+ 
+ 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movdf): Avoid calling validize_mem during
+ 	or after reload.
+ 
+ 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi2html: Use $MAKEINFO --no-split.
+ 
+ 2001-11-09  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in ($(HOST_PREFIX_1)rtl.o,
+ 	$(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
+ 	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
+ 	$(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
+ 	$(HOST_PREFIX_1)ggc-none.o): Update dependencies.
+ 
+ 2001-11-09  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/mips.c (mips_output_function_prologues): Cast
+ 	`tsize' to long for output.
+ 
+ 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lang.c (LANG_HOOKS_NAME): New.
+ 	(lang_hooks): Constify.
+ 	(c_init_options): Update.
+ 	(lang_identify): Remove.
+ 	* c-parse.in (language_string): Remove.
+ 	* dbxout.c: Include langhooks.h.
+ 	(dbxout_symbol_location): Update.
+ 	* dwarf2out.c: Include langhooks.h.
+ 	(gen_compile_unit_die): Update.
+ 	* dwarfout.c: Include langhooks.h.
+ 	(prototyped_attribute, output_compile_unit_die): Update.
+ 	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New members.  Constify.
+ 	* stringpool.c: Don't include toplev.h.
+ 	(set_identifier_size): Remove.
+ 	* toplev.c (toplev_main): Initialize identifier size.
+ 	(print_version): Update.
+ 	* tree.h (language_string, init_lex, lang_identify,
+ 	set_identifier_size): Remove.
+ 	* Makefile.in: Update dependencies.
+ 	* config/darwin.c: Include langhooks.h.
+ 	(func_name_maybe_scoped): Update.
+ 	* config/darwin.h (ASM_END_FILE): Update.
+ 	* config/nextstep.h (ASM_END_FILE): Update.
+ 	* config/nextstep21.h (ASM_END_FILE): Update.
+ 	* config/i386/sun386.h (ASM_END_FILE): Update.
+ 	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
+ 	(rs6000_output_function_epilogue): Update.
+ objc:
+ 	* objc-act.c (LANG_HOOKS_NAME): Override.
+ 	(struct lang_hooks): Constify.
+ 	(objc_init_options): Update.
+ 	(lang_identify): Remove.
+ 
+ Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* fold-const.c (lshift_double): Honor PREC.
+ 	(rshift_double): Likewise.
+ 
+ 2001-11-08  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/1750a/1750a.c: Fix comment formatting.
+ 	* config/1750a/1750a.h: Likewise.
+ 
+ 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
+ 
+ 	* configure.in (--enable-languages): Be more permissive about
+ 	syntax.  Check for empty lists better.  Warn about $LANGUAGES.
+ 	* configure: Regenerated.
+ 
+ 2001-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (dw2_force_const_mem): Fix typo.
+ 
+ 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config.gcc: Rename stormy16 to xstormy16.
+ 	* config/stormy16/stormy-abi: Likewise.
+ 	* config/stormy16/stormy16-protos.h: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/stormy16/stormy16.md: Likewise.
+ 
+ 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* tree.h (TYPE_VOLATILE): Add enable-checking code.
+ 	(TYPE_READONLY): Likewise.
+ 
+ Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload1.c (reload): Don't delete equiv insn if can throw.
+ 
+ 	* expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
+ 	(clear_storage): Likewise, for OBJECT.
+ 
+ Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (emit_move_sequence): Fix SUBREG expression to
+ 	use proper byte offset when extending a constant from
+ 	SImode to DImode.
+ 
+ 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
+ 	which cannot throw.
+ 
+ Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (convert_memory_address, case SUBREG): Only return
+ 	inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
+ 
+ 2001-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
+ 	(CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
+ 	(ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
+ 
+ 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
+ 
+ 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2out.c (debug_str_hash): New.
+ 	(struct indirect_string_node): New.
+ 	(struct dw_val_struct): Change type of val_str to it.
+ 	(DEBUG_STR_SECTION_FLAGS): Define.
+ 	(add_AT_string): Push string into hashtable, increment reference
+ 	counter.
+ 	(AT_string): Return string from ht_identifier.
+ 	(AT_string_form): New.
+ 	(free_AT): For dw_val_class_str, just decrement reference counter.
+ 	(size_of_string): Remove.
+ 	(size_of_die): Use AT_string_form to decide what size the string
+ 	occupies in DIE.
+ 	(size_of_pubnames): Use strlen instead of size_of_string.
+ 	(value_format): Use AT_string_form for dw_val_class_str.
+ 	(output_die): Output DW_FORM_strp strings using
+ 	dw2_asm_output_offset.
+ 	(indirect_string_alloc, output_indirect_string): New.
+ 	(dwarf2out_finish): Emit .debug_str strings if there are any.
+ 
+ 2001-11-08  Andreas Franck  <afranck@gmx.de>
+ 
+ 	* configure.in: Add AC_ARG_PROGRAM to support program name
+ 	transformation with --program-prefix, --program-suffix and
+ 	--program-transform-name.
+ 	* configure: Regenerated.
+ 	* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
+ 	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
+ 	GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
+ 	PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
+ 	program_transform_name the way suggested by autoconf.
+ 	(GCC_TARGET_INSTALL_NAME): Define.
+ 	(install-driver): Use the transformed target alias name.
+ 
+ 2001-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.c (save_restore_insns): Remove GP from the
+ 	restore registers mask early instead of special casing it inside
+ 	the loop.
+ 
+ 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cp/decl.c (shadow_warning): New function.
+ 	(pushdecl): Improve -Wshadow warnings.  Don't give both a warning
+ 	and an error when a block scope decl shadows a parameter.
+ 
+ 2001-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
+ 	case as well.
+ 
+ 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (negdf2, negsf2): Use multiplication rather than subtraction
+ 	to implement floating negation on processors prior to PA 2.0.
+ 
+ 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
+ 	(USE_LINKONCE_INDIRECT): Define.
+ 	(dw2_output_indirect_constant_1): Try to output indirect constants
+ 	into linkonce sections if possible.
+ 	(dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
+ 	(dw2_output_indirect_constants): Likewise.
+ 
+ 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
+ 
+ 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (pushdecl): Remove file and line.
+ 	* c-typeck.c (pop_init_level): Remove size.
+ 
+ 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
+ 	for rs6000.
+ 
+ 	* config/rs6000/rs6000.h (MASK_ALTIVEC): New.
+ 	(TARGET_ALTIVEC): New.
+ 	(TARGET_SWITCHES): Add altivec.
+ 	(FIRST_PSEUDO_REGISTER): Change to 109.
+ 	(CALL_USED_REGISTERS): Same.
+ 	(FIRST_ALTIVEC_REGNO): New.
+ 	(LAST_ALTIVEC_REGNO): New.
+ 	(ALTIVEC_REGNO_P): New.
+ 	(UNITS_PER_ALTIVEC_WORD): New.
+ 	(ALTIVEC_VECTOR_MODE): New.
+ 	(FIXED_REGISTERS): Add altivec registers.
+ 	(REG_ALLOC_ORDER): Same.
+ 	(HARD_REGNO_NREGS): Adjust for altivec registers.
+ 	(HARD_REGNO_MODE_OK): Same.
+ 	(MODES_TIEABLE_P): Same.
+ 	(REGISTER_MOVE_COST): Same.
+ 	(REGNO_REG_CLASS): Same.
+ 	(reg_class): Add ALTIVEC_REGS.
+ 	(REG_CLASS_NAMES): Same.
+ 	(REG_CLASS_CONTENTS): Same.
+ 	(REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
+ 	(ALTIVEC_ARG_RETURN): New.
+ 	(FUNCTION_VALUE): Handle VECTOR_TYPE.
+ 	(LIBCALL_VALUE): Handle altivec vector modes.
+ 	(VECTOR_MODE_SUPPORTED_P): New.
+ 	(ALTIVEC_ARG_MIN_REG): New.
+ 	(ALTIVEC_ARG_MAX_REG): New.
+ 	(ALTIVEC_ARG_NUM_REG): New.
+ 	(FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
+ 	(FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
+ 	(REGISTER_NAMES): Add altivec regs.
+ 	(DEBUG_REGISTER_NAMES): Same.
+ 	(ADDITIONAL_REGISTER_NAMES): Same.
+ 	(rs6000_builtins): New.
+ 	(MD_EXPAND_BUILTIN): New.
+ 	(MD_INIT_BUILTINS): New.
+ 	(LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
+ 	for AltiVec instructions.
+ 	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
+ 	(HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
+ 	registers.
+ 	(SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
+ 	(TARGET_SWITCHES): Add no-altivec.
+ 	(DATA_ALIGNMENT): Align vectors to 128 bits.
+ 	(TARGET_OPTIONS): Add abi= option.
+ 	Add rs6000_abi_string extern.
+ 	(LOCAL_ALIGNMENT): New.
+ 	(CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
+ 	(MASK_ALTIVEC_ABI): New.
+ 	(TARGET_ALTIVEC_ABI): New.
+ 	(CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
+ 	call-saved.
+ 	(STACK_BOUNDARY): Adjust for altivec.
+ 	(BIGGEST_ALIGNMENT): Same.
+ 	(rs6000_args): Add vregno.
+ 	(USE_ALTIVEC_FOR_ARG_P): New.
+ 	(FIXED_REGISTERS): Add vrsave register.
+ 	(CALL_USED_REGISTERS): Same.
+ 	(CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
+ 	(VRSAVE_REGNO): New.
+ 	(reg_class): Add VRSAVE_REGS.
+ 	(REG_CLASS_NAMES): Same.
+ 	(REG_CLASS_CONTENTS): Same.
+ 	(REGNO_REG_CLASS): Same.
+ 
+ 	* config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
+ 	(ABI_STACK_BOUNDARY): Same.
+ 	(BIGGEST_ALIGNMENT): Same.
+ 	(ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
+ 	(ROUND_TYPE_ALIGN): Same.
+ 
+ 	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ 	to 64.
+ 
+ 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ 	to 64.
+ 
+ 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
+ 	to 64.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_expand_builtin): New.
+ 	(altivec_expand_builtin): New.
+ 	(altivec_init_builtins): New.
+ 	(TARGET_EXPAND_BUILTIN): New.
+ 	(TARGET_INIT_BUILTINS): New.
+ 	(rs6000_init_builtins): New.
+ 	(struct builtin_description): New.
+ 	(bdesc_2arg): New.
+ 	(rs6000_reg_names): Add altivec registers.
+ 	(alt_reg_names): Same.
+ 	(secondary_reload_class): Altivec regs can hold altivec regs and
+ 	memory.
+ 	(rs6000_emit_move): Force constants into memory for AltiVec moves.
+ 	(print_operand): Add 'y' case for printing altivec memory
+ 	operands.
+ 	(rs6000_legitimize_address): Legitimize vector addresses into
+ 	[REG+REG] or [REG].
+ 	(altivec_expand_binop_builtin): New.
+ 	New string rs6000_current_abi.
+ 	(rs6000_override_options): Call rs6000_parse_abi_options.
+ 	(rs6000_parse_abi_options): New.
+ 	(function_arg_boundary): Vector arguments must be 16
+ 	byte aligned.
+ 	(function_arg_advance): Handle vector arguments.
+ 	(function_arg_partial_nregs): Same.
+ 	(init_cumulative_args): Same.
+ 	(function_arg): Same.
+ 
+ 	* config/rs6000/rs6000.md (altivec_lvx): New.
+ 	(type): Add altivec attribute.
+ 	(movv4si): New.
+ 	(*movv4si_internal): New.
+ 	(movv16qi): New.
+ 	(*movv16qi_internal): New.
+ 	(movv8hi): New.
+ 	(*movv8hi_internal1): New.
+ 	(movv4sf): New.
+ 	(*movv4sf_internal1): New.
+ 	(altivec_stvx): New.
+ 	(vaddubm): New.
+ 	(vadduhm): New.
+ 	(vadduwm): New.
+ 	(vaddfp): New.
+ 	(vaddcuw): New.
+ 	(vaddubs): New.
+ 	(vaddsbs): New.
+ 	(vadduhs): New.
+ 	(vaddshs): New.
+ 	(vadduws): New.
+ 	(vaddsws): New.
+ 	(vand): New.
+ 	(vandc): New.
+ 	(vavgub): New.
+ 	(vavgsb): New.
+ 	(vavguh): New.
+ 	(vavgsh): New.
+ 	(vavguw): New.
+ 	(vavgsw): New.
+ 	(vcmpbfp): New.
+ 	(vcmpequb): New.
+ 	(vcmpequh): New.
+ 	(vcmpequw): New.
+ 	(vcmpeqfp): New.
+ 	(vcmpgefp): New.
+ 	(vcmpgtub): New.
+ 	(vcmpgtsb): New.
+ 	(vcmpgtuh): New.
+ 	(vcmpgtsh): New.
+ 	(vcmpgtuw): New.
+ 	(vcmpgtsw): New.
+ 	(vcmpgtfp): New.
+ 	(vcmpgefp): New.
+ 	(vcmpgtub): New.
+ 	(vcmpgtsb): New.
+ 	(vcmpgtuh): New.
+ 	(vcmpgtsh): New.
+ 	(vcmpgtuw): New.
+ 	(vcmpgtsw): New.
+ 	(vcmpgtfp): New.
+ 	(vmaxub): New.
+ 	(vmaxsb): New.
+ 	(vmaxuh): New.
+ 	(vmaxsh): New.
+ 	(vmaxuw): New.
+ 	(vmaxsw): New.
+ 	(vmaxfp): New.
+ 	(vmrghb): New.
+ 	(vmrghh): New.
+ 	(vmrghw): New.
+ 	(vmrglb): New.
+ 	(vmrglh): New.
+ 	(vmrglw): New.
+ 	(vminub): New.
+ 	(vminsb): New.
+ 	(vminuh): New.
+ 	(vminsh): New.
+ 	(vminuw): New.
+ 	(vminsw): New.
+ 	(vminfp): New.
+ 	(vmuleub): New.
+ 	(vmulesb): New.
+ 	(vmuleuh): New.
+ 	(vmulesh): New.
+ 	(vmuloub): New.
+ 	(vmulosb): New.
+ 	(vmulouh): New.
+ 	(vmulosh): New.
+ 	(vnor): New.
+ 	(vor): New.
+ 	(vpkuhum): New.
+ 	(vpkuwum): New.
+ 	(vpkpx): New.
+ 	(vpkuhss): New.
+ 	(vpkshss): New.
+ 	(vpkuwss): New.
+ 	(vpkswss): New.
+ 	(vpkuhus): New.
+ 	(vpkshus): New.
+ 	(vpkuwus): New.
+ 	(vpkswus): New.
+ 	(vrlb): New.
+ 	(vrlh): New.
+ 	(vrlw): New.
+ 	(vslb): New.
+ 	(vslh): New.
+ 	(vslw): New.
+ 	(vsl): New.
+ 	(vslo): New.
+ 	(vsrb): New.
+ 	(vrsh): New.
+ 	(vrsw): New.
+ 	(vsrab): New.
+ 	(vsrah): New.
+ 	(vsraw): New.
+ 	(vsr): New.
+ 	(vsro): New.
+ 	(vsububm): New.
+ 	(vsubuhm): New.
+ 	(vsubuwm): New.
+ 	(vsubfp): New.
+ 	(vsubcuw): New.
+ 	(vsububs): New.
+ 	(vsubsbs): New.
+ 	(vsubuhs): New.
+ 	(vsubshs): New.
+ 	(vsubuws): New.
+ 	(vsubsws): New.
+ 	(vsum4ubs): New.
+ 	(vsum4sbs): New.
+ 	(vsum4shs): New.
+ 	(vsum2sws): New.
+ 	(vsumsws): New.
+ 	(vxor): New.
+ 
+ 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* Makefile.in (df.o): Add fibheap.h to dependencies.
+ 
+ 	* df.h: Add prototypes for transfer functions, iterative_dataflow
+ 	functions.
+ 	(enum df_flow_dir): New enum.
+ 	(enum df_confluence_op): New enum.
+ 	(struct df): Add inverse_rts_map.
+ 
+ 	* df.c: Add sbitmap.h to the list of includes.
+ 	(df_rd_global_compute): Removed.
+ 	(df_ru_global_compute): Removed.
+ 	(df_lr_global_compute): Removed.
+ 	(df_rd_transfer_function): New function.
+ 	(df_ru_transfer_function): New function.
+ 	(df_lr_transfer_function): New function.
+ 	(df_analyse_1): allocate/compute/free df->inverse_rts_map.
+ 	Use iterative_dataflow_bitmap instead of df_*_global_compute.
+ 	(iterative_dataflow_sbitmap): New function.
+ 	(iterative_dataflow_bitmap): New function.
+ 
+ 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Move terminology and spelling conventions to
+ 	htdocs/codingconventions.html.
+ 
+ 2001-11-07  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cse.c (cse_insn): Emit BARRIER after unconditional jump.
+ 
+ Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expmed.c (expand_mult): Force operand to register before computing
+ 	cost.
+ 	* i386.c (x86_decompose_lea): New global vairable.
+ 	* i386.h (x86_decompose_lea): Declare.
+ 	(TARGET_DECOMPOSE_LEA): New macro.
+ 	(RTX_COST): Handle leas properly.
+ 
+ 2001-11-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
+ 	defined for a CONSTRUCTOR; don't check it.
+ 
+ 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
+ 	test for absolute pathnames.
+ 
+ 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* unwind-dw2.c (execute_cfa_program): Evaluate call frame
+ 	instructions up to the target pc inclusive.
+ 
+ 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
+ 
+ 	* loop.c (loop_regs_scan):  Don't invalidate PIC register.
+ 
+ 2001-11-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md(movdf_internal2): Add constraints for float
+ 	to general register move.
+ 	* config/mips/elf64.h: Add default ABI.
+ 
+ 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* alias.c:: Include langhooks.h.
+ 	* emit-rtl.c: Similarly.
+ 	* toplev.c: Similarly.
+ 	* tree-inline.c: Similarly.
+ 	* langhooks-def.h: New, the old langhooks.h.  Give the default
+ 	hooks a common prefix.
+ 	* langhooks.h: Contents extracted from toplev.h.
+ 	* toplev.h: Move langhook stuff to langhooks.h.
+ 	* langhooks.c: Give default hooks a common prefix.
+ 
+ 	* c-lang.c: Include langhooks-def.h.
+ 	* objc/objc-act.c: Similarly.
+ 	* Makefile.in: Update.
+ 	* objc/Make-lang.in: Update.
+ 
+ 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Document that configure options not listed in
+ 	this file are unsupported.  Document --with-system-zlib.
+ 
+ Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.h (mem_for_const_double): New declaration.
+ 	* varasm.c (mem_for_const_double): New function.
+ 	* config/convex/convex.md (movdf): Use it.
+ 	* config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
+ 	* config/m68k/linux.h, config/m68k/m68k.h: Likewise.
+ 	* config/m68k/m68kv4.h: Likewise.
+ 
+ 	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
+ 	of new GP reg classes.
+ 
+ 	* expr.c (store_field): When making temp object for unaligned
+ 	component, set it to alias set 0.
+ 
+ 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (c_expand_expr_stmt): Apply default conversions to
+ 	non-lvalue arrays if C99.
+ 	* c-typeck.c (default_conversion): Split out code handling
+ 	array-to-pointer and function-to-pointer conversions into a
+ 	separate default_function_array_conversion function.
+ 	(default_function_array_conversion): New function.  Keep track of
+ 	whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
+ 	arrays unchanged outside C99 mode instead of giving an error for
+ 	them.
+ 	(build_component_ref): Use pedantic_non_lvalue when handling
+ 	COMPOUND_EXPR.  Don't handle COND_EXPR specially.
+ 	(convert_arguments): Use default_function_array_conversion.
+ 	(build_unary_op): For ADDR_EXPR, take a flag indicating whether
+ 	non-lvalues are OK.
+ 	(unary_complex_lvalue): Likewise.
+ 	(internal_build_compound_expr): Use
+ 	default_function_array_conversion.  Apply default conversions to
+ 	function in compound expression.
+ 	(build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
+ 	Use default_function_array_conversion.
+ 	* doc/extend.texi: Update documentation of subscripting non-lvalue
+ 	arrays.
+ 	Fixes PR c/461.
+ 
+ 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
+ 	(AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
+ 	corresponding to the complete set of .po and .gmo files in
+ 	the source directory's po subdir, modified by LINGUAS.  Don't
+ 	look at ALL_LINGUAS.
+ 	* configure.in: Don't set ALL_LINGUAS.
+ 	* configure: Regenerate.
+ 
+ 	* Makefile.in (.po.gmo): Don't move into source directory.
+ 	(.po.pox): Clarify comments.
+ 	(install-po): Look for .gmo files in both srcdir and objdir;
+ 	don't fail if a file is totally missing.
+ 	(distclean): rmdir ada subdirectory too.
+ 
+ 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_select_section): Handle
+ 	CONSTRUCTORs _correctly_.
+ 
+ 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (delete_block): Remove.
+ 	* c-tree.h (delete_block): Remove.
+ 
+ 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (lex, parse_defined): Update warning about defined.
+ 
+ 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_select_section): Handle
+ 	CONSTRUCTORs too.
+ 
+ 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_return_in_memory): Cope with
+ 	int_size_in_bytes returning -1.
+ 
+ 	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
+ 	DECL being NULL.
+ 
+ Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
+ 	remove unneeded dependencies;
+ 	(cfglayout.o): New.
+ 	* cfglayout.c, cfglayout.h: New files; break out from ...
+ 	* bb-reorder.c: ... here; Remove unneeded includes;
+ 
+ 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
+ 
+ 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
+ 	mode as well.  Do not explicitly create intermediate regs.
+ 
+ 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arm/aof.h (aof_text_section, aof_data_section): Don't declare.
+ 	(common_section): Delete unused variable.
+ 	(ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
+ 	* arm-protos.h (arm_poke_function_name, aof_add_import,
+ 	aof_delete_import): Const-ify.
+ 	* arm.c (legitimize_pic_address): Wrap variables in the macro
+ 	controlling their usage.
+ 	(arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
+ 	(arm_poke_function_name, pic_chain, import, aof_add_import,
+ 	aof_delete_import): Const-ify.
+ 	* i386.c (ix86_osf_output_function_prologue): Const-ify.
+ 	* i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
+ 	ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
+ 	* i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
+ 	* i860/sysv3.h: Add missing comment closure.
+ 	* m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
+ 	* m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
+ 	to symbolic_operand.
+ 
+ 	* config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
+ 	(i960-*-*): Set tmake_file.
+ 	(sparc86x-*-elf*): Fix typo in header name.
+ 
+ 	* sched-rgn.c (schedule_insns): Delete unused variable.
+ 
+ 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	PR c/2820
+ 	* c-typeck.c (lookup_field): Rework to return a chain down to
+ 	the looked-up field.
+ 	(build_component_ref): Use the new lookup_field to handle
+ 	nested anonymous entities correctly.
+ 
+ Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
+ 	Change parameters to gen_rtx_CONST_DOUBLE.
+ 	(GEN_INT64, sparc_emit_set_const64): Likewise.
+ 	* config/sparc/sparc.md (movdf split): Likewise.
+ 
+ 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* unroll.c (calculate_giv_inc): Use find_last_value rather
+ 	than just hoping the last instruction is the right SET.
+ 	[Fixes 990604-1.c on stormy16.]
+ 
+ 	* config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
+ 	library at all if -T is used.
+ 
+ 	* config/stormy16/stormy16.c (stormy16_print_operand): Avoid
+ 	some uses of uninitialized variables in error cases.
+ 
+ 	* config/stormy16/stormy16.c (stormy16_output_shift): Don't
+ 	look at 'temp' if we won't be using it.
+ 
+ 	* config/stormy16/stormy16.h (CONST_COSTS): Define.
+ 	(RTX_COSTS): Define.
+ 	(ADDRESS_COST): Define.
+ 	(MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
+ 
+ 	* config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
+ 
+ 	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
+ 	stormy16_asm_output_mi_thunk.
+ 	* config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
+ 	function.
+ 	* config/stormy16/stormy16-protos.h
+ 	(stormy16_asm_output_mi_thunk): New prototype.
+ 
+ 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
+ 	FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
+ 	caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
+ 	cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
+ 	sched-int.h, toplev.c, config/alpha/alpha.c,
+ 	config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
+ 	config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
+ 	config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
+ 	config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
+ 	config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
+ 	config/ns32k/ns32k.md, config/rs6000/rs6000.c,
+ 	config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
+ 
+ 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (dbxout.o): Depend on function.h.
+ 	* collect2.c (is_in_list): Hide unused function.
+ 	* dbxout.c: Include function.h.
+ 	(source_label_number, dbxout_source_line, dbxout_source_file,
+ 	dbxout_function_end, dbxout_begin_function): Wrap/move inside
+ 	macros controlling usage.
+ 	* gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
+ 	* output.h (exports_section): Prototype.
+ 
+ 	* convex.c (convex_output_function_prologue): Fix format specifier
+ 	warning.
+ 	(asm_declare_function_name): Fix signed/unsigned warning.
+ 	(print_operand): Fix format specifier warning.
+ 	* convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
+ 	* dsp16xx-protos.h (uns_comparison_operator,
+ 	num_1600_core_shifts): Prototype.
+ 	* dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
+ 	(frame_size, frame_pointer_offset): Delete.
+ 	(dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
+ 	Make static.  Fix format specifier warnings.
+ 	* dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
+ 	(EXTRA_SECTION_FUNCTIONS): Prototype const_section.
+ 	* dsp16xx.md: Add default case in switches.
+ 	* fr30.h (IN_RANGE): Delete.
+ 	* ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
+ 	* mcore-protos.h (mcore_output_cmov): Const-ify.
+ 	* mcore.c (mcore_output_cmov): Likewise.
+ 	* mcore.h (switch_to_section): Make static and prototype.
+ 	* mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
+ 	unsigned>=0 warnings.
+ 	* mn10300.h (REGNO_IN_RANGE_P): Likewise.
+ 	* rs6000-protos.h (read_only_data_section,
+ 	read_only_private_data_section): Prototype.
+ 	* rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 	* sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
+ 	* sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
+ 
+ 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
+ 	ATTRIBUTE_UNUSED.
+ 	* final.c (final_scan_insn): Add brackets around body of if-stmt.
+ 	* gcc.c (convert_filename): Add static prototype.  Const-ify.
+ 	Wrap variable in macros controlling its use.
+ 	* output.h (sdata_section): Add prototype.
+ 
+ 	* 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ 	(ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
+ 	* c4x.h (INIT_SECTION_FUNCTION): Add prototype.
+ 	(ASM_FILE_START): Const-ify.
+ 	(ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
+ 	specifier warning.
+ 	* c4x.md: Don't use the 'U' integer suffix.
+ 	* clipper.md (clipper_movstr): Delete declaration.
+ 	* d30v-protos.h (d30v_move_2words): Const-ify.
+ 	(debug_stack_info): Add prototype.
+ 	* d30v.c: Include "integrate.h".
+ 	(d30v_function_arg_boundary, d30v_function_arg,
+ 	d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
+ 	signed/unsigned warnings.
+ 	(d30v_print_operand_memory_reference, d30v_move_2words):
+ 	Const-ify.
+ 	* d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
+ 	* fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
+ 	* fr30.md: Const-ify.
+ 	* h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ 	* i370.c (i370_label_scan, mvs_get_label): Make definition static.
+ 	(mvs_get_label_page): Hide unused static function.
+ 	* i860.c (current_function_original_name): Const-ify.
+ 	* i860/sysv3.h (current_function_original_name): Likewise.
+ 	* i860/sysv4.h (current_function_original_name): Likewise.
+ 	* i960.md: Add default case in switches.  Remove unused variable.
+ 	* i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
+ 	* m32r.md: Const-ify.
+ 	* m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
+ 	* m68hc11.c: Include "reload.h".
+ 	(static_chain_reg, print_options, m68hc11_asm_file_start):
+ 	Const-ify.
+ 	* m68hc11.md: Delete unused variable.  Const-ify.  Add parens
+ 	around & in comparison.
+ 	* mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
+ 	* mn10200.c (shift_mode): Remove trailing comma.
+ 	* mn10300-protos.h (output_tst): Const-ify.
+ 	* mn10300.c (output_tst): Likewise.
+ 	* pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
+ 	warnings.
+ 	* pa-protos.h (output_ascii): Use regular char *, not unsigned.
+ 	* pa.c (output_ascii): Likewise.
+ 	* pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
+ 	* pdp11.md (expand_unop): Delete declarations.
+ 	* pj-protos.h (pj_output_addsi3): Const-ify.
+ 	* pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
+ 	pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
+ 	unique_src_operand): Add prototypes.
+ 	(pj_output_store_into_lval): Make definition static.
+ 	(pj_function_incoming_arg): Don't use unary plus.
+ 	(pj_output_addsi3): Const-ify.
+ 	* romp.md (get_symref): Delete declarations.
+ 	* v850-c.c (mark_current_function_as_interrupt): Don't return
+ 	value from void function.
+ 	* v850.c: Include "integrate.h".
+ 	* v850.h (ASM_OUTPUT_LABELREF): Const-ify.
+ 	* vax-protos.h (const_section): Add prototype.
+ 
+ 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* machmode.def: Add documentation for the seventh argument in
+ 	vector modes.
+ 
+ 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
+ 	consistently.
+ 	<-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
+ 	<-melf>: Don't have markup for ELF acronym.
+ 
+ 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config.gcc (mmix-*-*): New target.
+ 	* doc/invoke.texi: Document MMIX options.
+ 	* doc/contrib.texi: Add note about MMIX port to my entry.
+ 	* config/mmix/t-mmix: New file.
+ 	* config/mmix/mmix.h: New file.
+ 	* config/mmix/mmix-protos.h: New file.
+ 	* config/mmix/mmix.c: New file.
+ 	* config/mmix/mmix.md: New file.
+ 	* config/mmix/crti.asm: New file.
+ 	* config/mmix/crtn.asm: New file.
+ 
+ 2001-11-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/sparc/linux-aout.h: Fix comment formatting.
+ 	* config/sparc/linux.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 	* config/sparc/lynx.h: Likewise.
+ 	* config/sparc/pbd.h: Likewise.
+ 	* config/sparc/sol2-sld-64.h: Likewise.
+ 	* config/sparc/sol2.h: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 	* config/sparc/sunos4.h: Likewise.
+ 	* config/sparc/vxsim.h: Likewise.
+ 	* config/sparc/vxsparc.h: Likewise.
+ 	* config/sparc/vxsparc64.h: Likewise.
+ 
+ Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
+ 	reference to CONST_DOUBLE_MEM in comment.
+ 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
+ 	(gen_rtx, case CONST_DOUBLE): Call it with one less operand.
+ 	(init_emit_once): Don't clear CONST_DOUBLE_MEM.
+ 	* function.c (pop_function_context_from): Don't call
+ 	restore_varasm_status.
+ 	* function.h (restore_varasm_status): Delete declaration.
+ 	* gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
+ 	* rtl.c: Likewise.
+ 	* rtl.def (CONST_DOUBLE): Update comment.
+ 	* rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
+ 	(CONST_DOUBLE_CHAIN): Likewise.
+ 	(CONST_DOUBLE_MEM): Delete.
+ 	(gen_rtx_CONST_DOUBLE): Update parameters.
+ 	* varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
+ 	Remove reference to CONST_DOUBLE_MEM.
+ 	(const_alias_set): New variable.
+ 	(immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
+ 	(immed_real_const_1): Adjust tests for 0, 1, and 2.
+ 	Don't set CONST_DOUBLE_MEM.
+ 	(clear_const_double_mem): Don't do anything with const_tiny_rtx.
+ 	(output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
+ 	Put constant in const_alias_set.
+ 	(struct pool_constant): ALIGN now unsigned.
+ 	OFFSET now HOST_WIDE_INT.
+ 	Delete LABEL.
+ 	(restore_varasm_status): Deleted.
+ 	(mark_pool_constant): Mark desc->rtl.
+ 	(force_const_mem): Rework to store rtl in hash table,
+ 	not CONST_DOUBLE_MEM.
+ 	Put constant in const_alias_set.
+ 	(find_pool_constant): Check desc->rtl.
+ 	(mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
+ 	(init_varasm_once): Initialize const_alias_set.
+ 
+ 	* expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
+ 	force_const_mem.
+ 
+ 	* reload.c (combine_reloads): Don't combine an output reload if there
+ 	are other reloads around for part of the output.
+ 
+ 	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
+ 	constant expression.
+ 	(set_mem_decl): New function.
+ 	* expr.h (set_mem_decl): New declaration.
+ 	* final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
+ 	(output_asm_operand_names): Add tab.
+ 	* reload1.c (alter_reg): Set decl of MEM from REG_DECL.
+ 
+ 	* builtins.c (get_memory_rtx): Properly set MEM alias set and
+ 	attributes.
+ 
+ 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
+ 	Use "invalid" instead of "illegal".  Use @r in comments in
+ 	examples.
+ 
+ 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (pushdecl): Move block inside if conditional to remove
+ 	possibility of a segfault.  Lookup block-level extern
+ 	variables in enclosing scopes correctly.
+ 
+ 	* testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
+ 
+ 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Use simplify_gen_subreg to make
+ 	SUBREG so we avoid SUBREGing memory.
+ 
+ 	* expmed.c (store_bit_field): Same.
+ 
+ 2001-11-02  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
+ 	using FP registers for DImode mem-mem moves is acceptable.
+ 
+ 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* builtins.c (apply_args_size): Handle vector arguments.
+ 	(apply_result_size): Same.
+ 
+ 	* machmode.def: Set WIDER mode field for all vector entries.
+ 
+ 2001-11-02  Graham Stott  <grahams@redhat.com>
+ 
+ 	* recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
+ 
+ 2001-11-01  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config.gcc: Revert part of earlier patch.
+ 	* config/mips/linux.h: Ditto.
+ 	* df.c: Include tm_p.h to avoid warnings.
+ 	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
+ 	#if/#endif.
+ 	* config/mips/mips.c: Define mips_abi regardless.
+ 	(mips_output_function_prologues): Add long casts for .frame
+ 	output.
+ 	(override_options): Allow use of ABI_32.
+ 
+ 2001-11-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/m68hc11/m68hc11.c: Fix comment formatting.
+ 	* config/m68hc11/m68hc11.h: Likewise.
+ 	* config/m68hc11/m68hc11.md: Likewise.
+ 
+ 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-typeck.c (default_conversion): Retain the original expression
+ 	codes.
+ 	* gcc.dg/Wparentheses.c: New tests.
+ 
+ 2001-11-01  David S. Miller  <davem@redhat.com>
+ 
+ 	* doc/install.texi (Specific, sparc-sun-solaris2*): Bring
+ 	64-bit SPARC description more in line with reality.
+ 
+ 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (GCOV_OBJS): Add version.o.
+ 	* gcov.c: Include "version.h" and <getopt.h>.
+ 	(gcov_version_string): Remove.
+ 	(print_usage): Take a parameter to determine whether this is a
+ 	call from --help or an error message.  Give fuller output that
+ 	follows the GNU Coding Standards for --help.
+ 	(print_version): New function.
+ 	(options): New.
+ 	(process_args): Use getopt_long.  Support long options.  Follow
+ 	GNU Coding Standards for --help and --version.
+ 	* doc/gcov.texi: Document long options.
+ 	Addresses part of PR other/704.
+ 
+ 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_move_double): Fix typo in double load.
+ 
+ 2001-11-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_encode_label): Compute a string
+ 	before passing it to ggc_alloc_string.
+ 
+ 2001-11-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/m68k/3b1.h: Fix comment formatting.
+ 	* config/m68k/3b1g.h: Likewise.
+ 	* config/m68k/a-ux.h: Likewise.
+ 	* config/m68k/amix.h: Likewise.
+ 	* config/m68k/apollo68.h: Likewise.
+ 	* config/m68k/atari.h: Likewise.
+ 	* config/m68k/aux-exit.c: Likewise.
+ 	* config/m68k/ccur-GAS.h: Likewise.
+ 	* config/m68k/crds.h: Likewise.
+ 	* config/m68k/dpx2.h: Likewise.
+ 	* config/m68k/dpx2g.h: Likewise.
+ 	* config/m68k/hp310.h: Likewise.
+ 	* config/m68k/hp320.h: Likewise.
+ 	* config/m68k/isi.h: Likewise.
+ 	* config/m68k/linux.h: Likewise.
+ 	* config/m68k/lynx.h: Likewise.
+ 	* config/m68k/m68k-psos.h: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m68k/m68k.md: Likewise.
+ 	* config/m68k/m68kelf.h: Likewise.
+ 	* config/m68k/m68kv4.h: Likewise.
+ 	* config/m68k/mot3300.h: Likewise.
+ 	* config/m68k/news.h: Likewise.
+ 	* config/m68k/next.h: Likewise.
+ 	* config/m68k/pbb.h: Likewise.
+ 	* config/m68k/plexus.h: Likewise.
+ 	* config/m68k/sgs.h: Likewise.
+ 	* config/m68k/sun3.h: Likewise.
+ 	* config/m68k/tower.h: Likewise.
+ 	* config/m68k/vxm68k.h: Likewise.
+ 
+ 2001-10-31  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/mips/mips.h (mips_cache_flush_func): Prototype.
+ 	(TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
+ 	(INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
+ 	* config/mips/mips.c (mips_cache_flush_func): New.
+ 	* doc/invoke.texi: Document the new options.
+ 
+ 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config.gcc (cris-*-linux*, tm_file): Rearrange order.
+ 	* config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
+ 
+ 	* config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
+ 
+ 	* config/cris/cris.c: Include output.h after tree.h but before
+ 	target.h.
+ 
+ 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (INTL_TARGETS, POSUB): Delete all references.
+ 	(INTL_SUBDIRS): Just intl.
+ 	(.SUFFIXES): Add .gmo .po .pox.
+ 	(native): Also depend on build-@POSUB@.
+ 	(intl.all, intl.install): Depend on config.h and things it includes.
+ 	(po-generated): New target; depend on c-parse.c and tradcif.c.
+ 	(install-normal): Also depend on install-@POSUB@.
+ 	(XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
+ 	(build-, install-, build-po, update-po, install-po,
+ 	.po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
+ 
+ 	* aclocal.m4: Prefix each entry in CATALOGS with "po/"
+ 	* configure.in: Don't munge XGETTEXT.  Don't generate
+ 	po/Makefile.in.
+ 	* configure: Regenerate.
+ 
+ 	* exgettext: Delete.
+ 	* config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
+ 	* objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
+ 
+ 2001-10-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (two anonymous patterns): New.
+ 
+ 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* tree.h (tree_index): Add support for V16QI and V8HI.
+ 	(V8HI_type_node): New.
+ 	(V16QI_type_node): New.
+ 
+ 	* tree.c (build_common_tree_nodes_2): Same.
+ 
+ 	* c-common.c (type_for_mode): Same.
+ 
+ 2001-10-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/i386/att.h: Fix comment formatting.
+ 	* config/i386/beos-elf.h: Likewise.
+ 	* config/i386/bsd.h: Likewise.
+ 	* config/i386/bsd386.h: Likewise.
+ 	* config/i386/crtdll.h: Likewise.
+ 	* config/i386/cygwin.asm: Likewise.
+ 	* config/i386/cygwin.h: Likewise.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/freebsd-aout.h: Likewise.
+ 	* config/i386/freebsd.h: Likewise.
+ 	* config/i386/gas.h: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/i386-protos.h: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i386/i386elf.h: Likewise.
+ 	* config/i386/interix.c: Likewise.
+ 	* config/i386/isc.h: Likewise.
+ 	* config/i386/isccoff.h: Likewise.
+ 	* config/i386/iscdbx.h: Likewise.
+ 	* config/i386/linux.h: Likewise.
+ 	* config/i386/lynx.h: Likewise.
+ 	* config/i386/mingw32.h: Likewise.
+ 	* config/i386/netbsd-elf.h: Likewise.
+ 	* config/i386/next.h: Likewise.
+ 	* config/i386/osf1elf.h: Likewise.
+ 	* config/i386/osfrose.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i386/seq-gas.h: Likewise.
+ 	* config/i386/seq-sysv3.h: Likewise.
+ 	* config/i386/sequent.h: Likewise.
+ 	* config/i386/sol2.h: Likewise.
+ 	* config/i386/sun386.h: Likewise.
+ 	* config/i386/uwin.asm: Likewise.
+ 	* config/i386/uwin.h: Likewise.
+ 	* config/i386/vxi386.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i386/xm-cygwin.h: Likewise.
+ 	* config/i386/xm-mingw32.h: Likewise.
+ 
+ 2001-10-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* builtins.def: Fix comment typos.
+ 	* config/alpha.c: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/d30v/d30v.c: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/d30v/d30v.md: Likewise.
+ 	* config/dsp16xx/dsp16xx.c: Likewise.
+ 	* config/fr30/fr30.c: Likewise.
+ 	* config/fr30/fr30.md: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i860/i860.c: Likewise.
+ 	* config/i960/i960.c: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 
+ 2001-10-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/mips/elf.h: Fix comment formatting.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/iris5.h: Likewise.
+ 	* config/mips/iris5gas.h: Likewise.
+ 	* config/mips/iris6.h: Likewise.
+ 	* config/mips/isa3264.h: Likewise.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/mips/mips16.S: Likewise.
+ 	* config/mips/netbsd.h: Likewise.
+ 	* config/mips/osfrose.h: Likewise.
+ 	* config/mips/r3900.h: Likewise.
+ 	* config/mips/sni-svr4.h: Likewise.
+ 	* config/mips/svr4-t.h: Likewise.
+ 	* config/mips/ultrix.h: Likewise.
+ 
+ 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* bitmap.c (bitmap_element_free): Don't forget to update head->indx
+ 	when we update head->current.
+ 
+ 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tree.c (id_string_size): Remove.
+ 	(dump_tree_statistics): Update.
+ 	* toplev.c (compile_file): If dumping stats, dump tree stats too.
+ 
+ Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sched-rgn.c (schedule_insns): Fix comment.
+ 
+ 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Correct previous change: don't assume that
+ 	gas's version number _isn't_ the last thing on the line, or
+ 	isn't the only number on the line, either.
+ 	* configure: Regenerate.
+ 
+ 2001-10-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* cfgcleanup.c: Fix a comment typo.
+ 
+ 2001-10-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* alias.c: Fix comment formatting.
+ 	* recog.c: Likewise.
+ 	* config/cris/cris.c: Likewise.
+ 	* config/cris/cris.h: Likewise.
+ 	* config/i960/i960.c: Likewise.
+ 	* config/i960/i960.h: Likewise.
+ 
+ 2001-10-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/arm/arm.c: Fix a comment typo.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 
+ 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
+ 	REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
+ 	* rtl.h (set_unique_reg_note): Change return value.
+ 	* gcse.c (try_replace_reg): Use set_unique_reg_note.
+ 	* cse.c (cse_insn): Likewise.
+ 	* expr.c (emit_move_insn): Likewise.
+ 	* explow.c (force_reg): Likewise.
+ 	* local-alloc (update_equiv_regs): Likewise.
+ 	* loop.c (move_moveables, load_mems): Likewise.
+ 	* reload (find_reloads): Likewise.
+ 
+ 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Localization fixes.
+ 	* c-decl.c (parmlist_tags_warning, start_struct,
+ 	check_for_loop_decls): Separate messages for struct, union and
+ 	enum cases to allow for languages in which they have different
+ 	genders.
+ 	* c-format.c (scanf_flag_specs): Separate short and long name of
+ 	the assignment suppression feature.
+ 	(check_format_types): Localize "pointer" and "different types"
+ 	strings.
+ 	* c-lex.c (lex_number): Localize "an unsigned long int" and
+ 	related strings.
+ 	(lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
+ 	warning message.
+ 	* c-typeck.c (build_unary_up): Separate messages for increment and
+ 	decrement cases to allow for languages in which they use different
+ 	articles.  Localize the strings "increment" and "decrement" in one
+ 	case.
+ 
+ Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* lcm.c (optimize_mode_switching):  Do not rebuild liveness information
+ 	when no changes has been made.
+ 
+ 	* gcse.c (reg_set_bitmap): Turn into reg_set.
+ 	(modify_mem_list_set, canon_modify_mem_list_set)
+ 	(clear_modify_mem_tables, free_modify_mem_tables): New.
+ 	(gcse_main); Use free_modify_mem_tables.
+ 	(free_gcse_mem): Likewise; free the bitmaps.
+ 	(alloc_gcse_main): Initialize the bitmaps.
+ 	(canon_list_insert): Set canon_modify_mem_list_set.
+ 	(record_last_mem_set_info): Likewise; set modify_mem_list_set.
+ 	(compute_hash_table): Use clear_modify_mem_tables.
+ 	(reset_opr_set_tables): Likewise.
+ 	(oprs_not_set_p): reg_set_bitmap is regset.
+ 	(mark_set, mark_clobber): Likewise.
+ 
+ 	* df.h (DF_EQUIV_NOTES): New constant.
+ 	(df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
+ 	when asked for.
+ 
+ 	* sched-rgn.c (CHECK_DEAD_NOTES): New constant.
+ 	(init_regions, schedule_insns): Conditionalize the checking
+ 	code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
+ 
+ Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movti_rex64 splitter): Fix condition.
+ 
+ 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Do not assume that gas's version number is the
+ 	last thing on the first line of as --version output.
+ 	* configure: Regenerate.
+ 
+ 	* tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
+ 	MT_WARNING, MT_ERROR, MT_FATAL.
+ 	(main): Call gcc_init_libintl.
+ 	(v_message): Call gettext on msgid and "warning: "
+ 	* tradcif.y: Include intl.h.
+ 	(yyerror): Make parameter definition consistent with
+ 	prototype.  Call gettext on msgid argument.
+ 
+ 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* combine.c (num_sign_bit_copies): Avoid signed/unsigned
+ 	warnings.
+ 
+ 	* sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
+ 
+ Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload1.c (eliminate_regs): Test for reg_renumber being allocated
+ 	before referencing it.
+ 
+ 2001-10-26  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
+ 	override -G, and force -G0.
+ 
+ 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
+ 	FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
+ 	c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
+ 	timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
+ 
+ 	* loop.h (struct induction): Rename ext_dependant to
+ 	ext_dependent.
+ 	* loop.c: Change all uses.
+ 	(check_ext_dependant_givs): Rename to check_ext_dependent_givs.
+ 	All callers changed.
+ 	* timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
+ 
+ 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (expr_no_commas, primary), c-typeck.c
+ 	(parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
+ 
+ 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	Undo assemble_name change in earlier patch.
+ 
+ Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* objc/objc-act.c (finish_message_expr): For the GNU runtime: when
+ 	determining the type of the receiver, do not check that TREE_CODE
+ 	of receiver is CALL_EXPR before calling receiver_is_class_object().
+ 	(receiver_is_class_object): For the GNU runtime: recognize
+ 	the case that the receiver is self in a class method context.
+ 	Check that TREE_CODE of receiver is CALL_EXPR when checking that
+ 	the receiver is a call to objc_get_class.
+ 
+ 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
+ 
+ Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (OBJS): Put all files in alphabetical order.
+ 
+ 	* dwarf2out.c (add_const_value_attribute): Fix error in last
+ 	change.
+ 
+ Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (purge_all_dead_edges): Add update_life_p argument.
+ 	* cfgcleanup.c (merge_blocks): Update the life flag after merging;
+ 	fix warning.
+ 	* cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
+ 	(life_analysis): call purge_all_dead_edges after deleting noops.
+ 	(delete_noop_move): Do not purge CFG.
+ 	* toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
+ 
+ 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
+ 	* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
+ 	(ASM_GLOBALIZE_LABEL): Use assemble_name.
+ 	(ASM_OUTPUT_COMMON): Likewise.
+ 	* config/rs6000/rs6000.c (print_operand): Use assemble_name.
+ 	(rs6000_output_function_epilogue): Likewise.
+ 	(output_mi_thunk): Fix typo.
+ 	(rs6000_output_symbol_ref): Use assemble_name.
+ 	(output_toc): Likewise.
+ 	* config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
+ 	* config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
+ 	assemble_name calls STRIP_NAME_ENCODING.
+ 	(ASM_OUTPUT_LABEL): Use assemble_name.
+ 	(ASM_GLOBALIZE_LABEL): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
+ 	(ASM_OUTPUT_LOCAL): Likewise.
+ 
+ Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
+ 	(expand_builtin_apply, expand_builtin_return): Likewise.
+ 	(expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
+ 
+ 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
+ 	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
+ 	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
+ 	configure, configure.in, except.c, except.h, flow.c, function.c,
+ 	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
+ 	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
+ 	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
+ 	unroll.c: Fix spelling errors.
+ 
+ 	* doc/extend.texi, doc/invoke.texi: Fix spelling.
+ 
+ 	* doc/gcc.texi: Document use of "dependent" and American spelling.
+ 
+ Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (emit_group_load): Support CONCATs by storing them to memory
+ 	and reloading.
+ 
+ Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor_field): Only call adjust_address on MEM.
+ 
+ Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genrecog.c (write_switch):  Output if before switch for
+ 	DT_elt_zero_wide_safe.
+ 
+ 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
+ 	* i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
+ 	(FUNCTION_PROFILER): Const-ify.
+ 	* halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
+ 	(eliminate_constant_term, assemble_name, output_addr_const):
+ 	Remove declarations.
+ 	(ptr_half_pic_address_p, half_pic_hash): Prototype.
+ 	(all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
+ 	half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
+ 	* halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
+ 	(half_pic_declare, half_pic_external): Const-ify.
+ 	* toplev.c: Include "halfpic.h".
+ 
+ 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
+ 	config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
+ 	config/i386/i386.c, config/i386/i386-interix.h,
+ 	config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
+ 	config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
+ 	config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
+ 	config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
+ 	config/sparc/sparc.c, config/m68hc11/m68hc11.c,
+ 	config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
+ 	config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
+ 	spelling errors.
+ 
+ 	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
+ 	ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
+ 	c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
+ 	collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
+ 	haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
+ 	regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
+ 	system.h, toplev.c: Fix spelling errors.
+ 
+ Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
+ 
+ 	* dwarf2out.c (reg_number): Abort if pseudo.
+ 	(reg_loc_descriptor): Return 0 if pseudo.
+ 	(is_based_loc): Return 0 if pseudo.
+ 	(mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
+ 	recursive calls.
+ 	(concat_loc_descriptor): Return 0 if either part's descriptor is 0.
+ 	(loc_descriptor): Return 0 if can't find location and handle 0
+ 	return from recursive calls.
+ 	(loc_descriptor_from_tree): Likewise.
+ 	Fix handling of indirect.
+ 	Also return 0 for PLACEHOLDER_EXPR.
+ 	Clean up COMPONENT_REF cases.
+ 	(add_AT_location_descriptor): Simplify, but handle 0 return from
+ 	loc_descriptor.
+ 	(add_const_value_attribute): Avoid shift count warning.
+ 	(add_bound_info): Remove test for PLACEHOLDER_EXPR here.
+ 	Set comp_unit_die as context if not in function.
+ 
+ 	* config/mips/mips-protos.h: Break up long lines.
+ 	Remove needless #ifdef/#endif blocks.
+ 	Don't declare functions declared in file made by genpreds or recog.h.
+ 	* config/mips/mips.c (mips_output_function_prologue): TSIZE
+ 	is now HOST_WIDE_INT; delete unneeded casts.
+ 	* config/mips/mips.h: Don't use #elif.
+ 
+ 	* expr.c (stor_constructor_field): Always call adjust_address.
+ 	Copy TARGET before changing its alias set.
+ 	(store_field): Likewise, for TO_RTX.
+ 	(get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
+ 	replacement.
+ 	(safe_from_p, case ADDR_EXPR): Properly check for conflict.
+ 	(find_placeholder): Return 0 if can't find object.
+ 	(expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
+ 	returns 0.
+ 
+ Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (if_convert): Call clear_aux_for_blocks.
+ 
+ Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
+ 	merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
+ 	(merge_blocks): Properly udpate life after making edge nonfallthru.
+ 	* cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
+ 
+ 2001-10-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
+ 
+ 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-typeck.c (convert_arguments): When comparing for enumeral
+ 	type equality, use TYPE_MAIN_VARIANT.
+ 	* gcc.dg/Wconversion.c: New tests.
+ 
+ 2001-10-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* s390/s390.c: Fix comment typos.
+ 	* s390/s390.h: Likewise.
+ 	* s390/s390.md: Likewise.
+ 
+ 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree-inline.c (WALK_SUBTREE_TAIL): New macro.
+ 	(walk_tree): Use it for tail calls where appropriate.
+ 
+ 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cse.c (check_for_label_ref): Don't require REG_LABEL notes for
+ 	non-local label_refs.
+ 
+ 2001-10-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (4 anonymous patterns): New.
+ 
+ 2001-10-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
+ 	algorithm through the shift_info structure.
+ 	(emit_a_shift): Update the use of get_shift_alg.
+ 
+ 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* sched-rgn.c: Remove bitset typedef.
+ 	Change bitset to sbitmap in prototypes / variable types.
+ 	Remove bbset_size.
+ 	Remove edgeset_bits.
+ 	Remove edgeset_size.
+ 	s/BITSET_ADD/SET_BIT/g
+ 	s/BITSET_INVERT/sbitmap_ones/g
+ 	s/BITSET_INTER/sbitmap_a_and_b/g
+ 	s/BITSET_UNION/sbitmap_a_or_b/g
+ 	s/BITSET_DIFFER/sbitmap_difference/g
+ 	s/bitset_member/TEST_BIT/g
+ 	(BITSET_*): Removed.
+ 	(bitset_member): Removed.
+ 	(extract_bitlst): Rewrite, now that we have sbitmaps, we can use
+ 	EXECUTE_IF_SET_IN_SBITMAP.
+ 	(split_edges): Rewrite, use sbitmap functions instead of bitset
+ 	operations.
+ 	(schedule_region): Allocate/free sbitmaps, rather than bitsets.
+ 
+ 2001-10-26  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* reload1.c (emit_input_reload_insns): Fix parens in last
+ 	(undocumented) change that was supposed to change only whitespace.
+ 
+ Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
+ 
+ 	* local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
+ 	ASM_OPERANDS.
+ 
+ 2001-10-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* flow.c (clear_log_links): Remove unused variable.
+ 	* cfgcleanup.c (cleanup_cfg): Likewise.
+ 
+ 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree-inline.c (remap_decl): Don't copy size and size_unit here.
+ 	(remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
+ 
+ 2001-10-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
+ 	rename PV_REG to R27_REG.
+ 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
+ 	(REG_CLASS_FROM_LETTER): Update.
+ 	(PREFERRED_RELOAD_CLASS): Don't widen a reg class.
+ 	* config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
+ 	(udivsi3, modsi3, umodsi3): Likewise.
+ 	(divdi3, udivdi3, moddi3, umoddi3): Likewise.
+ 
+ 2001-10-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfg.c (clear_aux_for_blocks): Split out of ...
+ 	(free_aux_for_blocks): here.
+ 	(clear_aux_for_edges): Split from ...
+ 	(free_aux_for_edges): here.
+ 	* basic-block.h: Declare them.
+ 	* lcm.c (compute_antinout_edge): Use them.
+ 	(compute_laterin, compute_available, compute_nearerout): Likewise.
+ 	(optimize_mode_switching): Likewise.
+ 
+ 2001-10-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (unstage*): Remove as, ld, collect-ld before
+ 	moving everything back to the main build directory.
+ 
+ 2001-10-26  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config/i386/cygwin.h: Search target specific include directory, if
+ 	appropriate.
+ 
+ 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
+ 	of macro guards. Fix #endif comment.
+ 
+ 	* output.h (default_exception_section, default_eh_frame_section):
+ 	Move prototypes outside of macro guard.
+ 
+ 	* crtstuff.c: Fix #endif comment.
+ 
+ Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* doc/md.texi (movMM): Clarify semantics of storing into a
+ 	non-paradoxical SUBREG.
+ 
+ 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* langhooks.c (lang_hook_default_clear_binding_stack): New.
+ 	(lang_hook_default_get_alias_set): Move next to other alias
+ 	hooks.
+ 	* langhooks.h: Prototype lang_hook_default_clear_binding_stack.
+ 	(LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
+ 	(LANG_HOOKS_INITIALIZER): Add it.
+ 	* toplev.h (struct lang_hooks): Add clear_binding_stack.
+ 	* toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
+ 	instead of a loop calling poplevel.
+ 
+ 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
+ 	occurrences of #elif with #if...#endif.
+ 
+ 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
+ 
+ Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (can_address_p): No longer static.
+ 	* emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
+ 	Return 0 if all parameters are default values.
+ 	(set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
+ 	(adjust_address_1): Try harder to compute a size.
+ 	* expr.c (expand_assignment, store_constructor): If can't address,
+ 	set MEM_KEEP_ALIAS_SET_P.
+ 	(store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
+ 	(store_field): Likewise.
+ 	(store_constructor): Simplify call to store_constructor_field.
+ 	* expr.h (can_address_p): New declaration.
+ 	* gensupport.c (gen_rtx_CONST_INT): New function.
+ 	* rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
+ 	(MEM_SIZE): Get size from mode, if not set and not BLKmode.
+ 	(MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
+ 
+ 	* stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
+ 
+ 2001-10-24  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config/i386/cygwin.h: Use proper path for mingw crt files when
+ 	-mno-cygwin.
+ 
+ Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (file_info_cmp): Always return consistent results.
+ 
+ 2001-10-24  Roger Sayle <roger@eyesopen.com>
+ 
+ 	* stmt.c (expand_end_case): Index jumptables from zero for
+ 	suitably small values of minval.
+ 
+ 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stor-layout.c (place_union_field): If any field was aligned with
+ 	attribute aligned, set record type's TYPE_USER_ALIGN.
+ 	(place_field): Likewise.
+ 	(finalize_record_size): Don't clear TYPE_USER_ALIGN.
+ 	(layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
+ 
+ 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.h (struct c_common_identifier): Remove rid_code field.
+ 	(C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
+ 
+ 	* c-typeck.c (constructor_designated): New local flag.
+ 	(struct constructor_stack): Add "designated" field to match.
+ 	(start_init): Clear it.
+ 	(really_start_incremental_init, push_init_level): Push and
+ 	clear it.
+ 	(pop_init_level): Pop it.
+ 	(set_designator): Set it.
+ 
+ 	(pop_init_level): Suppress "missing initializer" warnings if
+ 	constructor_designated is true.
+ 	(process_init_element): Suppress warning about union
+ 	initialization under traditional C, if constructor_designated
+ 	is true.
+ 
+ Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
+ 	change.
+ 
+ Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
+ 
+ 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
+ 	the node was already a set to a constant.
+ 
+ Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (set_mem_attributes): Fix typo in last change.
+ 	* print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
+ 
+ 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
+ 	(ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
+ 	(ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
+ 	* s390.c (s390_final_chunkify): Don't use string concatenation.
+ 	(s390_function_prologue, s390_function_epilogue): Const-ify.
+ 	* s390.h (FUNCTION_PROFILER): Remove unused variable.
+ 
+ 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
+ 	prototypes.
+ 
+ 2001-10-23  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/x-darwin: Use -no-cpp-precomp instead of
+ 	-traditional-cpp in first-stage compilation.
+ 
+ Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gensupport.c (target_flags): Add.
+ 
+ Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
+ 
+ 	* builtins.c (expand_builtin_setjmp): Only call convert_memory_address
+ 	if needed.
+ 	(expand_builtin_longjmp, expand_builtin_alloca): Likewise.
+ 	* except.c (expand_builtin_frob_return_addr): Likewise.
+ 	(expand_builtin_eh_return): Likewise.
+ 	* stmt.c (expand_computed_goto): Likewise.
+ 	* explow.c (memory_address): Likewise.
+ 	(allocate_dynamic_stack_space): Clean up predicate testing.
+ 	(probe_stack_range): Convert SIZE to Pmode.
+ 	* calls.c (rtx_for_function_call): Only call convert_memory_address
+ 	if needed.
+ 	Pass function call operand as ptr_mode, not Pmode.
+ 	* expr.c (expand_assignment): Clean up calls to convert_memory
+ 	address by only doing so when needed and making offsets Pmode.
+ 	(store_constructor, expand_expr, expand_expr_unaligned): Likewise.
+ 	* function.c (assign_parms): Ensure address in MEM for RESULT_DECL
+ 	is in Pmode, not ptr_mode.
+ 
+ 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* darwin-protos.h (constructor_section, destructor_section,
+ 	mod_init_section, mod_term_section): Prototype.
+ 	* darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
+ 	Const-ify.
+ 	* darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
+ 	Likewise.
+ 	(SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
+ 	objc_section_init declaration.
+ 	(EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
+ 	(objc_section_init, try_section_alias): Make static.
+ 	(alias_section): Make static and hide unused function.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
+ 
+ Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (can_address_p): Compnonents are not addressable if
+ 	the containing type has alias set 0.
+ 	(get_alias_set): Rework to use STRIP_NOPS.
+ 	Only call front-end routine on object, type, or object with
+ 	NOPs stripped, not inner values.
+ 	Use language hook to call front-end routine.
+ 	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
+ 	(expand_builtin_apply): Call set_mem_align on MEMs we make.
+ 	Don't pass alignment to emit_block_move.
+ 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
+ 	(expand_builtin_memset): Likewise, but for clear_storage.
+ 	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
+ 	and remove C++ specific parts.
+ 	* c-common.h (c_common_get_alias_set): Add declaration.
+ 	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
+ 	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
+ 	(save_fixed_argument_area): Call set_mem_align.
+ 	Remove alignment in call to emit_block_move.
+ 	(emit_library_call_value_1, store_one_arg): Likewise.
+ 	(target_for_arg): Remove; disabled long ago.
+ 	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
+ 	once and similar cleanups.
+ 	(offset_address): Use proper introductory comment.
+ 	* expr.c (emit_block_move): Use alignment from that of MEM args, not
+ 	from explicit operand; all callers changed.
+ 	(clear_storage): Likewise.
+ 	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
+ 	(store_field): Remove kludge on alias set used for to_rtx.
+ 	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
+ 	(expand_expr_unaligned): Call set_mem_attributes instead of
+ 	set_mem_alias_set.
+ 	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
+ 	* function.c (assign_stack_temp_for_type): Set MEM alignment.
+ 	(expand_function_end): Track MEM attributes of trampolines.
+ 	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
+ 	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
+ 	attributes from original.
+ 	* langhooks.c (lang_hook_default_get_alias_set): New function.
+ 	(hook_get_alias_set_0): New function.
+ 	* langhooks.h (hook_get_alias_set_0): New declaration.
+ 	(lang_hook_default_get_alias_set): Likewise.
+ 	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
+ 	* reload1.c (alter_reg): Use adjust_address_nv.
+ 	* rtl.c (get_mode_alignment): Moved to here.
+ 	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
+ 	change default if unknown from 1 to BITS_PER_UNIT.
+ 	* stor-layout.c (get_mode_alignment): Remove from here.
+ 	* toplev.h (struct lang_hoks): Add get_alias_set field.
+ 	* tree.h (lang_get_alias_set): Delete declaration.
+ 	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
+ 	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
+ 	(ix86_va_arg): Likewise.
+ 	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
+ 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
+ 	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
+ 	(expand_block_move_mem): Remove dead code.
+ 
+ 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (warn_div_by_zero): New.
+ 	* c-common.h (warn_div_by_zero): New.
+ 	* c-decl.c (c_decode_option): Take it on the command line.
+ 	* c-typeck.c (build_binary_op): Warn about division by zero.
+ 	* doc/invoke.texi: Document the new command line option, fix
+ 	documentation of -Wmultichar.
+ 	* testsuite/gcc.dg/divbyzero.c: New tests.
+ 	* testsuite/gcc.dg/noncompile/20010524-1.c: Update.
+ 
+ Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
+ 
+ 	* toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
+ 	to avoid update_life_info call.
+ 	* basic-block.h (CLEANUP_UPATE_LIFE): Define.
+ 	* cfgcleanup.c (bb_flags): New enum.
+ 	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
+ 	(notice_new_block, update_forwarder_flag): New functions.
+ 	(try_simplify_condjump): Use FORWARDER_BLOCK_P.
+ 	(try_forward_edges): Likewise; update flags.
+ 	(merge_blocks): Likewise.
+ 	(outgoing_edges_match): Likewise.
+ 	(try_crossjump_to_edge): Likewise.
+ 	(try_optimize_cfg): Likewise; initialize and clear the flags;
+ 	recompute life info if needed.
+ 	(cleanup_cfg): No need to clear aux pointers.
+ 
+ 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Default to minimum
+ 	stack alignment when optimizing for code size.
+ 	* doc/invoke.texi (-mpreferred-stack-boundary): Document the
+ 	change.
+ 
+ 	* config/i386/i386.c (override_options): Set upper limit of
+ 	-mpreferred-stack-boundary to 12.
+ 
+ 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* recog.c (peephole2_optimize): Add default case to switch.
+ 
+ 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi (Sending Patches): Remove.
+ 
+ 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
+ 	fields when comparing.
+ 
+ 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
+ 	* arm.c (HOST_INT, HOST_UINT): Likewise.
+ 
+ 2001-10-22  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin-protos.h (darwin_exception_section): Declare.
+ 	(darwin_eh_frame_section): Declare.
+ 
+ Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movti_rex64): Fix mode.
+ 
+ 2001-10-22  Stan Shebs  <shebs@apple.com>
+ 
+ 	* target.h (struct gcc_target): Add asm_out.exception_section,
+ 	asm_out.eh_frame_section.
+ 	* target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
+ 	(TARGET_ASM_EH_FRAME_SECTION): New.
+ 	(TARGET_INITIALIZER): Update.
+ 	* output.h (default_exception_section): Declare.
+ 	(default_eh_frame_section): Declare.
+ 	* dwarf2out.c: Include target.h.
+ 	(output_call_frame_info): Call target hook for eh frames.
+ 	(default_eh_frame_section): New function.
+ 	* except.c: Include target.h.
+ 	(output_function_exception_table): Call target hook for exception
+ 	section.
+ 	* varasm.c (default_exception_section): Rename from
+ 	exception_section, remove EXCEPTION_SECTION macro.
+ 
+ 	* config/darwin.h (darwin_eh_frame_section): New function.
+ 	(EXCEPTION_SECTION): Remove.
+ 	(TARGET_ASM_EXCEPTION_SECTION): Define.
+ 	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ 	(nextstep_exception_section): New function.
+ 	(nextstep_eh_frame_section): New function.
+ 	(TARGET_ASM_EXCEPTION_SECTION): Define.
+ 	(TARGET_ASM_EH_FRAME_SECTION): Define.
+ 
+ 	* config/pa/som.h (EXCEPTION_SECTION): Remove.
+ 	(TARGET_ASM_EXCEPTION_SECTION): Define.
+ 	* config/rs6000/sysv4.h, config/rs6000/xcoff.h
+ 	(EXCEPTION_SECTION): Remove.
+ 	(TARGET_ASM_EXCEPTION_SECTION): Define.
+ 	* config/stormy16/stormy16.h: Remove comments referencing
+ 	EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
+ 
+ 	* doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
+ 	TARGET_ASM_EH_FRAME_SECTION.
+ 
+ 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/mips/mips.md (mul_acc_si): Fix precedence of conditional
+ 	terms.
+ 
+ 	* c-format.c: Fix spelling typo in comment.
+ 
+ 	* sched-int.h: Fix typo in GCC preamble.
+ 
+ 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR debug/4252
+ 	* doc/invoke.texi: Remove references to -fdump-translation-unit.
+ 
+ 2001-10-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_clear): New.
+ 	* config/i386/i386-protos.h: Declare it.
+ 	* config/i386/i386.md (setcc peep2s): Use it.
+ 	(movsi_xor): Unexport.
+ 
+ 2001-10-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (clear_log_links): Use free_INSN_LIST_list, not
+ 	free_EXPR_LIST_list for LOG_LINKS.
+ 
+ 2001-10-21  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* config/i386/i386.c (sco_asm_named_section): Delete.
+ 	(sco_asm_out_constructor): Delete.
+ 	* config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
+ 	(ASM_OUTPUT_DOUBLE_INT): Likewise.
+ 	(TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
+ 	(TARGET_ASM_NAMED_SECTION): Use default for ELF.
+ 	(EXCEPTION_SECTION): Delete EH scn renaming hack.
+ 
+ 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
+ 	and/or fold extra calls into fewer ones.
+ 	* collect2.c (dump_file): Likewise.
+ 	* cppexp.c (parse_number): Likewise.
+ 	* cpplex.c (_cpp_lex_direct): Likewise.
+ 	* final.c (output_asm_insn, asm_fprintf): Likewise.
+ 	* fix-header.c (inf_scan_ident, main): Likewise.
+ 	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
+ 	Likewise.
+ 	* fold-const.c (real_hex_to_f): Likewise.
+ 	* gen-protos.c (parse_fn_proto): Likewise.
+ 	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
+ 	* genrecog.c (change_state, write_action): Likewise.
+ 	* gensupport.c (shift_output_template): Likewise.
+ 	* local-alloc.c (requires_inout): Likewise.
+ 	* mips-tfile.c (IS_ASM_IDENT): Likewise.
+ 	* protoize.c (is_id_char, main): Likewise.
+ 	* real.c (asctoeg): Likewise.
+ 	* recog.c (asm_operand_ok): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* scan.c (scan_identget_token): Likewise.
+ 	* sched-vis.c (print_value): Likewise.
+ 	* stringpool.c (ggc_alloc_string): Likewise.
+ 	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
+ 	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
+ 	* tradcpp.c (rescan): Likewise.
+ 	* tree.c (clean_symbol_name): Likewise.
+ 	* varasm.c (decode_reg_name): Likewise.
+ 
+ 	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
+ 	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* m88k.c (output_ascii): Likewise.
+ 	* m88k.h (OVERRIDE_OPTIONS): Likewise.
+ 	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
+ 	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
+ 	* sh.h (REG_CLASS_FROM_LETTER): Likewise.
+ 
+ 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* langhooks.c (lang_hook_default_do_nothing,
+ 	lang_hook_default_decode_option): New defaults.
+ 	* langhooks.h: Make hooks unconditional and non-NULL.
+ 	* toplev.c (compile_file, toplev_main): Update.
+ 	* toplev.h: Update comments.
+ 	* objc/objc-act.c (lang_hooks): Update to new paradigm.
+ 
+ 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
+ 
+ 	* system.h (IN_RANGE): New macro.
+ 
+ 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): Also create and substitute
+ 	INTLDEPS variable, which does not include $LIBICONV.
+ 	* Makefile.in: Use INTLDEPS in LIBDEPS.
+ 	* configure: Regenerate.
+ 
+ 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
+ 	* cpplex.c (lex_percent, lex_dot): Remove.
+ 	(get_effective_char, skip_block_comment, skip_line_comment,
+ 	parse_identifier_slow, parse_number, parse_string, save_comment,
+ 	_cpp_lex_direct): Update to do lookback freely.
+ 	(IF_NEXT_IS, BACKUP): New macros.
+ 	* cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
+ 	* cppmacro.c (paste_tokens): Update.
+ 
+ 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* doc/invoke.texi (i386 and x86-64 Options): Fix typo.
+ 
+ 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* reload1.c (reload): Check CONSTANT_P before calling
+ 	LEGITIMATE_PIC_OPERAND_P.
+ 	* config/cris/cris.c (cris_legitimate_pic_operand): Revert
+ 	workaround of 2001-10-13.
+ 
+ Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (split_di): Handle splitting of DFmode.
+ 
+ Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (set_mem_attributes): Alignment is in bits.
+ 	(adjust_address_1, offset_address): Likewise.
+ 
+ 	* final.c (output_asm_operand_names): New fcn, from output_asm_insn.
+ 	(output_asm_insn): Call it for each line output.
+ 	Don't record an operand more than once.
+ 
+ 	* toplev.h (struct lang_hooks): HONOR_READONLY now bool.
+ 	* main.c: Include config.h and system.h, but not ansidecl.h.
+ 	* Makefile.in (main.o): Update accordingly.
+ 
+ Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
+ 
+ Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
+ 	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
+ 	Break out from ...
+ 	(find_sub_basic_blocks): ... here;
+ 	(find_many_sub_basic_blocks): New.
+ 	* recog.c (split_all_insns): Update find_sub_basic_blocks call.
+ 
+ 	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
+ 
+ 	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
+ 
+ 	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.
+ 
+ 	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
+ 	* flow.c (update_life_info): Measure time.
+ 	* c-decl.c: Include timevar.h
+ 	(c_expand_body): Measure time.
+ 	* toplev.c (rest_of_compilation): Measure time of mode switching
+ 	separately.
+ 	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
+ 
+ 	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
+ 	(lang_independent_options): Add asynchronous-unwind-tables
+ 	(toplev_main): flag_asynchronous_unwind_tables implies
+ 	flag_unwind_tables.
+ 	* flags.h (flag_asynchronous_unwind_tables): Declare.
+ 	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
+ 	flag_asynchronous_unwind_tables.
+ 	(output_call_frame_info): Likewise.
+ 	* invoke.texi (-fasynchronous-unwind-tables): Document.
+ 	* i386.c (optimization_options): Enable
+ 	flag_asynchronous_unwind_tables.
+ 
+ 	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
+ 	* i386.md (s* expanders): Destination is QImode.
+ 
+ 	* toplev.c (rest_of_compilation): Do not call clear_log_links.
+ 	* rtl.h (clear_log_links): Kill.
+ 	* flow.c (clear_log_links): Make static; accept blocks parameter;
+ 	do no clear life info.
+ 	(update_life_info): Call clear_log_links.
+ 
+ 	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
+ 
+ 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (handle_newline, skip_escaped_newlines,
+ 	get_effective_char, skip_block_comment, skip_line_comment,
+ 	parse_identifier_slow, parse_number, parse_string,
+ 	_cpp_lex_direct): Update to do more stepping back.
+ 	(trigraph_ok): Similarly.  Rename trigraph_p.
+ 	(SAVE_STATE, RESTORE_STATE): Remove.
+ 	(BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
+ 
+ 	* cpplib.c (destringize): Rename destringize_and_run, and
+ 	call run_directive directly.
+ 	(_cpp_do__Pragma): Simplify.
+ 
+ 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* pe.c (arm_pe_unique_section): Const-ify.
+ 	* pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
+ 	(switch_to_section): Add static prototype.
+ 
+ 	* output.h (drectve_section): Prototype.
+ 
+ 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
+ 	fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
+ 	parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
+ 	i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
+ 	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
+ 	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
+ 	i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
+ 	i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
+ 	i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
+ 	i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
+ 	i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
+ 	i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
+ 	ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
+ 	mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
+ 	powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
+ 	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
+ 	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
+ 	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
+ 	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
+ 	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
+ 	rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
+ 	sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
+ 	v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
+ 	cris-*-none, cris-*-linux*: Update ${tmfile} list.
+ 	(c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
+ 	i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
+ 	mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
+ 	powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
+ 	v850-*-*): Delete superflous ${cpu_type} setting.
+ 	* config/linux.h: Delete svr4.h include.
+ 	(SET_ASM_OP): Delete.
+ 	* config/netware.h (INT_ASM_OP): Undef before define.
+ 	* config/ptx4.h: Delete elfos.h include.
+ 	(PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
+ 	* config/svr4.h: Delete elfos.h include. Update commentary.
+ 	* config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
+ 	config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
+ 	config/mn10200/mn10300.h, config/stormy16/stormy16.h,
+ 	config/v850/v850.h: Delete svr4.h include.
+ 	* config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
+ 	config/m68k/m68kv4.h, config/m88k/sysv4.h,
+ 	config/sparc/sysv4.h: Update includes.
+ 	* config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
+ 	config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
+ 	config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
+ 	config/m88k/dguxbcs.h: Delete includes.
+ 	* config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
+ 	(PREFERRED_DEBUGGING_TYPE): Undef before defining it.
+ 	* config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
+ 	it.
+ 	* config/m88k/dgux.h: Delete include.
+ 	(SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
+ 	defining it.
+ 	* config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
+ 	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
+ 	* config/sh/elf.h: Update include.
+ 	(SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
+ 	DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
+ 
+ 2001-10-19  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/stormy16/stormy-abi:  Updates to varargs descriptions.
+ 	* config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
+ 	base and count fields.
+ 	(stormy16_expand_builtin_va_start):  last_reg_count changed to
+ 	size_of_reg_args.  Use count + size in first comparison.
+ 
+ Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
+ 	* toplev.h (struct lang_hooks): New field HONOR_READONLY.
+ 	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
+ 	TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
+ 	Set alignment from type if INDIRECT_REF.
+ 	(adjust_address_1, offset_address): Simplify alignment compuitation.
+ 	* expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
+ 	here; done by set_mem_attributes.
+ 
+ 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (rtlanal.o): Depend on $(TM_P_H).
+ 	* arm-protos.h (rdata_section, zero_init_section, common_section):
+ 	Prototype.
+ 	* arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
+ 	* avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
+ 	traditional mode stringification.
+ 	* function.c (thread_prologue_and_epilogue_insns): Wrap variable
+ 	in macros controling its use.
+ 	* rtlanal.c: Include tm_p.h.
+ 	* varasm.c (asm_output_aligned_bss): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	(assemble_constant_align, assemble_start_function, assemble_align,
+ 	assemble_variable, assemble_trampoline_template,
+ 	output_constant_def_contents): Wrap potentially empty if-stmt body
+ 	in brackets.
+ 
+ 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* a29k-protos.h (literal_section): Prototype.
+ 	* a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
+ 	* a29k.md: Ensure function pointers are prototyped.
+ 	* genattrtab.c (write_eligible_delay): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
+ 	* 1750a.c (print_operand): Fix format specifier warning.
+ 	* 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
+ 	* 1750a.md: Likewise.
+ 	* gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
+ 	* genemit.c (output_add_clobbers): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* genrecog.c (write_subroutine): Likewise.
+ 	* integrate.c (expand_inline_function): Delete unused variable.
+ 	* varasm.c (remove_from_pending_weak_list): Wrap with
+ 	ASM_WEAKEN_LABEL.
+ 
+ 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
+ 	field is different to previous argument's neg field.
+ 
+ 	* config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
+ 
+ Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* final.c (get_decl_from_op): New function.
+ 	(output_asm_insn): Call it; write "*" when item with decl is address.
+ 
+ 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
+ 	about 64-bit support from the 3.0_branch version.
+ 
+ 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
+ 	USE_INCLUDED_LIBINTL when appropriate.
+ 	* configure, config.in: Regenerate.
+ 	* Makefile.in (datadir): Set to @datadir@.
+ 	(intl.o): Also depend on $(CONFIG_H) and system.h.
+ 
+ 	* intl.c: Factor out common gettext initialization sequence.
+ 	(gcc_init_libintl):  New function.
+ 	* intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
+ 	otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
+ 	off NLS.  Add multiple include guard.  No need to #ifdef-guard
+ 	an #undef.  Prototype gcc_init_libintl here.
+ 
+ 	* collect2.c (main), cppmain.c (general_init), gcc.c (main),
+ 	gcov.c (main), protoize.c (main), toplev.c (toplev_main):
+ 	Use gcc_init_libintl.
+ 
+ 2001-10-19  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
+ 
+ 	* config/stormy16/stormy16.c (stormy16_split_move):  Make
+ 	sure that REG_INC notes are present for auto_inc operands.
+ 
+ 2001-10-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure: Regenerated.
+ 	* configure.in: Add x86_64 to switch statements.
+ 
+ 2001-10-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (sibcall_osf_1): Load destination
+ 	address into $27 explicitly.
+ 	(sibcall_value_osf_1): Likewise.
+ 
+ Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
+ 	(offset_address): New function.
+ 	(free_emit_status): Free regno_decl.
+ 	(init_emit): Pass proper number of elements to xcalloc.
+ 	Allocate regno_decl.
+ 	(mark_emit_status): Mark regno_decl values.
+ 	* expr.c (highest_pow2_factor): New function.
+ 	(expand_assigment): Use it and offset_address.
+ 	Properly handle ptr_mode vs. Pmode in offset calculation.
+ 	(store_constructor, expand_expr_unaligned): Likewise.
+ 	(expand_expr, case COMPONENT_EXPR): Likewise.
+ 	* expr.h (offset_address): New decl.
+ 	* function.h (struct emit_status): Add regno_decl.
+ 	(REGNO_DECL): New macro.
+ 	* final.c (output_asm_name): Move in file and don't conditionalize
+ 	on flag_print_asm_name.
+ 	(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
+ 	Output names of operands, if known.
+ 	* function.c (assign_parms): Set REGNO_DECL.
+ 	* integrate.c (integrate_decl_tree): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
+ 
+ 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* attribs.c (handle_noinline_attribute): New function.
+ 	(handle_used_attribute): Likewise.
+ 	(c_common_attribute_table): Added noinline and used.
+ 	* doc/extend.texi (Function Attributes): Document them.
+ 	* c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
+ 	Warn when merging inline with attribute noinline.
+ 	(start_decl, start_function): Warn if inline and attribute
+ 	noinline appear in the same declaration.
+ 
+ 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config.gcc: Update c4x and i370 for C front end-specific
+ 	dependencies.
+ 	* config/c4x/c4x-c.c: New.
+ 	* config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
+ 	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+ 	New declarations.
+ 	* config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
+ 	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
+ 	Make extern.
+ 	(c4x_init_pragma): Remove.
+ 	(c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
+ 	c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
+ 	c4x_pr_ignored): Move to c4x-c.c.
+ 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/c4x/t-c4x: Update.
+ 	* config/i370/i370-c.c: New.
+ 	* config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
+ 	(i370_pr_map): Move to i370-c.c.
+ 	* config/i370/t-i370: New.
+ 
+ 	* doc/tm.texi: Update.
+ 
+ 2001-10-17  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c: Make assorted mechanical formatting and
+ 	typo fixes throughout.
+ 	(machopic_output_stub): Remove some dead code.
+ 
+ 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
+ 	leak.
+ 
+ Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (print-rtl.o): Depend on TREE_H.
+ 	* alias.c (get_alias_set): Make two passes over objects to first
+ 	see if inner object is access via restricted pointer.
+ 	Defer allocating alias set for restricted pointer until here.
+ 	Call find_placeholder with second arg nonzero.
+ 	Minor cleanups.
+ 	* c-common.c (c_apply_type_quals_to_decl): Defer getting alias
+ 	set for restricted pointer types.
+ 	* emit-rtl.c (set_mem_attributes): Set more attributes.
+ 	(set_mem_align, change_address, adjust_address_1): New functions.
+ 	(change_address_1): Now static.
+ 	(adjust_address, adjust_address_nv): Deleted.
+ 	(replace_equiv_address): Call change_address_1.
+ 	* expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
+ 	(find_placeholder): Get starting point from PLIST arg.
+ 	(expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
+ 	* expr.h (set_mem_align, change_address, adjust_address_1): New decls.
+ 	(adjust_address, adjust_address_nv): New macros.
+ 	* print-rtl.c (tree.h): New include.
+ 	(print_rtx, case MEM): Print all memory attributes.
+ 
+ 2001-10-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (direct_call_operand): Don't fall off end.
+ 
+ 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* c-tree.texi: Eliminate duplicated word.
+ 	* cpp.texi: Likewise.
+ 	* install.texi: Likewise.
+ 	* invoke.texi: Likewise.
+ 	* tm.texi: Likewise.
+ 
+ 2001-10-17  Michael Collison  <collison@isisinc.net>
+ 
+ 	* dsp16xx.c: Fix comment formatting to match GNU standards.
+ 	(dsp16xx_output_function_prologue): Change type of 'size'
+ 	parameter from 'int' to HOST_WIDE_INT.
+ 	(dsp16xx_output_function_epilogue): Change type of 'size'
+ 	parameter from 'int' to HOST_WIDE_INT.
+ 
+ 2001-10-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
+ 	* configure, config.in: Rebuild.
+ 
+ 	* config/i386/i386.c (ix86_output_addr_vec_elt): New.
+ 	(ix86_output_addr_diff_elt): New.
+ 	* config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): New.
+ 	* config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 	* config/i386/386bsd.h, config/i386/beos-elf.h,
+ 	config/i386/freebsd-aout.h, config/i386/freebsd.h,
+ 	config/i386/i386-interix.h, config/i386/i386elf.h,
+ 	config/i386/linux.h, config/i386/netbsd-elf.h,
+ 	config/i386/netbsd.h, config/i386/openbsd.h,
+ 	config/i386/ptx4-i.h, config/i386/rtemself.h,
+ 	config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
+ 
+ 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
+ 
+ 	* stmt.c (expand_asm_operands): Update commentary.
+ 
+ 2001-10-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (GCC_NAME): Remove, no longer used.
+ 	(NO_MATH_LIBRARY): Ditto.
+ 	(MATH_LIBRARY): Define to emptiness.
+ 	(DWARF2_DEBUGGING_INFO): Define.
+ 	(PREFERRED_DEBUGGING_TYPE): Define.
+ 	(EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
+ 	(EXCEPTION_SECTION): Define.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	* config/darwin.c (darwin_encode_section_info): Handle case of
+ 	DECL_INITIAL being error_mark_node.
+ 
+ 2001-10-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alpha.c (current_file_function_operand): Don't fail for profiling.
+ 	(direct_call_operand): New.
+ 	* alpha-protos.h: Declare it.
+ 	* alpha.h (EXTRA_CONSTRAINT): Use it.
+ 	(PREDICATE_CODES): Add it.
+ 	(ASM_OUTPUT_MI_THUNK): Remove.
+ 	* alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
+ 	* alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
+ 
+ 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+ 
+ Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfg.c (free_edge): Break out from ....
+ 	(remove_edge): ... here.
+ 	(clear_edges): Use free_edge.
+ 
+ 	* att.h (ASM_QUAD): Add comment.
+ 	* bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
+ 
+ Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (split_ti): New function.
+ 	(ix86_split_to_parts): Support TImodes.
+ 	* i386.h (VALID_INT_MODE_P): Add TImode.
+ 	* i386.md (movdi splitter): Fix.
+ 	(movti): Support 64bit integer registers.
+ 	(movti_rex64): New function and splitter.
+ 
+ 	* i386.c (*_cost): Add movsx/movzx cost.
+ 	* i386.h (struct processor_costs): Add movsx/movzx fields.
+ 	(RTX_COSTS): Handle zero/sign extend + avoid believing that
+ 	64bit operations require split on 64bit machine.
+ 	(CONST_COST): Make large 64bit constants expensive on 64bit compilation.
+ 
+ 	* i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
+ 	(ix86_expand_move): Avoid pushes of memory if size does not match;
+ 	move long constants to register.
+ 	(x86_initialize_trampoline): Fix mode.
+ 	* i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
+ 	Use ASM_QUAD on 64bit.
+ 	* i386.md (test pattern): Disallow impossible constants.
+ 	(tablejump PIC expander): Fix emitting of sum.
+ 	(movdicc_rex64): Rename to movdicc.
+ 	* linux64.h (LINK_SPEC): Add missing '%'.
+ 
+ 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree-inline.c (inlinable_function_p): Leave it up to the
+ 	front-end to turn -finline-functions into DECL_INLINE set for all
+ 	functions.
+ 
+ 2001-10-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin.h (ASM_COMMENT_START): Define.
+ 
+ 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* recog.c: Formatting and comment typo fixes.
+ 
+ 	* configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
+ 	version in single tree build.
+ 	* configure: Regenerate.
+ 
+ 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
+ 	MODE arguments to gen_rtx and compare operand with const0_rtx.
+ 
+ 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* system.h: Poison old unused target macros.
+ 	* config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
+ 	* config/stormy16/stormy16.c: Update references to obsolete macros.
+ 	* config/stormy16/stormy16.h: Similarly.
+ 	* config/stormy16/stormy16.md: Similarly.
+ 	* config/cris/cris.h: Similarly.
+ 
+ 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (struct pragma_entry): Store the name as a hashnode.
+ 	(lookup_pragma_entry, insert_pragma_entry, do_pragma,
+ 	cpp_register_pragma): Update accordingly.
+ 
+ 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-pragma.h (cpp_register_pragma_space): Remove.
+ 	* cpplib.h (cpp_register_pragma_space): Remove.
+ 	* cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
+ 	(cpp_register_pragma_space): Remove.
+ 	(cpp_register_pragma): Simplify using lookup_pragma_entry,
+ 	add sanity checks.
+ 	(do_pragma): Similarly.
+ 	(_cpp_init_internal_pragmas): Don't register namespaces.
+ 
+ 	* config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
+ 	Don't register namespaces.
+ 	* cp/lex.c (init_cp_pragma): Similarly.
+ 	* doc/tm.texi: Update.
+ 
+ 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR c/4157
+ 	* config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
+ 
+ 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
+ 
+ 	* config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
+ 	add scheduling support.
+ 	* config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
+ 	* config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
+ 	* config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
+ 
+ 
+ 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
+ 	missing CONSTANT_P test in core GCC.
+ 
+ 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (struct printer): New member source.
+ 	(scan_translation_unit): Fix spacing at start of lines.
+ 	(cb_line_change): Update.
+ 
+ 	* gcc.dg/cpp/spacing2.c: New test.
+ 
+ 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/arit.c: Use __builtin_labs, not abs.
+ 
+ 	* config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
+ 
+ 	* config/cris/cris.c (cris_target_asm_function_epilogue): Move
+ 	misplaced sprintf and fprintf argument.
+ 
+ 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
+ 	* configure.in, Makefile.in: Take out obsolete check-po logic.
+ 	* configure, config.in: Regenerate.
+ 
+ 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (finish_objc): Correct precondition for emitting
+ 	symtab declarations.
+ 
+ 2001-10-12  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c: Remove uses of "register" specifier in
+ 	declarations of arguments and local variables.
+ 
+ 2001-10-12  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
+ 	ENDFILE_SPEC definition.
+ 
+ 2001-10-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* gthr-dce.h: Fix comment formatting.
+ 	* gthr-posix.h: Likewise.
+ 	* gthr-single.h: Likewise.
+ 	* gthr-solaris.h: Likewise.
+ 	* gthr-vxworks.h: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 
+ 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* final.c (output_asm_insn): Make sure assembly dialects are
+ 	terminated, not nested.  Output `|' and `}' characters if they
+ 	don't appear inside assembly dialect selection.
+ 	* config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
+ 	rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
+ 	rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
+ 	strsetsi_rex_1): Add {} braces.
+ 
+ 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* toplev.c (compile_file): Ignore return value from yyparse.
+ 	Always pop any nested binding levels after yyparse returns.
+ 
+ 2001-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/c-tree.texi (Expression trees): Add VTABLE_REF.
+ 
+ 2001-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
+ 	fall back to add_AT_long_long for large CONST_INT.
+ 
+ 2001-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (setcc splitters): Add four splitters to
+ 	simplify compound compares that simplify_comparison can't handle.
+ 
+ 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplex.c (digraph_spellings, token_spellings): Make static.
+ 
+ 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* unroll.c (loop_iterations): Fixup last patch.
+ 
+ 2001-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (REG_VTABLE_REF): New.
+ 	* rtl.c (reg_note_name): Add it.
+ 	* combine.c (distribute_notes): Handle it.
+ 	* final.c (final_scan_insn): Handle it.
+ 	* tree.def (VTABLE_REF): New.
+ 	* expr.c (expand_expr): Handle it.
+ 	* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
+ 	* output.h: Declare them.
+ 
+ 2001-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
+ 	for a DECL_INITIAL.
+ 
+ 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
+ 	available in 64-bit mode.
+ 
+ 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
+ 	cris-*-linux* cases.
+ 	* config/cris/cris-protos.h: New file.
+ 	* config/cris/cris.c: New file.
+ 	* config/cris/cris.h: New file.
+ 	* config/cris/cris.md: New file.
+ 	* config/cris/linux.h: New file.
+ 	* config/cris/aout.h: New file.
+ 	* config/cris/arit.c: New file.
+ 	* config/cris/cris_abi_symbol.c: New file.
+ 	* config/cris/mulsi3.asm: New file.
+ 	* config/cris/t-aout: New file.
+ 	* config/cris/t-cris: New file.
+ 	* config/cris/t-elfmulti: New file.
+ 	* config/cris/t-linux: New file.
+ 	* doc/invoke.texi: Add CRIS options.
+ 	* doc/install.texi (Specific): Add blurb for CRIS.
+ 
+ 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
+ 
+ 	* config/float-i128.h: Make sure __STDC__VERSION__ is defined
+ 	before using it.
+ 	* config/float/i32.h: Likewise.
+ 	* config/float-i386.h: Likewise.
+ 	* config/float-i64.h: Likewise.
+ 	* config/float-m68k.h: Likewise.
+ 	* config/float-sh.h: Likewise.
+ 	* config/float-sparc.h: Likewise.
+ 
+ 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/contrib.texi: Add note about CRIS port to my entry.
+ 
+ 2001-10-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* basic-block.h: Fix formatting.
+ 	* bitmap.h: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* c-tree.h: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* flags.h: Likewise.
+ 	* ggc.h: Likewise.
+ 	* longlong.h: Likewise.
+ 	* real.h: Likewise.
+ 	* reload.h: Likewise.
+ 	* rtl.h: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 2001-10-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (asm_operand): Allow named operands.
+ 	* genconfig.c (max_recog_operands): Set to 29.
+ 	* local-alloc.c (requires_inout): Skip multiple digits.
+ 	* recog.c (asm_operand_ok): Likewise.
+ 	(preprocess_constraints): Use strtoul for matching constraints.
+ 	(constrain_operands): Likewise.
+ 	* regmove.c (find_matches): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* stmt.c (parse_output_constraint): Don't reject in-out
+ 	constraint on operands > 9.  Reject '[' in constraint.
+ 	(expand_asm_operands): Handle named operands.  Use strtoul
+ 	for matching constraints.
+ 	(check_operand_nalternatives): Split out from expand_asm_operands.
+ 	(check_unique_operand_names): New.
+ 	(resolve_operand_names, resolve_operand_name_1): New.
+ 
+ 	* doc/extend.texi (Extended Asm): Document named operands.
+ 	* doc/md.texi (Simple Constraints): Document matching constraints
+ 	on operands > 9.
+ 
+ 2001-10-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (try_combine): Handle a SEQUENCE of one insn.
+ 
+ 	* i386.c (test splitter): Narrow tests vs paradoxical subregs.
+ 	(jcc splitters): Add two splitters to simplify compound compares
+ 	that simplify_comparison can't handle.
+ 
+ 2001-10-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* langhooks.c: Include langhooks.h.
+ 	* Makefile.in (langhooks.o): Depend on it.
+ 
+ Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
+ 	should not be considered as a no-op.
+ 	* flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
+ 
+ 2001-10-10  Stan Shebs  <shebs@apple.com>
+ 
+ 	* alias.c: Remove uses of "register" specifier in declarations
+ 	of arguments and local variables.
+ 	* c-common.c: Ditto.
+ 	* c-convert.c: Ditto.
+ 	* c-decl.c: Ditto.
+ 	* c-format.c: Ditto.
+ 	* c-semantics.c: Ditto.
+ 	* c-typeck.c: Ditto.
+ 	* caller-save.c: Ditto.
+ 	* calls.c: Ditto.
+ 	* cfg.c: Ditto.
+ 	* cfgbuild.c: Ditto.
+ 	* cfgrtl.c: Ditto.
+ 	* collect2.c: Ditto.
+ 	* combine.c: Ditto.
+ 	* convert.c: Ditto.
+ 	* cppexp.c: Ditto.
+ 	* cppfiles.c: Ditto.
+ 	* cse.c: Ditto.
+ 	* dbxout.c: Ditto.
+ 	* defaults.h: Ditto.
+ 	* df.c: Ditto.
+ 	* dwarf2out.c: Ditto.
+ 	* dwarfout.c: Ditto.
+ 	* emit-rtl.c: Ditto.
+ 	* explow.c: Ditto.
+ 	* expmed.c: Ditto.
+ 	* expr.c: Ditto.
+ 	* final.c: Ditto.
+ 	* fix-header.c: Ditto.
+ 	* floatlib.c: Ditto.
+ 	* flow.c: Ditto.
+ 	* fold-const.c: Ditto.
+ 	* function.c: Ditto.
+ 	* gcc.c: Ditto.
+ 	* gcse.c: Ditto.
+ 	* gen-protos.c: Ditto.
+ 	* genattrtab.c: Ditto.
+ 	* gencheck.c: Ditto.
+ 	* genconfig.c: Ditto.
+ 	* genemit.c: Ditto.
+ 	* genextract.c: Ditto.
+ 	* genflags.c: Ditto.
+ 	* gengenrtl.c: Ditto.
+ 	* genoutput.c: Ditto.
+ 	* genpeep.c: Ditto.
+ 	* genrecog.c: Ditto.
+ 	* gensupport.c: Ditto.
+ 	* global.c: Ditto.
+ 	* gmon.c: Ditto.
+ 	* graph.c: Ditto.
+ 	* haifa-sched.c: Ditto.
+ 	* hard-reg-set.h: Ditto.
+ 	* hash.c: Ditto.
+ 	* integrate.c: Ditto.
+ 	* jump.c: Ditto.
+ 	* lists.c: Ditto.
+ 	* local-alloc.c: Ditto.
+ 	* loop.c: Ditto.
+ 	* mips-tdump.c: Ditto.
+ 	* mips-tfile.c: Ditto.
+ 	* optabs.c: Ditto.
+ 	* prefix.c: Ditto.
+ 	* print-rtl.c: Ditto.
+ 	* read-rtl.c: Ditto.
+ 	* real.c: Ditto.
+ 	* recog.c: Ditto.
+ 	* reg-stack.c: Ditto.
+ 	* regclass.c: Ditto.
+ 	* regmove.c: Ditto.
+ 	* reload.c: Ditto.
+ 	* reload1.c: Ditto.
+ 	* reorg.c: Ditto.
+ 	* resource.c: Ditto.
+ 	* rtl.c: Ditto.
+ 	* rtlanal.c: Ditto.
+ 	* scan.c: Ditto.
+ 	* sched-deps.c: Ditto.
+ 	* sched-rgn.c: Ditto.
+ 	* sdbout.c: Ditto.
+ 	* simplify-rtx.c: Ditto.
+ 	* stmt.c: Ditto.
+ 	* stor-layout.c: Ditto.
+ 	* toplev.c: Ditto.
+ 	* tradcif.y: Ditto.
+ 	* tradcpp.c: Ditto.
+ 	* tree.c: Ditto.
+ 	* unroll.c: Ditto.
+ 	* varasm.c: Ditto.
+ 	* xcoffout.c: Ditto.
+ 
+ 2001-10-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (can_reverse_comparison_p): Remove.
+ 
+ 2001-10-10  Christopher Faylor <cgf@redhat.com>
+ 
+ 	* config/i386/cygwin.h: Avoid adding include files if -nostdinc is
+ 	used.
+ 
+ 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
+ 
+ 	* config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
+ 	(Thanks to Chris Faylor for suggesting macro name).
+ 	(CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
+ 	WIN32 defines.
+ 	(STANDARD_INCLUDE_DIR): Remove i386- from directory name.
+ 	(STANDARD_INCLUDE_COMPONENT): Change to MINGW.
+ 	(MATH_LIBRARY): Undef before definition.
+ 	(OUTPUT_QUOTED_STRING): Likewise.
+ 	* config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
+ 
+ 2001-10-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (fde_compare_t): Change return type to int.
+ 	(fde_unencoded_compare): Likewise.  Don't use subtraction to get
+ 	a tristate comparison value.
+ 	(fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
+ 
+ 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR c++/4512
+ 	* unroll.c (loop_iterations): Ignore insns generated by loop
+ 	unrolling.
+ 
+ 	* config.gcc (mips*-*-gnu*): Delete support.
+ 	* config/mips/gnu.h: Remove.
+ 
+ 2001-10-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* calls.c: Fix formatting.
+ 	* c-decl.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cppmacro.c: Likewise.
+ 	* crtstuff.c: Likewise.
+ 	* cse.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* langhooks.c: Include rtl.h, insn-config.h and integrate.h.
+ 	* Makefile.in (langhooks.o): Add dependencies.
+ 
+ Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* rs6000.c (rs6000_emit_load_toc_table): Don't
+ 	strdup the toc label.
+ 	(create_TOC_reference): Likewise.
+ 
+ 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
+ 
+ 	* config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
+ 	version default.
+ 
+ 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
+ 
+ 	* config/i386/i386.c (ix86_attribute_table): Correct
+ 	min_len, max_len fields for dllimport, dllexport and shared.
+ 
+ 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
+ 	doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
+ 	Consistently use "nonzero" instead of "non-zero".
+ 
+ 2001-10-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* acconfig.h: Fix comment formatting.
+ 	* c-dump.h: Likewise.
+ 	* c-tree.h: Likewise.
+ 	* conditions.h: Likewise.
+ 	* expr.h: Likewise.
+ 	* function.h: Likewise.
+ 	* gthr.h: Likewise.
+ 	* hwint.h: Likewise.
+ 	* integrate.h: Likewise.
+ 	* intl.h: Likewise.
+ 	* loop.h: Likewise.
+ 	* optabs.h: Likewise.
+ 
+ 2001-10-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* c-common.h: Fix comment formatting.
+ 	* c-dump.c: Likewise.
+ 	* cfg.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* except.c: Likewise.
+ 	* gcc.h: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* output.h: Likewise.
+ 	* predict.h: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* resource.h: Likewise.
+ 	* scan.h: Likewise.
+ 	* system.h: Likewise.
+ 	* tree.h: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* tsystem.h: Likewise.
+ 	* varasm.c: Likewise.
+ 	* xcoffout.h: Likewise.
+ 
+ 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Document preference for "nonzero" over "non-zero".
+ 
+ 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
+ 	config/i386/i386elf.h, config/i386/netbsd-elf.h,
+ 	config/i386/netware.h, config/mcore/gfloat.h,
+ 	config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
+ 	config/netware.h, gccbug.in: Update FSF address.
+ 
+ 2001-10-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* c-common.c: Fix comment typos.
+ 	* cfgrtl.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* doloop.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* global.c: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* stmt.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/c-tree.texi: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/objc.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (set_named_section_flags): Initialize "declared".
+ 
+ 2001-10-08  Robert Lipe  <robertlipe@usa.net>
+ 
+ 	* varasm.c (struct in_named_entry): Add declared.
+ 	(named_section_first_declaration): New function.
+ 	(default_elf_asm_named_section): Use it.
+ 	* output.h (named_section_first_declaration): New.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* i386.md (movsi_xor): Export.
+ 	(setcc peep2): Use it when available; add an alternative to
+ 	match zero_extendhisi2_and.
+ 
+ 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* romp-protos.h (romp_initialize_trampoline): New function.
+ 	* romp.c (romp_initialize_trampoline): Likewise.
+ 	* romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
+ 	romp_initialize_trampoline.
+ 
+ 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
+ 	* m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 
+ 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* unroll.c (loop_iterations): Extend check for multiple back edges.
+ 
+ 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* langhooks.h: New file.
+ 	* Makefile.in (OBJS): Added langhooks.o.
+ 	(c-lang.o): Depend on langhooks.h.
+ 	(c-common.o): Don't depend on tree-inline.h.
+ 	(tree-inline.o): Depend on toplev.h.
+ 	(langhooks.o): New rule.
+ 	* c-common.c: Don't include tree-inline.h.
+ 	(c_mark_lang_decl): Mark argument c as unused.
+ 	(c_common_lang_init): Don't initialize hooks here.
+ 	* c-lang.c: Include langhooks.h, then override some macros.
+ 	(lang_hooks): Initialize with macros in langhooks.h.
+ 	(c_init): Don't initialize hooks here.
+ 	* toplev.c (struct lang_hooks_for_tree_inlining): New struct.
+ 	(struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
+ 	* tree-inline.c: Include toplev.h.  Don't define hook variables.
+ 	* tree-inline.h: Don't define hook types nor declare hook
+ 	variables.  Move macros to...
+ 	* langhooks.c: ... new file, as functions.  Adjust all callers.
+ 
+ 2001-10-08  Jeffrey A Law  <law@cygnus.com>
+ 
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
+ 	purge_mem_unchanging_flag on all instructions, not just on those
+ 	before NOTE_INSN_FUNCTION_BEG.
+ 
+ 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (_cpp_create_definition): Leave comments off.
+ 
+ 	* doc/cpp.texi: Update.
+ 
+ 2001-10-08  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-decl.c (grokfield): Make sure the only unnamed fields
+ 	we're allowing are either structs or unions.
+ 	* doc/extend.texi: Add documentation for the unnamed field
+ 	extension.
+ 
+ 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (gcc_AC_PROG_GNAT): New.
+ 	* configure.in: Use it.
+ 	* configure: Regenerated.
+ 	* config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
+ 	config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
+ 
+ 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (open_file): Don't mark zero-length files
+ 	never-reread here.  Don't output diagnostics here either.
+ 	(stack_include_file): Mark them never-reread here.
+ 	(_cpp_read_file): Update.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (store_expr): When converting a CONST_INT for storage
+ 	in a SUBREG, convert it to both SUBREG modes before stripping
+ 	the SUBREG.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (restore_varasm_status): New.
+ 	* function.h: Declare it.
+ 	* function.c (pop_function_context_from): Call it.
+ 
+ 2001-10-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (struct c_lang_decl): Add declared_inline.
+ 	* c-tree.h (DECL_DECLARED_INLINE_P): New.
+ 	* c-lang.c (c_disregard_inline_limits): Use it.
+ 	* c-decl.c (duplicate_decls): Likewise.
+ 	(pushdecl, redeclaration_error_message): Likewise.
+ 	(pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
+ 	(grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
+ 	Set DECL_INLINE if -finline-functions.
+ 	(store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
+ 
+ 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (funlike_invocation_p): Move some logic to caller
+ 	in enter_macro_context.  Create a padding token in its own context
+ 	if necessary when the search for '(' fails.
+ 	(enter_macro_context): Update.
+ 
+ 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
+ 	genmultilib, toplev.c: Fix spelling errors of "separate" as
+ 	"seperate", and corresponding spelling errors of related words.
+ 
+ 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
+ 	* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
+ 	Likewise.
+ 	* c-dump.c (dump_option_value_info): Likewise.
+ 	* c-format.c (format_length_info, format_char_info,
+ 	format_flag_spec, format_flag_pair, format_kind_info): Likewise.
+ 	* collect2.c (names): Likewise.
+ 	* cppdefault.h (default_include): Likewise.
+ 	* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
+ 	* flow.c (life_analysis): Likewise.
+ 	* gcc.c (dir_separator_str, modify_target, option_map,
+ 	target_option_translations, spec_list_1, extra_specs_1,
+ 	init_spec): Likewise.
+ 	* gcov.c (gcov_version_string): Likewise.
+ 	* genattr.c (write_units): Likewise.
+ 	* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
+ 	* gengenrtl.c (rtx_definition, defs): Likewise.
+ 	* genrecog.c (pred_table): Likewise.
+ 	* global.c (global_alloc): Likewise.
+ 	* lcm.c (optimize_mode_switching): Likewise.
+ 	* local-alloc.c (find_free_reg): Likewise.
+ 	* params.h (param_info): Likewise.
+ 	* predict.c (predictor_info): Likewise.
+ 	* protoize.c (unexpansion_struct): Likewise.
+ 	* real.c (bmask): Likewise.
+ 	* recog.h (insn_operand_data, insn_data): Likewise.
+ 	* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
+ 	* stmt.c (expand_nl_goto_receiver): Likewise.
+ 	* toplev.c (da, debug_args, lang_opt, documented_lang_options,
+ 	target_switches, target_options): Likewise.
+ 	* tradcif.y (token, tokentab2, yylex): Likewise.
+ 	* tree.h (attribute_spec): Likewise.
+ 
+ 	* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
+ 	Likewise.
+ 	* arc.c (arc_output_function_epilogue): Likewise.
+ 	* arm.c (processors, all_cores, all_architectures,
+ 	arm_override_options, isr_attribute_arg, isr_attribute_args,
+ 	arm_isr_value): Likewise.
+ 	* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
+ 	Likewise.
+ 	* c4x.c (c4x_int_reglist): Likewise.
+ 	* d30v.c (override_options): Likewise.
+ 	* h8300.c (shift_insn): Likewise.
+ 	* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
+ 	pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
+ 	ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
+ 	builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
+ 	ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
+ 	* i386.h (processor_costs, ix86_cost): Likewise.
+ 	* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
+ 	* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
+ 	* m68k.c (codes_68881, codes_FPA): Likewise.
+ 	* m88k.c (mode_from_align, max_from_align, all_from_align,
+ 	best_from_align, m_options): Likewise.
+ 	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
+ 	* mcore.c (mode_from_align): Likewise.
+ 	* mips/elf64.h (UNIQUE_SECTION): Likewise.
+ 	* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
+ 	* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
+ 	* mips.h (mips_regno_to_class): Likewise.
+ 	* ns32k.c (scales): Likewise.
+ 	* pa.c (import_string, magic_milli): Likewise.
+ 	* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
+ 	* sparc.c (leaf_reg_remap, sparc_override_options,
+ 	reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
+ 	Likewise.
+ 	* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
+ 
+ 2001-10-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* reload1.c (reload_reg_free_p): Teach register interference
+ 	checking that multiple output reloads are emitted in
+ 	reverse order.
+ 	reload1.c (reload_reg_reaches_end_p):  Ditto.
+ 	reload1.c (reloads_conflict):  Ditto.
+ 
+ 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
+ 	NULL_TREE inside @code.
+ 
+ 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Document consistent style of "32-bit",
+ 	"Objective-C", and "@code{NULL}".
+ 
+ 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplex.c (enum spell_type): Add SPELL_NUMBER.
+ 	(cpp_token_len, cpp_spell_token, cpp_output_token,
+ 	_cpp_equiv_tokens): Handle it.
+ 	* cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
+ 	CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
+ 	* cppexp.c (_cpp_parse_expr): Use the correct operator code in
+ 	error messages.
+ 
+ Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcc.c (default_compilers): Remove .ada.
+ 
+ 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (main): Set this_file_error if the appropriate
+ 	compiler for a language has not been installed.
+ 
+ 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
+ 
+ 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gccbug.in (CATEGORIES): Add ada.
+ 
+ 2001-10-05  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/stormy16/stormy-abi:  Document abi changes.
+ 	* config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
+ 	(ICALL_REGS): New register class.
+ 	(NUM_ARGUMENT_REGISTERS): Now 6.
+ 	(DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
+ 	in registers.
+ 	(REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
+ 	* config/stormy16.md (call_internal, call_value_internal,
+ 	indirect_jump): Use new 'z' constraint.
+ 
+ 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ 2001-10-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (FRAME_BEGIN_LABEL): New.
+ 	(output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
+ 	the gas section-name-as-label feature.
+ 
+ 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
+ 	to ensure valid SImode constants.
+ 
+ 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (c-decl.o): Depend on tree-inline.h.
+ 	(c-lang.o): Likewise, as well as insn-config.h and integrate.h.
+ 	* c-decl.c: Include tree-inline.h.
+ 	(c_expand_body): Call optimize_inline_calls. Determine whether
+ 	a function is inlinable upfront, and only clear
+ 	DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
+ 	* c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
+ 	(c_disregard_inline_limits): New function.
+ 	(inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
+ 	(c_post_options): Enable tree inlining if inlining is enabled.
+ 	Don't inline trees when instrumenting functions.
+ 	(c_init): Initialize lang_disregard_inline_limits and
+ 	lang_cannot_inline_tree_fn.
+ 	* tree-inline.c (initialize_inlined_parameters): Handle calls
+ 	with fewer arguments than declared parameters, and fewer
+ 	parameters than passed arguments.  Don't assume value is a
+ 	DECL.
+ 	(declare_return_variable): Convert return value back to the
+ 	original type, if it was promoted.
+ 	(tree_inlinable_function_p): New function.
+ 	(inlinable_function_p): Don't look at DECL_INLINE if we're
+ 	inlining all functions.  Make it work with a NULL id.
+ 	Re-check DECL_UNINLINABLE after language-specific checks.
+ 	* tree-inline.h (tree_inlinable_function_p): Declare it.
+ 	* integrate.c (save_for_inline): Don't bother to prepare argvec
+ 	when not inlining.
+ 	* cse.c (check_for_label_ref): Don't check deleted labels.
+ 
+ 	* Makefile.in (tree-inline.o): Depend on newly-included headers.
+ 	* tree-inline.c: Include headers needed for the functions moved in.
+ 	(struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
+ 	(remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
+ 	(copy_body, initialize_inlined_parameters): Likewise.
+ 	(declare_return_variable, inlinable_function_p): Likewise.
+ 	(expand_call_inline, expand_calls_inline): Likewise.
+ 	(optimize_inline_calls, clone_body): Likewise.
+ 	(walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
+ 	(copy_tree_r, remap_save_expr): Likewise.
+ 
+ 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (OBJS): Added tree-inline.o.
+ 	(c-common.o): Depend on tree-inline.h.
+ 	(tree-inline.o): New target.
+ 	* c-common.c: Include tree-inline.h.
+ 	(c_mark_lang_decl): Don't mark saved_tree.
+ 	(c_common_lang_init): Set lang_anon_aggr_type_p.
+ 	* c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
+ 	(struct c_lang_decl): Moved saved_tree to tree_decl.
+ 	* ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
+ 	* integrate.h (function_attribute_inlinable_p): Declare it.
+ 	* integrate.c (function_attribute_inlinable_p): Export it.
+ 	* tree-inline.c: New file.  Define variables declared in...
+ 	* tree-inline.h: New file.  Declare functions to be moved to
+ 	tree-inline.c.  Define macros and declare types and hooks for
+ 	language-specific tree inlining.
+ 	(flag_inline_trees): Moved definition from cp/decl2.c.
+ 	* tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
+ 	(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
+ 	(struct tree_decl): Moved saved_tree from c_lang_decl and
+ 	inlined_fns from C++'s lang_decl.
+ 
+ 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
+ 	propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
+ 
+ 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ 2001-10-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (init_cumulative_args): Remember to set
+ 	cum->prototype.
+ 	* config.gcc: Redo linux configuration. Add target_cpu_default
+ 	of soft-float to all mipsisa32 combinations and tx39.
+ 	* config/mips/linux.h: Remove include of mips.h.
+ 
+ 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
+ 	HOST_LDFLAGS and HOST_CPPFLAGS.
+ 
+ 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (objc_inherit_code, objc_pq_context,
+ 	objc_public_flag): Make static.
+ 	(objc_interface_context, objc_implementation_context,
+ 	objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
+ 	global tree array in objc/objc-act.[ch].
+ 	(methoddef): Remove unnecessary code.
+ 
+ 	* objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
+ 	Hoist struct definitions to objc-act.h.
+ 	(nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
+ 	cat_count): Place declaration in objc-act.h.
+ 	(objc_tree_index): Move enumeration to objc-act.h.
+ 	(objc_global_trees): Place declaration and macro accessors in
+ 	objc-act.h.
+ 	(implementation_context): Remove duplicate; use
+ 	objc_implementation_context instead:
+ 	(method_context): Remove duplicate; use objc_method_context
+ 	instead.
+ 	(objc_ellipsis_node, objc_method_prototype_template,
+ 	implemented_classes, function_type): Move global vars to
+ 	objc_global_trees.
+ 	(init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
+ 	(build_message_expr): Move actual construction of ObjC message
+ 	send nodes to finish_message_expr.
+ 	(finish_message_expr): New routine, contains code formerly in
+ 	build_message_expr.
+ 	* objc/objc-act.h (finish_message_expr): New prototype.
+ 	(objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
+ 	declarations; these vars are now part of objc_global_trees.
+ 	(objc_tree_index, objc_global_trees): Move definitions from
+ 	objc-act.c.
+ 	* objc/objc-tree.def: Update copyright info.
+ 
+ Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* dwarf2asm.c (unaligned_integer_asm_op): Abort if
+ 	op is NULL.
+ 	* sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
+ 	only if TARGET_ARCH64.
+ 
+ 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* doc/extend.texi: Fix some problems with previous checkin.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h: Update comments.
+ 	(cpp_context): Update.
+ 	(spec_nodes): Remove n__Pragma.
+ 	* cppinit.c (cpp_create_reader): Update.
+ 	(builtin_array): Add _Pragma.
+ 	* cpplib.h: Update comments.
+ 	(NODE_DISABLED, BT_PRAGMA): New.
+ 	(cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
+ 	* cppmacro.c (struct cpp_macro): Remove disabled.
+ 	(builtin_macro): Return int, handle _Pragma, push the new token
+ 	on the context stack.
+ 	(funlike_invocation_p): Unconstify, update.
+ 	(enter_macro_context): Handle builtins here.
+ 	(replace_args, push_token_context, push_ptoken_context):
+ 	Update for prototype changes.
+ 	(_cpp_pop_context): Update.
+ 	(cpp_get_token): Don't handle buitins, nor _Pragma here.
+ 	(cpp_sys_macro_p): Update.
+ 	(_cpp_free_definition): Clear disabled flag.
+ 	(_cpp_create_definition): Upate.
+ 	* cppmain.c: Update comments.
+ 
+ Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
+ 				Andreas Jaeger <aj@suse.de>,
+ 				Jan Hubicka    <jh@suse.cz>
+ 
+ 	* doc/invoke.texi (i386 Options): Document x86-64 options.
+ 	(i386 and x86-64 Options): Rename i386 options section.
+ 
+ 	* config/i386/i386.h (TARGET_UNWIND_INFO): New.
+ 	(TARGET_SWITCHES): Add -munwind-info.
+ 	(MASK_NO_UNWIND_INFO): New.
+ 	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
+ 	biarch compilation.
+ 	(ASM_OUTPUT_DOUBLE_INT): New.
+ 
+ 	* config/i386/linux64.h: New spec file for Linux x86-64 support.
+ 	* config.gcc: Fix tm_file settings for x86-64.
+ 	* config/i386/x86-64.h: New file with OS independent x86-64
+ 	definitions.
+ 	* config/i386/biarch64.h: New file used to configure compiler
+ 	to biarch/64bit compilation.
+ 
+ 	* config/i386/i386.c: (override_options): Set flags default
+ 	for 64bit compilation.
+ 
+ Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
+ 	(ix86_expand_int_movcc): Optimize DImode conditional moves with
+ 	constants on x86_64.
+ 	(ix86_attr_length_immediate_default): Support MODE_DI.
+ 	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
+ 	condition.
+ 	(indirect_jump, tablejump): Turn into expander.
+ 
+ 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (c_format_attribute_table): Make format and
+ 	format_arg attributes apply to function types rather than to
+ 	decls.
+ 	(is_valid_printf_arglist): Construct an attribute list and pass
+ 	that to check_function_format rather than a name.
+ 	* c-common.h (check_function_format): Adjust prototype.
+ 	* c-decl.c (duplicate_decls): Preserve attributes from type of
+ 	built-in decl when allowing for harmless conflict in types.
+ 	* c-format.c (record_function_format,
+ 	record_international_format, function_format_list,
+ 	international_format_info, international_format_list): Remove.
+ 	(function_format_info): Remove next, name and assembler_name.
+ 	Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
+ 	(decode_format_attr): New.
+ 	(handle_format_attribute): Handle receiving a type rather than a
+ 	decl.  Call decode_format_attr.  Store format information in a
+ 	function_format_info.
+ 	(handle_format_arg_attribute): Correct comment.  Handle receiving
+ 	a type rather than a decl.  Use unsigned HOST_WIDE_INT for
+ 	arg_num.
+ 	(check_format_info_recurse, check_format_info_main): Take argument
+ 	numbers as unsigned HOST_WIDE_INT.
+ 	(check_function_format): Take a list of attributes from the
+ 	function type rather than a name or assembler name.  Check for
+ 	format attributes in that list and the attributes on the type of
+ 	the current function rather than looking through
+ 	function_format_list.
+ 	(check_format_info): Use unsigned HOST_WIDE_INT for argument
+ 	numbers.
+ 	(check_format_info_recurse): Take format_arg attributes from the
+ 	type of the function calls rather than using
+ 	international_format_list.  Allow for multiple format_arg
+ 	attributes.
+ 	* c-typeck.c (build_function_call): Pass type attributes to
+ 	check_function_format rather than name or assembler name.  Don't
+ 	require there to be a name or assembler name to check formats.
+ 
+ 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* attribs.c (decl_attributes): Possibly call
+ 	insert_default_attributes to insert default attributes on
+ 	functions in a lazy manner.
+ 	* builtin-attrs.def: New file; define the default format and
+ 	format_arg attributes.
+ 	* c-common.c (c_format_attribute_table): Move to earlier in the
+ 	file.
+ 	(c_common_nodes_and_builtins): Initialize format_attribute_table.
+ 	(enum built_in_attribute, built_in_attributes,
+ 	c_attrs_initialized, c_init_attributes,
+ 	c_common_insert_default_attributes): New.
+ 	(c_common_lang_init): Don't initialize format_attribute_table.  Do
+ 	call c_init_attributes.
+ 	* Makefile.in (c-common.o): Depend on builtin-attrs.def.
+ 	* c-common.h (init_function_format_info): Don't declare.
+ 	(c_common_insert_default_attributes): Declare.
+ 	* c-decl.c (implicitly_declare, builtin_function): Call
+ 	decl_attributes.
+ 	(init_decl_processing): Don't call init_function_format_info.
+ 	(insert_default_attributes): New.
+ 	* c-format.c (handle_format_attribute,
+ 	handle_format_arg_attribute): Be quiet about inappropriate
+ 	declaration when applying default attributes.
+ 	(init_function_format_info): Remove.
+ 	* tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
+ 	(insert_default_attributes): Declare.
+ 
+ 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
+ 
+ 2001-10-01  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* sched-deps.c (add_dependence): When elide conditional dependence,
+ 	check that insn doesn't modify cond2.
+ 
+ 2001-10-01  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (enum processor_type): Add support
+ 	for 7400 (G4) and 7450.
+ 	(RTX_COSTS): Ditto.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Ditto.
+ 	(rs6000_issue_rate): Ditto.
+ 	(rs6000_adjust_cost): Fix cycle counts for compares.
+ 	(debug_stack_info):  Fix an obvious typo.
+ 	* config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
+ 	* doc/invoke.texi: Document.
+ 	* config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
+ 	for Darwin.
+ 	(PROCESSOR_DEFAULT): Ditto.
+ 
+ 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
+ 	(fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
+ 	later recursive make invocation.
+ 
+ 2001-10-01  Hans Boehm  <boehm@acm.org>
+ 
+ 	* optabs.c (emit_libcall_block): When using non-call exceptions,
+ 	don't add REG_LIBCALL reg notes to trapping calls.
+ 
+ 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* flow.c (propagate_block_delete_libcall): Remove unused first arg
+ 	(propagate_one_insn):  Update for above change
+ 
+ 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
+ 	_Unwind_GetTextRelBase): Argument is unused.
+ 
+ Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
+ 	Loop through NOPs, placeholders, and components.
+ 	Don't go through NOPs if change mode.
+ 	(record_alias_subset): Do nothing if SUBSET and SET are the same.
+ 	* emit-rtl.c (set_mem_alias_set): Enable check.
+ 	* expr.c (find_placeholder): New function.
+ 	(expand_expr, case PLACEHOLDER_EXPR): Use it.
+ 	(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
+ 	to modify it and avoid unneeded copies.
+ 	* expr.h (expand_expr): Always define.
+ 	(find_placeholder): New declaration.
+ 
+ 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("add-split"): Fix add split when
+ 	operand 2 is the stack pointer.
+ 	("addr-peephole"): Fix address computation peephole when operand 2
+ 	is the stack pointer.
+ 
+ Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
+ 	(ix86_setup_incoming_varargs): Likewise.
+ 
+ 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* stor-layout.c (layout_type): Don't complain about too-large
+ 	array here.
+ 
+ Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (keep_stack_depressed): Don't use delete_insn.
+ 
+ 	* expr.h (set_mem_alias_set): Move decl to here.
+ 	* rtl.h (mem_attrs): New typedef and struct.
+ 	(union rtunion_def): Add field for mem_attrs.
+ 	(X0MEMATTR, MEM_ATTRS): New macros.
+ 	(MEM_ALIAS_SET): Use MEM_ATTRS.
+ 	(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
+ 	(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
+ 	(set_mem_alias_set): Delete decl from here.
+ 
+ 	* alias.c (set_mem_alias_set): Delete from here.
+ 	* emit-rtl.c (mem_attrs_htab): New variable.
+ 	(rtx_htab_mark, rtx_htab_mark_1): Deleted.
+ 	(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
+ 	(mem_attrs_mark, get_mem_attrs): Likewise.
+ 	(gen_rtx_MEM): Clear MEM_ATTRS.
+ 	(set_mem_attributes): Move to here.
+ 	(set_mem_alias_set): Likewise, and call get_mem_attrs.
+ 	(init_emit_once): const_int_htab now deletable htab.
+ 	Initialize mem_attrs_htab.
+ 	* explow.c (set_mem_attributes): Delete from here.
+ 	* function.c (put_var_into_stack): Clear MEM_ATTRS.
+ 	(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
+ 	* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
+ 	* reload1.c (reload): Rework changing REG to MEM.
+ 
+ 2001-09-30  H.J. Lu <hjl@gnu.org>
+ 
+ 	* acconfig.h (PREFIX_INCLUDE_DIR): New variable.
+ 	* config.in: Rebuild.
+ 
+ 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
+ 	("tsthi_1"): Avoid allocation in register y.
+ 	("*movqi_68hc12"): Reorganize and fix constraints.
+ 	("zero_extendqisi2"): Prefer d over x and y for operand 1.
+ 	("addqi3"): Likewise.
+ 	("addhi3"): Fix constraints.
+ 	("*logicalhi3_zexthi"): Disparage soft registers.
+ 
+ 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
+ 	to tmp reg.
+ 
+ 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
+ 	that we use setjmp/longjmp exceptions.
+ 
+ 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
+ 	POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
+ 	struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ 	_cpp_pool_alloc, _cpp_next_chunk): Remove.
+ 	(_cpp_extend_buff, BUFF_ROOM): Update.
+ 	(_cpp_append_extend_buff): New.
+ 	(struct cpp_reader): Remove macro_pool, add a_buff.
+ 	* cppinit.c (cpp_create_reader): Initialize a_buff, instead of
+ 	macro_pool.
+ 	(cpp_destroy): Free a_buff instead of macro_pool.
+ 	* cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
+ 	new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
+ 	_cpp_pool_alloc, ): Remove.
+ 	(parse_number, parse_string): Update use of _cpp_extend_buff.
+ 	(_cpp_extend_buff): Update.
+ 	(_cpp_append_extend_buff, cpp_aligned_alloc): New.
+ 	* cpplib.c (glue_header_name, parse_answer):
+ 	Update use of _cpp_extend_buff.
+ 	(cpp_register_pragma, cpp_register_pragma_space): Use
+ 	_cpp_aligned_alloc.
+ 	(do_assert, do_unassert): Check for EOL, update.
+ 	* cppmacro.c (stringify_arg, collect_args): Update to use
+ 	_cpp_extend_buff and _cpp_append_extend_buff.
+ 	(save_parameter, parse_params, alloc_expansion_token,
+ 	_cpp_create_definition): Rework memory management.
+ 
+ 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
+ 
+ 	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
+ 	update md_exec_prefix.
+ 	(UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
+ 	to string constant.
+ 
+ 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
+ 	(SELECT_CC_MODE): Use s390_select_ccmode.
+ 	* config/s390/s390-protos.h (s390_select_ccmode): Add.
+ 	* config/s390/s390.c (s390_select_ccmode): New.
+ 	(s390_match_ccmode): Add CCLmode.
+ 	(s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
+ 	(output_branch_condition, output_inverse_branch_condition): Removed.
+ 	(print_operand): Use s390_branch_condition_mnemonic.
+ 	* config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
+ 	subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
+ 	(bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
+ 
+ 	* config/s390/s390.c (check_and_change_labels): Preserve CC mode
+ 	when converting conditional branches to far branches.
+ 	* config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
+ 	cmpint_di): Use CCSmode instead of CCUmode.
+ 
+ 	* config/s390/s390.c (legitimate_la_operand_p): New.
+ 	* config/s390/s390-protos.h (legitimate_la_operand_p): Add.
+ 	* config/s390/s390.md (movsi): Convert load address patterns to
+ 	arithmetic operations when necessary.
+ 	(addaddr_picR, addaddr_picL, addaddr_picN): Removed.
+ 	(do_la): Renamed to *do_la and use legitimate_la_operand_p.
+ 	(*do_la_reg_0): Don't use before reload.
+ 
+ 	* config/s390/s390.c (legitimize_address): Make more efficient
+ 	use of two-register addressing mode.
+ 
+ 	* config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
+ 	with -mno-backchain in some corner cases.
+ 
+ 	* config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
+ 
+ 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload.c (find_reloads): Mark new USE insns with QImode.
+ 	(find_reloads_toplev, find_reloads_address, subst_reg_equivs,
+ 	find_reloads_subreg_address): Likewise.
+ 	* regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
+ 	encountered.
+ 	* reload1.c (reload_combine_note_use): Likewise, inside USEs and
+ 	CLOBBERs.
+ 	(reload): Make sure there are no USEs with mode other than
+ 	VOIDmode.  At the end, remove those marked with QImode.
+ 
+ 2001-09-29  Per Bothner  <per@bothner.com>
+ 
+ 	* cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
+ 	* Makefile.in (includedir):  Rename to local_includedir.
+ 	(includedir):  Define as $(prefix)/include.
+ 	* config.in (PREFIX_INCLUDE_DIR):  New variable.
+ 	* configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
+ 
+ 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
+ 	storehps builtins.
+ 	* doc/extend.texi (Vector Extensions): New node.
+ 	* doc/invoke.texi (Machine Dependent Options): Add documentation for
+ 	i386 -mmmx, -msse, -m3dnow.
+ 
+ Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* doc/invoke.texi (Optimize Options): Revert an accidental checkin.
+ 
+ 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
+ 
+ 	* doc/invoke.texi (Optimize Options): Delete spurious @table.
+ 
+ 2001-09-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_integer): Bound alignment check by
+ 	BIGGEST_ALIGNMENT.
+ 
+ 	* cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
+ 
+ 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+ 
+ 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	Mostly from Graham Stott  <grahams@redhat.com>
+ 	* c-common.c (type_for_mode): Add support for V2SFmode.
+ 	* tree.c (build_common_tree_nodes_2): Likewise.
+ 	* tree.h (enum tree_index, global_trees): Likewise.
+ 	* config/i386/i386.c (x86_3dnow_a): New variable.
+ 	(override_options): Support 3Dnow extensions.
+ 	(bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
+ 	Athlon's version of 3Dnow.
+ 	(ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
+ 	(ix86_expand_builtin): Handle them.
+ 	(ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
+ 	* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
+ 	TARGET_3DNOW_A): New macros.
+ 	(TARGET_SWITCHES): Add 3Dnow switches.
+ 	(VALID_MMX_REG_MODE_3DNOW): New macro.
+ 	(VECTOR_MODE_SUPPORTED_P): Use it.
+ 	(enum ix86_builtins): Add entries for 3Dnow builtins.
+ 	* config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
+ 	pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
+ 	pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
+ 	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
+ 	pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
+ 	pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
+ 	(mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
+ 	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
+ 	mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
+ 	sfence_insn, prefetch): Make these available if TARGET_SSE or
+ 	TARGET_3DNOW_A.
+ 
+ Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
+ 	ix86_va_start, ix86_build_va_list): Declare.
+ 	* i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
+ 	ix86_va_start, ix86_build_va_list): New global functions.
+ 	* i386.md (sse_prologue_save_insn): New insn.
+ 	(sse_prologue_save): New expander.
+ 	* i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
+ 	BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
+ 
+ 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
+ 	Use size_t everywhere, make definitions consistent with
+ 	prototypes.
+ 
+ Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (replace_store_insn): Use delete_insn.
+ 	* loop.c (move_movables): Likewise; avoid delete_insn
+ 	from clobbering notes moved elsewhere.
+ 	(check_dbra_loop): Use delete_insn.
+ 	* ssa.c (convert_from_ssa): Likewise.
+ 	* cse.c (cse_insn): Use delete_insn.
+ 
+ 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_buff): Make unsigned.
+ 	(_cpp_get_buff): Take length of size_t.
+ 	(_cpp_unaligned_alloc): New.
+ 	(BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
+ 	(struct cpp_reader): Remove ident_pool.  Add u_buff.
+ 	* cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
+ 	(cpp_destroy): Destroy u_buff, not ident_pool.
+ 	* cpplex.c (parse_number, parse_string, save_comment,
+ 	cpp_token_as_text): Update to use the unaligned buffer.
+ 	(new_buff): Make unsigned.
+ 	(_cpp_unaligned_alloc): New.
+ 	* cpplib.c (glue_header_name): Update to use the unaligned buffer.
+ 	* cppmacro.c (new_number_token, builtin_macro, stringify_arg):
+ 	Similarly.
+ 	(collect_args): Make unsigned.
+ 
+ 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplex.c (cpp_output_token): Use a putc loop for
+ 	SPELL_OPERATOR, and fwrite for SPELL_IDENT.
+ 
+ 	* configure.in: Detect fwrite_unlocked and fprintf_unlocked.
+ 	* configure, config.in: Regenerate.
+ 	* system.h: Replace fwrite and fprintf with their unlocked
+ 	variants if available.
+ 
+ 2001-09-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
+ 	in favor of .eh_frame.
+ 
+ 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
+ 	to macros.
+ 	(LIBCALL_VALUE): Likewise.
+ 
+ 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h: Update comment.
+ 	* cpplex.c: Update comments.
+ 	(_cpp_can_paste): Remove.
+ 	* cpplib.h (_cpp_can_paste): Remove.
+ 	* cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
+ 	lexer rather than _cpp_can_paste.
+ 
+ 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_pool): Remove locks and locked.
+ 	(struct cpp_context): Add member buff.
+ 	(struct cpp_reader): Remove member argument_pool.
+ 	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ 	* cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
+ 	* cpplex.c (chunk_suitable): Remove pool argument.
+ 	(MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
+ 	(new_buff, _cpp_extend_buff): Update.
+ 	(_cpp_get_buff): Fix silly pointer bug.  Be more selective about
+ 	which buffer is returned.
+ 	(_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
+ 	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
+ 	* cppmacro.c (lock_pools, unlock_pools): Remove.
+ 	(push_ptoken_context): Take a _cpp_buff.
+ 	(enter_macro_context): Pool locking removed.
+ 	(replace_args): Use a _cpp_buff for the replacement list with
+ 	arguments replaced.
+ 	(push_token_context): Clear buff.
+ 	(expand_arg): Use _cpp_pop_context.
+ 	(_cpp_pop_context): Free a context's buffer, if any.
+ 
+ 2001-09-26  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-typeck.c (digest_init): Check for sizeless arrays.
+ 
+ 2001-09-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (init_one_libfunc): Create a dummy function type
+ 	instead of using error_mark_node.
+ 
+ 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
+ 	_cpp_extend_buff, _cpp_free_buff): New.
+ 	(struct cpp_reader): New member free_buffs.
+ 	* cppinit.c (cpp_destroy): Free buffers.
+ 	* cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
+ 	_cpp_extend_buff, _cpp_free_buff): New.
+ 	* cpplib.h (struct cpp_options): Remove unused member.
+ 	* cppmacro.c (collect_args): New.  Combines the old parse_arg
+ 	and parse_args.  Use _cpp_buff for memory allocation.
+ 	(funlike_invocation_p, replace_args): Update.
+ 
+ Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (final_scan_insn): Use delete_insn instead of delete_note.
+ 
+ 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* except.c (sjlj_mark_call_sites): Change address inside sequence.
+ 
+ 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
+ 	glibc.
+ 
+ 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
+ 	    Jim Wilson  <wilson@redhat.com>
+ 
+ 	* doc/install.texi (Specific, ia64-*-linux): Document.
+ 
+ Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cfgrtl.o): Add.
+ 	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ 	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ 	free_aux_for_edge): Declare.
+ 	* cfg.c
+ 	(HAVE_return): Undefine.
+ 	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
+ 	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
+ 	free_aux_for_edge): New global functions.
+ 	(first_delete_block): New static variable.
+ 	(init_flow): Clear first_delete_block.
+ 	(basic_block_for_insn, label_value_list, tail_recursion_label_list,
+ 	 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
+ 	 try_redirect_by_replacing_jump, last_loop_beg_note,
+ 	 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
+ 	 delete_insn, delete_insn_chain, create_basic_block_structure,
+ 	 create_basic_block, flow_delete_block, compute_bb_for_insn,
+ 	 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
+ 	 set_block_for_new_insns, split_block, merge_blocks_nomove,
+ 	 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
+ 	 redirect_edge_and_branch, force_nonfallthru_and_redirect,
+ 	 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
+ 	 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
+ 	 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
+ 	 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
+ 	 purge_all_dead_edges): Move to ....
+ 	* cfgrtl.c: New file; .... Here.
+ 
+ 	* bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
+ 	(reroder_basic_block): Use alloc_aux_for_blocks.
+ 	* predict.c (estimate_bb_frequencies): Likewise; use
+ 	alloc_aux_for_edges.
+ 	* profile.c (compute_branch_probabilities): Likewise.
+ 	(branch_prob): Likewise.
+ 	* reg-stack.c (reg_to_stack): Likewise.
+ 
+ 	* emit-rtl.c (emit_insns_after): Never return NULL.
+ 
+ 	* basic-block.h (set_block_for_new_insns): Delete.
+ 	* cfgrtl.c (set_block_for_new_insns): Delete.
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
+ 	calls when crossjumping.
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
+ 	* unroll.c (copy_loop_body): Use delete_insn.
+ 
+ 	* final.c (final, final_scan_insn): Use delete_insn/delete_note.
+ 	* function.c (fixup_var_refs_insn, fixup_var_refs_1,
+ 	keep_stack_depressed): Likewise.
+ 	* gcse.c (cprop_cc0_jump): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	* loop.c (scan_loop, loop_delete_insns): Likewise.
+ 	* regmove.c (try_auto_increment, fixup_match_1): Likewise.
+ 	* reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
+ 	delete_output_reload, delete_address_reloads_1,
+ 	reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
+ 	Likewise.
+ 	* sibcall.c (replace_call_placeholder): Likewise.
+ 	* cse.c (cse_insn): Likewise.
+ 
+ 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	From Graham Stott  <grahams@redhat.com>
+ 	(def_builtin): Only define builtins appropriate for target_flags.  All
+ 	callers changed.
+ 	(builtin_decsription): Add new field mask which is used to determine
+ 	when to define the builtin via the macro def_builtin.
+ 
+ 	(bdesc_comi): Initialize new mask fields.
+ 	(bdesc_2srg): Likewise.
+ 	(bdesc_1arg): Likewise.
+ 
+ 	* config/i386/i386.c (ix86_init_builtins): Correct return type
+ 	building v4hi_ftype_v4hi_int_int tree node.
+ 	(ix86_expand_sse_comi): Fix typo swapping operands.
+ 	Don't swap comparison condition, it is already swapped.
+ 	(ix86_expand_sse_compare): Before swapping operands
+ 	move operand 1 into new rtx and not the target rtx.
+ 	Don't swap comparison condition, it is already swapped.
+ 	Always check whether we need to create a new TARGET.
+ 
+ 	* config/i386/i386.md: (sse_comi) Fix typos.
+ 	(sse_ucomi): Likewise.
+ 	(cvtss2si): Fix operand 0 contraint.
+ 	(cvttss2si): Likewise.
+ 	(sse_unpckhps): Fix mode for operand 2.
+ 	(sse_unpcklps): Likewise.
+ 
+ 2001-09-25  Graham Stott  <grahams@redhat.com>
+ 
+ 	* sibcall.c (skip_copy_to_return_value): Tighten return value
+ 	copy check.
+ 
+ 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (lwa_operand): Address must be word aligned.
+ 
+ Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (type_hash_marked_p): Consider as marked if debug symbol
+ 	number has been set.
+ 	(type_hash_mark): Mark type itself.
+ 
+ 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (cb_def_pragma): Update.
+ 	(c_lex): Update, and skip padding.
+ 	* cppexp.c (lex, parse_defined): Update, remove unused variable.
+ 	* cpphash.h (struct toklist): Delete.
+ 	(union utoken): New.
+ 	(struct cpp_context): Update.
+ 	(struct cpp_reader): New members eof, avoid_paste.
+ 	(_cpp_temp_token): New.
+ 	* cppinit.c (cpp_create_reader): Update.
+ 	* cpplex.c (_cpp_temp_token): New.
+ 	(_cpp_lex_direct): Add PREV_WHITE when parsing args.
+ 	(cpp_output_token): Don't print leading whitespace.
+ 	(cpp_output_line): Update.
+ 	* cpplib.c (glue_header_name, parse_include, get__Pragma_string,
+ 	do_include_common, do_line, do_ident, do_pragma,
+ 	do_pragma_dependency, _cpp_do__Pragma, parse_answer,
+ 	parse_assertion): Update.
+ 	(get_token_no_padding): New.
+ 	* cpplib.h (CPP_PADDING): New.
+ 	(AVOID_LPASTE): Delete.
+ 	(struct cpp_token): New union member source.
+ 	(cpp_get_token): Update.
+ 	* cppmacro.c (macro_arg): Convert to use pointers to const tokens.
+ 	(builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
+ 	replace_args, quote_string, stringify_arg, parse_arg, next_context,
+ 	enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
+ 	_cpp_backup_tokens, _cpp_create_definition): Update.
+ 	(push_arg_context): Delete.
+ 	(padding_token, push_token_context, push_ptoken_context): New.
+ 	(make_string_token, make_number_token): Update, rename.
+ 	(cpp_get_token): Update to handle tokens as pointers to const,
+ 	and insert padding appropriately.
+ 	* cppmain.c (struct printer): New member prev.
+ 	(check_multiline_token): Constify.
+ 	(do_preprocessing, cb_line_change): Update.
+ 	(scan_translation_unit): Update to handle spacing.
+ 	* scan-decls.c (get_a_token): New.
+ 	(skip_to_closing_brace, scan_decls): Update.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 	* doc/cpp.texi: Update.
+ 
+ 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
+ 	leak by passing malloc'ed pointer to reconcat, not concat.
+ 
+ 2001-09-24  DJ Delorie  <dj@redhat.com>
+ 
+ 	* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
+ 
+ 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
+ 
+ 	* flow.c (delete_dead_jumptables): Delete jumptable if the only
+ 	reference is from the literal pool.
+ 
+ 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Final install): Request additional information
+ 	in mail about successful builds.
+ 
+ 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
+ 	initial value of return pointer register instead of value in frame-20.
+ 	Revise comments.
+ 
+ 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
+ 	the libcall if there isn't a referenced identifier for the symbol.
+ 
+ 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
+ 	non 64-bit machines.  Use these as a plabel for the trampoline.
+ 	(TRAMPOLINE_SIZE): Adjust size for new words.
+ 	(INITIALIZE_TRAMPOLINE): Initialize new words.
+ 	(TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
+ 	pointer to the plabel in the trampoline.
+ 
+ 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (function_arg): Pass floating arguments in both general and
+ 	floating registers in indirect (dynamic) calls when generating code
+ 	for the 32 bit ABI and the HP assembler.
+ 
+ 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi: Markup fixes.
+ 	Use Solaris 2, SunOS 4 as appropriate.
+ 	(Specific, *-*-solaris2*): Explain this.
+ 	Unconditionally warn against /usr/ucb tools.
+ 	Remove Sun as warning, obsolete.
+ 	Move X11 header bug workaround here, update patches.
+ 	(Specific, sparc-sun-solaris2*): Detail Sun as fix status.
+ 	(Specific, sparc-sun-solaris2.7): Update patch 106950 status.
+ 
+ 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* errors.h (warning, error, fatal, internal_error): Don't mark
+ 	with ATTRIBUTE_PRINTF_n.
+ 	* toplev.h (internal_error, fatal_io_error, warning, error,
+ 	pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
+ 	error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
+ 	Likewise.
+ 
+ Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (pop_function_context_from): var_refs_queue
+ 	and temp slots now in GC memory.
+ 	(mark_function_status, free_after_compilation): Likewise;
+ 	also struct function now in GC memory.
+ 	(assign_stack_temp_for_type): struct temp_slot now in GC memory.
+ 	(combine_temp_slots): Likewise.
+ 	(schedule_fixup_var_refs): var_refs_queue now in GC memory.
+ 	(prepare_function_start): Use GC memory for struct function.
+ 	(mark_temp_slot): Deleted.
+ 	(gcc_mark_struct_function): struct function now in GC memory.
+ 
+ 	* fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
+ 	code for division, not modulus.
+ 
+ 	* rtl.def (MEM): Remove obsolete part of comment.
+ 
+ 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-format.c (init_function_format_info): Check __builtin_printf
+ 	and __builtin_fprintf even if -ffreestanding.  Check C99 functions
+ 	in gnu89 mode.
+ 
+ Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-common.c (format_attribute_table): Remove decl.
+ 	* tree.h (format_attribute_table, lang_attribute_table): New decls.
+ 	(lang_attribute_common): Likewise.
+ 
+ 	* function.c (fix_lexical_address): Use set_mem_alias_set.
+ 	(expand_function_start): Likewise.
+ 	* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
+ 
+ 	* varasm.c (output_constant): Fix unused variable warning.
+ 
+ 	* attribs.c: New file, from c-common.c.
+ 	(attribute_tables): Now four elements.
+ 	(format_attribute_table, lang_attribute_common): New variables.
+ 	(init_attributes): Reflect above changes.
+ 	(handle_mode_attribute): Delete check for wider than uintmax.
+ 	* c-common.c: Delete parts moved to attribs.c.
+ 	(enum attrs): Deleted; unused.
+ 	(c_format_attribute_table): New variable.
+ 	(c_common_lang_init): Initialize format_attribute_table with it.
+ 	* c-common.h (decl_attributes): Remove decl.
+ 	* tree.h (decl_attribute): Move it to here.
+ 	* Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
+ 	(attribs.o): New rule.
+ 
+ 2001-09-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* builtins.c (c_getstr): Remove unused variable.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload1.c (reload): Use delete_insn instead of splatting
+ 	NOTE_INSN_DELETED.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload.c (push_secondary_reload): Don't check for "=" in output
+ 	constraint after ""->ALL_REGS check.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* predict.c (expected_value_to_br_prob): Use pc_set.
+ 
+ 	* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
+ 	ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (LCT_RETURNS_TWICE): New.
+ 	* calls.c (emit_call_1): Set current_function_calls_setjmp for
+ 	ECF_RETURNS_TWICE.
+ 	(emit_library_call_value_1): Map LCT_RETURNS_TWICE
+ 	to ECF_RETURNS_TWICE.
+ 	* except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
+ 	call to setjmp.
+ 
+ 	* unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
+ 
+ 	* config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
+ 	(JMP_BUF_SIZE): New.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
+ 	to R8_REGS.
+ 
+ 2001-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.def (FDESC_EXPR): New.
+ 	* expr.c (expand_expr): Handle it.
+ 	* varasm.c (initializer_constant_valid_p): Likewise.
+ 	(output_constant): Likewise.
+ 	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ 	* config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+ 	(ASM_OUTPUT_FDESC): New.
+ 	* doc/tm.texi: Document the new macros.
+ 
+ 2001-09-21  Richard Earnshaw  (reanrsha@arm.com)
+ 
+ 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
+ 	ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
+ 	once merging is complete.
+ 
+ Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* integrate.c (allocate_initial_values): Eliminate unused arg warning.
+ 
+ 2001-09-21  Richard Earnshaw  (reanrsha@arm.com)
+ 
+ 	* cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
+ 	that would be invalid after a merge.
+ 
+ Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
+ 	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
+ 	remove some labels.
+ 	(flow_delete_insn): This one.
+ 	(delete_insn_chain): Rename from ...; do not care labels.
+ 	(flow_delete_insn_chain): ... this one.
+ 	(flow_delete_block): Remove the insns one BB has been expunged.
+ 	(merge_blocks_nomove): Likewise.
+ 	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
+ 	updating BB boundaries.
+ 	(tidy_fallthru_edge): Likewise.
+ 	(commit_one_edge_insertion): Likewise.
+ 	* cfgbuild.c (find_basic_block): Likewise.
+ 	(find_basic_blocks_1): Likewise.
+ 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
+ 	(try_crossjump_to_edge): Likewise.
+ 	(try_optimize_cfg): Likewise.
+ 	* cse.c (delete_trivially_dead_insns): Likewise.
+ 	* df.c (df_insn_delete): Likewise.
+ 	* doloop.c (doloop_modify): Use delete_related_insns.
+ 	* emit-rtl.c (try_split): Likewise.
+ 	(remove_insn): Update BB boundaries.
+ 	* expect.c (connect_post_landing_pads): Use delete_related_insns.
+ 	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
+ 	updating BB boundaries.
+ 	(propagate_block_delete_insn): Likewise.
+ 	(propagate_block_delete_libcall): Likewise.
+ 	* function.c (delete_handlers): Use delete_related_insns.
+ 	(thread_prologue_and_epilogue_insns): Likewise.
+ 	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
+ 	* genpeep.c (gen_peephole): Use delete_related_insns.
+ 	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
+ 	BB boundaries.
+ 	(find_cond_trap): Likewise.
+ 	* integrate.c (save_for_inline): Use delete_related_insns.
+ 	(copy_insn_list): Likewise.
+ 	* jump.c (pruge_linie_number_notes): Likewise.
+ 	(duplicate_loop_exit_test): Likewise.
+ 	(delete_computation): Likewise.
+ 	(delete_related_insn): Rename from ...; use delete_insn
+ 	(delete_insn): ... this one.
+ 	(redirect_jump): Use delete_related_insns.
+ 	* loop.c (scan_loop): Likewise.
+ 	(move_movables): Likewise.
+ 	(find_and_verify_loops): Likewise.
+ 	(check_dbra_loop): Likewise.
+ 	* recog.c (peephole2_optimize): Likewise.
+ 	* reg-stack.c (delete_insn_for_stacker): Remove.
+ 	(move_for_stack_reg): Use delete_insn.
+ 	* regmove.c (combine_stack_adjustments_for_block): Likewise.
+ 	* reload1.c (delete_address_reloads): Use delete_related_insns.
+ 	(fixup_abnormal_edges): Use delete_insn.
+ 	* recog.c (emit_delay_sequence): Use delete_related_insns.
+ 	(delete_from-delay_slot): Likewise.
+ 	(delete_scheduled_jump): likewise.
+ 	(optimize_skip): Likewise.
+ 	(try_merge_delay_insns): Likewise.
+ 	(full_simple_delay_slots): Likewise.
+ 	(fill_slots_from_thread): Likewise.
+ 	(relax_delay_slots): Likewise.
+ 	(make_return_insns): Likewise.
+ 	(dbr_schedule): Likewise.
+ 	* rtl.h (delete_insn): Rename to delete_related_insns.
+ 	(delete_insn, delete_insn_chain): New prototypes.
+ 	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
+ 	by df_insn_delete already.
+ 	* ssa-dce.c (delete_insn_bb): Use delete_insn.
+ 	* ssa.c (convert_from_ssa): Use delete_related_insns.
+ 	* unroll.c (unroll_loop): Likewise.
+ 	(calculate_giv_inc): Likewise.
+ 	(copy_loop_body): Likewise.
+ 
+ 	* i386-protos.h (ix86_libcall_value, ix86_function_value,
+ 	ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ 	ix86_return_in_memory, ix86_function_value): Declare.
+ 	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
+ 	new static valurables.
+ 	(x86_64_reg_class): New enum
+ 	(x86_64_reg_class_name): New array.
+ 	(classify_argument, examine_argument, construct_container,
+ 	 merge_classes): New static functions.
+ 	(optimization_options): Enable flag_omit_frame_pointer and disable
+ 	flag_pcc_struct_return on 64bit.
+ 	(ix86_libcall_value, ix86_function_value,
+ 	ix86_function_arg_regno_p, ix86_function_arg_boundary,
+ 	ix86_return_in_memory, ix86_function_value): New global functions.
+ 	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
+ 	(function_arg_advance): Handle x86_64 passing conventions.
+ 	(function_arg): Likewise.
+ 	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
+ 	(RETURN_IN_MEMORY): Move offline.
+ 	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
+ 	(FUNCTION_VALUE_REGNO_P): New macro.
+ 	(FUNCTION_ARG_REGNO_P): Move offline.
+ 	(struct ix86_args): Add maybe_vaarg.
+ 	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
+ 	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
+ 
+ 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* s390.md: Changed attributes for scheduling.
+ 	* s390.c: (s390_adjust_cost, s390_adjust_priority)
+ 	Changed scheduling
+ 
+ 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	Table-driven attributes.
+ 	* c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
+ 	config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
+ 	config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
+ 	config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
+ 	config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
+ 	config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
+ 	doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
+ 	tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
+ 	* tree.h (struct tree_decl): Change machine_attributes to
+ 	attributes.
+ 	* doc/c-tree.texi: Document that all attributes are now attached
+ 	to decls and types.
+ 	* c-common.c (add_attribute, attrtab, attrtab_idx,
+ 	default_valid_lang_attribute, valid_lang_attribute): Remove.
+ 	(attribute_tables, attributes_initialized,
+ 	c_common_attribute_table, default_lang_attribute_table): New
+ 	variables.
+ 	(handle_packed_attribute, handle_nocommon_attribute,
+ 	handle_common_attribute, handle_noreturn_attribute,
+ 	handle_unused_attribute, handle_const_attribute,
+ 	handle_transparent_union_attribute, handle_constructor_attribute,
+ 	handle_destructor_attribute, handle_mode_attribute,
+ 	handle_section_attribute, handle_aligned_attribute,
+ 	handle_weak_attribute, handle_alias_attribute,
+ 	handle_no_instrument_function_attribute,
+ 	handle_no_check_memory_usage_attribute, handle_malloc_attribute,
+ 	handle_no_limit_stack_attribute, handle_pure_attribute): New
+ 	functions.
+ 	(init_attributes, decl_attributes): Rewrite to implement
+ 	table-driven attributes.
+ 	* c-common.h (enum attribute_flags): Move to tree.h.
+ 	* c-format.c (decl_handle_format_attribute,
+ 	decl_handle_format_arg_attribute): Rename to
+ 	handle_format_attribute and handle_format_arg_attribute.  Update
+ 	for table-driven attributes.
+ 	* c-common.h (decl_handle_format_attribute,
+ 	decl_handle_format_arg_attribute): Remove prototypes.
+ 	(handle_format_attribute, handle_format_arg_attribute): Add
+ 	prototypes.
+ 	* c-decl.c (grokdeclarator): Handle attributes nested inside
+ 	declarators.
+ 	* c-parse.in (setattrs, maybe_setattrs): Remove.
+ 	(maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
+ 	Update to handle nested attributes properly.
+ 	(maybe_resetattrs, after_type_declarator,
+ 	parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
+ 	absdcl1_ea, direct_absdcl1): Update to handle nested attributes
+ 	properly.
+ 	(make_pointer_declarator): Update to handle nested attributes
+ 	properly.
+ 	* doc/extend.texi: Update documentation of limits of attributes
+ 	syntax.  Warn about problems with attribute semantics in C++.
+ 	* target.h (struct target): Remove valid_decl_attribute and
+ 	valid_type_attribute.  Add attribute_table and
+ 	function_attribute_inlinable_p.
+ 	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
+ 	TARGET_VALID_TYPE_ATTRIBUTE): Remove.
+ 	(TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
+ 	Add.
+ 	(TARGET_INITIALIZER): Update.
+ 	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
+ 	definition.
+ 	(function_attribute_inlinable_p): New function.  Check for the
+ 	presence of any machine attributes before using
+ 	targetm.function_attribute_inlinable_p.
+ 	(function_cannot_inline_p): Update.
+ 	* Makefile.in (integrate.o): Update dependencies.
+ 	* doc/tm.texi: Update documentation of target attributes and
+ 	example definition of TARGET_VALID_TYPE_ATTRIBUTE.
+ 	* tree.c (default_valid_attribute_p, valid_machine_attribute):
+ 	Remove.
+ 	(default_target_attribute_table,
+ 	default_function_attribute_inlinable_p): New.
+ 	(lookup_attribute): Update comment to clarify handling of multiple
+ 	attributes with the same name.
+ 	(merge_attributes, attribute_list_contained): Allow multiple
+ 	attributes with the same name but different arguments to appear in
+ 	the same attribute list.
+ 	* tree.h (default_valid_attribute_p): Remove prototype.
+ 	(struct attribute_spec): New.
+ 	(default_target_attribute_table): Declare.
+ 	(enum attribute_flags): Move from c-common.h.  Add
+ 	ATTR_FLAG_TYPE_IN_PLACE.
+ 	(default_function_attribute_inlinable_p): Declare.
+ 	* config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(vms_attribute_table): New.
+ 	* config/arc/arc.c (arc_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(arc_attribute_table, arc_handle_interrupt_attribute): New.
+ 	* config/arm/arm.c (arm_valid_type_attribute_p,
+ 	arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
+ 	Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+ 	define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(arm_attribute_table, arm_handle_fndecl_attribute,
+ 	arm_handle_isr_attribute): New.
+ 	* config/avr/avr.c (avr_valid_type_attribute,
+ 	avr_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
+ 	define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(avr_attribute_table, avr_handle_progmem_attribute,
+ 	avr_handle_fndecl_attribute): New.
+ 	* config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(c4x_attribute_table, c4x_handle_fntype_attribute): New.
+ 	* config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(h8300_attribute_table, h8300_handle_fndecl_attribute,
+ 	h8300_handle_eightbit_data_attribute,
+ 	h8300_handle_tiny_data_attribute): New.
+ 	* config/i386/i386-protos.h (ix86_valid_type_attribute_p,
+ 	i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
+ 	Remove prototypes.
+ 	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
+ 	declarations.
+ 	* config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+ 	define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(ix86_attribute_table, ix86_handle_cdecl_attribute,
+ 	ix86_handle_regparm_attribute): New.
+ 	* config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
+ 	i386_pe_valid_type_attribute_p): Remove.
+ 	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
+ 	* config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(ia64_attribute_table): New.
+ 	* config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
+ 	interrupt_ident2, model_ident1, model_ident2): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(init_idents): Update.
+ 	(m32r_attribute_table, m32r_handle_model_attribute): New.
+ 	* config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
+ 	Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
+ 	* config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(mcore_attribute_table, mcore_handle_naked_attribute): New.
+ 	* config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
+ 	* config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
+ 	* config/sh/sh.c (sh_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(sh_attribute_table, sh_handle_interrupt_handler_attribute,
+ 	sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ 	New.
+ 	* config/stormy16/stormy16.c (stormy16_valid_type_attribute):
+ 	Remove.
+ 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(stormy16_attribute_table, stormy16_handle_interrupt_attribute):
+ 	New.
+ 	* config/v850/v850.c (v850_valid_decl_attribute): Remove.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+ 	(TARGET_ATTRIBUTE_TABLE): Define.
+ 	(v850_attribute_table, v850_handle_interrupt_attribute,
+ 	v850_handle_data_area_attribute): New.
+ 	* config/v850/v850-c.c (mark_current_function_as_interrupt):
+ 	Return void.  Call decl_attributes instead of
+ 	valid_machine_attribute.
+ 
+ Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh-protos.h (sh_pr_n_sets): Declare.
+ 	* sh.c (calc_live_regs): If the initial value for PR has been copied,
+ 	look at the copy to determine if PR needs to be saved.
+ 	sh_pr_n_sets: New function.
+ 	* sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
+ 	(ALLOCATE_INITIAL_VALUE): Define.
+ 
+ 	* sh.c (initial_elimination_offset):
+ 	Fix RETURN_ADDRESS_POINTER_REGNUM case.
+ 
+ Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* integrate.c (allocate_initial_values): New function.
+ 	* integrate.h (allocate_initial_values): Declare.
+ 	* local-alloc.c (local_alloc): Move call to allocate_reg_info from
+ 	here...
+ 	* reload1.c (reload): And initialization of reg_equiv_memory_loc
+ 	from here...
+ 	* toplev.c (rest_of_compilation): To here.
+ 	Call allocate_initial_values.
+ 	* tm.texi: add description for ALLOCATE_INITIAL_VALUE.
+ 
+ Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* ggc-page.c (ggc_marked_p): Properly convert return to boolean.
+ 
+ 2001-09-20  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-typeck.c (really_start_incremental_init): Discriminate
+ 	between zero-length arrays and flexible arrays.
+ 	(push_init_level): Detect zero-length arrays and handle them
+ 	like fixed-sized arrays.
+ 	* expr.c (store_constructor): Handle zero-length arrays and
+ 	flexible arrays correctly.
+ 	* doc/extend.texi: Update zero-length array notes.
+ 
+ 2001-09-20  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
+ 	(insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
+ 	for issue port conflicts.
+ 	(cycle_end_fill_slots): TYPE_L instructions take two slots.
+ 
+ 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
+ 	on ia64.
+ 
+ Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (hashtab.h): Include.
+ 	(int_const_binop): Remove FORSIZE arg and compute from type; all
+ 	callers changed.
+ 	Call size_int_type_wide for all single-word constants.
+ 	(size_htab_hash, size_htab_eq): New functions.
+ 	(size_int_type_wide): Rework to use hash table.
+ 	* ggc-common.c (hashtab.h): Include.
+ 	(struct d_htab_root): New struct.
+ 	(d_htab_roots): New variable.
+ 	(ggc_add_deletable_htab, ggc_htab_delete): New functions
+ 	(ggc_mark_roots): Handle deletable htabs.
+ 	* ggc-page.c (ggc_marked_p): New function.
+ 	* ggc-simple.c (ggc_marked_p): Likewise.
+ 	* ggc.h: Reformatting throughout.
+ 	(ggc_marked_p, ggc_add_deletable_htab): New declarations.
+ 	* tree.c (init_obstacks): Make type_hash_table a deletable root.
+ 	(type_hash_add): Allocate struct type_hash from GC memory.
+ 	(mark_hash_entry, mark_type_hash): Deleted.
+ 	(type_hash_marked_p, type_hash_mark): New functions.
+ 	* Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
+ 
+ Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh.c (shiftcosts): Don't use shiftcosts array for modes wider
+ 	than SImode.
+ 
+ Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
+ 	array-too-large test for signed sizetype.
+ 
+ Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (indirect_jump): Allow Pmode operand.
+ 	(tablejump): LIkewise; perform expansion to 64bit mode.
+ 	* i386.c (symbolic_operand): Allow 64bit PIC references.
+ 	(pic_symbolic_operand): Likewise.
+ 	(ix86_find_base_term): Strip the 64bit PIC references.
+ 	(legitimate_pic_address_disp_p): Handle 64bit PIC.
+ 	(legitimize_pic_address): Likewise.
+ 	(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
+ 	* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
+ 
+ 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
+ 
+ 	* stringpool.c (get_identifier_with_length): New function.
+ 	* tree.h (get_identifier_with_length): New prototype.
+ 
+ 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	Revert:
+ 	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
+ 	already sign-extended.
+ 
+ 	* config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
+ 	* config/rs6000/rs6000.c (logical_operand): Always compare op as
+ 	HOST_WIDE_INT.
+ 	(rs6000_emit_set_long_const): Avoid unnecessary shift.
+ 	(output_profile_hook): Declare label_name const.
+ 	* config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
+ 	to match constraints.
+ 
+ 2001-09-19  Stan Shebs  <shebs@apple.com>
+ 
+ 	* alias.c: Fix typos in comments.
+ 	* sched-rgn.c (init_ready_list): Ditto.
+ 	* unwind-dw2.c (uw_frame_state_for): Ditto.
+ 	* unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
+ 	* unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
+ 	* config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
+ 
+ 2001-09-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfg.c (force_nonfallthru_and_redirect): Handle redirecting
+ 	to the exit block.
+ 	* Makefile.in (cfg.o): Depend on TM_P_H.
+ 
+ 2001-09-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (local_symbol_p): Split out from ...
+ 	(local_symbolic_operand): ... here.
+ 	(small_symbolic_operand): Check mode.
+ 	(global_symbolic_operand): New.
+ 	(input_operand): Reject symbolics if explicit relocs.
+ 	(call_operand): Tidy.
+ 	(alpha_legitimize_address): Use movdi_er_high_g.
+ 	(alpha_expand_mov): Likewise.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
+ 	(UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
+ 	(UNSPECV_LDGP2): Remove.
+ 	(all call patterns): Use 's' not 'i' for symbolic constraint.
+ 	(call_osf call_value_osf): Use call_operand.
+ 	(all osf call patterns): Use $gp.  New peepholes for explicit relocs.
+ 	(movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
+ 	(prologue_ldgp_1_er): Remove.
+ 	(ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
+ 	(builtin_setjmp_receiver_er patterns): Use them.
+ 	(exception_receiver_er): Likewise.
+ 
+ 2001-09-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
+ 
+ 	* emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
+ 	and NON_LOCAL_GOTO notes.
+ 	* recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
+ 	copy over CALL_INSN_FUNCTION_USAGE.
+ 
+ 2001-09-18  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
+ 	Define as 0.
+ 
+ 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
+ 
+ 	* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
+ 	new-style tm_file specification.  Specify correct tm_p_file,
+ 	md_file, and out_file for s390x.
+ 
+ 	* config/s390/linux.h, linux64.h:  Don't include other target
+ 	macro header files.  Now handled via tm_file.
+ 
+ 	* config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
+ 	TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
+ 	are defined before use.
+ 
+ Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
+ 	code generation only for Gnu assembler.
+ 
+ 2001-09-18  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/stormy16 (LIB_SPEC): Remove -lnosys.
+ 
+ 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_frame_set): New.
+ 	(mips_emit_frame_related_store): When storing two 32-bit FPRs, use
+ 	a parallel frame-related expression with a set for each register.
+ 
+ 2001-09-18  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
+ 	header files.
+ 
+ 2001-09-17  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
+ 	* config/rs6000/aix.h (FIXED_R2): Define.
+ 	* config/rs6000/darwin.h (FIXED_R2): Define.
+ 	* config/rs6000/sysv4.h (FIXED_R2): Define.
+ 
+ 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* except.c (dw2_build_landing_pads): New local
+ 	clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
+ 	barrier after clobbers.  Fixes c++/4012.
+ 
+ 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
+ 
+ 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* dostage2, dostage3, listing, make-l2.com, makefile.vms,
+ 	patch-apollo-includes, vmsconfig.com: Remove obsolete files.
+ 
+ 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
+ 	alloca/strcpy.
+ 
+ 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_lex_direct): New.
+ 	* cpplex.c (_cpp_lex_token): Update.
+ 	(lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
+ 	and increment that pointer.
+ 	* cppmacro.c (alloc_expansion_token): New.
+ 	(lex_expansion_token): Lex macro expansion directly into
+ 	macro storage.
+ 
+ 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
+ 
+ Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (free_bb_for_insn): Declare.
+ 	* bb-reorder.c (label_for_bb): Use block_label.
+ 	(emit_jump_to_block_after): Remove.
+ 	(insert_intra_1): Do not update block_for_insn.
+ 	(insert_inter_bb_scope_notes): Likewise; update bb->end
+ 	* cfg.c (free_bb_for_insn): New.
+ 	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
+ 	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
+ 	(commit_one_edge_insertion): Likewise.
+ 	(commit_one_edge_insertion): Do not update BB boundary.
+ 	(commit_edge_insertions): Do not call compute_bb_for_insn.
+ 	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
+ 	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
+ 	(merge_blocks_move_successor_nojumps): Likewise.
+ 	(try_crossjump_to_edge): Do not update block_for_insn.
+ 	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
+ 	* df.c (df_pattern_emit_later): Do not update BB boundary.
+ 	(df_jump_pattern_emit_after): Likewise.
+ 	(df_insn_move_before): Use emit_insn_before.
+ 	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
+ 	 properly.
+ 	(add_insn_after, add_insn_before, emit_insns_after): Update BB
+ 	boundaries and basic_block_for_insn.
+ 	(reorder_insns_nobb): Rename from reorder_insns.
+ 	(reorder_insns): New.
+ 	(emit_block_insn_before, emit_block_insn_after): Kill.
+ 	* flow.c (check_function_return_warnings): Do not call
+ 	compute_bb_for_insn; Do not free basic_block_for_insn.
+ 	(attempt_auto_inc): Do not update basic_block_for_insn.
+ 	* function.c (emit_return_into_block): Likewise;
+ 	do not update BB boundaries.
+ 	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
+ 	(insert_insn_end_bb): Use emit_insn_before; Likewise.
+ 	(pre_insert_copy_insn): Likewise.
+ 	(update_ld_motion_notes): Likewise.
+ 	(insert_insn_start_bb): Likewise.
+ 	(replace_store_insn): Likewise.
+ 	* ifcvt.c (noce_process_if_block): Likewise.
+ 	(if_convert): Do not call compute_bb_for_insn.
+ 	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
+ 	Use emit_insn_before and emit_insn_after.
+ 	* recog.c (split_all_insns): Do not update BB boundaries;
+ 	Do not call compute_bb_for_insn.
+ 	(peephole2_optimize): Do not update BB boundaries.
+ 	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
+ 	emit_insn_before.
+ 	(emit_swap_insn): Likewise.
+ 	(convert_regs_1): Likewise.
+ 	* reload1.c (reload): Call compute_bb_for_insn.
+ 	* rtl.h (reorder_insns_nobb): Declare.
+ 	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
+ 	* toplev.c (rest_of_compilation): Call free_bb_for_insn
+ 	at places CFG is invalidated; do not call compute_bb_for_insn.
+ 
+ 	* cfg.c (expunge_block): Invalidate BB structure.
+ 
+ 	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
+ 	array.
+ 
+ 	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
+ 
+ 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_lex_token): Update prototype.
+ 	* cpplex.c (_cpp_lex_token): New prototype.
+ 	* cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
+ 	lex_macro_node, read_flag, do_pragma_poison): Update.
+ 	* cppmacro.c (cpp_get_token, parse_params,
+ 	lex_expansion_token): Update.
+ 
+ 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (scan_translation_unit): Don't worry about
+ 	putting a space after hashes.
+ 	* cpplib.c (directive_diagnostics): New.
+ 	(_cpp_handle_directive): Update to use directive_diagnostics.
+ 	(run_directive): Don't toggle prevent_expansion.
+ 	(do_line): Backup in case of the line extension.
+ 	* cpplib.h (cpp_lexer_pos): Remove.
+ 	* cppmacro.c (_cpp_create_definition): Precede a leading #
+ 	with whitespace.
+ 
+ 2001-09-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (comptypes): Handle zero-length arrays properly.
+ 
+ 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
+ 
+ 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/3571
+ 	* tradcpp.c (handle_directive): Skip non-vertical space.
+ 
+ 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (setup_callbacks): Set line callback only
+ 	if outputting preprocessed source.
+ 
+ 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (main): Const-ification.
+ 	* gcc.c (translate_options, process_command): Use xstrdup in
+ 	lieu of xmalloc/strcpy.
+ 	(main): Use concat in lieu of xmalloc/strcpy/strcat.
+ 
+ 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
+ 	example.
+ 
+ 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* scan-decls.c (scan_decls): Fix typo.
+ 
+ 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
+ 	Split mlstring_pos into mls_line and mls_col.
+ 	* cppinit.c (cpp_create_reader): Initialize line to 1.
+ 	(cpp_destroy): Free tokenruns.
+ 	(push_include): Don't update lexer_pos.
+ 	* cpplex.c (unterminated, parse_string): Update.
+ 	(lex_token): Don't update lexer_pos, update.
+ 	* cpplib.c (if_stack): Save line instead of line + col.
+ 	(start_directive, _cpp_do__Pragma, do_else, do_elif,
+ 	push_conditional, _cpp_pop_buffer): Update.
+ 	* cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
+ 	(_cpp_create_definition): Update.
+ 
+ 2001-09-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/abi64.h: Add support for MEABI.
+ 
+ 2001-09-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md: Add unspec #2.
+ 	(reload_indi): Use.
+ 	(reload_outdi): Ditto.
+ 	(reload_outsi): Ditto.
+ 	(HILO_delay): New.
+ 
+ 2001-09-15  Eric Christopher  <echristo@redhat.com>
+ 	    Jason Eckhardt  <jle@redhat.com>
+ 
+ 	* config.gcc: Add mipsisa32 target and mipsisa32-linux target.
+ 	* config/mips/isa32-linux.h: New file.
+ 	* config/mips/isa3264.h: Ditto.
+ 	* config/mips/mips-protos.h: Add mips_hard_regno_nregs.
+ 	* config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
+ 	(output_block_mode): Support MEABI.
+ 	(function_arg): Ditto. Fix floating point arg passing.
+ 	(mips_va_start): Ditto.
+ 	(override_options): Add isas 32 and 64, meabi, mips32 and mips64
+ 	processors.
+ 	(mips_asm_file_start): Add new section to pass abi to gdb.
+ 	(function_arg_pass_by_reference): Support MEABI.
+ 	(mips_parse_cpu): Support mips32 and mips64 processors.
+ 	* config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
+ 	TARGET_MIPS5KC.  Support isa32 and isa64.
+ 	(processor_type): Add r4kc, r5kc, r20kc.
+ 	(GENERATE_MULT3_SI): New.
+ 	(GENERATE_MULT3_DI): Ditto.
+ 	(GENERATE_MULT3): Remove.
+ 	(ISA_HAS_64BIT_REGS): Add isa == 64.
+ 	(ISA_HAS_8CC): Add mips_isa = 32 and 64.
+ 	(ISA_HAS_MADD_MSUB): New.
+ 	(ISA_HAS_CLZ_CLO): Ditto.
+ 	(ISA_HAS_DCLZ_DCLO): Ditto.
+ 	(ABI_GAS_ASM_SPEC): New.
+ 	(GAS_ASM_SPEC): Use. Add support for mips32, mips64.
+ 	(ASM_SPEC): Ditto.
+ 	(LINK_SPEC): Ditto.
+ 	(SUBTARGET_CC1_SPEC): Ditto.
+ 	(SUBTARGET_CPP_SIZE_SPEC): Ditto.
+ 	(PAD_VARARGS_DOWN): Support MEABI.
+ 	(HARD_REGNO_NREGS): Move to mips.c.
+ 	(ASM_OUTPUT_IDENT): Add #undef.
+ 	* config/mips/mips.md: Add r4kc, r5kc, r20kc.
+ 	(mulsi3): Use GENERATE_MULT3_SI.
+ 	(mulsi3_mult3): Ditto.  Support mips32, mips64.
+ 	(mul_acc_si): Use ISA_HAS_MADD_MSUB.
+ 	(mul_sub_si): New pattern.
+ 	(unnamed splitters): New.
+ 	(muldi3): Use GENERATE_MULT3_DI.
+ 	(muldi3_internal2): Ditto.
+ 	(movdicc): Support mips32.
+ 	* config/mips/t-isa3264: New file.
+ 
+ 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
+ 	|| HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
+ 	|| HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
+ 
+ 	* reorg.c (fill_slots_from_thread): After call to
+ 	steal_delay_list_from_target, update own_thread as new_thread may
+ 	have branched.
+ 
+ 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_location): Take line and column, for
+ 	default positioning use the previously lexed token.
+ 	(_cpp_begin_message): Take line and column.
+ 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+ 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
+ 	* cpphash.h (_cpp_begin_message): Update prototype.
+ 	* cppinit.c (push_include): Don't set output line.
+ 	* cpplex.c (_cpp_lex_token): Callback for start of new output lines.
+ 	* cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
+ 	(do_pragma): Kludge for front ends.  Don't expand macros at all.
+ 	* cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
+ 	(struct cpp_token): Remove output_line.
+ 	(struct cpp_callbacks): New member line_change.
+ 	* cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
+ 	cpp_get_token): Preserve BOL flag.
+ 	(cpp_get_line): Remove.
+ 	(_cpp_backup_tokens): Remove useless abort().
+ 	* cppmain.c (cb_line_change): New.
+ 	(scan_translation_unit): Don't worry about starting new lines here.
+ 	* scan-decls.c (scan_decls): Update.
+ 	* c-lex.c (c_lex, init_c_lex): Update.
+ 	(cb_line_change, src_lineno): New.
+ 
+ Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* tree.c (append_random_chars): Generate the random
+ 	characters in a reproducable fashion.
+ 
+ 2001-09-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (internal_label_prefix): New.
+ 	(internal_label_prefix_len): New.
+ 	(override_options): Set them.
+ 	(local_symbolic_operand): New.
+ 	(legitimate_pic_address_disp_p): Use it.
+ 	(legitimize_pic_address): Likewise.
+ 
+ 2001-09-14  Marc Espie <espie@openbsd.org>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
+ 	correctly.
+ 
+ 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
+ 	* config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
+ 
+ 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* rtlanal.c (subreg_regno_offset): Add semicolon to end of
+ 	invocation of SUBREG_REGNO_OFFSET.
+ 
+ 	* haifa-sched.c: Fix typo in FSF copyright statement.
+ 	* sched-deps.c: Fix typo in FSF copyright statement.
+ 	* sched-ebb.c: Fix typo in FSF copyright statement.
+ 	* sched-rgn.c: Fix typo in FSF copyright statement.
+ 	* sched-vis.c: Fix typo in FSF copyright statement.
+ 
+ 	* config.gcc: Move inclusion of arm elf specific header files
+ 	from the files themselves into the tm_file variable.  Make
+ 	sure that elfos.h is included before target specific elf
+ 	headers.
+ 	* config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
+ 	already defined.
+ 	(ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
+ 	* config/arm.arm.h (TARGET_MEM_FUNCTIONS,
+ 	ASM_OUTPUT_CASE_LABEL): Protect definition.
+ 	(CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
+ 	not already defined.
+ 	* config/arm/conix-elf.h: (USER_LABEL_PREFIX,
+ 	LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
+ 	Remove duplicate definition.
+ 	(READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
+ 	(SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
+ 	(RDATA_SECTION_FUNCTION): Remove redundant definition.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
+ 	Remove inclusion of arm/elf.h.
+ 	* config/arm/unknown-elf.h: as for conix-elf.h.
+ 	(STARTFILE_SPEC): Include crti.o and crtn.o.
+ 	* config/arm/linux-elf.h: as for conix-elf.h.
+ 	* config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
+ 	* config/arm/strongarm-elf.h: Remove inclusion of
+ 	unknown-elf.h.
+ 	* config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
+ 	* config/arm/unknown-elf-oabi.h: Remove inclusion of
+ 	unknown-elf.h and elf.h.
+ 	* config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
+ 	* config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
+ 	ASM_WEAKEN_LABEL): Remove redundant definition.
+ 	* config/arm/elf.h: Test for inclusion of elfos.h
+ 	(USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
+ 	ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
+ 	SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
+ 	EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
+ 	redundant definition.
+ 	(TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
+ 	ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
+ 	ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
+ 	* t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
+ 	Add rules to build crti.o and crtn.o
+ 	* crti.asm: New file.
+ 	* crtn.asm: New file.
+ 
+ 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (_yylex): Use _cpp_backup_tokens.
+ 	* cpphash.h (struct tokenrun): Add prev.
+ 	(struct lexer_state): Remove bol.
+ 	(struct cpp_reader): Remove old lookahead stuff, add lookaheads.
+ 	(_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
+ 	: Remove.
+ 	* cppinit.c (cpp_create_reader): Don't set bol.
+ 	(cpp_destroy): Don't free lookaheads.
+ 	* cpplex.c (lex_directive): Remove.
+ 	(next_tokenrun): Update.
+ 	(_cpp_lex_token): Clean up logic.
+ 	(lex_token): Update to return a pointer to lexed token, since it
+ 	can move to the start of the buffer.  Simpify newline handling.
+ 	* cpplib.c (SEEN_EOL): Update.
+ 	(skip_rest_of_line): Remove lookahead stuff.
+ 	(end_directive): Line numbers are already incremented.  Revert
+ 	to start of lexed token buffer if we can.
+ 	(_cpp_handle_directive, do_pragma, do_pragma_dependency,
+ 	parse_answer): Use _cpp_backup_tokens.
+ 	(run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
+ 	instead.  Don't check for EOL.
+ 	(do_include_common, do_line, do_pragma_system_header): Use
+ 	skip_rest_of_line.
+ 	* cpplib.h (BOL, _cpp_backup_tokens): New.
+ 	* cppmacro.c (save_lookahead_token, take_lookahead_token,
+ 	alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
+ 	cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
+ 	(builtin_macro): Don't use cpp_get_line.
+ 	(cpp_get_line): Short term kludge.
+ 	(parse_arg): Handle directives in arguments here.  Back up when
+ 	appropriate.  Store EOF at end of argument list.
+ 	(funlike_invocation_p): Use _cpp_backup_tokens.
+ 	(push_arg_context): Account for EOF at end of list.
+ 	(cpp_get_token): Remove lookahead stuff.  Update.
+ 
+ 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (yyerror): Const-ification and/or static-ization.
+ 	* c-typeck.c (push_member_name): Likewise.
+ 	* collect2.c (main): Likewise.
+ 	* dbxout.c (dbxout_parms): Likewise.
+ 	* diagnostic.c (format_with_decl): Likewise.
+ 	* dwarf2out.c (output_ranges): Likewise.
+ 	* dwarfout.c (fundamental_type_code): Likewise.
+ 	* except.c (dw2_output_call_site_table): Likewise.
+ 	* gcc.c (do_spec_1): Likewise.
+ 	* genopinit.c (optabs): Likewise.
+ 	* objc/objc-act.c (synth_id_with_class_suffix, start_class,
+ 	gen_declaration_1, handle_impent): Likewise.
+ 	* protoize.c (default_include, in_system_include_dir, abspath):
+ 	Likewise.
+ 	* sched-vis.c (visualize_stall_cycles): Likewise.
+ 	* sdbout.c (plain_type_1, sdbout_end_function,
+ 	sdbout_end_epilogue): Likewise.
+ 	* varasm.c (decode_reg_name): Likewise.
+ 
+ 	* 1750a.c (mod_regno_adjust): Likewise.
+ 	* alpha.c (alpha_write_one_linkage,
+ 	unicosmk_output_default_externs): Likewise.
+ 	* arm.c (arm_condition_codes): Likewise.
+ 	* arm.h (arm_condition_codes): Likewise.
+ 	* avr.c (output_movsisf, encode_section_info): Likewise.
+ 	* darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
+ 	Likewise.
+ 	* i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+ 	* i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+ 	* m88k.c (output_function_profiler): Likewise.
+ 	* mips.c (mips_output_conditional_branch): Likewise.
+ 	* ns32k.c (ns32k_out_reg_names): Likewise.
+ 	* ns32k.h (ns32k_out_reg_names): Likewise.
+ 	* pj.c (pj_output_rval): Likewise.
+ 	* rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
+ 	* sparc.c (sparc_flat_function_prologue,
+ 	sparc_flat_function_epilogue): Likewise.
+ 
+ 2001-09-13  Markus Werle <numerical.simulation@web.de>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
+ 	Aachen University of Technology".
+ 
+ 2001-09-13  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
+ 	C99.
+ 
+ 2001-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (small_symbolic_operand): New.
+ 	(override_options): Set MASK_SMALL_DATA based on pic/PIC.
+ 	(some_operand, input_operand): Don't handle HIGH.
+ 	(alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
+ 	(alpha_expand_mov): Likewise.
+ 	(print_operand) [H]: Just print HIGH symbol.
+ 	(print_operand_address): Handle small data.
+ 	* config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
+ 	(TARGET_SWITCHES): Add -msmall-data/large-data.
+ 	(PIC_OFFSET_TABLE_REGNUM): New.
+ 	(PREFERRED_RELOAD_CLASS): Don't handle HIGH.
+ 	(PREDICATE_COES): Update.
+ 	* config/alpha/alpha.md (adddi_er_high): New.
+ 	(adddi_er_low): Handle small data.
+ 	* config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
+ 	prefer .sdata to .rodata.
+ 	(SELECT_RTX_SECTION): Likewise.
+ 
+ 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
+ 
+ 	* fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
+ 	defining __size_t and leaving size_t undefined.
+ 
+ 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* basic-block.h (expunge_block): Declare.
+ 	* cfg.c (expunge_block): Remove static declaration.
+ 
+ 2001-09-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* integrate.c (copy_insn_list): Copy label name from
+ 	NOTE_INSN_DELETED_LABEL.
+ 
+ 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_tree_code_name): Const-ification.
+ 	* c-decl.c (c_decode_option): Likewise.
+ 	* c-typeck.c (warn_for_assignment): Likewise.
+ 	* collect2.c (libexts, is_ctor_dtor, main, ignore_library):
+ 	Likewise.
+ 	* cppinit.c (output_deps): Likewise.
+ 	* dependence.c (dependence_string, direction_string): Likewise.
+ 	* dwarf2out.c (output_ranges): Likewise.
+ 	* fixinc/fixfixes.c (emit_gnu_type): Likewise.
+ 	* fixinc/gnu-regex.c (re_error_msgid): Likewise.
+ 	* gcc.c (standard_exec_prefix, standard_exec_prefix_1,
+ 	standard_startfile_prefix, standard_startfile_prefix_1,
+ 	standard_startfile_prefix_2, tooldir_base_prefix,
+ 	standard_bindir_prefix, find_a_file): Likewise.
+ 	* genattrtab.c (make_length_attrs): Likewise.
+ 	* gencheck.c (tree_codes): Likewise.
+ 	* genemit.c (gen_split): Likewise.
+ 	* genrecog.c (special_mode_pred_table): Likewise.
+ 	* graph.c (graph_ext): Likewise.
+ 	* protoize (default_include): Likewise.
+ 	* reload.c (reload_when_needed_name): Likewise.
+ 	* sched-vis.c (visualize_stall_cycles): Likewise.
+ 	* tlink.c (recompile_files): Likewise.
+ 	* toplev.c (decode_g_option): Likewise.
+ 	* tradcpp.c (output_deps): Likewise.
+ 	* varasm.c (decode_reg_name): Likewise.
+ 
+ 	* arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
+ 	Const-ification.
+ 	* arm.md: Likewise.
+ 	* avr.c (avr_regnames, encode_section_info): Likewise.
+ 	* c4x.c (float_reg_names): Likewise.
+ 	* darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
+ 	* elfos.h (const_section): Likewise.
+ 	* i386.c (ix86_comp_type_attributes): Likewise.
+ 	* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
+ 	* ia64/aix.h (UNIQUE_SECTION): Likewise.
+ 	* ia64.c (type_names): Likewise.
+ 	* m68hc11.c (reg_class_names): Likewise.
+ 	* m88k.c (m_options): Likewise.
+ 	* mips.c (mips_output_conditional_branch, mips_unique_section):
+ 	Likewise.
+ 	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	* sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
+ 	ultra_code_names): Likewise.
+ 	* sparc.h (OVERRIDE_OPTIONS): Likewise.
+ 
+ 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_shf_merge): Fix a typo.
+ 	Use --fatal-warnings option for gas.
+ 	* configure: Rebuilt.
+ 
+ 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
+ 
+ 2001-09-11  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* alias.c (clear_reg_alias_info): Only handle pseudo registers.
+ 
+ 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* builtins.c (c_strlen): Treat an offset too large for a
+ 	HOST_WIDE_INT as out of range.
+ 
+ Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
+ 	(EDGE_CRITICAL_P): New predicate.
+ 	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
+ 	handling.
+ 	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
+ 	(dump_edge_info): Remove "crit".
+ 	* cfganal.c (mark_critical_edges): Kill.
+ 	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
+ 	* cfgcleanup.c (cleanup_cfg): Likewise.
+ 	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
+ 	(find_spanning_tree): Likewise.
+ 	* reg-stack.c (convert_regs_1): Likewise.
+ 	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
+ 
+ 	* basic-block.h (create_basic_block_structure): New.
+ 	(create_basic_block): Update prototype.
+ 	(force_nonfallthru): New.
+ 	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
+ 	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
+ 	handle updating of block_for_insn, creating of empty BBs and BBs at
+ 	the end of INSN chain.
+ 	(create_basic_block): New function.
+ 	(split_block): Use create_basic_block.
+ 	(force_nonfallthru_and_redirect): Break out from ...; cleanup
+ 	(redirect_edge_and_branch_force): ... here.
+ 	(force_nonfallthru): New.
+ 	(split_edge): Rewrite to use force_nonfallthru and create_block.
+ 	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
+ 	(find_basic_blocks): Free basic_block_for_insn.
+ 	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.
+ 
+ 	* cfg.c: Fix formating.
+ 	* cfgcleanup.c: Fix formating.
+ 	(merge_blocks, tail_recursion_label_p): Return bool.
+ 	(merge_blocks_move_predecessor_nojumps,
+ 	 merge_blocks_move_successor_nojumps): Return void.
+ 
+ 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: Check whether assembler supports section merging.
+ 	* config.in: Rebuilt.
+ 	* configure: Rebuilt.
+ 	* varasm.c (variable_section, output_constant_pool): Pass alignment
+ 	to SELECT_SECTION and SELECT_RTX_SECTION.
+ 	(mergeable_string_section): New.
+ 	(mergeable_constant_section): New.
+ 	(default_elf_asm_named_section): Output SECTION_MERGE and
+ 	SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+ 	* output.h (mergeable_string_section): New.
+ 	(mergeable_constant_section): New.
+ 	(SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
+ 	* toplev.c (flag_merge_constants): New.
+ 	(f_options): Add -fmerge-constants and -fmerge-all-constants
+ 	options.
+ 	(toplev_main): Default to -fno-merge-constants if not optimizing.
+ 	* flags.h (flag_merge_constants): Add extern.
+ 	* invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
+ 	* tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
+ 	argument.
+ 	* config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
+ 	Define if assembler has working .subsection -1 support.
+ 	(SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
+ 	Put constant into special SHF_MERGE sections if the linker should
+ 	attempt to merge duplicates.
+ 	* config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
+ 	macro argument.
+ 	Put constant into special SHF_MERGE sections if the linker should
+ 	attempt to merge duplicates.
+ 	* config/alpha/elf.h: Likewise.
+ 	(ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
+ 	has working .subsection -1 support.
+ 	* config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
+ 	SELECT_SECTION.
+ 	* config/svr3.h: Likewise.
+ 	* config/darwin.h: Likewise.
+ 	* config/arm/aof.h: Likewise.
+ 	* config/arm/linux-elf.h: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/i386/dgux.h: Likewise.
+ 	* config/i386/osfrose.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i386/svr3gas.h: Likewise.
+ 	* config/ia64/aix.h: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m88k/dgux.h: Likewise.
+ 	* config/m88k/m88k.h: Likewise.
+ 	* config/mcore/mcore-pe.h: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/pa/pa-linux.h: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 	* config/rs6000/xcoff.h: Likewise.
+ 	* config/s390/linux.h: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sysv4.h: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* config/vax/vms.h: Likewise.
+ 	* config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
+ 	and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+ 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Use
+ 	default_elf_asm_named_section for SHF_MERGE sections.
+ 
+ Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
+ 	is OK.
+ 
+ 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (split_specs_attrs): Allow for empty attributes with
+ 	empty TREE_PURPOSE.  Fixes PR c/4294.
+ 
+ Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (cached_make_edge, make_single_succ): New.
+ 	(make_edge): Remove first parameter.
+ 	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
+ 	* cfg.c (cached_make_edge): Rename from make_edge; return newly
+ 	created edge; use obstack allocation.
+ 	(make_edge, make_single_succ_edge): New.
+ 	(first_removed_edge): New static variable.
+ 	(init_flow): Initialize first_removed_edge and n_edges.
+ 	(clear_edges): Use remove_edge.
+ 	(flow_delete_block): Likewise.
+ 	(remove_edge): Add removed edges to the removed edges list.
+ 	(split_block, redirect_edge_and_branch_force, split_edge):
+ 	Use make_edge.
+ 	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
+ 	(add_noreturn_fake_exit_edges): Likewise.
+ 	(connect_infinite_loops_to_exit): Liekwise.
+ 	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
+ 	Use cached_make_edge.
+ 	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
+ 	* profile.c (branch_prob): Update make_edge call.
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+ 
+ 2001-09-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c: Tidy formatting.
+ 	(local_symbolic_operand): Verify mode.
+ 	(alpha_sa_mask): Ignore unicos for eh_return.
+ 	(alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
+ 	* config/alpha/alpha.md (umk divsi patterns): Remove.
+ 	(extendsfdf2): Remove unicos check.
+ 	(tablejump): Merge vms and unicos code; always use direct set
+ 	plus label_ref use.
+ 
+ 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* config.gcc (alpha*-*-unicosmk*): New target.
+ 
+ 	* config/alpha/alpha-protos.h (symbolic_operand,
+ 	unicosmk_add_call_info_word, unicosmk_add_extern,
+ 	unicosmk_defer_case_vector, unicosmk_unique_section,
+ 	unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
+ 	unicosmk_asm_file_start, unicosmk_asm_file_end,
+ 	unicosmk_output_common): Declare.
+ 
+ 	* config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
+ 	direct_return, function_arg, alpha_va_start, alpha_va_arg,
+ 	alpha_does_function_need_gp, alpha_end_function): Support Cray
+ 	Unicos/Mk.
+ 	(alpha_init_machine_status, alpha_mark_machine_status,
+ 	alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
+ 	unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
+ 	unicosmk_asm_named_section, unicosmk_insert_attributes,
+ 	unicosmk_section_type_flags, symbolic_operand,
+ 	unicosmk_output_module_name, unicosmk_output_default_externs,
+ 	unicosmk_output_dex, unicosmk_output_externs,
+ 	unicosmk_output_addr_vec, unicosmk_ssib_name,
+ 	unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
+ 	unicosmk_asm_file_end, unicosmk_output_common,
+ 	unicosmk_section_type_flags, unicosmk_unique_section,
+ 	unicosmk_add_call_info_word, unicosmk_text_section,
+ 	unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
+ 	unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
+ 	unicosmk_dex_count, unicosmk_special_name): New.
+ 	(TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
+ 	TARGET_ABI_UNICOSMK.
+ 	(get_aligned_mem, alpha_expand_unaligned_load,
+ 	alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
+ 	alpha_expand_unaligned_store_words): Support big-endian mode.
+ 	(print_operand): Likewise. New format specifier 't'. Use
+ 	TARGET_AS_SLASH_BEFORE_SUFFIX.
+ 	(alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
+ 	(alpha_pv_save_size): Update with above change.
+ 	(alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
+ 	alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
+ 	Unicos/Mk.
+ 
+ 	* config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
+ 	(TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
+ 	(TARGET_AS_SLASH_BEFORE_SUFFIX): New.
+ 	(EXTRA_CONSTRAINT): New constraint 'U'.
+ 	(PREDICATE_CODES): Add symbolic_operand.
+ 
+ 	* config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
+ 	UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
+ 	(mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
+ 	(integer division and modulus patterns): Split in default and
+ 	Unicos/Mk versions.
+ 	(*divmodsi_internal, *divmoddi_internal): Disable for
+ 	TARGET_ABI_UNICOSMK.
+ 	(unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
+ 	little-endian and big-endian versions.
+ 	(ext, ins, msk): Likewise.
+ 	(extv, extzv, insv): Support big-endian mode.
+ 	(call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
+ 	(call_umk, call_value_umk, *call_umk, tablejump_umk,
+ 	*tablejump_umk_internal, *call_value_umk): New.
+ 	(*movdi_nofix): Add pattern for loading an address into a register on
+ 	TARGET_ABI_UNICOSMK.
+ 	(umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
+ 	(umk_mismatch_args, arg_home_umk): New.
+ 	(various insns): Don't use mov, fmov, nop, fnop and unop.
+ 	(realign): Support TARGET_ABI_UNICOSMK.
+ 
+ 	* config/alpha/unicosmk.h: New file.
+ 	* config/alpha/t-unicosmk: New file.
+ 
+ 	* fixinc/inclhack.def (unicosmk_restrict): New.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 	* ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
+ 	(wchar_t): Check for and define __WCHAR_T__.
+ 
+ 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (simplify_shift_const): Treat shifts by the mode
+ 	size as undefined.
+ 
+ 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct tokenrun): New.
+ 	(struct cpp_context): New member bol.
+ 	(struct cpp_reader): New members.
+ 	(_cpp_init_tokenrun): New.
+ 	* cppinit.c (cpp_create_reader): Set up the token runs.
+ 	* cpplex.c (lex_directive, lex_token, next_tokenrun): New.
+ 	(lex_token): New internalised version of _cpp_lex_token.  Don't
+ 	handle directives or the multiple include optimization here any
+ 	more.  Simply lex a token.
+ 	* cpplib.c (run_directive): Clear bol.
+ 	(_cpp_pop_buffer): Set bol.
+ 	* cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
+ 	arguments.
+ 
+ 2001-09-11  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
+ 	give an error if the user uses -mfp32.
+ 	(CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
+ 	default options.
+ 	(CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
+ 	floating point register size.
+ 	(EXTRA_SPECS): Add CPP_FPR_SPEC.
+ 
+ 	* config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
+ 	HOST_WIDE_INT_PRINT_DEC to properly print the result of
+ 	int_size_in_bytes.
+ 	* config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+ 	* config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+ 
+ 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* dbxout.c (dbxout_parms): Fix typo in comment.
+ 	* unroll.c (loop_find_equiv_value): Ditto.
+ 	* toplev.c (rest_of_compilation): Ditto.
+ 	* loop.c (scan_loop): Ditto.
+ 	* dwarf2out.c (struct dw_fde_struct): Ditto.
+ 
+ 2001-09-10  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* cpplex.c (parse_identifier): Fast-path optimize.  Avoid
+ 	copying identifier when we're just going to throw it away.
+ 	(parse_identifier_slow): New routine to handle abnormal cases.
+ 	(_cpp_lex_token): Update call site.
+ 
+ 	* hashtable.c (ht_lookup): Don't assume that the string we've
+ 	been given is NUL-terminated.
+ 	* system.h: #define __builtin_expect(a, b) to (a) if not
+ 	GCC >=3.0.
+ 
+ 2001-09-10  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* config.gcc (sparc64-*-solaris2): Add alias to be compatible with
+ 	binutils, gdb.
+ 
+ 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
+ 
+ Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (c_getstr): Correct thinko in last change and further
+ 	cleanup.
+ 
+ 2001-09-10  Tim Freeman <tim@fungibole.com>
+ 
+ 	* dwarf2out.c (incomplete_types, decl_scope_table): Make them
+ 	into varray's and register them as roots with the garbage
+ 	collector so they are not collected too soon.
+ 
+ Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
+ 	New.
+ 	* basic-block.h (flow_obstack, label_value_list,
+ 	tail_recursion_label_list): Declare
+ 	(tidy_fallthru_edges): Declare.
+ 	(expunge_block, last_loop_beg_note): Delete.
+ 	(can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
+ 	* cfg.c: New file
+ 	(basic_block_for_insn, label_value_list): Move from flow.c; make global.
+ 	(n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
+ 	init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
+ 	flow_delete_insn, flow_delete_insn_chain, create_basic_block,
+ 	expunge_block, flow_delete_block, compute_bb_for_insn,
+ 	update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
+ 	make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
+ 	redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
+ 	try_redirect_by_replacing_jump, last_loop_beg_note,
+ 	redirect_edge_and_branch, redirect_edge_and_branch_force,
+ 	tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
+ 	split_edge, insert_insn_on_edge, commit_one_edge_insertion,
+ 	commit_edge_insertions, dump_flow_info, debug_flow_info,
+ 	dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
+ 	verify_flow_info, purge_dead_edges, purge_all_dead_edges):
+ 	Move here from flow.c
+ 	* cfganal.c: New file.
+ 	(forwarder_block_p, can_fallthru, mark_critical_edges,
+ 	 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
+ 	 find_unreachable_blocks, create_edge_list, free_edge_list,
+ 	 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
+ 	 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
+ 	 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
+ 	 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
+ 	 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
+ 	 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
+ 	Move here from flow.c
+ 	* cfgbuild.c: New file
+ 	(count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
+ 	 make_edges, find_basic_blocks_1, find_basic_blocks,
+ 	 find_sub_basic_blocks): Move here from flow.c
+ 	* cfgcleanup.c: New file.
+ 	(try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
+ 	 merge_blocks_move_predecessor_nojumps,
+ 	 merge_blocks_move_successor_nojumps, merge_blocks,
+ 	 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+ 	 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
+ 	(delete_unreachable_blocks, cleanup_cfg): Likewise; return true
+ 	if succeeded.
+ 	* cfgloop.c: New file
+ 	(flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
+ 	 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
+ 	 flow_loop_exit_edges_find, flow_loop_nodes_find,
+ 	 flow_loop_pre_header_scan, flow_loop_pre_header_find,
+ 	 flow_loop_tree_node_add, flow_loops_tree_build,
+ 	 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
+ 	 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
+ 	Move here from flow.c
+ 	* flow.c: Remove everything moved elsewhere
+ 	* output.h (cleanup_cfg): Return bool.
+ 
+ 	* bb-reorder.c (reorder_block_def): Remove 'index'.
+ 	(insert_intra_1): Add argument BB, set block for new note.
+ 	(make_reorder_chain): Do not depdent on BB indexes.
+ 	(make_reorder_chain_1): Do not use BB indexes.
+ 	(label_for_bb): Likewise; set BB for new insn.
+ 	(emit_jump_to_block_after): Likewise.
+ 	(fixup_reorder_chain): Sanity check that all basic blocks
+ 	are chained; verify newly created insn chain; remove
+ 	undocnitional jump simplifying; Do not use BB indexes;
+ 	properly initialize count and frequency information;
+ 	dump reordered sequence.
+ 	(insert_intra_bb_scope_notes): update call of insert_intra_1.
+ 	(insert_inter_bb_scope_notes): Set block for new insn.
+ 	(reorder_basic_blocks): Dump flow info before reoredering.
+ 
+ Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (clear_reg_alias_info): Use K&R format definition.
+ 	Avoid unsigned warning.
+ 	* builtins.c: Use "unsigned int", not "unsigned".
+ 	(target_char_cast): Use host_integerp and tree_low_cst.
+ 	(expand_builtin_args_info, expand_builtin_frame_address): Likewise.
+ 	(c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
+ 	(c_getstr): Likewise.
+ 	(std_expand_builtin_va_arg): Use int_size_in_bytes.
+ 	(builtin_memcpy_read_str): Avoid unsigned warning.
+ 	(expand_builtin_memcpy): Alignments are unsigned.
+ 	(expand_builtin_strncpy, expand_builtin_memset): Likewise.
+ 	(expand_builtin_expect_jump): Use integer_zerop and integer_onep.
+ 	* predict.c (expensive_function_p): LIMIT now unsigned.
+ 	* resource.c (mark_target_live_regs): Make some vars unsigned.
+ 	* sdbout.c: Use "unsigned int", not "unsigned".
+ 	(MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
+ 	(sdbout_source_line): Likewise.
+ 	(sdbout_record_type_name): Remove "const" for NAME declaration.
+ 	* config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
+ 
+ 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* calls.c (store_one_arg): Expand comment.
+ 
+ 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* calls.c (store_one_arg): Make sure that the entire argument is
+ 	pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
+ 
+ 2001-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (adjust_address): Fix mode for LO_SUM.
+ 
+ Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (combine_givs): Fix computing of benefit once giv is combined.
+ 
+ 2001-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_next_sequence_number): New.
+ 	(alpha_this_literal_sequence_number): New.
+ 	(alpha_this_gpdisp_sequence_number): New.
+ 	(some_operand, input_operand): Add HIGH.
+ 	(local_symbolic_operand): New.
+ 	(alpha_encode_section_info): New.
+ 	(alpha_legitimate_address_p): Allow LO_SUM.
+ 	(alpha_legitimize_address): Generate HIGH+LO_SUM.
+ 	(alpha_expand_mov): Likewise.
+ 	(secondary_reload_class): Check memory_operand not general_operand
+ 	for FP_REGS test.
+ 	(alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
+ 	(alpha_expand_unaligned_store): Likewise.
+ 	(alpha_expand_unaligned_load_words): Likewise.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 	(alpha_expand_block_clear): Likewise.
+ 	(print_operand): Handle %#, %*, %H.
+ 	(print_operand_address): Handle LO_SUM.
+ 	(find_lo_sum): New.
+ 	(alpha_does_function_need_gp): Use it.
+ 	(alpha_expand_block_move): Fix signed compare warnings.
+ 	(alpha_sa_mask, alpha_align_insns): Likewise.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
+ 	(MASK_EXPLICIT_RELOCS): New.
+ 	(TARGET_SWITCHES): Add -mexplicit-relocs.
+ 	(EXTRA_CONSTRAINT): Add 'T'.
+ 	(PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
+ 	(ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
+ 	(ENCODE_SECTION_INFO): Out line.
+ 	(REDO_SECTION_INFO_P): New.
+ 	(STRIP_NAME_ENCODING): New.
+ 	(ASM_OUTPUT_LABELREF): New.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
+ 	call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
+ 	movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
+ 	builtin_setjmp_receiver_er, exception_receiver_1_er,
+ 	call_value_osf_1_er): New patterns.
+ 	(sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
+ 	(movqi, movhi, movsi): Add explicit $31 base register to lda.
+ 	* config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
+ 	(FINAL_PRESCAN_INSN): New.
+ 
+ Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
+ 
+ 2001-09-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* i386.h (TARGET_SWITCHES): Fix description.
+ 
+ 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (num_insns_constant): Compute number of instructions
+ 	more accurately.
+ 
+ 	* doc/install.texi: Explain AIX exception handling work-around.
+ 	Update URL for AIX fixes.
+ 
+ 2001-09-07  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* alias.c (clear_reg_alias_info): New.
+ 	* flow.c (attempt_auto_inc): Call clear_reg_alias_info.
+ 	* rtl.h (clear_reg_alias_info): Declare.
+ 
+ 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
+ 	available.
+ 	(UEMUSHORT): New. Use instead of unsigned EMUSHORT.
+ 	(m16m,edivm,emulm): Change declaration to match definition.
+ 
+ 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
+ 
+ 	* reload.c (push_reload): Check for subreg_lowpart_p instead of
+ 	SUBREG_BYTE being 0 when determining if the inner part of a subreg
+ 	can be reloaded.
+ 
+ 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* c-common.c (signed_or_unsigned_type): Handle machine mode types
+ 	which have no corresponding C type.
+ 	* fold_const.c (target_isinf,target_isnan,target_negative): Update
+ 	the representation of 64-bit doubles to work with 64-bit ints.
+ 
+ 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Do not override ISA when ABI
+ 	specified if MIPS_CPU_STRING_DEFAULT was specified.
+ 
+ 2001-09-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
+ 	(express_from_1): Wrap lines.
+ 	* rtlanal.c (commutative_operand_precedence): Rename from
+ 	operand_preference; export.
+ 	* rtl.h: Declare it.
+ 	* simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
+ 	(simplify_binary_operation): Invoke simplify_plus_minus on
+ 	(CONST (PLUS ...)) as well.
+ 	(struct simplify_plus_minus_op_data): New.
+ 	(simplify_plus_minus_op_data_cmp): New.
+ 	(simplify_plus_minus): Use them.  Avoid infinite recursion with
+ 	simplify_binary_operation wrt CONST.
+ 
+ Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* h8300-protos.h (general_operand_dst_push): Remove.
+ 	* h8300.c (general_operand_dst_push): Likewise.
+ 	* h8300.h (OK_FOR_T): Likewise.
+ 	(EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
+ 	* h8300.md (pushqi_h8300): New.
+ 	(pushqi_h8300hs): Likewise.
+ 	(pushqi): Likewise.
+ 	(pushhi_h8300): Likewise.
+ 	(pushhi_h8300hs): Likewise.
+ 	(pushhi): Likewise.
+ 
+ Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* genattrtab.c (attr_printf): First arg is unsigned.
+ 	Clean up formatting of callers.
+ 
+ 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Allow abi32 with 64 bit
+ 	registers.
+ 
+ 2001-09-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* i386.h (TARGET_SWITCHES): Fix descriptions.
+ 
+ 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
+ 
+ 2001-09-06  Ira Ruben  <ira@apple.com>
+ 
+ 	Remove OP_IDENTIFIER.
+ 	* tree.def (OP_IDENTIFIER): Remove.
+ 	* tree.c (tree_node_kind enum): Remove op_id_kind.
+ 	(tree_node_kind_names): Remove "op_identifiers".
+ 	(make_node): Remove OP_IDENTIFIER test.
+ 	(build_op_identifier): Removed because it isn't being used.
+ 	* print-tree.c (print_node): Remove OP_IDENTIFIER case.
+ 	* cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
+ 
+ 2001-09-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Revert last change.
+ 
+ 2001-09-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Simplify contents
+ 	of CONST.
+ 
+ 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
+ 	number used for CR register.
+ 
+ Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
+ 			  Joern Rennecke (amylaar@cygnus.com)
+ 
+ 	* h8300-protos.h (h8300_return_addr_rtx): New prototype.
+ 	* h8300.c (initial_offset): Handle offset between RP and FP.
+ 	(h8300_return_addr_rtx): New function.
+ 	* h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
+ 	return register.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
+ 	(REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
+ 	(REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
+ 	(CAN_ELIMINATE, REGISTER_NAMES):
+ 	(RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
+ 
+ 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Remove TYPE_NONCOPIED_PARTS.
+ 	* tree.h (TYPE_NONCOPIED_PARTS): Remove.
+ 	(struct tree_type): Remove noncopied_parts.
+ 	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
+ 	* expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
+ 	(fixed_type_p): Remove.
+ 	(expand_expr, INIT_EXPR): Don't deal with noncopied parts.
+ 	(expand_expr, MODIFY_EXPR): Likewise.
+ 	* ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
+ 	* doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
+ 
+ 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
+ 	compiler warnings.
+ 	(mask64_operand): Likewise.
+ 	(includes_rldic_lshift_p): Likewise.
+ 	(includes_rldicr_lshift_p): Likewise.
+ 
+ 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (build_message_expr): If a class method cannot
+ 	be found, do not issue a warning if a corresponding instance
+ 	method exists in the root class.
+ 
+ 2001-09-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
+ 
+ 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* function.c (ggc_mark_struct_function): Mark f->outer.
+ 	* toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
+ 	* integrate.c (output_inline_function): ... not here.
+ 
+ Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
+ 
+ 	* i386.c (size_cost): New static variable.
+ 	(override_function): Use size_cost when -Os is specified.
+ 
+ 	* i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
+ 	properly;  Use current_function_calls_eh_return.
+ 	(ix86_expand_epilogue): Avoid dummy optimize_size tests;
+ 	use leave to avoid dependency chain.
+ 
+ 	* local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
+ 	get BB loop_depth instead of computing it from LOOP notes.
+ 
+ 	* reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
+ 
+ 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	* pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP): Define
+ 
+ 2001-09-05  Jeffrey A Law  (law@cygnus.com)
+ 	    Jason Merrill (jason@redhat.com)
+ 
+ 	* stor-layout.c (layout_type): Complain if an array's size can
+ 	not be represented in a size_t.
+ 
+ 	* config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
+ 
+ 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* gcc.c: (process_command) Add parentheses around assignment
+ 	used as truth value.
+ 
+ 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (save_restore_insns): Don't mark any register
+ 	save slots as unchanging if current_function_calls_eh_return.
+ 
+ 2001-09-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_legitimate_address_p): New.
+ 	* config/alpha/alpha-protos.h: Declare it.
+ 	* config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
+ 	(NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
+ 	(NONSTRICT_REG_OK_FP_BASE_P): Likewise.
+ 	(STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
+ 	(REG_OK_FOR_BASE_P): Select one of the above.
+ 
+ 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
+ 	(crti.o): Prefix name of object file with $(T).
+ 	(crtn.o): Likewise.
+ 
+ 2001-09-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
+ 	* config/sparc/linux64.h: Likewise.
+ 
+ 2001-09-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/invoke.texi (i386 Options): -mwide-multiply is not
+ 	available anymore, remove the documentation.
+ 	(i386 Options): Fix typo, cleanup index entries.
+ 
+ 	* prefix.c (concat): Remove, we can use the version from liberty.
+ 
+ 2001-09-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
+ 	New functions split out of md file expanders.
+ 	* config/alpha/alpha-protos.h: Declare them.
+ 	* config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
+ 
+ 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (funlike_invocation_p): No need to restore context.
+ 
+ 2001-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload.c (push_reload): Export.
+ 	* reload.h (push_reload): Declare it.
+ 
+ 	* config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
+ 	* config/alpha/alpha.c (alpha_legitimize_address): New.
+ 	(alpha_legitimize_reload_address): Likewise.
+ 	* config/alpha/alpha-protos.h: Declare them.
+ 
+ 2001-09-04  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
+ 	* config/darwin.c (machopic_stub_name): Account for internally
+ 	generated lib calls such as memcpy.
+ 
+ 2001-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind.h (_UA_END_OF_STACK): New flag.
+ 	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
+ 
+ Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
+ 
+ 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (save_restore_insns): Change base_offset to
+ 	fp_offset in second call to mips_emit_frame_related_store.
+ 
+ 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
+ 	sometimes be represented as a NOTE of type
+ 	NOTE_INSN_DELETED_LABEL.
+ 	(Insns): Document NOTE_INSN_DELETED_LABEL.
+ 
+ 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.h (tree_dump_index): Add more comments.
+ 	* c-dump.c (dump_files): Name flags `tree' rather than `ast'.
+ 	(dump_option_value_info): New struct.
+ 	(dump_options): New array.
+ 	(dump_switch_p): Parse switch options symbolically.
+ 	* doc/invoke.texi (-fdump-ast): Rename to ...
+ 	(-fdump-tree): ... here. Document that options are symbolic, and
+ 	not all are applicable.
+ 
+ 2001-09-04  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (define_splits): Kill constraints.
+ 
+ 	Cleanup redundant and unused insn attributes.
+ 	* config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
+ 	binary, and move.  Mark ialu as default.
+ 	(commented out define_function_unit "alu"): Kill.
+ 	(define_attr "use_clobbered"): Kill.
+ 	(whole file): Kill address insn type references.  Replace
+ 	all unary/binary/move references with ialu.
+ 	* config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
+ 	references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
+ 	TYPE_IALU.
+ 
+ 	Simplify length insn attribute and make more judicious use
+ 	of insn attribute defaulting.
+ 	* config/sparc/sparc.md (all insns with length > one): Mark as
+ 	insn type multi if real instructions, else use default if
+ 	it is a forced splitter.
+ 	(all insns with length == one): Use default insn length.
+ 	(all insns of type ialu): Use default insn type.
+ 
+ 	Fix erroneous insn attribute settings.
+ 	(addx): Set insn type to misc.
+ 	(mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
+ 	const_umulsidi3_sp64): Set insn type to imul.
+ 
+ 	Track SFmode vs DFmode insns according to UltraSPARC
+ 	scheduling rules.
+ 	* config/sparc/sparc.md ("fptype"): New attribute, default
+ 	to "single".
+ 	(all DFmode single insns): Mark as fptype "double".
+ 
+ 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* loop.c (express_from_1): Fix CONSTANT_P(a) case.
+ 
+ 2001-09-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Add arg_pointer_save_area_init.
+ 	* function.c (expand_function_end): Init arg_pointer_save_area.
+ 	(get_arg_pointer_save_area): Do not init arg_pointer_save_area
+ 	when called from a nested function.
+ 
+ 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
+ 
+ 	* fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
+ 	is enabled.
+ 
+ Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
+ 
+ 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
+ 	(emit_push_insn): Use specified padding direction when
+ 	STACK_PUSH_CODE is POST_INC.
+ 
+ 	* config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
+ 
+ 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
+ 
+ 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_start_read): Free the imacros list as we
+ 	traverse it.  Don't free the chains before returning.
+ 	(_cpp_push_next_buffer): Only try pushing buffers if we've
+ 	completed -imacros handling.
+ 
+ 2001-08-31  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* gcc.c (handle_braces): Add explaination for abort.
+ 
+ 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* expmed.c (store_bit_field): Update to patch from 2001-08-27:
+ 	move adjustment of bitpos instead.
+ 
+ 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* function.c: Remove all_functions.  Make outer_function_chain
+ 	static.
+ 	(init_function_start): Don't add new function structure to
+ 	all_functions.
+ 	(find_function_data, push_function_context_to,
+ 	pop_function_context_from, put_var_into_stack,
+ 	trampoline_address): Update for changed structure element names.
+ 	(push_function_context_to): Disentangle.
+ 	(free_after_compilation): Also free F.
+ 	(expand_dummy_function_end): Don't free cfun here.
+ 	(put_var_into_stack): Comment why we can't use find_function_data here.
+ 	(fix_lexical_addr, trampoline_address, ): Use find_function_data.
+ 	(mark_function_chain): Split into maybe_mark_struct_function and
+ 	ggc_mark_struct_function.  Export the latter.
+ 	(init_function_once): Mark from cfun and outer_function_chain;
+ 	not all_functions.
+ 
+ 	* function.h (struct function): Kill next_global.  Rename next
+ 	to outer.  All users updated to match.
+ 	(all_functions, outer_function_chain): Don't declare.
+ 
+ 	* ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
+ 	* integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
+ 	don't touch f->inlinable, after calling rest_of_compilation.
+ 
+ 	* tree.h: Forward-declare struct function.  Prototype
+ 	ggc_mark_struct_function.
+ 
+ 2001-08-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (*andorhi3): Fix typos.
+ 
+ 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (emit_library_call_value): Don't use a fixed
+ 	argument after VA_CLOSE, i.e. out of scope in traditional C.
+ 
+ 	* emit-rtl.c (gen_rtvec): Likewise.
+ 
+ 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-pragma.o): Depend on output.h.
+ 	(reorg.o): Depend on except.h.
+ 
+ 	* c-pragma.c: Include output.h.
+ 
+ 	* reorg.c: Include except.h.
+ 
+ 	* unwind-dw2.c: Call __builtin_alloca, not alloca.
+ 
+ 2001-08-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-deps.c (add_dependence): Don't elide dependency if the
+ 	conditional used by insn is modified in elem.
+ 
+ 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
+ 
+ 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* c-decl.c (c_decode_option): Skip '-f' prefix before calling
+ 	dump_switch_p.
+ 
+ 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
+ 	function.
+ 	(stormy16_asm_out_constructor): New function.
+ 	(TARGET_ASM_CONSTRUCTOR): Define.
+ 	(TARGET_ASM_DESTRUCTOR): Define.
+ 
+ 2001-08-31  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
+ 	* loop.c (add_label_notes): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* config/sh/sh.c (machine_dependent_reorg): Likewise.
+ 
+ 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
+ 	code here.  Take _Unwind_{W,Sw}ord*.
+ 	(read_encoded_value_with_base): Use them.
+ 	* unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
+ 	words.
+ 	(extract_cie_info): Simplify read_?leb128 handling.
+ 	(execute_stack_op, execute_cfa_program): Likewise.
+ 	* unwind-dw2-fde.c (get_cie_encoding): Likewise.
+ 
+ 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
+ 	the frame pointer to pop the stack if convenient.
+ 
+ 	* config/stormy16/stormy16.c (stormy16_initialize_trampoline):
+ 	Don't use post-increment before combine.
+ 	* config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
+ 	a call-saved register.
+ 
+ 2001-08-31  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* jump.c (mark_jump_label): Revert patch from 2001-08-28, the
+ 	code was correct.
+ 
+ 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
+ 	not DIV/MOD, of course.
+ 
+ 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def: Undo my patch commited 2001-08-27.
+ 
+ 	* genattrtab.c: Ditto.
+ 
+ 	* rtl.h: Ditto.
+ 
+ 	* sched-int.h: Ditto.
+ 
+ 	* target-def.h: Ditto.
+ 
+ 	* target.h: Ditto.
+ 
+ 	* haifa-sched.c: Ditto.
+ 
+ 	* sched-rgn.c: Ditto.
+ 
+ 	* sched-vis.c: Ditto.
+ 
+ 	* Makefile.in: Ditto.
+ 
+ 	* doc/md.texi: Ditto.
+ 
+ 	* doc/tm.texi: Ditto.
+ 
+ 	* doc/contrib.texi: Ditto.
+ 
+ 	* doc/gcc.texi: Ditto.
+ 
+ 	* genattrtab.h: Remove it.
+ 
+ 	* genautomata.c: Remove it.
+ 
+ 	* genattr.c: Undo my patch and Richard Henderson's patch commited
+ 	2001-08-27.
+ 
+ Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* config.gcc (h8300-*-elf*): New case.
+ 	* h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
+ 	(SUBTARGET_CPP_SPEC): Define.
+ 	(EXTRA_SPECS): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	* config/h8300/crti.asm, config/h8300/crtn.asm: New files.
+ 	* config/h8300/elf.h, config/h8300/t-elf: Likewise.
+ 
+ Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
+ 	(LIB2FUNCS_EXTRA): Define.
+ 	config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
+ 	config/h8300/fixunssfsi.c: New file.
+ 
+ 2001-08-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (zero_extendqihi2): Changes to
+ 	define_expand to accommodate target-specific attributes.
+ 	(anonymous zero_extendqihi2 patterns): New.
+ 
+ Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* h8300.md (*andorhi3): New pattern.
+ 
+ Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* h8300.c (dosize): Fix test for "sub".
+ 
+ Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* c-typeck.c (pointer_diff): Try to eliminate common term before
+ 	doing conversions.
+ 
+ 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
+ 	Account for the saves of the FP registers.
+ 
+ 	* config/arm/unknown-elf.h (TEXT_SECTION): Delete.
+ 	(TEXT_SECTION_ASM_OP): Define.
+ 	(INIT_SECTION_ASM_OP): Define.
+ 	(FINI_SECTION_ASM_OP): Define.
+ 	(SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
+ 	(RDATA_SECTION_FUNCTION): Provide prototype.
+ 
+ 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* reload1.c (move2add_note_store): Correct typo checking for
+ 	argument pushes.
+ 
+ 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
+ 	note should not be considered outside the libcall block.
+ 
+ 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	emit_logical_op.
+ 	* config/h8300/h8300.c (emit_logical_op): New.
+ 	* config/h8300/h8300.md (andhi3): Use emit_logical_op.
+ 	(andsi3): Likewise.
+ 	(iorhi3): Likewise.
+ 	(iorsi3): Likewise.
+ 	(xorhi3): Likewise.
+ 	(xorsi3): Likewise.
+ 
+ 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
+ 	comparison with rtx INTVAL.
+ 	(pa_output_function_prologue): Don't mix signed and unsigned in `?'
+ 	expression.
+ 	* pa.h (FUNCTION_ARG_SIZE): Likewise.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/lib1funcs.asm: Update the copyright.  Fix
+ 	comment typos.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (anonymous movhi pattern): Don't move
+ 	(reg n) to (mem (pre_dec (reg n))
+ 	(anonymous movsi pattern): Likewise.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (RETURN_ADDR_RTX): New.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
+ 	several special constants.
+ 
+ 2001-08-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/lib1funcs.asm: Fix comment typos.
+ 
+ 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
+ 	Fix format specifier warnings.
+ 
+ 	* irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
+ 	inet_makeaddr, semctl): Prototype.
+ 
+ 	* mips.c (compute_frame_size): Fix signed/unsigned warnings.
+ 	(save_restore_insns): Use base_offset, not gp_offset.
+ 
+ 	* mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
+ 	(ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 
+ 2001-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (function_tail_eff_head): New.
+ 	(record_effective_endpoints): Set it.
+ 	(fixup_reorder_chain): Use it.
+ 
+ 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
+ 
+ 2001-08-28  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.c (machopic_function_base_name): Add const
+ 	qualifier to a string.
+ 	(darwin_encode_section_info): Ditto.
+ 
+ 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.c (default_valid_attribute_p): Don't use PARAMS on a
+ 	function definition.
+ 
+ 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* df.h (struct df): Add rts_order variable.
+ 
+ 	* df.c (df_visit_next_rts): New function.
+ 	(df_visit_next): Renamed to df_visit_next_rc
+ 	(df_analyse_1): Allocate/compute/free rts_order as well.
+ 	(df_rd_global_compute): Use df_visit_next_rc instead of
+ 	df_visit_next.
+ 	(df_ru_global_compute): Use df_visit_next_rts instead of
+ 	df_visit_next.
+ 
+ 	* flow.c (flow_reverse_top_sort_order_compute): New function.
+ 
+ 	* basic-block.h: Add prototype.
+ 
+ 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
+ 	blocks, the BB_REACHABLE is now set, rather than aux being
+ 	non-NULL. Update the test to reflect this.
+ 
+ 2001-08-28  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/crtn.asm: Add comment explaining 16 byte alignment.
+ 	config/mips/crti.asm: Ditto.
+ 
+ 2001-08-28  Eric Christopher <echristo@redhat.com>
+ 	    Richard Henderson <rth@redhat.com>
+ 
+ 	* c-pragma.h (add_weak): Move prototype from here...
+ 	* output.h (add_weak): ... to here.
+ 	* varasm.c (add_weak): Fix typo.
+ 	* config/mips/crti.asm: New file.
+ 	* config/mips/crtn.asm: Ditto.
+ 	* config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
+ 	(CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
+ 	(INVOKE__main): Ditto.
+ 	(INIT_SECTION_ASM_OP): New.
+ 	(FINI_SECTION_ASM_OP): Ditto.
+ 	(STARTFILE_SPEC): Add crti.
+ 	(ENDFILE_SPEC): Add crtn.
+ 	* config/mips/elf64.h: Same.
+ 	* config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
+ 	Remove.
+ 	* config/mips/vxworks.h: Ditto.
+ 	* config/mips/t-elf: Support crti and crtn.
+ 
+ 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
+ 	INSN_LIST.
+ 
+ 2001-08-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
+ 	(one_cmplbi2 splitter): Remove redundant test.
+ 
+ 2001-08-28  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
+ 
+ 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
+ 
+ 2001-08-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
+ 	(UNALIGNED_SHORT_ASM_OP): Define.
+ 	(UNALIGNED_INT_ASM_OP): Define.
+ 
+ 2001-08-28  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (store_multiple): Correct RTL
+ 	generation for first set.
+ 
+ 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* flow.c (redirect_edge_succ_nodup): Return new edge.
+ 	(try_simplify_condjump): Use new edge.
+ 	* basic-block.h (redirect_edge_succ_nodup): Update prototype.
+ 
+ 	* cse.c (cse_basic_block): Skip note instructions.
+ 
+ 2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Don't reverse condition
+ 	if there is no reverse for the condition.
+ 	(simplify_comparison): Don't simplify subregs from INT to FP.
+ 
+ 	* config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
+ 	suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
+ 	sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
+ 	bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
+ 	bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
+ 	bunle_rev, bunlt_rev, bltgt_rev): New patterns.
+ 
+ 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
+ 	bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
+ 	(pushqi1): New.
+ 	(adddi_dilshr32, adddi_dishl32): Only data register can be
+ 	source for mem destination.
+ 
+ 	* expmed.c (store_bit_field): Ignore adjustment to bitpos
+ 	and use bitnum to decide about register move.
+ 
+ 2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genattr.c (main): Emit state_t even when not doing scheduling.
+ 
+ 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcse.c (reg_first_set, reg_last_set): Replace with ...
+ 	(reg_avail_info, current_bb): ... these.
+ 	(oprs_unchanged_p, record_last_reg_set_info): Use them.
+ 	(compute_hash_table): Likewise.
+ 
+ 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
+ 
+ 	* flow.c (verify_flow_info): Use checksums to verify edges.
+ 
+ 2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genautomata.c (expand_automata): Always create a description.
+ 
+ 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* optabs.c (expand_binop): Correctly handle the carry in multiword
+ 	add/subtract operations.
+ 
+ 2001-08-27  Fred Fish  <fnf@be.com>
+ 
+ 	* ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
+ 	__SIZE_TYPE__.
+ 
+ 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* reload.c (find_reloads_toplev): Back out this change:
+ 
+ 	Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
+ 	mem if the address is a mode_dependent_address_p.
+ 
+ 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+ 
+ 	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
+ 	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
+ 	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
+ 	RTL constructions.
+ 
+ 	* genattr.c (main): New variable num_insn_reservations.  Increase
+ 	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
+ 	pipeline hazard recognizer interface.
+ 
+ 	* genattrtab.h: New file.
+ 
+ 	* genattrtab.c: Include genattrtab.h.
+ 	(attr_printf, check_attr_test, make_internal_attr,
+ 	make_numeric_value): Move protypes into genattrtab.h.  Define them
+ 	as external.
+ 	(num_dfa_decls): New global variable.
+ 	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
+ 	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
+ 	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
+ 	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
+ 
+ 	* genautomata.c: New file.
+ 
+ 	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
+ 
+ 	* sched-int.h: (curr_state): Add the external definition for
+ 	automaton pipeline interface.
+ 	(haifa_insn_data): Add comments for members blockage and units.
+ 
+ 	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
+ 	macros.
+ 	(TARGET_SCHED): Use the new macros.
+ 
+ 	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
+ 	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
+ 	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
+ 	dfa_bubble): New members in gcc_target.sched.
+ 
+ 	* haifa-sched.c (insert_schedule_bubbles_p): New variable.
+ 	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
+ 	(insn_queue): Redefine it as pointer to array.
+ 	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
+ 	INSN_QUEUE_SIZE.
+ 	(max_insn_queue_index_macro_value): New variable.
+ 	(curr_state, dfa_state_size, ready_try): New varaibles for
+ 	automaton interface.
+ 	(ready_element, ready_remove, max_issue): New function prototypes
+ 	for automaton interface.
+ 	(choose_ready): New function prototype.
+ 	(insn_unit, blockage_range): Add comments.
+ 	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
+ 	FUNCTION_UNITS_SIZE == 0.
+ 	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
+ 	actual_hazard, potential_hazard): Add comments.
+ 	(insn_cost): Use cost -1 as undefined value.  Remove
+ 	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
+ 	pipeline interface.
+ 	(ready_element, ready_remove): New functions for automaton
+ 	interface.
+ 	(schedule_insn): Add new code for automaton pipeline interface.
+ 	(queue_to_ready): Add new code for automaton pipeline interface.
+ 	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
+ 	(debug_ready_list): Print newline when the queue is empty.
+ 	(max_issue): New function for automaton pipeline interface.
+ 	(choose_ready): New function.
+ 	(schedule_block): Add new code for automaton pipeline interface.
+ 	Print ready list before scheduling each insn.
+ 	(sched_init): Add new code for automaton pipeline interface.
+ 	Initiate insn cost by -1.
+ 	(sched_finish): Free the current automaton state and finalize
+ 	automaton pipeline interface.
+ 
+ 	* sched-rgn.c: Include target.h.
+ 	(init_ready_list, new_ready, debug_dependencies): Add new code for
+ 	automaton pipeline interface.
+ 
+ 	* sched-vis.c: Include target.h.
+ 	(get_visual_tbl_length): Add code for automaton interface.
+ 	(target_units, print_block_visualization):  Add comments.
+ 
+ 	* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
+ 	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
+ 	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
+ 	(getruntime.o, genautomata.o): New entries.
+ 	(genattrtab.o): Add new dependency file genattrtab.h.
+ 	(genattrtab): Add new dependencies.  Link it with `libm.a'.
+ 	(getruntime.o, hashtab.o): New entries for canadian cross.
+ 
+ 	* doc/md.texi: Description of automaton based model.
+ 
+ 	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
+ 	Add comments.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
+ 	hook descriptions.
+ 	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
+ 	MAX_DFA_ISSUE_RATE): New macro descriptions.
+ 
+ 	* doc/contrib.texi: Add dfa based scheduler contribution.
+ 
+ 	* doc/gcc.texi: Add more information about genattrtab.
+ 
+ 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* flow.c (flow_loop_dump): Do not display insn UIDs if this is not
+ 	an RTL basic block.
+ 
+ 2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (expand_function_end): Don't init arg_pointer_save_area.
+ 	(get_arg_pointer_save_area): New.  Create an init it here.
+ 	(fix_lexical_addr): Use it.
+ 	* function.h: Declare it.
+ 	* builtins.c (expand_builtin_setjmp_receiver): Use it.
+ 	* stmt.c (expand_nl_goto_receiver): Use it.
+ 
+ 2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (final_scan_insn): Don't enter APP_ON mode for
+ 	empty asm strings.
+ 
+ 	* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
+ 	alignment for assemble_integer for DW_EH_PE_aligned.
+ 	* except.c (output_function_exception_table): Likewise.
+ 
+ 2001-08-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-tree.h: Add prototyp for c_sizeof_nowarn.
+ 
+ 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* ssa-ccp.c (ssa_const_prop): Free ssa_edges.
+ 
+ 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (mask_operand): Rewrite without
+ 	bit-shifting loop.
+ 	(mask64_operand): Likewise.
+ 	(rldic_operand): Delete.
+ 	(includes_lshift64_p): Delete.
+ 	(includes_rldic_lshift_p): New function.
+ 	(includes_rldicr_lshift_p): New function.
+ 	(print_operand): Don't call rldic_operand in case 'W'.
+ 	* config/rs6000/rs6000-protos.h (rldic_operand): Remove.
+ 	(includes_lshift64_p): Remove.
+ 	(includes_rldic_lshift_p): Declare.
+ 	(includes_rldicr_lshift_p): Declare.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
+ 	* config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
+ 	Replace match_operand rldic_operand predicate with
+ 	const_int_operand.  Replace includes_lshift64_p condition with
+ 	includes_rldic_lshift_p.
+ 	<ashldi3_internal 64 bit rldicr patterns>: New.
+ 
+ 2001-08-27  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
+ 	* errors.c: Likewise.
+ 	* final.c: Likewise.
+ 	* dwarf2asm.c: Likewise.
+ 	* doprint.c (checkit): Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* c-semantics.c (build_stmt): Likewise.
+ 	* c-format.c (status_warning): Likewise.
+ 	* c-errors.c (pedwarn_c99): Likewise.
+ 	* builtins.c (validate_arglist): Likewise.
+ 	* config/pj/pj.c (pj_printf): Likewise.
+ 	* fix-header.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov.c (fnotice): Likewise.
+ 	* gensupport.c (message_with_line): Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* protoize.c (notice): Likewise.
+ 	* read-rtl.c (fatal_with_file_and_line): Likewise.
+ 	* rtl-error.c: Likewise.
+ 	* tradcpp.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* cp/tree.c (build_min_nt): Likewise.
+ 	(build_min): Likewise.
+ 	* cp/lex.c: Likewise.
+ 	* cp/errfn.c: Likewise.
+ 	* cp/rtti.c (create_pseudo_type_info): Likewise.
+ 
+ Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* df.c (df_uses_record): Return after recording all uses
+ 	in ASM_OPERANDS.
+ 
+ 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* df.c (df_insn_modify): Realloc the INSN table here, if
+ 	necessary, here, too.
+ 
+ 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_function_value): Handle complex return
+ 	values.
+ 
+ 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* reload1.c (reload): Make all entries in reg_equiv_memory_loc
+ 	unshared.
+ 	* reload.c (make_memloc): Copy result if it is still
+ 	reg_equiv_memory_loc[regno] on return.
+ 	(subst_reloads) [ENABLE_CHECKING]: Check that none of
+ 	reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
+ 	reg_equiv_mem are modified by the substitutions.
+ 
+ Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (expensive_function_p): New.
+ 	* rtl.h (expensive_function_p): Declare.
+ 	* i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
+ 	(use_fast_prologue_epilogue): New static variable.
+ 	(expand_prologue): Set it; emit short prologues if unset.
+ 	(expand_epilogue): Likewise.
+ 
+ 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config.gcc: Add stormy16-*-elf case.
+ 	* config/stormy16/stormy-abi: New file.
+ 	* config/stormy16/stormy16-lib2.c: New file.
+ 	* config/stormy16/stormy16-protos.h: New file.
+ 	* config/stormy16/stormy16.c: New file.
+ 	* config/stormy16/stormy16.h: New file.
+ 	* config/stormy16/stormy16.md: New file.
+ 	* config/stormy16/t-stormy16: New file.
+ 
+ Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (no-accumulate-outgoing-args): Use proper mask.
+ 
+ 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
+ 	descriptor members are pointer size, not constant 4.
+ 	* config/rs6000/rs6000.md (define_splits): Remove more unused
+ 	constraints.
+ 
+ 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
+ 
+ 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
+ 
+ 	* cp/rtti.c (VPARAMS): Fix parameter.
+ 
+ 2001-08-24  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
+ 	to zero.
+ 	(mode_for_extraction): No need for #ifdefs.  Add default-case abort
+ 	to switch.
+ 	(store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
+ 	in if controlling use of insv.
+ 	(extract_bit_field): Likewise, for extv and extzv.
+ 
+ Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movcc peep2): Fix load of 0.
+ 
+ 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
+ 	*_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
+ 
+ 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* c-pragma.h: Move weak_syms and weak_decls...
+ 	* varasm.c: ...here.  Now static.
+ 	(declare_weak, weak_finish, remove_from_pending_weak_list): Don't
+ 	depend on HANDLE_PRAGMA_WEAK.
+ 
+ 	* c-common.c (c_alignof, c_alignof_expr): Move here...
+ 	* c-typeck.c: ...from here.
+ 	* c-tree.h, c-common.h: Adjust.
+ 
+ 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/ia64/ia64.c (rws_update): If !pred, set write_count
+ 	instead of incrementing it.
+ 
+ 	* config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
+ 	asm ready, don't try to move them all into the same array element.
+ 
+ Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Avoid
+ 	fallthru flag on edge to exit.
+ 
+ 	* i386.md (trunc?fsi splitter): Conditionionize for non-sse.
+ 
+ 	* flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
+ 	dead edges.
+ 
+ 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
+ 	* config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
+ 	* config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
+ 	Remove prototype.
+ 
+ 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
+ 	replace "GNU CC" with "GCC".
+ 
+ 2001-08-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
+ 	Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
+ 	(ia64_secondary_reload_class): Need GR between AR/BR and anything.
+ 	Need GR between FR and not GR_AND_FR.
+ 	* config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
+ 	* config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
+ 	AR regs before GR regs.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
+ 	(PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
+ 	(REGISTER_MOVE_COST): Update.
+ 	(MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
+ 
+ 2001-08-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regclass.c (init_reg_sets_1): Don't assume cost 2 within
+ 	a register class.
+ 
+ 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* reload1.c (emit_reload_insns): Don't look for notes
+ 	on a NULL store_insn.
+ 
+ 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (uns_small_int): Don't reference a constant >32-bit.
+ 	(addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
+ 	(sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
+ 	format specifier warnings.
+ 	(sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/i386-protos.h: Correct declaration of
+ 	i386_pe_asm_named_section.
+ 
+ 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
+ 	variable i.
+ 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
+ 
+ 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_location): Don't show _Pragma.
+ 	* cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
+ 	and file change callback generation here.
+ 	(stack_include_file): Update use of cpp_push_buffer.
+ 	* cpphash.h (_cpp_pop_file_buffer): Update prototype.
+ 	(struct cpp_buffer): Remove type, pfile members.
+ 	* cppinit.c (cpp_handle_option): Use free_chain.
+ 	* cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
+ 	(skip_escaped_newlines, get_effective_char, lex_percent): Take
+ 	a cpp_reader rather than a cpp_buffer.
+ 	(skip_escaped_newlines, get_effective_char, skip_block_comment,
+ 	skip_line_comment, parse_string, lex_percent, lex_dot,
+ 	_cpp_lex_token): Update accordingly.
+ 	* cpplib.c (_cpp_pop_buffer): Don't do file change callback
+ 	generation here.
+ 	(cpp_push_buffer): Update prototype.
+ 	(run_directive): Update use of cpp_push_buffer.
+ 	(_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
+ 	handle_assertion): Update use of run_directive.
+ 	* cpplib.h (enum cpp_buffer_type): Remove.
+ 	(cpp_push_buffer): Update prototype.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* gcc.c (struct prefix_list): Change prefix to const char *.
+ 
+ 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
+ 
+ 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* explow.c (set_mem_attributes): Avoid returning a bogus alias set
+ 	from a new MEM.
+ 
+ 	* jump.c (squeeze_notes): Take parms by reference.  Handle END being
+ 	a squeezable note.
+ 	* rtl.h: Adjust.
+ 	* ifcvt.c (dead_or_predicable): Adjust.
+ 	* loop.c (find_and_verify_loops): Adjust.
+ 	* stmt.c (expand_end_case): Adjust.
+ 	* flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
+ 	head and end insn pointers in the basic block, not just local copies.
+ 	(merge_blocks_move_predecessor_nojumps): Likewise.
+ 
+ 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
+ 	bitmap.h, builtin-types.def, builtins.c, builtins.def,
+ 	c-aux-info.c, c-common.c, c-common.def, c-common.h,
+ 	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
+ 	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
+ 	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
+ 	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
+ 	conditions.h, config.gcc, configure.frag, configure.in,
+ 	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
+ 	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
+ 	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
+ 	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
+ 	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
+ 	emit-rtl.c, errors.c, errors.h, except.c, except.h,
+ 	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
+ 	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
+ 	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
+ 	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
+ 	gencheck.c, gencodes.c, genconfig.c, genemit.c,
+ 	genextract.c, genflags.c, gengenrtl.c, genmultilib,
+ 	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
+ 	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
+ 	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
+ 	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
+ 	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
+ 	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
+ 	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
+ 	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
+ 	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
+ 	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
+ 	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
+ 	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
+ 	params.h, predict.c, predict.def, predict.h, prefix.c,
+ 	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
+ 	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
+ 	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
+ 	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
+ 	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
+ 	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
+ 	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
+ 	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
+ 	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
+ 	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
+ 	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
+ 	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
+ 	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
+ 	xcoffout.h: replace "GNU CC" with "GCC".
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
+ 	(final_scan_insn): Consider jump tables data even if we have no
+ 	independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
+ 	ADDR_VEC_ALIGN.
+ 	* config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
+ 	(ASM_OUTPUT_CASE_END): Remove.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
+ 	* config/ia64/ia64.md (tablejump): Decode pc-relative references.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
+ 	at barrier insns.  Emit stop bits before barriers.
+ 
+ 	* flow.c (flow_find_cross_jump): Don't consider unconditional
+ 	return insns for commoning.
+ 
+ 	* final.c (compute_alignments): Fix typo.
+ 
+ 	* expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
+ 	(CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
+ 	(store_bit_field): Use mode_for_extraction more places.
+ 	(extract_bit_field): Likewise.
+ 
+ 2001-08-21  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* caller-save.c: Don't include insn-codes.h.
+ 	(reg_save_code, reg_restore_code): Make arrays of int.
+ 	All uses updated to match.
+ 	(insert_save, insert_restore): No need to initialize "code"
+ 	variable upon declaration.
+ 	* Makefile.in: update dependencies; fix typo in clean rule.
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (find_if_block): Allow join_bb as EXIT.
+ 	(merge_if_block): Handle fallout from same.
+ 
+ 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (type_to_class): Fix typo in last change.
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
+ 	ia64_asm_output_label.
+ 
+ 	* config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
+ 	copy of gp while the real gp register contains garbage.
+ 
+ 2001-08-21  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* expmed.c (mode_for_extraction): New function.
+ 	(store_bit_field, extract_bit_field): Use it.
+ 	* expr.h: Prototype it and provide an enum for its first argument.
+ 
+ 	* combine.c, function.c, recog.c: Don't include insn-codes.h.
+ 	Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
+ 	and digging through the insn_data tables.
+ 	* Makefile.in: Update dependencies.
+ 
+ 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): line-map.c now handles include
+ 	depth.
+ 	(handle_missing_handler): Similarly.
+ 	(_cpp_execute_include): Similarly.
+ 	(_cpp_pop_file_buffer): Similarly.
+ 	* cpphash.h (struct cpp_reader): Remove system_include_depth,
+ 	buffer_stack_depth and include_depth.
+ 	* cpplib.c (do_include_common): line-map.c now handles include depth.
+ 	(cpp_push_buffer): Similarly.
+ 	(_cpp_pop_buffer): Similarly.
+ 	* cppmacro.c (builtin_macro): Update.
+ 	* line-map.c (init_line_maps): Set depth.
+ 	(add_line_map): Increment "used" earlier.  Update and use the
+ 	include depth.
+ 	(trace_include): Use the include depth.
+ 	* line-map.h (struct line_maps): New member depth.
+ 
+ 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Don't handle -H here.
+ 	* cppinit.c (cpp_start_read): Set include tracing after
+ 	cpp_post_options and after stacking the main file.
+ 	* line-map.c (trace_include): New.
+ 	(init_line_maps, add_line_map): Update.
+ 	* line-map.h (struct line_maps): New member trace_includes.
+ 
+ 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Harmonize system headerness tests.
+ 	* cppfiles.c (stack_include_file): Only stack a file if there
+ 	is something to do.  Return a boolean indicating whether a
+ 	buffer was stacked or not.
+ 	(_cpp_execute_include): Similarly.
+ 	(_cpp_read_file): Similarly.
+ 	* cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
+ 
+ 2001-08-21  Sam Steingold  <sds@gnu.org>
+ 
+ 	* tradcpp.c (rescan): define obufp_before_macroname before RECACHE
+ 	(RECACHE): keep obufp_before_macroname up to date
+ 
+ 2001-08-21  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* stmt.c: Don't include insn-codes.h.
+ 	(expand_end_case): Machine specific logic moved to expr.c.
+ 	No need to worry about __builtin_classify_type.
+ 	(check_for_full_enumeration_handling, emit_case_nodes):
+ 	Kill #if 0 blocks.
+ 
+ 	* builtins.o (expand_builtin_classify_type): Split up so code
+ 	can be shared with fold_builtin_classify_type.
+ 	(type_to_class, fold_builtin_classify_type): New functions.
+ 	(fold_builtins): Handle __builtin_classify_type.
+ 
+ 	* expr.c (do_tablejump): Now static.
+ 	(case_values_threshold, try_casesi, try_tablejump): New;
+ 	code mostly from stmt.c (expand_end_case).
+ 	(expr.h): Update prototypes.
+ 
+ 	* Makefile.in (stmt.o): Update dependencies.
+ 
+ 2001-08-21  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
+ 	declaration of variable i.
+ 	* configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
+ 	declaration of variable i.
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* crtstuff.c: Fix thinko last change.  Move list tails to start
+ 	of CRT_END section.  Tidy ifdefs.
+ 	(__EH_FRAME_BEGIN__): Always static for ELF.
+ 	(__do_global_ctors_1): Rename from __frame_dummy.
+ 	* config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
+ 	name change; don't hide __EH_FRAME_BEGIN__.
+ 
+ 2001-08-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gdbinit.in: Move break on exit after break on fancy_abort.
+ 
+ 	* config/ia64/ia64.c (ia64_return_in_memory): True for variable
+ 	sized types.
+ 
+ 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_push_next_buffer): New.
+ 	* cppinit.c (do_includes): Remove.
+ 	(push_include, free_chain, _cpp_push_next_buffer): New.
+ 	(cpp_start_read): Use them to rework command line option handling.
+ 	(cpp_handle_option): Combine handling of -include and -imacros.
+ 	* cpplex.c (_cpp_lex_token): Push a new -include buffer if
+ 	appropriate.  Always insert missing \n at EOF.
+ 	* cpplib.c (start_directive): Get the directive position right.
+ 	* cppmain.c (cb_file_change): Always print the first line, unless
+ 	preprocessed.
+ 
+ 2001-08-20  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* profile.c (compute_branch_probabilities): Remove extra new-line
+ 	in error message.
+ 	* flow.c (verify_flow_info): Likewise.
+ 
+ 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* basic-block.h (basic_block): Add new field 'flags'.
+ 	(BB_REACHABLE): Define.
+ 	(expunge_block): Declare.
+ 	* flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
+ 	(EXIT_BLOCK_PTR): Ditto.
+ 	(expunge_block): Remove static declaration.
+ 	(cleanup_cfg): Clear bb->aux on every basic block.
+ 	(find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
+ 	computing reachability.
+ 	(delete_unreachable_blocks): Delete block b if b->flags has
+ 	BB_REACHABLE unset.
+ 
+ 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
+ 
+ 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (sparc_variable_issue): Fix typo in last change.
+ 
+ 2001-08-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
+ 
+ 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (RETURN_IN_MEMORY): Improve comment.
+ 
+ 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/invoke.texi (Profiling options): Clarify the interactions
+ 	between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
+ 
+ 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* crtstuff.c (__do_global_ctors): Fix typo in preprocessing
+ 	command.
+ 
+ 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* gcc.c (make_relative_prefix): Allocate a sufficiently large
+ 	buffer.
+ 
+ 2001-08-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (end_final): Fix typo last change.
+ 
+ 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (init_standard_includes): The returned buffer
+ 	is already malloc-ed.
+ 	* gcc.c (add_prefix): Similarly.
+ 	* prefix.c (translate_name): Update to support clear buffer
+ 	ownership rules.
+ 	(update_path): Similarly.  Be sure to free any newly allocated
+ 	key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
+ 	(tr): New function.
+ 	* prefix.h (update_path): Update prototype and document.
+ 	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
+ 	up and update to new buffer ownership rules.
+ 	* doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
+ 
+ Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (compute_alignments): New function.
+ 	(init_insn_lengths): Do not care label_align.
+ 	(LABEL_ALIGN_AFTER_BARRIER): Default to 1.
+ 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
+ 	(JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
+ 	(shorted_branches): Realloc label_align array; do
+ 	not call init_insn_lengths; Do not care about loop alignments.
+ 	* output.h (compute_alignments): Declare.
+ 	* toplev.c (rest_of_compilation): Call compute_alignments.
+ 	* tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
+ 
+ 	* predict.c (block_info_def): Add npredecesors, remove nvisited;
+ 	change visited to tovisit.
+ 	(propagate_freq): Use faster traversing algorithm.
+ 	(estimate_loops_at_level, estimate_bb_frequencies): Change visited
+ 	to tovisit; reverse meaning.
+ 
+ 	* predict.c (struct block_info_def): Remove nvisited.
+ 	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
+ 	(estimate_bb_frequencies): Call mark_dfs_back_edges.
+ 
+ 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/invoke.texi (MIPS Options): Document -mfused-madd.
+ 	* config/mips/mips.h (MASK_NO_FUSED_MADD): New.
+ 	(TARGET_FUSED_MADD): New.
+ 	(TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
+ 	* config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
+ 	the multiply-add instructions.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
+ 	is aligned to pointer size.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
+ 	display markers during final schedule.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
+ 	in the same string.
+ 	(ASM_NAME_TO_STRING): Remove.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
+ 	in the same string.  Remove support for expressions.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (tablejump): Make an expander; handle
+ 	pic relative addressing here.
+ 	(tablejump_1): Rename from tablejump_pic.
+ 	(casesi): Remove.
+ 
+ 2001-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regclass.c (fix_register): Fix typo.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (UNW_REG_B0): New.
+ 	(struct _Unwind_Context): Expand br_loc to hold it.
+ 	(uw_frame_state_for): Handle leaf functions better.
+ 	(uw_update_reg_address): Update for br_loc change.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* crtstuff.c: Move list heads before code that uses them.
+ 	(__JCR_LIST__): Remove initial null.
+ 	(frame_dummy, __frame_dummy): Do java registration here ...
+ 	(__do_global_ctors_aux): ... not here.
+ 
+ 	* config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
+ 	(__do_global_dtors_aux): Update to match.
+ 	(__JCR_LIST__, __do_jv_register_classes): New.
+ 	(.init): Call it.
+ 	* config/ia64/crtend.asm (__JCR_END__): New.
+ 	(__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
+ 	instead of an indirect LTOFF22 reloc.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
+ 	* regclass.c (init_reg_sets_1): Fix typo.
+ 	* config/ia64/ia64.c (ar_pfs_reg_operand): New.
+ 	(ia64_expand_call): Pass ar.pfs to sibcall expanders.
+ 	(ia64_compute_frame_size): Make ar.unat live when in use.
+ 	(ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
+ 	for ar.pfs; remove ar.unat handling.
+ 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
+ 	call-saved.
+ 	(PREDICATE_CODES): Add ar_pfs_reg_operand.
+ 	* config/ia64/ia64-protos.h: Update decls.
+ 	* config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
+ 	(sibcall_pic): Likewise.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
+ 	pred_rel_mutex when searching for insn_group_barrier.
+ 	* config/ia64/ia64.md (cycle_display): Combine the expander
+ 	and insn patterns.
+ 
+ 	* config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
+ 	bit before asm as needed.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* timevar.def (TV_MACH_DEP): New.
+ 	* toplev.c (rest_of_compilation): Use it.
+ 	* config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
+ 
+ 2001-08-18  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* unwind-dw2.c (execute_stack_op): Add default aborts to
+ 	the inner switches to prevent warnings.
+ 
+ 2001-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* timevar.h (struct timevar_time_def): Change element type to float.
+ 	(ticks_to_msec, clocks_to_msec): Likewise.
+ 	(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
+ 	(get_time): Likewise.
+ 	(timevar_print): Adjust zero check and printing to match.
+ 
+ 2001-08-18  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
+ 	Eliminate overfull or underfull hboxes.
+ 
+ 2001-08-18  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
+ 
+ 2001-08-18  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* haifa-sched.c: Convert to target hooks.  Macros replaced
+ 	are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
+ 	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
+ 	MD_SCHED_FINISH, and HAVE_cycle_display.
+ 	* target-def.h (TARGET_SCHED_ADJUST_COST,
+ 	TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
+ 	TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
+ 	TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
+ 	TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
+ 	New hook #defines to be overridden.
+ 	(TARGET_SCHED): Bring them all together.
+ 	(TARGET_INITIALIZER): Update.
+ 	* target.h: Don't forward declare struct rtx_def.  Use 'rtx'
+ 	instead of 'struct rtx_def *' throughout.
+ 	(struct sched): New set of hooks for the scheduler.
+ 	* Makefile.in (haifa-sched.o): Depend on target.h.
+ 	* doc/tm.texi: Document the new scheduler hooks, together in
+ 	their own section, instead of scattered around.
+ 	Fix a bunch of underfull/overfull hboxes.
+ 
+ 	* a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
+ 	ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
+ 	sparc.h: Don't define any of the old scheduler macros.
+ 
+ 	* a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
+ 	ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
+ 	sparc.c: Create hook functions from code extracted from
+ 	corresponding target header, or make existing hooks static, as
+ 	appropriate.  Set the appropriate entries in targetm.
+ 
+ 	* alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
+ 	i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
+ 	rs6000-protos.h, s390-protos.h, sparc-protos.h:
+ 	Remove prototypes for functions which are now static.
+ 
+ 	* d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
+ 	related gunk; the Haifa scheduler is now the only choice.
+ 
+ 2001-08-18  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* optabs.h (OTI_flodiv, flodiv_optab): Kill.
+ 	* genopinit.c: Put floating point divide insns in sdiv_optab.
+ 	* expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
+ 	* config/gofast.h, config/c4x/c4x.h,
+ 	config/ia64/hpux_longdouble.h, config/mips/mips.h,
+ 	config/pa/long_double.h, config/rs6000/sysv4.h,
+ 	config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
+ 	* optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
+ 	(init_optabs): Use init_optabv for overflow-trapping optabs.
+ 	Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
+ 	cmp_optab RTX codes so have_insn_for can find them.
+ 
+ 	* optabs.c (expand_simple_binop, expand_simple_unop,
+ 	have_insn_for, gen_sub3_insn): New interfaces.
+ 	* expr.h: Prototype new functions.
+ 	(enum optab_methods): Move here from optabs.h.
+ 
+ 	* builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
+ 	loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
+ 	Use new	functions instead of working directly with optabs.
+ 	* doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
+ 	unroll.c: Don't include optabs.h.
+ 	* caller-save.c, combine.c, function.c, stmt.c: Just include
+ 	insn-codes.h, not optabs.h.
+ 	* Makefile.in: Update dependencies.
+ 
+ 	* combine.c (make_compound_operation, simplify_comparison):
+ 	Fix typos testing for this or that instruction.
+ 
+ 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
+ 	generating libgcc.a.
+ 
+ 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* except.c (TYPE_HASH): Delete.
+ 
+ 	* objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
+ 	HOST_WIDE_INT.
+ 
+ 	* tree.c (TYPE_HASH): Delete.
+ 
+ 	* tree.h (TYPE_HASH): Define.
+ 
+ 2001-08-18  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
+ 	define_split.
+ 	(adddi3_internal_2+2): Likewise.
+ 	(eh_set_lr_di+1): Likewise.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
+ 	* dwarf2asm.c: ... here.
+ 	* dwarfout.c: Remove them.
+ 
+ 	* varasm.c (assemble_integer): Add align parameter.
+ 	(assemble_real, output_constant, output_constructor): Likewise.
+ 	* output.h: Update decls.
+ 	* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
+ 	config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
+ 	config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
+ 	config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
+ 	Update all callers.
+ 
+ 	* final.c (end_final): Abort profile block generation if we
+ 	haven't layed it out properly.
+ 	* output.h (assemble_eh_integer): Remove stale decl.
+ 	* varasm.c (assemble_zeros): Tidy; use assemble_integer.
+ 	(min_align): New.
+ 	(assemble_integer): Handle unaligned data.
+ 	(assemble_real): Abort on unaligned data.
+ 	(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
+ 	anything useful.
+ 	(default_dtor_section_asm_out_destructor): Use assemble_align.
+ 	(default_named_section_asm_out_constructor): Likewise.
+ 	(default_ctor_section_asm_out_constructor): Likewise.
+ 	* config/darwin.c (machopic_asm_out_constructor): Likewise.
+ 	(machopic_asm_out_destructor): Likewise.
+ 	* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
+ 	(nextstep_asm_out_destructor): Likewise.
+ 	* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
+ 	(vms_asm_out_destructor): Likewise.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/iris6.h (TARGET_IRIX6): New.
+ 	(current_section_name, current_section_flags): New.
+ 	(ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
+ 	(MAX_OFILE_ALIGNMENT): New.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
+ 	* config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
+ 	(copy_file_data): Split out from
+ 	(mips_asm_file_end): ... here.
+ 	(mips_asm_file_start): Remove extra .section directive.  Use
+ 	tmpfile instead of mips_make_temp_file.
+ 	(mips_unique_section): Use const char * as needed for warnings.
+ 	(iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
+ 	re-add align parameter.
+ 	(iris6_asm_named_section): New.
+ 	(iris_section_align_entry_eq, iris_section_align_entry_hash): New.
+ 	(iris6_asm_output_align, iris6_section_align_1): New.
+ 	(iris6_asm_file_start, iris6_asm_file_end): New.
+ 	* config/mips/mips-protos.h: Update decls.
+ 
+ 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Install GCC): Add links to build status pages.
+ 	(Specific): Ditto.
+ 	(Final install): Ditto; request updates for specific info
+ 
+ 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_location):  Don't take a file name; use the
+ 	line map instead.
+ 	(_cpp_begin_message): Similarly.
+ 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+ 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
+ 	(cpp_pedwarn_with_file_and_line): Remove.
+ 	* cppfiles.c (stack_include_file): Update; set filename to stdin
+ 	here when appropriate.
+ 	* cpphash.h (struct cpp_buffer): Remove nominal_fname.
+ 	(_cpp_begin_message): Don't take a file name.
+ 	* cppinit.c: Add comment.
+ 	* cpplex.c: Fix end-of-directive indicator.
+ 	* cpplib.c: Don't include intl.h.
+ 	(run_directive, do_diagnostic): Update.
+ 	(do_line): Update to not use nominal_fname.
+ 	(cpp_push_buffer): Don't take a filename.
+ 	* cpplib.h (struct ht): Remove.
+ 	(cpp_push_buffer): Don't take a filename.
+ 	(cpp_pedwarn_with_file_and_line): Remove.
+ 	* cppmacro.c (struct cpp_macro): Remove file.
+ 	(builtin_macro): Update.
+ 	(_cpp_create_definition): Update.
+ 	* cppmain.c: Correct comment.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2001-08-17  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* sbitmap.c: Fix comment formatting.
+ 	* sched-deps.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* timevar.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* unwind-dw2.c: Likewise.
+ 	* unwind-dw2-fde.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
+ 	or larger than an integer in memory.
+ 
+ 2001-08-17  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* system.h: Forward-declare struct rtx_def, struct rtvec_def,
+ 	and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
+ 	* rtl.h: Don't forward-declare union tree_node here.  Don't
+ 	typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
+ 	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
+ 	and tree respectively.
+ 	* tree.h: Don't forward-declare struct rtx_def here.  Don't
+ 	typedef tree here.  Change all uses of struct rtx_def *,
+ 	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
+ 	and tree respectively.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
+ 	config/mips/openbsd.h: Fix typos last change.
+ 
+ 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/invoke.texi (Optimize Options): The default for
+ 	-finline-limit is 600.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (text_section): Allow TEXT_SECTION to override the
+ 	printing of TEXT_SECTION_ASM_OP.
+ 	* dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
+ 	(DATA_SECTION, BSS_SECTION): Remove.
+ 	* dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
+ 	RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
+ 	Rename from s/_NAME//.
+ 	* config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
+ 	(ASM_DECLARE_FUNCTION_NAME): Move file switching ...
+ 	(TEXT_SECTION): ... here.  New.
+ 	* config/mips/elf.h (TEXT_SECTION): New; no file switching.
+ 	* config/mips/elf64.h, config/mips/netbsd.h: Likewise.
+ 	* config/mips/openbsd.h: Likewise.
+ 	* config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
+ 	(mips_asm_file_end): Likewise test.
+ 	(mips_output_function_epilogue): Likewise.  Switch back to data
+ 	section after emitting the function.
+ 
+ 	* doc/tm.texi (Sections): Document TEXT_SECTION.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
+ 	(dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
+ 
+ 2001-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
+ 	* crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
+ 	__JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
+ 	Add aligned attribute.
+ 
+ 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/sh/sh.md: Add modes to unspecs in first insn to match
+ 	those in the second.
+ 
+ 	* Makefile.in: Fix collect2 copy for Cygwin.
+ 
+ Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Install the proper patch.
+ 	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
+ 	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
+ 	(expand_function_start): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* varasm.c (make_decl_rtx): Likewise.
+ 
+ Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c: Undo my previous accidental checkin.
+ 	* output.h: Likewise.
+ 	* tm.texi: Likewise.
+ 
+ 2001-08-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (named_section_flags): Remove align parameter.
+ 	* varasm.c, dwarf2out.c: Update all callers.
+ 	* output.h: Update prototypes.
+ 
+ 	* target.h (target.asm_out.named_section): Remove align parameter.
+ 	* varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
+ 	config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
+ 	config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
+ 	config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
+ 	config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
+ 
+ 	* varasm.c (in_named_entry_eq, in_named_entry_hash): New.
+ 	(get_named_section_flags, set_named_section_flags): New.
+ 	(named_section_flags): Use them.
+ 	(named_section): Do decl vs section flags check here...
+ 	(default_section_type_flags): ... not here.
+ 	(init_varasm_once): Create in_named_htab.
+ 	(resolve_unique_section): Mark reloc unused.
+ 
+ 2001-08-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (force_const_mem): Keep pool alignment in bits.
+ 	(output_constant_pool): Use assemble_align.
+ 
+ 2001-08-16  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* doc/tm.texi: Remove extra @table command.
+ 
+ 2001-08-16  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* final.c (shorten_branches): Clear the end of the label_align
+ 	array only if we made it larger.  Break up messy expressions
+ 	for clarity.
+ 
+ 	* diagnostic.c (internal_error): Check for error recursion
+ 	before doing ICE suppression.
+ 
+ 	* timevar.c: Timing variables now count in milliseconds.
+ 	(init_timevar): Set up ticks_to_msec and clocks_to_msec here.
+ 	(get_time): Not here.
+ 	(timevar_print): Don't print any timer whose user, cpu, and
+ 	wall times are all zero as displayed.
+ 	* timevar.h: Update comment aboout units.  Make timevar
+ 	counters unsigned.
+ 
+ Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
+ 	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
+ 	(expand_function_start): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* varasm.c (make_decl_rtx): Likewise.
+ 
+ 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
+ 	(finalize_record_size): Don't set TYPE_USER_ALIGN.
+ 
+ 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
+ 	variables.
+ 
+ 2001-08-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
+ 	prototype.
+ 
+ Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtl.h (only_sets_cc0_p): New prototype.
+ 	* jump.c (sets_cc0_p): Handle INSN.
+ 	(only_sets_cc0_p): New function.
+ 	* flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
+ 	(tidy_fallthru_edge): Likewise.
+ 	* integrate.c (copy_insn_list): Likewise.
+ 	* unroll.c (unroll_loop): Likewise.
+ 	(copy_loop_body): Likewise.
+ 
+ 2001-08-15  Jason Eckhardt  <jle@redhat.com>
+ 
+ 	* config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
+ 
+ Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (struct block_info_def): Remove nvisited.
+ 	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
+ 	(estimate_bb_frequencies): Call mark_dfs_back_edges.
+ 
+ 	* i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
+ 	(ix86_adjust_cost): Teach scheduler that latency to load operand can
+ 	be masked.
+ 
+ Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def: Update hitrates.
+ 
+ 2001-08-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
+ 
+ Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
+ 	note from its associated jump.
+ 
+ 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
+ 	also on 64-bit s390x targets.
+ 
+ 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_compute_initial_elimination_offset): New
+ 	function.
+ 	(arm_expand_prologue): Handled nested functions which take a
+ 	variable argument list.
+ 	* config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
+ 	macro with an invocation of
+ 	arm_compute_initial_elimination_offset.
+ 	* config/arm/arm-protos.h: Prototype
+ 	arm_compute_initial_elimination_offset.
+ 
+ 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific, avr): Fix markup.
+ 	(Specific, c4x): Ditto.
+ 
+ 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* predict.c (dump_prediction): Change `bool' parameter to `int'.
+ 
+ 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS): Add rtl-error.o
+ 	(rtl-error.o): New rule.
+ 	(diagnostic.o): Adjust dependency.
+ 	diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
+ 	error_for_asm, _fatal_insn, _fatal_insn_not_found,
+ 	warning_for_asm): Move to...
+ 	rtl-error.c: ...here.  New file.
+ 
+ 2001-08-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
+ 	if USING_SJLJ_EXCEPTIONS.
+ 
+ 2001-08-14  Steve Ellcey <sje@cup.hp.com>
+ 
+ 	* tlink.c (scan_linker_output): Check string for unsatisfied in
+ 	addition to undefined and unresolved.
+ 
+ 2001-08-14  Graham Stott  <grahams@redhat.com>
+ 
+ 	* libgcc2.c (*): Replace EH_FRAME_SECTION with
+ 	EH_FRAME_SECTION_NAME.
+ 
+ Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genattrtab.c (simplify_test_exp_in_temp): New function.
+ 	(simplify_test_exp): Avoid explicit use of temporary obstack.
+ 	(simplify_cond, insert_right_side, evaluate_eq_attr,
+ 	simplify_and_tree, simplify_or_tree, eliminate_known_true):
+ 	Use simplify_test_exp_in_temp.
+ 	(optimize_attrs): Iterate until expression stabilizes.
+ 
+ 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
+ 
+ 	* glimits.h: Remove the __LONG_MAX__ special case for s390x.
+ 	* config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
+ 
+ 2001-08-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
+ 	(DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
+ 	* config/arm/conix-elf.h: Likewise.
+ 
+ 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
+ 	in gcc.c.
+ 	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.
+ 
+ 	* gcse.c (hash_scan_set): Expressions that are set as part of
+ 	jump instructions are not available.
+ 
+ 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (print_operand, s390_function_prologue,
+ 	s390_va_start): Fixed HOST_WIDE_INT type mismatch.
+ 
+ 2001-08-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
+ 	* defaults.h (EH_FRAME_SECTION_NAME): Respect it.
+ 	* doc/tm.texi (Exception Region Output): Document it.
+ 
+ 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
+ 	DWARF2 instead of stabs by default.
+ 
+ 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c: Include optabs.h.
+ 
+ 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/eabi.asm: Define 64-bit versions of FPR
+ 	save/restore routines.
+ 	* ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
+ 
+ 2001-08-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
+ 	the english is correct.
+ 
+ 2001-08-13  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* expr.h: Split out optab- and libfunc-related code to...
+ 	* optabs.h, libfuncs.h: ... these new headers.
+ 
+ 	* Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
+ 	(OPTABS_H): New.
+ 	(various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
+ 	dependencies.
+ 	* mkconfig.sh: Don't include insn-codes.h from config.h.
+ 
+ 	* reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
+ 	enum insn_code is available.  Move reload_in_optab and
+ 	reload_out_optab array declarations to optabs.h.
+ 	* regmove.c (gen_add3_insn): Move to optabs.c, export from
+ 	there, prototype in expr.h.
+ 	* gencodes.c: Cleanup: zap global variables, don't use
+ 	printf where puts will do, don't bother defining MAX_INSN_CODE
+ 	which nothing uses, let CODE_FOR_nothing get its value implicitly.
+ 
+ 	* genemit.c, genopinit.c: Include optabs.h in generated file.
+ 	* genoutput.c: Include insn-codes.h in generated file.
+ 	* builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
+ 	expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
+ 	reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
+ 	config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
+ 	config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
+ 	config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
+ 	Include optabs.h.
+ 	* builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
+ 	optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
+ 	config/m88k/m88k.c, config/sparc/sparc.c:
+ 	Include libfuncs.h.
+ 	* reload.c: Include expr.h and optabs.h before reload.h.
+ 	* config/alpha/alpha.c: Include tree.h before reload.h.
+ 	* config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
+ 	and reload.h in that order.
+ 	* config/sparc/sparc.c: Include debug.h.
+ 	* recog.c: Include insn-codes.h.
+ 
+ 2001-08-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
+ 	s390*linux.
+ 
+ 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* dwarf2out.c (output_cfa_loc): Fix typo in comment.
+ 	* gcc.c (init_spec): Fix typo in comment.
+ 	* varasm.c (data_section): Fix typo in comment.
+ 
+ Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (dump_prediction): New argument "USED".
+ 	(combine_predictions_for_insn): Determine the used heuristics,
+ 	output the case no heuristic applied.
+ 	* predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
+ 
+ 2001-08-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
+ 	register %rip.
+ 
+ 2001-08-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* jump.c: Fix formatting.
+ 
+ 2001-08-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (zero_extendqihi2): Correct the insn
+ 	length.
+ 
+ 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* loop.c (check_dbra_loop): Use condjump_label to compute
+ 	jump_label.
+ 
+ 	* rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
+ 	to better document the files they're in.
+ 
+ 2001-08-12  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* recog.h (struct insn_operand_data): Shrink 'mode' field
+ 	to 16 bits.
+ 
+ 2001-08-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* gcc.c: Fix comment formatting.
+ 	* gccspec.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* global.c: Likewise.
+ 	* graph.c: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* lcm.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* mbchar.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* predict.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* rtl.c: Likewise.
+ 
+ 2001-08-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
+ 	a tree representing a constant is passed to the macro.
+ 
+ 2001-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
+ 	(rs6000_elf_asm_out_destructor): New.
+ 	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
+ 	(DTORS_SECTION_ASM_OP): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	(ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
+ 
+ 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	Revert:
+ 	2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 	* gcc.c (set_collect_gcc_options): New function, split out from
+ 	main.
+ 	Ignore elided switches.
+ 	(do_spec_1): Invoke before executing command.
+ 	(set_input): Export.
+ 	Move declaration ...
+ 	* gcc.h (set_input): ... here.
+ 	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
+ 	file.
+ 
+ 2001-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
+ 	thinko wrt TARGET_RELOCATABLE.
+ 
+ 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* fix-header.c (cb_file_change): Update prototype.
+ 
+ 2001-08-11  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* toplev.c (set_float_handler): Make static.
+ 	* toplev.h: Don't prototype set_float_handler.
+ 
+ 	* simplify-rtx.c: Don't include setjmp.h.
+ 	(simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
+ 	New functions.
+ 	(simplify_unary_operation, simplify_binary_operation): Use them,
+ 	via do_float_handler.
+ 
+ 	* fold-const.c: Don't include setjmp.h.
+ 	(exact_real_inverse_1): New function.
+ 	(exact_real_inverse): Use it, via do_float_handler.
+ 
+ 	* varasm.c: Don't include setjmp.h.
+ 	(assemble_real_1): New function.
+ 	(assemble_real): Use it, via do_float_handler.
+ 	Call internal_error if we get a trap here.
+ 
+ 	* c-parse.in, cse.c, cselib.c, config/i386/i386.c,
+ 	config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
+ 
+ 2001-08-11  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* defaults.h: Define PREFERRED_STACK_BOUNDARY to
+ 	STACK_BOUNDARY if not already defined.
+ 
+ 	* calls.c, function.c, reload1.c, explow.c: Don't default
+ 	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
+ 	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
+ 
+ 	* explow.c (allocate_dynamic_stack_space): Change unsafe #if
+ 	to run-time test.
+ 
+ 	* doc/tm.texi: Document that STACK_BOUNDARY is required;
+ 	clarify difference between it and PREFERRED_STACK_BOUNDARY.
+ 
+ 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (enter_macro_context): Push macro expansions even
+ 	if empty.
+ 
+ 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.c: Include integrate.h to silence warning.
+ 	(rs6000_elf_section_type_flags): Actually return a value.
+ 
+ 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
+ 	Clean up code: add missing comments and prototypes, fix warnings,
+ 	remove obsolete code, fix spacing to conform to coding style.
+ 
+ 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
+ 	and TARGET_ASM_CLOSE_PAREN.
+ 	(regclass_map): CC register belongs to class NO_REGS.
+ 	(legitimize_pic_address): Don't generate unnecessary moves
+ 	(to avoid confusing loop optimization).
+ 	(check_and_change_labels): Replace jump_long by indirect_jump.
+ 	(s390_final_chunkify): Don't start a new literal pool on section
+ 	switch in 64-bit code.
+ 	(s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
+ 
+ 	* config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
+ 	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
+ 	(HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
+ 	modes correctly.
+ 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
+ 	(EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
+ 	(CONST_COSTS): Fixed incorrect costs.
+ 
+ 	* config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
+ 	Use emit_jump instead of emit_jump_insn (gen_jump).
+ 	(divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
+ 	(to avoid confusing flow analysis).
+ 	(tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
+ 	(casesi, casesi_jump): New.
+ 	(jump_long): Removed.  Functionality merged into indirect_jump.
+ 	(indirect_jump): Accept address_operand, not just register_operand.
+ 	(cjump_long, icjump_long): Use same logic as indirect_jump.
+ 	(builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
+ 	Fixed broken setjmp/longjmp handling.
+ 	(do_builtin_setjmp_setup): Removed.
+ 
+ 	* config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
+ 	broken GNU as versions that don't accept .quad with large
+ 	negative values.  Use hexadecimal output instead.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
+ 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
+ 	FUNCTION_EPILOGUE): Removed.  Now in targetm.
+ 
+ 	* config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
+ 
+ 	* config/s390/fixdfdi.h: Add missing copyright statement.
+ 	Fix type conflicts on 64-bit.  Add missing SFmode routines.
+ 
+ 	* s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
+ 	email address.
+ 
+ 2001-08-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (REG_EH_RETHROW): Remove.
+ 	* rtl.c (reg_note_name): Update.
+ 	* combine.c (distribute_notes): Don't check for it.
+ 
+ 2001-08-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Place REG_SETJMP.
+ 
+ 2001-08-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (Arrays and pointers implementation): Discourage
+ 	relying on sign-extension of pointers.
+ 
+ 2001-08-11  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
+ 	in_dtors.
+ 	(EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
+ 	RDATA_SECTION_ASM_OP.
+ 
+ 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific, c4x): Fix cross-reference to the
+ 	main manual to work both for info and HTML versions.
+ 
+ 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Matt Kraai <kraai@alumni.carnegiemellon.edu>
+ 
+ 	* cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
+ 	* cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
+ 	(struct cpp_pool): New member first.
+ 	* cppinit.c (append_include_chain): Plug memory leaks.
+ 	* cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
+ 	Allocate pragma structures from the (aligned) macro pool to
+ 	avoid leaking memory.
+ 	* cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
+ 	so we don't leak memory.
+ 	* hashtable.c (ht_destroy): New.
+ 	* hashtable.h (ht_destroy): New.
+ 
+ 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* c-lex.c (map): Make const.
+ 	(cb_file_change): Update for callback passing a line map.
+ 	Don't assume we have a previous map.  Remove sanity check
+ 	about popping too many files.
+ 	* cpperror.c (print_location): Make map const.
+ 	* cppfiles.c (stack_include_file): Update; line maps now hold sysp.
+ 	(cpp_make_system_header): Similarly.
+ 	(search_from): Similarly.
+ 	(_cpp_execute_include): Don't remember where we came from.
+ 	* cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
+ 	(struct cpp_reader): Make map const.
+ 	(CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
+ 	* cpplib.c (do_line): Update; line maps now hold sysp.
+ 	(cpp_push_buffer): Similarly.
+ 	(_cpp_do_file_change): Similarly; callback with map instead.
+ 	(cpp_get_line_maps): Constify return value.
+ 	(_cpp_pop_buffer): Update.
+ 	* cpplib.h (struct cpp_file_change): Remove.
+ 	(struct cpp_callbacks): Update.
+ 	(cpp_get_line_maps): Constify return value.
+ 	* cppmacro.c (_cpp_create_definition): Update.
+ 	* cppmain.c (struct printer): Constify map.
+ 	(maybe_print_line): Similarly.
+ 	(print_line): Similarly.  Deduce flags 1 and 2 here.
+ 	(cb_file_change): Update.
+ 	* line-map.c (free_line_maps): Warn regardless.
+ 	(add_line_map): Return pointer to const.  When passed NULL to_file
+ 	with LC_LEAVE, use the obvious values for the return point so the
+ 	caller doesn't have to figure them out.
+ 	(lookup_line): Return pointer to const.
+ 	(print_containing_files): Take pointer to const.
+ 	* line-map.h (struct line_map): New members reason, sysp.
+ 	(add_line_map): Return pointer to const.
+ 	(lookup_line): Similarly.
+ 	(print_containing_files): Take pointer to const.
+ 
+ 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* regmove.c (regmove_optimize): Avoid setting a register twice in
+ 	a parallel set.
+ 
+ 2001-08-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (Arrays and pointers implementation): Document
+ 	behavior of pointer/integer conversion.
+ 
+ 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
+ 
+ 2001-08-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (C Implementation): New chapter.
+ 	* doc/gcc.texi (Top): Link it in.
+ 
+ 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* doc/install.texi (Specific): Fix CVS merge botch.
+ 
+ 2001-08-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
+ 	ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
+ 
+ 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
+ 	if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
+ 	this macro is now required.
+ 
+ 	* cselib.c (cselib_process_insn), flow.c (propagate_block),
+ 	loop.c (find_and_verify_loops), reload.c (reload): Check
+ 	for rtx code of CALL_INSN, not CALL, when deciding if we
+ 	need to check for REG_SETJMP note.
+ 
+ 	* gcse.c (compute_hash_table, compute_store_table): Update
+ 	the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
+ 	logic.
+ 
+ 	* config/avr/avr.c: Fix typo.
+ 	* config/convex/convex.c (expand_movstr): Use adjust_address.
+ 	* config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
+ 	variable.
+ 	* config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
+ 	* config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
+ 	Fix typo.
+ 	* config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
+ 	Do define STACK_BOUNDARY.
+ 	* config/i370/i370.c: Include expr.h.
+ 	* config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
+ 	config/pa/som.h, config/v850/v850.h: Take in_ctors and
+ 	in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
+ 	and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
+ 	* config/m88k/m88k.c: Include c-tree.h after expr.h.
+ 	* config/pdp11/pdp11.c: Include expr.h and toplev.h.
+ 	* config/romp/romp.c: Include expr.h after tree.h.
+ 	Include toplev.h.
+ 	(output_fpop): Use xmalloc, not oballoc.
+ 	* config/we32k/we32k.c: Include expr.h.
+ 
+ 2001-08-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.
+ 
+ 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* c-common.h (RETURN_NULLIFIED_P): Lose.
+ 	* c-semantics.c (genrtl_return_stmt): Don't check it.
+ 
+ 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_add_large_offset_to_sp): New function.
+ 	(mips_annotate_frame_insn): New function.
+ 	(mips_emit_frame_related_store): New function.
+ 	(save_restore_insns): Don't mark instructions that set up the base
+ 	registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
+ 	the store instructions instead.
+ 	(mips_expand_prologue): If the stack size is moved into a temporary
+ 	register, do not mark that move as frame-related.  Add a
+ 	REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
+ 
+ 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (save_restore_insns): Don't mark the RA's
+ 	stack slot as unchanging if current_function_calls_eh_return.
+ 
+ 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
+ 	access the second half of the TFmode scratch operand.
+ 
+ 2001-08-10  Anthony Green  <green@redhat.com>
+ 
+ 	* java/class.c (emit_register_classes): Conditionalize code on
+ 	JCR_SECTION_NAME.
+ 
+ 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific, avr): Fix cross-reference to the
+ 	main manual to work both for info and HTML versions.
+ 
+ 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* stmt.c (expand_null_return_1): Remove code to generate simple returns
+ 	and "use_goto" argument.
+ 	(expand_null_return, expand_value_return): Update all callers.
+ 	* function.c (expand_function_end): Remove code to generate simple
+ 	return.
+ 	* config/vax/vax.md (epilogue): New expander for function return.
+ 	* doc/md.texi (epilogue): Remove "if defined".
+ 
+ 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in: Partially revert my previous change:
+ 	put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
+ 	of the hashtab.o and safe-ctype.o rules.
+ 
+ 2001-08-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
+ 	(USE_COLLECT2): Remove duplicate definition.
+ 	* config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
+ 	(use_collect2): Remove dead code.
+ 	* configure.in (use_collect2): Remove will_use_collect2 and
+ 	maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
+ 	* configure: Rebuild.
+ 
+ 	* target.h (targetm.asm_out.constructor): New.
+ 	(targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
+ 	* target-def.h (TARGET_ASM_CONSTRUCTOR): New.
+ 	(TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
+ 	* varasm.c (in_ctors, in_dtors): New.
+ 	(assemble_constructor, assemble_destructor): Remove.
+ 	(default_stabs_asm_out_destructor): New.
+ 	(default_named_section_asm_out_destructor): New.
+ 	(dtors_section, default_dtor_section_asm_out_destructor): New.
+ 	(default_stabs_asm_out_constructor): New.
+ 	(default_named_section_asm_out_constructor): New.
+ 	(ctors_section, default_ctor_section_asm_out_constructor): New.
+ 	* output.h: Update declarations.
+ 	* c-decl.c (c_expand_body): Use target hooks instead of
+ 	assemble_constructor and assemble_destructor.
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 	* objc/objc-act.c (finish_objc): Likewise.
+ 	(build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
+ 	for the constructor.
+ 	* objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
+ 
+ 	* crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
+ 	(DTORS_SECTION_ASM_OP): Likewise.
+ 	(__CTOR_LIST__): Use attribute section when possible.
+ 	(__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
+ 
+ 	* defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
+ 	ASM_OUTPUT_CONSTRUCTOR.
+ 
+ 	* config/darwin.c (machopic_asm_out_constructor): New.
+ 	(machopic_asm_out_destructor): New.
+ 	* config/darwin-protos.h: Update declarations.
+ 	* config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	* config/nextstep.c (nextstep_asm_out_constructor): New.
+ 	(nextstep_asm_out_destructor): New.
+ 	* config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	* config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
+ 	ASM_OUTPUT_*STRUCTOR.
+ 	* config/i386/aix386ng.h: Likewise.
+ 
+ 	* config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
+ 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
+ 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	* config/lynx.h: Likewise.
+ 	* config/netware.h: Likewise.
+ 	* config/psos.h: Likewise.
+ 	* config/alpha/alpha-interix.h: Likewise.
+ 	* config/alpha/elf.h: Likewise.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/arm/aof.h: Likewise.
+ 	* config/arm/coff.h: Likewise.
+ 	* config/arm/elf.h: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/i386/cygwin.h: Likewise.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/i386-coff.h: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i386/vsta.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 	* config/i960/i960-coff.h: Likewise.
+ 	* config/ia64/sysv4.h: Likewise.
+ 	* config/m68hc11/m68hc11.h: Likewise.
+ 	* config/m68k/coff.h: Likewise.
+ 	* config/m68k/mot3300.h: Likewise.
+ 	* config/m88k/m88k.h: Likewise.
+ 	* config/mcore/mcore-pe.h: Likewise.
+ 	* config/mcore/mcore.h: Likewise.
+ 	* config/mips/elf.h: Likewise.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/iris6.h: Likewise.
+ 	* config/pa/pa64-hpux.h: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sparc/litecoff.h: Likewise.
+ 
+ 	* config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
+ 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	* config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	* config/a29k/a29k.c: Move include of tree.h.
+ 	* config/a29k/udi.h: Delete file.
+ 	* config/alpha/alpha.c (vms_asm_out_constructor): New.
+ 	(vms_asm_out_destructor): New.
+ 	* config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
+ 	(EXTRA_SECTION_FUNCTIONS): Likewise.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	* config/c4x/c4x.c: Move include of tree.h.
+ 	* config/clipper/clipper.c (clix_asm_out_constructor): New.
+ 	(clix_asm_out_destructor): New.
+ 	* config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	* config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR): New.
+ 	* config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
+ 	(sco_asm_out_constructor): New.
+ 	* config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
+ 	* config/i386/svr3gas.h: Remove stack grows up code.
+ 	Remove code duplicated from i386/sysv3.h.
+ 	(TARGET_ASM_CONSTRUCTOR): New.
+ 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
+ 	* config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR): New.
+ 	* config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
+ 	(m68hc11_asm_out_destructor): New.
+ 	* config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
+ 	(TARGET_ASM_DESTRUCTOR): New.
+ 	* config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
+ 	* config/m68k/dpx2.h: Properly undef all the bits inherited from
+ 	config/svr3.h pertaining to section manipulation.
+ 	* config/m68k/dpx2g.h: Remove #if 0 code.
+ 	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
+ 	* config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR): New.
+ 	* config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
+ 	(m88k_svr3_asm_out_constructor): New.
+ 	(m88k_svr3_asm_out_destructor): New.
+ 	* config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	* config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
+ 	* config/rs6000/aix.h: Likewise.
+ 	* config/mips/rtems64.h: Don't undef removed constructor related bits.
+ 	* config/mips/vxworks.h: Likewise.
+ 	* config/rs6000/lynx.h: Likewise.
+ 	* config/sh/elf.h: Likewise.
+ 	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
+ 	(DTORS_SECTION_ASM_OP): New.
+ 	* config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	* config/sparc/sol2-sld-64.h: Likewise.
+ 	* config/vax/vax.c (vms_asm_out_constructor): New.
+ 	(vms_asm_out_destructor): New.
+ 	* config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 
+ 	* doc/tm.texi (@node Initialization): Update.
+ 
+ 2001-08-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/crtbegin.asm (__JCR_LIST__): New.
+ 	(__do_global_dtors_aux): Use gp-relative static data to avoid
+ 	one dynamic relocation.
+ 	(__do_frame_setup): Register Java classes.
+ 	* config/alpha/crtend.asm (__JCR_END__): New.
+ 
+ 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
+ 	(CONFIG_H, TCONFIG_H, TM_P_H): Update.
+ 	(GEN, STAGESTUFF): Add new files.
+ 	(insn-constants.h, s-constants, tm-preds.h, s-preds,
+ 	genconstants, genpreds, genconstants.o, genpreds.o): New rules.
+ 	(hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
+ 	* mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
+ 	as well as insn-codes.h and insn-flags.h in config.h; and no
+ 	extra headers in tconfig.h and hconfig.h.
+ 
+ 	* gencodes.c: Eliminate code to generate predicate declarations
+ 	or #defines for md-file constants.
+ 	* genconstants.c, genpreds.c: New files.
+ 
+ 	* i386.md: Re-order guard expressions such that TARGET_64BIT
+ 	comes first, when this permits better optimization.  Add
+ 	TARGET_64BIT to more x86-64 patterns.  Add comment explaining
+ 	why this is desirable.
+ 
+ 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
+ 	(find_fde_for_dso): Remove.
+ 	(_Unwind_IteratePhdrCallback): New.
+ 	(_Unwind_FindTableEntry): Use dl_iterate_phdr.
+ 	* config/ia64/crtbegin.asm (__ia64_app_header): Remove.
+ 
+ Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
+ 	(move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
+ 
+ 2001-08-09  Graham Stott  <grahams@redhat.com>
+ 
+ 	* sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
+ 	(vis_no_unit): Use it.
+ 	(visualize_no_unit): Add the insn only if room exists.
+ 
+ 2001-08-09  Graham Stott  <grahams@redhat.com>
+ 
+ 	* predict.c (estimate_probability): Replace magic numbers with
+ 	appropriate enumeration.
+ 
+ 2001-08-09  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
+ 	parameter.
+ 	(EXTRACT_FLAGS): Likewise.
+ 
+ 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.c	(mips_legitimate_address_p): Check for
+ 	CONST_INT in last patch.
+ 
+ 2001-08-08  Anthony Green  <green@redhat.com>
+ 
+ 	* java/class.c (emit_register_classes): Use assemble_jcr if
+ 	possible.  Keep the original mechanism as a fallback.
+ 	* defaults.h (JCR_SECTION_NAME): Define if we have named section
+ 	and weak symbol support.
+ 	* crtstuff.c (__JCR_LIST__): Define.
+ 	(__JCR_END__): Define.
+ 	(_Jv_RegiserClasses): Define weak symbol if possible.
+ 	(__do_global_ctors_aux): Register classes for ELF targets with
+ 	weak symbol support.
+ 
+ 2001-08-08  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* dbxout.c: Fix comment formatting.
+ 	* dependence.c: Likewise.
+ 	* df.c: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* doprint.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* except.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 
+ 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* global.c (retry_global_alloc): Avoid shadowing allocno.
+ 
+ 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.c (remove_fixup_regions): Fix typo.
+ 
+ 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
+ 
+ 	* emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
+ 	unsigned HOST_WIDE_INT to avoid warning.
+ 	* final.c (final): Cast INSN_UID to unsigned to avoid warning.
+ 	* flow.c (set_block_for_new_insns): Likewise.
+ 
+ Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sibcall.c (return_value_pseudo): New static variable.
+ 	(skip_copy_to_return_value): Handle return_value_pseudo.
+ 	(call_ends_block_p): Ensure that return_value_pseudo is set.
+ 	(optimize_sibling_and_tail_recursive_call): Discover the
+ 	load of pseudo return value in alternate exit block.
+ 
+ Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (ECF_ALWAYS_RETURN): New constant.
+ 	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
+ 	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
+ 	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
+ 	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
+ 	* rtl.c (reg_note_name): New name.
+ 	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
+ 
+ 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
+ 
+ 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* alias.c (get_alias_set): Return a previously calculated
+ 	alias set for a VAR_DECL.
+ 	* function.c (gen_mem_addressof): Calculate the alias set before
+ 	touching the RTL.
+ 
+ Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def: Set hitrates according our experimental run.
+ 
+ Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (HARD_REGNO_RENAME_OK): New macro.
+ 
+ 2001-08-08  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/mips.c (mips_unique_section): New. Copied from
+ 	config/mips/elf.h.
+ 
+ 	* config/mips/mips-protos.h (mips_unique_section): New
+ 	prototype.
+ 
+ 	* config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
+ 
+ 	* config/mips/little.h: New. Generic little endian mips
+ 	targets. Only mips*-*-linux* is converted to use it so far.
+ 
+ 	* config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
+ 	(WCHAR_TYPE): Defined
+ 	(WCHAR_TYPE_SIZE): Likewise.
+ 	(INIT_SUBTARGET_OPTABS): Likewise.
+ 	(BSS_SECTION_ASM_OP): Likewise.
+ 	(SBSS_SECTION_ASM_OP): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	(ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(UNIQUE_SECTION): Likewise.
+ 	(EXTRA_SECTIONS): Likewise.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
+ 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
+ 	(ASM_OUTPUT_DEF): Likewise.
+ 	(HANDLE_SYSV_PRAGMA): Removed.
+ 	(NO_IMPLICIT_EXTERN_C): Likewise.
+ 	(TARGET_MEM_FUNCTIONS): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 	(ENDFILE_SPEC): Likewise.
+ 	(LIB_SPEC): Likewise.
+ 	(INVOKE__main): Likewise.
+ 	(CTOR_LIST_BEGIN): Likewise.
+ 	(CTOR_LIST_END): Likewise.
+ 	(DTOR_LIST_BEGIN): Likewise.
+ 	(DTOR_LIST_END): Likewise.
+ 	(SET_ASM_OP): Likewise.
+ 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	(ASM_OUTPUT_DEF): Likewise.
+ 	(ASM_OUTPUT_IDENT): Likewise.
+ 
+ 	* config/mips/mips.h (ASM_SPEC): Undefine before define.
+ 	(CPLUSPLUS_CPP_SPEC): Likewise.
+ 	(ASM_APP_ON) Redefine only if not defined.
+ 	(ASM_APP_OFF): Likewise.
+ 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	(ASM_OUTPUT_IDENT): Likewise.
+ 
+ 	* config.gcc: Update tm_file for Linux/mips.
+ 
+ 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* cselib.c (cselib_record_sets): If insn is predicated, turn
+ 	sources into IF_THEN_ELSEs.
+ 
+ 	* config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
+ 	Turn into define_insn_and_split.
+ 
+ 	* sched-deps.c: Include "cselib.h".
+ 	(add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
+ 	Use cselib to turn memory addresses into VALUEs.
+ 	(sched_analyze): Call cselib_init/cselib_finish if necessary.
+ 	* sched-int.h (struct sched_info): New member USE_CSELIB.
+ 	* sched-ebb.c (ebb_sched_info): Initialize it.
+ 	* sched-rgn.c (rgn_sched_info): Likewise.
+ 	* Makefile.in (sched-deps.o): Update dependencies.
+ 
+ 	* cselib.h (cselib_subst_to_values): Declare.
+ 	* cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
+ 	that have no value and autoincs to be handled by generating a new
+ 	dummy value.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* final.c (shorten_branches): Update the INSN_ADDRESSES of insns
+ 	within fixed length SEQUENCE.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
+ 	(diagnostic_prefixing_rule): Likewise.
+ 	(diagnostic_line_cutoff): Likewise.
+ 	(diagnostic_kind_count): Likewise.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* alias.c (find_base_decl): Delete redundent assignment.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
+ 	(abs): Uppercase and paranthesize macro parameter.
+ 	(MEM_DEPENDENCY): Add whitespace.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
+ 	failure check for CONST_INT
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
+ 	(libcall_dead_p): Likewise.
+ 
+ 	(mark_used_regs): Constify fmt.
+ 	(find_use_as_address): Likewise.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
+ 	 parameter.
+ 
+ 2001-08-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Update comment and
+ 	remove erroneous test.
+ 
+ 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_finish): Pop the final buffer without comment.
+ 	* cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
+ 	take care to avoid multiple no-newline at EOF warnings in that
+ 	case.
+ 
+ Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Do not emit INSN_SETJMP note.
+ 	(emit_library_call_value_1): Likewise.
+ 	(emit_call_1): Emit REG_SETJMP note.
+ 	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
+ 	of INSN_SETJMP
+ 	* cselib.c (cselib_process_insn): Likewise.
+ 	* flow.c (propagate_block): Likewise.
+ 	* loop.c (find_and_verify_loops): Likewise.
+ 	* reload.c (find_equiv_regs): Likewise.
+ 	* reload1.c (reload): Likewise.
+ 	* resource.c (mark_referenced_resources,
+ 	mark_set_resources): Likewise.
+ 	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
+ 	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
+ 	* haifa-sched.c (unlink_other_notes): Likewise.
+ 	(reemit_notes): Likewise.
+ 	* sched-ebb.c (sched_ebb): Likewise.
+ 	* sched-rgc.c (sched_region): Likewise.
+ 	* rtl.c (note_insn_name): Likewise.
+ 	(reg_note_name): Add REG_SETJMP
+ 	* rtl.h (reg_note): Add REG_SETJMP.
+ 	(insn_note): Remove NOTE_INSN_SETJMP.
+ 
+ 	* profile.c (branch_prob): Add fake edges for setjmp.
+ 
+ 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Quote target_cpu_default2 correctly for
+ 	powerpc*-*-* targets.
+ 
+ 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.h, line-map.h: Update comments.
+ 	* cppmain.c (printer_init): Move inline.
+ 	(maybe_print_line, print_line): Take a map pointer.
+ 	(cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
+ 	(cb_file_change): Don't use prior value of print.map.
+ 
+ 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi: Document fine-grained multilib configuration.
+ 
+ Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (find_first_parameter_load): Call note_stores
+ 	only on the instructions.
+ 
+ Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (nonlocal_mentioned_p):
+ 	Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
+ 	* calls.c (emit_call_1): Likewise.
+ 	* cse.c (cse_insn, invalidate_skipped_block): Likewise.
+ 	* cselib.c (cselib_process_insn): Likewise.
+ 	* df.c (df_insns_modify): Likewise.
+ 	* flow.c (need_fake_edge_p): Likewise.
+ 	(propagate_one_insn): Likewise.
+ 	* haifa-sched.c (reemit_notes): Likewise.
+ 	* integrate.c (copy_insn_list): Likewise.
+ 	* jump.c (delete_prior_computation): Likewise.
+ 	* local-alloc.c (validate_equiv_mem): Likewise.
+ 	* loop.c (scan_loop): Likewise.
+ 	* predict.c (estimate_probability): Likewise.
+ 	* reload.c (reload): Likewise.
+ 	* sched-deps (sched_analyze): Likewise.
+ 	* rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
+ 	* gcse.c (compute_hash_table): Likewise.
+ 	(mark_call): Likewise.
+ 	(store_killed_in_insn): Likewise.
+ 
+ 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
+ 
+ 2001-08-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_gc_entry): Remove.
+ 	* output.h: Likewise.
+ 
+ 2001-08-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_constructor): Take a symbol_ref and a
+ 	priority instead of a bare string.  Move priority handling
+ 	here from cp/decl2.c.
+ 	* output.h: Update decls.
+ 
+ 	* c-decl.c (c_expand_body): Update calls to assemble_constructor
+ 	and assemble_destructor.
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 	* objc/objc-act.c (finish_objc): Likewise.
+ 	(build_module_descriptor): Return the symbol not the symbol name.
+ 
+ 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
+ 	* config/rs6000/linux64.h (RS6000_MCOUNT): Define.
+ 	({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
+ 	* config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
+ 	* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
+ 
+ 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_containing_files): Moved to line-map.c.
+ 	(print_location): line-map.c handles re-listing or otherwise.
+ 	* cpphash.h (struct lexer_state): Remove next_bol.
+ 	(struct cpp_buffer): Remove include_stack_listed.
+ 	* cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
+ 	Remove faked buffer handling.
+ 	(_cpp_do_file_change): Tweak.
+ 	* cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
+ 	* cppmain.c (struct printer): Remove filename.
+ 	(print_line, cb_file_change): Update accordingly.
+ 	* line-map.c: Include intl.h.
+ 	(init_line_maps): Initialize last_listed.
+ 	(free_line_maps): Sanity check, warn if ENABLED_CHECKING.
+ 	(add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
+ 	(print_containing_files): New.
+ 	* line-map.h (struct line_maps): New member last_listed.
+ 	(print_containing_files, INCLUDED_FROM): New.
+ 	* Makefile.in: Update.
+ 	* po/POTFILES.in: Add line-map.c.
+ 
+ 2001-08-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (convert_from_eh_region_ranges_1): Never mark
+ 	USE or CLOBBER insns as throwing.
+ 
+ 	* expr.c (store_constructor): Don't clobber memory targets.
+ 
+ 2001-08-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* profile.c (branch_prob): Remove unused variable insn.
+ 
+ 	* Makefile.in (local-alloc.o): Add dependency on except.h.
+ 
+ 	* local-alloc.c: Include except.h for can_throw_internal prototype.
+ 
+ 2001-08-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
+ 	* function.c (expand_main_function): Implement it.
+ 	* doc/tm.texi: Document it.
+ 
+ 2001-08-06  Stan Shebs  <shebs@apple.com>
+ 
+ 	* doc/install.texi: Document powerpc-*-darwin* details.
+ 
+ 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
+ 	(ASM_CPU_SPEC): Move back to rs6000.h
+ 	#undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
+ 
+ 	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
+ 
+ 	* config/rs6000/linux.h: Remove vtable thunks stuff we accidently
+ 	readded.
+ 
+ 	* config/rs6000/linux64.h: Ditto.
+ 
+ 	* config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
+ 	to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
+ 	nothing.
+ 
+ 	Remove accidently readded definitions of FUNCTION_PROLOGUE,
+ 	FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
+ 
+ 	* config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
+ 	to rs6000.h
+ 
+ 2001-08-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* local-alloc.c (update_equiv_regs): Do not move insns that
+ 	can throw.
+ 
+ 2001-08-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (reload1.o): Add dependency on except.h
+ 	* basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
+ 	prototypes.
+ 	* flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
+ 	indicating whether edges has been cleaned up.
+ 	* reload1.c: Include except.h.
+ 	(fixup_abnormal_edges): Accept deleted insns.
+ 	* toplev.c (rest_of_compilation): Purge dead edges unconditionally
+ 	after combine.
+ 
+ 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (do_line): Correct line number after pop_buffer.
+ 
+ 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/3824
+ 	* line-map.c: Update comments.
+ 	* line-map.h: Update comments.
+ 	* tradcif.y: Don't consider large numbers unsigned.
+ 
+ 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/3081
+ 	* c-lex.c (map): New.
+ 	(cb_file_change): Update map and use it.
+ 	(cb_def_pragma, cb_define, cb_undef): Use map and line.
+ 	(c_lex): Update to use map.
+ 	* cpperror.c (print_location): Move to using logical line numbers.
+ 	* cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
+ 	(cpp_make_system_header): Similarly.
+ 	(_cpp_execute_include): Stop line numbering hacks.  Store the
+ 	line we will return to.
+ 	* cpphash.h (CPP_BUF_LINE): Remove.
+ 	(struct cpp_buffer): Remove lineno and pseudo_newlines.
+ 	Add map and return_to_line.
+ 	(_cpp_do_file_change): Update.
+ 	* cppinit.c (cpp_start_read): Update line kludge.
+ 	* cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
+ 	(trigraph_ok): Use logical line numbers for diagnostics.
+ 	(skip_block_comment): Likewise.
+ 	(skip_whitespace): Likewise.
+ 	(skip_line_comment): Use pfile->line instead.
+ 	(_cpp_lex_token): Update to use logical line numbering exclusively.
+ 	Handle BOL locally.  Accept new lines in directives, but keep
+ 	pfile->line decremented.  Diagnostics use logical lines.  Update
+ 	directive handling.
+ 	* cpplib.c (SEEN_EOL): New.
+ 	(skip_rest_of_line, check_eol): Use it.
+ 	(end_directive): Increase line number when accepting the newline
+ 	at the end of a directive.
+ 	(run_directive): Simplify.
+ 	(do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
+ 	(_cpp_do_file_change): Update to take buffer line number as an
+ 	argument, and store the current map in the cpp_reader.  Remove
+ 	line number kludges.
+ 	(_cpp_do__Pragma): Restore output position after a _Pragma.
+ 	(cpp_push_buffer): Don't set output line or lineno.
+ 	(_cpp_pop_buffer): Transfer more info from a faked buffer.
+ 	Remove line kludge.  Set output_line.
+ 	* cppmacro.c (builtin_macro): Update handling of __LINE__.
+ 	(parse_arg): Use logical lines.
+ 	(save_lookahead_token): Save EOFs too now.
+ 	* cppmain.c (struct printer): Fix comments.
+ 	(printer_init): Simplify, let caller do errors.
+ 	(scan_translation_unit, check_multiline_token, dump_macro): Update.
+ 	(maybe_print_line): Simplify.
+ 	(print_line): Don't print a linemarker if -P.
+ 	(cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
+ 	(cb_file_change): Simplify.
+ 	* line-map.h (LAST_SOURCE_LINE): Fix.
+ 	(CURRENT_LINE_MAP): New.
+ 
+ 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* doloop.c (doloop_modify_runtime): Properly compute number of
+ 	iterations if loop was unrolled.
+ 
+ 	* alias.c (rtx_equal_for_memref_p): VALUEs are only identical
+ 	if their CSELIB_VAL_PTRs are.
+ 
+ 	* config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
+ 	(setup_spill_pointers): Initialize it.
+ 	(spill_restore_mem): Set it.
+ 	(do_spill, do_restore): Use it to add REG_INC note.
+ 	* config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
+ 
+ 	* config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
+ 	asms if other insns are available.
+ 
+ 	* config/ia64/ia64.c (condop_operator): New predicate.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Add it.
+ 	* config/ia64/ia64.md (cond_opsi2_internal and splitters): New
+ 	patterns.
+ 
+ 	* expr.c (expand_expr, case COND_EXPR): Prefer working with a
+ 	temporary register than directly using a MEM.
+ 
+ 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/sh/sh.c (sh_asm_named_section): Fix typo in align
+ 	parameter in last change.
+ 
+ 2001-08-04  Zack Weinberg  <zackw@panix.com>
+ 
+ 	* sparc.md: Don't use #if inside C test expression.
+ 
+ 2001-08-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
+ 
+ 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): New member directive_line.
+ 	* cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
+ 	* cpplib.c (do_define, do_undef, do_ident, do_include_common,
+ 	do_pragma): Pass line to callbacks.
+ 	(start_directive): Record line of directive.
+ 	* cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
+ 	cb_include): Similarly.
+ 	* c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
+ 	Similarly.
+ 
+ 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
+ 	comment.
+ 
+ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
+ 
+ 	* reload1.c (fixup_abnormal_edges): New static function.
+ 	(reload): Use it.
+ 
+ 	* flow.c (need_fake_edge_p): New function.
+ 	(flow_call_edges_add): Fix handling of noreturn and sibling calls;
+ 	avoid call insn to be very last insn in the insn stream.
+ 
+ 	* profile.c (branch_prob): Call flow_call_edges_add instead of
+ 	doing that by hand; cleanup cfg to re-merge basic blocks once
+ 	we are done.
+ 
+ 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
+ 	are also on line-map.h.
+ 	* cppfiles.c (stack_include_file): Update.
+ 	* cpphash.h (struct cpp_buffer): New member return_at_eof.
+ 	(_cpp_pop_buffer): New.
+ 	* cppinit.c (cpp_destroy, cpp_finish): Update.
+ 	(do_includes): Mark each buffer to return at EOF.
+ 	* cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
+ 	return as requested.
+ 	* cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
+ 	(cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
+ 	* cpplib.h (cpp_pop_buffer): Remove.
+ 	(cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
+ 	* cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
+ 	buffers.
+ 	* cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
+ 	to pop buffers.
+ 	(do_preprocessing): Update.
+ 	* fix-header.c (read_scan_file): Update.  No need to pop buffers.
+ 	* c-parse.in (_yylex): Similarly.
+ 	* scan-decls.c (scan_decls): Similarly.
+ 	* line-map.h: Update comments.
+ 
+ 	* objc/Make-lang.in (objc-act.o): Update dependencies.
+ 
+ 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
+ 	and soft register for operand 0.
+ 	("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
+ 
+ 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
+ 	register for operand 0.
+ 	("bitcmpqi_z_used"): Allow memory for operand 0.
+ 	(split "bitcmpqi"): New split to handle address reg as operand 1.
+ 
+ 2001-08-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcse.c: Revert Daniel's last patch.
+ 
+ 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* sparc-protos.h: Add prototypes for fp_zero_operand and
+ 	reg_or_0_operand.
+ 	* sh-protos.h: Add prototype for fpul_operand.
+ 
+ 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/extend.texi (Other Builtins): Fix typo in last change.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (gcc_target): Add asm_out.named_section,
+ 	section_type_flags, have_named_sections.
+ 	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
+ 	(TARGET_HAVE_NAMED_SECTIONS): New.
+ 	(TARGET_SECTION_TYPE_FLAGS): New.
+ 
+ 	* Makefile.in (toplev.o): Depend on TARGET_H.
+ 	(varasm.o, dbxout.o): Likewise.
+ 	* c-common.c (decl_attributes): Check targetm.have_named_sections
+ 	instead of ifdef ASM_OUTPUT_SECTION_NAME.
+ 	* dbxout.c (dbxout_function_decl): Likewise.
+ 	(dbxout_function_end): Likewise.
+ 	* toplev.c (compile_file): Likewise.
+ 	* varasm.c (exception_section): Likewise.
+ 	* cp/decl2.c (finish_objects): Likewise.
+ 
+ 	* defaults.h (EH_FRAME_SECTION): Remove.
+ 	(EH_FRAME_SECTION_ASM_OP): Remove.
+ 	(EH_FRAME_SECTION_NAME): New.
+ 	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
+ 	(UNIQUE_SECTION_P): Remove.
+ 	* dwarf2out.c (SECTION_FORMAT): Remove.
+ 	(ASM_OUTPUT_SECTION): Remove.
+ 	(output_call_frame_info): Use named_section_flags.
+ 	(output_comp_unit, dwarf2out_start_source_file): Likewise.
+ 	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
+ 	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
+ 	* varasm.c (in_eh_frame, eh_frame_section): Remove.
+ 	(named_section_flags): New.
+ 	(named_section): Use it and targetm.section_type_flags.
+ 	(resolve_unique_section): New.
+ 	(assemble_start_function): Use it.
+ 	(asm_emit_uninitialised, assemble_variable): Likewise.
+ 	(default_section_type_flags): New.
+ 	(default_no_named_section, default_elf_asm_named_section): New.
+ 	(default_coff_asm_named_section, default_pe_asm_named_section): New.
+ 	* output.h: Update varasm.c decls.
+ 	(SECTION_*): New flags.
+ 
+ 	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
+ 	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
+ 
+ 	* config/elfos.h (UNIQUE_SECTION_P): Remove.
+ 	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
+ 	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
+ 	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
+ 	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
+ 	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
+ 	* config/mips/elf.h, config/mips/elf64.h: Likewise.
+ 	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
+ 	* config/pa/pa64-hpux.h,
+ 
+ 	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
+ 	(TARGET_ASM_NAMED_SECTION): New.
+ 	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
+ 	* config/alpha/vms.h, config/arm/coff.h: Likewise.
+ 	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
+ 	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
+ 	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
+ 	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
+ 	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
+ 	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
+ 	* config/i386/sco5.h, config/i386/win32.h: Likewise.
+ 	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
+ 	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
+ 	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
+ 	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
+ 	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
+ 	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
+ 	* config/sparc/sysv4.h: Likewise.
+ 
+ 	* config/nextstep.h: Error until named sections implemented.
+ 
+ 	* config/a29k/a29k.c (a29k_asm_named_section): New.
+ 	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
+ 	(vms_section_type_flags, vms_asm_named_section): New.
+ 	* config/arm/arm.c (arm_elf_asm_named_section): New.
+ 	* config/avr/avr.c (asm_output_section_name): Remove.
+ 	* config/avr/avr-protos.h: Update.
+ 	* config/c4x/c4x.c (c4x_asm_named_section): New.
+ 	* config/h8300/h8300.c (h8300_asm_named_section): New.
+ 	* config/i386/i386.c (sco_asm_named_section): New.
+ 	* config/i386/winnt.c (SECTION_PE_SHARED): New.
+ 	(i386_pe_section_type_flags): New.
+ 	(i386_pe_asm_named_section): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
+ 	* config/mcore/mcore.c (mcore_asm_named_section): New.
+ 	* config/mips/mips.c (iris6_asm_named_section): New.
+ 	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
+ 	instead of UNIQUE_SECTION_P.
+ 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
+ 	(xcoff_asm_named_section): New.
+ 	* config/sh/sh.c (sh_asm_named_section): New.
+ 	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.
+ 
+ 	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ 	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
+ 	(EH_FRAME_SECTION_NAME): New.
+ 	(EXCEPTION_SECTION): New.
+ 	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ 	(DEBUG_*_SECTION): Remove.
+ 	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
+ 	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
+ 	(EH_FRAME_SECTION_ASM_OP): Remove.
+ 
+ 	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
+ 	(ASM_OUTPUT_SECTION_NAME): Remove.
+ 	(TARGET_ASM_NAMED_SECTION): New.
+ 	(TARGET_HAVE_NAMED_SECTIONS): New.
+ 	(TARGET_SECTION_TYPE_FLAGS): New.
+ 	(EH_FRAME_SECTION_ASM_OP): Remove.
+ 	(EH_FRAME_SECTION_NAME): New.
+ 
+ 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* builtins.c (fold_builtin_constant_p): Return integer_zero_node
+ 	for complex expressions when cfun == 0.
+ 	* doc/extend.texi: Document that __builtin_constant_p can be
+ 	used in data initializers as well as functions.
+ 
+ 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
+ 	variable I locally, instead of expecting a declaration in the
+ 	calling context.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (collect_one_action_chain): Add an explicit cleanup
+ 	action if regions surrounding a catch were encoded entirely
+ 	within the call-site entry.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Flatten subregs first;
+ 	don't take REGNO of a non-register.
+ 
+ 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
+ 	__GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
+ 	(__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
+ 	(__gthread_mutex_init_function): New function for mutex initialization.
+ 
+ 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* Makefile.in: Revert screwed up commit.
+ 
+ 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
+ 	* config/m68hc11/larith.asm (_exit): Split in several sub-sections
+ 	merged by linker script to get a final _exit().
+ 	(__do_global_dtors): New for destructor handling in specific exit
+ 	section.
+ 	(__do_global_ctors): New for constructors in specific install section.
+ 	(__map_data_section): Map data sections before running constructors.
+ 	* config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
+ 	(CTORS_SECTION_ASM_OP): Define to put in readonly section.
+ 	(DTORS_SECTION_ASM_OP): Likewise.
+ 	(CTORS_SECTION_FUNCTION): Define to force a reference to
+ 	__do_global_ctors.
+ 	(DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
+ 
+ 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* ChangeLog: Fix date on previous ChangeLog entry for GCSE.
+ 
+ 	* Makefile.in: Add df.h to gcse.c dependencies.
+ 
+ 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* varasm.c (output_constant_def_contents): Use for the length of a
+ 	string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
+ 	depending on which is larger.
+ 
+ 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* gcse.c: Include df.h for use as a dataflow analyzer.
+ 	Remove regvec.
+ 	Declaration of reg_set_info: gone.
+ 	New df_analyzer variable used by store motion.
+ 	(reg_set_info): Deleted.
+ 	(mark_mem_regs): New function, analyze regs used by a mem.
+ 	(store_ops_ok): Use dataflow analyzer results to determine if
+ 	necessary regs are changed in the block.
+ 	(find_moveable_store): Remove check for symbol ref, we can handle
+ 	much more complex expressions now.
+ 	(compute_store_table): Remove most of the code, it's unnecessary
+ 	now that the dataflow analyzer records the info for us.
+ 	(store_killed_after): Add parameter to say whether to do the
+ 	store_ops_okay test, used to speed up testing when we already know
+ 	the answer, and just want to know if the store itself was killed.
+ 	(build_store_vector): Largely rewritten to calculate the various
+ 	vectors properly, and somewhat optimized.
+ 	(store_motion): Init the df_analyzer, get REG_DEF chains.
+ 	Also handle trapping expressions (since mems almost always trap)
+ 	(simple_mem): Redefine what a simple mem is.
+ 
+ 2001-08-03  DJ Delorie  <dj@redhat.com>
+ 
+ 	* ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
+ 	set from a constant part of the condition.
+ 
+ 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* mkdeps.c (deps_add_default_target): Make local variable
+ 	``start'' a const char pointer.
+ 	* dwarf2out.c (compute_section_prefix): Localize use of ``p''.
+ 
+ 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Configuration): Fix markup.
+ 	(Specific, i?86-*-udk): Likewise.
+ 	(Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
+ 	--with-gnu-ld.
+ 	Document --enable-threads and --enable-libgcj status.
+ 	(Specific, mips-sgi-irix*): Canonicalize triples.
+ 	(Specific, mips-sgi-irix5): Warn about problems with this config.
+ 	Mention required GNU as patch.
+ 	Native assembler problems are fixed.
+ 	(Specific, mips-sgi-irix6): Update O32 ABI support status.
+ 	Document --enable-threads and --enable-libgcj status.
+ 
+ 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* Makefile.in, mklibgcc.in: Restore changes with fixed invocation
+ 	of mkinstalldirs.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
+ 	constant data.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtlanal.c (find_first_parameter_load): Stop if we
+ 	reach a CODE_LABEL at BOUNDARY.
+ 
+ 2001-08-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (force_movdi): New insn.
+ 	* config/alpha/alpha.c (alpha_expand_prologue): Use it.
+ 	Tweek FRP marking of VMS prologue insns.
+ 	* config/alpha/vms.h (EPILOGUE_USES): New.
+ 
+ 2001-08-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
+ 
+ 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
+ 	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
+ 	config/convex/convex.h, config/d30v/d30v.c,
+ 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ 	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
+ 	config/mips/mips.h, config/mn10200/mn10200.h,
+ 	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
+ 	config/v850/v850.h, config/vax/openbsd.h,
+ 	config/vax/openbsd1.h, config/vax/ultrix.h,
+ 	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
+ 	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
+ 	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
+ 	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
+ 	in comments and documentation.
+ 
+ 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* line-map.c: New.
+ 	* line-map.h: New.
+ 	* Makefile.in (line-map.o): New.
+ 	(LIBCPP_OBJS, LIBCPP_DEPS): Update.
+ 	* c-lex.c (cb_file_change): Update for new cpp_file_change structure.
+ 	* cpperror.c (print_containing_files): Similarly.
+ 	(print_location): Update.  Don't output a space before _Pragma.
+ 	* cppfiles.c (stack_include_file): Set to line 1 immediately.
+ 	(stack_include_filee, cpp_make_system_header): Update.
+ 	(_cpp_execute_include): Get logical line number right for calling
+ 	as-yet-unterminated #include.
+ 	* cpphash.h (struct cpp_reader): Add line_maps.
+ 	(_cpp_do_file_change): Update.
+ 	* cppinit.c (cpp_create_reader): Initialize line maps.
+ 	(cpp_destroy): Destroy line maps.
+ 	(cpp_start_read): Get logical line number right.
+ 	* cpplex.c (parse_string): Only warn once for multi-line strings.
+ 	Use boolean variable for null warning.
+ 	* cpplib.c (_cpp_handle_directive): End the directive if it isn't
+ 	already.
+ 	(do_include_common): End the directive early.
+ 	(do_line): Don't warn about out-of-range lines in preprocessed
+ 	source.  Update.  Remove unused variables.
+ 	(_cpp_do_file_change): Update for new line mapping.
+ 	(pragma_cb): New typedef.
+ 	(cpp_register_pragma): Stop looking ahead before calling the
+ 	handler.  Clean up.
+ 	(do_pragma_system_header): End directive early.
+ 	(cpp_get_line_maps): New.
+ 	(cpp_pop_buffer): Fudge logical line.  Update.
+ 	* cpplib.h: Include line-map.h
+ 	(enum cpp_fc_reason): Remove.
+ 	(struct cpp_file_change): Update.
+ 	(cpp_get_line_maps): New.
+ 	* cppmain.c (struct_printer): New member map.
+ 	(cb_file_change): Update for new mappings.
+ 	* fix-header.c (cb_file_change): Similarly.
+ 
+ 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* Makefile.in (libgcc.mk): Define mkinstalldirs.
+ 	* mklibgcc.in: Use mkinstalldirs instead of mkdir.
+ 
+ 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* config/vax/vax.c: include expr.h.
+ 
+ 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* Makefile.in ($(srcdir)/configure): Only rebuild in
+ 	maintainer mode.
+ 	($(srcdir)/config.in): Only define in maintainer mode.
+ 	($(srcdir)/cstamp-h.in): Only define in maintainer mode.
+ 
+ 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (Install GCC: Binaries): Update Bull info.
+ 
+ 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gcc.c (set_collect_gcc_options): New function, split out from
+ 	main.
+ 	Ignore elided switches.
+ 	(do_spec_1): Invoke before executing command.
+ 	(set_input): Export.
+ 	Move declaration ...
+ 	* gcc.h (set_input): ... here.
+ 	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
+ 	file.
+ 
+ 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Kill -fhonor-std.
+ 	* doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
+ 	interaction.
+ 	* doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
+ 
+ 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
+ 	for the unnamed instructions it expands to.
+ 
+ 2001-08-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regclass.c (call_really_used_regs): Conditionally define.
+ 	(init_reg_sets_1): Don't use it if not defined.
+ 	(fix_register): Similarly, don't set it.
+ 
+ 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
+ 	Correct comment that had been missed in the previous change.
+ 
+ 2001-08-01  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (machopic_stub_name): Try matching by name.
+ 	(update_stubs): New function.
+ 	(darwin_encode_section_info):  Call it and update_non_lazy_ptrs
+ 	unconditionally.
+ 
+ 2001-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (output_function_exception_table): Use assemble_align.
+ 	* varasm.c (assemble_eh_label): Remove.
+ 	(assemble_eh_align, assemble_eh_integer): Remove.
+ 
+ 2001-08-01  Robert Lipe  <robertl@caldera.com>
+ 
+ 	* dwarfout.c: Remove reference to README.DWARF.
+ 
+ 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* regclass.c (call_really_used_regs): New array for registers which
+ 	are actually used by a call.
+ 	(init_reg_sets_1): Initialize regs_invalidated_by_call with the
+ 	new array.
+ 	(fix_register): Set call_really_used too.
+ 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
+ 	* doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
+ 
+ 2001-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* read-rtl.c (read_name): Consider \r whitespace.
+ 
+ 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* config.gcc: Recognize powerpc-*-netbsd*.
+ 
+ 	* doc/install.texi (Host/target specific installation notes for
+ 	GCC): Mention powerpc-*-netbsd*.
+ 
+ 	* config/rs6000/netbsd.h: New file.
+ 	(STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
+ 	(LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
+ 	(ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
+ 	(LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
+ 	(TARGET_VERSION): Redefine.
+ 
+ 	* config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
+ 	mcall-netbsd as a match for mcall-sysv.
+ 	(EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
+ 	(ncrti.S, ncrtn.S): New targets.
+ 	($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
+ 
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
+ 	"netbsd' as a V4 ABI.
+ 	(ASM_SPEC): Check for -mcall-netbsd.
+ 	(CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
+ 	(CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
+ 	(LIB_SPEC, ENDFILE_SPEC): Ditto.
+ 	(LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
+ 	(ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
+ 	(LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
+ 
+ 	* doc/invoke.texi (Option Summary): Add -mcall-netbsd.
+ 	(RS/6000 and PowerPC Options): Mention -mcall-netbsd.
+ 
+ 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
+ 	only if NO_BASE_OF_ENCODED_VALUE isn't defined.
+ 	* unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
+ 	including "unwind-pe.h".
+ 
+ Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rs6000.md (define_splits): Kill unused constraints.
+ 
+ Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
+ 			      Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Kill code
+ 	dealing with non-existent CFG.
+ 
+ 2001-08-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* alias.c: Fix comment formatting.
+ 	* bitmap.c: Likewise.
+ 	* builtins.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-dump.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* conflict.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cppmacro.c: Likewise.
+ 	* cppspec.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* crtstuff.c: Likewise.
+ 	* cse.c: Likewise.
+ 	* cselib.c: Likewise.
+ 	* c-semantics.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 
+ 2001-08-01  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
+ 
+ 2001-08-01  H.J. Lu <hjl@gnu.org>
+ 
+ 	* gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
+ 
+ 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
+ 	contextualizing Objective-C class name lookup by the lexer.
+ 	(typespec_reserved_nonattr): Disable ObjC class name lookup after
+ 	seeing a TYPESPEC.
+ 	(protocoldef): Add support for forward @protocol declarations.
+ 	(yylexname): Suppress ObjC class name lookup in certain contexts;
+ 	re-enable after lookup is complete.
+ 	(_yylex): Re-enable ObjC class name lookup when certain
+ 	punctuation marks are seen.
+ 
+ 	* objc/objc-act.c (check_protocol_recursively): New function used
+ 	for finding circular dependencies in protocols.
+ 	(objc_declare_protocols): New function for handling forward
+ 	@protocol declarations.
+ 	(receiver_is_class_object): Detect the case when 'self' is used
+ 	inside of a class method.
+ 	(build_message_expr): Issue a warning if class method is desired
+ 	but instance method is found instead.
+ 	(conforms_to_protocol): Streamline.
+ 	(objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
+ 	protocol Foo, even if 'Bar foo' does not.
+ 	(check_protocols): Streamline.
+ 	(start_protocol): Add checks for circular and duplicate protocol
+ 	definitions.
+ 	(encode_aggregate_within): For typedefs of structs, encode the
+ 	underlying struct.
+ 	* objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
+ 	(objc_declare_protocols): New prototype.
+ 
+ 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
+ 	* cpplex.c (handle_newline): Update prototype.  Maintain logical
+ 	line number.
+ 	(skip_escaped_newlines, skip_block_comment, parse_string):
+ 	Update accordingly.
+ 	(_cpp_lex_token): Update, and store token position within the token.
+ 	* cpplib.h (struct cpp_token): Add line and column entries.
+ 	* cppmacro.c (replace_args): Position stringified tokens correctly.
+ 
+ 2001-08-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* basic-block.h: Add prototype for last_loop_beg_note.
+ 
+ 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
+ 
+ 	* expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
+ 	RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
+ 	comment.
+ 	(expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
+ 	while handling WITH_CLEANUP_EXPR node. Use second operand calling
+ 	expand_decl_cleanup.
+ 	* tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
+ 	the first RTX.
+ 	(simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
+ 	operand while calling simple_cst_equal.
+ 	* tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
+ 	operand is the cleanup expression, the third is the RTL_EXPR.
+ 	* tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
+ 
+ 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* except.c (duplicate_eh_regions): Test n_array[i] for NULL.
+ 
+ 2001-07-31  matthew green  <mrg@eterna.com.au>
+ 
+ 	* config.gcc (i386-*-netbsdelf): New description.
+ 	* config/i386/netbsd-elf.h: New file.
+ 
+ 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* loop.c (check_dbra_loop): Use single_set to compute
+ 	jump_label.
+ 
+ 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	PowerPC reorg and support for powerpc64-*-linux*.
+ 
+ 	Also fixes emitting of constants on 32 bit and 64 bit
+ 	platforms.
+ 
+ 	* config.gcc: powerpc64-*-linux* is a new target.
+ 	Things that needed aix.h now also include xcoff.h
+ 
+ 	* config/rs6000/rs6000.h: Split XCOFF specific stuff into
+ 	xcoff.h.
+ 	Move AIX specific stuff into aix.h.
+ 	(TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
+ 	with more than just XCOFF now.
+ 	(SET_ASM_OP): Remove, now defined where needed.
+ 	(FUNCTION_PROLOGUE): New macro definition.
+ 	(FUNCTION_EPILOGUE): New macro definition.
+ 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
+ 
+ 	* config/rs6000/xcoff.h: New file.
+ 
+ 	* config/rs6000/linux64.h: New file.
+ 
+ 	* config/rs6000/darwin.h: Copy needed AIX alignment definitions.
+ 
+ 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* rs6000.c (print_operand_address): Handle ELF syntax.
+ 	(output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
+ 	* rs6000.md (load_toc_aix_di): Handle ELF syntax.
+ 	* rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
+ 
+ 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_override_options): Only disable
+ 	flag_function_sections for XCOFF.
+ 	(exact_log2_cint_operand): New predicate.
+ 	(reg_or_{add,sub}_cint64_operand): New predicates.
+ 	(add_operand): Compare CONST_INT with fewer function calls.
+ 	(rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
+ 	(print_operand, case 'p'): Ensure positive operand.
+ 	(rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
+ 	* rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
+ 	(PREDICATE_CODES): Add new predicates.
+ 	* rs6000.md (addsi3): Split 32-bit constants more correctly.
+ 	(divsi3, modsi3): Ensure positive power-of-2.
+ 	(adddi3): Use new predicate.  Split 32-bit constants more
+ 	correctly.  Re-arrange splitter to handle any constant.
+ 	(subdi3): Use new predicate.
+ 	(divdi3, moddi3): Ensure positive power-of-2.
+ 	(movdi): Use rs6000_emit_set_const.
+ 	(load_toc_v4_pic_di): Delete.
+ 
+ 2001-07-31  Graham Stott <grahams@redhat.com>
+ 
+ 	* function.c (pad_below): Revert 2001-07-26 patch.
+ 
+ Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack (convert_regs_1): Fix best edge condition.
+ 
+ Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Better test for jumps
+ 	entering the loop; create loop pre_header.
+ 
+ 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
+ 
+ 	* doc/install.texi: Add s390 and s390x as new targets.
+ 	* doc/invoke.texi: Add documentation of S/390 and zSeries
+ 	target options.
+ 	* doc/md.texi: Add documentation of S/390 and zSeries constraints.
+ 
+ 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.md: Replace all general_operand with
+ 	nonimmediate_operand for all destinations.
+ 	* config/m68k/m68k.c (not_sp_operand): Likewise.
+ 
+ Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* flow.c (merge_blocks): Return 1 if an extra jump is inserted.
+ 
+ 2001-07-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
+ 	* config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
+ 
+ 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
+ 	Add missing doc strings
+ 	* config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
+ 	* config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
+ 
+ Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_output_main_function_alignment_hack): New function.
+ 	(TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
+ 
+ 	* flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
+ 	edges by EDGE_DFS_BACK flag.
+ 	(dump_edge_info): Add dfs_back flag.
+ 	* basic-block.h (EDGE_DFS_BACK): New constant.
+ 	(mark_dfs_back_edges): Declare.
+ 	* alias.c (loop_p): Remove.
+ 	(mark_constant_function): Use mark_dfs_back_edges.
+ 
+ 	* reg-stack.c (block_info_def): Add predecessors counter and stack_out.
+ 	(reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
+ 	(compensate_edge): Break out from ...
+ 	(convert_regs_1): ... here; do smart choosing of stack_out to copy.
+ 	(convert_regs_2): Set block_done once block is really done;
+ 	Do updating of the predecessors counts.
+ 
+ 	* toplev.c (rest_of_compilation): Recompute block_for_insn
+ 	before post-reload cfg_cleanup.
+ 	* function.c (thread_prologue_epilogue_insns):
+ 	Call set_block_for_new_insns when emitting prologue directly.
+ 
+ 2001-07-30  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* jump.c: Add prototype for mark_modified_reg.
+ 
+ 	* cse.c (set_live_p): Add unused attribute.
+ 
+ 	* gcov.c (calculate_branch_probs): Use gcov_type to avoid
+ 	overflow.
+ 	(scan_for_source_files): Use long for count to avoid overflow.
+ 	(output_data): Likewise.
+ 	(output_data): Don't use string concatatenation to silence gcc
+ 	-traditional.
+ 
+ 	* predict.c: Fix typos and grammar.
+ 
+ 	* gcse.c (insert_insn_end_bb): Remove unused variables.
+ 
+ Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
+ 	(attempt_auto_inc): LIkewise.
+ 	(mark_used_reg): Likewise.
+ 	(try_pre_increment_1): Likewise.
+ 	* regclass.c (regclass): Likewise.
+ 	* global.c (allocno_compare): Update comment; change scaling factor.
+ 	* local-alloc.c (QTY_CMP_PRI): Likewise.
+ 	* regs.h (REG_FREQ_FROM_BB): New.
+ 	(REG_FREQ_MAX): Likewise.
+ 
+ 2001-07-30  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
+ 	-D_GNU_SOURCE.
+ 
+ 2001-07-30  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ 	(FUNCTION_NAME_ALREADY_DECLARED): Likewise.
+ 
+ 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
+ 	as -mthumb-interwork when -mcpu=arm7 is specified.
+ 
+ Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def (noreturn, loop branch, loop exit): Mark as first
+ 	match heuristics.
+ 
+ Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (try_combine): Avoid barrier after noop jumps.
+ 
+ 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): Remove import_warning.
+ 	* cpplib.c (skip_rest_of_line): Don't bother turning off
+ 	macro expansion.
+ 	(parse_include): Move include handling to...
+ 	(do_include_common): ... here.  Move import warning from...
+ 	(do_import): ... here.
+ 	(do_pragma_poison): Don't do a callback for poison identifiers.
+ 	* cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
+ 	* cppmain.c (setup_callbacks): Similarly.
+ 
+ Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
+ 	handle multiple sets.
+ 	* except.c (sjlj_mark_call_sites): .... here.
+ 	* gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
+ 
+ Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Suggested by Richard Henderson and Richard Kenner:
+ 	* combine.c (recog_for_combine): Use the fake recog
+ 	only if instruction does not match.
+ 	* rtl.h (NOOP_MOVE_INSN_CODE): New.
+ 	* rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
+ 
+ 	* combine.c (try_combine): Discover noop jump as direct jump.
+ 
+ 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* df.c (df_rd_global_compute): Add successors to worklist, not
+ 	current item.
+ 	(df_ru_global_compute): Ditto.
+ 
+ 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
+ 	increment REG_N_SETS.
+ 
+ 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* sbitmap.h: New prototype for sbitmap_a_xor_b.
+ 
+ 	* sbitmap.c (sbitmap_a_xor_b): New function.
+ 	ifdef the basic block stuff on IN_GCC.
+ 
+ 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (parse_defined): Always record the macro name.
+ 	(lex): Don't worry about identifiers, or special-case
+ 	CPP_NOT here.
+ 	(_cpp_parse_expr): Figure out at the end of the routine
+ 	whether we saw a valid !defined() expression.
+ 	* cppfiles.c (stack_include_file): Update for mi_valid.
+ 	(_cpp_pop_file_buffer): Similarly.
+ 	* cpplex.c (_cpp_lex_token): Similarly.
+ 	* cpphash.h (enum mi_state, enum mi_ind, mi_state,
+ 	mi_if_not_defined, mi_lexed): Remove.
+ 	(mi_valid): New.
+ 	* cpplib.c (do_if): Simplify.
+ 	(do_endif, push_conditional, _cpp_handle_directive): Update
+ 	for renaming of mi_state to mi_valid.
+ doc:
+ 	* cpp.texi: Add index entries for digraphs, and add comment
+ 	that C++ refers to them as alternative tokens.
+ 
+ Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (CLEANUP_PRE_LOOP): New.
+ 	* except.c (finish_eh_generation): Update call of cleanup_cfg.
+ 	* sibcall.c (optimize_sibling_calls): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* flow.c (try_forward_edges): Take argument MODE;
+ 	do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
+ 	(try_optimize_cfg): Update call of try_forward_edges.
+ 
+ Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
+ 				Jan Hubicka  <jh@suse.cz>
+ 
+ 	* (validate_replace_rtx_1): Fix simplification of MINUS.
+ 
+ 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/3669
+ 	* cppinit.c (init_dependency_output): Turn off dump requests
+ 	if sending dependencies to stdout.
+ 
+ 2001-07-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
+ 	not optimizing.
+ 
+ 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
+ 
+ 	* config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
+ 
+ 2001-07-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
+ 	is VAR_DECL first to prevent an ICE.
+ 
+ 2001-07-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (immed_real_const_1): Don't elide special cases for
+ 	nested functions.
+ 	(clear_const_double_mem): Clear const_tiny_rtx too.
+ 
+ 2001-07-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dw_val_class_offset): New.
+ 	(struct dw_ranges_struct, dw_ranges_ref): New.
+ 	(ranges_table, ranges_table_allocated): New.
+ 	(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
+ 	(add_AT_offset, add_ranges, output_ranges): New.
+ 	(print_die, output_die): Handle dw_val_class_offset.
+ 	(attr_checksum, size_of_die, value_format): Likewise.
+ 	(gen_lexical_block_die): Handle non-contiguous blocks.
+ 	(gen_block_die): Likewise.
+ 	(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
+ 	if needed.  Dump the ranges table.
+ 	* final.c (final_start_function): Remove unnecessary notes and
+ 	rebuild the block tree before numbering the blocks.
+ 	* function.c (reorder_blocks_0): Walk the existing block tree
+ 	to unmark all blocks.
+ 	(reorder_blocks_1): Create block fragments when duplicate block
+ 	notes are seen.
+ 	(reorder_fix_fragments): New.
+ 	(reorder_blocks): Call it.
+ 	* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
+ 
+ 2001-07-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (adjust_address): Make a copy of the memory address.
+ 
+ 2001-07-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (add_to_mem_set_list): New function.
+ 	(init_propagate_block_info): Use it.
+ 	(mark_set_1): Likewise.
+ 	(insn_dead_p): Canonicalize memory address for dead store
+ 	comparison.  Allow wider mode stores to kill narrower mode stores.
+ 	(invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
+ 	(invalidate_mems_from_set): Don't handle MEMs.
+ 
+ 2001-07-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.
+ 
+ Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (EDGE_FREQUENCY): New macro.
+ 	* bb-reorder (fixup_reorder_chain): Set counts and frequencies
+ 	for new BB/edges.
+ 	* flow.c (find_sub_basic_blocks): Likewise.
+ 	(try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
+ 	(redirect_edge_and_branch): Use EDGE_FREQUENCY.
+ 
+ 	* predict.c (DEF_PREDICTOR): New argument FLAGS.
+ 	(HITRATE): New macro.
+ 	(PRED_FLAG_FIRST_MATCH): New constant.
+ 	(predictor_info): New field flgags.
+ 	(combine_predictions_for_insn): Use DS theory to combine
+ 	probabilities; set the edge probabilities when finished.
+ 	(estimate_probability): Avoid duplicated matches
+ 	of LOOP_BRANCH heuristics for nested loops; update comment.
+ 	* predict.def: Add flags for each prediction, set probabilities
+ 	according to B&L paper.
+ 	* predict.h (DEF_PREDICTOR): New argument FLAGS.
+ 
+ 	* profile.c (compute_branch_probabilities):  Cleanup way the edge
+ 	probabilities are computed and REG_BR_PROB notes are dropped; if
+ 	values does not match, emit error.
+ 	(init_branch_prob): Do error instead of warning when profile driven
+ 	feedback is missing or corrupt.
+ 
+ 2001-07-27  DJ Delorie  <dj@redhat.com>
+ 
+ 	* ifcvt.c (noce_get_alt_condition): If the condition is a compare
+ 	against a constant, try to adjust the compare to have the desired
+ 	constant in it so that min/max optimizations happen more often.
+ 
+ Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (last_loop_beg_note): New function.
+ 	(redirect_edge_and_branch): Use it.
+ 	(split_edge): Likewise.
+ 
+ 	* alias.c (loop_p): Avoid uninitialized memory access.
+ 
+ 	* flow.c (try_forward_edges): Avoid accessing freed memory.
+ 
+ 	* flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
+ 	variable access.
+ 
+ 2001-07-26  Andrew Haley  <aph@redhat.com>
+ 	Joern Rennecke <amylaar@redhat.com>
+ 
+ 	* config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
+ 	(SUBTARGET_CPP_ENDIAN_SPEC): New.
+ 	(SUBTARGET_CPP_SPEC): New.
+ 	(CPP_SPEC): Remove.
+ 	* config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
+ 	(SUBTARGET_CPP_PTR_SPEC): New.
+ 	(CPP_DEFAULT_CPU_SPEC): New.
+ 	(EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
+ 	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+ 	(CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
+ 	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+ 	(SUBTARGET_CPP_SPEC): Define as an empty string.
+ 
+ 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Configuration): Properly link the host
+ 	specific instructions also when generating HTML.
+ 
+ Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* flow.c (redirect_edge_and_branch_force): Test
+ 	target->global_live_at_start.
+ 
+ 2001-07-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (avoid_constant_pool_reference): Export.
+ 	* rtl.h (avoid_constant_pool_reference): Declare it.
+ 	* dwarf2out.c (add_location_or_const_value_attribute): Use it.
+ 	(add_const_value_attribute): Use add_AT_unsigned for unsigned values.
+ 
+ Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtl.h (cleanup_barriers): Declare.
+ 	* jump.c (cleanup_barriers): New function.
+ 	* toplev.c (rest_of_compilation): Call cleanup_barriers
+ 	before loop optimizer and after bb_reorder.
+ 
+ 	* flow.c (back_edge_of_syntactic_loop_p): New.
+ 	(split_edge): Use it.
+ 
+ 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* glimits.h (_MACH_MACHLIMITS_H_): Delete.
+ 
+ Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* cse.c (cse_process_notes): Replace any registers if the address
+ 	remains valid.
+ 
+ Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
+ 	(PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
+ 	(propagate_block): Update prototype.
+ 	* flow.c (update_life_info): Simplify the CFG and
+ 	recalculate the global regs which are alive when
+ 	removing dead code during a global update.
+ 	(propagate_block): Return nonzero if an INSN is
+ 	deleted.
+ 
+ 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (LIBICONV): Define.
+ 
+ 2001-07-26  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
+ 	of conditional to avoid tree checking errors.
+ 
+ 2001-07-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* regmove.c (regmove_optimize): Don't replace a reg with
+ 	another reg of a different mode.
+ 
+ 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
+ 	limit length of dependency flush list.
+ 	* params.h (MAX_PENDING_LIST_LENGTH): Define.
+ 	* sched-int.h  (struct deps): Add pending_flush_length field.
+ 	* sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
+ 	has 1 element in it.
+ 	(sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
+ 	(sched_analyze): After a jump, if the pending memory flush list is too
+ 	large, flush the pending lists.
+ 	(init_deps): Initialize pending_flush_length to 0.
+ 	* doc/invoke.texi (max_pending_list_length): Document parameter.
+ 
+ 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
+ 	* dbxout.c (dbxout_global_decl): Move outside #ifdef.
+ 	* Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
+ 
+ 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct_lexer_state): Delete was_skipping.
+ 	Move skipping here from struct cpp_reader.
+ 	* cpplex.c (parse_identifier): Update.
+ 	(_cpp_lex_token): Don't skip tokens in a directive.
+ 	* cpplib.c (struct if_stack): Update.
+ 	(start_directive, end_directive): Don't change skipping state.
+ 	(_cpp_handle_directive): Update.
+ 	(do_ifdef, do_ifndef, do_if, do_elif): Similarly.
+ 	(do_else, do_endif): Update; only check for excess tokens if not
+ 	in a skipped conditional block.
+ 	(push_conditional): Update for new struct if_stack.
+ 
+ 2001-07-26  Graham Stott  <grahams@redhat.com>
+ 
+ 	* function.c (locate_and_pad_parm): Also pad initial offset
+ 	so that the total argument size also includes the padding.
+ 
+ 2001-07-26  Graham Stott <grahams@redhat.com>
+ 
+ 	* gensupport.c (alter_output_for_insn): Correct enable checking failure
+ 	change XSTR to XTMPL.
+ 
+ 	(process_one_cond_exec): Likewise
+ 
+ 2001-07-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_variable): Create DECL_RTL before setting
+ 	TREE_ASM_WRITTEN.
+ 
+ Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Avoid duplicated predictions.
+ 
+ 	* loop.c (find_and_verify_loops): Grok multiple barriers.
+ 
+ Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
+ 
+ 	* dbxout.c: Consistently use putc instead of fputc.
+ 	(print_wide_int): New function; call instead of direct fprintf.
+ 	(dbxout_type_index): Adjust calls of CHARS to be more accurate.
+ 	(dbxout_type_fields, dbxout_type_method_1): Likewise.
+ 	(dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
+ 	(print_int_cst_octal): Likewise.
+ 	(print_octal): Show we wrote characters.
+ 	(dbxout_type): Set have_used_extensions in more places.
+ 
+ 2001-07-25  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.c (v850_va_arg):  Use addr
+ 	instead of valist to build incr.
+ 
+ Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (delete_dead_jumptables): New function.
+ 	(life_analyzis): Call it.
+ 	* bb-reorder.c (skip_insns_after_block): Handle contradictory
+ 	sequences.
+ 
+ 2001-07-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (reachable_handlers): Handle a region being removed
+ 	out from under a RESX.
+ 
+ 2001-07-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_move): Always
+ 	swap GE/GT if it is an fp comparison.
+ 
+ 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* alias.c (rtx_equal_for_memref_p): Allow strings as types in
+ 	operands.
+ 
+ Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa.c (rename_insn_1): Do not wrap an assignment to a
+ 	paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
+ 	glitch.
+ 
+ 	* ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
+ 	throw an exception.
+ 	(visit_expression): When attempting to simplify an expression,
+ 	retrieve any modes for arguments before they are simplified
+ 	to constants.
+ 
+ 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
+ 	    Janis Johnson  <janis@us.ibm.com>
+ 
+ 	* stmt.c (expand_goto): A nonlocal goto can be a call too.
+ 	* builtins.c (expand_builtin_longjmp): Reverse label and static chain
+ 	pointer parameters to match documented usage of nonlocal_goto.
+ 	* config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
+ 	parameters to their correct order.
+ 	* config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
+ 	parameters to their correct order.
+ 
+ 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
+ 
+ 2001-07-25  Jan Hubicka  <jh@suse.cz>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (find_sub_basic_blocks): Fix handling of the last BB in
+ 	the sequence.
+ 	(make_edges): New argument update_p; populate the edge cache if set.
+ 	(find_basic_blocks): Update make_edges invocation.
+ 
+ 2001-07-24  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
+ 
+ 2001-07-24  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
+ 	-Acpu and -Amachine.h.
+ 	* config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
+ 	Corrected header to say ELF not a.out.
+ 	* config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
+ 	when given -msoft-float.
+ 
+ 2001-07-24  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
+ 	extra multilib parts like arm-elf.
+ 	(i960-*-coff*, i960-*-rtems): Should not use collect2.
+ 	(m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
+ 	crtfini.o as extra multilib parts.
+ 
+ 2001-07-24  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* configure.in: Add rtems as a supported thread model.
+ 	* gthr-rtems.h: Add missing entry point __gthread_active_p.
+ 	* configure: Rebuilt.
+ 
+ 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* stor-layout.c (get_mode_alignment): make it work when
+ 	BITS_PER_UNIT is not a power of two.
+ 	* builtins.c (get_pointer_alignment): Likewise.
+ 
+ 2001-07-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (avoid_constant_pool_reference): Coerce
+ 	the retrieved constant into the expected mode.
+ 
+ Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_simplify_condjump): Avoid duplicated edges.
+ 	(verify_flow_info): Check for duplicated edges; clarify
+ 	error reporting.
+ 
+ 	* flow.c (block_label): Update basic_block_for_insn.
+ 	(commit_edge_insertions): Call compute_bb_for_insn.
+ 
+ 	* flow.c (purge_dead_edges): Handle conditional jumps and conditional
+ 	returns too.
+ 
+ 	* flow.c (redirect_edge_and_branch,
+ 	try_optimize_cfg): Use redirect_edge_succ_nodup
+ 	(redirect_edge_succ_nodup): New.
+ 	* basic_block.h (redirect_edge_succ_nodup): Declare.
+ 
+ 	* toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
+ 	after gcse.
+ 
+ Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_forward_edges): Accept fallthru edge; Update comment.
+ 	(try_crossjump_to_edge): Update commetns.
+ 	(try_crossjump_bb): Likewise.
+ 
+ 2001-07-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Move set of need_refresh
+ 	for noop_move_p down to catch all cases.
+ 
+ Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (split_all_insns_noflow): New.
+ 	* rtl.h (split_all_insns_noflow): Declare.
+ 	* ia64.c (ia64_reorg): Use split_all_insns_noflow.
+ 	* m68hc11.c (m68hc11_reorg): Likewise.
+ 	* sh.c (machine_dependent_reorg): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise for last split_all_insns
+ 	call.
+ 
+ 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
+ 	(ashlsi3_n splitter): Likewise.
+ 	(lshrsi3_n splitter): Likewise.
+ 
+ 	(GOTaddr2picreg): Make const SImode.
+ 	(sym_label2reg): Likewise.
+ 	(symGOT2reg): Likewise.
+ 	(symGOTOFF2reg) Likewise.
+ 
+ 	(casesi_worker_0): Make unspec SImode.
+ 
+ 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/sh/sh.c (barrier_align): Check that an operand really is
+ 	an insn before extracting its INSN_CODE.
+ 
+ 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
+ 	dangling else.
+ 
+ 	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
+ 	for SImode to prevent overflow.
+ 
+ 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/irix6-libc-compat.c: New file.
+ 	* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
+ 	* doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
+ 	passing workaround.
+ 
+ 2001-07-24  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* rtl.texi (REG_POINTER): Document.
+ 	(Machine Modes): Document BImode, OImode, PQImode, PHImode,
+ 	QFmode, HFmode, TQFmode, QCmode, and HCmode.
+ 
+ Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (delete_noop_moves): Do not confuse libcall regions.
+ 
+ 2001-07-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
+ 
+ 2001-07-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	general_operand_dst_push.
+ 	* config/h8300/h8300.c (general_operand_dst_push): New.
+ 	* config/h8300/h8300.h (OK_FOR_T): New.
+ 	(EXTRA_CONSTRAINT): Use it.
+ 	* config/h8300/h8300.md (movqi_push): Remove and integrate into
+ 	the existing movqi pattern.
+ 	(movhi_push): Likewise.
+ 
+ 	* reload.c: Fix comment typos.
+ 
+ Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (cprop_insn): Update call of cprop_cc0_jump.
+ 
+ 2001-07-23  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* doc/extend.texi: Update __builtin_return_address and
+ 	__builtin_frame_address.
+ 
+ 2001-07-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_setcc): Don't use method 0
+ 	before CSE.
+ 	* config/i386/i386.md: New setcc+movzbl peephole2.
+ 
+ 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* objc/Make-lang.in (objc-act.o): Depend on debug.h.
+ 	* objc/objc-act.c: Include debug.h.
+ 	(synth_module_prologue): Save and restore debug hooks too.
+ 
+ 2001-07-23  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
+ 	and C4X_FLOAT_FORMAT.
+ 	(BOOL_TYPE_SIZE): Document.
+ 
+ Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
+ 
+ 	* unroll.c (loop_iterations): Fix miscalculation of initial
+ 	giv offset.
+ 
+ 2001-07-13  Andrew Haley  <aph@redhat.com>
+ 
+ 	* doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
+ 	* config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
+ 	* config/sh/sh.c (sh_can_redirect_branch): New function.
+ 	* config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
+ 	* reorg.c (steal_delay_list_from_target): Use
+ 	MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
+ 
+ Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_simplify_condjump): Unlink insn chain on
+ 	fallthru edge; use can_fallthru.
+ 
+ Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (find_sub_basic_block): Declare.
+ 	* flow.c (make_edges): New arguments MIN and MAX;
+ 	(find_sub_basic_blocks): Revamp to use make_edges
+ 	and purge_dead_edges.
+ 	(find_basic_blocks): Update call of find_sub_basic_block.
+ 
+ 	* recog.c (split_all_insns): Always expect CFG to be consistent;
+ 	call find_sub_basic_blocks in case something has changed.
+ 	* toplev.c (rest_of_compilation): Always call split_all_insns once CFG
+ 	has been built.
+ 
+ 	* basic-block.h (delete_noop_moves): Declare.
+ 	* combine.c (combine_instructions): Call it.
+ 	(recog_for_combine): Tolerate noop moves
+ 	(distribute_notes): Force refresh when register dies at noop move.
+ 	* flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
+ 	too.
+ 	(life_analysis): Update delete_noop_moves call.
+ 	(set_noop_p): Move too ...
+ 	* rtlanal.c (noop_move_p): ... here.
+ 	* rtl.h (noop_move_p): Declare.
+ 
+ 	* basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
+ 	* toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
+ 	after combine.
+ 	* gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
+ 	(cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
+ 
+ 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* reload.c (push_reload): Fix typo in comment.
+ 	(find_reloads_address): Ditto.
+ 	(reg_overlap_mentioned_for_reload_p): Ditto in head comment.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c: Grammar check and clarify a lot of comments.
+ 	(try_simplify_condjump): Rename variables to be clearer.
+ 	(try_forward_edges): Skip complex and fallthru edges.
+ 	Rearrange tests to avoid duplicate checks.
+ 	(flow_find_cross_jump): Likewise.
+ 	(outgoing_edges_match): Allow match if neither branch has
+ 	probability data.  Loosen probability match to 5%.
+ 	(try_crossjump_to_edge): Hoist repeated indirection into
+ 	local variables.
+ 	(try_crossjump_bb): Don't check complex edges.  Eliminate
+ 	redundant crossjump tests.
+ 	(try_optimize_cfg): Fix use of bool.  Reorganize cheaper
+ 	checks before more expensive checks.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
+ 	INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
+ 	arguments.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
+ 	(const_sint32_operand): Likewise.
+ 	* m68k.md (anon mulsi pattern): Use const_int_operand not
+ 	const_sint32_operand.
+ 	(umulsi3_highpart): Zero extend a constant input.
+ 	(smulsi3_highpart): Don't bother checking SImode constant.
+ 	(const_umulsi3_highpart): Give op3 DImode.
+ 	(const_smulsi3_highpart): Likewise.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (split_block): Make sure bb_note is included in the
+ 	new block when splitting before a label.
+ 
+ Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (redirect_edge_and_branch_force,
+ 	redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
+ 	* flow.c (redirect_edge_and_branch_force,
+ 	redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
+ 	(redirect_edge_and_branch_force): Fix copying of lifeness information.
+ 	(block_label): Handle EXIT_BLOCK_PTR by returning NULL.
+ 	* ifcvt.c (dead_or_predictable): Take BB as an new destination
+ 	instead of label; update CFG after transformation.
+ 	(find_if_case_1): Update call, use redirect_edge_and_branch_force
+ 	for finishing the transformation; handle even case where ELSE
+ 	does not follow THEN.
+ 	(find_if_case_2): Update call of dead_or_predictable; simplify
+ 	CFG update.
+ 
+ 	* emit-rtl.c (split_branch_probability): New global variable.
+ 	(try_split): Take care to set split_branch_probability and
+ 	create REG_BR_PROB note for new jump insns.
+ 	* md.texi (define_split): Document new feature.
+ 
+ 	* i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
+ 
+ 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
+ 	(asm_out_file): Remove redundant declaration.
+ 	(assemble_asm): Remove old #if 0 block.
+ 	(assemble_variable): Remove end of function; debug output is
+ 	now handled with global_decl.  Remove old #if 0 block.  Update.
+ 	Remove saved_in_section and associated no-op code.
+ 	* Makefile.in (varasm.o): Correct dependencies.
+ 
+ Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ 	the definition in defaults.h.
+ 
+ Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c: Update comments.
+ 	(delete_barrier_successors, delete_unreferenced_labels,
+ 	delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
+ 	delete_labelref_insn, redirect_tablejump, jump_optimize_1,
+ 	jump_optimize, jump_optimize_minimal): Kill.
+ 	(rebuild_jump_labels): Move code from jump_optimize_1.
+ 	(purge_line_number_notes): Likewise.
+ 	(copy_loop_headers): Likewise.
+ 	* reg-stack.c: Update comment.
+ 	* stmt.c: Likewise.
+ 	* rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
+ 	JUMP_AFTER_REGSCAN): Kill.
+ 	* toplev.c (rest_of_compilation): Use cleanup_cfg, call
+ 	purge_line_number_notes and copy_loop_headers.
+ 
+ 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	   Richard Henderson  <rth@redhat.com>
+ 
+ 	* dbxout.c (dbxout_global_decl): New.
+ 	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
+ 	* sdbout.c (sdbout_finish): New.
+ 	(sdbout_debug_hooks): Use it, add comments.
+ 	(sdbout_global_decl): Defer initialized public vars to
+ 	sdbout_finish.
+ 	* varasm.c (assemble_variable): Don't output debug information
+ 	for file-scope variables.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (get_trap_mode_suffix): New.
+ 	(get_round_mode_suffix): New.
+ 	(print_operand): Use them for [/].  Remove support for [&'`()+].
+ 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
+ 	* config/alpha/alpha.md (attr round_suffix): New.
+ 	(attr trap_suffix): New.
+ 	(all insns): Set them appropriately.  Use %/ instead of the
+ 	myriad punctuators.
+ 
+ 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
+ 
+ 2001-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (regrename_optimize): Compute nregs for each
+ 	potential target register.
+ 
+ 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	   Richard Henderson  <rth@redhat.com>
+ 
+ 	* dbxout.c (dbxout_global_decl): New.
+ 	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
+ 	* sdbout.c (sdbout_finish): New.
+ 	(sdbout_debug_hooks): Use it, add comments.
+ 	(sdbout_global_decl): Defer initialized public vars to
+ 	sdbout_finish.
+ 	* varasm.c (assemble_variable): Don't output debug information
+ 	for file-scope variables.
+ 
+ 2001-07-21  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/mips/mips.c (mips_cpu): Moved into ...
+ 	(override_options): Here.
+ 
+ 	* config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
+ 	mips_tune.
+ 	(mips_cpu): Removed.
+ 
+ 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
+ 	("iorqi3"): Likewise.
+ 	("xorqi3"): Likewise.
+ 	("*addhi3"): Fix constraint to avoid reloading in a soft register.
+ 	("*subhi3_sp): Likewise.
+ 	("*subhi3"): Likewise.
+ 	("extendhisi2"): Accept D, X and Y as source operand to avoid
+ 	reload problems.
+ 
+ 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
+ 	* config/freebsd.h: Likewise.
+ 	* config/linux.h: Likewise.
+ 	* config/openbsd.h: Likewise.
+ 	* config/alpha/linux-elf.h: Likewise.
+ 	* config/arm/linux-elf.h: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/fr30/fr30.h: Likewise.
+ 	* config/ia64/aix.h: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/pj/pj.h: Likewise.
+ 	* config/rs6000/linux.h: Likewise.
+ 	* config/sparc/linux.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 
+ 2001-07-20  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
+ 	because getc() and char* may disagree on signedness.
+ 
+ 2001-07-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/rtl.texi (REG_DEAD): Update for current semantics.
+ 
+ 	* flow.c (try_redirect_by_replacing_jump): Correctly compute which
+ 	insns to delete in the presence of cc0 in a jump insn.
+ 
+ Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
+ 				Jan Hubicka  <jh@suse.cz>
+ 
+ 	* m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
+ 	of doing the change by hand.
+ 
+ Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (set_noop_p): Return true for noop jumps.
+ 
+ 	* expr.c (emit_single_push_insn): Add call to push expander.
+ 	* expr.h (optab_index): Add OTI_push
+ 	(push_optab): New constant.
+ 	* genopinit.c (optabs): Add push_optab.
+ 	* optabs.c (init_optab): Init push optab.
+ 	* md.texi (push??1): Document
+ 
+ 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
+ 	expand to emit the pattern; put a REG_INC note for push/pop
+ 	instructions.
+ 	("movdf", "movdf_internal"): Likewise.
+ 	("movsi", "movsi_internal"): Likewise.
+ 	("movsf", "movsf_internal"): Likewise.
+ 	("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
+ 
+ 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
+ 	gen_highpart.
+ 
+ 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* params.def: Change default max inline insns to 100.
+ 
+ 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Generate a new shift operation
+ 	when simplifying the first operand of a (neg (ashift)) expression.
+ 
+ 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* regclass.c (N_REG_INTS): Use only 32 bits per element.
+ 
+ 2001-07-20  Kelley Cook  <kelley.cook@home.com>
+ 
+ 	* doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
+ 	information.   Move rest into ...
+ 	(*-*-solaris): ... here.  Eliminate redundant information and
+ 	reword necessary packages section.  Delete 4.x assembler bug info.
+ 	(sparc-sun-*): Merge into ...
+ 	(sparc-sun-sunos*): here.
+ 
+ 2001-07-20  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.md (casesi): Generate LABEL_REF
+ 	with Pmode.
+ 
+ Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
+ 	* i386.c (ix86_zero_extend_to_Pmode): Make global.
+ 	* i386.md (strclrsi expander): Use it.
+ 
+ Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_insn_list): handle
+ 	NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
+ 	(copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
+ 	identically as to CODE_LABEL.
+ 
+ 	* fold-const (fold): Convert A/B/C to A/(B*C) and
+ 	A/(B/C) to (A/B)*C
+ 
+ 	* except.c (connect_post_landing_pads): Delete the RESX insns.
+ 
+ 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
+ 
+ 	* config/mips/mips.md (nmadd/nmsub): Use macro.
+ 
+ 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cppinit.c (remove_dup_dir): Make static.
+ 	(remove_dup_dirs): Make static. Only warn about preempting a
+ 	system directory with a non-system directory.
+ 
+ 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* ifcvt.c (noce_try_store_flag_constants): Correct order
+ 	of parameters to trunc_int_for_mode.
+ 
+ 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* reorg.c (fill_simple_delay_slots): If an instruction might throw
+ 	an exception that will be caught within this function, do not fill
+ 	its delay slot with any subsequent instruction.
+ 
+ 2001-07-19  Steve Ellcey <sje@cup.hp.com>
+ 
+ 	* tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
+ 	* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
+ 	pointer extension instruction.
+ 	* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
+ 	* simplify-rtx.c (simplify_unary_operation) Likewise.
+ 	* explow.c (convert_memory_address) Check value of
+ 	POINTERS_EXTEND_UNSIGNED to avoid some conversions when
+ 	less than zero.
+ 	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
+ 	MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
+ 	* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
+ 	Add Multilib Support.
+ 	(POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
+ 	* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
+ 	Add Multilib Support.
+ 	(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
+ 	support.
+ 	* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
+ 	* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
+ 	a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
+ 
+ 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
+ 	old and new operands in `<', `3' and `b'.
+ 
+ 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
+ 	(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
+ 	(toplev.o): Don't depend on xcoffout.h.
+ 	* c-decl.c: Include debug.h
+ 	(duplicate_decls): Use debug hook.
+ 	* dbxout.c (dbxout_source_file, dbxout_args): Make static.
+ 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
+ 	(dbxout_types): Remove.
+ 	* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
+ 	* debug.c (do_nothing_debug_hooks): Update.
+ 	(debug_true_tree, debug_nothing_rtx): New.
+ 	* debug.h (struct rtx_def): New.
+ 	(struct gcc_debug_hooks): New hooks ignore_block,
+ 	outlining_inline_function and label.
+ 	(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
+ 	dwarf2out_frame_finish): New.
+ 	* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
+ 	Make static, update prototype.
+ 	(dwarf2_debug_hooks): Update.
+ 	* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
+ 	dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
+ 	* dwarfout.c (dwarf_debug_hooks): Update.
+ 	* emit-rtl.c: Include debug.h.
+ 	(remove_unnecessary_notes): Use debug hook.
+ 	* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
+ 	(final_scan_insn): Use debug hook.
+ 	* integrate.c (output_inline_function): Use debug hook.
+ 	* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
+ 	(sdb_debug_hooks): Update.
+ 	* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
+ 	* toplev.c: Don't include xcoffout.h.
+ 	(note_outlining_of_inline_function, debug_ignore_block): Remove.
+ 	* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
+ 	Remove.
+ 	* tree.h (dwarf2out_do_frame): Remove.
+ 
+ 2001-07-19  Catherine Moore  <clm@cygnus.com>
+ 
+ 	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
+ 
+ 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): When updating a set
+ 	to the frame pointer to the hardware frame pointer, perform
+ 	the update always not just when REPLACE is set.
+ 
+ 	* reload1.c (choose_reload_regs): Don't inherit a reload
+ 	that crosses multiple registers if registers past the first
+ 	don't fit in the desired class.
+ 
+ 	* ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
+ 	when negating constants.
+ 
+ 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
+ 	* doc/tree.texi: Ditto.
+ 
+ 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
+ 	(extract_cie_info): Handle "eh" augmentation properly,
+ 	remember eh_ptr.
+ 	(struct frame_state, __frame_state_for): New.
+ 
+ 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
+ 	HANDLE_SYSV_PRAGMA): Define.
+ 	* mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
+ 	previous args.
+ 	(copy_object): Caller changed.
+ 
+ 2001-07-19  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* configure.in (assembler dwarf2 debug_line support): Define nop
+ 	insn for m68k.
+ 	* configure: Regenerated.
+ 
+ 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
+ 	dwarfout.h.
+ 	* dbxout.c (dbxout_function): Rename dbxout_function_decl, move
+ 	to conditionally compiled block.
+ 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
+ 	* dbxout.h (dbxout_function): Remove.
+ 	* debug.c (do_nothing_debug_hooks): Update.
+ 	* debug.h (struct gcc_debug_hooks): New hooks function_decl,
+ 	global_decl, deferred_inline_function.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Update.
+ 	(dwarf2out_global_decl): New.
+ 	* dwarfout.c: Don't include dwarfout.h.
+ 	(dwarfout_global_decl, dwarfout_function_decl,
+ 	dwarfout_deferred_inline_function): New.
+ 	(dwarf_debug_hooks): Update.
+ 	* dwarfout.h: Remove.
+ 	* final.c: Don't include dwarfout.h.
+ 	* sdbout.c (sdbout_global_decl): New.
+ 	(sdbout_debug_hooks): Update.
+ 	* toplev.c: Don't include dwarfout.h.
+ 	(check_global_declarations, rest_of_compilation): Use new debug hooks.
+ 	(note_deferral_of_defined_inline_function): Remove.
+ 	* toplev.h (note_deferral_of_defined_inline_function): Remove.
+ 	* ch/Makefile.in (lex.o): No dependence on dwarfout.h.
+ 	* ch/lex.c: Don't include dwarfout.h.
+ 	* cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
+ 	(semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
+ 	* cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
+ 	* cp/optimize.c: Include debug.h.
+ 	(maybe_clone_body): Use debug hook.
+ 	* cp/semantics.c: Include debug.h.
+ 	(expand_body): Use debug hook.
+ 	* po/POTFILES.in: Remove dwarfout.h.
+ 
+ 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
+ 	* c-parse.in (yyerror, _yylex): Similarly.
+ 	* cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
+ 	Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
+ 	Update comments.
+ 	* cpplib.h (CPP_INT, CPP_FLOAT): Remove.
+ 	* cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
+ 
+ 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* dwarf2out.c (dwarf2out_abstract_function): Don't emit
+ 	in-class declaration at -g1.  Fixes c++/2814.
+ 
+ 2001-07-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/md.texi (reload_in/out): Document restrictions in predicates
+ 	and constraints for these patterns.  Document empty string matching
+ 	ALL_REGS.
+ 
+ 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
+ 
+ Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c: Undo my previous patch.
+ 
+ 2001-07-18  Tom Tromey  <tromey@redhat.com>
+ 
+ 	For PR java/2812:
+ 	* configure: Rebuilt.
+ 	* configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
+ 	instead.
+ 	* aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
+ 
+ Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
+ 				Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (redirect_edge_and_branch): Bail out on complex edges.
+ 	(try_optimize_cfg): Do not remove tail recursive labels before sibcall.
+ 	* jump.c (mark_jump_label): Do not forward branches.
+ 
+ Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (delete_trivially_dead_insns): Delete the libcall block
+ 	when return value is unused.
+ 
+ Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
+ 
+ Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
+ 	on error.  We can't blindly return the result of
+ 	pthread_mutex_trylock because it returns a positive number on
+ 	error, while we must return -1 on error.
+ 	(__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
+ 	fixes.
+ 	Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
+ 
+ 2001-07-18  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* integrate.c (output_inline_function): Correct type of debug_hooks.
+ 
+ 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* combine.c (combine_simplify_rtx): DIV can be treated
+ 	associatively for floats if unsafe math optimisations are enabled.
+ 
+ 2001-07-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
+ 
+ 2001-07-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
+ 	don't force the function address into a register.
+ 	(expand_call, emit_library_call_value_1): Update callers.
+ 	* builtins.c (expand_builtin_apply): Likewise.
+ 	* expr.h (prepare_call_address): Update decl.
+ 
+ 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* config.gcc: For *-*-chorusos triplet, get chorus.h file from
+ 	config directory.
+ 	* config/i386/chorus.h: Move up.
+ 	* config/sparc/chorus.h: Likewise.
+ 	* config/rs6000/chorus.h: Likewise.
+ 	* config/chorus.h: Moved here.
+ 
+ 2001-07-17  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* configure.in  (assembler eh_frame optimization): Handle big
+ 	endian.
+ 	* configure: Regenerated.
+ 
+ Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (epxand_expr): Convert divisions into multiplications by
+ 	reciprocals if -ffast-math.
+ 
+ 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* dbxout.c (dbxout_really_begin_function): Rename to
+ 	dbxout_begin_function.
+ 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
+ 	(dbxout_begin_function): Remove.
+ 	(dbxout_function): Update.
+ 	(dbxout_source_line): Update prototype.
+ 	* dbxout.h (dbxout_begin_function): Remove.
+ 	* debug.c (do_nothing_debug_hooks): Update.
+ 	(debug_nothing_tree): Update.
+ 	(debug_nothing_charstar_rtx): Remove.
+ 	* debug.h (union tree_node): Declare.
+ 	(struct rtx_def): Remove.
+ 	(gcc_debug_hooks): New hooks begin_prologue, end_prologue,
+ 	begin_function.  Change source_line prototype.
+ 	(debug_nothing_tree): New.
+ 	(debug_nothing_charstar_rtx): Delete.
+ 	(dwarf2out_begin_prologue): Moved from ...
+ 	* tree.h: ... here.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Update.
+ 	(dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
+ 	debug info, call dwarf2out_source_line.
+ 	(dwarf2out_souce_line): Update prototype.
+ 	* dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
+ 	Change prototype, make static.
+ 	(dwarfout_source_line): Update prototype.
+ 	(dwarf_debug_hooks): Update.
+ 	* dwarfout.h (dwarfout_begin_function): Remove.
+ 	* final.c (final_start_function, final_scan_insn): Use appropriate
+ 	debug hooks, update to use notice_source_line.
+ 	(output_source_line): Rename notice_source_line.  Don't call the
+ 	source_line debug hook.
+ 	* sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
+ 	make static, update prototype.
+ 	(sdbout_mark_begin_function): Rename sdbout_begin_function, update
+ 	prototype.
+ 	(sdbout_end_prologue): New.
+ 	(sdbout_source_line): Update prototype.
+ 	(sdbout_debug_hooks): Update.
+ 	(sdbout_symbol): Remove unused var.
+ 	* sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
+ 	Delete.
+ 	* varasm.c: Include debug.h.
+ 	(assemble_start_function): Use begin_function debug_hook.
+ 	* xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+ 	update with prototype.
+ 	(xcoffout_source_line): Update prototype.
+ 	* xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
+ 	update prototype.
+ 	(xcoffout_source_line): Update prototype.
+ 
+ 2001-07-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (build_binary_op): Do not shorten unsigned
+ 	right shift after sign extension.
+ 
+ Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Attempt to simplify
+ 	a*(b/c) as (a*b)/c for floats in unsafe_math mode.
+ 
+ 	* simplify-rtx.c (avoid_constatn_pool_reference): New static function.
+ 	(simplify_binary_operation, simplify_unary_operation,
+ 	 simplify_relational_operation): Use it.
+ 
+ 	* combine.c (combine_simplify_rtx): Don't do associative law
+ 	on divisions; allow associative law on floats.
+ 
+ 2001-07-17  H.J. Lu <hjl@gnu.org>
+ 	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
+ 	ASM_OUTPUT_WEAK_ALIAS are defined.
+ 	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
+ 	* config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
+ 	Moved ...
+ 	* config/mips/iris5.h: ... here.
+ 	(HANDLE_SYSV_PRAGMA): Defined as 1.
+ 	* varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
+ 	* doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
+ 	symbol.
+ 
+ 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (all_prefix_attributes): New variable.
+ 	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
+ 	(maybe_resetattrs): New production.
+ 	(c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
+ 	maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
+ 	notype_initdcl, nested_function, notype_nested_function,
+ 	component_decl, components, components_notype,
+ 	component_declarator, component_notype_declarator,
+ 	absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
+ 	ivars, mydecl, myparm): Update.  Avoid prefix attributes just
+ 	after a comma being applied to more than one declarator.
+ 	* doc/extend.texi (Attribute Syntax): Update.  Remove
+ 	documentation of bugs that are no longer present.
+ 
+ 2001-07-13  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h: Change TUNE_MIPS* options to use
+ 	mips_tune.
+ 	(EXTRA_SPECS): Add cc1_cpu_spec.
+ 	* config/mips/mips.md (muldf3): Fix typo.
+ 
+ 2001-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m68k/m68k.c: Include expr.h and reload.h.
+ 	(print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
+ 	[general int]: Use HOST_WIDE_INT_PRINT_DEC.
+ 
+ 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (set_live_p): Take INSN argument for cc0; update callers.
+ 	(insn_live_p): Fix fall off end of function.
+ 	(dead_libcall_p): Remove COUNTS argument; update callers.
+ 	(delete_trivially_dead_insns): Remove unused variables.
+ 
+ 2001-07-17  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
+ 	x86-64 pic support.
+ 
+ 	* lcm.c (optimize_mode_switching): Avoid warning for unused
+ 	variable if !NORMAL_MODE.
+ 
+ 	* flow.c (try_crossjump_to_edge): Remove unused variable.
+ 
+ 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
+ 	atexit declaration in stdlib.h.
+ 
+ 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
+ 
+ 	* fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
+ 
+ Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
+ 	* except.c (finish_eh_generation): Update call of cleanup_cfg;
+ 	do rebuild_jump_labels instead of jump_optimize
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
+ 	* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
+ 	* flow.c (try_optimize_cfg): Remove unneeded code_labels.
+ 
+ 	* flow.c: Include timevar.h
+ 	(find_basic_block): Push/pop timevar;
+ 	(cleanup_cfg): Likewise.
+ 	* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
+ 	* Makefile: Add dependencies on timevar.h
+ 
+ 	* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
+ 	(copy_insn_list): Avoid killing of BASIC_BLOCK notes.
+ 
+ 	* rtl.h (delete_trivially_dead_insns): Add new parameter.
+ 	* toplev.c (rest_of_compilation): Update calls.
+ 	* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
+ 	(delete_trivially_dead_insns): ... here; accept new argument
+ 	preserve_basic_blocks; preserve basic blocks if set.
+ 
+ 	* reg-stack.c (stack_regs_mentioned): Return 0 if
+ 	stack_regs_mentioned_data is not initialized.
+ 	(reg_to_stack): Make stack_regs_mentioned survive after the
+ 	reg-stack is completted; do not call cleanup_cfg.
+ 	* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
+ 	make cleanup_cfg after bb-reorder to output to debug file.
+ 
+ 2001-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regclass.c (init_reg_sets): Use only 32 bits per initializer
+ 	from int_reg_class_contents.
+ 
+ 2001-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* hard-reg-set.h (regs_invalidated_by_call): Declare.
+ 	* regclass.c (regs_invalidated_by_call): Move from cse.c.
+ 	(init_reg_sets_1): Move initialization from cse_main.
+ 	* cse.c (regs_invalidated_by_call): Move to regclass.c.
+ 	(cse_main): Move its initialization also.
+ 	* df.c (df_insn_refs_record): Use regs_invalidated_by_call.
+ 	* flow.c (propagate_one_insn): Likewise.
+ 	* gcse.c (compute_hash_table): Likewise.
+ 	(compute_kill_rd, compute_store_table): Likewise.
+ 	* sched-deps.c (sched_analyze_1): Likewise.
+ 
+ Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
+ 	gen_rtx_SET.
+ 
+ 2001-07-16  Steve Ellcey <sje@cup.hp.com>
+ 
+ 	* dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
+ 	in if statement so we don't access undefined memory.
+ 
+ 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* gcse.c: Update comment at top.
+ 	Update comment on mem handling.
+ 	mem_last_set, mem_first_set, mem_set_in_block: gone.
+ 	Declaration of reg_set_info: gone.
+ 	(oprs_unchanged_p): Don't use mem_*set_* anymore. They are
+ 	pointless with load_killed_in_block_p (they are *more*
+ 	conservative then it, not less, and less accurate).
+ 	(oprs_not_set_p): Ditto.
+ 	(alloc_gcse_mem): Don't allocate mem_set_in_block
+ 	(free_gcse_mem): Don't free it, either.
+ 	(record_last_mem_set_info): Update comment in front, remove
+ 	mem_*set_* stuff. Note the reason we don't handle stores directly
+ 	here.
+ 	(compute_hash_table): Update comments to reflect reality. Remove
+ 	mem_*set_* references.
+ 	(reset_opr_set_tables): Remove mem_*set_* references.
+ 	(mark_call): Ditto.
+ 	(mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
+ 	(mark_clobber): Ditto (on both parts, we double set here too).
+ 	(expr_killed_p): Remove mem_set_in_block test.
+ 	(compute_transp): Remove mem_set_in_block test.
+ 
+ 	* ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
+ 	of edge, and removal of phi alternative to dump file.
+ 	(ssa_ccp_substitute_constants): Add note about register now being
+ 	constant, and which uses were replaced in what insns to dump file.
+ 
+ 2001-07-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
+ 	variables of type HOST_WIDEST_INT.
+ 
+ 	* libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
+ 	(__bb_exit_func): Correct type of count_max to avoid overflow.
+ 	(num_digits): Handle long long argument.
+ 
+ 	* combine.c (gen_lowpart_for_combine): Remove unused variable.
+ 
+ 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* output.h (sdb_begin_function_line): Restore as an extern
+ 	variable.
+ 	* sdbout.c (sdb_begin_function_line): Make extern.
+ 
+ 2001-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* machmode.def (Pmode): Redefine if GENERATOR_FILE.
+ 	* genrecog.c (maybe_both_true_mode): New.
+ 	(maybe_both_true_2): Use it.
+ 	(write_switch): Don't put Pmode in a switch.
+ 	* rtl.c (mode arrays): Don't explicitly size them.
+ 
+ Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Fix register_life_up_to_date
+ 	handling; move unconditional splitting before mode switching.
+ 
+ 	* i386.md (type): Add fistp type.
+ 	(i387, length_attr, scheduling definitions): Handle this type.
+ 	(fix_trunc?f?i2): Revamp to use mode switching.
+ 	(fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
+ 	* i386.h (fp_cw_mode): New enum
+ 	(OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
+ 	MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
+ 
+ Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (integrate.o): Add debug.h.
+ 	* integrate.c (debug.h): Add.
+ 	(output_inline_function): Save, reset, and restore debug_hooks.
+ 
+ 2001-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
+ 	instead of COMPARE for the EQUIV expression.
+ 
+ 2001-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (redirect_edge_and_branch_force): Initialize
+ 	global_live_at_start and global_live_at_end.
+ 	(allocate_bb_life_data): Export.
+ 	* basic-block.h (allocate_bb_life_data): Declare.
+ 	* toplev.c (rest_of_compilation): Call it.
+ 
+ 2001-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
+ 	(alpha_tablejump_best_label): New.
+ 	* config/alpha/alpha-protos.h: Declare them.
+ 	* config/alpha/alpha.md: Use braced strings for code blocks.
+ 	(tablejump_osf): Break out add with r29.
+ 	(tablejump_osf_internal): Remove.
+ 	(tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
+ 	use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
+ 
+ Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
+ 	of the movable.
+ 
+ 	* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
+ 
+ 	* i386-protos.h (ix86_split_fp_branch): Update prototype.
+ 	(ix86_fp_jump_nontrivial_p): New.
+ 	* i386.md (fp_jcc_?): Update call of split_fp_branch;
+ 	use ix86_fp_jump_nontrivial_p.
+ 	* i386.c (ix86_fp_jump_nontrivial_p): New.
+ 	(ix86_split_fp_branch): Accept code instead of rtx.
+ 	(ix86_expand_compare): Expand comparison early in case
+ 	doing so is resonably cheap.
+ 
+ 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
+ 	not 'machine'.
+ 	(CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
+ 	(CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
+ 
+ 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* dbxout.c (dbxout_source_line): Make static, update prototype.
+ 	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
+ 	(dbxout_init, dbxout_finish, dbxout_source_line,
+ 	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
+ 	* dbxout.h (dbxout_source_line): Delete.
+ 	* debug.c (debug_nothing_file, debug_nothing_file_int,
+ 	debug_nothing_file_charstar_rtx): New.
+ 	(do_nothing_debug_hooks): Update.
+ 	(debug_nothing_void, debug_nothing_charstar_rtx,
+ 	dwarf2out_end_epilogue): New.
+ 	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
+ 	* debug.h (struct rtx_def): Declare.
+ 	(gcc_debug_hooks): New hooks source_line, end_epilogue
+ 	and end_function.
+ 	(debug_nothing_void, debug_nothing_charstar_rtx,
+ 	dwarf2out_end_epilogue): New.
+ 	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
+ 	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
+ 	(dwarf2_debug_hooks): Update.
+ 	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
+ 	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
+ 	* dwarf2out.h (dwarf2out_source_line): Remove.
+ 	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
+ 	Make static, update prototype.
+ 	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
+ 	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
+ 	(dwarf_debug_hooks): Update.
+ 	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
+ 	dwarfout_end_function): Remove.
+ 	* final.c (profile_function): Use debug hooks for ending functions
+ 	and epilogues.
+ 	(output_source_line, final_end_function): Update prototype,
+ 	use debug hooks.
+ 	(final_start_function, final_scan_insn): Update.
+ 	* output.h (sdb_begin_function_line): Remove.
+ 	(final_end_function): Update prototype.
+ 	* sdbout.c (sdb_begin_function_line): Make static.
+ 	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
+ 	(sdbout_source_line): New.
+ 	(sdbout_end_epilogue, sdbout_end_function): Make static, update
+ 	prototypes.
+ 	(sdb_debug_hooks): Update.
+ 	(sdbout_init, sdbout_source_line,
+ 	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
+ 	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
+ 	* toplev.c (compile_file, rest_of_compilation): Update.
+ 	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
+ 	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
+ 	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
+ 	Update for prototype changes.
+ 	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
+ 	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
+ 
+ 2001-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (TARGET_ABI_OSF): New.
+ 	(TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
+ 	* config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
+ 	* config/alpha/alpha.c: Likewise.
+ 	* config/alpha/alpha.md: Likewise.
+ 	* config/alpha/alpha32.h: Likewise.
+ 	* config/alpha/vms.h: Likewise.
+ 	(OPEN_VMS): Remove.
+ 
+ 2001-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md: Use define_constants for unspec values.
+ 	Substitute throughout.
+ 
+ 2001-07-14  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* tree.def (EXPON_EXPR) remove. Never supported anyway.
+ 
+ 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md: Remove unused constraints from define_split's.
+ 
+ 2001-04-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (find_cond_trap): Test for exit block.
+ 
+ Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Re-install recently reverted patch.
+ 	* emit-rtl.c (try_split): Update mark_jump_label call.
+ 	* flow.c (find_sub_basic_blocks): Likewise.
+ 	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
+ 	jump_back_p): Kill.
+ 	(mark_all_labels): Kill second parameter.
+ 	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
+ 	(rebuild_jump_labels, jump_optimize_minimal): Update call
+ 	of jump_optimize_1.
+ 	(jump_optimize_1): Kill crossjumping code.
+ 	(mark_jump_label): Kill cross_jump parameter.
+ 	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
+ 	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
+ 	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
+ 	 splitting.
+ 	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
+ 	DFI_bpro.
+ 	(dump_file_info): Likewise.
+ 	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
+ 	reorganize passes to do reg-stack first, bb-reorder second.
+ 	* invoke.texi (-d letters doc): Remove the jump2 pass.
+ 
+ 2001-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (find_cond_trap): New.
+ 	(find_if_header): Call it.
+ 	(merge_if_block): Relax existing jump sanity check.
+ 	* jump.c (jump_optimize_1): Remove conditional trap handling.
+ 
+ 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
+ 	millicode.
+ 	(insn_refs_are_delayed): Correct comment.
+ 	* config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
+ 	* config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
+ 	instead of r31.  Make associated insn !TARGET_64BIT, and
+ 	provide an additional 64-bit insn that clobbers r2.
+ 	(divsi3): Likewise.
+ 	(udivsi3): Likewise.
+ 	(modsi3): Likewise.
+ 	(umodsi3): Likewise.
+ 
+ Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* bb-reorder.c (skip_insn_after_block): Get past the line number notes.
+ 
+ 	* flow.c (redirect_edge_and_branch_force, split_edge,
+ 	try_crossjump_to_edge): Use set_block_for_new_insns.
+ 	* bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
+ 
+ 2001-07-13  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/elfos.h (UNIQUE_SECTION): Enable .bss section with
+ 	the correct patch.
+ 
+ 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
+ 
+ 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (decl_attributes): Take a pointer to the node to
+ 	which attributes are to be attached, and a flags argument.
+ 	* c-common.h (enum attribute_flags): New.
+ 	(decl_attributes): Update prototype.
+ 	* c-decl.c (start_decl, push_parm_decl, finish_struct,
+ 	finish_enum, start_function): Update calls to decl_attributes.
+ 	* c-parse.in (component_declarator, component_notype_declarator,
+ 	label): Update calls to decl_attributes.
+ 
+ Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md (strlenhi): PARALLEL keyword removed.
+ 	* config/avr/avr.c (legitimate_address_p): Return value changed
+ 	from letter to register classes. For better debugging.
+ 
+ 2001-07-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* jump.c (reversed_comparison_code_parts): Fix comment typos.
+ 
+ 2001-07-13  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/elfos.h (UNIQUE_SECTION): Enable .bss section.
+ 
+ 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
+ 
+ 	* config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
+ 	correctly for shared configurations.
+ 	* config/t-libgcc-pic:  New.
+ 	* config/{i386,m68k,sparc}/t-openbsd:  New.
+ 	* config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
+ 	Support -shared.  Support debugging libraries with -g.
+ 	* config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
+ 	frame information does not emit pointer diffs.
+ 	* config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
+ 	emit pointer diffs.
+ 
+ 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
+ 
+ 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* combine.c (try_combine): Ensure const_int pow2 is positive.
+ 
+ 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config.gcc: Add configuration for s/390.
+ 	* config/s390/s390.c: New. Subroutines for code generation.
+ 	* config/s390/s390.h: New. Definitions for s/390.
+ 	* config/s390/s390-protos.h: New. Prototypes.
+ 	* config/s390/linux.h: New. Definitions for linux for s/390.
+ 	* config/s390/linux64.h: New. Definitions for linux for zSeries.
+ 	* config/s390/t-linux: New. Makefile fragment.
+ 	* config/s390/s390.md: New. Machine description for s/390 and zSeries.
+ 	* config/s390/fixdfdi.h: New. Fix L_fix*di.
+ 
+ Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (try_split): Update mark_jump_label call.
+ 	* flow.c (find_sub_basic_blocks): Likewise.
+ 	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
+ 	jump_back_p): Kill.
+ 	(mark_all_labels): Kill second parameter.
+ 	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
+ 	(rebuild_jump_labels, jump_optimize_minimal): Update call
+ 	of jump_optimize_1.
+ 	(jump_optimize_1): Kill crossjumping code.
+ 	(mark_jump_label): Kill cross_jump parameter.
+ 	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
+ 	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
+ 	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
+ 	 splitting.
+ 	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
+ 	DFI_bpro.
+ 	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
+ 	reorganize passes to do reg-stack first, bb-reorder second.
+ 	* invoke.texi (-d letters doc): Remove the jump2 pass.
+ 
+ 2001-07-12  Steve Ellcey <sje@cup.hp.com>
+ 
+ 	* toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
+ 
+ Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_optimize_cfg): Delete whole chain of trivially dead
+ 	basic blocks.
+ 	(verify_flow_info): Make diagnostics prettier.
+ 
+ Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (find_basic_blocks_1): Do not emit NOP after call.
+ 
+ 	* flow.c (outgoing_edges_match): Return early if condition reversal
+ 	failed.
+ 
+ 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (print_operand): Extend '%D' to memory operands.
+ 	(mips_move_2words): When splitting a move into two instructions,
+ 	prefix the second address operand with '%D'.
+ 
+ 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (final.o): Depend on debug.h.
+ 	* dbxout.c (dbxout_begin_block, dbxout_end_block): New.
+ 	(dbx_debug_hooks): Add new hooks.
+ 	(xcoff_debug_hooks): New.
+ 	* debug.c (debug_nothing_file_int_int): New.
+ 	(do_nothing_debug_hooks): Update.
+ 	* debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
+ 	(debug_nothing_file_int_int): New.
+ 	* dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
+ 	static, update prototype.
+ 	(dwarf2_debug_hooks): Update.
+ 	* dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
+ 	* dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
+ 	static, update prototype.
+ 	(dwarf_debug_hooks): Update.
+ 	* dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
+ 	* final.c: Include debug.h.
+ 	(final_scan_insn): Use debug hooks when beginning and ending blocks.
+ 	* sdbout.c (sdbout_begin_block, sdbout_end_block): Make
+ 	static, update prototype.
+ 	(sdb_debug_hooks): Update.
+ 	* sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
+ 	* toplev.c: Distinguish between xcoff and dbx.
+ 
+ 	* f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
+ 	Call all debug hooks, not just dwarf ones.
+ 
+ 2001-07-11  Timothy Wall  <twall@redhat.com>
+ 
+ 	* config.gcc: Add configuration for AIX5/IA64.
+ 	* config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
+ 	* config/ia64/crt[in].asm: New.  Generic static ctor/dtor
+ 	support prefix/suffix code.
+ 	* config/ia64/t-aix: New.  Makefile fragment.
+ 	* config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
+ 
+ 2001-07-11  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* recog.c (validate_change): Fix a comment typo.
+ 
+ 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
+ 	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
+ 	hooks directly.
+ 	* dbxout.c (dbx_debug_hooks): Add new hooks.
+ 	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
+ 	make static.
+ 	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
+ 	make static.
+ 	* dbxout.h (dbxout_start_new_source_file,
+ 	dbxout_resume_previous_source_file): Delete.
+ 	* debug.c (do_nothing_debug_hooks): Add new hooks.
+ 	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
+ 	(debug_nothing_int_charstar, debug_nothing_int): New.
+ 	* debug.h (gcc_debug_hooks): New hooks define, undef,
+ 	start_source_file and end_source_file.
+ 	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
+ 	(debug_nothing_int_charstar, debug_nothing_int): New.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
+ 	the conditionally compiled section.
+ 	(dwarf2out_start_source_file, dwarf2out_end_source_file,
+ 	dwarf2out_define, dwarf2out_undef): Make static.
+ 	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
+ 	dwarf2out_define, dwarf2out_undef): Remove.
+ 	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
+ 	(dwarfout_start_source_file, dwarfout_end_source_file,
+ 	dwarfout_define, dwarfout_undef): Make static.
+ 	(dwarfout_start_source_file_check,
+ 	dwarfout_end_source_file_check): New.
+ 	(dwarfout_define, dwarfout_finish): Update.
+ 	* dwarfout.h (dwarfout_start_new_source_file,
+ 	dwarfout_resume_previous_source_file, dwarfout_define,
+ 	dwarfout_undef): Remove.
+ 	* sdbout.c (sdb_debug_hooks): Add new hooks.
+ 	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
+ 	make static.
+ 	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
+ 	make static, take an arg.
+ 	* sdbout.h (sdbout_start_new_source_file,
+ 	sdbout_resume_previous_source_file): Delete.
+ 	* toplev.c (debug_start_source_file, debug_end_source_file,
+ 	debug_define, debug_undef): Delete.
+ 	* toplev.h (debug_start_source_file, debug_end_source_file,
+ 	debug_define, debug_undef): Delete.
+ 
+ 	* java/jcf-parse.c: Include debug.h.
+ 	(parse_class_file): Update to use debug hooks directly.
+ 	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.
+ 
+ Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (set_mem_alias_set): New function.
+ 	* rtl.h (set_mem_alias_set): Declare it.
+ 	* builtins.c (expand_builtin_return_addr): Call it instead of
+ 	using MEM_ALIAS_SET accessor.
+ 	(expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
+ 	(get_memory_rtx, expand_builtin_va_arg): Likewise.
+ 	(expand_builtin_va_copy):Likewise.
+ 	* caller-save.c (setup_save_areas): Likewise.
+ 	* calls.c (compute_argument_addresses): Likewise.
+ 	* explow.c (set_mem_attributes): Likewise.
+ 	* expr.c (emit_single_push_insn, emit_push_insn): Likewise.
+ 	(expand_assignment, store_constructor_field, store_field): Likewise.
+ 	(expand_expr_unaligned): Likewise.
+ 	* function.c (assign_stack_temp_for_type): Likewise.
+ 	(put_reg_into_stack, gen_mem_addressof): Likewise.
+ 	* ifcvt.c (noce_try_cmove_arith): Likewise.
+ 	* reload1.c (reload, alter_reg): Likewise.
+ 	* config/alpha/alpha.c (get_aligned_mem): Likewise.
+ 	(alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
+ 	(alpha_expand_unaligned_store): Likewise
+ 	(alpha_expand_unaligned_load_words): Likewise.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 	(alpha_expand_block_clear, alpha_expand_prologue): Likewise.
+ 	(alpha_expand_epilogue): Likewise.
+ 	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
+ 	* config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
+ 	* config/i386/i386.c (legitimize_pic_address): Likewise.
+ 	* config/i960/i960.c (setup_incoming_varargs): Likewise.
+ 	* config/ia64/ia64.c (spill_restore_mem): Likewise.
+ 	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
+ 	* config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
+ 	* config/mips/mips.c (mips_va_arg): Likewise.
+ 	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
+ 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
+ 	(setup_incoming_varargs, rs6000_va_arg): Likewise.
+ 	(rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
+ 	(rs6000_emit_epilogue): Likewise.
+ 	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
+ 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
+ 	* config/v850/v850.c (v850_va_arg): Likewise.
+ 
+ Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (merge_blocks_move_successor_nojumps): Do not crash
+ 	when fallthru edge is present.
+ 	(mege_blocks): Handle case where creation of jump insn
+ 	is required.
+ 
+ 	* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
+ 	CLEANUP_POST_REGSTACK): New constants.
+ 	* except.c (finish_eh_generation): Update call of cleanup_cfg,
+ 	* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
+ 	* output.h (cleanup_cfg): Update prototype.
+ 	* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
+ 	cleanup_cfg call; kill missleading comment.
+ 	* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
+ 	* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
+ 	parameter; control optimizations performed using it.
+ 	(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+ 	try_crossjump_bb): New functions.
+ 
+ 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (pa_output_function_prologue): Delete prototype.  Make function
+ 	extern.
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
+ 	pa_output_function_prologue.
+ 	* pa-protos.h (pa_output_function_prologue): New prototype.
+ 
+ 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* stmt.c (emit_case_nodes): Widen high and low instead of new_bound
+ 	and low to get correct sign extension in low+high test.
+ 
+ 2001-07-11  Janis Johnson <janis@us.ibm.com>
+ 
+ 	* gcov.c (arcdata): Use gcov_type to fix branch percentage
+ 	for large hit count.
+ 
+ 	* profile.c (branch_prob): Fix .bbg info for computed gotos
+ 	and C++ EH code.
+ 
+ 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (parse_output_constraint): New function, split out
+ 	from ...
+ 	(expand_asm_operands): ... here.  Use parse_output_constraint.
+ 	* tree.h (parse_output_constraint): Declare it.
+ 
+ 2001-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bitmap.c: Comment some functions; fiddle whitespace.
+ 	(bitmap_free): Don't export.
+ 	(bitmap_element_allocate): Use memset.
+ 	* bitmap.h (bitmap_free): Don't declare.
+ 
+ 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* gcse.c, lcm.c, sched-deps.c:
+ 	s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
+ 
+ 	* flow.c (flow_loops_find): Free dom if we found no loops, since
+ 	we aren't going to save it.
+ 
+ 	* lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
+ 	done.
+ 
+ Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
+ 
+ Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
+ 	#ifndef DWARF2_DEBUGGING_INFO.
+ 
+ 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
+ 
+ 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (gen_int_relational): Tell the caller not to
+ 	reverse a branch if a NE comparison is implemented with GTU.
+ 
+ 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
+ 	    H.J. Lu  <hjl@gnu.org>
+ 
+ 	* mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
+ 	constant addresses.
+ 	(call_internal2): Likewise.
+ 	(call_value_internal1): Likewise.
+ 	(call_value_internal2): Likewise.
+ 	(call_value_multiple_internal1): Likewise.
+ 	(call_value_multiple_internal2): Likewise.
+ 
+ 2001-07-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Fix a comment typo.
+ 	* dwarf2out.c (mem_loc_descriptor): Likewise.
+ 	* config/i386/i386.c (ix86_expand_aligntest): Likewise.
+ 
+ 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix typo in comment
+ 
+ Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* recog.c (offsettable_address_p): Handle LO_SUM case.
+ 	* config/mips/mips.c (double_memory_operand): Use adjust_address_nv
+ 	instead of plus_constant.
+ 
+ 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
+ 	fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
+ 
+ Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
+ 	adjust_address_nv instead of plus_constant.
+ 
+ 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
+ 	dwarf2out.o): Depend on debug.h, wrap long lines.
+ 	* dbxout.c: Include debug.h.
+ 	(dbx_debug_hooks): New.
+ 	(dbxout_init): Make static, take just 2 args.
+ 	(dbxout_finish): Make static.
+ 	* dbxout.h (dbxout_init, dbxout_finish): Delete.
+ 	* debug.c: New file.
+ 	* debug.h: New file.
+ 	* dwarf2out.c: Include debug.h.
+ 	(dwarf2_debug_hooks): New.
+ 	(dwarf2out_init): Make static.
+ 	(dwarf2out_finish): Make static, take 2 args.
+ 	* dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
+ 	* dwarfout.c: Include debug.h.
+ 	(dwarf_debug_hooks): New.
+ 	(dwarfout_init): Make static.
+ 	(dwarfout_finish): Make static, take 2 args.
+ 	* dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
+ 	* sdbout.c: Include debug.h.
+ 	(sdb_debug_hooks): New.
+ 	(sdbout_init): Make static, take 2 args.
+ 	* sdbout.h (sdbout_init): Delete.
+ 	* toplev.c: Include debug.h.
+ 	(debug_hooks): New.
+ 	(compile_file): Set deubg_hooks based on command line options.
+ 	Use the hooks unconditionally rather than conditional compilation.
+ 
+ Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
+ 	first_insn_after_basic_block_note instead.
+ 
+ 	* df.c (df_bb_refs_unlink): #if 0 out for now.
+ 
+ 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
+ 
+ 	* ssa.h: Add prototype for ssa_const_prop
+ 	* ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
+ 	(ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
+ 	(ssa_fast_dce): Remove unused variable
+ 
+ 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.c (finish_diagnostic): Rename to
+ 	diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
+ 	calls thourghout.
+ 
+ 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
+ 	.loc support.
+ 
+ 	* collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
+ 	(dump_file): Only pad the demangled name with spaces if the
+ 	mangled name was padded with spaces.
+ 
+ 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
+ 	edge detection.
+ 
+ Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
+ 	extraction if no direct load if either EXPAND_CONST_ADDRESS or
+ 	EXPAND_INITIALIZER.
+ 
+ 	* emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
+ 	whether can put offset inside LO_SUM to check mode alignment, not size.
+ 
+ 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* doc/tm.texi (Misc): Fix thinko.
+ 
+ 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* regmove.c (replace_in_call_usage): Fix warnings.
+ 	* sched-deps.c (add_dependence): Fix warnings.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	Return NULL_RTX instead of NULL.
+ 
+ 	* reg-stack.c (emit_swap_insn): Eliminate warnings.
+ 	(subst_asm_stack_regs): Likewise.
+ 
+ 	* combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
+ 	warnings.
+ 
+ 	* dwarf2out.c (output_call_frame_info): Declare i as int.
+ 	(build_abbrev_table): Declare n_alloc as int.
+ 	(dwarf2out_finish): Initialize die.
+ 	* except.c: Declare sjlj_funcdef_number as unsigned.
+ 	(connect_post_landing_pads): Declare j as unsigned.
+ 	(convert_to_eh_region_ranges): Initialize call_site.
+ 	(output_function_exception_table): Initialize tt_format_size.
+ 	* expr.c (move_by_pieces_1): Initialize to1.
+ 	(store_constructor): Initialize minelt and maxelt.
+ 	* flow.c (mark_regs_live_at_end): Declare i as unsigned.
+ 	* function.c (instantiate_decls): Avoid signed/unsigned warning.
+ 
+ 	* c-decl.c (combine_parm_decls): Unused, remove.
+ 	* c-tree.h: Remove prototype for combine_parm_decls.
+ 
+ 	* reload.c (push_reload): Fix warning.
+ 	(regno_clobbered_p): Likewise.
+ 	* reload1.c (replace_pseudos_in_call_usage): Likewise.
+ 	(reload_combine): Likewise.
+ 
+ 	* bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
+ 	* bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
+ 	warnings.
+ 	* bitmap.c (bitmap_operation): Change user.
+ 	* bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
+ 
+ 2001-07-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Fix typo.
+ 
+ 2001-07-09  Stan Shebs  <shebs@apple.com>
+ 
+ 	* target.h (struct gcc_target): New fields init_builtins and
+ 	expand_builtin.
+ 	* target-def.h (TARGET_INIT_BUILTINS): New macro.
+ 	(TARGET_EXPAND_BUILTIN): New macro.
+ 	(TARGET_INITIALIZER): Add them.
+ 	* builtins.c: Include target.h.
+ 	(expand_builtin): Use targetm.expand_builtin.
+ 	(default_init_builtins): New function.
+ 	(default_expand_builtin): New function.
+ 	* expr.h (default_init_builtins): Declare.
+ 	(default_expand_builtin): Declare.
+ 	* c-common.c (c_common_nodes_and_builtins): Use
+ 	targetm.init_builtins.
+ 	* defaults.h (MD_INIT_BUILTINS): Remove.
+ 	* Makefile.in (builtins.o): Depend on target.h.
+ 
+ 	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
+ 	(TARGET_EXPAND_BUILTIN): Define.
+ 	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
+ 	(MD_EXPAND_BUILTIN): Remove.
+ 
+ 	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
+ 	(TARGET_EXPAND_BUILTIN): Define.
+ 	(c4x_init_builtins): Make endlink arg a local.
+ 	(c4x_print_operand): Fix typos in adjust_address usages.
+ 	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
+ 	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
+ 	(MD_EXPAND_BUILTIN): Remove.
+ 
+ 	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
+ 	(TARGET_EXPAND_BUILTIN): Define.
+ 	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
+ 	(ix86_init_builtins): Call new function only if TARGET_MMX.
+ 	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
+ 	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
+ 	(MD_EXPAND_BUILTIN): Remove.
+ 
+ 	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
+ 	(TARGET_EXPAND_BUILTIN): Define.
+ 	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
+ 	(MD_EXPAND_BUILTIN): Remove.
+ 
+ 	* doc/tm.texi: Document these changes.
+ 
+ 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* basic-block.h (tree_node): Forward declare if needed.
+ 	(struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
+ 	(BLOCK_HEAD_TREE): Define.
+ 	(BLOCK_END_TREE): Define.
+ 	(struct loops): Rename field 'tree' to 'tree_root'.
+ 	* flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
+ 	'end_tree'.
+ 	(flow_loops_tree_build): Rename reference to field 'tree' to
+ 	'tree_root'.
+ 	(flow_loops_level_compute): Ditto.
+ 	* predict.c (estimate_bb_frequencies): Ditto.
+ 	* tree.h (struct tree_common): Add field 'aux'.
+ 
+ 2001-07-09  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (darwin_encode_section_info): Don't mark any
+ 	DECL_EXTERNAL node as defined.
+ 
+ 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (pa_init_machine_status, pa_mark_machine_status,
+ 	pa_free_machine_status, hppa_init_pic_save): Delete.
+ 	(hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
+ 	(hppa_profile_hook): Use hppa_pic_save_rtx.
+ 	* pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
+ 	hppa_init_pic_save): Delete.
+ 	(hppa_pic_save_rtx): Declare.
+ 	* pa.md (call, call_value, sibcall, sibcall_value,
+ 	builtin_setjmp_receiver): Use hppa_pic_save_rtx.
+ 
+ 2001-07-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
+ 	* config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
+ 
+ 2001-07-09  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* output.h: Add declaration of final_forward_branch_p.
+ 
+ 	* config/i386/i386.c (output_fix_trunc): Remove unused variable.
+ 
+ 	* varray.c: Include errors.h for internal_error and trim_filename
+ 	declarations.
+ 
+ 	* Makefile.in (varray.o): Add errors.h.
+ 
+ 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
+ 	* optabs.c (have_add2_insn): Check whether the add insn chosen
+ 	really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
+ 	* reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
+ 
+ Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (OBJS): Add ssa-ccp.o
+ 	(ssa-ccp.o): Add dependencies.
+ 	* toplev.c (DFI_ssa_ccp): New dump file enum.
+ 	(dump_file): Add entry for dumping after SSA CCP.
+ 	(flag_ssa_ccp): New flag variable.
+ 	(f_options): Add -fssa-ccp.
+ 	(rest_of_compilation): Run SSA CCP if requested.
+ 	* timevar.def (TV_SSA_CCP): New timevar.
+ 	* ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
+ 	* doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
+ 	Fix minor typo in SSA DCE documentation.
+ 	* doc/invoke.texi: Add documentation for new flag -fssa-ccp.
+ 	Add documentation for new dump option.  Renumber dump files
+ 	appropriately.
+ 
+ Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (gen_highpart_mode): New.
+ 	* rtl.h (gen_highpart_mode): Declare.
+ 	* sparc.md (insn splitters): Use gen_highpart_mode, whenever the
+ 	operand can be VOIDmode constant.
+ 
+ Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (redirect_edge_and_branch_force): New.
+ 	(can_fallthru): Ensure that basic blocks are succeeding.
+ 	(try_optimize_cfg): Do not delete basic block if it is the last one.
+ 
+ 	* flow.c (try_redirect_by_replacing_jump): Do not remove
+ 	jumps with side effects, unlink chain on fallthru edge;
+ 	set block for new jump instruction; avoid basic block to
+ 	over by line number note.
+ 
+ 	* flow.c (try_simplify_condjump): Verify that the condjump
+ 	is not always falling through.
+ 
+ 	Re-install patch:
+ 	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
+ 
+ 	* flow.c (forwarder_block_p): Fix for fallthru blocks.
+ 	(try_redirect_by_replacing_jump): Update properly the count
+ 	and frequency information.
+ 
+ Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (adjust_address, adjust_address_nv): Handle an
+ 	address that is a LO_SUM specially.
+ 	* explow.c (plus_constant_wide, case LO_SUM): Deleted.
+ 
+ 	* c-lang.c (start_cdtor): Remove extra parameter from start_function.
+ 
+ 	* emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
+ 	(operand_subword): Use them.
+ 	(change_address_1): Renamed from change_address; new arg VALIDATE.
+ 	* expr.h: Reflect above changes; change_address now macro.
+ 	* alias.c (canon_rtx): Use replace_equiv_address_nv instead of
+ 	making MEM.
+ 	* cselib.c (add_mem_for_addr): Likewise.
+ 	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
+ 	* regmove.c (try_apply_stack_adjustment): Likewise.
+ 	* reload.c (push_reload, make_memloc): Likewise.
+ 	* reload1.c (eliminate_regs): Likewise.
+ 	* simplify-rtx.c (simplify_replace_rtx): Likewise.
+ 	* caller-save.c (setup_save_areas): Use adjust_address_nv instead of
+ 	adjust_addess.
+ 	* combine.c (make_extraction, simplify_shift_const): Likewise.
+ 	(gen_lowpart_for_combine): Likewise.
+ 	* cse.c (gen_lowpart_if_possible): Likewise.
+ 	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
+ 	* expr.c (expand_expr, case COMPONENT_REF): Likewise.
+ 	* optabs.c (gen_move_insn): Likewise.
+ 	* reload1.c (alter_reg): Likewise.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	* stmt.c (expand_anon_union_decl): Likewise.
+ 	* recog.c (validate_replace_rtx_1): Likewise.
+ 	(expr.h): Include.
+ 	* Makefile.in (recog.o): Add $(EXPR_H).
+ 	* explow.c (stabilize): Call replace_equiv_address.
+ 	* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
+ 	* final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
+ 
+ 2001-07-03  Andrew Haley  <aph@redhat.com>
+ 
+ 	* expmed.c (store_fixed_bit_field): Don't use a mode bigger than
+ 	the mode of the memory location.
+ 
+ 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
+ 
+ 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
+ 
+ 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* final.c (output_addr_const): Use target opening and
+ 	closing parentheses.
+ 	* target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
+ 	defaults, add to TARGET_ASM_OUT.
+ 	* target.h (struct gcc_target): Add open_paren and close_paren.
+ 	* doc/md.texi: Update.
+ 	* doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
+ 	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
+ 	TARGET_ASM_CLOSE_PAREN.
+ 	* config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
+ 	Override.
+ 	* config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
+ 	Override.
+ 	* config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
+ 	* config/a29k/a29k.h: Similarly.
+ 	* config/alpha/alpha.h: Similarly.
+ 	* config/arc/arc.h: Similarly.
+ 	* config/arm/aof.h: Similarly.
+ 	* config/arm/aout.h: Similarly.
+ 	* config/avr/avr.h: Similarly.
+ 	* config/c4x/c4x.h: Similarly.
+ 	* config/clipper/clipper.h: Similarly.
+ 	* config/convex/convex.h: Similarly.
+ 	* config/d30v/d30v.h: Similarly.
+ 	* config/dsp16xx/dsp16xx.h: Similarly.
+ 	* config/elxsi/elxsi.h: Similarly.
+ 	* config/fr30/fr30.h: Similarly.
+ 	* config/h8300/h8300.h: Similarly.
+ 	* config/i370/i370.h: Similarly.
+ 	* config/i386/i386.h: Similarly.
+ 	* config/i860/i860.h: Similarly.
+ 	* config/i960/i960.h: Similarly.
+ 	* config/ia64/ia64.h: Similarly.
+ 	* config/m32r/m32r.h: Similarly.
+ 	* config/m68hc11/m68hc11.h: Similarly.
+ 	* config/m68k/m68k.h: Similarly.
+ 	* config/m88k/m88k.h: Similarly.
+ 	* config/mcore/mcore.h: Similarly.
+ 	* config/mips/mips.h: Similarly.
+ 	* config/mn10200/mn10200.h: Similarly.
+ 	* config/mn10300/mn10300.h: Similarly.
+ 	* config/ns32k/ns32k.h: Similarly.
+ 	* config/pa/pa.h: Similarly.
+ 	* config/pdp11/pdp11.h: Similarly.
+ 	* config/pj/pj.h: Similarly.
+ 	* config/romp/romp.h: Similarly.
+ 	* config/rs6000/rs6000.h: Similarly.
+ 	* config/sh/sh.h: Similarly.
+ 	* config/sparc/sparc.h: Similarly.
+ 	* config/v850/v850.h: Similarly.
+ 	* config/vax/vax.h: Similarly.
+ 	* config/we32k/we32k.h: Similarly.
+ 
+ 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi: Document representation of attributes.
+ 
+ 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/tm.texi: Update some places for the rename of target to
+ 	targetm.  Fix typo.
+ 
+ 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* target.h (struct gcc_target): Add insert_attributes.
+ 	* target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
+ 	(TARGET_INITIALIZER): Update.
+ 	* tree.c, tree.h (default_insert_attributes): New function.
+ 	Update comments on other default functions to refer to targetm,
+ 	not target.
+ 	* doc/tm.texi (INSERT_ATTRIBUTES): Update to document
+ 	TARGET_INSERT_ATTRIBUTES.
+ 	(SET_DEFAULT_DECL_ATTRIBUTES): Remove.
+ 	* c-common.c (decl_attributes): Use targetm.insert_attributes.
+ 	Don't use PRAGMA_INSERT_ATTRIBUTES.
+ 	* Makefile.in (c-common.o): Depend on $(TARGET_H).
+ 	* c-decl.c (start_decl, start_function): Don't call
+ 	SET_DEFAULT_DECL_ATTRIBUTES.
+ 	* config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
+ 	* config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
+ 	declare.
+ 	* config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
+ 	(c4x_check_attribute): Avoid modifying attribute list itself.
+ 	(c4x_set_default_attributes): Rename to c4x_insert_attributes.
+ 	Make static.
+ 	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
+ 	* config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
+ 	declare.
+ 	* config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
+ 	(sh_pragma_insert_attributes): Rename to sh_insert_attributes.
+ 	Make static.
+ 	* config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
+ 	* config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
+ 	declare.
+ 	* config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
+ 	(v850_set_default_decl_attr): Rename to v850_insert_attributes.
+ 	Adjust parameters.  Make static.
+ 
+ 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (decl_attributes): Only take a single attributes
+ 	parameter.
+ 	* c-common.h (decl_attributes): Update prototype.
+ 	* c-decl.c (start_decl, start_function): Only take a single
+ 	attributes parameter.  Update calls to decl_attributes.
+ 	(finish_struct, finish_enum): Update calls to decl_attributes.
+ 	(push_parm_decl): Expect unified list of attributes.  Update call
+ 	to decl_attributes.
+ 	* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
+ 	notype_nested_function, component_declarator,
+ 	component_notype_declarator, label): Update calls to
+ 	decl_attributes.
+ 	(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
+ 	lists that are passed to push_parm_decl.
+ 	* c-tree.h (start_function, start_decl): Update prototypes.
+ 	* config/sh/sh-protos.h, config/sh/sh.c
+ 	(sh_pragma_insert_attributes): Only take a single attributes
+ 	parameter.
+ 	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
+ 	* doc/tm.texi (INSERT_ATTRIBUTES): Update.
+ 	* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
+ 	build_module_descriptor, generate_static_references,
+ 	generate_strings, build_selector_translation_table,
+ 	generate_descriptor_table, generate_protocols,
+ 	generate_ivars_list, generate_dispatch_table,
+ 	generate_protocol_list, generate_category,
+ 	generate_shared_structures, really_start_method, add_objc_decls,
+ 	generate_classref_translation_entry): Update calls to start_decl
+ 	and start_function.
+ 	(build_tmp_function_decl, start_method_def): Unify attribute lists
+ 	that are passed to push_parm_decl.
+ 
+ 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* final.c (no_asm_to_stream): New.
+ 	(final_scan_insn): Use target structures for prologue ends
+ 	and epilogue starts.
+ 	* output.h (no_asm_to_stream): New.
+ 	* target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
+ 	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
+ 	(TARGET_ASM_OUT): Update.
+ 	* target.h (struct gcc_target): New members function_end_prologue
+ 	and function_begin_epilogue.
+ 	* config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
+ 	* config/alpha/alpha-protos.h (output_end_prologue): Delete.
+ 	* config/alpha/alpha.c (output_end_prologue): Rename to
+ 	alpha_output_function_end_prologue.  Use in target struct
+ 	and make static.
+ 	* config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
+ 	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
+ 	* config/ia64/ia64.c (ia64_output_end_prologue): Rename to
+ 	ia64_output_function_end_prologue.  Use in target struct
+ 	and make static.
+ 	(ia64_function_prologue, ia64_function_epilogue): Rename
+ 	mistyped prototypes.
+ 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
+ 	* config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
+ 	Delete.
+ 	* config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
+ 	an use in target struct, make static.
+ 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
+ 	Delete.
+ 
+ 2001-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (emit_case_nodes): Convert modes properly in low+high test.
+ 
+ 2001-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: Remove constraints strings from define_split
+ 	and define_peephole2 patterns.
+ 	(eh_return_si, eh_return_di): Split eh_return_1 for modes.
+ 	(eh_return): Use them.
+ 
+ 2001-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
+ 	Document MD_FALLBACK_FRAME_STATE_FOR.
+ 
+ 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
+ 	Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
+ 	elimination.
+ 	* config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
+ 
+ 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
+ 	of the label inside NAME as opposed to just the end of NAME.
+ 
+ 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
+ 	* config/alpha/alpha.c (alpha_init_machine_status,
+ 	alpha_mark_machine_status, alpha_free_machine_status): Delete.
+ 	(TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
+ 	(vms_valid_decl_attribute_p): Make static, conditionally compile.
+ 	* config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
+ 
+ 2001-07-06  Stan Shebs  <shebs@apple.com>
+ 
+ 	* target.h (targetm): Rename global from "target", so as not to
+ 	conflict with local variables.
+ 	* c-decl.c: Ditto.
+ 	* c-typeck.c: Ditto.
+ 	* final.c: Ditto.
+ 	* tree.c: Ditto.
+ 	* cp/decl.c: Ditto.
+ 	* cp/decl2.c: Ditto.
+ 	* cp/typeck.c: Ditto.
+ 	* 1750a/1750a.c: Ditto.
+ 	* a29k/a29k.c: Ditto.
+ 	* arc/arc.c: Ditto.
+ 	* arm/arm.c: Ditto.
+ 	* avr/avr.c: Ditto.
+ 	* clipper/clipper.c: Ditto.
+ 	* convex/convex.c: Ditto.
+ 	* d30v/d30v.c: Ditto.
+ 	* dsp16xx/dsp16xx.c: Ditto.
+ 	* elxsi/elxsi.c: Ditto.
+ 	* fr30/fr30.c: Ditto.
+ 	* h8300/h8300.c: Ditto.
+ 	* i370/i370.c: Ditto.
+ 	* i386/i386.c: Ditto.
+ 	* i860/i860.c: Ditto.
+ 	* i960/i960.c: Ditto.
+ 	* ia64/ia64.c: Ditto.
+ 	* m32r/m32r.c: Ditto.
+ 	* m68hc11/m68hc11.c: Ditto.
+ 	* m68k/m68k.c: Ditto.
+ 	* m88k/m88k.c: Ditto.
+ 	* mips/mips.c: Ditto.
+ 	* ns32k/ns32k.c: Ditto.
+ 	* pa/pa.c: Ditto.
+ 	* pdp11/pdp11.c: Ditto.
+ 	* romp/romp.c: Ditto.
+ 	* rs6000/rs6000.c: Ditto.
+ 	* sh/sh.c: Ditto.
+ 	* sparc/sparc.c: Ditto.
+ 	* vax/vax.c: Ditto.
+ 	* we32k/we32k.c: Ditto.
+ 	* doc/tm.texi: Update the manual to match.
+ 
+ 2001-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
+ 	DWARF2_UNWIND_INFO not just whether it is defined.
+ 
+ 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Also recompute 'mode' if the
+ 	call to simplify_binary_operation returns a new pattern.
+ 
+ 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* glimits.h (__SHRT_MAX__): New.
+ 	(SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
+ 	(SHRT_MAX): Define in terms of __SHRT_MAX__.
+ 
+ 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
+ 	avoid warnings.
+ 
+ 2001-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bitmap.c (bitmap_release_memory): Move adjacent to the
+ 	allocation functions.
+ 	(bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
+ 	the implementation.  Binary search for the set bit.
+ 	(bitmap_union_of_diff): Allocate the temporary on the stack
+ 	instead of using xmalloc.
+ 
+ 2001-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (validate_pattern): Warn for constraints in
+ 	define_{expand,split,peephole2}.  Remove strict_low_part
+ 	before looking up match_dup.
+ 
+ 2001-07-06  DJ Delorie  <dj@redhat.com>
+ 
+ 	* doc/gcc.texi (Makefile): Rename to be a more general purpose
+ 	chapter about various build hints and history.  Add section
+ 	talking about the various types of native and cross builds.
+ 
+ 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (final.o): Depend on target.h.
+ 	* final.c: Include target.h.
+ 	(default_function_pro_epilogue): New.
+ 	(final_start_function): Use target structure for function prologues.
+ 	(final_end_function): Use target structure for function epilogues.
+ 	* fold-const.c (real_hex_to_f): Constify s and p.
+ 	* output.h (default_function_pro_epilogue): New.
+ 	* real.h (real_hex_to_f): Update prototype.
+ 	* target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
+ 	TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
+ 	(TARGET_INITIALIZER): Update.
+ 	* target.h (gcc_target): Add struct asm_out.
+ 	* doc/tm.texi: Update.
+ 
+ config:
+ 	Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
+ 	TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
+ 	in cpu/cpu.c, or rename old functions consistently.  Take
+ 	a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
+ 	redundant macros and prototypes.  Make new functions static.
+ 
+ 	* 1750a/1750a.c: Similarly.
+ 	* 1750a/1750a.h: Similarly.
+ 	* a29k/a29k-protos.h: Similarly.
+ 	* a29k/a29k.c: Similarly.
+ 	* a29k/a29k.h: Similarly.
+ 	* arc/arc-protos.h: Similarly.
+ 	* arc/arc.c: Similarly.
+ 	* arc/arc.h: Similarly.
+ 	* arm/arm-protos.h: Similarly.
+ 	* arm/arm.c: Similarly.
+ 	* arm/arm.h: Similarly.
+ 	* avr/avr-protos.h: Similarly.
+ 	* avr/avr.c: Similarly.
+ 	* avr/avr.h: Similarly.
+ 	* clipper/clipper-protos.h: Similarly.
+ 	* clipper/clipper.c: Similarly.
+ 	* clipper/clipper.h: Similarly.
+ 	* convex/convex.c: Similarly.
+ 	* convex/convex.h: Similarly.
+ 	* d30v/d30v-protos.h: Similarly.
+ 	* d30v/d30v.c: Similarly.
+ 	* d30v/d30v.h: Similarly.
+ 	* d30v/d30v.md: Similarly.
+ 	* dsp16xx/dsp16xx-protos.h: Similarly.
+ 	* dsp16xx/dsp16xx.c: Similarly.
+ 	* dsp16xx/dsp16xx.h: Similarly.
+ 	* elxsi/elxsi.c: Similarly.
+ 	* elxsi/elxsi.h: Similarly.
+ 	* fr30/fr30.c: Similarly.
+ 	* fr30/fr30.md: Similarly.
+ 	* h8300/h8300-protos.h: Similarly.
+ 	* h8300/h8300.c: Similarly.
+ 	* h8300/h8300.h: Similarly.
+ 	* i370/i370-protos.h: Similarly.
+ 	* i370/i370.c: Similarly.
+ 	* i370/i370.h: Similarly.
+ 	* i386/i386.c: Similarly.
+ 	* i386/osf1elf.h: Similarly.
+ 	* i386/osfrose.h: Similarly.
+ 	* i860/i860-protos.h: Similarly.
+ 	* i860/i860.c: Similarly.
+ 	* i860/i860.h: Similarly.
+ 	* i960/i960-protos.h: Similarly.
+ 	* i960/i960.c: Similarly.
+ 	* i960/i960.h: Similarly.
+ 	* ia64/ia64-protos.h: Similarly.
+ 	* ia64/ia64.c: Similarly.
+ 	* ia64/ia64.h: Similarly.
+ 	* m32r/m32r-protos.h: Similarly.
+ 	* m32r/m32r.c: Similarly.
+ 	* m32r/m32r.h: Similarly.
+ 	* m68hc11/m68hc11-protos.h: Similarly.
+ 	* m68hc11/m68hc11.c: Similarly.
+ 	* m68hc11/m68hc11.h: Similarly.
+ 	* m68k/crds.h: Similarly.
+ 	* m68k/dpx2.h: Similarly.
+ 	* m68k/m68k-protos.h: Similarly.
+ 	* m68k/m68k.c: Similarly.
+ 	* m68k/m68k.h: Similarly.
+ 	* m68k/news.h: Similarly.
+ 	* m88k/m88k-protos.h: Similarly.
+ 	* m88k/m88k.c: Similarly.
+ 	* m88k/m88k.h: Similarly.
+ 	* mips/mips-protos.h: Similarly.
+ 	* mips/mips.c: Similarly.
+ 	* mips/mips.h: Similarly.
+ 	* ns32k/merlin.h: Similarly.
+ 	* ns32k/ns32k.c: Similarly.
+ 	* ns32k/ns32k.h: Similarly.
+ 	* ns32k/tek6000.h: Similarly.
+ 	* pa/pa-protos.h: Similarly.
+ 	* pa/pa.c: Similarly.
+ 	* pa/pa.h: Similarly.
+ 	* pdp11/2bsd.h: Similarly.
+ 	* pdp11/pdp11-protos.h: Similarly.
+ 	* pdp11/pdp11.c: Similarly.
+ 	* pdp11/pdp11.h: Similarly.
+ 	* romp/romp-protos.h: Similarly.
+ 	* romp/romp.c: Similarly.
+ 	* romp/romp.h: Similarly.
+ 	* rs6000/rs6000-protos.h: Similarly.
+ 	* rs6000/rs6000.c: Similarly.
+ 	* rs6000/rs6000.h: Similarly.
+ 	* rs6000/sysv4.h: Similarly.
+ 	* sh/sh-protos.h: Similarly.
+ 	* sh/sh.c: Similarly.
+ 	* sh/sh.h: Similarly.
+ 	* sparc/sparc-protos.h: Similarly.
+ 	* sparc/sparc.c: Similarly.
+ 	* sparc/sparc.h: Similarly.
+ 	* vax/vax.c: Similarly.
+ 	* vax/vax.h: Similarly.
+ 	* vax/vms.h: Similarly.
+ 	* we32k/we32k.c: Similarly.
+ 	* we32k/we32k.h: Similarly.
+ 
+ Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* basic-block.h (first_insn_after_basic_block_note): Declare.
+ 	* flow.c (first_insn_after_basic_block_note): Define.  Moved
+ 	from...
+ 	* ssa.c (first_insn_after_basic_block_note): Remove.
+ 	* ssa-dce.c (find_inherently_necessary): Consider BARRIERs
+ 	necessary.
+ 	(ssa_eliminate_dead_code): Properly update the CFG and PHI
+ 	nodes when we find a dead conditional branch.  Insert BARRIERs
+ 	after any blocks with no successors, but which do not have
+ 	any BARRIERs.
+ 
+ 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* varray.c (varray_check_failed): Use internal_error.
+ 
+ 2001-07-05  Andrew Haley  <aph@redhat.com>
+ 
+ 	* Makefile.in (LIB2_DIVMOD_FUNCS): New.
+ 	(LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
+ 	* mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
+ 
+ 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
+ 	reference if the target constant is also a SYMBOL_REF.
+ 
+ 2001-07-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_MIPS3900): Remove.
+ 	(MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
+ 	MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
+ 	(TARGET_MIPS3900): Change to use mips_arch.
+ 	(TARGET_MIPS4000): New.
+ 	(TARGET_MIPS4100): New.
+ 	(TARGET_MIPS4300): New.
+ 	(TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
+ 	(SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
+ 	for -mipsX.
+ 	(GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
+ 	(ISA_HAS_BRANCHLIKELY): To here.
+ 	(CC1_CPU_SPEC):	 New.
+ 	(CC1_SPEC): Use here.  Remove 4650 and 3900 options.
+ 	(mips_arch_string): Declare.
+ 	(mips_arch): Declare.
+ 	(TARGET_OPTIONS): Add -march and -mtune.
+ 
+ 	* config/mips/mips.c (mips_arch_string): New.
+ 	(mips_arch): New.
+ 	(override_options): Handle -march for codegen and -mtune
+ 	for scheduling. Use mips_arch. Move tx39 target default here.
+ 	(mips_parse_cpu): Move error message to override_options.
+ 
+ 	* config/mips/r3900.h (TARGET_DEFAULT): Remove.
+ 
+ 	* config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
+ 
+ 	* doc/invoke.texi (Option Summary): Add -march and -mtune entries.
+ 	(MIPS Options): Ditto.	Change mcpu entry to historical text.
+ 
+ 2001-07-05  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config/mips/mips.c (mips_parse_cpu): New function to parse
+ 	-march=*/-mcpu=*.
+ 
+ 2001-07-05  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
+ 	* config/ia64/t-ia64: Likewise.
+ 	(LIB1ASMFUNCS): Update comment.
+ 
+ 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (Install GCC: Binaries): Fix typo.
+ 
+ 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
+ 	reference using the stack pointer, adjust it since we push Y
+ 	temporarily.
+ 	("*ashrsi3"): Likewise.
+ 	("*lshrsi3"): Likewise.
+ 
+ 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
+ 	when -fomit-frame-pointer is used.
+ 
+ 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* flow.c: Reverse Jan Hubicka's patch of 02July2001.
+ 	(try_redirect_by_replacing_jump): Reverse updating properly the
+ 	count and frequency information.  Reverse removing cc0 setter.
+ 	(forwarder_block_p): Reverse fixing for fallthru blocks.
+ 
+ 2001-07-05  DJ Delorie  <dj@redhat.com>
+ 
+ 	* gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
+ 	(translate_options): If the above is defined, use it to map
+ 	given options to new options.
+ 	* doc/tm.texi: Document it.
+ 
+ 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/invoke.texi (Optimize Options): Document that -fgcse may
+ 	cause programs using computed gotos to run more slowly.
+ 
+ 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific): Markup, spelling and typo fixes.
+ 	Fixed sorting.
+ 	Consistently require binutils 2.11.2, not prereleases.
+ 	(Specific, decstation-*): Canonicalize as mips-dec-*.
+ 	(Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
+ 	always necessary.
+ 	(Specific, m68k-altos): Removed reference to README.altos, deleted.
+ 	(Specific, mips-*): Reword MIPS C compiler requirements.
+ 	(Specific, powerpc*-*-*): New, mention --with-cpu once.
+ 	(Specific, sunv5): Removed, obsolete.
+ 
+ 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* dwarf2out.c (output_loc_list): Use an all ones mask for
+ 	.text asm output and don't rely on long long
+ 	literals. Reformat some long lines.
+ 
+ 2001-07-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
+ 	section.
+ 
+ 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* dwarf2out.c (dwarf2out_define): Update comment.
+ 	(dwarf2out_undef): Ditto.
+ 	(dwarf2out_start_source_file): Ditto.
+ 	(dwarf2out_end_source_file): Ditto.
+ 	(dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
+ 	since we never call the start/end debug hook for the primary file.
+ 
+ 2001-07-04  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove an extra operand
+ 	from shll.
+ 
+ 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cppinit.c (remove_dup_dirs): Inform if a system include
+ 	directory is being reordered.
+ 	* doc/invoke.texi (Directory Options): GCC warns if you hide a
+ 	system include.
+ 	* doc/cpp.texi (Search Paths): Likewise.
+ 	* doc/gcc.texi (Interoperation): Remove information about
+ 	-I/usr/include.
+ 
+ 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
+ 	(VARRAY_TOP_CHAR_PTR): Likewise.
+ 
+ 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (process_command): Don't assign elements of a const char*.
+ 
+ Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (change_address): Don't abort if invalid address while
+ 	reload is in progress.
+ 
+ 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* c-lex.c (cb_file_change): Pass line number to
+ 	debug_start_source_file.
+ 	(cb_undefine): Pass correct line number to debug_undef.
+ 
+ 	* toplev.c (debug_start_source_file): Add line number to
+ 	parameters. Pass it along to dwarf2out_start_source_file.
+ 	(decode_g_option): Stop resetting debug level back to normal when
+ 	we change debug formats, unless the current level is
+ 	none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
+ 	3).
+ 
+ 	* toplev.h (debug_start_source_file): Add line number to
+ 	parameters.
+ 
+ 	* dwarf2out.h (dwarf2out_start_source_file): Add line number to
+ 	parameters.
+ 
+ 	* dwarf2out.c (dwarf2out_start_source_file): Add line number to
+ 	parameters.
+ 	Output debug_macinfo data for starting file if requested.
+ 	(dwarf2out_end_source_file): Output debug_macinfo data for ending
+ 	file if requested.
+ 	(dwarf2out_define): Output debug_macinfo data for defining a macro
+ 	if requested.
+ 	(dwarf2out_undef): Output debug_macinfo data for undefining a
+ 	macro if requested.
+ 	(DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
+ 	(DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
+ 	(macinfo_section_label): New. DWARF2 macro info section label.
+ 	(dwarf2out_init): If we want macro info, output the start label
+ 	for the section.
+ 	(dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
+ 	attribute to the compilation unit die pointing to the macro info.
+ 
+ 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* dwarf2out.c (new_loc_list): Move to inside #ifdef
+ 	DWARF2_DEBUGGING_INFO.
+ 	(add_loc_descr_to_loc_list): Ditto.
+ 	(output_loc_list): Ditto.
+ 	Also, fix thinko in curr not being initialized.
+ 	(gen_internal_sym): Ditto.
+ 
+ Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (replace_equiv_address): New function.
+ 	* expr.h (replace_equiv_address): New declaration.
+ 	* explow.c (validize_mem): Call it instead of change_address and
+ 	also call if -fforce-addr and address is constant.
+ 	* expr.c: Replace more calls to change_address with adjust_address
+ 	and/or replace_equiv_address or to validize_mem.
+ 	* function.c, regmove.c, config/alpha/alpha.c: Likewise.
+ 	* config/arm/arm.md, config/clipper/clipper.md: Likewise.
+ 	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
+ 	* config/i370/i370.md, config/i860/i860.md: Likewise.
+ 	* config/i960/i960.md, config/mips/mips.c: Likewise.
+ 	* config/mips/mips.md, config/pa/pa.md: Likewise.
+ 	* config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
+ 
+ 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
+ 
+ 	* bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
+ 	function.
+ 
+ 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/include: New directory.
+ 	* doc/fdl.texi: Move to doc/include/fdl.texi.
+ 	* doc/texinfo.tex: Move to doc/include/texinfo.tex.
+ 	* doc/include/funding.texi, doc/include/gpl.texi: New files.
+ 	* doc/gcc.texi: Use funding.texi and gpl.texi.
+ 	* Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
+ 	$(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
+ 	Update dependencies and use -I $(docdir)/include.
+ 
+ 2001-07-04  Anthony Green  <green@redhat.com>
+ 
+ 	* config/v850/t-v850 (v850-c.o): Add missing dependencies.
+ 
+ 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (sparc64-*-*): Remove garbage.
+ 
+ Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
+ 	Fix typo in last change to use adjust_address.
+ 
+ 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): Update information for *-*-solaris*.
+ 
+ Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (plus_constant_wide): Reinitialize Y for restart.
+ 
+ 2001-07-03  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
+ 	case for flag_no_mach_text_sections.
+ 	(EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
+ 	* config/darwin.c (flag_no_mach_text_sections): Remove.
+ 	* config/darwin-protos.h (darwin_init_pragma): Remove decl.
+ 
+ Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (plus_constant_wide, case PLUS): Call find_constant_term
+ 	and avoid checking for constant as first operand.
+ 	* recog.c (find_constant_term_loc): No longer static.
+ 	(adj_offettable_operand): Delete.
+ 	* rtl.h (adj_offsettable_operand): Delete declaration.
+ 	(find_constant_term): Add declaration.
+ 	* caller-save.c: Replace calls to adj_offsettable_operand with calls
+ 	to adjust_address.
+ 	* config/arm/arm.c, config/c4x/c4x.c: Likewise.
+ 	* config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
+ 	* config/i386/i386.c, config/i386/i386.md: Likewise.
+ 	* config/i860/i860.c, config/i960/i960.c: Likewise.
+ 	* config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
+ 	* config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
+ 	* config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
+ 	* config/mips/mips.c, config/mips/mips.md: Likewise.
+ 	* config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
+ 	* config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
+ 	* config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
+ 	* config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
+ 	* config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
+ 	* config/ns32k/ns32k.md: Likewise.
+ 
+ 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* rtl.c (copy_rtx): Handle 'T' format letter.
+ 	* gensupport.c (collect_insn_data): Likewise.
+ 	* print-rtl.c (print_rtx): Print 'T' slots like 's'.
+ 
+ 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* doc/invoke.texi (Directory Options): Specifiy range for <N> in
+ 	-B option.  Use 'dir' not 'foo' as example directory name.
+ 
+ 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
+ 
+ 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/cppinternals.texi: Improve formatting and logical markup.
+ 
+ 2001-07-03  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (insn-recog.o): Add dependency on reload.h.
+ 
+ 	* genrecog.c (write_header): Include reload.h for prototypes in
+ 	insn-recog.c.
+ 
+ 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config:
+ 	* i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
+ 	i386_pe_valid_type_attribute_p): Add.
+ 	* i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
+ 	* i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
+ 
+ Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (plus_constant_wide, case LO_SUM): New case.
+ 	(plus_constant_for_output_wide): Delete.
+ 	* rtl.h (plus_constant_for_output): Delete.
+ 	* alias.c (canon_rtx, init_alias_analysis): Call plus_constant
+ 	instead of plus_constant_for_output.
+ 	* recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
+ 	* config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
+ 	* config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
+ 	* config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 	Convert some change_address calls to adjust_address.
+ 
+ 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
+ 	doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
+ 	documentation of -std and -Wwrite-strings.
+ 
+ 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* cse.c (canon_hash): Don't register registers in very small
+ 	register classes, as extending their lifetime might cause
+ 	reload to fail.
+ 
+ Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
+ 
+ 	* flow.c (forwarder_block_p): Fix for fallthru blocks.
+ 	(try_redirect_by_replacing_jump): Update properly the count
+ 	and frequency information.
+ 
+ Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (dump_file_index): Move SSA dumps just after first
+ 	jump dump.
+ 	(dump_file): Corresponding changes.
+ 	(rest_of_compilation): Move SSA path to just after the first
+ 	jump pass.
+ 	* doc/gcc.texi (Passes): Update due to movement of SSA path.
+ 	* doc/invoke.texi: Update dump file #s as they were completely
+ 	out of date with reality.
+ 
+ 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
+ 
+ 	* expr.c (emit_move_insn_1): Deal with non-default
+ 	STACK_PUSH_CODE.
+ 
+ 	* expr.c (emit_single_push_insn): Fix warning.
+ 
+ 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* expr.c (emit_move_insn_1): Avoid modifying
+ 	cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
+ 
+ Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (adjust_address): New function.
+ 	* expr.h (adjust_address): Add declaration.
+ 	* builtins.c: Replace some calls to change_address with calls to it
+ 	or to validize_mem.
+ 	* caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
+ 	* function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
+ 	* config/arm/arm.c, config/convex/convex.c: Likewise.
+ 	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
+ 	* config/i386/i386.c, config/i386/i386.md: Likewise.
+ 	* config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
+ 	* config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
+ 	* config/m88k/m88k.c, config/mips/mips.md: Likewise.
+ 	* config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
+ 	* config/sh/sh.c, config/sparc/sparc.md: Likewise.
+ 
+ 2001-07-02  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
+ 
+ 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
+ 	* config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
+ 
+ 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* cppinit.c (lang_defaults): New table.
+ 	(set_lang): Just read from lang_defaults into the live options
+ 	structure.
+ 
+ 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
+ 	* doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
+ 	* doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
+ 
+ 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi: Various spelling and markup fixes.
+ 	(Installing GCC): Component specific installation instructions are
+ 	gone.
+ 	Fix reference.
+ 	Warn about removing old install dir in the presence of shared libs.
+ 	(Configuration): Invoke with options target to match configure
+ 	--help.
+ 	Consistently refer to gas, gld pathnames.
+ 	Invert --enable-multilib documentation.
+ 	Remove references to old compiler versions.
+ 
+ Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
+ 
+ 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
+ 	section.
+ 	(Specific, mips*-sgi-irix5): Note IDO download.
+ 	Reworded MIPS C hints.
+ 	Use GNU as instead of GAS.
+ 	Markup fixes.
+ 	Removed SGI Freeware reference, IRIX 6 only.
+ 	(Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
+ 	Note N64 library requirement/workaround.
+ 	Update O32 hints.
+ 	Complete list of structure passing bug victims.
+ 
+ 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi: Remove CVS Id.
+ 
+ 2001-07-02  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
+ 	(find_inherently_necessary): Remove unused variable.
+ 
+ 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.h (TDI_inlined): New ast dump phase.
+ 	(dump_flag_name): New function.
+ 	* c-dump.c (dump_files): Add inlined phase.
+ 	(dump_flag_name): Define.
+ 	* doc/invoke.texi (-fdump-ast-inlined): Document.
+ 
+ Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_decl): Revert change to handling of alignment
+ 	in packed types.
+ 
+ Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
+ 	for FIELD_DECL.
+ 
+ 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/tm.texi (FUNCTION_ARG): Document that the last call
+ 	is special.
+ 
+ 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tlink.c (recompile_files): Remove COMPILER_PATH and
+ 	LIBRARY_PATH from the environment.
+ 
+ 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
+ 	RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
+ 	enumerators.
+ 	(OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
+ 
+ 	* c-parse.in (OBJC_STRING): Kill.
+ 	(objc_string): Decompose to [objc_string] '@' STRING.
+ 	(reswords): Take the leading '@' off all the Objective-C keywords.
+ 	(objc_rid_sans_at): Kill.
+ 	(init_reswords): Don't initialize it.
+ 	(yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
+ 	(_yylex): Kill reconsider label.  Look ahead one token after
+ 	an '@'; if we get an identifier, check whether it's an
+ 	Objective-C @-keyword.  If so, return the keyword.  Otherwise,
+ 	put back the token and return the '@' as a terminal.
+ 
+ 	* cpplib.c (lex_macro_node): Remove unnecessary check for
+ 	leading '@' on identifier.  Clarify control flow and commentary.
+ 
+ Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cse.c (new_label_ref): Variable deleted.
+ 	(insert): Remove set of new_label_ref.
+ 	(check_for_label_ref): New function.
+ 	(cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
+ 
+ 2001-06-30  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
+ 	Change output-template slot to format 'T'.
+ 	* rtl.h (XTMPL): New.
+ 	* read-rtl.c (read_escape): New function.
+ 	(read_quoted_string, read_braced_string): Use it.
+ 	(read_rtx): Set star_if_braced from the format string.
+ 	Use XTMPL where appropriate.
+ 	* genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
+ 	template string.
+ 
+ 	* rtl.c: Include errors.h for sake of rtl_check_failed* routines.
+ 	Document 'T' in rtx format strings.
+ 	* Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
+ 	* errors.c (internal_error): Add missing ": " at end of string.
+ 
+ 	* i860.md: Change triple backslashes to double backslashes at
+ 	ends of lines in output templates.
+ 	* ns32k.md: Remove stray backslash-newline in output template.
+ 
+ 2001-06-29  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* gcc.c (process_command): Append a DIR_SEPARATOR to a path
+ 	specified by the -B switch, if doing so would create a valid
+ 	directory name.
+ 	* doc/invoke.texi: Document changed behavior of -B.
+ 
+ 2001-06-29  DJ Delorie  <dj@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
+ 	least get rid of the CONCAT if we can't simplify further.
+ 
+ Fri Jun 29 12:27:24 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* simplify-rtx.c (simplify_rtx): Use swap_commutative_operands_p.
+ 
+ 	* doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
+ 	changes.  Fix documentation for SSA DCE pass.
+ 
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Renamed from
+ 	eliminate_date_code.
+ 	* ssa.h (ssa_eliminate_dead_code): Corresponding changes.
+ 	* timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
+ 	* toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
+ 	(dump_file_info): Similar changes.
+ 	(flag_ssa_dce): Similarly
+ 	(f_options): Similar changes.
+ 	(rest_of_compilation): Corresponding changes.
+ 	* doc/invoke.texi: Update as option is now -fssa-dce instead
+ 	of -fdce.  Update dump file name.
+ 
+ 	* ssa-dce.c (note_inherently_necessary_set): New function.
+ 	(find_inherently_necessary): Use it.  Do not consider
+ 	NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
+ 	handling of asms and unspecs.
+ 	(delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
+ 
+ 2001-06-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* target.h (struct gcc_target): Add comp_type_attributes and
+ 	set_default_type_attributes.
+ 	* target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
+ 	TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
+ 	(TARGET_INITIALIZER): Update.
+ 	* doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
+ 	Update documentation of old target macros to describe new target
+ 	hooks.
+ 	* tree.c (make_node): Use target.set_default_type_attributes.
+ 	(default_comp_type_attributes,
+ 	default_set_default_type_attributes): New functions.
+ 	* tree.h (default_comp_type_attributes,
+ 	default_set_default_type_attributes): Declare.
+ 	* c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
+ 	(comptypes): Use target.comp_type_attributes.
+ 	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
+ 	(arc_comp_type_attributes, arc_set_default_type_attributes,
+ 	COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
+ 	functions and macros with default behavior.
+ 	* config/m32r/m32r-protos.h, config/m32r/m32r.c,
+ 	config/m32r/m32r.h (m32r_comp_type_attributes,
+ 	m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+ 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+ 	config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
+ 	m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+ 	* config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
+ 	config/ns32k/ns32k.h (ns32k_comp_type_attributes,
+ 	COMP_TYPE_ATTRIBUTES): Likewise.
+ 	* config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h (rs6000_comp_type_attributes,
+ 	rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+ 	* config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
+ 	definitions.
+ 	* config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+ 	* config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
+ 	* config/arm/arm.c (arm_comp_type_attributes,
+ 	arm_set_default_type_attributes): Make static.
+ 	(TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
+ 	Define.
+ 	* config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
+ 	SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
+ 	* config/arm/arm-protos.h (arm_comp_type_attributes,
+ 	arm_set_default_type_attributes): Don't declare.
+ 	* config/i386/i386.c (ix86_comp_type_attributes): Make static.
+ 	(TARGET_COMP_TYPE_ATTRIBUTES): Define.
+ 	* config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
+ 	* config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
+ 	declare.
+ 
+ 2001-06-28  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* predict.c (dump_prediction): Eliminate fprintf warning.
+ 
+ 2001-06-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* flow.c (dump_bb): Remove unused third argument to call
+ 	to fprintf when displaying the basic block header.
+ 
+ 2001-06-28  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 	    Jeff Law <law@redhat.com>
+ 
+ 	* Makefile.in (OBJS): Add df.o
+ 	(df.o): Add dependencies.
+ 	* basic-block.h (flow_depth_first_order_compute): Declare.
+ 	* flow.c (flow_depth_first_order_compute): No longer declare.
+ 	Make external.
+ 	* df.c, df.h: New files.
+ 
+ 2001-06-28  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config/i386/i386.md: Global update to use new string syntax
+ 	where it will improve readability.  Warning fixes:
+ 	(*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
+ 	(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
+ 	*adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
+ 
+ 	* read-rtl.c: Syntactic sugar for C embedded in strings in
+ 	machine descriptions.
+ 	(read_string): Break inner loop into separate function.  Takes
+ 	an int.  Dispatch to read_quoted_string or read_braced_string
+ 	as appropriate.  Automatically insert a leading star on braced
+ 	strings if STAR_IF_BRACED is true.
+ 	(read_quoted_string, read_braced_string): New functions.
+ 	* doc/rtl.texi, doc/md.texi: Document new syntax.  Update
+ 	examples to match.
+ 
+ 	* rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
+ 	traverse_md_constants, fatal_with_file_and_line,
+ 	fatal_expected_char, read_name, read_string, def_hash,
+ 	def_name_eq_p, read_constants, and related data) to its own
+ 	file.  Weed out now-unnecessary #includes.
+ 	* read-rtl.c: New file.
+ 	* Makefile.in (HOST_RTL): Add read-rtl.o.
+ 	(read-rtl.o): New rule.
+ 	(rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
+ 	* doc/gcc.texi (Passes): Talk briefly about the support
+ 	library used by genfoo.
+ 	* doc/rtl.texi (Reading RTL): read_rtx is not available in the
+ 	compiler itself.
+ 
+ 2001-06-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
+ 	* config/darwin-c.c: New file.
+ 	* config/darwin-protos.h: Declare new functions.
+ 	* config/rs6000/t-darwin (darwin-c.o): New rule.
+ 	* config.gcc (powerpc-*-darwin*): Define c_target_objs and
+ 	cxx_target_objs.
+ 	* doc/extend.texi (Pragmas): New section.
+ 
+ Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (try_merge_block): Rename to try_optimize_cfg;
+ 	do basic simplifications on the CFG.
+ 	(is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
+ 	 try_simplify_condjump): New.
+ 	(redirect_edge_and_branch): Try replace jump insn.
+ 	(flow_delete_insn): Handle deleting of ADDR_VEC insns.
+ 
+ 	* basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
+ 
+ Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa-dce.c (eliminate_dead_code): Properly handle control
+ 	dependencies implied by PHI nodes.
+ 
+ 	* ssa-dce.c (eliminate_dead_code): Remove fake edges from the
+ 	CFG after dead code elimination is complete.
+ 
+ 2001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gthr-posix.h [LIBOBJC]: Add weak definitions of
+ 	sched_get_priority_max, sched_get_priority_min.
+ 
+ 2001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (default_print_error_function): Tweak.
+ 	(report_error_function): Likewise.
+ 	* toplev.h (default_print_error_function): Move to...
+ 	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
+ 	* tree.h (print_error_function): Move to...
+ 	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
+ 
+ Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_assignment): When have varying-length object,
+ 	make MEM a BLKmode.
+ 	(expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
+ 	SAVE_EXPR stack in case we had a SUBREG.
+ 
+ Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cmp?i): Simplify; refuse immediate operand
+ 	in alternative 0
+ 	* i386.c (cmpsi_operand): Refuse constants.
+ 
+ 	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
+ 
+ 	* flow.c (block_label, redirect_edge_and_branch): Split out from ....
+ 	(split_edge) .... here;
+ 
+ 2001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* i386/i386.c (ix86_valid_type_attribute_p): Give external
+ 	linkage, move declaration to...
+ 	* i386/i386-protos.h: ...here.
+ 
+ 2001-06-27  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* build-make (CC): Removed.
+ 	(HOST_CC): Set to $(CC_FOR_BUILD).
+ 	(HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD).
+ 	Fix a typo in comments.
+ 
+ 	* configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when
+ 	generating auto-build.h for canadian cross compile. Set CC
+ 	to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
+ 	Save/restore CFLAGS.
+ 	* configure: Regenerated.
+ 
+ 2001-06-27  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* emit-rtl.c (gen_highpart): Call validize_mem.
+ 
+ 2001-06-27  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
+ 	hpux10_cpp_pow_inline.  Not similar enough.
+ 	(solaris_mutex_init): renamed.  PTHREAD_*_INITIALIZER is a problem for
+ 	all Solaris versions.  This fix patches MUTEX and COND initializers,
+ 	the RWLOCK one will wait for someone to complain.  For now, anyway.
+ 	(uw7_byteorder_fix): It was looking for the byteorder.h file in the
+ 	wrong directory.
+ 
+ 2001-06-27  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (handle_impent): Rewrite to be more portable
+ 	and to use ASM_DECLARE_CLASS_REFERENCE.
+ 	* config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
+ 	undocumented DECLARE_CLASS_REFERENCE, add file argument.
+ 	* doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
+ 
+ Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
+ 	by putting complex operands first and constants second.
+ 
+ 2001-06-27  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h: Add documentation. Make macros polymorphic.
+ 	* diagnostic.c (ideal_line_wrap_cutoff): Remove
+ 	definition. Replace with diagnostic_line_cutoff.
+ 	(prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
+ 
+ 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
+ 	doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
+ 	doc/gcov.texi, doc/install-old.texi, doc/install.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
+ 	. at end of sentences preceded by a capital letter with @..
+ 
+ 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* doc/invoke.texi: Add description of max-gcse-passes param.
+ 
+ 	* gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
+ 	(MAX_PASSES): Remove now unneeded macro.
+ 
+ 	* params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
+ 	max-gcse-passes param.
+ 
+ 	* params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
+ 	maximum number of GCSE passes to run. Defaults to 1 (which is what
+ 	MAX_PASSES in gcse.c used to be).
+ 
+ 2001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* system.h (TARGET_ESC): Move to ...
+ 	* defaults.h (TARGET_ESC): ... here.
+ 	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
+ 	TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
+ 	* tree.c (default_valid_attribute_p): New.
+ 	(valid_machine_attribute): Handlers can not be NULL.
+ 	* tree.h (default_valid_attribute_p): New.
+ 	* doc/tm.texi: Document TARGET_ESC.
+ 	* cp/decl2.c (import_export_class): Update.
+ 
+ 2001-06-26  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
+ 	use preprocessing directives inside a string literal.  Fixed.
+ 
+ 2001-06-26  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
+ 	Document.
+ 
+ 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
+ 	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
+ 	doc/tm.texi: Use @: where necessary when a full stop does not end
+ 	a sentence.
+ 
+ 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
+ 	whitespace.
+ 
+ 2001-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
+ 	doc/tm.texi: Use two spaces after ends of sentences.
+ 
+ 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* toplev.c (display_help): Fix param thinko.
+ 	* Makefile.in: Fix params.h dependencies.
+ 
+ 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.c (decode_f_option): Adjust setting.
+ 	(toplev_main): Call diagnostic_initialize.  Remove call to
+ 	reshape_diagnostic_buffer._
+ 
+ 	* diagnostic.h (struct output_buffer): Add new field format_decoder.
+ 	(diagnostic_format_decoder): New macro.
+ 	(diagnostic_prefixing_rule): Likewise.
+ 	(diagnostic_line_cutoff): Likewise.
+ 	(set_message_prefixing_rule): Remove.
+ 
+ 	* diagnostic.c (lang_printer): Remove.
+ 	(diagnostic_message_length_per_line): Likewise.
+ 	(current_prefixing_rule): Likewise.
+ 	(initialize_diagnostics): Rename to...
+ 	(diagnostic_initialize): ...this. Tweak.
+ 	(default_initialize_buffer): Remove.
+ 	(reshape_diagnostic_buffer): Likewise.
+ 	(init_output_buffer): Adjust prefixing rule setting.
+ 	(output_format): Use format_decoder from the output_buffer.
+ 
+ 	* c-lang.c (c_init): Adjust tree formatter setting.
+ 
+ 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
+ 
+ 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (TARGET_H, TARGET_DEF_H): New.
+ 	(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
+ 	* c-decl.c (duplicate_decls): Use function pointer.
+ 	* c-typeck.c (common_type): Similarly.
+ 	* tree.c (valid_machine_attribute): Similarly.
+ 	(merge_machine_type_attributes): Rename merge_type_attributes.
+ 	(merge_machine_decl_attributes): Rename merge_decl_attributes.
+ 	(merge_dllimport_decl_attributes): New function.
+ 	* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
+ 	(merge_machine_decl_attributes): Rename merge_decl_attributes.
+ 	(merge_dllimport_decl_attributes): New prototype.
+ 	* target.h: New.
+ 	* target-def.h: New.
+ 
+ doc:	(Joseph Myers)
+ 	* doc/gcc.texi, doc/tm.texi: Update documentation.
+ 
+ cp:	Make-lang.in: Update dependencies.
+ 	* spew.c: Include target.h.
+ 	(duplicate_decls): Call target function.
+ 	* decl2.c: include target.h
+ 	(import_export_class): Use existence of target function pointer.
+ 	* typeck.c: Include target.h.
+ 	(qualify_type_recursive): Rename variable.  Call target function.
+ 	(type_after_usual_arithmetic_conversions): Similarly.
+ 	(common_type): Similarly.
+ 
+ config:	* 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
+ 	avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
+ 	d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
+ 	i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
+ 	m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
+ 	mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
+ 	pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
+ 	sh/sh.c, sparc/sparc.c,	v850/v850.c, vax/vax.c, we32k/we32k.c)
+ 	: Include target.h and target-def.h.  Define target.
+ 
+ 	* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
+ 	* arc/arc.c (arc_valid_machine_decl_attribute): Rename
+ 	arc_valid_decl_attribute, make static.
+ 	* arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* arm/arm-protos.h (arm_valid_machine_decl_attribute,
+ 	arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
+ 	arm_pe_merge_machine_decl_attributes): Remove.
+ 	* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
+ 	arm_valid_decl_attribute_p, make static.
+ 	(arm_pe_valid_decl_attribute_p): Move from pe.c.
+ 	* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
+ 	(arm_pe_merge_machine_decl_attributes): Move to tree.c.
+ 	* arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
+ 	(VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* avr/avr-protos.h (valid_machine_type_attribute,
+ 	valid_machine_decl_attribute): Remove.
+ 	* avr/avr.c (valid_machine_type_attribute,
+ 	valid_machine_decl_attribute): Rename and make static.
+ 	* avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
+ 	VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
+ 	* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
+ 	* c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* d30v/d30v.h: Remove obsolete comments.
+ 	* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
+ 	* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
+ 	static.
+ 	* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+ 	(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
+ 	i386_pe_valid_type_attributes_p): Remove.
+ 	* i386/i386-protos.h (ix86_valid_decl_attribute_p,
+ 	ix86_valid_type_attribute_p): Remove.
+ 	* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
+ 	(ix86_valid_type_attribute_p): Make static.
+ 	* i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
+ 	* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
+ 	* ia64/ia64.c (ia64_valid_type_attribute): Make static.
+ 	* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
+ 	* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
+ 	* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
+ 	m68hc11_valid_type_attribute_p): Remove.
+ 	* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
+ 	(m68hc11_valid_type_attribute_p): Make static.
+ 	* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
+ 	mcore_merge_machine_decl_attribute): Remove.
+ 	* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
+ 	make static.
+ 	(mcore_merge_machine_decl_attributes): Move to tree.c.
+ 	* mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	(TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+ 	* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
+ 	ns32k_valid_type_attribute_p): Remove.
+ 	* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
+ 	(ns32k_valid_type_attribute_p): Make static.
+ 	* ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
+ 	rs6000_valid_type_attribute_p): Remove.
+ 	* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
+ 	(rs6000_valid_type_attribute_p): Make static.
+ 	* rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 	* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
+ 	* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
+ 	* sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
+ 	* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
+ 	* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 
+ 2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+ 
+ 	* glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
+ 	it.
+ 
+ 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (struct diagnostic_context): Add new field.
+ 	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+ 	declaratons.
+ 	(global_dc): Declare.
+ 	* diagnostic.c (global_diagnostic_context): New variable.
+ 	(global_output_buffer): Remove.
+ 	(global_dc): Define.
+ 	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
+ 	definitions.
+ 	(initialize_diagnostics): Adjust initialization.
+ 	(set_diagnostic_context): Adjust setting.
+ 
+ 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP): Define.
+ 	* config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
+ 	UNALIGNED_SHORT_ASM_OP): Undef.
+ 
+ Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (float_truncate splitter, and to mov splitters): Add
+ 	reload_completed; fix operand predicate.
+ 
+ 	* haifa-sched.c (sched_init): Do not split insns.
+ 	* toplev.c (rest_of_compilation): Call split_all_insns before
+ 	sched1 pass; simplify condition of post-reload splitter;
+ 	call split_all_insn before sched2 pass.
+ 
+ 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
+ 	(set_message_prefixing_rule): Adjust prototype.
+ 	* diagnostic.c (current_prefixing_rule): Adjust type.
+ 
+ 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* defaults.h: Default escape sequences to ASCII.
+ 	* config/i370/i370.h: Adjust for ASCII default.
+ 	* config/1750a/1750a.h: Remove escape sequence definitions.
+ 	* config/a29k/a29k.h: Similarly.
+ 	* config/alpha/alpha.h: Similarly.
+ 	* config/arc/arc.h: Similarly.
+ 	* config/arm/arm.h: Similarly.
+ 	* config/avr/avr.h: Similarly.
+ 	* config/c4x/c4x.h: Similarly.
+ 	* config/clipper/clipper.h: Similarly.
+ 	* config/convex/convex.h: Similarly.
+ 	* config/d30v/d30v.h: Similarly.
+ 	* config/dsp16xx/dsp16xx.h: Similarly.
+ 	* config/elxsi/elxsi.h: Similarly.
+ 	* config/fr30/fr30.h: Similarly.
+ 	* config/h8300/h8300.h: Similarly.
+ 	* config/i386/i386.h: Similarly.
+ 	* config/i860/i860.h: Similarly.
+ 	* config/i960/i960.h: Similarly.
+ 	* config/ia64/ia64.h: Similarly.
+ 	* config/m32r/m32r.h: Similarly.
+ 	* config/m68hc11/m68hc11.h: Similarly.
+ 	* config/m68k/m68k.h: Similarly.
+ 	* config/m88k/m88k.h: Similarly.
+ 	* config/mcore/mcore.h: Similarly.
+ 	* config/mips/mips.h: Similarly.
+ 	* config/mn10200/mn10200.h: Similarly.
+ 	* config/mn10300/mn10300.h: Similarly.
+ 	* config/ns32k/ns32k.h: Similarly.
+ 	* config/pa/pa.h: Similarly.
+ 	* config/pdp11/pdp11.h: Similarly.
+ 	* config/pj/pj.h: Similarly.
+ 	* config/romp/romp.h: Similarly.
+ 	* config/rs6000/rs6000.h: Similarly.
+ 	* config/sh/sh.h: Similarly.
+ 	* config/sparc/sparc.h: Similarly.
+ 	* config/v850/v850.h: Similarly.
+ 	* config/vax/vax.h: Similarly.
+ 	* config/we32k/we32k.h: Similarly.
+ 	* doc/tm.texi: Update documentation.
+ 
+ 2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.c (digit_buffer): Remove as global.  Move to...
+ 	* diagnostic.h (struct output_buffer): ... here.
+ 	* diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
+ 
+ 2001-06-25  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
+ 	Define tmake_file to include ia64/t-hpux.
+ 	* real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
+ 	testing to see if it is defined.
+ 	* real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
+ 	undefined.
+ 	* config/ia64/hpux_longdouble.h: New.
+ 	* config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
+ 	handling of long doubles.
+ 	(ia64_function_arg, ia64_function_value): Add checks for TFmode
+ 	and INTEL_EXTENDED_IEEE_FORMAT.
+ 	* config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+ 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
+ 	TFmode and INTEL_EXTENDED_IEEE_FORMAT.
+ 	* config/ia64/ia64.md (all TFmode patterns): Test
+ 	INTEL_EXTENDED_IEEE_FORMAT in condition.
+ 	(floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
+ 	* config/ia64/quadlib.c: New.
+ 	* config/ia64/t-hpux: New.
+ 	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
+ 
+ 2001-06-25  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/i960/t-960bare (i960-c.o): Add missing header dependencies.
+ 	* config/i960/t-vxworks960: Likewise.
+ 
+ 2001-06-25   Dale Johannesen    <dalej@apple.com>
+ 
+ 	* bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
+ 	argument to macro).
+ 
+ Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
+ 
+ 2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+ 	doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
+ 	the use of "GCC" and related terms.
+ 	* doc/gcc.1, doc/gcov.1: Regenerate.
+ 
+ 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
+ 	uses of @refill.
+ 
+ Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
+ 
+ 2001-06-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Disable if the
+ 	expression can't be re-evaluated.
+ 
+ 2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
+ 	handlers examine register r0-r7, for other interrupt handlers
+ 	examine r0-r12.  If the interrupt handler is not a leaf function
+ 	save all call clobbered registers.
+ 	(arm_output_epilogue): If the prologue has pushed the IP register,
+ 	restore it here.
+ 	(Arm_expand_prologue): For interrupt functions that need the frame
+ 	pointer, push the IP register before it is corrupted.
+ 
+ 	* config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
+ 	about the use of signed and unsigned quantities in a conditional.
+ 
+ 2001-06-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/crtfastmath.c: New file.
+ 	* config/alpha/t-crtfm: New file.
+ 	* config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
+ 	* config/alpha/osf.h (ENDFILE_SPEC): Likewise.
+ 	* config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
+ 	* config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
+ 	do not set extra_parts here.
+ 
+ 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install-old.texi: Remove more documentation of configure
+ 	options.
+ 	* doc/install.texi: Add it here.
+ 
+ Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (emit_i387_cw_initialization): Declare.
+ 	* i386.md (movsi_insv_1): Remove '*'.
+ 	(fix_trunc?f?i2): Revamp to use control word parameters.
+ 	(fix_trunc?i_1): Likewise; update splitters.
+ 	(fix splitter): Remove.
+ 	* i386.c (MAX_386_STACK_LOCALS): set to 3.
+ 	(emit_i387_cw_initialization): New function.
+ 	(output_fix_trunc): Do not initialize control word;
+ 	kill dead code; simplify.
+ 
+ 2001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (make_string_token): Avoid warning.
+ 	(cpp_macro_definition): Prepend the macro name.  Update
+ 	comments.
+ 	* cppmain.c (cb_define, dump_macro): Update for changes
+ 	to cpp_macro_definition.
+ 
+ Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
+ 
+ Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
+ 	try_pre_increment_1): compute REG_FREQ using bb->frequency.
+ 
+ 	* regclass.c (loop_cost): Kill.
+ 	(frequency): New global variable.
+ 	(record_operand_costs): Replace loop_cost by frequency.
+ 	(scan_one_insn): Likewise.
+ 	(regclass): Likewise; set frequency according to bb->frequency.
+ 
+ 	* flow.c (split_edge): Set frequency.
+ 
+ Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (block_info_def): Add nvisited.
+ 	(propagate_freq): Count nvisited; re-queue delayed blocks; handle
+ 	irreducible regions.
+ 
+ 	* flow.c (dump_edge_info): Dump the probability of edge.
+ 	(combine_predictions_for_insn): Dump the basic block.
+ 
+ 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Update documentation of source files of C
+ 	compiler.
+ 
+ 2001-06-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/invoke.texi (-funsafe-math-optimizations): Document its
+ 	possible effects at link time.
+ 
+ 2001-06-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* basic-block.h (dump_edge_info): Declare.
+ 	(clear_edges): Declare.
+ 	(mark_critical_edges): Declare.
+ 	* flow.c (dump_edge_info): Remove static declaration.
+ 	(clear_edges): Ditto.
+ 	(mark_critical_edges): Ditto.
+ 	(free_basic_block_vars): Only clear edges and free basic block
+ 	array if basic_block_info is not NULL.
+ 	* ssa.c (compute_dominance_frontiers): Remove static declaration.
+ 	* ssa.h (compute_dominance_frontiers): Declare.
+ 
+ 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
+ 
+ 	* predict.c: (expected_value_to_br_prob): Check for const_true_rtx
+ 	instead of const1_rtx for true case.
+ 
+ 2001-06-22  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/crtfastmath.c: New file.
+ 	* config/ia64/t-ia64 (EXTRA_PARTS): Include it.
+ 	* config/ia64/linux.h (ENDFILE_SPEC): New.
+ 
+ 2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/h8300/h8300.c (asm_file_start): Remove reference to
+ 	"release F-1".
+ 
+ 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (verify_tree): Check for x being NULL.
+ 	* doc/c-tree.texi: Document COMPOUND_BODY of an empty
+ 	COMPOUND_STMT.
+ 	Fixes PR c/3259.
+ 
+ 2001-06-22  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/arm/arm.h (struct machine_function): Remove ra_rtx.
+ 	* config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
+ 	(arm_return_addr): Use get_hard_reg_initial_val et al.
+ 	* config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
+ 	* config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
+ 	(d30v_return_addr): Use get_hard_reg_initial_val et al.
+ 	* config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
+ 	mark_machine_status.
+ 	(rs6000_mark_machine_status): Remove.
+ 	(rs6000_return_addr): Use get_hard_reg_initial_val.
+ 	(rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
+ 	* config/v850/v850.h (INIT_EXPANDERS): Delete.
+ 	* config/v850/v850.c (struct machine_function): Delete.
+ 	(v850_init_machine_status): Delete.
+ 	(v850_mark_machine_status): Delete.
+ 	(v850_free_machine_status): Delete.
+ 	(v850_return_addr): Use get_hard_reg_initial_val.
+ 	(v850_init_expanders): Delete.
+ 
+ Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_bb_frequencies): Do not handle conditional
+ 	jumps jumping to fallthru basic block as conditional jumps.
+ 
+ Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regs.h (struct reg_info_def): Add freq field.
+ 	(REG_N_REFS): Update comment.
+ 	(REG_FREQ): New.
+ 	* regclass.c (scan_one_insn): Update REG_FREQ.
+ 	* flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
+ 	(attempt_auto_inc): Likewise.
+ 	(mark_used_reg): Likewise.
+ 	(try_pre_increment_1): Likewise.
+ 	* local-alloc.c (struct qty): Add freq field.
+ 	(alloc_qty): Set freq.
+ 	(update_equiv_regs): Set REG_FREQ.
+ 	(QTY_CMP_PRI): Use freq.
+ 	(combine_regs): Update qty->freq.
+ 	* global.c (struct allocno): Update comment for n_refs;
+ 	add freq field.
+ 	(local_reg_freq): New array.
+ 	(global_alloc): Update freq field;
+ 	allocate and initialize local_reg_freq.
+ 	(allocno_compare): Use freq field.
+ 	(find_reg): Likewise.
+ 	* reload1.c (count_pseudo): Use freq isntead of n_refs.
+ 	(count_spilled_pseudo): Likewise.
+ 
+ 	* tm.texi (GCOV_TYPE_SIZE): Document.
+ 	* basic-block.h (gcov_type): Define.
+ 	(struct edge_def): Use gcov_type for count field.
+ 	(struct basic_block_def): Likewise.
+ 	* defaults.h (GCOV_TYPE_SIZE): Define.
+ 	* final.c (end_final): Use GCOV_TYPE_SIZE.
+ 	* flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
+ 	using HOST_WIDEST_INT_PRINT_DEC.
+ 	* gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
+ 	__write_gcov_type): New.
+ 	(store_long): Remove.
+ 	* gcov.c (gcov_type): Set default.
+ 	(struct adj_list): Use gcov_type for arc_count.
+ 	(bb_info): Use gcov_type for succ_count, pred_count and exec_count.
+ 	(create_program_flow_graph): Read arc_count properly.
+ 	(solve_program_flow_graph): 'total' is gcov_type.
+ 	(output_data): Line_counts is gcov_type, print it properly.
+ 	* libgcc2.c (struct bb): Counts is gcov_type.
+ 	(__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
+ 	* profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
+ 	(GCOV_TYPE_SIZE): Define.
+ 	(struct bb_info): succ_count and pred_count is gcov_type.
+ 	(compute_branch_probabilities): Use __read_gcov_type,
+ 	print read edges to the dump file.
+ 	(total): Is gcov_type.
+ 	(gen_edge_profiler): Use GCOV_TYPE_SIZE.
+ 
+ 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* optabs.c (emit_libcall_block): When using non-call exceptions,
+ 	don't mark libcalls never throwing.
+ 
+ 2001-06-21  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (hash_init): Use xcalloc.
+ 
+ 2001-06-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (entry_exit_blocks): Initialize frequency.
+ 	(split_block): Copy it.
+ 	(dump_flow_info): Dump it.
+ 
+ Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
+ 	from machine-depedent_reorg for purposes of alignment supression
+ 	when no delay slot insn has been added.
+ 
+ 2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (make_string_token): Null terminate.
+ 
+ 2001-06-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/alpha/alpha.h (struct machine_function): Remove.
+ 	* config/alpha/alpha.c (integrate.h): Include.
+ 	(override_options): Don't set up machine_status hooks.
+ 	(alpha_init_machine_status): Remove.
+ 	(alpha_mark_machine_status): Remove.
+ 	(alpha_free_machine_status): Remove.
+ 	(alpha_return_addr): Use get_hard_reg_initial_val.
+ 	(alpha_gp_save_rtx): Likewise.
+ 	(alpha_ra_ever_killed): Use has_hard_reg_initial_val.
+ 
+ 2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/sh/sh.md (interrupt_function): Use
+ 	current_function_interrupt.
+ 	(define_delay): Schedule in delay slot if TARGET_SH3, even if it is
+ 	an interrupt function.
+ 
+ 	* config/sh/sh.h (current_function_interrupt): Define extern.
+ 
+ 	* config/sh/sh.c (current_function_interrupt): New global.
+ 	(sh_expand_prologue): Set current_function_interrupt.
+ 
+ 2001-06-21  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* doc/install.texi:  Add 'c' to list of --enable-languages choices.
+ 
+ 2001-06-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* integrate.c (mark_hard_reg_initial_vals): Check for NULL.
+ 
+ 	* integrate.c (ggc.h): Include.
+ 	(initial_value_pair, initial_value_struct,
+ 	setup_initial_hard_reg_value_integration): Add prototypes.
+ 	(expand_inline_function): Call
+ 	setup_initial_hard_reg_value_integration.
+ 	(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
+ 	get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
+ 	to keep track of values present at the start of a function.
+ 	(mark_hard_reg_initial_vals): New, for gc.
+ 	(setup_initial_hard_reg_value_integration): New.  Sets up pseudo
+ 	mappings for initial values.
+ 	(emit_initial_value_sets): New.  Emits code to set initial value
+ 	pseudos.
+ 	* integrate.h: Add prototypes for new functions.
+ 	* function.h (struct function): Add hard_reg_initial_vals field.
+ 	* function.c (integrate.h): Include.
+ 	(mark_function_status): Call
+ 	mark_hard_reg_initial_vals.
+ 	* toplev.c (integrate.h): Include.
+ 	(rest_of_compilation): Call emit_initial_value_sets.
+ 
+ 2001-06-21  Stan Shebs  <shebs@apple.com>
+ 
+ 	* doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
+ 	doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
+ 	everywhere instead of "Objective C".
+ 
+ 2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+ 	doc/gcc.texi, doc/install-old.texi, doc/install.texi,
+ 	doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
+ 	"back end" as nouns and "front-end" and "back-end" as adjectives.
+ 
+ Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Fix loop bounds.
+ 
+ Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Run mark_constant_function
+ 	before profile-arcs.
+ 
+ Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_loops_at_level, propagate_freq
+ 	estimate_bb_frequencies, count_to_freqs): New functions.
+ 	(estimate_probability): Call estimate_bb_frequencies.
+ 	* basic-block.h (basic_block_def): Add field "freq".
+ 	(BB_FREQ_MAX): New constant.
+ 
+ Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh.c (barrier_align): Don't ask for alignment when seeing a
+ 	branch-around-a-jump from machine_dependent_reorg.
+ 
+ Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa.c (rename_block): Update parameter to remove_phi_alternative
+ 	(convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
+ 	re-running life analysis.
+ 
+ 2001-06-20  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
+ 	also use memset to clear the hash tables.
+ 	(hash_enter): Assume xmalloc always succeeds.
+ 	(hash_add_attr): Ditto.
+ 	(continue_class): Ditto.
+ 
+ 2001-06-20  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* builtins.c (predict.h): Include.
+ 	(expand_builtin_expect): Update comment.
+ 	(expand_builtin_expect_jump): New function to expand
+ 	__builtin_expect inside of a conditional jump expansion.
+ 
+ 	* expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
+ 	__builtin_expect (<test>, 1).
+ 
+ 	* Makefile.in (builtins.o): Depend on $(PREDICT_H).
+ 
+ 	* rtl.h (expand_builtin_expect_jump): Add prototype.
+ 
+ 2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/rtl.texi (Machine Modes): Correct description of
+ 	floating-point modes on machines with non-8-bit bytes.
+ 
+ 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* regmove.c (optimize_reg_copy_3): Do nothing if previous insn
+ 	carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
+ 	note.
+ 
+ Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ssa.c (remove_phi_alternative): Remove declaration.  No longer
+ 	static.  Second argument is a pointer to a basic block structure,
+ 	not a basic block index.
+ 	(convert_to_ssa): Do not remove dead code.
+ 	(convert_from_ssa): Do not remove dead code to create death notes.
+ 	* ssa.h (remove_phi_alternative): Declare.
+ 
+ 	* flow.c (delete_unreachable_blocks): Fix patch error in
+ 	previous change (call to find_unreachable_blocks was lost).
+ 
+ 	* ssa.c (ssa_uses): Remove definition.
+ 	(apply_delayed_renames): Don't grow ssa_uses.
+ 	(rename_block): Remove comment related to ssa_uses.
+ 	(rename_registers): Do not initialize ssa_uses.
+ 	(convert_from_ssa): Do not free ssa_uses.
+ 
+ 	* ssa-dce.c: Renamed from dce.c.
+ 	* Makefile.in (OBJS): Replace dce.o with ssa-dce.o
+ 	(dependencies): Replace dce.c with ssa-dce.c and dce.o with
+ 	ssa-dce.o.
+ 
+ 2001-06-19  Eric Christopher <echristo@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
+ 	and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
+ 	GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
+ 
+ Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* sh.c (output_branch): Delete bogus code.
+ 
+ 	* sh.c (initial_elimination_offset):
+ 	Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
+ 
+ Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (find_unreachable_blocks): New function.
+ 	(delete_unreachable_blocks): Use find_unreachable_blocks.
+ 	* basic-block.h (find_unreachable_blocks): Declare.
+ 
+ 	* dce.c (eliminate_dead_code): Fix formatting glitch.
+ 
+ 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* c-common.h (RETURN_NULLIFIED_P): New macro.
+ 	* c-semantics.c (genrtl_return_stmt): Check it.
+ 
+ 	* expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
+ 	(emit_block_move): Likewise.
+ 
+ Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c: Include predict.h.
+ 	(unroll_loop): Drop prediction notes on preconditioning.
+ 	* predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
+ 	New; add comments on the others.
+ 	* Makefile.in: (unroll.o): Add dependency on predict.h.
+ 	* loop.c (strength_reduce): Fix branch prediction.
+ 
+ Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* stmt.c (emit_case_nodes): Optimize test whether index is in given
+ 	interval.
+ 
+ Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Do not bail out early
+ 	when note is present.
+ 	(combine_predictions_for_insn): Fix note removal code.
+ 
+ 2001-06-18  Ben Elliston  <bje@redhat.com>
+ 
+ 	* except.c (resolve_fixup_regions): Initialize "cleanup".
+ 
+ 2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
+ 
+ Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
+ 	use put_var_into_stack.
+ 
+ 2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* gccspec.c (lang_specific_driver): If compiling ObjC, add
+ 	-shared-libgcc when necessary.
+ 	* Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
+ 
+ 2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
+ 	bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
+ 	bitmap_last_set_bit. All for compatibility with sbitmap's.
+ 
+ 	*bitmap.c (bitmap_zero): New function.
+ 	(bitmap_union_of_diffs): New function.
+ 	(bitmap_first_set_bit): New function.
+ 	(bitmap_last_set_bit): New function.
+ 
+ 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi, invoke.texi: Update.
+ 	* cpp.1, gcc.1: Regenerate.
+ 
+ Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (minsf): Fix splitter. (PR fortran/3191)
+ 
+ 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cpp.texi: Update.
+ 	* doc/cpp.1: Regenerate.
+ 
+ 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi: Use correct markup hints.
+ 
+ Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
+ 
+ 	* explow.c (expr_size): If DECL and size specified, use it.
+ 
+ 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* doc/cpp.texi: Formatting corrections.
+ 	Correct buggy example of use of __GNUC__ etc.
+ 	Clarify $ in identifiers.
+ 	* doc/cpp.1: Regenerate.
+ 
+ Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
+ 
+ 	* optabs.c (expand_twoval_binop): Avoid undefined behavior.
+ 
+ 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
+ 	etc. spelling.
+ 	(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
+ 	Added Tru64 UNIX V5.1 bootstrap hints.
+ 	(Specific, alpha*-*-osf*): Removed old section, obsolete.
+ 
+ 2001-06-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/install.texi (Specific): Mention that glibc cannot be
+ 	compiled with GCC 3.0.
+ 
+ 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* combine.c (nonzero_bits): Don't optimize away division by
+ 	zero.
+ 
+ 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* doc/cpp.texi: Revised and brought up to date.
+ 	* doc/cpp.1: Regenerate.
+ 
+ 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi: Update --enable-threads to match reality.
+ 
+ 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* doc/install.texi: Update for C4x.
+ 	* README.C4X: Remove.
+ 
+ 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+ 	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
+ 	doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
+ 	Consistently use "built-in" and "bit-field".  Minor logical markup
+ 	improvements.
+ 	* doc/gcc.1: Regenerate.
+ 
+ 2001-06-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.md (exception_receiver): New.
+ 
+ 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
+ 
+ 	* doc/gcc.texi:  Update passes documentation to be more in tune
+ 	with reality.
+ 
+ Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_prologue): Fix merging conflict.
+ 
+ 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
+ 	doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
+ 	logical markup.  Use TeX quotes and dashes.  Use @dots{} and
+ 	@minus{}.  Avoid spaces inside @var.  Update last modification
+ 	date in gcc.texi.
+ 	* doc/gcc.1, doc/gcov.1: Regenerate.
+ 
+ Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
+ 	x86_epilogue_using_move): New global variables.
+ 	(override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
+ 	(ix86_emit_save_regs_using_mov): New static function.
+ 	(ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
+ 	* i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
+ 	MASK_MIX_SSE_I387): Renumber.
+ 	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
+ 	(x86_accumulate_outgoing_args, x86_prologue_using_move,
+ 	x86_epilogue_using_move): Declare.
+ 	(TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
+ 
+ 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* inclhack.def (hpux10_cpp_pow_inline): New hack.
+ 
+ 2001-06-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Fix return value last patch.
+ 
+ 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* NEWS: Remove.
+ 
+ 2001-06-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
+ 	(cond_exec_process_if_block, dead_or_predicable): Likewise.
+ 
+ 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* mips-tfile.c (copy_object): Always pass indexNil for symbol
+ 	table index.
+ 
+ 2001-06-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (OK_FOR_T): Remove.
+ 	(EXTRA_CONSTRAINT): Do not use OK_FOR_T.
+ 	* config/h8300/h8300.md: Remove alternatives involving inc and dec
+ 	in the helper patterns for addhi3 and addsi3.
+ 
+ 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
+ 
+ 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
+ 	* libgcc-std.ver: Take out __bb* and __gcc_bcmp.
+ 
+ 	* config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
+ 	config/alpha/t-osf4, config/mips/t-iris6: Extract all
+ 	references to @shlib_map_file@, @shlib_objs@, or
+ 	@shlib_base_name@ to Makefile variables.
+ 	Bump soname version of libgcc to 1.
+ 
+ 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Use more logical markup.  Include @node
+ 	commands in the source when generating any non-HTML.
+ 
+ 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* README: Remove.  Some of the contents moved to ../README.
+ 
+ 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* doc/install.texi (--enable-shared): List package names
+ 	recognized by GCC.
+ 
+ 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* doc/install.texi (ix86-*-solaris*): Removed, outdated.
+ 	(*-*-solaris*): Document problem in /bin/sh that affects
+ 	configuring libraries.
+ 	(sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
+ 	(*-sun-solaris2.8): Document linker problem that explains why
+ 	libjava is disabled by default.
+ 
+ 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert this patch:
+ 	* toplev.c (rest_of_compilation): Remove dead code before
+ 	purge_addressof.
+ 
+ 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	Reverted:
+ 	2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
+ 	* configure: Rebuilt.
+ 
+ 2001-06-12  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* loop.c (strength_reduce): Move bl->all_reduced set before
+ 	check_ext_dependant_givs call.
+ 	(check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
+ 
+ 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Document SH's sp_switch
+ 	and trap_exit.
+ 
+ 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/invoke.texi: Use more logical markup.  Use TeX quotes,
+ 	dashes and @dots{}.
+ 
+ 2001-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_prologue): Always use
+ 	gen_pro_epilogue_adjust_stack; update arguments.
+ 	(ix86_expand_epilogue): Likewise.
+ 	(ix86_emit_epilogue_esp_adjustment): Remove.
+ 	(ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
+ 	* config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
+ 	clobber of scratch memory instead of a modification of EBP as the
+ 	barrier.  Update all peepholes to match.
+ 
+ 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Change the font used for @def... commands to a
+ 	fixed width font.
+ 	* doc/extend.texi: Use more logical markup.  Use "built-in"
+ 	instead of "builtin".  Use @deftypefn to mark up built-in
+ 	functions; specify their types in the @deftypefn and not in the
+ 	descriptive text.  Use TeX quotes and dashes.  Add more index
+ 	entries.
+ 
+ 2001-06-12  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* gcc.texi (HOST_BITS_PER_LONGLONG): Document.
+ 	(DIR_SEPARATOR_2): Likewise.
+ 
+ 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi (--exec-prefix, --bindir, --libdir,
+ 	--with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
+ 	Document.
+ 	(--enable-cpp): Change to document --disable-cpp instead; update
+ 	to reflect current default.
+ 	(--without-fast-fixincludes): Remove documentation.
+ 	(Final install): Document installation directories in more
+ 	detail.  Document use of make dvi.
+ 
+ Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_rtx_1): Fix previous patch.
+ 
+ Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_rtx_1): Do plus_constant call always.
+ 
+ Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Allow volatile memory
+ 	to be subregged in case we don't have move instruction.
+ 
+ Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c: Include predict.h
+ 	(strength_reduce): Drop branch prediction note in case
+ 	number of iterations is known.
+ 	* predict.def (PRED_LOOP_ITERATIONS): new.
+ 	* Makefile.in (loop.o): Add dependency on predict.h
+ 
+ 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
+ 
+ 	* c-typeck.c (c_start_case): Likewise.
+ 
+ 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (store_field): Don't set MEM_ALIAS_SET for a field
+ 	in a structure at a variable address.
+ 
+ 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcov.texi: Use more logical markup.
+ 
+ 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
+ 	REG_NOTE_KIND, not PUT_MODE and GET_MODE.
+ 	(final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
+ 	valid.
+ 
+ 2001-06-11  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (ASM_FILE_END): Remove decl of language_string.
+ 
+ 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
+ 	as an early clobber to make sure it is not used by reload in
+ 	one of the operands.
+ 
+ 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/c-tree.texi: Update information about flag_honor_std.
+ 	* doc/install.texi: Note that binutils is required on HPUX 11.
+ 	* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
+ 	now the default.
+ 
+ 	* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
+ 	variable-sized types.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/md.texi: Use TeX dashes and quotes.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/rtl.texi: Reference manual chapter about trees.
+ 
+ 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
+ 	(WINT_TYPE): Override.
+ 	(WINT_TYPE_SIZE): Likewise.
+ 	(SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
+ 
+ 	* config/sparc/sol2.h (WINT_TYPE): Define.
+ 	(WINT_TYPE_SIZE): Likewise.
+ 
+ 	* config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
+ 	(WINT_TYPE): Override.
+ 	(WINT_TYPE_SIZE): Likewise.
+ 	(CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
+ 	(CPP_ARCH64_SPEC): Likewise.
+ 
+ 2001-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (__deregister_frame_info): Don't play games
+ 	with alias attribute.
+ 
+ 	* config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
+ 	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
+ 
+ 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
+ 
+ 2001-06-11  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (darwin_encode_section_info):  Rewrite to simplify
+ 	and fix coding mistakes.
+ 
+ 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/m32r/m32r.md (movstrsi_internal): Do not expect a
+ 	return string from m32r_output_block_move.
+ 	* config/m32r/m32r-protos.h: Make m32r_output_block_move a
+ 	void function.
+ 	* config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
+ 	integer overflow.
+ 	(ROUND_ADVANCE): Remove signed/unsigned conflict.
+ 	* config/m32r/m32r.c: Declare prototypes for static functions.
+ 	(move_src_operand): Replace INT32_P with UINT32_P.
+ 	(function_arg_partial_nregs): Fixed signed/unsigned conflict
+ 	in initialisation of 'size'.
+ 	(m32r_sched_reord): Remove redundant declarations of 'code'.
+ 	(m32r_output_block_move): Change to a void function.
+ 	(m32r_encode_section_info): Cast return of
+ 	TREE_STRING_POINTER to avoid compile time warning.
+ 
+ 2001-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
+ 	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
+ 	(struct machine_function): Add gp_save_rtx.
+ 	* config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
+ 	(alpha_gp_save_rtx): New.
+ 	* config/alpha/alpha-protos.h: Declare it.
+ 	* config/alpha/alpha.md (exception_receiver): Make an expander.
+ 	Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
+ 
+ 2001-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
+ 
+ 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in: Align --help messages.
+ 	Remove trailing full stops.
+ 	Consistently use lower case.
+ 	Fix DWARF 2 spelling.
+ 	* configure: Rebuilt.
+ 
+ 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
+ 	variants for .cpp/.cp/.c++ files.
+ 	Move definition of __LANGUAGE_C_PLUS_PLUS ...
+ 	(CPLUSPLUS_CPP_SPEC): ... here.
+ 
+ Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (store_parm_decls): When comparing types in an
+ 	old-style function declaration with those from a previous
+ 	prototype, compare the unqualified versions of parameter types.
+ 	Fixes PR c/3116.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/objc.texi: Use more logical markup.  Use TeX dashes.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi: Use more logical markup.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (xref_tag): Don't return previous tags of wrong type.
+ 
+ 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* loop.c (scan_loop): Do not combine asm statements.
+ 
+ 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix offset calculation
+ 	for complex values within a CONCAT.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Update details of what components are included
+ 	in the GCC distribution.  Update default directory for g++
+ 	includes.  Update documentation relating to old libio.  Adjust
+ 	documentation on DejaGnu environment variables.  Remove
+ 	documentation of --enable-cpplib.
+ 
+ 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
+ 	markup.
+ 
+ 2001-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (life_data_ok): New.
+ 	(merge_if_block): Use it to determine whether to update
+ 	global_live_at_end.
+ 	(if_convert): Set it.
+ 
+ 2001-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
+ 
+ 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* doc/invoke.texi (MN10300 Options): Document -mno-crt0.
+ 	(SH Options): Document -mieee.
+ 	* doc/install.texi (Final install): Remove obsolete information
+ 	about installing cross compilers.
+ 	* doc/gcc.1: Rebuilt.
+ 
+ 2001-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (override_options): Set align_loops,
+ 	align_jumps, and align_functions.
+ 	* config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
+ 	(LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
+ 
+ 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
+ 	are one and two words in size.
+ 
+ 2001-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/invoke.texi (Optimization Options): Document -fpeephole2.
+ 	(Code Generation Options): Document -fnon-call-exceptions.
+ 
+ 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
+ 
+ 	* config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
+ 
+ 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* m68hc11.md (peepholes): Remove unused and wrong peepholes.
+ 
+ 2001-06-10  Mark Mitchell <mark@codesourcery.com>
+ 	    Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* Makefile.in (c-parse.o): Depend on diagnostic.h
+ 	(dwarf2out.o): Likewise.
+ 
+ 	* dwarf2out.c: #include diagnostic.h
+ 
+ 	* toplev.h (warningcount, errorcount, sorrycount): Remove
+ 	declarations.
+ 
+ 	* toplev.c (warningcount, errorcount, sorrycount): Remove
+ 	definitions.
+ 
+ 	* diagnostic.h (struct output_buffer): Reorder fields.
+ 	(diagnostic_kind_count): New macro.
+ 	(errorcount, warningcount, sorrycount): Define as macros.
+ 	(diagnostic_report_warnings_p): New macro.
+ 	(output_state): Add diagnostic_count field.
+ 
+ 	* diagnostic.c (warningcount, errorcount, inhibit_warnings):
+ 	Remove tentative declaration.
+ 	(count_error): Use diagnostic_report_warnings_p.
+ 
+ 	* c-parse.in: #include diagnostic.h
+ 
+ 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
+ 	prefer a memory for operand 1.
+ 	("*addsi3"): Fix constraints, the '!' was too strong.
+ 	("*addsi3_split"): Accept soft register and split accordingly.
+ 
+ 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
+ 	Move definition in the RTX_CODE section.
+ 
+ 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
+ 	address as relative to the argument pointer.
+ 
+ Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def (PRED_OPCODE): Place before call and error_return.
+ 
+ Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
+ 	* predict.c (estimate_probability): Calculate dominance
+ 	information; improve detection of NORETURN heuristics;
+ 	add call/error_return heuiristics; tweak comparison heuristics
+ 	to recognize -1.
+ 
+ 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* doc/invoke.texi (C Dialect Options): Document -aux-info.
+ 	(Debugging Options): Document -print-multi-directory and
+ 	-print-multi-lib.
+ 	* doc/gcc.1: Rebuilt.
+ 
+ 	* toplev.c (independent_decode_option): Require `=' between
+ 	`-aux-info' and filename in the same argument.
+ 	* gcc.c: Don't pass -aux-info=filename twice.
+ 
+ 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (expand_expr, case ARRAY_REF): Do not replace
+ 	an array element with the known initializing value if it has
+ 	side-effects.
+ 
+ 	* toplev.c (rest_of_compilation): Remove dead code before
+ 	purge_addressof.
+ 
+ 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (print_help): Document -fpreprocessed.
+ 	* invoke.texi: Similarly.
+ 
+ Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.def: New file.
+ 	* predict.h: New file.
+ 	* predict.c: Include predict.h.
+ 	(predictor_info): New structure and array.
+ 	(predict_edge, predict_insn): Rewrite; make global.
+ 	(predict_edge_def, predict_insn_def): New global functions.
+ 	(dump_prediction, combine_predictions_for_insns): New
+ 	static functions.
+ 	(estimate_probability): Change calls to predict_edge
+ 	to predict_edge_def and calls to predict_insn to predict_insn_def;
+ 	combine probabilities.
+ 	(expected_value_to_br_prob): Behave as predictor.
+ 	* rtl.h (REG_BR_PRED): Update coment.
+ 	(invert_br_probabilities): New.
+ 	* jump.c: Include predict.h
+ 	(duplicate_loop_exit_test): Drop branch prediction notes.
+ 	(invert_jump): Use invert_br_probabilities.
+ 	* Makefile.in: Add dependency on predict.h for jump and predict pass.
+ 	* ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
+ 	* combine.c (distribute_notes): Handle BR_PRED.
+ 
+ Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (predict_insn, predict_edge): New static functions.
+ 	(estimate_probability): Revamp to use new functions;
+ 	fix loop header heruistics; add loop exist heruistics
+ 
+ 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
+ 
+ 2001-06-09  Peter Jakubek <pjak@snafu.de>
+ 
+ 	* config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
+ 
+ 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
+ 	for integer operations that don't update C bit.
+ 
+ 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
+ 
+ 	* gthr-posix.h (__gthread_objc_init_thread_system): If
+ 	pthread_key_create fails, it's not clear what the return value is.
+ 	This obvious fix makes sure it always returns -1 if a problem
+ 	occurs.
+ 
+ 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Use @defcodeindex for the index of options.  Add
+ 	more index entries.  Use more logical markup where appropriate.
+ 	Use TeX quotes and dashes.
+ 
+ 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* unwind-pe.h: Conditionally qualify references to abort with
+ 	std::.
+ 
+ 2001-06-09  Julian Foad <julian_foad@hotmail.com>
+ 
+ 	* doc/invoke.texi: Remove superfluous text.
+ 
+ 2001-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
+ 	(LIB_SPEC): Mirror config/linux.h version.
+ 
+ 2001-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (get_exception_pointer, get_exception_filter): Take a
+ 	struct function.  Update all callers.
+ 	* except.h (get_exception_pointer): Update declaration.
+ 	* expr.c (expand_expr): Update get_exception_pointer call.
+ 	* integrate.c (expand_inline_function): Remap the exception pointer
+ 	from callee to caller.
+ 
+ 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
+ 	accurately reflect its cv-qualification.
+ 	* c-typeck.c (type_lists_compatible_p): Ignore the top-levl
+ 	cv-qualifiers on function types.
+ 
+ 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* basic-block.h: Improve comments.
+ 	* except.c (expand_eh_region_end_allowed): Remove redundant call
+ 	to do_pending_stack_adjust.
+ 	* flow.c (life_analysis): Fix typo in comment.
+ 	(calculate_global_regs_live): Add documentation.
+ 	(mark_set_1): Likewise.
+ 	(debug_regset): Likewise.
+ 	* doc/rtl.texi (cond_exec): Document it.
+ 
+ Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (CONST_COSTS): set cost of constants representable in
+ 	immediate fields to 0.
+ 
+ Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (diddle_return_value): Kill code to determine
+ 	return value before expand_function_end.
+ 	(expand_function_end): Delay call to clobber_return_register
+ 	after fucntion return value is computed.
+ 
+ 	Re-install temporary reverted patch:
+ 	* toplev.c (rest_of_compilation): Call split_all_insns
+ 	before reg-stack and shorten-branches. Do shorten-branches
+ 	after reg-stack.
+ 	* final.c (shorten_branches): Remove insn splitting code.
+ 
+ 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi, doc/invoke.texi: Add index of command line
+ 	options.  Use @opindex to index them rather than other indexing
+ 	commands.  Use @var{...} instead of <...>.  Avoid spaces in names
+ 	inside @var.  Don't use @kindex to index escape sequences in
+ 	source code.
+ 
+ 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* stmt.c (current_nesting_level): New fn.
+ 	* tree.h: Declare it.
+ 	* c-semantics.c (genrtl_compound_stmt): Use it.
+ 
+ 	* dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
+ 
+ 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* jump.c (mark_modified_reg): Allow jump threading if condition
+ 	codes are represented by a hard register.
+ 
+ 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
+ 	for complex floats passed to unprototyped functions.
+ 
+ 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* except.c (expand_eh_region_end_allowed): Call
+ 	do_pending_stack_adjust as necessary.
+ 
+ Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (clobber_return_register): Clobber the pseudo return
+ 	register too.
+ 
+ 	* sibcall.c (skip_unreturned_value): New function.
+ 	(call_ends_block_p): Use it.
+ 
+ 	* recog.c (split_insn): Break out from ...
+ 	(split_all_insns): ... here; do not use basic block information
+ 	when it is broken.
+ 
+ Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_subreg):  Fix verification of
+ 	combined subreg.
+ 
+ 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
+ 	Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
+ 	Move definition of _LANGUAGE_C_PLUS_PLUS ...
+ 	(CPLUSPLUS_CPP_SPEC): ... here.
+ 	Fixes PRs c++/3047, target/441.
+ 
+ 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi2html (MAKEINFO): Keep value if set already.
+ 
+ 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi: Add trailing slash to URL.
+ 
+ 2001-06-07  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (ENCODE_SECTION_INFO): Define.
+ 	(REDO_SECTION_INFO_P): Ditto.
+ 	(STRIP_NAME_ENCODING): Ditto.
+ 	(ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
+ 	(ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
+ 	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
+ 	* config/darwin.c: No longer include c-tree.h.
+ 	(machopic_classify_ident): Rewrite to use symbol encoding.
+ 	(lookup_name_darwin): Remove.
+ 	(machopic_non_lazy_ptr_name): Handle encoded symbols.
+ 	(machopic_stub_name): Use STRIP_NAME_ENCODING.
+ 	(machopic_validate_stub_or_non_lazy_ptr): Ditto.
+ 	(machopic_finish): Ditto, remove test of decl.
+ 	(update_non_lazy_ptrs): New function.
+ 	(darwin_encode_section_info): New function.
+ 	* config/darwin-protos.h: Declare it.
+ 	* config/rs6000/rs6000.c (machopic_output_stub): Use
+ 	STRIP_NAME_ENCODING.
+ 
+ 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (DECL_SOURCE_FILE): Improve documentation.
+ 	(DECL_SOURCE_LINE): Likewise.
+ 
+ 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
+ 	from config/elfos.h.
+ 
+ 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
+ 	* pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
+ 
+ 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/contrib.texi: Add copyright notice.
+ 
+ 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/md.texi: Use four digit years in copyright notice.
+ 
+ 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc: For $target_alias of athlon-*, set
+ 	target_cpu_default2=5.
+ 
+ Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
+ 	end of last block if last real insn is a JUMP_INSN.
+ 
+ 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* NEWS: Regenerate.
+ 
+ 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gthr-posix.h (__gthread_objc_thread_detach): Simply cast
+ 	pthread_t to objc_thread_t.
+ 	(__gthread_objc_thread_id): Likewise.
+ 
+ 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
+ 	(ASM_OLDAS_SPEC): Likewise.
+ 
+ 	* alpha/osf.h (CPP_XFLOAT_SPEC): Define.
+ 	(CPP_SUBTARGET_SPEC): Use it.
+ 	(ASM_OLDAS_SPEC): Define.
+ 	(ASM_SPEC): Use it.
+ 	(SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
+ 
+ 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
+ 	passed by reference.
+ 
+ 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
+ 	Document use of N_(...), and show it in examples.  Note that
+ 	documentation should be added to invoke.texi.  Avoid an overfull
+ 	hbox.
+ 
+ Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Revert previous patch.
+ 	* final.c (shorten_branches): Likewise.
+ 
+ 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
+ 	Remove.
+ 
+ 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install-old.texi: Remove more obsolete documentation.
+ 
+ Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
+ 
+ Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Call split_all_insns
+ 	before reg-stack and shorten-branches. Do shorten-branches
+ 	after reg-stack.
+ 	* final.c (shorten_branches): Remove insn splitting code.
+ 
+ 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
+ 	* configure: Rebuilt.
+ 
+ 2001-06-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* emit-rtl.c (operand_subword): Remove unused variable.
+ 
+ Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (floatdi?f): Avoid usinf of SSE instructions
+ 	if TARGET_64BIT is false.
+ 	(floatdi?f_i386_only): New insn.
+ 	(floatdi?f_i386): Disable for !TARGET_64BIT.
+ 
+ 	* (min?f, max?f splitters): Handle case where
+ 	operands are cross-matched.
+ 
+ 	* i386.h (HI_REGISTER_NAMES): Remove redundant definition
+ 	(MMX_REGISTER_NAMES): Kill.
+ 	(PRINT_OPERAND): Fix comment.
+ 	(PRINT_REG): Likewise.
+ 	* i386.c (print_reg): Kill support for 'm' CODE; simplify.
+ 	(print_operand): Update comment; kill 'm'.
+ 
+ 	* i386.c (x86_branch_hints): New global variable
+ 	(print_operand): Support outputting of branch prediction hints.
+ 	* i386.md (conditional jump patterns): Add branch prediction hints
+ 	to the template.
+ 	* i386.h (x86_branch_hints): Declare
+ 	(TARGET_BRANCH_PREDICTION_HINTS): New macro.
+ 	(PRINT_OPERAND_FUNCT_VALID_P): New.
+ 	* final.c (final_forward_branch_p): New function.
+ 
+ 2001-06-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (mark_used_reg): Clean up looping over multiple hard
+ 	registers.  Do conditional life bits across multiple hard regs.
+ 
+ 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
+ 
+ 	* reload1.c (reload): Revert Schmidt's change so all USEs are not
+ 	deleted during reload.
+ 
+ 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-semantics.c (genrtl_scope_stmt): Write out nested inline
+ 	functions here, instead of ...
+ 	* c-decl.c (c_expand_body): ... here.
+ 
+ 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc, config/sparc/bsd.h:  Do not directly include
+ 	sparc/sparc.h.  Instead do it via tm_file.
+ 
+ 2001-06-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2.h (DW_EH_PE_aligned): New.
+ 	* dwarf2asm.c (eh_data_format_name): Name it.
+ 	(dw2_asm_output_encoded_addr_rtx): Align for it.
+ 	* dwarf2out.c (output_call_frame_info): Handle it for personality
+ 	routine and LSDA pointers.
+ 
+ 	* unwind-pe.h (DW_EH_PE_aligned): New.
+ 	(base_of_encoded_value): Handle it.
+ 	(read_encoded_value_with_base): Likewise.
+ 	* unwind-dw2-fde.c (base_from_object): Likewise.
+ 	(get_cie_encoding): Likewise.
+ 
+ 	* config/alpha/elf.h: Remove ecoff commentary.
+ 	* config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 
+ 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc, config/i386/bsd386.h:  Do not directly include
+ 	i386/386bsd.h.  Instead do it via tm_file.
+ 
+ 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
+ 	way svr4.h does.
+ 
+ 2001-06-05  Pascal Obry  <obry@act-europe.fr>
+ 
+ 	* configure.in: Quote $enable_win32_registry in case the value has
+ 	spaces in it.
+ 	* configure: Ditto.
+ 
+ 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* print-rtl.c (xspaces): Remove.
+ 	(print_rtx): Use printf field-width, rather than xpsaces, to
+ 	indent.
+ 	* toplev.c (main): Disable sibling-call optimization if we are
+ 	handling exceptions.
+ 
+ 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* reload1.c (reload): Delete all USEs generated during reload.
+ 
+ 2001-06-05  scott snyder  <snyder@fnal.gov>
+ 
+ 	* gccbug.in:  Fix typo.
+ 
+ 2001-06-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* builtins.def: Fix definition of __builtin_cosf, it uses float as
+ 	parameter and return value.
+ 
+ 2001-06-04  Anthony Green  <green@redhat.com>
+ 
+ 	* config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
+ 	machine.  This is now done in sparc.h.
+ 
+ 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Correct CVS resurrection of invoke.texi.
+ 	* doc/invoke.texi: Document new tree dump flags.
+ 
+ 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
+ 	for casting an aggregate to its own type.  Fixes PR c/2735.
+ 
+ 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/texinfo.tex: Update to version 2001-05-24.08.
+ 
+ 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.h (flag_dump_translation_unit): Remove.
+ 	(enum tree_dump_index): Define.
+ 	(TDF_ADDRESS, TDF_SLIM): New #defines.
+ 	(dump_node_to_file): Remove.
+ 	(dump_node): Make extern. Add flags.
+ 	(dump_flag, dump_enabled_p, dump_begin, dump_end,
+ 	dump_switch_p): Prototype.
+ 	* c-common.c (flag_dump_translation_unit): Remove.
+ 	* c-decl.c (c_decode_option): Remove -fdump-translation-unit
+ 	logic. Use dump_switch_p.
+ 	* c-dump.h (struct dump_info): Add node and user fields.
+ 	(dump_pointer): Declare.
+ 	* c-dump.c (dump_node): Make extern. Add flags.
+ 	(SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
+ 	(dump_new_line, dump_maybe_newline): Use them.
+ 	(dump_pointer): New function.
+ 	(dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
+ 	chain or function's body. Dump address, if TDF_ADDRESS set.
+ 	(dump_flag): Define.
+ 	(dump_node_to_file): Remove.
+ 	(struct dump_file_info): New struct.
+ 	(dump_files): New array.
+ 	(dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
+ 	* c-lang.c (finish_file): Adjust dumping.
+ 	* toplev.h (dump_base_name): Make extern.
+ 	* invoke.texi: Document new flags.
+ 
+ 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-tree.h (lang_decl): Add pending_sizes fields.
+ 	* c-decl.c (store_parm_decls): Save pending_sizes away for nested
+ 	functions.
+ 	(c_expand_body): Expand them.
+ 	(lang_mark_tree): Mark lang_decl:pending_sizes.
+ 	* function.c (expand_pending_sizes): New function, broken out
+ 	from ...
+ 	(expand_function_start): ... here.
+ 	* tree.h (expand_pending_sizes): Declare it.
+ 
+ 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi: Update FreeBSD information.  Generalize
+ 	and update information for alpha-based platforms using ELF.
+ 
+ 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
+ 	(store_parm_decls): Likewise.
+ 	* c-typeck.c (convert_arguments): Likewise.
+ 
+ 2001-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
+ 	optimization if current_function_calls_setjmp.
+ 
+ 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
+ 	wide strings.
+ 
+ Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix combining of
+ 	paradoxical subregs.
+ 
+ Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
+ 	(no_labels_between_p): Short circuit case beg==end.
+ 
+ Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (operand_preference): Fix preference for objects.
+ 
+ Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (handle_avail_expr): Be prepared to handle single_set
+ 	parallels.
+ 
+ Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (if_then_else_cond): Use simplify_subreg instead
+ 	of operand_subword.
+ 	* integreate.c (sub_constants): Likewise.
+ 
+ Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (constant_subword): Deprecate; remove most of code
+ 	and use simplify_gen_subreg.
+ 
+ Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* sibcall.c (skip_copy_to_return_value): recognize the situation
+ 	when the called function's return value is copied into an
+ 	intermediate pseudo, and then into the calling functions return
+ 	value register.
+ 
+ Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
+ 	check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
+ 	in case register wasn't OK previously, accept it now; allow
+ 	subregs of frame pointer if reload completed and frame pointer
+ 	is not needed.
+ 
+ 	* combine.c (sombine_simplify_rtx): Fix comment;
+ 	use subreg_lowpart_offset instead of subreg_lowpart_p
+ 	(gen_lowpart_for_combine): Use subreg_lowpart_offset.
+ 	* rtl.h (subreg_lowpart_parts_p): Kill.
+ 	(subreg_lowpart_offset, subreg_highpart_offset): Declare.
+ 	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
+ 	* emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
+ 	(gen_lowpart_common): Likewise.
+ 	(subreg_lowpart_p): Likewise.
+ 	(subreg_lowpart_parts_p): Kill.
+ 	(subreg_lowpart_offset, subreg_highpart_offset): New function.
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
+ 	to simplify SUBREG and REG.
+ 	(gen_highpart): Use simplify_gen_subreg for all simplifications.
+ 
+ 	* emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
+ 	CONCAT specially.
+ 
+ 	* rtlanal.c (replace_regs):  Use simplify_gen_subreg
+ 
+ Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
+ 	(ARRAY_RANGE_REF): Added description.
+ 
+ 	* tree.def (ARRAY_RANGE_REF): New code.
+ 	* alias.c (handled_component_p, can_address_p): Handle it.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
+ 	* explow.c (set_mem_attributes): Likewise.
+ 	* expr.c (expand_assignment, get_inner_reference): Likewise.
+ 	(expand_expr, expand_expr_unaligned, do_jump): Likewise.
+ 	* fold-const.c (operand_equal_p): Likewise.
+ 	* tree.c (staticp, stabilize_reference): Likewise.
+ 	* varasm.c (decode_addr_const): Likewise.
+ 
+ Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
+ 	(push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
+ 
+ 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+ 
+ 	* gcc/config/sh/sh.c (print_operand_address, print_operand): Call
+ 	mark_constant_pool_use before output_addr_const.
+ 	(struct pool_node): New field wend.
+ 	(add_constant): Note a sequence of constants that are referenced
+ 	by a given label.
+ 	(pool_window_label, pool_window_last): New variables.
+ 	(dump_table): Emit a unspec_volatile representing the end of a
+ 	sequence of constants.
+ 	(mark_constant_pool_use): New function.
+ 	* gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
+ 	(consttable_2): Add the second operand which flags whether
+ 	this consttable entry was used or not.
+ 	(consttable_4, consttable_8, consttable_sf, consttable_df):
+ 	Likewise.
+ 	(consttable_window_end): New insn.
+ 
+ 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
+ 	Reformat according to coding standards.
+ 
+ 	Warning removal.
+ 	* config/sh/sh.c (print_operand_address): Cast INTVAL to int.
+ 	(shl_and_kind): Cast wide constant.
+ 	(gen_far_branch): Define as static, as in declaration.
+ 	(barrier_align): Compute cache-line length as unsigned.  Add
+ 	parentheses in initial credit computation.
+ 	(rounded_frame_size): Add parentheses.
+ 	(permanent_obstack): Remove declaration.  Include ggc.h for
+ 	declaration of ggc_add_root_rtx().
+ 	(get_free_reg): Removed declaration of unused variable reg.
+ 	(legitimize_pic_address): Mark mode argument as unused.
+ 
+ 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
+ 
+ 	* config/sh/sh.c (output_branch): Support for insn with lenght
+ 	attr 12 & 16 which represents cond branches outside +-4096 range.
+ 
+ 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/lib1funcs.asm (ic_invalidate): Align the
+ 	cache-mirroring sequence.  Add nops.
+ 
+ 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install-old.texi: Remove more old installation
+ 	documentation.
+ 	* doc/install.texi: Add relevant parts here.
+ 
+ 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi2html: New script.
+ 
+ 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi: Update AIX information again.
+ 
+ 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi, doc/install-old.texi: Remove old system-specific
+ 	installation documentation.
+ 	* doc/install.texi: Move it to here.
+ 
+ 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Clean up Texinfo markup.
+ 
+ 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
+ 	to just after title page.
+ 
+ 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install-old.texi: Remove documentation of some configuration
+ 	options.
+ 	* doc/install.texi: Add relevant parts of this documentation here.
+ 
+ 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
+ 	Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
+ 
+ Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (all uses of ext_register_operand): Make sure they are
+ 	VOIDmode; replace all uses outside zero_extend.
+ 	(and?i splitters): Use ext_register_operands.
+ 	(test?i peep2): Remove ignored constraints.
+ 	* i386.c (ext_register_operand): Check that operand is
+ 	either pseudo or hard or 'Q' register.
+ 
+ Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (struct record_layout_info_s): New field unpadded_align.
+ 	(set_lang_adjust_rli): New declaration.
+ 	* stor-layout.c (layout_decl): If DECL is packed, but at alignment
+ 	it would have if not packed, do not downgrade DECL_ALIGN.
+ 	(lang_adjust_rli, set_lang_adjust_rli): New.
+ 	(start_record_layout): Initialize new field unpadded_align.
+ 	(debug_rli): Display it.
+ 	(place_union_field, place_field): Set it.
+ 	(layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
+ 
+ 	* print-tree.c (print_node): Don't print "regdecl" when bit doesn't
+ 	mean that; use proper names instead.
+ 	Print DECL_NO_STATIC_CHAIN.
+ 
+ 	* except.c (expand_builtin_frob_return_addr): Add missing call
+ 	to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
+ 	(expand_builtin_eh_return): Likewise.
+ 	(expand_eh_return): Clean up ptr_mode != Pmode cases.
+ 
+ 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* doc/invoke.texi: Remove references to papers about sequence points
+ 	to readings.html, refer to that page.
+ 
+ 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README: Update references to installation instructions.
+ 
+ 2001-06-01  Laurent Guerby  <guerby@acm.org>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi: Define srcdir when sources come from CVS.
+ 	Significantly improve markup.  Wrap overly long lines
+ 
+ 2001-06-01  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
+ 	extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
+ 	objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
+ 	gcov.1: Move to doc subdirectory.
+ 	* install.texi: Move to doc/install-old.texi.
+ 	* gcc.texi: Move to doc, refer to install-old.texi.
+ 	* Makefile.in: Reflect move of docs to doc/.
+ 	* f/Make-lang.in: Ditto.
+ 	* java/Make-lang.in: Ditto.
+ 	* doc/.cvsignore: New.
+ 
+ 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* invoke.texi: use two spaces between command options, eliminate
+ 	some 'overfull hboxes'
+ 
+ 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* Makefile.in (s-mlib): Make backtick-commands always succeed.
+ 	(DRIVER_DEFINES): Ditto.
+ 
+ 2001-05-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcc.c (init_gcc_specs): When linking against libgcc_s.so,
+ 	also link against libgcc.a.
+ 
+ 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
+ 	* config/mips/mips.c (mips_output_ascii): New function.
+ 	* config/mips/mips-protos.h (mips_output_ascii): Prototype.
+ 
+ 	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
+ 
+ Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (set_block_for_new_insns): Remove bogus shortcut.
+ 	* i386.c (ix86_expand_int_movcc): Force one of operands to be register.
+ 
+ 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
+ 
+ 	* install.texi (Configuration): Add html links for --with-gnu-as &
+ 	--with-gnu-ld and refer to them from hppa & SCO triplets.
+ 	(Specific): Link back to with-gnu-ld for all ELF platfoms.
+ 	(Specific): Reword AVR binutils recommendation.
+ 
+ 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* ggc-page.c (size_lookup): Increase minimum allocation size
+ 	to eight bytes.
+ 	(ggc_print_statistics): Report size of each bin in bytes, not
+ 	as its order; there is no longer a direct relationship.
+ 
+ 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
+ 
+ 	* extend.texi: Fix formating of examples, eliminate some
+ 	'overfull hboxes'.
+ 	* gcc.texi: Eliminate some 'overfull hboxes'.
+ 	* invoke.texi: Use two spaces between command options, eliminate
+ 	some 'overfull hboxes'.
+ 
+ 2001-05-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
+ 
+ 2001-05-30  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
+ 	use it in the new association.
+ 
+ 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
+ 	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gthr-posix.h (__gthread_active_ptr): Cast function pointer
+ 	to target type to allow ISO C++ compiler to accept it.
+ 	* gthr-dce.h (__gthread_active_ptr): Likewise.
+ 	* gthr-solaris.h (__gthread_active_ptr): Likewise.
+ 
+ 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
+ 	so that we do accept comments in preprocessed input.
+ 
+ 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.c (alloc_node): Cast allocated pointer.
+ 
+ 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
+ 
+ 	* invoke.texi (Option Summary): Remove -isystem-c++ from options.
+ 
+ 2001-05-29  Stan Shebs  <shebs@apple.com>
+ 
+ 	* gcc.texi: Add links for information about Objective-C.
+ 
+ 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (gcc_version): Remove unrequired \ on ". (Solaris
+ 	/bin/sed fails on [^\"]).
+ 	(configargs.h): Likewise.
+ 
+ 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
+ 
+ 	* config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
+ 
+ 2001-05-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc.gperf: Remove, no longer used.
+ 
+ 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
+ 	gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
+ 	Remove trailing whitespace.
+ 
+ 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
+ 	became http://freeware.sgi.com/.
+ 
+ 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* local-alloc.c (update_equiv_regs): Don't eliminate constant
+ 	expressions at -O0.
+ 
+ 2001-05-27  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c: Add/fix various comments.
+ 	(init_selector): Remove, no longer used.
+ 	(build_msg_pool_reference): Ditto.
+ 	(objc_debug): Ditto.
+ 
+ 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (init_decl_processing):
+ 	 Don't call start_identifier_warnings.
+ 	* flags.h (warn_id_clash, id_clash_len): Remove.
+ 	* stringpool.c: Don't include flags.h.
+ 	(scan_for_clashes, do_identifier_warnings,
+ 	start_identifier_warnings): Remove.
+ 	* toplev.c (warn_id_clash, id_clash_len): Remove.
+ 	(display_help): Don't document -Wid-clash.
+ 	(decode_W_option): Print warning on -Wid-clash.
+ 	* tree.h (start_identifier_warnings): Remove.
+ 	* invoke.texi: Remove documentation of -Wid-clash.
+ 
+ 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/fixtests.c: Declare entries in ENV_TABLE.
+ 
+ 2001-05-27  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/check.tpl(HACK) add and use a Scheme variable
+ 	(has no test text): error out if no "test_text" is defined
+ 	* fixinc/fixincl.tpl: likewise
+ 	(FIXIDX): make it an enumeration so we minimize diffs
+ 	* fixinc/inclhack.def: re-alphabetize and add sort instructions
+ 	* fixinc/fixincl.x: regenerate
+ 	* fixinc/tests/base/stdio.h: test output got moved due to
+ 	the alphabetizing
+ 	* README-fixinc: rewrite (mostly)
+ 
+ 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (run_directive): Set pfile->directive.
+ 
+ 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
+ 
+ 	* c-tree.texi: Reformat the manual as a single chapter now
+ 	included by gcc.texi.
+ 	* gcc.texi: Include c-tree.texi. Merge all indexes.
+ 	* Makefile.in (dvi): Add generation for the cppinternals
+ 	documentation. Added dependencies on fdl.texi and c-tree.texi
+ 	where appropriate.  Use TEXI2DVI instead of custom tex calls.
+ 	(info): Added dependencies on fdl.texi and c-tree.texi where
+ 	appropriate.  Remove the target c-tree.info.
+ 
+ 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* combine.c (try_combine): Fix typo in comment.
+ 	* expr.c (expand_expr): Likewise.
+ 	* config/i370/i370.md (untyped_call): Likewise.
+ 
+ 2001-05-26  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
+ 	when fixincl is operating in test mode
+ 	* fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
+ 	(AAB_ultrix_limits): remove redundant text
+ 	(AAB_ultrix_memory): ditto
+ 	(AAB_ultrix_string): ditto
+ 	(djgpp_wchar_h): fix the test text
+ 	(irix_stdio_va_list): add test text
+ 	(irix_limits_const): add a testing output file (limits.h is overwritten)
+ 	(strict_ansi_not_ctd): put limits.h second in list for same reason
+ 	(solaris27_mutex_init): test text needed selection text, too
+ 
+ 	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
+ 	when fixincl is operating in test mode
+ 
+ 2001-05-26  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
+ 	* config/i960/i960-protos.h: Likewise.
+ 	* config/i370/i370-protos.h: Likewise.
+ 	* config/h8300/h8300-protos.h: Likewise,
+ 	* config/sh/sh-protos.h: Likewise.
+ 	* config/v850/v850-protos.h: Likewise.
+ 
+ 2001-05-26  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
+ 
+ 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* toplev.c (debug_args, f_options, W_options): Mark
+ 	descriptions for translation.
+ 	(display_help): Translate descriptions on output.
+ 
+ 	* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
+ 	objc/lang-options.h: Mark descriptions for translation.
+ 
+ 	* aclocal.m4: Quote final argument of patsubst.  Use
+ 	3-argument form of AC_DEFINE.  Restore quotes to [] while
+ 	using AC_FD_CC.
+ 	* configure.in: Remove unnecessary changequote calls.
+ 	* configure, config.in: Regenerate.
+ 
+ 2001-05-25  Sam TH  <sam@uchicago.edu>
+ 
+ 	* basic-block.h: Fix header include guards.
+ 	* bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
+ 	cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
+ 	except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
+ 	gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
+ 	gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
+ 	insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
+ 	rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
+ 	varray.h version.h: Likewise.
+ 	* config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
+ 	config/arm/arm.h config/c4x/c4x-protos.h
+ 	config/h8300/h8300-protos.h config/h8300/h8300.h
+ 	config/i370/i370-protos.h config/i370/i370.h
+ 	config/i960/i960-protos.h config/mcore/mcore.h
+ 	config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
+ 	config/v850/v850-protos.h config/v850/v850.h: Likewise.
+ 	* fixinc/fixlib.h fixinc/server.h: Likewise.
+ 
+ 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
+ 
+ 	* config/arc/initfini.c (.init): Fix typo.
+ 
+ 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
+ 
+ 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
+ 
+ 2001-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc-std.ver: Export XFmode and TFmode versions of symbols.
+ 
+ 2001-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
+ 	(i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
+ 	(sparc*-*-solaris2): Likewise.
+ 	* config/t-linux: Remove shared libgcc macros.
+ 	* config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
+ 	* config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
+ 
+ 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config.gcc (*-*-freebsd*): Report bad configuration.
+ 
+ 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
+ 
+ 	* config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
+ 	any prefix.
+ 	(ASM_OUTPUT_LABELREF): Delete.
+ 
+ 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
+ 	strict_ansi_only): Don't run if stdc_0_in_system_headers.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
+ 	(FIX_TEST_TABLE): Declare it.
+ 	* fixinc/fixlib.h: Include config.h.
+ 
+ 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (alpha___assert): Change char * args to
+ 	const char * on Tru64 UNIX to avoid excessive warnings from
+ 	assert.h.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2001-05-25  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* dbxout.c (dbxout_symbol): Invert previous patch, which was
+ 	outputting a tag only for variable-size records.
+ 
+ 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
+ 
+ 	* config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
+ 	instead of rtx_equal_p for early clobber test.
+ 
+ 2001-05-26  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* builtins.def: Encode additional information, such as names and
+ 	types, here.
+ 	* builtin-types.def: New file.
+ 	* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
+ 	(built_in_decls): Likewise.  Don't explicitly initialize global
+ 	data to NULL.
+ 	(expand_builtin_mathfn): Handle float and long double variants of
+ 	math builtins.
+ 	(expand_builtin): Likewise.
+ 	* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
+ 	(expand_tree_builtin): Handle long, long long, float, and long
+ 	double variants of math functions.
+ 	* c-common.h (c_tree_index): Remove some unused nodes.
+ 	(void_ftype): Remove.
+ 	(void_type_ptr): Likewise.
+ 	(int_ftype_int): Likewise.
+ 	(ptr_ftype_sizetype): Likewise.
+ 	* c-decl.c (init_decl_processing): Remove creation of DWARF
+ 	builtins.
+ 	* defaults.h (MD_INIT_BUILTINS): Provide default definition.
+ 	* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
+ 	* Makefile.in (c-common.o): Depend on builtin-types.def.
+ 
+ 2001-05-25  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/t-darwin: Fix dependencies for darwin.o.
+ 
+ 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (notype_initdcl): Remove redundant line.
+ 
+ 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* aclocal.m4: Fixed typo.
+ 	(gcc_AC_HEADER_STDBOOL): Define.
+ 	(gcc_AC_C__BOOL): Define.
+ 	* configure.in: Use them.
+ 	(AC_CHECK_HEADERS): Remove stdbool.h
+ 	* configure, config.in: Regenerate.
+ 
+ 2001-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (expand_function_start): Don't abort on PARALLEL
+ 	returns from hard_function_value.
+ 
+ 2001-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: Revert previous change.  Do not apply
+ 	the peephole if the components do not die after the sequence.
+ 
+ 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (array_declarator): New.  Handle C99 constructs.
+ 	Don't restrict [*] declarators to C only.
+ 	(after_type_declarator, parm_declarator_starttypename,
+ 	parm_declarator_nostarttypename, notype_declarator,
+ 	direct_absdcl1): Use it.
+ 	* c-decl.c (build_array_declarator, set_array_declarator_type):
+ 	New functions.  Warn that [*] isn't properly implemented; pedwarn
+ 	for [*] outside C99 mode if pedantic rather than giving a hard
+ 	error.
+ 	(grokdeclarator): Handle static and type qualifiers in parameter
+ 	array declarators.
+ 	* c-tree.h (build_array_declarator, set_array_declarator_type):
+ 	Declare.
+ 	* extend.texi (Attribute Syntax): Document attributes in parameter
+ 	array declarators.
+ 
+ 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/i386.md: Make sure cmpstr peepholes do not
+ 	affect liveness information.
+ 
+ 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-typeck.c (digest_init): Issue error messages about
+ 	invalid constants, not warnings.
+ 
+ 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (-fno-builtin): Document that this is always on
+ 	in C++.
+ 
+ 2001-05-24  Philip Blundell  <philb@gnu.org>
+ 
+ 	* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
+ 	required.
+ 
+ 2001-05-24  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (output_return_instruction): Correctly handle
+ 	interworking and interrupt functions.
+ 
+ 2001-05-24  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
+ 	-m{no-}sched-prolog.  Fix typos and improve formatting.
+ 
+ 2001-05-24  Philip Blundell  <philb@gnu.org>
+ 
+ 	* invoke.texi (ARM Options): Improve wording slightly.  Add
+ 	documentation for more options, including those for Thumb mode.
+ 	Don't mention options that don't exist or are unimplemented.
+ 	(Thumb Options): Delete; merged into above section.
+ 
+ 2001-05-24  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Use it.
+ 
+ Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
+ 	fix hard register simplification.
+ 
+ Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
+ 	of just copying CPP_CPU_SPEC.
+ 
+ Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (incdec_operand): Accept only 1 and -1.
+ 
+ 2001-05-23  Kelley Cook  <kelley.cook@home.com>
+ 
+ 	* Makefile.in: Move many of the *_H definitions eariler in the
+ 	file, so that rules in t-* files that use them for
+ 	dependencies will work in a parallel build.
+ 	* config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
+ 
+ 2001-05-23  Richard Henderson <rth@redhat.com>
+ 
+ 	* integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
+ 
+ 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update for handling of charconsts.
+ 	* cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
+ 	diagnostics.  Skip to the end if the UCS is too short.
+ 	(cpp_interpret_charconst): Long charconsts issue a warning
+ 	not an error.
+ 
+ 2001-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/install.texi (alpha-linux): Require binutils 2.11.
+ 
+ 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (read_escape, read_ucs): Delete.
+ 	(lex_string): Use cpp_parse_escape.
+ 	* cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
+ 	if not C++ or not C99.  Warn if traditional.
+ 	(parse_escape): Rename cpp_parse_escape.  Make the bitmask
+ 	unsigned.  Warn for out-of-range escape sequences here.
+ 	Update to use maybe_read_ucs.
+ 	(cpp_interpret_charconst):  Don't warn here.
+ 	* cpplib.h (cpp_parse_escape): New exported function.
+ 
+ 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi (Attribute Syntax): Clarify application of
+ 	attributes to parameters declared as functions or arrays.
+ 
+ 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* dbxout.c (dbxout_type_methods): Do still group methods by name.
+ 
+ 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* diagnostic.c (vnotice): Kill.
+ 	(fnotice): Call vfprintf directly.
+ 	(diagnostic_for_decl, output_do_verbatim, output_verbatim,
+ 	verbatim, set_diagnostic_context): Rename string argument to
+ 	indicate that it is run through gettext.
+ 	(vbuild_message_string, build_message_string, output_do_printf):
+ 	Rename string argument to indicate that it is NOT run through
+ 	gettext.
+ 	(output_printf, diagnostic_for_decl, fatal_io_error, sorry,
+ 	output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
+ 	Run msgid argument through gettext.
+ 	(default_print_error_function): Run constant strings through
+ 	gettext when nothing else will.
+ 	(fatal_error, internal_error, error_recursion): Use fnotice.
+ 	Present complete sentences to gettext.
+ 
+ 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
+ 
+ 2001-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (expand_function_start): Always use a pseudo
+ 	for the function result value.
+ 
+ 2001-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
+ 	section pointer alignment.
+ 
+ 	* doc/install.texi (alpha-linux): Require binutils >= 2.10.
+ 
+ 	* unwind-dw2-fde.c (__deregister_frame_info): Stringize use
+ 	of __USER_LABEL_PREFIX__.
+ 
+ 2001-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favor of...
+ 	(__deregister_frame_info_bases): New.
+ 	* unwind-dw2-fde.h: Declare it.
+ 	* libgcc-std.ver: Export it.
+ 	* crtstuff.c (__do_global_dtors_aux): Call it if we would have
+ 	called __register_frame_info_bases.
+ 
+ 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
+ 	instead of #elif (which is OK for this case but not in general).
+ 
+ 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
+ 	* config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
+ 	parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
+ 	* config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
+ 	"r2" to the assembly file. Only issue allocs with nonzero parameters.
+ 
+ 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
+ 	    David O'Brien  <obrien@freebsd.org>
+ 
+ 	* config/freebsd.h (LIB_SPEC): Key the exact setting to
+ 	configure-time options and target version of FreeBSD.  Set-up
+ 	to match architectural change in threading support.  Correctly
+ 	report when -pthread option is not supported by configure-time
+ 	options.
+ 	(FBSD_CPP_PREDEFINES): Move from architecture-specific files
+ 	and extend to encode target version number in run-time setting
+ 	of __FreeBSD__ macro to match the system compiler.
+ 	(CPP_PREDEFINES): Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
+ 
+ 	* config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
+ 	* config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
+ 
+ 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
+ 	    David O'Brien  <obrien@freebsd.org>
+ 
+ 	* config.gcc (the unlabeled system switch statement): Add
+ 	generic configuration section to handle *-*-freebsd*.  Also,
+ 	to match the system compiler, default to threading support (it
+ 	may be disabled with the standard --disable-threads
+ 	configuration-time switch).
+ 	(i[34567]86-*-freebsd* in machine-specific section): Use it.
+ 	(alpha*-*-freebsd* in machine-specific section): Likewise.
+ 
+ 	* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
+ 	* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
+ 	* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
+ 	* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
+ 	* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
+ 
+ 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
+ 	    David O'Brien  <obrien@freebsd.org>
+ 
+ 	* config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
+ 	* config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
+ 	-pthread instead setting macro.
+ 
+ 2001-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* crtstuff.c (__register_frame_info_bases): Declare.
+ 	(frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
+ 	(__do_global_dtors_aux, __do_global_dtors): Streamline.
+ 
+ 	* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
+ 	(CRT_GET_RFIB_DATA): New.
+ 	* config/i386/sysv4.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 
+ 2001-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.c (read_string): Break out from ...
+ 	(read_rtx): ... here.
+ 
+ 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): Remove a bogus and duplicate part
+ 	copied from the end of the document.
+ 
+ 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
+ 
+ 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* install.texi: Remove obsolete information on SunOS as well as
+ 	i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
+ 	(Installing GNU CC on the Sun): Remove section.
+ 
+ 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cppfiles.c (remove_component_p): Don't assume lstat/stat will
+ 	keep errno unchanged on success.
+ 
+ 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
+ 	once for hexadecimal floats, whether or not they contain a decimal
+ 	point.  Don't let the setting of pedantic otherwise affect the
+ 	parsing of hexadecimal floats.
+ 
+ 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.ACORN: Remove obsolete file.
+ 
+ 2001-05-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (gen_binary): Use swap_commutative_operands_p
+ 	(simplify_comparison): Likewise.
+ 	* expmed.c (emit_store_flag): Likewise.
+ 	* expr.c (compare_from_rtx): Likewise.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 	* optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
+ 	if not emitting a branch and operands want swapping.
+ 
+ 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
+ 	* stringpool.c:	(IS_FE_IDENT, make_identifier): Delete.
+ 	(maybe_get_identifier): Update.
+ 	* tree.h (make_identifier): Delete.
+ 
+ 2001-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (subst): Do not substitute for a register as
+ 	a destination subreg/strict_low_part/zero_extract.
+ 
+ 	* combine.c (simplify_comparison): Update op1 after constant
+ 	extension.
+ 	* recog.c (const_int_operand): Accept only constants valid
+ 	for the given mode.
+ 	* genrecog.c: Update comments wrt const_int_operand.
+ 
+ 	* emit-rtl.c (init_emit_once): Zero unused memory in a
+ 	CONST_DOUBLE.
+ 
+ 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (type_num_arguments): Declare it.
+ 	* tree.c (type_num_arguments): New function.
+ 
+ 2001-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (current_funcdef_number): Move outside dwarf2
+ 	conditional ifdef.
+ 
+ 2001-05-21  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
+ 	(maxsf3+1): Delete.
+ 	(minsf3): Use rs6000_emit_minmax.
+ 	(minsf3+1): Generalize to handle both SMIN and SMAX.  Use
+ 	rs6000_emit_minmax.
+ 	(movsfcc): Use rs6000_emit_cmove.
+ 	(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
+ 	Don't generate emit_fselsfsf4.
+ 	(fseldfsf4): Likewise.
+ 	(maxdf3): Use rs6000_emit_minmax.
+ 	(maxdf3+1): Delete.
+ 	(mindf3): Use rs6000_emit_minmax.
+ 	(mindf3+1): Generalize to handle both SMIN and SMAX.  Use
+ 	rs6000_emit_minmax.
+ 	(movdfcc): Use rs6000_emit_cmove.
+ 	(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
+ 	Don't generate emit_fselsfsf4.
+ 	(fselsfdf4): Likewise.
+ 	* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
+ 	(min_max_operator): New predicate.
+ 	(rs6000_emit_cmove): New function.
+ 	(rs6000_emit_minmax): New function.
+ 	* config/rs6000/rs6000-protos.h: Prototype new functions.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
+ 	and min_max_operator.
+ 
+ 	* config/rs6000/rs6000.c (output_cbranch): Handle all
+ 	conditional types in the switch statement.
+ 
+ 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
+ 	non-register variables.
+ 	* extend.texi: Document that asm-specifications do not make sense
+ 	for non-static local variables.
+ 
+ 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
+ 	(dbxout_type_fields): Lose minimal_debug support.
+ 	(dbxout_type_methods, dbxout_type): Likewise.
+ 
+ 2001-05-17  Andrew Haley  <aph@redhat.com>
+ 
+ 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ 
+ 2001-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
+ 	Update all users.
+ 
+ 2001-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
+ 	DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
+ 	DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
+ 	* dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
+ 	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
+ 	Likewise.
+ 	* config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
+ 	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
+ 	DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
+ 	(DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
+ 	* config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
+ 	DEBUG_PUBNAMES_SECTION): Rename as above.
+ 	(DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
+ 
+ 2001-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
+ 	operands unless the operation is commutative.
+ 
+ 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
+ 	cases.
+ 
+ 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi: Clarify documentation of extensions included in ISO
+ 	C99.  Prefer C99 terminology and syntax to old GNU terminology and
+ 	syntax.  Add more index entries.  Document mixed declarations and
+ 	code as an extension in C89 mode.  Warn about future changes to
+ 	semantics of inline functions.  Fixes PR other/930.
+ 
+ Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
+ 	access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
+ 	(expand_expr, case COMPONENT_REF): Do copy if misaligned even
+ 	if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
+ 
+ 	* stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
+ 
+ 2001-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-deps.c (sched_analyze_insn): Force volatile memory reads
+ 	to be output before a branch.
+ 
+ 2001-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
+ 
+ 2001-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
+ 	(ASM_DOUBLE): Remove.
+ 	* config/i386/bsd.h, config/i386/sco5.h: Likewise.
+ 	* config/i386/sun386.h: Likewise.
+ 
+ 	* config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
+ 	(UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
+ 
+ 	* config/i386/cygwin.h (INT_ASM_OP): Remove.
+ 	* config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
+ 	* config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
+ 	* config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
+ 
+ 	* config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
+ 	* config/i386/djgpp.h, config/i386/i386.h: Likewise.
+ 	* config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
+ 	* config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
+ 	* config/i386/sysv4.h, config/i386/vsta.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 
+ 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Add more options to summary list.
+ 
+ 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Document meaning of -pedantic when -std=gnu* is
+ 	used.  Fixes PR c/2291.
+ 	* gcc.1: Regenerate.
+ 
+ 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
+ 	the -fpic and -fPIC options, clear flag_pic.
+ 
+ 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* hashtable.c (calc_hash): Fix HASHSTEP definition.
+ 	* stringpool.c (make_identifier): No statistics here anymore.
+ 	* objc-act.c (steup_string_decl): Remove redundant check.
+ 
+ 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
+ 	cpplib.o, cpphash.o, fix-header): Update.
+ 	(hashtable.o): New target.
+ 	* c-common.h: Include cpplib.h.  Define C_RID_CODE and
+ 	struct c_common_identifier here.
+ 	* c-lang.c (c_init_options): Update.  Call set_identifier_size.
+ 	* c-lex.c (c_lex): Update.
+ 	* c-pragma.h: Update.
+ 	* c-tree.h (struct lang_identifier): Contain c_common_identifier.
+ 	Delete rid_code.
+ 	(C_RID_CODE): Delete.
+ 	* cpphash.c: Rewrite to use hashtable.c.
+ 	* cpphash.h: Update include guards.
+ 	(struct cpp_reader): Remove hashtab.
+ 	hash_ob and buffer_ob are no longer pointers.  Add hash_table
+ 	and our_hashtable.
+ 	(HASHSTEP, _cpp_init_hashtable,	_cpp_lookup_with_hash): Delete.
+ 	(_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
+ 	(_cpp_cleanup_stacks): Rename _cpp_init_directives.
+ 	* cppinit.c (cpp_create_reader): Update.
+ 	* cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
+ 	(cpp_interpret_charconst): Eliminate warning.
+ 	* cpplib.c (do_pragma, do_endif, push_conditional,
+ 	cpp_push_buffer, cpp_pop_buffer): Update.
+ 	(_cpp_init_stacks): Rename cpp_init_directives.
+ 	(_cpp_cleanup_stacks): Remove.
+ 	* cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
+ 	(cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
+ 	 cpp_forall_identifiers, cpp_create_reader): Update.
+ 	(C_RID_CODE, cpp_make_node): New.
+ 	(c_common_identifier): New identifier node for C front ends.
+ 	* cppmain.c (main): Update.
+ 	* fix-header.c (read_scan_file): Update.
+ 	* flags.h (id_clash_len): Make unsigned.
+ 	* ggc.h (ggc_mark_nonnull_tree): New.
+ 	* hashtable.c: New.
+ 	* hashtable.h: New.
+ 	* stringpool.c: Update comments and copyright.  Update to use
+ 	hashtable.c.
+ 	* toplev.c (approx_sqrt): Move to hashtable.c.
+ 	(id_clash_len): Make unsigned.
+ 	* toplev.h (ident_hash): New.
+ 	* tree.c (gcc_obstack_init): Move to hashtable.c.
+ 	* tree.h: Include hashtable.h.
+ 	(IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
+ 	(GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
+ 	(struct tree_identifier): Update.
+ 	(make_identifier): New.
+ cp:
+ 	* cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
+ 	(C_RID_CODE): Remove.
+ 	* lex.c (cxx_init_options): Call set_identifier_size.  Update.
+ 	(init_parse): Don't do it here.
+ objc:
+ 	* objc-act.c (objc_init_options): Call set_identifier_size. Update.
+ 
+ Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
+ 
+ 	* except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
+ 	as ncessary.
+ 	(expand_eh_return): Convert between word_mode and Pmode.
+ 	* unwind-dw2.c (extract_cie_info): Do not assume words and pointers
+ 	are the same size.
+ 	(execute_stack_op): Likewise.
+ 	(execute_cfa_program): Likewise.
+ 	(uw_frame_state_for): Likewise.
+ 	(uw_update_context_1): Likewise.
+ 	* unwind.inc (_Unwind_Reason_Code): Likewise.
+ 	* config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
+ 	(EH_RETURN_STACKADJ_RTX): Likewise.
+ 	* config/mips/mips.c (compute_frame_size): Make space for saving
+ 	EH return registers.
+ 	(mips_expand_epilogue): Handle EH stack adjustments.
+ 	* config/mips/mips.md (eh_return): New pattern.
+ 	(eh_set_lr_si): Likewise.
+ 	(eh_set_lr_di): Likewise.
+ 	Add splitter to perform EH return after reload.
+ 
+ 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* jump.c (mark_jump_label): Tidy previous change.
+ 
+ 2001-05-19  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/genfixes: no need for two warnings
+ 	* fixinc/Makefile.in: open stdin for those building with a closed one.
+ 
+ 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* jump.c (jump_optimize_1): Tidy.
+ 	(mark_jump_label): When changing the label in a LABEL_REF, change
+ 	update any REG_EQUAL notes as well.
+ 
+ 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (parm_declarator): Split into
+ 	parm_declarator_starttypename and parm_declarator_nostarttypename.
+ 	(parm_declarator_starttypename, parm_declarator_nostarttypename):
+ 	New.  Allow parenthesized sub-declarators which don't begin with a
+ 	TYPENAME.  Fixes PR c/166.
+ 
+ 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
+ 	macro.
+ 	* tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
+ 	Document it.
+ 	* toplev.c (main): If the target does not allow profiling without
+ 	a frame pointer, issue an error message.
+ 	* config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
+ 	Define it to false.
+ 
+ Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* recog.c (general_operand): Modify last change to allow it if reload
+ 	has completed.
+ 
+ Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (general_operand): Prohibit nonzero subreg bytes on
+ 	subregs containing mem.
+ 
+ Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* regrename.c (regrename_optimize): frame pointer register can
+ 	use a few hardregs.
+ 
+ 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* README.DWARF: Move into dwarfout.c.
+ 
+ 2001-05-18  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
+ 	specific misuse of r0 as a reload address.
+ 
+ Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Clear op0_mode if simplification
+ 	succeeded.
+ 
+ Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
+ 	(add_to_sequence): Make that decision type.
+ 	(maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
+ 	(write_switch, write_cond, debug_decision_2): Likewise.
+ 
+ 	* dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
+ 	for INTEGER_TYPE.
+ 	(dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
+ 	variable size.
+ 
+ 2001-05-18  Stan Shebs  <shebs@apple.com>
+ 
+ 	* configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
+ 	* configure: Regenerate.
+ 
+ 2001-05-18  Per Bothner  <per@bothner.com>
+ 
+ 	Changes needed for java/jvspec.c
+ 	* gcc.h (n_infiles, outfiles):  Add declarations.
+ 	* gcc.c (n_infiles, outfiles):  Mske no longer static.
+ 
+ Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/som.h (EXCEPTION_SECTION): Define.
+ 
+ 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* dwarf2out.c: Add dw_loc_list_ref, a reference to a location
+ 	list.
+ 	Add have_location_lists, a variable to determine whether we need a
+ 	.debug_loc section or not.
+ 	(enum dw_val_class): Add dw_val_class_loc_list.
+ 	(dw_val_struct): Add val_loc_list.
+ 	(dw_loc_list_struct): New structure, represents location lists.
+ 	(new_loc_list): New function, return a new location list, given
+ 	the range and location expression.
+ 	(add_loc_descr_to_loc_list): New function, add a location
+ 	expression to a location list, given the expression and range.
+ 	(output_loc_list): New function, output a location list.
+ 	(gen_internal_sym): Modified to take symbol prefix, so we can
+ 	reuse it for location list symbols.
+ 	(add_AT_loc_list): New function, add a location list to a DIE at
+ 	the named attribute.
+ 	(AT_loc_list): New function, return the location list reference
+ 	for a given attribute, if it's a location list.
+ 	(print_die): Handle dw_val_class_loc_list.
+ 	(size_of_die): Ditto.
+ 	(value_format): Ditto.
+ 	(output_die): Ditto.
+ 	(output_location_lists): New function, output all of the location
+ 	lists for a DIE and it's children.
+ 	(dwarf2out_finish): Call output_location_lists if we have location
+ 	lists.
+ 
+ 
+ Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (try_replace_reg): First try global replace, later try to
+ 	simplify the expression.
+ 
+ 	* gcse.c (find_used_regs): Change calling convention; work via
+ 	note_uses.
+ 	(cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
+ 
+ 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	Revert
+ 	2001-02-09  Nick Clifton  <nickc@redhat.com>
+ 	* config/arm/arm.md: Change output constraint on post inc
+ 	load/store multiple patterns to be a read/write constraint.
+ 
+ 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* basic-block.h (struct basic_block_def): Add documentation about
+ 	what a basic block is, and what the various fields are used for.
+ 	* flow.c (calculate_globlal_regs_live): Add documentation about
+ 	how the algorithm works, and how we know that it will terminate.
+ 	Check that the inductive assumption that guarantees termination
+ 	actually holds.
+ 	(mark_used_regs): Treat conditionally set registers as used.
+ 	(debug_regset): Add comment.
+ 	* rtl.texi (cond_exec): Add documentation.
+ 
+ 	* function.c (expand_function_start): Avoid creating BLKmode
+ 	pseudos.
+ 
+ 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarf2out.c (output_comp_unit): Always output a compilation-unit
+ 	DIE, even if it has no children.
+ 	(dwarf2out_finish): Always output the line-number table, even if
+ 	it has no content.
+ 
+ 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movsfcc,movdfcc): Remove NE case.
+ 
+ 2001-05-17  Bruce Korb <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
+ 	* fixinc/genfixes: emit a warning if AutoGen is out of date
+ 
+ 2001-05-17  Brendan Conoboy <blc@cygnus.com>
+ 	    Bruce Korb <bkorb@gnu.org>
+ 
+ 	* fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
+ 	found in fixinc directory.  Facilitates binary distributions.
+ 
+ 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
+ 	COMPLEX_TYPE.
+ 
+ Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
+ 
+ 	* dwarf2out.c (modified_type_die): Equate qualified type to die.
+ 
+ Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
+ 	(simplify_subreg): Handle complex types represented as CONCAT.
+ 
+ 	* recog.c (validate_replace_rtx_1): Properly canonicalize expression
+ 	* rtl.h (swap_commutative_operands_p): Declare.
+ 	* rtlanal.c (swap_commutative_operands_p): New.
+ 	(operand_preference): New static function.
+ 
+ 	* combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
+ 	(gen_binary): Likewise.
+ 	* optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
+ 	* simplify-rtx.c (simplify_gen_binary,
+ 	simplify_gen_relational): Likewise.
+ 
+ Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (fold_rtx): Use simplify_subreg.
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
+ 	(simplify_gen_subreg): New.
+ 	(simplify_rtx): Use simplify_subreg.
+ 	* rtl.h (simplify_gen_subreg): Declare.
+ 
+ 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/install.texi: Update Solaris information.
+ 
+ 	* except.h (protect_cleanup_actions): Remove it.
+ 	(lang_protect_cleanup_actions): Declare it.
+ 	* except.c (protect_cleanup_actions): Remove it.
+ 	(lang_protect_cleanup_actions): New variable.
+ 	(init_eh): Don't make protect_cleanup_actions a GC root.
+ 	(expand_eh_region_and_cleanup): Call
+ 	lang_protect_cleanup_actions.
+ 	(output_function_exception_table): Remove unused `align'
+ 	variable.
+ 	* varasm.c (assemble_external): Abort if we have not yet
+ 	opened the assembly output file.
+ 
+ Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* except.c (sjlj_emit_function_enter): Call assemble_external_libcall
+ 	for eh_personality_libfunc.
+ 
+ Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
+ 	when calling simplify_subreg.  This is needed to allow replacing
+ 	of expression of one mode by expression of different mode.
+ 
+ Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
+ 
+ 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* expr.c (protect_from_queue): Protect against subsequent calls to
+ 	emit_queue.
+ 	(expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
+ 	too clever.
+ 
+ Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
+ 
+ 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* gccbug.in (CATEGORIES): Add "bootstrap".
+ 
+ Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Break out from ...
+ 	* combine.c (combine_splify_rtx) ... here and ...
+ 	* recog.c (validate_replace_rtx_1): ... here;
+ 	* rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
+ 	* emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
+ 	(subreg_lowpart_p): ... here.
+ 
+ 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* stmt.c (expand_asm_operands): For inout operands, make sure
+ 	the substitution of '=' for '+' makes it into the rtl.
+ 
+ 	* reload1.c (delete_output_reload): Call eliminate_regs on substed.
+ 	(reload_as_needed): Call update_eliminable_offsets a bit later.
+ 
+ 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* gcc.texi (gccbug): Refer to the web pages for detailed information
+ 	on GNATS.
+ 
+ 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
+ 
+ 	* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
+ 	OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
+ 	LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
+ 	libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
+ 	* cross-make: Don't set LIBGCC1.
+ 	* mklibgcc.in: Delete all code for building from libgcc1.c.
+ 	Always honor LIB1ASMFUNCS if set.
+ 
+ 	* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
+ 	config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
+ 	config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
+ 	config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
+ 	config/i386/uwin.asm, config/m68hc11/larith.asm,
+ 	config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
+ 	config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
+ 	config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
+ 	config/v850/lib1funcs.asm, config/c4x/libgcc.S:
+ 	Delete or update references to libgcc1 in commentary.
+ 
+ 	* config/t-libc-ok, config/t-linux, config/t-linux-aout,
+ 	config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
+ 	config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
+ 	config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
+ 	config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
+ 	config/arm/t-semi, config/arm/t-strongarm-coff,
+ 	config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
+ 	config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
+ 	config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
+ 	config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
+ 	config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
+ 	config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
+ 	config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
+ 	config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
+ 	config/m68k/t-m68kbare, config/m68k/t-m68kelf,
+ 	config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
+ 	config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
+ 	config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
+ 	config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
+ 	config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
+ 	config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
+ 	config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
+ 	config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
+ 	config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
+ 	config/mips/t-ultrix, config/mn10200/t-mn10200,
+ 	config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
+ 	config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
+ 	config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
+ 	config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
+ 	config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
+ 	config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
+ 	config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
+ 	config/sparc/t-sparclite, config/sparc/t-splet,
+ 	config/sparc/t-sunos41, config/sparc/t-vxsparc,
+ 	config/sparc/t-vxsparc64, config/v850/t-v850:
+ 	Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
+ 
+ 	* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
+ 	Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
+ 	* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
+ 	FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
+ 	nongcc_SI_type, nongcc_word_type, or perform_*
+ 	* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
+ 
+ 	* config/i386/386bsd.h, config/i386/beos-elf.h,
+ 	config/i386/linux-aout.h, config/i386/linux-oldld.h,
+ 	config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
+ 	config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
+ 	Don't include i386/perform.h.
+ 
+ 	* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
+ 	config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
+ 	config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
+ 	config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
+ 	config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
+ 	config/vax/t-openbsd, config/vax/t-vax: Delete.
+ 
+ 	* config.gcc: Remove references to deleted files.
+ 	(arm-semi-aof): Use arm/t-semi for tmake_file.
+ 
+ 	* gcc.texi, install.texi, invoke.texi, tm.texi:
+ 	Delete or rewrite text which is no longer relevant now that
+ 	libgcc1 no longer exists.
+ 
+ 	* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
+ 	No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
+ 
+ 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
+ 	Bruce Korb <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
+ 	initializer
+ 
+ 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* i386.md: Add two peepholes to clean up code generated by
+ 	cmpstr* expanders.
+ 
+ 2001-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
+ 	variants of non-absolute encodings.
+ 
+ 	* config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 
+ 	* libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
+ 	__register_frame_info_table_bases): Export.
+ 
+ 2001-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (eh_data_format_name): Move to ...
+ 	* dwarf2asm.c: ... here.  Use designated initializers if available.
+ 	(dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
+ 	* dwarf2asm.h: Update declarations.
+ 	* dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
+ 	ASM_PREFERRED_EH_DATA_FORMAT.
+ 	(output_call_frame_info): Likewise.  Use 'L' augmentation for
+ 	the LSDA encoding.
+ 
+ 	* unwind-dw2-fde.h (struct fde_vector): New.
+ 	(struct old_object): Rename from struct object.
+ 	(struct object): New.
+ 	(__register_frame_info_bases): Declare.
+ 	(__register_frame_info_table_bases): Declare.
+ 	(struct dwarf_fde): Remove explicit pc_begin/pc_range members.
+ 	* unwind-dw2-fde.c (objects): Remove.
+ 	(unseen_objects, seen_objects): New.
+ 	(__register_frame_info_bases): New.
+ 	(__register_frame_info): Use it.
+ 	(__register_frame_info_table_bases): New.
+ 	(__register_frame_info_table): Use it.
+ 	(__deregister_frame_info): Rewrite for changed object struct.
+ 	(base_from_object, get_cie_encoding, get_fde_encoding): New.
+ 	(fde_unencoded_compare): Rename from fde_compare; uninline.
+ 	(fde_single_encoding_compare, fde_mixed_encoding_compare): New.
+ 	(start_fde_sort): Adjust for new definition of fde_vector.
+ 	(fde_insert): Likewise.
+ 	(end_fde_sort): Likewise.  Select comparison function based
+ 	on properties of the object.
+ 	(fde_split): Take object and fde_compare_t arguments.
+ 	(frame_heapsort, fde_merge): Likewise.
+ 	(classify_object_over_fdes): Rename from count_fdes.  Handle
+ 	encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
+ 	for the object.
+ 	(add_fdes): Handle encoded pointers.
+ 	(init_object): Rename from frame_init.  Update for new struct object.
+ 	(linear_search_fdes): Rename from search_fdes.  Handle encoded
+ 	pointers.
+ 	(binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
+ 	(binary_search_single_encoding_fdes): New.
+ 	(binary_search_mixed_encoding_fdes): New.
+ 	(search_object): New.
+ 	(_Unwind_Find_FDE): Update for new struct object.  Fill in
+ 	the dwarf_eh_bases.
+ 	* unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
+ 	iterating over EH data.
+ 	(_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
+ 	fde_encoding, lsda_encoding.
+ 	(read_uleb128, read_sleb128): Remove.
+ 	(read_encoded_pointer): Remove.  All callers use read_encoded_value.
+ 	(extract_cie_info): Set lsda_encoding from 'L' augmentation.
+ 	(uw_frame_state_for): Don't set bases.func.  Handle encoded fde
+ 	pointers.
+ 	* unwind-pe.h: Add "struct" to _Unwind_Context references.
+ 
+ 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (lex): Use NODE_NAME and NODE_LEN.
+ 	* cpphash.c (_cpp_lookup_with_hash): Similarly.
+ 	* cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
+ 	cpp_spell_token, cpp_output_token): Similarly.
+ 	* cpplib.c (lex_macro_node, do_undef, do_pragma,
+ 	do_pragma_poison, parse_assertion, do_assert): Similarly.
+ 	* cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
+ 	save_parameter, _cpp_create_definition, check_trad_stringification,
+ 	cpp_macro_definition): Similarly.
+ 	* cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
+ 	* c-lex.c (cb_undef, c_lex): Similarly.
+ 	* fix-header.c (recognized_function): Similarly.
+ 	* cpplib.h (NODE_LEN, NODE_NAME): New.
+ 	(cpp_hashnode): Rename length len.
+ 
+ Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
+ 	GPRs.
+ 
+ 2001-05-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
+ 
+ 	* toplev.c: Include dwarf2asm.h for prototype of
+ 	dw2_output_indirect_constants.
+ 
+ Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* stmt.c (expand_asm_operands): Be able to offload addressof
+ 	expression to memory. (PR optimization/185)
+ 
+ Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
+ 	applying distributive law.
+ 
+ 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-hpux10.h (THREAD_MODEL_SPEC): Define.
+ 
+ 	* gthr-dce.h (UNUSED): Attribute unused macro.
+ 	(__gthread_key_dtor): Make arguments UNUSED.
+ 	(__gthread_key_delete): Revise for compatibility with DRAFT4
+ 	implementation.
+ 
+ 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi: Update AIX information.
+ 	* README.RS6000: Remove obsolete file.
+ 
+ 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
+ 	    Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcc.c (give_switch): Don't write before start of string.
+ 	Always append suffix.
+ 
+ 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
+ 	after stage3.
+ 
+ 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.ALTOS: Remove obsolete file.
+ 
+ 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.h (save_and_forget_protocol_qualifiers,
+ 	forget_protocol_qualifiers, remember_protocol_qualifiers):
+ 	Remove deleted functions' prototypes.
+ 
+ 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (methodtype): New production.
+ 	(methoddef, methodproto): Collapse separate '-' and '+'
+ 	handlers into 1.
+ 
+ 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* c-common.h (RID_FIRST_PQ): New.
+ 	* c-parse.in (objc_pq_context): New.
+ 	(objc parser): Set objc_pq_context rather than calling
+ 	remember_protocol_qualifiers and forget_protocol_qualifiers.
+ 	Don't call save_and_forget_protocol_qualifiers.
+ 	(yylexname): Handle objc protocol qualifiers here.
+ 	* stringpool.c (struct str_header): Replace with sp_hashnode.
+ 	(SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
+ 	(alloc_string): Rename alloc_ident.  Use the SP_ accessors.
+ 	Allocate an IDENTIFIER_NODE for each identifier.
+ 	(FORALL_STRINGS, set_identifier): Delete.
+ 	(FORALL_IDS, expand_string_table, stringpool_statistics): Update.
+ 	(ggc_alloc_string): Use an obstack.
+ 	(get_identifier, maybe_get_identifier, mark_string_hash): Update.
+ 	* tree.h: Update comments.
+ 	(set_identifier): Delete.
+ 	* objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
+ 	save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
+ 	remember_protocol_qualifiers): Delete.
+ 
+ Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (life_analysis): After life analysis is complete, do
+ 	an optional scan over insns looking for REG_LABEL notes that
+ 	reference a deleted label.
+ 	(propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
+ 	before peeking at LABEL_NUSES.
+ 
+ 2001-05-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-sjlj.c (_Unwind_GetDataRelBase): New.
+ 	(_Unwind_GetTextRelBase): New.
+ 
+ 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
+ 
+ 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
+ 	so that CHOOSE_SECTION gets used.
+ 
+ 	* config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
+ 	TARGET_RELOCATABLE like flag_pic for now.
+ 
+ 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movdi splitter): Sign extend more efficiently.
+ 	* rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
+ 	to "long long" valid on 32-bit and 64-bit hosts.
+ 	(logical_operand): Cast trunc_int_for_mode return value.
+ 	(rs6000_emit_move): Shift macro to encapsulate variable.
+ 	(rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
+ 	(rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
+ 	plus_constant requires signed argument.
+ 
+ 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* gthr-posix.h: Make additional pthread-* functions weak.
+ 
+ Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (apply_change_group): Avoid unneeded validating.
+ 
+ 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (num_insns_constant_wide): Constants are sign-extended.
+ 	(num_insns_constant): CONST_INT can be 64-bits.
+ 
+ 2001-05-14  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (LIB_SPEC): Just use -lSystem.
+ 	(LIBGCC_SPEC): Don't define.
+ 
+ 2001-05-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_eh_frame): New test.
+ 	* config.in, configure: Rebuild.
+ 	* gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
+ 
+ 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
+ 	extended precision divide.
+ 
+ 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
+ 	for RETURNS as well.
+ 
+ Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
+ 	(CPP_CPU??_SIZE_TYPE): New.
+ 	(CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
+ 	(CPP_CPU_SPEC): ... here; support choosing of CPU.
+ 	(EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
+ 	(MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
+ 	compiler.
+ 	* i386.c (override_options): Add sorry about not suported modes.
+ 
+ Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/som.h (NM_FLAGS): Remove.
+ 	(ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
+ 	(ASM_OUTPUT_SECTION_NAME): Remove.
+ 	(MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
+ 
+ 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* regrename.c (regrename_optimize): Do not rename registers to
+ 	leaf registers.
+ 
+ 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
+ 	contain MEMs.  Remove useless distinction about clobbering
+ 	registers.
+ 
+ 2001-05-13  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
+ 	* config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
+ 	* config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	(EXCEPTION_SECTION): Define.
+ 
+ 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
+ 	binary backward compat only.
+ 	* Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
+ 	in LIB2FUNCS.  Pass it to mklibgcc.
+ 	* mklibgcc.in: Handle LIB2FUNCS_ST.
+ 
+ 	* Makefile.in (installdirs): Don't create $(gcc_tooldir).
+ 
+ 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tm.texi (THREAD_MODEL_SPEC): Document it.
+ 	* gcc.c (main): Use it.
+ 	* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
+ 	* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
+ 
+ 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rtl.h (SYMBOL_REF_WEAK): New macro.
+ 	* rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
+ 	* varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
+ 	* rtl.texi (SYMBOL_REF_WEAK): Document it.
+ 	* gcc.texi: Remove wrong description.
+ 
+ 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (STAMP): New macro.
+ 	Replace all uses of `touch' with $(STAMP).
+ 	* fixinc/Makefile.in: Likewise.
+ 
+ Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* configure.in: ldopen is never in -lexc, so don't test for it.
+ 	Add test for exc_resume in -lexc for Ada.
+ 	* configure: Regenerated.
+ 
+ 2001-05-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (size_of_encoded_value): New function.
+ 	* dwarf2asm.h: Declare it.
+ 	* except.c (output_function_exception_table): Align the TType
+ 	array only as wide as the encoding.
+ 
+ 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* extend.texi: Document #pragma GCC java_exceptions.
+ 
+ 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (bison parser, init_reswords): Remove uses of
+ 	doing_objc_thang.
+ 	* c-tree.h (doing_objc_thang): Remove.
+ 
+ 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (_cpp_lex_token): Ensure we warn at most once
+ 	about files not ending in newlines.
+ 
+ 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
+ 
+ 	* dwarfout.c (dwarfout_init): Add cast.
+ 	* sched-deps.c (sched_analyze_insn): Remove unused vars.
+ 	* unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
+ cp:
+ 	* method.c (build_mangled_C99_name): Remove unused prototype.
+ 
+ 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
+ 
+ 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
+ 	* tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
+ 
+ 2001-05-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 	* dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
+ 	dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
+ 	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
+ 	(dw2_output_indirect_constants): Prototype.
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Generate
+ 	current_function_func_begin_label if we'll need it for EH.  Exit
+ 	early for IA64_UNWIND_INFO.
+ 	* except.c: Get DW_EH_PE_* defines from dwarf2.h.
+ 	(eh_data_format_name): Update for indirect references.
+ 	(output_function_exception_table): Care for IA64_UNWIND_INFO.
+ 	Handle ASM_PREFERRED_EH_DATA_FORMAT.
+ 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
+ 	define HAVE_eh_return etc.
+ 	* final.c (final_start_function): Always call dwarf2out_begin_prologue.
+ 	(final_end_function): Don't call output_function_exception_table.
+ 	* toplev.c (compile_file): Call dw2_output_indirect_constants.
+ 	(rest_of_compilation): Invoke output_function_exception_table
+ 	for ia64 before assemble_end_function.
+ 	* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
+ 
+ 	* unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
+ 	* unwind.h: Declare them.
+ 	* libgcc-std.ver: Export them.
+ 	* unwind-pe.h: New file.
+ 
+ 	* config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 
+ 	* config/ia64/fde-glibc.c: Use "struct unw_table_entry"
+ 	instead of "fde".
+ 	(find_fde_for_dso): Extract DT_PLTGOT.
+ 	(_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
+ 	the segment and gp as well.
+ 	* config/ia64/frame-ia64.c: Remove file.
+ 	* config/ia64/frame-ia64.h: Remove file.
+ 	* config/ia64/unwind-ia64.c: New file.
+ 	* config/ia64/unwind-ia64.h: New file.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
+ 	(ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
+ 	(ASM_OUTPUT_EH_DOUBLE_INT): Remove.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
+ 	(IA64_UNWIND_INFO): Re-enable.
+ 	(HANDLER_SECTION): Remove.
+ 	(EH_RETURN_DATA_REGNO): New.
+ 	* config/ia64/ia64.md (exception_receiver): Remove.
+ 	* config/ia64/t-glibc (LIB2ADDEH): Re-enable.
+ 	* config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
+ 
+ 2001-05-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (group_barrier_needed_p): Don't allow
+ 	calls and jumps to be bundled together.
+ 	(ia64_reorg): Emit a break after a noreturn call that ends
+ 	a function.
+ 	* config/ia64/ia64.md (break_f): New.
+ 
+ 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (lex_charconst): Convert into a simple wrapper
+ 	around cpp_interpret_charconst, to which most of the code
+ 	body is moved.
+ 	* cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
+ 	MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
+ 	MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
+ 	(lex): Use cpp_interpret_charconst.
+ 	* cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
+ 	hex_digit_value): New functions.
+ 	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
+ 	* cpplib.h (cpp_interpret_charconst): New prototype.
+ 	* Makefile.in: Update.
+ 
+ 2001-05-12  Dean Wakerley  <dean@wakerley.com>
+ 
+ 	* doc/install.texi: New file. Converted to texinfo from the HTML
+ 	documentation in wwwdocs/htdocs/install.
+ 
+ Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* gcse.c (insert_insn_end_bb): Do not search for assignments to
+ 	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
+ 
+ 	* toplev.c (compile_file): Move comment for opening output
+ 	file to just before the code that opens the output file.
+ 
+ 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* regmove.c (regmove_optimize): Suppress the optimization for
+ 	unchanging destination register.  Add comment above function.
+ 
+ 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in: Exterminate all references to assert.h.
+ 	* cross-make: Likewise.
+ 	* assert.h: Delete.
+ 	* configure.in: Correct commentary.
+ 	* configure: Regenerate.
+ 
+ 	* libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
+ 	Remove __eprintf.
+ 
+ 	* config/t-freebsd, config/t-linux, config/t-linux-aout,
+ 	config/t-netbsd, config/t-rtems, config/x-linux,
+ 	config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
+ 	No need to override INSTALL_ASSERT_H.
+ 
+ 	* fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
+ 	fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
+ 	fixinc/fixincl.sh: Don't install assert.h into objdir/include.
+ 
+ 2001-05-11  Graham Stott  <grahams@redhat.com>
+ 
+ 	* combine.c (simplify_comparison): Fix typo.
+ 
+ 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* loop.h (struct movables): Remove `num'.
+ 	* loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
+ 	Adjust call to strength_reduce.
+ 	(num_unmoved_movables): New function.
+ 	(move_movables): Don't set movables->num.
+ 	(strength_reduce): Compute the number of instructions in the loop
+ 	here, rather than in the caller.
+ 	(check_dbra_loop): Always clear reversible_mem_store if there
+ 	are any memory sets.
+ 	(loop_regs_scan): Don't count instructions here.
+ 	(count_insn_in_loop): New function.
+ 
+ 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
+ 
+ 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (finish_label_expr): New function, lifted from
+ 	from cp/semantics.c.
+ 	* c-common.h (finish_label_expr, lookup_label): New prototypes.
+ 	* c-parse.in: Move 3 blocks of parser code into new functions.
+ 	* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
+ 	* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
+ 	(lookup_label): Remove.
+ 
+ 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
+ 	FLOAT_BIT_ORDER_MISMATCH.
+ 
+ 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
+ 	bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
+ 
+ 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (emit_group_load): extract_bit_field requires a REG or
+ 	MEM as an argument.
+ 
+ Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* cse.c (cse_insn): Mostly remove first hunk of code which collapsed
+ 	a computed jump into an unconditional jump.
+ 	In second hunk of code for collapsing computed and conditional jumps
+ 	into unconditional jumps, reemit the jump in additional cases.
+ 
+ 	* jump.c (jump_optimize_1): Do not wrap the new jump target
+ 	inside a LABEL_REF; gen_jump will do that automatically.
+ 
+ 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
+ 	contents for a SYMBOL_REF in case of floating point constants.
+ 
+ 2001-05-10  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-common.c (combine_strings): Widen strings in a
+ 	host-endian-independent way.
+ 
+ 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in: Remove many shift/reduce conflicts.  Update
+ 	%expect values.
+ 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
+ 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
+ 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
+ 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
+ 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
+ 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
+ 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
+ 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
+ 	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
+ 	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
+ 	maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
+ 	typespec_reserved_nonattr, typespec_reserved_attr,
+ 	typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
+ 	structsp_nonattr, components_notype, component_notype_declarator,
+ 	absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
+ 	firstparm, setspecs_fp): New
+ 	(typed_declspecs, reserved_declspecs, typed_typespecs,
+ 	reserved_typespecquals, declmods, typespec, typespecqual_reserved,
+ 	typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
+ 	declmods_no_prefix_attr, nonempty_type_quals, structsp,
+ 	type_quals): Remove.  Users updated.
+ 	(initdecls, notype_initdecls, after_type_declarator,
+ 	parm_declarator, notype_declarator, absdcl1, components, ivars):
+ 	Don't allow attributes at the start of a declarator; include them
+ 	in the production containing the declarator instead.  Always
+ 	require type specifiers before trying to redeclare a typedef name.
+ 	(typename): Allow for attributes but warn that they are ignored.
+ 	(parmlist, firstparm, setspecs_fp): Include attributes in
+ 	parmlist; suck them off the parser stack in firstparm using
+ 	setspecs_fp.
+ 
+ Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
+ 	to determine if a block has an unconditional jump at its end.
+ 
+ 	* jump.c (jump_optimize_1): When converting a conditional jump
+ 	to an unconditional jump, build the jump using gen_jump instead
+ 	of just modify operands in-place.
+ 
+ 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* cppinit.c (cpp_post_options): Shut off macro expansion if
+ 	-fpreprocessed.
+ 	* cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
+ 	IN_I directives only if the # is in column 1 and the directive
+ 	name begins in column 2.
+ 	* cppmain.c (scan_buffer): Insert a space between # and an
+ 	identifier, when that identifier is a directive name.
+ 
+ 	* tradcpp.c (struct file_buf): Add a pointer to the next entry
+ 	in the header search path.
+ 	(enum node_type): Add T_INCLUDE_NEXT.
+ 	(directive_table): Add entry for include_next.
+ 	(do_include_next): New function.
+ 	(process_include): New routine, broken out of do_include.
+ 	(finclude): Insert 'nhd' argument, to be copied into
+ 	next_header_dir of the new buffer.
+ 	(main): Adjust to match.
+ 	* gsyslimits.h, limity.h: Un-indent #include_next.
+ 
+ 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
+ 	inclusion as a chapter of the GCC manual.
+ 	* gcc.texi: Include objc.texi.
+ 	* fdl.texi: Use @unnumberedsec for the addendum.
+ 	* Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
+ 
+ Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
+ 
+ Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
+ 	handling of two-address insns.
+ 
+ Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (NM_FOR_TARGET): Look for ./nm, then
+ 	../binutils/nm-new instead of ../binutils/nm.
+ 
+ Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movdi splitter): Fix the splitting condition
+ 	(float_extenddftf splitter): Fix mode.
+ 
+ Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genrecog.c (write_switch): Avoid outputting of switch for
+ 	types wider than int.
+ 
+ 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* reload1.c (copy_eh_notes): New function.
+ 	(emit_input_reload_insns): Call it.
+ 	(emit_output_reload_insns): Call it.
+ 
+ 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
+ 	Delete stanzas.
+ 	* config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
+ 	config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
+ 
+ 	* optabs.c: Delete #ifdef BROKEN_LDEXP block.
+ 
+ 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (interspace_jump): Revise comment.
+ 	(builtin_longjmp): Block initial setup insns from delay slot of
+ 	interspace branch.
+ 	(builtin_setjmp_receiver): New expander to save and restore PIC
+ 	register.
+ 
+ 	* som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
+ 
+ Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* toplev.c (compile_file): Set up the output file before we call
+ 	the various initializers for the compiler.
+ 
+ 	* except.c (sjlj_mark_call_sites): Do not search for assignments to
+ 	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
+ 
+ 	* pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
+ 	* pa-64.h (*_TYPE_SIZE): Undefine before redefining.
+ 
+ 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in (tradcpp0): Correct typo in dependency list.
+ 
+ 2001-05-06  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
+ 	the link register if we're not going to use it.
+ 
+ 	* config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
+ 	(output_function_profiler): Likewise.
+ 
+ 2001-05-07  Alan Modra  <amodra@one.net.au>
+ 
+ 	* pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
+ 
+ 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* unroll.c (loop_iterations): Don't sign-extend abs_diff;
+ 	zero-extend it.  Make abs_inc unsigned.
+ 
+ 	* optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
+ 	widest mode in narrowing and widening operations.
+ 
+ 	* config/mips/mips.md: Sign extend CONST_INTs.
+ 
+ 2001-05-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
+ 	(i386 Options): Document -momit-leaf-frame-pointer.
+ 
+ 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-typeck.c (internal_build_compound_expr): Check for
+ 	array to pointer conversion just once.
+ 
+ 2001-05-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
+ 
+ 2001-05-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
+ 	to the parent of the fixup region.
+ 
+ 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
+ 	"inline" keyword.
+ 	* cpp.texi (__NO_INLINE): Document it.
+ 
+ 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (struct include_file): New member err_no.
+ 	(find_or_create_entry): Set it.
+ 	(open_file): Don't set fds to -2.  Instead, use err_no to
+ 	remember previous errors, if any.
+ 
+ 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
+ 	between X and Y by using sequences of xgdx and xgdy.
+ 
+ 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
+ 	of '!' for the 'D' alternative ('!' is too strong).
+ 	("*logicalsi3_silshl16"): Likewise.
+ 	("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
+ 	("movstrictsi"): Remove spurious '+'.
+ 	("movstrictqi"): Don't accept 'A' and remove spurious '+'.
+ 	("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
+ 	("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
+ 	a reload to them.
+ 
+ 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
+ 
+ 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
+ 	into -a.
+ 
+ 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.md (ashldi3 splits): Guard with
+ 	TARGET_POWERPC64.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
+ 	soft register, use ror instead of rol.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
+ 	into account pre/post increment decrement for 68HC12.
+ 	Fix other problems in replacement and fix call to reg_mentioned_p.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
+ 	Put the soft registers in bss for 68HC12.
+ 	(L_regs_d3_4): New for _.d3 and _.d4.
+ 	(L_regs_d5_6): Likewise.
+ 	(L_regs_d1_2): Likewise.
+ 	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
+ 	to the pre-processor when -fshort-double is specified.
+ 	* config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
+ 	(__mulsi3): Rewrite for 68HC12.
+ 	* config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
+ 	Mark 'x' constraint with earlyclobber to prevent a
+ 	RELOAD_FOR_OTHER_ADDRESS to go in it.
+ 	(mulhi3_m68hc12): New pattern.
+ 	(mulhi3_m68hc11): Rename of mulhi3.
+ 	(mulhi3): New expand for 68HC12 optimisation.
+ 	(umulhisi3, mulhisi3): New patterns for 68HC12.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
+ 	(extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
+ 	(uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
+ 
+ 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
+ 	constants cheap after reload.
+ 	* config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
+ 	are cheap.
+ 	(m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
+ 	so that gcc prefers a shift by 16.
+ 	(m6811_cost, m6812_cost): Make the shift cheap compared to an add.
+ 
+ 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
+ 
+ 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.h: NULL_PTR -> NULL.
+ 	* arm.c: Likewise.
+ 	* arm.h: Likewise.
+ 	* avr.h: Likewise.
+ 	* c4x.c: Likewise.
+ 	* c4x.h: Likewise.
+ 	* i386.c: Likewise.
+ 	* i386.md: Likewise.
+ 	* i860.c: Likewise.
+ 	* ia64.c: Likewise.
+ 	* m68hc11.h: Likewise.
+ 	* rs6000.h: Likewise.
+ 	* sh.c: Likewise.
+ 	* sh.h: Likewise.
+ 	* sparc.h: Likewise.
+ 	* v850.c: Likewise.
+ 
+ 	* expr.c: Likewise.
+ 	* final.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* recog.c: Likewise.
+ 
+ 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
+ 	`bool' parameter to `int'.
+ 
+ 	* hash.c (hash_lookup): Likewise.
+ 
+ 	* hash.h (hash_lookup): Likewise.
+ 
+ 	* tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
+ 
+ Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_initialize_trampoline): Fix mode of constant.
+ 
+ 2001-05-03  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* invoke.texi (i386 Options): Delete references to -malign-jumps,
+ 	-malign-loops, -malign-functions.
+ 	* i386.c (ix86_align_funcs): Delete.
+ 	(ix86_align_loops): Delete.
+ 	(ix86_align_jumps): Delete.
+ 	(override_options): Mark -malign-* as obsolete.  Emulate their
+ 	behavior with the -falign-* options.  Default -falign-* from
+ 	the processor table.
+ 	* i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
+ 	patch of Wed May 2 13:09:36 2001.
+ 	(LOOP_ALIGN): Delete.
+ 	(LOOP_ALIGN_MAX_SKIP): Delete.
+ 	(LABEL_ALIGN_AFTER_BARRIER): Delete.
+ 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
+ 
+ 2001-05-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* except.h: Add prototype declaration for
+ 	expand_builtin_init_dwarf_reg_sizes.
+ 
+ 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
+ 	instruction.
+ 	("bitcmpqi2"): New pattern for bit-extract and test.
+ 	("bitcmphi"): New pattern for bitb/bita instructions.
+ 
+ 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gccbug.in: Use a temporary directory when the mktemp command is
+ 	not available.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
+ 	instead of _.d1.
+ 	(INITIALIZE_TRAMPOLINE): Call it.
+ 	(TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
+ 	(TRAMPOLINE_TEMPLATE): Remove.
+ 	* config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
+ 	Declare.
+ 
+ 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
+ 	and crtendS.o with PIC.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
+ 	negative numbers.
+ 	(___subdi3, ___adddi3): Use x instead of y as index register.
+ 	(__init_bss_section, __map_data_section): Optimize for 68HC12.
+ 	(__memset, __memcpy): Likewise.
+ 	(regs): Put the soft registers in bss for 68HC12.
+ 	(abort): Use trap to abort for 68hc12.
+ 	(__mulhi3, __mulhi32): Use emul for 68hc12.
+ 	(__mulsi3): Avoid to use the tmp soft register for 68hc12.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
+ 	* config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
+ 	* config/m68hc11/m68hc11.c (limit_reload_class): Remove.
+ 	(m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
+ 	Set 68HC12 min offset to -65536.
+ 	(print_operand): Put parenthesis arround the operand if it refers
+ 	to a symbol having the same name as a register.
+ 	(m68hc11_z_replacement): When z register is replaced by its
+ 	equivalent soft register, force the insn to be re-recognized.
+ 	(m68hc11_check_z_replacement): Fix the test when destination is
+ 	the index register and z dies in the insn.
+ 	(m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
+ 	costs according to processor variant.
+ 	(m68hc11_shift_cost): New function to compute shift costs.
+ 	(m68hc11_rtx_costs): Define costs according to processor variant.
+ 	(m6811_cost): Costs for 68HC11.
+ 	(m6812_cost): Costs for 68HC12.
+ 	(COSTS_N_INSNS): Remove.
+ 
+ 	* config/m68hc11/m68hc11.h (RTX_COSTS): New.
+ 	(DEFAULT_RTX_COSTS): Remove.
+ 	(CONST_COSTS): Define costs according to OUTER_CODE.
+ 	(processor_costs): New struct to define costs.
+ 	(m68hc11_cost): Pointer to current costs.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
+ 	and use m68hc11_notice_keep_cc when using leax/leay.
+ 	(addhi3 split): Reject split if the insn is handled by
+ 	leax/leay above.
+ 	* config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
+ 	push must be handled in a special way if the source operand uses
+ 	sp as index register.
+ 	(m68hc11_notice_keep_cc): New function.
+ 	(m68hc11_gen_movhi): Use it when an insn changes a register but
+ 	not the flags.
+ 	(m68hc11_gen_movqi): Fix move for 68HC12.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
+ 	and don't pass operands[0] to emit_library_call_value.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
+ 	(zero_extendsi split): Simplify and use (zero_extendhi).
+ 	(*addhi3): Remove 'w' constraint since stack pointer is handled
+ 	by (addhi3_sp).
+ 	(*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
+ 	(*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
+ 	(*ashrhi3_const): Fix shift by 7.
+ 	(*lshrsi3_const16): Fix template.
+ 	(call, call_value): Fix constraint and predicate.
+ 
+ 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
+ 	(Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
+ 	(CC_REGNUM): Likewise.
+ 	(*unnamed splits): Use above constants instead of hard coded numbers.
+ 	(*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
+ 	(*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
+ 	(*return_16bit, *unnamed peepholes): Likewise.
+ 
+ 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
+ 	rs6000/rs6000.h twice.
+ 
+ 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
+ 	(CPP_SPEC): Conditionally define MSDOS and GO32.
+ 	(SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
+ 	ignored.
+ 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
+ 
+ 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
+ 
+ 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* integrate.h (struct inline_remap): Add leaf_reg_map table.
+ 	* integrate.c (expand_inline_function): Use xcalloc to allocate
+ 	memory.
+ 	(copy_rtx_and_substitute): Use the leaf_reg_map for leaf
+ 	registers.
+ 
+ 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
+ 	if it is not set.
+ 
+ 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
+ 	linker if -mrelax is given.
+ 	(TARGET_SWITCHES): Document -mrelax.
+ 
+ 	Re-installed 2001-01-09's patch:
+ 	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
+ 	if it's wider than long and the target's long is wider than the
+ 	host's.
+ 
+ 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
+ 	directly include rs6000/rs6000.h.  Instead do it in tm.h.
+ 
+ 2001-05-02  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
+ 	NSConstantString for NeXT-style runtimes.
+ 	(STRING_OBJECT_GLOBAL_NAME): New macro.
+ 	(enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
+ 	OCTI_STRING_CLASS_DECL.
+ 	(constant_string_global_id): New macro.
+ 	(string_class_decl): Ditto.
+ 	(setup_string_decl): New function.
+ 	(build_objc_string_object): Use it to build a NeXT runtime
+ 	compatible string initializer.
+ 
+ 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tradcpp.c (do_define): Make sure we don't walk past limit.
+ 
+ 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
+ 	offsets if not REG_OK_STRICT.
+ 
+ 	* config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
+ 	(INT_REG_OK_FOR_INDEX_P): Likewise.
+ 	(INT_REG_OK_FOR_BASE_P): Likewise.
+ 	(REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
+ 	(REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
+ 	(LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
+ 	INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
+ 	REG_OK_FOR_BASE_P. Take an additional parameter.
+ 	(LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
+ 	(LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
+ 	(LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Move code into new function
+ 	rs6000_legitimate_address() and use it.
+ 	* config/rs6000/rs6000.c: Update all callers.
+ 	(rs6000_legitimate_address): New function.
+ 
+ 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Merge
+ 	special_constant conditional blocks together.
+ 
+ 2001-05-02  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
+ 	parameter.
+ 	(STRICT_ARGUMENT_NAMING): Define.
+ 	* config/rs6000/rs6000.c (function_arg_advance, function_arg,
+ 	function_arg_partial_nregs, setup_incoming_varargs): Remove
+ 	args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
+ 	is defined.
+ 
+ Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
+ 
+ 	* function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
+ 	for replacement.
+ 
+ 	* expr.c (store_field): Do nothing except elaborate side-effects if
+ 	zero-bit field.
+ 
+ 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c: NULL_PTR -> NULL.
+ 	* cse.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* mips-tdump.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 2001-05-01  Per Bothner  <per@bothner.com>
+ 
+ 	* expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
+ 	call do_pending_stack_adjust before emiting label.
+ 
+ 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* extend.texi: Fix typo.
+ 
+ 2001-05-01  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
+ 	of UOBJC_MODULES_decl.
+ 	(generate_strings): Clear DECL_CONTEXT of new decl nodes.
+ 	(generate_descriptor_table): Ditto.
+ 	(generate_protocols): Ditto.
+ 	(generate_protocol_list): Ditto.
+ 	(generate_classref_translation_entry): Ditto.
+ 
+ 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* invoke.texi (Optimize Options): Add documentation for `--param
+ 	max-delay-slot-insn-search' and `--param
+ 	max-delay-slot-live-search' and reorder --param section.
+ 	* params.def: Modify initial comment.
+ 	* params.h (param_info): Add `help' member.
+ 	* toplev.c (lang_independent_params): Include `help' description.
+ 	(display_help): Print --param parameters.
+ 
+ 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
+ 	Remove references to deleted files.
+ 	(*-*-openbsd): No need to override xmake_file.
+ 	(*-*-sysv4): Treat like *-*-sysv.
+ 
+ 	* configure.in: Probe for ldopen in various places, and set up
+ 	collect2 to be linked with them if found.
+ 	Don't dink with Windows registry stuff unless $host_os is a
+ 	Win32 os name.  Check to see if we need -ladvapi32.
+ 	* configure: Regenerate.
+ 
+ 	* Makefile: Get rid of CLIB and HOST_CLIB.
+ 	Substitute in COLLECT2_LIBS and link collect2 against its contents.
+ 	* build-make: Get rid of HOST_CLIB.
+ 
+ 	* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
+ 	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
+ 	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
+ 	config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
+ 	config/rs6000/x-rs6000: Delete.
+ 
+ 	* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
+ 	Don't set CLIB.
+ 
+ 	24 x-host fragments remain, 0 x-cpu, 3 top level.
+ 
+ 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
+ 	* configure: Regenerate.
+ 
+ 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
+ 
+ 	* Makefile.in (install-headers): Remove redundant dependency.
+ 
+ 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-tree.texi (USING_STMT): Document.
+ 
+ 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* rs6000.c: Likewise.
+ 	* except.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* objc/objc-act.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.def: New file.
+ 	* diagnostic.h (diagnostic_t): New enum.
+ 	* Makefile.in (diagnostic.o): Depend on diagnostic.def
+ 
+ 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* tsystem.h: Test only POSIX for availability of string.h
+ 	and time.h.
+ 	* config.gcc (all systems): If USG appeared in xm_defines,
+ 	change it to POSIX.  If both USG and POSIX appeared, just
+ 	delete USG. Remove unnecessary quotes around xm_defines
+ 	settings.
+ 	(m68k-crds-unos*): Don't #define unos - tested nowhere.
+ 	(m68k-apple-aux*): Don't #define AUX - tested nowhere.
+ 	(alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
+ 	powerpc-*-linux*): No need to set xm_defines - handled by
+ 	global settings for *-*-linux*.
+ 
+ 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
+ 	Always include gstab.h, not system stab.h.  Don't provide
+ 	default definitions of N_CATCH or N_OPT.  Always use the
+ 	gstab.h variant of STAB_CODE_TYPE.
+ 	* final.c: Don't include stab.h/gstab.h at all, or provide
+ 	defaults for N_SLINE and N_SOL.
+ 
+ 	* xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
+ 	N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
+ 	available.
+ 	* sdbout.c: Always include gsyms.h instead of system syms.h.
+ 
+ 	* configure.in: No need to check for stab.h.
+ 	* configure, config.in: Regenerate.
+ 	* Makefile.in (final.o): Don't depend on gstab.h.
+ 
+ 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* extend.texi: Improve documentation of volatile asms.
+ 
+ 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-tree.texi: Fix thinko.
+ 	* gcc.texi: Likewise.
+ 
+ 2001-04-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (c_promoting_integer_type_p): New function, from the
+ 	corpse of old macro.  Properly promote too-small enumerations and
+ 	booleans.  Adjust all callers.
+ 	* c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
+ 	(c_promoting_integer_type_p): Declare.
+ 	* c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
+ 	* c-typeck.c: Likewise.
+ 	(default_conversion): Remove now redundant boolean check.
+ 
+ 2001-04-30  Jan Hubicka  <jh@suse.cz>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* regmove.c (try_apply_stack_adjustment): Remove now redundant
+ 	sanity checks.
+ 	(combine_stack_adjustments_for_block): Don't combine stack
+ 	allocation followed by deallocations.  Handle grow-up stacks.
+ 
+ 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fdl.texi: New file.
+ 	* c-tree.texi: Use the GFDL.
+ 	* gcc.texi: Likewise.
+ 
+ 2001-04-30  Stan Shebs  <shebs@apple.com>
+ 
+ 	* invoke.texi: Add a section documenting Objective-C options.
+ 
+ 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* emit-rtl.c (try_split):  Copy EH notes to sequence.
+ 
+ 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* regmove.c (record_stack_memrefs): Catch all references to the
+ 	stack pointer.
+ 
+ 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
+ 
+ 	* Makefile.in (stmp-fixinc): quote shell assignment values
+ 
+ 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
+ 
+ 	* gcc.c: Likewise.
+ 
+ 	* prefix.c: Likewise.
+ 
+ 2001-04-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (handle_class_ref): Rewrite to flush target
+ 	specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
+ 	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
+ 	* tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
+ 
+ 	* config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
+ 	(NEXT_OBJC_RUNTIME): Define.
+ 
+ Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtl.h (simplify_gen_relational): Add cmp_mode parameter.
+ 	* simplify-rtx.c (simplify_gen_relational): Likewise.
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
+ 
+ 	* i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
+ 	* i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
+ 
+ 	* i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
+ 	registers in SSE case; fix handling of the immediates.
+ 	(negsf2_ifs, abssf2_ifs): Tweak constraints; require
+ 	operands to be in regsiters before reload.
+ 	(negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
+ 	(negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
+ 	(abstf,absxf,negtf,negxf splitters): Compute
+ 	properly the regnum for x86_64.
+ 	(avsdf2_if_rex64): New.
+ 
+ Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
+ 	and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
+ 	into the constant pool.
+ 	* jump.c (jump_optimize_1): Remove barrier successors after all
+ 	the LABEL_NUSES counds have been computed.
+ 	(delete_barrier_successors): When deleting a tablejump insn, also
+ 	delete the jump table it uses.
+ 	* varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
+ 	label into memory.
+ 
+ 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
+ 
+ 	* pa.c (FRP): Remove erroneous white space in macro definition.
+ 
+ 2001-04-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* invoke.texi: Use XX-bit instead of XXbit or XX bit where
+ 	appropriate.
+ 	* extend.texi: Likewise.
+ 	* tm.texi: Likewise.
+ 
+ 2001-04-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* md.texi: Use XX-bit instead of XXbit or XX bit where
+ 	appropriate.
+ 
+ 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
+ 
+ 	* gcc.c (process_command): Allow -l lib in addition to -llib
+ 	for POSIX compliance. This fixes PR c/2347.
+ 
+ 	* invoke.texi: Update section on Link Options accordingly.
+ 
+ 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* function.c (purge_addressof_1): Remove the duplicate
+ 	if (code == SET) block.  Fold the two if (code == ADDRESSOF)
+ 	blocks together.
+ 
+ 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* except.c (expand_eh_region_start): Don't start a new block.
+ 	(expand_eh_region_end): Don't end a block.
+ 	* stmt.c (expand_end_bindings): Don't end EH blocks.
+ 	(expand_decl_cleanup): Starting an EH region won't change the block.
+ 	(mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
+ 	(is_eh_region): Lose.
+ 	* tree.h: Adjust.
+ 
+ 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
+ 
+ 	* collect2.c (main): Add `-L' case to remove duplicate entries.
+ 	(is_in_args): New function to check for a duplicate argument.
+ 	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
+ 	* tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
+ 	* config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
+ 	Define to be nonzero.
+ 
+ 2001-04-27  Andreas Jaeger  <aj@suse.de>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* md.texi (Machine Constraints): Document additional i386
+ 	constraints and fix description of "A".
+ 
+ Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* tm.texi (TARGET_MEM_FUNCTIONS): Update text.
+ 
+ 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* except.c (get_exception_filter): word_mode, not Pmode.
+ 
+ 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
+ 	common to other movsf patterns.  Move up so that in future
+ 	people who change the other patterns will change it too.
+ 	(movsf_lo_sum): Allow even for soft-float; add appropriate
+ 	constraints.
+ 	(movsf_high): Likewise.
+ 	(movsf_high+1): Allow even for soft-float.
+ 
+ 	* function.c (expand_function_end): Always clobber the
+ 	return registers, even if there is no return label.
+ 
+ Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
+ 
+ Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
+ 	(pushqi2_rex64, pushhi2_rex64): Add.
+ 
+ 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* except.c (expand_eh_region_end_cleanup): Force pending stack
+ 	adjust before emitting label that branches around cleanup code.
+ 
+ 2001-04-26  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
+ 
+ 	* config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
+ 	define.
+ 	* config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
+ 	(ASM_OUTPUT_SECTION_NAME): Likewise.
+ 	(ASM_WEAKEN_LABEL): Likewise.
+ 	(UNIQUE_SECTION): Likewise.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
+ 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
+ 	* config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
+ 	(ASM_OUTPUT_SECTION_NAME): Likewise.
+ 	(ASM_WEAKEN_LABEL): Likewise.
+ 	(UNIQUE_SECTION): Likewise.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
+ 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
+ 	* config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
+ 	(ASM_FILE_START): Likewise.
+ 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	(ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(ASM_FILE_END): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(ASM_OUTPUT_CASE_LABEL): Likewise.
+ 	(ASM_OUTPUT_SKIP): Likewise.
+ 	(ASM_OUTPUT_ASCII): Likewise.
+ 	(ASM_OUTPUT_IDENT): Likewise.
+ 	(READONLY_DATA_SECTION): Likewise.
+ 	(EXTRA_SECTIONS): Likewise.
+ 	(EXTRA_SECTION_FUNCTIONS): Likewise.
+ 	(SELECT_RTX_SECTION): Likewise.
+ 	(SELECT_SECTION): Likewise.
+ 
+ 	* config/mips/linux.h (INVOKE__main): Undefine.
+ 	(CTOR_LIST_BEGIN): Likewise.
+ 	(CTOR_LIST_END): Likewise.
+ 	(DTOR_LIST_BEGIN): Likewise.
+ 	(DTOR_LIST_END): Likewise.
+ 	(SET_ASM_OP): Defined it to ".dummy".
+ 	(ASM_OUTPUT_DEF): Defined.
+ 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
+ 
+ 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
+ 	assembler supports .p2align.
+ 
+ 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
+ 
+ 	* c-lex.c (c_lex): Remove # from %o diagnostic formatting.
+ 
+ 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* integrate.c (expand_inline_function): Check for error_mark_node
+ 	in actual argument.
+ 
+ 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
+ 	-m386 and -m486.
+ 
+ 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (configargs.h): Define thread_model.
+ 	* configure: Rebuilt.
+ 	* gcc.c (main): Print it with -v.
+ 
+ 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Document -Wmissing-braces, -dumpspecs,
+ 	-dumpmachine, -dumpversion, -fmem-report and -ftime-report.
+ 	* gcc.1: Regenerate.
+ 
+ 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
+ 	is_redundant_typedef): Use static inline instead of inline static.
+ 
+ Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
+ 	this directory is always searched.
+ 
+ 2001-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_epilogue): Properly compute size
+ 	of registers to restore along non eh_return path.
+ 
+ 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-format.c (check_format_info_recurse): Handle
+ 	PLUS_EXPR for format string.
+ 
+ 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.h (CC1_SPEC): Define.
+ 	* config/ia64/linux.h (CC1_SPEC): Define.
+ 
+ Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* emit-rtl.c (constant_subword): Also do sign extension in
+ 	BITS_PER_WORD == 16 case.
+ 
+ 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* loop.c (try_swap_copy_prop): Go back to checking insn.
+ 
+ 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
+ 	if check_mode is nonzero.
+ 
+ 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_movcc): If overlap between
+ 	out and comparison sequence has been detected, put result into
+ 	proper temporary pseudo.
+ 
+ 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
+ 	* libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
+ 	* libgcc2.c: Remove __dummy and __builtin_saveregs.
+ 	* libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
+ 	* config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
+ 	for future reference.
+ 
+ 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
+ 
+ 	* except.c (reachable_handlers): Step out one level from a RESX.
+ 
+ 	* except.c (struct eh_region): Rename 'last' to 'resume'.
+ 	(mark_eh_region, duplicate_eh_region_1): Adjust.
+ 	(expand_eh_region_end_cleanup): Remember the jump, not the barrier.
+ 	(build_post_landing_pads): Likewise.
+ 	(expand_end_catch, expand_eh_region_end_allowed): Don't set it.
+ 	(expand_eh_region_end_must_not_throw): Likewise.
+ 	(connect_post_landing_pads): Thread (only) regions with non-deleted
+ 	resume insns.
+ 
+ 	* except.c (expand_eh_region_end_cleanup): Save the EH return data
+ 	registers around the cleanup.
+ 	(get_exception_filter): New fn.
+ 	(finish_eh_generation): Use it.
+ 
+ 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
+ 
+ 	* c-semantics.c (add_scope_stmt): Don't call
+ 	current_scope_stmt_stack multiple times.
+ 
+ 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
+ 	    Nathan Sidwell <nathan@codesourcery.com>
+ 
+ 	Lazy __FUNCTION__ generation.
+ 	* c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
+ 	RID_C99_FUNCTION_NAME): New _RIDs.
+ 	(CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
+ 	(CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
+ 	CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
+ 	global tree slots.
+ 	(function_id_node, pretty_function_id_node, func_id_node): Remove.
+ 	(c99_function_name_decl_node, function_name_decl_node,
+ 	pretty_function_name_decl_node, saved_function_name_decls):
+ 	Declare.
+ 	(struct language_function): Remove x_function_name_declared_p.
+ 	(make_fname_decl): Remove a parameter.
+ 	(declare_function_names): Remove prototype.
+ 	(start_fname_decls, finish_fname_decls): Prototype.
+ 	(fname_as_string): Likewise.
+ 	(fname_string, fname_decl): Likewise.
+ 	* c-common.c (make_fname_decl): Adjust.
+ 	(struct fname_var_t): New struct.
+ 	(fname_vars): New static array.
+ 	(declare_function_name): Remove.
+ 	(start_fname_decls, finish_fname_decls): New functions.
+ 	(fname_as_string): New function from remnants of
+ 	declare_function_name.
+ 	(fname_string, fname_decl): New functions.
+ 
+ 	* c-decl.c (c_function_name_declared_p): Remove.
+ 	(init_decl_processing): Don't generate __FUNCTION__ et al ids,
+ 	don't call declare_function_name. Call start_fname_decls.
+ 	(c_make_fname_decl): Adjust parameters. Generate the name. Don't
+ 	clobber the line number. Call finish_decl.
+ 	(start_function): Call start_fname_decls.
+ 	(finish_function): Call finish_fname_decls.
+ 	Remove c_function_name_declared_p.
+ 	(push_c_function_context): Don't push c_function_name_declared_p.
+ 	(pop_c_function_context): Don't pop c_function_name_declared_p.
+ 	(c_begin_compound_stmt): Don't check c_function_name_declared_p.
+ 	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
+ 	(program): Call finish_fname_decls for C.
+ 	(primary): Add VAR_FUNC_NAME.
+ 	(reswords): Add slots for __FUNCTION__ et al.
+ 	(rid_to_yy): Add mappings for __FUNCTION__ et al.
+ 	(yylexname): If it's a STRING_FUNC_NAME generate the function name
+ 	now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
+ 	* c-semantics.c (prune_unused_decls): Remove.
+ 	(finish_stmt_tree): Don't call prune_unused_decls.
+ 	(genrtl_decl_stmt): Don't prune unused decls here.
+ 
+ 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
+ 	constant pool, use the pool's SYMBOL_REF instead.
+ 
+ 	* config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
+ 	v850e.
+ 
+ 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
+ 	passing nested NOP_EXPRs to fold.
+ 
+ Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
+ 
+ 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* loop.c (loop_delete_insns): Add prototype.
+ 
+ 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* configure.in:  Remove ENABLE_STD_NAMESPACE.
+ 	* config.in:  Regenerated.
+ 	* configure:  Regenerated.
+ 
+ 2001-04-22  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
+ 	into xm_defines.
+ 	* config/rs6000/xm-darwin.h: Remove file.
+ 
+ 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (main): Use concat in lieu of xmalloc/sprintf.
+ 	(write_c_file_stat): Likewise.
+ 
+ 	* dbxout.c (dbxout_init): Likewise.
+ 
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 
+ 2001-04-22  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
+ 	require it instead of the CVS version.
+ 	* cpperror.c (v_message): Put a blank before the macro
+ 	body to not confuse exgettext.
+ 
+ 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* flow.c (proagate_one_insn): Remove useless assignment.
+ 	* jump.c (delete_insn): Tidy.
+ 	* loop.c (try_copy_prop): When deleting an instruction with a
+ 	REG_RETVAL note, delete the entire libcall sequence.
+ 	(loop_delete_insns): New function.
+ 	* unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
+ 	we're not substituting into them yet.
+ 
+ 2001-04-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (general_operand_src): Fix a comment typo.
+ 
+ 	* config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
+ 	Fix a comment typo.
+ 	* config/i960/i960.c (signed_arith_operand): Likewise.
+ 
+ 	* calls.c (expand_call): Fix a comment typo.
+ 
+ 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* configure.in: Probe for times, clock, struct tms, and clock_t.
+ 	* configure, config.in: Regenerate.
+ 	* timevar.c: Replace ifdef forest in get_time with (relatively)
+ 	straightforward series of checks based on autoconf's probes.
+ 
+ Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/som.h (NM_FLAGS): Define.
+ 
+ 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
+ 	function.
+ 	* ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
+ 	* ia64.c (nop_cycles_until): New function.
+ 	(prev_cycle, prev_first, last_issued): New static variables.
+ 	(ia64_sched_reorder): Additional arg for clock.
+ 	On final scheduling pass, emit extra NOPs as needed.
+ 	Set prev_first and prev_cycle.
+ 	(ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
+ 	(ia64_variable_issue): Set last_issued.
+ 
+ 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_movcc,
+ 	ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
+ 
+ 2001-04-20  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
+ 	ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
+ 	ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
+ 	ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
+ 	ctrdi_internal6): In the short-branch case, this insn is only 4
+ 	bytes long.  Reported by Reza Yazdani <reza@apple.com>.
+ 
+ 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
+ 	"=u" is used together with "st" resp. "st(1)" clobber.
+ 
+ 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcse.c (gcse_main): Fix comment typo.
+ 	(delete_null_pointer_check): Likewise.
+ 	(hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
+ 	* cse.c (cse_insn): Likewise.
+ 	* function.c (fixup_var_refs_insns_with_hash): The sequence is
+ 	toplevel.
+ 
+ 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* toplev.c: Excise all code for the undocumented -dm option.
+ 	(float_signal): Call signal just once, unconditionally.
+ 
+ 2001-04-19  Geoff Keating  <geoffk@redhat.com>
+ 
+ 	* fold-const.c (fold): Use first_rtl_op rather than
+ 	TREE_CODE_LENGTH when looping over parameters of a tree.
+ 	Correct strange grouping in test for evaluated SAVE_EXPR.
+ 
+ Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
+ 	* config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
+ 
+ 	* config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
+ 	name at 32 total characters.
+ 	(ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
+ 	functions in named sections -- data items can still go into unique
+ 	sections, but they have normal names (ie $LIT$ and $DATA$).
+ 
+ 	* config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
+ 	INIT_PRIORITY.
+ 
+ 2001-04-19 DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
+ 	to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
+ 	* config/i386/cygwin.h: Likewise.
+ 	* config/i386/mingw32.h: Likewise.
+ 	* config/vax/vms.h: Likewise.
+ 	* config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
+ 
+ 	* config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
+ 	to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
+ 	* config/i386/xm-cygwin.h: Likewise.
+ 	* config/i386/xm-djgpp.h: Likewise.
+ 	* config/i386/xm-mingw32.h: Likewise.
+ 	* config/vax/xm-vms.h: Likewise.
+ 
+ 	* mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
+ 	instead of OBJECT_SUFFIX.
+ 	* collect2.c (find_a_file): Look for files matching the extension
+ 	HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
+ 	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
+ 	TARGET_EXECUTABLE_SUFFIX.
+ 	(find_a_file): Use HOST_EXECUTABLE_SUFFIX.
+ 	(make_relative_prefix): Likewise.
+ 	(convert_filename): Use TARGET_ suffixes throughout.  Remove
+ 	NO_AUTO_EXE_SUFFIX.
+ 	(process_command): Likewise.
+ 	(do_spec_1): Likewise.
+ 	* java/lang.c (init_parse): Likewise.
+ 
+ 	* gcc.texi : Document four new options matching the pattern
+ 	(HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
+ 	for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
+ 	documentation for NO_AUTO_EXE_SUFFIX.
+ 
+ 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* toplev.h (struct lang_hooks): Allow decode_option to indicate
+ 	that language-independent processing should not be done.
+ 	* toplev.c (main): Adjust accordingly.
+ 
+ 	* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
+ 	* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
+ 
+ 	* mips.md (reload_outputdi): Require that operand0 be a
+ 	general_operand.
+ 
+ 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* invoke.texi (-Wshadow): Clarify.
+ 
+ 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* loop.c (load_mems): Examine all the instructions in the loop
+ 	before concluding that all jumps branch to the first instruction
+ 	after the loop.
+ 
+ Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
+ 
+ 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpp.texi (-Wwhite-space): Remove.
+ 	(-Wall): -Wall does not imply -Wwhite-space.
+ 
+ 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
+ 	use it instead of blindly generating a .stabs.
+ 	* xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
+ 	in the right place.
+ 	* xcoffout.c: Don't bother defining default for N_CATCH.
+ 	(UNKNOWN_STAB): Use internal_error.
+ 	(stab_to_sclass): Remove now-unnecessary aborts.
+ 	Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
+ 
+ Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* jump.c (mark_all_labels): Canonicalize the tail recursion
+ 	label attached to CALL_PLACEHOLDER insns.
+ 
+ 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (dump_flow_info, free_basic_block_vars,
+ 	which_alternative): Delete redundant prototypes.
+ 
+ 	* rtl.h (bss_section): Likewise.
+ 
+ 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* dbxout.c (N_OPT): Define if not available from <stab.h>
+ 
+ 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
+ 	libraries and native K&R compilers.
+ 
+ 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-typeck.c (convert_arguments): Don't check for width changes
+ 	with -Wtraditional.
+ 
+ 	* invoke.texi (-Wtraditional): Update documentation.
+ 
+ 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* toplev.c (output_lang_identify): Delete.
+ 	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
+ 	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
+ 	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
+ 	after calling ASM_FILE_END.
+ 
+ 	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
+ 	Instead, unconditionally emit an N_OPT stab with string equal
+ 	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
+ 
+ 	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
+ 
+ 	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
+ 	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
+ 	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
+ 	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
+ 	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
+ 	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
+ 	config/i370/i370.h, config/i386/beos-elf.h,
+ 	config/i386/osf1elf.h, config/i386/osfrose.h,
+ 	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
+ 	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
+ 	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
+ 	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
+ 	config/mips/iris6.h, config/mips/osfrose.h,
+ 	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
+ 	config/sparc/sp64-elf.h:
+ 	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
+ 	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
+ 
+ 	* config/elfos.h, config/freebsd.h, config/linux.h,
+ 	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
+ 	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
+ 	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
+ 	of ASM_FILE_START which merely emit a .version directive.  Delete
+ 	definitions of ASM_FILE_END which merely emit an .ident directive.
+ 
+ 	* config/avr/avr.h, config/vax/vax.h: Delete definition of
+ 	ASM_IDENTIFY_GCC and move part of its logic into
+ 	ASM_FILE_START.
+ 
+ 	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
+ 	config/sparc/linux-aout.h: Don't emit .version directive in
+ 	ASM_FILE_START.
+ 
+ 	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
+ 	(output_file_start): Correct comment.
+ 
+ 	* config/i386/osfrose.h: Don't emit trailing .ident directive.
+ 	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
+ 	to match gdb.
+ 	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
+ 	* config/rs6000/aix.h: Correct comment.
+ 
+ 	* config/i386/i386afe.h: Delete.
+ 	* config.gcc: Remove references to i386afe.h.
+ 
+ 	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
+ 	other macros deleted by this patch were undocumented.
+ 
+ Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (reload_outdi): Operand 0 must be a non hard register.
+ 
+ 	* pa.c (secondary_reload_class): SAR<->FP copies require a
+ 	secondary register.
+ 
+ 	* install.texi (mips-mips-bsd): Update list of functions
+ 	required to include memmove.
+ 	* tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
+ 	used functions to include memmove.
+ 
+ 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* i386.md (sqrtdf2): SFmode should be DFmode.
+ 
+ 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
+ 	(find_moveable_store): Likewise.
+ 
+ 2001-04-15  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
+ 
+ Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (ashldi3_1_rex64): Add 'J' to the constraints
+ 	(ashrdi3_1_rex64): Change 'n' constraint to 'J'.
+ 
+ 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
+ 	first alternative.
+ 
+ 2001-04-14  Alan Modra  <amodra@one.net.au>
+ 
+ 	* pa.c (force_mode): New function.
+ 	(emit_move_sequence): Use it instead of generating new rtx_REGs.
+ 
+ 2001-04-13  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
+ 	(first_instruction): New static variable.
+ 	(rtx_needs_barrier): Return 1 for alloc.
+ 	(init_insn_group_barriers): Set first_instruction.
+ 	(rws_sum): Delete duplicate definition.
+ 	(group_barrier_needed_p): Return 0 when first_instruction true.
+ 	(safe_group_barrier_needed_p): Save and restore first_instruction
+ 	around group_barrier_needed_p call.
+ 
+ Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* expr.h (enum libfunc_index): Add LTI_memmove.
+ 	(memmove_libfunc): Define macro.
+ 	* optabs.c (init_optabs): Initialize memmove_libfunc.
+ 	* expr.c (expand_assignment): Use memmove_libfunc instead of
+ 	memcpy_libfunc.
+ 
+ 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
+ 	fp mode addresses.
+ 
+ 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (reg-stack.o): Depend on reload.h.
+ 	(insn-attrtab.o): Depend on flags.h.
+ 
+ 	* genattrtab (main): Include flags.h in insn-attrtab.c.
+ 
+ 	* reg-stack.c: Include reload.h.
+ 
+ 	* sparc.h (flag_pic): Delete redundant declaration.
+ 
+ 	* output.h (flag_pic): Likewise.
+ 
+ 	* tree.h (pedantic): Likewise.
+ 
+ 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
+ 
+ 	* jump.c, regmove.c, toplev.c: Include reload.h.
+ 
+ 	* reload.h (reload_cse_regs): Declare.
+ 
+ 	* rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
+ 	reload_cse_regs, init_reload, mark_home_live, reload,
+ 	init_caller_save): Delete redundant prototypes.
+ 
+ 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
+ 
+ 	* regclass.c, ssa.c: Include expr.h.
+ 
+ 	* rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
+ 	gen_move_insn): Delete redundant declarations.
+ 
+ 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
+ 	(stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
+ 	MAKEINFO and MAKEINFOFLAGS too.
+ 	(stage4_build): Correctly order -B flags.
+ 
+ 2001-04-13  Alan Modra  <amodra@one.net.au>
+ 
+ 	* pa.c (hppa_init_pic_save): Set rtx_unchanging for
+ 	PIC_OFFSET_TABLE_SAVE_RTX.
+ 	(zdepi_cint_p): Describe zdepi insn.
+ 	Formatting and white space fixes throughout file.
+ 
+ 	* pa.c (uint32_operand): Don't use long constant >= 2^32.
+ 	(emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
+ 	about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
+ 	(compute_movstrsi_length): Make `align' unsigned to avoid warning.
+ 	(output_64bit_and): Use plain `int's for shift counts.
+ 	(output_64bit_ior): Likewise.
+ 	(function_arg_partial_nregs): Use unsigned vars to avoid warnings.
+ 	* pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
+ 	`N', and simplify.
+ 
+ 	* pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
+ 	* pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
+ 	* pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
+ 	NEW_HP_ASSEMBLER into one.  Kill warnings.
+ 
+ 	* pa-gas.h: Delete file.
+ 	* config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
+ 	Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
+ 	hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
+ 	instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
+ 
+ 	* config/pa/mill32.S: New file.
+ 	* config/pa/mill64.S: New file.
+ 	* config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
+ 	LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
+ 	* config/pa/t-linux64: New file.
+ 	* config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
+ 	(LIB1ASMFUNCS, LIB1ASMSRC): Define.
+ 	(TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
+ 
+ 	* elfos.h (SELECT_SECTION): Undef before defining.
+ 	* pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
+ 	(LIB_SPEC): Remove -lmilli.
+ 	(DBX_REGISTER_NUMBER): Remove.
+ 	(PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
+ 	(DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
+ 	NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
+ 	DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
+ 	ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
+ 	ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
+ 	TARGET_GAS): Define.
+ 	* pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
+ 	(function_arg): If TARGET_ELF32, pass fp args in both general and fp
+ 	regs if we don't have a prototype.
+ 	* pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
+ 	* pa.h (TARGET_ELF32): Default to 0 if undefined.
+ 	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
+ 	EH_RETURN_HANDLER_RTX): Define.
+ 	* pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
+ 	(DWARF_FRAME_REGNUM): Define.
+ 	* pa64-regs.h (DWARF_FRAME_REGNUM): Define.
+ 	* pa32-linux.h: New file.
+ 	* pa64-linux.h: New file.
+ 
+ 	* pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ 	(ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
+ 	(LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
+ 	NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
+ 	DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
+ 	DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
+ 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
+ 	READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
+ 	DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
+ 	UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
+ 	ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
+ 	TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
+ 	* pa64-hpux.h: New file.
+ 	(ASM_FILE_START): Correct typo.
+ 	(PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
+ 	* config.gcc: Modify for above.
+ 
+ Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* jump.c (jump_optimize_1): Don't delete dead stores here.
+ 	* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
+ 	prior to running jump optimize before cse2.
+ 
+ 2001-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (regmove.o): Depend on except.h.
+ 	* regmove.c: Include it.
+ 
+ 2001-04-12  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c: Remove all code ifdefed with the never-used
+ 	macro OBJC_INT_SELECTORS.
+ 	* config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
+ 	* tm.texi: Remove doc for OBJC_INT_SELECTORS.
+ 
+ Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* config/pa/quadlib.c: Add prototypes.
+ 
+ 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.h (debug_bitmap): Delete redundant prototype.
+ 
+ 	* rtl.h (get_frame_size): Likewise.
+ 
+ 2001-04-12  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
+ 	to just emit an fnorm.
+ 
+ 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.h (truthvalue_conversion, type_for_mode,
+ 	type_for_size): Delete redundant declarations.
+ 
+ 	* c-lex.h (is_class_name): Likewise.
+ 
+ 	* c-tree.h (pedantic, convert, getdecls, gettags,
+ 	global_bindings_p, init_decl_processing, insert_block,
+ 	maybe_build_cleanup, poplevel, print_lang_decl,
+ 	print_lang_identifier, print_lang_type, pushdecl, pushlevel,
+ 	set_block, incomplete_type_error, build_function_call,
+ 	lvalue_or_else, mark_addressable): Likewise.
+ 
+ 	* expr.h (expand_tree_builtin): Likewise.
+ 
+ 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi: Document --param max-gcse-memory.
+ 
+ 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in (errno): Check for declaration.
+ 	* configure, config.in: Regenerated.
+ 
+ 	* system.h (errno): Only declare if not already done.
+ 
+ 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* recog.c (general_operand, immediate_operand,
+ 	nonmemory_operand): Require CONST_INTs to be sign-extended
+ 	values for their modes.
+ 
+ 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Truncate CONST_INTs.
+ 	(expand_mult_highpart, expand_divmod): Likewise.
+ 	* expr.c (convert_modes, store_field): Likewise.
+ 	* integrate.c (expand_inline_function): Use promote_mode() to
+ 	determine whether to convert_modes() an argument as signed
+ 	or unsigned.
+ 	* optabs.c (expand_binop): Get CONST_INT operands
+ 	sign-extended for their appropriate modes.
+ 	* stmt.c (emit_case_nodes): Convert node values to the
+ 	appropriate mode.
+ 	(expand_end_case): Convert minval and range to the appropriate
+ 	mode.
+ 	* unroll.c (loop_iterations): Truncate abs_diff to the mode of
+ 	the iteration variable.
+ 	* varasm.c (immed_double_const): Don't require words to be
+ 	narrower than host wide ints to properly sign-extend
+ 	CONST_INTs.
+ 
+ 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+ 
+ 	* sh.md (builtin_setjmp_receiver): New expander.
+ 
+ 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Do not
+ 	special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
+ 	for generating CONST_INT and CONST_DOUBLE.
+ 
+ 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
+ 	already sign-extended.
+ 	(rs6000_emit_prologue): Make register iterator signed.
+ 	(rs6000_emit_epilogue): Likewise.
+ 	* config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
+ 	and low.
+ 	(movsf split, movdf split): Sign-extend CONST_INTs.
+ 	(movdi splits): Likewise.
+ 
+ 2001-04-12  Kelley Cook <kelley.cook@home.com>
+ 
+ 	* config-lang.in (lang_dirs): Add in zlib.
+ 
+ 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
+ 	operands that make it to RTL.
+ 
+ 2001-04-11  Stan Shebs  <shebs@apple.com>
+ 
+ 	Add Darwin (Mac OS X kernel) native support.
+ 	* config.gcc (powerpc-*-darwin*): Add native bits.
+ 	* config/darwin.c: New file, generic Darwin support functions.
+ 	* config/darwin.h: New file, generic Darwin definitions.
+ 	* config/darwin-protos.h: New file, generic Darwin prototypes.
+ 	* rs6000/darwin.h: New file, Darwin for PowerPC.
+ 	* rs6000/t-darwin: New file, Darwin makefile fragment.
+ 	* rs6000/rs6000.h (OBJECT_MACHO): New macro.
+ 	(TARGET_MACHO): Ditto.
+ 	(rs6000_abi): Add ABI_DARWIN.
+ 	(RS6000_REG_SAVE): Add ABI_DARWIN case.
+ 	(RS6000_SAVE_AREA): Ditto.
+ 	(FP_ARG_MAX_REG): Ditto.
+ 	(RETURN_ADDRESS_OFFSET): Ditto.
+ 	* rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
+ 	cases.
+ 	(rs6000_emit_move): Add ABI_DARWIN cases.
+ 	(print_operand): Ditto.
+ 	(first_reg_to_save): Ditto.
+ 	(rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
+ 	(debug_stack_info): Ditto.
+ 	(rs6000_emit_prologue): Ditto.
+ 	(rs6000_emit_epilogue): Ditto.
+ 	(output_profiler_hook): Ditto.
+ 	(output_function_profiler): Ditto.
+ 	(rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
+ 	(output_mi_thunk): Add TARGET_MACHO case.
+ 	(add_compiler_stub): Ditto.
+ 	(output_compiler_stub): Ditto.
+ 	(no_previous_def): Ditto.
+ 	(output_call): Ditto.
+ 	(machopic_output_stub): Ditto.
+ 	(rs6000_machopic_legitimize_pic_address): Ditto.
+ 	(toc_section): Ditto.
+ 	* rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
+ 	(macho_high): Ditto.
+ 	(macho_low): Ditto.
+ 	(movsi_low): Ditto.
+ 	(load_macho_picbase): Ditto.
+ 	(call): Add TARGET_MACHO case to modify function.
+ 	(call_value): Ditto.
+ 	(call_nonlocal_sysv): Add ABI_DARWIN case.
+ 	(call_value_nonlocal_sysv): Ditto.
+ 	* rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
+ 	Add prototype.
+ 	(machopic_output_stub): Ditto.
+ 	* ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
+ 
+ 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarf2out.c (modified_type_die): Don't create new types here.
+ 	* tree.h (get_qualified_type): New function.
+ 	(build_qualified_type): Adjust comment.
+ 	* tree.c (get_qualified_type): New function.
+ 	(build_qualified_type): Use it.
+ 
+ 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpp.texi (-Wtraditional): Update description.
+ 
+ 	* invoke.texi (-Wtraditional): Likewise.
+ 
+ 2001-04-11  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
+ 	requires more than 64 bits of alignment.
+ 
+ 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (do_line): Sanity check iff enable checking.
+ 
+ 2001-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (insn-recog.o): Depend on toplev.h.
+ 	(insn-emit.o, doloop.o): Likewise.
+ 	* genrecog.c, genemit.c: Include toplev.h in generated file.
+ 	* doloop.c: Include toplev.h.
+ 
+ 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (gcse.o): Depend on params.h.
+ 	* gcse.c: Include params.h.
+ 	(gcse_main): Don't do GCSE if doing so will take inordinate
+ 	amounts of memory.
+ 	* params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
+ 	* params.h (MAX_GCSE_MEMORY): New macro.
+ 
+ 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (insn-output.o): Depend on $(EXPR_H).
+ 
+ 	* genoutput.c (output_prologue): Include expr.h in insn-output.c.
+ 
+ 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
+ 
+ 	* real.h (ereal_atof, real_value_truncate, target_isnan,
+ 	target_isinf, target_negative, assemble_real, debug_real): Delete
+ 	redundant prototypes.
+ 
+ 	* Makefile.in (ifcvt.o): Depend on toplev.h.
+ 
+ 	* c-semantics.c: Include expr.h.
+ 
+ 	* ifcvt.c: Include toplev.h.
+ 
+ 	* expr.h (rtx_equal_p): Delete prototype.
+ 
+ 	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
+ 	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
+ 	eliminate_constant_term, expand_complex_abs, find_single_use,
+ 	make_tree, init_expr_once, init_optabs, supports_one_only):
+ 	Likewise.
+ 
+ 	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
+ 	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
+ 	expand_assignment, store_expr, emit_line_note_after,
+ 	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
+ 
+ 	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
+ 
+ 	* sparc-protos.h: Delete redundant prototypes.
+ 
+ 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+ 
+ 	* reload.c (push_reload): Add condition missed in SUBREG byte
+ 	offset patch.
+ 
+ Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
+ 
+ Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (floatsisf_sse): Fix output template
+ 	* i386.c (ix86_expand_fp_movcc)
+ 
+ 	* reg-stack.c (emit_pop_insn): Handle complex modes.
+ 	(move_for_stack_reg): Emit proper move mode.
+ 	(subst_stack_regs_pat): Handle complex modes.
+ 
+ 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
+ 
+ 2001-04-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.h (__terminate_func_ptr): Remove typedef.
+ 	(__pure_virtual, __terminate, __terminate_set_func,
+ 	__default_terminate, __throw_type_match, __empty,
+ 	__get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
+ 	__eh_rtime_match, __unwinding_cleanup, __rethrow,
+ 	__sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
+ 	Remove prototypes of deleted functions.
+ 
+ 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-typeck.c (convert_arguments): -Wtraditional now activates
+ 	-Wconversion warnings, except for changes in signed-ness.
+ 	Detect complex<->int & int<->complex conversions as well.
+ 
+ 	* invoke.texi (-Wtraditional): Document it.
+ 
+ Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
+ 	* flow.c (set_block_for_new_insns): Remove needless cast and
+ 	properly check for unset block number.
+ 
+ 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* function.c (purge_single_hard_subreg_set): Only check REGNO if
+ 	the subreg was a hard register. Pseudos are left as subregs.
+ 
+ 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
+ 	(LIB2ADD_ST): New macro, pass it to mklibgcc.
+ 	* mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
+ 	(libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
+ 	* config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
+ 
+ 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
+ 
+ 	* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
+ 
+ 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* output.h (set_block_num): Missed it earlier, remove deprecated
+ 	prototype.
+ 
+ 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
+ 	(load_killed_in_block_p): Change bb parameter from int to basic_block.
+ 	(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
+ 	(handle_rd_kill_set): Change bb parameter from int to basic_block.
+ 	(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
+ 	(expr_killed_p): Change bb parameter from int to basic_block, pass
+ 	basic_blocks instead of ints as parameters.
+ 	(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
+ 	(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
+ 	from int to basic_block, pass basic_blocks instead of ints as parms.
+ 	(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
+ 	parameter from int to basic_block, pass basic_blocks instead of ints.
+ 	(process_insert_insn): Pass basic_blocks instead of ints as parameters.
+ 	(insert_insn_end_bb): Change bb parameter from int to basic_block,
+ 	pass basic_blocks instead of ints.
+ 	(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
+ 	basic_blocks instead of ints as parameters.
+ 	(pre_delete): Pass basic_blocks instead of ints as parameters.
+ 	(hoist_expr_reaches_here_p): Change bb parameter from int to
+ 	basic_block, pass basic_blocks instead of ints.
+ 	(hoist_code): Pass basic_blocks instead of ints as parameters.
+ 	(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
+ 	Change bb parameter from int to basic_block.
+ 	(build_store_vectors): Pass basic_blocks instead of ints as parameters.
+ 	(insert_insn_start_bb): Change bb parameter from int to basic_block,
+ 	pass basic_blocks instead of ints.
+ 	(insert_store): Pass basic_blocks instead of ints as parameters.
+ 	(replace_store_insn, delete_store): Change bb parameter from int to
+ 	basic_block, pass basic_blocks instead of ints.
+ 	(store_motion): Pass basic_blocks instead of ints as parameters.
+ 
+ 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* basic-block.h (set_new_block_for_insns): New Prototype.
+ 	(set_block_num): Delete prototype.
+ 	* flow.c (set_block_num): Remove obsolete function.
+ 	(set_block_for_new_insns): Set BB for single or multiple insns.
+ 	* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
+ 	(process_insn_end_bb): Use set_block_for_new_insns or
+ 	set_block_for_insn instead of set_block_num.
+ 	(pre_insert_copy_insn): Use set_block_for_new_insns.
+ 	(update_ld_motion_stores): Use set_block_for_new_insns.
+ 	(insert_insn_start_bb): Use set_block_for_new_insns.
+ 	(replace_store_insn): Use set_block_for_new_insns.
+ 
+ 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* alias.c (get_addr): Externalize.
+ 	(canon_true_dependence): New function. Behaves like true_dependance
+ 	except it already assumes a MEM has been canonicalized.
+ 	* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
+ 	* gcse.c (struct ls_expr): Add load/store expressions structure.
+ 	(modify_mem_list, canon_modify_mem_list): New variable.
+ 	(gcse_main): Initialize & finalize alias analysis. Use enhanced
+ 	load motion and store motion if requested.
+ 	(alloc_gcse_mem): Allocate space for modify_mem_list array.
+ 	(free_gcse_mem): Free the modify_mem_list array.
+ 	(oprs_unchanged_p): Use load_killed_in_block_p.
+ 	(gcse_mems_conflict_p, gcse_mem_operand): New variables.
+ 	(mems_conflict_for_gcse_p): New function.  Don't kill loads
+ 	with stores to themselves if its in the load/store expression list.
+ 	(load_killed_in_block_p): New function.
+ 	(canon_list_insert): New Function.
+ 	(record_last_mem_set_info): Keep a list of all instructions which
+ 	can modify memory for each basic block.
+ 	(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
+ 	(oprs_not_set_p): Use load_killed_in_block_p.
+ 	(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
+ 	(expr_killed_p): Use load_killed_in_block_p.
+ 	(compute_transp): Do not pessimize memory references.
+ 	(pre_edge_insert): Update stores for a load motion expression.
+ 	(one_pre_gcse_pass): Check loads/stores for extra load motion.
+ 	(ldst_entry): Find or create a ldst_expr structure.
+ 	(free_ldst_entry): Free memory for an individual item.
+ 	(free_ldst_mems): Free entire load/store expression list.
+ 	(print_ldst_list): Print debug info.
+ 	(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
+ 	(enumerate_ldsts): Assign integer values to each entry in list.
+ 	(first_ls_expr): First expression in the list.
+ 	(next_ls_expr): Next expression in the list.
+ 	(simple_mem): Check if expression qualifies for ld/st expression list.
+ 	(invalidate_any_buried_refs): Remove from expression list if its
+ 	used in some other way we don't understand.
+ 	(compute_ld_motion_mems): Find all potential enhanced load motion
+ 	expression.
+ 	(trim_ld_motion_mems): Remove any expressions which are invalid.
+ 	(update_ld_motion_stores): Copy store values to registers for loads
+ 	which have been moved.
+ 	(regvec, st_antloc, num_store): New global statics.
+ 	(reg_set_info): Marks registers as set.
+ 	(store_ops_ok): Verfies registers expressions are valid in a block.
+ 	(find_moveable_store): Look for moveable stores in a pattern.
+ 	(compute_store_table): Find stores in a function worth moving, maybe.
+ 	(load_kills_store): Check dependence of a load and store.
+ 	(find_loads): Find any loads in a pattern.
+ 	(store_killed_in_insn): Check if a store is killed in an insn.
+ 	(store_killed_after): Check is store killed after an insn in a block.
+ 	(store_killed_before): Check is store killed before an insn in a block.
+ 	(build_store_vectors): Generate the antic and avail vectors.
+ 	(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
+ 	(insert_store): Add a store to an edge.
+ 	(replace_store_insn): Replace a store with a SET insn.
+ 	(delete_store): Delete a store insn.
+ 	(free_store_memory): Free memory.
+ 	(store_motion): Perform store motion.
+ 	* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
+ 	* rtl.h (get_addr, canon_true_dependence): Add prototypes.
+ 	* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
+ 	(f_options): Add gcse-lm and gcse-sm.
+ 
+ Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (expand_fp_movcc): Fix condition reversal code.
+ 
+ 	* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
+ 	* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
+ 	(CLASS_MAX_NREGS): Use it.
+ 
+ 	* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
+ 	handle properly complex values.
+ 	(CLASS_MAX_NREGS): Likewise; update comment.
+ 
+ 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* ia64.c (ia64_flag_schedule_insns2): New variable.
+ 	(ia64_override_options): Initialize it.  Clear
+ 	flag_schedule_insns_after_reload.
+ 	(ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
+ 
+ Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
+ 	Do not require source to match destination anymore;
+ 	Add abort to the nontrivial cases that should be handled by split.
+ 	(fix_trunc?fdi): Add SSE case for x86_64.
+ 	(floatdi?f): Likewise.
+ 	(floatdi?f_sse): New.
+ 	(fix_trunc?fdi_sse): New.
+ 
+ 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
+ 
+ 	* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
+ 	(DEBUG_ARANGES_END_LABEL): Ditto.
+ 	(dwarfout_init): Generate length and version fields at the start
+ 	of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
+ 	after the length field.
+ 	(dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
+ 	the .debug_aranges info.
+ 
+ Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (call, call_value): Make sure that resulting call_insn
+ 	does have proper second operand.
+ 
+ Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
+ 	function.  Remove include of sys/cygwin.h.
+ 
+ Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
+ 	(CPP_SPEC): Always search */include/w32api for header files.
+ 	(ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
+ 	(LINK_SPEC): Add "cyg" to the library search prefixes.
+ 
+ 2001-04-08  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
+ 
+ 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_location): Don't special case <stdin>.
+ 	(_cpp_begin_message): Handle WARNING_SYSHDR the same as
+ 	WARNING, but we don't check if we're in system headers.
+ 	* cpplib.h (enum error_type): WARNING_SYSHDR: New.
+ 	* cpplib.c (do_warning): Warn in system headers.
+ 
+ 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
+ 
+ 	* mbchar.c: Include config.h first.
+ 
+ 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Set default for xmake_file at top, not bottom.
+ 	Change places that set xmake_file to "none" to set to the
+ 	empty string instead, or remove them entirely if there is no
+ 	default xmake_file for this cpu_type.  Remove references to
+ 	deleted files.
+ 
+ 	* config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
+ 	config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
+ 	config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
+ 	config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
+ 	config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
+ 	config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
+ 	config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
+ 	config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
+ 	config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
+ 	config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
+ 	Delete.
+ 
+ 	* config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
+ 	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
+ 	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
+ 	config/mips/x-sysv, config/rs6000/x-aix31:
+ 	Just set CLIB to -lld or -lmld, as appropriate.
+ 
+ 	* config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
+ 	config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
+ 	config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
+ 	config/mips/x-iris, config/pa/x-pa:
+ 	Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
+ 	OTHER_FIXINCLUDES_DIRS.
+ 
+ 	* config/i386/x-djgpp: Don't set LN or LN_S.
+ 	* config/m88k/x-dolph: Don't define __m88k__.
+ 	* config/m88k/x-tekXD88: Don't set AR_FLAGS.
+ 	* config/pa/x-pa-mpeix: Just set up quadlib.asm.
+ 	* config/i860/fx2800.h: No need to #undef SVR4.
+ 
+ 	38 x-host fragments remain, 2 x-cpu.
+ 
+ 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
+ 
+ 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
+ 
+ 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* configure.in: Add check for lstat.
+ 	* configure, config.in: Regenerate.
+ 	* cppinit.c (append_include_chain): Make empty path ".".
+ 	* cpplib.c (do_line): Don't simplify #line paths.
+ 	* cppfiles.c (remove_component_p): New function.
+ 	(find_or_create_entry): Acknowledge stat () errors during
+ 	path simplification.
+ 	(handle_missing_header): Don't simplify paths.
+ 	(_cpp_simplify_pathname): Don't simplify VMS paths.  Return
+ 	the empty path untouched.  Don't leave a trailing '/'.
+ 
+ 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
+ 	* Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
+ 
+ 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (open_file): Fail directories silently, but
+ 	with an errno of NOENT set.
+ 	(read_include_file): Move the common exit code to the sole
+ 	caller.  Return an int indicating success or failure.  Let
+ 	open_file handle directories.
+ 	(stack_include_file): If read_include_file fails,
+ 	push a "null" buffer.
+ 
+ 2001-04-05  DJ Delorie  <dj@redhat.com>
+ 
+ 	* function.h (virtuals_instantiated): Declare.
+ 	* function.c: (virtuals_instantiated): Make global.
+ 	* calls.c (emit_library_call_value_1): Use
+ 	virtual_outgoing_args_rtx only if it hasn't been instantiated.
+ 	Otherwise, use the stack pointer directly.
+ 
+ Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_initialize_trampoline): New global function.
+ 	* i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
+ 	(INITIALIZE_TRAMPOLINE): Move offline.
+ 	* i386-protos.h (x86_initialize_trampoline): Declare.
+ 
+ Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
+ 	(lea_0): Rename to lea_1.
+ 	(lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
+ 	(lea_general_?): Allow SImodes on TARGET_64BIT
+ 	(lea_general_?_zext): New patterns.
+ 	(call_1, call_1_rex64): Fix.
+ 
+ Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
+ 
+ Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (function_arg): Return constm1_rtx for last argument.
+ 	(ix86_expand_prologue): Update gen_call calls.
+ 	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
+ 	* i386.md (call_pop): Likewise.
+ 	(call): Second operand is VOIDmode.
+ 	(call_0): Likewise; Support 64bits.
+ 	(call_exp): New expander.
+ 	(call_1): Get to the sync.
+ 	(call_1_exp): New pattern.
+ 	(call_value): Support 64bit.
+ 	(call_value_exp): New pattern.
+ 	(untyped_call): Update gen_call call.
+ 	(call_value_pop): Disable for 64bit.
+ 	(call_value_0_rex64): New pattern.
+ 	(call_value_1_rex64): Likewise.
+ 
+ 2001-04-05  Bo Thorsen  <bo@suse.de>
+ 
+ 	* i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
+ 
+ Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* i386.md (*andsi_1+3): If used after reload, make sure the operand
+ 	satisfies ANY_QI_REG_P.
+ 
+ 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
+ 	ASM_OPERAND.
+ 
+ 	* sched-deps.c (sched_analyze_insn): Revert more of the March 27
+ 	change.
+ 
+ 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Remove default for xm_file.  Clean up local
+ 	machine type handling.  Remove settings of xm_file to
+ 	something that doesn't exist.  In the big switch, set xm_file,
+ 	don't append to it (the value before the big switch is always
+ 	null).  Don't force build_xm_file or host_xm_file to have a value.
+ 	* configure.in: Remove default for xm_file.  Do not special
+ 	case $cpu/xm-$cpu.h not existing.
+ 	* configure: Regenerate.
+ 
+ 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Check for overflow
+ 	when folding integer division and modulo operations.
+ 
+ 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
+ 	instead of DWARF2_ADDR_SIZE for EH addresses.
+ 	(output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
+ 	EH addresses.
+ 
+ 2001-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
+ 	* config/ia64/t-glibc (LIB2ADDEH): Disable.
+ 	* config/ia64/t-ia64 (LIB2ADDEH): Disable.
+ 
+ 2001-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_leb128): Escape "." in regexp.
+ 	* configure: Rebuilt.
+ 
+ 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
+ 	push insns to delete to it instead of deleting them.
+ 	(delete_null_pointer_checks): Delete insns from delete_list after
+ 	all delete_null_pointer_checks_1 passes are done.
+ 
+ 2001-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
+ 	* configure: Rebuilt.
+ 
+ 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
+ 	* config/romp/xm-romp.h: Delete.
+ 
+ 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* sched-deps.c (sched_analyze_insn): Partially revert March 27
+ 	change.
+ 
+ 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* emit-rtl.c (mark_label_nuses) Increment the label uses for
+ 	all labels present in rtx.
+ 	(try_split) Call new function for all split insns.
+ 
+ 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* recog.c (validate_replace_rtx_1): Instead of aborting just make
+ 	sure the change won't be validated.
+ 
+ Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtl.h (set_noop_p): Declare.
+ 	* flow.c (set_noop_p): Move from here ...
+ 	* rtlanal.c (set_noop_p): ... to here and enhance.
+ 	* cse.c (delete_trivially_dead_insns): Use it.
+ 	* gcse.c (hash_scan_set): Likewise.
+ 	* jump.c (delete_noop_moves): Likewise.
+ 	* recog.c (split_all_insns): Likewise.
+ 
+ 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
+ 	stack pointer via a LO_SUM.  Ditto for setting a temp register
+ 	used to save to the stack.  Set cfa_temp when setting fp, and
+ 	allow matches to cfa_temp in addition to cfa_store when saving
+ 	regs.  Handle POST_INC and LO_SUM register stores.  Document the
+ 	changes and errors in rule 12 doco.
+ 
+ 	* pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
+ 	(actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
+ 	(load_reg): Move closer to epilogue code.
+ 	(DO_FRAME_NOTES): Define to control the following..
+ 	(FRP): Define to set RTX_FRAME_RELATED_P on insns.
+ 	(hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
+ 	notes as necessary.
+ 	(hppa_expand_epilogue): Likewise.
+ 
+ 2001-04-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
+ 	* configure: Rebuild.
+ 
+ 2001-04-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (LCT_THROW): New.
+ 	* calls.c (emit_library_call_value_1): Handle it.
+ 	* except.c (connect_post_landing_pads): Use it.
+ 
+ 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* gansidecl.h: Delete file.
+ 	* configure.in: Change all refs to gansidecl.h to use
+ 	ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
+ 	lives.
+ 	* configure: Regenerate.
+ 
+ 	* Makefile.in (intl.o): Don't depend on gansidecl.h.
+ 	* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
+ 	* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
+ 	Don't include gansidecl.h.
+ 	* intl.c, main.c, version.c, fixinc/fixlib.h,
+ 	fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
+ 	gansidecl.h.
+ 
+ Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_force_to_memory, ix86_free_from_memory):
+ 	Update for 64bit.
+ 
+ 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config/i386/xm-beos.h, config/i386/xm-isc.h,
+ 	config/i386/xm-next.h, config/i386/xm-sco.h,
+ 	config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
+ 	config/m88k/xm-m88k.h: Delete.
+ 
+ 	* config/i386/xm-djgpp.h: Don't define __MSDOS__.
+ 	* config/romp/xm-romp.h: Don't define bcopy.
+ 	* config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
+ 	HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
+ 
+ 	* config.gcc: Remove references to deleted files.
+ 
+ 	14 xm-host.h remain, 1 xm-cpu.h.
+ 
+ 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
+ 	    David S. Miller  <davem@pierdol.cobaltmicro.com>
+ 	    Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	Use byte offsets in SUBREGs instead of words.
+ 
+ 	* alias.c (nonlocal_mentioned_p): Use subreg_regno function.
+ 	* caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
+ 	to pass new argument.
+ 	(add_stored_regs): Use subreg_regno_offset function.
+ 	* calls.c (expand_call): For non-paradoxical SUBREG take endianess
+ 	into account.
+ 	(precompute_arguments): Use gen_lowpart_SUBREG.
+ 	* combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
+ 	(combine_simplify_rtx): Rework to use SUBREG_BYTE.
+ 	(simplify_set): Rework to use SUBREG_BYTE.
+ 	(expand_field_assignment): Use SUBREG_BYTE.
+ 	(make_extraction): Use SUBREG_BYTE.
+ 	(if_then_else_cond): Use SUBREG_BYTE.
+ 	(apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
+ 	(gen_lowpart_for_combine): Compute full byte offset.
+ 	* cse.c (mention_regs): Use SUBREG_BYTE.
+ 	(remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
+ 	(canon_hash): Use SUBREG_BYTE.
+ 	(fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
+ 	(gen_lowpart_if_possible): Formatting.
+ 	* dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
+ 	correctly.
+ 	* dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
+ 	(mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
+ 	(loc_descriptor): Fixup explicit XEXP into SUBREG_REG
+ 	* dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
+ 	(output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
+ 	(output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
+ 	* emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
+ 	certain invariants about SUBREGs the compiler creates.
+ 	(gen_lowpart_SUBREG): New function.
+ 	(subreg_hard_regno): New function to get the final register number.
+ 	(gen_lowpart_common): Use SUBREG_BYTE.
+ 	(gen_imagpart): Spacing nits.
+ 	(subreg_realpart_p): Use SUBREG_BYTE.
+ 	(gen_highpart): Use SUBREG_BYTE.
+ 	(subreg_lowpart_p): Always compute endian corrected goal offset,
+ 	even at the byte level, then compare against that.
+ 	(constant_subword): New function, pulled out all constant cases
+ 	from operand_subword and changed second argument name to offset.
+ 	(operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
+ 	and call constant_subword to do the work.  Return const0_rtx if
+ 	looking for a word outside of OP.
+ 	(operand_subword_force): Change second arg name to offset.
+ 	* expmed.c (store_bit_field): Use SUBREG_BYTE.
+ 	(store_split_bit_field): Use SUBREG_BYTE.
+ 	(extract_bit_field): Use SUBREG_BYTE.
+ 	(extract_split_bit_field): Use SUBREG_BYTE.
+ 	(expand_shift): Use SUBREG_BYTE.
+ 	* expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
+ 	* final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
+ 	* flow.c (set_noop_p): Use SUBREG_BYTE.
+ 	(mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
+ 	* function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
+ 	(fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
+ 	correction code.
+ 	(optimize_bit_field): Use SUBREG_BYTE.
+ 	(purge_addressof_1): Use SUBREG_BYTE.
+ 	(purge_single_hard_subreg_set): Use subreg_regno_offset function.
+ 	(assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
+ 	actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
+ 	* gengenrtl.c (special_rtx): Add SUBREG.
+ 	* global.c (mark_reg_store): Use SUBREG_BYTE.
+ 	(set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
+ 	* ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
+ 	* integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
+ 	final byte offset is congruent to subreg's mode size.
+ 	(subst_constants): Use SUBREG_BYTE.
+ 	(mark_stores): Use subreg_regno_offset function.
+ 	* jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
+ 	function and SUBREG_BYTE.
+ 	* local-alloc.c (combine_regs): Use subreg_regno_offset function.
+ 	(reg_is_born): Use subreg_hard_regno.
+ 	* recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
+ 	endian correction code.  Don't combine subregs unless resulting
+ 	offset aligns with type.  Fix subreg constant extraction for DImode.
+ 	Simplify SUBREG of VOIDmode CONST_DOUBLE.
+ 	(general_operand): Remove dead mode_altering_drug code.
+ 	(indirect_operand): Use SUBREG_BYTE.
+ 	(constrain_operands): Use subreg_regno_offset function.
+ 	* reg-stack.c (get_true_reg): Use subreg_regno_offset function.
+ 	* regmove.c (regmove_optimize): Use SUBREG_BYTE.
+ 	(optimize_reg_copy_3): Use gen_lowpart_SUBREG.
+ 	* regs.h (REG_SIZE): Allow target to override.
+ 	(REGMODE_NATURAL_SIZE): New macro which target can override.
+ 	* reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
+ 	on the entire subreg rtx.
+ 	(push_reload): Use SUBREG_BYTE in comments and code.
+ 	(find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
+ 	for hard registers inside subregs.
+ 	(operands_match_p): Use subreg_regno_offset.
+ 	(find_reloads): Use SUBREG_BYTE and only advance offset for subregs
+ 	containing hard regs.
+ 	(find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
+ 	corrections when fixing up MEM subregs.
+ 	(find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
+ 	subreg_regno_offset where appropriate.
+ 	(find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
+ 	byte endian corrections when fixing up MEM subregs.
+ 	(subst_reloads): When combining two subregs, make sure final
+ 	offset is congruent to subreg's mode size.
+ 	(find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
+ 	(refers_to_regno_for_reload_p): Use subreg_regno.
+ 	(reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
+ 	* reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
+ 	correction code for memory subreg fixups.
+ 	(forget_old_reload_1): Use subreg_regno_offset.
+ 	(choose_reload_regs): Use subreg_regno.
+ 	(emit_input_reload_insns): Use SUBREG_BYTE.
+ 	(reload_combine_note_store): Use subreg_regno_offset.
+ 	(move2add_note_store): Use subreg_regno_offset.
+ 	* resource.c (update_live_status, mark_referenced_resources): Use
+ 	subreg_regno function.
+ 	(mark_set_resources): Use subreg_regno function.
+ 	* rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
+ 	(subreg_regno_offset, subreg_regno): Define prototypes.
+ 	(subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
+ 	(gen_lowpart_SUBREG): Add prototype.
+ 	* rtl.texi (subreg): Update to reflect new byte offset representation.
+ 	Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
+ 	* rtlanal.c (refers_to_regno_p): Use subreg_regno.
+ 	(reg_overlap_mentioned_p): Use subreg_regno.
+ 	(replace_regs); Make sure final offset of combined subreg is
+ 	congruent to size of subreg's mode.
+ 	(subreg_regno_offset): New function.
+ 	(subreg_regno): New function.
+ 	* sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
+ 	* sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
+ 	* stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
+ 	* tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
+ 	(SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
+ 	* config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
+ 	(a29k_get_reloaded_address): Use SUBREG_BYTE.
+ 	(print_operand): Use SUBREG_BYTE.
+ 	* config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
+ 	* config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
+ 	(arm_reload_out_hi): Use SUBREG_BYTE.
+ 	* config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
+ 	instead of SUBREG_WORD.
+ 	(d30v_print_operand_memory_reference): Use subreg_regno_offset.
+ 	* config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
+ 	SUBREG creation to use byte offset.
+ 	* config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
+ 	inverted load insns): Fix explicit rtl subregs to use byte
+ 	offsets.
+ 	* config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
+ 	udivsi3, umodsi3): Generate SUBREGs with byte offsets.
+ 	* config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
+ 	* config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
+ 	to use byte offsets.
+ 	(unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
+ 	* config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
+ 	offsets, also make sure it is congruent to SUBREG's mode size.
+ 	(extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
+ 	unnamed ldob insn): Generate SUBREGs with byte offset.
+ 	(zero_extendqihi2): SUBREG's are byte offsets.
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
+ 	(m68hc11_gen_highpart): Use SUBREG_BYTE.
+ 	* config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
+ 	zero-extendqisi2): Generate SUBREGs with byte offset.
+ 	(umulsidi3, mulsidi3, subreghi1ashrdi_const32,
+ 	subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
+ 	subregs in rtl to use byte offsets.
+ 	* config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
+ 	* config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
+ 	(mips_move_2words): Use subreg_regno_offset.
+ 	(mips_secondary_reload_class): Use subreg_regno_offset.
+ 	* config/mips/mips.md (DImode plus, minus, move, and logical op
+ 	splits): Fixup explicit subregs in rtl to use byte offsets.
+ 	* config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
+ 	* config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
+ 	* config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
+ 	rtl to use byte offsets.
+ 	* config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
+ 	* config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
+ 	subregs to use byte offsets.
+ 	* config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
+ 	Fixup explicit subregs in rtl to use byte offsets.
+ 	* config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
+ 	and remove byte endian correction code.
+ 	* config/sh/sh.c (output_movedouble): Use subreg_regno.
+ 	(gen_ashift_hi): Use SUBREG_BYTE.
+ 	(regs_used): Use subreg_regno_offset.
+ 	(machine_dependent_reorg): Use subreg_regno_offset.
+ 	* config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
+ 	* config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
+ 	(movdf_i4): Subregs are byte offsets now.
+ 	* config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
+ 	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
+ 	(REGMODE_NATURAL_SIZE): Override.
+ 	(REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
+ 	* config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
+ 	with byte offsets.
+ 	(zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
+ 	extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
+ 	extendqidi2): Generate SUBREGs with byte offsets, also make sure
+ 	it is congruent to SUBREG's mode size.
+ 	(smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
+ 	offsets.
+ 	(cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
+ 	cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
+ 	lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
+ 	SUBREG_BYTE offset for non-paradoxical subregs in patterns.
+ 	* config/v850/v850.c (print_operand, output_move_double): Use
+ 	subreg_regno function.
+ 
+ 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (target_subdir): Use target_alias, not target.
+ 	* configure: Rebuilt.
+ 
+ 	* config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
+ 	other way round.
+ 	* config/sh/crti.asm: Fix typos in comments.
+ 
+ 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* pa.h: Revise comments for TARGET_NO_SPACE_REGS and
+ 	TARGET_FAST_INDIRECT_CALLS.
+ 	* pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
+ 	-fPIC.  Don't warn.
+ 	(return_addr_rtx): Short circuit export stub matching when
+ 	TARGET_NO_SPACE_REGS.
+ 	(output_millicode_call): For out of range calls, make -fPIC
+ 	take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
+ 	return before delay slot checks when TARGET_PORTABLE_RUNTIME.
+ 	* pa.md: Modify length attr calculation of all millicode insns to
+ 	match above.
+ 
+ 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* configure.in (gcc_cv_as_leb128): Correct name of cache variable.
+ 	Require at least 2.11 in the version test.  Specifically check
+ 	for and reject GAS version 2.10.90.
+ 	* configure: regenerate.
+ 
+ 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* pa.c (override_options): Remove PIC profiling warning.
+ 	(hp_profile_labelno): Delete.
+ 	(hp_profile_label_rtx): Delete.
+ 	(hp_profile_label_name): Delete.
+ 	(pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
+ 	(output_function_prologue): Remove profiling code and all tests on
+ 	profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
+ 	merge_sp_adjust_with_store can work for PIC and profiling.
+ 	(hppa_expand_epilogue): Remove profile_flag test.
+ 	(hppa_can_use_return_insn_p): Likewise.
+ 	(hppa_init_pic_save): Emit before tail_recursion_reentry, and
+ 	cater for PROFILE_HOOK.
+ 	(hppa_profile_hook): New function.
+ 	* pa.h (FUNCTION_PROFILER): Now does nothing.
+ 	(PROFILE_HOOK): Define.
+ 	(hppa_profile_hook): Declare.
+ 	(PROFILE_BEFORE_PROLOGUE): Delete.
+ 	(ASM_OUTPUT_REG_PUSH): Delete.
+ 	(ASM_OUTPUT_REG_POP): Delete.
+ 	* pa.md (call_profiler): Turn it into a call insn, and don't `use'
+ 	r24.  Accept function name operand, and use this and a locally
+ 	generated label to calculate pc-rel offset to func start.
+ 
+ 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
+ 	ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
+ 	$(SYSTEM_H).
+ 
+ 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
+ 	LO_SUM cases to where they belong.
+ 
+ 2001-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.h (lang_eh_type_covers): Mark extern.
+ 	(lang_eh_runtime_type): Likewise.
+ 
+ 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
+ 	gengenrtl.c:  Wrap generated header in multiple-include guard.
+ 	Improve error checking.
+ 
+ 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Don't check for putenv.
+ 	* configure: Regenerate.
+ 	* gcc.c (putenv): Don't define.
+ 	* vax/xm-vms.h: Handle putenv.
+ 
+ 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* ifcvt.c (noce_emit_move_insn): New.
+ 	(noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_store_flag_inc, noce_try_store_flag_mask,
+ 	noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
+ 	noce_try_abs): Use it.
+ 	(noce_process_if_block): Likewise.
+ 	For STRICT_LOW_PART, take mode from its SUBREG.
+ 
+ 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (fold): Before optimizing unsigned comparison with
+ 	0x7fffffffU, make sure arg0 is integral type.
+ 
+ 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-tree.texi: Document representation of wide strings.
+ 
+ 2001-04-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.h (expand_builtin_dwarf_fp_regnum): Declare.
+ 
+ Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
+ 
+ 	* i386.md: remove obsoleted comments.
+ 	(adddi_?): Rename to adddi_?_rex64; disable for 32bit.
+ 	(x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
+ 	fix output template.
+ 
+ 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/libgcc.S (__mulhi3): Optimize previous change.
+ 
+ 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* loop.c (load_mems): When generating a load from a pseudo, update
+ 	REGNO_LAST_UID.
+ 
+ Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_split_long_move): Use change address to compensate
+ 	stack pointer change in push instruction.
+ 
+ Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
+ 	instead of rtx_equal_p; fix the output template.
+ 
+ Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_setcc): Support 64bit.
+ 	(ix86_expand_int_movcc): Likewise.
+ 	* i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
+ 	New patterns.
+ 
+ 	* i386.md (allocate_stack_worker): Turn to expander.
+ 	(allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
+ 
+ 	* i386.c (print_reg): Do not print x86_64 style regs on IA-32
+ 
+ 2001-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
+ 
+ 2001-03-28  Matthew Hiller  <hiller@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (cmpsi): Fix first alternative's
+ 	output template.
+ 
+ 	* MAINTAINERS: Added self.
+ 
+ 2001-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
+ 	Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
+ 
+ 2001-03-28  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
+ 	operand_subword.
+ 
+ 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
+ 
+ 	* tradcif.y (yyerror): Likewise.  Add format specifier in call to
+ 	`error'.
+ 
+ 	* tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
+ 
+ 2001-03-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* Makefile.in (stage1_build): Revert CFLAGS patch.
+ 
+ 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
+ 	when multiplier or multiplicand is zero.
+ 
+ 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
+ 
+ 	* config/ia64/ia64.c (update_set_flags): New function, broken out of
+ 	rtx_needs_barrier.
+ 	(set_src_needs_barrier): Likewise.
+ 	(rtx_needs_barrier): For SET case, use these two functions.  Rework
+ 	PARALLEL case to handle all inputs before all outputs.
+ 	(emit_insn_group_barriers): Call init_insn_group_barriers only if we
+ 	saw a label and no stop bit since then.
+ 	(maybe_rotate, process_epilogue): Add prototypes.
+ 
+ 2001-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
+ 	not TARGET_TOC for special toc restore handling.
+ 	* config/rs6000/rs6000.md (eh_return): Likewise.
+ 
+ 2001-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
+ 	current_function_calls_eh_return.
+ 	(output_function_epilogue): Handle eh_return.
+ 	* config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
+ 	(EH_RETURN_DATA_REGNO): New.
+ 	(EH_RETURN_STACKADJ_RTX): New.
+ 	(EH_RETURN_HANDLER_RTX): New.
+ 	* config/sparc/sparc.md (call/short branch peepholes): Check
+ 	can_throw_internal instead of in_same_eh_region.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
+ 	for eh_return data registers.
+ 	(rs6000_emit_prologue): Save eh_return data registers.
+ 	(rs6000_emit_epilogue): Force inline restores if eh_return.
+ 	Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
+ 	* config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
+ 	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
+ 	(EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
+ 	the target uses one.
+ 	* config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
+ 	(return_eh_si, return_eh_di): Remove.
+ 	(eh_return): New, from corpse of eh_epilogue.
+ 	(eh_set_lr_si, eh_set_lr_di): New.
+ 
+ 	* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
+ 	(ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
+ 	True for pic register if current_function_calls_eh_return.
+ 	(ix86_expand_epilogue): Change "emit_return" argument into "style".
+ 	Handle eh_return requirements.
+ 	* config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
+ 	(EH_RETURN_STACKADJ_RTX): New.
+ 	* config/i386/i386.md (exception_receiver): Remove.
+ 	(eh_return, eh_return_1): New.
+ 	* config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ 
+ 	* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
+ 	(alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
+ 	(alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
+ 	* config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
+ 	(EH_RETURN_DATA_REGNO): New.
+ 	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
+ 	* config/alpha/alpha.md (eh_epilogue): Remove.
+ 	(exception_receiver): Use $26 for ldgp input.
+ 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ 
+ 2001-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c: Rewrite entirely for IA-64 ABI exception handling.
+ 	* except.h: Likewise.
+ 
+ 	* Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
+ 	(LIB2ADDEHDEP): New.
+ 	(LIB2FUNCS_EH): Remove.
+ 	(LIB2ADD): Remove LIB2ADDEH.
+ 	(libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
+ 	(LIBGCC_DEPS): Use LIB2ADDEHDEP.
+ 	(crt{begin,end}[S].o): Likewise.
+ 	(except.o): Update includes.
+ 	* mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
+ 	(libgcc2_c_dep): Use LIB2ADDEHDEP.
+ 
+ 	* basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
+ 	* bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
+ 	* builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
+ 	* builtins.c (expand_builtin): Implement it.
+ 	[BUILT_IN_EH_RETURN]: Update for nr arguments change.
+ 	* c-common.c (c_common_nodes_and_builtins): Declare it.
+ 	* c-decl.c (init_decl_processing): Update __builtin_eh_return.
+ 	* calls.c (libfunc_nothrow): Remove.
+ 	(emit_library_call_value_1): Don't call it.
+ 	* crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
+ 	* dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
+ 	(DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
+ 	* dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
+ 	(current_funcdef_number): Globalize.
+ 	(output_call_frame_info): Emit frame data if an lsda is needed.
+ 	Generate augmentation for personality routine.  Don't play with
+ 	difference symbols.
+ 	(dwarf2out_begin_prologue): Record funcdef_number.
+ 	* dwarf2out.h (current_funcdef_number): Declare.
+ 	* expr.c (expand_expr): Update for except.h name changes.
+ 	Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
+ 	* expr.h (LTI_throw, LTI_rethrow): Remove.
+ 	(LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
+ 	(LTI_eh_rtime_match): Remove.
+ 	(LTI_unwind_resume, LTI_eh_personality): Add.
+ 	(LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
+ 	* final.c (final): Don't call check_exception_handler_labels,
+ 	init_insn_eh_region, or free_insn_eh_region.
+ 	(final_scan_insn): Always emit debug labels for
+ 	NOTE_INSN_EH_REGION notes.
+ 	* flags.h (flag_new_exceptions): Remove.
+ 	* flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
+ 	(record_active_eh_regions): Remove.
+ 	(count_basic_blocks): Check all instructions for REG_EH_REGION.
+ 	Use can_throw_internal.
+ 	(find_basic_blocks_1): Likewise.
+ 	(move_stray_eh_region_notes): Remove.
+ 	(find_label_refs): No eh_return_stub_label.
+ 	(make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
+ 	(make_eh_edge): No eh_nest_info.  Update for reachable_handlers
+ 	changes.
+ 	(delete_unreachable_blocks): Don't track deleted handlers.
+ 	(flow_delete_block): Use maybe_remove_eh_handler.
+ 	(delete_eh_regions): Remove.
+ 	(merge_blocks): Don't check for eh region match.
+ 	(mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
+ 	EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
+ 	(init_propagate_block_info): Disable dead frame store optimization
+ 	when current_function_calls_eh_return.
+ 	(dump_bb): Don't print eh_beg, eh_end.
+ 	* function.c (fixup_var_refs): No catch_clauses.
+ 	(expand_function_end): Likewise.  Call expand_eh_return before
+ 	the return register use.  Call sjlj_emit_function_exit_after.
+ 	(expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
+ 	* function.h (struct function): Add calls_eh_return, uses_eh_lsda.
+ 	* ifcvt.c (dead_or_predicable): Remove eh region check.
+ 	* integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
+ 	Don't check for EH vs parameters.
+ 	(expand_inline_function_eh_labelmap, eif_eh_map): Remove.
+ 	(expand_inline_function): Call duplicate_eh_regions.
+ 	(copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
+ 	(copy_insn_notes): Remap REG_EH_REGION notes.
+ 	(copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
+ 	* integrate.h (struct inline_remap): Add local_return_label.
+ 	* jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
+ 	check_exception_handler_labels, nor exception_optimize.
+ 	(find_cross_jump): No EH region check.
+ 	* optabs.c (init_optabs): Update for changed eh libfuncs.
+ 	* rtl.def (RESX): New.
+ 	* rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
+ 	* stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
+ 	checks.  Update for except.h name changes.
+ 	(expand_cleanups): Likewise.
+ 	(expand_dcc_cleanup, expand_dhc_cleanup): Remove.
+ 	* toplev.c (dump_file_index, dump_file): Add .02.eh dump.
+ 	(compile_file): Call init_eh before init_optabs.  Don't
+ 	output_exception_table here.
+ 	(rest_of_compilation): Call convert_from_eh_region_ranges,
+ 	convert_to_eh_region_ranges, output_function_exception_table.
+ 	Don't emit_eh_context.
+ 	* tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
+ 	(EXC_PTR_EXPR): New.
+ 
+ 	* md.texi (eh_epilogue): Remove.
+ 	(eh_return): Document.
+ 	* tm.texi (EH_RETURN_DATA_REGNO): Document.
+ 	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
+ 
+ 	* eh-common.h: Remove file.
+ 	* frame-dwarf2.c, frame.c, frame.h: Remove files.
+ 	* libgcc2.c (L_eh): Remove.
+ 
+ 	* unwind-dw2-fde.c: New file, largely copied from frame.c.
+ 	* unwind-dw2-fde.h: New file.
+ 	* unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
+ 	* unwind-sjlj.c, unwind.h, unwind.inc: New files.
+ 	* libgcc-std.ver: Update for eh symbols.
+ 
+ 2001-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
+ 	reduce false positives.
+ 	(regmove_optimize): Disable if flag_non_call_exceptions.
+ 
+ 	* stmt.c (expand_return): Remove always true predicate.
+ 	(expand_decl_cleanup_no_eh): Remove dead code.
+ 
+ 	* sched-deps.c (sched_analyze_insn): Consolidate scheduling
+ 	barrier code.  Add a scheduling barrier if a non-call insn
+ 	can throw internally.
+ 
+ 	* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
+ 	Auto-inc addresses trap only if their base register does.
+ 
+ 	* except.c (can_throw_internal): Rename from can_throw.
+ 	* except.h, resource.c: Update references.
+ 
+ 	* integrate.c (copy_insn_list): Use returnjump_p.
+ 	(copy_insn_notes): Recurse for CALL_PLACEHOLDER.
+ 
+ 	* function.h (struct function): Move all boolean valued fields
+ 	to single bit fields at the end of the struct.
+ 
+ 	* bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
+ 	jump.c, toplev.c:
+ 	Rename asynchronous_exceptions to flag_non_call_exceptions.
+ 
+ 	* gthr-single.h (UNUSED): New.  Distinguish between how C
+ 	and C++ mark unused function arguments.  Use throughout.
+ 
+ 	* Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
+ 	value to target configuration header.
+ 	* configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
+ 	* config.in, configure: Rebuild.
+ 	* except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
+ 	configuration and target defines.
+ 	(exceptions_via_longjmp): Remove.
+ 	* dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
+ 	Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
+ 
+ 	* except.h (flag_non_call_exceptions): Move ...
+ 	* flags.h: ... here.
+ 
+ 	* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
+ 	exceptions, put the note on the trapping instruction.
+ 
+ 	* flags.h (flag_new_exceptions): Remove.
+ 	* toplev.c: Don't set it.
+ 	* final.c: Don't check it.
+ 	* except.c: Provide stub definition.
+ 
+ 	* flow.c (tidy_fallthru_edges): Don't combine complex edges.
+ 	(calculate_global_regs_live): Kill call-clobbered registers
+ 	across exception edges.
+ 	* reg-stack.c (convert_regs_1): Kill the entire target stack
+ 	across non-call exception edges.
+ 
+ 	* flow.c (cleanup_cfg): Take no argument.
+ 	* output.h, sibcall.c, toplev.c: Update all calls.
+ 
+ 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Don't check for bcopy.
+ 	* configure, config.in: Regenerate.
+ 
+ 	* system.h: Don't define or prototype bcopy, instead poison it.
+ 
+ 2001-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (expand_function_start): Set DECL_REGISTER on
+ 	a pseudo used for DECL_RESULT.
+ 
+ 	* rtl.h (LCT_NORETURN): New.
+ 	* calls.c (emit_library_call_value_1): Handle it.
+ 
+ 2001-03-27  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (objc_init): Use dump_base_name.
+ 	(gen_declaration): Clear the buffer arg.
+ 	(gen_declaration_1): New function, body of gen_declaration.
+ 	(adorn_decl): Call gen_declaration_1 instead of gen_declaration.
+ 	(gen_method_decl): Ditto, plus always clear buffer arg.
+ 	(error_with_ivar): Simplify.
+ 	(warn_with_method): Ditto.
+ 	(build_message_expr): Don't clear buffers.
+ 	(dump_interface): Ditto.
+ 	(objc_debug): Ditto.
+ 	(build_keyword_selector): Clear the buffer by only zeroing
+ 	the first element.
+ 	(objc_implementation_context): Declare.
+ 	(start_class): Warn about missing @end.
+ 	(finish_objc): Ditto.
+ 
+ 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* reload1.c (eliminate_regs): Don't abort on MEM USEs.
+ 
+ 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (SYSTEM_H): Define.
+ 	Depend on $(SYSTEM_H), not system.h.
+ 
+ 	* objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
+ 
+ 2001-03-27  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
+ 	IA64_UNWIND_EMIT.
+ 	* config/ia64/ia64.c (block_num, need_copy_state): New static vars.
+ 	(process_epilogue): New static function.
+ 	(process_set): Call process_epilogue instead of emitting .restore
+ 	directly.
+ 	(process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
+ 
+ 	* flow.c (struct reg_cond_life_info): New fields orig_condition
+ 	and stores.
+ 	(init_propagate_block_info): Set new fields.
+ 	(mark_regno_cond_dead): Set and use new fields.
+ 	(flush_reg_cond_reg_1): Likewise.
+ 	(and_reg_cond, case AND): Check for redundant AND conditions.
+ 	(mark_used_reg): Delete unnecessary clears before freeing splay trees.
+ 	Set new fields.
+ 
+ 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (stringify_arg): Null terminate strings.
+ 
+ 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
+ 	inclusion style.  xm-m68hc11.h no longer exists.
+ 	* config/m68hc11/xm-m68hc11.h: Delete file.
+ 	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
+ 
+ 	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
+ 	Don't define GCC_VERSION, N_, or PARAMS; don't include
+ 	gansidecl.h or stdio.h.  Define inhibit_libc here.
+ 	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
+ 	Delete code conditioned on #if GCC_VERSION == 2095.
+ 
+ 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
+ 	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
+ 	Delete code conditioned on #if GCC_VERSION == 2095.
+ 
+ 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Include symcat.h.
+ 	(STRINGIFY): Don't define.
+ 
+ 	* configure.in: Adjust comment.
+ 
+ 	* builtins.c: Use STRINGX, not STRINGIFY.
+ 	* gencheck.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* protoize.c: Likewise.
+ 
+ 	* cpplex.c: Don't include symcat.h.
+ 	* cpplib.c: Likewise.
+ 
+ 	* gansidecl.h (HAVE_STRINGIZE): Don't define.
+ 
+ 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* c-typeck.c (digest_init): Fold init expression.
+ 
+ 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
+ 
+ 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* except.c (eh_regs): Save results of build_pointer_type to a temp
+ 	as FUNCTION_VALUE macro may evaluate its args multiple times.
+ 
+ 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (DECL_NUM_STMTS): New macro.
+ 	* c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
+ 	DECL_FRAME_SIZE.
+ 	(pushdecl): Likewise.
+ 	* c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
+ 	* integrate.c (expand_inline_function): Don't check
+ 	DECL_FRAME_SIZE.
+ 	* print-tree.c (print_node): Don't print it.
+ 	* toplev.c (rest_of_compilation): Don't try to inline when
+ 	flag_no_inline is on.
+ 	* tree.h (DECL_FRAME_SIZE): Remove.
+ 	(tree_decl): Adjust accordingly.
+ 
+ 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* combine.c (try_combine): Use memcpy, not bcopy.
+ 
+ 	* genattrtab.c (expand_units): Likewise.
+ 
+ Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (push mem DI peep2): New.
+ 	(mov 0, mov -1 peep2): Handle 64bit.
+ 	(lea to arithmetics peep2): Handle 64bit leas.
+ 	(rsp arithmetics to push/pop peep2s): New.
+ 
+ 	* i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
+ 
+ Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (struct machine_function): Add save_varrargs_registers.
+ 	(ix86_save_varrargs_registers): New macro.
+ 	(ix86_frame_layout): Support 64bit; support red zones and varrargs area.
+ 	(ix86_expand_prologue): Likewise.
+ 	(ix86_emit_epilogue_esp_adjustement): Likewise.
+ 	(ix86_expand_epilogue): Likewise.
+ 	* i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
+ 	(pro_epilogue_adjust_stack_1): New insn.
+ 	(pro_epilogue_adjust_stack_rex64): Likewise.
+ 	* i386.h (MASK_NO_RED_ZONE): New constant.
+ 	(TARGET_RED_ZONE): New macro.
+ 	(TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
+ 	(RED_ZONE_SIZE): New constant.
+ 	(RED_ZONE_RESERVE): New constant.
+ 
+ 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c (set_float_handler): Use memcpy, not bcopy.
+ 
+ 2001-03-25  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (umodqi3): Output a tab instead of a
+ 	space.
+ 	(modqi3): Likewise.
+ 	(umodhi3): Likewise.
+ 	(modhi3): Likewise.
+ 
+ 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mkconfig.sh (DEFINES): Handle entries with '='.
+ 
+ 	* config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
+ 	Set xm_defines to MACRO=value instead.
+ 
+ 	* i370/xm-mvs.h: Delete.
+ 
+ 	* ns32k/xm-pc532-min.h: Likewise.
+ 
+ Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
+ 	shiftdi_operand;
+ 	use ix86_expand_binary_operator
+ 	(?sh??i_?): Disable for 64bit.
+ 	* i386.h (PREDICATE_CODES): Add shiftdi_operand.
+ 	* i386.c (shiftdi_operand): New predicate.
+ 
+ 	* (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
+ 	ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
+ 	ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
+ 	ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
+ 	ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
+ 	lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
+ 	lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
+ 	rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
+ 	rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
+ 	rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
+ 	(rotldi3, rotrdi3): New expanders.
+ 
+ Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movstrsi): Move offline.
+ 	(movstrdi): New.
+ 	(strmovdi_rex64): New.
+ 	(strmov?i): Accept 64bit.
+ 	(strmov?i_rex64): New.
+ 	(strmov?i_rex_1): New.
+ 	(strmov?i_1): Disable for 64bit.
+ 	(rep_mov?i_rex64): New.
+ 	(rep_mov?i): Disable for 64bit.
+ 	(clrstrsi): Move offline.
+ 	(strset?i_rex64): New.
+ 	(strset?i: Accept 64bit.
+ 	(rep_stos?i): Disable for 64bit.
+ 	(rep_stos?i_rex64): New.
+ 	(strset?i_rex_1): New.
+ 	(strset?i_1): Disable for 64bit.
+ 	(cmpstrsi): Accept 64bit.
+ 	(cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
+ 	(cmpstrqi_nz_rex_1): New.
+ 	(cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
+ 	(strlensi): Move offline.
+ 	(strlendi): New.
+ 	(strlenqi_1): Disable for 64bit; fix constraints.
+ 	(strlenqi_rex_1): New.
+ 	* i386.c (ix86_adjust_counter): New static function.
+ 	(ix86_zero_extend_to_Pmode): Likewise.
+ 	(ix86_expand_aligntest): Likweise.
+ 	(ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
+ 	(ix86_expand_movstr): New global function.
+ 	(ix86_expand_clrstr): New global function.
+ 	(ix86_expand_strlen): New global function.
+ 	* i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
+ 	ix86_expand_strlen): Declare.
+ 	(ix86_expand_strlensi_unroll_1): Delete.
+ 
+ Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cmpdi): Fix operand predicates.
+ 	(cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
+ 	 cmpdi_1_insn_rex64): New patterns.
+ 	(adddi3): Turn to expander.
+ 	(adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
+ 	(addsi3_carry_zext): New pattern.
+ 	(adddi_?_rex64): New patterns and splitters.
+ 	(addsi_?_zext): New patterns.
+ 	(subsi3_carry_zext): New pattern.
+ 	(subdi_?_rex64): New patterns and splitters.
+ 	(iorsi_?_zext): New patterns.
+ 	(iordi_?_rex64): New patterns and splitters.
+ 	(iorsi_?_zext): New patterns.
+ 	(iorsi_?_zext_imm): New patterns.
+ 	(xorsi_?_zext): New patterns.
+ 	(xordi_?_rex64): New patterns and splitters.
+ 	(xorsi_?_zext): New patterns.
+ 	(negdi*): New patterns.
+ 	(one_cmpldi*): Likewise.
+ 	(one_cmplsi*_zext, negsi*_zext): Likewise.
+ 	(testqi_ext_3_rex64): New pattern.
+ 
+ Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (ix86_split_long_move): Return void.
+ 	* i386.c (ix86_split_to_parts): Handle 64bit target.
+ 	(ix86_split_long_move): Likewise.
+ 	* i386.md (all calls to ix86_split_long_move): Update.
+ 
+ 2001-03-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
+ 	to avoid shadowing arguments.
+ 
+ 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (make_decl_rtl): Don't append var_labelno discriminator
+ 	to variable names where DECL_NAME is different from
+ 	DECL_ASSEMBLER_NAME.
+ 
+ 2001-03-23  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
+ 	(assemble_alias): Call make_decl_rtl.
+ 
+ Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
+ 
+ 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
+ 
+ 	* extend.texi: Document the "java_interface" attribute.
+ 
+ 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* mkconfig.sh: Use a subshell with redirected stdout,
+ 	instead of closing stdout and confusing commands that run
+ 	afterward.  Throw away output of cmp.
+ 
+ 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
+ 
+ 	* Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
+ 
+ Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (zero_extendsidi2_32): Break out from ...
+ 	(zero_extendsidi2): ... here ; turn to expander.
+ 	(zero_extendsidi2_rex64): New.
+ 	(extendsidi2_32): Break out from ...
+ 	(extendsidi2): ... here ; turn to expander.
+ 	(extendsidi2_rex64): New.
+ 	(zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
+ 	(trunc?f?f splitters): Add 64bit versions.
+ 
+ Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pushsi, pushsi2_prologue): Disable.
+ 	(pushsi2_rex64): New.
+ 	(movabs?i_1_rex64, movabs?i_2_rex64): New.
+ 	(movqi_ext_1): Disable for 64bit.
+ 	(movqi_ext_1_rex64): New.
+ 	(pushdi2_rex64): New pattern, peep2s and splitter.
+ 	(pushdi2_prologue_rex64): New pattern.
+ 	(popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
+ 	Likewise.
+ 	(movdi splitters): Disable for 64bit.
+ 	(movdi_1_rex64): New pattern, peep2s and splitters.
+ 	(swapdi): New pattern.
+ 	(pushsf): Disable for 64bit.
+ 	(pushsf_rex64): New pattern and splitter.
+ 	(pushdf_nointeger): Disable for 64bit.
+ 	(pushdf_integer): Handle the 64bit case.
+ 	(pushtf): Likewise; update splitters.
+ 
+ 2001-03-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* mkconfig.sh: Include insn-flags.h.
+ 	* Makefile.in (CONFIG_H): Include insn-flags.h.
+ 	(lots of objects): Remove insn-codes.h and insn-flags.h.
+ 
+ 	* alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
+ 	integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
+ 	regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
+ 	avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
+ 	dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
+ 	i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
+ 	m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
+ 	mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
+ 	pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
+ 	v850/v850.c, vax/vax.c:
+ 	Don't include insn-flags.h.
+ 
+ 	* diagnostic.c, expr.h, reload.c, toplev.c:
+ 	Don't include insn-codes.h.
+ 
+ 	* builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
+ 	final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
+ 	c4x/c4x.c, i960/i960.c, mips/mips.c:
+ 	Don't include insn-codes.h or insn-flags.h.
+ 
+ 	* genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
+ 	or insn-flags.h in the generated code.
+ 	* genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
+ 	(main): Forward declare struct rtx_def.
+ 
+ 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi (-ffast-math): Remove duplicate line about
+ 	__FAST_MATH__.
+ 
+ 	* gcc.texi: Remove more obsolete documentation of bugs and
+ 	installation problems.
+ 
+ 2001-03-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
+ 	into two parts.
+ 
+ 2001-03-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	* collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
+ 	not '.' or '$'.
+ 	* tree.c (FILE_FUNCTION_FORMAT): Likewise.
+ 	* varasm.c (CHKR_PREFIX): Likewise.
+ 
+ Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c (hash_scan_set): An expression is not anticipatible if it
+ 	is part of a multi-SET insn.
+ 
+ 	* cse.c (find_comparison_args): Remove previous change.
+ 	* ifcvt.c (noce_process_if_block): When moving an insn, remove any
+ 	REG_EQUAL notes.
+ 
+ 	* config/i386/i386.md (conditional_trap): Remove warning.
+ 
+ 	* recog.c (push_operand): Fix error in last change that caused
+ 	undefined symbol on many targets.
+ 
+ 	* sdbout.c: #include ggc.h.
+ 	(sdbout_init): Move to end of file.
+ 	Call ggc_add_tree_root for anonymous_types.
+ 	(sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
+ 	(sdbout_one_type): Use DECL_NAME for field name.
+ 	* Makefile.in (sdbout.o): Show includes ggc.h.
+ 
+ Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
+ 	(override_options): Use properlimits for preferred_stack_boundary.
+ 	(ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
+ 	on x86_64.
+ 	(ext_register_operand): Accept DImode.
+ 	(load_pic_register): Abort on 64bit.
+ 	(gen_push): Use Pmode instead of SImode.
+ 	(ix86_save_reg): Pic reg is never used on 64bit.
+ 	(ix86_expand_prologue): Likewise.
+ 	(ix86_emit_save_regs): Use Pmode instead of SImode.
+ 	(legitimate_address_p): Check displacement for 64bit.
+ 	(print_operand): Avoid outputting of (%rip) on 64bit.
+ 	(print_operand_address): Output (%rip) where possible.
+ 	(split_di): Abort on 64bit registers.
+ 	(ix86_expand_branch): DImode comparison is simple for x86_64.
+ 	(memory_address_length): Recognize memory addresses formed using
+ 	PRE/POST modify.
+ 	(ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
+ 	for x86_64.
+ 	* i386.h (TARGET_USE_SAHF): Disable for 64bit.
+ 
+ Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (push_operand): Recognize new format of push instructions.
+ 
+ Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pushqi1): New.
+ 	* i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
+ 	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
+ 	x86_64_immediate_operand, x86_64_immediate_operand,
+ 	x86_64_zext_immediate_operand): Declare.
+ 	* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
+ 	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
+ 	x86_64_immediate_operand, x86_64_immediate_operand,
+ 	x86_64_zext_immediate_operand): define.
+ 	* i386.h (PREDICATE_CODES): Add new predicates.
+ 
+ Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pophi1, popqi1, pushqi1): Remove.
+ 
+ 	* expr.c (emit_single_push_insn): New function.
+ 	(move_by_pieces): Accept NULL as destination for push instructions.
+ 	(gen_push_operand): Kill.
+ 	(emit_push_insn): Pass NULL when pushing; avoid updating of
+ 	stack_pointer_delta.
+ 	* expr.h (gen_push_operand): Kill.
+ 
+ Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.texi (COMPARE): Clarify documentation and reference section
+ 	on comparisons.
+ 
+ 2001-03-20  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (get_static_reference): Use NULL_TREE.
+ 	(get_object_reference): Ditto.
+ 	(error_with_ivar): Use error_with_file_and_line.
+ 	(warn_with_method): Use warning_with_file_and_line.
+ 
+ 2001-03-20  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
+ 
+ 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
+ 	variables that are TREE_PUBLIC, even if not TREE_STATIC.
+ 
+ 2001-03-20  DJ Delorie  <dj@redhat.com>
+ 
+ 	* Makefile.in (install-libgcc): Pass complete list of variables.
+ 	(install-multilib): Ditto.
+ 
+ 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/cygwin.h: Declare ctor_section, dtor_section
+ 	drectve_section, switch_to_section.
+ 
+ 	* winnt.c: Declare functions associated_type, gen_stdcall_suffix,
+ 	i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
+ 	i386_pe_mark_dllimport.
+ 
+ 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/cygwin.h: Include <stdio.h> Declare and constify
+ 	functions i386_pe_*.
+ 
+ 	* config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
+ 	i386_pe_* functions with char * arguments.
+ 
+ 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
+ 	and store.
+ 	(movsi_ie): Introduce fpul store.
+ 
+ 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
+ 
+ 	* Makefile.in (OBJS): Remove hashtab.o.
+ 
+ 2001-03-19  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c (maybe_objc_method_name): Remove, never called.
+ 	* c-lang.c (maybe_objc_method_name): Ditto.
+ 	* c-tree.h (maybe_objc_method_name): Remove decl.
+ 
+ 2001-03-19  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.c (init_gcc_specs): Fix comment.
+ 
+ 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Compute DECL_ASSEMBLER_NAME lazily.
+ 	* tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
+ 	(DECL_ASSEMBLER_NAME_SET_P): New macro.
+ 	(SET_DECL_ASSEMBLER_NAME): Likewise.
+ 	(COPY_DECL_ASSEMBLER_NAME): Likewise.
+ 	(set_decl_assembler_name): Declare.
+ 	(lang_set_decl_assembler_name): Likewise.
+ 	* tree.c (lang_set_decl_assembler_name): New variab.e
+ 	(set_decl_assembler_name): New function.
+ 	(init_obstacks): Set lang_set_decl_assembler_name.
+ 	(build_decl): Don't set DECL_ASSEMBLER_NAME.
+ 	* c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
+ 	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
+ 	where it's not necessary.
+ 	(builtin_function): Likewise.
+ 	(finish_decl): Likewise.
+ 	* dbxout.c (dbxout_type_methods): Likewise.
+ 	* ggc-common.c (ggc_mark_trees): Likewise.
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 	* varasm.c (make_decl_rtl): Likewise.
+ 
+ 	* cse.c (find_comparison_args): Update documentation.  Fix
+ 	mishandling of COMPARE operations.
+ 
+ 	* tree.def (ABS_EXPR): Add documentation.
+ 	* fold-const.c (fold): Improve folding of ABS_EXPRs.
+ 
+ 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
+ 
+ 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
+ 	Remove ia32 linux PIC kludge and move it...
+ 	* config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
+ 
+ Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (absdf2 expander): Fix 64bit case.
+ 
+ 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
+ 
+ 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
+ 
+ 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* README.X11: Remove obsolete file.
+ 
+ 2001-03-18  Anthony Green  <green@redhat.com>
+ 
+ 	* config/pj/pj.h: Remove some trailing commas.
+ 	(ASM_SPEC): Use -EB and -EL, not -mb and -ml.
+ 
+ 2001-03-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
+ 	* calls.c: ... here.
+ 	* combine.c, expr.c, final.c, function.c toplev.c: Don't provide
+ 	defaults for them here.
+ 
+ 2001-03-17  Anthony Green  <green@redhat.com>
+ 
+ 	* config/pj/lib1funcs.S: Fix broken comment.
+ 	* config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
+ 	labels with '.'.
+ 
+ 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi: Remove obsolete information relating to build and
+ 	installation problems with enquire or the Pyramid C compiler.
+ 
+ 2001-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (queue_reg_save): New.
+ 	(flush_queued_reg_saves, clobbers_queued_reg_save): New.
+ 	(dwarf2out_frame_debug_expr): Call queue_reg_save instead of
+ 	dwarf2out_reg_save.
+ 	(dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
+ 	(cfa, cfa_store, cfa_temp): Make static.
+ 	* final.c (final_scan_insn): Always call dwarf2out_frame_debug.
+ 
+ 2001-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* integrate.h (struct inline_remap): Add local_return_label.
+ 	* integrate.c (expand_inline_function): Initialize it and emit
+ 	it after copy_insn_notes.
+ 	(copy_insn_list): Don't store local_return_label here.
+ 	(copy_insn_notes): New function split out from copy_insn_list.
+ 
+ 2001-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (lookup_filename): Emit .file if the assembler
+ 	is generating .debug_line.
+ 	(dwarf2out_init): Add main_input_filename to the file table first.
+ 	* configure.in (as_dwarf2_debug_line): Test with file number 1
+ 	instead of file number 0.
+ 
+ Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (undobuf): Remove field previous_undos; all refs deleted.
+ 	(gen_rtx_combine): Deleted; all references changed as appropriate.
+ 	(gen_unary): Deleted; all refs changed to call simplify_gen_unary.
+ 
+ 	* print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
+ 
+ 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
+ 	variable.
+ 
+ 2001-03-16  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
+ 	then set it to LOC_REG (79) instead of aborting.
+ 
+ 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* gccbug.in:  Remove high priority.
+ 
+ 2001-03-16  Richard Henerson  <rth@redhat.com>
+ 
+ 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
+ 	output with a space instead of deleting it.
+ 	* configure: Regenerate.
+ 
+ 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
+ 	handles the gory details of converting an object file into
+ 	something that's safe to grep.
+ 	(gcc_AC_C_COMPILE_BIGENDIAN): Rename to
+ 	gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
+ 	newlines at either end of the string we're looking for.
+ 	Make 'checking ...' message less stilted.
+ 	(gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
+ 	ARM in-memory layout and its hypothetical converse.  Don't
+ 	define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
+ 	HOST_WORDS_BIG_ENDIAN.
+ 
+ 	* configure.in: Adjust for renamed macro.  Move
+ 	gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
+ 	* configure, config.in: Regenerate.
+ 
+ 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* fixinc/Makefile.in: Set SHELL.
+ 
+ 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* fixinc/fixincl.c (fix_with_system): Quote file names before
+ 	passing them to shell.
+ 
+ 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* Makefile.in: Use fix-header$(build_exeext) instead
+ 	of fix-header.
+ 
+ 2001-03-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
+ 	(LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
+ 	(size_of_line_prolog): Remove.
+ 	(output_line_info): Compute prologue size via label difference.
+ 	(lookup_filename): Return "unspecified" for <internal> and <built-in>.
+ 
+ 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
+ 	assembler error when redefining file numbers.
+ 	* config.in, configure: Rebuild.
+ 
+ 	* dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
+ 	(dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
+ 	(dw2_asm_output_delta_uleb128): Likewise.
+ 	(dw2_asm_output_delta_sleb128): Similarly.
+ 	(dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
+ 
+ 2001-03-16  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
+ 	warnings.
+ 	(BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
+ 	warnings.
+ 	(BITMASK_LOWER16): Replacement for 0x0000ffff.
+ 
+ 	* mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
+ 	instead of 0xffff0000/0x0000ffff to avoid warnings about constants
+ 	being unsigned in ISO C and signed in traditional.
+ 	(expand_prologue): Ditto.
+ 	(RA_MASK): Use BITMASK_HIGH to avoid warnings.
+ 
+ 	* mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
+ 	warnings.
+ 	(divsi3,divdi3): Ditto.
+ 	(modsi3,moddi3): Ditto.
+ 	(fix_truncdfsi2,fix_truncdfdi2): Ditto.
+ 	(fix_truncsfsi2,fix_truncsfdi2): Ditto.
+ 	(movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
+ 	warnings.
+ 
+ Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_fp_movcc): Do not attempt to construct
+ 	SSE based conditional moves on LTGT/UNEQ conditions;
+ 	Canonicalize EQ to NE.
+ 	* i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
+ 	(sse_mov?fcc_ne): New.
+ 
+ 	* i386-protos.h (sign_extended_value, zero_extended_value): Declare.
+ 
+ 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
+ 	register may be dead.
+ 
+ 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* Makefile.in (hash.o): Depend on CONFIG_H.
+ 
+ 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
+ 
+ 2001-03-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
+ 	(ASM_OUTPUT_DWARF_PCREL): New.
+ 	* config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
+ 
+ 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cppfiles.c (stack_include_file): Use MAX of sysp.
+ 
+ 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config.gcc (ia64*-*-hpux*): New case.
+ 	* config/ia64/hpux.h: New file for HP-UX support.
+ 	* config/ia64/t-hpux: New file for HP-UX support.
+ 
+ 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* fixinc/inclhack.def (irix_stdio_va_list): New.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 
+ 2001-03-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
+ 	if provided by the target.
+ 	(dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
+ 	(dw2_asm_output_addr): New.
+ 	* dwarf2asm.h (dw2_asm_output_addr): Declare.
+ 	* dwarf2out.c (output_cfi): Use it for program addresses.
+ 	(output_call_frame_info, output_die): Likewise.
+ 	(output_aranges, output_line_info): Likewise.
+ 
+ 2001-03-15  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc.c(main): make more rigorous
+ 	* collect2.c(main): guard against ignoring SIGCHLD
+ 	* protoize.c(main): ditto
+ 	* gcc/fixinc/fixincl.c(initialize): ditto
+ 
+ 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
+ 	(sdbout_parms): Likewise.
+ 
+ Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
+ 	"widen" a destination that is already wider than a word.  Also do
+ 	not widen if LOAD_EXTEND_OP is NIL for the given mode.
+ 
+ 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
+ 
+ Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
+ 
+ Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* i960.h (i960_maxbitalignment,
+ 	i960_last_maxbitalignment): Declare.
+ 	* i960.c (i960_maxbitalignment,
+ 	i960_last_maxbitalignment): Make global.
+ 	(process_pragma): Delete.
+ 	(i960_pr_align, i960_pr_noalign): Move from here ...
+ 	* i960-c.c: ... to this new file.
+ 	* t-960bare (i960-c.o): New rule.
+ 	* t-vxworks960 (i960-c.o): Likewise.
+ 	* config.gcc (i960-*-*): Define c_target_objs and
+ 	cxx_target_objs.
+ 
+ 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* cselib.c (hash_rtx): For REG and MEM, just use value of expression
+ 	without adding in rtx code and mode.
+ 
+ 	* alias.c (init_alias_analysis): Don't use any rtx whose value
+ 	varies as a known value.
+ 	Delete a superfluous test.
+ 
+ 	* config/ia64/ia64.c (maybe_rotate): New function, broken out of
+ 	ia64_sched_reorder.
+ 	(ia64_sched_reorder): Call maybe_rotate; also rotate after
+ 	scheduling a stop bit.
+ 	(ia64_emit_nops): Correctly handle ASMs.
+ 
+ 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (assemble_variable): Use DECL_RTL_SET_P.
+ 
+ 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update documentation for -include and -imacros.
+ 	* cppfiles.c (struct include_file): Remove "defined" memeber.
+ 	(find_or_create_entry): Make a copy of the file name, and
+ 	simplify it.
+ 	(open_file): Update to ensure we use the simplified filename.
+ 	(stack_include_file): Don't set search_from.
+ 	(cpp_included): Don't simplify the path name here.
+ 	(find_include_file): New prototype.  Call search_from to
+ 	get the start of the "" include chain.  Don't simplify the
+ 	filenames here.
+ 	(_cpp_execute_include): New prototype.  Move diagnostics to
+ 	do_include_common.  Update.
+ 	(_cpp_pop_file_buffer): Don't set defined.
+ 	(search_from): New prototype.  Use the preprocessor's cwd
+ 	for files included from the command line.
+ 	(read_name_map): Don't simplify the pathname here.
+ 	* cpphash.h (enum include_type): New.
+ 	(struct buffer): Delete search from.  New search_cached.
+ 	(_cpp_execute_include): Update prototype.
+ 	* cppinit.c (do_includes): Use _cpp_execute_include.
+ 	* cpplib.c (do_include_common): New function.
+ 	(do_include, do_include_next, do_import): Use it.
+ 
+ 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
+ 	contents of the RTL, to determine the name of the object.
+ 
+ 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.h (DECL_RTL): Allocate RTL lazily.
+ 	(SET_DECL_RTL): New macro.
+ 	(DECL_RTL_SET_P): Likewise.
+ 	(COPY_DECL_RTL): Likewise.
+ 	(DECL_RTL_IF_SET): Likewise.
+ 	* varasm.c (make_decl_rtl): Add assertions about the kind of
+ 	declaration we are processing.
+ 	* c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
+ 	(start_decl): Likewise.
+ 	(finish_decl): Likewise.
+ 	* c-semantics.c (emit_local_var): Likewise.
+ 	* calls.c (expand_call): Likewise.
+ 	* dbxout.c (dbxout_symbol): Likewise.
+ 	* emit-rtl.c (unshare_all_rtl): Likewise.
+ 	(unshare_all_decls): Likewise.
+ 	(reset_used_decls): Likewise.
+ 	* expr.c (store_constructor): Likewise.
+ 	(safe_from_p): Likewise.
+ 	(expand_expr): Likewise.
+ 	* function.c (put_var_into_stack): Likewise.
+ 	(instantiate_decls_1): Likewise.
+ 	(assign_parms): Likewise.
+ 	(expand_function_start): Likewise.
+ 	(expand_function_end): Likewise.
+ 	* ggc-common.c (gcc_mark_trees): Likewise.
+ 	* integrate.c (function_cannot_inline_p): Likewise.
+ 	(copy_decl_for_inlining): Likewise.
+ 	(expand_inline_function): Likewise.
+ 	(integrate_parm_decls): Likewise.
+ 	(integrate_decl_tree): Likewise.
+ 	* print-tree.c (print_node): Likewise.
+ 	* reg-stack.c (stack_result): Likewise.
+ 	* stmt.c (label_rtx): Likewise.
+ 	(expand_return): Likewise.
+ 	(expand_decl): Likewise.
+ 	(expand_decl_cleanup): Likewise.
+ 	(expand_anon_union_decl): Likewise.
+ 	* toplev.c (check_global_declarations): Likewise.
+ 	(rest_of_decl_compilation): Likewise.
+ 	* tree.c (simple_cst_equal): Likewise.
+ 	* objc/objc-act.c (generate_static_references): Likewise.
+ 
+ 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
+ 	gcc_AC_C_FLOAT_FORMAT): New macros.
+ 	* configure.in: Add AC_PROG_CPP after CC tests;
+ 	gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
+ 	tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
+ 	* configure, config.in: Regenerate.
+ 
+ 	* config/a29k/xm-a29k.h, config/arc/xm-arc.h,
+ 	config/arm/xm-arm.h, config/c4x/xm-c4x.h,
+ 	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
+ 	config/i370/xm-linux.h, config/i370/xm-oe.h,
+ 	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
+ 	config/m68k/xm-m68k.h, config/mips/xm-mips.h,
+ 	config/pa/xm-linux.h, config/pa/xm-pa.h,
+ 	config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
+ 	config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
+ 	config/sparc/xm-sparc.h, config/vax/xm-vax.h,
+ 	config/we32k/xm-we32k.h: Delete.
+ 
+ 	* config/i370/xm-mvs.h, config/m88k/m88k.h,
+ 	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
+ 	config/vax/xm-vms.h: Don't define any of:
+ 	HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
+ 
+ 	* config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
+ 
+ 	* config.gcc: Remove references to deleted files.
+ 	(i370-*-opened*): Use i370/xm-mvs.h (which now defines only
+ 	FATAL_EXIT_CODE, which is the same between oe and mvs).
+ 
+ 2001-03-14  DJ Delorie  <dj@redhat.com>
+ 	    Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/i960/i960.c (i960_function_prologue): Compute size of
+ 	frame according to number of registers actually saved there.
+ 
+ 2001-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (emit_move_insn_1): Fix else if around #endif.
+ 
+ Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 			      Vojtech Pavlik
+ 
+ 	* md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
+ 	constraints.
+ 
+ Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_cmodel_string, ix86_cmodel): Define.
+ 	(override_options): Parse cmodel string.
+ 	(x86_64_sign_extended_value, x86_64_zero_extended_value): New.
+ 	* i386.h (TARGET_OPTIONS): Add "cmodel".
+ 	(EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
+ 	(enum cmodel): New.
+ 	(ix86_cmodel_string, ix86_cmodel): Declare.
+ 
+ Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Spot by Matt Kraai:
+ 	* i386.h (GENERAL_REG_P): Add missing REG_P.
+ 
+ 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* configure.in: Use $gcc_cv_as instead of $as.
+ 	* configure: Regenerated.
+ 
+ 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Only increase the include
+ 	count if we actually process the file properly, as opposed
+ 	to treating it as length zero.  Only call read_include_file
+ 	if not DO_NOT_REREAD.  Handle the -H include file output
+ 	here.
+ 	(read_include_file): Remove now redundant DO_NOT_REREAD check.
+ 	(cpp_included, find_include_file): Simplify pathnames after
+ 	remapping them.  If remapping, don't use the remapped file
+ 	name's buffer as our scratch buffer.
+ 	(cpp_pop_file_buffer): Replace the multiple include macro
+ 	only if it isn't yet set.
+ 	(read_name_map): Simplify remapped names when reading in.
+ 	(remap_filename): Move code to code path that uses it.
+ 	(_cpp_simplify_pathname): Return the input pointer.
+ 	* cpphash.h (_cpp_simplify_pathname): Update prototype.
+ 
+ 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.c (expand_expr): Revove bogus conditional.
+ 
+ Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
+ 
+ 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* reg-stack.c (stack_result): Unconditionally use
+ 	FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
+ 
+ Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (emit_move_insn_1):  Split push of complex value when
+ 	no suitable push instruction exist.
+ 
+ 	* i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
+ 	instead of QI_REG_P.
+ 
+ Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (handled_component_p, can_address_p): New functions.
+ 	(get_alias_set): Use them.
+ 
+ 2001-03-13  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
+ 	from 80 in try_locals code.
+ 	(ia64_expand_prologue): Add comment pointing to find_gr_spill change.
+ 
+ 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
+ 	gcc_AC_C_LONG_LONG): New.
+ 	* configure.in: Use them.  Probe the size of short, int, long,
+ 	and long long/__int64 if we have them.  Move all the AC_C_*
+ 	checks together, except gcc_AC_C_CHAR_BIT which has to go
+ 	after AC_CHECK_HEADERS(limits.h).
+ 	Take hwint.h out of host_xm_file and build_xm_file.
+ 
+ 	* hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
+ 	HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
+ 	and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
+ 	Move the HOST_WIDEST_INT setup logic here from system.h.
+ 	Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
+ 	defined.
+ 	* system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
+ 	is now handled by hwint.h.
+ 
+ 	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
+ 	config/c4x/xm-c4x.h, config/i370/xm-oe.h,
+ 	config/ia64/xm-ia64.h: Don't define any of:
+ 	HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
+ 	HOST_BITS_PER_LONGLONG.
+ 
+ 	* config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
+ 	config/h8300/xm-h8300.h, config/mips/iris6.h,
+ 	config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
+ 	config/sparc/xm-sp64.h: Delete.
+ 	* config.gcc: Remove references to deleted files.
+ 
+ 	* config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
+ 	HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
+ 	* config/i370/xm-linux.h: Clarify floating-point situation in
+ 	a comment.
+ 
+ 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (NO_INCLUDE_PATH): New macro.
+ 	(find_include_file): Decide here which part of the include
+ 	chain to start the search.  Complain about an empty include
+ 	chain in all cases apart from an abolsute file name.
+ 	(_cpp_execute_include): Don't choose the search chain here.
+ 	Don't call handle_missing_include in the case of an empty
+ 	include chain.
+ 	(_cpp_compare_file_date): Don't choose the search chain here.
+ 	* cpplib.c (do_include_next): Move the in-main-file diagnostic
+ 	here from _cpp_execute_include.  Behave like #include if
+ 	we're in the main file.
+ 
+ 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (malloc, realloc, calloc, strdup): Only poison these
+ 	tokens when IN_GCC is defined.
+ 
+ Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (abs?f expander): Support SSE case.
+ 	(abd?f_if): Add new "USE"; add splitters.
+ 
+ 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpp.texi (poison): Explain the macro expansion exception.
+ 
+ 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (store_expr): Add dont_store_target.  If temp is already in
+ 	target before copying to reg, don't store it into target again.
+ 
+ 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinternals.texi: Update for file handling.
+ 
+ 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
+ 	2001-02-24 which broke building the Java library.
+ 	* function.c (identify_blocks): Likewise.
+ 	(all_blocks): Likewise.
+ 	* integrate.c (integrate_decl_tree): Likewise.
+ 	* print-tree.c (print_node): Likewise.
+ 	* tree.h (BLOCK_NUMBER): Likewise.
+ 	(struct tree_block): Likewise.
+ 
+ 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
+ 	__WCHAR_TYPE__ definition.
+ 	(WCHAR_TYPE_SIZE): #undef before #define.
+ 
+ 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c: Update comments.
+ 	(destroy_include_file_node): Rename destroy_node.
+ 	(find_or_create_entry): New function.
+ 	(open_file, _cpp_fake_include): Use it.
+ 	(handle_missing_header): New function, broken out of
+ 	_cpp_execute include.  Don't segfault if there is no
+ 	system or quoted path.
+ 	(_cpp_execute_include): Use handle_missing_header.
+ 
+ 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
+ 	2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
+ 
+ Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* flow.c (insn_dead_p): Don't consider two memrefs equivalent
+ 	unless anti_dependence says they are.
+ 	* alias.c (objects_must_conflict): If neither has a type specified,
+ 	they must conflict.
+ 
+ 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/mips/iris5.h:  Change WCHAR_TYPE to int.
+ 
+ Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (trunctfdf2_2): Rename missnamed pattern.
+ 	(*_one_bit): Remove type on the match_operand in attributes.
+ 
+ Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c: Commit forgotten hunk in previous patch.
+ 	(regclass_map): Add extended registers.
+ 	(dbx_register_map): Add missing frame register.
+ 
+ Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (all XFmode patterns except swapxf): Disable for 64bit.
+ 
+ 	* i386.md (x86_sahf_1): Disable for 64bit.
+ 	(popsi*, pophi*): Likewise.
+ 	(pushqi, pushhi): Likewise.
+ 	(movdi, pushdi): Likewise.
+ 	(zero extend DImode splitter): Likewise.
+ 	(adddi, minusdi splitter): Likewise.
+ 	(umulsidi): Likewise.
+ 	(umulsi): New.
+ 	(mulsidi): Disable for 64bit
+ 	(lshift:DI/ashift:DI): Disable for 64bit.
+ 	(loop patterns): Likewise.
+ 	(call_pop, call_value_pop expanders and patterns): Likewise.
+ 	(prologue_get_pc): Likewise.
+ 	(leave): Likewise.
+ 	(fcmovDI pattern and splitter): Likewise.
+ 	(movdfcc_1_rex64): New.
+ 
+ Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
+ 	(MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
+ 	(HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
+ 	(STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
+ 	(PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
+ 	(LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
+ 	(PUSH_ROUNDING): x86_64 rounds to 64bits.
+ 	(CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
+ 	(REGPARM_MAX): Set to 6 for x86_64.
+ 	(SSE_REGPARM_MAX): Set to 16 for x86_64.
+ 	* i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
+ 	registers.
+ 
+ 	* (patterns that does use upper halves): Update constraints
+ 	'q' to 'Q' and 'r' to 'R'.
+ 	(cmpqi_ext_1): Disable for 64bit.
+ 	(cmpqi_ext_3_insn): Likewise.
+ 	(movqi_extzv_1): Likewsie.
+ 	(addqi_ext_1): Liekwsie
+ 	(testqi_ext_1): Liekwsie
+ 	(andqi_ext_1): Liekwsie
+ 	(xorqi_ext_1): Liekwsie
+ 	(cmpqi_ext_1_rex64): New.
+ 	(cmpqi_ext_3_insn_rex64): Likewise.
+ 	(movqi_extzv_1_rex64): Likewsie.
+ 	(addqi_ext_1_rex64): Liekwsie
+ 	(testqi_ext_1_rex64): Liekwsie
+ 	(andqi_ext_1_rex64): Liekwsie
+ 	(xorqi_ext_1_rex64): Liekwsie
+ 
+ 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* configure.in: Move check for unsigned enumerated bitfields
+ 	to macro in aclocal.m4.  Disable it for now.
+ 	* configure, config.in: Regenerate.
+ 	* system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
+ 	unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
+ 	* varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
+ 	kind above its first use.
+ 
+ 	* config/xm-interix.h, config/alpha/xm-alpha.h,
+ 	config/i370/xm-linux.h, config/i386/xm-beos.h,
+ 	config/i386/xm-mingw32.h, config/mips/xm-mips.h,
+ 	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
+ 	config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
+ 	Don't define ONLY_INT_FIELDS under any circumstances.
+ 
+ 	* config/pa/xm-pa.h: Don't define __BSD_NET2__.
+ 
+ 	* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
+ 	config/sparc/xm-sysv4.h: Delete - now identical with some
+ 	other xm header.
+ 	* config.gcc (hppa targets): Replace xm-pahpux.h and
+ 	xm-papro.h with implicit xm-pa.h.
+ 	(sparc targets): Replace xm-sysv4.h with implicit or explicit
+ 	xm-sparc.h.
+ 
+ 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
+ 	before reload_cse_noop_set_p.
+ 
+ 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Where xm-host.h used to include another
+ 	xm-host.h, list the nested header directly in xm_file.  Remove
+ 	references to deleted files.  Can now use sparc/xm-sp64.h for
+ 	sparcv9-*-solaris*.
+ 
+ 	* config/xm-linux.h, config/arm/xm-linux.h,
+ 	config/i386/xm-dos.h, config/i386/xm-gnu.h,
+ 	config/i386/xm-linux.h, config/i386/xm-openbsd.h,
+ 	config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
+ 	config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
+ 	config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
+ 	Delete.
+ 
+ 	* config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
+ 	* config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
+ 	bother to wrap #undef in #ifdef.
+ 	* config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
+ 	Don't include xm-linux.h.
+ 	* config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
+ 
+ 	* configure.in: Wrap regexps using [] in changequote block.
+ 	Use expr : not echo | grep.  Simplify regexps.
+ 	* configure: Regenerate.
+ 
+ 	56 xm-files remain, 22 xm-arch.
+ 
+ 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
+ 	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
+ 	(local_index, local_rindex): Delete, use strchr/strrchr instead.
+ 	(copy_object): Fix format specifier vs argument mismatch.
+ 
+ 	* mips-tdump.c: Make local functions static.
+ 	(rindex): Don't #undef.
+ 	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
+ 	(fatal, fancy_abort): Delete.
+ 	(read_seek): Avoid signed/unsigned compare.
+ 
+ Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (try_combine): Fix error in change to try original
+ 	register.
+ 	(gen_rtx_combine): Do same as gen_rtx for now.
+ 
+ 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* configure.in: AC_SUBST xm_defines.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Set DEFINES=$(xm_defines) when building
+ 	tconfig.h.
+ 
+ 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
+ 	(cpp_included, find_include_file): Update.
+ 	(_cpp_compare_file_date): Make else unconditional.
+ 
+ 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
+ 
+ 	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
+ 
+ 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
+ 	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
+ 
+ Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
+ 	if it's a record type.
+ 
+ Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
+ 	mingw includes slightly.
+ 
+ 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
+ 	#undef token before poisoning it.
+ 
+ 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (check_float_value): Use memcpy, not bcopy.
+ 
+ 	* m32r.c (m32r_sched_reorder): Likewise.
+ 
+ 	* vax.c (check_float_value): Likewise.
+ 
+ 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* toplev.c (file_name_nondirectory): Remove.
+ 	* toplev.h: Similarly.
+ 	* dwarf2out.c (compute_section_prefix): Use lbasename instead
+ 	of file_name_nondirectory.
+ 
+ Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* mips-tdump.c (read_seek): Call xmalloc, not malloc.
+ 	* mips-tfile.c: Don't #undef rindex; not used.
+ 
+ Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
+ 	(dbx64_register_map): Declare.
+ 	(RETURN_ADDR_RTX): Fix for 64bit.
+ 	(DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
+ 	(INCOMING_FRAME_SP_OFFSET): Set to 8.
+ 	* i386.c (dbx64_register_map): New global array.
+ 	* beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
+ 	linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
+ 	for 64bits.
+ 
+ 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (search_from): Use lbasename.
+ 	* mkdeps.c (deps_add_default_target): Use lbasename.
+ 
+ 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
+ 	xcalloc in lieu of malloc, realloc & calloc.
+ 
+ 	* gencheck.c (xmalloc): Use really_call_malloc, not malloc.
+ 
+ 	* gengenrtl.c (xmalloc): Likewise.
+ 
+ 	* gensupport.c (xcalloc, xrealloc, xmalloc): Use the
+ 	really_call_* memory allocation routines.
+ 
+ 	* stmt.c (check_for_full_enumeration_handling): Use
+ 	really_call_calloc, not calloc.
+ 
+ 	* system.h (really_call_malloc, really_call_calloc,
+ 	really_call_realloc): Define.
+ 	(malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
+ 
+ Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
+ 
+ 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
+ 
+ 	* configure: Rebuilt.
+ 	* configure.in: Only use `lang_requires' for languages athat are
+ 	actually enabled.
+ 
+ 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Fix typo.
+ 	* gcc.1: Regenerate.
+ 
+ 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* configure.in: Prune nonexistent files from build_xm_file,
+ 	xm_file, and host_xm_file lists.  Warn unless they're
+ 	$cpu/xm-$cpu.h.
+ 	Don't generate *config.h here.
+ 	AC_SUBST all variables needed to generate *config.h.
+ 	* configure: Regenerate.
+ 	* mkconfig.sh: New helper script, from code removed from
+ 	configure.in.
+ 	* Makefile.in: Zap all MALLOC variables - no longer used
+ 	anywhere, and malloc.c doesn't exist.
+ 	Substitute in variables needed to generate *config.h.
+ 	Stop lying about the dependencies contained in CONFIG_H and
+ 	GCONFIG_H.
+ 	(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
+ 	(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
+ 	cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
+ 	(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
+ 	$(TM_P_H), etc. as appropriate.
+ 
+ 	* config.gcc: Zap references to deleted files.
+ 	* ggc-none.c: Don't include rtl.h or tm_p.h.
+ 
+ 	* config/i386/xm-beos.h, config/i386/xm-dgux.h,
+ 	config/i386/xm-djgpp.h, config/i386/xm-dos.h,
+ 	config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
+ 	config/i386/xm-linux.h, config/i386/xm-linux.h,
+ 	config/i386/xm-next.h, config/i386/xm-openbsd.h,
+ 	config/i386/xm-sun.h, config/i386/xm-sysv3.h:
+ 	Don't include i386/xm-i386.h.
+ 
+ 	* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
+ 	config/i386/xm-i386.h, config/i860/xm-i860.h,
+ 	config/i960/xm-i960.h, config/mcore/xm-mcore.h,
+ 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
+ 	config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
+ 	Delete (empty except comments, #includes of other deleted
+ 	files, and macros used nowhere).
+ 
+ Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
+ 	independent on TARGET_FLAGS.
+ 
+ Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
+ 
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
+ 	extended ones.
+ 	(CONDITIONAL_REGISTER_USAGE): Set proper values according to
+ 	TARGET_64BIT.
+ 	(FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
+ 	LAST_REX_SSE_REG): define.
+ 	(enum reg_class): Add 'LEGACY_REGS'
+ 	(REG_CLASS_CONTENTS): Likewise; add extended registers.
+ 	(SSE_REGNO_P): Recognize extended registers.
+ 	(ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
+ 	(REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
+ 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
+ 	REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
+ 	(REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
+ 	 REG_OK_FOR_STRREG_P): Remove.
+ 	(HI_REGISTER_NAMES): Add extended registers.
+ 	(ADDITIONAL_REGISTER_NAMES): Likewise.
+ 	(QI_REGISTER_NAMES): Add 8bit extended registers.
+ 	(DEBUG_REG): Support extended registers.
+ 	* i386.c (regclass_map): Add extended registers.
+ 	(dbx_register-map): Likewise.
+ 	(svr4_dbx_register_map): Likewise.
+ 	(print_reg): Support extended registers.
+ 	(print_operand): Support 64bit operands.
+ 
+ Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
+ 	(BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+ 	 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
+ 	 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
+ 	(BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
+ 	 STACK_BOUNDARY): Set properly for 64bits.
+ 	(MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
+ 	(EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
+ 	(BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
+ 	(MOVE_MAX): Set to 16.
+ 	(MOVE_MAX_PIECES): 8 for 64bit.
+ 	(Pmode): Set to SImode.
+ 
+ Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
+ 
+ 	* cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
+ 
+ Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (mask_64bit): New constant.
+ 	(target_64bit): New macro.
+ 	(target_options): Add '64'/'32'
+ 	(target_default): Define.
+ 	* cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
+ 	isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
+ 	unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
+ 
+ Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
+ 
+ Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
+ 
+ 	* rtlanal.c (rtx_varies_p): Check operand 0 of a
+ 	LO_SUM unless for_alias is set.
+ 
+ 2001-03-08  Stan Shebs  <shebs@apple.com>
+ 
+ 	* objc/objc-act.c: Fix old typos in comments, add comments for
+ 	various functions.
+ 	(hash_init): Fix file name in error message.
+ 	(hash_enter): Ditto.
+ 	(hash_add_attr): Ditto.
+ 	(continue_class): Ditto.
+ 
+ 2001-03-08  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
+ 	wait4() can receive the signal.
+ 
+ Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
+ 	entities.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
+ 	on Tru64 UNIX.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2001-03-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_LEB128): New assembler check.
+ 	* configure, config.in: Rebuilt.
+ 
+ Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
+ 	TFmode too.
+ 
+ 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
+ 	references to the MAXPATHLEN macro.
+ 
+ 	* config/alpha/xm-alpha.h, config/arm/xm-arm.h,
+ 	config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
+ 	the POSIX macro.
+ 
+ 	* config/i386/xm-gnu.h, config/xm-gnu.h,
+ 	config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
+ 	config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
+ 	config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
+ 	and/or unused files.
+ 
+ 	* config.gcc: Define POSIX in xm_defines as appropriate in lieu of
+ 	doing so in various xm-*.h files.
+ 
+ Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
+ 
+ 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (enable_shared): Support per-package shared-library
+ 	enabling.
+ 	* configure: Rebuilt.
+ 
+ 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (cr logic): Add original POWER mnemonic alternative
+ 	for crnot.  Set operands[5] in splitter.
+ 
+ 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/i370/xm-mvs.h, config/i370/xm-oe.h,
+ 	config/i386/xm-beos.h, config/i386/xm-mingw32.h,
+ 	config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
+ 	config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
+ 	config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
+ 	config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
+ 	config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
+ 	to the USG macro.
+ 
+ 	* config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
+ 	config/i370/xm-i370.h, config/i386/xm-dgux.h,
+ 	config/i386/xm-sun.h, config/i386/xm-sysv3.h,
+ 	config/m68k/xm-tower.h, config/m68k/xm-aux.h,
+ 	config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
+ 	config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
+ 	config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
+ 	config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
+ 	config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
+ 	config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
+ 	Delete unused and/or empty files.
+ 
+ 	* config.gcc: Define USG in xm_defines as appropriate.  Define
+ 	POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
+ 	macro.  Remove deleted xm-* files from $xm_files variable.
+ 
+ 2001-03-07  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* configure: Rebuilt.
+ 	* configure.in: Allow config-lang.in to set `lang_requires' to list
+ 	of other required languages.
+ 
+ 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
+ 	after its emitted.
+ 	(output_prologue): Use xmalloc not oballoc.
+ 	(output_epilog): Free a29k_first_epilogue_insn when finished.
+ 	* confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
+ 
+ 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Check
+ 	flag_unsafe_math_optimizations, not flag_fast_math.
+ 	(expand_builtin): Likewise
+ 	* combine.c (combine_simplify_rtx): Likewise.
+ 	(simplify_if_then_else): Likewise.
+ 	* cse.c (fold_rtx): Likewise.
+ 	* flags.h: Remove flag_fast_math.  Add
+ 	flag_unsafe_math_optimizations and flag_trapping_math.
+ 	* fold-const.c (negate_expr): Check
+ 	flag_unsafe_math_optimizations, not flag_fast_math.
+ 	(invert_truthvalue): Likewise.
+ 	(fold): Likewise.  Before associating operands, check that
+ 	code == MULT_EXPR, not code != MULT_EXPR.
+ 	* ifcvt.c (noce_try_minmax): Check
+ 	flag_unsafe_math_optimizations, not flag_fast_math.
+ 	(noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
+ 	* invoke.texi: Document -funsafe-math-optimizations and
+ 	-fno-trapping-math.  Change documentation for -ffast-math.
+ 	* jump.c (reversed_comparison_code_parts): Likewise.
+ 	(rtx_equal_for_thread_p): Likewise.
+ 	* optabs.c (emit_conditional_move): Likewise.
+ 	* simplify-rtx.c (simplify_binary_operation): Likewise.
+ 	(simplify_relational_operation): Likewise.
+ 	(simplify_ternary_operation): Likewise.
+ 	* toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
+ 	flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
+ 	Add trapping-math and unsafe-math-optimizations entries to f_options.
+ 	(set_fast_math_flags): New, sets flags for -ffast-math.
+ 	(set_no_fast_math_flags): New, sets flags for -fno-fast-math.
+ 	(decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
+ 	* toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
+ 	(alpha_emit_conditional_move): Initialize local_fast_math to
+ 	flag_unsafe_math_optimizations, not flat_fast_math.
+ 	* config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
+ 	instead of setting flag_fast_math to 1.
+ 	* config/convex/convex.md: Check flag_unsafe_math_optimizations,
+ 	not flag_fast_math.
+ 	* config/i386/i386.c (override_options): Likewise
+ 	* config/i386/i386.md: Likewise.
+ 	* config/m68k/m68k.md: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/rs6000/rs6000.c (validate_condition_mode): Likewise.
+ 	(rs6000_generate_compare): Likewise.
+ 
+ 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* Makefile.in: Set RANLIB to @RANLIB@.
+ 	Remove RANLIB_TEST.
+ 
+ 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* fixinc/inclhack.def (djgpp_wchar_h): New test.
+ 	* fixinc/fixincl.x: Regenerated.
+ 
+ 2001-03-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
+ 
+ 2001-03-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
+ 	of block notes and exception handling notes.
+ 
+ 	* lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
+ 	* toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
+ 	(compile_file): ... here.
+ 
+ 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
+ 
+ 	* fixinc/gnu-regex.c: Don't include auto-host.h since we get
+ 	config.h now.  Include libiberty.h to handle alloca.
+ 
+ 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* c-parse.in (yylexname): New function, split out of _yylex.
+ 	(objc_rid_sans_at): New table.
+ 	(init_reswords): Initialize it.
+ 	(_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
+ 	retrieving the next token and checking it for significance as
+ 	an ObjC keyword or string constant.
+ 
+ 	* cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
+ 	* cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
+ 
+ 	* c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
+ 	to CPP_OSTRING.
+ 
+ 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
+ 
+ 	* config/m68k/m68k.c (const_uint32_operand): Accept any
+ 	const_int on a 32-bit host.
+ 
+ 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* objc/objc-act.c (init_objc): Set save_lang_status,
+ 	restore_lang_status, and mark_lang_status.
+ 
+ 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
+ 
+ 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinternals.texi: Update.
+ 
+ 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
+ 	config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
+ 	config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
+ 	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
+ 	config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
+ 	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
+ 	config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
+ 	config/i386/xm-i386.h, config/i860/xm-i860.h,
+ 	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
+ 	config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
+ 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
+ 	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
+ 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
+ 	config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
+ 	config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
+ 	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
+ 	config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
+ 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
+ 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
+ 	config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
+ 	config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
+ 	match the defaults provided in hwint.h.
+ 
+ 	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
+ 	config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
+ 
+ 	* config.gcc (xm_file): Don't set to files which are deleted.
+ 
+ 	* hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
+ 	guard this file against these macros being undefined.
+ 
+ 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
+ 	and DECL_DEFER_OUTPUT on the decl we create, before calling
+ 	rest_of_decl_compilation.
+ 
+ 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
+ 	AC_FUNC_ALLOCA.
+ 	* configure, config.in: Regenerate.
+ 	* config.gcc: Remove references to deleted files.
+ 
+ 	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
+ 	genrecog.c, rtl.c: Do not use alloca anywhere.
+ 
+ 	* Makefile.in, build-make, system.h, config/x-interix,
+ 	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
+ 	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
+ 	config/arc/xm-arc.h, config/arm/xm-arm.h,
+ 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
+ 	config/h8300/xm-h8300.h, config/i370/x-oe,
+ 	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
+ 	config/i386/x-ncr3000, config/i386/x-sco5,
+ 	config/i386/xm-dgux.h, config/i860/x-sysv4,
+ 	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
+ 	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
+ 	config/m68k/x-hp320g, config/m69k/x-mot3300,
+ 	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
+ 	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
+ 	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
+ 	config/m88k/x-sysv4, config/m88k/x-tekXD88,
+ 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
+ 	config/mips/x-iris, config/mips/x-iris3,
+ 	config/mips/x-sni-svr4, config/mips/x-sysv,
+ 	config/mips/xm-iris6.h, config/mips/xm-mips.h,
+ 	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
+ 	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
+ 	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
+ 	config/pa/xm-papro.h, config/romp/xm-romp.h,
+ 	config/rs6000/x-aix31, config/rs6000/x-aix41,
+ 	config/rs6000/x-beos, config/rs6000/x-lynx,
+ 	config/rs6000/x-mach, config/rs6000/x-rs6000,
+ 	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
+ 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
+ 	config/sparc/x-sysv4, config/sparc/xm-linux.h,
+ 	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
+ 	config/vax/xm-vms.h: Eradicate all references to alloca and
+ 	related stuff.
+ 
+ 	* config/xm-alloca.h, config/clipper/x-clix,
+ 	config/i386/xm-sysv4.h, config/i860/x-fx2800,
+ 	config/i860/x-sysv3, config/m88k/x-sysv3,
+ 	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
+ 	(contained only alloca related hacks).
+ 
+ 	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
+ 	USE_C_ALLOCA.
+ 
+ 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* invoke.texi: Document __FAST_MATH__.
+ 
+ 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* crtstuff.c: Restore include of auto-host.h.
+ 
+ 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
+ 
+ 	Put main() in a separate file, so that the language
+ 	front-end can use a different main().
+ 
+ 	* main.c: New.
+ 	* toplev.c: (main): Rename as toplev_main.
+ 	* toplev.h: Declare toplev_main.
+ 	* Makefile.in (OBJS): add toplev.o.
+ 	  (BACKEND): remove toplev.o, add main.o.
+ 
+ 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (search_from): Special case the empty string.
+ 
+ 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (_cpp_execute_include): Don't make a null-terminated
+ 	copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
+ 	strlen or strcpy; we already know the length.
+ 	(_cpp_compare_file_date): Similarly.
+ 	* cpphash.h (struct cpp_reader): Delete done_initialising.
+ 	(CPP_PREV_BUFFER): Delete.
+ 	* cppinit.c (cpp_start_read): Don't set done_initialising.
+ 	* cpplex.c (parse_string): Guarantee null-termination.
+ 	(_cpp_equiv_toklists): Remove.
+ 	* cpplib.c (glue_header_name): Null-terminate.
+ 	(do_line): Don't leak memory.
+ 	* cpplib.h (BT_WEAK): Delete.
+ 	* cppmain.c (cb_ident): Strings are now null-terminated.
+ 
+ 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* gcc.c (convert_filename): Append executable suffix
+ 	if NO_AUTO_EXE_SUFFIX is not defined.
+ 	* gcc.texi: Document NO_AUTO_EXE_SUFFIX.
+ 	* config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
+ 
+ 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
+ 	* c-parse.gperf, c-gperf.h: Delete.
+ 	(c-gperf.h was accidently re-added to the CVS repo in the rev
+ 	1.16 commit by tromey)
+ 
+ 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (_cpp_lex_token): Don't warn about directives in
+ 	macro arguments when looking for the '('.
+ 	* cppmacro.c (funlike_invocation_p): Set parsing_args to
+ 	2 when really parsing arguments; 1 when looking for '('.
+ 	Always restore the lexer position.
+ 
+ 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* longlong.h (umul_ppmm): Don't use a multiline string.
+ 
+ 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
+ 	* fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
+ 	t_bool in declaration because pcc can't combine volatile with typedef
+ 	types.
+ 
+ Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_fp_compare): Delay creating of scratch register
+ 	until when it is really needed.
+ 	(ix86_expand_compare): Update call of ix86_expand_fp_compare.
+ 	* i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
+ 	* i386.md (float?i?f splitter): Don't force source operand to memory
+ 	for SSE.
+ 	(sse_movdfcc): Fix constraint.
+ 	(sse_movdfcc splitter): Handle properly the second alternative.
+ 
+ 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (parse_string): Unconditionally pedwarn.
+ 
+ 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update.
+ 	* cppexp.c (parse_number): Update.
+ 	* cpplex.c (parse_string): Pedwarn if multiline string does not
+ 	result from a system header's macro.
+ 	* cpplib.h (sys_objmacro_p): Rename sys_macro_p.
+ 	* cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
+ 	for function-like macros too.
+ 	* c-lex.c (lex_number): Update.
+ 
+ 2001-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Fix augmentation length.
+ 
+ Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* combine.c (try_combine): If split with mode-changed scratch
+ 	register didn't work, try the original mode.
+ 
+ Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* stor-layout.c (compute_record_mode): Likewise.
+ 	(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
+ 
+ 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* configure.in: Kill tm.h.  Include the files in the $tm_file
+ 	list in all three of config.h, hconfig.h, tconfig.h, after the
+ 	relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
+ 	three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
+ 	* configure: Regenerate.
+ 	* Makefile.in (clean): Don't delete tm.h.
+ 
+ 	* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
+ 	defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
+ 	those are not defined, set SEC and FEC to 0 and 1.
+ 	* gcc.texi: Update to match.
+ 
+ 	* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
+ 	* config/fp-bit.c, config/m68k/aux-crt2.asm,
+ 	config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
+ 	Include tconfig.h, not tm.h.
+ 
+ 	* config/xm-lynx.h, config/xm-std32.h,
+ 	config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
+ 	config/alpha/xm-alpha.h, config/arc/xm-arc.h,
+ 	config/avr/xm-avr.h, config/c4x/xm-c4x.h,
+ 	config/clipper/xm-clix.h, config/convex/xm-convex.h,
+ 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
+ 	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
+ 	config/h8300/xm-h8300.h, config/i370/xm-linux.h,
+ 	config/i386/xm-i386.h, config/i860/xm-i860.h,
+ 	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
+ 	config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
+ 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
+ 	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
+ 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
+ 	config/pa/xm-linux.h, config/pa/xm-pa.h,
+ 	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
+ 	config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
+ 	config/pj/xm-pj.h, config/romp/xm-romp.h,
+ 	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
+ 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
+ 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
+ 	config/v850/xm-v850.h, config/vax/xm-vax.h,
+ 	config/we32k/xm-we32k.h:
+ 	Don't include tm.h.
+ 	Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
+ 
+ 	* config/i370/xm-i370.h, config/i370/xm-mvs.h,
+ 	config/i370/xm-oe.h: Don't include tm.h.  Don't define
+ 	SUCCESS_EXIT_CODE.
+ 	* config/vax/xm-vms.h: Don't include tm.h.
+ 
+ 	* config/xm-lynx.h, config/avr/xm-avr.h,
+ 	config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
+ 	Delete; made empty by above changes.
+ 	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
+ 	config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
+ 	Don't include config/xm-lynx.h or tm.h.
+ 
+ 	* config/xm-gnu.h: Don't include fcntl.h.
+ 	* config/sparc/xm-lynx.h: Don't include sys/types.h and
+ 	sys/wait.h.
+ 	* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
+ 
+ 2001-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
+ 	UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
+ 
+ 2001-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (OBJS): Add dwarf2asm.o.
+ 	* dwarf2asm.c, dwarf2asm.h: New files.
+ 	* dwarf2out.c (*): Use them.
+ 	(size_of_uleb128, size_of_sleb128): Remove.
+ 	(output_uleb128, output_sleb128): Remove.
+ 	(UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
+ 	(UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
+ 	(UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
+ 	(FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
+ 	(ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
+ 	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
+ 	(ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
+ 	(ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
+ 	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
+ 	(ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
+ 	(ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
+ 	(ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
+ 	(ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
+ 	(dwarf2out_frame_debug): Remove unused variables.
+ 	(output_loc_operands): Don't abort on 8 byte constants if
+ 	host integers are wide enough.
+ 	(output_symbolic_ref): Remove.
+ 	(size_of_die): Don't assume 4 byte host integers.
+ 	(output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
+ 	and end labels.
+ 	(add_const_value_attribute) [CONST_INT]: Verify we're not doing
+ 	something stupid with HOST_WIDE_INT to long truncation.
+ 	[CONST_DOUBLE]: Likewise.
+ 
+ 	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
+ 	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
+ 	* config/arm/unknown-elf.h: Likewise.
+ 	* config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
+ 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
+ 	(ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
+ 	(ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
+ 	(ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
+ 	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
+ 	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
+ 	(ASM_OUTPUT_DWARF_OFFSET): Remove.
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
+ 	* config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
+ 	(UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
+ 	(ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
+ 
+ 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cselib.c (hash_rtx): Cast enums to unsigned int.
+ 
+ 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* print-rtl.c (print_rtx): Cast enums to int for comparison.
+ 	* c-decl.c (grokdeclarator): Cast enums to int for comparison and
+ 	shifts.
+ 	* c-format.c (C_STD_VER): Cast to int for comparisons.
+ 	(check_function_format): Cast various enums to int for &.
+ 	(maybe_read_dollar_number): Likewise.
+ 	(check_format_info): Likewise.
+ 	(check_format_info_main): Likewise.
+ 	* expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
+ 	(safe_from_p): Likewise.
+ 	* varasm.c (const_hash): Cast enum to int for %.
+ 	* emit-rtl.c (init_emit_once): Use int loop variable to work around
+ 	pcc enum problems with < and ++ operators.
+ 	* regclass.c (init_reg_sets_1): Cast enums for comparison.
+ 	(choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
+ 	(regclass_init): Change enum class to int to iterate over reg_classes.
+ 	* genrecog.c (merge_trees): Cast enums for comparison.
+ 	* rtl.h (GET_CODE): Cast to enum rtx_code.
+ 	(PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
+ 	(GET_MODE): Cast to enum machine_mode.
+ 	(PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
+ 	(GET_NOTE_INSN_NAME): Cast enum to int.
+ 	* tree.h (TREE_CODE): Cast to enum tree_code.
+ 	(TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
+ 	* timevar.c (timevar_print): Change loop variable id from enum to
+ 	unsigned int.
+ 	* fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
+ 	* config/i386/i386.md: Use PUT_MODE for mode assignment.
+ 	* toplev.c (compile_file): Cast enum DFI to int.
+ 	(decode_d_option): Likewise.
+ 
+ Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* cppinit.c (append_include_chain): Mark "after" include file name list
+ 	as a system directory.
+ 	* cpp.texi: Document new behavior.
+ 
+ Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (noce_operand_ok): Handle properly unarry operations.
+ 
+ 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (struct include_file): Update.
+ 	(stack_include_file): Use search_from.
+ 	(cpp_included, find_include_file): Update.
+ 	(cpp_execute_include): Update.  ptr->name may not be
+ 	null terminated.  Use the new search_from member variable
+ 	of cpp_buffer.
+ 	(_cpp_compare_file_date): Similarly.
+ 	(search_from): New function, similar to actual_directory.
+ 	(actual_directory): Delete.
+ 	(remap_filename): Update.  loc->name may not be null terminated.
+ 	(struct file_name_list): Rename search_path.  Update.
+ 	* cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
+ 	search_from and dir.
+ 	(struct cpp_reader): Remove actual_dirs.
+ 	* cppinit.c (struct cpp_pending): Update for renamed objects.
+ 	(append_include_chain, remove_dup_dir, remove_dup_dirs,
+ 	merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
+ 	* cpplib.h (struct cpp_options): Similarly.
+ 
+ 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
+ 	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
+ 	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
+ 	config/clipper/xm-clix.h, config/convex/xm-convex.h,
+ 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
+ 	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
+ 	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
+ 	config/i370/xm-linux.h, config/i370/xm-mvs.h,
+ 	config/i370/xm-oe.h, config/i386/xm-aix.h,
+ 	config/i386/xm-i386.h, config/i386/xm-osf.h,
+ 	config/i860/xm-i860.h, config/i960/xm-i960.h,
+ 	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
+ 	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
+ 	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
+ 	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
+ 	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
+ 	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
+ 	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
+ 	config/pj/xm-pj.h, config/romp/xm-romp.h,
+ 	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
+ 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
+ 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
+ 	config/v850/xm-v850.h, config/vax/xm-vax.h,
+ 	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
+ 	Do not define TRUE or FALSE.
+ 
+ 	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
+ 	empty by above change.
+ 	* config.gcc: Remove references to these files.
+ 
+ 	* configure.in: Detect stdbool.h.
+ 	* configure, config.in: Regenerate.
+ 	* system.h: Include stddef.h here if available.
+ 	Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
+ 	Then set up a sensible boolean type at the very end.
+ 
+ 	* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
+ 	config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
+ 
+ 	* hash.h: Delete 'boolean' typedef and related #undefs.
+ 
+ 	* function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
+ 	all uses of 'boolean' with 'bool'.
+ 
+ 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
+ 	* cppexp.c (lex): Cast enums for comparison.
+ 	* cppinit.c (parse_option): Cast enum for comparison.
+ 	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
+ 	(cpp_output_token): Likewise.
+ 	(cpp_can_paste): Cast enums for comparsion and plus/minus.
+ 	(cpp_avoid_paste): Cast enums for minus and comparison.
+ 
+ 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
+ 	field to all array elements.
+ 
+ 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* cpphash.h (struct cpp_reader): Add print_version field.
+ 	* cppinit.c (cpp_handle_option): For -v, -version, and --version,
+ 	just set print_version and other flags as appropriate.
+ 	(cpp_post_options): Print version here if print_version is set.
+ 
+ 	* toplev.c (exit_after_options): New flag.
+ 	(independent_decode_option): Don't exit here; just set
+ 	exit_after_options.
+ 	(main): Exit after calling lang_hooks.post_options if
+ 	exit_after_options is true.
+ 
+ 	* cppinit.c (append_include_chain): Drop never-used case QUOTE.
+ 	(merge_include_chains): Adjust comment to match code.
+ 
+ 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* stringpool.c (set_identifier): New function.
+ 	* tree.h: Prototype it.
+ 
+ 	* c-parse.in: Kill D_YES. If compiled for objc, call
+ 	save_and_forget_protocol_qualifiers from init_reswords.
+ 	* objc/objc-act.c (remember_protocol_qualifiers,
+ 	forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
+ 	Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
+ 	vice versa.
+ 	(save_and_forget_protocol_qualifiers): New function.
+ 	* c-lex.h: Prototype save_and_forget_protocol_qualifiers.
+ 
+ 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* c-semantics.c (prune_unused_decls): Return error_mark_node
+ 	instead of (tree) 1 to stop traversing the tree chain.
+ 
+ 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	Fix a problem introduced by Kenner's Feb 18 change.
+ 	* toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
+ 	flag_cse_skip_blocks only temporarily, not for ever.
+ 
+ Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
+ 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
+ 
+ 	* pa.c (emit_move_sequence): Verify operand0 is a hard register
+ 	before determining its register class.
+ 
+ 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
+ 	from reg 4 if current_function_calls_setjmp.
+ 	(gen_nop_type): New function.
+ 	(ia64_emit_nops): New function.
+ 	(ia64_reorg): Call it.
+ 	(ia64_sched_reorder): Move code that rotates bundles up a bit.
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Restrict the special case
+ 	code not to try to optimize adds with anything but a REG destination.
+ 
+ 	* sched-int.h (struct haifa_insn_data): Add new member priority_known.
+ 	(INSN_PRIORITY_KNOWN): New accessor macro.
+ 	* haifa-sched.c (priority): Use it instead of testing priority against
+ 	zero.
+ 
+ 2001-02-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
+ 	since that doesn't work the way gcc wants on a generic m68k.
+ 
+ 2001-02-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* caller-save.c (save_call_clobbered_regs): Fix typo in
+ 	comparison last change.
+ 
+ Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (pentium4_cost): New.
+ 	(m_PENT4): New macro.
+ 	(x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
+ 	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
+ 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ 	x86_memory_mismatch_stall): Add Pentium4
+ 	(x86_use_q_reg, x86_use_any_reg): Kill.
+ 	(override_options): Add pentium4.
+ 	(incdec_operand): Return 0 for pentium4.
+ 	(ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
+ 	* i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
+ 	(TARGET_PENTIUM4): Define.
+ 	(enum processor_type): Add PROCESSOR_PENTIUM4.
+ 	(CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
+ 	* i386.md (attribute "cpu"): Add pentium4.
+ 	* invoke.texi (march): Add pentium4.
+ 
+ Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_mov?fcc*): New patterns and splitters.
+ 	* i386.c (ix86_expand_movcc): Work post-reload; recognize
+ 	the SSE based conditional moves.
+ 
+ Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (attribute mode): Add "TI".
+ 	(movsf_1): Add pxor support; remove constant propagation splitter.
+ 	(movdf_integer): Likewise.
+ 	(movdf_nointeger): Likewise.
+ 	(movxf constant prop splitter): Handle all modes; update for SSE.
+ 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
+ 	* i386.c (standard_80387_constant_p): Rewrite.
+ 	(standard_sse_constant_p): New.
+ 	* i386-protos.h (standard_sse_constant_p): New.
+ 
+ Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_setccsf, sse_setccdf): New.
+ 	(sse_cmp* patterns): Use '%D' instead of outputtting condition
+ 	flag directly.
+ 	* i386.c (sse_comparison_operator): Accept the supported unordered
+ 	comparses; be ready for fast_math.
+ 	(print_operand): Support 'D'.
+ 
+ Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (reversed_comparison_code): Kill.
+ 
+ Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
+ 	for STACK_REGS
+ 
+ Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
+ 	add missing '%' in constraints.
+ 
+ Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-common.c (build_common_tree_nodes): Build intTI_type_nodes
+ 	for HOST_BITS_PER_WIDE_INT == 32 too.
+ 
+ Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
+ 	NREGS.
+ 	(insert_save, insert_restore): New parameter save_mode.
+ 	(init_caller_save): Update initialization of reg_save_code
+ 	and reg_restore_code.
+ 	(save_call_clobbered_regs):  Compute save_modes and update calls to
+ 	reg_save_code and reg_restore_code.
+ 	(insert_restore):  Unsignetize numbers; use save_modes to choose mode
+ 	of spill; update use of reg_restore_code.
+ 	(insert_save):  Likewise.
+ 	* i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
+ 	* c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
+ 	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
+ 
+ Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
+ 	noce_try_store_flag_inc, noce_try_store_flag_mask,
+ 	noce_try_cmove_arith):
+ 	Use reversed_comparison_code instead of reverse_comparison and
+ 	can_reverse_comparison_p.
+ 
+ Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (reversed_comparison_code_parts): Allow reversal of
+ 	unordered compares in -ffast-math mode; reverse ordered compares
+ 	for FP even w/o -ffast-math.
+ 
+ 2001-02-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* print-rtl.c (print_rtx) [i]: Don't print field five on
+ 	NOTEs other than NOTE_INSN_DELETED_LABEL.
+ 
+ 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
+ 	* pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
+ 
+ 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* c-common.c (walk_stmt_tree): Visit the chain of the current tree
+ 	even if walk_subtrees is 0.
+ 	* c-semantics.c (prune_unused_decls): Return a non-null value to
+ 	stop traversing the tree chain.
+ 
+ 2001-02-27  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/m68k/m68k.c (output_function_prologue): Save the new CFA
+ 	register, *then* define it as the new CFA.
+ 
+ Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (override_options): Promote -fpic to -fPIC.
+ 	(legitimize_pic_address): Simplify due to removal of
+ 	small PIC as a code generation option.
+ 	(secondary_reload_class): Similarly.
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
+ 	(PRINT_OPERAND_ADDRESS): Similarly.
+ 	* pa.md (various patterns): Similarly.
+ 	(small pic lo_sum pattern): Remove.
+ 
+ Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 			      Fergus Henderson
+ 
+ 	* md.texi (min, max): Document
+ 
+ Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsf, movdf): Use movaps for reg-reg moves if
+ 	TARGET_PARTIAL_REG_DEPENDENCY.
+ 	(truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
+ 
+ Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (mins*, maxs*): New patterns, expanders and splitters.
+ 
+ 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* mips.c (mips_make_temp_file): Fix thinko in last change.
+ 
+ 2001-02-26  Jason Eckhardt  <jle@redhat.com>
+ 
+ 	* combine.c (known_cond): Do not reverse the condition when
+ 	SMAX/UMAX is being considered and the condition is for equality
+ 	or inequality.
+ 
+ 	* testsuite/gcc.c-torture/execute/20010221-1.c: New test.
+ 
+ 2001-02-26  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
+ 	"armv2-*-linux".
+ 	* config/arm/linux-elf.h: Remove historical relics related to
+ 	above configurations.
+ 	* config/arm/linux-oldld.h: Delete.
+ 	* config/arm/linux-elf26.h: Delete.
+ 
+ 2001-02-26  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
+ 	definitions.
+ 	* toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
+ 	recognize a tentative definition.  Lose obsolete code.
+ 
+ 	* toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
+ 	variables unless necessary, either.
+ 
+ 2001-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (struct noce_if_info): Add test_bb.
+ 	(noce_get_alt_condition): New.
+ 	(noce_try_minmax, noce_try_abs): New.
+ 	(noce_operand_ok): New.
+ 	(noce_process_if_block): Use them.
+ 	* rtlanal.c (may_trap_p): NEG and ABS can never trap.
+ 
+ Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
+ 	include.
+ 
+ 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
+ 	* config/mips/mips.c (mips_make_temp_file): Set temp_filename
+ 	properly.
+ 	(mips_asm_file_end): Free temp_filename here.
+ 
+ Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
+ 	* config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
+ 
+ 	* config/i386/i386.md (movstrsi): Handle FAIL case.
+ 
+ 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (builtin_array): Update.
+ 	(init_builtins): Flag builtins to warn if redefined or
+ 	undefined.  Define __GXX_WEAK as a normal macro.
+ 	* cpplib.c (do_undef): Warn if flagged NODE_WARN.
+ 	* cpplib.h (NODE_WARN): New flag.
+ 	* cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
+ 	Handle __STDC__ as a builtin only on Solaris.
+ 	(warn_of_redefinition): Renamed from check_macro_definition.
+ 	Reverse sense of test.  Always warn if NODE_WARN.
+ 	(_cpp_create_definition): Use warn_of_redefinition.  Flag
+ 	any macro beginning with "__STDC_" to require a mandatory
+ 	warning if redefined or undefined.
+ 
+ 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
+ 	i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
+ 	i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
+ 	i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
+ 	m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
+ 	mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
+ 	Don't define any of:
+ 	USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
+ 	P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
+ 	NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
+ 	index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
+ 	STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
+ 
+ 	* alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
+ 	fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
+ 	definitions.
+ 
+ 	* m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
+ 	Delete now-empty file.
+ 
+ 	* alpha/vms.h: Define NEED_ATEXIT here...
+ 	* alpha/xm-vms.h: ...not here.
+ 
+ 	* i386/cygwin.h: Don't define PARAMS.
+ 	* mips/mips.c: Don't prototype mktemp.  Don't define
+ 	P_tmpdir.  Use make_temp_file to create temporary files.
+ 	Don't be clever and delete temporary files early.
+ 	* config.gcc: Drop references to deleted files.  Don't define
+ 	FULL_PROTOTYPES.
+ 	* gcc.texi: Don't mention USE_PROTOTYPES.
+ 
+ Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/i386/i386.c (ix86_set_move_mem_attrs): New function.
+ 	(ix86_set_move_mem_attrs_1): Likewise.
+ 	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
+ 	* config/i386/i386.md (movstrsi): Call it.
+ 
+ 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
+ 	x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
+ 	ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
+ 	rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
+ 
+ 	(i750a-*-*): Error here if hosting on i750a.
+ 	(alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
+ 
+ 	* x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
+ 	Remove (empty modulo comments).
+ 
+ 	* 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
+ 	alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
+ 	i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
+ 	i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
+ 	mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
+ 	rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
+ 
+ 	* i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
+ 	Remove reference to winnt.h in comment.
+ 	* rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
+ 
+ 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* loop.c (check_dbra_loop): A biv has uses besides counting if it is
+ 	used to set another biv.
+ 
+ Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (BLOCK_DEAD): New macro.
+ 	(struct tree_block): New flag, dead_flag.
+ 	* print-tree.c (print_node, case 'b'): Print missing fields.
+ 	* emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
+ 	* function.c (identify_blocks): Enable test for misplaced notes.
+ 	(all_blocks): Skip BLOCK_DEAD blocks.
+ 	* integrate.c (integrate_decl_tree): Likewise.
+ 
+ 	* errors.c (internal_error, trim_filename): New functions.
+ 	(fancy_abort): Call internal_error.
+ 	* errors.h (internal_error, trim_filename): New declarations.
+ 
+ 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
+ 	2000-08-26's patch.
+ 	(EXTRA_CONSTRAINT): Formatting changes.
+ 
+ 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.c (rtl_check_failed_code2): Fix typo in last change.
+ 
+ 2001-02-23  Per Bothner  <per@bothner.com>
+ 
+ 	* gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
+ 	so they can be called from java/jvspec.c.
+ 	* gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
+ 
+ Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_frame): New structure.
+ 	(ix86_compute_frame_size): Kill.
+ 	(ix86_compute_frame_layout): New.
+ 	(ix86_save_reg): New.
+ 	(ix86_can_use_return_insn_p): Use frame layout stuff.
+ 	(ix86_expand_prologue): Likewise.
+ 	(ix86_expand_epilogue): Likewise.
+ 	(ix86_initial_elimination_offset): Likewise.
+ 	(ix86_nsaved_regs): Use ix86_save_reg.
+ 	(ix86_emit_save_regs): Likewise.
+ 
+ Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (find_sub_basic_blocks): New function.
+ 	(split_block): Be ready for basic block introduced by CODE_LABEL.
+ 	(commit_one_edge_insertion): Call find_sub_basic_block.
+ 
+ 	* flow.c (make_edges): Add edge from entry for blocks starting with
+ 	label having ALTERNATE_NAME
+ 
+ Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (epilogue_done): Be ready for first basic block not
+ 	containing PROLOGUE_END note.
+ 	(reposition_prologue_and_epilogue_notes): Avoid placing
+ 	PROLOGUE_END note between BASIC_BLOCK.
+ 
+ Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (canonicalize_condition): Move to reversed_comparison_code.
+ 
+ 2001-02-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
+ 	check for current_function_has_nonlocal_goto from 1999-11-12.
+ 
+ Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.c (trim_filename): No longer static.
+ 	* toplev.h (trim_filename): Declare.
+ 	* rtl.c (rtl_check_failed_bounds): Call internal_error.
+ 	(rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
+ 	(rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
+ 	(rtvec_check_failed_bounds): Likewise.
+ 	* tree.c (tree_check_failed, tree_class_check_failed): Likewise.
+ 
+ 	* convert.c (convert_to_integer): Don't do unsigned unless result or
+ 	both inputs are unsigned.
+ 
+ 	* fold-const.c (fold_convert): Don't call size_int_type_wide if
+ 	input overflows.
+ 
+ 	* c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
+ 
+ 	* varasm.c (output_constant): Recompute CODE after lang-specific fn.
+ 
+ 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* Makefile.in (resource.o): Add params.h dependence.
+ 	* params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
+ 	* params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
+ 	* resource.c: Add dependence on params.h.
+ 	(current_live_regs): Fix explanatory comment.
+ 	(find_basic_block): Add new parameter to permit limiting search
+ 	for a BARRIER.
+ 	(mark_target_live_regs): Add new argument to find_basic_block call.
+ 	(incr_ticks_for_insn): Likewise.
+ 
+ 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.c (output_to_stream): Rename to
+ 	output_buffer_to_stream. Loses the stream parameter.
+ 	(init_output_buffer): Set diagnosic_buffer's stream.
+ 	(flush_diagnostic_buffer): Adjust.
+ 	(default_print_error_function): Likewise.
+ 	(finish_diagnostic): Likewise.
+ 	(verbatim): Likewise.
+ 
+ 	* diagnostic.h (struct output_buffer): Add `stream' field.
+ 	(output_buffer_attached_stream): New macro.
+ 
+ 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
+ 	check if either operand is divisible by C.
+ 	(multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
+ 	If type is signed, consider negative numbers as well.
+ 
+ 2001-02-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
+ 	reach .text instead of gp-relative relocs.
+ 	* config/ia64/crtend.asm (.init): Likewise.
+ 
+ 2001-02-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* extend.texi (C++ Attributes): Fix typo.
+ 
+ 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
+ 	functions, drop current_function_args_info.words test.
+ 	(ia64_compute_frame_size): Mark syscall_linkage functions as
+ 	using eight input registers.
+ 
+ 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
+ 	Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
+ 	* fixinc/README: Document how to convert sed substitutions
+ 	to format style c_fix-es.
+ 	* fixinc/fixincl.x: regen
+ 
+ 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
+ 
+ 	* gcc.c: Add comment explaining how to add a command-line option.
+ 	Add title to specs language comment.
+ 
+ 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* gcc.c (cc1_options): Add "-param".
+ 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
+ 	(option_map): Likewise.
+ 	* toplev.c (display_help): Add entry for "--param".
+ 	(independent_decode_option): Fix typographical error.
+ 
+ Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
+ 			      Bernd Schmidt  <bernds@redhat.com>
+ 			      Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (function_arg_advance):  Pass SSE arguments in registers.
+ 	(function_arg): Likewise.
+ 
+ Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
+ 
+ 2001-02-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (iorsi3): Do not output an extra newline
+ 	character.
+ 	(xorsi3): Likewise.
+ 
+ Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (init_propagate_block_info): Canon address and use single_set
+ 	for killing dead memory stores.
+ 
+ 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* Makefile.in (reorg.o): Add params.h dependence.
+ 	* params.def: Fix typographical error in comment.
+ 	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
+ 	* params.h: Modify introductory comment.
+ 	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
+ 	* reorg.c: Add dependence on params.h.
+ 	(redundant_insn): Add parameterized throttle for search.
+ 	(fill_simple_delay_slots): Add a comment explaining a variable.
+ 	Move conditional out of loop, simplifying code.
+ 	(fill_eager_delay_slots): Fix typographical error in comment.
+ 
+ 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
+ 
+ 	* flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
+ 	(REVERSE_CONDEXEC_PREDICATES_P): Define macro.
+ 
+ 2001-02-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (DECL_UNINLINABLE): Move from C++ frontend.
+ 	(struct tree_decl): Add uninlinable bitfield.
+ 	* c-decl.c (duplicate_decls): Set it.
+ 	* integrate.c (function_cannot_inline_p): Check it.
+ 
+ 	* dwarf2out.c (add_name_and_src_coords_attributes): Don't add
+ 	DW_AT_MIPS_linkage_name to abstract methods.
+ 	(dwarf2out_abstract_function): Emit class context before calling
+ 	set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
+ 	(gen_subprogram_die): Remove obsolete code.
+ 	(gen_member_die): Don't include clones in the member list.
+ 	(gen_decl_die): Emit abstract info for clone origin.
+ 	* dwarfout.c (output_type): Don't include clones in the member list.
+ 	* dbxout.c (dbxout_type_methods): Ignore abstract methods.
+ 	* toplev.c (note_deferral_of_defined_inline_function): Don't clear
+ 	DECL_ABSTRACT on a function that already has it set.
+ 
+ 	* dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
+ 	(get_subprogram_die): Pass it in.
+ 
+ 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (mark_set_1): Make not_dead unsigned long.  For
+ 	non-pseudos, use it as a bitmask of the hard regs that
+ 	don't die.
+ 
+ 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c: Update comments.
+ 	(_cpp_read_file): Don't check for NULL filenames any more.
+ 	* cppinit.c (cpp_start_read): Don't do canonicalization of
+ 	in_fname and out_fname.  Use the passed file name exclusively.
+ 	(_cpp_handle_options): Don't treat "-" as a command line option,
+ 	but as a normal filename.
+ 	(_cpp_post_options): Canonicalize in_fname and out_fname.
+ 	* cppmain.c (printer_init): Don't check out_fname for NULL.
+ 	* c-lex.c (orig_filename): Rename cpp_filename for clarity.
+ 	(init_c_lex): Update, and use "" to represent stdin to CPP.
+ 	(yyparse): Update.
+ 
+ 2001-02-20  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
+ 	* config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
+ 	(INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
+ 	fixunstfsi_libfunc.
+ 
+ 2001-02-20  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (output_cbranch): Output branches
+ 	on separate lines instead of using ';' to separate.
+ 
+ 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (set_lang):  Move builtin handling to...
+ 	(init_builtins): ...here.
+ 	(_cpp_create_reader): Move call to set_lang.
+ 
+ 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stmt.c (expand_return): If an attempt is made to return the
+ 	error_mar_node, treat the return like a return without a value.
+ 
+ 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
+ 
+ 	* sibcall.c (skip_copy_to_return_value): Call
+ 	identify_call_return_value here, and return orig_insn if it
+ 	returns zero.  Hardret and softret arguments now unnecessary.
+ 	(call_ends_block_p): Don't call identify_call_return_value here.
+ 
+ 	* ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
+ 	's' slots in RTXen.
+ 	* ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete	function.
+ 	* ggc.h (ggc_mark_if_gcable): Delete prototype.
+ 
+ Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.c (move_operand): Accept code to load the address of a
+ 	symbol out of the DLT as a valid move operand.
+ 	(print_operand, case 'A'): New to handle generating a DLT
+ 	reference for a LO_SUM expression.
+ 	* pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
+ 	* pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
+ 
+ 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* README, cpp.texi, gcc.texi, version.c: Update version number to
+ 	3.1.
+ 	* cpp.1, gcov.1, gcc.1: Regenerate.
+ 
+ 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Generate dependencies
+ 	here, and manage include_count here too.
+ 	(PRINT_THIS_DEP): Delete.
+ 	(_cpp_execute_include): Do not generate dependencies here,
+ 	apart from the case of a missing header.  Do not manage
+ 	include_count.
+ 	(_cpp_read_file): Leave dependency generation to
+ 	stack_include_file.
+ 
+ Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
+ 	target_cpu_default.  Remove dead assignment to
+ 	target_cpu_default.
+ 
+ Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regclass.c (contains_reg_of_mode): Make global.
+ 	(init_reg_sets): Remove contains_reg_of_mode; take into account
+ 	CLASS_MAX_NREGS when looking for the proper mode.
+ 	(dump_regclass): Dump only classes considered for the pseudo.
+ 	(regclass): Use contains_reg_of_mode.
+ 
+ Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcc.c (do_spec_1): 'n' for printing notices.
+ 	* i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
+ 
+ Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (next_flags_user): Use current_block->end
+ 	(swap_rtx_condition): Look for next user if flags don't die;
+ 	give up on CALL_INSNs; use current_block->end.
+ 
+ Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sibcall.c (call_ends_block_p): New function.
+ 	(optimize_sibling_and_tail_recursive_call): Use it.
+ 
+ 2001-02-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Update copyright.
+ 	(andsi3): Do not output an extra newline character.
+ 
+ Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (note_deferral_of_defined_inlined_function): Argument
+ 	FNDECL may be unused.
+ 
+ 	* toplev.c (rest_of_compilation): Don't have CSE skip blocks or
+ 	follow jumps after first run.
+ 	If -fexpensive-optimizations rerun CSE after GCSE and iterate until
+ 	it doesn't change any jumps.
+ 
+ Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
+ 	($HOST_PREFIX_1)rtlanal.o: Remove rules for building
+ 	(mostlyclean): Corresponding changes.
+ 	* rtlanal.c (hard-reg-set.h): Include.
+ 	(rtx_unstable_p): Do not treat the argument pointer specially
+ 	if it is not a fixed register.
+ 	(rtx_varies_p, rtx_addr_can_trap_p): Similarly.
+ 
+ Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
+ 	against last real insn in basic block.
+ 	Rework to avoid gotos.
+ 
+ 	* Makefile.in (gcse.o): Now includes ggc.h.
+ 	* gcse.c: Include ggc.h.
+ 	(want_to_gcse_p): Verify expression can be in SET as valid insn.
+ 	(try_replace_reg): Remove warning of uninitialize variable.
+ 	(process_insert_insn): Call invalid_insn_p to validate insn.
+ 	* recog.c (insn_invalid_p): Now global.
+ 	See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
+ 	* recog.h (insn_invalid_p): New declaration.
+ 
+ 	* jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
+ 
+ 	* config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
+ 	assignments from FP constants since 'Y' output code can't handle it.
+ 	(eligible_for_sibcall_delay): Likewise.
+ 
+ 	* flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
+ 	Call fancy_abort directly, passing args.
+ 	(print_rtl_and_abort): Now a macro, like fancy_abort.
+ 
+ 	* final.c (output_operand_lossage): Use internal_error, not error.
+ 
+ 2001-02-18  Shane Nay  <shane@agendacomputing.com>
+ 
+ 	* mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
+ 	structure shift insns.
+ 
+ 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (-fsquangle): Remove documentation.
+ 	(-fname-mangling-version): Likewise.
+ 
+ 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* optabs.c (expand_abs): Remove reference to
+ 	HAVE_contitional_arithmetic.
+ 	* combine.c (simplify_set): Likewise.
+ 
+ 2001-02-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Don't move code if eh regions
+ 	would be disrupted.
+ 
+ 2001-02-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
+ 
+ 	* config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
+ 
+ 	* reload1.c (reload_cse_simplify_set): Fix typo.
+ 
+ Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.c (_fatal_insn): Decrement errorcount.
+ 
+ 	* invoke.texi (-I): Add note avoiding use for system header files.
+ 
+ 	* rtl.h (add_clobbers): Remove duplicate declaration.
+ 	* recog.h (added_clobbers_hard_reg_p): New declaration.
+ 	* genemit.c (struct clobber_pat): New field has_hard_reg.
+ 	(gen_insn): Record if added clobbers clobber hard reg.
+ 	(gen_split): Avoid unused warning if number of operands is 0.
+ 	(output_added_clobbers_hard_reg_p): New function.
+ 	(main): Call it.
+ 
+ 2001-02-18  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* pa.c (hppa_expand_prologue): Simplify code storing return
+ 	pointer.  For large (>=8k) frames with a post_store, adjust stack
+ 	pointer by 8k-64 first rather than by 64.  When testing with
+ 	VAL_14_BITS_P, always use the actual value rather than the value
+ 	negated.  Add blockage to prevent scheduling of spills before
+ 	stack frame has been created.
+ 	(hppa_expand_epilogue): Simplify code loading return pointer.
+ 	Allow a slightly larger range for merge_sp_adjust_with_load case.
+ 	When testing with VAL_14_BITS_P, always use the actual value.
+ 
+ 	* pa.c (pa_adjust_insn_length): Check that block move
+ 	pattern is a set before looking at operands.
+ 
+ 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg): New
+ 	function, split out from ...
+ 	(fold): ... here.
+ 	* tree.def (COND_EXPR): Document the use of VOID_TYPE for
+ 	conditional arms that throw exceptions.
+ 
+ 	* print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
+ 	looking at a BLOCK.
+ 
+ 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
+ 	define HAVE_DECL_* to 1 to mask potential backup declarations.
+ 	* configure: Regenerated.
+ 
+ 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (-Woverloaded-virtual): Clarify documentation.
+ 
+ 2001-02-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
+ 	when replacing a memory load with a register.
+ 
+ Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 			  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (validate_replace_src_1): New.
+ 	(validate_replace_src_data): Likewise.
+ 	(validate_replace_src): Use note_uses.
+ 	* rtl.h (note_uses): Declare.
+ 	* rtlanal.c (note_uses): New.
+ 
+ Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (stack_def): Make field reg unsigned.
+ 	(remove_regno_note): Unsignetize parameter.
+ 
+ 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
+ 
+ 	* ia64.c (errata_emit_nops): Add VOIDmode as second argument to
+ 	shladd_operand() call.
+ 
+ 2001-02-16  Bruce Korb  <bkorb@gnu.org>
+ 	    Rodney Brown  <RodneyBrown@mynd.com>
+ 
+ 	* fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
+ 	* fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
+ 	machine restrictions
+ 	* fixinc/fixincl.x: regen
+ 
+ Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
+ 	Don't CSE a nop.
+ 	(hash_scan_insn): Clean up calls to hash_scan_set.
+ 	(compute_kill_rd): REGNO now unsigned.
+ 	(try_replace_reg): Rework to use simplify_replace_rtx.
+ 	(cprop_jump, cprop_cc0_jump): Likewise.
+ 	(cprop_insn): Call find_reg_equal_equiv_note.
+ 	Reflect changes to cprop_jump and cprop_cc0_jump.
+ 
+ 	* recog.c (validate_replace_src): Replace in operands of
+ 	ZERO_EXTRACT in SET_DEST.
+ 
+ 	* cse.c (new_label_ref): New variable.
+ 	(insert): Set it instead of recorded_label_ref.
+ 	(cse_basic_block): Set recorded_label_ref if new_label_ref use, has
+ 	CODE_LABEL for this function, and not already in REG_LABEL note.
+ 
+ 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* resource.c (mark_referenced_resources): Fix typo in introductory
+ 	comment.
+ 	* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
+ 	string constant.
+ 
+ 2001-02-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
+ 	NULL.
+ 	(gen_subprogram_die): Don't abort on seeing a second definition if
+ 	the previous one was abstract.  Don't replace an abstract instance
+ 	in the lookup table.
+ 
+ 	* dwarf2out.c (dwarf2out_abstract_function): Rename from
+ 	gen_abstract_function.
+ 	* dwarf2out.h: Declare it.
+ 	* toplev.c (note_outlining_of_inline_function): New fn.
+ 	* toplev.h: Declare it.
+ 	* integrate.c (output_inline_function): Call it.
+ 	* c-decl.c (duplicate_decls): Call it when redefining an extern
+ 	inline.  Don't inline the new defn.
+ 
+ 	* tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
+ 
+ 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* .gdbinit: Rename to gdbinit.in.
+ 	* gdbinit.in: New file,
+ 	* configure.in: Generate .gdbinit from gdbinit.in.
+ 	* configure: Regenerated.
+ 	* Makefile.in (distclean): Always remove .gdbinit.
+ 
+ 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* objc/objc-act.c (start_class): Register implemented_classes with
+ 	GC.
+ 
+ 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (_cpp_make_system_header): Generate a file
+ 	change callback.
+ 
+ 2001-02-15  Jim Meyering  <meyering@lucent.com>
+ 
+ 	* Makefile.in (install-common): Don't depend on installdirs here.
+ 	Instead, make each of the lang.install-common targets (e.g.,
+ 	c++.install-common in cp/Make-lang.in) depend on it.
+ 	(install-driver): Depend on installdirs.
+ 
+ Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
+ 
+ 	* function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
+ 	do in memory.
+ 
+ 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* invoke.texi (--param): Document.
+ 
+ Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
+ 
+ Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (extendsfdf2_2): Fix constraints.
+ 
+ Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fop_df_3 splitter): Fix operand number.
+ 
+ Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* invoke.texi (-mreg-alloc): Nuke.
+ 	* i386.c (ix86_reg_alloc_order, regs_allocated,
+ 	order_regs_for_local_alloc): Nuke.
+ 	(override_options): Kill reg_alloc code.
+ 	* i386.h (TARGET_OPTIONS): Kill reg-alloc.
+ 	(REG_ALLOC_ORDER): SSE goes before I387.
+ 	(ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
+ 	(ix86_reg_alloc_order): Likewise.
+ 	* i386-protos.h (ix86_reg_alloc_order): Kill.
+ 
+ 2001-02-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (f_options): Clarify -fschedule-insns2 documentation.
+ 
+ Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
+ 
+ Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (ix86_memory_move_cost): Move offline.
+ 	* i386.c (ix86_register_move_cost): Compute properly cost of
+ 	SSE, MMX and i387 instructions.
+ 	(*_cost): Add costs of SSE/MMX moves.
+ 	(ix86_memory_move_cost): Move offline from ....; Likewise.
+ 	* i386.h (MEMORY_MOVE_COST): .... here;
+ 	(struct processor costs): Add new fields to represent costs
+ 	of SSE/MMX moves.
+ 
+ Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regclass.c (init_reg_sets_1): Reinstall the optimization of
+ 	move_cost together with Matt Kraai's fix.
+ 
+ 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS): Add params.o.
+ 
+ 2001-02-14  Richard Henderson  <rth@redhat.com>
+ 	    DJ Delorie  <dj@redhat.com>
+ 
+ 	* jump.c (jump_optimize_1): When we delete a conditional jump
+ 	preceding a non-conditional jump to effectively the same place,
+ 	make sure that the combined jump skips any clobber insns between
+ 	the two labels.
+ 
+ 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
+ 
+ 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (toplev.o): Depend on params.h.
+ 	(intergate.o): Likewise.
+ 	(params.o): New target.
+ 	* flags.h (inline_max_insns): Remove.
+ 	* integrate.c: Include params.h.
+ 	Use MAX_INLINE_INSNS instead of inline_max_insns.
+ 	* params.c: New file.
+ 	* params.h: Likewise.
+ 	* params.def: Likewise.
+ 	* toplev.c: Include params.h.
+ 	(lang_independent_params): New variable.
+ 	(decode_f_option): Use the param machinery instead of setting
+ 	max_inline_insns.
+ 	(independent_decode_option): Handle "--param name=value".
+ 	(main): Register language-independent parameters.
+ 
+ Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pushsf, pushdf_nointeger): Fix constraint.
+ 
+ 2001-02-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regclass.c (init_reg_sets_1): Revert last two changes.
+ 
+ 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stor-layout.c (is_pending_size, put_pending_size): New functions.
+ 	(variable_size): Call put_pending_size.
+ 	* tree.h (is_pending_size, put_pending_size): Add prototypes.
+ 	* fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
+ 	sizes list, put newly created SAVE_EXPR there as well.
+ 
+ 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (last_group): Only 2 entries are needed.
+ 	(errata_find_address_regs): load_group has only 2 entries.
+ 	(errata_emit_nops): Likewise.  shladd is not problematic.
+ 	Clear last_group if nop was emitted.
+ 	(fixup_errata): load_group has only 2 entries.
+ 	Optimize.
+ 
+ 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (lex_number): Only warn traditionally for U suffix
+ 	outside system macros.
+ 	* cppexp.c (parse_number): Similarly.
+ 	* cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
+ 	* cppmacro.c (struct cpp_macro): New member node.
+ 	(parse_args): Only warn about missing rest args if not
+ 	a system macro.
+ 	(funlike_invocation_p): Similarly for uninvoked funlike macros.
+ 	(cpp_sys_objmacro_p): New.
+ 	(_cpp_create_definition): Store the node with the macro defn.
+ 	Remember if the macro is defined in a system header.
+ 
+ 2001-02-13  DJ Delorie  <dj@redhat.com>
+ 
+ 	* configure.in (check_languages): determine languages to check
+ 	* Makefile.in (check-c++): alias for check-g++
+ 	(check-f77): alias for check-g77
+ 	(CHECK_TARGETS): depend on configured languages
+ 
+ Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
+ 	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
+ 	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
+ 	(sqrtextendsfdf2): Disable for SSE2.
+ 
+ Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
+ 	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
+ 	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
+ 	(sqrtextendsfdf2): Disable for SSE2.
+ 
+ Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsfcc_1): Support integer cmove instruction.
+ 	(movdfcc_1): Likewise; new splitter.
+ 
+ Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (output_fp_compare): Support SSE.
+ 	(prepare_fp_compare_args): SSE comparisons always support memory.
+ 	* i386.h (TARGET_CMOVE): SSE imply cmove.
+ 	* i386.md (cmp?f2): Enable for SSE too.
+ 	(cmpfp_i*): Support SSE.
+ 	(cmpfp_i_sse): New.
+ 	(cmpfp_i_sse_only): New.
+ 	(s*, b* fp expanters): Enable for SSE too.
+ 	(fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
+ 	New patterns.
+ 
+ Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regclass.c (init_reg_sets_1): Silence warning.
+ 
+ Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sqrt?f2): Change to expander.
+ 	(sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
+ 
+ Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtlanal.c (find_reg_equal_equiv_note): New function.
+ 	* simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
+ 	(simplify_gen_relational, simplify_replace_rtx): Likewise.
+ 	* rtl.h: Add declarations for above functions.
+ 
+ Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
+ 	conditionals.
+ 	* defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
+ 	* emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
+ 	* flow.c (mark_regs_live_at_end): Likewise.
+ 	(calculate_global_regs_live): Likewise.
+ 	* gcse.c (compute_hash_table): Likewise.
+ 	(compute_kill_rd): Likewise.
+ 	* resource.c (mark_target_live_regs): Likewise.
+ 	* rtl.h (INVALID_REGNUM): New macro.
+ 
+ Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
+ 
+ Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fixsfsi2, fixdfdi2): Force operand to register
+ 	for SSE.
+ 
+ Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
+ 	too.
+ 	(fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
+ 	(fop_sf_comm_sse, fop_df_comm_sse): New patterns.
+ 	(fop_sf_1_sse, fop_df_1_sse): New patterns
+ 	(fop_*): Disable float_extend and float patterns for SSE compilation.
+ 	* i386.c (output_387_binary_op): Support SSE.
+ 
+ Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (dummy_extendsfdf2): Support SSE2
+ 	(extendsfdf2): Enable if 80387 or SSE2.
+ 	(extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
+ 	and no MIX_I387_SSE2
+ 	(extendsfdf2_1_sse_only): New pattern.
+ 	(truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
+ 	of SSE.
+ 	(truncdfsf2_1): Support SSE.
+ 	(truncdfsf2_2): Support SSE.
+ 	(truncdfsf2_2_1_sse): New pattern.
+ 	(fixtruncsfsi2): Always use SSE if available.
+ 	(fix_truncsfsi_sse): New pattern.
+ 	(fix_truncdfsi_sse): New pattern.
+ 	(floatsis?f2): Support SSE.
+ 	(floatsidf2_i387): New pattern.
+ 	(floatsidf2_sse): Likewise.
+ 
+ Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* configure.in: Use "have_gnat" variable, not "gnat".
+ 	* configure: Regenerated.
+ 
+ 	* config/sparc/sparc.c (function_value): Treat all non-record
+ 	aggregate types like used to treat UNION_TYPE.
+ 
+ Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
+ 	* i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
+ 	(MASK_SSE2): New.
+ 	(MASK_MIX_SSE_I387): New.
+ 	(TARGET_SSE): SSE2 imply SSE.
+ 	(TARGET_SSE2, TARGET_MIX_SSE_I387): New.
+ 	(TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
+ 	(enum reg_class): Add new classes.
+ 	(REG_CLASS_NAMES): Likewise.
+ 	(REG_CLASS_CONTENTS): Likewise.
+ 	(ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
+ 	(REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
+ 	supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
+ 	(CLASS_MAX_NREGS): Use new macros.
+ 	(REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
+ 	* i386.md (pushsf, movsf): Support SSE.
+ 	(pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
+ 	splitters to use ANY_FP_REGNO_P.
+ 	(movdf_nointeger, movdf_integer): Likewise.
+ 
+ 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
+ 	(try_combine): Use it.
+ 
+ Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
+ 	MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
+ 	(PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
+ 	(REGISTER_MOVE_COST): Likewise.
+ 	* i386-protos.h (ix86_secondary_memory_needed,
+ 	ix86_preferred_reload_class, ix86_register_move_cost): Declare.
+ 	* i386.c (ix86_secondary_memory_needed,
+ 	ix86_preferred_reload_class, ix86_register_move_cost): New function.
+ 
+ Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
+ 	(HARD_REGNO_MODE_OK): Move offline to ....
+ 	* i386.c (ix86_hard_regno_mode_ok) ... here;
+ 	refuse all incorrect modes.
+ 	* i386-protos.h (ix86_hard_regno_mode_ok): Declare.
+ 
+ 2001-02-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
+ 	entire operator; replicate that and match_dup the operands.
+ 	(cmp_ccx_arith_op_set): Likewise.
+ 	(cmp_cc_arith_op_not_set): Likewise.
+ 	(cmp_ccx_arith_op_not_set): Likewise.
+ 
+ 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* explow.c (trunc_int_for_mode): Sign-extend value to mode.
+ 
+ 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
+ 	(TARGET_NO_BITFIELD_WORD): New macro.
+ 	(SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
+ 	(BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
+ 
+ Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* cselib.c: New file, from simplify-rtx.c.
+ 	* simplify-rtx.c: Remove cselib parts.
+ 	* Makefile.in: Add cselib.o.
+ 
+ 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
+ 	(setup_incoming_varargs): Remove warning.
+ 
+ 	* config/rs6000/rs6000.c (validate_condition_mode): When
+ 	flag_fast_math, allow floating-point conditionals to be reversed.
+ 	(rs6000_generate_compare): When flag_fast_math, don't generate
+ 	cror operations for FP conditionals.
+ 
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
+ 	-mcall-i960.
+ 	(ASM_SPEC): Likewise.
+ 	(CC1_ENDIAN_LITTLE_SPEC): Likewise.
+ 	(CC1_SPEC): Likewise.
+ 	(LINK_TARGET_SPEC): Likewise.
+ 	(CPP_ENDIAN_SPEC): Likewise.
+ 	* Makefile.in (check-consistency): New target.
+ 
+ 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): In C99 mode, give the more specific
+ 	"return type defaults" warning for functions with return type
+ 	defaulting to int.
+ 	* c-lang.c (c_init): In C99 mode, enable warnings for implicit
+ 	function declarations by default rather than only when pedantic.
+ 
+ Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regclass.c (init_reg_sets_1): Optimize calculation of move_cost
+ 	arrays.
+ 
+ 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* extend.texi (Deprecated): Deprecate new initializer lists.
+ 
+ 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* mkdeps.c (deps_add_default_target): Robustify. Add
+ 	basename component only.
+ 	* cpp.texi (-M): Describe how default target is generated.
+ 	* invoke.texi (-M): Likewise.
+ 
+ 2001-02-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* toplev.c (push_float_handler): Remove.
+ 	(pop_float_handler): Remove.
+ 	* toplev.h: Remove prototypes for the above functions.
+ 
+ 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-common.c (constant_fits_type_p): New function.
+ 	(convert_and_check): Use it.
+ 
+ 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (GXX_ABI_FLAG): Don't define.
+ 	* configure.in (--enable-new-gxx-abi): Remove option.
+ 	* config.in: Regenerated.
+ 	* configure: Likewise.
+ 
+ 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
+ 	basic block.
+ 	(optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
+ 	regular basic block, and arrange for all edges into it to switch
+ 	to normal mode.
+ 
+ 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* Makefile.in (distclean): Do not remove .gdbinit.
+ 
+ 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (gcc.o): Fix typos.
+ 	(protize.o): Likewise.
+ 	(unprotoize.o): Likewise.
+ 
+ 2001-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.c (build1): Check for null operand in last change.
+ 
+ 2001-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (split_tree): Don't assume a constant isn't splittable.
+ 	(fold): Don't assume a constant isn't foldable.
+ 	* tree.c (build): Set TREE_CONSTANT for an expression with no
+ 	side-effects and constant operands.
+ 	(build1): Likewise.
+ 
+ 2001-02-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* jump.c (squeeze_notes): Revert 2000-05-12 change.
+ 
+ 2001-02-10  Anthony Green  <green@redhat.com>
+ 
+ 	* cpp.texi (Standard Predefined): Add documentation for
+ 	__OPTIMIZE_SIZE__.
+ 
+ 	* c-common.c (combine_strings): Improve warning message.
+ 
+ 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
+ 	--oformat.
+ 	* config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
+ 
+ Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
+ 	CYGWIN_CROSS_DIR.
+ 
+ 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
+ 	fp_mode attribute.
+ 
+ 2001-02-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md: Change output contraint on post inc
+ 	load/store multiple patterns to be a read/write contraint.
+ 
+ 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc.c (cpp_options): Delete .d files on error.  Don't delete
+ 	.o files when using the -M options.
+ 
+ 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
+ 	handle DImode constants.  Use one TOC entry for SImode and smaller
+ 	constants, aligned properly.
+ 
+ 2001-02-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
+ 	about the SP adjustment for saving the static chain pointer.
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
+ 	offset when setting a temporary CFA register.
+ 
+ 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
+ 	powerpc-*-chorusos* .
+ 	* config/rs6000/chorus.h : New file.
+ 	* config/i386/chorus.h : New file.
+ 	* config/sparc/chorus.h : New file.
+ 	* config/sparc/t-chorus-elf : New file.
+ 
+ 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
+ 	* config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
+ 	* config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
+ 	(__WCHAR_TYPE__): Correct macro name.
+ 
+ 2001-02-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_frame_pointer_required): New.
+ 	(ix86_setup_frame_addresses): New.
+ 	(struct machine_function): Add accesses_prev_frame.
+ 	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
+ 	ix86_frame_pointer_required.
+ 	(SUBTARGET_FRAME_POINTER_REQUIRED): New.
+ 	(SETUP_FRAME_ADDRESSES): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
+ 	from FRAME_POINTER_REQUIRED.
+ 	* config/i386/svr3gas.h: Likewise.
+ 	* config/i386/sysv3.h: Likewise.
+ 	* config/i386/v3gas.h: Likewise.
+ 
+ 2001-02-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (function_arg_record_value_3): Fix
+ 	calculation of the number of integer registers required.
+ 	(function_arg_record_value): Likewise.
+ 
+ 2001-02-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	* diagnostic.c (internal_error): Say "confused" after 1 error, not
+ 	two.  Print file and line with "confused" message.
+ 
+ 	* dwarf2out.c (dwarf2out_line): Include filename in -dA output.
+ 
+ Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
+ 
+ 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* final.c (cleanup_subreg_operands): The address of a MEM can
+ 	contain SUBREGs.
+ 
+ 	* config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
+ 	for asms, too.
+ 
+ 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi (Incompatibilities): Update documentation of
+ 	preprocessing numbers.
+ 
+ 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (finish_enum): Revert part of 2000-01-05 change.
+ 
+ 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
+ 
+ 	* defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
+ 	* gcc.c (struct compiler): Add cpp_spec field.
+ 	(input_file_compiler): New variable.
+ 	(do_spec_1): Allow a particular compiler to handle `%C'
+ 	specially.
+ 	(main): Store the current compiler in input_file_compiler.
+ 	* tm.texi (CPLUSPLUS_CPP_SPEC): Document.
+ 
+ 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* cpphash.h (struct spec_nodes): Add n_true and n_false.
+ 	* cppinit.c (cpp_create_reader): Initialize them.
+ 	(append_include_chain): cxx_aware arg might be unused.
+ 	* cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
+ 	keywords and give them their phase 7 meaning.  Pedwarn about
+ 	this unless '__bool_true_false_are_defined' is defined.
+ 
+ 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Emit mode_set before the
+ 	JUMP_INSN of an abnormal edge.
+ 
+ 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
+ 	a scheduling barrier at the end.
+ 
+ 	* tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
+ 
+ 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (reload_outsf): Removed.
+ 	(movsf_ie): Introduce constraints for FPUL loads and stores.
+ 	(reload_insf): Broaden the output constraint.
+ 
+ 	* config/elfos.h (INT_ASM_OP): Don't define it if it's already
+ 	defined.
+ 	* config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
+ 	ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
+ 
+ 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* final.c: Revert my previous changes.
+ 	* output.h: Make profile_label_no extern.
+ 	* config/rs6000/rs6000.c (output_profile_hook): Use standard functions
+ 	for generating label.
+ 
+ 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* config/i386/djgpp.h: Add comments about standard paths.
+ 	(MD_EXEC_PREFIX): Undefine before defining.
+ 	(MD_STARTFILE_PREFIX): New.
+ 
+ 2001-01-30  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	fixinc/fixincl.c(process):  Emit error message only if appropriate :)
+ 	(load_file): do not rely on load_file_data() to close file pointer
+ 	fixinc/fixlib.c(load_file_data): do not close passed in file pointer
+ 	fixinc/inclhack.def(irix_limits_const): add test_text
+ 
+ 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (parse_defined): Improve diagnostics for invalid
+ 	syntax.
+ 
+ 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
+ 
+ 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
+ 	* config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
+ 	* config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
+ 	(rs6000_output_symbol_ref): New function.
+ 	(output_toc): Use VTABLE_NAME_P.
+ 
+ Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* print-tree.c (print_node, case PARM_DECL):
+ 	Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
+ 
+ 	* stor-layout.c (reference_types_internal): New variable.
+ 	(internal_reference_types): New function.
+ 	(layout_type, case REFERENCE_TYPE): Make Pmode if internal.
+ 	* tree.h (internal_reference_types): New declaration.
+ 
+ 	* cse.c (find_best_addr): Fix typo in computing cost.
+ 
+ Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
+ 	and this is the sum of a pointer and a constant, we know the result
+ 	did not overflow.
+ 	(num_sign_bit_copies, case PLUS): Likewise.
+ 	* explow.c (convert_memory_address): Remove opposite SUBREG.
+ 	* function.c (instantiate_new_reg): New function (from common code).
+ 	(instantiate_virtual_regs_1): Call it.
+ 	For PLUS, handle if (plus (subreg (virt-reg) (const_int))
+ 	if pointers sign- or zero-extend.
+ 	* simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
+ 	If pointers extend unsigned, use inside of SUBREG.
+ 	(simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
+ 
+ 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
+ 	subdir of gcc_gxx_include_dir.
+ 	(gcc_gxx_target_include_dir): Remove.
+ 
+ 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
+ 	(dwarf2out_frame_debug_expr): Revise introductory comments to add
+ 	a high-level description.
+ 
+ 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
+ 
+ 	* final.c: Move the declaration of profile_label_no to ...
+ 	* output.h: ... here.
+ 	* function.c (expand_function_start): Call PROFILE_HOOK.
+ 	* config/rs6000/aix.h: Define PROFILE_HOOK.
+ 	* config/rs6000/rs6000-protos.h: output_profile_hook new.
+ 	* config/rs6000/rs6000.c (output_profile_hook): Define.
+ 	(output_prolog): Do nothing for ABI_AIX as it is taken care by
+ 	output_profile_hook.
+ 	tm.texi : Explain new macro PROFILE_HOOK.
+ 
+ 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* extend.texi (Extended Asm): Do not say that semicolon is always
+ 	a valid line-breaking character for GNU assemblers.  Use
+ 	newline-tab as the most commonly supported syntax.  Use
+ 	newline-tab rather than semicolon in multi-insn examples.
+ 
+ 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
+ 
+ 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
+ 	code for AIX, even without flag_pic.
+ 
+ 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (common_type): push and pop binding level around
+ 	calling common_type on function parameters.
+ 
+ Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
+ 
+ Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/mips/mips.c (override_options): Fix typo in last change.
+ 	(mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
+ 	(mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
+ 
+ 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* invoke.texi (-fdump-class-layout): Document.
+ 	(-fdump-translation-unit): Use `=' as filename separator.
+ 
+ 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (s-mlib): Don't build multilibs if
+ 	--disable-multilib.
+ 	(DRIVER_DEFINES): Adjust accordingly.
+ 	(gcc.o): Likewise.
+ 	(protoize.o): Likewise.
+ 	(unprotoize.o): Likewise.
+ 	* configure.in: Recognize --enable-multilib.
+ 
+ 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (DRIVER_DEFINES): Fix quoting.
+ 
+ 	* Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
+ 	* configure.in: Remove --enable-libstdcxx_v3 support.
+ 	* configure: Regenerated.
+ 
+ Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
+ 	Call abort instead of fatal.
+ 	(TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
+ 	* config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
+ 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
+ 	(TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
+ 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
+ 	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
+ 
+ 	* diagnostic.h (set_internal_error_function): Renamed.
+ 	* toplev.h (internal_error): Renamed from fatal.
+ 	(pfatal_with_name): Deleted.
+ 	(fatal_io_error): Now has printf-style arguments.
+ 	* diagnostic.c (pfatal_with_name): Deleted.
+ 	(fatal_io_error): Rework to have args in printf-style.
+ 	(set_internal_error_function): Renamed from set_fatal_function.
+ 	(internal_error): Renamed from fatal.
+ 	(error_recursion, fancy_abort): Call internal_error instead of fatal.
+ 	* dwarf2out.c (get_cfa_from_loc_descr): Likewise.
+ 	* emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
+ 	* expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
+ 	* flow.c (verify_flow_info): Likewise.
+ 	* config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
+ 	* config/mips/mips.c (save_restore_insns): Likewise.
+ 
+ 	* except.c (duplicate_eh_handlers): Call abort instead of fatal.
+ 	* flow.c (verify_flow_info): Likewise.
+ 	* config/arm/arm.c (thumb_load_double_from_address): Likewise.
+ 	* config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
+ 	(avr_normalize_condition): Likewise.
+ 	* config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
+ 	* config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
+ 	(limit_reload_class, double_reg_to_memory): Likewise.
+ 	(print_operand_address, emit_1600_code_shift): Likewise.
+ 	(gen_tst_reg, gen_compare_reg): Likewise.
+ 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
+ 	* config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
+ 	Deleted.
+ 	* config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
+ 
+ 	* c-parse.in (methoddef): Call fatal_error instead of fatal.
+ 	* objc/objc-act.c (build_ivar_chain): Likewise.
+ 	* dwarfout.c (dwarfout_init): Call fatal_io_error instead of
+ 	pfatal_with_name.
+ 	* graph.c (clean_graph_dump_file): Likewise.
+ 	* profile.c (init_branch_prob): Likewise.
+ 	* objc/objc-act.c (objc_init): Likewise.
+ 
+ 	* config/arm/arm.c (arm_override_options): Make errors non-fatal.
+ 	* config/avr/avr.c (avr_override_options): Likewise.
+ 	* config/c4x/c4x.c (c4x_expand_prologue): Likewise.
+ 	* config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
+ 	* config/h8300/h8300.c (h8300_init_once): Likewise.
+ 	* config/mips/mips.c (override_options): Likewise.
+ 	* config/i386/i386.c (override_options): Likewise, rework.
+ 	* config/m68k/m68k.c (override_options): Likewise.
+ 
+ 	* config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
+ 	instead of fatal.
+ 	* config/mips/mips.c (print_operand): Likewise.
+ 	* hash.c (hash_allocate): Don't check for failure returns from
+ 	obstack functions that can't fail.
+ 	(hash_table_init_n, hash_table_init): Likewise; also now return void.
+ 	* hash.h (hash_table_init_n, hash_table_init): Now return void.
+ 	* objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
+ 	(get_object_reference): Likewise.
+ 
+ 2001-02-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
+ 	StrongARM1110, 10TDMI, and 1020T.
+ 
+ 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
+ 
+ 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (movdf load split): Pass register number to
+ 	FP_OR_XD_REGISTER_P.
+ 
+ 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cppinit.c (BC): New macro.
+ 	(builtin_array): Add __GXX_WEAK__.
+ 	* cpplib.h (builtin_type): Add BT_WEAK.
+ 	* cppmacro.c (builtin_macro): Handle BT_WEAK.
+ 	* defaults.h (SUPPORTS_ONE_ONLY): Define.
+ 	* varasm.c (SUPPORTS_ONE_ONLY): Do not define.
+ 
+ 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
+ 
+ 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h: Rename _ALIGN POOL_ALIGN.
+ 	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
+ 
+ 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h: Rename ALIGN _ALIGN.
+ 	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
+ 
+ Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
+ 	compilation environment.
+ 	* config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
+ 	control over location of cygwin includes and libs.
+ 
+ 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
+ 
+ 	* c4x.h	(HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
+ 
+ 2001-02-02  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* md.texi (Standard Names): remove reference to spur.md.
+ 
+ 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
+ 
+ 	* c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
+ 	(HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
+ 	(INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	* c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
+ 	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
+ 
+ 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
+ 	c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
+ 	number before reload.
+ 	(c4x_adjust_cost): Return zero before reload.
+ 	* c4x.md (load_immed_address+1, load_immed_address+2): Do not
+ 	split before reload.
+ 
+ 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (c4x_hard_regno_rename_ok): New.
+ 	* c4x-protos.h (c4x_hard_regno_rename_ok): New.
+ 	* c4x.h (HARD_REGNO_RENAME_OK): Define.
+ 
+ Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.h: Add missing "extern" in all declarations.
+ 
+ 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
+ 
+ 	* Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
+ 	as for gcc_gxx_include_dir.
+ 
+ 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi, invoke.texi: Update -Wtraditional documentation.
+ 
+ 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
+ 	label before alignment to be used as the braf base address.
+ 	* config/sh/sh.md (length): Use longer lengths for SH1 PIC far
+ 	branches.
+ 	(casesi_jump_2): Require at least TARGET_SH2.
+ 
+ 	* config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
+ 	truncation to 32-bit doubles on -m3e and -m4-single-only.
+ 
+ 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
+ 	the default when building a shared object.
+ 	(init_spec): Use it.
+ 	* testsuite/lib/g++.exp: Include the directory where libgcc
+ 	is located to the LD_LIBRARY_PATH list.
+ 	* invoke.texi (-shared-libgcc): Document the cases in which
+ 	GCC defaults to using the shared libgcc.
+ 
+ 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
+ 	unsigned is wide enough.
+ 	(BITS_PER_SI): New.
+ 	* config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
+ 	(si_to_float): Likewise.
+ 	(float_to_si, float_to_usi): Use BITS_PER_SI.
+ 
+ 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* dwarf2out.c: Added explanation of abbreviations.
+ 	(def_cfa_1): Added comments listing DWARF2 instructions.
+ 	(cfa_temp_reg): Removed in favor of cfa_temp.
+ 	(cfa_temp_value): Removed in favor of cfa_temp.
+ 	(cfa_temp): New global variable.
+ 	(dwarf2out_frame_debug_expr): Added extensive introductory
+ 	comments explaining the function's transformations.  Revised to
+ 	use cfa_temp.  Added some rtx checking.  Generalize IOR case.
+ 	(dwarf2out_frame_debug): Revised to use cfa_temp.
+ 	(output_aranges): Cast as "unsigned" to avoid warning.
+ 	* rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
+ 	explain which instructions must be marked.
+ 
+ 2001-02-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
+ 	new instruction.
+ 
+ 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/crt1.asm (main_k): Modified so that start calls
+ 	___setup_argv_and_call_main.
+ 
+ 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
+ 	* cpplex.c (_cpp_lex_token): New token picks up the saved flags,
+ 	and AVOID_LPASTE is cleared on meeting an unescaped newline.
+ 	* cppmacro.c (builtin_macro): Set builtin flags here.
+ 	(paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
+ 	(replace_args): Clarify intent.
+ 	(cpp_get_token): Macro expansion tokens get the saved flags.
+ 	Update.
+ 	* cppmain.c (scan_buffer): Remove now-redundant print.printed
+ 	check.
+ 
+ 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
+ 	2001-Jan-29.
+ 
+ Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
+ 	returns Pmode pseudo, but we need ptr_mode.
+ 	* explow.c (allocate_dynamic_stack_space): Use plus_constant.
+ 	Remove bogus conversions; use HOST_WIDE_INT for size.
+ 	Don't use TARGET if wrong mode.
+ 
+ 	* config/i386/i386.c (ix86_compute_frame_size): Allow
+ 	stack_alignment_needed to be non-default even if size is zero.
+ 
+ 2001-01-31  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* pa.c (hppa_init_pic_save): New function.
+ 	* pa.h (hppa_init_pic_save): Declare.
+ 	* pa.md (call, call_value, sibcall, sibcall_value): Use
+ 	the above instead of duplicated code.
+ 
+ 	* pa.c (hppa_encode_label): Correct size of alloca buffer
+ 	so we don't overrun it.  Correct leading `*' case.
+ 	* pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
+ 	need to handle `*@'.
+ 	(FUNCTION_NAME_P): Likewise.
+ 
+ 2001-01-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (alpha-osf5): Use float-i128.h.
+ 
+ 	* config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
+ 	* config/float-i32.h: Likewise.
+ 	* config/float-i64.h: Likewise.
+ 	* config/float-sh.h: Likewise.
+ 	* config/float-sparc.h: Likewise.
+ 
+ 2001-01-31  DJ Delorie  <dj@redhat.com>
+ 
+ 	* expmed.c (extract_bit_field): allow non-integral modes if we
+ 	want to extract a whole register from itself.
+ 
+ 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (set_init_index): If first is equal to last, assume as
+ 	if it was not a range at all.
+ 
+ 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/fp-bit.c: Include tm.h.
+ 	(float_to_si): Don't assume SImode is 32-bits wide.
+ 	(float_to_usi): Likewise.
+ 
+ 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (structsp): Pedwarn when "enum foo" refers to an
+ 	incomplete type.
+ 	(typename): Call pending_xref_error after parsing typed_typespecs.
+ 	* c-decl.c (lookup_tag): Give error immediately rather than
+ 	leaving it pending if the tag of the wrong type is in the same
+ 	binding level.
+ 	(xref_tag): Don't pedwarn for forward declarations of enum types
+ 	here.
+ 	* gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
+ 	and enum tags.
+ 
+ 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
+ 
+ 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (T_ELIF): Move to STDC89, not that it matters.
+ 	(_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
+ 
+ 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): New saved_flags.
+ 	* cppmacro.c (cpp_get_token): Use saved_flags to remember
+ 	to avoid a paste after a pasted token.
+ 
+ 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
+ 	* libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
+ 	Wtype_MIN instead of LONG_MIN.
+ 
+ 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
+ 	README file.
+ 	* fixinc/fixincl.x: Regenerated.
+ 	* fixinc/inclhack.def (irix_limits_const): New definition to
+ 	convert "const" to "__const" in limits.h.
+ 
+ 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* fixinc/genfixes (AG): Fix "autogen4" thinko.
+ 
+ 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
+ 	when register dies in the insn.
+ 
+ 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* diagnostic.c (fatal): Fix word wrap.
+ 
+ 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (try_combine): Fix SUBREG setting for
+ 	HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
+ 
+ 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
+ 	comparison codes.
+ 
+ 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
+ 	is not NULL.
+ 	* toplev.c (decode_W_option): Update warn_larger_than
+ 	unconditionally for each processed switch.
+ 
+ 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
+ 	to NULL_RTX.
+ 	(hppa_expand_prologue): Delete code to save pic offset table register
+ 	in the function prologue.
+ 	* pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
+ 	* pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
+ 	table register at the beginning of the function after the prologue.
+ 
+ 2001-01-29  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* tm.texi (PUSH_ROUNDING): Remove duplicate lines.
+ 
+ 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 	    Jeff Law <law@redhat.com>
+ 
+ 	* pa.md (return): Revise comment for trivial return.
+ 	(return_internal): Non-trivial return pattern for non-PIC code.
+ 	(return_internal_pic): Non-trivial return pattern for PIC code.
+ 	It uses the PIC register to ensure it is restored after
+ 	function calls.
+ 	(epilogue): Generate appropriate return for PIC and non-PIC code.
+ 
+ Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Fix -mno-cygwin search path for link.
+ 
+ 2001-01-29  DJ Delorie  <dj@redhat.com>
+ 
+ 	* combine.c (if_then_else_cond): Pass the correct mode to
+ 	operand_subword() for constants.
+ 
+ Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
+ 
+ 	* config/i386/cygwin.h: Add w32api to include search.  Search different
+ 	directories in a cross-build environment.
+ 
+ 2001-11-29  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* tree.h (TYPE_STUB_DECL): Add documentation.
+ 
+ 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
+ 
+ 	* sdbout.c (sdbout_one_type): Skip types with indeterminate size.
+ 	(sdbout_field_types): Likwise.  Fix use of host_integerp.
+ 
+ 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
+ 
+ 	* mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
+ 	cygwin.h.
+ 
+ 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
+ 	to use flag_gnu_linker.
+ 
+ 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (T_BAD_DIRECTIVE): Remove.
+ 	(_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
+ 
+ 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* tree.c, tree.h (build_parse_node): Remove; was identical to
+ 	build_nt.
+ 	* c-lang.c (start_cdtor), objc/objc-act.c
+ 	(build_module_descriptor): Use build_nt instead of
+ 	build_parse_node.
+ 
+ 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
+ 	(testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
+ 	not have any upper bits set.
+ 
+ 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* COPYING.LIB:  Update to LGPL 2.1 from the FSF.
+ 
+ 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* stmt.c (estimate_case_costs): Use integer_minus_one_node.
+ 
+ 	* tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
+ 
+ 	* tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
+ 	(integer_minus_one_node): Define.
+ 
+ 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (bootstrap2-lean): Fix typo.
+ 
+ 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
+ 	: Don't set fe_value.
+ 	* cpplib.h (AVOID_LPASTE): New flag.
+ 	(struct cpp_hashnode): Remove fe_value.
+ 	* cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
+ 	* cppmacro.c (builtin_macro): Don't set flags here.
+ 	(replace_args): Set AVOID_LPASTE flag on first token of an
+ 	argument, and the token following it.
+ 	(cpp_get_token): Set AVOID_LPASTE flag on first token of a
+ 	macro expansion, and on the token following it.  Do it for
+ 	builtins too.
+ 	* cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
+ 
+ 2001-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/t-ieee: Remove multilibbing.
+ 	(TARGET_LIBGCC2_CFLAGS): Add -mieee.
+ 
+ 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
+ 
+ 	* Makefile.in: Remove all dependencies on defaults.h.
+ 	* builtins.c: Don't include defaults.h.
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* i386.c: Likewise.
+ 	* frame-ia64.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* crtstuff.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* except.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* final.c: Likewise.
+ 	* frame-dwarf2.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tradcif.y: Likewise.
+ 	* tree.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_fputs): Use size_one_node when
+ 	transforming into fwrite.
+ 
+ 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi (Attribute Syntax): New section.
+ 
+ 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+ 
+ 	* fixproto: Correctly install synthesized unistd.h and stdlib.h when
+ 	they didn't need fixing.
+ 
+ 2001-01-27  Janis Johnson <janis@us.ibm.com>
+ 
+ 	* config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
+ 	if appropriate.
+ 	* config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
+ 	to remove macro definitions that are duplicated from elfos.h.
+ 
+ 2001-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sco5gas.h: Move ...
+ 	* config/usegas.h: ... here.
+ 	* config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
+ 
+ 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (struct constructor_stack): Add range_stack member.
+ 	(really_start_incremental_init): Clear it.
+ 	(push_init_level): Save constructor_range_stack and clear it if
+ 	pushing explicit braces.
+ 	(pop_init_level): abort if constructor_range_stack is nonzero at
+ 	explicit closing brace.  Restore saved constructor_range_stack if
+ 	not implicit.
+ 
+ 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
+ 	into register was forced into memory.
+ 
+ 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in: Remove uses of + before $(MAKE).
+ 
+ 2001-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (cost_table): Remove.
+ 	(COST_TABLE, cost_table_initialized): New.
+ 	(estimate_case_costs): Use the later instead of the former.
+ 	(balance_case_nodes): Likewise.
+ 
+ 2001-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (objects_must_conflict_p): Read-only slots may not
+ 	conflict despite having the same type.
+ 
+ 2001-01-27  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (loop_giv_reduce_benefit): Copy mode size into
+ 	int variable.
+ 	(check_ext_dependant_givs): Initialize u_start_val and
+ 	u_end_val.
+ 	(load_mems): Make last_max_reg unsigned.
+ 	(try_swap_copy_prop): Use INSN_P and initialize set.
+ 
+ Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* README.AVR : Removed.
+ 
+ Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa-64.h (text_section): Remove declaration.
+ 
+ 	* pa.md (return_internal): Remove mode on PIC register use.
+ 
+ 2001-01-25  lars brinkhoff  <lars@nocrew.org>
+ 
+ 	* tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
+ 	ASM_CLOSE_PAREN): fix typos.
+ 
+ 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* acconfig.h: Define `const' to the empty string if neither
+ 	__STDC__ nor __cplusplus is defined.
+ 	* config.in: Regenerated.
+ 
+ 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
+ 	* collect2.c (main): Delete importf.  Add ".obj" file extension.
+ 	(GCC_CHECK_HDR): Handle AIX V5 new magic number.
+ 	(aix_std_libs): Add additional AIX libraries to skip.
+ 	* config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
+ 	* config/rs6000/aix51.h: New file.
+ 
+ 2001-01-25  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
+ 	(loop_insn_emit_before): No longer static.
+ 	(move_movables): Replace emit_insn_after with loop_insn_emit_after.
+ 	(loop_givs_rescan, load_mems): Likewise.
+ 	(check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
+ 	(maybe_eliminate_biv_1):
+ 	(move_movables): Replace emit_call_insn_before with
+ 	loop_call_insn_hoist.
+ 	* loop.h (loop_insn_emit_before): Add.
+ 	* unroll.c (copy_loop_body): Replace emit_insn_before with
+ 	loop_insn_emit_before.
+ 
+ 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* diagnostic.c (fatal): Request preprocessed source.
+ 
+ Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): If different_binding_level is nonzero,
+ 	olddecl has argument types and newdecl has none, use the argument
+ 	types from olddecl.
+ 
+ 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* dwarf2out.c (prefix_of): New function.  Determine longest common
+ 	prefix of the two arguments.  The units are whole path components.
+ 	(output_file_names): When adding a new directory find the one entry
+ 	with the longest common prefix already in the list.  Artificially
+ 	generate entry if there is none for this prefix.
+ 	Fix test to check whether the zeroth directory entry is used.
+ 
+ Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
+ 	Changed all callers.  Take it into account when deciding if a
+ 	previously loaded value matches.
+ 
+ 2001-01-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload.c (find_reloads_subreg_address): Fail the substitution
+ 	if the resulting address is insufficiently aligned.
+ 
+ 2001-01-24  DJ Delorie  <dj@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
+ 	check the original operand's mode also.
+ 	* simplify-rtx.c (simplify_ternary_operation): Ditto.
+ 
+ 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-parse.in (cast_expr): Move compound literals from here ...
+ 	(primary): ... to here.  Use standard terminology "compound
+ 	literal" instead of "constructor expression".
+ 
+ 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.1, cpp.1: Regenerate.
+ 
+ 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Memory slot for
+ 	pass-by-reference argument should have the mode of the argument,
+ 	not of the pointer to it.
+ 
+ 2001-01-24  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.texi (G++ and GCC): Mention gcj manual.
+ 	(Standards): Link to section of manual mentioning gcj/Java
+ 	compatibility.
+ 
+ 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cppfiles.c (_cpp_read_file): Add to dependencies if requested.
+ 	* cppinit.c (cpp_start_read): Remove deps_add_dep call.
+ 	* tradcpp.c (main): Add -imacros or -include'd dependencies
+ 	for -M*.
+ 	* cpp.texi (-M, -MM): Document -M -include behavior.
+ 
+ 2001-01-24  Roger Collins <roger@ProProject.com>
+ 
+ 	* config/i386/xm-i386.h: Make __i386__ a boolean macro.
+ 
+ 2001-01-24  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
+ 	whether registers are 32 bits or 64 bits in size.
+ 
+ 2001-01-24  Ben Elliston  <bje@redhat.com>
+ 
+ 	* config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
+ 
+ 2001-01-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (builtin_longjmp_internal): New.
+ 	(builtin_longjmp): Use it instead of emit_indirect_jump.
+ 
+ 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* bb-reorder.c (make_reorder_chain_1): Handle case where
+ 	jump edge goes to the same block as the fallthru edge.
+ 
+ 2001-01-23  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
+ 	* frame.h (__ia64_personality_v1): Add prototype.
+ 	* libgcc2.c (ia64_throw_helper): Change personality declaration to
+ 	prototype form.  Add void * cast to first argument to personality
+ 	call.
+ 	* real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
+ 	(asctoe113): Likewise.
+ 	* config/ia64/frame-ia64.c: Include eh-common.h.
+ 	* config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
+ 	prototypes.
+ 	* config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
+ 	to dump parameter.
+ 	(itanium_split_issue): Add prototype.
+ 	(gen_nop_type): Ifdef out.
+ 	(find_best_packet): Initialize best_packet.
+ 	(ia64_encode_section_info): New local string.  Use for ggc_alloc_string
+ 	result.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
+ 	* config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
+ 	(flushrs): Add explicit stop bit at end.
+ 	* config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
+ 	trailing \ to >.
+ 
+ 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
+ 	of EH symbols.
+ 	* libgcc2.c (__terminate_func): Make variable static.
+ 	(__terminate_set_func): New function to set __terminate_func.
+ 	* libgcc2.h (__terminate_func_ptr): New typedef.
+ 	(__terminate_set_func): New function.
+ 
+ 2001-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (init_propagate_block_info): Don't consider unchanging
+ 	memories for dead frame store elimination.
+ 
+ 2001-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (UNIQUE_SECTION): Move default implementation ...
+ 	* defaults.h: ... here.
+ 
+ 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
+ 
+ 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (lex_charconst): Fix typo: s/p/str.
+ 
+ 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h (rs6000_return_addr): Move prototype from here...
+ 	* rs6000-protos.h (rs6000_return_addr): ...to here.
+ 	(rs6000_init_expanders): Delete prototype.
+ 
+ 2001-01-23  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* invoke.texi: Replace , with \, inside @gccoptlist macros.
+ 	(Spec Files): Document %B and %j and %.	and %v3 and %M and
+ 	%{S*&T} spec switches.
+ 
+ 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
+ 
+ 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
+ 	    Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c: Merge handlers of PEDWARN and WARNING.
+ 	Have -Werror make pedantic warnings errors, like the
+ 	rest of GCC.
+ 
+ 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
+ 
+ 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* integrate.h (struct inline_remap): Add compare_src, compare_mode.
+ 	* integrate.c (expand_inline_function): Initialize them.
+ 	(subst_constants): If changing COMPARE so that both its arguments
+ 	will be VOIDmode and the comparison mode will be lost, note
+ 	compare_mode.  Use the recorded compare_mode to optimize
+ 	IF_THEN_ELSE.
+ 
+ 2001-01-23  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (new_die): Use xcalloc.
+ 	(output_die): Abort rather than emit a local reference to offset 0.
+ 
+ 2001-01-17  Andrew Haley  <aph@redhat.com>
+ 
+ 	* libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
+ 	of a saved register; return NULL instead.
+ 	(copy_reg): Take a pointer to a source register rather than a
+ 	frame_state.
+ 	(next_stack_level): Remember the address in the stack frame of all
+ 	saved registers.
+ 	Use the saved register pointer array as the source of the CFA.
+ 	(throw_helper): Rewrite.  Unwind once rather than twice and keep
+ 	track of saved registers as we go.
+ 
+ 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x-protos.h (c4x_legitimize_reload_address): Remove.
+ 	* c4x.c (c4x_legitimize_reload_address): Remove.
+ 	* c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
+ 	reload address for ldp(k) insn.
+ 
+ Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* pa.md (return_internal): Add a USE of the PIC register to ensure
+ 	it is restored after each call.
+ 	(return expander): Corresponding changes.
+ 
+ 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rs6000.h (INIT_EXPANDERS): Delete.
+ 	(RETURN_ADDR_RTX): Call rs6000_return_addr().
+ 	* rs6000.c (rs6000_override_options): Call *_machine_status from
+ 	here...
+ 	(rs6000_init_expanders): ...instead of here. Delete.
+ 	(rs6000_mark_machine_status): New function.
+ 	(rs6000_init_machine_status): Use xcalloc.
+ 	(rs6000_return_addr): Generate RTX for the return address.
+ 	(rs6000_ra_ever_killed): New, check if LR was ever destroyed.
+ 	(rs6000_stack_info): Use it.
+ 
+ 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
+ 
+ 	* gthr-win32.h: Include errno.h to get a declaration for
+ 	EINVAL and _mingw.h if the target is mingw32.
+ 
+ 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
+ 
+ 	* cpp.texi: Correct typos.
+ 
+ Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (probe_stack_range): Ensure value passed to
+ 	stack_check_libfunc is ptr_mode, not Pmode.
+ 
+ Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
+ 	case, don't use operand_subword to calculate a SUBREG that is
+ 	wider than a word.
+ 
+ 	* rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
+ 
+ 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
+ 	(c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
+ 	valid.  If not replace it by equivalent insns.
+ 
+ 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
+ 	contains SYMBOL_REF, LABEL_REF and CONST_INT.
+ 	(c4x_U_constraint, symbolic_address_operand): Likewise.
+ 	(c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
+ 	memory.
+ 	(c4x_r11_set_p, c4x_check_laj_p): New functions.
+ 	* c4x-protos.h (c4x_check_laj_p): Add prototype.
+ 	* c4x.md (in_annul_slot_3): Do not allow auto-increment in last
+ 	anulling slot because of silicon bug.
+ 	(laj, lajv): Call c4x_check_laj_p to check for silicon bug.
+ 
+ 2001-01-22  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* cppexp.c (parse_charconst):  Change `mask' type to agree
+ 	with parse_escape.
+ 
+ 2001-01-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_asm_file_end): Disable putting
+ 	pic_label_name in a linkonce section.
+ 
+ 2001-01-17  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
+ 	found in libintl.
+ 	* configure: Regenerate.
+ 
+ Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
+ 	uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
+ 
+ Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
+ 	If REVERSE nonzero then condition code in X must be reversed.
+ 	(encode_section_info): Optimize if/else.
+ 	(avr_function_value): Fix formatting.
+ 
+ 	* config/avr/avr.md (branch): Call to ret_cond_branch changed.
+ 	(difficult_branch): Likewise.
+ 	(rvbranch): Likewise.
+ 	(difficult_rvbranch): Likewise.
+ 
+ 	* config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
+ 
+ 	* config/avr/libgcc.S: Fix comment.
+ 
+ 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+ 
+ 	* sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
+ 
+ 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+ 
+ 	* cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
+ 
+ 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
+ 
+ 	* aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
+ 	* configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
+ 	* configure, config.in: Regenerate.
+ 	* Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
+ 	(LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
+ 	(strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
+ 	(doprint.o): New rule.
+ 
+ 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (digest_init): Handle boolean types as scalars.
+ 
+ Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stmt.c (expand_return): Don't return anything if size is zero.
+ 	Delete redundant assignment to BYTES.
+ 	* expr.c (move_block_from_reg): Do nothing if NREGS is zero.
+ 
+ 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 
+ 	* config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
+ 	the same as the default library function names.
+ 	* config/avr/avr.md: Document special characters after '%'.
+ 	(mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
+ 	knowing which of the call-used registers are really clobbered.
+ 	(divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
+ 	New.  Both quotient and remainder from one libgcc.S call.
+ 	* config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
+ 	clobber as few registers as possible.
+ 	* config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
+ 
+ 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (funlike_invocation_p): Don't move back up to the
+ 	context of the top of the stack.
+ 
+ 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
+ 	(fixup_var_refs_insns): ...here.
+ 
+ 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* function.c (fixup_var_refs_insns): Break up into
+ 	fixup_var_refs_insn [body of loop], fixup_var_refs_insns
+ 	[loop over entire insn list], and fixup_var_refs_insns_with_hash
+ 	[loop over hash table entries].
+ 	(fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
+ 	fixup_var_refs_insns_with_hash, to match above changes.
+ 
+ 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
+ 	(libgcc.a): Likewise.
+ 	(stmp-multilib): Likewise.
+ 	(STAGE2_FLAGS_TO_PASS): Likewise.
+ 
+ 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
+ 	temporary if no_new_pseudos.
+ 
+ 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinternals.texi: Update.
+ 
+ 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_init_builtins): Re-enable builtins.
+ 
+ Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
+ 	* flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
+ 	element to be null, and always expect an EXPR_LIST.
+ 	* rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
+ 	* sched-deps.c (sched_analyze_1): Likewise.
+ 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
+ 
+ 	* regclass.c (max_set_parallel): New variable.
+ 	(reg_scan): Take it into account in computation of max_parallel.
+ 	(reg_scan_mark_refs, case SET): Compute it.
+ 
+ 	* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
+ 	args are REG.
+ 	* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
+ 	* function.c (assign_parms): Use INTVAL for a CONST_INT.
+ 
+ 2001-01-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
+ 	for the abstract instance of an inline function.
+ 
+ Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 			  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload1.c (move2add_note_store): Treat all registers directly or
+ 	indirectly derived from a base register as members of the same set
+ 	of values.
+ 	(reload_cse_move2add): Adjust accordingly.  Take mode and offset
+ 	of base register into account.
+ 
+ Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* alias.c (find_base_value): Recognize TRUNCATE.
+ 	(record_set): In PLUS case, invalidate if other summand is also a
+ 	base value.
+ 
+ Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* flow.c (mark_set_1, case PARALLEL): New case; rework to allow
+ 	entry to be EXPR_LIST.
+ 	* rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
+ 	be an EXPR_LIST (but not null, which other code doesn't allow).
+ 	(note_stores): Properly handle PARALLEL in SET.
+ 	Recursively call for top-level PARALLEL.
+ 	* sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
+ 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
+ 
+ 	* config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
+ 
+ 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
+ 	not pfile->skipping (== 0).
+ 
+ 2001-01-17  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c: Add prototypes for {init|free}_
+ 	machine_status.
+ 
+ 2001-01-17  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* invoke.texi (IA-64 options): Improve.
+ 
+ 2001-01-17  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* invoke.texi (Optimize Options): Use `{}' to around @samp
+ 	argument.
+ 
+ 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* invoke.texi (-fno-guess-branch-probability): New option.
+ 
+ Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (try_combine): Don't set i3_subst_into_i2 for
+ 	case of making new double-word constant.
+ 	Revert last change: instead just test i3_subst_into_i2.
+ 
+ 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
+ 	Use q constraints instead of r.
+ 
+ Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
+ 
+ 	* config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
+ 	(machine_function): Define.
+ 	(PIC_OFFSET_TABLE_SAVE_RTX) : Define.
+ 	* config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
+ 	pa_free_machine_status): New functions.
+ 	(override_options): Set {init,mark,free}_machine_status to above.
+ 	(hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
+ 	PIC_OFFSET_TABLE_REGNUM_SAVED.
+ 	* config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
+ 	PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
+ 	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
+ 	references to PIC_OFFSET_TABLE_REGNUM_SAVED.
+ 	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
+ 
+ 2001-01-15  DJ Delorie  <dj@redhat.com>
+ 
+ 	* Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
+ 	(cpp.1): Ditto.
+ 	(gcc.1): Ditto.
+ 
+ Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* flow.c (propagate_one_insn): Make trying to delete a prologue
+ 	or epilogue insn an ICE, not a warning.  Allow doing this if
+ 	the current function returns with stack pointer depressed.
+ 
+ 	* combine.c (try_combine): If i3_subst_into_i2, properly check for
+ 	I3 having more than one SET.
+ 
+ 2001-01-16  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* invoke.texi: Document IA-64 options.
+ 
+ 	* config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
+ 	(fixup_errata): Delete TARGET_A_STEP use.
+ 	* config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
+ 	(TARGET_SWITCHES): Delete -ma-step option.
+ 	* config/ia64/ia64.md (all FP patterns): Delete %B0.
+ 	(movqicc_astep, movqi_internal_astep, movhicc_astep,
+ 	movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
+ 	movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
+ 	movdfcc_astep, movdf_internal_astep, movtfcc_astep,
+ 	movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
+ 	Delete.
+ 	(movqi_internal, movhi_internal, movsi_internal, movdi_internal,
+ 	movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
+ 	cmovsi_internal): Delete ! TARGET_A_STEP check.
+ 
+ 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* gcc.texi (Bug Lists): Do not mention newsgroups nor the
+ 	possibility to report bugs via postal mail. Change a URL and
+ 	merge in a nearly duplicate statement...
+ 	(Bug Reporting): ...from here.
+ 	(Service): Refer to the Bug Reporting section instead of
+ 	duplicating an URL.
+ 	(Contributing): Remove trivial explanations concerning snapshots.
+ 
+ 2001-01-16  Alan Modra <alan@linuxcare.com.au>
+ 
+ 	* cppmain.c (general_init): Don't use ANSI prototype.
+ 
+ 2001-01-16  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
+ 
+ 2001-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h: Fix comment typo.
+ 	* config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
+ 	(ashr+compare patterns): Match CCGOCmode not CCNOmode.
+ 
+ 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* gcc.c:  Revert previous -fsyntax-only-related change; move
+ 	to cp/g++spec.c.
+ 
+ 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (fcmov_comparison_operator): Only initialize
+ 	inmode after checking GET_CODE (op).
+ 
+ 2001-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (struct propagate_block_info): Add mem_set_list_len.
+ 	(MAX_MEM_SET_LIST_LEN): New.
+ 	(propagate_one_insn): Update mem_set_list_len.
+ 	(invalidate_mems_from_autoinc): Likewise.
+ 	(invalidate_mems_from_set): Likewise.
+ 	(mark_used_regs): Likewise.
+ 	(init_propagate_block_info): Likewise.  Stop collecting memories
+ 	when we reach MAX_MEM_SET_LIST_LEN.
+ 	(mark_set_1): Likewise.
+ 
+ 2001-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (precondition_loop_p): Fail if no iteration
+ 	variable found.
+ 
+ 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* gcc.c:  When -fsyntax-only is given, do not complain about
+ 	unused libraries.
+ 
+ 2001-01-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (asm_output_function_prefix): Remove.
+ 	(ix86_asm_file_end): New.
+ 	(load_pic_register): Generate pic_label_name into a
+ 	statically allocated buffer.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
+ 	(ASM_FILE_END): New.
+ 	* config/i386/i386afe.h: New file.
+ 	* config.gcc (i?86-*-elf) [tm_file]: Use it.
+ 	(i?86-*-{freebsd,linux*,moss*}): Likewise.
+ 	* config/elfos.h (ASM_FILE_END): Undef before redefinition.
+ 	* config/i386/cygwin.h (ASM_FILE_END): Likewise.
+ 	* config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
+ 	* config/i386/sco5.h (ASM_FILE_END): Likewise.
+ 	* config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
+ 
+ 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (install-man): Remove explicit dependency on
+ 	$(srcdir)/gcc.1.
+ 
+ 	* configure.in, configure: Revert previous patch requiring perl
+ 	5.6.0.
+ 
+ 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* toplev.c (flag_guess_branch_prob): New.
+ 	(f_options): Add guess-branch-probability option.
+ 	(rest_of_decl_compilation): Only estimate branch probability if
+ 	flag set.
+ 	(main): set flag_guess_branch_prob.
+ 
+ 	* flags.h (flag_guess_branch_prob): New.
+ 
+ 2001-01-15  DJ Delorie  <dj@redhat.com>
+ 
+ 	* gcc.texi (Makefile): Add documentation for Makefile targets.
+ 
+ 2001-01-15  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (arm_finalize_pic): New arg "prologue".
+ 	(is_pic): Delete.
+ 	* config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
+ 	(is_pic): Delete declaration.
+ 	* config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
+ 	(OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
+ 	* config/arm/arm.md (builtin_setjmp_receiver): New.
+ 
+ 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (use_return_insn): Don't try to determine the function type
+ 	until after reload has completed.
+ 	(arm_output_epilogue): Don't adjust the sp value recovered from the
+ 	stack.
+ 	(emit_multi_reg_push): Don't record dwarf information for the pc.
+ 	* arm.md (eh_epilogue): The function type may have changed, so it
+ 	needs to be recalculated.
+ 	* arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
+ 	unwind tables on arm/netbsd.
+ 
+ 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (cbranchsi4): Correct calculation of branch ranges.
+ 	(negated_cbranchsi4): Likewise.
+ 
+ 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
+ 	(ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
+ 	pass -mapcs-* options to assembler.
+ 	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
+ 	(ASM_SPEC): Call subtarget_extra_asm_spec.
+ 
+ 2001-01-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
+ 	warnings.
+ 	(ix86_expand_builtin): Likewise.
+ 
+ 	* gencodes.c (output_predicate_decls): Make i size_t to avoid
+ 	warning about comparison between signed and unsigned.
+ 
+ 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
+ 
+ 2001-01-14  Ralf Baechle <ralf@gnu.org>
+ 
+ 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
+ 	SUBTARGET_CPP_SPEC appropriately.
+ 
+ 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (make_decl_rtl): Fix typo in last change.
+ 
+ 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
+ 	linker supports the init_priority C++ attribute.
+ 	* tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
+ 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
+ 	linker does not support init_priority C++ attribute.
+ 
+ Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
+ 
+ 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (finish_parse): Add comment about cpp_destroy.
+ 	* cp/lex.c (finish_parse): Similarly.
+ 	* cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
+ 	Return the number of errors encountered.
+ 	* cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
+ 	* cppmain.c (main): Don't call cpp_destroy.
+ 
+ 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Require at least perl 5.6.0 to regenerate
+ 	manpages.
+ 	* configure: Regenerate.
+ 
+ 2001-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (DT_veclen_ge): New.
+ 	(add_to_sequence) [MATCH_PARALLEL]: Generate one.
+ 	(maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
+ 	(nodes_identical_1): Handle DT_veclen_ge.
+ 	(write_cond, debug_decision_2): Likewise.
+ 
+ 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
+ 	with ...
+ 	(ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
+ 
+ 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (do_preprocessing): New function; most of the old
+ 	main.
+ 	(main): Call it to do most of the work.
+ 	(cb): Move from global scope to set_callbacks ().
+ 	(setup_callbacks): Get the callback pointer.
+ 	(general_init, printer_init): Clean up code and comments.
+ 
+ 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
+ 	compiling PIC.
+ 
+ 2001-01-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Update comments.
+ 
+ Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* ggc-page.c (alloc_annon): Call perror and correctly call exit.
+ 	(alloc_page, ggc_alloc): Add casts to remove warnings.
+ 
+ 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* combine.c (simplify_comparison): Don't change `code' when
+ 	can't reverse comparison.
+ 
+ 2001-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
+ 	update all call sites.  Return true for all non-label constants.
+ 
+ Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_compare): Add bypass_test and second_test
+ 	parameters.
+ 	(ix86_expand_branch): Update.
+ 	(ix86_expand_setcc): Update to handle multiple test conditions.
+ 	(expand_int_movcc): Likewise.
+ 	(expand_fp_movcc): Likewise.
+ 	* i386-protos.h (ix86_expand_compare): New.
+ 	* i386.md (andqi_?_slp, orqi_?_slp): New.
+ 	(conditional trap expander): Update call to ix86_expand_compare.
+ 
+ 2001-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/vax/vax.md: Use nonimmediate_operand instead of
+ 	general_operand in destinations.
+ 
+ 	* config/vax/vax.md (indirect_jump): Use register_operand.
+ 
+ 	* config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
+ 	* config/vax/vax.md (call_pop): Turn into an expander.
+ 	(call_value_pop): Likewise.
+ 	(call, call_value): New.
+ 
+ 2001-01-14  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.c (ix86_split_fp_branch): Remove unused
+ 	variables.
+ 	(ix86_fp_compare_mode): Add unused attribute.
+ 	(ix86_expand_fp_movcc): Remove unused variable.
+ 	(ix86_expand_builtin): Make fcode unsigned.
+ 
+ 	* expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
+ 	(expand_expr): Add cast to avoid signed warning.
+ 	(store_field): Likewise.
+ 	(store_constructor_field): Likewise.
+ 	(store_constructor): Likewise.
+ 	(store_expr): Likewise.
+ 	(clear_storage): Likewise.
+ 	(emit_group_store): Likewise.
+ 	(emit_group_load): Likewise.
+ 
+ 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c: Move format checking code to ...
+ 	* c-format.c: ... here.  New file.  Reorder some functions and
+ 	declarations.
+ 	(decl_handle_format_attribute, decl_handle_format_arg_attribute):
+ 	New functions.
+ 	* c-common.h (decl_handle_format_attribute,
+ 	decl_handle_format_arg_attribute): Declare.
+ 	* Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
+ 	(c-common.o): Adjust dependencies.
+ 	(c-format.o): New list of dependencies.
+ 
+ 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unroll.c (loop_iterations): If we cannot prove iteration variable
+ 	is set once in each iteration, punt.
+ 
+ Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md ("strlenhi"): Remove clobber of input address.
+ 	(*strlenhi): Remove clobber (which was buggy) of output address.
+ 
+ 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (generated-manpages): Add gcc.1
+ 	($(srcdir)/gcc.1): New target.
+ 	(maintainer-clean): Delete $(srcdir)/gcc.1.
+ 	* gcc.texi: Add macros @gccoptlist and @gol.
+ 	* invoke.texi: Include option summary in manpage.  Mark up option
+ 	summary with @gccoptlist and @gol.  Use @r in one place where
+ 	appropriate.
+ 	* texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
+ 	* gcc.1: Generate from invoke.texi.
+ 
+ 2001-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
+ 	(struct page_entry): Add group member.
+ 	(struct page_group): New.
+ 	(struct globals): Add page_groups member.
+ 	(alloc_anon): Only define for using mmap; remove valloc call.
+ 	(page_group_index): New.
+ 	(set_page_group_in_use): New.
+ 	(clear_page_group_in_use): New.
+ 	(alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
+ 	(free_page, release_pages): Likewise.
+ 	* configure.in (with-gc): Default to ggc-page always.
+ 
+ 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload1.c (replace_pseudos_in_call_usage): Use
+ 	reg_equiv_constant and reg_equiv_address, and don't try
+ 	regno_reg_rtx first.
+ 
+ 2001-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ggc-page.c (alloc_page): Round up allocation size to one page.
+ 	Set e->order on extra pages.
+ 
+ 2001-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (nodes_identical): Expand commentary.
+ 	(write_switch): Watch out for identical nodes.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (_cpp_fake_include): New function.
+ 	* cpphash.h (_cpp_fake_include): New.
+ 	* cpplib.c (do_line): Call _cpp_fake_include when entering
+ 	header files in preprocessed input.
+ 	* cppmain.c (cb_pragma_implementation): Remove handling.
+ 	(setup_callbacks): Don't register pragmas.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* extend.texi: Udate for CPP.
+ 
+ 2001-01-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* reload1.c: Add prototype for replace_pseudos_in_call_usage.
+ 
+ 	* regmove.c: Add prototype for replace_in_call_usage.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
+ 	struct cpp_chunk, struct htab, struct toklist,
+ 	struct cpp_context, CPP_STACK_MAX, struct lexer_state,
+ 	struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
+ 	CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
+ 	ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
+ 	(struct macro_args): Delete.
+ 	* cpphash.h: See above.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmain.c (struct printer): Remove no_line_dirs.
+ 	(options, cb): New.
+ 	(main, setup_callbacks, scan_buffer, printer_init, cb_define)
+ 	: Use options rather than CPP_OPTION.
+ 	(setup_callbacks): Use cb rather than pfile->cb.
+ 	(main): No need to check for a buffer.  Use cpp_errors.
+ 	(printer_init): Don't set no_line_dirs.
+ 	(maybe_print_line): Use options not no_line_dirs.
+ 	(cb_file_change): Don't call print_line if -P.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (init_c_lex): Use cpp_get_callbacks to set
+ 	callbacks.
+ 	* c-parse.in (finish_parse): Use cpp_errors.
+ 	(__yylex): Use return value of cpp_pop_buffer.
+ 	* cp/lex.c (finish_parse): Use cpp_errors.
+ 	* cp/spew.c (read_token): Use return value of cpp_pop_buffer.
+ 
+ Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* README.AVR: URLs corrected.
+ 
+ Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-decl.c (start_function): Don't warn if old prototype is builtin
+ 	that's not in C's namespace.
+ 	* libgcc2.c (_varargs): Update definition of __builtin_saveregs.
+ 	(_bb): Add prototype for ctime.
+ 	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
+ 
+ Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_fp_comparison_arithmetics_cost,
+ 	ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
+ 	ix86_fp_comparison_cost): New functions.
+ 	(ix86_expand_fp_compare): Use the costs to choose best bethod; add
+ 	two new parameters SECOND_TEST and BYPASS_TEST; allow generating
+ 	two-branch sequences; make static.
+ 	(ix86_use_fcomi_compare): Do decision according to the costs.
+ 	(split_fp_branch): New.
+ 	* i386.md (compare-and-branch patterns): Use split_fp_branch.
+ 	* i386-protos.h (ix86_expand_fp_compare): Remove
+ 	(ix86_split_fp_branch): Declare.
+ 
+ 	* i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
+ 	and ix86_comparison_operator.
+ 
+ 	* i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
+ 	to make it cheaper.
+ 
+ 	* i386.c (put_condition_code): Output properly the unordered/ordered
+ 	compares in fp case.
+ 	(ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
+ 
+ 	* tm.texi (REVERSE_CONDITION): Document.
+ 	* i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
+ 	in -ffast-math mode.
+ 	* i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
+ 
+ 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
+ 
+ 	* config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
+ 	optimized away.
+ 
+ 	* config/sh/sh.c (mova_p): Fix test for mova_const.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Use cpp_get_callbacks and
+ 	cpp_get_options rather than dereferencing pfile and using
+ 	CPP_OPTION.
+ 	* scan-decls.c (scan_decls): Use return value of
+ 	cpp_pop_buffer rather than CPP_BUFFER.
+ 
+ 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_handle_option): help_only is now part of the
+ 	cpp_options structure.
+ 	* cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
+ 	cpp_set_callbacks): New functions.
+ 	* cpplib.h (cpp_callbacks): Break out as a named structure.
+ 	(cpp_options): Move help_only here from cpp_reader.
+ 	(CPP_FATAL_ERRORS): Update to use cpp_errors.
+ 	(cpp_errors, cpp_get_options, cpp_get_callbacks,
+ 	cpp_set_callbacks): New prototypes.
+ 	* cppmain.c (main): Update for help_only.
+ 
+ 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in (info, maintainer-clean, install-info, uninstall):
+ 	Also build and remove and install and uninstall c-tree.info and
+ 	cppinternals.info.
+ 	($(srcdir)/gcc.info): Add dependency on contrib.texi.
+ 	($(srcdir)/cppinternals.info): New target.
+ 	* c-tree.texi: Change file name used when makeinfo used without -o
+ 	from ir.info to c-tree.info.  Add info directory entry.
+ 	* cppinternals.texi: Add info directory entry.
+ 	* .cvsignore: Update.
+ 
+ 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (store_init_value): Don't require constant initializer
+ 	elements with -pedantic -std=c99.
+ 	(digest_init): Change error about non-constant initializer elements
+ 	into pedwarn.
+ 	(constructor_range_end): Remove.
+ 	(constructor_incremental, designator_depth,
+ 	designator_errorneous): New variables.
+ 	(struct constructor_stack): Remove range_end, add incremental.
+ 	(struct constructor_range_stack, constructor_range_stack): New.
+ 	(struct initializer_stack): Add constructor_range_stack.
+ 	(finish_init): Set it.
+ 	(start_init): Likewise.  require_constant_elements for non-static
+ 	trees only if not flag_isoc99.
+ 	(really_start_incremental_init): Remove constructor_range_end, add
+ 	constructor_incremental.
+ 	(pop_init_level): Likewise.
+ 	(push_init_level): Likewise.  If implicit and the subobject had some
+ 	value set already, preinitialize the level with it.
+ 	Warn about missing braces only if not pushing due to designators.
+ 	(set_designator, push_range_stack): New functions.
+ 	(set_init_label): Use them.
+ 	(set_init_index): Likewise.  Remove constructor_range_end.
+ 	Error if designator index is outside of array bounds.
+ 	(add_pending_init): Compare values of purpose index trees, not the
+ 	trees themselves.  Allow overwriting of already initialized element.
+ 	Issue a warning if it had side-effects.
+ 	(set_nonincremental_init, set_nonincremental_init_from_string): New
+ 	functions.
+ 	(pending_init_member): Rename to...
+ 	(find_init_member): ...this function.  Call set_nonincremental_init
+ 	if necessary.  Compare values of purpose index trees, not the trees
+ 	themselves.  Return the actual value, not just nonzero if something
+ 	is found.
+ 	(output_init_element): Remove checks for duplicates.
+ 	If field has zero size, only check the initializer for correctness.
+ 	Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
+ 	if constructor_incremental is zero.  Change error about initializers
+ 	not computable at load time into pedwarn.
+ 	(output_pending_init_elements): Compare bit positions, not
+ 	FIELD_DECLs to take into account zero-sized fields.
+ 	(process_init_element): Use constructor_range_stack to fill all
+ 	ranges in the designator lists from current level up.
+ 	* extend.texi: Update documentation for labeled elements.
+ 
+ 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
+ 	to function usage for arguments passed by reference.  Optimize
+ 	callee-copied arguments.
+ 	* regmove.c (replace_in_call_usage): New function.
+ 	(fixup_match_1): Call it.
+ 	* cse.c (cse_insn): Canonicalize registers in function usage.
+ 	* reload1.c (replace_pseudos_in_call_usage): New function.
+ 	(reload): Call it.
+ 
+ 	* Makefile.in: Reverted yesterday's wrong patch.  Installed the
+ 	right version.
+ 
+ 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
+ 	not XEXP (tmp, 0).
+ 
+ 2001-01-12  DJ Delorie  <dj@redhat.com>
+ 
+ 	* Makefile.in (bootstrap): rename stages to be mnemonic.  Add
+ 	restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
+ 	targets.
+ 
+ 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
+ 	tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
+ 	-std options alongside references to -ansi.  Update some
+ 	documentation for C99.
+ 	* cpp.1: Regenerate.
+ 
+ 2001-01-12  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* haifa-sched.c (restore_line_notes): Remove argument block B
+ 	since it's unused.
+ 	* sched-ebb.c (schedule_ebb): Change caller.
+ 	* sched-rgn.c (schedule_region): Likewise.
+ 	* sched-int.h (restore_line_notes): Adjust prototype.
+ 
+ 	* loop.h: Remove wrong declaration of doloop_condition_get.
+ 
+ 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* extend.texi:  Move C++-extension-related node from the C section
+ 	into the C++ section.
+ 
+ 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* extend.texi: Refer to an array of pointers to functions instead
+ 	of one of functions.
+ 
+ Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
+ 			      Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (reversed_comparison): Fix typo in last patch.
+ 	Check X for NULL.
+ 	(combine_reversed_comparison_code): Make static to follow
+ 	prototype declaration.
+ 
+ 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* install.texi:  Remove misplaced duplicate entry.
+ 
+ 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
+ 
+ 	* config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
+ 
+ Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
+ 
+ 	* final.c: (leaf_function_p): Fix typo.
+ 
+ 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
+ 	Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
+ 	which you have.
+ 	(AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
+ 	* configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
+ 	mmap_anon, and valloc is available.
+ 	* ggc-page.c: Restructure ifdef logic to match new autoconf
+ 	spec.  Don't throw away the test page in init_ggc.
+ 
+ 	* configure, config.in: Regenerate.
+ 
+ 2001-01-12  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.h (total_biv_increment): Constify iv_class pointer.
+ 	(struct induction): Replace `mem_mode' with `mem' rtx.
+ 	* unroll.c (total_biv_increment): Constify iv_class pointer.
+ 	* loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
+ 	(find_mem_givs, combine_givs_p): Likewise.
+ 	(debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
+ 
+ 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
+ 
+ 	* gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
+ 	LastError.
+ 	(__gthread_getspecific): Ditto.
+ 
+ Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_comparison_operator, fcmov_comparison_operator,
+ 	put_condition_code): Convert fp comparison codes to integer
+ 	before handling.
+ 	(ix86_expand_fp_compare): Postnote the fp comparison code conversion
+ 	to final.
+ 
+ 	* i386.c (unsigned_comparison, no_comparison_operator): Kill.
+ 	* i386-protos.h (no_comparison_operator): Kill.
+ 
+ 	* i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
+ 
+ 	* combine.c (REVERSIBLE_CC_MODE): Remove.
+ 	(reversible_comparison_p): Remove.
+ 	(combine_reversed_comparison_code): New.
+ 	(reversed_comparison): New.
+ 	(combine_simplify_rtx): Use
+ 	combine_reversed_comparison_code/reversed_comparison instead
+ 	of reversible_comparison_p.
+ 	(simplify_if_then_else): Likewise.
+ 	(simplify_set): Likewise.
+ 	(simplify_logical): Likewise.
+ 	(if_then_else_cond): Likewise.
+ 	(known_cond): Likewise.
+ 	(simplify_comparison): Likewise.
+ 
+ 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
+ 
+ 	* builtins.c (std_expand_builtin_va_start): Handle varargs when
+ 	sizeof (int) is larger than sizeof(__word__).
+ 
+ 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (do_includes): Fix typo.
+ 
+ 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
+ 	in S_REGS does not occur because not all sources are possible
+ 	when a S_REGS is a destination (sometimes needs a clobber).
+ 	(movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
+ 	(zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
+ 	(anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
+ 	(ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
+ 	(ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
+ 	(ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
+ 	(lshrdi_const1, lshrsi3_const16): Likewise.
+ 	(*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
+ 	(*movhi_68hc12, *movqi_68hc12): Likewise.
+ 	(movstrictqi): Make sure reloading in D_REGS as a destination
+ 	does not happen.
+ 
+ 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
+ 
+ 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_start_read): If -fpreprocessed, ignore
+ 	-D, -U and -A, and don't initialize the builtins.
+ 	(do_includes): Error if -include or -imacros with -fpreprocessed.
+ 	* cppmain.c (cb_define, cb_undef): Unconditionally process
+ 	the callback.
+ 	* tradcpp.c (main): Fix typo.
+ 
+ 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
+ 	(read_name_map): Use IS_ABSOLUTE_PATH.
+ 	* tradcpp.c (get_filename): Likewise.
+ 
+ 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
+ 	(*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
+ 	(*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
+ 	(*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
+ 	(*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
+ 	(cmphi_z_used): Don't use '@' for the output.
+ 	(tstqi_z_used): Likewise.
+ 	(cmpqi_z_used): Likewise.
+ 	(one_cmplsi2): Likewise.
+ 
+ 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.c (barrier_align): Recognize branch around far
+ 	branch and redundant insn.
+ 
+ 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* invoke.texi: Restore documentation of the drivers' switches -MD
+ 	and -MMD.
+ 
+ 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
+ 
+ 	* Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
+ 	check-objc//%): Support parallel testing of multilibs.
+ 	(TESTSUITEDIR): Set to testsuite by default, but override for
+ 	parallel testing.
+ 	(check-gcc, check-g++, check-g77, check-objc): Enter
+ 	$(TESTSUITEDIR).
+ 
+ 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
+ 	* sched-deps.c (deps_may_trap_p): Likewise.
+ 	* basic-block.h: Remove a comment.
+ 	* flow.c (PROP_POSTRELOAD): Remove.
+ 	(update_life_info): Don't add it to prop_flags.
+ 	(mark_set_1): Lose the code that was enabled by it.
+ 
+ 2001-01-11  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* flow.c (flow_call_edges_add): New.
+ 	* basic_block.h (flow_call_edges_add): New.
+ 
+ 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* reload1.c (move2add_note_store): Update reg_set_luid even if
+ 	base reg remains the same.
+ 
+ 2001-01-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/d30v/d30v.c (d30v_init_machine_status): Initialize
+ 	machine_function structure to zero.
+ 	Add prototypes for machine_status functions.
+ 
+ 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (CTI_VOID_LIST): Remove.
+ 	(void_list_node): Likewise.
+ 	* tree.h (TI_VOID_LIST_NODE): New enumeral.
+ 	(void_list_node): New macro.
+ 	* config/arm/arm.c (arm_init_builtins): Use void_list_node.
+ 	* config/i386/i386.c (ix86_init_builtins): Likewise.
+ 	* config/ia64a/ia64.c (ia64_init_builtins): Likewise.
+ 
+ 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
+ 	* cppinit.c (cpp_start_read): Update comment, remove unneeded
+ 	if statement.
+ 	* tradcpp.c: Include mkdeps.h.
+ 	(deps, print_deps_phony_targets, deps_append, output_deps,
+ 	init_dependency_output, output_deps): New.
+ 	(deps_buffer, deps_allocated_size, deps_size, deps_column,
+ 	deps_output): Delete.
+ 	(print_deps_missing_files): Rename deps_missing_files.
+ 	(inhibit_output): Make global.
+ 	(main): Delete inhibit_output, deps_stream, deps_target.
+ 	Use mkdeps functionality in the same way as cpplib.  Remove
+ 	-g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
+ 	-M and -MM.  Remove old handling of deps via deps_out, and
+ 	old reading of environment variables.
+ 	(get_filename): Update to use deps_add_dep.
+ 
+ 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* output.h (make_function_rtl): Remove prototype.
+ 	(make_decl_rtl): Likewise.
+ 	* varasm.c (make_function_rtl): Remove.
+ 	(make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
+ 	than from a third parameter.
+ 	* tree.h (make_decl_rtl): Remove last parameter.
+ 	* c-decl.c (builtin_function): Remove last argument in call to
+ 	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
+ 	(start_function): Likewise.
+ 	* except.c (call_get_eh_context): Likewise.
+ 	* expr.c (emit_block_move): Likewise.
+ 	(clear_storage): Likewise.
+ 	* profile.c (output_func_start_profiler): Likewise.
+ 	* toplev.c (rest_of_decl_compilation): Likewise.
+ 	* objc/objc-act.c (create_builtin_decl): Likewise.
+ 	(synth_module_prologue): Likewise.
+ 	(generate_static_reference): Likewise.
+ 	(build_selector_reference_decl): Likewise.
+ 	(build_class_reference_decl): Likewise.
+ 	(build_objc_string_decl): Likewise.
+ 	(build_protocol_reference): Likewise.
+ 
+ 2001-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* hwint.h: Revert yesterday's change.
+ 
+ 2001-01-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* function.h (save_machine_status): Delete.
+ 	(restore_machine_status): Delete.
+ 	Amend comment describing {init|mark|free}_machine_status.
+ 
+ 	* function.c (save_machine_status): Delete.
+ 	(restore_machine_status): Delete.
+ 	Amend comment describing {init|mark|free}_machine_status.
+ 	(push_function_context_to): Remove invocation of
+ 	save_machine_status.
+ 	(pop_function_context_from): Remove invocation of
+ 	restore_machine_status.
+ 
+ 	* emit-rtl.c (init_emit_once): Amend comment describing
+ 	{init|mark|free}_machine_status.
+ 
+ 	* tm.texi (Per-Function Data): New node.  Describe the
+ 	INIT_EXPANDERS macro and the {init|mark|free}_machine_status
+ 	function pointers.
+ 
+ 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (OPT_g): Remove.
+ 	(cpp_handle_option): Update for removed -g3.
+ 	(print_help): Update.
+ 	* cpplib.h (struct cpp_options): Remove debug_output.
+ 	* cppmain.c (setup_callbacks, cb_define): Update.
+ 	* gcc.c (cpp_options): Translate -g3 to -dD.
+ 
+ 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/i960/i960.md: Change modifier to + on the zero_extract
+ 	pattern after the (rotate -2 reg) canonicalization pattern.
+ 
+ 2001-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_free_machine_status): New.
+ 	(override_options): Install it.
+ 	(alpha_mark_machine_status): Verify machine non-null.
+ 	* config/i386/i386.c (ix86_free_machine_status): New.
+ 	(override_options): Install it.
+ 	(ix86_init_machine_status): Use xcalloc.
+ 	(ix86_mark_machine_status): Verify machine non-null.
+ 	* config/ia64/ia64.c (ia64_free_machine_status): New.
+ 	(ia64_override_options): Install it.
+ 	(ia64_mark_machine_status): Verify machine non-null.
+ 
+ Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* function.c (instantiate_virtual_regs): Instantiate virtual
+ 	registers found in CALL_INSN_FUNCTION_USAGE.
+ 
+ 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
+ 	equivalent to -ansi in disabling -Di386.
+ 
+ Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
+ 	new functions.
+ 	(ix86_expand_fp_compare): Make trivial use of new infrastructure.
+ 
+ 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_init_builtins): Temporarily disable xscale builtins.
+ 
+ 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* invoke.texi: Document that -fcond-mismatch isn't supported for
+ 	C++.
+ 
+ 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.texi: Define macro gcctabopt.
+ 	* invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
+ 	@command, @env and @option in some places where appropriate.  Use
+ 	@gcctabopt where appropriate.  Put URLs and email addresses inside
+ 	@w.
+ 
+ 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcc.c (cpp_options): Set MD file name from output
+ 	filename, if specified.
+ 	(suffix_subst): New static variable.
+ 	(do_spec): Clear it.
+ 	(do_spec_1, case '.'): Handle new `%.suffix' spec.
+ 	Clear it.
+ 	(give_switch): Handle suffix_subst.
+ 
+ 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* invoke.texi:  Fix another typo.
+ 
+ 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* invoke.texi:  Fix typo.
+ 
+ 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lang.c (lang_hooks): Update.
+ 	(lang_decode_option): Remove.
+ 	(lang_init_options): Rename c_init_options.
+ 	* toplev.c (main): Use lang_hooks for lang_init_options
+ 	and lang_decode_option.
+ 	* toplev.h (lang_hooks): Add 2 new hooks.
+ 	* tree.h: Remove lang_init_options and lang_decode_option.
+ 	* cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
+ 	* cp/decl2.c: Similarly.
+ 	* cp/lex.c (lang_init_options): Rename cxx_init_options.
+ 	(lang_hooks): Update.
+ 	* f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
+ 	for consistency.
+ 	(lang_init_options): Rename ffe_init_options.
+ 	(lang_hooks): Update.
+ 	(lang_decode_option): Remove.
+ 	* java/lang.c (lang_init_options): Rename java_init_options.
+ 	(lang_decode_option): Rename java_decode_option.
+ 	(lang_hooks): Update.
+ 	* objc/objc-act.c (lang_init_options): Rename objc_init_options.
+ 	(lang_decode_option): Rename objc_decode_option.
+ 	(lang_hooks): Update.
+ 
+ 2001-01-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
+ 	(d30v_return_addr_rtx): Delete.
+ 	(d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
+ 	cfun->machine structure.
+ 	(struct machine_function): Move to d30v.h
+ 	(d30v_save_machine_status): Delete.
+ 	(d30v_restore_machine_status): Delete.
+ 	(d30v_init_machine_status): New Function.
+ 	(d30v_mark_machine_status): New Function.
+ 	(d30v_free_machine_status): New Function.
+ 	(d30v_init_expanders): Use new functions.
+ 	(d30v_return_addr): Use ra_rtx field in cfun->machine.
+ 	(d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
+ 	d30v_return_addr_rtx.
+ 
+ 	* config/d30v/d30v.h (struct_machine): Move here.
+ 	Add eh_epilogue_sp_ofs field.
+ 
+ 	*config/d30v/d30v.md (epilogue): Initialize eh_epilogue_sp_ofs
+ 	field in cfun->machine structure.
+ 
+ Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
+ 	PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
+ 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
+ 
+ Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
+ 
+ 	* objc/lang-options.h: Remove bogus reference to
+ 	Java trademark.
+ 
+ 2001-01-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
+ 	return the result.
+ 
+ 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
+ 
+ 	* reload.c (find_reloads_address): Check for eliminable registers
+ 	when substituting a constant expression for a pseudo.
+ 
+ 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (enum format_type): Add format_type_error.
+ 	(decode_format_type): New function.
+ 	(decl_attributes): Use it.
+ 	(format_kind_info): Adjust comment.
+ 
+ 2001-01-09  David O'Brien  <obrien@BSDi.com>
+ 
+ 	* config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
+ 	i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
+ 	files in tm_file.
+ 	* config/i386/gnu.h: Don't include required platform specific .h files,
+ 	tm.h will do it instead.
+ 	* config/i386/i386elf.h: Likewise.
+ 	* config/i386/linux.h: Likewise.
+ 	* config/i386/moss.h: Likewise.
+ 	* config/mips/gnu.h: Likewise.
+ 
+ 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
+ 	(rs6000-ibm-aix3.[01]*): Likewise.
+ 	(rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
+ 	(rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
+ 	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
+ 	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
+ 	(powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
+ 	(powerpc-*-eabiaix*): Likewise.
+ 	(powerpc-*-eabisim*): Likewise.
+ 	(powerpc-*-elf*): Likewise.
+ 	(powerpc-*-eabi*): Likewise.
+ 	(powerpc-*-rtems*): Likewise.
+ 	(powerpc-*-linux*libc1): Likewise.
+ 	(powerpc-*-linux*): Likewise.
+ 	(powerpc-wrs-vxworks*): Likewise.
+ 	(powerpcle-wrs-vxworks*): Likewise.
+ 	(powerpcle-*-sysv*): Likewise.
+ 	(powerpcle-*-elf*): Likewise.
+ 	(powerpcle-*-eabisim*): Likewise.
+ 	(powerpcle-*-eabi*): Likewise.
+ 	(powerpcle-*-solaris2*): Likewise.
+ 	* config/rs6000/aix31.h: Delete includes.
+ 	* config/rs6000/aix3newas.h: Likewise.
+ 	* config/rs6000/aix41.h: Likewise.
+ 	* config/rs6000/aix43.h: Likewise.
+ 	* config/rs6000/beos.h: Likewise.
+ 	* config/rs6000/rtems.h: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 
+ 2001-01-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
+ 	Change an argument mode of machine_mode to shift_mode of
+ 	shift_mode.  Remove an extra error check.
+ 	(emit_a_shift): Adopt to the new calling prototype of
+ 	get_shift_alg.
+ 	(function_prologue): Fix code for a monitor
+ 	function.  Support H8S.
+ 	(function_epilogue): Do not output pop for a monitor function.
+ 
+ 2001-01-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
+ 	(setup_incoming_varargs): Use sysv_varargs_p field of the
+ 	cfun->machine structure.
+ 	(struct machine_function): Move to rs6000.h
+ 	(rs6000_save_machine_status): Delete.
+ 	(rs6000_restore_machine_status): Delete.
+ 	(rs6000_init_machine_status): New Function.
+ 	(rs6000_free_machine_status): New Function.
+ 	(rs6000_init_expanders): Use new functions.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
+ 	export.
+ 	(struct machine_function): Move here.
+ 
+ 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
+ 	sysv_varargs_p field of the cfun->machine structure.
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
+ 	Remove prototype.
+ 	(rs6000_restore_machine_status): Remove prototype.
+ 
+ 2001-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
+ 	reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
+ 	* sched-deps.c (sched_analyze_1): Update uses of struct deps.
+ 	(sched_analyze_2, sched_analyze_insn): Likewise.
+ 	(sched_analyze, init_deps): Likewise.
+ 	(free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
+ 	* sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
+ 	(compute_block_backward_dependences): Update propagate_deps call.
+ 
+ 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* gcc.c (process_command): Set switches[n_switches].ordering to 0.
+ 
+ 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (OPT_MD, OPT_MMD): Restore.
+ 	(cpp_handle_option): Handle them.
+ 	(cpp_post_options): Ensure one of -M or -MM is specified with
+ 	any other -M? option.
+ 	(init_dependency_output): Suppress output with -MG.
+ 
+ 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update.
+ 	* invoke.texi: Update.
+ 
+ 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* sh.md (reload_outsf): Generate recognizable patterns for
+ 	TARGET_SH3E.
+ 
+ 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lang.c (lang_hooks): Update.
+ 	(lang_init): Rename c_init.
+ 	(lang_finish): Remove.
+ 	* toplev.c (compile_file): Use lang_hooks for lang_init ()
+ 	and lang_finish ().
+ 	* toplev.h (lang_hooks): Add init () and finish ().
+ 	* tree.h (lang_init, lang_finish): Remove.
+ 	* cp/tree.h (lang_init, lang_finish): Remove.
+ 	* cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
+ 	* cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
+ 	lang_hooks): New.
+ 	(lang_init, lang_finish): Remove.
+ 	* f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
+ 	(lang_hooks): Update.
+ 	* java/lang.c (lang_init): Rename java_init.
+ 	(lang_finish): Remove.
+ 	(lang_hooks): Update.
+ 	* objc/objc-act.c (lang_init): Rename objc_init.
+ 	(lang_finish): Remove.
+ 	(lang_hoooks): Update.
+ 
+ 2001-01-09  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cppfiles.c (_cpp_execute_include): Move `len` initialisation
+ 	after `ptr` is initialized.
+ 
+ 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
+ 	(INITIALIZE_TRAMPOLINE): Adjust accordingly.
+ 	* config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
+ 	stack adjusts, instead of r3.
+ 
+ 2001-01-09  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* flow.c (flow_loop_scan): Break out of ...
+ 	(flow_loops_find) ... here.
+ 	* basic-block.h (flow_loop_scan): New.
+ 	(LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
+ 	(LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
+ 
+ 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
+ 	macro_buffer_len.
+ 	* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
+ 	realloc()ing macro_buffer.
+ 
+ 	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
+ 	if it's wider than long and the target's long is wider than the
+ 	host's.
+ 
+ 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Remove support for using UWIN as a host machine.
+ 	* configure.in: Issue an error message.
+ 	* configure: Regenerated.
+ 	* config.gcc: Remove xm_* UWIN configury.
+ 	* config/i386/xm-uwin.h: Remove.
+ 
+ 2001-01-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/v850/v850.c (ra_rtx): Delete.
+ 	(v850_save_machine_status): Delete.
+ 	(v850_restore_machine_status): Delete.
+ 	(v850_init_machine_status): New function.
+ 	(v850_mark_machine_status): New function.
+ 	(v850_free_machine_status): New function.
+ 	(v850_return_addr): Use ra_rtx field in machine structure.
+ 	(v850_init_expanders): Use new functions.
+ 
+ 	* config/v850/v850-protos.h: Fix prototypes for v850_output_*
+ 	* config/v850/v850.c: Change arguments to v850_output+* functions
+ 	to take a const char *, to avoid compile time warning.
+ 	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
+ 	(USER_LABEL_PREFIX): Redefine.
+ 
+ 2000-01-08  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
+ 	1 to unsigned HOST_WIDE_INT before left shift.
+ 
+ 2001-01-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_mark_machine_status): Check to see if
+ 	the machine structure has been allocated.
+ 	(arm_free_machine_status): New function: Free the machine
+ 	specific function structure.
+ 
+ 2001-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* jump.c (simplejump_p): Revert last change.
+ 
+ 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (init): Rename init_library.
+ 	(cpp_create_reader): Update.
+ 	* gcc.c (cpp_options): If -o given, use it as the target of
+ 	any -M options.
+ 
+ 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_arch5e): New variable.
+ 	(all_cores): XScale is a 5TE device.
+ 	(arm_override_options): Set arm_arch5e.
+ 	(arm_init_builtins): __builtin_prefetch is in arch5e.
+ 	* arm.h (arm_arch5e): Declare it.
+ 
+ 	* arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
+ 
+ 	* arm.md (define_constants): Add defines for UNSPEC and
+ 	UNSPEC_VOLATILE insns.  Update all users.
+ 	(define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
+ 	* arm.c (multi_register_push, note_invalid_constants)
+ 	(emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
+ 	* arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
+ 	(STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
+ 
+ Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (jump_optimize_1): Use reversed_comparison_code
+ 	instead of can_reverse_comparison_p.
+ 	(jump_back_p): Likewise.
+ 	(invert_exp_1): Likewise.
+ 	(thread_jumps): Likewise.
+ 	* simplify-rtx.c (simplify_unary_operation): Likewise.
+ 	(simplify_ternary_operation): Likewise.
+ 	* cse.c (find_comparison_args): Convert to use
+ 	can_reverse_comparison_p.
+ 	(record_jump_equiv): Likewise.
+ 
+ 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (HARD_REGNO_RENAME_OK): Delete.
+ 	(EPILOGUE_USES): Define.
+ 	(INITIAL_ELIMINATION_OFFSET): Current prologue code does not
+ 	automatically stack the LR if it isn't live.
+ 
+ Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
+ 	properly.
+ 
+ Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-page.c (max_alignment): New structure.
+ 	(MAX_ALIGNMENT): New macro.
+ 	(init_ggc): Use it to round up the sizes in the
+ 	extra_order_size_table.
+ 
+ 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
+ 	after reload.
+ 
+ 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (BUILT_IN_FPRINTF): New entry.
+ 
+ 	* c-common.c (c_expand_builtin_fprintf): New function.
+ 	(init_function_format_info): Handle __builtin_fprintf.
+ 	(c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
+ 	(c_expand_builtin): Handle BUILT_IN_FPRINTF.
+ 
+ 	* c-decl.c (duplicate_decls): Adjust comment.
+ 
+ 	* extend.texi (fprintf): Document new builtin.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* jump.c (simplejump_p): Recognize any single_set jump
+ 	of the proper form.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (slibdir): Accept an --with-slibdir option.
+ 	Use "test" not "[" in configure.  Default to $(libdir).
+ 
+ 	* config/t-linux (SHLIB_INSTALL): Double quote slibdir;
+ 	fix typo in rm -f.
+ 	* config/t-aix43 (SHLIB_INSTALL): Likewise.
+ 	* config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
+ 	(SHLIB_LINK): Create links for the soname.
+ 	* config/mips/t-iris6: Likewise.
+ 	* config/sparc/t-slibgcc: Likewise.
+ 	* config/sparc/t-slibgcc-sld: Likewise.
+ 
+ 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (constant_call_address_operand): Accept
+ 	(const (plus (symbol_ref) (const_int))).
+ 	* config/i386/i386.h (PREDICATE_CODES): Add CONST for
+ 	constant_call_address_operand.
+ 
+ 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
+ 	and LONG_LONG_TYPE_SIZE > 32.
+ 
+ 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* jump.c (reversed_comparison_code_parts): Fix typo introduced by
+ 	the previous change.
+ 
+ Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (reversed_comparison_code_parts, reversed_comparison_code):
+ 	New.
+ 	(can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
+ 	(reverse_condition_maybe_unordered): Abort on unsigned comparisons.
+ 	* rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
+ 	Declare.
+ 
+ 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): s/pfile/scan_in/.
+ 
+ 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lang.c (c_post_options): Call cpp_post_options.
+ 	* objc/objc-act.c (objc_post_options): Similarly.
+ 	* cppmain.c (main): Similarly.
+ 	* fix-header.c (read_scan_file): Similarly.
+ 	* cppinit.c (cpp_start_read): Move option consistency checks
+ 	to cpp_post_options.  Don't call init_dependency_output.
+ 	If needed, add default target and main file dependency.
+ 	(OPT_MD, OPT_MMD): Remove.
+ 	(OPT_MF): New.
+ 	(cpp_handle_option): Update for OPT_* changes.
+ 	(cpp_post_options): New.
+ 	(init_dependency_output): Command line -MF overrides environment
+ 	variables.  Don't set default target etc.  Suppress output
+ 	if dependencies are going to stdout.
+ 	(print_help): Update.
+ 	* cpplib.h (cpp_post_options): New.
+ 	* gcc.c (cpp_options): Update for -MD, -MMD, -MF.
+ 
+ Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (comparison_dominates_p): Support unordered compares.
+ 
+ Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Always simplify
+ 	ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
+ 	and UNGE.
+ 
+ Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Recognize the unordered compares.
+ 	(nonzero_bits): Likewise.
+ 	(simplify_comparison): Likewise.
+ 	(num_sign_bit_copies): Likewise; return more sane value depending
+ 	on STORE_FLAG_VALUE.
+ 	(known_cond): Do not assume EQ to be always true for equivalent
+ 	operands.
+ 
+ Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (fold_rtx): Handle unordered comparisons.
+ 
+ Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (set_of_1): New static function.
+ 	(reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
+ 	 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
+ 	 reg_set_last_last_regno): Remove.
+ 	(set_of): New global function.
+ 	(set_of_data): New structure.
+ 	(reg_set_p, reg_set_last): Revamp for set_of.
+ 	* rtl.h (set_of): New.
+ 
+ 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
+ 	* extend.texi: Document _Exit builtin.
+ 
+ 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* (initialize, initialize_builtins,
+ 	initialize_dependency_output, initialize_standard_includes):
+ 	Rename s/initialize/init. Update.
+ 	(init_dependency_output): Move to after
+ 	cpp_handle_options, the correct location temporally at least.
+ 	(opt_comp): Move next to init (), its caller.  Fix prototype.
+ 	(init): Make "initialized" local scope.
+ 	(cpp_create_reader): Always call init ().
+ 	(cpp_start_read): Update.
+ 	(output_deps): New function, broken out of cpp_finish.
+ 	(cpp_finish): Break out output_deps.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* collect2.c (COFF specific stuff): Revert 12-06 patch
+ 	to prototype system functions.
+ 
+ 2001-01-07  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* hard-reg-set.h: Add multiple include guard.
+ 	* basic-block.h (struct loop): Add `sink' field.
+ 	* loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
+ 	(emit_iv_add_mult): Delete.
+ 	(loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
+ 	(loop_iv_add_mult_emit_before, loop_insn_sink): Define.
+ 	(unroll_loop): Remove end_insert_before argument.
+ 	* loop.c (loop_givs_rescan): Remove end_insert_before argument.
+ 	(maybe_eliminate_biv_1): Likewise.
+ 	(emit_iv_add_mult): Delete.
+ 	(gen_add_mult, loop_regs_update): New.
+ 	(loop_insn_emit_after, loop_insn_emit_before): New.
+ 	(loop_insn_sink, loop_insn_sink_or_swim): New.
+ 	(emit_iv_add_mult): Delete.
+ 	(scan_loop): Set loop->sink.
+ 	(loop_givs_reduce): Use loop_insn_sink and its ilk.
+ 	(loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
+ 	(maybe_eliminate_biv_1): Likewise.
+ 	(maybe_eliminate_biv_1): Add basic block argument.
+ 	* unroll.c (unroll_loop): Remove end_insert_before argument.
+ 	(find_splittable_regs): Likewise.
+ 	(find_splittable_regs): Use loop_insn_sink and its ilk.
+ 	(find_splittable_givs, final_biv_value, final_giv_value): Likewise.
+ 
+ 2001-01-07  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.h (loop_insn_hoist): New prototype.
+ 	* loop.c (loop_insn_hoist, loop_insn_emit_before): New.
+ 	(move_movables, loop_givs_rescan): Use loop_insn_hoist.
+ 	(check_dbra_loop, load_mems): Likewise.
+ 	* unroll.c (unroll_loop, find_splittable_regs): Likewise.
+ 	(find_splittable_givs): Likewise.
+ 
+ 2001-01-07  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (emit_iv_add_mult): Use single_set to examine new insn.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
+ 	NO_SHARED_LIBGCC_MULTILIB as required for the target.
+ 	* gcc.c (init_spec): Massage the existing libgcc_spec into a
+ 	variant that handles a shared libgcc.
+ 	(process_command): Always validate -{static,shared}-libgcc.
+ 	(do_spec_1): New 'M' case.
+ 	* invoke.text (Link Options): Document -{static,shared}-libgcc.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (slibdir): New variable.
+ 	(libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
+ 	(installdirs): Create slibdir.
+ 	(install-libgcc, install-multilib): Defer to libgcc.mk.
+ 	* configure.in (slibdir): Substitute.
+ 	* mklibgcc.in (install): New target.
+ 
+ 	* config/t-linux (SHLIB_LINK): Create links for the soname.
+ 	(SHLIB_INSTALL): New.
+ 	* config/alpha/t-osf4 (SHLIB_INSTALL): New.
+ 	* config/mips/t-iris6 (SHLIB_INSTALL): New.
+ 	* config/rs6000/t-aix43 (SHLIB_INSTALL): New.
+ 	* config/sparc/t-slibgcc (SHLIB_INSTALL): New.
+ 	* config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
+ 
+ 2001-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
+ 	* config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
+ 	* config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
+ 
+ 2001-01-07  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (count_loop_regs_set): Delete.
+ 	(load_mems_and_recount_loop_regs_set): Delete.
+ 	(loop_regs_scan): Merge common code from count_loop_regs_set,
+ 	scan_loop, and load_mems_and_recount_loop_regs_set.
+ 	(scan_loop): Call load_mems directly and loop_regs_scan
+ 	again if new registers created.
+ 
+ 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* toplev.c (main): Call the front-end specific post_options
+ 	hook if one is given.
+ 	* toplev.h (struct_lang_hooks, lang_hooks): New.
+ 	* c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
+ 	for the C front end.
+ 	* cp/decl2.c (cxx_post_options, lang_hooks): Implement
+ 	lang_hooks for the C++ front end.
+ 	* objc/objc-act.c (objc_post_options, lang_hooks): Implement
+ 	lang_hooks for the ObjC front end.
+ 	* f/com.c (lang_hooks): Hooks for the Fortran front end.
+ 	* java/lang.c (lang_hooks): Hooks for the Java front end.
+ 
+ 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (init_c_lex): Request #define / #undef callbacks
+ 	for verbose DWARF[2] debugging.
+ 	(cb_define, cb_undef): The new callbacks.
+ 	* toplev.h (debug_define, debug_undef): Make const correct.
+ 	* toplev.c (debug_define, debug_undef): Similarly.  Do not
+ 	perform the verbosity tests here anymore.
+ 
+ 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload.c (subst_reloads): Take INSN argument.  When
+ 	replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
+ 	* reload.h (subst_reloads): Adjust prototype.
+ 	* reload1.c (reload_as_needed): Pass INSN to subst_reloads.
+ 	* jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
+ 	present in JUMP_INSNs and copy them to JUMP_LABEL.
+ 	* flow.c (find_label_refs, find_basic_blocks_1): Skip
+ 	JUMP_INSNs and insns with REG_LABELs that are followed by
+ 	JUMP_INSNs with the same REG_LABEL.
+ 	* sched-rgn.c (is_cfg_nonregular): Likewise.
+ 	* rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
+ 	note is available.
+ 	* unroll.c (unroll_loop): Look for REG_LABEL notes in
+ 	JUMP_INSNs too.
+ 	* rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
+ 
+ 2001-01-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (scan_loop): Use xcalloc for the regs array.
+ 	(load_mems_and_recount_loop_regs_set): Zero the new memory
+ 	received from xrealloc.
+ 
+ 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* mkdeps.c (deps_add_dep): Fix vector re-allocation.
+ 
+ Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): When copying
+ 	an ignored return value, strip REG_FUNCTION_VALUE_P.
+ 
+ 2001-01-06  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (debug_biv, debug_giv): New.
+ 	(loop_biv_dump): Break out from ...
+ 	(record_biv): ... here.
+ 	(loop_giv_dump): Break out from ...
+ 	(record_giv): ... here.
+ 	(loop_bivs_check): Use print_simple_rtl.
+ 	* unroll.c (loop_iterations): Use print_simple_rtl.
+ 
+ 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (return, return_internal): Modify patterns to prevent regrename
+ 	mucking with the return pointer.
+ 
+ 2001-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
+ 
+ Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
+ 	version supplied by Matteo Frigo.
+ 
+ 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update for -MQ.
+ 	* cppinit.c (cpp_create_reader): Always create pfile->deps.
+ 	(cpp_cleanup): Always free pfile->deps.
+ 	(initialize_dependency_output): Don't create pfile->deps.
+ 	(cpp_handle_option): Similarly.
+ 	(OPT_MQ): New.
+ 	* gcc.c (cpp_options): Handle -MQ.
+ 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
+ 	* mkdeps.c (base_name): Remove.
+ 	(deps_init): Don't allocate vector space until it's needed.
+ 	(deps_free): Only free vectors if allocated.
+ 	(deps_add_target, deps_add_dep): Update for initial allocation.
+ 	(deps_add_default_target): Don't strip to the base_name.
+ 
+ 2001-01-05  DJ Delorie <dj@redhat.com>
+ 
+ 	* config/v850/v850.h (RETURN_ADDR_RTX): Define.
+ 	(INIT_EXPANDERS): Define.
+ 
+ 	* config/v850/v850.c (struct machine_function): Define.
+ 	(v850_save_machine_status): New function.
+ 	(v850_restore_machine_status): New function.
+ 	(v850_return_addr): New function.
+ 	(v850_init_expanders): New function.
+ 
+ 	* config/v850/v850-protos.h: Add prototypes for v850_return_addr
+ 	and v850_init_expanders.
+ 
+ 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* cpplib.h (struct cpp_reader): Add help_only field.
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
+ 	(cpp_handle_option): Set pfile->help_only if we see -h,
+ 	--help, -target-help, or --version.  Print version string but
+ 	do not set help_only if we see -v or -version.  Make text
+ 	printed by -v match that printed by (-)-version.
+ 
+ 	* cppmain.c (main): Exit after option parsing if
+ 	pfile->help_only is true.
+ 
+ 	* toplev.c (independent_decode_option): Call print_version,
+ 	then exit, if we see --version (but not -version).
+ 	(print_version): Split lengthy message into two lines.
+ 
+ 2001-01-05  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/v850/v850.c (v850_encode_data_area): Use alloca to create
+ 	temporary string for initialisation before calling ggc_alloc_string.
+ 
+ 2001-01-06  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* rtl.h (print_simple_rtl): New.
+ 	* print-rtl.c (print_simple_rtl): New.
+ 	(flag_simple): New.
+ 	(print_rtx): Disable printing of flags and modes, etc.,
+ 	if `flag_simple` nonzero.
+ 
+ 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
+ 
+ 	* function.c (fixup_var_refs): Use push_to_full_sequence where
+ 	possible.
+ 
+ 2001-01-05  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* flags.h (flag_reorder_blocks): Add declaration.
+ 	(flag_rename_block): Ditto.
+ 
+ 2001-01-05  DJ Delorie  <dj@redhat.com>
+ 
+ 	* function.c (reorder_blocks): Make sure the flags are all reset
+ 	before using them to mark blocks, else a second invocation will
+ 	corrupt the block chain.
+ 	(reorder_blocks_0): New, resets the flags.
+ 
+ Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* cse.c (find_comparison_args): Stop if the argument is known to
+ 	be constant.
+ 
+ 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (movdf): When splitting load into pair of
+ 	registers, don't clobber the register used in the address too
+ 	early.
+ 
+ 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* varasm.c (mark_constant_pool): Improve initial comments.
+ 	(mark_constants): Move marking of constants to mark_constant.
+ 	(mark_constant): New function to recursively mark all constants
+ 	referred to by a constant.
+ 
+ 2001-01-05  Catherine Moore  <clm@redhat.com>
+ 
+ 	* dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
+ 
+ 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* cp/lang-options.h:  Bring comment in line with reality.
+ 	* f/lang-options.h:  Likewise.
+ 	* java/lang-options.h:  Likewise.
+ 	* objc/lang-options.h:  Likewise.
+ 	* ch/lang-options.h:  Likewise.
+ 	* f/g77.texi:  And update the manual.
+ 
+ 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
+ 	    Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
+ 	* config/avr/avr.c (avr_peep2_scratch_safe): New function.
+ 	* config/avr/avr.md (all peepholes that request a scratch register):
+ 	Call it, FAIL the peephole if not safe (in interrupt functions).
+ 
+ 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
+ 
+ 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
+ 	Define.
+ 	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
+ 	BUILT_IN_CREAL and BUILT_IN_CIMAG.
+ 	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
+ 	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
+ 	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
+ 	BUILT_IN_CIMAG.
+ 	* extend.texi: Document these builtins.
+ 
+ 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
+ 
+ 	* c-common.c (lang_get_alias_set): Say we know nothing of
+ 	VECTOR_TYPE aliasing.
+ 
+ 	* dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
+ 
+ 2001-01-05  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
+ 	their x* equivalent versions for atexit-less systems
+ 	* fixinc/fixincl.c(main): do not return from main() on atexit-less
+ 	systems (or any other system any more).
+ 
+ 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (ldmsi_postinc): Avoid use of match_dup between input and
+ 	output operands.  Use arm_hard_register_operand for operand 4.
+ 	(stmsi_postinc): Similarly.
+ 	(ldmsi): Use arm_hard_register_operand for opernand 2.
+ 	(stmsi): Similarly.
+ 	* arm.c (arm_hard_register_operand): New function.
+ 	* arm-protos.h (arm_hard_register_operand): Prototype it.
+ 
+ 	* arm.h (HARD_REGNO_RENAME_OK): Define.
+ 
+ Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (cfc_args): add "unordered" field.
+ 	(check_fold_consts): Set unordered field.
+ 	(simplify_relational_operation): Simplify the unordered
+ 	comparisons.
+ 
+ 	* reg-stack.c (swap_rtx_condition): Ensure that the transformation
+ 	is valid.
+ 
+ 	* emit-rtl.c (try_split): Fix code to mark labels.
+ 	* jump.c (mark_jump_label): Make global.
+ 	* rtl.h (mark_jump_label): Declare.
+ 
+ 	* predict.c (estimate_probability): Handle unordred comparisons.
+ 
+ 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update for -MP.  Clarify behavior of -MT.
+ 	* cppinit.c (initialize_dependency_output):  Update.
+ 	(cpp_finish): Output dummy targets for -MP.
+ 	(OPT_MP): New.
+ 	(cpp_handle_option): Handle -MP.  Don't quote -MT options.
+ 	* cpplib.h (struct cpp_options): Add deps_phony_targets.
+ 	* gcc.c (cpp_options): Update to handle -MP.
+ 	* mkdeps.c (deps_add_target, deps_add_default_target): Update
+ 	to quote only the default target.
+ 	(deps_phony_targets): Insert a preceding newline.  Rename from
+ 	deps_dummy_targets for consistency.
+ 	* mkdeps.h: Update
+ 
+ 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* calls.c (emit_library_call_value_1): Support
+ 	INIT_CUMULATIVE_LIBCALL_ARGS.
+ 	* tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
+ 
+ 2001-01-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (finish_struct): Detect flexible array members
+ 	used in an inappropriate context.
+ 	* c-typeck.c (really_start_incremental_init): Special case
+ 	constructor_max_index for zero length arrays.
+ 	(pop_init_level): Allow initialization of flexible array
+ 	members.  Deprecate initialization of zero length arrays.
+ 	Don't issue missing initializer warning for flexible array
+ 	members or zero length arrays.
+ 	(process_init_element): Don't dereference null DECL_SIZE.
+ 	* varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
+ 	Don't abort for empty constructors.  Use size_binop
+ 	(output_constructor): Add commentary regarding zero length
+ 	array futures.  Abort if we try to initialize an array of
+ 	unspecified length with a non-empty constructor in the middle
+ 	of a structure.
+ 
+ 	* extend.texi (Zero Length): Update and clarify documentation
+ 	on static initialization.
+ 
+ 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
+ 	with more than 32767 words of local storage.
+ 
+ 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
+ 	for 'abs', 'labs', and 'fabs'.
+ 	(c4x_expand_builtin): Likewise.
+ 	* config/c4x/c4x.h (enum c4x_builtins): Likewise.
+ 
+ 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (prget, prset): New insn types.
+ 	(return delay slot): Don't allow prset.
+ 	(call, sfunc delay slot): Don't allow prget.
+ 	(movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
+ 	for prset and prget.
+ 
+ 2001-01-05  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.h (struct loop_reg): New.
+ 	(struct loop_regs): Change to use array of `struct loop_reg'.
+ 	* loop.c: Replace assortment of varrays with single regs array.
+ 	(count_one_set): Delete may_not_move array argument
+ 	and use regs array instead.  All caller's changed.
+ 	(count_loop_regs_set): Delete may_not_move and single_usage
+ 	arguments and use regs array instead.  All caller's changed.
+ 	(find_single_use_in_loop): Replace usage array argument with pointer
+ 	to regs structure.  All caller's changed.
+ 	(loop_optimize): Delete `moved_once' array.
+ 
+ 2001-01-05  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (prescan_loop): Set loop_info->has_nonconst_call.
+ 	Use it instead of loop_info->has_call for scanning loop mems.
+ 	(check_dbra_loop): Replace loop_info->has_call test with
+ 	loop_info->has_nonconst_call.
+ 
+ 2000-01-04  Matthew Hiller  <hiller@redhat.com>
+ 
+ 	* config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
+ 	for TARGET_SH3E.
+ 
+ 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
+ 	use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
+ 
+ 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
+ 	(flag_short_double, flag_short_wchar): Define.
+ 	(c_common_nodes_and_builtins): Create many tree nodes shared
+ 	between C and C++ here instead of in cp/decl.c and ...
+ 	* c-decl.c (init_decl_processing): ... here.
+ 	(SIZE_TYPE, WCHAR_TYPE): Don't define.
+ 	(flag_short_double, flag_short_wchar): Don't define.
+ 	(record_builtin_type): New function.
+ 	(build_void_list_node): New function.
+ 	* c-common.h (flag_short_double, flag_short_wchar,
+ 	record_builtin_type, build_void_list_node): Declare.
+ 
+ Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
+ 
+ 	* integrate.c (expand_inline_function): Don't put a virtual
+ 	register into the reg map.
+ 
+ 	* function.c (fixup_var_refs_1): If force_operand didn't put
+ 	the address into the target, move it there.
+ 
+ 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Special-case tree_decl/tree_list allocations.
+ 	* ggc-page.c (OBJECT_PER_PAGE): Reimplement.
+ 	(OBJECT_SIZE): New macro.
+ 	(NUM_EXTRA_ORDER): Likewise.
+ 	(extra_order_size_table): New variable.
+ 	(NUM_ORDERS): New macro.
+ 	(objects_per_page_table): New variable.
+ 	(object_size_table): New variable.
+ 	(G.pages): Use NUM_ORDERS to bound the array.
+ 	(G.page_tails): Likewise.
+ 	(DIV_ROUND_UP): Remove.
+ 	(BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
+ 	(alloc_page): Use OBJECT_SIZE.
+ 	(size_lookup): Don't make it const.
+ 	(ggc_alloc): Use OBJECT_SIZE.
+ 	(ggc_set_mark): Likewise.
+ 	(ggc_get_size): Likewise.
+ 	(init_ggc): Set up the object_size_table, objects_per_page_table,
+ 	and adjust size_lookup.
+ 	(ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
+ 	(ggc_pop_context): Use NUM_ORDERS.
+ 	(clear_marks): Likewise.
+ 	(sweep_pages): Likewise.
+ 	(poison_pages): Likewise.
+ 	(ggc_print_statistics): Use OBJECT_SIZE.
+ 
+ Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
+ 	Only call array_size_for_constructor if last field and array type
+ 	with no upper bound.
+ 
+ 2001-01-04  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (arm_gen_constant): Prefer to emit constants
+ 	from bit 31 downwards, if this requires no more insns.
+ 	(count_insns_for_constant): New helper function for above.
+ 
+ 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gencodes.c (output_predicate_decls): Remove empty initializer.
+ 
+ 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (copy_node): Remove documentation about obstacks.
+ 	(buidl1): Check that nobody tries to build 2-argument nodes this
+ 	way.
+ 
+ 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
+ 	fp_high_losum_p.
+ 
+ 	* gencodes.c (output_predicate_decls): Fill empty initializer
+ 	braces.
+ 
+ 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tradcpp.c (deps_file, print_deps_missing_files): New variables.
+ 	(main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
+ 	or -MM.
+ 	(do_include): Handle missing headers like cpp0.
+ 	* cppfiles.c (_cpp_execute_include): Don't prefix absolute header
+ 	paths with first include pathname.  Don't strcat to uninitialized
+ 	string.
+ 
+ 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* regrename.c (regrename_optimize): Don't rename from frame pointer
+ 	if frame_pointer_needed.
+ 	(do_replace): Don't set ORIGINAL_REGNO to a hard register number.
+ 	* config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
+ 	(ia64_reorg): Use it instead of scheduling if ! optimize.
+ 	(errata_emit_nops): Properly call asm_noperands.
+ 	(ia64_sched_reorder): Finish cycle if we see an asm.
+ 	(ia64_variable_issue): Clear scheduling state after asms.
+ 
+ 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpp.texi: Update for -MT.
+ 	* cppinit.c (initialize_dependency_output): Add a default
+ 	target if none has been given already.
+ 	(no_tgt, OPT_MT): New.
+ 	(cpp_handle_option): Handle -MT.  Update -M etc.
+ 	* cpplib.h (struct cpp_options): Remove deps_target.
+ 	* gcc.c (cpp_options): Handle -MT.
+ 	* mkdeps.c (struct deps): Move from mkdeps.h.
+ 	(deps_calc_target): Rename deps_add_default_target.  Add a
+ 	default target if none has been specified already.
+ 	* mkdeps.h (struct deps): Move to mkdeps.c.
+ 	(deps_calc_target): Rename deps_add_default_target.
+ 
+ 2000-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Give zero-length arrays size zero.
+ 	Remove dead code.
+ 	* c-typeck.c (push_init_level): Move checks for flexible array
+ 	members and zero length arrays ...
+ 	(pop_init_level): ... here.  Silently discard empty initializations.
+ 	Remove dead code.
+ 	* varasm.c (output_constructor): Update for sizeof change to
+ 	zero-length arrays.
+ 
+ 	* extend.texi (Zero Length): Clarify semantics.
+ 
+ 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (tm.h): Include isns-codes.h last.
+ 	* configure: Rebuilt.
+ 
+ 2001-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (addvsi3, addvdi3): New.
+ 	(negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
+ 
+ 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* tradcpp.c (main): Make sure finclude() is called with a valid
+ 	indepth value while handling -include.
+ 
+ 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gencodes.c (output_predicate_decls): New function.
+ 	(main): Call it.
+ 	* machmode.h (GET_MODE_MASK): Arrange for it to be defined
+ 	even if it is not the first time machmode.h is #included.
+ 	* config/sh/sh.c (fpul_operand): Declare MODE argument.
+ 	* tm.texi (PREDICATE_CODES): Document predicate declarations.
+ 	* gcc.texi (Copyright): Added 2001.
+ 
+ 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-common.c (c_common_lang_init): New function.  Warn if format
+ 	warning options which only have effects when used with -Wformat
+ 	are used without -Wformat.
+ 	* c-common.h (c_common_lang_init): Declare.
+ 	* c-lang.c (lang_init): Call c_common_lang_init.
+ 	* objc/objc-act.c (lang_init): Call c_common_lang_init.
+ 
+ 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Check for the mktemp command.
+ 	* configure: Regenerate.
+ 	* gccbug.in: Use a separate temporary file $TEMP0 for one use of
+ 	$TEMP.  Create temporary files with mktemp, if available at
+ 	configure time; otherwise use set -C.  Remove temporary files
+ 	before exit.
+ 
+ 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Require at least texinfo 4.0.  Check for whether
+ 	Pod::Man is sufficiently recent to regenerate GCC manpages.
+ 	* configure:  Regenerate.
+ 	* Makefile.in (TEXI2POD): Call perl explicitly rather than relying
+ 	on #!.
+ 	(GENERATED_MANPAGES): Define.
+ 	(generated-manpages): New target.  Depend on cpp.1 as well as
+ 	gcov.1.
+ 	(install-man): Depend on $(GENERATED_MANPAGES) (defined by
+ 	configure to generated-manpages or empty) rather than on the
+ 	manpages directly.  Remove execute permission from installed
+ 	gcov.1 as well as cpp.1.
+ 	* cpp.1, gcov.1: Regenerate.
+ 
+ 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strncmp): Use host_integerp and
+ 	tree_low_cst.  Allow using cmpstrsi in more cases.
+ 
+ Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
+ 	sized types.
+ 
+ Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
+ 	* Makefile.in (HOST_CFLAGS): Mention build-make.
+ 
+ Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
+ 	as JUMP_INSN.
+ 
+ 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
+ 	a REG rtx.
+ 
+ 	* cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
+ 	callers changed.
+ 
+ 	* alias.c (throughout): Use ORIGINAL_REGNO when accessing
+ 	reg_base_value and reg_known_value arrays.
+ 	(init_alias_analysis): Add more cases to detect known values.
+ 	* sched-deps.c (deps_may_trap_p): New function.
+ 	(sched_analyze_2): Use it.
+ 
+ 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (simplify_shift_const): Even if we're sign-extracting,
+ 	don't discard an ASHIFTRT if we're shifting in a wider mode.
+ 
+ 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* toplev.c (rest_of_compilation): Don't print basic block information
+ 	when CFG isn't up to date.
+ 
+ 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
+ 
+ 	* config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
+ 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
+ 	(UNALIGNED_SHORT_ASM_OP): Define.
+ 	(CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
+ 
+ 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (fold_convert): Fix typo.
+ 
+ 2001-01-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (ASM_INPUT_P): New.
+ 	* c-parse.in (asm): Set it when needed.
+ 	* c-semantics.c (genrtl_asm_stmt): Test it instead of the
+ 	existence of an operand.
+ 
+ Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
+ 	(dwarf2out_frame_debug_expr): Likewise.
+ 	(mem_loc_descriptor): Handle PRE and POST_MODIFY.
+ 
+ Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_split_to_parts): Return number of part required;
+ 	handle TFmodes.
+ 	(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
+ 	TFmodes.
+ 	(ix86_split_long_move): Use number of part returned
+ 	by ix86_split_to_parts
+ 	* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
+ 	New macros.
+ 	(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
+ 	(LONG_DOUBLE_TYPE_SIZE): Change from constant.
+ 	(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
+ 	(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
+ 	(ALIGN_MODE_128): Add TFmode.
+ 	(IS_STACK_MODE): Likewise.
+ 	(HARD_REGNO_NREGS): TFmode needs 3 registers.
+ 	(HARD_REGNO_OK): Support TFmodes.
+ 	(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
+ 	* i386.md (scheduler definitions): Use memory operand to determine
+ 	fst/fld instructions; use mode attribute to determine real mode of
+ 	the instruction.
+ 	(*tf): New patterns, expanders and splitters; based on XFmode patterns.
+ 	* invoke.texi (128bit-long-double, 96bit-long-double): Document.
+ 
+ 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.def (TRUTH_NOT_EXPR): Improve documentation.
+ 
+ Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
+ 
+ 	* expr.c (store_constructor_field): Update ALIGN before calling
+ 	store_constructor.
+ 
+ 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* config/mips/mips.c (function_arg): Don't pass NULL_TREE to
+ 	host_integerp.
+ 
+ 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
+ 
+ 	* tm.texi (FUNCTION_ARG): Document that @var{type} can be an
+ 	incomplete type.
+ 
+ Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
+ 
+ 	* c-decl.c (start_function): Don't warn on third parameter to main.
+ 
+ 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tsystem.h: Define HAVE_DECL_GETOPT.
+ 
+ 2001-01-02  Philip Blundell  <pb@futuretv.com>
+ 
+ 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
+ 	of input operand.
+ 
+ 2001-01-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alpha.md (*ze_and_ne): Duplicate insn condition to split.
+ 
+ 2001-01-02  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-decl.c (c_decode_option): Remove support of
+ 	-Wmissing-noreturn.
+ 
+ 	* toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
+ 	(W_options): Add -Wmissing-noreturn here.
+ 
+ 	* flow.c: Define lang_missing_noreturn_ok_p.
+ 	(check_function_return_warnings): Use it.
+ 
+ 	* c-common.h: Declare lang_missing_noreturn_ok_p.
+ 
+ 	* c-lang.c (c_missing_noreturn_ok_p): New function.
+ 	(lang_init): Set lang_missing_noreturn_ok_p.
+ 
+ 	* invoke.texi (Warning Options): Document this.
+ 
+ 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
+ 
+ 	* extend.texi (C++ Extensions):  New node for C++ attributes;
+ 	describe init_priority and com_interface.
+ 	* invoke.texi:  Remove -finit-priority as it now has zero effect.
+ 	* install.texi:  Fix xref syntax.
+ 	* md.texi:  Likewise.
+ 
+ Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config.gcc (sparc64-wrs-vxworks*): New case.
+ 	* config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
+ 
+ 	* config/sparc/sparc.c (sparc_override_options): Do support different
+ 	pointer and architecture size.
+ 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
+ 	(POINTERS_EXTEND_UNSIGNED): Define.
+ 	(Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
+ 	(FUNCTION_MODE): Define to be Pmode.
+ 	* config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
+ 
+ 	* function.c (expand_function_end): Properly handle DECL_RESULT
+ 	and copy when ptr_mode != Pmode.
+ 	* expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
+ 
+ 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Set prototype
+ 	parameters for __builtin_fputs, __builtin_fputc and
+ 	__builtin_fwrite.  Don't declare plain fputc as a builtin.
+ 
+ 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* loop.c (add_label_notes): Increment the label usage count when
+ 	a note is added to an insn which refers to a CODE_LABEL.
+ 	* gcse.c (add_label_notes): Likewise.
+ 
+ 2001-01-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* loop.c (scan_loop): Use xmalloc to allocate movables.
+ 
+ 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tm.texi (REGISTER_MOVE_COST): Add a mode argument.
+ 	* reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
+ 	* reload1.c (REGISTER_MOVE_COST): Likewise.
+ 	* regclass.c (REGISTER_MOVE_COST): Likewise.
+ 	(move_cost, may_move_in_cost, may_move_out_cost): Add mode
+ 	dimension.  Adjust all users.
+ 	(init_reg_sets_1): Iterate on all modes.
+ 	* config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
+ 	* config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
+ 
+ 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
+ 	arg VARIES_P.  Call it with extra arg.
+ 	(true_dependence): Likewise.
+ 	* rtl.h (rtx_addr_can_trap_p): Declare.
+ 	(rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
+ 	prototypes.
+ 	* rtlanal.c (rtx_addr_can_trap_p): No longer static.
+ 	(rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
+ 	pic offset table register if it's zero.  All callers changed.
+ 	(rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
+ 
+ Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* explow.c (convert_memory_address, case SYMBOL_REF): Copy
+ 	STRING_POOL_ADDRESS_P.
+ 
+ 	* config/sparc/sparc.c (input_operand): Properly test for short op.
+ 
+ 	* config.gcc (sparc-*-elf): Include sparc/sol2.h.
+ 	(sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
+ 	(sparclite-*-elf*, sparc86x-*-elf*): Likewise.
+ 	* config/sparc/elf.h: No longer include sol2.h.
+ 	* config/sparc/lifeelf.h: No longer include sparc/elf.h.
+ 	* config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
+ 
+ 	* config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
+ 
+ 2001-01-01  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
+ 	(find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
+ 	(record_initial): Likewise.
+ 	* unroll.c (copy_loop_body, loop_iterations): Likewise.
+ 	(remap_split_bivs): Likewise.
+ 
+ 2001-01-01  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.c (loop_ivs_free): New function.
+ 	(strength_reduce): Break out from...
+ 
+ 2001-01-01  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.h (struct iv): New.
+ 	(REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
+ 	(struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
+ 	'reg_biv_class' fields with 'regs' and 'n_regs'.
+ 	(struct ivs): Rename 'loop_iv_list' field to 'list'.
+ 	* loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
+ 	* unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
+ 
+ 2001-01-01  Michael Hayes  <mhayes@redhat.com>
+ 
+ 	* loop.h (REG_IV_CLASS): New accessor macro.
+ 	* loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
+ 	* unroll.c (REG_IV_CLASS): Likewise.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2002 gcc-4.1.0/gcc/ChangeLog-2002
*** gcc-4.0.2/gcc/ChangeLog-2002	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2002	Mon Mar  7 16:19:38 2005
***************
*** 0 ****
--- 1,35988 ----
+ 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototypes.
+ 	* config/h8300/h8300.c (const_le_2_operand): Change to
+ 	const_int_le_2_operand.
+ 	(const_int_le_6_operand): Change to const_int_le_6_operand.
+ 	* config/h8300/h8300.md (two peepholes): Update the function
+ 	names.
+ 
+ 2002-12-31  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/install.texi (Testing): Fixed typo.
+ 
+ 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
+ 	(TRAMPOLINE_SIZE): Support the normal mode.
+ 	(INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
+ 
+ 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (pending_lang_change): Declare.
+ 
+ 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
+ 	descriptions.
+ 
+ 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* gcc/doc/invoke.texi (Optimization Options): List the options
+ 	enabled by each -O flag.
+ 
+ 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Configuration): Explicitly refer
+ 	gcc/config.gcc for a list of cpu models.
+ 
+ 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h: Fix comment typos.
+ 
+ 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
+ 
+ 2002-12-30  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/install.texi (Testing): Mention Jacks.
+ 
+ 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/gcc.texi, doc/gccint.texi: Update last modification dates.
+ 
+ 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Use extu.w in more
+ 	cases.
+ 	(compute_logical_op_length): Update to reflect the change in
+ 	output_logical_op.
+ 	(compute_logical_op_cc): Likewise.
+ 
+ 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/service.texi: Uncomment and update FAQ link.
+ 
+ 2002-12-30  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
+ 
+ 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
+ 
+ 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Use extu.w if we
+ 	are clearing the most significant byte.
+ 	(compute_logical_op_length): Update to reflect the change in
+ 	output_logical_op.
+ 	(compute_logical_op_cc): Likewise.
+ 
+ 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Give internal names to anonymous
+ 	insns.
+ 
+ 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Reorder some insns.
+ 
+ 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add prototypes for
+ 	const_int_qi_operand and const_int_hi_operand.
+ 	* config/h8300/h8300.c (const_int_qi_operand): New.
+ 	(const_int_hi_operand): Likewise.
+ 	* config/h8300/h8300.md (three peepholes): New.
+ 
+ 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
+ 	Use @copying.
+ 
+ 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* configure.in: Increase makeinfo version requirement to 4.[2-9].
+ 	* configure: Regenerate.
+ 	* doc/install.texi: Update Texinfo version requirement.
+ 
+ 2002-12-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.c (x86_function_profiler): Mark labelno as
+ 	possibly unused.
+ 
+ 	* c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
+ 	correct format.
+ 
+ 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorhi_shift_8): Change the name to
+ 	*iorhi_ashift_8.
+ 	(*iorhi_lshiftrt_8): New.
+ 
+ 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/include/texinfo.tex: Update to version 2002-12-26.16.
+ 
+ 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
+ 
+ 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Fix comment typos.
+ 	Update copyright.
+ 	* config/h8300/h8300.c: Fix comment typos.
+ 
+ 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
+ 
+ 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/athlon.md: Fix comment typos.
+ 	* config/i386/crtdll.h: Likewise.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i386/k6.md: Likewise.
+ 	* config/i386/mingw32.h: Likewise.
+ 	* config/i386/pentium.md: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i386/xmmintrin.h: Likewise.
+ 
+ 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
+ 
+ 	* ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
+ 	INSN_P before checking to see if it is dead.
+ 	(mark_all_insn_unnecessary): Similarly.
+ 	(ssa_eliminate_dead_code): Similarly.
+ 	* rtl.h (struct rtx_def): Update comments for in_struct usage
+ 	in dead code elimination pass.
+ 	(INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
+ 
+ 2002-12-26  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
+ 
+ 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Convert to
+ 	tartet_flags_explicit.
+ 	* config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
+ 	Compact target_flags bits.
+ 	(TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
+ 	(TARGET_SWITCHES): Delete references to *_SET flags.
+ 
+ Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (memory attribute): Fix setcc attribute.
+ 
+ 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* output.h: Fix comment typos.
+ 	* predict.c: Likewise.
+ 	* print-tree.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* ra-colorize.c: Likewise.
+ 	* ra-debug.c: Likewise.
+ 	* ra-rewrite.c: Likewise.
+ 	* ra.c: Likewise.
+ 	* ra.h: Likewise.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* regclass.c: Likewise.
+ 
+ 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand_address): Do not negate
+ 	a negative number when printing one.
+ 
+ 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add prototypes for
+ 	output_plussi, compute_plussi_length, and compute_plussi_cc.
+ 	* config/h8300/h8300.c (output_plussi): New.
+ 	(compute_plussi_length): Likewise.
+ 	(compute_plussi_cc): Likewise.
+ 	* config/h8300/h8300.md (addsi_h8300h): Call
+ 	output_plussi, compute_plussi_length, and compute_plussi_cc.
+ 
+ 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two peepholes): Use match_dup instead
+ 	of match_operand in the new patterns.
+ 
+ 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/include/texinfo.tex: Update to version 2002-11-25.11.
+ 
+ 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (enable-coverage): Add SELF_COVERAGE.
+ 	* profile.c (end_branch_prob): Use SELF_COVERAGE.
+ 
+ 2002-12-24  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* alias.c (record_set): Handle multi-reg hard registers.
+ 
+ 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* regmove.c: Fix comment typos.
+ 	* reload.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* rtl.def: Likewise.
+ 	* rtl.h: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* sched-deps.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* system.h: Likewise.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tracer.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* unroll.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
+ 
+ 	* doc/install.texi: Remove i386-*-isc, i860-*-bsd,
+ 	m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
+ 	* doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
+ 	DG/UX entries.
+ 	* doc/md.texi: Remove AMD 29K entries.
+ 	* doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
+ 	1.38.1, NewsOS, RT PC, WE32K entries.
+ 
+ 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR/8763
+ 	* config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
+ 	(altivec_vspltisw_v4sf): Name pattern.
+ 	(altivec_vslw_v4sf): New pattern.
+ 
+ 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/include/gcc-common.texi: Define DEVELOPMENT.
+ 
+ 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (update_alignment_for_field): Correct handling of
+ 	unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
+ 	* doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
+ 	bitfield does not affect alignment.
+ 
+ 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (expand_assignment): Apply special treatment to
+ 	ARRAY_TYPE.
+ 
+ 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype of
+ 	expand_a_shift.
+ 	* config/h8300/h8300.c (expand_a_shift): Change the return
+ 	type to void.
+ 	* config/h8300/h8300.md: Update all the uses of
+ 	expand_a_shift.
+ 
+ 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.c (save_expr): Allow either side of a dyadic operand to be
+ 	constant.
+ 
+ 	* doc/portability.texi (portability): Update portability goals.
+ 
+ 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_a_shift): Remove unused code.
+ 
+ 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (update_alignment_for_field): Guard use of
+ 	ADJUST_FIELD_ALIGN with #ifdef.
+ 
+ 	* stor-layout.c (update_alignment_for_field): Use
+ 	ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
+ 	bitfield when PCC_BITFIELD_TYPE_MATTERS.
+ 
+ 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genautomata.c: Fix comment typos.
+ 
+ Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* params.def (tracer-min-branch-probability-feedback): Fix default.
+ 	* final.c (compute_alignments): Use profile to avoid code bloat.
+ 
+ 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Make shift insn
+ 	sequences end with a valid cc0 whenever possible.
+ 
+ 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (negsf2): New.
+ 	(*negsf2_h8300): Likewise.
+ 	(*negsf2_h8300hs): Likewise.
+ 
+ 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* integrate.c (output_inline_function): Don't hold private
+ 	pointers to 'struct function' over GC calls.
+ 
+ 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
+ 	NO_FPSCR_VALUES.
+ 	* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
+ 
+ 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (zero_extendqisi2): Correct the
+ 	length.
+ 
+ 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
+ 	second alternative "#".
+ 	(*zero_extendqihi2_h8300hs): Likewise.
+ 	(a define_split): New.
+ 
+ 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	split_adds_subs.
+ 	Add prototypes for const_le_2_operand and const_le_6_operand.
+ 	* config/h8300/h8300.c (split_adds_subs): Add an argument to
+ 	specify whether inc/dec should be used when possible.
+ 	(const_le_2_operand): New.
+ 	(const_le_6_operand): Likewise.
+ 	* config/h8300/h8300.md (two peepholes): New.
+ 
+ 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30.md: Fix a comment typo.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 
+ 2002-12-20  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__ev_subifw): Reverse arguments.
+ 	(__ev_subw, __ev_subiw): New.
+ 	(ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
+ 	ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
+ 
+ 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
+ 
+ 	* pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
+ 	* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
+ 	* pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
+ 	TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
+ 
+ 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add prototypes for
+ 	incdec_operand and eqne_operator.
+ 	* config/h8300/h8300.c (incdec_operand): New.
+ 	(eqne_operator): Likewise.
+ 	* config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
+ 	(CONST_OK_FOR_O): Likewise.
+ 	(CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
+ 	CONST_OK_FOR_O.
+ 	* config/h8300/h8300.md (UNSPEC_INCDEC): New.
+ 	(addhi3_incdec): New.
+ 	(addsi3_incdec): Likewise.
+ 	(two peepholes): Likewise.
+ 
+ 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (dosize): Remove warnings.
+ 	(print_operand): Likewise.
+ 
+ 2002-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (decl_has_samegp): New.
+ 	(samegp_function_operand): Use it.  Rename from
+ 	current_file_function_operand.
+ 	(direct_call_operand): Handle -msmall-text via symbol->jump.
+ 	(tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
+ 	(tls_symbolic_operand_type): Likewise.
+ 	(alpha_encode_section_info): Likewise.  Handle -msmall-text.
+ 	(alpha_function_ok_for_sibcall): Use decl_has_samegp.
+ 	(alpha_end_function): Set symbol->jump for functions defined in
+ 	the text section.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
+ 	(TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (call patterns): Update for
+ 	samegp_function_operand rename; use !samegp reloc if
+ 	TARGET_EXPLICIT_RELOCS.
+ 	* doc/invoke.text: Document -msmall-text and -mlarge-text.
+ 
+ 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+ 
+ 	* config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
+ 	all registers capable of holding a double float.
+ 	(*rcond): change name of "reverse branch" insns to
+ 	something more meaningful.
+ 	(*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
+ 	comparisons properly.
+ 	(*ffs): Change operand 0 from write to read-modify-write.
+ 	(*ffsssi2): Drop constraints from define_expand.
+ 
+ 	* config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
+ 	MOVE_RATIO as default for store operations.
+ 
+ 	* config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
+ 	LONG_REGS class.
+ 	(CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
+ 	* config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
+ 
+ 	* config/ns32k/STATUS: New File
+ 	* config/ns32k/NOTES: New file.
+ 
+ 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
+ 	option for S/390 and zSeries.
+ 	* config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
+ 	s390_arch_string): New variables.
+ 	(override_options): Checking for options and setting of
+ 	appropriate target_flags, cpu and arch flags.
+ 	* config/s390/s390.h: (processor_type): New enum.
+ 	(TARGET_SWITCHES): New switches -mesa/zarch.
+ 	* config/s390/s390.md: New attribute 'cpu'.
+ 
+ 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-pretty-print.h: Fix comment typos.
+ 	* integrate.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/fr30/fr30.md: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ip2k/ip2k.md: Likewise.
+ 	* config/m68hc11/m68hc11-crt0.S: Likewise.
+ 	* config/m68hc11/m68hc11.h: Likewise.
+ 	* config/m68hc11/m68hc11.md: Likewise.
+ 	* config/m68hc11/m68hc12.h: Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/mmix/mmix-modes.def: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 
+ 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (output_a_shift): Clean up the code to
+ 	output shifts using rotation.
+ 
+ 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* flow.c (allocate_reg_life_data): Reset REG_FREQ.
+ 
+ 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (pushqi_h8300): Don't push the stack
+ 	pointer.
+ 	(pushqi_h8300hs): Likewise.
+ 	(pushhi_h8300): Likewise.
+ 	(pushhi_h8300hs): Likewise.
+ 
+ Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sched-rgn.c (init_regions): Update comment.
+ 
+ 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (define_attr type): Remove altivec.
+ 	* config/rs6000/altivec.md (movv4si_internal): Set correct instruction
+ 	attributes.
+ 	(movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
+ 	(get_vrsave_internal,set_vrsave_internal): Same.
+ 	(altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
+ 	(absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
+ 	(altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
+ 
+ 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+ 	    Danny Smith  <dannysmith@users.sourceforge.net>
+ 	    Eric Kohl  <ekohl@rz-online.de>
+ 
+ 	* config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
+ 	attributes incompatible with fastcall attribute.
+ 	(ix86_handle_regparm_attribute): Likewise.
+ 
+ 	* config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
+ 	fastcall types.
+ 
+ 	* config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
+ 	attributes.
+ 	(ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
+ 	* config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
+ 	* config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
+ 	i386_pe_output_labelref rather than here.
+ 	(gen_fastcall_suffix): New function. Decorates a label name with the
+ 	fastcall prefix (@) and the stdcall suffix.
+ 	(i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
+ 	has a fastcall attribute.
+ 	(i386_pe_output_labelref): New function. Outputs a label reference.
+ 	* config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
+ 	valid attribute.
+ 	(ix86_return_pops_args): Fastcall functions pop the stack.
+ 	(init_cumulative_args): Reserve registers ECX and EDX if function has
+ 	fastcall attribute.
+ 	(function_arg): Use registers ECX and EDX if function has fastcall
+ 	attribute.
+ 	* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
+ 	(DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
+ 	(FASTCALL_PREFIX): Define as '@'.
+ 	* config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
+ 	attributes.
+ 	* doc/extend.texi: Add documentation of fastcall attribute.
+ 
+ 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: FORBUILD when build!=host changed from
+ 	../$build-alias to ../build-$build_alias to match change made
+ 	in top directory.
+ 	* configure: Regenerated.
+ 
+ 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/8988
+ 	* loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
+ 	the biv when eliminating.
+ 
+ 2002-12-19  Devang Patel  <dpatel@apple.com>
+ 	* gcc.c (struct default_compiler): Recognizes input file name with
+ 	.CPP extension as C++ source files
+ 	* cp/lang-spec.h: Same
+ 	* doc/invoke.texi:  Add documentation for .CPP support.
+ 
+ 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR 8553
+ 	* config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
+ 	registers.
+ 	("absv16qi2"): Same.
+ 	("absv4si2"): Same.
+ 	("absv4sf2"): Same.
+ 	("altivec_abss_v16qi"): Same.
+ 	("altivec_abss_v8hi"): Same.
+ 	("altivec_abss_v4si"): Same.
+ 
+ 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
+ 	"*tstqiCCT", "*tstqiCCT_cconly"): New insns.
+ 
+ 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/8340
+ 	* stmt.c (expand_asm_operands): Produce an error when
+ 	the PIC register is clobbered.
+ 
+ 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (OBJS): Add alloc-pool.o
+ 	(alloc-pool.o): New object.
+ 
+ 	* alloc-pool.c: New file.
+ 	* alloc-pool.h: New file.
+ 
+ 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* gcc.c (validate_switches): Robustify against skipping past '\0'.
+ 
+ 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.gcc: Set extra_objs in the generic Darwin rule,
+ 	not in the machine-specific rules.
+ 
+ 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.5: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* df.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* timevar.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* varasm.c: Likewise.
+ 	* config/fr30/fr30.md: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 
+ 2002-12-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* basic-block.h (flow_bb_inside_loop_p): Correct prototype.
+ 
+ 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR 8551
+ 	* config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
+ 	macro.
+ 	(vec_cmplt C++ functions): Reverse arguments.
+ 
+ 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/t-rs6000: Move contents to t-fprules,
+ 	add rules for dependencies of rs6000.o and to build rs6000-c.o
+ 	* config/rs6000/t-fprules: New file from t-rs6000.
+ 	* config/rs6000/t-beos: Remove soft-fp rules.
+ 	* config/rs6000/t-ppccomm: Likewise.
+ 	* config/rs6000/t-newas: Likewise.
+ 	* config/rs6000/t-rs6000-c-rule: Delete.
+ 	* config.gcc: Use t-fprules for rs6000/ ports when appropriate.
+ 	Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
+ 	Create generic Darwin rules.
+ 
+ 	* gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
+ 
+ 2002-12-18  Doug Evans  <dje@sebabeach.org>
+ 
+ 	* m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
+ 	and LIT_NAME_P.
+ 	(move_src_operand): Remove compile-time warning.
+ 	* m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
+ 
+ 2002-12-18  Jason Merrill  <jason@redhat.com>
+ 
+ 	* unwind-dw2-fde.c (frame_downheap): Split out from...
+ 	(frame_heapsort): Here.
+ 
+ 2002-12-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
+ 	(build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
+ 
+ 	* gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
+ 
+ 	* calls.c (expand_call): Don't try to be clever about expanding
+ 	the return slot address.
+ 
+ 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
+ 	Define.
+ 
+ 2002-12-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	* genmultilib: Use 'cd ./foo'.
+ 
+ 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/c-tree.texi: Restore deliberate spelling mistakes.
+ 
+ 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/c-tree.texi: Fix typos and follow spelling conventions.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/gty.texi: Likewise.
+ 	* doc/install.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 	* doc/passes.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* doc/invoke.texi: Minor spelling and grammar fixes.
+ 
+ 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_output_constant_pool): Replace
+ 	ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
+ 
+ Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* convert.c (convert_to_real): Disable function transformation for
+ 	now.
+ 
+ 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gcc.c (handle_braces): Allow '@' as a switch name.
+ 
+ 2002-12-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	* calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
+ 	with special struct-return ABIs.
+ 
+ 	* c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
+ 	doesn't match the begin SCOPE_STMT in partialness.
+ 
+ 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* genmultilib: Create temporary files in unique subdirectory.
+ 
+ 	* gcc.c (validate_switches): Allow '@' as a switch name.
+ 
+ 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* Makefile.in (gcov-iov.h): Improve portability.
+ 
+ Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
+ 	gas
+ 	* mips.md (tablejump insn): Likewise.
+ 
+ 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/include/gcc-common.texi: Change version number to 3.4.
+ 
+ 2002-12-16  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixlib.h: add: #include <signal.h>
+ 	* fixinc/fixincl.c: remove: #include <signal.h>
+ 
+ Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (EXTRA_CONSTRAINT_Z): New macro.
+ 	(EXTRA_CONSTRAINT): Use it.
+ 	* sh.md (anddi3): Use 'Z' constraint for alternative 2.
+ 
+ 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc (need_64bit_hwint): New variable.
+ 	(alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
+ 	mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
+ 	sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
+ 	sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
+ 	Set it.
+ 	(powerpc*-*-darwin*): Unset it.
+ 	(alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
+ 	i?86-*-interix*, sparc64-*-openbsd*): Remove references to
+ 	deleted/nonexistent xm-*.h headers.
+ 	* configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
+ 	target set need_64bit_hwint in config.gcc.
+ 	* configure, config.in: Regenerate.
+ 
+ 	* hwint.h: Overhaul.  Don't bother trying int for
+ 	HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
+ 	decision to force 64-bit HOST_WIDE_INT on
+ 	NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
+ 	not visible at this point.  Don't allow prior definition of
+ 	any macro defined by this file.
+ 
+ 	* config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
+ 	HOST_BITS_PER_WIDE_INT.
+ 	* config/c4x/c4x.h: Adjust redefinition of
+ 	HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
+ 	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
+ 	config/i386/xm-i386-interix.h: Delete file.
+ 
+ 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
+ 	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
+ 	* pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
+ 
+ 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mkconfig.sh: Correct comment.  Add copyright boilerplate.
+ 
+ 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
+ 	config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
+ 	config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
+ 	config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
+ 	config/v850/t-v850:  Correct dependencies and normalize
+ 	compilation commands for files that include coretypes.h and tm.h.
+ 
+ 	* config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
+ 	not config.h and system.h.
+ 
+ Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (flags_reg_operand):  New function.
+ 	* i386.h (PREDICATE_CODES): Add flags_reg_operand.
+ 	* i386.md (cmov splitter, movqicc): Use new predicate.
+ 
+ Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movqicc splitter): Fix template.
+ 
+ 2002-12-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
+ 	* calls.c (expand_call): Handle it.
+ 	* tree-inline.c (struct inline_data): Remove target_exprs field.
+ 	(optimize_inline_calls): Don't initialize it.
+ 	(expand_call_inline): Don't modify it.  Handle
+ 	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
+ 	(declare_return_variable): Take return slot addr.
+ 	* langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
+ 	to return_slot_addr.
+ 	* langhooks-def.h, langhooks.c: Adjust.
+ 	* explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
+ 	a decl with no DECL_INITIAL.
+ 
+ 	* expr.c (expand_expr): Don't discard the target of a call which
+ 	returns in memory.
+ 
+ 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppinit.c (path_include): Take an environment variable name.
+ 	Tidy up.
+ 	(init_standard_includes): Simplify environment handling, and
+ 	move to ...
+ 	(cpp_read_main_file): ...here as -nostdinc should not affect
+ 	environment variable paths.
+ 
+ 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_millicode_call): Correct typo.
+ 	(output_call): Likewise.
+ 
+ Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.c (print_operand) <case N>: Check
+ 	operand's range.  Print value directly, without aid from
+ 	output_address.
+ 	<case U>: New.
+ 	<case S>: Make sure argument to fprintf has the right type.
+ 	* config/mn10300/mn10300.h (OK_FOR_T): New macro.
+ 	(EXTRA_CONSTRAINT): Adjust.
+ 	* config/mn10300/mn10300.md: Add new all-QImode pattern for
+ 	bclr.  Use %U for immediate operands of bset and bclr.
+ 	(iorqi3): New expand, with insns for AM33 and mn10300.
+ 
+ Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_register_operand): New function.
+ 	(prepare_move_operands): Use it.
+ 	* sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
+ 	* sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
+ 	(movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
+ 	(movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
+ 	(movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
+ 	(movv2si_i): Likewise.
+ 
+ 2002-12-13  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* doc/extend.texi (Complex Numbers): Update info on debug info.
+ 
+ 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (addhi3_h8300): Remove the last
+ 	alternative.
+ 
+ 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* hooks.h (hook_tree_tree_bool_false): Declare
+ 	hook_bool_tree_tree_false instead.
+ 
+ 2002-12-12  Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/invoke.texi: Document Darwin linker options, -bundle
+ 	-bind_at_load, -all_load and -arch_errors_fatal
+ 
+ 2002-12-12  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* dbxout.c (dbxout_fptype_value): New.
+ 	(dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
+ 
+ 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c: Fix a comment typo.
+ 	* cfg.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* dwarf2asm.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* final.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* loop.h: Likewise.
+ 	* output.h: Likewise.
+ 	* profile.c: Likewise.
+ 	* ra.h: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 
+ 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Add a new peephole2.
+ 
+ 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Accept a constant
+ 	that's accepted by CONST_OK_FOR_J.
+ 
+ 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (CONST_OK_FOR_J): New.
+ 	(CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
+ 	* config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
+ 	(*addhi_h8300hs): Likewise.
+ 
+ Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
+ 	(sh_register_move_cost): Add clause for SImode fp-fp moves.
+ 	Increase cost for moves involving multiple general purpose registers.
+ 	* sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
+ 	TARGET_FMOVD.
+ 	(HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
+ 	registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
+ 	(enum reg_class reg_class_from_letter): No longer const.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
+ 	REGCLASS_HAS_GENERAL_REG.
+ 	Handle SImode moves from/to fp registers.
+ 	! TARGET_SHMEDIA && TARGET_FMOVD.
+ 	(SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
+ 	* sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
+ 
+ 2002-12-12  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
+ 	change and some warnings.
+ 
+ 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/md.texi (pushm): Fix a typo.
+ 
+ 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_output_conditional_branch): Support
+ 	PIC-safe out-of-range branch and branch-likely.
+ 	* config/mips/mips.md (attr length): PIC-safe out-of-range
+ 	branches are longer.
+ 	("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
+ 	unused code to support indirect jumps.
+ 
+ 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (GTFILES): Add $(host_xm_file_list) and
+ 	$(tm_file_list).
+ 
+ 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
+ 
+ Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cmove splitters): Avoid creation of unnecesary subregs.
+ 
+ 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
+ 	(MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
+ 	BIGGEST_ALIGNMENT.
+ 	(PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
+ 	(FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
+ 
+ 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Correct dump file names.
+ 
+ 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
+ 	name to globalize_label or assemble_name.
+ 
+ Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
+ 	if not TARGET_SHMEDIA.
+ 
+ Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (REG_CLASS_HAS_FP_REG): New.
+ 	(REGISTER_MOVE_COST) Use it.  Put body into a function and
+ 	move it into:
+ 	* sh.c (sh_register_move_cost).
+ 	* sh-protos.h (sh_register_move_cost): Declare.
+ 
+ 	* sh.c (sh_expand_builtin): Abort for unexpected nop values.
+ 	(sh_adjust_cost): Always return a value.
+ 
+ Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (REG_CLASS_HAS_GENERAL_REG): New.
+ 	(REGISTER_MOVE_COST): Use it.
+ 
+ 2002-12-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.h (MODULE_LOCAL_P): Kill.
+ 	* varasm.c (default_binds_local_p_1): Use decl_visibility instead.
+ 
+ 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two define_peephole2): New.
+ 
+ 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
+ 	(CONST_OK_FOR_K): Likewise.
+ 	(CONST_OK_FOR_M): Likewise.
+ 	(CONST_OK_FOR_LETTER_P): Do not use the above macros.
+ 
+ 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (builtin_define_type_max): Handle unsigned
+ 	types too.
+ 
+ 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* haifa-sched.c (rank_for_schedule): Correct style.
+ 
+ 2002-12-10  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
+ 	directive_index into an unsigned field and a new is_directive field.
+ 	* cppinit.c (mark_named_operators):  Update to set new fields.
+ 	* cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
+ 	* cpplib.c [_cpp_handle_directive]:   Test is_directive field.
+ 	No longer need to subtract 1 from directive_index.
+ 	(_cpp_init_directives):  No longer need to add 1 to directive_index.
+ 	* cpptrad.c (scan_out_logical_line):  Use is_directive field.
+ 
+ 2002-12-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin): Remove -funsafe-math-optimizations
+ 	check for evaluating sqrt of a constant at compile time.
+ 	* simplify-rtx.c (simplify_unary_operation): Likewise.
+ 
+ 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	PR other/8882
+ 	* doc/tm.texi (PUSH_ARGS): Remove misplaced line.
+ 
+ 2002-12-10  Devang Patel  <dpatel@appple.com>
+ 
+ 	* config/darwin.h(LINK_SPEC): Add darwin specific linker options.
+ 	* doc/invoke.texi: Add new "Darwin Options" section.
+ 
+ 2002-12-10  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
+ 	memory.
+ 
+ 2002-12-10  Andrew Haley  <aph@redhat.com>
+ 
+ 	* cse.c (cse_insn): Don't cse past a basic block boundary.
+ 
+ 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
+ 	-shared.
+ 	* config/alpha/linux-elf.h (LIB_SPEC): Likewise.
+ 	* config/alpha/linux.h (LIB_SPEC): Likewise.
+ 	* config/arm/linux-elf.h (LIB_SPEC): Likewise.
+ 	* config/pa/pa-linux.h (LIB_SPEC): Likewise.
+ 	* config/sparc/linux.h (LIB_SPEC): Likewise.
+ 	* config/sparc/linux64.h (LIB_SPEC): Likewise.
+ 
+ 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
+ 
+ 	* doc/invoke.texi: Document UltraSparc III option.
+ 
+ 2002-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
+ 	__tune_pentium2__ and __tune_pentium3__ as necessary.
+ 
+ 2002-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (gcc_target): Add cannot_force_const_mem.
+ 	* target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 	(TARGET_INITIALIZER): Add it.
+ 	* varasm.c (force_const_mem): Fail if cannot_force_const_mem.
+ 	* expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
+ 	* reload1.c (reload): Likewise.
+ 	* hooks.c (hook_bool_rtx_false): New.
+ 	* hooks.h: Declare it.
+ 
+ 	* config/i386/i386.c (ix86_cannot_force_const_mem): New.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 	(ix86_expand_move): Remove de-const-pooling hack.
+ 
+ Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (dump_file): Fix order to match reality.
+ 
+ 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
+ 	(store_multiple): Likewise.
+ 
+ 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
+ 	function pointers in page 0.
+ 
+ 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
+ 	definition
+ 	(MEMBER_TYPE_FORCES_BLK): Move.
+ 	* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
+ 	aggregate arguments.
+ 	(ia64_function_value): Use PARALLEL to return aggregate values.
+ 
+ 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+ 	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
+ 	* calls.c (store_unaligned_arguments_into_pseudos) Remove
+ 	FUNCTION_ARG_REG_LITTLE_ENDIAN.
+ 	* stmt.c (expand_return): Ditto.
+ 	* expr.c (move_block_from_reg): Ditto.
+ 	(copy_blkmode_from_reg): Ditto.
+ 	* expmed.c (store_bit_field): Ditto.
+ 
+ 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
+ 
+ 	* config.gcc: Added tic4x-* target as an alias to c4x-*
+ 
+ Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Use force_operand instead of
+ 	constructing insn directly.
+ 
+ 2002-12-06  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cpplib.h (struct cpp_hashnode):  Change field directive_index from
+ 	char to an int bit-field, for hosts where char is unsigned.
+ 
+ 2002-12-07  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson <rth@redhat.com>
+ 
+ 	* real.c (ieee_extended_motorola_format,
+ 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
+ 	ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
+ 	Provide appropriate values for new signbit field.
+ 
+ 2002-12-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.h (real_format): Add signbit field.
+ 	* real.c (ieee_single_format, ieee_double_format,
+ 	ieee_extended_motorola_format, ieee_extended_intel_96_format,
+ 	ieee_extended_intel_128_format, ibm_extended_format,
+ 	ieee_quad_format, vax_f_format, vax_d_format,
+ 	vax_g_format, i370_single_format, i370_double_format,
+ 	c4x_single_format, c4x_extended_format, real_internal_format):
+ 	Provide suitable signbit value, or -1 to avoid bit twiddling.
+ 
+ 	* optabs.c (expand_unop): Try implementing negation of
+ 	floating point modes by flipping the sign bit.
+ 	(expand_abs): Try implementing abs of floating point modes
+ 	by clearing the sign bit.
+ 
+ Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc):  Use force_operand instead
+ 	of constructing insn directly.
+ 
+ 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorhi_shift_8): New.
+ 
+ 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* doc/invoke.texi: Document FRV port options.
+ 	* doc/md.texi: Document FRV register classes.
+ 
+ 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Configuration): Improve description of cases
+ 	where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
+ 
+ 2002-12-06  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cpplib.h (NODE_MACRO_ARG):  New flag.
+ 	(struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
+ 	Remove value.operator field.  Move arg_index field to value union.
+ 	(directive_index):  Make signed, since also used for C++ operators.
+ 	* cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
+ 	check for duplicate parameter.  Set NODE_MACRO_ARG flag.
+ 	Save node->value, and set node->value.arg_index.
+ 	(_cpp_create_definition):  For each paramater, restore node->value.
+ 	(lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
+ 	* cpptrad.c (scan_out_logical_line): Likewise.
+ 	(scan_out_logical_line): Check for directive > 0.
+ 	* cpplib.c (cpp_handle_directive):  Likewise.
+ 	* cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
+ 	by negative of directive_index.
+ 	* cppinit.c (mark_named_operators):  Likewise.
+ 
+ 	* hashtable.h (struct ht_identifier):  Swap fields, for better packing.
+ 
+ 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
+ 
+ 	* gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
+ 	FPU.
+ 	(push): Generate push_fpscr.
+ 	(pop): Generate pop_fpscr.
+ 	* gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
+ 	(fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
+ 
+ Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
+ 	DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
+ 
+ Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (movdi_i): Name.  Remove inappropriate comment.
+ 
+ Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 	Merged from basic improvements branch (excerpt):
+ 
+ 	2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 	* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
+ 
+ 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
+ 
+ Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (dimode peep2s): Re-add "&& 1".
+ 
+ Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_prologue):  Add comment, do not use
+ 	fast prologues for cold and normal functions.
+ 
+ Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_rep_movl_optimal): New variable.
+ 	(ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
+ 	* i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
+ 
+ 	* i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
+ 	absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
+ 	neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
+ 	generate unnecesary subregs.
+ 
+ 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
+ 	* pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
+ 
+ 2002-12-05  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
+ 
+ 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
+ 	PROFILE_HOOK.
+ 	* config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
+ 
+ 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__ev_mwlufi): Remove.
+ 	(__ev_mwlufia): Remove.
+ 	(__ev_mwlumfaaw): Remove.
+ 	(__ev_mwlusfaaw): Remove.
+ 	(__ev_mwlumfanw): Remove.
+ 	(__ev_mwlusfanw): Remove.
+ 
+ 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andorsi3_shift_8): New.
+ 
+ 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
+ 	lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
+ 	(get_shift_alg): Return optimal assembly instructions for the
+ 	shifts mentioned above.
+ 
+ Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Force operand into register for QImode
+ 	condtiional moves.
+ 
+ 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Do not use loop to
+ 	implement ashiftrt:HI by 13 bits on H8S.
+ 
+ 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
+ 	* pa.md (canonicalize_funcptr_for_compare): Output library call to
+ 	canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
+ 	* pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
+ 	CTOR_LIST_BEGIN): New defines.
+ 	* pa/t-linux (LIB2FUNCS_EXTRA): New define.
+ 	(fptr.c): Add make rules.
+ 
+ 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Add new canonicalizations.
+ 	* doc/md.texi (Insn Canonicalizations): Document new
+ 	canonicalizations for multiply/add combinations.
+ 	* config/rs6000/rs6000.md: Add and modify floating add/multiply
+ 	patterns to ensure they're used whenever they can be.
+ 
+ 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Update the comments related to shifts.
+ 
+ 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (get_fnaddr): Correct length attribute.
+ 
+ 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_8_8): New.
+ 	(*extzv_8_16): Likewise.
+ 
+ 2002-12-04  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/8461, c++/8625
+ 	* integrate.c (copy_decl_for_inlining): Handle explicit invisible
+ 	references.
+ 	* tree-inline.c (initialize_inlined_parameters): Likewise.
+ 
+ 	* tree.c (variably_modified_type_p): Just return an error_mark_node.
+ 
+ 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (get_fnaddr): Avoid placing an "la"
+ 	macro instruction in a branch delay slot, to avoid assembler
+ 	warnings.
+ 
+ 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/7622
+ 	* c-semantics (genrtl_scope_stmt): Do not output inlined
+ 	nested functions that contain no code.
+ 
+ Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
+ 	to be forced into nonfallthru.
+ 
+ 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
+ 
+ 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md (*movv1di_const0): New pattern.
+ 
+ 2002-12-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
+ 
+ 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
+ 	Initialize tmp.using_obstack to 0.
+ 
+ 2002-12-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
+ 	(EH_RETURN_STACKADJ_RTX): Define.
+ 	(EH_RETURN_HANDLER_RTX): Define.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	* config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
+ 	registers and don't save fixed registers.
+ 	(m68k_output_function_prologue): Use it.
+ 	(use_return_insn): Likewise.
+ 	(m68k_output_function_epilogue): Likewise.
+ 
+ 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (single_one_operand): Fix a warning.
+ 	(single_zero_operand): Likewise.
+ 
+ 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in configure configure.in dummy-conditions.c fix-header.c
+ 	gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
+ 	gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
+ 	genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
+ 	gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
+ 	genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
+ 	scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
+ 	doc/install-old.texi: Replace hconfig.h with bconfig.h.
+ 	* Makefile.in: Replace HCONFIG_H with BCONFIG_H.
+ 
+ 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.md (ffssi): Convert to expander.
+ 	(ffsdi): Likewise.
+ 	(cntlzw2, cntlzd2): New patterns.
+ 
+ 2002-12-02  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
+ 	(mips*-*-linux*): Remove mips/t-linux.
+ 
+ Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc):  Avoid overflow.
+ 
+ 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (dosize): Replace argument op with
+ 	sign.
+ 	(h8300_output_function_prologue): Update the call to dosize.
+ 	(h8300_output_function_epilogue): Likewise.
+ 
+ 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
+ 
+ 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* configure.in: Use "missing" script to generate warning if
+ 	flex or bison programs not found, instead of invoking "false".
+ 	* configure: Rebuilt.
+ 
+ Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
+ 
+ Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc):  Avoid overflow.
+ 
+ 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
+ 	(push): Likewise.
+ 	(pop): Likewise.
+ 	(h8300_output_function_prologue): Likewise.
+ 	(h8300_output_function_epilogue): Likewise.
+ 
+ Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* expmed.c (store_bit_field): Use int_mode_for_mode to find
+ 	corresponding mode of non-integer mode, unless it is VOIDmode.
+ 
+ 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (stm_h8300s_2): New.
+ 	(stm_h8300s_3): Likewise.
+ 	(stm_h8300s_4): Likewise.
+ 	(five define_peephole2): Likewise.
+ 
+ 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ra-build.c: Fix a comment typo.
+ 
+ Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): fix
+ 	reversed BRANCH_COST test; be curefull about infinite recursion.
+ 
+ 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_output_function_prologue):
+ 	Remove variable idx.
+ 	(h8300_output_function_epilogue): Likewise.
+ 
+ 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/frv/xm-frv.h: Delete, unnecessary.
+ 
+ 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Add comments for define_peephole2.
+ 
+ 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* builtin-types.def (BT_SIZE): Use size_type_node.
+ 	* builtins.c (fold_builtin): Make the builtin strlen returns a
+ 	size_t, not a sizetype.
+ 	* c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
+ 	c_size_type_node.
+ 	(c_alignof_expr): Likewise.
+ 	(c_common_nodes_and_builtins): Likewise.
+ 	* c-common.h (CTI_C_SIZE_TYPE): Remove.
+ 	(c_size_type_node): Likewise.
+ 	* c-format.c (T_ST): Use size_type_node, not c_size_type_node.
+ 	* tree.h (TI_SIZE_TYPE): New enumeral.
+ 	(size_type_node): Likewise.
+ 
+ 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Don't put ${tm_file} into host_xm_file,
+ 	build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
+ 	Take location of tm-preds.h into account when calculating
+ 	tm_p_file_list.
+ 	* configure: Regenerate.
+ 	* mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
+ 	arguments.  Do not provide rtx, rtvec, tree, or GTY here.
+ 	Remove special case code for tm_p.h and *config.h; add new
+ 	special case code for tm.h and tconfig.h. Clean up a bit.
+ 
+ 	* Makefile.in (tm_file, tm_file_list): New variables set from
+ 	@-substitutions.
+ 	(GCONFIG_H): Deleted.
+ 	(GTM_H, TM_H): New.
+ 	(CONFIG_H): Is now just config.h $(host_xm_file_list).
+ 	(TM_P_H): Move up with the other mkconfig.sh-generated
+ 	headers; don't mention tm-preds.h explicitly.
+ 	(tm.h, cs-tm.h): New rule.
+ 	(cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
+ 	invocations of mkconfig.sh for changes to that program.
+ 	(mostlyclean): Delete print-rtl1.c.
+ 	(clean): Delete tm.h.
+ 	Update dependencies for the files listed below.
+ 
+ 	* mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
+ 
+ 	* coretypes.h: New file.
+ 	* system.h: #define malloc to xmalloc and realloc to xrealloc
+ 	when FLEX_SCANNER or YYBISON is defined, independent of the
+ 	value of GCC_VERSION.
+ 	* alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
+ 	c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
+ 	c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
+ 	c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
+ 	c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
+ 	cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
+ 	cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
+ 	cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
+ 	cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
+ 	cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
+ 	debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
+ 	dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
+ 	emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
+ 	expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
+ 	function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
+ 	gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
+ 	gencheck.c, gencodes.c, genconditions.c, genconfig.c,
+ 	genconstants.c, genemit.c, genextract.c, genflags.c,
+ 	gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
+ 	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
+ 	gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
+ 	ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
+ 	hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
+ 	lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
+ 	main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
+ 	optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
+ 	print-tree.c, profile.c, protoize.c, ra-build.c,
+ 	ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
+ 	real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
+ 	regrename.c, reload.c, reload1.c, reorg.c, resource.c,
+ 	rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
+ 	scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
+ 	sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
+ 	ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
+ 	tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
+ 	tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
+ 	xcoffout.c, config/darwin-c.c, config/darwin.c,
+ 	config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
+ 	config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
+ 	config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
+ 	config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
+ 	config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
+ 	config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
+ 	config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
+ 	config/i960/i960-c.c, config/i960/i960.c,
+ 	config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
+ 	config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ 	config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
+ 	config/mips/irix6-libc-compat.c, config/mips/mips.c,
+ 	config/mmix/mmix.c, config/mn10200/mn10200.c,
+ 	config/mn10300/mn10300.c, config/ns32k/ns32k.c,
+ 	config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
+ 	config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
+ 	config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
+ 	config/sparc/sparc.c, config/stormy16/stormy16.c,
+ 	config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
+ 	config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
+ 	Include coretypes.h and tm.h.
+ 
+ 	* genattrtab.c, genconditions.c, genemit.c, genextract.c,
+ 	gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
+ 	genrecog.c: Include coretypes.h and tm.h from the file
+ 	generated by this program.
+ 
+ 	* unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
+ 	unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
+ 	coretypes.h and tm.h, and tsystem.h when not already included.
+ 	No need to include stddef.h nor stdlib.h.
+ 
+ 	* fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
+ 	include auto-host.h or ansidecl.h/
+ 	* fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
+ 	* fixinc/procopen.c: Include server.h after fixlib.h.  Do not
+ 	include auto-host.h, ansidecl.h, or system.h.
+ 	* fixinc/server.c: Likewise.  Also, do not include signal.h,
+ 	and do not redefine volatile.
+ 
+ Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movdf_integer):  Always enable in 64bit.
+ 	(movdf_nointeger): Always disable in 64bit.
+ 
+ 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
+ 	pseudo register number plus 1.
+ 
+ Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* expmed.c (store_bit_field): Use int_mode_for_mode to find
+ 	corresponding mode of non-integer mode, unless it is VOIDmode.
+ 
+ 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* cpplib.c (_cpp_test_assertion): Default *value to 0.
+ 
+ 	* cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
+ 
+ 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/t-crtstuff: New target makefile fragment.
+ 	* config.gcc [s390-*-linux, s390x-*-linux]: Use it.
+ 
+ 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (movsi_h8300hs): Change the order of
+ 	alternatives to correct the length when the memory operand is
+ 	either pre_dec or post_inc.
+ 
+ 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (an anonymous pattern): Give an
+ 	internal name *tst_extzv_bitqi_1_n.
+ 	Accept bit_operand instead of bit_memory_operand.
+ 	Do not accept bit tests with the MSB.
+ 	(*tst_extzv_memqi_1_n): New.
+ 
+ Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
+ 	sharing when operand is SUBREG.
+ 
+ Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* athlon.md (athlon-decodev): New reservation unit.
+ 	(athlon-direct0): New reservation.
+ 	(athlon-vector): New use athlon-decodev.
+ 	(athlon-double, athlon-direct): Better model.
+ 	(athlon_imul_k8): Use athlon-direct0.
+ 	(athlon_movlpd_load): New insn reservation.
+ 
+ 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
+ 	Fix a comment typo.
+ 	(h8300_tiny_constant_address_p): Likewise.
+ 
+ 2002-11-28  Michael Matz  <matz@suse.de>
+ 
+ 	* doc/passes.texi: Mention the other register allocator.
+ 
+ 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (6 new peephole2 patterns): New.
+ 
+ 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
+ 	* config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
+ 	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
+ 
+ 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_and_costs): New.
+ 	* config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_and_costs.
+ 
+ Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
+ 	* i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
+ 	(TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
+ 	* i386.md (truncdfsf patterns and splitters): Use
+ 	TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
+ 
+ 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Make the
+ 	pointer argument in the prototypes of the following builtins
+ 	be (const TYPE *) rather than (TYPE *):
+ 	 + __builtin_altivec_ld_internal_4sf
+ 	 + __builtin_altivec_ld_internal_4si
+ 	 + __builtin_altivec_ld_internal_8hi
+ 	 + __builtin_altivec_ld_internal_16qi
+ 	 + __builtin_altivec_lvsl
+ 	 + __builtin_altivec_lvsr
+ 	 + __builtin_altivec_lvebx
+ 	 + __builtin_altivec_lvehx
+ 	 + __builtin_altivec_lvewx
+ 	 + __builtin_altivec_lvxl
+ 	 + __builtin_altivec_lvx
+ 	 + __builtin_altivec_dst
+ 	 + __builtin_altivec_dstt
+ 	 + __builtin_altivec_dstst
+ 	 + __builtin_altivec_dststt
+ 
+ 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* except.c (default_exception_section): Move variable into the
+ 	scope where it is used.
+ 
+ 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
+ 	correct version.
+ 
+ 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
+ 
+ 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_shift_costs): New.
+ 	* config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_shift_costs.
+ 
+ 2002-11-27  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
+ 	in output template.
+ 
+ 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+ 
+ 	* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
+ 	* config/i386/winnt.c (i386_pe_dllexport_name_p): Use
+ 	DLL_IMPORT_EXPORT_PREFIX, not '@'.
+ 	(i386_pe_dllimport_name_p): Likewise.
+ 	(i386_pe_mark_dllexport): Likewise.
+ 	(i386_pe_mark_dllimport): Likewise.
+ 	(i386_pe_encode_section_info): Likewise.
+ 	(i386_pe_strip_name_encoding): Likewise.
+ 
+ 2002-11-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* mkmap-symver.awk (BEGIN): Set sawsymbol false.
+ 	(nm && NF == 3): Set sawsymbol true.
+ 	(END): Exit if no symbols seen.
+ 	(output): Fix map syntax error if no globals for the version.
+ 
+ Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.def (DEF_C99_BUILTIN): Fix.
+ 
+ 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
+ 	(all): Add .size and .type information.
+ 
+ Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
+ 	partial_reg_stall target.
+ 
+ Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movhicc): Allow general operand.
+ 	(movqicc): New expander.
+ 	(movqicc_noc): New pattern.
+ 	* i386.c (ix86_expand_carry_flag_compare): New function.
+ 	(ix86_expand_int_movcc): Optimize harder using sbb; support more
+ 	HImode conversion; support QImode conditional moves
+ 
+ Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
+ 	(ix86_expand_prologue): Multiply the count by amount of registers to be
+ 	pushed.
+ 
+ Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (override_options): Error about wrong -mcpu on x86-64
+ 	compilation.
+ 
+ 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
+ 
+ 	* config/sh/linux.h (FUNCTION_PROFILER): Implemented.
+ 
+ Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (x86_extended_QIreg_mentioned_p,
+ 	x86_extended_reg_mentioned_p): Declare.
+ 	* i386.c (extended_reg_mentioned_1): New static function.
+ 	(x86_extended_QIreg_mentioned_p,
+ 	x86_extended_reg_mentioned_p): New global functions.
+ 	* i386.h (REX_SSE_REGNO_P): New macro.
+ 	* i386.md (prefix_rex): New attribute.
+ 	(length attribute): Add rex.
+ 
+ 2002-11-26  Andrew Haley  <aph@redhat.com>
+ 
+ 	* unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
+ 	from_Unwind_Find_Enclosing_Function.
+ 	* unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
+ 	* config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
+ 	* libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
+ 	_Unwind_Find_Enclosing_Function, export @@GCC_3.3.
+ 	* unwind.h (_Unwind_FindEnclosingFunction): Add.
+ 
+ 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.c (390_output_constant_pool): Set alignment
+ 	before label in 64 bit mode, behind otherwise.
+ 
+ 2002-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (handle_visibility_attribute): Accept "default".
+ 	* tree.h (enum symbol_visibility): New.
+ 	(decl_visibility): Declare.
+ 	* target.h (gcc_target.visibility): Take visibility arg as integer.
+ 	* varasm.c (default_assemble_visibility): Likewise.
+ 	(decl_visibility): New.
+ 	(maybe_assemble_visibility): Use it.
+ 	* output.h (default_assemble_visibility): Update prototype.
+ 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
+ 	visibility arg as integer.
+ 	* doc/extend.texi: Document default visibility.
+ 
+ 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Adjust spacing.
+ 	* config/h8300/h8300.h: Likewise.
+ 
+ 2002-11-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* hooks.c (hook_bool_void_false, hook_void_tree_int,
+ 	hook_void_FILEptr_constcharptr): Rename so that the return
+ 	type is first.
+ 	(hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
+ 	hook_bool_tree_false): New.
+ 	* hooks.h: Update.
+ 	* langhooks-def.h: Update for renames.
+ 	* target-def.h: Likewise.
+ 	* tree.c (default_comp_type_attributes,
+ 	default_set_default_type_attributes, default_insert_attributes,
+ 	default_function_attribute_inlinable_p,
+ 	default_ms_bitfield_layout_p): Remove.
+ 	* tree.h: Update.
+ 
+ 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-protos.h (function_value): New prototype.
+ 	* pa.c (function_value): Use a PARALLEL to return small aggregates on
+ 	TARGET_64BIT.
+ 	* pa.h (FUNCTION_VALUE): Use function_value.
+ 	* pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
+ 	call_value_internal_reg, sibcall_value_internal_symref,
+ 	sibcall_value_internal_symref_64bit): Remove =rf constraint on return
+ 	value.
+ 
+ 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* expr.c (gen_group_rtx, emit_group_move): New functions.
+ 	* expr.h (gen_group_rtx, emit_group_move): Prototype.
+ 	* function.c (expand_function_start): Use gen_group_rtx to create a
+ 	PARALLEL rtx to hold the return value when the real return rtx is a
+ 	PARALLEL.
+ 	(expand_function_end): Use emit_group_move to move the return value
+ 	from a PARALLEL to the real return registers.
+ 	* rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
+ 	in PARALLELs.
+ 
+ 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/t-libc-ok: Fix typo.
+ 
+ 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
+ 	before AC_PROG_CC.
+ 	* configure: Rebuilt.
+ 
+ 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-decl.c: (start_struct): Commonize flag setting.
+ 
+ 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
+ 	RS6000_CPU_CPP_ENDIAN_BUILTINS.
+ 	* config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
+ 
+ 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
+ 	insns.
+ 	* config/s390/s390.c (struct machine_function): Introduction of
+ 	struct machine_function.
+ 	(s390_output_symbolic_const): Use of cfun.
+ 	(s390_optimize_prolog): Likewise.
+ 	(s390_fixup_clobbered_return_reg): Likewise.
+ 	(s390_frame_info): Likewise.
+ 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
+ 	(s390_init_machine_status): New function.
+ 	(override_options): call s390_init_machine_status.
+ 	* config/s390/s390-protos.h (s390_output_constant_pool): Changed
+ 	prototype.
+ 
+ 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (output_constant_pool): For pool constants in mergeable
+ 	section ensure each constant is padded to multiple of entity size.
+ 
+ 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (default_exception_section): Move to...
+ 	* except.c (default_exception_section): ... here. Make
+ 	.gcc_except_table read-only if it is not expected to have any
+ 	dynamic relocations and linker handles it.
+ 	* dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
+ 	if it is not expected to have any dynamic relocations and linker
+ 	handles it.
+ 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
+ 	when linking read-only and read-write sections together.
+ 	* configure, config.in: Rebuilt.
+ 	* crtstuff.c (EH_FRAME_SECTION_CONST): Define.
+ 	(__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
+ 
+ Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (pushsf_rex64): Fix typo.
+ 
+ 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
+ 	new function.
+ 	(__ev_create_ufix32_fs): Same.
+ 	(__ev_get_sfix32_fs_internal): New.
+ 	(__ev_get_sfix32_fs): Define to use function.
+ 	(__ev_get_ufix32_fs_internal): New.
+ 	(__ev_get_ufix32_fs): Define to use function.
+ 	(__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
+ 	(__ev_get_lower_ufix32_fs): Same.
+ 	(__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
+ 	(__ev_get_lower_sfix32_fs): Same.
+ 	(__ev_set_sfix32_fs_internal): New.
+ 	(__ev_set_ufix32_fs_internal): New.
+ 	(__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
+ 	(__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
+ 	(__ev_set_upper_sfix32_fs): Call function.
+ 	(__ev_set_lower_sfix32_fs): Same.
+ 	(__ev_set_upper_ufix32_fs): Same.
+ 	(__ev_set_lower_ufix32_fs): Same.
+ 
+ 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* gcc.c (do_spec_1): Reset delete_this_arg to zero.
+ 
+ 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
+ 	* config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
+ 	* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
+ 	defining.
+ 	* config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 	* config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
+ 
+ 2002-11-25  Dave Pitts  <dpitts@cozx.com>
+ 
+ 	* gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
+ 
+ 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (an anonymous pattern): New.
+ 
+ 2002-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (find_base_value): Use new_reg_base_value if it's live.
+ 	(copying_arguments): Make boolean.
+ 
+ 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* gcc.c (static_spec_functions): Add if-exists-else spec
+ 	function.
+ 	(if_exists_else_spec_function): New function.
+ 	* doc/invoke.texi: Document the if-exists-else spec function.
+ 
+ 	* config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
+ 	"%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
+ 
+ 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
+ 	"netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
+ 	"${tmake_file} rs6000/t-netbsd".
+ 	* config/rs6000/netbsd.h: Rewrite.
+ 	* config/rs6000/t-netbsd: New file.
+ 
+ 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (an anonymous pattern): Relax the
+ 	condition for the pattern.
+ 
+ 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
+ 	evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
+ 	evmwlssfanw, evmwlsmfanw.
+ 
+ 	* config/rs6000/rs6000.c (bdesc_2arg): Same.
+ 
+ 	* config/rs6000/spe.md: Same for patterns.
+ 
+ 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
+ 
+ 	PR c/8639
+ 	* fold-const.c (extract_muldiv): Don't propagate division unless
+ 	both arguments are multiples of C.
+ 
+ 2002-11-25  Andrew Haley  <aph@redhat.com>
+ 
+ 	* libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
+ 	* config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
+ 	* unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
+ 	* unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
+ 
+ Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_use_ffreep): New global variable.
+ 	* i386.h (x86_use_frfeep): Declare
+ 	(TARGET_USE_FFREEP): New macro
+ 	* i386.md  (movs?f*): Use freep when asked for.
+ 	(push?f): Remove dead code.
+ 
+ 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Fix a typo in the
+ 	target help message.
+ 
+ 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
+ 	extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
+ 	crtbeginT.o".
+ 	(arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
+ 	(ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
+ 	to "" for a.out configurations.
+ 	* config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
+ 
+ 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
+ 	NETBSD_CPP_SPEC directly.
+ 	(SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
+ 	netbsd_endfile_spec.
+ 	(ENDFILE_SPEC): Use %(netbsd_endfile_spec).
+ 
+ 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd-elf.h (STARTFILE_SPEC): Rename to
+ 	NETBSD_STARTFILE_SPEC.
+ 	(STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
+ 	(ENDFILE_SPEC): Likewise.
+ 	* config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
+ 
+ 2002-11-24  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (install-driver): Remove versioned link before
+ 	trying to create it.
+ 
+ 	* config/m68k/m68k.c: Fix typo in last change defining
+ 	TARGET_ASM_CAN_OUTPUT_MI_THUNK.
+ 
+ 2002-11-23  H.J. Lu <hjl@gnu.org>
+ 
+ 	* aclocal.m4: Include ../config/accross.m4.
+ 	(gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
+ 	(gcc_AC_C_COMPILE_ENDIAN): Removed.
+ 	(gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
+ 	instead of $ac_cv_c_compile_endian.
+ 
+ 	* configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
+ 	AC_COMPILE_CHECK_SIZEOF.
+ 	Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
+ 	* configure: Rebuild.
+ 
+ 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand): Update the use of
+ 	h8300_tiny_constant_address_p.
+ 	(h8300_adjust_insn_length): Likewise.
+ 	(h8300_tiny_constant_address_p): Check if the given rtx is a
+ 	variable declared with __attribute__ ((tiny_data)).
+ 
+ 2002-11-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* toplev.c (rest_of_compilation):  Fix comments.
+ 
+ 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
+ 	allow mmap from /dev/zero.  Don't make decisions for the host
+ 	based on presence or absence of /dev/zero on the build machine.
+ 	(ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
+ 	(AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
+ 	* configure: Regenerate.
+ 
+ 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* gcc.c (make_relative_prefix, split_directories)
+ 	(free_split_directories): Removed.
+ 
+ 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* configure.in: Set insn=nop for DWARF-2 tests on ARM.
+ 	* configure: Regenerated.
+ 
+ 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_a_shift_length): Fix the insn
+ 	length computation when xor.l is output.
+ 
+ 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* alpha.md (movstrdi, clrstrdi): New VMS patterns.
+ 	(call_vms_1, call_value_vms_1): Cleanup syntax.
+ 
+ Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* athlon.md (define_atuomaton): Add athlon_load.
+ 	(athlon-double): New reservation.
+ 	(athlon-ieu0): New CPU unit.
+ 	(athlon-load?): Use athlon_load automaton.
+ 	(*_k8 reservations): New.
+ 	(other insn revervations): Activate for K8.
+ 
+ Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
+ 
+ 2002-11-21  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
+ 	vectors to SI.
+ 
+ 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
+ 	* config/xtensa/xtensa.c (struct machine_function): Add
+ 	incoming_a7_copied flag.
+ 	(xtensa_copy_incoming_a7): Define.
+ 	(xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
+ 	* config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
+ 
+ Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
+ 
+ 	* i386-protos.h (x86_64_sign_extended_value): Fix prototype.
+ 	* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
+ 	x86_64_nonmemory_operand, x86_64_movabs_operand,
+ 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
+ 	ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
+ 	(local_symbolic_operand): Do not care the 64bit limits.
+ 	(x86_64_sign_extended_value): Remove allow_rip support.
+ 	(legitimate_pic_address_disp_p): Handle all cases allowed
+ 	with RIP addressing.
+ 	(legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
+ 	(legitimize_pic_address): Reorganize.
+ 	* i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
+ 
+ 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (arm*-*-netbsdelf*): Enable configuration.
+ 	* config/arm/netbsd-elf.h: New file.
+ 
+ 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
+ 	subtarget_asm_float_spec.
+ 	(SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
+ 	defaults from...
+ 	(ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
+ 
+ 2002-11-21  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/fr30/fr30.md (movsf_constant_store): Move code to
+ 	detect 0.0 into fr30.c.
+ 	* config/fr30/fr30-protos.h (fr30_const_double_is_zero):
+ 	Prototype.
+ 	* config/fr30/fr30.c (fr30_const_double_is_zero): New
+ 	function.  Return true if the rtx is 0.0.
+ 
+ 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
+ 	if -mlittle-endian is specified.
+ 
+ 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR optimization/2903
+ 	* arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
+ 	(anddi_notsesidi_di): Likewise.
+ 
+ 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand): Use
+ 	h8300_eightbit_constant_address_p and
+ 	h8300_tiny_constant_address_p.
+ 	(h8300_adjust_insn_length): Likewise.
+ 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
+ 	(TINY_CONSTANT_ADDRESS_P): Likewise.
+ 	(OK_FOR_U): Use eightbit_constant_address_p.
+ 
+ 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/libgcc-libc.ver: Add multilib support.
+ 	* config/s390/linux.h (MULTILIB_DEFAULT): Define.
+ 	* config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
+ 	MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
+ 	EXTRA_MULTILIB_PARTS): Define.
+ 
+ 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_get_frame_size): A leaf function does not need its
+ 	stack padding to an aligned boundary if it has no frame.
+ 	(thumb_get_frame_size): Likewise.
+ 
+ Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
+ 	(override_options): Likewise.
+ 
+ Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config.gcc: Add k8 target alias support
+ 	* i386.c (_cost): Declare costs for various variants of divides and
+ 	multiplies.
+ 	(k8_cost): New.
+ 	(m_K8, m_ATHLON_K8): New macros.
+ 	(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
+ 	x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
+ 	x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
+ 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ 	x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
+ 	x86_prologue_using_move, x86_epilogue_using_move,
+ 	x86_arch_always_fancy_math_387, x86_sse_partial_regs,
+ 	x86_sse_typeless_stores): Set for K8
+ 	(override_options): Add k8 support; fix athlon alignment;
+ 	complain about non-x86-64 capable CPU being used in x86-64 compilation.
+ 	(ix86_issue_rate): Set for K8.
+ 	(ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
+ 	x86_machine_dependent_reorg): Handle K8 like
+ 	* i386.h
+ 	(x86_costs):  Change mult_init and divide into array.
+ 	(TARGET_K8, TARGET_ATHLON): New macros.
+ 	(MODE_INDEX): New macro.
+ 	(RTX_COST): Use new costs.
+ 	(TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
+ 	(TARGET_CPU_DEFAULT_NAMES): Add k8
+ 	(TARGET_CPU_DEFAULT_k8): New constant
+ 	(enum processor_type): Add PROCESSOR_K8.
+ 	* i386.md (cpu attribute): Add k8.
+ 
+ 	* invoke.texi: Document -march=k8.
+ 
+ 	* i386.md (type attribute): Add leave
+ 	(mode attribute): Remove unknownfp.
+ 	(length_immediate, modrm, memory attributes): Handle leave correctly.
+ 	(fp comparison patterns): Determine FP mode.
+ 	(leave, leave_rex64): Remove special cases.
+ 	* ppro.md (ppro_uops, ppro_p2): Add leave
+ 	* pentiun.md (pent_pop): Handle leave too.
+ 	* k6.md (k6_load): Handle leave.
+ 	* athlon.md (athlon_leave, athlon_pop): Fix.
+ 	(athlon_decode): Handle leave.
+ 
+ 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
+ 	to component type using GET_MODE_INNER.
+ 	* expr.c (emit_move_insn_1): Ditto.
+ 	* optabs.c (expand_binop): Ditto.
+ 	(expand_unop): Ditto.
+ 	(expand_complex_abs): Ditto.
+ 
+ 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
+ 
+ 2002-11-20  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (s16builtins,
+ 	xstormy16_init_builtins, xstormy16_expand_builtin): New.
+ 	* config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
+ 
+ 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
+ 	(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
+ 	(executing gencheck, genconfigs, genconditions, genflags,
+ 	gencodes, genconstants, genemit, genrecog, genopinit, genextract,
+ 	genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
+ 	gengtype, genprotos): Prepend $(RUN_GEN).
+ 	* configure.in: Move host compiler tests before --enable-checking
+ 	tests.
+ 	(--enable-checking=valgrind): New.
+ 	* config.in, configure: Regenerate.
+ 	* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
+ 	Define as empty.
+ 	(read_include_file): When doing the mmap+1 trick,
+ 	valgrind-annotate the byte after the mmap:ed area as readable.
+ 	(purge_cache): Remove above annotation.
+ 	* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
+ 	VALGRIND_PATH -q to each command.
+ 
+ 	* ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
+ 	Define as empty.
+ 	(ggc_realloc): Update valgrind annotations.
+ 	* ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
+ 	Define as empty.
+ 	(alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
+ 	valgrind-annotate memory.
+ 
+ 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* recog.c (constrain_operands): Prefer exact match over reloadable
+ 	EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
+ 
+ 	* reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
+ 	operands in Pmode.
+ 
+ 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/8518
+ 	* c-decl.c (duplicate_decls): Outline the second definition
+ 	of an extern inline function in all cases.
+ 
+ 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* stor-layout.c (place_field): Update rli->offset as well as
+ 	rli->bitpos.
+ 
+ 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
+ 
+ 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
+ 	into a libcall block.
+ 	(divsi3): Likewise divsi3_i4_media.
+ 
+ 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* global.c (find_reg): Check HARD_REGNO_NREGS before kicking
+ 	out another register.
+ 
+ 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
+ 	(not just mask) are set in C.
+ 
+ 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
+ 
+ 	* config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
+ 
+ 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* profile.c (index_counts_file): Fix obvious mistake.
+ 
+ 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (profile.o): Add hashtab.h dependency.
+ 	* gcov-io.h (GCOV_SUMMARY_LENGTH): New.
+ 	* profile.c: Include hashtab.h.
+ 	(htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
+ 	cleanup_counts_index, index_counts_file, struct section_reference,
+ 	struct da_index_entry, counts_file_name, counts_file_index): New.
+ 	(get_exec_counts, init_branch_prob): Modified.
+ 
+ 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
+ 	to tmake_file. Remove setting gas and gnu_ld here.
+ 	* config/sh/libgcc-glibc.ver: New file.
+ 	* config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
+ 	(SHLIB_MAPFILES): New.
+ 	* config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
+ 	(MD_STARTFILE_PREFIX): Likewise.
+ 	(HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
+ 	(DWARF2_UNWIND_INFO): Redefine.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	(LINK_EH_SPEC): Redefine.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
+ 	(SH_FALLBACK_FRAME_FLOAT_STATE): Define.
+ 	(SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
+ 	SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
+ 	SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
+ 	SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
+ 	SH_DWARF_FRAME_FPSCR): Likewise.
+ 	* config/sh/sh-protos.h (sh_set_return_address): Declare.
+ 	* config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
+ 	registers if the current function calls EH return.
+ 	(sh_expand_epilogue): Handle EH stack adjustments.
+ 	(sh_set_return_address): New function.
+ 	* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
+ 	Don't abort even if the number is mapped to -1.
+ 	(EH_RETURN_DATA_REGNO): Define.
+ 	(EH_RETURN_STACKADJ_RTX): Define.
+ 	* config/sh/sh.md (UNSPEC_EH_RETURN): New.
+ 	(eh_return): New pattern.
+ 	(eh_set_ra_di, eh_set_ra_si): Likewise.
+ 	Add splitter to perform EH return after reload.
+ 
+ Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* stor-layout.c (excess_unit_span): New function.
+ 	(place_field): Use it.
+ 
+ 2002-11-19  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
+ 	not valid in C++.
+ 
+ 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in, Makefile.in: Correct BUILD/HOST confusion.
+ 	* configure: Regenerate.
+ 
+ Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* convert.c (strip_float_extensions): New function.
+ 	(convert_to_real): Optimize some cases.
+ 
+ 2002-11-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* loop.c (record_giv): Initialize not_replaceable.
+ 	(check_final_value): Likewise.
+ 
+ 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Replace 1 with
+ 	MASK_H8300S.
+ 
+ 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Allow -mn switch
+ 	only if -mh or -ms present.
+ 	(h8300_eightbit_constant_address_p): Support the normal mode.
+ 	(h8300_tiny_constant_address_p): Likewise.
+ 	* config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
+ 	(POINTER_SIZE): Add 16 bit pointer for the normal mode.
+ 	(Pmode): Evaluate to HImode for the normal mode.
+ 	(SIZE_TYPE): Evaluate to unsigned int for normal mode.
+ 	(PTRDIFF_TYPE): Evaluate to int for the normal mode.
+ 	(ASM_WORD_OP): Evaluate to word for the normal mode.
+ 	* config/h8300/h8300.md (tablejump_normal_mode): New.
+ 	(indirect_jump_normal_mode): New.
+ 	* config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
+ 	directory.
+ 	(MULTILIB_DIRNAMES): Create target dependent directory
+ 	'normal'.
+ 	(MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
+ 	* doc/invoke.texi (gccoptlist): Describe the new switch -mn.
+ 
+ Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (length_immediate): Do not refer to insn address.
+ 	(jcc*, jmp patterns):  Compute length explicitly.
+ 
+ 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/8588
+ 	* optabs.c (expand_binop): Convert CONST_INTs in shift
+ 	operations too.
+ 
+ 2002-11-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
+ 
+ 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (an anonymous pattern): Relax the
+ 	condition to accept the same operands and/or subregs.
+ 
+ 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/sh/sh.c (gen_shl_and): Revert previous patch.
+ 	* config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
+ 	reload_completed.
+ 
+ 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand): Update the use of
+ 	EIGHTBIT_CONSTANT_ADDRESS_P.
+ 	(h8300_adjust_insn_length): Likewise.
+ 	(h8300_eightbit_constant_address_p): Check if the given rtx is
+ 	a variable with __attribute__((eightbit_data)).
+ 	* config/h8300/h8300.h (OK_FOR_U): Update the use of
+ 	EIGHTBIT_CONSTANT_ADDRESS_P.
+ 
+ 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add self as second contact in
+ 	addition to Jeff Law.
+ 
+ 2002-11-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* tree-inline.c: Move prototpyes of find_alloca_call_1 and
+ 	find_alloca_call to right place.
+ 
+ 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cppfiles.c: Fix formatting.
+ 
+ 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* gcc.c (The Specs Language): Document spec functions.
+ 	(static_spec_functions, lookup_spec_function)
+ 	(eval_spec_function, handle_spec_function)
+ 	(if_exists_spec_function, alloc_args): New.
+ 	(execute): Abort if processing_spec_function is true.
+ 	(do_spec_1): Hand off spec to handle_spec_function if %:
+ 	is encountered.  If processing_spec_function is true,
+ 	end any pending argument when the end of the string is reached.
+ 	(main): Use alloc_args to allocate the initial argument vector.
+ 	* gcc.h (struct spec_function): New.
+ 	(lang_specific_spec_functions): New extern.
+ 
+ 	* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
+ 	(ENDFILE_SPEC): Add if-exists(crtn%O%s).
+ 	* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
+ 
+ 	* doc/invoke.texi: Document spec functions.
+ 
+ 	* cppspec.c (lang_specific_spec_functions): New.
+ 	* gccspec.c: Likewise.
+ 
+ 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
+ 	(FIXUNS_TRUNCTFDI2_LIBCALL): New.
+ 	(fixunstfsi_libfunc): Change.
+ 	(fixunstfdi_libfunc): Change.
+ 	(sdiv_optab): Don't zero out SImode handler.
+ 	(udiv_optab): Don't zero out SImode handler.
+ 	(smod_optab): Don't zero out SImode handler.
+ 	(umod_optab): Don't zero out SImode handler.
+ 
+ 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/8524
+ 	* cpplib.c (run_directive): Remove previous kludge to _Pragma.
+ 	Add a new one in its place, which hopefully works.
+ 	(skip_rest_of_line): Change test for bottom-of-context-stack.
+ 
+ Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (addqi_1_slp): Fix output template.
+ 	(subqi_1_slp): Fix type.
+ 
+ Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (alloca_call_p): New global function.
+ 	* tree.h (alloca_call_p): New.
+ 	* tree-inline.c (inlinable_function_p):  Do not inline when
+ 	function calls alloca.
+ 	(find_alloca_call, find_alloca_call_1): New functions.
+ 
+ 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andorqi3): Use bor between bld and
+ 	bst.  Update the insn length.
+ 	(*andorhi3): Likewise.
+ 	(*andorsi3): Likewise.
+ 
+ 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh-protos.h (sh_mark_label): Declare.
+ 	* config/sh/sh.c (sh_mark_label): New function, taken from
+ 	movdi_const, but fixing the case when the address has an addend.
+ 	* config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
+ 
+ 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.c (pool_node): New field: part_of_sequence_p.
+ 	(add_constant): Set it.
+ 	(dump_table): Don't reorder a constant if part_of_sequence_p.
+ 	(machine_dependent_reorg): Assume that float constants will
+ 	stay in their original order if used as a sequence.
+ 
+ 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.c (calc_live_regs): Update check for PIC liveness
+ 	in compact code.
+ 
+ 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.md (initialize_trampoline): Do not force the
+ 	trampoline address into R0_REGS here.
+ 
+ Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
+ 	absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
+ 	(neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
+ 	generate unnecesary subregs.
+ 
+ 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* df.c: Fix formatting.
+ 
+ 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two anonymous patterns): Fix insn
+ 	lengths.
+ 
+ 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* sh.c (gen_shl_and): Don't create a zero_extend if the operand
+ 	is not an arith_reg_operand.
+ 
+ 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* real.c (real_to_decimal): Fix buffer overrun when buffer size
+ 	is smaller than representation.
+ 
+ 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Fix formatting.
+ 
+ Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
+ 	floats?dff2_i387):
+ 	Work around regclass stupidity.
+ 	(truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
+ 
+ Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fop_df_6): New pattern.
+ 	(fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
+ 	(fop_xf_6): Rewrite
+ 	(fop_xf_7): Delete.
+ 	(fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
+ 	(fop_tf_6): Rewrite
+ 	(fop_tf_7): Delete.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two anonymous patterns): Fix typos.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Fix formatting.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Replace spaces with tabs.
+ 	* config/h8300/t-h8300: Remove a trailing empty line.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tlink.c: Fix formatting.
+ 
+ 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR 8362
+ 	* config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
+ 	* config/rs6000/rs6000.md (movti_string): Remove output modifier
+ 	when scratch register never needed.
+ 	(ldmsi[3-8]): New patterns.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* hard-reg-set.h: Follow spelling conventions.
+ 	* real.c: Likewise.
+ 	* target.h: Likewise.
+ 
+ 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
+ 
+ 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c: Fix formatting.
+ 
+ Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
+ 	* i386.md (attribute type): Add type shift1 and rotate1.
+ 	(*_slp): Rewrite to have just two operands to avoid reload problems.
+ 
+ 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (4 anonymous patterns): New.
+ 
+ 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
+ 	* doc/invoke.texi: Correct description of what needs to be done to
+ 	force collection at every ggc_collect call.
+ 
+ 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (optimization_options): Set
+ 	flag_asynchronous_unwind_tables to 1 by default.
+ 
+ 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 
+ Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (x86_function_profiler): New function
+ 	* i386.h (MCOUNT_NAME): New.
+ 	(PROFILE_COUNT_REGISTER): New.
+ 	(FUNCTION_PROFILER): Move offline to ...
+ 	* i386.c (x86_function_profiler) ... here; fix 64bit support
+ 	* beos-elf.h (FUNCTION_PROFILER): Kill.
+ 	(MCOUNT_NAME): New.
+ 	* freebsd-aout.h (FUNCTION_PROFILER): Kill.
+ 	(MCOUNT_NAME): New.
+ 	(PROFILE_COUNT_REGISTER): New.
+ 	* linux.h (FUNCTION_PROFILER): Kill.
+ 	(MCOUNT_NAME): New.
+ 	* x86-64.h (FUNCTION_PROFILER): Kill.
+ 	(MCOUNT_NAME): New.
+ 	* freebsd.h (FUNCTION_PROFILER): Kill.
+ 	(MCOUNT_NAME): New.
+ 
+ 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+ 
+ 	* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
+ 	FUNCTION_ARG_PASS_BY_REFERENCE): Define.
+ 	* config/arm/arm.c (arm_va_arg,
+ 	arm_function_arg_pass_by_reference): New.
+ 	* config/arm/arm-protos.h: Add prototypes.
+ 
+ 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-single.h: Fix formatting.
+ 
+ 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c (tree_vec_elt_check_failed): New function.
+ 	* tree.h (TREE_VEC_ELT_CHECK): New checking macro.
+ 	(TREE_VEC_ELT): Use it.
+ 
+ 	* tree-inline.c (optimize_inline_calls): Don't copy a
+ 	zero-length vector.
+ 
+ 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
+ 
+ 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
+ 	both operands contain local relocations.
+ 	(categorize_decl_for_section): Don't use mergeable sections if
+ 	initializer has any relocations.
+ 
+ 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-vxworks.h: Fix formatting.
+ 
+ 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Testing): Document extra Java testing.
+ 	* doc/sourcebuild.texi (Test Suites): Document libgcj testing.
+ 
+ 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
+ 	beginning of the spec.
+ 	(LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
+ 	(LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
+ 	regarding problems with global constructors when using GNU ld.
+ 
+ 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-solaris.h: Fix formatting.
+ 
+ 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-posix.h: Fix formatting.
+ 
+ 2002-11-12  Devang Patel <dpatel@apple.com>
+ 	* gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
+ 	(process_command): Same.
+ 	* doc/invoke.texi: Info about these two new options.
+ 
+ 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andorsi3): New.
+ 
+ 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
+ 
+ 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
+ 	expressions appropriately.
+ 
+ 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-win32.h: Fix formatting.
+ 
+ 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (single_one_operand): Correctly compute
+ 	mask when mode is SImode.
+ 	(single_zero_operand): Likewise.
+ 	* config/h8300/h8300.md (two new anonymous insns): New.
+ 
+ 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
+ 	to that entire project.
+ 
+ 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
+ 	directories.
+ 
+ 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
+ 	* doc/invoke.texi: Document them.
+ 
+ 	* ggc-page.c: Include params.h.  Remove definitions of
+ 	GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
+ 	GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
+ 	(init_gcc): Don't set G.allocated_last_gc here.
+ 	(ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
+ 	PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
+ 	perform collection.
+ 	* ggc-simple.c: Similarly.
+ 	* Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
+ 	dependencies.
+ 
+ 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gthr-dce.h: Fix formatting.
+ 
+ 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR c/8467
+ 	* stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
+ 	mode of DECL_RTL case.
+ 
+ 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/contrib.texi: Merge in the list from the libstdc++ web pages.
+ 
+ Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (construct_container): Fix handling of SSE_CLASS.
+ 
+ 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
+ 
+ 	* config/m68k/t-crtstuff (crti.o): Use this...
+ 	($(T)crti.o): ... instead.
+ 	(crtn.o): Use this...
+ 	($(T)crtn.o): ... instead.
+ 
+ 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/8439
+ 	* recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
+ 	if there is something new to be simplified.
+ 
+ 2002-11-10  H.J. Lu <hjl@gnu.org>
+ 
+ 	* calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
+ 	* expr.c (PUSH_ARGS_REVERSED): Likewise.
+ 
+ 	* config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
+ 
+ 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
+ 	* config/rs6000/linux.h, config/rs6000/linux64.h,
+ 	config/rs6000/windiss.h: ... not here.
+ 
+ 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
+ 	__ABICALLS__ if TARGET_ABICALLS.
+ 
+ Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
+ 
+ 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Make error for duplicate type
+ 	qualifiers into a pedwarn, disabled for C99.
+ 
+ 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
+ 	as FUNCTION_ARG_PASS_BY_REFERENCE.
+ 
+ 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/install.texi: Add *-*-vxworks* specific installation
+ 	instructions.
+ 
+ 	* config/vxlib.c: Rewrite using generation numbers to identify
+ 	valid TSD keys.
+ 
+ Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_machine_dependent_reorg): Fix even more side cases.
+ 
+ 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
+ 
+ 	* config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
+ 	(hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
+ 	* pa.c (output_millicode_call): Use symbol difference rather than
+ 	$PIC_pcrel$0 when using HP assembler.
+ 	* pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
+ 	not elfos.h (i.e., gas) is being used.
+ 	(ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
+ 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
+ 	ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
+ 	ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
+ 	ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
+ 	using elfos.h.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
+ 	(DWARF2_ASM_LINE_DEBUG_INFO): Delete.
+ 	(ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
+ 	using elfos.h.
+ 	(TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
+ 	(TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
+ 	Don't define when not using elfos.h.
+ 	(ASM_DECLARE_RESULT): Don't define.
+ 	* doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
+ 	doesn't work on hppa64-hp-hpux11.
+ 	(hppa*-hp-hpux11): Update.
+ 
+ 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
+ 	to the assembler if -mno-abicalls was specified.
+ 
+ 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
+ 	ASM_OUTPUT_DEF): Delete.
+ 
+ 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
+ 
+ 2002-11-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_sqrt): Update comment with bibliographic reference.
+ 
+ Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_loadss, sse2_loadsd): Fix expander.
+ 
+ Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
+ 
+ Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
+ 	(expand_builtin): Likewise.
+ 	* builtins.def: Add
+ 	__builtin_floor, __builtin_floorf, __builtin_floorl
+ 	__builtin_ceil, __builtin_ceilf, __builtin_ceill
+ 	__builtin_round, __builtin_roundf, __builtin_roundl
+ 	__builtin_trunc, __builtin_truncf, __builtin_truncl
+ 	__builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
+ 	* genopinit.c (optabs): Initialize the new optabs.
+ 	* optab.c (init_optabs): Likewise.
+ 	* optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
+ 	OTI_round, OTI_nearbyint.
+ 	(floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
+ 	* doc/md.texi: Document new named patterns.
+ 	* doc/extend.texi (builtin functions)  Document
+ 	floor, floorf, floorl, ceil, ceilf,
+ 	ceill, round, roundf, roundl, trunc,
+ 	truncf, truncl, nearbyint, nearbyintf, nearbyintl.
+ 
+ Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
+ 
+ 2002-11-08  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* dbxout.c (dbxout_type):  Fix stabs info for vector types.
+ 
+ 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/8497
+ 	PR preprocessor/8501
+ 	* cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
+ 	start a directive.  In assembler, #NUM is not a line directive.
+ 
+ 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppmain.c (cpp_preprocess_file): Loop to pop any -included
+ 	buffers.
+ 
+ 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two anonymous test insns): New.
+ 
+ Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* jump.c (mark_jump_label): Handle subregs of label_refs.
+ 
+ Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
+ 	* i386.c (ix86_expand_fp_movcc): Match the reversed cases.
+ 
+ 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/crtend.asm: Include "auto-host.h".
+ 	[HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
+ 	* config/ia64/crtbegin.asm: Similarly.
+ 	* config/ia64/t-ia64 (crtbegin.o): Include from current directory.
+ 	(crtend.o, crtbeginS.o, crtendS.o): Likewise.
+ 
+ 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
+ 	* configure.in: Use it if --enable-initfini-array not specified.
+ 	* doc/install.texi (Configuration): Document --enable-initfini-array.
+ 	* configure, config.in: Rebuild.
+ 
+ 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/arm-protos.h (arm_get_frame_size)
+ 	(thumb_get_frame_size): New prototypes.
+ 	* config/arm/arm.c (arm_get_frame_size)
+ 	(thumb_get_frame_size): New functions.
+ 	(use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
+ 	(arm_compute_initial_elimination_offset, arm_expand_prologue): Use
+ 	arm_get_frame_size.
+ 	(thumb_expand_prologue, thumb_expand_epilogue): Use
+ 	thumb_get_frame_size.
+ 	* config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
+ 	(machine_function): Add frame_size member.
+ 	(THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
+ 
+ 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (bit_count): Make argument unsigned long.  Return unsigned.
+ 	Adjust code to use portable unsigned bit manipulation.
+ 	(insn_flags, tune_flags): Change type to unsigned.
+ 	(struct processors): Make flags unsigned long.
+ 	(arm_override_options): Change type of count and current_bit_count
+ 	to unsigned.
+ 
+ 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
+ 
+ Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
+ 
+ Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (compensate_edge): Fix sanity check.
+ 
+ 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.gcc: Don't create crtbegin, crtend on Darwin; do create
+ 	crt2.o.  Rearrange t-darwin makefiles.
+ 	* crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
+ 	* unwind-dw2-fde-darwin.c: New.
+ 	* unwind-dw2-fde-glibc.c: Correct comment.
+ 	* unwind-dw2-fde.c (__register_frame_info_bases)
+ 	[DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
+ 	(classify_object_over_fdes): Use last_fde.
+ 	(add_fdes): Likewise.
+ 	(linear_search_fdes): Likewise.
+ 	* unwind-dw2-fde.h (struct object)
+ 	[DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
+ 	(last_fde): New.
+ 	* config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
+ 	(ENDFILE_SPEC): No crtend.o.
+ 	* config/t-darwin: New.
+ 	* config/i386/t-darwin: Delete.
+ 	* config/darwin-crt2.c: New.
+ 	* config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
+ 	or config/t-darwin.
+ 
+ 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
+ 	MASK_MS_BITFIELD_LAYOUT
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
+ 	MS bitfields for Objective-C.
+ 	(PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
+ 	defines.
+ 
+ 	* config/i386/i386.c (ix86_ms_bitfield_layout): New function.
+ 	(TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
+ 	(TARGET_USE_MS_BITFIELD_LAYOUT): Define.
+ 
+ 	* config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
+ 	TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
+ 	(TARGET_SWITCHES): Add above mask.
+ 
+ 	* testsuite/gcc.dg/bf-ms-layout.c: New test case.
+ 	* testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
+ 	* testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
+ 	flags for interix.
+ 
+ Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
+ 	.gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
+ 	assembler.
+ 	* config/mips/mips.md (tablejump_internal3): Output .cpadd
+ 	before jump on ABI_N32 too.
+ 	(tablejump_internal4): Ditto on ABI_64.  Increase maximum
+ 	length to match.
+ 
+ Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
+ 
+ 	* i386.md (negsf splitter): Accept memory operand in second register.
+ 	(abssf/absdf splitters): Simplify
+ 	(sse_loadss, sse_loadsd): Turn into expander.
+ 
+ 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/8480
+ 	* config/rs6000/rs6000.md (movdi_internal64): Discourage
+ 	FPR to FPR moves.
+ 
+ 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/contrib.texi: Merge in the list from the Java web pages.
+ 
+ 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/freebsd: Fix typo.
+ 
+ 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
+ 
+ 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.md (call_value_multiple_internal2): Use dla for
+ 	non-SImode addresses.
+ 
+ Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (float_truncate SSE splitter): Ensure that operand is not
+ 	stack register.
+ 	(float SSE splitters): Reorder conditional.
+ 
+ 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
+ 
+ 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
+ 
+ 	* pa64-hpux.h (LIB_SPEC): Fix p and pg options.
+ 	(STARTFILE_SPEC): Remove p and pg options.
+ 
+ 2002-11-05  Andrew Haley  <aph@redhat.com>
+ 
+ 	* fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
+ 	to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
+ 
+ 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
+ 	* config/mips/mips.c (mips_cannot_change_mode_class): ...here.
+ 
+ 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gthr-vxworks.h: Rewritten from scratch.
+ 	* config/vxlib.c: New file.
+ 	* config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
+ 	* config/rs6000/t-vxworks: Add config/vxlib.c to
+ 	LIB2FUNCS_EXTRA here too, because of clash with
+ 	config/rs6000/t-ppccomm.
+ 
+ 2002-11-04  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* doloop.c (doloop_modify_runtime):  Fix loop count computation
+ 	for unrolled loops.
+ 	* loop.c (loop_invariant_p):  Support calling from unroller.
+ 
+ 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
+ 	for comparison.
+ 
+ 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
+ 
+ 	* config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
+ 	(CLASS_CANNOT_CHANGE_MODE): Remove.
+ 	(CANNOT_CHANGE_MODE_CLASS): New.
+ 
+ 	* config/alpha/alpha.h: Same.
+ 
+ 	* config/ia64/ia64.h: Same.
+ 
+ 	* config/mips/mips.h: Same.
+ 
+ 	* config/s390/s390.h: Same.
+ 
+ 	* config/sh/sh.h: Same.
+ 
+ 	* config/pa/pa64-regs.h: Same.
+ 
+ 	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
+ 
+ 	* config/sh/sh.c (sh_cannot_change_mode_class): New.
+ 
+ 	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
+ 	prototype.
+ 
+ 	* config/mips/mips.c (mips_cannot_change_mode_class): New.
+ 
+ 	* doc/tm.texi (Register Classes): Remove
+ 	CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
+ 	Document CANNOT_CHANGE_MODE_CLASS.
+ 
+ 	* reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
+ 	(push_reload): Same.
+ 
+ 	* simplify-rtx.c (simplify_subreg): Same.
+ 
+ 	* reload1.c (choose_reload_regs): Same.
+ 
+ 	* recog.c (register_operand): Same.
+ 
+ 	* regrename.c (mode_change_ok): Change to use new
+ 	CANNOT_CHANGE_MODE_CLASS infrastructure.
+ 
+ 	* regclass.c (cannot_change_mode_set_regs): New.
+ 	Declare subregs_of_mode.
+ 	(regclass): Use subregs_of_mode.
+ 	Remove references to reg_changes_mode.
+ 	(init_reg_sets_1): Remove class_can_change_mode and
+ 	reg_changes_mode code.
+ 	(invalid_mode_change_p): New.
+ 	(dump_regclass): Use invalid_mode_change_p instead of
+ 	class_can_change_mode.
+ 	(regclass): Same.
+ 	(record_operand_costs): Do not set reg_changes_mode.
+ 
+ 	* local-alloc.c (struct qty): Remove changes_mode field.
+ 	(alloc_qty): Remove changes_mode initialization.
+ 	(update_qty_class): Remove set of changes_mode.
+ 	(find_free_reg): Use subregs_of_mode.
+ 
+ 	* global.c (find_reg): Use subregs_of_mode info.
+ 
+ 	* rtl.h (cannot_change_mode_set_regs): New prototype.
+ 	(invalid_mode_change_p): Same.
+ 	(REG_CANNOT_CHANGE_MODE_P): New macro.
+ 
+ 	* flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
+ 	REG_CHANGES_MODE.
+ 	(life_analysis): Clear subregs_of_mode.
+ 
+ 	* combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
+ 	Remove use of CLASS_CANNOT_CHANGE_MODE.
+ 	(simplify_set): Same.
+ 	(gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
+ 	REG_CHANGES_MODE.
+ 
+ 	* regs.h: Add extern for subregs_of_mode;
+ 	Include hard-reg-set and basic-block.
+ 	(REG_CHANGES_MODE): Delete.
+ 
+ 2002-11-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_sqrt): New function to calculate square roots.
+ 	* real.h (real_sqrt): Add function prototype.
+ 	* builtins.c (fold_builtin): Fold sqrt of constant argument.
+ 	* simplify-rtx.c (simplify_unary_operation): Simplify sqrt
+ 	of constant argument.
+ 
+ 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* jump.c (never_reached_warning): Don't set contains_insn until the
+ 	first line note is seen.
+ 
+ 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movti_string): Use string instructions.
+ 
+ 2002-11-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/7128
+ 	* c-typeck.c (c_expand_asm_operands): Defend against
+ 	error_mark_nodes in the output argument to avoid ICE.
+ 
+ 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/8408
+ 	* genrecog.c (preds): Handle ADDRESSOF.
+ 	(validate_pattern): Mark it as an lvalue.
+ 
+ 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Use string
+ 	instructions when optimizing for size.
+ 
+ 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h: Fix comment typos.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 
+ 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	Revert this change:
+ 
+ 	*doc/install.texi (Installing GCC: Configuration): Clarify
+ 	the only supported ways to configure gcc.
+ 
+ 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
+ 	instead of 'O' for the constraint for the second operand.
+ 
+ 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/8391
+ 	* toplev.c (rest_of_compilation): Do not refuse to output code for
+ 	an inline function in a local class.
+ 
+ 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
+ 	(TRANSFER_FROM_TRAMPOLINE): Reformat.
+ 	Add comment.
+ 
+ 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
+ 
+ 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
+ 
+ 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
+ 	(MASK_INLINE_DIV_THR): Remove.
+ 	(TARGET_INLINE_DIV_LAT): Remove.
+ 	(TARGET_INLINE_DIV_THR): Remove.
+ 	(TARGET_INLINE_DIV): Remove.
+ 	(MASK_INLINE_FLOAT_DIV_LAT): New macro.
+ 	(MASK_INLINE_FLOAT_DIV_THR): New macro.
+ 	(MASK_INLINE_INT_DIV_LAT): New macro.
+ 	(MASK_INLINE_INT_DIV_THR): New macro.
+ 	(TARGET_INLINE_FLOAT_DIV_LAT): New macro.
+ 	(TARGET_INLINE_FLOAT_DIV_THR): New macro.
+ 	(TARGET_INLINE_INT_DIV_LAT): New macro.
+ 	(TARGET_INLINE_INT_DIV_THR): New macro.
+ 	(TARGET_INLINE_FLOAT_DIV): New macro.
+ 	(TARGET_INLINE_INT_DIV): New macro.
+ 	* config/ia64/ia64.md (divsi3): Change to use new macros.
+ 	(modsi3): Ditto.
+ 	(udivsi3): Ditto.
+ 	(umodsi3): Ditto.
+ 	(divsi3_internal): Ditto.
+ 	(divdi3): Ditto.
+ 	(moddi3): Ditto.
+ 	(udivdi3): Ditto.
+ 	(umoddi3): Ditto.
+ 	(divdi3_internal_lat): Ditto.
+ 	(divdi3_internal_thr): Ditto.
+ 	(divsf3): Ditto.
+ 	(divsf3_internal_lat): Ditto.
+ 	(divsf3_internal_thr): Ditto.
+ 	(divdf3): Ditto.
+ 	(divdf3_internal_lat): Ditto.
+ 	(divdf3_internal_thr): Ditto.
+ 	(divtf3): Ditto.
+ 	(divtf3_internal_lat): Ditto.
+ 	(divtf3_internal_thr): Ditto.
+ 	* config/ia64/ia64.c (ia64_override_options): Change
+ 	to check new macros for conflicts in settings.
+ 	* doc/invoke.texi (-minline-divide-min-latency): Remove.
+ 	(-minline-divide-max-throughput): Remove.
+ 	(-minline-float-divide-min-latency): New.
+ 	(-minline-float-divide-max-throughput): New.
+ 	(-minline-int-divide-min-latency): New.
+ 	(-minline-int-divide-max-throughput): New.
+ 
+ 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	PR target/7856
+ 	* arm.c (use_return_insn): Don't use a return insn if there are
+ 	saved integer regs, but LR is not one of them.
+ 
+ Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
+ 	* machmode.h (SCALAR_FLOAT_MODE_P): New macro.
+ 
+ Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
+ 	(movps, movpd splitters): Use canonical form.
+ 	(movv2di): Fix merge problem.
+ 
+ Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
+ 
+ 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR optimization/6162
+ 	* doc/md.texi: Document restriction on commutative operand
+ 	specification.
+ 
+ 2002-10-31  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* explow.c (convert_memory_address): Use shallow_copy_rtx.
+ 
+ 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
+ 
+ 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
+ 
+ Thu Oct 31  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin.h:  Correct formatting in previous.
+ 
+ Thu Oct 31  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin.h:  Enable -falign-xxx options.
+ 
+ Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (override_options): Set defaults for flag_omit_frame_pointer,
+ 	flag_asynchronous_unwind_tables, flag_pcc_struct_return.
+ 	* i386.c (optimization_options): Set flag_omit_frame_pointer,
+ 	flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
+ 	Do not clear -momit-leaf-frame-pointer when profiling.
+ 	(ix86_frame_pointer_required): Frame pointer is always required when
+ 	profiling.
+ 
+ Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
+ 
+ Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (binary_logical_operator): Declare.
+ 	* sh.c (binary_logical_operator): New function.
+ 	* sh.md (xordi3+1): New combiner splitter pattern.
+ 
+ 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
+ 	__enable_execute_stack function.
+ 
+ 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
+ 	gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
+ 	* unwind-sjlj.c (fc_key_dtor): Delete.
+ 	(fc_key_init): Adjust __gthread_key_create call to match.
+ 
+ 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.c: Add GTY to vector_type_node_list.
+ 
+ 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
+ 
+ 	* pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
+ 	* pa-protos.h (attr_length_millicode_call, attr_length_call,
+ 	pa_init_machine_status): Declare new global functions.
+ 	* pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
+ 	implement new functions.
+ 	(attr_length_millicode_call, attr_length_call): Implement.
+ 	(total_code_bytes): Change type to long.
+ 	(pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
+ 	Reset counter if flag_function_sections.
+ 	(output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
+ 	(output_cbranch): Move call to gen_label_rtx.
+ 	(output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
+ 	delay slot in all variants, shorten pc-relative calls.
+ 	(output_call): Rewrite adding long TARGET_64BIT call, improved delay
+ 	slot usage and exposure, various new call variants, and shortened
+ 	sequences for some variants on TARGET_PA_20.
+ 	Miscellaneous format changes.
+ 	* pa.h (total_code_bytes): Change type to long.
+ 	(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
+ 	TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
+ 	(TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
+ 	(EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
+ 	LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
+ 	stores on TARGET_ELF32.
+ 	*pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
+ 	(unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
+ 	canonicalize_funcptr_for_compare expanders): Calculate attribute length
+ 	attr_length_millicode_call().
+ 	(call_internal_symref, call_value_internal_symref): Clobber register 1.
+ 	Calculate attribute length using attr_length_call().
+ 	(call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
+ 	to delay slot.
+ 	(sibcall, sibcall_value): Rewrite.
+ 	(sibcall_internal_symref, sibcall_value_internal_symref): Clobber
+ 	register 1.  Use attr_length_call().
+ 	(sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
+ 	New patterns.
+ 	(unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
+ 	* som.h (MEMBER_TYPE_FORCES_BLK): Define.
+ 	* t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
+ 	* doc/invoke.texi (mlong-calls): Document.
+ 
+ 2002-10-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg):  Improve
+ 	handling of cases where one or both branches of the conditional
+ 	have void type, i.e. throw an exception or don't return.
+ 	(fold): Only apply (and undo) type conversion to the non-void
+ 	branches of a COND_EXPR.
+ 
+ 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/8333
+ 	* varasm.c (asm_output_aligned_bss): Do not call
+ 	ASM_GLOBALIZE_LABEL.
+ 
+ 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
+ 	    Torbjorn Granlund  <tege@swox.com>
+ 
+ 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
+ 	for addressibility.
+ 	(load_toc_v4_PIC_1b): Same.
+ 
+ 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
+ 	Truncate the addresses for H8/300 using HImode.
+ 
+ Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (negdf splitter): Fix construction of the constant.
+ 
+ Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (negsf, negdf): Reorganize to use vector modes
+ 	for SSE variants.
+ 	(abssf, absdf): Use force_reg.
+ 	(movv4sf, movv2df): New splitters.
+ 	* i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
+ 	* i386.c (zero_extended_scalar_load_operand
+ 
+ 	* i386-protos.h (ix86_expand_call): Update prototype.
+ 	* i386.c (ix86_function_ok_for_sibcall): Handle 64bit
+ 	(ix86_expand_call): Use r11 for indirect sibcalls.
+ 	* i386.md (call, call_value, untyped_call, call_value_pop):
+ 	update x86_expand_call call.
+ 	(sibcall, sibcall_value): new patterns
+ 	(call_rex64, call_value_rex64): Do not accept sibcalls.
+ 	(sibcall_rex64, sibcall_value_rex64,
+ 	sibcall_rex64_v, sibcall_value_rex64_v): New.
+ 
+ Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
+ 	before final pass.
+ 
+ 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* toplev.c (rest_of_type_compilation): Return early in case of
+ 	errors.
+ 	(check_global_declarations): Don't call debug_hooks->global_decl
+ 	in case of errors.
+ 
+ 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
+ 
+ 	* doc/c-tree.texi (Tree overview): Fix typos.
+ 
+ 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* Makefile.in (gnucompare*):  Only record bad comparisons
+ 	if there really was a bad comparison.
+ 
+ Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
+ 	* i386.md (movsf*, movdf*): Use 'C' instead of 'H'
+ 	* md.texi (machine dependent constraints): Document 'C'
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
+ 
+ 	* i386.c (ix86_expand_vector_move): Fix.
+ 
+ 	* i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
+ 	* i386.md (sse2_maskmovdqu_rex64): New pattern
+ 
+ 	PR target/8322
+ 	* xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
+ 	(ix86_init_mmx_sse_builtins): Fix type.
+ 
+ 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* gthr-posix.h: Include <unistd.h> for feature tests.
+ 	(sched_get_priority_max, sched_get_priority_min)
+ 	(pthread_getschedparam, pthread_setschedparam): Only use
+ 	if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
+ 	(__gthread_objc_thread_set_priority): Don't treat all nonzero
+ 	returns from sched_get_priority_max and sched_get_priority_min
+ 	as an error.
+ 
+ 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (TARGET_DEFAULT): Make it
+ 	MASK_QUICKCALL.
+ 
+ 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
+ 	(h8300_tiny_constant_address_p): Likewise.
+ 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
+ 	h8300_eightbit_constant_address_p.
+ 	(TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
+ 	* config/h8300/h8300-protos.h: Add the prototypes for the two
+ 	new functions.
+ 
+ 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (update_eliminables): Unconditionally check if
+ 	frame_pointer_needed has changed.
+ 
+ Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
+ 	before final pass.
+ 
+ 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/8334
+ 	* expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
+ 	check for zero operands explicitly.
+ 
+ 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (extv, extzv, insv): Set size of referenced
+ 	memory after adjusting to BLKmode.
+ 
+ 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (MASK_*): New.
+ 	(TARGET_*): Use MASK_*.
+ 
+ 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
+ 	* config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
+ 	config/rs6000/vxworks.h: New files.
+ 	* config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
+ 
+ 	* config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
+ 	i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
+ 	m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
+ 	powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
+ 	sparc-*-vxsim*): Delete stanzas.
+ 	* gthr-vxworks.h: Rip out all substantive code and just
+ 	include gthr-single.h.
+ 
+ 	* config/alpha/vxworks.h, config/arm/vxarm.h,
+ 	config/i386/vxi386.h, config/i960/t-vxworks960,
+ 	config/i960/vx960-coff.h, config/i960/vx960.h,
+ 	config/m68k/t-vxworks68, config/m68k/vxm68k.h,
+ 	config/mips/vxworks.h, config/rs6000/vxppc.h,
+ 	config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
+ 	config/sparc/vxsim.h, config/sparc/vxsparc.h,
+ 	config/sparc/vxsparc64.h: Delete files.
+ 
+ 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
+ 	tm_defines if pthreads are enabled.
+ 	* config/netbsd.h (LIB_SPEC): Only support the -pthread option
+ 	if NETBSD_ENABLE_PTHREADS is defined.
+ 
+ 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog.1: Fix typos.
+ 	* cse.c: Fix a comment typo.
+ 	* reload1.c: Likewise.
+ 
+ 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
+ 	* fixinc/tests/base/_G_config.h: New file.
+ 
+ 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c: Fix comment formatting.
+ 	* loop.c: Likewise.
+ 	* real.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* regrename.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* unroll.c: Likewise.
+ 
+ 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reload): Fix a comment typo.
+ 
+ Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
+ 
+ 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
+ 	* dwarf2out.c: Include hashtab.h.
+ 	(is_main_source): New static variable.
+ 	(attr_checksum, die_checksum): Modified to handle die references.
+ 	(same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
+ 	unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
+ 	record_comdat_symbol_number): New static functions.
+ 	(output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
+ 	mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
+ 	* toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
+ 	declarations added.
+ 
+ 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (initial_offset): Change to
+ 	h8300_initial_elimination_offset.
+ 	* config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
+ 	h8300_initial_elimination_offset.
+ 	* config/h8300/h8300-protos.h: Update the prototype.
+ 
+ 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h (LIBCALL_VALUE): Use
+ 	MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
+ 	(FUNCTION_VALUE_REGNO_P): Similar, but move code to...
+ 	* config/mmix/mmix.c (mmix_function_value_regno_p): New.
+ 	* config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
+ 	and RTX_CODE.
+ 	(mmix_function_value_regno_p): Declare.
+ 
+ 	* config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
+ 	invalid for floating point mode result, with fix.
+ 
+ Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
+ 	(STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
+ 	(stage1_build): Likewise.
+ 
+ 2002-10-25  Mike Stump  <mrs@apple.com>
+ 
+ 	Fixes gcc.dg/warn-1.c.
+ 	* c-typeck.c (warn_for_assignment): Don't print argument number,
+ 	if zero.
+ 
+ Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (dump_file_index): Add DFI_ce3.
+ 	(dump_file_info): Likewise.
+ 	(rest_of_compilation): Run first ifcvt pass before tracer.
+ 
+ 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
+ 
+ 2002-10-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_to_decimal): If the >1 tens reduction loop results
+ 	in a negative exponent, fall into the <1 pten computation.
+ 
+ 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR middle-end/6994
+ 	* c-objc-common.c (inline_forbidden_p): Can not inline
+ 	functions containing structures or unions containing VLAs.
+ 	* tree-inline.c (walk_tree): For all class 't' nodes, walk
+ 	TYPE_SIZE and TYPE_SIZE_UNIT.
+ 	(copy_tree_r): Copy types if they are variably modified.
+ 
+ 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md: Remove old-style peepholes.
+ 
+ 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_decompose_address): Do not range check the
+ 	displacement if base or index is the argument pointer register.
+ 
+ 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR other/3337
+ 	PR bootstrap/6763
+ 	PR bootstrap/8122
+ 	* fixinc/inclhack.def (libc1_G_va_list): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
+ 	ifndef IN_LIBGCC2.  Wrap it together with signal.h and
+ 	sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
+ 	* configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
+ 	* config.in, configure: Regenerate.
+ 
+ 2002-10-24  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* varasm.c (struct rtx_const): Array size 16 for V16QImode.
+ 
+ 2002-10-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
+ 
+ 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (initial_offset): Simplify by using
+ 	round_frame_size.
+ 
+ 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* doc/install.texi (avr): Update required binutils version.
+ 
+ 2002-10-24  Theodore A. Roth  <troth@openavr.org>
+ 
+ 	* doc/install.texi: Point avr users at more up-to-date information.
+ 
+ 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
+ 	to pull operands out of the literal pool where possible.
+ 
+ 2002-10-24  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.c (init_cumulative_args): Test fntype for zero.
+ 
+ 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* expr.c (convert_move): If unsignedp is less then zero there
+ 	is no equivalent code.
+ 
+ 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
+ 
+ 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h: Rework comments; re-sort target macro definitions
+ 	according to the sequence they are defined in the manual.
+ 	(POINTER_BOUNDARY): Remove.
+ 
+ 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (round_frame_size): Replace 8 with
+ 	BITS_PER_UNIT.
+ 
+ 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
+ 	64-bit safe.
+ 	(TINY_CONSTANT_ADDRESS_P): Likewise.
+ 
+ 2002-10-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
+ 	(ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
+ 	vcall offset.
+ 
+ 2002-10-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/7944
+ 	* reload.c (find_reloads_toplev): Mode of X is not important
+ 	when simplifying subregs of constants.
+ 
+ 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
+ 	MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
+ 	* config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
+ 	(override_options): Base default setting of MASK_SOFT_FLOAT on -march
+ 	if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
+ 
+ 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optabs.c (expand_binop): Don't reuse the shift target in the
+ 	middle of shift sequences.
+ 
+ Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (abs splitters): Do not produce nested subregs.
+ 
+ Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movti_rex64): Fix constraints.
+ 
+ Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (abssf,absdf): Use vector operands for SSE
+ 	(abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
+ 	vector operand.
+ 
+ 2002-10-23  Ziemowit Laski <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (get_static_reference): Remove unneeded
+ 	TYPE_BINFO initialization.
+ 	(get_object-reference): Likewise.
+ 	(build_constructor): Tighten precondition check.
+ 	(finish_message_expr): Likewise.
+ 
+ 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
+ 	after CONST test.
+ 
+ 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
+ 	in HFAs.
+ 
+ 2002-10-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
+ 	(alpha_output_mi_thunk_osf): Handle vcall_offset.
+ 
+ 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
+ 	var_mod_type_p.
+ 	* langhooks-def.h: Default for tree_inlining.var_mod_type_p is
+ 	hook_tree_bool_false.
+ 
+ 	* tree.c (variably_modified_type_p): Moved here from
+ 	cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
+ 	language-specific cases.  Due to this, must weaken some 'if
+ 	and only if' checks to merely 'if'.
+ 	* tree.h: Prototype variably_modified_type_p.
+ 
+ 	* tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
+ 
+ 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
+ 	* config/s390/s390.c (optimization_options): Disable -fcaller-saves.
+ 
+ 	* config/s390/s390-protos.h (fp_operand): Remove.
+ 	* config/s390/s390.c (fp_operand): Remove.
+ 	* config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
+ 	("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
+ 	("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
+ 	(movdi_31, movdf_31 splitters): Likewise.
+ 
+ 	* config/s390/s390.h (IEEE_FLOAT): Remove.
+ 	(TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
+ 	(INT_REGNO_P): Rename to ...
+ 	(GENERAL_REGNO_P): ... this.
+ 	(FLOAT_REGNO_P): Rename to ...
+ 	(FP_REGNO_P): ... this.
+ 	(ADDR_REGNO_P): New macro.
+ 	(GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
+ 	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
+ 	(DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
+ 	(HARD_REGNO_NREGS): Adapt to macro renaming.
+ 	(HARD_REGNO_MODE_OK): Likewise.
+ 
+ 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
+ 	    Geoff Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
+ 	(rs6000_memory_move_cost): New function.
+ 	* config/rs6000/rs6000-protos.h: Declare them.
+ 	* config/rs6000/rs6000.h: Use them.
+ 
+ 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
+ 	inlining it into other libgcc2 routines.
+ 	(__udivmoddi4): Likewise.
+ 
+ 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/sourcebuild.texi (Test Suites): Improve.
+ 
+ 2002-10-22  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
+ 	case for Darwin.
+ 
+ 2002-10-22  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
+ 
+ Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR other/8289
+ 	* xmmintrin.h: Add const to the argument of loads.
+ 
+ 	* i386.md (pushv2di): New pattern.
+ 	PR target/6890
+ 	* xmmintrin.h (_MM_TRANSPOSE4_PS): New.
+ 
+ 2002-10-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (gcc_target.asm_out): Merge output_mi_thunk and
+ 	output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
+ 	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
+ 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 	(TARGET_ASM_OUT): Update.
+ 	* hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
+ 	(hook_bool_tree_hwi_hwi_tree_true): New.
+ 	(default_can_output_mi_thunk_no_vcall): New.
+ 	* hooks.h: Declare them.
+ 	* system.h (ASM_OUTPUT_MI_THUNK): Poison.
+ 
+ 	* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 	(alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
+ 	* config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
+ 	config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
+ 	config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
+ 	config/stormy16/stormy16.c: Similarly.
+ 
+ 	* config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
+ 	Handle 64-bit properly.  Streamline.
+ 	(x86_output_mi_vcall_thunk): Remove.
+ 	(x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
+ 	(x86_can_output_mi_thunk): New.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
+ 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 	(override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
+ 	output_mi_thunk; make static; always use function_section.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): New.
+ 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 	(rs6000_ra_ever_killed): Test no_new_pseudos not
+ 	targetm.asm_out.output_mi_thunk in conjunction with thunks.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 	* config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
+ 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
+ 	xcoffout_declare_function when using rs6000_output_mi_thunk.
+ 
+ 	* config/s390/s390.c (s390_output_mi_thunk): Rename from
+ 	s390_output_mi_vcall_thunk.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
+ 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 
+ 	* config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
+ 	* config/vax/vax-protos.h: Update.
+ 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
+ 
+ Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
+ 
+ 	* i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
+ 	* i386.h (EXTRA_CONSTRAINT): Recognize 'C'
+ 	* i386.md (movti_internal): Use 'C'
+ 
+ 	* xmmintrin.h (_mm_cmplt_epi*): New.
+ 
+ 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
+ 	("*movdf_64"): Likewise.
+ 	("*lshrdi3_64"): Likewise.
+ 	("blockage"): Add length attribute.
+ 	("lit"): Likewise.
+ 
+ Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md: FIx typo.
+ 	(sse2_cvtsi2sd, sse2_pslrdq): Fix template.
+ 	(sse2_umulv2siv2di3): Fix predicate.
+ 	(sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
+ 	lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
+ 	* xmmintrin.h (_mm_mul_epu16): Rename to...
+ 	(_mm_mul_epu32): This one.
+ 	(_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
+ 
+ 	(contains_128bit_aligned_vector_p): Undo accidental checkin.
+ 
+ 2002-10-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/sparc/sparc.h: Add #error.
+ 
+ 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
+ 	[s390x-*-linux*]: Likewise.
+ 	* config/s390/t-linux: Remove.
+ 	* config/s390/s390.h: Include fixdfdi.h when building libgcc2.
+ 
+ Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
+ 	(ix86_expand_builtin): Fix MASKMOVDQU expasion.
+ 	* i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
+ 	* i386.md (mmx_punpck?dq): Simplify.
+ 	(sse2_pubpcklqdq): Fix.
+ 	(sse2_pubpckhqdq): New.
+ 	* xmmintrin.h (_mm_unpackhi_epi32): New.
+ 
+ 	* xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
+ 	(_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
+ 
+ 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/7209
+ 	* fold_const.c (fold_binary_op_with_conditional_arg): Always
+ 	build compound_expr if we used save_expr.
+ 
+ 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* output.h (SECTION_NOTYPE): Define.
+ 	* varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
+ 	init array sections.
+ 	(default_elf_asm_named_section): Mind SECTION_NOTYPE.
+ 	* config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
+ 	merge TLS support.
+ 
+ 2002-10-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
+ 	the function type, not the return type.
+ 
+ 2002-10-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (sticky_rshift_significand): Return inexact, don't
+ 	or it in immediately.
+ 	(sub_significands): Accept incomming carry.
+ 	(div_significands, rtd_divmod): Update for sub_significands change.
+ 	(round_for_format): Update for sticky_rshift_significand change.
+ 	(do_add): Don't involve the inexact bit in addition, do give the
+ 	inexact bit as the subtraction carry-in.
+ 	(encode_internal, decode_internal, real_internal_format): New.
+ 	* real.h (real_internal_format): Declare.
+ 
+ 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
+ 	don't define sdiv_qrnnd.
+ 
+ 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
+ 	using IN_RANGE.
+ 	(TINY_CONSTANT_ADDRESS_P): Likewise.
+ 
+ Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (builtin_description): Add punpcklqdq and movdq2q
+ 	(ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
+ 	v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
+ 	void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
+ 	__builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
+ 	__builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
+ 	__builtin_ia32_setzero128.
+ 	(ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
+ 	IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
+ 	IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
+ 	* i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
+ 	IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
+ 	IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
+ 	IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
+ 	* i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
+ 	sse2_movq): New patterns.
+ 	(sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
+ 	* xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
+ 	_mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
+ 	_mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
+ 	_mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
+ 	_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
+ 	_mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
+ 	(_mm_insert_epi16): Fix.
+ 
+ 2002-10-21  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
+ 	    unsafe math reversals correctly for RTL generation.
+ 	  (output_cbranch):  Replace rs6000_reverse_condition call
+ 	    by its former definition.
+ 
+ 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
+ 	argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
+ 	from constant pool or LABEL_REFs as sign extended if allow_rip.
+ 	Change all +-1GB limits to +-16MB.
+ 	(x86_64_general_operand, x86_64_szext_general_operand,
+ 	x86_64_nonmemory_operand, x86_64_movabs_operand,
+ 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
+ 	legitimate_address_p, ix86_expand_int_movcc): Update callers.
+ 	(local_symbolic_operand): Don't allow offsets bigger than +-16MB
+ 	in CM_SMALL_PIC model.
+ 	(legitimate_pic_address_disp_p): Don't check offsets before
+ 	calling local_symbolic_operand.
+ 	(legitimize_pic_address): Force offsets bigger than +-16MB into
+ 	register.
+ 	* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
+ 	* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
+ 	prototype.
+ 
+ 	* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
+ 	Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
+ 	* configure: Rebuilt.
+ 	* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
+ 	SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
+ 	UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
+ 	(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
+ 	-fpic.
+ 	(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
+ 	non-pic code if TARGET_64BIT.
+ 	(legitimize_address): Generate 64-bit TLS sequences.
+ 	(output_pic_addr_const): Support x86-64 TLS operators.
+ 	(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
+ 	(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
+ 	Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
+ 	(output_addr_const_extra): Support x86-64 TLS operators.
+ 	(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
+ 	(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
+ 	unconditionally.
+ 	* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
+ 	(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
+ 	(*tls_global_dynamic_sun): Renamed to...
+ 	(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
+ 	(tls_global_dynamic): Renamed to...
+ 	(tls_global_dynamic_32): ... this.
+ 	(tls_global_dynamic_64, *tls_global_dynamic_64): New.
+ 	(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
+ 	(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
+ 	(*tls_local_dynamic_base_dynamic_sun): Renamed to...
+ 	(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
+ 	(tls_local_dynamic_base_dynamic): Renamed to...
+ 	(tls_local_dynamic_base_dynamic_32): ... this.
+ 	(tls_local_dynamic_base_dynamic_64,
+ 	*tls_local_dynamic_base_dynamic_64): New.
+ 	(*tls_local_dynamic_once): Renamed to...
+ 	(*tls_local_dynamic_32_once): ... this.
+ 
+ 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
+ 	__divdi3, __umoddi3, or __moddi3.
+ 
+ 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
+ 	instead of just opt_index as switch expression.
+ 
+ 	* calls.c (store_one_arg): Change type of 'excess_align'
+ 	to unsigned int.
+ 
+ 	* profile.c (output_gcov_string): Change type of 'temp'
+ 	to size_t.
+ 
+ 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
+ 	(__fixunssfdi, __fixsfdi): Likewise.
+ 	* config/s390/s390.c (s390_single_hi): Initialize 'value'.
+ 	(s390_single_qi): Likewise.
+ 	(s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
+ 	unsigned comparison warning.
+ 	(s390_return_addr_rtx): New function.
+ 	* config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
+ 	* config/s390/s390.h (RETURN_ADDR_RTX): Use it.
+ 	(HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
+ 
+ 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
+ 	(s390_output_mi_thunk): Remove.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
+ 
+ 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
+ 
+ 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
+ 	inverted test in the conditional determining the possibility
+ 	of sibcalls in PIC mode.
+ 
+ 2002-10-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Line wrap.
+ 
+ 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): Define here...
+ 	* config/alpha/alpha.h: ... not here.
+ 	* config/alpha/alpha-protos.h: Update.
+ 
+ 	* config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
+ 	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
+ 	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
+ 	config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
+ 	config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
+ 	config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
+ 	config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
+ 	config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
+ 	config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
+ 	config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
+ 	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
+ 	config/sparc/openbsd.h, config/sparc/sparc-protos.h,
+ 	config/sparc/sparc.c, config/sparc/sparc.h,
+ 	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
+ 	config/stormy16/stormy16.h: Similarly.
+ 
+ 	* config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
+ 	selection logic from call patterns.
+ 
+ 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
+ 
+ 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR other/8202
+ 	* i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
+ 	expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
+ 	* i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
+ 	* xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
+ 
+ 2002-10-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/761
+ 	* toplev.c (flag_unsafe_profile_arcs): Remove.
+ 	(flag_bounded_pointers): Remove.
+ 	(flag_bounds_check): Correct comments.
+ 	(lang_independent_options): Remove -funsafe-profile-arcs and
+ 	-fbounded-pointers.  Correct -fbounds-check comments.
+ 
+ 	* flags.h: Correct flag_schedule_interblock comments.
+ 	(flag_bounded_pointers): Remove prototype.
+ 	(flag_bounds_check): Correct comments.
+ 
+ 	* c-opts.c (c_common_init_options): No need to mark
+ 	flag_bounds_check as unspecified.
+ 	(c_common_post_options): And no need to set it from
+ 	flag_bounded_pointers if its still unspecified.
+ 
+ 	* doc/invoke.texi: Fix some overfull hboxes in "make dvi".
+ 	Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
+ 	-fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
+ 	-fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
+ 
+ Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
+ 	Angela Marie Thomas  <angela@releasedominatrix.com>
+ 	Brendan Kehoe  <brendan@zen.org>
+ 	Nick Clifton  <nickc@redhat.com>
+ 	Andrew Haley  <aph@redhat.com>
+ 
+ 	* configure.in (--with-sysroot): New.  Don't inhibit libc if
+ 	given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
+ 	and CROSS_SYSTEM_HEADER_DIR.
+ 	* configure: Rebuilt.
+ 	* Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
+ 	(TARGET_SYSTEM_ROOT): New.
+ 	(DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
+ 	CROSS_SYSTEM_HEADER_DIR.
+ 	(install-gcc-tooldir): New target.
+ 	(stmp-fixinc): Do not create $(libsubdir), but rather bail out
+ 	if SYSTEM_HEADER_DIR does not exist and it's not the default
+ 	sys-include directory.
+ 	(deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
+ 	(install-mkheaders): Likewise.
+ 	* gcc.c (target_system_root): New variable.
+ 	(add_sysrooted_prefix): New function.
+ 	(process_command): Recompute run-time target_system_root from
+ 	gcc_exec_prefix, keeping it unchanged if the relocated sysroot
+ 	does not exist.
+ 	(do_spec_1): Process 'R' spec.
+ 	(main): Add md_exec_prefix to exec_prefixes regardless of
+ 	startfile_prefix_spec.  Use add_sysrooted_prefix for
+ 	startfile_prefixes, and don't skip the default ones when cross
+ 	compiling with sysroot enabled.  Removed unused case of
+ 	non-absolute standard_startfile_prefix.
+ 	* config/interix.h: Remove the only potential, yet disabled,
+ 	occurrence of non-absolute (empty) standard_startfile_prefix.
+ 	* config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
+ 	linking.
+ 	* config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
+ 	* doc/install.texi (--with-sysroot): Document.
+ 	(--with-headers, --with-libs): Deprecate.
+ 
+ 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 	    Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
+ 	match target.h.
+ 	* arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
+ 	* cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
+ 	* frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
+ 	* i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
+ 	x86_output_mi_thunk): Likewise.
+ 	* i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
+ 	* ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
+ 	* m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
+ 	* mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
+ 	* rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
+ 	* s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
+ 	* stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
+ 	Likewise.
+ 	* vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
+ 
+ 	* target.h (gcc_target): Update output_mi_thunk and
+ 	output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
+ 	vcall_index.
+ 
+ 	* config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
+ 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
+ 	* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
+ 	* config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
+ 	* config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
+ 	signature.
+ 	* config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
+ 	* config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
+ 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
+ 	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): Do define.
+ 	* config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
+ 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
+ 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
+ 	ASM_OUTPUT_MI_THUNK and replace with check of targetm.
+ 
+ 	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
+ 	(TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
+ 
+ 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
+ 
+ 	* real.c (do_add): Fix 0+0 sign corner case.
+ 	(do_divide): Fix Inf/0 corner case.
+ 
+ Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Pass MMX arguments in memory
+ 	(ix86_expand_builtin): Expand proper address mode for cflush.
+ 	* i386.md (movdqa): Fix typo.
+ 	(sse2_cflush): Accept DImode addresses.
+ 
+ 	* xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
+ 	(_mm_max_sd): Fix pasto.
+ 	(_mm_storeh_pd, _mm_storel_pd): Fix.
+ 
+ 	* i386.c (bdesc_comi): Fix to match specification.
+ 	(ix86_expand_sse_comi): Emit the comparison properly.
+ 	* i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
+ 	Do not use comparison operator.
+ 	(vnmaskcmp): Fix template.
+ 
+ 	* xmmintrin.h (_mm_cvtps_pi16): Fix.
+ 
+ 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
+ 
+ 	* dependence.c : Removed.
+ 	* Makefile.in : Remove dependence.o.
+ 
+ Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* mmintrin.h (__m64): typedef it to v2si.
+ 	(_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
+ 	_mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
+ 	_mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
+ 	_mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
+ 	_mm_or_si64, _mm_xor_si64): Add neccesary casts.
+ 	* xmmintrin.h (_mm_setzero_si64): Likewise.
+ 
+ 	* i386.h (ALIGN_MODE_128): Update comment; add missing modes
+ 	(SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
+ 
+ 	PR target/7693
+ 	Patch by Shawn Wagner
+ 	* mmintrin.h: Replace pi64 by si64.
+ 
+ 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (movdf_hardfloat32): Order alternatives consistently.
+ 	Use length of 4 not *.
+ 	(movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
+ 	(movdf_softfloat64): Likewise.
+ 	(movdi_internal32): Use length of 4 not *.
+ 	(movti_power): Same.
+ 	(ctrsi, ctrdi): Same.
+ 
+ 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (start_decl): Point users of the old initialized-
+ 	typedef extension at __typeof__.
+ 
+ 2002-10-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
+ 	(real_to_decimal): Re-implement using the logic from the
+ 	gcc 3.2 etoasc.  Comment heavily.
+ 	(div_significands): Simplify loop startup and comparison logic.
+ 
+ 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
+ 	(TARGET_ASM_OUT): Add them.
+ 	* target.h (asm_out): Add output_mi_thunk and
+ 	output_mi_vcall_thunk.
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
+ 	* config/arm/arm.c (arm_output_mi_thunk): Define.
+ 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
+ 	prototype.
+ 	(x86_output_mi_vcall_thunk): Declare.
+ 	* config/i386/i386.c (override_options): Clear
+ 	output_mi_vcall_thunk in 64-bit mode.
+ 	(ix86_fntype_regparm): New function.
+ 	(ix86_return_pops_args): Use it.
+ 	(ia32_this_parameter): New function.
+ 	(x86_output_mi_vcall_thunk): New function.
+ 	(x86_output_mi_thunk): Use it
+ 	* config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
+ 	* config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
+ 	* config/i960/i960.c (i960_output_mi_thunk): New function.
+ 	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
+ 	* config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
+ 	* config/ia64/ia64.c (ia64_output_mi_thunk): Define.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
+ 	* config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
+ 	* config/s390/s390.c (s390_output_mi_thunk): Define.
+ 	* config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
+ 	* config/vax/vax.c (vax_output_mi_thunk): Define.
+ 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
+ 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
+ 	* doc/tm.texi: Adjust documentation.
+ 
+ 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
+ 	__enable_execute_stack function.
+ 	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
+ 	as NETBSD_ENABLE_EXECUTE_STACK.
+ 	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
+ 	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
+ 	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
+ 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
+ 	* config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
+ 
+ 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/i386/i386.c (x86_initialize_trampoline): Emit a call
+ 	to __enable_execute_stack with the address of the trampoline
+ 	if TRANSFER_FROM_TRAMPOLINE is defined.
+ 	* config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
+ 	constant if building libgcc2.
+ 
+ Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (pentium4_cost): Fix according to Intel recommendations.
+ 	(ix86_memory_move_cost): Fix for 64bit compilation.
+ 
+ 2002-10-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/c-tree.texi: Update description of COND_EXPR tree nodes.
+ 
+ 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
+ 	in CTR/LR/MQ.
+ 	* config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
+ 	to/from CTR/LR/MQ.
+ 	(movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
+ 	(movsf_softfloat): Likewise.
+ 
+ 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
+ 
+ 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/alpha.c (alpha_initialize_trampoline): Use
+ 	tramp, not addr, to pass the trampoline address to
+ 	__enable_execute_stack.
+ 
+ Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* mmintrin.h: Guard by __MMX__
+ 	* xmmintrin.h: Guard by __SSE__
+ 
+ 	PR other/8062
+ 	* xmmintrin.h (_MM_SHUFFLE2): New macro.
+ 	(_mm_load*_?d): New functions.
+ 	(_mm_set*_?d): New functions.
+ 	(_mm_store*_?d): New functions.
+ 
+ Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Really commit patch announced at Oct 14
+ 	PR c/7344
+ 	* predict.c (can_predict_insn_p): New function.
+ 	(estimate_probability): Avoid unnecesary work.
+ 	(process_note_prediction): Likewise.
+ 	* toplev.c (rest_of_compilation): Account early branch prediction pass
+ 	as TV_BRANCH_PROB.
+ 
+ 	PR other/8048
+ 	Found by Ian Ollmann
+ 	* xmmintrin.h (_mm_shuffle_pd): Fix typo.
+ 	(_mm_load?_pd): Likewise.
+ 	(_mm_store?_pd): Likewise.
+ 
+ 	PR target/7386
+ 	* i386.c (builtin_description):Drop cmpg[te]s[sd].
+ 	* xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
+ 	swapped alternative.
+ 
+ 	PR opt/7630
+ 	* reload1.c (reload_inner_reg_of_subreg): New argument output;
+ 	(push_reload): Update call.
+ 
+ 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
+ 	if using mips/elf.h or mips/elf64.h.
+ 	* config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
+ 	* config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
+ 
+ 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
+ 	SI.
+ 
+ 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
+ 	(LPREFIX): Likewise.
+ 	(ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
+ 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
+ 	ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
+ 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
+ 	GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
+ 
+ 	* config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
+ 	ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
+ 	ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
+ 	BSS_SECTION_ASM_OP): Move from linux.h.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 	Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
+ 
+ 	* config/s390/s390.c (s390_function_profiler): Use
+ 	ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
+ 
+ 2002-10-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
+ 	* java/parse.y (obtain_incomplete_type): Make pointer
+ 	ptr_mode.
+ 
+ 2002-10-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
+ 	as arguments.  Bound DIGITS by the available buffer size.
+ 	(real_to_hexadecimal): Likewise.
+ 	* real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
+ 	(REAL_VALUE_TO_DECIMAL): Remove.
+ 	* c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
+ 	sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
+ 	config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
+ 	config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ 	config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
+ 	config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
+ 	config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
+ 	use real_to_decimal directly, and with the proper arguments.
+ 	* doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
+ 
+ 2002-10-15  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* reload1.c (merge_assigned_reloads): After converting overlapping
+ 	reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
+ 
+ 	* config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
+ 
+ Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (do_tablejump): Fix typo in my previous commit.
+ 
+ 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
+ 
+ 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_split_branches): Add return
+ 	value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
+ 
+ 	(find_base_register_in_addr): New function.
+ 	(find_base_register_ref): New function.
+ 	(replace_base_register_ref): New function.
+ 
+ 	(struct constant_pool): Add members pool_insn, insns, and anchor.
+ 	Remove member last_insn.
+ 	(s390_start_pool): Initialize them.
+ 	(s390_end_pool): Emit pool placeholder insn.
+ 	(s390_add_pool_insn): New function.
+ 	(s390_find_pool): Use insns bitmap instead of addresses.
+ 	(s390_dump_pool): Replace placeholder insn.  Emit anchor.
+ 	Replace unspec 104 by local-pool-relative references.
+ 	(s390_output_constant_pool): Output anchor label if required.
+ 	(s390_output_symbolic_const): Handle unspec 104 and 105.
+ 	(s390_add_pool): Remove, replace by ...
+ 	(s390_add_constant, s390_find_constant): ... these new functions.
+ 	(s390_add_anchor): New function.
+ 
+ 	(s390_chunkify_pool): Delete, replace by ...
+ 	(s390_chunkify_start, s390_chunkify_finish,
+ 	s390_chunkify_cancel): ... these new functions.
+ 	(s390_optimize_prolog): Add parameter TEMP_REGNO.
+ 	Recompute register live data for special registers.
+ 	(s390_fixup_clobbered_return_reg): New function.
+ 	(s390_machine_dependent_reorg): Rewrite to use new
+ 	s390_chunkify_... routines.
+ 
+ 	config/s390/s390.md ("reload_base"): Rename to ...
+ 	("reload_base_31"): ... this.
+ 	("reload_base_64"): New insn.
+ 	("reload_base2"): Remove.
+ 	("reload_anchor"): New insn.
+ 	("pool"): New insn.
+ 
+ 	s390.c (s390_pool_overflow): Remove.
+ 	s390.h (s390_pool_overflow): Likewise.
+ 	s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
+ 
+ Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (movv8qi_i+2): Don't split if source is -1.
+ 
+ 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi: Formatting changes for conformance to HTML 4.01.
+ 
+ 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR opt/7409
+ 	* loop.c (loop_regs_scan): Mark registers used for function
+ 	argument passing as MAY_NOT_OPTIMIZE.
+ 
+ Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcov-io.h (gcov_info): Fix type.
+ 	* profile.c (create_profiler): Fix type mismatch.
+ 
+ Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movv2di_internal): New pattern.
+ 	(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
+ 	(movv2di): New expander.
+ 	* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
+ 
+ 	* i386.c (ix86_expand_timode_binop_builtin): Delete.
+ 	(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
+ 	(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
+ 	(ix86_expand_builtin): Likewise.
+ 	* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
+ 	sse_andti3,
+ 	sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
+ 	sse_andnti3,
+ 	sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
+ 	sse_orti3,
+ 	sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
+ 	sse_xorti3): Kill.
+ 	(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
+ 	 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
+ 	(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
+ 	 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
+ 	(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
+ 	 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
+ 
+ 	* xmmintrin.h (__m128i): Define as __v2di.
+ 
+ 	PR c++/6419
+ 	(expand_expr): Use DECL_RTL_SET_P.
+ 
+ 2002-10-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (simplify_set):  Treat MODE_CC registers like cc0.
+ 
+ 2002-10-14  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* config/i386/i386.c (k6_cost): Correct typo.
+ 
+ 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR optimization/6631
+ 	* alias.c (objects_must_conflict_p): Check honor_readonly when
+ 	examining TYPE_READONLY.
+ 	* function.c (assign_stack_temp_for_type): Likewise.
+ 
+ 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	* config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
+ 	Swap zero extension arguments.
+ 	(umaxhi3): Fix instruction class.
+ 	PR target/7211
+ 	(prefetch): Fix prefetch instructions.
+ 	PR target/7238
+ 	(pkwb): Fix output constraint.
+ 
+ 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.c (print_operand): Increase buffer size for
+ 	real numbers.
+ 
+ 2002-10-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/8165
+ 	* gcse.c (adjust_libcall_notes): Revert last change.
+ 	* simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
+ 
+ 2002-10-14  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree-inline.c (remap_block): All local class initialization
+ 	flags go in the outermost scope.
+ 	(expand_call_inline): Call java_inlining_map_static_initializers.
+ 	(expand_call_inline): Call java_inlining_merge_static_initializers.
+ 	* java/lang.c (merge_init_test_initialization): New.
+ 	(java_inlining_merge_static_initializers): New.
+ 	(inline_init_test_initialization): New.
+ 	(java_inlining_map_static_initializers): New.
+ 
+ 	* tree-inline.c (expand_call_inline): Convert retvar to expected
+ 	type.
+ 
+ 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
+ 
+ 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* stmt.c: Fix typo in comment.
+ 
+ Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-common.c (c_common_type_for_mode): Add V2HImode case.
+ 	* tree.c (build_common_tree_nodes_2): Initialize
+ 	unsigned_V2HI_type_node and V2HI_type_node.
+ 	* tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
+ 	(unsigned_V2HI_type_node, V2HI_type_node): Define.
+ 
+ 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
+ 	Handle TARGET_64BIT.
+ 
+ 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
+ 	* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
+ 	(MULTILIB_DIRNAMES): Remove long32.
+ 	(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
+ 	(MULTILIB_REDUNDANT_DIRS): Remove.
+ 
+ 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/tm.texi (DRIVER_SELF_SPECS): Document.
+ 	* gcc.c (driver_self_specs): New variable.
+ 	(do_self_spec): New function.
+ 	(main): Use it to process driver_self_specs.
+ 
+ 2002-10-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
+ 	indirect sibcalls when regparm >= 3.
+ 
+ 	* config/i386/i386.c (sibcall_insn_operand): New.
+ 	* config/i386/i386.h (PREDICATE_CODES): Update.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
+ 
+ 	* rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
+ 
+ 2002-10-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
+ 	arithmetic right shifts of ~0 during RTL simplifications.
+ 
+ 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7862
+ 	PR preprocessor/8190
+ 	* gcc.c (cpp_unique_options): Don't delete .d files.
+ 	Remove stray whitespace.
+ 
+ 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
+ 
+ 	* pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
+ 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+ 	* pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
+ 	(pdp11_output_function_epilogue, output_ascii): Likewise.
+ 	(output_addr_const_pdp11): Likewise.
+ 	* pdp11.md (movdi): Use offsetable memory for floating store.
+ 	(lshrsi3, negsi2): Delete irrelevant comment.
+ 
+ 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
+ 
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
+ 	indirect calls to be sibcall optimized.
+ 	* config/i386/i386.md (sibcall_1): New.
+ 	(call_1): Add no-sibcalls condition.
+ 	(sibcall_value_1): New.
+ 	(call_value_1): Add no-sibcalls condition.
+ 
+ 2002-10-11  Eric Christopher  <echristo@redhat.com>
+ 
+        * output.h (default_valid_pointer_mode): Declare.
+        * varasm.c (default_valid_pointer_mode): Define.
+        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
+        * target.h: Ditto.
+        * tree.c (build_pointer_type_for_mode): New function.
+        (build_pointer_type): Use.
+        (build_reference_type_for_mode): New function.
+        (build_reference_type): Use.
+        * tree.h: Declare new functions.
+        * c-common.c (handle_mode_attribute): Use new functions, check
+        for type.
+        * stor-layout.c (layout_type): Depend on machine mode for
+        REFERENCE_TYPE and POINTER_TYPE.
+        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
+        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
+        and REFERENCE_TYPE.
+        * config/mips/mips.c (mips_valid_pointer_mode): New function.
+        (TARGET_VALID_POINTER_MODE): Use and define.
+        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
+ 
+ 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* cse.c (mention_regs): Set SUBREG_TICKED to the register number,
+ 	not the address of the REG.
+ 	(struct cse_reg_info): Make subreg_ticked unsigned.
+ 
+ 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/compat.texi: Add info about C++ libraries.
+ 
+ 2002-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/8165
+ 	* gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
+ 
+ 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cfganal.c (dfs_enumerate_from): Use PARAMS.
+ 	* genautomata.c (output_insn_code_cases): Likewise.
+ 	* real.c (real_format): Likewise.
+ 	* tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
+ 	ensure value is promoted before doing subtraction.
+ 
+ Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Simplify noreturn call.
+ 
+ 	PR c/7344
+ 	* cfgbuild.c (make_edges): Create edge cache when we do have
+ 	large jumptable.
+ 	* expr.c (do_tablejump): Note size of maximal jumptable.
+ 	* function.c (prepare_function_start): Zero out size.
+ 	* function.h (function): Add max_jumptable_ents.
+ 
+ 	* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
+ 
+ Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
+ 	register for mperm_w operation.
+ 
+ Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): When asked to make a vector from
+ 	an integer, use simplify_gen_subreg.
+ 
+ 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* calls.c (flags_from_decl_or_type): Make extern.
+ 	(ECF_*): Move ...
+ 	* rtl.h (ECF_*): ... here.
+ 	(flags_from_decl_or_type): Declare.
+ 
+ 2002-10-10  Roger Sayle  <roger@eyesopen.com>
+ 	    Nathan Sidwell <nathan@codesourcery.com>
+ 
+ 	* fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
+ 	shifts of the form -1 >> x.
+ 
+ Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
+ 
+ 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* extend.texi (Vector Extensions): Remove comment about single
+ 	element vectors.
+ 
+ 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (size_htab_hash): Use htab_hash_pointer.
+ 	* function.c (insns_for_mem_hash): Likewise.
+ 	* varasm.c (STRHASH): Likewise.
+ 
+ 2002-10-10  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* cse.c (struct cse_reg_info): Add subreg_ticked.
+ 	(SUBREG_TICKED): New.
+ 	(get_cse_reg_info): Initialize SUBREG_TICKED.
+ 	(mention_regs): Use it.
+ 	(invalidate): Set SUBREG_TICKED.
+ 	(invalidate_for_call): Likewise.
+ 	(addr_affects_sp_p): Likewise.
+ 
+ 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (tls_local_dynamic_base): Put pic reg
+ 	into proper operand.
+ 
+ 2002-10-10  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/ip2k/ip2k.c (function_epilogue): Optimize stack
+ 	deallocation.
+ 	* config/ip2k/libgcc.S: Combine routines used by function
+ 	epilogue.
+ 
+ 2002-10-10  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* cse.c (fold_rtx): Don't perform associative optimization for DIV and
+ 	UDIV.
+ 
+ 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix52.h: New file.
+ 	* config/rs6000/t-aix52: New File.
+ 	* config.gcc (rs6000-ibm-aix5.1.*): New entry.
+ 	(rs6000-ibm-aix[56789].*): Default to AIX 5.2.
+ 
+ Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/5610
+ 	* invoke.texi (-msse-math): Kill
+ 	(-msse): Add note to mfpmath=sse.
+ 
+ Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/7723
+ 	* i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
+ 
+ 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/8179
+ 	* gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
+ 	as cc1_options.
+ 	(default_compilers): Pass debug options when preprocessing
+ 	stdin.
+ 
+ 2002-10-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Revert opt/2960 change.
+ 
+ Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (*_cost): Add branch costs.
+ 	(override_options): set ix86_branch_cost.
+ 	(ix86_expand_int_movcc): Use BRANCH_COST.
+ 	* i386.h (costs): Add branch_cost.
+ 
+ 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR c/7353
+ 	* c-decl.c (start_decl): Unconditionally issue error for
+ 	'typedef foo = bar'.
+ 	(finish_decl): Remove special case for TYPE_DECL with initializer.
+ 
+ 	* doc/extend.texi: Delete "Naming Types" section.  Change all
+ 	cross-references to that section to refer to "Typeof" instead.
+ 	Add the useful safe-max()-macro example from "Naming Types" to
+ 	"Typeof", rewritten using that extension.  Add some compatibility
+ 	notes to "Typeof."
+ 
+ 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* loop.c: Revert 2002-08-15 change.
+ 	(LOOP_REGNO_NREGS): Ensure type is int.
+ 
+ 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (extenddftf2): Change to define_insn
+ 	which copies first FPR and clears second.
+ 	(extendsftf2): Same.
+ 	(floatditf2): Fix typo.
+ 	(floatsitf2): Same.
+ 	(fix_trunctfdi2): Same.
+ 	(fix_trunctfsi2): Same.
+ 
+ 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* conflict.c (arc_hash): Change return type to hashval_t.
+ 	* cselib.c (get_value_hash): Likewise.
+ 	* genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
+ 	state_hash, automata_list_hash): Likewise.
+ 	* read-rtl.c (def_hash): Likewise.
+ 	* tree.c (type_hash_hash): Likewise.
+ 
+ 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
+ 	prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
+ 
+ Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (ffssi2): Fix emitted code.
+ 
+ 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* cse.c (insn_live_p): Pass insn pattern, not full insn
+ 	to may_trap_p.
+ 
+ 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppmacro.c (paste_tokens): Only allow / to paste with =.
+ 
+ 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
+ 	64-bit hosts.
+ 	(movtf_internal): Reference correct displacement for second value
+ 	in memory.
+ 	(movtf splitter): Correct generation of constants in 64-bit mode.
+ 
+ 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* libgcc2.c (__floatdisf): Properly cure double rounding.
+ 
+ 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
+ 	* doc/cpp.texi (Common Predefined Macros): Document.
+ 
+ 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR doc/7484
+ 	* doc/invoke.texi (Option Summary): List
+ 	-Wmissing-declarations as a C only option.
+ 
+ 2002-10-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
+ 	left and right rotates of ~0, i.e. integer_all_onesp (arg0).
+ 	[LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
+ 
+ Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
+ 	x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
+ 	variables.
+ 	(safe_vector_operand): Update sse_clrv4sf call.
+ 	(ix86_expand_buildin): Likewise
+ 	* i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
+ 	x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
+ 	(TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
+ 	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
+ 	macros.
+ 	* i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
+ 	movv4si):  Obey the new flags.
+ 	(floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
+ 	reformating penalty.
+ 	(anddf, cmov patterns): Avoid reformating by first converting.
+ 	(sse_cvtsd2ss): Fix predicate.
+ 	(sse2_clrti): Fix mode,
+ 	(sse_clrv4sf): Avoid unspec.
+ 
+ 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
+ 	mno-app-regs|mcmodel=medany.
+ 	(MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
+ 	(MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
+ 	(CRTSTUFF_T_CFLAGS): Define.
+ 
+ 2002-10-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/8087
+ 	* simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
+ 	pool references that are constructed using LO_SUM.
+ 
+ 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
+ 	-Wall.
+ 	* c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
+ 	message.
+ 	* flags.h (warn_strict_aliasing): Declare.
+ 	* toplev.c (warn_strict_aliasing): Define.
+ 	(lang_independent_options): Add it.
+ 	* doc/invoke.texi (-Wstrict-aliasing): Document it.
+ 
+ 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* system.h (GCCBUGURL): Delete.
+ 	* version.c (bug_report_url): New.  Add commentary about
+ 	modifying both these strings in modified distributions.
+ 	* version.h: Declare bug_report_url.
+ 
+ 	* diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
+ 	bug_report_url.
+ 
+ 2002-10-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
+ 	convert uint64_t into __ev64_opaque__.
+ 	(__ev_set_acc_s64): Likewise, but using signed types.
+ 
+ 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*doloop_si_long"): Add missing operand.
+ 	("*doloop_di_long"): Likewise.
+ 
+ Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* print-rtl.c (print_rtx): Increase buffer size for real numbers.
+ 
+ 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (define_attr cpu): Add r4111.
+ 
+ 2002-10-08  Anthony Green  <green@redhat.com>
+ 
+ 	* bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
+ 
+ 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
+ 	for REAL_VALUE_TO_DECIMAL output.
+ 
+ 2002-10-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
+ 	function; cleanup PLUS case by using recursion.  Update all users.
+ 	(NONZERO_BASE_PLUS_P): Remove.
+ 	(find_comparison_args): Use rtx_addr_can_trap_p instead.
+ 	(fold_rtx): Use nonzero_address_p.
+ 	* rtl.h (nonzero_address_p): Declare.
+ 	* rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
+ 	(rtx_addr_can_trap_p): Likewise.
+ 	(nonzero_address_p): New.
+ 	* simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
+ 	(simplify_relational_operation): Use nonzero_address_p.
+ 
+ 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Set
+ 	real_format_for_mode for IBM extended format, if enabled.
+ 	(easy_fp_constant): Add TFmode.
+ 	(rs6000_legitimize_address): Add TFmode.
+ 	(rs6000_legitimate_address): Same.
+ 	(function_arg_advance): TFmode uses two FPRs.
+ 	(rs6000_emit_prologue): Fix warning.
+ 	(rs6000_output_function_epilogue): Add TFmode.
+ 	(output_toc): Add TFmode.
+ 	* rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
+ 	(LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
+ 	* rs6000.md (movtf splitter): Load TFmode constant.
+ 
+ 2002-10-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* rtl.h:  Add NOTE_PRECONDITIONED.
+ 	* unroll.c:  Set it.
+ 	* loop.c:  Set loop_info->preconditioned from it.
+ 	* doloop.c:  Permit doloop treatment when loop_info->preconditoned.
+ 
+ 2002-10-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i960/i960.c (i960_setup_incoming_varargs): Create a
+ 	new rtx for comparing the argument pointer against zero.
+ 	(i960_va_start): Similarly.
+ 
+ 2002-10-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i960/i960.md (*): Use TFmode, not XFmode.
+ 	* config/i960/i960.c (*): Likewise.
+ 	(i960_arg_size_and_align): Remove XFmode alignment hack.
+ 	(i960_round_align): Merge code from ROUND_TYPE_ALIGN.
+ 	* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
+ 	(MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
+ 	(DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
+ 
+ 2002-10-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
+ 	entry points; use void return value and argument list.
+ 
+ 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
+ 
+ 	* calls.c (expand_call): Fix function-is-volatile check.
+ 
+ 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
+ 
+ 	* t-pdp11: Add MULTILIB support for msoft-float.
+ 	* pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
+ 
+ 	* t-pdp11: Add LIB2FUNCS_EXTRA.
+ 	* pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
+ 	add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
+ 	'fldd' to 'ldd', rename 'fstd' to 'std'.
+ 	(pdp11_output_function_epilogue): Likewise.
+ 	(output_move_quad): Make the comment gas compatible.
+ 	(output_ascii): Add preceding 0 to the octal constant.
+ 	(print_operand_address): Add pre_modify, post_modify.
+ 	(output_addr_const_pdp11): Add preceding 0 to the octal constant.
+ 	* pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
+ 	with the indication of Paul Koning.
+ 	(PRINT_OPERAND): Fix floating constant.
+ 	* pdp11.md (movdi): Restrict matching pattern.
+ 	(movqi): Generalize the matching pattern.
+ 	(movdf): Restrict matching pattern.
+ 	(zero_extendqihi2): Change constant representation.
+ 	(floatsidf2): Fix wrong operands.
+ 	(addqi3): Fix wrong instruction name.
+ 	(subqi3): Fix wrong instruction name.
+ 	(andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
+ 	(xorsi3): Fix wrong insn.
+ 	(one_cmplqi2): Add two operand pattern.
+ 	(lsrsi3): New.
+ 	(negsi2): New.
+ 	(call): Add register indirect case.
+ 	(mod): Fix wrong subreg.
+ 
+ 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+ 
+ 	PR c/7411
+ 	* expr.c (expand_expr) [PLUS]: Simplify after the operands
+ 	have been expanded in EXPAND_NORMAL mode.
+ 
+ 2002-10-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
+ 
+ 2002-10-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/2960
+ 	* toplev.c (rest_of_compilation): Don't copy_loop_headers if
+ 	optimize_size.
+ 
+ 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
+ 	previously definitions.
+ 
+ 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* cppinit.c (init_standard_includes, parse_option): Use strncmp.
+ 	* c-opts.c (find_opt): Similarly.
+ 
+ Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* athlon.md: rewrite to DFA.
+ 	* i386 (ix86_adjust_cost): Drop memory latency code.
+ 	(ia32_use_dfa_pipeline_interface): Return true for Athlon.
+ 
+ 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (set_multilib_dir): Don't access *end.
+ 	Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
+ 	(print_multilib_info): Don't show paths starting with ".:".
+ 	* genmultilib: Add new option, "yes" if multilibs are enabled.
+ 	Update comments.  If multilibs not enabled, print .:${osdirout}
+ 	for each directory.  If multilibs are enabled, always print
+ 	${dirout}:${osdirout}, even if the two are the same.
+ 	* Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
+ 	Pass all MULTILIB_* variables to genmultilib even if
+ 	--disable-multilib but MULTILIB_OSDIRNAMES is not empty.
+ 
+ 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (process_command): Set .validated for -pipe.  Correct
+ 	grammar in comment.
+ 
+ 2002-10-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(hpux11_abs):  use format fix
+ 	* fixinc/fixincl.x: regenerate
+ 	* fixinc/tests/base/stdlib.h: accommodate new fix test
+ 
+ Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-common.c (cb_register_builtins):  Use really_no_inline.
+ 
+ 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
+ 	copied instruction if the note is not loop invariant.
+ 
+ 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
+ 
+ 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
+ 	and -mhp-ld options to list of options.  Add -mgnu-ld
+ 	and -mhp-ld option descriptions.
+ 
+ 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* fixinc/inclhack.def (hpux11_abs):  New.
+ 	(stdio_va_list): change __va_list__ to __gnuc_va_list.
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 2002-10-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.h (processor_costs): Add new fields fadd,
+ 	fmul, fdiv, fabs, fchs and fsqrt to costs structure.
+ 	(RTX_COSTS): Use these fields to determine the RTX costs
+ 	of floating point addition/subtraction, multiplication,
+ 	division, fabs, negation and square root respectively.
+ 	* config/i386/i386.c (size_cost): Provide instruction sizes
+ 	for these new fields.
+ 	(i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
+ 	k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
+ 	counts for these new fields for all x86 processor variants.
+ 
+ 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (mips_const_double_ok): Delete unused variable.
+ 
+ 	* gengtype.c (rtx_next): Change type to int.
+ 
+ 2002-10-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
+ 
+ 2002-10-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.h (SIGNIFICAND_BITS): Add one more word.
+ 	(CONST_DOUBLE_FORMAT): Accomodate 6 words.
+ 	* real.c (times_pten): New.
+ 	(real_to_decimal, real_from_string): Use it.
+ 	(sticky_rshift_significand): Use & to find modulus.
+ 	(rshift_significand, lshift_significand): Likewise.
+ 	(do_divide): Apply sticky bit after normalization.
+ 	(real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
+ 
+ 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
+ 
+ 	* doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): New.
+ 
+ 2002-10-03  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
+ 	to unsigned long, adjust printf format string.
+ 	(output_mangled_typename): Likewise.
+ 
+ 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
+ 	* config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
+ 	(FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
+ 	assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
+ 	(ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
+ 	* config/vax/elf.h (FUNCTION_PROFILER): Remove.
+ 	(VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
+ 
+ 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-Wabi): Document mangling bug.
+ 
+ 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
+ 	name for the tbtab label that depends on the function asm name.
+ 	Don't output tbtab label unless optional_tbtab.
+ 	(output_mi_thunk): Formatting.
+ 
+ 2002-10-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
+ 	* config/m68k/m68k.c (override_options): ... here.
+ 	* config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
+ 	* config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
+ 	* config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ 	* config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ 
+ 2002-10-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.h (struct real_value): Use ENUM_BITFIELD.
+ 
+ 2002-10-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i960/i960.md (call, call_value): Use emit_call_insn.
+ 
+ 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
+ 
+ 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
+ 	* config/pa/pa.h (MASK_GNU_LD): New.
+ 	(TARGET_GNU_LD): New.
+ 	* config/pa/pa64-hpux.h (LINK_SPEC): Set based
+ 	on gnu-ld and MASK_GNU_LD.
+ 	(SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
+ 
+ Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (athlon_cost): Fix the move costs.
+ 
+ Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (final): Use symbol name as function name for profiling.
+ 	* profile.c (get_exec_counts): Likewise.
+ 	(branch_prob): Likewise.
+ 
+ 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
+ 
+ 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (print_multi_os_directory): New variable.
+ 	(option_map): Support --print-multi-os-directory.
+ 	(struct prefix_list): Add os_multilib field.
+ 	(multilib_os_dir): New variable.
+ 	(static_specs): Add multilib_options.
+ 	(find_a_file): Add multilib argument.  Search in GCC or OS multilib
+ 	subdirs if nonzero.
+ 	(read_specs, execute): Update callers.
+ 	(find_file): Likewise.  Don't prefix name with multilib_dir, instead
+ 	pass 1 as multilib option.
+ 	(display_help): Include --print-multi-os-directory.
+ 	(add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
+ 	(process_command): Update callers.  Handle --print-multi-os-directory.
+ 	(do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
+ 	set.
+ 	(main): Update find_a_file and add_prefix callers.
+ 	Handle print_multi_os_directory.
+ 	(struct mdswitchstr): New.
+ 	(mdswitches, n_mdswitches): New variables.
+ 	(used_arg): Add MULTILIB_DEFAULT switches too if they are not
+ 	present on the command line nor their mutually incompatible
+ 	switches.
+ 	(default_arg): Optimize.
+ 	(set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
+ 	array.
+ 	(print_multilib_info): Only print GCC multilib dir name, not OS
+ 	multilib dirname.
+ 	* genmultilib: Add osdirnames parameter.  Output multilib_options
+ 	variable.  If osdirnames is specified, output dirnames as
+ 	dirname:osdirname.
+ 	* mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
+ 	and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
+ 	to compute libgcc_s soname and install path.
+ 	* Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
+ 	SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
+ 	(s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
+ 	argument.
+ 
+ 	* config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
+ 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
+ 	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
+ 	ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
+ 	and -m64.
+ 	* config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
+ 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
+ 	* config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
+ 	(STARTFILE_ARCH_SPEC): Remove.
+ 	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
+ 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
+ 	* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
+ 	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
+ 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
+ 
+ Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (choose_function_section): Avoid choice for linkonce functions.
+ 
+ Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (lea to mul peep2): Fix condition.
+ 
+ 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
+ 	* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
+ 
+ 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
+ 
+ 	* unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
+ 	attribute "unused".
+ 
+ 	* config/t-libunwind: Mention unwind-sjlj.c.
+ 	* unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
+ 	to #ifndef __USING_SJLJ_EXCEPTIONS__.
+ 
+ 	* configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
+ 	before inclusion of config.gcc, but after configuring the compiler etc.
+ 	Determine default value for --enable-libunwind-exceptions based on
+ 	whether the host has a libunwind library (not guaranteed to be correct,
+ 	but it's a reasonable first guess and can always be overridden with an
+ 	explicit --enable/disable-libunwind-exceptions.
+ 	* config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
+ 	tmake_file when $use_libunwind_exceptions is enabled.
+ 	* Makefile.in: Update comment: LIB2ADDEH is updated not just by
+ 	ia64 (e.g., config/t-linux also updates it).
+ 	* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
+ 	along with the shared version of libgcc since the latter requires
+ 	the former.
+ 	* unwind-libunwind.c: New file.
+ 	* config/t-libunwind: Ditto.
+ 
+ 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Remove support for vax-*-vms*.
+ 	* config/vax/vms.h: Remove.
+ 	* config/vax/xm-vms.h: Remove.
+ 	* config/vax/vax-protos.h: Remove VMS-specific code.
+ 	* config/vax/vax.c: Remove VMS-specific code.
+ 
+ 2002-10-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/7124
+ 	* config/i386/i386.c (ix86_register_move_cost): Increase cost
+ 	for secondary_memory_needed pairs.
+ 
+ 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/vms.texi: Blow away false include file section.
+ 
+ 2002-10-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/6627
+ 	* toplev.c (force_align_functions_log): New global variable.
+ 	* flags.h (force_align_functions_log): Add extern prototype.
+ 	* varasm.c (assemble_start_function): Use it to force minimum
+ 	function alignment.
+ 	* config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
+ 	minimum function alignment to one byte.
+ 	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
+ 	the least significant bit of vtable member function pointers.
+ 	* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
+ 	here from cp/cp-tree.h.
+ 
+ Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (print_operand_address): Use RIP addressing for offsetted
+ 	label refs too.
+ 
+ 2002-09-30  David S. Miller  <davem@redhat.com>
+ 
+ 	PR middle-end/7151
+ 	* config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
+ 	(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
+ 
+ 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
+ 
+ 	* calls.c (expand_call): Remove the `no indirect check'
+ 	for sibcall optimization; use function_ok_for_sibcall
+ 	target hook; refine check for `function is volatile'.
+ 	(FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
+ 	* hooks.c (hook_tree_tree_bool_false): New.
+ 	* hooks.h (hook_tree_tree_bool_false): Declare.
+ 	* target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
+ 	(TARGET_INITIALIZER): Add it.
+ 	* target.h (struct gcc_target): Add function_ok_for_sibcall.
+ 	* config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
+ 	Remove function declaration.
+ 	* config/arm/arm.c: (arm_function_ok_for_sibcall): Make
+ 	function static and accept another argument of type `tree'.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	(TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
+ 	* config/pa/pa.c: (pa_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
+ 	Remove function declaration.
+ 	* config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
+ 	Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
+ 	rename first argument to `decl'; accept another argument
+ 	of type `tree'; make static.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/sh/sh.c: (sh_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
+ 	* config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 	* config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
+ 
+ 2002-10-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* unroll.c (loop_iterations): Revert 2002-09-08 change.
+ 
+ 2002-10-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
+ 	(real_to_hexadecimal): Likewise.
+ 	* print-rtl.c (print_rtx): If we are linked with real.c, don't
+ 	dump the XWINT fields of a floating point CONST_DOUBLE.
+ 
+ 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
+ 
+ 2002-10-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (precompute_register_parameters): Force non-legitimate
+ 	constants into pseudos.
+ 
+ 2002-10-01  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spe_evrlwi): Add missing third operand
+ 	to assembler template.
+ 
+ 2002-10-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Relax requirement
+ 	for TLS debug info to !DECL_EXTERNAL.
+ 
+ 2002-10-01  Matt Thomas  <matt@3am-software.com>
+ 	    Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (vax-*-netbsdelf*): Enable configuration.
+ 	* config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
+ 	if not already defined.
+ 	* config/vax/elf.h: New file.
+ 	* config/vax/netbsd-elf.h: New file.
+ 	* config/vax/vax.c: Include "debug.h".
+ 	(vax_output_function_prologue): Add dwarf2 support.  Use
+ 	MAIN_NAME_P when checking for VMS_TARGET stack adjust.
+ 	* config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
+ 	'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
+ 	'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
+ 	(VAX_ISTREAM_SYNC): Remove.
+ 	(INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+ 	(ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
+ 	and assemble_name.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
+ 	(PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
+ 	(INCOMING_RETURN_ADDR_RTX): Define.
+ 	* config/vax/vax.md (VUNSPEC_BLOCKAGE)
+ 	(VUNSPEC_SYNC_ISTREAM): Define.
+ 	(blockage): Use VUNSPEC_BLOCKAGE.
+ 	(sync_istream): New insn.
+ 
+ 2002-10-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/vax/vax.md (call_pop, *call_pop, call_value_pop)
+ 	(*call_value_pop, call, call_value): Add dwarf2 EH support.
+ 	(*call): New insn.
+ 
+ 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c/8083
+ 	* c-typeck.c (build_c_cast): Warn about type punning which breaks
+ 	type based aliasing.
+ 
+ 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (update_alignment_for_field): New function.
+ 	(place_union_field): Use it.
+ 	(place_field): Likewise.
+ 
+ 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR other/8077
+ 	* gcc.c (cc1_options): Add space on -auxbase-strip.
+ 
+ 2002-10-01  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/v850/v850.h (EPILOGUE_USES): Define.
+ 
+ 2002-09-30  Andrew Haley  <aph@redhat.com>
+ 
+ 	* flow.c (insn_dead_p): When using non-call-exceptions, don't
+ 	eliminate insns that may trap.
+ 	* cse.c (insn_live_p): Likewise.
+ 
+ 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
+ 	(TARGET_MIPS4121): Rename to TARGET_MIPS4120.
+ 	* config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
+ 	* config/mips/mips.md: Apply same renaming here.
+ 
+ 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
+ 	(GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
+ 	* config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
+ 	* config/mips/mips.md (define_attr cpu): Remove r4320.
+ 	Remove vr4320 scheduler and uses of TARGET_MIPS4320.
+ 
+ 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips16_strings): New variable.
+ 	(mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
+ 	symbol in mips16_strings.  Free the list.
+ 	(mips_encode_section_info): Keep track of local strings.
+ 
+ 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
+ 	(sordered_df, sordered_sf): Remove.
+ 	* config/mips/mips.c (get_float_compare_codes): New fn.
+ 	(gen_int_relational, gen_conditional_move): Use it.
+ 
+ 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
+ 	* config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
+ 	* config/mips/mips.c (fcc_register_operand): New function.
+ 	(mips_emit_fcc_reload): New function, extracted from reload_incc.
+ 	(override_options): Allow TFmode values in float registers
+ 	if ISA_HAS_8CC.
+ 	* cnfig/mips/mips.md (reload_incc): Change destination prediate
+ 	to fcc_register_operand.  Remove misleading source constraint.
+ 	Use mips_emit_fcc_reload.
+ 	(reload_outcc): Duplicate reload_incc.
+ 
+ 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (validate_switches): Handle all new forms of spec
+ 	syntax introduced recently.  Now returns a char *.
+ 	(validate_all_switches): Repetitive logic broken out to...
+ 	(validate_switches_from_spec): ...here.
+ 	* mklibgcc.in: Don't @-flag commands to generate .oS files.
+ 
+ 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* longlong.h: Partially synchronize with GMP-4.1 version:
+ 	Use i370 definitions also for s390.
+ 	Add generic definition of umul_ppmm in terms of smul_ppmm.
+ 	[s390] (umul_ppmm): Remove.
+ 	[s390] (smul_ppmm): Fix incorrect assembler constraints.
+ 	[s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
+ 
+ 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+ 	Add new RL_REGS register class.
+ 	(PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
+ 	Call xtensa_preferred_reload_class for both input and output reloads.
+ 	* config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
+ 	(xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
+ 	instead of either AR_REGS or GR_REGS classes.
+ 	(xtensa_secondary_reload_class): Use new RL_REGS class.
+ 	* config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
+ 
+ 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (hppa_encode_label): Don't drop '*' from function labels.
+ 	(pa_strip_name_encoding): Strip '@' and '*', in that order.
+ 	* pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
+ 	there is a '*' prefix in NAME.
+ 
+ Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload.c (push_reload): Handle subregs and secondary memory.
+ 	* reload1.c (gen_reload): Likewise.
+ 
+ 	* jump.c (reg_or_subregno): New function.
+ 	* rtl.h (reg_or_subregno): Declare
+ 	* unroll.c (find_splittable_givs): Handle subregs.
+ 
+ 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* store-layout.c (finish_record_layout): Add free_p parameter.
+ 	(layout_type): Pass it.
+ 	* tree.h (finish_record_layout): Update prototype.
+ 
+ Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
+ 
+ 	* gcse.c (cprop_jump): Check that the register has not
+ 	been modified
+ 	(cprop_jump): Likewise.
+ 
+ 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
+ 	(MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
+ 	that we have a SImode access, and only then if reload hasn't completed;
+ 	for all other cases, use LO_REGS.
+ 
+ 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* openbsd.h: Fix typo in last change.
+ 
+ 2002-09-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_from_string): Apply sign last.  Tidy exponent handling.
+ 
+ 2002-09-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/8002
+ 	* combine.c (force_to_mode): Handle FLOAT_MODE destinations
+ 	for CONST_INT.
+ 
+ 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* real.h (ibm_extended_format): Declare.
+ 	* real.c (encode_ibm_extended, decode_ibm_extended): New
+ 	functions.
+ 
+ 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
+ 
+ 	* ia64.c (ia64_hpux_asm_file_end): Const-ify.
+ 
+ 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
+ 
+ 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.def: Fix comment formatting.
+ 	* c-common.def: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* params.def: Likewise.
+ 	* predict.def: Likewise.
+ 	* rtl.def: Likewise.
+ 	* stab.def: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* tree.def: Likewise.
+ 	* config/darwin.c: Likewise.
+ 	* config/darwin.h: Likewise.
+ 	* config/dbxcoff.h: Likewise.
+ 	* config/elfos.h: Likewise.
+ 	* config/fp-bit.c: Likewise.
+ 	* config/freebsd-spec.h: Likewise.
+ 	* config/interix.h: Likewise.
+ 	* config/libgloss.h: Likewise.
+ 	* config/linux-aout.h: Likewise.
+ 	* config/linux.h: Likewise.
+ 	* config/lynx-ng.h: Likewise.
+ 	* config/lynx.h: Likewise.
+ 	* config/netbsd-aout.h: Likewise.
+ 	* config/netbsd.h: Likewise.
+ 	* config/netware.h: Likewise.
+ 	* config/psos.h: Likewise.
+ 	* config/ptx4.h: Likewise.
+ 
+ 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog.4: Fix typos.
+ 	* ChangeLog.6: Likewise.
+ 	* FSFChangeLog.10: Likewise.
+ 	* genattrtab.c: Fix comment typos.
+ 	* haifa-sched.c: Likewise.
+ 	* real.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/crti.asm: Likewise.
+ 	* config/arm/crtn.asm: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/i386/rtemself.h: Likewise.
+ 	* config/ia64/unwind-ia64.c: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/m88k/m88k.c: Likewise.
+ 	* config/m88k/m88k.md: Likewise.
+ 	* config/mips/sr71k.md: Likewise.
+ 	* config/mmix/mmix.c: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 
+ 2002-09-26  Theodore A. Roth  <troth@verinet.com>
+ 
+ 	* config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
+ 	* config/avr/avr.md: Ditto.
+ 
+ 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
+ 
+ 	PR preprocessor/8055
+ 	* cppmacro.c (stringify_arg): Do not overflow the buffer
+ 	with the terminating NUL when the argument to be stringified
+ 	has no tokens.
+ 
+ 2002-09-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (simplify_cmp_and_jump_insns): New.
+ 	(unroll_loop): Use it.  Use simplify_gen_foo+force_operand
+ 	instead of expand_simple_foo.
+ 
+ 2002-09-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/7520
+ 	* cfganal.c (flow_active_insn_p): New.
+ 	(forwarder_block_p): Use it.
+ 
+ 2002-09-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (active_insn_p): Revert last change.
+ 
+ 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/extend.texi (tls_model): Document.
+ 	* varasm.c (decl_tls_model): New.
+ 	* c-common.c (handle_tls_model_attribute): New.
+ 	(c_common_attribute_table): Add tls_model.
+ 	* config/alpha/alpha.c (alpha_encode_section_info): Use
+ 	decl_tls_model.
+ 	* flags.h (enum tls_model, flag_tls_default): Move...
+ 	* tree.h (enum tls_model, flag_tls_default): ...here.
+ 	(decl_tls_model): New prototype.
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+ 	* config/i386/i386.c (ix86_encode_section_info): Likewise.
+ 	* config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
+ 	Allow !flag_pic.
+ 
+ 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* LANGUAGES: Follow spelling conventions.
+ 	* rtl.def: Likewise.
+ 	* sbitmap.c: Likewise.
+ 	* sched-int.h: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* stab.def: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* target.h: Likewise.
+ 	* timevar.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree-dump.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.def: Likewise.
+ 	* tree.h: Likewise.
+ 	* unroll.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 	* treelang/treelang.texi: Likewise.
+ 	* treelang/treetree.c: Likewise.
+ 
+ 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_saved_regs): Use a macro
+ 	instead of a hard register number.
+ 	(get_shift_alg): Use an enumerated type instead of numbers.
+ 	(h8300_shift_needs_scratch_p): Likewise.
+ 
+ 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* varasm.c (force_data_section): Remove.
+ 	(assemble_constant_align): Likewise.
+ 	* output.h: Remove corresponding prototypes.
+ 
+ 2002-09-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* stmt.c (expand_exit_loop_if_false): Expand a simple conditional
+ 	jump, if the loop to exit is the top of the current nesting stack.
+ 
+ 2002-09-26  Torbjorn Granlund  <tege@swox.com>
+ 
+ 	* libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
+ 	arithmetic.
+ 
+ 2002-09-26  David S. Miller  <davem@redhat.com>
+ 
+ 	PR optimization/7335
+ 	* calls.c (emit_library_call_value_1): Passing args by reference
+ 	converts a CONST function into a PURE one.
+ 
+ 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
+ 	text_section.
+ 	* xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
+ 	text section.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Allow
+ 	function-sections and data-sections functionality on AIX.
+ 
+ 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
+ 	in RTL for sub-word loads from memory.
+ 
+ 2002-09-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/7160
+ 	* sched-deps.c (sched_analyze_insn): Make clobber insns depend
+ 	on call insns.
+ 
+ 2002-09-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (const_double_htab_eq): Remove unused variable.
+ 
+ 2002-09-26  Chris Lattner  <sabre@nondot.org>
+ 
+ 	* ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
+ 	handling undefined values.
+ 
+ 2002-09-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/7520
+ 	* emit-rtl.c (active_insn_p): Consider a clobber of the
+ 	function return value to be active even after reload.
+ 
+ 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
+ 	by absolute loop increment, not loop increment.
+ 
+ 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.h: Follow spelling conventions.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* gthr-dce.h: Likewise.
+ 	* gthr-posix.h: Likewise.
+ 	* optabs.c: Likewise.
+ 	* output.h: Likewise.
+ 	* profile.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* ra-rewrite.c: Likewise.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* rtlanal.c: Likewise.
+ 
+ 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
+ 	for symbol address.
+ 
+ 2002-09-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
+ 	* config/mips/elf64.h: Ditto.
+ 
+ 2002-09-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* except.c (expand_builtin_extract_return_address): Handle case
+ 	where Pmode != ptr_mode.
+ 
+ 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
+ 
+ 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
+ 
+ 2002-09-26  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* combine.c (simplify_set): Don't call to force_to_mode if size
+ 	of integer type is larger than HOST_BITS_PER_WIDE_INT.
+ 
+ 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* Makefile.in (qmtest-g++): Fix file path.
+ 
+ 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
+ 	A + (-const) on RTX level, even for unsigned types.
+ 
+ 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (dup_replacements): New function.
+ 	(find_reloads): Use it to duplicate replacements at the top level
+ 	of match_dup operands.
+ 
+ 2002-09-26  Miles Bader  <miles@gnu.org>
+ 
+ 	* v850.md ("length"): Change default value to 4.
+ 
+ 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog.1: Follow spelling conventions.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* FSFChangeLog.11: Likewise.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2002-09-26  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add x prefix to v850e case for handling
+ 	--with-cpu=v850e.
+ 
+ 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (input_suffix_matches, switch_matches,
+ 	mark_matching_switches, process_marked_switches,
+ 	process_brace_body): New functions - split from handle_braces.
+ 	(handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
+ 	and ignore whitespace in more places.
+ 	(specs documentation comment): Document %{S:X;T:Y;:D}.
+ 	Clarify other %{...} docs.
+ 	* doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
+ 	%{...} docs.
+ 
+ 	* config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
+ 	* config/rs6000/sysv4.h: Use N-way choice spec syntax.
+ 
+ 2002-09-25  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/7842
+ 	* config/sparc/sparc.c (set_extends): SImode ASHIFT does not
+ 	extend.
+ 
+ 2002-09-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (const_double_htab_eq): Distinguish integer and
+ 	fp CONST_DOUBLE; use real_identical.
+ 
+ 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi: Add more -Wabi examples.
+ 
+ 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
+ 
+ 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* profile.c (end_branch_prob): Only look for __gcov_init on
+ 	weak-enabled native compilers.
+ 
+ 2002-09-24  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
+ 	cases of optimizing "add sp,w" to "inc sp".
+ 
+ 2002-09-24  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
+ 	epilogue for naked functions.
+ 
+ 2002-09-24  Adam Nemet  <anemet@lnxw.com>
+ 	    Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
+ 	(FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
+ 	is defined.
+ 
+ 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (preferred_la_operand_p): New function.
+ 	* config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
+ 	* config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
+ 	("*la_64_cc", "*la_31_cc", splitters): ... these.
+ 	("*la_31"): Deactivate for TARGET_64BIT.
+ 	("*la_31_and", "*la_31_and_cc"): New.
+ 
+ 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* real.h (real_value): Make `exp' explicitly signed.
+ 
+ 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/elfos.h: Follow spelling conventions.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/cris/cris.md: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/i386/cygwin.h: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/sysv3.h: Likewise.
+ 	* config/i960/i960.h: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ia64/ia64.md: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m88k/m88k.h: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mcore/mcore.h: Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/mmix/mmix.md: Likewise.
+ 	* config/ns32k/netbsd.h: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/ns32k/ns32k.md: Likewise.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/stormy16/stormy-abi: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 
+ 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.h: Remove commented-out macro
+ 	definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/i370/i370.h: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i960/i960.h: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m88k/m88k.h: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/pdp11/pdp11.h: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/s390/s390.h: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 
+ 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c (push_temp_slots_for_block): Remove.
+ 	(push_temp_slots_for_target): Likewise.
+ 	(get_target_temp_slot_level): Likewise.
+ 	(set_target_temp_slot_level): Likewise.
+ 	(get_first_block_beg): Likewise.
+ 	* function.h: Remove corresponding prototypes.
+ 
+ 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* version.c (version_string): Now const char[].
+ 	* version.h: Update to match.
+ 
+ 2002-09-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
+ 	MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
+ 	(TARGET_SWITCHES): Don't reference them.
+ 	* config/i386/i386.c (override_options): Use target_flags_explicit
+ 	to examine bits set by the user.
+ 
+ 2002-09-23  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* dbxout.c (dbxout_parms):  Set current_sym_code for params
+ 	passed on stack by invisible reference.
+ 
+ 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
+ 	at least one byte of space.
+ 
+ 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (flag_abi_version): Fix typo in comment.
+ 	* doc/invoke.texi (flag_abi_version): Document default value.
+ 
+ 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/extend.texi (Extended Asm): Clarify that overlap between
+ 	asm-declared register variables used in an asm and the asm clobber
+ 	list is not allowed.
+ 	* stmt.c (decl_conflicts_with_clobbers_p): New function.
+ 	(expand_asm_operands): Keep track of clobbered registers.  Call
+ 	decl_conflicts_with_clobbers_p for each input and output operand.
+ 	If no conflicts found before, also do conflict sanity check when
+ 	emitting clobbers.
+ 
+ 2002-09-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (cpp_define_data_format): Remove.
+ 	(cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
+ 	__INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
+ 	__DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
+ 	* doc/cpp.texi: Don't document them either.
+ 	(__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
+ 	__LONG_LONG_MAX__): Document.
+ 	(__TARGET_FLOAT_FORMAT__): Remove.
+ 
+ 2002-09-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (do_multiply): Normalize U before addition.
+ 
+ 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (flag_abi_version): New variable.
+ 	* c-common.h (flag_abi_version): Declare it.
+ 	* c-opts.c (missing_arg): Add -fabi-version.
+ 	(c_common_decode_option): Process -fabi-version.
+ 	* doc/invoke.texi (-fabi-version): Document it.
+ 	(-Wabi): Add information about bit-fields in unions.
+ 
+ 2002-09-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (STORE_BY_PIECES_P): New target macro.
+ 	(can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
+ 	instead of MOVE_BY_PIECES_P.
+ 	* doc/tm.texi: Document this new macro.
+ 
+ 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
+ 	unless -fno-pic or -fno-PIC is specified.
+ 
+ 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* c-common.c (preprocessing_trad_p): Define.
+ 	* pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
+ 	(TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
+ 	* pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
+ 	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	* pa-linux.h (CPP_PREDEFINES): Delete.
+ 	(TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
+ 	* pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
+ 	* pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	* pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
+ 	(TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
+ 	(SUBTARGET_SWITCHES): Provide default definition.
+ 	(TARGET_OPTIONS): Reformat.  Use N_() macro.
+ 	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
+ 	CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
+ 	EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
+ 	(TARGET_CPU_CPP_BUILTINS): Define.
+ 	(TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
+ 	* doc/invoke.texi (msio, mwsio): Document new hppa options.
+ 	* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
+ 	preprocessing_trad_p().
+ 
+ 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* doc/install.texi: Document behavior of --with-headers and
+ 	--with-libs when arguments are omitted.
+ 
+ 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dbxout.c: Follow spelling conventions.
+ 	* defaults.h: Likewise.
+ 	* df.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* doloop.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* except.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* expr.h: Likewise.
+ 	* flags.h: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* function.h: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* global.c: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 	* integrate.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* langhooks.c: Likewise.
+ 	* langhooks.h: Likewise.
+ 	* line-map.h: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* longlong.h: Likewise.
+ 	* loop.c: Likewise.
+ 	* loop.h: Likewise.
+ 
+ Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
+ 
+ Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
+ 	for -Os/TARGET_64BIT too.
+ 
+ 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.0: Likewise.
+ 	* ChangeLog.1: Likewise.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.3: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.5: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* FSFChangeLog.10: Likewise.
+ 	* FSFChangeLog.11: Likewise.
+ 	* alias.c: Likewise.
+ 	* basic-block.h: Likewise.
+ 	* c-aux-info.c: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-format.c: Likewise.
+ 	* c-semantics.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* cfganal.c: Likewise.
+ 	* cfgloop.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* conflict.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpphash.h: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* cppmacro.c: Likewise.
+ 	* cse.c: Likewise.
+ 
+ 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
+ 	LINK_SPEC.
+ 	(LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
+ 	* arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
+ 	(LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
+ 
+ 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR opt/7930
+ 	* cse.c (fold_rtx): Calculate old_cost before we fold each
+ 	operand.
+ 
+ 2002-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
+ 	__GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
+ 	__TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
+ 	__TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
+ 	__TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
+ 	* doc/cpp.texi: Don't document them.
+ 
+ 2002-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (builtin_define_float_constants): Use real_format
+ 	to get the floating-point parameters.
+ 
+ 2002-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (struct real_format): Move to real.h.
+ 	(real_format_for_mode): Rename from fmt_for_mode; update all users;
+ 	initialize with ieee defaults.
+ 	(real_to_target_fmt, real_from_target_fmt): New.
+ 	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
+ 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
+ 	ieee_quad_format, i370_single_format, i370_double_format,
+ 	c4x_single_format, c4x_extended_format): Rename from s/_format//.
+ 	(ieee_quad_format): Fix emin.
+ 	(format_for_size, init_real_once): Remove.
+ 	* real.h (struct real_format): Move from real.c.
+ 	(real_format_for_mode): Declare.
+ 	(real_to_target_fmt, real_from_target_fmt): Declare.
+ 	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
+ 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
+ 	ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
+ 	i370_single_format, i370_double_format, c4x_single_format,
+ 	c4x_extended_format): Declare.
+ 	* toplev.c (do_compile): Don't call init_real_once.
+ 
+ 	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
+ 	* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
+ 
+ 	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
+ 	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
+ 	* config/alpha/alpha.c (override_options): Set real_format_for_mode
+ 	for VAX, if enabled.
+ 
+ 	* config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
+ 	for C4X.
+ 
+ 	* config/i370/i370.h (OVERRIDE_OPTIONS): New.
+ 	* config/i370/i370.c (override_options): New.
+ 	* config/i370/i370-protos.h: Update.
+ 
+ 	* config/i386/i386.c (override_options): Set real_format_for_mode
+ 	for Intel 80-bit extended.
+ 	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
+ 
+ 	* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
+ 	(OVERRIDE_OPTIONS): Move code...
+ 	* config/i960/i960.c (i960_initialize): ... here.  Set
+ 	real_format_for_mode for Intel 80-bit extended.
+ 
+ 	* config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
+ 	for Intel 80-bit extended, if enabled.
+ 
+ 	* config/m68k/m68k.c (override_options): Set real_format_for_mode
+ 	for Motorola 96-bit extended.
+ 
+ 	* config/vax/vax.h (OVERRIDE_OPTIONS): New.
+ 	* config/vax/vax.c (override_options): New.
+ 	* config/vax/vax-protos.h: Update.
+ 
+ 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
+ 	#if TARGET_MACHO.
+ 
+ 	* config/rs6000/rs6000.md (floatdisf2_internal2): Combine
+ 	insns.  Supply missing clobber of scratch reg.
+ 
+ 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.c: Follow spelling conventions.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/m88k/m88k.c: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mmix/mmix.c: Likewise.
+ 	* config/mn10200/mn10200.c: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pa/pa64-linux.h: Likewise.
+ 	* config/pdp11/pdp11.h: Likewise.
+ 	* config/romp/romp.c: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/eabi.asm: Likewise.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 	* config/rs6000/xcoff.h: Likewise.
+ 
+ 2002-09-20  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
+ 
+ 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
+ 	* config/i386/i386.c (legitimate_pic_address_disp_p): Handle
+ 	UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
+ 	(legitimate_address_p): Likewise.
+ 	(legitimize_address): Use @gotntpoff and @indntpoff.
+ 	(output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
+ 	(output_addr_const_extra): Likewise.
+ 
+ 2002-09-20  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* combine.c (try_combine): When split an instruction pair, where the
+ 	first has a sign_extend src, verify that the src and dest modes match.
+ 
+ 2002-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
+ 	(override_options): Do not initialize them.
+ 	(mips_const_double_ok): Allow no fp constants except zero,
+ 	and not even that for mips16.
+ 	(const_float_1_operand): Use dconst1.
+ 	* config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
+ 	movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
+ 	Don't allow arbitrary constants; fix predicates and C constraint.
+ 
+ 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppmacro.c: Don't warn about function-like macros without
+ 	'(' during pre-expansion.
+ 
+ 2002-09-20  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/v850/v850.c (current_function_anonymous_args): Delete.
+ 	(expand_prologue): Use current_function_args_info.anonymous_args.
+ 	(expand_epilogue): Delete use of current_function_anonymous_args.
+ 	* config/v850/v850.h (struct cum_arg): Add anonymous_args field.
+ 	(INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
+ 	(current_function_anonymous_args): Delete extern declaration.
+ 	(SETUP_INCOMING_VARARGS): Set anonymous_args field.
+ 
+ 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
+ 	to load_macho_picbase.
+ 	* config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
+ 	(load_macho_picbase): Take the symbol to use as a parameter.
+ 	(macho_correct_pic): New insn.
+ 	(builtin_setjmp_reciever): On Darwin, restore the PIC register.
+ 
+ 	* config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
+ 	RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
+ 	(CAN_ELIMINATE): Likewise.
+ 	(INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	(TOC_REGISTER): Likewise.
+ 
+ 2002-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_hash): New.
+ 	* real.h: Declare it.
+ 	* cse.c (canon_hash): Use it.
+ 	* cselib.c (hash_rtx): Likewise.
+ 	* emit-rtl.c (const_double_htab_hash): Likewise.
+ 	* rtl.h (CONST_DOUBLE_REAL_VALUE): New.
+ 	* varasm.c (struct rtx_const): Reduce vector size; separate
+ 	integer and fp vectors.
+ 	(HASHBITS): Remove.
+ 	(const_hash_1): Rename from const_hash.  Use real_hash.  Do not
+ 	take modulus MAX_HASH_TABLE.
+ 	(const_hash): New.  Do take modulus MAX_HASH_TABLE.
+ 	(output_constant_def): Do not take modulus MAX_HASH_TABLE.
+ 	(SYMHASH): Don't use HASHBITS.
+ 	(decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
+ 	Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
+ 	(simplify_subtraction): Fix kind comparison.
+ 	(const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
+ 	Use a union to pun integer array.
+ 	* config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
+ 	only hash two words of integral CONST_DOUBLE.
+ 
+ 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (STARTFILE_SPEC): Modify.
+ 	(STARTFILE_PREFIX_SPEC): New.
+ 	(LINK_SPEC): Modify.
+ 	(LIB_SPEC): Modify.
+ 	(LIBGCC_SPEC): New.
+ 
+ 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (legitimate_pic_address_disp_p): Allow
+ 	UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
+ 
+ 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+ 
+ 	* config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
+ 	Add clobber of the condition code register.
+ 
+ 2002-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (do_fix_trunc): Static.
+ 	(encode_ieee_single, encode_ieee_double, encode_ieee_extended,
+ 	encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
+ 	encode_i370_single, encode_i370_double, encode_c4x_single,
+ 	encode_c4x_extended): Add default abort case.
+ 
+ 2002-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
+ 	MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
+ 	(struct realvaluetype): Remove.
+ 	(REAL_VALUE_TYPE): Use struct real_value.
+ 	(REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
+ 	(test_real_width): New.
+ 	* real.c: Global replace struct real_value with REAL_VALUE_TYPE.
+ 	(real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
+ 	(real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
+ 	real_isneg, real_isnegzero, real_identical, exact_real_inverse,
+ 	real_to_integer, real_to_integer2, real_to_decimal,
+ 	real_to_hexadecimal, real_from_string, real_from_integer,
+ 	real_inf, real_nan, real_2expN, real_convert, real_to_target,
+ 	real_from_target): Likewise.
+ 	* tree.h (struct tree_real_cst): Use real_value not realvaluetype.
+ 	* gengtype-yacc.y (bitfieldopt): Accept an ID as well.
+ 
+ 2002-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
+ 	IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
+ 	* defaults.h: ... here.
+ 	* config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
+ 	config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
+ 	config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
+ 	config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
+ 
+ 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("negdf2"): Rewrite.
+ 	("*expanded_negdf2"): New.
+ 
+ 2002-09-19  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* combine.c (simplify_set): When optimizing a subreg src with a
+ 	cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
+ 
+ 2002-09-19  Dale Johannesen <dalej@apple.com>
+ 	* combine.c (make_extraction): Don't create
+ 	invalid subreg.
+ 
+ 2002-09-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (integer_nonzerop): New predicate for nonzero integers.
+ 	* tree.h (integer_nonzerop): Add function prototype.
+ 	* stmt.c (expand_end_loop):  Don't rotate the loop when there
+ 	are no instructions in the test, i.e. the loop is unconditional.
+ 	(expand_exit_loop_if_false):  Optimize RTL generation of loop
+ 	tests when the condition is always true or always false.
+ 	* c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
+ 	do-loops when the condition is always true.
+ 	(genrtl_for_stmt):  Optimize RTL generation of for-loops when
+ 	the for-expression is empty.
+ 
+ 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (use_pipes): New flag.
+ 	(process_command): Set it.  Adjust check for -pipe conflicting
+ 	with -time or -save-temps.
+ 	(do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
+ 	%<SWITCH.  Drop %| (without a SUFFIX).
+ 	(handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
+ 	(give_switch): Third argument eliminated.
+ 	(invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
+ 	depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
+ 	(specs documentation comment): Update.
+ 
+ 	* config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
+ 	config/svr4.h, config/i386/freebsd-aout.h,
+ 	config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
+ 	config/m68k/openbsd.h, config/mips/openbsd.h,
+ 	config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
+ 	instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
+ 	* config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
+ 	* config/cris/cris.h: Update comment.
+ 
+ 	* ada/lang-specs.h: Use %(invoke_as).  Straighten out
+ 	error messages.  Don't use %{^SWITCH}.
+ 	* ada/misc.c (gnat_decode_option): Handle -I with a
+ 	separate argument.
+ 
+ 	* f/lang-specs.h: Use %| and %m.
+ 	* java/jvspec.c: Use %m and %(invoke_as).  Change all
+ 	uses of %{<SWITCH} to %<SWITCH.
+ 
+ 	* doc/invoke.texi: Update documentation of specs.
+ 	* doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
+ 
+ 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
+ 	and STRICT_LOW_PART within SET_DEST.
+ 	* config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
+ 	splitters, replacing pre-reload splitters.
+ 	("*zero_extendhisi2_31", "*zero_extendqisi2_31",
+ 	"*zero_extendqihi2_31"): New insns.
+ 	("*zero_extendqihi2_64"): Do not clobber CC.
+ 
+ 2002-09-18  Devang Patel  <dpatel@apple.com>
+ 
+ 	* cp/cp-tree.h: New prototype for walk_vtables().
+ 	* cp/decl.c (walk_vtables_r): New function.
+ 	(struct cp_binding_level): Add new members, namespaces,
+ 	names_size and vtables.
+ 	(add_decl_to_level): Add decl in namespaces or vtables
+ 	chain, if conditions match.
+ 	(walk_vtables): New function.
+ 	(walk_namespaces_r): Travers separate namespace chain
+ 	for namespace decls.
+ 	(wrapup_globals_for_namespace): Use names_size instead
+ 	of list_length().
+ 	* cp/decl2.c (finish_file): Use walk_vtables() instead of
+ 	walk_globals() to walk vtable decls.
+ 
+ 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
+ 	(DTORS_SECTION_ASM_OP): Ditto.
+ 	(READONLY_DATA_SECTION_ASM_OP): Moved.
+ 	(DATA_SECTION_ASM_OP): New.
+ 	(SDATA_SECTION_ASM_OP): New.
+ 	(BSS_SECTION_ASM_OP): New.
+ 	(SBSS_SECTION_ASM_OP): New.
+ 	(TEXT_SECTION_ASM_OP): New.
+ 
+ 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fp-bit.c: Follow spelling conventions.
+ 	* config/d30v/d30v.c: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/fr30/fr30.c: Likewise.
+ 	* config/fr30/fr30.h: Likewise.
+ 	* config/fr30/fr30.md: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 	* config/i370/i370.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i386/pentium.md: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i960/i960.c: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ip2k/ip2k.c: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/ip2k/ip2k.md: Likewise.
+ 	* config/ip2k/libgcc.S: Likewise.
+ 
+ 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
+ 
+ 	* config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
+ 	(GOTOFF_P): Extend to allow gotoff plus constant.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): Correctly detect X modified
+ 	with INSN_B before COND_EARLIEST.  Don't check A and B for
+ 	modification in condition range.  Reorder INSN_B for A==B properly.
+ 	(if_convert): Iterate until no matches for a block.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (store_one_arg): Rename default_align to parm_align;
+ 	always adjust parm_align for downward padding.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (backend_init): Move init_real_once invocation ...
+ 	(do_compile): ... here.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
+ 	RTX_UNCHANGING_P markers for successful tail-recursive replacement.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (round_for_format): Collect sticky as unsigned long, not bool.
+ 
+ 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: (floatdisf2): Rename to
+ 	floatdisf2_internal1.
+ 	(floatdisf2): New define_expand.
+ 	(floatdisf2_internal2): Likewise.
+ 
+ 2002-09-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (sticky_rshift_significand): Collect sticky as
+ 	unsigned long, not bool.
+ 
+ 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_address_cost): New function.
+ 	config/s390/s390-protos.h (s390_address_cost): Add prototype.
+ 	config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
+ 	(RTX_COST): Use COSTS_N_INSNS.
+ 
+ 2002-09-18  Douglas Rupp  <rupp@gnat.com>
+ 	    Donn Terry  <donnte@microsoft.com>
+ 
+ 	* stor-layout.c (place_field): Handle alignment of whole
+ 	structures when MSVC compatible bitfields are involved.
+ 	Change method of computing location of MS bitfields to
+ 	be compatible with #pragma pack(n).
+ 
+ 	* tree.h (record_layout_info): Add new field
+ 	remaining_in_alignment.
+ 
+ 	* doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
+ 	(pragma pack): Add paragraph on MSVC bitfield packing.
+ 
+ 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
+ 
+ 	PR optimization/7967
+ 	* arm.md (ne_zeroextractsi): Add clobber of the condition code
+ 	register.
+ 
+ 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/s390/s390.c: Follow spelling conventions.
+ 	* config/sh/lib1funcs.asm: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/v850/v850.c: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* config/vax/vax.c: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 
+ 2002-09-18  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
+ 	* config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
+ 	* config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
+ 
+ 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c (max_parm_reg_num): Remove.
+ 	* stmt.c (in_control_zone_p, stmt_loop_nest_empty,
+ 	drop_through_at_end_p, move_cleanups_up,
+ 	expand_end_case_dummy, case_index_expr_type): Likewise.
+ 	* stor-layout.c (pos_from_byte): Likewise.
+ 	* tree.c (chain_member_value, chain_member_purpose, listify,
+ 	tree_int_cst_msb, index_type_equal): Likewise.
+ 	* tree.h: Remove prototypes for unused functions.
+ 
+ 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
+ 	statement that the only translation is to en_UK.
+ 
+ 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c: Follow spelling conventions.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/alpha/alpha.md: Likewise.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/pe.c: Likewise.
+ 	* config/arm/unknown-elf.h: Likewise.
+ 	* config/avr/avr.c: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/cris/cris.c: Likewise.
+ 	* config/cris/cris.h: Likewise.
+ 
+ 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
+ 
+ 	* final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
+ 	* doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
+ 
+ 2002-09-17  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* cfgcleanup.c (try_forward_edges):  Do not forward a
+ 	branch to just after a loop exit before loop optimization;
+ 	this interfered with doloop detection.
+ 
+ 2002-09-17  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (output_return_instruction): Do not
+ 	writeback the stack pointer when it is being loaded.
+ 	(arm_output_epilogue): Likewise.
+ 
+ 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c (prepare_cmp_insn): Let emit_library_call_value
+ 	generate a pseudo reg that receives the result of a libcall.
+ 	(prepare_float_lib_cmp): Likewise.
+ 
+ 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/elf.h: Remove CPP_PREDEFINES.
+ 
+ Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	Fix PR/7014 and related objc bugs:
+ 	* c-typeck.c (comp_target_types): Added a reflexive argument.
+ 	Pass it to ObjC when/if calling objc_comptypes().  Updated all
+ 	callers to provide the appropriate reflexive argument.
+ 	* objc/objc-act.c (objc_comptypes): Carefully checked and fixed
+ 	typechecking for all cases of comparisons and assignments,
+ 	particularly the obscure and less common ones involving protocols.
+ 
+ 2002-09-17  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* machmode.def (V1DImode): New mode.  A single element vector.
+ 	* tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
+ 	(unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
+ 	* tree.c (build_common_tree_nodes_2): Build
+ 	unsigned_V1DI_type_node and V1D1_type_node.
+ 	* c-common.c (c_common_type_for_mode): Return
+ 	unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
+ 	* rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
+ 
+ Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* doc/objc.texi (Constant string objects): Extended documentation
+ 	to make clear that the constant string class ivar layout is
+ 	completely fixed.
+ 
+ 2002-09-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
+ 	NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
+ 
+ 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* config/mips/mips.c (save_restore_insns): Remove unused variable.
+ 	* gcc.c (make_relative_prefix): Likewise.
+ 	* loop.c (check_final_value): Likewise.
+ 	* jump.c (init_label_info): Remove return value.
+ 	* cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
+ 
+ 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
+ 	(ASM_PN_FORMAT): Define.
+ 
+ 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
+ 	c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
+ 	i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
+ 	m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
+ 	m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
+ 	pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
+ 	stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
+ 	Delete.
+ 	* alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
+ 	m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
+ 	mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
+ 
+ 	* defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
+ 	* doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (emit_block_move): Set memory block size as appropriate
+ 	for the copy.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR fortran/3924
+ 	* sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
+ 	as well as OFFSET for BITPOS.
+ 
+ 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
+ 
+ 	* config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
+ 	* config/i386/i386.c (processor_alias_table): Add winchip-c6,
+ 	winchip2 and c3.
+ 	* doc/invoke.texi: Mention new aliases.
+ 
+ 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* calls.c (store_one_arg): Set default alignment for BLKmode arguments
+ 	to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
+ 	downward.
+ 	* function.c (pad_below):  Always compile.
+ 	(locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
+ 	alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
+ 	Pad below when the argument is not in a register and the padding
+ 	direction is downward.
+ 
+ 	* pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
+ 	(PAD_VARARGS_DOWN): Define.
+ 	* pa.c (function_arg_padding): Revise padding directions to make them
+ 	compatible with the 32 and 64-bit runtime architecture documentation.
+ 	(hppa_va_arg):  Add code to handle variable and size zero arguments
+ 	passed by reference on TARGET_64BIT.  Reformat.
+ 	(function_arg): Use a PARALLEL for BLKmode and aggregates args on
+ 	TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
+ 	wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
+ 	Add comments.
+ 	* pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
+ 	(RETURN_IN_MEMORY): Return size zero types in memory.
+ 	(FUNCTION_VALUE): Return TFmode in general registers.
+ 	(MUST_PASS_IN_STACK): Define.
+ 	(FUNCTION_ARG_BOUNDARY): Simplify.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
+ 	by reference.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (do_fix_trunc): New.
+ 	(real_arithmetic): Call it.
+ 	* simplify-rtx.c (simplify_unary_operation): Handle FIX
+ 	with a floating-point result mode.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
+ 	(BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
+ 	* builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
+ 	(__builtin_nans, __builtin_nansf, __builtin_nansl): New.
+ 	* builtins.c (fold_builtin_nan): New.
+ 	(fold_builtin): Call it.
+ 	* real.c (real_nan): Parse a non-empty string.
+ 	(round_for_format): Fix NaN significand truncation.
+ 	* real.h (real_nan): Return bool.
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2002-09-16  Jason Merrill  <jason@redhat.com>
+ 	    Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (ix86_handle_dll_attribute): Set
+ 	DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
+ 	(i386_pe_mark_dllimport): Not here.
+ 
+ 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
+ 
+ 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
+ 	warnings about unused operands when HOST_BITS_PER_WIDE_INT is
+ 	< 64.
+ 	(rs6000_emit_cmove): Use real_isinf not target_isinf.
+ 
+ 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c (emit_library_call_value_1): Don't refer to
+ 	hard_libcall_value.
+ 	* optabs.c (prepare_float_lib_cmp): Likewise.
+ 
+ 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
+ 	mangling.
+ 
+ 	The following changes are merged from pch-branch:
+ 
+ 	* doc/gty.texi (GTY Options): Document %a.
+ 	* gengtype.c (do_scalar_typedef): New function.
+ 	(process_gc_options): Handle `length' option.
+ 	(set_gc_used_type): A pointer to an array of structures doesn't
+ 	qualify as a pointer to a structure.
+ 	(output_escaped_param): Add `%a' escape.
+ 	(write_gc_structure_fields): Allow 'desc' on array of unions.
+ 	(main): Define `uint8', `jword' and `JCF_u2' as scalars; use
+ 	do_scalar_typedef.
+ 
+ 	* gengtype.c (enum rtx_code): Make global.
+ 	(rtx_format): Make global.
+ 	(rtx_next): New.
+ 	(gen_rtx_next): New.
+ 	(write_rtx_next): New.
+ 	(adjust_field_rtx_def): Skip fields marked by chain_next.
+ 	(open_base_files): Delete redundant prototype.
+ 	(write_enum_defn): New.
+ 	(output_mangled_typename): Correct abort call.
+ 	(write_gc_marker_routine_for_structure): Handle chain_next and
+ 	chain_prev options.
+ 	(finish_root_table): Don't output redundant \n.
+ 	(main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
+ 	* c-tree.h (union lang_tree_node): Add chain_next option.
+ 
+ 	* gengtype.h (NUM_PARAM): New definition.
+ 	(struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
+ 	* gengtype.c (find_param_structure): New.
+ 	(adjust_field_type): Handle param<n>_is option.
+ 	(process_gc_options): Detect use_params option.  Update callers.
+ 	(set_gc_used_type): Add 'param' parameter, update callers.  Handle
+ 	'use_params' option.
+ 	(open_base_files): Add splay-tree.h to list of files included.
+ 	(output_mangled_typename): New.
+ 	(write_gc_structure_fields): Update 'param' parameter to support
+ 	multiple parameters.  Change name mangling.  Allow parameterized
+ 	fields to have an apparent scalar type.  Handle param<n>_is options,
+ 	use_param option.
+ 	(write_gc_marker_routine_for_structure): Update for change to name
+ 	mangling.  Better guess the output file for parameterized types.
+ 	(write_gc_types): Update for change to name mangling.
+ 	(write_gc_root): Update for change to name mangling.  Handle (ignore)
+ 	param<n>_is options.
+ 	* doc/gty.texi (GTY Options): Add description of param<n>_is
+ 	options, use_params option.
+ 	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
+ 	* gengtype-lex.l: Produce token for param<n>_is.
+ 	* gengtype-yacc.y: Parse param<n>_is.
+ 
+ 	* gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
+ 
+ 	* rtl.c: Update comment describing rtx_format.
+ 	* rtl.h (union rtunion): Separate definition and typedef.
+ 	(struct rtx_def): Use gengtype to mark.
+ 	* Makefile.in (gengtype.o): Also depend on rtl.def.
+ 	* ggc.h (ggc_mark_rtx_children): Delete prototype.
+ 	(ggc_mark_rtx): Change to alias of gengtype-generated routine.
+ 	* ggc-common.c (ggc_mark_rtx_children): Delete.
+ 	(ggc_mark_rtx_children_1): Delete.
+ 	(gt_ggc_m_rtx_def): Delete.
+ 	* gengtype.c (adjust_field_rtx_def): New.
+ 	(adjust_field_type): Call adjust_field_rtx_def.
+ 	(write_gc_structure_fields): Add 'default' case to switch if none
+ 	is specified; remove unused code.
+ 
+ 	* tree.h (struct tree_exp): Update for change to meaning
+ 	of special.
+ 	* gengtype.c (adjust_field_tree_exp): New function.
+ 	(adjust_field_type): Handle `tree_exp' special here.
+ 	(write_gc_structure_fields): Don't handle `tree_exp' special here.
+ 	Handle new `dot' option.
+ 
+ 	* gengtype.h: Make `info' a pointer-to-const.
+ 	* gengtype-yacc.y (yacc_ids): Use xasprintf.
+ 
+ 	* gengtype.c (write_gc_structure_fields): Remove implementation
+ 	of `always' option, add `default' option.
+ 	* doc/gty.texi (GTY Options): Remove documentation of `always',
+ 	add `default'.
+ 
+ 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
+ 
+ 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68hc11.md (addhi_sp): Fix uninitialized variable bug.
+ 
+ 	* c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
+ 	instead of the *-protos.h file directly.
+ 	* t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
+ 	* darwin.c (machopic_output_stub): Move prototype ...
+ 	* darwin-protos.h (machopic_output_stub): ... here.
+ 	* rs6000-protos.h (machopic_output_stub): Don't declare.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
+ 
+ 2002-09-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c, real.h: Rewrite from scratch.
+ 
+ 	* Makefile.in (simplify-rtx.o): Depend on TREE_H.
+ 	(paranoia): New target.
+ 	* builtins.c (fold_builtin_inf): Use new real.h interface.
+ 	* c-common.c (builtin_define_with_hex_fp_value): Likewise.
+ 	* c-lex.c (interpret_float): Likewise.
+ 	* emit-rtl.c (gen_lowpart_common): Likewise.
+ 	* optabs.c (expand_float): Use real_2expN.
+ 	* config/ia64/ia64.md (divsi3, udivsi3): Likewise.
+ 	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
+ 	(FLOAT_WORDS_BIG_ENDIAN): New.
+ 	* cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
+ 	directly to REAL_VALUE_NEGATIVE.
+ 	* loop.c (canonicalize_condition): Likewise.
+ 	* simplify-rtx.c: Include tree.h.
+ 	(simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
+ 	with floating-point result modes.
+ 	* toplev.c (backend_init): Call init_real_once.
+ 
+ 	* fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
+ 	* tree.c (build_real): Likewise.
+ 	* config/alpha/alpha.c, config/vax/vax.c (float_strings,
+ 	float_values, inited_float_values, check_float_value): Remove.
+ 	* config/alpha/alpha.h, config/m68hc11/m68hc11.h,
+ 	config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
+ 	* doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
+ 	(VAX_HALFWORD_ORDER): Remove.
+ 
+ 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
+ 	(s390_load_address): ... this new function.
+ 	(s390_decompose_address): Allow the argument pointer and all
+ 	virtual registers as 'pointer' registers.
+ 	(s390_expand_plus_operand): Use s390_load_address.
+ 	config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
+ 	("force_la_31"): New insn pattern.
+ 	config/s390/s390-protos.h (legitimize_la_operand): Remove.
+ 	(s390_load_address): Add prototype.
+ 
+ 	* config/s390/s390.c: Include "optabs.h".
+ 	(s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
+ 	config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
+ 	s390_expand_cmpstr): Add prototypes.
+ 	config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
+ 	("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
+ 	for operands 0 and 1 to "memory_operand".  Add type attribute.
+ 	("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
+ 	for operands 0 and 1 to "memory_operand".  Add type attribute.
+ 	("movstrdi_long", "movstrsi_long"): Remove.
+ 	("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
+ 	("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
+ 	("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
+ 	("clrstrsico"): Remove, replace by ...
+ 	("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
+ 	("clrstrsi_64"): Rename to "clrstr_long_64".
+ 	("clrstrsi_31"): Rename to "clrstr_long_31".
+ 	("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
+ 	("cmpstr_const"): Remove, replace by ...
+ 	("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
+ 	("cmpstr_64"): Rename to "cmpstr_long_64".
+ 	("cmpstr_31"): Rename to "cmpstr_long_31".
+ 
+ 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ABOUT-NLS: Follow spelling conventions.
+ 	* ChangeLog: Likewise.
+ 	* ChangeLog.1: Likewise.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.3: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.5: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* FSFChangeLog.10: Likewise.
+ 	* FSFChangeLog.11: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-objc-common.c: Likewise.
+ 	* cppexp.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* doloop.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* function.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* ssa.c: Likewise.
+ 
+ 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
+ 	* vmsdbgout.c: Include "target.h".
+ 
+ 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.0: Likewise.
+ 	* ChangeLog.1: Likewise.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* config.gcc: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* unwind-sjlj.c: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/m88k/m88k-move.sh: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/interface.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 	* doc/trouble.texi: Likewise.
+ 	* ginclude/float.h: Likewise.
+ 	* treelang/treelang.texi: Likewise.
+ 
+ 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386-protos.h (i386_pe_dllexport_name_p,
+ 	i386_pe_dllimport_name_p, i386_pe_unique_section,
+ 	i386_pe_declare_function_type, i386_pe_record_external_function,
+ 	i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
+ 	prototype.
+ 	* i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
+ 	* i386/t-interix (winnt.o): Likewise.
+ 
+ 	* v850-protos.h (v850_output_addr_const_extra): Prototype.
+ 
+ 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
+ 	MIPS ABI CPP macros.
+ 	(TARGET_CPU_CPP_BUILTINS): Redefine.
+ 	(SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
+ 	(SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
+ 
+ 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
+ 
+ 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.0: Likewise.
+ 	* ChangeLog.1: Likewise.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.3: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.5: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* FSFChangeLog.10: Likewise.
+ 	* FSFChangeLog.11: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-format.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* langhooks.h: Likewise.
+ 	* real.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/linux-gas.h: Likewise.
+ 	* config/arm/netbsd.h: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/c4x/libgcc.S: Likewise.
+ 	* config/fr30/fr30.md: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/ia64/ia64.md: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mn10300/mn10300.c: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/v850/v850.md: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 
+ 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h (LIB_SPEC): Include the appropriate pthread
+ 	library if -pthread is specified.
+ 
+ 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (*-*-netbsd*): Set thread_file to 'posix'
+ 	for --enable-threads=yes and --enable-threads=posix.
+ 
+ 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sparc/cypress.md: Replace Sparc with SPARC.
+ 	* config/sparc/freebsd.h: Likewise.
+ 	* config/sparc/gmon-sol2.c: Likewise.
+ 	* config/sparc/hypersparc.md: Likewise.
+ 	* config/sparc/lb1spc.asm: Likewise.
+ 	* config/sparc/lb1spl.asm: Likewise.
+ 	* config/sparc/linux.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 	* config/sparc/lynx.h: Likewise.
+ 	* config/sparc/sol2.h: Likewise.
+ 	* config/sparc/sparc-modes.def: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 	* config/sparc/sparclet.md: Likewise.
+ 	* config/sparc/supersparc.md: Likewise.
+ 	* config/sparc/sysv4.h: Likewise.
+ 	* config/sparc/vxsim.h: Likewise.
+ 	* config/sparc/vxsparc64.h: Likewise.
+ 
+ 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
+ 	* collect2.c (ignore_library, aix_std_libs): Move into the context
+ 	where it is used.
+ 	* m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
+ 	(autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
+ 	* m88k.c (output_call): Wrap variables with macro controlling use.
+ 	* rs6000.md: Likewise.  Const-ify variable.
+ 	* sh.h (ASM_OUTPUT_LABELREF): Likewise.
+ 	* final.c (only_leaf_regs_used): Likewise.
+ 	* regrename.c (maybe_mode_change): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* reload.c (find_valid_class): Likewise.  Likewise for variable.
+ 	(find_reloads_address_1): Likewise.
+ 	* varasm.c (weak_finish): Wrap variable with macro controlling use.
+ 
+ 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (output.h): Move after inclusion of tree.h.
+ 
+ 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.0: Likewise.
+ 	* ChangeLog.2: Likewise.
+ 	* ChangeLog.3: Likewise.
+ 	* ChangeLog.4: Likewise.
+ 	* ChangeLog.5: Likewise.
+ 	* ChangeLog.6: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* cse.c: Likewise.
+ 	* debug.h: Likewise.
+ 	* df.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* hashtable.c: Likewise.
+ 	* hashtable.h: Likewise.
+ 	* loop.c: Likewise.
+ 	* config/arm/README-interworking: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/stormy16/stormy-abi: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/v850/v850.c: Likewise.
+ 
+ 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop.c: Fix a comment typo.
+ 
+ 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30.h: Fix comment typos.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/i386/xmmintrin.h: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 
+ 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* haifa-sched.c: Follow spelling conventions.
+ 	* regclass.c: Likewise.
+ 	* regrename.c: Likewise.
+ 	* config/fp-bit.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/m88k/m88k.c: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 	* config/rs6000/gnu.h: Likewise.
+ 	* config/rs6000/linux.h: Likewise.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/ultra1_2.md: Likewise.
+ 
+ 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
+ 	memory operand when source is 0 (K constraint).
+ 	("movsi_internal"): Likewise.
+ 	("movdf_internal"): Likewise.
+ 	("movsf_internal"): Likewise.
+ 
+ 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
+ 	targetm.binds_local_p to set SYMBOL_REF_FLAG.
+ 	(rs6000_xcoff_encode_section_info): Likewise.
+ 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 
+ 2002-09-10  Theodore A. Roth  <troth@verinet.com>
+ 
+ 	* gcc/config/avr/avr.h: Set default options for C++ for avr.
+ 
+ 2002-09-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* stmt.c (struct nexting): Remove unused alt_end_label field.
+ 	(expand_start_loop): Delete initialization of alt_end_label.
+ 	(expand_start_null_loop): Likewise.
+ 	(expand_exit_loop_if_false): Delete updating of alt_end_label.
+ 
+ 2002-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (toplev.o): Depend on real.h.
+ 	(print-rtl.o, varasm.o, ifcvt.o): Likewise.
+ 
+ 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
+ 	* dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
+ 	* config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
+ 
+ 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
+ 
+ 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
+ 	ia64*-*-linux*): Set extra_parts.
+ 	* config/ia64/t-aix (EXTRA_PARTS): Remove.
+ 	* config/ia64/t-ia64 (EXTRA_PARTS): Remove.
+ 
+ 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/fixunssfsi.c: Replace H8/S with H8S.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Fix formatting.
+ 
+ 2002-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (attr type): Add callpal.
+ 	(imb, trap, load_tp, set_tp): Use it.
+ 	* config/alpha/ev4.md (ev4_callpal): New.
+ 	* config/alpha/ev5.md (ev5_callpal): New.
+ 	* config/alpha/ev6.md (ev6_ibr): Handle callpal.
+ 	* config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
+ 	(alphaev5_insn_pipe): Likewise.
+ 
+ 2002-09-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (print-rtl.o): Depend on CONFIG_H.
+ 
+ 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
+ 	LIB2ADDEH): New, set to NULL.
+ 	(SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
+ 
+ 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/quadlib.c (_U_Qfcmp): Make extern.
+ 	(_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
+ 	(_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
+ 	Add declarations.
+ 	(_U_Qfneg): Remove.
+ 
+ 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
+ 
+ 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
+ 	for H8/300, H8S aa:8 mode.
+ 	(TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
+ 	for H8/300 aa:8 mode.
+ 
+ 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
+ 	insns.
+ 
+ 2002-09-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (HOST_PRINT): Use print-rtl1.o
+ 	(print-rtl.o): Don't define GENERATOR_FILE.
+ 	(print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
+ 	* print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
+ 	unless GENERATOR_FILE.
+ 
+ 2002-09-12  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (USER_LABEL_PREFIX): Define here...
+ 	* config/i386/darwin.h: ... instead of here.
+ 
+ 	* target.h (struct gcc_target): New field
+ 	terminate_dw2_eh_frame_info.
+ 	* target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
+ 	(TARGET_INITIALIZER): Add it.
+ 	* dwarf2out.c (output_call_frame_info): Use target hook.
+ 	* dwarf2asm.c (dw2_asm_output_delta): Use macro
+ 	ASM_OUTPUT_DWARF_DELTA if defined.
+ 	* doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
+ 	(ASM_OUTPUT_DWARF_DELTA): Ditto.
+ 	(ASM_OUTPUT_DWARF_OFFSET): Ditto.
+ 	(ASM_OUTPUT_DWARF_PCREL): Ditto.
+ 	* config.gcc (i[34567]86-*-darwin*): Define extra_parts.
+ 	(powerpc-*-darwin*): Ditto.
+ 	* crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
+ 	to work correctly for Darwin.
+ 	* config/darwin.h (OBJECT_FORMAT_MACHO): Define.
+ 	(STARTFILE_SPEC): Add crtbegin.o.
+ 	(ENDFILE_SPEC): Define.
+ 	(EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
+ 	(ASM_OUTPUT_DWARF_DELTA): Define.
+ 	(TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
+ 	* config/darwin.c (darwin_asm_output_dwarf_delta): New function.
+ 
+ 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
+ 	nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
+ 	* config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
+ 
+ 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* toplev.c: Move default definition of USER_LABEL_PREFIX...
+ 	* defaults.h: ... here.
+ 
+ 2002-09-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* vax.c: Include tree.h earlier.
+ 
+ 2002-09-12  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (machopic_finish): Remove #if 0 chunks.
+ 	(machopic_operand_p): Ditto.
+ 
+ 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
+ 	Fix a comment typo.
+ 
+ 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* toplev.c (do_abort): Fix a comment typo.
+ 
+ 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cselib.c: Fix comment formatting.
+ 	* gengtype.c: Likewise.
+ 
+ 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (udivmodqi4): Do not use an expander.
+ 	(udivmodhi4): Likewise.
+ 
+ 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* i386.c (any_fp_register_operand, fp_register_operand,
+ 	register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
+ 	New predicate functions.
+ 	* i386-protos.h:  Add their prototypes.
+ 	* i386.h: Add them to PREDICATE_CODES.
+ 	* i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
+ 	"*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
+ 	"*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
+ 	"*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
+ 	"*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
+ 	"*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
+ 	"*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
+ 	"*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
+ 	"*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
+ 	"*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
+ 	"*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
+ 	Use these new predicates to simplify and correct the use of
+ 	FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
+ 
+ 2002-09-12  Jason Merrill  <jason@redhat.com>
+ 
+ 	* diagnostic.c (output_add_identifier): New fn.
+ 	* diagnostic.h: Declare it.
+ 
+ 	* calls.c (store_one_arg): Use size_in_bytes to determine the
+ 	amount of space to push.
+ 
+ 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
+ 
+ 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
+ 	* config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
+ 	(s390_select_ccmode): Likewise.
+ 	(s390_branch_condition_mask): Likewise.
+ 	(optimization_options): Do not set flag_branch_on_count.
+ 	(s390_split_branches): Handle doloop branches.
+ 	(s390_chunkify_pool): Likewise.
+ 	* config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
+ 	("doloop_end"): New expander.
+ 	("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
+ 	associated splitters): New.
+ 
+ 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* genattrtab.c (simplify_cond): Remove unused variable(s).
+ 	* global.c (record_conflicts): Likewise.
+ 	* jump.c (rebuild_jump_labels): Likewise.
+ 	* loop.c (scan_loop, check_final_value): Likewise.
+ 	* ra-colorize.c (colorize_one_web, assign_colors): Likewise.
+ 	* reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
+ 	* rtlanal.c (reg_set_p): Likewise.
+ 	* stmt.c (expand_asm_operands, expand_decl): Likewise.
+ 	* genautomata.c (empty_reserv): Remove.
+ 	* loop.c (max_luid): Likewise.
+ 	* sched-rgn.c (bitlst_table_size): Likewise.
+ 
+ 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Reimplement gcov format.
+ 	* gcov-io.h: Replace.
+ 	* gcov.c: Reimplement.
+ 	* gcov-iov.c: New file.
+ 	* gcov-dump.c: New file.
+ 	* libgcc2.c (L_bb): Replace with ...
+ 	(L_gcov): ... this.
+ 	(struct bb_function_info, struct bb): Remove.
+ 	(inhibit_libc): Never inhibit.
+ 	(gcov_list, gcov_crc): New static variables.
+ 	(gcov_version_mismatch): New static function.
+ 	(__bb_exit_func): Renamed to ...
+ 	(__gcov_exit): ... here. Made static. Reimplement.
+ 	(__gcov_init_func): Rename to ...
+ 	(__gcov_init): ... here. Check version, update crc.
+ 	(__bb_fork_func): Rename to ...
+ 	(__gcov_flush): ... here.
+ 	* libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
+ 	__bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
+ 	* calls.c (expand_call): Call __gcov_flush.
+ 	* profile.c (bb_file, last_bb_file_name): Remove.
+ 	(bbg_file_name): New global variable.
+ 	(output_gcov_string): Remove.
+ 	(get_exec_counts): Reimplement.
+ 	(branch_prob): Reimplement gcov file writing.
+ 	(init_branch_prob): Create bbg_file_name, don't create
+ 	bb_file_name.
+ 	(end_branch_prob): Adjust. Don't remove counter file when
+ 	instrumenting ourselves.
+ 	(create_profiler): Adjust.
+ 	* doc/gcov.texi (Gcov Data Files): Remove detailed specification,
+ 	point to gcov-io.h.
+ 	* Makefile.in (LANGUAGES): Add gcov-dump.
+ 	(coverageexts): Remove .bb.
+ 	(STAGESTUFF): Add gcov-dump.
+ 	(LIB2FUNCS_ST): Replace _bb with _gcov.
+ 	(profile.o): Depend on gcov-iov.h.
+ 	(final.o): Don't depend on profile.h, gcov.h.
+ 	(gcov.o): Depend on gcov-iov.h.
+ 	(gcov-iov.o): New target.
+ 	(gcov-iov): New target.
+ 	(gcov-iov.h): New target.
+ 	(gcov-dump.o): New target.
+ 	(GCOV_DUMP_OBJS): New variable.
+ 	(gcov-dump): New target.
+ 	(distclean): Remove coverageexts.
+ 	(stage1): Remove coverageexts.
+ 
+ 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* fold-const.c (make_range): Only narrow to signed range if
+ 	the signed range is smaller than the unsigned range.
+ 
+ 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* emit-rtl.c (set_mem_size): New function.
+ 	* expr.h (set_mem_size): Declare.
+ 	* config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
+ 	(expand_block_move): Instead, use adjust_address and
+ 	replace_equiv_address to generate proper aliasing info.
+ 	Move common code out of conditionals.  Localize vars.
+ 
+ 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* optabs.c (expand_binop): Minor cleanup.
+ 	(expand_twoval_binop): Convert CONST_INTs like in expand_binop.
+ 
+ 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* print-tree.c (print_node): Print the restrict qualifier.
+ 
+ 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi: Fix typos.
+ 
+ 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in: Remove all references to s-under and underscore.c.
+ 	* collect2.c, tlink.c: Change all uses of prepends_underscore
+ 	to look directly at USER_LABEL_PREFIX.
+ 
+ 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
+ 	alignment to csect.
+ 	(rs6000_xcoff_unique_section): Only set section name for public
+ 	data.
+ 	(rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
+ 	* config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
+ 	duplicate definition.
+ 
+ 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (extzv): Check predicates before emitting extzv_32.
+ 	(insv): Likewise.
+ 
+ 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (MOVE_MAX): Define to correct value.
+ 	(MAX_MOVE_MAX): Define.
+ 	(MOVE_BY_PIECES_P): Define.
+ 	(CLEAR_BY_PIECES_P): Define.
+ 
+ 2002-09-10  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md (movstrhi): Use right operands for conversion.
+ 
+ 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR c/7873
+ 	* arm.md (insv): Use reg_or_int_operand for operand[3].
+ 
+ 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_assemble_visibility): Protect declaration
+ 	inside macro.  Correct function definition typo.
+ 	(rs6000_xcoff_section_type_flags): New function.
+ 	(TARGET_SECTION_TYPE_FLAGS): Remove definition.
+ 	(rs6000_elf_section_type_flags): Call default_section_type_flags_1
+ 	with appropriate PIC test.
+ 	(rs6000_xcoff_select_section): Use decl_readonly_section_1 to
+ 	determine readonly.
+ 	(rs6000_binds_local_p): Combine PIC flags.
+ 	* sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
+ 	* xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
+ 
+ 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* h8300.md: Fix signed/unsigned warnings.
+ 	* mcore.md: Likewise.
+ 	* mn10300.c (mask_ok_for_mem_btst): Likewise.
+ 
+ 2002-09-09  Per Bothner  <per@bothner.com>
+ 
+ 	* print-tree.c (print_node):  In a STRING_CST, escape non-ascii
+ 	characters, and only print TREE_STRING_LENGTH chars.
+ 
+ 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
+ 	(ASM_FILE_END) New.
+ 	* config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
+ 	* config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
+ 	* config/ia64/ia64.c (ia64_asm_output_external): Create list
+ 	of external functions if TARGET_HPUX_LD is true.
+ 	(ia64_hpux_add_extern_decl): New, routine to put names on
+ 	list of external functions.
+ 	(ia64_hpux_asm_file_end): Put out declarations for external
+ 	functions if and only if they are used.
+ 
+ 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
+ 	on TARGET_64BIT before pic register restore.
+ 
+ 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
+ 	(TARGET_HAVE_TLS): New description.
+ 
+ 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/extend.texi (Statement Exprs): Fix broken link.
+ 
+ 2002-09-09  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
+ 	right conversion of operands[1].
+ 
+ 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
+ 	commutative.  Use "nonimmediate_operand" instead of "register_operand"
+ 	as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
+ 
+ 	("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
+ 	as commutative.
+ 
+ 	("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
+ 	mark as commutative.  Use "nonimmediate_operand" instead of
+ 	"register_operand" as predicate for operand 1.
+ 
+ 	("movstrictsi"): Fix typo in insn name.
+ 
+ 2002-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (index_register_operand): New.
+ 	* i386.h (predicate_codes): Add new predicate.
+ 	* i386.md (lea_general_*): Use index_register_operand
+ 	(ashift to lea splitter): Do not produce invalid leas
+ 	(ashift to mov+ashift split): New.
+ 
+ 2002-09-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
+ 	Fix folding marks.
+ 
+ 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 	    J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
+ 
+ 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
+ 	(function_ok_for_sibcall): Use binds_local_p.  Respect longcall
+ 	attributes.
+ 
+ 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* basic_block.h (gcov_type): Explain why it is signed.
+ 	* final.c: Don't include profile.h.
+ 	(struct function_list, functions_head, functions_tail,
+ 	end_final): Moved to profile.c
+ 	(final): Move arc chaining code to profile.c.
+ 	* function.c (prepare_function_start): Remove duplicate line.
+ 	* output.h (end_final): Remove prototype.
+ 	* predict.c (estimate_loops_at_level): Use gcov_type.
+ 	* profile.c (struct function_list, functions_head,
+ 	functions_tail): Moved from final.c
+ 	(need_func_profiler): Remove.
+ 	(instrument_edges): Don't set need_func_profiler.
+ 	(get_exec_counts): Avoid signed/unsigned warning.
+ 	(compute_checksum): Use crc32.
+ 	(branch_prob): Adjust. Chain onto functions_head.
+ 	(init_branch_prob): Absorb init_edge_profiler.
+ 	(init_edge_profiler): Remove.
+ 	(create_profiler): Moved and renamed from final.c:end_final.
+ 	Emit data and constructor.
+ 	(output_func_start_profiler): Remove.
+ 	* profile.h (struct profile_info): checksum is unsigned.
+ 	* rtl.h (output_func_start_profiler): Remove prototype.
+ 	(create_profiler): Declare.
+ 	* toplev.c (compile_file): Call create_profiler, if instrumenting
+ 	arcs. Don't call end_final.
+ 
+ 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
+ 
+ 2002-09-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
+ 	(DW_OP_GNU_push_tls_address): New.
+ 	(DW_OP_lo_user): Fix.
+ 	* dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
+ 	(dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
+ 	(size_of_loc_descr): Likewise.
+ 	(output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
+ 	(add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
+ 	(loc_descriptor_from_tree): Handle TLS variables.
+ 	(rtl_for_decl_location): Do avoid_constant_pool_reference here ...
+ 	(add_location_or_const_value_attribute): ... not here.  Defer
+ 	to loc_descriptor_from_tree for TLS variables.
+ 
+ 	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
+ 	* config/i386/i386.c (i386_output_dwarf_dtprel): New.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2002-09-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/6405
+ 	* unroll.c (loop_iterations): last_loop_insn should be the previous
+ 	non-note instruction before loop->end.
+ 	* loop.c (strength_reduce): The conditional jump is the last
+ 	non-note instruction before loop->end (as above).
+ 
+ 2002-09-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (try_combine): Handle the case that undobuf.other_insn
+ 	has been turned into a return or unconditional jump, by inserting
+ 	a BARRIER if necessary.
+ 	(simplify_set):  Test if a condition code setter has a constant
+ 	comparison at compile time, if so convert this insn to a no-op move
+ 	and update/simplify the condition code user (undobuf.other_insn).
+ 
+ 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
+ 	(CLEAR_INSN_CACHE): Define.
+ 
+ 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Fix comment formatting.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-pretty-print.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfgloop.c: Likewise.
+ 	* defaults.h: Likewise.
+ 	* et-forest.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* function.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* real.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* tracer.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2002-09-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
+ 	handling.
+ 
+ 	* loop.c (loop_givs_reduce):  Emit addition after.
+ 
+ 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* varasm.c (default_assemble_visibility): Rename from
+ 	assemble_visibility.
+ 	* output.h: Here too.
+ 	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
+ 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
+ 
+ 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* reload.c (find_reloads <p constraint>): Pass operand_mode to
+ 	find_reloads_address.
+ 
+ 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
+ 	(anonymous pattern): Likewise.
+ 
+ 2002-09-07  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* machmode.def: Add modes for half-float vectors.
+ 
+ 2002-09-07  Scott Snyder  <snyder@fnal.gov>
+ 
+ 	PR target/7374
+ 	* config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
+ 
+ 2002-09-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* basic-block.h (struct loop): Remove unused cont_dominator field.
+ 
+ 2002-09-07  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* varasm.c (decode_rtx_const): Don't check undefined field for
+ 	CONST_VECTOR.
+ 
+ 2002-09-07  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	PR opt/7814
+ 	* sched-deps.c (sched_analyze_insn): Make sure to add insn
+ 	to reg_last->sets after flushing the dependency lists to guarantee
+ 	that subsequent clobbers will be dependent on it.
+ 
+ 2002-09-07  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* combine.c (simplify_shift_const): Calculate rotate count
+ 	correctly for vector operands.
+ 
+ 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
+ 
+ 	* c-typeck.c (c_tree_expr_nonnegative_p): New function.
+ 	(build_binary_op): Call c_tree_expr_nonnegative_p rather than
+ 	tree_expr_nonnegative_p.
+ 	(build_conditional_expr): Likewise.
+ 	* c-tree.h (c_tree_expr_nonnegative_p): Declare.
+ 
+ 2002-09-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.def (inf, inff, infl): Mark const.
+ 	(huge_val, huge_valf, huge_vall): Likewise.
+ 	(BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
+ 
+ 	* real.c (ereal_inf): Clear E before use.
+ 
+ 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (udivmodqi4): Split the pattern into
+ 	an expander and an anonymous pattern.  Zero out the upper half
+ 	of the dividend in the expander.
+ 	(udivmodqi4): Likewise.
+ 
+ 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Fix formatting.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
+ 	information.
+ 
+ 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
+ 
+        * rtlanal.c (dead_or_set_regno_p): Fix typo.
+ 
+ 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 
+ 	* doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
+ 	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
+ 	(TARGET_ASM_OUT): Add the above here.
+ 	* target.h (struct gcc_target): Add "visibility" field.
+ 	* varasm.c (maybe_assemble_visibility): Call targetm visibility func.
+ 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
+ 	(TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
+ 	(rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
+ 
+ 2002-09-06  Ziemowit Laski <zlaski@apple.com>
+ 
+ 	* c-lang.c (objc_is_id): New stub.
+ 	* c-tree.h (objc_is_id): New forward declaration.
+ 	* c-typeck.c (build_c_cast): Do not strip protocol
+ 	qualifiers from 'id' type.
+ 	* objc/objc-act.c (objc_comptypes): Correct handling
+ 	of protocol qualifiers.
+ 	(objc_is_id): New.
+ 
+ Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pentium.md (pentium-firstvboth): Fix typo.
+ 
+ 2002-09-06	Dhananjay Deshpande <dhananjayd@kpit.com>
+ 
+ 	* h8300.c (enum shift_alg): Move to earlier in h8300.c.
+ 	(enum shift_type, enum h8_cpu): Likewise.
+ 	(INL, ROT, LOP, SPC macros): Likewise.
+ 	(shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
+ 	const designator.
+ 	(h8300_init_once): Update shift_alg_{qi,hi,si} to use more
+ 	space efficient algorithms when optimize for codesize.
+ 
+ Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	Fix PR/1727 and long-standing failing testcase
+ 	objc/formal-protocol-6.m.
+ 	* objc-act.c (build_protocol_expr): If compiling for the GNU
+ 	runtime, create a list of Protocol statically allocated instances
+ 	if it doesn't exist, then add the Protocol object to this same
+ 	list.
+ 	(get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
+ 	instead of TREE_CHAIN.
+ 
+ Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* objc/objc-act.c (dump_interface): Enlarged the char * buffer to
+ 	10k.  Fixed category dumping - print out category names with the
+ 	proper syntax.  Print '@end\n' and not '\n@end' at the end of the
+ 	interface.
+ 	(finish_objc): Fixed the -gen-decls option.  It was printing out
+ 	only the last class.  Dump an interface declaration of all classes
+ 	being compiled instead.
+ 
+ 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/arm-protos.h (arm_gen_return_addr_mask): New
+ 	prototype.
+ 	* config/arm/arm.c (arm_gen_return_addr_mask): New function.
+ 	* config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
+ 	if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
+ 	rather than GEN_INT.
+ 	* config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
+ 	(return_addr_mask, *check_arch2): New.
+ 
+ 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
+ 	"*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
+ 	"*addsi3_carry1_cc", "*addsi3_carry1_cconly",
+ 	"*addsi3_carry2_cc", "*addsi3_carry2_cconly",
+ 	"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
+ 	"adddf3", "*adddf3", "*adddf3_ibm",
+ 	"addsf3", "*addsf3", "*addsf3_ibm",
+ 	"muldi3", "mulsi3", "mulsidi3",
+ 	"muldf3", "*muldf3", "*muldf3_ibm",
+ 	"mulsf3", "*mulsf3", "*mulsf3_ibm",
+ 	"*anddi3_cc", "*anddi3_cconly", "anddi3",
+ 	"*andsi3_cc", "*andsi3_cconly", "andsi3",
+ 	"*iordi3_cc", "*iordi3_cconly", "iordi3",
+ 	"*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
+ 	"*xordi3_cc", "*xordi3_cconly", "xordi3",
+ 	"*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
+ 	instead of "register_operand" as predicate for "%0" operand.
+ 
+ 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
+ 	unconditionally when gcc_cv_as_flags64 checks are gone.
+ 	* configure: Rebuilt.
+ 
+ 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
+ 	2002-07-26 change.  Comment.
+ 
+ 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* frv.c (frv_unique_section, frv_select_section,
+ 	frv_select_rtx_section): Delete.
+ 	(frv_in_small_data_p): New.
+ 	(TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
+ 	TARGET_ASM_SELECT_RTX_SECTION): Delete.
+ 	(TARGET_IN_SMALL_DATA_P): Define.
+ 
+ 2002-09-05  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* reload1.c (reload):  Retain only those memory clobbers
+ 	added for variable-array handling.
+ 
+ 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_return_in_memory): Implement ATPCS
+ 	return-in-memory rules.
+ 	* config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
+ 
+ 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
+ 
+ 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
+ 	not a compile-time constant for the non-IBM case.
+ 	* config/arm/arm-protos.h (arm_float_words_big_endian): New
+ 	prototype.
+ 	* config/arm/arm.c (arm_float_words_big_endian): New function.
+ 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
+ 	if TARGET_VFP  and not TARGET_HARD_FLOAT.
+ 	(ARM_FLAG_VFP, TARGET_VFP): Define.
+ 	(FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
+ 
+ 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
+ 	URLs.  Fix AIX wording.
+ 
+ 2002-09-05  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
+ 	-fPIC equivalent on Darwin.
+ 
+ Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_expand_builtin): Return early if encountering an
+ 	error_mark for a type.
+ 
+ 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_expand_plus_operand): Do not require
+ 	double-word scratch register.
+ 	config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
+ 
+ 	("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
+ 	"*cli"): Replace s_operand by memory_operand.
+ 	("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
+ 
+ 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (asm_file_start): Add a missing
+ 	semicolon.
+ 
+ 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* c-typeck.c (build_function_call): Remove unused variable(s).
+ 	(build_c_cast): Likewise.
+ 	* calls.c (rtx_for_function_call): Likewise.
+ 	* cfglayout.c (duplicate_insn_chain): Likewise.
+ 	* cfgloop.c (flow_loop_nodes_find): Likewise.
+ 	* cfgrtl.c (split_edge): Likewise.
+ 	* df.c (df_ref_create): Likewise.
+ 	* except.c (expand_end_catch): Likewise.
+ 	* expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
+ 	* function.c (emit_return_into_block): Likewise.
+ 	(reposition_prologue_and_epilogue_notes): Likewise.
+ 	* gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
+ 	* combine.c (subst_prev_insn, need_refresh): Remove.
+ 	* dwarf2out.c (primary_filename): Remove.
+ 	* final.c (new_block): Remove.
+ 	* gcse.c (orig_bb_count): Remove.
+ 
+ 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
+ 	* dsp16xx.c (dsp16xx_compare_gen): Likewise.
+ 	* dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
+ 	directly instead of using a function pointer.
+ 
+ 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config/i386/i386.h (GOT_SYMBOL_NAME): Define.
+ 	* config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
+ 	(ix86_output_addr_diff_elt) Likewise.
+ 	(x86_output_mi_thunk) Likewise.
+ 	* config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
+ 
+ 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* frv.c (frv_encode_section_info): Fix error in last change.
+ 
+ 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
+ 	(rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
+ 	(TARGET_BINDS_LOCAL_P): Define.
+ 	(rs6000_override_options): Save original flag_pic value.
+ 	(rs6000_elf_select_section): Call default_elf_select_section_1.
+ 	(rs6000_elf_unique_section): Call default_unique_section_1.
+ 	(rs6000_elf_in_small_data_p): New function.
+ 	(rs6000_xcoff_asm_named_section): Determine storage mapping class.
+ 	(rs6000_xcoff_select_section): Update based on defaults.
+ 	(rs6000_xcoff_unique_section): Set to basic name if not common.
+ 	(rs6000_binds_local_p): New function.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
+ 	targetm.have_srodata_section if SDATA_EABI.
+ 	(TARGET_IN_SMALL_DATA_P): Define.
+ 
+ 2002-09-04  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* varasm.c (struct rtx_const, decode_rtx_const):
+ 	Make veclo and vechi fields not share storage.
+ 
+ Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* loop.c (scan_loop): Don't mark separate insns out of a libcall
+ 	for moving.
+ 	(move_movables): Abort if we see the first insn of a libcall.
+ 
+ 2002-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtin-types.def (BT_FN_FLOAT): New.
+ 	(BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
+ 	* builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
+ 	BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
+ 	* builtins.c (fold_builtin_inf): New.
+ 	(fold_builtin): Call it.
+ 	* real.c (ereal_inf): New.
+ 	* real.h: Declare it.
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2002-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (cse_insn): Avoid subreg games if the equivalence
+ 	is already in the proper mode.
+ 
+ 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	PR c/7102
+ 	* optabs.c (expand_binop): Convert CONST_INTs in all cases.
+ 
+ 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (setccfp0, setccfp1): New patterns.
+ 
+ 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* frv-protos.h (frv_init_builtins, frv_expand_builtin,
+ 	frv_select_section, frv_select_rtx_section,
+ 	frv_encode_section_info, frv_unique_section): Delete.
+ 	* frv.c: Update for target hooks.
+ 	* frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
+ 	SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
+ 	EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
+ 
+ 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ip2k-protos.h (function_prologue, function_epilogue,
+ 	encode_section_info): Update to match target hook specification.
+ 	* ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
+ 	(function_prologue, function_epilogue, encode_section_info):
+ 	Update to match target hook specification.
+ 	* ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
+ 	ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
+ 	(NOTICE_UPDATE_CC): Cast to void.
+ 	* ip2k.md: Add defaults in switch statements.
+ 
+ 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/trouble.texi (Interoperation): Update information about C++ ABI
+ 	issues.
+ 
+ 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/t-netbsd64: Disable multilib for now.
+ 
+ 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
+ 	* target.h (gcc_target): Add have_srodata_section member.
+ 	* varasm.c (section_category): Add SECCAT_SRODATA.
+ 	(categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
+ 	READONLY_SDATA_SECTION defined.
+ 	(decl_readonly_section_1): True for SECCAT_SRODATA also.
+ 	(default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
+ 	(default_unique_section_1): Likewise.
+ 
+ 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* expr.c (emit_group_load): Revise to allow splitting TCmode source
+ 	into DImode pieces.
+ 
+ 	* pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
+ 	* pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
+ 	for floating-point register class.
+ 	* pa.c (function_arg): Fix handling of modes wider than one word for
+ 	TARGET_64BIT.
+ 
+ Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* combine.c (make_compound_operation): Don't generate zero / sign
+ 	extensions in floating point modes.
+ 
+ 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/c-tree.texi: Fix overfull hboxes.
+ 	* doc/cppopts.texi: Ditto.
+ 	* doc/extend.texi: Ditto.
+ 	* doc/gty.texi: Ditto.
+ 	* doc/invoke.texi: Ditto.
+ 	* doc/makefile.texi: Ditto.
+ 	* doc/rtl.texi: Ditto.
+ 	* doc/standards.texi: Ditto.
+ 	* doc/tm.texi: Ditto.
+ 
+ 2002-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (builtin_define_with_hex_fp_value): New.
+ 	(builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
+ 
+ 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
+ 	(-fpcc-struct-return, -freg-struct-return, -fshort-enums,
+ 	-fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
+ 	Warn that these options can break ABI compatibility.
+ 
+ 2002-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (ereal_to_decimal): Add digits parameter.
+ 	* real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
+ 	* c-pretty-print.c (pp_c_real_literal): Update call.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* print-tree.c (print_node_brief, print_node): Likewise.
+ 	* sched-vis.c (print_value): Likewise.
+ 	* config/arc/arc.c (arc_print_operand): Likewise.
+ 	* config/c4x/c4x.c (c4x_print_operand): Likewise.
+ 	* config/i370/i370.h (PRINT_OPERAND): Likewise.
+ 	* config/i386/i386.c (print_operand): Likewise.
+ 	* config/i960/i960.c (i960_print_operand): Likewise.
+ 	* config/ip2k/ip2k.c (asm_output_float): Likewise.
+ 	* config/m32r/m32r.c (m32r_print_operand): Likewise.
+ 	* config/m68hc11/m68hc11.c (print_operand): Likewise.
+ 	* config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
+ 	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
+ 	* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
+ 	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
+ 	* config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
+ 	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+ 	* config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
+ 	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+ 	* config/mips/mips.c (print_operand): Likewise.
+ 	* config/ns32k/ns32k.c (print_operand): Likewise.
+ 	* config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
+ 	* config/vax/vax.h (PRINT_OPERAND): Likewise.
+ 	* doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
+ 
+ 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
+ 	xtensa_multibss_section_type_flags.
+ 	* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
+ 
+ 2002-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/install-old.texi: Don't mention enquire.
+ 	* doc/sourcebuild.texi: Update float.h description.
+ 
+ Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
+ 
+ 2002-09-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (build_function_call_expr): Remove prototype, export
+ 	as non-static and add a comment above function definition.
+ 	(builtin_mathfn_code): New function to check for math builtins.
+ 	(fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
+ 	exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
+ 	log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
+ 	log(sqrt(x)) as log(x)/2.0.
+ 
+ 	* tree.h: Prototype build_function_call_expr and builtin_mathfn_code
+ 	in new "builtins.c" section.  Place the build_range_type prototype
+ 	with the other prototypes from "tree.c".
+ 
+ 	* fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
+ 	and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
+ 	as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
+ 	x/exp(y) as x*exp(-y).
+ 
+ 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* varasm.c (default_section_type_flags): Append _1 to name with
+ 	shlib parameter.  Use original name to call new function with
+ 	implicit flag_pic.
+ 	(decl_readonly_section): Likewise.
+ 	(default_elf_select_section): Likewise.
+ 	(default_unique_section): Likewise.
+ 	(default_bind_local_p): Likewise.
+ 	(categorize_decl_for_section): Add shlib parameter to use in place
+ 	of implicit flag_pic.
+ 	* output.h: Declare new functions with _1 and shlib argument.
+ 
+ 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi: Fix typos, formatting problems, and obvious
+ 	overfull/underfull boxes.
+ 
+ 	* Makefile.in (TEXI_GCC_FILES): Add compat.texi.
+ 	* doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
+ 	include its file, compat.texi.
+ 	* doc/compat.texi: New file with new chapter, Binary Compatibility.
+ 
+ 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	Debian BTS Bug #157416
+ 	* cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
+ 	* cpplib.c (destringize_and_run): Kludge around getting
+ 	tokens from in-progress macros.
+ 	(_cpp_do__Pragma): Simplify.
+ 
+ 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
+ 	(CPP_CPU_SPEC): Remove.
+ 	(TARGET_CPU_CPP_BUILTINS): New.
+ 	* config/ia64/hpux.h (CPP_PREDEFINES): Remove.
+ 	(CPP_SPEC): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 	* config/ia64/linux.h (CPP_PREDEFINES): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 	* config/ia64/aix.h (CPP_SPEC): Move some stuff to
+ 	TARGET_OS_CPP_BUILTINS.
+ 	(CPP_PREDEFINES): Remove.
+ 	(CPLUSPLUS_CPP_SPEC): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 
+ 2002-09-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (USER_H): Add ginclude/float.h.
+ 	(FLOAT_H): Remove.
+ 	(stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
+ 	(mostlyclean): Don't remove float.h intermediate files.
+ 	(distclean): Don't remove float.h.
+ 	* config.gcc: Remove all float_format references.
+ 	* configure.in (float_format, float_h_file): Remove.
+ 
+ 	* c-common.c: Include tree-inline.h.
+ 	(builtin_define_with_int_value): New.
+ 	(builtin_define_type_precision): Use it.
+ 	(builtin_define_float_constants): New.
+ 	(cb_register_builtins): Use it.  Define __FLT_RADIX__ and
+ 	__FLT_EVAL_METHOD__.
+ 	* defaults.h (TARGET_FLT_EVAL_METHOD): New.
+ 	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
+ 	* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
+ 	* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
+ 	(TARGET_FLT_EVAL_METHOD): New.
+ 
+ 	* config/float-c4x.h, config/float-i128.h, config/float-i32.h,
+ 	config/float-i386.h, config/float-i64.h, config/float-m68k.h,
+ 	config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
+ 	* ginclude/float.h: New.
+ 
+ 2002-09-03  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
+ 	(DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
+ 	(PREFERRED_DEBUGGING_TYPE): Ditto.
+ 	(ASM_OUTPUT_IDENT): Remove empty definition.
+ 
+ 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
+ 	cxx_target.
+ 	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
+ 	handling routine for builtin pragma.
+ 	* config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
+ 	Registered pragma handling routine.
+ 	* ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
+ 	(ia64_hpux_add_pragma_builtin) New subroutine used by above.
+ 	If builtin pragma seen for math routine and C89 conformance is
+ 	requested use different math function in order to set errno.
+ 	* t-ia64 (ia64-c.o): Add new rule for new file.
+ 
+ 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movti"): Add Q->Q alternative.
+ 	("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
+ 	"movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
+ 
+ 	("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
+ 	"*movsf_ss"): Remove.
+ 
+ 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
+ 	Delete macros.
+ 
+ 2002-09-03   Arati Dikey  <aratid@kpit.com>
+ 
+ 	* h8300.c (asm_file_start): Corrected optimization comment.
+ 
+ 2002-09-03  Stan Shebs  <shebs@apple.com>
+ 
+ 	* c-lang.c (recognize_objc_keyword): Remove, no longer used.
+ 	* c-tree.h (recognize_objc_keyword): Remove decl.
+ 	* c-typeck.c (comp_target_types): Update a comment.
+ 
+ 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
+ 	and register validity checks.
+ 	(general_s_operand): Adapt to s390_decompose_address interface change.
+ 	(q_constraint): Likewise.
+ 	(s390_expand_plus_operand): Likewise.
+ 	(legitimiate_address_p): Likewise.
+ 	(legitimate_la_operand_p): Likewise.
+ 	(legitimize_la_operand): Likewise.
+ 	(print_operand_address): Likewise.
+ 	(print_operand): Likewise.
+ 
+ Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	PR objc/5956:
+ 	* objc/objc-act.c (build_typed_selector_reference): Fix typo which
+ 	was causing the new selector never to match the existing ones
+ 	(Patch by Alexander Malmberg <alexander@malmberg.org>).
+ 
+ 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* config/i386/i386.md ("femms"): Add "memory" attr "none".
+ 
+ 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* expr.c (expand_expr): Remove extraneous comment and code.
+ 
+ 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* stor-layout (finish_builtin_struct): Renamed and moved from c++
+ 	frontend. Take chain of fields. Allow NULL alignment type.
+ 	* tree.h (finish_builtin_struct): Declare.
+ 
+ 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
+ 	config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
+ 	config/arc/arc.c config/arc/arc.h config/arm/aout.h
+ 	config/arm/arm.c config/arm/arm.h config/arm/arm.md
+ 	config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
+ 	config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
+ 	config/i386/i386.c config/i386/i386.md config/i386/sco5.h
+ 	config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
+ 	config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
+ 	config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
+ 	config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
+ 	config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
+ 	config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
+ 	config/pa/pa.h config/pa/pa.md config/romp/romp.h
+ 	config/rs6000/linux64.h config/rs6000/lynx.h
+ 	config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
+ 	config/s390/s390.c config/s390/s390.md config/sh/sh.c
+ 	config/sparc/sparc.c config/sparc/sysv4.h
+ 	config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
+ 	dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
+ 	ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
+ 
+ 	* doc/tm.texi: Update docs.
+ 	* default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
+ 	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
+ 
+ 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
+ 	* arc.c (arc_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Set.
+ 	* arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* arm.c (arm_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Set.
+ 	* arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* i370.c (i370_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Set.
+ 	* i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* m68k.c (m68k_hp320_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Set.
+ 	* m88k.c (m88k_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Set.
+ 	* m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
+ 	* genoutput.c (output_prologue): Include target.h in output file.
+ 	* output.h (default_internal_label): Declare.
+ 	* sdbout.c: Include target.h.
+ 	* target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
+ 	TARGET_ASM_OUT.
+ 	* target.h (internal_label): Add to struct gcc_target.
+ 	* varasm.c (default_internal_label): New function.
+ 
+ 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
+ 	* avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* mmix-protos.h (mmix_asm_output_internal_label): Likewise.
+ 	* mmix.c (mmix_asm_output_internal_label): Likewise.
+ 	* mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 
+ 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
+ 
+ 2002-08-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
+ 
+ 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
+ 
+ 2002-08-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/7515
+ 	* c-objc-common.c: Include target.h.
+ 	(c_cannot_inline_tree_fn): Don't auto-inline functions that
+ 	don't bind locally.  Factor setting DECL_UNINLINABLE.
+ 	* Makefile.in (c-objc-common.o): Update.
+ 
+ 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Configuration, Building): Fix a typo and
+ 	some formatting directives.
+ 
+ 2002-08-30  Paul Koning <pkoning@equallogic.com>
+ 
+ 	* doc/c-tree.texi (RDIV_EXPR): Fix typo.
+ 	* doc/rtl.texi (post_modify): Remove misplaced text, remove "not
+ 	implemented" note.
+ 	* doc/md.texi (IP2K): Move machine-specific constraints before MIPS
+ 	for alphabetic order.
+ 	* doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
+ 	VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
+ 	(VAX_HALFWORD_ORDER): Document.
+ 	(LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
+ 	IEEE float format.
+ 	(TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
+ 	(ASM_OUTPUT_LABEL_REF): Fix font.
+ 	(CASE_VECTOR_SHORTEN_MODE): Ditto.
+ 
+ 2002-08-30  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
+ 	stuff.
+ 	(ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
+ 	CONST_DOUBLE constants.
+ 
+ 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
+ 	related defines to...
+ 	(SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
+ 	* config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
+ 	as a no-op.
+ 
+ 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config/arm/arm.c (arm_asm_output_labelref): New function.
+ 	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
+ 	* config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
+ 
+ 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
+ 
+ 	* doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
+ 	memory exhausted" workarounds.
+ 
+ 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (fancy_abort): Don't repeat "internal error".
+ 	* toplev.c (crash_signal): Likewise.
+ 
+ Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
+ 	* doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
+ 	Extended, updated documentation.
+ 	(-Wundeclared-selector): Documented.
+ 
+ 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/chorus.h: Consistently define *_DEBUGGING_INFO with
+ 	the value 1.  Do not undef before defining.
+ 	* config/darwin.h: Likewise.
+ 	* config/dbx.h: Likewise.
+ 	* config/dbxcoff.h: Likewise.
+ 	* config/dbxelf.h: Likewise.
+ 	* config/elfos.h: Likewise.
+ 	* config/interix.h: Likewise.
+ 	* config/lynx-ng.h: Likewise.
+ 	* config/lynx.h: Likewise.
+ 	* config/netware.h: Likewise.
+ 	* config/psos.h: Likewise.
+ 	* config/svr3.h: Likewise.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/alpha/elf.h: Likewise.
+ 	* config/alpha/vms.h: Likewise.
+ 	* config/arc/arc.h: Likewise.
+ 	* config/arm/aout.h: Likewise.
+ 	* config/arm/coff.h: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/i386/cygwin.h: Likewise.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/gas.h: Likewise.
+ 	* config/i386/gstabs.h: Likewise.
+ 	* config/i386/i386-coff.h: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/i386/svr3dbx.h: Likewise.
+ 	* config/i386/sysv3.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 	* config/i386/x86-64.h: Likewise.
+ 	* config/i960/i960.h: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m68k/3b1.h: Likewise.
+ 	* config/m68k/3b1g.h: Likewise.
+ 	* config/m68k/ccur-GAS.h: Likewise.
+ 	* config/m68k/coff.h: Likewise.
+ 	* config/m68k/hp2bsd.h: Likewise.
+ 	* config/m68k/hp310g.h: Likewise.
+ 	* config/m68k/hp320g.h: Likewise.
+ 	* config/m68k/hp3bsd.h: Likewise.
+ 	* config/m68k/hp3bsd44.h: Likewise.
+ 	* config/m68k/linux-aout.h: Likewise.
+ 	* config/m68k/m68k-aout.h: Likewise.
+ 	* config/m68k/mot3300.h: Likewise.
+ 	* config/m68k/netbsd.h: Likewise.
+ 	* config/m68k/openbsd.h: Likewise.
+ 	* config/m68k/pbb.h: Likewise.
+ 	* config/m68k/plexus.h: Likewise.
+ 	* config/m68k/sun2.h: Likewise.
+ 	* config/m68k/sun3.h: Likewise.
+ 	* config/m68k/tower-as.h: Likewise.
+ 	* config/m68k/vxm68k.h: Likewise.
+ 	* config/m88k/aout-dbx.h: Likewise.
+ 	* config/m88k/m88k-aout.h: Likewise.
+ 	* config/mcore/mcore-elf.h: Likewise.
+ 	* config/mcore/mcore-pe.h: Likewise.
+ 	* config/mips/elf.h: Likewise.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/iris5gas.h: Likewise.
+ 	* config/mips/iris6.h: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mips/sni-gas.h: Likewise.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/ns32k/netbsd.h: Likewise.
+ 	* config/pa/pa64-hpux.h: Likewise.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 	* config/rs6000/xcoff.h: Likewise.
+ 	* config/sh/coff.h: Likewise.
+ 	* config/sh/elf.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 	* config/sparc/liteelf.h: Likewise.
+ 	* config/sparc/netbsd.h: Likewise.
+ 	* config/sparc/openbsd.h: Likewise.
+ 	* config/sparc/pbd.h: Likewise.
+ 	* config/sparc/sp64-elf.h: Likewise.
+ 	* config/sparc/sp86x-elf.h: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 	* config/vax/vaxv.h: Likewise.
+ 
+ 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
+ 
+ 	* h8300.c (shift_alg_hi): Various tweaks to improve performance
+ 	of HImode shifts.
+ 	(get_shift_alg): Corresponding changes.
+ 
+ 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
+ 
+ 2002-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (enum block_op_methods): New.
+ 	(emit_block_move): Update prototype.
+ 	* expr.c (block_move_libcall_safe_for_call_parm): New.
+ 	(emit_block_move_via_loop): New.
+ 	(emit_block_move): Use them.  New argument METHOD.
+ 	(emit_push_insn): Always respect the given alignment.
+ 	(expand_assignment): Update call to emit_block_move.
+ 	(store_expr, store_field, expand_expr): Likewise.
+ 	* builtins.c (expand_builtin_apply): Likewise.
+ 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
+ 	* function.c (expand_function_end): Likewise.
+ 	* config/sh/sh.c (sh_initialize_trampoline): Likewise.
+ 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
+ 	* calls.c (expand_call, emit_library_call_value_1): Likewise.
+ 	(save_fixed_argument_area): Use emit_block_move with
+ 	BLOCK_OP_CALL_PARM instead of move_by_pieces.
+ 	(restore_fixed_argument_area): Likewise.
+ 	(store_one_arg): Fix alignment parameter to emit_push_insn.
+ 
+ 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* install.texi (hppa64-hp-hpux11*): Document installation procedure.
+ 
+ 2002-08-29  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
+ 	NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
+ 	(PREDICATE_CODES): Include new predicates.
+ 	(RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
+ 	(TARGET_SWITCHES):  Add strict-align.
+ 	(TARGET_STRICT_ALIGN): New.
+ 	(MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
+ 	* config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
+ 	Define.
+ 	(LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
+ 	v850_muldi3.
+ 	* config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
+ 	L_callt_save_r2_r31, L_return_r2_r31,
+ 	L_save_all_interrupt): Change addi to add.
+ 	(L_save_interrupt, L_return_interrupt): Rework.
+ 	(__return_r31):  Correct .size directive.
+ 	(mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
+ 	(v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
+ 	New routines.
+ 	* config/v850/v850.c (expand_prologue): Call
+ 	gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
+ 	gen_callt_return_interrupt and gen_callt_save_all_interrupt.
+ 	(reg_or_int9_operand): New predicate.
+ 	(reg_or_const_operand): New routine.
+ 	* config/v850/v850.md (return_interrupt): Changed from
+ 	restore_interrupt.
+ 	(callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
+ 	(callt_save_interrupt): Change save sequence.
+ 	(callt_return_interrupt): New.
+ 	(save_interrupt): Don't use runtime function for LONG_CALLS
+ 	and TARGET_PROLOG_FUNCTION.
+ 	(save_all_interrupt): Likewise.
+ 	(mulsi3): Use new predicate.
+ 	(moviscc): Disallow some combination of constants.
+ 	Fix define_split for sasf insns, so that it will not generate bad
+ 	code if operand0 and operand5 are the same.
+ 	* config/v850/v850-protos.h: Prototype new predicates.
+ 
+ 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (processor_target_table): Add 405f.
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
+ 
+ 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c (builtin_define_type_precision): New function.
+ 	(cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
+ 	wchar_t is unsigned in C++.
+ 	* doc/cpp.texi (Common Predefined Macros): Document
+ 	__WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
+ 	__INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
+ 	__DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
+ 
+ 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
+ 
+ 	* doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
+ 	section.  Mention that it is enabled by -Wall.
+ 	(-Wall): Mention that there can be language-specific warnings as well.
+ 	(-Wctor-dtor-privacy): Mention that it is enabled by default.
+ 	(-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
+ 
+ Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
+ 	if it is ever live.
+ 
+ 	* sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
+ 	attribute for SHCOMPACT.
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
+ 	appropriately.
+ 	(FUNCTION_BOUNDARY): Specify only the minimum alignment required
+ 	by the ABI.
+ 
+ 	* sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
+ 
+ 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (mips*-*-netbsd*): Set target_cpu_default to
+ 	"MASK_GAS|MASK_ABICALLS".
+ 	* config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
+ 	(TARGET_DEFAULT): Remove.
+ 	(MACHINE_TYPE): Undefine before defining.
+ 	(DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
+ 
+ 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (warn_abi): New variable.
+ 	* c-common.h (warn_abi): Likewise.
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
+ 	(c_common_decode_option): Handle it.
+ 	* doc/invoke.texi: Document -Wabi.
+ 
+ Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* c-common.c (warn_undeclared_selector): New variable.
+ 	* c-common.h (warn_undeclared_selector): Idem.
+ 	* c-opts.c (c_common_decode_option): Set warn_undeclared_selector
+ 	to on when -Wundeclared-selector is found.
+ 	(COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
+ 	* objc/objc-act.c (build_selector_expr): If
+ 	warn_undeclared_selector is set, check that the selector has
+ 	already been defined, and emit a warning if not.
+ 
+ 2002-08-27  Nick Clifton  <nickc@redhat.com>
+ 	    Catherine Moore  <clm@redhat.com>
+ 	    Jim Wilson  <wilson@cygnus.com>
+ 
+ 	* config.gcc: Add v850e-*-* target.
+ 	Add --with-cpu= support for v850.
+ 	* config/v850/lib1funcs.asm: Add v850e callt functions.
+ 	* config/v850/v850.h: Add support for v850e target.
+ 	* config/v850/v850.c: Add functions to support v850e target.
+ 	* config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
+ 	* config/v850/v850.md: Add patterns for v850e instructions.
+ 	* doc/invoke.texi: Document new v850e command line switches.
+ 
+ Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 			  Aldy Hernandez <aldyh at redhat dot com>
+ 
+ 	* doc/tm.texi: Applied numerous fixes to the automaton based
+ 	scheduler descrition.
+ 
+ Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Handle variable sized objects.
+ 
+ Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
+ 
+ Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
+ 
+ Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Properly compute word size of the analyzed object.
+ 
+ Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
+ 	mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
+ 	accordingly.
+ 	(attribute insn_class): Provide default definitions based on type.
+ 	Remove all insn-specific settings.
+ 	(various function units): Remove old SH4 scheduling.
+ 	(branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
+ 	New attributes.  Set them where appropriate.
+ 	(cpu unit FS): Don't define / use.
+ 	(F3, load_store): New cpu units.
+ 	(F01): New reservation.
+ 	(all insn_reservations): Make dependent on sh4 pipeline model.
+ 	Fix latencies.
+ 	(nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
+ 	(sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
+ 	(mt insn_reservation): Use type mt_group.
+ 	(insn_reservation load_store): Split into sh4_load, sh4_load_si,
+ 	sh4_fload and sh4_store.
+ 	(insn_reservation branch_zero and branch): Replace with sh4_branch.
+ 	(insn_reservation branch_far): Replace with sh4_return.
+ 	(insn_reservation return_from_exp): Rename to:
+ 	(sh4_return_from_exp).  Change to be just d_lock*5.
+ 	(insn_reservation lds_to_pr): Rename to:
+ 	(sh4_lds_to_pr).  Change to be just d_lock*2.
+ 	(insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
+ 	d_lock*2.
+ 	(insn_reservation prload_mem): Rename to:
+ 	(sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
+ 	(insn_reservation fpscr_store): Rename to:
+ 	(fpscr_load).  Change to d_lock,nothing,F1*3.
+ 	(insn_reservation fpscr_store_mem): Rename to:
+ 	(fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
+ 	(insn_reservation multi): Change to
+ 	d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
+ 	(insn_reservation fp_arith): Change to issue,F01,F2.
+ 	(insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
+ 	(insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
+ 	(insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
+ 	(insn_reservation fp_double_cmp): Change to
+ 	d_lock,(d_lock+F01),F1+F2,F2.
+ 	(insn_reservation dp_div): Change to
+ 	issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
+ 	* sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
+ 	(sh_adjust_cost, SHcompact): Differentiate between different
+ 	kinds of dependencies.  Drop factor of ten for superscalar.
+ 	Use new instruction types.  Add new exception rules.
+ 
+ 	* sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
+ 
+ 	* sh.md (mperm_w): Add DONE.
+ 
+ 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* longlong.h: Import current PowerPC defintion from GMP-4.1.
+ 
+ 	* config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
+ 
+ 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
+ 
+ Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (MAX_FIXED_MODE_SIZE): Define.
+ 
+ 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
+ 
+ 	* doc/cpp.texi (Common Predefined Macros): Don't mess with table
+ 	delimiter.
+ 
+ 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c (cpp_define_data_format): New function.
+ 	(cb_register_builtins): Call it.
+ 
+ 	* doc/cpp.texi (Common Predefined Macros): Document
+ 	__TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
+ 	__TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
+ 	__TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
+ 	__TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
+ 	__TARGET_USES_VAX_H_FLOAT__.
+ 
+ 2002-08-26  Ziemowit Laski <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (get_super_receiver): If inside a class method
+ 	of a category, cast the receiver to 'id' before accessing the 'isa'
+ 	field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
+ 
+ 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_function_prologue,
+ 	s390_function_epilogue): Remove.
+ 	config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
+ 	TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
+ 
+ 	config/s390/s390.c (s390_machine_dependent_recorg): New function.
+ 	config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
+ 	config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
+ 	config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
+ 	to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
+ 
+ 	config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
+ 	assume BASE_REGISTER and RETURN_REGNUM need to be saved.
+ 	(s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
+ 	function is not a leaf function.  Use save_gprs and restore_gprs.
+ 	(s390_emit_epilogue): Likewise.
+ 	(save_gprs, restore_gprs): New functions.
+ 	(struct s390_frame): Remove return_reg_saved_p member.
+ 	(save_fprs_p): Remove.
+ 	(s390_optimize_prolog): New function.
+ 	(s390_legitimate_reload_constant): Remove now unnecessary check.
+ 
+ 	(s390_function_count): Remove.
+ 	(s390_output_symbolic_const): Replace s390_function_count by
+ 	current_function_funcdef_no.
+ 	(s390_output_constant_pool): Likewise.
+ 
+ 	(legitimize_pic_address): Use regs_ever_live to track PIC register
+ 	instead of current_function_uses_pic_offset_table.
+ 	(s390_emit_prologue): Likewise.
+ 	config/s390/s390.md ("call", "call_value"): Likewise.
+ 
+ 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (find_opt): Don't complain about wrong languages
+ 	here.  Return exact matches even for wrong language.
+ 	(c_common_decode_option): Complain about wrong languages
+ 	here.
+ 
+ 2002-08-24  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* function.h (struct function): Add flag
+ 	all_throwers_are_sibcalls.
+ 	* except.c (set_nothrow_function_flags): Replaces
+ 	nothrow_function_p. Set new flag.
+ 	* except.h (set_nothrow_function_flags): Replaces
+ 	nothrow_function_p.
+ 	* dwarf2out.c (struct dw_fde_struct): Add flag
+ 	all_throwers_are_sibcalls.
+ 	(output_call_frame_info): Test it.
+ 	(dwarf2out_begin_prologue) Propagate it from cfun to
+ 	dw_fde_struct.
+ 	* toplev.c (rest_of_compilation): Update calls to
+ 	nothrow_function_p.
+ 
+ 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ggc-page.c (compute_inverse): Short circuit calculation for
+ 	object sizes larger than half a page.
+ 
+ 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
+ 	DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
+ 	default.
+ 	(rs6000_elf_unique_section): Likewise.
+ 
+ 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ns32k.c (ns32k_globalize_label): Delete.
+ 	* ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
+ 
+ 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
+ 	for loading delta with num_insns_constant_wide.  Calculate
+ 	delta_low, delta_high without using a conditional.
+ 
+ 2002-08-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
+ 	* c-common.def: Adjust.
+ 	* c-dump.c (c_dump_tree): Adjust.
+ 	* c-semantics.c (genrtl_return_stmt): Adjust.
+ 	* c-pretty-print.c (pp_c_statement): Adjust.
+ 	* tree-inline.c (copy_body_r): Adjust.
+ 
+ 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ggc-page.c: Avoid division in ggc_set_mark.
+ 	(DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
+ 	compute_inverse): New.
+ 	(ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
+ 	(init_ggc): Initialize inverse_table.
+ 
+ 2002-08-22  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/install.texi (Configuration): Document --datadir.
+ 
+ 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
+ 
+ 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* gengtype-lex.l (ID): Allow underscore as first character.
+ 
+ 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
+ 	function.
+ 	(rs6000_xcoff_asm_named_section): Rename.
+ 	* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
+ 
+ 2002-08-21  Tom Tromey  <tromey@redhat.com>
+ 
+ 	For PR java/6005 and PR java/7611:
+ 	* fold-const.c (fold_truthop): Use can_use_bit_fields_p.
+ 	(fold): Likewise.
+ 	* langhooks.c (lhd_can_use_bit_fields_p): New function.
+ 	* langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
+ 	(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
+ 	(LANG_HOOKS_INITIALIZER): Use it.
+ 	* langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
+ 	field.
+ 
+ 2002-08-21  Stan Shebs  <shebs@apple.com>
+ 
+ 	* tree.c (finish_vector_type): Fix a typo in a comment.
+ 	* Makefile.in: Fix "the the" stutters in comments.
+ 	* genautomata.c: Ditto.
+ 	* ifcvt.c: Ditto.
+ 	* regrename.c: Ditto.
+ 	* config/alpha/alpha.c: Ditto.
+ 	* config/alpha/vms-crt0-64.c: Ditto.
+ 	* config/alpha/vms-crt0.c: Ditto.
+ 	* config/alpha/vms-psxcrt0-64.c: Ditto.
+ 	* config/alpha/vms-psxcrt0.c: Ditto.
+ 	* config/d30v/d30v.h: Ditto.
+ 	* config/fr30/fr30.h: Ditto.
+ 	* config/rs6000/rs6000.c: Ditto.
+ 	* config/stormy16/stormy16.h: Ditto.
+ 	* doc/md.texi: Ditto.
+ 
+ 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
+ 
+ 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Make invalid combinations with long,
+ 	short, signed or unsigned into hard errors.  Fixes PR c/4319.
+ 	Also make duplicate modifiers such as "short short" into hard
+ 	errors.
+ 
+ 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
+ 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
+ 	to the actual end.  Add '@end table' and '@table @code'.
+ 
+ 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/tm.texi (Label Output): Add missing '@end deftypefn'.
+ 
+ 	* unroll.c (biv_total_increment): Don't try to compute the total
+ 	increment for FP BIVs.
+ 
+ 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
+ 	* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
+ 	ASM_OUTPUT_ALIGNED_BSS): Use target hook.
+ 	* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
+ 	* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* arm.c (aof_globalize_label): New function.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
+ 	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
+ 	* c4x.c (c4x_globalize_label): New function.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
+ 	* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
+ 	* darwin-protos.h (darwin_globalize_label): Declare.
+ 	* darwin.c (darwin_globalize_label): New function.
+ 	* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
+ 	(ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
+ 	* dsp16xx.c (asm_output_common): Use target hook.
+ 	* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ 	* frv.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* i370.c (i370_globalize_label): New function.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
+ 	* i370.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	* i386.c (ix86_asm_file_end): Use target hook.
+ 	* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
+ 	* ia64.c (ia64_asm_output_external): Likewise.
+ 	* ia64/sysv4.h: Update comment.
+ 	* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
+ 	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
+ 	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
+ 	* mmix-protos.h (mmix_asm_globalize_label): Delete.
+ 	* mmix.c (mmix_asm_globalize_label): Likewise.
+ 	* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* ns32k.c (ns32k_globalize_label): New function.
+ 	* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
+ 	(ASM_GLOBALIZE_LABEL): Delete.
+ 	* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
+ 	* pa.c (pa_globalize_label): New function.
+ 	* pa.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
+ 	* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Undef.
+ 	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
+ 	* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* v850.c (v850_output_aligned_bss): Use target hook.
+ 	* vax.c (vms_globalize_label): New function.
+ 	(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
+ 	* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 	* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
+ 	* doc/tm.texi: Update docs.
+ 	* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
+ 	target hook.
+ 	* final.c (output_alternate_entry_point): Likewise.
+ 	* hooks.c (hook_FILEptr_constcharptr_void): New function.
+ 	* hooks.h (hook_FILEptr_constcharptr_void): Declare.
+ 	* output.h (assemble_global): Delete.
+ 	(default_globalize_label): Declare.
+ 	* system.h (ASM_GLOBALIZE_LABEL): Poison.
+ 	* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
+ 	(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
+ 	* target.h (gcc_target): Add globalize_label member.
+ 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
+ 	globalize_decl): Use target hook.
+ 	(assemble_global): Delete.
+ 	(default_globalize_label): New function.
+ 
+ 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
+ 
+ 2002-08-20  Devang Patel  <dpatel@apple.com>
+ 	* tree.c (get_qualified_type): Add TYPE_CONTEXT check.
+ 
+ 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arc.c (output_shift): Use stdio instead of asm_fprintf.
+ 	* arm.c (thumb_output_function_prologue): Likewise.
+ 	* avr.c (print_operand): Likewise.
+ 	* c4x.c (c4x_print_operand): Likewise.
+ 	* c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
+ 	ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
+ 	* cris.c (cris_target_asm_function_prologue,
+ 	cris_asm_output_mi_thunk): Likewise.
+ 	* h8300.c (print_operand): Likewise.
+ 	* h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	* ip2k.c (print_operand): Likewise.  Fix format specifier.
+ 	* m68hc11.c (asm_print_register, print_operand,
+ 	print_operand_address): Use stdio instead of asm_fprintf.
+ 	(print_operand_address): Fix format specifier.
+ 	* m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
+ 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
+ 	asm_fprintf.
+ 	* m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	* m68k.c (m68k_output_function_prologue,
+ 	m68k_output_function_epilogue, print_operand): Likewise.
+ 	* mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
+ 	Likewise.  Fix format specifier.
+ 	* mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	* mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	* v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 
+ 2002-08-15  Eric Christopher  <echristo@redhat.com>
+ 	    Jeff Knaggs  <jknaggs@redhat.com>
+ 
+ 	* config.gcc (mipsisa64sr71k-elf): New target.
+ 	* config/mips/sr71k.md: New file.
+ 	* config/mips/mips.md: Use it.
+ 	(rot*): Add sr71k specifics.
+ 	* config/mips/t-sr71k: New file.
+ 	* config/mips/mips.h (sr71k): New cpu.
+ 	(TARGET_SR71K): Use it.
+ 	(TUNE_SR71K): Ditto.
+ 	(GENERATE_BRANCHLIKELY): Ditto.
+ 	(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
+ 	ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
+ 	* config/mips/mips.c (sr71k): New cpu.
+ 	(mips_use_dfa_pipeline_interface): Use.
+ 
+ 2002-08-15  Eric Christopher  <echristo@redhat.com>
+ 	    Richard Sandiford <rsandifo@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 	    Graham Stott    <grahams@redhat.com>
+ 	    Michael Meissner  <meissner@redhat.com>
+ 	    Gavin Romig-Koch  <gavin@redhat.com>
+ 	    Ken Raeburn  <raeburn@cygnus.com>
+ 	    Alexandre Oliva <aoliva@redhat.com>
+ 
+ 	* config.gcc (mips64vr-elf): New target.
+ 	* config/mips/5400.md: New file.
+ 	* config/mips/5500.md: Ditto.
+ 	* config/mips/mips.md: Use them.
+ 	(frsqrt): New.
+ 	* config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
+ 	cpus.
+ 	(mips_issue_rate): Use them.
+ 	(mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
+ 	(TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
+ 	* config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
+ 	cpus.
+ 	(TARGET_MIPSx): Use them.
+ 	(TUNE_MIPSx): Ditto.
+ 	(GETNATE_MULT3_SI): Ditto.
+ 	(ISA_HAS_BRANCHLIKELY): Ditto.
+ 	(ISA_HAS_CONDMOVE): Ditto.
+ 	(ISA_HAS_NMADD_NMSUB): Ditto.
+ 	(ISA_HAS_MULHI): New. Ditto.
+ 	(ISA_HAS_MULS): Ditto.
+ 	(ISA_HAS_MSAC): Ditto.
+ 	(ISA_HAS_MACC): Ditto.
+ 	(ISA_HAS_ROTR_SI): Ditto.
+ 	(ISA_HAS_ROTR_DI): Ditto.
+ 	(RTX_COSTS): Use.
+ 
+ 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
+ 	at head.
+ 	(remove_dup_nonsys_dirs): New function.
+ 	(remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
+ 	(merge_include_chains): Remove non-system include directories from
+ 	quote and bracket include chains when they duplicate equivalent system
+ 	directories.
+ 	* doc/cpp.texi (-I): Update.
+ 	* doc/cppopts.texi (-I): Update.
+ 	* doc/install.texi (--with-local-prefix): Further document usage of
+ 	this option.
+ 	* doc/invoke.texi (-I): Update.
+ 
+ 2002-08-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
+ 	(emit_block_move): Split out subroutines.
+ 	(emit_block_move_via_movstr): New.
+ 	(emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
+ 	(emit_block_move_libcall_fn): New.  Construct function prototype for
+ 	bcopy as well.
+ 	(clear_storage): Split out subroutines.
+ 	(clear_storage_via_clrstr): New.
+ 	(clear_storage_via_libcall): New. Emit bzero as a normal call also.
+ 	(clear_storage_libcall_fn): New.  Construct function prototype for
+ 	bzero as well.
+ 	(emit_push_insn): Use emit_block_move.
+ 	(expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
+ 	(store_constructor): Likewise.
+ 
+ 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (building_objc_message_expr): Rename to
+ 	current_objc_message_selector.
+ 
+ 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (build_ivar_chain): Remove.
+ 	(objc_copy_list): Likewise.
+ 	(get_class_ivars): Inline call to removed build_ivar_chain
+ 	function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
+ 	slot; use that slot (rather than CLASS_IVARS) when accessing
+ 	ivars for base classes.  Call copy_list and chainon instead of
+ 	objc_copy_list.
+ 	(build_private_template): Call get_class_ivars instead of
+ 	build_ivar_chain.
+ 	(start_class): Allocate room for the CLASS_OWN_IVARS slot.
+ 	(continue_class): Call get_class_ivars instead of
+ 	build_ivar_chain.
+ 	(encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
+ 	of DECL_BIT_FIELD (which may have been cleared).
+ 	* objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
+ 
+ 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genautomata.c (output_translate_vect, output_state_ainsn_table,
+ 	output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
+ 	in output file.
+ 	(output_internal_min_issue_delay_func): Initialize variable in
+ 	output file.
+ 
+ 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
+ 	(stage2_build, stage3_build, stage4_build): Likewise, to CC.
+ 
+ 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
+ 	    Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* machmode.h (SCALAR_INT_MODE_P): New macro to test for
+ 	scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
+ 	* explow.c (trunc_int_for_mode): Abort when the mode is not
+ 	a scaler integer mode.
+ 	* combine.c (expand_compound_operation): Don't expand Vector
+ 	or Complex modes into shifts.
+ 	(expand_field_assignment): Don't do bitwise arithmatic and
+ 	shifts on Vector or Complex modes.
+ 	(simplify_comparison): Don't call trunc_int_for_mode
+ 	for VOIDmode.
+ 	* recog.c (general_operand): Likewise.
+ 	(immediate_operand): Likewise.
+ 	(nonmemory_operand): Likewise.
+ 
+ 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
+ 	multi-instruction SImode constant.  Add REG_EQUAL note.
+ 	* config/rs6000/rs6000.md (movsi splitter): Use
+ 	rs6000_emit_set_const.
+ 
+ 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree-inline.c (initialize_inlined_parameters): Wrap variable in
+ 	the macro test controlling its use.
+ 
+ 2002-08-18  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
+ 	crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
+ 	gnu_ld=yes.
+ 	(alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
+ 	i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
+ 	s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
+ 	xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
+ 	here.
+ 	(cris-*-linux*): Remove setting thread_file here.
+ 
+ 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7602
+ 	* cppinit.c (path_include): Treat the system environment
+ 	variables as being cxx_aware.
+ 
+ 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (flexible_array_type_p): New function.
+ 	(grokdeclarator, finish_struct): Use it.
+ 	* doc/extend.texi: Document constraints on use of structures with
+ 	flexible array members.
+ 
+ 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
+ 	config/mips/t-r3900 (MULTILIB_MATCHES): Define.
+ 	* config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
+ 
+ 2002-08-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	* c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
+ 	for ObjC with -fnext-runtime.
+ 	* doc/cpp.texi: Document it.
+ 
+ 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Final installation): Replace links to individual
+ 	build status pages with a link to a common page that lists them all.
+ 
+ 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
+ 
+ 	* doc/invoke.texi: Fix typo.
+ 
+ 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
+ 
+ 2002-08-16  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree-inline.c: Add includes for Java inliner.
+ 	(remap_decl): Don't handle anonymous types for Java.
+ 	(remap_block): Add handling for Java trees.
+ 	(copy_scope_stmt): Conditionalize for non-Java use only.
+ 	(copy_body_r): Handle Java trees.  Add handling for
+ 	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
+ 	(initialize_inlined_parameters):  Handle Java trees.
+ 	(declare_return_variable): Likewise.
+ 	(expand_call_inline): Handle Java trees.
+ 	(walk_tree): Likewise.
+ 	(copy_tree_r): Don't handle SCOPE_STMTs for Java.
+ 	(add_stmt_to_compound): New function.
+ 
+ 2002-08-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (LOOSE_WARN): Remove -fno-common.
+ 	(NOCOMMON_FLAG): New substitution point.
+ 	(GCC_WARN_CFLAGS): Include it.
+ 	* configure.in (ac_checking): Set nocommon_flag.
+ 	(nocommon_flag): New substitution point.
+ 
+ 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-tree.h (skip_evaluation): Move declaration...
+ 	* c-common.h: ... here.
+ 	* c-typeck.c (build_external_ref): Don't assemble_external nor
+ 	mark a tree as used if skip_evaluation is set.
+ 	* c-parse.in (typeof): New non-terminal to set skip_evaluation
+ 	around TYPEOF.
+ 	(typespec_nonreserved_nonattr): Use it.
+ 
+ 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
+ 	(xcoff_debug_hooks): Update end_prologue.
+ 	* debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
+ 	* debug.h (end_prologue): Add file arg.
+ 	(end_epilogue): Add line and file args.
+ 	(dwarf2out_end_epilogue): Add line and file args.
+ 	(vmsdbgout_after_prologue): Remove.
+ 	* dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
+ 	(dwarf2_debug_hooks): Update end_prologue.
+ 	* dwarfout.c (dwarfout_end_epilogue): Add line and file args.
+ 	(dwarfout_end_prologue): Add file arg.
+ 	* final.c (vmsdbgout_after_prologue): Remove
+ 	(final_end_function): Update end_epilogue call.
+ 	(final_scan_insn): Update end_prologue call.
+ 	* sdbout.c (sdbout_end_epilogue): Add line and file args.
+ 	(sdbout_end_prologue): Add file arg.
+ 	(sdb_debug_hooks): Update end_prologue.
+ 	(sdb_begin_prologue): Update sdbout_end_prologue call.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
+ 	vmsdbgout_end_function.
+ 	(vmsdbgout_end_prologue): New function renamed from
+ 	vmsdbgout_after_prologue. Call vmsdbgout_source_line.
+ 	(vmsdbgout_end_function): New function.
+ 	(vmsdbgout_end_epilogue): Add line and file args. Call
+ 	vmsdbgout_source_line.
+ 	(write_pclines): Write only valid line numbers.
+ 	(write_srccorr): Don't write source correlation records if 0 lines.
+ 	* xcoffout.c (xcoffout_end_epilogue): Add line and file args.
+ 
+ 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
+ 	(_Unwind_Internal_Ptr): 32 bit version for use in
+ 	read_encoded_value_with_base.
+ 	* gcc/unwind-pe.h (read_encoded_value_with_base): Use
+ 	_Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
+ 	right size.
+ 
+ 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
+ 	signed/unsigned warnings.
+ 
+ 	* regclass.c (init_reg_sets_1, choose_hard_reg_mode,
+ 	record_reg_classes): Likewise.
+ 
+ 	* reload.c (reload_inner_reg_of_subreg, push_reload,
+ 	find_reloads_address_1): Likewise.
+ 
+ 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (output_mi_thunk): Return to function section on
+ 	TARGET_ELF.
+ 
+ 	* rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
+ 
+ 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimize_address): Optimize loading
+ 	of large displacements.
+ 
+ 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/alpha-protos.h: Update.
+ 
+ 	* config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
+ 	(alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
+ 	(alpha_linkage_symbol_p): New static function.
+ 	(print_operand_address): Print linkage operand.
+ 
+ 	(alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
+ 	variables.
+ 	(reloc_kind): New enum.
+ 	(struct alpha_funcs): New struct.
+ 	(struct alpha_links): Add reloc_kind field. Rename links_kind field.
+ 
+ 	(alpha_need_linkage): Rewrite.
+ 	(alpha_use_linkage): New global function.
+ 	(alpha_write_linkage): Rewrite and make static.
+ 	(alpha_write_one_linkage): Rewrite
+ 
+ 	(alpha_start_function): Remove procedure descriptor output.
+ 	(alpha_end_function): Write linkages at end of each function.
+ 
+ 	* config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
+ 	(call_vms_1, call_value_vms_1): Rewrite.
+ 
+ 	* config/alpha/vms.h (ASM_FILE_END): Remove.
+ 
+ 2002-08-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ggc-page.c (RTL_SIZE): New.
+ 	(extra_order_size_table): Add specializations for 2 and 10 rtl slots.
+ 	* rtl.def (BARRIER, NOTE): Pad to 9 slots.
+ 
+ 2002-08-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c: Include target.h.
+ 	* Makefile.in (calls.o): Update.
+ 
+ 	* config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
+ 	* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
+ 
+ 2002-08-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (LOOSE_WARN): Add -fno-common.
+ 	* c-common.h (constant_string_class_name): Add missing extern.
+ 
+ 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7358
+ 	* c-opts.c (check_deps_environment_vars): Ignore main file
+ 	for SUNPRO_DEPENDENCIES.
+ 	* cppfiles.c (stack_include_file): Ignore main file if
+ 	appropriate.
+ 	* cpplib.h (struct cpp_options): New member in deps.
+ 	* doc/cppenv.texi: Update.
+ 
+ 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7526
+ 	* cpplib.c (run_directive): Kludge so _Pragma dependency works.
+ 
+ 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-a): Remove documentation.
+ 	(-fprofile-arcs): Remove reference to -a, -ax options.
+ 	* doc/gcov.texi (Gcov Data Files): Data might be merged.
+ 
+ 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	Fix PR/7566
+ 	* c-semantics.c (genrtl_case_label): Don't (mis)use
+ 	warning_with_decl.
+ 
+ 2002-08-14  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* explow.c (emit_stack_restore):  Emit memory clobbers
+ 	preceding the stack pop, to prevent the scheduler from
+ 	moving refs to variable arrays below this pop.
+ 	* reload1.c (reload):  Preserve these clobbers for sched2.
+ 	* doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
+ 
+ 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_post_options): Correct test.
+ 
+ 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
+ 	order in call to fprintf.
+ 
+ 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
+ 
+ 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): Handle constraint letters marked by
+ 	EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
+ 	(alternative_allows_memconst): Likewise.
+ 	* reload1.c (maybe_fix_stack_asms): Likewise.
+ 	* recog.c (asm_operand_ok, preprocess_constraints,
+ 	constrain_operands): Likewise.
+ 	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
+ 	* local-alloc.c (block_alloc, requires_inout): Likewise.
+ 	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
+ 
+ 	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
+ 	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
+ 	* doc/tm.texi: Document these two new target macros.
+ 
+ 	* config/s390/s390.c (s390_expand_plus_operand): Accept already
+ 	valid operands.
+ 	(q_constraint): New function.
+ 	config/s390/s390-protos.h (q_constraint): Declare it.
+ 	config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
+ 	(EXTRA_MEMORY_CONSTRAINT): New macro.
+ 
+ 	* config/s390/s390.md: Throughout the machine description,
+ 	replace all instances of the constraint combinations 'Qo'
+ 	or 'oQ' with simply 'Q'.
+ 
+ 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
+ 	* config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
+ 	(LIBGCC2_CFLAGS): Compile with -mrelax.
+ 
+ 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* doc/invoke.texi: Document -minmax for 68HC12.
+ 
+ 	* config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
+ 	("uminqi3"): Likewise.
+ 	("uminhi3", "umaxhi3"): Likewise.
+ 
+ 	* config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
+ 	(TARGET_MIN_MAX): Define.
+ 	(TARGET_SWITCHES): New option -minmax/-mnominmax.
+ 
+ 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
+ 	(MULTILIB_OPTIONS): Must also generate for -mlong-calls.
+ 
+ 	* config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
+ 	(ret, declare, farsym): New gas macros.
+ 	(__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
+ 	___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
+ 	and declare the symbol far when compiled with -mlong-calls.
+ 	(__far_trampoline): New for 68HC12 trampoline code to invoke a
+ 	far handler using jsr/bsr.
+ 
+ 	* config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
+ 	(jsr): New macro to transform a 'jsr' into a 'call'.
+ 
+ 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* doc/invoke.texi: Document -mlong-calls for 68HC12.
+ 
+ 	* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
+ 	-mlong-calls is specified.
+ 	(ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
+ 	assembler directives.
+ 	(TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
+ 	(TARGET_SWITCHES): Add -mlong-calls options.
+ 	(current_function_far): Declare.
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
+ 	into account the page register saved on the stack.
+ 	(m68hc11_override_options): Take into account -mlong-calls option.
+ 	(m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
+ 
+ 	* config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
+ 	if the function is going to be in 68HC12 banked memory (-mlong-calls).
+ 	("*return_16bit"): Likewise.
+ 	("*return_void"): Likewise.
+ 	("call", "call_value"): Use call for a far function call.
+ 
+ 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* toplev.c (parse_options_and_default_flags): Don't call
+ 	post_options here.
+ 	(general_init): Initialize GC, pools and tree hash here,
+ 	instead of lang_independent_init.
+ 	(lang_independent_init): Rename backend_init.
+ 	(do_compile): Call post_options hook; exit early if there
+ 	have been errors after switch processing.
+ 	(toplev_main): Update.
+ 
+ 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-pretty-print.h: Guard against multiple inclusion.
+ 	Robustify macros.
+ 	(pp_c_attributes): Declare.
+ 	* c-pretty-print.c (pp_c_attributes): New function.
+ 
+ 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68k.c (m68k_output_function_prologue,
+ 	m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
+ 	and NEWS/MOTOROLA.
+ 	* genattrtab.c: Remove dpx2 comment.
+ 	* libgcc2.c (__enable_execute_stack): Delete versions for
+ 	NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
+ 	sony_news/SYSTYPE_BSD.
+ 	* longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
+ 	__gmicro__, __i860__, __NeXT__ and __pyr__.
+ 	* rtl.h: Remove convex comment.
+ 	* varasm.c: Likewise.
+ 
+ 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-opts.c (lang_flags): Const-ify.
+ 	* ra-build.c (undef_table): Likewise.
+ 	* ra.c (eliminables): Likewise.
+ 
+ 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* tree.h: Guard against multiple inclusion.
+ 
+ 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* reload1.c (reload_cse_simplify): Before checking
+ 	REG_FUNCTION_VALUE_P, check REG_P.
+ 
+ 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
+ 
+ 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_init_options): Extra braces needed.
+ 
+ Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_init_builtins): Add PARAMS to declaration.
+ 	(sh_media_init_builtins, sh_expand_builtin): Likewise.
+ 	(sh_expand_unop_v2sf): Use PARAMS for variable declaration.
+ 	(sh_expand_binop_v2sf): Likewise.
+ 	* sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
+ 	(sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
+ 	(sh_initialize_trampoline): Likewise.
+ 
+ 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
+ 	new condition code modes.
+ 	s390.c (s390_match_ccmode_set): Handle those new CC modes.
+ 	(s390_select_ccmode): Likewise.
+ 	(s390_branch_condition_mask): Likewise.
+ 
+ 	* s390-protos.h (s390_tm_ccmode): Declare.
+ 	s390.c (s390_tm_ccmode): New function.
+ 	(s390_match_ccmode): Allow VOIDmode as REQ_MODE.
+ 
+ 	* s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
+ 	("*cmpsi_tm2"): Rename to "*tmsi_ext".
+ 	("*cmpqi_tm2"): Rename to "*tmqi_ext".
+ 
+ 	("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
+ 	"*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
+ 	"*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
+ 	("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
+ 	"*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
+ 
+ 	("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
+ 	"*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
+ 	"*cmpqi_ccs_0"): Remove, replace by ...
+ 	("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
+ 	"*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
+ 	"*tstqi", "*tstqi_cconly"): ... these new patterns.
+ 
+ 	("*cmpsidi_ccs"): Remove, replace by ...
+ 	("*cmpsi_ccs_sign"): ... this new pattern.
+ 	("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
+ 
+ 	("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
+ 	("*cli"): ... this new pattern.
+ 
+ 	("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
+ 	"*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
+ 	New patterns.
+ 	("adddi3_64"): Rename to "*adddi3_64".
+ 	("adddi3_31"): Replace by insn and splitter "*adddi3_31".
+ 	("adddi3"): Adapt expander.
+ 
+ 	("*addsi3_cc"): Allow "general_operand" for operand 2.
+ 	("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
+ 	"*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
+ 
+ 	("addhi3", "addqi3"): Remove, replace by ...
+ 	("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
+ 
+ 	("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
+ 	"*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
+ 	("subdi3"): Replace by insn and splitter "*subdi3_31".
+ 	("subdi3"): New expander.
+ 
+ 	("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
+ 
+ 	("subhi3", "subqi3"): Remove, replace by ...
+ 	("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
+ 
+ 	("*muldi3_sign"): New pattern.
+ 	("muldi3"): Do not clobber CC.
+ 	("mulsi3"): Likewise.
+ 	("mulsi_6432"): Likewise.
+ 
+ 2002-08-13  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
+ 	which can change CC0.
+ 
+ Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* gcse.c (adjust_libcall_notes): New function.
+ 	(do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
+ 
+ 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* libgcc2.c (L_bb): Remove unneeded #includes.
+ 	(__global_counters, __gthreads_active): Remove unused globals.
+ 	(__bb_exit_func): Merge counts into files rather than appending.
+ 	* Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
+ 	(ALL_CFLAGS): ... to here.
+ 
+ 2002-08-13  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/ip2k/ip2k.c (commands_in_file): Variable removed.
+ 	(function_epilogue): Don't calculate function size.
+ 	(ip2k_set_compare): Don't use lookup_const_double.
+ 	(asm_file_start): Initialization of commands_in_file removed.
+ 	(asm_file_end): Output of commands_in_file removed.
+ 
+ 	* config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
+ 	__INT_MAX__.
+ 
+ 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_init_options): Check option array is
+ 	sorted if checking enabled.
+ 
+ 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-pretty-print.c: #include "c-tree.h".
+ 	(pp_c_simple_type_specifier): Tweak.
+ 	(pp_c_storage_class_specifier): New.
+ 	(pp_c_function_specifier): Likewise.
+ 	(pp_c_declaration_specifiers): Likewise.
+ 	(pp_c_init_declarator): Likewise.
+ 	(pp_c_declaration): Likewise.
+ 	(pp_c_direct_declarator): Stub.
+ 	(pp_c_declarator): Likewise.
+ 	(pp_c_parameter_declaration): Likewise.
+ 
+ 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
+ 	handle_deferred_opts, sanitize_cpp_opts, defer_opt,
+ 	struct deferred_opt): New.
+ 	(COMMAND_LINE_OPTIONS): Add -M*.
+ 	(missing_arg): Update.
+ 	(c_common_decode_option): Handle -M*.
+ 	(c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
+ 	don't call cpp_post_options.
+ 	(c_common_finish, check_deps_environment_vars): Update.
+ 	* cppfiles.c (stack_include_file, handle_missing_header): Update.
+ 	* cpphash.h (CPP_PRINT_DEPS): Remove.
+ 	* cppinit.c: Don't include version.h.
+ 	(cpp_create_reader): Don't call deps_init.  Initialize
+ 	warn_long_long.
+ 	(cpp_read_main_file): Init deps if necessary.
+ 	(cpp_destroy): Conditionally free deps.
+ 	(cpp_finish): Update.
+ 	(no_tgt): Remove.
+ 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
+ 	(cpp_post_options): Rename post_options.
+ 	* cpplib.h (struct cpp_options): Remove some dependency options;
+ 	move others to a new structure.
+ 	(cpp_post_options): Remove.
+ 	(cpp_finish): Comment.
+ 	* fix-header.c (read_scan_file): Don't call cpp_post_options.
+ 
+ 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
+ 	("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
+ 	MMIX_rR_REGNUM as clobbered.
+ 	* config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
+ 
+ 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* diagnostic.h (output_formatted_scalar): Rename from
+ 	output_formatted_integer.
+ 	* diagnostic.def: Add DK_DEBUG.
+ 	* diagnostic.c (output_decimal): Adjust.
+ 	(output_long_decimal): Likewise.
+ 	(output_unsigned_decimal): Likewise.
+ 	(output_octal): Likewise.
+ 	(output_long_octal): Likewise.
+ 	(output_hexadecimal): Likewise.
+ 	(output_long_hexadecimal): Likewise.
+ 	* c-pretty-print.c (pp_c_type_specifier): New function.
+ 	(pp_c_specifier_qualifier_list): Likewise.
+ 	(pp_c_abstract_declarator): Likewise.
+ 	(pp_c_char): Replace pp_format_integer with pp_format_scalar.
+ 
+ 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/trouble.texi (Disappointments): Add static constructor and
+ 	destructor dependency information for AIX.
+ 
+ 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (struct printer): New from cppmain.c.
+ 	(cpp_reader): New member.
+ 	* cppmain.c (struct printer): Move to cpphash.h.
+ 	(options, print): Remove.
+ 	(account_for_newlines, print_line, maybe_print_line,
+ 	cpp_preprocess_file, setup_callbacks, scan_translation_unit,
+ 	scan_translation_unit_trad, cb_line_change, cb_ident,
+ 	cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
+ 	cb_def_pragma): Make reentrant.
+ 
+ 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* real.c (ieee_64): Always define.
+ 	(ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
+ 	(dec_h): Not used yet, hide it.
+ 	(emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
+ 	macro controlling use.
+ 	(TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
+ 
+ Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (tablejump): Sign extend the operand.
+ 	* i386.c (classify_argument): Fix missed case from previous patch.
+ 
+ 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
+ 	to c-copts.c.
+ 	(warn_multichar): Die.
+ 	(cb_register_builtins): Export.
+ 	* c-common.h (warn_multichar, preprocess_file): Remove.
+ 	(cb_register_builtins): New.
+ 	* c-lang.c (c_init): Remove.
+ 	(LANG_HOOKS_INIT): Use c_objc_common_init.
+ 	* c-lex.c (init_c_lex): Don't canonicalize filename.
+ 	* c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
+ 	(preprocess_file): Make static.  Update for cpplib.
+ 	(c_common_decode_option): Remove warn_multichar.  Use in_fname.
+ 	(c_common_post_options): Set some cpp options here.
+ 	(c_common_init): Move from c-common.c.
+ 	* cppinit.c (cpp_post_options): Don't canonicalize in_fname.
+ 	* cpplib.h (struct cpp_options): Remove in_fname.
+ 	(cpp_preprocess_file): Update.
+ 	* cppmain.c (cpp_preprocess_file): Update for new prototypes.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config.gcc (mips*-*-netbsd*): Include ${tm_file}.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
+ 	backslash in comment preceeding macro definition.
+ 	* i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 
+ 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* expr.c (store_expr): In condition for checking if value is
+ 	generated in TARGET, move call to expr_size last.
+ 
+ 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (c_common_init): Call preprocess_file instead.
+ 	(c_common_finish): Move to c-opts.c.
+ 	* c-common.h (preprocess_file): new.
+ 	* c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
+ 	check_deps_environment_vars, c_common_finish): New.
+ 	(c_common_decode_option): Update for out_fname and dependencies.
+ 	* cppinit.c (init_dependency_output, output_deps): Remove.
+ 	(cpp_destroy): Update prototype.
+ 	(cpp_add_dependency_target): New.
+ 	(cpp_read_main_file): Don't overlay a buffer.
+ 	(cpp_finish): Take a deps output stream and write deps to it.
+ 	Return the error count.
+ 	(cpp_post_options): Don't canonicalize out_fname, or do anything
+ 	with dependencies.
+ 	* cpplib.h (struct cpp_options): Remove out_fname and
+ 	preprocess_only.
+ 	(cpp_add_dependency_target): New.
+ 	(cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
+ 	* cppmain.c (cpp_preprocess_file): Update prototype.  Don't
+ 	set preprocess_only.  Don't handle the output stream directly.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dsp16xx.c (print_operand): Fix format specifier.
+ 	* dsp16xx.md: Avoid automatic aggregate initialization.
+ 	* frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
+ 	* h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
+ 	integer constant modifier.
+ 	* ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
+ 	* mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
+ 	guards.
+ 	* sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
+ 	* v850.c (v850_select_section): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* global.c (global_alloc): Const-ify.
+ 	* ra-colorize.c (hardregset_to_string): Fix format specifier.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* darwin-c.c (darwin_pragma_options): Const-ify.
+ 	* darwin.c (machopic_non_lazy_ptr_name,
+ 	machopic_validate_stub_or_non_lazy_ptr): Likewise.
+ 	(machopic_indirect_data_reference): Wrap variables in macros
+ 	controlling their use.
+ 	(machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
+ 	(machopic_select_section): Use parentheses around && within ||.
+ 	* i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
+ 	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
+ 	ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
+ 	ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
+ 	mdr_try_remove_redundant_insns, track_w_reload,
+ 	mdr_try_wreg_elim): Make function static to match prototype.
+ 	* mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
+ 	parameter with ATTRIBUTE_UNUSED.
+ 
+ 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arc.c (arc_init): Don't use ISO C style function definitions.
+ 	* arm.c (count_insns_for_constant, thumb_far_jump_used_p,
+ 	arm_get_strip_length, arm_strip_name_encoding): Likewise.
+ 	* avr.h (progmem_section): Likewise.
+ 	* h8300.c h8300_asm_insn_count): Likewise.
+ 	* m32r.c (init_idents): Likewise.
+ 	* s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
+ 	* sh.c (sh_cfun_interrupt_handler_p): Likewise.
+ 	* xtensa.c (xtensa_build_va_list): Likewise.
+ 
+ 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
+ 	* c-opts.c (parse_option): Rename find_opt.
+ 	(set_std_c99): New function.
+ 	(COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
+ 	(missing_arg): Remove OPT_std_bad.  Handle -o.
+ 	(c_common_decode_option): Handle input and output file names,
+ 	-o and -remap.	Clean up -std= handling.
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
+ 	(cpp_handle_option): Similarly.  Don't handle filenames.
+ 
+ Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Fix computing of field's offsets.
+ 
+ 2002-08-11  Andreas Jaeger  <aj@suse.de>
+ 
+ 	PR target/7531:
+ 	* doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
+ 
+ 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
+ 	reference to clk_objective_c with flag_objc.
+ 	* config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
+ 	Likewise.
+ 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+ 
+ 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (set_std_cxx98, set_std_c89): New.
+ 	(COMMAND_LINE_OPTIONS): Move more from cppinit.c.
+ 	(c_common_decode_option): Handle new switches from cppinit.c.
+ 	Add -std=gnu++98.
+ 	* cppinit.c (set_lang): Rename cpp_set_lang.  Export.
+ 	(no_arg, no_num): Remove.
+ 	(COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
+ 	switches apart from -lang-objc and lang-asm.
+ 	(cpp_handle_option): Similarly.
+ 	* cpplib.h (cpp_set_lang): New.
+ 	* doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
+ 	-std=gnu++98.
+ 	* objc/lang-specs.h: Remove -ansi.
+ 
+ Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 			       Graham Stott
+ 
+ 	* cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
+ 	errors.
+ 
+ 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
+ 	emit_jump_insn): Fix uninitialized variable.
+ 	* gcov.c (init_line_info): Likewise.
+ 	* genautomata.c (transform_3): Add braces around ambiguous
+ 	else.
+ 	* ifcvt.c (cond_exec_process_insns): Mark parameter with
+ 	ATTRIBUTE_UNUSED.
+ 	* ra-build.c (parts_to_webs_1): Fix uninitialized variable.
+ 	* regrename.c (copyprop_hardreg_forward): Fix uninitialized
+ 	variable.
+ 
+ 	* gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
+ 	warnings in output files.
+ 
+ 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.c (flag_objc): New.
+ 	* c-common.h (c_language_kind): Get rid of clk_objective_c
+ 	enum value.
+ 	(flag_objc): New extern declaration.
+ 	* c-decl.c (implicitly_declare): Call objc_check_decl
+ 	instead of maybe_objc_check_decl.
+ 	(finish_decl): Likewise.
+ 	(grokfield): Likewise.
+ 	(finish_struct): Likewise.
+ 	* c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
+ 	(maybe_objc_comptypes): Rename to objc_comptypes.
+ 	(maybe_building_objc_message_expr): Rename to
+ 	objc_message_selector.
+ 	* c-lex.c (lex_charconst): Remove uses of clk_objective_c,
+ 	replace with flag_objc as needed.
+ 	* c-opts.c (c_common_init_options): Likewise.
+ 	(c_common_decode_option): Likewise.
+ 	* c-parse.in (init_reswords): Likewise.
+ 	* c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
+ 	(maybe_objc_comptypes): Rename to objc_comptypes.
+ 	(maybe_building_objc_message_expr): Rename to
+ 	objc_message_selector.
+ 	* c-typeck.c (comptypes): Call objc_comptypes instead of
+ 	maybe_objc_comptypes, and/or objc_message_selector instead of
+ 	maybe_building_objc_message_expr.
+ 	(comp_target_types): Likewise.
+ 	(convert_for_assignment): Likewise.
+ 	(warn_for_assignment): Likewise.
+ 	* cppinit.c (init_builtins): Set __OBJC__ manifest constant
+ 	independently of those for other languages.
+ 	* objc/objc-act.c (maybe_objc_comptypes): Delete.
+ 	(maybe_objc_check_decl): Delete.
+ 	(maybe_building_objc_message_expr): Rename to
+ 	objc_message_selector.
+ 	* objc/objc-lang.c (objc_init_options): Use clk_c instead of
+ 	clk_objective_c; set flag_objc flag.
+ 
+ 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* ifcvt.c (find_if_case_2): Test correct basic block for size.
+ 
+ 2002-08-09  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Add sibcall patterns.
+ 	* config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
+ 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed):
+ 	Rewritten to handle sibcalls.
+ 	* config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
+ 	* config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
+ 
+ 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* profile.c (da_file_name): New static var.
+ 	(init_branch_prob): Initialize it.
+ 	(end_branch_prob): Remove da file.
+ 
+ 	* Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
+ 	* configure.in (coverage_flags): Default to nothing.
+ 	* configure: Rebuilt.
+ 
+ 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-opts.o): Update
+ 	* c-opts.c: Include intl.h.
+ 	(print_help): Move from cppinit.c.  Remove unused options.
+ 	(COMMAND_LINE_OPTIONS): Move more from cppinit.c.
+ 	(missing_arg): Complain for switches without an argument.
+ 	(c_common_decode_option): Reject missing joined arguments.
+ 	Handle new switches from cppinit.c.
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
+ 	(cpp_handle_option): Similarly.
+ 	(print_help): Moved to c-opts.c.
+ 	* cpplib.h (struct cpp_options): Remove help_only.
+ 	* gcc.c (cpp_unique_options): Remove -$.
+ 	* doc/cppopts.texi: Undocument -h.
+ 
+ 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
+ 	legitimate constant.
+ 	(legitimate_pic_operand_p): Neither pic operand.
+ 	(legitimate_address_p): But legitimate address.
+ 	(get_thread_pointer): Generate MEM/u instead of CONST around
+ 	UNSPEC_TP.
+ 	(print_operand): Remove printing of UNSPEC_TP.
+ 	(print_operand_address): And print it here.
+ 
+ 2002-08-08  Devang Patel  <dpatel@apple.com>
+ 
+ 	* objc/objc-act.c (build_selector_translation_table): Issue warning,
+ 	when  -Wselector is used,if method for which selector is being
+ 	created does not exist.
+ 
+ 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
+ 
+ 	* config/sh/sh.c (prepare_move_operands): Only call
+ 	target_reg_operand if TARGET_SHMEDIA.
+ 
+ 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h, config/rs6000/aix.h,
+ 	config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
+ 	two patches.
+ 	* config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
+ 
+ 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (gen_rtx_REG): After reload, only return
+ 	frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
+ 
+ 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
+ 	* config/rs6000/rs6000.c (rs6000_field_alignment): Move...
+ 	* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
+ 	macro.
+ 
+ 2002-08-08  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
+ 	register.
+ 	(thumb_expand_prologue): Likewise.
+ 	(thumb_output_function_prologue): Likewise.
+ 	* config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
+ 	the additional push of the PIC register.
+ 
+ 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (enable_coverage): New enable switch.
+ 	* configure: Rebuilt.
+ 	* Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
+ 	(INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
+ 	(ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
+ 	(mostlyclean): Remove coverage files.
+ 	* doc/install.texi: Document enable_coverage.
+ 
+ 	* cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
+ 	* ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
+ 	* f/Make-lang.in (f.mostlyclean): Remove coverage files.
+ 	* java/Make-lang.in (java.mostlyclean): Remove coverage files.
+ 	* objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
+ 	* treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
+ 	files.
+ 
+ 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (cpp_opts): New.
+ 	(COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
+ 	(c_common_decode_options): Handle cpplib switches.
+ 	(c_common_init_options): Set cpp_opts.
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
+ 	(cpp_handle_option): Similarly.
+ 
+ 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
+ 	(TARGET_ALTIVEC_ABI): Same.
+ 	(TARGET_ALTIVEC_VRSAVE): Same.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
+ 	icode not CODE_FOR_nothing.  Change switch to if.
+ 
+ 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
+ 
+ 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stor-layout.c (place_union_field): For bitfields if
+ 	PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
+ 	TYPE_USER_ALIGN.
+ 
+ 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (struct deferred_plabel): Constify name field.
+ 
+ 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
+ 
+ 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
+ 	local_prefix are the same.
+ 	* configure: Rebuilt.
+ 
+ 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
+ 	to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
+ 	ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
+ 	(place_field): Likewise.
+ 	* config/i386/i386.c (x86_field_alignment): Don't check
+ 	DECL_USER_ALIGN here.
+ 	* config/rs6000/rs6000.c (rs6000_field_alignment): New.
+ 	* config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
+ 	prototype.
+ 	* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
+ 	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
+ 	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
+ 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
+ 	* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
+ 	* doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
+ 
+ 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
+ 	* c-common.c: Don't include tree-inline.h.
+ 	(c_common_init_options, c_common_post_options): Move to c-opts.c.
+ 	* c-common.h (c_common_decode_option): New.
+ 	* c-decl.c (c_decode_option): Remove.
+ 	* c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
+ 	* c-opts.c: New file.
+ 	* c-tree.h (c_decode_option): Remove.
+ 	* doc/passes.texi: Update.
+ 	* objc/objc-act.c (objc_decode_option): Remove.
+ 	* objc/objc-act.h (objc_decode_option): Remove.
+ 	* objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
+ 	c_common_decode_option.
+ 
+ 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
+ 	dependency on TARGET_DOUBLE_FLOAT.
+ 
+ 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
+ 
+ 	* config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
+ 	overwrite callee-save registers.  Fix comment.
+ 
+ 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
+ 	in target_flags based on ISA, if it was not set on the command
+ 	line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
+ 	support Branch Likely instructions.
+ 	* config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
+ 	(TARGET_BRANCHLIKELY): Likewise.
+ 	(TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
+ 	(GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
+ 	ISA_HAS_BRANCHLIKELY.
+ 	(ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
+ 	* doc/invoke.texi: Document new MIPS -mbranch-likely and
+ 	-mno-branch-likely options.
+ 
+ 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ip2k.c (ip2k_set_compare): Add missing iteration variable.
+ 
+ 	* Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
+ 	$(GCONFIG_H).
+ 
+ 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Error out for incompatible TLS
+ 	declarations.
+ 
+ 	* testsuite/gcc.dg/tls/diag-3.c: New.
+ 
+ 2002-08-06  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* c-common.c (fname_decl): Use line number 0 for
+ 	__func__, to avoid confusing debuggers.
+ 
+ 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c: Tidy.
+ 	(struct line_info, struct coverage): New structures.
+ 	(gcov_file_name, gcov_file): Remove globals.
+ 	(output_data): Take source file parameter. Fix memory leak. Break
+ 	up into ...
+ 	(init_line_info, output_line_info, make_gcov_file_name,
+ 	accumulate_branch_counts): ... here.
+ 	(calculate_branch_probs, function_summary): Adjust.
+ 	(main): Adjust.
+ 	(function_*): Remove global variables.
+ 
+ 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* dwarf2out.c: Remove unused macros.
+ 
+ 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* function.c (TRAMPOLINE_ALIGNMENT): Always defined.
+ 
+ 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppinit.c (struct lang_flags): Rename trigraphs std.
+ 	(set_lang): Update.
+ 	* cpplib.h (struct cpp_options): New member std.
+ 	* cppmacro.c (_cpp_builtin_macro_text): Use std.
+ 	(collect_args): Flag whether to swallow a possible future
+ 	comma pasted with varargs.
+ 	(replace_args): Use this flag.
+ 	* doc/cpp.texi: Update varargs extension documentation.
+ 
+ 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
+ 
+ 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
+ 	and MODE_CLASS_INT modes.
+ 
+ 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config.gcc (*-*-linux*): Default to --enable-threads=posix if no
+ 	--{enable,disable}-threads is given to configure.
+ 	(alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
+ 	x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
+ 	powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
+ 	s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
+ 	Remove thread_file setting here.
+ 
+ 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (Binaries): Update Bull Freeware URL.
+ 
+ 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/gcc.texi (Top): Rename Index to Keyword Index.
+ 
+ 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c (output_data): Round to % to nearest, tweak formatting.
+ 
+ 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
+ 	of the operands into MINUS_EXPR if code is PLUS_EXPR.
+ 
+ 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
+ 	* config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
+ 	drectve_section): Define.
+ 	* config/i386/t-interix: Replace interix.o rule with winnt.o.
+ 	* config/i386/interix.c: Remove.
+ 
+ 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* attribs.c: Don't include obstack.h.
+ 	* builtins.c: Likewise.
+ 	* cfganal.c: Likewise.
+ 	* cfgbuild.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* stmt.c: Likewise.
+ 
+ 	* Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
+ 
+ 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
+ 
+ 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* doc/invoke.texi: Remove duplicated paragraph describing
+ 	TARGET_SWITCHES.
+ 
+ 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
+ 	* collect2.h (permanent_obstack): Delete declaration.
+ 	* collect2.c (permanent_obstack): Delete definition.
+ 	(main): Don't initialize permanent_obstack.  Use xstrdup instead.
+ 	* expr.c: Don't include obstack.h.
+ 	(permanent_obstack): Delete declaration.
+ 	* function.c: Don't include obstack.h.
+ 	(permanent_obstack): Delete declaration.
+ 	* integrate.c: Don't include obstack.h.
+ 	(function_maybepermanent_obstack): Delete declaration.
+ 	* print-tree.c (debug_tree): Use x*alloc not permalloc.
+ 	* sdbout.c (gen_fake_label): Use x*alloc not permalloc.
+ 	* tlink.c (pfgets): Use xstrdup not permanent_obstack.
+ 	* toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
+ 	* tree.h: Rename init_obstacks to init_ttree.  Remove declarations
+ 	of permalloc, expralloc, perm_calloc.
+ 	* tree.c (permanent_obstack): Delete definition.
+ 	(init_ttree): Rename from init_obstacks.
+ 	(permalloc): Delete.
+ 	(perm_calloc): Delete.
+ 	(dump_tree_statistics): Don't print information about
+ 	permanent_obstack.
+ 	* varasm.c (assemble_start_function): Use xstrdup instead of
+ 	permalloc/strcpy.
+ 	(assemble_variable): Likewise.
+ 	* config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
+ 	permalloc.
+ 	(unicosmk_add_extern): Likewise.
+ 	* config/c4x/c4x.c (c4x_external_ref): Likewise.
+ 	(c4x_global_label): Likewise.
+ 	* config/frv/frv.c (frv_encode_section_info): Likewise.
+ 	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
+ 	(i386_pe_record_exported_symbol): Likewise.
+ 	* config/mips/mips.c (mips_output_external): Likewise.
+ 	(mips_output_external_libcall): Likewise.
+ 	* config/pa/pa.c: (permanent_obstack): Delete declaration.
+ 	(output_call): Use ggc_strdup instead of allocating on
+ 	permanent_obstack.
+ 	* config/romp/romp.c: Include ggc.h.
+ 	(get_symref): Don't declare permanent_obstack, use ggc_strdup
+ 	intead of permanent_obstack.
+ 	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
+ 	instead of permalloc.
+ 	* config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
+ 	instead of permalloc
+ 	* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
+ 	instead of permalloc.
+ 	* config/vax/vax.c (vms_check_external): Use xmalloc instead of
+ 	permalloc.
+ 
+ 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	Contribute a port developed primarily by Michael Meissner,
+ 	Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
+ 	* config.gcc: Add frv-elf target.
+ 	* config/frv/cmovd.c: New file.
+ 	* config/frv/cmovh.c: New file.
+ 	* config/frv/cmovw.c: New file.
+ 	* config/frv/frv-abi.h: New file.
+ 	* config/frv/frv-asm.h: New file.
+ 	* config/frv/frv-modes.def: New file.
+ 	* config/frv/frv-protos.h: New file.
+ 	* config/frv/frv.c: New file.
+ 	* config/frv/frv.h: New file.
+ 	* config/frv/frv.md: New file.
+ 	* config/frv/frvbegin.c: New file.
+ 	* config/frv/frvend.c: New file.
+ 	* config/frv/lib1funcs.asm: New file.
+ 	* config/frv/media.h: New file.
+ 	* config/frv/modi.c: New file.
+ 	* config/frv/t-frv: New file.
+ 	* config/frv/uitod.c: New file.
+ 	* config/frv/uitof.c: New file.
+ 	* config/frv/ulltod.c: New file.
+ 	* config/frv/ulltof.c: New file.
+ 	* config/frv/umodi.c: New file.
+ 	* config/frv/xm-frv.h: New file.
+ 
+ 	* config/frv/media.h: Removed again.
+ 
+ 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c (bb_file_time): New static variable.
+ 	(object_directory): May also be object file.
+ 	(preserve_paths): New static variable.
+ 	(print_usage): Adjust.
+ 	(options): Adjust.
+ 	(process_args): Adjust.
+ 	(open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
+ 	file. Find modification date on bb file.
+ 	(read_profile): Don't rewind a NULL file.
+ 	(format_hwint): New static function.
+ 	(function_summary): Use format_hwint.
+ 	(output_data): SOURCE_FILE_NAME is never relative to
+ 	OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
+ 	mangling. Adjust output format to make it more machine readable.
+ 	* doc/gcov.texi: Document & clarify semantics.
+ 
+ 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
+ 
+ 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcc.c (cc1_options): Pass output file as auxbase when
+ 	appropriate.
+ 	* profile.c (init_branch_prob): FILENAME has already had ending
+ 	stripped.
+ 	* final.c (end_final): Likewise.
+ 	* toplev.c (aux_base_name): New global.
+ 	(compile_file): Pass aux_base_name to init init_branch_prob and
+ 	end_final.
+ 	(independent_decode_option, case 'a'): New auxinfo options.
+ 	(case 'd'): Protect against mising basename.
+ 	(do_compile): Initialize aux_base_name.
+ 	* toplev.h (aux_base_name): New global.
+ 	* doc/invoke.texi: Adjust documentation.
+ 
+ 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/i386/i386.c (x86_field_alignment): Remove duplicate test
+ 	of TARGET_ALIGN_DOUBLE.
+ 
+ 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* diagnostic.c (inform): New function.
+ 	* diagnostic.h (inform): Declare.
+ 
+ 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
+ 	(movhi_internal): Same.
+ 	(movqi_internal): Same.
+ 	(movdi_internal64): Same.
+ 
+ 	* config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
+ 
+ 	* config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
+ 	(ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
+ 	(COMMON_ASM_OP): Define.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
+ 	Use ALIGN parameter.
+ 	(LOCAL_COMMON_ASM_OP): Define.
+ 	(ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
+ 
+ 2002-08-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def: Define new builtin functions exp, expf, expl,
+ 	log, logf and logl (and their __builtin_* variants).
+ 	* optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
+ 	Define exp_optab and log_optab.
+ 	* optabs.c (init_optans): Initialize exp_optab and log_optab.
+ 	* genopinit.c (optabs): Implement exp_optab and log_optab
+ 	using exp?f2 and log?f2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
+ 	and BUILT_IN_LOG* using exp_optab and log_optab respectively.
+ 	(expand_builtin): Ignore the new builtins (and all cos and
+ 	sin variants) when not optimizing.  Expand new builtins via
+ 	expand_builtin_mathfn when flag_unsafe_math_optimizations.
+ 
+ 	* doc/extend.texi: Document new exp and log builtins.
+ 	* doc/md.texi: Document new exp?f2 and log?f2 patterns
+ 	(and previously undocumented cos?f2 and sin?f2 patterns).
+ 
+ 2002-08-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	* explow.c (int_expr_size): New fn.
+ 	* expr.c (expand_expr) [CONSTRUCTOR]: Use it.
+ 	* expr.h: Declare it.
+ 
+ 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
+ 	gengtype-* dependencies.
+ 
+ 2002-08-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config.gcc (mips*-*-linux*): Fix ordering of tm_file.
+ 	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
+ 	#ifndef to #undef.
+ 	(TARGET_MEM_FUNCTIONS): Define instead of define to 1.
+ 
+ 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR optimize/7067
+ 	* config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
+ 	small if optimizing for size.
+ 
+ 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* configure.in (FORBUILD): Use $build_alias.
+ 	* configure: Regenerated.
+ 
+ 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc: Don't include mips/abi64.h in $tm_file.
+ 	* hard-reg-set.h (call_really_used_regs): Declare.
+ 	* config/mips/abi64.h: Remove file.
+ 	* config/mips/linux.h,
+ 	* config/mips/iris6.h: Don't include it.
+ 	* config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
+ 	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
+ 	(REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
+ 	FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
+ 	FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
+ 	Bring across definitions from abi64.h.
+ 	(GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
+ 	(BIGGEST_MAX_ARGS_IN_REGISTERS): New.
+ 	(struct mips_args): Use it.
+ 	* config/mips/mips.c (mips_conditional_register_usage): Define.
+ 
+ 2002-08-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
+ 	* langhooks.c (lhd_expr_size): Define default.
+ 	* langhooks.h (struct lang_hooks): Add expr_size.
+ 	* explow.c (expr_size): Call it.
+ 	* expr.c (store_expr): Don't copy an expression of size zero.
+ 	(expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
+ 	to store.
+ 	* Makefile.in (builtins.o): Depend on langhooks.h.
+ 
+ 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (ra-debug.o): Depend on $(TM_P_H).
+ 	* ra-debug.c: Include "tm_p.h".
+ 	* ra-rewrite.c (is_partly_live_1): Change return type to bool.
+ 
+ 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
+ 	when not honoring signalling NaNs.
+ 	(simplify_ternary_operation): a == b has a definite value
+ 	when not honoring NaNs.
+ 
+ 2002-08-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gdbinit.in (pct): New macro.
+ 
+ 2002-08-01  Stan Shebs  <shebs@apple.com>
+ 	    Andreas Tobler  <toa@pop.agri.ch>
+ 
+ 	* ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
+ 	plays nice with Darwin headers.
+ 	(_BSD_RUNE_T_DEFINED_): Likewise.
+ 
+ 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
+ 	* cppinit.c (cpp_post_options): Likewise.
+ 
+ 	* cppexp.c (cpp_classify_number): Suppress -Wtraditional
+ 	warning about 'LL' suffix (but not 'ULL' etc) when
+ 	-Wno-long-long is in effect.
+ 
+ 	* cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
+ 	Check for failing time()/localtime(), issue a warning, and
+ 	make __TIME__ and __DATE__ expand to fallback strings.
+ 
+ 	* doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
+ 	and __TIME__ when the date and time cannot be determined.
+ 
+ 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
+ 
+ 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
+ 
+ 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mipsisa64sb1-*-elf*): New configuration.
+ 	(mipsisa64sb1el-*-elf*): Likewise.
+ 	* config/mips/mips.c (mips_cpu_info_table): Add sb1.
+ 	* config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
+ 	(TARGET_SB1, TUNE_SB1): New macros.
+ 	* doc/invoke.texi: Add sb1 to documentation for MIPS -march and
+ 	-mtune flags.
+ 
+ 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* varasm.c (asm_emit_uninitialized): Return false if global BSS
+ 	and ASM_EMIT_BSS not supported by target.
+ 	(assemble_variable): Do not duplicate uninitialized logic.
+ 	Fall through if asm_emit_uninitialized failed.
+ 
+ 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
+ 
+ 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
+ 	(DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
+ 
+ 	* config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
+ 	HOST_BITS_PER_WIDE_INT == 64.
+ 
+ 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* df.c (df_insn_table_realloc): Change parameter to unsigned.
+ 	* optabs.c (expand_binop): Make variable unsigned.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	* unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
+ 
+ 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
+ 
+ 2002-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (parse_options_and_default_flags): Don't set
+ 	flag_reorder_blocks for -Os.
+ 
+ 	* config/avr/avr.c (avr_optimization_options): Remove.
+ 	* config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
+ 	* config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
+ 	* config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
+ 
+ 2002-08-01  H.J. Lu <hjl@gnu.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* output.h (DECL_READONLY_SECTION): Remove.
+ 	(decl_readonly_section): Declare.
+ 	* varasm.c (decl_readonly_section): New.
+ 	(default_section_type_flags, default_select_section): Use it.
+ 	* config/arm/pe.c (arm_pe_unique_section): Likewise.
+ 	* config/i386/interix.c (i386_pe_unique_section): Likewise.
+ 	* config/i386/winnt.c (i386_pe_unique_section): Likewise.
+ 	* config/mcore/mcore.c (mcore_unique_section): Likewise.
+ 	* config/mips/mips.c (mips_unique_section): Likewise.
+ 
+ 2002-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
+ 	refers to a subroutine parameter.
+ 
+ 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (assemble_visibility): Strip name encoding.
+ 
+ 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+ 
+ 	* config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
+ 	(RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
+ 	when there is no frame pointer.
+ 	(INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
+ 	registers properly.
+ 	* config/ns32k/__unorddf2.c: New file.
+ 	* config/ns32k/__unordsf2.c: New file.
+ 	* config/ns32k/t-ns32k: New file.
+ 	* config.gcc (ns32k-*-netbsd*): Use it.
+ 
+ 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
+ 
+ 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (__GXX_ABI_VERSION): Correct spelling.
+ 
+ 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
+ 
+ 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
+ 
+ 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
+ 	n_sets): Removed.
+ 	(expr_hash_table, set_hash_table): Type changed to ...
+ 	(struct hash_table): New type.
+ 	(hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
+ 	insert_expr_in_table, insert_set_in_table, compute_hash_table,
+ 	dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
+ 	compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
+ 	(alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
+ 	(alloc_hash_table): New.
+ 	(free_set_hash_table, free_expr_hash_table): Merged to ...
+ 	(free_hash_table): New.
+ 	(compute_set_hash_table, compute_expr_hash_table): Merged to ...
+ 	(compute_hash_table_work): New.
+ 	(classic_gcse, one_classic_gcse_pass, compute_cprop_data,
+ 	find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
+ 	pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
+ 	one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
+ 	hoist_code, one_code_hoisting_pass,
+ 	trim_ld_motion_mems): Altered due to changed type of hash tables.
+ 
+ 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* final.c (output_alternate_entry_point):
+ 	If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
+ 
+ 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* objc/objc-act.c (encode_complete_bitfield): Add prototype and
+ 	avoid ISO C style function definition.
+ 
+ 	* expr.c (expand_assignment): Delete unused variable.
+ 
+ 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* c-common.c (cb_register_builtins): Set
+ 	__FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
+ 	is given, and to 0 otherwise.
+ 	* combine.c (simplify_if_then_else): HONOR_NANS
+ 	implies FLOAT_MODE_P.
+ 
+ 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
+ 	(cpp_handle_option): Don't handle it.
+ 	(print_help): Update.
+ 	* doc/cppopts.texi: Update.
+ 
+ 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (cb_register_builtins): If C++, define
+ 	__EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
+ 	* gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
+ cp:
+ 	* lang-specs.h: Simplify in accordance with new code in
+ 	c-common.c.
+ 
+ 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c: Define all C/ObjC/C++ warning and flag variables.
+ 	* c-common.h: Declare all C/ObjC/C++ warning and flag variables.
+ 	* c-decl.c: Move all warning and flag variables to c-common.c.
+ 	* c-format.c: Move all warning variables to c-common.c.
+ 	* c-tree.h: Move all warning and flag declarations to c-common.h.
+ 	* objc/objc-act.c: Move all warning variables to c-common.c.
+ 	(flag_warn_protocol): Rename warn_protocol.
+ 
+ 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (GLOBAL_ASM_OP): Fix typo.
+ 
+ 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
+ 	.section prefix.
+ 
+ 2002-07-31  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config.gcc (i[34567]86-*-darwin*): New configuration.
+ 	* config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
+ 	defining.
+ 	(TARGET_ENCODE_SECTION_INFO): Ditto.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
+ 	* config/darwin.c (machopic_indirect_data_reference): Remove
+ 	setting of RTX_UNCHANGING_P.
+ 	(machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
+ 	not to be applied to sums.
+ 	* config/i386/t-darwin: New file.
+ 	* config/i386/darwin.h: New file.
+ 	* config/i386/i386.h (TARGET_MACHO): Add default definition.
+ 	* config/i386/i386.md (tablejump): Add TARGET_MACHO case.
+ 	* config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
+ 	label and not the GOT add.
+ 	(constant_address_p): For Mach-O, seeing a CONST is enough.
+ 	(legitimate_pic_address_disp_p): Add a Mach-O case.
+ 	(legitimate_address_p): Also test machopic_operand_p if Mach-O.
+ 	(legitimize_pic_address): Use generic Mach-O code to legitimize.
+ 	(output_pic_addr_const): Suppress @PLT if Mach-O, and parens
+ 	if outputting a difference.
+ 	(ix86_output_addr_diff_elt): Add Mach-O case.
+ 	(ix86_expand_move): Similarly.
+ 	(ix86_expand_call): Similarly.
+ 	(current_machopic_label_num): New global.
+ 	(machopic_output_stub): New function.
+ 	(ix86_value_regno): New function.
+ 	(ix86_function_value): Use it instead of VALUE_REGNO.
+ 	(ix86_libcall_value): Ditto.
+ 	* config/i386/unix.h (VALUE_REGNO): Remove.
+ 
+ 2002-07-31  Graham Stott  <grahas@btinternet.com>
+ 
+ 	* config/rs6000/rs6000.c(rs6000_hash_constant): Fix
+ 	hash for LABEL_REF's.
+ 
+ 2002-07-31  Graham Stott  <grahams@btinternet.com>
+ 
+ 	* config/rs6000/rs6000.c (spe_init_builtins,
+ 	altivec_init_builtins, rs6000_common_init_builtins):
+ 	Replace ANSI with K&R function def.
+ 
+ 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (validate_condition_mode): Test flag_finite_math_only
+ 	for CCFPmode.
+ 
+ 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/crtn.asm: Don't use __mips16 to determine the
+ 	return-address offset.  Define RA to a suitable temporary
+ 	register for the return address.
+ 
+ 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
+ 	constraints to 'd'.
+ 
+ 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/elf.h (STARTFILE_SPEC): Define differently if
+ 	default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
+ 	patch on 2002-07-29.)
+ 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
+ 
+ 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
+ 	fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
+ 	ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
+ 	openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
+ 	s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
+ 	(ASM_GLOBALIZE_LABEL): Delete.
+ 	(GLOBAL_ASM_OP): Define.
+ 
+ 	* m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
+ 
+ 	* defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
+ 	* doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
+ 
+ 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/extend.texi (Hints implementation): Document that GCC
+ 	mostly ignores `register'.
+ 
+ 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* flags.h: Declare flag_finite_math_only.
+ 	Use it in definition of HONOR_NANS and
+ 	HONOR_INFINITIES.
+ 	* c-common.c (cb_register_builtins): Emit
+ 	__FINITE_MATH_ONLY__ when flag_finite_math_only
+ 	is set.
+ 	* combine.c (simplify_if_then_else): If
+ 	flag_finite_math_only is set, a == b has a
+ 	definite value.
+ 	* toplev.c: Initialize flag_finite_math_only.
+ 	(set_flags_fast_math): Set it on -ffast-math.
+ 	(flag_fast_math_set_p): Test it.
+ 	* doc/invoke.texi: Document -ffinite-math-only.
+ 
+ 2002-07-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
+ 	(noce_process_if_block): Likewise.
+ 
+ 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* ifcvt.c (cond_exec_process_if_block): Fix a merging error.
+ 	Bail out early if false_expr is NULL and we'd crash due to this.
+ 	* genemit.c (gen_expand): Recognize return insns even if the return
+ 	appears in a parallel.
+ 	* libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
+ 	* config/fp-bit.c: Likewise.
+ 	* doc/tm.texi: Document it.
+ 
+ 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rs6000.c (rs6000_expand_unop_builtin): Check icode not
+ 	CODE_FOR_nothing.  Change switch to if.
+ 	(rs6000_expand_binop_builtin): Same.
+ 	(rs6000_expand_builtin): Expand builtin if target support enabled.
+ 	(rs6000_init_builtins): Init builtin if target support enabled.
+ 	(rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
+ 
+ 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
+ 
+ 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
+ 
+ Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (cond_delay_slot): New attribute.
+ 	(cbranch delay): Use it for anulled-true case.
+ 	(stuff_delay_slot): New pattern.
+ 	* sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
+ 	delay slot insn.
+ 	(gen_far_branch): Emit stuff_delay_slot pattern.
+ 
+ Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
+ 
+ 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c: Fix comment typos.
+ 	* gcse.c: Likewise.
+ 	* reload1.c: Likewise.
+ 
+ 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
+ 	for TARGET_SPE.
+ 
+ 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-pretty-print.h (pp_c_statement): Declare.
+ 	* c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
+ 	(pp_c_statement): Define.
+ 
+ 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
+ 	darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
+ 	ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
+ 	mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
+ 	rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
+ 	v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
+ 
+ 	* defaults.h (ASM_OUTPUT_LABEL): Provide a default.
+ 	* doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
+ 
+ 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
+ 	(pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
+ 	COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
+ 	(pp_c_expression): Update.
+ 
+ 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
+ 	concat in lieu of xmalloc/strcpy/memcpy/sprintf.
+ 	* alpha/vms-ld.c (main): Likewise.
+ 	* dsp16xx.c (double_reg_to_memory): Likewise.
+ 	* mcore.c (mcore_expand_prolog): Likewise.
+ 	* cppfiles.c (read_name_map): Likewise.
+ 	* gensupport.c (process_rtx, identify_predicable_attribute,
+ 	alter_test_for_insn): Likewise.
+ 	* vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
+ 
+ 2002-07-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin):  Change the default behavior to
+ 	only issue an error if the builtin function doesn't have a
+ 	fallback library call.  Remove several cases handled by the
+ 	new default.
+ 
+ 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
+ 
+ 	* real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
+ 	floating point format of the target is IEEE.
+ 	* (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
+ 	format of the target is DEC.
+ 
+ 2002-07-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (verify_addresses): Remove.
+ 	(find_splittable_givs): Never split DEST_ADDR givs.
+ 
+ 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
+ 	is exhaustive.
+ 	(Files): Improve documentation on generated source files.
+ 
+ 	* doc/extend.texi (Translation implementation): Document what
+ 	diagnostics look like.
+ 	(Identifiers implementation): Document that there's normally no
+ 	limit on identifier names.
+ 	(Integers implementation): Document two's complement.
+ 	(Hints implementation): Document that GCC honors 'inline', mostly.
+ 	(Preprocessing directives implementation): Document that GCC
+ 	requires the current time.
+ 
+ 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-pretty-print.h (struct c_pretty_print_info): Add new member.
+ 	(pp_initializer): New macro.
+ 	(pp_c_initializer): Declare.
+ 	* c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
+ 	(pp_c_initializer): Define.
+ 	(pp_c_initializer_list): New function.
+ 	(pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
+ 	VECTOR_CST, CONSTRUCTOR.
+ 	(pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
+ 	IMAGPART_EXPR.
+ 	(pp_c_cast_expression): Handle FLOAT_EXPR.
+ 	(pp_c_assignment_expression): Handle INIT_EXPR.
+ 	(pp_c_expression): Update.
+ 
+ 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* objc/objc-act.c (objc_init): Return immediately if filename
+ 	is NULL.
+ 
+ 2002-07-29  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/elf.h: Remove ecoff.h and gofast includes.
+ 	(DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
+ 	(SDB_DEBUGGING_INFO): Undefine.
+ 	(PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
+ 	(PUT_SDB_SIZE): Remove.
+ 	(SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
+ 	(STARTFILE_SPEC): Add isa3264 define.
+ 	* config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
+ 	* config/mips/ecoff.h: Remove. and here...
+ 	* config/mips/iris3.h: and here...
+ 	* config/mips/sni-svr4.h: and here...
+ 	* config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
+ 	Add assembler -mmdebug options for non-dwarf debugging.
+ 	* config/mips/r3900.h: Remove debug info defines.
+ 	* config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
+ 	* config/mips/isa3264.h: Ditto.
+ 	* config/mips/t-isa3264: Fix up for file removal and gofast configure
+ 	change.
+ 	* config/mips/t-elf: Ditto.
+ 	* config/mips/t-ecoff: Ditto.
+ 	* config/mips/t-r3900: Ditto.
+ 	* config/mips/t-iris5-6: Ditto.
+ 	* config/mips/t-isa3264: Ditto.
+ 	* config/mips/t-linux: Remove.
+ 	* config/mips/t-netbsd: Remove.
+ 	* config/mips/t-mips: New file.
+ 	* config/mips/t-gofast: Ditto.
+ 	* config/mips/netbsd.h: Remove unnecessary undefines.
+ 	* config/mips/linux.h: Remove #include of mips.h.
+ 	* config.gcc: Add mips.h include for elf targets. Remove tm_file
+ 	for ecoff. Add gofast configure option for mips.
+ 
+ 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* configure.in (mips*-*-*): Add a test to see if MIPS libgloss
+ 	linker scripts use STARTUP directives consistently.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 	* config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
+ 	on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
+ 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
+ 	* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
+ 	HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
+ 	will be the same.
+ 
+ 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
+ 
+ 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
+ 
+ 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
+ 
+ 	* config/rs6000/rs6000.md: Move altivec patterns from here...
+ 
+ 	* config/rs6000/altivec.md: ...to here.
+ 
+ 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md ("spe_evmra"): Change to unspec.
+ 
+ 2002-07-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
+ 	set_mem_attributes and add BITPOS argument.  Subtract it from
+ 	OFFSET when same is adjusted.
+ 	(set_mem_attributes): New wrapper function.
+ 	* expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
+ 	remove offset adjustment hack.
+ 	* expr.h (set_mem_attributes_minus_bitpos): Declare.
+ 
+ 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* Makefile.in (C_OBJS): Include c-pretty-print.o
+ 	(c-pretty-print.o): Add depency rule.
+ 	* pretty-print.h: Add more macros.
+ 	* c-pretty-print.c: New file.
+ 	* c-pretty-print.h: Likewise.
+ 
+ 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
+ 	constants to __ev64_s32__.
+ 	(__internal_ev_mwhgsmian): Same.
+ 	(__internal_ev_mwhgsmfan): Same.
+ 	(__internal_ev_mwhgssfan): Same.
+ 	(__internal_ev_mwhgumiaa): Same.
+ 	(__internal_ev_mwhgsmiaa): Same.
+ 	(__internal_ev_mwhgsmfaa): Same.
+ 	(__internal_ev_mwhgssfaa): Same.
+ 
+ 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* varasm.c (assemble_variable): Narrow test for uninitialized
+ 	without BSS target support.
+ 
+ 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* profile.c: Add file comment describing the overall algorithm and
+ 	structures.
+ 	(struct edge_info): Add comments.
+ 	(struct bb_info): Add comments.
+ 	* basic-block.h (EDGE_*): Add comments.
+ 	* doc/gcov.texi (Gcov Data Files): Document bit flags.
+ 
+ 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h, config/xtensa/linux.h
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Remove.
+ 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CPP_SPEC): Remove.
+ 
+ 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gensupport.c: Include hashtab.h.
+ 	(insn_elision, condition_table, hash_c_test, cmp_c_test,
+ 	maybe_eval_c_test): New routines and data structures to
+ 	support insn elision.
+ 	(init_md_reader): Read and initialize the condition_table.
+ 	(read_md_rtx): Discard insn patterns whose C test is provably
+ 	always false.
+ 	* gensupport.h: Declare new functions and data structures.
+ 
+ 	* genconditions.c, dummy-conditions.c: New files.
+ 	* Makefile.in: Build genconditions; run it to construct
+ 	insn-conditions.c; build that and link it into most gen*
+ 	programs.
+ 	(HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
+ 	(GEN): Delete, unused.
+ 	(STAGESTUFF): Update.
+ 
+ 	* gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
+ 	CODE_FOR_nothing for all elided patterns.
+ 	(main): Tweaked to support this.
+ 	* genflags.c (gen_proto): Emit a static inline generator
+ 	function here for all elided patterns, which simply returns
+ 	NULL_RTX.
+ 	(gen_insn): Do not define HAVE_xxx for elided patterns.
+ 	(main): Tweaked to support this.  No need to forward-declare
+ 	struct rtx_def.
+ 	* genrecog.c: Do not bother emitting the C test if it's known
+ 	to be true at compile time.
+ 
+ 2002-07-29  Mike Stump  <mrs@apple.com>
+ 
+ 	* config.gcc (target_gtfiles): Initialize, as otherwise cross
+ 	compilers hosted on powerpc-apple-darwin6.0 won't even build.
+ 
+ 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
+ 	remove clobber of LR.
+ 	(sibcall_insn, sibcall_value_insn): Update accordingly.
+ 	(sibcall_epilogue): Remove debugging comment from assembler stream.
+ 
+ 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* pretty-print.h: Define more macros.
+ 	* diagnostic.h (output_formatted_integer): Moved from...
+ 	* diagnostic.c: ... here.
+ 
+ 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
+ 
+ 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
+ 	arguments.  Always use ".-symbol" as expression argument.
+ 	* doc/tm.texi: Update to match.  Document requirement for
+ 	".size symbol, .-symbol" to be acceptable to assembler.
+ 
+ 	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
+ 	config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
+ 	config/i386/freebsd-aout.h, config/i386/sco5.h,
+ 	config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
+ 	config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
+ 
+ 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gengtype-lex.c): Fix error in last change.
+ 
+ 	* alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
+ 	backslash.
+ 
+ 	* Makefile.in (vmsdbgout.o): Depend on function.h.
+ 
+ 	* vmsdbgout.c: Include function.h.
+ 
+ 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* prefix.c (update_path): Don't strip single `.' path components
+ 	unless stripping a later `..' component.  Exit loop as soon as
+ 	a valid path is found.
+ 
+ 2002-07-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
+ 	argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
+ 	BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
+ 	floating point unordered comparisons (e.g. __builtin_isgreater)
+ 	as const, and leave the remaining GCC_BUILTINs unchanged.
+ 
+ 	* c-decl.c (builtin_function): No need to explicitly mark
+ 	BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
+ 
+ 2002-07-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* Makefile.in: rtlanal.o now depends upon real.h.
+ 
+ 	* flags.h [flag_signaling_nans]: New flag.
+ 	[HONOR_SNANS]: New macro.
+ 
+ 	* toplev.c [flag_signaling_nans]: Initialize to false.
+ 	(f_options): Add processing for "-fsignaling-nans".
+ 	(set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
+ 	(process_options): flag_signaling_nans implies flag_trapping_math.
+ 
+ 	* c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
+ 	when -fsignaling-nans.  First step to implementing WG14's N965.
+ 
+ 	* fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
+ 	1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
+ 	[RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Conditionalize
+ 	transforming abs(x) < 0.0 into false on !HONOR_SNANS.
+ 
+ 	* rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
+ 	required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
+ 	UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
+ 	-fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
+ 	not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
+ 
+ 	* doc/invoke.texi: Document new -fsignaling-nans compiler option.
+ 
+ 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gengtype-lex.c): Work around a bug in flex.
+ 	* gengtype-lex.l (YY_USE_PROTOS): Undef.
+ 	(YY_DECL): Define.
+ 
+ 2002-07-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/invoke.texi: Document that both -fno-builtin-foo and
+ 	-fno-builtin are supported by the g++ front-end.
+ 
+ 2002-07-27  Stan Shebs  <shebs@apple.com>
+ 
+ 	* configure.in: Rename config_gtfiles to target_gtfiles.
+ 	* configure: Regenerate.
+ 	* doc/gty.texi: Update reference.
+ 	* config.gcc (powerpc-*-darwin*): Set target_gtfiles
+ 	instead of appending to it.
+ 
+ 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_advance): SPE vararg
+ 	vectors are split into two registers.
+ 	(function_arg): Same.
+ 
+ Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* pa.md (extv): Check predicates before emitting extv_32.
+ 
+ 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_traceback_name): New var.
+ 	(rs6000_traceback): New var.
+ 	(rs6000_override_options): Set rs6000_traceback.
+ 	(rs6000_output_function_epilogue): Implement traceback options.
+ 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
+ 	(rs6000_traceback_name): Declare.
+ 
+ 	* config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
+ 	label reference when NO_PROFILE_COUNTERS.
+ 
+ 2002-07-26  Jason Merrill  <jason@redhat.com>
+ 
+ 	* function.c (assign_parms): Handle frontend-directed pass by
+ 	invisible reference.
+ 
+ 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* doc/cppopts.texi: Update.
+ 
+ 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppmacro.c (_cpp_create_definition): Don't attempt redefinition
+ 	warnings on assertions.
+ 
+ 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
+ 	RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
+ 	RID_COMPL): Remove.
+ 	* c-parse.in (rid_to_yy): Similarly.
+ 
+ 2002-07-26  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-dump.c: Resurrect.
+ 	* tree-dump.c: Move C-specific stuff to c-dump.c.
+ 	* c-common.h: Declare c_dump_tree.
+ 	* c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
+ 	* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
+ 	(c-dump.o): New rule.
+ 
+ 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: Enable patterns using rlwinm for
+ 	PowerPC64.  Replace "T" and "S" constraints with "n" when the
+ 	predicate will do.  Formatting fixes.
+ 	(extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
+ 	as for extzvsi_internal1.
+ 
+ 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
+ 	DERIV_END_LABEL_FMT): Remove.
+ 	(SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
+ 
+ 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
+ 	Remove.
+ 
+ 2002-07-25  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
+ 	local var dwarfp.
+ 	(output_compiler_stub): Remove unused locals.
+ 	(output_call): Always initialize line number.
+ 
+ Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
+ 	* sh.md (truncdiqi2, movqi_media): Likewise.
+ 
+ 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* gcse.c (obstack_chunk_alloc): Remove.
+ 	(gcse_alloc): Fix to count allocated bytes.
+ 	* collect2.c (SYMBOL__MAIN): Remove.
+ 
+ 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
+ 	HAVE_TARGET_EXECUTABLE_SUFFIX.
+ 
+ Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
+ 	SIZE, EXPR and OFFSET.
+ 
+ 2002-07-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
+ 	in ARRAY_REF of DECL_P case.
+ 
+ 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
+ 	description.  Document -mips32, -mips64, and the associated -march
+ 	values.  Describe the "mipsN" arguments to -march.  Say that the
+ 	-mipsN options are equivalent to -march.  Reword the description
+ 	of default type sizes.
+ 	* toplev.h (target_flags_explicit): Declare.
+ 	* toplev.c (target_flags_explicit): New var.
+ 	(set_target_switch): Update target_flags_explicit.
+ 	* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
+ 	* config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
+ 	* config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
+ 	* config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
+ 	* config/mips/mips.h (mips_cpu_info): New struct.
+ 	(mips_cpu_string, mips_explicit_type_size_string): Remove.
+ 	(mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
+ 	(MIPS_CPP_SET_PROCESSOR): New macro.
+ 	(TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
+ 	Define _MIPS_ARCH and _MIPS_TUNE.
+ 	(MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
+ 	(MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
+ 	MIPS_ISA_DEFAULT were already defined.
+ 	(MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
+ 	(TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
+ 	(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
+ 	(GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
+ 	(ABI_GAS_ASM_SPEC): Remove.
+ 	(MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
+ 	(ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
+ 	Invoke %(asm_abi_default_spec) if no ABI was specified.
+ 	(CC1_SPEC): Remove ISA -> register-size rules.
+ 	(EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
+ 	* config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
+ 	(mips_cpu_string, mips_explicit_type_size_string): Remove.
+ 	(mips_cpu_info_table): New array.
+ 	(mips_set_architecture, mips_set_tune): New fns.
+ 	(override_options): Rework to make -mipsN equivalent to -march.
+ 	Detect more erroneous cases, including those removed from CC1_SPEC.
+ 	Don't change the ABI based on architecture, or vice versa.
+ 	Unify logic with GAS.
+ 	(mips_asm_file_start): Get architecture name from mips_arch_info.
+ 	(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
+ 	(mips_parse_cpu): Take the name of the option as argument.  Handle
+ 	'from-abi'.  Raise an error if the option is wrong.
+ 	(mips_cpu_info_from_isa): New fn.
+ 
+ 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
+ 	(tablejump_mips162): Likewise.
+ 
+ Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
+ 	int_mode_for_mode.
+ 
+ 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-common.c (c_sizeof_or_alignof_type): Take a third argument for
+ 	complaining.
+ 	* c-common.h (c_sizeof): Adjust definition.
+ 	(c_alignof): Likewise.
+ 	* c-tree.h (c_sizeof_nowarn): Now macro.
+ 	* c-typeck.c (c_sizeof_nowarn): Remove definition.
+ 
+ 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-decl.c (c_decode_option): No need to handle switches
+ 	cpplib handles.
+ 
+ 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
+ 	ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
+ 	* doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
+ 	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
+ 
+ 	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
+ 	config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
+ 	config/cris/aout.h, config/i386/freebsd-aout.h,
+ 	config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
+ 	config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
+ 	config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
+ 	config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
+ 	config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
+ 	config/xtensa/elf.h, config/xtensa/linux.h:
+ 	Use the new macros.
+ 	Where possible, remove redundant definitions of SIZE_ASM_OP,
+ 	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
+ 
+ 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
+ 	TARGET_ISEL, and TARGET_FPRS.
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ 	-mabi=spe, -mabi=no-spe, and -misel=.
+ 
+ 	* config/rs6000/rs6000-protos.h: Add output_isel.
+ 	Move vrsave_operation prototype here.
+ 
+ 	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
+ 	(smaxsi3): Same.
+ 	(uminsi3): Same.
+ 	(umaxsi3): Same.
+ 	(abssi2_nopower): Disallow when TARGET_ISEL.
+ 	(*ne0): Same.
+ 	(negsf2): Change to expand and rename old pattern to *negsf2.
+ 	(abssf2): Change to expand and rename old pattern to *abssf2.
+ 
+ 	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
+ 	fixunssfsi2.
+ 
+ 	Change patterns that check for TARGET_HARD_FLOAT or
+ 	TARGET_SOFT_FLOAT to also check TARGET_FPRS.
+ 
+ 	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
+ 	rs6000_isel, rs6000_fprs, rs6000_isel_string.
+ 	(rs6000_override_options): Add 8540 case to
+ 	processor_target_table.
+ 	Set rs6000_isel for the 8540.
+ 	Call rs6000_parse_isel_option.
+ 	(enable_mask_for_builtins): New.
+ 	(rs6000_parse_isel_option): New.
+ 	(rs6000_parse_abi_options): Add spe and no-spe.
+ 	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
+ 	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
+ 	for TARGET_HARD_FLOAT.
+ 	Add case for SPE_VECTOR_MODE.
+ 	(rs6000_legitimize_reload_address): Handle SPE vector modes.
+ 	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
+ 	vector modes.
+ 	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
+ 	(rs6000_emit_move): Check for TARGET_FPRS.
+ 	Add cases for SPE vector modes.
+ 	(function_arg_boundary): Return 64 for SPE vector modes.
+ 	(function_arg_advance): Check for TARGET_FPRS and
+ 	Handle SPE vectors.
+ 	(function_arg): Same.
+ 	(setup_incoming_varargs): Check for TARGET_FPRS.
+ 	(rs6000_va_arg): Same.
+ 	(struct builtin_description): Un-constify mask field.  Move up in
+ 	file.
+ 	(bdesc_2arg): Un-constify and add SPE builtins.
+ 	(bdesc_1arg): Same.
+ 	(bdesc_spe_predicates): New.
+ 	(bdesc_spe_evsel): New.
+ 	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
+ 	(rs6000_expand_binop_builtin): Same.
+ 	(bdesc_2arg_spe): New.
+ 	(spe_expand_builtin): New.
+ 	(spe_expand_predicate_builtin): New.
+ 	(spe_expand_evsel_builtin): New.
+ 	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
+ 	(rs6000_init_builtins): Initialize SPE builtins.  Call
+ 	rs6000_common_init_builtins.
+ 	(altivec_init_builtins): Move all non-altivec builtin code to...
+ 	(rs6000_common_init_builtins): ...here.  New function.
+ 	(branch_positive_comparison_operator): Allow NE code for SPE.
+ 	(ccr_bit): Return correct ccr bit for SPE fp.
+ 	(print_operand): Emit crnor in 'D' case for SPE.
+ 	New case 't'.
+ 	Add SPE code for 'y' case.
+ 	(rs6000_generate_compare): Generate rtl for SPE fp.
+ 	(output_cbranch): Handle SPE hard floats.
+ 	(rs6000_emit_cmove): Handle isel.
+ 	(rs6000_emit_int_cmove): New.
+ 	(output_isel): New.
+ 	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
+ 	64-bits for SPE.
+ 	(debug_stack_info): Add SPE info.
+ 	(gen_frame_mem_offset): New.
+ 	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
+ 	Change mode of frame pointer, when saving it, to Pmode.
+ 	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
+ 	Misc cleanups and use gen_frame_mem_offset when appropriate.
+ 
+ 	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
+ 	(TARGET_SPE_ABI): New.
+ 	(TARGET_SPE): New.
+ 	(TARGET_ISEL): New.
+ 	(TARGET_FPRS): New.
+ 	(FIXED_SCRATCH): New.
+ 	(RTX_COSTS): Add PROCESSOR_PPC8540.
+ 	(ASM_CPU_SPEC): Add case for 8540.
+ 	(TARGET_OPTIONS): Add isel= case.
+ 	(rs6000_spe_abi): New.
+ 	(rs6000_isel): New.
+ 	(rs6000_fprs): New.
+ 	(rs6000_isel_string): New.
+ 	(UNITS_PER_SPE_WORD): New.
+ 	(LOCAL_ALIGNMENT): Adjust for SPE.
+ 	(HARD_REGNO_MODE_OK): Same.
+ 	(DATA_ALIGNMENT): Same.
+ 	(MEMBER_TYPE_FORCES_BLK): New.
+ 	(FIRST_PSEUDO_REGISTER): Set to 113.
+ 	(FIXED_REGISTERS): Add SPE registers.
+ 	(reg_class): Same.
+ 	(REG_CLASS_NAMES): Same.
+ 	(REG_CLASS_CONTENTS): Same.
+ 	(REGNO_REG_CLASS): Same.
+ 	(REGISTER_NAMES): Same.
+ 	(DEBUG_REGISTER_NAMES): Same.
+ 	(ADDITIONAL_REGISTER_NAMES): Same.
+ 	(CALL_USED_REGISTERS): Same.
+ 	(CALL_REALLY_USED_REGISTERS): Same.
+ 	(SPE_ACC_REGNO): New.
+ 	(SPEFSCR_REGNO): New.
+ 	(SPE_SIMD_REGNO_P): New.
+ 	(HARD_REGNO_NREGS): Adjust for SPE.
+ 	(VECTOR_MODE_SUPPORTED_P): Same.
+ 	(REGNO_REG_CLASS): Same.
+ 	(FUNCTION_VALUE): Same.
+ 	(LIBCALL_VALUE): Same.
+ 	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
+ 	(SPE_VECTOR_MODE): New.
+ 	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
+ 	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
+ 	(rs6000_stack): Add spe_gp_size, spe_padding_size,
+ 	spe_gp_save_offset.
+ 	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
+ 	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
+ 	(SPE_CONST_OFFSET_OK): New.
+ 	(rs6000_builtins): Add SPE builtins.
+ 
+ 	* testsuite/gcc.dg/ppc-spe.c: New.
+ 
+ 	* config/rs6000/eabispe.h: New.
+ 
+ 	* config/rs6000/spe.h: New.
+ 
+ 	* config/rs600/spe.md: New.
+ 
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ 	__SIMD__ for TARGET_SPE.
+ 
+ 	* config.gcc: Add powerpc-*-eabispe* case.
+ 	Add spe.h to user headers for powerpc.
+ 
+ 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
+ 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
+ 	* config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
+ 
+ 2002-07-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
+ 	form when not optimizing.
+ 
+ 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
+ 	thread_pointer_rtx as unchanging.
+ 
+ 2002-07-24  Michael Matz  <matz@suse.de>
+ 
+ 	* ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
+ 	(free_reg): Use it.
+ 
+ 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
+ 	pattern.
+ 	(arm_buneq_reversed, arm_bltgt_reversed): Likewise.
+ 	(movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
+ 
+ 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
+ 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
+ 	* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
+ 
+ Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Dump loops before clobbering
+ 	the structure.
+ 
+ Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
+ 
+ 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
+ 
+ 	PR optimization/7291
+ 	* config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
+ 	problem on x86_64.
+ 
+ 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* pretty-print.h: Add macros from cp/error.c
+ 
+ 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
+ 	(mask64_2_operand): Declare.
+ 	(build_mask64_2_operands): Declare.
+ 	(and64_2_operand): Declare.
+ 	(extract_MB): Declare.
+ 	(extract_ME): Declare.
+ 	* config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
+ 	CONST_DOUBLE code.
+ 	(mask_operand_wrap): New insn predicate.
+ 	(mask64_2_operand): Likewise.
+ 	(and64_2_operand): Likewise.
+ 	(build_mask64_2_operands): New function.
+ 	(extract_MB): New function.
+ 	(extract_ME): New function.
+ 	(print_operand <case m,M>): Use extract_MB and extract_ME.
+ 	(print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
+ 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
+ 	(PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
+ 	mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
+ 	* config/rs6000/rs6000.md (andsi3_internal3): New
+ 	(andsi3_internal3+1): Enable split for powerpc64.
+ 	(andsi3_internal3+2): New split.
+ 	(andsi3_internal4): Renamed old andsi3_internal3.
+ 	(andsi3_internal5): New.
+ 	(andsi3_internal5+1): Enable split for powerpc64.
+ 	(andsi3_internal5+2): New split.
+ 	(andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
+ 	(anddi3): Handle 't' constraint.
+ 	(anddi3+1): New split.
+ 	(anddi3_internal2): Handle 't' constraint.
+ 	(anddi3_internal2+1): New split.
+ 	(anddi3_internal3): Handle 't' constraint.
+ 	(anddi3_internal3+1): New split.
+ 
+ 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: Remove scratch reg on insns using
+ 	addze and similar (plus (comparison r1 r2) r3) insns.  Add
+ 	missing scratch reg in one case.  Formatting fixes.
+ 
+ 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (parse_defined): Mark macro used.
+ 	* cpphash.h (struct cpp_macro): New member "used".
+ 	(_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
+ 	(struct cpp_reader): New member.
+ 	* cppinit.c (cpp_finish_options): Set first_unused_line.
+ 	(cpp_finish): Warn of unused macros if requested.
+ 	(OPT_TABLE): New switches.
+ 	(cpp_handle_option): Handle them.
+ 	* cpplib.c (do_undef): Warn if macro unused.
+ 	(do_ifdef, do_ifndef): Mark macro used.
+ 	* cpplib.h (struct cpp_options): New member.
+ 	* cppmacro.c (_cpp_warn_if_unused_macro): New.
+ 	(enter_macro_context): Mark macro used.
+ 	(_cpp_create_definition): Mark macro unused; warn if unused
+ 	when redefined.
+ 	* cpptrad.c (scan_out_logcial_line, push_replacement_text):
+ 	Mark macros used.
+ 	* doc/cppopts.texi: Update.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* dwarf2out.c (SECTION_ASM_OP,
+ 	ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
+ 	* system.h (SECTION_ASM_OP): Poison.
+ 	* tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
+ 	* config/alpha/alpha-interix.h, config/mips/linux.h
+ 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
+ 	* config/mmix/mmix-protos.h, config/mmix/mmix.c
+ 	(mmix_asm_output_define_label_difference_symbol): Remove.
+ 	* config/mmix/mmix.h
+ 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
+ 	* doc/tm.texi: Remove documentation.
+ 
+ Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
+ 	(constrain_operands): Likewise.
+ 	* regclass.c (record_reg_classes): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* doc/md.texi: Likewise.
+ 
+ 	* reload.c (find_reloads_toplev): Use simplify_gen_subreg.
+ 	* simplify-rtx.c (simplify_subreg): When converting to a non-int
+ 	mode, try to convert to an integer mode of matching size first.
+ 
+ 	* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
+ 	from individual subregs, check that each subreg has been generated
+ 	sucessfully.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
+ 	* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
+ 	FOR_EACH_BB_IN_SBITMAP): Remove.
+ 	* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
+ 	* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
+ 	LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
+ 	* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
+ 	PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
+ 	* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
+ 
+ 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* pretty-print.h: New file.
+ 
+ 2002-07-23	Paul Koning	<pkoning@equallogic.com>
+ 
+ 	* real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
+ 	(LARGEST_EXPONENT_IS_NORMAL): Ditto.
+ 	(VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
+ 	(TARGET_G_FLOAT): Default to 0 if not defined.
+ 	(ieeetoe): New, common routine to convert target format floats
+ 	to internal form.
+ 	(e24toe, e53toe): Change to use ieeetoe, distinguish DEC
+ 	vs. others.
+ 	(e113toe): Change to use ieeetoe.
+ 
+ 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+ 
+ 	* real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
+ 	IBM.
+ 	(e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
+ 	(e64toe): Remove special cases for DEC and IBM. Remove support for
+ 	ARM_EXTENDED_IEEE_FORMAT.
+ 	(e24toe): Remove special cases for DEC.
+ 	(significand_size): Simplify. Indent.
+ 	(ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
+ 	(etoieee, toieee): New.
+ 	(etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
+ 	etoieee and toieee for IEEE arithmetic.
+ 
+ 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* doc/extend.texi: Say ISO C90, not ISO C89.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/standards.texi: Likewise.
+ 
+ 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
+ 	Fix permutation of conversion and plus/mult.
+ 	* gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
+ 	ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
+ 	(expand_builtin_strncpy) Ditto.
+ 	(expand_builtin_memset) Ditto.
+ 
+ 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	Fix PR/7363:
+ 	* c-common.c (c_sizeof_or_alignof_type): New function.
+ 	(c_alignof): Remove definition.
+ 	* c-common.h (c_sizeof, c_alignof): Define as macros.
+ 	(c_sizeof_or_alignof_type): Declare.
+ 	(my_friendly_assert): Moved from cp/cp-tree.h
+ 	* c-typeck.c (c_sizeof): Remove definition.
+ 
+ 2002-07-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (try_replace_reg): Use num_changes_pending.
+ 	* recog.c (num_changes_pending): New function.
+ 	(validate_replace_src): Use validate_repalce_src_group.
+ 	(validate_replace_src_group): New.
+ 	* recog.h (validate_repalce_src_group): New.
+ 	(num_changes_pending): Likewise.
+ 
+ Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* calls.c (emit_library_call_value_1): If
+ 	FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
+ 	libcall, const call nor pure call.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/m88k/m88k.h (SECTION_ASM_OP): Remove.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* vmsdbgout.c (SECTION_ASM_OP): Remove.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/i386/i386.c (AT_BP): Remove.
+ 
+ 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* defaults.h (obstack_chunk_alloc, obstack_chunk_free):
+ 	Default definition.
+ 	* gcse.c: Don't define obstack_chunk_free.
+ 	* collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
+ 	flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
+ 	integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
+ 	reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
+ 	Don't define obstack macros.
+ 
+ 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/6744
+ 	* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
+ 	ASM_OPERANDS instructions.
+ 
+ 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/7361
+ 	* config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
+ 	constant addresses only on 68HC12.
+ 
+ 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (stack_include_file): Correct test of whether
+ 	a dependency should be output.
+ 
+ 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (is_ctor_dtor): Add other possible JOINER values.
+ 
+ 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (movqi): If optimizing and we can create pseudos, use
+ 	a ZERO_EXTEND to load from memory, then copy the result into the
+ 	target.
+ 	(movhi): Likewise, but only for ARMv4.
+ 
+ 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* ssa-ccp.c (PHI_PARMS): Remove.
+ 
+ 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
+ 	on big-endian targets.
+ 
+ 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
+ 	HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
+ 	HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
+ 	New formatting macros.
+ 
+ 	* ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
+ 
+ Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* rtlanal.c (subreg_regno_offset): Return correct offset for
+ 	big endian paradoxical subregs.
+ 
+ 	* optabs.c (expand_vector_unop): Don't expand using sub_optab
+ 	if we got the wrong mode.
+ 
+ 	* hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
+ 	* genrecog.c (write_switch, write_cond): Use it.
+ 	* genemit.c (gen_exp): Likewise.
+ 
+ 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
+ 
+ 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (build_compound_literal): Defer compound literal decls
+ 	until until file end to emit them only if they are actually used.
+ 
+ 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ra-build.c (check_conflict_numbers): Hide unused function.
+ 	(livethrough_conflicts_bb): Avoid automatic aggregate
+ 	initialization.
+ 	(parts_to_webs_1): Avoid `U' integer constant modifier.
+ 	(conflicts_between_webs): Wrap a variable in the macro controlling
+ 	its usage.
+ 	* ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
+ 	(dump_igraph, dump_graph_cost): Avoid string concatenation
+ 	(dump_static_insn_cost): Avoid automatic aggregate
+ 	initialization.
+ 	* ra-rewrite.c (insert_stores): Avoid automatic aggregate
+ 	initialization.
+ 	(dump_cost): Avoid string concatenation
+ 
+ 2002-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
+ 	GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
+ 
+ 2002-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
+ 	that are not unrolled completely.
+ 
+ 2002-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
+ 	* loop.c (strength_reduce): Update.
+ 	* toplev.c (rest_of_compilation): Do unrolling in the first
+ 	loop pass, not the second.
+ 
+ 2002-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
+ 	when flag_argument_noalias == 2.
+ 	* alias.c (nonoverlapping_memrefs_p): Handle that.
+ 	* print-rtl.c (print_mem_expr): Likewise.
+ 
+ 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
+ 
+ 	* libgcc2.c (__divdi3, __moddi3): Use unary minus operator
+ 	instead of __negdi2 directly.
+ 
+ 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
+ 	* function.c (SYMBOL__MAIN): Remove definition.
+ 	* global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
+ 	* predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
+ 	* profile.c (GCOV_INDEX_TO_BB): Remove.
+ 	* sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
+ 	* simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
+ 
+ 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-lex.c (GET_ENVIRONMENT): Remove.
+ 	* collect2.c (GET_ENV_PATH_LIST): Remove.
+ 	(prefix_from_env): Use GET_ENVIRONMENT.
+ 	* cppinit.c (GET_ENV_PATH_LIST): Remove.
+ 	(init_standard_includes): Use GET_ENVIRONMENT.
+ 	* defaults.h (GET_ENVIRONMENT): Define here if not already.
+ 	* gcc.c (GET_ENV_PATH_LIST): Remove.
+ 	(make_relative_prefix, process_command): Update.
+ 	* protoize.c (GET_ENV_PATH_LIST): Remove.
+ 	(do_processing): Update.
+ 
+ 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
+ 
+ 	* c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
+ 	(grokdeclarator): Likewise.
+ 	* c-format.c (C_STD_NAME): Likewise.
+ 	* c-lex.c (interpret_integer): Likewise.
+ 	* c-typeck.c (build_array_ref): Likewise.
+ 	* cpplex.c (_cpp_lex_direct): Likewise.
+ 	* toplev.c (documented_lang_options): Likewise.
+ 
+ 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-format.c (T99_I, T99_UI): Remove.
+ 
+ 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
+ 
+ Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
+ 	do_local_cprop.
+ 
+ 2002-07-21  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* reload1.c (fixup_abnormal_edges): Remove unused variable.
+ 
+ 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	Improvements for the ifcvt pass from Michael Meissner, with patches
+ 	by Richard Sandiford <rsandifo@redhat.com>
+ 	* basic-block.h (struct ce_if_block, ce_if_block_t): New types.
+ 	* ifcvt.c (cond_exec_changed_p): New static variable.
+ 	(last_active_insn): New function, renamed from last_active_insn_p
+ 	and changed to return the last active insn in a basic block. All
+ 	callers updated.
+ 	(block_fallthru): New function.
+ 	(cond_exec_process_insns): New argument CE_INFO.  Pass it to
+ 	IFCVT_MODIFY_INSN.  All callers updated.
+ 	Return false if START or END are NULL.
+ 	Handle case where we're processing an insn that is already
+ 	conditional.
+ 
+ 	(noce_process_if_block): CE_INFO argument rather than
+ 	multiple args containing the involved basic blocks.  All callers
+ 	changed.
+ 	(process_if_block, merge_if_block, find_if_block,
+ 	cond_exec_process_if_block): Likewise.
+ 
+ 	(cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
+ 	changed.
+ 	Use new function last_active_insn to simplify some code.
+ 	New code to handle multiple tests.
+ 	Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
+ 	cond_exec_changed_p to TRUE.
+ 
+ 	(process_if_block): New code to handle multiple tests.
+ 	(merge_if_block): Likewise.
+ 	(find_if_header): New arg PASS.  Changed to return the currently
+ 	processed basic block or NULL instead of true/false. All callers
+ 	changed.
+ 	Call IFCVT_INIT_EXTRA_FIELDS.
+ 	(block_jumps_and_fallthru_p): New function.
+ 	(find_if_block): Discover opportunities to convert multiple tests.
+ 	Add additional debugging output.
+ 	Update the ce_info structure before returning.
+ 
+ 	(if_convert): Run multiple passes of if-conversion.
+ 	* doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
+ 	IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
+ 	IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
+ 	these macros.
+ 
+ Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c: Include cselib.h
+ 	(constptop_register): Break out from ...
+ 	(cprop_insn): ... here; kill basic_block argument.
+ 	(do_local_cprop, local_cprop_pass): New functions.
+ 	(one_cprop_pass): Call local_cprop_pass.
+ 
+ 2002-07-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Optimize
+ 	abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
+ 
+ 2002-07-20  Michae Matz  <matz@suse.de>
+ 
+ 	* ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
+ 
+ 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (struct op): Add token pointer.
+ 	(check_promotion, CHECK_PROMOTION): New.
+ 	(optab): Update.
+ 	(_cpp_parse_expr): Update, use token pointer of struct op.
+ 	(reduce): Warn about change of sign owing to promotion.
+ 	* cppinit.c (cpp_handle_option): New warning if -Wall.
+ 	* cpplib.h (struct cpp_options): New member.
+ 
+ 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
+ 	fpu list.  Separate Power4 compare and delayed_compare.  Correct
+ 	Power4 fpcompare.
+ 	(fix_truncdfsi2_internal): Restore FPR preference.
+ 	* config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
+ 	mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
+ 
+ 2002-07-19  Momchil Velikov <velco@fadata.bg>
+ 
+ 	* reload1.c (reload_as_needed): Duplicate oldpat.
+ 
+ 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR optimization/7130
+ 	* loop.h (struct loop_info): Add "preconditioned".
+ 	* unroll.c (unroll_loop): Set it.
+ 	* doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
+ 
+ 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.def (CODE_LABEL): Remove slot 8.
+ 	* rtl.h (struct rtx_def): Document new uses of jump and call fields.
+ 	(LABEL_ALTERNATE_NAME): Delete.
+ 	(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
+ 	* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
+ 
+ 	* final.c (output_alternate_entry_point): New.
+ 	(final_scan_insn): Use it instead of
+ 	ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
+ 	of a case label being an alternate entry point.
+ 
+ 	* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
+ 	* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
+ 	Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
+ 	(field deleted).
+ 	* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
+ 
+ 	* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
+ 	LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
+ 	* doc/tm.texi: Delete documentation of
+ 	ASM_OUTPUT_ALTERNATE_LABEL_NAME.
+ 
+ 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
+ 	(PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
+ 	(LINK_SPEC): Define.
+ 	(STARTFILE_SPEC): Define.
+ 	(ENDFILE_SPEC): Define.
+ 
+ 	* config/mips/iris6-o32.h (LINK_SPEC): Move ...
+ 	* config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
+ 
+ 	* config/mips/iris6-o32-gas.h: New file.
+ 	* config.gcc (mips-sgi-irix6*o32): Use it.
+ 
+ 	* config/mips/t-iris5-gas: New file.
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
+ 
+ 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (ALWAYS_EVAL): Remove.
+ 	(optab, reduce): Always evaluate.
+ 	(num_unary_op, num_binary_op, num_div_op): Issue diagnostics
+ 	only if not skipping evaluation.
+ 
+ 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (debug_hard_reg_set): Remove.
+ 
+ 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* gcc.c (cpp_options): Include "%1" (cc1_spec).
+ 
+ 2002-07-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
+ 
+ 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* prefix.c (update_path): Don't zap single `.' path components
+ 	unless followed by another `.' and fix typo last patch.
+ 
+ 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (cpp_num_mul): Remove unused parameter.
+ 	(UNARY, BINARY, OTHER, binary_handler): Remove.
+ 	(ALWAYS_EVAL): New.
+ 	(optab): Update.
+ 	(reduce): Refactor to a large switch, don't use a function
+ 	pointer.
+ 
+ 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
+ 
+ 	* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
+ 
+ Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
+ 	(sh_expand_binop_v2sf): Likewise.
+ 	* sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
+ 	(int_gpr_dest, trunc_hi_operand): New functions.
+ 	* sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
+ 	trunc_hi_operand.
+ 	(SPECIAL_MODE_PREDICATES, any_register_operand): Define.
+ 	* sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
+ 	(adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
+ 	(ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
+ 	(and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
+ 	(zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
+ 	(extendhisi2_media+1, extendqisi2_media+1): Likewise.
+ 	(movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
+ 	(movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
+ 	(movsf_ie+1): Likewise.
+ 	(loaddi_trunc): Use int_gpr_dest predicate.
+ 	(use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
+ 	(mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
+ 	(casesi_worker_0+[12], casesi_worker): Likewise.
+ 	(shcompact_preserve_incoming_args): Likewise.
+ 	(mov_nop): Use any_register_operand predicate.
+ 	(mperm_w0): Use trunc_hi_operand predicate.
+ 
+ 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
+ 	* pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
+ 	numbering.
+ 
+ 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
+ 
+ 2002-07-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/7147
+ 	* ifcvt.c (noce_get_condition): Make certain that the condition
+ 	is valid at JUMP.
+ 
+ Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (barrier_align, push): Shut up compiler warnings.
+ 	(initial_elimination_offset,sh_media_init_builtins): Likewise.
+ 	(reg_no_subreg_operand): Delete.
+ 
+ 2002-07-17  Bo Thorsen  <bo@suse.de>
+ 
+ 	* config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
+ 	(STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
+ 	(STARTFILE_SPEC): Remove hardcoded library paths.
+ 	(ENDFILE_SPEC): Likewise.
+ 
+ Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
+ 
+ 	* gcse.c (try_replace_reg): Do not return false positives.
+ 
+ 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* prefix.c: (update_path): Strip ".." components when prior dir
+ 	doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
+ 	(ASM_OUTPUT_REG_POP): Likewise.
+ 
+ 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
+ 	adjustments to first_reg for profiling case.
+ 	(output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
+ 	Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
+ 	Save static chain reg to sp + 12 on ABI_AIX_NODESC.
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
+ 	(ASM_OUTPUT_REG_POP): Define.
+ 	* config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
+ 	(ASM_OUTPUT_REG_POP): Undef.
+ 
+ 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplib.c (do_sccs): Handle #sccs on all systems.
+ 	* system.h (SCCS_DIRECTIVE): Poison.
+ 	* config/darwin.h, config/freebsd.h, config/netbsd.h,
+ 	config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
+ 	config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
+ 	config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
+ 	config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
+ 	config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
+ 	config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
+ 	config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
+ 	Remove all references to SCCS_DIRECTIVE.
+ 	* doc/cpp.texi, doc/tm.texi: Update.
+ 
+ Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* regrename.c (maybe_mode_change): New function.
+ 	(find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
+ 
+ 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_movcc): In the general case
+ 	suppress addition when either ct or cf are zero.
+ 
+ 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
+ 	    Glen Nakamura <glen@imodulo.com>
+ 
+ 	PR optimization/6713
+ 	* loop.c (loop_givs_rescan): Explicitly delete the insn that
+ 	sets a non-replaceable giv after issuing the new one.
+ 
+ 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
+ 	eval_token): Clarify and correct use of "bool" variables.
+ 	* cpplib.h (struct cpp_options): Similarly.
+ 	* cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
+ 	* cpptrad.c (recursive_macro): Similarly.
+ 
+ Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
+ 	SHmedia code.
+ 
+ 	* sh.md (cmpgtudi_media): Remove spurious @.
+ 
+ 	* config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
+ 	* sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
+ 
+ 	* config/sh/lib1funcs.asm (init_trampoline): New entry point.
+ 	* sh-protos.h (sh_initialize_trampoline): Declare.
+ 	* sh.c (sh_initialize_trampoline): New function.
+ 	* sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
+ 	(TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
+ 	(INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
+ 	(TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
+ 	* sh.md (initialize_trampoline, double_shori): New patterns.
+ 	(initialize_trampoline_compact): Likewise.
+ 	(shmedia32_initialize_trampoline_big): Remove.
+ 	(shmedia32_initialize_trampoline_little): Likewise.
+ 
+ 	* sh-protos.h (binary_float_operator): Remove declaration.
+ 	(sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
+ 	* sh.c (print_operand, case 'N'): Check against CONST0_RTX.
+ 	(unary_float_operator, sh_expand_unop_v2sf): New functions.
+ 	(sh_expand_binop_v2sf): Likewise.
+ 	(zero_vec_operand): Delete.
+ 	(SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
+ 	all non-shared ones.
+ 	(bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
+ 	Enable nsb and byterev.
+ 	* sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
+ 	(HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
+ 	in general regs.
+ 	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
+ 	immediate operands.
+ 	(SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
+ 	Add DF_HI_REGS.
+ 	(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
+ 	lowpart fp regs - only for big endian for now.
+ 	(LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
+ 	when FPU is in use.
+ 	(EXTRA_CONTRAINT_U): Check against CONST0_RTX.
+ 	(LOAD_EXTEND_OP): NIL for SImode.
+ 	(REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
+ 	general and fp registers is 4.
+ 	PREDICATE_CODES: Amend binary_float_operator entry.
+ 	Remove zero_vec_operand.  Add unary_float_operator.
+ 	* sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
+ 	subreg SET_DEST.
+ 	(truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
+ 	(truncdiqi2): Do sign extension.
+ 	(movsi_media, movdi_media): Allow to use r63 to an fp register.
+ 	(movdf_media, movsf_media): Likewise.
+ 	(movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
+ 	Collapse to one define_insn_and_split.  Allow immediate sources.
+ 	(addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
+ 	(movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
+ 	(movv4sf): Allow immediate sources.
+ 	(movsf_media_nofpu+1): Don't split moves to FP registers.
+ 	(unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
+ 	(movv8qi_i+3): Check against CONST0_RTX.
+ 	(mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
+ 	for input and output operands.  Fix argument 3 to gen_mextr_rl.
+ 	(mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
+ 	(msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
+ 	(mshf0_w, fipr, ftrv): Likewise.
+ 	(mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
+ 
+ 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+ 
+ 	* arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
+ 	NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
+ 	* arm.c: Similarly.
+ 
+ 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_sign_extend): Declare.
+ 	* config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
+ 	(TARGET_SWITCHES): Remove debugh.
+ 	(ISA_HAS_TRUNC_W): New macro.
+ 	(CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
+ 	(PREDICATE_CODES): Remove se_nonimmediate_operand.
+ 	* config/mips/mips.c (movdi_operand): Allow sign-extensions of
+ 	any SImode move_operand.
+ 	(se_nonimmediate_operand): Remove.
+ 	(mips_sign_extend): New.
+ 	(mips_move_2words): Use it for sign-extended source operands.
+ 	(override_options): Allow integers to be put into single FPRs.
+ 	(mips_secondary_reload_class): Handle integers in float registers.
+ 	* config/mips/mips.md (extendsidi2): Turn into a define_expand.
+ 	(fix_truncsfsi2, fix_truncdfsi2): Likewise.
+ 	(fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
+ 	(fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
+ 	(fix_truncdfdi2): Provide only a single alternative, in which the
+ 	integer is in a float register.  Depend on TARGET_FLOAT64 rather
+ 	than TARGET_64BIT.
+ 	(fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
+ 	(floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
+ 	(movdi_internal2): Don't allow the source operand to be sign-extended.
+ 	Add alternatives for float registers.
+ 	(*movdi_internal2_extend): New.  Version of movdi_internal2 that
+ 	allows sign-extension.
+ 	(*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
+ 	(movsi_internal2): Rename to movsi_internal.  Add alternatives for
+ 	float registers.  Remove TARGET_DEBUG_H_MODE test.
+ 	(movhi_internal1): Rename to movhi_internal.  Don't check
+ 	TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
+ 	(movqi_internal1): Rename to movqi_internal and remove
+ 	TARGET_DEBUG_H_MODE dependency.
+ 	(movsi_internal1, movhi_internal2, movqi_internal2): Remove.
+ 
+ 2002-07-16  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* toplev.c (lang_dependent_init): Create function context for
+ 	init_expr_once.
+ 
+ 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
+ 	--gc-sections if -r.
+ 	* config/cris/cris.h: Ditto.
+ 
+ 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_movcc): In the case where
+ 	the comparison directly gives a mask suppress addition when cf is
+ 	zero by complementing the mask.
+ 
+ 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in: Delete references to enquire.
+ 	* enquire.c: Move to contrib.
+ 
+ 2002-07-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
+ 	config/rs6000/darwin.h.
+ 	(ASM_OUTPUT_SKIP): Ditto.
+ 	(TEXT_SECTION_ASM_OP): Ditto.
+ 	(DATA_SECTION_ASM_OP): Ditto.
+ 	(ASM_APP_ON): Define.
+ 	(ASM_APP_OFF): Define.
+ 	* config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
+ 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
+ 
+ 	* config/darwin.c (func_name_maybe_scoped): Remove unused decl.
+ 	(machopic_function_base_name): Declare result to be const.
+ 	(machopic_non_lazy_ptr_name): Ditto.
+ 	(machopic_stub_name): Ditto.
+ 	* config/darwin-protos.h: Ditto for the prototypes.
+ 
+ Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
+ 
+ Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (prefetch): Fix for 64bit mode.
+ 	(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
+ 
+ Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (MACHINE_DEPENDENT_REORG): New macro.
+ 	* i386.c (x86_machine_dependent_reorg): New function.
+ 	* i386-protos.h (x86_machine_dependent_reorg): Declare.
+ 
+ 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* builtins.c (std_expand_builtin_va_start): Remove unused
+ 	first argument.
+ 	(expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
+ 	std_expand_builtin_va_start with just two arguments.
+ 	* expr.h: Update prototypes.
+ 
+ 	* alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
+ 	arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
+ 	i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
+ 	m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
+ 	mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
+ 	rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
+ 	s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
+ 	sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
+ 	xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
+ 	argument from all implementations of EXPAND_BUILTIN_VA_START
+ 	and all uses of std_expand_builtin_va_start.
+ 
+ Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* regrename.c (copy_value): Don't record high part copies.
+ 
+ 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
+ 	(fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
+ 	* gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
+ 
+ 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+ 
+ 	* doc/invoke.texi (NS32K Options): Document -mieee-compare option
+ 
+ 	* config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
+ 	into addsi3 using register class "x" and "y".
+ 
+ 	* config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
+ 	"earlyclobber" constraint modifier for some alternative.
+ 
+ 	* config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
+ 	(*ble, *blt): Flag to indicate bCOND and sCOND should check for
+ 	unordered.
+ 	config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
+ 
+ 	* config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
+ 	(TARGET_SWITCHES): Add -mieee-compare option.
+ 	(OVERRIDE_OPTIONS): 32332 is a subset of
+ 	32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
+ 	(TARGET_SWITCHES): Fix description of bitfield option.
+ 	* config/ns32k/netbsd.h (TARGET_DEFAULT): Add
+ 	-mieee-compare option. Remove 32332 flag.
+ 
+ 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* explow.c (convert_memory_address): Remove special handling
+ 	when POINTERS_EXTEND_UNSIGNED < 0.
+ 	* config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
+ 	(movedi_symbolic): Fix typo.
+ 	(load_fptr): Remove mode restriction so it works for SI and DI.
+ 	(load_fptr_internal1): Ditto.
+ 	(load_gprel): Ditto.
+ 	(load_symptr_internal1): Ditto.
+ 	(call_pic): Ditto.
+ 	* config/ia64.c (call_operand): Modify mode check.
+ 	(ia64_expand_load_address): Handle DI and SI addresses and symbols.
+ 	(ia64_expand_move): Ditto.
+ 	(ia64_assemble_integer): Handle SImode function pointers.
+ 	(ia64_expand_fetch_and_op): Handle SImode mem addresses.
+ 	(ia64_expand_op_and_fetch): Ditto.
+ 	(ia64_expand_compare_and_swap): Ditto.
+ 	(ia64_expand_lock_test_and_set): Ditto.
+ 	(ia64_expand_lock_release): Ditto.
+ 
+ 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+ 
+ 	* arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
+ 
+ 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
+ 	    Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
+ 	CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
+ 
+ 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (stack_tie): New insn.  Use an idiom that the alias code
+ 	understands to be a memory clobber.
+ 	* arm.c (arm_expand_prologue): Use it.
+ 
+ 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* ra-rewrite.c: #include reload.h, insn-config.h
+ 	* ra-build.c: #include reload.h
+ 	* Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
+ 	depend on reload.h, insn-config.h.
+ 
+ Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* expr.c (emit_move_insn_1): Handle arbitrary moves that are
+ 	the same size as a word.
+ 
+ 	* regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
+ 	BYTES_BIG_ENDIAN into account.
+ 
+ Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (prefetch): Fix for 64bit mode.
+ 	(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
+ 
+ 	* i386.md (movss, movsd): Use xorps/xorpd for Athlon.
+ 
+ 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
+ 
+ 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ginclude/varargs.h: Replace with stub which issues #error.
+ 	* ginclude/stdarg.h: __builtin_stdarg_start is renamed
+ 	__builtin_va_start.
+ 
+ 	* builtins.def (BUILT_IN_VARARGS_START): Delete.
+ 	(BUILT_IN_VA_START): New.
+ 	* builtins.c (expand_builtin_va_start): Eliminate first
+ 	argument and code to implement pre-ISO varargs.
+ 	(std_expand_builtin_va_start): Ignore first argument; it is
+ 	always 1.
+ 	(expand_builtin): Handle BUILT_IN_VA_START and
+ 	BUILT_IN_STDARG_START identically.  Delete
+ 	BUILT_IN_VARARGS_START case.
+ 
+ 	* function.c (assign_parms): Delete hide_last_arg and all
+ 	its uses.
+ 	(mark_varargs): Delete function.
+ 	* function.h (struct function): Delete 'varargs' bit.
+ 	(current_function_varargs): Delete macro.
+ 	* tree.h: Don't declare mark_varargs.
+ 
+ 	* c-decl.c (c_function_varargs, c_mark_varargs): Delete.
+ 	(c_expand_body): Don't call mark_varargs.
+ 	* c-objc-common.c: Handle BUILT_IN_VA_START and
+ 	BUILT_IN_STDARG_START identically.  Delete
+ 	BUILT_IN_VARARGS_START case.
+ 	* c-tree.h: Don't declare c_mark_varargs.
+ 	* c-parse.in: Remove grammar rules for '&...' (which has been
+ 	commented out since before 2.7.2) and for '...' in K+R
+ 	argument declarations.
+ 
+ 	* builtins.c, function.c, integrate.c, sibcall.c,
+ 	config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
+ 	config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
+ 	config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
+ 	config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
+ 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
+ 	config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
+ 	config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
+ 	config/stormy16/stormy16.c: Delete all references to
+ 	current_function_varargs, and code predicated on that flag.
+ 
+ 	* config/alpha/alpha.c (alpha_va_start),
+ 	config/arc/arc.c (arc_va_start),
+ 	config/i386/i386.c (ix86_va_start),
+ 	config/mips/mips.c (mips_va_start),
+ 	config/mn10300/mn10300.c (mn10300_va_start),
+ 	config/rs6000/rs6000.c (rs6000_va_start),
+ 	config/s390/s390.c (s390_va_start),
+ 	config/sh/sh.c (sh_va_start),
+ 	Ignore first argument; it is always 1.
+ 
+ 	* config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
+ 	* config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
+ 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
+ 	Delete m68hc11_va_start.
+ 	* config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
+ 	No need to define EXPAND_BUILTIN_VA_START.
+ 
+ 	* doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
+ 	doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
+ 
+ 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	PR optimization/7153
+ 	* regmove.c (optimize_reg_copy_3): Don't optimize if the register
+ 	dies in more than one insn.
+ 
+ 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
+ 
+ 2002-07-15  Michael Matz  <matz@suse.de>,
+ 	    Daniel Berlin  <dberlin@dberlin.org>,
+ 	    Denis Chertykov  <denisc@overta.ru>
+ 
+ 	Add a new register allocator.
+ 
+ 	* ra.c: New file.
+ 	* ra.h: New file.
+ 	* ra-build.c: New file.
+ 	* ra-colorize.c: New file.
+ 	* ra-debug.c: New file.
+ 	* ra-rewrite.c: New file.
+ 
+ 	* Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
+ 	(ra-rewrite.o): New .o files for libbackend.a.
+ 	(GTFILES): Add basic-block.h.
+ 
+ 	* toplev.c (flag_new_regalloc): New.
+ 	(f_options): New option "new-ra".
+ 	(rest_of_compilation): Call initialize_uninitialized_subregs()
+ 	only for the old allocator.  If flag_new_regalloc is set, call
+ 	new allocator, instead of local_alloc(), global_alloc() and
+ 	friends.
+ 
+ 	* doc/invoke.texi: Document -fnew-ra.
+ 	* basic-block.h (FOR_ALL_BB): New.
+ 	* config/rs6000/rs6000.c (print_operand): Write small constants
+ 	as @l+80.
+ 
+ 	* df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
+ 	(df_reg_table_realloc): Make size at least as large as max_reg_num().
+ 	(df_insn_table_realloc): Size argument now is absolute, not relative.
+ 	Changed all callers.
+ 
+ 	* gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
+ 	* regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
+ 
+ 	2002-06-20  Michael Matz  <matz@suse.de>
+ 
+ 	* df.h (struct ref.id): Make unsigned.
+ 	* df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
+ 
+ 	2002-06-13  Michael Matz  <matz@suse.de>
+ 
+ 	* df.h (DF_REF_MODE_CHANGE): New flag.
+ 	* df.c (df_def_record_1, df_uses_record): Set this flag for refs
+ 	involving subregs with invalid mode changes, when
+ 	CLASS_CANNOT_CHANGE_MODE is defined.
+ 
+ 	2002-05-07  Michael Matz  <matz@suse.de>
+ 
+ 	* reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
+ 
+ 	2002-05-03  Michael Matz  <matz@suse.de>
+ 
+ 	* sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
+ 
+ 	Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* regclass.c (regclass): Work with all regs which have sets or
+ 	refs.
+ 	(reg_scan_mark_refs): Count regs inside (clobber ...).
+ 
+ 	2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
+ 
+ 	* df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
+ 	(df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
+ 	add new refs.
+ 	(df_bb_refs_update): Don't clear insns_modified here, ...
+ 	(df_analyse): ... but here.
+ 
+ 	* sbitmap.c (dump_sbitmap_file): New.
+ 	(debug_sbitmap): Use it.
+ 
+ 	* sbitmap.h (dump_sbitmap_file): Add prototype.
+ 
+ 	2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* df.c (df_insn_modify): Grow the UID table if necessary, rather
+ 	than assume all emits go through df_insns_modify.
+ 
+ 	2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
+ 	increase REG_N_REFS (like flow does), so that regclass doesn't
+ 	think a reg is useless, and thus, not calculate a class, when it
+ 	really should have.
+ 
+ 	2001-01-28  Daniel Berlin  <dberlin@redhat.com>
+ 
+ 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
+ 	dataflow analysis.
+ 
+ 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/7245
+ 	* config/i386/i386.c (const_int_1_31_operand): New.
+ 	* config/i386/i386.h (PREDICATE_CODES): Add it.
+ 	* config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
+ 	ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
+ 	lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
+ 
+ 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/7282
+ 	* config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
+ 	(floatunssidf2): Likewise.
+ 	(floatsidf_ppc64): New insn_and_split.
+ 	(floatunssidf_ppc64): Likewise.
+ 
+ 2002-07-14  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config.gcc (sh64): Remove unused
+ 	target_requires_64bit_host_wide_int.
+ 
+ 2002-07-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c [CLEAR_RATIO]: New macro defining the maximum number
+ 	of move instructions to use when clearing memory, c.f. MOVE_RATIO.
+ 	[CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
+ 	whether clear_by_pieces should be used to clear storage.
+ 	(clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
+ 
+ 	* doc/tm.texi: Document these two new target macros.
+ 
+ 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
+ 	the scratch register.
+ 	("*movhi2_push"): Accept Z_REG because a split pattern can make use
+ 	of it, forbid reload to use it.
+ 
+ 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
+ 	usage on 64-bit hosts, return value was truncated to 32 bits.
+ 
+ Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Handle floating point
+ 	CONST_DOUBLEs.  When an integer subreg of a smaller mode than
+ 	the element mode is requested, compute a subreg with an
+ 	integer mode of the same size as the element mode first.
+ 
+ Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* combine.c (try_combine): When converting a paradoxical subreg
+ 	to an extension, take LOAD_EXTEND_OP into account.
+ 
+ 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (mips-sgi-irix6*o32): New configuration.
+ 
+ 	* configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
+ 	configurations.
+ 	* configure: Regenerate.
+ 
+ 	* config/mips/iris6-o32-as.h: New file.
+ 	* config/mips/iris6-o32.h: New file.
+ 
+ 	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
+ 	(NM_FLAGS): Define.
+ 	(HAVE_AS_SHF_MERGE): Undefine.
+ 
+ 	* config/mips/t-iris5-as: New file.
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
+ 
+ 	* config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
+ 	SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
+ 	SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
+ 	dp-bit.c, fp-bit.c): Move ...
+ 	* config/mips/t-iris5-6: ... here.
+ 	New file, shared by IRIX 5 and IRIX 6.
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
+ 	mips-sgi-irix5*): Use it.
+ 
+ 	* config/mips/iris6.h: Remove duplicate comment.
+ 
+ 	* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
+ 	!TARGET_IRIX6]: Define.
+ 	(mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
+ 
+ 	* config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
+ 
+ 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
+ 	and delete code to force constant to register.
+ 	* pa-protos.h (adddi3_operand): Add prototype.
+ 	* pa.c (adddi3_operand): New function.
+ 
+ 2002-07-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-decl.c (duplicate_decls): Preserve the noreturn attribute on
+ 	non-ANSI builtin functions.
+ 
+ Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* rtl.h (gen_rtx_CONST_VECTOR): Declare.
+ 	* gengenrtl.c (special_rtx): Check for CONST_VECTOR.
+ 	* emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
+ 	(gen_const_vector_0): Use it.
+ 
+ 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (adddi3): For 32-bit targets, force constants to a register
+ 	if they don't fit in an 11-bit immediate.  Change insn predicate to
+ 	arith11_operand.  Remove comment.
+ 	* pa.c (cint_ok_for_move): Fix comment.
+ 	(emit_move_sequence):  Don't directly split DImode constants on 32-bit
+ 	targets.
+ 
+ 2002-07-11  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	Remove front end hard coding from gengtype.c.
+ 
+ 	* Makefile.in
+ 	(STAGESTUFF): add gtyp-gen.h
+ 	(GTFILES): Remove front end specific files.
+ 	(GTFILES_FILES_LANGS): New, from configure..
+ 	(GTFILES_FILES_FILES): Likewise.
+ 	(GTFILES_LANG_DIR_NAMES): Likewise.
+ 	(GTFILES_SRCDIR): Likewise.
+ 	(gtyp-gen.h): Build from configure information.
+ 	(s-gtype): Remove command line parameters from gengtype.
+ 	(gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
+ 	(mostlyclean): Delete files generated by and for gengtype.
+ 
+ 	* c-config-lang.in: New file.
+ 
+ 	* configure.in (all_gtfiles_files_langs): New. Accumulate files
+ 	for each language.
+ 	(all_gtfiles_files_files): New. Accumulate language for each file
+ 	accumulated.
+ 	(gtfiles): Pick up value for C.
+ 	(srcdir): AC-SUBST this variable.
+ 	(all_gtfiles_files_langs): AC-SUBST this variable.
+ 	(all_gtfiles_files_files): AC-SUBST this variable.
+ 
+ 	* configure: Regenerate.
+ 
+ 	* gengtype-lex.l (parse_file): Make parameter const.
+ 
+ 	* gengtype.c (toplevel): include gtyp-gen.h.
+ 	(BASE_FILE_<language> unnamed enum): Delete.
+ 	(lang_names): Delete (replaced by gtyp-gen.h)
+ 	(lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
+ 	all references.
+ 	(NUM_GT_FILES): New.
+ 	(NUM_LANG_FILES): New.
+ 	(srcdir_len): New.
+ 	(NUM_BASE_FILES): Change calculation.
+ 	(open_base_files): Change prototype to avoid warning.
+ 	(startswith): Delete.
+ 	(get_file_basename): Iterate through generated language list not
+ 	hard coded list.
+ 	(get_base_file_bitmap): Use generated list of files and languages.
+ 	(close_output_files): Add prototype to rmove warning.
+ 	(main): Iterate through list of generated files from gtyp-gen.h
+ 	rather than command line paramaters.  Ignore duplicated file
+ 	names.
+ 
+ 	* gengtype.h (parse_file): Amend prototype for const parameter.
+ 
+ 	* doc/sourcebuild.texi: Document gtfiles variable.
+ 
+ 	* doc/gty.texi: Document changes to gtfiles variable for front
+ 	ends.
+ 
+ 	* objc/config-lang.in (gtfiles): Add files needed for objc front
+ 	end.
+ 
+ 2002-07-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/2454
+ 	* combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
+ 	to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
+ 
+ 2002-07-10  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* builtins.def: Make the argument types of abort and exit
+ 	independent of the front-end.
+ 
+ 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (ASM_SPEC): Define.
+ 
+ 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (emit_frame_save): New.
+ 	(rs6000_frame_related): Replace reg2 before reg.
+ 	(rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
+ 	and eh_return registers.
+ 
+ 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	Revert all patches for optimization of Complex .op. Real.
+ 	* complex_part_zero_p: Remove
+ 	* expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
+ 	with x.
+ 	* expand_cmplxdiv_wide: Ditto.
+ 	* expand_binop: Ditto.
+ 
+ 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.md: Fix two 0x80000000 constants to make them
+ 	negative also on 64-bit hosts.
+ 
+ 	Default to -fno-reorder-blocks when optimizing for size.
+ 	* config/avr/avr-protos.h (avr_optimization_options): Declare.
+ 	* config/avr/avr.c (avr_optimization_options): New function.
+ 	* config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
+ 
+ 	Optimize returning from simple functions.
+ 	* config/avr/avr-protos.h (avr_simple_epilogue): Declare.
+ 	* config/avr/avr.c (avr_simple_epilogue): New function.
+ 	* config/avr/avr.md (return): New insn.
+ 
+ 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
+ 	HAS_INIT_SECTION to protection.
+ 
+ 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi (Debugging Options): Mention that -gdwarf is
+ 	deprecated.
+ 
+ Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* combine.c (gen_lowpart_for_combine): Handle vector modes.
+ 	Supply non-VOID mode to simplify_gen_subreg.
+ 
+ Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
+ 
+ 2002-07-10  Jeffrey A Law  <law@redhat.com>
+ 
+ 	* mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
+ 	as appropriate.
+ 
+ 	* mn10200.c (expand_epilogue): Fix test to determine which scratch
+ 	register to use.
+ 
+ Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
+ 	Get mode from dest.
+ 	If simplify_gen_subreg fails, try next equivalent.
+ 
+ 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h: #include location.h
+ 	(location_t): Move definition to..
+ 	* location.h: ... here.  New file.
+ 	* tree.h: #include location.h
+ 	(DECL_SOURCE_LOCATION): New macro.
+ 	(DECL_SOURCE_FILE): Use.
+ 	(DECL_SOURCE_LINE): Likewise.
+ 	(struct tree_decl): REplace filename and linenum with locus.
+ 	* Makefile.in (TREE_H): add location.h
+ 	(diagnostic.o): Depends on gt-location.h
+ 	(gt-location.h): Depends on s-gtype
+ 
+ 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* config/rs6000/aix.h: Convert CPP_PREDEFINES to
+ 	TARGET_OS_CPP_BUILTINS.
+ 	* config/rs6000/aix31.h: Likewise.
+ 	* config/rs6000/aix41.h: Likewise.
+ 	* config/rs6000/aix43.h: Likewise.
+ 	* config/rs6000/aix51.h: Likewise.
+ 	* config/rs6000/beos.h: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 	* config/rs6000/eabi.h: Likewise.
+ 	* config/rs6000/eabisim.h: Likewise.
+ 	* config/rs6000/linux.h: Likewise.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/rs6000/lynx.h: Likewise.
+ 	* config/rs6000/mach.h: Likewise.
+ 	* config/rs6000/rtems.h: Likewise.
+ 	* config/rs6000/sysv4.h: Likewise.
+ 	* config/rs6000/vxppc.h: Likewise.
+ 
+ 2002-07-09 Devang Patel <dpatel@apple.com>
+ 	* objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
+ 	Do not allow ObjC objects as a parameter type for Objective-C methods.
+ 	My previous patch restricted  'struct' also.
+ 
+ 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpperror.c (cpp_error): Default to directive_line within
+ 	directives here.
+ 	* cppexp.c (cpp_interpret_integer): Only use traditional
+ 	number semantics in directives.
+ 	* cpplib.c (prepare_directive_trad): Don't reset pfile->line.
+ 	(do_include_common): Similarly.
+ 	* cpptrad.c (scan_out_logical_line): Implement accurate
+ 	quoting of <> in #include.
+ 	* doc/cpp.texi: Update.
+ 
+ Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
+ 			  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
+ 	* sh.md (attribute issues): Replace with:
+ 	(attribute pipe_model).  All users changed.
+ 	(attribute type): Change pt / ptabs to pt_media / ptabs_media.
+ 	All users changed.
+ 	(function units sh5issue, sh5fds): New.
+ 	(attribute is_mac_media): New.
+ 	(adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
+ 	(andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
+ 	(ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
+ 	(movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
+ 	(call_media, call_value_media, sibcall_media): Likewise.
+ 	(casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
+ 	(return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
+ 	(mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
+ 	(fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
+ 	(cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
+ 	(sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
+ 	(muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
+ 	(fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
+ 	(cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
+ 	(sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
+ 	(truncdfsf2_media): Likewise.
+ 	(movsi_media, movsi_media_nofpu, movdi_media): Use new types.
+ 	(movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
+ 
+ Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
+ 	* sh.c (general_extend_operand, inqhi_operand): New functions.
+ 	* sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
+ 	alternatives using 'N' modifier.  Add type.
+ 	(adddi3z_media): Likewise.  Enable generator function generation.
+ 	(movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
+ 	exact predicates / constraints.  Add type.
+ 	(subsi3): Allow 0 for SHMEDIA.
+ 	(udivsi3_i4_media): Use match_operand for input values
+ 	rather than hard registers.
+ 	(udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
+ 	unnecessarily through hard registers.  Keep copies of pseudo
+ 	registers outside of the libcall sequence.
+ 	(mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
+ 	(ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
+ 	(zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
+ 	(extendhidi2, extendqidi2): Likewise.
+ 	(andsi3_compact): Name.
+ 	(andcdi3): Enable generator function generation.
+ 	(zero_extendhisi2, zero_extendqisi2): Rename to
+ 	(zero_extendhisi2_compact, zero_extendqisi2_compact).
+ 	(extendhisi2, extendqisi2): Rename to
+ 	(extendhisi2_compact, extendqisi2_compact).
+ 	(rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
+ 	(loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
+ 	(zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
+ 	(zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
+ 	(extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
+ 	(extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
+ 	(truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
+ 	(shmedia32_initialize_trampoline_big): Likewise.
+ 	(shmedia32_initialize_trampoline_little): Likewise.
+ 	(nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
+ 	(negdi2): Remove spurious T clobber.
+ 	(zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
+ 	(movsi_media, movsi_media_nofpu): Remove spurious *k after b.
+ 	(movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
+ 	(movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
+ 	(ic_invalidate_line_media): Write back data cache before invalidating
+ 	instruction cache.  Add type.
+ 	(movsf_media): Sign-extend when the destination is a general
+ 	purpose register.  Add type.
+ 	(bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
+ 	(casesi_worker_0+1): Only increment ref count for proper label.
+ 	(casesi_worker_0+2): Likewise.
+ 
+ 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
+ 
+ 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
+ 	from Pmode to ptr_mode.
+ 	(get_exception_pointer): Ditto.
+ 	(connect_post_landing_pads): Ditto.
+ 	(dw2_build_landing_pads): Ditto.
+ 
+ 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
+ 	* gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
+ 	* gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
+ 	(handle_pragma_redefine_extname): Change to use new function.
+ 
+ 2002-07-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Add an explicit cast
+ 	to avoid signed/unsigned comparison warning.
+ 	(simplify_if_then_else): Likewise.
+ 	(extended_count): Likewise.
+ 	(simplify_shift_const): Likewise.
+ 	(simplify_comparison): Likewise.
+ 
+ 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Add imadd type.  Update scheduler description
+ 	to use imadd as well as imul.
+ 	(*mul_acc_si, *madsi): Change imul alternatives to imadd.
+ 	(*mul_acc_di, *mul_acc_64bit_di): Likewise.
+ 	(*mul_sub_si): Likewise for first alternative.  Change second
+ 	alternative from imul to multi.
+ 
+ 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (c_common_post_options): Update prototype;
+ 	don't init backends if preprocessing only.
+ 	* langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
+ 	* langhooks.h (struct lang_hooks): Update post_options to
+ 	return a boolean.
+ 	* toplev.c (parse_options_and_default_flags, do_compile,
+ 	lang_independent_init): Update prototypes.  Allow the
+ 	front end to specify that there is no need to initialize
+ 	the back end.
+ 	(general_init): Move call to hex_init here...
+ 	(toplev_main): ...from here.  Pass flag for back end init
+ 	suppression.
+ 
+ Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
+ 	(PREDICATE_CODES): Add entries for equality_comparison_operator,
+ 	greater_comparison_operator and less_comparison_operator.
+ 	* sh.c (print_operand): Add '\'' code.  Make 'o' handle
+ 	more operators.
+ 	(equality_comparison_operator): New function.
+ 	(greater_comparison_operator, less_comparison_operator): Likewise.
+ 	* sh.md (beq_media_i): Disable generator function generation.
+ 	Use match_operator to handle a whole class of comparisons.  Add
+ 	modifier in output template to provide branch prediction.  Add type.
+ 	(bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
+ 	(bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
+ 	(blt_media_i, bleu_media_i, bltu_media_i): Likewise.
+ 	(bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
+ 
+ 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	Emit MMIX function prologue and epilogue as rtl.
+ 	* config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
+ 	not unprototyped get_hard_reg_initial_val.
+ 	("call_value", "nonlocal_goto_receiver"): Ditto.
+ 	("return"): Make define_expand.  Move real insn to...
+ 	("*expanded_return"): New pattern.
+ 	("prologue", "epilogue"): New define_expands.
+ 	* config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
+ 	(struct machine_function): New member in_prologue.
+ 	(FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
+ 	(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
+ 	(MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
+ 	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
+ 	(LOCAL_REGNO): Define.  Adjust comment.
+ 	* config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
+ 	Consider regs_ever_live[MMIX_rJ_REGNUM], not just
+ 	leaf_function_p.
+ 	(MMIX_OUTPUT_REGNO): Don't translate registers while outputting
+ 	the prologue.
+ 	(mmix_target_asm_function_prologue): Make static.  Just mark that
+ 	the prologue is being emitted.  Move guts to...
+ 	(mmix_expand_prologue): New function.  Adjust for emitting
+ 	prologue as rtl.  For sizes, use HOST_WIDE_INT only.
+ 	(mmix_target_asm_function_epilogue): Make static.  Simply emit a
+ 	\n.  Move guts to...
+ 	(mmix_expand_epilogue): New function.  Adjust for emitting
+ 	epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
+ 	(mmix_target_asm_function_end_prologue): Mark that the prologue
+ 	has ended.
+ 	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
+ 	(mmix_conditional_register_usage): Improve comments.
+ 	(mmix_local_regno): New function.
+ 	(mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
+ 	* config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
+ 	(mmix_expand_prologue, mmix_expand_epilogue): Ditto.
+ 	(mmix_get_hard_reg_initial_val): Ditto.
+ 
+ 2002-07-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* toplev.c (set_fast_math_flags): Don't use ISO C style function
+ 	definitions.
+ 	* gengtype.c (open_base_files): Likewise.
+ 	(close_output_files): Likewise.
+ 	* tracer.c (find_best_predecessor): Likewise.
+ 	(find_best_successor): Likewise.
+ 	(ignore_bb_p): Likewise.
+ 
+ 2002-07-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c++/7099
+ 	* builtin-attrs.def: Define new attribute lists for use in
+ 	builtins.def.
+ 	* builtins.def [DEF_BUILTIN]: Modify to take an additional
+ 	ATTRS argument, an enumerated value defined in builtin-attrs.def
+ 	that represents the attribute list for the builtins.  Modify
+ 	all builtin functions to pass an appropriate attribute list.
+ 	Specify "abort", "exit", "_exit" and "_Exit" builtins here with
+ 	their required noreturn attributes.
+ 	* tree.h (enum_builtin_function): Ignore the additional parameter
+ 	to DEF_BUILTIN.
+ 	* builtins.c (built_in_names): Likewise.
+ 	* c-common.c: (builtin_function_2): Replace the "int noreturn_p"
+ 	argument with a tree representing the functions attribute list.
+ 	Pass this "attrs" argument to builtin_function.  No longer handle
+ 	the noreturn_p processing manually.
+ 	(built_in_attributes): Move the definitions from builtin-attrs.def
+ 	before c_common_nodes_and_builtins.
+ 	(c_common_nodes_and_builtins): Handle the new ATTRS parameter in
+ 	DEF_BUILTIN, passing it to both builtin_function and the changed
+ 	builtin_function_2.
+ 
+ 	* doc/extend.texi: Document __builtin_abort, __builtin_exit,
+ 	__builtin__exit and __builtin__Exit.
+ 
+ 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
+ 	QI mode registers in soft registers.
+ 	("zero_extendqihi2"): Do not take into account soft registers
+ 	for register allocation (use '*' constraint).
+ 
+ 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
+ 	it is dead.
+ 	("*ashrsi3"): Likewise.
+ 	("*lshrsi3"): Likewise.
+ 
+ 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_max_insn_queue_index_def): Take latencies
+ 	into account.
+ 
+ 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
+ 	address computation and memory moves.
+ 
+ 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/6706
+ 	* dwarfout.c (output_reg_number): Fix warning message.
+ 	(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
+ 	before using it.
+ 
+ 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gcc/gcc.c (asm_debug): Move initialization ...
+ 	(init_spec): ... here.
+ 
+ 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-parse.in (extdef): Append ';'.
+ 	(old_style_parm_decls): Append ';'.
+ 
+ 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
+ 	gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
+ 	to gcc_cv_as_gstabs_flag.
+ 	* configure: Rebuilt.
+ 
+ 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* ggc.h (ggc_add_root): Document as obsolete.
+ 
+ Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
+ 	(mshflo_w): Likewise.
+ 
+ Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Reduce problem of finding
+ 	vector mode subregs of constants to finding integer mode
+ 	subregs of constants.
+ 	* cse.c (cse_insn): Use simplify_gen_subreg.
+ 	* convert.c (convert_to_integer): Don't strip a NOP_EXPR
+ 	From a vector mode expression of different size than the
+ 	target mode.
+ 
+ 2002-07-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
+ 	* config/mips/mips.h: Remove deprecated -m<processor> options
+ 	and cc1_cpu_spec associated.
+ 	(CONSTANT_ADDRESS_P): Fix last patch.
+ 	(ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
+ 	* config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
+ 	sunge_sf): Remove.
+ 
+ 2002-07-03  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
+ 	(STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
+ 	(CPP_SPEC): Remove insertion of APPLE_CC definition.
+ 
+ 2002-07-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (struct_undo): Change types of recorded substitutions
+ 	to be either "int" or "rtx", instead of "unsigned int" and "rtx".
+ 	(do_SUBST_INT): Change types of the substitution from unsigned int
+ 	to int, to avoid compilation warning from SUBST_INT's only caller.
+ 
+ 	(make_extraction): Add cast to avoid compilation warning.
+ 	(force_to_mode): Remove cast to avoid compilation warning.
+ 
+ 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* i386.md (length_immediate attribute): Fix typo.
+ 	(length_address attribute): Likewise.
+ 	(modrm attribute): Set it to 0 for immediate call instructions.
+ 	(jcc_1 pattern): Set modrm attribute to 0.
+ 	(jcc_2 pattern ): Likewise.
+ 	(jump pattern): Likewise.
+ 	(doloop_end_internal pattern): Explicitly set length.
+ 	(leave pattern): Fix typo.
+ 	(leave_rex64 pattern): Likewise.
+ 
+ 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
+ 	in FPR as preference.
+ 	(fctiwz): Same.
+ 	(floatdidf2, fix_truncdfdi2): Same.
+ 	(floatdisf2, floatditf2, fix_trunctfdi2): Same.
+ 	(floatditf2): Same.
+ 	(floatsitf2, fix_trunctfsi2): SImode in GPR.
+ 	(ctrdi): Remove FPR alternative and splitter.
+ 
+ 2002-07-03  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
+ 
+ Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
+ 	than UNITS_PER_WORD, unless this is little endian and the first unit
+ 	in this word.  Let extract_bit_field decide how to load an element.
+ 	Force arguments to matching mode.
+ 	(expand_vector_unop): Likewise.
+ 
+ 	* simplify-rtx.c (simplify_subreg): Don't assume that all vectors
+ 	consist of word_mode elements.
+ 	* c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
+ 	BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
+ 	(build_unary_op): Allow vector types for BIT_NOT_EPR.
+ 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
+ 	CONST_VECTOR.
+ 	* optabs.c (expand_vector_binop): Try to perform operation in
+ 	smaller vector modes with same inner size.  Add handling of AND, IOR
+ 	and XOR.  Reject expansion to inner-mode sized scalars when using
+ 	OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
+ 	(expand_vector_unop): Try to perform operation in smaller vector
+ 	modes with same inner size.  Add handling of one's complement.
+ 	When there is no vector negate operation, try a vector subtract
+ 	operation.  Use simplify_gen_subreg on constants.
+ 	* simplify-rtx.c (simplify_subreg): Add capability to convert vector
+ 	constants into smaller vectors with same inner mode, and to
+ 	integer CONST_DOUBLEs.
+ 
+ 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-parse.in (parsing_iso_function_signature): New variable.
+ 	(extdef_1): New, copied from...
+ 	(extdef): ... here.  Reset parsing_iso_function_signature.
+ 	(old_style_parm_decls):  Reset parsing_iso_function_signature.
+ 	(old_style_parm_decls_1): New, copied from old_style_parm_decls.
+ 	Warn about ISO C style function definitions.
+ 	(nested_function, notype_nested_function): Reset
+ 	parsing_iso_function_signature.
+ 	(parmlist_2): Set parsing_iso_function_signature.
+ 
+ 	* doc/invoke.texi (-Wtraditional): Document new behavior.
+ 
+ 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mips*el-*-*): Use tm_defines to set
+ 	TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
+ 	* config/mips/little.h: Remove.
+ 
+ 2002-07-02 Devang Patel <dpatel@apple.com>
+ 
+ 	* objc/objc-act.c (adjust_type_for_id_default): Do not allow an
+ 	object as parameter. Prevent something like 'NSObject' to be
+ 	used as the type for a method argument.
+ 
+ 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpptrad.c: Update comment.
+ 
+ 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* doc/cpp.texi: Update for traditional preprocessing changes.
+ 	* goc/cppopts.texi: Similarly.
+ 
+ 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (designator): Enable designated initializers if ObjC.
+ 	(objcmessageexpr): Remove references to objc_receiver_context.
+ 	* objc/objc-act.h (objc_receiver_context): Remove decl.
+ 	* objc/objc-act.c (objc_receiver_context): Remove.
+ 	(lookup_objc_ivar): Test objc_method_context instead of
+ 	objc_receiver_context.
+ 
+ Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (print_operand, case 'N'): Allow zero vector.
+ 	(arith_reg_or_0_operand): Likewise.
+ 	(zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
+ 	* sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
+ 	IOR, XOR, PLUS and SET and take their respective constant
+ 	ranges into account.
+ 	(PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
+ 	* sh.md (subdi3, subdi3_media): Allow zero operand.
+ 	(movv8qi_i+3): Only vector that is not split is the zero vector.
+ 	Fix operand 3 to simplify_subreg.
+ 	(movv2si_i): Split alternative 1.
+ 	(mshfhi_l_di_rev+1): New splitter.
+ 
+ 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7029
+ 	* cppinit.c (cpp_handle_option):  Suppress warnings with an
+ 	implicit "-w" for "-M" and "-MM".
+ 	* doc/cppopts.texi: Update.
+ 
+ 2002-07-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
+ 	identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
+ 	builtin_function.
+ 
+ 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* README.Portability: Fix typos.
+ 
+ 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/7177
+ 	* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
+ 	of indirections for register inside sign-extended mem part.
+ 
+ 2002-07-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.h:  Modify builtin_function interface to take an extra
+ 	argument ATTRS, which is a tree representing an attribute list.
+ 
+ 	* c-decl.c (builtin_function): Accept additional parameter.
+ 	* objc/objc-act.c (builtin_function): Likewise.
+ 	* f/com.c (builtin_function): Likewise.
+ 	* java/decl.c (builtin_function): Likewise.
+ 	* ada/utils.c (builtin_function): Likewise.
+ 	* cp/decl.c (builtin_function): Likewise.
+ 	(builtin_function_1): Likewise.
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Pass an additional
+ 	NULL_TREE argument to builtin_function.  (builtin_function_2):
+ 	Likewise.
+ 	* cp/call.c (build_java_interface_fn_ref): Likewise.
+ 	* objc/objc-act.c (synth_module_prologue): Likewise.
+ 	* java/decl.c (java_init_decl_processing): Likewise.
+ 	* f/com.c (ffe_com_init_0): Likewise.
+ 
+ 	* config/alpha/alpha.c (alpha_init_builtins): Pass an additional
+ 	NULL_TREE argument to builtin_function.
+ 	* config/arm/arm.c (def_builtin): Likewise.
+ 	* config/c4x/c4x.c (c4x_init_builtins): Likewise.
+ 	* config/i386/i386.c (def_builtin): Likewise.
+ 	* config/ia64/ia64.c (def_builtin): Likewise.
+ 	* config/rs6000/rs6000.c (def_builtin): Likewise.
+ 
+ 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
+ 	* config/mips/t-isa3264: Likewise.
+ 	* config/mmix/t-mmix: Likewise.
+ 
+ 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
+ 
+ 2002-07-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR opt/4046
+ 	* fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
+ 	A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
+ 	B are truth values.
+ 
+ 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
+ 
+ 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* README.Portability (Function prototypes): Give an example of
+ 	declaring and defining a function with no arguments.
+ 
+ 	* README.Portability (Function prototypes): Document new
+ 	variable-argument function macros.
+ 
+ Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (langhooks.h): Include.
+ 	(sh_init_builtins, sh_media_init_builtins): New functions.
+ 	(sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
+ 	(mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
+ 	(sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
+ 	(builtin_description): New struct tag.
+ 	(signature_args, bdesc): New arrays.
+ 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
+ 	(print_operand): Add 'N' modifier.
+ 	* sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
+ 	(EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
+ 	(EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
+ 	(CONST_COSTS): Add special case for SHmedia AND.
+ 	(PREDICATE_CODES): Add and_operand, arith_reg_dest,
+ 	extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
+ 	sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
+ 	target_operand can also be const or unspec.
+ 	* sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
+ 	(UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
+ 	(attribute type): Add new types.
+ 	(anddi3): Add splitter.
+ 	(movdi_const_16bit+1): Add code to handle vector constants and
+ 	bitmasks efficiently.
+ 	(shori_media): Have generator function made.
+ 	(movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
+ 	(movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
+ 	(movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
+ 	(ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
+ 	(negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
+ 	(negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
+ 	(mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
+ 	(mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
+ 	(mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
+ 	(mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
+ 	(mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
+ 	(mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
+ 	(mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
+ 	(mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
+ 	(mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
+ 	(mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
+ 	(mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
+ 	(lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
+ 	(ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
+ 	(ftrv): Likewise.
+ 
+ 	(fpu_switch+1, fpu_switch+2): Remove constraint.
+ 
+ 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* tree.c (build_function_type_list): Update function comment.
+ 	Rename first argument to return_type.
+ 
+ 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
+ 	tradcif.y and related files.
+ 
+ 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpptrad.c (skip_whitespace): Pass pointer to prior char.
+ 
+ 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
+ 
+ 2002-06-30  Devang Patel  <dpatel@apple.com>
+ 
+ 	* objc/objc-act.c (finish_file): Avoid finish_objc() if
+ 	-fsyntax-only.
+ 
+ Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
+ 			  Frank Ch. Eigler  <fche@redhat.com>
+ 			  Matthew Green  <mrg@redhat.com>
+ 			  Richard Henderson <rtl@redhat.com>
+ 			  Dave Hudson  <dave.hudson@ubicom.com>
+ 			  Jeff Johnston  <jjohnstn@redhat.com>
+ 			  Alan Lehotsky <apl@alum.mit.edu>
+ 			  Bernd Schmidt  <bernds@redhat.com>
+ 			  Graham Stott  <grahams@redhat.com>
+ 
+ 	* doc/extend.texi: Add ip2k port to description of attribute
+ 	naked.
+ 	* doc/install.texi (Specific): Add ip2k description.
+ 	* doc/install-old.texi (Configurations): Add ip2k to possible
+ 	cpu types.
+ 	* doc/md.texi: Document ip2k constraints.
+ 	* config/ip2k/crt0.S: New file.
+ 	* config/ip2k/ip2k-protos.h: New file.
+ 	* config/ip2k/ip2k.c: New file.
+ 	* config/ip2k/ip2k.h: New file.
+ 	* config/ip2k/ip2k.md: New file.
+ 	* config/ip2k/libgcc.S: New file.
+ 	* config/ip2k/t-ip2k: New file.
+ 
+ 2002-06-30  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("return"): New pattern.
+ 	* config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
+ 	(TARGET_USE_RETURN_INSN): New macros.
+ 	(TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
+ 	(TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
+ 	* config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
+ 	(MMIX_POP_ARGUMENT): New macro.
+ 	(mmix_target_asm_function_prologue): When no epilogue is executed,
+ 	just emit a blank line.  Use MMIX_POP_ARGUMENT with final POP insn.
+ 	(mmix_print_operand) <case '.'>: New case.
+ 	(mmix_print_operand_punct_valid_p): Match '.'.
+ 	(mmix_use_simple_return): New function.
+ 	* config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
+ 	* doc/invoke.texi (Option Summary) <MMIX Summary>: Add
+ 	-msingle-exit, -mno-single-exit.
+ 	(MMIX Options): Ditto.
+ 
+ 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
+ 
+ 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
+ 
+ 2002-06-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* unroll.c (loop_iterations): Handle EQ loops.
+ 
+ 2002-06-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
+ 	constraint in define_expand, not splitter.
+ 	Formatting.
+ 
+ 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+ 	build_function_type_list instead of build_function_type.
+ 
+ 	* config/ia64/ia64.c (ia64_init_builtins): Same.
+ 
+ 	* config/alpha/alpha.c (alpha_init_builtins): Same.
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Same.
+ 
+ 	* config/arm/arm.c (arm_init_builtins): Same.
+ 
+ 	* tree.h: Add build_function_type_list prototype.
+ 
+ 	* tree.c (build_function_type_list): New.
+ 
+ 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (scan_prog_file): Fix typo in message.
+ 
+ 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
+ 
+ 	* fold-cont.c: Remove unused CHARMASK.
+ 
+ 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7150
+ 	* cppmain.c (scan_translation_unit_trad): Simplify.
+ 	* cppmacro.c (cpp_scan_nooutput): Handle traditional case.
+ 
+ 2002-06-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
+ 	Don't use CPP_PREDEFINES.
+ 	* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
+ 	Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
+ 	* config/i386/djgpp.h, config/i386/i386-coff.h,
+ 	config/i386/i386-interix.h, config/i386/i386-interix3.h,
+ 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
+ 	config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
+ 	config/i386/uwin.h: Similarly.
+ 
+ 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
+ 	flag_inline_trees to enable inlining.
+ 
+ 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* configure.in (gcc_gxx_include_dir):  Change to match versioned
+ 	C++ headers if --enable-version-specific-runtime-libs is used.
+ 	* configure:  Regenerate.
+ 
+ 2002-06-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
+ 
+ 2002-06-28  Stephen Clarke  <stephen.clarke@superh.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Pass the mode of the
+ 	shift count, not the shift operation when trying to simplify
+ 	a shift on a SHIFT_COUNT_TRUNCATED target.
+ 
+ 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
+ 	avoid the auto increment addressing modes.
+ 	("*subsi3"): Likewise.
+ 	(split for add/sub on address): For 68HC12 push the value on
+ 	the stack and do the operation with a pop.
+ 
+ 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplib.c (_cpp_handle_directive): Move #define-specific
+ 	code to the #define handler...
+ 	(do_define): ...here.
+ 	(lex_macro_node): No longer a need to check for comments here.
+ 
+ 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
+ 	Declare.
+ 	* config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
+ 	do not reorder basic blocks at the end when optimizing for size.
+ 
+ 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (autoinc_mode): New function.
+ 	(m68hc11_make_autoinc_notes): New function.
+ 	(m68hc11_split_move): Be very cautious when spliting a move with
+ 	auto increment/decrement modes because this may result in incompatible
+ 	directions; add REG_INC notes to the resulting insn for CSE reg.
+ 
+ 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
+ 	can be a valid address.
+ 
+ 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c: Remove unusued variables from last
+ 	patch.
+ 
+ 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	Revert:
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Move
+ 	*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
+ 
+ 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_expand_builtin): Move
+ 	lvx/stv/dst builtins...
+ 	(altivec_expand_ld_builtin): ...to here.
+ 	(altivec_expand_st_builtin): ...here.
+ 	(altivec_expand_dst_builtin): ...and here (respectively).
+ 
+ 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
+ 
+ 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
+ 	subregs.
+ 	* recog.c (general_operand, register_operand): Disallow them.
+ 
+ 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7138
+ 	* cpplib.c (_cpp_handle_directive): Do traditional
+ 	preparation after setting state.angled_headers.
+ 	* cpptrad.c (scan_out_logical_line): Fix potential
+ 	quote bug.
+ 
+ 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Move
+ 	*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
+ 
+ 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
+ 	(*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
+ 	zero_cost_loop_end): Remove unnecessary "parallel" from insns.
+ 
+ 2002-06-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 
+ 	* config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
+ 	with #define.
+ 
+ 2002-06-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Binaries): Add Sinix/Reliant Unix.  Move
+ 	Hitachi entry.  Make punctuation more consistent.
+ 
+ 2002-06-27  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi: Change ` bit' to `-bit'.
+ 	* doc/md.texi: Change `-bits' to `-bit'.
+ 	* doc/tm.texi: Change `-bits' to ` bits'.
+ 
+ 2002-06-27  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* gcse.c (hoist_code): Rewrite to only get list of dominated
+ 	blocks once per BB. Also fix reversed test (by removing need for
+ 	the test at all).
+ 
+ 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (_cpp_set_trad_context): Remove.
+ 	* cpplib.c (prepare_directive_trad): Do nothing for #define.
+ 	(cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
+ 	* cpptrad.c: Update comments.
+ 	(_cpp_read_logical_line_trad): Let scan_logical_line handle
+ 	updating the current context.
+ 	(scan_logical_line): Update the current context.
+ 	(_cpp_create_trad_definition): Similarly.
+ 	(_cpp_set_trad_context): Remove.
+ 
+ 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/7070
+ 	* c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
+ 
+ 2002-06-26  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
+ 	config/xtensa/xtensa.c (xtensa_return_addr): New function.
+ 	config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
+ 	config/xtensa/xtensa.md (fix_return_addr): New pattern.
+ 
+ 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c (coprocessor_operand, coprocessor2_operand,
+ 	symbolic_operand): Move prototypes from here...
+ 	* mips-protos.h (coprocessor_operand, coprocessor2_operand,
+ 	symbolic_operand): ...to here.
+ 
+ Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/crt1.asm: remove _stack label definition
+ 	and sentinel value.
+ 
+ 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* varasm.c: Include real.h before output.h.
+ 
+ 2002-06-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
+ 	check for TARGET_ALTIVEC.
+ 
+ 2002-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (vax-*-vms*): Make obselete.
+ 
+ 2002-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (warn_std): Delete.
+ 
+ 2002-06-25  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/extend.texi: Fix formatting of last checkin.
+ 
+ 2002-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
+ 	underscore from __IEEE_FP and __IEEE_FP_INEXACT.
+ 
+ 2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
+ 	discrepancies from motorola's documentation.
+ 
+ Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
+ 	GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
+ 
+ 	* config/sh/lib1funcs.asm (udivdi3): Make first divide step
+ 	produce a 32 bit result before normalization, then normalize with a
+ 	left shift.  Compute approximative error of 2nd reciprocal
+ 	approximation in 2's complement.  Fix mask generation from upper
+ 	longword of second divide stage result.
+ 	For large divisor, fix shift count used to truncate first stage
+ 	divide result; make decision if to adjust upwards based on comparison
+ 	of higher parts of normalized values.
+ 	(udivdi): Likewise.  Undo normalization of result for large divisor
+ 	case.
+ 
+ 2002-06-25  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
+ 
+ 2002-06-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplib.c (do_include_common): Revert to correct line number
+ 	if -traditional.
+ 	* cpptrad.c (scan_out_logical_line): Treat null directive as
+ 	white space.  Invlidate MI optimization for non-whitespace
+ 	text outside a directive.
+ 
+ 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (SHELL): Set to @SHELL@.
+ 	* fixinc/Makefile.in (SHELL): Likewise.
+ 
+ 	* mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
+ 	fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
+ 	initialization.
+ 
+ 2002-06-24  Jeff Law <law@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): When removing an insn
+ 	with a REG_LIBCALL note but not the entire libcall sequence,
+ 	delete the associated REG_RETVAL note.
+ 
+ Mon Jun 24 21:05:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
+ 	(udivsi3): Likewise.  Rewrite SH1 implementation.
+ 	(udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
+ 	* sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
+ 	(udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
+ 	* config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
+ 	(_moddi3): Likewise.
+ 
+ 	* lib1funcs.asm (ic_invalidate): Add data cache line writeback.
+ 
+ 	* sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
+ 	arguments into account for stack_regs.
+ 
+ 2002-06-24  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
+ 	in examples.
+ 
+ 2002-06-24  Art Haas  <ahaas@neosoft.com>
+ 
+ 	* doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
+ 	* doc/tm.texi (Frame Layout): Likewise.
+ 
+ 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
+ 	Set float_format to i128.
+ 
+ 2002-06-24  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
+ 	32-bit ABI libfuncs to NULL.
+ 
+ 	* config/sparc/sparc.md: Use define_insn_and_split.  Use braced
+ 	strings instead of quoted strings for code blocks.
+ 
+ 	* expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
+ 	optabs if op1 is const0_rtx.
+ 
+ 	* Makefile.in (GTFILES): Add basic-block.h
+ 	* basic-block.h (label_value_list, tail_recursion_label_list):
+ 	Mark with GTY.
+ 
+ 2002-06-24  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpptrad.c (scan_out_logical_line): Check recursing only when
+ 	we know we have a macro invocation in the function-like case.
+ 	Only call _cpp_handle_directive if we know we have a good
+ 	directive, or we want to reject a bad directive.
+ 
+ 2002-06-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doloop.c (doloop_valid_p): Correct comment.
+ 	(doloop_modify_runtime <abs_inc != 1>): Simplify.
+ 	(doloop_modify_runtime <do-while>): Don't emit code when NE.
+ 
+ Thu Jun 20 00:26:53 2002  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config.gcc: Add support for ip2k.
+ 
+ 2002-06-23  Jan Hubicka  <jh@suse.cz>
+ 	    Jeff Law <law@redhat.com>
+ 
+ 	* function.h (struct emit_status): Clarify potential contents
+ 	of regno_reg_rtx array.
+ 	* integrate.c (copy_rtx_and_substitute): Update comments.  Make
+ 	sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
+ 
+ 	* reg-stack.c (convert_regs_exit): Push the registers to stack in
+ 	proper order.
+ 
+ 2002-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR middle-end/6963
+ 	* function.c (assign_stack_temp_for_type): Do not return
+ 	the same MEM rtx for multiple uses of a stack slot.
+ 
+ 2002-06-22  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6841 target/6770 target/6719
+ 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
+ 	NO_REGS	for constant X when CLASS is GENERAL_OR_FP_REGS or
+ 	GENERAL_OR_EXTRA_FP_REGS.
+ 
+ 2002-06-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpptrad.c (struct fun_macro): Add line number.
+ 	(scan_out_logical_line): Set it, and use it to report unterminated
+ 	macro invocations.
+ 
+ 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
+ 	VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
+ 	DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
+ 	DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
+ 	REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
+ 	REGEXP_ONEOF, check_name): Const-ify.
+ 
+ 2002-06-21  Matt Thomas  <matt@3am-software.com>
+ 
+ 	* config/vax/vax.c (vax_output_function_prologue): Use
+ 	REGISTER_PREFIX.  Fix some indentation.
+ 	* config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
+ 	(VAX_ISTREAM_SYNC): Define.
+ 	(INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC.  Move the
+ 	i-stream sync to the end.
+ 	(REGISTER_PREFIX): Define as "".
+ 	(ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
+ 
+ 2002-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
+ 	configurations.
+ 
+ 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
+ 	tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
+ 
+ 2002-06-21  Matt Thomas  <matt@3am-software.com>
+ 
+ 	* config/vax/netbsd.h: Adjust a comment.
+ 	(TARGET_DEFAULT): Redefine as 0.
+ 
+ 2002-06-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (make_reorder_chain_1): Search harder for the
+ 	vax casesi fallthru edge.
+ 	* cfglayout.c (cleanup_unconditional_jumps): Use
+ 	redirect_edge_succ_nodup.  Do not delete ADDR_VEC insns as dead.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
+ 	block after ADDR_VEC.
+ 
+ 2002-06-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
+ 
+ 2002-06-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpperror.c (cpp_error): For traditional CPP, default to
+ 	diagnostics on pfile->line.
+ 	* cpplib.c (prepare_directive_trad): Set line number for
+ 	diagnostics for #define too.
+ 	* cpptrad.c (skip_whitespace): Skip comments properly.
+ 	(_cpp_expansions_different_trad): Initialize quote2.
+ 
+ 2002-06-21  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
+ 	* config/mmix/mmix.h: Ditto.
+ 	* config/mmix/mmix-protos.h: Ditto.
+ 	* config/mmix/mmix.c: Ditto.  Fix typo in comment.
+ 	* config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
+ 	comment.  Comment extra CC modes.
+ 
+ 2002-06-20 Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
+ 	(scope_to_insns_finalize): Do not call set_block_levels; handle
+ 	sequences.
+ 	(choose_inner_scope): New.
+ 	* rtl.h (choose_inner_scope): Declare.
+ 
+ 2002-06-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
+ 	HOST_WIDE_INT.
+ 	* pa.c (pa_asm_output_mi_thunk): Likewise.
+ 	(n_deferred_plabels): Change type to size_t.
+ 	(output_deferred_plabels, output_call): Use size_t instead of int.
+ 
+ 2002-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/4041
+ 	* config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
+ 	pattern and adjust constraints for coldfire.
+ 
+ 2002-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
+ 
+ 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
+ 
+ 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
+ 
+ 2002-06-20  Stan Shebs  <shebs@apple.com>
+ 
+ 	* dominance.c: Include errors.h instead of error.h.
+ 
+ 2002-06-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (cpp_interpret_integer): Don't force traditional
+ 	numbers to be unsigned.
+ 	* cpplib.c (prepare_directive_trad): Set line number for
+ 	diagnostics.
+ 	* cpptrad.c (scan_out_logical_line): Continue scanning out
+ 	at start of buffer.
+ 	* gcc.c (trad_capable_cpp): Use cc1 always.
+ 
+ 2002-06-20  Jeffrey Law  <law@redhat.com>
+ 
+ 	* i386.h (TARGET_DEFAULT): Do not turn on frame pointer
+ 	elimination in leaf functions by default yet.
+ 
+ 2002-06-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (make_extraction): Reapply to the argument of an ASHIFT.
+ 
+ 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
+ 	multilibs.
+ 	* config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
+ 	Fixes PR other/6836.
+ 
+ Thu Jun 20 19:42:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 			       Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
+ 
+ 	Mon Jun 10 20:42:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h: Do not include et-forest.h
+ 	(dominance_info): Declare as struct dominance-info.
+ 	* cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
+ 	deleting block.
+ 	* dominance.c (struct dominance_info): Define.
+ 	(BB_NODE, SET_BB_NODE): New macros.
+ 	(bb_hash_func, bb_eq_func): Kill.
+ 	(calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
+ 	nearest_common_dominator, dominated_by_p, recount_dominator,
+ 	add_to_dominance_info, delete_from_dominance_info): update for new
+ 	representation.
+ 	(get_dominated_by, redirect_immediate_dominators): Rewrite using
+ 	enumerate_sons.
+ 	* ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
+ 	find_if_case_1, find_if_case_2): Remove killed blocks from dominance
+ 	structure.
+ 
+ 	* et-forest.h: Update copyright; revamp all function to operate on
+ 	nodes
+ 	(et_forest_value): Kill.
+ 	(et_forest_enumerate_sons, et_forest_node_value): New.
+ 	* et-forest.c: Update copyright.
+ 	* et-forest.h: Update copyright; revamp all function to operate on
+ 	nodes
+ 	(et_forest_value): Kill.
+ 	(et_forest_enumerate_sons, et_forest_node_value): New.
+ 
+ 	Thu Jun  6 22:43:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h: Inlude et-forest.h
+ 	(basic_block_def): Kill dominator.
+ 	(dominance_info): New type.
+ 	(loops): Use dominace_info.
+ 	(dominace handling functions): Take dominace_info as argument
+ 	instead of bitmaps.
+ 	(create_preheader): Likewise.
+ 	* cfg.c (entry_exit_blocks): Kill dominator.
+ 	(dump_flow_info): Do not dump dominators.
+ 	* cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
+ 	dominators.
+ 	* cfgloop.c (flow_pre_header_find): Use dominacne_info.
+ 	(flow_loops_pre_header_scan, make_forwarder_block,
+ 	canonicale_loop_headers, flow_loops_find): Likewise.
+ 	* dominance.c: Include error.h
+ 	(idoms_to_doms): Kill.
+ 	(bb_hash_func, bb_eq_func): New static functions.
+ 	(debug_dominace_info): New global function.
+ 	(calculate_dominance_info): Use new et forest structure.
+ 	(free_dominace_info, get_immediate_dominator, set_immediate_dominator,
+ 	get_dominated_by, redirect_immediate_dominators,
+ 	nearest_common_dominator, dominated_by_p, verify_dominators,
+ 	recount_dominator, iterate_fix_dominators, add_to_dominace_info,
+ 	delete_from_dominance_info): New global functions.
+ 	* gcse.c (domnators): CHange to dominance_info.
+ 	(alloc_hoist_mem): Do not alloc dominators
+ 	(free_code_hoist_mem): Use free_dominance_info.
+ 	(compute_code_hoist_data): Use dominance_info.
+ 	(hoist_code): Likewise.
+ 	* ifcvt.c (post_dominators): Likewise.
+ 	(find_if_case_2, if_convert): Likewise.
+ 	* predict.c (process_note_predictions, process_note_prediction,
+ 	estimate-probability): Likewise.
+ 	* sched-rgn.c (find_rgns, init_regions): Likewise.
+ 	* ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
+ 	find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
+ 	* ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
+ 	find_evaluations, convert_to_ssa): Likewise.
+ 	* ssa.h (compute_dominance_frontiers): Likewise.
+ 
+ 	Thu Jun  6 22:57:34 CEST 2002  Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (et-forest.c): Add.
+ 	* et-forest.c: New file.
+ 	* at-forest.h: New file.
+ 
+ 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
+ 	array size calculation.
+ 	* gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
+ 	Likewise.
+ 
+ 	* diagnostic.c (diagnostic_kind_text): Const-ify.
+ 	* gengtype.c (lang_names): Likewise.
+ 
+ Thu Jun 20 17:25:29 CEST 2002  JAn HUbicka  <jh@suse.cz>
+ 
+ 	* combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
+ 
+ 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sol2.h: New file.
+ 	* config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
+ 	(sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
+ 	(sparc-*-chorusos*): Likewise.
+ 	(sparc-*-elf*): Likewise.
+ 	(sparc-*-rtems*, sparc-*-rtemself*): Likewise.
+ 	(sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
+ 	(sparc-hal-solaris2*): Likewise.
+ 	(sparc-*-solaris2*): Likewise.
+ 	(sparclite-*-elf*): Likewise.
+ 	(sparc86x-*-elf*): Likewise.
+ 	(sparc64-*-elf*): Likewise.
+ 
+ 	* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
+ 	config/sol2.h.
+ 	(ASM_SPEC): Override config/sol2.h version for now.
+ 	Removed obsolete GAS_REJECTS_MINUS_S variant.
+ 	(WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
+ 	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
+ 	(TARGET_OS_CPP_BUILTINS): Likewise.
+ 	Assert system=unix.
+ 	(CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
+ 	(LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
+ 	config/sol2.h.
+ 	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
+ 	(ASM_CPU_SPEC): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 
+ 	* config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
+ 	in config/sparc/sol2.h.
+ 	(ASM_SPEC): Moved to config/sol2.h.
+ 	(CPP_CPU_SPEC): Simplified.
+ 	(STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
+ 	consistency.
+ 	(STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
+ 	(STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
+ 	STARTFILE_ARCH64_SPEC.
+ 	(STARTFILE_SPEC): Moved to config/sol2.h
+ 	(SUBTARGET_EXTRA_SPECS): Add startfile_arch.
+ 	(LINK_ARCH32_SPEC): Moved to config/sol2.h.
+ 	(LINK_ARCH64_SPEC): Simplified.
+ 	(LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
+ 	(LINK_SPEC): Moved to config/sol2.h
+ 
+ 	* config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
+ 	config/sol2.h.
+ 	Use BITS_PER_WORD for size.
+ 	(WINT_TYPE, WINT_TYPE_SIZE): Likewise.
+ 	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
+ 	(CPP_PREDEFINES): Removed OS-specific part handled by
+ 	TARGET_OS_CPP_BUILTINS.
+ 	(CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
+ 	(CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
+ 	(ASM_SPEC): Moved to config/sol2.h.
+ 	(PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	(STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
+ 	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
+ 	(TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
+ 	(TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
+ 
+ 	* config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
+ 	* config/i386/sol2gas.h: Removed.
+ 
+ Thu Jun 20 12:14:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
+ 
+ 2002-06-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* gcc.c-torture/execute/simd-1.c: New.
+ 
+ 	* gcc.dg/simd-1.c: New.
+ 
+ 	* doc/extend.texi (Vector Extensions): Document that we can
+ 	specify simd types not specifically supported by the hardware.
+ 	Document that simd types can be used as function arguments.
+ 	Document that signness does make a difference in SIMD types.
+ 	Misc cleanups and revisions to the vector extensions section.
+ 
+ 	* simplify-rtx.c (simplify_subreg): Simplify subregs of vector
+ 	constants.
+ 
+ 	* expr.c (vector_mode_valid_p): New.
+ 
+ 	* expr.h: Add vector_mode_valid_p.
+ 
+ 	* defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
+ 
+ 	* c-common.c (type_for_mode): Always build vector nodes regardless
+ 	of VECTOR_MODE_SUPPORTED_P.
+ 	(handle_mode_attribute): Error if we can't emulate a nonexisting
+ 	vector mode.
+ 	(handle_vector_size_attribute): Same.
+ 
+ 	* optabs.c (expand_binop): Open-code vector operations.
+ 	(expand_unop): Open-code vector unops.
+ 	(expand_vector_binop): New.
+ 	(expand_vector_unop): New.
+ 
+ 	* c-typeck.c (build_binary_op): Allow vectors in binops.
+ 	Allow vectors in conditional operatiors.
+ 	(build_unary_op): Allow vectors in unary minus.
+ 
+ 	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
+ 	TARGET_ALTIVEC.
+ 
+ 2002-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (c_common_get_alias_set): Correctly handle characters.
+ 	Rearrange order of expressions; don't handle vectors here.
+ 	* alias.c (get_alias_set): Let vectors match their components.
+ 
+ 2002-06-19  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (mips_emit_prefetch): Use hints which
+ 	match desired locality.
+ 
+ 2002-06-19  Dhananjay R. Deshpande  <dhananjayd@kpit.com>
+ 
+ 	* config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
+ 	(h8300_insert_attributes): New.
+ 
+ 2002-06-19  Akim Demaille  <akim@epita.fr>
+ 
+ 	* c-parse.in (initelt: identifier ':' initval): Add an empty
+ 	action to fix a type clash.
+ 	(aliasdecl, classdef): Add the missing closing `;'.
+ 	Whitespace changes.
+ 	* gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
+ 	$$ = $1 type clashes.
+ 
+ 2002-06-19  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (symbol_operand): New function.
+ 	(mips_emit_prefetch): Ditto.
+ 	* config/mips/mips-protos.h: Define.
+ 	* config/mips/mips.h (ISA_HAS_PREFETCH): Define.
+ 	(CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
+ 	(LEGITIMIZE_ADDRESS): Ditto.
+ 	* config/mips/mips.md (prefetch, prefetch_si_address,
+ 	prefetch_si, prefetch_di_address, prefetch_di): New patterns.
+ 
+ 2002-06-19  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/fp-bit.h: Add unordered defines for gofast.
+ 
+ 2002-06-19  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
+ 	DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
+ 	DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
+ 	REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
+ 	checking and without it.
+ 	(decl_name, decl_mode_check_failed, regexp_name,
+ 	regexp_mode_check_failed): New functions.
+ 	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
+ 	gen_presence_set, gen_absence_set, gen_automaton,
+ 	gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
+ 	gen_regexp_sequence, gen_reserv, gen_insn_reserv,
+ 	automaton_decl_hash, automaton_decl_eq_p): Use the macros.
+ 	(find_automaton_decl): Ditto.  Set up mode of work_automaton_decl.
+ 	(insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
+ 	(find_insn_decl): Ditto.  Set up mode of work_insn_decl.
+ 	(decl_hash, decl_eq_p): Use the macros.
+ 	(find_decl): Ditto.  Set up mode of work_decl.
+ 	(process_excls, process_presence_absence, process_decls,
+ 	check_automaton_usage, process_regexp, process_regexp_decls,
+ 	check_usage, loop_in_regexp, check_loops_in_regexps,
+ 	process_regexp_cycles, add_advance_cycle_insn_decl,
+ 	initiate_states, initiate_excl_sets,
+ 	initiate_presence_absence_sets, copy_insn_regexp, transform_1,
+ 	transform_2): Use the macros.
+ 	(transform_3): Ditto.  Check mode before making transformations of
+ 	ALLOF.
+ 	(regexp_transform_func, transform_insn_regexps,
+ 	process_unit_to_form_the_same_automaton_unit_lists,
+ 	form_the_same_automaton_unit_lists_from_regexp,
+ 	form_the_same_automaton_unit_lists,
+ 	process_seq_for_forming_states, process_alts_for_forming_states,
+ 	create_alt_states, form_ainsn_with_same_reservs, make_automaton,
+ 	form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
+ 	estimate_one_automaton_bound, compare_max_occ_cycle_nums,
+ 	units_to_automata_heuristic_distr, create_ainsns,
+ 	units_to_automata_distr, create_automata): Use the macros.
+ 	(form_regexp): Ditto.  Fix typo in access to fields of ALLOF.
+ 	(longest_path_length, min_issue_delay_pass_states,
+ 	output_dead_lock_vect, output_tables, output_insn_code_cases,
+ 	output_internal_insn_latency_func, output_print_reservation_func,
+ 	output_description, output_automaton_units, generate): Use the
+ 	macros.
+ 	(make_insn_alts_attr): Ditto.  Check case when there are not
+ 	alternatives in the reservation.
+ 	(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
+ 	make_bypass_attr, form_important_insn_automata_lists,
+ 	expand_automata): Use the macros.
+ 
+ 2002-06-20  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* Makefile.in: Clean up code to check for misspecified languages
+ 	in enable-languages.
+ 
+ 2002-06-19  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* cpptrad.c (_cpp_replacement_text_len): initialize len.
+ 
+ 2002-06-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (unstrap, restrap): New targets.
+ 	(bootstrap): Mention restrap.
+ 
+ 2002-06-19  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* except.c (ehl_free): Remove.
+ 
+ 	* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
+ 	builtin_define and builtin_define_std.
+ 
+ 2002-06-19  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
+ 
+ 	* config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
+ 	(sCOND): Restrict operand class so that gcc knows how to reload them.
+ 	(bitfield_set): Merge two unnamed insn's using alternatives.
+ 	(call_value): Remove constraint on unused uperand.
+ 	(udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
+ 	(udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
+ 
+ 	* longlong.h (count_trailing_zeros): Escape newline and beautify.
+ 
+ 2002-06-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (QMTEST_DIR): Simplify definition.
+ 
+ 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
+ 	#define.
+ 
+ 2002-06-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): Make date and time strings.
+ 	(_cpp_builtin_macro_text, _cpp_copy_replacement_text,
+ 	_cpp_replacement_text_len): New.
+ 	* cppinit.c (cpp_create_reader): Update.
+ 	(init_builtins): Register appropriate builtins for -traditional-cpp.
+ 	* cppmacro.c (new_number_token): Remove.
+ 	(_cpp_builtin_macro_text): New.
+ 	(builtin_macro): Use it.
+ 	(cpp_macro_definition): Update to handle traditional macros.
+ 	* cppmain.c (cb_line_change): Don't do column positioning for
+ 	traditional output.
+ 	* cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open.  New
+ 	state ls_fun_close.
+ 	(skip_whitespace): Fix.
+ 	(maybe_start_funlike): Don't set state.parsing_args.
+ 	(scan_out_logical_line): Remove duplicate error.  Use lex_state
+ 	rather than state.parsing_args.
+ 	(push_replacement_text): Handle builtins.
+ 	(_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
+ 
+ 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
+ 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
+ 	attribute __always_inline__.
+ 
+ 2002-06-18  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
+ 	when generating the call to _mcount.
+ 	(NO_PROFILE_COUNTERS): Define.
+ 
+ 2002-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* print-rtl.c (print_rtx): Adjust NOTE argument numbers for
+ 	2002-06-02 change.
+ 
+ Tue Jun 18 20:53:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* t-sh (MULTILIB_EXCEPTIONS): Set to ml.
+ 	config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
+ 	* config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
+ 	* config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
+ 
+ 	* sh-protos.h (sh_pr_interrupt): Declare.
+ 	* sh.c (sh_pr_interrupt): New function.
+ 	(print_operand, calc_live_regs, sh_expand_prologue): Use it.
+ 	(sh_hard_regno_rename_ok): Likewise.
+ 	* sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
+ 
+ 2002-06-18  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def (DEFINE_AUTOMATON): Add description of new options
+ 	`time' and `v'.  Fix incorrect description of option `w'.
+ 
+ 	* doc/md.texi: Ditto.
+ 
+ 	* genautomata.c (TIME_OPTION, V_OPTION): New macros.
+ 	(gen_automata_option): Process the new options.
+ 	(transform_2, transform_3): Initialize some variables.
+ 	(initiate_automaton_gen): Use the new macros.
+ 
+ 2002-06-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
+ 	(mips_set_return_address, mips_restore_gp): Declare.
+ 	* config/mips/mips.h (struct mips_frame_info): Move to mips.c
+ 	(current_frame_info): Remove.
+ 	(INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
+ 	* config/mips/mips.c: Remove uses of current_frame_info.
+ 	(struct mips_frame_info): Moved from mips.h.  Remove 'insns_len'.
+ 	(struct machine_function): Add 'frame' and 'insns_len'.
+ 	(current_frame_info, zero_frame_info): Remove.
+ 	(mips_restore_gp, mips_set_return_address): New.
+ 	(mips_initial_elimination_offset): New.
+ 	* config/mips/mips.md (exception_receiver): Use mips_restore_gp.
+ 	(eh_return define_split): Use mips_set_return_address.
+ 
+ 2002-06-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (dtable): Update.
+ 	(end_directive): Decrement expansion prevention count.
+ 	Clear state.in_expression.
+ 	(prepare_directive_trad): Set state.in_expression.
+ 	Increment expansion prevention count.
+ 	* cpptrad.c (enum ls): New.
+ 	(_cpp_overlay_buffer): Set overlaid_buffer.
+ 	(_cpp_remove_overlay): Use overlaid_buffer.
+ 	(_cpp_read_logcial_line_trad): Update buffer when it might
+ 	have changed.
+ 	(scan_out_logical_line): Handle state transitions for assertions
+ 	and defined() in #if, and for funlike invocations including the
+ 	directive case.  Handle '<' and '>' as a quote mechanism in
+ 	#include.  Warn about unterminated macro invocations.
+ 	* cpphash.h (struct lexer_state): New member in_expression.
+ 	(struct cpp_reader): New member overlaid buffer.
+ 
+ 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
+ 	__always_inline__.
+ 
+ 2002-06-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/ia64/ia64.md (doloop_end_internal): Correct rtl.
+ 
+ 	* doloop.c (doloop_optimize): Extract pattern from insn.
+ 
+ 2002-06-17  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/extend.texi (Function Attributes): Remove `,...' from @var.
+ 
+ 2002-06-17  Jeff Law <law@redhat.com>
+ 
+ 	* libgcc2.c: Do not include symcat.h or machmode.h.
+ 
+ 2002-06-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6922
+ 	* expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
+ 
+ 2002-06-17  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* dwarfout.c: Include function.h.
+ 
+ 2002-06-17  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* print-rtl.c (print_rtx): Print space before vector, not after.
+ 	(debug_rtx): Clear sawclose before printing.
+ 	(debug_rtx_list): Print newline after each list element.
+ 	(debug_rtx_range): Likewise.
+ 
+ 2002-06-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function) [funcdef_no]: Rename profile_label_no.
+ 	(current_function_funcdef_no): Similarly.
+ 	* function.c (funcdef_no): Similarly.
+ 	(prepare_function_start): Set current_function_funcdef_no.
+ 	(expand_function_start): Don't set current_function_profile_label_no.
+ 	* dwarf2out.h (current_funcdef_number): Remove.
+ 	* dwarf2out.c (current_funcdef_number): Remove.  Replace with
+ 	current_function_funcdef_no throughout.
+ 	* dwarfout.c, vmsdbgout.c: Similarly.
+ 	* except.c (sjlj_funcdef_number): Remove.
+ 	(sjlj_emit_function_enter): Use current_function_funcdef_no instead.
+ 	(output_function_exception_table): Likewise.
+ 	* final.c (profile_function): Use current_function_funcdef_no
+ 	instead of current_function_profile_label_no.
+ 
+ 2002-06-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* sched-ebb.c (init_ready_list): Check INSN_P first.
+ 
+ Mon Jun 17 17:26:15 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (divsi3): Update way how to find insns in a sequence.
+ 
+ 	* reload1.c (merge_assigned_reloads): Don't change reloads
+ 	other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
+ 	to RELOAD_OTHER when there are conflicting input reloads.
+ 
+ 2002-06-17  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* function.c (epilogue_done): Correctly build a sequence of insns for
+ 	a sibcall epilogue.
+ 
+ 2002-06-17  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
+ 	#define.
+ 
+ 	* config/m32r/m32r.md: Replace gen_sequence with get_insns.
+ 
+ 2002-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
+ 	of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
+ 
+ 2002-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/6722
+ 	* regclass.c (globalize_reg): Update regs_invalidated_by_call.
+ 
+ 2002-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
+ 	* config/i386/i386-aout.h, config/i386/i386elf.h,
+ 	config/i386/sysv4.h: Remove CPP_PREDEFINES.
+ 	* config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
+ 	config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
+ 	config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
+ 	config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
+ 	CPP_PREDEFINES and part of CPP_SPEC.
+ 	* config/i386/sysv4-cpp.h: New.
+ 
+ 2002-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/7030
+ 	* dwarf2out.c (modified_type_die): Don't assign the qualified die
+ 	to the unqualified type.
+ 
+ Sun Jun 16 22:16:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (x86_field_alignment): Declare.
+ 	* i386.c (x86_field_alignment): Define.
+ 	* i386.h (ADJUST_FIELD_ALIGNMENT): New.
+ 	(BIGGEST_FIELD_ALIGNMENT): Kill.
+ 
+ 2002-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* vax.md (casesi): Use emit_jump_insn.  Tidy expander pattern.
+ 
+ 2002-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (flag_ms_extensions): Move from c++ front end.
+ 	* c-common.h (flag_ms_extensions): Declare.
+ 	* c-decl.c (c_decode_option): Add -fms-extensions.
+ 	(grokfield): Don't accept anonymous structures in ISO C mode;
+ 	accept only unnamed anonymous structures in GNU C mode; accept
+ 	Plan 9 extensions in MS mode.
+ 	* c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
+ 	SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
+ 	(extension): Clear flag_iso.
+ 	* doc/invoke.texi (C Dialect Options): Add -fms-extensions.
+ 
+ 2002-06-16  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/7042
+ 	* reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
+ 	early if current_function_epilogue_delay_list is non-empty.
+ 	* config/cris/cris.md ("return"): Add sanity check asserting that
+ 	current_function_epilogue_delay_list is empty.
+ 
+ 2002-06-16  Jeff Law <law@redhat.com>
+ 
+ 	* emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
+ 	sharing of hard registers.
+ 
+ 	* toplev.c (rest_of_compilation): Remove redundant conditional.
+ 
+ 	* toplev.c (rest_of_compilation): Perform a simpler, less costly
+ 	cleanup of the CFG when not optimizing.
+ 
+ 2002-06-16  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* gcc.c (main): Correct startfile_prefix_spec check.
+ 
+ 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config.gcc: Revert rth's patch of 2002-05-18.  Instead,
+ 	include both darwin.o and rs6000-c.o.
+ 
+ 2002-06-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (compare_from_rtx): Call simplify_relational_operation
+ 	on all comparisons, not just those between integer constants,
+ 	with the correct (possibly unsigned) comparison code.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 
+ 2002-06-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* Makefile.in (tm_defines): New configuration variable.
+ 	(cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
+ 	Pass tm_defines in TM_DEFINES.
+ 	(cs-tm_p.h): Rename DEFINES to XM_DEFINES.  Pass TM_DEFINES.
+ 	* config.gcc (tm_defines): New configuration variable.
+ 	(hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
+ 	pa-7100.h headers.  Change hppa1* scheduling default to 7100LC.
+ 	* configure.in: Substitute tm_defines.
+ 	* configure: Rebuilt.
+ 	* mkconfig.sh: Rename DEFINES to XM_DEFINES.  Output TM_DEFINES.
+ 	* doc/install.texi: Update.
+ 	* pa/pa-700.h: Delete file.
+ 	* pa/pa-7100.h: Delete file.
+ 
+ 2002-06-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (comparison_to_compcode): New function to convert
+ 	an comparison TREE CODE into a bit-based representation.
+ 	(compcode_to_comparison): New function to convert from this bit
+ 	based representation back to a comparison TREE CODE.
+ 	(fold_truthop): Simplify (x<y) && (x==y) and related composite
+ 	comparisons.
+ 
+ 2002-06-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
+ 
+ 	* stor-layout.c (compute_record_mode): Remove check for
+ 	FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
+ 	MEMBER_TYPE_FORCES_BLK.  Pass new mode field to
+ 	MEMBER_TYPE_FORCES_BLK.
+ 
+ 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
+ 
+ 	* config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
+ 
+ 2002-06-14  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
+ 
+ 2002-06-14  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
+ 	USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
+ 	* configure, config.in: Regenerate.
+ 
+ 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	* loop.c (check_final_value): Use v->always_executed
+ 	instead of v->always_computable.
+ 	* unroll.c (final_giv_value): Don't calculate the final
+ 	value as a function of the biv if the giv is not computed
+ 	for every loop iteration.
+ 
+ 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	* loop.c (for_each_insn_in_loop): Fix formatting and comments.
+ 
+ 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	PR c/6677
+ 	* convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
+ 	the truncation down when the target type is signed.
+ 	[trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
+ 	* fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
+ 	the conversion if the target type is a smaller type.
+ 
+ 2002-06-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
+ 	earlier.  Re-factor comparisons vs extrema.
+ 
+ 2002-06-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
+ 
+ 2002-06-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
+ 	* sched-deps.c (add_dependence): Likewise.
+ 	(group_leader): Likewise.
+ 	* sched-rgn.c (init_ready_list): Likewise.
+ 	* doc/rtl.texi: Adjust accordingly.
+ 
+ 2002-06-13  Jeffrey Law  <law@redhat.com>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Inform caller if any
+ 	null pointer checks were eliminated.  Update prototype.
+ 	(delete_null_pointer_checks): Similarly.
+ 	* rtl.h (delete_null_pointer_checks): Update prototype.
+ 	* toplev.c (rest_of_compilation): Only run cleanup_cfg if
+ 	delete_null_pointer_checks deletes one or more null
+ 	pointer checks.  Do not run cleanup_cfg before gcse, the
+ 	CFG is accurate and optimized at that point..
+ 
+ 	* rs6000.c (rs6000_frame_related): Avoid unwanted sharing
+ 	of hard registers.
+ 
+ 2002-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* Makefile.in (libgcc.mk): Depend on specs.
+ 
+ Fri Jun 14 12:15:11 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (mulsi3): Update way how to find insns in a sequence.
+ 
+ Fri Jun 14 12:04:02 2002  Dhananjay R. Deshpande <dhananjayd@kpit.com>
+ 
+ 	* sh.h: Define HARD_REGNO_RENAME_OK
+ 	* sh.c: sh_hard_regno_rename_ok: New. If current function has
+ 	interrupt_handler attribute, only registers saved on stack are OK.
+ 	* sh-protos.h: Declare sh_hard_regno_rename_ok.
+ 
+ 2002-06-14  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (jump): Emit jump insn.
+ 	(call_pcrel): Get pattern of the result of gen_call_site.
+ 	(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
+ 
+ 2002-06-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_buffer): Remove saved_line_base.
+ 	* cpptrad.c: Update comments.
+ 	(skip_whitespace, copy_comment): Take a new parameter.
+ 	(skip_escaped_newlines): Don't duplicate escaped newline test.
+ 	(copy_comment): Different location for CUR, decide here how
+ 	to copy / replace the comment.
+ 	(skip_whitespace): Copy whitespace.
+ 	(_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
+ 	(scan_out_logical_line): Let copy comment handle keeping or
+ 	replacing comments.
+ 	(scan_parameters, _cpp_create_trad_definition): Update.
+ 
+ 2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
+ 
+ 	* reload.c (get_secondary_mem,find_reloads_address,
+ 	find_reloads_address_1): Pass reference to MEM to find_reloads_address
+ 	so that LEGITIMIZE_RELOAD_ADDRESS will be called.
+ 
+ 2002-06-13  Jessica Han  <jessica@cup.hp.com>
+ 
+ 	* defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+ 	(TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+ 	* doc/tm.texi: Document them.
+ 	* config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+ 	(TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+ 	(TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
+ 	(ASM_OUTPUT_FDESC): Likewise.
+ 
+ 2002-06-13  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* diagnostic.c (output_format): Fix thinko.
+ 
+ Thu Jun 13 22:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
+ 	(DWARF2_UNWIND_INFO): Define to 0.
+ 
+ 	* config/sh/sh.c (calc_live_regs): Don't use initial_value
+ 	optimization for PR_MEDIA_REG.
+ 
+ 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_lex_identifier_trad): Remove.
+ 	* cpplib.c (end_directive): Don't skip, always remove overlay
+ 	apart from #define.
+ 	(prepare_directive_trad): Handle NULL pfile->directive.
+ 	(_cpp_handle_directive): Always call prepare_directive_trad
+ 	if traditional.
+ 	* cppmain.c (check_multiline_token): Rename account_for_newlines,
+ 	generalize inputs.
+ 	(scan_translation_unit_trad): Use it.
+ 	* cpptrad.c (skip_comment): Rename copy_comment, copy comment to
+ 	output, get escaped newline in comment close correct.
+ 	(check_output_buffer, skip_whitespace): Update.
+ 	(_cpp_lex_identifier_trad): Remove.
+ 	(scan_out_logical_line): Handle -C and comments in directives
+ 	properly.
+ 
+ Thu Jun 13 20:18:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
+ 	* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
+ 	* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
+ 	(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
+ 	(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
+ 	(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
+ 	(SELECT_SH5_COMPACT_NOFPU): Likewise.
+ 	(TARGET_SWITCHES): Use them.
+ 	(TARGET_CPU_DEFAULT): Define if not already defined.
+ 	(TARGET_DEFAULT): Use it.
+ 	(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
+ 	* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
+ 	* config/sh/t-monolib: New file.
+ 
+ 2002-06-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* toplev.c (rest_of_compilation): Simplify (and correct) the
+ 	logic of the first delete-null-pointer-checks pass.
+ 
+ Thu Jun 13 18:24:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_movstr):  Fix pasto.
+ 
+ Thu Jun 13 18:18:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload.c (find_valid_class):  Fix thinko in my previous patch.
+ 
+ 2002-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
+ 	* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
+ 	(CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
+ 	(EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
+ 
+ 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* tree-inline.c (expand_call_inline): Don' mess with _DECL
+ 	fields.
+ 
+ 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (output_format): Recognize "%H" as a format
+ 	specifier for a location_t.
+ 	(text_specifies_location): New function.
+ 	(diagnostic_set_info): Use it.
+ 
+ 2002-06-13  Jeffrey Law  <law@redhat.com>
+ 
+ 	* emit-rtl.c (static_regno_reg_rtx): Define.
+ 	(init_emit_once): Initialize static_regno_reg_rtx.
+ 	(init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
+ 	of building new hard reg objects once per function.
+ 	(gen_rtx_REG): Try to share hard regs.
+ 	* regclass.c (init_fake_stack_mems): New function broken out from
+ 	init_regs.
+ 	* rtl.h (init_fake_stack_mems): Declare.
+ 	* toplev.c (lang_independent_init): Call init_regs before
+ 	init_emit_once.  Call init_fake_stack_mems after init_emit_once.
+ 
+ 	* i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
+ 
+ 	* alias.c (argument_registers): Remove.
+ 	(init_alias_once): Initialize static_reg_base_value here.  Remove
+ 	initialization of argument_registers.
+ 	(init_alias_once_per_function): Remove.
+ 	(init_alias_analysis): Copy all the entries from static_reg_base_value
+ 	into new_reg_base_value all at once.
+ 	* rtl.h (init_alias_once_per_function): Remove declaration.
+ 	* function.c (prepare_function_start): Do not call
+ 	init_alias_once_per_function.
+ 
+ 	* caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
+ 	starting a sequence and emitting an INSN.
+ 
+ 2002-06-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
+ 
+ 2002-06-13  David S. Miller  <davem@redhat.com>
+ 
+ 	* expmed.c (init_expmed): Remove duplicate init of 'reg'.
+ 
+ 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (end_directive): Handle line skipping.  Only remove
+ 	the rest of the line if the directive was valid.
+ 	* cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
+ 	expanding a traditional macro.
+ 	* cpptrad.c (recursive_macro): New.
+ 	(read_logical_line_trad): Handle skipping.
+ 	(scan_out_logical_line): Continue after a successful directive.
+ 	Don't expand macros whilst skipping, or if recursing.
+ 	(_cpp_create_trad_definition): scan_out_logical_line now sets
+ 	the output current position.
+ 
+ 2002-06-12  Eric Christopher  <echristo@redhat.com>
+ 
+ 	From Chris Demetriou  <cgd@broadcom.com>
+ 	* config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
+ 	comment.
+ 	(ISA_HAS_MADD_MSUB): Ditto.
+ 	(ISA_HAS_NMADD_NMSUB): Ditto.
+ 
+ 2002-06-12  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config.gcc: Consolidate little endian handling and
+ 	little/big endian targets.
+ 	* config/mips/elfl.h: Remove file.
+ 	* config/mips/elfl64.h: Ditto.
+ 	* config/mips/ecoffl.h: Ditto.
+ 	* config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
+ 
+ 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* gengtype.h (xvasprintf): New prototype.
+ 	(xasprintf): New prototype.
+ 	(struct outf): New.
+ 	(get_output_file): Return an outf_p.
+ 	(header_file): Is now an outf_p.
+ 	(base_files): Now are outf_p.
+ 	(oprintf): New.
+ 	* gengtype.c: Replace all output FILE * with outf_p; use oprintf
+ 	rather than stdio operations.  Use xasprintf in a few places,
+ 	when appropriate.
+ 	(xvasprintf): New.
+ 	(xasprintf): New.
+ 	(struct filemap): Delete.
+ 	(files): Delete.
+ 	(output_files): New.
+ 	(oprintf): New.
+ 	(create_file): Create an outf_p.  Add parameter to indicate output
+ 	file name, change all callers.
+ 	(open_base_files): Create gtype-desc.c here.
+ 	(get_output_file_with_visibility): Rewrite.
+ 	(get_output_file_name): Just look at 'name' field in struct outf.
+ 	(close_output_files): Rewrite.
+ 
+ 2002-06-12  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
+ 	(MASK_G_FLOAT): Define.
+ 	(TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
+ 	(TARGET_SWITCHES): Likewise.
+ 	(TARGET_DEFAULT): Likewise.
+ 
+ 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
+ 	* config/mips/mips.c (mips_output_filename): Don't print a
+ 	".file" directive if we are using DWARF-2.
+ 	(mips_output_function_prologue): Do not emit source file
+ 	name for TARGET_GAS.
+ 
+ Wed Jun 12 16:45:13 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
+ 	decide whether emit the short opcode.
+ 	* i386.h (x86_shift1): Declare.
+ 	(TARGET_SHIFT1): New macro.
+ 	* i386.c (x86_shift1): New global variable.
+ 
+ 	* toplev.c (rest_of_compilation): Call find_basic_block pre-loop
+ 	unconditionally; make loop to rebuild CFG; kill unnecesary
+ 	find_basic_block calls; kill compute_bb_for_insn call.
+ 	* cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
+ 	* haifa-sched.c (sched_init): Likewise.
+ 	* ssa-ccp.c (ssa_const_prop): Likewise.
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+ 
+ 2002-06-11  David S. Miller  <davem@redhat.com>
+ 
+ 	* emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
+ 	active_insn_p.
+ 
+ 2002-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (builtin_define_type_max): New.
+ 	(cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
+ 	__INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
+ 
+ 	From Joseph S. Myers:
+ 	* glimits.h: Rewrite to expect the double underscore definitions
+ 	from the compiler.
+ 
+ 	* config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
+ 	config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
+ 	config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
+ 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+ 	config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
+ 	config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
+ 	config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
+ 	__INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
+ 
+ 2002-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
+ 	(ALPHA_BUILTIN_SET_THREAD_POINTER): New.
+ 	(code_for_builtns): Update.
+ 	(alpha_init_builtins): Add __builtin_thread_pointer and
+ 	__builtin_set_thread_pointer.
+ 	(alpha_expand_builtin): Handle void builtins.
+ 	* doc/extend.texi (Alpha Built-in Functions): Update.
+ 
+ 2002-06-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/6997
+ 	* config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
+ 
+ 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Make the name of the extra-modes file adjustable
+ 	by target stanzas.
+ 	(s390x, strongarm, xscale stanzas): Use this facility.
+ 	* configure.in: Update to match.
+ 	* configure: Regenerate.
+ 
+ 2002-06-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
+ 	max/mins as unsigned GE compares.
+ 
+ 2002-06-11  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
+ 	* config/vax/bsd.h: New file.
+ 	* config/vax/netbsd.h: Add missing notice.
+ 	(CPP_PREDEFINES): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_SPEC): Use NETBSD_CPP_SPEC.
+ 	* config/vax/openbsd.h: Update copyright years.
+ 	(CPP_PREDEFINES): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	* config/vax/ultrix.h: Likewise.
+ 	* config/vax/vaxv.h: Likewise.
+ 	* config/vax/vms.h: Likewise.
+ 	* config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES, CPP_SPEC): Remove.
+ 
+ Wed Jun 12 01:50:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (addqi_1_slp, subqi_1_slp
+ 	(andqi_ext0, testqi_ext0): Remove unnecesary check.
+ 	(addhi*, addqi*): Simplify "dec" condition.
+ 	(testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
+ 	(and, or, xor to QImode splitters): New.
+ 	(iorqi_ext*): New.
+ 	(xorqi_ext_0): New.
+ 	(xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
+ 	(andqi_ext_1_rex64): New.
+ 	(ashrqi*_slp): New.
+ 	(ashlqi*_slp): New.
+ 	(lshlqi*_slp): New.
+ 	(rotrqi3*_slp): New.
+ 	(rotlqi3*_slp): New.
+ 
+ 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
+ 	softfloat.h.
+ 	* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
+ 	(CPP_ENDIAN_LITTLE_SPEC): Delete.
+ 	* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
+ 	__LONG_DOUBLE_128__ setting, _CALL_* setting.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	(CPP_FLOAT_DEFAULT_SPEC): Delete.
+ 	(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
+ 	(CPP_SYSV_DEFAULT_SPEC): Delete.
+ 	(CPP_ENDIAN_BIG_SPEC): Delete.
+ 	(CPP_ENDIAN_LITTLE_SPEC): Delete.
+ 	(CPP_ENDIAN_SPEC): Delete.
+ 	(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
+ 	(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
+ 	cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
+ 	cpp_longdouble_default.
+ 	* config/rs6000/softfloat.h: Delete.
+ 	* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
+ 	(EXTRA_SPECS): Delete cpp_cpu.
+ 	(TARGET_CPU_CPP_BUILTINS): New.
+ 	* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
+ 	prototype.
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
+ 	* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
+ 	* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
+ 	(CPLUSPLUS_CPP_SPEC): Likewise.
+ 	(CPP_CPU_SPEC): Delete.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
+ 	(CPLUSPLUS_CPP_SPEC): Likewise.
+ 	(CPP_CPU_SPEC): Delete.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 	* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
+ 	(CPP_DEFAULT_SPEC): Delete.
+ 
+ 	* doc/gty.texi: Small updates.
+ 
+ 2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* objc/objc-act.c (warn_with_ivar): Adjust calls to
+ 	diagnostic_count_error.
+ 	(warn_with_method): Likewise.
+ 
+ 	* diagnostic.h (warnings_are_errors_message): New field of
+ 	diagnostic_context.
+ 	(diagnostic_count_error): Rename to diagnostic_count_diagnostic to
+ 	match semantics.
+ 	* diagnostic.c: Adjust calls to diagnostic_count_error through out.
+ 	(diagnostic_count_diagnostic): Make aware of other kinds of
+ 	diagnostics.
+ 	(diagnostic_initialize): Initialize warnings_are_errors_message field.
+ 
+ 2002-06-11  Tom Tromey  <tromey@redhat.com>
+ 
+ 	For PR java/6520:
+ 	* fold-const.c (fold_convert): Don't modify existing tree's type.
+ 
+ 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
+ 
+ 2002-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
+ 
+ 2002-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (EH_FRAME_SECTION_NAME): Don't define if
+ 	DWARF2_UNWIND_INFO is false.
+ 
+ 2002-06-11  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
+ 
+ 	* config/s390/s390.c (emit_prologue): gen_store_multiple
+ 	returns an insn now, not a pattern.
+ 
+ 2002-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (gccinstall.dvi): Pass absolute pathnames to
+ 	$(TEXI2DVI) -o.
+ 
+ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_promote_QImode): Set for Athlon
+ 	(x86_fast_prefix): New global variable.
+ 	(x86_arch_always_fancy_math_387): Fix formating.
+ 	* i386.h (x86_fast_prefix): Declare
+ 	(TARGET_FAST_PREFIX): define.
+ 	* i386.md (and to strict_low_part, HI to SI
+ 	promoting splitter): Use new macro.
+ 
+ 	* i386.h (RTX_COSTS): float_extend is not for free for SSE.
+ 
+ 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (distclean): Delete junk left in testsuite
+ 	directory, too.
+ 
+ 2002-06-11  Jeffrey Law <law@redhat.com>
+ 
+ 	* emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
+ 	last insn created by the splitter.
+ 
+ 	* caller-save.c (init_caller_save): Move creation of SAVEINSN
+ 	and RESTINSN into the scope of the sequence.
+ 
+ 	* mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
+ 	RETURN insns.
+ 
+ 	* loop.c (loop_regs_scan): Avoid useless generation of REG objects.
+ 
+ 	* mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
+ 	not the pattern.  So extract the pattern from the insn.
+ 
+ 	* mips.c (embedded_pic_fnaddr_reg): Fix typo.
+ 
+ 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (movsi): Only use floating point
+ 	register alternatives when operands are already fprs.
+ 	(movdi_31, movdi_64): Likewise.
+ 
+ 2002-06-11  David S. Miller  <davem@redhat.com>
+ 
+ 	* emit-rtl.c (try_split): Do not abort on non-INSN_P.
+ 	Only run RTX equality checks on INSN_P rtl.
+ 
+ 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (reload_base, ltorg): Remove.
+ 	* s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
+ 	s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
+ 	* s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
+ 	s390_asm_output_pool_prologue): Likewise.
+ 	* s390.h (s390_pool_start_insn): Likewise.
+ 
+ 	* s390.c (s390_output_symbolic_const): Remove support for
+ 	old-style pool chunks.
+ 	(s390_function_epilogue): Likewise.
+ 	(s390_output_constant_pool): Likewise.  Also, fix incorrect
+ 	alignment for 64-bit literal pools.
+ 	(print_operand_address): Remove 'y' and 'Y' format flags.
+ 	* s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
+ 	old-style pool chunks.
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
+ 	(ASM_OUTPUT_POOL_EPILOGUE): Remove.
+ 	(S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
+ 
+ 	* s390.c (consttable_operand): New function.
+ 	* s390-protos.h (consttable_operand): Declare it.
+ 	* s390.h (PREDICATE_CODES): Add consttable_operand.
+ 	* s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
+ 	consttable_sf, consttable_df, pool_start_31, pool_end_31,
+ 	pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
+ 	* s390.c (struct constant, struct constant_pool): New data types.
+ 	(constant_modes, gen_consttable): New variables.
+ 	(s390_start_pool, s390_end_pool, s390_add_pool,
+ 	s390_dump_pool, s390_free_pool): New functions.
+ 	(s390_chunkify_pool): Completely reimplement literal pool
+ 	overflow handling.
+ 
+ 	* s390.c (s390_pool_overflow): New variable.
+ 	* s390.h (s390_pool_overflow): Declare it.
+ 	* s390.md (cjump, icjump): Use it to adapt length for out-of-range
+ 	jumps in literal pool overflow situations.
+ 
+ 	* s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
+ 	(s390_frame_info): Account for possible use of RETURN_REGNUM
+ 	by new literal pool overflow code.
+ 	(s390_emit_prologue): Likewise.
+ 
+ 2002-06-05  David S. Miller  <davem@redhat.com>
+ 
+ 	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
+ 	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
+ 	emit_insns_before_scope, emit_insns_after,
+ 	emit_insns_after_scope): Delete declaration.
+ 	* ada/misc.c (insert_code_for): Use emit_insn* instead of
+ 	emit_insns_foo.
+ 	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
+ 	(alpha_set_memflags): Fix comment.
+ 	(set_frame_related_p): Use get_insns instead of gen_sequence.
+ 	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
+ 	emitting no insns.
+ 	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
+ 	gen_sequence.
+ 	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
+ 	* config/fr30/fr30.c (fr30_move_double): Likewise.
+ 	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
+ 	Likewise.
+ 	* config/ia64/ia64.c (spill_restore_mem): Likewise.
+ 	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
+ 	no insns.
+ 	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
+ 	instead of gen_sequence.
+ 	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
+ 	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
+ 	* config/sh/sh.c (sh_need_epilogue): Likewise.
+ 	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
+ 	attributes.
+ 	(setjmp pattern and split): Use them to avoid splitter which emits
+ 	no RTL.
+ 	* genattrtab.c (main): Emit include of function.h
+ 	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
+ 	get_insns instead of gen_sequence.
+ 	* config/cris/cris.c (cris_split_movdx): Likewise.
+ 	* emit-rtl.c (emit_insns*): Kill.
+ 	(try_split): Expect insn list instead of SEQUENCE.
+ 	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
+ 	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
+ 	Make them abort if a SEQUENCE is given and RTL checking is
+ 	enabled.
+ 	(emit_*_scope): Don't forget to set scope on final insn.
+ 	(gen_sequence): Move from here...
+ 	* ssa.c (gen_sequence): To here as private function.
+ 	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
+ 	comments.
+ 	(expand_builtin_return, expand_builtin_mathfn): Likewise.
+ 	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
+ 	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
+ 	(expand_builtin_expect_jump): Use get_insns and fix comments.
+ 	* calls.c (try_to_integrate): Use emit_insn_foo.
+ 	(expand_call, emit_library_call_value_1): Likewise.
+ 	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
+ 	(emit_move_insn_1): Use get_insns instead of gen_sequence.
+ 	(expand_expr): Use emit_insn_foo.
+ 	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
+ 	* except.c (build_post_landing_pads): Likewise.
+ 	* flow.c (attempt_auto_inc): Likewise.
+ 	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
+ 	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
+ 	* function.c (fixup_var_refs_insn): Use get_insns instead of
+ 	gen_sequence.
+ 	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
+ 	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
+ 	(fixup_stack_1, purge_addressof_1, expand_main_function,
+ 	get_arg_pointer_save_area): Likewise.
+ 	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
+ 	expand_function_end): Use emit_insn_foo.
+ 	(record_insns, keep_stack_depressed): Work with insn list instead
+ 	of SEQUENCE, fix comments.
+ 	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
+ 	noce_try_store_flag_constants, noce_try_store_flag_inc,
+ 	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
+ 	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
+ 	(noce_process_if_block): Use get_insns instead of gen_sequence.
+ 	* optabs.c (add_equal_note): Work with insn list, fix comments.
+ 	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
+ 	(expand_unop, expand_complex_abs, expand_unop_insn,
+ 	expand_no_conflict_block): Likewise.
+ 	(gen_move_insn): Use get_insns instead of gen_sequence.
+ 	(gen_cond_trap): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	(emit_initial_value_sets): Use emit_insn_foo.
+ 	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
+ 	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
+ 	now that RTL generators give insn lists.
+ 	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
+ 	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
+ 	instead of gen_sequence.
+ 	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
+ 	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
+ 	instead of gen_sequence.
+ 	* loop.c (move_movables, emit_prefetch_instructions,
+ 	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
+ 	Likewise.
+ 	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
+ 	(product_cheap_p): Likewise, and add commentary about RTL wastage
+ 	here.
+ 	* lcm.c (optimize_mode_switching): Use get_insns instead of
+ 	gen_sequence.
+ 	* profile.c (gen_edge_profiler): Likewise.
+ 	* regmove.c (copy_src_to_dest): Likewise.
+ 	* reg-stack.c (compensate_edge): Likewise and fix comment.
+ 	* gcse.c (process_insert_insn): Likewise.
+ 	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
+ 	* jump.c (delete_prior_computation): Update comment.
+ 	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
+ 	of gen_sequence, update comments to match.
+ 	* recog.c (peephole2_optimize): Work with insn lists instead of
+ 	SEQUENCE rtl.
+ 	* sched-vis.c (print_pattern): Abort on SEQUENCE.
+ 	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
+ 	Use get_insns instead of gen_sequence.
+ 	(copy_loop_body): Likewise and don't emit dummy NOTE.
+ 	* genrecog.c: Don't mention SEQUENCE rtl in comments.
+ 	* combine.c (try_combine): Expect insn lists from split generator.
+ 	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
+ 	hand.
+ 
+ 2002-06-11  Roger Sayle  <roger@eyesopen.com>
+ 	    Andreas Jaeger <aj@suse.de>
+ 
+ 	* cfgbuild.c: Update copyright years.
+ 
+ 2002-06-11  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.h (PREDICATE_CODES): Define.
+ 
+ 2002-06-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* doc/tm.texi (Run-time Target): Add comment about flag_iso
+ 	and strict ANSI.
+ 	* config/mips/ecoff.h (CPP_PREDEFINES): Remove.
+ 	* config/mips/ecoffl.h: Ditto.
+ 	* config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
+ 	(CPP_PREDEFINES): Ditto.
+ 	* config/mips/elfl64.h: Ditto.
+ 	* config/mips/elfl.h: Ditto.
+ 	* config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
+ 	out until irix header consolidation.
+ 	* config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
+ 	with SUBTARGET_OS_CPP_BUILTINS.
+ 	* config/mips/iris6.h: Ditto.
+ 	(CPLUSPLUS_CPP_SPEC): Remove.
+ 	* config/mips/linux.h: Ditto.
+ 	* config/mips/netbsd.h: Ditto.
+ 	* config/mips/openbsd.h: Ditto.
+ 	* config/mips/rtems.h: Ditto.
+ 	* config/mips/rtems64.h: Ditto.
+ 	* config/mips/sni-svr4.h: Ditto.
+ 	* config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
+ 	ISA_MIPS32, ISA_MIPS64): New defines.
+ 	(GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
+ 	ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
+ 	ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
+ 	ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
+ 	(TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
+ 	* config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
+ 	(movdicc): Remove check for ISA_MIPS32.
+ 	 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
+ 	sunordered_df, sunordered_sf, sordered_df, sordered_sf,
+ 	sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
+ 	sunge_sf, sunle_df, sunle_sf): New patterns.
+ 
+ 2002-06-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update cppmain.o.
+ 	* cpphash.h (struct cpp_reader): Move some members to a
+ 	nested structure.
+ 	(trad_line): Rename saved_line.
+ 	(_cpp_read_logical_line_trad): Update.
+ 	(_cpp_remove_overlay): New.
+ 	* cppinit.c (cpp_create_reader): No need to set saved_line.
+ 	(cpp_destroy): Update.
+ 	(cpp_read_main_file): Only overlay if compiling.
+ 	* cpplex.c (continue_after_nul): Return false if in directive.
+ 	* cpplib.c (EXPAND): New.
+ 	(directive_table, SEEN_EOL): Update.
+ 	(end_directive): Remove overlay if traditional; don't skip
+ 	line in traditional #define.
+ 	(prepare_directive_trad): New.
+ 	(_cpp_handle_directive, run_directive): Update for traditional
+ 	directives.
+ 	(lex_macro_node): Simplify, don't use lex_identifier_trad.
+ 	* cpplib.h (struct options): Add preprocess_only.
+ 	* cppmain.c: Don't include intl.h.
+ 	(cpp_preprocess_file): Set options->preprocess_only.
+ 	(scan_translation_unit_trad): Fix, and print line numbers.
+ 	* cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
+ 	maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
+ 	save_replacement_text, _cpp_create_trad_definition): Update for
+ 	variable renaming.
+ 	(_cpp_overlay_buffer): Save line number.
+ 	(_cpp_remove_overlay): Rename from restore_buff, restore line.
+ 	(_cpp_read_logical_line_trad): Don't handle overlays here.
+ 	(scan_out_logical_line): Process directives.
+ 
+ 2002-06-11  Danny Smith  <dannysmith@users.sourforge.net>
+ 
+ 	* gthr-win32.h: Wrap functions in extern "C".
+ 	(__gthread_key_t): Typedef as unsigned long,
+ 	not win32 DWORD.
+ 	(__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
+ 	(__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
+ 	(__gthr_win32_once, __gthr_win32_key_create,
+ 	__gthr_win32_key_delete, __gthr_win32_getspecific,
+ 	__gthr_win32_setspecific, __gthr_win32_mutex_init_function,
+ 	__gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
+ 	__gthr_win32_mutex_unlock): Declare.
+ 	(__gthread_once,__gthread_key_create,
+ 	__gthread_key_delete, __gthread_getspecific,
+ 	__gthread_setspecific, __gthread_mutex_init_function,
+ 	__gthread_mutex_lock,__gthread_mutex_trylock,
+ 	__gthread_mutex_unlock): Call corresponding
+ 	__gthr_win32_* extern implementations if #defined
+ 	__GTHREAD_HIDE_WIN32API.
+ 	* config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
+ 	$(srcdir)/config/i386/gthr-win32.c
+ 	* config/i386/gthr-win32.c: New implementation file.
+ 	(__gthr_win32_once, __gthr_win32_key_create,
+ 	__gthr_win32_key_delete, __gthr_win32_getspecific,
+ 	__gthr_win32_setspecific, __gthr_win32_mutex_init_function,
+ 	__gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
+ 	__gthr_win32_mutex_unlock): New functions, based on
+ 	static inlines in gthr-win32.h.
+ 
+ 2002-06-10  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (override_options): Don't warn about
+ 	using -fpic or -fPIC when PIC is enabled by default.
+ 
+ 2002-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* toplev.c (rest_of_compilation): Revert flag_if_conversion change.
+ 
+ 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
+ 	* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
+ 	exists, substitute its pathname as @extra_modes_file@, define
+ 	EXTRA_MODES_FILE to be an appropriate string to #include it
+ 	with, and define EXTRA_CC_MODES to 1.
+ 
+ 	* machmode.def: Update comments.  Include EXTRA_MODES_FILE if
+ 	it's defined.  Get rid of redundancy in calling sequence for
+ 	CC; don't use it to define CCmode, to avoid a warning.
+ 	* libgcc2.c: Include symcat.h for the sake of machmode.def.
+ 
+ 	* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
+ 	i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
+ 	pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
+ 	New files.
+ 	* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
+ 	pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
+ 
+ 	* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
+ 	defining extra CC modes.
+ 
+ 2002-06-10  Roger Sayle  <roger@eyesopen.com>
+ 	    Andreas Jaeger <aj@suse.de>
+ 
+ 	* cfgrtl.c (create_basic_block_structure):  Remove index argument
+ 	and use last_basic_block++ instead.  (create_basic_block): Update.
+ 	* cfgbuild.c (find_basic_blocks_1): Likewise.
+ 
+ 	* cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
+ 	* haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
+ 	* sched-ebb.c (schedule_ebbs): Likewise.
+ 	* sched-rgn.c (schedule_insns): Likewise.
+ 	* ssa-ccp.c (ssa_const_prop): Likewise.
+ 	* ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* config/ia64/ia64.c (ia64_reorg): Likewise.
+ 
+ 2002-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Allow replacement
+ 	of matching registers.
+ 
+ 2002-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* toplev.c (rest_of_compilation): Disable early if-conversion pass.
+ 	* gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
+ 
+ 2002-06-10  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h: Improve comments.
+ 	(CPP_SPEC, CPP_PREDEFINES): Don't define.
+ 	(TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CANONICALIZE_COMPARISON): Don't define, replace with comment.
+ 	(PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
+ 	unused predicate.
+ 	* config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
+ 	compiler warning.
+ 	(mmix_constant_address_p): Remove another
+ 	redundant test before case.
+ 	(mmix_canonicalize_comparison): Remove unused function.
+ 	(mmix_print_operand_address): Don't test and adjust for operand in
+ 	non-canonical format.
+ 	(mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
+ 	(mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
+ 
+ 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/m32r/m32r.h: Don't define SELECT_CC_MODE.
+ 	* config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
+ 	* config/m32r/m32r.c: Don't define m32r_select_cc_mode.
+ 	(gen_compare): Use CCmode unconditionally.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/6759
+ 	* cse.c (cse_insn): Fold src_eqv just once, store it folded back into
+ 	the REQ_EQUAL note.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6660
+ 	* c-decl.c (grokfield): Allow user defined types if they declare
+ 	structs or unions for unnamed fields.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6809
+ 	* print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/6842
+ 	* combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
+ 	operand subreg cannot be simplified.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
+ 	(compare_constant): Likewise.
+ 	(output_addressed_constants): Likewise.
+ 
+ 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
+ 	merge bb with itself.
+ 
+ 2002-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
+ 	(builtin_zapnot): Likewise.
+ 
+ 	* config/alpha/ev5.md: Don't combine shift and mvi insns in one
+ 	reservation.
+ 
+ 2002-06-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_osf_output_function_prologue): Remove
+ 	prototype and function.
+ 	(TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
+ 	(call_insn_operand): Remove half pic references.
+ 	(legitimate_address_p): Ditto.
+ 	* config/i386/i386.h: Remove half pic defines.
+ 
+ 2002-06-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* doc/extend.texi (Return Address): Add note explaining the side-
+ 	effects of inlining on __builtin_return_address.
+ 
+ 2002-06-10  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
+ 	(c-common.o): Depend on langhooks.h.
+ 
+ 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_read_logical_line_trad,
+ 	_cpp_expansions_different_trad): Update prototypes.
+ 	* cpplex.c (continue_after_nul): New.
+ 	* cppmain.c: Include cpphash.h.
+ 	(scan_translation_unit_trad): New.
+ 	(cpp_preprocess_file): Call it.
+ 	* cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
+ 	overlay.
+ 	(_cpp_expansions_different_trad): Update prototype.
+ 
+ Mon Jun 10 18:02:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	Fix cfi generation for SH[1-4]:
+ 
+ 	* sh.c (frame_insn): New function.
+ 	(output_stack_adjust): Add parameter emit_fn.  All callers changed.
+ 	(push): Now returns rtx.  Use frame_insn.
+ 	(sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
+ 	of a DF register.
+ 	* sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
+ 
+ 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
+ 	and gtype-desc.c.
+ 	(mostlyclean): Delete specs.h, options.h, gencheck.h here...
+ 	(distclean): ... not here.  But do delete all testsuite/*.log,
+ 	testsuite/*.sum files here.  Delete mkheaders.  Delete
+ 	po/*.gmo and the testsuite directory in a split tree build.
+ 
+ 2002-06-10  Jeffrey Law  <law@redhat.com>
+ 
+ 	* alias.c (static_reg_base_value): New to hold RTL for
+ 	items allocated once per function for the aliasing code.
+ 	(init_alias_once_per_function): Initialize static_reg_base_value.
+ 	(init_alias_analysis): Avoid throw-away allocations of RTL by
+ 	using pre-computed values in static_reg_base_value.
+ 	* function.c (prepare_function_start): Call
+ 	init_alias_once_per_function appropriately.
+ 	* rtl.h (init_alias_once_per_function): Declare.
+ 	* caller-save (init_caller_save): Restructure slightly to
+ 	avoid lots of silly RTL generation.
+ 	* expr.c (init_expr_once): Likewise.
+ 	* reload1.c (reload_cse_regs_1): Allocate throw-away register
+ 	RTL object here.  Pass it into children.
+ 	(reload_cse_simplify_operands): Use passed-in register RTL
+ 	object.
+ 	(reload_cse_simplify): Pass through throw-away register
+ 	RTL object.
+ 
+ 2002-06-10  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
+ 
+ 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcc.c (process_command): Avoid assignment to read-only location.
+ 	Fix sizeof calculation.
+ 
+ 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_macro): Put comments on their own lines.
+ 	(_cpp_expansions_different_trad): New.
+ 	* cppmacro.c (warn_of_redefinition): Fix for traditional case.
+ 	* cpptrad.c (canonicalize_text): New.
+ 	(scan_out_logical_line): Handle no arguments correctly.
+ 	(save_replacement_text): Commit memory when finished.
+ 	(_cpp_expansions_different_trad): New.
+ 
+ 2002-06-10  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
+ 	TREELANG and COBOL.
+ 	(lang_names): Add treelang and cobol.
+ 	(get_file_basename): Add code to support treelang and cobol as
+ 	4th and 5th users of c-common.c.
+ 
+ 2002-06-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* Makefile.in (install-driver): Install driver as
+ 	$(target_alias)-gcc-$(version).
+ 	* gcc.c (spec_version): Make const.
+ 	(process_command): Handle -V and -b by using exec.
+ 	* doc/invoke.texi (Target Options): Restore -V option,
+ 	update docs for -b option.
+ 
+ 2002-06-10  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* configure.in (remaining_languages_check):
+ 	Added check that all languages specified were found.
+ 	Exit if not found. Previous behavior was silent failure.
+ 	* configure: Regenerated.
+ 
+ 2002-06-10  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	 First steps to making treelang documentation compliant, based on
+ 	 instructions in sourcebuild.texi. Also add to gcc.c list of
+ 	 default languages.
+ 
+ 	* doc/contrib.texi: Add self as contributor of treelang.
+ 
+ 	* doc/frontends.texi: Add mention of treelang.
+ 
+ 	* doc/invoke.texi (Overall Options): Add mention of treelang.
+ 
+ 	* doc/standards.texi:  Add mention of treelang.
+ 
+ 2002-06-09  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c: Include ggc.h
+ 
+ 2002-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_push_text_context): Update.
+ 	(_cpp_arguments_ok): New.
+ 	* cppmacro.c (_cpp_arguments_ok): New, split out from...
+ 	(collect_args): ...here.
+ 	(_cpp_push_text_context): Change inputs.
+ 	* cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
+ 	replace_args_and_push): New.
+ 	(lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
+ 	Don't use IS macros directly.
+ 	(scan_out_logical_line): Handle function-like macro argument
+ 	collection.
+ 	(push_replacement_text): Update.
+ 	(replacement_length): Remove.
+ 	(_cpp_create_trad_definition): Don't skip whitespace before
+ 	checking for '('.
+ 
+ 2002-06-09  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_mcu_types): Update for new devices.
+ 	* config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
+ 	(LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
+ 	* config/avr/avr.md ("type" and "length" attributes): New type
+ 	"xcall", length 1 or 2 if AVR_MEGA.  Use in all patterns that
+ 	output a single "call" or "rcall" insn depending on device size.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
+ 
+ 2002-06-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
+ 	synonym for 630.  Add power4.  Remove embedded processors.  Use -m604
+ 	assembler option.
+ 	(CPP_CPU_SPEC): Add power3 and power4.
+ 	(PROCESSOR_DEFAULT): Change to 604e.
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
+ 	(CPP_CPU_SPEC): Similar additions.
+ 	(enum process_type): Add POWER4.
+ 	(RTX_COSTS): Add POWER4.
+ 	(CPP_CPU_SPEC): Similar additions.
+ 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
+ 	(PROCESSOR_DEFAULT64): Define.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Add power4.
+ 	(rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
+ 	branch adjustment.
+ 	(rs6000_issue_rate): Add Power4.
+ 	* config/rs6000/rs6000.md (cpu attr): Add power4.
+ 	(iu compare): Remove 604, 604e, 620, 630.
+ 	Add basic Power4 scheduling information.
+ 	(mfcr/mtcrf): Change type attribute to cr_logical.
+ 
+ 2002-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gengtype.h (error_at_line): Use PARAMS, not VPARAMS.  Add
+ 	ATTRIBUTE_PRINTF_2.
+ 	* gengtype-lex.l: Fix format specifier warning.
+ 
+ 	* genautomata.c: Don't include ctype.h or limits.h.  Use ISSPACE,
+ 	not isspace.
+ 	* gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
+ 	lieu of isspace/IDchar.
+ 	* gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
+ 	* read-rtl.c: Likewise for ctype.h.  Don't define ISDIGIT or
+ 	ISSPACE.
+ 
+ 2002-06-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (LIBCPP_OBJS): Take out version.o.
+ 	* cpphash.h (cpp_reader): Take out print_version member.
+ 	* cppinit.c: (cpp_handle_option): Don't do anything with
+ 	-version.  Just set help_only for --version, --target-help.
+ 	Just set verbose option for -v.
+ 	(cpp_post_options): Don't print a version string.
+ 
+ 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
+ 	(avr_section_type_flags): New, handle .noinit* sections.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
+ 	and include netbsd_entry_point.
+ 	(SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
+ 	(NETBSD_ENTRY_POINT): Define.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
+ 	if not already defined.
+ 	(EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
+ 
+ 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_regs_to_save): No need to save any registers
+ 	in a noreturn function.
+ 	(avr_output_function_prologue, avr_output_function_epilogue):
+ 	Correct function size calculation.  Do not crash on empty function.
+ 	(avr_output_function_epilogue): No need for epilogue after a BARRIER.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
+ 	netbsd_link_spec and netbsd_entry_point.
+ 	(LINK_SPEC): Use %(netbsd_link_spec).
+ 	(NETBSD_ENTRY_POINT): Define.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
+ 	linker emulation.
+ 	(LINK_ARCH64_SPEC): Likewise.
+ 	(LINK_SPEC, NETBSD_ENTRY_POINT): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
+ 
+ 2002-06-08  Marc Espie  <espie@openbsd.org>
+ 
+ 	* lists.c (free_list):  Fix typo in comment.
+ 
+ 2002-06-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* lcm.c (optimize_mode_switching): Add unused attribute for
+ 	variable.
+ 
+ 	* sched-deps.c (sched_analyze): Remove unused variable.
+ 
+ 2002-06-08  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.def: Don't capitalize diagnostict descriptors.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
+ 	(LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
+ 	(NETBSD_ENTRY_POINT): Define.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/i386/netbsd-elf.h (LINK_SPEC): Define as
+ 	NETBSD_LINK_SPEC_ELF.
+ 	(SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
+ 	(NETBSD_ENTRY_POINT): Define.
+ 	* config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
+ 	(SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
+ 	netbsd_entry_point.
+ 	(NETBSD_ENTRY_POINT): Define.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
+ 	netbsd_link_spec and netbsd_entry_point.
+ 	(LINK_SPEC): Use %(netbsd_link_spec).
+ 	(NETBSD_ENTRY_POINT): Define.
+ 
+ 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd-elf.h (LINK_SPEC): Rename to...
+ 	(NETBSD_LINK_SPEC_ELF): ...this.  Use %(netbsd_entry_point)
+ 	to specify program entry point.
+ 
+ 2002-06-07  Jeff Law <law@redhat.com
+ 
+ 	* emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
+ 	* combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
+ 	than creating a new register.
+ 	(distribute_notes): Likewise.
+ 	* df.c (df_reg_use_gen): Likewise.
+ 	(df_reg_clobber_gen): Likewise.
+ 	(df_ref_record): Likewise.
+ 	* expr.c (use_regs): Likewise.
+ 	* flow.c (propagate_one_insn): Likewise.
+ 	(mark_set_1): Likewise.
+ 	(mark_used_reg): Likewise.
+ 	* reload.c (emit_reload_insns): Likewise.
+ 
+ 2002-06-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
+ 	(ne (comp x y) 0) into (comp x y) where comp is a comparison code.
+ 	Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
+ 	comparison code comp can be reversed.
+ 
+ 2002-06-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) [EQ_EXPR]:  Place both integer and real
+ 	constants last in comparisons.  Optimize (x+1.0)>0.0 into the
+ 	equivalent x > -1.0 when -ffast-math.
+ 
+ 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
+ 	* config/mips/t-netbsd: New file.
+ 
+ 2002-06-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
+ 	options their own entries.
+ 	(parse_option): Clarify comment.
+ 	(cpp_handle_option): Remove 'ignore' parameter and OPT_W
+ 	special case.  Replace if/strcmp chain for -W options with
+ 	use of new OPT_* entries for them.
+ 	(cpp_handle_options): Update to match.
+ 	* cpplib.h: Remove last parameter to cpp_handle_option from prototype.
+ 	* c-decl.c: Update call to cpp_handle_option.
+ 
+ 2002-06-07  Akim Demaille  <akim@epita.fr>
+ 
+ 	* gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
+ 	Whitespace changes.
+ 
+ 2002-06-07  Jeffrey Law  <law@redhat.com>
+ 
+ 	* sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
+ 	on empty lists.
+ 
+ 2002-06-07  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* configure.in: Add --enable-__cxa_atexit.
+ 	* configure: Regenerated.
+ 	* config.in: Likewise.
+ 
+ 	* defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
+ 	not defined.
+ 
+ 2002-06-07  Gabriel Dos Reis  <gdr@merlin.nerim.net>
+ 
+ 	* diagnostic.c (diagnostic_build_prefix): Fix initialization.
+ 
+ 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
+ 
+ 2002-06-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	* cppexp.c (num_equality_op): Use a temporary variable to work
+ 	around gcc 3.0.4 bug.
+ 
+ 2002-06-07  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (diagnostic_build_prefix): Tidy.
+ 
+ 2002-06-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
+ 	scan_parameters, save_replacement_text, replacement_length): New.
+ 	(scan_out_logical_line): Take a macro and save parameters if
+ 	non-NULL.
+ 	(_cpp_logical_line_trad): Update.
+ 	(_cpp_create_trad_definition): Update to handle function-like
+ 	macros.
+ 	* cpplex.c (new_buff): Update.
+ 	(struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
+ 	* cpphash.h: ...here.
+ 	(CPP_ALIGN2, _cpp_save_parameter): New.
+ 	* cppmacro.c (save_parameter): Rename, export.
+ 	(parse_params): Update.
+ 
+ 2002-06-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/mmix/mmix.c: Remove extra broken prototype for
+ 	mmix_init_machine_status.
+ 
+ 2002-06-06  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* gengtype.c: Add comments before all the routines.
+ 
+ 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
+ 	from and add t-sh64 to ${tmake_file}.
+ 	(sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
+ 	* config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
+ 	* config/sh/t-netbsd-sh5-32: Remove.
+ 	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
+ 	MULTILIB_ENDIAN.
+ 	(MULTILIB_DIRNAMES): Define.
+ 
+ Thu Jun  6 23:14:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (and promoting splitters): Disable QI to SImode promoting
+ 	when doing so changes immediate to be 32bit.
+ 
+ 	* rtl.h (emit_*_scope): Declare.
+ 	* emit-rtl.c (emit_*_scope): New global functions.
+ 	(try_split): Copy scope.
+ 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
+ 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
+ 	noce_process_if_block, find_cond_trap): Copy scopes.
+ 	* recog.c (peephole2_optimize): likewise.
+ 
+ 2002-06-06  Jeffrey Law  <law@redhat.com>
+ 
+ 	* h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
+ 
+ Thu Jun  6 21:06:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
+ 
+ 2002-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (TEXI_GCCINSTALL_FILES): Define.
+ 	($(docdir)/gccinstall.info): New target.
+ 	(info): Depend on it.
+ 	(gccinstall.dvi): New target.
+ 	(dvi): Depend on it.
+ 	* doc/.cvsignore: Ignore new info files.
+ 	* doc/install.texi (@setfilename): Reflect new info filename.
+ 
+ Thu Jun  6 15:57:23 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
+ 	on an UNSPEC.
+ 
+ Thu Jun  6 07:17:43 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	PR objc/6834
+ 	* objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
+ 	c_common_get_alias_set.
+ 	(LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
+ 
+ 2002-06-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
+ 	functions.
+ 	* rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
+ 	* avr/avr.c (avr_output_function_epilogue): Use above to determine
+ 	function size.
+ 	* pa/pa.c (pa_output_function_prologue): Likewise.
+ 
+ 2002-06-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* integrate.c (subst_constants): Handle 'B' RTL format.
+ 
+ 2002-06-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* varasm.c (make_decl_rtl): Fix comment for removed
+ 	halfpic.c.
+ 
+ 2002-06-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* Makefile.in: Remove missed halfpic bits.
+ 
+ 2002-06-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* toplev.c: Remove half-pic.
+ 	* config/mips/mips.c: Ditto.
+ 	* config/mips/mips.h: Ditto. Remove unused defines.
+ 	* config/mips/openbsd.h: Update comment to reflect above.
+ 	* config/mips/mips.md: Remove half-pic constraints.
+ 	* halfpic.h: Delete.
+ 	* halfpic.c: Ditto.
+ 
+ 2002-06-05  Jeffrey Law  <law@redhat.com>
+ 
+ 	* pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
+ 	rejects (mem (lo_sum (reg) (unspec))), but will allow
+ 	(mem (lo_sum (reg) (symbol_ref)) for PA2.0.
+ 
+ 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (_cpp_create_definition): Update prototype.
+ 	(_cpp_push_text_context, _cpp_create_trad_definition): New.
+ 	( cpp_lex_identifier_trad): New.
+ 	(_cpp_set_trad_context): New.
+ 	* cppinit.c (cpp_finish_options): Don't conditionalize builtins.
+ 	* cpplib.c (SEEN_EOL): Update.
+ 	(lex_macro_node): Update for -traditional.
+ 	(cpp_push_buffer, _cpp_pop_buffer): Similarly.
+ 	* cppmacro.c (_cpp_create_definition): Split into
+ 	create_iso_definition() and _cpp_create_trad_definition().
+ 	(warn_of_redefinition): Update prototype; handle traditional
+ 	macros.
+ 	(_cpp_push_text_context): New.
+ 	* cpptrad.c (skip_whitespace, push_replacement_text): New.
+ 	(lex_identifier): Call ht_lookup with correct start.
+ 	(_cpp_lex_identifier_tradm _cpp_create_trad_definition,
+ 	_cpp_set_trad_context): New.
+ 	(scan_out_logical_line): Update to handle changing contexts.
+ 
+ Wed Jun  5 20:42:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config.gcc (sh-*-elf*,  sh64*-*-elf*): Unify.
+ 	(shl*-*-elf*): Add.
+ 	* config/sh/t-be (MULTILIB_ENDIAN): Set.
+ 	* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
+ 	* t-sh (MULTILIB_ENDIAN): Set.
+ 	(MULTILIB_OPTIONS): Use it.
+ 	* t-sh64 (MULTILIB_OPTIONS): Likewise.
+ 	(MULTILIB_DIRNAMES): Likewise.
+ 
+ 2002-06-05  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.h (report_error_function): Remove.
+ 
+ 	* diagnostic.h (location_t): New datatype.
+ 	(text_info): Likewise.
+ 	(diagnostic_info): Likewise.
+ 	(output_prefix): New macro.
+ 	(diagnostic_last_function_changed): Likewise.
+ 	(diagnostic_set_last_function): Likewise.
+ 	(diagnostic_last_module_changed): Likewise.
+ 	(diagnostic_set_last_module): Likewise.
+ 	(report_diagnostic): Now macro.
+ 	(diagnostic_set_info): Declare.
+ 
+ 	* diagnostic.c (report_problematic_module): Rename to
+ 	diagnostic_repor_current_module.
+ 	(set_diagnostic_context): Remove.
+ 	(count_error): Rename to diagnostic_error_count.
+ 	(error_function_changed): Remove.
+ 	(record_last_error_function): Likewise.
+ 	(error_module_changed): Likewise.
+ 	(record_last_error_module): Likewise.
+ 	(context_as_prefix): Rename to diagnostic_build_prefix.
+ 	(flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
+ 	(diagnostic_set_info): New function.
+ 
+ 	* objc/objc-act.c: #include diagnostic.h
+ 	(error_with_ivar): Adjust call to count_error.
+ 	(warn_with_method): Likewise.
+ 	* objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
+ 
+ 2002-06-05  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_build_va_list): Use
+ 	lang_hooks.types.make_type instead of make_node; set up
+ 	__va_list_tag type decl.
+ 	(xtensa_builtin_saveregs): Remove broken use of
+ 	RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
+ 	for saved registers; add varargs alias set.
+ 
+ 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config:
+ 	* alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
+ 	* i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
+ 	CPP_PREDEFINES and part of CPP_SPEC.
+ 	i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
+ 	i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
+ 
+ Wed Jun  5 15:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
+ 
+ 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
+ 
+ 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gengtype-yacc.y: Make sure all rules end with a semicolon.
+ 
+ 2002-06-04  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
+ 	typo in function prototype and include "ggc.h" header.
+ 
+ 2002-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
+ 	(print_operand) ['U']: Likewise.
+ 	(alpha_expand_unaligned_store): Correct constants for 32-bit cross.
+ 	(alpha_expand_unaligned_store_words): Likewise.
+ 	(alpha_expand_builtin_vector_binop): Fix typo.
+ 	(enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
+ 	umulh, and cix insns.
+ 	(one_arg_builtins): Add cix builtins.
+ 	(two_arg_builtins): Add ext, ins, msk, umulh builtins.
+ 	(alpha_expand_builtin): Fix typo in arity.
+ 	* config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
+ 	(builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
+ 	builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
+ 	builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
+ 	builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
+ 	builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
+ 	builtin_ctlz, builtin_ctpop): New.
+ 	* doc/extend.texi (Alpha Built-in Functions): Update.
+ 
+ 2002-06-04  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* gengtype.c (write_gc_root): Don't unnecessarily prevent
+ 	global variable-length arrays being roots.
+ 
+ 	* config.gcc (powerpc-*-darwin*): Set config_gtfiles.
+ 	* configure.in (config_gtfiles): New variable.
+ 	(all_gtfiles): Initialize from config_gtfiles.
+ 	* configure: Regenerate.
+ 
+ 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config/i386:
+ 	* beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
+ 	i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
+ 	mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
+ 	sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
+ 	win32.h	(CPP_SPEC): Remove cpp_cpu.
+ 	* i386.h (TARGET_CPU_CPP_BUILTINS): Use.
+ 	(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
+ 
+ 2002-06-04  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
+ 
+ 2002-06-04  Jeff Law <law@redhat.com.
+ 	    David Edelsohn <edelsohn@gnu.org>
+ 	    Michael Matz <matz@kde.org>
+ 
+ 	* sched-int.h (struct deps): New field libcall_block_tail_insn.
+ 	* sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
+ 	* sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
+ 	is set, then mark the current insn as being part of a libcall
+ 	scheduling group.
+ 	(sched_analyze): Set and clear libcall_block_tail_insn appropriately.
+ 
+ 	* haifa-sched.c (schedule_block): Do not count USE or CLOBBER
+ 	insns against the issue rate.
+ 
+ Tue Jun  4 19:29:42 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
+ 	* final.c (final_scan_insn): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
+ 	NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
+ 	* haifa-sched.c (unlink_other_notes): Likeewise.
+ 	(reemit_notes): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* sched-deps (sched-analyze): Likewise.
+ 	* rtl.c (note_insn_name): Likewise.
+ 	* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
+ 	(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
+ 	(RANGE_*): Kill.
+ 
+ 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* varasm.c (mark_constants): Handle RTX format 'B'.
+ 
+ 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
+ 	(struct cpp_context): Add traditional fields.
+ 	* cppmacro.c (paste_all_tokens, push_ptoken_context,
+ 	push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
+ 	* cpptrad.c (skip_comment, lex_identifier,
+ 	_cpp_read_logical_line_trad, scan_out_logical_line): Update.
+ 
+ 2002-06-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gbl-ctors.h: Fix formatting.
+ 	* gcc.c: Likewise.
+ 	* gccspec.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcse.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* ggc-simple.c: Likewise.
+ 	* global.c: Likewise.
+ 	* graph.h: Likewise.
+ 	* gthr-dce.h: Likewise.
+ 	* gthr.h: Likewise.
+ 	* gthr-posix.h: Likewise.
+ 	* gthr-rtems.h: Likewise.
+ 	* gthr-solaris.h: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 
+ 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	Merge from pch-branch:
+ 
+ 	* gengtype.h (UNION_OR_STRUCT_P): New macro.
+ 	* gengtype.c (write_gc_structure_fields): Use it.
+ 	(write_gc_root): Use it here too.
+ 
+ 	* gengtype.c (write_gc_structure_fields): Assume that lengths
+ 	of typenames fit into an 'int'; don't pass a size_t to "%d" in
+ 	printf.
+ 	(write_gc_marker_routine_for_structure): Likewise.
+ 	(write_gc_types): Likewise.
+ 	(write_gc_root): Likewise.
+ 
+ 	* varray.h (VARRAY_CLEAR): New.
+ 	(varray_clear): Prototype.
+ 	* varray.c (varray_clear): New.
+ 	* cselib.c (reg_values_old): New.
+ 	(used_regs_old): New.
+ 	(cselib_init): Use cached varrays if available to avoid
+ 	generating large amounts of garbage.
+ 	(cselib_finish): Don't throw away old varrays.
+ 
+ 	* final.c (insn_addresses_): Move out of ifdef.
+ 
+ 	* varray.c (uses_ggc): Make more varray kinds GCable.
+ 	* varray.h (union varray_data_tag): Let gengtype see
+ 	fields 'generic' and 'te'.
+ 	* reg-stack.c: Include gt-reg-stack.h, ggc.h.
+ 	(stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
+ 	(reg_to_stack): Don't call VARRAY_FREE.
+ 	* insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
+ 	(insn_addresses_): Use gengtype to mark.
+ 	* gengtype.c (write_gc_structure_fields): Handle arrays of generic
+ 	pointers; handle generic pointers in unused union fields.
+ 	(get_output_file_with_visibility): Include cselib.h,
+ 	insn-addr.h in gtype-desc.c.
+ 	* function.c (prologue): Use gengtype to mark.
+ 	(epilogue): Likewise.
+ 	(sibcall_epilogue): Likewise.
+ 	* dependence.c: Include gt-dependence.h, ggc.h.
+ 	(struct def_use): Use gengtype to mark.
+ 	(struct loop): Likewise.
+ 	(struct induction): Likewise.
+ 	(struct dependence): Likewise.
+ 	(def_use_chain): Likewise.
+ 	(dep_chain): Likewise.
+ 	(loop_chain): Likewise.
+ 	(induction_chain): Likewise.
+ 	(init_dependence_analysis): Don't free anything, just clear pointers.
+ 	(build_def_use): Use GGC to allocate def_use.
+ 	(add_loop): Use GGC to allocate loop.
+ 	(find_induction_variable): Use GGC to allocate induction.
+ 	(check_node_dependence): Use GGC to allocate induction, dependence.
+ 	(dump_node_dependence): Don't free varrays.
+ 	(end_dependence_analysis): Likewise.
+ 	* cselib.h (struct cselib_val_struct): Use gengtype to mark.
+ 	(struct elt_loc_list): Likewise.
+ 	(struct elt_list): Likewise.
+ 	* cselib.c: Don't include obstack.h.
+ 	(hash_table): Use gengtype to mark.
+ 	(reg_values): Use gengtype to mark.
+ 	(used_regs): Use gengtype to mark.
+ 	(cselib_obstack): Delete.
+ 	(cselib_startobj): Delete.
+ 	(empty_vals): Mark as deletable.
+ 	(empty_elt_lists): Mark as deletable.
+ 	(empty_elt_loc_lists): Mark as deletable.
+ 	(new_elt_list): Use GGC to allocate struct elt_list.
+ 	(new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
+ 	(clear_table): Don't delete obstack; don't unnecessarily clear
+ 	deletable variables.
+ 	(new_cselib_val): Use GGC to allocate struct cselib_val.
+ 	(cselib_init): Don't set up obstacks.  Use GGC to allocate
+ 	hash table.
+ 	(cselib_finish): Just clear variables, don't free anything.
+ 	* Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
+ 	(reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
+ 	(dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
+ 	(GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
+ 	(gt-reg-stack.h): New rule.
+ 	(gt-dependence.h): New rule.
+ 	(gtype-desc.o): Add cselib.h, insn-addr.h.
+ 
+ 	* varray.c: Use only necessary headers.
+ 	(element_size): New.
+ 	(uses_ggc): New.
+ 	(varray_init): Take type, not size.  Use GGC if appropriate.
+ 	(varray_grow): Update for change to struct varray_head_tag.
+ 	Use GGC if appropriate.
+ 	* varray.h (struct const_equiv_data): Use gengtype.
+ 	(enum varray_data_enum): New.
+ 	(union varray_data_tag): Use gengtype.
+ 	(struct varray_head_tag): Use gengtype.  Replace size field with
+ 	enum varray_data_enum.
+ 	(varray_init): Update prototype.
+ 	(VARRAY_SCHED_INIT): Delete.
+ 	(VARRAY_*_INIT): Update for change to varray_init.
+ 	(VARRAY_SCHED): Delete.
+ 	(VARRAY_PUSH_SCHED): Delete.
+ 	(VARRAY_TOP_SCHED): Delete.
+ 	* tree.h: Update for change to length specifier.
+ 	* tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
+ 	(clone_body): Likewise.
+ 	* ssa.h (ssa_definition): Use gengtype to mark.
+ 	* ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
+ 	* rtl.h (struct rtvec_def): Update for change to length specifier.
+ 	* integrate.c (expand_inline_function): Don't use VARRAY_FREE.
+ 	(struct initial_value_struct): Update for change to length specifier.
+ 	* ggc.h (ggc_add_rtx_varray_root): Delete prototype.
+ 	(ggc_add_tree_varray_root): Delete prototype.
+ 	(ggc_mark_rtx_varray): Delete prototype.
+ 	(ggc_mark_tree_varray): Delete prototype.
+ 	* ggc-common.c (ggc_add_rtx_varray_root): Delete.
+ 	(ggc_add_tree_varray_root): Delete.
+ 	(ggc_mark_rtx_varray): Delete.
+ 	(ggc_mark_tree_varray): Delete.
+ 	(ggc_mark_rtx_varray_ptr): Delete.
+ 	(ggc_mark_tree_varray_ptr): Delete.
+ 	* gengtype.h (enum typekind): Remove TYPE_VARRAY.
+ 	(create_varray): Delete prototype.
+ 	* gengtype.c (varrays): Delete.
+ 	(create_varray): Delete.
+ 	(adjust_field_type): Detect array of string pointers.
+ 	(process_gc_options): Remove code to handle varray_type option.
+ 	(set_gc_used_type): Remove TYPE_VARRAY case.
+ 	(output_escaped_param): New.
+ 	(write_gc_structure_fields): Use output_escaped_param on all
+ 	parameters.  Handle 'skip' with 'use_param' option.  Handle
+ 	arrays of strings.  Remove TYPE_VARRAY handling.
+ 	(write_gc_roots): Use boolean to detect 'length' option.
+ 	* gengtype-yacc.y (VARRAY_TYPE): Delete token.
+ 	(struct_fields): Call adjust_field_type on array fields.
+ 	(type): Remove VARRAY_TYPE case.
+ 	(type_option): Likewise.
+ 	* gengtype-lex.l: Don't consider varray_type a keyword.
+ 	* function.h: Update for change to length specifier.
+ 	(free_eh_status): Delete prototype.
+ 	* function.c (free_after_compilation): Don't call free_eh_status.
+ 	(reorder_blocks): Don't use VARRAY_FREE.
+ 	* except.c (struct eh_status): Update for change to length specifier.
+ 	remove varray_type specifier.
+ 	(free_eh_status): Delete.
+ 	* dwarf2out.c: Include gt-dwarf2out.h.
+ 	(used_rtx_varray): Use gengtype to mark, move
+ 	outside ifdefs.
+ 	(incomplete_types): Likewise.
+ 	(decl_scope_table): Likewise.
+ 	(dwarf2out_init): Don't call ggc_add_tree_varray_root.
+ 	* cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
+ 	* c-tree.h (struct lang_type): Update for change to length specifier.
+ 	* c-parse.in (yylexstring): Don't use VARRAY_FREE.
+ 	* c-objc-common.c: Include gt-c-objc-common.h.
+ 	(deferred_fns): Mark for gengtype.
+ 	(c_objc_common_init): Don't call ggc_add_tree_varray_root.
+ 	(expand_deferred_fns): Just set deferred_fns to 0 to free it.
+ 	* Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
+ 	(gtype-desc.o): Update dependencies.
+ 	(dwarf2out.o): Add gt-dwarf2out.h.
+ 	(varray.o): Update dependencies.
+ 	(GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
+ 	(gt-c-objc-common.h): New rule.
+ 	(gt-dwarf2out.h): New rule.
+ 	* objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
+ 
+ 	* doc/gty.texi (GTY Options): Correct spelling.
+ 	(GGC Roots): Likewise.
+ 	* Makefile.in (TEXI_CPP_FILES): New.
+ 	(TEXI_GCC_FILES): New.
+ 	(TEXI_GCCINT_FILES): New.
+ 	(TEXI_CPPINT_FILES): New.
+ 	($(docdir)/cpp.info): Use new macros.
+ 	($(docdir)/gcc.info): Likewise.
+ 	($(docdir)/gccint.info): Likewise.
+ 	($(docdir)/cppinternals.info): Likewise.
+ 	(cpp.dvi): Likewise.
+ 	(gcc.dvi): Likewise.
+ 	(gccint.dvi): Likewise.
+ 	(cppinternals.dvi): Likewise.
+ 
+ 	* Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
+ 	* doc/gccint.texi (Top): Include gty.texi.
+ 	* doc/gty.texi: New file.
+ 
+ 	* bitmap.c: Include ggc.h, gt-bitmap.h.
+ 	(bitmap_ggc_free): New.
+ 	(bitmap_elem_to_freelist): New.
+ 	(bitmap_element_free): Use bitmap_elem_to_freelist.
+ 	(bitmap_element_allocate): Allow use of GGC.
+ 	(bitmap_clear): Use bitmap_elem_to_freelist.
+ 	(bitmap_copy): Update for change to bitmap_element_allocate.
+ 	(bitmap_set_bit): Likewise.
+ 	(bitmap_operation): Update for changes elsewhere.
+ 	(bitmap_initialize): Allow to create bitmaps that will use GGC.
+ 	* bitmap.h (struct bitmap_element_def): Use gengtype.
+ 	(struct bitmap_head_def): Likewise.  Also add 'using_obstack' field.
+ 	(bitmap_initialize): Add extra parameter.
+ 	(BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
+ 	(BITMAP_ALLOCA): Delete.
+ 	(BITMAP_XMALLOC): Update for change to bitmap_initialize.
+ 	(BITMAP_GGC_ALLOC): New.
+ 	* Makefile.in (gtype-desc.o): Add bitmap.h.
+ 	(bitmap.o): Add gt-bitmap.h, $(GGC_H).
+ 	(GTFILES): Add bitmap.c.
+ 	(gt-bitmap.h): New rule.
+ 	($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
+ 	* basic-block.h: Update for changes to bitmap_initialize.
+ 	* except.c (exception_handler_label_map): Move into...
+ 	(struct eh_status): Here.
+ 	(struct eh_region): Make 'aka' GCable.
+ 	(free_eh_status): Don't need to specially handle
+ 	exception_handler_label_map.
+ 	(add_ehl_entry): Update for changes to exception_handler_label_map.
+ 	(find_exception_handler_labels): Likewise.
+ 	(remove_exception_handler_label): Likewise.
+ 	(maybe_remove_eh_handler): Likewise.
+ 	(for_each_eh_label): Likewise.
+ 	(remove_eh_handler): Allocate 'aka' using GGC.
+ 	* gengtype.c (get_output_file_with_visibility): Add bitmap.h
+ 	to list of includes.
+ 
+ 	* gengtype.c (write_gc_marker_routine_for_structure): Name
+ 	the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
+ 	(write_gc_types): Arrange for the tests with NULL to be inlined.
+ 	(write_gc_roots): Update uses of procedure pointers.
+ 	* ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
+ 
+ 	* Makefile.in (explow.o): Add dependency on gt-explow.h.
+ 	(sdbout.o): Add dependency on gt-sdbout.h.
+ 
+ 	* emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
+ 	(mem_attrs_htab): Likewise.
+ 	(init_emit_once): Don't call ggc_add_deletable_htab.
+ 	* fold-const.c (size_htab): Use gengtype to clear unused entries.
+ 	(size_int_type_wide): Don't call ggc_add_deletable_htab.
+ 	* gengtype.c (finish_root_table): Add LASTNAME and TNAME
+ 	parameters, use them, change callers.
+ 	(write_gc_root): Add IF_MARKED parameter, use it, change callers.
+ 	(write_gc_roots): Handle 'if_marked' option.
+ 	(main): Don't need to call set_gc_used_type any more.
+ 	* ggc.h (ggc_htab_marked_p): Delete.
+ 	(ggc_htab_mark): Delete.
+ 	(struct ggc_cache_tab): New.
+ 	(gt_ggc_cache_rtab): New declaration.
+ 	* ggc-common.c (struct d_htab_root): Delete.
+ 	(d_htab_roots): Delete.
+ 	(ggc_add_deletable_htab): Delete.
+ 	(ggc_htab_delete): Handle new htab-deleting mechanism.
+ 	(ggc_mark_roots): Use new htab-deleting mechanism.
+ 	* tree.c (type_hash_table): Use gengtype to clear unused entries.
+ 	Make static.
+ 	(init_obstacks): Don't call ggc_add_deletable_htab.
+ 
+ 	* objc/objc-act.h (struct hashed_attribute): Use gengtype.
+ 	(struct hashed_entry): Likewise.
+ 	(nst_method_hash_list): Likewise.
+ 	(cls_method_hash_list): Likewise.
+ 	(HASH_ALLOC_LIST_SIZE): Delete.
+ 	(ATTR_ALLOC_LIST_SIZE): Delete.
+ 	* objc/objc-act.c (hash_init): Use ggc to allocate
+ 	nst_method_hash_list, cls_method_hash_list.
+ 	(hash_enter): Use ggc to allocate; allocate one entry at a time.
+ 	(hash_add_attr): Likewise.
+ 	(ggc_mark_hash_table): Delete.
+ 	(objc_act_parse_init): Delete.
+ 	(objc_init): Delete reference to objc_act_parse_init.
+ 	* tlink.c: Replace hash.h with hashtab.h.  Explicitly include
+ 	obstack.h.  Replace references to 'struct hash_table' with htab_t.
+ 	(struct symbol_hash_entry): Replace hash header with key field.
+ 	(struct file_hash_entry): Replace hash header with key field.
+ 	(struct demangled_hash_entry): Replace hash header with key field.
+ 	(hash_string_eq): New.
+ 	(hash_string_hash): New.
+ 	(symbol_hash_newfunc): Delete.
+ 	(symbol_hash_lookup): Modify to use htab_t.
+ 	(file_hash_newfunc): Delete.
+ 	(file_hash_lookup): Modify to use htab_t.
+ 	(demangled_hash_newfunc): Delete.
+ 	(demangled_hash_lookup): Modify to use htab_t.
+ 	(tlink_init): Modify to use htab_t.
+ 	* hash.h: Delete.
+ 	* hash.c: Delete.
+ 	* ggc.h: Delete forward structure declarations.
+ 	Delete prototypes for deleted functions.
+ 	* ggc-common.c: Don't include hash.h.
+ 	(ggc_add_tree_hash_table_root): Delete.
+ 	(ggc_mark_tree_hash_table_entry): Delete.
+ 	(ggc_mark_tree_hash_table): Delete.
+ 	(ggc_mark_tree_hash_table_ptr): Delete.
+ 	* gengtype.c (write_gc_structure_fields): Allow param_is option.
+ 	(write_gc_marker_routine_for_structure): Use visibility of
+ 	the parameter if there is one.
+ 	* function.c: Replace hash.h with hashtab.h.  Replace references
+ 	to 'struct hash_table *' with htab_t.
+ 	(struct insns_for_mem_entry): Include a plain key.
+ 	(fixup_var_refs_insns_with_hash): Update to use htab_t.
+ 	(insns_for_mem_newfunc): Delete.
+ 	(insns_for_mem_hash): Update to use htab_t.
+ 	(insns_for_mem_comp): Likewise.
+ 	(insns_for_mem_walk): Likewise.
+ 	* c-lang.c: Include ggc.h.
+ 	* Makefile.in (OBJS): Remove hash.o.
+ 	(c-lang.o): Add GGC_H.
+ 	(COLLECT2_OBJS): Remove hash.o.
+ 	(tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
+ 	(ggc-common.o): Remove hash.h.
+ 	(function.o): Remove hash.h, add HASHTAB_H.
+ 	(genautomata.o): Remove hash.h, add HASHTAB_H.
+ 
+ 	* varasm.c (mark_const_str_htab_1): Delete.
+ 	(mark_const_str_htab): Delete.
+ 	(const_str_htab_del): Delete.
+ 	(const_str_htab): Use gengtype to mark.
+ 	(init_varasm_once): Use gengtype to mark hashtables.  Use GC to
+ 	allocate them.
+ 	* tree.c (mark_tree_hashtable_entry): Delete.
+ 	(mark_tree_hashtable): Delete.
+ 	* tree.h (mark_tree_hashtable): Delete prototype.
+ 	* ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
+ 	(ggc_mark): Likewise.
+ 	(ggc_calloc): New.
+ 	(htab_create_ggc): New.
+ 	* ggc-common.c (ggc_calloc): New.
+ 	* gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
+ 	(struct type): Add param_struct structure.
+ 	* gengtype.c (param_structs): New.
+ 	(adjust_field_type): Handle param_is option.
+ 	(set_gc_used_type): Handle TYPE_PARAM_STRUCT.
+ 	(get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
+ 	(write_gc_structure_fields): Add new PARAM parameter.  Update
+ 	callers.  Handle use_param option.  Handle TYPE_PARAM_STRUCT.
+ 	(write_gc_marker_routine_for_structure): Add new PARAM parameter.
+ 	Use it to generate function name.  Update callers.
+ 	(write_gc_types): Add new PARAM_STRUCTS parameter.  Update callers.
+ 	Process them.
+ 	(write_gc_roots): Handle TYPE_PARAM_STRUCT.  Allow param_is
+ 	option.
+ 	(main): Define PTR as pointer-to-scalar.  Don't specially
+ 	mark deferred_string or ehl_map_entry.
+ 	* gengtype-yacc.y (PARAM_IS): Add new token.
+ 	(externstatic): Use adjust_field_type.
+ 	(type_option): Add PARAM_IS.
+ 	* gengtype-lex.l: Add rule for typedef of function pointers.
+ 	Add rule for PARAM_IS.
+ 	(IWORD): Add size_t.
+ 	* except.c (exception_handler_label_map): Use gengtype to mark.
+ 	(type_to_runtime_map): Likewise.
+ 	(mark_ehl_map_entry): Delete.
+ 	(mark_ehl_map): Delete.
+ 	(init_eh): Use gengtype for roots; use GC to allocate hash tables.
+ 	(t2r_mark_1): Delete.
+ 	(t2r_mark): Delete.
+ 	* Makefile.in (gtype-desc.o): Correct dependencies.
+ 	(GTFILES): Add hashtab.h.
+ 	(genautomata.o): Actually uses hashtab.h.
+ 
+ 	* Makefile.in (stringpool.o): Add $(GGC_H).
+ 	(dwarf2asm.o): Likewise.
+ 	(GTFILES): Add hashtable.h.
+ 	* c-common.h (struct c_common_identifier): Use gengtype.
+ 	* c-decl.h (c_mark_tree): Delete.
+ 	* c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
+ 	* c-tree.h (struct lang_identifier): Use gengtype.
+ 	(union lang_tree_node): New.
+ 	(c_mark_tree): Delete prototype.
+ 	* dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
+ 	dwarf2_debug_hooks.
+ 	* gengtype-lex.l (IWORD): Allow 'bool'.
+ 	(ptr_alias): Match.
+ 	* gengtype-yacc.y (ALIAS): New token.
+ 	(type_option): New rule.
+ 	(option): Use type_option.
+ 	* gengtype.c (process_gc_options): New.
+ 	(set_gc_used_type): Use it.
+ 	(write_gc_structure_fields): Add 'bitmap' parameter, change callers.
+ 	Add new variable 't' to hold the type of the field being processed.
+ 	Add more error checking.  Use UNION_P when looking at 'desc' option.
+ 	Handle language-specific structures containing other
+ 	language-specific structures.
+ 	(write_gc_types): Handle 'ptr_alias' option.
+ 	(main): Don't need to specially output lang_type, lang_decl, lang_id2.
+ 	* ggc-common.c (ggc_pending_trees): Delete.
+ 	(ggc_mark_roots): Don't manipulate ggc_pending_trees.
+ 	(ggc_mark_trees): Delete.
+ 	(gt_ggc_m_tree_node): Delete.
+ 	* ggc.h (ggc_pending_trees): Delete.
+ 	(ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
+ 	* hashtable.h (ht_identifier): Use gengtype.
+ 	* langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
+ 	* langhooks.h (struct lang_hooks): Delete mark_tree.
+ 	* sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
+ 	anyway.
+ 	* system.h: Poison LANG_HOOKS_MARK_TREE.
+ 	* tree.c (tree_node_structure): New.
+ 	* tree.h (struct tree_common): Use gengtype.
+ 	(struct tree_int_cst): Likewise.
+ 	(struct tree_real_cst): Likewise.
+ 	(struct tree_string): Likewise.
+ 	(struct tree_complex): Likewise.
+ 	(struct tree_vector): Likewise.
+ 	(struct tree_identifier): Likewise.
+ 	(struct tree_list): Likewise.
+ 	(struct tree_vec): Likewise.
+ 	(struct tree_exp): Likewise.
+ 	(struct tree_block): Likewise.
+ 	(struct tree_type): Likewise.
+ 	(struct tree_decl): Likewise.
+ 	(enum tree_structure_enum): New.
+ 	(union tree_node): Use gengtype, with an alias.
+ 	(tree_node_structure): Prototype.
+ 	* objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
+ 
+ 	Merge to tag pch-merge-20020430.  The LANG_HOOKS_FUNCTION_MARK
+ 	macro was deleted.  The LANG_HOOKS_FUNCTION_FREE macro was renamed
+ 	to LANG_HOOKS_FUNCTION_FINAL.
+ 	* Makefile.in (GTFILES): Add bitmap.h.
+ 	* except.c (struct eh_region): Mark field 'aka' to be skipped.
+ 
+ 	* config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
+ 	(alpha_init_machine_status): Give proper type.
+ 	* Makefile.in (c-lang.o): Depend on gtype-c.h.
+ 	(optabs.o): Depend on gt-optabs.h.
+ 	(GTFILES): Add optabs.o.
+ 	(gt-optabs.h): Add rule.
+ 	* optabs.c: Include gt-optabs.h.
+ 
+ 	* gengtype.c (set_gc_used_type): Correct some errors in last change.
+ 	(write_gc_structure_fields): If a field which should be NULL is
+ 	not, abort.
+ 	* c-pragma.c: Move struct align_stack and variable alignment_stack
+ 	out from the ifdef.
+ 
+ 	* config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
+ 	* config/xtensa/xtensa.c: Include gt-cris.h.
+ 	(struct machine_function): Use gengtype	to mark.
+ 	* config/mmix/mmix.h (struct machine_function): Use gengtype
+ 	to mark.
+ 	* config/cris/t-cris: Add dependencies for gt-cris.h.
+ 	* config/cris/cris.c: Include gt-cris.h.
+ 	(struct machine_function): Use gengtype	to mark.
+ 	* config/rs6000/rs6000.h (struct machine_function): Use gengtype
+ 	to mark.
+ 	* doc/tm.texi (Per-Function Data): Delete references to
+ 	mark_machine_status.
+ 	* config/ia64/ia64.c (ia64_override_options): Don't set
+ 	mark_machine_status.
+ 	* config/i386/i386.c (override_options): Likewise.
+ 	* config/d30v/d30v.c (d30v_init_expanders): Likewise.
+ 	* config/arm/arm.c (arm_init_expanders): Likewise.
+ 	* config/alpha/alpha.c (override_options): Likewise.
+ 	* gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
+ 	* gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
+ 	(write_gc_structure_fields): Don't handle 'really' option.
+ 	Handle 'maybe_null' option.
+ 	(write_gc_types): Handle 'maybe_null' option.
+ 	* function.h (struct function): Don't use "really".
+ 	(mark_machine_status): Delete declaration.
+ 	(mark_lang_status): Delete declaration.
+ 	(gt_ggc_mr_machine_function): Delete prototype.
+ 	(gt_ggc_mr_language_function): Delete prototype.
+ 	* function.c (mark_machine_status): Delete.
+ 	(mark_lang_status): Delete.
+ 	(gt_ggc_mr_machine_function): Delete.
+ 	(gt_ggc_mr_language_function): Delete.
+ 	* c-tree.h (mark_c_function_context): Delete prototype.
+ 	* c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
+ 	* c-decl.c (struct language_function): Rename from struct
+ 	c_language_function.  Update uses.  Use gengtype to mark.
+ 	(mark_c_function_context): Delete.
+ 	* c-common.h (struct c_language_function): Rename from struct
+ 	language_function.
+ 	(mark_stmt_tree): Delete prototype.
+ 	(c_mark_lang_decl): Delete prototype.
+ 	(mark_c_language_function): Delete prototype.
+ 	* c-common.c (mark_stmt_tree): Delete.
+ 	(c_mark_lang_decl): Delete.
+ 	(mark_c_language_function): Delete.
+ 
+ 	* gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
+ 	(lang_bitmap): New typedef.  Use where appropriate.
+ 	(struct type): Add gc_used field, lang_struct field.
+ 	(UNION_P): New macro.
+ 	(new_structure): New prototype.
+ 	(find_structure): Remove 'pos' parameter.  Change all callers.
+ 	* gengtype-lex.l: Update for changes to find_structure.
+ 	* gengtype-yacc.y (typedef_struct): Use new_structure.
+ 	(yacc_ids): Suppress warning.
+ 	(type): Use new_structure.
+ 	* gengtype.c (string_type): Update for changes to struct type.
+ 	(find_structure): Just find a structure, don't worry about
+ 	creating one.
+ 	(new_structure): New.
+ 	(note_yacc_type): Use new_structure.
+ 	(set_gc_used_type): New.
+ 	(set_gc_used): New.
+ 	(write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
+ 	(write_gc_types): Handle TYPE_LANG_STRUCT.
+ 	(write_gc_marker_routine_for_structure): New.
+ 	(main): Call set_gc_used.  Add some calls to set_gc_used_type
+ 	for places where GCC doesn't use gengtype properly yet.
+ 	* ggc.h (gt_ggc_m_rtx_def): Don't prototype.
+ 	(gt_ggc_m_tree_node): Likewise.
+ 
+ 	* varasm.c (copy_constant): Call expand_constant if we hit
+ 	something we can't recognize.
+ 
+ 	* ggc-common.c (ggc_mark_rtvec_children): Delete.
+ 	(ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
+ 	(lang_mark_false_label_stack): Delete.
+ 	* rtl.h (struct rtvec_def): Use gengtype to mark.
+ 	* ggc.h (ggc_mark_rtvec): Delete.
+ 	(gt_ggc_m_rtvec_def): Delete.
+ 	(ggc_mark_nonnull_tree): Delete.
+ 	(ggc_mark_rtvec_children): Delete prototype.
+ 	(lang_mark_false_label_stack): Delete declaration.
+ 
+ 	* gengtype.h (note_yacc_type): Add prototype.
+ 	* gengtype.c (note_yacc_type): New function.
+ 	* gengtype-lex.l: Add lexer support for yacc files.
+ 	* gengtype-yacc.y (start): Extract union from yacc files.
+ 	(yacc_union): New rule.
+ 	(yacc_typematch): New rule.
+ 	(yacc_ids): New rule.
+ 	(enum_items): Tweak for efficiency.
+ 	(optionseq): Likewise.
+ 
+ 	* c-common.h (struct language_function): Use gengtype.
+ 	(struct c_lang_decl): Likewise.
+ 	* c-tree.h (struct lang_decl): Likewise.
+ 	(struct lang_type): Likewise.
+ 	* c-decl.c (lang_mark_tree): Use generated marker routines to mark
+ 	tree language substructures.
+ 
+ 	* stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
+ 	ggc_mark_tree.
+ 	* dwarf2asm.c (mark_indirect_pool_entry): Likewise.
+ 
+ 	* varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
+ 
+ 	* stmt.c (struct nesting): Add discriminator.  Use gengtype to
+ 	mark. Remove 'data.block.cleanup_ptr' field.
+ 	(struct stmt_status): Use usual technique to mark struct nesting.
+ 	(gt_ggc_mr_nesting_cond): Delete.
+ 	(gt_ggc_mr_nesting_loop): Delete.
+ 	(gt_ggc_mr_nesting_block): Delete.
+ 	(gt_ggc_mr_nesting_case_stmt): Delete.
+ 	(expand_start_cond): Set discriminator.
+ 	(expand_start_loop): Likewise.
+ 	(expand_start_null_loop): Likewise.
+ 	(expand_start_bindings_and_block): Set discriminator.  Don't set
+ 	deleted fields.
+ 	(expand_decl_cleanup): Replace 'cleanup_ptr' with
+ 	&thisblock->data.block.cleanups.
+ 	(expand_start_case): Set discriminator.
+ 	(expand_start_case_dummy): Set discriminator.
+ 
+ 	* ggc-callbacks.c: Remove.
+ 
+ 	* gengtype.h (struct type): Add 'u.s.bitmap' field.
+ 	(find_structure): Add 'pos' parameter.
+ 	* gengtype-lex.l: Update callers to find_structure.
+ 	* gengtype-yacc.y: Likewise.
+ 	* gengtype.c (find_structure): Allow for structures to be defined
+ 	in multiple language backends.
+ 	(get_output_file_with_visibility): Include debug.h in gtype-desc.c.
+ 	(counter): Rename to gc_counter.
+ 	(write_gc_structure_fields): Fail when writing out fields for
+ 	an incomplete structure.  Ignore arrays of scalars.  Handle
+ 	'tree_vec' special.
+ 	(write_gc_types): Reset counter for each procedure written.
+ 
+ 	* stmt.c (add_case_node): Use GGC to allocate struct case_node.
+ 	(free_case_nodes): Delete.
+ 	(expand_end_case_type): Delete call to free_case_nodes.
+ 
+ 	* Makefile.in (cselib.o): Include gt-<filename>.h.
+ 	(gcse.o): Likewise.
+ 	(profile.o): Likewise.
+ 	(alias.o): Likewise.
+ 	(GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
+ 	alphabetize backend files.
+ 	(gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
+ 	* alias.c: Use gengtype for roots.
+ 	* c-common.h (struct stmt_tree_s): Use gengtype.
+ 	* c-decl.c: Use gengtype for roots.
+ 	* cselib.c: Use gengtype for roots.
+ 	* expr.c: Use gengtype for roots.
+ 	* fold-const.c: Use gengtype for roots.
+ 	* gcse.c: Use gengtype for roots.
+ 	* gengtype-lex.l: Handle typedefs of function types.
+ 	Allow for empty array bounds.
+ 	Allow processing to stop on initializers.
+ 	* gengtype-yacc.y (externstatic): Stop processing on initializers.
+ 	(semiequal): New rule.
+ 	* gengtype.c (create_file): Tidy output files.
+ 	(get_output_file_with_visibility): Fix paren warning.  Fix bug
+ 	involving multiple input files mapping to one output file.
+ 	(write_gc_structure_fields): Skip arrays of scalars.
+ 	(write_gc_types): Tidy output files.
+ 	(write_gc_root): New function.
+ 	(write_gc_roots): Fix bugs, add support for roots that are
+ 	structures.
+ 	* ggc-common.c (ggc_mark_rtx_ptr): Delete.
+ 	(ggc_mark_tree_ptr): Delete.
+ 	(ggc_add_rtx_root): Delete.
+ 	(ggc_add_tree_root): Delete.
+ 	(ggc_del_root): Delete.
+ 	* integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
+ 	allocate struct initial_value_struct.
+ 	* profile.c: Use gengtype for roots.
+ 	* sdbout.c: Use gengtype for roots.
+ 	* varasm.c (mark_weak_decls): Delete unused prototype.
+ 	(mark_const_hash_entry): Delete unused function.
+ 	* config/darwin-protos.h: Use gengtype for roots.
+ 	(machopic_add_gc_roots): Delete.
+ 	* config/arm/arm.c: Use gengtype for roots.
+ 	* config/arm/arm.h: Use gengtype for roots.
+ 	* config/c4x/c4x-protos.h: Use gengtype for roots.
+ 	* config/c4x/c4x.c (c4x_add_gc_roots): Delete.
+ 	* config/d30v/d30v-protos.h: Use gengtype for roots.
+ 	* config/d30v/d30v.c (d30v_add_gc_roots): Delete.
+ 	* config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
+ 	* config/dsp16xx/dsp16xx.h: Use gengtype for roots.
+ 	* config/ia64/ia64-protos.h: Use gengtype for roots.
+ 	* config/ia64/ia64.c (ia64_add_gc_roots): Delete.
+ 	* config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
+ 	* config/m68hc11/m68hc11.c (z_reg): Make global.
+ 	(z_reg_qi): Make global.
+ 	(m68hc11_add_gc_roots): Delete.
+ 	* config/mcore/mcore-protos.h: Use gengtype for roots.
+ 	* config/mcore/mcore.c (mcore_add_gc_roots): Delete.
+ 	* config/mips/mips.c (mips_add_gc_roots): Delete.
+ 	* config/mips/mips.h: Use gengtype for roots.
+ 	* config/mmix/mmix.c (override_options): Use gengtype for roots.
+ 	* config/mmix/mmix.h: Use gengtype for roots.
+ 	* config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
+ 	* config/mn10200/mn10200.h: Use gengtype for roots.
+ 	* config/pa/pa.c: Use gengtype for roots, marking.
+ 	(struct deferred_plabel): Use GGC, gengtype.
+ 	(pa_add_gc_roots): Delete.
+ 	(mark_deferred_plabels): Delete.
+ 	* config/pj/pj-protos.h: Use gengtype for roots.
+ 	* config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
+ 	* config/rs6000/rs6000.c: Use gengtype for roots.  Don't call
+ 	machopic_add_gc_roots.
+ 	* config/rs6000/rs6000.h: Use gengtype for roots.
+ 	* config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
+ 	(gt-darwin.h): Add rule.
+ 	* config/sh/sh.c: Use gengtype for roots.
+ 	* config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
+ 	(gt-sh.h): Add rule.
+ 	* config/sparc/sparc.c: Use gengtype for roots.
+ 	(sparc_add_gc_roots): Delete.
+ 	(struct ultrasparc_pipeline_state): Use GGC, gengtype.
+ 	(mark_ultrasparc_pipeline_state): Delete.
+ 	* config/sparc/sparc.h: Use gengtype for roots.
+ 
+ 	* Makefile.in (c-parse.o): Update dependencies.
+ 	(c-common.o): Likewise.
+ 	(GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
+ 	Add dependencies for the files they generate.
+ 	* c-common.c: Replace ggc_add_* uses with GTY annotations.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	(gt_ggc_mp_binding_level): Delete.
+ 	* c-lang.c: Include gtype-c.h.
+ 	* c-parse.in: Replace ggc_add_* uses with GTY annotations.  Include
+ 	gt-c-parse.h.
+ 	* c-pragma.h: Replace ggc_add_* uses with GTY annotations.
+ 	(gt_ggc_mp_align_stack): Delete.
+ 	* c-tree.h: Replace ggc_add_* uses with GTY annotations.
+ 	* function.c: Replace ggc_add_* uses with GTY annotations.
+ 	(gt_ggc_mp_function): Delete.
+ 	* function.h: Replace ggc_add_* uses with GTY annotations.
+ 	* gengtype.c (lang_names): New.
+ 	(NUM_BASE_FILES): New.
+ 	(open_base_files): Create language base files.
+ 	(startswith): New.
+ 	(get_file_basename): New.
+ 	(get_base_file_bitmap): New.
+ 	(get_output_file_with_visibility): Rename from get_output_file.
+ 	Add more mappings for various C/Objc filenames.
+ 	(finish_root_table): New.
+ 	(write_gc_roots): Handle dependencies and scoping properly.
+ 	* gengtype.h: Add prototypes for new functions.
+ 	* ggc-common.c (struct deletable_root): Delete.
+ 	(deletables): Delete.
+ 	(ggc_add_deletable_root): Delete.
+ 	(ggc_mark_roots): No need to deal with deleted functionality.
+ 	* ggc.h (ggc_add_deletable_root): Delete prototype.
+ 	* objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
+ 	(gtype-objc.h): Add rule to create.
+ 	* objc/config-lang.in (gtfiles): New.
+ 	* objc/objc-act.c: Allocate imp_list using GGC.  Replace uses of
+ 	ggc_add_* with GTY markers.  Include gtype-objc.h.
+ 	(ggc_mark_imp_list): Delete.
+ 	* objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
+ 	* objc/objc-lang.c: Random Whitespace Change.
+ 
+ 	* except.h (exception_handler_labels): Delete.
+ 	(get_exception_handler_labels): New.
+ 	* except.c (exception_handler_labels): Delete.
+ 	(struct eh_status): Add exception_handler_labels field.
+ 	(doing_eh): Don't add exception_handler_labels as root.
+ 	(free_eh_status): Don't need to free exception_handler_labels.
+ 	(get_exception_handler_labels): New.
+ 	(find_exception_handler_labels): Update for move of
+ 	exception_handler_labels.
+ 	(remove_exception_handler_label): Likewise.
+ 	* cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
+ 	* jump.c (rebuild_jump_labels): Likewise.
+ 	* loop.c (find_and_verify_loops): Likewise.
+ 	* sched-rgn.c (is_cfg_nonregular): Likewise.
+ 
+ 	* gengtype.c (write_gc_structure_fields): Handle variable-length
+ 	TYPE_ARRAYs.
+ 
+ 	* varasm.c (struct weak_syms): Use GGC, gengtype.
+ 	(mark_weak_decls): Delete.
+ 	(weak_decls): Likewise.
+ 	(add_weak): Likewise.
+ 	(remove_from_pending_weak_list): Likewise.
+ 	(init_varasm_once): Likewise.
+ 
+ 	* Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
+ 	(GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
+ 	stor-layout.c, regclass.c, and lists.c.
+ 	Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
+ 	gt-regclass.h and gt-lists.h on s-gtype.
+ 	* emit-rtl.c: Use gengtype for roots.  Include gt-emit-rtl.h.
+ 	* except.c: Use gengtype for roots.
+ 	* explow.c: Use gengtype for roots.  Include gt-explow.h.
+ 	* expr.h (init_stor_layout_once): Delete prototype.
+ 	* function.c: Use gengtype for roots.
+ 	* gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
+ 	* gengtype-yacc.y (start): Can also be an externstatic.
+ 	(externstatic): New production.
+ 	(struct_fields): Correct array bounds inversion for 2-d arrays.
+ 	* gengtype.c (variables): New variable.
+ 	(note_variable): New function.
+ 	(get_output_file): Include libfuncs.h into gtype-desc.c.
+ 	(get_output_file_name): New function.
+ 	(write_gc_structure_fields): Suppress warnings.
+ 	(write_gc_types): Make static.
+ 	(put_mangled_filename): New function.
+ 	(write_gc_roots): New function.
+ 	(main): Call write_gc_roots.
+ 	* gengtype.h (note_variable): Prototype.
+ 	(get_output_file_name): Prototype.
+ 	(write_gc_types): Delete prototype.
+ 	* ggc.h: Clean up unnecessary structure predefinitions.
+ 	(struct ggc_root_tab): Define.
+ 	(gt_ggc_m_rtx_def): Make function, not macro.
+ 	(gt_ggc_m_tree_node): Likewise.
+ 	* libfuncs.h: Use gengtype for roots.
+ 	* lists.c: Use gengtype for roots.  Include gt-lists.h.
+ 	(init_EXPR_INSN_LIST_cache): Delete.
+ 	* optabs.c: Use gengtype for roots.
+ 	(gt_ggc_mp_optab): Delete.
+ 	* optabs.h: Use gengtype for roots.
+ 	* regclass.c: Use gengtype for roots.  Include gt-regclass.h.
+ 	* rtl.h: Use gengtype for roots.
+ 	(init_EXPR_INSN_LIST_cache): Delete prototype.
+ 	* stor-layout.c: Use gengtype for roots.
+ 	Include gt-stor-layout.h.
+ 	(init_stor_layout_once): Delete.
+ 	* toplev.c: Use gengtype for roots.  Delete calls to deleted
+ 	routines.
+ 	* tree.c: Use gengtype for roots.
+ 	* tree.h: Use gengtype for roots.
+ 	* varasm.c: Use gengtype for roots.
+ 
+ 	* Makefile.in (GTFILES): Add @all_gtfiles@.
+ 	* configure: Regenerate.
+ 	* configure.in: Construct all_gtfiles from the gtfiles definitions
+ 	in config-lang.in.
+ 	* gengtype-yacc.y (type): Warn about duplicate structure names.
+ 	* gengtype.c (get_output_file): Handle .c files in language
+ 	subdirectories.
+ 
+ 	* Makefile.in (GTFILES): Run gengtype on all the config files
+ 	and on the target .c file.
+ 	* except.c (mark_eh_region): Delete.
+ 	(init_eh_for_function): Use GGC on struct eh_status.
+ 	(mark_eh_status): Delete.
+ 	(free_eh_status): Use GGC.
+ 	(expand_eh_region_start): Use GGC to
+ 	(collect_eh_region_array): Allocate last_region_number using GGC.
+ 	(duplicate_eh_region_1): Use GGC to allocate struct eh_region.
+ 	(remove_eh_handler): Let GGC free struct eh_region.
+ 	(add_call_site): Use GGC to reallocate call_site_record array.
+ 	* function.c (init_machine_status): Update calling sequence.
+ 	(mark_machine_status): Likewise.
+ 	(mark_lang_status): Likewise.
+ 	(prepare_function_start): Update init_machine_status call.
+ 	(mark_function_status): Delete.
+ 	(maybe_mark_struct_function): Delete.
+ 	(ggc_mark_struct_function): Delete.
+ 	(gt_ggc_mp_function): New.
+ 	(gt_ggc_mr_machine_function): New.
+ 	(gt_ggc_mr_language_function): New.
+ 	(init_function_once): Use canonical names.
+ 	* function.h (struct function): Use gengtype.
+ 	(init_machine_status): Return the structure.
+ 	(mark_machine_status): Take a 'void *'.
+ 	(mark_lang_status): Likewise.
+ 	* ggc-common.c (ggc_mark_trees): Use canonical name for
+ 	ggc_mark_struct_function.
+ 	* tree.h (ggc_mark_struct_function): Delete prototype.
+ 	* config/alpha/alpha.c (alpha_mark_machine_status): Delete.
+ 	(alpha_init_machine_status): Likewise.
+ 	(override_options): Use canonical name for alpha_mark_machine_status.
+ 	* config/alpha/unicosmk.h (struct machine_function): Use gengtype.
+ 	* config/arm/arm.h (struct machine_function): Use gengtype.
+ 	* config/arm/arm.c (arm_mark_machine_status): Delete.
+ 	(arm_init_machine_status): Update calling sequence.
+ 	(arm_init_expanders): Use canonical name for arm_mark_machine_status.
+ 	* config/cris/cris.c (cris_init_machine_status): Update
+ 	calling sequence.
+ 	* config/d30v/d30v.h (struct machine_function): Use gengtype.
+ 	* config/d30v/d30v.c (d30v_init_machine_status): Update
+ 	calling sequence.
+ 	(d30v_mark_machine_status): Delete.
+ 	* config/i386/i386.c: Include gt-i386.h.
+ 	(struct machine_function): Use gengtype.
+ 	(ix86_init_machine_status): Update calling sequence.
+ 	(ix86_mark_machine_status): Delete.
+ 	(override_options): Use canonical namke for ix86_mark_machine_status.
+ 	* config/ia64/ia64.h (struct machine_function): Use gengtype.
+ 	* config/ia64/ia64.c (ia64_init_machine_status): Update calling
+ 	sequence.
+ 	(ia64_mark_machine_status): Delete.
+ 	(ia64_override_options): Use canonical name for
+ 	ia64_mark_machine_status.
+ 	* config/mmix/mmix.c (mmix_init_machine_status): Update calling
+ 	sequence.
+ 	* config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
+ 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
+ 	* gengtype.c (get_output_file): Fix warning.
+ 	(main): Add prototype to suppress warning.
+ 	* tree.c: Remove tree_hash_mark prototype.
+ 
+ 	* tree.h (init_stmt): Delete prototype.
+ 	* toplev.c (lang_independent_init): Don't call init_stmt.
+ 	* stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
+ 	(stmt_obstack): Delete.
+ 	(POPSTACK): No need to free 'struct nesting'.
+ 	(gt_ggc_mr_nesting_cond): Use canonical names.
+ 	(gt_ggc_mr_nesting_loop): Use canonical names.
+ 	(gt_ggc_mr_nesting_block): Use canonical names.
+ 	(gt_ggc_mr_nesting_case_stmt): Use canonical names.
+ 	(mark_stmt_status): Delete.
+ 	(init_stmt): Delete.
+ 	(clear_last_expr): Clear both last_expr_type and last_expr_value.
+ 	Use it everywhere that last_expr_type was cleared.
+ 	* lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
+ 	(zap_lists): Delete.
+ 	* ggc.h (ggc_add_deletable_root): Prototype.
+ 	(mark_stmt_status): Remove prototype.
+ 	* ggc-common.c (ggc_add_deletable_root): New.
+ 	(ggc_mark_roots): Handle deletable roots.
+ 	* function.c (ggc_mark_struct_function): Use canonical name
+ 	for mark_stmt_status.
+ 	* emit-rtl.c (free_sequence_stack): New.
+ 	(start_sequence): Use a freelist for sequences.
+ 	(end_sequence): Likewise.
+ 	(init_emit_once): Add free_sequence_stack as a deleteable root.
+ 	* c-pragma.c Include gt-c-pragma.h.
+ 	(struct align_stack): Use gengtype.
+ 	(push_alignment): Use GGC for struct align_stack.
+ 	(mark_align_stack): Delete.
+ 	(gt_ggc_mp_align_stack): New.
+ 	(init_pragma): Use canonical name for mark_align_stack.
+ 	* c-decl.c: Include gt-c-decl.h.
+ 	(struct binding_level): Use gengtype.
+ 	(make_binding_level): Use GGC; handle the freelist here.
+ 	(pop_binding_level): New.
+ 	(pushlevel): Move code into make_binding_level.
+ 	(push_label_level): Likewise.
+ 	(poplevel): Move code into pop_binding_level.
+ 	(pop_label_level): Likewise.
+ 	(mark_binding_level): Delete.
+ 	(gt_ggc_mp_binding_level): New.
+ 	(c_init_decl_processing): Use canonical name for mark_binding_level.
+ 	Add free_binding_level as deletable root.
+ 	(mark_c_function_context): Use canonical name for mark_binding_level.
+ 	* Makefile.in (c-decl.o): Add gt-c-decl.h.
+ 	(c-pragma.o): Add gt-c-pragma.h.
+ 	(GTFILES): Add c-decl.c and c-pragma.c.
+ 	(gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
+ 
+ 	* tree.c (struct type_hash): Use gengtype.
+ 	(init_obstacks): Use canonical name for type_hash_mark.
+ 	(type_hash_mark): Delete.
+ 	Include gt-tree.h.
+ 	* rtl.h (struct mem_attrs): Use gengtype.
+ 	* optabs.h (struct optab): Use gengtype.
+ 	* optabs.c (expand_binop): Squish signed/unsigned warning.
+ 	(mark_optab): Make local, use canonical name, use autogenerated
+ 	marker procedure.
+ 	(init_optabs): Use canonical name for mark_optab.
+ 	(new_optab): Use GGC to allocate optabs.
+ 	* ggc.h: Delete mark_optab prototype.
+ 	* ggc-common.c (ggc_mark_rtx_children): Use canonical name for
+ 	mem_attrs marker procedure.
+ 	* gengtype.c (get_output_file): Include headers in gtype-desc.c
+ 	explicitly rather than deducing them from file names.
+ 	(write_gc_structure_fields): Handle arrays of structures.
+ 	(main): Return nonzero exit code if errors occur during output.
+ 	* emit-rtl.c (mem_attrs_mark): Delete.
+ 	(init_emit_once): Use canonical name for mem_attrs marker procedure.
+ 	* Makefile.in (gtype-desc.o): Explicitly name dependencies.
+ 	(tree.o): Depend on gt-tree.h.
+ 	(GTFILES): Add rtl.h, optabs.h, tree.c.
+ 	(gt-tree.h): Add it to s-gtype rule.
+ 
+ 	* .cvsignore: Ignore gengtype flex/bison generated files.
+ 	* Makefile.in (GGC_H): Add gtype-desc.h.
+ 	(OBJS): Add gtype-desc.o.
+ 	(GEN): Add gengtype.
+ 	(STAGESTUFF): Add gengtype.
+ 	(varasm.o): Add gt-varasm.h.
+ 	(stmt.o): Add gt-stmt.h.
+ 	(except.o): Add gt-except.h.
+ 	(integrate.o): Add gt-integrate.h.
+ 	(GTFILES): New.
+ 	Add new rules for new files.
+ 	* configure: Regenerate.
+ 	* configure.in: Correct defaults.h paths.
+ 	* emit-rtl.c (mark_sequence_stack): Delete.
+ 	(mark_emit_status): Delete.
+ 	(start_sequence): Allocate sequence structures using GGC.
+ 	(end_sequence): Allocate sequence structures using GGC.
+ 	* except.c: Use gengtype for various structures.  Include
+ 	gt-except.h.
+ 	* expr.c (mark_expr_status): Delete.
+ 	* function.c: Use gengtype for various structures.  Include
+ 	gt-function.h.
+ 	(mark_function_status): Use standard gt_ggc names for marker functions.
+ 	(ggc_mark_struct_function): Likewise.
+ 	* function.h: Use gengtype for various structures.
+ 	* gengtype-lex.l: New file.
+ 	* gengtype-yacc.y: New file.
+ 	* gengtype.c: New file.
+ 	* gengtype.h: New file.
+ 	* ggc.h: Include gtype-desc.h.  Alias some marker procedures to
+ 	the standard names.  Remove some now-unnecessary prototypes.
+ 	* integrate.c: Use gengtype for various structures.  Include
+ 	gt-integrate.h.
+ 	(mark_hard_reg_initial_vals): Delete.
+ 	* integrate.h (mark_hard_reg_initial_vals): Delete.
+ 	* stmt.c: Use gengtype for various structures.  Include
+ 	gt-stmt.h.
+ 	(mark_case_node): Delete.
+ 	(mark_goto_fixup): Delete.
+ 	(mark_stmt_status): Use standard gt_ggc names for marker functions.
+ 	* system.h: Define GTY to empty.   In flex/bison files,
+ 	don't poison malloc or realloc, instead just define them to
+ 	xmalloc and xrealloc.
+ 	* varasm.c: Use gengtype for various structures.  Include
+ 	gt-varasm.h.  Use standard gt_ggc names for marker functions.
+ 	(mark_pool_constant): Delete.
+ 	(mark_varasm_status): Delete.
+ 	(decode_rtx_const): #if 0 out non-typesafe hack.
+ 
+ 	* function.h (free_lang_status): Mark as obsolete.
+ 	* function.c (free_lang_status): Mark as obsolete.
+ 	* c-decl.c (push_c_function_context): Use GC to allocate and free
+ 	struct language_function.
+ 	(pop_c_function_context): Likewise.
+ 	* c-common.c (mark_c_language_function): Mark struct
+ 	language_function.
+ 
+ 	* doc/tm.texi (Per-Function Data): Don't document free_machine_status.
+ 	Document that the machine_function structures must be allocated
+ 	using GC.  Update mark_machine_status documentation.
+ 	* function.h: Don't declare free_machine_status.
+ 	* function.c (free_machine_status): Don't define.
+ 	(free_after_compilation): Don't call free_machine_status.
+ 	(ggc_mark_struct_function): Mark f->machine.  Call
+ 	mark_machine_status only on non-NULL pointers.
+ 	* system.h: Poison free_machine_status.
+ 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
+ 	struct machine_function.
+ 	(xtensa_free_machine_status): Delete.
+ 	(override_options): Don't set free_machine_status.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
+ 	free_machine_status.
+ 	(rs6000_init_machine_status): Use GC on struct machine_function.
+ 	(rs6000_free_machine_status): Delete.
+ 	* config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
+ 	machine_function.
+ 	(ia64_mark_machine_status): Likewise.
+ 	(ia64_free_machine_status): Delete.
+ 	(ia64_override_options): Don't set free_machine_status.
+ 	* config/i386/i386.c (override_options): Don't set
+ 	free_machine_status.
+ 	(ix86_init_machine_status): Use GC on struct machine_function.
+ 	(ix86_mark_machine_status): Likewise.
+ 	(ix86_free_machine_status): Delete.
+ 	* config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
+ 	machine_function.
+ 	(d30v_mark_machine_status): Likewise.
+ 	(d30v_free_machine_status): Delete.
+ 	(d30v_init_expanders): Don't set free_machine_status.
+ 	* config/arm/arm.c (arm_mark_machine_status): Use GC on struct
+ 	machine_function.
+ 	(arm_init_machine_status): Likewise.
+ 	(arm_free_machine_status): Delete.
+ 	(arm_init_expanders): Don't set free_machine_status.
+ 	* config/alpha/alpha.c (override_options): Don't set
+ 	free_machine_status.
+ 	(alpha_init_machine_status): Use GC on struct machine_function.
+ 	(alpha_mark_machine_status): Likewise.
+ 	(alpha_free_machine_status): Delete.
+ 
+ 	* varasm.c (compare_constant): Fix typo.
+ 
+ 	* varasm.c: Don't include obstack.h.
+ 	(struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
+ 	(struct rtx_const): Give substructures names, improve formatting.
+ 	(struct constant_descriptor): Delete.
+ 	(struct constant_descriptor_tree): New, based on constant_descriptor.
+ 	(const_hash_table): Is a hash table of trees.
+ 	(mark_const_hash_entry): Is used for hashes of trees.  Mark
+ 	constant_descriptor_tree structure.
+ 	(mark_const_str_htab_1): Mark deferred_string structure.
+ 	(compare_constant): Rewrite to compare trees.
+ 	(compare_constant_1): Delete.
+ 	(record_constant): Delete.
+ 	(record_constant_1): Delete.
+ 	(output_constant_def): Use struct constant_descriptor_tree.
+ 	Don't duplicate trees twice.
+ 	(struct constant_descriptor_rtx): New.
+ 	(struct pool_constant): Used for rtx constants.
+ 	(init_varasm_status): Update for change to struct varasm_status.
+ 	(mark_varasm_status): Likewise.
+ 	(free_varasm_status): Delete.
+ 	(compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
+ 	(record_constant_rtx): Likewise.
+ 	(mem_for_const_double): Update to use struct constant_descriptor_rtx.
+ 	(force_const_mem): Likewise.
+ 	* Makefile.in (varasm.o): Doesn't depend on obstack.h.
+ 	* function.c (free_after_compilation): Don't use free_varasm_status.
+ 	* function.h: Don't prototype free_varasm_status.
+ 
+ 	* ggc-common.c (ggc_realloc): Handle X being NULL.
+ 
+ 	* ggc-common.c (ggc_realloc): New function.
+ 	* ggc.h: Prototype it.
+ 	* emit-rtl.c (free_emit_status): Delete.
+ 	(init_emit): Allocate emit subarrays using GC.
+ 	(gen_reg_rtx): Reallocate subarrays using GC.
+ 	(init_emit): Use GC to allocate 'struct emit_status' and its
+ 	subarrays.
+ 	(mark_emit_status): Mark structure and its subarrays.
+ 	* stmt.c (free_stmt_status): Delete.
+ 	* expr.c (free_expr_status): Delete.
+ 	* function.h: Remove prototypes for deleted functions.
+ 	* function.c (free_after_compilation): Don't use deleted functions.
+ 	Don't call free() on x_parm_reg_stack_loc.
+ 	(free_after_parsing): Don't use free_stmt_status.
+ 	(assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
+ 	(mark_function_status): Mark x_parm_reg_stack_loc.
+ 
+ 	* varasm.c (init_varasm_status): Use GC to allocate
+ 	'struct varasm_status' and its fields x_const_rtx_hash_table
+ 	and x_const_rtx_sym_hash_table.
+ 	(mark_varasm_status): Mark them.
+ 	(free_varasm_status): Use GC to free them.
+ 	* expr.c (init_expr): Use GC to allocate 'struct expr_status'.
+ 	(mark_expr_status): Mark the structure itself.
+ 	(free_expr_status): Use GC to free the structure.
+ 	* stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
+ 	(mark_stmt_status): Mark the 'struct stmt_status' itself.
+ 	(init_stmt_for_function): Allocate the structure for GC.
+ 
+ 	* dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
+ 	(equate_type_number_to_die): Likewise.
+ 	* tree.h (TYPE_SYMTAB_DIE): New macro.
+ 	(struct die_struct): Predeclare.
+ 	(struct tree_type): Add field symtab.die.   Add a tag
+ 	to the union type of field symtab.
+ 
+ 	* varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
+ 	'struct rtvec_def *', not 'struct rtvec_def'.
+ 
+ 	* function.h (original_arg_vector): Make a real rtvec.
+ 	* function.c (ggc_mark_struct_function): Adjust.
+ 	* integrate.c (expand_inline_function): Adjust.
+ 
+ 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
+ 	(sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
+ 	* config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
+ 	(TARGET_VERSION_CPU): Define according to the
+ 	default target.
+ 	(TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
+ 	TARGET_VERSION_CPU.
+ 	(TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
+ 	if TARGET_SHMEDIA64.
+ 	(LINK_DEFAULT_CPU_EMUL): Define according to the
+ 	default target.
+ 	(SUBTARGET_LINK_EMUL_SUFFIX): Define.
+ 	(SUBTARGET_LINK_SPEC): Define.
+ 	(LINK_SPEC): Use SH_LINK_SPEC.
+ 	(ASM_SPEC): Remove.
+ 	(TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
+ 	(FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
+ 	and TARGET_SHMEDIA64 which abort, for now.
+ 	* config/sh/t-netbsd-sh5: New file.
+ 	* config/sh/t-netbsd-sh5-32: New file.
+ 	* config/sh/t-netbsd-sh5-64: New file.
+ 
+ 2002-06-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (reg_or_const_int_operand): New.
+ 	(some_operand, input_operand): Accept CONST_VECTOR.
+ 	(alpha_extra_constraint): Add 'W'.
+ 	(alpha_expand_zap_mask): New.
+ 	(alpha_expand_builtin_vector_binop): New.
+ 	(enum alpha_builtin): New.
+ 	(zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
+ 	(alpha_init_builtins, alpha_expand_builtin): New.
+ 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
+ 	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
+ 	UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
+ 	(movv8qi, movv8qi_fix, movv8qi_nofix): New.
+ 	(movv4hi, movv4hi_fix, movv4hi_nofix): New.
+ 	(movv2si, movv2si_fix, movv2si_nofix): New.
+ 	(uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
+ 	(umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
+ 	(builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
+ 	builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
+ 	builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
+ 	builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
+ 	builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
+ 	pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
+ 	builtin_unpkbw, unpkbw): New.
+ 	* doc/extend.texi (Alpha Built-in Functions): New.
+ 
+ 2002-06-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
+ 	USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
+ 
+ 2002-06-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
+ 
+ 	* config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
+ 	(const0_operand): New.
+ 	(reg_or_fp0_operand, fp0_operand): Remove.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
+ 	and fp0_operand with reg_or_0_operand and const0_operand.
+ 
+ 2002-06-03  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
+ 
+ 	* alias.c (nonoverlapping_memrefs_p): Fix off by one error.
+ 
+ 2002-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (cprop_jump): Use single_set to get the pattern
+ 	from the setcc argument.
+ 
+ 2002-06-03  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (diagnostic_count): Move from output_buffer to
+ 	diagnostic_context.
+ 	(diagnostic_kind_count): Adjust definition.
+ 
+ Mon Jun  3 19:11:53 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (except.c): Do not rebuild CFG.
+ 	* toplev.c (rest_of_compilation): Recompute CFG after sibcall
+ 	optimization.
+ 
+ Mon Jun  3 11:53:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
+ 	* toplev.c: Include cfglahout.h
+ 	* Makefile.in (toplev.c): Add dependnecy.
+ 
+ 2002-06-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
+ 	(CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
+ 	(CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
+ 
+ 2002-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/ns32k/netbsd.h: Update copyright years.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Remove.
+ 	* config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
+ 	(TARGET_CPU_CPP_BUILTINS): Define.
+ 
+ 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c: Fix formatting.
+ 	* errors.h: Likewise.
+ 	* except.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* expr.h: Likewise.
+ 
+ 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/elf.h: Fix formatting.
+ 	* config/h8300/rtems.h: Likewise.
+ 
+ 2002-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
+ 
+ 2002-06-02  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* fixinc/fixincl.x: Rebuilt.
+ 	* fixinc/inclhack.def (thread_keyword): Match `*__thread'.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config/i370:
+ 	* i370.h (TARGET_CPU_CPP_BUILTINS): Use.
+ 	* linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
+ 	* mvs.h: Similarly.
+ 	* oe.h: Similarly.
+ 
+ Mon Jun  3 00:18:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (final):  Allow notes to not have computed addresses;
+ 	kill no longer needed STACK_REGS ifdef.
+ 
+ 2002-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcse.c (bypass_conditional_jumps): Fix typo last change.
+ 
+ Sun Jun  2 23:02:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (emit_prefetch_instructions): Properly place the address
+ 	computation.
+ 
+ Sun Jun  2 22:56:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
+ 	(set_block_for_insn): Turn into macro.
+ 	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
+ 	* cfglayout.c (insn_scopes): Kill.
+ 	(scope_to_insns_initialize): Do not use insn_scopes.
+ 	(scope_to_insns_finalize): Likewise.
+ 	(duplicate_insn_chain): Likewise.
+ 	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
+ 	* cfgrtl.c (basic_block_for_insn): Kill.
+ 	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
+ 	(create_basic_block_structure): Use reorder_insns.
+ 	(compute_bb_for_insn): Do not use basic_block_for_insn.
+ 	(merge_blocks_nomove): Likewise.
+ 	(update_bb_for_insn): Likewise.
+ 	(verify_flow_info): Likewise.
+ 	(set_block_for_insn): Kill.
+ 	* combine.c (try_combine): Update gen_rtx_INSN call.
+ 	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
+ 	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
+ 	scopes and BBs.
+ 	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
+ 	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
+ 	Clear BB.
+ 	(emit_insns_after): Simplify.
+ 	(emit_copy_of_insn_after): Copy scope.
+ 	* final.c (final_start_function): Lower scopes.
+ 	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
+ 	* integrate.c (copy_insn_list): Cope scopes.
+ 	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
+ 	* loop.c (loop_optimize): Do not care block notes.
+ 	* print-rtl.c (print_rtx): Print BB.
+ 	* recog.c (apply_change_group): Simplify.
+ 	* rtl.c (copy_rtx): Handle 'B'.
+ 	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
+ 	* rtl.h (Field accessors): Update indexes.
+ 	* sched-ebb.c (schedule_ebbs): Do not lower notes.
+ 	* sched-rgn.c (schedule_insns): Likewise.
+ 	* toplev.c (rest_of_compilation): Lower notes.
+ 	* unroll.c (unroll_loop): Do not care scoping notes.
+ 	(copy_loop_body): Copy scopes.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config/h8300:
+ 	* elf.h: Use TARGET_OS_CPP_BUILTINS rather than
+ 	SUBTARGET_SPEC.
+ 	* rtems.h: Similarly.
+ 	* h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
+ 	EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
+ 	(TARGET_CPU_CPP_BUILTINS): Use.
+ 
+ 2002-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c: Include target.h.
+ 	(mark_constant_function): Use targetm.binds_local_p instead
+ 	of checking TREE_PUBLIC ourselves.
+ 	* Makefile.in (alias.o): Add TARGET_H.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c: Update copyright and file description.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/fr30/fr30.h: Update to new CPP macros.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/dsp16xx/dsp16xx.h: Update to new CPP macros.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* c-common.c (c_common_init): Override cpplib's default
+ 	warn_long_long setting.
+ 	* c-lex.c (lex_number): Replace with interpret_integer,
+ 	interpret_float, narrowest_unsigned_type and
+ 	narrowest_signed_type, taking advantage of the new
+ 	cpplib functionality.
+ 	* cpperror.c (_cpp_begin_message): If a warning is turned
+ 	into an error, avoid printing "warning:".
+ 	* cppexp.c (cpp_num_sign_extend): New.
+ 	* cppinit.c: Update comment.
+ 	* cpplib.h (cpp_num_sign_extend): New.
+ 	* tree.h: Update comment.
+ 
+ 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.h (struct diagnostic_context):  Add new member
+ 	internal_error.
+ 	(internal_error_function): Remove declaration.
+ 	* diagnostic.c (internal_error_function): Remove definition..
+ 	(internal_error): Adjust use.
+ 
+ 2002-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (CC0_P): New.
+ 	* gcse.c (cprop_jump): Use it with single_set.  Tweak dump text.
+ 	(cprop_insn): Allow any mode register; use CC0_P.  CSE out single_set.
+ 	(bypass_block): Save old dest block for dump text.
+ 	(bypass_conditional_jumps): Allow any mode register; use CC0_P.
+ 	Allow only true SET insns, not single_set.
+ 
+ 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* diagnostic.c (diagnostic_finish): Rename to output_flush.
+ 	(clear_disgnostic_info): Rename to output_clear_data.  Use false
+ 	instead of 0 for boolean value.
+ 	Adjust function call throughout.
+ 
+ Sun Jun  2 19:15:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (commit_one_edge_insertion): Fix warning.
+ 	* gcse.c (bypass_conditional_jumps): CSE out single_set call.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* d30v.h (CPP_PREDEFINES): Replace with
+ 	(TARGET_CPU_CPP_BUILTINS): New.
+ 
+ 2002-06-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
+ 
+ Sun Jun  2 12:11:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (bypass_conditional_jumps): Use single set to obtain set.
+ 
+ 2002-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtlanal.c (volatile_refs_p): Not automatically true for CALL.
+ 
+ 2002-06-02  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	Support for C++ constructors/destructors.
+ 	* config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
+ 	instead of looping if main() returns.
+ 	(asm_file_start): Output global symbols that cause .data and .bss
+ 	initialization code to be linked in, unconditionally for now.
+ 	(avr_asm_out_ctor, avr_asm_out_dtor): New functions.
+ 	* config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
+ 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+ 	(LIBSTDCXX): New.
+ 	* config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
+ 	(__tablejump__): New.
+ 	(__do_copy_data, __do_clear_bss): New.
+ 	(__do_global_ctors, __do_global_dtors): New.
+ 	* config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
+ 	_ctors, _dtors.
+ 
+ 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
+ 	(CPP_SPEC, CPP_PREDEFINES): Kill.
+ 	* c4x/rtems.h (CPP_PREDEFINES): Kill.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 
+ Sat Jun  1 23:29:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (tracer.o): New.
+ 	* params.def (TRACER_*): New options.
+ 	* rtl.h (tracer): Declare.
+ 	* timevar.def (TV_TRACER): New.
+ 	* toplev.c (dump_file_index): Add DFI_tracer.
+ 	(dump_file_info): Add tracer.
+ 	(flag_tracer): New.
+ 	(lang_indepdenent_options): Add tracer.
+ 	(rest_of_compilation): Call tracer.
+ 	* tracer.c: New file.
+ 	* invoke.texi (-ftracer): Document.
+ 	(--param tracer-*): Document.
+ 
+ 2002-06-01  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-inline.c (expand_call_inline): Make the statement
+ 	expression we generate have a COMPOUND_STMT.
+ 
+ 2002-06-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (cprop_cc0_jump): Function deleted.
+ 	(cprop_jump): Take an additional argument which is the possibly
+ 	NULL cc setting insn immediately before the conditional jump.
+ 	When a MODE_CC set is present, substitute it into the JUMP_INSN
+ 	before attempting the constant propagation.
+ 	(cprop_insn):  Recognize cc setters followed by conditional jumps
+ 	as a special case.   Use cprop_jump instead of cprop_cc0_jump.
+ 	(cprop_one_pass):  Call bypass_conditional_jumps if altering jumps.
+ 	(find_bypass_set): New function based upon find_avail_set used by
+ 	cprop, but finds constant expressions available at the end of
+ 	basic blocks.
+ 	(bypass_block): New function.  Given a basic block that begins
+ 	with a conditional jump and multiple incoming edges, perform
+ 	the jump bypass optimization.
+ 	(bypass_conditional_jumps): New function.  Call bypass_block with
+ 	each suitable basic block in the CFG using a simple single pass.
+ 
+ 2002-06-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (real_minus_onep): New function to test for -1.0.
+ 	* fold-const.c (fold) [MULT_EXPR]:  Optimize -1.0*x into -x.
+ 
+ 2002-06-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
+ 	and "!p && !q" into "(p|q) == 0" under suitable conditions.
+ 
+ 2002-06-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cppexp.c (cpp_classify_number): Cast precission to int for
+ 	correct printf format.
+ 
+ 2002-06-01  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_mcu_types): Remove devices that were once
+ 	expected, but don't really exist: atmega83, atmega85, attiny10.
+ 	* config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
+ 	emulations for all devices.
+ 	(CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
+ 
+ 2002-06-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_shift_needs_scratch_p.
+ 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
+ 	* config/h8300/h8300.h (OK_FOR_R): New.
+ 	(OK_FOR_S): Likewise.
+ 	(OK_FOR_T): Likewise.
+ 	(EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
+ 	* config/h8300/h8300.md (anonymous shift patterns): Use
+ 	constraints R, S, and T.
+ 
+ Sat Jun  1 11:23:22 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* basic-block.h (struct basic_block_def): New field loop_father.
+ 	(BB_VISITED): New flag.
+ 	(struct loop): New field pred, removed field shared.
+ 	(struct loops): New field parray.
+ 	(LOOP_EXITS_DOMS): Removed.
+ 	(flow_loop_tree_node_add, flow_loop_tree_node_remove,
+ 	flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
+ 	dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
+ 	add_bb_to_loop, remove_bb_from_loops, find_common_loop,
+ 	verify_loop_structure): Declare.
+ 	* cfg.c (entry_exit_blocks): Initialize loop_father field.
+ 	* cfganal.c (dfs_enumerate_from): New function.
+ 	* cfgloop.c (HEAVY_EDGE_RATIO): New constant.
+ 	(flow_loop_entry_edges_find, flow_loop_exit_edges_find,
+ 	flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
+ 	flow_loop_dump, flow_loops_dump, flow_loops_free,
+ 	flow_loop_tree_node_add, flow_loop_level_compute,
+ 	flow_loops_level_compute, flow_loop_scan, flow_loops_update,
+ 	flow_loop_outside_edge_p): Modified for new infrastructure.
+ 	(make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
+ 	redirect_edge_with_latch_update, flow_loop_free): New static functions.
+ 	(flow_loop_tree_node_remove, flow_bb_inside_loop_p,
+ 	get_loop_body, add_bb_to_loop, remove_bb_from_loops,
+ 	find_common_loop, verify_loop_structure, loop_latch_edge,
+ 	loop_preheader_edge): New functions.
+ 	(flow_loops_cfg_dump): Do not show dominators, as this information
+ 	does not remain up to date long.
+ 	(flow_loops_find): Store results in new format.
+ 	* predict.c (propagate_freq, estimate_probability,
+ 	estimate_loops_at_level, estimate_bb_frequencies): Use new loop
+ 	infrastructure.
+ 
+ 2002-06-01  Alan Lehotsky  <apl@alum.mit.edu>
+ 
+ 	* except.c (nothrow_function_p): Walk epilogue delay list
+ 	checking the insn, not the chain for potential throws.
+ 
+ 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
+ 	(install): Refer to install-cpp directly.
+ 	(uninstall-cpp): Folded into uninstall rule.
+ 	* configure.in: Delete all code relating to --disable-cpp.
+ 	* configure: Regenerate.
+ 	* config/t-install-cpp: Delete.
+ 
+ 2002-05-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_TLS): Add alpha tests.
+ 	* configure: Rebuild.
+ 	* config/alpha/alpha.c (TARGET_AS_TLS): New.
+ 	(alpha_tls_size, alpha_tls_size_string): New.
+ 	(overide_options): Set it.  Always install machine_status hooks.
+ 	(input_operand): Accept got tls predicates.
+ 	(local_symbol_p): Merge into ...
+ 	(local_symbolic_operand): ... here.  Reject tls symbols.
+ 	(global_symbolic_operand): Likewise.
+ 	(tls_symbolic_operand_1, dtp16_symbolic_operand): New.
+ 	(dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
+ 	(tp16_symbolic_operand, tp32_symbolic_operand): New.
+ 	(gottp_symbolic_operand, tls_symbolic_operand_type): New.
+ 	(alpha_encode_section_info): Handle TLS symbols.
+ 	(alpha_strip_name_encoding): Likewise.
+ 	(alpha_legitimate_address_p): Likewise.
+ 	(alpha_legitimize_address): Likewise.
+ 	(alpha_expand_mov): Early exit to avoid nop moves.
+ 	(struct machine_function): Move from unicosmk.h.  Add some_ld_name.
+ 	(alpha_init_machine_status, alpha_mark_machine_status,
+ 	alpha_free_machine_status): Always define.
+ 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
+ 	(print_operand, print_operand_address): Add TLS relocs.
+ 	* config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
+ 	(MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
+ 	(TARGET_SWITCHES): Add -mtls-kernel.
+ 	(alpha_tls_size, alpha_tls_size_string): New.
+ 	(TARGET_OPTIONS): Add -mtls-size=.
+ 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
+ 	REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
+ 	(ASM_OUTPUT_LABELREF): Skip %.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Add &.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
+ 	UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
+ 	UNSPEC_TP, UNSPECV_SET_TP): New.
+ 	(adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
+ 	adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
+ 	set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
+ 	movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
+ 	(call_value_osf_2_er): Accept anything as op4.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
+ 
+ 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppinit.c (append_include_chain): Always pay attention to
+ 	cxx_aware when setting new->sysp.  Remove ATTRIBUTE_UNUSED
+ 	marker on argument.
+ 
+ 2002-05-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* target.h: Fix formatting.
+ 	* timevar.h: Likewise.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* toplev.h: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree-dump.h: Likewise.
+ 	* tree.h: Likewise.
+ 	* tree-inline.h: Likewise.
+ 	* unroll.c: Likewise.
+ 	* unwind-dw2.c: Likewise.
+ 	* unwind-dw2-fde.c: Likewise.
+ 	* unwind-dw2-fde-glibc.c: Likewise.
+ 	* unwind-dw2-fde.h: Likewise.
+ 	* unwind.h: Likewise.
+ 	* unwind-sjlj.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* varray.h: Likewise.
+ 	* vmsdbg.h: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 	* xcoffout.h: Likewise.
+ 
+ 2002-05-31  Igor Shevlyakov <igor@microunity.com>
+ 
+ 	* expr.c (compare_from_rtx): Generate comparison between op0 and op1
+ 	rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
+ 
+ 2002-05-31  Matthew Woodcraft  <mattheww@chiark.greenend.org.uk>
+ 
+ 	* gcc.c (cpp_unique_options): Remove "-d" options.
+ 	(cpp_debug_options): New spec string.
+ 	(default_compilers): Use it.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ 2002-05-31  Nathanael Nerode  <neroden@twcny.rr.com>
+ 
+ 	* gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
+ 	BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
+ 	* gcc/mklibgcc.in: Likewise.
+ 	* gcc/config/arc/t-arc: Likewise.
+ 	* gcc/configure.in: Likewise.
+ 	* gcc/configure: Regenerate.
+ 
+ 2002-05-31  Stan Shebs  <shebs@apple.com>
+ 	    Turly O'Connor  <turly@apple.com>
+ 
+ 	* c-decl.c (struct binding_level): Change int field n_incomplete
+ 	to tree list incomplete_list.
+ 	(clear_binding_level): Init field with NULL.
+ 	(pushdecl): Add incomplete type to list.
+ 	(mark_binding_level): Mark the incomplete list.
+ 	(finish_struct): Scan the incomplete list for types instead
+ 	of all decls in the current binding level.
+ 
+ 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_millicode_call): Add missing '%' characters.
+ 	(output_call): Likewise.
+ 
+ 2002-05-31  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
+ 
+ 2002-05-31  Alan Lehotsky <apl@alum.mit.edu>
+ 
+ 	* varasm.c (mark_constant_pool): Walk epilogue delay list
+ 	checking the insn, not the chain for potential constants.
+ 
+ Fri May 31 12:38:43 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
+ 
+ Fri May 31 13:50:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Properly handle base types.
+ 
+ 	* dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
+ 	Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
+ 	registers.
+ 
+ Fri May 31 13:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (gcse_emit_move_after): New.
+ 	(pre_delete, hoist_store): Use it.
+ 
+ 	* reload1.c (emit_input_reload_insns): Use constrain_operands
+ 	instead of constraint_accepts_reg_p to verify optimization.
+ 	(constraint_accepts_reg_p): Kill.
+ 
+ 	* reload1.c (reload_cse_delete_noop_set): Kill.
+ 	(reload_cse_simplify): Use delete_insn_and_edges.
+ 
+ 2002-05-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.c (flow_loops_find): Initialize first and last fields
+ 	correctly.
+ 
+ 2002-05-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (builtin_define_std): Correct logic.
+ 
+ 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
+ 	(output_call): Likewise.
+ 
+ 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c: Move output.h include after tree.h include.
+ 	(pa_asm_output_mi_thunk): Constify identifier lab.
+ 
+ 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/ns32k/ns32k.h: Define named constants for the
+ 	bits in target_flags and use them.
+ 	* config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
+ 
+ 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
+ 	architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
+ 	* pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
+ 	default scheduling model.
+ 	* pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
+ 	* pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
+ 	* pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
+ 	* doc/install.texi (hppa*-*-*): Document default scheduling.
+ 
+ 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
+ 
+ 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (ns32k-*-netbsd*): Set tm_file to
+ 	"${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
+ 	* config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
+ 	netbsd.h, or netbsd-aout.h.
+ 
+ 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* longlong.h (count_trailing_zeros): Add missing \, and clean up
+ 	whitespace in __ns32000__ case.
+ 
+ 2002-05-31  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expr.c (expand_expr): Output partially zeroed out vectors with
+ 	output_constant_def.
+ 
+ 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
+ 	(sh-*-netbsdelf*)
+ 	(shl*-*-netbsdelf*): New targets.
+ 	* config/sh/netbsd-elf.h: New file.
+ 	* config/sh/t-netbsd: New file.
+ 
+ 2002-05-30  Richard Henderson  <rth@redhat.com>
+ 	    Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	PR optimization/6822
+ 	* config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
+ 	to unsigned int for op1 comparisons.  Use gen_int_mode.
+ 
+ 2002-05-30  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	* expmed.c (const_mult_add_overflow_p): New.
+ 	* expr.h: Declare it.
+ 	* loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
+ 	Don't eliminate the biv if the giv has a constant multiplier and
+ 	the rhs argument of the comparison does satisfy the predicate.
+ 	Use expand_mult_add to compute the replacement constant.
+ 
+ 2002-05-30  Osku Salerma  <osku@iki.fi>
+ 
+ 	* c-common.c (c_common_attribute_table): Add "may_alias" entry.
+ 	(c_common_get_alias_set): Handle it.
+ 	* doc/extend.texi: Document it.
+ 
+ 2002-05-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
+ 	* toplev.c (process_options): Don't check it.
+ 	* doc/tm.texi: Don't document it.
+ 	* config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
+ 	(TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
+ 	* config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
+ 	frame pointer optimization if current_function_profile.
+ 
+ 2002-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* langhooks.c: Fix formatting.
+ 	* langhooks.h: Likewise.
+ 	* lcm.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* lists.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* loop.h: Likewise.
+ 
+ 2002-05-30  Marc Espie <espie@openbsd.org>
+ 
+ 	* config.gcc (sparc64-*-openbsd*): New.
+ 	* config/sparc/openbsd1-64.h: New.
+ 	* config/sparc/openbsd64.h: New.
+ 
+ 2002-05-30  Jeff Law <law@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): Revise yesterday's patch.  Delete
+ 	a dead insn with a REG_RETVAL note when the entire libcall is not
+ 	dead and remove the associated REG_LIBCALL note at the same time.
+ 
+ Thu May 30 19:54:30 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* lcm.c (output.h): #include.
+ 	(compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
+ 	as an ordinary block.
+ 	(optimize_mode_switching): Don't pretend that the exit block is
+ 	an ordinary block, or handle sucessors of entry block specially.
+ 	Instead, split edges from entry block and to exit block, and
+ 	put a computing definition on the thus gained post-entry-block,
+ 	and a need on the pre-exit-block.
+ 
+ Thu May 30 20:28:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
+ 	* rtl.texi: Document 'B'
+ 
+ 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
+ 	at run-time.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
+ 
+ 2002-05-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
+ 	const0_rtx instead of NULL_RTX when in error.
+ 	(altivec_expand_abs_builtin): Same.
+ 	(rs6000_expand_binop_builtin): Same.
+ 	(altivec_expand_predicate_builtin): Same.
+ 	(altivec_expand_stv_builtin): Same.
+ 	(rs6000_expand_ternop_builtin): Same.
+ 	(altivec_expand_builtin): Same.
+ 
+ 2002-05-29  David S. Miller  <davem@redhat.com>
+ 
+ 	* rtl.h (clear_emit_caches): Delete.
+ 	* integrate.c (output_inline_function): Don't call it.
+ 	* emit-rtl.c (restore_emit_status, init_emit): Likewise.
+ 	(clear_emit_caches): Delete definition.
+ 	(SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
+ 
+ 2002-05-30  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c: Include real.h.
+ 	(mmix_constant_address_p): Remove redundant test before switch.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
+ 	only if not already defined.
+ 
+ 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Remove prototypes for
+ 	ok_for_bclr and small_power_of_two.
+ 	* config/h8300/h8300.c (small_power_of_two): Remove.
+ 	(ok_for_blcr): Likewise.
+ 	(fix_bit_operand): Make WHAT deal with an integer instead of a
+ 	constraint character.
+ 	* config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
+ 	(CONST_OK_FOR_P): Likewise.
+ 	(CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
+ 	CONST_OK_FOR_P any more.
+ 	* config/h8300/h8300.md (andqi3): Adjust to the new prototype
+ 	of fix_bit_operand.
+ 	(iorqi3): Likewise.
+ 	(xorqi3): Likewise.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Make sure this is undefined.
+ 	(CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
+ 	since it is no longer in CPP_PREDEFINES.  Don't -U__MIPSEL__
+ 	or -U__MIPSEB__ before defining one or the other.  Instead,
+ 	use %(subtarget_endian_default) if neither -EB nor -EL are
+ 	specified.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(SUBTARGET_CPP_SPEC): Remove __LONG64 handling.  Use
+ 	%(netbsd_cpp_spec).
+ 
+ 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/md.texi (Patterns): Note pattern condition pitfall
+ 	for unnamed insn.
+ 
+ 2002-05-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
+ 	when TARGET_ALTIVEC.  Move handling of generic unary, binary, and
+ 	ternary operations from here...
+ 	(rs6000_expand_builtin): ...to here.
+ 	New argument expandedp.
+ 	Change all instances of altivec_expand_binop_builtin to
+ 	rs6000_expand_binop_builtin.
+ 	(altivec_expand_unop_builtin): Rename to
+ 	rs6000_expand_unop_builtin.
+ 	(altivec_expand_binop_builtin): Rename to
+ 	rs6000_expand_binop_builtin.
+ 	(altivec_expand_ternop_builtin): Rename to
+ 	rs6000_expand_ternop_builtin.
+ 
+ 2002-05-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
+ 	(TARGET_BI_ARCH): Likewise.
+ 	* config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
+ 	(TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
+ 	(TARGET_64BIT_DEFAULT): Default to 0.
+ 	(TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
+ 
+ 2002-05-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
+ 	(get_pc_thunk_name): New.
+ 	(output_set_got): Use it.
+ 	(ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
+ 	into linkonce sections.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Make sure this is undefined.
+ 	(CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
+ 	(CPP_SUBTARGET_SPEC): Don't provide different versions for
+ 	default-32 and default-64.  Just always use %(netbsd_cpp_spec).
+ 	(SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
+ 	cpp_subtarget_spec64.  Add netbsd_cpp_spec.
+ 	* config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Make sure this is undefined.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 
+ 2002-05-29  Jeff Law <law@redhat.com>
+ 
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
+ 
+ 	* flow.c (propagate_one_insn): Do not remove a dead insn if it
+ 	contains a REG_RETVAL note.
+ 
+ 	* haifa-sched (sched_analyze): Remove another useless clearing
+ 	of SCHED_GROUP_P I missed yesterday.
+ 
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
+ 	* pa.c (pa_asm_output_mi_thunk): New function.
+ 	* pa-protos.h (pa_asm_output_mi_thunk): Declare.
+ 
+ 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
+ 	(avr_asm_only_p): Make non-static.
+ 	(enum avr_arch): Remove.
+ 	(avr_arch_types): New.
+ 	(avr_mcu_types): Update.
+ 	(avr_override_options): Use avr_arch_types table instead of switch.
+ 	* avr.h (CPP_PREDEFINES): Die.
+ 	(avr_base_arch_macro, avr_extra_arch_macro): New.
+ 	(TARGET_CPU_CPP_BUILTINS): New.
+ 	(CPP_SPEC, EXTRA_SPECS): Simplify.
+ 	(CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
+ 	CPP_AVR5_SPEC): Die.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
+ 	NETBSD_OS_CPP_BUILTINS_AOUT.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 
+ 2002-05-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_output_function_epilogue): New.
+ 	(TARGET_ASM_FUNCTION_EPILOGUE): New.
+ 	(pic_label_name): Remove.
+ 	(pic_labels_used): New.
+ 	(ix86_asm_file_end): Emit one pc load stub for each register used.
+ 	(output_set_got): Generate deep pc load to any register.
+ 	(ix86_select_alt_pic_regnum): New.
+ 	(ix86_save_reg): Don't save pic register if we can find a valid
+ 	call-clobbered replacement.
+ 	(ix86_expand_prologue): If we found a valid replacement, renumber
+ 	pic_offset_table_rtx.
+ 	* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
+ 	pic_offset_table_rtx after reload.
+ 	(REAL_PIC_OFFSET_TABLE_REGNUM): New.
+ 	* config/i386/i386.md (set_got): Make insn, not expander.
+ 	(set_got_nopic, set_got_deep, set_got_nodeep): Remove.
+ 
+ 2002-05-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
+ 	alignment for alloca.
+ 
+ 2002-05-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (output_pic_addr_const): Lowercase rip.
+ 	(print_operand_address): Only add rip for symbolic addresses
+ 	for which we do not have another relocation type.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(EXTRA_SPECS): Add netbsd_cpp_spec.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 	(CPP_PREDEFINES): Remove.
+ 	* config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 	(CPP_PREDEFINES): Remove.
+ 
+ 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/6844
+ 	* cppmacro.c (cpp_macro_definition): Reserve space for terminating
+ 	NUL.
+ 
+ 2002-05-29  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
+ 	mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
+ 
+ 2002-05-29  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/fr30/fr30.md: Remove previous restriction on splits.
+ 	Enforce conformance through gen_lowpart and cont_int_operand.
+ 	* config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
+ 	as the assembler does not support ".bss".
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Remove.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 	* config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES): Remove.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Use %(netbsd_cpp_spec).
+ 	* config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
+ 	(CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
+ 	(SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
+ 	Add netbsd_cpp_spec.
+ 	(CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
+ 
+ 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* cppexp.c (cpp_num): Move to cpplib.h.
+ 	(CPP_ERROR): Remove.
+ 	(interpret_float_suffix, interpret_int_suffix): New.
+ 	(struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
+ 	(cpp_classify_number, cpp_interpret_integer): New.
+ 	(interpret_number): Remove.
+ 	(eval_token): Update to use new routines.
+ 	* cpphash.h (cpp_num_part): Move to cpplib.h.
+ 	* cppinit.c (cpp_post_options): Set warn_long_long.
+ 	* cpplib.h (struct cpp_options): Add warn_long_long.
+ 	(cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
+ 	CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
+ 	CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
+ 	CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
+ 	cpp_interpret_integer): New.
+ 
+ 2002-05-29  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
+ 
+ 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
+ 	NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
+ 	(CPP_SUBTARGET_SPEC): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	(CPP_SPEC): Remove.
+ 
+ 2002-05-29  Chris Lattner  <sabre@nondot.org>
+ 
+ 	* ssa.c (rename_insn_1): Rename uses of undefined registers to
+ 	prevent confusion if/when the register is defined.
+ 
+ 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/6838
+ 	* config/cris/cris.md: Fix typos and thinkos in comments.
+ 	("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
+ 	second alternative.
+ 	("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
+ 	("*mov_sideqi_mem"): Similar, but for operand 3.
+ 	("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
+ 	(splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
+ 	Remove spurious mode specifier on operand 2.
+ 
+ 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Remove the prototype for
+ 	o_operand.
+ 	Add prototypes for single_one_operand and single_zero_operand.
+ 	* config/h8300/h8300.c (o_operand): Remove.
+ 	(single_one_operand): New.
+ 	(single_zero_operand): Likewise.
+ 	(print_operand): For 'V' operand, and the operand with 0xff.
+ 	For 'V' and 'W' operands, do not and the bit position with 7.
+ 	* config/h8300/h8300.md (various anonymous patterns): Replace
+ 	use of exact_log2 with single_one_operand/single_zero_operand.
+ 
+ 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+ 
+ 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimate_pic_operand_p): Do not
+ 	accept symbolic LARL operands.
+ 	(s390_emit_epilogue): Do not set FRAME_RELATED_P on
+ 	epilogue insns.
+ 
+ 2002-05-29  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.md (cmpstr_64/31): Mark whole
+ 	input registers as used.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
+ 	not current_function_uses_pic_offset_table and
+ 	current_function_uses_const_pool; examine current_function_profile.
+ 	(ix86_expand_prologue): Likewise.  Add pic_offset_table_rtx as
+ 	input to blockage if needed.
+ 	(ix86_expand_call): Do not set current_function_uses_pic_offset_table.
+ 	(legitimize_pic_address): Likewise.  Set regs_ever_live for
+ 	pic_offset_table_rtx when invoked during reload.
+ 	* config/i386/i386.h (FINALIZE_PIC): Remove.
+ 	* config/i386/i386.md (tablejump): Reformat.  Do not set
+ 	current_function_uses_pic_offset_table.
+ 	(tls_global_dynamic, tls_local_dynamic_base): Likewise.
+ 	(blockage): Accept anything as operand 0.
+ 
+ 2002-05-28  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
+ 	common CPP built-ins for all NetBSD a.out targets.
+ 	* config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
+ 	common CPP built-ins for all NetBSD ELF targets.
+ 	* config/netbsd.h: Add missing notice.
+ 	(NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
+ 	for all NetBSD targets.
+ 	(NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
+ 	for all NetBSD targets using an LP64 code model.
+ 	(NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
+ 	NetBSD targets.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (update_life_info_in_dirty_blocks): Only do a partial
+ 	update if UPDATE_LIFE_LOCAL.
+ 
+ 2002-05-28  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
+ 
+ Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 			  Jason R. Thorpe <thorpej@wasabisystems.com>
+ 
+ 	config/sh reorganization to factor out endianness and coff:
+ 
+ 	* config/sh/little.h: New file.
+ 	* config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
+ 	defined, define to 0 to select big-endian.
+ 	(SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
+ 	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
+ 	* config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
+ 	* config/sh/t-be: New file.
+ 	* config/sh/t-le: New file.
+ 
+ 	* sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
+ 	(SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
+ 	(TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
+ 	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
+ 	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+ 	(ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
+ 	(CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
+ 	(SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
+ 	(EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
+ 	CPP_DEFAULT_CPU_SPEC.  Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
+ 	SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
+ 	(LINK_SPEC): Define to SH_LINK_SPEC.
+ 	(TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
+ 	(LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
+ 	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
+ 	(CPP_SPEC): Reduce to %(subtarget_cpp_spec).
+ 	(TARGET_ENDIAN_DEFAULT): Define if not already defined.
+ 	* config/sh/coff.h: New file.
+ 	(TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
+ 	(TARGET_OBJFMT_CPP_BUILTINS): Define.
+ 	* config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
+ 	(ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
+ 	(PTRDIFF_TYPE): Likewise.
+ 	("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
+ 	(CPP_PREDEFINES): Don't define.
+ 	(TARGET_OBJFMT_CPP_BUILTINS): Define.
+ 	(LINK_SPEC): Define to SH_LINK_SPEC.
+ 	(LINK_EMUL_PREFIX): Redefine.
+ 	* config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
+ 	(SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
+ 	(CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
+ 	(CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	(TARGET_DEFAULT): Redefine.
+ 	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
+ 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
+ 	(LINK_SPEC): Don't redefine.
+ 	(LINK_DEFAULT_CPU_EMUL): Redefine.
+ 	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
+ 	* sh.c (sh_asm_named_section): Don't declare / define.
+ 	* t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
+ 	* config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
+ 	(sh64-*-elf* tm_file): Likewise.
+ 	(sh-*-rtemself* tm_file): Likewise.
+ 	(sh-*-linux* tm_file): Likewise.  Add sh/little.h.
+ 	(sh-*-linux* tmake_file): Add sh/t-le.
+ 	(sh-*-rtems* tm_file): Add sh/coff.h
+ 	(sh-*-* tm_file): Likewise.
+ 
+ Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
+ 	CONSTANT_POOL_ADDRESS_P.
+ 
+ 	* coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
+ 
+ 2002-05-28  David Edelsohn  <edelsohn@gnu.org>
+ 	    Jeff Law <law@redhat.com>
+ 
+ 	* optabs.c (expand_binop): Fix nwords sign warnings.
+ 	generate pseudo for add_optab.
+ 
+ 	* sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
+ 	* haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
+ 
+ 2002-05-28	Marc Espie <espie@openbsd.org>
+ 
+ 	* config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN):  Remove,
+ 	inherited from gas.h.
+ 	(ASM_QUAD):  Undef.  OpenBSD does not support it.
+ 
+ 2002-05-28  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* doc/install.texi (binaries): Change mingw binaries
+ 	link to www.mingw.org.
+ 
+ 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_compute_frame_layout): Do not add
+ 	bottom alignment for leaf functions.
+ 
+ 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/pa/milli32.S, config/pa/lib1funcs.asm,
+ 	config/sparc/sol2-g1.asm: Delete unused files.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfg.c (dump_flow_info): Print bb->index, not i, for block number.
+ 
+ 	* flow.c (calculate_global_regs_live): Rename call_used to
+ 	invalidated_by_call.  Initialize from regs_invalidated_by_call
+ 	instead of call_used_regs.
+ 
+ 	* varasm.c (default_binds_local_p): Check TREE_PUBLIC before
+ 	DECL_EXTERNAL.
+ 
+ 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h: Don't include real.h.
+ 	Forward-declare struct realvaluetype.
+ 	(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
+ 	contain it.
+ 	(TREE_REAL_CST_PTR): New accessor.
+ 	(TREE_REAL_CST): Update.
+ 	* real.h: Include machmode.h.
+ 	(realvaluetype): Make it struct realvaluetype, not a typedef.
+ 	(build_real): Prototype here.
+ 
+ 	* tree.c: Include real.h.
+ 	(build_real): Allocate the REAL_VALUE_TYPE as a separate
+ 	object in GC memory, set TREE_REAL_CST_PTR to point to it.
+ 	(build_real_from_int_cst): Use build_real.
+ 	* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
+ 	REAL_CST.
+ 
+ 	* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
+ 	fold-const.c, print-tree.c, real.c: Include real.h.
+ 	* Makefile.in: Update dependency lists.
+ 
+ 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* basic-block.h (last_basic_block): Declare.
+ 	(expunge_block_nocompact): Declaration removed.
+ 	(compact_blocks): Declare.
+ 	* cfg.c (last_basic_block): New variable.
+ 	(expunge_block_nocompact): Removed.
+ 	(expunge_block): Do not compact basic blocks.
+ 	(compact_blocks): New.
+ 	* cfganal.c (flow_call_edges_add): Use the fact that bb indices no
+ 	longer change.
+ 	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
+ 	last_basic_block.
+ 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
+ 	real positions of blocks.
+ 	(delete_unreachable_blocks): Simplified -- quadratic behavior now
+ 	cannot occur.
+ 	(cleanup_cfg): Compact blocks.
+ 	* cfgrtl.c (create_basic_block): Insert basic blocks to the end of
+ 	basic_block_info varray.
+ 	(flow_delete_block): Comment update.
+ 	(back_edge_of_syntactic_loop_p): Modify position check code.
+ 	(verify_flow_info): Update checking.
+ 	* flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
+ 	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
+ 	(find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
+ 	indices no longer change.
+ 	* lcm.c (optimize_mode_switching): Replace n_basic_blocks with
+ 	last_basic_block.
+ 	* predict.c (estimate_bb_frequencies): Remove unneccessary code.
+ 	* profile.c (branch_prob): Compact blocks.
+ 	* sched-rgn.c (find_rgns): Replace n_basic_blocks with
+ 	last_basic_block.
+ 
+ 2002-05-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two anonymous patterns): New.
+ 
+ 2002-05-28  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (cpu): Tidy.
+ 	(type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
+ 	'trap'.
+ 	(in_call_delay): Delete reference to 'return' type.
+ 	(eligible_for_return_delay, in_return_delay, define_delay
+ 	referencing those): Delete.
+ 	(rest of file): Use new type attributes as appropriate.
+ 	* config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
+ 	* config/sparc/sparc.c (eligible_for_return_delay): Likewise.
+ 	* config/sparc/ultra1_2.md (us1_single): New reservation.
+ 	(us1_ialuX): Likewise.
+ 	* config/sparc/ultra3.md (us3_single): Likewise.
+ 	(us3_ialuX): Likewise.
+ 	(us3_imul, us3_idiv): Tweak.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_in_small_data_p): Return false for
+ 	STRING_CST.
+ 
+ 2002-05-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc: Obsolete mn10200.
+ 
+ 2002-05-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (interpret_number): Optimize for single-digit
+ 	and less-than-half-precision cases.
+ 	(num_trim, num_positive, num_div_op): Cast constants.
+ 
+ 2002-05-27  Bo Thorsen  <bo@suse.de>
+ 
+ 	* config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
+ 	3.1 branch. The file was made by Jakub Jelinek.
+ 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
+ 	support so multilib doesn't break. And don't define this at all
+ 	when -Dinhibit_libc is used.
+ 	(MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
+ 	* config/i386/t-linux64: Implement full multilib support. Patch
+ 	originally done by Andreas Jaeger and Jakub Jelinek.
+ 
+ 2002-05-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.c: Add support for __attribute__((nothrow)) to specify
+ 	that a function cannot throw an exception (using TREE_NOTHROW).
+ 	(handle_nothrow_attribute): New function to process this attribute.
+ 
+ 	* doc/extend.texi: Document the new nothrow function attribute.
+ 
+ 2002-05-27  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* cppexp.c (num_trim): Use 1UL instead of 1 for long int.
+ 	(num_positive): Likewise.
+ 	(num_div_op): Likewise.
+ 
+ 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init): Always use intmax_t.
+ 
+ 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init): Use intmax_t for now.
+ 
+ 2002-05-24  Andrew Haley  <aph@redhat.com>
+ 
+ 	* fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
+ 	if T is a boolean type.
+ 
+ 2002-05-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* basic-block.h (last_basic_block): Defined as synonym for
+ 	n_basic_blocks.
+ 	* cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
+ 	flow_depth_first_order_compute, flow_preorder_transversal_compute,
+ 	flow_dfs_compute_reverse_init): Replaced relevant occurences of
+ 	n_basic_blocks with last_basic_block.
+ 	* cfgbuild.c (make_edges): Likewise.
+ 	* cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
+ 	* cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
+ 	* combine.c (combine_instructions): Likewise.
+ 	* df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
+ 	iterative_dataflow_bitmap): Likewise.
+ 	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
+ 	calc_idoms, idoms_to_doms): Likewise.
+ 	* flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
+ 	Likewise.
+ 	* gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
+ 	compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
+ 	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
+ 	one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
+ 	delete_null_pointer_checks, compute_code_hoist_vbeinout,
+ 	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
+ 	compute_store_table, build_store_vectors): Likewise.
+ 	* haifa-sched.c (sched_init): Likewise.
+ 	* ifcvt.c (if_convert): Likewise.
+ 	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
+ 	pre_edge_lcm, compute_available, compute_nearerout,
+ 	compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
+ 	Likewise.
+ 	* predict.c (estimate_probability, process_note_prediction,
+ 	note_prediction_to_br_prob): Likewise.
+ 	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
+ 	* recog.c (split_all_insns, peephole2_optimize): Likewise.
+ 	* regrename.c (copyprop_hardreg_forward): Likewise.
+ 	* resource.c (init_resource_info): Likewise.
+ 	* sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
+ 	init_regions, schedule_insns): Likewise.
+ 	* ssa-ccp.c (ssa_const_prop): Likewise.
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+ 	* ssa.c (compute_dominance_frontiers,
+ 	compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
+ 
+ 	* df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
+ 	* gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
+ 	sizes consistently.
+ 
+ Mon May 27 14:28:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
+ 	new.
+ 	* rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
+ 	hoist_insn_after, hoist_insn_to_edge): New.
+ 
+ Mon May 27 12:14:02 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (PEOP_SCAN_DEAD_STORES): New.
+ 	(PROP_FINAL): Include.
+ 	* flow.c (life_analysis, update_life_info,
+ 	init_propagate_block_info, mark_set_1, mark_used_rgs):
+ 	Support SCAN_DEAD_STORE.
+ 
+ 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init): Set CPP arithmetic precision.
+ 	* cppexp.c (cpp_num_part): Move typedef ...
+ 	* cpphash.h: ...here; make unsigned HOST_WIDE_INT.
+ 	* cppinit.c (cpp_create_reader): Default to host long arithmetic.
+ 	(sanity_checks): Update.
+ 
+ 2002-05-26  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
+ 	(mkheaders): New rule.
+ 	(install-mkheaders): New rule.
+ 	* configure.in (all_outputs): Add mkheaders.
+ 	* configure: Regenerate.
+ 	* mkheaders.in: New file.
+ 
+ 2002-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
+ 
+ 2002-05-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cfg.c (dump_flow_info): Remove extra argument to fprintf.
+ 
+ 2002-05-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (possible_sum_sign, integer_overflow, left_shift,
+ 	right_shift): Remove.
+ 	(cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
+ 	HIGH_PART): New.
+ 	(struct op): Use cpp_num.
+ 	(num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
+ 	num_part_mul, num_unary_op, num_binary_op, num_negate,
+ 	num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
+ 	num_div_op, num_lshift, num_rshift, append_digit): New.
+ 	(interpret_number, parse_defined, eval_token, reduce): Update
+ 	for two-integer arithmetic.
+ 	(binary_handler): New typedef.
+ 	(optab): Update.
+ 	(COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
+ 	(_cpp_parse_expr, reduce): Update to handle two-integers.
+ 	* cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
+ 
+ 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
+ 	* config/avr/avr.c (jump_over_one_insn_p): Take length of the
+ 	branch insn into account, do not assume 1.
+ 	(avr_out_sbxx_branch): New function.  Optimize cases of skipping
+ 	over single word insn.  Handle upper half of I/O space too.
+ 	* config/avr/avr.md (*sbrx_branch): Use it.
+ 	(*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
+ 	(*sbix_branch, *sbix_branch_bit7): Likewise.
+ 	(*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
+ 	Use RTL peepholes to optimize register operand sign tests.
+ 
+ 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_asm_only_p): New variable.
+ 	(avr_override_options): Set it here if AVR1.
+ 	(asm_file_start): Test it here, report an error if set.
+ 
+ 2002-05-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Fix formatting.
+ 	* attribs.c: Likewise.
+ 	* bb-reorder.c: Likewise.
+ 	* bitmap.c: Likewise.
+ 	* bitmap.h: Likewise.
+ 	* builtins.c: Likewise.
+ 
+ Sun May 26 14:00:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload.c (find_valid_class): Accept new argument DEST,
+ 	choose class accordingly.
+ 	(push_reload): Update callers.
+ 
+ 2002-05-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* combine.c (combine_instructions): Do not indent #if for
+ 	traditional C.
+ 
+ 2002-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-pragma.c (apply_pragma_weak): Convert value identifier to
+ 	string for decl_attributes.
+ 	(handle_pragma_weak): Call assemble_alias if we're modifying
+ 	an existing decl.
+ 
+ 2002-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6788
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
+ 	using rtl instead of fprintf.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 2002-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (C_COMMON_H): Fix.
+ 	Update other targets.
+ 	* c-common.c: Don't include c-lex.h.
+ 	(builtin_define_with_value): Make static and prototype.
+ 	(builtin_define_std): Move from c-lex.h.
+ 	* c-common.h (init_c_lex): Move from c-lex.h.
+ 	* c-decl.c: Don't include c-lex.h.
+ 	(make_pointer_declarator): Move from c-parse.in.
+ 	* c-lex.c: Don't include c-lex.h.
+ 	* c-lex.h: Remove.
+ 	* c-parse.in: Don't include c-lex.h; include c-pragma.h.
+ 	(make_pointer_declarator): Move to c-decl.c.
+ 	* c-pragma.c: Don't include c-lex.h.
+ 	* c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
+ 	* c-tree.h (make_pointer_declarator): New.
+ doc:
+ 	* passes.texi, tm.texi: Update.
+ objc:
+ 	* Make-lang.in: Update and correct.
+ 	* objc-act.c: Don't include c-lex.h or cpplib.h.
+ treelang:
+ 	* treetree.c: Don't include c-lex.h.
+ config:
+ 	* darwin-c.c: Don't include c-lex.h.
+ 	* c4x/c4x-c.c: Don't include c-lex.h.
+ 	* c4x/t-c4x: Update.
+ 	* i370/i370-c.c: Don't include c-lex.h.
+ 	* i370/t-i370: Update.
+ 	* i960/i960-c.c: Don't include c-lex.h.
+ 	* i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
+ 	* i960/t-960bare: Update.
+ 	* i960/t-vxworks: Update.
+ 	* rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
+ 	* rs6000/t-darwin: Update.
+ 	* rs6000/t-rs6000-c-rule: Update.
+ 	* v850/v850-c.c: Don't include c-lex.h.
+ 	* v850/v850.c: Don't include c-lex.h or cpplib.h.
+ 
+ 
+ 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree.def: Fix typos.
+ 	* doc/install.texi: Likewise.
+ 
+ 2002-05-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_TLS): Add ia64 test.
+ 	* configure: Rebuild.
+ 	* config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
+ 	(override_options): Set it.
+ 	(TARGET_HAVE_TLS): New.
+ 	(sdata_symbolic_operand): Look for 's'.
+ 	(tls_symbolic_operand): New.
+ 	(ia64_expand_load_address): Abort for tls symbols.
+ 	(gen_tls_get_addr): New.
+ 	(gen_thread_pointer): New.
+ 	(ia64_expand_move): Split out from movdi.  Handle tls symbols.
+ 	(rtx_needs_barrier): Add new unspecs.
+ 	(ia64_encode_section_info): Handle tls symbols.
+ 	(ia64_strip_name_encoding): Strip two encoding chars.
+ 	* config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
+ 	(TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
+ 	(TARGET_OPTIONS): Add tls-size.
+ 	(ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
+ 	* config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
+ 	UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
+ 	(movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
+ 	(movsf, movdf): Likewise.
+ 	(movdi_symbolic): Use match_scratch.  Don't split if we won't
+ 	have a scratch availiable.
+ 	(load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
+ 	add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
+ 	load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
+ 	sdata_symbolic_operand.
+ 	(ASM_OUTPUT_LABELREF): Strip two characters.
+ 
+ 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_set): Remove an unnecessary subreg.
+ 
+ 2002-05-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
+ 
+ 	* config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
+ 
+ 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.c (output_clean_symbol_name): Fix another thinko.  Gosh.
+ 
+ 2002-05-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_gen_relational): Simplify the RTX
+ 	(cond (compare x y) 0) into the equivalent (cond x y).
+ 
+ 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 
+ 	* toplev.c (output_clean_symbol_name): Use xstrdup.  Fix thinko.
+ 
+ 2002-05-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Remove all stanzas for previously obsoleted
+ 	systems.  Where necessary, add explicit error stanzas to
+ 	prevent removed systems from being misidentified as something
+ 	else.  Begin a fresh obsoletions list, with the systems that
+ 	were reprieved last round.
+ 	* doc/install.texi: Remove all mention of dead targets.
+ 	* fixinc/mkfixinc.sh: Likewise.
+ 
+ 	* config/arm/arm.h: Bit 31 of target_flags is no longer
+ 	reserved.
+ 
+ 	* config/1750a/1750a-protos.h, config/1750a/1750a.c,
+ 	config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
+ 	config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
+ 	config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
+ 	config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
+ 	config/alpha/osf12.h, config/alpha/osf2or3.h,
+ 	config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
+ 	config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
+ 	config/clipper/clipper-protos.h, config/clipper/clipper.c,
+ 	config/clipper/clipper.h, config/clipper/clipper.md,
+ 	config/clipper/clix.h, config/convex/convex-protos.h,
+ 	config/convex/convex.c, config/convex/convex.h,
+ 	config/convex/convex.md, config/convex/fixinc.convex,
+ 	config/convex/proto.h, config/elxsi/elxsi-protos.h,
+ 	config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
+ 	config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
+ 	config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
+ 	config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
+ 	config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
+ 	config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
+ 	config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
+ 	config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
+ 	config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
+ 	config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
+ 	config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
+ 	config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
+ 	config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
+ 	config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
+ 	config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
+ 	config/m68k/altos3068.h, config/m68k/apollo68.h,
+ 	config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
+ 	config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
+ 	config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
+ 	config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
+ 	config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
+ 	config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
+ 	config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
+ 	config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
+ 	config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
+ 	config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
+ 	config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
+ 	config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
+ 	config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
+ 	config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
+ 	config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
+ 	config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
+ 	config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
+ 	config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
+ 	config/mips/dec-osf1.h, config/mips/elflorion.h,
+ 	config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
+ 	config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
+ 	config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
+ 	config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
+ 	config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
+ 	config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
+ 	config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
+ 	config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
+ 	config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
+ 	config/ns32k/pc532-min.h, config/ns32k/pc532.h,
+ 	config/ns32k/sequent.h, config/ns32k/tek6000.h,
+ 	config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
+ 	config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
+ 	config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
+ 	config/sparc/rtems.h, config/we32k/we32k-protos.h,
+ 	config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
+ 	Delete file.
+ 
+ 2002-05-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
+ 	* toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
+ 	* config/i386/i386.c (tls_model_chars): Add leading space.
+ 	(tls_symbolic_operand): Don't bias by 1.
+ 	(legitimize_address): Don't unbias by 1.
+ 
+ 2002-05-24  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Change bb used as indices
+ 	to bb->index.
+ 
+ 2002-05-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
+ 	of update_life_info_in_dirty_blocks.
+ 
+ 2002-05-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR other/6782
+ 	* final.c (get_mem_expr_from_op): Return 0 if op is NULL.
+ 
+ 2002-05-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/6780
+ 	* cppmacro.c (enter_macro_context): Clear state.angled_headers.
+ 
+ 2002-05-24  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
+ 	entry with a type code of zero, marking the end of the compilation
+ 	unit's macro info.
+ 
+ 2002-05-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (asm_output_bss): Always output one byte.
+ 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ 
+ 2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* tree.c (decl_type_context): Return NULL_TREE if decl's context is a
+ 	namespace.
+ 
+ 2002-05-24  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* ggc-page.c (alloc_page): Cast variables of type size_t to
+ 	unsigned long, adjust printf format string.
+ 	(ggc_alloc): Likewise.
+ 	(ggc_print_statistics): Likewise.
+ 	(ggc_print_statistics): Correct printf format string for SCALE to
+ 	use unsigned long.
+ 
+ 2002-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/mingw32.h (CPP_SPEC): Remove -remap.
+ 
+ 2002-05-23  Gabriel Dos Reis  <gdr@codesourcery.com>
+ 	    Zack Weinberg     <zack@codesourcery.com>
+ 
+ 	* config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
+ 	quoted strings.
+ 	* dwarf2out.c (lookup_filename): Properly quote filename in .file
+ 	directive in assembly file.
+ 	* config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
+ 	* config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
+ 	* config/pj/pj.h (ASM_FILE_START): Likewise.
+ 	* config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
+ 	* config/avr/avr.c (asm_file_end): Likewise.
+ 	* toplev.c (output_quoted_string): Handle possibly signed plain
+ 	char.
+ 	* toplev.h (output_clean_symbol_name): Declare
+ 	* toplev.c (output_clean_symbol_name): Define.
+ 	* config/alpha/alpha.c (unicosmk_output_module_name): Use it.
+ 	* config/1750a/1750a.h (ASM_FILE_START): Likewise.
+ 
+ 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
+ 
+ 2002-05-23  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
+ 	of size of unsigned.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_TLS): New test.
+ 	* config.in, configure: Rebuild.
+ 	* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
+ 	(ix86_tls_dialect_string, ix86_tls_dialect): New.
+ 	(override_options): Set it.
+ 	(tls_model_chars, tls_symbolic_operand): New.
+ 	(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
+ 	(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
+ 	(local_exec_symbolic_operand): New.
+ 	(get_pic_label_name): Merge into output_set_got.
+ 	(ix86_asm_file_end): Emit pic_label_name if defined.
+ 	(legitimate_constant_p, constant_address_p): New.
+ 	(legitimate_pic_operand_p): New.
+ 	(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
+ 	(legitimate_address_p): Likewise.
+ 	(ix86_encode_section_info): Rename from i386_; handle tls decls.
+ 	(ix86_strip_name_encoding): New.
+ 	(get_thread_pointer): New.
+ 	(legitimize_address): Handle tls symbols.
+ 	(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
+ 	Remove UNSPEC_PLT.
+ 	(struct machine_function): Add some_ld_name.
+ 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
+ 	(print_operand) [&]: Use it.  Handle UNSPEC_TP.
+ 	(output_addr_const_extra): New.
+ 	(maybe_get_pool_constant): New.
+ 	(ix86_split_to_parts): Use it.
+ 	(ix86_expand_move): Handle tls symbols.
+ 	(ix86_tls_get_addr): New.
+ 	* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
+ 	(TARGET_OPTIONS): Add tls-dialect.
+ 	(CONSTANT_ADDRESS_P): Use new out-of-line function.
+ 	(LEGITIMATE_CONSTANT_P): Likewise.
+ 	(LEGITIMATE_PIC_OPERAND_P): Likewise.
+ 	(TARGET_STRIP_NAME_ENCODING): New.
+ 	(ASM_OUTPUT_LABELREF): New.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+ 	(OUTPUT_ADDR_CONST_EXTRA): New.
+ 	(PREDICATE_CODES): Update.
+ 	(ix86_tls_dialect, ix86_tls_dialect_string): New.
+ 	* config/i386/i386.md: Regroup and renumber unspec constants.
+ 	(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
+ 	(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
+ 	(tls_global_dynamic, tls_local_dynamic_base): New.
+ 	(tls_local_dynamic_once): New.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genemit.c (gen_insn): Print file:lineno comment before function.
+ 	(main): likewise.
+ 	* gensupport.c (struct queue_elem): Add filename member.
+ 	(queue_pattern): Initialize it; update all callers.
+ 	(process_include): Don't free filename.
+ 	(read_md_rtx): Set read_rtx_filename.
+ 
+ 2002-05-23  Hans Boehm  <Hans_Boehm@hp.com>
+ 
+ 	* config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (C++98 Thread-Local Edits): Update with
+ 	commentary from Mark.
+ 
+ 2002-05-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
+ 	Use FOR_EACH_BB macros to iterate over basic block chain.
+ 	* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
+ 	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
+ 	Likewise.
+ 	* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
+ 	find_unreachable_blocks, create_edge_list, verify_edge_list,
+ 	remove_fake_edges, add_noreturn_fake_exit_edges,
+ 	flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
+ 	Likewise.
+ 	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
+ 	find_sub_basic_blocks): Likewise.
+ 	* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
+ 	Likewise.
+ 	* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
+ 	Likewise.
+ 	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
+ 	Likewise.
+ 	* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
+ 	commit_edge_insertions, commit_edge_insertions_watch_calls,
+ 	print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
+ 	* combine.c (combine_instructions, reg_dead_at_p): Likewise.
+ 	* conflict.c (conflict_graph_compute): Likewise.
+ 	* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
+ 	df_modified_p, df_refs_unlink, df_dump): Likewise.
+ 	* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
+ 	* final.c (compute_alignments): Likewise.
+ 	* flow.c (update_life_info, update_life_info_in_dirty_blocks,
+ 	delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
+ 	count_or_remove_death_notes): Likewise.
+ 	* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
+ 	compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
+ 	classic_gcse, compute_transp, cprop, compute_pre_data,
+ 	compute_transpout, invalidate_nonnull_info,
+ 	delete_null_pointer_checks_1, delete_null_pointer_checks,
+ 	compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
+ 	compute_store_table, build_store_vectors, store_motion): Likewise.
+ 	* global.c (global_conflicts, mark_elimination): Likewise.
+ 	* graph.c (print_rtl_graph_with_bb): Likewise.
+ 	* haifa-sched.c (sched_init): Likewise.
+ 	* ifcvt.c (if_convert): Likewise.
+ 	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
+ 	compute_available, compute_nearerout, compute_rev_insert_delete,
+ 	optimize_mode_switching): Likewise.
+ 	* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
+ 	* predict.c (estimate_probability, note_prediction_to_br_prob,
+ 	propagate_freq, counts_to_freqs, expensive_function_p,
+ 	estimate_bb_frequencies): Likewise.
+ 	* profile.c (instrument_edges, get_exec_counts,
+ 	compute_branch_probabilities, compute_checksum, branch_prob,
+ 	find_spanning_tree): Likewise.
+ 	* recog.c (split_all_insns, peephole2_optimize): Likewise.
+ 	* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
+ 	Likewise.
+ 	* regclass.c (scan_one_insn, regclass): Likewise.
+ 	* regmove.c (mark_flags_life_zones, regmove_optimize,
+ 	record_stack_memrefs): Likewise.
+ 	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
+ 	* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
+ 	* resource.c (find_basic_block): Likewise.
+ 	* sched-ebb.c (schedule_ebbs): Likewise.
+ 	* sched-rgn.c (is_cfg_nonregular, build_control_flow,
+ 	find_single_block_region, find_rgns, schedule_insns)
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call)
+ 	* ssa-ccp.c (optimize_unexecutable_edges,
+ 	ssa_ccp_df_delete_unreachable_insns): Likewise.
+ 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+ 	* ssa.c (find_evaluations, compute_dominance_frontiers_1,
+ 	rename_block, convert_to_ssa, compute_conservative_reg_partition,
+ 	compute_coalesced_reg_partition, rename_equivalent_regs,
+ 	convert_from_ssa): Likewise.
+ 	* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
+ 	process_for_unwind_directive): Likewise.
+ 
+ 	* df.c (FOR_ALL_BBS): Removed.
+ 	* gcse.c (struct null_pointer_info): Type of current_block field
+ 	changed.
+ 	(struct reg_avail_info): Type of last_bb field changed.
+ 	* config/ia64/ia64.c (block_num): Removed.
+ 	(need_copy_state): Type changed.
+ 	(last_block): New.
+ 
+ 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (mark_named_operators): Split out from init_builtins.
+ 	(cpp_finish_options): Call it from here instead.
+ 
+ 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* builtin-attrs.def: Update copyright years.
+ 	(ATTR_NONNULL): New attribute identifier.
+ 	(ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
+ 	attribute tree lists.
+ 	(DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
+ 	format operand.
+ 	(ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
+ 	(DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
+ 	attribute lists.  Chain the appropriate nonnull attribute.
+ 	* c-format.c (check_format_arg): Remove null format string
+ 	warning.
+ 	* testsuite/gcc.dg/format/null-1.c: New test.
+ 
+ 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (ADAC): Define.
+ 	(SYSLIBS): Define.
+ 	(.SUFFIXES): Move before language makefile fragments.
+ 	(STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
+ 
+ 2002-05-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (make_decl_rtl): Don't allow weak variables to be
+ 	placed in common.
+ 
+ Thu May 23 19:43:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfg.c (dump_flow_info): Print results of
+ 	maybe_hot/probably_never_executed predicates.
+ 	* toplev.c (open_dump_file): Print function frequency.
+ 
+ 2002-05-23  David S. Miller  <davem@redhat.com>
+ 
+ 	* cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
+ 	regsets.
+ 
+ 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* c-common.c (warn_nonnull): Declare.
+ 	(c_common_attribute_table): Add "nonnull" attribute.
+ 	(handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
+ 	check_nonnull_arg, get_nonnull_operand, check_function_arguments,
+ 	check_function_arguments_recurse): New functions.
+ 	* c-common.h (warn_nonnull): Declare extern.
+ 	(check_function_arguments, check_function_arguments_recurse): New
+ 	prototypes.
+ 	* c-decl.c (c_decode_option): Add -Wnonnull option.
+ 	* c-format.c (set_Wformat): Set warn_nonnull if enabling
+ 	format checking.
+ 	(format_check_context): New structure.
+ 	(check_format_info_recurse): Remove recursion and rename to...
+ 	(check_format_arg): ...this.  Update comment.
+ 	(check_format_info): Use check_function_arguments_recurse.
+ 	* c-typeck.c (build_function_call): Call check_function_arguments
+ 	instead of check_function_format.
+ 	* doc/extend.texi: Document "nonnull" attribute.
+ 	* doc/invoke.texi: Docuemnt -Wnonnull option.
+ 	* testsuite/gcc.dg/nonnull-1.c: New test.
+ 	* testsuite/gcc.dg/nonnull-2.c: New test.
+ 
+ 2002-05-23  David S. Miller  <davem@redhat.com>
+ 
+ 	* basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
+ 	* cfgcleanup.c (cleanup_cfg): If it is set do not
+ 	attempt to delete trivially dead insns.
+ 	* except.c (finish_eh_generation): Pass it to cleanup_cfg.
+ 	* toplev.c (rest_of_compilation): Document non-trivial aspect
+ 	the RTL before optimize_save_area_alloca is run.
+ 
+ 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (indent_level): Remove.
+ 	(cb_file_change, c_lex): Remove indent level handling.
+ 	* c-lex.h (indent_level): Remove.
+ 	* input.h (struct file_stack): Remove indent_level.
+ 	* toplev.c (push_srcloc): Remove indent_level handling.
+ 
+ 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6753
+ 	* config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
+ 	of x in constraints for clarity.
+ 	(sse_mov?fcc split): abort if op2 == op3.
+ 	(sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
+ 	sse_movsfcc_const0_4): Add earlyclobber.
+ 	(sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
+ 	sse_movdfcc_const0_4): Likewise.  Use DFmode, not SFmode.
+ 	Use Y instead of x in constraints.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (C99 Thread-Local Edits): New subsection.
+ 	(C++98 Thread-Local Edits): New subsection.
+ 
+ 	* config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
+ 	(ix86_arch): Set type to enum processor_type.
+ 
+ 	* config/i386/i386.md (movsi_1, movdi_1_rex64): Use
+ 	LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
+ 
+ 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in: Fix as version test for binutils 2.12.1 releases
+ 	(without dates).
+ 	* configure: Rebuilt.
+ 
+ 2002-05-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (get_pic_label_name): New.
+ 	(load_pic_register): Remove.
+ 	(output_set_got): New.
+ 	(ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
+ 	* config/i386/i386.md (UNSPEC_SET_GOT): New.
+ 	(UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
+ 	(prologue_set_got, prologue_get_pc): Remove.
+ 	(set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
+ 	(builtin_setjmp_receiver): Use gen_set_got.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ Thu May 23 09:22:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (hash_expr): Do not use alias set for hashing.
+ 
+ 2002-05-22  Kevin Buettner  <kevinb@redhat.com>
+ 
+ 	* dbxout.c (dbxout_class_name_qualifiers): New function.
+ 	(dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
+ 
+ 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (_cpp_begin_message): No special casing
+ 	of CPP_FATAL_LIMIT.
+ 	* cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
+ 	(output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
+ 	* cpplib.c (do_include_common): Use DL_ERROR.
+ 	* cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
+ 	(DL_ICE): Renumber.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_call): New function, extracted
+ 	from md call patterns.  Add pic_offset_table_rtx to
+ 	CALL_INSN_FUNCTION_USAGE when needed.
+ 	* config/i386/i386.md (call_pop, call): Use ix86_expand_call.
+ 	(call_value_pop, call_value, untyped_call): Likewise.
+ 	(call_exp, call_value_exp): Remove.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (default_section_type_flags): Check for VAR_DECL
+ 	before using DECL_THREAD_LOCAL.
+ 
+ 2002-05-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
+ 	(STARTFILE_SPEC): Delete PE crt0.o.
+ 	* config/rs6000/aix51.h: Same.
+ 	* config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
+ 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
+ 	function descriptor symbol.  Use RS6000_OUTPUT_BASENAME.
+ 	(ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
+ 	* config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (default_section_type_flags): Handle tls data and
+ 	default sections.
+ 	(default_unique_section): Handle tls sections.
+ 
+ 2002-05-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* configure.in (CROSS): Define NATIVE_CROSS.
+ 	* configure: Regenerate.
+ 	* gcc.c (STARTFILE_PREFIX_SPEC): Define.
+ 	(startfile_prefix_spec): New var.
+ 	(static_specs): Add startfile_prefix_spec.
+ 	(do_spec_2): Split out from..
+ 	(do_spec): ..here.
+ 	(main): Process startfile_prefix_spec.
+ 	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
+ 	dynamic linker.
+ 	(STARTFILE_PREFIX_SPEC): Define.
+ 	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
+ 	absolute paths.
+ 
+ 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cpperror.c: Fix formatting.
+ 	* cppexp.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpphash.c: Likewise.
+ 	* cpphash.h: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* cppmacro.c: Likewise.
+ 	* cppmain.c: Likewise.
+ 	* cppspec.c: Likewise.
+ 
+ 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (force_to_mode): Use gen_int_mode.
+ 	Don't clear CONST_INT bits outside of mode.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
+ 	* fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
+ 
+ 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6643
+ 	* emit-rtl.c (widen_memory_access): Only call compare_tree_int
+ 	if DECL_SIZE_UNIT is INTEGER_CST.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (life_analysis): Delete broken reg_label check.
+ 
+ 2002-05-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
+ 	* fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
+ 
+ Wed May 22 18:39:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
+ 	(embed-bb.c): New rule.
+ 	* t-sh64 (LIB2FUNCS_EXTRA): Don't change.
+ 	* config/sh/embed_bb.c: Delete.
+ 
+ Wed May 22 18:25:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-common.c (cb_register_builtins): Don't indent '#' of #define.
+ 
+ 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andorqi3): New.
+ 
+ 2002-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/6517
+ 	* Makefile.in: Update.
+ 	* c-common.c (c_common_post_options): Add preprocessor
+ 	errors to the error count.
+ 	* c-lang.c (c_post_options): Kill.
+ 	(LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
+ 	* hooks.h: Add header guards.
+ 	* langhooks-def.h: Include hooks.h.
+ 	(LANG_HOOKS_POST_OPTIONS): Update.
+ 	* langhooks.h (struct lang_hooks): Update post_options.
+ 	* toplev.c (parse_options_and_default_flags): Update.
+ objc:
+ 	* objc-lang.c (objc_post_options): Kill.
+ 	(LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
+ 
+ 2002-05-21  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
+ 	* fixinc/inclhack.def(thread_keyword): use c_fix = format.
+ 	* fixinc/fixincl.x: regen.
+ 
+ 2002-05-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgbuild.c: Fix formatting.
+ 	* cfg.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfgloop.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 
+ 2002-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (enum rid): Add RID_THREAD.
+ 	* c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
+ 	(grokdeclarator): Grok __thread.
+ 	* c-parse.in (reswords): Add __thread.
+ 	(rid_to_yy): Add RID_THREAD.
+ 
+ 	* tree.h (DECL_THREAD_LOCAL): New.
+ 	(struct tree_decl): Add thread_local_flag.
+ 	* print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
+ 	* tree.c (staticp): TLS variables are not static.
+ 
+ 	* target-def.h (TARGET_HAVE_TLS): New.
+ 	* target.h (have_tls): New.
+ 	* output.h (SECTION_TLS): New.
+ 	* varasm.c (assemble_variable): TLS variables can't be common for now.
+ 	(default_section_type_flags): Handle .tdata and .tbss.
+ 	(default_elf_asm_named_section): Handle SECTION_TLS.
+ 	(categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
+ 
+ 	* flags.h (flag_tls_default): Declare.
+ 	* toplev.c (flag_tls_default): Define.
+ 	(display_help): Display help for it.
+ 	(decode_f_option): Set it.
+ 
+ 	* doc/extend.texi (Thread-Local): New node describing language-level
+ 	thread-local storage.
+ 	* doc/invoke.texi (-ftls-model): Document.
+ 
+ 	* fixinc/inclhack.def (thread_keyword): New.
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 2002-05-21  Jeffrey A Law  <law@redhat.com>
+ 
+ 	* optabs.c (expand_binop): For double-word integer multiplies,
+ 	do not compute intermediate results into something that is
+ 	not a register (such as a SUBREG or MEM).
+ 
+ 	* i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
+ 	(ix86_sched_reorder): Make sure to initialize scheduling
+ 	data even when there's only one insn in the ready queue.
+ 
+ 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (reserv_sets_hash_value): Fix a typo.
+ 
+ 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (reserv_sets_hash_value): Define hash_value as
+ 	set_el_t.  Transform the hash value into unsigned.
+ 	(output_cycle_reservs): Fix bug with output of repeated `nothing'.
+ 	(transform_3): Add code to process `(A,B)+(D,E)'.
+ 
+ 2002-05-21  NIIBE Yutaka  <gniibe@m17n.org>
+ 
+ 	* reload1.c (do_output_reload): Run delete_output_reload
+ 	only if optimizing.
+ 
+ 2002-05-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/6600
+ 	* expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
+ 	larger than INTEGER_CST.  (store_by_pieces_1): Use it here...
+ 	(can_store_by_pieces): ... and here to limit the largest mode used.
+ 	Add a comment to document this function.
+ 
+ 2002-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (life_analysis): Fix test for deleted label.
+ 
+ 2002-05-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/tm.texi: Fix typo.
+ 
+ 2002-05-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (c_common_init): Set options->unsigned_char from
+ 	flag_signed_char.
+ 	(cb_register_builtins): Define __STRICT_ANSI__ and
+ 	__CHAR_UNSIGNED__ here...
+ 	* cppinit.c (init_builtins): Not here.
+ 	(cpp_create_reader): unsigned_char option defaults to 0, not
+ 	!DEFAULT_SIGNED_CHAR.
+ 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
+ 	and -funsigned-char.
+ 
+ 	* cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
+ 	* cpphash.c (_cpp_init_hashtable): Don't set it.
+ 	* cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
+ 	directly.  Clarify comment.
+ 
+ 2002-05-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
+ 	neighboring basic blocks.  Use ENTRY_BLOCK_PTR->next_bb instead of
+ 	BASIC_BLOCK (0).  Use EXIT_BLOCK_PTR->prev_bb instead of
+ 	BASIC_BLOCK (n_basic_blocks - 1).
+ 	* cfganal.c (can_fallthru, flow_call_edges_add,
+ 	flow_preorder_transversal_compute): Too.
+ 	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
+ 	find_sub_basic_blocks): Too.
+ 	* cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
+ 	* cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
+ 	fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
+ 	* cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
+ 	* combine.c (this_basic_block): Type changed to basic_block.
+ 	(combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
+ 	nonzero_bits, num_sign_bit_copies, get_last_value_validate,
+ 	get_last_value, distribute_notes, distribute_links): Too.
+ 	* final.c (compute_alignments): Too.
+ 	* flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
+ 	* function.c (thread_prologue_and_epilogue_insns): Too.
+ 	* gcse.c (compute_code_hoist_vbeinout): Too.
+ 	* global.c (build_insn_chain): Too.
+ 	* ifcvt.c (find_if_block, find_cond_trap): Too.
+ 	* predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
+ 	* regmove.c (regmove_optimize): Too.
+ 	* resource.c (find_basic_block): Too.
+ 	* sched-ebb.c (schedule_ebbs): Too.
+ 	* ssa-dce.c (find_control_dependence, find_pdom): Too.
+ 
+ 2002-05-21  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cppinit.c (sanity_checks): Avoid printf mismatch warnings.
+ 
+ 2002-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
+ 	unspec names, not numbers.
+ 
+ 2002-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/sourcebuild.texi: Mention snapshot-README and
+ 	snapshot-index.html as needing updating for new front ends.
+ 
+ 2002-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
+ 	disabling checking, and avoid multiple evaluation of RTX.
+ 
+ 2002-05-21  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* bitmap.c (bitmap_find_bit): Return early if we have the correct
+ 	element cached.
+ 
+ Tue May 21 10:51:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* profile.c (gen_edge_profiler):  Set alias set before the memory is
+ 	used.
+ 
+ 2002-05-20  David S. Miller  <davem@redhat.com>
+ 
+ 	* cselib.c (max_value_regs): New.
+ 	(cselib_lookup, cselib_invalidate_regno): Initialize it when
+ 	adding new entries to the REG_VALUES table and we are dealing with
+ 	a hard register.
+ 	(clear_table): Initialize it.
+ 	(cselib_invalidate_regno): Use it to determine which hard
+ 	registers to scan when mode is not VOIDmode.
+ 
+ 2002-05-20  Duraid Madina   <duraid@fl.net.au>
+ 
+ 	* tradcpp.c (fixup_newlines): Use old-style function header.
+ 
+ 2002-05-20  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* reload1.c (reload_cse_simplify): Fix typo in rtx code check.
+ 
+ 2002-05-20  H.J. Lu  (hjl@gnu.org)
+ 
+ 	Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
+ 
+ 	* config/mips/mips.h (DFMODE_NAN): Defined.
+ 	(SFMODE_NAN): Likewise.
+ 
+ 2002-05-20  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* combine.c (cant_combine_insn_p):  Back out my
+ 	previous patch.
+ 
+ 2002-05-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* params.c: Fix formatting.
+ 	* params.h: Likewise.
+ 	* predict.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* print-rtl.c: Likewise.
+ 	* print-tree.c: Likewise.
+ 	* profile.c: Likewise.
+ 
+ 2002-05-20  H.J. Lu  (hjl@gnu.org)
+ 
+ 	* gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
+ 
+ 2002-05-20  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
+ 	switches straight on to the assembler, do not abbreviate them.
+ 	* config/arm/elf.h (ASM_SPEC): As above.
+ 	* config/arm/semi.h (ASM_SPEC): As above.
+ 	* config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
+ 	* config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
+ 	-mcpu=xscale on to the assembler by default.
+ 	* config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
+ 
+ 2002-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (canon_hash): Reorder do_not_record test.  Always
+ 	allow pic_offset_table_rtx.
+ 
+ 2002-05-19  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
+ 	(expand_binop): Ditto (3 times).
+ 
+ 2002-05-19  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>
+ 
+ 	* Makefile.in (distclean): Remove QMTest stuff.
+ 	(QMTEST_PATH): New variable.
+ 	(QMTESTFLAGS): Likewise.
+ 	(QMTESTRUNFLAGS): Likewise.
+ 	(QMTEST): Likewise.
+ 	(QMTEST_GPP_TESTS): Likewise.
+ 	(QMTEST_DIR): Likewise.
+ 	(QMTEST_DIR/context): New target.
+ 	(qmtest-g++): Likeise.
+ 	(qmtest-gui): Likewise.
+ 	(QMTEST_DIR/gpp-expected.qmr): Likewise.
+ 
+ 2002-05-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
+ 	an altivec register if TARGET_ALTIVEC.
+ 
+ 	* config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
+ 	to ALTIVEC_VECTOR_MODE.
+ 	(rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
+ 	(rs6000_va_arg): Vectors may go in registers if they are not
+ 	altivec vectors.
+ 
+ 2002-05-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* protoize.c: Fix formatting.
+ 
+ 2002-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gensupport.c (init_include_reader): Merge into ...
+ 	(process_include): ... here.  Simplify composite path creation.
+ 	Plug memory leaks.  Fix file/line number tracking.  Do not
+ 	process_define_cond_exec.  Return void.
+ 	(process_rtx): Don't check process_include return value.
+ 
+ 2002-05-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* basic_block.h (struct basic_block_def): Added prev_bb and next_bb
+ 	fields.
+ 	(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
+ 	traversing basic block chain.
+ 	(create_basic_block_structure, create_basic_block): Declaration changed.
+ 	(link_block, unlink_block): Declare.
+ 	* cfg.c (entry_exit_blocks): Initialize new fields.
+ 	(link_block, unlink_block): New.
+ 	(expunge_block_nocompact): Unlink basic block.
+ 	(dump_flow_info): Print prev_bb/next_bb fields.
+ 	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
+ 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
+ 	* cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
+ 	* cfgrtl.c (create_basic_block_structure, create_basic_block,
+ 	split_block, force_nonfallthru_and_redirect, split_edge): Modified.
+ 	(verify_flow_info): Check that list agrees with numbering.
+ 
+ 2002-05-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (preprocessing_asm): New macro.
+ 	* c-lex.h (builtin_define, builtin_assert): Use pfile.
+ doc:
+ 	* tm.texi: Update.
+ config/alpha:
+ 	* alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
+ 	(CPP_SPEC): Simplify.
+ 	(TARGET_CPU_CPP_BUILTINS): Update.
+ 	* freebsd.h (TARGET_OS_CPP_BUILTINS): New.
+ 	(CPP_SPEC): Simplify.
+ 	* linux.h (CPLUSPLUS_CPP_SPEC): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): Update.
+ 	* osf.h (CPP_XFLOAT_SPEC): Kill.
+ 	(TARGET_OS_CPP_BUILTINS): Update.
+ 	(CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
+ 	* osf5.h (CPP_XFLOAT_SPEC): Kill.
+ 	* vms.h (CPP_SUBTARGET_SPEC): Kill.
+ 	(TARGET_OS_CPP_BUILTINS): Update.
+ 
+ 2002-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (default_binds_local_p): Fix typo.
+ 
+ 2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (machine_dependent_reorg): Sign extend the
+ 	CONST_INT operand to the correct mode after adding 1 to it.
+ 
+ 2002-05-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc (powerpc-wrs-windiss*): New target.
+ 
+ 2002-05-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.md (ashrdi3_no_power): New.
+ 	(ashrdi3): Use it.
+ 
+ 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.in (AC_CHECK_FUNCS): Add checks for scandir and
+ 	alphasort.
+ 	* config.in: Regenerated.
+ 	* configure: Regenerated.
+ 
+ 2002-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target-def.h (TARGET_BINDS_LOCAL_P): New.
+ 	* target.h (struct gcc_target): Move boolean fields to the end.
+ 	Add binds_local_p.
+ 	* varasm.c (default_binds_local_p): New.
+ 	* output.h: Declare it.
+ 
+ 	* config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
+ 	* config/cris/cris.c (cris_encode_section_info): Likewise.
+ 	* config/i386/i386.c (i386_encode_section_info): Likewise.
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+ 	* config/sh/sh.c (sh_encode_section_info): Likewise.
+ 
+ 	* doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
+ 	(TARGET_BINDS_LOCAL_P): New.
+ 
+ 2002-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
+ 	FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
+ 	MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
+ 
+ 	* toplev.c (display_help): Kill -a -ax help.
+ 
+ 	* config/1750a/1750a.h, config/alpha/alpha.h,
+ 	config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
+ 	config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
+ 	config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
+ 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
+ 
+ 	* libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
+ 	* config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
+ 
+ 	* config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
+ 	(ix86_output_function_block_profiler): Kill.
+ 	* config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
+ 	(m68hc11_function_block_profiler): Kill.
+ 	* config/m68hc11/m68hc11-protos.h: Update.
+ 	* config/m88k/m88k.c (output_block_profiler): Kill.
+ 	(output_function_block_profiler): Kill.
+ 	* config/m88k/m88k-protos.h: Update.
+ 
+ 2002-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* system.h (STRIP_NAME_ENCODING): Poison it.
+ 	* output.h (STRIP_NAME_ENCODING): Remove.
+ 	(default_strip_name_encoding): Declare.
+ 	* target-def.h (TARGET_STRIP_NAME_ENCODING): New.
+ 	* target.h (strip_name_encoding): New.
+ 	* varasm.c (default_strip_name_encoding): New.
+ 
+ 	* dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
+ 	config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
+ 	config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
+ 	config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
+ 	config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
+ 	config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
+ 	config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
+ 	config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
+ 	config/v850/v850.h: Use the hook, not the macro.
+ 
+ 	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
+ 	config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
+ 	config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
+ 	config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
+ 	config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
+ 	config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
+ 	config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
+ 	config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
+ 	config/v850/v850.c, config/v850/v850.h:
+ 	Move STRIP_NAME_ENCODING to out-of-line function and add
+ 	TARGET_STRIP_NAME_ENCODING.
+ 
+ 	* config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
+ 	config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
+ 	with TARGET_STRIP_NAME_ENCODING referencing existing function;
+ 	make function static.
+ 
+ 	* xcoffout.c: Include target.h
+ 	* Makefile.in (xcoffout.o): Update.
+ 
+ 	* config/avr/avr.c (avr_encode_section_info): Correct prototype.
+ 	* config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
+ 	reloc argument unused.
+ 	* config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
+ 
+ 	* doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
+ 	STRIP_NAME_ENCODING docs.
+ 
+ 2002-05-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gengenrtl.c: Add prototype for excluded_rtx.
+ 
+ 	* real.h: Add prototype for exact_real_truncate.
+ 
+ 2002-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* system.h (ENCODE_SECTION_INFO): Poison it.
+ 	* target-def.h (TARGET_ENCODE_SECTION_INFO): New.
+ 	* target.h (encode_section_info): New.
+ 	* varasm.c (make_decl_rtl, output_constant_def): Use it.
+ 	* hooks.c (hook_tree_int_void): New.
+ 	* hooks.h: Declare it.
+ 
+ 	* config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
+ 	config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
+ 	config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
+ 	config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
+ 	config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
+ 	config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
+ 	config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
+ 	config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
+ 	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+ 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
+ 	config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
+ 	config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
+ 	config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
+ 	config/stormy16/stormy16.c, config/stormy16/stormy16.h:
+ 	Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
+ 	referencing existing function.  Make function static.
+ 
+ 	* config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
+ 	config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
+ 	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
+ 	config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
+ 	config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
+ 	config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
+ 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
+ 	config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
+ 	config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
+ 	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
+ 	config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
+ 	config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
+ 	config/xtensa/xtensa.c, config/xtensa/xtensa.h:
+ 	Move ENCODE_SECTION_INFO to out-of-line function and add
+ 	TARGET_ENCODE_SECTION_INFO.
+ 
+ 	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
+ 	(ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+ 
+ 	* config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
+ 	from SUBTARGET_*
+ 	(switch_to_section): Replace in_rdata case with in_readonly_data.
+ 
+ 	* config/h8300/h8300.c (h8300_encode_label): Make static.
+ 	* config/h8300/h8300-protos.h: Update.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
+ 	from rs6000_encode_section_info; make static.
+ 	(rs6000_xcoff_encode_section_info): New.
+ 
+ 	* config/v850/v850.c (v850_encode_data_area): Make static.
+ 	* config/v850/v850-protos.h: Update.
+ 
+ 	* config/vax/vax.c: Include flags.h.
+ 	(vms_select_section): Fix typo.
+ 
+ 	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
+ 	ENCODE_SECTION_INFO docs.
+ 
+ 2002-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
+ 	REGISTER_TARGET_PRAGMAS.
+ 	* config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
+ 
+ 	* config.gcc: Do not use rs6000-c.c on powerpc-darwin.
+ 
+ 2002-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* system.h (SELECT_RTX_SECTION): Poison.
+ 	* target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
+ 	* target.h (select_rtx_section): New.
+ 	* varasm.c (output_constant_pool): Use it.
+ 	(default_select_rtx_section, default_elf_select_rtx_section): New.
+ 	* output.h: Declare them.
+ 
+ 	* config/darwin.h (SELECT_RTX_SECTION): Move ...
+ 	* config/darwin.c (machopic_select_rtx_section): ... here.
+ 	* config/darwin-protos.h: Update.
+ 
+ 	* config/nextstep.h (SELECT_RTX_SECTION): Move ...
+ 	* config/nextstep.c (machopic_select_rtx_section): ... here.
+ 	(nextstep_select_section): Rename variable to avoid macro clash.
+ 	* config/nextstep-protos.h: Update.
+ 
+ 	* config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
+ 	config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
+ 	config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
+ 	config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
+ 	config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
+ 	config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
+ 	config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
+ 	config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
+ 	config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
+ 	(SELECT_RTX_SECTION): Remove.
+ 
+ 	* config/darwin.h, config/elfos.h, config/nextstep.h,
+ 	config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
+ 	config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
+ 	config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
+ 	config/sparc/lynx.h, config/xtensa/xtensa.c
+ 	(TARGET_ASM_SELECT_RTX_SECTION): New.
+ 
+ 	* config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
+ 	* config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
+ 	* config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
+ 	* config/ia64/ia64.c (ia64_select_rtx_section): ... here.
+ 	(ia64_aix_select_rtx_section): New.
+ 	* config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
+ 	redefining.
+ 	* config/mips/mips.c (mips_select_rtx_section): Make static.
+ 	Support ELF SHF_MERGE features.
+ 	* config/mips/mips-protos.h: Update.
+ 	* config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
+ 	(rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
+ 	make static, fall back to default_elf_select_rtx_section.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 	* config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
+ 	* config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
+ 	* config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
+ 	* config/romp/romp.c (romp_select_rtx_section): New.
+ 	* config/s390/s390.c (s390_select_rtx_section): New.
+ 	* config/xtensa/xtensa.c: Include output.h.  Shuffle local function
+ 	declarations before target macro definition.
+ 	(xtensa_emit_call): Use static buffer.
+ 	(xtensa_select_rtx_section): New.
+ 	* config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
+ 	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
+ 	(ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
+ 
+ 	* doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
+ 	SELECT_RTX_SECTION docs.
+ 
+ Sun May 19 00:24:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsi/movdi): Fix template.
+ 	(sse2 patterns): Set attributes consistently.
+ 
+ 	* i386.md (pushqi2, ashrqi_*): Fix constraint.
+ 
+ 2002-05-18  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* optabs.c (complex_part_zero_p): New.
+ 	* (expand_cmplxdiv_straight): Use it.
+ 	* (expand_cmplxdiv_wide): Ditto.
+ 	* (expand_binop): Ditto.
+ 
+ 2002-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (HAVE_READONLY_DATA_SECTION): New.
+ 	(shorten_branches): Use it instead of ifdefs.
+ 	* varasm.c (enum in_section): Add in_readonly_data.
+ 	(text_section, data_section): Tidy.
+ 	(readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
+ 
+ 	* config/darwin.h, config/nextstep.h, config/h8300/elf.h,
+ 	config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
+ 	(READONLY_DATA_SECTION): Don't undef.
+ 
+ 	* config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
+ 	config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
+ 	config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
+ 
+ 	* config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
+ 	config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
+ 	config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
+ 	config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
+ 
+ 	* config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
+ 	config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
+ 	config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
+ 	config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
+ 	config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
+ 	config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
+ 	config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
+ 	config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
+ 	CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
+ 
+ 	* config/elfos.h, config/netware.h, config/1750a/1750a.h,
+ 	config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
+ 	config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
+ 	config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
+ 	config/pa/pa64-hpux.h, config/sparc/litecoff.h
+ 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+ 
+ 	* config/elfos.h, config/netware.h, config/svr3.h,
+ 	config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
+ 	config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
+ 	config/h8300/h8300.h, config/i386/i386-interix.h,
+ 	config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
+ 	config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
+ 
+ 	* config/elfos.h, config/netware.h, config/svr3.h,
+ 	config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
+ 	config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
+ 	config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
+ 	config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
+ 
+ 	* config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
+ 	config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
+ 	config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
+ 	config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
+ 	config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
+ 	config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
+ 	config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
+ 	config/rs6000/sysv4.h, config/v850/v850.h
+ 	(EXTRA_SECTIONS): Remove in_const/in_rdata.
+ 	(EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
+ 
+ 	* config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
+ 	config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
+ 	config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
+ 	config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
+ 	* config/alpha/alpha.c (alpha_start_function): Likewise.
+ 	(alpha_write_linkage): Likewise.
+ 	* config/m32r/m32r.c (m32r_select_section): Likewise.
+ 	* config/m88k/m88k.c (m88k_select_section): Likewise.
+ 	* config/mips/mips.c (mips_select_rtx_section): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
+ 	(rs6000_elf_select_section): Likewise.
+ 	* config/v850/v850.c (v850_select_section): Likewise.
+ 
+ 	* config/1750a/1750a.h, config/i860/sysv3.h
+ 	(READONLY_DATA_SECTION_ASM_OP): New.
+ 	READONLY_DATA_SECTION_ASM_OP.
+ 	* config/i386/interix.c, config/i386/winnt.c
+ 	(i386_pe_unique_section): Always use .rdata prefix.
+ 	* config/pa/som.h (readonly_data): Always switch to read-only section.
+ 	(READONLY_DATA_SECTION): Predicate on flag_pic.
+ 	* config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
+ 	* doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
+ 	(READONLY_DATA_SECTION): Update.
+ 
+ 2002-05-18  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* c-common.c (c_common_post_options): Warn if -Wformat-zero-length
+ 	is used without -Wformat.
+ 	* c-common.h (warn_format_zero_length): Declare extern.
+ 	* c-decl.c (warn_options): Add "format-zero-length".
+ 	* c-format.c (warn_format_zero_length): Declare.
+ 	(set_Wformat): Set warn_format_zero_length for -Wformat.
+ 	(check_format_info): Only warn about zero-length formats if
+ 	warn_format_zero_length is true.  Include the format type
+ 	name in the warning message.
+ 	* doc/invoke.texi: Document -Wformat-zero-length.
+ 	* testsuite/gcc.dg/format/zero-length-1.c: New test.
+ 
+ 2002-05-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* timevar.c: Fix formatting.
+ 	* tlink.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree-dump.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 
+ 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_post_options): If preprocessed, turn off
+ 	traditional.  If traditional, turn off column numbers.
+ 	* cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
+ 	* cpptrad.c (handle_newline): Update line_base.
+ 	(skip_comment): Handle -Wcomment.
+ 
+ 2002-05-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppinit.c (struct builtin): Remove unused fields.
+ 	(CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
+ 	(operator_array): New - was second half of builtin_array.
+ 	(init_builtins): Simplify loop over builtin_array/operator_array.
+ 
+ 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* defaults.h (UNIQUE_SECTION): Remove.
+ 	* system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
+ 
+ 2002-05-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (init_expr_once): Don't use start/end_sequence.
+ 	Use rtx_alloc instead of emit_insn.
+ 	* toplev.c (lang_dependent_init): Run init_expr_once here ...
+ 	(lang_independent_init): ... not here.
+ 
+ 2002-05-17  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
+ 
+ 2002-05-17  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_regs_to_save): New function.  Also check
+ 	for fixed registers, possibly used for global register variables.
+ 	(initial_elimination_offset, avr_output_function_prologue,
+ 	avr_output_function_epilogue):  Move common code to avr_regs_to_save.
+ 
+ 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update for cpptrad.c.
+ 	* cpphash.h (struct cpp_buffer): New members for buffer
+ 	overlays.
+ 	(struct cpp_reader): New members for traditional output.
+ 	(_cpp_read_logical_line, _cpp_overlay_buffer): New.
+ 	* cppinit.c (cpp_create_reader): Set trad_line.
+ 	(cpp_destroy): Free trad_out_base if used.
+ 	(cpp_read_main_file): Overlay an empty buffer if traditional.
+ 	(cpp_finish_options): Don't do builtins.
+ 	(COMMAND_LINE_OPTIONS): Add -traditional-cpp.
+ 	(cpp_handle_option): Handle it.
+ 	* cpplex.c (continue_after_nul): New.
+ 	(_cpp_lex_direct): Use handle_nul.
+ 	* cpplib.h (struct cpp_options): New traditional option.
+ 	* cpptrad.c: New file.
+ 
+ 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init_options): Use C89 for Objective-C,
+ 	and set the options flag.
+ 	* cppinit.c (lang_flags): Remove objc.
+ 	(lang_defaults): Remove OBJC and OBJCXX.
+ 	(set_lang): Update.
+ 	(COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
+ 	(cpp_handle_option): Remove -+ and -lang-objc++.
+ 	For ObjC, just set a flag.
+ 	(print_help): Update.
+ 	* cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
+ 
+ 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific, mips-sgi-irix6): Document need to
+ 	bootstrap with -mips3.
+ 
+ 2002-05-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* final.c: Fix formatting.
+ 	* fix-header.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 
+ 2002-05-17  David S. Miller  <davem@redhat.com>
+ 
+ 	PR c/6689, PR optimization/6615
+ 	* local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
+ 	and make it a pointer to rtx.  Update comments.
+ 	(update_equiv_regs): When scanning for equivalences, record
+ 	address of SET_SRC (set) in reg_equiv[].src_p.  Dereference
+ 	it while making the equiv replacements.
+ 
+ 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
+ 
+ 2002-05-17  kaz Kojima  <kkojima@rr.iij4u.or.jp>
+ 
+ 	* config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
+ 	when encoding visibility into SYMBOL_REF_FLAG.
+ 
+ 2002-05-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expr.c (force_operand): Fix reversed move.
+ 
+ 2002-05-17  Kurt Wall <kwall@kurtwerks.com>
+ 
+ 	* doc/install.texi (Testing): Mention two common DejaGnu warnings
+ 	that can be ignored.
+ 
+ 2002-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Final install): Recommend to install into a
+ 	"clean" target directory.
+ 
+ 2002-05-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md: Use braced strings instead of quoted strings
+ 	for code blocks.  Tidy whitespace.
+ 
+ 2002-05-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* hooks.c (hook_tree_bool_false): New.
+ 	* hooks.h: Declare it.
+ 	* target-def.h (TARGET_ASM_SELECT_SECTION): New.
+ 	(TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
+ 	* target.h (select_section, unique_section): New.
+ 	(in_small_data_p): New.
+ 	* varasm.c (resolve_unique_section): Use hooks instead of macros.
+ 	(variable_section, output_constant_def_contents): Likewise.
+ 	(default_select_section, default_unique_section): New.
+ 	(categorize_decl_for_section, default_elf_select_section): New.
+ 	* output.h: Declare them.
+ 
+ 	* config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Move ...
+ 	* config/darwin.c (machopic_select_section): ... here.
+ 	* config/darwin-protos.h: Update.
+ 
+ 	* config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Move ...
+ 	* config/nextstep.c (nextstep_select_section): ... here.
+ 	* config/nextstep-protos.h: Update.
+ 
+ 	* config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 	* config/svr3.h (SELECT_SECTION): Remove.
+ 
+ 	* config/alpha/alpha.c (unicosmk_unique_section): Make static.
+ 	(TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
+ 	(TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
+ 	(alpha_encode_section_info): Use it.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/elf.h (DO_SELECT_SECTION): Remove.
+ 	(SELECT_SECTION, UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 	* config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
+ 
+ 	* config/arm/pe.h (UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_UNIQUE_SECTION): New.
+ 
+ 	* config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
+ 	(avr_unique_section): Rename from unique_section; make static.
+ 	* config/avr/avr-protos.h: Update.
+ 	* config/avr/avr.h (UNIQUE_SECTION): Remove.
+ 
+ 	* config/c4x/c4x.h (SELECT_SECTION): Remove.
+ 
+ 	* config/i386/cygwin.h (UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_UNIQUE_SECTION): New.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/win32.h: Likewise.
+ 	* config/i386/djgpp.h (UNIQUE_SECTION): Remove.
+ 	* config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
+ 	* config/i386/sco5.h (SELECT_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 	* config/i386/svr3gas.h (SELECT_SECTION): Remove.
+ 
+ 	* config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
+ 	instead of SELECT_SECTION.
+ 	* config/m68k/dpx2.h: Likewise.
+ 	* config/rs6000/lynx.h: Likewise.
+ 
+ 	* config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
+ 	* config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
+ 	(ia64_in_small_data_p): New.
+ 	(ia64_encode_section_info): Use it.  Reorganize overlarge conditional.
+ 	(ia64_aix_select_section, ia64_aix_unique_section): New.
+ 	* config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
+ 	(SELECT_SECTION, UNIQUE_SECTION): Remove.
+ 
+ 	* config/m32r/m32r.h (SELECT_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 	* config/m32r/m32r.c (m32r_select_section): Take align argument.
+ 	* config/m32r/m32r-protos.h: Update.
+ 
+ 	* config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Move ...
+ 	* config/m88k/m88k.c (m88k_select_section): ... here.
+ 
+ 	* config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
+ 	* config/mcore/mcore.h (UNIQUE_SECTION): Remove.
+ 	* config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
+ 	(mcore_unique_section): Make static.
+ 	* config/mcore/mcore-protos.h: Update.
+ 
+ 	* config/mips/elf.h (UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_UNIQUE_SECTION): New.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/iris6gld.h: Likewise.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/mips/mips-protos.h: Update.
+ 	* config/mips/mips.c (mips_select_section): Add align argument.
+ 	* config/mips/mips.h (SELECT_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 
+ 	* config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
+ 	* config/mmix/mmix.c (mmix_select_section): Remove.
+ 	(mmix_unique_section): Remove.
+ 	* config/mmix/mmix-protos.h: Update.
+ 
+ 	* config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Move ...
+ 	* config/pa/pa.c (pa_select_section): ... here.
+ 	* config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
+ 	from rs6000_select_section and make static.
+ 	(rs6000_elf_unique_section): Similarly.
+ 	(rs6000_xcoff_select_section): From xcoff.h.
+ 	(rs6000_xcoff_unique_section): Likewise.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 	* config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
+ 	* config/rs6000/xcoff.h: Likewise.
+ 
+ 	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
+ 	(SELECT_SECTION): Move ...
+ 	* config/sparc/sparc.c (sparc_aout_select_section): ... here.
+ 
+ 	* config/v850/v850.h (SELECT_SECTION): Move ...
+ 	* config/v850/v850.c (v850_select_section): ... here.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 
+ 	* config/vax/vms.h (SELECT_SECTION): Move ...
+ 	* config/vax/vax.c (vms_select_section): ... here.
+ 	(TARGET_ASM_SELECT_SECTION): New.
+ 
+ 	* doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
+ 	for the target hooks.
+ 
+ 2002-05-17  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (emit_multi_reg_push): Do not set
+ 	RTX_FRAME_RELATED_P on the SEQUENCE.
+ 
+ 2002-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
+ 	splitting.  Use split_all_insns; update_life_info_in_dirty_blocks.
+ 
+ 2002-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
+ 
+ 	* config/ia64/ia64.c (saveable_obstack): Do not declare.
+ 
+ 2002-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
+ 	cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
+ 	conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
+ 	gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
+ 	local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
+ 	recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
+ 	reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
+ 	sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
+ 	Revert "Basic block renumbering removal", and two followup patches.
+ 
+ 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Revert previous change.
+ 
+ 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* sched-rgn.c (schedule_insns): Initialize large_region_blocks
+ 	with only extant block numbers.
+ 
+ 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Fix typo.
+ 
+ 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* flow.c (calculate_global_regs_live): Queue blocks in program order.
+ 
+ 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Configuration): Document PWDCMD.
+ 
+ 2002-05-16  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* combine.c (cant_combine_insn_p):  Reenable combinations
+ 	involving hard regs unless CLASS_LIKELY_SPILLED_P.
+ 
+ 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (cb_register_builtins): Handle more built-ins
+ 	here rather than in gcc.c specs.
+ 	* gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
+ 	(cpp_options): Pass -O flags even when only preprocessing.
+ 	* toplev.c (set_fast_math_flags): New prototype.
+ 	(fast_math_flags_set_p): New.
+ 	(set_no_fast_math_flags): Remove.
+ 	(decode_f_option): Update.
+ 	* toplev.h (set_fast_math_flags): Update.
+ 	(fast_math_flags_set_p): New.
+ 	(set_no_fast_math_flags): Remove.
+ config:
+ 	* c4x/c4x.c (c4x_override_options): Update.
+ 
+ 2002-05-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
+ 	Default-define here.
+ 	(builtin_define_with_value): Can now wrap the expansion in
+ 	quotation marks if such is wanted.
+ 	(cb_register_builtins): Update calls to	builtin_define_with_value.
+ 	Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
+ 	here.
+ 	(c_common_init): Set options->stdc_0_in_system_headers.
+ 	* c-lex.h: Update prototype of builtin_define_with_value.
+ 	* cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
+ 	and REGISTER_PREFIX.
+ 
+ 	* cppinit.c (VERS, ULP, C, X): Kill.
+ 	(builtin_array): Remove entries for __VERSION__,
+ 	__USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
+ 	__HAVE_BUILTIN_SETJMP__.  Make __STDC__ always a builtin, not
+ 	a constant.
+ 	(init_builtins): Kill off a bunch of now-dead code.
+ 	(COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
+ 	-fno-leading-underscore.
+ 	(cpp_handle_option): Remove code to set user_label_prefix.
+ 	(cpp_post_options): Likewise.
+ 
+ 	* cpplib.h (struct cpp_options): Remove user_label_prefix.
+ 	(stdc_0_in_system_headers): New.
+ 	* cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
+ 	stdc_0_in_system_headers) too to decide the value of __STDC__.
+ 
+ 	* tradcpp.c (user_label_prefix): Kill.
+ 	(main): Remove code handling -f(no-)leading-underscore.
+ 	(initialize_builtins): Don't define __REGISTER_PREFIX__
+ 	or __USER_LABEL_PREFIX__.
+ 	(install_value): Wrap compound statement in dummy loop so the
+ 	macro works properly in an if statement.
+ 
+ 
+ 2002-05-16  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* loop.h (struct loop_info): Add member has_prefetch.
+ 	* loop.c (PREFETCH_CONDITIONAL): Change default to 1.
+ 	(prescan_loop): Initialize has_prefetch.
+ 	(struct prefetch_info): Change prefetch_in_loop and
+ 	prefetch_before_loop from bit fields to ints.
+ 	(emit_prefetch_instructions): Several small fixes.
+ 	(check_dbra_loop): Don't reverse loop that uses prefetch.
+ 
+ 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in: Allow for PWDCMD to override hardcoded pwd.
+ 	* configure.in: Likewise.
+ 	* fixinc/check.tpl: Likewise.
+ 	* fixinc/fixinc.dgux: Likewise.
+ 	* fixinc/fixinc.svr4: Likewise.
+ 	* fixinc/fixinc.winnt: Likewise.
+ 	* fixinc/fixincl.sh: Likewise.
+ 	* fixproto: Likewise.
+ 	* configure: Regenerate.
+ 
+ 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	Basic block renumbering removal:
+ 	* basic_block.h (struct basic_block_def): Renamed index to sindex,
+ 	added prev_bb and next_bb fields.
+ 	(n_basic_blocks): Renamed to num_basic_blocks.
+ 	(last_basic_block): New, index of last basic block.
+ 	(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
+ 	traversing basic block chain.
+ 	(BLOCK_NUM): index -> sindex.
+ 	(create_basic_block_structure, create_basic_block): Declaration changed.
+ 	(debug_num2bb): Declare.
+ 	(expunge_block_nocompact): Declaration removed.
+ 	(link_block, unlink_block, compact_blocks): Declare.
+ 	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
+ 	* cfg.c (entry_exit_blocks): Initialize new fields.
+ 	(clear_edges, alloc_block, expunge_block, cached_make_edge,
+ 	redirect_edge_pred, dump_flow_info, dump_edge_info,
+ 	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
+ 	free_aux_for_edges): Modified.
+ 	(link_block, unlink_block, compact_blocks, debug_num2bb): New.
+ 	(expunge_block_nocompact): Removed.
+ 	* cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
+ 	find_unreachable_blocks, create_edge_list, print_edge_list,
+ 	verify_edge_list, flow_edge_list_print, remove_fake_successors,
+ 	remove_fake_edges, flow_reverse_top_sort_order_compute,
+ 	flow_depth_first_order_compute, flow_preorder_transversal_compute,
+ 	flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
+ 	flow_dfs_compute_reverse_execute): Modified.
+ 	* cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
+ 	find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
+ 	Modified.
+ 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
+ 	merge_blocks_move_predecessor_nojumps,
+ 	merge_blocks_move_successor_nojumps, merge_blocks,
+ 	outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
+ 	try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
+ 	* cfglayout.c (skip_insns_after_block, label_for_bb,
+ 	record_effective_endpoints, scope_to_insns_finalize,
+ 	fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
+ 	fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
+ 	cfg_layout_duplicate_bb): Modified.
+ 	* cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
+ 	flow_loop_entry_edges_find, flow_loop_exit_edges_find,
+ 	flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
+ 	flow_loops_find, flow_loop_outside_edge_p): Modified.
+ 	* cfgrtl.c (create_basic_block_structure, create_basic_block,
+ 	flow_delete_block, compute_bb_for_insn, split_block,
+ 	try_redirect_by_replacing_jump, redirect_edge_and_branch,
+ 	force_nonfallthru_and_redirect, tidy_fallthru_edge,
+ 	back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
+ 	commit_edge_insertions, commit_edge_insertions_watch_calls,
+ 	dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
+ 	purge_all_dead_edges): Modified.
+ 	* combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
+ 	try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
+ 	get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
+ 	Modified.
+ 	* conflict.c (conflict_graph_compute): Modified.
+ 	* df.c (FOR_ALL_BBS): Removed.
+ 	(df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
+ 	df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
+ 	df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
+ 	* df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
+ 	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
+ 	calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
+ 	* final.c (compute_alignments, final_scan_insn): Modified.
+ 	* flow.c (verify_local_live_at_start, update_life_info,
+ 	update_life_info_in_dirty_blocks, free_basic_block_vars,
+ 	delete_noop_moves, calculate_global_regs_live,
+ 	initialize_uninitialized_subregs, allocate_bb_life_data,
+ 	regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
+ 	mark_used_reg, count_or_remove_death_notes): Modified.
+ 	* function.c (thread_prologue_and_epilogue_insns): Modified.
+ 	* gcse.c (struct null_pointer_info): Change typo of current_block
+ 	to basic_block.
+ 	(gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
+ 	oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
+ 	compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
+ 	alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
+ 	expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
+ 	classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
+ 	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
+ 	pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
+ 	pre_delete, one_pre_gcse_pass, compute_transpout,
+ 	invalidate_nonnull_info, delete_null_pointer_checks_1,
+ 	free_code_hoist_mem, compute_code_hoist_vbeinout,
+ 	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
+ 	compute_ld_motion_mems, store_ops_ok, find_moveable_store,
+ 	compute_store_table, build_store_vectors, insert_insn_start_bb,
+ 	insert_store, replace_store_insn, free_store_memory, store_motion):
+ 	Modified.
+ 	* global.c (global_alloc, global_conflicts, mark_elimination,
+ 	build_insn_chain): Modified.
+ 	* graph.c (print_rtl_graph_with_bb): Modified.
+ 	* haifa-sched.c (sched_init): Modified.
+ 	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
+ 	(find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
+ 	if_convert): Modified.
+ 	* lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
+ 	compute_insert_delete, pre_edge_lcm, compute_available,
+ 	compute_farthest, compute_nearerout, compute_rev_insert_delete,
+ 	pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
+ 	Modified.
+ 	* local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
+ 	* loop.c (loop_dump_aux): Modified.
+ 	* predict.c (combine_predictions_for_insn, estimate_probability,
+ 	last_basic_block_p, process_note_prediction, process_note_predictions,
+ 	note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
+ 	expensive_function_p, estimate_bb_frequencies,
+ 	compute_function_frequency): Modified.
+ 	* print-rtl.c (print_rtx): Modified.
+ 	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
+ 	get_exec_counts, compute_branch_probabilities, compute_checksum,
+ 	branch_prob, find_spanning_tree): Modified.
+ 	* recog.c (split_all_insns, peephole2_optimize): Modified.
+ 	* reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
+ 	convert_regs_1, convert_regs_2, convert_regs): Modified.
+ 	* regclass.c (scan_one_insn, regclass): Modified.
+ 	* regmove.c (mark_flags_life_zones, regmove_optimize,
+ 	combine_stack_adjustments): Modified.
+ 	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
+ 	* reload1.c (reload, reload_combine, copy_eh_notes): Modified.
+ 	* reorg.c (dbr_schedule): Modified.
+ 	* resource.c (find_basic_block, init_resource_info): Modified.
+ 	* sbitmap.c (sbitmap_intersection_of_succs,
+ 	sbitmap_intersection_of_preds, sbitmap_union_of_succs,
+ 	sbitmap_union_of_preds): Modified.
+ 	* sched-deps.c (init_dependency_caches): Modified.
+ 	* sched-ebb.c (schedule_ebbs): Modified.
+ 	* sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
+ 	find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
+ 	* ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
+ 	ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
+ 	ssa_const_prop): Modified.
+ 	* ssa-dce.c (set_control_dependent_block_to_edge_map_,
+ 	find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
+ 	* ssa.c (remove_phi_alternative, find_evaluations,
+ 	compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
+ 	insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
+ 	make_regs_equivalent_over_bad_edges,
+ 	make_equivalent_phi_alternatives_equival,
+ 	compute_conservative_reg_partition,
+ 	coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
+ 	rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
+ 	Modified.
+ 
+ 2002-05-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
+ 
+ 2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_rtx_costs): Check for RTX being a
+ 	SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
+ 	(arm_adjust_cost): Check for RTX being a SYMBOL_REF before
+ 	calling CONSTANT_POOL_ADDRESS_P.
+ 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
+ 	to decide whether to define __arm__ or __thumb.
+ 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
+ 	SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
+ 
+ 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* config/arc/arc.h (CPP_PREDEFINES): Remove.
+ 	(CPP_SPEC): Update.
+ 	(TARGET_CPU_CPP_BUILTINS): New.
+ 
+ 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (cpp_macro): Move here, and make expansion a union.
+ 	* cppmacro.c (cpp_macro): Remove.
+ 	(enter_macro_context, replace_args, warn_of_redefinition,
+ 	_cpp_create_definition, cpp_macro_definition): Update.
+ 
+ 2002-05-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_output_external): Don't do sdata
+ 	optimization for a variable with DECL_COMDAT set.
+ 
+ 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Cleanups for tighter typechecking.
+ 	Cleanups for accepting modifiers on pointers.
+ 	Fix predicate typos.
+ 	Allow long pointers as well as int pointers.
+ 
+ 2002-05-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (merge_weak): Remove special case for extern and common.
+ 
+ 2002-05-15  Matt Hiller  <hiller@redhat.com>
+ 
+ 	* testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
+ 	XFAILing.
+ 	* testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
+ 	* testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
+ 	* testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
+ 	* testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
+ 	* testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
+ 	* testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
+ 
+ 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* reload1.c (forget_old_reloads_1): Do not use subreg offset.
+ 
+ 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
+ 	("altivec_mfvscr"): Read from VSCR.
+ 
+ 	Add vscr sets for the following insns: altivec_vctuxs,
+ 	altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
+ 	altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
+ 	altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
+ 	altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
+ 	altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
+ 	altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
+ 	altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
+ 	altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
+ 	altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
+ 	altivec_vsum2sws, altivec_vsumsws.
+ 
+ 	* config/rs6000/rs6000.h: Add VSCR fixed register.
+ 	(CALL_REALLY_USED_REGISTERS): Add vscr.
+ 	(CALL_USED_REGISTERS): Same.
+ 	(FIXED_REGISTERS): Same.
+ 	(REG_ALLOC_ORDER): Same.
+ 	(reg_class): Add VSCR_REGS.
+ 	(REG_CLASS_NAMES): Same.
+ 	(REG_CLASS_CONTENTS): Same.
+ 	(VSCR_REGNO): New.
+ 	(REGISTER_NAMES): Add vscr.
+ 	(DEBUG_REGISTER_NAMES): Same.
+ 	(ADDITIONAL_REGISTER_NAMES): Same.
+ 	(FIRST_PSEUDO_REGISTER): Increment.
+ 	(CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
+ 
+ 2002-05-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (fold): Fix a typo.
+ 
+ 2002-05-15  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	* fold-const.c (fold) [LT_EXPR]: Move the transformation of a
+ 	comparison against the highest or lowest integer value before
+ 	the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
+ 	transformation and that of an unsigned comparison against 0
+ 	right after.
+ 
+ 2002-05-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (merge_weak): Error for any weakening after definition.
+ 	Adjust weakening after use warning to catch more cases.
+ 	(assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
+ 	* config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
+ 
+ Wed May 15 10:38:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* invoke.texi (-malign-double): Re-add lost warning.
+ 
+ 	* i386-protos.h (x86_output_mi_thunk): Declare.
+ 	* unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
+ 	* i386.c (x86_output_mi_thunk): ... here; handle 64bits.
+ 
+ 	* dwarf2out.c (output_call_frame_info): Do not skip unwind info
+ 	when flag_asynchronous_unwind_tables is set.
+ 
+ 	* flags.h (flag_reorder_functions): Declare.
+ 	* function.c (prepare_function_start): Initialize frequnecy.
+ 	* params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
+ 	* Makefile.in (predict.o): Add dependency on target.h and params.h
+ 	* defaults.h (HOT_TEXT_SECTION_NAME,
+ 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
+ 	* predict.c (choose_function_section): New function.
+ 	(estimate_bb_frequencies): Use it.
+ 	* toplev.c (flag_reorder_functions): New global variable.
+ 	(lang_independent_options): New.
+ 	(parse_options_and_default_flags): Set.
+ 	* varasm.c (assemble_start_function): Bypass functdion alignment
+ 	for never executed functions.
+ 	* invoke.texi (-freorder-blocks, -freorder-functions): Document.
+ 	(param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
+ 	* tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
+ 	Document.
+ 
+ 	Thu Jan  3 21:52:09 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c: Inlude profile.h
+ 	(MIN_COUNT): Rename to MIN_COUNT_FRACTION
+ 	(maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
+ 	Use the information about maximal counter in the program.
+ 
+ 	Thu Dec 20 22:14:00 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
+ 	probably_never_executed_bb_p): New functions.
+ 	* cfgcleanup.c (outgoing_edges_match): Use them.
+ 	* predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
+ 	(maybe_hot_bb_p, probably_cold_bb_p,
+ 	probably_never_executed_bb_p): New functions.
+ 
+ 	* function.h (function): Add new field function_frequency.
+ 	* predict.c (compute_function_frequency): New function.
+ 	(estimate_probability): Call it.
+ 
+ 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5172, optimization/5200
+ 	* gcse.c (gcse_main): Disable store_motion.
+ 
+ 2002-05-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
+ 	(c_common_nodes_and_builtins): Use it.
+ 	(builtin_define_with_value): New function.
+ 	(cb_register_builtins): Define __SIZE_TYPE__,
+ 	__PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
+ 	using builtin_define_with_value.  Use consistent notation when
+ 	defining __GXX_WEAK__.
+ 	(WCHAR_TYPE_SIZE): Don't redefine.
+ 	(combine_strings): Don't use WCHAR_TYPE_SIZE.
+ 
+ 	* cppdefault.h: Don't provide defaults for SIZE_TYPE,
+ 	PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
+ 	* cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
+ 	* tradcpp.c (initialize_builtins): Likewise.
+ 	* gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
+ 
+ 	* c-lex.h (builtin_define_with_value): Prototype.
+ 	* system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
+ 	NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
+ 	* doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
+ 
+ 	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
+ 	config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
+ 	config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
+ 	config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
+ 	config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
+ 	config/sparc/linux64.h, config/sparc/netbsd-elf.h,
+ 	config/sparc/sol2-bi.h, config/sparc/sparc.h:
+ 	Do not define NO_BUILTIN_SIZE_TYPE etc.  Remove all references
+ 	to __SIZE_TYPE__ etc from all spec strings. When this makes
+ 	extra specs empty, delete them.
+ 
+ 2002-05-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
+ 	for PA8000 or generating dwarf2 call frame information.
+ 	(output_call): Remove DO_FRAME_NOTES check from return pointer
+ 	optimization.
+ 	(following_call): Return 0 when scheduling for PA8000 or generating
+ 	dwarf2 call frame information.  Revise comment.
+ 
+ 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ config/alpha:
+ 	* alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
+ 	and __IEEE_FP_INEXACT as appropriate.
+ 	(CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
+ 	(CPP_SPEC): Remove ieee defines.
+ 	* freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
+ 
+ 2002-05-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_save_reg): Make regno unsigned.
+ 	(ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
+ 
+ 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CPP_SPEC): Update.
+ 	(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
+ 	CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
+ 	CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
+ 	CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
+ 	(EXTRA_SPECS): Update.
+ 	* arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
+ 	arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
+ 	arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
+ 	define TARGET_OS_CPP_BUILTINS if necessary.
+ 
+ 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc.c (cpp_options): Must pass -m* and -f* options
+ 	to the front end even when only preprocessing.
+ 	(cc1_options): Remove redundant -lang-c.
+ 	* tradcpp.c (main): Ignore -m options.
+ objc:
+ 	* lang-specs.h: Similarly.
+ 
+ 2002-05-14  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (transform_3): Add code for transformation
+ 	`(A,B,...)+C -> A+C,B,...'.
+ 
+ Tue May 14 12:48:22 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* final.c (end_final): Do not output profile_arcs constructor, when
+ 	no functions are instrumented.
+ 
+ Tue May 14 12:38:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (testsi to testqi_zext_1 splitter): Fix typo.
+ 
+ 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi: Remove special markup originally required for
+ 	HTML generation with texi2html.
+ 
+ 2002-05-14  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
+ 	SELECT_SECTION.
+ 	(UNIQUE_SECTION): Define to get small data correctly.
+ 
+ 	* varasm.c (resolve_unique_section): Add third parameter
+ 	flag_function_or_data_sections and use it instead of
+ 	flag_function_sections.
+ 	(assemble_start_function): Pass flag_function_sections.
+ 	(asm_emit_uninitialised): Pass flag_data_sections.
+ 	(assemble_variable): Likewise.
+ 
+ 2002-05-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: Use define_constants for unspec numbers.
+ 	* config/i386/i386.c: Likewise.
+ 
+ 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/contrib.texi: Update my entry.
+ 
+ 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fixinc/inclhack.def (winidss_valist): Limit applicability.
+ 	* fixinc/fixincl.x: Regenerated.
+ 	* fixinc/tests/base/math.h: Update.
+ 	* fixinc/tests/base/testing.h: Likewise.
+ 
+ 2002-05-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genattr.c (gen_attr): Don't emit a comma after the last
+ 	enumerator.
+ 
+ 2002-05-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
+ 	by non-local gotos.
+ 	* recog.c (peephole2_optimize): Likewise.
+ 
+ 2002-05-13  Andris Pavenis  <pavenis@lanet.lv>
+ 
+ 	* cppfiles.c (open_file): Change mode (DJGPP only) of redirected
+ 	input to O_BINARY.
+ 
+ 2002-05-13  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
+ 	Update prototype and callers.
+ 	(propagate_one_insn): Stack pointer adjustments kill MEMs on
+ 	the mem_set_list which reference the stack pointer, as do
+ 	calls to constant functions as they may clobber outgoing
+ 	argument space.
+ 
+ 	* i386.c (ia32_multipass_dfa_lookahead): Prototype.
+ 
+ 	* i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
+ 	(ia32_multipass_dfa_lookahead): New function.
+ 
+ 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
+ 	(translate_options): Remove 'V'.
+ 	(process_command): Similarly.
+ doc:
+ 	* invoke.texi: Remove documentation of 'V'.
+ 
+ 2002-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h: Revert 2002-04-22 changes.
+ 
+ 2002-05-13  Scott Marks <SMarks@mobile-mind.com>
+ 
+ 	* config/fr30/fr30.md: Only allow splits of immediate loads
+ 	if the destination is a register.
+ 
+ 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (c-common.o, cppinit.o): Update.
+ 	* c-common.c: Include except.h.
+ 	(cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
+ 	Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
+ 	* cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
+ 	* defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
+ 	CPP_PREDEFINES): Handle here.
+ config:
+ 	* alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
+ 	alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
+ 	alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
+ 	TARGET_OS_CPP_BUILTINS.
+ 	* alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
+ 	(CPP_SPEC, EXTRA_SPECS): Update.
+ 	(CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
+ 	CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
+ 	CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
+ 	CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
+ 	CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
+ doc:
+ 	* tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
+ 	(TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
+ 
+ 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* emit-rtl.c (global_rtl): Update comment.
+ 	(const_double_htab, const_double_htab_hash,
+ 	const_double_htab_hash, lookup_const_double): New.
+ 	(const_int_htab_hash, const_int_htab_eq): Remove const
+ 	qualifiers, which cause tons of warnings with RTL checking on.
+ 	(gen_rtx_CONST_DOUBLE): Deleted.
+ 	(const_double_from_real_value): New function - bears some
+ 	resemblance to the former immed_real_const_1.
+ 	(immed_double_const): Moved here from varasm.c and
+ 	simplified.
+ 	(gen_rtx_REG): Make REGNO unsigned to squelch warnings.
+ 	(gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
+ 	(gen_rtx): Use immed_double_const.
+ 	(init_emit_once): Initialize the const_double_htab.  Use
+ 	REAL_VALUE_FROM_INT where possible.  Can now use
+ 	CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
+ 	* varasm.c (struct varasm_status): Remove x_const_double_chain.
+ 	(const_double_chain, immed_real_const, clear_const_double_mem): Delete.
+ 	(immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
+ 	(init_varasm_status, mark_varasm_status): Don't touch
+ 	x_const_double_chain.
+ 
+ 	* output.h: Delete prototype for clear_const_double_mem.
+ 	* real.h: Make REAL_VALUE_TYPE a macro again.  Remove leading
+ 	'0' slot from all CONST_DOUBLE_FORMAT definitions.  Prototype
+ 	const_double_from_real_value, not immed_real_const_1, and use
+ 	it to define CONST_DOUBLE_FROM_REAL_VALUE.  Define new macro
+ 	CONST_DOUBLE_ATOF.
+ 	* rtl.h (CONST_DOUBLE_CHAIN): Kill.
+ 	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
+ 	(gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
+ 	(gen_rtx_REG): Second arg is unsigned.
+ 
+ 	* gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
+ 	(excluded_rtx): New, return true for CONST_DOUBLE.
+ 	(genmacro): Write nothing for excluded codes.
+ 	* combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
+ 	* expr.c (expand_expr): Likewise.
+ 	* ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
+ 	CONST_DOUBLE_CHAIN.
+ 	* toplev.c (rest_of_compilation): Don't call
+ 	clear_const_double_mem.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_float_const): Delete.
+ 	(rs6000_hash_constant): Remove CONST_DOUBLE special case.
+ 	(toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
+ 	* config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
+ 	* config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
+ 	* config/dsp16xx/dsp16xx.md, config/mips/mips.md,
+ 	config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
+ 	* config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
+ 
+ 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
+ 
+ 2002-05-12  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* tree.h (copy_node): Don't mention TREE_PERMANENT.
+ 
+ 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gensupport.c (n_comma_elts): Moved here from genattrtab.c.
+ 	(scan_comma_elt): New function.  Accepts whitespace in comma lists.
+ 	* gensupport.h: Prototype new routines.
+ 	* genattr.c (gen_attr): Use scan_comma_elt.  Avoid unnecessary
+ 	use of printf.
+ 	* genattrtab.c (n_comma_elts): Moved to gensupport.c.
+ 	(next_comma_elt): Use scan_comma_elt.
+ 
+ 	* config/i386/i386.md: Use new attribute notation to break up
+ 	long lines in define_attr forms.
+ 
+ 2002-05-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (compress_float_constant): New.
+ 	(emit_move_insn): Use it.
+ 	(float_extend_from_mem): New.
+ 	(init_expr_once): Initialize it.
+ 	* real.c (exact_real_truncate): New.
+ 
+ 	* config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
+ 	dropped into memory; penalize for size.
+ 	(RTX_COSTS): FLOAT_EXTEND is free.
+ 	* config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
+ 	extenddfxf2, extenddftf2): Accept constants and drop them to memory.
+ 
+ 2002-05-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* profile.h (profile_info): Add missing extern to declaration.
+ 	* profile.c (profile_info): Define it.
+ 
+ 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
+ 	used for DImode and TImode.
+ 
+ 2002-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (_cpp_lex_direct): When in a directive at EOF
+ 	fake a newline.
+ 
+ 2002-05-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_default_long_calls,
+ 	rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
+ 	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
+ 	(rs6000_override_options): Handle -m(no-)longcall.
+ 	(init_cumulative_args, output_mi_thunk): Check for both
+ 	longcall and shortcall attributes on the function.
+ 	(rs6000_attribute_table): Add "shortcall".
+ 	(rs6000_handle_longcall_attribute): Update comment.
+ 	(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
+ 	altivec_expand_ternop_builtin): Add default clauses to switches
+ 	to silence warnings.
+ 
+ 	* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
+ 	rs6000_default_long_calls.  Define REGISTER_TARGET_PRAGMAS.
+ 	(TARGET_OPTIONS): Add longcall and no-longcall.
+ 
+ 	* config/rs6000/rs6000.md (call_nonlocal_sysv,
+ 	call_value_nonlocal_sysv): Split by alternatives.  One pair
+ 	accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
+ 	the call cookie.  The other pair accepts only LR/CTR and has
+ 	no restriction.
+ 
+ 	* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
+ 	Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
+ 	tmake_file.
+ 	* config/rs6000/rs6000-c.c: New file.
+ 	* config/rs6000/t-rs6000-c-rule: New file.
+ 	* config/rs6000/rs6000-protos.c: Add multiple-include guard.
+ 	Prototype rs6000_pragma_longcall.
+ 
+ 	* doc/extend.texi: Document shortcall attribute.
+ 	* doc/invoke.texi: Document -mlongcall, -mno-longcall.
+ 
+ 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* reorg.c (dbr_schedule): Remove unnecessary test.
+ 
+ Sat May 11 14:34:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (testsi to testqi spliters): New.
+ 
+ 	2002-01-14  Josef Zlomek  <zlomek@matfyz.cz>
+ 
+ 	cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
+ 
+ 	Wed Jan  9 2002  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
+ 
+ 	* basic-block.h: New flag EDGE_CAN_FALLTHRU
+ 	* cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
+ 	that can be made fallthru.
+ 
+ 	Mon Nov 12 16:25:53 CET 2001  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (cleanup_unconditional_jumps): New static function.
+ 	(cfg_layout_initialize): Use it.
+ 
+ 2002-05-11  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_mcu_types): Update supported devices.
+ 	* config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+ 
+ 2002-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dbxout.c: Fix formatting.
+ 	* dependence.c: Likewise.
+ 	* df.c: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* doloop.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* doschk.c: Likewise.
+ 	* dwarf2asm.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 
+ 2002-05-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (end_final): Tidy whitespace.  Don't honor flag_pack_struct.
+ 	Convert integers constants as needed.  Replace "nwords" field with
+ 	"sizeof_bb".
+ 	(final): Save profile data if cfun->arc_profile, not profile_arc_flag.
+ 	* function.h: Fix typo in comment.
+ 	* libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
+ 
+ 2002-05-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
+ 	into the equivalent (signed char)c > 0.
+ 
+ 2002-05-10  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
+ 	(PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
+ 	(struct prefetch_info): Fix spelling of member bytes_accessed.
+ 	(emit_prefetch_instructions): Make dump messages more regular;
+ 	restructure code to add more dump messages; use new macros for
+ 	heuristics. (There are no code generation changes in any of this).
+ 
+ 2002-05-10  David S. Miller  <davem@redhat.com>
+ 
+ 	* rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
+ 	(struct rtx_def): Update unchanging flag comment.
+ 	* doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
+ 	* reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
+ 	to be handled to INSN too.
+ 	(dbr_schedule): Likewise.
+ 	* resource.c (next_insn_no_annul): Likewise.
+ 
+ 	* cse.c (rtx_cost): Remove multiplication by power of 2 special
+ 	casing.
+ 
+ 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific, *-*-solaris2*): Update passus on
+ 	setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
+ 	(possibly) work around broken /bin/sh.
+ 
+ 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
+ 	. as N64/N32 libgcc_s.so subdirs.
+ 
+ 2002-05-10  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md: Use define_constants for unspec numbers.
+ 
+ 	* rtl.h (struct rtx_def): Document unchanging and in_struct flags
+ 	more accurately.
+ 	(INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
+ 	comment.
+ 	(INSN_FROM_TARGET_P): Valid also for CALL_INSN.
+ 	* doc/rtl.texi: Document these macros more accurately.
+ 	* recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
+ 	JUMP_INSNs and CALL_INSNs.
+ 	* resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
+ 	or INSN_FROM_TARGET_P if the code is appropriate.
+ 
+ 2002-05-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
+ 	before using SYMBOL_REF_FLAG (addr).
+ 
+ 	* config/avr/avr-protos.h (avr_io_address_p): Declare.
+ 	* config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
+ 	Make non-static.  Update all callers.
+ 	* config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
+ 	New insns to clear/set/test a single bit in I/O address space.
+ 
+ 2002-05-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
+ 
+ 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.c (flag_iso, flag_undef, cb_register_builtins,
+ 	builtin_define_std): New.
+ 	(c_common_init): Register CPP builtins callback.
+ 	* c-common.h (flag_iso, flag_undef): New.
+ 	* c-decl.c (c_decode_option): Set flag_iso and flag_undef.
+ 	* c-lex.c: Don't include target.h.
+ 	(cb_register_builtins): Move to c-common.c.
+ 	(init_c_lex): Don't register hook here.
+ 	* c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
+ 	(cpp_define, cpp_assert): Remove.
+ 	* gcc.c (cc1_options): Pass -undef to front end.
+ 	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
+ 	(TARGET_INITIALIZER): Update.
+ 	* target.h (struct cpp_reader): Don't predeclare.
+ 	(struct gcc_target): Remove cpp builtin hook.
+ 	* tree.c (default_register_cpp_builtins): Remove.
+ doc:
+ 	* tm.texi: Update.
+ 
+ 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (_cpp_expand_op_stack): Set op_limit.
+ 
+ 2002-05-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
+ 	(SHLIB_LINK, SHLIB_INSTALL): Adjust.
+ 
+ 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
+ 	* config/sparc/libgcc-sparc-glibc.ver: New file.
+ 	* config/cris/t-linux (SHLIB_MAPFILES): Remove.
+ 	* mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
+ 
+ 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6429
+ 	* Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
+ 	* mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
+ 	shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
+ 	base multilibs.
+ 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
+ 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
+ 	* config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
+ 	* config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
+ 
+ 2002-05-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md: Use define_constants for unspec numbers.
+ 	* config/ia64/ia64.c: Likewise.
+ 
+ 2002-05-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
+ 	(save_restore_insns): Likewise.
+ 	(mips_expand_prologue, mips_expand_epilogue): Update callers.
+ 	(highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
+ 
+ Thu May  9 11:50:09 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* athlon.md, k6.md, pentium.md, ppro.md): New files.
+ 	* i386.md: Move scheduling information into new files.
+ 
+ 	* i386.md (type attribute): Add "rotate" for rotate insns.
+ 	(rotate insns): Set type to "rotate".
+ 	(various attributes and function units): Treat rotate like shift.
+ 	(pent_pair attribute): Only rotates by one bit position are
+ 	pairable.
+ 	(sbb insns): Explicitly set pent_pair attribute on a couple
+ 	that were missing it.
+ 
+ Thu May  9 18:29:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_builtin_saveregs): If starting with an odd fp register,
+ 	make sure that buffer starts on odd word address.
+ 	(sh_va_arg): Skip odd fp registers when reading a double precision
+ 	value.
+ 
+ 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tree.h (preserve_data, object_permanent_p, type_precision):
+ 	Remove.
+ 
+ 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
+ 	* cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
+ doc:
+ 	* cpp.texi: Update for removal of obsolete features.
+ 
+ Thu May  9 07:46:18 2002  Jan Hubicka <jh@suse.cz>
+ 			  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* i386.c (ia32_use_dfa_pipeline_interface): New function.  Use
+ 	the DFA interface for Pentium processors.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
+ 	(attr_pent_pair, ix86_pent_find_pair): Remove.
+ 	(ix86_sched_reorder_pentium): Remove.
+ 	(ix86_sched_reorder): Remove reordering for Pentium.
+ 	* i386.md (Pentium scheduling): Rewrite using DFA description.
+ 
+ Thu May  9 14:55:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfganal.c (can_fallthru): Fix fast path.
+ 	* cfgrtl.c (verify_flow_info): Avoid crash on conditionals
+ 	with edges to the next block.
+ 
+ Thu May  9 14:52:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 			       Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
+ 
+ 	* final.c (end_final): Use C trees to output data structures for profiling.
+ 
+ 	* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
+ 	(profile.o): New dependency profile.h
+ 	(final.o): New dependency profile.h
+ 	* profile.h: New file. New global structure profile_info.
+ 	* final.h (count_edges_instrumented_now): Declare.
+ 	(current_function_cfg_checksum): Declare.
+ 	(function_list): New structure.
+ 	(functions_head, functions_tail): New static variables.
+ 	(end_final): Emits more data, removed some -ax stuff.
+ 	(final): Stores function names and chcksums.
+ 	* gcov-io.h (__write_gcov_string): New function.
+ 	(__read_gcov_string): New function.
+ 	* gcov.c (read_profile): New function.
+ 	(create_program_flow_graph): Uses read_profile instead of reading
+ 	da_file.
+ 	(read_files): Removed da_file checking, it's done by read_profile now.
+ 	* libgcc2.c (bb_function_info): New structure.
+ 	(bb): New field in structure, removed some -ax stuff.
+ 	(__bb_exit_func): Changed structure of da_file.
+ 	* profile.c (count_edges_instrumented_now): New global variable.
+ 	(current_function_cfg_checksum): New global variable.
+ 	(max_counter_in_program): New global variable.
+ 	(get_exec_counts): New function.
+ 	(compute_checksum): New function.
+ 	(instrument_edges): Sets count_edges_instrumented_now.
+ 	(compute_branch_probabilities): Uses get_exec_counts instead of
+ 	reading da_file.
+ 	(branch_prob): Calls compute_checksum and writes extra data to bbg_file.
+ 	(init_branch_prob): Removed da_file checking, done in get_exec_counts
+ 	now.
+ 	(end_branch_prob): Removed da_file checking, done in get_exec_counts
+ 	now.
+ 	* gcov.texi: Updated information about gcov file format.
+ 
+ 2002-05-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* sbitmap.c: Fix formatting.
+ 	* scan.c: Likewise.
+ 	* scan-decls.c: Likewise.
+ 	* sched-deps.c: Likewise.
+ 	* sched-ebb.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* sched-vis.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* ssa-dce.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* stringpool.c: Likewise.
+ 
+ 2002-05-09  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
+ 
+ 2002-05-07  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
+ 	* config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
+ 	* config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
+ 	library implementation clobbers the output before the inputs
+ 	are fully consumed, use stack temporary for the output.
+ 
+ 2002-05-09  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h (CPP_SPEC): Remove.
+ 	* config/i386/netbsd-elf.h (CPP_SPEC): Define.
+ 	* config/i386/netbsd.h (CPP_SPEC): Define.
+ 	* config/ns32k/netbsd.h (CPP_SPEC): Define.
+ 	* config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
+ 	* config/sparc/netbsd.h (CPP_SPEC): Define.
+ 	* config/vax/netbsd.h (CPP_SPEC): Define.
+ 
+ 2002-05-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* read-rtl.c: Fix formatting.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* rtl.c: Likewise.
+ 	* rtl-error.c: Likewise.
+ 
+ 2002-05-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
+ 	* pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
+ 
+ 2002-05-08  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
+ 	use __SSE2__ macro instead.
+ 	* config/i386/xmmintrin.h: Likewise.
+ 
+ 2002-05-08  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
+ 	and use it in all invocations of these macros.  Clean up comments.
+ 	* rtl.c (rtl_check_failed_flag): Add an argument for the name
+ 	of the flag access macro whose check failed.
+ 	* doc/rtl.texi (Flags): Document additional flag uses.
+ 
+ 2002-05-08  Robert Spier <rspier@pobox.com>
+ 	    Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/6521
+ 	* cppfiles.c (handle_missing_header): Don't do anything
+ 	different for <> includes.
+ doc:
+ 	* cppopts.texi: Update documentation for -MG.
+ 
+ 2002-05-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (cpp_interpret_charconst): Truncate as well as
+ 	sign-extend.
+ doc:
+ 	* cpp.texi: Clarify multichar charconst valuation.
+ 
+ 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi: Document -mwindiss option.
+ 
+ 2002-05-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
+ 
+ 	* dwarf2out.c (gen_type_die): Abort on broken recursion.
+ 
+ 	PR c++/6381
+ 	* dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
+ 	REAL_CST.
+ 
+ 2002-05-08  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
+ 	little-endian multilibs to override arm/thumb multilibs.
+ 	Do not build hardware floating point multilibs, nor apcs-26
+ 	multilibs for the Thumb.
+ 
+ 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c/6569.
+ 	* varasm.c (mark_weak): New function.
+ 	(merge_weak): Use it.  Do not call declare_weak.
+ 	(declare_weak): Use merge_weak.
+ 
+ Wed May  8 13:12:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (dead_libcall_p): Update counts.
+ 	(delete_trivially_dead_insns): Update call of dead_libcall_p.
+ 
+ Wed May  8 11:08:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (function_tail_eff_head): Rename to ...
+ 	(function_footer): ... this one.
+ 	(unlink_insn_chain): New functions.
+ 	(label_for_bb): Only call block_label and emit debug message.
+ 	(record_effective_endpoints): Actually unlink the headers and footers.
+ 	(fixup_reorder_cahin): Re-insert the unlinked sequences.
+ 	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
+ 	* cfglayout.h (struct reorder_block_def): New fields footer/header;
+ 	remove eff_head/eff_end.
+ 	* rtl.h (set_first_insn): Declare.
+ 	* emit-rtl.c (set_first_insn): New function.
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Dump duplicated
+ 	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
+ 	cfg_layout_duplicate_bb): New global function.
+ 	(duplicate_insn_chain): New static function.
+ 	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
+ 	cfg_layout_duplicate_bb): Declare.
+ 	(struct reorder_block_def): Add "original" field.
+ 	* emit-rtl.c (emit_copy_of_insn_after): New function.
+ 	* rtl.h (emit_copy_of_insn_after): Declare.
+ 
+ 	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
+ 	(fixup_reorder_chain): properly handle edges to exit block.
+ 
+ Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 			       Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (note_prediction_to_br_prob): declare.
+ 	* c-semantics.c: Include predit.h
+ 	(expand_stmt): predict GOTO_STMT as not taken.
+ 	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
+ 	(cleanup_cfg): Do not free tail_recursion_list.
+ 	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
+ 	(flow_delete_block): Kill predictions past end of basic block.
+ 	* output.h (delete_unreachable_blocks): Declare.
+ 	* predict.c (predicted_by_p, process_note_predictions,
+ 	process_note_prediction, last_block_p): New function.
+ 	(estimate_probability): Bypass loop on PRED_CONTINUE;
+ 	do not handle noreturn heuristics; kill PRED_RETURN; add
+ 	PRED_EARLY_RETURN.
+ 	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
+ 	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
+ 	* predict.h (IS_TAKEN): New constant.
+ 	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
+ 	* rtl.c (NOTE_INSN_PREDICTION): New.
+ 	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
+ 	New macro.
+ 	(insn_note): add NOTE_INSN_PREDICTION.
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
+ 	CFG; free tail_recursion_label_list.
+ 	* stmt.c: Include predict.h;
+ 	(return_prediction): New.
+ 	(expand_value_return): Use it.
+ 	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
+ 
+ 2002-05-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Name the unspecs with define_constant.
+ 	(*HILO_delay): Rename to 'hilo_delay' (no star).
+ 	(reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
+ 	(reload_outdi, reload_outsi): Likewise.
+ 
+ 2002-05-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* toplev.c: Fix formatting.
+ 
+ 2002-05-07  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config.in (ENABLE_RTL_FLAG_CHECKING): New.
+ 	* configure.in (ac_rtlflag_checking): New.
+ 	* doc/install.texi (--enable-checking): Document RTL flag checking.
+ 
+ 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init): Set options->unsigned_wchar.
+ 	* cppinit.c (cpp_create_reader): Default unsigned_wchar,
+ 	group target dependencies.
+ 	(init_builtins, cpp_handle_option): Update.
+ 	* cpplex.c (cpp_interpret_charconst): Update.
+ 	* cpplib.h (struct cpp_options): Add unsigned_wchar, rename
+ 	signed_char to unsigned_char, group target dependencies.
+ 	* defaults.h (WCHAR_UNSIGNED): Remove.
+ 	* system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
+ config:
+ 	* freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
+ 	i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
+ 	i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
+ 	i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
+ 	sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
+ doc:
+ 	* tm.texi: Remove MAX_CHAR_TYPE_SIZE.
+ 
+ 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fixinc/inclhack.def (windiss_math1): New fix.
+ 	(windiss_math2): Likewise.
+ 	(windiss_valist): Likewise.
+ 	* fixinc/fixincl.x: Regenerated.
+ 
+ 2002-05-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* genautomata.c (output_internal_min_issue_delay_func): Add
+ 	ATTRIBUTE_UNUSED to avoid warning with empty dfa.
+ 	(output_internal_trans_func): Likewise.
+ 
+ Tue May  7 10:06:22 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pa.c (hppa_profile_hook): Use force_reg to get the address
+ 	of the profile hook into an appropriate pseudo register.
+ 
+ 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
+ 	(LINK_START_SPEC): Handle it.
+ 	(LINK_OS_SPEC): Likewise.
+ 	(CPP_SPEC): Likewise.
+ 	(STARTFILE_SPEC): Likewise.
+ 	(LIB_SPEC): Likewise.
+ 	(ENDFILE_SPEC): Likewise.  Do not assume crtsavres.o is used on
+ 	all platforms.
+ 	(CRTSAVRES_DEFAULT_SPEC): New macro.
+ 	(LIB_WINDISS_SPEC): New macro.
+ 	(CPP_OS_WINDISS_SPEC): Likewise.
+ 	(STARTFILE_WINDISS_SPEC): Likewise.
+ 	(ENDFILE_WINDISS_SPEC): Likewise.
+ 	(LINK_START_WINDISS_SPEC): Likewise.
+ 	(LINK_OS_WINDISS_SPEC): Likewise.
+ 	* config/rs6000/windiss.h: New file.
+ 
+ 2002-05-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
+ 
+ 2002-05-06  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (shift insns): Do not mask off
+ 	second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
+ 	take care of it.
+ 
+ 2002-05-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/6212
+ 	* expr.c (highest_pow2_factor_for_type): New.
+ 	(expand_assignment): Use it.
+ 
+ 2002-05-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
+ 	unspec_volatile.
+ 	("altivec_mfvscr"): Same.
+ 
+ 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rtl.h (struct rtx_def): Update comments.
+ 	(RTL_FLAG_CHECK[12345678]): New.  (rtl_check_failed_flag): Declare.
+ 	(RTL_FLAG): New.  (CLEAR_RTX_FLAGS): New.  (flag access macros): Use
+ 	RTL_FLAG_CHECK macros with list of expected RTL codes.
+ 	* rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
+ 	(rtl_check_failed_flag): New.
+ 	* reload1.c (reload): Use REG macro before changing rtx to MEM.
+ 	(reload_cse_noop_set_p): Check rtx code before using access macro.
+ 	* config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
+ 	before using access macro.
+ 
+ 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/rtl.texi (Flags): Update to reflect current usage.
+ 
+ 2002-05-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR opt/3995
+ 	* fold-const.c (sign_bit_p): New function.
+ 	(fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
+ 	(A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
+ 	Reapply fold when converting (A & C) == C into (A & C) != 0.
+ 	(fold_binary_op_with_conditional_arg): Fix typo in comment.
+ 
+ 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (warn_multichar): New.
+ 	(c_common_init): Set CPP's warn_multichar.
+ 	* c-common.h (warn_multichar): New.
+ 	* c-decl.c (warn_multichar): Remove.
+ 	* c-lex.c (lex_charconst): Update.
+ 	* c-tree.h (warn_multichar): Remove.
+ 	* cppexp.c (eval_token): Sign-extend charconst value.
+ 	* cppinit.c (cpp_create_reader): Set warn_multichar.
+ 	* cpplex.c (cpp_interpret_charconst): Don't sign-extend
+ 	each character.  Update prototype.  Sign-extend the result.
+ 	* cpplib.h: Fix conditions.
+ 	(struct cpp_options): Add new warning flag.
+ 	(cpp_interpret_charconst): Update prototype.
+ doc:
+ 	* cpp.texi: Update documentation.
+ 
+ 2002-05-06  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
+ 	Fix typo in usage of allof instead of unit.
+ 
+ 2002-05-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
+ 	and any jump or call for IN.
+ 
+ 2002-05-06  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
+ 	-msse2.
+ 	* config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
+ 
+ 2002-05-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (lshift-double): Cast the high word to an unsigned
+ 	HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
+ 	(div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
+ 	avoid compiler warning.  (fold): Remove redundant code from
+ 	BIT_AND_EXPR as integer operands are canonicalized to be arg1.
+ 
+ 2002-05-06  Jeff Law  <law@redhat.com>
+ 
+ 	* pa-protos.h (hppa_fpstore_bypass_p): Declare.
+ 	* pa.c (pa_adjust_cost): Remove all true dependency cost
+ 	adjustments.  Also remove support for non-DFA scheduling.
+ 	* pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
+ 	to adjust true dependency costs.  Update various comments.
+ 	(7100lc, 7200, 7300 scheduling): Simplify by combining the
+ 	FP ALU & MPY units into a single unit.
+ 
+ 2002-05-06  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.c (compute_register_save_size): Make sure
+ 	to count all of the registers that will be saved.
+ 
+ Mon May  6 18:03:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (q_regs_operand): Use ANY_QI_REGS_P.
+ 
+ 2002-05-06  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
+ 	allow result to overlap input operands in memory.
+ 
+ 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ doc:
+ 	* cpp.texi: Update multichar charconst docs.
+ 
+ 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (cpp_interpret_charconst): Sign-extend each
+ 	character.  Don't ignore excess characters.  Treat
+ 	multicharacter character constants as signed.
+ 	(cpp_parse_escape): Clarify diagnostic.
+ 
+ 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
+ 	use add instead of shift.
+ 	(ashldi3_sp64): Likewise.
+ 	(ashlsi3_const1, ashldi3_const1): Remove.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
+ 	* config/sparc/sparc.c (const1_operand): New.
+ 
+ 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
+ 
+ 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6561
+ 	* config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
+ 
+ 2002-05-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
+ 	memory latency adjustments.
+ 	(alpha_variable_issue): Remove.
+ 	(alpha_use_dfa_pipeline_interface): New.
+ 	(alpha_multipass_dfa_lookahead): New.
+ 	* config/alpha/alpha.md: Remove define_function_unit scheduling;
+ 	include new dfa scheduling.
+ 	(attr type): Add none.
+ 	(blockage): Use it.
+ 	* config/alpha/ev4.md: New.
+ 	* config/alpha/ev5.md: New.
+ 	* config/alpha/ev6.md: New.
+ 
+ 2002-05-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
+ 
+ 2002-05-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c: Fix formatting.
+ 	* emit-rtl.c: Likewise.
+ 
+ 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (initiate_states): Add additional guard to
+ 	initialize `units_array'.
+ 
+ 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
+ 	process_unit_to_form_the_same_automaton_unit_lists,
+ 	form_the_same_automaton_unit_lists
+ 	check_unit_distributions_to_automata): New prototypes and
+ 	functions.
+ 	(check_automata): Rename it into `check_automata_insn_issues'.
+ 	(unit_decl): New fields `the_same_automaton_unit' and
+ 	`the_same_automaton_message_reported_p'.
+ 	(unit_decl_t): New typedef.
+ 	(the_same_automaton_lists): New gloval variable.
+ 	(unit_regexp, unit_set_el, units_array, units_cmp,
+ 	output_get_cpu_unit_code_func): Use the typedef.
+ 	(evaluate_max_reserv_cycles): Increment
+ 	`description->max_insn_reserv_cycles'.
+ 	(initiate_states): Don't increment `max_cycles_num'.
+ 	(transform_insn_regexps): Move code around transformation of
+ 	regexps from `generate'.
+ 	(generate): Remove call of `transform_insn_regexps'.
+ 	(expand_automata): Call `transform_insn_regexps' and
+ 	`check_unit_distributions_to_automata'.  Check errors before
+ 	`generate'.
+ 
+ 	* config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
+ 	automaton `ultrasparc3_1'.
+ 
+ 2002-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_common_init): Set up CPP arithmetic.
+ 	* cppinit.c (cpp_create_reader): Default CPP arithmetic to
+ 	something reasonable for the host.
+ 	(sanity_checks): Add checks.
+ 	(cpp_read_main_file): Call sanity_checks() from here...
+ 	(cpp_post_options): ... not here.
+ 	* cpplex.c (cpp_interpret_charconst): Get max_chars right.
+ 	* cpplib.h (struct cpp_options): New member int_precision.
+ 
+ 2002-05-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
+ 
+ 2002-05-04  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h, config/sparc/linux64.h
+ 	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
+ 
+ 	* config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
+ 	more RTX codes.
+ 	* config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
+ 
+ 	* recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
+ 	of SETs.
+ 
+ 2002-05-05  Tim Josling  <tej@melbpc.org.au>
+ 
+ 	* treelang; New directory for new sample language treelang.
+ 
+ 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (c-lex.o): Update.
+ 	* c-lex.c: Include target.h.
+ 	(cb_register_builtins): New.
+ 	(init_c_lex): Set builtins callback.
+ 	* c-lex.h (cpp_define, cpp_assert): New prototypes.
+ 	* cppinit.c (init_builtins): Use callback, including for
+ 	GXX_WEAK.
+ 	* cpplib.h (struct cpp_callbacks): New member.
+ 	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
+ 	(TARGET_INITIALIZER): Update.
+ 	* target.h (struct gcc_target): New hook.
+ 	* tree.c (default_register_cpp_builtins): New.
+ 	* tree.h (default_register_cpp_builtins): New.
+ doc:
+ 	* tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
+ 
+ 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
+ 	(cpp_post_options): Move sanity checks to...
+ 	(sanity_checks): New.
+ 	* cpplex.c (maybe_read_ucs): Fix prototype.
+ 	(parse_string, cpp_parse_escape): Cast for %c format specifier.
+ 	* cpplib.h (cppchar_t): Use unsigned long or unsigned long long
+ 	if necessary.
+ 
+ 2002-05-04  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
+ 	builtins.  Use V2DI patterns instead of TI for logical operations.
+ 	(ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
+ 	Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
+ 	(ix86_expand_builtins): Change the pattern used for movntdq.
+ 	* config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
+ 	sse2_nandv2di3): New patterns.
+ 	(sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
+ 	on operands.
+ 	(sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
+ 	(cvtdq2pd): Correct mode on operand 1.
+ 	(sse2_umulsidi3): Describe without unspec.
+ 	(sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
+ 	machine modes.
+ 	(lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
+ 	(ashlv2di3): Likewise, from sse2_ashlv2di3.
+ 	(ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
+ 	ashlv4si3, ashlv2di3): Use SImode for shift count.
+ 	(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
+ 	lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
+ 	New patterns.
+ 	* config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
+ 	New typedefs.
+ 	(__m128i, __m128d): New macros.
+ 	(_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
+ 	_mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
+ 	_mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
+ 	_mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
+ 	_mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
+ 	_mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
+ 	_mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
+ 	_mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
+ 	_mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
+ 	_mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
+ 	_mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
+ 	_mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
+ 	_mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
+ 	_mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
+ 	_mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
+ 	_mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
+ 	_mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
+ 	_mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
+ 	_mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
+ 	_mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
+ 	_mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
+ 	_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
+ 	_mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
+ 	_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
+ 	_mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
+ 	_mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
+ 	_mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
+ 	_mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
+ 	_mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
+ 	_mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
+ 	_mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
+ 	_mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
+ 	_mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
+ 	_mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
+ 	_mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
+ 	_mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
+ 	_mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
+ 	functions.
+ 	(_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
+ 	_mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
+ 
+ 2002-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf2out.c: Fix formatting.
+ 	* varasm.c: Likewise.
+ 
+ 2002-05-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR c/6543
+ 	* config/rs6000/rs6000.md (sCC pattern and splitter): Remove
+ 	clobber and use result as temporary value.
+ 
+ Sat May  4 13:20:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (force_operand): Use expand_simple_* to handle more
+ 	cases.
+ 
+ 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.c (lex_string): Let cpp_parse_escape handles truncation
+ 	and sign-extension.
+ 	(lex_charconst): Update for change in prototype of
+ 	cpp_interpret_charconst.  Extend from cppchar_t to HOST_WIDE_INT
+ 	appropriately.
+ 	* cpphash.h (BITS_PER_CPPCHAR_T): New.
+ 	* cppinit.c (cpp_create_reader): Initialize them for no
+ 	change in semantics.
+ 	(cpp_post_options): Add sanity checks.
+ 	* cpplex.c (cpp_parse_escape): Handle precision, sign-extension
+ 	and truncation issues.  Calculate in type cppchar_t.
+ 	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
+ 	(cpp_interpret_charconst): Calculate in type cppchar_t.  Handle
+ 	run-time dependent precision correctly.  Return whether the
+ 	result is signed or not.
+ 	* cpplib.c (dequote_string): Use cppchar_t; update.
+ 	* cpplib.h (cppchar_signed_t): New.
+ 	struct cpp_options): New precision members.
+ 	(cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
+ 	* cppexp.c (eval_token): Update.
+ 
+ 2002-05-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc-protos.h (sparc_rtx_costs): New.
+ 	* config/sparc/sparc.c (sparc_rtx_costs): New function
+ 	implementing RTX_COSTS and CONST_COSTS.
+ 	* config/sparc/sparc.h (CONST_COSTS): Delete.
+ 	(RTX_COSTS_CASES): Define.
+ 	(RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
+ 	the work.
+ 
+ 	* config/sparc/sparc.md (DFA schedulers): Split out...
+ 	* config/sparc/cypress.md, config/sparc/hypersparc.md,
+ 	config/sparc/sparclet.md, config/sparc/supersparc.md,
+ 	config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
+ 
+ 	* config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
+ 	checks on it, always defined for SPARC.
+ 
+ 	* config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
+ 	Tweak, and add more detailed comments.
+ 
+ 2002-05-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Re-apply patch accidentally reverted with
+ 	DFA scheduler merge: remove all rules and variables to slurp
+ 	source files out of libiberty and rebuild them with HOST_CC.
+ 	($(HOST_PREFIX_1)varray.o): New rule.
+ 	(genattrtab rule): Word wrap.
+ 
+ 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
+ 	(CPP_SUBTARGET_SPEC): Define.
+ 	(SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
+ 	cpp_subtarget specs.
+ 	(CPP_SPEC): Redefine to include %(cpp_subtarget).
+ 
+ 2002-05-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
+ 	* target.h (struct gcc_target): Delete cycle_display member.
+ 
+ 	* config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
+ 	(rtx_needs_barrier): Delete reference to cycle_display unspec.
+ 	(ia64_sched_reorder2): Mention need for cycle display handling
+ 	once such notes exist.
+ 
+ 2002-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (etoasc): Strip most trailing zeros for clarity.
+ 	* sched-vis.c: Include real.h.
+ 	(print_value): Use REAL_VALUE_TO_DECIMAL as needed.
+ 	* Makefile.in (sched-vis.o): Add real.h.
+ 
+ 2002-05-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
+ 	no longer needed.
+ 
+ 2002-05-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
+ 	when we get an out of range literal.
+ 	(altivec_expand_ternop_builtin): Same.
+ 	(altivec_expand_unop_builtin): Same.
+ 	(altivec_expand_builtin): Same, for dss.
+ 	(altivec_expand_builtin): Use trees instead of rtl when
+ 	determining literal argument validity.
+ 
+ 2002-05-03  David S. Miller  <davem@redhat.com>
+ 
+ 	Delete cycle display scheduling hook.
+ 	* config/ia64/ia64.c (ia64_cycle_display,
+ 	TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
+ 	(ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
+ 	and use emit_insn_before instead of ia64_emit_insn_before.
+ 	* config/ia64/ia64.md (unspec usage): Delete cycle display.
+ 	(cycle_display): Delete insn pattern.
+ 	* config/sparc/sparc.md (unspec usage): Delete cycle display.
+ 	(cycle_display): Delete insn pattern.
+ 	* config/sparc/sparc.c (sparc_cycle_display,
+ 	TARGET_SCHED_CYCLE_DISPLAY): Delete.
+ 	* doc/md.texi (cycle_display): Don't mention.
+ 	* doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
+ 
+ 2002-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (store_data_bypass_p, if_test_bypass_p): New.
+ 	* recog.h: Declare them.
+ 
+ 	* config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
+ 	* config/sparc/sparc.md: Use store_data_bypass_p instead.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
+ 	-D__arch64__.  Add -D_LP64.
+ 	(CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
+ 	from sparc.h.
+ 	(CPP_ARCH64_SPEC): Likewise.
+ 	(NO_BUILTIN_PTRDIFF_TYPE): Undef.
+ 	(NO_BUILTIN_SIZE_TYPE): Undef.
+ 
+ 2002-05-03  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (min_issue_delay_pass_states): Change return type
+ 	in the prototype.
+ 	(min_issue_delay_pass_states): Change the algorithm.
+ 	(min_issue_delay): Set up min_insn_issue_delay for the state.
+ 	(output_min_issue_delay_table): Interchange the nested loops and
+ 	and initiate min_insn_issue_delay for states.
+ 
+ Fri May  3 22:59:15 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_optimize_cfg):  Call merge_block only when
+ 	jump is simplejump.
+ 
+ Fri May  3 22:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c  (expand_movstr, expand_clrstr): Fix inline-all-stringops
+ 	sequence.
+ 
+ 2002-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/6534
+ 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
+ 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
+ 	code before JUMP, not EARLIEST.
+ 
+ 2002-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-format.c (check_format_info_main): Don't check for presence of
+ 	parameter for * width until after operand number has been read,
+ 	and only check for it if format parameters are available.
+ 	Fixes PR c/6547.
+ 
+ 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
+ 	(LINK_SPEC): Undef before defining.
+ 
+ 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR preprocessor/6489
+ 	* tradcpp.c (fixup_newlines): New.
+ 	(main, finclude): Use it.
+ 
+ 2002-05-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
+ 	* config/mips/mips.c (mips_unique_section): Strip encoding from
+ 	decl name.
+ 
+ 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
+ 	mode.
+ 
+ 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Installing): Mention GCC 3.1 buildstats.
+ 	(Specific): Removed buildstats references.
+ 	(Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
+ 	(Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
+ 	Accomodate Solaris versions beyond 8.
+ 	(Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
+ 	(Specific, *-*-solaris2.8): Removed, obsolete.
+ 
+ 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6542
+ 	* config/sparc/sparc.h (leaf_reg_remap): Remove const.
+ 	(CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
+ 	fill leaf_reg_remap with identity.
+ 	* config/sparc/sparc.c (leaf_reg_remap): Remove const.
+ 
+ 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/crti.asm: Remove trailing spaces.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 
+ 2002-05-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
+ 	* c-decl.c (c_init_decl_processing): Use it.
+ 	* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
+ 	* config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
+ 	* config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
+ 
+ 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* regrename.c: Fix formatting.
+ 	* tree.c: Likewise.
+ 
+ Fri May  3 13:34:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (attribute memory): Handle compares properly.
+ 
+ Fri May  3 10:51:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_clrsf, sse_clrsi): Set memory attribute
+ 	to none.
+ 
+ 2002-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c: Fix formatting.
+ 
+ 2002-05-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* haifa-sched.c (schedule_insn): Print table of instructions and
+ 	reservations.
+ 	(sched_block): Do not print ready list at verbosity level 1.
+ 	* sched-vis.c (print_insn): Make global.
+ 	* sched-ebb.c (ebb_print_insn): Rename from...
+ 	(print_insn): ... this one.
+ 	* sched-int.h (print_insn): Declare
+ 
+ 2002-05-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
+ 	emitted by cycle_display.
+ 
+ 2002-05-02  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi (*-*-freebsd*): Update to latest status.
+ 
+ 2002-05-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6540
+ 	* config.gcc (sparc*-*-solaris2*): Set float_format to i128.
+ 	* config/float-sparc.h: Assume 128-bit long double if
+ 	__LONG_DOUBLE_128__ is defined.
+ 
+ 2002-05-02  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genattrtab.c (write_function_unit_info): Add a dummy element
+ 	when num_units == 0.
+ 
+ 2002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* predict.c: (propagate_freq, estimate_bb_frequencies): Use
+ 	TYPE_MODE (double_type_node) instead of DFmode.
+ 
+ Thu May  2 19:50:04 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
+ 	jumps post reload.
+ 	* toplev.c (rest_of_compilation): Revert Richard's patch.
+ 
+ 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
+ 
+ 2002-05-02  Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
+ 
+ 2002-05-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c: Fix comment typos.
+ 	* expr.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: State GNAT version requirements.
+ 
+ 2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
+ 	of the frame pointer or arg pointer register which strict register
+ 	checking is not enabled.
+ 
+ 2002-05-02  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* gcc.dg/altivec-8.c: New.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
+ 	PRE_INC and PRE_DEC for altivec modes.
+ 
+ 2002-05-01  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/check.tpl(set-writable): make sure the function exists first
+ 	* fixinc/inclhack.def(alpha_assert): fix test_text
+ 	* fixinc/tests/base/assert.h: add in missing result
+ 
+ 2002-05-01  Jeff Law  <law@redhat.com>
+ 
+ 	* pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
+ 	'T' constraint.
+ 
+ 2002-05-01  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dbxout.c (dbxout_type): Emit size information for range types,
+ 	as well, but only when using GDB extensions.
+ 
+ 2002-05-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
+ 	target-independent gnu binutils date test.
+ 
+ 2002-05-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
+ 	info before expunging the block.
+ 
+ 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
+ 	(cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
+ 	-M -or -MM is in effect.
+ 
+ 2002-05-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Correct test of --enable-obsolete.  Obsolete all
+ 	A29k configurations.
+ 	* doc/install.texi: Update to match.
+ 
+ 2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR bootstrap/6514
+ 	* varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
+ 	for duplicates. Always loop over whole list.
+ 
+ Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload.c (find_reloads, case 'p'): Set BADOP to 0.
+ 
+ 2002-05-01	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
+ 	support routines.
+ 
+ 2002-05-01	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
+ 
+ 2002-05-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
+ 	(nabs_nopower): Same.
+ 	(floatdisf2): New pattern.
+ 	(absdi2): Convert to define_insn_and_split.
+ 	(nabsdi2): Same.
+ 	(trunctfsf2): Same.
+ 	(floatditf2): Same.
+ 	(floatsitf2): Same.
+ 	(fix_trunctfdi2): Same.
+ 	(fix_trunctfsi2): Same.
+ 
+ 2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/install.texi: Update Texinfo version requirement
+ 	documentation.
+ 
+ 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6512, PR target/5628
+ 	* config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
+ 	when memory is not aligned.
+ 	(movdf_insn_v9only_vis): Likewise.
+ 	* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
+ 	temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
+ 
+ 2002-05-01  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* gcc.dg/altivec-7.c: New.
+ 
+ 	* config/rs6000/altivec.h: Cleanup.
+ 
+ 2002-04-30  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi (Option Summary): Add -mvrsave=.
+ 	(RS/6000 and PowerPC Options): Document -mvrsave=.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
+ 	(rs6000_altivec_vrsave_string): Same.
+ 	(rs6000_override_options): Call rs6000_parse_vrsave_option.
+ 	(rs6000_parse_vrsave_option): New.
+ 	(rs6000_stack_info): Only generate vrsave instructions when
+ 	TARGET_ALTIVEC_VRSAVE.
+ 
+ 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
+ 	(rs6000_altivec_vrsave_string): Define extern.
+ 	(rs6000_altivec_vrsave): Same.
+ 	(TARGET_ALTIVEC_VRSAVE): New.
+ 
+ 2002-04-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/6516
+ 	* toplev.c (rest_of_compilation): Don't run cross-jump before
+ 	bb-reorder.
+ 
+ 2002-04-30  Tom Rix  <trix@redhat.com>
+ 
+ 	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
+ 	check which_alternative.
+ 
+ 2002-04-30  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* cpplex.c: Fix comment formatting.
+ 	* function.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* regrename.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 
+ 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
+ 	hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
+ 	hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
+ 	hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
+ 	* pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
+ 	* pa/x-ada: New file.  Define ADA_CFLAGS.
+ 
+ 2002-04-30  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
+ 	from MMIX_LAST_REGISTER_FILE_REGNUM.
+ 	(NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
+ 	(struct machine_function): New member highest_saved_stack_register
+ 	previously static variable in mmix.c.
+ 	(MACHINE_DEPENDENT_REORG): Define.
+ 	* config/mmix/mmix.c (highest_saved_stack_register): Deleted.
+ 	(MMIX_OUTPUT_REGNO): New.
+ 	(mmix_target_asm_function_prologue): Move calculation of last used
+ 	saved-stack-register into...
+ 	(mmix_machine_dependent_reorg): New function.  Update to also handle
+ 	!TARGET_ABI_GNU.
+ 	(mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
+ 	register names, simplify somewhat by new variable regno.
+ 	<case 'p'>: Remove fixed FIXME.  Always emit highest used saved
+ 	register.
+ 	(mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
+ 	emitting register names.
+ 	(mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
+ 	(mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
+ 	Remove fixed FIXME.
+ 	* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
+ 	Declare.
+ 
+ 	* config/mmix/mmix.md ("divmoddi4"): Update head comment.
+ 
+ 2002-04-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (emit_soft_tfmode_libcall,
+ 	emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
+ 	emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
+ 	emit_tfmode_cvt): New.
+ 	* config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
+ 	trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
+ 	fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
+ 	addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 2002-04-30  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* install.texi (Final install): Add to the list of info to include
+ 	in a report of a successful bootstrap, and add link to 3.1 list.
+ 
+ Tue Apr 30 19:15:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
+ 	(mode): Add vector modes
+ 	(i387): Kill attribute.
+ 	(unit): New attribute.
+ 	(length_immediate): Grok new types.
+ 	(prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
+ 	(modrm): Use "unit".
+ 	(memory): Handle MMX/SSE properly.
+ 	(scheduling descriptions): Kill uses of fop1.
+ 	(sse, mmx, fp patterns): Set type and mode properly.
+ 
+ Tue Apr 30 09:31:59 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pa.c (override_options): Default to PA8000 scheduling.
+ 	* doc/invoke.texi (HP-PA options): Mention newly added 7300
+ 	scheduling parameter.
+ 
+ 	* pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
+ 	handling of double precision multiplies.
+ 
+ 	* pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
+ 	fpdiv and fpsqrt instructions.
+ 	(7200 & 7300 scheduling): Fix typo in handling of
+ 	store-load and store-store penalties.
+ 
+ 2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Use MIPS instead of Mips and
+ 	mips.  Add two missing commas.
+ 
+ 2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
+ 
+ 	* doc/contrib.texi (Contributors): Update Paolo Carlini's
+ 	and Benjamin Kosnik's entries.
+ 
+ 2002-04-29  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
+ 	SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
+ 	* config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
+ 
+ 2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* combine.c (find_split_point): Use gen_int_mode.
+ 
+ 2002-04-29  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	Merging code from dfa-branch:
+ 
+ 	2002-04-24  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_reserv_sets): Fix typo.
+ 
+ 	2002-04-23  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_reserv_sets): Remove
+ 	next_cycle_output_flag.
+ 
+ 	Thu Apr 18 08:57:06 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* sched-rgn.c (init_ready_list): Make the DFA code handle
+ 	USE/CLOBBER insns in the same way as the traditional
+ 	scheduler.
+ 	(new_ready): Similarly..
+ 
+ 	2002-04-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (schedule_block): Change the DFA state only after
+ 	issuing insn.
+ 
+ 	Wed Apr 17 15:38:36 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pa.c (hppa_use_dfa_pipeline_interface): New function.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+ 	(override_options): Add PA7300 scheduling support.
+ 	(pa_adjust_cost): Update various comments.  Properly
+ 	handle anti and output dependencies when using the
+ 	DFA scheduler.
+ 	(pa_issue_rate): Add PA7300 scheduling support.
+ 	(pa_can_combine_p): Call extract_insn before calling
+ 	constrain_operands (taken from mainline tree).
+ 	* pa.h (enum processor_type): Add PROCESSOR_PA7300.
+ 	* pa.md (cpu attr): Add 7300.  Rewrite pipeline
+ 	descriptions using DFA descriptions.  Add PA7300
+ 	scheduling support.
+ 
+ 	2002-03-30  David S. Miller  <davem@redhat.com>
+ 
+ 	Add UltraSPARC-III DFA scheduling support.
+ 	* config/sparc/sparc.md (define_attr type): Add fpcrmove.
+ 	Update FP conditional move on register insn patterns to use it, as
+ 	appropriate.
+ 	(define_attr cpu): Add ultrasparc3.
+ 	(define_attr us3load_type): New, update integer load patterns to
+ 	set it, as appropriate.
+ 	(define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
+ 	(rest): Add UltraSPARC3 scheduling description.
+ 	* config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
+ 	(PROCESSOR_ULTRASPARC3): New.
+ 	({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
+ 	({ASM,CPP}_CPU_SPEC): Likewise.
+ 	(REGISTER_MOVE_COST): Likewise.
+ 	(RTX_COSTS): Likewise.
+ 	* config/sparc/sparc.c (sparc_override_options,
+ 	sparc_initialize_trampoline, sparc64_initialize_trampoline,
+ 	sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+ 	sparc_issue_rate): Likewise.
+ 	* config/sparc/sol2.h: Likewise.
+ 	* config/sparc/sol2-sld-64.h: Likewise.
+ 	* config/sparc/linux64.h: Likewise.
+ 
+ 	2002-03-22  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* doc/md.texi: Add comments about usage the latency time for the
+ 	different dependencies and about case when two or more conditions
+ 	in different define_insn_reservations returns TRUE for an insn.
+ 
+ 	* doc/md.texi: Add reference for automaton based pipeline
+ 	description.
+ 
+ 	2002-03-04  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* doc/passes.texi: Add missed information about genattrtab.
+ 
+ 	2002-03-01  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_automata_list_transition_code): Check
+ 	automata_list on NULL.
+ 
+ 	2002-02-28  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_insn_code_cases,
+ 	output_automata_list_min_issue_delay_code,
+ 	output_automata_list_transition_code,
+ 	output_automata_list_state_alts_code): Comment the functions.
+ 
+ 	2002-02-22  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (automata_list_el_t): New typedef.
+ 	(get_free_automata_list_el,free_automata_list_el,
+ 	free_automata_list, automata_list_hash, automata_list_eq_p,
+ 	initiate_automata_lists, automata_list_start, automata_list_add,
+ 	automata_list_finish, finish_automata_lists,
+ 	output_insn_code_cases, output_automata_list_min_issue_delay_code,
+ 	output_automata_list_transition_code,
+ 	output_automata_list_state_alts_code, add_automaton_state,
+ 	form_important_insn_automata_lists): New functions and prototypes.
+ 	(insn_reserv_decl): Add members important_automata_list and
+ 	processed_p.
+ 	(ainsn): Add members important_p.
+ 	(automata_list_el): New structure.
+ 	(first_free_automata_list_el, current_automata_list,
+ 	automata_list_table): New global variables.
+ 	(create_ainsns): Initiate member important_p.
+ 	(output_internal_min_issue_delay_func): Generate the switch and
+ 	call output_insn_code_cases.
+ 	(output_internal_trans_func, output_internal_state_alts_func):
+ 	Ditto.
+ 	(generate): Call initiate_automata_lists.
+ 	(automaton_states): New global variable.
+ 	(expand_automata): Call form_important_insn_automata_lists.
+ 	(write_automata): Call finish_automata_lists.
+ 
+ 	2002-02-21  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (add_excls, add_presence_absence): Check that
+ 	cpu units in the sets belong the same automaton.
+ 
+ 	* rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
+ 	about that cpu units in the sets belong the same automaton.
+ 
+ 	* doc/md.texi: Ditto.
+ 
+ 	2001-12-20  Naveen Sharma  <naveens@noida.hcltech.com>
+ 		    Nitin Gupta  <niting@noida.hcltech.com>
+ 
+ 	* config/sh/sh.c (sh_use_dfa_interface): New function.
+ 
+ 	(sh_issue_rate): New Function.
+ 	TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
+ 	TARGET_SCHED_ISSUE_RATE: define.
+ 
+ 	* config/sh/sh.md: Add DFA based pipeline description for SH4.
+ 
+ 	(define_attr insn_class): New attribute used for DFA
+ 	 scheduling.
+ 	(define_insn cmpgtsi_t): Set attribute insn_class mt_group.
+ 	(cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
+ 	 cmpeqdi_t): Likewise.
+ 
+ 	(add,addc1,addsi3,subc,subc1,*subsi3_internal,
+ 	 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
+ 	 ex_group.
+ 	(iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
+ 
+ 	2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+ 
+ 	* haifa-sched.c (queue_to_ready): Remove unnecessary condition for
+ 	break.
+ 
+ 	2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+ 
+ 	* genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
+ 	(output_dfa_insn_code_func): Expand dfa_insn_codes if it is
+ 	necessary.
+ 	(output_dfa_start_func): Initiate new variable insn_codes_length,
+ 	(write_automata): Output definition of the new variable.
+ 
+ 	2001-10-02  David S. Miller  <davem@redhat.com>
+ 
+ 	* haifa-sched.c (advance_one_cycle): New function.
+ 	(schedule_block): Use it.
+ 	(queue_to_ready): Use it, and also make sure to advance the DFA
+ 	state on all stall cycles, not just those where insn_queue links
+ 	are found.
+ 
+ 	2001-10-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* haifa-sched.c (max_issue): Remove last_p argument.  Only return
+ 	nonzero if the highest-priority instruction could be scheduled.
+ 	(choose_ready): Remove last argument from max_issue call.
+ 
+ 	2001-09-28  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
+ 	ultrasparc and 3 for other multi-issue sparcs.
+ 
+ 	2001-09-27  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (cycle_display): New pattern.
+ 	* config/sparc/sparc.c (sparc_cycle_display): New.
+ 	(TARGET_SCHED_CYCLE_DISPLAY): Set it.
+ 
+ 	2001-09-25  David S. Miller  <davem@redhat.com>
+ 
+ 	Convert all of SPARC scheduling to DFA
+ 	* config/sparc/sparc.md: Kill all define_function_unit
+ 	directives and replace with DFA equivalent.
+ 	* config/sparc/sparc.c (ultrasparc_adjust_cost,
+ 	mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
+ 	ultra_fpmode_conflict_exists, ultra_find_type,
+ 	ultra_build_types_avail, ultra_flush_pipeline,
+ 	ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
+ 	ultrasparc_variable_issue, ultrasparc_sched_init,
+ 	sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
+ 	ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
+ 	ultra_cur_hist, ultra_cycles_elapsed): Kill.
+ 	(sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
+ 	ultrasparc_store_bypass_p): New.
+ 	* config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
+ 	Declare.
+ 
+ 	2001-09-24  David S. Miller  <davem@redhat.com>
+ 
+ 	* haifa-sched.c (ready_remove): Fix thinko, we want to copy around
+ 	ready->vec[foo] not ready[foo].
+ 
+ 	2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* doc/md.texi: Correct examples for define_insn_reservations
+ 	`mult' and `div'.
+ 
+ 	2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (create_automata): Print message about creation of
+ 	each automaton.
+ 	(generate): Remove printing meease about creation of
+ 	automata.
+ 
+ 	2001-09-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
+ 	* config/sparc/linux64.h: Likewise.
+ 
+ 	2001-08-31  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
+ 	schedule_block, sched_init, sched_finish): Add missed calls of
+ 	use_dfa_pipeline_interface.
+ 
+ 	* sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
+ 	Ditto.
+ 
+ 	* sched-vis.c (get_visual_tbl_length): Ditto.
+ 
+ 	2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genattr.c (main): Emit state_t even when not doing scheduling.
+ 
+ 	2001-08-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genautomata.c (expand_automata): Always create a description.
+ 
+ 	2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+ 
+ 	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
+ 	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
+ 	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
+ 	RTL constructions.
+ 
+ 	* genattr.c (main): New variable num_insn_reservations.  Increase
+ 	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
+ 	pipeline hazard recognizer interface.
+ 
+ 	* genattrtab.h: New file.
+ 
+ 	* genattrtab.c: Include genattrtab.h.
+ 	(attr_printf, check_attr_test, make_internal_attr,
+ 	make_numeric_value): Move protypes into genattrtab.h.  Define them
+ 	as external.
+ 	(num_dfa_decls): New global variable.
+ 	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
+ 	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
+ 	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
+ 	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
+ 
+ 	* genautomata.c: New file.
+ 
+ 	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
+ 
+ 	* sched-int.h: (curr_state): Add the external definition for
+ 	automaton pipeline interface.
+ 	(haifa_insn_data): Add comments for members blockage and units.
+ 
+ 	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
+ 	macros.
+ 	(TARGET_SCHED): Use the new macros.
+ 
+ 	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
+ 	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
+ 	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
+ 	dfa_bubble): New members in gcc_target.sched.
+ 
+ 	* haifa-sched.c (insert_schedule_bubbles_p): New variable.
+ 	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
+ 	(insn_queue): Redefine it as pointer to array.
+ 	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
+ 	INSN_QUEUE_SIZE.
+ 	(max_insn_queue_index_macro_value): New variable.
+ 	(curr_state, dfa_state_size, ready_try): New varaibles for
+ 	automaton interface.
+ 	(ready_element, ready_remove, max_issue): New function prototypes
+ 	for automaton interface.
+ 	(choose_ready): New function prototype.
+ 	(insn_unit, blockage_range): Add comments.
+ 	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
+ 	FUNCTION_UNITS_SIZE == 0.
+ 	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
+ 	actual_hazard, potential_hazard): Add comments.
+ 	(insn_cost): Use cost -1 as undefined value.  Remove
+ 	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
+ 	pipeline interface.
+ 	(ready_element, ready_remove): New functions for automaton
+ 	interface.
+ 	(schedule_insn): Add new code for automaton pipeline interface.
+ 	(queue_to_ready): Add new code for automaton pipeline interface.
+ 	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
+ 	(debug_ready_list): Print newline when the queue is empty.
+ 	(max_issue): New function for automaton pipeline interface.
+ 	(choose_ready): New function.
+ 	(schedule_block): Add new code for automaton pipeline interface.
+ 	Print ready list before scheduling each insn.
+ 	(sched_init): Add new code for automaton pipeline interface.
+ 	Initiate insn cost by -1.
+ 	(sched_finish): Free the current automaton state and finalize
+ 	automaton pipeline interface.
+ 
+ 	* sched-rgn.c: Include target.h.
+ 	(init_ready_list, new_ready, debug_dependencies): Add new code for
+ 	automaton pipeline interface.
+ 
+ 	* sched-vis.c: Include target.h.
+ 	(get_visual_tbl_length): Add code for automaton interface.
+ 	(target_units, print_block_visualization):  Add comments.
+ 
+ 	* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
+ 	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
+ 	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
+ 	(getruntime.o, genautomata.o): New entries.
+ 	(genattrtab.o): Add new dependency file genattrtab.h.
+ 	(genattrtab): Add new dependencies.  Link it with `libm.a'.
+ 	(getruntime.o, hashtab.o): New entries for canadian cross.
+ 
+ 	* doc/md.texi: Description of automaton based model.
+ 
+ 	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
+ 	Add comments.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
+ 	hook descriptions.
+ 	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
+ 	MAX_DFA_ISSUE_RATE): New macro descriptions.
+ 
+ 	* doc/contrib.texi: Add dfa based scheduler contribution.
+ 
+ 	* doc/gcc.texi: Add more information about genattrtab.
+ 
+ Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reload1.c (eliminate_regs, case SUBREG): Fix typo in
+ 	adjust_address_nv call.
+ 
+ 2002-04-29  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Testing): Provide additional information, and
+ 	a stronger encouragement, for running the testsuites.
+ 
+ 2002-04-29  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
+ 	given in upper case.
+ 
+ 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
+ 	Solaris 2 <widec.h> if missing.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/widec.h: New file.
+ 
+ 2002-04-29  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* toplev.c (f_options): Add "profile" switch so that
+ 	-fno-profile can be used to disable -p.
+ 
+ 2002-04-29  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
+ 	UV2DImode.
+ 	* tree.c (build_common_tree_nodes_2): Likewise.
+ 	* tree.h (enum tree_index): Likewise.
+ 	(V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
+ 
+ 	* config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
+ 	entries.
+ 	(init_mmx_sse_builtins): Initialize SSE2 builtins.
+ 	(ix86_expand_builtin): Add support for SSE2 builtins.
+ 	* config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
+ 	(VALID_SSE_REG_MODE): Use it.
+ 	(VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
+ 	(enum ix86_builtins): Add SSE2 builtins.
+ 	* config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
+ 	movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
+ 	addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
+ 	divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
+ 	sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
+ 	vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
+ 	vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
+ 	sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
+ 	cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
+ 	cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
+ 	cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
+ 	ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
+ 	subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
+ 	mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
+ 	sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
+ 	sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
+ 	sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
+ 	gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
+ 	ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
+ 	ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
+ 	sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
+ 	sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
+ 	sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
+ 	sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
+ 	sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
+ 	sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
+ 	lfence_insn): New patterns.
+ 	(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
+ 	sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
+ 
+ Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
+ 
+ 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add Paolo Carlini and
+ 	Janis Johnson.
+ 	Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
+ 	Refer to Objective-C instead of	ObjC, SPARC instead of sparc,
+ 	and CPU instead of cpu.
+ 
+ Mon Apr 29 13:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (flag_if_conversion, flag_if_conversion2): New static
+ 	variables.
+ 	(lang_independent_options): Add -fif-conversion, -fif-conversion2
+ 	(rest_of_compilation): Do if conversion only when asked for.
+ 	(parse_options_and_default_flags): Set new variables to 1 for -O1
+ 	* invoke.texi (-fif-conversion, -fif-conversion2): Document.
+ 
+ Mon Apr 29 13:02:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (dbx64_register_map): Fix typo.
+ 
+ Mon Apr 29 12:18:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
+ 	real_one_half, real_bb_freq_max): New static variables.
+ 	(debug_profile_bbauxs): Kill.
+ 	(process_note_predictions): Kill unused variable.
+ 	(block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
+ 	volatile double.
+ 	(propagate_freq): Use REAL_ARITHMETICS.
+ 	(estimate_bb_frequencies): Likevise; init new static variables.
+ 	* Makefile.in (predict.o): Add dependency on real.h
+ 
+ 2002-04-28  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6500
+ 	* config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
+ 	64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
+ 	several {reads,writes} instead.
+ 	* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
+ 	Define.
+ 
+ 2002-04-27  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6494
+ 	* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
+ 	of the stack bias.
+ 
+ 	* config/sparc/linux.h, config/sparc/linux64.h: Don't bother
+ 	including signal.h and sys/ucontext.h, not needed.
+ 
+ 2002-04-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* varasm.c (output_constant_def): Correct test for not calling
+ 	ENCODE_SECTION_INFO for INTEGER_CST.
+ 
+ 2002-04-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (lex): Move some code to _cpp_parse_expr, but
+ 	keep most cases as function eval_token.
+ 	(eval_token): New function.
+ 	(_cpp_parse_expr): Read token here for improved diagnostics.
+ 	Don't use op_as_text.  Detect bad ':' here.
+ 	(reduce): Don't detect bad ':' here.
+ 	(op_as_text): Remove.
+ 	* cpphash.h (_cpp_test_assertion): Change prototype.
+ 	* cpplib.c (_cpp_test_assertion): Change prototype.
+ 
+ 2002-04-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5154
+ 	* ggc-common.c (ggc_mark_rtx_children_1): Rename from...
+ 	(ggc_mark_rtx_children): New.
+ 
+ 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6496
+ 	* config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
+ 	after call peepholes for UltraSPARC.
+ 	(call + jump 64-bit peepholes): Remove.
+ 
+ 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR c/6497
+ 	* config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
+ 	result as temporary value.
+ 
+ 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/6396
+ 	* toplev.c (rest_of_compilation): Only run regrename and copy
+ 	propagation if optimizing.
+ 
+ 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/6475
+ 	* reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
+ 	register of REGNO_DECL (i).
+ 	* Makefile.in (reload1.o): Add $(TREE_H).
+ 
+ 2002-04-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (lex): Update to use state.skip_eval.
+ 	(struct op): Remove prio and flags members.
+ 	(FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
+ 	SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
+ 	(LEFT_ASSOC): New macro.
+ 	(optab): New table of operator priorities and flags.
+ 	(SHIFT): Update.
+ 	(_cpp_parse_expr): Clean up logic.  Return bool.  Use a
+ 	malloc-ed parser stack.
+ 	(reduce): New; reduce the operator stack.
+ 	(_cpp_expand_op_stack): Expand the operator stack as necessary.
+ 	* cpphash.h (struct op): Predeclare.
+ 	(struct cpp_reader): New members op_stack, op_limit.
+ 	(struct lexer_state): New member skip_eval.
+ 	(_cpp_parse_expr): Update.
+ 	(_cpp_expand_op_stack): New.
+ 	* cpplib.c (do_if): Update.
+ 	* cppinit.c (cpp_create_reader): Create op stack.
+ 	(cpp_destroy): And destroy it.
+ 	* cpplib.h (CPP_LAST_CPP_OP): Correct.
+ 	(TTYPE_TABLE): Correct.
+ 
+ 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR c/6343
+ 	* c-decl.c (duplicate_decls): Call merge_weak.
+ 	* c-pragma.c (apply_pragma_weak): Warn about misuse.
+ 	* output.h (merge_weak): Prototype merge_weak.
+ 	* varasm.c (merge_weak): New function.
+ 	(declare_weak): Make sure we don't give an error on VAR_DECLs.
+ 	Mark RTL with SYMBOL_REF_WEAK.
+ 
+ 2002-04-27  Kurt Garloff <garloff@suse.de>
+ 
+ 	* tree-inline.c (inlinable_function_p): Improve heuristics
+ 	by using a smoother function to cut down allowable inlinable size.
+ 	* param.def: Add parameters max-inline-insns-single,
+ 	max-inline-slope, min-inline-insns that determine the exact
+ 	shape of the above function.
+ 	* param.h: Likewise.
+ 
+ 2002-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (malloced_yyss, malloced_yyvs): New.
+ 	(yyoverflow): Re-add.  Set them.
+ 	(free_parser_stacks): New.
+ 	* c-common.h: Declare it.
+ 	* c-lex.c (c_common_parse_file): Call it.
+ 
+ 2002-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
+ 	for fallthru search.
+ 
+ 2002-04-26  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR optimization/3700
+ 	* config/mips/mips.c (mips_issue_rate): Define.  New function.
+ 	(TARGET_SCHED_ISSUE_RATE): Use.
+ 
+ 2002-04-25  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6422
+ 	* reorg.c (optimize_skip): Do not allow exception causing
+ 	instructions to be considered for delay slots.
+ 	(fill_simply_delay_slots, fill_slots_from_thread): Likewise.
+ 	(relax_delay_slots): Do not try to consider exception causing
+ 	instructions as redundant.
+ 
+ 2002-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5225
+ 	* c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
+ 
+ 2002-04-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR bootstrap/6445
+ 	* config/i386/i386.md (untyped_call): Return the value in a float
+ 	register if TARGET_FLOAT_RETURNS_IN_80387, not just if
+ 	TARGET_80387.
+ 
+ 2002-04-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree.c (tree_int_cst_lt): Compare constants whose types differ
+ 	in unsigned-ness correctly.
+ 
+ 2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
+ 	portable runtime model.
+ 
+ 2002-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (yyoverflow): Revert.
+ 
+ 2002-04-26  David Edelsohn  <edelsohn@gnu.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
+ 	result as temporary value.
+ 
+ 2002-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/3581
+ 	* c-common.c (fix_string_type): Split out of ...
+ 	(combine_strings): ... here.  Take a varray, not a tree list.
+ 	(c_expand_builtin_printf): Use fix_string_type.
+ 	* c-common.h: Update decls.
+ 	* c-parse.in (string): Remove.  Update all uses to use STRING
+ 	instead, and not call combine_strings.
+ 	(yylexstring): New.
+ 	(_yylex): Use it.
+ 	* c-typeck.c (simple_asm_stmt): Don't call combine_strings.
+ 	(build_asm_stmt): Likewise.
+ 	* objc/objc-act.c (my_build_string): Use fix_string_type.
+ 	(build_objc_string_object): Build varray for combine_strings.
+ 
+ 2002-04-26  Bo Thorsen  <bo@suse.co.uk>
+ 
+ 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
+ 	x86-64.
+ 
+ 2002-04-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
+ 	(HAVE_NO_R_OPERAND): Remove.
+ 	(HAVE_VALUE): Remove.
+ 	(op_to_prio): Update.
+ 	(UNARY): Don't alter flags.
+ 	(_cpp_parse_expr): want_value used to indicate whether
+ 	a number or unary operator is expected next.  Distinguish
+ 	unary and binary +/-.
+ 	(op_as_text): Update for unary operators.
+ 
+ 2002-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/2161
+ 	* c-parse.in (yyoverflow): New.
+ 
+ 2002-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/2098
+ 	* c-common.c (shorten_compare): Simplfy conditions leading to
+ 	the generation of a warning.
+ 
+ 2002-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/2035
+ 	* expmed.c (extract_bit_field): Fall through to generic code rather
+ 	than aborting on subreg special case.
+ 
+ 2002-04-25  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
+ 	for DECL being NULL.
+ 
+ 2002-04-25  Steve Christiansen  <smc@us.ibm.com>
+ 
+ 	* doc/md.texi (Machine Constraints): Add IA-64 constraints.
+ 
+ 2002-04-25  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	* c-decl.c (grokdeclarator): Remove outdated ??? note
+ 	on invalid declaration of flexible array members.
+ 
+ 2002-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
+ 
+ 2002-04-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_epilogue): Always restore registers
+ 	needed by the compiler, even if they are used as global regs.
+ 
+ 2002-04-25  Matt Hiller  <hiller@redhat.com>
+ 
+ 	* mips.c (mips_class_max_nregs, mips_register_move_cost): New
+ 	functions.
+ 	* mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
+ 	of the corresponding functions.
+ 	* mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
+ 	New prototypes.
+ 
+ 2002-04-25  Matt Hiller  <hiller@redhat.com>
+ 
+ 	* config/mips/mips.h (mips_sw_reg_names): Declare as extern.
+ 
+ 	(ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
+ 	(FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
+ 	registers, adjust comment accordingly.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ 	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
+ 	DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
+ 	for coprocessor registers.
+ 	(ADDITIONAL_REGISTER_NAMES): Include
+ 	ALL_COP_ADDITIONAL_REGISTER_NAMES.
+ 
+ 	(COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
+ 	COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
+ 	COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
+ 	COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
+ 	COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
+ 
+ 	(mips_char_to_class): Adjust comment to include coprocessor
+ 	constraint letters.
+ 
+ 	* config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
+ 	New functions.
+ 	(mips_reg_names, mips_regno_to_class): Include coprocessor
+ 	information.
+ 	(mips_sw_reg_names): Ditto, make non-static.
+ 	(mips_move_1word): Handle moves to and from coprocessor registers.
+ 	(mips_move_2words): Handle moves to and from coprocessor
+ 	registers.
+ 	(mips_class_max_nregs, mips_register_move_cost): Handle
+ 	coprocessor register classes.
+ 	(override_options): Initialize mips_char_to_class and
+ 	mips_hard_regno_mode_ok properly for coprocessor registers.
+ 
+ 	* config/mips/mips.md (movdi_internal, movdi_internal2,
+ 	movsi_internal1, movsi_internal2): Add constraint-sets for
+ 	coprocessor registers.
+ 	* testsuite/gcc.c-torture/mipscop-1.c: New testcase.
+ 	* testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
+ 	isn't mips.
+ 	* testsuite/gcc.c-torture/mipscop-2.c: New testcase.
+ 	* testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
+ 	isn't mips.
+ 	* testsuite/gcc.c-torture/mipscop-3.c: New testcase.
+ 	* testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
+ 	isn't mips.
+ 	* testsuite/gcc.c-torture/mipscop-4.c: New testcase.
+ 	* testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
+ 	isn't mips.
+ 
+ 	* doc/tm.texi: Document feature.
+ 
+ 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* integrate.c (function_attribute_inlinable_p): Simplify.
+ 	Check the table pointer is not NULL.
+ 
+ 2002-04-25  Steven Bosscher  <S.Bosscher@student.tudelft.nl>
+ 
+ 	* doc/c-tree.texi: Fix typo in introduction.
+ 
+ 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.h (c_common_parse_file): Update.
+ 	* c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+ 	* c-lex.c (YYDEBUG): Get from c-lex.h.
+ 	(c_common_parse_file): Update.
+ 	* c-lex.h (YYDEBUG, yydebug): New.
+ 	* c-parse.in (YYDEBUG): Get from c-lex.h.
+ 	(c_set_yydebug): Remove.
+ 	* c-tree.h (c_set_yydebug): Remove.
+ 	* langhooks-def.h (lhd_do_nothing_i): New.
+ 	(lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
+ 	(LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c  (lhd_do_nothing_i): New.
+ 	(lhd_set_yydebug): Remove.
+ 	* langhooks.h (struct lang_hooks): Update.
+ 	* toplev.c (set_yydebug): New.
+ 	(compile_file): Update call to parse_file hook.
+ 	(decode_d_option): Update.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
+ 
+ Wed Apr 24 23:45:37 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* loop.c (load_mems): Don't change the interface of called functions.
+ 
+ 	* calls.c (expand_call): Take current_function_pretend_args_size
+ 	into account when setting argblock for sibcalls.
+ 
+ 2002-04-24  Matt Hiller  <hiller@redhat.com>
+ 
+ 	* cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
+ 	* c-lex.c: Ditto.
+ 
+ 	* cpplex.c (skip_line_comment): Process comment one multibyte
+ 	character at a time rather than one char at a time, if
+ 	appropriate.
+ 	(parse_string): Process string one multibyte character at a time
+ 	rather than one char at a time, if appropriate.
+ 	* c-lex.c (lex_string): Lex and copy multibyte strings
+ 	appropriately.
+ 	* cpplib.h (cppchar_t): Change to unsigned.
+ 
+ 2002-04-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/3467
+ 	* c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
+ 	for c99.
+ 
+ Wed Apr 24 21:51:54 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_va_arg): If argument was passed by reference,
+ 	dereference the pointer.
+ 
+ 	* sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
+ 
+ 	* sh.md (divsi3_i4_media): Use match_operand for input values
+ 	rather than hard registers.
+ 	(divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
+ 	unnecessarily through hard registers.  Keep copies of pseudo
+ 	registers outside of the libcall sequence.
+ 
+ 	* sh.md (casesi_shift_media): Add modes.
+ 
+ 	* sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
+ 	values in memory.
+ 
+ 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* attribs.c (c_common_attribute_table): Move table and handlers
+ 	to c-common.c.
+ 	(format_attribute_table, lang_attribute_table,
+ 	lang_attribute_common): Remove.
+ 	(init_attributes): Replace NULL pointers with pointers to the
+ 	empty table.
+ 	(handle_packed_attribute, handle_nocommon_attribute,
+ 	handle_common_attribute, handle_noreturn_attribute,
+ 	handle_noinline_attribute, handle_always_inline_attribute,
+ 	handle_used_attribute, handle_unused_attribute,
+ 	handle_const_attribute, handle_transparent_union_attribute,
+ 	handle_constructor_attribute, handle_destructor_attribute,
+ 	handle_mode_attribute, handle_section_attribute,
+ 	handle_aligned_attribute, handle_weak_attribute,
+ 	handle_alias_attribute, handle_visibility_attribute,
+ 	handle_no_instrument_function_attribute, handle_malloc_attribute,
+ 	handle_no_limit_stack_attribute, handle_pure_attribute,
+ 	handle_deprecated_attribute, handle_vector_size_attribute,
+ 	vector_size_helper): Move to c-common.c.
+ 	* c-common.c (c_common_attribute_table,
+ 	handle_packed_attribute, handle_nocommon_attribute,
+ 	handle_common_attribute, handle_noreturn_attribute,
+ 	handle_noinline_attribute, handle_always_inline_attribute,
+ 	handle_used_attribute, handle_unused_attribute,
+ 	handle_const_attribute, handle_transparent_union_attribute,
+ 	handle_constructor_attribute, handle_destructor_attribute,
+ 	handle_mode_attribute, handle_section_attribute,
+ 	handle_aligned_attribute, handle_weak_attribute,
+ 	handle_alias_attribute, handle_visibility_attribute,
+ 	handle_no_instrument_function_attribute, handle_malloc_attribute,
+ 	handle_no_limit_stack_attribute, handle_pure_attribute,
+ 	handle_deprecated_attribute, handle_vector_size_attribute,
+ 	vector_size_helper): Move from attribs.c.
+ 	* c-common.h (c_common_attribute_table,
+ 	c_common_format_attribute_table): New.
+ 	* c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ 	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+ 	* langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
+ 	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): 3 new attribute hooks.
+ 	* target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
+ 	* target.h: Update comment.
+ 	* tree.c (default_target_attribute_table): Remove.
+ 	* tree.h (default_target_attribute_table, format_attribute_table,
+ 	lang_attribute_table, lang_attribute_common): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
+ 	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
+ 
+ 2002-04-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
+ 	* dwarf2out.c (dwarf_attr_name): Support it.
+ 	(gen_array_type_die): Emit it.
+ 	(lookup_type_die): No special handling for VECTOR_TYPE.
+ 	(gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
+ 
+ 2002-04-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.md (movdi_usd): Renumber.
+ 
+ 2002-04-24  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6420
+ 	* config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
+ 	32-bit SPARC and current_function_returns_struct is true.
+ 
+ Wed Apr 24 13:48:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (canonicalize_condition): Use gen_int_mode.
+ 
+ 2002-04-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Cleanup file.  Add non individual
+ 	variants.
+ 	(vec_vaddubm): New.
+ 	(vec_vadduhm): New.
+ 	(vec_vadduwm): New.
+ 	(vec_vaddfp): New.
+ 	(vec_vaddcuw): New.
+ 	(vec_vaddubs): New.
+ 	(vec_vaddsbs): New.
+ 	(vec_vadduhs): New.
+ 	(vec_vadduws): New.
+ 	(vec_vaddsws): New.
+ 	(vec_vand): New.
+ 	(vec_vandc): New.
+ 	(vec_vavgub): New.
+ 	(vec_vavgsb): New.
+ 	(vec_vavguh): New.
+ 	(vec_vavgsh): New.
+ 	(vec_vavguw): New.
+ 	(vec_vavgsw): New.
+ 	(vec_vrfip): New.
+ 	(vec_vcmpbfp): New.
+ 	(vec_vcmpequb): New.
+ 	(vec_vcmpequh): New.
+ 	(vec_vcmpequw): New.
+ 	(vec_vcmpeqfp): New.
+ 	(vec_vcmpgefp): New.
+ 	(vec_vcmpgtub): New.
+ 	(vec_vcmpgtsb): New.
+ 	(vec_vcmpgtuh): New.
+ 	(vec_vcmpgtsh): New.
+ 	(vec_vcmpgtuw): New.
+ 	(vec_vcmpgtsw): New.
+ 	(vec_vcmpgtfp): New.
+ 	(vec_vcmpgefp): New.
+ 	(vec_vcfux): New.
+ 	(vec_vcfsx): New.
+ 	(vec_vctsxs): New.
+ 	(vec_vctuxs): New.
+ 	(vec_vexptefp): New.
+ 	(vec_vrfim): New.
+ 	(vec_lvx): New.
+ 	(vec_lvebx): New.
+ 	(vec_lvehx): New.
+ 	(vec_lde): Add vector float variant.
+ 	(vec_lvewx): New.
+ 	(vec_lvxl): New.
+ 	(vec_vlogefp): New.
+ 	(vec_vmaddfp): New.
+ 	(vec_vmhaddshs): New.
+ 	(vec_vmaxub): New.
+ 	(vec_vmaxsb): New.
+ 	(vec_vmaxuh): New.
+ 	(vec_vmaxsh): New.
+ 	(vec_vmaxuw): New.
+ 	(vec_vmaxsw): New.
+ 	(vec_vmaxsw): New.
+ 	(vec_vmaxfp): New.
+ 	(vec_vmrghb): New.
+ 	(vec_vmrghh): New.
+ 	(vec_vmrghw): New.
+ 	(vec_vmrglb): New.
+ 	(vec_vmrglh): New.
+ 	(vec_vmrglw): New.
+ 	(vec_vminub): New.
+ 	(vec_vminsb): New.
+ 	(vec_vminuh): New.
+ 	(vec_vminsh): New.
+ 	(vec_vminuw): New.
+ 	(vec_vminsw): New.
+ 	(vec_vminfp): New.
+ 	(vec_vmladduhm): New.
+ 	(vec_vmhraddshs): New.
+ 	(vec_msumubm): New.
+ 	(vec_vmsummbm): New.
+ 	(vec_vmsumuhm): New.
+ 	(vec_vmsumshm): New.
+ 	(vec_vmsumuhs): New.
+ 	(vec_vmsumshs): New.
+ 	(vec_vmuleub): New.
+ 	(vec_vmulesb): New.
+ 	(vec_vmuleuh): New.
+ 	(vec_vmulesh): New.
+ 	(vec_vmuloub): New.
+ 	(vec_mulosb): New.
+ 	(vec_vmulouh): New.
+ 	(vec_vmulosh): New.
+ 	(vec_vnmsubfp): New.
+ 	(vec_vnor): New.
+ 	(vec_vor): New.
+ 	(vec_vpkuhum): New.
+ 	(vec_vpkuwum): New.
+ 	(vec_vpkpx): New.
+ 	(vec_vpkuhus): New.
+ 	(vec_vpkshss): New.
+ 	(vec_vpkuwus): New.
+ 	(vec_vpkswss): New.
+ 	(vec_vpkshus): New.
+ 	(vec_vpkswus): New.
+ 	(vec_vperm): New.
+ 	(vec_vrefp): New.
+ 	(vec_vrlb): New.
+ 	(vec_vrlh): New.
+ 	(vec_vrlw): New.
+ 	(vec_vrfin): New.
+ 	(vec_vrsqrtefp): New.
+ 	(vec_vsel): New.
+ 	(vec_vslb): New.
+ 	(vec_vslh): New.
+ 	(vec_vslw): New.
+ 	(vec_vsldoi): New.
+ 	(vec_vsl): New.
+ 	(vec_vslo): New.
+ 	(vec_vspltb): New.
+ 	(vec_vsplth): New.
+ 	(vec_vspltw): New.
+ 	(vec_vspltisb): New.
+ 	(vec_vspltish): New.
+ 	(vec_vspltisw): New.
+ 	(vec_vsrb): New.
+ 	(vec_vsrh): New.
+ 	(vec_vsrw): New.
+ 	(vec_vsrab): New.
+ 	(vec_vsrah): New.
+ 	(vec_vsraw): New.
+ 	(vec_vsr): New.
+ 	(vec_vsro): New.
+ 	(vec_stvx): New.
+ 	(vec_stvebx): New.
+ 	(vec_stvehx): New.
+ 	(vec_stvewx): New.
+ 	(vec_stvxl): New.
+ 	(vec_vsububm): New.
+ 	(vec_vsubuhm): New.
+ 	(vec_vsubuwm): New.
+ 	(vec_vsubfp): New.
+ 	(vec_vsubcuw): New.
+ 	(vec_vsububs): New.
+ 	(vec_vsubsbs): New.
+ 	(vec_vsubuhs): New.
+ 	(vec_vsubshs): New.
+ 	(vec_vsubuws): New.
+ 	(vec_vsubsws): New.
+ 	(vec_vsum4ubs): New.
+ 	(vec_vsum4sbs): New.
+ 	(vec_vsum4shs): New.
+ 	(vec_vsum2sws): New.
+ 	(vec_vsumsws): New.
+ 	(vec_vrfiz): New.
+ 	(vec_vupkhsb): New.
+ 	(vec_vupkhpx): New.
+ 	(vec_vupkhsh): New.
+ 	(vec_vupklsb): New.
+ 	(vec_vupklpx): New.
+ 	(vec_vupklsh): New.
+ 	(vec_vxor): New.
+ 
+ 2002-04-23  Eric Botcazou  <ebotcazou@multimania.com>
+ 
+ 	PR c/5430
+ 	* fold-const.c (split_tree): Add MINUS_LITP parameter; separate
+ 	added literals from substracted literals.
+ 	(associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
+ 	(fold) [associate]: Preserve MINUS_EXPR if needed.
+ 
+ 2002-04-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/install.texi: Clarify which versions of alpha*-dec-osf*
+ 	are obsoleted.
+ 
+ 2002-04-23  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* gcc.c: Added --resource.  For PR java/6314.
+ 
+ 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
+ 	* config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
+ 	these libraries.
+ 
+ 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd.h(OBJECT_FORMAT_ELF): Define.
+ 
+ Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
+ 	workaround.
+ 	(ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
+ 	(ix86_expand_clrstr): Fix typo.
+ 	* loop.c (gen_load_of_final_value): New.
+ 	(loop_givs_rescan, strength_reduce, check_dbra_loop):
+ 	Use it.
+ 
+ 2002-04-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (builtin_memset_gen_str): New function.
+ 	(expand_builtin_memset): Optimize the case of constant length, but
+ 	unknown value.
+ 
+ 2002-04-23  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_step): Remove extraneous
+ 	parentheses.
+ 	(vec_ctu): Cast return.
+ 
+ 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/6413
+ 	* function.h: (struct function): Add profile_label_no field.
+ 	(current_function_profile_label_no): Define.
+ 	* function.c: (profile_label_no): New static var.
+ 	(expand_function_start): Increment it, and copy to
+ 	current_function_profile_label_no.
+ 	* output.h (profile_label_no): Delete.
+ 	* final.c (profile_label_no): Delete.
+ 	(profile_function): Use current_function_profile_label_no.
+ 	(final_end_function): Don't increment profile_label_no here.
+ 	* config/i386/i386.c (ix86_osf_output_function_prologue): Replace
+ 	profile_label_no with current_function_profile_label_no.
+ 	* config/pa/pa.c (current_function_number): Delete.
+ 	(pa_output_function_prologue): Don't output profile label here.
+ 	(hppa_profile_hook): Use label_no param rather than
+ 	current_function_number.
+ 	(FUNC_BEGIN_PROLOG_LABEL): Move to ..
+ 	* config/pa/pa.h: .. here.
+ 	(FUNCTION_PROFILER): Output profile label here.
+ 
+ 2002-04-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
+ 	patch of 2002-04-09 due to binutils issues.
+ 	(FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
+ 
+ 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
+ 	constraint to 'o' for m=r and r=m alternatives.
+ 	("*movv8hi_internal1"): Same.
+ 	("*movv16qi_internal1"): Same.
+ 	("*movv4sf_internal1"): Same.
+ 
+ 2002-04-22  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rtl.h (RTX_FLAG): New macro.
+ 	* emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
+ 	* final.c (alter_subreg): Use macro to access rtx flag.
+ 	* integrate.c (copy_rtx_and_substitute): Use new access macro.
+ 	* print-rtl.c (print_rtx): Use new access macro.
+ 
+ 	* cse.c (insert): Check rtx code before accessing flag.
+ 
+ 	* genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
+ 	ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
+ 	(attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
+ 	convert_const_symbol_ref, make_canonical, make_alternative_compare,
+ 	evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
+ 	simplify_test_exp, optimize_attrs, simplify_by_exploding,
+ 	find_and_mark_used_attributes, unmark_used_attributes,
+ 	add_values_to_cover, simplify_with_current_value,
+ 	simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
+ 	copy_rtx_unchanging, main): Use new access macros.
+ 
+ 2002-04-22  Tom Rix  <trix@redhat.com>
+ 
+ 	* expmed.c (init_expmed): Generate shifted constant once.
+ 
+ 2002-04-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-lex.c (lex_charconst): Call convert to get constant in
+ 	proper type; don't just smash the type field.
+ 	Fixes PR c/6300.
+ 
+ 	* config.gcc: Add list of obsolete configurations.  Disallow
+ 	building these without --enable-obsolete.
+ 	* doc/install.texi: Document --enable-obsolete and obsoletion
+ 	policy.  Mention obsoletion of individual targets in
+ 	appropriate places.
+ 
+ 2002-04-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
+ 
+ 2002-04-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR f/6138.
+ 	* function.c (fixup_memory_subreg): Add promoted_mode parameter.
+ 	(walk_fixup_memory_subreg): Likewise.
+ 	(fixup_var_refs_insn): Adjust accordingly.
+ 	(fixup_var_refs_1): Likewise.
+ 
+ 2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
+ 	LIBPATH_ARCH64_SPEC): Define.
+ 	(EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
+ 	(LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
+ 	(LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
+ 
+ 2002-04-22	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* gthr-rtems.h: Correct prototypes to remove warnings.
+ 
+ 2002-04-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/6344
+ 	* alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
+ 
+ 	* gcse.c (free_insn_expr_list_list): New.
+ 	(clear_modify_mem_tables): Use it.  Fix bit set usage.
+ 	(canon_list_insert): Use EXPR_LISTs for expressions.
+ 	(record_last_mem_set_info): Factor BLOCK_NUM (insn).
+ 
+ 2002-04-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppfiles.c (_cpp_pop_file_buffer): Return void.  Move
+ 	file change and include code to _cpp_pop_buffer.
+ 	* cpphash.h (struct pending_option): Predeclare.
+ 	(struct cpp_reader): New member next_include_file.
+ 	(_cpp_pop_file_buffer): Update.
+ 	(_cpp_push_next_buffer): Update, rename.
+ 	* cppinit.c (cpp_destroy): Free include chain and pending here.
+ 	(cpp_finish_options): Simplify.
+ 	(_cpp_push_next_buffer): Rename and clean up.
+ 	* cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
+ 	Clarify.
+ 	* cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
+ 
+ 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_xor): Add variant for both args
+ 	being vector signed int.
+ 	(vec_andc): Same.
+ 	(vec_xor): Add variant for both args being vector signed char.
+ 	Remove redundant variant.
+ 	(vec_andc): Same.
+ 
+ 2002-04-21  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (set then compare DI mode peephole2): Fix
+ 	compare mode in output RTL.
+ 
+ 2002-04-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Correct
+ 	style and formatting of previous patch.
+ 
+ 2002-04-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Always clear
+ 	flag_pic for ABI_AIX.
+ 
+ 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
+ 	* cppfiles.c (read_include_file): Similarly.
+ 	* cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
+ 	uxstrdup ustrchr, ufputs): Similarly.
+ 	* cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
+ 	* cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
+ 	cpp_ideq, parse_identifier, parse_number): Similarly.
+ 	* cpplib.c (struct directive, dequote_string, D, run_directive,
+ 	cpp_push_buffer): Similarly.
+ 	* cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
+ 	_cpp_create_definition, check_trad_stringification,
+ 	cpp_macro_definition): Similarly.
+ 
+ 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c (funlike_invocation_p): Don't step back
+ 	over CPP_EOF.
+ 
+ 2002-04-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (output_profile_hook): Do not increment
+ 	labelno.
+ 
+ 2002-04-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/invoke.texi: Remove Chill references.
+ 	* doc/gcc.texi: Update last modified date.
+ 
+ 2002-04-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
+ 	push and pop.  Replace add.l with add.w.
+ 
+ 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/h8300/lib1funcs.asm (___mulsi3): Use hardware
+ 	multiply instructions for H8/300H case.
+ 
+ 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
+ 
+ 	* config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
+ 	Bum three instructions from each routine.
+ 
+ 2002-04-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* decl.c (push_c_function_context, pop_c_function_context,
+ 	mark_c_function_context): Rename for consistency.
+ 	* c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
+ 	* c-tree.h (push_c_function_context, pop_c_function_context,
+ 	mark_c_function_context): Rename for consistency.
+ 	* c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
+ 	* function.c (init_lang_status, save_lang_status,
+ 	restore_lang_status, mark_lang_status, free_lang_status):
+ 	Move to langhooks.h.
+ 	(push_function_context_to, pop_function_context_from,
+ 	free_after_parsing, prepare_function_start, ggc_mark_struct_function):
+ 	Update.
+ 	* function.h (init_lang_status, save_lang_status,
+ 	restore_lang_status, mark_lang_status, free_lang_status):
+ 	Move to langhooks.h.
+ 	* langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
+ 	LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
+ 	LANG_HOOKS_FUNCTION_INITIALIZER): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	(lhd_do_nothing_f): New.
+ 	* langhooks.h (struct lang_hooks_for_functions): New.
+ 	(struct lang_hooks): New hooks.
+ 	* langhooks.c (lhd_do_nothing_f): New.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
+ 
+ 2002-04-19  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 	* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
+ 
+ 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/3756
+ 	* config/i386/i386.c (ix86_expand_int_movcc): Optimize
+ 	x = ((int) y < 0) ? cst1 : cst2.
+ 
+ 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6358
+ 	* function.c: Reapply patch for c/6358.
+ 	(expand_function_end): Copy decl_rtl's mode, not
+ 	current_function_return_rtx mode.
+ 
+ 2002-04-19  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	* config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
+ 	targets.
+ 
+ 2002-04-19  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/install.texi (Specific): Update status of Solaris 2.8.
+ 	For PR libgcj/6158.
+ 
+ 2002-04-19  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
+ 	(PUT_REAL): Restore old definition.
+ 
+ 2002-04-19  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
+ 	binutils 2.11.2 and higher generate smaller binaries than Sun's
+ 	native tools.
+ 
+ 2002-04-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/6352
+ 	* toplev.c (rest_of_compilation): Do not defer functions for which
+ 	TREE_SYMBOL_REFERENCED has already been set.
+ 
+ Fri Apr 19 15:53:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsi_1, movhi_1): Force reload to use more flexible
+ 	alternative.
+ 
+ 2002-04-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* builtins.c: Include langhooks.h.
+ 	(lang_type_promotes_to): Remove.
+ 	(expand_builtin_va_arg): Use new hook.
+ 	* c-common.c (c_common_nodes_and_builtins): Don't set hook.
+ 	(simple_type_promotes_to): Move to c-typeck.c.
+ 	* c-common.h (simple_type_promotes_to): Remove.
+ 	* c-decl.c (duplicate_decls, grokdeclarator): Update.
+ 	* c-format.c: Include langhooks.h.
+ 	(check_format_types): Update.
+ 	* c-tree.h (c_type_promotes_to): New.
+ 	* c-typeck.c (c_type_promotes_to): Move from c-common.c.
+ 	(type_lists_compatible_p): Update.
+ 	* langhooks-def.h (lhd_type_promotes_to): New.
+ 	(LANG_HOOKS_TYPE_PROMOTES_TO): New.
+ 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+ 	* langhooks.c (lhd_type_promotes_to): New.
+ 	* langhooks.h (struct lang_hooks_for_types): New hook.
+ 	* tree.h (lang_type_promotes_to): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
+ 
+ 2002-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c: Revert patch for c/6358.
+ 
+ 2002-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
+ 	blocks.  Handle multiple references to the TRAP block.  Handle
+ 	non-adjacent THEN and OTHER blocks.
+ 
+ 2002-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
+ 	crash with no type for by-mode libcalls.
+ 
+ 	* config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
+ 
+ 2002-04-18  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
+ 	__xtensa_nonlocal_goto): Use a syscall instructions to flush
+ 	the register windows.
+ 
+ 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
+ 	appropriate.  Document need for extended precision even when
+ 	MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
+ 	based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
+ 	REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
+ 	instead of relying on later syntax error when REAL_WIDTH > 5.
+ 	* real.c: Define NE based only on whether or not we have a
+ 	full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
+ 	Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
+ 	define GET_REAL and PUT_REAL as simple memcpy operations; no
+ 	need to byteswap or round.
+ 	Use #error instead of #ifdef-ing out the entire file, for
+ 	prompt error detection.
+ 
+ 	* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
+ 
+ 2002-04-18  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.h (BRANCH_COST): Define.
+ 
+ 	* fold-const.c (BRANCH_COST): Don't provide default here, expr.h
+ 	does it.
+ 
+ 2002-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* flow.c (update_life_info): Ignore return value of cleanup_cfg.
+ 	Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
+ 	propagate_block calls after relaxation loop using new variable
+ 	stabilized_prop_flags.
+ 
+ 2002-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
+ 	(ia64_va_arg): Expect variable sized types by reference.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
+ 	ia64_function_arg_pass_by_reference.
+ 
+ 2002-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c: Include except.h.
+ 	(block_has_only_trap): Break out from find_cond_trap.
+ 	(find_cond_trap): Use it.  Always delete the trap block.
+ 	(merge_if_block): Allow then block null.  Be less simplistic about
+ 	what insns can end a block.
+ 	* Makefile.in (ifcvt.o): Depend on except.h.
+ 
+ 	* config/ia64/ia64.md (trap, conditional_trap): New.
+ 
+ 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6358
+ 	* function.c (assign_parms): Assign hard current_function_return_rtx
+ 	register here...
+ 	(expand_function_end): ...not here.
+ 
+ 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
+ 	* c-tree.h (c_incomplete_type_error): New.
+ 	* c-typeck.c (require_complete_type, build_component_ref): Update.
+ 	(incomplete_type_error): Rename.
+ 	* langhooks-def.h (lhd_incomplete_type_error): New.
+ 	(LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
+ 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+ 	* langhooks.c (lhd_incomplete_type_error): New.
+ 	* langhooks.h (struct lang_hooks_for_types): New hook.
+ 	* tree.c (size_in_bytes): Use new hook.
+ 	* tree.h (incomplete_type_error): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
+ 
+ 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
+ 	TARGET_FLOAT_FORMAT blocks.
+ 
+ 2002-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Downloading the source): Do not mention Chill
+ 	any longer, but mention Ada.
+ 	(Configuration): Do not mention Chill any longer.
+ 
+ 2002-04-18  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (TARGET_VERSION): Remove local version number.
+ 
+ Thu Apr 18 17:14:08 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
+ 	in last patch.
+ 
+ 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
+ 	instead of unsigned_type.
+ 
+ Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
+ 	* i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
+ 	later.
+ 
+ 2002-04-18  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* attribs.c (vector_type_node_list): New static variable.
+ 	(handle_vector_size_attribute): Use it to avoid generating a
+ 	new type node each time we are called.
+ 
+ 	* combine.c (subst): Avoid trying to make a vector mode subreg of
+ 	an integer constant.
+ 	(gen_lowpart_for_combine): Likewise.
+ 
+ 2002-04-18  Roger Sayle  <roger@eyesopen.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
+ 	for integer constant c (if x has unsigned type or sign bit is not
+ 	set in c).  This folds the zero/sign extension into the bit-wise and
+ 	operation.
+ 
+ 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/6205
+ 	* config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
+ 	otherwise xorps.
+ 
+ 2002-04-17  NIIBE Yutaka  <gniibe@m17n.org>
+ 
+ 	* config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
+ 
+ 2002-04-17  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* gcc.c (read_specs): Detect and fail if an attempt is made to
+ 	rename a spec string to an already existing string.
+ 
+ 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimize_pic_address): Do not generate
+ 	illegal address constant without CONST.
+ 
+ 2002-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
+ 	* sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
+ 
+ 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR optimization/6305
+ 	* config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
+ 	to make sure previous reloads are taken into account.  Generate
+ 	better code if one operand is an in-range immediate constant.
+ 
+ 2002-04-16  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* doc/install.texi (Building): libgcj requires GNU make.
+ 
+ 2002-04-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR bootstrap/6315
+ 	* config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
+ 	even if hard quad and register is not floating.
+ 	(movtf reg<-mem split): Disallow splitting if hard quad and
+ 	register is floating.
+ 	(movtf mem<-reg split): Likewise.
+ 	* config/sparc/sparc.c (fp_register_operand): New predicate.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
+ 
+ 2002-04-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (PROTO_OBJS): Add cppdefault.o.
+ 	(protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
+ 	(unprotoize.o): Ditto.  Build from protoize.c.  Define
+ 	UNPROTOIZE on command line.
+ 	* protoize.c: Include cppdefault.h.  Delete include_defaults.
+ 	(in_system_include_dir): Use cpp_include_defaults (defined in
+ 	cppdefault.o).
+ 	* unprotoize.c: Delete file.
+ 
+ 2002-04-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_ld): Add array variants.
+ 	(vec_lde): Same.
+ 	(vec_ldl): Same.
+ 
+ 2002-04-17  Alan Matsuoka  <alanm@redhat.com>
+ 	    Aldy Hernandez <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Define __ALTIVEC__.
+ 	(bool): New.
+ 	(__pixel): New.
+ 	(pixel): New.
+ 	(vec_cfux): New.
+ 	(vec_vmaddfp): New.
+ 	(vec_vsldoi): New.
+ 	Add parentheses to all macro arguments.
+ 
+ 2002-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/6320
+ 	* except.c (remove_eh_handler): Insert inner regions at beginning
+ 	of sibling chain.  Refactor expressions.
+ 
+ 2002-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
+ 	* config/sparc/sol2-gas-bi.h: New file.
+ 	* config.gcc (sparc*-solaris): Add it as needed.
+ 	* configure.in (AS_SPARC64_FLAG): Remove check.
+ 	* config.in, configure: Regenerate.
+ 
+ 	* config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
+ 
+ 2002-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Don't override N32 for
+ 	a 64-bit ISA.
+ 
+ 	PR 6202
+ 	* config/mips/mips.md (can_delay): Split out of existing define_delays.
+ 	(HILO_delay): Set can_delay false.
+ 
+ 2002-04-16  Dale Johannesen <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
+ 	instruction addresses.
+ 	(rs6000_output_function_epilogue): Likewise.
+ 
+ 2002-04-16  Paolo Carlini  <pcarlini@unitus.it>
+ 
+ 	* c-parse.in (poplevel, compstmt_start,
+ 	compstmt_primary_start): Add ending ';', in accordance
+ 	with POSIX.
+ 
+ 2002-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (sparcv9-solaris): Configure for 64-bit default.
+ 	Adjust tm_file order to get TARGET_DEFAULT set properly.
+ 	(sparc-solaris): Configure 2.[78] for 64-bit multilibs.
+ 	* doc/install.texi (sparc-solaris): Update.
+ 
+ 2002-04-16  Dale Johannesen <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
+ 	comparison operands do not match each other or if modes of
+ 	conditions do not match result.
+ 
+ 2002-04-16  Hartmut Penner <hpenner@de.ibm.com>
+ 
+ 	PR target/6305
+ 	* config/s390/s390.md (mulsidi3): Set both subregs of the
+ 	multiword register.
+ 
+ 2002-04-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_addc): Type check.
+ 
+ 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/6279
+ 	* expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
+ 
+ 	* expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
+ 
+ 2002-04-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
+ 	call_really_used_regs too.
+ 
+ 2002-04-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
+ 
+ 2002-04-15  David S. Miller  <davem@redhat.com>
+ 
+ 	* rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
+ 	as being CLOBBERed.
+ 
+ 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6290
+ 	* config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
+ 	CONST_VECTOR is { 0, ... 0 }.
+ 
+ 2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi (Installing GCC: Configuration): Clarify
+ 	the only supported ways to configure gcc.
+ 
+ 2002-04-15  Roland McGrath  <roland@frob.com>
+ 
+ 	* config.gcc (alpha*-*-gnu*): New target configuration.
+ 	* config/alpha/gnu.h: New file for it.
+ 	* config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
+ 
+ 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (STMT_EXPR_NO_SCOPE): New macro.
+ 	* c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
+ 	* tree.h (expand_start_stmt_expr): Update prototype.
+ 	* stmt.c (expand_start_stmt_expr): Add has_scope parameter.
+ 	* tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
+ 	on the STMT_EXPR created for the inline function.
+ 
+ 2002-04-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
+ 	config/i386/linux-aout.h, config/i386/linux-oldld.h,
+ 	config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
+ 	config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
+ 	config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
+ 	config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
+ 	config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
+ 	Define __gnu_linux__, not gnu_linux.
+ 	* config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
+ 
+ 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Remove Chill front end.
+ 	* gcc.c (default_compilers): Remove Chill entries.
+ 	* ch: Remove directory.
+ 	* doc/frontends.texi: Remove information about Chill.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/standards.texi: Likewise.
+ 
+ 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
+ 	(LONGLONG_STANDALONE): Define.
+ 
+ 2002-04-15  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp):
+ 	Call emit_library_call with LCT_NORMAL.
+ 	(sparc_initialize_trampoline): Use LCT_foo instead of
+ 	magic constant in emit_library_call invocations.
+ 	(sparc64_initialize_trampoline): Likewise.
+ 	(sparc_profile_hook): Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 
+ 	* config/sparc/sparc.c (sparc_extra_constraint_check):
+ 	Fix type of argument 'c'.
+ 	* config/sparc/sparc-protos.h (sparc_extra_constraint_check):
+ 	Likewise.
+ 
+ 2002-04-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
+ 
+ 	* diagnostic.h (output_buffer_state): Redefine.
+ 	(output_format_decoder): New macro.
+ 	(output_prefixing_rule): Likewise.
+ 	(output_line_cutoff): Likewise.
+ 	(diagnostic_format_decoder): Adjust.
+ 	(diagnostic_prefixing_rule): Likewise.
+ 	(diagnostic_line_cutoff): Likewise.
+ 	(diagnostic_state): Likewise.
+ 	(diagnostic_kind_count): Likewise.
+ 	(diagnostic_buffer): Now a macro.
+ 
+ 	* diagnostic.c (diagnostic_buffer): Remove definition.
+ 	(output_is_line_wrapping): Adjust.
+ 	(set_real_maximum_length): Likewise.
+ 	(output_set_maximum_length): Likewise.
+ 	(init_output_buffer): Likewise.
+ 	(lhd_print_error_function): Likewise.
+ 	(output_do_verbatim): Likewise.
+ 
+ 2002-04-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c (print_location): Don't print include chain
+ 	if line == 0.
+ 	(cpp_begin_message): Update to use DL_ macros.
+ 	(cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
+ 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
+ 	cpp_notice, cpp_notice_from_errno): Remove.
+ 	(cpp_error, cpp_error_with_line): Update to take a diagnostic
+ 	level.
+ 	(cpp_errno): New.
+ 	* cppexp.c (CPP_ICE): Remove.
+ 	(SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
+ 	lex, integer_overflow, _cpp_parse_expr): Update.
+ 	* cppfiles.c (read_include_file, find_include_file,
+ 	handle_missing_header, _cpp_read_file, remap_filename): Update.
+ 	* cpphash.h (enum error_type): Remove.
+ 	(_cpp_begin_message): Update.
+ 	* cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
+ 	cpp_handle_option, cpp_post_options): Update.
+ 	* cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
+ 	skip_whitespace, parse_identifier, parse_slow, parse_string,
+ 	_cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
+ 	cpp_interpret_charconst): Update.
+ 	* cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
+ 	lex_macro_node, do_undef, glue_header_name, parse_include,
+ 	do_include_common, read_flag, do_line, do_linemarker, do_ident,
+ 	cpp_register_pragma, do_pragma_once, do_pragma_system_header,
+ 	do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
+ 	do_elif, do_endif, parse_answer, parse_assertion, do_assert,
+ 	_cpp_pop_buffer, do_diagnostic): Update.
+ 	* cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
+ 	DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
+ 	(cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
+ 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
+ 	cpp_notice, cpp_notice_from_errno): Remove.
+ 	(cpp_error, cpp_error_with_line): Update to take a diagnostic
+ 	level.
+ 	(cpp_errno): New.
+ 	* cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
+ 	collect_args, enter_macro_context, save_parameter, parse_params,
+ 	_cpp_create_definition, check_trad_stringification,
+ 	cpp_macro_definition): Update.
+ 	* cppmain.c (cpp_preprocess_file): Update.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2002-04-14  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
+ 
+ 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+ 
+ 	* config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
+ 
+ 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
+ 	not gnu_hurd.
+ 
+ 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
+ 
+ 2002-04-13	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/sparc/t-elf: Enable v8 multilibs.  Impacts
+ 	sparc-elf and sparc-rtems targets.
+ 
+ 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
+ 	defined, and __gnu_hurd__ wherever __GNU__ is defined.
+ 	* arm/linux-elf.h: Likewise.
+ 	* cris/aout.h: Likewise.
+ 	* cris/linux.h: Likewise.
+ 	* i370/linux.h: Likewise.
+ 	* i386/gnu.h: Likewise.
+ 	* i386/linux-aout.h: Likewise.
+ 	* i386/linux-oldld.h: Likewise.
+ 	* i386/linux.h: Likewise.
+ 	* i386/linux64.h: Likewise.
+ 	* ia64/linux.h: Likewise.
+ 	* m68k/linux-aout.h: Likewise.
+ 	* m68k/linux.h: Likewise.
+ 	* mips/linux.h: Likewise.
+ 	* pa/pa-linux.h: Likewise.
+ 	* pj/linux.h: Likewise.
+ 	* rs6000/sysv4.h: Likewise.
+ 	* s390/linux.h: Likewise.
+ 	* sh/linux.h: Likewise.
+ 	* sparc/linux-aout.h: Likewise.
+ 	* sparc/linux.h: Likewise.
+ 	* sparc/linux64.h: Likewise.
+ 	* xtensa/linux.h: Likewise.
+ 
+ 2002-04-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* stmt.c (check_unique_operand_names): Expect operand names to
+ 	be strings rather than identifiers.  Use simple_cst_equal to
+ 	compare them.
+ 	(resolve_operand_name_1): Make same identifier to string change here.
+ 	* c-parse.in (asm_operand): Convert a named operand into a string.
+ 	* cp/parse.y (asm_operand): Likewise.
+ 
+ 2002-04-13  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
+ 
+ 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert these changes:
+ 
+ 	2002-04-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/5571
+ 	* stor-layout.c (layout_decl): Reset the RTL for the decl.
+ 
+ 2002-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
+ 	(sparc*-*-solaris): Clean up header files.
+ 	* configure.in (AS_SPARC64_FLAG): Error out if can't find it
+ 	and plan on generating 64-bit code.
+ 	* toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
+ 	* config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
+ 	* config/sparc/sol2-sld-64.h: Rename ...
+ 	* config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
+ 	for AS_SPARC64_FLAG not defined.
+ 	* config/sparc/sol2-gld-bi.h: New.
+ 	* config/sparc/sol2-sld.h: Remove.
+ 	* config/sparc/sol26-sld.h: New.
+ 	* config/sparc/sol2.h: Tidy comments.
+ 	* doc/install.texi: Document sparc-solaris configury changes.
+ 
+ 2002-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (offsettable_address_p): Match the logic in adjust_address.
+ 
+ 	* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
+ 	in 64-bit mode only.  Use only for 32-bit or MEDLOW.
+ 
+ 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
+ 
+ Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* pa.c (pa_can_combine_p): Call extract_insn before calling
+ 	constrain_operands.
+ 
+ 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
+ 	(TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
+ 	(DEFAULT_PCC_STRUCT_RETURN): Define as 0.
+ 	(CPP_PREDEFINES): Handle __declspec.
+ 	* config/i386/t-interix (USER_H): Remove.
+ 
+ 2002-04-12  DJ Delorie  <dj@redhat.com>
+ 
+ 	* integrate.c (compare_blocks): Make comparisons safe for when
+ 	sizeof(int) < sizeof(char *).
+ 	(find_block): Likewise.
+ 
+ 2002-04-12  Jan Hubicka  <jh@suse.cz>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
+ 	registers.
+ 	(symbol_ref_operand): New.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
+ 	* config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
+ 
+ 2002-04-12  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.h (ASM_SPEC): Moved from here ...
+ 	* config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
+ 	overrides the definition in config/svr4.h.
+ 
+ 2002-04-12	Eric Norum <eric.norum@usask.ca>
+ 
+ 	* config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
+ 	config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
+ 	config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
+ 	config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
+ 	config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
+ 	config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
+ 	config/v850/rtems.h (*-rtems*): Cleanup pass to move common
+ 	definitions to config/rtems.h and make the targets more similar.
+ 
+ Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_assigment): Remove duplicate conversions #ifdef
+ 	POINTERS_EXTEND_UNSIGNED.
+ 	(store_constructor, expand_expr, case COMPONENT_REF): Likewise.
+ 	(store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
+ 
+ 	* emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
+ 	not specified.
+ 
+ Fri Apr 12 12:11:26 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
+ 	depends on TARGET_SHMEDIA, not TARGET_SH5.
+ 
+ 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
+ 	For paradoxical (subreg VAR), replace VAR, don't try the subreg.
+ 
+ Fri Apr 12 10:51:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (broken_move): Constant 0. / 1. load is OK if there is
+ 	no r0 clobber.
+ 
+ 2002-04-12  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
+ 
+ 2002-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR bootstrap/4191
+ 	* config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
+ 
+ 	* flow.c (mark_used_reg): Manage reg_cond_dead properly for
+ 	modes spanning multiple hard regs.
+ 
+ 	* recog.c (peephole2_optimize): Rebuild jump labels as needed.
+ 
+ 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (pa_output_function_prologue): Don't accumulate the total
+ 	number of code bytes when using TARGET_64BIT, or gas, SOM and not
+ 	the portable runtime.
+ 	(output_deferred_plabels): Handle 64bit plabels.
+ 	(output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
+ 	generating pic code using the GAS assembler for object formats that
+ 	are not SOM (ie., ELF32 and ELF64).
+ 	(output_millicode_call): Check attribute type if attribute length is 28.
+ 	Likewise use $PIC_pcrel$0.  Only call get_attr_length and
+ 	dbr_sequence_length once.
+ 	(output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
+ 	dbr_sequence_length once.
+ 	* pa.h (TARGET_SOM): Define if not defined.
+ 	* pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
+ 	with GAS and not SOM.
+ 	(jump, call_internal_reg, call_value_internal_reg): Likewise.
+ 	* som.h (OBJ_SOM): Rename to TARGET_SOM.  Undefine before defining.
+ 
+ 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
+ 	(DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
+ 	(USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
+ 	DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
+ 	elfos.h and dbxelf.h values are fine now.
+ 	* config/i386/freebsd.h, config/alpha/freebsd.h
+ 	(DEFAULT_PCC_STRUCT_RETURN): Define to 0.
+ 
+ 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
+ 	or set Acpu or Amachine.  Reformat.
+ 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
+ 	define.
+ 	(LINK_SPEC): Do not need to undef.
+ 	* config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
+ 	* config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
+ 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
+ 	define.
+ 	* config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
+ 	(ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
+ 	(LINK_SPEC): Do not need to undef.
+ 	(DONT_USE_BUILTIN_SETJMP): Do not define.
+ 	* config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
+ 	(CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
+ 	(DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
+ 	Remove trailing spaces.
+ 	* config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
+ 	__ELF__, or set Acpu or Amachine.  Reformat.
+ 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
+ 	define.
+ 
+ 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
+ 	all other *-*-freebsd* targets.
+ 
+ 2002-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (alpha*-*-linux*ecoff): Detect and reject.
+ 
+ 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
+ 	Include {cpu}/{cpu}.h thru tm_file.
+ 	(alpha*-*-linux*ecoff): Remove target.
+ 	* config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
+ 	(LINK_SPEC): Remove, is not OS independent.
+ 	* config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
+ 	(LINK_SPEC): Do not need to #undef any longer.
+ 	* config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
+ 	any longer.
+ 	* config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
+ 	__ELF__.
+ 	(LINK_SPEC): Moved here from alpha/elf.h.
+ 	* config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
+ 	SUB_CPP_PREDEFINES.
+ 	* config/alpha/linux-ecoff.h: Remove.
+ 	* config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
+ 	(CPP_SPEC): Define _POSIX_SOURCE as needed.
+ 	(CPP_SUBTARGET_SPEC): Do not define.
+ 	(LINK_SPEC): Do not need to #undef any longer.
+ 	* config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
+ 	* config/alpha/vms.h: Likewise.
+ 
+ 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/extend.texi: Remove old claim that typedefs cannot have
+ 	an alignment attribute.
+ 
+ 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/6177
+ 	* expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
+ 	bitpos is 0 and bitsize CONCAT size.
+ 
+ 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/6223
+ 	* combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
+ 
+ 2002-04-10  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/alpha/freebsd.h: Minor reformatting.
+ 	(CPP_SPEC): Define ELF and add cpp_subtarget.
+ 	(ASM_SPEC): No longer needed.
+ 
+ 2002-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
+ 	(movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
+ 	(dimode mem/zero splitter): New.
+ 
+ 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_override_options): Tweak error message
+ 	for PIC not implemented.
+ 
+ 	* config/cris/cris.h: Tweak comments related to parameter-passing.
+ 
+ 	* t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
+ 
+ 2002-04-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (add_ehl_entry): Allow duplicates after landing pad
+ 	creation.
+ 
+ 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
+ 
+ 2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* c-decl.c (c_init_decl_processing): Move generation of
+ 	decls for g77_integer_type_node and friends from here ...
+ 	* c-common.c (c_common_nodes_and_builtins): ... to here.
+ 
+ 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
+ 	is only used as frame pointer when frame_pointer_needed is true.
+ 
+ 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/817
+ 	* arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
+ 	for the fact that the pool entry uses two words.
+ 	(movdf_hard_insn): Similarly.  Also, ADR instruction can span
+ 	1k bytes.
+ 	(movdf_soft_insn): Similarly.
+ 	(movxf_hard_insn): Adjust neg_pool_range attribute to allow
+ 	for the fact that the pool entry uses three words.
+ 
+ 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): When using the struct version
+ 	of the EABI va_list, allow arguments in the register save area to
+ 	take up less room than a stack argument.
+ 
+ 2002-04-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
+ 	if EXPAND_INITIALIZER.
+ 
+ 2002-04-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (movdi_er_maybe_g): New.
+ 	* config/alpha/alpha.c (alpha_expand_mov): Use it.
+ 
+ 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR optimization/6233
+ 	* rtlanal.c (pure_call_p): New function.
+ 	* rtl.h (pure_call_p): Declare.
+ 	* loop.c (prescan_loop): Use it to set has_nonconst_call.
+ 	* gcse.c (store_killed_in_insn): Use pure_call_p here too.
+ 
+ 2002-04-09  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
+ 	information to .comm directive.
+ 
+ 2002-04-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5078
+ 	* expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
+ 
+ 2002-04-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* basic-block.h (flow_delete_block_noexpunge): Declare.
+ 	(expunge_block_nocompact): Declare.
+ 	* cfg.c (expunge_block_nocompact): Split out from ...
+ 	(expunge_block): ... here.
+ 	* cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
+ 	(flow_delete_block_noexpunge): Split out from ...
+ 	(flow_delete_block): ... here.
+ 	* cfgcleanup.c (delete_unreachable_blocks): Compact while
+ 	removing dead blocks.
+ 	* except.c (exception_handler_labels): Remove.
+ 	(exception_handler_label_map): New.
+ 	(struct eh_region): Add aka member.
+ 	(mark_ehl_map_entry, mark_ehl_map, free_region): New.
+ 	(ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
+ 	(for_each_eh_label, for_each_eh_label_1): New.
+ 	(init_eh): Register exception_handler_label_map.
+ 	(free_eh_status): Use free_region.
+ 	(find_exception_handler_labels): Use the map, not the list.
+ 	(remove_exception_handler_label): Likewise.
+ 	(maybe_remove_eh_handler): Likewise.
+ 	(remove_eh_handler): Use the region aka bitmap.
+ 	* except.h (exception_handler_labels): Remove.
+ 	(for_each_eh_label): Declare.
+ 	* jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
+ 	* loop.c (invalidate_loops_containing_label): New.
+ 	(find_and_verify_loops): Use it.  Use for_each_eh_label.
+ 	* sched-rgn.c (is_cfg_nonregular): Use
+ 	current_function_has_exception_handlers.
+ 
+ 2002-04-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
+ 	sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
+ 	Do not return changed status.
+ 	(sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
+ 	sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
+ 	New functions that do return changed status.
+ 	* sbitmap.h: Update decls.
+ 	* gcse.c, lcm.c: Use _cg functions as needed.
+ 
+ Tue Apr  9 19:15:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
+ 	(sh64-*-elf*, sh-*-rtemself*): Likewise.
+ 	* config/sh/embed_bb.c: New file.
+ 	* config/sh/embed-elf.h: New file.
+ 	* sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
+ 	if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
+ 	(CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
+ 	__PTRDIFF_TYPE__ .
+ 	(SUBTARGET_CPP_PTR_SPEC): Don't define.
+ 	(EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
+ 	Add subtarget_asm_endian_spec.
+ 	(ASM_SPEC): Use subtarget_asm_endian_spec.
+ 	(SUBTARGET_ASM_ENDIAN_SPEC): Define.
+ 	(RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
+ 	(WCHAR_UNSIGNED): Define.
+ 	(SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
+ 	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
+ 	(ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
+ 	Fix value.
+ 	* sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
+ 	(sh_adjust_cost): Likewise.
+ 	sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
+ 	__PTRDIFF_TYPE__ .
+ 	(SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
+ 	(WCHAR_TYPE_SIZE): Likewise.
+ 	(ASM_SPEC): Use subtarget_asm_endian_spec.
+ 	(SH_ELF_WCHAR_TYPE): #undef/ #define.
+ 	(MAX_WCHAR_TYPE_SIZE): Don't #undef.
+ 	* config/sh/elf.h (WCHAR_UNSIGNED): #undef .
+ 	(MAX_WCHAR_TYPE_SIZE): Don't #define .
+ 	(WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
+ 	(USER_LABEL_PREFIX): Don't #undef /#define .
+ 	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
+ 	* config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
+ 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
+ 	(ASM_SPEC): Likewise.
+ 	(SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
+ 	(CC1_SPEC): don't supply -m3 for -m4*, -m5*.
+ 	* t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
+ 	(LIB2FUNCS_EXTRA): Define.
+ 	* t-sh64 (LIB2FUNCS_EXTRA): Define.
+ 	* config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
+ 	(LIB1ASMFUNCS_CACHE): Define.
+ 	(LIB2FUNCS_EXTRA): Redefine empty.
+ 
+ 2002-04-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reorg.c (get_branch_condition): Use reversed_comparison_code.
+ 
+ 2002-04-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/larith.asm (__map_data_section): Fix condition
+ 	and optimize for size.
+ 	(__do_global_ctors): Fix pointer comparison.
+ 	(__do_global_dtors): Likewise.
+ 
+ 2002-04-09  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_extra_constraint_check): New
+ 	function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
+ 	allow reloading pseudos.
+ 	* config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
+ 	* config/sparc/sparc-protos.h: Declare it.
+ 
+ 	* config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
+ 	unsigned comparison warning.
+ 	(output_restore_regs): Mark leaf_function as unused.
+ 
+ Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (is_aligning_offset): New function.
+ 	(expand_expr, case COMPONENT_EXPR): Call it.
+ 
+ 2002-04-08  David S. Miller  <davem@redhat.com>
+ 
+ 	PR target/6082
+ 	* config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
+ 
+ 	Make init_priority work on SPARC when using GNU ld.
+ 	* config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/netbsd-elf.h, config/sparc/freebsd.h
+ 	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
+ 	* config/sparc/sol2-gld.h: New file to do the same.
+ 	* config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
+ 	sparc/sol2-gld.h to tm_file.
+ 
+ 	PR optimization/4328
+ 	* config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
+ 	* doc/md.texi: Document it.
+ 	* config/sparc/sparc.md (movdi_insn_sp64_novis,
+ 	movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
+ 	movdf_insn_v9only_vis, movdf_insn_sp64_novis,
+ 	movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
+ 	* config/sparc/sparc.c (mem_min_alignment): Fix comment.
+ 
+ 2002-04-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* stmt.c (expand_asm_operands): Revert last patch from Richard
+ 	Henderson.
+ 
+ 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add John David Anglin and Loren
+ 	J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
+ 
+ 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add David O'Brien.
+ 
+ 2002-04-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* configure.in (auto-build.h): Use target_alias and build_alias
+ 	when running configure.
+ 	(gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
+ 	(gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
+ 	* configure: Regenerate.
+ 
+ 2002-04-07  David S. Miller  <davem@redhat.com>
+ 
+ 	* config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
+ 
+ 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	PR 5933
+ 	* pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
+ 	generating 32-bit pic code.
+ 
+ 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* cppinit.c (cpp_create_reader): Initialize
+ 	discard_comments_in_macro_exp.
+ 	(COMMAND_LINE_OPTIONS): Add "-CC" option.
+ 	(cpp_handle_option): Handle "-CC" option.
+ 	* cpplex.c (save_comment): If saving a C++ comment in
+ 	a directive, convert it to a C comment.
+ 	(_cpp_lex_direct): Pass second comment start character to
+ 	save_comment to indicate comment type.
+ 	* cpplib.c (_cpp_handle_directive): If processing
+ 	a "#define" directive and discard_comments_in_macro_exp
+ 	is false,  re-enable saving of comments.
+ 	(lex_macro_node): If discard_comments_in_macro_exp is false,
+ 	discard any comments before the macro identifier.
+ 	* cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
+ 	member.
+ 	* cppmacro.c (cpp_get_token): If expanding a macro while
+ 	processing a directive, discard any comments we might encounter.
+ 	(parse_params): If discard_comments_in_macro_exp is false,
+ 	ignore comments in the macro parameter list.
+ 	* gcc.c (cpp_unique_options): Add "-CC" option.
+ 	(option_map): Map "--comments-in-macros" to "-CC".
+ 	* doc/cppopts.texi: Document "-CC" option.
+ 	* f/lang-specs.h: Add "-CC" option.
+ 	* testsuite/gcc.dg/cpp/maccom1.c: New test.
+ 	* testsuite/gcc.dg/cpp/maccom2.c: New test.
+ 	* testsuite/gcc.dg/cpp/maccom3.c: New test.
+ 	* testsuite/gcc.dg/cpp/maccom4.c: New test.
+ 	* testsuite/gcc.dg/cpp/maccom5.c: New test.
+ 	* testsuite/gcc.dg/cpp/maccom6.c: New test.
+ 
+ 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	PR middle-end/6180
+ 	* reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
+ 
+ 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/5571
+ 	* stor-layout.c (layout_decl): Reset the RTL for the decl.
+ 
+ 	PR opt/5120
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
+ 	RTX_UNCHANGING_P for the functions arguments when a tail call
+ 	is made.
+ 
+ 2002-04-06  Jason Merrill  <jason@redhat.com>
+ 
+ 	* toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
+ 	(parse_options_and_default_flags): Set them appropriately.
+ 	* c-common.c (c_common_post_options): Don't set flag_really_no_inline.
+ 
+ 2002-04-06  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
+ 	here.
+ 
+ 	* config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
+ 	semicolon.
+ 
+ 	* config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
+ 	types come in by-reference.  Fix typo in comment.
+ 
+ 2002-04-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
+ 	* config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
+ 	sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
+ 	{sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
+ 
+ 2002-04-05  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
+ 	are not going to emit return instructions, emit at least a nop
+ 	for the sake of sane backtraces.
+ 
+ 2002-04-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
+ 
+ 2002-04-05  Jakub Jeilnek  <jakub@redhat.com>
+ 
+ 	* mklibgcc.in: Use $tmpmapfile, not tmp-$@.
+ 
+ 2002-04-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
+ 	ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
+ 	ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
+ 
+ 2002-04-05  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* c-convert.c: Include c-common.h.
+ 	* Makefile.in (c-convert.o): Updated.
+ 
+ 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* mklibgcc.in: Use separate libgcc.map for each multilib.
+ 	* Makefile.in (distclean): Don't remove libgcc.map here.
+ 
+ 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* Makefile.in (s-mlib): Handle --disable-multilib by separate
+ 	genmultilib invocation.
+ 
+ 2002-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
+ 	to avoid clash with Irix header file sys/ucontext.h.  Rename gp_regs
+ 	to num_gprs for symmetry.
+ 	* config/mips/mips.c: Adjust accordingly.
+ 
+ 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (truthvalue_conversion): Rename, update.
+ 	* c-common.h (c_common_truthvalue_conversion): New.
+ 	* c-convert.c (convert): Update.
+ 	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+ 	* c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
+ 	* c-typeck.c (build_binary_op, build_unary_op,
+ 	build_conditional_expr): Update.
+ 	* fold-const.c (constant_boolean_node, fold): Use langhook.
+ 	* langhooks-def.h (LANGHOOK_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* stmt.c (expand_decl_cleanup): Use langhook.
+ 	* tree.h (truthvalue_conversion): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
+ 
+ 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
+ 	Add rules to make null object file.
+ 
+ 2002-04-04  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* cppmacro.c (cpp_macro_definition): Do not emit spaces after
+ 	macro formal parameter names.
+ 
+ 2002-04-04  David S. Miller  <davem@redhat.com>
+ 
+ 	* calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
+ 
+ 2002-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/5099
+ 	* stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
+ 	Support copies into and out of memory.  Don't accept allows_reg
+ 	and allows_mem as gospel.
+ 
+ 2002-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/6165
+ 	* alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
+ 	(write_dependence_p): Likewise.
+ 
+ 2002-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* predict.c (estimate_bb_frequencies): Do frequency calculation
+ 	with a volatile temporary.
+ 
+ 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
+ 
+ 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/6119
+ 	* final.c (final_start_function): Don't bump profile_label_no here...
+ 	(final_end_function): ...but here.
+ 
+ 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.md (pic): New attribute.
+ 	(do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
+ 	into stack slots.
+ 	(split after do_builtin_setjmp_setup): New.
+ 
+ 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR fortran/6106
+ 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
+ 	change.
+ 
+ 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
+ 	UNITS_PER_WORD for zero sized aggregates.
+ 
+ 2002-04-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
+ 	one-character spec for this, just use %(link_gcc_c_sequence).
+ 
+ 2002-04-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
+ 	handling.
+ 
+ 2002-04-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
+ 	(DWARF_FRAME_RETURN_COLUMN): Move.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
+ 	* pa.c (except.h, predict.h): Include.
+ 	(FRP): Delete.
+ 	(store_reg_modify, set_reg_plus_d): Revise prototypes.
+ 	(output_ascii): Add cast.
+ 	(store_reg_modify): Revise to add frame notes.
+ 	(set_reg_plus_d): Likewise.
+ 	(compute_frame_size): Include space for eh data registers in frame if
+ 	the current function calls eh_return.
+ 	(hppa_expand_prologue):  Ensure register %r2 is saved if the current
+ 	function calls eh_return.  Save eh data registers if the current
+ 	function calls eh_return.  Fix code to add frame notes.  Emit
+ 	blockage to prevent insns with frame notes being scheduled in the
+ 	delay slot of calls.
+ 	(hppa_expand_epilogue): Restore eh data registers and do final stack
+ 	adjustment if the current function calls eh_return.  Don't add frame
+ 	notes.
+ 	(output_call): Revise for change in length of call insn.  Don't do
+ 	return pointer adjustment for an unconditional jump in the delay slot
+ 	of a call when using frame notes.
+ 	* pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
+ 	(EH_RETURN_HANDLER_RTX): Use saved value on stack.
+ 	(ARG_POINTER_CFA_OFFSET): Define.
+ 	* pa.md (return_external_pic): New pattern.
+ 	(prologue): Correct formatting.  Use return_external_pic if current
+ 	function calls eh_return.
+ 	(call_internal_symref, call_value_internal_symref,
+ 	sibcall_internal_symref, sibcall_value_internal_symref): Change default
+ 	lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
+ 	respectively.
+ 	(exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
+ 
+ 	* configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
+ 	list of targets to check using "nop" insn.
+ 	* configure: Rebuilt.
+ 
+ 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
+ 
+ 2002-04-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
+ 	library sequence passed to the linker.
+ 	(LINK_COMMAND_SPEC): Use it.
+ 	* doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
+ 	a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
+ 	* config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 
+ 2002-04-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	* except.c (struct eh_status): Remove protect_list.
+ 	(begin_protect_partials, end_protect_partials): Remove.
+ 	(add_partial_entry): Remove.
+ 	* except.h: Remove prototypes.
+ 
+ 	* expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
+ 	expand_decl_cleanup_eh.
+ 
+ 	PR c++/5636
+ 	* tree.h (CLEANUP_EH_ONLY): New macro.
+ 	* stmt.c (expand_decl_cleanup_eh): New fn.
+ 	(expand_cleanups): Check CLEANUP_EH_ONLY.
+ 	* c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
+ 	Use expand_decl_cleanup_eh.
+ 	(expand_stmt): Adjust.
+ 	* c-common.h: Adjust prototype.
+ 
+ 2002-04-04  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_target_asm_function_prologue): Cast
+ 	uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
+ 	(cris_target_asm_function_epilogue): Ditto.
+ 	(cris_initial_frame_pointer_offset): Ditto.
+ 	(cris_simple_epilogue): Ditto.
+ 	(cris_expand_builtin_va_arg): Variable-size types come in
+ 	by-reference.
+ 
+ 2002-04-03  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/crtfastmath.c (FPRS_NS): Get it right for
+ 	little-endian.
+ 	(set_fast_math): Correct 'fsr' type.
+ 
+ 2002-04-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/3569
+ 	* langhooks.h (lang_hooks.decls.warn_unused_global): New.
+ 	* toplev.c (check_global_declarations): Use it.
+ 	* langhooks-def.h (lhd_warn_unused_global_decl): Declare.
+ 	(LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
+ 	(LANG_HOOKS_DECLS): Add it.
+ 	* langhooks.c (lhd_warn_unused_global_decl): New.
+ 	* c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
+ 	* c-objc-common.c (c_warn_unused_global_decl): New.
+ 	* c-tree.h (c_warn_unused_global_decl): Declare.
+ 	* objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
+ 
+ 2002-04-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* langhooks-def.h (lhd_set_decl_assembler_name,
+ 	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* tree.c (set_decl_assembler_name): Move to langhooks.c.
+ 	(lang_set_decl_assembler_name): Remove.
+ 	(init_obstacks): Don't set hook.
+ 	(decl_assembler_name): New function.
+ 	* tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
+ 	(decl_assembler_name): New.
+ 	(lang_set_decl_assembler_name): Remove.
+ 
+ 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
+ 	works properly with .hidden symbols.
+ 	* configure: Rebuilt.
+ 	* config.in: Rebuilt.
+ 	* config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ 	DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
+ 	properly with .hidden symbols.
+ 
+ 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/6102
+ 	* df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
+ 	USE argument.
+ 
+ 2002-04-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/4120
+ 	* sched-rgn.c (sets_likely_spilled): New.
+ 	(sets_likely_spilled_1): New.
+ 	(add_branch_dependences): Use it.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/4311
+ 	* loop.h (LOOP_FIRST_PASS): New.
+ 	* loop.c (strength_reduce): Mind it when deciding to unroll.
+ 	* toplev.c (rest_of_compilation): Set it.
+ 
+ 2002-04-02  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (ldd peephole2s): Fix final arg to
+ 	mems_ok_for_ldd_peep when the order of the loads being examined
+ 	is reversed.
+ 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
+ 	existing comment to increase comprehension of this situation.
+ 
+ 2002-04-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/sh/sh.md: Don't use union real_extract.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c (__bb_exit_func): Revert 03-31 change.
+ 
+ 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
+ 	i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
+ 	i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
+ 	i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
+ 	i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
+ 	i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
+ 	i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
+ 	i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
+ 	i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
+ 	i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
+ 	i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
+ 	i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
+ 	i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
+ 	i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
+ 	Include as many configury headers via tm_file as possible.  This
+ 	includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
+ 	* config/openbsd-oldgas.h: New file.
+ 	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
+ 	config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
+ 	config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
+ 	config/i386/i386-coff.h, config/i386/i386-interix.h,
+ 	config/i386/iscdbx.h, config/i386/linux-aout.h,
+ 	config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
+ 	config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
+ 	config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
+ 	config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
+ 	config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
+ 	config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
+ 	config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
+ 	config/i386/vxi386.h: Do not directly include configury headers.
+ 	* config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
+ 	Directly include configury headers that are no longer automatically
+ 	included by the above headers.
+ 	* config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
+ 	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
+ 	config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
+ 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
+ 	config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
+ 	config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
+ 	config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
+ 	(TARGET_VERSION): Define.
+ 	* config/i386/beos-elf.h, config/i386/freebsd.h,
+ 	config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
+ 	config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
+ 	config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
+ 	config/i386/sco5.h, config/i386/sysv4.h
+ 	(TARGET_VERSION): Do not need to protect.
+ 	* config/i386/freebsd64.h (TARGET_VERSION): Fix style.
+ 	* config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
+ 	config/i386/freebsd-aout.h, config/i386/i386-aout.h,
+ 	config/i386/i386-interix.h, config/i386/linux-aout.h,
+ 	config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
+ 	config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
+ 	(YES_UNDERSCORES): Do not define - not needed.
+ 	* config/i386/bsd.h, config/i386/gas.h (LPREFIX,
+ 	ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
+ 	USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
+ 	* config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
+ 	(LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
+ 	USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
+ 	* config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
+ 	* config/i386/isccoff.h, config/i386/v3gas.h: Remove.
+ 
+ 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5484
+ 	* function.c (assign_temp): Accept either type or decl argument.
+ 	Detect variables whose size is too large to fit into an integer.
+ 	* stmt.c (expand_decl): Pass the decl, not the type.
+ 
+ 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* protoize.c: Match include directory usage with cppdefault.c.
+ 
+ 2002-04-03  Jeffrey A Law  (law@redhat.com)
+ 	    Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* combine.c (simplify_comparison): Avoid narrowing a comparison
+ 	with a paradoxical subreg when doing so would drop signficant bits.
+ 
+ 2002-04-02  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
+ 	if POINTERS_EXTEND_UNSIGNED is defined.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/3967
+ 	* local-alloc.c (contains_replace_regs): LO_SUM may contain
+ 	replace regs.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/standards.texi: Document required freestanding libc entry points.
+ 
+ 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
+ 	associated splitter.  Remove MQ constraint.
+ 	(ctrdi_internal4): Correct CCmode clobber.
+ 
+ 2002-04-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* milli64.S ($$dyncall): New function.
+ 	* t-linux (LIB1ASMFUNCS): Revise module list.
+ 	(LIB1ASMSRC): Use pa/milli64.S.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
+ 	rename solaris_sys_varargs_h.
+ 
+ Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
+ 	the same mode as its component.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/190
+ 	* final.c (this_is_asm_operands): Export.
+ 	* output.h (this_is_asm_operands): Declare.
+ 	* config/i386/i386.c (print_operand): Error odd asm operands.
+ 
+ 2002-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/420
+ 	* config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
+ 
+ 2002-04-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/1538
+ 	* fixinc/inclhack.def (solaris_sys_varargs_h): New.
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 2002-04-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c: Include ia64intrin.h.
+ 	(atomic_alloc, atomic_free): New.
+ 	(SIZE, MASK_FOR, PTR_IN): New.
+ 	(emergency_reg_state, emergency_reg_state_free): New.
+ 	(emergency_labeled_state, emergency_labeled_state_free): New.
+ 	(reg_state_alloced, labeled_state_alloced): New.
+ 	(alloc_reg_state, free_reg_state): New.
+ 	(alloc_label_state, free_label_state, free_label_states): New.
+ 	(push, pop, dup_state_stack, free_state_stack): Use them.
+ 	(desc_label_state): Likewise.
+ 	(uw_frame_state_for): Free label states and state stack.
+ 	(uw_update_reg_address): Eliminate warnings.
+ 
+ 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
+ 	ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
+ 
+ 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Update.
+ 	* c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+ 	* c-tree.h (c_mark_addressable): New.
+ 	* c-typeck.c (default_function_array_conversion, build_unary_op,
+ 	build_array_ref, convert_for_assignment): Update.
+ 	(mark_addressable): Rename.
+ 	* calls.c (try_to_integrate, expand_call): Use langhook.
+ 	* expr.c (expand_expr): Use langhook.
+ 	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* stmt.c (expand_asm_operands): Use langhook.
+ 	* tree.h (mark_addressable): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
+ 
+ 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
+ 	in previous change.
+ 
+ 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
+ 	for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
+ 
+ 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (unsigned_conversion_warning, convert_and_check,
+ 	unsigned_type, signed_type, shorten_compare,
+ 	c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
+ 	(unsigned_type, signed_type, signed_or_unsigned_type): Rename.
+ 	* c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
+ 	New.
+ 	* c-decl.c (grokdeclarator): Update.
+ 	* c-format.c (check_format_types): Update.
+ 	* c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+ 	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+ 	* c-typeck.c (build_binary_op, convert_for_assignment): Update.
+ 	* convert.c (convert_to_integer): Use new hooks.
+ 	* expmed.c (make_tree): Use new hooks.
+ 	* expr.c (store_expr): Use new hooks.
+ 	* fold-const.c (operand_equal_for_comparison_p, build_range_check,
+ 	all_ones_mask_p, unextend, fold): Use new hooks.
+ 	* langhooks.h (struct lang_hooks_for_types): New hooks.
+ 	* tree.h (signed_or_unsigned_type, signed_type,
+ 	unsigned_type): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
+ 	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
+ 
+ 2002-03-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
+ 	(desc_frgr_mem): Fix reference to f16-f31.
+ 
+ 2002-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
+ 	RTVEC_ELT): Const-ify.
+ 	* varray.h (VARRAY_CHECK): Const-ify.
+ 	* ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
+ 	ggc_mark_rtvec, ggc_mark): Const-ify.
+ 
+ 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* diagnostic.c: Include langhooks-def.h.
+ 	* Makefile.in (diagnostic.o): Update.
+ 
+ 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_unsafe_for_reeval): Rename.
+ 	* c-common.h (c_unsafe_for_reeval): Rename.
+ 	* c-decl.c (finish_incomplete_decl): Rename.
+ 	(c_init_decl_processing): Don't set langhook.
+ 	* c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
+ 	LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
+ 	* c-objc-common.c (c_objc_common_init): Don't set langhook.
+ 	* c-tree.h (finish_incomplete_decl): Rename.
+ 	* langhooks-def.h (lhd_unsafe_for_reeval): New.
+ 	(LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_unsafe_For_reeval): New.
+ 	* langhooks.h (struct langhooks): New hooks.
+ 	* toplev.c (incomplete_decl_finalize_hook): Remove.
+ 	(wrapup_global_declarations): Update.
+ 	* tree.c (lang_unsafe_for_reeval): Remove.
+ 	(unsafe_for_reeval): Update.
+ 	* tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
+ 	Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
+ 	LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
+ 
+ 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* diagnostic.c (print_error_function): Remove.
+ 	(default_print_error_function): Rename.
+ 	(report_error_function): Update.
+ 	* diagnostic.h (print_error_function): Remove.
+ 	(default_print_error_function): Remove.
+ 	* langhooks-def.h (struct diagnostic_context): Predeclare.
+ 	(lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct diagnostic context): Predeclare.
+ 	(struct lang_hooks): New hook.
+ 
+ 2002-03-31  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
+ 	(PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
+ 	!flag_pic.
+ 	(CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
+ 	* config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
+ 	of PIC_OFFSET_TABLE_REGNUM thruout.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 
+ Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (adjust_address_1, offset_address): Cast value to
+ 	unsigned HOST_WIDE_INT, not unsigned int.
+ 
+ 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/6096, middle-end/6098, middle-end/6099
+ 	* reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
+ 	CODE_LABELs.
+ 	(fill_slots_from_thread): Likewise.
+ 
+ 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (function_arg_record_value_1): Pass complex
+ 	floating fields in float regs.
+ 	(function_arg_record_value_2): Likewise.
+ 
+ 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md (define_constants): Remove misleading
+ 	FIXME.  Add MMIX_fp_rO_OFFSET.
+ 	("nonlocal_goto_receiver"): Don't have stack-frame address of
+ 	saved rO as part of the pattern.  Remove FIXME.
+ 	("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
+ 	here, at output-time.
+ 
+ 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/6100
+ 	* config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
+ 	REG_BR_PRED.
+ 	(output_v9branch): Likewise.
+ 
+ 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcc.c: Revert previous patch for now.
+ 	* config/i386/djgpp.h: Likewise.
+ 
+ 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/crti.asm (_init): Register _fini with atexit.
+ 	* config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
+ 
+ 2002-03-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/3997
+ 	* config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
+ 	(ASM_OUTPUT_DEF_FROM_DECLS): New.
+ 
+ 2002-03-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c (__bb_exit_func): Make static.
+ 
+ 	* config/alpha/alpha.md (trap): New.
+ 
+ 2002-03-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_va_arg): Give warnings not errors for
+ 	promoted argument types; build trap.
+ 	(expand_builtin_trap): New.
+ 	(expand_builtin): Use it.
+ 	* stmt.c (expand_nl_goto_receivers): Likewise.
+ 	* expr.h (expand_builtin_trap): Declare.
+ 	* libfuncs.h (LTI_abort, abort_libfunc): New.
+ 	* optabs.c (init_optabs): Init abort_libfunc.
+ 
+ 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
+ 	(LINK_COMMAND_SPEC): ... from here.
+ 	(init_gcc_specs): Duplicate it here too, omitting
+ 	shared_name in the second copy.
+ 	(init_spec): Test for duplicate
+ 	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
+ 
+ 2002-03-30  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 	* config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
+ 
+ 2002-03-30  Roger Sayle <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* regmove.c (combine_stack_adjustments_for_block): Avoid
+ 	emitting a stack adjustment of zero bytes.  Let delete_insn
+ 	update bb->head.
+ 
+ 2002-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
+ 	(sparc_emitting_epilogue): New.
+ 	(leaf_label, output_return, sparc_return_peephole_ok): Remove.
+ 	* config/sparc/sparc-protos.h: Update.
+ 	* config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
+ 	(TARGET_SWITCHES): Update.
+ 	* config/sparc/sparc.md (return): Remove.
+ 	(return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
+ 	* config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
+ 	config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
+ 	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
+ 	config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
+ 	config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
+ 	config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
+ 	Remove MASK_EPILOGUE.
+ 	* doc/invoke.texi: Update.
+ 
+ 2002-03-30  Daniel Berlin  <dan@dberlin.org>
+ 
+ 	* dwarf2out.c (dwarf2out_define): Remove start_source_file call,
+ 	CPP will start the file for us.
+ 
+ 2002-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5446
+ 	* config/ia64/ia64.c (group_barrier_needed_p): Special case
+ 	prologue_allocate_stack.
+ 	(ia64_single_set): Use insn codes for recognition of special
+ 	cases, not rtl matching.
+ 	* config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
+ 
+ Sat Mar 30 23:48:41 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
+ 
+ 2002-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6032
+ 	* config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
+ 	or -fomit-frame-pointer with profiling.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ 	(FUNCTION_PROFILER): Do nothing.
+ 	(PROFILE_HOOK): New.
+ 	* config/sparc/sparc.c (sparc_override_options): Don't check
+ 	code models for profiling.
+ 	(sparc_function_profiler): Remove.
+ 	(sparc_profile_hook): New.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/6086
+ 	* combine.c (combine_simplify_rtx): If simplify_rtx failed because
+ 	of SUBREG of volatile MEM or because the MEM was mode dependent,
+ 	return CLOBBER instead of unmodified SUBREG.
+ 
+ Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* local-alloc.c (local_alloc): Avoid call of update_equiv_regs
+ 	when not optimizing.
+ 
+ 	* toplev.c (rest_of_compilation): Cann mark_constant_function
+ 	only when optimizing.
+ 
+ 	* flow.c (calculate_global_regs_live): Ensure that all AUX fields
+ 	are NULL.
+ 
+ 	* cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
+ 	(thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
+ 	(try_optimize_cfg): clear all AUX fields.
+ 
+ 	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
+ 	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
+ 	(ix86_address_cost): Be prepared for SUBREGed registers.
+ 	(legitimate_address_p): Accept SUBREGed registers.
+ 
+ 2002-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5672
+ 	* expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
+ 
+ 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
+ 	for aggregate and TFmode types.
+ 
+ 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
+ 
+ 2002-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5886
+ 	* config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
+ 	* config/ia64/hpux.h, config/ia64/linux.h: Likewise.
+ 
+ 2002-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6041
+ 	* config/i386/i386.c (x86_arch_always_fancy_math_387): New.
+ 	(override_options): Disable NO_FANCY_MATH_387 if the arch allows.
+ 	* config/i386/i386.h (x86_arch_always_fancy_math_387): New.
+ 	* config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
+ 	conditional.
+ 	* docs/invoke.texi: Update -mno-fancy-math-387 docs.
+ 
+ 2002-03-29  Dale Johannesen <dalej@apple.com>
+ 
+ 	* loop.c (combine_movables): Do allow combination of pseudos.
+ 
+ 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
+ 	* config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
+ 	No functional change except ...
+ 	* config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
+ 	* doc/install.texi (*-*-freebsd*): Document port configuration.
+ 
+ 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (convert.o, calls.o, expmed.o): Update.
+ 	* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
+ 	Use new hooks.
+ 	* builtin-types.def (BT_PTRMODE): Update.
+ 	* c-common.c (type_for_size): Rename c_common_type_for_size.
+ 	(type_for_mode): Similarly.
+ 	(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
+ 	Use new hook.
+ 	* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
+ 	* c-decl.c (finish_enum, build_enumerator): Use new hooks.
+ 	* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
+ 	Redefine.
+ 	* c-typeck.c (common_type, comptypes, default_conversion):
+ 	Use new hooks.
+ 	* calls.c: Include langhooks.h.
+ 	(emit_library_call_value_1): Use new hooks.  Avoid redundant
+ 	calls.
+ 	* convert.c: Include langhooks.h
+ 	(convert_to_pointer, convert_to_integer): Use new hooks.
+ 	* except.c (init_eh): Similarly.
+ 	* expmed.c: Include langhooks.h.
+ 	(expand_mult_add): Use new hooks.
+ 	* expr.c (store_expr, store_constructor, expand_expr, do_jump,
+ 	try_casesi): Similarly.
+ 	* fold-const.c (optimize_bit_field_compare, make_range,
+ 	decode_field_reference, fold_truthop, fold): Similarly.
+ 	* function.c (assign_stack_local_1, assign_stack_temp_for_type,
+ 	put_var_into_stack): Similarly.
+ 	* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
+ 	LANG_HOOKS_TYPE_FOR_SIZE): New.
+ 	(LANG_HOOKS_TYPES_INITIALIZER): Update.
+ 	* langhooks.h (lang_hooks_for_types): New hooks.
+ 	* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
+ 	* tree.c (get_unwidened, get_narrower): Similarly.
+ 	* tree.h (type_for_mode, type_for_size): Remove.
+ 	* varasm.c (force_const_mem): Use new hooks.
+ 	* utils2.c (nonbinary_modular_operation): Update.
+ objc:
+ 	* objc-act.c (handle_impent): Update.
+ 	* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
+ 	Redefine.
+ 
+ 2002-03-29  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
+ 	* config/ia64/ia64.c (basereg_operand): New.
+ 	* config/ia64/ia64-protos.h (basereg_operand): Declare.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
+ 
+ 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
+ 	unwind information when frame_pointer_needed.
+ 	(mmix_assemble_integer): Tweak wording in comment.
+ 
+ 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (except.o): Update.
+ 	* except.c: Include langhooks.h.
+ 	(init_eh): Use langhook.
+ 	* langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
+ 	LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (lang_hooks_for_types): New.
+ 	(struct lang_hooks): Add it.
+ 	* tree.c (make_lang_type_fn, make_lang_type): Remove.
+ 	* tree.h (make_lang_type_fn, make_lang_type): Remove.
+ config:
+ 	* alpha/alpha.c: Include langhooks.h.
+ 	(alpha_build_va_list): Use langhook.
+ 	* d30v/d30v.c: Include langhooks.h.
+ 	(d30v_build_va_list): Use langhook.
+ 	* i386/i386.c: Include langhooks.h.
+ 	(ix86_build_va_list): Use langhook.
+ 	* rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
+ 	* s390/s390.c: Include langhooks.h.
+ 	(s390_build_va_list): Use langhook.
+ 	* stormy16/stormy16.c: Include langhooks.h.
+ 	(stormy16_build_va_list): Use langhook.
+ 
+ 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/5964
+ 	* config/sparc/sparc.md (empty_delay_slot, branch_type): New
+ 	attributes.
+ 	(length): Compute variable length for branches/calls/jumps here.
+ 	(branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
+ 	normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
+ 	define branch_type attribute.
+ 	(divsi3_sp32): Maximum length is 6 not 7.
+ 	(call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
+ 	call_address_untyped_struct_value_sp32,
+ 	call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
+ 	* config/sparc/sparc.c (empty_delay_slot): New function.
+ 	* config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
+ 	* config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
+ 
+ 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (set_nonzero_bits_and_sign_copies): Don't call
+ 	nonzero_bits if not needed.
+ 	(nonzero_bits) [XOR]: Likewise.
+ 	(nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
+ 	reg_last_set_mode and mode are both MODE_INT, but not equal.
+ 	(record_value_for_reg): Compute reg_last_set_nonzero_bits
+ 	in nonzero_bits_mode for MODE_INT modes.
+ 
+ 2002-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5715
+ 	* config/alpha/osf.h (ASM_SPEC): Don't pass any special options
+ 	to GAS.  Correct drift between alternatives.
+ 
+ 2002-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6087
+ 	* reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
+ 
+ 2002-03-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/freebsd.h (LINK_SPEC): Don't pass default
+ 	emulation to the linker.
+ 
+ 2002-03-28  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* config/alpha/freebsd.h (LINK_SPEC): Likewise.
+ 	* config/sparc/freebsd.h (LINK_SPEC): Likewise.
+ 
+ Thu Mar 28 16:35:31 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* combine.c (simplify_and_const_int): Make sure to apply mask
+ 	when force_to_mode returns a constant integer.  PR3311.
+ 
+ 2002-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (LOCAL_LABEL_PREFIX): Define.
+ 
+ 2002-03-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
+ 	and Objective-C Dialect Options.
+ 
+ 2002-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
+ 	comparison should be done vs !=0 not >0 return code.  Tidy cases.
+ 
+ 2002-03-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (finish_function): New arg can_defer_p.  Pass it
+ 	on to c_expand_body.
+ 	* c-tree.h (finish_function): Update decl.
+ 	* c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
+ 
+ Thu Mar 28 19:13:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (if_convert): Clear aux_for_blocks early enough.
+ 
+ Thu Mar 28 13:21:53 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c: Include flags.h
+ 	(may_trap_p): Do not mark FP operations if trapping
+ 	if !flag_trapping_math
+ 	* Makefile.in (rtlanal.o): Add dependency on flag.h
+ 	* ifcvt.c (noce_operand_ok): Avoid the lameness.
+ 
+ 2002-03-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mips.md: Use dconst1, not 1.0, as first argument of
+ 	REAL_VALUE_LDEXP.  Don't use union real_extract.
+ 
+ 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* configure.in (gcc_cv_as): Use $target_alias in directory searchs
+ 	rather than $target.  Heed program_prefix and
+ 	program_transform_name.  Search for gas in cross-compiler case too.
+ 	"test -x" rather than "test -f".
+ 	(gcc_cv_ld): Likewise.
+ 	(gcc_cv_nm): Heed program_prefix and program_transform_name.
+ 	(gcc_cv_objdump): Likewise.
+ 	* configure: Regenerate.
+ 
+ 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (attribs.o): Update.
+ 	* attribs.c: Include langhooks.h.
+ 	(decl_attributes): Use langhook.
+ 	* c-decl.c (insert_default_attributes): Rename.
+ 	* c-tree.h (c_insert_default_attributes): New.
+ 	* langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* tree.h (insert_default_attributes): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
+ 
+ 2002-03-27  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/i386/i386.c (classify_argument): Also check for
+ 	QUAL_UNION_TYPE.
+ 
+ 2002-03-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
+ 	any more.
+ 
+ Wed Mar 27 23:19:30 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i960.md (ret): Set PC.
+ 	(nonlocal_goto): Fix expander.
+ 	* builtins.c (epxand_builin_longjmp): Check that we've emitted
+ 	some jump or call.
+ 
+ Wed Mar 27 23:11:35 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
+ 	of libcall regions.
+ 
+ Wed Mar 27 22:54:14 CET 2002  Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
+ 	assigning to BLOCK_FOR_INSN directly.
+ 
+ Wed Mar 27 22:33:05 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
+ 
+ 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.c (c_expand_expr): Fix prototype.
+ 	* c-common.h (c_expand_expr): Always declare, update.
+ 	* c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+ 	* c-objc-common.c (c_objc_common_init): No global hook.
+ 	* expr.c (expand_expr): Use langhook.
+ 	* expr.h (enum expand_modifier): Conditionally declare.
+ 	* langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_expand_expr): New.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
+ 	(lang_independent_init): Don't default hook.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
+ 
+ 2002-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/6054
+ 	* config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
+ 	TARGET_CONST_GP.  Simplify conditions.
+ 
+ 2002-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
+ 	config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
+ 
+ 2002-03-27  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
+ 	TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
+ 	(MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
+ 	Remove unnecessary masks.
+ 	(MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
+ 	(SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
+ 	-mwindows, -mdll switches and their negations.
+ 
+ 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* gcc-common.c (lang_mark_false_label_stack): Remove.
+ 	* ggc.h (lang_mark_false_label_stack): Similarly.
+ 
+ 2002-03-26  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
+ 
+ 	* pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
+ 	or __rtems_ is defined.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
+ 	if a non-trivial load was emitted.
+ 	(alpha_emit_set_const_1): Remove obsolete extension.  Fix thinko
+ 	in high+extra+low case.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (sparc*-solaris): Use float_format=sparc.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
+ 	* config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
+ 	* config/sparc/linux.h, config/sparc/linux64.h: Likewise.
+ 	* config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
+ 	(WINT_TYPE_SIZE): Fix at 32.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Delay emit_initial_value_sets
+ 	until after eh landing pad generation.
+ 	* config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
+ 	* config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (ADD_PARM_SIZE): One more convert for INC.
+ 
+ 2002-03-26  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* gcc.c (cpp_options):  Preserve relative ordering of -pedantic
+ 	and warning switches.
+ 	(cc1_options):  Likewise.
+ 
+ 2002-03-26  Hans Boehm <Hans_Boehm@hp.com>
+ 
+ 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
+ 	Restore more of the signal context.  Set no_reg_stack_frame.
+ 	* config/ia64/unwind-ia64.c (unw_state_record):
+ 	Add no_reg_stack_frame, comments.
+ 	(uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
+ 	(uw_update_context): Adjust bsp when unwinding from leaf,
+ 	but not signal frame.
+ 
+ 2002-03-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix51.h (WCHAR_TYPE): Define.
+ 
+ 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
+ 
+ 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/5621
+ 	* arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
+ 	"Add a pool_range attribute", which was lost during the ARM/Thumb
+ 	merge.
+ 
+ 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
+ 	a register into the MAC16 accumulator.
+ 
+ 2002-03-26  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
+ 	(Warning Options): Document -Wswitch-enum.
+ 	* toplev.c (W_options): Add -Wswitch-enum.  Update comment on
+ 	-Wswitch.
+ 	(warn_switch_enum): Define variables.
+ 	* flags.h (warn_switch_enum): Declare variables.
+ 	* stmt.c (expand_end_case_type): When warn_switch_enum /
+ 	-Wswitch-enum, perform switch checks.
+ 	Fix PR c/5044.
+ 
+ 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
+ 	(reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
+ 	(reload_muladdsi_compare0_scratch): Delete.
+ 
+ 2002-03-26  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi (*-*-freebsd*): Update.
+ 
+ 2002-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
+ 	(SUB_PARM_SIZE): Cast DEC to ssizetype.
+ 
+ 	* config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
+ 	types from the normal argument frame.
+ 
+ 	* config/sparc/sparc.c (function_arg_pass_by_reference): Pass
+ 	variable sized objects by reference.
+ 	(sparc_va_arg): Receive them by reference too.
+ 
+ 2002-03-26  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_epilogue): Change epilogue
+ 	code to not restoring global registers.
+ 
+ 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (ggc-common.o): Update.
+ 	* c-decl.c (lang_mark_tree): Rename c_mark_tree.
+ 	* c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
+ 	* c-tree.h (c_mark_tree): New.
+ 	* ggc-common.c: Include langhooks.h.
+ 	(gcc_mark_trees): Use new langhook.
+ 	* ggc-callbacks.c: Delete file.
+ 	* ggc.h (lang_mark_tree): Remove.
+ 	* langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
+ 
+ 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/cpp.texi: Exclude entire Top node from printed manual.
+ 	Move option index after directive index.  Insert page breaks
+ 	before GFDL and concept index.  Index environment variables
+ 	with command line options.
+ 	* doc/cppenv.texi: Use @vtable for environment variable list.
+ 	Add paragraph explaining semantics of empty elements in path
+ 	variables.  Exclude a cross-reference to Fishkill from the
+ 	manpage.  Remove an unnecessary cross-reference of the entry
+ 	right above the referer.  Don't use @anchor in text that goes
+ 	into manpage.
+ 	* doc/cppopts.texi: Cross-reference the environment variables
+ 	section, not the specific environment variable, for consistency.
+ 
+ 2002-03-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
+ 	anywhere in the block.  Don't refer to insns that have been
+ 	removed from the chain.  Iterate backward through the new insns.
+ 	Don't refer to edges that have been removed.
+ 
+ 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
+ 	test for overflow of constant.
+ 
+ 2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/2623
+ 	* arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
+ 	(loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
+ 	these patterns on arm_archv4.
+ 
+ 2002-03-25  Danny Smith  <dannysmith@sourceforge.users.net>
+ 
+ 	* config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
+ 	int".
+ 
+ 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* toplev.c: Don't include setjmp.h.  Kill float_handler_set,
+ 	float_handled, float_handler, float_signal, set_float_handler,
+ 	and do_float_handler.  Set handler for SIGFPE to crash_signal.
+ 	* toplev.h: Don't prototype do_float_handler.
+ 
+ 	* c-lex.c: Fold parse_float into lex_number.  Make warning
+ 	about portability of hex float constants more informative, and
+ 	don't issue it on top of a syntax error.
+ 	* fold-const.c: Fold const_binop_1 and fold_convert_1 into
+ 	their callers.
+ 	* real.h: Define REAL_VALUE_ABS here...
+ 	* simplify-rtx.c: ... not here.  Fold check_fold_consts,
+ 	simplify_unary_real, simplify_binary_real, and
+ 	simplify_binary_is2orm1 into their callers.
+ 	* tree.c: Fold build_real_from_int_cst_1 into caller.
+ 
+ 	* doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
+ 
+ 	* tsystem.h: Include float.h here...
+ 	* libgcc2.c: ... not here.
+ 
+ 2002-03-25  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	Fixes for: PR bootstrap/3591, target/5676
+ 	* config/mcore/mcore.h (CC1_SPEC): Define only if not already
+ 	defined.  Do not disable exceptions or rtti.
+ 	* config/mcore/mcore-pe.h (CC1_SPEC): Define before including
+ 	mcore.h.  Disable exceptions and rtti, since they are not
+ 	supported by EPOC.
+ 
+ 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c (maybe_build_cleanup): Remove.
+ 	* expr.c (expand_expr): Use langhook.
+ 	* langhooks-def.h (lhd_return_null_tree,
+ 	LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
+ 	(LANGHOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_return_null_tree): New.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* tree-inline.c (initialize_inlined_parameters): Use langhook.
+ 	* tree.h (maybe_build_cleanup): Remove.
+ 
+ 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* regrename.c (build_def_use): Move recog_memoized
+ 	before extract_insn.
+ 
+ 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/6043
+ 	* expr.c (emit_group_store): Handle storing into CONCAT.
+ 
+ 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
+ 	corresponding MATCH_DUP.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unroll.c (unroll_loop): Zero label_map.
+ 
+ 	* gcse.c: Include except.h.
+ 	* Makefile.in (gcse.o): Update.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
+ 	Do resolve_unique_section before shared data clause.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (peephole2_optimize): Split blocks when EH insns are
+ 	generated in the middle of a block.  Do global life update if
+ 	zapped EH edges.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* mips.c (mips_function_value): Only promote_mode for non-libcalls.
+ 
+ 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	preprocessor/3951
+ 	* gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
+ 	* cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
+ 	(init_dependency_output): Don't make no_output decision here.
+ 
+ 2002-03-24  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* stmt.c (check_for_full_enumeration_handling): Remove tests of
+ 	warn_switch.  Update description.
+ 	(expand_end_case_type): Call check_for_full_enumeration_handling
+ 	when warn_switch.
+ 
+ 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
+ 	(m68hc11_split_move): Call it to see if the source and destination
+ 	operands use the same direction auto inc/dec mode, otherwise make the
+ 	source an offsetable memory operand and generate an add.
+ 
+ 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
+ 	register for operand 2.
+ 	("*subsi3_zero_extendqi"): Likewise.
+ 	("*iorhi3_gen"): Do the operation on the upper bits and then lower
+ 	bits so that it is compatible with a pop.
+ 	("*andhi3_gen"): Likewise.
+ 	("xorhi3"): Likewise.
+ 
+ 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (cpp_handle_option): Set warn_endif_labels if
+ 	-pedantic here...
+ 	(cpp_post_options): ... not here.
+ 
+ 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	Removal of separate preprocessor cpp0.
+ 
+ 	* Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
+ 	cpp0, install-common): Update.
+ 	* c-common.c (flag_preprocess_only): New.
+ 	(c_common_init): Preprocess for -E.
+ 	* c-common.h (flag_preprocess_only): New.
+ 	* c-decl.c (c_decode_option): Handle -E and -std=c++98.
+ 	* c-objc-common.c (c_init_decl_processing): Exit quickly
+ 	for NULL return from c_common_init.
+ 	* cpplib.h (cpp_preprocess_file): New.
+ 	* cppmain.c (main, general_init, pfile, progname): Remove.
+ 	(do_preprocessing): Rename cpp_preprocess_file, don't call
+ 	cpp_finish.  Don't close stdout here.
+ 	(setup_callbacks): Update prototype.
+ 	* gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
+ 	Update.
+ 	* tradcpp.c (main): Ignore -quiet.
+ objc:
+ 	* lang-specs.h (default_compilers): Preprocess with cc1obj.
+ 
+ 2002-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/5742
+ 	* machmode.def: Add inner mode field to complex modes.
+ 	* config/mips/mips.c (mips_function_value): Always define.  Add
+ 	new argument to handle libcalls.
+ 	* config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
+ 	(FUNCTION_VALUE): Likewise.
+ 	* config/mips/abi64.h (FUNCTION_VALUE): Remove.
+ 	* config/mips/mips-protos.h: Update.
+ 
+ 2002-03-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_floatunsdi): New.
+ 	* config/sparc/sparc-protos.h: Update.
+ 	* config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
+ 
+ 2002-03-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/gmon-sol2.c (internal_mcount): Assume either
+ 	_start or _init begins the text segment.
+ 
+ 2002-03-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (RETURN_IN_MEMORY):  Cast to HOST_WIDE_INT
+ 	not HOST_WIDEST_INT.
+ 	(RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
+ 
+ 2002-03-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR java/5489
+ 	* arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
+ 	operand argument to output_return_instruction.
+ 	* arm.c (arm_print_operand, case 'd'): If the operand is
+ 	const_true_rtx then just return.
+ 	(arm_print_operand, case 'D'): If the operand is const_true_rtx
+ 	then abort.
+ 
+ 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* doc/invoke.texi (Option Summary): Mention -Wswitch-default.
+ 	(Warning Options): Document -Wswitch-default.
+ 	* toplev.c (W_options): Add -Wswitch-default.  Update comment on
+ 	-Wswitch.
+ 	(warn_switch_default): Define variable.
+ 	(warn_switch): Update comment.
+ 	* flags.h (warn_switch_default): Declare variable.
+ 	(warn_switch): Update comment.
+ 	* stmt.c (expand_end_case): Check for and, when
+ 	warn_switch_no_default, warn of a missing default case.
+ 
+ 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* real.h (N): Special case 128 bit doubles.
+ 
+ 	* combine.c (simplify_comparison): When widening modes, ignore
+ 	sign extension on CONST_INTs.
+ 
+ 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (print_operand): Fix incorrect mode
+ 	passed to adjust_address.  Fix comment formatting.
+ 
+ 
+ 2002-03-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
+ 	Always make REAL_VALUE_TYPE a struct containing an array of
+ 	HOST_WIDE_INT, not a double.  Tidy up the code deciding how
+ 	big it is.  Don't declare or use union real_extract.
+ 
+ 	* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
+ 	decode_rtx_const, output_constant_pool), config/a29k/a29k.c
+ 	(print_operand), config/arm/arm.c (output_move_double),
+ 	config/arm/arm.md (consttable_4, consttable_8),
+ 	config/romp/romp.c (output_fpops), config/s390/s390.h
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
+ 	(xtensa_output_literal): Don't use union real_extract.
+ 
+ 	* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
+ 	(sfmode_constant_to_ulong), config/ns32k/merlin.h
+ 	(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
+ 	config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
+ 	(PRINT_OPERAND): Don't use local version of union
+ 	real_extract.
+ 
+ 	* config/convex/convex.c (check_float_value), config/vax/vax.c
+ 	(vax_float_literal), config/m88k/m88k.md (divdf3),
+ 	config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
+ 	config/pdp11/pdp11.c (output_move_quad): Don't do host
+ 	arithmetic on target floating point quantities.
+ 
+ 	* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
+ 	(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
+ 
+ 	* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
+ 	Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
+ 
+ 	* real.c (earith): Test INFINITY rather than REAL_INFINITY;
+ 	NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
+ 	INFINITY.
+ 	* print-rtl.c (print_rtx): Disable code which needs
+ 	floating-point emulator.
+ 	* libgcc2.c: Include float.h and use DBL_MANT_DIG,
+ 	FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
+ 	depending on HOST_FLOAT_FORMAT to be defined properly.
+ 
+ 	* config/1750a/1750a.c (get_double, float_label): Delete.
+ 	(print_operand): Delete huge commented-out chunk.  Use
+ 	REAL_VALUE_TO_DECIMAL.
+ 	* config/1750a/1750a-protos.h: Delete prototypes of deleted
+ 	functions.
+ 	* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
+ 	IEEE_FLOAT_FORMAT.
+ 	* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
+ 	Use REAL_VALUE_TO_DECIMAL as ELF version does.
+ 	* config/m88k/m88k.c (real_power_of_2_operand,
+ 	legitimize_operand): Take the REAL_VALUE_TYPE and/or union
+ 	real_extract out of the union; run the input through
+ 	REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
+ 	from that into the union.
+ 	* config/pdp11/pdp11.c (output_move_double): Rearrange
+ 	parentheses to make automatic indenter happy.
+ 
+ 	* doc/tm.texi (Cross-compilation): Rename node to "Floating
+ 	Point" and rewrite to describe current situation.  Also adjust
+ 	documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
+ 	match code.
+ 	* doc/rtl.texi: Adjust cross reference.
+ 
+ 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
+ 	(xtensa_valid_move, xtensa_preferred_reload_class): Define.
+ 	* config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
+ 	(xtensa_valid_move, xtensa_preferred_reload_class): Define to
+ 	prevent use of sp as a reload register.
+ 	(xtensa_emit_move_sequence): Use xtensa_valid_move instead of
+ 	non_acc_reg_operand.
+ 	* config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
+ 	(PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
+ 	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
+ 	movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
+ 
+ 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
+ 	* cpplex.c (unterminated): Delete.
+ 	(parse_string): No string literal may extend over multiple
+ 	lines.  Suppress the error when preprocessing assembly.
+ 	* cppmain.c (scan_translation_unit): Strings are single-line.
+ 
+ 	* doc/cpp.texi: Update to match.
+ 
+ 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5854
+ 	* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
+ 	Shut up warnings.
+ 	(CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
+ 	(EXTRA_CONSTRAINT): Use S for non-push memory operand.
+ 	* config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
+ 	const0 if scratch register was not allocated.
+ 	(m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
+ 	m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
+ 	with GEN_INT (...).
+ 	(m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
+ 	* config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
+ 	with GEN_INT (...) everywhere.  Remove constraints in define_split
+ 	patterns.
+ 	(movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
+ 	require scratch register for setting 0 into regs/non-pushable memory.
+ 
+ 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_RETURN_ADDR): Define.
+ 	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
+ 
+ 2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* cpplib.h (struct cpp_options):  New member, warn_endif_labels.
+ 	* cppinit.c (cpp_create_reader):  On by default.
+ 	(cpp_handle_option):  Handle -W[no-]endif-labels.
+ 	(cpp_post_options):  Also enable if -pedantic.
+ 	* cpplib.c (do_else):  Use it.
+ 	(do_endif):  Likewise.
+ 	* doc/cppopts.texi:  Document new option.
+ 	* doc/invoke.texi:  Document new option.
+ 
+ 2002-03-22  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* config/i386/i386.c, config/i386/i386.md: Change all occurences
+ 	of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
+ 
+ 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* flow.c (calculate_global_regs_live): Clear aux fields of
+ 	ENTRY and EXIT.
+ 
+ 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/v850/v850.c (v850_reorg): Only call alter_subreg on
+ 	REG or MEM subregs, pass rtx * instead of rtx to it.
+ 	* config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
+ 	rtx * instead of rtx to alter_subreg.
+ 	* config/m32r/m32r.c (gen_split_move_double): Likewise.
+ 	* config/pj/pj.c (pj_output_rval): Likewise.
+ 
+ 2002-03-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/3177
+ 	* config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
+ 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
+ 	* config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
+ 	(ia64_expand_prologue): Look at int_regs, not words, for number
+ 	of incomming int regs.
+ 
+ 2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* expr.c (expand_expr): A RESULT_DECL is part of a call.
+ 
+ Fri Mar 22 16:30:42 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (flag_loop_optimize, flag_crossjumping):
+ 	New static variables.
+ 	(rest_of_compilation): Conditionalize crossjumping and
+ 	loop optimizer.
+ 	(parse_options_and_default_flags): Default loop_optimize and
+ 	crossjumping.
+ 	(lang_independent_options): Add -fcrossjumping and -floop-optimize
+ 	* invoke.texi (crossjumping, loop-optimize): Document.
+ 
+ 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* real.c (eiisneg): Move outside #ifdef NANS.
+ 
+ Fri Mar 22 12:08:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (outgoing_edges_math): Fix condition; relax
+ 	frequencies match; avoid match on different loop depths.
+ 	(try_crossjump_to_bb): Kill tests that no longer brings time
+ 	savings.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
+ 	updating code.
+ 	(split_edge): Likewise.
+ 
+ 	* flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
+ 	variable.
+ 
+ 	* Makefile.in (cfgrtl): Add insn-config.h depenendency.
+ 	* cfgrtl.c: Include insn-config.h
+ 	(split_block) Dirtify block in presence of conditional execution
+ 
+ 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
+ 	* config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
+ 	(function_arg): Constify CUMULATIVE_ARGS.
+ 	(function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
+ 	* config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
+ 	(UNITS_PER_DOUBLE): New macro.
+ 	(SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
+ 	(CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
+ 	last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
+ 	fp_regs and stack_words.
+ 	(EABI_FLOAT_VARARGS_P): New macro.
+ 	* config/mips/mips.c (struct mips_arg_info): New.
+ 	(mips_arg_info): New function.
+ 	(function_arg_advance): Use it.  Add adjustment instructions here
+ 	rather than in function_arg.
+ 	(function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
+ 	for VOIDmode at the beginning of the function.
+ 	(function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
+ 	(function_arg_pass_by_reference): Likewise.
+ 	(mips_setup_incoming_varags): New, largely based on old abi64.h code.
+ 	(mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
+ 	(mips_va_start): Likewise.  Use the new stack_words field of
+ 	CUMULATIVE_ARGS to set up overflow area.  Reformat.
+ 	(mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
+ 	doubles and other types, aligning the overflow pointer for non-doubles
+ 	too.  Remove some code duplication.  Replace hard-coded constants.
+ 
+ 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
+ 	(CLASS_UNITS): Undefine.
+ 	(CLASS_MAX_NREGS): Use FP_INC.
+ 	* config/mips/mips.c (compute_frame_size): Likewise.
+ 	(override_options): Use FP_INC and UNITS_PER_FPVALUE.
+ 
+ 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
+ 	prototype, and handle lexing numbers and identifiers.
+ 	(parse_identifier): Update to new form of parse_slow.
+ 	(parse_number): Fast path only, use parse_slow otherwise.
+ 	(_cpp_lex_direct): Update calls to parse_number.
+ 
+ 2002-03-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* bb-reorder.c (make_reorder_chain_1): Protect against
+ 	when redundant edges are omitted.
+ 	* predict.c (dump_prediction): Likewise.
+ 
+ 2002-03-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5996
+ 	* fixinc/inclhack.def (solaris_stdio_tag): New.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
+ 
+ 	PR c/5597
+ 	* c-typeck.c (process_init_element): Flag non-static
+ 	initialization of a flexible array member as illegal.
+ 
+ 2002-03-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/t-linux64: New.
+ 	* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
+ 	t-ppccomm.  Use t-rs6000 and t-linux64.
+ 	(powerpc64-*-gnu* <tmake_file>): Likewise.
+ 	* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
+ 	* mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
+ 	* Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
+ 
+ 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
+ 	flag_really_no_inline instead of optimize == 0.
+ 
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Same.
+ 
+ 	* cp/tree.c (cp_cannot_inline_tree_fn): Same.
+ 
+ 	* flags.h (flag_really_no_inline): New.
+ 
+ 	* c-common.c (c_common_post_options): Initialize
+ 	flag_really_no_inline.
+ 
+ 	* toplev.c (flag_really_no_inline): New.
+ 
+ 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/avr/avr.md (length): Fix length computation for
+ 	conditional branches.
+ 
+ 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (fold-const.o, stor-layout.o, stmt.o,
+ 	sdbout.o, profile.o): Update.
+ 	* c-common.c (c_common_nodes_and_builtins): Use pushdecl
+ 	langhook.
+ 	* c-common.h (gettags): Move here from tree.h.
+ 	* c-tree.h (pushdecl, pushlevel, poplevel, set_block,
+ 	insert_block, getdecls, kept_level_p, global_bindings_p): New.
+ 	* dbxout.c (dbxout_init): Use getdecls langhook.
+ 	* expr.c (expand_expr): Use insert_block langhook.
+ 	* fold-const.c: Include langhooks.h.
+ 	(fold_range_test, fold_binary_op_with_conditional_arg,
+ 	fold): Use global_bindings_p langhook.
+ 	* integrate.c (expand_inline_function): Use insert_block langhook.
+ 	* langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
+ 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
+ 	LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
+ 	LANG_HOOKS_GETDECLS): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
+ 	langhook.
+ 	* langhooks.h (struct lang_hooks_for_decls): New.
+ 	(struct lang_hooks): Update.
+ 	* profile.c: Include langhooks.h.
+ 	(output_func_start_profiler): Use new langhooks.
+ 	* sdbout.c: Include langhooks.h.
+ 	(sdbout_init, sdbout_finish): Use getdecls langhook.
+ 	* stmt.c: Include langhooks.h.
+ 	(expand_fixup, fixup_gotos): Use new langhooks.
+ 	* stor-layout.c: Include langhooks.h.
+ 	(variable_size): Use global_bindings_p langhook.
+ 	* toplev.c (compile_file): Use getdecls langhook.
+ 	* tree-inline.c (remap_block): Use insert_block langhook.
+ 	* tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
+ 	insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
+ 
+ 2002-03-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
+ 	constants in .data when -fpic.
+ 
+ 2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
+ 	where appropriate.
+ 
+ 2002-03-21  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
+ 
+ Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
+ 
+ 	* expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
+ 
+ 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5354
+ 	* c-common.c (c_expand_expr): Preserve result of a statement
+ 	expression if needed.
+ 
+ 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR bootstrap/4195
+ 	* genrecog.c (maybe_both_true_mode): Remove.
+ 	(maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
+ 	* machmode.def (Pmode): Likewise.
+ 
+ Thu Mar 21 01:55:06 EST 2002  John Wehle  (john@feith.com)
+ 
+ 	* alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
+ 	(nonlocal_mentioned_p_1): New function.
+ 	(nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
+ 	(nonlocal_set_p, nonlocal_set_p_1): Likewise.
+ 	(mark_constant_function): Recognize pure functions.
+ 	* rtl.h (global_reg_mentioned_p): New prototype.
+ 	* rtlanal.c (global_reg_mentioned_p,
+ 	global_reg_mentioned_p_1): New function.
+ 
+ 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
+ 	UNIX assert.h.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2002-03-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
+ 
+ 2002-03-20  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Document that -O2 sets
+ 	-fstrict-aliasing.
+ 
+ 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
+ 	".literal_position" directive before the constant pool.
+ 
+ 2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Update Geoffrey Keating.
+ 	Add Craig Rodrigues.
+ 	Add Brad Lucier to testers.
+ 
+ 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/4792
+ 	* config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
+ 	to if_then_else.
+ 	(movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
+ 	* config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
+ 	instead of insn_extract.
+ 
+ 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR bootstrap/4192
+ 	* config/fr30/fr30.md (jump): Remove clobber of fixed register.
+ 
+ 	* genemit.c (output_added_clobbers_hard_reg_p): Only output return
+ 	stmt if some case has been output.
+ 
+ 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5972
+ 	* config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
+ 	movsfcc_1, movdfcc_1): Add %O2.
+ 	* config/i386/i386.c (print_operand): Handle %ON.
+ 	Print . before float condition codes in Sun as cmov syntax.
+ 	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
+ 	* config.gcc (i[34567]86-*-solaris2*): Remove comment which is
+ 	no longer true.
+ 
+ 2002-03-20  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Don't generate separate
+ 	return instruction if PC was popped.
+ 
+ 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md: Remove unused type attributes.
+ 	(adddi_carry, subddi_carry): Change type attribute to "multi".
+ 
+ 2002-03-19  Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR optimization/5999, middle-end/5731
+ 	* expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
+ 	multiplications by reciprocals.
+ 
+ 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.c: Include langhooks.h.
+ 	(inline_forbidden_p): Use new hook.
+ 	* diagnostic.c: Include langhooks.h.
+ 	(format_with_decl, announce_function,
+ 	default_print_error_function): Use new hook.
+ 	* dwarf2out.c (dwarf2_name): Use new hook.
+ 	* function.c: Include langhooks.h.
+ 	(init_function_start): Use new hook.
+ 	* langhooks-def.h (lhd_decl_printable_name): New.
+ 	(LANGHOOKS_DECL_PRINTABLE_NAME): New.
+ 	(LANGHOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_decl_printable_name): New.
+ 	* langhooks.h (struct lang_hooks): New hook.
+ 	* toplev.c (decl_name, decl_printable_name): Remove.
+ 	(open_dump_file): Use new hook.
+ 	(process_options): Remove old hook.
+ 	* tree.h (decl_printable_name): Remove.
+ objc:
+ 	* objc-act.c (objc_init): Remove old hook.
+ 	(objc_printable_name): Export.
+ 	* objc-act.h (objc_printable_name): New.
+ 	* objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
+ 
+ 2002-03-19  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* c-lex.c (cb_file_change): Pass the #inclusion's line number to
+ 	the start_source_file debug hook, not the current line number.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (EH_USES): Provide default.
+ 	(calculate_global_regs_live): Use it for EH edges and noreturn calls.
+ 	* doc/tm.texi (EH_USES): New.
+ 
+ 	* config/ia64/ia64.c (ia64_eh_uses): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.h (EH_USES): New.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (output_constant_def): Fix stupid typo.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 5879
+ 	* except.c (current_function_has_exception_handlers): New.
+ 	* except.h: Declare it.
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
+ 	Combine tests that disable all sibcalls for the function.
+ 
+ 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
+ 	for INTEGER_CST.
+ 
+ 2002-03-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 5977, 5991
+ 	* config/ia64/ia64.c: Revert 2002-03-01 patch.
+ 	* config/ia64/ia64.h (INIT_EXPANDERS): New.
+ 
+ 2002-03-19  Jim Blandy  <jimb@redhat.com>
+ 
+ 	* cppmacro.c (cpp_macro_definition): Emit a space after the macro
+ 	name, even if the replacement list contains no tokens, as required
+ 	by Dwarf.
+ 
+ 2002-03-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* varasm.c (globalize_decl): Get the name from the RTL, not
+ 	DECL_ASSEMBLER_NAME.
+ 
+ 	* Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
+ 
+ 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
+ 	subdi_carry): Define.
+ 
+ 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Only warn
+ 	about -fpic/-fPIC if extra_warnings set.
+ 
+ 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (expand_expr): Sign-extend CONST_INT generated from
+ 	TREE_STRING_POINTER.
+ 	* fold-const.c (fold): Delete #if 0 ARRAY_REF case.
+ 
+ Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
+ 	in favor of SP if FRAME_POINTER_REQUIRED is false.
+ 
+ 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
+ 
+ 	* emit-rtl.c (gen_int_mode): New function.
+ 	* rtl.h: Prototype for it.
+ 	* combine.c (make_extraction, simplify_comparison), expmed.c
+ 	(store_bit_field, expand_mult_highpart, expand_divmod), expr.c
+ 	(convert_modes, store_field), optabs.c (expand_fix),
+ 	simplify-rtx.c (neg_const_int, simplify_unary_real),
+ 
+ 	* config/rs6000/rs6000.c, config/rs6000/rs6000.md:
+ 	Use it instead of GEN_INT (trunc_int_for_mode (...)).
+ 
+ 2002-03-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5656
+ 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
+ 	convert_parm_for_inlining.
+ 	* c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
+ 	Define.
+ 	* langhooks-def.h: Likewise.
+ 	* objc/objc-lang.c: Likewise.
+ 	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
+ 	function.
+ 	* tree-inline.c (initialize_inlined_parameters):
+ 	Call convert_parm_for_inlining lang hook if needed.
+ 	* c-typeck.c (c_convert_parm_for_inlining): New function.
+ 	* c-tree.h (c_convert_parm_for_inlining): Add prototype.
+ 
+ 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (precompute_arguments): Do not assume that temporaries
+ 	can be destroyed after expanding the argument.
+ 	(expand_call): Likewise.
+ 
+ 2002-03-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md (movdf_internal2): Add two new move constraints.
+ 	Fix register preference on last change.
+ 	* config/mips/mips.c (mips_return_in_memory): New function.
+ 	* config/mips/mips.h (RETURN_IN_MEMORY): Use.
+ 	* config/mips/mips-protos.h: Declare.
+ 	* config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
+ 	* config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
+ 
+ 2002-03-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
+ 	a register too.
+ 	(anddi3, iorsi3): Likewise.
+ 
+ 	* config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
+ 	use %gprel for symbols that are going to be placed in linkonce
+ 	sections.
+ 
+ 	* config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
+ 	RETURN_ADDRESS_POINTER_REGNUM to $ra.
+ 	(CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
+ 	not needed.  Disregard leaf_function_p().
+ 	(INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
+ 	mips16 frame pointer.
+ 	* config/mips/mips.md (store ra): Only to small SP offsets.
+ 	2001-08-22  Graham Stott  <grahams@redhat.com>
+ 	* config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
+ 	return a REG rtx for the return address register.
+ 
+ 2002-03-18  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
+ 	constant-pool addresses as "mode-dependent".
+ 	(GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
+ 
+ 2002-03-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/5740
+ 	* expr.c (emit_group_load): Use extract_bit_field if
+ 	needed for CONCAT arguments.
+ 
+ 2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/4863
+ 	* arm.md (tablejump): Make this a define_expand.  For PIC add the
+ 	offset to the base of the table.
+ 	(thumb_tablejump): Matcher for Thumb tablejump insn.
+ 	* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
+ 	as the difference of two labels.
+ 	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
+ 	tables in the code.
+ 	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
+ 	* arm.c (get_jump_table_size): If the table is not in the text
+ 	section, return zero.
+ 
+ 2002-03-18  Bernd Schmidt  <bernds@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
+ 	of gen_rtx_SUBREG.
+ 	(arm_reload_out_hi): Use gen_lowpart instead of
+ 	gen_rtx_SUBREG to access QImode components.
+ 	* config/arm/arm.md: Disable zero_extend split for QImode
+ 	subregs in BIG_ENDIAN mode.
+ 	(storehi_bigend): Match use of least significant byte.
+ 	(storeinthi): Remove extraneous SUBREG.
+ 	Add missing construction of operands[2].
+ 	(movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
+ 	(movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
+ 	Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
+ 
+ 2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
+ 	any_operand.
+ 
+ 2002-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
+ 	explicitly.
+ 
+ 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
+ 	(unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
+ 
+ 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ifcvt.c (dead_or_predicable): Fix uninitialized variable.
+ 
+ 	* predict.c (estimate_bb_frequencies): Delete unused variables.
+ 
+ 2002-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_attribute_table): Move before
+ 	targetm definition.  Make static.
+ 
+ 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-common.h (yyparse, c_common_parse_file): New.
+ 	* c-lang.c: Include c-common.h.
+ 	(LANG_HOOKS_PARSE_FILE): Redefine.
+ 	* c-lex.c: Include c-common.h.
+ 	(yyparse): Rename c_common_parse_file.  Call yyparse.
+ 	* c-parse.in (yyparse): Remove macro.
+ 	* c-tree.h (yyparse_1): Remove.
+ 	* langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hoooks): New hook parse_file.
+ 	* toplev.c (compile_file): Use parse_file hook.
+ 	* tree.h (yyparse): Remove.
+ 	* objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
+ 
+ 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("truncdfsf2"): Correct operator is
+ 	float_truncate, not fix.
+ 	("*truncdfsf2_real"): Ditto.
+ 	("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
+ 
+ 	* config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
+ 
+ 2002-03-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
+ 	(s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
+ 	where appropriate.  Make the second reference to
+ 	leaf_function_p a function call, as intended.  Reindented.
+ 
+ 	* config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
+ 	* config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
+ 
+ 	* config/mips/mips.md (addsi3, adddi3): Use scratch register to
+ 	add register to non-constant into sp.
+ 
+ 	* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
+ 	* config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
+ 	(mips16_gp_pseudo_rtx): Lose.
+ 	(INIT_EXPANDERS): Deleted.
+ 	* config/mips/mips.c (mips_init_machine_status): New.
+ 	(mips_free_machine_status): New.
+ 	(mips_mark_machine_status): New.
+ 	(override_options): Set them.
+ 	(embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
+ 	(struct machine_function): ... new.  Replaced all references.
+ 	(mips_add_gc_roots): Don't mark them.
+ 	(embedded_pic_fnaddr_reg): New, extracted from...
+ 	(embedded_pic_offset): ... here.
+ 	* config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
+ 	(movsi): Likewise.
+ 
+ 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c: Revert -MD removal.
+ 
+ 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
+ 	soft registers by default for 68HC12.
+ 	(m68hc11_conditional_register_usage): Don't use Z register for 68HC12
+ 	when compiling with -fomit-frame-pointer.
+ 	(expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
+ 	(expand_epilogue): Likewise.
+ 	(m68hc11_gen_rotate): Use exg when rotating by 8.
+ 
+ 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
+ 	* config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
+ 	(splits): Remove unused add splits.
+ 	("*addhi3_68hc12"): Tune constraints.
+ 	("addhi_sp"): Try to use X instead of Y in all cases and if the
+ 	constant fits in 8-bits and D is dead use abx/aby instructions.
+ 	("*addhi3"): Remove extern declaration of ix_reg.
+ 	("*subsi3"): Optimize and provide new split.
+ 	("subhi3"): Cleanup.
+ 	("*subhi3_sp"): Avoid saving X if we know it is dead.
+ 	(arith splits): For 68hc12 save the address register on the stack
+ 	and do the arithmetic operation with a pop.
+ 
+ 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
+ 	allocating QImode in address registers.
+ 	("*movqi_m68hc11"): Likewise.
+ 
+ Sat Mar 16 12:57:28 CET 2002  Jan HUbicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
+ 
+ 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (print_help): Display -MD and -MMD.
+ 	Don't display usage string.  Update assertion syntax and
+ 	typo.
+ 	(COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
+ 	(cpp_handle_option): Update.
+ 
+ 2002-03-15  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
+ 	MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
+ 	and define it so that regardless of target CPU size,
+ 	__SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
+ 	of "int" rather than "long."
+ 
+ 2002-03-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_va_arg): Manipulate the type
+ 	size as a tree.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
+ 	("tstqi" split): Avoid using memory for tstqi on address register.
+ 	(splits): Remove constraints.
+ 	("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
+ 	("cmpdf", "cmpsf"): Remove since not used.
+ 	("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
+ 	(peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
+ 	("neghi2"): Tighten constraints.
+ 	("one_cmplsi2"): Optimize and simplify split.
+ 	* config/m68hc11/larith.asm (__negsi2): Likewise for library.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
+ 	and split of AND operation to clear the upper bits.
+ 	("*logicalsi3_zextqi"): Likewise.
+ 	("*logicallhi3_zexthi_ashift8"): Likewise.
+ 	("*logicalsi3_silshr16"): Likewise.
+ 	("logicalsi3_silshl16"): Likewise.
+ 	("anddi3", "iordi3", "xordi3" splits): Remove constraints.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
+ 	(m68hc11_indirect_p): New function.
+ 	(m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
+ 	(m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
+ 	TARGET_M6812.
+ 	(asm_print_register): Likewise.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
+ 	(m68hc11_indirect_p): Declare.
+ 	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
+ 	(TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
+ 	(TARGET_SWITCHES): New option -mrelax.
+ 	* config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
+ 	destination.
+ 	("iorsi3", "xorsi3"): Likewise.
+ 	("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
+ 	("*andhi3_mem"): New to handle destination in memory with bclr
+ 	and a scratch register.
+ 	("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
+ 	("*andhi3_const"): New when operand2 is constant.
+ 	("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
+ 	("*andhi3_gen"): Cleanup of the old "andhi3".
+ 	("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
+ 	("xorqi3"): Update constraints.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
+ 	for reg_equiv_memory_loc when the operand is a register that does
+ 	not get a hard register (stack location).
+ 	(tst_operand): After reload, accept all memory operand.
+ 	(symbolic_memory_operand): Fix detection of symbolic references.
+ 	* config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
+ 	accept symbols and any constant.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
+ 	note on the insn that sets the soft frame register.
+ 	(must_parenthesize): ix and iy are also reserved names.
+ 	(print_operand_address): One more place where parenthesis are required
+ 	to avoid confusion with register names.
+ 	(m68hc11_gen_movhi): Allow push of stack pointer.
+ 	(m68hc11_check_z_replacement): Fix handling of parallel with a
+ 	clobber.
+ 	(m68hc11_z_replacement): Must update the REG_INC notes to tell what
+ 	the replacement register is.
+ 	* config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
+ 	and D8_REGS classes.
+ 	(MODES_TIEABLE_P): All modes are tieable except QImode.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
+ 	(___subdi3): Likewise.
+ 	(__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
+ 	(__map_data_section): Optimize 68hc11 case.
+ 
+ 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
+ 	than a shift to avoid adding a register with itself.
+ 	(m68hc11_memory_move_cost): Take into account NO_REGS.
+ 	(m68hc11_register_move_cost): Update and use memory move cost
+ 	for soft registers.
+ 	(m68hc11_address_cost): Make cost of valid offset not 0 so that
+ 	it gives more opportunities to cse to optimize.
+ 	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
+ 
+ 2002-03-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (statement_code_p): Handle CLEANUP_STMT.
+ 	* c-common.def (CLEANUP_STMT): New tree node.
+ 	* c-common.h (CLEANUP_DECL): New macro.
+ 	(CLEANUP_EXPR): Likewise.
+ 	* c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
+ 	* expr.c (expand_expr): Tidy.
+ 	* tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
+ 	* tree-inline.c (initialize_inlined_parameters): Clean up
+ 	new local variables.
+ 
+ 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR bootstrap/4128
+ 	* config/sparc/sparc.c (gen_v9_scc): Move early clobber test
+ 	before movrXX only, use reg_overlap_mentioned_p.
+ 	Only special case NE if just one insn can be generated.
+ 
+ 2002-03-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* varasm.c (assemble_variable): Call resolve_unique_section before
+ 	checking DECL_SECTION_NAME.  Use zeros for a decl with DECL_INITIAL
+ 	of error_mark_node.
+ 
+ 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/5170
+ 	* arm.md (split pattern for thumb shiftable immediates): Add comment
+ 	explaining non-obvious test.
+ 
+ 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/5712
+ 	* arm.md (movaddr, movaddr_insn): Delete.
+ 
+ 2002-03-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* toplev.c (wrapup_global_declarations): Clarify variable handling.
+ 	-fkeep-static-consts doesn't apply to comdats.
+ 
+ 2002-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c: Include c-pragma.h.
+ 	(start_decl, start_function): Invoke maybe_apply_pragma_weak.
+ 	(finish_function): Tidy.
+ 	* c-pragma.c: Include c-common.h.
+ 	(pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
+ 	(handle_pragma_weak): Use them.
+ 	(init_pragma): Register pending_weaks.
+ 	* c-pragma.h (maybe_apply_pragma_weak): Declare.
+ 	* print-tree.c (print_node): Print DECL_WEAK.
+ 	* varasm.c (mark_weak_decls): Remove.
+ 	(remove_from_pending_weak_list): Remove.
+ 	(add_weak): Remove.
+ 	(asm_emit_uninitialised): Call globalize_decl for weak commons.
+ 	(weak_decls): Make a tree_list.
+ 	(declare_weak): Cons weak_decls directly.
+ 	(globalize_decl): Remove weak_decls elements directly.
+ 	(weak_finish): Simplify weak_decls walk.  Don't weaken unused
+ 	symbols.  Don't pretend to handle aliases.
+ 	(init_varasm_once): Update weak_decls registry.
+ 	* Makefile.in: Update dependencies.
+ 
+ 2002-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/5312
+ 	* config/ia64/ia64.c: Include tm_p.h last.
+ 	(gen_nop_type): Remove duplicate definition.
+ 	(cycle_end_fill_slots): Set sched_data for second L slot.
+ 	(maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
+ 	(nop_cycles_until): Fix typos.
+ 
+ 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5891
+ 	* unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
+ 
+ 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
+ 
+ 	* config/ia64/unwind-ia64.c: Handle copy_state and label_state
+ 	  descriptors correctly.
+ 
+ 2002-03-14  Michael Meissner  <meissner@redhat.com>
+ 
+ 	* params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
+ 	100, allowing MAX_UNROLLED_INSNS to be overridden.
+ 
+ 	* params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
+ 	--param.
+ 
+ 	* unroll.c (params.h): Include.
+ 	(MAX_UNROLLED_INSNS): Delete, now in params.h.
+ 
+ 	* doc/invoke.texi (--param max-unroll-insns): Document.
+ 
+ 	* Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
+ 
+ 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md: Fix warnings about constraints in peepholes and splits.
+ 
+ 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpphash.h (struct lexer_state): Remove line_extension member.
+ 	* cpplib.c (dequote_string, do_linemarker): New functions.
+ 	(linemarker_dir): New data object.
+ 	(DIRECTIVE_TABLE): No longer need to interpret #line in
+ 	preprocessed source.  Delete obsolete comment about return
+ 	values of handlers.
+ 	(end_directive, directive_diagnostics, _cpp_handle_directive):
+ 	Don't muck with line_extension.
+ 	(directive_diagnostics): No need to issue warnings for
+ 	linemarkers here.
+ 	(_cpp_handle_directive): Issue warnings for linemarkers here,
+ 	when appropriate.  Dispatch linemarkers to do_linemarker, not
+ 	do_line.
+ 	(do_line): Code to handle linemarkers split out to do_linemarker.
+ 	Convert escape sequences in filename argument, both places.
+ 
+ 	* cppmacro.c (quote_string): Rename cpp_quote_string and
+ 	export.  All callers changed.
+ 	* cpplib.h (cpp_quote_string): Prototype.
+ 	* cppmain.c (print_line): Call cpp_quote_string on to_file
+ 	before printing it.
+ 
+ 	* doc/cpp.texi: Document that escapes are now interpreted in
+ 	#line and in linemarkers, and that non-printing characters are
+ 	converted to octal escapes when linemarkers are generated.
+ 
+ Thu Mar 14 19:04:29 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (try_split): Use delete_insns.
+ 	* recog.c (split_all_insns): Fix terminating condition.
+ 
+ 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
+ 	    Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
+ 
+ 	PR target/5828
+ 	* arm.c (arm_output_epilogue): Fix floating-point register save
+ 	adjustment when using a frame pointer.
+ 
+ 2002-03-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
+ 	* config/mips/mips.c (compute_frame_size): Retrofit them here.
+ 	(save_restore_insns, mips_expand_epilogue): And here.
+ 	(build_mips16_call_stub): And here.
+ 	(mips_function_value): Use the new macros to decide whether a single
+ 	or complex float can be returned in floating-point registers.  Return
+ 	a parallel rtx in the complex case.
+ 
+ Thu Mar 14 11:03:12 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
+ 	call after liveness analysis.
+ 
+ 	* recog.c (split_insn): Use delete_insn_and_edges.
+ 
+ 	* cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
+ 	instructions to have branch prediction notes.
+ 	* ia64reorg.c (ia64_reorg): Do not rebuild CFG.
+ 
+ 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* configure.in: Don't pass -Wno-long-long to a ADA compiler
+ 	that doesn't support it.
+ 	* configure: Regenerate.
+ 
+ 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/5626
+ 	* config/sparc/sparc.md (normal_branch, inverted_branch,
+ 	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
+ 	inverted_fp_branch): Adjust calls to output_cbranch.
+ 	Set length attribute.
+ 	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
+ 	output_v9branch.  Set length attribute.
+ 	* config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
+ 	predicates.
+ 	(noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
+ 	(output_cbranch): Likewise.  Handle far branches.
+ 	(output_v9branch): Handle far branches.
+ 	* config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
+ 	Adjust prototypes.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
+ 	noov_compare64_op predicates.
+ 
+ 2002-03-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
+ 	into the function and constify it.
+ 	* gthr-dce.h, gthr-solaris.h: Likewise.
+ 
+ 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Use
+ 	std_expand_builtin_va_arg if not ABI_V4.
+ 
+ 2002-03-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* varasm.c (globalize_decl): New fn.
+ 	(assemble_start_function): Use it.
+ 	(asm_emit_uninitialized): Use it.
+ 	(assemble_alias): Use it.
+ 	(assemble_variable): Use it.
+ 
+ 2002-03-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_target_asm_function_prologue): Revert
+ 	2002-03-12 internal visibility change.
+ 	(cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
+ 	visibility into SYMBOL_REF_FLAG.
+ 
+ 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
+ 	VOIDmode operand.  Add compile-time optimization for constant results.
+ 
+ 2002-03-12  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-typeck.c (convert_for_assignment): Don't allow conversions
+ 	between pointers and references.  Only allow lvalues to convert to
+ 	reference.
+ 
+ 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
+ 	before prologue, to avoid scheduling problems.
+ 
+ 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
+ 	(ELIMINABLE_REGS): Add sfp->sp.
+ 	(INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
+ 
+ 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5892
+ 	* config/ia64/ia64.c (rotate_one_bundle): Update current packet.
+ 
+ 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* loop.c (basic_induction_var): Don't call convert_modes if mode
+ 	classes are different.
+ 
+ 2002-03-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/5901
+ 	* function.c (reposition_prologue_and_epilogue_notes): Position
+ 	the markers after/before the last/first insn not deleted.
+ 
+ 2002-03-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/5878
+ 	* config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
+ 	config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
+ 	(PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
+ 
+ 	* config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
+ 	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
+ 	PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
+ 
+ 	* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
+ 	* config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
+ 	(arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
+ 	also.  Don't set it if not flag_pic.
+ 	* config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
+ 	to be INVALID_REGNUM when not used.
+ 
+ 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Reset alias set for memory.
+ 	(extract_bit_field): Same.
+ 
+ 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-common.c (c_tree_code_type, c_tree_code_length,
+ 	c_tree_code_name, add_c_tree_codes): Delete.
+ 	* c-common.h (add_c_tree_codes): Delete.
+ 	* c-lang.c (tree_code_type, tree_code_length, tree_code_name):
+ 	Define.
+ 	* c-objc-common.c (c_objc_common_init): Don't call
+ 	add_c_tree_codes, instead set lang_unsafe_for_reeval.
+ 	* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
+ 	objc_tree_code_name, add_objc_tree_codes): Delete.
+ 	(objc_init): Don't call add_objc_tree_codes.
+ 	* objc/objc-lang.c (tree_code_type, tree_code_length,
+ 	tree_code_name): Define.
+ 	* toplev.c (lang_independent_init): Don't set
+ 	tree_code_length[IDENTIFIER_NODE].
+ 	* tree.c (tree_code_type, tree_code_length, tree_code_name):
+ 	Delete definitions, moved to language front-ends.
+ 	* tree.def (IDENTIFIER_NODE): Hardwire the length.
+ 	* tree.h (tree_code_type, tree_code_length, tree_code_name):
+ 	Const-ify.
+ 	(tree_code_length): Change type to unsigned char.
+ 
+ 2002-03-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
+ 	internal visibility change.
+ 
+ 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_expand_block_move): Use
+ 	validize_mem() instead of change_address to avoid clobbering
+ 	memory attributes.
+ 
+ 2002-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-lex.h (position_after_whitespace): Remove.
+ 
+ 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
+ 	(lex_string): Use unsigned char pointers.
+ 
+ 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
+ 	is not a valid memory_operand.
+ 
+ 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
+ 	* config/xtensa/lib1funcs.asm: Fix copyright to include
+ 	special case for libgcc files.
+ 	(__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
+ 	(__divsi3): Likewise.
+ 	(__umodsi3): Likewise.
+ 	(__modsi3): Likewise.
+ 	* config/xtensa/lib2funcs.S: Fix copyright to include
+ 	special case for libgcc files.
+ 
+ 2002-03-12  Tom Rix  <trix@redhat.com>
+ 
+ 	* collect2.c (resolve_lib_name): Move outside of
+ 	OBJECT_FORMAT_COFF ifdef.
+ 	(ignore_library): Same.
+ 
+ 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
+ 
+ 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
+ 	to function_section before writing out the constant pool.
+ 
+ 2002-03-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
+ 	zero_constant.
+ 	* config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
+ 
+ 2002-03-12  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (addsi3): Optimize sign extension.
+ 	(adddi3): Likewise.
+ 	(movdf): Likewise.
+ 	(movdi): Likewise.
+ 	(cmpsi splitter): Likewise.
+ 	(modsi3): Fail if <= 0.
+ 	* config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
+ 	redundant test when HOST_BITS_PER_WIDE_INT != 32.
+ 	(reg_or_sub_cint64_operand): Likewise.
+ 	(num_insns_constant_wide): Optimize sign extension.
+ 	(rs6000_legitimize_address): Likewise.
+ 
+ 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 	* config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 
+ 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
+ 	address calculation.
+ 
+ 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (reload_insi, reload_indi): Change mode of
+ 	scratch register to DImode / TImode.
+ 	config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
+ 	register used does not overlap the target.
+ 
+ 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (debug.o): Depend on debug.h.
+ 	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
+ 	* debug.c (do_nothing_debug_hooks): Likewise.
+ 	* debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
+ 	sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
+ 	dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
+ 	* dwarfout.c (dwarf_debug_hooks): Likewise.
+ 	* integrate.c (output_inline_function): Likewise.
+ 	* objc/objc-act.c (synth_module_prologue): Likewise.
+ 	* sdbout.c (sdb_debug_hooks): Likewise.
+ 	* toplev.c (debug_hooks): Likewise.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ 
+ 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
+ 	dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
+ 	m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
+ 	ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
+ 	v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
+ 	* defaults.h (POINTER_SIZE): Define.
+ 	* doc/tm.texi (POINTER_SIZE): Document default.
+ 
+ 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
+ 
+ 2002-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Call purge_all_dead_edges
+ 	if rebuild_label_notes_after_reload.
+ 
+ 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_target_asm_function_prologue):  Do not
+ 	emit pic register load if "internal" visibility.
+ 	(cris_print_operand): Avoid traditional-warning for 0xffffffff.
+ 	(cris_expand_builtin_va_arg): Do all computations on trees.
+ 
+ 2002-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtlanal.c: Include recog.h.
+ 	(keep_with_call_p): Fix thinko.
+ 	* Makefile.in (rtlanal.o): Update dependencies.
+ 
+ 2002-03-11  Chris Meyer  <cmeyer@gatan.com>
+ 
+ 	* genflags.c (gen_insn): Use IS_VSPACE.
+ 	* genoutput.c (output_insn_data): Likewise.
+ 	(process_template): Likewise.
+ 
+ 2002-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Don't compile if we've had errors.
+ 
+ 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
+ 	Update documentation.
+ 	* doc/gcc.texi: Include cppopts.texi and cppenv.texi.
+ 	* doc/cpp.texi: Include cppopts.texi and cppenv.texi.
+ 
+ 2002-03-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in: Give texi2pod its input file as a command line
+ 	argument, not on stdin.
+ 
+ 2002-03-11  Dan Nicolaescu  <dann@ics.uci.edu>
+ 	    Daniel Berlin  <dan@dberlin.org>
+ 
+ 	C++ alias analysis improvement.
+ 	* alias.c (record_component_aliases): Record aliases for base
+ 	classes too.
+ 
+ 2002-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
+ 
+ 2002-03-11  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* toplev.c (vms_fopen): Remove, not needed.
+ 
+ 	* vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
+ 
+ 	* config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
+ 
+ 	* config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
+ 	for FP, already done later.
+ 
+ 	* toplev.c (debug_args): Add entry for VMS_DEBUG.
+ 	* vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
+ 
+ 2002-03-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
+ 	(MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
+ 	LARGEST_EXPONENT_IS_NORMAL for the given mode.
+ 	(MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
+ 	* real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
+ 	(ediv, emul, eldexp, esqrt): Likewise.
+ 	(etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
+ 	(e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
+ 	(saturate): New function.
+ 	(toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
+ 	(make_nan): Use a saturation value instead of a NaN if
+ 	LARGEST_EXPONENT_IS_NORMAL.  Warn when this happens.
+ 	* fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
+ 	inputs if LARGEST_EXPONENT_IS_NORMAL.  Represent subnormals as
+ 	zero if NO_DENORMALS.  Only round to nearest if !ROUND_TOWARDS_ZERO.
+ 	(unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
+ 	(_fpmul_parts, _fpdiv_parts): Only round to nearest if
+ 	!ROUND_TOWARDS_ZERO.
+ 	* doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
+ 	(ROUND_TOWARDS_ZERO): Document.
+ 
+ 2002-03-11  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cfg.c (dump_flow_info): Remove unused variable.
+ 
+ 2002-03-11  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
+ 	computations on trees.
+ 
+ 2002-03-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 5693:
+ 	* reload.c (copy_replacements_1): New.
+ 	(copy_replacements): Use it to recurse through the rtx.
+ 
+ 2002-03-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (strength_reduce): Compute number of iterations as
+ 	unsigned HOST_WIDE_INT.
+ 
+ 2002-03-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-rgn.c (add_branch_dependences): Don't allow insns that throw
+ 	to move away from the end of the block.
+ 
+ 2002-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR preprocessor/5899
+ 	* cppinit.c (init_dependency_output): Don't ignore -dM etc.
+ 
+ 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
+ 
+ 	* attribs.c (decl_attributes): Fix signed/unsigned warning.
+ 
+ 2002-03-10  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c: Improve comments.
+ 	(mmix_target_asm_function_prologue): Drop variable
+ 	empty_stack_frame.  Don't allocate unused slot above fp.
+ 	(mmix_target_asm_function_epilogue): Mirror prologue changes.
+ 	* config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
+ 	brace in first column.
+ 	(enum reg_class): Ditto.
+ 	(FIRST_PARM_OFFSET): Now 0.
+ 	(USER_LABEL_PREFIX): Remove #if 0:d definition.
+ 
+ 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* combine.c (make_extraction): Fix error in last change.
+ 
+ 2002-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c4x.c (c4x_fp_reglist): Const-ify.
+ 	* cris.c (cris_print_operand): Likewise.
+ 	* i386.c (ix86_va_arg): Likewise.
+ 	* ia64/unwind-ia64.c (unw_decode_table): Likewise.
+ 	* m32r.c (m32r_hard_regno_mode_ok): Likewise.
+ 	* m32r.h (m32r_hard_regno_mode_ok): Likewise.
+ 	* mcore.c (regno_reg_class, mcore_unique_section): Likewise.
+ 	* mcore.h (regno_reg_class): Likewise.
+ 	* mips.c (gen_int_relational): Likewise.
+ 	* ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
+ 	* ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
+ 	* pdp11.c (move_costs): Likewise.
+ 	* pj.h (INITIALIZE_TRAMPOLINE): Likewise.
+ 	* s390.c (s390_branch_condition_mnemonic, regclass_map):
+ 	Likewise.
+ 	* s390.h (regclass_map): Likewise.
+ 	* sh.c (shift_amounts): Likewise.
+ 	* sh.md (rotlsi3): Likewise.
+ 
+ 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
+ 	(ne0+5): Use new clobber to generate proper shift pattern.
+ 	Patch by Michael Matz <matz@kde.org>.
+ 
+ 2002-03-09  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* gcc.c (validate_all_switches): Also handle `%W{...}'.
+ 
+ 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
+ 
+ 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/5877
+ 	* expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
+ 	even for non-representable constants.
+ 
+ Sat Mar  9 07:20:01 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
+ 	* function.c (fixup_var_refs): Add MAY_SHARE parameter.
+ 	(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
+ 	(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
+ 	(pop_function_context): Compute MAY_SHARE parameter for
+ 	fixup_var_refs.
+ 	(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
+ 	(gen_mem_addressof): Call fixup_var_refs with new parm.
+ 
+ 	* combine.c (make_extraction): Don't make extension of CONST_INT.
+ 
+ 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.c (function_arg_pass_by_reference): Force to 0
+ 	in o32 and o64 ABIs.
+ 	* config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
+ 	but getting fixed-size structs passed in registers regardless of
+ 	padding in o32 and o64 ABIs.
+ 
+ 	* config/mips/mips.c (mips_va_arg): Apply big-endianness address
+ 	offset before loading address of argument passed by transparent
+ 	reference.
+ 
+ 2002-03-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
+ 
+ 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_expand_prologue): Set regno of vararg
+ 	marker such that registers after it are saved.
+ 
+ 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* sparc.c (arith_4096_operand): Fix error in last change.
+ 
+ 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
+ 	defaults for MEABI.
+ 
+ 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
+ 	vectors.
+ 
+ 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
+ 
+ Fri Mar  8 21:27:49 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
+ 	removed; fix return value.
+ 	* combine.c (combine_instructions): Dirtify blocks where we failed to
+ 	update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
+ 	* toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
+ 
+ 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcse.c (insert_insn_end_bb): Fix typo in last change.
+ 
+ Fri Mar  8 21:08:52 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (peephole2_optimize): Re-distribute EH edges.
+ 
+ 2002-03-08  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* expr.c (expand_expr): Use unsave lang hook.
+ 	* langhooks-def.h (LANG_HOOKS_UNSAVE): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): New hook unsave.
+ 	* tree.c (lang_unsave, lang_unsave_expr_now): Remove.
+ 	(unsave_expr_1): Remove unused lang_unsave_expr_now.
+ 	(unsave_expr_now_r): Rename lhd_unsave.  Update. Return input.
+ 	(unsave_expr_now): Remove.
+ 	* tree.h (unsave_expr_now, lang_unsave,
+ 	lang_unsave_expr_now): Remove.
+ 	(lhd_unsave): New.
+ 
+ 2002-03-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* flow.c (propagate_block_delete_insn): Remove unused variable.
+ 
+ 2002-03-08  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
+ 	insn length for memory load/store.
+ 
+ 2002-03-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/install.texi (--with-libiconv-prefix): Document.
+ 
+ 2002-03-08  Michael Y. Brukman  <myb2@cornell.edu>
+ 
+ 	* doc/sourcebuild.texi: Fix typo.
+ 
+ 2002-03-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/3711
+ 	* builtins.c (std_expand_builtin_va_arg): Do all computations on
+ 	trees.
+ 
+ Fri Mar  8 06:48:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* rtl.c (copy_most_rtx): Move from here ...
+ 	* emit-rtl.c (copy_most_rtx): ... to here.
+ 
+ 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
+ 	SUBTARGET_CPP_SIZE_SPEC.
+ 	* config/mips/abi64.h (LONG_MAX_SPEC): Delete.
+ 
+ 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
+ 
+ 2002-03-07  Matt Hiller  <hiller@redhat.com>
+ 
+ 	* gensupport.c (first_dir_md_include): Renamed from include;
+ 	change all references.
+ 	(last_dir_md_include): Renamed from last_include; change all
+ 	references.
+ 	(init_md_reader): Unconditionally initialize base_dir whether or
+ 	not filename is a relative path.
+ 
+ 2002-03-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/fp-bit.c (_unord_f2): Compile it in even if
+ 	US_SOFTWARE_GOFAST is enabled.
+ 
+ 	* config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
+ 	NULL_RTX.  Set all HFmode operations as NULL_RTX.
+ 	* optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
+ 	NULL_RTX, try reversing the comparison and the operands.
+ 
+ 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
+ 	genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
+ 	and MATCH_OP_DUP.
+ 
+ Thu Mar  7 16:54:10 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload1.c (reload_cse_delete_noop_set): Purge dead edges.
+ 
+ Thu Mar  7 16:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (fixup_abnormal_edges): Declare.
+ 	* reload1.c (fixup_abnormal_edges): New function.
+ 	* reg-stack.c (convert_regs): Use it.
+ 
+ 	* gcse.c (insert_insn_end_bb): Handle trapping insns.
+ 
+ 	* gcse.c (hash_scan_set): Refuse instructions with EH edges.
+ 
+ 2002-03-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
+ 	(MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
+ 	* flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
+ 	(HONOR_SIGN_DEPENDENT_ROUNDING): New.
+ 	* builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
+ 	* c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
+ 	unless x and y could be infinite.
+ 	(expand_unordered_cmp): New, mostly split from expand_tree_builtin.
+ 	Check that the common type of both arguments is a real, even for
+ 	targets without unordered comparisons.  Allow an integer argument
+ 	to be compared against a real.
+ 	(expand_tree_builtin): Use expand_unordered_cmp.
+ 	* combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
+ 	* cse.c (fold_rtx): Likewise.  Fix indentation.
+ 	* fold-const.c (fold_real_zero_addition_p): New.
+ 	(fold): Use it, and the new HONOR_... macros.
+ 	* ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
+ 	* jump.c (reversed_comparison_code_parts): After searching for
+ 	the true comparison mode, use HONOR_NANS to decide whether it
+ 	can be safely reversed.
+ 	(reverse_condition_maybe_unordered): Remove IEEE check.
+ 	* simplify-rtx.c (simplify_binary_operation): Use the new macros
+ 	to decide which simplifications are valid.  Allow the following
+ 	simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
+ 	and (a - -b) to (a + b).
+ 	(simplify_relational_operation): Use HONOR_NANS.
+ 	* doc/tm.texi: Document the MODE_HAS_... macros.
+ 
+ 2002-03-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* combine.c (simplify_comparison): If simplifying a logical shift
+ 	right and compare with constant, force the comparison to unsigned.
+ 
+ 2002-03-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi: Add documentation for -mabi=no-altivec.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
+ 	-mabi=no-altivec
+ 	(alt_reg_names): Remove % for vrsave.
+ 
+ 2002-03-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/5844
+ 	* genemit.c (gen_exp): New argument used.  Invoke copy_rtx
+ 	if used indicates we've already emitted one copy of an operand.
+ 	(gen_insn, gen_expand, output_add_clobbers): Supply a null used.
+ 	(gen_split): Supply a non-null used.
+ 
+ 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (reload): Unshare all rtl after reload is done.
+ 
+ 	* simplify-rtx.c (simplify_plus_minus): Do not abort,
+ 	but simply fail if the expression is too complex to simplify.
+ 	(simplify_gen_binary): Handle simplify_plus_minus failures.
+ 
+ Wed Mar  6 20:32:09 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Do jump threading before SSA path;
+ 	consistently call delete_trivially_dead_insns after CSE and GCSE;
+ 	fix DFI_life dumping; do jump threading after liveness; do crossjumping
+ 	after liveness2; update comment in last crossjumping.
+ 	* cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
+ 
+ Wed Mar  6 12:27:10 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
+ 	after completing fast dead code elimination.
+ 
+ 	* m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
+ 	COMPARE operator.
+ 
+ 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* version.c:  Fix misplaced leading blanks on first line.
+ 
+ Wed Mar  6 19:08:03 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
+ 
+ Wed Mar  6 18:14:43 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (mentions_nonequal_regs): New function.
+ 	(thread_jump): Use it.
+ 	* toplev.c (rest_of_compilation): Run jump threading after
+ 	liveness.
+ 
+ 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
+ 	patch.
+ 
+ Wed Mar  6 11:28:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_bb_frequencies): Do not reload the
+ 	frequencies from notes.
+ 
+ Wed Mar  6 10:59:39 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
+ 	* rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
+ 
+ 	* basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
+ 	delete_noop_moves): Return indeger.
+ 	* flow.c (ndead): New variable.
+ 	(propagate_block_delete_insn): Use delete_insn_and_edges; remove
+ 	BB argument; update callers.
+ 	(propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
+ 	(life_analysis): Do not call purge_all_dead_edges.
+ 	(update_life_info): Return number of deleted insns; print statistics.
+ 	(update_life_info_in_dirty_blocks): likewise.
+ 	(delete_noop_moves): Use delete_insn_and_edges; print statistics;
+ 	return number of insns deleted.
+ 
+ 	* cse.c: Include timevar.h
+ 	(delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
+ 	iterate until stabilizes; print statistics; return number of killed
+ 	insns.
+ 	* Makefile.in: (cse.o): Add timevar.h dependency
+ 	* rtl.h (delete_trivially_dead_insns): New.
+ 	* timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
+ 	* toplev.c (rest_of_compilation): Update callers.
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Kill blocks.
+ 	(try_optimize_cfg): Do not update liveness.
+ 	(cleanup-cfg): Loop until try_optimize_cfg and dead code
+ 	removal stabilizes; use delete_trivially_dead_insns.
+ 
+ 	* cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
+ 
+ 2002-03-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppmain.c (setup_callbacks): Disable #pragma and #ident
+ 	callbacks when processing assembly language.
+ 
+ 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (ASM_FILE_END): Define.
+ 	* som.h (ASM_FILE_END): Delete.
+ 
+ 	* pa.c (function_arg): Don't pass floats in general registers in
+ 	indirect calls if TARGET_ELF32.
+ 
+ 2002-03-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
+ 
+ 2002-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
+ 
+ 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
+ 	-r command line.  Don't hide any symbols if not building
+ 	shared libgcc.
+ 
+ Tue Mar  5 18:31:27 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfg.c (dump_flow_info): Warn about profile mismatches.
+ 	* cfgrtl.c (verify_flow_info): Few aditional sanity checks.
+ 	(purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
+ 
+ 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
+ 	wide volatile memory by parts.
+ 
+ 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
+ 	is NULL.
+ 
+ 2002-03-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
+ 
+ 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* toplev.c (documented_lang_options): Document more
+ 	language-specific options.
+ 	* doc/invoke.texi (Warning Options): Correct documentation for
+ 	-Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
+ 	* c-decl.c (c_decode_option): Use a table to handle warning options.
+ 
+ 2002-03-05  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
+ 	parameter to mmix_encode_section_info.
+ 	(LINK_SPEC): Don't defsym __.MMIX.start..text if linking
+ 	relocatably.  Always produce ELF, not mmo if linking relocatably.
+ 	* config/mmix/mmix.c (mmix_encode_section_info): If new parameter
+ 	first is nonzero, don't add symbol prefix.
+ 	* config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
+ 	prototype accordingly.
+ 
+ 2002-03-04  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
+ 
+ 2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Increase required makeinfo version to 4.1.
+ 	* configure: Regenerate.
+ 
+ 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* .cvsignore: Remove *.info* and genrtl*; these files are generated
+ 	elsewhere now.
+ 
+ 2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/include/texinfo.tex: Update to version 2002-03-01.06.
+ 	* doc/invoke.texi: Fix @math uses.
+ 
+ Mon Mar  4 15:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
+ 	removal
+ 
+ 2002-03-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
+ 	(powerpc-*-eabisimaltivec*): Same.
+ 
+ 	* config/rs6000/t-ppcendian: New.
+ 
+ 2002-03-04  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
+ 	nonimmediate_src_operand and nonimmediate_lsrc_operand to
+ 	disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
+ 
+ 2002-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_decl_compilation): Revert last two changes.
+ 
+ 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
+ 	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
+ 	tree.c, config/m68k/m68k.c:
+ 	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
+ 	REAL_ARITHMETIC blocks unconditional.  Delete some further
+ 	#ifdef blocks predicated on REAL_ARITHMETIC.
+ 	* flags.h, toplev.c: Delete remaining references to
+ 	flag_pretend_float.
+ 
+ 	* doc/invoke.texi: Remove documentation of -fpretend-float.
+ 	* doc/tm.texi: Describe the various REAL_* macros as provided by
+ 	real.h, not by the target configuration files.
+ 
+ 	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
+ 	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
+ 	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ 	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
+ 	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
+ 	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
+ 	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
+ 	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
+ 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+ 	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
+ 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
+ 	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
+ 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
+ 	config/xtensa/xtensa.h:
+ 	Do not define, undefine, or mention in comments any of
+ 	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
+ 	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
+ 	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
+ 	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
+ 	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
+ 	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
+ 	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
+ 	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
+ 	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
+ 
+ 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
+ 	convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
+ 	i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
+ 	m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
+ 	pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
+ 	stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
+ 	Delete.
+ 	* defaults.h (BITS_PER_WORD): Define.
+ 	* doc/tm.texi (BITS_PER_WORD): Document default value.
+ 
+ 	* 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
+ 	m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
+ 	stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
+ 
+ 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
+ 	lieu of explicit sizeof/sizeof.
+ 	* i386.c (override_options, ix86_init_mmx_sse_builtins,
+ 	ix86_expand_builtin): Likewise.
+ 	* mips.c (mips_add_gc_roots): Likewise.
+ 	* mmix.c (mmix_output_condition): Likewise.
+ 	* rs6000.c (rs6000_override_options, altivec_expand_builtin,
+ 	altivec_init_builtins): Likewise.
+ 	* sparc.c (mark_ultrasparc_pipeline_state): Likewise.
+ 	* cppexp.c (Nsuff, parse_number): Likewise.
+ 	* cppinit.c (builtin_array_end): Likewise.
+ 	* gcc.c (n_default_compilers, process_command): Likewise.
+ 	* genpreds.c (output_predicate_decls): Likewise.
+ 	* ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
+ 	* lcm.c (N_ENTITIES): Likewise.
+ 	* stor-layout.c (set_sizetype): Likewise.
+ 
+ 2002-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
+ 	for types or labels.
+ 
+ 2002-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (start_decl): Initialized variables are not common.
+ 
+ 2002-03-02  Per Bothner  <per@bothner.com>
+ 
+ 	* gcc.c (option_map):  Suport new --bootclasspath option.
+ 	--CLASSPATH is now just an alias for --classpath.
+ 
+ 2002-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
+ 	load if "internal" visibility.
+ 	* doc/extend.texi: Document visibility meanings.
+ 
+ 2002-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
+ 	to functions as well.
+ 
+ 2002-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* attribs.c (handle_alias_attribute): Don't call assemble_alias.
+ 	(handle_visibility_attribute): Don't call assemble_visibility.
+ 	* toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
+ 	without asmspec.  Invoke assemble_alias when needed.
+ 	* varasm.c (maybe_assemble_visibility): New.
+ 	(assemble_start_function, assemble_variable, assemble_alias): Use it.
+ 
+ 2002-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
+ 	invoke ENCODE_SECTION_INFO with first call flag.
+ 
+ 	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
+ 	config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
+ 	config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
+ 	config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
+ 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
+ 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
+ 	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
+ 	config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
+ 	config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
+ 	config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
+ 	config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
+ 	config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
+ 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+ 	config/m68hc11/m68hc11.h, config/m88k/m88k.h,
+ 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
+ 	config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
+ 	config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
+ 	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+ 	config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
+ 	config/sh/sh.h, config/sparc/sparc.h,
+ 	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
+ 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
+ 	config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
+ 	FIRST argument.  As needed, examine it and do nothing.
+ 
+ 	* config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
+ 	config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
+ 	config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
+ 
+ 	* config/arm/t-pe (pe.o): Add dependencies.
+ 
+ 2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
+ 	cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
+ 	i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
+ 	mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
+ 	pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
+ 	vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
+ 	* defaults.h (BITS_PER_UNIT): Define.
+ 	* doc/tm.texi (BITS_PER_UNIT): Document default value.
+ 
+ 2002-03-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	compute_a_shift_length.
+ 	* config/h8300/h8300.c (h8300_asm_insn_count): New.
+ 	(compute_a_shift_length): Likewise.
+ 	(h8300_adjust_insn_length): Do not adjust insn length of shift
+ 	insns.
+ 	* config/h8300/h8300.md (anonymous shift patterns): Use
+ 	compute_a_shift_length.
+ 
+ Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Use
+ 	trunc_int_for_mode.
+ 
+ 	* emit-rtl.c (offset_address): Call update_temp_slot_address.
+ 
+ 2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
+ 	* doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
+ 	* flags.h (flag_zero_initialized_in_bss): Declare.
+ 	* toplev.c (flag_zero_initialized_in_bss): New flag.
+ 	(lang_independent_options): Add flag_zero_initialized_in_bss.
+ 	* tree.c (initializer_zerop): New function.
+ 	* tree.h (initializer_zerop): Declare.
+ 	* varasm.c (assemble_variable): If we can emit bss, put zero
+ 	initializers in the bss section.
+ 
+ 2002-03-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
+ 	like more than one symbol per .weak directive.
+ 
+ 2002-03-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
+ 	adjust argument_pointer by pretend_args_size.
+ 	(ia64_va_start): Adjust va_start address by -pretend_args_size.
+ 
+ 2002-03-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
+ 
+ Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Delete dead jumptables before
+ 	loop.
+ 	* flow.c (delete_dead_jumptables): Make global.
+ 	* rtl.h (delete_dead_jumptables): Declare.
+ 
+ 2002-03-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
+ 	* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
+ 	* config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
+ 
+ 2002-03-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Fix formatting.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 
+ 2002-03-01  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Support 16-bit
+ 	constant addresses.
+ 	* config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
+ 
+ 2002-02-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Prevent generation of CONCATs;
+ 	pun complex values as integers; use gen_lowpart instead of
+ 	gen_rtx_SUBREG.
+ 	(extract_bit_field): Likewise.
+ 
+ 2002-03-01  Alan Modra  <amodra@bigpond.net.au>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/tm.texi (ASM_WEAKEN_DECL): Document.
+ 	(ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
+ 	(SUPPORTS_WEAK): Likewise.
+ 	* output.h (add_weak): Add tree param.
+ 	* varasm.c (add_weak): Likewise.  Save decl.
+ 	(struct weak_syms): Add decl field.
+ 	(mark_weak_decls): New function.
+ 	(init_varasm_once): ggc_add_root mark_weak_decls.
+ 	(assemble_start_function): Use ASM_WEAKEN_DECL.
+ 	(assemble_variable): Likewise.
+ 	(assemble_alias): Likewise.
+ 	(declare_weak): Pass decl to add_weak.
+ 	(weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
+ 	(remove_from_pending_weak_list): Declare and define for
+ 	ASM_WEAKEN_DECL.
+ 	* c-pragma.c (handle_pragma_weak): Adjust add_weak call.
+ 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
+ 	* defaults.h (SUPPORTS_WEAK): Likewise.
+ 	* config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
+ 	.weak for code sym.  Do emit .size for descriptor sym.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Define.
+ 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
+ 	(ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
+ 	.lglobl unless TARGET_XCOFF.  Formatting fixes.
+ 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
+ 	.weak for code sym.
+ 	(HANDLE_PRAGMA_WEAK): Remove.
+ 	(ASM_WEAKEN_LABEL): Remove.
+ 	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
+ 
+ 2002-03-01  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
+ 	(TARGET_EXPR_CLEANUP): New macro.
+ 
+ 2002-02-28  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
+ 	to take ptr_extend into account as third type of extension.
+ 	(SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
+ 	fields used by SUBREG_PROMOTED_UNSIGNED_P.
+ 	* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
+ 	(SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
+ 	* calls.c (precompute_arguments): Use new macro.
+ 	(expand_call): Ditto.
+ 	* combine.c (nonzero_bits): Ditto.
+ 	(record_promoted_value): Ditto.
+ 	* expr.c (store_expr): Ditto.
+ 	(expand_expr): Ditto.
+ 	* function.c (assign_parms): Ditto.
+ 
+ 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcc.c (init_gcc_specs): Get -static and -static-libgcc to
+ 	override -shared and -shared-libgcc.
+ 
+ 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
+ 	of "ultrasparc".
+ 	* config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
+ 	to be broken.
+ 
+ 2002-02-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
+ 	4 cycle latency from MM producers.
+ 	(ia64_internal_sched_reorder): Likewise with pipeline flush.
+ 
+ 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* mklibgcc.in: Don't use GNU make extension.
+ 
+ 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-parse.in (STATIC): New terminal.
+ 	(scspec): New non-terminal.  Update productions accordingly.
+ 	(program): Remove bogus ifc / end ifc.
+ 	(array_declarator): Simplify production using STATIC.
+ 
+ 2002-02-28  Jim Meyering  <meyering@lucent.com>
+ 
+ 	* cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
+ 	\a still means TARGET_BELL.
+ 
+ 2002-02-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* haifa-sched.c (sched_emit_insn): New.
+ 	(schedule_block): Use last_scheduled_insn to track last insn.
+ 	* sched-int.h (sched_emit_insn): Prototype.
+ 	* config/ia64/ia64.c (last_issued): Remove.
+ 	(ia64_variable_issue): Don't set it.
+ 	(nop_cycles_until): Use sched_emit_insn.
+ 
+ 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
+ 	extended constants.
+ 
+ 2002-02-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Fix formatting.
+ 	* config/h8300/h8300.h: Likewise.
+ 
+ 2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
+ 	which may overwrite the high byte of the frame pointer.
+ 
+ 2002-02-28  Bo Thorsen  <bo@suse.de>
+ 
+ 	* config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
+ 	(STARTFILE_SPEC): Add 64 bit files.
+ 	(ENDFILE_SPEC): Likewise.
+ 
+ 2002-02-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (finish_function): Only warn about missing return
+ 	statement with -Wreturn-type.
+ 
+ Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
+ 
+ 	* i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
+ 	PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
+ 
+ Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (BB_REACHABLE): Renumber.
+ 	(BB_DIRTY, BB_NEW): New flags.
+ 	(clear_bb_flags): Declare.
+ 	(update_life_info_in_dirty_blocks): Declare.
+ 	* cfg.c (clear_bb_flags): New function.
+ 	* cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
+ 	* emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
+ 	reorder_insns, emit_insn_after): Mark block as dirty.
+ 	* flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
+ 	(update_life_info_in_dirty_blocks): New function.
+ 	* recog.c (apply_change_group): Dirtify block.
+ 
+ 	* cse.c (cse_insn): Reorder emitting of jump insn to keep
+ 	cfg consistent.
+ 	* gcse.c (delete_null_pointer_checks): Likewise.
+ 
+ 	* toplev.c (dump_file_index): Move cse2 after bp,
+ 	add DFI_null
+ 	(dump_file_info): Similary.
+ 	(rest_of_compilation): Avoid most of CFG rebuilds;
+ 	do first if converision after null pointer checks, do cse2
+ 	after branch prediction; avoid full liveness rebuild after
+ 	initializing subregs.
+ 	* invoke.texi (-d options): Document -du, renumber.
+ 
+ 	* cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
+ 	(notice_new_block): Do not set BB_UPDATE_LIFE.
+ 	(try_forward_edges, merge_blocks_move_predecessor_nojumps,
+ 	 merge_blocks_move_successor_nojumps, merge_blocks,
+ 	 try_crossjump_to_edge): Likewise.
+ 	(try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
+ 	* cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
+ 	* ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
+ 	(merge_of_block): Do not use life_data_ok.
+ 	(find_if_case_1): Do not use SET_UPDATE_LIFE.
+ 	(if_convert): Use BB_DIRTY mechanizm to update life.
+ 	* lcm.c (optimize_mode_switching): Update
+ 	update_life_info_in_dirty_blocks
+ 
+ 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* Makefile.in (integrate.o): Update.
+ 	* c-decl.c (copy_lang_decl): Rename.
+ 	* c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
+ 	* integrate.c: Include langhooks.h.
+ 	(copy_decl_for_inlining): Update to use langhook.
+ 	* langhooks-def.h (lhd_do_nothing_t,
+ 	LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_do_nothing_t): New.
+ 	* langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
+ 	* tree.h (copy_lang_decl): Remove.
+ objc:
+ 	* objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
+ 
+ 2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
+ 	POST_DEC, and POST_MODIFY.
+ 
+ 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-typeck.c (digest_init): Remove unused parameter; all
+ 	callers changed.
+ 
+ 2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* expmed.c (expand_shift): Correctly test for low part of a
+ 	subreg.
+ 
+ 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_chunkify_pool): Do not confuse
+ 	insn UIDs with insn addresses.
+ 
+ 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
+ 	c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
+ 	cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
+ 	builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
+ 	gcc.c, toplev.c: Delete code implementing -traditional mode.
+ 
+ 	* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
+ 	doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
+ 	Document removal of -traditional mode for compilation, and
+ 	remove documentation only relevant to that mode.
+ 
+ 	* config/nextstep.h, config/ptx4.h, config/svr4.h,
+ 	config/convex/convex.h, config/d30v/d30v.h,
+ 	config/i386/dgux.h, config/i386/osf1elf.h,
+ 	config/i386/osfelf.h, config/i386/osfrose.h,
+ 	config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
+ 	config/m68k/hp310.h, config/m88k/dgux.h,
+ 	config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
+ 	config/m88k/m88k.h, config/m88k/openbsd.h,
+ 	config/mips/abi64.h, config/mips/osfrose.h,
+ 	config/mips/svr4-5.h, config/mips/svr4-t.h,
+ 	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
+ 	config/stormy16/stormy16.h: Remove all references to
+ 	-traditional from target specs.  Delete all mention of the
+ 	no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
+ 	delete a couple of commented-out definitions of
+ 	DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
+ 	to -traditional.
+ 
+ 	* system.h: Poison TRADITIONAL_RETURN_FLOAT.
+ 	* doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
+ 
+ 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mklibgcc.in: Don't use \n in a line subject to
+ 	interpretation by echo.
+ 
+ 2002-02-27  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
+ 	Constify NAME.
+ 
+ 	* loop.c (prescan_loop): Handle PARALLEL.
+ 
+ 	* unroll.c (loop_iterations): Return 0 if the add_val for
+ 	a BIV is REG.
+ 
+ 	* final.c (output_operand_lossage): Constify PFX_STR.
+ 
+ 	* df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
+ 
+ Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
+ 	* x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
+ 
+ Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+ 
+ 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (_cpp_lex_token): Handle directives in macro
+ 	arguments.
+ 	* cpplib.c (_cpp_handle_directive): Save and restore state
+ 	if parsing macro args when entering a directive.
+ 	* cppmacro.c (collect_args): No need to handle directives
+ 	in macro arguments.
+ 	(enter_macro_context, replace_args): Use the original macro
+ 	definition in case it was redefined whilst collecting arguments.
+ doc:
+ 	* cpp.texi: Update.
+ 
+ 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
+ 	* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
+ 	* config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
+ 	method on AIX.
+ 	* config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
+ 	(movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
+ 	(load_toc_v4_PIC_2): Same.
+ 
+ 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
+ 
+ 2002-02-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (ashldi_se): Re-enable.
+ 
+ 2002-02-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_encode_section_info): Examine
+ 	MODULE_LOCAL_P; improve commentary.
+ 
+ 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/cpp.texi: Clarify documentation of relationship between
+ 	#line and #include.
+ 
+ 2002-02-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	compute_logical_op_length.  Add the prototype for
+ 	compute_logical_op_cc.
+ 	* config/h8300/h8300.c (compute_logical_op_length): Figure out
+ 	code from operands.
+ 	(compute_logical_op_cc): New.
+ 	* config/h8300/h8300.md: Combine all the logical op patterns
+ 	in HImode and SImode.  Use compute_logical_op_cc.
+ 
+ 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
+ 
+ 	* config/i386/i386.c (print_operand): Don't append ATT-style
+ 	length suffixs to x87 opcodes when in Intel mode.
+ 
+ 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
+ 
+ 	* emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
+ 	(init_emit_once): Update calls.
+ 	* fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
+ 	(init_syntax_once): Prototype.
+ 
+ 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-linux.h (LIB_SPEC): Update definition.
+ 	* pa32-linux.h (LINK_COMMAND_SPEC): Delete.
+ 
+ 2002-02-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
+ 	if we emitted a stop bit.
+ 
+ 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (libgcc_visibility): Substitute.
+ 	* configure: Rebuilt.
+ 	* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
+ 	defined symbols .hidden.
+ 
+ 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* attribs.c (c_common_attribute_table): Add visibility.
+ 	(handle_visibility_attribute): New function.
+ 	* varasm.c (assemble_visibility): New function.
+ 	* output.h (assemble_visibility): Add prototype.
+ 	* tree.h (MODULE_LOCAL_P): Define.
+ 	* crtstuff.c (__dso_handle): Use visibility attribute.
+ 	* config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
+ 	for MODULE_LOCAL_P symbols too.
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Handle
+ 	MODULE_LOCAL_P symbols the same way as local symbols.
+ 	Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
+ 	into .sdata/.sbss by the user.
+ 	* doc/extend.texi (Function Attributes): Document visibility
+ 	attribute.
+ 
+ 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/5770
+ 	* dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
+ 	STRING_CST initializer spanning the whole variable without
+ 	embedded zeros.
+ 	If expand_expr returned MEM, don't use it.
+ 
+ 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
+ 	generate a die for the lexical block.
+ 
+ 2002-02-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	compute_logical_op_length.
+ 	* config/h8300/h8300.c (compute_logical_op_length): New.
+ 	* config/h8300/h8300.md (anonymous logical patterns): Use
+ 	compute_logical_op_length for length.
+ 
+ 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* dwarf2out.c (modified_type_die): Do not call type_main_variant
+ 	for vectors.
+ 	(gen_type_die): Same.
+ 
+ 	* attribs.c (handle_vector_size_attribute): Set debug information.
+ 
+ 2002-02-26  Daniel Egger  <degger@fhm.edu>
+ 
+ 	* config/rs6000/rs6000.md: Swap define_insn attributes to
+ 	fix incorrect generation of merge high instructions instead
+ 	of merge low.
+ 
+ 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-typeck.c (really_start_incremental_init): Use
+ 	bitsize_zero_node for vectors.
+ 
+ 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
+ 	("*set_vrsave_internal"): Same.
+ 
+ 2002-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
+ 	in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
+ 
+ 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/5755
+ 	* config/i386/i386.c (ix86_return_pops_args): Only pop
+ 	fake structure return argument if it was passed on the stack.
+ 
+ 2002-02-25  Jason Merrill  <jason@redhat.com>
+ 
+ 	* attribs.c (decl_attributes): Also re-layout PARM_DECL and
+ 	RESULT_DECL.
+ 
+ 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
+ 	link with shared_name only.
+ 	* doc/invoke.texi (Link Options): Document new behavior.
+ 
+ 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-typeck.c (push_init_level): Handle vectors.
+ 
+ 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sparc/sparc.c (const64_high_operand): Zero-extend
+ 	operands of SPARC_SETHI_P.
+ 	(input_operand): Likewise.
+ 	(sparc_emit_set_const32): Likewise.
+ 	* config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
+ 	(SPARC_SETHI32_P): Zero-extend operand from 32 bits.
+ 	(CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
+ 	* config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
+ 	(movdi_insn_sp64_vis): Likewise.
+ 	(movdi split, movdf split): Use SETHI32.
+ 	* doc/md.texi: Document SPARC constraints L, M and N.
+ 
+ 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("get_vrsave_internal"): New.
+ 	("*set_vrsave_internal"): use mfspr for Darwin.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Call
+ 	gen_get_vrsave_internal.
+ 
+ Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
+ 
+ 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplex.c (cpp_interpret_charconst): Get signedness or
+ 	otherwise of wide character constants correct.
+ 	* cppexp.c (lex): Get signedness of wide charconsts correct.
+ 
+ Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* optabs.c (widen_operand): Only call convert_modes for
+ 	promoted SUBREG if signedness matches.
+ 	* config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
+ 
+ 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpplib.c (glue_header_name): Use local buffer to build up
+ 	header name.
+ 
+ 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
+ 
+ 2002-02-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
+ 	H8/300[HS] separately.
+ 	* config/h8300/h8300.md: Remove the early clobber constraint
+ 	from bit field patterns.
+ 
+ 2002-02-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (mulqihi3): Tighten predicates to
+ 	register_operand.
+ 	(mulhisi3): Likewise.
+ 	(umulqisi3): Likewise.
+ 	(umulhisi3): Likewise.
+ 
+ 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (output_deps): Correct test for stdout output.
+ 	(init_dependency_output): Cure warning.
+ 
+ Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_expr): When converting expression to promoted
+ 	equivalent type, allow using SUBREG_REG of TARGET as the target
+ 	of the expansion of EXP.
+ 	* loop.c (basic_induction_var, case SUBREG): Always look inside.
+ 	* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
+ 	(alpha_emit_set_const): Handle SImode when can't make new pseudos.
+ 	(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
+ 	* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
+ 
+ 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/contribute.texi, doc/extend.texi, doc/install.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
+ 	doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
+ 
+ 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5747
+ 	* loop.c (scan_loop): Update reg info if move_movables created new
+ 	pseudos.
+ 
+ 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* gcc.c (init_gcc_spec): Revert last change.
+ 
+ 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
+ 	gpc_reg_operand constraint.
+ 
+ 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
+ 	Simplify comparison of `low'.
+ 	(add_operand): Fix formatting.
+ 	(non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
+ 	(mask_operand): Disallow mask to wrap in 64-bit mode.
+ 	(rs6000_stack_info): Remove redundant test setting push_p.
+ 	(output_toc): Fix formatting.
+ 	* config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
+ 	cc_reg_not_cr0_operand constraint.
+ 	(booldi3, boolcdi3 splitters): Same.
+ 
+ 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Add extra level of parentheses on casts.
+ 
+ 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
+ 	gcc invoked with -shared-libgcc.
+ 
+ 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/5748
+ 	* stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
+ 	decl if any of elements was TREE_USED.
+ 
+ 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sparc/sol2.h: Don't include sys/mman.h.
+ 	* config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
+ 	(arith_4096_operand): Don't throw high bits away.
+ 	(const64_operand): Take sign extension of CONST_INTs into account.
+ 	(const64_high_operand, sparc_emit_set_const32): Likewise.
+ 	(GEN_HIGHINT64): Likewise.
+ 	(sparc_emit_set_const64_quick1): Likewise.
+ 	(const64_is_2insns): Likewise.
+ 	(print_operand): Use trunc_int_for_mode for sign extension.
+ 	* config/sparc/sparc.h (SMALL_INT32): Likewise.
+ 	* config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
+ 	chars.  Assume CONST_INT is already properly sign-extended.
+ 	(movdi split): Sign-extend each SImode part.
+ 	(andsi3 split): Don't mask high bits off, so that result
+ 	remains properly sign-extend.
+ 	(iorsi3 split): Likewise.
+ 	(xorsi3 split): Likewise.
+ 
+ 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* fold-const.c (fold): Fix typo in comments.
+ 
+ 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* Makefile.in (langhooks.o): Update dependencies.
+ 
+ 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* langhooks.c: Include flags.h.
+ 
+ 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/gcc.dg/attr-alwaysinline.c: New.
+ 
+ 	* c-common.c (c_common_post_options): Set inline trees by
+ 	default.
+ 
+ 	* doc/extend.texi (Function Attributes): Document always_inline
+ 	attribute.
+ 	Update documentation about inlining when not optimizing.
+ 
+ 	* cp/decl.c (duplicate_decls): Merge always_inline attribute.
+ 
+ 	* cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
+ 	unless DECL_ALWAYS_INLINE.
+ 
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
+ 	unless DECL_ALWAYS_INLINE.
+ 	(c_disregard_inline_limits): Disregard if always_inline set.
+ 
+ 	* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
+ 	Disregard if always_inline set.
+ 	(lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
+ 	unless DECL_ALWAYS_INLINE.
+ 
+ 	* attribs.c (handle_always_inline_attribute): New.
+ 	(c_common_attribute_table): Add always_inline.
+ 
+ 	* config/rs6000/altivec.h: Add prototypes for builtins
+ 	requiring the always_inline attribute.
+ 
+ 2002-02-21  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Try to simplify the subreg
+ 	before generating a new one when when the mode size of
+ 	value is less than maxmode.
+ 
+ 2002-02-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (offset_address): Use simplify_gen_binary rather
+ 	than gen_rtx_PLUS to form the sum.
+ 	* explow.c (force_reg): Rearrange to not allocate new pseudo
+ 	when force_operand returns a register.
+ 	* expr.c (expand_assignment): Allow offset_rtx expansion to
+ 	return a sum.  Do not force addresses into registers.
+ 	(expand_expr): Likewise.
+ 	* simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
+ 	to canonicalize arithmetic that didn't simpify.
+ 	(simplify_plus_minus): New argument force; update
+ 	all callers.  Don't split CONST unless we can do something with it,
+ 	and wouldn't lose the constness of the operands.
+ 
+ 	* config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
+ 	that we generated earlier.
+ 
+ 2002-02-21  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
+ 	(output_line_info): Use constant `1', with a long explanatory
+ 	comment.
+ 	* system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
+ 
+ Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* jump.c (redirect_jump): If old label has no UID, don't try to
+ 	delete it.
+ 
+ Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
+ 	If input is constant, do shifts at compile time.
+ 
+ 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi: Fix some more overfull hboxes.
+ 
+ 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/4994
+ 	* config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
+ 	register moves.
+ 
+ 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/4574
+ 	* expr.h (expand_and): Add mode argument.
+ 	* expmed.c (expand_and): Add mode argument.
+ 	(expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
+ 	* expr.c (store_field, expand_expr, do_store_flag): Likewise.
+ 	* except.c (expand_builtin_extract_return_addr): Likewise.
+ 	* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
+ 	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
+ 	Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
+ 	* config/c4x/c4x.md: Use GEN_INT (x) instead of
+ 	gen_rtx (CONST_INT, VOIDmode, x).
+ 
+ 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/4697:
+ 	* stmt.c (warn_if_unused_value): Move side effects test once more.
+ 
+ 2002-02-20  Torbjorn Granlund  <tege@swox.com>
+ 
+ 	* config/avr/avr.md: Add more patterns for mized-mode add and subtract
+ 	(addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
+ 
+ Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
+ 	SUBREG or ZERO_EXTEND.
+ 
+ Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (current_function_anonymous_args): Remove.
+ 	(SETUP_INCOMING_VARARGS): Don't set it - just check that one
+ 	of current_function_varargs and current_function_stdarg is set.
+ 	* sh.c (sh_expand_prologue): Check current_function_varargs /
+ 	current_function_stdarg / TARGET_SH5 instead of
+ 	current_function_anonymous_args.
+ 
+ 	* sh64.h (TARGET_VERSION): Define.
+ 
+ 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
+ 	VRSAVE_REGNO on TARGET_ALTIVEC.
+ 
+ 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
+ 	bits of SImode const_int.
+ 	(includes_rshift_p): Likewise.
+ 	(print_operand): Call mask_operand and mask64_operand with correct
+ 	mode.
+ 	(rs6000_output_function_epilogue): Pad traceback table to word.
+ 	* config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
+ 	(EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
+ 	mask64_operand with correct mode.
+ 	(FUNCTION_ARG_REGNO_P): Correct parentheses.
+ 
+ 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/4461
+ 	* varasm.c (get_pool_constant_mark): New.
+ 	* rtl.h (get_pool_constant_mark): Add prototype.
+ 	* dwarf2out.c (mem_loc_descriptor): A pool constant cannot
+ 	be represented if it has not been output.
+ 
+ 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (do_SUBST): Sanity check substitutions of
+ 	CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
+ 	(subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
+ 	CONST_INT into its operand.
+ 	(known_cond): Likewise, for ZERO_EXTEND.
+ 	* simplify-rtx.c (simplify_unary_operation): Fix condition to
+ 	allow for simplification of wide modes.  Reject CONST_INTs in
+ 	ZERO_EXTEND when their actual mode is not given.
+ 
+ 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-decl.c (pushdecl): If no global declaration is found for an
+ 	extern declaration in block scope, try a limbo one.
+ 
+ 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/4401
+ 	* c-common.c (pointer_int_sum): Moved from...
+ 	* c-typeck.c (pointer_int_sum): ...here.
+ 	* c-common.h (pointer_int_sum): Add prototype.
+ 
+ 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/5713
+ 	* c-decl.c (duplicate_decls): Return 0 if issued error about
+ 	redeclaration.
+ 
+ 2002-02-20  Roger Sayle  <roger@eyesopen.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/4389
+ 	* tree.c (host_integerp): Ensure that the constant integer is
+ 	representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
+ 	when pos is zero or nonzero respectively.  Clarify comment.
+ 	* c-format.c (check_format_info_recurse): Fix host_integerp
+ 	usage; the pos argument should be zero when assigning to a
+ 	signed HOST_WIDE_INT.
+ 
+ 2002-02-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_vector_move): Use the mode
+ 	of the operand, rather than assuming TImode.
+ 	(ix86_expand_binop_builtin): Cope with commutative patterns
+ 	using nonimmediate_operand for both operands.
+ 	(ix86_expand_timode_binop_builtin): Likewise.
+ 	(ix86_expand_store_builtin): Validate operand 1.
+ 	(ix86_expand_unop1_builtin): Likewise.
+ 
+ 2002-02-20  Philip Blundell  <philb@gnu.org>
+ 
+ 	PR 5705
+ 	* config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
+ 
+ 2002-02-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5615
+ 	* expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
+ 
+ 2002-02-20  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
+ 	* config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
+ 	* config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
+ 	* config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
+ 	* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
+ 	unconditionally.
+ 
+ Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
+ 	  for (const_int 0) in X not just INTVAL.
+ 
+ 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi: Avoid or reduce overfull hboxes.
+ 
+ 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Do not store bit fields using SUBREG
+ 	operations if the field does not start at a mode boundary.
+ 
+ 2001-02-20	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
+ 	config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
+ 	Also done for -Acpu and -Amachine.
+ 
+ 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppinit.c (init_dependency_output): Take deps output file
+ 	from -o if none given with -MF.  Suppress normal output.
+ 	* gcc.c (cpp_unique_options): Have -M and -MM imply -E.
+ 	* doc/cpp.texi, doc/invoke.texi: Update.
+ 
+ 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* toplev.c (output_quoted_string): Write unprintable
+ 	characters with octal escapes.
+ 
+ 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
+ 	really_call_used[VRSAVE_REGNO] if not Altivec.
+ 
+ 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
+ 	MODE_MASK.
+ 	(constant_pool_expr_1): Fix formatting.
+ 	(rs6000_legitimize_reload_address): Likewise.
+ 
+ Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
+ 	now that we have one.
+ 
+ 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h (struct tree_common): Remove aux.  Add unused_0 at
+ 	end of first block of bitfields (which was only seven bits);
+ 	rename dummy to unused_1; remove comment which is no longer true.
+ 
+ 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
+ 
+ 	* doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
+ 
+ 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	PR 5399
+ 	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
+ 	if generating PIC.
+ 
+ 	PR 5054
+ 	* config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
+ 	arm_is_longcall_p rather than inspecting call-type cookie
+ 	directly.
+ 	(call_value_insn) [TARGET_THUMB]: Likewise.
+ 
+ 2002-02-19  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_builtin): Fix typo.
+ 
+ 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
+ 	({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
+ 	(FP_SAVE_INLINE): Delete.
+ 
+ 	* config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
+ 	* config/rs6000/eabi.asm: Remove ABI save restore routines.
+ 	* config/rs6000/t-ppccomm: Build crtsavres.o.
+ 	* config/rs6000/crtsavres.asm: New file.
+ 
+ 2002-02-19  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (use_return_insn): Don't reject interrupt
+ 	functions.
+ 	(arm_compute_save_reg_mask): Save LR for interrupt functions too.
+ 	(output_return_instruction): Allow interrupt functions to return with
+ 	ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
+ 	(arm_expand_prologue): Subtract 4 before stacking LR in an
+ 	interrupt function.
+ 
+ 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
+ 
+ 	* config/arm/arm.c (arm_encode_call_attribute): Operate on any
+ 	decl, not just FUNCTION_DECL.
+ 	(legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
+ 	(arm_assemble_integer): Likewise.
+ 	* config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
+ 	marked local.
+ 
+ 2002-02-19  matthew green  <mrg@eterna.com.au>
+ 
+ 	* config.gcc (sparc-*-netbsdelf*): Enable target.
+ 	(sparc64-*-netbsd*): New target.
+ 	* config/sparc/netbsd-elf.h: New file.
+ 	* config/sparc/t-netbsd64: New file.
+ 
+ 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
+ 
+ 	* doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
+ 
+ 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
+ 
+ 	* doc/invoke.texi: explicitly list the style guidelines that
+ 	-Weffc++ checks for.
+ 
+ Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regmove.c (regmove_optimize): Avoid increasing of register pressure.
+ 
+ 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR other/5718
+ 	* gcc.c (cpp_unique_options): Treat -o as indicating object file
+ 	only if not -E.  If -E, pass -o through to the preprocessor.
+ 
+ 2002-02-19  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
+ 	register number with an appropriate macro.
+ 
+ 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* doc/rtl.texi (Constants): Close @code tag.
+ 
+ 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
+ 	("mmx_uavgv4hi3"): Same.
+ 	("pmulhrwv4hi3"): Same.
+ 
+ 	* tree-inline.c (walk_tree): Handle vectors.
+ 
+ 	* c-common.c (constant_expression_warning): Handle vectors.
+ 	(overflow_warning): Same.
+ 
+ 	* sched-deps.c (sched_analyze_2): Handle vectors.
+ 
+ 	* rtlanal.c (rtx_unstable_p): Handle vectors.
+ 	(rtx_varies_p): Same.
+ 	(count_occurrences): Same.
+ 	(regs_set_between_p): Same.
+ 	(modified_between_p): Same.
+ 	(modified_in_p): Same.
+ 	(volatile_insn_p): Same.
+ 	(volatile_refs_p): Same.
+ 	(side_effects_p): Same.
+ 	(may_trap_p): Same.
+ 	(inequality_comparisons_p): Same.
+ 	(replace_regs): Same.
+ 	(computed_jump_p_1): Same.
+ 
+ 	* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
+ 	argument.
+ 	(inner_mode_array): New.
+ 	(copy_rtx): Handle vectors.
+ 	(copy_most_rtx): Same.
+ 	(rtx_equal_p): Same.
+ 	(get_mode_alignment): Adjust for vectors.
+ 
+ 	* resource.c (mark_referenced_resources): Handle vectors.
+ 	(mark_set_resources): Same.
+ 
+ 	* reload1.c (eliminate_regs): Handle vectors.
+ 	(elimination_effects): Same.
+ 	(scan_paradoxical_subregs): Same.
+ 
+ 	* reload.c (subst_reg_equivs): Handle vectors.
+ 
+ 	* regrename.c (scan_rtx): Handle vectors.
+ 
+ 	* regclass.c (reg_scan_mark_refs): Handle vectors.
+ 
+ 	* recog.c (find_single_use_1): Handle vectors.
+ 
+ 	* local-alloc.c (equiv_init_varies_p): Handle vectors.
+ 	(contains_replace_regs): Same.
+ 	(memref_referenced_p): Same.
+ 
+ 	* integrate.c (copy_rtx_and_substitute): Handle vectors.
+ 	(subst_constants): Same.
+ 
+ 	* genattrtab.c (attr_copy_rtx): Handle vectors.
+ 	(encode_units_mask): Same.
+ 	(clear_struct_flag): Same.
+ 	(count_sub_rtxs): Same.
+ 
+ 	* gcse.c (want_to_gcse_p): Handle vectors.
+ 	(oprs_unchanged_p): Same.
+ 	(hash_expr_1): Same.
+ 	(oprs_not_set_p): Same.
+ 	(expr_killed_p): Same.
+ 	(compute_transp): Same.
+ 	(store_ops_ok): Same.
+ 
+ 	* function.c (purge_addressof_1): Do not allow paradoxical subregs
+ 	of vectors.
+ 	(fixup_var_refs_1): Same.
+ 	(instantiate_virtual_regs_1): Same.
+ 
+ 	* fold-const.c (operand_equal_p): Handle vectors.
+ 	(fold): Same.
+ 	(rtl_expr_nonnegative_p): Same.
+ 
+ 	* flow.c (mark_used_regs): Handle vectors.
+ 
+ 	* df.c (df_uses_record): Handle vectors.
+ 
+ 	* cselib.c (cselib_subst_to_values): Handle vectors.
+ 	(cselib_mem_conflict_p): Same.
+ 	(hash_rtx): Same.
+ 
+ 	* cse.c (canon_reg): Handle vectors.
+ 	(fold_rt): Same.
+ 	(cse_process_notes): Same.
+ 	(count_reg_usage): Same.
+ 	(canon_hash): Same.
+ 
+ 	* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
+ 
+ 	* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
+ 
+ 	* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
+ 	(gen_rtx): Handle CONST_VECTOR.
+ 	(gen_const_vector_0): New.
+ 	(copy_rtx_if_shared): CONST_VECTORs can be shared.
+ 	(reset_used_flags): Same.
+ 	(copy_insn_1): Same.
+ 	(initializer_constant_valid_p): Handle VECTOR_CST.
+ 
+ 	* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
+ 
+ 	* doc/rtl.texi (Constants): Document const_vector.
+ 	(CONST0_RTX): Update for vectors.
+ 	(RTL sharing): Same.
+ 
+ 	* print-tree.c (print_node): Add case for VECTOR_CST.
+ 
+ 	* tree.h (TREE_VECTOR_CST_ELTS): New.
+ 	(struct tree_vector): New.
+ 	(union tree_node): Add vector node.
+ 	(build_vector): Add prototype.
+ 
+ 	* tree.def (VECTOR_CST): New.
+ 
+ 	* tree.c (build_vector): New.
+ 
+ 	* expmed.c (make_tree): Handle CONST_VECTOR.
+ 
+ 	* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
+ 	(CONST_VECTOR_ELT): New.
+ 	(CONST_VECTOR_NUNITS): New.
+ 
+ 	* machmode.h (GET_MODE_INNER): New.
+ 	(DEF_MACHMODE): Accept 8th arg.
+ 
+ 	* machmode.def: Add 8th argument for vector inner mode.
+ 	Add inner vector modes for vectors.
+ 
+ 	* rtl.def (VEC_CONST): Remove.
+ 	(CONST_VECTOR): New.
+ 
+ 	* expr.c (clear_storage): Allow vectors.
+ 	(is_zeros_p): Handle VECTOR_CST.
+ 
+ 	* varasm.c (output_constant_pool): Handle vectors.
+ 	(rtx_const): Add veclo and vechi fields.
+ 	(kind): Add RTX_VECTOR.
+ 	(decode_rtx_const): Add case for vector.
+ 
+ 	* config/rs6000/rs6000-protos.h: Add zero_constant.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
+ 	constants.  Force easy vector constants into memory.
+ 	(easy_vector_constant): New.
+ 	(emit_easy_vector_constant): New.
+ 	(rs6000_legitimize_reload_address): Do not generate bad reloads on
+ 	darwin.
+ 
+ 	* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
+ 	instruction does.
+ 	("altivec_lvxl"): Same.
+ 	(altivec_lvebx): Same.
+ 	(altivec_lvehx): Same.
+ 	(altivec_lvewx): Same.
+ 	("*movv4si_const0"): New.
+ 	("*movv4sf_const0"): New.
+ 	("*movv8hi_const0"): New.
+ 	("*movv16qi_const0"): New.
+ 
+ 2002-02-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (notice_update_cc): Use
+ 	cc_status.value2.
+ 
+ 2002-02-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (divmod patterns): Change the
+ 	constraints for operands[1] to register_operand.
+ 
+ 2002-02-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Remove the prototype for
+ 	p_operand.
+ 	* config/h8300/h8300.c (p_operand): Remove.
+ 	* config/h8300/h8300.md: Replace p_operand with
+ 	const_int_operand.
+ 
+ 2002-02-18 Philip Blundell <pb@nexus.co.uk>
+ 
+ 	* config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
+ 	comment.
+ 	(output_return_instruction): Allow use of LDR to unstack
+ 	return addresss even for interrupt handlers or when
+ 	interworking.  If compiling for ARMv5, use interworking-safe
+ 	return instructions by default.  Remove duplicated code and
+ 	lengthy "strcat" sequences.
+ 
+ 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
+ 	(LINK_EH_SPEC): Define.
+ 	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
+ 
+ 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Do not set the
+ 	frame_related flag for call-clobbered registers.
+ 
+ Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
+ 	(construct_container): Fix handling of SSE operands.
+ 	(ix86_expand_builtin): Fix handling of 64bit pointers.
+ 	(mmx_maskmovq_rex): New pattern.
+ 
+ Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regrename.c (kill_set_value): Handle subregs properly.
+ 
+ 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* objc/objc-act.c (handle_impent): Remove leading '*'
+ 	from objc_class_name.
+ 
+ 2002-02-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (some_small_symbolic_operand,
+ 	some_small_symbolic_operand_1, split_small_symbolic_operand,
+ 	split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
+ 	Handle small SYMBOL_REFs anywhere, not just inside memories.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (small symbolic operand splitter): Update.
+ 
+ 2002-02-17  Roland McGrath  <roland@frob.com>
+ 
+ 	* config.gcc (powerpc-*-gnu-gnualtivec*,
+ 	powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
+ 	* config/rs6000/gnu.h: New file.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
+ 	Grok "gnu" in rs6000_abi_name.
+ 	(ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
+ 	CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
+ 	Grok -mcall-gnu analogous to -mcall-linux et al.
+ 	(LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
+ 	LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
+ 	(SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
+ 
+ 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/3444:
+ 	* c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
+ 	shortening.
+ 
+ 2002-02-17  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* config/cris/cris.h: Undefine STARTFILE_SPEC and
+ 	ENDFILE_SPEC before (re)defining them.
+ 
+ 2002-02-17  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Fix formatting.
+ 	* config/h8300/h8300.h: Likewise.
+ 
+ 2002-02-17  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* doc/tm.texi: Explain why empty strings should not be
+ 	marked for translation.
+ 
+ 2002-02-17  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* final.c (output_operand_lossage): Changed to accept
+ 	printf style arguments. Change calls where necessary.
+ 	* output.h (output_operand_lossage): Change declaration
+ 	accordingly. Update copyright.
+ 	* config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
+ 	config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
+ 	Update copyright date where necessary.
+ 
+ 	* config/i386/i386.c (print_operand): Likewise. Remove use of
+ 	sprintf.
+ 
+ 	* config/cris/cris.c (cris_operand_lossage): Likewise.
+ 	Rename parameter so that exgettext recognizes it as
+ 	translatable message.
+ 	(LOSE_AND_RETURN): Rename parameter to msgid.
+ 
+ 2002-02-17  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
+ 	hard coded register number with an appropriate macro.
+ 	(HARD_REGNO_MODE_OK): Likewise.
+ 	(ARG_POINTER_REGNUM): Likewise.
+ 	(STATIC_CHAIN_REGNUM): Likewise.
+ 	(RETURN_ADDRESS_POINTER_REGNUM): Likewise.
+ 	* config/h8300/h8300.md (define_constants): Define more
+ 	register numbers.
+ 
+ 2002-02-17  Philipp Thomas  <pthomas@suse.de>
+ 
+ 	* config/i386/i386.h: Don't mark empty strings for translation.
+ 
+ 2002-02-16  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
+ 
+ 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppinit.c (merge_include_chains): Check for brack being
+ 	NULL before attempting to merge it with qtail.
+ 
+ 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
+ 
+ 	* config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
+ 	DBX_DEBUG.
+ 
+ 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/t-pa, pa/t-pro, som.h: Revert last patch.
+ 
+ 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
+ 	* pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
+ 	* som.h (DO_GLOBAL_DTORS_BODY): Delete define.
+ 
+ Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
+ 	now only if !TARGET_FIX.
+ 	(*movsi_nt_vms_fix): New pattern.
+ 
+ 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/alpha.c: Implement null frame procedure types on VMS.
+ 	(alpha_procedure_type): Replaces alpha_is_stack_procedure.
+ 	(alpha_sa_mask, alpha_sa_size): Reflect above change.
+ 	(alpha_pv_save_size, alpha_expand_prologue): Likewise.
+ 	(alpha_start_function, alpha_expand_epilogue): Likewise.
+ 	(unicosmk_gen_dsib): Likewise.
+ 
+ Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
+ 
+ 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
+ 	check_and_change_labels, s390_final_chunkify): Delete.
+ 	(s390_split_branches, s390_chunkify_pool): New functions.
+ 	(s390_function_prologue): Call them.
+ 
+ 	* config/s390/s390.h (S390_REL_MAX): Delete.
+ 	(S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
+ 
+ 	* config/s390/s390.md (cjump, icjump, jump): Fix length
+ 	attribute calculation.
+ 
+ 
+ 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
+ 	* config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
+ 
+ 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
+ 	* config/pa/pa-linux.h (LIB_SPEC): Likewise.
+ 	* config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
+ 
+ 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
+ 
+ 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* reload.c (find_dummy_reload): Check that an output register
+ 	is valid for its mode.
+ 
+ 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (known_cond): After replacing the REG of a SUBREG, try
+ 	to simplify it.
+ 
+ 	* function.c (assign_parms): Demote promoted argument passed by
+ 	transparent reference.
+ 
+ 2001-02-14	Joel Sherrill <joel@OARcorp.com>
+ 
+ 	* config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
+ 	-Acpu() and -Amachine() to eliminate warnings.
+ 
+ 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
+ 
+ 2002-02-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	const_costs.
+ 	* config/h8300/h8300.c (const_costs): Treat SET as a little
+ 	more expensive operation.
+ 	* config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
+ 	reference to const_costs.
+ 
+ 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
+ 
+ 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5503:
+ 	* c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
+ 	use arguments from newtype.
+ 
+ 2002-02-13  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Add check for march/mipsX
+ 	on the same command line. Fix error message in cpu processing.
+ 	Remove architecture and ISA checks.
+ 
+ 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
+ 
+ 	* config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
+ 
+ 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
+ 	alternatives.
+ 	("*movv8hi_internal1"): Same.
+ 	("*movv16qi_internal1"): Same.
+ 	("*movv4sf_internal1"): Same.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
+ 	not push_reload for altivec modes.
+ 
+ 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	* config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
+ 	all RTEMS targets including removal of #includes from config/*/rtems*.h
+ 	file and adding them to tm_file setting. Added xm_defines=POSIX to
+ 	many targets.
+ 	* config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
+ 	* config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
+ 	* config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
+ 	* config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
+ 	* config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
+ 	config/m68k/rtemself.h: Ditto.
+ 	* config.gcc (mips*-*-rtems*), config/mips/rtems.h,
+ 	config/mips/rtems64.h: Ditto.
+ 	* config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
+ 	* config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
+ 	Ditto.
+ 	* config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
+ 	config/sparc/rtemself.h: Ditto.
+ 	* config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
+ 	* config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
+ 	arm-rtems stanza closer to other arm-elf targets and made arm-rtems
+ 	more like arm-elf.
+ 	* config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
+ 	config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
+ 	target made more similar to i386-elf.
+ 	* config/i386/t-rtems-i386: Added soft float support and multilibs.
+ 	* config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
+ 	be similar to config/m68k/t-m68kelf.
+ 	* gthr-rtems.h: Encapsulate with extern "C" for C++.
+ 
+ Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regmove.c (kill_value): Handle subregs.
+ 
+ Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (mul patterns): Allow memory operand to be first;
+ 	add expanders where needed; fix constraints.
+ 	(min?f_nonieee, max?f_nonieee, SSE TImode patterns):
+ 	Allow memory operand to be the first.
+ 
+ 	* i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
+ 	operands.
+ 
+ 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5681:
+ 	* expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
+ 	GET_MODE (x).
+ 
+ 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/5547:
+ 	* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
+ 	all valid IA-32 address modes involving non-scaled %ebx and
+ 	GOT/GOTOFF as displacement.
+ 
+ 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
+ 	after emitting ltorg insns.
+ 
+ 	* config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
+ 	*cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
+ 	*muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
+ 	*abssf2): Fix "op_type" attribute.
+ 
+ 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* mkconfig.sh: Avoid using a subshell redirect.
+ 	($output.T): Change to $(output)T.
+ 	(ENABLE_NLS): Remove unneeded undef.
+ 
+ 	* config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+ 	* config/alpha/x-vms (libsubdir): Define.
+ 
+ 	* config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
+ 	register frame procedures. Optimize retrieving context.
+ 
+ 	* config/alpha/t-vms (MULTILIB_OPTIONS): Define.
+ 	(MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
+ 	* config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
+ 
+ Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
+ 	Make same change as for find_base_value.
+ 
+ 2002-02-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
+ 	of QImode and SImode.
+ 
+ 2002-02-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
+ 	length computation of movsi.
+ 	* config/h8300/h8300.md (movsi_h8300hs): Correct the length.
+ 
+ 2002-02-13  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (subqi3): Tighten the predicate for
+ 	operands[2] to register_operand.
+ 
+ Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
+ 
+ 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Use predicate altivec_register_operand
+ 	for altivec_lvx* and altivec_stvx*.
+ 	("*movv4si_internal"): Add constraint for loading from GPRs.
+ 	("*movv8hi_internal1"): Same.
+ 	("*movv16qi_internal1"): Same.
+ 	("*movv4sf_internal1"): Same.
+ 
+ 	* config/rs6000/rs6000.c (altivec_register_operand): New.
+ 
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
+ 	altivec_register_operand.
+ 
+ 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
+ 	handle SYMBOL_REF.
+ 
+ 2002-02-13  Stan Shebs  <shebs@apple.com>
+ 
+ 	* c-typeck.c (digest_init): Handle vectors.
+ 	(really_start_incremental_init): Same.
+ 	(pop_init_level): Same.
+ 	(process_init_element): Same.
+ 
+ 	* varasm.c (output_constant): Same.
+ 
+ 	* expr.c (clear_storage): Same.
+ 	(store_constructor): Same.
+ 
+ 2002-02-12  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* explow.c (hard_function_value): Add comment explaining
+ 	signed/unsigned comparison.
+ 
+ 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* jump.c (never_reached_warning): Add finish argument.
+ 	If finish is NULL, stop on CODE_LABEL, otherwise stop before first
+ 	real insn after end.
+ 	* rtl.h (never_reached_warning): Adjust prototype.
+ 	* cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
+ 	* cfgrtl.c (flow_delete_block): Pass b->end as finish to
+ 	never_reached_warning.
+ 
+ 2002-02-12  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
+ 
+ 2002-02-12  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
+ 	logical shifts on H8/300.
+ 	(shift_alg_si): Improve several shifts on H8/300.
+ 	(get_shift_alg): Likewise.
+ 
+ 2002-02-12  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/pa/pa.c (compute_movstrsi_length): Fix typos.
+ 
+ Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
+ 	Handle #ifdef POINTERS_EXTEND_UNSIGNED.
+ 
+ 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
+ 	non-CONST_INT through default_assemble_integer.
+ 	<case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
+ 	<case 8>: Abort for CONST_DOUBLE.
+ 
+ 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
+ 	is specified.
+ 	* config/pa/pa-linux.h (LIB_SPEC): Delete.
+ 	* config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
+ 
+ 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (zero_extendqihi2): New.
+ 
+ 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* regrename.c (regrename_optimize): Don't accept a
+ 	part-clobbered register if the replaced register is not part
+ 	clobbered.
+ 
+ 	* calls.c (store_one_arg): In the non-BLKmode non-partial case,
+ 	take padding into account when computing the argument value.
+ 
+ 	* config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
+ 
+ 	* combine.c (try_combine): Apply substitutions in
+ 	CALL_INSN_FUNCTION_USAGE too.
+ 
+ 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Handle
+ 	__builtin_altivec_abs*.
+ 	(bdesc_abs): New.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_builtins): Add
+ 	ALTIVEC_BUILTIN_ABS*.
+ 
+ 	* config/rs6000/altivec.h: Use const char for builtins expecting
+ 	literals.
+ 	(vec_abs): New versions for C and C++.
+ 	(vec_abss): Same.
+ 
+ 2002-02-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
+ 	using Pmode.
+ 
+ 2002-02-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
+ 	constant definition from h8300.md.
+ 	(FRAME_POINTER_REGNUM): Likewise.
+ 	* config/h8300/h8300.md (define_constants): Add FP_REG.
+ 
+ 2002-02-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove redundant code.
+ 
+ 2002-02-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
+ 	* config/h8300/h8300.c (byte_reg): Make it static.
+ 
+ 2002-02-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5623
+ 	* c-typeck.c (incomplete_type_error): Handle flexible array members.
+ 
+ 2002-02-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/5624
+ 	* tree.c (append_random_chars): Don't abort if main_input_filename
+ 	does not exist.
+ 
+ 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
+ 
+ 2002-02-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
+ 	(pushhi1): Likewise.
+ 
+ 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
+ 	* pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
+ 
+ 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
+ 	remove MASK_VIS.
+ 	(ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
+ 
+ 2002-02-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Use sub.w to clear
+ 	a half of an SImode register on H8/300.
+ 
+ Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movdi_2): Add missing '!'.
+ 
+ 2002-02-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.  Remove commented-out
+ 	definitions.
+ 
+ 2002-02-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (length): Correct the distance valid
+ 	for the short branch.
+ 
+ 2002-02-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (iorhi3): Tighten the predicates.
+ 
+ 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
+ 	registers in SImode.
+ 	(HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
+ 	part-clobbered.
+ 
+ 	* config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
+ 	patch.
+ 
+ 	Contribute sh64-elf.
+ 	2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
+ 	(sh_cannot_modify_jumps_p): New function.
+ 	2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
+ 	(sh_ms_bitfield_layout_p): New function.
+ 	2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
+ 		    Zack Weinberg  <zack@codesourcery.com>
+ 	* config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
+ 	expand_simple_binop instead of expand_binop.
+ 	2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
+ 	use of .quad and .uaquad.
+ 	* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
+ 	TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
+ 	2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (movdi_const, movdi_const_32bit,
+ 	movdi_const_16bit): Make sure all CONSTs have modes.
+ 	(sym2PIC): Ditto, but by adjusting all callers.
+ 	* config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
+ 	if the prologue calls the SHmedia argument decoder or register
+ 	saver.
+ 	2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
+ 	(TARGET_ASM_ALIGNED_DI_OP): Likewise.
+ 	(sh_expand_epilogue): Don't emit USE of return target register.
+ 	(prepare_move_operands): Legitimize DImode PIC addresses.
+ 	(sh_media_register_for_return): Skip tr0, used to initialize the
+ 	PIC register.
+ 	(sh_expand_prologue): Remove explicit USE of return register.
+ 	(nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
+ 	CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
+ 	* config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
+ 	(OVERRIDE_OPTIONS): Don't disable PIC on SH5.
+ 	(EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
+ 	EXTRA_CONSTRAINT_T.
+ 	(GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
+ 	(MOVI_SHORI_BASE_OPERAND_P): New.
+ 	(NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
+ 	(EXTRA_CONSTRAINT_T): Define in terms of them.
+ 	(OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
+ 	* config/sh/sh.md (movsi_media, movsi_media_nofpu,
+ 	movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
+ 	alternatives supporting TARGET_REGS.
+ 	(UNSPEC_GOTPLT): New constant.
+ 	(movdi split): Move incrementing of LABEL_NUSES...
+ 	(movdi_const, movdi_const_32bit): Here.  Use
+ 	MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
+ 	(movdi_const_16bit): New.
+ 	(call, call_value) [flag_pic]: Use GOTPLT.
+ 	(call_pop, call_value_pop): New expands.
+ 	(call_pop_compact, call_pop_rettramp): New insns.
+ 	(call_value_pop_compact, call_value_pop_rettramp): New insns.
+ 	(sibcall) [flag_pic]: Use GOT.
+ 	(builtint_setjmp_receiver): Remove bogus, unused expand.
+ 	(GOTaddr2picreg): Implement for SHcompact and SHmedia.
+ 	(*pt, *ptb, ptrel): New insns.
+ 	(sym2GOT): Handle DImode GOT.
+ 	(sym2GOTPLT, symGOTPLT2reg): New expands.
+ 	(sym2PIC): New expand.
+ 	(shcompact_return_tramp): Use GOTPLT to return trampoline.
+ 	(shcompact_return_tramp_i): Use return register explicitly.
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
+ 	disable flag_reorder_blocks.
+ 	2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (sibcall_compact): Reorder return, uses and
+ 	clobbers, for clarity.
+ 	(sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
+ 	restoring of r0 in macl as MAYBE_DEAD.
+ 	2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
+ 	* config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
+ 	alter_subreg all over.
+ 	(jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
+ 	reload, instead of emitting instructions that would require
+ 	reloading.
+ 	(casesi_load_media): Add missing modes.
+ 	2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (sh_expand_prologue): Mark the PIC register
+ 	as used if the argument decoder is called.
+ 	2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
+ 	Pmode, then extend it to DImode if necessary.
+ 	2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
+ 	* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
+ 	constants in FPU-enabled SHmedia, let them be loaded from memory.
+ 	2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
+ 	Adjust whitespace in assembly output templates.
+ 	2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
+ 	* config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
+ 	mode of if_then_else.
+ 	2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
+ 	sh.h.
+ 	2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
+ 		    Joern Rennecke <amylaar@redhat.com>
+ 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
+ 	(SUBTARGET_CPP_PTR_SPEC): New.
+ 	(SUBTARGET_CPP_SPEC): Remove.
+ 	2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
+ 	* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
+ 	Fix typo in previous checkin.
+ 	2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
+ 	* config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
+ 	2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
+ 		    Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
+ 	what single FP register can hold for SHmedia target.
+ 	2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
+ 		    Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
+ 	Do not split into SUBREG.
+ 	2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
+ 	and added new functions as specified in SH5 ABI r9.
+ 	2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
+ 	8-byte boundary.
+ 	2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (dump_table): Add const0_rtx in calls of
+ 	gen_consttable_4 and gen_consttable_8.  Emit multiple labels
+ 	and consttable_window_ends.
+ 	2001-06-03  Graham Stott  <grahams@redhat,com>
+ 	* config/sh/sh.md (movdi split): Remove unused variable last_insn.
+ 	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (print_operand): Handle floating-point pair,
+ 	vector and matrix registers.
+ 	* config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
+ 	vector modes into account.
+ 	* config/sh/sh.md (movv2sf): Split move between registers into
+ 	movdf.
+ 	(movv4sf, movv16sf): Introduce insns that get split only after
+ 	reload.
+ 	* config/sh/shmedia.h: Fix Copyright dates.
+ 	* config/sh/ushmedia.h: Likewise.  Move loop counter
+ 	declarations into conditionals that uses them.
+ 	(sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
+ 	loop boundary.
+ 	* config/sh/sshmedia.h: Fix Copyright dates.
+ 	(sh_media_PUTCFG): Fix constraints.
+ 	2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
+ 	ptrmemfunc_vbit_in_delta for SH5.
+ 	2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
+ 	* invoke.texi: Likewise.
+ 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
+ 	GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
+ 	GCC_pop_shmedia_regs_nofpu): New global symbols.
+ 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
+ 	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
+ 	* config/sh/sh.c (calc_live_regs): Account for PR's saving in
+ 	compact function with nonlocal labels.
+ 	(sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
+ 	(sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
+ 	(initial_elimination_offset): Account for their stack space.
+ 	* config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
+ 	* config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
+ 	movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
+ 	movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
+ 	least one of the operands to be a register.
+ 	(movv2sf): Likewise.  Renamed to movv2sf_i.
+ 	(movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
+ 	prepare_move_operands() before emitting SHmedia insns.
+ 	2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
+ 	Don't save nor initialize r12.  Don't mis-align the stack.
+ 	Pad the code with a nop.
+ 	* config/sh/crti.asm: Don't restore r12.  Don't mis-align the
+ 	stack.
+ 	2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* gcc/longlong.h (__umulsidi3, count_leading_zeros)
+ 	[__SHMEDIA__]: Implement.
+ 	2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md: Set latency of `pt' closer to reality.
+ 	(movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
+ 	movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
+ 	Set move, load and store type attributes.
+ 	* config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
+ 	profiling.
+ 	* config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
+ 	* config/sh/sh-protos.h (sh_media_register_for_return): Declare.
+ 	* config/sh/sh.c (sh_media_register_for_return): New function.
+ 	(sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
+ 	branch-target register.
+ 	(sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
+ 	* config/sh/sh.md (return_media_i): Use any call-clobbered
+ 	branch-target register.
+ 	(return_media): If r18 wasn't copied in the prologue, copy it
+ 	here.
+ 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
+ 	Clear class FP0_REGS.
+ 	* config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
+ 	from elf.h.
+ 	2001-03-08  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
+ 	2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (sibcall_compact): Set fp_mode to single.
+ 	2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
+ 	2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
+ 	return value correctly for call_cookie.
+ 	2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/crt1.asm (start): Modified so as to call
+ 	___setup_argv_and_call_main.
+ 	2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
+ 	SHmedia mode.
+ 	2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
+ 	(STRIP_NAME_ENCODING): Use it.
+ 	(ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
+ 	2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
+ 	prepare_scc_operands().
+ 	* config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
+ 	(DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
+ 	2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
+ 	2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
+ 	* config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
+ 	used in shcompact_incoming_args.
+ 	* config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
+ 	change.
+ 	* config/sh/crt1.asm (start) [SH5]: Switch to single-precision
+ 	mode.
+ 	* config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
+ 	Adjust accordingly.
+ 	* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
+ 	Simplify.  Adjust.  Add sanity check.
+ 	* config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
+ 	FPU_SINGLE_BIT.
+ 	* config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
+ 	TARGET_SHCOMPACT.
+ 	(udivsi3, divsi3): Use them.
+ 	(force_mode_for_call): New insn.
+ 	(call, call_value, sibcall_value): Emit it before SHcompact
+ 	calls.
+ 	2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (call, call_value, sibcall): Make sure the
+ 	call cookie is non-NULL before taking its value.
+ 	2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc (sh64): Set target_requires_64bit_host_wide_int.
+ 	2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (shcompact_incoming_args): Set argument memory
+ 	block.
+ 	* config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
+ 	* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
+ 	temporary for stack adjusts.  Use MACL and MACH to pass
+ 	arguments to shcompact_incoming_args.
+ 	* config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
+ 	clobber r1.
+ 	* config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
+ 	(nested_trampoline): Load static chain address into r1.
+ 	* config/sh/sh.md (movdi_media splits): Fix sign-extension.
+ 	2001-01-07  Alexandre Oliva  <aoliva@redhat.com
+ 	* config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
+ 	fp_arith_reg_operand().
+ 	2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (casesi): Sign-extend the first two operands,
+ 	and use signed compares for them.
+ 	* config/sh/sh.c (dump_table): Don't emit 8-byte constants after
+ 	4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
+ 	ones properly aligned.
+ 	(find_barrier): Account for extra alignment needed for 8-byte wide
+ 	constants.
+ 	(machine_dependent_reorg): Require a label for the second 4-byte
+ 	constant after an 8-byte one.
+ 	* config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
+ 	change.
+ 	2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
+ 	last_float when switching float modes.
+ 	* config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
+ 	auto-increment for general-purpose registers.
+ 	* config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
+ 	result.
+ 	* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
+ 	for stack adjust.
+ 	* config/sh/sh.c (sh_builtin_saveregs): Support using all
+ 	registers for varargs.
+ 	2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
+ 	* config/sh/sh.h (CALL_COOKIE_STACKSEQ,
+ 	CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
+ 	(CALL_COOKIE_INT_REG_SHIFT): Adjust.
+ 	(FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
+ 	call_cookie accordingly.
+ 	(FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
+ 	(SHCOMPACT_BYREF): Likewise.
+ 	(SHCOMPACT_FORCE_ON_STACK): New macro.
+ 	* config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
+ 	(sh_builtin_saveregs): Likewise.
+ 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
+ 	shcompact_incoming_args): Use new shift values.  Support
+ 	sequences of consecutive and non-consecutive pushes/pops.
+ 	* config/sh/sh.md (return): Don't explicitly use PR_REG.
+ 	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
+ 	* config/sh/sh.h (TEXT_SECTION): Define.
+ 	* config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
+ 	2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
+ 	* config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
+ 	return values on FPU-enabled SHmedia.
+ 	(FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
+ 	FPU-enabled SHmedia.
+ 	(INIT_CUMULATIVE_ARGS): Set up return trampoline only if
+ 	value is returned in a non-FP reg and is not returned by
+ 	reference.
+ 	* config/sh/sh.md (shcompact_return_tramp_i): Change type to
+ 	jump_ind.
+ 	2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Require argument to be
+ 	quad-aligned to be passed by callee-copy reference.
+ 	2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
+ 	* config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
+ 	2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
+ 	copying low-numbered FP regs to r7 and r8.
+ 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
+ 	FP regs to general-purpose regs only if the copy was passed on the
+ 	stack.
+ 	* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
+ 	copying FP reg to r9.
+ 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
+ 	copy FP regs to general-purpose regs only in outgoing calls.
+ 	* config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
+ 	change from	2000-10-30.  Adjust for 64-bit (or 32-bit)
+ 	HOST_WIDE_INT.
+ 	* config/sh/sh.h (struct sh_args): Document all fields.
+ 	(FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
+ 	passed partially on the stack should not consider making
+ 	sibcalls.
+ 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
+ 	stack_regs only for incoming calls.  When passing FP args,
+ 	make sure there are FP regs available before modifying
+ 	call_cookie.
+ 	(SHCOMPACT_BYREF): Pass double args in general-purpose
+ 	registers by reference.
+ 	2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
+ 	attempt to generate sibcalls if the caller got any arguments
+ 	by reference.
+ 	* config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
+ 	* config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
+ 	to 8-byte boundaries.
+ 	* config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
+ 	* config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
+ 	* config/sh/sh.c (sh_expand_prologue): Preserve args that will be
+ 	stored in the stack.
+ 	* config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
+ 	for the offsets to have the ISA bit set.
+ 	(shcompact_call_trampoline): Document.  Swap r0 and r1, to match
+ 	invocation.  Use beq instead of bgt to mark end of sequence of
+ 	loads.
+ 	(shcompact_incoming_args): Fix store of r2.  Use beq instead of
+ 	bgt to mark end of sequence of stores.
+ 	* config/sh/sh.c (arith_operand): Don't check whether
+ 	CONST_OK_FOR_J for now.
+ 	* config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
+ 	instead of long for conversion.
+ 	2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (print_operand_address): Convert INTVAL to int
+ 	before passing it to fprintf.
+ 	2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
+ 	Call set_fpscr before reading/writing SR.
+ 	* config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
+ 	Call set_fpscr.
+ 	* config/sh/lib1funcs.asm: Add `.align 2' directives before
+ 	SHmedia code.
+ 	(FMOVD_WORKS): Define on SH5 with FPU.
+ 	(set_fpscr): Define on SH5.  Remove separate _fpscr_values
+ 	setting.
+ 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
+ 	_fpscr_values.
+ 	2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
+ 	* config/sh/lib1funcs.asm (ct_main_table): Align contents to even
+ 	address.
+ 	(ia_main_table): Ditto.
+ 	2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
+ 	* config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
+ 	the definitions from sh.h.
+ 	* config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
+ 	TARGET_SH5.
+ 	(SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
+ 	* config/sh/elf.h (PTRDIFF_TYPE): Likewise.
+ 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
+ 	2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
+ 	Increment LABEL_NUSES.
+ 
+ 	* config/sh/sh.h (SIZE_TYPE): Define as conditional on
+ 	TARGET_SH5.
+ 	(SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
+ 	defined.
+ 	* config/sh/elf.h (SIZE_TYPE): Likewise.
+ 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
+ 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
+ 	shcompact_incoming_args): Load switch table addresses using
+ 	datalabel.
+ 	* config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
+ 	(NO_BUILTIN_SIZE_TYPE): Define.
+ 	(SIZE_TYPE): Don't define.
+ 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
+ 	* config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
+ 	definition of __SH5__=32 for -m5-compact-nofpu.
+ 	* config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
+ 	ADDR_DIFF_VEC.
+ 	2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
+ 	2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
+ 	(FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
+ 	(INSN_LENGTH_ALIGNMENT): Likewise.
+ 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (call, call_value, sibcall): Simplify
+ 	copying of non-branch-target register.
+ 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* glimits.h (__LONG_MAX__): Revert	2000-12-13's patch.
+ 	* config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
+ 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
+ 	floating-point values as structs.
+ 	(FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
+ 	(SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
+ 	general-purpose register.
+ 	(SH5_PROTOTYPED_FLOAT_ARG): New macro.
+ 	2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
+ 	* config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
+ 	* config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
+ 	(ENCODE_SECTION_INFO): Enclose variables and constants in
+ 	DATALABEL unspecs.
+ 	(SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
+ 	(STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
+ 	(ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
+ 	* config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
+ 	only for LABEL_REFs.  For SYMBOL_REFs, prepend
+ 	SH_DATALABEL_ENCODING to the symbol name.
+ 	* config/sh/sh.md (indirect_jump): Use SUBREG instead of
+ 	convert_mode().
+ 	2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
+ 	UNSPEC_DATALABEL.
+ 	* config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
+ 	* config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
+ 	(DATALABEL_REF_P): Don't require CONST.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
+ 	REL label.
+ 	2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
+ 	right.
+ 	2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (movsi_media, call, call_value, sibcall):
+ 	Use shallow_copy_rtx and PUT_MODE to change the mode of
+ 	SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
+ 	* config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
+ 	on SHmedia using GENERAL_REGs.
+ 	* config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
+ 	bltu_media_i): Fix reversion of conditions.
+ 	2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.md (zero_extendhidi2): Use logical shift right.
+ 	* config/sh/sh.c (output_far_jump): Save r13 in macl.
+ 	2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
+ 	2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
+ 	(GCC_nested_trampoline): Likewise.
+ 	* config/sh/sh-protos.h (gen_datalabel_ref): Declare.
+ 	* config/sh/sh.c (gen_datalabel_ref): Define.
+ 	* config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
+ 	(INITIALIZE_TRAMPOLINE): Likewise.
+ 	(TRAMPOLINE_ADJUST_ADDRESS): Define.
+ 	(DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
+ 	(EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
+ 	(OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
+ 	* config/sh/sh.md (UNSPEC_DATALABEL): New constant.
+ 	(ic_invalidate): Adjust for SH5.
+ 	(ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
+ 	* config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
+ 	_nested_trampoline.
+ 	2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
+ 	(MOVE_MAX_PIECES): Set to 8 on SHmedia too.
+ 	2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
+ 	* config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
+ 	2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (target_reg_operand): Match only target-branch
+ 	registers and pseudos that aren't virtual registers.
+ 	* config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
+ 	Copy operands that don't match target_reg_operand to pseudos.
+ 	(call_media, call_value_media, sibcall_media): Use
+ 	target_reg_operand instead of target_operand.
+ 	2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
+ 	* config/sh/sh.c (target_reg_operand): Match hardware registers
+ 	other than branch-target registers.
+ 	* config/sh/sh.md (zero_extendqidi2): Input operand is %1.
+ 	* config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
+ 	(fpscr_values) [SH5 == 32]: Define.
+ 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
+ 	* config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
+ 	Handle function addresses coming in SUBREGs.
+ 	2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
+ 	shcompact_return_trampoline): Use datalabel where appropriate.
+ 	2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
+ 	general-purpose register to copy one branch-target register to
+ 	another.
+ 	2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (target_operand): Accept LABEL_REFs and
+ 	SYMBOL_REFs with VOIDmode.
+ 	* config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
+ 	bltu_media_i): New insns.
+ 	2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
+ 	(INIT_CUMULATIVE_ARGS): Likewise.
+ 	2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+ 	* machmode.def (V16SFmode): New mode.
+ 	* c-common.c (type_for_mode): Support V2SF and V16SF.
+ 	* tree.c (build_common_tree_nodes_2): Likewise.
+ 	* tree.h (tree_index): Likewise.
+ 	* calls.c (emit_call_1): Take args_so_far.  Adjust all
+ 	callers.  Introduce CALL_POPS_ARGS.
+ 	* tm.texi (CALL_POPS_ARGS): Document.
+ 	* config/sh/crt1.asm: Implement in SHmedia mode.
+ 	* config/sh/crti.asm, config/sh/crtn.asm: Likewise
+ 	* config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
+ 	(DBX_REGISTER_NUMBER): Renumber registers for SH5.
+ 	* config/sh/lib1funcs.asm: Disable functions unused in SH5.
+ 	Implement divsi and udivsi in SHmedia mode.  Introduce
+ 	SHcompact trampolines.
+ 	* config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
+ 	only in SHmedia64.
+ 	(regno_reg_class): Rewrite.
+ 	(fp_reg_names): Remove.
+ 	(sh_register_names, sh_additional_register_names): New.
+ 	(print_operand): Added `u'.  Support SUBREGs in addresses.
+ 	Add parentheses around shifted CONSTs.
+ 	(output_file_start): Output .mode and .abi directives.
+ 	(shiftcosts, addsubcosts, multcosts): Adjust.
+ 	(output_stack_adjust): Compute alignment.  Sanity-check SIZE.
+ 	(push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
+ 	(calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
+ 	bytes, not registers.  Take into account the need for the
+ 	SHcompact incoming args trampoline.  Adjust all callers.
+ 	(sh_expand_prologue): Take stack_regs into account.  Call
+ 	incoming args trampoline.  Keep stack aligned as per SH5 ABI.
+ 	(sh_expand_epilogue): Take stack_regs into accoutn.  Keep
+ 	stack aligned as per SH5 ABI.
+ 	(sh_builtin_saveregs): Support SH5 ABI.
+ 	(sh_build_va_list, sh_va_start): Likewise.
+ 	(initial_elimination_offset): Take alignment into account.
+ 	Compute location of PR according to the SH5 stack frame.
+ 	(arith_reg_operand): Reject branch-target registers.
+ 	(shmedia_6bit_operand): New.
+ 	(logical_operand): Use CONST_OK_FOR_P on SHmedia.
+ 	(target_reg_operand): Match DImode only.  Accept SUBREGs.
+ 	(target_operand): New.
+ 	* config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
+ 	(CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
+ 	SIBCALL_REGS for SHmedia.
+ 	(TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
+ 	(TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
+ 	(TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
+ 	(TARGET_SWITCHES): New SH5 flags.
+ 	(OVERRIDE_OPTIONS): Set SH5-specific options.  Use
+ 	VALID_REGISTER_P to disable unsupported registers.
+ 	(LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
+ 	(POINTER_SIZE, PARM_BOUNDARY): Adjust.
+ 	(FUNCTION_ARG_PADDING): Define.
+ 	(FASTEST_ALIGNMENT): Adjust.
+ 	(SH_REGISTER_NAMES_INITIALIZER): New.
+ 	(sh_register_names): Declare.
+ 	(DEBUG_REGISTER_NAMES): Define.
+ 	(REGISTER_NAMES): Define based on sh_register_names.
+ 	(SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
+ 	(sh_additional_register_names): Declare.
+ 	(LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
+ 	(FIRST_TARGET_REG, LAST_TARGET_REG): Define.
+ 	(TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
+ 	(REGISTER_NATURAL_MODE): Define.
+ 	(FIRST_PSEUDO_REGISTER): Adjust.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
+ 	(HARD_REGNO_CALL_PART_CLOBBERED): Define.
+ 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
+ 	(VECTOR_MODE_SUPPORTED_P): Define.
+ 	(REG_CLASS_CONTENTS): Adjust.
+ 	(SMALL_REGISTER_CLASSES): Adjust.
+ 	(REG_ALLOC_ORDER): Adjust.
+ 	(INDEX_REG_CLASS): Adjust.
+ 	(CONST_OK_FOR_O, CONST_OK_FOR_P): New.
+ 	(CONST_OK_FOR_LETTER_P): Adjust.
+ 	(PREFERRED_RELOAD_CLASS): Adjust.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
+ 	(SECONDARY_INPUT_RELOAD_CLASS): Adjust.
+ 	(NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
+ 	(FIRST_FP_PARM_REG): Adjust.
+ 	(CALL_POPS_ARGS): Define.
+ 	(FUNCTION_ARG_REGNO_P): Adjust.
+ 	(struct sh_args): New fields.
+ 	(GET_SH_ARG_CLASS): Adjust.
+ 	(INIT_CUMULATIVE_ARGS): Adjust.
+ 	(INIT_CUMULATIVE_INCOMING_ARGS): Define.
+ 	(FUNCTION_ARG_ADVANCE): Adjust.
+ 	(FUNCTION_ARG): Adjust.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Define.
+ 	(SH5_PROTOTYPELESS_FLOAT_ARG): Define.
+ 	(STRICT_ARGUMENT_NAMING): Define.
+ 	(PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
+ 	(FUNCTION_ARG_PARTIAL_NREGS): Adjust.
+ 	(SH5_WOULD_BE_PARTIAL_NREGS): Define.
+ 	(SETUP_INCOMING_VARARGS): Adjust.
+ 	(HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
+ 	(USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
+ 	(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
+ 	(SUBREG_OK_FOR_INDEX_P): Adjust.
+ 	(EXTRA_CONSTRAINT_S): Update.
+ 	(EXTRA_CONSTRAINT_T): New.
+ 	(EXTRA_CONSTRAINT): Adjust.
+ 	(GO_IF_LEGITIMATE_INDEX): Adjust.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Adjust.
+ 	(LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
+ 	(MOVE_MAX): Adjust.
+ 	(MAX_MOVE_MAX): Define.
+ 	(Pmode): Adjust.
+ 	(CONST_COSTS): Adjust.
+ 	(REGISTER_MOVE_COST): Adjust.
+ 	(BRANCH_COST): Adjust.
+ 	(TEXT_SECTION_ASM_OP): Adjust.
+ 	(DBX_REGISTER_NUMBER): Adjust.
+ 	(ASM_OUTPUT_DOUBLE_INT): New.
+ 	(UNALIGNED_DOUBLE_INT_ASM_OP): New.
+ 	(PREDICATE_CODES): Adjust.
+ 	(PROMOTE_MODE): Adjust.
+ 	(CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
+ 	* config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
+ 	(MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
+ 	(PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
+ 	(DR0_REG, DR2_REG, DR4_REG): Renumber.
+ 	(TR0_REG, TR1_REG, TR2_REG): New.
+ 	(XD0_REG): Renumber.
+ 	(UNSPEC_COMPACT_ARGS): New.
+ 	(type): Added pt and ptabs.
+ 	(length): Default to 4 on SHmedia.  Default pt length to 12
+ 	and	20 on SHmedia32 and SHmedia64, respectively.
+ 	(pt): New function unit.
+ 	(movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
+ 	Add whitespace between operands of SHmedia instructions.
+ 	(movdicc): Fix.
+ 	(adddi3_media, addsi3_media): Adjust constraints.
+ 	(subsi3) [SHmedia]: Force operand 1 into a register.
+ 	(udivsi3_i1_media, udivsi3_i4_media): New.
+ 	(udivsi3): Support SHmedia.
+ 	(divsi3_i1_media, divsi3_i4_media): New.
+ 	(divsi3): Support SHmedia.
+ 	(anddi3, iordi3, xordi3): Adjust constraints.
+ 	(zero_extendhidi2, zero_extendqidi2): New.
+ 	(extendsidi2, extendhidi2, extendqidi2): New.
+ 	(push, pop, push_e, push_fpul, push_4): Disable on SH5.
+ 	(pop_e, pop_fpul, pop_4): Likewise.
+ 	(movsi_media): Support FP and BT registers.
+ 	(movsi_media_nofpu): New.  Adjust splits to DImode.
+ 	(lduw, ldub): Renamed to zero_extend* above.
+ 	(movqi_media): Fix typo.
+ 	(movdi_media): Support FP and BT registers.
+ 	(movdi_media_nofpu): New.  Adjust splits for SHmedia32.
+ 	(movdi_const_32bit): New.
+ 	(shori_media): Require immediate operand.  Use `u' for output.
+ 	(movdf_media, movsf_media): Simplified.
+ 	(movdf_media_nofpu, movsf_media_nofpu): New.
+ 	(movdf, movsf): Adjust
+ 	(movv2sf, movv2sf, movv16sf): New.
+ 	(beq_media, beq_media_i): Adjust constraints.  Don't use
+ 	scratch BT register.
+ 	(bne_media, bne_media_i): Likewise.
+ 	(bgt_media, bgt_media_i): Likewise.
+ 	(bge_media, bge_media_i): Likewise.
+ 	(bgtu_media, bgtu_media_i): Likewise.
+ 	(bgeu_media, bgeu_media_i): Likewise.
+ 	(beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
+ 	bunordered): Emit jump insn.  Force operands to registers when
+ 	needed.
+ 	(jump_media, jump): Simplify.
+ 	(call_compact, call_compact_rettramp): New.
+ 	(call_value_compact, call_value_compact_rettramp): New.
+ 	(call_media, call_value_media): Simplify.
+ 	(sibcall_compact, sibcall_media): New.
+ 	(call, call_value): Adjust for SHmedia and SHcompact.
+ 	(sibcall, sibcall_value, untyped_call): Likewise.
+ 	(sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
+ 	(indirect_jump): Adjust for SHmedia.
+ 	(casesi_jump_media): New.
+ 	(nop): Re-enable for SHmedia.
+ 	(call_site): Restrict to SH1.
+ 	(casesi): Adjust for SHmedia.
+ 	(casesi_shift_media, casesi_load_media): New.
+ 	(return): Explicitly use PR register.  Call return trampoline
+ 	on SHcompact.
+ 	(return_i): Explicitly use PR register.
+ 	(shcompact_return_tramp, shcompact_return_tramp_i): New.
+ 	(return_media): Adjust.
+ 	(shcompact_incoming_args): New.
+ 	(epilogue): Adjust.
+ 	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
+ 	(movstrsi): Disable on SH5.
+ 	(fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
+ 	(addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
+ 	(subsf3, subsf3_media): Likewise.
+ 	(mulsf3, mulsf3_media, mac_media): Likewise.
+ 	(divsf3, divsf3_media): Likewise.
+ 	(floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
+ 	(floatsisf2, fux_truncsfsi2): Likewise.
+ 	(fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
+ 	constraints.
+ 	(cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
+ 	(cmpunsf_media, cmpsf): Likewise.
+ 	(negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
+ 	(abssf2, abssf2_media): Likewise.
+ 	(adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
+ 	(muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
+ 	(floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
+ 	(floatsidf2, fix_truncdfsi2): Likewise.
+ 	(fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
+ 	constraints.
+ 	(cmpeqdf_media, cmpgtdf_media): Likewise.
+ 	(cmpgedf_media, cmpundf_media, cmpdf): Likewise.
+ 	(negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
+ 	(absdf2, absdf2_media): Likewise.
+ 	(extendsfdf2, extendsfdf2_media): Likewise.
+ 	(truncsfdf2, truncsfdf2_media): Likewise.
+ 	* config/sh/sh64.h: New file.
+ 	* config/sh/t-sh64: New file.
+ 	* config/sh/shmedia.h: New file.
+ 	* config/sh/ushmedia.h: New file.
+ 	* config/sh/sshmedia.h: New file.
+ 	* configure.in: Added sh64-*-elf.
+ 	* configure: Rebuilt.
+ 	2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
+ 	(reg_class_from_letter): Use `b' for TARGET_REGS.
+ 	(print_operand): Support `%M', `%m', `AND' and
+ 	`ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
+ 	(andcosts): Adjust for SHmedia.
+ 	(output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
+ 	Likewise.
+ 	(target_reg_operand): New function.
+ 	* config/sh/sh-protos.h (target_reg_operand): Declare.
+ 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
+ 	FP registers on SH5.
+ 	(HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
+ 	on SH4.
+ 	(TARGET_REGISTER_P): New macro.
+ 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
+ 	(FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
+ 	(EXTRA_CONSTRAINT_S): New macro.
+ 	(EXTRA_CONSTRAINT): Adjust.
+ 	(FLOAT_TYPE_SIZE): Define to 32.
+ 	(Pmode): DImode on SHmedia.
+ 	(CONST_COSTS): Adjust for SHmedia literals.
+ 	(PREDICATE_CODES): Added target_reg_operand.
+ 	(PROMOTE_MODE): Promote signed types to DImode on SHmedia.
+ 	* config/sh/sh.md: Remove all attrs from SHmedia insns.
+ 	(cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
+ 	(cmpdi): Accept SHmedia.
+ 	(movdicc_false, movdicc_true): New insns.
+ 	(movdicc): New expand.
+ 	(adddi3): Accept arith_operand for op2, but FAIL on SH1 if
+ 	no_new_pseudos.
+ 	(addsi3_media): Match `S' constraint.
+ 	(anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
+ 	(negdi2): Expand for SHmedia.
+ 	(one_cmpldi2): New expand.
+ 	(zero_extendsidi2): Change from expand to insn.
+ 	(extendsidi2): Add constraints.
+ 	(movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
+ 	LD/ST address.  Fix SI immediate loading split.
+ 	(movhi_media, movqi_media, lduw, ldub): New insns.
+ 	(movhi, movqi): Accept SHmedia.
+ 	(shori_media, movdi_media): Relax input constraints.  Split
+ 	symbolic constants.
+ 	(movdf_media, movsf_media): New insn.  New split to movdi.
+ 	(movdf, movsf): Match on SHmedia.
+ 	(beq_media, bne_media, bgt_media, bge_media, bgtu_media,
+ 	bgeu_media): New insns and splits.  New insns with `_i' suffix.
+ 	(beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
+ 	(bunordered): New expand.
+ 	(jump_compact): Renamed from `jump'.
+ 	(jump_media): New insn.
+ 	(jump): New expand.
+ 	(call_media, call_value_media): New insns.
+ 	(call, call_value): Adjust.
+ 	(indirect_jump_compact): Renamed from `indirect_jump'.
+ 	(indirect_jump_media): New insn.
+ 	(indirect_jump): New expand.
+ 	(untyped_call, return): Accept SHmedia.
+ 	(return_media): New insn.
+ 	(prologue, epilogue, blockage): Accept SHmedia.
+ 	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
+ 	(sunordered): New expand.
+ 	(addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
+ 	cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
+ 	(addsf3_media, subsf3_media, mulsf3_media, mac_media,
+ 	divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
+ 	fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
+ 	cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
+ 	abssf2_media): New insns.
+ 	(adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
+ 	cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
+ 	(adddf3_media, subdf3_media, muldf3_media, divdf3_media,
+ 	floatdidf2, floatsidf2_media, fix_truncdfdi2,
+ 	fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
+ 	cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
+ 	absdf2_media): New insns.
+ 	(extendsfdf2, truncdfsf2): Adjust for SHmedia.
+ 	(extendsfdf2_media, truncdfsf2_media): New insns.
+ 	2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
+ 	* config/sh/sh.h (CONST_OK_FOR_J): Document.
+ 	(LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
+ 	* config/sh/sh.md (adddi3): New expand.
+ 	(adddi3_media, adddi3z_media): New insns.
+ 	(adddi3_compact): Renamed from adddi3.
+ 	(addsi3_media): Use add.l r63 to add constant zero.
+ 	(subdi3): New expand.
+ 	(subdi3_media): New insn.
+ 	(subdi3_compact): Renamed from subdi3.
+ 	(mulsidi3): New expand.
+ 	(mulsidi3_media): New insn.
+ 	(mulsidi3_compact): Renamed from mulsidi3.
+ 	(umulsidi3): New expand.
+ 	(umulsidi3_media): New insn.
+ 	(umulsidi3_compact): Renamed from umulsidi3.
+ 	(ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
+ 	(ashlsi3, ashrsi3, lshrsi3): Use them.
+ 	(ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
+ 	(ashldi3, ashrdi3, lshrdi3): Use them.
+ 	(zero_extendsidi2): New expand.
+ 	(extendsidi2): New insn.
+ 	(movsi_media): New insn.  Split to movdi to load constants.
+ 	(movsi): Enable for shmedia.
+ 	(movdi_media): New insn.  Use shori_media to load wide constants.
+ 	(short_media): New insn.
+ 	(movdi): Enable for shmedia.
+ 	2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (CPP_SPEC): Added `m5'.
+ 	(SUBTARGET_CPP_SPEC): Added `!m5'.
+ 	(SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
+ 	(TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
+ 	to all other SH variants.
+ 	(TARGET_DEFAULT): Set to SH1_BIT.
+ 	(OVERRIDE_OPTIONS): Recognize sh5 CPU.
+ 	(BITS_PER_WORD): Raise to 64 on shmedia.
+ 	(MAX_BITS_PER_WORD): Change to 64.
+ 	(MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
+ 	(INT_TYPE_SIZE): Keep as 32.
+ 	(UNITS_PER_WORD): Raise to 8 on shmedia.
+ 	(MIN_UNITS_PER_WORD): Keep as 4.
+ 	(POINTER_SIZE): Raise to 64 on shmedia.
+ 	(CONST_OK_FOR_J): New macro.
+ 	(CONST_OK_FOR_LETTER_P): Use it.
+ 	(processor_type): Add PROCESSOR_SH5.
+ 	* config/sh/sh.md: Conditionalize all expands, insns and
+ 	splits to TARGET_SH1.
+ 	(cpu): Added sh5.
+ 	(addsi3_compact): Renamed from...
+ 	(addsi3): Now an expand.
+ 	(addsi3_media, subsi3_media): New insns.
+ 	(subsi3): Don't negate constants with SHmedia.
+ 
+ 	* hooks.c: New file.
+ 	* hooks.h: New file.
+ 	* Makefile.in (HOOKS_H): New.
+ 	(TARGET_DEF_H): Added $(HOOKS_H).
+ 	(OBJS): Added hooks.o.
+ 	(cfgcleanup.o, bb-reorder.o): Added target.h.
+ 	(hooks.o): Added dependencies.
+ 	* target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
+ 	(TARGET_INITIALIZER): this.
+ 	* doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
+ 	* target.h (struct gcc_target): Added cannot_modify_jumps_p.
+ 	* bb-reorder.c: Include target.h.
+ 	(reorder_basic_blocks): Skip if cannot modify jumps.
+ 	* cfgcleanup.c: Include target.h.
+ 	(try_optimize_cfg): Skip merge blocking if cannot modify jumps.
+ 
+ 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (casesi_internal, casesi_internal_di):
+ 	Protect jump delay slot instructions with .set noreorder and
+ 	.set nomacro.
+ 
+ 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (casesi_internal_di): Calculate
+ 	the index into the target offset table correctly.
+ 
+ 2002-02-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
+ 	* final.c (output_addr_const): Accept and discard SUBREG.
+ 	* varasm.c (decode_addr_const): Don't abort on unknown expressions --
+ 	mark them unknown instead.
+ 	(simplify_subtraction): Handle RTX_UNKNOWN.
+ 	(initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
+ 
+ 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
+ 
+ 2002-02-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
+ 
+ 2002-02-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
+ 	* config/i386/t-linux64: New file.
+ 
+ 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-common.c (c_expand_expr): Revert 2002-02-06 patch.
+ 	* c-parse.in (compstmt): Clear last_expr_type.
+ 
+ 2002-02-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* loop.c (strength_reduce): Sink final_value when not
+ 	eliminating a biv.
+ 
+ 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/freebsd.h: Fix mismatched spec {.
+ 
+ 2002-02-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c: Include recog.h and insn-config.h.
+ 	(keep_with_call_p): Fix general_operand invocation.
+ 	* Makefile.in (cfgrtl.o): Update dependencies.
+ 
+ 2002-02-07  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
+ 	comment.  Accept HImode only if TARGET_H8300.
+ 
+ 2002-02-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/crtn.asm: Cleanup #ifdefs.
+ 
+ 2002-02-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/crti.asm: Add changes for mips16. mips16 uses
+ 	register 7 as RA instead of $31.
+ 	* config/mips/crtn.asm: Ditto.
+ 	* config/mips/mips.c (mips_move_2words): Add case for
+ 	TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
+ 	(compute_frame_size): Fix typo.
+ 	(save_restore_insns): Ditto.  Make documentation about using
+ 	register $7 as return register more precise.
+ 	(mips_expand_epilogue): Fix comment. Add code to work around not
+ 	being able to add to the stack pointer directly.
+ 	* config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
+ 	to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
+ 	epilogue.
+ 
+ 2002-02-07  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
+ 	immediates in ldu and stdu DS opcode field.
+ 	* config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
+ 	* config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Same.
+ 
+ 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* config/sparc/sparc.c (compute_frame_size): Don't correct frame
+ 	offset for stack bias.
+ 
+ 2002-02-07  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
+ 
+ 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
+ 
+ Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (x86_order_regs_for_local_alloc): Declare
+ 	* i386.c (x86_order_regs_for_local_alloc): New global function.
+ 	* i386.h (REG_ALLOC_ORDER): CLeanup.
+ 	(ORDER_REGS_FOR_LOCAL_ALLOC): New.
+ 
+ 2002-02-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/2463
+ 	* alias.c (find_base_value): Recall base values for fixed hard regs.
+ 	* loop.c (loop_regs_update): Don't use single_set on non-insns.
+ 
+ 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.md (define_delay) [mips16]: Adjust required
+ 	length.
+ 
+ 2002-02-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/5609
+ 	* stmt.c (resolve_operand_name_1): Take more care with mixed
+ 	named and unnamed operands.
+ 
+ 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (remove_constant_addition): Avoid clobbering a shared
+ 	CONST expression.
+ 
+ 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
+ 	* config/s390/t-linux64: New file.
+ 	* config/s390/libgcc-glibc.ver: New file.
+ 
+ 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux64.h: Delete file.
+ 	* config/s390/s390x.h: New file.
+ 	* config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
+ 	as target header file.
+ 	* config/s390/linux.h (TARGET_VERSION): Define depending on
+ 	DEFAULT_TARGET_64BIT.
+ 	(CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
+ 	(SIZE_TYPE, PTRDIFF_TYPE): Likewise.
+ 	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
+ 	(CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
+ 	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
+ 	(EXTRA_SPEC): New define.
+ 	* config/s390/s390.h (TARGET_VERSION): Define depending on
+ 	DEFAULT_TARGET_64BIT.
+ 	(MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
+ 
+ 2002-02-06  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (finish_function): Warn about a non-void function with
+ 	no return statement and no abnormal exit.
+ 	(current_function_returns_abnormally): New variable.
+ 	(start_function): Clear it.
+ 	(struct c_language_function): Add returns_abnormally.
+ 	(push_c_function_context): Save it.
+ 	(pop_c_function_context): Restore it.
+ 	(builtin_function): Set TREE_THIS_VOLATILE on return fns.
+ 	(grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
+ 	an explicit return type.
+ 	* c-tree.h: Declare current_function_returns_abnormally.
+ 	(C_FUNCTION_IMPLICIT_INT): New macro.
+ 	* c-typeck.c (build_function_call): Set it.
+ 	(c_expand_return): Set current_function_returns_value even if the
+ 	value is erroneous.
+ 
+ 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5420:
+ 	* c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
+ 	unsafe for reevaluation.
+ 
+ 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5482:
+ 	* c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
+ 	EXPR_STMT, but COMPOUND_STMT, recurse into it.
+ 
+ 2002-02-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfganal.c (keep_with_call_p): Source for fixed_reg dest must
+ 	be a general_operand.  Dest for function value must be a pseudo.
+ 
+ 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
+ 	as SYMBOL_REFs from the constant pool.
+ 
+ 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
+ 	passed by invisible reference.
+ 
+ 2002-02-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
+ 
+ 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	Implement using "base addresses" in insn operands as default.
+ 	* config/mmix/mmix.c (mmix_conditional_register_usage): if
+ 	-mabi=gnu, modify fixed_regs to fit the GNU ABI.
+ 	(mmix_extra_constraint): Use 'R' to indicate that GETA should be
+ 	used to read the rtx value.
+ 	(mmix_target_asm_function_epilogue): Fix spacing.
+ 	(mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
+ 	(mmix_legitimate_address): Ditto.
+ 	(mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
+ 	should be loaded with a GETA insn.  Don't allocate needless extra
+ 	char for nul termination and fix misleading comment.
+ 	(mmix_print_operand_address): Handle constants if
+ 	TARGET_BASE_ADDRESSES.
+ 	(mmix_output_register_setting): Use base addressing if
+ 	TARGET_BASE_ADDRESSES and the number of insns is 3.
+ 	* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
+ 	* config/mmix/mmix.md ("movdi"): Change the alternative with GETA
+ 	to use R as constraint, add LDA to match s.
+ 	* config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
+ 	(TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
+ 	(TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
+ 	(FIXED_REGISTERS): Make registers $231..$246 fixed by default.
+ 	(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
+ 	order with other fixed registers.
+ 	(MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
+ 	other parameter/call-clobbered registers.
+ 	* doc/invoke.texi (Option Summary) <MMIX Options>: Add
+ 	-mbase-addresses, -mno-base-addresses.
+ 	(MMIX Options): Ditto.
+ 
+ 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
+ 
+ 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Change elem to _S_elem.
+ 
+ 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h (WCHAR_TYPE): Define.
+ 	(WCHAR_TYPE_SIZE): Ditto.
+ 	(WINT_TYPE): Ditto.
+ 	* config/alpha/netbsd.h (WCHAR_TYPE): Remove.
+ 	(WCHAR_UNSIGNED): Ditto.
+ 	(WCHAR_TYPE_SIZE): Ditto.
+ 	(WINT_TYPE): Ditto.
+ 	* config/arm/netbsd.h: Likewise.
+ 	* config/i386/netbsd-elf.h: Likewise.
+ 	* config/i386/netbsd.h: Likewise.
+ 	* config/m68k/netbsd-elf.h: Likewise.
+ 	* config/m68k/netbsd.h: Likewise.
+ 	* config/ns32k/netbsd.h: Likewise.
+ 	* config/sparc/netbsd.h: Likewise.
+ 	* config/vax/netbsd.: Likewise.
+ 
+ 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Added ms_bitfield_layout_p.
+ 	* target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
+ 	(TARGET_INITIALIZER): this.
+ 	* doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
+ 	(BITFIELD_NBYTES_LIMITED): Markup fix.
+ 	* tree.h (default_ms_bitfield_layout_p): Declare.
+ 	(record_layout_info): Added prev_field.
+ 	* tree.c (default_ms_bitfield_layout_p): New fn.
+ 	* c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
+ 	PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
+ 	* stor-layout.c: Include target.h.
+ 	(start_record_layout): Initialize prev_field.
+ 	(place_field): Handle MS bit-field layout, and disregard
+ 	EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
+ 	PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
+ 	* Makefile.in (stor-layout.o): Adjust dependencies.
+ 
+ 2002-02-05  Jason Merrill  <jason@redhat.com>
+ 
+ 	* collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
+ 
+ 2002-02-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* crtstuff.c: Fix comments.
+ 
+ 2002-02-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR fortran/3393
+ 	* loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
+ 	(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
+ 
+ 	PR fortran/3392
+ 	* config/mips/mips.c (function_arg): Handle TImode.
+ 	(function_arg_advance): Likewise.
+ 
+ 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_step_help): Rename to
+ 	__vec_step_help.
+ 
+ 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Fix typos.
+ 
+ 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/arm/netbsd.h: Correct a comment.
+ 
+ 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
+ 	building void typed builtins.
+ 
+ 	* config/rs6000/altivec.h (vec_ld*): Fix typos.
+ 	(vec_step): Implement for C++.
+ 
+ Mon Feb	 4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
+ 
+ 2002-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (nonzero_bits): Re-introduce special case for
+ 	sp/fp/ap wrt REGNO_POINTER_ALIGN.
+ 
+ 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/extend.texi: Warn about unsupported usage of altivec
+ 	builtins.
+ 
+ 	* config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
+ 	(altivec_predicate_*): New.
+ 
+ 	* config/rs6000/altivec.h: Rewrite predicates to use new builtins.
+ 	Add C++ version of vec_*() functions.
+ 
+ 	* config/rs6000/rs6000.c (bdesc_altivec_preds): New.
+ 	(bdesc_2arg): Remove altivec predicates.
+ 	(altivec_expand_builtin): Handle predicates.
+ 	(altivec_init_builtins): Handle predicates.
+ 	(altivec_expand_predicate_builtin): New.
+ 
+ 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (DO_FRAME_NOTES): Move forward.
+ 	(store_reg): Revise handling of frame notes.
+ 	(load_reg): Likewise.
+ 	(set_reg_plus_d): Likewise.
+ 	(hppa_expand_prologue): Likewise.
+ 	(hppa_expand_epilogue): Likewise.
+ 
+ 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
+ 
+ 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/4475, c++/3780:
+ 	* c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
+ 	* c-common.h (SWITCH_TYPE): Define.
+ 	* c-typeck.c (c_start_case): Set SWITCH_TYPE.
+ 	* stmt.c (all_cases_count): Set lastval to thisval at end of loop.
+ 	Rename spareness variable to sparseness.
+ 	(expand_end_case_type): Renamed from expand_end_case, use orig_type
+ 	if non-NULL instead of TREE_TYPE (orig_index).
+ 	* tree.h (expand_end_case_type): Renamed from expand_end_case.
+ 	(expand_end_case): Define using expand_end_case_type.
+ 	* c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
+ 	to expand_end_case_type.
+ 	* doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
+ 
+ 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
+ 	(BIGGEST_ALIGNMENT): Change to 128.
+ 
+ 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa32-linux.h (LINK_COMMAND_SPEC): Define.
+ 
+ 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (call_internal_reg_64bit): Remove unused variable.
+ 
+ 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.h (machine_function): Add uses_anonymous_args
+ 	field.
+ 	(SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
+ 	* config/arm/arm.c (current_function_anonymous_args): Delete,
+ 	replace uses with cfun->machine->uses_anonymous_args.
+ 	(arm_reorg): Do not reset uses_anonymous_args.
+ 
+ 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
+ 	any geenral register.
+ 
+ 2001-02-04  Bernd Schmidt  <bernds@redhat.com>s
+ 
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
+ 	the entry block.
+ 
+ 2002-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (force_to_mode): Remove STACK_BIAS code.
+ 	(nonzero_bits): Likewise.  Replace sp/fp special case with
+ 	REGNO_POINTER_ALIGN.
+ 
+ 	* config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
+ 	(HARD_FRAME_POINTER_REGNUM): New.
+ 	(FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
+ 	(FIXED_REGS, CALL_USED_REGS): Update.
+ 	(REG_ALLOC_ORDER, REGISTER_NAMES): Update.
+ 	(CONDITIONAL_REGISTER_USAGE): Update for HFP.
+ 	(HARD_REGNO_NREGS): Update for SFP.
+ 	(STACK_POINTER_OFFSET): Include bias here ...
+ 	(FIRST_PARM_OFFSET): ... not here.
+ 	(STACK_BIAS): Remove.
+ 	(INIT_EXPANDERS): New.
+ 	(STARTING_FRAME_OFFSET): Do not include bias.
+ 	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
+ 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
+ 	(REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
+ 	* config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
+ 	* config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
+ 	* config/sparc/sparc.c (mem_min_alignment): Update for HFP.
+ 	(sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
+ 	(MUST_SAVE_REGISTER): Likewise.
+ 	(sparc_flat_function_prologue): Likewise.
+ 	(sparc_flat_function_epilogue): Likewise.
+ 	(HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
+ 	(sparc_init_modes): SFP is GENERAL_REGS.
+ 	(sparc_builtin_saveregs): SFP does not have bias applied.
+ 
+ 2002-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (current_function_is_thunk): Don't check
+ 	current_function_is_thunk.
+ 	(alpha_sa_mask): Distinguish between current_function_is_thunk
+ 	called from ASM_OUTPUT_MI_THUNK and not.
+ 	(alpha_does_function_need_gp): Thunks always need gp.
+ 	(alpha_start_function, alpha_output_function_end_prologue): Likewise.
+ 	(alpha_output_mi_thunk_osf): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
+ 
+ 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* c-typeck.c (build_c_cast): Warn when qualifiers are added to
+ 	function types, not when they're taken away.
+ 
+ Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
+ 	CODE_LABEL and jump table when replacing a table jump with a
+ 	simple jump.
+ 
+ 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (legitimize_la_operand,
+ 	s390_secondary_input_reload_class, s390_plus_operand,
+ 	s390_expand_plus_operand): Add prototypes.
+ 
+ 	config/s390/s390.c (s390_secondary_input_reload_class,
+ 	s390_plus_operand, s390_expand_plus_operand): New functions.
+ 
+ 	(struct s390_address): New member 'pointer'.
+ 	(s390_decompose_address): Compute it.
+ 	(legitimate_la_operand_p): Use it.
+ 	(legitimize_la_operand): New function.
+ 	(movti, movdi, movdf splitters): Call it.
+ 
+ 	config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
+ 	(PREDICATE_CODES): Add s390_plus_operand.
+ 
+ 	config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
+ 	(la_ccclobber): Allow GENERAL_REGS as output operand.
+ 
+ 	(reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
+ 	*reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
+ 	(*la_64, *la_31, reload_indi, reload_insi): ... these.
+ 
+ 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
+ 	register names for regular asm () construct.
+ 
+ 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (movsf_1): Allow moving SF values in MMX
+ 	registers.
+ 
+ 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* combine.c (recog_for_combine): Create a dummy insn with PATTERN
+ 	pat for recog.
+ 
+ 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
+ 	constant pool to be identical by string address and index.
+ 
+ 2002-02-04  Anthony Green  <green@redhat.com>
+ 
+ 	* output.h (SECTION_OVERRIDE): Define.
+ 	* varasm.c (named_section): Obey SECTION_OVERRIDE.
+ 
+ 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
+ 	by existing arm*-*-netbsd* (a.out) target.
+ 	(ns32k-*-netbsdelf*): Likewise.
+ 	(sparc-*-netbsdelf*): Likewise.
+ 	(vax-*-netbsdelf*): Likewise.
+ 
+ 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
+ 
+ 	* gthr-win32.h: Protect against conflicting typedef for BOOL in windows
+ 	headers and libobjc headers.
+ 
+ 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
+ 
+ 	* gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
+ 	(_mingw.h): Remove duplicate include.
+ 
+ 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc: Set cpu_type to m68k for 68010, as well.
+ 	(m68010-*-netbsdelf*): New...
+ 	(m68k*-*-netbsdelf*): ...targets.
+ 	* config/m68k/netbsd-elf.h: New file.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (hand_list): Move inside function_arg.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (h8_push_ops): Move inside
+ 	h8300_init_once.
+ 	(h8_pop_ops): Likewise.
+ 	(h8_move_ops): Likewise.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (os_task): Make it static.
+ 	(monitor): Likewise.
+ 	(pragma_saveall): Likewise.
+ 
+ 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (ic_invalidate_line): Make sure the immediate
+ 	constant is a valid sign-extension for Pmode.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Fix formatting.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Fix formatting.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (one_cmpl patterns): Tighten the
+ 	predicates of operands[1].  Split the patterns for each
+ 	processor variant.
+ 
+ 2002-02-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (xor patterns): Tighten the predicates
+ 	of operands[1] to register_operand.
+ 
+ 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
+ 	* cpphash.c (_cpp_init_hashtable): Similarly.
+ 	* cppinit.c (cpp_create_reader): Default the signed_char flag.
+ 	(init_builtins): Define __CHAR_UNSIGNED__ appropriately.
+ 	(COMMAND_LINE_OPTIONS): Recognize -f{un,}signed-char.
+ 	(cpp_handle_option): Handle the new options.
+ 	* cpplex.c (cpp_interpret_charconst): Use new flag.
+ 	* cpplib.h (struct cpp_options): New member signed_char.
+ 	* gcc.c (cpp_unique_options): Remove %c spec and documentation.
+ 	(cpp_options): Handle -fsigned-char and -funsigned-char.
+ 	(static_specs): Remove signed_char_spec.
+ 	(do_spec1): Don't handle %c.
+ 	* system.h: Poison SIGNED_CHAR_SPEC.
+ 	* tradcif.y (yylex): Use flag_signed_char.
+ 	* tradcpp.h (flag_signed_char): New.
+ 	* tradcpp.c (flag_signed_char): New.
+ 	(main): Handle new command-line options.
+ 	(initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
+ config:
+ 	* alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
+ 	* avr/avr.h: Remove old comments.
+ 	* i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
+ 	(CC1_SPEC): Pass -fsigned-char if -mic*.
+ 	(SIGNED_CHAR_SPEC): Remove.
+ doc:
+ 	* tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
+ 
+ 2002-02-01  Eric Christopher  <echristo@redhat.com>
+ 
+ 	From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
+ 	* config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
+ 	* config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
+ 	(ASM_OUTPUT_REG_POP): Ditto.
+ 
+ 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
+ 	patch.
+ 
+ 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
+ 
+ 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/5304:
+ 	* expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
+ 	unconditionally.
+ 
+ 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* cfganal.c: Include tm_p.h.
+ 	(keep_with_call_p): Fix the test that determines if a register holds
+ 	the return value of a call.
+ 
+ 2002-02-01  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
+ 	we are given conflicting registers, switch to the other one we
+ 	had allocated for us.
+ 	* config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
+ 	as TImode so we know when the "other" register is available.
+ 
+ 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
+ 	sparc/sparc_bi.h.
+ 
+ 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* cfganal.c (keep_with_call_p): New function.
+ 	(flow_call_edges_add): Prevent splitting a block between a call and
+ 	a single-set instruction that should be kept in the same block.
+ 
+ 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/install.texi (avr): Update outdated URL.
+ 
+ 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (pushqi): New.
+ 	(popqi): New.
+ 	(pushhi): New.
+ 	(pophi): New.
+ 	(movhi): Remove stack operands.
+ 	(movqi): Likewise.
+ 	* config/stormy16/stormy16.h (PREDICATE_CODES): Add
+ 	nonimmediate_nonstack_operand.
+ 	* config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
+ 	New.
+ 	* config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
+ 	New.
+ 
+ 2002-01-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (c-parse.c): Handle .output file.
+ 	* objc/Make-lang.in (objc-parse.c): Likewise.
+ 
+ 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
+ 	the -me[lb] option is given.  Don't output the default flag
+ 	twice.
+ 
+ 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-lex.c (yyparse): Call debug_hooks->start_source_file for
+ 	the primary source file; this has not been done yet.
+ 	* c-decl.c (c_expand_body): Reset input_filename from
+ 	DECL_SOURCE_FILE (fndecl) before calling init_function_start.
+ 
+ 2002-01-31  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* rtlanal.c (subreg_regno_offset): Do not use
+ 	SUBREG_REGNO_OFFSET.
+ 	* system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
+ 	* doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
+ 
+ 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
+ 	version rather than GNATS version in --version output.
+ 
+ 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): Make a copy of the destination
+ 	when copying back from a temporary.
+ 
+ 2002-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (dead_or_predicable): Handling merging when other_bb
+ 	and new_dest are the same.
+ 
+ 2002-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/5076
+ 	* rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
+ 	* rtl.c (note_insn_name): Update.
+ 	* emit-rtl.c (remove_unnecessary_notes): Kill it.
+ 	* stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
+ 	to perform loop rotation.
+ 	(expand_exit_loop_top_cond): New.
+ 	* tree.h (expand_exit_loop_top_cond): Declare it.
+ 	* c-semantics.c (genrtl_while_stmt): Use it.
+ 	(genrtl_for_stmt): Likewise.
+ 
+ 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
+ 	arguments to 64-bit boundaries on 64-bit ABIs.
+ 
+ 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
+ 
+ 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Handle type being a typedef for an
+ 	invalid type.
+ 
+ 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
+ 	* config/sparc/sparc_bi.h: Remove file.
+ 	* config/sparc/biarch64.h: New file (rename of sparc_bi.h).
+ 
+ 2002-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-deps.c (sched_analyze): Make a call read the frame pointer.
+ 
+ 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
+ 
+ 2002-01-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
+ 	(output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
+ 	(reg_save): Use DW_CFA_offset_extended_sf instead.
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
+ 
+ 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
+ 	in cselib_lookup.
+ 
+ 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.md ("*call_value_local32"): Remove constraints.
+ 	("*call_value_local64"): Same.
+ 	("*call_value_indirect_nonlocal_aix32"): Same.
+ 	("*call_value_nonlocal_aix32"): Same.
+ 	("*call_value_indirect_nonlocal_aix64"): Same.
+ 	("*call_value_nonlocal_aix64"): Same.
+ 	("*call_value_nonlocal_sysv"): Same.
+ 
+ 2002-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
+ 
+ 2002-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (force_operand): Ignore flag_pic for detecting pic
+ 	address loads.
+ 	* regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
+ 	for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
+ 	* resource.c (mark_target_live_regs): Use regs_invalidated_by_call
+ 	instead of open-coded loop.
+ 	* doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
+ 	be fixed when in use.
+ 
+ 2002-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
+ 	* sched-rgn.c (propagate_deps): Update them.
+ 	* sched-deps.c (sched_analyze_insn): Update them.  Flush the
+ 	clobbers list when either gets too long.
+ 
+ 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
+ 	and INDEX_REGS the same as GENERAL_REGS.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+ 
+ 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* tree.c (build_nonstandard_integer_type): Correct prototype.
+ 
+ 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (movstrsico, movstrdix_64,
+ 	movstrsix_31): Remove, replace by ...
+ 	(movstrdi_short, movstrsi_short, movstrdi_long,
+ 	movstrsi_long): ... these.  New.
+ 	(movstrdi, movstrsi): Adapt.
+ 
+ 	(rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
+ 	ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
+ 	Remove unnecessary CC clobber.
+ 	(*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
+ 	*ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
+ 
+ 	(divmoddi4): Don't partially initialize TImode register.
+ 
+ 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
+ 
+ 2002-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (print_rtl_and_abort): Remove.
+ 	(print_rtl_and_abort_fcn): Remove.
+ 	(verify_local_live_at_start): Use dump_bb instead.
+ 	(verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
+ 	(verify_wide_reg_1): Return 2 on mode test failure.
+ 
+ 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR c/3325, c/3326, c/2511, c/3347
+ 	* c-decl.c (enum_decl_context): Remove BITFIELD.
+ 	(grokdeclarator): Take bitfield width as an input.
+ 	Ensure bitfields are given the correct type.  Perform
+ 	bitfield width validation with build_bitfield_integer_type
+ 	rather than waiting for finish_struct.
+ 	(grok_typename, grok_typename_in_parm_context, start_decl,
+ 	push_parmdecl, grokfield, start_function): Update calls to
+ 	grokdeclarator.
+ 	(build_bitfield_integer_type): New function.
+ 	(finish_struct): Move bitfield validation to grokdeclarator
+ 	and build_bitfield_integer_type.
+ 	* tree.c (build_nonstandard_integer_type): New function.
+ 	* tree.h (build_nonstandard_integer_type): New prototype.
+ objc:
+ 	* objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
+ 
+ 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR other/1502:
+ 	* cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
+ 	don't ignore unrecognized -W* options.
+ 	(cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
+ 	* cpplib.h (cpp_handle_option): Adjust prototype.
+ 	* c-decl.c (c_decode_options): Pass 0 as last argument to
+ 	cpp_handle_option.
+ 
+ 	PR c/2896:
+ 	* gcc.c (cpp_unique_options): Split from cpp_options.
+ 	(cpp_options): Source cpp_unique_options.
+ 	(default_compilers): Use cpp_unique_options instead of cpp_options
+ 	when used together with cc1_options.
+ 	(static_specs): Add cpp_unique_options.
+ 	* objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
+ 	when used together with cc1_options.
+ 
+ 2002-01-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype of
+ 	output_a_shift.
+ 	* config/h8300/h8300.c (output_a_shift): Remove an unused
+ 	argument 'insn'.  Remove redundant code.
+ 	* config/h8300/h8300.md: Adust to the new prototype of
+ 	output_a_shift.
+ 
+ 2002-01-29  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototypes of
+ 	emit_a_rotate and expand_a_rotate.
+ 	* config/h8300/h8300.c (emit_a_rotate): Change the type of the
+ 	first argument to 'enum rtx_code'.
+ 	(expand_a_rotate): Likewise.
+ 
+ 2002-01-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype of
+ 	output_simode_bld.
+ 	* config/h8300/h8300.c (output_simode_bld): Remove an argumen
+ 	'log2'.
+ 	* config/h8300/h8300.md: Adjust to the new prototype.
+ 
+ 2002-01-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
+ 	redundant code.
+ 
+ 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
+ 	is a fixed register before returning pic_offset_table_rtx.
+ 	* loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
+ 	when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
+ 
+ 2002-01-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dwarf2.h: Sync with src version.
+ 
+ 2002-01-28  Paul Koning  <pkoning@equallogic.com>
+ 
+ 	* builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
+ 	BT_FN_VOID_PTR_VAR.
+ 	* builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
+ 	* doc/extend.texi (__builtin_prefetch): Update documentation:
+ 	first argument is now const void ptr.
+ 
+ 2002-01-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Remove an unused prototype.
+ 
+ 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* toplev.c (lang_independent_init): Round up identifier size.
+ 
+ 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config.gcc: Revert previous change.
+ 
+ 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
+ 
+ 	* config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
+ 
+ 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config.gcc (*-*-netbsdelf*): Set up generic parameters.
+ 	(*-*-netbsd*): Always use collect2.  Remove collect2 settings from
+ 	other non-elf netbsd config frags.
+ 	* config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
+ 	collect2 will does that.
+ 	* config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
+ 	shared-lib frobbing will work.
+ 
+ 2002-01-28  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
+ 
+ 	* fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
+ 	the old, removed AAA_standards fix.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 
+ 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
+ 	atexit call in crtbegin, hooked in after call to frame_dummy;
+ 	register EH before registering __fini__start.
+ 
+ 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h: Remove spurious semicolons.
+ 
+ 2002-01-27  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Replace dead bit extraction patterns
+ 	with ones that work.
+ 
+ Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
+ 	if not STRICT_ALIGNMENT.
+ 	* rtl.h (MEM_ALIGN): Likewise.
+ 
+ 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/invoke.texi (-fdump-translation-unit): Revert this
+ 	patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 2002-01-27  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (define_constants): New.
+ 	(anonymous patterns) Use defined constants appropriately.
+ 
+ 2002-01-27  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (function_arg): Remove redundant code.
+ 
+ 2002-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-deps.c (reg_pending_uses_head): New.
+ 	(reg_pending_barrier): Rename from reg_pending_sets_all.
+ 	(find_insn_list): Don't mark inline.
+ 	(find_insn_mem_list): Remove.
+ 	(add_dependence_list, add_dependence_list_and_free): New.
+ 	(flush_pending_lists): Replace only_write param with separate
+ 	for_read and for_write parameters.  Update all callers.  Use
+ 	add_dependence_list_and_free.
+ 	(sched_analyze_1): Do not add reg dependencies here; just set
+ 	the pending bits.  Use add_dependence_list.
+ 	(sched_analyze_2): Likewise.
+ 	(sched_analyze_insn): Replace schedule_barrier_found with
+ 	reg_pending_barrier.  Add all dependencies for pending reg
+ 	uses, sets, and clobbers.
+ 	(sched_analyze): Don't add reg dependencies for calls, just
+ 	set pending bits.  Use regs_invalidated_by_call.  Treat
+ 	sched_before_next_call as a normal list, not a fake insn.
+ 	(init_deps): No funny init for sched_before_next_call.
+ 	(free_deps): Free pending mems lists.  Don't zero reg_last.
+ 	(init_deps_global): Init reg_pending_uses.
+ 	(finish_deps_global): Free it.
+ 	* sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
+ 	(find_insn_mem_list): Remove.
+ 	* sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
+ 	(propagate_deps): Use them.  Zero temp mem lists.
+ 
+ 2002-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (CRTSTUFF_CFLAGS): New.
+ 	(crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
+ 	* config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
+ 	crtstuff.c instead of alpha assembly version.
+ 	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
+ 	entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
+ 	not FORCE_{INIT,FINI}_SECTION_ALIGN.
+ 	(__do_global_dtors_aux): Mark used.
+ 	(frame_dummy, __do_global_ctors_aux): Mark used.
+ 	(fini_dummy, init_dummy): Remove.
+ 
+ 	* config/alpha/crtbegin.asm: Remove file.
+ 	* config/alpha/crtend.asm: Remove file.
+ 	* config/alpha/t-crtbe: Remove file.
+ 	* config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
+ 	(LINK_EH_SPEC): New.
+ 
+ 	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
+ 	FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
+ 	calling constructors.
+ 	* config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
+ 
+ 	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
+ 	* config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
+ 	CRT_END_INIT_DUMMY hack.
+ 	* config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
+ 	FORCE_{INIT,FINI}_SECTION_ALIGN.
+ 
+ 	* config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
+ 	FORCE_{INIT,FINI}_SECTION_ALIGN.
+ 
+ 	* config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
+ 	invocation sequence.
+ 	* config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
+ 
+ 	* doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
+ 	(FORCE_CODE_SECTION_ALIGN): New.
+ 
+ 2002-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
+ 
+ 2002-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
+ 	(alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
+ 
+ 2002-01-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Remove bit extraction patterns that
+ 	cannot be triggered.
+ 	Restrict each bit extraction pattern to a variant on which the
+ 	pattern is tested.
+ 
+ 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/include/texinfo.tex: Update to version 2002-01-04.07.
+ 
+ 2002-01-26  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Remove bit test patterns that cannot
+ 	be triggered.
+ 	Restrict each bit test pattern to a variant on which the
+ 	pattern is tested.
+ 
+ 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strncat): Remove redundant check for
+ 	INTEGER_CST.
+ 
+ 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
+ 	default setting.
+ 	* config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
+ 	existing setting.
+ 
+ 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* dbxout.c (dbxout_init): Use assemble_name rather than just
+ 	stripping off the first character.
+ 	(dbxout_source_file): Likewise.
+ 
+ 2002-01-25  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
+ 	using rtx_equal_p, not by comparing pointers.
+ 
+ 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* emit-rtl.c (gen_rtx_REG): Always return the same rtx
+ 	for PIC_OFFSET_TABLE_REGNUM.
+ 	(init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
+ 
+ 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config.gcc (x86_64-*-freebsd*): New target.
+ 	(x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
+ 	value.
+ 	(i[34567]86-*-freebsd*): Don't include svr4.h.
+ 	* config/i386/freebsd64.h: New file.
+ 
+ 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/x-vms (version): Make static.
+ 
+ 	* config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
+ 	in previous checkin.
+ 
+ 	* Makefile.in (install-headers-cp): New target.
+ 	* config.gcc (alpha-dec-*vms*): Install headers with
+ 	install-headers-cp
+ 
+ Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (unroll_loop): Lower final_value to nonmemory operand;
+ 	avoid it's copies.
+ 
+ Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (expand_builtin_strncpy): Use integer_zerop instead
+ 	of compare_tree_int.
+ 	(expand_builtin_strncat): Likewise.
+ 	* c-decl.c (finish_struct): Use tree_low_cst.
+ 	* tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
+ 	* tree.c (compare_tree_int): Likewise.
+ 
+ 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): Recognize frame pointer
+ 	adjustments even if they are implemented by more than two insns.
+ 
+ Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
+ 	* df.h (struct ref): Kill B.
+ 	(DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
+ 
+ 	* basic-block.h (PROP_EQUAL_NOTES): New flag.
+ 	* flow.c (propagate_one_insn): Use it.
+ 	(mark_used_regs): Handle NIL.
+ 
+ 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
+ 	to help folding.
+ 
+ 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.md (prefetch): Make address V4SI mode so that the address
+ 	is restricted to legitimate form for instruction.
+ 
+ 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* doc/install.texi (xtensa-*-elf): New target.
+ 	(xtensa-*-linux*): New target.
+ 	* doc/contrib.texi: Add myself.
+ 
+ 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
+ 	purpose register to hold an SImode (or smaller) value.
+ 
+ 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
+ 	registry only.
+ 	* crtstuff.c: Likewise.
+ 
+ 2002-01-25  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (negation patterns): Tighten
+ 	predicates to register_operand.
+ 
+ 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* loop.c (emit_prefetch_instructions): Use the prefetch insn's
+ 	mode, not Pmode.
+ 
+ 	* builtins.c (expand_builtin_prefetch): Same.
+ 
+ 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
+ 	modes.
+ 
+ 2002-01-24  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove support for
+ 	operand character 'A'.
+ 	* config/h8300/h8300.md (three anonymous patterns): Replace
+ 	operand character 'A' with either 'T' or 'S'.
+ 
+ 2002-01-24  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove support for
+ 	operand character 'U'.
+ 
+ 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
+ 
+ 	* config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
+ 
+ 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
+ 	values to be assigned to the stack pointer.
+ 
+ 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* emit_rtl.c (gen_lowpart_common): Conversion from const_int
+ 	to const_double needs to be done right for big-endian systems.
+ 
+ 2002-01-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/2432
+ 	* config/sparc/sparc.md (call-jump peepholes): Pass the right insn
+ 	to can_throw_internal.
+ 
+ 2002-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (fold): Change UINT_MAX test to check vs precision
+ 	rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
+ 
+ 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
+ 	(symGOT2reg): Use them, then set as GOT value as unchanging.
+ 	(symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
+ 	as a temporary, if possible.
+ 	(symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
+ 	sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
+ 
+ 2002-01-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Fix xorqi and xorqi so that they will
+ 	accept to accept 0x80 as operands[2].
+ 
+ 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
+ 
+ 2002-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
+ 
+ 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
+ 	(parmlist_or_identifiers_1): Verify that only a parmlist follows
+ 	an attribute.
+ 
+ 2002-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (move_by_pieces_1): Extend size before negation.
+ 
+ 	* config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
+ 	(MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
+ 	(MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
+ 	* config/m68k/t-m68kelf: Likewise.
+ 
+ 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h: New file.
+ 	* config/xtensa/lib1funcs.asm: New file.
+ 	* config/xtensa/lib2funcs.S: New file.
+ 	* config/xtensa/linux.h: New file.
+ 	* config/xtensa/t-xtensa: New file.
+ 	* config/xtensa/xtensa-config.h: New file.
+ 	* config/xtensa/xtensa-protos.h: New file.
+ 	* config/xtensa/xtensa.c: New file.
+ 	* config/xtensa/xtensa.h: New file.
+ 	* config/xtensa/xtensa.md: New file.
+ 	* config.gcc (xtensa-*-elf*): New target.
+ 	(xtensa-*-linux*): New target.
+ 	* cse.c (canon_hash): Compare rtx pointers instead of register
+ 	numbers.  This is required for the Xtensa port.
+ 	* integrate.c (copy_insn_list): Handle case where the static
+ 	chain is in memory and the memory address has to be copied to
+ 	a register.
+ 	* doc/invoke.texi (Option Summary): Add Xtensa options.
+ 	(Xtensa Options): New node.
+ 	* doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
+ 
+ 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* diagnostic.c (internal_error): Do ICE suppression only
+ 	when ENABLE_CHECKING is not defined.
+ 
+ 	* c-typeck.c (require_complete_type): Return error_mark_node
+ 	if type is error_mark_node.
+ 
+ 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* toplev.c (process_options): Disable -fprefetch-loop-arrays with
+ 	-Os and issue a warning.
+ 
+ 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/fragments.texi, doc/hostconfig.texi: Update to reflect
+ 	current (lack of) need for host configuration by hand.
+ 
+ 	* doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
+ 	references.  Documentation of some target macros moved from
+ 	hostconfig.texi to tm.texi.
+ 
+ 2002-01-23  Will Cohen  <wcohen@redhat.com>
+ 
+ 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
+ 	defined.
+ 
+ 2002-01-23  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
+ 	operand[3].
+ 
+ 2002-01-23  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
+ 
+ 	* function.c (assign_parms): Don't put args of inline functions
+ 	into registers when not optimizing.
+ 
+ 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
+ 	(prologue_use): New pattern.
+ 	* config/arm/arm.c (expand_prologue): Use gen_prologue_use in
+ 	preference to gen_rtx_USE.
+ 	(thumb_expand_prologue): Use gen_prologue_use in preference to
+ 	gen_rtx_USE.
+ 	(thumb_expand_epilogue): Use gen_prologue_use in preference to
+ 	gen_rtx_USE.
+ 
+ 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
+ 
+ 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	PR c/3504
+ 	* doc/extend.texi: Correct documentation of __alignof__.
+ 
+ 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* params.h: Rename arguments of DEFPARAM so that it will be
+ 	recognized as a translation keyword.
+ 
+ 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* extend.texi: Document altivec functions.
+ 	Fix N-bit adjectives in X86 builtin documentation.
+ 
+ 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
+ 	auto_inc_dec values.
+ 
+ 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
+ 	after backslash.
+ 	(ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
+ 
+ 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
+ 
+ 2002-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
+ 	copy_insn not copy_rtx.
+ 
+ 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* combine.c (simplify_and_const_int): Don't trunc_int_for_mode
+ 	"nonzero" as that might add "1" bits.  Ensure "constop" is
+ 	properly sign extened.
+ 	(force_to_mode): Tweak for sign extended constop.
+ 
+ 2002-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
+ 	for_each_rtx instead of assuming we're already looking at the MEM.
+ 	(split_small_symbolic_mem_operand): Likewise.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (small symbolic memory splitters): Update.
+ 
+ 2002-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
+ 	sequence number for the literal.
+ 	(divmoddi_internal_er): Likewise.
+ 
+ 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR java/4972
+ 	* aclocal.m4 (AM_ICONV): Put linking flags for libiconv
+ 	in LIBICONV variable.
+ 	* configure: Regenerated.
+ 
+ 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* dependence.c (build_def_use): Remove array_idx.
+ 
+ 	* dwarfout.c (last_filename): Remove.
+ 	(output_compile_unit_die): Remove last_filename.
+ 
+ 2002-01-22  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/3640
+ 	* fold-const.c (fold): Optimize unsigned comparisons against
+ 	UINT_MAX (and similar unsigned constants).
+ 
+ 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* Makefile.in (loop.o): Depend on OPTABS_H.
+ 	* loop.c (emit_prefetch_instructions): Check the prefetch operand
+ 	against the predicate.
+ 
+ 	PR target/5379
+ 	* config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
+ 	for the address operand.
+ 
+ 2002-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
+ 
+ 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR other/5450
+ 	* config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
+ 	preprocessor flags.
+ 
+ 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (x86_64-*-netbsd*): New target.
+ 	* config/i386/netbsd64.h: New file.
+ 
+ 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* regrename.c (kill_value): Fix typo.
+ 
+ 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi: Remove STARTING_FRAME_PHASE.
+ 
+ 	* config/rs6000/rs6000.h: Same.
+ 
+ 	* function.c (instantiate_virtual_regs): Remove
+ 	STARTING_FRAME_PHASE.
+ 	(assign_stack_local_1): Same.
+ 	Calculate frame phase.
+ 
+ 2002-01-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
+ 	variable declaration to outer scope in order to simplify
+ 	future extensions.
+ 	(HARD_REGNO_MODE_OK): Replace macro body with a with a call to
+ 	arm_hard_regno_mode_ok.
+ 	* config/arm/arm-protos.h: Add a prototype for
+ 	arm_hard_regno_mode_ok.
+ 	* config/arm/arm.c (soft_df_operand): Remove now redundant
+ 	check for DImode values using IP_REGNUM.
+ 	(nonimmediate_soft_df_operand): Remove now redundant check for
+ 	DImode values using IP_REGNUM.
+ 	(arm_hard_regno_mode_ok): New function. New check: make sure
+ 	that DImode values are not stored in IP_REGNUM.
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
+ 	note with a USE.
+ 	(thumb_expand_prologue): Replace REG_MAYBE_DEAD	note with a USE.
+ 
+ 2002-01-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-semantics.c (genrtl_compound_stmt): Only check nesting
+ 	consistency if this COMPOUND_STMT is scoped.
+ 
+ 2002-01-22  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* predict.c: Fix formatting.
+ 	* print-tree.c: Likewise.
+ 	* protoize.c: Likewise.
+ 	* real.h: Likewise.
+ 	* rtl.h: Likewise.
+ 	* sbitmap.h: Likewise.
+ 	* scan.c: Likewise.
+ 	* sched-deps.c: Likewise.
+ 	* sched-vis.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* ssa-dce.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* system.h: Likewise.
+ 
+ Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (int_fits_type_p): If bounds of a subtype are variable, see
+ 	if fits in bounds of base type.
+ 
+ 	* dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
+ 	(loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
+ 	(add_bound_info, default): If can't find a context, make a
+ 	SAVE_EXPR.
+ 	(dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
+ 
+ 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* c-typeck.c (parser_build_binary_op): If result from
+ 	build_binary_op is ERROR_MARK just return error_mark_node without
+ 	further processing.
+ 
+ 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h (TARGET_HAS_F_SETLKW): define.
+ 	Split a.out-specific bits into...
+ 	* config/netbsd-aout.h: ...this.
+ 	* config/netbsd-elf.h: New file.
+ 	* config/alpha/netbsd-elf.h: Remove.
+ 	* config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
+ 	* config/i386/netbsd-elf.h (LIB_SPEC): Remove.
+ 	(STARTFILE_SPEC): Remove redundant definition.
+ 	(ENDFILE_SPEC): Likewise.
+ 	(LINK_SPEC): Likewise.
+ 	(CPP_SPEC): Likewise.
+ 	(ASM_SPEC): Likewise.
+ 	(LIB_SPEC): Likewise.
+ 	(SWITCH_TAKES_ARG): Likewise.
+ 	(TARGET_MEM_FUNCTIONS): Likewise.
+ 	(CPP_PREDEFINES): Redefine.
+ 	(ASM_FINAL_SPEC): Remove redefinition.
+ 	(ASM_COMMENT_START): Redefine.
+ 	(FUNCTION_PROFILER): Define.
+ 	(TARGET_VERSION): Redefine.
+ 	Comment and formatting cleanup.
+ 	* config/i386/netbsd.h: Include <netbsd-aout.h>.
+ 	* config/m68k/netbsd.h: Include <netbsd-aout.h>.
+ 	* config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
+ 	big- or little-endian.
+ 	* config/ns32k/netbsd.h: Include <netbsd-aout.h>.
+ 	* config.gcc (*-*-netbsd*): Add definitions common to all
+ 	NetBSD configs.
+ 	(alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
+ 	gnu_ld definitions.  Add netbsd-elf.h to and remove
+ 	alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
+ 	tmake_file, and don't lose previous tmake_file contents.
+ 	(arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
+ 	(i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
+ 	gnu_ld definitions.  Add netbsd-elf.h to tm_file.
+ 	(mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
+ 	(mipsel-*-netbsd*): Rename this to...
+ 	(mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
+ 	mips/little.h to tm_file for mips*el-*.
+ 	(powerpc-*-netbsd*): Remove redundant xm_defines definition.
+ 	(sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
+ 	(vax-*-netbsd*): Add netbsd-aout.h to tm_file.
+ 
+ 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa-protos.h (reg_before_reload_operand): New function prototype.
+ 	* pa.c (reg_before_reload_operand): New function implementation.
+ 	* pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
+ 	contraints to "*m".
+ 
+ 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
+ 
+ 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
+ 	(MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
+ 	(MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
+ 	(EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
+ 	(ENDFILE_SPEC): Undefine.
+ 	(STARTFILE_SPEC): Redefine for PA.
+ 
+ 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
+ 
+ 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Add entries to supported PowerPC --with-cpu
+ 	types.
+ 
+ 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_function_arg_regno_p): Never return
+ 	true for 64-bit mode only SSE registers in 32-bit mode.
+ 
+ 2002-01-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* unwind-dw2.c: Fix formatting.
+ 	* unwind-dw2-fde.c: Likewise.
+ 	* unwind-dw2-fde.h: Likewise.
+ 	* unwind-pe.h: Likewise.
+ 	* varasm.c: Likewise.
+ 	* varray.h: Likewise.
+ 
+ 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	Remove workaround for register stack overwrite bug in mmix.
+ 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
+ 	support for TARGET_REG_STACK_FILL_BUG.
+ 	* config/mmix/mmix.h: Remove member has_call_without_parameters.
+ 	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
+ 	Delete.
+ 	(TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
+ 	(TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
+ 	-mno-reg-stack-fill-bug-workaround.
+ 	* config/mmix/mmix.md ("call", "call_value"): Don't set struct
+ 	machine member has_call_without_parameters.
+ 	* doc/invoke.texi (Option Summary) <MMIX Options>: Remove
+ 	-mreg-stack-fill-bug-workaround	and
+ 	-mno-reg-stack-fill-bug-workaround.
+ 	(MMIX Options): Ditto.
+ 
+ 2002-01-21  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
+ 	as appropriate.
+ 	Remove redundant code.
+ 
+ 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
+ 	config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ 	config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
+ 	config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
+ 	config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
+ 	out target macro definitions and non-target-specific comments
+ 	mostly taken from old versions of the manual.
+ 
+ 2002-01-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix comment formatting.
+ 	* config/ia64/aix.h: Likewise.
+ 	* config/ia64/ia64-protos.h: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ia64/ia64intrin.h: Likewise.
+ 	* config/ia64/linux.h: Likewise.
+ 	* config/ia64/unwind-aix.c: Likewise.
+ 	* config/ia64/unwind-ia64.c: Likewise.
+ 
+ 2002-01-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c: Revise comments about shift code.
+ 
+ 2002-01-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (function_arg): Update a comment.
+ 
+ 2002-01-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Update the comments at the beginning
+ 	of the file.
+ 
+ 2002-01-20  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/i370/i370.c: Fix comment formatting.
+ 	* config/i370/i370.h: Likewise.
+ 	* config/i370/i370.md: Likewise.
+ 	* config/i370/linux.h: Likewise.
+ 
+ Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* reg-stack.c (subst_stack_regs): Properly check for deleted insn.
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
+ 	(gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
+ 	in incomplete case.
+ 
+ 2002-01-20  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cfgloop.c (flow_loop_preheader_scan): Fix typo.
+ 
+ 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
+ 
+ 2002-01-19  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
+ 
+ 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi (STARTING_FRAME_PHASE): Document.
+ 
+ 	* function.c (assign_stack_local_1): Adjust x_frame_offset with
+ 	STARTING_FRAME_PHASE.
+ 	(STARTING_FRAME_PHASE): New.
+ 	(instantiate_virtual_regs): Check saneness of
+ 	STARTING_FRAME_PHASE.
+ 
+ 	* config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
+ 
+ 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
+ 
+ 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
+ 	be used for bootstrapping GCC 3.0.
+ 
+ 2002-01-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Fix an insn length.
+ 
+ 2002-01-18  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* bitmap.h: Fix comment formatting.
+ 	* combine.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* c-pragma.h: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* df.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* gthr-win32.h: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* predict.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* unwind-dw2-fde.h: Likewise.
+ 	* unwind-pe.h: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 
+ Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
+ 	if type_required and passed decl.
+ 
+ 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc (cpu_type): Include altivec.h in powerpc
+ 	extra_headers.
+ 	Same for darwin.
+ 
+ 	* config/rs6000/altivec.h: New.
+ 
+ 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Update assembler and exception
+ 	handling information.
+ 	* doc/trouble.texi (Interoperation): Add libstdc++ information
+ 	for AIX.
+ 	(Misunderstandings): Add template instantiation and static template
+ 	member information for AIX.
+ 
+ 2002-01-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	* dbxout.c (dbxout_type): Support const and volatile.
+ 
+ 	* except.c (add_partial_entry): Remove backwards compatibility code.
+ 	(end_protect_partials): Likewise.
+ 
+ 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.md (prologue_use): New.
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Use
+ 	gen_prologue_use instead of gen_rtx_USE.
+ 	(group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
+ 	as CODE_FOR_pred_rel_mutex.
+ 	(ia64_sched_reorder2): Likewise.
+ 
+ 2002-01-16  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/r3900.h: Reformat.
+ 	(SUBTARGET_CPP_SIZE_SPEC): Remove.
+ 	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
+ 	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
+ 	(SUBTARGET_CPP_SIZE_SPEC): Rewrite.
+ 	* config/mips/t-elf: Remove mips3 multilib.
+ 
+ 2002-01-16  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/linux.h: Include "mips/abi64.h".
+ 
+ 2002-01-16  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/mips/t-linux: New.
+ 
+ 	* config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
+ 
+ 	* config/mips/linux.h: Don't include "gofast.h".
+ 	(INIT_SUBTARGET_OPTABS): Removed.
+ 
+ 2002-01-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Replace emit_a_shift with
+ 	output_a_shift.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2002-01-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
+ 	spaces after an opcode name.
+ 	(pushqi1_h8300hs): Likewise.
+ 	(pushhi1_h8300hs): Likewise.
+ 
+ 2002-01-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/extend.texi: Replace "option" with "attribute"
+ 	appropriately.
+ 
+ 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
+ 	(and:DI () (const_int -8)).
+ 	(split_small_symbolic_mem_operand): Split
+ 	(mem (and:DI () (const_int -8)).
+ 
+ 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/5309:
+ 	* config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
+ 	same way as TYPE_IMUL.
+ 	(ultrasparc_sched_reorder): Likewise.
+ 	* config/sparc/sparc.md (type): Add comment to update
+ 	ultrasparc_sched_reorder when making changes.
+ 
+ 2002-01-16  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/invoke.texi: Change the dump file name of block
+ 	reordering pass from 28.bbro to 29.bbro.
+ 	Mention -dk option.
+ 
+ Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (minsf splitter): Fix pasto.
+ 
+ 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
+ 	to frame pointer initialisation instruction.
+ 	(thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
+ 	initialisation instruction.
+ 	(soft_df_operand): Do not accept the IP register.
+ 	(nonimmediate_soft_df_operand): Do not accept the IP register.
+ 
+ 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/5357:
+ 	* config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
+ 	MASK_V8 being both set.
+ 
+ 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Do not emit USE
+ 	insn for GOT register; add REG_MAYBE_DEAD notes instead.
+ 	config/s390/s390.md (call, call_value): Add GOT register to
+ 	CALL_INSN_FUNCTION_USAGE where needed.
+ 	(call_exp, call_value_exp): New.
+ 
+ 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c: General formatting tidy up.
+ 
+ 2002-01-16  Graham Stott  <grahams@redhat.com>
+ 
+ 	* calls.c (try_to_integrate): Use "(size_t)" intermediate
+ 	cast and when casting an integer literal to "rtx" pointer.
+ 	(expand_call): Likewise.
+ 	* flow.c (try_pre_increment): Likewise.
+ 	(find_use_as_address): Likewise.
+ 	* integrate.c (expand_iline_function): Likewise.
+ 	* regmove.c (try_auto_increment): Likewise.
+ 
+ 2002-01-16  Graham Stott  <grahams@redhat.com>
+ 
+ 	* sched-rgn.c (passed): Use sbitmap_free.
+ 	(header): Likewise.
+ 	(inner): Likewise.
+ 	(in_queue): Likewise.
+ 	(in_stack): Likewise.
+ 
+ 2002-01-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): Change to use fatal_insn.
+ 
+ 2002-01-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* expmed.c (extract_fixed_bit_field): Remove unused code.
+ 	* system.h: Poison SLOW_ZERO_EXTEND.
+ 	* doc/tm.texi: Remove.
+ 	* config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/clipper/clipper.h: Likewise.
+ 	* config/convex/convex.h: Likewise.
+ 	* config/d30v/d30v.h: Likewise.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/elxsi/elxsi.h: Likewise.
+ 	* config/fr30/fr30.h: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/i370/i370.h: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/pdp11/pdp11.h: Likewise.
+ 	* config/pj/pj.h: Likewise.
+ 	* config/s390/s390.h: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* config/vax/vax.h: Likewise.
+ 	* config/we32k/we32k.h: Likewise.
+ 
+ 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
+ 	(altivec_lvsl): Change constraint to b.
+ 	(altivec_lvsr): Same.
+ 	(altivec_lvebx): Same.
+ 	(altivec_lvehx): Same.
+ 	(altivec_lvewx): Same.
+ 	(altivec_lvxl): Same.
+ 	(altivec_lvx): Same.
+ 	(altivec_stvx): Add parallel.
+ 	(altivec_stvxl): Same.
+ 	(altivec_stvehx): Same.
+ 	(altivec_stvebx): Same.
+ 	(altivec_stvebx): Same.
+ 
+ 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Change altivec.h to altivec-defs.h.
+ 
+ 	* config/rs6000/altivec.h: Delete.
+ 
+ 	* config/rs6000/altivec-defs.h: Add.
+ 
+ 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
+ 	and UMOD modes.
+ 
+ 	* vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
+ 	less than or equal to eight bytes.
+ 
+ 	* vax.md (andsi3): Remove constraints and change SET destination
+ 	operand type to nonimmediate_operand.
+ 	(andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
+ 	when it is a CONST_INT.
+ 
+ 2002-01-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-common.def (FILE_STMT): New code.
+ 	* c-common.c (statement_code_p): It's a statement.
+ 	* c-common.h (stmt_tree_s): Add x_last_filename.
+ 	(FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
+ 	(last_expr_filename): New macro.
+ 	* c-semantics.c (begin_stmt_tree): Initialize it.
+ 	(add_stmt): If the filename changed, also insert a
+ 	FILE_STMT.
+ 	(expand_stmt): Handle seeing one.
+ 
+ 2002-01-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): Add error message and print out
+ 	insn for debugging.
+ 
+ 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
+ 	ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
+ 	* config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
+ 	TRAMPOLINE_ALIGNMENT.
+ 	* config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
+ 	to be in bits.
+ 	* config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
+ 	PCC_BITFIELD_TYPE_MATTERS.
+ 	* config/interix.h (STDC_VALUE): Remove.  Use
+ 	STDC_0_IN_SYSTEM_HEADERS.
+ 	* config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
+ 	(ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
+ 	ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
+ 
+ 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/install.texi (hppa*-hp-hpux11): --enable-threads does
+ 	not work on this platform currently.
+ 
+ 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* c-typeck.c (build_unary_op): Don't wrap msgid argument of
+ 	readonly_warning in _().
+ 
+ 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* gcc.c (delete_if_ordinary): Backout previous change.
+ 
+ 2002-01-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove support for
+ 	unused operand characters.
+ 
+ 	* read-rtl.c: Fix formatting.
+ 	* real.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 
+ 2002-01-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/i386/i386.c: Fix formatting.
+ 
+ 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (process_init_element): Don't save_expr
+ 	COMPOUND_LITERAL_EXPR if just its initializer will be used.
+ 
+ 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
+ 	emit optional traceback table if optimize_size or TARGET_ELF.
+ 	* config/rs6000/rs6000.md (prefetch): New.
+ 
+ 2002-01-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
+ 
+ 2002-01-15  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* mips-tfile.c: Fix formatting.
+ 
+ Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (final_reg_note_copy): Fix previous commit.
+ 
+ 2002-01-14  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300-protos.h: Remove the prototype for
+ 	eq_operator.
+ 	* config/h8300/h8300.c (eq_operator): Remove.
+ 
+ 2002-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (prefetch): Tidy.
+ 	(prefetch_3dnow): Fix locality operand.
+ 
+ 2002-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.h (HI_AND_FP_REGS): New register class.
+ 	(CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
+ 
+ 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* reload1.c (reload_combine): Pass reg_sum replacement through
+ 	copy_rtx in loop performing multiple changes.
+ 
+ 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* except.c (remove_unreachable_regions): New.
+ 	(free_eh_status): Clear exception_handler_labels.
+ 	(convert_from_eh_region_ranges): Call remove_unreachable_regions.
+ 	(find_exception_handler_labels): Don't add the same label more than
+ 	once.
+ 	(remove_exception_handler_label): Don't die if
+ 	find_exception_handler_labels hasn't been called for the current
+ 	function yet.
+ 
+ Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Rebuild jump labels after
+ 	gcse.
+ 
+ 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/extend.texi: Move documentation of X86 built-in functions
+ 	here.
+ 	* doc/invoke.texi: From here.
+ 	* doc/sourcebuild.texi: Document location of documentation for
+ 	machine built-in functions.
+ 
+ 2002-01-13  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* cppfiles.c (TEST_THRESHOLD): New macro.
+ 	(SHOULD_MMAP): Ditto.
+ 	(read_include_file): Use SHOULD_MMAP macro to decide when mmap should
+ 	be used.
+ 
+ Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (final_reg_note_copy): Properly handle
+ 	REG_LABEL
+ 	(unroll_loops): Fix LOOP_CONDITION heuristics.
+ 
+ 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
+ 	* doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
+ 
+ Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
+ 	threaded loop.
+ 
+ 2002-01-14  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Fix typo with sradi.
+ 
+ 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
+ 	movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
+ 	(clrstrdi, clrstrsi): Adapt callers.
+ 
+ 	(extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
+ 
+ 	(movti splitter): Never use register 0 as base register.
+ 
+ 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* combine.c (simplify_shift_const): Always generate new rtx
+ 	for shift expression instead of reusing given expression.
+ 
+ Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov): Don't call
+ 	alpha_legitimize_address unless mode is Pmode.
+ 
+ 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* doc/md.texi (Modifiers): Document the '*' constraint for the
+ 	user.
+ 
+ 	* doc/md.texi (Machine Constraints): Add constraints for xstormy16.
+ 	* doc/extend.texi (Function Attributes): 'interrupt' is valid
+ 	for xstormy16 too.
+ 
+ 2002-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reload.c (find_reloads): Use a hard reg destination as reload reg
+ 	for an input reload of the source.
+ 
+ 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Binaries): Make link to ftp.writtenword.com
+ 	more generic.
+ 
+ Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
+ 	* mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
+ 
+ 	* config/alpha/x-vms (USE_COLLECT2): Set to empty.
+ 
+ Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
+ 
+ 2002-01-12  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
+ 	TARGET_POWERPC64.
+ 
+ 2002-01-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
+ 
+ 	* doc/invoke.texi: Update Alpha options.
+ 
+ 	* doc/invoke.texi: Update i386 built-in function lists.
+ 
+ Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
+ 	referencing outside.
+ 
+ Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* diagnostic.c (warn_deprecated_use): Rework to lower indentation.
+ 	* expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
+ 	offsets, and change line folding.
+ 	* optabs.c (expand_binop): Remove warnings.
+ 	* sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
+ 
+ 2002-01-12  Graham Stott <grahams@redhat.com>
+ 
+ 	* attribs.c (handle_deprecated_attribute): constify WHAT.
+ 	* diagnostic.c (warn_deprecated_use): Add braces, fixes
+ 	dangling else warning and constify WHAT.
+ 	* except.h (struct function, struct inline_remap): Move
+ 	struct tag forward defs before all prototypes.
+ 	(duplicate_eh_regions): Whitespace.
+ 
+ 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
+ 	MODE_BASE_REG_CLASS.
+ 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
+ 
+ 2002-01-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): If SSE, enable sse prefetch.
+ 	(ix86_expand_vector_move): New.
+ 	(bdesc_2arg): Remove andps, andnps, orps, xorps.
+ 	(ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
+ 	Remove old prefetch builtins.  Special case the logicals removed above.
+ 	(ix86_expand_builtin): Likewise.
+ 	(safe_vector_operand): Use V4SFmode, not TImode.
+ 	(ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
+ 	(ix86_expand_timode_binop_builtin): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.h (enum ix86_builtins): Update.
+ 	* config/i386/i386.md: Correct predicates on MMX/SSE patterns.
+ 	Use ix86_expand_vector_move in vector move expanders.
+ 	(movti_internal, movti_rex64): Add xorps alternative.
+ 	(sse_clrv4sf): Rename and adjust from sse_clrti.
+ 	(prefetch): Don't work so hard.
+ 	(prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
+ 	* config/i386/xmmintrin.h (__m128): Use V4SFmode.
+ 	(_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
+ 
+ 2002-01-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/mmintrin.h: New file.
+ 	* config/i386/xmmintrin.h: New file.
+ 	* config.gcc (i?86-*-*): Add extra_headers.
+ 	* simplify-rtx.c (simplify_unary_operation): Handle saturating
+ 	truncation codes.
+ 	(simplify_binary_operation): Handle saturating arithmetic codes.
+ 	* config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
+ 	not the lowpart subreg.
+ 	(ix86_expand_builtin): Return a TImode dummy register instead of 0
+ 	on error.
+ 	* config/i386/i386.md (mmx_clrdi): Override memory attribute.
+ 
+ 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* conflict.c (conflict_graph_compute): Free regsets when finished.
+ 	* ssa.c (compute_coalesced_reg_partition): Likewise.
+ 
+ 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
+ 	every where we allocate a register.
+ 
+ 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
+ 	* lcm.c (compute_earliest, compute_farthest): Likewise.
+ 
+ 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
+ 
+ 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/rtl.texi (Insns): Fix 2 typos.
+ 
+ 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
+ 	options.  Use @table @gcctabopt for MMIX options.  Add index
+ 	entries for MMIX options.  Start new paragraph with first
+ 	heading of the machine-dependent options.
+ 
+ 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR other/5299
+ 	* config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
+ 	* combine.c (force_to_mode): Same.
+ 	* reload1.c (clear_reload_reg_in_use): Same.
+ 
+ 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
+ 	and 'subtargets'.
+ 
+ 2002-01-11  Andreas Jaeger  <aj@suse.de>,
+ 	    Brad Lucier <lucier@math.purdue.edu>
+ 
+ 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
+ 	mcpu.
+ 
+ Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
+ 	Protect with IN_LIBGCC.
+ 	(LINK_EH_SPEC): Add required trailing space.
+ 
+ Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* c-tree.h: Move function declarations so that they are listed
+ 	under the filename which contains them.
+ 	(check_identifier, finish_decl_top_level,
+ 	lookup_name_current_level_global, shadow_record_fields): Remove.
+ 
+ 2002-01-11  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
+ 	march.
+ 
+ 2002-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (print_operand): Add 'J'.
+ 	* config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
+ 	new operand with the sequence number for the lituse.  When splitting
+ 	the insns, use gen_movdi_er_high_g and generate a sequence number.
+ 	(gen_movdi_er_high_g): Print the sequence number if nonzero.
+ 
+ 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Add support for
+ 	lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
+ 	stvxl.
+ 	(altivec_expand_builtin): Same.
+ 	(altivec_expand_stv_builtin): New.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_builtins): Same.
+ 
+ 	* config/rs6000/rs6000.md ("altivec_lvebx"): New.
+ 	("altivec_lvehx"): New.
+ 	("altivec_lvewx"): New.
+ 	("altivec_lvxl"): New.
+ 	("altivec_lvx"): New.
+ 	("altivec_stvx"): New.
+ 	("altivec_stvebx"): New.
+ 	("altivec_stvehx"): New.
+ 	("altivec_stvewx"): New.
+ 	("altivec_stvxl"): New.
+ 
+ 2002-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
+ 	* reload1.c (delete_output_reload): Zap spill_reg_store.  Take
+ 	care not to delete instructions twice.
+ 
+ 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* toplev.c: Don't declare environ (it's not used anywhere).
+ 	* configure.in: Don't check for declaration of environ.
+ 	* config/i386/xm-mingw32.h: Don't #define environ.
+ 	* config.in, configure: Regenerate.
+ 
+ 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Set stage1_cflags for powerpc-*-darwin*.
+ 	* configure: Regenerate.
+ 
+ 	* config/interix.h: Set DO_GLOBAL_CTORS_BODY and
+ 	DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
+ 	* config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
+ 	alpha/xm-vms.h.
+ 	* config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
+ 	LIMITS_H_TEST here, not in m68k/x-next.
+ 	* config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
+ 	SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
+ 
+ 	* config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
+ 	LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
+ 	* config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
+ 
+ 	* config/i386/x-djgpp: Renamed i386/t-djgpp.
+ 	* config/m88k/x-dolph: Renamed m88k/t-dolph.
+ 	* config/m88k/x-texXD88: Renamed m88k/t-texXD88.
+ 	* config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
+ 	replacement of quadlib.asm with quadlib.c.
+ 
+ 	* config/x-interix3, config/xm-interix.h, config/i386/x-beos,
+ 	config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
+ 	config/rs6000/xm-beos.h: Delete file.
+ 
+ 	* config.gcc: Update to match above changes.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix comment typos.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 
+ 2002-01-10  Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR optimization/5269
+ 	* unroll.c (precondition_loop_p): Make *increment be the correct
+ 	sign when n_iterations known, to avoid confusing caller.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* doc/extend.texi (deprecated): Fix a typo.
+ 
+ Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (update_br_prob_note): Declare.
+ 	* cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
+ 	(try_forward_edges): Care negative frequencies and update note.
+ 	(outgoing_edges_match): Tweek conditional merging heuristics.
+ 	(try_crossjump_to_edge): use update_br_prob_note.
+ 	* cfglayout.c (fixup_reorder_chain): Likewise.
+ 	* cfrtl.c (update_br_prob_note): New.
+ 	* ifcvt.c (dead_or_predicable): Call update_br_prob_note.
+ 
+ 	* i386.c (ix86_decompose_address): Return -1 if address contains
+ 	shift.
+ 	(legitimate_address_p): Require ix86_decompose_address to return 1.
+ 
+ 	* gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
+ 	(cprop_insn): Likewise.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* toplev.c: Fix formatting.
+ 	* tree.c: Likewise.
+ 	* tree-dump.c: Likewise.
+ 	* unroll.c: Likewise.
+ 	* unwind-dw2.c: Likewise.
+ 	* unwind-dw2-fde.c: Likewise.
+ 	* unwind-dw2-fde-glibc.c: Likewise.
+ 	* unwind-sjlj.c: Likewise.
+ 
+ 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/invoke.texi: Document PDP-11 options.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.h: Fix formatting.
+ 
+ 2002-01-10  Ira Ruben	<ira@apple.com>
+ 
+ 	Add __attribute__ ((deprecated)).
+ 	* extend.texi: Document __attribute__ ((deprecated)).
+ 	* invoke.texi: Document -Wno-deprecated-declarations.
+ 	* testsuite/g++.dg/other/deprecated.C: New C++ test.
+ 	* testsuite/gcc.dg/deprecated.c: New C test.
+ 	* attribs.c (enum attrs): Declare handle_deprecated_attribute().
+ 	(c_common_attribute_table): Add "deprecated" entry.
+ 	(handle_deprecated_attribute): New function.
+ 	* c-decl.c (deprecated_states): New enum.
+ 	deprecated_state: State of "deprecated" handling.
+ 	(start_decl): Set deprecated_state based on attributes.
+ 	(grokdeclarator): Test for deprecated uses, propagate attribute.
+ 	* c-typeck.c (build_component_ref): Test for deprecated fields.
+ 	(build_external_ref): Test for deprecated primaries.
+ 	* diagnostic.c (warn_deprecated_use) New function to issue
+ 	warnings about __attribute__ ((depricated)) references.
+ 	* flags.h (warn_deprecated_decl): Extern declared for
+ 	-W[no-]deprecated-declarations option.
+ 	* print-tree.c (print_node): Show deprecated flag status.
+ 	* toplev.c (warn_deprecated_decl): Defined.
+ 	(W_options): Added "deprecated-declaration".
+ 	* toplev.h (warn_deprecated_use): Extern declared.
+ 	* tree.h (struct tree_common): Define deprecated_flag.
+ 	(TREE_DEPRECATED): New macro to access flag.
+ 	* cp/call.c (build_call): Test for deprecated calls.
+ 	* cp/class.c (add_implicitly_declared_members): Set global
+ 	flag to tell grokdeclarator to not issue deprecated warnings.
+ 	* cp/cp-tree.h: Add extern for adding_implicit_members.
+ 	* cp/decl.c (deprecated_states): New enum.
+ 	(start_decl): Set deprecated_state based on attributes.
+ 	(grokdeclarator): Test for deprecated uses, propagate attribute.
+ 	* cp/lex.c (do_identifier): Test for deprecated primaries.
+ 	* cp/typeck.c (build_component_ref): Test for deprecated fields.
+ 
+ 2002-01-10  Ira Ruben	<ira@apple.com>
+ 
+ 	Fix to assign attributes to inline member functions.
+ 	* cp/decl.c (start_method): Handle attrlist.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c (expand_field_assignment): Use subreg_lsb().
+ 
+ 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
+ 	POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
+ 	(find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
+ 	Recurse for any operand of AND as long as constant is nonzero.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md: Remove constraints from expanders.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* varasm.c: Fix formatting.
+ 	* varray.c: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 	* xcoffout.c: Likewise.
+ 
+ Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
+ 	update edge probabilities to match.
+ 
+ 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
+ 	dependencies.
+ 	* doc/languages.texi, doc/sourcebuild.texi: New files.
+ 	* doc/configfiles.texi: Make a subsubsection.  Update.
+ 	* doc/configterms.texi: Add @node.  Remove warning that this isn't
+ 	instructions for building GCC.
+ 	* doc/makefile.texi: Make a subsection.
+ 	* doc/gccint.texi: Update.
+ 
+ Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse_mov?fcc_const0_?): Fix constraints.
+ 
+ Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
+ 
+ 	* doc/cpp.texi: Document the __OBJC__ preprocessor macro.
+ 
+ Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* optabs.c (expand_fix): Look for wider integer modes first.
+ 
+ 	* i386.md (mov?f): Avoid the fake const double trick for medium
+ 	memory model.
+ 	(min?f*/max?f*): Prohibit memory operands for i387 variant.
+ 	(fop_df_4): Disable for SSE compilation.
+ 
+ 2002-01-10  Graham Stott  <grahams@redhat.com>
+ 
+ 	* dwarf2out.c (indirect_string_alloc, output_indirect_string):
+ 	Move prototype into DWARF2_DEBUGGING_INFO conditional block.
+ 
+ 2002-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
+ 
+ 2002-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (find_oldest_value_reg): Fix typo in mode change check.
+ 	(copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
+ 
+ 2002-01-10  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c (can_combine_p): Fix a comment typo.
+ 
+ 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (s-gencheck, s-options, s-specs): Handle an
+ 	empty list correctly.  Change loop index $t to $f for
+ 	consistency with rest of Makefile.
+ 
+ 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
+ 	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
+ 
+ 	* config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
+ 	mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
+ 	(altivec_init_builtins): Same.
+ 	(altivec_expand_unop_builtin): Return NULL_RTX on error.
+ 	(altivec_expand_binop_builtin): Same.
+ 	(altivec_expand_ternop_builtin): Same.
+ 	(bdesc_dst): New.
+ 
+ 	* config/rs6000/rs6000.md ("altivec_mtvscr"): New.
+ 	("altivec_vctuxs"): Fix typo.
+ 	("altivec_vnmsubfp"): Same.
+ 	("altivec_dssall"): New.
+ 	("altivec_mfvscr"): New.
+ 	("altivec_dss"): New.
+ 	("altivec_lvsl"): New.
+ 	("altivec_lvsr"): New.
+ 	("altivec_dstt"): New.
+ 	("altivec_dstst"): New.
+ 	("altivec_dststt"): New.
+ 	("altivec_dst"): New.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
+ 	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
+ 
+ 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
+ 	function.
+ 	* config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
+ 	prototype.
+ 	* config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
+ 
+ 2002-01-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* read-rtl.c: Fix formatting.
+ 	* real.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regrename.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* rtl.c: Likewise.
+ 
+ 2002-01-09  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
+ 	to extract items in the expr_list chain.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/vax/vax.c (vax_rtx_cost): Never abort.
+ 
+ 	* config/vax/vax.h (REAL_ARITHMETIC): Define.
+ 
+ 2002-01-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
+ 	Unify code from various alternatives.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (copy_value): Ignore the copy if the source register
+ 	is present in the value chain with a narrower mode.
+ 
+ 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* real.c (c4xtoe, toc4x): Do some special conversion on long doubles
+ 	for the c4x target. Also improve layout.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
+ 	* config/m32r/m32r.md (and ior xor splitters): Swap operands
+ 	to match insn patterns.
+ 
+ 2002-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
+ 	(copyprop_hardreg_forward_1): Likewise.
+ 
+ 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.md (decrement_and_branch_until_zero): Change predicate for
+ 	operand 0 from register_operand to reg_or_nonsymb_mem_operand.
+ 
+ 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
+ 
+ 	* ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
+ 	gets undefined. For Darwin.
+ 
+ 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
+ 
+ 	* config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
+ 
+ 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x/md: Remove extraneous constraints from define_splits.
+ 
+ 2002-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (copy_value): Ignore overlapping copies.
+ 
+ 2002-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
+ 	as needed to avoid shared structure.
+ 
+ 2002-01-08  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
+ 	H8/300H and H8S.
+ 
+ 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
+ 	LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
+ 	documentation of obsolete macros.
+ 	* system.h: Poison these macros.
+ 	* config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
+ 	config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
+ 	config/c4x/c4x.h, config/clipper/clipper.h,
+ 	config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
+ 	config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
+ 	config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
+ 	config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
+ 	config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
+ 	config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
+ 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+ 	config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
+ 	config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
+ 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
+ 	config/sparc/sparc.h, config/stormy16/stormy16.h,
+ 	config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
+ 	definitions and commented out definitions of obsolete macros.
+ 	* config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
+ 	of MAX_INT_TYPE_SIZE.
+ 
+ 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_preferred_reload_class): Never
+ 	return ADDR_REGS if it isn't a subset of the given class.
+ 	* config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
+ 	FP_REGS, but all superclasses as well.
+ 
+ 	* config/s390/s390.c (s390_function_profiler): Fix thinko.
+ 
+ 	* config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
+ 	cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
+ 	must not be a const_int.
+ 
+ 2002-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (toplev.o): Depend on options.h.
+ 	(gcc.o): Depend on specs.h.
+ 
+ 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (store_expr): Convert VOIDmode constants back to target's
+ 	mode.
+ 
+ 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/invoke.texi: Markup gcc as @command.  Refer to
+ 	http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
+ 	of http://gcc.gnu.org/thanks.html.
+ 
+ 2002-01-08  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Add missing int register
+ 	target case to movdf_low.
+ 
+ 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
+ 	except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
+ 	(cppinit.o): Depend on except.h.
+ 	(gencheck.h, options.h, specs.h, s-gencheck, s-options,
+ 	s-specs): New rules.
+ 
+ 	* configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
+ 	Don't create specs.h/options.h/gencheck.h here.  Remove
+ 	unnecessary variable settings from last argument of AC_OUTPUT.
+ 	* config.in, configure: Regenerate.
+ 	* intl.c: Hardcode package name as "gcc".
+ 
+ 	* cppinit.c: Include except.h.
+ 	(builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
+ 	appropriate.
+ 	* unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
+ 	Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
+ 	(!)USING_SJLJ_EXCEPTIONS.
+ 	* doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
+ 
+ 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
+ 	ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
+ 	OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
+ 	documentation of obsolete macros.
+ 	* system.h: Poison these macros.
+ 	* config/d30v/d30v.h, config/ns32k/encore.h,
+ 	config/stormy16/stormy16.h: Remove definitions and commented out
+ 	definitions of obsolete macros.
+ 
+ Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
+ 
+ 	* objc/objc-act.c (handle_class_ref): Mark the declaration of
+ 	%sobjc_class_ref_%s as used - to prevent unwanted compiler
+ 	warnings.
+ 
+ 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
+ 	* config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
+ 	to insn adjusting stack/frame pointer.
+ 	* config/s390/s390.md (reload_la_64, reload_la_31): Do not
+ 	accept operands that cause the insn to be non-splittable.
+ 
+ 2002-01-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
+ 	(C_TYPE_FIELDS_VOLATILE): Likewise.
+ 	(C_TYPE_BEING_DEFINED): Likewise.
+ 	(C_IS_RESERVED_WORD): Likewise.
+ 	(C_TYPE_VARIABLE_SIZE): Likewise.
+ 	(C_DECL_VARIABLE_SIZE): Likewise.
+ 	(C_MISSING_PROTOTYPE_WARNED): Likewise.
+ 	(C_SET_EXP_ORIGINAL_CODE): Likewise.
+ 	(C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
+ 	parenthesis.
+ 	(C_DECL_ANTICIPATED): Likewise.
+ 	(c_build_type_variant): Add parenthesis.
+ 
+ 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* gcc.c (option_map): Remove --version.
+ 	(process_command): Handle -fversion following the GNU Coding
+ 	Standards.  Partially addresses PR other/704.
+ 
+ 2002-01-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* combine.c (combine_instructions): Fix typo.
+ 
+ 2002-01-08  Graham Stott  <grahams@redhat.com>
+ 
+ 	* debug.h: Use "tree" and "rtx" throughout.
+ 
+ 	* debug.c: Likewise.
+ 
+ 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): If a symbol ref is in the
+ 	constant pool, use the pool's version of the symbol instead.
+ 
+ 2002-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* regrename.c (find_oldest_value_reg): Ignore the value chain if
+ 	the original register was copied in a mode with a fewer number of
+ 	hard registers than the desired mode.
+ 	(copyprop_hardreg_forward_1): Likewise.
+ 	(debug_value_data): Fix loop test.
+ 	* toplev.c (parse_options_and_default_flags): Reenable
+ 	-fcprop-registers at -O1.
+ 
+ 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
+ 	(altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
+ 	predicates.
+ 
+ 	* config/rs6000/rs6000.md: Add altivec predicate patterns.
+ 
+ 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
+ 	(pa_output_function_prologue): Output local label at the beginning of
+ 	the prologue when profiling.
+ 	(hppa_profile_hook): Use the local label rather than the function label.
+ 	* pa.h (PROFILE_BEFORE_PROLOGUE): Define.
+ 
+ 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (print_operand): Remove extra space.
+ 	(altivec_expand_unop_builtin): Fix thinko.
+ 	(altivec_expand_binop_builtin): Same.
+ 	(altivec_expand_ternop_builtin): Same.
+ 	(altivec_expand_builtin): Same.
+ 
+ 2002-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
+ 
+ 2002-01-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	* unwind-dw2.c (execute_cfa_program): Use < again.
+ 
+ 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* predict.c (combine_predictions_for_insn): Avoid division by zero.
+ 
+ 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
+ 	Don't allow -1 - x -> ~x simplifications in the first pass.
+ 
+ 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
+ 	arguments.
+ 	(altivec_expand_binop_builtin): Same.
+ 	(altivec_expand_unop_builtin): Same.
+ 	(print_operand): Fix typo.
+ 	(bdesc_1arg): Add vupk* variants.
+ 
+ 	* rs6000.h (rs6000_builtins): Add vupk* enums.
+ 
+ 	* rs6000.md: Add altivec_vupk* variants.
+ 
+ 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
+ 	and last update dates.
+ 
+ 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/rtl.texi (Flags): Clean up documentation of RTL flags
+ 
+ 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.c (avr_mcu_types): Add new MCU types.
+ 	* config/avr/avr.h (CPP_SPEC): Likewise.
+ 	(LINK_SPEC): Likewise.
+ 	(CRT_BINUTILS_SPECS): Likewise.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+ 	* doc/invoke.texi (AVR Options): Document them.
+ 
+ Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
+ 	LABEL_NUSES.
+ 
+ 2002-01-07  Graham Stott  <grahams@redhat.com>
+ 
+ 	* config/i386/i386.h: Update copyright date.
+ 	(HALF_PIC_PTR): Add parenthesis.
+ 	(OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
+ 	(CONSTANT_ALIGNMENT): Add parenthesis.
+ 	(DATA_ALIGNMENT): Likewise.
+ 	(LOCAL_ALIGNMENT): Likewise.
+ 	(FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
+ 	(IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
+ 	(CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
+ 	(HARD_REGNO_NREGS): Add paranethesis.
+ 	(VALID_SSE_REG_MODE): Whitespace.
+ 	(VALID_MMX_REG_MODE): Whitespace.
+ 	(VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
+ 	(ix86_hard_regno_mode_ok): Add parenthesis.
+ 	(HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
+ 	(RETURN_IN_MEMORY): Whitespace.
+ 	(N_REG_CLASSES): Add parenthesis.
+ 	(INTEGER_CLASS_P): Add parenthesis and wrap.
+ 	(FLOAT_CLASS_P): Likewise.
+ 	(SSE_CLASS_P): Likewise.
+ 	(MMX_CLASS_P): Likewise.
+ 	(MAYBE_INTEGER_CLASS_P): Likewise.
+ 	(MAYBE_FLOAT_CLASS_P): Likewise.
+ 	(MAYBE_SSE_CLASS_P): Likewise.
+ 	(MAYBE_MMX_CLASS_P): Likewise.
+ 	(Q_CLASS_P): Likewise.
+ 	(GENERAL_REGNO_P): Uppercase macro parameter.
+ 	(REX_INT_REGNO_P): Uppercase macro parameter and wrap.
+ 	(FP_REGNO_P): Likewise.
+ 	(ANY_FP_REGNO_P): Uppercase macro parameter.
+ 	(SSE_REGNO_P): Likewise.
+ 	(SSE_REGNO): Likewise.
+ 	(SSE_REG_P): Likewise.
+ 	(SSE_FLOAT_MODE_P): Likewise.
+ 	(MMX_REGNO_P): Likewise.
+ 	(MMX_REG_P):Likewise.
+ 	(STACK_REG_P): Likewise.
+ 	(NON_STACK_REG_P): Likewise.
+ 	(STACK_TOP_P): Likewise.
+ 	(CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
+ 	(PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
+ 	(SECONDARY_MEMORY_NEEDED): Likewise.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
+ 	(MD_ASM_CLOBBERS): Whitespace and wrap.
+ 	(MUST_PASS_IN_STACK): Whitespace and wrap.
+ 	(RETURN_POPS_ARGS): Add parenthesis.
+ 	(INIT_CUMULATIVE_ARGS): Likewise.
+ 	(FUNCTION_ARG): Likewise.
+ 	(FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 	(BUILD_VA_LIST_TYPE):  Add parenthesis.
+ 	(EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
+ 	parenthsis.
+ 	(EXPAND_BUILTIN_VA_ARG): Likewise.
+ 	(FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
+ 	(INITIALIZE_TRAMPOLINE): Add parenthesis.
+ 	(INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	(REGNO_OK_FOR_INDEX_P): Add parenthesis.
+ 	(REGNO_OK_FOR_BASE_P): Likewise.
+ 	(REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
+ 	(REGNO_OK_FOR_DIREG_P): Likewise.
+ 	(REG_OK_FOR_INDEX_P): Whitespace.
+ 	(REG_OK_FOR_BASE_P): Whitespace.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
+ 	parenthesis.
+ 	(FIND_BASE_TERM): Fix typo.
+ 	(LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
+ 	(REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
+ 	(SYMBOLIC_CONST; Whitespace.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
+ 	(ENCODE_SECTION_INFO): Whitespace.
+ 	(FINALIZE_PIC): Remove do { ... } while (0).
+ 	(PROMOTE_MODE): Wrap in do { ... } while (0).
+ 	(CONST_COSTS): Whitespace.
+ 	(RTX_COSTS): Add paramethesis, whitespace and wrap.
+ 	(REGISTER_MOVE_COST): Add parenthesis.
+ 	(MEMORY_MOVE_COST): Likewise.
+ 	(EXTRA_CC_MODES): Whitespace.
+ 	(SELECT_CC_MODE): Add parenthesis and whitespace.
+ 	(DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
+ 	(ASM_OUTPUT_LABEL): Add paramethesis.
+ 	(ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
+ 	(ASM_OUTPUT_REG_POP): Likewise.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 
+ 	* config/i386/i386.c: Update copyright.
+ 	(CHECK_STACK_LIMIT): Add parenthesis.
+ 	(AT_BP): Uppercase macro parameter.
+ 	(x86_64_int_parameter_registers): Constify.
+ 	(x86_64_int_return_registers): Likewise.
+ 	(ix86_compare_op0): Use rtx.
+ 	(construct_container): Constify INTREG parameter.
+ 	(function_arg): Use rtx.
+ 
+ 	* diagnostic.h: Update copyright date.
+ 	(output_buffer_state): Add parenthesis.
+ 	(output_buffer_format_args): Likewise.
+ 
+ 	* combine.c (combine_instructions): Replace XEXP (links, 0)
+ 	with link.
+ 
+ 2002-01-06  H.J. Lu <hjl@gnu.org>
+ 
+ 	* cfgcleanup.c (thread_jump): Fix 2 typos.
+ 
+ 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Add support for --enable-altivec.
+ 
+ 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* emit-rtl.c (gen_highpart): Add check for NULL_RTX.
+ 
+ 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* objc/objc-act.c (handle_impent): Use assemble_variable to emit
+ 	__objc_class_name_*.
+ 
+ 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	* doc/install.texi (sparcv9-*-solaris2*): Add documentation.
+ 
+ 2002-01-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* reorg.c (emit_delay_sequence): Remove death notes, not merely
+ 	nop them out.  Increment label reference count for REG_LABEL.
+ 	(fill_slots_from_thread): Frob label reference count around
+ 	delete_related_insns.
+ 
+ 2002-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (try_forward_edges): Detect infinite loops while
+ 	jump threading.
+ 
+ 2002-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (c_expand_body): Don't call outlining_inline_function.
+ 	* integrate.c (output_inline_function): Likewise.
+ 	* toplev.c (rest_of_compilation): Do it here instead.  Move call
+ 	to remove_unnecessary_notes after emitting abstract instance.
+ 	Force an emitted nested function to have its parent emited as well.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
+ 	for null.
+ 	(rtl_for_decl_location): Do not look at reload data structures
+ 	before reload has run.
+ 
+ 2002-01-05  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* cse.c: Fix formatting.
+ 	* dwarf2asm.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* global.c: Likewise.
+ 
+ 2002-01-05  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* combine.c: Fix formatting.
+ 
+ 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
+ 
+ 	PR middle-end/1557
+ 	* config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
+ 
+ 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
+ 	as 1 for __powerpc64__ as well.
+ 
+ 	* config/rs6000/t-aix43 (T_ADAFLAGS): Define.
+ 
+ 	* alias.c (find_base_value, PLUS/MINUS): If we found a base,
+ 	return it.
+ 
+ 2002-01-05  Daniel Berlin  <dan@dberlin.org>
+ 
+ 	* lcm.c: Revert change, due to performance regression it causes on
+ 	SPEC because it's slightly more conservative (sigh, I hate
+ 	edge-based LCM).
+ 
+ Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
+ 
+ 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* doc/cppinternals.texi: Update.
+ 
+ 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/invoke.texi (Option Summary) <MMIX Options>: Document
+ 	-mbranch-predict, -mreg-stack-fill-bug-workaround and their
+ 	negatives.
+ 	(MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
+ 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
+ 	kludge for pre-october-14th mmix versions to handle new-found bug
+ 	with PUSHJ/PUSHGO and the register stack.
+ 	* config/mmix/mmix.h (struct machine_function): Rename member
+ 	has_call_value_without_parameters to has_call_without_parameters.
+ 	All referers changed.
+ 	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
+ 	TARGET_MASK_BRANCH_PREDICT): New macros.
+ 	(TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
+ 	-mno-reg-stack-fill-bug-workaround.
+ 	* config/mmix/mmix.md ("call"): Set struct machine member
+ 	has_call_without_parameters.
+ 
+ Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (thread_jump): Fix handling of reversed branches.
+ 
+ Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c: Include tm_p.h
+ 	(mark_effect): Fix handling of hard register; fix handling of SET
+ 
+ 2002-01-04  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.md (anonymous patterns): Check that
+ 	operands are registers before using REGNO on them.
+ 
+ 2002-01-03  Roland McGrath  <roland@frob.com>
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
+ 
+ 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree.h (expand_expr_stmt_value): Add maybe_last argument.
+ 	* c-common.h (genrtl_expr_stmt_value): Likewise.
+ 	* stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
+ 	(expand_expr_stmt_value): Add maybe_last argument.
+ 	Don't warn about statement with no effect if it is the last statement
+ 	in expression statement.
+ 	* c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
+ 	(genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
+ 	expand_expr_stmt_value.
+ 	(expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
+ 	genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
+ 	* expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
+ 	as maybe_last to expand_expr_stmt_value.
+ 
+ Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
+ 
+ 	* c-common.c (c_expand_start_cond): Expect the IF_STMT node to
+ 	be passed in, do not build it.
+ 	(c_begin_if_stmt): New function.
+ 	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
+ 	* c-common.h (c_expand_start_cond): Update prototype.
+ 	(c_begin_if_stmt): Prototype new function.
+ 	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
+ 	* c-parse.in (if_prefix): Use c_begin_if_stmt,
+ 	c_begin_while_stmt and c_finish_while_stmt_cond.
+ 
+ 2002-01-04  William Cohen  <wcohen@redhat.com>
+ 
+ 	* config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
+ 	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
+ 	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
+ 	* config/pa/som.h (ASM_FILE_START): Likewise.
+ 
+ 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
+ 
+ 	* lcm.c: Include df.h.
+ 	Add available_transfer_function prototype.
+ 	(compute_available): Rework to use iterative dataflow framework.
+ 	(struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
+ 	with bb_info in df.h
+ 	(available_transfer_function): New function.
+ 
+ 	* Makefile.in (lcm.o): add df.h to dependencies.
+ 
+ 2002-01-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (some_operand): Accept HIGH.
+ 	(input_operand): Likewise; accept simple references to globals.
+ 	(alpha_const_ok_for_letter_p): New, outlined from alpha.h.
+ 	(alpha_const_double_ok_for_letter_p): Likewise.
+ 	(alpha_extra_constraint): Likewise.
+ 	(alpha_preferred_reload_class): Likewise.  Do not force
+ 	symbolic constants to memory.
+ 	(alpha_legitimate_address_p): Accept simple references
+ 	to small_symbolic_operand.
+ 	(alpha_legitimize_address): New arg scratch.  Be prepared to be
+ 	called when no_new_pseudos.  Emit simple symbolic references.
+ 	Split integers into low, high, and rest.
+ 	(alpha_expand_mov): Use alpha_legitimize_address.
+ 	(some_small_symbolic_mem_operand): New.
+ 	(split_small_symbolic_mem_operand): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
+ 	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+ 	(EXTRA_CONSTRAINT): Likewise.
+ 	(PREFERRED_RELOAD_CLASS): Likewise.
+ 	(LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md: New post-reload splitters to convert
+ 	simplfied symbolic operands to the form that references $29.
+ 	(divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
+ 	(movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
+ 
+ 2002-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* local-alloc.c (function_invariant_p): Update commentary.
+ 
+ 2002-01-04  H.J. Lu <hjl@gnu.org>
+ 
+ 	* toplev.c (rest_of_compilation): Fix a typo when calling
+ 	cleanup_cfg.
+ 
+ 2002-01-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* c-common.c: Fix formatting.
+ 	* diagnostic.c: Likewise.
+ 	* doloop.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 
+ 2002-01-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
+ 	of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
+ 
+ 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cpperror.c: Update comments and copyright.
+ 	* cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
+ 	cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
+ 
+ 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* collect2.c (main): Use strcmp when testing for "-shared".
+ 
+ 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+ 
+ 	* cppmacro.c: Don't include intl.h.  Update comments.
+ 	(new_number_token): Allocate enough buffer for 64-bit unsigned
+ 	integers; update prototype.
+ 	* cppmain.c: Update comments.
+ 
+ 2002-01-03  William Cohen  <wcohen@redhat.com>
+ 
+ 	* function.h (struct function): Add profile.
+ 	(current_function_profile): New.
+ 	doc/extend.texi: Update documentation.
+ 	* final.c (final_start_function): Use current_function_profile
+ 	instead of profile_flag.
+ 	(profile_after_prologue): Likewise.
+ 	* function.c (expand_function_start): Likewise.
+ 	(expand_function_start): Likewise.
+ 	* config/alpha/alpha.c (direct_call_operand):
+ 	(alpha_does_function_need_gp): Likewise.
+ 	(alpha_expand_prologue): Likewise.
+ 	* config/arm/arm.c (arm_expand_prologue): Likewise.
+ 	thumb_expand_prologue: Likewise.
+ 	* config/d30v/d30v.c (d30v_stack_info): Likewise.
+ 	* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
+ 	(fr30_expand_prologue): Likewise.
+ 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
+ 	* config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
+ 	* config/i386/i386.h (FINALIZE_PIC): Likewise.
+ 	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
+ 	* config/i960/i960.c (i960_output_function_prologue): Likewise.
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
+ 	* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
+ 	(m32r_expand_prologue): Likewise.
+ 	* config/m88k/m88k.c (m88k_layout_frame): Likewise.
+ 	(m88k_expand_prologue): Likewise.
+ 	* config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
+ 	* config/mips/mips.c (compute_frame_size): Likewise.
+ 	(mips_expand_prologue): Likewise.
+ 	(mips_can_use_return_insn): Likewise.
+ 	* config/pa/elf.h (ASM_FILE_START): Likewise.
+ 	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
+ 	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
+ 	* config/pa/som.h (ASM_FILE_START): Likewise.
+ 	* config/romp/romp.c (romp_using_r14): Likewise.
+ 	* config/rs6000/rs6000.c (first_reg_to_save): Likewise.
+ 	(rs6000_stack_info): Likewise.
+ 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	* config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
+ 	* config/v850/v850.c (compute_register_save_size): Likewise.
+ 
+ 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation) [DIV]: If
+ 	gen_lowpart_common fails, use gen_lowpart_SUBREG.
+ 
+ 2002-01-03  Turly O'Connor  <turly@apple.com>
+ 
+ 	* darwin.c (machopic_output_possible_stub_label): Don't generate
+ 	stub routines for pseudo-stubs which we've just defined.
+ 
+ 2002-01-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* builtins.c: Fix formatting.
+ 	* c-typeck.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* loop.c: Likewise.
+ 
+ 2002-01-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
+ 	and return true if _cpp_push_next_buffer pushed a new include
+ 	file.
+ 	* cpplib.c (_cpp_pop_buffer): Only call obstack_free if
+ 	_cpp_pop_file_buffer did not push a new file.
+ 	* cpphash.h (_cpp_pop_file_buffer): Update declaration.
+ 
+ 2002-01-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* final.c (final_scan_insn): Change 0 -> NULL_RTX in
+ 	FIND_REG_INC_NOTE call. Update copyright.
+ 	* loop.c (canonicalize_condition): Ditto.
+ 	* reorg.c (delete_scheduled_jump): Ditto.
+ 
+ 2002-01-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* gcse.c: Fix formatting.
+ 
+ 2002-01-03  Graham Stott  <grahams@redhat.com>
+ 
+ 	* mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
+ 	forward defs for struct tags rtx_def, union_tree, rtvec_def
+ 	also output corresponding typedefs for rtx, tree, and rtvec.
+ 
+ 	* system.h: Move forward defs for struct tags rtx_def, union_tree,
+ 	rtvec_def along with corresponding typedefs for rtx, tree, and
+ 	rtvec to config.h, hconfig.h, tconfig.h.
+ 
+ 2002-01-03  Graham Stott  <grahams@redhat.com>
+ 
+ 	* tree.h: Update copyright date.
+ 	(IS_EXPR_CODE_CLASS): Add parenthesis.
+ 	(TREE_SET_CODE): Add whitespace.
+ 	(TREE_CHECK): Add parenthesis.
+ 	(TREE_CLASS_CODE): Add parenthesis and wrap long line.
+ 	(CST_OR_CONSTRUCTOR_CHECK):
+ 	(EXPR_CHECK): Add parenthis, whitespace and wrap line.
+ 	(TREE_SYMBOL_REFERENCED): Whitespace.
+ 	(INT_CST_LT): Likewise.
+ 	(INT_CST_LT_UNSIGNED): Likewise.
+ 	(tree_real_cst): Unwrap comment.
+ 	(tree_string): Likewise.
+ 	(tree_complex): Likewise.
+ 	(IDENTIFIER_POINTER): correct cast.
+ 	(SAVE_EXPR_CONTEXT): Whitespace.
+ 	(EXPR_WFL_FILENAME_NODE): Likewise.
+ 	(EXPR_WFL_FILENAME): Remove parenthesis.
+ 	(DECL_ORIGIN): Add parenthesis.
+ 	(DECL_FROM_INLINE): Use NULL_TREE.
+ 	(build_int_2): Whitespace.
+ 	(build_type_variant): Add parenthesis.
+ 
+ 	* gcc/jcf-parse.c: Update copyright date.
+ 	(yyparse): Constify resource_filename.
+ 
+ 2002-01-03  Graham Stott  <grahams@redhat.com>
+ 
+ 	* rtl.h: Update copyright date.
+ 	(RTL_CHECK1): Wrap long line.
+ 	(RTL_CHECK2): Likewise.
+ 	(RTL_CHECKC1): Wrap long line and whitespace.
+ 	(RTL_CHECKC2): Likewise.
+ 	(XWINT): Whitespace.
+ 	(XINT): Likewise.
+ 	(XSTR): Likewise.
+ 	(XEXP): Likewise.
+ 	(XVEC): Likewise.
+ 	(XMODE): Likewise.
+ 	(XBITMAP): Likewise.
+ 	(XTREE): Likewise.
+ 	(XBBDEF): Likewise.
+ 	(XTMPL): Likewise.
+ 	(X0WINT): Likewise.
+ 	(X0INT):Likewise.
+ 	(X0UINT): Likewise.
+ 	(X0STR): Likewise.
+ 	(X0EXP): Likewise.
+ 	(X0VEC): Likewise.
+ 	(X0MODE): Likewise.
+ 	(X0BITMAP): Likewise.
+ 	(X0TREE): Likewise.
+ 	(X0BBDEF): Likewise.
+ 	(X0ADVFLAGS): Likewise.
+ 	(X0CSELIB): Likewise.
+ 	(X0MEMATTR): Likewise.
+ 	(XCWINT): Likewise.
+ 	(XCINT): Likewise.
+ 	(XCUINT): Likewise.
+ 	(XCSTR): Likewise.
+ 	(XCEXP): Likewise.
+ 	(XCVEC): Likewise.
+ 	(XCMODE): Likewise.
+ 	(XCBITMAP): Likewise.
+ 	(XCTREE): Likewise.
+ 	(XCBBDEF): Likewise.
+ 	(XCADVFLAGS): Likewise.
+ 	(XCCSELIB): Likewise.
+ 	(XC2EXP): Likewise.
+ 	(INSN_UID): Likewise.
+ 	(PREV_INSN): Likewise.
+ 	(PATTERN): Likewise.
+ 	(INSN_CODE): Likewise.
+ 	(PUT_REG_NOTE_KIND): Likewise.
+ 	(CODE_LABEL_NUMBER): Likewise.
+ 	(NOTE_SOURCE_FILE): Likewise.
+ 	(NOTE_BLOCK): Likewise.
+ 	(NOTE_EH_HANDLER): Likewise.
+ 	(NOTE_RANGE_INFO): Likewise.
+ 	(NOTE_LIVE_INFO): Likewise.
+ 	(NOTE_BASIC_BLOCK): Likewise.
+ 	(NOTE_EXPECTED_VALUE): Likewise.
+ 	(NOTE_LINE_NUMBER): Likewise.
+ 	(LABEL_NAME): Likewise.
+ 	(LABEL_NUSES): Likewise.
+ 	(LABEL_ALTERNATE_NAME): Likewise.
+ 	(ADDRESSOF_DECL): Likewise.
+ 	(JUMP_LABEL): Likewise.
+ 	(LABEL_NEXTREF): Likewise.
+ 	(REGNO): Likewise.
+ 	(ORIGINAL_REGNO: Likewise.
+ 	(HARD_REGISTER_NUM_P): Add parenthesis.
+ 	(SUBREG_REG): Whitespace.
+ 	(SUBREG_BYTE): Likewise.
+ 	(ASM_OPERANDS_TEMPLATE): Remove parenthesis.
+ 	(ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
+ 	(ASM_OPERANDS_OUTPUT_IDX): Likewise.
+ 	(ASM_OPERANDS_INPUT_VEC): Likewise.
+ 	(ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
+ 	(ASM_OPERANDS_INPUT): Likewise.
+ 	(ASM_OPERANDS_INPUT_LENGTH): Likewise.
+ 	(ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
+ 	(ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
+ 	(ASM_OPERANDS_INPUT_MODE): Likewise.
+ 	(ASM_OPERANDS_SOURCE_FILE): Likewise.
+ 	(ASM_OPERANDS_SOURCE_LINE): Likewise.
+ 	(MEM_SET_IN_STRUCT_P): Minor reformat.
+ 	(TRAP_CONDITION): Whitespace.
+ 	(TRAP_CODE): Likewise.
+ 	(COND_EXEC_TEST): Likewise.
+ 	(COND_EXEC_CODE): Likewise.
+ 	(FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
+ 	(PHI_NODE_P): Add parenthesis.
+ 	(plus_constant): Whitespace and add parenthesis.
+ 
+ 2002-01-03  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/avr/avr.c: Fix comment typos.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/dsp16xx/dsp16xx.md: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m68hc11/m68hc11.md: Likewise.
+ 	* config/mmix/mmix.c: Likewise.
+ 	* config/mn10200/mn10200.c: Likewise.
+ 	* config/romp/romp.c: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/stormy16/stormy16.md: Likewise.
+ 
+ 2002-01-03  Graham Stott  <grahams@redhat.com>
+ 
+ 	* loop.h: Update copyright date.
+ 	(LOOP_MOVABLES): Fix typo.
+ 	(LOOP_REGS): Likewise.
+ 	(LOOP_IVS): Likewise.
+ 
+ 2002-01-03  Graham Stott  <grahams@redhat.com>
+ 
+ 	* cppinit.c: Update copyright date.
+ 	Don't include output.h
+ 	* Makefile.in: Update copyright date.
+ 	Update dependency.
+ 
+ 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+ 
+ 	PR c/5226
+ 	* invoke.texi (-mthreads): Remove from documented RS/6000 options.
+ 	(-pthread) Add to RS/6000 options.
+ 
+ 2002-01-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* except.c: Fix comment typos.
+ 	* loop.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* doc/tm.texi: Fix a typo.
+ 
+ 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-typeck.c (output_init_element): Allow initializing static storage
+ 	duration objects with compound literals.
+ 
+ 2002-01-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* objc/objc-act.c (hack_method_prototype): Clear current_function_decl
+ 	after abusing it.
+ 
+ 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcc.c (default_compilers): Const-ify.
+ 	* mips-tdump.c (stab_names): Likewise.
+ 	* mips-tfile.c (map_coff_types, map_coff_storage,
+ 	map_coff_sym_type, map_coff_derived_type, stabs_symbol,
+ 	pseudo_ops_t, pseudo_ops): Likewise.
+ 	* protoize.c (default_include): Likewise
+ 
+ 	* real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
+ 	(ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
+ 	Add array size in declaration.
+ 	(endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
+ 	emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
+ 	esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
+ 	etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
+ 	eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
+ 	efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
+ 	c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
+ 	emtens, make_nan): Const-ify.
+ 	(TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
+ 	DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
+ 
+ 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* config.gcc (ia64-*-*): Set extra_headers.
+ 	(alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
+ 	* config/alpha/t-osf: Remove.
+ 	* config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
+ 
+ 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-aix43: Revert previous change.
+ 
+ 2002-01-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-decl.c (c_expand_body): Call outlining_inline_function when
+ 	emitting an inline function out of line.
+ 
+ 2002-01-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (limbo_die_node): Add created_for member.
+ 	(new_die): New argument created_for.  Update all callers.
+ 	(mark_limbo_die_list): New.
+ 	(dwarf2out_init): Register limbo_die_list as a root.
+ 	(dwarf2out_finish): Force insert limbo dies into their function
+ 	context.
+ 
+ 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/5089
+ 	* doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
+ 
+ 2002-01-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/h8300/fixunssfsi.c: Update copyright.
+ 	Fix comment typos.
+ 	Fix formatting.
+ 	* config/h8300/h8300.c: Update copyright.
+ 	Eliminate warnings.
+ 
+ 2002-01-02  Kazu Hirata  <kazu@hxi.com>
+ 
+ 	* config/romp/romp.c: Fix comment formatting.
+ 	* config/romp/romp.h: Likewise.
+ 	* config/romp/romp.md: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 
+ 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-common.h (genrtl_expr_stmt_value): Declare.
+ 	* c-semantics.c (genrtl_goto_stmt): Redirect to...
+ 	(genrtl_goto_stmt_value): ... this new function.  Pass new
+ 	argument down to expand_expr_stmt_value, taking
+ 	TREE_ADDRESSABLE into account.
+ 	* c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
+ 	STMT_EXPR as addressable, i.e., one whose result we want.
+ 	* expr.c (expand_expr): Don't save expression statement value
+ 	of labeled_blocks or loop_exprs.
+ 	* stmt.c (expand_expr_stmt): Redirect to...
+ 	(expand_expr_stmt_value): ... this new function.  Use new
+ 	argument to tell whether to save expression value.
+ 	(expand_end_stmt_expr): Reset last_expr_type and
+ 	last_expr_value if we don't have either.
+ 	* tree-inline.c (declare_return_variable): Mark its use
+ 	statement as addressable.
+ 	* tree.h: Document new use of TREE_ADDRESSABLE.
+ 	(expand_expr_stmt_value): Declare.
+ 
+ 2002-01-01  Tom Rix  <trix@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
+ 	rs6000_emit_allocate_stack.
+ 
+ 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+ 
+ 	* configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
+ 	${srcdir}/ginclude/ to every entry in extra_headers.
+ 	* configure: Regenerate.
+ 	* ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
+ 	* ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
+ 	* ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
+ 	* ginclude/proto.h: Rename to config/convex/proto.h.
+ 
+ Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* attribs.c (handle_vector_size_attribute): Use host_integerp
+ 	and tree_int_cst; remove warnings.
+ 	* caller-save.c (insert_restore): Add cast to get rid of warning.
+ 	(insert_save): Likewise.
+ 	* emit-rtl.c (adjust_address_1, offset_address): Likewise.
+ 	* regmove.c (find_matches): Add temporary var to kill a warning.
+ 
+ 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
+ 	LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 	* config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
+ 	(vms-dwarf2eh.o): Add Makefile rule.
+ 	* config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
+ 	* config/alpha/vms-dwarf2eh.asm: New file.
+ 
+ 	* gcc.c (delete_if_ordinary): Delete all versions.
+ 
+ 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md: Update FIXME to not mention
+ 	define_constants.
+ 	(MMIX_rJ_REGNUM): New define_constants constant.
+ 	("movqi", "movsi", "movdi", "*movdicc_real_foldable",
+ 	"*movdicc_real"): Adjust contraints formatting.
+ 	("*bCC_foldable"): Add %+ for P in output format and delete FIXME
+ 	for branch prediction.
+ 	("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
+ 	output template.
+ 	("*call_real", "*call_value_real", "nonlocal_goto_receiver",
+ 	"*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
+ 	number.  Delete related FIXMEs.
+ 	* config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
+ 	from number to MMIX_rJ_REGNUM.
+ 	(TARGET_MASK_BRANCH_PREDICT): New.
+ 	(TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
+ 	(TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
+ 	value.  Add -mbranch-predict and -mno-branch-predict.
+ 	(TARGET_VERSION): Drop date.
+ 	(ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
+ 	* config/mmix/mmix.c (mmix_encode_section_info): Correct condition
+ 	for finding out global symbols.
+ 	(mmix_asm_output_labelref): Revert condition for global symbol.
+ 	(mmix_print_operand): <case '+'>: Emit P for a likely branch.
+ 	(mmix_print_operand_punct_valid_p): A '+' is valid.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2003 gcc-4.1.0/gcc/ChangeLog-2003
*** gcc-4.0.2/gcc/ChangeLog-2003	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2003	Fri Mar 18 01:13:39 2005
***************
*** 0 ****
--- 1,37862 ----
+ 2003-12-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/13473
+ 	* recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
+ 	ASM input operands
+ 
+ 	PR opt/12617
+ 	* toplev.c (dump_file_index): Reorder ce3 and bbro.
+ 	(dump_file): Likewise.
+ 	(rest_of_compilation): Likewise.
+ 
+ 	PR debug/13367
+ 	* cgraph.c (cgraph_function_possibly_inlined):  Even with
+ 	flag_really_no_inline we inline always_inline functions.
+ 	* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
+ 	for non-always_inline functions when there is flag_really_no_inline.
+ 	(cgraph_decide_inlining): Limit work done when not inlining.
+ 	(cgraph_decide_inlining_incrementally): Likewise.
+ 	(cgraph_optimize_function): Check whether something got inlined.
+ 	* c-objc-common.c (c_disregard_inline_limits): Do not always inline
+ 	extern inline functions when not inlining.
+ 
+ 	* opts.c (decode_options):  Disable crossjumping at -O1
+ 	* invoke.texi (-O1): Document change.
+ 
+ 2003-12-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* print-rtl.c (print_rtx): For hard register, write out register
+ 	number and register name instead of calling PRINT_REG.
+ 	* defaults.h (PRINT_REG): Deleted.
+ 	* config/i386/i386.c (print_reg): Remove handling of CODE of -1.
+ 	Move comments here from i386.h.
+ 	(print_operand, print_operand_address): Call print_reg directly.
+ 	* config/i386/i386.h (PRINT_REG): Deleted.
+ 
+ 2003-12-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define
+ 	_INCLUDE_LONGLONG.
+ 
+ 2003-12-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gcc.c (init_spec): Add -lunwind to shared case too if
+ 	USE_LIBUNWIND_EXCEPTIONS.
+ 
+ 2003-12-31  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/include/texinfo.tex: Update to version 2003-12-21.10.
+ 	* doc/gcc.texi, doc/gccint.texi: Don't set font for
+ 	@def... commands.
+ 	* doc/invoke.texi: Don't use empty @opindex.
+ 
+ 2003-12-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (c_expand_expr): Remove code to return a value
+ 	different from that returned by expand_expr.
+ 	* expr.c (store_expr): Use the validity of a target MEM, rather
+ 	than checking DECL_RTL (exp), to figure out if a copy is
+ 	required.
+ 
+ 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/v850/lib1funcs.asm: Fix comment formatting.
+ 	* config/v850/v850.c: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* config/v850/v850.md: Likewise.
+ 
+ 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.md (*movqi_insv_2): Remove AND in the
+ 	set source.
+ 
+ 2003-12-31  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config.gcc: Added m32r-linux m32rle-elf and m32le-linux targets.
+ 	* doc/invoke.texi: Document -mflush-func, -mflush-trap options.
+ 	Also add documentation for -mdebug, -malign-loops, -missue-rate,
+ 	and -mbranch-cost options.
+ 	* config/m32r/t-linux: New file: m32r-linux support.
+ 	* config/m32r/xm-linux.h: Likewise.
+ 	* config/m32r/xm-m32r.h: Likewise.
+ 	* config/m32r/linux.h: Likewise.
+ 	* config/m32r/little.h: New file: Little endian code generation
+ 	support.
+ 	* config/m32r/m32r-protos.h (m32r_legitimize_pic_address,
+ 	m32r_legitimate_pic_operand_p, load_pic_register): Add
+ 	prototypes.
+ 	* config/m32r/m32r.c (m32r_init): Add options for cache-flush.
+ 	(addr24_operand): Changes for PIC code generation.
+ 	* config/m32r/m32r.h (LABEL_ALIGN): Define to calculate PNOP
+ 	length at labels.
+ 	(ASM_SPEC): Add PIC support.
+ 	(FUNCTION_PROFILER): New define.
+ 	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed to support
+ 	trampoline.
+ 	(CONDITIONAL_REGISTER_USAGE, CONSTANT_ADDRESS_P,
+ 	 LEGITIMIZE_ADDRESS, JUMP_TABLES_IN_TEXT_SECTION,
+ 	 PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC, LEGITIMATE_PIC_OPERAND_P,
+ 	 ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE): Define for PIC.
+ 	(move_src_operand, m32r_compute_frame_size, m32r_expand_prologue,
+ 	 m32r_finalize_pic): Changes for PIC and profile support.
+ 	(global_offset_table, load_pic_register, m32r_legitimate_pic_operand_p,
+ 	 m32r_legitimize_pic_address): Add for PIC support.
+ 	(m32r_file_start): Changed for little-endian-target.
+ 	* config/m32r/m32r.md (mvqi, movhi, movsi, movdi, movsf, movdf,
+ 	tablejump, tablejump_insn, call, call_value, call_value_via_label):
+ 	Changes for PIC.
+ 	(pic_load_addr, get_pc, builtin_setjmp_receiver): Added for PIC.
+ 	(flush_icache): Changes for cache-flush trap.
+ 
+ 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.h: Remove an unnecessary #undef.
+ 
+ 2003-12-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cppfiles.c (pch_open_file): Minor tweak to work-around native
+ 	HPPA compiler bug.
+ 
+ 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/rs6000/aix.h: Fix comment formatting.
+ 	* config/rs6000/rs6000-modes.def: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 
+ 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386-protos.h: Remove prototype for
+ 	const_int_1_operand.
+ 	* config/i386/i386.c (const_int_1_operand): Remove.
+ 	* config/i386/i386.h (PREDICATE_CODES): Remove
+ 	const_int_1_operand.
+ 	* config/i386/i386.md: Replace all uses of const_int_1_operand
+ 	with const1_operand.
+ 	* config/i386/pentium.md: Likewise.
+ 
+ 2003-12-30  Geoffrey Keating  <geoffk@greed.local>
+ 
+ 	* doc/tm.texi (PREFERRED_RELOAD_CLASS): Describe use of NO_REGS
+ 	with constants.
+ 
+ 2003-12-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* stor-layout.c (layout_decl): Turn bitfields into ordinary
+ 	fields, even if they are the first field in a structure.
+ 
+ 2003-12-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <COND_EXPR>: Don't require strict type
+ 	equality, instead just prevent replacing a COND_EXPR of non-void
+ 	type by one of its operands of void type.
+ 
+ 2003-12-30  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* doc/c-tree.texi: Fix @item vs. @itemx.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/install.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
+ 	change.
+ 
+ 2003-12-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/11936
+ 	* i386.h (CLASS_LIKELY_SPILLED_P): Return true for
+ 	FP_TOP_REG/FP_SECOND_REG.
+ 
+ 2003-12-30  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	Backport from tree-ssa (relevant changes only):
+ 	2003-12-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* et-forest.h (et_forest_create, et_forest_delete,
+ 	et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
+ 	et_forest_remove_edge, et_forest_parent,
+ 	et_forest_common_ancestor, et_forest_node_value,
+ 	et_forest_enumerate_sons): Declarations removed.
+ 	(struct et_node): New.
+ 	(et_new_tree, et_free_tree, et_set_father, et_split, et_nca,
+ 	et_below): Declare.
+ 	* et-forest.c (struct et_forest_occurrence, struct et_forest,
+ 	struct et_forest_node): Removed.
+ 	(et_forest_create, et_forest_delete,
+ 	et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
+ 	et_forest_remove_edge, et_forest_parent,
+ 	et_forest_common_ancestor, et_forest_node_value,
+ 	et_forest_enumerate_sons, splay, remove_all_occurrences,
+ 	find_leftmost_node, find_rightmost_node, calculate_value): Removed.
+ 	(struct et_occ): New.
+ 	(et_nodes, et_occurences): New.
+ 	(set_depth, set_depth_add, set_prev, set_next, et_recomp_min,
+ 	et_check_occ_sanity, et_check_sanity, et_check_tree_sanity,
+ 	record_path_before_1, record_path_before, check_path_after_1,
+ 	check_path_after, et_splay, et_new_occ, et_new_tree,
+ 	et_free_tree, et_set_father, et_split, et_nca, et_below): New.
+ 	* basic-block.h (struct basic_block_def): New field dom.
+ 	(struct dominance_info): Type removed.
+ 	(calculate_dominance_info, free_dominance_info,
+ 	nearest_common_dominator, set_immediate_dominator,
+ 	get_immediate_dominator, dominated_by_p, get_dominated_by,
+ 	add_to_dominance_info, delete_from_dominance_info,
+ 	recount_dominator, redirect_immediate_dominators,
+ 	iterate_fix_dominators, verify_dominators): Declarations
+ 	changed.
+ 	(enum dom_state): New.
+ 	(dom_computed): New variable.
+ 	(first_dom_son, next_dom_son): Declare.
+ 	* dominance.c (struct dominance_info): Removed.
+ 	(BB_NODE, SET_BB_NODE): Removed.
+ 	(calculate_dominance_info, free_dominance_info,
+ 	nearest_common_dominator, set_immediate_dominator,
+ 	get_immediate_dominator, dominated_by_p, get_dominated_by,
+ 	add_to_dominance_info, delete_from_dominance_info,
+ 	recount_dominator, redirect_immediate_dominators,
+ 	iterate_fix_dominators, verify_dominators,
+ 	debug_dominance_info): Work over new datastructure.  Access
+ 	dominance datastructures through CFG.
+ 	(assign_dfs_numbers, compute_dom_fast_query, first_dom_son,
+ 	next_dom_son): New.
+ 	* bt-load.c (dom): Variable removed.
+ 	(augment_live_range, combine_btr_defs, migrate_btr_def,
+ 	migrate_btr_defs, branch_target_load_optimize): Updated for the
+ 	new interface for dominance information.
+ 	* cfg.c {exit_entry_blocks): Update initializer.
+ 	* cfglayout.c (copy_bbs): Removed loops argument. Updated for
+ 	the new interface for dominance information.
+ 	* cfglayout.h (copy_bbs): Declaration changed.
+ 	* cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump,
+ 	flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated
+ 	for the new interface for dominance information.
+ 	(flow_loop_scan): Loops argument removed.
+ 	(flow_loops_free): Don't release dominators.
+ 	* cfgloop.h (struct cfg): Dom field removed.
+ 	(flow_loop_scan, loop_split_edge_with, simple_loop_p,
+ 	just_once_each_iteration_p, split_loop_bb): Declaration changed.
+ 	* cfgloopanal.c (simple_loop_exit_p, simple_increment,
+ 	just_once_each_iteration_p, simple_loop_p): Remove loops argument.
+ 	Updated for the new interface for dominance information.
+ 	* cfgloopmanip.c (remove_bbs, find_path, create_preheader,
+ 	split_loop_bb, loopify, duplicate_loop_to_header_edge,
+ 	force_single_succ_latches, loop_split_edge_with): Ditto.
+ 	* gcse.c (dominators): Variable removed.
+ 	(free_code_hoist_mem, compute_code_hoist_data, hoist_code):
+ 	Updated for the new interface for dominance information.
+ 	* ifcvt.c (post_dominators): Variable removed.
+ 	(mark_loop_exit_edges, merge_if_block, find_if_header,
+ 	find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
+ 	Updated for the new interface for dominance information.
+ 	* loop-init.c (rtl_loop_optimizer_init,
+ 	rtl_loop_optimizer_finalize): Ditto.
+ 	* loop-unroll.c (decide_peel_simple, decide_peel_once_rolling,
+ 	decide_peel_completely, decide_unroll_stupid,
+ 	decide_unroll_constant_iterations,
+ 	decide_unroll_runtime_iterations): Loops argument removed.
+ 	Updated for the new interface for dominance information.
+ 	(unroll_and_peel_loops, peel_loops_completely,
+ 	unroll_loop_runtime_iterations): Updated for the new interface for
+ 	dominance information.
+ 	* loop-unswitch.c (may_unswitch_on_p, unswitch_loops,
+ 	unswitch_single_loop, unswitch_loop): Updated for the new
+ 	interface for dominance information.
+ 	* predict.c (process_note_predictions, process_note_prediction,
+ 	estimate_probability, note_prediction_to_br_prob): Ditto.
+ 	* sched-rgn.c (find_rgns, init_regions): Ditto.
+ 	* toplev.c (rest_of_handle_branch_prob): Free the dominators.
+ 
+ 2003-12-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/13456
+ 	* i386.md (allocate_stack_worker):  Use different pattern for pre and
+ 	post reload expansion.
+ 	(allocate_stack_worker_1, allocate_stack_worker_rex64): Use
+ 	match_scratch.
+ 	(allocate_stack_worder_1_postreload,
+ 	allocate_stack_worker_rex64_postreload): New.
+ 
+ 2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
+ 	to the virtual incoming args pointer for downward stacks.
+ 
+ 2003-12-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR fortran/12632
+ 	* fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
+ 	if the type of the selected branch doesn't match its' parent.
+ 
+ 2003-12-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* coverage.c (read_counts_file): Better error messages; cause corrupted
+ 	profiles to produce hard errors, not just warnings
+ 	(get_coverage_counts): Similarly.
+ 
+ 	* toplev.c (rest_of_handle_loop_optimize): Enable LOOP_AUTO_UNROLL.
+ 
+ 2003-12-29  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* doc/cppopts.texi:  Use of -idirafter, -iprefix, -iwithprefix, and
+ 	-iwithprefixbefore is not discouraged.
+ 
+ 2003-12-28  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
+ 	sbitmap_a_xor_b_cg): Accumulate "changed" properly.
+ 	(sbitmap_not): Zero all bits past n_bit.
+ 
+ 2003-12-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR opt/13159
+ 	* cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
+ 	components detection.
+ 	* loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
+ 
+ 2003-12-27  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
+ 	correct linking of executables using id-based shared libraries.
+ 
+ 2003-12-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386-interix.h: Remove uses of "register"
+ 	specifier in declarations of arguments and local variables.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386elf.h: Likewise.
+ 	* config/i386/ptx4-i.h: Likewise.
+ 	* config/i386/sysv4.h: Likewise.
+ 
+ 2003-12-26  Fariborz Jahanian <fjahanian@apple.com>
+ 	    Geoffrey Keating <geoffk@apple.com>
+ 	    David Edelsohn <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
+ 	restrict DFmode and TFmode to word alignment.
+ 	* config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
+ 	for ld/std and order before mr.
+ 
+ 2003-12-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Arrange
+ 	-fprofile-generate to imply -lgcov.
+ 
+ 2003-12-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
+ 	addresses.
+ 
+ 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Remove a constraint from a splitter.
+ 
+ 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR C++/13429, C/11944
+ 	* c-common.c (c_build_qualified_type): Return early when type is
+ 	error_mark_node.
+ 	(c_apply_type_quals_to_decl): Likewise.
+ 
+ 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha-modes.def: Fix comment formatting.
+ 	* config/alpha/alpha.c: Likewise.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/alpha/elf.h: Likewise.
+ 	* config/alpha/lib1funcs.asm: Likewise.
+ 	* config/alpha/openbsd.h: Likewise.
+ 	* config/alpha/vms-cc.c: Likewise.
+ 	* config/alpha/vms-crt0-64.c: Likewise.
+ 	* config/alpha/vms-crt0.c: Likewise.
+ 	* config/alpha/vms-ld.c: Likewise.
+ 	* config/alpha/vms-psxcrt0-64.c: Likewise.
+ 	* config/alpha/vms-psxcrt0.c: Likewise.
+ 	* config/alpha/vms.h: Likewise.
+ 	* config/arc/arc.c: Likewise.
+ 	* config/arm/aof.h: Likewise.
+ 	* config/arm/arm-modes.def: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/linux-elf.h: Likewise.
+ 	* config/arm/vxworks.h: Likewise.
+ 	* config/avr/avr.c: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 
+ 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/xtensa/elf.h: Fix comment formatting.
+ 	* config/xtensa/xtensa-protos.h: Likewise.
+ 	* config/xtensa/xtensa.c: Likewise.
+ 	* config/xtensa/xtensa.h: Likewise.
+ 
+ 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.c: Fix comment formatting.
+ 	* config/avr/avr.md: Likewise.
+ 
+ 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/12721.
+ 	* config/avr/avr.c: Include ggc.h.
+ 	(tmp_reg_rtx): Declare with GTY.
+ 	(zero_reg_rtx): Likewise.
+ 	(ldi_reg_rtx): Remove.
+ 	(avr_override_options): Initialize zero_reg_rtx and
+ 	ldi_reg_rtx.
+ 	(avr_init): Remove.
+ 	Include gt-avr.h.
+ 	* config/avr/avr.h (LDI_REG_REGNO): Remove.
+ 	Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
+ 
+ 2003-12-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/md.texi: Document PowerPC vector register constraint letter.
+ 
+ 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (expand_call): Recognize calls to "sqrt" and create
+ 	corresponding notes.
+ 
+ 2003-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/mips/mips.c (override_options): Use `inform' instead
+ 	of `warning' for -g -mabi=32 and native assembler.
+ 
+ 	* config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
+ 	Don't pass -Wno-error.
+ 
+ 2003-12-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* function.c (assign_parms): Update max_parm_reg and
+ 	parm_reg_stack_loc when adding new parm reg.
+ 
+ 2003-12-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ns32k/ns32k.c: Convert to ISO-C.
+ 
+ 2003-12-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (ia64_va_arg): Pass pointer for
+ 	variable-sized type through convert_memory_address.
+ 	(ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
+ 
+ 2003-12-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* common.opt (fprofile-generate,fprofile-use): Add.
+ 	* gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
+ 	* opts.c (profile_arc_flag_set, flag_profile_values_set,
+ 	flag_unroll_loops_set, flag_tracer_set,
+ 	flag_value_profile_transformations_set,
+ 	flag_peel_loops_set): New static variables.
+ 	(common_handle_option): Deal with -fprofile-generate/-fprofile-use
+ 	* invoke.texi (-fprofile-generate, -fprofile-use): Describe.
+ 
+ 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS-common): Remove dwarfout.o.
+ 	(dwarfout.o): Remove.
+ 	* common.opt: Remove -gdwarf, -gdwarf+.
+ 	* defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
+ 	DWARF_DEBUGGING_INFO.
+ 	* dwarf2out.c: Fix typo in comment.
+ 	* dwarfout.c: Remove.
+ 	* opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
+ 	* toplev.c (process_options): Remove check for
+ 	DWARF_DEBUGGING_INFO.
+ 	* config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
+ 	#undef it.
+ 	* config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
+ 	* doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
+ 	or -gdwarf+.
+ 	* doc/tm.texi: Likewise.
+ 
+ 	* c-common.c (flag_abi_version): Default to 2.
+ 	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
+ 	uniformly for versions above 2.
+ 	* doc/invoke.texi: Update documentation for -fabi-version.
+ 
+ 2003-12-22  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Change many instances of '!
+ 	TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
+ 	was guarded only because it changed CR0 or the carry bit in XER.
+ 
+ 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13394
+ 	* toplev.c (rest_of_compilation): Move call to
+ 	check_function_return_warnings right after the sibcall
+ 	optimization pass.
+ 
+ 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/13382
+ 	* c-typeck.c (convert_for_assignment): When converting from
+ 	integral type to pointer type, always call convert.
+ 
+ 2003-12-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi: Deprecate -fwritable-strings.
+ 
+ 	* c-common.c (flag_external_templates): Remove.
+ 	(flag_alt_external_templates): Likewise.
+ 	* c-common.h (flag_external_templates): Remove.
+ 	(flag_alt_external_templates): Likewise.
+ 	* c-opts.c (c_common_handle_option): Unsupport
+ 	-falt-external-templates and -ftemplates.
+ 	* doc/invoke.texi: Remove mention of -fexternal-templates and
+ 	-falt-external-templates.
+ 
+ 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/13466
+ 	* config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
+ 
+ 	* emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
+ 	copy_rtx_if_shared_1.
+ 	(copy_rtx_if_shared_1): Add comment about what the function does.
+ 
+ 	* c-decl.c (finish_function): Change order of checks.
+ 	(c_expand_body): Likewise.
+ 
+ 2003-12-22  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
+ 	check for the legitimate offset when memory of
+ 	DImode/DFmode/TFmode/TImode mode is being referenced and target
+ 	is TARGET_POWERPC64.
+ 
+ 2003-12-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* reload1.c:  Add reg_reloaded_call_part_clobbered.
+ 	(reload_as_needed):  Use it.
+ 	(forget_old_reloads_1):  Ditto.
+ 	(emit_reload_insns):  Ditto.
+ 
+ 2003-12-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR optimization/12828
+ 	* loop.c:  Add find_regs_nested to look inside CLOBBER(MEM).
+ 	(scan_loop):  Call it.
+ 	* regclass.c (reg_scan_mark_regs):  Look inside CLOBBER(MEM).
+ 
+ 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/9163
+ 	* c-decl.c (poplevel): Only set DECL_INITIAL of a current function
+ 	if it is non-null.
+ 	(finish_function): Check for error_mark_node or null on DECL_RESULT and
+ 	DECL_RESULT of fndecl.
+ 	(c_expand_body): Only expand when DECL_INITIAL of fndecl is not
+ 	error_mark_node and not null.
+ 
+ 2003-12-21  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* rtl.h (dump_rtx_statistics): Declare it.
+ 	* rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
+ 	rtx_alloc_sizes): New static vars.
+ 	(rtx_alloc, rtvec_alloc): Update them.
+ 	(dump_rtx_statistics): New function.
+ 	* toplev.c (finalize): Call it.
+ 	* ggc-page.c (struct globals): Fix comments. Add new member
+ 	total_allocated_per_order.
+ 	(ggc_alloc): Keep track of the total allocated memory.
+ 	(ggc_print_statistics): Clarify message. Print total allocated
+ 	memory stats.
+ 	* configure.in (gather-detailed-mem-stats): New flag.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 	* doc/install.texi (Configuration): Document
+ 	--enable-gather-detailed-mem-stats.
+ 
+ 2003-12-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
+ 	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
+ 
+ 2003-12-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
+ 	when compiling in ILP32 mode.
+ 
+ 2003-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
+ 	TARGET_HAVE_TLS is false.
+ 
+ 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ip2k/ip2k-protos.h: Remove the prototype for
+ 	asm_output_section_name.
+ 	* config/ip2k/ip2k.c (asm_output_section_name): Remove.
+ 
+ 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Fix comment formatting.
+ 	* alloc-pool.c: Likewise.
+ 	* bitmap.c: Likewise.
+ 	* bitmap.h: Likewise.
+ 	* bt-load.c: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* c-pretty-print.c: Likewise.
+ 	* caller-save.c: Likewise.
+ 	* cfghooks.h: Likewise.
+ 	* cgraph.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* final.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* libgcc2.h: Likewise.
+ 	* loop.c: Likewise.
+ 	* predict.h: Likewise.
+ 	* unwind-libunwind.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
+ 	a warning.
+ 
+ 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c: Convert to ISO-C.
+ 	* config/avr/avr.h: Likewise.
+ 	* config/fr30/fr30.c: Likewise.
+ 	* config/ip2k/ip2k.c: Likewise.
+ 	* config/mn10300/mn10300.c: Likewise.
+ 
+ 2003-12-20  Andrew Pinski  <pinskia@gcc.gnu.org>
+ 	    Matt Thomas  <matt@3am-software.com>
+ 
+ 	PR target/12749
+ 	* config/i386/i386.c (print_operand): Print only the first
+ 	8 characters of the float in hex.
+ 
+ 2003-12-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
+ 	2.0 code.
+ 	(TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
+ 	(INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
+ 	and end addresses to I and D cache instruction patterns.
+ 	* pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
+ 	and_operand and ior_operand, respectively.  When generating 64-bit
+ 	code, only one operand needs to be a register operand.
+ 	(xordi3): Change predicates of operands 1 and 2 to register_operand.
+ 	(one_cmpldi2): Change predicate of operand 1 to register_operand.
+ 	(dcacheflush, icacheflush): Revise to flush an arbitrary number of
+ 	cache lines.
+ 
+ 2003-12-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR optimization/13430, PR optimization/12322
+ 	* bb-reorder.c (copy_bb_p): Do not allow block with many successors to
+ 	be copied.
+ 	(find_traces_1_round): Surround check for fake edges by
+ 	#ifdef ENABLE_CHECKING #endif.
+ 
+ 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR other/7956
+ 	* genmultilib: New variable disable_multilib.  Set it to 'yes'
+ 	if enable_multilib was set to 'no'.  Emit DISABLE_MULTILIB
+ 	if disable_multilib was set to 'yes'.
+ 	* gcc.c: Include multilib.h before tm.h.
+ 	* config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
+ 	message for multiarch options if DISABLE_MULTILIB is set.
+ 	* config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
+ 
+ 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/12085
+ 	* c-typeck.c (build_function_call): Issue a warning if a
+ 	function is called through an incompatible prototype and
+ 	replace the call by a trap in this case.
+ 
+ 2003-12-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* install.texi (ia64-*-linux): Document minimum libunwind version
+ 	number.
+ 
+ 2003-12-19  Per Bothner  <per@bothner.com>
+ 
+ 	* langhooks.c (lhd_print_error_function):  Fix for PR c/13110.
+ 	Don't do pp_newline; it causes an extra blank line.
+ 	* pretty-print.c (pp_base_flush):  Clear pp_needs_newline.
+ 
+ 2003-12-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (get_unwidened): Decide whether to narrow a bitfield
+ 	reference based on TYPE_SIZE, not TYPE_PRECISION.
+ 
+ 	* stmt.c (parse_output_constraint): Warn about in-out constraint
+ 	that doesn't allow a register.
+ 	(parse_input_constraint): Warn about matching constraint that
+ 	doesn't allow a register.
+ 
+ 2003-12-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
+ 	Add case for ASM_OPERANDS.
+ 	* global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
+ 	registers.
+ 
+ 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (check_max_integer_computation_mode): Remove.
+ 	* dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
+ 	* fold-const.c (fold): Likewise.
+ 	* system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
+ 	* doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
+ 
+ 2003-12-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* configure.in: Delete libunwind_has_eh_support test.
+ 	* configure: Regenerate.
+ 	* config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
+ 	and libunwind_has_eh_support check.
+ 	* config/t-libunwind-no-eh: Delete.
+ 
+ 2003-12-19  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-format.c (print_char_table): Allow 'I' flag on floating point
+ 	decimal formats.
+ 
+ 2003-12-19  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
+ 	Trivial fixes for i386.c on Darwin/x86.
+ 
+ 2003-12-19  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
+ 	recognize macho-style lo_sum adrress patterns.
+ 
+ 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarfout.c: Remove uses of "register" specifier in
+ 	declarations of arguments and local variables.
+ 	* gensupport.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* regclass.c: Likewise.
+ 
+ 2003-12-19  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* config.guess: Remove.
+ 
+ 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
+ 	(unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
+ 	regstk_top.
+ 	(uw_frame_state_for): Handle locations inside bundles.
+ 	(uw_init_context_1): Initialize context->rnat.
+ 	Set context->regstk_top to lowest rbs address which has nat collection
+ 	in context->rnat.
+ 	(uw_install_context): Fix rnat restoring.
+ 	Restore ar.rsc to previous state.
+ 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
+ 	MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
+ 
+ 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/13239
+ 	* builtins.c (expand_builtin_expect_jump): Update
+ 	TREE_VALUE (arglist) if unsave_expr_now langhook
+ 	created a new tree.
+ 
+ 2003-12-19  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_base_register_rtx_p): Use regno in comparison against
+ 	FIRST_PSEUDO_REGISTER.
+ 
+ 2003-12-18  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
+ 	for SVR4 ABI.
+ 
+ 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
+ 	(OS_MISSING_ALTIVEC): Define.
+ 	* config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
+ 	-force_cpusubtype_ALL.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Rearrange
+ 	CPU information table; now always set all CPU-specific values.
+ 	Also, use Altivec and powerpc64 when chip and OS supports them.
+ 
+ 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* fixinc/inclhack.def (darwin_macho_dyldh): New.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-12-18  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	* version.c (version_string): Renumber as 3.4.0
+ 	* doc/include/gcc-common.texi: Likewise
+ 
+ 2003-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genrecog.c (print_host_wide_int): New.
+ 	(write_switch, write_cond): Use it.
+ 
+ 2003-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (check_bitfield_type_and_width): Remove enum special
+ 	case suppression of pedwarn.
+ 	* system.h (ENUM_BITFIELD): Use __extension__.
+ 	(CHAR_BITFIELD): Likewise.
+ 
+ 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 	    Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.md (UNSPEC_SRST): New constant.
+ 	("strlendi", "strlensi"): New expanders.
+ 	("*strlendi", "*strlensi"): New insns.
+ 
+ 2003-12-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
+ 	(LINK_ARCH32_SPEC_BASE): ... this new macro.
+ 	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
+ 	...
+ 	(LINK_ARCH64_SPEC_BASE): ... this new macro.
+ 	* config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
+ 	(LINK_ARCH64_SPEC): Likewise.
+ 
+ 2003-12-18  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/13234
+ 	* tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
+ 	classes.
+ 
+ 2003-12-18  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
+ 	* toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
+ 	Don't push and pop TV_REORDER_BLOCKS timevars, do it...
+ 	* bb-reorder.c (reorder_basic_blocks): ...here, and...
+ 	* tracer.c (tracer): here.
+ 
+ 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* loop.c (move_movables): Handle combination of m->consec,
+ 	m->move_insn_first, and m->insert_temp all nonzero correctly.
+ 
+ 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c (load_register_parameters): Don't use
+ 	LOAD_ARGS_REVERSED.
+ 	* system.h (LOAD_ARGS_REVERSED): Poison.
+ 	* doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
+ 
+ 2003-12-17  Per Bothner  <per@bothner.com>
+ 
+ 	* emit-rtl.c (set_new_first_and_last_label_num):  Remove function.
+ 	* rtl.h (set_new_first_and_last_label_num):  Remove declaration.
+ 
+ 2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
+ 	scratch insns of the then branch that clobber regs needed by the
+ 	else branch.
+ 
+ 2003-12-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c (expand_call): Update comments.
+ 	* system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
+ 	* targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
+ 
+ 2003-12-17  James E Wilson  <wilson@specifixinc.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
+ 	* gcse.c: Include tree.h.
+ 	(implicit_set_cond_p): New.
+ 	(find_implicit_sets): Call it.
+ 
+ 2003-12-17  Santiago Vila  <sanvila@unex.es>
+ 
+ 	* config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
+ 	TARET_OS_CPP_BUILTINS.
+ 
+ 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c: Fix signed/unsigned comparison warnings.
+ 
+ 2003-12-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* predict.c (struct block_info_def, struct edge_info_def): Change
+ 	bit-fields of width 1 to unsigned int.
+ 
+ 2003-12-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 12480
+ 	* c-pch.c (pch_init): Improve error message when precompiled
+ 	header can't be written.
+ 
+ 	PR 12606
+ 	* c-pch.c (pch_init): Make a PCH file appear invalid while it's
+ 	being written.
+ 	(c_common_write_pch): Make it valid once it's done.
+ 
+ 2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/11992
+ 	* config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
+ 	instead of CLCL.
+ 	("*cmpmem_long_31"): Likewise.
+ 
+ 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c: Add more comments about insn bundling.
+ 
+ 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR optimization/10592
+ 	* caller-save.c (mark_referenced_regs): Don't short-circuit a reg
+ 	or subreg in SET_DEST if it isn't a hard register.
+ 
+ 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
+ 	-fno-branch-probabilities to arguments when compiling ctors and
+ 	dtors.
+ 
+ 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
+ 	* config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
+ 
+ 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
+ 	as base registers for sub-word operations.
+ 	(thumb_legitimate_address_p): Simplify REG+REG test.
+ 
+ 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
+ 
+ 	* opts.c (wrap_help): Fix overflow.
+ 
+ 2003-12-17  Fred Fish  <fnf@redhat.com>
+ 
+ 	* configure.in: Remove code to examine linker scripts and set
+ 	HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
+ 	* configure, config.in: Regenerate.
+ 
+ 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/12218
+ 	* varasm.c (initializer_constant_valid_p): Allow a conversion from
+ 	an integral constant to an OFFSET_TYPE.
+ 
+ 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/11012
+ 	* config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
+ 	gen_cmp_ne_small_const_insn.
+ 	* config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
+ 
+ 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
+ 	    Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/3347
+ 	* c-decl.c (enum_decl_context): Remove BITFIELD.
+ 	(grokdeclarator): Take bit-field width as an input.
+ 	Perform bit-field width validation with
+ 	check_bitfield_type_and_width rather than waiting for
+ 	finish_struct.
+ 	(groktypename, groktypename_in_parm_context, start_decl,
+ 	push_parm_decl, grokfield, start_function): Update calls to
+ 	grokdeclarator.
+ 	(check_bitfield_type_and_width): New function.
+ 	(finish_struct): Move bit-field validation to grokdeclarator
+ 	and check_bitfield_type_and_width.
+ 
+ 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR bootstrap/13386
+ 	* configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
+ 	using HP native linker.
+ 	* configure: Rebuilt.
+ 
+ 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/13275
+ 	* c-common.h (enum rid): Add RID_OFFSETOF.
+ 	* c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
+ 	* ginclude/stddef.h (offsetof): Reimplement for C++, using
+ 	__offsetof__.
+ 	* doc/extend.texi: Document __offsetof__.
+ 
+ 2003-12-16  Stan Cox  <scox@redhat.com>
+ 
+ 	* config/iq2000/iq2000.h: Formatting.
+ 	(MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
+ 	(ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
+ 	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
+ 	* config/iq2000/iq2000.c: Formatting.
+ 	(iq2000_rtx_costs): New.
+ 
+ 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (addsi3_carryin_shift): Add missing register constraints.
+ 
+ 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
+ 	pass with -pthread on FreeBSD systems.
+ 
+ 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_file_end): Only write symbols that have
+ 	been referenced at some point.
+ 
+ 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c: Include langhooks.h
+ 	(mips_build_builtin_va_list): Use lang_hooks.types.make_type.
+ 
+ 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13313
+ 	* combine.c (make_extraction) [REG]: Do not use
+ 	gen_lowpart_for_combine when POS is non-zero.
+ 
+ 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* altivec.h (vec_cmple, vec_all_numeric): Fix typo.
+ 	* testsuite/gcc.dg/altivec-10.c: Test for above.
+ 
+ 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* Makefile.in (CPPFLAGS): Initialize from configure.
+ 
+ 2003-12-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/13400
+ 	* ifcvt.c (noce_process_if_block): Disable unconditional write
+ 	optimizations if we could introduce a store to trapping memory
+ 	that wasn't present previously.
+ 
+ 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (DEFAULT_CALLER_SAVES): Poison.
+ 	* toplev.c (flag_caller_saves): Always initialize with 0.
+ 	* doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
+ 
+ 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* flow.c (EXIT_IGNORE_STACK): Move to ...
+ 	* defaults.h (EXIT_IGNORE_STACK): ... here.
+ 	* dojump.c (clear_pending_stack_adjust): Don't use #ifdef
+ 	EXIT_IGNORE_STACK.
+ 	* function.c (expand_function_end): Likewise.
+ 	* global.c (global_alloc): Likewise.
+ 	* ra.c (init_ra): Likewise.
+ 	* reload1.c (init_elim_table): Likewise.
+ 	* reorg.c (fill_simple_delay_slots): Likewise.
+ 	* resource.c (init_resource_info): Likewise.
+ 	* doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
+ 	is 0.
+ 
+ 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* reload.c (reg_overlap_mentioned_for_reload_p):
+ 	When looking at a PLUS in X, avoid spuriously returning nonzero
+ 	when IN is a REG or another simple PLUS, or a MEM containing one.
+ 
+ 	* loop.c (loop_invariant_p): Amend comment about where new registers
+ 	might come from.
+ 
+ 2003-12-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
+ 	handling of obsolete language CHILL.
+ 
+ 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+ 
+ 	* tree.c (initializer_zerop): Add test for empty set.
+ 	* integrate.c (function_cannot_inline_p): Forbid inlining
+ 	functions calling `longjmp'.
+ 
+ 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/11773
+ 	* doc/gcov.texi (Gcov and Optimization): Document inline function
+ 	behaviour. Fix some file suffixes.
+ 
+ 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
+ 
+ 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (c_parse_error): Declare it.
+ 	* c-common.c (c_parse_error): New function.
+ 	* c-parse.y (yyerror): Use it.
+ 
+ 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/13054
+ 	* pa-protos.h (indexed_memory_operand, borx_reg_operand,
+ 	move_dest_operand, move_src_operand): New protypes.
+ 	(basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
+ 	* pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
+ 	move_src_operand): New functions.
+ 	(basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
+ 	(reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
+ 	address until cse is not expected on targets with non-equivalent
+ 	space registers.
+ 	(hppa_legitimize_address): Canonicalize unscaled indexed addresses
+ 	on targets non-equivalent space registers.
+ 	(emit_move_sequence): Break out indexed addresses from destination
+ 	operand.  Similarly, break out unscaled indexed addresses from
+ 	source operand on targets with non-equivalent space registers.  Fix
+ 	REG_POINTER flag when possible.  Mark register pointer when creating
+ 	new pointers.
+ 	(print_operand): Handle unscaled index addresses.
+ 	* pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
+ 	for EXTRA_CONSTRAINT.
+ 	(EXTRA_CONSTRAINT): Rework to make more readable.
+ 	(MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
+ 	subroutines for GO_IF_LEGITIMATE_ADDRESS.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
+ 	and unscaled addresses.  Canonicalize unscaled indexed addresses on
+ 	targets with non-equivalent space registers.  Document issues in
+ 	handling indexed address modes on PA-RISC.
+ 	(PREDICATE_CODES): Update for new and deleted predicates.
+ 	* pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
+ 	Use new predicates in move patterns.
+ 	Add peephole2 patterns to optimize floating point stores.  Fix
+ 	constrain preferencing in move patterns.  Delete patterns for handling
+ 	unscaled indexed memory loads.  Add missing load and store with
+ 	base-register modification patterns.  Correct SFmode floating point
+ 	store pattern.  Add missing zero extension loads.
+ 
+ 2003-12-13  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
+ 	comes in with ggc.h.  Add a new bool field `dead'.
+ 	(destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
+ 	set the `dead' flag for the dead zone.  Wrap a sanity check in
+ 	ENABLE_CHECKING.
+ 	(ggc_collect_1): Always mark and sweep if a zone has the `dead'
+ 	flag set.
+ 	(ggc_collect): Free dead zones after collecting.
+ 
+ 2003-12-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* coverage.c (get_coverage_counts):  Use inform instead of warning
+ 	about missing profile.
+ 
+ 2003-12-12  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (opts.o, explow.o): Depend on langhooks.h
+ 
+ 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
+ 	<powerpc-*-darwin*>: Likewise.
+ 
+ 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
+ 	br_loc[7].  Update comment.
+ 	(MD_HANDLE_UNWABI): Define.
+ 	* config/ia64/unwind-ia64.c (struct unw_state_record): Add
+ 	unwabi field.
+ 	(struct _Unwind_Context): Increase br_loc array size to 8 entries.
+ 	(desc_abi): Set unwabi.
+ 	(uw_update_reg_address): Allow br up to 7.
+ 	(uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
+ 	(uw_install_context): Load b1..b5 from correct locations.
+ 	Fix insn loading ar.fpsr.
+ 	* doc/tm.texi: Document MD_HANDLE_UNWABI.
+ 
+ 2003-12-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/13037
+ 	* loop.c (update_giv_derive): Ignore redundant sets of a biv when
+ 	calculating how to derive a giv from a biv.
+ 
+ 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/12935 preprocessor/12952 preprocessor/13046
+ 	* cpplib.c (prepare_directive_trad): Clear skipping only in
+ 	#if and #elif directives.
+ 	(do_undef): Call the handler even if the identifier is not a macro.
+ 	* cpptrad.c (scan_parameters): Emit an error message.
+ 	(_cpp_create_trad_definition): Remember the params list even on
+ 	failure.
+ 
+ 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
+ 	to inline functions: arm_arm_address_cost, arm_thumb_address_cost
+ 	respectively.
+ 	(arm_address_cost): Use 'em.
+ 
+ 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
+ 	__STDC_VERSION__ to ISO C94 for C++.
+ 
+ 	* fixinc/inclhack.def (alpha_wchar): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/wchar.h: New file.
+ 
+ 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
+ 	required by C++ ABI for Itanium.
+ 	* config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
+ 	* config/t-libunwind-no-eh: New file.
+ 	* configure.in: Check libunwind for _Unwind_Resume() and if it's
+ 	present, set libunwind_has_eh_support to "yes".
+ 	* configure: Regenerate.
+ 	* config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
+ 	set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
+ 
+ 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_global_pointer): Force functions with
+ 	a nonlocal goto to set up $gp.
+ 
+ 2003-12-11  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/13132
+ 	* function.c (gen_mem_addressof): When no decl, explicitly clear flag
+ 	bits.
+ 
+ 2003-12-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/m32r/m32r.c: Convert to ISO-C
+ 
+ 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* doc/invoke.texi: Replace Mitsubishi with Renesas.
+ 	* config/m32r/m32r.h: Ditto.
+ 	* config/m32r/m32r.c: Ditto.
+ 	* config/m32r/m32r.md: Ditto.
+ 
+ 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
+ 	(BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
+ 	(basic_block_def): Rename `head' to `head_' and `end' to `end_'.
+ 	(BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
+ 	fields of a basic block.
+ 	* bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
+ 	cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
+ 	cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
+ 	final.c, flow.c, function.c, gcse.c, global.c, graph.c,
+ 	haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
+ 	loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
+ 	ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
+ 	regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
+ 	sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
+ 	config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
+ 	accessing the `head' and `end' fields of a basic block directly.
+ 
+ 	* gengtype.c: Teach about "void**" pointers and "void *" function
+ 	types.  Fixes earlier commit.
+ 
+ 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/extend.texi (Vector Extensions): Document that bitwise
+ 	operations also work on vectors.
+ 
+ 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md: New split patterns for optimizing bitfield accesses.
+ 
+ 2003-12-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* README.Portability: Remove K+R section.
+ 
+ 	* gengtype-lex.l: Teach about "void**" pointers and
+ 	"void*" function types.
+ 
+ 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/13354
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
+ 	manually if one can do that with only one instruction.
+ 
+ 2003-12-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc (arm-linux): Include linux.h in tm_file so that
+ 	LINUX_TARGET_OS_CPP_BUILTINS is defined.
+ 	* config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
+ 
+ 2003-12-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
+ 
+ 2003-12-09  Matt Austern  <austern@apple.com>
+ 
+ 	PR c/13134
+ 	* c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
+ 
+ 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h: Add support for m32r2 processor.  Including
+ 	a new command line option -m32r2 to select it.
+ 	* config/m32r/m32r.c: Add support for the new processor variant.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/m32r/t-m32r: Add m32r2 multilibs.
+ 	* doc/invoke.texi: Document the new command line switch.
+ 
+ 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (LOCAL_REGNO): Give the default definition.
+ 	* flow.c (LOCAL_REGNO): Remove.
+ 	* reload1.c (LOCAL_REGNO): Likewise.
+ 
+ 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR target/11848
+ 	* rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
+ 	in floating-point registers between TFmode and DImode.
+ 	* rs6000.c (rs6000_emit_move): Split moves early.
+ 	(secondary_reload_class): Random Whitespace Change.
+ 	(rs6000_split_multireg_move): Support moves involving FP registers.
+ 	Emit instructions directly.
+ 	* rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
+ 	* altivec.md: Update for changes to rs6000_split_multireg_move.
+ 	* rs6000.md: Update for changes to rs6000_split_multireg_move.
+ 	(movtf_internal): Support moves to/from GPRs.
+ 
+ 2003-12-08  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* config/i386/i386.md: Typo in split of fp-valued if_then_else.
+ 
+ 2003-12-08  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/13132
+ 	* expmed.c (extract_bit_field): Only call mode_for_size for scalar
+ 	integer modes.
+ 
+ 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
+ 	directory.
+ 
+ 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
+ 	by using match_scratch.
+ 	(negdi2): New.
+ 
+ 2003-12-08  Jason Merrill <jason@redhat.com>
+ 	    Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	PR debug/11114
+ 	Support namespaces in DWARF 2 output.
+ 	* dwarf2out.c (gen_namespace_die): New function.
+ 	(force_namespace_die, setup_namespace_context): New fns.
+ 	(declare_in_namespace): New fn.
+ 	(gen_decl_die): Call declare_in_namespace.  Handle namespaces.
+ 	(dwarf2out_decl): Handle namespaces.
+ 	(scope_die_for): Pass through a namespace scope.
+ 	(class_scope_p): Rename to class_or_namespace_scope_p.
+ 	(gen_subprogram_die, gen_variable_die): Adjust.
+ 	(gen_struct_or_union_die): Always emit a declaration
+ 	if context_die is a namespace.
+ 
+ 2003-12-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* unwind-pe.h (read_uleb128): Fix handling of large values
+ 	(read_sleb128): Fix handling of large values
+ 
+ 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/10060
+ 	* emit-rtl.c (copy_rtx_if_shared): Split out into ...
+ 	(copy_rtx_if_shared_1): here and optimize the last one
+ 	in the sequence into tail-recursion.
+ 	(reset_used_flags): Optimize the last one
+ 	in the sequence into tail-recursion.
+ 
+ 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
+ 	for constant X.
+ 
+ 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* calls.c (expand_call): Don't try using tail or recursive calls
+ 	after the function body has been expanded.
+ 
+ 2003-12-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
+ 
+ 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
+ 
+ 	PR ada/13324, PR ada/12614
+ 	* doc/install.texi: Update requirements for building Ada.
+ 
+ 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
+ 	    Graham Reed <greed@pobox.com>
+ 
+ 	* collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
+ 	(GCC_UNDEF_SYMBOL): Same.
+ 
+ 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
+ 	* system.h (FINAL_PRESCAN_LABEL): Poison.
+ 	* doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
+ 
+ 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
+ 
+ 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
+ 	* configure: Regenerate with autoconf 2.13.
+ 
+ 	* configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
+ 	with modern equivalents.
+ 	* configure: Regenerate.
+ 
+ 	* configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
+ 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
+ 	* configure: Regenerate.
+ 
+ 	* configure: Regenerate with (preferred) autoconf 2.57.
+ 	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
+ 
+ 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12965
+ 	* caller-save.c (save_call_clobbered_regs): Do not save/restore
+ 	registers around no-return calls.
+ 
+ 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Make minimum necessary changes for autoconf 2.5x.
+ 	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
+ 	* configure: Regenerate with autoconf 2.58.
+ 
+ 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13318
+ 	* loop.c (express_from): Protect integer division from overflow.
+ 
+ 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13060
+ 	* function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
+ 	replacement already exists.  Fix again the whole insn if that fails.
+ 
+ 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (macho_branch_islands): Use
+ 	HOST_WIDE_INT_PRINT_UNSIGNED.
+ 
+ 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* varasm.c (incorporeal_function_p): New.
+ 	(assemble_external): Use it as a filter.
+ 	* config/mips/mips.c (mips_output_external): Don't check for builtin
+ 	functions here.
+ 
+ 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
+ 
+ 	* arm.md (IOR (COMPARISON) (AND)): New define_splits.
+ 
+ 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (program_transform_cross_name): Delete.
+ 	(GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
+ 	(PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
+ 	(AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
+ 	(install_cpp, install_driver, install-man, uninstall): Likewise.
+ 
+ 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR 13169
+ 	* basic-block.h (PROP_ASM_SCAN): Define.
+ 	* final.c (regs_asm_clobbered): New array.
+ 	* regs.h (regs_asm_clobbered): Declare.
+ 	* flow.c (life_analysis): Init it.
+ 	(mark_set_regs): Set PROP_ASM_SCAN for asms.
+ 	(mark_set_1): Set regs_asm_clobbered.
+ 	* global.c (global_alloc): Don't set eliminable_regset when
+ 	regs_asm_clobbered.
+ 
+ 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
+ 
+ 	PR c++/13314
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
+ 
+ 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	PR driver/13211
+ 	* gcc.c (execute) Increment execution_count when returning
+ 	early because verbose_only_flag is true.
+ 
+ 2003-12-05  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cppfiles.c (file_hash_hash):  New static function.
+ 	(hash_string_eq):  Renamed static function to file_hash_eq.
+ 	(_cpp_init_files):  Create file_hash table with above callbacks.
+ 	(cpp_included):  Must use htab_find_with_hash insead of htab_find.
+ 	(_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
+ 
+ 2003-12-05  Per Bothner  <pbothner@apple.com>
+ 
+ 	* line-map.h (source_location):  New typedef.
+ 	(fileline):  Redefined as source_location.
+ 	(struct line_map, linemap_add, linemap_lookup):  Replace filefile
+ 	by source_location.
+ 	* line-map.c (linemap_add, linemap_lookup):  Use source_location.
+ 
+ 2003-12-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
+ 	field to suppress -Wpadded warnings.
+ 
+ 2003-12-05  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
+ 
+ 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
+ 	    J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR target/13302
+ 	* sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
+ 
+ 2003-12-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* dojump.c (do_jump): If the expression being compared against
+ 	zero, is the subreg of a promoted variable, perform the comparison
+ 	in the promoted mode.
+ 	* simplify-rtx.c (simplify_unary_operation): Optimize sign and
+ 	zero-extensions of subregs of promoted variables where the
+ 	extension is identical to that used to promote the variable.
+ 
+ 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/13256
+ 	* resource.h (enum mark_resource_type): Remove member MARK_DEST.
+ 	The only user changed as follows:
+ 	* resource.c (mark_set_resources) <case SET>: Always recurse for
+ 	SET_SRC (x).
+ 	<case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
+ 	operands.
+ 	<case STRICT_LOW_PART>: Delete, deferring to default code.
+ 
+ 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
+ 
+ 	* stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
+ 	and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
+ 
+ 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_expand_call): Don't allow laziy binding
+ 	for n32 & n64 abicalls.
+ 
+ 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/13145
+ 	* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
+ 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
+ 	(mips_load_got): Always create a constant MEM.
+ 	(mips_expand_call): Use load_callsi and load_calldi.
+ 	* config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
+ 	(load_callsi, load_calldi): New patterns.
+ 
+ 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
+ 
+ 	* tree.def (PLACEHOLDER_EXPR): Clarify commentary.
+ 
+ 2003-12-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/d30v/d30v-protos.h , config/d30v/d30v.c,
+ 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+ 	config/fr30/fr30-protos.h, config/fr30/fr30.c,
+ 	config/i370/i370-protos.h, config/i370/i370.c,
+ 	config/i960/i960-protos.h, config/i960/i960.c,
+ 	config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
+ 	config/m32r/m32r-protos.h, config/m32r/m32r.c,
+ 	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
+ 	config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
+ 	Convert to ISO C90 function declarations and definitions.
+ 
+ 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/extend.texi (Constructing Calls): Add warning about
+ 	the limitations of the functions.
+ 
+ 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/11151
+ 	* function.h (struct function): New field 'x_naked_return_label'.
+ 	* function.c (free_after_compilation): Set it to NULL.
+ 	(expand_function_end): Emit 'naked_return_label' if it exists.
+ 	* rtl.h (expand_naked_return): Declare.
+ 	* stmt.c (expand_naked_return): New function to generate a
+ 	jump to 'naked_return_label'.
+ 	* builtins.c (expand_builtin_return): Call expand_naked_return
+ 	instead of expand_null_return.
+ 	* config/sparc/sparc.md (untyped_return): Likewise.
+ 
+ 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/11322
+ 	* config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
+ 
+ 	PR target/12467
+ 	* config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
+ 
+ 2003-12-04  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* rs6000.c (output_call, macho_branch_islands,
+ 	add_compiler_branch_island, no_previous_def, get_previous_label)
+ 	Revisions of xx_stub functions for branch islands,
+ 	add -fPIC support for Darwin.
+ 	* rs6000-protos.h (output_call) Prototype.
+ 	* rs6000.md Use output_call.
+ 	* invoke.texi Explain Darwin semantics of -longcall.
+ 	* testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
+ 
+ 2003-12-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (addqi3_carry): Use q not r constraints.
+ 	(subqi3_carry): Likewise.
+ 
+ 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR optimization/13260
+ 	* sh-protos.h (sh_expand_t_scc): Declare.
+ 	* sh.h (PREDICATE_CODES): Add cmpsi_operand.
+ 	* sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
+ 	* sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
+ 	something that is not a CONST_INT, copy it into a pseudo register.
+ 	(subc): Fix description of new T value.
+ 	(slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
+ 	(sltu, sleu, sgeu): Likewise.
+ 	(seq, sne): Likewise. Use sh_expand_t_scc.
+ 
+ 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Generalize the CONFIG_HEADERS pattern under which
+ 	we stamp cstamp-h.
+ 	* configure: Regenerate.
+ 
+ 	* configure.in: Pull AC_CHECK_HEADER call out of shell if statement
+ 	to avoid trouble when updating to autoconf 2.5x.
+ 	* configure: Regenerate (with autoconf 2.13 still).
+ 
+ 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (truncdiqi2): Use andi opcode for immediate.
+ 	(reload_outdf+1,reload_outdf+2): Remove constraints.
+ 	(movv16sf_i): Fxi multiplier for SUBREG_BYTE.
+ 	(movv8qi_i+2): Zero-extend low byte before adding it to high byte.
+ 	(fipr, ftrv): Add .s suffix to opcode.
+ 
+ 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/13186
+ 
+ 	Revert all of the following patch, except the addition of
+ 	hook_bool_machine_mode_true:
+ 
+ 	2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (targhooks.o, reload.o): Update dependencies.
+ 	(GTFILES): Add targhooks.c.
+ 	(gt-targhooks.h): New rule; depend on s-gtype.
+ 	* target.h (direct_pool_load_p): New hook.
+ 	* target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* targhooks.h (default_direct_pool_load_p): Declare.
+ 	(hook_bool_machine_mode_true): Declare.
+ 	* targhooks.c: Include insn-config.h, recog.h, ggc.h and
+ 	gt-targhooks.h.
+ 	(pool_symbol): New variable.
+ 	(default_direct_pool_load_p): New function.
+ 	(hook_bool_machine_mode_true): New function.
+ 	* reload.c: Include target.h.
+ 	(find_reloads): If an alternative will force a constant into memory,
+ 	count an extra reload if constant pool symbols are not valid
+ 	addresses.  If an alternative uses memory to move values between
+ 	registers, count the move as two reloads rather than one.
+ 	* config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
+ 	* doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
+ 
+ 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
+ 	* config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
+ 	HAVE_AS_TLS is true.
+ 	* config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
+ 
+ 2003-12-03  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
+ 
+ 	* gcc-page.c (extra_order_size_tab): Correct comment.
+ 
+ 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
+ 	instead of gen_push_h8300hs.
+ 	(pop): Call gen_pop_h8300hs_advanced instead of
+ 	gen_pop_h8300hs.
+ 	* config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
+ 	* config/h8300/h8300.md (*tablejump_h8300hs_advanced):
+ 	Tighten the predicate.
+ 	(*tablejump_h8300hs_normal): Tighten the predicate.
+ 	(push_h8300hs): Change to
+ 	push_h8300hs_advanced.
+ 	(pop_h8300hs): Change to pop_h8300hs_advanced.
+ 
+ 2003-12-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* rtl.c: Fix typo.
+ 	* config/mips/mips.h: Ditto. Fix formatting.
+ 
+ 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* future.options: Remove. Move to gnu.org web pages.
+ 
+ 2003-12-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
+ 	from here...
+ 	* c-tree.h: to here.
+ 
+ 2003-12-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR optimization/12324
+ 	* toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
+ 	in unit-at-a-time mode.
+ 
+ 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (store_constructor): Only set RTX_UNCHANGING_P for
+ 	read-only field if cleared is 0.
+ 
+ 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Mark obsolete targets for GCC 3.4.
+ 
+ 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
+ 	* config.in, configure.in: Regenerate.
+ 	* cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
+ 	including iconv.h.
+ 
+ 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/11229
+ 	* cse.c (cse_insn): Set classp using src_const_elt if
+ 	src_eqv_elt is NULL.
+ 
+ 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* gcse.c (reg_clear_last_set): New function.
+ 	(reg_set_info): If data is non-null, treat it as an sbitmap of
+ 	registers, set the bit for the register being set.
+ 	(compute_store_table): Allocate last_set_in with xcalloc.  Do not
+ 	memset this array on each iteration.  Pass reg_set_in_block[bb->index]
+ 	to note_stores while computing last_set_in instead of scanning
+ 	last_set_in after the first pass through the insns.
+ 	Clear last_set_in using reg_clear_last_set instead of explicitly
+ 	rescanning after each insn.  If checking is enabled, assert that
+ 	last_set_in is completely zeroed after each bb has been processed.
+ 
+ 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
+ 
+ 	* df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
+ 	never read-write.
+ 	<REG>: Delete incorrect comment.
+ 	<SET>: Remove 'use_flags' variable.
+ 
+ 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* function.c (assign_parms): Make sure parm PARALLEL combined
+ 	in reg is composed of more than one object and the mode really
+ 	produces a reg.
+ 
+ 2003-12-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Make it 64bit clean.
+ 
+ 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_output_external): Replace checks for
+ 	specific builtin-in functions with a check for DECL_BUILTIN_IN.
+ 
+ 2003-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
+ 	* tree.h (TREE_SET_CODE): Likewise.
+ 	* recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
+ 
+ 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* dbxstclass.h: Rename from this ..
+ 	* xcoff.h: .. to this.
+ 	* xcoffout.c: Include xcoff.h.
+ 
+ 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
+ 
+ 2003-12-01  James Lemke <jim@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
+ 
+ 2003-12-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/11634
+ 	* recog.c (split_insn): Factor test of INSN_P and handling of
+ 	set_noop_p out of here into the two callers.
+ 	(split_all_insns): Add INSN_P test and set_noop_p handling here.
+ 	If deleting a no-op set after reload that has a REG_UNUSED note,
+ 	mark the basic block as changed and recalculate life information.
+ 	(split_all_insns_noflow): Add INSN_P test and set_noop_p handling
+ 	here.
+ 
+ 2003-12-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/12322
+ 	* gcse.c (struct ls_expr): Change type of hash_index from int to
+ 	unsigned int.
+ 	(hash_expr): Document hash_table_size parameter and wrap long line.
+ 	(ldst_entry): Calculate expression's hash_index and record in ptr.
+ 	(trim_ld_motion_mems): Use hash_index to search a single bucket
+ 	instead of scanning the entire hash_table.  Remove the "del" local
+ 	variable and use the equivalent "expr == 0" instead.  Change last
+ 	to be a pointer to the pointer to the current element, to simplify
+ 	and speed-up deleting from a linked list.
+ 
+ 2003-12-01  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/contrib.texi: Update David Mosberger.
+ 
+ 	* doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
+ 	of missing fields.
+ 
+ 	PR target/8407
+ 	* config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
+ 	gen_rtx_REG to create new reg with argument mode.
+ 
+ 2003-12-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* ggc.h (struct alloc_zone): Move forward declaration up.
+ 	(new_ggc_zone): New function prototype.
+ 	(destroy_ggc_zone): Ditto.
+ 	* ggc-simple.c (new_ggc_zone): New function, does nothing.
+ 	(destroy_ggc_zone): Ditto.
+ 	* ggc-page.c (new_ggc_zone): New function, does nothing.
+ 	(destroy_ggc_zone): Ditto.
+ 	* ggc-zone.c (struct page_entry): Fix comment.
+ 	(ggc_alloc_typed): Use a switch statement instead of ifs.
+ 	(new_ggc_zone): New function to set up a new GC zone.
+ 	(destroy_ggc_zone): New function to remove a GC zone.
+ 	init_ggc): Use new_ggc_zone to set up the default zones.
+ 	(ggc_collect): Walk a list of zones, instead of just the
+ 	default zones.  Report statistics using the zone name.
+ 
+ 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
+ 
+ 2003-12-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/12628
+ 	* toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
+ 	* regclass.c (reg_scan): Include allocate_reg_info time in
+ 	TV_REG_SCAN.  Minor clean-ups.
+ 	(reg_scan_update): Minor clean-ups.
+ 
+ 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config.gcc (s390x-ibm-tpf*): Add extra_parts.
+ 
+ 2003-12-01  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
+ 	GR_ARG_FIRST.
+ 
+ 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* common.opt: Remove -fgnu-linker.
+ 	* flags.h: Remove flag_gnu_linker.
+ 	* opts.c: Don't handle OPT_fgnu_linker.
+ 	* toplev.c: Don't initialize flag_gnu_linker.
+ 	Remove gnu-linker entry from f_options.
+ 	* config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
+ 	Don't reset flag_gnu_linker.
+ 	* config/mips/mips.c (override_options): Likewise.
+ 	* doc/invoke.texi: Remove all mention of -fgnu-linker.
+ 
+ 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* ggc-zone.c (ggc_pch_write_object): Calculate object size using
+ 	ggc_get_size (which accounts for large objects properly).
+ 
+ 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	PR optimization/13024
+ 	* toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
+ 	parameter.
+ 	(rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
+ 	declaration.  Rebuild jump labels following local_alloc if necessary.
+ 	(rest_of_compilation): Remove rebuild_label_notes_after_reload
+ 	declaration.  Don't pass rebuild_notes parameter to
+ 	rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
+ 	Don't rebuild jump labels.
+ 
+ 2003-12-01  Jeff Law  <law@redhat.com>
+ 
+ 	* flow.c (count_or_remove_death_notes_bb): New.  Extracted from
+ 	count_or_remove_death_notes.
+ 	(count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
+ 
+ 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* builtins.c (expand_builtin_longjmp): Added two memory clobbers.
+ 
+ 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads_address): Split addresses of type
+ 	(plus (plus (reg) (reg)) (const_int)) only if one register
+ 	is either a valid base register or else one of the stack
+ 	frame related registers (sp/fp/ap).
+ 
+ 2003-12-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* function.c (update_epilogue_consts): Don't use PARAMS.
+ 	* rtl.h (web_main): Ditto.
+ 	* target.h (is_costly_dependence): Ditto
+ 
+ 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/7847
+ 	* expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
+ 	do not recheck that 'op0' is a MEM.  Move comment.  When testing for
+ 	unaligned objects, take also into account the alignment of 'op0' and
+ 	'mode1' if 'op0' is a MEM.
+ 
+ 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
+ 
+ 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Note that fastjar is built with automake 1.7.x
+ 	and autoconf 2.57.
+ 
+ 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
+ 	target_flags directly rather than using TARGET_* defines.
+ 
+ 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* doschk.c: Remove.
+ 
+ 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/12727
+ 	* config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
+ 	on 32-bit big-endian targets.
+ 
+ 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genemit.c (register_constraints): Remove.
+ 
+ 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
+ 	"iordi3"): Insns now use multiple letter constraints.
+ 	("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
+ 	covered by "*movdi_64".
+ 	("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
+ 	covered by "*movsi_zarch" and "*movsi_esa".
+ 	("*movsi_zarch", "*movsi_!zarch"): New insns.
+ 	("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
+ 	by "*andsi3_zarch" and "anddi3".
+ 	("*anddi3_ni"): Insn merged with "anddi3".
+ 	("*andsi3_ni"): Insn merged with "*andsi3_zarch".
+ 	("*andsi3_zarch", "*andsi3_esa"): New insns.
+ 	("*iordi3_oi"): Insn merged with "iordi3".
+ 	("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
+ 	("*iorsi3_zarch", "*iorsi3_esa"): New insns.
+ 
+ 	* config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
+ 	merged to s390_single_part.
+ 	(s390_single_part): New function.
+ 	NOTE: Semantics have changed a bit. Now the value of the part must
+ 	be different from the others to get a non-negative return value.
+ 	(s390_extract_qi, s390_extract_hi): Functions merged to
+ 	s390_extract_part.
+ 	(s390_extract_part, s390_extra_constraint_str,
+ 	s390_const_ok_for_constraint_p): New functions. The L constraint got a
+ 	new meaning and the N constraint was added as a multiple letter
+ 	constraint.
+ 	(s390_extra_constraint): Function deleted.
+ 	(print_operand): New output modifier 'i' and 'j' added.
+ 	All uses of CONST_OK_FOR_LETTER_P were replaced by
+ 	CONST_OK_FOR_CONSTRAINT_P.
+ 
+ 	* config/s390/s390-protos.h: Function prototypes adapted.
+ 	* doc/md.texi: Documentation for new constraint letters added.
+ 
+ 2003-11-30  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
+ 
+ 2003-11-29  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
+ 	instead of in shared_name.
+ 
+ 	* final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
+ 	* reload1.c (reload): Re-add it here.
+ 
+ 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
+ 	set SECTION_WRITE on TARGET_RELOCATABLE.
+ 
+ 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
+ 
+ 2003-11-28  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (MOTOROLA): Move from here...
+ 	* config/m68k/m68k.h (MOTOROLA): ... to here.
+ 	(OUTPUT_JUMP): Use do {...} while (0).
+ 	* config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
+ 
+ 2003-11-28  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
+ 	m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
+ 	MOTOROLA and USE_GAS.
+ 	* config/m68k/rtemself.h (MOTOROLA): Delete.
+ 	* config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
+ 	* config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
+ 
+ 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
+ 
+ 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (install-info): Install gccinstall.info too.
+ 
+ 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
+ 
+ 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movhi"): Do not emit extender pattern
+ 	when loading from a (MEM (ADDRESSOF ...)).
+ 	("movqi"): Likewise.
+ 
+ 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/10333
+ 	* c-parse.in (typespec_reserved_nonattr): Reject typeof on
+ 	bit-fields.
+ 
+ 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* stmt.c (expand_asm_operands): Check whether force_const_mem
+ 	succeeded.
+ 
+ 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
+ 	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
+ 
+ 	* config/alpha/gnu.h, config/alpha/linux.h,
+ 	config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
+ 	config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
+ 	config/i386/linux-aout.h, config/i386/linux.h,
+ 	config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
+ 	config/m68k/uclinux.h, config/mips/linux.h,
+ 	config/mn10300/linux.h, config/pa/pa-linux.h,
+ 	config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
+ 	config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
+ 	HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
+ 	all necessary assertions are included.
+ 
+ 2003-11-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (set_used_flags): New.
+ 	(verify_rtx_sharing, verify_rtl_sharing): New.
+ 	(unshare_all_rtl_1): Rename to....
+ 	(unshare_all_rtl_in_chain): ... this one; make static.
+ 	(copy_rtx_if_shared): LABEL_REF chan be shared.
+ 	* ifcvt.c (unshare_ifcvt_sequence): New.
+ 	(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
+ 	noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
+ 	noce_try_abs, noce_process_if_block, find_cond_trap
+ 	* rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
+ 	Declare.
+ 
+ 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Fix a comment typo.
+ 
+ 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*movsf_h8300h): Change to
+ 	*movsf_h8300hs.
+ 	(addsi_h8300): Change to *addsi_h8300.
+ 	(addsi_h8300h): Change to *addsi_h8300hs.
+ 	(subsi3_h8300): Change to *subsi3_h8300.
+ 	(subsi3_h8300h): Change to *subsi3_h8300hs.
+ 	(neghi2_h8300h): Change to *neghi2_h8300hs.
+ 	(negsi2_h8300h): Change to *negsi2_h8300hs.
+ 
+ 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
+ 	constraint.
+ 	(*subhi3_h8300hs): Likewise.
+ 
+ 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (MASK_MFCRF): New.
+ 	(TARGET_MFCRF): Test target_flags, not processor type.
+ 	(TARGET_SWITCHES): Add mfcrf and no-mfcrf.
+ 	Change Don't to Do not.
+ 	* config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
+ 	to power4, 970, G5.
+ 
+ 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cse.c (cse_set_around_loop): When changing a constant load
+ 	to a register -register copy, add a REG_EQUAL note.
+ 
+ 2003-11-27  Randolph Chung  <tausq@debian.org>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (hppa_profile_hook): Split gen_call_profiler into separate
+ 	insns.  Use the regular call expander for the call to the profiler.
+ 	* pa.md (call_profiler): Delete.
+ 	(load_offset_label_address): New insn to load the address of the
+ 	current function for the profiler.
+ 	(lcla1, lcla2): New insns to output a code label and load its address.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* final.c (final_scan_insn): Remove commented-out code.
+ 
+ 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Remove ADAC reference and make accurate.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
+ 	(FUNCTION_VALUE_REGNO_P): Likewise.
+ 	* config/h8300/h8300.md: Define R0_REG.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Fix formatting.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Give names to anonymous insns.
+ 
+ 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (extendqisi2): Remove constraints.
+ 
+ 2003-11-27  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
+ 
+ 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13041
+ 	* final.c (frame_pointer_needed): Fix comment.
+ 	* reload1.c (reload): Decrease alignment of the frame
+ 	pointer if it was used for register allocation.
+ 
+ 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12900
+ 	* reg-stack (move_for_stack_reg): New prototype.  Return
+ 	whether a control flow insn was deleted.
+ 	(subst_stack_regs_pat): Likewise, using the information provided
+ 	by move_for_stack_reg.
+ 	(subst_stack_regs): Likewise, using the information provided
+ 	by subst_stack_regs_pat.
+ 	(convert_regs_1): Record whether a control flow insn was deleted,
+ 	using the information provided by subst_stack_regs.  Purge dead
+ 	edges only if a control flow insn was deleted.
+ 
+ 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/8028
+ 	PR middle-end/9890
+ 	PR middle-end/11151
+ 	PR middle-end/12210
+ 	PR middle-end/12503
+ 	PR middle-end/12692
+ 	* builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
+ 	as the base address to copy the memory arguments to.
+ 
+ 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
+ 	function aliases as functions.
+ 
+ 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
+ 	of ADAC.
+ 	* configure: Regenerate.
+ 
+ 	* Makefile.in: Remove references to ADAC.
+ 
+ 	* configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
+ 	* configure: Regenerate.
+ 
+ 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	PR target/6466
+ 	* config/sparc/sparc-protos.h (compute_frame_size): New prototype.
+ 	(sparc_flat_compute_frame_size): Likewise.
+ 	(sparc_flat_save_restore): Move prototype...
+ 	* config/sparc/sparc.c (sparc_flat_save_restore): ...here.
+ 	(save_regs): New prototype.
+ 	(build_big_number): Likewise.
+ 	(apparent_fsize): Change type to HOST_WIDE_INT.
+ 	(actual_fsize): Likewise.
+ 	(frame_base_offset): Likewise.
+ 	(build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
+ 	Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
+ 	[TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
+ 	to load a 64-bit constant.
+ 	(sparc_nonflat_function_prologue): Change string descriptor to
+ 	HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
+ 	(output_restore_regs): Change offset type to HOST_WIDE_INT.
+ 	(sparc_nonflat_function_epilogue): Change string descriptor to
+ 	HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
+ 	(output_sibcall): Change size type to HOST_WIDE_INT.  Use
+ 	build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
+ 	(sparc_frame_info): Change types for several components.
+ 	(sparc_flat_compute_frame_size): Update types according to previous
+ 	change.
+ 	(sparc_flat_function_prologue): Change string descriptor to
+ 	HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
+ 	build_big_number.
+ 	(sparc_flat_function_epilogue): Change offset type to int.
+ 	Rename 'size1' into 'reg_offset1'.  Change string descriptor to
+ 	HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
+ 	limit to 4096 instead of 4095.
+ 
+ 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
+ 	HOST_WIDE_INT.
+ 
+ 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
+ 
+ 	* function.c: Make outer_function-chain external.
+ 	* function.h: Likewise.
+ 
+ 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
+ 	using GNU ld.
+ 	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
+ 	whole of the previous STARTFILE_SPEC except crtbegin.o%s.
+ 	(IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
+ 	(SUBTARGET_EXTRA_SPECS): Define.
+ 	* config/mips/iris6gld.h (LINK_SPEC): Change -init function
+ 	to __gcc_init and -fini function to __gcc_fini.
+ 	(STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
+ 	(ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
+ 	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
+ 	* config/mips/t-iris6gld,
+ 	* config/mips/irix6-crti.asm,
+ 	* config/mips/irix6-crtn.asm: New files.
+ 
+ 2003-11-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR C/13014
+ 	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
+ 	(start_function): Use.
+ 	(c_push_function_context): Ditto.
+ 	(c-pop_function_context): Ditto.
+ 	(language_function): Move...
+ 	* c-tree.h: ... here. Add x_in_iteration_stmt, and
+ 	x_in_case_stmt.
+ 	* c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
+ 	c_in_iteration_stmt, c_in_case_stmt for parser state. Move
+ 	check for valid break or continue statment here...
+ 	* c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
+ 	here. Change original errors to abort.
+ 
+ 2003-11-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* fold-const.c (fold):  Do not return early when optimizing
+ 	COMPONENT_REF and constant.
+ 
+ 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (tablejump_h8300): Change to
+ 	*tablejump_h8300.
+ 	(tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
+ 	(tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
+ 	(indirect_jump_h8300): Change to *indirect_jump_h8300.
+ 	(indirect_jump_h8300h): Change to
+ 	*indirect_jump_h8300hs_advanced.
+ 	(indirect_jump_normal_mode): Change to
+ 	*indirect_jump_h8300hs_normal.
+ 
+ 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Remove constraints from expanders.
+ 
+ 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: (stm_h8300s_2): Change the name to
+ 	stm_h8300s_2_advanced.
+ 	(stm_h8300s_2_normal): New.
+ 	(stm_h8300s_2): Likewise.
+ 	(stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
+ 	(stm_h8300s_3_normal): New.
+ 	(stm_h8300s_3): Likewise.
+ 	(stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
+ 	(stm_h8300s_4_normal): New.
+ 	(stm_h8300s_4): Likewise.
+ 	(ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
+ 	(ldm_h8300s_2_normal): New.
+ 	(ldm_h8300s_2): Likewise.
+ 	(ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
+ 	(ldm_h8300s_3_normal): New.
+ 	(ldm_h8300s_3): Likewise.
+ 	(ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
+ 	(ldm_h8300s_4_normal): New.
+ 	(ldm_h8300s_4): Likewise.
+ 	(two peephole2's): Enable only with !TARGET_NORMAL_MODE.
+ 	(two peephole2's): New.
+ 
+ 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* genattrtab.c (simplify_cond): Update indices correctly.
+ 	(attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
+ 	attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
+ 	(check_attr_test, encode_units_mask, compute_alternative_mask,
+ 	make_alternative_compare, simplify_and_tree,
+ 	attr_rtx_cost, simplify_test_exp, gen_attr,
+ 	write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
+ 	* rtl.def (EQ_ATTR_ALT): New.
+ 
+ 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
+ 	(length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
+ 	New variables.
+ 	(main): Initialize them.
+ 	(find_attr): Canonicalize the attribute name string.
+ 	(attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
+ 	string arguments.
+ 	(attr_printf, attr_eq): Use DEF_ATTR_STRING.
+ 	(check_attr_test, check_attr_value, make_length_attrs,
+ 	write_length_unit_log, simplify_by_exploding, gen_attr,
+ 	write_test_expr, write_attr_value, write_eligible_delay,
+ 	write_complex_function, make_internal_attr,
+ 	write_const_num_delay_slots): Changed due to change of type of
+ 	find_attr.
+ 	(fill_attr, evaluate_eq_attr, simplify_and_tree,
+ 	attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
+ 	strcmp_check.
+ 
+ 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/13122
+ 	* config/h8300/h8300.c (push): Call push_h8300hs_normal in
+ 	normal mode.
+ 	(pop): Call pop_h8300hs_normal in normal mode.
+ 	* config/h8300/h8300.md: Likewise.
+ 	(pushqi1_h8300hs_normal): New.
+ 	(pushqi1): Call pushqi1_h8300hs_normal in normal mode.
+ 	(pushhi1_h8300hs_normal): New.
+ 	(pushhi1): Call pushhi1_h8300hs_normal in normal mode.
+ 	(push_h8300hs_normal): New.
+ 	(pop_h8300hs_normal): Likewise.
+ 
+ 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* genattrtab.c (count_sub_rtxs): Removed.
+ 
+ 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* recog.c (preprocess_constraints): Only zero those elements of
+ 	recog_op_alt that are needed for this insn.
+ 	* arm.c (note_invalid_constants): A function can't contain invalid
+ 	constants if it has no constraints.
+ 
+ 2003-11-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (classify_argument): Pass __float128 in memory.
+ 	(ix86_return_in_memory): Likewise.
+ 	(ix86_libcall_value): Likewsie.
+ 
+ 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (dosize): Convert to ISO-C.
+ 
+ 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* flow.c (update_life_info): Amend comment about when a register
+ 	can become dead.
+ 
+ 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/.cvsignore: Delete.
+ 
+ 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* dwarf2out.c (add_location_or_const_value_attribute): Add support
+ 	for PARALLEL.
+ 
+ 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
+ 	(TARGET_LIBGCC2_CFLAGS): Define.
+ 
+ 	* crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
+ 	(__do_global_ctors): Likewise.
+ 
+ 2003-11-21  Mark Wielaard  <mark@klomp.org>
+ 
+ 	* doc/invoke.texi (-O2): Doesn't enable -fweb.
+ 
+ 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Mention dV and dZ.
+ 
+ 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Update dump file names.
+ 	Remove de, dW, and dX.
+ 
+ 2003-11-20  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR c/13133
+ 	* reload1.c (reload): Delete special handling for setjmp.
+ 
+ 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* mklibgcc.in: Evaluate shlib_slibdir_qual during link
+ 	step too.
+ 	* config/t-slibgcc-darwin: Adjust install path.
+ 	* config/rs6000/t-darwin: Revert multilib matches since
+ 	it is not used on darwin.
+ 
+ 2003-11-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
+ 	* Makefile.in (OBJS-common, GTFILES): Don't reference them.
+ 	(gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
+ 	(ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
+ 	* flow.c: Don't include ssa.h.
+ 	(set_phi_alternative_reg): Remove.
+ 	(calculate_global_regs_live): Don't call it.
+ 	(mark_used_regs): Don't handle PHI.
+ 	* gengtype.c (open_base_files): Don't reference ssa.h.
+ 	* rtl.def (PHI): Remove.
+ 	* timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
+ 	* common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
+ 	* opts.c (common_handle_option): Likewise.
+ 	* toplev.c (f_options): Likewise.
+ 	(DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
+ 	(dump_file): Update to match.
+ 	(flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
+ 	(rest_of_handle_ssa): Remove.
+ 	(rest_of_compilation): Don't call it.
+ 	* toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
+ 	* doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
+ 	* doc/passes.texi (SSA optimizations): Remove.
+ 
+ 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
+ 	* configure: Regenerate.
+ 
+ 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (Makefile): Pass along CONFIG_SHELL.
+ 
+ 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
+ 	(SHLIB_LC): Define.
+ 	* unwind-libunwind.c (_Unwind_GetCFA): Implement.
+ 	(_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
+ 
+ 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* calls.c (expand_call): Allocate new temp in pass1.
+ 	(store_one_arg): If PARALLEL, calculate excess using mode size of
+ 	rtvec elt.
+ 	* expr.c (emit_push_insn): If PARALLEL, calculate offset using
+ 	mode size of rtvec elt.
+ 	* function.c (assign_parms): Use parm in register, if available.
+ 
+ 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (MOVP): Remove.
+ 	(ADDP): Likewise.
+ 	(CMPP): Likewise.
+ 
+ 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (use_return_insn): New argument, SIBLING.  Support returning
+ 	with a single instruction if the stack has been decremented by 4
+ 	and we have a frame pointer.  Update all callers.
+ 	(output_return_instruction): Likewise.
+ 	(arm_output_epilogue): Change argument to SIBLING.  Calculate
+ 	really_return from the new argument.  Update all callers.
+ 	* arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
+ 	* arm.md (sibcall_epilogue): Call use_return_insn directly, and
+ 	pass the sibling call.
+ 	* arm-protos.h (use_return_insn, arm_output_epilogue): Update
+ 	prototypes.
+ 
+ 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* Makefile.in (extraclean): Delete.
+ 	* configure.in (target_list): Remove extraclean.
+ 	* configure: Regenerate.
+ 	* doc/makefile.texi, doc/sourcebuild.texi: Update.
+ 	* objc/Make-lang.in (objc.extraclean): Delete.
+ 
+ 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* Makefile.in (lang_checks): Add.
+ 	(check-c++, check-f77, check-java, check-g++, check-g77,
+ 	check-objc): Remove hardcoded targets.
+ 	* doc/sourcebuild.texi: Document testsuite hooks.
+ 	* objc/Make-lang.in (check-objc, lang_checks): Add.
+ 
+ 2003-11-19  Scott Snyder  <snyder@fnal.gov>
+ 
+ 	PR target/13131
+ 	* dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
+ 	flag, not a constant.
+ 
+ 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/arc/arc-protos.h: Update to C90 prototypes.
+ 	* config/arc/arc.c: Likewise.
+ 	* config/arc/initfini.c: Likewise.
+ 
+ 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* stmt.c (expand_goto): Memory clobbers added.
+ 
+ 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): Added missing type casts.
+ 
+ 2003-11-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* combine.c (sets_function_arg_p): Delete unused function.
+ 
+ 2003-11-19  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* reload1.c (reload): Revert 2 previous checkins.
+ 
+ 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* cpptrad.c (_cpp_scan_out_logical_line): Improve test for
+ 	whether directive begins at the beginning of a line.
+ 
+ 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
+ 
+ 2003-11-19  Gerald Pfeifer  <gp@suse.de>
+ 
+ 	* doc/install.texi (Specific): Remove information on old versions
+ 	of glibc versus old versions of GCC.
+ 
+ 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
+ 
+ 	* emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
+ 	the register lowpart is a TRULY_NOOP_TRUNCATION.
+ 
+ 2003-11-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (print_reg): Handle QI and HI modes for
+ 	non Q regs.
+ 
+ 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config/config.gcc (powerpc-*-darwin*): Add libgcc build
+ 	specification file.
+ 	* config/t-slibgcc-darwin: New file, libgcc build specification.
+ 	* config/t-darwin: Add libgcc2 flag -fPIC.
+ 	* config/rs6000/t-darwin: Multilib matches float.
+ 	* libgcc-darwin.ver: New file, contains libgcc symbols.
+ 
+ 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/ns32k/ns32k.h: Remove obsolete comment.
+ 
+ 2003-11-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11821
+ 	* config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
+ 	size for calls to libgcc's div & mod subroutines when using -Os.
+ 
+ 2003-11-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
+ 
+ 2003-11-18  Marc Espie  <espie@openbsd.org>
+ 
+ 	* config/rs6000/sysv4.h: OpenBSD hooks.
+ 
+ 2003-11-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr): Don't look through constant arrays if
+ 	they don't bind locally.
+ 
+ 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
+ 	when seeing if truncation or extension.
+ 
+ 2003-11-17  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* reload1.c (reload): Fix previous change.
+ 
+ 2003-11-17  Scott Snyder  <snyder@fnal.gov>
+ 
+ 	PR debug/11325
+ 	* dwarf2out.c (struct die_struct): Add die_definition field.
+ 	(add_AT_specification): New.
+ 	(gen_subprogram_die, gen_variable_die,
+ 	gen_struct_or_union_type_die): Use it.
+ 	(prune_unused_types_mark): If we're marking a forward declaration,
+ 	also mark the full definition, if it exists.
+ 
+ 2003-11-16  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
+ 	* config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
+ 	Remove prototype.
+ 	* config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
+ 	to xstormy16_build_builtin_va_list and make static.
+ 	(TARGET_BUILD_BUILTIN_VA_LIST): Define.
+ 
+ 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add the prototype for
+ 	same_cmp_following_p.
+ 	* config/h8300/h8300.c (same_cmp_following_p): New.
+ 	* config/h8300/h8300.md (peephole2): Use it.
+ 
+ 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Don't use REGNO when its operand is
+ 	not guaranteed to be a REG.
+ 
+ 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (expr.o): Depend on $(TARGET_H).
+ 	* target.h (return_in_msb): New target hook.
+ 	* target-def.h (TARGET_RETURN_IN_MSB): New macro.
+ 	(TARGET_CALLS): Include it.
+ 	* calls.c (shift_returned_value): New function.
+ 	(expand_call): Use it.
+ 	* expr.c: Include target.h.
+ 	(copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
+ 	deciding what padding is needed.  Change the name of the local
+ 	padding variable from big_endian_correction to padding_correction.
+ 	* stmt.c (shift_return_value): New function.
+ 	(expand_return): Use it.  Adjust memory->register copy in the same
+ 	way as copy_blkmode_from_reg.  Only change the return register's
+ 	mode if it was originally BLKmode.
+ 	* doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
+ 	* config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
+ 	(mips_fpr_return_fields): New, split out from mips_function_value.
+ 	(mips_return_in_msb, mips_return_fpr_pair): New functions.
+ 	(mips_function_value): Rework to use the functions above.
+ 	* config/mips/irix6-libc-compat.c: Delete.
+ 	* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
+ 
+ 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/install.texi (--enable-checking): Update valgrind's URL.
+ 
+ 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Fix warnings by replacing -2147483648
+ 	with -2147483647 - 1.
+ 
+ 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	Fix links in online manuals.
+ 	* doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
+ 	(Precompiled Headers): @pxref to cpp, not cpp.info.
+ 
+ 2003-11-16  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
+ 	files in each directory and TAGS files that include them for each
+ 	front end.
+ 
+ 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
+ 	3 of S2L.
+ 	(modnorm): Likewise.
+ 	(exitdiv): Look at bit 3 of S2L only.
+ 
+ 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
+ 	(DO_GLOBAL_DTORS_BODY): Likewise.
+ 
+ 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/install.texi (Prerequisites): Refine documentation of
+ 	autoconf, automake and perl requirements.  Document required
+ 	gettext version.
+ 
+ <2003-11-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	* function.c (assign_parms): Use TREE_TYPE to determine the real
+ 	type of the argument object.
+ 
+ 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
+ 	iteration.
+ 
+ 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_move_block_from_reg):
+ 	  New routine to save vararg registers on stack. Support for
+ 	  -mpowerpc64 in mixed mode.
+ 
+ 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
+ 	for MOTOROLA versus MIT syntax.  Improves readability and provides
+ 	better compile-time error checking for both code paths.
+ 
+ 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/frv/frv-protos.h: Update for C90.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/frv/frvbegin.c: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	(frv_adjust_field_align): Delete unused variable.
+ 
+ 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
+ 	to each place where TARGET_LONG_DOUBLE_128 is used with
+ 	DEFAULT_ABI == ABI_AIX.
+ 
+ 	* cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
+ 	message comply with GNU standards.
+ 
+ 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	PR/6552
+ 	* function.c (struct epi_info): New field const_equiv.
+ 	(update_epilogue_consts): New function.
+ 	(keep_stack_depressed): Clear new field and verify scratch register
+ 	doesn't have it set.
+ 	Call new function via note_stores.
+ 	(handle_epilogue_set): Allow setting SP equiv reg in different mode.
+ 	Allow PLUS where second operand is register known set to constant.
+ 	(emit_equiv_load): Write load using proper mode if source different.
+ 	* config/mips/mips.md (return_internal): Put (return) first.
+ 
+ 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
+ 
+ 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (modsi3): Don't save unused
+ 	registers.
+ 	(divsi3): Likewise.
+ 	(reti): Don't restore unused registers.
+ 
+ 2003-11-14  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/fr30/fr30.c: Include toplev.h
+ 
+ 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
+ 
+ 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
+ 	function definition syntax.
+ 
+ 2003-11-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* reload1.c (reload): Revert previous patch. Make
+ 	check for assignment into reg_equiv_address stricter.
+ 
+ 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
+ 
+ 	* Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
+ 
+ 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_in_small_data_p): Return false for unknown
+ 	section names.
+ 
+ 2003-11-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/12526
+ 	* tree.c (build): A CALL_EXPR has side-effects if its arguments do.
+ 	* calls.c (call_expr_flags): New fn.
+ 	* tree.h: Declare it.
+ 
+ 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (__udivsi3): Remove.
+ 	(divmodsi3): Change the name to ___udivsi3.
+ 	Update all callers.
+ 
+ 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
+ 	__mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
+ 	__ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
+ 	__udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
+ 	__fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
+ 	__floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
+ 	Const-ify and/or initialize automatic variables at declaration.
+ 
+ 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
+ 	of er4 with er3.  Adjust all callers.
+ 
+ 2003-11-13  Andrew Pinski <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_output_possible_stub_label):
+ 	Allow stub symbol be not defined when outputting possible
+ 	stub label.
+ 
+ 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
+ 	instead of exitdiv.
+ 	(___umodsi3): Likewise.
+ 	(exitdiv): Do not restore any register.
+ 	(reti): Restore registers.
+ 
+ 2003-11-13  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
+ 
+ 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm: Fix comment typos.
+ 
+ 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
+ 	unused registers.  Don't jump to exitdiv.
+ 	(umodsi3): Likewise.
+ 
+ 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
+ 	    Kean Johnston <jkj@sco.com>
+ 
+ 	PR c/13029
+ 	* toplev.c (check_global_declarations): Do not warn about unused
+ 	static consts.
+ 
+ 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
+ 	the approximate quotient method.
+ 
+ 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* combine.c (distribute_notes): When re-distributing the notes from
+ 	an insn we are about to delete, ensure we can't end up with a cyclic
+ 	list of notes.
+ 
+ 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12926
+ 	* expr.c (expand_assignment) [COMPONENT_REF]: Don't put
+ 	the UNCHANGING_RTX_P flag on memory references to read-only
+ 	components that are not addressable.
+ 
+ 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
+ 	DenHighNonZero.
+ 
+ 2003-11-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/12275
+ 	* c-decl.c (finish_decl): Use change_decl_assembler_name.
+ 	* c-pragma.c (handle_pragma_redefine_extname): Likewise.
+ 	* varasm.c (make_decl_rtl): Likewise.
+ 	* cgraph.c (change_decl_assembler_name): New function.
+ 	* tree.h (set_decl_assembler_name): Kill dead declaration.
+ 	(change_decl_assembler_name): Declare.
+ 
+ 	* decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
+ 	* decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
+ 
+ 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
+ 	an unused register.
+ 
+ 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/12752
+ 	* config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
+ 	(MULTILIB_OSDIRNAMES): Reorder accordingly.
+ 
+ 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rs6000-protos.h (rs6000_initial_elimination_offset): Add.
+ 	(rs6000_stack_info): Remove.  (debug_stack_info): Remove.
+ 	(rs6000_emit_eh_reg_restore): Add
+ 	* rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
+ 	of vars_size and total_size to HOST_WIDE_INT.
+ 	(emit_frame_save): Change parameter size to HOST_WIDE_INT.
+ 	(rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
+ 	(debug_stack_info): Make static; change output format of HOST_WIDE_INT
+ 	values.
+ 	(rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
+ 	(rs6000_initial_elimination_offset): New, with code formerly in
+ 	INITIAL_ELIMINATION_OFFSET.
+ 	* rs6000.h (rs6000_stack_t): Remove.
+ 	(INITIAL_ELIMINATION_OFFSET): Replace code with call to function
+ 	rs6000_initial_elimination_offset.
+ 	* rs6000.md (UNSPECV_EH_RR split): Replace code with call to
+ 	rs6000_emit_eh_reg_restore.
+ 
+ 2003-11-12  Mike Stump  <mrs@apple.com>
+ 
+ 	* c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
+ 	is the argumnt we are processing so that warnings and errors
+ 	will have that information.
+ 	* c-tree.h (c_convert_parm_for_inlining): Add argnum.
+ 	* lang-hooks-def.h
+ 	(lhd_tree_inlining_convert_parm_for_inlining): Likewse.
+ 	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
+ 	* langhooks.h (convert_parm_for_inlining): Likewise.
+ 	* tree-inline.c (initialize_inlined_parameters): Compute and
+ 	pass argnum down.
+ 
+ 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/12953
+ 	* tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
+ 	before switch by FUNCTION_CODE.
+ 
+ 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (storehi): Avoid use of explicit subreg.
+ 	(storehi_bigend, storeinthi, movhi_bigend): Likewise.
+ 
+ 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/sh.md (prefetch): New pattern.
+ 
+ 2003-11-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* reload1.c (reload): Verify that addresses for
+ 	reg_equiv_* are valid for the architecture.
+ 
+ 2003-11-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* function.c (purge_addressof_1): Add libcall check.
+ 	Remove test for cached replacements on fallback case.
+ 	Simplify mode comparisons. Add libcall test for
+ 	paradoxical subregs.
+ 
+ 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/t-h8300: Fix an obsolete comment.
+ 
+ 2003-11-11  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* expmed.c (store_bit_field, extract_bit_field): Revert last two
+ 	changes.
+ 
+ 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm: Replace DenHighZero with
+ 	DenHighNonZero.
+ 
+ 2003-11-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_function_possibly_inlined_p): Use
+ 	really_no_inline.
+ 
+ 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
+ 	generating 64-bit code.
+ 
+ 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
+ 	accidental commit in previous change.
+ 
+ 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
+ 	* config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
+ 	address recognition.
+ 	(macho_lo_sum_memory_operand): Routine to recognize macho-style
+ 	address recognition.
+ 
+ 2003-11-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
+ 
+ 2003-11-10  Matt Austern  <austern@apple.com>
+ 
+ 	* config/darwin-protos.h (darwin_assemble_visibility): Declare.
+ 	* config/darwin.c (darwin_assemble_visibility): Define.  Warn for
+ 	anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
+ 	* config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
+ 	darwin_assemble_visibility instead of default.
+ 
+ 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+ 
+ 	PR target/12865
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Call
+ 	__enable_execute_stack only after writing onto the stack.
+ 	(sparc64_initialize_trampoline): Likewise.
+ 
+ 2003-11-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* loop.c (check_dbra_loop): Try swapping the comparison operands
+ 	of the loop condition to identify a suitable induction variable.
+ 	* unroll.c (loop_iterations): Likewise.
+ 
+ 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
+ 	sparc64 #cpu and #machine assertions.
+ 
+ 2003-11-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
+ 
+ 2003-11-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-optimize.c (tree_rest_of_compilation): Fix warning.
+ 
+ 	* cgraphunit.c (cgraph_expand_function): Use
+ 	cgraph_possibly_inlined_p.
+ 	* tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
+ 
+ 	* opts.c (common_handle_option): Do not set max-inline-insns.
+ 	* params.def: Update comments.
+ 	(PARAM_MAX_INLINE_INSNS): Kill.
+ 	* invoke.texi (max-inline-insns): Kill.
+ 
+ 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/3190
+ 	PR c/8714
+ 	* c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
+ 	* invoke.texi: Update.
+ 
+ 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR optimization/12630
+ 	* pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
+ 	Handle length computation 64-bit moves.
+ 	(compute_clrstr_length, output_block_clear): Implement block clear.
+ 	(output_block_move): Handle 64-bit moves.
+ 	(pa_adjust_insn_length): Use compute_movstr_length and
+ 	compute_clrstr_length.
+ 	* pa.md (movstrsi): Revise operand order and comments.  Don't use
+ 	match_scratch.
+ 	(movstrsi_internal): Delete.
+ 	(movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
+ 	and peephole2 patterns to transform prereload to postreload form.
+ 	(movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
+ 	clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
+ 	clrstrdi_postreload): New patterns for 64-bit block move, and block
+ 	clear.
+ 	* pa-protos.h (output_block_clear): New prototype.
+ 
+ 2003-11-08  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
+ 	XCOFF_DEBUGGING_INFO.
+ 
+ 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
+ 
+ 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
+ 	redundant parens.
+ 
+ 	* cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
+ 	(find_file_in_dir): Likewise.
+ 	(_cpp_find_file): Print message if no header file is found
+ 	but an invalid PCH file was.
+ 
+ 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (pedantic_lvalue_warning): Deprecate compound
+ 	expressions as lvalues.
+ 	(internal_build_compound_expr): Remove special handling for
+ 	non-pedantic case.
+ 	* doc/extend.texi: Document that all extended lvalues are now
+ 	deprecated.
+ 
+ 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 11654
+ 	* dbxout.c (struct dbx_file): Do not save for PCH.
+ 	(current_file): Likewise.
+ 	(dbxout_init): Don't allocate struct dbx_file using GC.
+ 	(dbxout_start_source_file): Likewise.
+ 
+ 2003-11-07  Falk Hueffner  <falk@debian.org>
+ 
+ 	* config/alpha/elf.h, config/alpha/unicosmk.h,
+ 	config/alpha/vms.h: Convert to ISO C90.
+ 
+ 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/arm/pe.h: Convert to ISO C90.
+ 
+ 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh-protos.h (sh_pch_valid_p): Declare.
+ 	* sh.c ("intl.h"): Include.
+ 	(TARGET_PCH_VALID_P): Override.
+ 	(sh_target_switches): New variable.
+ 	(target_switches): Define.
+ 	(sh_pch_valid_p): New function.
+ 
+ 	* sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
+ 
+ 2003-11-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_64_sign_extended_value):  Return false from tls variables.
+ 	(x86_64_zero_extended_value):  likewise.
+ 
+ 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (loadgp): Take $25 as a second operand.
+ 	* config/mips/mips.c (mips_expand_prologue): Modify accordingly.
+ 
+ 2003-11-06  Matt Austern <austern@apple.com>
+ 
+ 	* c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
+ 	field instead of hanging an attribute object off the decl.
+ 	* tree.h (DECL_VISIBLITY): New accessor macro for
+ 	symbol_visibility field in struct tree_decl.
+ 	(enum symbol_visibility): Move definition to before tree_decl.
+ 	(struct tree_decl): Define new two-bit field, symbol_visibility.
+ 	(decl_visibility): Remove declaration.
+ 	* varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
+ 	instead of decl_visibility.
+ 	(default_binds_local_p_1):  Use DECL_VISIBILITY	instead of
+ 	decl_visibility.
+ 	(decl_visibility): Remove.
+ 
+ 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_epilogue): Recognize more cases
+ 	where register 14 will be saved.
+ 
+ 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
+ 	(USE_ALTIVEC_FOR_ARG_P): Likewise.
+ 	* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
+ 	Take a pointer as the CUM parameter.  Update callers.
+ 	(USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
+ 	32-bit ABIs.
+ 	(function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
+ 	of vector parameters as named arguments of stdarg function.
+ 	(function_arg): Likewise.
+ 
+ 	* config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
+ 	-maltivec is specified, not the non-existent -faltivec.
+ 
+ 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_function_value): Declare.
+ 	* config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
+ 	(s390_return_in_memory): New function.
+ 	(s390_function_value): New function.
+ 	(s390_function_arg_float): Return false for all arguments larger
+ 	than 8 bytes.
+ 	(s390_function_arg_pass_by_reference): Likewise.  Return true for
+ 	all vector arguments.
+ 	(s390_function_arg_integer): New function.
+ 	(s390_function_arg_advance): Call it.  Add sanity checks.
+ 	(s390_function_arg): Likewise.
+ 	* config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
+ 	(LIBCALL_VALUE): Likewise.
+ 	(RET_REG): Remove.
+ 	(RETURN_IN_MEMORY): Remove.
+ 
+ 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_initial_elimination_offset): Change
+ 	return type to HOST_WIDE_INT.
+ 	* config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
+ 	Make initialized a bool.  Make register masks unsigned ints.
+ 	(compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
+ 	where appropriate.
+ 	(mips_initial_elimination_offset): Return a HOST_WIDE_INT.
+ 	(mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
+ 
+ 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
+ 	negation.
+ 
+ 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
+ 
+ 2003-11-06  Momchil Velikov  <velco@fadata.bg>
+ 
+ 	* config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
+ 	for VR4111 too.
+ 
+ 2003-11-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
+ 	missing casts.
+ 
+ 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c: Change the word "bitsize" to "precision" throughout.
+ 	* machmode.def: Likewise.
+ 	* machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
+ 	(GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
+ 	(GET_MODE_PRECISION): New macro.
+ 	(mode_bitsize): Renamed mode_precision.
+ 	* stor-layout.c (mode_for_size, smallest_mode_for_size):
+ 	Use GET_MODE_PRECISION; clarify comments.
+ 
+ 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/install-old.texi: Remove old documentation of building
+ 	cross-compilers.
+ 	* doc/install.texi: Move some of it to here.
+ 
+ 2003-11-05  Per Bothner  <pbothner@apple.com>
+ 
+ 	PR preprocessor/12891
+ 	* c-opts.c (finish_options):  Set include_cursor to disable premature
+ 	calls to push_command_line_include from cpp_scan_nooutput.
+ 	Fixes bug reported by DJ Delorie.
+ 
+ 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (setup_incoming_varargs): Remove
+ 	code supporting old-style varargs.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
+ 	an intermediate register for better optimisation.
+ 
+ 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR optimization/10080
+ 	* cfgloopanal.c (variable_initial_value, variable_initial_values,
+ 	simple_loop_exit_p): Record the fact that initial value is extended
+ 	from inner mode.
+ 	(count_strange_loop_iterations, count_loop_iterations): Handle
+ 	ivs that iterate in a narrower mode. Fix handling of overflows.
+ 	Improve handling of NE conditions.
+ 	(inverse, fits_in_mode_p): New static functions.
+ 	(simple_increment): Detect variables that iterate in a narrower mode.
+ 	* cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
+ 
+ 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
+ 	error.
+ 
+ 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
+ 	needs VRSAVE.
+ 
+ 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (pedantic_lvalue_warning): Deprecate use of
+ 	conditional expressions as lvalues.
+ 
+ 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tsystem.h: Add the prototype of strlen.
+ 	* unwind-pe.h (read_encoded_value_with_base): Add an
+ 	appropriate cast to handle a case where the pointer size is
+ 	smaller than sizeof (int).
+ 
+ 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
+ 	(mips_delegitimize_address): Delete.
+ 	(mips_gotoff_global, mips_load_got_page): Declare.
+ 	(mips_load_got_global, mips_rewrite_small_data): Declare.
+ 
+ 	* config/mips/mips.h (FIND_BASE_TERM): Remove definition.
+ 	(DANGEROUS_FOR_LA25_P): Use global_got_operand.
+ 	(PREDICATE_CODES): Add global_got_operand, local_got_operand and
+ 	small_data_pattern.  Remove CONST from const_arith_operand's entry.
+ 
+ 	* config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
+ 	(UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
+ 	(mips_constant_type): Delete.
+ 	(mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
+ 	SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
+ 	(NUM_SYMBOL_TYPES): New macro.
+ 	(mips_address_type): Remove ADDRESS_INVALID.
+ 	(machine_function): Add has_gp_insn_p.
+ 	(mips_constant_info): Delete.
+ 	(mips_address_info): Add the address type as an extra field.  Replace
+ 	the c field with symbol_type.
+ 	(mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
+ 	(TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
+ 	(mips_reloc_offset_ok_p, mips_classify_constant): Delete.
+ 	(mips_split_const, mips_symbolic_constant_p): New functions.
+ 	(mips_symbolic_address_p): Take the symbol type and mode as arguments.
+ 	(mips_classify_address): Return true if the address is valid, storing
+ 	its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
+ 	to test whether a LO_SUM address is allowed.
+ 	(mips_symbol_insns): Return 0 for general mips16 symbols.
+ 	Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
+ 	Handle the new SYMBOL_GOTOFF_*s.
+ 	(mips_address_insns): Update call to mips_classify_address.
+ 	(mips_const_insns): Be more fussy about HIGH constants.  Remove use
+ 	of mips_classify_constant.  Be more accurate about CONSTs.
+ 	(mips_global_pic_constant_p): Delete.
+ 	(const_arith_operand): Only accept CONST_INTs.
+ 	(call_insn_operand): Remove call to mips_classify_constant.
+ 	Let mips_symbolic_constant_p check for invalid offsets.
+ 	(move_operand): Check for general_operands first.  Only accept symbolic
+ 	constants if they satisfy mips_symbolic_constant_p and cannot be split.
+ 	(symbolic_constant): Use mips_symbolic_constant_p.
+ 	(global_got_operand, local_got_operand): New predicates.
+ 	(stack_operand): Update call to mips_classify_address.
+ 	(mips_legitimate_address_p): Likewise.
+ 	(mips_reloc, mips_lui_reloc): Delete.
+ 	(mips_force_temporary): Only use the given temporary if no_new_pseudos.
+ 	Use emit_move_insn.
+ 	(mips_split_symbol, mips_unspec_address): New functions.
+ 	(mips_unspec_offset_high): New function.
+ 	(mips_load_got): Replace reloc argument with a symbol_type.
+ 	Use mips_unspec_address to create the address and put it in a
+ 	LO_SUM with the base register.
+ 	(mips_load_got16, mips_load_got32): Delete.
+ 	(mips_emit_high, mips_legitimize_symbol): Delete.
+ 	(mips_gotoff_global): New function.
+ 	(mips_load_got_page, mips_load_got_global): New functions.
+ 	(mips_legitimize_symbol): Inline handling of LO_SUM splits.
+ 	(mips_legitimize_const_move): Likewise.  Remove HIGH handling.
+ 	Inline code to handle constants plus invalid offsets.  Use
+ 	mips_split_symbol to legitimize constant pool addresses.
+ 	(mips_delegitimize_address): Delete.
+ 	(mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
+ 	a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
+ 	(mips_subword): Pass memrefs through mips_rewrite_small_data.
+ 	(mips_output_move): Remove use of mips_classify_constant.
+ 	(mips_expand_call): Use mips_unspec_offset_high to calculate the
+ 	high part of the GOT address for calls to global functions.
+ 	(override_options): Initialize mips_split_p[], mips_lo_relocs[]
+ 	and mips_hi_relocs[].
+ 	(print_operand): Use print_operand_reloc to handle '%h' and '%R'.
+ 	Remove use of mips_classify_constant.
+ 	(mips_reloc_string): Delete.
+ 	(print_operand_reloc): New function.
+ 	(print_operand_address): Update call to mips_classify_address.
+ 	(mips_rewrite_small_data_p, small_data_pattern_1): New functions.
+ 	(small_data_pattern): New predicate.
+ 	(mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
+ 	(mips_function_has_gp_insn): New function.
+ 	(mips_global_pointer): Use it.
+ 	(mips_gp_insn): Delete.
+ 	(mips_expand_prologue): When compiling for n32/n64 abicalls, use a
+ 	single loadgp pattern to initialize $gp.  Pass it the offset of _gp
+ 	from the start of the current function.
+ 	(mips16_gp_pseudo_reg): Revert last patch.
+ 
+ 	* config/mips/mips.md (RELOC_*): Delete.
+ 	(UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
+ 	(got): New insn attribute.
+ 	(type): Set to "load" if got == load.
+ 	(length): Set to 4 if got == load, 8 if got == xgot_high.
+ 	(lui[sd]i): Delete.
+ 	(*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
+ 	(*got_disp[sd]i, *got_page[sd]i): Likewise.
+ 	(*low[sd]i): Change constraints to "d".  Add a new define_split to
+ 	rewrite small data constants into LO_SUMs.
+ 	(loadgp): New insns.
+ 
+ 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
+ 
+ 2003-11-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/v850/v850.md (mulhisi3): Expand the const_int case
+ 	separately to avoid trying to sign extend the const.
+ 
+ 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
+ 	addresses to be shared.
+ 	(force_const_mem): Return a copy of the pool entry.
+ 
+ 2003-11-03  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
+ 
+ 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (cpp.dvi): New target split from cpp.info.
+ 	(gcc.dvi):  New target split from gcc.info.
+ 	(gccint.dvi): New target split from gccint.info.
+ 	(cppinternals.dvi): New target split from cppinternals.info
+ 	(gccinstall.info): New specific rule.
+ 	(gccinstall.dvi): Likewise.
+ 	(dvi): Move targets to $(docobjdir).
+ 	($(docobjdir)/%.dvi): New implicit rule.
+ 
+ 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* doc/gty.texi (tag, desc): Say more about role of desc values in
+ 	selecting between tags.
+ 
+ 2003-11-03  Alexander Kabaev  <ak03@gte.com>
+ 
+ 	* real.c (encode_ieee_single): Ensure proper promotion.
+ 
+ 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
+ 	and Andrew Pinski.
+ 
+ 2003-11-03  Syd Polk  <spolk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
+ 	marketing names to the list of supported processors.
+ 	* config/rs6000/rs6000.h: Ditto.
+ 	* doc/invoke.texi: Ditto.
+ 	* config.gcc: Ditto.
+ 
+ 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
+ 	Merge two substitutions.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	Fixes PR bootstrap/12666.
+ 
+ 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/install-old.texi: Remove VMS documentation.
+ 
+ 2003-11-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (override_options):  Remove hack enabling 128bit long double
+ 	commited by accident.
+ 
+ 2003-11-02  Per Bothner  <per@bothner.com>
+ 
+ 	* c-opts.c (needValue):  Do cpp_find_main_file before processing
+ 	any imacros flags, so pfile->main_file is set for the latter.
+ 
+ 2003-11-03  Andreas Jaeger  <aj@suse.de>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
+ 	(SYSCALLS.c.X-warn): Suppress warnings.
+ 
+ 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR optimization/12845
+ 	* pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
+ 
+ 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
+ 	* config/i386/i386.c (print_reg): Abort on a virtual register
+ 	if code != -1; not if file == asm_out_file.
+ 	* config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
+ 	(DEBUG_PRINT_REG): Delete, unused.
+ 
+ 2003-11-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
+ 	empty to avoid conflict with the definition from configure.
+ 
+ 2003-11-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/10817
+ 	* ifcvt.c (noce_emit_move_insn): Improve documentation comment.
+ 	(noce_try_move): New function to optimize an if-the-else into an
+ 	unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
+ 	(noce_process_if_block): Attempt simplification with noce_try_move.
+ 
+ 	* simplify-rtx.c (simplify_ternary_operation): Some minor fixes
+ 	and improvements to the optimizations of IF_THEN_ELSE expressions.
+ 	(simplify_subreg): Silence signed/unsigned comparison warning.
+ 
+ 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (targhooks.o, reload.o): Update dependencies.
+ 	(GTFILES): Add targhooks.c.
+ 	(gt-targhooks.h): New rule; depend on s-gtype.
+ 	* target.h (direct_pool_load_p): New hook.
+ 	* target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* targhooks.h (default_direct_pool_load_p): Declare.
+ 	(hook_bool_machine_mode_true): Declare.
+ 	* targhooks.c: Include insn-config.h, recog.h, ggc.h and
+ 	gt-targhooks.h.
+ 	(pool_symbol): New variable.
+ 	(default_direct_pool_load_p): New function.
+ 	(hook_bool_machine_mode_true): New function.
+ 	* reload.c: Include target.h.
+ 	(find_reloads): If an alternative will force a constant into memory,
+ 	count an extra reload if constant pool symbols are not valid
+ 	addresses.  If an alternative uses memory to move values between
+ 	registers, count the move as two reloads rather than one.
+ 	* config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
+ 	* doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
+ 
+ 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12799
+ 	* postreload.c (reload_cse_move2add): Generate the add2
+ 	patterns manually.
+ 
+ 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
+ 	Return 0 for all complex modes whose size is lesser or equal to
+ 	a word.  Add a ??? comment for the condition used with 16-byte
+ 	aligned modes.
+ 
+ 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* .cvsignore: Remove c-parse* and tradcif.c.
+ 	* objc/.cvsignore: Delete.
+ 
+ 2003-11-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
+ 	of NULL.
+ 
+ 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
+ 
+ 	* libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
+ 
+ 	* collect2.c (scan_libraries): Fix typos.
+ 
+ 	PR preprocessor/12847
+ 	* cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
+ 	cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
+ 	c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
+ 	DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
+ 	"CPP_".
+ 
+ 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
+ 	no_units calculation.
+ 
+ 2003-11-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
+ 	enumeration list.
+ 
+ 2003-11-01  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
+ 	prototypes.
+ 	(SBSS_SECTION_FUNCTION): Likewise.
+ 
+ 2003-11-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
+ 
+ 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
+ 	prototypes.
+ 
+ 2003-11-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
+ 	(uw_frame_state_for): Constify variables.
+ 	(extract_cie_info): Constify first argument.
+ 
+ 	* unwind-dw2-fde-darwin.c: Adjust prototype of
+ 	_Unwind_Find_registered_FDE for recent changes.
+ 	(examine_objects): Constify return value and local variable result.
+ 	(_Unwind_Find_FDE): Constify return value and local variable ret.
+ 
+ 2003-10-31  Per Bothner  <pbothner@apple.com>
+ 
+ 	* c-opts.c (finish_options):  Change to returns boolean - false iff
+ 	the call to cpp_find_main_file fails.
+ 	(c_common_init):  Skip preprocess_file if finish_options failed.
+ 	(c_common_parse_file):  Break if finish_options failed.
+ 	Fixes PR preprocessor/12545.
+ 
+ 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* aclocal.m4: Blacklist ultrix* for mmap file.
+ 	* configure: Rebuilt.
+ 
+ 	* function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
+ 	reg_parm_stack_space.
+ 	* toplev.c (default_get_pch_validity): Fix warning.
+ 
+ 	* vax.c: Include toplev.h.
+ 	(vax_init_libfuncs): Fix typo (umod).
+ 	* vax.h (ASM_COMMENT_START): Define.
+ 	(PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
+ 
+ 2003-10-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11968
+ 	* expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
+ 	confusing comment; distributivity isn't handled in expand_expr.
+ 	* fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
+ 	in distributivity, if wrap-around semantics are specified with
+ 	-fwrapv.
+ 
+ 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR 12315
+ 	* final.c (profile_function): Allow for NULL svrtx.
+ 
+ 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_select_section): Use new style declaration.
+ 	* som.h (readonly_data): Likewise.
+ 
+ 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/rs6000/rs6000.c: Update to C90 prototypes.
+ 
+ 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/7513
+ 	* arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
+ 	code.
+ 
+ 2003-10-31  Andreas Jaeger  <aj@suse.de>,
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 
+ 	* crtstuff.c (__register_frame_info, __register_frame_info_bases)
+ 	(__deregister_frame_info, __deregister_frame_info_bases):
+ 	Constify void * argument.
+ 	* unwind-dw2-fde.h (struct fde_vector):
+ 	Constify 'orig_data' and 'array' fields.
+ 	(__register_frame_info, __register_frame_info_bases)
+ 	(__deregister_frame_info, __deregister_frame_info_bases):
+ 	Constify void * argument.
+ 	(get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
+ 	return values, and casts of type fde *, struct dwarf_fde *,
+ 	and struct dwarf_cie *.
+ 	* unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
+ 	(__deregister_frame_info, __deregister_frame_info_bases):
+ 	Constify void * argument.
+ 	(get_cie_encoding, ): Constify struct dwarf_cie * argument.
+ 	(get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
+ 	(fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
+ 	fde_split, SWAP, frame_downheap, frame_heapsort)
+ 	(classify_object_over_fdes, add_fdes, linear_search_fdes,
+ 	binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
+ 	binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
+ 	Constify arguments, local variables, return values, and casts
+ 	of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
+ 	Use const pointer types in sizeof expressions, for clarity.
+ 	* unwind-dw2-fde-glibc.c
+ 	(_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
+ 	(struct unw_eh_callback_data): Constify 'ret' field.
+ 
+ 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
+ 	(function_arg): Call it.
+ 	(rs6000_function_value): Widen integral return value to mode based
+ 	on TARGET_32BIT, not word_mode.
+ 	* config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
+ 	(UNITS_PER_ARG): New.
+ 	(RS6000_ARG_SIZE): Use it.
+ 
+ 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
+ 	and gengtype-yacc.h.
+ 
+ 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR optimization/8896
+ 	* postreload.c (reload_combine): Check that REGY doesn't die in an
+ 	insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
+ 
+ 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/10239
+ 	* cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
+ 
+ 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/11640
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Move jump
+ 	immediatelly before BARRIER.
+ 
+ 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
+ 
+ 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/11271
+ 	* reload.c (find_reloads_address): Handle any register in
+ 	(PLUS (PLUS (REG) (REG)) (CONST_INT).
+ 
+ 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
+ 	ENABLE_GC_CHECKING not in GGC_POISON.
+ 
+ 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR bootstrap/9863
+ 	* configure.in: Bail out if awk is missing.
+ 	* configure: Regenerate.
+ 
+ 	PR ada/12761
+ 	* Makefile.in: Move default definitions of X_ADA_CFLAGS,
+ 	T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
+ 
+ 2003-10-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-objc-common.c (c_tree_printer): Handle types correctly.
+ 	Factor code a bit.
+ 
+ 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
+ 
+ 	* value-prof.c, web.c: Update to C90.
+ 
+ 2003-10-30  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* function.c (purge_addressof_1): Add case for REG_RETVAL
+ 	notes when modes are unequal.
+ 
+ 2003-10-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-modes.def: Add XFmode format adjustment.
+ 
+ 2003-10-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* real.c (encode_ieee_extended): Back out previous patch.
+ 
+ 2003-10-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* real.c (encode_ieee_extended): Initialize whole array.
+ 	* reg-stack.c (move_for_stack_reg0: Use always XFmode.
+ 	* i386-modes.def: Change definitions of TFmode and XFmode.
+ 	* i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
+ 	code.
+ 	(construct_container): Allow constructing of TFmode integer containers.
+ 	(ix86_return_in_memory):  XFmode is not returned in memory.
+ 	(init_ext_80387_constants): Always use XFmode.
+ 	(print_operand): Likewise.
+ 	(ix86_prepare_fp_compare_regs): Likewise.
+ 	(split_to_parts): Deal with TFmode.
+ 	(split_long_move): Simplify.
+ 	(ix86_init_mmx_sse_builtins): Add __float80, __float128.
+ 	(ix86_memory_move_cost): Do not confuse TFmode.
+ 	* i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
+ 	(IS_STACK_MODE): TFmode is not stack mode.
+ 	(HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
+ 	(VALID_SSE_REG_MODE): Allow TFmode.
+ 	(VALID_FP_MODE_P): Disallow TFmode.
+ 	(VALID_INT_MODE_P): Allow TFmode in 64bit mode.
+ 	* i386.md (TFmode patterns): Kill.
+ 	(movtf, motf_rex64): New patterns.
+ 
+ 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
+ 
+ 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
+ 	(mov_lwr, mov_swl, mov_swr): Likewise.
+ 	(mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
+ 
+ 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_global_pointer): Don't try to use $25.
+ 
+ 2003-10-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_build_builtin_va_list): Use runtime
+ 	test for irix6 rather than preprocessor test.
+ 
+ 2003-10-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
+ 
+ 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct machine_function): Use save_return_addr_p
+ 	as a general flag that the return address register needs to be saved,
+ 	not necessarily because of __builtin_return_addr (0).
+ 	(s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
+ 	remove special handling of zSeries machines.
+ 	(s390_optimize_prolog): Remove TEMP_USED argument, treat the return
+ 	register as a regular register on zSeries machines.
+ 	(s390_reorg): Adjust calls to s390_split_branches and
+ 	s390_optimize_prolog.
+ 	(s390_frame_info): On zSeries machines, do not assume the return
+ 	register is always used.  Update regs_ever_live with current data
+ 	for the special registers.
+ 	(s390_emit_epilogue): Use save_return_addr_p to determine whether
+ 	the return register was saved.
+ 	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
+ 	RETURN_REGNUM fixed on zSeries machines.
+ 	(REG_ALLOC_ORDER): Use RETURN_REGNUM last.
+ 	* config/s390/s390.md ("*doloop_si"): Handle branch overflow
+ 	via ahi-jgne pair on zSeries machines.
+ 	("*doloop_di"): Likewise.
+ 	("*doloop_di_long"): Remove.
+ 
+ 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_override_options): Revert change of arm_constant_limit
+ 	when optimizing for size.
+ 
+ 2003-10-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (fold_single_bit_test): Convert the input to the
+ 	operational intermediate type.
+ 
+ 2003-10-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_build_builtin_va_list): New.
+ 	* expr.h (std_build_builtin_va_list): Declare.
+ 	* defaults.h (BUILD_VA_LIST_TYPE): New.
+ 	* system.h (BUILD_VA_LIST_TYPE): Poison.
+ 	* target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
+ 	* target.h (struct gcc_target): Add build_builtin_va_list.
+ 	* tree.c (build_common_tree_nodes_2): Use it.
+ 
+ 	* config/alpha/alpha-protos.h, config/alpha/alpha.c,
+ 	config/alpha/alpha.h, config/alpha/unicosmk.h,
+ 	config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
+ 	config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
+ 	config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
+ 	config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
+ 	config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
+ 	config/mips/mips.h, config/rs6000/rs6000-protos.h,
+ 	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
+ 	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
+ 	config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
+ 	config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
+ 	config/xtensa/xtensa.h: Rename foo_build_va_list to
+ 	foo_build_builtin_va_list; make it static.  Define
+ 	TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
+ 	Update protos.
+ 
+ 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
+ 	* config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
+ 
+ 2003-10-29  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* recog.c (asm_operand_ok): Add missing break after case 'X'.
+ 	Change if statements to else if statements in default case.
+ 	(extract_constrain_insn_cached): Fix misspelling of constrain_operands
+ 	in comment.
+ 	(constrain_operands_cached): Likewise.
+ 	(constrain_operands): Change if statements to else if statements in
+ 	default case.
+ 	* reload.c (find_reloads): Likewise.
+ 
+ 2003-10-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m68k/m68k.c (notice_update_cc): Clear cc status for
+ 	shifts and rotates.
+ 
+ 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: Remove duplicate pattern.
+ 
+ 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* real.c (do_divide): Initialize result with a 0.
+ 
+ 	* configure.in <enable-checking for valgrind>: Look for
+ 	<valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
+ 	if it exists.
+ 	* configure, config.in: Regenerate.
+ 	* ggc-common.c [ENABLE_VALGRIND_CHECKING &&
+ 	HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
+ 	#elif for other alternatives.
+ 	* ggc-page.c: Ditto.
+ 	* ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
+ 	include structure from ggc-common.c.
+ 
+ 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
+ 	* pa.c (pa_adjust_insn_length): Check for btable branches using
+ 	attribute TYPE_BTABLE_BRANCH.
+ 	(pa_reorg): Simplify.
+ 	* pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): As above.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): As above.
+ 	* pa.md (btable_branch): New instruction type.
+ 	(in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
+ 	btable branches.
+ 	(define_delay): Add btable branches to insn types that may have an
+ 	insn in the delay position.
+ 	(Z2, Z3): Add btable branch to list.
+ 	Simplify unamed pattern set copy pic_label_operand to register.  Add
+ 	PA 2.0 variant.
+ 	(short_jump): New jump for use in branch tables.
+ 	(casesi, casesi0): Revise for new branch table formats.
+ 	(casesi32, casesi32p, casesi64p): New casesi patterns.
+ 	(indirect_jump): Move.
+ 
+ 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
+ 	!TARGET_POWERPC64.
+ 	(UNITS_PER_GPR_WORD): Delete.
+ 	(HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
+ 	(HARD_REGNO_MODE_OK): Same.
+ 	(CLASS_MAX_NREGS): Same.
+ 
+ 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (ASM_COMMENT_START): Define.
+ 
+ 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
+ 	MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
+ 	component, not zero.
+ 
+ 2003-10-29  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
+ 
+ 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
+ 	Never return 1 for complex integral modes whose size is lesser or
+ 	equal to a word.
+ 	(function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
+ 	in the comment.
+ 	(function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
+ 	modes.
+ 	(sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
+ 	greater than 16 bytes by reference.
+ 
+ 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
+ 	not TARGET_ILP32.
+ 	(ia64_initialize_trampoline): Use globalize_label target call.
+ 
+ 2003-10-29  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* doc/install.texi (Building): Add a sentence about building Ada
+ 	for a canadian cross.
+ 
+ 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (cmptf_libfunc): New static.
+ 	(ia64_expand_compare): Add logic to open-code calls to
+ 	_U_Qfcmp for TFmode comparisons.
+ 	(ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
+ 	Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
+ 	never be generated anymore.
+ 	* config/ia64/ia64.md (cmptf): New expander.
+ 
+ 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
+ 	(*sqrt_approx): New instruction pattern for approximate square roots.
+ 	(*setf_exp_xf): New instruction pattern for exponentiation.
+ 	(*maddxf4_alts_truncsf): New instruction pattern for truncation.
+ 	(sqrtsf2_internal_thr): New define_and_split implementing
+ 	throughput-optimized inline calculation of SFmode square root.
+ 	(sqrtdf2_internal_thr): Likewise for DFmode.
+ 	(sqrtxf2_internal_thr): Likewise for XFmode.
+ 	(sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
+ 	latency- and throughput-optimized square root algorithms.
+ 	* ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
+ 	TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
+ 	New macros.
+ 	(TARGET_SWITCHES): Add -minline-sqrt-min-latency and
+ 	-minline-sqrt-max-throughput.
+ 	* ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
+ 	and -minline-sqrt-max-throughput are given, notify the user
+ 	that both options cannot be used simultaneously.
+ 	If -minline-sqrt-min-latency is given, notify the user that
+ 	this mode is not yet implemented.
+ 	(rtx_needs_barrier): Reformat initial comment to obey
+ 	72-character width limit.  Support UNSPEC_SETF_EXP and
+ 	UNSPEC_FR_SQRT_RECIP_APPROX.
+ 
+ 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
+ 	moves.
+ 
+ 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR target/11598
+ 	PR libgcj/10610
+ 	* config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
+ 
+ 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_output_epilogue): When using a frame pointer, don't emit
+ 	an extra stack adjustment insn if the stack pointer is already
+ 	pointing at the right place.
+ 	(use_return_insn): Allow a return insn to be used when we have a
+ 	frame pointer if the stack pointer is in the right place.
+ 	(output_return_instruction): Handle it.
+ 
+ 2003-10-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* ggc-zone.c (check_cookies): Add missing variable.
+ 	Add void to prototypes.
+ 
+ 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
+ 	* crtstuff.c (__do_global_ctors_1): Move prototype.
+ 	* unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
+ 	appropriate.
+ 	* unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
+ 	Mark parameter with __attribute__((unused)).
+ 
+ 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (pushdecl): Clarify comment.
+ 
+ 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
+ 
+ 	* doc/install.texi: Update instructions for Ada cross builds
+ 
+ 	PR ada/5909:
+ 	* doc/sourcebuild.texi: Document Ada test suite.
+ 
+ 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c: Convert to ISO C90.
+ 	* config/m68hc11/m68hc11-protos.h: Likewise.
+ 
+ 2003-10-27  Jan Hubicka  <jh@suse.cz>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* toplev.c (enum dump_file_index, dump_file): Fix ordering of
+ 	webizer pass dump.
+ 
+ 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload1.c (struct elim_table): Change offset, initial_offset and
+ 	previous_offset fields to HOST_WIDE_INT.
+ 	(offsets_at): Change from int to HOST_WIDE_INT.
+ 	(reload): Adjust offsets_at initialization.
+ 	(eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
+ 	(verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
+ 	* config/i386/i386.c (ix86_compute_frame_layout): Change offset type
+ 	to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
+ 	if TARGET_64BIT.
+ 	(pro_epilogue_adjust_stack): New function.
+ 	(ix86_expand_prologue, ix86_expand_epilogue): Use it.
+ 	* config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
+ 	(pro_epilogue_adjust_stack_1): Remove * in front of name.
+ 	(pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
+ 	(pro_epilogue_adjust_stack_rex64_2): New insn.
+ 
+ 	* config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
+ 
+ 	* config/i386/i386.c (ix86_expand_call): Replace 40 with
+ 	FIRST_REX_INT_REG + 3 /* R11 */.
+ 
+ 2003-10-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (attr cannot_copy): New.
+ 	(call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
+ 	prologue_ldgp_er_2, prologue_ldgp_1): Set it.
+ 	* config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
+ 
+ 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* ggc-zone.c:  New file, zone allocating collector.
+ 	* configure: Accept zone option for --with-gc
+ 	* configure.in: Ditto.
+ 	* ggc.h (ggc_pch_count_object): Pass bool indicating
+ 	stringiness. Update all callers.
+ 	(ggc_pch_alloc_object): Ditto.
+ 	(ggc_pch_write_object): Ditto.
+ 	(ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
+ 	type.
+ 	(ggc_alloc_rtvec): Ditto.
+ 	(ggc_alloc_tree): Use zone allocation, since some things using this macro
+ 	aren't a single typecode.
+ 	* ggc-none.c (ggc_alloc_typed): New function.
+ 	(ggc_alloc_zone): Ditto.
+ 	* ggc-page.c: Ditto on both functions.
+ 
+ 2003-10-26  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
+ 	frame information is always valid.
+ 	(m68k_output_function_prologue): Remove superfluous TARGET_68881
+ 	test; fix formatting.
+ 
+ 2003-10-26  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
+ 	reg_rev_mask computation.
+ 	(m68k_output_function_prologue): Fix usage of current_frame (one typo
+ 	and one missing); use reg_rev_mask not reg_mask.
+ 	(m68k_output_function_epilogue): Fix usage of current_frame;
+ 	use fpu_rev_mask not fpu_mask.
+ 
+ 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
+ 	num_saved_regs, use current_frame.reg_no instead.
+ 
+ 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
+ 	    Paul Dale  <pauli@snapgear.com>
+ 
+ 	* doc/extend.texi (interrupt_handler): Add m68k to the
+ 	list of processors implementing it.
+ 	* doc/invoke.texi (-msep-data): Document new m68k option.
+ 	(-mno-sep-data): Likewise.
+ 	(-mid-shared-library): Likewise.
+ 	(-mno-id-shared-library): Likewise.
+ 	(-mshared-library-id): Likewise.
+ 
+ 2003-10-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
+ 	comparison.
+ 	(_Unwind_SetGR): Likewise.
+ 
+ 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
+ 
+ 	PR target/12690
+ 	* config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
+ 
+ 2003-10-26  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Move front
+ 	comment from here to...
+ 	(m68k_save_reg): ...here. Fix comment formatting.
+ 	(m68k_output_function_prologue): Fix comment formatting.
+ 	(m68k_output_function_epilogue): Likewise.
+ 	(const_method): Likewise.
+ 
+ 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* toplev.c (default_get_pch_validity): Guard the use of
+ 	target_options with #ifdef TARGET_OPTIONS.
+ 	(default_pch_valid_p): Likewise.
+ 
+ 2003-10-26  Andreas Jaeger  <aj@suse.de>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 	    Andreas Tobler <toa@pop.agri.ch>
+ 
+ 	* dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
+ 	(output_die): Likewise.
+ 	(print_die): Likewise.
+ 
+ 2003-10-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
+ 	dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
+ 	dwarf2out.c change.
+ 
+ 	* toplev.c (default_pch_valid_p): Fix warning.
+ 
+ 2003-10-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
+ 	RTL nodes.  If an operator's operands are unchanged, return the
+ 	original argument unchanged.
+ 
+ 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	Fix bootstrap failure.
+ 	* expmed.c (store_bit_field): Don't compare bitsize against
+ 	modes with zero bit-size.
+ 
+ 	(extract_bit_field): Likewise
+ 
+ 2003-10-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
+ 	(cfa_loc): Likewise.
+ 	(reg_save, stack_adjust_offset, queue_reg_save): Replace long by
+ 	HOST_WIDE_INT.
+ 	(args_size, old_args_size): change type to HOST_WIDE_INT.
+ 	(dwarf2out_def_cfa, dwarf2out_args_size,
+ 	dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
+ 	(dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
+ 	(add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
+ 	AT_offset): Use HOST_WIDE_INT.
+ 	(based_loc_descr): offset is HOST_WIDE_INT.
+ 	(add_data_member): Likewise.
+ 	(add_const_value_attribute): Simplify.
+ 
+ 2003-10-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_eax_live_at_start_p): New.
+ 	(ix86_expand_prologue): Save and restore eax around stack probe
+ 	if it's live.
+ 
+ 2003-10-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
+ 
+ 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12712
+ 	* reg-stack.c (convert_regs_1): Create an arbitrary input stack
+ 	if the block has no predecessors.
+ 	(convert_regs_2): Document the problem with successors whose
+ 	only predecessor is the block to be processed.
+ 	(convert_regs): Don't create the arbitrary input stack here.
+ 
+ 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c (struct mode_data): Add contained and next_cont
+ 	fields.
+ 	(complete_mode): Maintain linked list of modes that have a
+ 	given component.
+ 	(emit_mode_unit_size): Delete.
+ 	(emit_mode_nunits): New.
+ 	(emit_insn_modes_c): Update to match.
+ 	(emit_mode_adjustments): Propagate size and alignment
+ 	adjustments from component modes to their containers.
+ 	* machmode.h (mode_unit_size): Delete.
+ 	(mode_nunits): New.
+ 	(GET_MODE_NUNITS): Just return the value in the table.
+ 	(GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
+ 	GET_MODE_SIZE.
+ 	* expmed.c (store_bit_field, extract_bit_field): Can use a
+ 	plain move instruction if bitsize >= GET_MODE_BITSIZE of
+ 	destination/source mode, respectively.
+ 	* varasm.c (assemble_real): Write out the full size of the
+ 	constant, not just its bitsize.
+ 	(output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
+ 
+ 	* config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
+ 	Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
+ 	alignment of XF and TF modes in compliance with ia64 ABIs.
+ 	Can now hardwire the format of both modes.
+ 	* config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
+ 	(general_tfmode_operand, destination_tfmode_operand)
+ 	(tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
+ 	general_xfmode_operand, destination_xfmode_operand,
+ 	xfreg_or_fp01_operand, spill_xfmode_operand respectively.
+ 	(ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
+ 	and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
+ 	not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
+ 	__float128.
+ 	* config/ia64/ia64.h: Default TARGET_HPUX to 0.
+ 	Change TFmode to XFmode wherever appropriate.  Remove all
+ 	references to INTEL_EXTENDED_IEEE_FORMAT.
+ 	(LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
+ 	(PREDICATE_CODES): Update to match function renames.
+ 	* config/ia64/ia64.md: Change TF to XF throughout; rename all
+ 	patterns to match.  Remove all references to
+ 	INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
+ 	function renames.
+ 	* config/ia64/ia64-protos.c: Update all prototypes to match
+ 	renamed functions.
+ 	* config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
+ 	Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
+ 	* config/ia64/lib1funcs.asm: Add __divxf3 as new name for
+ 	__divtf3; keep old name for backward compatibility.
+ 	(L__compat): New section providing forwarding stubs for
+ 	__fixtfti, __fixunstfti, __floattitf.
+ 	* config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
+ 
+ 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 10757
+ 	* c-pch.c: Include target.h.  Improve comments.
+ 	(struct c_pch_validity): Add target_data_length.
+ 	(pch_init): Add target's validity data.
+ 	(c_common_valid_pch): Check target's validity data.
+ 	* target-def.h (TARGET_GET_PCH_VALIDITY): New.
+ 	(TARGET_PCH_VALID_P): New.
+ 	(TARGET_INITIALIZER): Add new fields.
+ 	* target.h: Include tm.h.
+ 	(struct gcc_target): Add get_pch_validity, pch_valid_p.
+ 	* toplev.h (default_get_pch_validity): New prototype.
+ 	(default_pch_valid_p): New prototype.
+ 	* toplev.c (default_get_pch_validity): New routine.
+ 	(default_pch_valid_p): New routine.
+ 	* Makefile.in (TARGET_H): Add TM_H.  Replace all users of
+ 	target.h with $(TARGET_H).
+ 	(c-pch.o): Add TARGET_H.
+ 	* doc/tm.texi (PCH Target): New node.
+ 	(TARGET_GET_PCH_VALIDITY): Document.
+ 	(TARGET_PCH_VALID_P): Document.
+ 
+ 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
+ 	and $(docdir)/include from any *.texi dependencies.
+ 	($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
+ 	($(docobjdir)/%.1): Depend on .pod instead of .texi.
+ 	($(docobjdir)/%.7): Likewise.
+ 	(%.pod): New implicit rule.
+ 	(cpp.pod): New dependency only rule.
+ 	(gcc.pod): New intermediate rule with dependencies and commands.
+ 	(gfdl.pod): Likewise.
+ 	(fsf-funding.pod): Likewise.
+ 
+ 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
+ 	related code.
+ 	* fixinc/fixinc.ptx: Remove.
+ 	* fixinc/fixinc.svr4: Remove.
+ 
+ 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (load_multiple_operation): Allow both SImode
+ 	and DImode if word_mode is DImode.
+ 	(store_multiple_operation): Likewise.
+ 	* config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
+ 	("*load_multiple_di"): Allow only if word_mode == DImode.
+ 	("movqi"): Use LLGC whenever TARGET_ZARCH.
+ 	("fix_truncdfsi2"): Fix incorrect temporary size.
+ 	("fix_truncsfsi2"): Likewise.
+ 	("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
+ 	string for function return value operand.
+ 	("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
+ 
+ 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-parse.in (array_declarator): Use expr_no_commas.
+ 	Fixes PR c/11943.
+ 
+ 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
+ 	associated includes in #ifndef inhibit_libc.
+ 
+ 2003-10-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/libgcc.texi: Document some more of the libgcc API.
+ 
+ 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
+ 	comparing a constant with small negative numbers and add costing
+ 	for constants in conjunction with AND.
+ 	(note_invalid_constants): Tidy previous change.
+ 	(thumb_cmp_operand): Tidy.
+ 	(thumb_cmpneg_operand): New function.
+ 	* arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
+ 	for size.
+ 	(FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
+ 	(PREDICATE_CODES): Add thumb_cmpneg_operand.
+ 	* arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
+ 	with a negative constant.
+ 	(cbranchsi4_insn): Matcher for cbranchsi4.
+ 	(cbranchsi4_scratch): Similar, but a scratch is available for
+ 	handling negative constants.
+ 	(movsi_cbranchsi4): New pattern.
+ 	(tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
+ 	and use the TST instruction.
+ 	(andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
+ 	(addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
+ 	cannot see high regs or memory alternatives.
+ 	(bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
+ 
+ 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (note_invalid_constants): Try to extract the constant
+ 	pool value using avoid_constant_pool_reference; only use
+ 	get_pool_constant if that returns the original reference.
+ 
+ 2003-10-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c++/12624
+ 	* varasm.c (notice_global_symbol): Disqualify global registers.
+ 
+ 2003-10-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11414
+ 	* loop.c (load_mems): Use redirect_jump to forward jumps from
+ 	the original loop end label to the new "loop sink" block's label.
+ 
+ 2003-10-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/12705
+ 	* optabs.c (expand_binop): When expanding complex operations
+ 	inline, always calculate result into a new temporary register.
+ 	Minor code clean-ups.
+ 
+ 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* objc/lang-specs.h: Handle -print-objc-runtime-info.
+ 	* doc/invoke.texi (Objective-C Dialect Options): Document it.
+ 
+ 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.asm: Add copyright notice. Add comment
+ 	on why this code is needed.
+ 
+ 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/clzhi2.c: Fix warnings.
+ 	* config/h8300/ctzhi2.c: Likewise.
+ 	* config/h8300/fixunssfsi.c: Likewise.
+ 	* config/h8300/parityhi2.c: Likewise.
+ 	* config/h8300/popcounthi2.c: Likewise.
+ 
+ 2003-10-23  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* gcc.c (option_map): Delete --target and --use-version.
+ 
+ 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
+ 	TARGET_POWREPC64.
+ 	(UNITS_PER_GPR_WORD): Define.
+ 	(HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
+ 	(HARD_REGNO_CALL_PART_CLOBBERED): Define.
+ 	(HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
+ 	(CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
+ 	* config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
+ 	DFmode and DImode in 32-bit ABI / 64-bit computation mode.
+ 	(rs6000_emit_prologue): Select reg_mode and reg_size using
+ 	TARGET_32BIT, not TARGET_POWERPC64.
+ 	(rs6000_function_value): Generate PARALLEL for DImode in 32-bit
+ 	ABI / 64-bit computation mode
+ 
+ 2003-10-22  Andrew Haley  <aph@redhat.com>
+ 
+ 	* toplev.c (output_file_directive): Allow for null input_name.
+ 
+ 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
+ 
+ 	* config/i386/i386.c (classify_argument): Handle SET_TYPE.
+ 
+ 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* configure.in: In --enable-generated-files-in-srcdir option
+ 	handling, fix default case handling.
+ 	* configure: Regenerate.
+ 
+ 2003-10-22  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* config.gcc:  Update *-*-vxworks* generic hook and comments.
+ 	(arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
+ 	mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
+ 	* genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
+ 	* config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
+ 	* config/windiss.h:  New file.
+ 	* config/arm/t-vxworks:  New file.
+ 	* config/arm/vxworks.h:  New file.
+ 	* config/i386/t-vxworks:  New file.
+ 	* config/i386/vxworks.h:  New file.
+ 	* config/mips/t-vxworks:  New file.
+ 	* config/mips/vxworks.h:  New file.
+ 	* config/mips/windiss.h:  New file.
+ 	* config/sh/t-vxworks:  New file.
+ 	* config/sh/vxworks.h:  New file.
+ 
+ 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
+ 	(h8300_saveall_function_p): New.
+ 	(h8300_insert_attributes): Insert the saveall attribute if
+ 	#pragma saveall is specified.
+ 	(h8300_attribute_table): Add saveall.
+ 	(TARGET_ASM_FUNCTION_EPILOGUE): Remove.
+ 	* doc/extend.texi: Mention the saveall attribute.
+ 
+ 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
+ 	deprecation of casts as lvalues.
+ 	* fixinc/inclhack.def (obstack_lvalue_cast): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/obstack.h: New test.
+ 
+ 2003-10-22  Andreas Schwab  <schwab@suse.de>
+ 
+ 	PR target/12676
+ 	* config/m68k/m68k.c (output_addsi3): Fix range check to work on
+ 	LP64 platforms.
+ 
+ 2003-10-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
+ 	presence of DW_AT_inline.
+ 	(gen_subprogram_die): Likewise; do not abort instead of emitting
+ 	DW_AT_not_inline.
+ 
+ 2003-10-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
+ 	global info is not ready.
+ 
+ 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
+ 
+ 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
+ 	("*movstr_short"): ... into this insn pattern.
+ 	("movstr_short"): New expander.
+ 	("*movstr_long_64"): Rename from "movstr_long_64", simplify.
+ 	("*movstr_long_31"): Rename from "movstr_long_31", simplify.
+ 	("movstr_long"): New expander.
+ 	("clrstr_short_64", "clrstr_short_31"): Merge ...
+ 	("*clrstr_short"): ... into this insn pattern.
+ 	("clrstr_short"): New expander.
+ 	("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
+ 	("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
+ 	("clrstr_long"): New expander.
+ 	("cmpmem_short_64", "cmpmem_short_31"): Merge ...
+ 	("*cmpmem_short"): ... into this insn pattern.
+ 	("cmpmem_short"): New expander.
+ 	("*cmpmem_long_64"): Rename from "cmpmem_long_64".
+ 	("*cmpmem_long_31"): Rename from "cmpmem_long_31".
+ 	("cmpmem_long"): New expander.
+ 	* config/s390/s390.c (s390_expand_movstr): Use new expanders.
+ 	(s390_expand_clrstr): Likewise.
+ 	(s390_expand_cmpmem): Likewise.
+ 
+ 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-pch.c (struct c_pch_validity): Add pch_init field.
+ 	(pch_init): Set it.
+ 	(c_common_valid_pch): Check it.
+ 
+ 2003-10-22  David Taylor <dtaylor@emc.com>
+ 
+ 	PR debug/12500
+ 	* dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
+ 
+ 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
+ 	alpha_return_in_memory if no VALTYPE specified.
+ 
+ 2003-10-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR debug/12389
+ 	* Makefile.in (dwarf2out.o): Depend on cgraph.h.
+ 	* cgraph.c (cgraph_function_possibly_inlined_p): New function.
+ 	* cgraph.h (cgraph_function_possibly_inlined_p): Declare.
+ 	(cgraph_global_info): Add flag inlined
+ 	* dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
+ 	cgraph_function_possibly_inded_p
+ 	* cgraphunit.c (mark_inline): Set inlined flag.
+ 	* toplev.c (rest_of_decl_compilation): Call outlining_inline_function
+ 	only for possibly inlined functions.
+ 	* c-decl.c (duplicate_decls): Never output abstract DIE representing old
+ 	body of function.
+ 
+ 2003-10-22  Andrew Haley  <aph@redhat.com>
+ 
+ 	* varasm.c (output_constructor): Make constructor annotation
+ 	conditional on ASM_COMMENT_START.
+ 
+ 2003-10-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
+ 	(get_narrower): Likewise.
+ 
+ 	* stor-layout.c (layout_decl): Do packed field alignment for
+ 	bit-fields, too.
+ 
+ 2003-10-21  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* expr.c (convert_move): Use FLOAT_EXTEND for extensions.
+ 
+ 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-pch.c: Add comments in various places.
+ 	(struct c_pch_validity): Add the lengths of various strings.
+ 	(host_machine): New static.
+ 	(target_machine): New static.
+ 	(get_ident): Bump version number.
+ 	(pch_init): Write out version, host, target validity data.
+ 	(c_common_valid_pch): Check version, host, target.
+ 	* Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
+ 	TARGET_MACHINE.
+ 
+ 2003-10-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (IS_EXPR_CODE_CLASS): Use strchr.
+ 	(EXPR_P): New macro.
+ 
+ 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
+ 	* config/ia64/ia64.c (ia64_expand_fetch_and_op,
+ 	ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
+ 	DImode.   Use convert_move to load ar.ccv.
+ 	(ia64_expand_compare_and_swap): Likewise.
+ 	If expand_expr doesn't put 'old' and 'new' in the proper
+ 	modes, run them through convert_to_mode.
+ 
+ 2003-10-21  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
+ 	for too large bitfields.
+ 
+ 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
+ 
+ 2003-10-21  Andrew Haley  <aph@redhat.com>
+ 
+ 	* varasm.c (output_constructor): Annotate constructor.
+ 
+ 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
+ 	on existence of destination file.
+ 
+ 2003-10-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* haifa-sched.c (choose_ready): Initialize index.
+ 
+ 2003-10-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (build1): Fix off-by-one error.
+ 
+ 2003-10-21  Robert Millan  <robertmh@gnu.org>
+ 
+ 	* config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
+ 	* config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
+ 	* config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
+ 	* config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
+ 
+ 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* web.c: Fix various comments.
+ 
+ 2003-10-20  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/arm.c (arm_override_options): Set arm_constant_limit
+ 	to 2 instead of 1 when optimize_size is true.  Gather code based on
+ 	optimize_size together.  Add comment about XScale load latency.
+ 
+ 2003-10-21  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Remove
+ 	obsolete comments.
+ 
+ 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Get parsedir and docobjdir from configure.
+ 	* configure.in: Recogonize --enable-generated-files-in-srcdir.
+ 	Pass along parsedir and docobjdir.
+ 	* configure: Regenerate.
+ 	* doc/install.texi: Document --enable-generated-files-in-srcdir.
+ 
+ 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Define $(docdir) before the Make-lang.in fragments are
+ 	included.
+ 
+ 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.c (expand_tree_builtin): Ensure creal and cimag
+ 	functions do not return lvalues.
+ 
+ 2003-10-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c/12553
+ 	* tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
+ 	appropriately.
+ 
+ 	PR c/11446
+ 	* stor-layout.c (layout_decl): Fix alignment handling.
+ 
+ 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/extend.texi: Deprecate casts as lvalues.
+ 
+ 2003-10-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation): Fix webizer pass ordering.
+ 
+ 	* cgraphunit.c (decide_is_function_needed):  Fix test dealing
+ 	with functions implicitly made inline.
+ 
+ 	* cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
+ 	(cgraph_finalize_function): Use it.
+ 	(cgraph_mark_inline): Allow incrmental decisions
+ 	* invoke.texi (max-inline-slope, min-inline-insns): Kill.
+ 	* params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
+ 	* tree-inline.c (limits_allow_inlining): Kill.
+ 	(expand_call_inline): Always use unit-at-a-time path.
+ 
+ 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* fixinc/inclhack.def (hpux11_snprintf): New edit.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
+ 
+ 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (install-info): Simplify.
+ 	($(DESTDIR)$(infodir)/%.info): New rule.
+ 	* configure.in (target_list): Remove install-info.
+ 	* doc/.cvsignore (gcc.info*): Remove.
+ 	(gccint.info*): Likewise.
+ 	(gccinstall.info*): Likewise.
+ 	(cpp.info*): Likewise.
+ 	(cppinternals.info*): Likewise.
+ 	(*.info*): Add it.
+ 	* doc/sourcebuild.texi: Update description of install-info.
+ 	* objc/Make-lang.in (objc.install-info): Remove.
+ 
+ 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
+ 	Use it in _MIPS_SIM definition.
+ 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
+ 
+ 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/i386/i386.c (print_reg): Abort if REGNO (x) is a
+ 	virtual register, but only if file == asm_out_file.
+ 	* config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
+ 	for ARG_POINTER_REGNUM.
+ 
+ 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (registered_builtin_types): New static.
+ 	(c_common_type_for_mode): Consult registered_builtin_types.
+ 	(c_register_builtin_type): Add type to registered_builtin_types.
+ 	* optabs.c (init_floating_libfuncs): Initialize libfuncs for
+ 	all MODE_FLOAT modes, not just the ones corresponding to
+ 	float_type_node, double_type_node, and long_double_type_node.
+ 
+ 2003-10-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
+ 	* config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
+ 
+ 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
+ 	support new flag -minsert-sched-nops.
+ 	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
+ 	* config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
+ 	support new flag -minsert-sched-nops.
+ 	(is_cracked_insn, is_microcoded_insn): New functions.
+ 	(rs6000_sched_finish): New function.
+ 	(rs6000_issue_rate): Return 5 for power4.
+ 	(get_next_active_insn, insn_terminates_group_p): New
+ 	functions.
+ 	(is_costly_group, force_new_group): New functions.
+ 	(redefine_groups, pad_groups): New functions.
+ 	(rs6000_variable_issue): Use new functions.
+ 	* doc/invoke.texi (-minsert-sched-nops): Document new
+ 	option.
+ 
+ 2003-10-20  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.md (type attribute): Add new insn types
+ 	fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
+ 	(patterns emitting VIS insns): Use them.
+ 	* config/sparc/ultra1_2.md: Add VIS scheduling rules.
+ 	* config/sparc/ultra3.md: Likewise.
+ 
+ 2003-10-20  Falk Hueffner  <falk@debian.org>
+ 
+ 	PR target/12654
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
+ 	comparison against constant by adjusting the argument except for
+ 	EQ and NE.
+ 
+ 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
+ 	arm1136jfs, and armv6j.
+ 	* config/arm/arm.c (FL_ARCH6J): New macro.
+ 	(FL_VFPV2): Likewise.
+ 	(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
+ 	and arm1136jfs.
+ 	(all_architectures): Add entry for armv6j.
+ 	(arm_override_options): Add entries for arm926ejs, arm1026ejs,
+ 	arm1136js, and arm1136jfs.
+ 	* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
+ 	(TARGET_CPU_arm1026ej_s): Likewise.
+ 	(TARGET_CPU_arm1136j_s): Likewise.
+ 	(TARGET_CPU_arm1136jf_s): Likewise.
+ 	* doc/invoke.texi: Document new ARM cores and architecture
+ 	variants.
+ 
+ 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (toplev.o): Add value-prof.h dependency.
+ 	(value-prof.o): Add REGS_H dependency.
+ 	* common.opt (fprofile-values, fvpt): New.
+ 	* flags.h (flag_value_profile_transformations): Declare.
+ 	* opts.c (common_handle_option): Handle -fprofile_values and
+ 	-fvpt.
+ 	* profile.c (branch_prob): Don't remove death notes here.
+ 	* timevar.def (TV_VPT): New.
+ 	* value-prof.c: Include regs.h.
+ 	(insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
+ 	gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
+ 	mod_subtract_transform, value_profile_transformations): New.
+ 	(insn_values_to_profile): Call insn_divmod_values_to_profile.
+ 	(find_values_to_profile): Add dumps.
+ 	* value-prof.h (value_profile_transformations): Declare.
+ 	* toplev.c: Include value-prof.h.
+ 	(rest_of_handle_value_profile_transformations): New.
+ 	(enum dump_file_index): Add DFI_vpt.
+ 	(dump_file): Add vpt dump.
+ 	(flag_value_profile_transformations): New.
+ 	(lang_independent_options): Add flag_profile_values and
+ 	flag_value_profile_transformations.
+ 	(rest_of_compilation): Call
+ 	rest_of_handle_value_profile_transformations.
+ 	(process_options): Let -fvpt imply -fprofile-values.
+ 	* doc/invoke.texi (-fvpt): Document.
+ 
+ 2003-10-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (print_reg): Do not abort on certain registers.
+ 
+ 	PR optimization/12612
+ 	* reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
+ 	* i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
+ 	match_scratch; avoid bogus paralles.
+ 
+ 	PR target/12674
+ 	* i386.c (ix86_function_regparm): Disable implicit register passing
+ 	conventions when profiling.
+ 
+ 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/8178
+ 	* config/i386/i386.md (*movsi_zero): Delete.
+ 	(*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
+ 
+ 2003-10-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (fix_operator): New.
+ 	(divmod_operator): Tidy.
+ 	(alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
+ 	* config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+ 	(PREDICATE_CODES): Update.
+ 	* config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
+ 	(fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
+ 	(fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
+ 	(fix_truncsfdi_ieee): Likewise.
+ 	(fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
+ 	(fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 
+ 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
+ 	* config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
+ 	* config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
+ 	constant operands.
+ 
+ 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/extend.texi: Fix typos.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2003-10-18  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
+ 	XScale optimizations not arm_arch_xscale.
+ 	* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
+ 
+ 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (shift_count_operand): Add prototype.
+ 	* config/s390/s390.c (shift_count_operand): New function.
+ 	(s390_extra_constraint): Use it to implement 'Y' constraint.
+ 	(print_shift_count_operand): New function.
+ 	(print_operand): Use it to implement '%Y'.
+ 	* config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
+ 	(PREDICATE_CODES): Add shift_count_operand.
+ 	* config/s390/s390.md ("rotldi3"): Merge alternatives,
+ 	using "shift_count_operand" predicate and "Y" constraint,
+ 	and "%Y" to output the combined shift count.
+ 	("rotlsi3"): Likewise.
+ 	("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
+ 	("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
+ 	"*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
+ 	("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
+ 	("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
+ 	("lshrsi3"): Likewise.
+ 
+ 2003-10-18  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
+ 	argument to asm_fprintf statement.
+ 
+ 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
+ 	(ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
+ 	a "long long" argument.
+ 
+ 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
+ 	as well.
+ 
+ 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* rtl.h (rtl_size): Declare.
+ 	(rtunion): Remove rtwint.
+ 	(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
+ 	(RTX_HDR_SIZE, RTX_SIZE): New macros.
+ 	(RTL_CHECK1): Adjust for new rtx_def layout.
+ 	(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
+ 	(XWINT, XCWINT): Likewise.  Access the rtx structure directly.
+ 	(X0WINT): Remove.
+ 	(X0ANY): New macro.
+ 	* rtl.def: Adjust comments for new rtx_def layout.
+ 	* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
+ 	number of slots.
+ 	* rtl.c (rtx_size): New array.
+ 	(rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
+ 	(copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
+ 	(shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
+ 	* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
+ 	* emit-rtl.c (copy_most_rtx): Likewise.
+ 	(copy_rtx_if_shared): Use RTX_SIZE.
+ 	(copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
+ 	* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
+ 	* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
+ 	(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
+ 	an array.  Adjust output for new rtx_def layout.
+ 	* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
+ 	* reload1.c (eliminate_regs): Use RTX_SIZE.
+ 	* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
+ 	* gdbinit.in (pi): Likewise.
+ 
+ 2003-10-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Revert previous patch.
+ 
+ 2003-10-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Fix copying of copies.
+ 
+ 2003-10-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* libgcc.texi: Group multi-word types, such as "long double" and
+ 	"unsigned int", using braces in @deftypefn and @deftypefnx nodes.
+ 	Document __unord?f2 as returning a non-zero value, not just one.
+ 
+ 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
+ 	($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
+ 
+ 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
+ 	match_operand.
+ 
+ 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_record_value_1): New fourth
+ 	parameter packed_p.  Search for a DECL_PACKED field only if
+ 	packed_p is false.  Pass packed_p recursively.
+ 	(function_arg_record_value_2): Likewise.
+ 	(function_arg_record_value): Update calls to
+ 	function_arg_record_value_1 and function_arg_record_value_2.
+ 
+ 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* cse.c (cse_insn) [src_folded]: Check that the tentative replacement
+ 	was successfully forced to memory before using the result.
+ 
+ 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/8178
+ 	* config/i386/i386.md (*movsi_zero): New insn to set
+ 	a register to zero on TARGET_USE_MOV0 targets.
+ 
+ 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
+ 	(POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
+ 
+ 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/invoke.texi (gcse-las): Fix typo.
+ 
+ 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* doc/install.texi: Remove first part of the sentence for
+ 	zsh not working.  Change gcc to GCC.
+ 
+ 	PR bootstrap/12546
+ 	* doc/install.texi: Document that zsh does not work when
+ 	configuring gcc.
+ 
+ 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/ptx4.h: Switch to DWARF 2; update comments.
+ 
+ 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
+ 	    Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	PR 10404, partial 11591, partial 11601
+ 	* config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
+ 	"altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
+ 	"altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
+ 	"altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
+ 	"altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
+ 	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
+ 	(altivec_expand_stv_builtin): Adjust for the memory_operand.
+ 	(altivec_expand_builtin): Call altivec_expand_lv_builtin.
+ 	(altivec_init_builtins): Use `long int' for memory offsets.
+ 
+ 2003-10-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* opts.c  (common_handle_option): Handle OPT_fweb
+ 	* invoke.texi (-fweb): Add missing parts of documentation.
+ 
+ 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
+ 	before redefinition.
+ 
+ 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* common.opt: Add description of the new -fgcse-las flag.
+ 	* flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
+ 	* gcse.c (hash_scan_set): Handle the case of store expression and
+ 	insert the memory expression to the hash table, this way we make it
+ 	possible to discover redundant loads after stores and remove them.
+ 	(pre_insert_copy_insn): moved the call to update_ld_motion_stores,
+ 	to pre_insert_copies, it is not the correct place to call it after
+ 	adding stores to be in the available expression hash table.
+ 	(pre_insert_copies): Added the call to update_ld_motion_stores when
+ 	one or more copies were inserted.
+ 	* opts.c (common_handle_option): Handle the -fgcse-las flag.
+ 	* toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
+ 
+ 	* doc/invoke.tex: Document new -fgcse-las flag.
+ 
+ 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
+ 	for posterity, then remove it.
+ 
+ 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
+ 	    Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arm/arm.c (use_return_insn): Not a single instruction, if
+ 	there's a frame pointer.
+ 	(arm_output_epilogue): Protect stack pointer from being corrupted
+ 	on interrupt.
+ 
+ 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
+ 
+ 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (simplify_set): Do not clear out undobuf.other_insn
+ 	already set elsewhere.
+ 
+ 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/i386/i386.c (ix86_expand_prologue):  Use
+ 	gen_allocate_stack_worker.
+ 
+ 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
+ 	without gas.
+ 	(mips-sgi-irix6*): Likewise.
+ 
+ 	* config/mips/iris6gas.h: New file.
+ 	* gcc/config.gcc (mips-sgi-irix6*): Use it.
+ 
+ 	* config/mips/mips.h (TARGET_IRIX): Provide default.
+ 	(TARGET_IRIX5): Likewise.
+ 	(TARGET_SGI_O32_AS): Likewise.
+ 	* config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
+ 	(TARGET_IRIX5): Likewise.
+ 	* config/mips/iris6.h (TARGET_IRIX6): Remove.
+ 	(TARGET_IRIX5): Redefine as 0.
+ 
+ 	* config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
+ 	linker workaround with TARGET_IRIX and mips_abi instead of
+ 	ASM_OUTPUT_UNDEF_FUNCTION.
+ 	(mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
+ 	testing TARGET_IRIX and mips_abi explicitly.
+ 	* config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
+ 	* config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
+ 
+ 	* config/mips/mips.c (irix_output_external_libcall): Renamed from
+ 	mips_output_external_libcall.
+ 	Use new TARGET_IRIX in guard.
+ 	* config/mips/mips-protos.h (irix_output_external_libcall): Match
+ 	this.
+ 	* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
+ 
+ 	* config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
+ 	Define as 0.
+ 
+ 	* config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
+ 	depending on mips_abi.
+ 	* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
+ 	* config/mips/mips.c (mips_output_function_prologue): Test
+ 	FUNCTION_NAME_ALREADY_DECLARED at runtime.
+ 	(mips_output_function_epilogue): Likewise.
+ 	(build_mips16_function_stub): Likewise.
+ 	(build_mips16_call_stub): Likewise.
+ 	* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
+ 	default.
+ 
+ 	* config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
+ 	IRIX 6 O32 assembler.
+ 	(SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
+ 	(TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
+ 	_MIPS_SIM for O32 ABI.
+ 	(DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
+ 	(ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
+ 	Integrate O32 version.
+ 	(SUBTARGET_ASM_SPEC): Handle -mabi=32.
+ 	(SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
+ 	O32 ABI.
+ 	(BSS_SECTION_ASM_OP_32): Define.
+ 	(BSS_SECTION_ASM_OP_64): Likewise.
+ 	(BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
+ 	using them.
+ 	(TARGET_ASM_NAMED_SECTION): Reflect renaming.
+ 	Move up to allow override for O32 ABI without GNU as.
+ 	(EH_FRAME_SECTION_NAME): Define explicitly.
+ 	(MUST_USE_SJLJ_EXCEPTIONS): Define.
+ 	[_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
+ 	DTORS_SECTION_ASM_OP): Dummy definitions.
+ 	(TARGET_ASM_NAMED_SECTION): Undef statically.
+ 	(EH_FRAME_SECTION_NAME): Likewise.
+ 	(ASM_OUTPUT_FILENAME): Integrate mips.h version.
+ 	(LINK_SPEC): Only use default options -call_shared -no_unresolved
+ 	without -r.
+ 	Don't pass -init, -fini with -mabi=32.
+ 	(COLLECT_PARSE_FLAG): Define.
+ 
+ 	* config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
+ 	TARGET_IRIX.
+ 	Renamed to use irix_ prefix.
+ 	(iris6_asm_named_section): Likewise.
+ 	(iris_section_align_entry_eq): Likewise.
+ 	(iris_section_align_entry_hash): Likewise.
+ 	(iris6_file_start): Likewise.
+ 	(iris6_section_align_1): Likewise.
+ 	(iris6_file_end): Likewise.
+ 	(iris6_section_type_flags): Likewise.
+ 	(iris_section_align_htab): Likewise.
+ 	(iris_orig_asm_out_file): Likewise.
+ 	[TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
+ 	(TARGET_ASM_FILE_END): Likewise.
+ 	(TARGET_SECTION_TYPE_FLAGS): Likewise.
+ 
+ 	* config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
+ 	(TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
+ 	override_options instead.
+ 	(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
+ 	(TARGET_ASM_UNALIGNED_DI_OP): Likewise.
+ 	* config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
+ 	flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
+ 	assemblers.
+ 	Likewise for constructor/destructor handling.
+ 	(override_options): Handle IRIX O32 assembler quirks.
+ 	[TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
+ 	without gas.
+ 	(mips_file_start): Use new TARGET_IRIX.
+ 	(mips_declare_object_name): No special processing for IRIX O32
+ 	assembler.
+ 	(mips_finish_declare_object): Likewise.
+ 	(irix_asm_output_align): Renamed from iris6_asm_output_align.
+ 	Don't record alignment for O32 ABI.
+ 	(irix_file_start): Renamed from iris6_file_start.
+ 	Return early for O32 ABI.
+ 	(irix_file_end): Renamed from iris6_file_end.
+ 	Don't emit .section directives for O32 ABI.
+ 	* config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
+ 	* config/mips/mips-protos.h (irix_asm_output_align): Likewise.
+ 
+ 	* config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
+ 	(MULTILIB_OSDIRNAMES): Likewise.
+ 
+ 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* collect2.c (COLLECT_PARSE_FLAG): Provide default.
+ 	(main): Use it.
+ 	* doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
+ 
+ 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm-modes.def (CC_Nmode): New condition code mode.
+ 	* arm.c (thumb_condition_code): Delete.
+ 	(arm_select_cc_mode): Handle single-bit test for Thumb.
+ 	(arm_print_operand, cases 'd' and 'D'): Don't special case the
+ 	condition code logic for Thumb.
+ 	(get_arm_condition_code): Handle CC_Nmode.
+ 	(thumb_cbrch_target_operand): New function.
+ 	* arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
+ 	* arm-protos.h (thumb_cbrch_target_operand): Add prototype.
+ 	* arm.md: Add Thumb split patterns for zero_extract and
+ 	sign_extract.
+ 	(tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
+ 	(orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
+ 	(xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
+ 	(subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
+ 	(cbranchne_decr1): Re-work to use CC_Nmode.
+ 
+ 	* arm.c (thumb_expand_epilogue): Add clobbers of registers restored
+ 	by the return instruction.  Add a use of the link register if it
+ 	wasn't stored.
+ 
+ 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (init_propagate_block_info): Don't abort if a conditional
+ 	jump is not a comparison of a register.  Instead, just don't record
+ 	conditional life information.
+ 
+ 2003-10-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR optimization/12630
+ 	* pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
+ 	for operands 7 and 8.
+ 
+ 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
+ 
+ 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
+ 
+ 	* config/i386/winnt.c (gen_stdcall_suffix): Make static
+ 	(gen_fastcall_suffix): Likewise.
+ 	(i386_pe_dllexport_p): Likewise.
+ 	(i386_pe_dllimport_p): Likewise.
+ 	(i386_pe_mark_dllexport): Likewise.
+ 	(i386_pe_mark_dllimport): Likewise.
+ 	(i386_pe_asm_named_section): Fix formatting.
+ 
+ 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
+ 	* system.h: Declare snprintf if necessary.
+ 	* configure, config.in: Regenerate.
+ 
+ 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
+ 	arguments if TARGET_ALTIVEC_ABI.
+ 
+ 2003-10-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
+ 	fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
+ 	fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
+ 	New functions.
+ 	(expand_builtin_memcpy): Use integer_zerop instead of testing
+ 	host_integerp and tree_low_cst directly.  Move misapplied hunk
+ 	for optimization wher SRC and DEST point to the same location.
+ 	(expand_builtin_mempcpy): From here.
+ 	(expand_builtin_memmove): Use integer_zerop instead of testing
+ 	host_integerp and tree_low_cst_directly.
+ 	(expand_builtin_memset): Likewise.
+ 	(expand_builtin_memcmp): Likewise (and for integer_onep).
+ 	(expand_builtin_strncmp): Likewise.
+ 	(fold_builtin): Call the appropriate fold_builtin_foo functions
+ 	to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
+ 	strcmp and strncmp.
+ 
+ 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
+ 	prototype.  Clean up some whitespace.
+ 	* config/darwin.c: Use gen_rtx_FOO (...) rather than
+ 	gen_rtx (FOO, ...).
+ 	(machopic_non_lazy_ptr_name): Make static.
+ 	(name_needs_quotes): Allow '.' and '$' unquoted.
+ 	(machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
+ 	case.
+ 
+ 2003-10-15  Gábor Lóki  <alga@rgai.hu>
+ 
+ 	* fold-const.c (tree_swap_operands_p): Disable some features
+ 	when optimizing for size.
+ 
+ 2003-10-15  David Daney  <ddaney@avtrex.com>
+ 
+ 	* config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
+ 	* config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
+ 	from leaf functions.
+ 	(DWARF_FRAME_RETURN_COLUMN): Ditto.
+ 	(SIGNAL_UNWIND_RETURN_COLUMN): New, used
+ 	by MD_FALLBACK_FRAME_STATE_FOR.
+ 	* testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
+ 
+ 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c: Include hashtab.h.
+ 	(modes_by_name, hash_mode, eq_mode, struct mode_adjust)
+ 	(adj_bytesize, adj_alignment, adj_format, new_adjust)
+ 	(_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
+ 	(print_maybe_const_decl, emit_mode_adjustments): New.
+ 	(known_modes): Rename to modes.
+ 	(find_mode): Kill class argument; look up in hash table.
+ 	(new_mode): Insert into hash table also.
+ 	(new_adjust): New.
+ 	(reset_float_format, make_partial_integer_mode)
+ 	(make_vector_mode): Tweak error reporting.
+ 	(reset_float_format): Correct type of fourth argument.
+ 	(emit_insn_modes_h): Add #defines to help make mode_size,
+ 	mode_base_align, and real_format_for_mode conditionally const.
+ 	(emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
+ 	(emit_real_format_for_mode): Likewise, but temporarily disabled.
+ 	(emit_insn_modes_c): Call emit_mode_adjustments.
+ 	(main): Initialize modes_by_name.
+ 	* Makefile.in: Update dependencies.
+ 	* machmode.def: Document EXPR arguments and new ADJUST_* statements.
+ 	* machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
+ 	declarations of mode_size and mode_base_align.  Declare
+ 	init_adjust_machine_modes.
+ 	* toplev.c (backend_init): Call init_adjust_machine_modes.
+ 
+ 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* genmodes.c (calc_wider_mode): Allocate enough room for all the
+ 	entries we'll possibly assign in the sort buffer.
+ 
+ 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config.gcc (s390x-ibm-tpf*): New target.
+ 	* doc/install.texi: Document it.
+ 	* config/s390/t-tpf: New file.
+ 	* config/s390/tpf.h: New file.
+ 
+ 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/12598
+ 	* config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
+ 	(define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
+ 	Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
+ 	("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
+ 	(define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
+ 	(define_split "*mov_sidesi_mem"+28, +29, +30): Use
+ 	replace_equiv_address, not gen_rtx_MEM.
+ 	* config/cris/cris.c (cris_mem_op): New match_operator function.
+ 	(cris_notice_update_cc): Use replace_equiv_address, not
+ 	gen_rtx_MEM.
+ 	* config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
+ 
+ 2003-10-15  Bernardo Innocenti <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
+ 	MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
+ 	definitions after the other flags.
+ 
+ 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (methoddef, methodproto): Call objc_add_method()
+ 	instead of add_method().
+ 	* objc/objc-act.c (objc_check_decl): Do not check for
+ 	constant_string_type.
+ 	(add_method): Rename to objc_add_method().
+ 	(really_start_method): Call objc_add_method() instead of
+ 	add_method().
+ 	* objc/objc-act.h (add_method): Rename to objc_add_method().
+ 
+ 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
+ 	(s390_slb_comparison): Likewise.
+ 	* config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
+ 	New functions.
+ 	* config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
+ 	and s390_slb_comparison.
+ 	* config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
+ 	zSeries machines.
+ 	("*adddi3_31z", "*subdi3_31z"): New insns.
+ 	("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
+ 	"*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
+ 	New insns.
+ 
+ 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Clean up some feedback echoes.
+ 	* configure: Regenerate.
+ 
+ 	* aclocal.m4: Properly quote names of macros being defined.
+ 
+ 	* config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
+ 
+ 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_call): Force function address
+ 	to DImode.
+ 	* config/ia64/ia64.md (call_gp): Put DImode on operand 0.
+ 
+ 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
+ 	"mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
+ 	("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
+ 	"*divsf3_ibm"): Likewise.
+ 
+ 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
+ 	target_alias with target_noncanonical.
+ 
+ 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* expr.c (block_move_libcall_safe_for_call_parm): Clean up,
+ 	and add case for machines where outgoing register parameters
+ 	get stack space.
+ 
+ 	* config/darwin.c (machopic_indirect_data_reference): Use a scratch
+ 	register when generating indirect address.
+ 
+ 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_addimm_operand): MODE arguemnt is unused.
+ 	* arm.md (cbranchne_decr1): Fix bootstrap warning.
+ 
+ 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (alpha_pthread_gcc): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
+ 	testcase.
+ 	Fixes PR bootstrap/9330.
+ 
+ 2003-10-13  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_adjust_field_align): Redo check for
+ 	too wide bitfields.
+ 	(frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
+ 	* config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
+ 	(SBSS_SECTION_ASM_OP): Remove.
+ 	(EXTRA_SECTIONS): Remove in_sbss.
+ 	(EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
+ 	(SBSS_SECTION_FUNCTION, sbss_section): Remove.
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
+ 	named_section.
+ 
+ 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in, configure.in, config.host, mkheaders.in: Replace
+ 	uses of ${target_alias} for directory names (and other places which
+ 	won't like the empty string) with ${target_noncanonical}.  Introduce
+ 	call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
+ 	available.
+ 	* configure: Regenerate.
+ 
+ 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
+ 	* config/arm/arm.md: For splits which rely on conditional moves,
+ 	remove ! TARGET_IWMMXT condition.
+ 
+ 2003-10-13  David S. Miller  <davem@redhat.com>
+ 
+ 	* ifcvt.c (num_removed_blocks): Rename to num_true_changes.
+ 	(find_cond_trap): Always increment if we emit a conditional
+ 	trap insn.
+ 
+ 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
+ 	with min-insn-modes.o.
+ 	(STAGESTUFF): Add min-insn-modes.c.
+ 	(genobjs): Add genmodes.o.
+ 	(print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
+ 	(insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
+ 	(min-insn-modes.c, min-insn-modes.o): New rules.
+ 	(s-modes): Also generate min-insn-modes.c.
+ 	($(BUILD_PREFIX_1)insn-modes.o): Kill.
+ 	* genmodes.c (struct mode_data): Add format field.
+ 	(blank_mode, validate_mode, complete_mode): Update to match.
+ 	(make_scalar_mode): Separate into make_int_mode and make_float_mode.
+ 	(_SCALAR_MODE): Kill.
+ 	(FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
+ 	(emit_insn_modes_c_header): Adjust.
+ 	(emit_min_insn_modes_c_header, emit_real_format_for_mode)
+ 	(emit_min_insn_modes_c): New functions.
+ 	(emit_insn_modes_c): Call emit_real_format_for_mode.
+ 	(main): Add -m option to generate min-insn-modes.c.
+ 	* machmode.h: Update documentation.  Add format argument to
+ 	all uses of FLOAT_MODE.
+ 	* real.c: Don't define real_format_for_mode here.
+ 
+ 	* dwarfout.c: Move default definition of PRINT_REG...
+ 	* defaults.h: ...here.
+ 	* print-rtl.c: Include tm_p.h.
+ 	(DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
+ 	Kill.
+ 	(print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
+ 	this entire block with #ifndef GENERATOR_FILE.
+ 	* regclass.c: Unconditionally define reg_names.
+ 	* config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
+ 	Don't define DEBUG_REGISTER_NAMES.
+ 	* config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
+ 	redefinition of REGISTER_NAMES.
+ 	* config/i386/i386.h: Don't define DEBUG_PRINT_REG.
+ 
+ 	* combine.c: Change all preprocessor conditionals on
+ 	EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
+ 	for clarity.
+ 	* genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
+ 	* configure.in: Don't define EXTRA_CC_MODES.
+ 	* configure, config.in: Regenerate.
+ 	* doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
+ 
+ 	* config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
+ 	May assume that GET_MODE_CLASS is accurate for extra CC modes
+ 	at all times.
+ 
+ 	* config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
+ 	number of arguments to aggregate_value_p.
+ 
+ 	* genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
+ 	* machmode.def: Explain ARCH-modes.def.  Document
+ 	RESET_FLOAT_FORMAT.  Improve commentary on various mode
+ 	clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
+ 	XF, or TF modes here.  Remove backward-compatibility
+ 	definition of CC.
+ 
+ 	* config/alpha/alpha-modes.def: New file; define TF mode.
+ 	* config/arc/arm-modes.def: Define XF mode.
+ 	* config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
+ 	float format for SF and DF modes.
+ 	* config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
+ 	* config/i386/i386-modes.def: Define XF and TF modes.
+ 	* config/i960/i960-modes.def: Define TF mode.
+ 	* config/ia64/ia64-modes.def: Define TF and OI modes.
+ 	* config/m68k/m68k-modes.def: New file; define XF mode.
+ 	* config/mips/mips-modes.def: New file; define TF mode, reset
+ 	formats for SF and DF modes.
+ 	* config/pa/pa-modes.def: Define TF mode.
+ 	* config/rs6000/rs6000.c: Define TF and PSI modes.
+ 	* config/s390/s390-modes.def: Define OI mode.
+ 	* config/sh/sh-modes.def: New file; define PSI mode.
+ 	* config/sparc/sparc-modes.def: Define TF mode.
+ 	* config/vax/vax-modes.def: New file; reset formats for SF and
+ 	DF modes.
+ 
+ 	* config/c4x/c4x.c (c4x_override_options): No need to mess
+ 	with real_format_for_mode or set REAL_MODE_FORMATs.
+ 	(c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
+ 	variable.
+ 	* config/i386/i386.c (override_options): No need to set
+ 	REAL_MODE_FORMATs here.
+ 	* config/i960/i960.c (i960_initialize): Likewise.
+ 	* config/m68k/m68k.c (m68k_override_options): Likewise.
+ 	* config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
+ 	for TFmode only if not the default.
+ 	* config/mips/mips.c (override_options): Likewise.
+ 	* config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
+ 	DFmode only if not the default.
+ 
+ 	* config/i370/i370.h (RET_REG): Don't consider TFmode.
+ 	* config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
+ 	* config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
+ 	of modes that don't appear anywhere in the machine description.
+ 
+ 	* config/arc/arc-modes.def, config/arm/arm-modes.def
+ 	* config/c4x/c4x-modes.def, config/frv/frv-modes.def
+ 	* config/i386/i386-modes.def, config/i960/i960-modes.def
+ 	* config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
+ 	* config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
+ 	* config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
+ 	* config/sparc/sparc-modes.def: Convert to new style for
+ 	declaring extra CC modes.
+ 
+ 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplex.c (_cpp_clean_line): In the common case of a line
+ 	with no trigraphs and no \-newline, avoid writing to memory.
+ 	(_cpp_skip_block_comment): Use a local 'cur' pointer instead
+ 	of the buffer member.  Make c an uchar to avoid unnecessary
+ 	sign extensions.
+ 
+ 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Remove unnecessary test.
+ 	* configure: Regenerate.
+ 
+ 	* configure.in: Fix grammatical error.  Move UWIN host error to...
+ 	* config.host: Here.
+ 	* configure: Regenerate.
+ 
+ 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
+ 	"*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
+ 	of flag_unsafe_math_optimizations.
+ 	* config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
+ 	"TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
+ 	fused-madd and no-fused-madd.
+ 	* doc/invoke.texi: Documented the new options fused-madd and
+ 	no-fused-madd for S/390.
+ 
+ 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
+ 	MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
+ 	assign DEFAULT_ABI.
+ 	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
+ 	* config/rs6000/rs6000.c: Formatting.
+ 	(rs6000_parse_alignment_option): Only set rs6000_alignment_flags
+ 	when rs6000_alignment_string given.
+ 
+ 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12538
+ 	* config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
+ 	(sparc_flat_must_save_register_p): New function to decide whether
+ 	a register must be saved/restored in the function prologue/epilogue.
+ 	(sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
+ 
+ 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* config/avr/avr.c, config/avr/avr-protos.h: Convert to
+ 	ISO C90 function declarations and definitions.
+ 	* config/sh/sh.c, config/sh/sh-protos.h: Likewise.
+ 
+ 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
+ 	config files which do the same thing.
+ 	* config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
+ 	config/freebsd6.h: Remove now unnecessary files.
+ 
+ 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Warn if the
+ 	address of a non-weak function is used as a truth value.
+ 
+ 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
+ 	a literal.
+ 	* config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
+ 	instead of a literal.
+ 
+ 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Mention the exceptional
+ 	path for noreturn-marked functions.
+ 
+ 2003-10-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
+ 	warning.
+ 
+ 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/i386.c (x86_this_parameter): Fix typo.
+ 
+ 2003-10-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (web.o): New.
+ 	* web.c: New file.
+ 	* rtl.h (web_main): Declare.
+ 	* timervar.def (TV_WEB): New.
+ 	* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
+ 	(rest_of_hanle_web): New.
+ 	(flag_web): New static variable.
+ 	(lang_independent_options): Add "web".
+ 	(rest_of_compilation): Call rest_of_handle_web.
+ 	* invoke.texi (-fweb): Document.
+ 	* common.opt (fweb): New.
+ 	* flags.h (flag_web): New.
+ 	* opts.c (decode_options): Set flag_web at -O3.
+ 
+ 	* passes.texi (web construction):  Document.
+ 	* invoke.texi (-O3): Document that -fweb is enabled.
+ 
+ 	* regrename.c (regrename_optimize): Deal better with situation when
+ 	replacement failed.
+ 
+ 	* sched-ebb.c: Include params.h and profile.h
+ 	(schedule_ebbs):  Use tracer parameters to discover superblocks
+ 	* Makefile.in (sched-ebb.o):  Add dependencies.
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_mathfn_p): New function to determine whether
+ 	a built-in mathematical function is sign preserving, f(-x) == -f(x).
+ 	Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
+ 	(tree_swap_operands_p): Change API to take an additional argument
+ 	indicating that the swapped operands evaluate in reverse order.
+ 	Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
+ 	operand side-effects or we don't care about flag_evaluation_order.
+ 	(reorder_operands_p): New function to check whether its safe to
+ 	evaluate the given operands in reverse order.
+ 	(negate_expr_p):  We can always negate integer constants unless
+ 	we honor -ftrapv and the signed type would overflow.  Only allow
+ 	-(A-B) into B-A if reorder_operands_p says that its OK.  Allow
+ 	negation of COMPLEX_CST if both real and imaginary parts can be
+ 	negated.  Allow negation through floating point extensions and
+ 	sign-preserving built-in functions.
+ 	(negate_expr):  Move the code to negate integers from "fold" to
+ 	here.  Always negate integer constants unless we honor -ftrapv
+ 	and the signed type would overflow.  Always negate real constants
+ 	unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
+ 	if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
+ 	Optimize negation through floating point extensions and
+ 	sign-preserving built-in functions (as defined by negate_mathfn_p).
+ 	(fold): Adjust calls to tree_swap_operands_p.
+ 	(fold <NEGATE_EXPR>): Move the remaining negation optimizations
+ 	to negate_expr_p/negate_expr.
+ 	(fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
+ 	allowed to convert (-A) - B into (-B) - A.
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_strcmp): Defend against the possibility
+ 	that gen_cmpstrsi may fail: Stabilize the argument list against
+ 	re-evaluation and expand the library call directly using this saved
+ 	argument list if a cmpstrsi sequence can't be generated.
+ 	(expand_builtin_strncmp): Likewise.
+ 
+ 	* config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/12260
+ 	* simplify-rtx.c (simplify_unary_operation): Simplify all unary
+ 	operations through CONST nodes.  Optimize (neg (plus X C)) as
+ 	(minus -C X) for constant values C.
+ 	(simplify_binary_operation): Optimize (minus (neg X) C) as
+ 	(minus -C X) for constant values C.
+ 	(simplify_plus_minus): Avoid creating (neg (const (plus X C)),
+ 	instead create (minus -C X).
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
+ 	safe_from_p for us, once it chooses an evaluation order.
+ 	(expand_expr <MULT_EXPR>): Likewise.
+ 	(expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
+ 	places the second operand in "target", swap the operands.
+ 	(do_store_flag): Let expand_operands call safe_from_p for us.
+ 
+ 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12544
+ 	* function.c (put_var_into_stack): Don't generate ADDRESSOFs
+ 	for DECL_NONLOCAL decls.
+ 
+ 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c: Follow spelling conventions.
+ 	* final.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* sched-deps.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 
+ Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* varasm.c (notice_global_symbol):  Fix handling of variables; avoid
+ 	re-computing of variable.
+ 
+ 2003-10-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_return_in_memory): Rename from
+ 	return_in_memory, make static, change signature to match target hook.
+ 	(alpha_setup_incoming_varargs): Make static, change signature to
+ 	match target hook, add code for vms and unicos.
+ 	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+ 	TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
+ 	TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
+ 	TARGET_STRICT_ARGUMENT_NAMING,
+ 	TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
+ 	PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
+ 	SETUP_INCOMING_VARARGS): Remove.
+ 	* config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
+ 	* config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
+ 
+ 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68k/lb1sf68.asm: Follow spelling conventions.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m68k/m68k.md: Likewise.
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_memcpy): Optimize case when the two
+ 	pointer arguments are the equal, non-volatile and side-effect free.
+ 	(expand_builtin_mempcpy): Likewise.
+ 	(expand_builtin_memmove): Likewise.
+ 	(expand_builtin_strcpy): Likewise.
+ 	(expand_builtin_memcmp): Likewise.
+ 	(expand_builtin_strcmp): Likewise.
+ 	(expand_builtin_strncmp): Likewise.
+ 
+ 2003-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (apply_distributive_law): Enable "distributive" floating
+ 	point optimizations with -funsafe-math-optimizations.
+ 
+ 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
+ 
+ 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68k/m68k-protos.h: Remove the prototype for
+ 	finalize_pic.
+ 
+ 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68k/m68k.c: Fix comment typos.
+ 
+ 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k-protos.h (use_return_insn): Change return type from
+ 	int to bool.
+ 	* config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
+ 	(current_frame): New global var.
+ 	(m68k_compute_frame_layout): Cache computations in current_frame.
+ 	(m68k_initial_elimination_offset): Use values from current_frame
+ 	instead of recomputing them.
+ 	(use_return_insn): Likewise.
+ 	(m68k_output_function_prologue): Likewise.
+ 	(m68k_output_function_epilogue): Likewise.
+ 	* config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
+ 	inside the block for __pic__.
+ 
+ 2003-10-11  Peter Barada <peter@baradas.org>
+ 	    Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
+ 	(m68k_save_reg): Add boolean parameter `interrupt_handler'.
+ 	(m68k_interrupt_function_p): New function.
+ 	(m68k_handle_fndecl_attribute): Ditto.
+ 	(m68k_compute_frame_layout): Ditto.
+ 	(m68k_attribute_table): Define back-end specific attributes.
+ 	(m68k_output_function_epilogue): Emit RTE instruction for interrupt
+ 	functions.
+ 
+ 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/t-uclinux: New target Makefile fragment.
+ 	* config/m68k/uclinux.h: New target macro file.
+ 	* config.gcc (m68k-*-uclinux): New target definition.
+ 
+ 2003-10-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (builtin_mathfn_code): Generalize to check whether
+ 	the call is to any built-in function by comparing the call's
+ 	argument list against the builtin decl's function type.
+ 
+ 2003-10-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (constant_pool_entries_regcost): New global variable to
+ 	hold the register cost component of constant_pool_entries_cost.
+ 	(fold_rtx): Calculate constant_pool_entries_regcost at the same
+ 	time as constant_pool_entries_cost.
+ 	(cse_insn): Set both src_folded_cost and src_folded_regcost from
+ 	constant_pool_entries_cost and constant_pool_entries_regcost.
+ 	(cse_main): Initialize constant_pool_entries_regcost to zero.
+ 
+ 	* optabs.c (expand_unop): Attach a REG_EQUAL note describing
+ 	the semantics of the sequence of bit operations used to negate
+ 	a floating-point value.
+ 	(expand_abs_nojump): Likewise attach a REG_EQUAL note describing
+ 	the semantics of the bit operations used to abs a floating point
+ 	value.
+ 
+ 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
+ 	    Paul Dale  <pauli@snapgear.com>
+ 
+ 	* config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
+ 	support.
+ 	* config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
+ 	-fpic, -fPIC, -msep-data and -mid-shared-library.
+ 	* config/m68k/m68k.c (m68k_library_id_string): New global variable.
+ 	(override_options): Add -msep-data and -mshared-library-id support.
+ 	(m68k_output_function_prologue): Generate code to load A5 for
+ 	TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
+ 	(m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
+ 	(m68k_output_pic_call): New function.
+ 	* gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
+ 	(TARGET_ID_SHARED_LIBRARY): Ditto.
+ 	(TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
+ 	* gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
+ 	(call_value): Likewise.
+ 
+ 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gengenrtl.c (find_formats, genheader): Make i an unsigned
+ 	int, remove cast of NUM_RTX_CODE.
+ 	* machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
+ 	entire file.  Remove the #ifs on GET_MODE_MASK etc and
+ 	GET_MODE_WIDER_MODE etc.
+ 
+ 2003-10-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* lcm.c (optimize_mode_switching): Change NORMAL_MODE
+ 	to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
+ 	that set mode.
+ 	* config/sh/sh.h (MODE_ENTRY): New macro.
+ 	(MODE_EXIT): Ditto.
+ 	(MODE_AFTER): Ditto.
+ 	* config/sh/sh.md: Change for MODE_AFTER. Add
+ 	fp_set attribute.
+ 	* doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
+ 
+ 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c, mode-classes.def: New files.
+ 	* machmode.def: Rewritten to genmodes.c interface.
+ 	* Makefile.in (extra_modes_file): New substitution variable.
+ 	(MACHMODE_H): No longer includes machmode.def or
+ 	@extra_modes_file@; instead, mode-classes.def and insn-modes.h.
+ 	(BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
+ 	(OBJS-common): Add insn-modes.o.
+ 	(STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
+ 	genmodes$(build_exeext).
+ 	(insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
+ 	genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
+ 	(s-genrtl): Don't depend on $(RTL_BASE_H).
+ 	(gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
+ 	or $(RTL_BASE_H); just rtl.def.
+ 	* gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
+ 	real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
+ 	substitute definition of NUM_RTX_CODE.  Add casts to avoid
+ 	warnings.
+ 	* machmode.h: Include insn-modes.h, not machmode.def.  Include
+ 	mode-classes.def to define enum mode_class.  Tweak definitions
+ 	of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
+ 	GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
+ 	(inner_mode_array): Renamed mode_inner.
+ 	(mode_base_align): New.
+ 	* rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
+ 	mode_unit_size, mode_wider_mode, mode_mask_array,
+ 	inner_mode_array, class_narrowest_mode): Delete definitions.
+ 	* stor-layout.c (get_mode_alignment): Use mode_base_align.
+ 	* real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
+ 	and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
+ 
+ 	* config/ip2k/ip2k.h, config/iq2000/iq2000.h:
+ 	No need to define BITS_PER_UNIT.
+ 
+ 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
+ 	(ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
+ 	(ia64_initialize_trampoline): If not using GAS, declare trampoline
+ 	as global.
+ 	* config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
+ 	(ASM_OUTPUT_DEBUG_LABEL): Likewise.
+ 
+ 	* stor-layout.c (compute_record_mode): Don't force BLKmode if
+ 	field is zero-length BLKmode.
+ 	* expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
+ 	zero-size references.
+ 
+ 	* combine.c (distribute_links): Properly test for REG being set.
+ 
+ 	* config/alpha/alpha.c (alpha_expand_block_mode): Don't use
+ 	gen_lowpart and company except for REG.
+ 
+ 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
+ 
+ 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (mips*-*-netbsd*): Remove content-free line.
+ 
+ 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
+ 
+ 	* gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
+ 	gcov_position_t and gcov_type.
+ 
+ 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
+ 	* configure: Regenerate.
+ 
+ 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (define_asm_attributes): Specify
+ 	the length of an asm insn more precisely.
+ 
+ 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
+ 
+ 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
+ 	FP register number to 48 and MAC16 accumulator to 0x210.
+ 
+ 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Remove redundant thread_file setting clauses for
+ 	various *-*-linux* targets.
+ 
+ 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (define_asm_attributes): New.
+ 
+ 2003-10-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
+ 	to the comparison, as emit_libcall_block calls copy_rtx on equiv.
+ 
+ 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* haifa-sched.c (ok_for_early_schedule): New function.
+ 	(early_queue_to_ready): New function.
+ 	(schedule_block): Allow early removal of insns from Q.
+ 	(schedule_insn): Update INSN_TICK in case of premature
+ 	issue.
+ 	* common.opt (sched_stalled_insns): New flag.
+ 	(sched_stalled_insns_dep): New flag.
+ 	* flags.h: Same above flags.
+ 	* opts.c: Same as above.
+ 	* toplev.c: Same as above.
+ 	* target.h (targetm.sched.is_costly_dependence): New
+ 	hook.
+ 	* target-def.h: Same as above.
+ 	* config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
+ 	Support new flag -msched-costly-dep.
+ 	(DEFAULT_SCHED_COSTLY_DEP): Define.
+ 	* config/rs6000/rs6000.c:
+ 	(rs6000_is_costly_dependence): New function.
+ 	(is_load_insn, is_store_insn): New functions.
+ 	(is_load_insn1, is_store_insn1, is_mem_ref): New
+ 	functions.
+ 	* doc/invoke.texi (-fsched-stalled-insns-dep)
+ 	(-fsched-stalled-insns, -msched-costly-dep): Document
+ 	options.
+ 	* doc/tm.texi (is_costly_dependence): Define new
+ 	scheduler target hook.
+ 
+ 2003-10-09  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/6392
+ 	* c-common.c (c_build_qualified_type): Look through arrays first.
+ 	(c_apply_type_quals_to_decl): Look through arrays.
+ 
+ 	* c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
+ 	types with constructors.
+ 
+ 	* coverage.c (build_ctr_info_value): Use build_decl to make a
+ 	VAR_DECL.
+ 	(create_coverage): Likewise.
+ 
+ 	* stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
+ 	here.
+ 	(expand_asm_operands): Not here.
+ 	(parse_input_constraint): No longer static.
+ 	* tree.h: Declare it.
+ 
+ 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/t-linux (SHLIB_LINK): Override to use a linker script
+ 	libgcc_s.so.
+ 	(SHLIB_INSTALL): Likewise.
+ 
+ 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Remove reference to removed 'pthreads' thread
+ 	option.
+ 
+ 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
+ 	operand 2.
+ 
+ 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Don't accept --enable-threads=pthreads.  Clean
+ 	up related case statements.
+ 	* configure.in: Don't accept --enable-threads=pthreads,
+ 	decosf1, mach, or os2 (none of which work anyway).  Alphabetize
+ 	supported thread files in case clause.
+ 	* configure: Regenerate.
+ 
+ 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
+ 	definition to above SPARC_STACK_BOUNDARY_HACK.
+ 
+ 2003-10-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	* c-pretty-print.c (pp_c_postfix_expression)
+ 	<COMPOUND_LITERAL_EXPR>: Fix thinko.
+ 
+ 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* mklibgcc.in: Don't hide undefined or typeless symbols.
+ 
+ 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR optimization/12142
+ 	* cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+ 	uses of the register in the SET_SRC.  Remove unnecessary argument.
+ 	* pa.c (legitimize_pic_address): Before reload, use a scratch register
+ 	for the intermediate result in loading the address of a SYMBOL_REF.
+ 	Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
+ 	which loads the SYMBOL_REF address.
+ 
+ 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/12490
+ 	* scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
+ 	to define the size of the extern_C_braces array.  Set it to 200.
+ 	(scan_decls): Abort when extern_C_braces_length is out-of-bounds.
+ 
+ 2003-10-08  Carlo Wood  <carlo@alinoe.com>
+ 
+ 	* Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
+ 	a space after the -o option.  flex 2.5.31 understands both, with
+ 	and without the space. Removed that space.
+ 
+ 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_frame_info): Add cprestore_size field.
+ 	(compute_frame_size): Initialize it.  Remove the .cprestore slot
+ 	from args_size.
+ 	(mips_output_function_prologue): Simplify accordingly.
+ 	(mips_debugger_offset): Change the mips16 frame pointer offset from
+ 	current_function_outgoing_args to cfun->machine->frame.args_size.
+ 	(mips_initial_elimination_offset): Likewise.
+ 	(mips_expand_prologue): Likewise.
+ 	(mips_expand_epilogue): Likewise.
+ 
+ 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
+ 	(EXTRA_MEMORY_CONSTRAINT): Define.
+ 	(CAN_ELIMINATE): Remove lwu workaround.
+ 	* config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
+ 	Use a 'W' constraint for the source operand.
+ 
+ 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genopinit.c (main): Output code to declare undefined
+ 	variables.
+ 
+ 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* gengtype-lex.l: Remove -Wtraditional cruft.
+ 	* Makefile.in (gengtype-lex.c): Likewise.
+ 
+ 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
+ 
+ 2003-10-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/12519
+ 	* c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
+ 	it isn't a decl.
+ 
+ 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gcc.c (cpp_options): Only pass -fworking-directory for -g* if
+ 	not overridden.
+ 	Fixes PR bootstrap/12173.
+ 
+ 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* errors.c: Don't include coretypes.h or tm.h.
+ 	(trim_filename): Use IS_DIR_SEPARATOR.
+ 	* Makefile.in: Update dependencies of errors.o and
+ 	$(BUILD_PREFIX_1)errors.o.
+ 
+ 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
+ 	account	when aligning arguments.
+ 	* calls.c (STACK_POINTER_OFFSET): Move default from here ...
+ 	* defaults.h (STACK_POINTER_OFFSET): ... to here.
+ 	* config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
+ 	it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
+ 	(SPARC_STACK_BOUNDARY_HACK): Define.
+ 	* config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
+ 	arrange for vector parameters to varargs functions to be passed
+ 	in both memory and GPRs when appropriate.
+ 	(rs6000_va_arg): Vector arguments passed in memory are 16-byte
+ 	aligned.
+ 
+ 	* hooks.c (hook_bool_tree_true): New.
+ 	(hook_rtx_tree_int_null): New.
+ 	(hook_rtx_rtx_null): Use NULL, not 0.
+ 	* hooks.h: Add 'extern' to everything.
+ 	(hook_bool_tree_true): New.
+ 	(hook_rtx_tree_int_null): New.
+ 	* targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
+ 	* targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
+ 	* config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
+ 	prototype.
+ 	* config/rs6000/rs6000.c (rs6000_return_in_memory): New.
+ 	(setup_incoming_varargs): Prototype.
+ 	(TARGET_PROMOTE_FUNCTION_ARGS): Define.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Define.
+ 	(TARGET_STRUCT_VALUE_RTX): Define.
+ 	(TARGET_RETURN_IN_MEMORY): Define.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Define.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Define.
+ 	(TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
+ 	(init_cumulative_args): Use rs6000_return_in_memory.
+ 	(setup_incoming_varargs): Make 'static'.
+ 	* config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
+ 	(PROMOTE_FUNCTION_RETURN): Delete.
+ 	(STRUCT_VALUE): Delete.
+ 	(RETURN_IN_MEMORY): Delete.
+ 	(SETUP_INCOMING_VARARGS): Delete.
+ 
+ 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/invoke.texi (Warning Options): Simplify and clarify the
+ 	descriptions of -Wnonnull and -Winit-self.
+ 
+ 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* optabs.c (init_intraclass_conv_libfuncs): Fix order of array
+ 	indicees for floating-point conversersion libcalls.
+ 
+ 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in: Add more comments separating large conceptually
+ 	separate sections.
+ 
+ 	* configure.in: Clean up thread file logic.
+ 	* configure: Regenerate.
+ 
+ 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
+ 	(switch_to_section): Handle in_readonly_data.
+ 	* config/i386/winnt.c (i386_pe_asm_named_section): Handle
+ 	readonly data.
+ 
+ 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
+ 	it.
+ 	(cbranchne_decr1): New Thumb pattern.
+ 	* arm.c (arm_addimm_operand): New insn predicate.
+ 	* arm-protos.h: Add a prototype for it.
+ 	* arm.h (PREDICATE_CODES): Add it.
+ 
+ 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
+ 
+ 	* sched-int.h (sched_info): New field
+ 	sched_max_insns_priority.
+ 	* sched-rgn.c (init_ready_list): Add invocations to
+ 	targetm.sched.adjust_priority.
+ 	(sched_max_insns_priority): Init new field.
+ 	* sched-ebb.c (sched_max_insns_priority): Init new field.
+ 	* haifa-sched.c (set_priorities): Set
+ 	sched_info->sched_max_insns_priority.
+ 	* config/rs6000/rs6000.h:
+ 	(rs6000_sched_restricted_insns_priority_str): Support new
+ 	flag -mprioritize-restricted-insns.
+ 	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
+ 	* config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
+ 	function.
+ 	(rs6000_adjust_priority): Change priority of restricted
+ 	insns, using above new function and new flag.
+ 	* doc/invoke.texi (-mprioritize-restricted-insns): Document
+ 	new option.
+ 
+ 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* expr.c (cmpstr_optab, cmpmem_optab): New.
+ 	* genopinit.c: Initialize them.
+ 	* optabs.h: Declare them.
+ 	* optabs.c (init_optabs): Clear them.
+ 	(prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
+ 	block memory compare insns, not conditional chains.  Restructure
+ 	the fallback generation of a call to memcmp/bcmp for better
+ 	readability.
+ 
+ 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
+ 	(mips_save_restore_fn): New typedef.
+ 	(mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
+ 	(mips_set_frame_expr, mips_frame_set): Move above prologue code.
+ 	(save_restore_insns): Remove, replacing with...
+ 	(mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
+ 	(mips_save_reg, mips_restore_reg): New function.
+ 	(mips_expand_prologue, mips_expand_epilogue): Rework.
+ 	* config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
+ 	(MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
+ 	(MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
+ 
+ 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_expand_prologue): Remove unused
+ 	traversal of function arguments.
+ 
+ 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Remove documentation of -mentry.
+ 	* config/mips/mips.c (mips_entry_string, mips_entry): Remove.
+ 	(override_options, mips_save_reg_p): Remove handling.
+ 	(compute_frame_size, mips_output_function_prologue): Likewise.
+ 	(mips_expand_prologue, mips_expand_epilogue): Likewise.
+ 	* config/mips/mips.h (mips_entry_string): Remove declaration.
+ 	(TARGET_OPTIONS): Remove -mentry.
+ 	* config/mips/mips16.S: Remove mention of -mentry.
+ 
+ 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
+ 	(LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
+ 	(LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
+ 	(LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
+ 	(LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
+ 	(LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
+ 	(LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
+ 	(LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
+ 	(LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
+ 	(LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
+ 	(LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
+ 	(extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
+ 	(extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
+ 	(truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
+ 	(trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
+ 	(floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
+ 	(floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
+ 	(floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
+ 	(floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
+ 	(fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
+ 	(fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
+ 	(fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
+ 	(fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
+ 	(fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
+ 	(fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
+ 	(fixunstfti_libfunc): Delete.
+ 	* optabs.h (struct optab_handlers): Break out of struct optab.
+ 	(struct convert_optab, convert_optab, enum convert_optab_index,
+ 	convert_optab_table, sext_optab, zext_optab, trunc_optab,
+ 	sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
+ 	sfloat_optab, ufloat_optab): New.
+ 	(set_conv_libfunc): Prototype.
+ 	(GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
+ 	(trunc_optab): Renamed btrunc_optab.
+ 	* builtins.c (expand_builtin_mathfn): Update to match.
+ 	* optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
+ 	(convert_optab_table, new_convert_optab, init_convert_optab)
+ 	(init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
+ 	(set_conv_libfunc): New.
+ 	(can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
+ 	(expand_float, expand_fix): Use new conversion optabs,
+ 	not old insn code tables or long chains of ifs.
+ 	(init_optabs): No need to clear old insn code tables.
+ 	Initialize the new optabs, not the old libfunc array entries.
+ 	Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ 	* genopinit.c: Initialize conversion optabs, not the
+ 	former insn code tables.  Remove unnecessary casts.
+ 	Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ 	* expr.c (convert_move): Remove redundant check that
+ 	to_real==from_real.  Use the conversion optabs instead
+ 	of long chains of tests of modes.  Move partial-integer-mode
+ 	interconversion above all integer conversion.  Do not recurse
+ 	on a value forced into a register in the original mode.
+ 
+ 	* config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
+ 	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
+ 	* config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
+ 	in new conversion optabs; do not reference the old libfunc
+ 	array entries.  No need to include libfuncs.h.
+ 
+ 2003-10-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_setcc): Annotate the floating
+ 	point comparison sequence with a REG_EQUAL note that describes
+ 	the comparison's semantics.
+ 
+ 2003-10-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
+ 	of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
+ 
+ 2003-10-06  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
+ 	instruction by using LCT_CONST and then calling emit_libcall_block
+ 	ourselves.
+ 
+ 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR optimization/11974
+ 	* optabs.c (expand_unop): Promote libcall outmode according to
+ 	hard_libcall_value.
+ 
+ 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* real.h (REAL_MODE_FORMAT): New macro.
+ 	* c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
+ 	* config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
+ 	* config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
+ 	* config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
+ 	* config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
+ 	directly to real_format_for_mode array, wherever possible.
+ 
+ 2003-10-06  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dwarf2out.c (is_main_source): Remove variable.
+ 	(dwarf2out_start_source_file): Do not check is_main_source.
+ 	Do not reset is_main_source.
+ 	(dwarf2out_init): Do not initialize is_main_source.
+ 
+ 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
+ 	(irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
+ 	introduced some multi-line prototypes.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
+ 	* config/mips/mips.c (stack_operand): New predicate.
+ 	* config/mips/mips.md: Use it for the destination of mips16 insns
+ 	that store $31.
+ 
+ 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*lowsi): Renamed from lowsi.
+ 	(*lowdi): Likewise lowdi.
+ 	(*lowsi_mips16, *lowdi_mips16): New patterns.
+ 	* config/mips/mips.c (mips_const_insns, mips_output_move): Remove
+ 	mips16 CONSTANT_RELOC handling.
+ 	(mips_delegitimize_address): Adjust for new sdata representation.
+ 
+ 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
+ 	skip any remaining register arguments.
+ 
+ 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads_subreg_address): Use correct offset for
+ 	paradoxical MEM subregs on big-endian targets.
+ 
+ 2003-10-06  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree.c (get_callee_fndecl): Call
+ 	lang_hooks.lang_get_callee_fndecl.
+ 	* langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
+ 	(lhd_get_callee_fndecl): New.
+ 
+ 2003-10-06  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ 	error in calculating the length of the string.
+ 	(machopic_stub_name): Likewise.
+ 
+ 2003-10-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
+ 	describing the return value of the comparison libcall to the
+ 	REG_RETVAL instruction of the emitted sequence.
+ 
+ 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12215
+ 	* cse.c (cse_set_around_loop): Emit the move at the beginning
+ 	of the next basic block for trapping sets.
+ 
+ 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11637
+ 	* combine.c (adjust_for_new_dest): New function to adjust the
+ 	notes and LOG_LINKS when the dest of an insn has changed.
+ 	(try_combine): Use it when deleting the first insn of a two-insn
+ 	parallel or splitting a two-load parallel.
+ 
+ 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
+ 	if TARGET_EXPLICIT_RELOCS.
+ 
+ 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR bootstrap/12512
+ 	* Makefile.in (info): Use double-colon rules.
+ 	(dvi): Likewise.
+ 	(generated-manpages): Likewise.
+ 	* configure.in: Do not create lang.info, lang.dvi, or
+ 	lang.generated-manpages hooks.
+ 	* configure: Regenerated.
+ 	* objc/Make-lang.in (objc.info): Remove.
+ 	(objc.dvi): Remove.
+ 	(objc.generated-manpages): Remove.
+ 	* doc/sourcebuild.texi: Update description of info, dvi, and
+ 	generated-manpages hooks.
+ 
+ 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
+ 
+ 2003-10-05  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ 	errors in memcpy destinations.
+ 	(machopic_stub_name): Likewise.
+ 
+ 2003-10-05  Andrew Pinski <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_non_lazy_ptr_name):
+ 	Change strcat to memcpy and add length together.
+ 	(machopic_stub_name): Likewise.
+ 
+ 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
+ 	signal trampoline codes.
+ 
+ 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (*divsf3): Move description of
+ 	SB-1 F2 erratum from here to...
+ 	(divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
+ 	flag_unsafe_math_optimizations is not.
+ 
+ 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
+ 	TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
+ 
+ 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-pretty-print.c: Fix comment typos.
+ 	* c-pretty-print.h: Likewise.
+ 	* calls.c: Likewise.
+ 	* cfgloopmanip.c: Likewise.
+ 	* cgraphunit.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* final.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* postreload.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* sched-int.h: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* config/m68hc11/m68hc11.h: Likewise.
+ 	* config/mmix/mmix.c: Likewise.
+ 	* config/mn10300/mn10300.md: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 
+ 2003-10-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-inline.c (remap_type): New.
+ 	(remap_decl): Use it.  Remap DECL_SIZE*.
+ 	(copy_body_r): Use it.
+ 	(walk_tree): Walk TREE_TYPE too.
+ 	(copy_tree_r): Don't walk subtrees of types.
+ 	* tree.c (variably_modified_type_p): Restructure.  Consider integer
+ 	types with non-const bounds variably modified.
+ 
+ 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Fix typos.
+ 
+ 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c: Follow spelling conventions.
+ 	* function.c: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/rs6000/aix.h: Likewise.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/xtensa/xtensa.c: Likewise.
+ 
+ 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-pretty-print.c: Fix comment formatting.
+ 	* cfglayout.c: Likewise.
+ 	* cfgloopanal.c: Likewise.
+ 	* cppcharset.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* target.h: Likewise.
+ 
+ 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
+ 
+ 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
+ 	Convert to ISO C90 function declarations and definitions.
+ 
+ 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* libfuncs.h
+ 	(LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
+ 	(LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
+ 	(LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
+ 	(LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
+ 	(LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
+ 	(LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
+ 	(LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
+ 	(eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
+ 	(lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
+ 	(nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
+ 	(lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
+ 	(gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
+ 	(unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
+ 	(gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
+ 	(eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
+ 	(lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
+ 	Delete.
+ 	* optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
+ 	(OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
+ 	(le_optab, unord_optab): New.
+ 
+ 	* optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
+ 	from the code_to_optab table, not a giant switch; use
+ 	swap_condition; do widening only if a comparison function that
+ 	we can call exists in a wider mode, not if a cmp_optab insn or
+ 	libfunc exists in a wider mode; call protect_from_queue
+ 	exactly once on each operand.
+ 	(init_optabs): Initialize the new optabs, not the deleted libfuncs.
+ 
+ 	* config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
+ 	* config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
+ 	Set floating point comparison libfuncs using set_optab_libfunc
+ 	on the appropriate optab.
+ 
+ 	* config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
+ 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
+ 	selector conditionals.
+ 
+ 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
+ 	identical to m68hc12 as far as libraries are concerned.
+ 
+ 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/12446
+ 	* c-typeck.c (convert_for_assignment): Issue an error for
+ 	array to pointer assignment after default conversion.
+ 	(digest_init): Likewise.
+ 
+ 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
+ 
+ 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Fix title of GNU C
+ 	Preprocessor manual.
+ 	(C++ Extensions): Fix reference to "Predefined Macros" in the
+ 	GNU C Preprocessor manual.
+ 
+ 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
+ 
+ 	* doc/extend.texi: Document how GCC estimates and relies on the size
+ 	of an asm.
+ 
+ 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
+ 	arguments downward for big-endian o64.
+ 
+ 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
+ 
+ 	* ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
+ 	PCH generation, avoiding too-frequent flushes when writing to NFS
+ 	file system.
+ 
+ 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (lookup_category): Mark as 'inline'.
+ 
+ 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
+ 	    Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (add_method_to_hash_list, lookup_category):
+ 	New functions.
+ 	(lookup_method_in_hash_lists): New parameter indicating whether
+ 	we are messaging 'Class' or 'id'.
+ 	(check_duplicates): Likewise; do not assume all methods will
+ 	be either class or instance methods.
+ 	(generate_category, finish_class): Use lookup_category().
+ 	(add_method): Use add_method_to_hash_list(); insert instance
+ 	methods of root classes into the global class method hash table.
+ 	(add_category): Use lookup_category(); avoid constructing
+ 	duplicate categories.
+ 	(really_start_method): Add method to corresponding @interface,
+ 	if not already there (and if the @interface exists).
+ 	(finish_message_expr, finish_objc): Adjust calls to
+ 	check_duplicates().
+ 
+ 2003-10-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/9325, PR java/6391
+ 	* fold-const.c (fold_convert): For floating point to integer
+ 	conversions, return the maximum/minimum representable integer
+ 	value if the real constant overflows the destination type.
+ 	* tree.c (real_value_from_int_cst): Allow the type to be NULL,
+ 	meaning don't truncate the result to a floating point mode.
+ 	Simplify the logic by calling real_from_integer directly.
+ 	* simplify-rtx.c (simplify_unary_operation):  Implement the
+ 	same semantics for folding floating point to integer conversions
+ 	in RTL.
+ 
+ 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (mips_emit_prefetch): Restructure
+ 	to avoid use of arrays, handle indexed prefetch.
+ 	* config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
+ 	(ISA_HAS_PREFETCHX): New deffine.
+ 	* config/mips/mips.md ("type" attr): Add new "prefetchx" value,
+ 	update comments.
+ 	(prefetch_indexed_di, prefetch_indexed_si): New insns.
+ 
+ 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/12289
+ 	* calls.c (emit_call_1): Pretend to have popped the arguments
+ 	to noreturn and longjmp functions instead of ignoring them.
+ 	(expand_call): Don't adjust stack_pointer_dela while
+ 	inhibit_defer_pop is set.
+ 
+ 2003-10-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	PR bootstrap/12276
+ 	* configure.in: Check for libunwind on the host only if building
+ 	a native compiler.
+ 	* configure: Regenerated.
+ 
+ 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
+ 
+ 	* unwind-pe.h (read_encoded_value_with_base): Constify u and
+ 	its inizialization cast.
+ 
+ 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/12485
+ 	* config/mips/mips.c (mips_load_got): GOT accesses can't trap.
+ 
+ 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR optimization/12180
+ 	* tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
+ 	functions containing calls to __builtin_next_arg.
+ 
+ 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (mips_emit_prefetch): Use operand 3
+ 	in instructions being output.
+ 	* config/mips/mips.md (prefetch_si_address): Change third
+ 	operand's constraint letter to 'I'.
+ 	(prefetch_di_address): Likewise.
+ 	(prefetch_si, prefetch_di): Set third operand to const0_rtx.
+ 
+ 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* system.h: Poison macros obsoleted by earlier patch.
+ 	* config/cris/cris.c: C90-ify a function definition.
+ 
+ 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/12292
+ 	* combine.c (make_field_assignment): Check whether rtx's code
+ 	is CONST_INT before using INTVAL.
+ 
+ 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cgraph.c (cgraph_node): Use INSERT instead of 1 in
+ 	htab_find_slot_with_hash.
+ 	(cgraph_node_for_identifier): Use NO_INSERT.
+ 	(cgraph_remove_node): Use NO_INSERT.
+ 	(cgraph_varpool_node): Use INSERT.
+ 	(cgraph_varpool_node_for_identifier): Use NO_INSERT.
+ 
+ 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	Waldek Hebisch <hebisch@math.uni.wroc.pl>
+ 	PR/12072
+ 	* varasm.c (compare_constant): Fix thinko.
+ 
+ 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_issue_rate): New function.
+ 	(frv_pack_insns): Use it.
+ 	(TARGET_SCHED_ISSUE_RATE): Define.
+ 
+ 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
+ 
+ 	* config/mcore/mcore.c: Convert to ISO C90 function declarations
+ 	and definitions.
+ 	* config/mcore/mcore.h: Likewise.
+ 	* config/mcore/mcore-protos.h: Likewise.
+ 
+ 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+ 
+ 2003-10-01  Per Bothner  <pbothner@apple.com>
+ 
+ 	* c-lex.c (src_line):   Remove unneeded static variable.
+ 	(cb_line_change):  Set input_line directly, instead of src_line.
+ 	(get_non_padding_token):  We no longer need to compensate for the
+ 	"horrible things" the C++ front-end does with the current line number,
+ 
+ 	* cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
+ 	callback even when popping the main file.
+ 	* c-lex.c (fe_file_change):  Handle a NULL new_map.
+ 	* fix-header.c (cb_file_change):  Likewise.
+ 	* c-ppoutput.c (pp_file_change):  Likewise.
+ 
+ 	* cppinit.c (cpp_read_main_file):  Split into two functions:
+ 	Distribute _cpp_stack_file call over the two functions.
+ 	(cpp_find_main_file):  New function.
+ 	Don't call _cpp_do_file_change even if working_directory flag set.
+ 	(cpp_push_main_file):  New function.
+ 	* cppfiles.c (_cpp_find_failed):  New helper function.
+ 	(find_file):  Made non-static and renamed to _cpp_find_file.
+ 	(_cpp_stack_file):  No longer needed.  But note the following.
+ 	(stack_file):  Made non-static and renamed to _cpp_stack_file.
+ 	* fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
+ 	call with calls to cpp_find_main_file and cpp_push_main_file.
+ 	(search_path_head):  If there is no current buffer, use main_file.
+ 	* cpphash.h:  Update function declarations.
+ 	* cpplib.h:  Update function declarations.
+ 
+ 	* c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
+ 	(c_common_parse_file):  No longer need to call cpp_read_main_file
+ 	when file_index > 0 (as in multi-file or server compiation).
+ 	(finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
+ 	as this now happens before cpp_push_main_file.
+ 	(push_command_line_include):  When done with options, pass LC_LEAVE
+ 	instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
+ 	(fe_file_change):  Handle NULL new_map, and simplify.
+ 	* cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
+ 	08-28 change, since we're never called with a NULL buffer.
+ 	(_cpp_lex_direct):  Likewise.
+ 	* cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
+ 	Return false if buffer is NULL at end.
+ 
+ 	* cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
+ 	whether pfile->buffer is NULL after pop, ignoring return_at_eof.
+ 	* cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
+ 	* cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
+ 	remove the unused return_at_eof parameter.
+ 	* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
+ 	Update callers of cpp_push_buffer.
+ 
+ 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* target.h (init_libfuncs): New hook.
+ 	* target-def.h: Default TARGET_INIT_BUILTINS and
+ 	TARGET_INIT_LIBFUNCS to hook_void_void.  Add
+ 	TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
+ 	* builtins.c (default_init_builtins): Delete.
+ 	* expr.h (default_init_builtins): Delete prototype.
+ 	* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
+ 	Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
+ 	Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
+ 	DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
+ 	MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
+ 	and UMODDI3_LIBCALL,
+ 
+ 	* Makefile.in (optabs.o): Depends on target.h.
+ 	* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
+ 	* optabs.c: Include target.h.
+ 	(prepare_float_lib_cmp): No need for #ifdef around use of
+ 	FLOAT_LIB_COMPARE_RETURNS_BOOL.
+ 	(set_optab_libfunc): New function.
+ 	(init_optabs): Delete use of all *_LIBCALL defines.
+ 	Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
+ 	* optabs.h: Prototype set_optab_libfunc.
+ 
+ 	* config.gcc: Remove all references to pa/long_double.h,
+ 	ia64/hpux_longdouble.h, and gofast.h.
+ 	(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
+ 	to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
+ 
+ 	* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
+ 	* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
+ 	* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
+ 	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
+ 	* config/sparc/sparc.c, config/vax/vax.c:
+ 	Provide a definition for TARGET_INIT_LIBFUNCS.  Where
+ 	necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
+ 
+ 	* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
+ 	* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
+ 	* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
+ 	* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
+ 	* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
+ 	* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
+ 	* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
+ 	* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
+ 	INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
+ 
+ 	* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
+ 	Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
+ 	* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
+ 	HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
+ 	* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
+ 
+ 	* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
+ 	* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
+ 	SUN_INTEGER_MULTIPLY_64 to 0.
+ 	* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
+ 	SUN_INTEGER_MULTIPLY_64 to 1.
+ 	* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
+ 	SUN_INTEGER_MULTIPLY_64 to 0.
+ 	* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
+ 	Define US_SOFTWARE_GOFAST.
+ 	* config/vax/vax.h: Default TARGET_ELF to 0.
+ 	* config/vax/elf.h: Redefine TARGET_ELF to 1.
+ 
+ 	* config/gofast.h: Don't define any macros here.  Provide one
+ 	static function, gofast_maybe_init_libfuncs, which does what
+ 	INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
+ 	is already defined.  Do not clear negation libfuncs.  Do
+ 	not mess with HFmode, XFmode, or TFmode libfuncs.
+ 
+ 	* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
+ 
+ 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	PR C/12466
+ 	* c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
+ 
+ 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/xm-iris5.h: Remove, unnecessary.
+ 	* config.build (mips-sgi-irix5*): Remove.
+ 	(mips-sgi-irix6*o32): Likewise.
+ 	* config.gcc (mips-sgi-irix6*o32): Remove xm_file.
+ 	(mips-sgi-irix5cross64): Likewise.
+ 	(mips-sgi-irix5*): Likewise.
+ 	* config.host (mips-sgi-irix5*): Remove.
+ 	(mips-sgi-irix6*o32): Likewise.
+ 
+ 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_fptype_value): Delete.
+ 	(dbxout_type): Emit R3 for all COMPLEX_TYPEs.
+ 
+ 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* output.h (compute_reloc_for_constant): Declare.
+ 	* varasm.c (compute_reloc_for_constant): Extract from...
+ 	(output_addressed_constants): ... here.  Adjust all callers.
+ 
+ 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
+ 	* configure: Rebuilt.
+ 
+ 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (make_range): When handling unsigned, don't reverse
+ 	range if high bound is zero.
+ 
+ 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.h (PREDICATE_CODES): Added
+ 	condexec_si_media_operator, condexec_sf_add_operator and
+ 	condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
+ 	and condexec_sf_unary_operator.
+ 
+ 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* aclocal.m4: Add ultrix* to /dev/zero blacklist.
+ 	* configure: Rebuilt.
+ 
+ 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
+ 	Allow override.
+ 	* doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
+ 
+ 2003-09-23  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
+ 	before redefining.
+ 	* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+ 
+ 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
+ 	C90 function declarations and definitions.
+ 
+ 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (cris-*-linux*): Revert mistaken commit.
+ 
+ 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11753
+ 	* config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
+ 	the length in the non-V9 case.
+ 
+ 2003-09-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
+ 	DWARF_ALT_FRAME_RETURN_COLUMN.
+ 	* unwind-dw2.c (dwarf_reg_size_table): Expand by one.
+ 	(_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
+ 	(uw_frame_state_for): Return end-of-stack for null return address.
+ 	* doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
+ 
+ 	* config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
+ 	(alpha_expand_prologue): Store a zero for it.
+ 	(alpha_expand_epilogue): Don't reload it.
+ 	* config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
+ 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
+ 	for the sigframe return address.
+ 
+ 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
+ 
+ 	* sdbout.c: Convert to ISO C90 prototypes.
+ 	* objc/objc-act.c: Likewise.
+ 
+ 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
+ 
+ 	* config/i386/cygwin1.c: Convert to ISO C90 prototypes.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i386/cygming.h: Likewise.
+ 
+ 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Fold (A & ~B) - (A & B) into
+ 	(A ^ B) - B for any B.
+ 
+ 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
+ 	powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
+ 
+ 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/ieee754-sf.S: Tidy formatting.
+ 
+ 2003-09-30  Nicolas Pitre  <nico@cam.org>
+ 
+ 	* arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
+ 	and ARM_MOD_BODY.
+ 	(ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
+ 	(ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
+ 	added better divisor alignment in the other case.
+ 	(ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
+ 	(__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
+ 	macros above, add fast exits for divisor >= dividend, etc.
+ 
+ 2003-09-30  Nicolas Pitre  <nico@cam.org>
+ 
+ 	* arm/ieee754-df.S: Split compilation of fixunsdfsi from
+ 	L_fixdfsi target.
+ 	* arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
+ 
+ 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Default use_fixproto to 'no'.
+ 
+ 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR optimization/12345
+ 	* config/mips/mips-protos.h (mips_restore_gp): Remove.
+ 	(mips_gp_save_slot): Declare.
+ 	* config/mips/mips.c (mips_restore_gp): Remove in favor of...
+ 	(mips_gp_save_slot): ...this new function.
+ 	* config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
+ 	and mips_output_move to generate the output template.
+ 	(call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
+ 	a gp load after a noreturn call.  Load the gp using a move rather
+ 	than an exception_receiver pattern.
+ 	(call_value_internal, call_value_multiple_internal): Likewise.
+ 	(call_split, call_value_split, call_value_multiple_split): Clobber $28.
+ 
+ 2003-09-30  Carlo Wood  <carlo@alinoe.com>
+ 
+ 	PR debug/12319
+ 	* cfglayout.c (insn_scope):  Use prologue_locator and
+ 	epilogue_locator; return the outer function scope for
+ 	pro- and epilogue insns.
+ 
+ 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
+ 	REAL_TYPEs based on the bitsize of the type's mode, not the
+ 	mode directly.
+ 
+ 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* dwarf2out.c (default_eh_frame_section): Split into ...
+ 	(named_section_eh_frame_section, collect2_eh_frame_section): ... new
+ 	functions.
+ 	* output.h (named_section_eh_frame_section): Declare.
+ 	(collect2_eh_frame_section): Likewise.
+ 
+ 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* real.c (real_sqrt): Use get_canonical_qnan directly.
+ 
+ 	* dwarf2out.c (add_const_value_attribute): Use real_to_target.
+ 
+ 	* varasm.c (assemble_real): Use real_to_target directly,
+ 	calculate the number of significant elements of the result
+ 	array and write them out in a loop, instead of using a giant
+ 	switch statement to pick the correct REAL_VALUE_TO_TARGET_*
+ 	macro.
+ 
+ 2003-09-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c++/12175
+ 	* varasm.c (notice_global_symbol): Discard external symbols.
+ 
+ 	PR optimization/12286
+ 	* gcov-io.c (gcov_read_words): Fix memmove call.
+ 	* profile.c (compute_branch_probabilities): Add extra sanity checks.
+ 
+ 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
+ 	Solaris 7-9.
+ 
+ 	* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
+ 	wildcards which explicitly match micro versions.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Fold (A & ~B) - (A & B) into
+ 	(A ^ B) - B, where B is any power of 2 minus 1.
+ 
+ 2003-09-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* libgcov.c (gcov_exit): Fix two pastos.
+ 
+ 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
+ 	define_split immediately below to form define_insn_and_split.
+ 
+ 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*tstsi_variable_bit): New.
+ 	(*tstsi_variable_bit_qi): Likewise.
+ 
+ 2003-09-28  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
+ 	reference name.
+ 
+ 2003-09-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
+ 	file and line separately.
+ 
+ 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
+ 	"*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
+ 	"*subdi3_borrow_cconly"): New insns.
+ 	("*addsi3_sub", "*subsi3_sub"): Remove.
+ 	("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
+ 	("*subsi3_cc"): Fix op_type attribute.
+ 
+ 2003-09-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (expand_asm_operands): Take a location_t, instead of
+ 	individual file and line.
+ 	* c-typeck.c (c_expand_asm_operands): Likewise.
+ 	* tree.h (expand_asm_operands): Update decl.
+ 	* c-common.h (c_expand_asm_operands): Likewise.
+ 	* c-semantics (genrtl_asm_stmt): Update call.
+ 
+ 2003-09-28  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (legitimize_pic_address): Check
+ 	SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
+ 	(arm_assemble_integer): Likewise.
+ 
+ 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
+ 	config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
+ 	config/c4x/c4x.h:
+ 	Convert to ISO C90 function declarations and definitions.
+ 
+ 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	*  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
+ 	Convert to ISO C90 function declarations and definitions.
+ 
+ 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_constant_info): Add reloc field.
+ 	(mips_classify_constant): Initialize it.  Always set SYMBOL to the
+ 	underlying symbol, not to an unspec.
+ 	(mips_delegitimize_address, print_operand): Clean up accordingly.
+ 
+ 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
+ 	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
+ 	* config/mips/mips.c (mips_reloc_offset_ok_p): New function.
+ 	(mips_classify_constant): Use it.
+ 	(mips_splittable_symbol_p): Add an offset argument.
+ 	(mips_classify_address): Adjust call accordingly.
+ 	(mips_legitimize_symbol): Handle sdata references with LO_SUM rather
+ 	than a relocation unspec.  Update call to mips_splittable_symbol_p.
+ 	Generalize the code that copes with symbols + invalid offsets.
+ 	(print_operand): Allow '%R' to be applied to small data addresses.
+ 	(mips_reloc_string): Remove RELOC_GPREL16.
+ 	(mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
+ 	for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
+ 	relocation operators.
+ 	* config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
+ 	constants accordingly.
+ 
+ 2003-09-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* toplev.c (flag_evaluation_order): New global variable.
+ 	* flags.h (flag_evaluation_order): Prototype here.
+ 	* expr.c (expand_operands): If we need to preserve observable
+ 	evaluation order, protect exp1 from clobbering exp0's result.
+ 
+ 2003-09-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-decl.c (finish_function): Convert definition to ISO C90.
+ 	* ifcvt.c (mark_loop_exit_edges): Likewise.
+ 	* ra-rewrite.c (emit_colors): Likewise.
+ 
+ 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
+ 	* config.gcc (arm*-*-uclinux*): Disable fixproto.
+ 	* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
+ 	powerpc-*-eabialtivec*): Disable fixproto.
+ 
+ 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/12340
+ 	* loop.h (struct induction): Document the new semantics
+ 	of the 'same' field for bivs.
+ 	* unroll.c (biv_total_increment): Don't count the same
+ 	biv increment several times.
+ 	(loop_iterations) [GENERAL_INDUCT]: Likewise.
+ 
+ 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* unroll.c (loop_interations)[GT]: Add missing break.
+ 
+ 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
+ 	config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
+ 	config/dbxelf.h, config/elfos.h, config/fp-bit.h,
+ 	config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
+ 	config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
+ 	config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
+ 	config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
+ 	config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
+ 	config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
+ 	config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
+ 	config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
+ 	config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
+ 	config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
+ 	config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
+ 	config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
+ 	config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
+ 	config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
+ 	config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
+ 	config/alpha/xm-vms.h, config/arc/arc-modes.def,
+ 	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
+ 	config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
+ 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
+ 	config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
+ 	config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
+ 	config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
+ 	config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
+ 	config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
+ 	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
+ 	config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
+ 	config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
+ 	config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
+ 	config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
+ 	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
+ 	config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
+ 	config/i960/i960-c.c, config/i960/i960-coff.h,
+ 	config/i960/i960-modes.def, config/i960/i960-protos.h,
+ 	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
+ 	config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
+ 	config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
+ 	config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
+ 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+ 	config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
+ 	config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
+ 	config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
+ 	config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
+ 	config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
+ 	config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
+ 	config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
+ 	config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
+ 	config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
+ 	config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
+ 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
+ 	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
+ 	config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
+ 	config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
+ 	config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
+ 	config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
+ 	config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
+ 	config/mips/vr.h, config/mn10300/linux.h,
+ 	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
+ 	config/mn10300/mn10300.h, config/mn10300/mn10300.md,
+ 	config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
+ 	config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
+ 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
+ 	config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
+ 	config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
+ 	config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
+ 	config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
+ 	config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
+ 	config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
+ 	config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
+ 	config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
+ 	config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
+ 	config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
+ 	config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
+ 	fixinc/fixinc.svr4: GNU CC -> GCC.
+ 
+ 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* objc/objc-act.c (tm_p.h): Tweak order.
+ 	* objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
+ 
+ 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
+ 	Include t-slibgcc-elf-ver and t-linux in tmake_file.
+ 	* config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
+ 	Disable fixproto.
+ 	* config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
+ 	Disable fixproto.
+ 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
+ 	sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
+ 
+ 	* config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
+ 
+ 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
+ 	* objc/objc-act.c (tm_p.h): Include.
+ 
+ 2003-09-26  Per Bothner  <pbothner@apple.com>
+ 
+ 	* dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
+ 	No longer any need to reverse by recursion.
+ 
+ 2003-09-26  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/11741
+ 	* gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
+ 	appropriate set to match that in hash_scan_insn.  Fall back to
+ 	the original copy method, if we can't validate changing insn.
+ 	(pre_delete): Only delete instructions that have a single_set,
+ 	instead of aborting when we encounter an PARALLEL insn with more
+ 	then one SET.
+ 
+ 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
+ 	("builtin_longjmp"): Insn deleted.
+ 	("save_stack_nonlocal"): Save literal pool base pointer behind
+ 	backchain and stack pointer.
+ 	("restore_stack_nonlocal"): Restore literal pool base pointer.
+ 	* config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
+ 	the stack save area for the nonlocal goto case.
+ 
+ 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR bootstrap/12358
+ 	* pa.c (output_bvb): Fix typo.
+ 
+ 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Don't search for an integer mode
+ 	unless we need the result.
+ 
+ 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expr.c (emit_move_insn_1): If there is no move pattern for the
+ 	original mode, try using a pattern for the corresponding integer mode.
+ 
+ 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR middle-end/9200
+ 	* combine.c (if_then_else_cond): Tighten mode check.
+ 
+ 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* cppcharset.c, cpphash.h: Rename 'struct strbuf' to
+ 	'struct _cpp_strbuf'.
+ 
+ 	* config/i386/netbsd-elf.h, config/i386/netbsd64.h,
+ 	config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
+ 	config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
+ 	config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
+ 	config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
+ 	config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
+ 	config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
+ 	config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
+ 	config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
+ 	"GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
+ 	* config/i386/i386-aout.h, config/i386/i386-coff.h,
+ 	config/i386/i386-interix.h, config/i386/i386-interix3.h,
+ 	config/i386/i386-modes.def, config/i386/i386-protos.h,
+ 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
+ 	config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
+ 	config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
+ 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
+ 	config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
+ 	"GNU compiler" -> GCC.
+ 	* config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
+ 	config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
+ 	config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
+ 	config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
+ 	config/i386/freebsd-aout.h, config/i386/freebsd.h,
+ 	config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
+ 
+ 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
+ 	"local" to the callgraph dump.  Output "after inlining" earlier.
+ 	* cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
+ 	callgraph dumps.  Correct misspellings.
+ 	(cgraph_decide_inlining):  Output number of insns before inlining.
+ 	Output the calling function into which a function is inlined.
+ 	(cgraph_decide_small_functions): Format dump file like always_inline.
+ 
+ 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/i386/i386.h (ix86_return_in_memory): Add prototype.
+ 
+ 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Simplify accesses to
+ 	FPR slots in the save area.
+ 	(s390_emit_epilogue): Likewise.
+ 
+ 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* cgraph.h (cgraph_remove_edge): Declare.
+ 	* cgraph.c (cgraph_remove_edge): Make extern.
+ 	* cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
+ 	instead of cgraph_remove_call.
+ 
+ 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* objc/objc-act.c (gen_declaration_1): Fix printf format.
+ 
+ 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
+ 	arm7tdmi core.
+ 
+ 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/darwin-protos.h (objc_image_info_section):
+ 	New prototype.
+ 
+ 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* Makefile.in (stub-objc.o): Depend on $(GGC_H).
+ 
+ 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
+ 	tsc701 as a --with-cpu, --with-tune setting for sparc.
+ 
+ 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (objc_try_stmt): Do not specify a %type.
+ 
+ 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: New 'widely ported system' clause for rtems.
+ 	Set thread file there, not in individual clauses.
+ 
+ 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/6222
+ 	* config/mips/mips.c (mips_va_arg): Handle arguments that must be
+ 	passed on the stack.
+ 
+ 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (widely ported systems section): Mostly alphabetize
+ 	by system.  Comment the case where we can't.
+ 	* config.gcc (widely ported systems section): Reindent and clean up.
+ 
+ 	* config.gcc: Remove some unnecessary uses of 'x' in case statements.
+ 	Actually allow ep9312 as an arm --with-arch setting.
+ 
+ 	* config.gcc (*-hpux11): Disable fixproto.
+ 
+ 2003-09-24  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	PR pch/12112
+ 	* gcc/cppfiles.c (pch_open_file): Return based on combined
+ 	result of all files.
+ 	(validate_pch): Return validate flag for current file.
+ 
+ 2003-09-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR bootstrap/12358
+ 	* fold-const.c (tree_swap_operands_p): Only reorder operands when
+ 	one of the operands is constant.
+ 
+ 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	MERGE OF objc-improvements-branch into MAINLINE:
+ 	* Makefile.in (C_OBJS): Add in stub-objc.o.
+ 	(c-parse.y): Change sed demarcations to begin with '@@'.
+ 	(stub-objc.o): New rule.
+ 	* c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
+ 	flag_replace_objc_classes): New flags.
+ 	* c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
+ 	RID_AT_SYNCHRONIZED): New keywords.
+ 	(flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
+ 	flag_replace_objc_classes): New flags.
+ 	(lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
+ 	objc_comptypes, objc_message_selector, lookup_objc_ivar,
+ 	get_current_scope, objc_mark_locals_volatile): New prototypes,
+ 	some moved from c-tree.h.
+ 	* c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
+ 	(finish_decl): Adjust where objc_check_decl() gets called.
+ 	* c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
+ 	objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
+ 	* c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
+ 	flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
+ 	* c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
+ 	'@@end_ifc', respectively.
+ 	(AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
+ 	(objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
+ 	objc_finally_block): New rules.
+ 	(component_decl_list2): Clean up semantic action for @defs construct.
+ 	(component_decl, c99_block_start): Remove call to add_objc_decls().
+ 	(poplevel): Add call to objc_clear_super_receiver().
+ 	(stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
+ 	constructs.
+ 	(classdef, methodprotolist): Clean up/simplify.
+ 	(methodprotolist2): Eliminate.
+ 	(methodproto): Call add_method() instead of add_class_method() and
+ 	add_instance_method().
+ 	(receiver): Add TYPENAME production.
+ 	(reswords): Add "throw", "try", "catch", "finally" and "synchronized".
+ 	(rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
+ 	AT_SYNCHRONIZED.
+ 	* c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
+ 	objc_comptypes, objc_message_selector)
+ 	* c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
+ 	struct and pointer types.
+ 	(build_c_cast): Do not discard ObjC protocol qualifiers.
+ 	(convert_for_assignment): Cache result of comp_target_types() instead
+ 	of calling it more than once.
+ 	* c.opt (fnext-runtime): Update description string.
+ 	(fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
+ 	New ObjC/ObjC++-specific flags.
+ 	* function.h (GCC_FUNCTION_H): Header guard.
+ 	* gengtype-lex.l: Teach lexer about new @@... sed demarcations.
+ 	* stub-objc.c: New file, to be used to satisfy references to ObjC
+ 	functions by the C and C++ front-ends.
+ 	* config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
+ 	* config/darwin.h (FUNCTION): Add in_objc_image_info.
+ 	(SECTION_FUNCTION): Add objc_image_info_section.
+ 	* doc/invoke.texi: Link to GCC web site for Objective-C information.
+ 	(-fconstant-string-class): Update documentation.
+ 	(-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
+ 	-fzero-link): New documentation.
+ 	* objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
+ 	with '@@'.
+ 	* objc/lang-specs.h (@objective-c-header): Fix -E spec.
+ 	* objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
+ 	throughout; provide casts for return values from memory allocation
+ 	functions (xmalloc, alloca, ggc_alloc, etc.).
+ 	(OBJC_VOID_AT_END): New macro.
+ 	(rtl.h): Do not #include any more.
+ 	(STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
+ 	(TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
+ 	TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
+ 	TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
+ 	TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
+ 	(struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
+ 	val_stack_pop): New.
+ 	(objc_check_decl): Fix precondition for error message, along with
+ 	the message itself.
+ 	(lookup_and_install_protocols): Remove nonexistent protocols from
+ 	protocol list instead of returning error_mark_node.
+ 	(create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
+ 	(setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
+ 	(synth_module_prologue): General clean-up; construct NeXT-specific
+ 	runtime API prototypes if needed.
+ 	(build_string_class_template): Remove.
+ 	(check_string_class_template, string_layout_checked): New.
+ 	(build_objc_string_object): Generalize to work with
+ 	-fconstant-string-class.
+ 	(build_objc_symtab_template): Fix layout for the NeXT runtime.
+ 	(build_metadata_decl): New.
+ 	(forward_declare_categories): Call build_metadata_decl() instead of
+ 	create_builtin_decl() et al.
+ 	(build_module_descriptor): Use OBJC_VOID_AT_END instead of
+ 	void_list_node_1.
+ 	(build_selector_reference_decl, build_class_reference_decl,
+ 	build_objc_string_decl): Do not set TREE_READONLY.
+ 	(get_proto_encoding): Do not call hack_method_prototype().
+ 	(get_class_reference): Add failure mode for invalid class names;
+ 	support -fzero-link; defer if in an ObjC++ template declaration.
+ 	(objc_declare_alias, objc_declare_class): Fix up duplicate name
+ 	lookup; check for global scope if in ObjC++.
+ 	(is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
+ 	RECORD_TYPE, IDENTIFIER_NODE, etc.)
+ 	(objc_is_id): Removed.
+ 	(objc_is_object_ptr): New function.
+ 	(get_class_ivars_from_name): New function, used for @defs construct.
+ 	(get_class_ivars): Add option to return raw ivars; create a
+ 	ClASS_OWN_IVARS list for each class as needed.
+ 	(objc_enter_block, objc_exit_block, objc_declare_variable,
+ 	objc_build_throw_stmt, val_stack_push, val_stack_pop,
+ 	objc_build_try_enter_fragment, objc_build_extract_expr,
+ 	objc_build_try_exit_fragment, objc_build_extract_fragment,
+ 	objc_build_try_prologue, objc_build_try_epilogue,
+ 	objc_build_catch_stmt, objc_build_catch_epilogue,
+ 	objc_build_finally_prologue, objc_build_finally_epilogue,
+ 	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
+ 	objc_build_synchronized_epilogue, build_objc_exception_stuff):
+ 	New functions.
+ 	(_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
+ 	the future).
+ 	(build_private_template): Fix up calls to get_class_ivars().
+ 	(offset_is_register, forwarding_offset): Remove.
+ 	(objc_method_parm_type, objc_encoded_type_size): New functions.
+ 	(encode_method_prototype): Simplify to no longer depend on
+ 	back-end information.
+ 	(build_tmp_function_decl_xxx, build_tmp_function_decl,
+ 	hack_method_prototype): Removed.
+ 	(generate_protocol_references): Remove calls to
+ 	build_tmp_function_decl().
+ 	(generate_protocols): Adjust calls to encode_method_prototype().
+ 	(build_class_template): Generate sel_id' and 'gc_object_type' fields
+ 	for the NeXT runtime.
+ 	(synth_forward_declarations): Call build_metadata_decl().
+ 	(check_ivars): Check that the number of ivars matches also.
+ 	(build_super_template): Modify super_type directly; disable debugging
+ 	output while generating decl.
+ 	(build_ivar_list_initializer): Skip list elements that are not
+ 	FIELD_DECLs.
+ 	(ivar_list_length): New function.
+ 	(generate_ivar_lists): Call ivar_list_length() instead of list_length()
+ 	and encode_method_prototype() instead of encode_method_def().
+ 	(build_shared_structure_initializer): Generate 'sel_id' field for
+ 	the NeXT runtime.
+ 	(generate_category): Do not set TREE_USED.
+ 	(build_keyword_selector): Ditto; transform into a function argument
+ 	chain.
+ 	(get_arg_type_list): If there are no user-specified arguments, use
+ 	'...'; use OBJC_VOID_AT_END.
+ 	(check_duplicates): Add a parameter indicating whether methods or
+ 	selectors are being checked.
+ 	(receiver_is_class_object): Add parameters indicating whether
+ 	receiver is 'self' or 'super'; robustify.
+ 	(build_message_expr): Defer call to finish_message_expr() if
+ 	inside an ObjC++ template.
+ 	(lookup_method_in_hash_lists): New function.
+ 	(finish_message_expr): Complete rewrite/fix.
+ 	(build_objc_method_call): Ditto; factor out commonalities between
+ 	the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
+ 	messenger variants on the NeXT.
+ 	(lookup_instance_method_static, lookup_class_method_static):
+ 	Fold into a single lookup_method_static() function with an
+ 	additional parameter.
+ 	(add_class_method, add_instance_method): Fold into a single
+ 	add_method() function with an additional parameter.
+ 	(add_category): Make duplicate categories a hard error in ObjC++.
+ 	(add_instance_variable): Properly handle unnamed ivars, arrays of
+ 	zero or no size and bitfields.  In ObjC++, check for nontrivial
+ 	C++ class instances.
+ 	(is_public): Allow C functions to access non-@public ivars, with
+ 	a warning.
+ 	(start_class): Move common initializations to
+ 	synth_module_prologue(); check for global scope if in ObjC++.
+ 	(continue_class): Fix calls to finish_struct().
+ 	(objc_declare_protocols, start_protocol): Check for global scope
+ 	if in ObjC++.
+ 	(encode_pointer): Encode 'BOOL *' specially on the NeXT.
+ 	(encode_aggregate_within): Rewrite to properly distinguish
+ 	struct tags from typedefs in both ObjC and ObjC++.
+ 	(encode_bitfield, encode_complete_bitfield): Remove.
+ 	(encode_next_bitfield, encode_gnu_bitfield): New functions.
+ 	(encode_field_decl): Call encode_next_bitfield() or
+ 	encode_gnu_bitfield() as needed.
+ 	(synth_self_and_ucmd_args): New function.
+ 	(start_method_def): Use it.
+ 	(objc_types_are_equivalent): New function.
+ 	(comp_proto_with_proto): Use it instead of comptypes(), since
+ 	we need symmetry.
+ 	(really_start_method): Use lookup_method_static() instead of
+ 	lookup_class_method_static() and lookup_instance_method_static();
+ 	Emit 'extern "C"' if in ObjC++ mode.
+ 	(add_objc_decls): Removed.
+ 	(UOBJC_SUPER_scope): New variable.
+ 	(get_super_receiver): Move construction of 'super' from
+ 	add_objc_decls(); remove dependency on struct objc_class.
+ 	(encode_method_def): Removed; encode_method_prototype() is
+ 	used instead.
+ 	(objc_clear_super_receiver): New function.
+ 	(objc_expand_function_end): Do not do anything for ordinary
+ 	C functions.
+ 	(finish_method_def): Mark ObjC methods as un-inlinable.
+ 	(gen_declaration_1): Emit widths of bitfields.
+ 	(finish_objc): Call generate_objc_image_info() if needed;
+ 	use check_duplicates() when checking for selector duplicates.
+ 	(generate_objc_image_info): New function.
+ 	* objc/objc-act.h (add_instance_method, add_class_method,
+ 	get_class_ivars): Remove prototypes.
+ 	(objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
+ 	objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
+ 	objc_build_catch_stmt, objc_build_catch_epilogue,
+ 	objc_build_finally_prologue, objc_build_finally_epilogue,
+ 	add_method, get_class_ivars_from_name): New prototypes.
+ 	(CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
+ 	(TYPE_PROTOCOL_LIST): Robustify to distinguish from
+ 	TRANSLATION_UNIT_DECLs.
+ 	(OBJC_TYPE_NAME): New.
+ 	(objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
+ 	got included.
+ 	(IS_SUPER): Robustify.
+ 	(umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
+ 	umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
+ 	objc_exception_try_enter_decl, objc_exception_try_exit_decl,
+ 	objc_exception_match_decl, objc_exception_throw_decl,
+ 	objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
+ 	objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
+ 	objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
+ 	objc_catch_type): New ObjC/ObjC++ roots.
+ 	* objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
+ 	ObjC/ObjC++ tree node codes.
+ 
+ 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cpplib.c (do_pragma): Reintroduce cb_line_change call in the
+ 	code path that calls a handler.
+ 
+ 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
+ 	Disable fixproto.
+ 
+ 	* config.gcc: Clean up and reindent $with_cpu=yes|no clause and
+ 	the section giving $with_cpu defaults by target.
+ 
+ 	* config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
+ 	arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
+ 	rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
+ 	rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
+ 	rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
+ 	i[34567]86-pc-msdosdjgpp*): Disable fixproto.
+ 
+ 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
+ 	together.  Protect load string instruction with TARGET_STRING.
+ 	(movti_string): Collapse case 1 and 2 together.
+ 
+ 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.c (c_common_type_for_mode): Check for VOIDmode.
+ 
+ 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
+ 	do...while(0)
+ 
+ 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Move use_fixproto=no from generic vxworks clause to
+ 	specific one.
+ 
+ 	* config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
+ 	(accidentally missed in last pass).
+ 
+ 2003-09-23  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR bootstrap/12383
+ 	* configure: Regenerate.
+ 
+ 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
+ 	missed in last pass).
+ 
+ 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
+ 	constant.
+ 
+ 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Move vax-*-vms* unsupported notice up with the rest.
+ 
+ 	* config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
+ 	powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
+ 	powerpcle-*-eabi*): Disable fixproto.
+ 
+ 	* config.gcc: Move use_fixproto=no from generic FreeBSD clause to
+ 	specific FreeBSD clauses.
+ 	* config.gcc: Move use_fixproto=no from generic NetBSD clause to
+ 	specific NetBSD clauses.
+ 	* config.gcc: Move use_fixproto=no from generic OpenBSD clause
+ 	to specific OpenBSD clauses.
+ 
+ 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (hppa_expand_prologue): Do pic register save in frame marker
+ 	without adding a frame note.
+ 	* pa.md (allocate_stack): Save pic register in new frame marker when
+ 	generating pic code.
+ 
+ 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* cgraphunit.c (cgraph_expand_all_functions): Renamed from
+ 	cgraph_expand_functions.
+ 
+ 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gnucompare*): Merge into ...
+ 	(slowcompare*): ... here.
+ 	(fastcompare*): New targets.
+ 	* aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
+ 	other "fast" cmp programs.
+ 	* configure: Regenerate.
+ 
+ 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* targhooks.c: Include output.h.
+ 	* Makefile.in (targhooks.o): Add output.h to dependency list.
+ 
+ 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.host: Removed superfluous newline.
+ 
+ 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Use ${target}, not $machine.
+ 	* configure.in: Don't set $machine.
+ 	* configure: Regenerate.
+ 
+ 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
+ 
+ 	* config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
+ 	pass zero-size arrays by reference.
+ 	(rs6000_va_arg): Likewise.
+ 
+ 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Set use_fixproto=no in each specific *-gnu*
+ 	configuration, rather than the generic one.
+ 
+ 2003-09-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-inline.c (remap_save_expr): Map new save_expr to identity
+ 	rather than to error_mark_node.
+ 
+ 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
+ 	Update description.
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 	* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
+ 	HAVE_GAS_SHF_MERGE value.
+ 	* varasm.c (mergeable_string_section): Likewise.
+ 	(mergeable_constant_section): Likewise.
+ 
+ 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
+ 	value.
+ 
+ 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* target.h (struct gcc_target): New member external_libcall.
+ 	* target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
+ 	(TARGET_ASM_OUT): Use it.
+ 	* doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
+ 	* targhooks.c: Convert to ISO C 90.
+ 	(default_external_libcall): New function.
+ 	* targhooks.h (default_external_libcall): Declare.
+ 	* varasm.c (assemble_external_libcall): Use
+ 	targetm.asm_out.external_libcall instead of
+ 	ASM_OUTPUT_EXTERNAL_LIBCALL.
+ 	* config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
+ 	(mips_output_external_libcall): Declare.
+ 	* config/mips/mips.c (mips_output_external_libcall): Change
+ 	definition guard.
+ 	Change to match TARGET_ASM_EXTERNAL_LIBCALL.
+ 	Only operate for O32 ABI.
+ 	* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
+ 	instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
+ 	* config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
+ 	superceded by TARGET_ASM_EXTERNAL_LIBCALL.
+ 
+ 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Do per-target disabling of fixproto here in clauses,
+ 	not in t- fragments.
+ 	* configure.in: Adjust to set STMP_FIXPROTO correctly.
+ 	* configure: Regenerate.
+ 	* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
+ 	config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
+ 	t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
+ 	xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
+ 	* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
+ 	t-interix, t-linux-aout:  Delete files consisting only of
+ 	setting of STMP_FIXPROTO.
+ 
+ 	* config.host: Allow unknown hosts (not targets).  Allow
+ 	ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
+ 	empty clauses.  Remove useless obsolete-configuration clause.
+ 	Prune unsupported configuration list.  Collapse identical
+ 	clauses for closely related systems.  Rewrite comment for
+ 	unsupported hosts list.  Reorganize a little.
+ 
+ 2003-09-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (c_common_signed_or_unsigned_type): Examine mode,
+ 	not precision.
+ 
+ 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
+ 	    Hartmut Penner  <hpenner@de.ibm.com>
+ 	    Segher Boessenkool  <boessen@de.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
+ 	(gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
+ 	(rs6000_split_altivec_in_gprs): Rename to ...
+ 	(rs6000_split_multireg_move): Add support for update addressing.
+ 	* config/rs6000/rs6000-protos.h: Same.
+ 	* config/rs6000/altivec.md: Same.
+ 	* config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
+ 	multiple GPRs.
+ 	(movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
+ 	(movti_power): Use new splitter for multiple GPRs.
+ 	(movti_string): Same.
+ 	(movti_ppc64): Same.
+ 
+ 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h: Convert to ISO C90.
+ 	* config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
+ 
+ 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md: Revert 2003-09-17's patch.
+ 	(andsi3): Set attr cc to set_zn when using shifts or adds.
+ 
+ 2003-09-22  Bernardo Innocenti <bernie@develer.com>
+ 
+ 	* doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
+ 
+ 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
+ 	Resurrect -mrtd option.
+ 
+ 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/12281
+ 	* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
+ 	mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
+ 
+ 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	PR target/9786
+ 	* reg-stack.c (convert_regs_1): Purge possible dead eh edges
+ 	after potential deletion of trapping insn. Avoids later ICE
+ 	from call to fixup_abnormal_edges.
+ 	(convert_regs_2): Stack the current block successors before
+ 	processing this block, that is, before the potential deletion of
+ 	dead edges by convert_regs_1, because these edges have been used
+ 	to initialize the predecessors count.
+ 
+ 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* real.c: Fix several nits in the head comment.
+ 
+ 2003-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
+ 	diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
+ 	print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
+ 	tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
+ 	config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
+ 
+ 2003-09-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
+ 	(TREE_FILENAME, TREE_LINENO): Likewise.
+ 	(set_tree_locus, copy_tree_locus, set_tree_file_line): New.
+ 	(TREE_LOCUS_SET_P): New.
+ 	* c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
+ 	diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
+ 	print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
+ 	tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
+ 	config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
+ 
+ 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/vax/vax-protos.h: Convert to ISO C90.
+ 	* config/vax/vax.c: Convert to ISO C90.
+ 
+ 2003-09-21  Graham Stott  <grahams@btinternet.com>
+ 
+        PR target/12353
+        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
+ 
+ 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12301
+ 	* reorg.c (stop_search_p): Return 1 for insns that can
+ 	throw internally.
+ 
+ 2003-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-format.c (gcc_diag_char_table): Add %J.
+ 	(gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
+ 	(check_format_types): Fix wanted_type name lookup.
+ 	(init_dynamic_diag_info): Setup %J.
+ 	* diagnostic.c (text_specifies_location): Implement %J.
+ 	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
+ 	dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
+ 	tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
+ 	config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
+ 	config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
+ 
+ 	* tree-inline.c: Include intl.h
+ 	(inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
+ 	* Makefile.in (tree-inline.o): Update.
+ 
+ 2003-09-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
+ 	transformation of a>=0 into (unsigned)a<0x80000000.
+ 
+ 2003-09-20  Andrew Pinski <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
+ 
+ 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in: Don't set (unused) DLLTOOL.
+ 
+ 	* config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
+ 	Remove obsolete references to ENQUIRE.
+ 
+ 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Remove --with-elf, which doesn't work.
+ 	* configure: Regenerate.
+ 	* config.gcc: Remove references to $elf, which does nothing.
+ 
+ 	* config/i386/xm-vsta.h: Remove xm-file believed useless.
+ 	* config.build (i386-vsta): Remove reference to it.
+ 	* config.host (i386-vsta): Remove reference to it.
+ 
+ 2003-09-19  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* doc/install.texi:  Document the multiple testsuite options.
+ 
+ 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Specific): Add the specific versions of GCC
+ 	where support for FreeBSD 1, HP-UX version 9 and older, and AIX
+ 	version 3 and older was discontinued.
+ 
+ 2003-09-19	Joel Sherrill <joel@oarcorp.com>
+ 
+ 	* config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
+ 	68881.
+ 
+ 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
+ 	for -m68030, -m68020-60 and -m68020-40.
+ 	* config/m68k/m68k.h (TARGET_68030): New target flag.
+ 	* config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
+ 	TARGET_REGPARM): Remove.
+ 	* config/m68k/m68k.h: Regroup and renumber target flags.
+ 	* config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
+ 	* config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
+ 	* config/m68k/m68k.h (FUNCTION_ARG): Likewise.
+ 	* config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+ 	* config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
+ 
+ 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ 
+ 	* config/m68k/t-rtems (m68k-*-rtems*): New.
+ 	* config.gcc: Use config/m68k/t-rtems.
+ 
+ 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ 
+ 	* config/mips/t-rtems: New.
+ 	* config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
+ 
+ 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* cgraph.c: Fix typo in debugging output.
+ 
+ 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+ 	    Eric Botcazou <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12166
+ 	* config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
+ 
+ 2003-09-18  Mike Stump  <mrs@apple.com>
+ 
+ 	* c-ppoutput.c (print):  Use fileline typedef for field 'line'.
+ 	(print_line, maybe_print_line, cb_define, cb_undef, cb_include,
+ 	cb_ident, cb_def_pragma):  Use fileline typedef.
+ 	* cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
+ 
+ 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
+ 	total parm size if a parm has incomplete type.
+ 	(gen_fastcall_suffix): Likewise.
+ 
+ 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* except.c (output_function_exception_table): Adjust last change
+ 	to handle TYPE of INTEGER_CST.
+ 
+ 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR target/11184
+ 	* builtins.c (expand_builtin_apply): Use convert_memory_address
+ 	before returning the value.
+ 
+ 	* alias.c (find_base_value): Simplify use of
+ 	convert_memory_address.
+ 	(find_base_term): Likewise.
+ 	* builtins.c (expand_builtin_stejmp_setup): Likewise.
+ 	(expand_builtin_longjmp): Likewise.
+ 	(expand_builtin_prefetch): Likewise.
+ 	(get_memory_rtx): Likewise.
+ 	(expand_builtin_return): Likewise.
+ 	(expand_builtin_memcpy): Likewise.
+ 	(expand_builtin_strncpy): Likewise.
+ 	(expand_builtin_memset): Likewise.
+ 	(expand_builtin_va_arg): Likewise.
+ 	(expand_builtin_va_copy): Likewise.
+ 	(expand_builtin_alloca): Likewise.
+ 	* calls.c (expand_call): Likewise.
+ 	* except.c (expand_builtin_extract_return_addr): Likewise.
+ 	(expand_builtin_eh_return): Likewise.
+ 	* explow.c (convert_memory_address): Define even when
+ 	POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
+ 	is already in the right mode.
+ 	* explow.c (memory_address): Simplify use of convert_memory_address.
+ 	(probe_stack_range): Likewise.
+ 	* expmed.c (make_tree): Likewise.
+ 	* expr.c (emit_block_move_in_libcall): Likewise.
+ 	(expand_assignment): Likewise.
+ 	(expand_expr): Likewise.
+ 	* function.c (assign_parms): Likewise.
+ 	(expand_function_end): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* stmt.c (expand_computed_goto): Likewise.
+ 
+ 2003-09-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_unary_operation): Only transform
+ 	(not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
+ 	is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
+ 
+ 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR target/11674
+ 	* config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
+ 
+ 2003-09-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
+ 	PARITY_EXPR): Delete unused tree codes.
+ 	* c-common.c (c_common_truthvalue_conversion): Delete references
+ 	to FFS_EXPR and POPCOUNT_EXPR.
+ 	* c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
+ 	(pp_c_expression): Likewise.
+ 	* expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
+ 	CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
+ 	* fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
+ 	CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
+ 	BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
+ 	and long long variants.
+ 
+ 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
+ 	* c-pretty-print.c: Fix formatting.
+ 	(pp_c_integer_constant): Append type annotation to literals.  Tidy.
+ 	(pp_c_type_specifier): Tidy.
+ 	(pp_c_compound_literal): New function.
+ 	(pp_c_initializer): Simplify..
+ 	(pp_c_initializer_list): Likewise.
+ 	(pp_c_brace_enclosed_initializer_list): New function.
+ 	(pp_c_postfix_expression): Simplify.
+ 
+ 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
+ 	one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
+ 
+ 2003-09-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-optimize.c (tree_rest_of_compilation): Save and restore
+ 	input_location.
+ 
+ 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
+ 
+ 2003-09-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
+ 
+ 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
+ 	* configure: Regenerate.
+ 
+ 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR debug/12066
+ 	* dbxout.c (dbxout_init): Use a langhook to find builtin types.
+ 	* langhooks-def.h (lhd_return_null_tree_v): New function.
+ 	(LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
+ 	(LANG_HOOKS_DECLS): Add it to the intializer.
+ 	* langhooks.c (lhd_return_null_tree_v): New function.
+ 	* langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
+ 
+ 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* configure.in: Quote gcc_config_arguments for configargs.h.
+ 	* configure: Regenerated.
+ 	* gccbug.in: Don't shell-expand gcc_config_arguments.
+ 
+ 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR c++/11357
+ 	* c-pretty-print.c (pp_c_floating_constant): Append
+ 	type-annotation to floating constants.
+ 
+ 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
+ 	Define _ABIO32.
+ 	Use it for _MIPS_SIM.
+ 	* config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
+ 
+ 	* config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
+ 	Moved ...
+ 	* config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
+ 	updating comment.
+ 	Fixes PR target/10190.
+ 
+ 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
+ 	to shared libraries.
+ 
+ 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11646
+ 	* cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
+ 	EDGE_ABNORMAL flag for EH edges.
+ 	* toplev.c (rest_of_handle_cse): Delete unreachable blocks
+ 	if dead edges were purged.
+ 
+ 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
+ 	* config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
+ 	* config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
+ 	* config/m68k/m68k-none.h (CPP_SPEC): Likewise.
+ 
+ 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* cfgcleanup.c (label_is_jump_target_p): Correct use of table
+ 	returned by tablejump_p.
+ 
+ 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2asm.c (dw2_asm_output_nstring): Add comment.
+ 
+ 2003-09-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR bootstrap/12269
+ 	* simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
+ 	argument to be VOIDmode, taking the mode of the comparison from
+ 	the operands.  Only call simplify_relational_operation if we
+ 	know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
+ 	if comparison has a floating point result.  Ensure that the
+ 	result is always of the specified mode.
+ 	(simplify_replace_rtx): Simplify call to simplify_gen_relational.
+ 	(simplify_unary_operation): Ensure the correct mode and cmp_mode
+ 	are always passed to simplify_gen_relational.  Simplify NOT of
+ 	comparison operator in any mode, not just BImode.
+ 	(simplify_ternary_operation): Correct tests on the return value
+ 	of simplify_relational_operation to use const_true_rtx, not
+ 	const1_rtx.  Abort if it ever returns a non-constant result.
+ 
+ 	* cfgloopanal.c (count_strange_loop_iterations): Use the function
+ 	simplify_relational_operation, not simplify_gen_relational, if
+ 	we're only interested in constant comparisons and will ignore
+ 	non-constant results.
+ 
+ 2003-09-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (tree_swap_operands_p): New function to determine
+ 	the prefered ordering of operands.
+ 	(fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
+ 	operands to commutative, comparison or ternary operators.  Replace
+ 	uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
+ 	transformation of A ? B : C into !A ? C : B.
+ 
+ 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 	* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+ 
+ 2003-09-16  Jason Merrill  <jason@redhat.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-common.c (handle_warn_unused_result_attribute): New function.
+ 	(c_common_attribute_table): Add warn_unused_result.
+ 	(c_expand_expr): Issue warning when result of inlined function
+ 	with warn_unused_result attribute is ignored.
+ 	* calls.c (expand_call): Issue warning when result of function
+ 	with warn_unused_result attribute is ignored.
+ 	* c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
+ 	* expr.c (expr_wfl_stack): Define.
+ 	(expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
+ 	pass const0_rtx as target.  Chain locations into expr_wfl_stack.
+ 	* tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
+ 	bit if inlined function has warn_unused_result attribute.
+ 	* input.h (expr_wfl_stack): Declare.
+ 	* doc/extend.texi: Document warn_unused_result attribute.
+ 
+ 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* cpplib.c (do_pragma): Remove unnecessary cb_line_change.
+ 
+ 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
+ 	ATTRIBUTE_UNUSED.
+ 	(call_insn_operand): For PIC, don't allow a direct call to a
+ 	function in a different section than the current one.
+ 
+ 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/invoke.texi (Warning Options): Add missing hyphen before
+ 	"Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
+ 	Move "-Wold-style-definition" to the C-only section.
+ 	Fix the ordering of the warning options.
+ 
+ 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* gcse.c (remove_reachable_equiv_notes): New.
+ 	replace_store_insn): Call it.  Update antic list.
+ 	(store_killed_in_insn): Take REG_EQUAL notes into account.
+ 	(build_store_vectors, delete_store): Add parameter to
+ 	replace_store_insn call.
+ 
+ 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
+ 	SYMBOL_REF_LOCAL_P.
+ 
+ 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
+ 	(FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
+ 	* config/ia64/ia64.c (ia64_hpux_function_arg_padding):
+ 	Likewise.
+ 	* config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
+ 	Likewise.
+ 	* config/rs6000/rs6000.c (function_arg_padding): Likewise.
+ 	* config/sparc/sparc.c (function_arg_padding): Likewise.
+ 
+ 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (schedule_block): Use ready_remove_first instead
+ 	of choose_ready for non-dfa insn scheduling.
+ 
+ 2003-09-15  Andreas Jaeger  <aj@suse.de>
+ 	    Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
+ 	* c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
+ 	* c-parse.in: Warn about old-style parameter definition.
+ 	* c-common.c: Define warn_old_style_defintion.
+ 	* c-common.h: Declare it.
+ 	* c.opt: Add Wold-style-defintion.
+ 
+ 2003-09-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/rs6000/altivec.h: Convert () prototypes to ISO C90.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 
+ 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR optimization/10914
+ 	* expr.h (get_condition, canonicalize_condition): Declaration changed.
+ 	* cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
+ 	and canonicalize_condition calls.
+ 	* gcse.c (fis_get_condition, delete_null_pointer_checks_1,
+ 	delete_null_pointer_checks): Ditto.
+ 	* ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
+ 	* predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
+ 	* loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
+ 	(canonicalize_condition, get_condition): Allow to return comparisons
+ 	of cc mode registers.
+ 	* loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
+ 	cc mode registers comparison in condition.
+ 
+ 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* coverage.c (create_coverage): Do not call pushlevel/poplevel.
+ 	* langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
+ 	function.
+ 	* langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
+ 
+ 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_comparison): Convert
+ 	(ne (and (lshiftrt (xor X CST) Y) 1) 0) into
+ 	(eq (and (lshiftrt X Y) 1) 0).
+ 
+ 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Follow spelling conventions.
+ 	* cpphash.h: Likewise.
+ 	* fold-const.c: Likewise.
+ 
+ 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
+ 	* c-lex.c (cb_line_change): Skip line changing whenever
+ 	c-ppoutput.c would.
+ 
+ 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* ra.c: Convert to ISO C90 prototypes.
+ 	* ra-build.c: Likewise.
+ 	* ra-colorize.c: Likewise.
+ 	* ra-debug.c: Likewise.
+ 	* ra-rewrite.c: Likewise.
+ 
+ 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (%.dvi): Remove excess $(docdir).
+ 
+ 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* function.c (STACK_BYTES): Move definition to head of file.
+ 	(assign_parms): Don't pass current_function_pretend_args_size
+ 	directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
+ 	round current_function_pretend_args_size up to STACK_BYTES.  Skip any
+ 	excess before laying out the argument.
+ 
+ 2003-09-14  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* objc/objc-act.c: Convert to ISO C90 prototypes.
+ 	* objc/objc-act.h: Likewise.
+ 
+ 2003-09-14  Olaf Hering  <olh@suse.de>
+ 
+ 	* config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
+ 
+ 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	PR target/12021
+ 	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
+ 	as they already are done in config/m68k/m68k.h.
+ 	* config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
+ 
+ 	* config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
+ 	(machopic_output_stub): Only generate pic base symbols when using pic
+ 	and generate them in the form L00000000$spb.
+ 
+ 2003-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraphunit.c (cgraph_assemble_pending_functions): Export.
+ 	(cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
+ 	* cgraph.h: Update.
+ 
+ 2003-09-12  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c: Fix typos in previous.
+ 
+ 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
+ 	when allocating pp->buffer.
+ 
+ 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.c (machopic_select_rtx_section): Use
+ 	const_data_section for things that might require relocation.
+ 
+ 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR bootstrap/12264
+ 	* tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
+ 
+ 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
+ 	* config/xtensa/linux.h (ASM_SPEC): Likewise.
+ 	* config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
+ 	-mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
+ 	-m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
+ 	-m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
+ 	-m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
+ 	-m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
+ 	and redefine corresponding TARGET_* macros with constants from the
+ 	xtensa-config.h header.
+ 	* doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
+ 	for the options listed above.
+ 
+ 2003-09-12  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000-protos.h:  Use C90 prototypes.
+ 	* config/rs6000/rs6000-c.c:  Ditto.
+ 	* config/rs6000/rs6000.c:  Ditto.
+ 	* config/rs6000/ sysv4.h:  Ditto.
+ 
+ 2003-09-12  Chris Lattner <sabre@nondot.org>
+ 
+ 	* loop.c: Move comments describing BIV's and GIV's to top of file
+ 
+ 2003-09-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/8967
+ 	* alias.c (write_dependence_p): Modify to take an additional constp
+ 	argument that controls whether the UNCHANGING_RTX_P flags are used.
+ 	(anti_dependence, output_dependence): Adjust write_dependence_p
+ 	callers to pass this additional argument, to return the same result.
+ 	(unchanging_anti_dependence): New variant of anti_dependence that
+ 	ignores the UNCHANGING_RTX_P property on memory references.
+ 	* rtl.h (unchaning_anti_dependence): Prototype here.
+ 	* flow.c (init_propagate_block): Place fake constant mem writes on
+ 	the mem_set_list so that dead writes to const variables are deleted.
+ 	(insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
+ 	(mark_used_regs): Likewise.
+ 
+ 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
+ 	(mcore_secondary_reload_class): Declare.
+ 	(mcore_output_inline_const_forced): Remove.
+ 	* config/mcore/mcore.md (movsi): Remove the code that forced
+ 	non-inlineable constants into a register if the target was r15
+ 	or the stack pointer.  Remove constant restrictions from the main
+ 	define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
+ 	of an r <- P alternative.  Remove fallback define_insn for reload.
+ 	(movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
+ 	define_insn.  Use mcore_output_move in the remaining define_insn.
+ 	Adjust condition and constraints in the way as for movsi.
+ 	(movdi): Always split unacceptable constants into two.  Use
+ 	simplify_gen_subreg instead of operand_subword{,_force}.
+ 	* config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
+ 	(mcore_output_move): Support HImode and QImode moves as well.
+ 	(mcore_m15_operand_p): New function.
+ 	(mcore_reload_class): Use it to detect cases where LRW_REGS are better.
+ 	(mcore_secondary_reload_class): New function.
+ 	* config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
+ 	terms of mcore_secondary_reload_class.
+ 
+ 2003-09-11  Mike Stump  <mrs@apple.com>
+ 
+ 	* c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
+ 
+ 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_logarithm): if N can't be truncated to
+ 	MODE exactly, then only convert logN(N) -> 1.0 if
+ 	flag_unsafe_math_optimizations is set.
+ 
+ 	* builtins.c (builtin_dconsts_init, dconstpi, dconste,
+ 	init_builtin_dconsts): Delete.
+ 	* emit-rtl.c (dconstpi, dconste): Define.
+ 	(init_emit_once): Initialize dconstpi & dconste.
+ 	* real.h (dconstpi, dconste): Declare.
+ 
+ 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR fortran/11522
+ 	* dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
+ 	for ultimate origin even if block is abstract.
+ 
+ 2003-09-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Move several NOT and NEG
+ 	optimizations from here...
+ 	* simplify-rtx.c (simplify_unary_operation): to here.  Recursively
+ 	simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
+ 
+ 2003-09-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraphunit.c (cgraph_finalize_function): Add nested arg.
+ 	Tweek tests for function already generated.
+ 	(cgraph_expand_function): Don't double announce in !unit-at-a-time.
+ 	* cgraph.h (cgraph_finalize_function): Update for extra arg.
+ 	* c-decl.c (finish_function): Likewise.
+ 
+ 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
+ 
+ 	* c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
+ 
+ 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* real.c: Update URL to VAX floating point docs.
+ 	(decode_vax_d): Extract 8 exponent bits instead of 7.
+ 
+ 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* combine.c (force_to_mode): Set fuller_mask based only on mask,
+ 	not op_mode.
+ 
+ 2003-09-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Warn
+ 	on why function is not inlinable; do not check
+ 	the body.
+ 	(inline_forbidden_p): Move to...
+ 	* tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
+ 	deal with alloca, longjmp.
+ 	(inline_forbidden_p): New static function.
+ 	(find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
+ 	find_builtin_longjmp_call): Kill.
+ 
+ 2003-09-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraph.h (struct cgraph_node): Rename lowered to analyzed.
+ 	* cgraphunit.c: Update to match.
+ 	(record_call_1): Rearrange.  Call lang hook for language nodes.
+ 	(cgraph_analyze_function): Don't call lower_function.
+ 	* langhooks.h (struct lang_hooks_for_callgraph): Replace
+ 	lower_function with analyze_expr.
+ 	* langhooks-def.h: Update to match.
+ 	* langhooks.c (lhd_callgraph_analyze_expr): New.
+ 
+ 2003-09-10  Martin Husemann  <martin@duskware.de>
+ 
+ 	PR target/11965
+ 	* config/sparc/sparc.c (sparc_v8plus_shift): Protect against
+ 	constants greater than 63.
+ 	* config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
+ 	against constants greater than 31.
+ 	(*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
+ 	constants greater than 63.
+ 
+ 2003-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraphunit.c (cgraph_finalize_function): Remove unused argument.
+ 	* cgraph.h (cgraph_finalize_function): Update.
+ 	* c-decl.c (finish_function): Update.
+ 
+ 2003-09-09  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
+ 	* doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
+ 
+ 2003-09-09  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* configure.in: Change usage of 'head' to 'sed 1q'.
+ 	* configure: Regenerate.
+ 
+ 2003-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c: Include cgraph.h.
+ 	(output_function_exception_table): Invoke
+ 	cgraph_varpool_mark_needed_node.
+ 	* Makefile.in (except.o): Update.
+ 
+ 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
+ 	and use it throughout.
+ 
+ 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (real_dconstp, fold_builtin_logarithm,
+ 	fold_builtin_exponent): New, split out from fold_builtin.  Also
+ 	generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
+ 	* emit-rtl.c (dconst3, dconst10, dconstthird): New.
+ 	(init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
+ 	of hardcoded array size.
+ 	* fold-const.c (fold): Add cases for exp2, exp10 and pow10.
+ 	(tree_expr_nonnegative_p): Likewise.
+ 	* real.h (dconst3, dconst10, dconstthird): New.
+ 
+ 2003-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_finalize_function): Fix handling of extern
+ 	inline functions.
+ 	(cgraph_finalize_compilation_unit): Fix crash when dealing with lost
+ 	DECL_SAVED_TREE.
+ 
+ 2003-09-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_cabs): Protect the complex argument
+ 	against multiple evaluation when optimizing cabs* into sqrt*.
+ 
+ 2003-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* varasm.c (notice_global_symbol):  Properly deal with weak symbols.
+ 
+ 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in: Revert yesterday's change.
+ 
+ 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
+ 	    Peter Barada <peter@baradas.org>
+ 
+ 	* config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
+ 	* config/m68k/hp320.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+ 	* gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
+ 	* config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
+ 	(m68k_compute_frame_layout): New function.
+ 	(m68k_initial_elimination_offset): New function.
+ 	(m68k_output_function_prologue): ColdFire-specific movem handling.
+ 	(m68k_output_function_epilogue): Likewise.
+ 	* config/m68k/m68k.h (FIRST_PSEUDO_REGISTER): Make room for argptr reg.
+ 	(ARG_POINTER_REGNUM): Add new definition.
+ 	(INITIAL_FRAME_POINTER_OFFSET): Remove macro.
+ 	(ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
+ 	(CAN_ELIMINATE): Likewise.
+ 	(INITIAL_ELIMINATION_OFFSET): Likewise.
+ 
+ 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Simplify
+ 	by removing redundant variable cfa_store_offset.
+ 
+ 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* langhooks-def.h (lhd_register_builtin_type): New function.
+ 	(LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
+ 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+ 	* langhooks.h (lang_hooks_for_types): Add register_builtin_type.
+ 	* langhooks.c (lhd_register_builtin_type): New function.
+ 	* c-common.h (c_register_builtin_type): Declare.
+ 	* c-common.c (c_register_builtin_type): New function.
+ 	* c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
+ 	c_register_builtin_type.
+ 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
+ 	__float80, and __float128 macros.
+ 	* config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
+ 	__float80, and __float128 types.
+ 
+ 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def
+ 	(BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
+ 	BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
+ 	BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
+ 	* builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
+ 	BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
+ 	BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
+ 	BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
+ 	BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
+ 	BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
+ 	BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
+ 	BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
+ 	BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
+ 	BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
+ 	BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
+ 	BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
+ 	BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
+ 	BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
+ 	New.
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2003-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
+ 	finalization.
+ 	* cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
+ 	functions, check for COMDAT.
+ 	(cgraph_assemble_pending_functions): Break out from...
+ 	(cgraph_finalize_function): ... here; allow redefinig of extern inline
+ 	functions.
+ 	(record_call_1): Record function references only in non-unit-at-a-time
+ 	mode.
+ 	(cgraph_analyze_function): Reset current_function_decl.
+ 	(cgraph_finalize_compilation_unit):  Assemble pending functions.
+ 
+ 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* mklibgcc.in (libcc.a): Depend on stmp-dirs.
+ 	(libgov.a): Likewise.
+ 	(libgcc_eh.a): Likewise.
+ 
+ 2003-09-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (operand_equal_p): Clarify documentation.
+ 
+ 2003-09-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (c_expand_body_1): Push and pop function context here.
+ 	* tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
+ 	nested argument instead of computing nesting ourselves.
+ 
+ 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
+ 	regstack if optimizing but not scheduling after reload.
+ 
+ 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.c (struct machine_function): New type.
+ 	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
+ 	(sparc_override_options): Initialize init_machine_status.
+ 	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
+ 	tie_symbolic_operand, tle_symbolic_operand): New functions.
+ 	(symbolic_operand): Disallow tls_symbolic_operand.
+ 	(symbolic_memory_operand): Likewise.
+ 	(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
+ 	constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
+ 	New functions.
+ 	(sparc_tls_symbol): New variable.
+ 	(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
+ 	legitimize_address): New functions.
+ 	(print_operand): Handle %&.
+ 	(sparc_init_machine_status, get_some_local_dynamic_name,
+ 	get_some_local_dynamic_name_1): New functions.
+ 	(sparc_output_dwarf_dtprel): New function.
+ 	* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
+ 	constant_address_p.
+ 	(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
+ 	(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
+ 	(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+ 	(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
+ 	(ASM_OUTPUT_DWARF_DTPREL): Define.
+ 	(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
+ 	tie_symbolic_operand, tle_symbolic_operand.
+ 	* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
+ 	UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
+ 	(tls_call_delay): New attribute.
+ 	(in_call_delay): Use it.
+ 	(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
+ 	(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
+ 	tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
+ 	tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
+ 	tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
+ 	tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
+ 	(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
+ 	tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
+ 	tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
+ 	tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
+ 	tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
+ 	tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
+ 	tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
+ 	tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
+ 	insns.
+ 	* config/sparc/sparc-protos.h (legitimate_constant_p,
+ 	constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
+ 	legitimize_tls_address, legitimize_address, tls_symbolic_operand,
+ 	tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
+ 	* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
+ 	* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
+ 	* configure.in (sparc*-*-*): Add TLS check.
+ 	* configure: Rebuilt.
+ 
+ 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/11689
+ 	* config/i386/i386.c (memory_address_length): Fix computation when
+ 	the base is esp or ebp.
+ 
+ 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/11852
+ 	* varasm.c (initializer_constant_valid_p): Correct logic for
+ 	CONSTRUCTORs.
+ 
+ 2003-09-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_operands): New function to expand an operand pair.
+ 	(expand_expr): Call expand_operands whenever we need to expand both
+ 	operands of a binary operator.
+ 	(do_store_flag): Likewise for operands of comparison operations.
+ 
+ 2003-09-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Don't convert -(A*B) into
+ 	(-A)*B if we care about sign-dependent rounding.
+ 
+ 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
+ 
+ 	* c-pretty-print.h (pp_c_left_brace): Declare.
+ 	(pp_c_right_brace): Likewise.
+ 	* c-pretty-print.c (pp_c_left_brace): Now a function
+ 	(pp_c_right_brace): Likewise.
+ 
+ 2003-09-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
+ 
+ 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (warn_deprecated_use): Move to toplev.c
+ 
+ 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* langhooks.c (lhd_print_error_function): Move from diagnostic.c.
+ 	* Makefile.in (langhooks.o): Depend on diagnostic.h
+ 
+ 2003-09-06  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
+ 	simplify.
+ 
+ 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
+ 	and use it throughout.
+ 
+ 2003-09-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
+ 
+ 	* toplev.c  (rest_of_decl_compilation):  Do not finalize external
+ 	virables.
+ 
+ 	* cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
+ 	functions.
+ 	(cgraph_varpool_finalize_decl): Notice global symbol when needed.
+ 
+ 2003-09-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/12070
+ 	* calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
+ 
+ 	PR opt/12082
+ 	* cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
+ 
+ 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (announce_function): Move to toplev.c.
+ 
+ 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (expr_equiv_p): Don't consider anything to be equal to
+ 	volatile mem.
+ 
+ 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ggc-common.c (init_ggc_heuristics): Don't use the heuristics
+ 	when gc checking is enabled.
+ 
+ 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	PR c/9862
+ 	* c-decl.c (c_expand_body_1): Move return warning from here...
+ 	(finish_function): ...to here.
+ 
+ 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
+ 	a subset of the input class.
+ 
+ 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i860/i860.c: Follow spelling conventions.
+ 	* config/i860/i860.h: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 
+ 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
+ 
+ 	* config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
+ 	* config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
+ 	* config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
+ 
+ 2003-09-05  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/1823
+ 	* expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
+ 	multiplication to implement division by constant integer.
+ 
+ 2003-09-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* opts.c (decode_options): Enable unit-at-a-time at -O2.
+ 	* params.def (max-inline-insns-single): Set to 500
+ 	(max-inline-insns-auto): Set to 150
+ 	* invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
+ 
+ 2003-09-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraph.c (cgraph_mark_reachable_node): Split out from ...
+ 	(cgraph_mark_needed_node): Remove needed argument.
+ 	* cgraph.h: Update to match.
+ 	* cgraphunit.c (decide_is_function_needed): Split out from ...
+ 	(cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
+ 	if we generated the function.
+ 	(record_call_1): Update for cgraph_mark_reachable_node.
+ 	* varasm.c (mark_referenced): Likewise.
+ 	* objc/objc-act.c (mark_referenced_methods): Likewise.
+ 
+ 2003-09-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* targhooks.c: Add comment explaining the migration process.
+ 
+ 2003-09-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/frv/t-frv: Fix path for frv-abi.h.
+ 	* config/frv/frv-asm.h: Fix string concatenation.
+ 
+ 2003-09-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	* builtins.c (apply_args_size): Guard against a NULL cfun.
+ 	(expand_builtin_apply_args_1): Likewise.
+ 	(expand_builtin_apply): Likewise.
+ 	Fixes PR bootstrap/12172.
+ 
+ 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
+ 	assembler supports Sun syntax for cmov.
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 	* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
+ 	HAVE_AS_IX86_CMOV_SUN_SYNTAX.
+ 	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
+ 	Fixes PR target/12101.
+ 
+ 2003-09-04  Matt Austern  <austern@apple.com>
+ 
+ 	* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
+ 	with verbosity 0, instead of DECL_NAME, for human-readable string.
+ 
+ 2003-09-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* targhooks.c (default_return_in_memory): Allow
+ 	unconverted ports.
+ 
+ 2003-09-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* targhooks.c (default_return_in_memory): Fix typo
+ 	in last checkin.
+ 
+ 2003-09-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* targhooks.c (default_return_in_memory): Fix default
+ 	definition.
+ 
+ 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
+ 	deleted function.
+ 	* config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
+ 	enable coff-only code in m68k.c.
+ 
+ 2003-09-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add v850e1 target.  Allow --with-cpu to accept
+ 	v850e1.
+ 	* config/v850/v850.h: Accept v850e1 as a default CPU.
+ 	Accept -mv850e1 as a command line option.
+ 	* doc/invoke.texi: Document new -mv850e1 command line switch.
+ 	* config/v850/t-v850: Treat -mv850e1 as a multilib alias for
+ 	-mv850e.
+ 
+ 2003-09-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc (v850e-*-*): Use t-v850e makefile fragment.
+ 	* config/v850/t-v850: Only produce one extra multilib - for
+ 	the v850e.
+ 	* config/v850/t-v850e: New file: Only produce one extra
+ 	multilib - for the v850.
+ 
+ 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
+ 	* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
+ 	* unwind.h (_Unwind_GetBSP): New prototype.
+ 	* libgcc-std.ver: Add empty GCC_3.3.2 version.
+ 	* mkmap-symver.awk: For symbol versions with no exported symbols,
+ 	don't put anything into version script, just change all symbol
+ 	versions which inherit from it to inherit from its ancestor.
+ 
+ 2003-09-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_expand_prologue): Convert to
+ 	calls.struct_value_rtx hook.
+ 	(reg_or_const_float_1_operand): New.
+ 	* config/mips/mips.h: Update Comments.
+ 	(mips_arg): Add reg_or_const_float_1_operand.
+ 	* config/mips/mips.md (divdf3); Convert to expander.
+ 	(divsf3): Ditto.
+ 	(*divdf3): New pattern.
+ 	(*divsf3): Ditto.
+ 
+ 2003-09-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (wrapup_global_declarations): Fix final pass in
+ 	unit-at-atime mode.
+ 
+ 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/extend.texi: Document removal of cast-as-lvalue extension in
+ 	C++.
+ 
+ 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
+ 
+ 	* gcc.c (process_command): Fix typo.
+ 
+ 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	optimization/11980
+ 	* config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
+ 	(PTRDIFF_TYPE): Likewise.
+ 	(WCHAR_TYPE_SIZE): Likewise.
+ 
+ 2003-09-03  DJ Delorie  <dj@redhat.com>
+ 
+ 	* targhooks.c: New file.
+ 	* targhooks.h: New file.
+ 	* Makefile.in: Add targhooks.o support.
+ 	(function.o): Depend on$(TARGET_H).
+ 	(stmt.o): Likewise.
+ 	(combine.o): Depend on $(TREE_H) and $(TARGET_H).
+ 	* builtins.c (apply_args_size, expand_builtin_apply_args_1,
+ 	expand_builtin_apply): Convert to calls.struct_value_rtx hook.
+ 	(expand_builtin_saveregs): Convert to
+ 	calls.expand_builtin_saveregs hook.
+ 	* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
+ 	here, instead of ...
+ 	(get_parm_info) ... here.
+ 	(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
+ 	hook.
+ 	(finish_function): Handle calls.promote_prototypes hook here too.
+ 	* c-typeck.c (convert_arguments): Convert to
+ 	calls.promote_prototypes hook.
+ 	(c_convert_parm_for_inlining): Likewise.
+ 	* calls.c (initialize_argument_information): Convert to
+ 	calls.promote_function_args hook.
+ 	(expand_call): Convert to calls.struct_value_rtx,
+ 	calls.strict_argument_naming,
+ 	calls.pretend_outgoing_varargs_named, and
+ 	calls.promote_function_return hooks.  Pass fndecl to
+ 	aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
+ 	hooks, so they can use that.
+ 	(emit_library_call_value_1): Likewise.
+ 	* combine.c (setup_incoming_promotions): Convert to
+ 	calls.promote_function_args hook.
+ 	* emit-rtl.c: Convert to calls.struct_value_rtx hook.
+ 	* expr.c (expand_assignment): Pass call to aggregate_value_p.
+ 	(expand_expr): Likewise.
+ 	* expr.h: Remove support for SETUP_INCOMING_VARARGS,
+ 	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+ 	RETURN_IN_MEMORY macro defaults.
+ 	* final.c (profile_function): Convert to calls.struct_value_rtx
+ 	hook.
+ 	* function.c (aggregate_value_p): Accept function type tree as
+ 	second parameter; try to deduce fntype from it.  Convert to
+ 	calls.return_in_memory hook.
+ 	(assign_parms): Convert to calls.setup_incoming_varargs,
+ 	calls.strict_argument_naming, calls.promote_function_args,
+ 	calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
+ 	aggregate_value_p.
+ 	(expand_function_start): Likewise.  Convert to
+ 	calls.struct_value_rtx hook.
+ 	(expand_function_end): Convert to calls.promote_function_return hook.
+ 	(allocate_struct_function): Pass fndecl to aggregate_value_p.
+ 	* hard-reg-set.h: Update comments to new hook names.
+ 	* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
+ 	* reg-stack.c (stack_result): Likewise.
+ 	* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
+ 	* stmt.c (expand_value_return): Convert to
+ 	calls.promote_function_return hook.
+ 	* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
+ 	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+ 	TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
+ 	TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
+ 	TARGET_STRICT_ARGUMENT_NAMING,
+ 	TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
+ 	* target.h: Likewise.
+ 	* tree.h (aggregate_value_p): Also takes a tree to deduce function
+ 	attributes from (for target hooks).
+ 	* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
+ 	PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
+ 	STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
+ 	EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
+ 	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
+ 	to hooks.
+ 
+ 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
+ 	to aggregate_value_p.
+ 	* config/arm/arm.c (arm_init_cumulative_args,
+ 	arm_output_mi_thunk): Likewise.
+ 	* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
+ 	Likewise.
+ 	* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
+ 	mips_can_use_return_insn): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+ 	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
+ 	aggregate_value_p.
+ 	* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
+ 	function to aggregate_value_p.
+ 	* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
+ 	aggregate_value_p.
+ 
+ 	* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
+ 	(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
+ 	sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
+ 	(sh_handle_renesas_attribute, sh_promote_prototypes,
+ 	sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
+ 	sh_setup_incoming_varargs, sh_strict_argument_naming,
+ 	sh_pretend_outgoing_varargs_named): New decls.
+ 	(targetm): Add new hooks.
+ 	(calc_live_regs): Save MACL and MACH if the function has the
+ 	renesas attribute.
+ 	(sh_expand_prologue): Support renesas attribute.
+ 	(sh_builtin_saveregs): Make static.
+ 	(sh_build_va_list): Support renesas attribute.
+ 	(sh_va_start): Likewise.
+ 	(sh_va_arg): Likewise.
+ 	(sh_promote_prototypes): New.
+ 	(sh_function_arg): New, moved from sh.h.  Support renesas
+ 	attribute.
+ 	(sh_function_arg_advance): Likewise.
+ 	(sh_return_in_memory): Likewise.
+ 	(sh_strict_argument_naming): Likewise.
+ 	(sh_pretend_outgoing_varargs_named): Likewise.
+ 	(sh_struct_value_rtx): New.
+ 	(sh_attribute): Add renesas attribute.
+ 	(sh_handle_renesas_attribute): New.
+ 	(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
+ 	(sh_ms_bitfield_layout_p): Support renesas attribute also.
+ 	(sh_output_mi_thunk): Pass function to aggregate_value_p.  *
+ 	config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
+ 	-mhitachi.
+ 	(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
+ 	target hooks.
+ 	(sh_args): Add renesas_abi flag.
+ 	(INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
+ 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
+ 	(PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
+ 	stack for the renesas abi.
+ 	(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+ 	SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
+ 	PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
+ 	call cookie to indicate renesas calls.
+ 
+ 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* gcse.c (replace_one_set): New function.
+ 	(pre_insert_copy_insn): Change the order of copying
+ 	to make copy propagation discover additional PRE opportunities.
+ 
+ 2003-09-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/11700.
+ 	* simplify-rtx.c (simplify_subreg): Check that the subreg offset
+ 	of a hard register is representable before trying to simplify it
+ 	using subreg_hard_regno.
+ 
+ 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
+ 	* configure: Regenerate.
+ 
+ 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* intl.h (N_): Remove parentheses.
+ 
+ 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
+ 	* config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
+ 	definition and code blocks compiled when not defined.
+ 	* config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
+ 	* config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
+ 	* config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
+ 	* config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
+ 
+ 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* cgraphunit.c (visited_nodes): New static variable.
+ 	(record_call_1): Use walk_tree with visited_nodes.
+ 	(cgraph_create_edges): Use walk_tree with visited_nodes.
+ 	Setup/teardown visited_nodes hashtable.
+ 
+ 2003-09-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* toplev.c (flag_rounding_math): New global variable.
+ 	(f_options): Add to the list of language independent options.
+ 	* flags.h (flag_rounding_math): Prototype here.
+ 	(HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
+ 	* common.opt (frounding-math): New common command line option.
+ 	* opts.c (common_handle_option): Handle OPT_frounding_math.
+ 	(set_fast_math_flags): -ffast-math clears flag_rounding_math.
+ 
+ 	* doc/invoke.texi: Document this new command line option.
+ 
+ 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
+ 
+ 2003-09-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
+ 	* c-decl.c (finish_function):  Kill arguments, always use cgraph path.
+ 	* c-objc-common.c: Kill include of gt-c-objc-common.h
+ 	(expand_deferred_fns, deffer_fn): Kill function.
+ 	(deferred_fns): Kill variable.
+ 	(finish_cdtor): Update finish_function call.
+ 	(c_objc_common_finish_file): Always call cgraph code.
+ 	* c-parse.c: Regenerate.
+ 	* c-parse.y: Regenerate.
+ 	* c-tree.h (finish_function): Update prototype.
+ 	* objc-acct.c (build_module_descriptor, finish_method_def):
+ 	Update call of finish_function.
+ 	* cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
+ 	forward prototype.
+ 	(cgraph_finalize_function): In non-unit-at-a-time mode analyze the
+ 	function and assemble it if needed.
+ 	(cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
+ 	mode.
+ 	(cgraph_optimize): Likewise.
+ 	(cgraph_expand_function): In non-unit-at-a-time mode keep function body
+ 	even when it has no inline callees.
+ 	* c-parse.in: Update calls to finish_function.
+ 
+ 2003-09-03  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
+ 	Use #error to generate the message if TARGET_DEFAULT is not
+ 	recognised.
+ 
+ 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_UNUSED1): Remove.
+ 	(MASK_XGOT, TARGET_XGOT): Define.
+ 	(TARGET_SWITCHES): Add an entry for -mxgot.
+ 	(ASM_SPEC): Map -mxgot to -xgot.
+ 	* config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
+ 	whether we're using a big-GOT sequences.
+ 	(mips_legitimize_const_move, mips_expand_call): Likewise.
+ 	(override_options): Revert 2003-01-09 change.
+ 	* doc/invoke.texi: Document -mxgot.
+ 
+ 2003-09-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
+ 	* config/sparc/sol2.h: Not here.
+ 
+ 2003-09-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr): The code following both_summands performs
+ 	the same task as simplify_gen_binary.  Replace all gotos to
+ 	both_summands with a call to simplify_gen_binary and delete the
+ 	now unused label.
+ 
+ 2003-09-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/7327
+ 	* config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
+ 
+ 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	* cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
+ 	(cgraph_optimize_function): Set current_function_decl to the
+ 	fndecl we're integrating from.
+ 
+ 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: Break out _Complex math functions into their
+ 	own category.
+ 
+ 2003-09-02  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
+ 
+ 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
+ 	finding the note again.
+ 
+ 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Remove host-specific rewrites of target_alias.
+ 
+ 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (genprogs): Fix typo.
+ 
+ 	* Makefile.in (gencheck.o): Remove build commands.
+ 	(dummy-conditions.o): Likewise.
+ 	(read-rtl.o): Likewise.
+ 	(gensupport.o): Likewise.
+ 	(genconfig$(build_exeext)): Remove rule.
+ 	(genconfig.o): Remove build commands.
+ 	(genflags$(build_exeext)): Remove rule.
+ 	(genflags.o): Remove build commands.
+ 	(gencodes$(build_exeext)): Remove rule.
+ 	(gencodes.o): Remove build commands.
+ 	(genconstants.o): Remove build commands.
+ 	(genemit$(build_exeext)): Remove rule.
+ 	(genemit.o): Remove build commands.
+ 	(genrecog$(build_exeext)): Remove rule.
+ 	(genrecog.o): Remove build commands.
+ 	(genextract$(build_exeext)): Remove rule.
+ 	(genextract.o): Remove build commands.
+ 	(genpeep$(build_exeext)): Remove rule.
+ 	(genpeep.o): Remove build commands.
+ 	(genattr$(build_exeext)): Remove rule.
+ 	(genattr.o): Remove build commands.
+ 	(genprognames): New variable.
+ 	(genprogs): Likewise.
+ 	(genobjs): Likewise.
+ 	(genprogs): New rule.
+ 	(genobjs): Likewise.
+ 	(genattrtab.o): Remove build commands.
+ 	(genautomata.o): Likewise.
+ 	(genoutput$(build_exeext)): Remove rule.
+ 	(genoutput.o): Remove build commands.
+ 	(gengenrtl.o): Likewise.
+ 	(genpreds.o): Likewise.
+ 	(gengtype.o): Likewise.
+ 	(genconditions.o): Likewise.
+ 	(gen-protos.o): Likewise.
+ 	(scan.o): Likewise.
+ 	(fix-header.o): Likewise.
+ 	(scan-decls.o): Likewise.
+ 	(check-g++): Combine with other check targets.
+ 	(check-gcc): Likewise.
+ 	(check-g77): Likewise.
+ 	(check-objc): Likewise.
+ 
+ 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Remove host-specific stuff which is unused here
+ 	since the introduction of config.host.
+ 
+ 	* doc/fragments.texi: Mention config.host.
+ 	* doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
+ 	of config.build, config.host, and config.gcc.
+ 
+ 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (pushdecl): Don't put variables on
+ 	C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
+ 	incomplete.
+ 
+ 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.host: New file.
+ 	* config.gcc: Remove some host-specific stuff and some
+ 	logic needed only for repeated invocation.
+ 	* configure.in: Use config.host.
+ 	* configure: Regenerate.
+ 
+ 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
+ 	* convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
+ 	* fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
+ 	(fold): Kill BIT_ANDTC_EXPR and label bit_and.
+ 	* tree.def (BIT_ANDTC_EXPR): Kill.
+ 
+ 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Remove uses of "for x in .. ${foo}" idiom.
+ 	* configure: Regenerate.
+ 
+ 	* config.gcc:  Remove references to install_headers_dir, now unused
+ 	since introduction of config.build.
+ 	* config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
+ 
+ 	* doc/fragments.texi, doc/sourcebuild.texi: Mention new file
+ 	config.build.
+ 
+ 	* config.build: New file.
+ 	* config.gcc: Remove some build-specific stuff.
+ 	* configure.in: Use config.build.
+ 	* configure: Regnerate.
+ 
+ 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11823
+ 	* stmt.c (expand_end_case_type): Only use jump tables for dense
+ 	switch statements when optimizing for size.
+ 
+ 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
+ 	the != 0 case, which ensures pending stack adjustments are flushed.
+ 
+ 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.frag: Delete file.
+ 	* configure.in: Rename the substitution variables
+ 	dep_host_xmake_file and dep_tmake_file to xmake_file and
+ 	tmake_file respectively.  Do not expand $srcdir in the
+ 	value of these; leave that for Make.  Introduce a new
+ 	substitution varaible, all_lang_makefrags, which lists
+ 	subdirectory Make-lang.in files; exclude these from
+ 	all_lang_makefiles, which is now only for subdirectory
+ 	outputs.  Do not invoke configure.frag.  Do not set nor
+ 	AC_SUBST_FILE target_overrides, host_overrides, or
+ 	language_fragments. Create build subdirectories in
+ 	config.status extra commands.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Update substitutions to match changes to
+ 	configure.  Use include directives instead of @-insertions
+ 	to read in host, target, and language fragments.
+ 	(Makefile rule): Do not invoke configure.frag.  Do not copy
+ 	config.status to config.run before executing it.  Set
+ 	CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
+ 	regenerated.
+ 	(cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
+ 
+ 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
+ 	* c-typeck.c (same_translation_unit_p): New function.
+ 	(comptypes): Use it instead of flags parameter to identify
+ 	structure types from different translation units.
+ 	* c-decl.c (duplicate_decls): Always call comptypes with
+ 	COMPTYPE_STRICT flags argument.
+ 	(c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
+ 	to file_scope_decl.
+ 
+ 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
+ 	* c-decl.c (struct c_scope): Remove "incomplete" field.
+ 	(pushdecl): Attach variables with incomplete types to
+ 	the TYPE_MAIN_VARIANT of the incomplete type in question.
+ 	(finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
+ 	to complete, not at current_scope->incomplete.  All such
+ 	variables do need completion.
+ 
+ 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
+ 	Nicolas Pitre <nico@cam.org>
+ 
+ 	* arm/lib1funcs.asm (RETCOND): Delete.
+ 	(RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
+ 	(ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
+ 	(__ARM_ARCH__): Move here from ieee754-?f.S.
+ 	(RET, RETc): Clean up definitions.
+ 	(DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
+ 	(FUNC_END): New macro that marks the end of any function.
+ 	(ARM_FUNC_START): New macro that allows an assembler routine to be
+ 	implemented in ARM code even if a Thumb-only build.
+ 	Unconditionally include ieee754-?f.S.
+ 	* arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
+ 	Mark ends of functions.
+ 	Split into separate conditionally-compiled units.
+ 	Use RETLDM to return from routines.
+ 	* arm/ieee754-sf.S: Similarly.
+ 	* t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
+ 	Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
+ 	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
+ 	_fixsfsi and _fixunssfsi.
+ 
+ 	* arm/ieee754-df.S (__muldf3): Fix bug when result of a
+ 	multiplication underflows to zero.
+ 	(__adddf3): Fix bug when using VFP ordering on little-endian
+ 	processors.
+ 	(__fixdfsi): Use rrx to extract the carry into a register instead of
+ 	MRS instruction.  Optimize later use of result.
+ 	* arm/ieee754-sf.S (__fixsfsi): Likewise.
+ 	(__fixunssfsi): Use a better sequence for handling negative-or-zero.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-optimize.c: New file.
+ 	* Makefile.in (OBJS-archive): Add tree-optimize.o.
+ 	(tree-optimize.o): New.
+ 	* c-decl.c (store_parm_decls): Use allocate_struct_function.
+ 	(finish_function): Don't free_after_parsing or free_after_compilation.
+ 	(set_save_expr_context): Move to tree-optimize.c.
+ 	(c_expand_body_1): Use tree_rest_of_compilation.
+ 	* c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+ 	* objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+ 	* c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
+ 	iterate until closure.
+ 	* langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
+ 	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
+ 	(LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
+ 	* langhooks.h (struct lang_hooks_for_rtl_expansion): New.
+ 	* toplev.h (tree_rest_of_compilation): Declare it.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Add rtl_inline_init, saved_for_inline.
+ 	* integrate.c (save_for_inline): Set saved_for_inline.
+ 	* c-semantics.c (genrtl_scope_stmt): Check it.
+ 	* toplev.c (wrapup_global_declarations): Check it.
+ 	(rest_of_handle_inlining): Set and check rtl_inline_init.
+ 	(rest_of_compilation): Remove out of date comment.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (allocate_struct_function): New, split out of ...
+ 	(prepare_function_start, init_function_start): ... here.
+ 	* expr.c (init_expr): Use ggc_alloc_cleared.
+ 	* stmt.c (init_stmt_for_function): Likewise.
+ 	* tree.h (allocate_struct_function): Declare.
+ 
+ 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Don't use negated character class in shell case
+ 	clause.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Move function_frequency and
+ 	max_jumptable_ents before start of bit field members.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
+ 	(fold_builtin_constant_p) ... not here.
+ 
+ 2003-08-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-tree.h (C_DECL_FILE_SCOPE): Move ...
+ 	* tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
+ 	* c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
+ 
+ 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: Fix typos.
+ 	(ATTR_MATHFN_FPROUNDING_STORE): New macro.
+ 	(BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
+ 	BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
+ 	BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
+ 	BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
+ 
+ 	* builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
+ 	Use ATTR_MATHFN_FPROUNDING_ERRNO.
+ 
+ 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc (i386-*-vsta): Fix obvious bogosity.
+ 
+ 	* fixinc/inclhack.def:  Remove special cases for unsupported
+ 	PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (cpp.info): Just state dependencies.
+ 	(gcc.info): Likewise.
+ 	(gccint.info): Likewise.
+ 	(gccinstall.info): Likewise.
+ 	(cppinternals.info): Likewise.
+ 	(cpp.dvi): Likewise.
+ 	(gcc.dvi): Likewise.
+ 	(gccint.dvi): Likewise.
+ 	(gccinstall.dvi): Likewise.
+ 	(cppinternals.dvi): Likewise.
+ 	(gcov.1): Likewise.
+ 	(cpp.1): Likewise.
+ 	(gcc.1): Likewise.
+ 	(gfdl.7): Likewise.
+ 	(gpl.7): Likewise.
+ 	(fsf-funding.7): Likewise.
+ 	($(objdir)/%.info): New pattern rule.
+ 	(%.dvi): Likewise.
+ 
+ 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
+ 	(restage2): Likewise.
+ 	(restage3): Likewise.
+ 	(restage4): Likewise.
+ 	(restageprofile): Likewise.
+ 	(restagefeedback): Likewise.
+ 	(bubblestrap): Likewise.
+ 
+ 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Narrow unsupported target match to avoid clobbering
+ 	i?86-sequent-sysv4*.
+ 
+ 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (mathfn_built_in): Handle new math builtins.
+ 
+ 2003-08-28  Per Bothner  <per@bothner.com>
+ 
+ 	Fix (hopefully temporary) for breakage caused by my 08-21 patch.
+ 	* cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
+ 	(_cpp_lex_buffer):  Likewise.
+ 	* cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
+ 
+ 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*mulsi3_sign"): New insn.
+ 	("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
+ 	("mulsidi3"): ... this new insn.
+ 	("umulsidi3"): New insn.
+ 	("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
+ 	mixed-mode matching constraints.
+ 	("udivmodsi4", "udivmoddisi3"): New insns.
+ 	("udivsi3", "umodsi3"): Use only in ESA/390 mode.
+ 
+ 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
+ 	BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
+ 	BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
+ 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
+ 	BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
+ 	BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
+ 	BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
+ 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
+ 	BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
+ 	BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
+ 	BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
+ 	* builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
+ 	BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
+ 	BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
+ 	BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
+ 	* tree.c: Assign new type_nodes.
+ 	* tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
+ 	TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
+ 	(float_ptr_type_node, double_ptr_type_node,
+ 	long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
+ 
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
+ 	BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
+ 
+ 	* builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
+ 	BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
+ 	BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
+ 	BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
+ 	BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
+ 	BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
+ 	BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
+ 	BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
+ 	BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
+ 	BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
+ 
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Remove special case code for unsupported
+ 	variants of i?86, powerpcle, and thumb.
+ 	* fixinc/mkfixinc.sh: Remove special case code for unsupported
+ 	arm and hppa variants.
+ 
+ 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
+ 	BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
+ 	BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
+ 	BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
+ 	BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
+ 	BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
+ 	BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
+ 	BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
+ 	BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
+ 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
+ 
+ 	* builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
+ 	BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
+ 	BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
+ 	BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
+ 	BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
+ 	BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
+ 	BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
+ 	BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
+ 	BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
+ 	BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
+ 	BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
+ 	BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
+ 	BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
+ 	BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
+ 	BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
+ 	BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
+ 	BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
+ 	BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
+ 	BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
+ 	BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
+ 	BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
+ 	BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
+ 	BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
+ 	BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
+ 	BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
+ 	BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
+ 	BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
+ 	BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
+ 	BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
+ 	BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
+ 	BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
+ 
+ 	* doc/extend.texi: Document new builtins.
+ 
+ 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitmate_constant_p): Use LARL on
+ 	zSeries machines even in 31-bit addressing mode.
+ 	(legitimate_reload_constant_p): Likewise.
+ 	(legitimize_pic_address): Likewise.
+ 	(legitimize_tls_address): Likewise.
+ 	(s390_split_branches): Likewise.
+ 	(s390_dump_pool): Likewise.
+ 	(s390_mainpool_finish): Likewise.
+ 	(s390_chunkify_start): Likewise.
+ 	(s390_select_rtx_section): Likewise.
+ 	* config/s390/s390.md ("doloop_si"): Likewise.
+ 	("pool_start_31", "pool_end_31"): Likewise.
+ 	("pool_start_64", "pool_end_64"): Likewise.
+ 	("main_base_31_small", "main_base_31_large"): Likewise.
+ 	("main_base_64"): Likewise.
+ 	("reload_base_31", "reload_base_64"): Likewise.
+ 	("*movsi_larl"): New insn.
+ 	("cjump", "icjump"): Use long branches on zSeries machines.
+ 	("jump"): Likewise.
+ 	("call"): Use BRASL on zSeries machines.
+ 	("call_value", "call_value_tls"): Likewise.
+ 	("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
+ 	and replace by ...
+ 	("*bras", "*brasl", "*basr") ... these new insns.
+ 	("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
+ 	"bas_31_r"): Remove and replace by ...
+ 	("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
+ 	("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
+ 	"bas_64_tls", "bas_31_tls"): Remove and replace by ...
+ 	("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
+ 	("*return_si", "*return_di"): Remove and replace by ...
+ 	("*return"): ... this new insn.
+ 	("rotlsi3"): Allow on zSeries machines.
+ 
+ 	* config/s390/s390.c (legitimize_reload_constant_p): Use
+ 	LL/LH type instructions in z/Architecture mode.
+ 	* config/s390/s390.md ("*movsi_lli"): Likewise.
+ 	("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
+ 	("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
+ 	("*extendqisi2"): Use LB in z/Architecture mode.
+ 	("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
+ 	z/Architecture mode.
+ 	("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
+ 	Likewise.
+ 
+ 	* config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
+ 	and 31-bit mode.
+ 	("ptr_extend"): Allow only in 64-bit mode.
+ 
+ 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
+ 	(TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
+ 	definitions.
+ 	(main): Only use standard_startfile_prefix if native.
+ 	* doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
+ 
+ 2003-08-27  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cpperror.c (print_location):  Don't check for !pfile->buffer.  That
+ 	test fails following my 08-21 change, and it seems unnecessary anyway.
+ 	(cpp_error):  Likewise.
+ 
+ 2003-08-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* real.c (do_multiply): Initialize with memset.
+ 
+ 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcov.c (typedef struct arc_info): New field cs_count.
+ 	(accumulate_line_counts): Find cycles correctly.
+ 
+ 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct machine_function): Remove member
+ 	literal_pool_label.
+ 	(s390_optimize_prolog): Replace TEMP_REG argument with
+ 	TEMP_USED and BASE_USED.  Do not check get_pool_size ().
+ 	(general_s_operand): Accept all immediates before reload if
+ 	ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
+ 	references.
+ 	(s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
+ 	(find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
+ 	(s390_alloc_pool): New function.
+ 	(s390_new_pool): Call it.
+ 	(s390_dump_pool): Add REMOTE_LABEL argument.
+ 	(s390_chunkify_start): Add BASE_REG argument.  Do not check
+ 	get_pool_size ().
+ 	(s390_chunkify_finish): Add BASE_REG argument.  Adapt
+ 	s390_dump_pool call.
+ 	(s390_pool_count, s390_nr_constants): Remove.
+ 	(s390_output_constant_pool): Remove.
+ 	(s390_mainpool_start): New function.
+ 	(s390_mainpool_finish): New function.
+ 	(s390_mainpool_cancel): New function.
+ 	(s390_reorg): Implement main literal pool handling.
+ 	(s390_emit_prologue): Emit main_pool placeholder instead of
+ 	literal_pool_31 / literal_pool_64 insns.
+ 	* config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
+ 	(ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
+ 	* config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
+ 	("main_base_31_small", "main_base_31_large"): New insns.
+ 	("main_base_64",  "main_pool"): New insns.
+ 	("literal_pool_31", "literal_pool_64"): Remove.
+ 
+ 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
+ 	fixinc.ptx.
+ 	* fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
+ 	Prettify a little.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
+ 	(L_ieee754_dp): New.  Include ieee754-df.S.
+ 	* arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
+ 	and compilation in apcs-26 mode.
+ 	* arm/ieee754-df.S: Likewise.
+ 	* t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
+ 	(LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
+ 
+ 2003-08-27  Nicolas Pitre  <nico@cam.org>
+ 
+ 	* arm/ieee754-sf.S: New.
+ 	* arm/ieee754-df.S: New.
+ 
+ 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
+ 	and restore it if returning NULL.
+ 
+ 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* calls.c (initialize_argument_information): If an argument has no
+ 	stack space associated with it, and BLOCK_REG_PADDING is defined,
+ 	use it to decide at which end the argument should be padded.
+ 	* function.c (assign_parms): Allocate BLKmode stack slots.
+ 	* config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
+ 	(mips_pad_reg_upward): Declare.
+ 	* config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
+ 	(CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
+ 	(FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
+ 	(BLOCK_REG_PADDING): Use mips_pad_reg_upward.
+ 	* config/mips/mips.c (struct mips_arg_info): Remove struct_p.
+ 	(mips_expand_call): Remove code for generating structure shifts.
+ 	(mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
+ 	types unless using the EABI.
+ 	(function_arg_advance): Don't generate shift instructions.
+ 	(function_arg): Don't return them.  Don't short-circuit the
+ 	check for double structure chunks for DFmode arguments.
+ 	(mips_pad_arg_upward, mips_pad_reg_upward): New functions.
+ 	(mips_expand_prologue): Remove code to emit structure shifts.
+ 	* config/mips/irix6-libc-compat.c: Remove workarounds for buggy
+ 	structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
+ 	comments to say that only structure returns are a problem.
+ 
+ 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
+ 	Fix to match produced versions.
+ 	* fixinc/inclhack.def (longlong_t): New disabled test, ported
+ 	from fixinc.svr4.
+ 	* fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
+ 	from fixinc.ptx.
+ 	* fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
+ 	ported from fixinc.ptx.
+ 
+ 2003-08-26  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cpplib.h (struct cpp_token):  Change type of field line to fileline.
+ 	(cpp_error_with_line):  Use fileline for appropriate parameter.
+ 	* cpphash.h (struct cpp_macro):  Change type of field line to fileline.
+ 	(struct cpp_reader):  Likewise for fields line and directive_line.
+ 	(_cpp_begin_message):  Use fileline for appropriate parameter.
+ 	* cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
+ 	cpp_error):  Use fileline for appropriate parameters and variables.
+ 	(print_location):  New local lin, since it is not a fileline.
+ 
+ 2003-08-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/12002
+ 	* tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
+ 	(FLOAT_TYPE_P): Define in terms of these two new macros.
+ 	* fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
+ 	for complex floating point types.
+ 
+ 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (emit_prologue): Don't check literal pool size.
+ 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
+ 	s390_output_pool_entry.
+ 
+ 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (svr4_preproc_lint_on,
+ 	svr4_preproc_lint_off, svr4_preproc_machine): New disabled
+ 	fixes, ported from fixinc.svr4.
+ 
+ 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/install.texi (Prerequisites): Mention GNU make requirement.
+ 
+ 	* Makefile.in (AR_FOR_TARGET): Export it.
+ 	(AR_CREATE_FOR_TARGET): Likewise.
+ 	(AR_FLAGS_FOR_TARGET): Likewise.
+ 	(AR_EXTRACT_FOR_TARGET): Likewise.
+ 	(AWK): Likewise.
+ 	(BUILD_PREFIX): Likewise.
+ 	(BUILD_PREFIX_1): Likewise.
+ 	(DESTDIR): Likewise.
+ 	(GCC_FOR_TARGET): Likewise.
+ 	(INCLUDES): Likewise.
+ 	(INSTALL_DATA): Likewise.
+ 	(LIB1ASMSRC): Likewise.
+ 	(LIBGCC2_CFLAGS): Likewise.
+ 	(MACHMODE_H): Likewise.
+ 	(NM_FOR_TARGET): Likewise.
+ 	(RANLIB_FOR_TARGET): Likewise.
+ 	(libsubdir): Likewise.
+ 	(slibdir): Likewise.
+ 	(ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
+ 	exporting.
+ 	(libgcc.a): Don't pass them here.
+ 	(stmp-multilib): Or here.
+ 	(install-libgcc): Or here.
+ 	(install-multilib): Or here.
+ 	(POSTSTAGE1_FLAGS_TO_PASS): Or here.
+ 	(stage1_build): Or here.
+ 
+ 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
+ 	"*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
+ 
+ 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*fmadddf", "*fmsubdf",
+ 	"*fmaddsf", "*fmsubsf"): New insns.
+ 
+ 2003-08-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
+ 	(C1*C2)/X when unsafe math optimizations are allowed.
+ 	(fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
+ 	math optimizations.  Minor code clean-ups.  Recursively call
+ 	fold when constructing sub-expressions.
+ 
+ 2003-08-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_bitop): New function to perform constant
+ 	folding of ffs, clz, ctz, popcount and parity builtin functions
+ 	and their long and long long variants (such as ffsl and ffsll).
+ 	(fold_builtin): fold_builtin_bitop when appropriate.
+ 	* simplify-rtx.c (simplify_unary_operation): Honor both
+ 	CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
+ 	evaluating clz and ctz at compile-time, for operands wider
+ 	than HOST_WIDE_INT.
+ 
+ 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (build_function_call_expr): Don't set
+ 	TREE_SIDE_EFFECTS here.
+ 	* expr.c (emit_block_move_via_libcall): Likewise.
+ 	(clear_storage_via_libcall): Likewise.
+ 	* tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
+ 	CALL_EXPRs.
+ 
+ 	* gcse.c (is_too_expensive): New function.
+ 	(gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
+ 
+ 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
+ 	commented-out logic to use DCE threads (if present), add
+ 	support for POSIX threads.
+ 	* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
+ 	#defines for -pthread.  Add -lpthread to LIB_SPEC when
+ 	-pthread.  In both cases take -mt as a synonym for -pthread
+ 	for acc compatibility.
+ 	Define GTHREAD_USE_WEAK to 0.
+ 	* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
+ 	Remove old logic for DCE threads from LIB_SPEC.
+ 	* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
+ 
+ 2003-08-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_mathfn):  Rearrange so that we only
+ 	return 0 for invalid argument types.  Instead drop through to a
+ 	call of expand_call at the bottom of function.  If op is SQRT,
+ 	try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
+ 
+ 2003-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
+ 	result when op0 is SImode.
+ 
+ 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
+ 
+ 	* fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
+ 	from fixinc.svr4.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/sys/signal.h: Regenerate.
+ 
+ 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (simplify_comparison): Re-enable widening of comparisons
+ 	with non-paradoxical subregs of non-REG expressions.
+ 
+ 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
+ 
+ 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Fix RTL sharing bug.
+ 
+ 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* pretty-print.h (pp_maybe_newline_and_indent): New macro.
+ 	* c-pretty-print.h (c_pretty_printer): Now typedef to the
+ 	structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
+ 	(struct c_pretty_print_info): Document.  Add new fields.
+ 	(pp_type_specifier_seq): Rename from pp_c_type_specifier.
+ 	(pp_direct_abstract_declarator): New macro.
+ 	(pp_ptr_operator): Likewise.
+ 	(pp_simple_type_specifier): Likewise.
+ 	(pp_expression): Likewise.
+ 	(pp_parameter_list): Rename from pp_parameter_declaration.
+ 	* c-pretty-print.c (pp_c_whitespace): Now a function.
+ 	(pp_c_left_paren): Likewise.
+ 	(pp_c_right_paren): Likewise.
+ 	(pp_c_dot): Likewise.
+ 	(pp_c_ampersand): Likewise.
+ 	(pp_c_arrow): Likewise.
+ 	(pp_c_semicolon): Likewise.
+ 	(pp_c_type_cast): New function.
+ 	(pp_c_space_for_pointer_operator): Likewise.
+ 	(pp_c_call_argument_list): Likewise.
+ 	(pp_c_cv_qualifier): Adjust prototype.
+ 	(pp_c_type_qualifier_list): Likewise.
+ 	(pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
+ 	(pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
+ 	Adjust to follow standard grammar.
+ 	(pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
+ 	REFERENCE_TYPE.  Tidy.
+ 	(pp_c_parameter_type_list): Adjust prototype.  Tidy.
+ 	(pp_c_parameter_declaration): Remove.
+ 	(pp_c_abstract_declarator): Adjust prototype.
+ 	(pp_c_direct_abstract_declarator): Likewise.
+ 	(pp_c_type_id): Likewise.
+ 	(pp_c_storage_class_specifier): Likewise.
+ 	(pp_c_function_specifier): Likewise.
+ 	(pp_c_declaration_specifiers): Likewise.
+ 	(pp_c_direct_declarator): Likewise.
+ 	(pp_c_declarator): Likewise.
+ 	(pp_c_declarator): Likewise.
+ 	(pp_c_declaration): Likewise.
+ 	(pp_c_attributes): Likewise.  Tidy.
+ 	(pp_c_function_definition): Adjust prototype.
+ 	(pp_c_char): Likewise.
+ 	(pp_c_string_literal): Likewise.
+ 	(pp_c_integer_constant): Likewise.
+ 	(pp_c_character_constant): Likewise.
+ 	(pp_c_bool_constant): Likewise.
+ 	(pp_c_enumeration_constant): Likewise.
+ 	(pp_c_floating_constant): Likewise.
+ 	(pp_c_constant): Likewise.
+ 	(pp_c_identifier): Likewise.
+ 	(pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
+ 	(pp_c_initializer): Adjust prototype.
+ 	(pp_c_init_declarator): Likewise.
+ 	(pp_c_initializer_list): Likewise.
+ 	(pp_c_id_expression): Likewise.
+ 	(pp_c_postfix_expression): Likewise.
+ 	(pp_c_expression_list): Likewise.
+ 	(pp_c_unary_expression): Likewise.
+ 	(pp_c_cast_expression): Likewise.
+ 	(pp_c_multiplicative_expression): Likewise.
+ 	(pp_c_additive_expression): Likewise.
+ 	(pp_c_shift_expression): Likewise.
+ 	(pp_c_relational_expression): Likewise.
+ 	(pp_c_equality_expression): Likewise.
+ 	(pp_c_and_expression): Likewise.
+ 	(pp_c_exclusive_or_expression): Likewise.
+ 	(pp_c_inclusive_or_expression): Likewise.
+ 	(pp_c_logical_and_expression): Likewise.
+ 	(pp_c_logical_or_expression): Likewise.
+ 	(pp_c_conditional_expression): Likewise.
+ 	(pp_c_assignment_expression): Likewise.
+ 	(pp_c_expression): Likewise.  Tidy.
+ 	(pp_c_statement): Likewise.  Document.
+ 	(pp_c_pretty_printer_init): Adjust prototype. Tidy.
+ 
+ 	* c-lang.c (c_initialize_diagnostics): Update.
+ 	* c-common.h (strip_pointer_operator): Declare.
+ 	* c-common.c (strip_pointer_operator): Define.
+ 
+ 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/8795
+ 	* tree.h (build_method_type_directly): Declare.
+ 	* c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
+ 	(vector_size_helper): Likewise.
+ 	* tree.c (build_method_type_directly): New function.
+ 	(build_method_type): Use it.
+ 
+ 2003-08-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
+ 	for 16-byte vector modes if sse not enabled; warn for abi change.
+ 	(ix86_value_regno): Only return xmm0 for 16-byte vector types.
+ 
+ 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* rtlanal.c (may_trap_p): Simplify an integer comparison.
+ 
+ 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
+ 	comment.  Enable for DYNIX/ptx systems (when they switch to
+ 	regular fixincludes).
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-08-23  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/t-i860: New.
+ 	* config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
+ 
+ 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (pushdecl): Only put decls which finish_struct will do
+ 	something about onto incomplete chain.
+ 	(finish_struct): If not removing type from incomplete
+ 	list, update prev.
+ 
+ 2003-08-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/11369
+ 	* i386.c (ix86_expand_carry_flag_compare): Validate operand.
+ 
+ 	PR target/11031
+ 	* i386.c (const_0_to_3_operand, const_0_to_7_operand,
+ 	const_0_to_15_operand, const_0_to_255_operand): New predicates.
+ 	* i386.h (PREDICATE_CODES): Add these.
+ 	* i386.c (pinsrw and pextrw patterns): Use them.
+ 
+ 	PR target/10984
+ 	* i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
+ 
+ 	PR target/8869
+ 	* expr.c (convert_modes): Deal properly with integer to vector
+ 	constant conversion.
+ 
+ 	PR target/8871
+ 	* i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
+ 
+ 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (LOAD_EXTEND_OP): Remove.
+ 	* config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
+ 	("*movhi"): ... this.
+ 	("movqi", "*movqi"): Likewise.
+ 	("movqi_64"): Remove.
+ 	("*zero_extendhisi2_31"): Change predicate to s_operand.
+ 
+ 2003-08-23  Dale Johannesen  <dalej@apple.com>
+ 	* calls.c (emit_library_call_value_1): Fix obvious errors in
+ 	arguments to emit_group_store.
+ 
+ 2003-08-23  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* calls.c (emit_library_call_value_1): Remove code related
+ 	to LIBGCC_NEEDS_DOUBLE.
+ 	* config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
+ 	* doc/tm.texi: Likewise.
+ 	* system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
+ 
+ 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
+ 
+ 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
+ 	as well.  Put memory references in the varargs alias set.
+ 	(mips_expand_prologue): Remove varargs handling from here.
+ 
+ 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
+ 	s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
+ 	s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
+ 	for function pointer calls.
+ 	* config/s390/s390.md ("*negdi2_31"): Likewise.
+ 
+ 2003-08-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (apply_distributive_law): Correct comment.
+ 
+ 2003-08-23  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860.c (i860_build_va_list): Create the va_decl
+ 	declaration.  Document the va_list structure.
+ 	(i860_va_start): Initialize the va_list structure.
+ 	(i860_va_arg): Rewrite completely.
+ 	* config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
+ 	* config/i860/varargs.asm: Do not allocate or initialize
+ 	a va_list.  Return the address of the register save area.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/iq2000/iq2000.c: Fix comment typos.
+ 	* config/iq2000/iq2000.md: Likewise.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/iq2000/iq2000.c: Follow spelling conventions.
+ 	* config/iq2000/iq2000.h: Likewise.
+ 	* config/mn10300/mn10300.c: Likewise.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860.c (output_move_double): Don't set latehalf
+ 	to zero for CONST_INT (since it could be, e.g., -1).
+ 
+ 	* config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
+ 	(MODSI3_LIBCALL): ...with this one.
+ 	(UREMSI3_LIBCALL): Replace this macro...
+ 	(UMODSI3_LIBCALL): ...with this one.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860-protos.h (output_delay_insn): Remove prototype.
+ 	(output_delayed_branch): Remove prototype.
+ 	(single_insn_src_p): Remove prototype.
+ 	* config/i860/i860.c (single_insn_src_p): Remove function.
+ 	(output_delayed_branch): Remove function.
+ 	(output_delay_insn): Remove function.
+ 	(va_start): Remove unconditional test and dead code, re-format.
+ 	Fix coding style and spelling problems in various comments.
+ 	* config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
+ 	(blockage pattern): ...and use it here.
+ 	(all define_peephole patterns related to delayed branches): Remove.
+ 	Fix coding style and spelling problems in various comments.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
+ 	Remove all uses of the PARAMS macro.  Remove superflous prototypes.
+ 	Convert all function definitions from traditional to ISO C90 syntax.
+ 	* config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
+ 	with 'GCC'.  Remove all uses of the PARAMS macro.
+ 	* config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
+ 	* config/i860/i860.md: Likewise.
+ 	* config/i860/sysv4.h: Likewise.
+ 	* config/i860/varargs.asm: Likewise.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
+ 	argument.
+ 	(tdesc_section): Add prototype.
+ 	Update copyright dates.
+ 	* config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
+ 	(TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
+ 	(TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
+ 	(targetm): Likewise.
+ 	(i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
+ 	for '%d' where necessary.
+ 	(i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
+ 	on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
+ 	by UNITS_PER_WORD when referencing (likewise for .floats).
+ 	(I860_SVR4_VARARGS): Rename...
+ 	(I860_SVR4_VA_LIST): ...to this.
+ 	Call build() with 't' rather than 'field'.
+ 	(i860_rtx_costs): New function.
+ 	(TARGET_RTX_COSTS): Define.
+ 	(i860_internal_label): New function.
+ 	(TARGET_ASM_INTERNAL_LABEL): Define.
+ 	(i860_file_start): New function.
+ 	Update copyright dates.
+ 	* config/i860/i860.h (CPP_PREDEFINES): Remove.
+ 	(TARGET_CPU_CPP_BUILTINS): Define.
+ 	(EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
+ 	(CONST_COSTS): Remove (and move code to i860_rtx_costs).
+ 	(ASM_FILE_START): Remove.
+ 	(ASM_FILE_START_1): Remove.
+ 	(ASM_GLOBALIZE_LABEL): Remove.
+ 	(ASM_OUTPUT_INTERNAL_LABEL): Remove.
+ 	(ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
+ 	with targetm.asm_out.internal_label.
+ 	Update copyright dates.
+ 	* config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
+ 	(CPP_PREDEFINES): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): Define.
+ 	(GLOBAL_ASM_OP): Define.
+ 	(ASM_FILE_START): Remove.
+ 	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
+ 	(TARGET_ASM_FILE_START): Define.
+ 	Update copyright dates.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* gcc/config.gcc (i860-*-sysv4*): Add target.
+ 	* config/i860/i860-protos.h: New.
+ 	* config/i860/i860.c: New.
+ 	* config/i860/i860.h: New.
+ 	* config/i860/i860.md: New.
+ 	* config/i860/sysv4.h: New.
+ 	* config/i860/varargs.asm: New.
+ 	* config/i860/x-sysv4: New.
+ 
+ 2003-08-22  Jason Eckhardt  <jle@rice.edu>
+ 
+ 	* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
+ 	Remove all uses of PARAMS macro.
+ 	Convert all function definitions to ISO C90 syntax.
+ 	* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
+ 	* config/pa/fptr.c: Likewise.
+ 	* config/pa/lib2funcs.asm: Likewise.
+ 	* config/pa/long_double.h: Likewise.
+ 	* config/pa/milli64.S: Likewise.
+ 	* config/pa/pa-64.h: Likewise.
+ 	* config/pa/pa-hpux.h: Likewise.
+ 	* config/pa/pa-hpux10.h: Likewise.
+ 	* config/pa/pa-hpux11.h: Likewise.
+ 	* config/pa/pa-linux.h: Likewise.
+ 	* config/pa/pa-modes.def: Likewise.
+ 	* config/pa/pa-osf.h: Likewise.
+ 	* config/pa/pa-pro-end.h: Likewise.
+ 	* config/pa/pa.md: Likewise.
+ 	* config/pa/pa32-linux.h: Likewise.
+ 	* config/pa/pa64-linux.h: Likewise.
+ 	* config/pa/pa64-hpux.h: Likewise.
+ 	* config/pa/pa64-regs.h: Likewise.
+ 	* config/pa/quadlib.c: Likewise.
+ 	* config/pa/rtems.h: Likewise.
+ 	* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
+ 	all uses of the PARAMS macro.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/pa/som.h: Likewise.
+ 
+ 	* config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
+ 	Remove all uses of PARAMS macro.
+ 	Convert all function definitions to ISO C90 syntax.
+ 	* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
+ 	Remove all uses of PARAMS macro.
+ 	* config/iq2000.h: Remove all uses of PARAMS macro.
+ 	* config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
+ 
+ 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
+ 	* config/s390/s390.c (gen_consttable): Remove.
+ 	(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
+ 	(s390_output_pool_entry): New function.
+ 	* config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
+ 	UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
+ 	UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
+ 	(UNSPECV_POOL_ENTRY): ... this new constant.
+ 	("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
+ 	"consttable_ti", "consttable_sf", "consttable_df"): Remove ...
+ 	("*pool_entry"): ... and replace by this new insn.
+ 	("literal_pool_31"): Do not emit anchor label if pool empty.
+ 
+ 	* config/s390/s390.c (struct machine_function): Add save_return_addr_p.
+ 	(s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
+ 	(s390_fixup_clobbered_return_reg): Remove.
+ 	(s390_reorg): Don't call s390_fixup_clobbered_return_reg.
+ 	(s390_return_addr_rtx): Always retrieve return address from save area
+ 	slot.  Use save_return_addr_p to force slot to be filled.
+ 	(s390_emit_prologue): Remove has_hard_reg_initial_val test.
+ 
+ 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
+ 	(TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
+ 	* config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
+ 	around SB-1 errata if TARGET_FIX_SB1 is set.
+ 	(recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
+ 	* doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
+ 
+ 2003-08-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* hashtable.c (ht_expand): Avoid calculating rehash for the common
+ 	case that the first probe hits an empty hash table slot.
+ 
+ 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
+ 
+ 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
+ 	(ptr_extend_plus_imm): ... this.
+ 	* config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
+ 	optimization in C++.
+ 	(ia64_output_mi_thunk): Support ILP32 mode.
+ 
+ 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
+ 	function.
+ 	* gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.c (const_int_1_operand): Simplify an
+ 	integer comparison.
+ 
+ 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
+ 	* config/rs6000/ppc64-fp.c: Likewise.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgcleanup.c: Fix comment typos.
+ 	* emit-rtl.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c: Fix comment formatting.
+ 	* cfgrtl.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* convert.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* regmove.c: Likewise.
+ 
+ 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtin-attrs.def: Fix comment formatting.
+ 	* c-pretty-print.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* langhooks.h: Likewise.
+ 	* recog.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* tree.def: Likewise.
+ 
+ 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k-protos.h: Convert to ISO C90.
+ 	* config/m68k/m68k.c: Likewise.
+ 
+ 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
+ 	    Paul Dale  <pauli@snapgear.com>
+ 	    Peter Barada <peter@baradas.org>
+ 
+ 	* config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
+ 	ColdFire cores.
+ 
+ 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
+ 	* config.gcc (*-*-openbsd): Don't set tm_file.
+ 	(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
+ 	arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
+ 	h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
+ 	i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
+ 	i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
+ 	m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
+ 	m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
+ 	m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
+ 	mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
+ 	sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
+ 	xscale-*-coff): Use explicit and complete lists of target headers
+ 	to include.  Move definitions to tm_defines where appropriate.
+ 	(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
+ 	not-yet-contributed configuration.
+ 
+ 	* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
+ 	* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
+ 	* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
+ 	* config/i386/nto.h, config/iq2000/iq2000.h,
+ 	* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
+ 	* config/m68k/linux.h, config/m68k/m68k-aout.h
+ 	* config/m68k/m68k-none.h, config/m68k/m68kv4.h
+ 	* config/m68k/netbsd.h, config/m68k/openbsd.h
+ 	* config/m68k/sgs.h, config/mcore/mcore-pe.h,
+ 	* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
+ 	* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
+ 	Remove includes of other target config headers, and
+ 	definitions of macros moved to tm_defines lists.  Add #undefs
+ 	where now necessary to prevent redefinition warnings.
+ 
+ 	* config/h8300/coff.h: New file split out of...
+ 	* config/h8300/elf.h: ...here.
+ 	* config/m68k/hp320base.h: New file split out of...
+ 	* config/m68k/hp320.h: ...here.
+ 	* config/rs6000/lynxbase.h: New file split out of...
+ 	* config/rs6000/lynx.h: ...here.
+ 
+ 	* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
+ 	* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
+ 
+ 	* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
+ 	* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
+ 	* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
+ 	Remove unnecessary #ifndef.
+ 	* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
+ 	[under IN_LIBGCC2] with config/.
+ 
+ 2003-08-21  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
+ 	to cpp_push_buffer.
+ 	* cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
+ 	by return_at_eof check.  Always call _cpp_pop_buffer at end.
+ 
+ 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/11805
+ 	* config/h8300/h8300.md (two anonymous patterns): Remove.
+ 
+ 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
+ 	* config/mips/mips.c (function_arg_pass_by_reference): Never return
+ 	true for n32 & n64.
+ 
+ 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
+ 	and similarly in (A | C) == D where C & ~D != 0.
+ 
+ 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 8180
+ 	* configure.in: When testing with_libs and with_headers, treat
+ 	'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
+ 	* configure: Regenerate.
+ 
+ 2003-08-20  Peter Barada <peter@baradas.org>
+ 
+ 	* longlong.h (umul_ppmm): Add ColdFire support.
+ 
+ 2003-08-20  Peter Barada <peter@baradas.org>
+ 	    Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k-none.h: Introduce new ColdFire archs.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
+ 	* config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
+ 	* config/m68k/linux.h: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/m68k/m68k.md: Likewise.
+ 	* config/m68k/m68kelf.h: Likewise.
+ 	* config/m68k/netbsd-elf.h: Likewise.
+ 	* config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
+ 
+ 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
+ 	* config/m68k/m68k.md: Likewise.
+ 
+ 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR java/11996
+ 	Revert this change:
+ 	2003-08-19  Mark Mitchell  <mark@codesourcery.com>
+ 	* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
+ 	types with precisions other than those given by native machine
+ 	modes.
+ 
+ 2003-08-20  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.md (anonymous define_insn): remove obsolete code
+ 	selected by FSGLMUL_USE_S and FSGLDIV_USE_S
+ 	* config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
+ 	* config/m68k/m68k.md (anonymous define_insn): Likewise
+ 	* config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
+ 	* config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
+ 	code selected by NO_ASM_FMOVECR
+ 
+ 2003-08-20  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (output_move_const_into_data_reg,
+ 	output_move_himode): unify MOTOROLA/MIT handling of moveq
+ 	* config/m68k/m68k.md (movsi_const0, anonymous define_insn):
+ 	Likewise
+ 
+ 2003-08-20  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): use %U in
+ 	label name
+ 	* config/m68k/m68k.c (m68k_output_function_epilogue): replace
+ 	HOST_WIDE_INT_PRINT_DEC with %wd
+ 
+ 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
+ 	redefine warning.
+ 
+ 2003-08-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11984
+ 	* fold-const.c (fold <PLUS_EXPR>): Check for integer constant
+ 	operands before calling tree_int_cst_lt when performing associative
+ 	transformations.
+ 
+ 2003-08-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
+ 	(EXPR_CHECK): Don't check for 'r' or 's' if we're
+ 	checking IS_EXPR_CODE_CLASS.
+ 	* calls.c (calls_function_1): Likewise.
+ 	* fold-const.c (fold): Likewise.
+ 	* tree.c (iterative_hash_expr): Likewise.
+ 	* tree-inline.c (walk_tree, copy_tree_r): Likewise.
+ 
+ 2003-08-20  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
+ 	depending on MOTOROLA_BSR
+ 	* config/m68k/m68k.md (anonymous define_insn): Likewise
+ 
+ 2003-08-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
+ 	(expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
+ 	fold_trunc_transparent_mathfn, fold_builtin): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* fold-const.c (operand_equal_p, fold): Likewise.
+ 	(tree_expr_nonnegative_p): Likewise.
+ 
+ 	* stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
+ 	TYPE_USER_ALIGN for FIELD_DECLs.
+ 
+ 	* attribs.c (decl_attributes): Rebuild the function pointer type after
+ 	changing the target type.
+ 	* tree.c (get_qualified_type): Also check that the attributes match.
+ 
+ 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
+ 	* objc/config-lang.in (stagestuff): ... to here.
+ 
+ 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/11946
+ 	* convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
+ 	NOP_EXPR) when necessary.
+ 	* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
+ 	types with precisions other than those given by native machine
+ 	modes.
+ 
+ 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* cpppch.c (cpp_valid_state): Re-add warning about PCH not used
+ 	because some macro is defined.
+ 
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
+ 	options.
+ 	* config/i386/darwin.h (ASM_SPEC): New.
+ 	(SUBTARGET_EXTRA_SPECS): New.
+ 	* config/rs6000/darwin.h (ASM_SPEC): New.
+ 	(SUBTARGET_EXTRA_SPECS): New.
+ 	* configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
+ 	a cross-compiler between two different processors on Darwin.
+ 	* configure: Regenerate.
+ 
+ 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Fix comment typos.
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-pretty-print.c: Likewise.
+ 	* cfgbuild.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfgloopanal.c: Likewise.
+ 	* cgraphunit.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* pretty-print.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* value-prof.c: Likewise.
+ 
+ 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c: Follow spelling conventions.
+ 	* cppfiles.c: Likewise.
+ 
+ 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c: Fix comment formatting.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* cppinit.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* input.h: Likewise.
+ 	* line-map.h: Likewise.
+ 	* opts.c: Likewise.
+ 	* opts.h: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 
+ 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* unwind-c.c: Add libgcc-style exception.
+ 	* unwind-dw2.c: Likewise.
+ 	* unwind-pe.h: Likewise.
+ 	* unwind-sjlj.c: Likewise.
+ 	* unwind.inc: Likewise.
+ 
+ 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/5582 PR c++/10538
+ 	* langhooks-def.h (lhd_decl_uninit): Declare.
+ 	(LANG_HOOKS_DECL_UNINIT): New macro.
+ 	(LANG_HOOKS_INITIALIZER): Adjust.
+ 	* langhooks.h (struct lang_hooks): Add new field
+ 	decl_uninit.
+ 	* langhooks.c (lhd_decl_uninit): Define.
+ 	* c-common.c (c_decl_uninit_1): New function.
+ 	(c_decl_uninit): New function.
+ 	(warn_init_self): Define.
+ 	* c-common.h (c_decl_uninit): Declare.
+ 	(warn_init_self): Declare.
+ 	* c.opt: Introduce -Winit-self.
+ 	* c-opts.c (c_common_handle_options): Set warn_init_self.
+ 	* c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
+ 	* objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
+ 	* function.c (uninitialized_vars_warning): Call the language hook.
+ 	* doc/invoke.texi: Document -Winit-self.
+ 
+ 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md: Adjust SI-mode "trap_if" instruction
+ 	to use better predicates and constraints.  Define new
+ 	instruction to handle "trap_if" with DI-mode arguments.
+ 	(conditional_trap): FAIL if trap code is not 0.
+ 
+ 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/i386/i386.c (legitimate_pic_address_disp_p): Change the
+ 	strstr with $pb to a strcompare with "<pic base>"
+ 	(ix86_output_addr_diff_elt): Output the real pic base.
+ 
+ 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
+ 	(LANG_HOOKS_INITIALIZER): Correct.
+ 	* c-lang.c: Likewise.
+ 
+ 2003-08-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
+ 	(cgraph_varpool_mark_needed_node): Likewise.
+ 	* cgraph.h (notice_global_symbol): Declare
+ 	* varasm.c (notice_global_symbol): Break out from ...
+ 	(assemble_start_function): ... here; update for variables.
+ 	(assemble_variable): Use notice_global_symbol.
+ 
+ 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
+ 	expect SFmode and DFmode arguments to be passed in FPRs,
+ 	regardless of the underlying type.
+ 
+ 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/11924
+ 	* config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
+ 	(mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
+ 
+ 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	PR c/11207
+ 	* c-typeck.c (set_init_index): Check for negative index.
+ 
+ 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/crti.asm (_init, _fini): Add alternate code for new
+ 	call0 ABI.
+ 	* config/xtensa/crtn.asm (_init, _fini): Likewise.
+ 	* config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
+ 	__umodsi3, __modsi3): Likewise.
+ 	* config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
+ 	$(INCLUDES).
+ 
+ 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md ("*nabssf2_gpr"): New.
+ 
+ 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Quote C code in braces.  Remove use of
+ 	fake const0_rtx operands.  Remove double backslashes.  Use \;.
+ 	Remove workarounds for bogus warnings.
+ 
+ 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
+ 	(muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
+ 	rather than TARGET_MIPS4300.
+ 	(mulsf3_internal, mulsf3_r4300): Likewise.
+ 
+ 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Renumber unspecs.  Clean up comments.
+ 
+ 2003-08-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (associative_constant_p): New function to test
+ 	whether an RTX expression is an immediate constant.
+ 	(simplify_associative_operation): New function to perform some
+ 	reassociation optimizations of associative binary expressions.
+ 	(simplify_binary_operation): Use simplify_associative_operation
+ 	to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
+ 	Floating point expressions are only reassociated when unsafe
+ 	math optimizations are permitted.
+ 
+ 2003-08-17  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/alpha/alpha.md: Remove usage of PARAMS.
+ 
+ 	* config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i386/cygming.h: Likewise.
+ 	* config/i386/cygwin2.c: Likewise.
+ 	* config/darwin.c: Likewise.
+ 	* config/darwin-c.c: Likewise.
+ 	* config/darwin-protos.h: Likewise.
+ 	* config/darwin.h: Likewise.
+ 	* config/s390/s390-protos.h: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/ia64/ia64.c: Likewse
+ 	* config/ia64/ia64-protos.h: Likewise.
+ 	* config/ia64/ia64-c.c: Likewise.
+ 
+ 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/sparc/sparc.c: Convert to ISO C.
+ 
+ 	* config/sparc/sparc-protos.h: Don't use the PARAMS macro.
+ 	* config/sparc/sparc.c: Likewise.
+ 
+ 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/11512
+ 	* stmt.c (expand_expr_stmt_value): Don't warn about any void
+ 	typed expression.
+ 
+ 2003-08-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_fntype_regparm): Rename from ...
+ 	(ix86_function_regparm): ... this one; add fastcall and local
+ 	functions.
+ 	(ix86_function_ok_for_sibcall): Update.
+ 	(ix86_return_pops_args): Likewise.
+ 	(init_cumulative_args): Likewise.
+ 	(x86_can_output_mi_thunk): Likewise.
+ 	(function_arg): Fix formating.
+ 	(x86_this_parameter): Fix fastcall.
+ 	(x86_output_mi_thunk): Likewise.
+ 
+ 	* cgraph.c (cgraph_mark_needed_node): Do not mark functions without
+ 	body as reachable; mark nested functions as needed too.
+ 	(dump_cgraph): Do not output global.calls.
+ 	* cgraph.h (cgraph_global_info): Kill.
+ 	* cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
+ 	(record_call_1): Speedup.
+ 	(cgraph_analyze_function): Break out from ...; compute inlining
+ 	parameters.
+ 	(cgraph_finalize_compilation_unit): ... here.
+ 	(cgraph_mark_inline): Kill computation of calls.
+ 	(cgraph_decide_inlining): Do not compute most of initial values.
+ 
+ 2003-08-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
+ 	to negate if either operand is easy to negate, if we don't care
+ 	about sign-dependent rounding.
+ 	(negate_expr): Make the logic to negate a REAL_CST explicit.
+ 	Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
+ 	that's easy to negate, if we don't honor sign-dependent rounding.
+ 	(fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
+ 	negate, and the symmetric A * -B as -A * B if A is easy to negate.
+ 	(fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
+ 	-C/D if B and C are cheap to negate.  Add an explicit rule to
+ 	optimize X/-1.0 as -X when we don't care about signaling NaNs.
+ 
+ 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (tm_file): Rename tm_include_list.
+ 	(tm_p_file): Rename tm_p_include_list.
+ 	(build_xm_file): Rename build_xm_include_list.
+ 	(host_xm_file): Rename host_xm_include_list.
+ 	(xm_file): Rename xm_include_list.
+ 	(xm_file_list): Add to be substituted.
+ 	(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
+ 	Update to match.
+ 	(bt-load.o): Add missing dependency on $(TM_H).
+ 	* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
+ 	For each of tm_file, tm_p_file, xm_file, host_xm_file, and
+ 	build_xm_file, generate both *_file_list and *_include_list
+ 	values from it.  (xm_file_list was formerly not being generated.)
+ 	In *_include_list, prefix the names of all headers found in
+ 	$(srcdir)/config with config/.  In each loop, consider only
+ 	the special case files that can actually appear in that list.
+ 	AC_SUBST all *_file_list and all *_include_list variables; do
+ 	not AC_SUBST the plain *_file variables.
+ 	* configure: Regenerate.
+ 
+ 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfg.c (dump_edge_info): Add name of loop_exit edge flag.
+ 
+ 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
+ 	direct calls.
+ 	(attr_length_call): Include it here.  Improve length estimate for
+ 	local calls.
+ 	(output_call): Use targetm.binds_local_p.
+ 
+ 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (CASE_MATHFN): New helper macro.
+ 	(mathfn_built_in): Simplify and sort.
+ 
+ 	* protoize.c (substr): Delete, callers changed to `strstr'.
+ 
+ 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc (iq2000*-*-elf*): Don't set xm_file.
+ 	* config/iq2000/xm-iq2000.h: Delete file.
+ 
+ 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (walk_type): Process a subobject before processing
+ 	the pointer that points to the subobject.
+ 
+ 2003-08-13  Per Bothner  <pbothner@apple.com>
+ 
+ 	* regclass.c (init_reg_modes):  Make non-static.
+ 	Rename to init_reg_modes_once per new naming convention.
+ 	(init_regs):  Don't call init_reg_modes here.
+ 	* emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
+ 	* rtl.h (init_reg_modes_once):  New declaration.
+ 	* toplev.c (backend_init):  Call init_regs after init_emit_once.
+ 
+ 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
+ 	special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
+ 
+ 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
+ 	* sh.md (load_ra): Change insn predicate to TARGET_SH1.
+ 
+ 2003-08-13  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
+ 	handling of decrement-and-branch farther than 32 bits.
+ 
+ 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* configure.in (make_compare_target): Move test to ...
+ 	* aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
+ 	* configure: Regenerate.
+ 
+ 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/iris6.h: Convert to C90 prototypes.
+ 	* config/mips/irix6-libc-compat.c: Likewise.
+ 	* config/mips/mips-protos.h: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 
+ 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
+ 	for selected machines.  Comment heavily.
+ 	fixinc/fixincl.x: Rebuild.
+ 	fixinc/tests/base/fs/rfs/rf_cache.h: New file.
+ 
+ 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h: Tweak various comments.
+ 	* config/mips/mips.c: Likewise.
+ 
+ 2003-08-11  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR optimization/11319
+ 	PR target/10021
+ 	* alias.c (find_base_value, case REG): Return 0 not src if no base
+ 	found.
+ 
+ 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcse.c (gmalloc): Fix last change.
+ 
+ 2003-08-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Replace calls to
+ 	gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
+ 	and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
+ 	gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
+ 
+ 2003-08-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
+ 	* c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
+ 	typecode for an ABS_EXPR.
+ 
+ 	* doc/c-tree.texi: Document ABS_EXPR.
+ 
+ 2003-08-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold): Optimize any associative floating point
+ 	operator with -funsafe-math-optimizations, not just MULT_EXPR.
+ 
+ 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
+ 	information in SHmedia case too.
+ 	(__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
+ 	Likewise.
+ 	(__set_fpscr): Use an access via GOT for PIC case.
+ 
+ 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* configure.in (intermodule): Make switch test more portable.
+ 	* configure: Regenerate.
+ 
+ 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
+ 	(restrap): Likewise.
+ 
+ 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
+ 	(grealloc): Size argument is a size_t.
+ 	(gcalloc): New function.  Use throughout in lieu of
+ 	gmalloc/memset.
+ 
+ 	* config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
+ 	xmalloc/memset.
+ 	* config/ia64/ia64.c (ia64_reorg): Likewise.
+ 	* conflict.c (conflict_graph_new): Likewise.
+ 	* fixinc/fixincl.c (run_compiles): Likewise.
+ 	* genattrtab.c (optimize_attrs): Likewise.
+ 	* genrecog.c (new_decision): Likewise.
+ 	* haifa-sched.c (schedule_block): Likewise.
+ 	* hashtable.c (ht_create): Likewise.
+ 
+ 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib2funcs.S: Fix whitespace.
+ 	* config/xtensa/xtensa.md (all insns and expanders): Use brace block
+ 	syntax where appropriate.  Remove unnecessary backslash escapes.
+ 	Reformat comments and fix some code formatting.
+ 	(extendqisi2): Rearrange conditional.
+ 	(*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
+ 	*maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
+ 	of fatal_insn.
+ 
+ 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c: Various formatting fixes.
+ 	(override_options): Resync -mtune handling with gas.
+ 	(mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
+ 	* config/mips/mips.h: More formatting fixes.
+ 	(mips_abi): Move declaration.
+ 	* config/mips/mips.md (exception_receiver): Add mode to
+ 	unspec_volatile.
+ 
+ 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
+ 	evsplatfi here.
+ 	(bdesc_1arg): Remove evsplati and evsplatfi.
+ 
+ 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
+ 	into account.
+ 
+ 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strcat): Optimize constant strings.
+ 
+ 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* pretty-print.c (pp_base_indent): Rename from pp_indent.
+ 	* c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
+ 	(struct c_pretty_print_info): Add more fields.
+ 	(pp_c_left_paren): Move to c-pretty-print.c.
+ 	(pp_c_right_paren): Likewise.
+ 	(pp_c_left_brace): Likewise.
+ 	(pp_c_right_brace): Likewise.
+ 	(pp_c_left_bracket): Likewise.
+ 	(pp_c_right_bracket): Likewise.
+ 	(pp_c_declarator): Declare.
+ 	(pp_c_direct_declarator): Likewise.
+ 	(pp_c_specifier_qualifier_list): Likewise.
+ 	(pp_c_type_id): Likewise.
+ 	* c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
+ 	(pp_c_type_qualifier_list): New.
+ 	(pp_c_pointer): Likewise.
+ 	(pp_c_parameter_type_list): Likewise.
+ 	(pp_c_function_definition): Likewise.
+ 	(pp_c_id_expression): Likewise.
+ 	(pp_c_simple_type_specifier): Tidy.
+ 	(pp_c_unary_expression): Likewise.
+ 	(pp_c_expression): Likewise.
+ 	(pp_c_pretty_printer_init): Likewise.
+ 	(pp_c_specifier_qualifier_list): Rework..
+ 	(pp_c_abstract_declarator): Likewise.
+ 	(pp_c_postfix_expression): Likewise.
+ 	(pp_c_primary_expression): Likewise.
+ 	(pp_c_cast_expression): Likewise.
+ 	(pp_c_direct_abstract_declarator): Likewise.
+ 	(pp_c_storage_class_specifier): Likewise.
+ 	(pp_c_function_specifier): Likewise.
+ 	(pp_c_declaration_specifiers): Likewise.
+ 	(pp_c_direct_declarator): Likewise.
+ 	(pp_c_declarator): Likewise.
+ 	(pp_c_declaration): Likewise.
+ 	(pp_c_statement): Likewise.
+ 	(pp_c_integer_constant): Rename from pp_c_integer_literal.
+ 	(pp_c_character_constant): Rename from pp_c_character_literal.
+ 	(pp_c_bool_constant): Rename from pp_c_bool_literal.
+ 	(pp_c_enumeration_constant): Rename from pp_c_enumerator.
+ 	(pp_c_floating_constant): Rename from pp_c_real_literal.
+ 	(pp_c_constant): Rename from pp_c_literal.
+ 	* c-lang.c: Include diagnostic.h and c-pretty-print.h
+ 	(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
+ 	(c_initialize_diagnostics): New.
+ 	* Makefile.in (c-lang.o): Update dependency.
+ 
+ 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
+ 
+ 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_no_mips16_string): Remove.
+ 	(override_options): Don't handle -mips16 as part of -mipsN.
+ 	* config/mips/mips.h (mips_no_mips16_string): Remove declaration.
+ 	(TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
+ 	(TARGET_OPTIONS): Remove -mno-mips16.
+ 
+ 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
+ 	(coprocessor2_operand): Likewise.
+ 	* config/mips/mips.c (STAB_CODE_TYPE): Remove.
+ 	(lookup_name): Remove declaration.
+ 	(abort_with_insn): Remove.  Replace all uses with fatal_insn.
+ 	(mips16, mips_abicalls): Remove.
+ 	(mips_char_to_class): Remove initialiser: all entries are NO_REGS.
+ 	(arith32_operand, large_int, true_reg_or_0_operand): Remove.
+ 	(coprocessor_operand, coprocessor2_operand): Remove.
+ 	(override_options): Don't set mips16 or mips_abicalls.
+ 	(print_operand): Don't expect SIGN_EXTEND operands.
+ 	(mips_secondary_reload_class): Likewise.
+ 	(mips_output_conditional_branch): Remove disabled long-branch code.
+ 	* config/mips/mips.h (call_used_regs): Remove declaration.
+ 	(may_call_alloca): Likewise.
+ 	(mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
+ 	(mips_abicalls, mips16): Remove declarations.
+ 	(ASM_FINAL_SPEC, LIB_SPEC): Remove.
+ 	(CC1_SPEC): Remove outdated comment.
+ 	(MIPS_VERSION, MACHINE_TYPE): Remove.
+ 	(TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
+ 	(PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
+ 	(STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
+ 	(PUSH_ROUNDING): Likewise.
+ 	(ASSEMBLER_SCRATCH_REGNUM): Remove.
+ 	* config/mips/mips.md: Replace mips_cpu_attr with mips_tune
+ 	and mips16 with TARGET_MIPS16.
+ 
+ 2003-08-09  Per Bothner  <pbothner@apple.com>
+ 
+ 	* cppinit.c (cpp_read_main_file):  Split out source-independent
+ 	initialization to separate function ...
+ 	(cpp_post_options):  New function.
+ 	* cppfiles.c (cpp_stack_file):  Rename public name to ...
+ 	(_cpp_stack_file):  New internal function name.
+ 	* cpplib.h:  Update accordingly.
+ 	* cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
+ 	(cpp_read_main_file):  Don't initialize line here.
+ 	* c-opts.c (c_common_post_options):  Call cpp_post_options.
+ 	(c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
+ 	* fix-header.c (read_scan_file):  Call cpp_post_options.
+ 
+ 2003-08-09  Per Bothner  <per@bothner.com>
+ 
+ 	* c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
+ 
+ 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_asm_output_mi_thunk): Fix typo.
+ 
+ 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/11839
+ 	* cppfiles.c (open_file): Handle ENOTDIR.
+ 
+ 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/11699
+ 	* config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
+ 
+ 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
+ 	source/destination is not a register operand.
+ 
+ 2003-08-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/11535
+ 	* config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
+ 	RETURN_ADDRESS_POINTER_REGNUM.
+ 	(ia64_expand_prologue): Don't frob it.
+ 	(ia64_output_function_epilogue): Likewise.
+ 	(ia64_return_addr_rtx): New.
+ 	(ia64_split_return_addr_rtx): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
+ 	(RETURN_ADDRESS_POINTER_REGNUM): Remove.
+ 	(GENERAL_REGNO_P): Don't check it.
+ 	(AR_*_REGNUM): Renumber.
+ 	(FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
+ 	(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
+ 	(REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
+ 	(ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
+ 	(RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
+ 	* config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
+ 	(movdi_ret_addr): New.
+ 
+ 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
+ 
+ 2003-08-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.h (get_identifier) Define a macro form of get_identifier
+ 	that calls get_identifier_with_length when the string is constant.
+ 	(get_identifier_with_length): Change type of second argument to
+ 	size_t in prototype.
+ 	* stringpool.c (get_identifier): Undefine the macro before giving
+ 	the function definition.
+ 	(get_identifier_with_length): Change  type of second argument to
+ 	size_t in function definition.
+ 	* hashtable.c (calc_hash): Change type of second argument to size_t.
+ 	(ht_lookup): Change type of third argument to size_t.  Reorganize
+ 	to speed-up the cases where the hash table slot is empty, or the
+ 	first probe matches (i.e. there isn't a collision).
+ 	* hashtable.h (ht_lookup): Adjust function prototype.
+ 
+ 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	PR target/9697
+ 	PR target/11777
+ 	* longlong.h (count_leading_zeros): Exclude on __mcpu32__.
+ 
+ 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* common.opt: Add debug switches.
+ 	* flags.h (use_gnu_debug_info_extensions): Boolify.
+ 	* opts.c (write_symbols, debug_info_level,
+ 	use_gnu_debug_info_extensions): Move from toplev.c.
+ 	(set_debug_level): New.
+ 	(common_handle_options): Handle debug switches.
+ 	(print_help): Display target options directly.
+ 	* toplev.c (debug_hooks): Don't initialize.
+ 	(write_symbols, debug_info_level,
+ 	use_gnu_debug_info_extensions): Move to opts.c.
+ 	(debug_args, display_help, decode_g_option): Remove.
+ 	(process_options): Set no debug if level zero here,
+ 	and no-debug-hooks.  Error here if impossible debug format selected.
+ 	* toplev.h (display_help, decode_g_option): Remove.
+ 
+ 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* tree.c (get_file_function_name_long): Fix size of alloca() area.
+ 
+ 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
+ 	and gcc_cv_prog_cmp_skip.
+ 	* configure: Regenerate.
+ 
+ 2003-08-08  Stan Cox  <scox@redhat.com>
+ 
+ 	* config/iq2000: New port.
+ 	* config.gcc (iq2000-*-elf): Added.
+ 	* doc/install.texi (Specific):  Add iq2000 description.
+ 
+ 2003-08-08  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
+ 	and insert missing empty argument.
+ 	* configure: Regenerate.
+ 
+ 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
+ 	(attr_length_millicode_call): Likewise.
+ 	(attr_length_call): Likewise.  Revise some maximum insn lengths.
+ 	(attr_length_indirect_call): Likewise.
+ 	(output_call): Fix thinko that added extra nop.
+ 	* pa.h (IN_NAMED_SECTION_P): Define.
+ 
+ 	PR c++/11712
+ 	* pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
+ 	__STDC_EXT__ when using C++ dialect.
+ 
+ 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (calc_live_regs): If the return address pointer is live,
+ 	force pr live.
+ 	(sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
+ 	for saves / restores.
+ 	(sh_expand_epilogue): If sh_media_register_for_return returns a
+ 	register number, flag the instructions that restores PR_MEDIA_REG
+ 	as possibly dead.
+ 	Remove dead update of offset.
+ 	(sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
+ 	we can use the result of get_hard_reg_initial_val.
+ 	* sh.md (UNSPEC_RA): New constant.
+ 	(movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
+ 	(load_ra).  Handle UNSPEC_RA.
+ 	(sibcall_media): Use PR_MEDIA_REG.
+ 
+ 	* sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
+ 	* sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
+ 	needs saving on SHmedia.
+ 
+ 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md: Replace all occurrences of \\t with \t.
+ 
+ 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* local-alloc.c (combine_regs): Fix comment typo.
+ 
+ 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (builtin_decls): Replace with first_builtin_decl
+ 	and last_builtin_decl.
+ 	(c_init_decl_processing): Initialize both.
+ 	(c_reset_state): Iterate from first_builtin_decl to
+ 	last_builtin_decl inclusive to reintroduce builtins.
+ 
+ 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Document the IA-64 version
+ 	of the "model" attribute.
+ 
+ 	* config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
+ 	(SYMBOL_REF_SMALL_ADDR_P): Ditto.
+ 	(PREDICATE_CODES): Mention "small_addr_symbolic_operand".
+ 
+ 	* config/ia64/ia64.c (ia64_handle_model_attribute): New function.
+ 	(ia64_encode_section_info): Likewise.
+ 	(ia64_attribute_table): Add "model" attribute.
+ 	(TARGET_ENCODE_SECTION_INFO): Define.
+ 	(small_addr_symbolic_operand): New function.
+ 	(got_symbolic_operand): Return 0 for a symbolref to an object
+ 	in the small address area.
+ 	(enum ia64_addr_area): New type.
+ 	(small_ident1): New variable.
+ 	(small_ident2): Likewise.
+ 	(init_idents): New function.
+ 	(ia64_get_addr_area): Likewise.
+ 	(ia64_encode_addr_area): Likewise.
+ 	(ia64_encode_section_info): Likewise.
+ 	(ia64_expand_load_address): For symbolic references to objects in
+ 	the small-address-area, load the address via gen_rtx_SET() (which,
+ 	eventually, will expand into "addl").
+ 
+ 2003-08-06  Per Bothner  <pbothner@apple.com>
+ 
+ 	* line-map.h (fileline):  New typedef.
+ 	(struct line_map, linemap_add, linemap_lookup):  Use it.
+ 	* input.h (struct location_s):  Comment notes that long-term we want
+ 	to replace it by fileline.
+ 
+ 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	Fix SHcompact exception handling:
+ 	* sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
+ 	by the prologue, return a MEM with return_address_pointer_rtx
+ 	as address.
+ 	* sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
+ 	(RETURN_ADDR_OFFSET): Don't define.
+ 	(SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
+ 	registers that are visible in compact mode.  Show that SHmedia
+ 	registers still exist in compact mode, even if there are not
+ 	readily accessible.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
+ 	if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
+ 	and DW_EH_PE_pcrel for pic data.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
+ 	set SYMBOL_FLAG_FUNCTION in symbol, and actually use
+ 	DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
+ 	(ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
+ 	* sh.md (movsi_media-1): New splitter.
+ 
+ 2003-08-06  Graeme Peterson <gp@qnx.com>
+ 
+ 	* config/i386/nto.h: New.
+ 	* config/i386/t-nto: New.
+ 	* config.gcc (i[34567]86-*-nto-qnx*): New.
+ 
+ 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* doc/install.texi (*-*-solaris2*):  Refine configure instructions.
+ 
+ 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (load_register_parameters): Arrange for call_fusage to
+ 	report the whole register as used when shifting to the msb.
+ 
+ 2003-08-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin): When not optimizing, call the library
+ 	function for all builtins that have library functions (except alloca).
+ 
+ 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c.opt: Introduce -fworking-directory.
+ 	* doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
+ 	* c-common.h (flag_working_directory): Declare.
+ 	* c-common.c (flag_working_directory): Define.
+ 	* c-opts.c (c_common_handle_options): Set it.
+ 	(sanitize_cpp_opts): Set...
+ 	* cpplib.h (struct cpp_options): ... working_directory option.
+ 	(struct cpp_callbacks): Add dir_change.
+ 	* cppinit.c (read_original_filename): Call...
+ 	(read_original_directory): New.  Look for # 1 "directory//"
+ 	and process it.
+ 	(cpp_read_main_file): Call dir_change callback if working_directory
+ 	option is set.
+ 	* gcc.c (cpp_unique_options): Pass -g*.
+ 	* c-lex.c (cb_dir_change): New.
+ 	(init_c_lex): Set dir_change callback.
+ 	* toplev.c (src_pwd): New static variable.
+ 	(set_src_pwd, get_src_pwd): New functions.
+ 	* toplev.h (get_src_pwd, set_src_pwd): Declare.
+ 	* dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
+ 	* dwarf2out.c (gen_compile_unit_die): Likewise.
+ 	* dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
+ 
+ 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* pretty-print.h (pp_set_line_maximum_length): Make macro.
+ 	(pp_set_prefix): Likewise.
+ 	(pp_destroy_prefix): Likewise.
+ 	(pp_remaining_character_count_for_line): Likewise.
+ 	(pp_clear_output_area): Likewise.
+ 	(pp_formatted_text): Likewise.
+ 	(pp_last_position_in_text): Likewise.
+ 	(pp_emit_prefix): Likewise.
+ 	(pp_append_text): Likewise.
+ 	(pp_flush): Likewise.
+ 	(pp_format_text): Likewise.
+ 	(pp_format_verbatim): Likewise.
+ 	(pp_tree_identifier): Tidy.
+ 	* pretty-print.c (pp_base_format_text): Rename from pp_format_text.
+ 	(pp_base_format_verbatim): Rename from pp_format_verbatim.
+ 	(pp_base_flush): Rename from pp_flush.
+ 	(pp_base_set_line_maximum_length): Rename from
+ 	pp_set_line_maximum_length.
+ 	(pp_base_clear_output_area): Rename from pp_clear_output_area.
+ 	(pp_base_set_prefix): Rename from pp_set_prefix.
+ 	(pp_base_destroy_prefix): Rename from pp_destroy_prefix.
+ 	(pp_base_emit_prefix): Rename from pp_emit_prefix.
+ 	(pp_base_append_text): Rename from pp_append_text.
+ 	(pp_base_formatted_text): Rename from pp_formatted_text.
+ 	(pp_base_last_position_in_text): Rename from pp_last_position_in_text.
+ 	(pp_base_remaining_character_count_for_line): Rename from
+ 	pp_remaining_character_count_for_line.
+ 	* diagnostic.h (diagnostic_format_decoder): Tidy.
+ 	(diagnostic_flush_buffer): Likewise.
+ 	* c-pretty-print.h: (pp_c_string_literal): Declare.
+ 	(pp_c_real_literal): Likewise.
+ 	(pp_c_integer_literal): Likewise.
+ 	* c-pretty-print.c (pp_c_char): Use pp_string in lieu of
+ 	pp_identifier.
+ 	(pp_c_character_literal): Tidy.
+ 	(pp_c_string_literal): Make public.
+ 	(pp_c_bool_literal): Likewise.
+ 	(pp_c_integer_literal): Likewise.
+ 	(pp_c_real_literal): Likewise.
+ 
+ 	* Makefile.in (C_PRETTY_PRINT_H): New variable.
+ 	(c-pretty-print.o): Update dependence.
+ 
+ 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
+ 	".set nomacro" state.
+ 	(fix_truncsfsi2_macro): Likewise.
+ 
+ 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* tree.h (DID_INLINE_FUNC): Remove macro.
+ 	(DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
+ 	add tree check for FUNCTION_DECL.
+ 	(DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
+ 	(struct tree_decl): Rename inlined_function_flag to
+ 	declared_inline_flag.
+ 	* c-common.h (c_lang_decl): Remove.
+ 	(DECL_ESTIMATED_INSNS): Remove.
+ 	* c-tree.h (struct lang_decl): Don't include c_lang_decl.
+ 	(DECL_DECLARED_INLINE_P): Remove.
+ 	* c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
+ 	do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
+ 	(finish_function): Make uninlinable a bool.  Fixup call to
+ 	tree_inlinable_function_p() and fix some code style issues.
+ 	* cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
+ 	* cgraph.c (dump_cgraph): Likewise.
+ 	* cgraphunit.c (cgraph_decide_inlining): Likewise
+ 	(cgraph_finalize_compilation_unit): Likewise.
+ 	Also update call to tree_inlinable_function_p().
+ 	(cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
+ 	look at DECL_DECLARED_INLINE and reverse logic.
+ 	* print-tree.c (print_node): Likewise.
+ 	* toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
+ 	* tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
+ 	prototype.
+ 	* tree-inline.c (inlinable_function_p): Split up in this function to
+ 	check for basic inlining inhibiting conditions, and new
+ 	limits_allow_inlining() function.  Warn if inlining is impossible
+ 	because the inline candidate calls alloca or uses sjlj exceptions.
+ 	(limits_allow_inlining): this new function to check if the inlining
+ 	limits are satisfied.  Throttle from currfn_max_inline_insns, not from
+ 	MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
+ 	MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
+ 	Update prototypes.
+ 	(tree_inlinable_function_p): Make a bool.  Update call to
+ 	inlinable_function_p
+ 	(expand_call_inline): Use limits_allow_inlining() when not in
+ 	unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
+ 	instead see if the function was declared `inline'.
+ 
+ 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* gcse.c (try_replace_reg): Fix updating of note.
+ 
+ 2003-08-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11771
+ 	* fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
+ 	logic in negate_expr, i.e. we don't invert (A-B) for floating
+ 	point types unless flag_unsafe_math_optimizations.
+ 
+ 2003-08-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
+ 	Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
+ 	for floating point expressions with -ffast-math.
+ 	(fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
+ 	* expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
+ 
+ 2003-08-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.c (flag_noniso_default_format_attributes): Delete.
+ 	(built_in_attribute): Don't define/undefine DEF_FN_ATTR.
+ 	(c_attrs_initialized): Delete.
+ 	(c_common_nodes_and_builtins): Don't test c_attrs_initialized,
+ 	always call c_init_attributes.
+ 	(c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
+ 	set c_attrs_initialized when done.
+ 	(c_common_insert_default_attributes): Delete.
+ 	* c-common.h (flag_noniso_default_format_attributes): Delete.
+ 	(c_coomon_insert_default_attributes): Delete prototype.
+ 	* c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
+ 	flag_noniso_default_format_attributes.
+ 
+ 	* c-decl.c (c_insert_default_attributes): Delete.
+ 	* c-tree.h (c_insert_default_attributes): Delete prototype.
+ 
+ 	* attribs.c (decl_attributes): Don't call insert_default_attributes
+ 	langhook.  Update function description comment.
+ 	* langhooks.h (lang_hooks): Remove insert_default_attributes field.
+ 	* langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
+ 	* c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
+ 	* system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
+ 
+ 	* objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
+ 	define.
+ 
+ 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Disable -G on targets that
+ 	have no .section support.
+ 	(mips_select_section): Use default_select_section for such targets.
+ 
+ 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
+ 	* fixinc/inclhack.def (static_getrnge): Remove disabled hack.
+ 	* fixinc/fixincl.x: Rebuild.
+ 	* fixinc/tests/base/regexp.h: New test.
+ 
+ 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-ppoutput.c (cb_line_change): Don't skip line changing while
+ 	parsing macro arguments in the top-level context.
+ 
+ 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config.in: Remove HAVE_LSTAT.
+ 	* configure, configure.in: Don't test for lstat.
+ 
+ 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* opts.c (decode_options): Do language-specific initialization for
+ 	the global diagnostic context.
+ 	* langhooks-def.h (lhd_initialize_diagnostics): Declare.
+ 	(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
+ 	(LANG_HOOKS_INITIALIZER): Adjust.
+ 	* langhooks.h (struct lang_hooks): Add new field
+ 	initialize_diagnostics.
+ 	* langhooks.c (lhd_initialize_diagnostics): Define.
+ 
+ 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* pretty-print.h:   Adjust macro definitions.
+ 	* pretty-print.c (pp_newline): Rename to pp_base_newline.
+ 	(pp_character): Rename to pp_base_character.
+ 	(pp_string): Rename to pp_base_string.
+ 	* c-pretty-print.c (pp_buffer): Move to pretty-print.h
+ 	(pp_newline):  Likewise.  Adjust.
+ 	(pp_c_char): Adjust.
+ 
+ 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
+ 	BUILT_IN_LLABS): Move to miscellaneous section.
+ 
+ 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/11534
+ 	* cppexp.c (parse_defined): Warn only if -pedantic.
+ 
+ 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (stack_file): Use file path.
+ 
+ 2003-08-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtin-types.def (BT_SSIZE): New primitive type.
+ 	(BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
+ 	BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
+ 	BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
+ 	BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
+ 	* builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
+ 	BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
+ 	BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
+ 	* builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
+ 	few functions that define default attributes using it.
+ 	* c-common.c (c_common_insert_default_attributes): Do nothing.
+ 
+ 	* doc/extend.texi: Document these "new" builtins.
+ 
+ 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
+ 	(LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
+ 	when -mieee-fp set and -shared not set.
+ 	(SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
+ 
+ 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (struct _cpp_file): Rename once_only_next to
+ 	next_file.  Remove import and pragma_once, add once_only.
+ 	(find_file): Add new file structures to the all_files list.
+ 	(should_stack_file): Mark #import-ed files once-only, and
+ 	don't stack them if the file has already been stacked.
+ 	(_cp_mark_file_once_only): Simplify.
+ 	* cpphash.h (struct cpp_reader): Rename once_only_files
+ 	to all_files.  Rename saw_pragma_once to seen_once_only.
+ 	(_cpp_mark_file_once_only): Update prototype.
+ 	* cpplib.c (do_pragma_once): Update.
+ 
+ 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (ENOTDIR): Remove.
+ 	(open_file_in_dir): Rename find_file_in_dir.  Handle errors
+ 	other than ENOENT here.
+ 	(once_only_file_p): Rename should_stack_file.
+ 	(find_file, open_file_failed, read_file_guts): Report errors
+ 	with full path name.
+ 	(read_file): Move pch handling to should_stack_file.
+ 	(should_stack_file): Handle PCH and once-only issues, and
+ 	reading the file.
+ 	(stack_file): Don't do file reads.
+ 
+ 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* libgcov.c (gcov_exit): Cleanup and fix.
+ 	* profile.c (compute_value_histograms): Don't try to read profiles
+ 	that are not present.
+ 
+ 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: Categorize.
+ 
+ 	* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
+ 	Mind fp rounding.
+ 	(BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
+ 
+ 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config.gcc: Enable posix threads by default on darwin.
+ 
+ 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
+ 	even if nehedges1 is 0.
+ 
+ 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
+ 	fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
+ 	fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
+ 	and defintions.
+ 
+ 	* fixinc/inclhack.def (broken_cabs): Make matching more generous.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/math.h: Regenerate to match test_text change.
+ 
+ 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
+ 
+ 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
+ 	for accesses to exc_ptr.
+ 
+ 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/sourcebuild.texi (Front End Directory): Don't make references
+ 	to libsubdir, it's not part of the interface to frontends.
+ 	* doc/install.texi (Configuration): Help users read faster by saying
+ 	that GCC's configure options are the standard autoconf ones.
+ 	Mention --libdir.  Update the default rules for finding the
+ 	assembler.  Don't use libsubdir since we haven't said what it means.
+ 	(Specific): In the Solaris 7 notes, update the place to put the
+ 	assembler.
+ 	* doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
+ 	* doc/cpp.texi (Search Path): Actually, the search path
+ 	depends on libdir, which can relocate with cpp.
+ 	* doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
+ 	now a private interface between the Makefile and the driver.
+ 
+ 2003-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
+ 
+ 	* varasm.c (lookup_constant_def): New function.
+ 	* rtl.h (lookup_constant_def): Declare it.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Use it.
+ 	Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
+ 
+ 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (gettags, pushdecl_function_level): Delete.
+ 	(last_function_parm_vars): Rename last_function_parm_others.
+ 	(current_function_parm_vars): Rename current_function_parm_others.
+ 	(struct c_scope): Rewrite comment explaining this data structure.
+ 	Add names_last, blocks_last, parms_last fields.  Rename
+ 	incomplete_list to incomplete.
+ 	(SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
+ 	(poplevel): Ignore second argument.  No need to nreverse
+ 	anything.  Restructure such that each list is processed
+ 	exactly once.  Use 'const location_t *locus' syntactic sugar
+ 	variable where useful.  Issue unused variable warnings
+ 	ourselves, do not rely on function.c.
+ 	(insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
+ 	(pushdecl_top_level): Likewise.  Don't call duplicate_decls.
+ 	(implicitly_declare): decl cannot be error_mark_node.
+ 	(undeclared_variable): Manipulate scope structure directly.
+ 	(c_make_fname_decl): Likewise.
+ 	(getdecls, c_init_decl_processing): Fix comment.
+ 	(mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
+ 	for 'last' variable.
+ 	(grokparms): No need to nreverse parms list.
+ 	(store_parm_decls_newstyle): Set up the parms_last and
+ 	names_last fields of the new scope too.
+ 	(store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
+ 	on parms to begin with; check this under ENABLE_CHECKING.  Set
+ 	up parms_last.
+ 	(check_for_loop_decls): Refer directly to current_scope->tags.
+ 	Use consistent quote style in diagnostics.
+ 	(c_write_global_declarations): The names list is not backward.
+ 
+ 	* c-common.h: Don't prototype gettags.
+ 	* c-parse.in: Call poplevel with second argument 0 always.
+ 
+ 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: Resort builtins.
+ 
+ 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
+ 	DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
+ 	Prepend "__builtin_" onto NAME with string concatenation.  Remove
+ 	explicit "__builtin_" from each macro call.
+ 
+ 	Reformat entire file.
+ 
+ 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
+ 	ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
+ 
+ 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
+ 	CCL1, or CCL2 modes with floating point operations.
+ 
+ 	* config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
+ 	"*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
+ 	"*subdf3_cconly"): New insns.
+ 	("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
+ 
+ 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Refine dependencies.
+ 	* c-opts.c (c_common_handle_option): Do nothing for -Wimport.
+ 	* c.opt: Update help for -Wimport.
+ 	* cppfiles.c: Include hashtab.h.  Update comments.
+ 	(stack_file): Read the file before updating dependencies.
+ 	(once_only_file_p): Be smarter about marking once-only files.
+ 	(_cpp_mark_file_once_only): Correct the check for existence on
+ 	the list.
+ 	(open_file_failed): Use name not path, which is NULL.
+ 	* cpphash.h: Don't include hashtab.h.
+ 	(struct _cpp_file): Remove.
+ 	(struct cpp_reader): Update.
+ 	* cppinit.c (cpp_create_reader): Don't initialize warn_import.
+ 	* cpplib.h (struct cpp_options): Remove warn_import.
+ 	(cpp_simplify_path): Remove.
+ 
+ 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/11295
+ 	* doc/extend.texi (Statement Expressions): Document C++ semantics.
+ 
+ 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+ 
+ 	* config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
+ 
+ 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
+ 	throughout.
+ 	* builtins.def: Likewise.
+ 
+ 2003-07-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (bubblestrap): Don't require a previous full
+ 	bootstrap.
+ 
+ 	* expr.c (mostly_zeros_p): No longer static.
+ 	* tree.h: Declare it.
+ 	* stmt.c (resolve_asm_operand_names): Don't copy the pattern
+ 	unless we need to do substitutions.
+ 
+ 2003-07-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
+ 	pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
+ 	as pow(x,2.0) when the latter will be expanded back into x*x.
+ 	(fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
+ 	* builtins.c (expand_builtin_pow): Ignore flag_errno_math as
+ 	pow can never set errno when used with an integer exponent.
+ 	Always use expand_powi when exponent is -1, 0, 1 or 2.
+ 	(fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
+ 	as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
+ 	the pow forms of these expressions.
+ 
+ 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (libexecdir): New.
+ 	(libsubdir): Use gcc instead of gcc-lib.
+ 	(libexecsubdir): New.
+ 	(ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
+ 	(DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
+ 	gcc-lib.
+ 	(installdirs): Make libexecsubdir.
+ 	(install-common): Put executables in libexecsubdir.
+ 	(itoolsdir): Use libexecsubdir.
+ 	(itoolsdatadir): New.
+ 	(install-mkheaders): Separate data files and executables.
+ 	(install-collect2): Put executables in libexecsubdir.
+ 	(uninstall): Remove libexecsubdir.
+ 	* mkheaders.in: Update for new arrangement of files.
+ 	(libexecdir): New.
+ 	(libexecsubdir): New.
+ 	(itoolsdir): Use libexecsubdir.
+ 	(itoolsdatadir): New.
+ 	* gcc.c (gcc_libexec_prefix): New.
+ 	(STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
+ 	(standard_exec_prefix_1): Use libexec.
+ 	(standard_exec_prefix_2): New.
+ 	(standard_libexec_prefix): New.
+ 	(process_command): Update for new arrangement of files.  Compute
+ 	gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
+ 
+ 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* inclhack.def (stdio_va_list): Avoid bogus replacement which
+ 	triggers on Interix.
+ 	* fixincl.x: Regenerate.
+ 
+ 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
+ 	SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
+ 
+ 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
+ 
+ 2003-07-31  Per Bothner  <pbothner@apple.com>
+ 
+ 	* opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
+ 	(add_input_filename):  New function.
+ 	(handle_options):  Call add_input_filename directly instead of
+ 	with a lang hook.
+ 	* opts.h (in_fnames, num_in_fnames):  Moved here.
+ 	(add_input_filename):  Declare.
+ 	* c-decl.c:  Need to #include opts.h.
+ 	* Makefile.in (c-decl.o):  Also depends on opts.h.
+ 	* c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
+ 	(c_common_handle_filename):  Replaced by add_input_filename.
+ 	* c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
+ 	Remove.
+ 	* langhooks.h (struct lang_hooks):  Remove handle_filename hook.
+ 	* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
+ 	(LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
+ 	* c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
+ 
+ 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* combine.c (try_combine): Set JUMP_LABEL for newly created
+ 	unconditional jump.
+ 
+ 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* fold-const.c (fold): Fold some comparisons of bit operations.
+ 
+ 2003-07-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (create_edge): Fix typo.
+ 	* i386.c (pic_symbolic_operand): Reorder tests.
+ 
+ 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/gcov.texi (Invoking Gcov): Describe output name mangling
+ 	more fully.
+ 	(Gcov Data Files): Update.
+ 
+ 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
+ 	default.
+ 
+ 	* gthr-posix.c: New file.
+ 	* gthr-posix.h: Define _REENTRANT if missing.
+ 	Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
+ 
+ 	* config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
+ 	by gthr-posix.o.
+ 	* config/alpha/t-osf-pthread: New file.
+ 
+ 	* fixinc/inclhack.def (alpha_pthread): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
+ 
+ 	* doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
+ 	warning.
+ 	Fixes PR bootstrap/9330.
+ 
+ 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
+ 	without GNU ld.
+ 	Update comment.
+ 	* configure: Regenerate.
+ 
+ 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
+ 	setter.
+ 
+ 2003-07-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def: Alphabetize.
+ 
+ 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/c-tree.texi: Normalize spellings of "lowercase" and
+ 	"uppercase".
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
+ 	(objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
+ 	of cc1obj.
+ 
+ 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
+ 	macros before defining them.
+ 
+ 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
+ 	UNSPECV_BLOCKAGE): New constants.
+ 	("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
+ 	"*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
+ 	splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
+ 	"fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
+ 
+ 	(all insns and expanders): Write output control string as brace block
+ 	where appropriate.  Remove \-escapes for doublequote characters.
+ 
+ 2003-07-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (insert_store): Fix typo in previous patch.
+ 
+ 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (stack_file, open_file_failed): Use path for deps.
+ 
+ 2003-07-30  Andi Kleen  <ak@muc.de>
+ 
+ 	* loop.c (check_dbra_loop): Allow LTU in the loop condition.
+ 
+ 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
+ 	* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
+ 	GCOV_N_VALUE_COUNTERS): New.
+ 	* profile.c (compute_value_histograms): New static function.
+ 	(branch_prob): Read back the value histograms.
+ 	* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
+ 	* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
+ 	* value-prof.c: Add comment on reading the profile.
+ 	* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
+ 	* doc/invoke.texi (-fprofile-values): Document behavior with
+ 	-fbranch-probabilities.
+ 
+ 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
+ 
+ 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
+ 	symbolically.
+ 
+ 2003-07-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (insert_store): Ignore fake edges.
+ 
+ 	* c-common.c (flag_vtable_gc): Kill.
+ 	* c-common.g (flag_vtable_gc): Kill.
+ 	* c-opts (c_common_handle_option): Kill.
+ 	* c.opt (fvtable-gc): Kill.
+ 	* final.c (final_scan_insn): Do not call assemble_vtable_entry.
+ 	* output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
+ 	* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
+ 
+ 	* invoke.texi (-ftable-gc): Kill documentation.
+ 
+ 	* tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
+ 	just because function body is missing.
+ 
+ 	* i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
+ 
+ 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* unwind-sjlj.c: Fix typo in file description.
+ 
+ 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (load_register_parameters): When shifting reg sized values
+ 	to the msb, move the value to a reg first.
+ 
+ 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
+ 	* line-map.h (linemap_add): Update comments.
+ 	* line-map.c (linemap_add): Update comments, interpret zero-length
+ 	filename as "<stdin>".
+ 
+ 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
+ 
+ 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (last_function_parm_vars, current_function_parm_vars):
+ 	New static variables.
+ 	(struct c_scope): Add parms and warned_forward_parm_decls
+ 	fields; remove parm_order.
+ 	(storedecls, storetags): Delete.
+ 	(poplevel): Also clear bindings on the parms chain.
+ 	(pushdecl): Handle forward declarations of parameters, and
+ 	chain PARM_DECLs on the parms list, not the names list.
+ 	(lookup_name_current_level): Check for PARM_DECLs on the parms
+ 	list too.
+ 	(push_parm_decl): Don't update parm_order.
+ 	(clear_parm_order): Rename mark_forward_parm_decls.  Issue the
+ 	warning, only once per parameter list, and set TREE_ASM_WRITTEN
+ 	on the decls here.  Then move the forward decls to the names list.
+ 	(grokparms): Set last_function_parm_vars.
+ 	(get_parm_info): Don't use gettags or getdecls.  No need to
+ 	extract non-parms from the parms list, or reorganize the parms
+ 	list.  Feed nonparms back in the TREE_TYPE of the list node
+ 	returned.  Issue only one error per parameter list for "void"
+ 	appearing more than once in said parameter list.  Collapse
+ 	parmlist_tags_warning into this function to avoid double scan
+ 	of tags list.
+ 	(start_function): Set current_function_parm_vars.
+ 	(store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
+ 	directly.  Get non-parms from current_function_parm_vars; no
+ 	need to extract them from the parms chain.  Properly bind tags
+ 	in the new scope.
+ 	(store_parm_decls_oldstyle): No need to extract non-parameters
+ 	from the parms chain, nor to store them back afterward.  Move
+ 	declaration to top of function, restructure code reordering
+ 	DECL_ARGUMENTS.
+ 	(store_parm_decls): No need to save and restore warn_shadow.
+ 	* c-parse.in: Don't call parmlist_tags_warning nor
+ 	clear_parm_order.  Call mark_forward_parm_decls when forward
+ 	parm decls are encountered.
+ 	* c-tree.h: Prototype mark_forward_parm_decls; not
+ 	clear_parm_order or parmlist_tags_warning.
+ 
+ 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-common.c (allow_pch): Remove.
+ 	* c-common.h (allow_pch): Remove.
+ 	(c_common_no_more_pch): Declare.
+ 	* c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
+ 	* c-pch.c: Include hosthooks.h.
+ 	(c_common_valid_pch): Don't check allow_pch.
+ 	(c_common_read_pch): Clear valid_pch to prevent reading PCH files.
+ 	(c_common_no_more_pch): New.
+ 	* ggc-common.c: Include hosthooks.h.
+ 	(gt_pch_save): Call gt_pch_get_address.
+ 	(gt_pch_restore): Call gt_pch_use_address.
+ 	* hooks.c (hook_voidp_size_t_null): New.
+ 	(hook_bool_voidp_size_t_false): New.
+ 	* hooks.h (hook_voidp_size_t_null): New.
+ 	(hook_bool_voidp_size_t_false): New.
+ 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
+ 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
+ 	(HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
+ 	HOST_HOOKS_GT_PCH_USE_ADDRESS.
+ 	* hosthooks.h (struct host_hooks): Add gt_pch_get_address,
+ 	gt_pch_use_address.
+ 	* doc/hostconfig.texi (Host Common): Document
+ 	HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
+ 	* Makefile.in (c-pch.o): Depend on hosthooks.h.
+ 	(ggc-common.o): Likewise.
+ 
+ 	* config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
+ 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
+ 	(pch_address_space): New.
+ 	(darwin_rs6000_gt_pch_get_address): New.
+ 	(darwin_rs6000_gt_pch_use_address): New.
+ 
+ 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR preprocessor/11569
+ 	PR preprocessor/11649
+ 	* Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
+ 	* cppfiles.c: Completely rewritten.
+ 	* c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
+ 	struct cpp_path is now struct cpp_dir.
+ 	(remove_duplicates): Don't simplify path names.
+ 	* c-opts.c (c_common_parse_file): cpp_read_next_file renamed
+ 	cpp_stack_file.
+ 	* cpphash.h: Include hashtab.h.
+ 	(_cpp_file): Declare.
+ 	(struct cpp_buffer): struct include_file is now struct _cpp_file,
+ 	and struct cpp_path is now struct cpp_dir.  Rename members.
+ 	(struct cpp_reader): Similarly.  New members once_only_files,
+ 	file_hash, file_hash_entries, quote_ignores_source_dir,
+ 	no_search_path, saw_pragma_once.  Remove all_include_files and
+ 	max_include_len.  Make some members bool.
+ 	(_cpp_mark_only_only): Renamed from _cpp_never_reread.
+ 	(_cpp_stack_file): Renamed from _cpp_read_file.
+ 	(_cpp_stack_include): Renamed from _cpp_execute_include.
+ 	(_cpp_init_files): Renamed from _cpp_init_includes.
+ 	(_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
+ 	* cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
+ 	(cpp_read_next_file): Rename and move to cppfiles.c.
+ 	(cpp_read_main_file): Update.
+ 	* cpplib.c (run_directive): Update for renamed members.
+ 	(do_include_common, _cpp_pop_buffer): Update.
+ 	(do_import): Undeprecate #import.
+ 	(do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
+ 	* cpplib.h: Remove file_name_map_list.
+ 	(cpp_options): Remove map_list.
+ 	(cpp_dir): Rename from cpp_path.  New datatype for name_map.
+ 	(cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
+ 
+ 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* Makefile.in:  Make stamp-objdir safe for parallel builds.
+ 
+ 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
+ 	(info):  Depend on stmp-docobjdir.
+ 
+ 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure: Regenerate.
+ 
+ 2003-07-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR C++/11131
+ 	* tree-inline.c (expand_call_inline): Always call inlinable_function_p
+ 	in !unit-at-a-time mode.
+ 
+ 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
+ 	main function.
+ 
+ 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/11667
+ 	* c-common.c (shorten_compare): Take into account differences
+ 	between C and C++ representation for enumeration types.
+ 	* tree.h (set_min_and_max_values_for_integral_type): Declare.
+ 	* stor-layout.c (set_min_and_max_values_for_integral_type): New
+ 	function, broken out from ...
+ 	(fixup_signed_type): ... here and ...
+ 	(fixup_unsigned_type): ... here.
+ 
+ 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c: Update commentary, adjust blank lines throughout.
+ 	(struct c_scope): Fix indentation.  Reorder members so
+ 	outer-context pointers come first, booleans last.
+ 	(duplicate_decls, define_label): Use a 'locus' variable for
+ 	diagnostic locations in a few more places.
+ 	(warn_if_shadowing): Un-split a conditional that fits on one line.
+ 	(c_init_decl_processing): No need to clear current_scope and
+ 	current_function_scope.
+ 	(start_decl): Merge if/else if statements with same action.
+ 	(push_parm_decl): Rename old_immediate_size_expand to use
+ 	save_foo convention; save/restore around entire function.
+ 	(grokdeclarator): Remove unnecessary braces.
+ 
+ 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
+ 	    Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
+ 
+ 	* c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
+ 	when warn_declaration_after_statement.  Call pedwarn_c90, not
+ 	pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
+ 	* c-common.c (warn_declaration_after_statement): Define.
+ 	* c-common.h (warn_declaration_after_statement): Declare.
+ 	* c.opt (Wdeclaration-after-statement): New.
+ 	* c-errors.c (pedwarn_c90): New function.
+ 	* c-opts.c (c_common_handle_option) <case
+ 	OPT_Wdeclaration_after_statement>: New.
+ 	* c-tree.h (pedwarn_c90): Declare.
+ 	* doc/invoke.texi (Option Summary): Document
+ 	-Wdeclaration-after-statement.
+ 	(Warning Options): Ditto.
+ 
+ 2003-07-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (memory attribute) Avoid accessing uninitialized memory
+ 	for ishift1 type instructions.
+ 
+ 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (--enable-checking): Add fold category.
+ 	(ENABLE_FOLD_CHECKING): Define if requested.
+ 	* configure: Rebuilt.
+ 	* config.in: Rebuilt.
+ 	* doc/install.texi: Document it.
+ 	* fold-const.c: Include md5.h.
+ 	[ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
+ 	[ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
+ 	print_fold_checksum): New functions.
+ 
+ 	* fold-const.c (fold): Never modify argument passed to fold, instead
+ 	change a copy and return it.
+ 	* convert.c (convert_to_integer): Likewise.
+ 
+ 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
+ 	cleanup of junk after #else and #endif directives.  Collapse repeated
+ 	clauses into for statment.
+ 
+ 	* fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
+ 
+ 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (struct c_scope): Remove keep_if_subblocks field.
+ 	(keep_next_if_subblocks): Rename next_is_function_body.
+ 	(pushlevel): Adjust commentary.  Always set ->keep on the
+ 	outermost level of a function.  Don't set ->keep_if_subblocks.
+ 	(poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
+ 	(store_parm_decls): Adjust to match.
+ 	(finish_function): Adjust to match.
+ 	Call poplevel with all three arguments zero.
+ 
+ 	* c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
+ 	New functions split out of store_parm_decls.
+ 	Avoid unnecessary work. Use local variables consistently.
+ 	(store_parm_decls): Likewise.
+ 
+ 	(finish_function): No need to set functionbody flag on call to
+ 	poplevel.
+ 	(struct language_function): Remove scope field.
+ 	(c_push_function_context, c_pop_function_context): No need to
+ 	save and restore current_scope.
+ 
+ 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/extend.texi (Deprecated Features): Implicit typename is
+ 	gone. Default args on types is going.
+ 
+ 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* Makefile.in (ifcvt.o): Depend on target.h
+ 	* ifcvt.c (target.h): Include.
+ 	(if_convert): Don't call mark_loop_exit_edges if we can't
+ 	modify jumps.
+ 
+ 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Testing): Adjust required versions of DejaGnu.
+ 
+ 2003-07-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR inline-asm/11676
+ 	* cse.c (count_reg_usage): Handle asm_operands properly.
+ 
+ 2003-07-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (DEF_FALLBACK_BUILTIN): Delete.
+ 	(DEF_EXT_FALLBACK_BUILTIN): Delete.
+ 	(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
+ 	the regular DEF_EXT_LIB_BUILTIN macro.
+ 	(BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
+ 	the regular DEF_LIB_BUILTIN macro.
+ 	(BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
+ 	BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
+ 	BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
+ 	DEF_EXT_LIB_BUILTIN macro.
+ 
+ 	* c-decl.c (duplicate_decls): Remove code to handle builtin
+ 	functions prototyped without an argument list.
+ 
+ 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c: Revert 2003-07-08 change.
+ 	(i386_pe_section_type_flags): Remove error_with_decl here too.
+ 
+ 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
+ 	* config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
+ 	* config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
+ 	(v850_handle_data_area_attribute): Likewise.
+ 
+ 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* varasm.c (output_constant_def_contents): Use
+ 	ASM_DECLARE_CONSTANT_NAME if defined.
+ 	* doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
+ 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
+ 	objects get at least one byte to prevent assembler problems.
+ 	(ASM_DECLARE_CONSTANT_NAME): New.
+ 
+ 	* Makefile.in (libbackend.o): Remove options_.h.
+ 	(mostlyclean): Likewise.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
+ 	insert a label at the end of an function under Mach-O.
+ 
+ 	* c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
+ 
+ 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
+ 	equality.
+ 	(spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
+ 
+ 	* config/rs6000/spe.h: Remove __ev64_opaque__ definition.
+ 
+ 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* doc/passes.texi (Passes): Mention pretty-printing and
+ 	diagnostic files.
+ 
+ 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/extend.texi (Function Attributes): GNU C++ does now allow
+ 	unused parameter decls.
+ 	(Attribute Syntax): GNU C++ does not allow label attributes to be
+ 	after the ':'.
+ 
+ 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
+ 	(objc_declare_class): Likewise.
+ 	(error_with_ivar): Likewise.
+ 	(start_class): Likewise.
+ 	(warn_with_method): Likewise.
+ 
+ 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	Remove pedwarn_with_decl, warning_with_decl and error_with_decl
+ 	from GCC.
+ 	* calls.c (try_to_integrate): Don't use xxx_with_decl.
+ 	(expand_call): Likewise.
+ 	* dwarfout.c (output_reg_number): Likewise.
+ 	* expr.c (expand_expr): Likewise.
+ 	* function.c (assign_temp): Likewise.
+ 	(uninitialized_vars_warning): Likewise.
+ 	(setjmp_args_warning): Likewise.
+ 	(expand_function_end): Likewise.
+ 	* stmt.c (fixup_gotos): Likewise.
+ 	(warn_about_unused_variables): Likewise.
+ 	(expand_end_bindings): Likewise.
+ 	* stor-layout.c (layout_decl): Likewise.
+ 	(place_field): Likewise.
+ 	* toplev.c (check_global_declarations): Likewise.
+ 	(rest_of_handle_inlining): Likewise.
+ 	(default_tree_printer): New function.
+ 	(general_init): Initialize diagnostic machinery before routing
+ 	signals to the ICE machinery.  Set default tree printer.
+ 	* toplev.h (pedwarn_with_decl): Remove declaration.
+ 	(warning_with_decl): Likewise.
+ 	(error_with_decl): Likewise.
+ 	(pedwarn): Remove attribute for the time being.
+ 	* tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
+ 	* varasm.c (named_section): Likewise.
+ 	(make_decl_rtl): Likewise.
+ 	(assemble_variable): Likewise.
+ 	(merge_weak): Likewise.
+ 	(declare_weak): Likewise.
+ 
+ 	* diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
+ 	* diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
+ 	(format_with_decl): Remove.
+ 	(diagnostic_for_decl): Likewise.
+ 	(pedwarn_with_decl): Likewise.
+ 	(warning_with_decl): Likewise.
+ 	(error_with_decl): Likewise.
+ 	(diagnostic_initialize): Adjust.
+ 	(diagnostic_count_diagnostic): Likewise.
+ 	(announce_function): Likewise.
+ 	(lhd_print_error_function): Likewise.
+ 	(diagnostic_report_current_module): Likewise.
+ 	(default_diagnostic_starter): Likewise.
+ 	(diagnostic_report_diagnostic): Likewise.
+ 	(default_diagnostic_finalizer): Likewise.
+ 	(verbatim): Likewise.
+ 	(error): Likewise.
+ 	(warning): Likewise.
+ 	* opts.c (common_handle_option): Likewise.
+ 	* pretty-print.c: New file.
+ 	* c-pretty-print.h (pp_base): Override.
+ 	* c-pretty-print.c: Adjust use of macros throughout.
+ 	(pp_buffer): New macro.
+ 	(pp_newline): Likewise.
+ 	* c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
+ 	* Makefile.in (DIAGNOSTIC_H): New variable.
+ 	(c-errors.o): Use it.
+ 	(c-objc-common.o): Likewise.
+ 	(c-common.o): Likewise.
+ 	(c-opts.o): Likewise.
+ 	(c-format.o): Likewise.
+ 	(diagnostic.o): Likewise.
+ 	(opts.o): Likewise.
+ 	(toplev.o): Likewise.
+ 	(rtl-error.o): Likewise.
+ 	(dwarf2out.o): Likewise.
+ 	(jump.o): Likewise.
+ 	(pretty-print.o): New rule.
+ 
+ 2003-07-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
+ 	front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
+ 	(BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
+ 	from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
+ 	(DEF_FRONT_END_LIB_BUILTIN): Delete.
+ 	(DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
+ 	(BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
+ 
+ 	* builtins.c (build_string_literal): New function to construct
+ 	a char* pointer to a string literal.
+ 	(expand_builtin_fputs): Change 2nd argument from "int ignore" to
+ 	"rtx target" to be consistent with other expand_builtin_* functions.
+ 	Change 3rd argument from "int unlocked" to "bool unlocked".
+ 	(expand_builtin_printf): Rewrite of c_expand_builtin_printf from
+ 	c-common.c to avoid front-end dependencies.  Optimize printf("")
+ 	as a no-op when the result isn't required.  Handle embedded NULs
+ 	in format string.
+ 	(expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
+ 	from c-common.c to avoid front-end dependencies.  Likewise, optimize
+ 	fprintf(fp,"") as a no-op when the result isn't required, evaluating
+ 	fp for side-effects.  Handle embedded NULs in format string.
+ 	(expand_builtin_sprintf): Fix typo.
+ 	(expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
+ 	optimizing.  Adjust calls of expand_builtin_fputs to match the API
+ 	change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
+ 	expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
+ 	and BUILT_IN_FPRINTF using expand_builtin_fprintf.
+ 
+ 	* c-common.c (is_valid_printf_arglist): Delete.
+ 	(c_expand_builtin): Delete.
+ 	(c_expand_builtin_printf): Moved to builtins.c. Delete.
+ 	(c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
+ 	(c_expand_expr): No longer treat CALL_EXPRs specially.
+ 	(CALLED_AS_BUILT_IN): Delete.
+ 
+ 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR optimization/11631
+ 	* gcse.c (store_motion): Connect infinite loops to exit.
+ 
+ 2003-07-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (boolean_type_node): Move from C/C++/Java frontends.
+ 	(boolean_true_node, boolean_false_node): Likewise.
+ 	(enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
+ 	* tree.c (build_common_tree_nodes): Init boolean_type_node.
+ 	(build_common_tree_nodes_2): Init boolean_{true,false}_node.
+ 	* stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
+ 	* c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
+ 	(truthvalue_true_node): Renamed from boolean_true_node.
+ 	(truthvalue_false_node): Renamed from boolean_false_node.
+ 	* c-decl.c: Just set truthvalue_* to integer_*.
+ 	* c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
+ 
+ 2003-07-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-decl.c (match_builtin_function_types): New subroutine of
+ 	duplicate_decls to test whether a redeclaration of a builtin
+ 	function is suitably close, i.e. the return type and all of
+ 	the argument types have the same modes as the builtin expects.
+ 	(duplicate_decls): Fuzzy type matching for builtin functions
+ 	moved to match_builtin_function_types.
+ 
+ 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
+ 	flag correctly.
+ 
+ 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c: Search-and-replace change 'binding level' to
+ 	'scope' in commentary.
+ 	(struct binding_level): Now struct c_scope.
+ 	(current_binding_level): Now current_scope.
+ 	(free_binding_level): Now scope_freelist.
+ 	(current_function_level): Now current_function_scope.
+ 	(global_binding_level): Now global_scope.
+ 	(make_binding_level): Now make_scope.
+ 	(pop_binding_level): Now pop_scope.
+ 
+ 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (libgcc_visibility): Add missing whitespace.
+ 
+ 2003-07-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
+ 	__gcc_personality_v0.
+ 
+ 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in: Replace pwd by ${PWD_COMMAND}.
+ 
+ 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
+ 	documentation missed from my 2003-07-09 patch.
+ 
+ 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
+ 	it's not provided.
+ 	* configure: Rebuild.
+ 
+ 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	PR c/10602
+ 	* c-typeck.c (type_lists_compatible_p): Do not compare
+ 	arguments if one of them is an error_mark_node
+ 
+ 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
+ 	if current_function_calls_eh_return.
+ 
+ 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (OFFSET_TYPE): Update description.
+ 
+ 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
+ 	* config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
+ 	__umodsi3, __modsi3): Increase frame size to 32.
+ 
+ 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
+ 	prototype.
+ 
+ 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
+ 
+ 	PR optimization/10679
+ 	* tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
+ 
+ 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/11607 and PR target/11516
+ 	* pa.md (extzv, extv, insv): Revert latter half of last patch.
+ 
+ 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (force_fit_type): Handle OFFSET_TYPE.
+ 	* varasam.c (output_constant): Likewise.
+ 
+ 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Fix comment formatting.
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* dojump.c: Likewise.
+ 	* final.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 2003-07-22  Per Bothner  <pbothner@apple.com>
+ 
+ 	* line-map.c (add_line_map):  Handle invalid LEAVE request.
+ 	Fixes PR preprocessor/11361.
+ 
+ 2003-07-22  Per Bothner  <pbothner@apple.com>
+ 
+ 	* diagnostic.c.(diagnostic_report_current_module):  Update to match
+ 	2003-06-05 changes to push_srcloc and pop_srcloc.
+ 
+ 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
+ 
+ 	* doc/trouble.texi: Better document two-stage name lookup.
+ 
+ 2003-07-22  Eric Christopher <echristo@redhat.com>
+ 
+ 	* config/s390.c (s390_valid_pointer_mode): New.
+ 	(TARGET_VALID_POINTER_MODE): Use.
+ 	(s390_emit_prologue): Add tpf profiling hooks.
+ 	(s390_emit_epilogue): Ditto.
+ 	* config/s390.h (MASK_TPF): New.
+ 	(TARGET_TPF): Use.
+ 	(POINTERS_EXTEND_UNSIGNED): Define.
+ 	* config/s390.md (ptr_extend): New pattern.
+ 
+ 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* hashtable.c (approx_sqrt): Make static.
+ 	* hashtable.h: Don't prototype approx_sqrt.
+ 	* line-map.c (init_line_maps): Rename linemap_init.
+ 	(free_line_maps): Rename linemap_free.
+ 	(add_line_map): Rename linemap_add.
+ 	(lookup_line): Rename linemap_lookup.
+ 	(print_containing_files): Rename linemap_print_containing_files.
+ 	* linemap.h: Update to match.
+ 
+ 	* cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
+ 	linemap routines to use new names.
+ 
+ 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.c (handle_packed_attribute): Don't pack a struct via a
+ 	typedef. Propagate packedness from a main variant.
+ 
+ 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in (install-common): Add dependency on installdirs.
+ 
+ 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-common.c (c_common_type_for_mode): Return integer types for
+ 	pointer modes.
+ 
+ 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
+ 	(finish_decl): Call maybe_apply_pragma_weak here.
+ 	(grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
+ 	TREE_PUBLIC and TREE_STATIC are decided.
+ 	(start_function): Move call to maybe_apply_pragma_weak.  Check that
+ 	DECL_ASSEMBLER_NAME isn't set too early.
+ 
+ 	* cpplex.c (_cpp_process_line_notes): Mention option name in
+ 	trigraphs warning.
+ 
+ 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (if_then_else_cond): Simplify the comparison of
+ 	rtx against -1, 0, and 1.
+ 	* loop.c (check_dbra_loop): Likewise.
+ 	* optabs.c (emit_conditional_move): Likewise.
+ 	(emit_conditional_add): Likewise.
+ 	* config/i386/i386.md (*movsi_or): Likewise.
+ 	(*movdi_or_rex6): Likewise.
+ 
+ 2003-07-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
+ 
+ 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (open_file_pch): Don't put unused entries in the
+ 	splay tree.  Remove dead code.
+ 
+ 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-common.h (num_in_fnames): Declare.
+ 	(c_static_assembler_name): Move from here...
+ 	* c-tree.h (c_static_assembler_name): ... to here.
+ 	* c-opts.c: Don't include langhooks-def.h.
+ 	(c_static_assembler_name): Move to c-decl.c.
+ 	(num_in_fnames): Make externally visible.
+ 	* c-decl.c: Include langhooks-def.h.
+ 	(c_static_assembler_name): Move from c-opts.c.
+ 	* Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
+ 	(c-opts.o): Remove $(LANGHOOKS_DEF_H).
+ 
+ 	* c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
+ 	when it's not needed.
+ 
+ 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
+ 	* config/rs6000/rs6000.c (rs6000_return_addr): Set it.
+ 	(rs6000_emit_prologue): Save FPRs inline if set.
+ 
+ 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
+ 
+ 	* config/ia64/ia64.md (prefetch): Support predicate.
+ 
+ 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
+ 	* rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
+ 	table.
+ 
+ 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11536
+ 	* unroll.c (loop_iterations): Do not replace a register holding
+ 	the final value by its equivalent before the loop if it is not
+ 	invariant.
+ 
+ 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
+ 
+ 	* doc/extend.texi: Fixes to spelling, grammar, and diction.
+ 
+ 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Replace "it's" with "its".
+ 	(V850 Options): Spelling fixes.
+ 
+ 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
+ 
+ 	* doc/invoke.texi: Fixes to style, grammar and diction.
+ 
+ 2003-07-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
+ 	* system.h (SMALL_STACK): Poison obsolete target macro.
+ 	* doc/tm.texi (SMALL_STACK): Remove target macro documentation.
+ 
+ 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* configure.in:  Cache the results of testing for cmp's capabilities.
+ 	* configure:  Regenerate.
+ 
+ 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR debug/11279
+ 	* dwarf2out.c (gen_enumeration_type_die): Remember that
+ 	enumerators can be unsigned.
+ 
+ 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (named_labels, shadowed_labels, label_level_chain)
+ 	(push_label_level, pop_label_level): Kill.
+ 	(struct binding_level): Rename level_chain to outer.
+ 	Add outer_function field.  Change parm_flag, function_body,
+ 	keep, keep_if_subblocks to 1-bit bitfields of type bool.
+ 	(current_function_level): New variable.
+ 	(keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
+ 	(keep_next_level, declare_parm_level, warn_if_shadowing):
+ 	Update to match.
+ 	(struct language_function): Kill named_labels, shadowed_labels fields.
+ 	(c_init_decl_processing, start_function, c_push__function_context)
+ 	(c_pop_function_context): No need to muck with named_labels nor
+ 	shadowed_labels.
+ 
+ 	(make_binding_level): No need to clear the structure here.
+ 	(pop_binding_level): Always operate on current_binding_level.
+ 	Update current_function_level if necessary.
+ 	(pushlevel): Don't clear named_labels.  Update current_function_level
+ 	if necessary.  Use "true" and "false" where appropriate.
+ 	(poplevel): Diagnose labels defined but not used, or vice
+ 	versa, and clear out label-meanings leaving scope, while
+ 	walking down the decls list, for all binding levels.
+ 	Handle LABEL_DECLs appearing in the shadowed list.
+ 	pop_binding_level takes no arguments.
+ 	(pushdecl_function_level): Use current_function_level.
+ 
+ 	(make_label, bind_label): New static functions.
+ 	(declare_label): New exported function.
+ 	(lookup_label, define_label): Rewritten for new data structure.
+ 	(shadow_label): Kill.
+ 
+ 	* c-tree.h: Prototype declare_label; don't prototype
+ 	push_label_level, pop_label_level, nor shadow_label.
+ 	* c-parse.in: Remove all calls to push_label_level and
+ 	pop_label_level.  Use declare_label for __label__ decls.
+ 
+ 	* doc/extend.texi: Clarify that __label__ can be used to
+ 	declare labels with local scope in any nested block, not
+ 	just statement expressions.  Cross-reference nested functions
+ 	section from local labels section.
+ 
+ 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* sched-rgn.c (find_rgns): Initialize current_edge correctly.
+ 
+ 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
+ 
+ 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
+ 	fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
+ 
+ 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimize_pic_address): Access local symbols
+ 	relative to the GOT instead of relative to the literal pool base.
+ 	(s390_output_symbolic_const): Handle new GOT-relative accesses.
+ 	* config/s390/s390.md ("call"): Access local functions and PLT stubs
+ 	relative to the GOT instead of relative to the literal pool base.
+ 	("call_value"): Likewise.
+ 	("call_value_tls"): Likewise.
+ 
+ 	* config/s390/s390.c (s390_chunkify_start): Remove pool anchor
+ 	reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
+ 	(s390_chunkify_finish): Likewise.
+ 	(s390_chunkify_cancel): Likewise.
+ 	(s390_reorg): Adapt caller.
+ 	(find_base_register_in_addr,
+ 	find_base_register_ref, replace_base_register_ref): Delete.
+ 	(find_ltrel_base, replace_ltrel_base): New functions.
+ 	(find_constant_pool_ref): Handle LTREL_BASE unspecs.
+ 	(s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
+ 	base vs. index register usage.
+ 	(struct constant_pool): Remove 'anchor'.
+ 	(s390_add_anchor): Delete.
+ 	(s390_dump_pool): Remove anchor handling.
+ 	* config/s390/s390.md ("reload_anchor"): Remove.
+ 
+ 	* config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
+ 	(s390_load_got): New function.  Use LTREL_BASE/OFFSET.
+ 	(s390_emit_prologue): Use it.
+ 	* config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
+ 	"builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
+ 	hard-code register 14.
+ 	* config/s390/s390-protos.h (s390_load_got): Declare.
+ 
+ 	* config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
+ 	Support TImode constants.
+ 	* config/s390/s390.md ("consttable_ti"): New.
+ 	("consttable_si", "consttable_di"): Handle TLS symbols correctly.
+ 
+ 	* config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
+ 	UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
+ 	UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
+ 	UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
+ 	UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
+ 	New symbolic constants.
+ 	("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
+ 	"consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
+ 	"pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
+ 	"pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
+ 	symbolic UNSPEC values.
+ 	* config/s390/s390.c (larl_operand, s390_short_displacement,
+ 	bras_sym_operand, s390_cannot_force_const_mem,
+ 	s390_delegitimize_address, s390_decompose_address,
+ 	legitimize_pic_address, s390_output_symbolic_const,
+ 	s390_function_profiler): Use symbolic UNSPEC values.
+ 
+ 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
+ 	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
+ 	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
+ 	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
+ 	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
+ 	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
+ 	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
+ 	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
+ 	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
+ 	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
+ 	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
+ 	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
+ 	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
+ 	postreload.c prefix.c print-tree.c protoize.c ra-build.c
+ 	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
+ 	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
+ 	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
+ 	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
+ 	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
+ 	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
+ 	casts.
+ 
+ 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
+ 	* toplev.h (warning): Remove attribute.
+ 
+ 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
+ 	(pop_label_level): Likewise.
+ 	(duplicate_decls): Likewise.
+ 	(implicitly_declare): Likewise.
+ 	(shadow_label): Likewise.
+ 	(start_decl): Likewise.
+ 	(finish_decl): Likewise.
+ 	(grokdeclarator): Likewise.
+ 	(get_parm_info): Likewise.
+ 	(detect_field_duplicates): Likewise.
+ 	(finish_struct): Likewise.
+ 	(start_function): Likewise.
+ 	(store_parm_decls): Likewise.
+ 	(finish_function): Likewise.
+ 	(c_expand_body_1): Likewise.
+ 	(check_for_loop_decls): Likewise.
+ 	(merge_translation_unit_decls): Likewise.
+ 
+ 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* common.opt:  Document --param.
+ 	* opts.c (columns, undocumented_msg): New.
+ 	(print_help): Get number of columns from environment.  Print
+ 	--param help.  Tweak newline handling.
+ 	(print_param_help): New.
+ 	(print_filtered_help): Better handling of duplicates.  Complain
+ 	about undocumented switches.
+ 	(print_switch): New.
+ 	(wrap_help): Improve wrapping, use COLUMNS.
+ 	* opts.sh: Ignore comments in records.
+ 	* params.def: Fix typos and remove trailing periods.
+ 	* toplev.c (display_help): Don't dump --param help.
+ 	* doc/sourcebuild.texi: Update.
+ 
+ 2003-07-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/11556
+ 	* optabs.c (prepare_operand): Fail gracefully instead of abort
+ 	if the predicate doesn't satisfy.
+ 	(gen_cond_trap): Allow prepare_operand to fail.
+ 
+ 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c: Don't undefine GCC_DIAG_STYLE.
+ 	(fname_decl): Don't use xxx_with_decl.
+ 	(c_add_case_label): Likewise.
+ 	(handle_section_attribute): Likewise.
+ 	(handle_alias_attribute): Likewise.
+ 	(handle_no_instrument_function_attribute): Likewise.
+ 	(handle_no_limit_stack_attribute): Likewise.
+ 	* c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
+ 	* c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
+ 
+ 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (ifcvt.o): Add cfgloop.h.
+ 	* basic-block.h (EDGE_LOOP_EXIT): New flag.
+ 	* cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
+ 	* ifcvt.c: Include cfgloop.h.
+ 	(mark_loop_exit_edges): New static function.
+ 	(if_convert): Call it.
+ 	(find_if_header): Ignore branches out of loops.
+ 
+ 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_comparison): Don't share rtx when converting
+ 	(ne (and (not X) 1) 0) to (eq (and X 1) 0).
+ 
+ 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
+ 	(AGGREGATES_PAD_UPWARD_ALWAYS): Define.
+ 	(MUST_PASS_IN_STACK): Define.
+ 	(BLOCK_REG_PADDING): Define.
+ 
+ 2003-07-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
+ 	to skip the addr_vec.
+ 
+ 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (combinable_i3pat): Don't forbid occurrences of
+ 	i2dest or i1dest in inner_dest if inner_dest is a mem.
+ 
+ 2003-07-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_remove_node): Clear the hash table slot.
+ 
+ 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/11087
+ 	* loop.c (basic_induction_var): Check if convert_modes emitted any
+ 	instructions. Remove them and return 0 if so.
+ 
+ 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11083
+ 	* toplev.c (rest_of_handle_addresof): Rename into
+ 	rest_of_handle_addressof.  Delete unreachable blocks
+ 	if dead edges were purged after the addressof pass.
+ 
+ 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in, configure, configure.in: Remove handling of
+ 	lang-options.h and options_.h.
+ 	* toplev.c (struct lang_opt, documented_lang_options): Remove.
+ 	(display_help): Don't use documented_lang_options.
+ 
+ 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (pushdecl_function_level): Make static, return nothing.
+ 	(kept_level_p): Fold into poplevel.
+ 	(undeclared_variable): Moved here from c-typeck.c.  Export.
+ 	* c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
+ 	(undeclared_variable): Prototype here.  Don't prototype
+ 	kept_level_p nor pushdecl_function_level.
+ 	* c-parse.in: Change first argument to poplevel from
+ 	"kept_level_p()" to "KEEP_MAYBE".
+ 	* c-typeck.c (undeclared_variable): Moved to c-decl.c.
+ 
+ 2003-07-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
+ 	commutative operands instead of modifying the RTL in-place.
+ 
+ 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR optimization/11557
+ 	* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
+ 	unless we know which function is being called.
+ 
+ 2003-07-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (fold_rtx): Use swap_commutative_operands_p to determine
+ 	whether to reorder the operands of a commutative binary operator.
+ 
+ 2003-07-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (const_binop): Avoid performing the FP operation at
+ 	compile-time, if either operand is NaN and we honor signaling NaNs,
+ 	or if we're dividing by zero and either flag_trapping_math is set
+ 	or the desired mode doesn't support infinities.
+ 	(fold_initializer): New function to fold an expression ignoring any
+ 	potential run-time exceptions or traps.
+ 	* tree.h (fold_initializer): Prototype here.
+ 	* c-typeck.c (build_binary_op): Move to the end of the file so
+ 	that intializer_stack is in scope.  If constructing an initializer,
+ 	i.e. when initializer_stack is not NULL, use fold_initializer to
+ 	fold expressions.
+ 	* simplify-rtx.c (simplify_binary_operation): Likewise, avoid
+ 	performing FP operations at compile-time, if they would raise an
+ 	exception at run-time.
+ 
+ 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 11498
+ 	* Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
+ 	(langhooks.o): Add $(GGC_H), gt-langhooks.h.
+ 	(GTFILES): Add langhooks.c.
+ 	(gt-langhooks.h): New.
+ 	* c-common.h (c_static_assembler_name): Prototype.
+ 	* c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
+ 	* objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
+ 	* c-opts.c: Include langhooks-def.h.
+ 	(c_static_assembler_name): New.
+ 	* langhooks.c: Include ggc.h.  Include gt-langhooks.h.
+ 	(var_labelno): New.
+ 	(lhd_set_decl_assembler_name): Give static objects with context
+ 	unique names.
+ 	* varasm.c (var_labelno): Delete.
+ 	(make_decl_rtl): Don't change the assembler name once it's set.
+ 
+ 	* c-opts.c (this_input_filename): New.
+ 	(finish_options): Take new parameter, name of file being compiled.
+ 	Update callers.  Set this_input_filename.
+ 	(push_command_line_include): Use this_input_filename not
+ 	main_input_filename.
+ 
+ 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Depend .pot generation on options.c.
+ 	* po/exgettext: Add an extra_files variable containing additional
+ 	files to scan.
+ 
+ 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
+ 	c_write_global_declarations.
+ 
+ 	* c-decl.c: Fix typos in several comments.  Remove all
+ 	#if 0 blocks; reindent as needed.  Remove unused argument
+ 	to declare_parm_level; all callers changed.
+ 	* c-parse.in: Update calls to declare_parm_level.  Avoid
+ 	issuing a double warning in some circumstances.
+ 	* c-typeck.c: Update calls to declare_parm_level.
+ 	* c-tree.h: Update prototype of declare_parm_level.
+ 
+ 	* c-pragma.c (apply_pragma_weak): Don't complain about a
+ 	redundant #pragma weak.
+ 
+ 	* objc/objc-act.c (forward_declare_categories,
+ 	build_selector_reference_decl, build_class_reference_decl,
+ 	build_objc_string_decl, synth_forward_declarations,
+ 	build_protocol_reference): Set TREE_PUBLIC on synthetic
+ 	forward decl to 0, consistent with eventual definition.
+ 	Correct comments to match.
+ 
+ 	* fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
+ 	in regexp that don't form a range expression.
+ 	* fixinc/fixincl.def: Regenerate.
+ 
+ 2003-07-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/10907
+ 	* config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
+ 	even with !TARGET_CONST_GP.
+ 	(ia64_function_ok_for_sibcall): Reject non-local functions.
+ 
+ 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* c-common.c (c_estimate_num_insns_1): Don't handle
+ 	METHOD_CALL_EXPR.
+ 	* expr.c (safe_from_p): Likewise.
+ 	* gengtype.c (adjust_field_tree_exp): Likewise.
+ 	* stmt.c (warn_if_unused_value): Likewise
+ 	* tree.c (first_rtl_op): Likewise.
+ 	* tree.def: Don't define METHOD_CALL_EXPR.
+ 	* java/lang.c (java_estimate_num_insns_1): Don't handle
+ 	METHOD_CALL_EXPR.
+ 
+ 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR other/11466
+ 	* doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
+ 	and its restrictions for the SPARC64 port.
+ 	Move the entry of "-mimpure-text" before that of "-mv8".
+ 
+ 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
+ 	    Phil Edwards <phil@jaj.com>
+ 
+ 	* doc/install.texi (*-*-solaris2*): Document the step-by-step
+ 	procedure to bootstrap and install.
+ 	Document the preference for the legacy Sun tools in /usr/bin
+ 	over the POSIX tools in /usr/xpg4/bin for the build process.
+ 
+ 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c.opt: Document Uncodumented; use it.  Document ObjC options.
+ 	* opts.c (print_filtered_help): Skip undocumented switches.
+ 	* opts.h (CL_UNDOCUMENTED): New.
+ 	* opts.sh: Handle Undocumented.
+ 	* toplev.c (documented_lang_options): Prevent its becoming empty.
+ objc:
+ 	* lang-options.h: Remove.
+ 
+ 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* loop.c (check_ext_dependent_givs): Pass const struct loop *
+ 	instead of struct loop_info * as argument.  Accept BIVs with
+ 	increment +/- 1 provided there is a friendly exit test against
+ 	a loop-invariant value.
+ 	(strength_reduce): Adapt call to check_ext_dependent_givs.
+ 
+ 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 	    Con Bradley <con.bradley@superh.com>
+ 
+ 	* sh-protos.h (sh_get_pr_initial_val): Declare.
+ 	* sh.c (regno_reg_class): Make its elements type enum reg_class.
+ 	(output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
+ 	and live_regs_mask arguments.  Changed all callers.
+ 	(save_schedule_s): New structure.
+ 	(save_schedule): New typedef.
+ 	(scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
+ 	(calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
+ 	In interrupts handlers, also save registers that are usually
+ 	partially saved, and make sure there is at least one general purpose
+ 	register saved if a target register needs saving.
+ 	Add casts in comparisons to avoid warnings.
+ 	(sh_media_register_for_return): return -1 for interrupt handlers.
+ 	(MAX_SAVED_REGS, MAX_TEMPS): New defines.
+ 	(sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
+ 	registers used are available.
+ 	Set RTX_FRAME_RELATED_P where appropriate.
+ 	Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
+ 	(sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
+ 	(initial_elimination_offset): Likewise.
+ 	* sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
+ 	(LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
+ 	(FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
+ 	(XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
+ 	(HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
+ 	and for target registers.
+ 	(RETURN_IN_MEMORY): Add parentheses to avoid warnings.
+ 	(regno_reg_class): Make its elements type enum reg_class.
+ 	(CONSTRAINT_LEN): Don't use isdigit.
+ 	(FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
+ 	(FUNCTION_ARG): Add parentheses to avoid warnings.
+ 	(RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
+ 	(RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
+ 	(SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
+ 	(EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
+ 	* sh.md (xordi3+1): Remove unused variable regno.
+ 	(return_media): Check that tr0 is available before using it.
+ 
+ 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c.opt: Document more options.
+ 
+ 2003-07-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (subst): Also handle (subreg (const_double ...)) case
+ 	if created by a substitution, by using the original inner mode.
+ 
+ 2003-07-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
+ 	to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
+ 	(simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
+ 
+ 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* doc/install.texi (--without-headers): New.
+ 
+ 	Partial Fix PR/10129
+ 	* config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
+ 	(machopic_output_function_base_name): New; print the true pic label.
+ 	(machopic_classify_ident): Pic Base is always a defined data.
+ 	* config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
+ 	* config/darwin-proto.h (machopic_output_function_base_name): Prototype.
+ 
+ 	* gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
+ 	if they are not floating point registers.
+ 
+ 	PR c/10962
+ 	* ggc.h: Add header guards.
+ 	* c-decl.c (finish_struct): Sort fields if
+ 	number greater than 15 and there are no
+ 	anonymous structs/unions.
+ 	* c-common.h: Include ggc.h.
+ 	(sorted_fields_type): New struct.
+ 	(field_decl_cmp): New prototype.
+ 	(resort_sorted_fields): New prototype.
+ 	(DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
+ 	* c-tree.h: (lang_type): Use pointer to sorted_fields_type
+ 	as s, removing other fields.
+ 	* c-typeck.c (lookup_field): Use s in lang_type.
+ 	These were mostly moved from cp/class.c:
+ 	* c-common.c (field_decl_cmp): New static function.
+ 	(field_decl_cmp): New function.
+ 	(resort_sorted_fields): New function.
+ 
+ 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.c (machopic_select_section): Use decl_readonly_section
+ 	to do most of the work.
+ 
+ 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
+ 	* config/mmix/mmix.c: Convert functions to ISO C90.
+ 	(mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
+ 	formatting.
+ 	(mmix_get_hard_reg_initial_val): Tweak section head comment.
+ 
+ 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
+ 
+ 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
+ 	(uw_update_context_1): Use it.
+ 	* config/rs6000/rs6000.c (insn_after_throw): Remove.
+ 	(rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
+ 	in parent frame if _Unwind_* called directly instead of through
+ 	.plt.
+ 	(rs6000_emit_eh_toc_restore): Remove.
+ 	(rs6000_emit_prologue): Update stack pointer before doing any saving
+ 	if current_function_calls_eh_return.  Generate unwind info for $r2.
+ 	(rs6000_emit_epilogue): Restore stack pointer after doing all
+ 	restoring if current_function_calls_eh_return.  Restore $r2.
+ 	* config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
+ 	* config/rs6000/rs6000.md (eh_return): Remove call to
+ 	rs6000_emit_eh_toc_restore.
+ 	* config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
+ 	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
+ 
+ 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (emit_block_move): Don't move anything if size is const 0.
+ 	(clear_storage): Test against const0_rtx instead of comparing INTVAL
+ 	against 0.
+ 
+ 2003-07-15  David S. Miller  <davem@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
+ 	emit nop if the last real insn is CALL_INSN.
+ 
+ 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
+ 	as "nul".
+ 	* config/i386/xm-mingw32.h: Change GNU CC to GCC.
+ 
+ 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (associated_type): Artificial methods are not
+ 	affected by the import/export status of their class unless they are
+ 	COMDAT.
+ 	(i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
+ 
+ 	* config/i386/winnt.c: Fix GCC copyright comment.
+ 
+ 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
+ 
+ 	PR c++/11531
+ 	* diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
+ 	not recursing on hard error.
+ 	(diagnostic_for_decl): Likewise.
+ 	* diagnostic.def: Rearrange.
+ 
+ 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
+ 	If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
+ 
+ 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
+ 	to decide if to access a _Unwind_Ptr or a _Unwind_Word.
+ 	(_Unwind_SetGR): Likewise.
+ 	(_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
+ 	(Unwind_SpTmp): New typedef.
+ 	(uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
+ 	(uw_update_context): Use _Unwind_GetPtr.
+ 	(init_dwarf_reg_size_table): Move above uw_init_context_1.
+ 	(uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
+ 	Use _Unwind_SetSpColumn.
+ 	(uw_install_context_1): Don't initialize dwarf_reg_size_table.
+ 	Use _Unwind_GetPtr.
+ 
+ 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c.opt: Document more options.
+ 	* toplev.c (documented_lang_options): Remove all local help strings.
+ 
+ 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR debug/11473
+ 	* dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
+ 	base classes.
+ 
+ 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/10795
+ 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
+ 	swap comparison operands if doing so would generate an
+ 	unrecognizable insn.
+ 
+ 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11320
+ 	* sched-int.h (struct deps) [reg_conditional_sets]: New field.
+ 	(struct sched_info) [compute_jump_reg_dependencies]: New prototype.
+ 	* sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
+ 	current_sched_info->compute_jump_reg_dependencies. Record which
+ 	registers are used and which registers are set by the jump.
+ 	Clear deps->reg_conditional_sets after a barrier.
+ 	Set deps->reg_conditional_sets if the insn is a COND_EXEC.
+ 	Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
+ 	(init_deps): Initialize reg_conditional_sets.
+ 	(free_deps): Clear reg_conditional_sets.
+ 	* sched-ebb.c (compute_jump_reg_dependencies): New prototype.
+ 	Mark registers live on entry of the fallthrough block and conditionally
+ 	set as set by the jump. Mark registers live on entry of non-fallthrough
+ 	blocks as used by the jump.
+ 	* sched-rgn.c (compute_jump_reg_dependencies): New prototype.
+ 	Mark new parameters as unused.
+ 
+ 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Resync MIPS -march documentation.
+ 
+ 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PROCESSOR_R9000): New processor_type.
+ 	(TARGET_MIPS9000, TUNE_MIPS9000): New macros.
+ 	(GENERATE_MULT3_SI): True for TARGET_MIPS9000.
+ 	* config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
+ 	(mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
+ 	(mips_issue_rate): Handle PROCESSOR_R9000.
+ 	(mips_use_dfa_pipeline_interface): Likewise.
+ 	* config/mips/9000.md: New file.
+ 	* config/mips/mips.md: Include it.
+ 	(define_attr cpu): Add r9000.
+ 	(mulsi3_mult3): Use "mul" for rm9000 code.
+ 
+ 2003-07-15  Stan Cox  <scox@redhat.com>
+ 
+ 	* config/mips/mips.h (PROCESSOR_R7000): New processor_type.
+ 	(TARGET_MIPS7000, TUNE_MIPS7000): New macros.
+ 	(GENERATE_MULT3_SI): True for TARGET_MIPS7000.
+ 	* config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
+ 	(mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
+ 	(mips_issue_rate): Handle PROCESSOR_R7000.
+ 	(mips_use_dfa_pipeline_interface): Likewise.
+ 	* config/mips/7000.md: New file.
+ 	* config/mips/mips.md: Include it.
+ 	(define_attr cpu): Add r7000.
+ 	(mulsi3_mult3): Use "mul" for rm7000 code.
+ 
+ 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (define_attr type): Add condmove.  Use it for
+ 	the conditional move patterns.
+ 	* config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
+ 	Check for condmove type.
+ 	(ir_vr54_arith): Add move type.
+ 	* config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
+ 
+ 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (print_help): Remove.
+ 	(c_common_handle_option): Don't handle --help.
+ 	* c.opt: Document some options.
+ 	(--help): Remove.
+ 	* opts.c (print_filtered_help): New.
+ 	(print_help): Use it.
+ 
+ 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-common.c (c_common_type_for_mode): Handle V4DFmode.
+ 	* tree.c: (build_common_tree_nodes_2): Likewise.
+ 	* tree.h (enum tree_index): Add TI_V4DF_TYPE.
+ 	(V4DF_type_node): New.
+ 
+ 	* c-opts.c (push_command_line_include): Don't free deferred_opts,
+ 	we'll need it.
+ 	(finish_options): Reset init_cursor.
+ 
+ 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_assignment): Remove an unused argument
+ 	SUGGEST_REG.
+ 	* expr.h: Update the prototype.
+ 	* function.c: Update the callers.
+ 	* stmt.c: Likewise.
+ 
+ 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR debug/11098
+ 	* integrate.c (copy_decl_for_inlining): Do not mark copied decls
+ 	as DECL_ABSTRACT.
+ 
+ 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
+ 	with __cplusplus, not "we must use the C++ compiler's type"
+ 	* fixinc/inclhack.def (void_null): Note that Interix needs this.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
+ 	and unseen_objects from the global data before calling
+ 	__deregister_frame_info_bases.
+ 	(examine_objects): Insert objects into the seen_objects list,
+ 	not unseen_objects.
+ 	(_Unwind_Find_FDE): Always unlock the global object lists, even if
+ 	we couldn't allocate a data structure to put in it.
+ 
+ 	* objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
+ 	(TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
+ 	(SET_TYPE_PROTOCOL_LIST): New.
+ 	* objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
+ 	(get_object_reference): Likewise.
+ 
+ 2003-07-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (locator_file): Break out from ....
+ 	(insn_file): ... here.
+ 	(locator_line): Break out from ....
+ 	(insn_line): ... here.
+ 	* rtl.h (locator_file, locator_line): Declare.
+ 	(final_start_function): Set proper line/file info.
+ 
+ 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
+ 	handled by pp_c_cast_expression.
+ 
+ 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_expand_prologue): Use a single insn to
+ 	allocate 32768 bytes of stack.  Use addition rather than subtraction
+ 	when a single insn is enough.
+ 	* config/mips/mips.md: Remove insns and splitters for subtracting
+ 	constants.
+ 	(subsi3): Only accept register operands.
+ 	(subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
+ 	(subdi3_internal_3, subsi3_internal_2): Likewise.
+ 	(casesi): Use expand_binop to subtract the lower bound.
+ 
+ 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_in_small_data_p): Don't handle
+ 	TARGET_MIPS16 specially.
+ 
+ 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
+ 	mips_output_aligned_bss.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
+ 	* config/mips/mips.c (mips_output_aligned_bss): New function.
+ 
+ 	* config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
+ 	* config/mips/elf64.h: Likewise.
+ 
+ 	* config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
+ 	mips_declare_object_name.
+ 	(ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
+ 	* config/mips/elf64.h: As for elf.h.
+ 	* config/mips/iris6.h: Likewise.
+ 	* config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
+ 	* config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
+ 	do...while (0) block.
+ 	* config/mips/mips-protos.h (mips_declare_object_name): Declare.
+ 	(mips_finish_declare_object): Declare.
+ 	* config/mips/mips.c (mips_declare_object_name): New function.
+ 	(mips_finish_declare_object): New function.
+ 
+ 	* config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
+ 	* config/mips/linux.h: Likewise.
+ 
+ 	* config/mips/mips.c (inside_function): Delete.
+ 	(file_in_function_warning, ignore_line_number): Delete.
+ 	(mips_output_filename): Don't warn about changing filenames within
+ 	a function.
+ 	(mips_output_lineno): Update accordingly.
+ 	(mips_output_function_prologue): Don't reset the deleted variables.
+ 	* config/mips/mips.h (inside_function): Delete.
+ 	(file_in_function_warning, ignore_line_number): Delete.
+ 
+ 	* config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/openbsd.h: Likewise.
+ 	* config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
+ 	(CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
+ 
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
+ 	to the list of include files when using gas.
+ 	(mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
+ 	* config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
+ 	* config/mips/elf64.h: Likewise.
+ 	* config/mips/iris5.h: Likewise.
+ 	* config/mips/linux.h: Likewise.
+ 	* config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
+ 	* config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	(SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
+ 	* config/mips/sdb.h: ...this new file.
+ 
+ 2003-07-14  Douglas Rupp  <rupp@gnat.com>
+ 
+ 	* fixinc/server.c (server_setup): Don't use non-POSIX NULL first
+ 	argument to getcwd; use fixed buffer instead.
+ 
+ 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Treat OpenBSD normally.
+ 	* fixinc/fixinc.wrap: Delete.
+ 
+ 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
+ 	don't have 2.
+ 
+ 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* ggc-page.c (struct globals): Add new fields to keep track of the
+ 	total allocated memory and overhead.
+ 	(ggc_print_statistics): Print them.
+ 	(ggc_alloc): Keep track of the total allocated memory and the
+ 	overhead.
+ 
+ 	* tree.c (dump_tree_statistics): Increase spacing.
+ 	(enum tree_node_kind): Move to ...
+ 	* tree.h (enum tree_node_kind): ... here.
+ 	(tree_node_counts, tree_node_sizes): Declare.
+ 
+ 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
+ 
+ 	* doc/include/texinfo.tex: Upgrade to texinfo 4.6.
+ 
+ 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR optimization/11440
+ 	* gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
+ 	SIGN_EXTRACT SETs.
+ 
+ 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doc/tm.texi (BLOCK_REG_PADDING): Describe.
+ 	* expr.h (struct locate_and_pad_arg_data): Add where_pad.
+ 	(emit_group_load, emit_group_store): Adjust declarations.
+ 	Remove most occurrences of #ifdef TREE_CODE.
+ 	* expr.c (emit_group_load): Add "type" param, and use
+ 	BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
+ 	aligned accesses if !SLOW_UNALIGNED_ACCESS.
+ 	(emit_group_store): Likewise.
+ 	(emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
+ 	emit_group_load and emit_group_store calls.
+ 	* calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
+ 	BLOCK_REG_PADDING to determine whether we need endian_correction.
+ 	(load_register_parameters): Localize vars.  Handle shifting of
+ 	small values to the correct end of regs.  Adjust emit_group_load
+ 	call.
+ 	(expand_call, emit_library_call_value_1): Adjust emit_group_load
+ 	and emit_group_store calls.
+ 	* function.c (assign_parms): Set mem alignment for stack slots.
+ 	Adjust emit_group_store call.  Store values at the "wrong" end
+ 	of regs to the stack.  Use BLOCK_REG_PADDING.
+ 	(locate_and_pad_parm): Save where_pad.
+ 	(expand_function_end): Adjust emit_group_load call.
+ 	* stmt.c (expand_value_return): Adjust emit_group_load call.
+ 	* Makefile.in (calls.o): Depend on $(OPTABS_H).
+ 	* config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
+ 	(AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
+ 	(MUST_PASS_IN_STACK): Define.
+ 	(BLOCK_REG_PADDING): Define.
+ 	* config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
+ 	(PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
+ 	* config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
+ 	(function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
+ 	Act on AGGREGATES_PAD_UPWARD_ALWAYS.
+ 
+ 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
+ 
+ 	* config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
+ 
+ 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
+ 	both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
+ 
+ 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR other/11123
+ 	* toplev.c: Don't cut off option names.
+ 
+ 2003-07-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-decl.c (link_hash_hash): Avoid warning about casting pointer
+ 	to integer of different size.
+ 
+ 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
+ 	to (eq (and X 1) 0).
+ 
+ 2003-07-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config.gcc: Add pmmintrin.h for x86_64-*-*.
+ 
+ 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
+ 	(hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
+ 	list.  Move these all together down by cpplib.
+ 
+ 	* cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
+ 	definition of CPPCHAR_SIGNED_T.
+ 
+ 	* cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
+ 	* cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
+ 	* line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
+ 
+ 	* cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
+ 	* cppinit.c (cpp_create_reader): Likewise.
+ 
+ 	* cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
+ 	* cpptrad.c: Likewise.  All callers changed.
+ 	* cpplib.c: All callers changed.
+ 	* c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
+ 	* hashtable.h: Define GTY(x) to nothing here too.
+ 
+ 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (compute_record_mode): Remove very obsolete test
+ 	that forces BLKmode for records with fields crossing word boundary.
+ 
+ 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in: Remove orphan reference to acconfig.h.
+ 
+ 2003-07-13  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cgraphunit.c: Convert prototypes to ISO C90.
+ 
+ 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
+ 	(for OpenBSD).
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
+ 	i?86-*-*.  Use correct name of cache variable.
+ 	* configure: Regenerate.
+ 
+ 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c: Fix comment typos.
+ 	* config/alpha/alpha.md: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/lib1funcs.asm: Likewise.
+ 	* config/avr/avr.md: Likewise.
+ 	* config/arm/README-interworking: Fix typos.
+ 
+ 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-format.c: Fix comment formatting.
+ 	* c-typeck.c: Likewise.
+ 	* coverage.c: Likewise.
+ 	* cppcharset.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
+ 	fix.
+ 
+ 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
+ 	uses three-argument AC_DEFINE so no acconfig.h entries are
+ 	needed.
+ 	(_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
+ 	which contains the GAS version number as a scaled integer.
+ 	(gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
+ 	ability to check for ELF assembler.
+ 	(gcc_GAS_CHECK_FEATURE): New macro.
+ 	* configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
+ 	assembler feature checks using gcc_GAS_CHECK_FEATURE.
+ 	Use three-argument AC_DEFINE everywhere.
+ 	* acconfig.h: Deleted.
+ 	* config.in, configure: Regenerate.
+ 
+ 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
+ 	(on OpenBSD).
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 	* fixinc/inclhack.def (gnu_types): Improve comment.
+ 
+ 2003-07-12  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* fp-test.c (main): Use ISO C90 prototype.
+ 
+ 	* version.c: Remove unneded include of ansidecl.h.
+ 
+ 	* cgraph.h: Convert prototypes to ISO C90.
+ 	* cgraph.c: Likewise.
+ 	* fix-header.c: Likewise.
+ 	* ra.h: Likewise.
+ 	* protoize.c: Likewise.
+ 
+ 2003-07-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
+ 	warning.
+ 
+ 2003-07-12  Jan Hubicka  <jh@suse.cz>
+ 			       Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* cgraph.c (cgraph_max_uid): New global variable.
+ 	(cgraph_node): Set uid field.
+ 	(create_edge): Keep inline flags consistent.
+ 	(dump_cgraph): Dump more info.
+ 	* cgraph.h (struct cgraph_local_info): Remove inline_many and
+ 	can_inline_once; add inlinable, disgread_inline_limits, and self_insn
+ 	(struct cgraph_global_info): Add insns, calls, cloned_times,
+ 	will_be_output.
+ 	(struct cgraph_node): Add uid.
+ 	(struct cgraph_edge): Add inline_call.
+ 	(cgraph_max_uid, cgraph_inline_p): Declare.
+ 	* cgraph.c: Include params.h and fibheap.h
+ 	(cgraph_mark_functions_to_inline_once): Kill.
+ 	(INSNS_PER_CALL): New constant.
+ 	(ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
+ 	static variables.
+ 	(cgraph_finalize_function): Do not analyze inlining.
+ 	(cgraph_finalize_compilation_unit): Set inlining attributes.
+ 	(cgraph_mark_functions_to_output): More consistency checks.
+ 	(cgraph_optimize_function): Set current_function_decl to NULL.
+ 	(cgraph_expand_function): Use new inline flags.
+ 	(cgraph_postorder): Expand from cgraph_expand_functions.
+ 	(INLINED_TIMES, SET_INLINED_TIMES): New macros.
+ 	(cgraph_inlined_into, cgraph_inlined_callees,
+ 	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
+ 	cgraph_mark_inline, cgraph_check_inline_limits,
+ 	cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
+ 	cgraph_decide_inlining, cgraph_inline_p): New functions.
+ 	* params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
+ 	PARAM_INLINE_UNIT_GROWTH): New parameters.
+ 	* tree-inline.c (struct inline_data): New field current_decl.
+ 	(expand_call_inline): Avoid forward declarations; use
+ 	inlinable_function_p.
+ 	(optimize_inline_calls): Set id.current_decl.
+ 
+ 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* configure.in: Remove wrongly added definition of
+ 	local_prefix.
+ 	* configure: Regenerate.
+ 
+ 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* rtl.def (NOTE): Do not use padding.
+ 
+ 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	* doc/install.tex: Update required binutils for i?86-*-linux*
+ 
+ 2003-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
+ 
+ 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
+ 	TRANSLATION_UNIT_DECL as top_level.
+ 
+ 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
+ 	then fall back to cmpstrM.
+ 	* builtins.c (expand_builtin_memcmp): Likewise.
+ 	* config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
+ 	(s390_expand_cmpmem): ... this.
+ 	* config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
+ 	cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
+ 	from cmpstr* patterns.  Rename call to s390_expand_cmpstr
+ 	to s390_expand_cmpmem.
+ 	* config/s390/s390.c (s390_expand_cmpstr): Rename to...
+ 	(s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
+ 	to cmpmem*.
+ 	* config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
+ 	cmpstr* patterns.
+ 	* doc/md.texi (cmpstrM): Describe as String compare insn, not
+ 	Block compare insn.
+ 	(cmpmemM): Add.
+ 
+ 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/i386/freebsd.h (SET_ASM_OP): Remove.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
+ 	(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
+ 	 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
+ 
+ 2003-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (assign_parms): Don't recombine complex args if
+ 	fnargs is unchanged from orig_fnargs.
+ 	(split_complex_args): Return args without complex before copying.
+ 	Re-layout the modified parameters.
+ 
+ 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* regclass.c (choose_hard_reg_mode): Add third argument.
+ 	Changed all callers.
+ 	* rtl.h (choose_hard_reg_mode): Update declaration.
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
+ 	Take HARD_REGNO_CALL_PART_CLOBBERED into account.
+ 
+ 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-decl.c (finish_decl): Handle 'used' here...
+ 	* cgraphunit.c (cgraph_finalize_function): ... and here ...
+ 	* c-common.c: (handle_used_attribute): ... not here.
+ 
+ 	* configure.in (onstep): Support --enable-intermodule.
+ 	* Makefile.in (OBJS-common): New.
+ 	(OBJS-md): New.
+ 	(OBJS-archive): New.
+ 	(OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
+ 	(OBJS-onestep): New.
+ 	(libbackend.a): Support @onestep@.
+ 	(libbackend.o): New.
+ 	* configure: Regenerate.
+ 
+ 	* c-common.h (c_reset_state): New prototype.
+ 	(c_parse_file): New prototype.
+ 	(finish_file): Move prototype from c-tree.h.
+ 	* c-decl.c: Include <hashtab.h>.
+ 	(builtin_decls): New.
+ 	(current_file_decl): New.
+ 	(duplicate_decls): Add extra parameter. Change all callers.  Don't
+ 	output duplicate common symbols.
+ 	(link_hash_hash): New.
+ 	(link_hash_eq): New.
+ 	(poplevel): Handle popping of the top level.
+ 	(warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
+ 	(pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
+ 	(pushdecl_top_level): Likewise.
+ 	(redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
+ 	(c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
+ 	(finish_decl): Handle TRANSLATION_UNIT_DECL.
+ 	(merge_translation_unit_decls): New.
+ 	(c_write_global_declarations): New.
+ 	(c_reset_state): New.
+ 	(implicitly_declare): Handle TRANSLATION_UNIT_DECL.
+ 	* c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Handle
+ 	TRANSLATION_UNIT_DECL.
+ 	(c_objc_common_finish_file): Call merge_translation_unit_decls.
+ 	* c-opts.c (in_fnames): Rename from in_fname.
+ 	(c_common_decode_option): Handle multiple input filenames.
+ 	(c_common_post_options): Likewise.
+ 	(c_common_parse_file): Likewise; also, call c_parse_file rather than
+ 	yyparse.
+ 	* c-parse.in: Move cleanup code to c_parse_file.
+ 	(free_parser_stacks): Move contents to c_parse_file.
+ 	(c_parse_file): New.
+ 	* c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
+ 	for integer types.
+ 	(C_DECL_FILE_SCOPE): New.
+ 	(finish_file): Move prototype to c-common.h.
+ 	(merge_translation_unit_decls): New prototype.
+ 	(comptypes): Add extra parameter to prototype.
+ 	(c_write_global_declarations): New prototype.
+ 	* c-typeck.c (tagged_types_tu_compatible_p): New.
+ 	(function_types_compatible_p): Add extra parameter, change all callers.
+ 	(type_lists_compatible_p): Likewise.
+ 	(comptypes): Likewise.
+ 	(struct tagged_tu_seen): New.
+ 	(tagged_tu_seen_base): New.
+ 	(build_unary_op): Handle TRANSLATION_UNIT_DECL.
+ 	(c_mark_addressable): Remove #if 0 code.
+ 	* calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
+ 	comment explaining why it shouldn't have to.
+ 	* cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
+ 	options.
+ 	* cppinit.c (cpp_read_next_file): New.
+ 	(cpp_read_main_file): Use it.
+ 	* cpplib.c (undefine_macros): New.
+ 	(cpp_undef_all): New.
+ 	* cpplib.h (cpp_read_next_file): Prototype.
+ 	(cpp_undef_all): Prototype.
+ 	* langhooks-def.h (write_global_declarations): Remove prototype.
+ 	* toplev.h (write_global_declarations): Add prototype.
+ 	* tree.c (decl_type_context): Use switch statement, handle
+ 	TRANSLATION_UNIT_DECL.
+ 	* tree.def: Update documentation for TRANSLATION_UNIT_DECL.
+ 	(TRANSLATION_UNIT_DECL): New kind of tree.
+ 	* tree.h: Update documentation for TRANSLATION_UNIT_DECL.
+ 	* Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
+ 	* doc/invoke.texi: Make attempt to document new functionality.
+ 
+ 	2003-05-19  Per Bothner <bothner@apple.com>
+ 
+ 	* gcc.c (combine_inputs): New.
+ 	(process_command): Set combine_inputs.
+ 	(do_spec_1): Handle combine_inputs.
+ 	(main): Likewise.
+ 
+ 2003-07-10  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR optimization/9745
+ 	* loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
+ 	loop_insn_emit_before.
+ 	(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
+ 
+ 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppcharset.c: Fix comment.
+ 	(iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
+ 	(EILSEQ): #define to EINVAL if not already defined.
+ 	(convert_using_iconv): #if out when !HAVE_ICONV.
+ 	(init_iconv_desc): Handle !HAVE_ICONV here...
+ 	(cpp_init_iconv): ...not here.
+ 
+ 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* common.opt: More --help messages.
+ 	* opts.c (print_help): Use puts().
+ 	* toplev.c (f_options): Remove help text.
+ 	(display_help): Don't dump f_options.
+ 
+ 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
+ 	Move i?86-*-interix* to the don't-fix list.
+ 	* fixinc/fixinc.interix: Delete with extreme prejudice.
+ 
+ 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	PR bootstrap/10758
+ 	* doc/install.texi: Document requirements for ia64-*-hpux* target.
+ 
+ 2003-07-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
+ 
+ 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
+ 	one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
+ 	one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
+ 	convert_utf8_utf32, convert_utf16_utf8,	convert_utf32_utf8,
+ 	convert_no_conversion, convert_using_iconv): New functions.
+ 	(APPLY_CONVERSION): New macro.
+ 	(struct conversion, conversion_tab): New data structure.
+ 	(init_iconv_desc): Check conversion_tab for a custom conversion
+ 	primitive before trying to use iconv.
+ 	(convert_cset): Deleted.
+ 	(cpp_init_iconv): Use UTF- terminology, not UCS-.
+ 	(_cpp_destroy_iconv): Update to match.
+ 	(_cpp_valid_ucn): We don't need iconv to implement UCNs.
+ 	(convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
+ 	(convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
+ 	(_cpp_interpret_string_notranslate): New function, moved here
+ 	from cpplib.c.
+ 
+ 	* cpphash.h (convert_f, struct cset_converter): New types.
+ 	(struct cpp_reader): narrow_cset_desc and wide_cset_desc
+ 	are now struct cset_converter, not bare iconv_t.
+ 	Update prototypes.
+ 	* cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
+ 	all callers changed.
+ 
+ 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* Makefile.in (options.h): Depend on Makefile.  Add move-if-change
+ 	to opts.sh command line.
+ 	* opts.sh: Write to temporary files with a move-if-change at the end.
+ 
+ 2003-07-10  Denis Chertykov  <denisc@overta.ru>
+ 	    Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (gen_binary): Handle the CLOBBER rtx and
+ 	don't build a binary operation with it.
+ 
+ 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (load_kills_store, find_loads, store_killed_in_insn,
+ 	store_killed_after, store_killed_before): Keep track of the correct
+ 	dependency function to use.
+ 
+ 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
+ 	* toplev.c (do_compile): Don't try to open dump files before
+ 	lang_dependent_init initializes dump_base_name.
+ 
+ 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
+ 	Use ARRAY_SIZE.
+ 	* config/frv/frv.c (frv_expand_builtin): Likewise.
+ 	* config/sh/sh.c (sh_media_init_builtins): Likewise.
+ 
+ 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/10032
+ 	* doc/invoke.texi (C++ Dialect Options): Change documentation of
+ 	-fpermissive.
+ 
+ 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* tm.texi (RETURN_ADDR_OFFSET): Document.
+ 
+ 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h: Update documentation.
+ 	(GCOV_UNSIGNED2STRING): New.
+ 	(GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
+ 	GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
+ 	GCOV_TAG_SUMMARY_LENGTH): Adjust.
+ 	(GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
+ 	GCOV_TAG_COUNTER_NUM): New.
+ 	(GCOV_BLOCK_SIZE): Number of words.
+ 	(gcov_var): Adjust buffer type.
+ 	* gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
+ 	(gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
+ 	count, not byte count.
+ 	(gcov_open): Adjust overread init.
+ 	(gcov_allocate, gcov_write_unsigned, gcov_write_counter,
+ 	gcov_write_string, gcov_write_tag, gcov_write_length,
+ 	gcov_write_tag_length): Adjust.
+ 	(gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
+ 	(gcov_sync, gcov_seek): Adjust.
+ 	* gcov-dump.c (print_usage): Show gcc version only.
+ 	(dump_file): Use GCOV_UNSIGNED2STRING.
+ 	(tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
+ 	* gcov.c (print_version): Show gcc version only.
+ 	(read_graph_file): Use GCOV_UNSIGNED2STRING. Use
+ 	GCOV_TAG_*_NUM macros.
+ 	(read_count_file): Use GCOV_UNSIGNED2STRING. Use
+ 	GCOV_TAG_COUNTER_LENGTH.
+ 	* coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
+ 	Use GCOV_TAG_COUNTER_NUM.
+ 	* libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
+ 	(__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
+ 
+ 2003-07-10  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* gcov-dump.c (dump_file): Fix missing address operator.
+ 
+ 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR c/11449
+ 	* fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
+ 	of HOST_WIDE_INT.
+ 	(fold_single_bit_test): If sign_bit_p() fails, assume that the
+ 	bit being tested is not a sign bit.
+ 
+ 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
+ 	from ld-linux.so.2 to ld.so.1.
+ 	2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
+ 	* config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
+ 	nor -Wl,-rpath-link.
+ 	(LIB_SPEC): Add -rpath-link if !static.
+ 	2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.c (mn10300_protect_label): New
+ 	variable.
+ 	* config/mn10300/linux.h (PRINT_OPERAND,
+ 	PRINT_OPERAND_ADDRESS): Set it during their execution.
+ 	(ASM_OUTPUT_LABELREF): Output `+' before symbol name if
+ 	mn10300_protect_label is set.
+ 	* config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
+ 	-Wl,-rpath-link.
+ 	(LIB_SPEC, STARTFILE_SPEC): Define.
+ 	2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
+ 	FLOAT_BIT_ORDER_MISMATCH.
+ 	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc (am33_2.0-*-linux*): Added.
+ 	* config/mn10300/linux.h: New.
+ 	* config/mn10300/t-linux: New.
+ 
+ 2003-07-10  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* fold-const.c: Properly wrap prototypes.
+ 
+ 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
+ 	Moved from...
+ 	* config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
+ 	* config/mn10300/mn10300.h: GTY-declare it.
+ 	2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
+ 	prototype.  Use incoming RTL argument.
+ 	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.md (int_label): Move C statements...
+ 	(GOTaddr2picreg): ... here.
+ 	2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
+ 	* config/mn10300/mn10300.c (mn10300_encode_section_info):
+ 	... here.  New function.
+ 	(TARGET_ENCODE_SECTION_INFO): Define to it.
+ 	2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
+ 	pattern name.
+ 	(mn10300_loadPC): Define as insn splittable after reload.
+ 	2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
+ 	be defined in .rodata even in PIC, now that the assembler
+ 	supports that.
+ 	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
+ 	symbol take an underscore prefix.
+ 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
+ 	legitimize_pic_address): Declare.
+ 	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
+ 	the PIC register as fixed.
+ 	(EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
+ 	PIC.
+ 	(LEGITIMATE_PIC_OPERAND_P): Define.
+ 	(PIC_OFFSET_TABLE_REGNUM): Define.
+ 	(GOT_SYMBOL_NAME): Define.
+ 	(SYMBOLIC_CONST_P): Define.
+ 	(ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
+ 	symbols.
+ 	(MN10300_GLOBAL_P): Test it.
+ 	(OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
+ 	* config/mn10300/mn10300.c (print_operand): Handle unspec.
+ 	(expand_prologue): Set PIC register.
+ 	(call_address_operand): Don't match SYMBOL_REFs in PIC.
+ 	(legitimize_address): Call legitimize_pic_address.
+ 	(legitimize_pic_address): New fn.
+ 	(legitimate_pic_operand_p): New fn.
+ 	* config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
+ 	(UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
+ 	UNSPEC_PLT): New constants.
+ 	(pop_pic_reg): New insn.
+ 	(movsi): Adjust non-PIC addresses.
+ 	(builtin_setjmp_receiver): Restore the PIC register.
+ 	(casesi): New insn.
+ 	(call): Adjust non-PIC addresses.
+ 	(int_label, GOTaddr2picreg): New expands.
+ 	(am33_loadPC): New insn.
+ 	(mn10300_loadPC): New expand.
+ 	(call_next_insn): New insn.
+ 	(add_GOT_to_pic_reg): New expand.
+ 	(symGOT2reg, symGOT2reg_i): New expands.
+ 	(symGOTOFF2reg, symGOTOFF2reg_i): New expands.
+ 	(sym2PIC, sym2PLT): New expands.
+ 
+ 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.h (PREDICATE_CODES): Define.
+ 	2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
+ 	to flag_unsafe_math_optimizations.
+ 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.c (expand_prologue): Mark
+ 	FP-register-saving insns as frame-related.
+ 	2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.c
+ 	(mn10300_get_live_callee_saved_regs): Don't search past
+ 	LAST_EXTENDED_REGNUM.
+ 	(mn10300_gen_multiple_store, store_multiple_operation): Likewise.
+ 	* config/mn10300/mn10300.md: Remove excessive line breaks from
+ 	`@' output patterns that were accounted as additional
+ 	alternatives.
+ 	* config/mn10300/mn10300.md, config/mn10300/mn10300.c:
+ 	Re-introduce changes accidentally removed in Richard Sandiford's
+ 	2000-12-05's patch.
+ 	* config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
+ 	Re-instate am33-2 lost in merge from net GCC.
+ 	2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
+ 	floating-point registers.
+ 	2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/mn10300/mn10300.md (movdf): Revert some am33-specific
+ 	pessimizations that had gone in on 2000-05-08.
+ 	2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
+ 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
+ 	2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
+ 	* config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
+ 	operand 0.
+ 	* (movhi): Likewise.
+ 	* (movsi): Likewise.
+ 	* (movsf): Likewise.
+ 	* (movdi): Likewise.
+ 	* (movdf): Likewise.
+ 	2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.c (fp_regs_to_save): New function.
+ 	(can_use_return_insn, initial_offset): Add fp_regs_to_save.
+ 	(expand_prologue, expand_epilogue): Save and restore FP regs.
+ 	2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
+ 	2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
+ 	subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
+ 	Do not clobber cc0.
+ 	2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
+ 	Discourage the two-argument, longer opcodes.
+ 	(addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
+ 	ones.
+ 	* config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
+ 	(CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
+ 	* config/mn10300/mn10300.md (cmpsf): New pattern.
+ 	(branch): Test mdep.fpCC and output fbCC.
+ 	* config/mn10300/mn10300.c (print_operand): Output conditions.
+ 	(notice_cc_update): Recognize fcmp and set mdep.fpCC.
+ 	2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
+ 	mulsf3, divsf3): Use the `F' constraint for FP values.
+ 	* config/mn10300/mn10300.c (const_1f_operand): New function.
+ 	* config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
+ 	* config/mn10300/mn10300.md (sqrtsf2): New expand.
+ 	(rsqrtsf2): New insn.
+ 	2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (movdf): Oops, I missed it in my
+ 	previous check-in.
+ 	2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.md (abssf2, negdf2): On
+ 	TARGET_AM33_2, expand to...
+ 	(abssf2_am33_2, negdf2_am33_2): New insns.
+ 	(addsf3, subsf3, mulsf3, divsf3): Likewise.
+ 	(fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
+ 	* config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
+ 	movdi, movdf): Added FP regs.
+ 	* invoke.texi (-mam33-2, -mno-am33-2): Document.
+ 	2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
+ 	New macros.
+ 	(REGNO_AM33_2_FP_P): Renamed to...
+ 	(REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
+ 	(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
+ 	2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
+ 	regs from GENERAL_REGS.
+ 	2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
+ 	* config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
+ 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
+ 	2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
+ 	as FP_REGS.
+ 	2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
+ 	* config/mn10300/mn10300.h (OK_FOR_Q): New macro.
+ 	(EXTRA_CONSTRAINT): Added OK_FOR_Q.
+ 	* config/mn10300/mn10300.c (secondary_reload_class): Adjust.
+ 	* config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
+ 	* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
+ 	AM33/2.0 floating-point registers.
+ 	(CONDITIONAL_REGISTER_USAGE): Adjust.
+ 	(enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
+ 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
+ 	(REG_CLASS_FROM_LETTER): Added `f' and `A'.
+ 	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
+ 	* config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
+ 	(MULTILIB_DIRNAMES): Likewise.
+ 	* config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
+ 	`__AM33_2__' when `-mam33-2' is given.
+ 	(TARGET_AM33_2): Define.
+ 	(TARGET_SWITCHES): Adjust.
+ 	* config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
+ 	when appropriate.
+ 
+ 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi: Add missing @.
+ 
+ 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
+ 
+ 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR/11144
+ 	* config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
+ 
+ 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR bootstrap/11043
+ 	* config/arc/t-arc: Replace bogus references to "x-crtinit.o",
+ 	"x-crtfini.o" with "crtinit.o", "crtfini.o".
+ 
+ 	* fixinc/inclhack.def (limits_ifndefs): Add select test.
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 	* fixinc/inclhack.def (math_exception):  Improve bypass and comment.
+ 	* fixinc/fixincl.x: Rebuild.
+ 
+ 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/install.texi (Configuration): Document the valgrind option
+ 	to --enable-checking.
+ 
+ 2003-07-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
+ 
+ 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* c-lex.c (cb_ident): Cast cstr.text to const char *.
+ 
+ 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h: Update documentation.
+ 	(GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
+ 	GCOV_NOTE_MAGIC.
+ 	(GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
+ 	(GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
+ 	(struct gcov_var): Change buffer's type. Add endian flag.
+ 	(gcov_open): Remove mode in libgcov.
+ 	(gcov_magic): Prototype.
+ 	* gcov-io.c (from_file): New.
+ 	(gcov_open): Clear endian flag.
+ 	(gcov_magic): New.
+ 	(gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
+ 	pointers.
+ 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string,
+ 	gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
+ 	(gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
+ 	* gcov-iov.c (main): Correct cast.
+ 	* coverage.c (read_counts_file): Use gcov_magic. Remove endianness
+ 	conversion.
+ 	(gcov_begin_output): Use GCOV_NOTE_MAGIC.
+ 	(coverage_init): Use GCOV_NOTE_SUFFIX.
+ 	* libgcov.c (gcov_version_mismatch): Remove endianness conversion.
+ 	Rename to gcov_version, and return flag.
+ 	(gcov_exit): Use gcov_version.
+ 	(__gcov_init): Use gcov_version.
+ 	* Makefile.in (coverageexts): Update.
+ 	* gcov.c (print_version): Remove endianness conversion.
+ 	(create_file_names): Use GCOV_NOTE_SUFFIX.
+ 	(read_graph_file): Use gcov_magic.
+ 	(read_count_file): Likewise.
+ 	* gcov-dump.c (dump_file): Remove endianness conversion, use
+ 	gcov_magic.
+ 
+ 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
+ 	coverage is on.
+ 	* configure: Regenerated.
+ 	* Makefile.in (ALL_CFLAGS): Correct its comment.
+ 
+ 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* fold-const.c (make_range): Do not access operand 1 for a
+ 	zero-operand operator.
+ 
+ 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* toplev.c (warn_dummy, W_options): Die.
+ 	(display_help): Don't print W_options.
+ 	* common.opt: Add W_options help from toplev.c.
+ 
+ 2003-07-09  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* opts.c (wrap_help): Only pass int arguments as arguments to
+ 	printf's '*' modifier.  Change argument of function.
+ 
+ 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/invoke.texi: Fix misspelling of "@item".
+ 
+ 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.md: Remove an old comment about
+ 	NOTICE_UPDATE_CC.
+ 
+ 2003-07-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_node_name): New function.
+ 	(dump_cgraph): Use it.
+ 	* cgraph.h (cgraph_dump_file): Declare.
+ 	(cgraph_node_name): Declare.
+ 	* cgraphunit.c: Include timevar.h
+ 	(cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
+ 	(cgraph_optimize_function): Use TV_INTEGRATION.
+ 	(cgraph_mark_local_functions): reorganize dumps.
+ 	(cgraph_mark_functions_to_inline_once): Likewise.
+ 	(cgraph_optimize): Likewise; use timevar.
+ 	* timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
+ 	* toplev.c (dump_file_index): Add DFI_cgraph.
+ 	(dump_file_info): Likewise.
+ 	(cgraph_dump_file): New global variable.
+ 	(do_compile): Open and close cgraph dump.
+ 	* invoke.texi (-d): Document new flag; renumber.
+ 
+ 2003-07-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/11370
+ 	* calls.c (emit_call_1): Don't bother popping the arguments off of
+ 	the stack after a noreturn function call;  The adjustment is dead.
+ 	(expand_call): Likewise.
+ 
+ 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* expr.c (MOVE_MAX_PIECES): Move from here...
+ 	* defaults.h (MOVE_MAX_PIECES): ... to here.
+ 
+ 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* Makefile.in (stage1-start): Handle an empty SUBDIRS.
+ 
+ 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (internal_dfa_insn_code): Don't prototype.
+ 	* genattrtab.c (attr_desc): Add `static_p' field.
+ 	(expand_units): Make blockage range and ready cost functions
+ 	static.
+ 	(write_attr_get): Don't add extern prototypes in C file.  Mark
+ 	static functions as appropriate.
+ 	(find_attr, make_internal_attr): Initialize static_p.
+ 	* genattrtab.h (ATTR_STATIC): New macro.
+ 	* genautomata.c (output_internal_reset_func): Mark output function
+ 	as inline.
+ 	(make_internal_dfa_insn_code_attr): Mark output function as static.
+ 
+ 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattrtab.h: Add new macros for attr `special' flags.
+ 	* genattrtab.c (attr_desc): Reorder/resize fields better.
+ 	Use attr `special' macros in all calls to make_internal_attr.
+ 	* genautomata.c: Likewise.
+ 
+ 2003-07-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-common.c (c_estimate_num_insns_1): New static function.
+ 	(c_estimate_num_insns): New global function.
+ 	* c-common.h (DECL_NUM_STMTS): Rename to...
+ 	(DECL_ESTIMATED_INSNS): ... this.
+ 	(c_estimate_num_insns): Declare.
+ 	* c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
+ 	* c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
+ 	* c-semantics.c (add_stmt): Do not account statements.
+ 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
+ 	New.
+ 	* langhooks.h (lang_hooks_for_tree_inlining): Add
+ 	estimate_num_insns
+ 	* params.def (max-inline-insns-auto, max-inline-insns-auto): set
+ 	to 100.
+ 	(max-inline-insns): set to 300.
+ 	(min-inline-insns): set to 10.
+ 	* tree-inline.c (struct inline_data): Rename inlined_stmts to
+ 	inlined-insns.
+ 	(INSNS_PER_STMT): Kill.
+ 	(inlinable_function_p): Compute and store body size.
+ 	(expand_call_inline): Likewise.
+ 	(optimize_inline_calls): Likewise.
+ 
+ 2003-07-08  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR target/10021
+ 	* emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
+ 	loop over new variable t2 instead of t.
+ 
+ 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR bootstrap/11455
+ 	* config/i386/winnt.c: Replace use of error(), warning() with
+ 	error_with_decl(), warning_with_decl(),  throughout.
+ 
+ 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.c (wrap_help): Use unsigned int, not size_t.
+ 
+ 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
+ 	as .file/.loc directives are incompatible with linker relaxation.
+ 
+ 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
+ 	* fixinc/Makefile.in: Remove all references to gnu-regex.[och].
+ 	* fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
+ 	* fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
+ 	* fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
+ 	* fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
+ 	Escape { and } characters which are not part of range expressions.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
+ 
+ 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	PR c/1687
+ 	* tree-inline.c (find_alloca_call): Use
+ 	walk_tree_without_duplicates, instead of walk_tree.
+ 	(find_builtin_longjmp_call): Likewise.
+ 	* c-objc-common.c (c_cannot_inline_fn): Likewise.
+ 	* c-semantics.c (find_reachable_label): Likewise.
+ 
+ 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/11420
+ 	* config/i386/i386.c (ix86_check_movabs): New function.
+ 	* config/i386/i386-protos.h (ix86_check_movabs): New prototype.
+ 	* config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
+ 	(movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
+ 
+ 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* Makefile.in (install-po): Cope with empty CATALOGS.
+ 
+ 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
+ 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
+ 	(SECTION_FUNCTION_TEMPLATE): Delete.
+ 	* config/mips/elf.h: As for elf64.h.
+ 	(ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
+ 	* config/mips/linux.h: As for elf.h
+ 	* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
+ 	* config/mips/iris6.h (EXTRA_SECTIONS): Delete.
+ 	(EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
+ 	of in_sdata from current_section_name and current_section_flags.
+ 	* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
+ 	* config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
+ 	(MASK_GP_OPT, TARGET_GP_OPT): Delete.
+ 	(MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
+ 	(TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
+ 	(SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+ 	* config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
+ 	(TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
+ 	(mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
+ 	(override_options): Remove setting of MASK_GPOPT.
+ 	(mips_output_external): Use mips_in_small_data_p to check whether a
+ 	symbol needs an .extern directive.  Don't emit such directives for
+ 	TARGET_EXPLICIT_RELOCS.
+ 	(mips_declare_object): Update accordingly.
+ 	(mips_select_rtx_section): Call named_section rather than
+ 	SMALL_DATA_SECTION.
+ 	(mips_select_section): Use default_elf_section_section for everything
+ 	except .text string constants.
+ 	(mips_in_small_data_p): New function.
+ 	(mips_encode_section_info): Remove small data handling.
+ 	(mips_unique_section): Delete.
+ 	(iris6_section_type_flags): New function.
+ 	* doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
+ 
+ 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR Target/11453
+ 	* pa.md: Disparage all mtsar constraints.
+ 	(extzv, extv, insv): Don't fail on length of {32|64}.
+ 
+ 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* system.h: Poison MAP_CHARACTER.
+ 	* config/i370/i370-protos.h (mvs_map_char): Delete.
+ 	* config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
+ 	* config/i370/i370.h (MAP_CHARACTER): Delete definition.
+ 	(ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
+ 
+ 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* toplev.c (randomize): Correct call to time().
+ 
+ 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
+ 	REG_EQUIV notes as well.
+ 
+ 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/md.texi: Fix the description of addmodecc.
+ 
+ 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (top_builddir): Set to "..", not ".".
+ 	(INTLLIBS, INTLDEPS): Delete.
+ 	(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
+ 	(LIBDEPS): Add $(LIBICONV_DEP).
+ 	(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
+ 	(INCLUDES): Replace -I../intl with @INCINTL@.
+ 	($(top_builddir)/intl/libintl.a): Delete rule.
+ 	(stage2-start, stage3-start, stage4-start, stageprofile-start,
+ 	stagefeedback-start): Use $$ for variable to be evaluated by
+ 	shell, not make.
+ 	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
+ 	HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
+ 	* aclocal.m4: sinclude ../config/progtest.m4.  Add
+ 	contents of lcmessage.m4 from gettext distro.
+ 	* configure.in: Check for wchar.h and setlocale.  Set
+ 	LIBICONV_DEP to the empty string and substitute it.
+ 	Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
+ 	this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
+ 	not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
+ 	in $LIBINTL, to avoid linking it twice.
+ 	* configure, config.in: Regenerate.
+ 
+ 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/mkfixinc.sh: Remove winnt support.
+ 	* fixinc/fixinc.winnt: Delete with extreme prejudice.
+ 
+ 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-opts.c (c_common_handle_option): opt_text now contains the '-'.
+ 	* c.opt: Update documentation.
+ 	* common.opt: Add some help text.
+ 	* opts.c: Include intl.h.
+ 	(wrap_help, print_help): New.
+ 	(find_opt, handle_option, common_handle_option): opt_text now
+ 	contains the '-'.  Use print_help to output help.
+ 	* opts.h (struct cl_option): New member "help".
+ 	* opts.sh: Update to handle help text output and to prepend
+ 	options with '-'.
+ 	* toplev.c (display_help): Remove some help text.
+ 
+ 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
+ 	    Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* configure.in: Test for PowerPC mfcr field support in assembler.
+ 	* config.in, configure: Regenderated.
+ 
+ 	* config/rs6000/power4.md: Add mfcrf reservation.
+ 	* config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
+ 	* config/rs6000/rs6000.c (mfcr_operation): Define.
+ 	(print_operand): Add 'Q' case for mfcrf.
+ 	* config/rs6000/rs6000.h (TARGET_MFCRF): New.
+ 	* config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
+ 	(movcc_internal1): Emit optional field operand for mfcr and set
+ 	"type" attribute appropriately.
+ 	(mfcr SCC): Likewise.
+ 	(movesi_from_cr_one): New.
+ 
+ 2003-07-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md: Correct check-in of incorrect version.
+ 
+ 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
+ 	adjacent stdio calls.
+ 	* c-decl.c (c_print_identifier): Likewise.
+ 	* mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* print-tree.c (print_node_brief, print_node): Likewise.
+ 	* system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
+ 
+ 	* configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
+ 	* config.in, configure: Regenerated.
+ 
+ 2003-07-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/10979
+ 	* config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
+ 	Changed to define_expand patterns that copy operand[1] to prevent
+ 	it from being clobbered before emitting an atan2?f3_1 insn.
+ 	(atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
+ 	patterns that actually specify the behaviour of x87's FPATAN.
+ 
+ 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
+ 	clearing of SYMBOL_FLAG_LOCAL bit.
+ 	If vcall_offset fits into signed 16-bit immediate, use
+ 	one instruction for both addition and load.
+ 
+ 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.c (common_handle_option): Correct handling of the
+ 	-falign- switches that do and don't take an argument.
+ 
+ 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
+ 	today.
+ 	(pushhi1_h8300hs): Likewise.
+ 
+ 2003-07-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* genextract.c: Convert remaining prototypes to ISO C90.
+ 
+ 	* cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
+ 	* fold-const.c (fold_single_bit_test): Likewise.
+ 	* diagnostic.c (default_diagnostic_finalizer): Likewise.
+ 	* cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
+ 
+ 	* gengtype.c (write_array): Generate ISO C90 prototypes.
+ 
+ 	* genflags.c (gen_proto): Generate ISO C90 prototypes.
+ 
+ 2003-07-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/11059
+ 	* expr.c (can_store_by_pieces): Return true if length is zero.
+ 	(store_by_pieces): If length is zero and endp is two, abort,
+ 	othwerise, if length is zero and endp is not two, return "to".
+ 	(clear_by_pieces): Do nothing if length is zero.
+ 	(clear_storage): Do nothing if length is zero.
+ 	(store_constructor): Simplify code when size is zero, or the
+ 	target has already been cleared.  This avoids emitting a
+ 	blockage instruction when initializing empty structures.
+ 
+ 2003-07-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* mips-tfile.c: Convert prototypes to ISO C90.
+ 	* mips-tdump.c: Convert prototypes to ISO C90.
+ 
+ 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* rtl.h (emit_line_note): Take a location_t.
+ 	(emit_line_note_force): Remove.
+ 	(set_file_and_line_for_statement): Take a location_t.
+ 	* tree.g (emit_line_note): Take a location_t.
+ 	* emit-rtl.c (emit_line_note): Take a location_t.
+ 	(emit_line_note_force): Remove.
+ 	* function.c (init_function_start): Adjust emit_line_note call.
+ 	(expand_function_end): Use force_next_line_note, not
+ 	emit_line_note_force.
+ 	* c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
+ 	* c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
+ 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
+ 	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
+ 	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
+ 	genrtl_continue_stmt, genrtl_switch_stmt,
+ 	genrtl_asm_stmt): Likewise.
+ 	* expr.c (expand_expr): Likewise.
+ 	* integrate.c (expand_inline_function): Likewise.
+ 	* stmt.c (set_file_and_line_for_stmt): Take a location_t.
+ 	(expand_decl_init): Adjust emit_line_note call.
+ 
+ 2003-07-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
+ 
+ 2003-07-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386-protos.h: Convert prototypes to ISO C90.
+ 	* config/i386/i386.c: Likewise.
+ 
+ 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Use gen_int_mode instead of
+ 	GEN_INT (trunc_int_for_mode (...)).
+ 
+ 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
+ 	2 bytes and then subtract 2 from the stack pointer.
+ 	(pushhi1_h8300hs): Likewise.
+ 
+ 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
+ 	-frandom-seed.
+ 	* configure: Regenerated.
+ 	* Makefile.in: Remove extraneous comment.
+ 	* toplev.c (randomize): Protect against potential multiple calls.
+ 	* doc/invoke.texi (-frandom-seed): Document use for in coverage
+ 	files.
+ 
+ 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11198
+ 	* alias.c (objects_must_conflict_p): Return 1 if the types have
+ 	the same alias set, not if the alias sets only conflict.
+ 
+ 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
+ 	(convert_cset): Change inbuf to type ICONV_CONST char.
+ 	* Makefile.in (LIBS): Add LIBICONV.
+ 
+ 	* doc/invoke.texi (-falign-functions): Document that
+ 	when n is zero then a machine-dependent default is used.
+ 	(-falign-labels): Document that when n is zero then a
+ 	machine-dependent default is used and that -falign-labels =1
+ 	is equivalent to -fno-align-labels.
+ 	(-falign-loops): Likewise.
+ 	(-falign-jumps): Likewise.
+ 
+ 2003-07-06  Art Haas  <ahaas@airmail.net>
+ 
+ 	* f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
+ 	initializer syntax.
+ 
+ 2003-07-06  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR optimization/9812
+ 	* rtl.h (mem_for_const_double): Delete prototype.
+ 	* varasm.c (mem_for_const_double): Delete function.
+ 	* config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
+ 	config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
+ 	(LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
+ 	* config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
+ 	(LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
+ 	* config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
+ 	comment about confused support for XFmode constants.
+ 
+ 2003-07-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
+ 
+ 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Fix comment typos.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/i386/athlon.md: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/pentium.md: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/itanium1.md: Likewise.
+ 	* config/ia64/itanium2.md: Likewise.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/m68hc11/m68hc11.c: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mips/sr71k.md: Likewise.
+ 	* config/mips/t-iris5-as: Likewise.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/ns32k/NOTES: Fix a typo.
+ 
+ 2003-07-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* stmt.c: Convert remaining prototypes to ISO C90.
+ 	* cfglayout.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* genemit.c: Likewise.
+ 
+ 	* basic-block.h: Convert prototypes to ISO C90.
+ 	* c-parse.in: Likewise.
+ 	* c-pragma.h: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* cfghooks.h: Likewise.
+ 	* cfgloopanal.c: Likewise.
+ 	* dbxout.h: Likewise.
+ 	* debug.h: Likewise.
+ 	* dwarf2asm.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gengtype-lex.l: Likewise.
+ 	* sched-int.h: Likewise.
+ 	* timevar.c: Likewise.
+ 
+ 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.h (c_comon_handle_filename,
+ 	c_common_missing_arguement): New.
+ 	* c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
+ 	LANG_HOOKS_MISSING_ARGUMENT): New.
+ 	* c-opts.c (missing_arg): Rename c_common_missing_argument,
+ 	update to be an appropriate langhook.
+ 	(c_common_handle_option): Don't handle filenames.
+ 	(c_common_handle_filename): New.
+ 	* hooks.c (hook_void_constcharptr,
+ 	hook_bool_constcharptr_size_t_false): New.
+ 	* hooks.h (hook_void_constcharptr,
+ 	hook_bool_constcharptr_size_t_false): New.
+ 	* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
+ 	LANG_HOOKS_MISSING_ARGUMENT): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (struct lang_hooks): Add handle_filename and
+ 	missing_argument.
+ 	* opts.c (handle_option): Don't handle filenames here, but ...
+ 	(handle_options): ... here.
+ 	(common_handle_option): Don't handle missing arguments here.
+ 	* objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
+ 	LANG_HOOKS_MISSING_ARGUMENT): New.
+ 
+ 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makfile.in: Remove traces of mbchar.
+ 	* c-parse.in (MULTIBYTE_CHARS): Remove.
+ 	* config.in (MULTIBYTE_CHARS): Remove.
+ 	* configure: Remove --enable-mbchar.
+ 	* configure.in: Remove --enable-mbchar.
+ 	* mbchar.c, mbchar.h: Remove.
+ 	* system.h: Poison MULTIBYTE_CHARS.
+ 	* config/linux-aout.h (MULTIBYTE_CHARS): Remove.
+ 	* config/linux.h (MULTIBYTE_CHARS): Remove.
+ 	* config/svr4.h (MULTIBYTE_CHARS): Remove.
+ 	* config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
+ 
+ 2003-07-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* varray.c (varray_check_failed): Fix typo.
+ 
+ 	* unroll.c: Convert prototypes to ISO C90.
+ 	* varasm.c: Likewise.
+ 	* varray.c: Likewise.
+ 	* varray.h: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 	* xcoffout.c: Likewise.
+ 	* xcoffout.h: Likewise.
+ 
+ 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h: Add a local time stamp.
+ 	(struct gcov_info): Add stamp field.
+ 	(gcov_truncate): New.
+ 	* coverage.c (read_counts_file): Skip the stamp.
+ 	(coverage_begin_output): Write the stamp.
+ 	(build_gcov_info): Declare and init the stamp.
+ 	(coverage_finish): Only unlink data file, if stamp is zero.
+ 	* gcov-dump.c (dump_file): Dump the stamp.
+ 	* gcov.c (bbg_stamp): New.
+ 	(release_structures): Clear bbg_stamp.
+ 	(read_graph_file): Read stamp.
+ 	(read_count_file): Check stamp.
+ 	* libgcov.c (gcov_exit): Check stamp and truncate if needed.
+ 
+ 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (default_flag_random_seed): Remove.
+ 	* toplev.h (local_tick): Declare.
+ 	* tree.c (flag_random_seed, default_flag_random_seed): Move to
+ 	toplev.c.
+ 	(append_random_chars): Don't call default_flag_random_seed.
+ 	* toplev.c (flag_random_seed): Define here. Set local_tick.
+ 	(local_tick): Define.
+ 	(randomize): New, moved from tree.c.
+ 	(print_switch_values): Adjust.
+ 	(toplev_main): Call randomize.
+ 
+ 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (crc32_string): Declare.
+ 	* tree.c (append_random_chars): Remove.
+ 	(crc32_string): New.
+ 	(get_file_function_name_long): Use crc32_string here.
+ 
+ 2003-07-06  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcc.c: Convert prototypes to ISO C90.
+ 	* gcc.h: Likewise.
+ 	* gcov-dump.c: Likewise.
+ 	* gcov-iov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattrtab.h: Likewise.
+ 	* ggc.h: Likewise.
+ 	* global.c: Likewise.
+ 	* graph.c: Likewise.
+ 	* graph.h: Likewise.
+ 	* hosthooks.h: Likewise.
+ 	* hooks.h: Likewise.
+ 	* hooks.c: Likewise.
+ 	* hashtable.h: Likewise.
+ 	* hashtable.c: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* integrate.h: Likewise.
+ 	* integrate.c: Likewise.
+ 	* input.h: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* langhooks-def.h: Likewise.  Add extern to prototypes.
+ 	* langhooks.c: Likewise.
+ 	* langhooks.h: Likewise.
+ 	* lcm.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop-init.c: Likewise.
+ 	* loop-unroll.c: Likewise.
+ 	* loop-unswitch.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* loop.h: Likewise. Add extern to prototypes.
+ 	* machmode.h: Likewise.
+ 	* main.c: Likewise.
+ 	* mbchar.c: Likewise.
+ 	* mbchar.h: Likewise.
+ 	* mkdeps.c: Likewise.
+ 	* mkdeps.h: Likewise.
+ 	* optabs.c: Likewise.
+ 	* optabs.h: Likewise.
+ 	* output.h: Likewise.
+ 	* gccspec.c: Likwise.
+ 	* postreload.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* prefix.h: Likewise.
+ 	* print-rtl.c: Likewise.
+ 	* print-tree.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* read-rtl.c: Likewise.
+ 	* real.c: Likewise.
+ 	* real.h: Likewise.
+ 	* recog.c: Likewise.
+ 	* recog.h: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* regrename.c: Likewise.
+ 	* regs.h: Likewise.
+ 	* reload.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* reload1.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* resource.c: Likewise.
+ 	* resource.h: Likewise.
+ 	* rtl-error.c: Likewise.
+ 	* rtl.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* sbitmap.c: Likewise.
+ 	* sbitmap.h: Likewise.
+ 	* scan-decls.c: Likewise.
+ 	* scan.c: Likewise.
+ 	* sched-deps.c: Likewise.
+ 	* sched-ebb.c: Likewise.
+ 	* sched-int.h: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* sched-vis.c: Likewise.
+ 	* sibcall.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* sreal.c: Likewise.
+ 	* sreal.h: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* ssa-dce.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* ssa.h: Likewise.
+ 	* stack.h: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* stringpool.c: Likewise.
+ 	* target.h: Likewise.
+ 	* timevar.c: Likewise.
+ 	* timevar.h: Likewise.
+ 	* tlink.c: Likewise.
+ 	* tracer.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* tree-inline.h: Likewise.
+ 	* tree.c: Likewise.
+ 	* tree.h: Likewise.
+ 
+ 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (nonzero_bits1): Fix a warning.
+ 
+ 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_mov_length): Correct the
+ 	length of loading CONST0_RTX (SFmode).
+ 
+ 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* toplev.c (output_clean_symbol_name): Remove.
+ 	* toplev.h (output_clean_symbol_name): Remove.
+ 	* config/alpha/alpha.c (unicosmk_output_module_name): Use
+ 	lbasename & clean_symbol_name.
+ 
+ 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ggc.h: Follow spelling conventions.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 
+ 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bt-load.c: Fix comment typos.
+ 	* c-incpath.c: Likewise.
+ 	* cfg.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfgloop.h: Likewise.
+ 	* cfgloopmanip.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* et-forest.c: Likewise.
+ 	* et-forest.h: Likewise.
+ 	* expr.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattr.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* langhooks.h: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop-unroll.c: Likewise.
+ 	* loop-unswitch.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* regclass.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* rtl.def: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* sched-ebb.c: Likewise.
+ 	* sched-rgn.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* tracer.c: Likewise.
+ 	* tree.c: Likewise.
+ 
+ 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cppcharset.c: Use the correct return type for the fallback iconv
+ 	macro.
+ 
+ 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	Blame to Jan Hubicka  <jh@suse.cz>
+ 	* cfglayout.c (record_effective_endpoints): Split insns before
+ 	first basic block correctly.
+ 
+ 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
+ 	bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
+ 	if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
+ 
+ 2003-07-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* genattrtab.c (write_attr_get): Revert part of last patch to
+ 	always write out a prototype.
+ 
+ 	* genemit.c (gen_split): Readd lost unused attributes in last
+ 	patch.
+ 
+ 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopmanip.c (force_single_succ_latches): Force latch to be
+ 	different from header.
+ 
+ 2003-07-05  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c: Remove code protected by CRDS.
+ 	* config/m68k/m68k.md: Likewise.
+ 
+ 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR driver/11417
+ 	* c-opts.c (permit_fortran_options): New.
+ 	(c_common_init_options): Accept fortran front end options if
+ 	it looks like we might be preprocessing Fortran.
+ 	(c_common_handle_option): Don't reject switch if permit_fotran_options.
+ 
+ 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (internal_dfa_insn_code): Output prototype.
+ 	* genattrtab.c: Don't output unnecessary decls, output in ISO C.
+ 	* genautomata.c: Likewise.
+ 	* genconditions.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* genpeep.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 
+ 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
+ 	(struct cpp_options): Add narrow_charset, wide_charset,
+ 	bytes_big_endian fields.  Remove EBCDIC field.
+ 	(cpp_init_iconv, cpp_interpret_string): New external interfaces.
+ 
+ 	* cpphash.h: Include <iconv.h> if we have it, otherwise
+ 	provide a dummy definition of iconv_t.
+ 	(struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
+ 	(_cpp_valid_ucn): Update prototype.
+ 	(_cpp_destroy_iconv): New prototype.
+ 
+ 	* doc/cpp.texi: Document character set handling.
+ 	* doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
+ 	* doc/extend.texi: Delete entire section on multiline strings.
+ 	Rewrite section on __FUNCTION__ etc now that these are
+ 	variables in C.
+ 
+ 	* cppucnid.tab, cppucnid.pl: New files.
+ 	* cppucnid.h: New generated file.
+ 	* cppcharset.c: Include cppucnid.h.  Lots of commentary added.
+ 	(iconv_open, iconv, iconv_close): Provide dummy definitions
+ 	if !HAVE_ICONV.
+ 	(SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
+ 	_cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
+ 	emit_numeric_escape, convert_hex, convert_oct, convert_escape,
+ 	cpp_interpret_string, narrow_str_to_charconst,
+ 	wide_str_to_charconst): New.
+ 	(ucn_valid_in_identifier): Use a binary search through the
+ 	ucnranges table defined in cppucnid.h, not a long chain of if
+ 	statements.
+ 	(_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
+ 	character names are only valid in C++ and C99" to a warning.
+ 	Issue the "meaning of \[uU] is different in traditional C"
+ 	warning here.  Take care not to let iconv see an invalid UCS
+ 	value if we get a malformed UCN.  Issue an error if we don't
+ 	have iconv.
+ 	(cpp_interpret_charconst): Moved here from cpplex.c.  Use
+ 	cpp_interpret_string to do the heavy lifting.
+ 
+ 	* cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
+ 	narrow_charset, wide_charset fields of options structure.
+ 	(cpp_destroy): Call _cpp_destroy_iconv.
+ 	* cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
+ 	(maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
+ 	(cpp_interpret_charconst): Moved to cppcharset.c.
+ 	* cpplib.c (dequote_string): Delete.
+ 	(interpret_string_notranslate): New.
+ 	(do_line, do_linemarker): Use interpret_string_notranslate.
+ 
+ 	* Makefile.in (cppcharset.o): Depend on cppucnid.h.
+ 
+ 	* c-common.c (fname_string, combine_strings): Delete.
+ 	* c-common.h (fname_string, combine_strings): Delete prototypes.
+ 	* c-lex.c (ignore_escape_flag): Delete.
+ 	(cb_ident): Use cpp_interpret_string, not lex_string.
+ 	(get_nonpadding_token): New function.
+ 	(c_lex): Handle Objective-C @-prefixed identifiers and strings here.
+ 	Adjust calls to lex_string.  Don't write *value twice.
+ 	(lex_string): Now handles string constant concatenation.
+ 	Most of the work handed off to cpp_interpret_string.
+ 	Call fix_string_type here.
+ 	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
+ 	FUNC_NAME, throughout.
+ 	(OBJC_STRING): New token type.
+ 	(primary:STRING): No need to call fix_string_type here.
+ 	(primary:objc_string): Make that OBJC_STRING.
+ 	(objc_string nonterminal): Delete.
+ 	(yylexname): Delete code to handle fake string constants.
+ 	(yylexstring): Delete entirely.
+ 	(_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
+ 	to handle CPP_ATSIGN.
+ 
+ 	* c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
+ 	* c-opts.c (missing_arg, c_common_handle_option): Handle
+ 	OPT_fexec_charset_ and OPT_fwide_exec_charset_.
+ 	(c_common_init): Set cpp_opts->bytes_big_endian, not
+ 	cpp_opts->EBCDIC.  Call cpp_init_iconv.
+ 	(print_help): Document -fexec-charset= and -fexec-wide-charset=.
+ 	(TARGET_EBCDIC): Delete default definition.
+ 
+ 	* objc/objc-act.c (build_objc_string_object): No need to
+ 	handle string constant concatenation.
+ 
+ 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/install.texi: Fix typos.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/pa/fptr.c: Fix comment typos.
+ 	* config/pa/pa-64.h: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/rs6000/603.md: Likewise.
+ 	* config/rs6000/7xx.md: Likewise.
+ 	* config/rs6000/darwin.h: Likewise.
+ 	* config/rs6000/freebsd.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/rs6000/spe.h: Likewise.
+ 
+ 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/2064.md: Change GNU CC to GCC.
+ 	* config/s390/2084.md: Likewise.
+ 	* config/s390/fixdfdi.h: Likewise.
+ 	* config/s390/linux.h: Likewise.
+ 	* config/s390/s390-modes.def: Likewise.
+ 	* config/s390/s390-protos.h: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/s390/s390.h: Likewise.
+ 	* config/s390/s390.md: Likewise.
+ 	* config/s390/s390x.h: Likewise.
+ 
+ 2003-07-04  Jeff Law  <law@redhat.com>
+ 
+ 	PR c/11428
+ 	* expr.c (do_store_flag): Pass in the correct result type
+ 	when calling fold_single_bit_test.
+ 	* fold-const.c (fold_single_bit_test): Use result_type for the
+ 	result when folding a sign bit test.
+ 
+ 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.c (common_handle_options): Negate sense of -falign- switches.
+ 
+ 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
+ 
+ 	* Makefile.in: Replace PWD with PWD_COMMAND.
+ 
+ 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopanal.c (count_strange_loop_iterations): New static function.
+ 	(constant_iterations, count_loop_iterations, simple_loop_exit_p):
+ 	Handle strange loops.
+ 
+ 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* install.texi: Even the g77 manpage is derived from
+ 	the full g77 manual.
+ 
+ 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ABOUT-NLS: Delete.
+ 	* intl: Delete entire directory.
+ 	* aclocal.m4: Include ../config/gettext.m4.  Delete
+ 	AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
+ 	AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
+ 	* configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
+ 	Remove intl/Makefile from all_outputs.
+ 	* configure, config.in: Regenerate.
+ 	* Makefile.in: Expunge all references to intl subdirectory.
+ 	Add -I../intl to INCLUDES.
+ 	* intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
+ 
+ 2003-07-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
+ 	* config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
+ 
+ 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR c++/5287, PR c++/7910, PR c++/11021
+ 	* config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
+ 	dllimport attribute if function is defined at declaration, but
+ 	report error instead. Likewise for dllimport'd variable
+ 	definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
+ 	declared within functions, Report error if dllimport or dllexport
+ 	symbol is not global.
+ 	(i386_pe_dllimport_p): Ignore dllimport attribute of functions
+ 	if defined after declaration or if inlined. Don't allow definition
+ 	of static data members of C++ classes. Don't dllimport virtual
+ 	methods.
+ 	(i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
+ 	(i386_pe_mark_dllimport): Remove unnecessary checks.
+ 	(i386_pe_encode_section_info): Warn if the dllimport attribute
+ 	and symbol prefix have been instantiated and then overridden.
+ 
+ 	* doc/extend.texi: Document dllimport and dllexport attributes.
+ 
+ 	* config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
+ 
+ 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
+ 
+ 	* config/kaos.h (CPP_PREDEFINES): Delete.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 
+ 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-aux-info.c: Include toplev.h after c-tree.h.
+ 	* c-common.c: Likewise.
+ 	(GCC_DIAG_STYLE): Undef.
+ 	* c-semantics.c (GCC_DIAG_STYLE): Define.
+ 	* c-tree.h (GCC_DIAG_STYLE): Likewise.
+ 	* diagnostic.h (inform): Move prototype to toplev.h.
+ 	* jump.c: Include diagnostic.h before toplev.h.
+ 	* toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
+ 	(warning, error, fatal_error, pedwarn, sorry, inform,
+ 	error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
+ 
+ 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
+ 	at all if edge is not specified.
+ 	(can_copy_bbs_p, copy_bbs): New.
+ 	* cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
+ 	* cfgloop.c (get_loop_body): Comment more precisely.
+ 	* cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
+ 	(scale_bbs_frequencies): Fix comment typo.
+ 	(can_duplicate_loop_p): Use can_copy_bbs_p.
+ 	(duplicate_loop_to_header_edge): Simplify by using copy_bbs.
+ 
+ 2003-07-03  Devang Patel <dpatel@apple.com>
+ 
+ 	* c-opts.c (c_common_parse_file): Remove extra
+ 	debug_hooks->start_source_file call.
+ 
+ 2003-07-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_trunc, real_floor, real_ceil): New functions
+ 	to implement trunc, floor and ceil respectively.
+ 	* real.h (real_trunc, real_floor, real_ceil): Prototype here.
+ 	* builtins.c (integer_valued_real_p): New function to test if
+ 	a floating point expression has an integer valued result.
+ 	(fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
+ 	foo(x) where foo is an integer rounding function.  Similarly,
+ 	optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
+ 	(double)(int)x when both foo and bar are integer rounding
+ 	functions and we don't need to honor errno.
+ 	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
+ 	New functions to fold trunc, floor and ceil.
+ 	(fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
+ 	fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
+ 	to fold BUILT_IN_CEIL*.
+ 	* fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
+ 	the remaining integer rounding functions.
+ 
+ 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_partial_nregs): Use
+ 	SPARC_INT_ARG_MAX to determine where to split unnamed
+ 	complex FP arguments.
+ 
+ 2003-07-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
+ 	* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
+ 	(merge_blocks_move_predecessor_nojumps,
+ 	 merge_blocks_move_successor_nojumps): Use merge_blocks.
+ 	(try_optimize_cfg): Use merge_blocks_move.
+ 	* cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
+ 	(merge_blocks_nomove): Rename to rtl_merge_blocks.
+ 	(cfg_layout_create_basic_block): New.
+ 	(rtl_can_merge_blocks): New.
+ 	(cfg_layout_split_block): Do not alloc aux by hand.
+ 	* cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
+ 	merge_blocks.
+ 	(create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
+ 	* cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
+ 	* cfgloopmanip.c (loop_split_edge_with): Likewise.
+ 	* ifcvt.c (merge_if_block): Use merge_blocks_nomove.
+ 
+ 	* basic-block.h (basic_block_def): Add field 'rbi'.
+ 	* bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
+ 	find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
+ 	* cfg.c (entry_exit_blocks): Add new field.
+ 	* cfglayout.c: Include alloc-pool.h;
+ 	(cfg_layout_pool): New.
+ 	(record_effective_endpoints, fixup_reorder_chain,
+ 	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
+ 	of rbi.
+ 	(cfg_layout_initialize_rbi): New function.
+ 	(cfg_layout_initialize): Use it.
+ 	(cfg_layout_finalize): Clear rbi fields.
+ 	* cfglayout.h (RBI): Kill.
+ 	(cfg_layout_initialize_rbi): Declare.
+ 	* cfgloopmanip.c (copy_bbs): Use rbi.
+ 	(record_exit_edges): Likewise.
+ 	(duplicate_loop_to_header_edge): Likewise.
+ 	* cfgrtl.c (cfg_layout_create_basic_block): Use
+ 	cfg_layout_initialize_rbi.
+ 	(cfg_layout_split_block): Use rbi.
+ 	(cfg_layout_delete_block): Likewise.
+ 	* loop-init.c (loop_optimizer_finalize): Likewise.
+ 	* loop-unswitch.c (unswitch_loop): Likewise.
+ 	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
+ 
+ 	* cfgrtl.c: Update comments.
+ 	(try_redirect_by_replacing_jump): New argument.
+ 	(redirect_branch_edge): Break out from ...
+ 	(rtl_redirect_edge_and_branch): ... this one.
+ 	(update_cfg_after_block_merging): Break out from ...
+ 	(rtl_merge_blocks): ... this one.
+ 	(cfg_layout_split_edge): New.
+ 	(cfg_layout_merge_blocks): New.
+ 	(cfg_layout_can_merge_blocks_p): New.
+ 	(cfg_layout_redirect_edge_and_branch): Reorganize.
+ 	(cfg_layout_rtl_cfg_hooks): Fill in.
+ 	(cfg_layout_delete_block): Kill barriers.
+ 	* cfganal.c (can_fallthru): Deal with exit blocks
+ 	* cfglayout.c (cfg_layout_function_header): New function
+ 	(record_effective_endpoints): Record function header.
+ 	(fixup_reorder_chain): Fixup dead jumptables; place header
+ 
+ 	* basic-block.h (CLEANUP_CFGLAYOUT): New flag.
+ 	* bb-reorder.c (cfg_layout_initialize): Update call.
+ 	* cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
+ 	edges in cfglayout mode.
+ 	* cfglayout.c (cleanup_unconditional_jumps): Kill.
+ 	(cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
+ 	* cfglayout.h (cfg_layout_initialize): Update prototype.
+ 	* cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
+ 	* cfgloopmanip.c (loop_split_edge_with): Use split_edge.
+ 	* flow.c (propagate_block): Do not crash when basic block ends
+ 	by first insn in the chain.
+ 	* loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
+ 	do loop discovery.
+ 	* tracer.c (tracer): Update call of cfg_layout_initialize.
+ 
+ 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in: Use dependency variables in lieu of explicit
+ 	files throughout.
+ 
+ 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
+ 	* tree.h: ...to here.
+ 
+ 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/s390/2064.md: Fix comment typos.
+ 	* config/s390/2084.md: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/s390/s390.md: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/stormy16/stormy-abi: Fix a typo.
+ 
+ 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
+ 
+ 	* Makefile.in (ifcvt.o): Depend on OPTABS_H.
+ 
+ 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/mips/mips.h (save_argv): Delete.
+ 
+ 2003-07-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/10700
+ 	* fold-const.c (extract_muldiv_1): There's nothing that can be done
+ 	if the expression is a SAVE_EXPR.
+ 
+ 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.c: Fix comment typos.
+ 	* config/m68hc11/m68hc11.c: Likewise.
+ 	* config/m68hc11/m68hc11.h: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mcore/mcore.h: Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/mips/netbsd.h: Likewise.
+ 	* config/mn10300/mn10300.c: Likewise.
+ 
+ 2003-07-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* dbxout.c (pending_bincls): Move decl down inside
+ 	DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
+ 
+ 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* rtl.h (NOTE_DATA): Refer to whole union.
+ 	* emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
+ 
+ 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11381
+ 	* simplify-rtx.c (simplify_relational_operation): Check that
+ 	two equal operands have no side-effects before simplifying
+ 	the comparison.
+ 
+ 2003-07-02  Jeff Law  <law@redhat.com>
+ 
+ 	* expr.c (do_store_flag): Remove special case folding for
+ 	single bit tests.  Instead call back into the commonized folder
+ 	routine.
+ 	* fold-const.c (fold_single_bit_test): New function, mostly
+ 	extracted from do_store_flag, with an additional case extracted
+ 	from fold.
+ 	(fold): Call fold_single_bit_test appropriately.
+ 	* tree.h (fold_single_bit_test): Prototype.
+ 
+ 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* system.h: Include filenames.h.
+ 	(IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
+ 	(DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
+ 	define based on HAVE_DOS_BASED_FILE_SYSTEM.
+ 	* config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
+ 	* config/i386/xm-mingw32.h: Don't define
+ 	HAVE_DOS_BASED_FILE_SYSTEM,
+ 	DIR_SEPARATOR, or DIR_SEPARATOR_2.
+ 	* doc/hostconfig.texi: Update to match.
+ 
+ 	* cppfiles.c, gcc.c, gensupport.c, protoize.c,
+ 	config/i386/cygwin.h:
+ 	Use IS_ABSOLUTE_PATH throughout.
+ 	* gcc.c (DIR_UP): Delete, unused.
+ 	* protoize.c (IS_SAME_PATH): Define in terms of
+ 	FILENAME_CMP.
+ 	(is_abspath): Delete.
+ 
+ 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/emmintrin.h: Fix comment typos.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/sco5.h: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/itanium2.md: Likewise.
+ 
+ 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
+ 	DBX_USE_BINCL.
+ 	(emit_bincl_stab): Same.
+ 	(emit_pending_bincls): Same.
+ 
+ 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_mov_length): Fix the length of
+ 	loading CONST0_RTX (SFmode).
+ 	* config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
+ 	'G' to CONST0_RTX (SFmode).
+ 	* config/h8300/h8300.md (movsf_h8300): Change the first
+ 	constraint to 'G'.
+ 	(movsf_h8300h): Likewise.
+ 
+ 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.h (c_common_init_options): New prototype.
+ 	* c-opts.c (deferred_size): Remove.
+ 	(defer_opt): Array is now pre-allocated.
+ 	(c_common_init_options): Pre-allocate deferred_opts.  Make
+ 	lang_flags unsigned.
+ 	(push_command_line_options): Free deferred_opts.
+ 	* hooks.c (hook_uint_uint_constcharptrptr_0): New.
+ 	* hooks.h (hook_uint_uint_constcharptrptr_0): New.
+ 	* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
+ 	* langhooks.h (struct lang_hooks): New prototype for init_options.
+ 	* main.c (main): Cast argv.
+ 	* opts.c (handle_option, handle_options): Update prototypes.
+ 	(decode_options): save_argc, save_argv are not global.  Constify.
+ 	* opts.h (decode_options): New prototype.
+ 	* toplev.c (general_init): New protoype.
+ 	(save_argv): Make static.
+ 	(save_argc): Remove.
+ 	(print_switch_values, general_init): Constify.
+ 	(toplev_main): Save argv.
+ 	* toplev.h (toplev_main): Update prototype.
+ 	(save_argc, save_argv): Remove.
+ 
+ 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
+ 	(emit_bincl_stab): Same.
+ 	(emit_pending_bincls): Same.
+ 
+ 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/11072
+ 	* ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
+ 
+ 2003-07-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
+ 
+ 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11210
+ 	* expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
+ 	about the behaviour with regard to bitfields.
+ 	* fold-const (decode_field_reference): Record outermost type in
+ 	case the expression is a NOP. Strip all NOPs. Set the signedness
+ 	to that of the outermost type (if any) when the bitsize is equal
+ 	to the size of the type.
+ 
+ 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
+ 	(addsi3_internal, adddi3, adddi3_internal_2): Likewise.
+ 	(adddi3_internal_3, addsi3_internal_2): Likewise.
+ 
+ 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (machine_function): Add new fields:
+ 	ignore_hazard_length_p and all_noreorder_p.
+ 	(mips_flag_delayed_branch): New variable.
+ 	(override_options): Treat '/' as an operand punctuation character.
+ 	Set up mips_flag_delayed_branch.
+ 	(print_operand): Handle '/'.
+ 	(mips_output_function_prologue): Put the whole function in
+ 	.set noreorder and .set nomacro if all_noreorder_p is true.
+ 	(mips_output_function_epilogue): End the noreorder/nomacro sequence.
+ 	(mips16_optimize_gp): Remove "first insn" parameter.
+ 	(mips16_lay_out_constants): New function, split out from mips_reorg.
+ 	(mips_avoid_hazard, mips_avoid_hazards): New functions.
+ 	(mips_reorg): For mips16 code, call mips16_lay_out_constant
+ 	and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
+ 	do delayed-branch scheduling followed by hazard detection.
+ 	(mips_adjust_insn_length): Only account for hazards if
+ 	!ignore_hazard_length_p.
+ 	(mips_output_load_label): Add a nop to the o32 sequence if
+ 	the target suffers from load delays.
+ 	(mips_output_conditional_branch): Add %/ to the end of branches.
+ 	(mips_output_division): Fill the branch delay slot with %#.
+ 	* config/mips/mips.md: Remove redundant '%*' from mips16 branch
+ 	instructions.  End all other %* branches with %/.
+ 	(ffssi2, ffsdi2): Fix lengths.
+ 	(truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
+ 	(fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
+ 	(fix_truncsfsi2_macro): Likewise.
+ 	(mov_lwl): Set hazard to "none".
+ 	(ashldi3_internal): Fill the branch delay slot with %#.
+ 	(ashrdi3_internal, lshrdi3_internal): Likewise.
+ 	(exception_receiver): Explicitly set $28.
+ 	(hazard_nop): New pattern.
+ 
+ 2003-07-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
+ 	before calling tree_inlinable_function_p.
+ 
+ 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
+ 	<internal/stdio_core.h> too.
+ 	(stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
+ 	<internal/wchar_core.h> too.
+ 	Substitute va_list uses in inline definition.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
+ 	Undef before redefinition.
+ 	(LABEL_AFTER_LOC): Likewise.
+ 	(DEFAULT_SIGNED_CHAR): Likewise.
+ 	(ASM_OUTPUT_ASCII): Moved here from iris4.h.
+ 	Fix IRIX spelling.
+ 
+ 	* config/mips/iris3.h: Remove, unused.
+ 	* config/mips/iris4.h: Likewise.
+ 
+ 	* config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
+ 
+ 	* config/mips/iris5.h (TARGET_DEFAULT): Move ...
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
+ 	target_cpu_default.
+ 
+ 	* config/mips/iris5.h: Move explicit includes ...
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
+ 
+ 	* config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
+ 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
+ 	tm_defines.
+ 
+ 	* config/mips/iris6.h (TARGET_DEFAULT): Move ...
+ 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
+ 	target_cpu_default.
+ 
+ 	* config/mips/iris6.h: Fix IRIX spelling.
+ 	(MULTILIB_DEFAULTS): Undef before redefinition.
+ 
+ 	* config/mips/iris6.h: Move explicit includes ...
+ 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
+ 
+ 2003-07-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
+ 	cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
+ 	Use next_needed field instead of aux to maintain the queue.
+ 	* cgraph.h (cgraph_node): Add next_needed.
+ 	(cgraph_varpool_node): Add next_needed; remove aux.
+ 	* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
+ 
+ 2003-07-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_finalize_function): Set finalized.
+ 	(cgraph_finalize_function): Do not examine inlinablility.
+ 	(cgraph_finalize_compilation_unit): Do it here.
+ 	* cgraph.h (cgraph_local_info): Add finalized field.
+ 
+ 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
+ 	(gt_pch_restore): Likewise.
+ 
+ 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c: Fix comment typos.
+ 	* config/alpha/elf.h: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/t-arm-coff: Likewise.
+ 	* config/arm/t-strongarm-pe: Likewise.
+ 	* config/arm/xscale-elf.h: Likewise.
+ 	* config/avr/avr.h: Likewise.
+ 
+ 2003-07-01  Jeff Law  <law@redhat.com>
+ 
+ 	* stmt.c (any_pending_cleanups): Remove another redundant test.
+ 
+ 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
+ 	    J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
+ 	for MEM case.
+ 
+ 2003-07-01  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
+ 	(binclstatus): New.
+ 	(struct dbx_file): New members - bincl_status, pending_bincl_name and
+ 	prev.
+ 	(pending_bincls): New.
+ 	(dbxout_init): Initialize new dbx_file members.
+ 	(dbxout_start_source_file): Same.
+ 	(emit_bincl_stab): New function.
+ 	(emit_pending_bincls): Same.
+ 	(emit_pending_bincls_if_required): Same.
+ 	(dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
+ 	processed.
+ 	(dbxout_begin_block): Emit pending BINCL stabs.
+ 	(dbxout_end_block): Same.
+ 	(dbxout_function_decl): Same.
+ 	(dbxout_continue): Same.
+ 	(dbxout_type): Same.
+ 	(dbxout_class_name_qualifiers): Same.
+ 	(dbxout_symbol): Same.
+ 	(dbxout_symbol_location): Same.
+ 	(dbxout_parms): Same.
+ 
+ 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-semantics.c (genrtl_case_label): Fix format specifier bug.
+ 	* cfgrtl.c (rtl_verify_flow_info_1): Likewise.
+ 
+ 2003-07-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* fold-const.c: Convert prototypes to ISO C90.
+ 	* function.c: Likewise.
+ 	* function.h: Likewise.
+ 
+ 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/contrib.texi: Fix typos.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/passes.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Fix comment typos.
+ 	* bb-reorder.c: Likewise.
+ 	* c-format.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfghooks.h: Likewise.
+ 	* cfgloop.c: Likewise.
+ 	* cfgloopmanip.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 	* cgraph.h: Likewise.
+ 	* cgraphunit.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* convert.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* df.c: Likewise.
+ 	* df.h: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* et-forest.h: Likewise.
+ 	* flow.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.h: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* loop-unroll.c: Likewise.
+ 	* loop-unswitch.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* ra-colorize.c: Likewise.
+ 	* ra-rewrite.c: Likewise.
+ 	* ra.h: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* sched-ebb.c: Likewise.
+ 	* sched-int.h: Likewise.
+ 	* sched-vis.c: Likewise.
+ 	* sreal.c: Likewise.
+ 	* ssa-ccp.c: Likewise.
+ 	* ssa.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree-inline.c: Likewise.
+ 	* value-prof.c: Likewise.
+ 	* value-prof.h: Likewise.
+ 
+ 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* rtl.h (emit_line_note_after): Remove.
+ 	(emit_note_copy_after, emit_note_copy): New.
+ 	* emit-rtl.c (reorder_insns_with_line_notes): Replace
+ 	emit_line_note_after with emit_note_copy_after.
+ 	(emit_insn_after_with_line_notes): Likewise.
+ 	(emit_line_note_after): Kill.
+ 	(emit_note_copy_after): New.
+ 	(emit_note_copy): New.
+ 	* function.c (emit_return_into_block): Use emit_note_copy_after.
+ 	(thread_prologue_and_epilogue_insns): Likewise.
+ 	* integrate.c (expand_inline_function): Use emit_note_copy.
+ 	(copy_insn_list): Likewise.
+ 	* unroll.c (copy_loop_body): Likewise.
+ 	* cfglayout.c (duplicate_insn_chain): Likewise.
+ 
+ 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-tree.h (define_label): Replace filename and lineno arguments
+ 	with a location_t.
+ 	* c-decl.c (poplevel): Adjust define_label call.
+ 	(pop_label_level): Likewise.
+ 	(define_label): Replace filename and lineno arguments with a
+ 	location_t.
+ 	(store_parm_decls): Use DECL_SOURCE_LOCATION.
+ 	* c-parse.in (label): Adjust define_label call.
+ 
+ 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
+ 	config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
+ 	config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
+ 	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
+ 	config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
+ 
+ 2003-07-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* final.c: Convert prototypes to ISO C90.
+ 	* flow.c: Likewise.
+ 	* flags.h: Likewise.
+ 	* gcov-io.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 
+ 2003-06-30  Bruno Haible  <bruno@clisp.org>
+ 
+ 	PR middle-end/6578
+ 	* libgcc2.c (__subvsi3): Remove simplification that would not work
+ 	when subtracting -0x80000000.
+ 	(__subvdi3): Remove simplification that would return a wrong result.
+ 	(__mulvsi3): Fix overflow check.
+ 	(__absvdi2): Fix simplification that would return a wrong result.
+ 	(__mulvdi3): Fix overflow check.
+ 
+ 2003-06-30  Jeff Law  <law@redhat.com>
+ 
+ 	* stmt.c (any_pending_cleanups): Lose argument THIS_CONTOUR, it
+ 	was always passed in the value '1'.  Simplify body appropriately.
+ 	* tree.h (any_pending_cleanups): Corresponding changes.
+ 	* calls.c: (expand_call): Corresponding changes.
+ 
+ 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (distribute_notes): Don't bother REG_WAS_0.
+ 	* cse.c (cse_insn): Likewise.
+ 	* final.c (final_scan_insn): Likewise.
+ 	* jump.c (duplicate_loop_exit_test): Likewise.
+ 	* rtl.c (reg_note_name): Remove REG_WAS_0.
+ 	* rtl.h (REG_WAS_0): Remove.
+ 	* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
+ 	* config/avr/avr.c (output_movqi): Don't use reg_was_0.
+ 	(output_movhi): Likewise.
+ 	(output_movsisf): Likewise.
+ 	(reg_was_0): Remove.
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
+ 	REG_WAS_0.
+ 	(m68hc11_gen_movqi): Likewise.
+ 	* config/vax/vax-protos.h: Remove the prototype for
+ 	reg_was_0_p.
+ 	* config/vax/vax.c (follows_p): Remove.
+ 	(reg_was_0_p): Likewise.
+ 	* config/vax/vax.md (movsi): Don't use reg_was_0_p.
+ 	(movhi): Likewise.
+ 	(movqi): Likewise.
+ 	* doc/rtl.texi (REG_WAS_0): Remove.
+ 
+ 2003-06-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/rs6000/spe.h (__ev_set_spefscr_frmc): Set the flag.
+ 
+ 2003-06-30  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib1funcs.asm: Use "xtensa-config.h" from
+ 	top-level include directory.
+ 	* config/xtensa/lib2funcs.S: Likewise.
+ 	* config/xtensa/xtensa.h: Likewise.
+ 	* config/xtensa/xtensa-config.h: Remove.
+ 	* doc/install.texi: Update location of "xtensa-config.h" header.
+ 
+ 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_extra_constraint): New function.
+ 	* config/s390/s390-protos.h (s390_extra_constraint): Declare it.
+ 	* config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
+ 	* config/s390/s390.c (q_constraint): Remove.
+ 	* config/s390/s390-protos.h (q_constraint): Likewise.
+ 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'R', 'S', 'T'.
+ 	(EXTRA_ADDRESS_CONSTRAINT): Define.
+ 
+ 	* config/s390/s390.c (larl_operand): Refuse out-of-range operands.
+ 	(DISP_IN_RANGE, s390_short_displacement): New.
+ 	(legitimate_reload_operand_p): Support long displacements.
+ 	(s390_decompose_address): Likewise.
+ 	(legitimize_pic_address): Likewise.
+ 	(legitimize_address): Likewise.
+ 	(s390_fixup_clobbered_return_reg): Likewise.
+ 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
+ 	(s390_output_mi_thunk): Likewise.
+ 
+ 	* config/s390/s390.md (attr "op_type"): Add "RXY", "RSY", "SIY".
+ 	(attr "atype", attr "length"): Add defaults for new op_types.
+ 	(all insns): Change op_type attribute where appropriate.
+ 
+ 	("*movdi_lay", "*movsi_lay", "*extendqidi2", "*extendqisi2"): New insns.
+ 	("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", *tmqi_mem",
+ 	"*tstsi", "*tstsi_cconly", "*tsthiCCT", "*tsthiCCT_cconly",
+ 	"*tsthi", "*tsthi_cconly", "*tstqiCCT", "*tstqiCCT_cconly",
+ 	"*tstqi", "*tstqi_cconly", "*cmpsi_ccs_sign", "*cmpsi_ccs",
+ 	"*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu", "*cli",
+ 	"movti", "*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
+ 	"movqi", "*movstrictqi", "*movstricthi", "movstrictsi",
+ 	"*movdf_64", "*movdf_31", "*movsf",
+ 	"*load_multiple_si", "*store_multiple_di",
+ 	"*sethighqisi", "*sethighhisi", "*sethighqidi_31", "*extendhisi2",
+ 	"*la_64", "*la_31", "*la_31_and", "force_la_31",
+ 	"*addsi3_carry1_cc", *addsi3_carry1_cconly",
+ 	"*addsi3_carry2_cc", *addsi3_carry2_cconly",
+ 	"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
+ 	"*addsi3_sign", "*addsi3_sub", "addsi3",
+ 	"*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
+ 	"*subsi3_cconly", "*subsi3_sign", "*subsi3_sub", "subsi3",
+ 	"mulsi3"
+ 	"*andsi3_cc", "*andsi3_cconly", "andsi3",
+ 	"*andqi3_ss", "*andqi3_ss_inv",
+ 	"*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
+ 	"*iorqi3_ss", "*iorqi3_ss_inv",
+ 	"*xorsi3_cc", "*xorsi3_cconly", "xorsi3",
+ 	"*xorqi3_ss", "*xorqi3_ss_inv",
+ 	"*tls_load_31"): Add alternatives for long-displacement instructions.
+ 
+ 	("*cmpdf_ccs", "*cmpdf_ccs_ibm", "*cmpsf_ccs", "*cmpsf_ccs_ibm",
+ 	"*load_multiple_di", "*store_multiple_di",
+ 	"*sethighqidi_64", "*zero_extendhisi2_31",
+ 	"truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+ 	"adddf3", "*adddf3", "*adddf3_ibm",
+ 	"addsf3", "*addsf3", "*addsf3_ibm",
+ 	"subdf3", "*subdf3", "*subdf3_ibm",
+ 	"subsf3", "*subsf3", "*subsf3_ibm",
+ 	"mulsi_6432", "divmoddisi3",
+ 	"muldf3", "*muldf3", "*muldf3_ibm",
+ 	"mulsf3", "*mulsf3", "*mulsf3_ibm",
+ 	"divdf3", "*divdf3", "*divdf3_ibm",
+ 	"divsf3", "div*sf3", "*divsf3_ibm",
+ 	"sqrtdf2", "sqrtsf2",
+ 	"*cjump_long", "*icjump_long", "indirect_jump", "casesi_jump",
+ 	"*doloop_si_long", "*doloop_di_long", "bas_64", "bas_31",
+ 	"bas_r_64", "bas_r_31", "bas_tls_31", "bas_tls_64"): Adapt memory
+ 	and address constraints for instructions that do not accept long
+ 	displacements.
+ 
+ 2003-06-30  Hartmut Penner  <hpenner@de.ibm.com>
+ 	    Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/2084.md: New file.
+ 	* config/s390/s390.md: Include it.
+ 	* config/s390/s390.c (s390_adjust_priority): New function.
+ 	(TARGET_SCHED_ADJUST_PRIORITY): Define.
+ 	(s390_first_cycle_multipass_dfa_lookahead): New function.
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
+ 	(s390_sched_reorder2): New function.
+ 	(TARGET_SCHED_REORDER2): Define.
+ 	(s390_adjust_cost): Support PROCESSOR_2084_Z990 cpu type.
+ 	(s390_issue_rate): Likewise.
+ 
+ Mon Jun 30 23:47:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (GTFILES): Add cgraph.h.
+ 	* cgraph.c (known_decls): Remove.
+ 	(cgraph_hash, cgraph_nodes, cgraph_nodes_queue,
+ 	cgraph_varpool_hash, cgraph_varpool_nodes_queue): GTYize.
+ 	(cgraph_node): Do not allocate known_decls; use polutate hashtable.
+ 	(cgraph_varpool_node): Likewise; add next pointer.
+ 	(cgraph_varpool_nodes): New static variable.
+ 	* cgraph.h (cgraph_local_info, cgraph_global_info, cgraph_rtl_info,
+ 	cgraph_node, cgraph_edge, cgraph_varpool_node, cgraph_nodes, cgraph_n_nodes,
+ 	cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): GTYize.
+ 	* gengtype.c (open_base_files): Include cgraph.h
+ 
+ 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* Changelog: Remove ">>>>>>>" from previous change.
+ 
+ 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* config/cris/cris.c: Fix spelling for "testcase".
+ 	* config/cris/cris.h: Likewise.
+ 	* config/cris/cris.md: Likewise.
+ 	* config/mmix/crti.asm: Likewise.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/mmix/mmix.md: Likewise.
+ 
+ 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Make it always
+ 	1.
+ 
+ 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
+ 	--with-mode configure options.
+ 	* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
+ 	(DRIVER_SELF_SPECS): Define.
+ 	* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
+ 	architecture to assembler.
+ 	(LINK_SPEC): Merge 31-bit and 64-bit variants.
+ 	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
+ 	* config/s390/s390.c (override_options): New default rules for
+ 	architecture mode and cpu architecture selection.
+ 	* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
+ 	new default rules.
+ 
+ 	* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
+ 	* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
+ 	* config/s390/s390.c (override_options): Add "z990" to
+ 	processor_alias_table.
+ 	* doc/invoke.texi (-march): Document "z990" processor type.
+ 
+ 	* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
+ 	* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
+ 	(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
+ 	TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
+ 	* config/s390/s390.c (override_options): Replace enum pta_flags by
+ 	enum processor_flags.  Fill in s390_tune_flags and s390_arch_flags.
+ 
+ 	* config/s390/s390.c (s390_cpu): Rename to ...
+ 	(s390_tune): ... this.
+ 	* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
+ 	* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
+ 	* config/s390/s390.md (attr "cpu"): Likewise.
+ 
+ 2003-06-30  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.c (enum c_language_kind, flag_objc): Remove.
+ 	(fix_string_type, check_case_value, c_common_nodes_and_builtins,
+ 	c_add_case_label, finish_label_addr_expr, boolean_increment):
+ 	Use c_dialect_ macros.
+ 	* c-common.h (enum c_language_kind): Extend.
+ 	(c_dialect_cxx, c_dialect_objc): New.
+ 	(flag_objc): Remove.
+ 	(c_common_init_options): Update prototype.
+ 	* c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_
+ 	macros.
+ 	* c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_
+ 	macros.
+ 	* c-format.c (C_STD_VER, C_STD_NAME): Similarly.
+ 	* c-lang.c (c_init_options): Remove.
+ 	(c_language): Define.
+ 	(LANG_HOOKS_INIT_OPTIONS): Use common hook.
+ 	* c-lex.c (lex_charconst): Use c_dialect_ macros.
+ 	* c-opts.c (lang_flags): Make function-local.
+ 	(c_common_init_options): Use c_dialect_ macros.  Handle
+ 	C++ diagnostic requirements.
+ 	(c_common_handle_option, c_common_post_options): Use flag_cxx.
+ 	* c-parse.in (init_reswords): Use c_dialect_objc ().
+ 	* c-pch.c (get_ident): Use c_language.
+ 	* c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros.
+ 	* c-typeck.c (comptypes, build_c_cast): Similarly.
+ 	* objc/objc-lang.c (c_language): Define.
+ 	(LANG_HOOKS_INIT_OPTIONS): Use common hook.
+ 	(objc_init_options): Remove.
+ 
+ 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.h (FUNCTION_ARG_PADDING): Remove.
+ 	* config/alpha/unicosmk.h: Don't #undef FUNCTION_ARG_PADDING.
+ 
+ 2003-06-30  Wolfgang Bangerth  <bangerth@dealii.org>
+ 
+ 	* doc/sourcebuild.texi: Don't reference gnats.html any more.
+ 
+ 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_mov_length): Fix length of
+ 	mov:SF on H8/300.
+ 
+ 2003-06-30  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Make defintion
+ 	constant.
+ 
+ Mon Jun 30 15:36:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	(fyl2x_sfxf3, fyl2x_dfxf3, fscale_sfxf3, fscale_dfxf3): Fix condition.
+ 
+ 2003-06-30 Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
+ 	(altivec_in_gprs_p): New function.
+ 
+ 	* config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New
+ 	prototype.
+ 	(altivec_in_gprs_p): New prototype.
+ 
+ 	* config/rs6000/altivec.md (*movv4si_internal): Change
+ 	multi-assembler alternative to '#'. Add postreload splitter to
+ 	handle this cases.
+ 	(*movv4hi_internal): Likewise.
+ 	(*movv4qi_internal): Likewise.
+ 	(*movv4sf_internal): Likewise.
+ 
+ 2003-06-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	* defaults.h (PUSH_ARGS_REVERSED): Define default here.
+ 	* calls.c: Not here.
+ 
+ 2003-06-30  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
+ 	(bad_signed_byte_operand): Likewise.
+ 	(arm_output_epilogue): Likewise.
+ 	(arm_final_prescan_insn): Likewise.
+ 
+ 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* cfgrtl.c (mark_killed_regs): Cast HARD_REGNO_NREGS to int.
+ 
+ 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* c-pch.c (c_common_write_pch): Flush asm_out_file to allow for
+ 	subsequent writes.
+ 
+ Mon Jun 30 10:03:02 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (verify_flow_info): Accept degenerated condjumps
+ 	in cfglayout mode.
+ 
+ Mon Jun 30 09:52:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (standard_80387_constant_p): Accept TFmode constants too.
+ 	(init_ext_80387_constants): Likewise.
+ 	(standard_80387_constant_rtx): Likewise.
+ 	* i386.md (atanxf): Disable for TARGET_128BIT_LONG_LONG
+ 	(atantf): Disable for !TARGET_128BIT_LONG_LONG
+ 	(fyl2x_sfxf3, fyl2x_dfxf3): Accept TFmode operands.
+ 	(fyl2x_xfxf3, fyl2x_tfxf3): Enable/disable as needed.
+ 	(fscale_sfxf3, fscale_dfxf3): Accept TFmode operands.
+ 	(fscale_xfxf3, fscale_tfxf3): Enable/disable as needed.
+ 	(frndinttf2): New.
+ 	(f2xm1tf2): New.
+ 	(exp?f2): Use expsf2_tf when needed.
+ 	(exp?f2_tf): New.
+ 	(exptf): New.
+ 
+ 2003-06-29 Uwe Stieber <uwe@kaos-group.de>
+ 
+ 	* config.gcc (sh*-*-kaos*): Put tm_file setting in separate case
+ 	statement from tmake_file set.
+ 
+ 2003-06-29  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* reload.c (find_reloads): Change push_reloads to push_reload in
+ 	comment.
+ 	* reload1.c (eliminate_regs): Likewise.
+ 	(dump_needs): Delete prototype for deleted function.
+ 
+ 2003-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (gcc_diag, gcc_cdiag, gcc_cxxdiag): New
+ 	format attributes.
+ 	* c-format.c (enum format_type): Add gcc_diag_format_type,
+ 	gcc_cdiag_format_type, and gcc_cxxdiag_format_type.
+ 	(gcc_diag_length_specs, gcc_cdiag_length_specs,
+ 	gcc_cxxdiag_length_specs, gcc_diag_flag_pairs,
+ 	gcc_cdiag_flag_pairs, gcc_cxxdiag_flag_pairs, gcc_diag_flag_specs,
+ 	gcc_cdiag_flag_specs, gcc_cxxdiag_flag_specs, gcc_diag_char_table,
+ 	gcc_cdiag_char_table, gcc_cxxdiag_char_table): New.
+ 	(format_types_orig): Add new data.
+ 	(find_char_info_specifier_index, init_dynamic_diag_info): New
+ 	functions.
+ 	(handle_format_attribute): Update to handle new format attributes.
+ 
+ 2003-06-29  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	* doc/install.texi: Remove install documentation for obsoleted targets
+ 	i?86-*-sco, i?86-*-sco3.2v4, powerpcle-*-pe, powerpcle-*-winnt,
+ 	arm-*-aof.
+ 	Update information about IA64 toolchain, AIX make requirements,
+ 	and binutils for m68k-*-hpux and *-*-linuxaout targets.
+ 
+ Mon Jun 30 00:50:43 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regmove.c (regmove_optimize): Don't try to make src and dst match
+ 	when they are in different modes.
+ 
+ Sun Jun 29 23:06:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
+ 	busy work when builtin is not supported by the backend.
+ 
+ 2003-06-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop.c (count_one_set): Fix detection of registers set in more
+ 	than one basic block.
+ 
+ 2003-06-29  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* target-def.h: Remove usage of OBJECT_FORMAT_ROSE.
+ 	* system.h: Poison OBJ_FORMAT_ROSE.
+ 	* doc/tm.texi (Macros for Initialization): Remove documentatin of
+ 	OBJECT_FORMAT_ROSE.
+ 	* config/rs6000/lynx.h: Remove undef of OBJECT_FORMAT_ROSE.
+ 	* collect2.c: Remove usage of OBJECT_FORMAT_ROSE.
+ 
+ 2003-06-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (update_total_code_bytes): New function.
+ 	(last_address): Number of bytes output for a function and its
+ 	associated thunks.
+ 	(compute_frame_size): Use BITS_PER_UNIT.
+ 	(pa_output_function_epilogue): Compute last_address.  Use
+ 	update_total_code_bytes.
+ 	(output_lbranch): Handle long branch on portable runtime.
+ 	(attr_length_millicode_call, attr_length_call,
+ 	attr_length_indirect_call): Only use total_code_bytes for calls in
+ 	the text section.
+ 	(output_call): Only use an indirect call sequence when the target is
+ 	not local.
+ 	(pa_asm_output_mi_thunk): Handle updating of total_code_bytes.  Improve
+ 	test to determine when an IA-relative branch can be used.  Add various
+ 	long branch sequences.  Avoid using an indirect branch on all ports
+ 	except SOM.
+ 
+ 2003-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (clear_by_pieces): Fix prototype.
+ 
+ 2003-06-29  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cse.c: Convert prototypes to ISO C90.
+ 	* cselib.c: Likewise.
+ 	* cselib.h: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* debug.c: Likewise.
+ 	* df.c: Likewise.
+ 	* df.h: Likewise.
+ 	* dojump.c: Likewise.
+ 	* doloop.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* dwarf2asm.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarf2out.h: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* except.c: Likewise.
+ 	* except.h: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* et-forest.c: Likewise.
+ 	* et-forest.h: Likewise.
+ 	* except.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* expr.h: Likewise.
+ 
+ 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alloc-pool.c: Fix comment formatting.
+ 	* bitmap.c: Likewise.
+ 	* bitmap.h: Likewise.
+ 	* bt-load.c: Likewise.
+ 	* builtins.c: Likewise.
+ 	* caller-save.c: Likewise.
+ 	* cfganal.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* cse.c: Likewise.
+ 	* df.c: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* final.c: Likewise.
+ 	* flags.h: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* libgcov.c: Likewise.
+ 	* mips-tfile.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* prefix.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* stmt.c: Likewise.
+ 	* stor-layout.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* varasm.c: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 
+ 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (emit_single_push_insn): If padding is needed
+ 	downward, adjust the stack pointer first, and then store the
+ 	data into the stack location using an offset.
+ 
+ 2003-06-29  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* collect2.h: Convert prototypes to ISO C90.
+ 	* collect2.c: Likewise.
+ 	* conflict.c: Likewise.
+ 	* coverage.c: Likewise.
+ 	* convert.h: Likewise.
+ 	* convert.c: Likewise.
+ 
+ 2003-06-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-decl.c (c_init_decl_processing): Use a location_t. Set input
+ 	filename to <internal>.
+ 	* tree.c (make_node): Just copy the current location.
+ 
+ 2003-06-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11210
+ 	* fold-const (decode_field_reference): Revert 2003-06-26 patch.
+ 
+ 2003-06-29  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* toplev.c (flag_dummy): Remove.
+ 	(f_options): Restore flag pointers.
+ 
+ 2003-06-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (processor_target_table): Add 970.
+ 	* config.gcc: Add 970.
+ 
+ 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf2out.c (add_AT_string): Replace ggc_alloc_string (X,
+ 	-1) with ggc_strdup.
+ 	* stmt.c (expand_asm_operands): Likewise.
+ 	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ip2k/ip2k.c (ip2k_reorg): Use INSN_P instead of its
+ 	definition.
+ 
+ 2003-06-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* opts.c: Include insn-attr.h.
+ 	* Makefile.in (opts.o): Depend on INSN_ATTR_H.
+ 
+ 2003-06-27  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* flow.c (propagate_one_insn): Use proper test for a register
+ 	being part of the return value.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.c: Fix a comment typo.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr-protos.h: Replace avr_simplify_comparision_p
+ 	with avr_simplify_comparison_p.
+ 	* config/avr/avr.c: Likewise.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Follow spelling conventions.
+ 	* cgraph.c: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/iwmmxt.md: Likewise.
+ 	* config/c4x/c4x-modes.def: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/c4x/c4x.h: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 
+ 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Predicate
+ 	__mc68020__ on TARGET_68020.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Fix a comment typo.
+ 
+ 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-parse.in (yylexstring): Use a location_t.
+ 
+ 	* diagnostic.h (diagnostic_set_info): Replace file and lineno
+ 	parameters with a location_t.
+ 	* diagnostic.c (diagnostic_set_info): Replace file and lineno
+ 	parameters with a location_t.
+ 	(inform, warning, pedwarn, error, sorry, fatal_error,
+ 	internal_error, warning_with_decl, pedwarn_with_decl,
+ 	error_with_decl): Adjust.
+ 	* c-error.c (pedwarn_c99): Adjust.
+ 	* c-format.c (status_warning): Adjust.
+ 	* rtl-error.c (file_and_line_for_asm): Rename to ...
+ 	(location_for_asm): Return a location_t.
+ 	(diagnostic_for_asm): Adjust.
+ 
+ 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpptrad.c (skip_macro_block_comment): New.
+ 	(copy_comment): Use it if appropriate.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (compute_ld_motion_mems): Use INSN_P instead of its
+ 	definition.
+ 	(store_killed_in_insn): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* config/frv/frv.c (frv_final_prescan_insn): Likewise.
+ 	* config/m68hc11/m68hc11.c (dead_register_here): Likewise.
+ 	(m68hc11_reassign_regs): Likewise.
+ 	(m68hc11_reorg): Likewise.
+ 
+ 2003-06-28  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (output_integer_with_precision): New macro.
+ 	(output_format): Use it.  Handle more format specifiers.
+ 	(output_long_decimal): Remove.
+ 	(output_unsigned_decimal): Likewise.
+ 	(output_long_unsigned_decimal): Likewise.
+ 	(output_octal): Likewise.
+ 	(output_long_octal): Likewise.
+ 	(output_hexadecimal): Likewise.
+ 	(output_long_hexadecimal): Likewise.
+ 	(output_long_long_decimal): Likewise.
+ 
+ 2003-06-28  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.md: Follow recent emit_note API change.
+ 
+ 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-parse.in (%union): Replace filename & lineno with location.
+ 	(save_filename, save_lineno): Remove.
+ 	(save_location): New.
+ 	(fndef, old_style_parm_decls_1, lineno_datadecl, lineno_decl,
+ 	nested_function, notype_nested_function, if_prefix, lineno_stmt,
+ 	lineno_label, label): Adjust.
+ 
+ 2003-06-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (c_strlen): Add only_value argument.
+ 	Handle COND_EXPR and COMPOUND_EXPR.
+ 	(expand_builtin_strlen): Optimize also strlen (i++ ? "foo" : "bar").
+ 	Adjust c_strlen callers.
+ 	(expand_builtin_strcpy, expand_builtin_strncpy,
+ 	expand_builtin_strcmp, expand_builtin_strncmp,
+ 	expand_builtin_fputs, expand_builtin_sprintf,
+ 	fold_builtin): Adjust c_strlen callers.
+ 
+ 2003-06-28  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Do not send basic block
+ 	to next round when we are in the last round.
+ 
+ 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* opts.c: Include tm_p.h.
+ 	(handle_options): Make static.
+ 	(decode_options): Copied from toplev.c.
+ 	* opts.h (decode_options): New.
+ 	* toplev.c (parse_options_and_default_flags): Move most to opts.c,
+ 	some to...
+ 	(general_init): ...here.
+ 	(toplev_main): Use decode_options instead.
+ 	* toplev.h (save_argc, save_argv): New.
+ 
+ 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* explow.c (find_next_ref): Remove.
+ 	* rtl.h: Remove the prototype for find_next_ref.
+ 
+ 2003-06-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/alpha/alpha.md (anonymous define_split): Adjust emit_note
+ 	call to match recent API change.
+ 
+ 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c (flag_debug_only_used_symbols): Delete redundant
+ 	declaration.
+ 
+ 	* c-format.c (check_format_string, get_constant)
+ 	* cfgrtl.c (rtl_split_edge):
+ 	Mark the definition static, matching the forward declaration.
+ 
+ 2003-06-27  Gunther Nikl <gni@gecko.de>
+ 
+ 	* unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
+ 
+ 	PR target/11014
+ 	* config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
+ 	syntax for MIT / MOTOROLA.
+ 
+ 	PR other/10240
+ 	* configure.in: Removed $(XCFLAGS) from BUILD_CFLAGS for build != host.
+ 	* configure: Rebuilt.
+ 
+ 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (mips_build_va_list): Make padding in
+ 	va_list structure explicit to avoid -Wpadded warnings.
+ 
+ 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
+ 	* config/s390/s390.c (s390_secondary_output_reload_class): New function.
+ 	* config/s390/s390-protos.h (s390_secondary_output_reload_class):
+ 	Declare it.
+ 	* config/s390/s390.md ("reload_outti", "reload_outdi",
+ 	"reload_outdf"): New expanders.
+ 
+ 	* config/s390/s390.md ("movti" + splitters): Handle non-offsettable
+ 	memory operands as source.
+ 	("movdi" + splitters): Likewise.
+ 	("movdf" + splitters): Likewise.
+ 	* config/s390/s390.c (s390_split_ok_p): New function.
+ 	* config/s390/s390-protos.h (s390_split_ok_p): Declare it.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (force_to_mode): Replace the equality comparison
+ 	of INTVALs with a pointer equality comparison.
+ 	(simplify_comparison): Likewise.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* jump.c (rtx_renumbered_equal_p): Replace an expression that
+ 	is known to be 0 with 0.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (expr_equiv_p): Replace expressions that are known to
+ 	be 0 with 0.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (fold_rtx): Replace the equality comparison of INTVALs
+ 	with a pointer equality comparison.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
+ 	are known to be not equivalent.
+ 
+ 2003-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (function_arg): Don't pass small aggregates
+ 	in floating point registers.  Validate that we don't receive complex
+ 	values here.  Use #elif.
+ 	(return_in_memory, function_value): New.
+ 	(alpha_va_arg): Handle complex values as two arguments.
+ 	* config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
+ 	(FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
+ 	(SPLIT_COMPLEX_ARGS): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 
+ 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* ggc-page.c (inverse_table): Change type of mult to size_t.
+ 	(compute_inverse): Compute inverse using size_t, not unsigned int.
+ 	Compute inverse also for sizes larger than half a machine page.
+ 
+ Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_decl_compilation):  Only varpoolize argument
+ 	when called before cgraph_optimize.
+ 
+ 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/darwin.h, config/elfos.h, config/i960/i960-coff.h
+ 	* config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
+ 	be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
+ 
+ Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
+ 	of known_decls.
+ 
+ 2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* defaults.h (REGISTER_MOVE_COST): Define default here.
+ 	* regclass.c: Don't define default REGISTER_MOVE_COST here.
+ 	* reload.c, reload1.c: Ditto.
+ 
+ 2003-06-27  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* flags.h: Really install previous change.
+ 
+ 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* rtl.h (emit_note): Remove FILE parameter.
+ 	* emit-rtl.c (emit_line_note): Adjust emit_note call.
+ 	(emit_note): Remove FILE parameter. Adjust.
+ 	* builtins.c (expand_builtin_expect): Adjust emit_note call.
+ 	* c-semantics.c (genrtl_scope_stmt): Likewise.
+ 	(expand_stmt): Likewise.
+ 	* cfglayout.c (reemit_insn_block_notes): Likewise.
+ 	(duplicate_insn_chain): Likewise.
+ 	* except.c (expand_eh_region_start, expand_eh_region_end,
+ 	sjlj_emit_function_enter): Likewise.
+ 	* explow.c (probe_stack_range): Likewise.
+ 	* expr.c (emit_block_move_via_loop): Likewise.
+ 	* function.c (init_function_start, expand_function_start,
+ 	expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
+ 	* integrate.c (expand_inline_function, copy_insn_list): Likewise.
+ 	* reg-stack.c (compensate_edge): Likewise.
+ 	* reload1.c (reload): Likewise.
+ 	* rtlanal.c (hoist_insn_to_edge): Likewise.
+ 	* stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
+ 	expand_loop_continue_here, expand_end_loop, expand_continue_loop,
+ 	expand_exit_loop_top_cond, expand_value_return,
+ 	expand_start_bindings_and_block, expand_end_bindings,
+ 	expand_decl_cleanup, expand_start_case): Likewise.
+ 	* unroll.c (copy_loop_body
+ 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
+ 	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
+ 	rs6000_emit_allocate_stack, rs6000_output_function_prologue,
+ 	rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+ 
+ 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-tree.h (grokfield): Remove unused filename and line parameters.
+ 	* c-decl.c (grokfield): Remove unused filename and line	parameters.
+ 	* c-parse.in (component_decl): Adjust field grokking rules, adjust
+ 	grokfield calls.
+ 	(component_declarator): Likewise.
+ 	(component_notype_declarator): Likewise.
+ 	* objc/objc-act.c (build_module_descriptor): Adjust grokfield
+ 	calls.
+ 	(build_protocol_template, build_method_prototype_list_template,
+ 	build_method_prototype_template, build_category_template,
+ 	build_selector_template, build_class_template,
+ 	build_super_template, build_ivar_template,
+ 	build_ivar_list_template, build_method_list_template,
+ 	build_method_template, add_instance_variable): Likewise.
+ 
+ 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
+ 	OP2 are known to be not equivalent.
+ 
+ 2003-06-26  Devang Patel <dpatel@apple.com>
+ 
+ 	* final.c (debug_flush_symbol_queue): New function.
+ 	(debug_queue_symbol): New function.
+ 	(debug_free_queue): New function.
+ 	(debug_nesting): New variable.
+ 	(symbol_queue): New variable.
+ 	(symbol_queue_index): Same.
+ 	(symbol_queue_size): Same.
+ 	* debug.h (debug_flush_symbol_queue): New.
+ 	(debug_queue_symbol): New.
+ 	(debug_free_queue): New.
+ 	(debug_nesting): New.
+ 	(symbol_queue_index): New.
+ 	* dbxout.c (DBXOUT_DECR_NESTING): New macro.
+ 	(DBXOUT_DECR_NESTING_AND_RETURN): New macro.
+ 	(dbxout_init): Delay symbol output.
+ 	(dbxout_global_decl): Save, set and reset TREE_USED bit around
+ 	dbxout_symbol() call.
+ 	(dbxout_begin_function): Same.
+ 	(dbxout_finish): Free symbol queue.
+ 	(dbxout_type): Put appropriate symbols in queue.
+ 	(dbxout_symbol): Put info for symbol's type in queue.
+ 	Decrement/Increment nesting counts flush symbol queue appropriately.
+ 	(dbxout_parms): Increment dbxout nesting.
+ 	(dbxout_reg_parms): Same.
+ 	* flags.h (flag_debug_only_used_symbols): New.
+ 	* toplev.c (flag_debug_only_used_symbols): New variable.
+ 	(lang_independent_options): Add entries for new option
+ 	-feliminate-unused-debug-symbols.
+ 	* common.opt: Add entry for -feliminate-unused-debug-symbols.
+ 	* opts.c (common_handle_options): Same.
+ 	* config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
+ 	-feliminate-unused-debug-symbols.
+ 	* doc/invoke.texi (Debugging Options): Document
+ 	-feliminate-unused-debug-symbols.
+ 
+ 2003-06-26  Roger Sayle  <roger@eyesopen.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
+ 	obtain the format string instead of using TREE_STRING_POINTER and
+ 	TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
+ 	return value is unused or the length of src is a known constant.
+ 
+ 2003-06-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
+ 
+ 2003-06-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
+ 	(ia64_split_call): Only load descriptor for GP register inputs.
+ 	(ia64_expand_epilogue): Check current_frame_info.mask not
+ 	current_function_is_leaf to restore ar.pfs.
+ 
+ 2003-06-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
+ 	instead of replacing it.
+ 
+ 2003-06-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): Kill function return value
+ 	registers across tail calls.
+ 
+ 	* flow.c (propagate_one_insn): Preserve live-at-end registers
+ 	across tail calls.
+ 
+ 2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* reload.c (can_reload_into): New function.
+ 	(push_reload): Use it.
+ 
+ 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_a_rotate_length): Fix the
+ 	references to the amount of a rotation.
+ 
+ 2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/sh/coff.h: Don't include dbxcoff.h.
+ 	* config.gcc: List it here.
+ 
+ 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* postreload.c (reload_cse_simplify_set): Call cselib_lookup
+ 	earlier.  Don't check if SRC is a constant.
+ 
+ 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* Makefile.in (OBJS): Add postreload.o.
+ 	Remove cselib.h from the dependency list for reload1.o.
+ 	Add a dependency list for postreload.o.
+ 	* reload.h: Change the comment for the prototype of
+ 	reload_cse_regs.
+ 	* reload1.c: Don't include cselib.h.
+ 	(reload_cse_regs): Move to postreload.c
+ 	(reload_cse_regs_1): Likewise.
+ 	(reload_cse_noop_set_p): Likewise.
+ 	(reload_cse_simplify_set): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	(RELOAD_COMBINE_MAX_USES): Likewise.
+ 	(reload_combine_ruid): Likewise.
+ 	(LABEL_LIVE): Likewise.
+ 	(reload_combine): Likewise.
+ 	(reload_combine_note_use): Likewise.
+ 	(reload_combine_note_store): Likewise.
+ 	(reg_set_luid): Likewise.
+ 	(reg_offset): Likewise.
+ 	(reg_base_reg): Likewise.
+ 	(reg_mode): Likewise.
+ 	(move2add_luid): Likewise.
+ 	(move2add_last_label_luid): Likewise.
+ 	(MODES_OK_FOR_MOVE2ADD): Likewise.
+ 	(reload_cse_move2add): Likewise.
+ 	(move2add_note_store): Likewise.
+ 	(reload_cse_simplify): Likewise.
+ 	* postreload.c: New.
+ 
+ 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.c (final_prescan_insn): Remove support for
+ 	-mrtl.
+ 	* config/avr/avr.h (MASK_RTL_DUMP): Remove.
+ 	(TARGET_RTL_DUMP): Likewise.
+ 	(TARGET_SWITCHES): Remove -mrtl.
+ 
+ 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Change emit_a_rotate to
+ 	output_a_rotate.  Add a prototype for compute_a_rotate_length.
+ 	* config/h8300/h8300.c (emit_a_rotate): Change to
+ 	output_a_rotate.
+ 	(compute_a_rotate_length): New.
+ 	(h8300_adjust_insn_length): Remove.
+ 	* config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
+ 	* config/h8300/h8300.md (adjust_length): Remove.
+ 	(*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
+ 	(*rotlhi3_1): Likewise.
+ 	(*rotlsi3_1): Likewise.
+ 
+ 2003-06-26  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Always stabilize the argument
+ 	list against re-evaluation.  If expand_unop fails, call expand_call
+ 	with the stabilized argument list rather than return NULL_RTX.
+ 	(expand_builtin_mathfn2): Likewise, always stabilize the argument
+ 	list, and call expand_call ourselves if expand_binop fails.
+ 
+ 2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11210
+ 	* fold-const (decode_field_reference): Strip only NOPs that
+ 	don't affect the sign.
+ 
+ 2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+ 
+ 	* gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
+ 	(pop_fpscr, fpu_switch): Likewise.
+ 
+ 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* value-prof.c: New.
+ 	* value-prof.h: New.
+ 	* Makefile.in (value-prof.o): New.
+ 	(LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
+ 	(profile.o): Add value-prof.h and tree.h dependency.
+ 	* flags.h (flag_profile_values): Declare.
+ 	* gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
+ 	Add new counters.
+ 	(GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
+ 	GCOV_COUNTER_V_DELTA): New counter sections.
+ 	(__gcov_merge_single, __gcov_merge_delta): Declare.
+ 	* flow.c (mark_used_regs): Set subregs_of_mode only when the
+ 	structure is initialized.
+ 	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
+ 	* profile.c: Include value-prof.h and tree.h.
+ 	(gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
+ 	gen_const_delta_profiler, instrument_values): New static functions.
+ 	(get_exec_counts): Fix comment.
+ 	(branch_prob): Invoke instrument_values.
+ 	* toplev.c (flag_profile_values): New flag.
+ 	* doc/invoke.texi (-fprofile-values): Document.
+ 
+ 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (cfgrtl.o): Add expr.h dependency.
+ 	* cfgrtl.c: Include expr.h.
+ 	(mark_killed_regs, safe_insert_insn_on_edge): New
+ 	functions.
+ 	* config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
+ 	* basic-block.h (safe_insert_insn_on_edge): Declare.
+ 
+ 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (missing_arg): Make non-static.
+ 	(c_common_handle_option): Don't check for missing arguments.
+ 	* opts.c (handle_option): Check for missing arguments.
+ 
+ 2003-06-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md (power4-veccomplex): Correct latency.
+ 
+ 2003-06-25  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* configure.in (ld_vers): Portability [sed].
+ 	* configure: Regenerate with autoconf213.
+ 
+ 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
+ 
+ 	* doc/extend.texi: Document new builtin functions for Intel
+ 	Prescott New Intrunctions.
+ 
+ 	* doc/invoke.texi: Document new command-line options, -mpni and
+ 	-mno-pni, for Intel Prescott New Intrunctions.
+ 
+ 	* config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
+ 
+ 	* config/i386/i386.c (override_options): Turn on MASK_SSE2
+ 	for -mpni. Turn on MASK_SSE for -msse2.
+ 	(bdesc_2arg): Add PNI builtins with 2 args.
+ 	(bdesc_1arg): Add PNI builtins with 1 arg.
+ 	(ix86_init_mmx_sse_builtins): Handle PNI builtins.
+ 	(ix86_expand_builtin): Likewise.
+ 
+ 	* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
+ 	MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
+ 	MASK_TLS_DIRECT_SEG_REFS): Renumbered.
+ 	(TARGET_PNI): New.
+ 	(TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
+ 	-mpni and -mno-pni.
+ 	(TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
+ 	(ix86_builtins): Add PNI builtins.
+ 	(config/i386/i386.md): Add PNI patterns.
+ 
+ 	* config/i386/pmmintrin.h: New file.
+ 
+ 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (call): Fix the insn lengths.
+ 	(call_value): Likewise.
+ 
+ Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-common.c (handle_used_attribute): Use mark_referenced.
+ 	* varasm.c (mark_referenced): Break out from ...
+ 	(assemble_name): ... here.
+ 	* tree.h (mark_referenced): Declare.
+ 
+ 2003-06-25  Wolfgang Bangerth  <bangerth@dealii.org>
+ 
+ 	* gccbug.in: Add PCH to list of categories.
+ 
+ 2003-06-25 Martin Schaffner <schaffner@gmx.li>
+ 
+ 	* cppfiles.c: Clarify comments.
+ 	* cpphash.h: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* cppmacro.c: Likewise.
+ 	* mkdeps.h: Likewise.
+ 
+ 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (complain_wrong_lang, write_langs): Remove.
+ 	(c_common_handle_option): Complaints about wrong language are
+ 	handled in opts.c now.
+ 	* opts.c (complain_wrong_lang, write_langs, handle_options): New.
+ 	(find_opt): Fix thinko.
+ 	(handle_option): Update prototype.  Complain about switches for
+ 	a different front end.
+ 	* opts.h (lang_names, handle_options): New.
+ 	(handle_option): Remove.
+ 	* opts.sh: Write out language names array.
+ 	* toplev.c (parse_options_and_default_flags): Use handle_options.
+ 
+ 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
+ 
+ 	* config/i386/i386.c (MASK_SSE1): Removed.
+ 	(MASK_SSE164): Removed.
+ 	(MASK_SSE264): Removed.
+ 	(bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
+ 	MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
+ 	with MASK_SSE2 | MASK_64BIT.
+ 	(bdesc_1arg): Likewise.
+ 	(ix86_init_mmx_sse_builtins): Likewise.
+ 
+ 	* config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
+ 	(TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
+ 	-msse2.
+ 
+ 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
+ 	(HOST_WIDE_INT_PRINT_DEC_SPACE,
+ 	HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
+ 	HOST_WIDEST_INT_PRINT_DEC_SPACE,
+ 	HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
+ 	(HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
+ 	HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
+ 	terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
+ 
+ 	* final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
+ 	* ra-debug.c (dump_static_insn_cost): Likewise.
+ 
+ 2003-06-26  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
+ 	of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
+ 	Replace occurances of '???' with 'XXX' incase they are
+ 	mistaken for trigraphs.
+ 	(THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
+ 	does not have a register for the first operand.
+ 
+ 2003-06-25	Dhananjay Deshpande <dhananjayd@kpitcummins.com>
+ 
+ 	* config/sh/sh.c (sh_register_move_cost):
+ 	Add case for moving between MAC_REGS.
+ 
+ 2003-06-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 10178
+ 	* langhooks.h (struct lang_hooks): Add no_body_blocks bool.
+ 	* langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
+ 	* c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
+ 	to true.
+ 	* stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
+ 	return 0.
+ 
+ 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (bt-load.o): Depend on $(TM_P_H).
+ 	* bt-load.c: Include "tm_p.h".
+ 
+ 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (compute_mov_length): Adjust for the
+ 	new optimization.
+ 	* config/h8300/h8300.md (*movsi_h8300): Optimize the load of
+ 	an SImode constant whose upper and lower are the same.
+ 
+ Wed Jun 25 11:31:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* varasm.c (assemble_name): Mark needed variables even when
+ 	global info is ready.
+ 
+ 2003-06-24  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	PR other/11280
+ 	* gcc/doc/invoke.texi (Optimization Options): Remove -Os from
+ 	-freorder-functions description.
+ 
+ 2003-06-25  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* dwarf2out.c (gen_field_die): Return if type of decl is error mark.
+ 
+ 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.c (common_handle_option): Add missing break;s.
+ 
+ 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	compute_mov_length.
+ 	* config/h8300/h8300.c (compute_mov_length): New.
+ 	* config/h8300/h8300.md (*movqi_h8300): Use it.
+ 	(*movqi_h8300hs): Likewise.
+ 	(movstrictqi): Likewise.
+ 	(*movhi_h8300): Likewise.
+ 	(*movhi_h8300hs): Likewise.
+ 	(movstricthi): Likewise.
+ 	(*movsi_h8300): Likewise.
+ 	(*movsf_h8300): Likewise.
+ 	(*movsi_h8300hs): Likewise.
+ 	(*movsf_h8300hs): Likewise.
+ 
+ 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* jump.c (next_nondeleted_insn): Remove.
+ 	* rtl.h: Remove the prototype for next_nondeleted_insn.
+ 
+ 2003-06-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/11311
+ 	* builtins.c (powi_cost): Fix typo.  The number of multiplications
+ 	required is the number to reduce the argument, result, plus the
+ 	cost of calculating the residual, val [not n, the original value].
+ 
+ 2003-06-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
+ 
+ 2003-06-24  Richard Henderson  <rth@redhat.com>
+ 	    (blame to: Loren James Rittle  <ljrittle@acm.org>)
+ 
+ 	* real.h (ieee_extended_intel_96_round_53_format): New.
+ 	* real.c (ieee_extended_intel_96_round_53_format): New.
+ 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
+ 	for XFmode and TFmode.
+ 
+ 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (4 anonymous patterns): Give internal
+ 	names.
+ 	(movsi_h8300): Change the name to *movsi_h8300.
+ 	(movsi_h8300hs): Change the name to *movsi_h8300hs.
+ 	(movsf_h8300): Change the name to *movsf_h8300.
+ 	(movsf_h8300hs): Change the name to *movsf_h8300hs.
+ 
+ 2003-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
+ 	src twice.
+ 
+ 2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	Back out these patches:
+ 	 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
+ 	  * sh.h (OLD_ARG_MODE): New macro.
+ 	  (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+ 	  (FUNCTION_ARG_1): Break out of:
+ 	  (FUNCTION_ARG).  Use OLD_ARG_MODE.
+ 	 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
+ 	  * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
+ 	  of the generated register.
+ 
+ 	* sh.h (FUNCTION_ARG_SCmode_WART): Define.
+ 	(FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
+ 	an even number of floating point regs are in use, use the same
+ 	sequence of argument passing registers for SCmode as would be
+ 	used for two SFmode values.
+ 	* sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
+ 	swap real / imaginary parts in incoming SCmode values passed
+ 	in registers.
+ 
+ 2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR target/11260
+ 	* config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
+ 
+ Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cgraph.o): Depend on output.h, not depend on
+ 	tree-inline.h
+ 	* cgraph.c: Do not include tree-inline.h; include output.h
+ 	(known_fns): Rename to ...
+ 	(known_decls): ... this one; update all uses.
+ 	(cgraph_varpool_hash): New static variable.
+ 	(cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
+ 	variables.
+ 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
+ 	cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
+ 	cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
+ 	New functions.
+ 	* cgraph.h (cgraph_varpool_node): New structure.
+ 	(cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
+ 	(cgraph_varpool_node, cgraph_varpool_node_for_identifier,
+ 	cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
+ 	cgraph_varpool_asemble_pending_decls): Declare.
+ 	* cgraphunit.c (record_call_1): Notice variable references.
+ 	(cgraph_finalize_compilation_unit): Assemble pending variables.
+ 	* toplev.c (wrapup_global_declarations): Use varpool.
+ 	(compile_file): Assemble pending declarations.
+ 	(rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
+ 	* varasm.c (assemble_name): Notice varpool references.
+ 
+ Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
+ 	* langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
+ 	* varasm.c (assemble_variable): Call prepare_assemble_variable.
+ 
+ 2003-06-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin): Use expand_builtin_pow to expand
+ 	calls for pow, powf, powl and their __builtin_ variants.
+ 	(expand_builtin_pow): If the second argument is a constant
+ 	integer and compiling with -ffast-math, use expand_powi to
+ 	generate RTL if powi_cost is less than POWI_MAX_MULTS.
+ 	(powi_cost): New function to return the number of multiplications
+ 	necessary to evaluate an Nth power, for integer constant N.
+ 	(expand_powi): New function to expand the RTL for evaluating
+ 	the Nth power of a floating point value, for integer constant N.
+ 
+ 	* doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
+ 
+ Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_nodes_queue): Declare.
+ 	(eq_node): Take identifier as p2.
+ 	(cgraph_node): Update htab_find_slot_with_hash call.
+ 	(cgraph_node_for_identifier): New.
+ 	(cgraph_mark_needed_node): Move here from cgraphunit.c.
+ 	* cgraph.h (cgraph_nodes_queue): Declare.
+ 	(cgraph_node_for_identifier): Declare.
+ 	* cgraphunit.c (cgraph_finalize_function): Collect entry points here
+ 	instead of in cgraph_finalize_compilation_unit; constructors and
+ 	destructors are entry points.
+ 	(cgraph_finalize_compilation_unit): Reorganize debug outout;
+ 	examine nested functions after lowerng; call collect_functions hook.
+ 	(cgraph_mark_local_functions): DECL_COMDAT functions are not local.
+ 	(cgraph_finalize_compilation_unit): Do not collect entry points.
+ 	* varasm.c: Include cgraph.h
+ 	(assemble_name): Mark referenced identifier as needed.
+ 
+ 	* cgraphunit.c (record_call_1): Use get_callee_fndecl.
+ 
+ 2003-06-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
+ 	just SYMBOL_REF.
+ 	* config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
+ 	mode, as it requires pic register loaded.
+ 
+ 	* varasm.c (resolve_unique_section): Remove prototype.  No longer
+ 	static.
+ 	* tree.h (resolve_unique_section): New prototype.
+ 
+ 2003-06-23  Andreas Schwab  <schwab@suse.de>
+ 
+ 	PR debug/9905
+ 	* dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
+ 	recursing through first argument.
+ 
+ 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog.1: Fix a typo.
+ 	* cfgrtl.c: Fix comment typos.
+ 	* dwarf2out.c: Likewise.
+ 	* expmed.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* ssa-dce.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/extend.texi: Fix typos.
+ 	* doc/md.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Fix comment formatting.
+ 	* bt-load.c: Likewise.
+ 	* builtins.c: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-format.c: Likewise.
+ 	* coverage.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* cpppch.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* function.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcov-io.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* real.h: Likewise.
+ 	* sched-deps.c: Likewise.
+ 
+ 2003-06-23  Roger Sayle  <roger@eyesopen.com>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add a note on testing and
+ 	remove duplicates from testers list.
+ 
+ 2003-06-23  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* read-rtl.c (read_braced_string): Check for EOF.  If
+ 	encountered issue an error message.
+ 
+ 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Document dump options, dT and dW.
+ 
+ 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genrecog.c (pred_table): Remove the entry for
+ 	mode_independent_operand.
+ 	* recog.c (next_insns_test_no_inequality): Remove.
+ 	(mode_independent_operand): Likewise.
+ 	* recog.h: Remove the prototype for mode_independent_operand.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
+ 	store into bit 0.
+ 	* config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
+ 	second alternative to set_znv.
+ 	(*extzv_1_r_inv_h8300hs): Likewise.
+ 
+ 2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* configure.in (in_tree_gas): Find out here whether GAS is ELF,
+ 	set in_tree_gas_is_elf accordingly.
+ 	(in_tree_ld): Find out whether LD emulation is ELF, set
+ 	in_tree_ld_is_elf accordingly.
+ 	(gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
+ 	(gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
+ 	(gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
+ 	(gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
+ 	grepping gas/Makefile.
+ 	(gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
+ 	$in_tree_ld_is_elf instead of grepping ld/Makefile.
+ 	* configure: Regenerate.
+ 
+ 2003-06-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
+ 	up the stabilized argument list, not build_tree_list.
+ 	(expand_builtin_strcpy): Construct new argument list manually
+ 	instead of using chainon to modify the original argument list.
+ 	(expand_builtin_stpcpy): Construct new argument list manually
+ 	instead of using copy_list and chainon.
+ 	(expand_builtin_sprintf): New function.  Optimize calls to
+ 	sprintf when the format is "%s" or doesn't contain a '%'.
+ 	(expand_builtin): Expand BUILT_IN_SPRINTF using the new function
+ 	expand_builtin_sprintf.
+ 
+ 2003-06-22  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* function.c (set_insn_locators): Mark as unused.
+ 
+ 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* common.opt: Add -finline-limit.
+ 	* opts.c (common_handle_options): Handle it.
+ 	* opts.sh: Temporary kludge for -finline-limit.
+ 	* toplev.c (decode_f_option, independent_decode_option): Die.
+ 	(parse_options_and_default_flags): No independent_decode_option.
+ 
+ 2003-06-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
+ 
+ 2003-06-22  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* doc/invoke.texi: Remove leading `-' from options in index.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bt-load.c: Follow spelling conventions.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (emit_move_insn_1): Fix a comment typo.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Alphabetize dump options.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Remove a duplicate -dk.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Update dump file names.
+ 
+ 2003-06-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
+ 	and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
+ 
+ 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/rtl.texi: Fix the @findex for pre_modify.
+ 
+ 2003-06-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* caller-save.c: Convert to ISO C90.
+ 	* calls.c: Likewise.
+ 	* cfg.c: Likewise.
+ 	* cfganal.c: Likewise.
+ 	* cfgbuild.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfghooks.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfglayout.h: Likewise.
+ 	* cfgloop.c: Likewise.
+ 	* cfgloop.h: Likewise.
+ 	* cfgloopanal.c: Likewise.
+ 	* cfgloopmainip.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 
+ 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
+ 	64-bit alignment.
+ 
+ 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (all call_value patterns): Remove register constraints on
+ 	value operand.
+ 
+ 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* common.opt: More -f switches.
+ 	* opts.c (common_handle_options): Handle them.
+ 	* toplev.c (time_report): Make extern.
+ 	(f_options): USe flag_dummy.
+ 	(decode_f_option): No need to use f_options now.
+ 	* toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
+ 	flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
+ 
+ 2003-06-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-lex.c: Convert to ISO C90.
+ 	* c-objc-common.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* c-pch.c: Likewise.
+ 	* c-ppoutput.c: Likewise.
+ 	* c-pragma.h: Likewise.
+ 	* c-pretty-print.c: Likewise.
+ 	* c-pretty-print.h: Likewise.
+ 	* c-semantics.c: Likewise.
+ 	* c-tree.h: Likewise.
+ 	* c-typeck.c: Likewise.
+ 
+ 	* c-lang.c: Convert to ISO C90.
+ 
+ 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.c (find_opt): Fix to always guarantee a find of a
+ 	switch with joined parameter.
+ 	* opts.h (struct cl_option): New member back_chain.
+ 	* opts.sh: Update to calculate and add back_chain member.
+ 
+ 2003-06-22  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.h (output_host_wide_integer): Declare.
+ 	* diagnostic.c (output_long_long_decicaml): New function.
+ 	(output_host_wide_integer): Likewise.
+ 	(output_format): Use them.  Handle "%ll" and "%w".
+ 
+ 2003-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
+ 
+ 2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (gcc_AC_C_CHARSET): Delete.
+ 	* configure.in: Don't use gcc_AC_C_CHARSET.
+ 	* configure, config.in: Regenerate.
+ 	* config/i370/i370.c, config/i370/i370.h: Use
+ 	(HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
+ 	instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.
+ 
+ 2003-06-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* common.opt: New switches.
+ 	* opts.c: Include diagnostic.h.
+ 	(common_handle_option): Handle new switches.
+ 	* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
+ 	flag_if_conversion2, flag_delete_null_pointer_checks,
+ 	flag_rerun_cse_after_loop): Make extern.
+ 	(flag_dummy): New.
+ 	(f_options): Update to use flag_dummy for moved options.
+ 	(decode_f_option): Some switches moved to opts.c.
+ 	* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
+ 	flag_if_conversion2, flag_delete_null_pointer_checks,
+ 	flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
+ 	flag_tracer, flag_thread_jumps, flag_unroll_loops,
+ 	flag_unroll_all_loops, flag_unswitch_loops): New.
+ 
+ Sat Jun 21 13:41:00 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_va_arg): Fix allocation of temporary slot.
+ 
+ 2003-06-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	same_cmp_preceding_p.
+ 	* config/h8300/h8300.c (same_cmp_preceding): New.
+ 	* config/h8300/h8300.md: Extend peephole2's that transform
+ 	compare:SI into shorter sequences so that they can deal with
+ 	signed comparisons.
+ 
+ 2003-06-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Use Windows instead of Win32.
+ 
+ 	Update Andreas Jaeger's entry.
+ 
+ 	Merge the two entries of Kaveh Ghazi, David Edelsohn, and
+ 	Loren J. Rittle.
+ 
+ 2003-06-21  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* mkconfig.sh: Add multiple inclusion guards to generated headers.
+ 
+ 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
+ 	* common.opt: Add remaining -W options and -g.
+ 	* diagnostic.c (warnings_are_errors): Remove.
+ 	* flags.h: Make most warning flags boolean.
+ 	* opts.c (common_handle_option): Handle remaining -W options, and -g.
+ 	Move many warning flags from toplev.c, making them boolean.
+ 	* toplev.c: Remove many warning flags.
+ 	(decode_W_option): Remove.
+ 	(decode_g_option): Make extern.  Error on unknown switch.
+ 	(lang_independent_W_options): Use warn_dummy.
+ 	(independent_decode_option): Just handle -f switches now.
+ 	* toplev.h (decode_g_option): New.
+ 
+ 2003-06-20  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR/11092
+ 	* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
+ 	vectors.
+ 
+ 2003-06-20  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* opts.sh: Tweak awk script for portability.
+ 
+ 2003-06-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/10888
+ 	* tree-inline.c (expand_call_inline): Do not warn about failing to
+ 	inline functions declared in system headers.
+ 	* doc/invoke.texi (-Winline): Expand on documentation.
+ 
+ 2003-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_file_start): Disable
+ 	file_start_file_directive for ELF and not MDEBUG.
+ 
+ 2003-06-20  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (ROUND_TYPE_ALIGN): Remove.
+ 
+ 2003-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* hooks.c (hook_int_void_no_regs): Rename from
+ 	hook_reg_class_void_no_regs; change return type.
+ 	* hooks.h: Update.
+ 	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
+ 	* target.h (branch_target_register_class): Change return type to int.
+ 	Add documentation.
+ 	* config/sh/sh.c (sh_target_reg_class): Change return type.
+ 	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
+ 
+ 2003-06-20  Andreas Tobler <toa@pop.agri.ch>
+ 
+ 	* c-format.c: Change _Bool to bool reverting part of the last
+ 	patch.
+ 
+ 2003-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
+ 	strip name encoding.
+ 
+ 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
+ 	* configure: Regenerate.
+ 	Fixes PR driver/9362.
+ 
+ 2003-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/alpha/alpha.c (alpha_file_start): Fix typo.
+ 
+ 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
+ 	to ASM_OUTPUT_SOURCE_LINE.
+ 
+ 2003-06-20  Daniel Egger  <degger@fhm.edu>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Building): Correct and improve statement
+ 	about parallel builds.
+ 
+ 2003-06-20  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-common.c: Change _Bool to bool reverting part of the last
+ 	patch.
+ 
+ 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (expand_function_end): Remove all parameters.
+ 	* function.c (expand_function_end): Remove all parameters.
+ 	Use input_location. Never expand_end_bindings.
+ 	* c-decl.c (c_expand_body_1): Adjust expand_function_end call.
+ 	* coverage.c (create_coverage): Likewise.
+ 
+ 2003-06-20  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* doc/extend.texi (ARM Built-in Functions): New node.  Document
+ 	ARM builtin functions for iWMMXt support.
+ 
+ 2003-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
+ 	SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
+ 	(--with-as): Add @anchor.
+ 	(--with-gnu-ld): Fix typo.
+ 	(--with-ld): Add @uref to --with-as.
+ 
+ 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/tm.texi: Uniformly use @defmac for macros, rather than
+ 	@table items.  Minor formatting and editorial corrections.
+ 
+ 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* line-map.c, line-map.h: Convert to ISO prototypes.
+ 
+ 2003-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (store_killed_in_insn): Fix.
+ 
+ 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* target.h (asm_out.file_start, file_start_app_off,
+ 	file_start_file_directive): New hooks.
+ 	* target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
+ 	TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
+ 	New hook-definition macros.
+ 	* doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
+ 	* varasm.c (default_file_start): New.
+ 	* output.h: Prototype it.
+ 	* toplev.c (init_asm_output): Use targetm.asm_out.file_start.
+ 	* system.h: Poison ASM_FILE_START.
+ 
+ 	* config/alpha/alpha.c (alpha_write_verstamp): Delete.
+ 	(alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
+ 	(unicosmk_asm_file_start): Rename unicosmk_file_start,
+ 	make static, take no arguments.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
+ 	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
+ 	* config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
+ 	TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
+ 	comment.
+ 	* config/arc/arc.c (arc_asm_file_start): Rename
+ 	arc_file_start, take no arguments, make static.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/arm/arm.c (aof_file_start): New static function.
+ 	(TARGET_ASM_FILE_START): Set it, when appropriate.
+ 	* config/arm/coff.h, config/arm/elf.h:
+ 	Set TARGET_ASM_FILE_START_APP_OFF to true.
+ 	* config/avr/avr.c (asm_file_start): Rename avr_file_start,
+ 	take no arguments, make static.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
+ 	Set them.
+ 	* config/c4x/c4x.c (c4x_file_start): New static function.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
+ 	Set them.
+ 	* config/cris/cris.c (cris_file_start): New static function.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
+ 	dsp16xx_file_start, make static.
+ 	(luxworks_dsp16xx_file_start): Delete.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/h8300/h8300.c (asm_file_start): Rename
+ 	h8300_file_start, make static, take no arguments.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/i370/i370.c (i370_file_start): New static function.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/i386/i386.c (x86_file_start): New static function.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
+ 	X86_FILE_START_FLTUSED): New macros, default to false.
+ 	* config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
+ 	* config/i386/sysv4.h, config/i386/sco5.h: Override
+ 	X86_FILE_START_VERSION_DIRECTIVE to true.
+ 	* config/ia64/ia64.c (ia64_file_start): New static function.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	(emit_safe_across_calls): Take no arguments.
+ 	* config/ia64/ia64.md: Update to match.
+ 	* config/m32r/m32r.c (m32r_asm_file_start): Rename
+ 	m32r_file_start, make static, take no arguments.
+ 	(TARGET_ASM_FILE_START): Set it.
+ 	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
+ 	m68hc11_file_start, make static, take no arguments.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	(print_options): Delete.
+ 	* config/m68k/m68k.c (m68k_hp320_file_start): New static function.
+ 	(TARGET_ASM_FILE_START_APP_OFF): Set.
+ 	* config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
+ 	m68k_hp320_file_start.
+ 	* config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
+ 	Make static, take no arguments.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	* config/mmix/mmix.c (mmix_asm_file_start): Rename
+ 	mmix_file_start, make static, take no arguments.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	* config/mn10300/mn10300.c (asm_file_start): Rename
+ 	mn10300_file_start, make static, take no arguments.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	* config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
+ 	* config/pa/pa.c (pa_file_start_level, pa_file_start_space,
+ 	pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
+ 	pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
+ 	pa_hpux64_hpas_file_start): New static functions.
+ 	* config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
+ 	* config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
+ 	pa_linux_file_start.
+ 	* config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
+ 	pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
+ 	appropriate.
+ 	* config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
+ 	* config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
+ 	(rs6000_file_start): Make static, take no arguments.  Reset
+ 	default_cpu under certain conditions.
+ 	(rs6000_xcoff_file_start): New function.
+ 	* config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
+ 	* config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
+ 	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
+ 	* config/sh/sh.c (output_file_start): Rename
+ 	sh_file_start, make static, take no arguments.  Merge in old
+ 	code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	* config/sh/sh.c (TARGET_ELF): Define to 0.
+ 	* config/sh/elf.h (TARGET_ELF): Redefine to 1.
+ 	* config/v850/v850.c (asm_file_start): Delete.
+ 	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
+ 	* config/vax/vax.c (vax_file_start): New static function.
+ 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
+ 
+ 	* config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
+ 	* config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
+ 	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h
+ 	* config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
+ 	* config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
+ 	* config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
+ 
+ 	* config/darwin.h, config/elfos.h, config/alpha/elf.h
+ 	* config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
+ 	* config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
+ 	* config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
+ 	* config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
+ 	* config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
+ 	* config/i370/i370.h, config/i386/att.h, config/i386/gas.h
+ 	* config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
+ 	* config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
+ 	* config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
+ 	* config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
+ 	* config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
+ 	* config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
+ 	* config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
+ 	* config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
+ 	* config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
+ 	* config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
+ 	* config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
+ 
+ 	* config/alpha/alpha-protos.h, config/arc/arc-protos.h
+ 	* config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
+ 	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
+ 	* config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
+ 	* config/mips/mips-protos.h, config/mmix/mmix-protos.h
+ 	* config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
+ 	* config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
+ 
+ 	* xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
+ 	Remove reference to ASM_FILE_START in comment.
+ 	* config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
+ 	* config/arm/linux-gas.h, config/arm/netbsd-elf.h
+ 	* config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
+ 
+ 2003-06-19  Graeme Peterson <gp@qnx.com>
+ 
+ 	* gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
+ 	SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
+ 	sysroot_hdrs_suffix_spec): New.
+ 	(static_specs): Initialize new variables.
+ 	(add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
+ 	* doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
+ 	New macros.
+ 
+ 2003-06-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-aux-info.c: Convert to ISO C90.
+ 	* c-pragma.c: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-convert.c: Likewise.
+ 	* c-cppbuiltin.c: Likewise.
+ 	* c-dump.c: Likewise.
+ 	* c-decl.c: Likewise
+ 	* c-format.c: Likewise.
+ 	* c-incpath.c: Likewise.
+ 	* c-incpath.h: Likewise.
+ 
+ 2003-06-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_errno_check): Assume that flag_errno_math
+ 	and HONOR_NANS have been tested before calling here.  Only try
+ 	to set errno ourselves if the decl can't throw an exception.
+ 	(expand_builtin_mathfn): Move the code to stabilize the arg
+ 	after the main switch, so that that its only done when needed.
+ 	BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
+ 	Don't modify the original expr when stabilizing the argument.
+ 	(expand_builtin_mathfn_2): Likewise, move the code to stabilize
+ 	the args after the main switch, and don't modify the orginal exp.
+ 
+ 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expr.c (const_vector_from_tree): Initialize remaining elements
+ 	to 0.
+ 
+ 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
+ 	Change "fix" to "float".
+ 
+ 2003-06-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-tree.h: Remove declaration of poplevel.
+ 
+ 	* tree.h: Remove declaration of approx_sqrt.
+ 
+ 	* c-lex.c: Remove redundant declaration of asm_out_file.
+ 
+ 	* flags.h: Remove declaration of warn_unknown_pragma and
+ 	main_input_filename.
+ 
+ 	* rtl.h: Remove functions from fold-const.c since they're already
+ 	declared in tree.h.
+ 
+ 	* regs.h: Remove redundant declaration of reg_names.
+ 
+ 	* bt-load.c (migrate_btr_defs): Correct printf arguments.
+ 
+ 	* protoize.c: Fix breakage from last patch.
+ 
+ 2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
+ 	has been included.
+ 
+ 2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
+ 
+ 	* config/sparc/sparc.c: Update copyright year.
+ 
+ 2003-06-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
+ 	to ABI_V4.
+ 
+ 2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR bootstrap/4068
+ 	* config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
+ 
+ 2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
+ 	to the end of the file.  Remove unnecessary prototypes.
+ 
+ 2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
+ 	calls to insn_default_latency and result_ready_cost.  Initialize
+ 	def_latency to 1.
+ 
+ 2003-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
+ 	(_Unwind_FindEnclosingFunction): Implement.
+ 
+ 2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* toplev.c (rest_of_handle_sched): Hide the entire function if
+ 	INSN_SCHEDULING is not defined.
+ 	(rest_of_compilation): Call rest_of_handle_sched() only when
+ 	INSN_SCHEDULING is defined.
+ 
+ 2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
+ 	    J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* bt-load.c: New file.
+ 	* Makefile.in (OBJS): Include bt-load.o
+ 	(bt-load.o): Add dependencies.
+ 	* flags.h (flag_branch_target_load_optimize): Declare.
+ 	(flag_branch_target_load_optimize2): Likewise.
+ 	* hooks.c (hook_reg_class_void_no_regs): New function.
+ 	(hook_bool_bool_false): Likewise.
+ 	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
+ 	* rtl.h (branch_target_load_optimize): Declare.
+ 	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
+ 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+ 	(TARGET_INITIALIZER): Include these.
+ 	* target.h (struct gcc_target): Add branch_target_register_class
+ 	and branch_target_register_callee_saved members.
+ 	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
+ 	(dump_file) Add "tars" entry.
+ 	(flag_branch_target_load_optimize): New variable.
+ 	(flag_branch_target_load_optimize2): Likewise.
+ 	(lang_independent_options): Add entries for new options.
+ 	(rest_of_compilation): Call branch_target_load_optimize.
+ 	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
+ 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+ 	* doc/invoke.texi: Document -fbranch-target-load-optimize and
+ 	-fbranch-target-load-optimize2.
+ 	* rtl.h (epilogue_completed): Declare.
+ 	* recog.c (epilogue_completed): New variable.
+ 	* toplev.c (rest_of_compilation): Set it.
+ 	* flow.c (mark_regs_live_at_end): Use it.
+ 	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+ 
+ 	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
+ 	(sh_target_reg_class): New function.
+ 	(sh_optimize_target_register_callee_saved): Likwise.
+ 	(shmedia_target_regs_stack_space): Likewise.
+ 	(shmedia_reserve_space_for_target_registers_p): Likewise.
+ 	(shmedia_target_regs_stack_adjust): Likewise.
+ 	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
+ 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
+ 	(calc_live_regs): If flag_branch_target_load_optimize2 and
+ 	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
+ 	for target registers, make sure that we save all target registers.
+ 	(sh_expand_prologue, sh_expand_epilogue): Take target register
+ 	optimizations into account.  Collapse stack adjustments if that
+ 	is beneficial.
+ 	(initial_elimination_offset): Reserve space for target registers
+ 	if necessary.
+ 	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
+ 	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
+ 
+ 2003-06-18  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add an extra_header for ARM targets.
+ 	Support configuring with --with-cpu=iwmmxt.
+ 	* doc/invoke.texi: Document new value for -mcpu= ARM switch.
+ 	* config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
+ 	names.  Fix formatting.
+ 	* config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
+ 	names.
+ 	* config/arm/arm-protos.h (arm_emit_vector_const): New
+ 	prototype.
+ 	(arm_output_load_gr): New prototype.
+ 	* config/arm/arm.c (extra_reg_names1): Delete.
+ 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
+ 	* arch_is_iwmmxt): Define.
+ 	(all_cores, all_architecture): Add entry for iwmmxt.
+ 	(arm_override_options): Add support for iwmmxt.
+ 	(use_return_insn, arm_function_arg, arm_legitimate_index_p,
+ 	arm_print_value, arm_rtx_costs_1, output_move_double,
+ 	arm_compute_save_reg_mask, arm_output_epilogue,
+ 	arm_get_frame_size, arm_expand_prologue, arm_print_operand,
+ 	arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
+ 	Likewise.
+ 	(arm_init_cumulative_args): Count iwmmxt registers.
+ 	(arm_function_ok_for_sibcall): Return false of sibcall_blocked
+ 	has been set.
+ 	(struct minipool_node): Add fix_size field.
+ 	(add_minipool_forward_ref): Add support for 8-byte aligning of
+ 	the pool.
+ 	(add_minipool_backward_ref, add_minipool_offsets,
+ 	dump_minipool, push_minipool_fix): Likewise.
+ 	(struct builtin_description): New struct.
+ 	(builtin_description): New array of iwmmxt builtin functions.
+ 	(arm_init_iwmmxt_builtins): New function.
+ 	(arm_init_builtins): New function.
+ 	(safe_vector_operand): New function.
+ 	(arm_expand_binop_builtin): New function.
+ 	(arm_expand_unop_builtin): New function.
+ 	(arm_expand_builtin): New function.
+ 	(arm_emit_vector_const): New function.
+ 	(arm_output_load_gr): New function.
+ 	* config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
+ 	TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
+ 	TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
+ 	DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
+ 	(BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
+ 	(CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
+ 	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
+ 	REG_CLASS_FOR_LETTER): Add iwmmxt registers.
+ 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
+ 	registers unless the iwmmxt target is selected.
+ 	(FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
+ 	FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
+ 	IS_IWMMXT_GR_REGNUM): Define.
+ 	(FIRST_PSEUDO_REGISTER): Bump to 63.
+ 	(struct machine_function): Add sibcall_blocked field.
+ 	(Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
+ 	nargs fields.
+ 	(enum arm_builtins): New enum list.
+ 	* config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
+ 	UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
+ 	UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
+ 	UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
+ 	(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
+ 	VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
+ 	(movv2si, movv4hi, movv8qi): New expands for vector moves.
+ 	Include iwmmxt.md.
+ 	* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
+ 	multilib.
+ 	(MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
+ 	* config/arm/mmintrin.h: New ARM specific header file.
+ 	* config/arm/iwmmx.md: New iWMMXt specific machine patterns.
+ 
+ 2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* toplev.c (Remaining -d letters summary): Update.
+ 
+ 2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
+ 	argument.
+ 	(function_arg): Handle CALL_LIBCALL flag.
+ 	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
+ 	prototype.
+ 	* config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
+ 	(INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
+ 	(INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
+ 	(INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
+ 
+ 2003-06-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* common.opt: New options.
+ 	* opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
+ 	set_Wunused): New.
+ 	(common_handle_option): Handle new options.
+ 	* toplev.c (set_target_switch): Export.
+ 	(set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
+ 	(decode_W_option): -Wunused and -Wextra handled in opts.c now.
+ 	(independent_decode_option): More options handled in opts.c now.
+ 	Change prototype.
+ 	* toplev.h (set_target_switch): New.
+ 
+ 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
+ 
+ 	PR debug/4252
+ 	* c-opts.c (c_common_handle_option): Pass -fdump argument suffix
+ 	to dump_switch_p().
+ 	* tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
+ 	from static strings in dump_files.
+ 
+ 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
+ 	VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
+ 	libiberty macros.
+ 
+ 2003-06-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/10929
+ 	* tree-inline.c (expand_call_inline): Don't warn about failing to
+ 	inline a function which was made inline by -finline-functions.
+ 
+ 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update to ISO C.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
+ 
+ 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* install.texi (Testing): Add information on how to run Java
+ 	runtime tests separately.
+ 
+ 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
+ 
+ 	* config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
+ 	(MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
+ 
+ 2003-06-17  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* doc/install.texi: Add msvc rebuild caveat.
+ 
+ 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/coff.h: Replace Hitachi with Renesas.
+ 	* config/sh/elf.h: Likewise.
+ 	* config/sh/embed-elf.h: Likewise.
+ 	* config/sh/lib1funcs.asm: Likewise.
+ 	* config/sh/sh-protos.h: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 
+ 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog.3: Fix comment typos.
+ 	* ChangeLog.6: Likewise.
+ 	* config/d30v/d30v.c: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/ns32k/NOTES: Likewise.
+ 
+ 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
+ 	to run Java runtime tests separately.
+ 
+ 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update a comment.
+ 
+ 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
+ 	are aligned like integral modes.
+ 	(SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
+ 
+ 	* sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
+ 	(LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
+ 	* sh.md (*pt): Remove.
+ 
+ 	* sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
+ 
+ 	* sh.md (return_media_rte): New pattern.
+ 	(return_media): Use it.
+ 
+ 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/contrib.texi: Replace Hitachi with Renesas.
+ 	* doc/install.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
+ 	behaviour.
+ 
+ 2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
+ 
+ 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
+ 	2003-01-23 patch. Corrected to handle kernels with changed ucontext.
+ 
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
+ 	-msdata=eabi usages.
+ 
+ 	* gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
+ 
+ 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
+ 	* fixinc/gnu-regex.c: Don't define `volatile'.
+ 	* ggc-page.c: Don't check HAVE_LONG_DOUBLE.
+ 	* ggc-simple.c: Likewise.
+ 	* system.h: Don't define `volatile'.
+ 
+ 	* aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
+ 	* configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
+ 	call these macros.
+ 	* config.in, configure: Regenerated.
+ 
+ 2003-06-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
+ 	Handle POINTERS_EXTEND_UNSIGNED.
+ 
+ 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
+ 	!TARGET_IRIX6]: Define as NULL.
+ 
+ 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
+ 
+ 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* dbxout.c (dbxout_source_line_counter): New global variable.
+ 	Mark it with GTY(()).
+ 	(dbxout_source_line): Increment dbxout_source_line_counter
+ 	and pass it to ASM_OUTPUT_SOURCE_LINE.
+ 	* sdbout.c (sdbout_source_line_counter): New global variable.
+ 	Mark it with GTY(()).
+ 	(unnamed_struct_number): Mark it with GTY(()).
+ 	(sdbout_source_line): Increment sdbout_source_line_counter
+ 	and pass it to ASM_OUTPUT_SOURCE_LINE.
+ 	* xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
+ 	(xcoffout_source_line): Pass 0 as third argument to
+ 	ASM_OUTPUT_SOURCE_LINE.
+ 	(xcoffout_begin_prologue): Likewise.
+ 	* config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	Use it instead of 'sym_lineno' but without incrementing it.
+ 	* config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/alpha/alpha.c (alpha_start_function): Pass 0 as third
+ 	argument to ASM_OUTPUT_SOURCE_LINE.
+ 	* config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	* config/arm/aout.h: Remove useless comment.
+ 	* config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	* config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	Use it instead of 'sym_lineno' but without incrementing it.
+ 	* config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	* config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
+ 	parameter. Use it instead of 'sym_lineno' but without incrementing it.
+ 	* config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
+ 	argument to ASM_OUTPUT_SOURCE_LINE.
+ 	* config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
+ 	Use it instead of 'sym_lineno' but without incrementing it.
+ 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
+ 	* doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
+ 
+ 2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_expand_block_move): Declare.
+ 	(expand_block_move, output_block_move): Remove.
+ 	* config/mips/mips.h (enum block_move_type): Remove.
+ 	* config/mips/mips.c (block_move_call, output_block_move): Remove.
+ 	(mips_block_move_straight, mips_adjust_block_mem): New function.
+ 	(mips_block_move_loop): Renamed and reworked from block_move_loop.
+ 	(mips_expand_block_move): Likewise expand_block_move.  Return false
+ 	to fall back on the target-independent code.
+ 	* config/mips/mips.md (movstrsi): Use mips_expand_block_move.
+ 	(movstrsi_internal*): Remove.
+ 
+ 2003-06-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
+ 	* cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
+ 	* cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
+ 	ISO C: new-style function declarations, no need for PARAMS,
+ 	no special punctuation on indirect function calls, use string
+ 	constant concatenation where convenient.
+ 
+ 2003-06-17  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* rtl.h: Remove declarations from coverage.h.
+ 	* toplev.c: Include coverage.h.
+ 	* Makefile.in (toplev.o): Depend on coverage.h.
+ 
+ 	* toplev.h: Remove extra declaration of print_time.
+ 
+ 	* gengtype.c (close_output_files): Remove duplicated declaration.
+ 
+ 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/sparc/sysv4.h: Remove target-independent comment;
+ 	replace "GNU CC" with "GCC".
+ 	* config/vxworks.h: Replace "GNU compiler" with "GCC".
+ 	* config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
+ 	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
+ 	config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
+ 	config/sparc/rtemself.h, config/sparc/sol2-64.h,
+ 	config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
+ 	config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
+ 	config/sparc/sol2.h, config/sparc/sp64-aout.h,
+ 	config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
+ 	config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
+ 	"GNU compiler", "GNU CC" with "GCC".
+ 	* config/sparc/cypress.md, config/sparc/hypersparc.md,
+ 	config/sparc/sparc-modes.def, config/sparc/sparc.c,
+ 	config/sparc/sparc.md, config/sparc/sparclet.md,
+ 	config/sparc/supersparc.md, config/sparc/ultra1_2.md,
+ 	config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
+ 	"GNU C Compiler" with "GCC".
+ 	* config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
+ 
+ 2003-06-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Do not over-extend vector
+ 	constants.
+ 
+ 	* testsuite/gcc.c-torture/execute/simd-4.c: New.
+ 
+ 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/ip2k/ip2k.h: Remove target-independent comments.
+ 
+ 	* config.gcc: Explicitly mention elfos.h in ip2k entry.
+ 	* config/ip2k/ip2k.h: Don't #include it here.
+ 
+ 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
+ 	config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
+ 	dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
+ 	function.c, gcc.c, genoutput.c, gensupport.c, global.c,
+ 	haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
+ 	loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
+ 	read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
+ 	stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
+ 	the PTR macro.
+ 
+ 	* gengtype.c: Don't use UNION_INIT_ZERO.
+ 	* system.h (UNION_INIT_ZERO): Delete.
+ 
+ 2003-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
+ 	GET_MODE_UNIT_SIZE when simplifying constant vectors.
+ 
+ 2003-06-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* timevar.c (get_run_time): Remove function provided also by
+ 	libiberty.
+ 	* timevar.h: Remove get_run_time declaration.
+ 
+ 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
+ 	unreachable code.
+ 
+ 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
+ 	cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
+ 	use macros from "symcat.h", instead rely on ISO C.
+ 
+ 	* system.h: Don't include "symcat.h".
+ 	* configure.in (AC_C_STRINGIZE): Delete.
+ 	* config.in, configure: Regenerate.
+ 
+ 2003-06-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
+ 
+ 	* tree.h (STMT_CHECK): New macro.
+ 	Also upper-case argument names on all checking macros and
+ 	fix some whitespace problems; assume CODE argument does not
+ 	have side-effects.
+ 
+ 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* scan.h: Convert to ISO C.
+ 	* system.h: Likewise.
+ 
+ 	* c-format.c (dynamic_format_types): New pointer for dynamic data.
+ 	(find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
+ 	New functions split out of...
+ 	(handle_format_attribute): ...here.
+ 
+ 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (REG_CLASS_FROM_LETTER): Change to:
+ 	(REG_CLASS_FROM_CONSTRAINT).
+ 	(CONST_OK_FOR_I): Rename to:
+ 	(CONST_OK_FOR_I08).  Changed all users.
+ 	(CONST_OK_FOR_J): Rename to:
+ 	(CONST_OK_FOR_I16).  Changed all users.
+ 	(CONST_OK_FOR_K): Rename to:
+ 	(CONST_OK_FOR_P27).  Changed all users.
+ 	(CONST_OK_FOR_L): Rename to:
+ 	(CONST_OK_FOR_K08).  Changed all users.
+ 	(CONST_OK_FOR_O): Rename to:
+ 	(CONST_OK_FOR_I06).  Changed all users.
+ 	(CONST_OK_FOR_P): Rename to:
+ 	(CONST_OK_FOR_I10).  Changed all users.
+ 	(CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
+ 	(CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
+ 	(EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
+ 	(EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
+ 	(EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
+ 	(EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
+ 	(CONST_OK_FOR_LETTER_P): Replace with
+ 	(CONST_OK_FOR_CONSTRAINT_P).
+ 	(EXTRA_CONSTRAINT_S): Rename to:
+ 	(EXTRA_CONSTRAINT_C16).  Changed all users.
+ 	(MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
+ 	(EXTRA_CONSTRAINT_T): Rename to:
+ 	(EXTRA_CONSTRAINT_Csy).  Changed all users.
+ 	(EXTRA_CONSTRAINT_Z): Remove.
+ 	(EXTRA_CONSTRAINT): Replace with:
+ 	(EXTRA_CONSTRAINT_STR).
+ 	(EXTRA_CONSTRAINT_U): Rename to:
+ 	 (EXTRA_CONSTRAINT_Z).  Changed all users.
+ 	* sh.c (and_operand): Use CONST_OK_FOR_J16.
+ 	* sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
+ 	(addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
+ 	(iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
+ 	(lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
+ 	(movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
+ 	(*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
+ 	(movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
+ 	(movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
+ 	(beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
+ 	(movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
+ 	(negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
+ 	(mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
+ 	(mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
+ 	(mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
+ 	(mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
+ 	(mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
+ 	(mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
+ 	(mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
+ 	(mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
+ 	(sssubv4hi3): Likewise.
+ 	(movsf_i): Change I[08]/r to G/r.
+ 	(movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
+ 
+ 	* sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
+ 
+ 2003-06-16  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_memory_move_cost): Fix typo.
+ 
+ 2003-06-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* basic-block.h: Remove duplicate prototype of
+ 	note_prediction_to_br_prob.
+ 
+ 	* tree.h: Remove duplicate prototype of strip_float_extensions.
+ 
+ 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/c4x/c4x.c: Don't include "c-tree.h".
+ 	* config/pa/pa.c: Likewise.
+ 	* langhooks.c: Likewise.
+ 	* tree.h (poplevel): Declare.
+ 
+ 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (const_costs): Move this to ...
+ 	(h8300_rtx_costs): ... here.
+ 
+ 2003-06-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
+ 	(tan_optab, atan_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize tan_optab and atan_optab.
+ 	* genopinit.c (optabs): Implement tan_optab and atan_optab
+ 	using tan?f2 and atan?f2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
+ 	using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
+ 	Change the default value of errno_set to false.
+ 	(expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
+ 	using expand_builtin_mathfn.
+ 
+ 	* config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
+ 	expander patterns implemented using existing atan2?f3 patterns.
+ 
+ 2003-06-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
+ 	both operands of the addition equal, reuse the expanded RTL.
+ 	(expand_expr <MULT_EXPR>): Likewise for multiplication.
+ 
+ 2003-06-16  Roger Sayle  <roger@eyesopen.com>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (operand_equal_p): Consider two calls to "const"
+ 	functions with identical non-volatile arguments to be equal.
+ 	Consider the FUNCTION_DECL for the "__builtin_foo" form of a
+ 	built-in function to be equal to the "foo" form.
+ 
+ 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/rs6000/sysv4le.h: Remove target-independent comment.
+ 	Replace "GNU compiler" with "GCC" in comment.
+ 
+ 2003-06-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* tracer.c: Remove duplicate declaration.
+ 
+ 	* toplev.c: Remove extra declaration of decode_d_option.
+ 
+ 	* ssa.c: Remove duplicate declaration.
+ 
+ 	* sreal.c: Remove extra declaration of dump_sreal.
+ 
+ 	* reload1.c: Remove duplicate declarations.
+ 
+ 	* integrate.c: Remove extra declaration of
+ 	set_decl_abstract_flags.
+ 
+ 	* flow.c: Remove extra declaration of dump_flow_info.
+ 
+ 	* alias.c: Remove extra declaration of get_addr.
+ 
+ 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
+ 	config/vxworks.h: GNU CC -> GCC.
+ 
+ 	* convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
+ 	lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
+ 	stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
+ 	ssa.h, tree.def: Replace overly specific references to "GNU C"
+ 	and "GNU C Compiler" with references to "GCC".
+ 
+ 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (prepare_move_operand): Check if operand 0 is an invalid
+ 	memory reference.  Fix test that checks if operand 1 is using r0.
+ 	* sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
+ 
+ 	* defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
+ 	defined.
+ 
+ 2003-06-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* function.h (struct emit_status): Remove x_last_linenum,
+ 	x_last_filename. Add x_last_location.
+ 	* rtl.h: #include "input.h".
+ 	(NOTE_DATA): New.
+ 	* cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
+ 	number notes.
+ 	* emit-rtl.c (last_linenum, last_filename): Remove.
+ 	(last_location): New.
+ 	(emit_line_note_after): LINE must always be >= 0.
+ 	(emit_line_note): Likewise. Check not duplicate here...
+ 	(emit_note): ... rather than here.
+ 	(emit_line_note_force, force_next_line_note, init_emit): Adjust.
+ 	* integrate.c (expand_inline_function): Use emit_line_note for
+ 	line number notes.
+ 	(copy_insn_list): Likewise.
+ 	* unroll.c (copy_loop_body): Likewise.
+ 	* Makefile.in (RTL_H): Add input.h.
+ 
+ 2003-06-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optabs.c (emit_libcall_block): Don't hoist insns past a label.
+ 
+ 2003-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha-protos.h, config/alpha/elf.h,
+ 	config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
+ 	config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
+ 	* config/alpha/alpha.c: Likewise.  Move targetm init to end of file.
+ 	Remove unneeded static function decls.
+ 
+ 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_handle_option): s/on/value/.
+ 	(OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
+ 	directly rather than converting the argument.
+ 	* c.opt: Update docs.  Use UInteger where appropriate.
+ 	* common.opt: Use UInteger where appropriate.
+ 	* opts.c (integral_argument): New.
+ 	(handle_argument): Handle integral arguments, and optional
+ 	joined arguments.
+ 	(common_handle_option): Update.
+ 	* opts.h (CL_MISSING_OK, CL_UINTEGER): New.
+ 	* opts.sh: Handle JoinedOrMissing and UInteger flags.
+ 
+ 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
+ 	unnecessary extern declaration.
+ 
+ 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/gofast.h, config/interix.h, config/interix3.h,
+ 	config/libgloss.h, config/linux-aout.h, config/linux.h,
+ 	config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
+ 	* config/kaos.h: "GNU compiler" -> GCC.
+ 	* config/linux-aout.h, config/lynx.h: Clarify comment describing file.
+ 
+ 	* config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
+ 	config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
+ 	GNU CC -> GCC.
+ 
+ 	* config/svr3.h: Remove #if 0 code, misleading comments.
+ 	GNU CC -> GCC.
+ 
+ 2003-06-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* vmsdbgout.c (vmsdbgout_finish): Rename parameter to
+ 	main_input_filename to avoid conflict with input_filename macro.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/mips/mips.h (asm_file_name, g_switch_set,
+ 	g_switch_value): Remove.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
+ 	unnecessary extern declarations.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/frv/frv.h: Remove declaration of g_switch_value.
+ 	* config/m32r/m32r.h: Remove declaration of g_switch_value.
+ 	* config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.sh: Quote '+' in regex.
+ 
+ 2003-06-15  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
+ 	* config/rs6000/rs6000.c: Include cfglayout.h.
+ 	* config/alpha/alpha.c: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.sh: Quote '+' in regex.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (lang_flags): Update for new spelling of flags.
+ 	(write_langs): Similarly.
+ 	* c.opt: Specify languages.
+ 	* opts.h: Remove languages.
+ 	* opts.sh: Recognise front-end defined languages.
+ 	* doc/sourcebuild.texi: Update.
+ 
+ 2003-06-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* alloc-pool.c: Convert to ISO C90 prototypes.
+ 	* alloc-pool.h: Likewise.
+ 	* alias.c: Likewise.
+ 	* attribs.c: Likewise.
+ 	* bb-reorder.c: Likewise.
+ 	* bitmap.h: Likewise.
+ 	* bitmap.c: Likewise.
+ 	* builtins.c: Likewise.
+ 
+ 	* tree.h: Convert prototypes of attribs.c to ISO C90.
+ 	* basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
+ 	* rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
+ 	* expr.h: Convert prototypes of builtins.c to ISO C90.
+ 
+ 2003-06-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
+ 	implement exp, expf and expl built-ins as inline x87 intrinsics.
+ 	(UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
+ 	represent x87's fscale, frndint and f2xm1 insns respectively.
+ 	(*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
+ 	to encode x87's "fscale" instruction followed by a pop.
+ 	(*frndintxf2): New insn pattern for "frndint".
+ 	(*f2xm1xf2): New insn pattern for "f2xm1".
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
+ 	UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
+ 	UNSPEC_FPATAN.
+ 
+ 2003-06-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gencheck.c (main): Avoid generating duplicate macros.
+ 
+ 	* Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
+ 	knowing names of language subdirectories.
+ 
+ 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-pch.c (asm_file_name): Remove.
+ 	* common.opt: Add more switches.
+ 	* flags.h (g_switch_set): Boolify.
+ 	* opts.c (g_switch_value, g_switch_set, exit_after_options,
+ 	version_flag): Move from toplev.c.
+ 	(common_handle_option): Handle more switches from toplev.c.
+ 	* toplev.c (display_help, display_target_options, decode_d_option,
+ 	print_version): Make non-static, remove prototypes.
+ 	(aux_base_name, asm_file_name, aux_info_file_name): Constify.
+ 	(version_flag, g_switch_value, g_switch_set, exit_after_options):
+ 	Remove.
+ 	(independent_decode_option): Move some handlers to opts.c.
+ 	* toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
+ 	exit_after_options, version_flag, display_help, display_target_options,
+ 	print_version, decode_d_option): New.
+ 
+ 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.md: Follow spelling conventions.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/arm/crtn.asm: Likewise.
+ 	* config/m32r/m32r.c: Likewise.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 
+ 2003-06-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
+ 	insn_locators_initialize.
+ 	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Do it later.
+ 
+ 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Remove redundant
+ 	tests that are also in any_condjump_p().
+ 
+ 2003-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* libgcc2.c: Delete sysV68 L_trampoline section.
+ 	* config/m68k/mot3300-crt0.S: Delete file.
+ 	* config/m68k/mot3300Mcrt0.S: Likewise.
+ 
+ 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/aoutos.h: Remove.
+ 	* config.gcc: Remove reference to aoutos.h.
+ 	* config/m68k/m68k-aout.h: Remove reference to aoutos.h.
+ 
+ 2003-06-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/install.texi: Follow spelling conventions.
+ 	* doc/tm.texi: Likewise.
+ 	* config/fp-bit.c: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/ns32k/NOTES: Likewise.
+ 	* config/ns32k/STATUS: Likewise.
+ 
+ 2003-06-14  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
+ 	* defaults.h (STORE_FLAG_VALUE): Move default definition to here.
+ 	* doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
+ 
+ 	* config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
+ 	* config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
+ 	* config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
+ 
+ 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* opts.sh (POSIXLY_CORRECT): Unset it.
+ 
+ 	* tree.h (init_function_start): Remove filename and line paramters.
+ 	* function.c (init_function_start): Remove filename and line
+ 	parameters. Use DECL_SOURCE_LOCATION.
+ 	* c-decl.c (store_parm_decls): Adjust init_function_start call.
+ 	(c_expand_body_1): Likewise.
+ 	* coverage.c (create_coverage): Likewise.
+ 	* objc/objc-act.c (build_tmp_function_decl): Set line number to
+ 	zero.
+ 	(hack_method_prototype): Adjust init_function_start call.
+ 
+ 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/3724
+ 	* arm/linux-elf.h (PROFILE_HOOK): Define.
+ 
+ 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/11183
+ 	* arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
+ 
+ 2003-06-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* opts.sh: Work around a mysterious feature in cygwin's gawk
+ 	where specifying the input files explicitly has a different
+ 	behavior to piping them via stdin.
+ 
+ 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* doc/sourcebuild.texi: Update.
+ 
+ 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/11183
+ 	* arm.c (output_move_double): Pass SImode to adjust_address.
+ 
+ 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update to use common.opt and lang_opt_files.
+ 	(c-options.c, c-options.h): Remove.
+ 	(options.c, options.h): Add.
+ 	* c-opts.c: Include options.h not c-options.h.
+ 	* common.opt: New file.
+ 	* configure, configure.in: Add lang_opt_files.
+ 	* opts.c: Include flags.h and diagnostic.h.
+ 	(common_handle_option): New.
+ 	(handle_option): Update to recognize common options and all
+ 	language-dependent options.
+ 	* opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
+ 	(struct cl_option): Make flags of type int.
+ 	* opts.h: Flag option with front ends to which it applies.
+ 	Handle duplicate options.
+ 	* toplev.c (filename): Remove.
+ 	(independent_decode_option): Don't handle filenames and -quiet.
+ 	(process_options, do_compile): Update.
+ 
+ 2003-06-14  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* doc/install.texi (Specific): Add description of different
+ 	ARM supported file format targets.
+ 
+ Sat Jun 14 11:12:04 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
+ 	inside delay slots.
+ 
+ 2003-06-13  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
+ 	* unwind-pe.h (size_of_encoded_value): Do not define if
+ 	NO_SIZE_OF_ENCODED_VALUE is defined.
+ 
+ 2003-06-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (expand_expr <COMPLEX_CST>): Handle the case of
+ 	expanding a complex constant into a CONCAT target.
+ 
+ 2003-06-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
+ 	(ASM_FILE_START_1): Delete.
+ 	* config/i386/att.h, config/i386/sco5.h,
+ 	config/i386/sysv3.h
+ 	(ASM_FILE_START_1): Delete.
+ 
+ 2003-06-13  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* config/i386/bsd.h: Remove ASM_FILE_START.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
+ 
+ 	* config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
+ 	* config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
+ 
+ 2003-06-13  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR bootstrap/10835
+ 	* haifa-sched.c (max_lookahead_tries,
+ 	cached_first_cycle_multipass_dfa_lookahead,
+ 	cached_issue_rate): New variables.
+ 	(max_issue): Check the number of tries.
+ 	(choose_ready): Calculate max_lookahead_tries.
+ 	(sched_init): Check cached_issue_rate.
+ 
+ 2003-06-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
+ 	* cfgrtl.c (purge_dead_edges): Expect it too.
+ 
+ 2003-06-13  Jim Wilson  <wilson@tuliptree.org>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/10983
+ 	* combine.c (make_extraction): Use gen_lowpart_for_combine
+ 	when extracting from a REG and not in the destination of a SET.
+ 
+ 2003-06-13  Doug Evans  <dje@sebabeach.org>
+ 
+ 	* tsystem.h (abort): Declare in inhibit_libc case to remove build
+ 	warnings for addvsi3, et.al.
+ 
+ 2003-06-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
+ 
+ 	* simplify-rtx.c (simplify_subreg): Same.
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Same.
+ 
+ 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Fix comment typos.
+ 	* fold-const.c: Likewise.
+ 
+ 2003-06-13  Doug Evans  <dje@sebabeach.org>
+ 	    Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
+ 	* config/m32r/m32r.c (m32r_pass_by_reference): New fn.
+ 	(m32r_va_arg): Use it.
+ 	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
+ 	(RETURN_IN_MEMORY): Ditto.
+ 
+ 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* c-typeck.c: Remove #if 0 clauses.
+ 
+ 	PR other/1494
+ 	* config/alpha/openbsd.h, config/i386/openbsd.h,
+ 	config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
+ 	residual reference to EGCS.
+ 
+ 2003-06-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (output_call_mem): If the address references the link-register
+ 	use an instruction sequence that avoids early-clobbering IP.
+ 	(eliminate_lr2ip): Delete.
+ 
+ 2003-06-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-format.c (format_types_orig): Disallow '*' width/precision in
+ 	asm_fprintf format checks.
+ 
+ 2003-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
+ 	non-integral types from integer register save area slots.
+ 
+ 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
+ 
+ 2003-06-13  Florian Weimer  <fw@deneb.enyo.de>
+ 
+ 	* doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
+ 
+ 2003-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
+ 	to file_end_indicate_exec_stack.
+ 
+ 2003-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/11089
+ 	* config/i386/i386.md (sse_movaps): Use an expander to force
+ 	one operand to be a register.
+ 	(sse_movups): Likewise.
+ 
+ 2003-06-13  Doug Evans  <dje@sebabeach.org>
+ 
+ 	Remove some build warnings.
+ 	* config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
+ 	(__do_global_ctors,__do_global_dtors): Ditto.
+ 
+ 2003-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/10557
+ 	* rtlanal.c (subreg_offset_representable_p): Relax subreg check.
+ 
+ 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Fix a comment typo.
+ 
+ 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+ 
+ 	PR target/10142
+ 	* config/sparc/sparc.c (function_arg_record_value_parms): Add
+ 	new 'stack' field.
+ 	(function_arg_record_value_1): Set 'stack' to 1 if we run out of
+ 	integer slots for an integer field.
+ 	(function_arg_record_value_3): Shift vector index.
+ 	(function_arg_record_value_2): Likewise.
+ 	(function_arg_record_value): Initialize 'stack' to 0.
+ 	Set 'stack' to 1 if we run out of integer slots for an integer field.
+ 	Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
+ 
+ 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/10955
+ 	* unroll.c (unroll_loop): Fix off-by-one bug.
+ 
+ 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Remove typo.
+ 
+ 2003-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
+ 	and UNSPEC_DTPOFF.
+ 
+ 2003-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/10475
+ 	* expmed.c (emit_store_flag): Use simplify_gen_subreg directly
+ 	for extracting sub-words.
+ 
+ 2003-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/7594
+ 	* config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
+ 	(zero_extendqihi2, zero_extendqisi2): Likewise.
+ 
+ 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Always split vectors for
+ 	e500 if it's a stdarg function.
+ 	(function_arg_advance): Advance 2 registers for vectors in a
+ 	stdarg function.
+ 	(init_cumulative_args): Initialize stdarg.
+ 	(rs6000_spe_function_arg): New.
+ 
+ 	* config/rs6000/rs6000.h (rs6000_args): Add stdarg.
+ 
+ 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
+ 
+ 2003-06-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/168
+ 	* fold-const.c (tree_expr_nonnegative_p):  Handle addition
+ 	and multiplication of zero extensions, floating point division,
+ 	and integer<->fp, fp<->fp and zero extension conversions.
+ 	The built-in ceil and floor functions preserve signedness.
+ 
+ 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ChangeLog: Follow spelling conventions.
+ 	* ChangeLog.2: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* cfgloop.h: Likewise.
+ 	* cgraph.c: Likewise.
+ 	* coverage.c: Likewise.
+ 	* cppcharset.c: Likewise.
+ 	* cpphash.h: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* df.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* dwarfout.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* explow.c: Likewise.
+ 	* gcov-io.c: Likewise.
+ 	* gcov-io.h: Likewise.
+ 	* gcov.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* ggc.h: Likewise.
+ 	* opts.c: Likewise.
+ 	* real.c: Likewise.
+ 	* reload.c: Likewise.
+ 	* stmt.c: Likewise.
+ 
+ 2003-06-12  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (m32r-*-elf): Change company to Renesas.
+ 
+ Thu Jun 12 20:00:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (flow_delete_block_noexpunge): Kill.
+ 	* cfgrtl.c (flow_delete_block_noexpunge): Merge to
+ 	rtl_delete_block.
+ 
+ 2003-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR inline-asm/4823
+ 	* reg-stack.c (any_malformed_asm): New.
+ 	(check_asm_stack_operands): Set it.
+ 	(convert_regs_1): Check it before aborting.
+ 
+ 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
+ 
+ 2003-06-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-opts.c (complain_wrong_lang): Add on argument.
+ 	Print no- switch if on is false.
+ 	(c_common_decode_option): Adjust caller.
+ 
+ 2003-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
+ 	to initialize GOT register.
+ 
+ 2003-06-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Add support for
+ 	floating point constants, addition and multiplication.
+ 
+ 2003-06-12  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
+ 	constraint modifier for operand 0.
+ 
+ 2003-06-12  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	Don't warn on dollars in builtin macro definitions,
+ 	e.g. __REGISTER_PREFIX__.
+ 	* cpphash.h (struct cpp_reader): Move member warn_dollars...
+ 	* cpplib.h (struct cpp_options): ...to here.  Change type to
+ 	unsigned char.
+ 	* cppinit.c (cpp_create_reader): Set it to 1 here.
+ 	(post_options): Don't set it here.
+ 	* c-opts.c (c_common_init_options): Reset it to 0 here.
+ 	(finish_options): Set it here.
+ 	* cpplex.c (forms_identifier_p): Tweak for new location of
+ 	warn_dollars.
+ 
+ 	* configure.in (assembler dwarf2 debug_line support): Define insn
+ 	for cris-*-* and mmix-*-*.
+ 	* configure: Regenerate.
+ 
+ 2003-06-11  Uwe Stieber  <uwe@kaos-group.de>
+ 
+ 	* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
+ 	powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
+ 	(sh-*-elf*): Add sh*-*-kaos* support.
+ 	* config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
+ 	config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
+ 	config/sh/kaos-sh.h: New files.
+ 
+ 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (fis_get_condition): Make it a global function.
+ 	* reload1.c (reload_cse_move2add): Detect implicit sets.
+ 	* rtl.h: Add a prototype for fis_get_condition.
+ 
+ 2003-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (expand_asm_operands): Don't warn for memories with
+ 	queued addresses.
+ 
+ 2003-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
+ 	brackets.
+ 
+ 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* hooks.c (hook_int_size_t_constcharptr_int_0): New.
+ 	* hooks.h (hook_int_size_t_constcharptr_int_0): New.
+ 	* langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
+ 	(LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.c (lhd_decode_option): Remove.
+ 	* langhooks.h (struct lang_hooks): Remove decode_option.
+ 	* opts.c (handle_option): No longer use decode_option.
+ 
+ 2003-06-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopanal.c (variable_initial_value): Update the set of altered
+ 	registers correctly.
+ 
+ 2003-06-11  Roger Sayle  <roger@eyesopen.com>
+ 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
+ 	* config/i386/netbsd-elf.h: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/mn10300/mn10300.h: Likewise.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 	* config/v850/v850.h: Likewise.
+ 	* config/vax/netbsd-elf.h: Likewise.
+ 	* config/xtensa/elf.h: Likewise.
+ 	* config/xtensa/linux.h: Likewise.
+ 
+ 2003-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
+ 	DWARF 2 default.
+ 
+ 	* config/mips/dbxmdebug.h: New file.
+ 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
+ 	gas and --with-stabs.
+ 
+ 2003-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (can_move_by_pieces): align argument may be unused.
+ 
+ 2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* expr.c (convert_move): Handle moves between two CONCATs.
+ 
+ 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
+ 	!TARGET_H8300.
+ 
+ 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
+ 	* config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
+ 	(TARGET_RTL_DUMP): Likewise.
+ 	(TARGET_SWITHCES): Remove -mrtl-dump.
+ 
+ 2003-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (gen_cond_trap): Fix prepare_operand typo.
+ 
+ 2003-06-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md (call_gp): Fix memory mode.
+ 
+ 2003-06-10  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR target/8812
+ 	* reload1.c (choose_reload_regs): For equiv reg, add loop over all
+ 	hard regs for reload_reg_used_at_all and reg_class_contents checks.
+ 
+ 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove support for
+ 	operand character 'b'.
+ 	Add the AND case to operand character 'c'.
+ 	* config/h8300/h8300.md (two anonymous patterns): Replace
+ 	operand character 'b' with 'c'.
+ 
+ 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (print_operand): Remove support for
+ 	operand character 'u'.
+ 
+ 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Fix typo.
+ 	* configure: Regenerate.
+ 
+ 2003-06-10  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/alpha/alpha.c (unicosmk_file_end): Add conditional
+ 	compilation guard.
+ 
+ 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh-protos.h (function_symbol): Declare.
+ 	* sh.c (expand_block_move, expand_ashiftrt): Use it.
+ 	(sh_expand_prologue, sh_expand_epilogue): Likewise.
+ 	(sh_initialize_trampoline): Likewise.
+ 	(function_symbol): New function.
+ 	* sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
+ 	(initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
+ 	(call_value_pop, shcompact_return_tramp): Likewise.
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
+ 
+ 	* sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
+ 	target register.
+ 
+ 2003-06-10  DJ Delorie  <dj@redhat.com>
+ 
+ 	* doc/md.texi (Machine Constraints): Document stormy's Z
+ 	constraint.
+ 
+ 2003-06-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* except.c (call_site_base): Mark with GTY.
+ 
+ 2003-06-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm-proto.h: Convert to ISO C90 prototypes.
+ 	* arm.c: Likewise.
+ 
+ 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
+ 
+ 2003-06-10  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* calls.c (expand_call): Convert structure_value_addr to Pmode if
+ 	necessary.
+ 
+ 2003-06-10  Andrew Haley  <aph@redhat.com>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
+ 	(LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
+ 	(lhd_decl_ok_for_sibcall): New.
+ 	* langhooks.c (lhd_decl_ok_for_sibcall): New.
+ 	* langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
+ 	* calls.c (expand_call): Check lang_hook before generating a
+ 	sibcall.
+ 
+ 2003-06-10  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
+ 	which matches (const_int 0) for addhi3.
+ 	* config/stormy16/stormy16.md: Document known constraints.
+ 	(addhi3): Handle adding zero.
+ 
+ 2003-06-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
+ 	* config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
+ 	* config/m32r/m32r-protos.h: Prototype it.
+ 
+ 2003-06-10  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
+ 	common to rs6000 sysv targets.
+ 	* config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
+ 	* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
+ 
+ 2003-06-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add arm-wince-pe target.
+ 	* config/arm/pe.h (MULTILIB_DEFAULTS): Define.
+ 	Add comment about default apcs26 support.
+ 	* config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
+ 	multilib.
+ 	(MULTILIB_DIRNAMES): Add 'apcs32'.
+ 	* config/arm/t-wince-pe: New makefile fragment.
+ 	* config/arm/wince-pe.h: New file.  Overrides a few definitions
+ 	in arm/pe.h
+ 
+ 2003-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
+ 	* fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
+ 	when x is easily negated and f is sin, tan or atan.
+ 	(fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
+ 	sin(x) with flag_unsafe_math_optimizations.
+ 	(fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
+ 	sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
+ 
+ 2003-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold <EQ_EXPR>):  Don't fold x == x only if x
+ 	is a floating point type *and* we currently honor NaNs.
+ 	(fold <NE_EXPR>): Likewise.
+ 
+ 2003-06-10  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/11131
+ 	* tree-inline.c (inlinable_function_p): Call the language-specific
+ 	hook early.
+ 
+ 2003-06-09  David Taylor  <dtaylor@emc.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg):  Skip over
+ 	the f_res field.
+ 
+ 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Remove references to host_truncate_target.
+ 	* configure: Regenerate.
+ 	* config.gcc: Remove references to truncate_target,
+ 	host_truncate_target.
+ 
+ 	* Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
+ 	Replace "build_canonical" with build, "host_canonical" with host.
+ 	* configure.in: Use GCC_TOPLEV_SUBDIRS.
+ 	* aclocal.m4: Include ../config/acx.m4.
+ 	* configure: Regenerate.
+ 
+ 2003-06-09  David Taylor  <dtaylor@emc.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
+ 	bytes of padding in the __va_list_tag structure a name (reserved).
+ 
+ 2003-06-09  Jason Merrill  <jason@redhat.com>
+ 
+ 	* fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
+ 
+ 2003-06-09  Osku Salerma  <osku@iki.fi>
+ 
+ 	* c-format.c (check_format_string, get_constant): New.
+ 	(handle_format_attribute, handle_format_arg_attribute,
+ 	decode_format_attr): Change to use above functions.
+ 
+ 2003-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (expand_asm_operands): Re-word warning.
+ 
+ 2003-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/8787
+ 	* config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
+ 	if -masm=intel.
+ 
+ 2003-06-09  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
+ 	config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
+ 	Add libgcc exception.
+ 
+ 2003-06-09  David Edelsohn  <edelsohn@gnu.org>
+ 	    Ayal Zaks  <gcchaifa@us.ibm.com>
+ 
+ 	* config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
+ 	(insvsi*): Add insert_word attribute.
+ 	* config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
+ 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
+ 	power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
+ 
+ 2003-06-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Fix a comment typo.
+ 
+ 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
+ 	removed.
+ 
+ 2003-06-09  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (gen_block_redirect): Use locators.
+ 
+ 2003-06-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
+ 	cast to int.
+ 
+ 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* configure.in: Assume gas 2.14 and above can handle MIPS relocation
+ 	operators.
+ 	* configure: Regenerated.
+ 
+ 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
+ 	    Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
+ 	(PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
+ 	(STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
+ 	n32/64 PIC.
+ 	(MUST_SAVE_REGISTERS): Delete.
+ 	* config/mips/mips.c (mips_frame_info): Remove extra_size field.
+ 	(machine_function): Add global_pointer field.
+ 	(mips_classify_constant): Check for (const $gp) using pointer equality
+ 	with pic_offset_table_rtx.
+ 	(mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
+ 	(mips_restore_gp): Use current_function_outgoing_args_size.
+ 	(print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
+ 	GP_REG_FIRST + 28.  Handle relocation strings that have
+ 	more than one '('.
+ 	(mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
+ 	(mips_global_pointer): New function.
+ 	(mips_save_reg_p): New function, mostly split out from...
+ 	(compute_frame_size): ...here.  Remove handling of extra_size.
+ 	Reclaim args_size if no variables depend on it.  Don't treat gp
+ 	as a special case: handle it in the main GPR loop.
+ 	(mips_initial_elimination_offset): Fix comment.
+ 	(save_restore_insns): Save every register in the GPR mask,
+ 	removing distinction between mask and real_mask.
+ 	(mips_output_function_prologue): Update .frame psuedo-op after
+ 	the removal of extra_size.  Move the SVR4 PIC stack allocation
+ 	and cprestore instructions to mips_expand_prologue.
+ 	(mips_gp_insn): New function.
+ 	(mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
+ 	the chosen global pointer.  Handle SVR4 PIC stack allocation
+ 	in the same way as other ABIs.  Adjust varargs code accordingly.
+ 	Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
+ 	to emit the loadgp sequence.  Follow it with a loadgp_blockage
+ 	if not using explicit relocs.
+ 	(mips_output_function_epilogue): Reinstate the default gp register.
+ 	(mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
+ 	(mips16_optimize_gp): Likewise.
+ 	* config/mips/mips.md (UNSPEC_LOADGP): Remove.
+ 	(UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
+ 	(UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
+ 	(loadgp): Remove.
+ 	(loadgp_blockage, cprestore): New instructions.
+ 	(builtin_setjmp_setup): Implement using emit_move_insn.  Use
+ 	pic_offset_table_rtx.
+ 	(builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
+ 	(builtin_longjmp): Use gen_raw_REG to force use of $28.
+ 
+ 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_output_division): Declare.
+ 	* config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
+ 	(MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
+ 	(TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
+ 	(TARGET_CHECK_ZERO_DIV): New macro.
+ 	(TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
+ 	* config/mips/mips.c (mips_output_division): New function.
+ 	* config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
+ 	account when calculating the default length of a division.
+ 	(divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
+ 	Enable regardless of optimization level.  Use mips_output_division.
+ 	(divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
+ 	udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
+ 	divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
+ 	modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
+ 	udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
+ 	umoddi3_internal): Remove.
+ 
+ 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_reg_names): Change hilo entry to "".
+ 	(mips_sw_reg_names): Likewise.
+ 	(mips_regno_to_class): Change hilo entry to NO_REGS.
+ 	(hilo_operand): Use MD_REG_P.
+ 	(extend_operator): New predicate.
+ 	(override_options): Remove 'a' constraint.
+ 	(mips_secondary_reload_class): Remove hilo handling.  Also remove
+ 	handling of (plus sp reg) reloads for mips16.
+ 	(mips_register_move_cost): Remove hilo handling.
+ 	* config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
+ 	(MD_REG_LAST): Remove hilo from range.
+ 	(HILO_REGNUM): Delete.
+ 	(reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
+ 	(PREDICATE_CODES): Add entry for extend_operator.
+ 	(DEBUG_REGISTER_NAMES): Change hilo entry to "".
+ 	* config/mips/mips.md: Remove hilo clobbers wherever they occur.
+ 	Remove constraints from multiplication define_expands.  Remove
+ 	clobbers from "decorative" define_expand patterns.
+ 	(UNSPEC_HILO_DELAY): Delete.
+ 	(*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
+ 	(mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
+ 	Adjust C code to just emit insns for !TARGET_64BIT.
+ 	(mulsidi3_internal): Rename to mulsidi3_32bit.
+ 	(mulsidi3_64bit): Use a "d" constraint for the destination.
+ 	Use extend_operator so that the pattern can handle umulsidi3 as well.
+ 	Split the instruction after reload.
+ 	(*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
+ 	(umulsidi3_internal): Rename to umulsidi3_32bit.
+ 	(umulsidi3_64bit): Remove.
+ 	(*smsac_di, *umsac_di): Line-wrap fixes.
+ 	(udivsi3_internal): Don't allow operand 2 to be constant.
+ 	(udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
+ 	(movdi_internal2, movsi_internal): Remove hilo alternatives.
+ 	(reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
+ 
+ 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/10913
+ 	* config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
+ 	PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
+ 	PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
+ 	PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
+ 	SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
+ 	(PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
+ 	PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
+ 	asm_out_text_file with asm_out_file.
+ 	* config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
+ 	* config/mips/elf.h (TEXT_SECTION): Undefine.
+ 	* config/mips/elf64.h (TEXT_SECION): Undefine.
+ 	* config/mips/openbsd.h (TEXT_SECION): Undefine.
+ 	* config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
+ 	(override_options): Disable small-data optimizations unless using
+ 	gas or explicit relocations.
+ 	(mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
+ 	iris6_asm_named_section, iris6_asm_file_start): Remove code for
+ 	handling TARGET_FILE_SWITCHING.
+ 	(copy_file_data): Move into TARGET_IRIX6 block.
+ 
+ 2003-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (EXPAND_MEMORY): New.
+ 	* expr.c (expand_expr): Check it.
+ 	* stmt.c (expand_asm_operands): Provide it when the constraint
+ 	requires a memory.  Warn for memory input constraints without
+ 	a memory operand.
+ 
+ 2003-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* varasm.c: Don't include c-tree.h.
+ 
+ 2003-06-08  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* predict.h: Convert to ISO C90 prototypes.
+ 	* predict.c: Likewise.
+ 	* tree-dump.h: Likewise.
+ 	* tree-dump.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* combine.c: Likewise.
+ 
+ 	* rtl.h: Convert prototypes of combine.c to ISO C90.
+ 
+ Sun Jun  8 21:27:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfglayout.c (insn_scope): New static function
+ 	(block_locators_*, line_locators*, file_locators*): New static varrays.
+ 	(scope_to_insns_initialize): Use them.
+ 	(insn_line, insn_file): New functions.
+ 	(scope_to_insns_finalize): Use insn_scope.
+ 	(prologue_locator, epilogue_locator): New global variables.
+ 	* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
+ 	make_call_insn_raw, emit_copy_of_insn_after): Use locators.
+ 	(emit_insn_after_scope, emit_insn_before_scope
+ 	emit_jump_insn_after_scope, emit_jump_insn_before_scope
+ 	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
+ 	(emit_insn_after_setloc, emit_insn_before_setloc
+ 	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
+ 	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
+ 	use locators.
+ 	* final.c (notice_source_line): Use locators.
+ 	(final_start_function): Set initial source file and line.
+ 	(final_scan_insn): Use locators.
+ 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
+ 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
+ 	noce_process_if_block, find_cond_trap): Likewise.
+ 	* integrate.c (copy_insn_list): Likewise.
+ 	* jump.c (duplicate_loop_exit_test): LIkewise.
+ 	* print-rtl.c (print_rtx): Print locators.
+ 	* recog.c (peephole2_optimize): Likewise.
+ 	* rtl.h (INSN_SCOPE): Remove.
+ 	(emit_insn_after_scope, emit_insn_before_scope
+ 	emit_jump_insn_after_scope, emit_jump_insn_before_scope
+ 	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
+ 	(emit_insn_after_setloc, emit_insn_before_setloc
+ 	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
+ 	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
+ 	(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
+ 	* unroll.c (copy_loop_body): Use locators.
+ 	* function.c (set_insn_locators): New function.
+ 	(thread_prologue_and_epilogue_insns): Set the locators accordingly.
+ 
+ 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
+ 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
+ 	_fixsfdi _fixunssfdi.
+ 	(LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
+ 	popcounthi2.
+ 	(TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
+ 	* config/h8300/clzhi2.c: New.
+ 	* config/h8300/ctzhi2.c: Likewise.
+ 	* config/h8300/parityhi2.c: Likewise.
+ 	* config/h8300/popcounthi2.c: Likewise.
+ 
+ Sun Jun  8 15:52:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
+ 	* i386.c (k8_avoid_jump_misspredicts): Fix debug output.
+ 
+ 	* cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
+ 	(dump_bb): New based on old dump_bb in cfgrtl.c
+ 	(debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
+ 	* cfghooks.h (cfgh_verify_flow_info): Return status.
+ 	* cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
+ 	* cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
+ 	(dump_bb): Remove generic parts.
+ 	(rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
+ 	(rtl_verify_flow_info): Only check things dependeing on linearized RTL.
+ 
+ 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Rename options.c and options.h to c-options.c and
+ 	c-options.h.
+ 	(OBJS): Remove options.o.
+ 	* c-opts.c: Don'tInclude c-options.h instead of options.h.
+ 	* opts.c: Don't include options.h.
+ 	(find_opt): Can't use enum opt_code or N_OPTS.
+ 	* opts.h (struct cl_option, cl_options, cl_options_count): Move from...
+ 	* opts.sh: ... here.
+ 
+ 2003-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+ 
+ 	PR pch/9830
+ 	* ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
+ 	if HAVE_MINCORE is defined.
+ 	(MAP_FAILED): Define if not defined.
+ 	(gt_pch_save): Test against MAP_FAILED.
+ 	(gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
+ 	the mapping address to the preferred base after checking it
+ 	is possible to do so. Test against MAP_FAILED.
+ 	* configure.in: Test for the presence of mincore in libc.
+ 	* config.in: Regenerate.
+ 	* configure: Regenerate.
+ 
+ 2003-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
+ 	conditional compilation guard.
+ 
+ 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c (expand_abs): Set result_unsignedp to 1 if
+ 	flag_trav is zero.
+ 
+ 2003-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
+ 
+ 2003-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* basic-block.h (EDGE_SIBCALL): New.
+ 	(EDGE_ALL_FLAGS): Update.
+ 	* cfg.c (dump_edge_info): Add sibcall name.
+ 	* cfgbuild.c (make_edges): Use EDGE_SIBCALL.
+ 	* cfgrtl.c (purge_dead_edges): Handle sibcalls.
+ 
+ 2003-06-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* mklibgcc.in (lib2funcs): Remove _exit.
+ 	* libgcc2.c: Remove L_exit.
+ 	* gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
+ 
+ 	* system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
+ 
+ 	* doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
+ 
+ 	* ggc.h: Convert to ISO C90 prototypes.
+ 	* ggc-none.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* ggc-simple.c: Likewise.
+ 
+ 	* crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
+ 
+ 	* system.h: Poison INIT_SECTION_PREAMBLE.
+ 
+ 2003-06-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc (with_cpu handling): Translate sparc64 in
+ 	$machine to --with-cpu=v9.
+ 	* config/alpha/alpha.c
+ 	(TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
+ 	(alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
+ 
+ 	* target.h: New hook asm_out.file_end.
+ 	* target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
+ 	* toplev.c (compile_file): Use targetm.asm_out.file_end.
+ 	* system.h: Poison ASM_FILE_END.
+ 	* varasm.c (file_end_indicate_exec_stack): New.
+ 	* output.h: Prototype it.
+ 	* doc/tm.texi: Document TARGET_ASM_FILE_END and
+ 	file_end_indicate_exec_stack.  Delete references to attasm.h.
+ 
+ 	* config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
+ 	(ASM_FILE_END): Delete; move code...
+ 	* config/darwin.c (darwin_file_end): Here; new function.
+ 	* config/darwin-protos.h: Prototype it.
+ 	* config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
+ 	rename unicosmk_file_end.
+ 	* config/arm/aof.h (ASM_FILE_END): Delete; move code...
+ 	* config/arm/arm.c (aof_file_end): ... here; new static function.
+ 	Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
+ 	Make aof_dump_imports and aof_dump_pic_table static.
+ 	* config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
+ 	Set TARGET_ASM_FILE_END to avr_file_end.
+ 	* config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
+ 	Set TARGET_ASM_FILE_END to c4x_file_end.
+ 	* config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
+ 	make static. Take no arguments.  Set TARGET_ASM_FILE_END to
+ 	h8300_file_end.
+ 	* config/i370/i370.h (ASM_FILE_END): Delete; move code...
+ 	* config/i370/i370.c (i370_file_end): ... here; new static function.
+ 	Set TARGET_ASM_FILE_END to i370_file_end.
+ 	 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
+ 	 Take no arguments.  Call file_end_indicate_exec_stack if
+ 	 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
+ 	* config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
+ 	Define NEED_INDICATE_EXEC_STACK to 0.
+ 	* config/i386/linux.h, config/i386/linux64.h: Redefine
+ 	NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
+ 	* config/i386/winnt.c (i386_pe_asm_file_end): Rename to
+ 	i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
+ 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
+ 	ia64_hpux_file_end, make static.  Take no arguments.
+ 	* config/ip2k/ip2k.c (asm_file_start, asm_file_end,
+ 	commands_in_prologues, commands_in_epilogues): Delete.
+ 	(function_epilogue): Update to match.
+ 	* config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
+ 	make static.  Take no arguments.
+ 	(iris6_asm_file_end): Rename iris6_file_end, make static, use
+ 	mips_file_end, take no arguments.
+ 	Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
+ 	appropriate.
+ 	* config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
+ 	make static, take no arguments. Set TARGET_ASM_FILE_END to
+ 	mmix_file_end.
+ 	* config/pa/pa.c (output_deferred_plabels): Make static, take
+ 	no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
+ 	* config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
+ 	(ASM_FILE_END): Delete; move code...
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
+ 	new static function.
+ 
+ 	* config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
+ 	* config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
+ 	Don't set ASM_FILE_END.
+ 	* config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
+ 	* config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
+ 	* config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
+ 	file_end_indicate_exec_stack; don't set ASM_FILE_END.
+ 	* config/alpha/unicosmk.h, config/i386/cygming.h
+ 	* config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
+ 	* config/arm/arm-protos.h, config/alpha/alpha-protos.h
+ 	* config/avr/avr-protos.h, config/c4x/c4x-protos.h
+ 	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
+ 	* config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
+ 	* config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
+ 
+ Sat Jun  7 18:32:13 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
+ 	specified.
+ 
+ Sat Jun  7 15:20:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (stageprofile_build): Kill redundant target.
+ 	* i386.c (mdep_reorg): Don't pad jumps for Athlon.
+ 
+ 2003-06-07  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
+ 
+ 	* config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
+ 	* config/dsp16xx/dsp16xx.h: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 
+ 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (OJBS, c-opts.o): Update.
+ 	(c-options.c, c-options.h): Rename options.h and options.c.
+ 	(options.h): Rename options_.h.
+ 	(opts.o): New.
+ 	* c-common.h (c_common_handle_option): Replace c_common_decode_option.
+ 	(c_common_init_options): Update prototype.
+ 	* c-lang.c (c_init_options): Update prototype.
+ 	(LANG_HOOKS_HANDLE_OPTION): Override.
+ 	(LANG_HOOKS_DECODE_OPTION): Drop.
+ 	* c-opts.c: Include opts.h and options.h instead of c-options.h
+ 	and c-options.c.
+ 	(lang_flags): Move to file scope.
+ 	(find_opt, c_common_decode_option): Remove.
+ 	(CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
+ 	CL_REJECT_NEGATIVE): Move to opts.h.
+ 	(missing_arg): Update prototype.
+ 	(c_common_init_options): Update for new prototype.
+ 	(c_common_handle_options): Filenames are passed as N_OPTS.
+ 	* hooks.c (hook_int_void_0): New.
+ 	* hooks.h (hook_int_void_0): New.
+ 	* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
+ 	(LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* langhooks.h (init_options): Update.
+ 	(handle_option): New.
+ 	* opts.c, opts.h: New files.
+ 	* opts.sh: Update c file to include opts.h and options.h.
+ 	* toplev.c: Include opts.h; change options.h to options_.h.
+ 	(parse_options_and_default_flags): Get lang_mask, use
+ 	handle_option for language-specific handling.
+ 	* objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
+ 	(LANG_HOOKS_HANDLE_OPTION): Override.
+ 	(objc_init_options): Update.
+ 
+ 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
+ 	    Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
+ 
+ 	PR other/7031
+ 	* Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
+ 	gcov.
+ 
+ 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
+ 	section names.
+ 	* configure: Regenerate.
+ 
+ 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
+ 
+ 2003-06-06  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	PR inline-asm/10890
+ 	* reload1.c (merge_assigned_reloads): Abort only if two reloads have
+ 	different in fields.
+ 
+ 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Make $(target_subdir) correspond with top level usage.
+ 	* Makefile.in: Likewise.
+ 	* configure: Regenerate.
+ 
+ 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
+ 	ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
+ 	unsigned HOST_WIDE_INT.
+ 	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
+ 	Likewise.
+ 	* pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
+ 	Likewise.
+ 
+ 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/install.texi (Prerequisites): New section documenting
+ 	tools and packages necessary prior to building and/or
+ 	modifying GCC.
+ 	* doc/install.texi2html: Also generate prerequisites.html.
+ 
+ 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/11052
+ 	* ifcvt.c (noce_process_if_block): Fail if the destination has
+ 	side-effects.
+ 
+ 2003-06-06  Jason Merrill  <jason@redhat.com>
+ 
+ 	* stmt.c (resolve_asm_operand_names): Rename from
+ 	resolve_operand_names.  No longer static.  Avoid needless copying.
+ 	Don't build array of constraints.
+ 	(expand_asm_operands): Build it here.
+ 	* tree.h: Declare resolve_asm_operand_names.
+ 
+ 	* stmt.c (expand_decl): Put artificial vars into registers even
+ 	when not optimizing, and don't mark the regs as user vars.
+ 
+ 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
+ 	of the generated register.
+ 
+ 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Add a missing sparc64 case.
+ 
+ 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* mklibgcc.in: Propagate .note.GNU-stack section if needed into
+ 	the .hidden assembly stubs.
+ 
+ 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
+ 
+ 	* config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
+ 	and x86_64-*-*.
+ 
+ 	* config/i386/mmintrin.h: Update version and add alternate
+ 	intrinsic names.
+ 	* config/i386/xmmintrin.h: Likewise.
+ 
+ 	* config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
+ 	intrinsics to ...
+ 	* config/i386/emmintrin.h: Here. New file.
+ 
+ 2003-06-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
+ 	fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
+ 	when the ABS_EXPR (fabs or abs) is not required.
+ 	(tree_expr_nonnegative_p): Move the logic that sqrt and exp are
+ 	always nonnegative from fold to here.  Additionally, cabs and fabs
+ 	are always non-negative, and pow and atan are non-negative if
+ 	their first argument is non-negative.
+ 
+ 	* builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
+ 	Evaluate cabs of a constant at compile-time.  Convert cabs of a
+ 	non-complex argument into fabs.  Convert cabs(z) into
+ 	sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
+ 	-funsafe-math-optimizations or -ffast-math.
+ 	(fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
+ 	Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
+ 
+ Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sourcebuild.texi (Front End Directory): Document new hooks.
+ 
+ Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
+ 	* i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
+ 	stack frames.
+ 	(pro_epilogue_adjust_stack_rex64_2): New pattern
+ 
+ Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 			       Pop Sebastian
+ 			       Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfghooks.h, cfghooks.c: New files.
+ 	* Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
+ 	(OBJS): Add cfghooks.o.
+ 	(cfghooks.o): New rule.
+ 	* basic-block.h (split_edge): Rename to rtl_split_edge.
+ 	(verify_flow_info): Rename to rtl_verify_flow_info.
+ 	(cfghooks.h): Included here.
+ 	* cfgrtl.c (split_edge): Renamed rtl_split_edge.
+ 	(verify_flow_info): Renamed rtl_verify_flow_info.
+ 	* toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
+ 
+ 	* basic-block.h (split_block, split_edge, flow_delete_block,
+ 	redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
+ 	(flow_delete_block_noexpunge):  Return void.
+ 	* cfg.c (verify_flow_info): New function.
+ 	* cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
+ 	try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
+ 	Use delete_block.
+ 	* cfglayout.c (function_footer): Rename to...
+ 	(cfg_layout_function_footer): ... this variable
+ 	(unlink_insn_chain): Make global.
+ 	(fixup_reorder_chain, record_effective_endpoints): Update.
+ 	(cleanup_unconditional_jumps): Use delete_block.
+ 	(cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
+ 	(cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
+ 	(cfg_layout_initialize, cfg_layout_finalize): Update hooks.
+ 	* cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
+ 	(cfg_layout_function_footer): Declare.
+ 	* cfgloopmanip (split_loop_bb): Do not update RBI.
+ 	(remove_bbs): Use delete_block.
+ 	(loop_reidrect_edge, loop_delete_branch_edge): Use
+ 	redirect_edge_and_branch.
+ 	(create_preheader): Use split_block and redirect_edge_and_branch_force.
+ 	(split_edge_with): Likewise.
+ 	* cfgrtl.c: Include cfglayout.h
+ 	(split_edge): Rename to ...
+ 	(rtl_split_edge) ... this one; make local.
+ 	(redirect_edge_and_branch): Rename to ...
+ 	(rtl_redirect_edge_and_branch) ... this one; make local.
+ 	(redirect_edge_and_branch_force): Rename to ...
+ 	(rtl_redirect_edge_and_branch_force) ... this one; make local.
+ 	(cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
+ 	(cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
+ 	cfglayout.c; update to directly call RTL counterparts.
+ 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
+ 	* ifcvt.c (find_cond_trap): Use delete_block.
+ 	(find_if_case_1): Use delete_block.
+ 	(find_if_case_2): Use delete_block.
+ 	* rtl.h (unlink_insn_chain): Declare.
+ 	* toplev.c (rtl_reigster_cfg_hooks): New.
+ 
+ 2003-06-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (peephole2_optimize): Revert last change.
+ 
+ 2003-06-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (peephole2_optimize): Don't split block unless
+ 	can_throw_internal.
+ 
+ 2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
+ 	* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
+ 
+ 2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
+ 
+ 	PR optimization/4490
+ 	* config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
+ 	* doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
+ 	documentation to accurately reflect what these options do.
+ 
+ 2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
+ 	(ENDFILE_SPEC): Redefine to handle -pie.
+ 
+ 2003-06-05  Phil Edwards <phil@jaj.com>
+ 
+ 	* Makefile.in (qmtest-g++): Use target_alias, not target.
+ 
+ 2003-06-05  Per Bothner  <pbothner@apple.com>
+ 
+ 	* toplev.c (push_srcloc):  Simplify behavior to save current location
+ 	and set current location to parameters.
+ 	(pop_srcloc):  Simplify semantics.
+ 	(lang_dependent_init):  Remove now-useless initial push_srcloc.
+ 
+ 2003-05-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Return 0 for
+ 	language-specific tree codes.
+ 
+ 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/9986
+ 	* pa.c (pa_init_builtins): Also set implicit_built_in_decls for
+ 	BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
+ 
+ Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* install.tex: Document profiledbootstrap.
+ 
+ 	* configure.in:  Add support for lang.stageprofile and
+ 	lang.stagefeedback
+ 	* Makefile.in (clean, distclean): Kill new stages
+ 	(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
+ 	(STAGE2_FLAGS_TO_PASS): ... this one.
+ 	(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
+ 	(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
+ 	(stageprofile_build, stageprofile_copy, stagefeedback_build,
+ 	stagefeedback_copy): New.
+ 	(restageprofile, restagefeedback, stageprofile-start,
+ 	stageprofile, stagefeedback-start): Likewise.
+ 
+ 2003-06-05  David Miller  <davem@redhat.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (HAVE_conditional_trap): Provide default.
+ 	(gen_conditional_trap): Likewise.
+ 	(init_optabs): Merge init_traps.
+ 	(gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
+ 
+ Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
+ 	is REG for nonzero_bits (REG) == 8.
+ 
+ Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (align): Fix warning; clarify what to do when no p2align
+ 	is available.
+ 
+ 2003-06-05  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc (m32r-elf): Revert previous delta.
+ 	* config/m32r/t-m32r (crtinit.o): Fix rule to work with
+ 	multilibs.  Remove m32rx specific version.
+ 	(crtfini.o): Likewise.
+ 	(EXTRA_MULTILIB_PARTS): Define.
+ 
+ 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/md.texi (Machine Constraints): Correct the meaning of
+ 	constraints related to floating-point registers on SPARC.
+ 
+ 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR target/10663
+ 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
+ 	assembler and linker output to /dev/null.
+ 	Use a 'sed' construct instead of 'grep -A1'.
+ 	* configure: Regenerate.
+ 
+ 2003-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (struct ix86_address): Add seg.
+ 	(no_seg_address_operand): New.
+ 	(ix86_decompose_address): Restructure PLUS loop.  Accept one
+ 	UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
+ 	to test for a regnum, not stack_pointer_rtx.
+ 	(ix86_address_cost): Reduce cost if non-default segment.
+ 	(legitimate_address_p): Remove UNSPEC_TP check.
+ 	(get_thread_pointer): Add to_reg argument.  Don't represent
+ 	the thread pointer as a memory load.
+ 	(legitimize_tls_address): Split out of ...
+ 	(legitimize_address): ... here.
+ 	(print_operand_address): Handle parts.seg.
+ 	(ix86_expand_move): Use legitimize_tls_address.
+ 	(ix86_rtx_costs): Handle UNSPEC_TP.
+ 	* config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
+ 	(TARGET_TLS_DIRECT_SEG_REFS): New.
+ 	(TARGET_SWITCHES): Add tls-direct-seg-refs.
+ 	(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
+ 	(PREDICATE_CODES): Add no_seg_address_operand.
+ 	* config/i386/i386.md (lea_1): Use it.
+ 	(lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
+ 	(load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
+ 	* config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
+ 	* config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
+ 	* doc/invoke.texi: Add -mtls-direct-seg-refs.
+ 
+ 2003-06-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
+ 	(QMTEST_GPP_TESTS): Use "g++" by default.
+ 	(stamp-qmtest): Tweak database creation.
+ 	(QMTEST_DIR/context): Update context file format.
+ 	(qmtest-g++): Tweak command-line.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (varasm.o): Don't set -Wno-error.
+ 	* rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
+ 
+ 2003-06-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR bootstrap/3163
+ 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
+ 	(gcc_AC_FUNC_MMAP_BLACKLIST): New.
+ 	* configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
+ 	and AC_CHECK_FUNCS lists, respectively.  Use
+ 	gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
+ 	AC_FUNC_MMAP_FILE.
+ 	* configure, config.in: Regenerate.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
+ 	* arm.c (arm_output_function_prologue): Fix format specifiers.
+ 	* arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
+ 	* m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
+ 	HOST_WIDE_INT_PRINT_DEC.
+ 	* vax.c (vax_output_function_prologue): Fix format specifiers.
+ 
+ 2003-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (find_best_addr): Consider binary operators even if second
+ 	argument is not CONST_INT.
+ 
+ 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* doc/invoke.texi (max-cse-path-length): Document.
+ 
+ 2003-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
+ 
+ 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
+ 	Remove semi-colon at the end of the expression.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
+ 	* i370.h (mvs_function_name_length): Likewise.
+ 	* i960.h (CONSTANT_ALIGNMENT): Likewise.
+ 	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
+ 	variable.
+ 
+ 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Reorganize --with-cpu logic.  Set
+ 	configure_default_options according to the default CPU, --with-cpu,
+ 	--with-arch, --with-tune, --with-schedule, --with-abi, and
+ 	--with-float.  Check for legal values of various options.
+ 	* configure.in: Define configure_default_options in configargs.h.
+ 	* configure: Regenerated.
+ 	* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
+ 	(TARGET_DEFAULT_FLOAT_P): New macros.
+ 	* gcc.c (do_option_spec): New function.
+ 	(struct default_spec, option_default_specs): New.
+ 	(main): Call do_option_spec.
+ 	* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
+ 	config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
+ 	config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
+ 
+ 	* doc/install.texi: Update --with-cpu documentation.  Mention
+ 	--with-arch, --with-schedule, --with-tune, --with-abi, and
+ 	--with-float.
+ 	* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
+ 
+ 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Only process --with-cpu logic in the third pass.
+ 
+ 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Reorganize --with-cpu section.  Remove an
+ 	obsolete comment about the default CPU for x86-64.  Fix
+ 	a typo for the ep9312.  Update the list of supported PowerPC
+ 	CPUs.  Support a limited set of new --with-cpu options
+ 	for i386.
+ 
+ 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
+ 	complex numbers <= 32 bits into two registers.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alpha.c (print_operand_address): Fix format specifier warnings.
+ 	* alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+ 	* arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
+ 	* avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
+ 	Likewise.
+ 	* i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
+ 	* i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
+ 	* i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
+ 	* mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	* sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	* svr3.h (ASM_OUTPUT_COMMON): Likewise.
+ 
+ 2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-decl.c (c_init_decl_processing): Clear input_file_name
+ 	while building common nodes.
+ 	* dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
+ 	Don't add working directory for strings like <built-in> .
+ 
+ 2003-06-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Native as and ld required
+ 	to bootstrap on AIX 5L.
+ 
+ 2003-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (handle_cleanup_attribute): New.
+ 	(c_common_attributes): Add it.
+ 	* c-decl.c (finish_decl): Honor the cleanup attribute.
+ 	* doc/extend.texi (Variable Attributes): Document it.
+ 
+ 	* unwind-c.c: New file.
+ 	* Makefile.in (LIB2ADDEH): Add it.
+ 	* config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
+ 	config/ia64/t-ia64: Likewise.
+ 
+ 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (trampolines_created): New variable.
+ 	(expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
+ 	* function.h (trampolines_created): Add.
+ 	* config/s390/linux.h (ASM_FILE_END): Define.
+ 	* config/alpha/linux-elf.h (ASM_FILE_END): Define.
+ 	* config/m68k/linux.h (ASM_FILE_END): Define.
+ 	* config/rs6000/linux.h (ASM_FILE_END): Define.
+ 	* config/rs6000/linux64.h (ASM_FILE_END): Define.
+ 	* config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
+ 	* config/sparc/linux.h (ASM_FILE_END): Define.
+ 	* config/sparc/linux64.h (ASM_FILE_END): Define.
+ 	* config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
+ 	* config/i386/linux.h (SUBTARGET_FILE_END): Define.
+ 	* config/i386/linux64.h (SUBTARGET_FILE_END): Define.
+ 
+ Wed Jun  4 18:39:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
+ 	(ix86_reorg): Use it.
+ 	* i386.md (align): New insn pattern.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* toplev.c (rest_of_type_compilation): Fix typo.
+ 
+ 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
+ 	    Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
+ 	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
+ 	* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
+ 	* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
+ 	* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
+ 	* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
+ 	(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
+ 	* config/rs6000/rs6000.c (output_profile_hook): Likewise.
+ 
+ 	* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
+ 	Pass it to $gcc_cv_as.
+ 	* configure: Rebuilt.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
+ 	(print_operand): Allow TARGET_AIX to be non-constant.
+ 	(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
+ 	Define unconditionally.
+ 	(rs6000_elf_declare_function_name): New function.
+ 	* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
+ 	non-constant.
+ 	* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
+ 	to 1.
+ 	(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
+ 	[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
+ 	is defined.
+ 	(TARGET_AIX): Define to 1 if TARGET_64BIT.
+ 	(PROCESSOR_DEFAULT): Remove.
+ 	(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
+ 	INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
+ 	[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
+ 	(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
+ 	-m32 and -m64.
+ 	(MULTILIB_DEFAULTS): Define.
+ 	(SUBSUBTARGET_EXTRA_SPECS): Define.
+ 	(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
+ 	(TARGET_TOC): Define only if !RS6000_BI_ARCH.
+ 	(TARGET_NO_TOC): Remove.
+ 	[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
+ 	TARGET_PROTOTYPE): Define to 0.
+ 	(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
+ 	(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
+ 	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
+ 	if !TARGET_64BIT.
+ 	(USER_LABEL_PREFIX): Remove.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
+ 	(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
+ 	if TARGET_64BIT.
+ 	(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
+ 	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
+ 	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
+ 	(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
+ 	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+ 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
+ 	TARGET_64BIT.
+ 	(RS6000_CALL_GLUE): Likewise.
+ 	(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
+ 	RESTORE_FP_SUFFIX): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Remove.
+ 	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
+ 	DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
+ 	name if TARGET_64BIT.
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
+ 	!TARGET_64BIT.
+ 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
+ 	(DRAFT_V4_STRUCT_RET): Define.
+ 	(SIGNAL_FRAMESIZE): New enum value.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 	* config/rs6000/default64.h: New file.
+ 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
+ 	options.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
+ 	to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
+ 	if !TARGET_64BIT.
+ 	[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
+ 	(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
+ 	function.
+ 	(TARGET_OS_SYSV_CPP_BUILTINS): Define.
+ 	(TARGET_OS_CPP_BUILTINS): Use it.
+ 	(CPP_SYSV_SPEC): Remove.
+ 	(CPP_SPEC): Remove cpp_sysv.
+ 	(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
+ 	Add SUBSUBTARGET_EXTRA_SPECS.
+ 	(SUBSUBTARGET_EXTRA_SPECS): Define.
+ 	* config/rs6000/biarch64.h: New file.
+ 	* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
+ 	New prototype.
+ 	* config/rs6000/x-linux64: New file.
+ 	* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
+ 	multilibs.
+ 	* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
+ 	* config/rs6000/eabi-cn.asm: Likewise.
+ 	* config/rs6000/tramp.asm: Likewise.
+ 	* config/rs6000/sol-ci.asm: Likewise.
+ 	* config/rs6000/sol-cn.asm: Likewise.
+ 	* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
+ 	(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
+ 	* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
+ 	_CALL_AIXDESC section.
+ 	* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
+ 	defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
+ 	or default32.
+ 
+ 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Revert accidentally committed ARM changes.
+ 
+ 2003-06-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (dconstpi, dconste): New mathematical constants.
+ 	(init_builtin_dconsts): New function to initialize dconstpi
+ 	and dconste.
+ 	(fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
+ 	compile time with -ffast-math when x is an integer constant.
+ 	Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
+ 	atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
+ 
+ 2003-06-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* calls.c (expand_call): Avoid calling pure or const functions
+ 	when the result is ignored (or void) and none of the arguments
+ 	are volatile.  Move warning diagnostic earlier in function.
+ 
+ 2003-06-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* system.h: Do not poison TDESC_SECTION_ASM_OP,
+ 	RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
+ 
+ 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
+ 	optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
+ 	handle %ll, optimize regular character case.
+ 
+ 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (cse.o): Add params.h dependency.
+ 	* cse.c: Include params.h.
+ 	(PATHLENGTH): Removed.
+ 	(struct cse_basic_block_data): Make path array dynamic.
+ 	(cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
+ 	of PATHLENGTH.
+ 	(cse_main, cse_basic_block): Allocate path array.
+ 	* params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
+ 
+ Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_reorg): Replace the jump instead of adding nop.
+ 	* i386.md (UNSPEC_REP): New constant.
+ 	(return_internal_long): New pattern.
+ 
+ 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/11018
+ 	* config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
+ 	consistently to decide whether the scratch register is really
+ 	required.
+ 
+ 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/10876
+ 	* config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
+ 	new 'O' constraint for constant 4096.
+ 	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+ 	* config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
+ 	Do not transform into MINUS insn for constant 4096.
+ 	(*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
+ 	for constant 4096 as third operand.
+ 	(addsi3 expander): Remove.
+ 	(*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
+ 	new alternative for constant 4096 as third operand.
+ 	(subdi3 expander): Do not transform into PLUS insn for constant 4096.
+ 	(*subdi3_sp64 insn): Add new alternative for constant 4096 as third
+ 	operand.
+ 	(subsi3 expander): Remove.
+ 	(*subsi3 insn): Rename into 'subsi3'. Add new alternative for
+ 	constant 4096 as third operand.
+ 	* doc/md.texi (Machine Constraints): Document new 'O' constraint for
+ 	the SPARC port.
+ 
+ 2003-06-03  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
+ 
+ 2003-06-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
+ 
+ 	* config/i386/i386.c (ix86_expand_prologue): Do not use
+ 	SUBTARGET_PROLOGUE.
+ 
+ 	* system.h: Poision SUBTARGET_PROLOGUE.
+ 
+ 	* config/arm/arm-protos.h: Remove unused rdate_section prototype.
+ 
+ 	* output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
+ 	dependend code.
+ 
+ 	* system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
+ 
+ 	* system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
+ 	INSN_CACHE_LINE_WIDTH.
+ 
+ 	* libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
+ 	(__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
+ 	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
+ 
+ 	* doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
+ 	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
+ 
+ 	* dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
+ 	(dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
+ 	(dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
+ 	(dbxout_block): Remove usage of DBX_LBRAC_FIRST.
+ 	(dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
+ 	(dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
+ 
+ 	* doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
+ 	DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
+ 	DBX_WORKING_DIRECTORY.
+ 
+ 	* system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
+ 	DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
+ 
+ 	* config/frv/frv-protos.h: Remove unused const_section
+ 	declaration.
+ 	* config/vax/vax-protos.h: Likewise.
+ 
+ 	* output.h: Remove CONST_SECTION_ASM_OP usage.
+ 
+ 	* system.h: Poison CONST_SECTION_ASM_OP.
+ 
+ 	* crtstuff.c (__do_global_dtors_aux): Remove usage of
+ 	CRT_GET_RFIB_TEXT.
+ 	(frame_dummy): Likewise.
+ 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
+ 	* system.h: Poison CRT_GET_RFIB_TEXT.
+ 
+ 	* collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
+ 
+ 	* fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
+ 	(write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
+ 	(recognized_function): Likewise.
+ 	(read_scan_file): Likewise.
+ 
+ 2003-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (expand_binop): Optimize complex multiplication for
+ 	the case of squaring a complex argument.
+ 
+ 2003-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
+ 	non-volatile operands of binary operations.
+ 	(prepare_cmp_insn): Likewise.
+ 
+ 2003-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* varasm.c (force_const_mem): Handle alignment of constants not
+ 	representable as a type in the front-end language.
+ 
+ 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* flow.c (initialize_uninitialized_subregs): Use
+ 	emit_move_insn instead of emitting a hardcoded move.
+ 
+ 2003-06-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (expand_abs_nojump): Split out from ...
+ 	(expand_abs): ... here.
+ 	* optabs.h (expand_abs_nojump): Declare.
+ 	* ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
+ 	* Makefile.in (ifcvt.o): Depend on optabs.h.
+ 
+ 2003-06-03  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
+ 
+ 2003-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (default_use_cxa_atexit): New variable, defaults to no.
+ 	(*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
+ 	to yes.
+ 	* configure.in: Allow default_use_cxa_atexit to determine the
+ 	value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
+ 	disabled.
+ 	* configure: Regenerate.
+ 
+ 2003-06-03  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
+ 	* doc/gcc.texi: Remove vms.texi section.
+ 	* doc/vms.texi: Remove obsolete file.
+ 
+ 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* configure.in (inhibit_libc): Don't define when configuring
+ 	with --with-newlib --with-headers.
+ 	* configure: Regenerate.
+ 
+ 	* t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
+ 
+ 2003-06-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in (gcc_cv_as_hidden): Disable .hidden completely on
+ 	IRIX 6 without GNU ld.
+ 	* configure: Regenerate.
+ 
+ 2003-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
+ 	of a complex number rather than invoke mov_optab directly.
+ 
+ 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
+ 	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
+ 
+ 2003-06-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/i386/x86-64.h: Remove two target-independent comments;
+ 	 replace "GNU CC" with "GCC".
+ 
+ 2003-06-03  Anthony Green  <green@redhat.com>
+ 
+ 	* config/frv/t-frv (EXTRA_HEADERS): Remove media.h
+ 
+ 2003-06-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
+ 	New builtins representing ISO C99's cabs, cabsf and cabsl.
+ 	* builtins.c (expand_builtin_fabs): New function.
+ 	(expand_builtin_cabs): New function.
+ 	(expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
+ 	using expand_builtin_fabs and expand_builtin_cabs respectively.
+ 
+ 	* doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
+ 
+ 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* function.c (assign_parms): Split complex arguments.
+ 
+ 	* doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
+ 
+ 	* expr.h (SPLIT_COMPLEX_ARGS): Define.
+ 	(split_complex_types): Protoize.
+ 	(split_complex_values): Protoize.
+ 
+ 	* calls.c (expand_call): Split complex arguments on architectures
+ 	that require it.
+ 	(split_complex_values): New.
+ 	(split_complex_types): New.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_libcall_value): New.
+ 	(rs6000_function_value): Handle complex values on AIX.
+ 	(rs6000_complex_function_value): New.
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
+ 
+ 	* config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
+ 	(SPLIT_COMPLEX_ARGS): New.
+ 
+ 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (HAVE_LD_PIE): Check for ld -pie.
+ 	* config.in: Rebuilt.
+ 	* configure: Rebuilt.
+ 	* toplev.c (flag_pie, flag_shlib): New variables.
+ 	(f_options): Add -fpie and -fPIE.
+ 	(parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
+ 	Set flag_shlib if flag_pic and not -fpie/-fPIE.
+ 	* flags.h (flag_pic, flag_shlib): Add.
+ 	* varasm.c (default_binds_local_p): Use flag_shlib instead of
+ 	flag_pic.
+ 	* gcc.c (LINK_PIE_SPEC): Define.
+ 	(LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
+ 	(option_map): Add --pie -> -pie mapping.
+ 	* config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
+ 	and -fPIE the same way as -fPIC.
+ 	* config/openbsd.h (ASM_SPEC): Likewise.
+ 	* config/frv/frv.h (ASM_SPEC): Likewise.
+ 	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
+ 	* config/arm/semi.h (ASM_SPEC): Likewise.
+ 	* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
+ 	* config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
+ 	* config/i386/beos-elf.h (CC1_SPEC): Likewise.
+ 	* config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
+ 	* config/m68k/linux.h (CPP_SPEC): Likewise.
+ 	* config/m68k/netbsd.h (ASM_SPEC): Likewise.
+ 	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
+ 	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
+ 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
+ 	* config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
+ 	* config/pa/pa-linux.h (CPP_SPEC): Likewise.
+ 	* config/netbsd-aout.h (ASM_SPEC): Likewise.
+ 	* config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
+ 	* config/rs6000/vxworks.h (CPP_SPEC): Likewise.
+ 	* config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
+ 	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
+ 	* config/sparc/sparc.h (ASM_SPEC): Likewise.
+ 	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
+ 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
+ 	* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
+ 	* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
+ 	* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
+ 	* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
+ 	Simplify.
+ 	* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 	* doc/invoke.texi: Document -pie, -fpie and -fPIE options.
+ 
+ 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_memcpy): Remove endp argument and endp
+ 	!= 0 handling.  Pass 0 to store_by_pieces.
+ 	(expand_builtin_mempcpy): Add endp argument.  Don't call
+ 	expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
+ 	directly.  If ignoring result, only do expand_call.
+ 	(expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
+ 	otherwise.
+ 	(expand_builtin_strncpy, expand_builtin_memset): Adjust
+ 	store_by_pices callers.
+ 	(expand_builtin): Adjust expand_builtin_memcpy and
+ 	expand_builtin_mempcpy callers.
+ 	* expr.c (can_move_by_pieces): New function.
+ 	(move_by_pieces): Add endp argument, return to resp. memory at end
+ 	or one byte earlier depending on endp.
+ 	(store_by_pieces): Likewise.
+ 	(emit_block_move): Adjust call to move_by_pieces.
+ 	(emit_push_insn): Adjust move_by_pieces caller.
+ 	* expr.h (can_move_by_pieces): New prototype.
+ 	(store_by_pieces): Adjust prototypes.
+ 	* rtl.h (move_by_pieces): Adjust prototype.
+ 	* config/mips/mips.c (expand_block_move): Adjust move_by_pieces
+ 	caller.
+ 
+ 2003-06-03  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* doc/md.texi (Processor pipeline description): Improve wording.
+ 
+ 2003-06-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_handle_option): New, pulled out of
+ 	c_common_decode_option.  Substitute uses of argv.
+ 	(c_common_decode_option): Broken into two.
+ 
+ 2003-06-02  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* emit-rtl.c (gen_complex_constant_part):  Remove unnecessary
+ 	test of TREE_CONSTANT_POOL_ADDRESS_P.
+ 
+ 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips.c: Don't include output.h twice.
+ 	* stormy16.c: Likewise.
+ 	* xtensa.c: Likewise.
+ 	* output.h: Protect against multiple inclusion.
+ 
+ 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (OLD_ARG_MODE): New macro.
+ 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+ 	(FUNCTION_ARG_1): Break out of:
+ 	(FUNCTION_ARG).  Use OLD_ARG_MODE.
+ 
+ 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* gcc/config.gcc Add support multilib parts for m32rx processor.
+ 
+ 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
+ 	(mostlyclean): Delete c-options.c and c-options.h.
+ 
+ 2003-06-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (CL_REJECT_NEGATIVE): New.
+ 	(c_common_decode_option): Update to use it.
+ 	* c.opt: Update documentation; use RejectNegative.
+ 	* opts.sh: Handle RejectNegative.
+ 
+ 2003-06-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ggc-page.c (init_ggc): Give better diagnostics on failure to
+ 	open /dev/zero.
+ 	* toplev.c (crash_signal): Reset handling for received signal
+ 	to SIG_DFL.
+ 
+ 2003-06-02  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
+ 	(arm_use_dfa_pipeline_interface): Implement.
+ 	* config/arm/arm.md (arm): New automaton.
+ 	(write_buf): Remove function units; new cpu unit.
+ 	(write_blockage): Remove function units; new cpu unit.
+ 	(core): Remove function units; new cpu unit.
+ 	(r_mem_f_wbuf): New instruction reservation.
+ 	(store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
+ 	(store1_ldsched, store2, store3, store4): Likewise.
+ 	(load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
+ 	(mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
+ 	(multi_cycle, single_cycle): Likewise.
+ 	* config/arm/fpa.md (armfp): New automaton.
+ 	(fpa): Remove function units; new cpu unit.
+ 	(fpa_mem): Remove function unit; new cpu unit.
+ 	(fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
+ 	(r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
+ 
+ 2003-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (ATTR_ASM_FPRINTF): New.
+ 	* c-format.c (enum format_type): Add asm_fprintf_format_type.
+ 	(NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
+ 	asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
+ 	(format_types_orig): Renamed from format_types.  Add new data.
+ 	(format_types): Declare as pointer.
+ 	(handle_format_attribute): Move later in file so we have all
+ 	necessary declarations.  Add section to capture HOST_WIDE_INT.
+ 	* output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
+ 	(asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
+ 
+ 2003-06-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
+ 	ROUND_TYPE_SIZE_UNIT.
+ 
+ 	* stor-layout.c (finalize_record_size): Remove usages of
+ 	ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
+ 	(finalize_type_size): Likewise.
+ 	(layout_type): Likewise.
+ 
+ 	* system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
+ 
+ 	* loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
+ 
+ 	* config/d30v/d30v.h: Remove text copied from the manual.
+ 
+ 2003-06-01  Roger Sayle  <roger@eyesopen.com>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 	    Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Handle interpreting integer
+ 	constants as condition code values.
+ 
+ 2003-06-01  DJ Delorie  <dj@redhat.com>
+ 
+ 	* cppmacro.c (warn_of_redefinition): Handle cases where the two
+ 	definitions have different numbers of tokens.
+ 
+ 2003-06-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gen-protos.c (main): Readd unused attribute for argc.
+ 
+ 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-options.c, c-options.h): Parallel make safe.
+ 	* c.opt: End in blank line.
+ 	* opts.sh: Take AWK from environment if available; use C locale.
+ 
+ 2003-06-01  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
+ 
+ 2003-06-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gen-protos.c (main): Revert patch to check for argument.
+ 
+ 2003-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/11044
+ 	* config/i386/i386.md (length attribute): Set length to 4
+ 	for instructions of type "fcmp".
+ 
+ 2003-06-01  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* toplev.c: Use ISO C90 prototypes.
+ 
+ 	* toplev.h: Use ISO C90 prototypes.
+ 
+ 	* genrecog.c: Use ISO C90 prototypes.
+ 	(nodes_identical): Correct declaration to match prototype.
+ 	(maybe_both_true): Likewise.
+ 	(merge_trees): Likewise.
+ 
+ 	* genpeep.c (gen_peephole): Remove #if 0 code.
+ 	Use ISO C90 prototypes.
+ 
+ 	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
+ 	Remove #if 0'ed function simplify_by_alternatives.
+ 	(optimize_attrs): Remove #if 0'ed code.
+ 	Remove ^L.
+ 	Use ISO C90 prototypes.
+ 	(make_canonical): Remove #if 0'ed code.
+ 	(convert_const_symbol_ref): Remove #if 0'ed function.
+ 
+ 	* gen-protos.c (main): Check for argument.
+ 
+ 	* rtl.h: Use ISO C90 prototypes for functions from lists.c.
+ 
+ 	* params.h: Use ISO C90 prototypes.
+ 	* params.c: Likewise.
+ 	* intl.c: Likewise.
+ 	* intl.h: Likewise.
+ 	* lists.c: Likewise.
+ 	* errors.c: Likewise.
+ 	* errors.h: Likewise.
+ 	* gencodes.c: Likewise.
+ 	* genpreds.c: Likewise.
+ 	* genattr.c: Likewise.
+ 	* gen-protos.c: Likewise.
+ 	* genflags.c: Likewise
+ 	* genconditions.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genconstants.c: Likewise.
+ 	* genemit.c: Likewise.
+ 	* genextract.c: Likewise.
+ 	* gengenrtl.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* gengtype.h: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* genoutput.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* gensupport.h: Likewise.
+ 
+ 	* sdbout.h: Use ISO C90 prototypes.
+ 
+ 	* sdbout.c (CONTIN): Removed empty macro.
+ 	(sdbout_one_type): Remove CONTIN usages.
+ 	Remove ^Ls.
+ 	(tag_of_ru_type): Remove #if 0'ed function.
+ 	(sdbout_symbol): Remove #if 0'ed code.
+ 	(sdbout_one_type): Remove a #if 1.
+ 	(sdbout_one_type): Remove #if 0'ed code.
+ 	(sdbout_init): Remove RMS_QUICK_HACK_1 code.
+ 	Remove PARAMS, use ISO C90 prototypes for all functions.
+ 
+ 2003-06-01  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* rtl.def (CONST_DOUBLE): Update comment.
+ 
+ 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* opts.sh: Remove path from sort.
+ 
+ 2003-06-01  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR/9680
+ 	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
+ 	TARGET_SPE for SPE_VECTOR_MODE.
+ 
+ 2003-05-31  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* toplev.c (botch): Remove.
+ 	(do_abort): Remove.
+ 	(set_Wunused): Comment.
+ 	(set_Wextra): Comment.
+ 	Remove ^L's.
+ 	(rest_of_compilation): Factor out common code into functions.
+ 	(rest_of_handle_inlining): New.
+ 	(rest_of_handle_ssa): New.
+ 	(rest_of_handle_cse): New.
+ 	(rest_of_handle_gcse): New.
+ 	(rest_of_handle_loop_optimize): New.
+ 	(rest_of_handle_jump_bypass): New.
+ 	(rest_of_handle_sibling_calls): New.
+ 	(rest_of_handle_null_pointer): New.
+ 	(rest_of_handle_addresof): New.
+ 	(rest_of_handle_flow): New.
+ 	(rest_of_handle_branch_prob): New.
+ 	(rest_of_handle_if_conversion): New.
+ 	(rest_of_handle_tracer): New.
+ 	(rest_of_handle_loop2): New.
+ 	(rest_of_handle_cse2): New.
+ 	(rest_of_handle_life): New.
+ 	(rest_of_handle_combine): New.
+ 	(rest_of_handle_if_after_combine): New.
+ 	(rest_of_handle_regmove): New.
+ 	(rest_of_handle_sched): New.
+ 	(rest_of_handle_old_regalloc): New.
+ 	(rest_of_handle_new_regalloc): New.
+ 	(rest_of_handle_regrename): New.
+ 	(rest_of_handle_reorder_blocks): New.
+ 	(rest_of_handle_sched2): New.
+ 	(rest_of_handle_new_regalloc): New.
+ 	(rest_of_handle_old_regalloc): New.
+ 	(rest_of_handle_regrename): New.
+ 	(rest_of_handle_reorder_blocks): New.
+ 	(rest_of_handle_stack_regs): New.
+ 	(rest_of_handle_machine_reorg): New.
+ 	(rest_of_handle_delay_slots): New.
+ 	(rest_of_handle_final): New.
+ 
+ 	* toplev.h (botch): Remove prototype.
+ 	(do_abort): Same.
+ 
+ 2003-05-31  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-opts.o, c-options.h): Update dependencies.
+ 	* c-opts.c: Include c-options.h and c-options.c.
+ 	(CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
+ 	Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
+ 	(CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
+ 	OPT, opt_comp): Remove.
+ 	(missing_arg, c_common_init_options, c_common_decode_option,
+ 	write_langs): Update for macro redefinitions and enumeration
+ 	name changes.
+ 	* c.opt, opts.sh: New files.
+ 	* doc/passes.texi: Update.
+ 
+ 2003-05-31  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
+ 	usage.
+ 
+ 	* doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
+ 
+ 	* config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
+ 
+ 	* system.h: Poison ALLOCATE_TRAMPOLINE.
+ 
+ 	* doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
+ 	* system.h: Poison HANDLE_PRAGMA.
+ 
+ 2003-05-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Update dump file names.
+ 
+ 2003-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-format.c (format_length_info, format_char_info,
+ 	format_flag_spec, format_flag_pair, format_kind_info):
+ 	De-const-ify structure members.
+ 
+ 2003-05-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* flags.h (flag_wrapv): New flag controlling overflow semantics.
+ 	* toplev.c (flag_wrapv): Declare the variable with default false.
+ 	(lang_independent_options): New option "-fwrapv" to set the above.
+ 
+ 	* fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
+ 	as x, when signed arithmetic overflow wraps around.
+ 	(fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
+ 	* loop.c (basic_induction_var): Ignore BIVs that rely on undefined
+ 	overflow when flag_wrapv is true.
+ 
+ 	* doc/invoke.texi: Document new -fwrapv command line option.
+ 	* doc/c-tree.texi: Mention that the overflow semantics of
+ 	NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
+ 	upon both flag_wrapv and flag_trapv.
+ 
+ 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (mips-sgi-irix5): Add missing
+ 	HTML <hr> marker.
+ 
+ 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/md.texi (Machine Constraints): Document
+ 	missing SPARC constraints.
+ 
+ 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/md.texi (Automaton pipeline description): Use
+ 	"type" instead of "cpu" as the attribute in the examples.
+ 
+ 2003-05-30  Stan Shebs  <shebs@apple.com>
+ 
+ 	* system.h: Poison OBJC_PROLOGUE.
+ 
+ 2003-05-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* emit-rtl.c (gen_complex_constant_part): New function for getting
+ 	the constant real or imaginary part of a complex constant.
+ 	(gen_realpart): Use it.
+ 	(gen_imagpart): Likewise.
+ 
+ 2003-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Fix typos.
+ 	* doc/rtl.texi: Likewise.
+ 
+ 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+ 
+ 	* config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
+ 	mode.
+ 	* config/h8300/crtn.asm: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 	* config/h8300/h8300.c (asm_file_start): Likewise.
+ 	* config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
+ 	h8300snelf emulations for normal mode.
+ 	* config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
+ 	emulations for normal mode.
+ 
+ 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+ 
+ 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
+ 	true if TARGET_NORMAL_MODE.
+ 
+ 2003-05-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
+ 	making a substitution.
+ 	(dead_libcall_p): If directly replacing a libcall with a
+ 	constant value produces an invalid instruction, also try forcing
+ 	the constant into the constant pool.
+ 	* expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
+ 	obvious that the source is a constant.
+ 	(compress_float_constant): Use set_unique_reg_note to place
+ 	REG_EQUAL notes on instructions.
+ 
+ 2003-05-30  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (extern_list): Add GTY marker.
+ 	(extern_head): Separate out definition. Add marker.
+ 	(mips_output_external): Use ggc_alloc for extern_list
+ 	allocation.
+ 	(mips_output_external_libcall): Ditto.
+ 
+ 2003-05-30  Florian Weimer  <fw@deneb.enyo.de>
+ 
+ 	* doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
+ 	later.
+ 
+ 2003-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
+ 	warnings.
+ 	(PRINT_OPERAND): Likewise.
+ 
+ 2003-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
+ 	-mdebug/-no-mdebug switches ...
+ 	(MDEBUG_ASM_SPEC): ... here.
+ 	Use only with gas.
+ 	(EXTRA_SPECS): Initialize mdebug_asm_spec.
+ 
+ 2003-05-29  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* gthr-gnat.c: Remove #undef UNUSED.
+ 	(__gnat_default_lock, __gnat_default_unlock): Prototype.
+ 	(__gnat_task_lock, __gnat_task_unlock): Make declarations
+ 	prototypes.
+ 	(__gnat_install_locks): Convert declaration to ISO C90, make
+ 	parameter declarations prototypes, and remove blank line.
+ 	* gthr-gnat.h (__gnat_install_locks): Make parameter
+ 	declarations prototypes.
+ 
+ 2003-05-29  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (unstrap): Remove stage_last after make unstage1.
+ 
+ 2003-05-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
+ 
+ 2003-05-29  Roger Sayle  <roger@eyesopen.com>
+ 	    Kaveh Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR bootstrap/10169
+ 	* mips-tfile.c (main): Use getopt_long instead of getopt.
+ 	Add new command line option --version to display version.
+ 	Treat --verbose like -v to report a single line version.
+ 	(options): New global variable for getopt_long.
+ 	* mips-tdump.c (main): Use getopt_long instead of getopt.
+ 	New command line options -v, --version and -verbose to display
+ 	the program version number (to match mips-tfile's behavior).
+ 	(options): New global variable for getopt_long.
+ 
+ 	* gcov.c (options): Zero-terminate getopt_long array.
+ 	* gcov-dump.c (options): Likewise.
+ 
+ 	* Makefile.in (mips-tdump.o): Add dependency on version.h.
+ 
+ 2003-05-29  Stan Shebs  <shebs@apple.com>
+ 
+ 	Remove OBJC_PROLOGUE everywhere.
+ 	* objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
+ 	* config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
+ 	* config/d30v/d30v.h: Similarly.
+ 	* config/ip2k/ip2k.h: Similarly.
+ 	* doc/tm.texi: Remove doc of OBJC_PROLOGUE.
+ 
+ 2003-05-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-semantics.c (genrtl_do_stmt_1): New function split out from...
+ 	(gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
+ 	(expand_unreachable_stmt): Expand unreachable while statements
+ 	using genrtl_do_stmt_1.
+ 
+ 2003-05-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_output_load_label): Declare.
+ 	* config/mips/mips.c (mips_output_load_label): New function.
+ 	(mips_output_conditional_branch): Use it.
+ 	* config/mips/mips.md (jump): And here.
+ 
+ 2003-05-28  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
+ 	(xtensa_split_operand_pair): New proto.
+ 	* config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
+ 	(smalloffset_double_mem_p): Delete.
+ 	(gen_float_relational, printx, print_operand, xtensa_va_arg):
+ 	Fix whitespace.
+ 	(xtensa_split_operand_pair): New.
+ 	(xtensa_dbx_register_number): Fix formatting.
+ 	* config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
+ 	* config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
+ 	instead of splitting them into single-word moves.  Remove unnecessary
+ 	checks for reload_in_progress and reload_completed.
+ 	(movdi_internal, movdf_internal): Change to post-reload split patterns.
+ 	Add constraints to allow constant operands.
+ 	(movsf_internal): Allow CONST_INT operands.
+ 
+ 2003-05-27  Danny Smith   <dannysmith@users.sourceforge.net>
+ 
+ 	* config.gcc (i[34567]86-*-mingw32*): Add host makefile
+ 	fragment i386/x-mingw32.
+ 	* config/i386/x-mingw32: New file. Make local_includedir
+ 	relative to EXEC_PREFIX.
+ 
+ 2003-05-27  Aaron W. LaFramboise  <awlaframboise@aol.com>
+ 
+ 	* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
+ 	(MD_STARTFILE_PREFIX): Define.
+ 
+ 2003-05-27  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* cselib.c (cselib_invalidate_regno): Abort if hardreg have a
+ 	VOIDmode.
+ 	* cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
+ 	call of cselib_invalidate_regno.
+ 
+ 2003-05-28  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
+ 	-lthread to -lpthread.
+ 
+ 2003-05-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 	    Arno Klaassen  <arno@heho.snv.jussieu.fr>
+ 
+ 	* fixinc/inclhack.def: Add missing declaration of getpagesize()
+ 	to unistd.h on Solaris 2.5.1.
+ 	Fix prototype of recv() and send() in sys/socket.h on
+ 	Solaris 2.5.1 and 2.6.
+ 	* fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
+ 	* fixinc/tests/base/sys/socket.h: Add solaris_socket test.
+ 	* fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-05-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (expr_first, expr_length): New fns.
+ 	* tree.h: Declare them.
+ 
+ 	* tree.c (iterative_hash_expr): Hash commutative expressions
+ 	consistently.
+ 
+ 2003-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (contains_placeholder_p): Now returns bool.
+ 	(CONTAINS_PLACEHOLDER_P): New macro.
+ 	(type_contains_placeholder_p): New function.
+ 	* tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
+ 	(contains_placeholder_p): Now returns bool.
+ 	Rework to use CONTAINS_PLACEHOLDER_P macro.
+ 	(type_contains_placeholder_p): New function.
+ 	* fold-const.c (fold, case COMPONENT_REF): Don't fold if
+ 	type_contains_placeholder_p.
+ 	(fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
+ 	Use CONTAINS_PLACEHOLDER_P macro.
+ 	* builtins.c (fold_builtin): Likewise.
+ 	* calls.c (initialize_argument_information): Likewise.
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ 	* explow.c (expr_size): Likewise.
+ 	* expr.c (store_constructor, get_inner_reference): Likewise.
+ 	* function.c (assign_parms): Likewise.
+ 	* stor-layout.c (variable_size): Likewise.
+ 
+ 2003-05-25  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.h (output_verbatim, verbatim):  Remove  printf
+ 	attribute.
+ 
+ 2003-05-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Update Kean Johnston.
+ 
+ 2003-05-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
+ 
+ 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/rs6000/440.md, config/stormy16/stormy16protos.h,
+ 	config/stormy16/stormy16.c, config/stormy16/stormy16.md:
+ 	Replace "GNU CC" with "GCC".
+ 
+ 2003-05-24  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
+ 	intermediate computation.
+ 
+ 2003-05-23  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md (clzsi, clzdi): New patterns.
+ 
+ 2003-05-23  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gcc.c (default_compilers): Use -o to specify preprocessor's output
+ 	file.  Make -no-integrated-cpp work when building PCH files.
+ 	* objc/lang-specs.h: Likewise.
+ 
+ 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/Makefile.in: Correct description.
+ 	* fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
+ 	fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
+ 	fixinc/genfixes: Replace "GNU CC" with "GCC".
+ 
+ 2003-05-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
+ 	builtin functions (and their __builtin_* variants).
+ 	* builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
+ 	(expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
+ 	optimizing.
+ 
+ 	* doc/extend.texi: Document new tan and atan builtins, and
+ 	their float and long double variants.
+ 
+ 2003-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
+ 	__sparcv9 in the TARGET_ARCH64 case.
+ 
+ Fri May 23 22:17:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_reorg): Calls are also jumps.
+ 
+ 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
+ 	note containing an EXPR_LIST, process all the arguments.
+ 
+ Fri May 23 21:19:31 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 			       Andreas Jaeger  <aj@suse.de>
+ 
+ 	* i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
+ 	do not use assertion.
+ 
+ 2003-05-23  Mike Stump  <mrs@apple.com>
+ 
+ 	* tlink.c (scan_linker_output): Add support for darwin linker, as it
+ 	emits unresolved symbols one per line, consuming the entire line.
+ 
+ 2003-05-23  Larin Hennessy <larin@science.oregonstate.edu>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
+ 	* config/m68k/m68k.c (m68k_output_function_prologue):
+ 	Remove code under #if NEED_PROBE.
+ 	* config/m68k/m68k.h: Don't define NEED_PROBE.
+ 	* config/m68k/m68k.md: Remove "probe" insn.
+ 	* doc/md.texi: Remove documentation of "probe" pattern.
+ 
+ 2003-05-23  Dorit Naishlos  <gcchaifa@il.ibm.com>
+ 
+ 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
+ 
+ 2003-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
+ 	Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
+ 
+ 2003-05-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_maxval): New function to return the largest finite
+ 	value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
+ 	* real.h (real_maxval): Prototype here.
+ 	* fold-const.c (fold_inf_compare): Transform comparisons against
+ 	+-Infinity into comparisons against DBL_MAX (or equivalent).
+ 
+ 2003-05-22  Mike Stump  <mrs@apple.com>
+ 
+ 	* config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
+ 	default.
+ 
+ 2003-05-22  DJ Delorie  <dj@redhat.com>
+ 
+ 	* calls.c (expand_call): If the arg block is going to grow
+ 	downward, we need argblock to point to the top of the block,
+ 	not the bottom.
+ 
+ 2003-05-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
+ 
+ 	* expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
+ 	constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
+ 
+ 2003-05-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
+ 	* m68k.c: Likewise.
+ 	* m68k.h: Likewise.
+ 
+ 2003-05-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR other/2873
+ 	* fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
+ 	expressions to prevent triggering on recent curses.h,
+ 	linux/nls.h, or X11/Xlib.h.
+ 	(stdio_va_list): Add _G_va_list to bypass pattern.
+ 	(strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
+ 
+ 	* gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
+ 	switches when --target-help option is specified.
+ 
+ 2003-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/10805
+ 	* doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
+ 	failure with Sun assembler 5.0 Alpha 03/27/98.
+ 
+ 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
+ 	to match system compiler convention.
+ 
+ 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
+ 	value, not just if defined.
+ 	Update copyright year.
+ 
+ 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/6428
+ 	* pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
+ 	directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
+ 	option is used without `-static'.
+ 	* pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
+ 	* pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
+ 
+ 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
+ 	TARGET_SERIALIZE_VOLATILE): Delete.
+ 	(MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
+ 	(TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
+ 	(TARGET_SWITCHES): Remove "-mserialize-volatile" and
+ 	"-mno-serialize-volatile".
+ 	* config/xtensa/xtensa.c (print_operand): Remove checks of
+ 	TARGET_SERIALIZE_VOLATILE.
+ 	* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
+ 	* doc/invoke.texi (Option Summary, Xtensa Options): Remove
+ 	"-mserialize-volatile" and "-mno-serialize-volatile" options.
+ 
+ 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
+ 	(nested_function): Likewise.
+ 	(notype_nested_function): Likewise.
+ 
+ 2003-05-21  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/stormy-abi: Update overflow type for
+ 	R_XSTORMY16_16 reloc.
+ 
+ 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
+ 	* c-parse.in (reswords): Remove __bounded__ and __unbounded__.
+ 	(rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
+ 	* print-tree.c (print_node): Remove ambient-boundedness.
+ 	* tree.h (tree_common): Remove bounded_flag.
+ 	(BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
+ 	BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
+ 	MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
+ 	TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
+ 	TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
+ 	Remove.
+ 	(TYPE_QUALS): Remove BOUNDED.
+ 	(TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
+ 	(TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
+ 	TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
+ 	TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
+ 	VA_LIST_POINTER_DEPTH): Remove.
+ 	(struct tree_type): Remove pointer_depth.
+ 
+ 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-pretty-print.c (pp_c_integer_literal): Use
+ 	HOST_WIDE_INT_PRINT_DOUBLE_HEX.
+ 
+ 2003-05-20  Roger Sayle  <roger@eyesopen.com>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 	    Joern Rennecke  <joern.rennecke@superh.com>
+ 
+ 	* gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
+ 	setcc and jump, if they exist.  If substituted instruction
+ 	fails to validate, store current effort in a REG_EQUAL note.
+ 	(cprop_insn): Don't attempt further substitutions if the
+ 	current instruction has been deleted.
+ 	(local_cprop_pass): Likewise.
+ 
+ 	* jump.c (redirect_jump):  Also update REG_EQUAL note, if
+ 	one is attached to the jump instruction.
+ 	(invert_jump): Delete REG_EQUAL note on jump, if one exists.
+ 
+ 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR c++/9738
+ 	* config/i386/winnt.c (i386_pe_encode_section_info): Enable
+ 	even if not first.
+ 
+ 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genautomata.c (output_description, output_automaton_units,
+ 	output_state_arcs): Add missing specifiers.
+ 
+ 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
+ 	(do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
+ 	(__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
+ 	(nsau): Rename to do_nsau.  Provide alternate version for use when
+ 	the NSAU instruction is available.
+ 	(__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
+ 	(__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
+ 	* config/xtensa/xtensa-config.h: Update comments to match binutils.
+ 	(XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
+ 	* config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
+ 	(TARGET_ABS, TARGET_ADDX): Define.
+ 	(TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
+ 	(TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
+ 	* config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
+ 	*subx8): Set predicate condition to TARGET_ADDX.
+ 	(abssi2): Set predicate condition to TARGET_ABS.
+ 	* doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
+ 	"-maddx", and "-mno-addx" options.
+ 	(Xtensa Options): Likewise.  Also tag some opcode names with @code.
+ 
+ 2003-05-20  Kevin Ryde <user42@zip.com.au>
+ 	    Wolfgang Bangerth <bangerth@dealii.org>
+ 
+ 	PR/10355
+ 	* doc/extend.texi: Put a warning into the documentation
+ 	of attribute regparm.
+ 
+ 2003-05-20  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (expr_last): New fn.
+ 	* tree.h: Declare it.
+ 	* objc/objc-act (expr_last): Rename to objc_expr_last.
+ 
+ 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_register_move_cost): Add clase for moving between
+ 	FP registers and MAC registers.
+ 
+ 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
+ 
+ 	* pa/milli64.S ($$mulI): Fix typo.
+ 
+ 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
+ 	(nonlocal_set_p): Remove initial blank line.
+ 	* dwarf2out.c (simple_type_size_in_bits): Likewise.
+ 	* et-forest.c (et_forest_create): Likewise.
+ 	* explow.c (stabilize): Likewise.
+ 	* fix-header.c (write_lbrac): Likewise.
+ 	* graph.c (start_fct, node_data): Likewise.
+ 	* jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
+ 	* rtlanal.c (global_reg_mentioned_p): Likewise.
+ 	* tree.c (bit_position): Likewise.
+ 
+ 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
+ 	-lthread to -lpthread.
+ 
+ 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (c_common_decode_option): Don't accept dollars
+ 	as identifier characters in assembly.
+ 	* doc/cpp.texi: Document this.
+ 
+ 2003-05-19  Seth Arnold  <sarnold@wirex.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Do not add
+ 	vrsave_size twice.
+ 
+ 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi (function_arg): Fix typo.
+ 
+ 2003-05-19  Matt Austern  <austern@apple.com>
+ 
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
+ 	* c-common.h (warn_invalid_offsetof): Declare.
+ 	* c-common.c (warn_invalid_offsetof): Define.
+ 	* doc/invoke.texi: Document -Winvalid-offsetof.
+ 	* testsuite/g++.dg/other/offsetof3.C: New.
+ 	* testsuite/g++.dg/other/offsetof4.C: New.
+ 
+ 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_alignment_string,
+ 	rs6000_alignment_flags): New variables.
+ 	(rs6000_parse_alignment_option): New function.
+ 	(rs6000_override_options): Call it.
+ 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
+ 	(MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
+ 	macros.
+ 	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
+ 	natural alignment if TARGET_NATURAL_ALIGNMENT
+ 	(ROUND_TYPE_ALIGN): Always use default record alignment if
+ 	TAGET_NATURAL_ALIGNMENT.
+ 	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
+ 	(ROUND_TYPE_ALIGN): Same.
+ 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
+ 	(ROUND_TYPE_ALIGN): Same.
+ 	* doc/invoke.texi (Option Summary, PowerPC Options): Document
+ 	new options.
+ 
+ 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
+ 	of a function using ASMSPEC, prepend a star.
+ 
+ 2003-05-19  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree-inline.c (copy_body_r): Avoid generating &* during inline
+ 	substitution.
+ 
+ 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
+ 	not mark assignments to the hard frame pointer as being stack
+ 	frame related.
+ 	(xstormy16_expand_epilogue): Mark adjustments to the stack
+ 	pointer as being stack frame related.
+ 
+ 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
+ 	ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
+ 	(PREDICATE_CODES): Add hilo_operand.
+ 	* config/mips/mips.c (hilo_operand): New predicate.
+ 	(mips_adjust_insn_length): Account for the number nops that might
+ 	be needed to avoid hardware hazards.
+ 	* config/mips/mips.md (dslot): Remove attribute.
+ 	(hazard): New attribute.
+ 	(can_delay): Use it.  Check for calls, branches & jumps.
+ 	(muldi3): Use the standard dmult pattern for mips16 code.
+ 	(muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
+ 
+ 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (final_prescan_insn,
+ 	mips_count_memory_refs, mips_fill_delay_slot): Remove.
+ 	* config/mips/mips.h (delay_type, dslots_load_total,
+ 	dslots_load_filled, dslots_jump_total, dslots_jump_filled,
+ 	dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
+ 	mips_load_reg3, mips_load_reg4): Remove.
+ 	(MASK_STATS): Remove.
+ 	(MASK_EXPLICIT_RELOCS): Reuse its value.
+ 	(TARGET_STATS): Remove.
+ 	(TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
+ 	Warn that -mstats is now ignored.
+ 	(FINAL_PRESCAN_INSN): Undefine.
+ 	(DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
+ 	(ASM_OUTPUT_REG_POP): Likewise.
+ 	* config/mips/mips.c (dslots_load_total, dslots_load_filled,
+ 	dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
+ 	mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
+ 	mips_fill_delay_slot, mips_count_memory_refs,
+ 	final_prescan_insn): Remove.
+ 	(output_block_move): Remove calls to mips_count_memory_refs.
+ 	(print_operand): Remove printing of #nop for TARGET_STATS.
+ 	(mips_output_function_epilogue): Remove TARGET_STATS code.
+ 	Reorganize setting of fnnmae.
+ 	* config/mips/mips.md: Remove handling of dslot statistics
+ 	throughout file.  Change all fcmp patterns into normal asm
+ 	templates, removing calls to mips_fill_delay_slot.
+ 	* doc/invoke.texi: Remove documentation of -mstats.
+ 
+ 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_class_max_nregs): Return the number of
+ 	words in the mode.
+ 
+ 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Disable explicit
+ 	relocs for old ABIs unless using gas.
+ 
+ 2003-05-18  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h: Remove definition of g_switch_value.
+ 
+ 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* flags.h (g_switch_value): Change to an unsigned
+ 	HOST_WIDE_INT.
+ 	* toplev.c (g_switch_value): Likewise.
+ 
+ 	* config/alpha/alpha.c (small_symbolic_operand): Remove
+ 	g_switch_value cast.
+ 	(alpha_in_small_data_p): Cast size to an unsigned
+ 	HOST_WIDE_INT.
+ 
+ 	* config/frv/frv.c (frv_in_small_data_p): Cast size to an
+ 	unsigned HOST_WIDE_INT.
+ 	* config/frv/frv.h (g_switch_value, g_switch_set): Remove.
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
+ 
+ 	* config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
+ 	unsigned HOST_WIDE_INT.
+ 	(m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
+ 	* config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_file_start): Use
+ 	HOST_WIDE_INT_PRINT_UNSIGNED.
+ 	(small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
+ 	(rs6000_elf_in_small_data_p): Cast size to unsigned
+ 	HOST_WIDE_INT.
+ 	* config/rs6000/sysv4.h (g_switch_value, g_switch_set):
+ 	Remove.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
+ 	g_switch_set.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
+ 	g_switch_value cast.
+ 
+ 2003-05-18  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR middle-end/10472
+ 	* builtins.c (expand_builtin_memcpy):  Call force_operand on
+ 	expressions and use simplify_gen_binary to create the addition.
+ 
+ 2003-05-18  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.md: Use define_constants for unspec numbers.
+ 
+ 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/sparc/sparc.h: Define sparc for now.
+ 
+ 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Clear xm_file, md_file at the beginning of each pass.
+ 
+ 	* config/stormy16/stormy16.h: Remove about 3000 lines of
+ 	target-independent comments.  Update copyright notice.
+ 
+ 	* doc/collect2.texi: GNU CC -> GCC.
+ 	* doc/headerdirs.texi: GNU CC -> GCC.
+ 
+ 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* hashtable.h (struct ht_identifier): Add data member "hash_value".
+ 	* hashtable.c (ht_lookup): Use it when searching, remember.
+ 	(ht_expand): Do not recompute.
+ 	* tree.h (IDENTIFIER_HASH_VALUE): New macro.
+ 
+ 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.c (gcov_read_bytes): Fix fread thinko.
+ 
+ 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
+ 	Default here.
+ 	(c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
+ 	* defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
+ 	* config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
+ 	* config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
+ 	config/arm/linux-elf.h, config/arm/rtems-elf.h,
+ 	config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
+ 	config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
+ 	config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
+ 	config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
+ 	config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
+ 	config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
+ 	config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
+ 	config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
+ 	config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
+ 	config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
+ 	Don't define __ELF__.
+ 	* config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
+ 	Define __ELF__.
+ 	* doc/cpp.texi: Document __ELF__.
+ 	* doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.	*
+ 
+ 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
+ 	always use stdarg.
+ 	* c-errors.c (pedwarn_c99): Likewise.
+ 	* c-format.c (status_warning): Likewise.
+ 	* c-semantics.c (build_stmt): Likewise.
+ 	* calls.c (emit_library_call, emit_library_call_value): Likewise.
+ 	* collect2.c (notice, fatal_perror, fatal, error): Likewise.
+ 	* cpperror.c (cpp_error, cpp_error_with_line): Likewise.
+ 	* diagnostic.c (build_message_string, output_printf,
+ 	output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
+ 	fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
+ 	error_with_decl, fnotice): Likewise.
+ 	* dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
+ 	dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
+ 	dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
+ 	dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
+ 	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
+ 	dw2_asm_output_encoded_addr_rtx): Likewise.
+ 	* emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
+ 	* errors.c (warning, error, fatal, internal_error): Likewise.
+ 	* final.c (output_operand_lossage, asm_fprintf): Likewise.
+ 	* fix-header.c (fatal): Likewise.
+ 	* gcc.c (fatal, error, notice): Likewise.
+ 	* gcov.c (fnotice): Likewise.
+ 	* genattrtab.c (attr_rtx, attr_printf): Likewise.
+ 	* gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
+ 	* gensupport.c (message_with_line): Likewise.
+ 	* mips-tfile.c (fatal, error): Likewise.
+ 	* protoize.c (notice): Likewise.
+ 	* ra-debug.c (ra_debug_msg): Likewise.
+ 	* read-rtl.c (fatal_with_file_and_line): Likewise.
+ 	* rtl-error.c (error_for_asm, warning_for_asm): Likewise.
+ 	* tree.c (build, build_nt, build_function_type_list): Likewise.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
+ 	* gcc.c (cpp_predefines): Remove.
+ 	(cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
+ 	(static_specs): Remove predefines.
+ 	* system.h: Poison CPP_PREDEFINES.
+ 	* config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
+ 	config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
+ 	config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
+ 	config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
+ 	use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR c/9209
+ 	* c-common.c, c-common.h (dollars_in_ident): Remove.
+ 	* c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
+ 	(c_common_init_options, c_common_decode_option): Set dollars_in_ident.
+ 	* cpphash.h (warned_dollar): Rename warn_dollars.
+ 	* cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
+ 	Permit dollars regardless of -std=.
+ 	(post_options): Set warn_dollars.
+ 	* cpplex.c (forms_identifier_p): Use warn_dollars.
+ 	* config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
+ 	Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
+ 	* doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
+ 	Update documentation.
+ 
+ 2003-05-17  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Use
+ 	HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
+ 	formatting a HOST_WIDE_INT.
+ 	(m68k_output_function_epilogue): Likewise.
+ 
+ 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/install.texi: Remove information about desupported targets.
+ 
+ 2003-05-17  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
+ 	* config/m68k/linux.h: Likewise.
+ 	* config/m68k/m68k-none.h: Likewise.
+ 	* config/m68k/netbsd-elf.h: Likewise.
+ 	* config/m68k/sgs.h: Likewise.
+ 	* config/m68k/m68k.h: Likewise.
+ 	* config/m68k/m68k.md: Likewise.
+ 	* config/m68k/m68k.c: Likewise.
+ 	* doc/md.texi (Machine Constraints): Remove Sun FPA specific
+ 	constraints.
+ 	* doc/invoke.texi (Option Summary): Remove -mfpa.
+ 	(M680x0 Options): Likewise.
+ 
+ 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
+ 	* config/sparc/liteelf.h, config/sparc/openbsd64.h,
+ 	config/sparc/rtemself.h, config/sparc/sol2-64.h,
+ 	config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
+ 	Update for use of TARGET_SUB_OS_CPP_BUILTINS.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
+ 	TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
+ 
+ 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
+ 	* sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
+ 	sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
+ 	sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
+ 	sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
+ 	sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
+ 	sparc/sysv4.h,
+ 	* sparc/sysv4-only.h: New.
+ 
+ 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* function.c (assign_parms): Check for zero size args.
+ 
+ 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cfgloopanal.c (test_for_iteration): Use string concatentation on
+ 	HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
+ 	function calls into one.
+ 	* dbxout.c (dbxout_symbol): Likewise.
+ 	* defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
+ 	* dwarf2asm.c (dw2_asm_output_data_uleb128,
+ 	dw2_asm_output_data_sleb128): Likewise.
+ 	* genrecog.c (debug_decision_2): Likewise.
+ 	* loop.c (emit_prefetch_instructions): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* print-tree.c (print_node_brief, print_node): Likewise.
+ 	* ra-debug.c (dump_igraph, dump_graph_cost,
+ 	dump_static_insn_cost): Likewise.
+ 	* ra-rewrite.c (dump_cost): Likewise.
+ 	* sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
+ 	* sreal.c (dump_sreal): Likewise.
+ 	* unroll.c (unroll_loop, precondition_loop_p): Likewise.
+ 	* varasm.c (assemble_vtable_entry): Likewise.
+ 
+ 	* avr.c (avr_output_function_prologue,
+ 	avr_output_function_epilogue, print_operand): Fix format specifier
+ 	warnings.
+ 	(init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
+ 	* avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
+ 
+ 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
+ 	and ! TARGET_STRING cases.
+ 
+ 	* doc/cppopts.texi (-undef): Fix texinfo warning.
+ 
+ 	* doc/cppopts.texi (-H): Document that -H works for PCH files too.
+ 	* cppfiles.c (validate_pch): When -H is used, print some information
+ 	about PCH files found.
+ 
+ 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
+ 	* config/mips/t-isa3264, config/mips/t-r3900: Likewise.
+ 	* config/mips/t-sr71k: Likewise.
+ 
+ 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* arc.c (arc_output_function_prologue,
+ 	arc_output_function_epilogue): Fix format specifier warnings.
+ 	* arc.h (LARGE_INT): Fix signed/unsigned warnings.
+ 
+ 	* v850.c (print_operand): Fix format specifier warnings.
+ 
+ 	* ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
+ 	specifier warnings.
+ 
+ 	* mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
+ 	format specifier warnings.
+ 
+ 	* ip2k.c (function_prologue, function_epilogue, print_operand):
+ 	Fix format specifier warnings.
+ 	* ip2k.md: Likewise.
+ 
+ 	* i960.c (i960_output_function_prologue, i960_print_operand,
+ 	i960_print_operand_addr): Fix format specifier warnings.
+ 
+ 	* i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
+ 	(i370_output_function_prologue): Fix format specifier warnings.
+ 	* i370.h (PRINT_OPERAND): Likewise.
+ 
+ 	* fr30.c (fr30_print_operand): Fix format specifier warnings.
+ 
+ 	* dsp16xx.c (print_operand_address): Fix format specifier warning.
+ 	* dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
+ 
+ 	* c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
+ 	specifier warnings.
+ 
+ 	* alpha.c (print_operand_address, alpha_start_function,
+ 	unicosmk_output_ssib): Use string concatentation on
+ 	HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
+ 	function calls into one.
+ 	* arm.c (arm_print_operand): Likewise.
+ 	* cris.c (cris_asm_output_mi_thunk): Likewise.
+ 	* frv.c (frv_asm_output_mi_thunk): Likewise.
+ 	* ia64.c (ia64_print_operand, process_set): Likewise.
+ 	* m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
+ 	Likewise.
+ 	* mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
+ 	* mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
+ 	* pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
+ 	* pa.h (PRINT_OPERAND_ADDRESS): Likewise.
+ 	* rs6000.c (rs6000_va_start, print_operand_address): Likewise.
+ 	* s390.c (s390_assemble_integer): Likewise.
+ 	* sparc.c (sparc_flat_function_prologue,
+ 	sparc_flat_function_epilogue): Likewise.
+ 	* stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
+ 	* vax.c (vax_output_mi_thunk): Likewise.
+ 
+ 	* frv.c (frv_print_operand_memory_reference): Fix format specifier
+ 	warning.
+ 	(frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
+ 
+ 	* m68k.c (m68k_output_function_epilogue): Fix format specifier
+ 	warnings.
+ 
+ 	* stormy16-protos.h (xs_hi_general_operand,
+ 	xs_hi_nonmemory_operand): Prototype.
+ 	* stormy16.c (xstormy16_output_shift): Fix format specifier
+ 	warnings.
+ 
+ 	* cris.c: Fix format specifier warnings.
+ 
+ 2003-05-16  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
+ 
+ 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
+ 
+ 	* doc/bugreport.texi: Remove most of the of the preface of the
+ 	bugs section.
+ 
+ 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
+ 	.save XX, r0.
+ 
+ 2003-05-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
+ 
+ 2003-05-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* cfgcleanup.c (merge_blocks): Fix return value.
+ 
+ 2003-05-15 Eric Christopher <echristo@redhat.com>
+ 
+ 	* combine.c (expand_compound_operation): Make sure
+ 	that zero_extend operation is profitable.
+ 
+ 2003-05-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/linux.h, config/alpha/linux-elf.h: Remove
+ 	code protected by USE_GNULIBC_1.
+ 
+ 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
+ 	remove hppa*-*-mpeix* which could not be built, and prune
+ 	files from tmake_file= or tm_file= lists that don't exist.
+ 
+ 	* config/alpha/alpha-interix.h, config/alpha/alpha32.h
+ 	* config/alpha/t-interix, config/arm/conix-elf.h
+ 	* config/arm/t-arm-aout, config/arm/t-strongarm-coff
+ 	* config/arm/unknown-elf-oabi.h, config/i386/win32.h
+ 	* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
+ 	* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
+ 	* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
+ 	* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
+ 	* config/m68k/m68k-psos.h, config/m68k/mot3300.h
+ 	* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
+ 	* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
+ 	* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
+ 	* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
+ 	* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
+ 	* config/m68k/tower-as.h, config/m68k/tower.h
+ 	* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
+ 	* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
+ 	* config/m88k/m88k-protos.h, config/m88k/m88k.c
+ 	* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
+ 	* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
+ 	* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
+ 	* config/mips/rtems64.h, config/mips/sni-gas.h
+ 	* config/mips/sni-svr4.h, config/mips/t-ecoff
+ 	* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
+ 	* config/mn10200/mn10200.c, config/mn10200/mn10200.h
+ 	* config/mn10200/mn10200.md, config/mn10200/t-mn10200
+ 	* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
+ 	* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
+ 	* config/romp/romp-protos.h, config/romp/romp.c
+ 	* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
+ 	* config/rs6000/aix3newas.h, config/rs6000/mach.h
+ 	* config/sparc/bsd.h, config/sparc/hal.h
+ 	* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
+ 	* config/sparc/lynx.h, config/sparc/netbsd.h
+ 	* config/sparc/sp86x-aout.h, config/sparc/splet.h
+ 	* config/sparc/sun4gas.h, config/sparc/sun4o3.h
+ 	* config/sparc/sunos4.h, config/sparc/t-chorus-elf
+ 	* config/sparc/t-halos, config/sparc/t-sparcbare
+ 	* config/sparc/t-splet, config/sparc/t-sunos41
+ 	* config/v850/rtems.h: Delete file.
+ 
+ 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h (function_value): Protoize.
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_function_value): New.
+ 
+ 2003-05-15  Philip Blundell  <philb@gnu.org>
+ 
+ 	* config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
+ 	All uses updated.
+ 	(arm_tune_xscale): New variable.
+ 	(arm_override_options): Set it.
+ 	(arm_adjust_cost): Use it in place of arm_arch_xscale.
+ 	(arm_gen_load_multiple): Likewise.
+ 	(arm_gen_store_multiple): Likewise.
+ 	* config/arm/arm.md (is_xscale): Likewise.
+ 	* config/arm/arm.h (arm_tune_xscale): Declare.
+ 
+ 2003-05-15  Philip Blundell  <philb@gnu.org>
+ 
+ 	PR target/10730
+ 	* config/arm/arm.c (adjacent_mem_locations): Reject offsets
+ 	involving invalid constants.
+ 
+ 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (hppa_expand_prologue): Remove blockage.
+ 
+ 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
+ 
+ 	* doc/bugreport.texi: Remove most of the bug reporting
+ 	instructions and merge them into bugs.html.
+ 
+ 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
+ 	g_switch_value to unsigned HOST_WIDE_INT.
+ 
+ 2003-05-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* combine.c: Fix header comments.
+ 	(distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
+ 	to all calls and prototype.
+ 
+ 2003-05-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/10764
+ 	* config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
+ 	Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
+ 	(*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
+ 	add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
+ 	(logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
+ 	the corresponding *fyl2x_?fxf3 instructions.
+ 
+ 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
+ 	* config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
+ 	XCHAL_HAVE_L32R): New.
+ 	* config/xtensa/xtensa-protos.h (non_const_move_operand,
+ 	xtensa_load_constant, xtensa_function_prologue,
+ 	xtensa_function_epilogue): Delete prototypes.
+ 	(xtensa_expand_prologue): New.
+ 	* config/xtensa/xtensa.c (frame_size_const,
+ 	TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
+ 	non_const_move_operand, xtensa_load_constant, xtensa_reorg,
+ 	xtensa_function_prologue): Delete.
+ 	(add_operand, xtensa_mem_offset): Formatting.
+ 	(move_operand): If the const16 option is available, allow any SFmode
+ 	and SImode constants.
+ 	(xtensa_emit_move_sequence): Inline the former contents of
+ 	xtensa_load_constant with modifications to handle the const16 option.
+ 	(override_options): Add xtensa_char_to_class['W'] and set it to
+ 	the general register class only if the const16 option is enabled.
+ 	Fix formatting.  Disallow PIC when using the const16 option.
+ 	(print_operand): Reorganize to switch on "letter" instead of the
+ 	RTL code.  Add output_operand_lossage calls for invalid cases.
+ 	Add support for 't' and 'b' letters.
+ 	(xtensa_expand_prologue): New function to replace
+ 	xtensa_function_prologue and xtensa_reorg.
+ 	(xtensa_function_epilogue): Declare this as static.  Delete code
+ 	to print the retw.n or retw instruction.
+ 	(xtensa_return_addr): Use A0_REG instead of 0.
+ 	(xtensa_rtx_costs): Add costs for using the const16 option.
+ 	* config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
+ 	(TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
+ 	(TARGET_SWITCHES): Add "const16" and "no-const16".
+ 	(REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
+ 	(EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
+ 	using the const16 option.
+ 	(TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
+ 	(TRAMPOLINE_SIZE): Change from 49 to 59.
+ 	(INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
+ 	when using the const16 option.
+ 	(PREDICATE_CODES): Delete non_const_move_operand.
+ 	* config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
+ 	UNSPECV_ENTRY.
+ 	(movdi, movdf): If the source is a constant, always expand to a
+ 	sequence of movsi insns.
+ 	(movdi_internal, movdf_internal): Remove alternative using l32r insns.
+ 	(movsi_internal, movsf_internal): Add alternative using const16 insns.
+ 	(movsf): Add const16 support.
+ 	(entry, prologue, epilogue): New.
+ 	(set_frame_ptr): Add missing mode for unspec_volatile operation.
+ 	Likewise for subsequent split pattern.
+ 	* doc/invoke.texi (Option Summary, Xtensa Options): Document new
+ 	"-mconst16" and "-mno-const16" options.
+ 
+ 2003-05-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_load_address): Force destination
+ 	to be DImode register.  Merge load_symptr.
+ 	* config/ia64/ia64.md (load_symptr): Remove.
+ 
+ 2003-05-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
+ 	DEFERRED_CONSTANT_P.
+ 	* integrate.c (copy_rtx_and_substitute): Update use.
+ 	* varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
+ 	to the copy generated.
+ 	(maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
+ 	of the constant to see if we should emit.
+ 	(mark_constant): Similarly.
+ 	(output_constant_def_contents): Set TREE_ASM_WRITTEN.
+ 
+ 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movsi_internal2): Use compare for self
+ 	move record condition.
+ 	(movdi_internal2): Same.
+ 
+ 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
+ 	(GCOV_TAG_*) Force type to gcov_unsigned_t.
+ 	(GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
+ 	(struct gcov_var): Remove modified. Add start, length, offset,
+ 	overread. Have buffer array for libgcov.
+ 	(gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
+ 	(gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
+ 	* gcov-io.c (gcov_open): Set mode, do not read anything.
+ 	(gcov_close): Write final block.
+ 	 (gcov_write_block, gcov_allocate): New.
+ 	(gcov_write_bytes): Make static. Write or allocate buffer.
+ 	(gcov_write_unsigned, gcov_write_counter): Buffer can never be
+ 	null.
+ 	(gcov_write_string): Adjust.
+ 	(gcov_write_tag)
+ 	(gcov_write_length): Adjust. Flush the block.
+ 	(gcov_write_tag_length): Buffer can never be null.
+ 	(gcov_read_bytes): Make static. Read in block.
+ 	(gcov_sync): Moved here. Adjust.
+ 	(gcov_seek): Moved here. Adjust.
+ 	* coverage.c (read_counts_file): Adjust.
+ 	* gcov-dump.c (print_prefix): Add position parameter.
+ 	(flag_dump_positions): New flag.
+ 	(options, main, print_usage): Add it.
+ 	(dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
+ 	tag_summary): Adjust.
+ 	* gcov.c (read_graph_file, read_count_file): Adjust.
+ 	* libgcov.c (gcov_exit): Adjust.
+ 
+ 	* Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
+ 	(libgcov.a): Depend on libgcc.a.
+ 	(gcov.o, gcov-dump.o): Add gcov-io.c.
+ 	* mklibgcc.in (libgcov_c_dep): Use $(srcdir).
+ 
+ 	* loop.c (check_dbra_loop): Factor common test.
+ 
+ 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* doc/md.texi (Automaton pipeline description): Grammar fixes.
+ 
+ 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* target.h (struct gcc_target): Add machine_dependent_reorg field.
+ 	* toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
+ 	* system.h: Poison MACHINE_DEPENDENT_REORG.
+ 
+ 	* config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
+ 	* config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(alpha_handle_trap_shadows): Remove "first insn" parameter.
+ 	(alpha_align_insns): Likewise.
+ 	(alpha_reorg): Likewise.  Make static.  Update calls to above
+ 	functions.
+ 
+ 	* config/arm/arm-protos.h (arm_reorg): Remove declaration.
+ 	* config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(arm_reorg): Remove parameter.  Make static.
+ 
+ 	* config/avr/avr-protos.h (machine_dependent_reorg): Remove.
+ 	* config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(avr_reorg): Renamed from machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
+ 	* config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
+ 	* config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
+ 
+ 	* config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
+ 	* config/frv/frv.c: Remove orphaned comment.
+ 
+ 	* config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
+ 	* config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
+ 	* config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(emit_insn_group_barriers): Remove "first insn" parameter.
+ 	(emit_all_insn_group_barriers): Likewise.
+ 	(ia64_reorg): Likewise.  Make static.  Update calls to above functions.
+ 	(ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
+ 
+ 	* config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
+ 	* config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
+ 	* config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(m68hc11_reorg): Make static.  Remove parameter.
+ 
+ 	* config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
+ 	* config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(conditionalize_optimization): Remove parameter.
+ 	(mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
+ 	Make static.  Update call to conditionalize_optimization.
+ 
+ 	* config/mips/mips-protos.h (machine_dependent_reorg): Remove.
+ 	* config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
+ 	Make static.
+ 
+ 	* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
+ 	* config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/pa/pa-protos.h (pa_reorg): Remove declaration.
+ 	* config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(pa_combine_instructions): Remove "first insn" parameter.
+ 	(remove_useless_addtr_insns): Likewise.
+ 	(pa_reorg): Likewise.  Make static.  Update calls to above functions.
+ 
+ 	* config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
+ 	commented-out definition.
+ 
+ 	* config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
+ 	* config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 
+ 	* config/sh/sh-protos.h (machine_dependent_reorg): Remove.
+ 	* config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(sh_reorg): Renamed from machine_dependent_reorg.  Make static.
+ 	Remove parameter.
+ 	(sh_output_mi_thunk): Call sh_reorg directly.
+ 	* config/sh/sh.md: Update comment.
+ 
+ 	* config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
+ 	commented-out definition.
+ 
+ 	* config/v850/v850-protos.h (v850_reorg): Remove declaration.
+ 	* config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(v850_reorg): Make static.  Remove parameter.
+ 
+ 	* config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
+ 	* config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
+ 	* config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(xtensa_reorg): Make static.  Remove parameter.
+ 
+ 	* doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
+ 	(TARGET_MACHINE_DEPENDENT_REORG): Document.
+ 
+ 2003-05-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
+ 	the old decl had instantiated DECL_RTL.
+ 
+ 2003-05-13  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/invoke.texi (Option Summary): Kill off documentation for -$.
+ 
+ 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
+ 	HOST_WIDE_INT argument.
+ 
+ 2003-05-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
+ 
+ 	* tree.c (iterative_hash_expr): New fn.
+ 
+ 	* c-semantics.c (emit_local_var): Don't mess with temp slots if
+ 	there's no initializer.
+ 
+ 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* final.c (final_scan_insn): Apply the effects of frame-related
+ 	delay slot insns before emitting a delayed branch.
+ 
+ 2003-05-13  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mcore/mcore.md (jump): Use emit_jump_insn.
+ 
+ 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
+ 	parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
+ 
+ 2003-05-12  DJ Delorie  <dj@redhat.com>
+ 
+ 	* expr.c (move_by_pieces): Honor the alignment of TO and FROM.
+ 	(emit_push_insn): Don't use push when the source alignment is less
+ 	than the stack's push rounding.
+ 
+ 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* diagnostic.c (output_format): Add support for %m.
+ 	(output_printf, output_verbatim, diagnostic_set_info,
+ 	verbatim): Set err_no field of the text_info structure being
+ 	initialized.
+ 	(fatal_io_error): Delete function.
+ 	* diagnostic.h (text_info): Add err_no field.
+ 	* toplev.h (fatal_io_error): Delete prototype.
+ 
+ 	* c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
+ 	* toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
+ 	* objc/objc-act.c: Replace all calls to fatal_io_error with
+ 	calls to fatal_error; add ": %m" to the end of all the affected
+ 	error messages.
+ 
+ 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
+ 	* rtl.h: Prototype it.
+ 	* integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
+ 	when appropriate.
+ 
+ 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
+ 	("*iorsi3_oi"): Likewise.
+ 
+ 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (compare_scc): Use shorter sequence for EQ case.
+ 	(ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
+ 	(and_scc_scc): Ensure split only applies when there is a dominance
+ 	of the comparisons.
+ 	(and_scc_scc_nodom): New insn-and-split pattern.
+ 
+ 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
+ 	to _Unwind_SetGRPtr().
+ 
+ 2003-05-13  Michael Eager <eager@mvista.com>
+ 
+ 	* Makefile.in: Initialize program_transform_cross_name from
+ 	@program_transform_name@ instead of target_alias.
+ 
+ 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
+ 	    Alan Modra  <amodra@bigpond.net.au>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
+ 	* configure: Rebuild.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 	* config/rs6000/rs6000.c (rs6000_tls_size): New.
+ 	(rs6000_tls_size_string): New.
+ 	(rs6000_parse_tls_size_option): New.
+ 	(rs6000_legitimize_tls_address): New.
+ 	(rs6000_tls_get_addr): New.
+ 	(rs6000_got_sym): New.
+ 	(rs6000_tls_symbol_ref): New.
+ 	(rs6000_tls_symbol_ref_1): New.
+ 	(rs6000_get_some_local_dynamic_name): New.
+ 	(rs6000_get_some_local_dynamic_name_1): New.
+ 	(TARGET_HAVE_TLS): New.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 	(rs6000_override_options): Handle -mtls-size option.
+ 	(constant_pool_expr_1): Handle TLS symbols.
+ 	(rs6000_legitimize_address): Handle TLS symbols.
+ 	(rs6000_tls_referenced_p): New.
+ 	(rs6000_legitimate_address): Handle TLS symbols.
+ 	(rs6000_emit_move): Handle TLS symbols.
+ 	(print_operand): Handle TLS symbols.
+ 	(uses_TOC): Handle TLS symbols.
+ 	(rs6000_emit_prologue): Use symbol for unspec constant.
+ 	* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
+ 	(some_ld_name): New.
+ 	(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
+ 	(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
+ 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
+ 	Support TLS.
+ 	(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
+ 	tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
+ 	tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
+ 	tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
+ 	tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
+ 	tls_tls_64): New.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
+ 
+ 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
+ 
+ 	* Makefile.in (stage2_build, stage3_build, stage4_build):
+ 	Set BUILD_CC to the same as CC.
+ 
+ 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
+ 
+ 2003-05-12  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
+ 	as unused.
+ 	(bundling): Initialize 'pos'.
+ 	(ia64_expand_builtin): Initialize 'rmode'.
+ 
+ 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Same.
+ 	(ASM_OUTPUT_LOCAL): Same.
+ 
+ Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* varasm.c (output_constant):  Fix underflow.
+ 
+ 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR other/10745
+ 	* configure.in: Correct detection of GNU ld version number.
+ 	* configure: Regenerated.
+ 
+ 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* diagnostic.c (diagnostic_for_decl): Take a
+ 	diagnostic_context argument.  Restructure to be consistent
+ 	with diagnostic_report_diagnostic.
+ 	(diagnostic_count_diagnostic): Now static.  Take a
+ 	diagnostic_info argument, not just a diagnostic_t.  Some code
+ 	moved here from internal_error.  Move a case label for
+ 	clarity.
+ 	(diagnostic_action_after_output): New function.  Code moved
+ 	here from internal_error and fatal_error.
+ 	(bug_report_request): New #define so that this text appears in
+ 	only one place.
+ 	(diagnostic_report_diagnostic): Update to match changes to
+ 	diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
+ 	(diagnostic_set_info): Call gettext here.
+ 
+ 	(pedwarn): Update comment.  Don't call gettext here.
+ 	(sorry): Use report_diagnostic.  Don't call gettext here.
+ 	(fatal_error): Remove final fnotice and exit, but call
+ 	real_abort to prevent warnings about noreturn function returning.
+ 	(internal_error): Likewise.  Don't do ICE suppression here nor
+ 	call context->internal_error.
+ 	(warning_with_decl): Suppress for decls in system headers.
+ 	Adjust call to diagnostic_for_decl.
+ 	(pedwarn_with_decl): Likewise.
+ 	(error_with_decl): Adjust call to diagnostic_for_decl.
+ 	(error_recursion): Use bug_report_request.
+ 
+ 	* diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
+ 	* objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
+ 	diagnostic_count_diagnostic.
+ 
+ 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
+ 
+ Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
+ 	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
+ 	* mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
+ 
+ 2003-05-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/rtl.texi: Document zero_extract as a valid destination
+ 	of a set insn.
+ 
+ 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
+ 	'.'.  Change all local symbol definitions and references to use LSYM.
+ 
+ Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.h (assemble_static_space): Update prototype.
+ 	* output.h (assemble_zeros, output_constant): Likewise.
+ 	* elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
+ 	* alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
+ 	it 64bit clean.
+ 	* elf.h (ASM_OTUPUT_SKIP): Likewise.
+ 	* unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
+ 	* arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Expect HOST_WIDE_INT operand.
+ 	* aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Expect HOST_WIDE_INT operand.
+ 	* unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Expect HOST_WIDE_INT operand.
+ 	* avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
+ 	HOST_WIDE_INT operand.
+ 	* c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
+ 	ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
+ 	* aout.h (ASM_OTUPUT_SKIP): Likewise.
+ 	* cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
+ 	* darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
+ 	* dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
+ 	* frv.h (ASM_OTUPUT_SKIP): Likewise.
+ 	* h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
+ 	* 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
+ 	Make it 64bit
+ 	clean.
+ 	* att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
+ 	* bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
+ 	Make it 64bit clean.
+ 	* darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
+ 	* sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
+ 	HOST_WIDE_INT operand
+ 	* svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
+ 	Expect HOST_WIDE_INT operand
+ 	* sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
+ 	* i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
+ 	ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
+ 	* ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Likewise.
+ 	* m32r.h (ASM_OUTPUT_COMMON): Likewise.
+ 	* 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Likewise.
+ 	* amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ 	* crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ 	* hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ 	Likewise.
+ 	* m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
+ 	* netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* sgs.h (ASM_OUTPUT_SKIP): Likewise.
+ 	* tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
+ 	ASM_OUTPUT_SKIP): Likewise.
+ 	* m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
+ 	Likewise.
+ 	* mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
+ 	* iris.h (ASM_OUTPUT_LOCAL): Likewise.
+ 	* mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
+ 	* ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
+ 	ASM_OUTPUT_SKIP): Make it 64bit clean.
+ 	* pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
+ 	Make it 64bit clean.
+ 	* pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
+ 	ASM_OUTPUT_SKIP): Make it 64bit clean.
+ 	* hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
+ 	64bit clean.
+ 	* romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
+ 	HOST_WIDE_INT argument
+ 	* s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
+ 	* sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
+ 	HOST_WIDE_INT argument
+ 	* sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
+ 	* sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
+ 	* svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
+ 	* vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
+ 	HOST_WIDE_INT argument
+ 	* vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
+ 	* xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
+ 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
+ 	asm_emit_uninitialized, assemble_zeros, assemble_static_space):
+ 	HOST_WIDE_INT argument
+ 
+ 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* cgraphunit.c (cgraph_create_edges): Drop walk_tree in
+ 	favor of walk_tree_without_duplicates.  Add comments.
+ 
+ 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
+ 	(struct alloc_pool_def): New element 'id'.
+ 	* alloc-pool.c (fancy_abort): Extern function prototype.
+ 	(abort): Macro which uses fancy_abort.
+ 	(struct allocation_object_def): New structure.
+ 	(ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
+ 	(USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
+ 	(last_id): New variable.
+ 	(create_alloc_pool): Add the offset of u.data to size of element,
+ 	increase and use last_id.
+ 	(free_alloc_pool): Do the checking only when ENABLE_CHECKING.
+ 	(pool_alloc): Likewise. Set ID for elements.
+ 	(pool_free): Check whether the PTR was allocated from POOL.
+ 
+ 2003-05-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/10675
+ 	* c-decl.c: Include hashtab.h.
+ 	(detect_field_duplicates): New.
+ 	(finish_struct): Use it.
+ 	* Makefile.in (c-decl.o): Update.
+ 	* c-parse.in (structsp_attr): Nreverse component_decl_list results.
+ 	(component_decl_list, component_decl_list2,
+ 	components, components_notype): Build list in reverse order.
+ 	(enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
+ 
+ 	* tree.c (chainon): Special case op2 null as well.
+ 	Reorg for clarity.
+ 
+ 2003-05-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
+ 	to implement log, logf and logl built-ins as inline x87 intrinsics.
+ 	(UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
+ 	(*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
+ 	patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
+ 	UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
+ 
+ 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
+ 
+ 	* sparc.c (print_operand): Fix uninitialized warning.
+ 
+ 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
+ 	real insns.
+ 	* loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
+ 	condition.
+ 
+ 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
+ 
+ 	* doc/cpp.texi: Fix typos.
+ 
+ 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_function_arg_float): New function.
+ 	(s390_function_arg_pass_by_reference): Use it.
+ 	(s390_function_arg_advance): Likewise.
+ 	(s390_function_arg): Likewise.
+ 	(s390_va_arg): Likewise
+ 
+ 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* coverage.h (coverage_counter_alloc): New function.
+ 	* function.h (struct function): Remove arc_profile flag.
+ 	* coverage.c (fn_ident): Remove.
+ 	(fn_b_ctrs, no_coverage): New.
+ 	(get_coverage_counts): Use current_function_funcdef_no.
+ 	(coverage_counter_alloc): New.
+ 	(coverage_counter_ref): Adjust.
+ 	(coverage_begin_output): Check no_coverage. Use
+ 	current_function_funcdef_no.
+ 	(coverage_end_function): Likewise.
+ 	(create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
+ 	than clearing flag_inline_functions. Do not clear arc_profile
+ 	flag.
+ 	* function.c (prepare_function_start): Do not set arc_profile
+ 	flag.
+ 	* profile.c (instrument_edges): Return number of instrumented
+ 	edges. Use a for loop.
+ 	(branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
+ 	local to here and simplify. Use profile_arc_flag not arc_profile
+ 	flag.
+ 	(find_spanning_tree): Reformat.
+ 	* toplev.c (rest_of_compilation): Use profile_arc_flags and
+ 	flag_test_coverage rather than arc_profile flag.
+ 
+ 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
+ 
+ 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
+ 
+ 2003-05-11  Bruno Haible  <bruno@clisp.org>
+ 
+ 	* cppfiles.c (find_or_create_entry): Preserve errno.
+ 
+ 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
+ 
+ 	* c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
+ 	cpplib as it's a Standard Predefined Macro.
+ 	* c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
+ 	* cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
+ 	__STDC_HOSTED__ appropriately.
+ 	* cpplib.h (_cpp_init_builtins): Update.
+ 	* fix-header.c (read_scan_file): Update.
+ 	* doc/cpp.texi, doc/cppopts.texi: Update documentation.
+ 
+ 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR C++/689
+ 	PR C++/9257
+ 	* c-opts.c (c_common_decode_option): Don't set
+ 	warn_ctor_dtor_privacy wen -Wall.
+ 	* c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
+ 
+ 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
+ 	patch.
+ 
+ 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* diagnostic.c: Reorder functions for clarity, putting all the
+ 	functions in the "error" family next to each other, and
+ 	likewise all the functions in the "error_with_decl" family.
+ 	Some other routines were moved too.  Add comments.
+ 	(vbuild_message_string): Fold into sole caller.
+ 
+ 
+ 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* except.c (EH_RETURN_STACKADJ_RTX): Do not define.
+ 	(EH_RETURN_HANDLER_RTX): Likewise.
+ 	(expand_builtin_eh_return): Do not copy stack adjustment
+ 	if EH_RETURN_STACKADJ_RTX is not defined.
+ 	(expand_eh_return): Likewise.  Also, do not pass stack
+ 	adjustment as argument to the eh_return pattern.
+ 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
+ 	because EH_RETURN_STACKADJ_RTX is not defined.
+ 	* unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
+ 	is not defined, treat stack pointer like a regular register.
+ 	(uw_init_context_1): Set up fake initial stack pointer register.
+ 	(uw_install_context_1): Do not compute stack adjustment if
+ 	EH_RETURN_STACKADJ_RTX is not defined.
+ 
+ 	* config/i386/i386.md ("eh_return"): Remove first argument.
+ 	* config/mips/mips.md ("eh_return"): Likewise.
+ 	* config/rs6000/rs6000.md ("eh_return"): Likewise.
+ 	* config/sh/sh.md ("eh_return"): Likewise.
+ 
+ 	* config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
+ 
+ 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
+ 
+ 	* config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
+ 
+ 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* defaults.h (GCOV_TYPE_SIZE): Remove.
+ 	* gcov-io.h (gcov_type): Set to specific mode int on target.
+ 	(gcov_unsigned_t, gcov_position_t): New.
+ 	(GCOV_TYPE_NODE): New.
+ 	(GCOV_TAG_SUMMARY_LENGTH): Adjust.
+ 	(GCOV_COUNTERS_SUMMABLE): New.
+ 	(gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
+ 	gcov_ctr_info, gcov_info): Adjust types.
+ 	(gcov_var): Adjust types.
+ 	(gcov_write_unsigned, gcov_write_tag,
+ 	gcov_write_length, gcov_write_tag_length, gcov_write_summary,
+ 	gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
+ 	(gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
+ 	* gcov-io.c (gcov_write_unsigned, gcov_write_tag,
+ 	gcov_write_length, gcov_write_tag_length, gcov_write_summary,
+ 	gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
+ 	* libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
+ 	__gcov_init, __gcov_merge_add): Adjust gcov types.
+ 	* coverage.c (ctr_merge_functions): Constify.
+ 	(ctr_names): New.
+ 	(read_counts_file): Adjust gcov types. Only summarize & merge
+ 	summable counters.
+ 	(coverage_counter_ref): Use GCOV_TYPE_NODE.
+ 	(build_fn_info_type, build_fn_info_value, build_ctr_info_type,
+ 	build_ctr_info_value, build_gcov_info): Adjust types.
+ 	* profile.c (branch_prob): Adjust gcov types.
+ 	* gcov_dump (dump_file): Adjust gcov types.
+ 
+ 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
+ 	constants.
+ 	(ior_scc_scc, and_scc_scc): New insn_and_split patterns.
+ 	* arm.c (arm_select_dominance_cc_mode): Renamed from
+ 	select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
+ 	Callers updated.
+ 	* arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
+ 
+ 2003-05-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/alpha/alpha.c (alpha_start_function): Declare frame_size
+ 	as unsigned to avoid signed/unsigned comparison warnings.
+ 
+ 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
+ 	instruction if the Xtensa density option is enabled.
+ 
+ 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
+ 
+        * mklibgcc.in: Remove extra quotes.
+ 
+ 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
+ 	of int_ftype_void.
+ 
+ 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload1.c (reload_cse_move2add): Don't turn an implicit
+ 	truncation into a self-set in the narrow mode.
+ 
+ 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (clzsi2): The CLZ instruction is predicable.
+ 
+ 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c: Formatting.
+ 
+ 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
+ 	instead of TREE_OPERAND to access the operand of a
+ 	CONSTRUCTOR node.
+ 
+ 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
+ 	one operand.
+ 
+ 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* toplev.h (warning_with_file_and_line): Don't declare.
+ 	(error_with_file_and_line): Likewise.
+ 	* diagnostic.c (error_with_file_and_line): Remove.
+ 	(warning_with_file_and_line): Likewise.
+ 
+ 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* c-parse.in (if_stmt_locus): New object.
+ 	(if_prefix rule): Use it.  Don't use warning_with_file_and_line.
+ 	(select_or_iter_stmt rule): Likewise.
+ 	(if_stmt_file): Remove.
+ 	(if_stmt_line): Likewise.
+ 	* jump.c: include "diagnostic.h"
+ 	(never_reached_warning): Don't use warning_with_file_and_line.
+ 	* Makefile.in (jump.o): Add dependce on diagnostic.h
+ 
+ 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
+ 	Move code handling pieces not larger than a word to..
+ 	* function.c (assign_parms): ..here, but use change_address instead
+ 	of adjust_address and operand_subword, and expand_binop instead of
+ 	expand_shift.  Adjust calls to move_block_from_reg.
+ 	* expr.h (move_block_from_reg): Update declaration.
+ 	(copy_blkmode_from_reg): Formatting.
+ 	* Makefile.in (function.o): Add $(OPTABS_H) to deps.
+ 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
+ 	move_block_from_reg calls.
+ 	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
+ 	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
+ 	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
+ 	* config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
+ 	* config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
+ 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+ 	* config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
+ 	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
+ 	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
+ 
+ 2003-05-08  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
+ 	to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
+ 	variable-sized types).
+ 	(xstormy16_function_arg): New.  Pass them that way too.
+ 	* config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
+ 	* config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
+ 
+ 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* mklibgcc.in: Use mkinstalldirs when installing multilib
+ 	directories.
+ 
+ 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
+ 	instead of CODE_FOR_jump
+ 
+ 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* objc/objc-act.c (error_with_ivar): Don't use
+ 	error_with_file_and_line.
+ 	(warn_with_method): Don't use warning_with_file_and_line.
+ 
+ 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* stmt.c (emit_locus): New macro.
+ 	(emit_filename): Remove.
+ 	(emit_lineno): Likewise.
+ 	(struct stmt_status): Replace members x_emit_filename and
+ 	x_emit_lineno with x_emit_locus.
+ 	(set_file_and_line_for_stmt): Adjust.
+ 	(expand_expr_stmt_value): Don't use warning_with_file_and_line.
+ 	(warn_if_unused_value): Likewise.
+ 	(check_seenlabel): Likewise.
+ 
+ 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-decl.c (define_label): Tidy.  Don't use any of
+ 	error_with_file_and_line or warning_with_file_and_file.
+ 	(pending_xref_error): Likewise.
+ 	(store_parm_decls): Likewise.
+ 	(current_function_prototype_locus): New object.  Package from
+ 	current_function_prototype_file and current_function_prototype_line.
+ 	(start_function): Use it.
+ 	(current_function_prototype_file): Remove.
+ 	(current_function_prototype_line): Remove;
+ 
+ 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (readonly_data_expr): New function.
+ 	(expand_builtin_memmove): Optimize any rodata source, not just
+ 	strings.
+ 
+ 2003-05-07  David Mosberger <davidm@hpl.hp.com>
+ 
+ 	* unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
+ 
+ 2003-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_split_long_move): Fix base register
+ 	mode for XFmode splits for TARGET_64BIT.
+ 
+ 2003-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-ebb.c (schedule_ebb): Supply the correct starting
+ 	block number to save_line_notes.
+ 
+ 2003-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
+ 	(dump_file): Likewise.
+ 
+ 2003-05-07  David Mosberger <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
+ 	forget to preserve gp.
+ 	* config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
+ 
+ 	* config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
+ 	.prologue directive.
+ 	Use .skip instead of data8 for .bss section to make Intel
+ 	Assembler (ias) happy.  Minor whitespace fixups.  Make "nop 0"
+ 	explicit in the .mib bundles and remove the unnecessary stop
+ 	bits.  Replace local labels with normal labels, to make ias
+ 	happy.  Don't register __do_global_ctors_aux here, do it in
+ 	crtend.asm instead.
+ 
+ 	* config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
+ 	__do_global_ctors_aux in .init_array section instead of
+ 	declaring it as a hidden global.  Replace local labels with
+ 	ordinary labels to make ias happy.
+ 
+ 2003-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/10570
+ 	* except.c: Revert 04-01 and 04-02 forced-unwind changes.
+ 	* flags.h, toplev.c, doc/invoke.texi: Likewise.
+ 
+ 	* unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
+ 	* unwind.inc (_Unwind_DeleteException): Check for null
+ 	exception_cleanup.
+ 
+ 	* unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
+ 	* unwind.inc (_Unwind_Resume_or_Rethrow): New.
+ 	* unwind.h: Declare them.
+ 	* libgcc-std.ver (GCC_3.3): Export them.
+ 
+ 2003-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
+ 	not _Unwind_Word.
+ 
+ 2003-05-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* stmt.c (force_label_rtx): New function, based on logic
+ 	formerly found in expand_expr.
+ 	* expr.h: Prototype it.
+ 	* expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
+ 	appropriate.
+ 	* varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
+ 
+ 	* print-tree.c (debug_tree): Free the table after we're done
+ 	with it.  Use putc.
+ 
+ 2003-05-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Reverse arguments for __ev_subfw.
+ 	Unreverse arguments for __ev_subw.
+ 
+ 	* config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
+ 
+ 2003-05-07  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/stormy-abi: Update to include
+ 	R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
+ 	R_XSTORMY16_12 relocs.
+ 
+ 2003-05-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* function.c (assign_parms): Correct reversed reg_parm_stack_space
+ 	test.  Add partial in-regs size to stack_args_size.
+ 
+ 2003-05-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
+ 	as a C only option.
+ 
+ 2003-05-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h (GCOV_LOCKED): New #define.
+ 	(GCOV_LINKAGE): Make sure it is #defined.
+ 	(gcov_write_string, gcov_write_tag, gcov_write_length,
+ 	gcov_read_string, gcov_time): Poison in libgcov.
+ 	(gcov_seek_end): Remove.
+ 	(gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
+ 	(GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
+ 	GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
+ 	GCOV_TAG_SUMMARY_LENGTH): New #defines.
+ 	(gcov_write_tag, gcov_write_length): Not in libgcov.
+ 	* gcov-io.c (gcov_open): Use GCOV_LOCKED.
+ 	(gcov_write_tag, gcov_write_length): Not in libgcov.
+ 	(gcov_write_tag_length): New.
+ 	(gcov_write_summary): Use gcov_write_tag_length.
+ 	* libgcov.c: Always #include gcov-io.h.
+ 	(IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
+ 	(GCOV_LINKAGE): Define to nothing for L_gcov.
+ 	(gcov_exit): Replace gcov_write_tag, gcov_write_length with
+ 	gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
+ 	* gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
+ 	(read_count_file): Likewise.
+ 	* gcov-dump.c (dump_file): Likewise.
+ 	* coverag.c (read_counts_file): Likewise.
+ 
+ 2003-05-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR other/10658
+ 	* gcc.c (process_command): Update copyright date.
+ 
+ 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* doc/install.texi (mips-*-*):  Add note about libstdc++.
+ 
+ 2003-05-06  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_function_profiler): New.
+ 	* config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
+ 	* config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
+ 
+ 2003-05-06    <neil@cat.daikokuya.co.uk>
+ 
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
+ 	and -Wstrict-prototypes if C++.
+ 
+ 2003-05-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/linuxspe.h: New file.
+ 
+ 	* config.gcc: Add powerpc-*-linux-gnuspe* target.
+ 
+ 2003-05-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
+ 	previous frame didn't save sp.  Clear sp for next frame.
+ 	(uw_install_context_1): Honor saved sp from frame.
+ 
+ 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
+ 	(mips_move_1word, mips_move_2words): Remove declaration.
+ 	(mips_split_64bit_move_p, mips_split_64bit_move): Declare.
+ 	(mips_restore_gp): Remove insn argument.
+ 	* config/mips/mips.h (FP_REG_RTX_P): New macro.
+ 	* config/mips/mips.c (volatile_buffer): Remove.
+ 	(mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
+ 	(mips_move_1word, mips_move_2words): Remove, replacing with...
+ 	(mips_output_move): ...this new function.
+ 	(mips_restore_gp): Remove insn argument.  Adjust for above changes.
+ 	(print_operand): Make '%h' print %hi(op) for HIGH operands.  Remove
+ 	handling of floating-point constants.  Handle zero CONST_DOUBLE
+ 	arguments.
+ 	(mips_annotate_frame_insn): Replace with...
+ 	(mips_set_frame_expr): ...this, which just takes one argument.
+ 	(mips_frame_set): Change the register argument to an rtx.
+ 	(mips_emit_frame_related_store): Use mips_split_64bit_move_p to
+ 	check whether moves should be split.  Use mips_split_64bit_move
+ 	to split them.  Use mips_subword to generate the high and low
+ 	parts of a paired FPR.  Adjust calls to frame_set and
+ 	mips_set_frame_expr.
+ 	(mips_expand_prologue): Simplify due to above changes.
+ 	* config/mips/mips.md:	Add splitters for 64-bit moves on 32-bit
+ 	targets, replacing xisting register-only versions.
+ 	(UNSPEC_STORE_DF_HIGH): New unspec.
+ 	(UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
+ 	(mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
+ 	(*paradoxical_extendhidi2): Remove.
+ 	(movdi_internal, movdi_internal2): Use mips_output_move.
+ 	(*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
+ 	(movsf_internal1, movsf_internal2): Likewise.
+ 	(movdf_internal1a): Likewise.  Fix length and type of f <- G case.
+ 	(movdf_internal1b): Use mips_output_move.  Fix type of f <- G case.
+ 	(movdf_internal2): Use mips_output_move.  Fix lengths of FPR moves.
+ 	Add m <- G alternative.
+ 	(load_df_low, load_df_high, store_df_low): New patterns.
+ 	(movhi_internal): Use @ template instead of calling a function.
+ 	Remove unnecessary 'z' alternatives.
+ 	(movqi_internal): Likewise.
+ 	(exception_receiver): Update call to mips_restore_gp.
+ 
+ 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
+ 	(mips_delegitimize_address): Declare.
+ 	* config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
+ 	(FIND_BASE_TERM): Define.
+ 	* config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Defi~e.
+ 	(mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
+ 	Handle small-data addresses.
+ 
+ 2003-05-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_powi): New function to calculate the value of
+ 	a real raised to an integer power, i.e. pow(x,n) for int n.
+ 	(real_sqrt): Convert to using the faster do_add, do_multiply
+ 	and do_divide API for consistency with the rest of real.c.
+ 	* real.h (real_powi): Prototype here.
+ 	* builtins.c (fold_builtin):  Avoid local variable mode when
+ 	evaluating sqrt at compile time.  Attempt to evaluate pow at
+ 	compile-time, by checking for an integral exponent.
+ 
+ 2003-05-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (Variable Attributes): Re-sort table and tidy.
+ 
+ 2003-05-05  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
+ 	other FreeBSD ports.
+ 	(LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
+ 	(_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
+ 
+ 2003-05-05  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
+ 	expanded variables.
+ 	* doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
+ 
+ 2003-05-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
+ 	* varasm.c (struct varasm_status): Add deferred_constants field.
+ 	(n_deferred_strings): Delete variable.
+ 	(n_deferred_constants): New #define.
+ 	(struct constant_descriptor_tree): Kill next and label fields.
+ 	(const_hash_table, MAX_HASH_TABLE): Delete.
+ 	(const_desc_htab): New static variable.
+ 	(const_hash): Rename const_desc_hash, and make it fit the
+ 	hashtab.h interface.
+ 	(const_desc_eq): New.
+ 	(const_hash_1, compare_constant): Const-ify arguments.
+ 	(build_constant_desc): Set DEFERRED_CONSTANT_P on all new
+ 	SYMBOL_REFs.  Clarify comments.  Don't set desc->label.
+ 	(output_constant_def): Do the lookup/insert using the
+ 	hashtab.h interface.  Don't muck with n_deferred_constants or
+ 	DEFERRED_CONSTANT_P here.
+ 	Always call maybe_output_constant_def_contents.
+ 	(maybe_output_constant_def_contents): Take a pointer to the
+ 	descriptor, not the EXP and RTL separately.  Return
+ 	immediately if this constant is not deferred.  Defer output of
+ 	everything, except writable string constants.  Update
+ 	n_deferred_constants here.
+ 	(output_constant_def_contents): Now takes just one argument,
+ 	an rtx.  Clear DEFERRED_CONSTANT_P here.
+ 	(mark_constant_pool): Update for rename of n_deferred_strings.
+ 	(mark_constant): Don't clear DEFERRED_CONSTANT_P here.
+ 
+ 	(init_varasm_status): Clear p->deferred_constants.
+ 	(init_varasm_once): Call htab_create_ggc for const_desc_htab.
+ 
+ 2003-05-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_stpcpy): Only expand when the length
+ 	of the source string can be evaluated at compile-time.
+ 
+ 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/gcc.c-torture/compile/simd-6.c: New.
+ 
+ 	* c-typeck.c (digest_init): Handle arrays of vector constants.
+ 
+ 2003-05-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_mempcpy): New function.
+ 	(expand_builtin_stpcpy): Optimize stpcpy whose return value is
+ 	ignored into strcpy no matter what arguments it has.
+ 	(expand_builtin) <case BUILT_IN_MEMPCPY>: Call
+ 	expand_builtin_mempcpy.
+ 
+ 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/gcc.dg/20030505.c: New.
+ 
+ 	* c-typeck.c (convert_for_assignment): Opaque pointers can
+ 	interconvert.
+ 
+ 	* config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
+ 	(rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
+ 	(spe_init_builtins): Rename all pv2si_type_node to
+ 	opaque_p_V2SI_type_node.
+ 	Remove declaration of pv2si_type_node.
+ 	(is_ev64_opaque_type): Accept opaque pointers.
+ 
+ 2003-05-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (validate_condition_mode): Use
+ 	flag_finite_math_only.
+ 	(rs6000_reverse_condition): Never return UNKNOWN; use
+ 	flag_finite_math_only.
+ 	(rs6000_generate_compare): Use flag_finite_math_only.
+ 	(rs6000_emit_cmove): Handle UNLE.  Support UNEQ under -ffast-math.
+ 	Use HONOR_* rather than flag_unsafe_math_optimizations.  Correct
+ 	UNGE and GT cases.  Handle UNEQ and LTGT when ! HONOR_NANS.
+ 
+ 	* toplev.c (check_global_declarations): Suppress not-used warning
+ 	for volatile variables.
+ 
+ 2003-05-05  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
+ 	usage of bitfield instructions for mode1 != BLKmode, only ignoring
+ 	SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
+ 	(store_field): Likewise.
+ 
+ 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
+ 	evsubifw to builtins accepting 5-bit unsigned constants.
+ 	(easy_vector_constant): Return if V1DImode.  Fix typo.
+ 
+ 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Revert licensing change from last patch.
+ 
+ 2003-05-05  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (negsi2): Allocate the pseudos
+ 	before reload, but defer the split until after.
+ 	* config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
+ 	to match.
+ 
+ 2003-05-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
+ 	* config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
+ 
+ 2003-05-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
+ 	is defined.
+ 
+ 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
+ 	ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
+ 	ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
+ 
+ 	(ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
+ 	ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
+ 	ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
+ 	New.
+ 
+ 	* builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
+ 	(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
+ 
+ 	(BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
+ 	BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
+ 	BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
+ 	BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
+ 	BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
+ 	BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
+ 	BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
+ 	BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
+ 	BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
+ 	BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
+ 	BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
+ 	BUILT_IN_STRDUP): Add "nonnull" attribute.
+ 
+ 2003-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_field): Don't clobber TEMP in shift: it might be
+ 	a variable.
+ 	(get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
+ 	whose purpose is to step up the alignment.
+ 	(expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
+ 
+ 	* stor-layout.c (compute_record_mode): Relax restriction
+ 	on fields crossing word boundaries forcing BLKmode.
+ 
+ 2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppinit.c (cpp_create_reader, post_options): Warn about
+ 	trigraphs unless explicity set or -trigraphs.
+ 	* cpplex.c (warn_in_comment): New.
+ 	(_cpp_process_line_notes): Better handling of -Wtrigraphs.
+ 	(_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
+ 	* doc/cppopts.texi, doc/cpp.texi: Update.
+ 
+ 2003-05-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (LIBGCOV): Add _gcov_merge_add.
+ 	* gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
+ 	namespace clash.
+ 	(GCOV_MERGE_FUNCTIONS): New.
+ 	(gcov_merge_fn): Declare.
+ 	(struct gcov_ctr_info): New field "merge".
+ 	(__gcov_merge_add): Declare.
+ 	* coverage.c (ctr_merge_functions): New.
+ 	(build_ctr_info_type, build_ctr_info_value): Initialize merge field
+ 	of gcov_ctr_info type.
+ 	* libgcov.c (__gcov_merge_add): New.
+ 	(gcov_exit): Call a hook to merge values of counters.
+ 
+ 2003-05-04  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* toplev.h (pedwarn_with_file_and_line): Don't declare.
+ 	* diagnostic.c (pedwarn_with_file_and_line): Remove.
+ 
+ 2003-05-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* varasm.c (assemble_variable): Don't use error_with_file_and_line.
+ 
+ 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
+ 	expand_builtin_frame_address): Update prototypes.
+ 	(expand_builtin_constant_p, expand_builtin_strlen,
+ 	expand_builtin_strcpy, expand_builtin_memset,
+ 	expand_builtin_bzero, expand_builtin_args_info,
+ 	expand_builtin_frame_address): Pass in just the argument(s)
+ 	needed, not the entire expression `exp'.
+ 	(expand_builtin): Update all calls to these functions.
+ 
+ 2003-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
+ 	<BUILT_IN_DWARF_SP_COLUMN>: New.
+ 	* builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
+ 	(BUILT_IN_DWARF_SP_COLUMN): New.
+ 	* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
+ 	(expand_builtin_dwarf_sp_column): New.
+ 	* except.h: Update to match.
+ 	* unwind-dw2.c (execute_stack_op): Correct stack push typo.
+ 	(execute_cfa_program): Record location expression address
+ 	before extracting length.
+ 	(uw_update_context_1): Install old CFA into stack pointer column.
+ 	(uw_init_context_1): Set cfa_reg to stack pointer column.
+ 
+ 2003-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
+ 	return bool.
+ 	(toc_relative_expr_p): Likewise.
+ 	(SPE_CONST_OFFSET_OK): Move from rs6000.h.
+ 	(legitimate_constant_pool_address_p): Move from rs6000.h, change
+ 	into a function, downcase all users.
+ 	(legitimate_small_data_p): Likewise.
+ 	(legitimate_offset_address_p): Likewise.
+ 	(legitimate_indexed_address_p): Likewise.
+ 	(legitimate_indirect_address_p): Likewise.
+ 	(legitimate_lo_sum_address_p): Likewise.
+ 	(rs6000_mode_dependent_address): Likewise.
+ 	* rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
+ 	(SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
+ 	LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
+ 	LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
+ 	LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
+ 	(LEGITIMATE_ADDRESS_INTEGER_P): Remove.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 
+ 2003-05-03  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
+ 	(REVERSE_CONDITION): Define.
+ 
+ 	* config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
+ 	to branch_positive_comparison_operator.
+ 	(ccr_bit): Check that sCOND conditions are actually a positive bit.
+ 	(print_operand): Remove %D substitution.
+ 	(rs6000_emit_sCOND): Generate complement operation to ensure that
+ 	sCOND input is a positive bit.
+ 	* config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
+ 	same order as bCOND, and add the missing ones.  Remove the %D
+ 	substitutions from the scc patterns.
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Add case for
+ 	! (fabs(x) < 0.0).
+ 
+ 2003-05-03  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
+ 	in fixincl.x
+ 	* gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
+ 
+ 2003-05-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Remove unecessary casts.  Misc cleanups.
+ 
+ 2003-05-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR c/10604
+ 	* c-common.c (warn_sign_compare): Initialize to -1.
+ 	* c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
+ 	(c_common_decode_option <OPT_Wall>): Set warn_sign_compare
+ 	for C++ only.
+ 	(c_common_post_options): Set warn_sign_compare from extra_warnings
+ 	if it's still -1 at this point.
+ 
+ 	* toplev.c (maybe_warn_unused_parameter): New static variable.
+ 	(set_Wextra): New static function.
+ 	(W_options): Remove "extra".
+ 	(decode_W_option): Call set_Wextra.
+ 	(independent_decode_option): Likewise.
+ 	(set_Wunused): Cooperate with set_Wextra in setting
+ 	warn_unused_parameter.
+ 	(rest_of_compilation): No need to check extra_warnings as
+ 	well as warn_uninitialized.
+ 
+ 	* c-typeck.c (build_binary_op, build_conditional_expr):
+ 	No need to check extra_warnings as well as warn_sign_compare.
+ 	(internal_build_compound_expr): No need to check extra_warnings
+ 	as well as warn_unused_value.
+ 	* function.c (expand_function_end): No need to check extra_warnings
+ 	as well as warn_unused_parameter.
+ 	* stmt.c (expand_expr_stmt_value): No need to check extra_warnings
+ 	as well as warn_unused_value.
+ 
+ 	* doc/invoke.texi: Clarify documentation of -Wsign-compare.
+ 
+ 	* Makefile.in: Disable -Werror for gengtype-lex.o.
+ 
+ 2003-05-03  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
+ 	* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
+ 	* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
+ 	* calls.c (emit_call_1): Likewise.
+ 	(expand_call): For calls initializing constant memory, replace
+ 	emission of standalone mem /u clobber with function usage entry.
+ 	* expr.c (emit_block_move_via_libcall): Likewise.
+ 	* cse.c (count_reg_usage, case EXPR_LIST): New case.
+ 	* flow.c (propagate_one_insn): Pass entire operand of
+ 	CALL_INSN_FUNCTION_USAGE to mark_used_regs.
+ 	* integrate.c (try_constants): For CALL_INSNs, substitute constants
+ 	within the FUNCTION_USAGE also.
+ 	* loop.c (prescan_loop): Note clobbers of const mem mentioned in
+ 	FUNCTION_USAGE lists.
+ 	* reload1.c (replace_pseudos_in): Renamed.
+ 	(reload): Use it for clobbers surviving until the end of the reload.
+ 
+ 2003-05-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
+ 	gen_lowpart on non-integer modes.
+ 
+ 	* stor-layout.c (place_field): When adjusting offset_align, use
+ 	desired_align, not DECL_ALIGN.
+ 
+ 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-decl.c (pending_invalid_xref_file): Remove.
+ 	(pending_invalid_xref_line): Remove.
+ 	(pending_invalid_xref_location): New.
+ 	(lookup_label): Use location_t and input_location directly.
+ 	(lookup_tag): Likewise.
+ 	(pending_xref_error): Likewise.
+ 	(c_expand_body_1): Likewise.
+ 	* c-common.c (x_expand_start_cond): Likewise.
+ 	* c-semantics.c (genrtl_for_stmt): Likewise.
+ 	(find_reachable_label): Likewise.
+ 	* expr.c (expand_expr): Likewise.
+ 	* integrate.c (output_inline_function): Likewise.
+ 	* tree-inline.c (find_alloca_call): Likewise.
+ 	(find_builtin_longjmp_call): Likewise.
+ 	* gcc.c (input_filename): Make static.
+ 
+ 2003-05-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Fix comment typo.
+ 
+ 	* config/mips/mips.c (mips_integer_op): New structure.
+ 	(MIPS_MAX_INTEGER_OPS): Define.
+ 	(mips_const_insns): Use mips_build_integer to determine the number
+ 	of instructions needed to load a CONST_INT.
+ 	(move_operand): Reject compound CONST_INTs.
+ 	(mips_build_shift, mips_build_lower, mips_build_integer): New fns.
+ 	(mips_move_integer): New fn.
+ 	(mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
+ 	(mips_legitimize_move): Only legitimize constants when moving
+ 	word or subword values.
+ 
+ 2003-05-02  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
+ 
+ 2003-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_stpcpy): Copy `arglist' before
+ 	modifying it.
+ 
+ 2003-05-03  Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
+ 	Hernandez, and Kazu Hirata.  Update Richard Henderson.
+ 
+ 2003-05-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
+ 	to tentative declaration.
+ 
+ 	* config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
+ 	(SYMBOL_FLAG_SMALL_V4): Delete.
+ 	* config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
+ 	(rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
+ 	(rs6000_elf_in_small_data_p): Add extra section names.  Add
+ 	comment about TREE_PUBLIC test.
+ 
+ 	* c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
+ 	expand_stmt on result of expand_unreachable_stmt.
+ 
+ 2003-05-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add Daniel Berlin.
+ 
+ 2003-05-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
+ 	number of automata.
+ 
+ 	* config/rs6000/rs6000.c (symbol_ref_operand): Check
+ 	SYMBOL_REF_FUNCTION_P on AIX.
+ 	(current_file_function_operand): Same.
+ 	* config/rs6000/rs6000.md (call,call_value): Force non-function
+ 	symbol_ref into register on AIX.
+ 
+ 2003-05-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (struct arg_data): Move offset, slot_offset, size and
+ 	alignment_pad to struct locate_and_pad_arg_data.  Update all refs.
+ 	(initialize_argument_information): Adjust call to locate_and_pad_parm.
+ 	Delete alignment_pad var.  Don't calculate slot_offset here.
+ 	(emit_library_call_value_1): Delete alignment_pad, offset and size
+ 	vars.  Use struct locate_and_pad_arg_data instead.  Adjust refs.
+ 	Adjust call to locate_and_pad_parm.  Don't tweak arg size for
+ 	partial in-regs here.  Formatting fixes.
+ 	* expr.h (struct locate_and_pad_arg_data): New struct.
+ 	(locate_and_pad_parm): Adjust declaration.
+ 	* function.c (assign_parms): Localize vars.  Use "locate" instead of
+ 	other arg location vars.  Don't invoke FUNCTION_ARG or
+ 	FUNCTION_INCOMING_ARG unless pretend_named is different from
+ 	named_arg.  Heed MUST_PASS_IN_STACK and set up "partial" before
+ 	calling locate_and_pad_parm.  Adjust locate_and_pad_parm call.
+ 	Use slot_offset for stack home of reg parms.  Correct test for
+ 	parm passed in memory.  Formatting fixes.
+ 	(locate_and_pad_parm): Add "partial" to params.  Replace offset_ptr
+ 	arg_size_ptr and alignment pad with "locate".  Set slot_offset here.
+ 	Correct initial_offset_ptr handling.  Localize vars.  Always pad
+ 	locate->offset even when in_regs.
+ 
+ 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (TREE_H): Replace location.h with input.h.
+ 	(GTFILES) Remove location.h
+ 	(gt-lists.h): Replace gt-location.h with gt-input.h
+ 	* input.h (input_filename, input_line): Remove variables.
+ 	(location_s, location_t): Move from location.h.
+ 	(input_location): New.
+ 	(input_filename, input_line): New #defines.
+ 	* location.h: Remove.
+ 	* tree.h: Replace location.h with input.h.
+ 	(input_filename, input_line): Remove.
+ 	* diagnostic.h: Replace location.h with input.h.
+ 	* gcc.h (input_filename, input_filename_length): Remove declarations.
+ 	* toplev.c (input_filename, input_line): Remove.
+ 	(input_location): Define.
+ 	(push_srcloc, pop_srcloc): Adjust.
+ 	* diagnostic.c (diagnostic_report_current_module): Adjust.
+ 
+ 2003-05-02  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* configure.in: Add xstormy16 to list of targets that has a nop
+ 	instruction and hence which can be tested to see if the
+ 	assembler supports the --gdwarf2 switch.
+ 	* configure: Regenerate.
+ 
+ 2003-05-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR target/8257
+ 	* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
+ 	alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
+ 	Avoid undefined shifts by making the shift operand unsigned.
+ 
+ 2003-05-01  DJ Delorie  <dj@redhat.com>
+ 
+ 	* reload.c (find_reloads): Also check that all of a multi-reg
+ 	value is in the class.
+ 
+ 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* scan.h (lineno): Revert the rename here.
+ 
+ 2003-05-01  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (darwin_encode_section_info): Call
+ 	default_encode_section_info.
+ 
+ 2003-05-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
+ 	(movsi_internal1): Use new mfjmpr attribute.
+ 	(movhi_internal): Same.
+ 	(movqi_internal): Same.
+ 	(movcc_internal1): Same.
+ 	(movdi_internal64): Same.
+ 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
+ 	power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
+ 	* config/rs6000/40x.md: Add fpu_405.
+ 	* config/rs6000/power4.md: Merge power4lsu and power4disp automata
+ 	into power4misc automata.  Remove extraneous parentheses.
+ 	* config/rs6000/440.md: New file.
+ 	* config/rs6000/rs6000.c (processor_target_table): Add 440,
+ 	440fp.  Rename 405f to 405fp.
+ 	(function_arg_padding): Correct formatting.
+ 	(rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
+ 
+ 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* input.h (lineno): Rename to ...
+ 	(input_line): ... here.
+ 	* tree.h (lineno): Rename to ...
+ 	(input_line): ... here.
+ 	* scan.h (lineno): Rename to ...
+ 	(input_line): ... here.
+ 	* toplev.c (lineno): Rename to ...
+ 	(input_line): ... here.
+ 	(push_srcloc, pop_srcloc):  Rename lineno to input_line.
+ 	* c-common.c (c_expand_start_cond, fname_decl): Likewise.
+ 	* c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
+ 	store_parm_decls, c_expand_body_1): Likewise.
+ 	* c-errors.c (pedwarn_c99): Likewise.
+ 	* c-format.c (status_warning): Likewise.
+ 	* c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
+ 	* c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
+ 	* c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
+ 	* c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
+ 	gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
+ 	genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
+ 	genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
+ 	build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
+ 	prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
+ 	* coverage.c (create_coverage): Likewise.
+ 	* diagnostic.c (pedwarn, sorry, error, fatal_error,
+ 	internal_error, warning, diagnostic_report_current_module,
+ 	inform): Likewise.
+ 	* expr.c (expand_expr): Likewise.
+ 	* integrate.c (expand_inline_function,
+ 	output_inline_function): Likewise.
+ 	* rtl-error.c (file_and_line_for_asm): Likewise.
+ 	* tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
+ 	walk_tree): Likewise.
+ 	* tree.c (make_node): Likewise.
+ 	* ada, cp, f, java, objc, treelang: Likewise.
+ 	* objc/objc-act.c (objc_init): Rename lineno to input_line.
+ 	(build_module_descriptor, build_selector_translation_table,
+ 	build_protocol_template, build_method_prototype_list_template,
+ 	build_category_template, build_selector_table,
+ 	build_class_template, build_super_template, build_ivar_template,
+ 	build_ivar_list_template, build_method_list_template,
+ 	build_method_template, add_instance_variable): Likewise.
+ 
+ 	* dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
+ 	name from input_filename.
+ 
+ 2003-04-30  Eric Christopher  <echristo@redhat.com>
+ 	    Richard Sandiford <rsandifo@redhat.com>
+ 
+ 	* configure: Regenerate from patches below.
+ 	* combine.c (gen_lowpart_for_combine): Fix comment and add tests
+ 	for all symbolic operands.
+ 	* config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
+ 	to function.
+ 	* config/mips/linux.h: Fix typo.
+ 	* Merge from mips-3_4-rewrite branch:
+ 
+ 	2003-04-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips_classify_symbol): Add catch-all case for
+ 		handling local labels when TARGET_ABICALLS.
+ 
+ 	2003-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_expand_epilogue): Add an
+ 		integer argument.
+ 		(mips_expand_call): Likewise.
+ 		* config/mips/mips.h (TARGET_SIBCALLS): New macro.
+ 		(FIXED_REGISTERS): Clear $31 entry.
+ 		(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
+ 		(EPILOGUE_USES): Define.
+ 		* config/mips/mips.c (mips_function_ok_for_sibcall): New function.
+ 		(TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
+ 		(override_options): Add a 'j' register class.
+ 		(mips_expand_call): Handle sibcalls
+ 		(mips_expand_epilogue): Handle epilogues for sibcalls.
+ 		* config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
+ 		(sibcall_epilogue): New pattern.
+ 		(call, call_value): Adjust calls to mips_expand_call.
+ 		(sibcall, sibcall_value): New expanders.
+ 		(sibcall_internal, sibcall_value_internal): New patterns.
+ 		(sibcall_value_multiple_internal): New pattern.
+ 
+ 	2003-03-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.md (extended_mips16): New attribute.
+ 		(define_attr length): Default to 8 if extended_mips16 == yes.
+ 		(truncdisi2): Set extended_mips16 to yes for the sll alternative.
+ 		(truncdihi2, truncdiqi2, *extendsidi2): Likewise.
+ 		(call_internal): Set extended_mips16 to yes for direct jumps.
+ 		Remove redundant mode attribute.
+ 		(call_value_internal, call_value_multiple_internal): Likewise.
+ 		(call_split): Remove redundant mode attribute.
+ 		(call_value_split, call_value_multiple_split): Likewise.
+ 
+ 		* config/mips/mips.c (mips_symbol_insns): Rework.  Fix handling
+ 		of unaligned offsets.
+ 
+ 		* config/mips/mips.c (mips_splittable_symbol_p): Fix handling
+ 		of SYMBOL_GENERAL.
+ 
+ 	2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
+ 		* config/mips/mips.c (override_options): Disable -mexplicit-relocs
+ 		for mips16 code.
+ 
+ 	2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (ADDRESS_COST): Define.
+ 
+ 	2003-03-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
+ 		'R' to 'U'.  Make 'R' mean a single-instruction memory reference.
+ 		* config/mips/mips.md: Replace 'R' constraints with 'U'.
+ 
+ 	2003-03-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.md (truncdisi2): Add commentary.  Use sll instead
+ 		of a two-instruction sequence.  Add register->memory alternative.
+ 		(truncdihi2, truncdiqi2): Likewise.
+ 		Rework shift/truncate instructions so that they only handle right
+ 		shifts of 32 (or more, in the case of arithmetic shifts).
+ 		Add patterns for truncate/sign-extend.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* configure.in (mips*-*-*): Check for explicit relocation support.
+ 		* configure: Regenerate.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
+ 		and -mno-explicit-relocs.
+ 		(MASK_EXPLICIT_RELOCS): Define.
+ 		(TARGET_EXPLICIT_RELOCS): Use it.
+ 		(mips_split_addresses): Remove declaration.
+ 		* config/mips/mips.c (override_options): Update comment for
+ 		mips_split_addresses.  Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
+ 		a CONST as identity.  Check the return value of gen_lowpart_common.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips_legitimize_symbol): Handle small data
+ 		references for TARGET_EXPLICIT_RELOCS.
+ 		(mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
+ 		!TARGET_MIPS16.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
+ 		(addsi3): Remove redundant constraints.
+ 		(addsi3_internal): Use separate register & constant alternatives.
+ 		Use a 'Q' constraint and "addiu" insn for the latter.
+ 		(adddi3_internal_3, addsi3_internal_2): Likewise.
+ 
+ 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
+ 		(mips_expand_unaligned_store): Declare.
+ 		* config/mips/mips.c (mips_get_unaligned_mem): New fn.
+ 		(mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
+ 		* config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
+ 		(UNSPEC_ULD, UNSPEC_USD): Remove.
+ 		(UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
+ 		(UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
+ 		(extv, extzv): Use mips_expand_unaligned_load.
+ 		(insv): Use mips_expand_unaligned_store.  Use a reg_or_0_operand
+ 		predicate for operand 3.
+ 		(movsi_ulw, movsi_usw): Replace with...
+ 		(mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
+ 		(movdi_uld, movdi_usd): Likewise replace with...
+ 		(mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
+ 
+ 	2003-02-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
+ 		* config/mips/mips.h (LEA_REGS): New register class.
+ 		(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
+ 		(GR_REG_CLASS_P): Include LEA_REGS.
+ 		(DANGEROUS_FOR_LA25_P): New macro.
+ 		(EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
+ 		Add a T constraint for the DANGEROUS_FOR_LA25_P case.
+ 		* config/mips/mips.c (mips_regno_to_class): Change GR_REGS
+ 		entries to LEA_REGS.
+ 		(mips_global_pic_constant_p): New function.
+ 		(override_options): Add 'e' register constraint.
+ 		(mips_secondary_reload_class): Return LEA_REGS when reloading
+ 		a dangerous constant into a class containing $25.
+ 		* config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
+ 		(movsi_internal): Likewise.
+ 
+ 	2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
+ 		* config/mips/mips.md (call_split): New insn.
+ 		(call_value_split, call_value_multiple_split): New insns.
+ 		(call_internal): Turn into a define_insn_and_split.  Split the
+ 		instruction into a call and $gp load if TARGET_SPLIT_CALLS.
+ 		(call_value_internal, call_value_multiple_internal): Likewise.
+ 
+ 	2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips_reloc_string): Return "%got(" for
+ 		RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
+ 		(mips_encode_section_info): Don't take symbol visibility into
+ 		account if TARGET_ABICALLS.  Add more commentary.
+ 		* config/mips/mips.md: Add commentary above reloc constants.
+ 
+ 	2003-02-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips_legitimize_const_move): New, extracted
+ 		from mips_legitimize_move.  Legitimize constant pool references.
+ 		(mips_legitimize_move): Call mips_legitimize_const_move.  Attach
+ 		a REG_EQUAL note to the last instruction.
+ 
+ 	2003-02-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
+ 		* config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
+ 		(ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
+ 		(EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
+ 		* config/mips/mips.md (UNSPEC_HIGH): New constant.
+ 		(UNSPEC_RELOC_GPREL16): Rename to...
+ 		(RELOC_GPREL16): ...this.
+ 		(RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
+ 		(RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
+ 		(macro_calls): New attribute.
+ 		(length): Use it to set the default length of calls.  Don't allow
+ 		calls to have delay slots if macro_calls is "yes".
+ 		(luisi, luidi): New patterns.
+ 		(lowsi, lowdi): Use '%R' to print the relocation.
+ 		(lowdi_extend): Remove.
+ 		(loadgp): Remove mode from operand 0.  Use '%0' instead of '%a0'.
+ 		(call_internal): Merge alternatives.  Always use "jal".
+ 		(call_value_internal, call_value_multiple_internal): Likewise.
+ 		(reloc_gprel16): Remove.
+ 		* config/mips/mips.c (mips_got_alias_set): New variable.
+ 		(mips_classify_constant): Handle the new relocation constants.
+ 		(mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
+ 		(mips_symbolic_address_p): Return false if generating explicit relocs.
+ 		Otherwise allow local PIC symbols to have an offset.
+ 		(mips_splittable_symbol_p): New function.
+ 		(mips_classify_address): Use it to check whether a LO_SUM is valid.
+ 		(mips_const_insns): Always accept HIGH.
+ 		(call_insn_operand): Don't accept global symbols if using explicit
+ 		relocs.
+ 		(move_operand): Don't accept HIGH when generating PIC.
+ 		(mips_reloc, mips_lui_reloc): New functions.
+ 		(mips_force_temporary): Remove MODE argument.  Expect VALUE to
+ 		be a valid right-hand-side for a SET pattern.
+ 		(mips_load_got, mips_load_got16, mips_load_got32): New functions.
+ 		(mips_emit_high): New function.
+ 		(mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
+ 		case.  Use mips_splittable_symbol_p to check whether a LO_SUM
+ 		address should be used.  Use mips_emit_high to generate the
+ 		high part of such an address.  Adjust the global symbol + offset
+ 		case to match the change to mips_force_temprorary.
+ 		(mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
+ 		If generating explicit-reloc PIC, load the address of global
+ 		symbols from the GOT.  Use mips_emit_high to emit the high part
+ 		of an address.
+ 		(mips_simplify_dwarf_addr): New function.
+ 		(mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
+ 		(mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
+ 		(mips_expand_call): Load the addresses of global functions using
+ 		%call* relocs if generating explicit-reloc PIC.  Don't generate
+ 		an exception_receiver pattern.
+ 		(override_options): Initialize mips_got_alias_set.
+ 		(print_relocation): Remove in favor of...
+ 		(mips_reloc_string): ...this new function.
+ 		(print_operand): Handle '%R'.  Use mips_reloc_string.
+ 		(print_operand_address): Use print_operand to print the symbolic
+ 		part of a LO_SUM address.
+ 		(mips_output_function_prologue): Use .cprestore, reverting last patch.
+ 		(mips_encode_section_info): Factor out DECL_RTL accesses.  Reverse
+ 		sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
+ 		for local symbols.
+ 
+ 	2003-02-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips_sign_extend): Remove.
+ 		* config/mips/mips-protos.h: Ditto.
+ 		* config/mips/mips.md (movdi_internal2_extend): Remove.
+ 		(extendsidi2): Fix mode of convert_memory_address.
+ 
+ 	2003-01-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 		* config/mips/mips.md: Rewrite zero_extend* and extend*
+ 		patterns. Use explicit instructions and split after reload
+ 		for register extensions.
+ 		(ashlsi3_internal1_extend): New combiner pattern for
+ 		shift and extend combinations.
+ 		* config/mips/mips.h: Change Pmode back to ptr_mode
+ 		for performance enhancement.
+ 		* combine.c (expand_compound_operation): Make sure
+ 		that zero_extend operation is profitable.
+ 
+ 	2003-01-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
+ 		addresses depend on ptr_mode rather than Pmode.
+ 		(TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
+ 		(INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
+ 		(CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
+ 		(ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
+ 		* config/mips/mips.md (tablejump): Likewise.  Remove Pmode
+ 		condition for selecting cpaddsi or cpadddi: use cpadd instead.
+ 		(tablejump_internal1): Remove condition.
+ 		(tablejump_internal2): Change condition to TARGET_64BIT.
+ 		(cpaddsi): Rename to...
+ 		(cpadd): ...this.
+ 		(cpadddi): Remove.
+ 
+ 	2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips16_constant_after_function_p,
+ 		mips_address_cost, mips_check_split, double_memory_operand,
+ 		mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
+ 		pic_address_needs_scratch, symbolic_operand): Remove declarations.
+ 		(mips_legitimate_address_p): Return bool.
+ 		(mips_address_insns, mips_fetch_insns, mips_const_insns,
+ 		mips_legitimize_address, mips_legitimize_move,
+ 		mips_expand_call): Declare.
+ 		(mips_return_addr): Move outside #ifdef RTX_CODE.
+ 
+ 		* config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
+ 		(PIC_FN_ADDR_REG): New reg_class.
+ 		(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
+ 		(GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
+ 		(SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
+ 		CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
+ 		(SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
+ 		(EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
+ 		(CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
+ 		(LEGITIMATE_PIC_OPERAND): Undefine.
+ 		(LEGITIMATE_CONSTANT_P): Use mips_const_insns.
+ 		(LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
+ 		(CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
+ 		(FUNCTION_MODE): Change to SImode.
+ 		(CONST_COSTS): Use mips_const_insns to calculate the cost of
+ 		most constants.  Treat const_artih_operands specially if they
+ 		occur in a PLUS or MINUS.
+ 		(CONSTANT_POOL_COST): New macro.
+ 		(RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
+ 		Add LO_SUM handling.
+ 		(ADDRESS_COST): Undefine.
+ 		(PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
+ 		Add CONST to the list of codes for arith_operand.  Add LABEL_REF
+ 		to call_insn_operand and remove CONST_INT.
+ 
+ 		* config/mips/mips.c: Include integrate.h.
+ 		(SINGLE_WORD_MODE_P): New macro.
+ 		(mips_constant_type, mips_symbol_type, mips_address_type): New enums.
+ 		(mips_constant_info, mips_address_info): New structs.
+ 		(mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
+ 		(mips_classify_constant, mips_classify_symbol,
+ 		mips_valid_base_register_p, mips_symbolic_address_p,
+ 		mips_classify_address, mips_symbol_insns,
+ 		mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
+ 		mips_fetch_insns, mips_force_temporary, mips_add_offset,
+ 		mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
+ 		mips_print_relocation): New functions.
+ 		(const_arith_operand): New operand predicate.
+ 		(arith_operand): Use it.
+ 		(mips_const_double_ok, mips16_simple_memory_operand,
+ 		simple_memory_operand, double_memory_operand, mips_check_split,
+ 		mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
+ 		mips16_gp_offset_p, mips16_output_gp_offset,
+ 		mips16_constant_after_function_p, mips16_constant): Remove.
+ 		(call_insn_operand): Be more fussy about symbolic constants.
+ 		Use register_operand.
+ 		(move_operand): Use mips_symbolic_address_p to check symbolic
+ 		operands and general_operand to check the rest.
+ 		(symbolic_operand): Use mips_classify_constant.
+ 		(mips_legitimate_address_p): Use mips_classify_address.
+ 		(mips_move_1word): Combine handling of symbolic addresses.
+ 		Remove special treatment of gp-relative loads for TARGET_MIPS16.
+ 		(move_move_2words): Likewise.  Assume addresses are offsettable
+ 		if they need to refer to more than one word.  Add HIGH handling.
+ 		(mips_restore_gp): Use ptr_mode for the GP save slot.
+ 		(mips_expand_call): New function, combining the old mips.md
+ 		call and call_internal define_expands.  If the address isn't
+ 		a call_insn_operand, force it into a register.  For SVR4 PIC,
+ 		emit an exception_receiver instruction after the call.
+ 		(override_options): Only override flag_pic for TARGET_ABICALLS
+ 		if it is currently zero.  Allow mips_split_addresses when
+ 		Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
+ 		Add new register class letter, 'c'.
+ 		(print_operand): Use mips_classify_constant for constant operands.
+ 		(print_operand_address): Use mips_classify_address.
+ 		(mips_output_function_prologue): Don't use .cprestore.
+ 		(mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
+ 		via the frame pointer if current_function_calls_eh_return.
+ 		(mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
+ 		to mark whether a symbol is local or global.
+ 		(build_mips16_call_stub): Expect the address of the function rather
+ 		than a MEM reference to it.  Update call generation sequences.
+ 		(mips16_optimize_gp): Remove Pmode checks.  Temporarily disable
+ 		small-data adjustments.
+ 
+ 		* config/mips/mips.md: Remove 'R'/'m' memory distinction.  Use default
+ 		length for loads and stores.
+ 		(UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
+ 		(define_attr type): Add const and prefetch.
+ 		(define_attr length): Use mips_const_insns for const instructions.
+ 		Use mips_fetch_insns for load and store instructions.
+ 		(define_attr single_insn): New.
+ 		(define_attr can_delay): Use it.
+ 		(define_attr abicalls): Remove.
+ 		(define_delay): Use can_delay.  Always allow calls to have delay slots.
+ 		(addsi3_internal_2): Add 'Q' constraint.
+ 		(movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
+ 		(high): Remove.
+ 		(lowsi): Renamed from low.
+ 		(lowdi): New pattern.
+ 		(movdi, movsi): Use mips_legitimize_move.  Remove define_split.
+ 		(lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
+ 		(loadgp): Change operand 0 to an immediate_operand.
+ 		(tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
+ 		beforehand.
+ 		(cpaddsi, cpadddi): New patterns.
+ 		(tablejump_internal3, tablejump_internal4): Remove define_expands
+ 		and associated define_splits.
+ 		(call, call_value): Use mips_expand_call.
+ 		(call_internal): New, replacing all existing call_internal* insns.
+ 		(call_value_internal): Likewise call_value_internal*.
+ 		(call_value_multiple_internal): Likewise call_value_multiple_internal*.
+ 		(untyped_call): Remove if (operands[0]) magic.
+ 		(prefetch_si_address, prefetch_si): Change type to "prefetch".
+ 		(prefetch_di_address, prefetch_di): Likewise.
+ 		(leasi, leadi): Remove.
+ 		(reloc_gprel16): New.
+ 
+ 		* config/mips/5400.md (ir_vr54_hilo): Include const type.
+ 		* config/mips/5500.md (ir_vr55_hilo): Likewise.
+ 		* config/mips/sr71k.md (ir_sr70_hilo): Likewise.
+ 
+ 	2003-01-08  Eric Christopher  <echristo@redhat.com>
+ 
+ 		* config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
+ 		* config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
+ 		configure check for libgloss.
+ 		* config/mips/elf64.h: Ditto.
+ 		* config/mips/mips.c: Remove ABI_MEABI.
+ 		* config/mips/mips.h: Ditto.
+ 
+ 	2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		Fix merge fallout.
+ 		* config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
+ 		(muldi3_internal): Remove outdated comment.
+ 		(*muls_di, *umuls_di): Fix comment and 64-bitness.
+ 		(*smsac_di, *umsac_di): Likewise.  Reformat.
+ 		(umulsi3_highpart): Minor formatting tweaks.
+ 		(umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.  Remove
+ 		redundant scratch operand.  Minor formatting tweak.
+ 		(umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
+ 		(umulsi3_highpart_neg_mulhi_internal): Likewise.  Fix asm template.
+ 		(smulsi3_highpart): As for the unsigned version.
+ 		(smulsi3_highpart_internal): Likewise.
+ 		(smulsi3_highpart_mulhi_internal): Likewise.
+ 		(smulsi3_highpart_neg_mulhi_internal): Likewise.
+ 		(smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
+ 		(*smul_acc_di): Remove duplicated pattern.
+ 		(*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
+ 		(anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
+ 		(zero_extendsidi2_internal2): Remove new, but commented-out pattern.
+ 
+ 	2002-10-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_return_addr): New.
+ 		* config/mips/mips.c (mips_return_addr): New.
+ 		(movdi_operand): Remove.
+ 		(se_register_operand): Ditto.
+ 		(se_reg_or_0_operand): Ditto.
+ 		(se_uns_arith_operand): Ditto.
+ 		(se_arith_operand): Ditto.
+ 		(se_nonmemory_operand): Ditto.
+ 		(extend_operator): Ditto.
+ 		(highpart_shift_operator): Ditto.
+ 		(mips_initial_elimination_offset): Remove return address pointer
+ 		elimination.
+ 		(mips_reg_names): Remove $ra.
+ 		(mips_regno_to_class): Ditto.
+ 		* config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
+ 		and TARGET_64BIT.
+ 		(POINTER_BOUNDARY): Remove.
+ 		(POINTERS_EXTEND_UNSIGNED): Define to 0.
+ 		(PROMOTE_MODE): Promote to Pmode.
+ 		(SHORT_IMMEDIATES_SIGN_EXTEND): Define.
+ 		(Pmode): Define to TARGET_64BIT.
+ 		(FUNCTION_MODE): Define as Pmode.
+ 		(mips_args): Remove deleted functions.
+ 		(SIZE_TYPE): Depend on POINTER_SIZE.
+ 		(PTRDIFF_TYPE): Ditto.
+ 		(FIXED_REGISTERS): Fix extra registers.
+ 		(CALL_USED_REGISTERS): Ditto.
+ 		(CALL_REALLY_USED_REGISTERS): Ditto.
+ 		(RAP_REG_NUM): Remove.
+ 		(RETURN_ADDRESS_POINTER_REGNUM): Ditto.
+ 		(RETURN_ADDR_RTX): Define to mips_return_addr.
+ 		(ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
+ 		(CAN_ELIMINATE): Ditto.
+ 		* config/mips/mips.md: For DImode patterns, take into account
+ 		deletions above. Split mulsidi patterns into sign_extend and
+ 		zero_extend.
+ 
+ 	2002-10-16  Richard Sandiford  <rsandifo@redhat.com>
+ 		    Michael Meissner  <meissner@redhat.com>
+ 
+ 		* config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
+ 		* config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
+ 		mop up unnecessarly moves through LO.
+ 		(*mul_acc_si): Remove vr5400 and vr5500 handling from here.
+ 		(*macc): New pattern for ISA_HAS_MACC.  Add define_peephole2s to
+ 		change mtlo/macc sequences into mul/add sequences when a three-
+ 		address mul is available.
+ 		(*macc2): New pattern.  Add a define_peephole2 to generate it.
+ 		(*mul_sub_si): Fix contraint for operand 5.
+ 		(*muls): Use in 32-bit code as well.
+ 		(*msac): Likewise.  Use msub instead of msac in vr5500 code
+ 		if the destination is LO.  Remove duplicate define_split.
+ 		(*muls_di): Use only in 32-bit code.  Adjust rtl accordingly.
+ 		(*msac_di): Likewise.  Fix formatting.
+ 		(smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
+ 		(*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
+ 		(*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
+ 		(*xmulsi3_neg_highpart_mulhi): Likewise.
+ 		(*mul_acc_64bit_di): Remove.
+ 		(*mul_acc_di): Use only in 32-bit code.  Handle ISA_HAS_MACC as well.
+ 
+ 	2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
+ 		* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
+ 		(MULTILIB_DIRNAMES): Remove long32.
+ 		(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
+ 		(MULTILIB_REDUNDANT_DIRS): Remove.
+ 
+ 	2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* doc/tm.texi (DRIVER_SELF_SPECS): Document.
+ 		* gcc.c (driver_self_specs): New variable.
+ 		(do_self_spec): New function.
+ 		(main): Use it to process driver_self_specs.
+ 
+ 	2002-10-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
+ 		Remove DImode define_split for !TARGET_64BIT.
+ 		(anddi3): Remove !TARGET_64BIT support from here as well.
+ 		Change operand 2's predicate to se_uns_arith_operand.
+ 		Add constant alternatives to define_insn.
+ 		(iordi3, xordi3, *nordi3): Likewise.
+ 		(anddi3_internal1, xordi3_immed): Remove.
+ 
+ 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
+ 		(TARGET_MIPS4121): Rename to TARGET_MIPS4120.
+ 		* config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
+ 		* config/mips/mips.md: Apply same renaming here.
+ 
+ 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
+ 		(GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
+ 		* config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
+ 		* config/mips/mips.md (define_attr cpu): Remove r4320.
+ 		Remove vr4320 scheduler and uses of TARGET_MIPS4320.
+ 
+ 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.c (mips16_strings): New variable.
+ 		(mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
+ 		symbol in mips16_strings.  Free the list.
+ 		(mips_encode_section_info): Keep track of local strings.
+ 
+ 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
+ 		(sordered_df, sordered_sf): Remove.
+ 		* config/mips/mips.c (get_float_compare_codes): New fn.
+ 		(gen_int_relational, gen_conditional_move): Use it.
+ 
+ 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 		* config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
+ 		* config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
+ 		* config/mips/mips.c (fcc_register_operand): New function.
+ 		(mips_emit_fcc_reload): New function, extracted from reload_incc.
+ 		(override_options): Allow TFmode values in float registers
+ 		if ISA_HAS_8CC.
+ 		* cnfig/mips/mips.md (reload_incc): Change destination prediate
+ 		to fcc_register_operand.  Remove misleading source constraint.
+ 		Use mips_emit_fcc_reload.
+ 		(reload_outcc): Duplicate reload_incc.
+ 
+ 
+ 2003-04-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
+ 
+ 2003-04-30  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree-inline.c (inlinable_function_p): Back out last change, it's
+ 	unnecessary.
+ 
+ 2003-04-30  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* ggc-page.c (TREE_EXP_SIZE): Define.
+ 	(extra_order_size_table): New entry for expr trees with
+ 	two operands.
+ 
+ 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
+ 	(c_expand_start_cond): Adjust.
+ 	(c_expand_end_cond): Don't use warning_with_file_and_file.
+ 	(shadow_warning): Likewise.
+ 
+ 2003-04-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (DECL_POINTER_DEPTH): Remove.
+ 	(struct tree_decl): Remove pointer_depth.
+ 
+ 2003-04-30  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
+ 	* config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
+ 	(rs6000_xcoff_encode_section_info): Remove.
+ 	(current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
+ 	(rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
+ 	(small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
+ 	Use SYMBOL_REF_FLAGS.
+ 	(rs6000_elf_encode_section_info): Call default_encode_section_info for
+ 	generic flags, use SYMBOL_REF_FLAGS; code cleanups.
+ 	* sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
+ 	(SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
+ 	* xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
+ 	(ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
+ 
+ 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
+ 
+ 2003-04-30  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* doc/extend.texi (Other Builtins): Enclose multiple word data
+ 	type in braces for @deftypefn.
+ 
+ 2003-04-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
+ 
+ 	* doc/install.texi (--enable-threads): Document "gnat" option.
+ 
+ 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
+ 
+ 	* diagnostic.h (output_formatted_scalar): Tweak.
+ 	* diagnostic.c (output_long_decimal): Likewise.
+ 	(output_unsigned_decimal): Likewise.
+ 	(output_long_unsigned_decimal): Likewise.
+ 	(output_octal): Likewise.
+ 	(output_long_octal): Likewise.
+ 	(output_hexadecimal): Likewise.
+ 	(output_long_hexadecimal): Likewise.
+ 	(output_pointer): New function.
+ 	(output_format): Use it.  Recognize "%p" format specifier.
+ 
+ 2003-04-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* function.c (purge_addressof_1): Postpone insn in fewer cases.
+ 
+ 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/host-darwin.c (segv_handler): When -dH is used,
+ 	call abort() after running out of stack space.
+ 
+ 	* c-typeck.c (function_types_compatible_p): Ignore incompatible
+ 	'volatile' qualifiers on a function's return type in GNU mode.
+ 
+ 2003-04-29  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expr.c (emit_group_load): Dump parallels of simd types to
+ 	memory.
+ 
+ 2003-04-29  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (add_vect): Check undefined value for range type
+ 	too.
+ 
+ 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* configure.in:  More general test for cmp --ignore-initial.
+ 	* configure:  Regenerate.
+ 
+ 2003-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (mode_for_size_tree): Use tree_low_cst.
+ 	(layout_decl, place_field): Likewise.
+ 	Also make minor type and whitespace changes.
+ 
+ 	* tree.c (save_expr): Don't fold a COMPONENT_REF.
+ 
+ 2003-04-29  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* calls.c (expand_call): When modes of target and valreg match,	force
+ 	sibcall failure when target is a MEM.
+ 
+ 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree-inline.c (inlinable_function_p): Don't support inlining
+ 	functions using varargs.
+ 
+ 	* doc/invoke.texi (Overall Options): Mention -x objective-c-header.
+ 
+ 	* dwarf2out.c (output_call_frame_info): No need to output EH
+ 	unwind information if all_throwers_are_sibcalls.
+ 
+ 	* c-semantics.c (expand_unreachable_stmt): Return a tree.
+ 	(expand_stmt): Update for change to expand_unreachable_stmt.
+ 	(expand_unreachable_if_stmt): Likewise.
+ 
+ 	* Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
+ 
+ 2003-04-29  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/10336
+ 	* jump.c (never_reached_warning): Really stop looking if we reach
+ 	the beginning of the function.
+ 
+ 2003-04-29  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
+ 	Remove redundant macros.
+ 	(WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
+ 	(LOCAL_LABEL_PREFIX): Define unconditionally.
+ 	(NO_DOT_IN_LABEL): Clarify comment.
+ 	* config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
+ 	definition to "long int".
+ 
+ 2003-04-29  Alexander Kabaev  <kan@FreeBSD.ORG>
+ 
+ 	bootstrap/10452
+ 	* gengtype-yacc.y: Improve portability.
+ 
+ 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.gcc: Install obsolete target list for GCC 3.3.
+ 	* doc/install.texi: Mention in specific-target instructions
+ 	that certain configurations are deprecated.
+ 
+ 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
+ 
+ 2003-04-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+ 
+ 	* c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
+ 	* gcc.c (display_help): Likewise.
+ 	* toplev.c (f_options): Likewise.
+ 	* params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
+ 	* config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
+ 	* config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
+ 	* config/s390/s390.h (TARGET_SWITCHES): Likewise.
+ 	* config/v850/v850.h (TARGET_SWITCHES): Likewise.
+ 
+ 2003-04-29  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* varasm.c (default_assemble_visibility): Use assemble_name.
+ 
+ 2003-04-29  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
+ 	* config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
+ 	(SIZE_TYPE): New macro.
+ 	* config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
+ 	(SET_ASM_OP): New macro.
+ 	(HANDLE_SYSV_PRAGMA): New macro.
+ 	(ASM_WEAKEN_LABEL): New macro.
+ 
+ 2003-04-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/10180
+ 	* tree-inline.c (expand_call_inline): Call push_srcloc when
+ 	encountering EXPR_WITH_FILE_LOCATION.  Honor warn_inline.
+ 
+ 2003-04-28  Mike Stump  <mrs@apple.com>
+ 
+ 	* gdbinit.in: Update to reflect new identifier structure.
+ 
+ 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
+ 	(struct tree_int_cst, struct tree_real_cst, struct tree_string,
+ 	struct tree_complex, struct tree_vector): Remove RTL field.
+ 	(CONSTRUCTOR_ELTS): Use elt 0.
+ 	* tree.def (CONSTRUCTOR): Delete first of its two operands.
+ 	* varasm.c (output_constant_def): Remove early exit if
+ 	TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
+ 	(decode_addr_const): Don't mention TREE_CST_RTL in comment.
+ 	* target.h (select_section): Don't mention TREE_CST_RTL in comment.
+ 	* doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
+ 
+ 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-decl.c (finish_decl): When prototype with asmspec is found
+ 	for built-in, adjust built_in_decls as well as expr.c decls.
+ 	* expr.c (init_block_move_fn, init_block_clear_fn): New functions.
+ 	(emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
+ 	* expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
+ 
+ 2003-04-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
+ 	* config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
+ 	integral constant mult operand.
+ 	(const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
+ 	(const_smulsi3_highpart_v8plus): Likewise.
+ 	(const_smulsi3_highpart): Likewise.
+ 	(const_umulsidi3_sp32): Likewise; sign-extend it in the output.
+ 	(const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
+ 	(const_umulsi3_highpart_v8plus): Likewise.
+ 	(const_umulsi3_highpart): Likewise.
+ 
+ 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
+ 	Define as 1.
+ 
+ 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
+ 
+ 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
+ 	* builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
+ 	* builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
+ 	functions.
+ 	(expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
+ 
+ 2003-04-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
+ 
+ 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
+ 	output_constant_def, use its result instead of TREE_CST_RTL (exp).
+ 	Can assume it has the form (mem (symbol_ref ".LCxxx")).
+ 	(expand_expr <COMPONENT_REF>): Can always just extract the
+ 	relevant field of a CONSTRUCTOR.
+ 	(expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
+ 	ARRAY_RANGE_REF>): Make control flow explicit.
+ 	* varasm.c (output_constant_def): Can look at TREE_CST_RTL of
+ 	an INTEGER_CST.
+ 
+ 2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reg_set_luid): Fix a comment typo.
+ 
+ 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
+ 	struct deferred_string, const_str_htab): Kill.
+ 	(n_deferred_strings): New static variable.
+ 	(build_constant_desc): Set SYMBOL_REF_DECL of the new
+ 	symbol_ref to point to the constant.
+ 	(output_constant_def): When a deferred string is forced out,
+ 	just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
+ 	(mark_constant): Likewise.
+ 	(maybe_output_constant_def_contents): When deferring a string
+ 	constant, just set STRING_POOL_ADDRESS_P and increment
+ 	n_deferred_strings.
+ 	(mark_constant_pool): Check n_deferred_strings, not the size
+ 	of const_str_htab.
+ 	(init_varasm_once): No need to create const_str_htab.
+ 
+ 	* rtl.def, rtl.h, doc/rtl.texi: Document possibility that
+ 	SYMBOL_REF_DECL points to a constant.
+ 
+ 2003-04-26  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varasm.c (output_constant_def): Split out two new static
+ 	functions, build_constant_desc and maybe_output_constant_def_contents.
+ 	Restructure for comprehensibility.  Don't call
+ 	output_addressed_constants.  Treat defstr being non-NULL for
+ 	STRING_POOL_ADDRESS_P constants as an invariant.
+ 	(struct deferred_string): Remove labelno field.
+ 	(output_constant_def_contents): Kill labelno argument. Call
+ 	output_addressed_constants here.  Use ASM_OUTPUT_LABEL,	not
+ 	asm_out.internal_label.
+ 	(mark_constant): Update call to	output_constant_def_contents.
+ 	Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
+ 	constants as an invariant.
+ 
+ 2003-04-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
+ 	(ix86_expand_call, ix86_rtx_consts): Likewise.
+ 
+ 2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/md.texi (cmpstr): Document additional restrictions.
+ 
+ 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* flags.h (time_report): Remove.
+ 	* timevar.c (timevar_enable): New.
+ 	(TIMEVAR_ENABLE): Remove, use timevar_enable.
+ 	(timevar_init): Rename from init_timevar.
+ 	* timevar.h (timevar_init): Rename from init_timevar.
+ 	* toplev.c (time_report): Make static.
+ 	(do_compile): Conditionally call init_timevar first.
+ 	(preprocess_options): Move some code to do_compile.
+ 
+ 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* doc/install.texi (Binaries): Mention binaries for HC11/HC12.
+ 
+ 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* _cpp_lex_direct: Remove pointless code.
+ 
+ 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
+ 
+ 	* doc/extend.texi (Function Attributes): Document "near" and "far"
+ 	for 68HC11 and 68HC12.
+ 
+ 2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_field): When making temporary for store, don't
+ 	make it TYPE_QUAL_CONST.
+ 
+ 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* toplev.c (read_integral_parameter):  Use "argument" in error
+ 	message to distinguish it from actual invalid options.
+ 
+ 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
+ 	addition of __PIC__ and __pic__ macros.
+ 	* config/xtensa/xtensa.h: Clean up indentation.
+ 
+ 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
+ 	_GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
+ 	(SUBTARGET_CPP_SPEC): Define.
+ 	(LIB_SPEC): Delete.
+ 	* config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
+ 	* config/xtensa/xtensa.c (xtensa_declare_object): Delete.
+ 	* config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
+ 	Define.
+ 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+ 	(ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
+ 
+ 2003-04-25  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
+ 	for return mode.
+ 	(ia64_expand_builtin): Set rmode to SImode for
+ 	IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
+ 	IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
+ 	IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
+ 	for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
+ 
+ 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* configure.in (make_compare_target):  Test for GNU cmp and set this
+ 	variable appropriately.
+ 	* Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
+ 	compare4-lean): Rename actual targets to slowcompare*.  New compare*
+ 	targets depend on names based on make_compare_target.
+ 	* configure:  Regenerated.
+ 
+ 2003-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
+ 	to clobber ar.pfs and ar.unat.
+ 	(ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
+ 	fix test for spilling ar.pfs to the stack.
+ 
+ 2003-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/10315
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
+ 	checks during reload; use validize_mem instead of adjust_address.
+ 
+ 2003-04-26  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
+ 	return values from recog_memoized().
+ 
+ 2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR opt/8705
+ 	* gcse.c (try_replace_reg): On a successful substitution of a constant
+ 	into a single set, try to simplify the source of the set.
+ 	* loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
+ 	constant source.
+ 
+ 2003-04-24  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplex.c (cpp_token_len): Tighten up.
+ 	(cpp_token_as_text): Need extra byte now.
+ 	* cpplib.c (glue_header_name): Need extra 2 bytes.
+ 	* cppmacro.c (cpp_macro_definition): Need extra byte.
+ 
+ 2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
+ 
+ 	* config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
+ 	const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
+ 	where they might be not present. Use their _sp64 equivalent
+ 	instead.
+ 
+ Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cvtsi2sdq): Fix typo in previous patch.
+ 
+ 2003-04-24  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* configure.in: Check whether mbstowcs works.
+ 	* configure, config.in: Regenerate.
+ 	* intl.c: Use HAVE_WORKING_MBSTOWCS.
+ 
+ 2003-04-24  H.J. Lu <hjl@gnu.org>
+ 
+ 	* config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
+ 	for __sync_bool_compare_and_swap_di for int return type.
+ 
+ 	* config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
+ 	Change return type to int.
+ 	(__sync_bool_compare_and_swap): Likewise.
+ 
+ Thu Apr 24 16:55:26 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
+ 	looking for fallthru edge.
+ 
+ 	* athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
+ 	Fix.
+ 	(athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
+ 	athlon-fvector): New.
+ 	(athlon_*): Revisit to match new optimization guide.
+ 	* i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
+ 	* i386.md (cvt??2?? patterns): Fix modes.
+ 	(fistp patterns): Set modes.
+ 
+ 	Accidentaly commited with my earlier reload patch:
+ 	PR c/10308
+ 	* reload.c (find_reloads_address_1): Reload plus at the place of
+ 	index register.
+ 
+ 2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	New GCOV_TAG_FUNCTION layout
+ 	* coverage.c (struct function_list): Replace name with ident.
+ 	(struct counts_entry): Likewise.
+ 	(fn_ident): New.
+ 	(htab_counts_entry_hash, htab_counts_entry_eq,
+ 	htab_counts_entry_del): Adjust.
+ 	(reads_count_file, get_coverage_counts,
+ 	coverage_begin_output, coverage_end_function): Adjust.
+ 	(build_fn_info_type, build_fn_info_value): Likewise.
+ 	* gcov-dump.c (tag_function): Adjust.
+ 	* gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+ 	* gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
+ 	* gcov.c (struct function_info): Add ident.
+ 	(read_graph_file, read_count_file): Adjust.
+ 	* libgcov.c (gcov_exit): Adjust.
+ 
+ 2003-04-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/8300
+ 	* toplev.c (rest_of_compilation): Delay no_new_pseudos until
+ 	after initialize_uninitialized_subregs; update reg info assuming
+ 	new pseudos were created.
+ 
+ 2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
+ 	* c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
+ 	(lex_string): Take cpp_string with full spelling.
+ 	(cb_ident): Update.
+ 	(c_lex): Update diagnostics.
+ 	* cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
+ 	(create_literal): New.
+ 	(lex_string): Unterminated literals have type CPP_OTHER.
+ 	(_cpp_lex_direct): Update calls to lex_string.  Use create_literal
+ 	for CPP_OTHER.
+ 	(cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
+ 	(_cpp_equiv_tokens, cpp_interpret_charconst): Update.
+ 	* cpplib.c (parse_include, do_line, do_linemarker,
+ 	destringize_and_run): Update for token storing full spelling.
+ 	* cpplib.h: Update token spelling types.
+ 	* cppmacro.c (stringify_arg, check_trad_stringification):
+ 	Update for token storing full spelling.
+ 
+ 2003-04-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
+ 
+ 2003-04-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (TARGET_OPTIONS): Add value field.
+ 
+ 2003-04-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/extend.texi: Remove duplicate 2003 copyright date.
+ 
+ 2003-04-23  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (LIBGCC_DEPS): Add gcov headers.
+ 	(libgcov.a): Depends on LIBGCC_DEPS.
+ 	* basic-block.h (profile_info): Moved here from coverage.h. Made
+ 	a pointer.
+ 	* coverage.c (struct function_list): Fixed array of counter types.
+ 	(struct counts_entry): Keyed by counter type, contains summary.
+ 	(profile_info): Moved to profile.c.
+ 	(prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
+ 	vars.
+ 	(profiler_label): Remove.
+ 	(ctr_labels): New.
+ 	(set_purpose, label_for_tag, build_counter_section_fields,
+ 	build_counter_section_value, build_counter_section_data_fields,
+ 	build_counter_section_data_values, build_function_info_fields,
+ 	build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
+ 	(build_fn_info_type, build_fn_info_value, build_ctr_info_type,
+ 	build_ctr_info_value, build_gcov_info): New.
+ 	(htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
+ 	(reads_counts_file): Adjust.
+ 	(get_coverage_counts): Takes counter number. Add summary
+ 	parameter. Adjust.
+ 	(coverage_counter_ref): Tkaes counter number. Adjust. Lazily
+ 	create counter array labels.
+ 	(coverage_end_function): Adjust.
+ 	(create_coverage): Adjust.
+ 	(find_counters_section): Remove.
+ 	* coverage.h (MAX_COUNTER_SECTIONS): Remove.
+ 	(struct section_info, struct profile_info): Remove.
+ 	(profile_info): Moved to basic-block.h.
+ 	(coverage_counter_ref): Takes a counter number.
+ 	(get_coverage_counts): Takes a counter number. Added summary
+ 	parameter.
+ 	(find_counters_section): Remove.
+ 	* gcov-dump.c (tag_arc_counts): Rename to ...
+ 	(tag_counters): ... here. Adjust.
+ 	(tag_table): Move tag_counters to 3rd entry. Remove
+ 	PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
+ 	(dump_file): Check for counter tag values here.
+ 	(tag_summary): Adjust.
+ 	* gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
+ 	* gcov-io.h (GCOV_LOCKED): New.
+ 	(GCOV_TAG_ARC_COUNTS): Rename to ...
+ 	(GCOV_TAG_COUNTS_BASE): ... here.
+ 	(GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
+ 	Remove.
+ 	(GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
+ 	(GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
+ 	GCOV_TAG_IS_COUNTER): New.
+ 	(struct gcov_ctr_summary): New.
+ 	(struct gcov_summary): Adjust.
+ 	(struct gcov_counter_section): Remove.
+ 	struct gcov_counter_section_data): Remove.
+ 	(struct gcov_function_info): Rename to ...
+ 	(struct gcov_fn_info): ... here. Adjust.
+ 	(struct gcov_ctr_info): New.
+ 	(struct gcov_info): Adjust.
+ 	* gcov.c (read_count_file): Adjust.
+ 	(output_lines): Adjust.
+ 	* libgcov.c (gcov_exit): Adjust.
+ 	(__gcov_flush): Adjust.
+ 	* mklibgcc.in (libgcc2_c_dep): Add gcov headers.
+ 	* predict.c (maybe_hot_bb_p, probably_cold_bb_p,
+ 	probably_never_executed_bb_p, compute_frequency_function): Adjust
+ 	profile_info use.
+ 	* profile.c (struct counts_entry): Remove.
+ 	(profile_info): Define here.
+ 	(get_exec_counts): Adjust get_coverage_counts call.
+ 	(compute_branch_probablilities): Remove find_counters_section
+ 	call.
+ 	(gen_edge_profiler): Adjust coverage_counter_ref call.
+ 	* tracer.c (tail_duplicate): Adjust profile_info use.
+ 
+ 2003-04-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/10339
+ 	* builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
+ 	directly instead of unsafely transforming call into a memcmp.
+ 	(expand_builtin_strncmp): Likewise.
+ 
+ 2003-04-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* alias.c (mark_constant_function):  Check for constancy and
+ 	purity even of void functions.  Update both the function decl
+ 	and the cgraph RTL info with the results.
+ 
+ 2003-04-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (do_add): Change to return a bool indicating that the
+ 	result of the operation may be inexact due to loss of precision.
+ 	(do_multiply): Likewise.
+ 	(do_divide): Likewise.
+ 
+ 2003-04-22  Geoffrey Keating  <geoffk@apple.com>
+ 	    Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* dwarf2out.c (fde_table_allocated): Mark with GTY.
+ 	(decl_die_table_allocated): Likewise.
+ 	(abbrev_die_table_allocated): Likewise.
+ 	(line_info_table_allocated): Likewise.
+ 	(separate_line_info_table_allocated): Likewise.
+ 	(pubname_table_allocated): Likewise.
+ 	(arange_table_allocated): Likewise.
+ 	(ranges_table_allocated): Likewise.
+ 	(decl_die_table_in_use): Unconditionalize; mark with GTY.
+ 	(abbrev_die_table_in_use): Likewise.
+ 	(line_info_table_in_use): Likewise.
+ 	(separate_line_info_table_in_use): Likewise.
+ 	(pubname_table_in_use): Likewise.
+ 	(arange_table_in_use): Likewise.
+ 	(ranges_table_in_use): Likewise.
+ 	(have_location_lists): Likewise.
+ 	(emitcount): New GTY-marked static, moved...
+ 	(maybe_emit_file): ...from here.
+ 	(label_num): New GTY-marked static, moved...
+ 	(gen_internal_sym): ...from here.
+ 
+ 2003-04-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 8866
+ 	* rtl.h (MEM_NOTRAP_P): New.
+ 	(MEM_COPY_ATTRIBUTES): Copy it.
+ 	* rtlanal.c (may_trap_p): Check it.
+ 	* expr.c (do_tablejump): Set it.
+ 	* doc/rtl.texi (Flags): Document it.
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
+ 
+ 2003-04-22  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
+ 	set FRP on stack adjustment for outgoing args if frame_pointer_needed.
+ 
+ 2003-04-22  Vincent Celier <celier@gnat.com>
+ 
+ 	* gthr-gnat.h, gthr-gnat.c: new sources for implementation of
+ 	--enable-threads=gnat.
+ 	* Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
+ 	* configure.in: Add gnat to the list of thread packages
+ 	* configure: Rebuild.
+ 	* config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
+ 
+ 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
+ 
+ 2003-04-22  Devang Patel  <dpatel@apple.com>
+ 
+ 	* cpptrad.c (_cpp_replacement_text_len): Add check for macro
+ 	parameter count.
+ 	(_cpp_copy_replacement_text): Same.
+ 
+ 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-lex.c (c_lex): Handle CPP_OTHER differently.
+ 	* cppexp.c (_cpp_parse_expr): Similarly.
+ 	* cpplex.c (SPELL_CHAR): Remove.
+ 	(_cpp_lex_direct): Stray chars are saved as byte strings.
+ 	(cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
+ 	handle SPELL_CHAR.
+ 	(cpp_avoid_paste): Update handling of CPP_OTHER.
+ 	* cpplib.h: Spell CPP_OTHER like a number.
+ 	(struct cpp_token): Remove member c.
+ 	* cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
+ 
+ 2003-04-22  David Turner <novalis@gnu.org>
+ 
+ 	* gbl-ctors.h: Add special license exception.
+ 	* libgcc2.h: Likewise.
+ 	* tsystem.h: Likewise.
+ 	* gcov-io.h: Likewise.
+ 
+ 2003-04-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
+ 	macro defaulting to original BRANCH_COST heuristic.
+ 	* doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
+ 
+ 	* config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
+ 
+ 2003-04-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/t-spe: Merge in t-fprules into file.
+ 
+ 	* config.gcc: Add t-spe to powerpc-eabispe.
+ 
+ 2003-04-22  Kean Johnston  <jkj@sco.com>
+ 
+ 	* tlink.c (recompile_files): Add missing '=' to putenv calls
+ 
+ 2003-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* ginclude/stddef.h: Provide C++ safe offsetof.
+ 
+ 2003-04-22  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* function.c (purge_addressof_1): In (mem (addressof (reg))) case
+ 	for reg notes, if there are no substitutions, just use a SUBREG.
+ 
+ 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (calls.o): Depend on except.h.
+ 	* calls.c: Include except.h.
+ 	(emit_call_1): Call note_eh_region_may_contain_throw if
+ 	appropriate.
+ 	* except.c (eh_region): Add may_contain_throw.
+ 	(expand_eh_region_end_cleanup): Do not include handler code when
+ 	it cannot be reached.
+ 	(note_eh_region_may_contain_throw): New function.
+ 	* except.h (note_eh_region_may_contain_throw): New function.
+ 
+ 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
+ 	changes.
+ 
+ 2003-04-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): No SPE means
+ 	64-bit long doubles.
+ 
+ 2003-04-21  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
+ 	a number of conversions required for type consistency and previously
+ 	stripped off by STRIP_NOPS.
+ 
+ 	* calls.c (expand_call): Prevent sibcall optimization for calls to
+ 	nested subprograms.
+ 
+ 	* expmed.c (extract_bit_field): Reverse operands of && condition to
+ 	prevent a potential division by zero in the previously first branch.
+ 	* config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
+ 
+ 2003-04-21  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
+ 	(subrange_type_die): Likewise.
+ 	(modified_type_die): Emit a subrange_type DIE for Ada subrange types.
+ 	(is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
+ 
+ 2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Break out coverage routines to new file.
+ 	* Makefile.in (COVERAGE_H): New variable
+ 	(C_OBJS): Add coverage.o
+ 	(coverage.o): New target.
+ 	(profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
+ 	dependencies.
+ 	(GTFILES): Adjust.
+ 	(gt-coverage.h): New target.
+ 	(gt-profile.h): Remove.
+ 	* profile.h: Remove. Move to ...
+ 	* coverage.h: ... here. New. #include gcov-io.h.
+ 	* gcov-io.h: Move function definitions to ...
+ 	* gcov-io.c: ... here. New.
+ 	* profile.c: Move coverage routines to coverage.c.
+ 	(instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
+ 	end_branch_prob): Adjust.
+ 	* coverage.c: New. Coverage routines from profile.c
+ 	(coverage_counter_ref, coverage_init, coverage_finish,
+ 	coverage_end_function, coverage_begin_output,
+ 	coverage_counter_ref, get_coverage_counts): Define.
+ 	* gcov-dump.c, gcov.c: #include gcov-io.c.
+ 	* libgcov.c: Likewise. Adjust.
+ 	* loop-init.c: Don't #include profile.h
+ 	* tracer.c, predict.c, sched-ebb.c: Adjust #includes.
+ 	* rtl.h: Add coverage prototypes.
+ 	* toplev.c (compile_file): Init coverage, not branch_prob.
+ 	Always call coverage_finish.
+ 	(rest_of_compilation): Call coverage_end_function.
+ 
+ 2003-04-21  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
+ 
+ 2003-04-21  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-ppoutput.c (cb_include): Don't take a cpp_token.
+ 	* cppfiles.c: Don't undef strcmp.
+ 	(find_include_file): Don't take a cpp_token.  Check for empty
+ 	file names.
+ 	(_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
+ 	(cpp_push_include): Simplify.
+ 	* cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
+ 	* cpplib.c (glue_header_name): Return the file name, not a cpp_token.
+ 	(parse_include): Similary.  Don't check for zero-length filenames.
+ 	(do_include_common, do_pragma_dependency): Update accordingly.
+ 	* cpplib.h (struct cpp_callbacks): Change prototype of include.
+ 
+ 2003-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
+ 	details of conflict handling.
+ 
+ 	* fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
+ 	when conversion overflows.
+ 
+ 	* stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
+ 
+ 	* expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
+ 	before clearing.
+ 
+ 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
+ 	have the same form as the old RTL.
+ 
+ 2003-04-21  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
+ 
+ 2003-04-20  Chris Lattner  <sabre@nondot.org>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
+ 	genrtl_cleanup_stmt.  Correct comment at head of
+ 	genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
+ 
+ 	* stmt.c (struct nesting): Kill n_function_calls.
+ 	(expand_start_bindings): Don't set
+ 	thisblock->data.block.n_function_calls.
+ 	(expand_end_bindings): Compare function_call_count against 0.
+ 	(expand_cleanups): Kill DONT_DO argument; all callers passed
+ 	NULL_TREE. All callers updated to match.
+ 
+ 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varasm.c (struct deferred_constant, defer_addressed_constants_flag)
+ 	(defer_addressed_constants, output_deferred_addressed_constants): Kill.
+ 	(output_constant_def): Remove code predicated on
+ 	defer_addressed_constants_flag.
+ 
+ 	* output.h: Remove prototypes of deleted functions.
+ 	* c-typeck.c (constructor_subconstants_deferred): Kill.
+ 	(struct initializer_stack): Remove 'deferred' field.
+ 	(start_init): Remove all references to the above.
+ 	(finish_init): Likewise. Also remove never-executed call to
+ 	output_deferred_addressed_constants.  Pull assignment to
+ 	defstr out of if expression.
+ 
+ 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
+ 	NOTE_NEWLINE): Remove.
+ 	* cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
+ 	to handle new form of line note type.
+ 
+ 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* target.h (encode_section_info): Add new argument carrying
+ 	the RTL to be modified by the hook.
+ 
+ 	* varasm.c (make_decl_rtl, output_constant_def): Update calls
+ 	to encode_section_info.
+ 	(default_encode_section_info): Take and use RTL argument,
+ 	don't use TREE_CST_RTL or DECL_RTL.
+ 	* output.h: Update prototype of default_encode_section_info.
+ 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME)
+ 	(ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
+ 	Update calls to encode_section_info.
+ 
+ 	* config/darwin.c, config/arm/arm.c, config/arm/pe.c
+ 	* config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
+ 	* config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
+ 	* config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
+ 	* config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
+ 	* config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
+ 	Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
+ 	except for PE dllimport/dllexport.  Update calls to
+ 	default_encode_section_info.
+ 
+ 	* config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
+ 	Update prototypes.
+ 
+ 	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
+ 
+ 2003-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR/8705
+ 	* pa.md (movccfp): New expander.
+ 	(setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
+ 	Reverse fcmp conditions.
+ 
+ 2003-04-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	* config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
+ 	of operand 1 correctly.
+ 
+ 2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
+ 	* gcov.c (output_lines): Don't be so fussy about going past EOF.
+ 
+ 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
+ 	(cppcharset.o): New target.
+ 	* c-lex.c (is_extended_char): Move to cppcharset.c.
+ 	(utf8_extend_token): Delete.
+ 	* cppcharset.c: New file.
+ 	* cpphash.h (_cpp_valid_ucn): New.
+ 	* cpplex.c (lex_identifier): Update prototype.
+ 	(continues_identifier_p): Rename forms_identifier_p.  Handle UCN
+ 	escapes.
+ 	(maybe_read_ucs): Rename maybe_read_ucn.  Update to use code
+ 	in cppcharset.c.
+ 	(lex_number, lex_identifier, cpp_parse_escape): Update.
+ 	(_cpp_lex_direct): Update to handle UCNs.
+ 	(cpp_avoid_paste): Don't paste to form a UCN.
+ 
+ 2003-04-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin):  Don't expand a pure or const
+ 	built-in function if the result will be ignored and none of
+ 	its arguments are volatile.
+ 
+ 2003-04-19  Kean Johnston  <jkj@sco.com>
+ 
+ 	* unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
+ 	* config.gcc: make SCO use dbxelf.h and elfos.h; only use one
+ 	target fragment now: t-sco5; dont compile crti.o.
+ 	* config/i386/sco5.h: major overhaul to remove all COFF remnants
+ 	and to use elfos.h for most definitions.
+ 	(BSS_SECTION_ASM_OP): set correct segment attributes.
+ 	(PREFERED_DEBUGGING_TYPE): set to DWARF-2.
+ 	(DWARF2_UNWIND_INFO): Always set to 1.
+ 	(MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
+ 	(MD_STARTFILE_PREFIX_1): Define.
+ 	(MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
+ 	(DEFAULT_LINKER): Define if not specified to configure.
+ 	(CTORS_SECTION_ASM_OP): Remove COFF crud.
+ 	(DTORS_SECTION_ASM_OP): Remove COFF crud.
+ 	(WINT_TYPE): Define.
+ 	(SDB_DEBUGGING_INFO): Remove.
+ 	(EXTRA_SECTIONS): Likewise.
+ 	(EXTRA_SECTION_FUNCTIONS): Likewise.
+ 	(CTOR_LIST_BEGIN): Likewise.
+ 	(CTOR_LIST_END): Likewise.
+ 	(INIT_SECTION_FUNCTION): Likewise.
+ 	(FINI_SECTION_FUNCTION): Likewise.
+ 	(SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
+ 	(LOCAL_LABEL_PREFIX): Likewise.
+ 	(NON_SAVING_SETJMP): Likewise.
+ 	(RETURN_POPS_ARGS): Likewise.
+ 	(ASM_OUTPUT_SKIP): Likewise.
+ 	(TARGET_ASM_NAMED_SECTION): Likewise.
+ 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ 	(ASM_OUTPUT_IDENT): Likewise.
+ 	(ASM_OUTPUT_CASE_LABEL): Likewise.
+ 	(ASM_OUTPUT_ASCII): Likewise.
+ 	(ASM_OUTPUT_LIMITED_STRING): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(ASM_FINISH_DECLARE_OBJECT): Likewise.
+ 	(ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(ASM_DECLARE_RESULT): Likewise.
+ 	(ASM_WEAKEN_LABEL): Likewise.
+ 	(SUPPORTS_WEAK): Likewise.
+ 	(APPLY_RESULT_SIZE): Likewise.
+ 	(LPREFIX): Likewise.
+ 	(ALIGN_ASM_OP): Likewise.
+ 	(ASCII_DATA_ASM_OP): Likewise.
+ 	(IDENT_ASM_OP): Likewise.
+ 	(ASM_SHORT): Likewise.
+ 	(ASM_LONG): Likewise.
+ 	(TYPE_ASM_OP): Likewise.
+ 	(SIZE_ASM_OP): Likewise.
+ 	(STRING_ASM_OP): Likewise.
+ 	(SKIP_ASM_OP): Likewise.
+ 	(EH_FRAME_SECTION_ASM_OP): Likewise.
+ 	(READONLY_DATA_SECTION_ASM_OP): Likewise.
+ 	(INIT_SECTION_ASM_OP): Likewise.
+ 	(FINI_SECTION_ASM_OP): Likewise.
+ 	(TEXT_SECTION_ASM_OP): Likewise.
+ 	(DATA_SECTION_ASM_OP): Likewise.
+ 	(TYPE_OPERANT_FORMAT): Likewise.
+ 	(ASM_SPEC): Remove COFF code.
+ 	(STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
+ 	cause -pg to emit an error; use pcrt1elf.o with -pp
+ 	(ENDFILE_SPEC): Likewise.
+ 	(TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
+ 	(CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
+ 	(LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
+ 	add -z alt_resolve to support weak symbols the way GCC wants them.
+ 	(LIB_SPEC): Use the profiler libraries in -p or -pp mode.
+ 	(LIBGCC_SPEC): Dont use -lgcc in -G mode.
+ 	(ASM_PREFERED_EH_DATA_FORMAT): Remove.
+ 	* config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
+ 	(CRTSTUFF_T_CFLAGS_S): Define.
+ 	(MULTILIB_OPTIONS): Likewise.
+ 	(MULTILIB_DIRNAMES): Likewise.
+ 	(MULTILIB_MATCHES): Likewise.
+ 	(MULTILIB_EXTRA_OPTS): Likewise.
+ 	(LIBGCC): Likewise.
+ 	(INSTALL_LIBGCC): Likewise.
+ 	(crti.o): Remove.
+ 	* config/i386/t-sco5gas: Remove.
+ 	* doc/install.texi: Updated for new OpenServer instructions.
+ 	* testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
+ 
+ 2003-04-19  Kean Johnston  <jkj@sco.com>
+ 
+ 	* fixinc/check.tpl: Allow user to over-ride diff program.
+ 	* fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
+ 	(sco_math): Added test for SCO math header files.
+ 	(sco_regset): Added check for conflicts with ieeefp.h.
+ 	(svr4_disable_opt): Removed extraneous #ifdef SVR4.
+ 	* fixinc/fixincl.x: Regenerated
+ 	* fixinc/tests/base/math.h: Added sco_math tests.
+ 	* fixinc/tests/base/string.h: New file.
+ 	* fixinc/tests/base/sys/regset.h: New file.
+ 
+ 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (struct cpp_buffer): Remove backup_to.
+ 	* cpplex.c (BACKUP, get_effective_char): Die.
+ 	(_cpp_skip_block_comment): Assume '*' is location on entry.
+ 	(continues_identifier_p): Respect -fno-dollars-in-identifiers.
+ 	(IF_NEXT_IS): Update.
+ 	(_cpp_lex_direct): Don't use backup_to; look ahead directly.
+ 
+ 2003-04-19  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* README.Portability: Move to a new section and obsolete K+R
+ 	portability issues.
+ 
+ Sat Apr 19 14:56:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtlanal.c (subreg_offset_representable_p):  Fix call of
+ 	subreg_lowpart.
+ 
+ 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpphash.h (struct cpp_reader): New member warned_dollar.
+ 	* cpplex.c (continues_identifier_p): New function.
+ 	(parse_identifier, parse_number, parse_string): Rename lex_identifer,
+ 	lex_number and lex_string, and simplify.
+ 	(parse_slow, unescaped_terminator_p): Die.
+ 	(_cpp_lex_direct): Update.
+ 
+ 2003-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* calls.c (expand_call): Provide init for old_stack_pointer_delta.
+ 
+ 2003-04-19  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
+ 	fork behavior.
+ 
+ 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppexp.c (eval_token): Permit true and false even if pedantic.
+ 
+ 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
+ 
+ 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
+ 	MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
+ 	(struct include_file): Remove fefcnt, mapped members.
+ 	(open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
+ 	(read_include_file): Don't use mmap, terminate buffers in '\r'.
+ 	(purge_cache): Don't use munmap.
+ 	* cpphash.h (CPP_BUF_COLUMN): Update.
+ 	(lexer_state): Remove lexing_comment.
+ 	(struct _cpp_line_note): New.
+ 	(struct cpp_buffer): New members cur_note, notes_used, notes_cap,
+ 	next_line and need_line.  Remove col_adjust and saved_flags.
+ 	(_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
+ 	_cpp_skip_block_comment, scan_out_logical_line): New.
+ 	(_cpp_init_mbchar): Remove.
+ 	* cppinit.c (init_library): Remove call to _cpp_init_mbchar.
+ 	(cpp_read_main_file): Set line to 1 earlier.
+ 	(post_options): -traditional-cpp doesn't want trigraphs.
+ 	* cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
+ 	(add_line_note, _cpp_clean_line, _cpp_process_line_notes,
+ 	_cpp_get_fresh_line): New.
+ 	(handle_newline, skip_escaped_newlines, trigraph_p,
+ 	continue_after_nul, _cpp_init_mbchar): Remove.
+ 	(get_effective_char): Update.
+ 	(_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
+ 	(skip_line_comment): Simplify.
+ 	(skip_whitespace, parse_identifier, parse_slow, parse_number,
+ 	parse_string): Update.
+ 	(cpp_lex_direct): Use clean lines and process line notes.  Update.
+ 	(cpp_interpret_charconst): No MULTIBYTE_CHARS.
+ 	* cpplib.c (prepare_directive_trad): Call scan_out_logical_line
+ 	directly.
+ 	(_cpp_handle_directive): Don't set saved_flags.
+ 	(run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
+ 	cpp_undef, handle_assertion, cpp_push_buffer): Update.
+ 	(_cpp_pop_buffer): Free notes.
+ 	* cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
+ 	* cpppch.c (cpp_read_state): \n terminate buffer.
+ 	* cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
+ 	(copy_comment): Use _cpp_skip_block_comment.
+ 	(skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
+ 	Simplify.
+ 	(_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
+ 	save_replacement_text): Update.
+ 	(scan_out_logical_line): Update to use clean lines and process
+ 	line notes.
+ 	* fix-header.c (read_scan_file): Update.
+ 
+ 2003-04-18  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* unwind-dw2-fde.c (__register_frame_info_bases): Check for
+ 	null begin parameter (as well as pointer to null).
+ 	(__deregister_frame_info_bases): Likewise.
+ 
+ 2003-04-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
+ 	hard or virtual register and copy into pseudo if replacement fails.
+ 
+ 	* cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
+ 
+ 	* expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
+ 
+ 2003-04-18  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* calls.c (expand_call): Move special case for constructor calls
+ 	to right place. Ensures constructor calls used to initialize
+ 	arguments get a clean outgoing argument block for themselves.
+ 	Move check for stack deallocation completeness until after last
+ 	deallocation.  Add stack_pointer_delta to set of state
+ 	variables saved and restored along with current stack_level.
+ 
+ 	* integrate.c (expand_inline_function): Ensure non-const actuals
+ 	don't end up const in the caller's flow after conversion to possibly
+ 	const formal type.
+ 
+ 2003-04-18  Vincent Celier  <celier@gnat.com>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
+ 	and *_DIV_EXPR as TRUNC_*_EXPR.
+ 
+ 2003-04-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
+ 	for orphaned jump tables.
+ 
+ 2003-04-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c: Revert my previous patch on 2002-04-17.
+ 
+ 2003-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
+ 	Add Segher Boessenkool.
+ 
+ 2003-04-18  Alexander Sotirov  <sluncho@mirizma.org>
+ 
+ 	PR c/9177
+ 	* c-decl.c (c_expand_body): Don't garbage collect the function
+ 	body if we are going to dump it later.
+ 
+ 2003-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
+ 	(alpha_end_function): Don't set them.
+ 	(decl_in_text_section): Remove.
+ 	(alpha_encode_section_info): Remove.
+ 	(samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
+ 	(direct_call_operand): Use SYMBOL_REF_DECL and compare actual
+ 	sections, rather than decl_in_text_section results.
+ 
+ 2003-04-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
+ 	and SIGN_EXTRACT.
+ 
+ 2003-04-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/7675
+ 	* c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
+ 	on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
+ 	nested functions if they refer to declarations from parent functions.
+ 	* stmt.c (expand_decl): Don't put automatic variables in registers
+ 	if the DECL_NONLOCAL flag is set.
+ 
+ 2003-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* gcse.c (compute_ld_motion_mems): For MEM destinations, only
+ 	consider those to be movable where the source matches
+ 	want_to_gcse_p.
+ 	(update_ld_motion_stores): In comment, refer to
+ 	compute_ld_motion_mems for validity of replacement.
+ 
+ Fri Apr 18 01:28:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcov-dump.c (tag_summary): Remove max_sum
+ 	* gcov-io.h (gcov_summary, gcov_write_summary,
+ 	gcov_read_summary): Kill max_sum.
+ 	* libgcov.c (gcov_exit): Do one pass over the data.  Make error
+ 	message more verbose.
+ 
+ 	* emit-rtl.c (subreg_hard_regno):  Check that register is
+ 	representable.
+ 
+ 	* reload.c (reload_inner_reg_of_subreg):  When register is not
+ 	representable, reload the whole thing.
+ 	(find_reloads): Likewsie.
+ 	* rtlanal.c (subreg_representable_p):  New function.
+ 
+ 	* profile.c (compute_branch_probabilities):  Cleanup sanity checking;
+ 	allow negative probabilities for edges from the call to exit.
+ 	(branch_prob): Do not add fake edges for functions that may return
+ 	twice.
+ 
+ 2003-04-17  DJ Delorie  <dj@redhat.com>
+ 
+ 	* toplev.c (target_options): Add value field.
+ 	(set_target_switch): Handle target options with	values.
+ 	* doc/tm.texi: Document how fixed vs variable target
+ 	options work.
+ 	* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
+ 	config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
+ 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
+ 	config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
+ 	config/m32r/m32r.h, config/m68hc11/m68hc11.h,
+ 	config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
+ 	config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
+ 	config/rs6000/rs6000.h, config/rs6000/sysv4.h,
+ 	config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
+ 	Add value initializer to target options.
+ 
+ 2003-04-07  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* cpppch.c (cpp_valid_state): Unconditionally initialize nl.
+ 
+ 2003-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (move2add_last_cc0): New.
+ 	(reload_cse_move2add): Detect implicit sets.
+ 	(move2add_note_store): Notice a store into cc0.
+ 
+ 2003-04-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/10375
+ 	* c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
+ 	function attributes.
+ 
+ 2003-04-17  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/sourcebuild.texi (Test Suites): Document support for testing
+ 	binary compatibility (moved from testsuite/README.compat).
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
+ 
+ 2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
+ 
+ 	* doc/include/gpl.texi: Fix double-spacing after "MA" to match
+ 	the one provided by the FSF.
+ 
+ 2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Binaries): Update URL and list of platforms
+ 	provided by ftp.thewrittenword.com.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
+ 	(call_insn_operand): Use SYMBOL_REF_LOCAL_P.
+ 	* config/xtensa/xtensa.md (call, call_value): Likewise.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
+ 	(print_operand_address): Likewise.
+ 	(ep_memory_operand): Likewise.
+ 	(special_symbolref_operand): Likewise.
+ 	(v850_encode_data_area): Use SYMBOL_REF_FLAGS.
+ 	(v850_encode_section_info): Call default_encode_section_info.
+ 	(v850_strip_name_encoding): Remove.
+ 	* config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
+ 	(ASM_OUTPUT_LABELREF): Remove.
+ 	(ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
+ 	(SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
+ 	(TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
+ 	(ENCODED_NAME_P): Remove.
+ 	(SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
+ 	(SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
+ 	(SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
+ 	* config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
+ 	SYMBOL_REF_FUNCTION_P.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_encode_section_info): Remove.
+ 	(data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
+ 	(text_segment_operand): Likewise.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
+ 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ 	(legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
+ 	(sh_encode_section_info): Remove.
+ 	(sh_strip_name_encoding): Remove.
+ 	* config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
+ 	(DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
+ 	(SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
+ 	(ASM_OUTPUT_LABELREF): Remove.
+ 	(ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
+ 	* config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
+ 	(tls_model_chars): Remove.
+ 	(larl_operand): Use SYMBOL_REF_FLAGS.
+ 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ 	(legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
+ 	(s390_output_mi_thunk): Likewise.
+ 	(s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
+ 	(s390_function_profiler): Likewise.
+ 	(s390_encode_section_info): Use default_encode_section_info
+ 	and SYMBOL_FLAG_ALIGN1.
+ 	(s390_strip_name_encoding): Remove.
+ 	* config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
+ 	* config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
+ 	(builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
+ 	(global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
+ 	(print_operand_address): Likewise.
+ 
+ 	* config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
+ 	* config/ns32k/ns32k.c (expand_block_move): Don't check
+ 	flag_unroll_loops.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mcore/mcore.c (mcore_encode_section_info): Don't set
+ 	SYMBOL_REF_FLAG.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
+ 
+ 	* config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
+ 	(SYMBOL_REF_MODEL): New.
+ 	(LIT_NAME_P): Move from m32r.h.
+ 	(m32r_select_section): Remove.
+ 	(m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
+ 	(m32r_strip_name_encoding): Remove.
+ 	(m32r_in_small_data_p): New.
+ 	(small_data_operand): Use SYMBOL_REF_SMALL_P.
+ 	(addr24_operand): Use SYMBOL_REF_MODEL.
+ 	(call26_operand): Likewise.
+ 	(addr32_operand): Tidy.
+ 	(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+ 	* config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
+ 	(SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
+ 	(READONLY_DATA_SECTION_ASM_OP): Remove.
+ 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
+ 	(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
+ 	(TARGET_ASM_SELECT_SECTION): Remove.
+ 	(SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
+ 	(SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
+ 	(LARGE_NAME_P, ENCODED_NAME_P): Remove.
+ 	(ASM_OUTPUT_LABELREF): Remove.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
+ 	(encode_section_info): Remove.
+ 	* config/ip2k/ip2k-protos.h: Update.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (default_encode_section_info): Don't set
+ 	SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
+ 	* config/i370/i370.c (i370_encode_section_info): Remove.
+ 	* config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
+ 	(PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
+ 	* config/i370/i370.md (movsi): Likewise.
+ 
+ 	* config/i370/t-i370: Add missing backslash.
+ 
+ 2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (inline-limit): Fix pasto.
+ 
+ 2003-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
+ 	(small_call_insn_operand): Use it.
+ 	(SYMBOL_FLAG_EIGHTBIT_DATA): New.
+ 	(h8300_eightbit_constant_address_p): Use it.
+ 	(SYMBOL_FLAG_TINY_DATA): New.
+ 	(h8300_tiny_constant_address_p): Use it.
+ 	(h8300_encode_label, h8300_strip_name_encoding): Remove.
+ 	(h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
+ 	* config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
+ 	(ASM_OUTPUT_LABELREF): Remove.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
+ 	all users with SYMBOL_REF_SMALL_P.
+ 	(const_small_data_p): Use SYMBOL_REF_SMALL_P.
+ 	(frv_encode_section_info): Remove.
+ 	(frv_strip_name_encoding): Remove.
+ 	(frv_in_small_data_p): Merge tests from encode_section_info.
+ 	(frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
+ 	* config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
+ 	(SDATA_NAME_P): Remove.
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
+ 	(ASM_OUTPUT_LABELREF): Remove.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
+ 
+ 	* config/frv/frv.c (frv_asm_out_constructor): New.
+ 	(frv_asm_out_destructor): New.
+ 	* config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
+ 	(DTORS_SECTION_ASM_OP): New.
+ 	(ASM_OUTPUT_CONSTRUCTOR): Remove.
+ 	(ASM_OUTPUT_DESTRUCTOR): Remove.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
+ 	SYMBOL_REF_LOCAL_P; abort if not pic.
+ 	(cris_encode_section_info): Remove.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/c4x/c4x.c (c4x_encode_section_info): Remove.
+ 	(c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
+ 
+ 	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
+ 	flag_inline_trees.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/avr/avr.c (avr_encode_section_info): Remove.
+ 	(avr_insert_attributes): New.
+ 	(print_operand_address): Use SYMBOL_REF_FUNCTION_P.
+ 	(avr_assemble_integer): Likewise.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* arc.c (arc_encode_section_info): Remove.
+ 	(arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
+ 	(arc_print_operand, arc_print_operand_address): Likewise.
+ 	* arc.h (EXTRA_CONSTRAINT): Likewise.
+ 
+ 2003-04-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-semantics.c (find_reachable_label): New function to find a
+ 	potentially reachable label in an expression.
+ 	(expand_unreachable_if_stmt): Similar to expand_if_stmt but
+ 	assumes the start of the IF_STMT is unreachable (dead) code.
+ 	(expand_unreachable_stmt): Similar to expand_stmt but assumes
+ 	the start of the statement list is unreachable (dead) code.
+ 	(genrtl_if_stmt):  If the controlling expression of the IF
+ 	is constant, use expand_unreachable_stmt for the THEN or ELSE
+ 	clause as appropriate.
+ 	(genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
+ 	the body of a SWITCH statement.
+ 	(expand_stmt): The code immediately following a "return",
+ 	"break", "continue" or "goto" is unreachable.
+ 	* Makefile.in (c-semantics.o): Depend upon tree-inline.h.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (MEM_ALIAS_SET): Update documentation.
+ 	* doc/rtl.texi (Special Accessors): New node.
+ 	(SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
+ 
+ 2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload1.c (reload_cse_noop_set_p): Return false if mode of
+ 	SET_DEST is not the same as that returned by...
+ 	* cselib.h (cselib_reg_set_mode): ... new function.
+ 	* cselib.c (cselib_reg_set_mode): Define it.
+ 	(REG_VALUES): Document semantics of first element as set mode.
+ 	(cselib_subst_to_values): Skip first element if ELT is NULL.
+ 	(cselib_lookup): Likewise.  Insert past the first element.
+ 	(cselib_invalidate_regno): NULLify first element.
+ 	(cselib_record_set): Set first element.
+ 
+ 2003-04-16  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
+ 	(save_expr): Replace loop by call to skip_simple_arithmetics_at.
+ 	* tree.h: Add prototypes for the two new functions.
+ 	* fold-const.c (fold_binary_op_with_conditional_arg): Replace test
+ 	updates introduced in the previous revision by call to saved_expr_p.
+ 	* stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
+ 
+ 	* expr.c (store_field): Force usage of bitfield instructions when
+ 	the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
+ 	(expand_expr, case BIT_FIELD_REF): likewise.
+ 
+ 2003-04-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR middle-end/8866
+ 	* cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
+ 	jumptables.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (sdata_symbolic_operand): Use
+ 	SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
+ 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ 	(function_operand): Use SYMBOL_REF_FUNCTION_P.
+ 	(ia64_expand_load_address): Likewise.
+ 	(ia64_assemble_integer): Likewise.
+ 	(ia64_encode_section_info): Remove.
+ 	(ia64_strip_name_encoding): Remove.
+ 	* config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
+ 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
+ 
+ 2003-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
+ 	(samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
+ 	(direct_call_operand): Use SYMBOL_FLAG_NEAR.
+ 	(local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
+ 	(small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
+ 	(global_symbolic_operand): Similarly.
+ 	(tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
+ 	(tls_symbolic_operand_type): Likewise.
+ 	(alpha_encode_section_info): Use default_encode_section_info.
+ 	(alpha_strip_name_encoding): Remove.
+ 	(get_tls_get_addr): Split out from ...
+ 	(alpha_legitimize_address): ... here.
+ 	(alpha_emit_xfloating_libcall): Use init_one_libfunc.
+ 	(get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
+ 	(alpha_initialize_trampoline): Use init_one_libfunc.
+ 	(alpha_setup_incoming_varargs): Mark unused parameters.
+ 	(alpha_initial_elimination_offset): Likewise.
+ 	(alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
+ 	(unicosmk_unique_section): Use default_strip_name_encoding.
+ 	(unicosmk_ssib_name, unicosmk_output_externs): Likewise.
+ 
+ 2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Add t-spe for eabispe.
+ 
+ 	* config/rs6000/t-spe: New.
+ 
+ 2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	Re-apply this patch:
+ 
+ 	2002-05-16  Dale Johannesen  <dalej@apple.com>
+ 	  * combine.c (cant_combine_insn_p):  Reenable combinations
+ 	  involving hard regs unless CLASS_LIKELY_SPILLED_P.
+ 
+ 2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR/10271
+ 	* pa-protos.h (function_arg): Remove last argument.
+ 	* pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
+ 	* pa.h (struct hppa_args): Add member incoming.
+ 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
+ 	member incoming.
+ 	(FUNCTION_ARG): Revise call to function_arg.
+ 	(FUNCTION_INCOMING_ARG): Delete.
+ 
+ 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Unify the code which creates symlinks to a
+ 	just-built as, ld, objdump, and nm with the code that detects
+ 	their presence for purposes of feature tests.
+ 	* configure: Regenerate.
+ 
+ 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varasm.c (output_constant_def): Do not consult
+ 	CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
+ 	(after_function_constants, output_after_function_constants): Delete.
+ 	* doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
+ 	* config/mips/mips-protos.h, config/mips/mips.c
+ 	(mips16_constant_after_function_p): Delete.
+ 	* config/mips/mips.h: Delete #if-0-ed definition of
+ 	CONSTANT_AFTER_FUNCTION_P.
+ 	* config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
+ 	mention of CONSTANT_AFTER_FUNCTION_P in comment.
+ 
+ 2003-04-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree.c (next_decl_uid): Mark with GTY.
+ 	(next_type_uid): Likewise.
+ 
+ 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR target/9594:
+ 	* sh.c (barrier_align): Also recognize stuff_delay_slot as
+ 	an indicator that a barrier was created by branch splitting.
+ 
+ 2003-04-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-decl.c (implicitly_declare): Copy declarations that are going
+ 	to be placed in a local scope.
+ 
+ 2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
+ 
+ 	* invoke.texi (Spec Files): Wrap if-exists-else example.
+ 	(MCore): Remove duplicate @itemx entries and @opindex entries.
+ 
+ 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* unwind.inc (_Unwind_Backtrace): New function.
+ 	* unwind.h (_Unwind_Backtrace): Declare it.
+ 	* libgcc-std.ver (_Unwind_Backtrace): Export it.
+ 
+ 2003-04-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/10336, c++/10401
+ 	* jump.c (never_reached_warning): Also stop looking if we reach the
+ 	beginning of the function.
+ 
+ 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR target/10338
+ 	PR bootstrap/10198
+ 	PR bootstrap/10140
+ 	* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
+ 
+ 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
+ 
+ 2003-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* optabs.c (expand_binop): In multi-word add cases, ensure
+ 	XTARGET is copied to TARGET if they are different.
+ 
+ 2003-04-15  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* except.c (resolve_fixup_regions): Avoid dereferencing null pointer
+ 	to region, possible after integration of function with unreachable
+ 	regions that were optimized away.
+ 
+ 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
+ 	instead of TOC_REGISTER in epilogue in
+ 	current_function_calls_eh_return functions.
+ 
+ 2003-04-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/extend.texi (Empty Structures): Correct description of G++'s
+ 	handling of these structures.
+ 
+ 	* c-decl.c (grokdeclarator): Reject extern redeclarations of
+ 	static variables.
+ 
+ 2003-04-14  Janis Johnson  <janis287@us.ibm.com>
+ 
+ 	* config/rs6000/rs6000.md (define_constants): Define constants for
+ 	all UNSPEC usage, including new values for TLS support.
+ 	(aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
+ 	load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
+ 	load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
+ 	macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
+ 	stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
+ 	eh_set_lr_di): Use them.
+ 	* rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
+ 	rs6000_emit_epilogue) Use them.
+ 
+ 	* rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
+ 
+ 2003-04-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-opts.o): Use custom action.
+ 
+ 2003-04-14  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): Fail on BLKmode move.
+ 
+ 2003-04-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
+ 	handle "superflat arrays" in Ada.
+ 
+ 	* integrate.c (expand_inline_function): Don't inline if would
+ 	lose /u on a BLKmode TARGET.
+ 
+ 2003-04-14  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dbxout.c (print_int_cst_bounds_in_octal_p): New function,
+ 	extracted from dbxout_type.
+ 	(dbxout_range_type): print large bounds in octal format.
+ 	(dbxout_type): Replace extracted code by call to
+ 	print_int_cst_bounds_in_octal_p.
+ 
+ 	* dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
+ 	of DW_LANG_Ada83 for Ada units.
+ 
+ 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* explow.c (round_push): Use HOST_WIDE_INT instead of int for the
+ 	temporary used to round CONST_INT sizes.
+ 
+ 	* tree.c (int_fits_type_p): Extract generic checks from the case
+ 	of constant type bounds. Refine the checks against constant type
+ 	bounds to allow for possible decisions against each of these bounds
+ 	without requiring both bounds to be constant.
+ 	(tree_int_cst_msb): Put back.
+ 	* tree.h (tree_int_cst_msb): Likewise.
+ 
+ 	* global.c (global_conflicts): Prevent allocation of call clobbered
+ 	hard regs to pseudos live across abnormal edges, as later passes are
+ 	not ready to handle them.
+ 
+ 	* fold-const.c (fold): Reorder tests for conditional expressions.
+ 
+ 	* expr.c (highest_pow2_factor): Return unsigned.
+ 	* expr.h (offset_address): Likewise.
+ 	* emit-rtl.c (offset_address): POW2 argument now unsigned.
+ 
+ 2003-04-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_strlen):  Evaluate the lengths of
+ 	string literals at compile-time.
+ 
+ 2003-04-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
+ 	comparison operation and c1/c2 are floating point constants into
+ 	x swap(cmp) (c1 - c2).
+ 
+ 2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (output_translate_vect): Fix a typo in loop
+ 	condition.
+ 
+ 2003-04-14  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/10377
+ 	* config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
+ 	("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
+ 	("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
+ 	("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
+ 	("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
+ 	("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
+ 	("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
+ 	("*extopqihi_swap_side", "*extopqisi_swap_side")
+ 	("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
+ 	When next to constraint R, replace constraint i with n.
+ 
+ Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/10024
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
+ 
+ 2003-04-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
+ 
+ 	* doc/contrib.texi (Contributors): Correct my entry.
+ 
+ 2003-04-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.h (DECL_BUILT_IN_NONANSI): Remove.
+ 	* c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
+ 	* c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
+ 	implies DECL_BUILT_IN to simplify logic.
+ 	* print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
+ 
+ 2003-04-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
+ 	(BT_FN_PTR_SIZE_SIZE): Likewise.
+ 	* builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
+ 	New built-in functions for malloc, calloc and strdup respectively.
+ 	* calls.c (special_function_p): No need to handle malloc-like
+ 	functions any longer.  ECF_MALLOC is set via built-in attributes.
+ 
+ 	* c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
+ 
+ 	* doc/extend.texi: Document these new built-in functions.
+ 
+ 2003-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
+ 	(expand_builtin_stpcpy): New.
+ 	(expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
+ 	* builtins.def: Add mempcpy & stpcpy support.
+ 	* doc/extend.texi (mempcpy, stpcpy): Document new builtins.
+ 
+ 2003-04-13  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
+ 	"GCC".
+ 	* config/rs6000/40x.md, config/rs6000/603.md,
+ 	config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
+ 	config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
+ 	config/rs6000/aix3newas.h, config/rs6000/aix41.h,
+ 	config/rs6000/aix43.h, config/rs6000/aix51.h,
+ 	config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
+ 	config/rs6000/altivec.h, config/rs6000/altivec.md,
+ 	config/rs6000/beos.h, config/rs6000/darwin.h,
+ 	config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
+ 	config/rs6000/eabisim.h, config/rs6000/eabispe.h,
+ 	config/rs6000/freebsd.h, config/rs6000/gnu.h,
+ 	config/rs6000/host-darwin.c, config/rs6000/linux.h,
+ 	config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
+ 	config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
+ 	config/rs6000/netbsd.h, config/rs6000/power4.md,
+ 	config/rs6000/rios1.md, config/rs6000/rios2.md,
+ 	config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
+ 	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
+ 	config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
+ 	config/rs6000/spe.md, config/rs6000/sysv4.h,
+ 	config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
+ 	config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
+ 
+ 2003-04-13  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
+ 	support for -mcall-aix switch.
+ 	* config/rs6000/eabiaix.h: Delete.
+ 	* config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
+ 	(RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
+ 	RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
+ 	* config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
+ 	debug_stack_info, output_function_profiler,
+ 	rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
+ 	* config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
+ 	call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
+ 	call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
+ 	sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
+ 	* config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
+ 	multilibs.
+ 	(MULTILIB_DIRNAMES): Remove mcall-aix directories.
+ 	(MULTILIB_EXCEPTIONS): Delete.
+ 	(MULTILIB_MATCHES): Remove mcall-aix matches.
+ 
+ 	* doc/fragments.texi: Replace -mcall-aix example with an ARM
+ 	one.
+ 	* doc/install.texi: Delete powerpc-*-eabiaix target.
+ 	* doc/invoke.texi: Remove documentation of mcall-aix switch.
+ 	* doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
+ 	* config.gcc: Delete powerpc-*-eabiaix target.
+ 
+ 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Fix typos.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
+ 
+ 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c (build_constructor): New function.
+ 	* tree.h: Prototype it.
+ 
+ 	* c-typeck.c (build_c_cast, pop_init_level)
+ 	* profile.c (build_function_info_value, build_gcov_info_value)
+ 	(create_profiler):
+ 	Use build_constructor.
+ 
+ 	* builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
+ 
+ 	* objc/objc-act.c (build_constructor):
+ 	Rename objc_build_constructor. Use build_constructor.
+ 	(build_objc_string_object, objc_add_static_instance)
+ 	(init_def_list, init_objc_symtab, init_module_descriptor)
+ 	(generate_static_references, build_selector_translation_table)
+ 	(build_descriptor_table_initializer, generate_descriptor_table)
+ 	(build_protocol_initializer, build_ivar_list_initializer)
+ 	(generate_ivars_list, build_dispatch_table_initializer)
+ 	(generate_dispatch_table, generate_protocol_list)
+ 	(build_category_initializer, build_shared_structure_initializer):
+ 	Update to match.
+ 
+ 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11-protos.h
+ 	(m68hc11_eq_compare_operator): Declare
+ 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
+ 	* config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
+ 	(d_register_operand): Check the operand mode.
+ 	(hard_addr_reg_operand): Likewise.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
+ 	pattern for dbcc/ibcc generation for 68HC12.
+ 	("doloop_end"): New pattern.
+ 	("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
+ 	("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
+ 	("m68hc12_dbcc_dec_qi"): New pattern.
+ 	("m68hc12_dbcc_inc_qi"): New pattern.
+ 	(split): Add split for the above when we can't use dbcc/ibcc due to
+ 	reloading.
+ 	(peephole2): Add peephole2 to generate the above when possible.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
+ 	mode of operand 0.
+ 	(peephole2 optimize const load): Likewise for operand 2.
+ 	("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
+ 	clobbers CC_REGNUM.
+ 	("*rotrhi3_with_carry"): Likewise.
+ 	(ashift:DI 1 split): Update pattern to create the above rotate.
+ 	(lshiftrt:DI 1 split): Likewise.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
+ 	("tstqi_z_used" split): Use it.
+ 	("cmphi_z_used"): Likewise.
+ 	("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
+ 	("cmpqi_z_used"): Likewise.
+ 
+ 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/7910
+ 	* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
+ 
+ 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Check for wchar.h, mbstowcs, and wcswidth.
+ 	* configure, config.in: Regenerate.
+ 	* intl.c (gcc_gettext_width): New function.
+ 	* intl.h: Prototype it.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
+ 	recognize -mnorelax.
+ 	(reg_class): Add Z_OR_S_REGS to represent soft registers with Z
+ 	(REG_CLASS_NAMES): Add its name.
+ 	(REG_CLASS_CONTENTS): Define its content.
+ 
+ 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
+ 	parameters so that offsets are valid for far definition.
+ 	(__mulsi3): Likewise and use ret to return.
+ 	(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
+ 
+ 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
+ 
+ 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* mklibgcc.in (libgcc-stage-start): For every multilib  directory
+ 	containing a libgcc.a, move lib* to the corresponding stage dir.
+ 
+ 	* Makefile.in (stage1-start, stage2-start, stage3-start,
+ 	stage4-start): Move $(SPECS) to specs in stage dir.
+ 	(unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
+ 	back as $(SPECS).
+ 
+ 	* mklibgcc.in (libgcc-stage-start): Move into the stage directory
+ 	object files from the non-libgcc/ multilib directories as well.
+ 
+ 2003-04-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* profile.c (read_counts_file): Initialise 'checksum'.
+ 
+ 	* emit-rtl.c (gen_rtx): Really correct typo.
+ 
+ 	PR c++/9393
+ 	* doc/invoke.texi (Debugging Options): Document -frandom-seed.
+ 	* configure.in: Check for gettimeofday.
+ 	* tree.c (flag_random_seed): Define.
+ 	(default_flag_random_seed): New.
+ 	(append_random_chars): Use flag_random_seed rather than trying
+ 	to acquire randomness here.
+ 	* tree.h (default_flag_random_seed): Declare.
+ 	* toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
+ 	descriptions.
+ 	(decode_f_option): Handle -frandom-seed.
+ 	(print_switch_values): Call default_flag_random_seed.
+ 	* flags.h (flag_random_seed): Declare.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 	* config/alpha/t-crtfm: Use -frandom-seed.
+ 
+ 	* doc/extend.texi (Empty Structures): New.
+ 
+ 	* c-pch.c: Include flags.h.  Add comments to routines.
+ 	(struct c_pch_validity): New.
+ 	(get_ident): Update PCH file version number.
+ 	(pch_init): Output current debugging type.
+ 	(c_common_valid_pch): Check debugging type.
+ 	* Makefile.in (c-pch.o): Update dependencies.
+ 	* flags.h (debug_type_names): Declare.
+ 	* toplev.c (debug_type_names): Move out of decode_g_option.
+ 
+ 2003-04-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* emit-rtl.c (gen_rtx): Fix typos.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (gen_rtx): Zero '0' fields.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/10202
+ 	* expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
+ 	not COMPLETE_TYPE_P for re-invoking layout_decl.
+ 
+ 2003-04-11  Simon Law  <sfllaw@engmail.uwaterloo.ca>
+ 
+ 	* doc/bugreport.texi: Fix paragraph breaking between sections
+ 	in preparation for TeXinfo's paragraph indentation fixes.
+ 	* doc/extend.texi: Ditto.
+ 	* doc/invoke.texi: Ditto.
+ 	* doc/objc.texi: Ditto.
+ 	* doc/gcov.texi: Wrap 'gcov' in @command{}.
+ 	* doc/invoke.texi (Darwin Options): Add a preamble.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (tls_model_chars): Remove.
+ 	(ix86_encode_section_info, ix86_strip_name_encoding): Remove.
+ 	(local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
+ 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
+ 	(tls_symbolic_operand_1): Likewise.
+ 	(legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
+ 	* config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
+ 	(TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
+ 	* config/i386/winnt.c (i386_pe_encode_section_info): Replace
+ 	bits "copied from i386.h" with default_encode_section_info.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.def (SYMBOL_REF): Add two 0 fields.
+ 	* gengtype.c (adjust_field_rtx_def): Handle them.
+ 	* print-rtl.c (print_rtx): Print them.
+ 	* rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
+ 	(SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
+ 	(SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
+ 	(SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
+ 	(SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
+ 	(SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
+ 	(SYMBOL_FLAG_MACH_DEP): New.
+ 	* optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
+ 	* varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
+ 	(assemble_static_space): Set SYMBOL_REF_FLAGS.
+ 	(assemble_trampoline_template): Likewise.
+ 	(output_constant_def, force_const_mem): Likewise.
+ 	(default_encode_section_info): New.
+ 	* output.h: Declare it.
+ 	* target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
+ 	(setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
+ 	* optabs.c (init_optabs): Initialize them.
+ 	(init_libfuncs): Use init_one_libfunc.
+ 	* calls.c (expand_call): Use gcov_flush_libfunc.
+ 	* expr.c (store_constructor): Use setbits_libfunc.
+ 	* function.c (expand_main_function): Use init_one_libfunc.
+ 	* profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
+ 
+ 2003-04-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
+ 	documentation; add DECL_FRIEND_CONTEXT.
+ 
+ 2003-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* doc/install.texi (hppa): Update links for HP-UX patches.  Revise
+ 	notes on linker selection and configuration for 64-bit HP-UX port.
+ 	* doc/invoke.texi (hppa): Remove hppa text from description for
+ 	-ffunction-sections and -fdata-sections.  Document -static, -nolibdld
+ 	and -threads options.
+ 
+ 	* pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
+ 	libc.a on libdld.sl when -static is specified and -nolibdld is not
+ 	specified.
+ 	* pa64-hpux.h (LIB_SPEC): Likewise.
+ 	* pa-hpux11.h (LIB_SPEC): Likewise.
+ 	(LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
+ 	is not specified.
+ 
+ 2003-04-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
+ 	not IDENTIFIER_LOCAL_VALUE.
+ 
+ 2003-04-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/10201
+ 	* expr.c (expand_expr): Move DECL_RTL frobbing ...
+ 	* stor-layout.c (layout_decl): ... here.
+ 
+ 2003-04-11  James A. Morrison <ja2morri@uwaterloo.ca>
+ 
+ 	* doc/invoke.texi: Eliminate extra white-space caused by
+ 	@gccoptlist{ on its own line.
+ 	* doc/invoke.texi: Ensured there are two spaces between each option.
+ 	* doc/invoke.texi: Re-wrapped option lines that were too wide.
+ 	Added @gol to options that didn't have them.
+ 
+ 2003-04-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (loop-init.o): Do not depend on gcov-io.h,
+ 	gcov-iov.h.
+ 
+ 	Simplify interface to gcov reading and writing.
+ 	* gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
+ 	gcov_alloc, gcov_modified, gcov_errored): Move into ...
+ 	(struct gcov_var gcov_var): ... this static structure.
+ 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string):
+ 	Return void.
+ 	(gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
+ 	read object.
+ 	(gcov_read_bytes, gcov_write_bytes): Set error flag on error.
+ 	(gcov_reserve_length): Remove.
+ 	(gcov_write_tag): New.
+ 	(gcov_write_length): Adjust.
+ 	(gcov_read_summary, gcov_write_summary): Adjust.
+ 	(gcov_eof, gcov_ok): Rename to ...
+ 	(gcov_is_eof, gcov_is_error): ... here. Return error code.
+ 	(gcov_save_position, gcov_resync): Rename to ...
+ 	(gcov_position, gcov_seek): ... here.
+ 	(gcov_skip, gcov_skip_string): Remove.
+ 	(gcov_error): Remove.
+ 	(gcov_open, gcov_close): Adjust.
+ 	* gcov.c (find_source): Take const char *, copy it on allocation.
+ 	(read_graph_file): Adjust.
+ 	(read_count_file): Adjust.
+ 	* libgcov.c (gcov_exit): Adjust.
+ 	* gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
+ 	tag_arc_counts, tag_summary): Return void. Adjust.
+ 	(struct tag_format): Adjust proc member.
+ 	(dump_file): Adjust gcov calls.
+ 
+ 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
+ 	mkfixinc.sh.
+ 	* fixinc/mkfixinc.sh (defs): Add LIBERTY.
+ 	* configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
+ 	build != host sysrooted builds.
+ 	* configure.in (SYSTEM_HEADER_DIR): Make sure it contains
+ 	TARGET_SYSTEM_ROOT even on sysrooted natives.
+ 	* configure: Rebuilt.
+ 
+ 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (struct binding_level): Add shadowed_tags and
+ 	function_body; remove this_block, tag_transparent, and
+ 	subblocks_tag_transparent; update comments.
+ 	(clear_binding_level, lookup_tag_reverse): Kill.
+ 	(make_binding_level): Use ggc_alloc_cleared or memset.
+ 	(lookup_tag): Remove struct binding_level* parameter.  All
+ 	callers changed. Just look at IDENTIFIER_TAG_VALUE, and
+ 	current_binding_level->tags if asked for thislevel_only or if
+ 	we might have to diagnose "struct foo; union foo;"
+ 	(pushlevel): Ignore argument.  Do not push another binding
+ 	level on the transition from the parameters to the top level
+ 	of the function body; just tweak the flags and proceed.
+ 	(poplevel): Overhaul.  Clear IDENTIFIER_TAG_VALUEs; on exiting
+ 	a function body, separate the parameter list from the
+ 	top-level local variables.
+ 	(set_block): Do nothing.
+ 	(pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
+ 	shadowed_tags if necessary.
+ 	(warn_if_shadowing): Nuke the special case for local shadowing
+ 	parameter.
+ 	(pushdecl): Do not create a shadow entry if we are replacing
+ 	an older decl in the same binding level.
+ 	(pushdecl_function_level): Tweak for new way of indicating
+ 	function scope.
+ 	(shadow_tag_warned): Use TYPE_NAME, not	lookup_tag_reverse.
+ 	(start_function): Don't set subblocks_tag_transparent.
+ 	(finish_function): Fix up the binding_level stack for totally
+ 	empty functions.  Otherwise, don't call poplevel.
+ 
+ 	* c-common.c (shadow_warning): MANDATORY argument is no longer
+ 	necessary.  Always use plain warning.
+ 	* c-common.h: Update to match.
+ 
+ 	* cfglayout.c (scope_to_insns_initialize): Clear block when we
+ 	hit the FUNCTION_DECL.
+ 	* function.c: Do not create cyclic tree structure.
+ 
+ 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-tree.h (struct lang_identifier): Replace global_value,
+ 	local_value members with symbol_value, tag_value.  Kill
+ 	implicit_decl and limbo_value.
+ 	(IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
+ 	IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
+ 	C_MISSING_PROTOTYPE_WARNED): Kill.
+ 	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
+ 	C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
+ 	(C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
+ 	(implicit_decl_warning, lookup_name_current_level,
+ 	record_function_scope_shadow): Don't prototype.
+ 	(pushdecl_function_level): Prototype.
+ 
+ 	* c-decl.c (truly_local_externals): New variable.
+ 	(struct binding_level): Adjust commentary.
+ 	(get_function_binding_level, clear_limbo_values,
+ 	record_function_scope_shadow): Kill.
+ 	(lookup_name_current_level, implicit_decl_warning): Are	now static.
+ 	(any_external_decl, record_external_decl): New static functions.
+ 	(clone_underlying type): Split out of pushdecl.
+ 	(c_print_identifier): Update to match changes to struct
+ 	lang_identifier.
+ 	(poplevel): Delete #if 0 block.  Make externals invisible
+ 	instead of clearing their IDENTIFIER_SYMBOL_VALUEs.  Don't
+ 	call clear_limbo_values.  Refer to IDENTIFIER_SYMBOL_VALUE not
+ 	IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
+ 	(duplicate-decls): For real parm decl after a forward decl,
+ 	set TREE_ASM_WRITTEN here.  Allow void foo(...) followed by
+ 	foo(...) { } with only a warning.  Say whether a previous
+ 	declaration was implicit.
+ 	(warn_if_shadowing): Now handles all shadowing, not just
+ 	local-over-local.  Clarify comments.
+ 	(pushdecl): Rewritten.  There is no longer a distinction
+ 	between global and local symbol values; they're all
+ 	IDENTIFIER_SYMBOL_VALUE.  Call record_external_decl on all
+ 	DECL_EXTERNAL decls, and use any_external_decl to check
+ 	against previous externals.  Kill #if 0 blocks.  Don't
+ 	tolerate error_mark_node being NULL.
+ 	(pushdecl_top_level): Handle only those cases which
+ 	Objective C (the only user) needs.
+ 	(pushdecl_function_level): New function.
+ 	(implicitly_declare): Create ordinary decls with
+ 	C_DECL_IMPLICIT set.  Recycle old decls, however they got
+ 	created.
+ 	(lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
+ 	for C_DECL_INVISIBLE symbols.
+ 	(lookup_name_current_level): Likewise.  Use chain_member.
+ 	(c_make_fname_decl): Don't muck with DECL_CONTEXT.
+ 	Use pushdecl_function_level.
+ 	(builtin_function): Use C_DECL_INVISIBLE.
+ 	(start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
+ 	Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
+ 	(store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
+ 	(identifier_global_value): Same.  Must scan
+ 	global_binding_level in extremis.
+ 
+ 	* c-typeck.c (undeclared_variable): New static function, split
+ 	from build_external_ref.
+ 	(build_external_ref): Use DECL_CONTEXT, not
+ 	IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
+ 	an instance variable.  Restructure for clarity.
+ 	* objc/objc-act.c: Use identifier_global_value, not
+ 	IDENTIFIER_GLOBAL_VALUE.
+ 
+ 2003-04-08  Jonathan Wakely  <redi@gcc.gnu.org>
+ 
+ 	* doc/extend.texi (Template Instantiation): Refer to ISO standard,
+ 	not Working Paper.
+ 	* doc/invoke.texi (C++ Dialect Options): Same.
+ 
+ 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c (tree_operand_check_failed): New function.
+ 	* tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
+ 	TREE_RTL_OPERAND_CHECK): New checking macros.
+ 	(TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
+ 	RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
+ 	CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
+ 	EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
+ 	EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
+ 	TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
+ 	checking macros.
+ 
+ Thu Apr 10 23:52:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR inline-asm/8803
+ 	* function.c (instantate_virtual_regs):  Verify that all ASM statements
+ 	match after the virutal regs instantiation.
+ 
+ 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* ia64-protos.h (addp4_optimize_ok): New.
+ 	* ia64.c (addp4_optimize_ok): New.
+ 	* ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
+ 	(*ptr_extend_plus_2): Ditto.
+ 
+ 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
+ 	not with convert_memory_address.
+ 	(store_constructor): Ditto, and same for copy_size_rtx.
+ 	(expand_expr): Ditto.
+ 
+ 2003-04-10  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
+ 
+ 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
+ 	even if it is configured to be write-through.
+ 
+ 2003-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (larl_operand): Do not allow symbols
+ 	marked with '@'.
+ 	(s390_encode_section_info): Mark symbols with forced 1-byte
+ 	alignment with '@'.
+ 	(s390_strip_name_encoding): Strip '@'.
+ 	(legitimize_pic_address): Handle symbols that are not valid
+ 	LARL operands in 64-bit mode.
+ 
+ 2003-04-10  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree-inline.c (inlinable_function_p): Disable inlining for
+ 	synchronized methods.
+ 
+ 2003-04-09  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* c-common.h (lang_statement_code_p): Remove declaration.
+ 	(statement_code_p): Ditto.
+ 	(c_common_stmt_codes): Define; list of c-common statement codes.
+ 	(statement_code_p): New extern declaration.
+ 	(STATEMENT_CODE_P): Define.
+ 	(INIT_STATEMENT_CODES): Define.
+ 	* c-common.c (statement_code_p): Kill the function, declare
+ 	as an array of bools instead.
+ 	(lang_statement_code_p): Remove.
+ 	(walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
+ 	(c_safe_from_p): Ditto.
+ 	* c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
+ 	to initialize the statement_code_p array.
+ 	* tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
+ 	statement_code_p.
+ 	(copy_tree_r): Ditto.
+ 	* cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
+ 	statement tree codes.
+ 	* cp/lex.c (cxx_init): Add missing print line break.  Use
+ 	INIT_STATEMENT_CODES to initialize the statement_code_p array.
+ 	* cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
+ 	instead of statement_code_p.
+ 	* cp/pt.c (tsubst_expr): Ditto.
+ 	* cp/tree.c (verify_stmt_tree_r): Ditto.
+ 	(cp_statement_code_p): Remove.
+ 	(init_tree): Don't set lang_statement_code_p, it's gone.
+ 
+ 2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* regrename.c (struct du_chain): Use a bitfield for reg_class.
+ 	* cse.c (struct qty_table_elem, struct table_elt, struct set):
+ 	Use bitfields for fields holding enum rtx_code or
+ 	enum machine_mode values.  Add comments explaining size choices.
+ 
+ 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/fp-bit.c (unpack_d): Handle pair of doubles with
+ 	different signs correctly.
+ 
+ 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* sched-deps.c (reg_pending_barrier_mode): New enumeration.
+ 	(reg_pending_barrier): Make it of the enumeration type.
+ 	(sched_analyze_2): Define the barrier as MOVE_BARRIER or
+ 	TRUE_BARRIER.
+ 	(sched_analyze): Ditto.
+ 	(sched_analyze_insn): Ditto.  Use anti-dependencies for
+ 	MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
+ 	(init_deps_global): Initialize the barrier as NO_BARRIER.
+ 
+ 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
+ 	Check that asm insn starts on a new cycle.  Add nops after asm
+ 	insn to end bundle.
+ 	(bundling): Move insn type evaluation from the loop.  Call
+ 	issue_nops_and_insn with the new parameter.  Ignore changing
+ 	position for nops after asm insn.
+ 
+ 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* optabs.c: Comment that gen_add2_insn and others may actually
+ 	return emitted insns, if the gen functions turn out to return
+ 	emitted insns.
+ 	* reload1.c (reload_cse_move2add): Cope with emitted insns from
+ 	gen_add2_insn.
+ 
+ 2003-04-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (move_operand): Allow symbolic_operand,
+ 	but not tls_symbolic_operand.
+ 	(ia64_expand_load_address): Remove scratch operand.
+ 	(ia64_expand_tls_address): Split out from ia64_expand_move.
+ 	(ia64_expand_move): Split symbolics only after reload.
+ 	(ia64_emit_cond_move): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
+ 	(symbolic splitter): Accept SImode operands too.
+ 	(cmove splitter): Use ia64_emit_cond_move.
+ 
+ 2003-04-09  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* doc/install.texi: Note that ARM toolchains need binutils 2.13 or
+ 	newer.
+ 	* config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
+ 	instead of -mno-fpu.
+ 	* config/arm/semi.h (ASM_SPEC): Likewise.
+ 	* config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
+ 	but only if -msoft-float is specified pass.  Otherwise pass
+ 	-mfpu=softvfp.
+ 
+ 2003-04-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* function.c (purge_addressof): Use free_INSN_LIST_node instead of
+ 	free_EXPR_LIST_node.
+ 
+ 2003-04-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold):  Use "fold" following build in more places.
+ 	Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
+ 	pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
+ 
+ 2003-04-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin):  Constant fold expressions as x*0.5
+ 	instead of x/2.0.  Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
+ 	log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
+ 	pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
+ 	Delete function scope "fcode" variable to avoid shadowing.
+ 
+ 2003-04-08  Kevin Buettner  <kevinb@redhat.com>
+ 
+ 	* dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
+ 	Take into account DWARF_INITIAL_LENGTH_SIZE.
+ 
+ 2003-04-08  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* reorg.c (fill_slots_from_thread): When considering changing the
+ 	insn following a reg-to-reg copy insn to use the source reg of the
+ 	copy, bail out if there's overlap between the registers.
+ 
+ 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* function.c (postponed_insns): New.
+ 	(purge_addressof_1): Postpone processing of insns if addressofs
+ 	are not put into stack.
+ 	(purge_addressof): Process postponed insns.
+ 
+ 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
+ 	this is FP_MODE_DOUBLE .
+ 	* sh.c (ra.h): #include.
+ 	(push_regs): Add second parameter.  Changed all callers.
+ 	If necessary, set fpscr before saving floating point registers.
+ 	(calc_live_regs): If interrupt handler and TARGET_FMOVD, always
+ 	do saves / restores with SZ == 1.
+ 	(sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
+ 	(sh_expand_epilogue): Likewise.  For TARGET_FMOVD, if floating point
+ 	registers are being restored, restore FPSCR only after restoring them.
+ 
+ 2003-04-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
+ 	regardless of architecture.
+ 	(spe_init_builtins): Change V2SI and V2SF types to opaque types.
+ 
+ 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (push_regs, calc_live_regs): Return int.  Take single
+ 	HARD_REG_SET * parameter.  Changed all callers.
+ 
+ Tue Apr  8 11:12:07 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
+ 	GOTOFF operand.
+ 	(legitimize_pic_address): Move plus outside the unspec.
+ 	* i386.c (legitimate_constant_p):  Check (CONST (PLUS (UNSPEC ...
+ 	for validity.
+ 
+ 2003-04-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h (gcov_save_position): Remove __inline__ from
+ 	declaration.
+ 
+ 2003-04-07  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi: Use @command and @samp for single- and
+ 	multi-word commands respectively.
+ 	* doc/makefile.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 
+ 2003-04-07  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/9516
+ 	* expr.c (safe_from_p): Rearrange to avoid deep recursion in
+ 	favor of looping and tail recursion for TREE_LIST and binops.
+ 
+ 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
+ 	for insns without luid.
+ 
+ 2003-04-07  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	PR opt/8634
+ 	* explow.c (maybe_set_unchanging): Don't flag non-static const
+ 	aggregate type initializers with RTX_UNCHANGING_P.
+ 
+ 2003-04-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/8634
+ 	* function.c (purge_addressof_1): Don't try arithmetics for
+ 	unchanging memories.
+ 
+ 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/sourcebuild.texi (Test Suites): Document testing support for
+ 	gcov and profile-directed optimizations; describe gcc.misc-tests.
+ 
+ Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/10077
+ 	* i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
+ 
+ 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/rtl.texi (Comparison operations): Update to
+ 	record the allowed comparison modes.
+ 
+ 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
+ 	V2SI_type_node to opaque_V2SI_type_node.  Rename all
+ 	V2SF_type_node to opaque_V2SF_type_node.
+ 	(rs6000_init_builtins): Define opaque_V2SI_type_node and
+ 	opaque_V2SF_type_node.
+ 	(is_ev64_opaque_type): The types opaque_V2SI_type_node and
+ 	opaque_V2SF_type_node are opaque types.
+ 
+ 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* gcse.c (replace_store_insn): Use single_set.
+ 
+ 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Change gcov file interface to single file at a time.
+ 	* gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
+ 	Convert to C89 prototypes.
+ 	(gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
+ 	gcov_error, gcov_modified): New static variables.
+ 	(gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
+ 	functions.
+ 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string,
+ 	gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
+ 	(gcov_read_summary, gcov_write_summary): Adjust.
+ 	(gcov_save_position, gcov_reserve_length, gcov_write_length):
+ 	Adjust.
+ 	(gcov_resync, gcov_skip, gcov_skip_string): Adjust.
+ 	(da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
+ 	(da_file_position, da_file_seek, da_file_write, da_file_read):
+ 	Remove.
+ 	(gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
+ 	* gcov.c (gcov_type): Don't typedef here.
+ 	(IN_GCOV): #define
+ 	(read_graph_file, read_count_file): Adjust.
+ 	* gcov-dump.c (gcov_type): Don't typedef here.
+ 	(IN_GCOV): #define.
+ 	(tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
+ 	Remove FILE parameter, adjust.
+ 	(struct tag_format): Adjust proc member.
+ 	(dump_file): Adjust.
+ 	* libgcov.c (IN_LIBGCOV): #define.
+ 	(gcov_exit): Adjust.
+ 	* loop-init.c: Don't #include gcov-io.h
+ 	* profile.c (struct counts_entry): New structure to hold counter
+ 	values.
+ 	(struct section_reference, struct da_index_entry): Remove.
+ 	(bbg_file, da_file): Remove.
+ 	(htab_counts_index_hash, htab_counts_index_eq,
+ 	htab_counts_index_del): Replace with ...
+ 	(htab_counts_entry_hash, htab_counts_entry_eq,
+ 	htab_counts_entry_del): ... these.
+ 	(cleanup_counts_index, index_counts_file): Remove.
+ 	(read_counts_file): New function.
+ 	(get_exec_counts): Adjust.
+ 	(compute_branch_probabilities): Don't free the exec counts here.
+ 	(branch_prob): Adjust.
+ 	(init_branch_prob): Adjust.
+ 	(end_branch_prob): Adjust.
+ 
+ 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ 	-mfloat-gprs.
+ 
+ 	* config/rs6000/rs6000.c: Delete rs6000_fprs.
+ 	Declare rs6000_float_gprs.
+ 	Declare rs6000_float_gprs_string.
+ 	(rs6000_parse_float_gprs_option): New.
+ 	(rs6000_override_options): Genericize rs6000_parse_* calls to use
+ 	rs6000_parse_yes_no_option.
+ 	Change check for cpu=8540, to use TARGET_E500.
+ 	(rs6000_parse_isel_option): Delete.
+ 	(rs6000_parse_spe_option): Delete.
+ 	(rs6000_parse_vrsave_option): Delete.
+ 
+ 	* config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
+ 	Define rs6000_float_gprs_string.
+ 	(TARGET_OPTIONS): Add rs6000_float_gprs option.
+ 
+ 	* config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
+ 
+ 	* config/rs6000/eabispe.h: Set rs6000_float_gprs.
+ 
+ Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/10024
+ 	* cfglayout.c (cfg_layout_redirect_edge):
+ 	Redirect any branch edges unified with the fallthru one.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
+ 	case fallthru edges when called via cfglayout.c
+ 
+ 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* c-typeck.c (output_init_element): Check for type == error_mark_node.
+ 
+ 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
+ 	split.
+ 	(a splitter): Do zero-extension via HImode.
+ 
+ 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
+ 
+ 	* doc/invoke.texi: Eliminate extra white-space caused by
+ 	@gccoptlist{ on its own line.
+ 	* doc/invoke.texi: Ensured there are two spaces between each option.
+ 	* doc/invoke.texi: Re-wrapped option lines that were too wide.
+ 	Added @gol to options that didn't have them.
+ 
+ 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
+ 
+ 	* doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
+ 
+ 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c (tree_size): For all 'c' and 'x' nodes, look directly
+ 	at the sizes of the relevant structures, rather than relying
+ 	on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
+ 	sizes of any such we don't know about.  Use
+ 	lang_hooks.identifier_size for IDENTIFIER_NODE.
+ 
+ 	(initializer_zerop): Use CONSTRUCTOR_ELTS.
+ 	* tree.def: Update commentary.  Make fourth element of
+ 	the definition for all 'c' and 'x' nodes zero.
+ 
+ 	* langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
+ 	* langhooks-def.h: Update to match.
+ 	* langhooks.c: New default, lhd_tree_size.
+ 
+ 	* c-common.def (SRCLOC): Kill.
+ 	* c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
+ 	Remove entirely - was already #if-ed out.
+ 
+ 
+ 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mklibgcc.in: Use a here document to avoid running afoul of
+ 	shells that generate control-A from "echo \1".
+ 
+ 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
+ 	option.
+ 
+ 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
+ 	rs6000_spe.
+ 
+ 	* config/rs6000/eabi.h (TARGET_E500): Define.
+ 
+ 	* config/rs6000/rs6000.h (TARGET_E500): Define.
+ 	(TARGET_OPTIONS): Add spe= option.
+ 	Declare rs6000_spe and rs6000_spe_string extern.
+ 
+ 	* config/rs6000/rs6000.c (branch_positive_comparison_operator):
+ 	Change TARGET_SPE to TARGET_E500.
+ 	(ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
+ 	!TARGET_FPRS.
+ 	(print_operand): Same.
+ 	(rs6000_generate_compare): Same.
+ 	(output_cbranch): Same.
+ 	(rs6000_spe): Declare.
+ 	(rs6000_spe_string): Declare.
+ 	(rs6000_override_options): Call rs6000_parse_spe_option.
+ 	(rs6000_parse_spe_option): New.
+ 
+ 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* hashtable.c (gcc_obstack_init): Delete this function
+ 	and everything related to it.
+ 	* hashtable.h: Remove prototype.
+ 	* bitmap.c (bitmap_element_allocate): Cleanup redundant
+ 	defines.  Cleanup some unnecessary whitespace.
+ 	* defaults.h (obstack_chunk_alloc): Redefine with
+ 	appropriate casts for libiberty obstacks.
+ 	(obstack_chunk_free): Ditto.
+ 	(OBSTACK_CHUNK_SIZE): Define, default to 0.
+ 	(gcc_obstack_init): Define as a call to _obstack_begin.
+ 	* tree.c (print_obstack_statistics): Delete this unused
+ 	function.
+ 	* tree.h (obstack): Don't forward-declare.
+ 	(print_obstack_statistics): Delete prototype.
+ 	(print_obstack_name): Ditto.
+ 	(gcc_obstack_init): Ditto.
+ 	* rtl.h (gcc_obstack_init): Ditto.
+ 	* java/jv-scan.c (gcc_obstack_init): Delete this
+ 	function, its prototype and related defines.
+ 	* java/jvgenmain.c (gcc_obstack_init): Delete this
+ 	function, and related defines.
+ 	* java/parse-scan.y (obstack_chunk_alloc): Don't define.
+ 	(obstack_chunk_free): Ditto
+ 
+ 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dbxout.c (dbxout_handle_pch): Move prototype out from
+ 	#if defined DBX_DEBUGGING_INFO.
+ 
+ 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c (struct arc_info): Replace local_span with cycle.
+ 	(struct block_info): Replace u.span with u.cycle. Add is_call_return.
+ 	(solve_flow_graph): Set is_call_return.
+ 	(add_line_counts): Adjust. In block mode, blocks attach to last line.
+ 	(accumulate_line_counts): Find graph cycles, not spanning tree.
+ 	(output_branch_count): Adjust.
+ 	(output_lines): Adjust.
+ 	* doc/gcov.texi: Update.
+ 
+ 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
+ 	the second alternative to "#".
+ 
+ 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
+ 	(single_zero_operand): Likewise.
+ 
+ 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
+ 	* df.c: Include alloc-pool.h, not obstack.h.
+ 	(df_ref_obstack): Remove.
+ 	(df_ref_pool, df_link_pool): Add pools.
+ 	(df_alloc): Init the new pools.
+ 	(df_free): And free them.
+ 	(df_link_create): Use the pools.
+ 	(df_ref_create): Ditto.
+ 
+ 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* simplify-rtx.c: Fix formatting.
+ 
+ 2003-04-05  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
+ 	reg with reg1 == reg2 and offset1 = -8.
+ 
+ 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
+ 	multiply costs.  Correct Power4 divide costs.
+ 	* config/rs6000/power4.md: Restore multiply and FP latency.
+ 
+ 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* alias.c (find_base_term): Export.
+ 	* rtl.h (find_base_term): Declare.
+ 	* gcse.c (find_moveable_store): Test for flag_non_call_exceptions
+ 	instead of flag_exceptions.  Move test for parameter passing ...
+ 	(store_killed_in_insn): ... here.
+ 
+ 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	PR bootstrap/10267
+ 	* doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
+ 	for configuring.
+ 
+ 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dbxout.c (scope_labelno): Add GTY.
+ 	(have_used_extensions): Add GTY.
+ 	(source_label_number): Add GTY.
+ 	(lastfile): Add GTY.
+ 	(lastfile_is_base): New.
+ 	(base_input_file): New.
+ 	(dbxout_handle_pch): New.
+ 	(dbx_debug_hooks): Add handle_pch.
+ 	(xcoff_debug_hooks): Likewise.
+ 	(dbxout_function_end): Remove scope_labelno.
+ 	(dbxout_init): Set base_input_file.
+ 	(dbxout_handle_pch): New.
+ 	(dbxout_source_file): Honour lastfile_is_base.
+ 	* dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
+ 	* sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
+ 	* debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
+ 	* debug.h (struct gcc_debug_hooks): Add handle_pch.
+ 	* c-pch.c (pch_init): Don't call start_source_file, but do call
+ 	handle_pch.
+ 	(c_common_write_pch): Call handle_pch.
+ 	(c_common_read_pch): Don't call start_source_file,
+ 	or end_source_file.
+ 
+ Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
+ 	use of default attributes to agree MEM_ALIGN macro.
+ 
+ Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dbxout.c (dbxout_type): When printing type index of range type
+ 	whose bounds are printed in octal format, print type of parent type if
+ 	it exists so enumerated type descriptions are not transformed
+ 	into unsigned types.
+ 
+ 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	compute_a_shift_cc.
+ 	* config/h8300/h8300.c (shift_one): Update the CC status.
+ 	(shift_two): Likewise.
+ 	(output_a_shift_cc): Set cc_inline and cc_special.
+ 	(compute_a_shift_cc): New.
+ 	* config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
+ 
+ 2003-04-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
+ 
+ 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 	* fixinc/tests/base/stdio.h: Regenerated.
+ 
+ 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c (accumulate_line_counts): Fix span tree merge bug.
+ 
+ Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
+ 	(NORMAL_MODE).
+ 	* sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
+ 
+ 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Add entries for Wolfgang
+ 	Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
+ 	Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
+ 	Danny Smith, and Ulrich Weigand.
+ 	Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
+ 	entry.
+ 
+ 2003-04-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sparc/sol2-bi.h: Revert previous delta.
+ 	* config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
+ 
+ 2003-04-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/v850/v850.c (expand_prologue): Only use register save
+ 	helper functions if long calls are not being used.
+ 	Add a clobber of r11 id using long calls.
+ 	(pattern_is_ok_for_prologue): Account for the extra clobber.
+ 	(construct_save_jarl): Likewise.
+ 	* config/v850/v850.md (prolog pattern): Do not use this pattern
+ 	for v850e's.
+ 
+ 2003-04-04  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* stor-layout.c (layout_decl): Avoid syntax error in last change
+ 	when PCC_BITFIELD_TYPE_MATTERS is defined but not
+ 	EMPTY_FIELD_BOUNDARY.
+ 
+ 2003-04-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c/10175
+ 	* jump.c (never_reached_warning): Revert patch of 2002-11-02.
+ 	Look backwards for a line note.
+ 
+ 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Defer switch processing.
+ 
+ 2003-04-03  Matt Austern  <austern@apple.com>
+ 
+ 	* cpppch.c (reset_ht): Remove.
+ 	(cpp_read_state): Remove loop to reset hashtable identifiers.
+ 	* ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
+ 	after pch file is written.
+ 	* ggc.h (gt_pch_fixup_stringpool): Declare.
+ 	* stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
+ 	hashnode's value to another hashtable, then clear the original.
+ 	(saved_ident_hash): Define.
+ 	(gt_pch_save_stringpool): Create saved_ident_hash, use it to
+ 	store definitions in ident_hash, and clear ident_hash.
+ 	(gt_pch_fixup_stringpool): Define.  Restore definitions from
+ 	saved_ident_hash to ident_hash, then destroy saved_ident_hash.
+ 
+ Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
+ 
+ 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/10157
+ 	* gcse.c (can_copy_p): Rename it to can_copy.
+ 	(can_copy_init_p): Remove.
+ 	(compute_can_copy): Use can_copy instead of can_copy_p.
+ 	(can_copy_p): New exported function. Call compute_can_copy.
+ 	(hash_scan_set): Use it.
+ 	(gcse_main): Don't call compute_can_copy.
+ 	(bypass_jumps): Don't call compute_can_copy.
+ 	* rtl.h (can_copy_p): Declare.
+ 	* loop.c (scan_loop): Don't move the source and add a reg-to-reg
+ 	copy if the mode doesn't support copy operations.
+ 
+ 2003-04-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (unstrap): Also remove stage_last.
+ 
+ 	* dwarf2out.c (lookup_filename): Don't check for "<internal>".
+ 	(dwarf2out_source_line): Don't do anything if line==0.
+ 
+ 	* stor-layout.c (do_type_align): New fn, split out from...
+ 	(layout_decl): ...here.  Do all alignment calculations for
+ 	FIELD_DECLs here.
+ 	(update_alignment_for_field): Not here.
+ 	(start_record_layout, debug_rli): Remove unpadded_align.
+ 	* tree.h (struct record_layout_info_s): Remove unpadded_align.
+ 	* c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
+ 	or DECL_MODE on the CONST_DECLs.
+ 	(finish_struct): Don't mess with DECL_ALIGN.
+ 
+ Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
+ 
+ Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_function_ok_for_sibcall): Return 0 if the current
+ 	function is an interrupt handler.
+ 
+ 	* sh.c (sh_expand_epilogue): Avoid clash of temp register for
+ 	restoring target registers with EH_RETURN_STACKADJ_RTX; use
+ 	multiple registers in round-robin fashion.
+ 
+ 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
+ 	* system.h (CHAR_BITFIELD): New.
+ 
+ 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Generalize to accept GT
+ 	and LE.
+ 	(another peephole2): Likewise.
+ 
+ 2003-04-03  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
+ 	(DEF_ARCH64_SPEC): Likewise.
+ 
+ Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (constant_address_p): Use legitimate_constant_p.
+ 	(legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
+ 
+ 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	gtle_operator.
+ 	* config/h8300/h8300.c (gtle_operator): New.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
+ 	gtle_operator.
+ 	* config/h8300/h8300.md (a peephole2): Generalize to accept GT
+ 	and LE.
+ 
+ 2003-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc-std.ver (_Unwind_GetCFA): New.
+ 	* unwind-dw2.c (_Unwind_GetCFA): New.
+ 	* unwind-libunwind.c (_Unwind_GetCFA): New.
+ 	* unwind-sjlj.c (_Unwind_GetCFA): New.
+ 	* unwind.h: Declare it.
+ 
+ Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR inline-asm/8088
+ 	* i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
+ 	when MMX/SSE is not available.
+ 
+ 2003-04-02  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/install.texi (Specific): Update pointers to apple.com.
+ 
+ Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (override_options):  Disable red zone by default on i386.
+ 	(compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
+ 	Do not test TARGET_64BIT together with TARGET_RED_ZONE
+ 
+ 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Tighten the condition.
+ 
+ 2003-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
+ 
+ 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (sjlj_find_directly_reachable_regions): Recognize when
+ 	must-not-throw region has been deleted.
+ 
+ 2003-04-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
+ 	optimization when flag_exceptions not enabled.
+ 
+ 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
+ 	macros.
+ 	(rs6000_issue_rate): Add case for 8540.
+ 	(rs6000_use_sched_lookahead): New function.
+ 
+ 	* config/rs6000/8540.md: Rename SIU units into SU ones and MIU
+ 	units into MU ones.
+ 	(ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
+ 	reservation before retirement.
+ 	(ppc8540_multiply, ppc8540_load, ppc8540_store,
+ 	ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
+ 	Remove additional cycle in the reservation before retirement.
+ 	(ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
+ 	reservation of ppc8540_issue.
+ 
+ 2003-04-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* real.c (decode_ieee_single): Fix decoding of SNaN bit.
+ 
+ 2003-04-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
+ 	notes for nothrow calls if flag_forced_unwind_exceptions.
+ 	(build_post_landing_pads): Mind flag_forced_unwind_exceptions.
+ 	(sjlj_find_directly_reachable_regions): Likewise.
+ 	(reachable_handlers): Likewise.
+ 	(can_throw_external): Likewise.
+ 	(collect_one_action_chain): Record cleanups after catch-all and
+ 	must-not-throw if flag_forced_unwind_exceptions.
+ 	* flags.h (flag_forced_unwind_exceptions): Declare.
+ 	* toplev.c (flag_forced_unwind_exceptions): New.
+ 	(lang_independent_options): Add it.
+ 	* doc/invoke.text: Add it.
+ 
+ 2003-04-01  David Mosberger <davidm@hpl.hp.com>
+ 
+ 	* config/ia64/crti.asm: Clean up trailing whitespace.
+ 	Remove trailing hashes (#) from identifiers.
+ 
+ 	* config/ia64/crtn.asm: Ditto.
+ 
+ 	* config/ia64/crtend.asm: Remove trailing hashes (#) from
+ 	identifiers.
+ 	(__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
+ 	directives.  Drop explicit bundling---it just makes the code
+ 	harder to read.  Don't save/restore gp needlessly.
+ 
+ 	* config/ia64/crtbegin.asm: Remove trailing hashes (#) from
+ 	identifiers (they're only needed if the identifier would clash
+ 	with a register name otherwise).
+ 	(__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
+ 	directives.  Drop explicit bundling---it just makes the code
+ 	harder to read.
+ 	(__do_jv_register_classes): Ditto.
+ 	(.fini_array): Remove "progbits" (newer
+ 	assemblers don't like wrong section-types).
+ 	(.init_array): Ditto.
+ 
+ 2003-04-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR fortran/9974
+ 	* gcse.c (reg_killed_on_edge): New function to test whether the
+ 	given reg is overwritten by any instruction queued on an edge.
+ 	(bypass_block): Ignore substitutions killed on incoming edges.
+ 	Don't bypass outgoing edges that have queued instructions.
+ 
+ 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* real.h (EXP_BITS): Make room for...
+ 	(struct real_value): ... added canonical bit.
+ 	(struct real_format): Added pnan.
+ 	(mips_single_format, mips_double_format, mips_extended_format,
+ 	mips_quad_format): New.
+ 	* real.c: Copy p to pnan in all formats.
+ 	(get_canonical_qnan, get_canonical_snan): Set canonical bit.
+ 	(real_nan): Use pnan to compute significand's shift.
+ 	(real_identical): Disregard significand in canonical
+ 	NaNs.
+ 	(real_hash): Likewise.  Take signalling into account.
+ 	(encode_ieee_single, encode_ieee_double, encode_ieee_quad):
+ 	Disregard significand bits in canonical NaNs.  Set all bits of
+ 	canonical NaN if !qnan_msb_set.
+ 	(encode_ibm_extended, decode_ibm_extended): Likewise.  Use
+ 	qnan_msb_set to tell the base double format.
+ 	(ibm_extended_format): Use 53 as pnan.
+ 	(mips_single_format, mips_double_format, mips_extended_format,
+ 	mips_quad_format): Copied from the corresponding ieee/ibm
+ 	formats, with qnan_msb_set false.
+ 	* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
+ 	* config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
+ 	* config/mips/mips.c (override_options): Use mips_single_format
+ 	and mips_double_format.  Default TFmode to mips_quad_format.
+ 	* config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
+ 	* config/mips/t-irix6: Likewise.
+ 	* config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
+ 	* config/fp-bit.c (pack_d, unpack_d): Obey it.
+ 
+ 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
+ 	(live_image_destructor): Reset image to initial state.
+ 	(examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
+ 
+ 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (input_operand): Accept bare
+ 	CONSTANT_P_RTX operands.
+ 
+ 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (struct ls_expr): Added pattern_regs field.
+ 	(ldst_entry): Initialize it.
+ 	(extract_mentioned_regs, extract_mentioned_regs_helper): New.
+ 	(store_ops_ok): Use regs precomputed by them.
+ 	(find_loads, store_killed_in_insn, load_kills_store): Change return
+ 	type to bool.
+ 	(store_killed_before, store_killed_after): Take position of register
+ 	set in account.
+ 	(reg_set_info): Store position of the setter.
+ 	(gcse_main): Enable store motion.
+ 	(mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
+ 	(pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
+ 	sharing.
+ 	(simple_mem): Enable store motion of non-symbol mems.
+ 	(regvec): Type changed.
+ 	(LAST_AVAIL_CHECK_FAILURE): New.
+ 	(compute_store_table_current_insn): New.
+ 	(build_store_vectors): Computation of availability and anticipatability
+ 	moved ...
+ 	(compute_store_table, find_moveable_store): ... here.
+ 	(delete_store): Remove senseless comment.
+ 	(store_motion): Reorganize.
+ 
+ 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Provide mappings for
+ 	HI_REGNUM and LO_REGNUM.
+ 	* config/mips/mips.h (MD_DBX_FIRST): Define.
+ 
+ 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* combine.c (merge_outer_ops): Fix typo.
+ 
+ 	* varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
+ 
+ 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
+ 	power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
+ 	imul_compare.  Add lmul_compare.
+ 	* config/rs6000/power4.md: Bump some latencies.  Model extra cycle
+ 	in second pair of dispatch slots.  Model stores more accurately.
+ 	Tweak multiply model.  Add bypasses for CR instructions dependent
+ 	on complicated compares.
+ 	* config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
+ 	(muldi3): Add lmul_compare patterns.
+ 	* config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
+ 	and FPSTORE_UX to split instructions and add COMPARE,
+ 	DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
+ 	(rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
+ 	(rs6000_rtx_costs): Separate POWER4 multiply case.
+ 
+ 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_fixup_clobbered_return_reg):
+ 	Do nothing if __builtin_return_address was not used.
+ 
+ Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (test patterns):  Allow memory operand in operand1.
+ 
+ 2003-04-01  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/gcc.c-torture/execute/simd-3.c: New.
+ 
+ 	* expr.c (expand_expr): Handle VECTOR_CST.
+ 	(const_vector_from_tree): New.
+ 
+ 	* varasm.c (output_constant): Handle VECTOR_CST.
+ 
+ 	* c-typeck.c (digest_init): Build a vector constant from a
+ 	VECTOR_TYPE.
+ 
+ 	* config/rs6000/rs6000.c: Remove prototype for
+ 	easy_vector_constant.
+ 	(easy_vector_constant): Add mode parameter.  Rewrite to handle
+ 	more easy constants.
+ 	(rs6000_emit_move): Pass mode to easy_vector_constant.
+ 	Call emit_easy_vector_insn for SPE V2SI vector constant moves.
+ 	(emit_easy_vector_insn): New.
+ 	(easy_vector_same): New.
+ 	(EASY_VECTOR_15): New macro.
+ 	(EASY_VECTOR_15_ADD_SELF): New macro.
+ 	(bdesc_2arg): Rename to xorv2si3.
+ 	(easy_vector_constant_add_self): New.
+ 	(input_operand): Allow vector constants.
+ 
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
+ 	easy_vector_constant, easy_vector_constant_add_self.
+ 	(EXTRA_CONSTRAINT): Add 'W'.
+ 
+ 	* config/rs6000/rs6000-protos.h: Add prototype for
+ 	easy_vector_constant, emit_easy_vector_insn.
+ 
+ 	* config/rs6000/altivec.md (xorv8hi3): New.
+ 	(xorv16qi3): New.
+ 	Remove all _const0 patterns.
+ 	(movv4si_internal): Rewrite to use code.  Add vector constant to
+ 	vector alternative.  Add splitter.
+ 	(movv8hi_internal): Same.
+ 	(movv16qi_internal): Same.
+ 	(movv4sf_internal): Same.
+ 	Change the unspecs for vspltis* to use constants.
+ 
+ 	* config/rs6000/spe.md ("xorv4hi3"): New.
+ 	("spe_evxor"): Rename to xorv2si3.
+ 	("xorv1di3"): New.
+ 	Remove all _const0 patterns.
+ 	(movv2si_internal): Rewrite to use code.  Add vector constant to
+ 	alternatives.  Add splitter.
+ 	(movv4hi_internal): Add vector constant to alternatives.
+ 	(movv1di_internal): Same.
+ 	(movv2sf_internal): Same.
+ 
+ 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c/9936
+ 	* c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
+ 	variably-sized arrays in parameters.
+ 	(set_save_expr_context): New function.
+ 	(c_expand_body): Use it, via walk_tree.
+ 
+ 2003-03-31  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
+ 	(combinable_i3pat): Remove call to expand_field_assignment and
+ 	#if 0'd code.
+ 
+ 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/10278
+ 	* c-common.c (finish_label_address_expr): Handle the
+ 	error_mark_node.
+ 
+ 2003-03-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_identical): Reorg so as to not compare
+ 	signalling for normals.
+ 
+ 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
+ 
+ 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
+ 	notes as they are boggus.
+ 	(m68hc11_gen_movqi): Likewise.
+ 
+ 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
+ 	save the soft registers after the frame pointer so that gdb can unwind
+ 	the frame more easily.
+ 	(expand_epilogue): Likewise in opposite order; allow to use X register
+ 	as scratch if the return value is by reference.
+ 
+ 2003-03-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR java/10145
+ 	* stor-layout.c (update_alignment_for_field): Respect
+ 	DECL_USER_ALIGN for zero-length bitfields, too.
+ 	* c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
+ 	fields.
+ 
+ 2003-03-31  Matt Austern  <austern@apple.com>
+ 
+ 	* cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
+ 	(count_defs): Keep track of number of defs as well as total size.
+ 	(write_defs): Put every definition in cpp_savedstate's defs array.
+ 	(comp_hashnode): Define.  Comparison function for qsort.
+ 	(cpp_write_pch_deps): Sort definitions before writing them.
+ 	(struct ht_node_list): Define. Like cpp_savedstate but simpler.
+ 	(collect_ht_nodes): Define.
+ 	(cpp_valid_state): When verifying that undefined identifiers in
+ 	the pch file are still undefined, read a sorted list of undefined
+ 	identifiers, collect all defined identifiers into a sorted list,
+ 	and walk through both lists to make sure there's no match.
+ 
+ 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-03-31  Michael Matz  <matz@suse.de>
+ 
+ 	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
+ 
+ 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	PR target/10177
+ 	* config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
+ 	* config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
+ 	all call-clobbered registers as used.
+ 
+ 2003-03-31  Michael Matz  <matz@suse.de>
+ 
+ 	* cppexp.c (cpp_classify_number): Accept '.' after "0x".
+ 	* testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
+ 
+ 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov.c: Add -a & -u options.
+ 	(struct arc_info): Add local_span, is_call_non_return,
+ 	is_nonlocal_return, is_unconditional flags, remove is_call flag.
+ 	(struct block_info): Add flags, is_call_site, is_nonlocal_return
+ 	members. Make encodings a union with span member.
+ 	(struct function_info): Add blocks_executed, line, src, line_next
+ 	members.
+ 	(struct coverage_info): Make branches a union with blocks member.
+ 	(struct source_info): Add functions member.
+ 	(object_summary, program_count): New global variables.
+ 	(flag_all_blocks, flag_unconditional): New flags.
+ 	(find_source, output_branch_count): New functions.
+ 	(print_usage): Adjust.
+ 	(options): Adjust.
+ 	(process_args): Adjust.
+ 	(read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
+ 	<GCOV_TAG_BLOCKS>: Read flags.
+ 	<GCOV_TAG_LINES>: Adjust.
+ 	(read_count_file): Process SUMMARY tags.
+ 	(solve_flow_graph): Set is_unconditional and clear is_call_site
+ 	appropriately.
+ 	(add_branch_counts): Adjust. Don't count unconditional branches.
+ 	(add_line_counts): Deal with all-blocks mode, accumulate block
+ 	coverage.
+ 	(accumulate_line_counts): Adjust, generate local spanning tree for
+ 	all-blocks mode.
+ 	(output_lines): Adjust.
+ 	* profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
+ 	* doc/gcov.texi: Document.
+ 
+ 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Organize peephole2's that transform
+ 	(compare (reg:HI) (const_int)).
+ 
+ 2003-03-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* emit-rtl.c (dconstm2, dconsthalf): New real constants.
+ 	(init_emit_once): Initialize dconstm2 and dconsthalf here.
+ 	* real.h (dconstm2, dconsthalf): Add prototypes here.
+ 	* real.c (real_sqrt): Use dconsthalf rather than local copy.
+ 	* builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
+ 	exp(x/2.0) remember to fold the division if possible.
+ 	Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
+ 	pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
+ 	1.0/(x*x) and pow(x,0.5) as sqrt(x).
+ 
+ 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a new peephole2): New.
+ 
+ 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcse.c (simple_mem): Return false for floating-point accesses
+ 	if flag_float_store is true.
+ 
+ 2003-03-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (gcse_constant_p): New function to identify constants
+ 	suitable for constant propagation, including COMPARE with two
+ 	integer constant arguments.
+ 	(hash_scan_set): Use gcse_constant_p.
+ 	(find_avail_set): Likewise.
+ 	(cprop_insn): Likewise.
+ 	(do_local_cprop): Likewise.
+ 	(find_implicit_sets): Likewise.
+ 	(find_bypass_set): Likewise.
+ 
+ 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* except.h: Remove definition of varray_type.
+ 
+ 2003-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/10011, opt/10252:
+ 	* toplev.c (rest_of_compilation): Run purge_builtin_constant_p
+ 	before post-gcse cse pass.
+ 
+ 2003-03-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
+ 
+ 2003-03-30  DJ Delorie  <dj@redhat.com>
+ 
+ 	* profile.c (instrument_edges): Make sure any newly created
+ 	jump insns have correct jump label info.
+ 
+ 2003-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgbuild.c (make_edges): Use tablejump_p.
+ 	* cfgcleanup.c (label_is_jump_target_p): Likewise.
+ 	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
+ 	* cfgrtl.c (flow_delete_block_noexpunge): Likewise.
+ 	(try_redirect_by_replacing_jump): Likewise.
+ 	(redirect_edge_and_branch): Likewise.
+ 	* cse.c (fold_rtx): Likewise.
+ 	* jump.c (delete_related_insns): Likewise.
+ 	* rtlanal.c (get_jump_table_offset): Likewise.
+ 	* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
+ 
+ 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
+ 	(STRICT2_WARN): Likewise.
+ 
+ 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR other/6955
+ 	* collect2.c (collect_wait): Use WCOREDUMP and fix output message.
+ 	* system.h (WCOREDUMP, WCOREFLG): Define if necessary.
+ 
+ 2003-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/10083
+ 	* config/alpha/alpha.md (umuldi3_highpart): Change to expander;
+ 	don't zero_extend const inputs.
+ 
+ 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reload_cse_move2add): Fix a comment typo.
+ 
+ 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Remove useless code.
+ 
+ 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi3_and_ashift): New.
+ 	(*iorsi3_and_lshiftrt): Likewise.
+ 	(*iorsi3_zero_extract): Likewise.
+ 
+ 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*insv_si_8_8): New.
+ 	(*insv_si_8_8_lshiftrt_8): Likewise.
+ 	(a peephole2): Likewise.
+ 
+ 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
+ 	Uniformly use bugfix instead of bug fix.
+ 
+ 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	PR doc/895
+ 	* ONEWS: Remove those items that already appear in the EGCS
+ 	release notes on our web pages.
+ 
+ 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
+ 	TARGET_HARD_FLOAT.  Reformat.
+ 	(FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
+ 
+ 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
+ 
+ 	* gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
+ 	work on Solaris 2.5.1.
+ 
+ 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
+ 	section of h8300.md
+ 	(*addsi3_and_nor_r_1): Likewise.
+ 
+ 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
+ 	set up before any trapping memory access if flag_non_call_exceptions.
+ 
+ 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* reload1.c (reload_as_needed): Allow a USE in asm reloads.
+ 
+ 	* loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
+ 
+ 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Clarify comments.
+ 	* configure: Regenerate.
+ 
+ 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("literal_pool_31"): Output pool anchor
+ 	label even if pool empty when generating PIC.
+ 	("literal_pool_31", "literal_pool_64"): Coding style cleanup.
+ 
+ 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
+ 	    Dhananjay Deshpande  <dhananjayd@kpit.com>
+ 
+ 	PR target/10205
+ 	* config/h8300/h8300.c (h8300_initial_elimination_offset):
+ 	Correct the offset computation when TARGET_NORMAL.
+ 
+ 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/10067
+ 	* config/sparc/sparc.md (jump pattern): Correct order
+ 	when issuing the annuling marker.
+ 
+ 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/8281
+ 	* config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
+ 	(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
+ 
+ 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
+ 	globalize_label.
+ 	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+ 	* config/v850/v850.c (v850_output_aligned_bss): Likewise.
+ 
+ 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
+ 	(replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
+ 	notes after hoisting.
+ 	(load_mems): Adjust replace_loop_mems call.
+ 
+ 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/10114 and PR target/10084
+ 	* dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
+ 
+ 2003-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
+ 
+ 2003-03-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_inf_compare):  New function to simplify FP
+ 	comparisons against +Infinity or -Infinity.
+ 	(fold):  Optimize floating point comparisons against Infs and NaNs.
+ 
+ 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* libgcov.c: Provide only dummy functions if libc is not available.
+ 
+ 2003-03-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.h (struct real_value): Add signalling.
+ 	(EXP_BITS): Decrement.
+ 	* real.c (get_canonical_qnan): Don't set MSB-1.
+ 	(get_canonical_snan): Likewise.  Set signalling.
+ 	(real_identical): Compare signalling.
+ 	(round_for_format): Remove force-one-bit on code.
+ 	(real_nan): Likewise.  Set signalling.
+ 	(encode_ieee_single): Add force-one-bit code; honor signalling.
+ 	(encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
+ 	(decode_ieee_single): Set signalling.
+ 	(decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
+ 
+ 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	PR ada/9953
+ 	* ada/Makefile.in (gnatlib configuration for HPUX): Split
+ 	the general section for HPUX into specific sections for
+ 	HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
+ 	11 case.
+ 
+ 2003-03-27  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	PR opt/10087
+ 	* loop.c (loop_givs_reduce): Skip bivs with duplicate locations
+ 	while incrementing giv.
+ 	(record_biv): Check for duplicate biv locations and
+ 	set (struct induction *) v->same if found.
+ 
+ 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	* unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
+ 	v0.9 API change: replace read of UNW_REG_HANDLER with
+ 	unw_get_proc_info().
+ 	(_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
+ 	with unw_get_proc_info().
+ 	(_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
+ 	unw_get_proc_info().
+ 
+ 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/rs6000/8540.md: Use presence_set instead of absence_set.
+ 
+ 2003-03-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
+ 
+ 2003-03-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR bootstrap/10051, PR bootstrap/10169.
+ 	* mips-tfile.c (init_file): Don't provide a static initializer.
+ 	(initialize_init_file): Initialize the contents of init_file.
+ 	(add_file): Call initialize_init_file if not already initialized.
+ 
+ 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_optimize_prolog): Do not save/restore
+ 	registers used for global asm variables.
+ 	(s390_frame_info, s390_arg_frame_offset): Likewise.
+ 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
+ 
+ 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/rs6000/8540.md: New file.
+ 
+ 	* config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
+ 	power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
+ 	reservations for imul.
+ 
+ 	* config/rs6000/rs6000.md: Include 8540.md.  Change
+ 	delayed_compare onto mult_compare for insns generating
+ 	multiplication.
+ 	(mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
+ 	New type attribute values.
+ 
+ 	* config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
+ 	fpsimple instead of fp.
+ 	(*divsf3_gpr): Use type vecfdiv instead of fp.
+ 	(spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
+ 	instead of vecfloat.
+ 	(spe_evfsdive): Use type vecfdiv instead of vecfloat.
+ 	(spe_brinc): Use type brinc instead of veccomplex.
+ 	(spe_evaddw, spe_evaddiw): Use type vecsimple instead of
+ 	veccomplex.
+ 	(spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
+ 	(*movv2si_internal, *movv1di_internal, *movv4hi_internal,
+ 	*movv2sf_internal): Define type attribute values for all
+ 	alternatives.
+ 	(cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
+ 	of fpcompare.
+ 	(tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
+ 	instead of fpcompare.
+ 
+ 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md: Allow delay between dispatch and
+ 	function units for simple instructions.  Correct store units.
+ 	Allow branch to occupy as many dispatch slots as necessary.
+ 
+ 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
+ 	(ia64_expand_compare_and_swap): Use always DImode ar.ccv,
+ 	zero extend old to it.
+ 	* config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
+ 	operand.
+ 
+ 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/7784
+ 	* reload.c (find_reloads_address): Handle
+ 	(PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
+ 	all base registers.
+ 
+ 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
+ 
+ 	PR other/10203
+ 	* version.c: Reference the GCC web site in the URL.
+ 
+ 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* c-incpath.c (add_standard_paths): Add both "translated" and
+ 	non-translated header paths.
+ 
+ 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* doc/install.texi (*-*-freebsd*): Update with known status.
+ 
+ 2003-03-21  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR optimization/10171
+ 	* unroll.c (unroll_loop): Don't delete the jump at the end unless
+ 	we also delete a jump at the beginning.
+ 
+ 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
+ 	contributor.
+ 
+ Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
+ 	constants are not expensive.
+ 
+ Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/10056
+ 	* cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
+ 	jump jumping to the next instruction.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
+ 
+ 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/passes.texi (Passes): Properly document that we do not
+ 	perform jump2 any longer; remove command-line option -dJ.
+ 
+ 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/8746
+ 	* config/i386/i386.md (and promoting splitters): Disable HImode to
+ 	SImode promoting when the sign bit matters and is not preserved, or
+ 	when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
+ 	for size.
+ 
+ 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Extend to support loads
+ 	in QImode and HImode.
+ 
+ 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
+ 	_return_far
+ 	(MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
+ 	(MULTILIB_EXCEPTIONS): Likewise.
+ 	* config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
+ 	by calling some board support routine.
+ 	("call_value"): Likewise.
+ 	("*return_void"): Likewise for return.
+ 	("*return_16bit"): Likewise.
+ 	("*return_32bit"): Likewise.
+ 	* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
+ 	for 68HC11 too.
+ 	(DWARF2_ADDR_SIZE): Use 4 so that addresses can
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
+ 	-mlong-calls for 68HC11.
+ 	* config/m68hc11/larith.asm (declare_near): New macro.
+ 	(__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
+ 	(___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
+ 	(___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
+ 	(___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
+ 	(__mulhi32): Likewise.
+ 	(ret): Update macro for 68HC11.
+ 	(__far_trampoline): Implement for 68HC11.
+ 	(__call_a16, __call_a32, __return_void, __return_16): New support
+ 	routines for 68HC11 memory bank switching calling support.
+ 	(__return_32): Likewise.
+ 
+ 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
+ 
+ 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/install.texi (Testing): Mention test result links from build
+ 	status pages.
+ 
+ 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* function.c (put_var_into_stack): Change bool parameter to int.
+ 	(gen_mem_addressof): Likewise.
+ 	* rtl.h (gen_mem_addressof): Likewise.
+ 	* tree.h (put_var_into_stack): Likewise.
+ 	* config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
+ 	gen_mem_addressof or put_var_into_stack.
+ 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+ 	* config/ia64/ia64.c (spill_tfmode_operand): Likewise.
+ 
+ 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dojump.c (do_jump): Handle UNSAVE_EXPR specially.
+ 
+ 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/contrib.texi (Contributors): Update Janis Johnson.
+ 
+ 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/10072
+ 	* combine.c (simplify_if_then_else): Check that the mode
+ 	has MODE_INT class before applying the (OP Z (mult COND C2))
+ 	transformation.
+ 
+ 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/9414
+ 	* config/sparc/sparc.md (widening peepholes): Use
+ 	widen_memory_access instead of change_address.
+ 
+ 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/7086
+ 	* c-typeck.c (c_mark_addressable): Adjust calls to
+ 	put_var_into_stack.
+ 	* expr.c (expand_expr): Likewise.
+ 	* function.c (put_var_into_stack): Add rescan parameter.  Do not
+ 	call fixup_var_refs when rescan is false.
+ 	(gen_mem_addressof): Likewise.
+ 	(assign_parms): Adjust calls to put_var_into_stack.
+ 	(setjmp_protect): Likewise.
+ 	(setjmp_protect_args): Likewise.
+ 	* rtl.h (gen_mem_addressof): Change prototype.
+ 	* stmt.c (expand_decl): Adjust calls to put_var_into_stack.
+ 	* tree.h (put_var_into_stack): Change prototype.
+ 
+ 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
+ 
+ 	PR middle-end/9967
+ 	* builtins.c (expand_builtin_fputs): When optimizing for size,
+ 	don't transform fputs into fwrite.
+ 
+ 2003-03-23  Glen Nakamura <glen@imodulo.com>
+ 
+ 	PR c/8224
+ 	* fold-const.c (extract_muldiv_1): Don't pass through type conversions
+ 	when signedness changes for division or modulus.
+ 
+ 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
+ 	globalize_label.
+ 
+ 2003-03-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/10178
+ 	* stmt.c (expand_end_case_type): Check for overflow in range when
+ 	determining whether to use a bit-test implementation.
+ 
+ 2003-03-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
+ 	before flow2.
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
+ 
+ 2003-03-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/10116
+ 	* ifcvt.c (find_if_block): Disallow tablejump insns outgoing
+ 	from then_bb or else_bb after flow2.
+ 
+ 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Check whether it is necessary to link against
+ 	libm to use ldexp.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Add LDEXP_LIB substitution variable.
+ 
+ 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Fix comment typos.
+ 
+ 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (output_cbranch): Fix typo in comment.
+ 
+ 2003-03-22  Richard Henderson <rth@redhat.com>
+ 
+ 	* cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
+ 	after reload.
+ 
+ 2003-03-22  DJ Delorie  <dj at redhat dot com>,
+ 	Bruce Korb  <bkorb at gnu dot org>
+ 
+ 	* fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
+ 	buggy Solaris 2.6 mutex/cond initializers.
+ 	(solaris_mutex_init): Rename to solaris_mutex_init_2.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/pthread.h: Update.
+ 	* fixinc/fixincl.c(initialize): be explicit about the default case
+ 	and indicate verbose level when being very, very verbose.
+ 	* fixinc/check.tpl(VERBOSE): provide a means for passing the value in
+ 
+ 2003-03-22  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.c (ix86_init_machine_status): Return value.
+ 
+ 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (output_cbranch, output_bb, output_bvb): Output nop for
+ 	conditional branch to the following instruction.  Use next_real_insn
+ 	instead of next_active_insn.
+ 	(output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
+ 	instead of next_active_insn.
+ 
+ 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
+ 	instead of 'm' constraint in forced-split alternatives.
+ 	("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
+ 	VALIDATE_ADDRESS parameter to operand_subword.
+ 
+ 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (notice_update_cc): Correctly handle
+ 	the case where the set destination is STRICT_LOW_PART.
+ 
+ 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
+ 
+ 	* config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
+ 	c30 instead of a c40 processor.
+ 
+ 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
+ 
+ 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c: Include intl.h.
+ 	(shadow_warning): Rewrite to allow better diagnostic translations.
+ 	* c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
+ 	* c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
+ 	use it throughout.
+ 	* Makefile.in (c-common.o): Add intl.h.
+ 
+ 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Remove 'float_format'.
+ 
+ 	* fixproto: Define NULL and size_t in generated stdlib.h and
+ 	unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
+ 	Rearrange file generation loop for readability.  Generate time.h,
+ 	string.h if missing.
+ 	* tsystem.h: Include <string.h>, <time.h> unconditionally.
+ 	* config.gcc: Blow away POSIX defines.
+ 
+ 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
+ 
+ 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
+ 	writing .interrupt command.
+ 	* config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
+ 	if it's a far or near function.
+ 	("call_value"): Likewise.
+ 	* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
+ 	near attributes.
+ 	(m68hc11_handle_fntype_attribute): Accept attributes on methods.
+ 	(m68hc11_override_options): Ignore -mlong-calls for 68HC11.
+ 	(m68hc11_initial_elimination_offset): Set current_function_far
+ 	according to attributes.
+ 	(expand_prologue): Likewise.
+ 	(trap_handler_symbol): New global to keep track of trap handlers.
+ 	(m68hc11_encode_section_info): Mark symbol as far if needed; set
+ 	trap symbol.
+ 	(m68hc11_is_far_symbol): New function.
+ 	(m68hc11_is_trap_symbol): New function.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
+ 	(m68hc11_is_trap_symbol): Declare.
+ 
+ 2003-03-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_compute_frame_layout): Recompute fast prologues
+ 	only when amount of saved regs changed.
+ 	(ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
+ 	* i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
+ 
+ 2003-03-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR inline-asm/7916
+ 	* function.c (instantiate_virtual_regs_lossage): New function.
+ 	(instantiate_virtual_regs_1): Use it.
+ 	(instantiate_virtual_regs): Do not continue in substition when insn has
+ 	been deleted.
+ 
+ 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (make_field_assignment): Fix a warning.
+ 
+ 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
+ 
+ 2003-03-21  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
+ 	priority for R2 on Darwin.
+ 	(HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
+ 
+ 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (make_field_assignment): Remove unnecessary AND
+ 	when storing into zero_extract.
+ 
+ 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
+ 	* configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
+ 	* defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
+ 	in comment.
+ 
+ 2003-03-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* optabs.c (init_integral_libfuncs): Make sure we init at least up
+ 	to "long long" size words.
+ 
+ 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h: Do not include fixdfdi.h on s390x.
+ 	(TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
+ 	(MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
+ 
+ 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	PR doc-bug/9813
+ 	* doc/extend.texi: Move misplaced paragraph about underscores in
+ 	variables in macros.
+ 
+ 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/8366
+ 	* config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
+ 	PIC+SYMBOLIC_CONST in other modes than Pmode.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
+ 	the form PIC+SYMBOLIC_CONST as mode dependent.
+ 
+ 2003-03-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_arith): Make
+ 	sure we always emit at least one insn.
+ 
+ 2003-03-21  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
+ 	stub t-cygming. Use common target header cygming.h. Add extra
+ 	c_target_obj and cxx_target_obj file. Default cygwin to posix
+ 	threading. Enforce i386 as float format.
+ 	(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
+ 	Remove cygwin.h as target header. Use common target header
+ 	cygming.h  Enforce i386 as float format. Correct typo.
+ 	* config/i386/cygming.h: New file, containing definitions
+ 	common to mingw32 and cygwin.
+ 	* config/i386/cygwin.h: Remove definitions common to cygwin and
+ 	mingw.	Simplify special spec logic.  Define "wrappers" around
+ 	certain include path defines to accommodate -mno-cygwin.
+ 	Remove some #if 0'ed code.
+ 	(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
+ 	(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
+ 	(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
+ 	* config/i386/mingw32.h: Remove definitions common to cygwin and
+ 	mingw.
+ 	(EXTRA_OS_CPP_BUILTINS): Adjust.
+ 	(TARGET_VERSION): Define.
+ 	* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
+ 	mingw32.h definitions.
+ 	(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
+ 	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
+ 	Add compilation rules for cygwin1.o cygwin2.o.
+ 	* config/i386/cygwin1.c: New file.
+ 	* config/i386/cygwin2.c: New file.
+ 	* config/i386/t-cygming: New makefile stub.
+ 
+ 2003-03-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (extract_muldiv_1): Revert changing order of
+ 	operands in case MULT_EXPR of 2003-02-16 patch.
+ 
+ 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
+ 	Merge changes from new-regalloc-branch
+ 
+ 	From Michael Matz  <matz@suse.de>
+ 	* df.c (df_ref_record_1): Move init of loc to safe point.
+ 	Only recurse on interesting things in parallels.
+ 	Handle CLASS_CANNOT_CHANGE_MODE smarter.
+ 	(df_uses_record): Ditto.
+ 
+ 	* df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
+ 	it's already okay to use memory operands in (IE doesn't require
+ 	adding another insn or anything).
+ 
+ 2003-03-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/6348
+ 	* explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
+ 	different from word_mode.
+ 
+ 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
+ 	source operand to those that can be extracted with bld.
+ 
+ 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR 10066
+ 	* arm.md (UNSPEC_PIC_BASE): New constant.
+ 	(pic_add_dot_plus_four): Wrap with unspec.
+ 	(pic_add_dot_plus_eight): Likewise.
+ 
+ 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*insv_si_1_n): New.
+ 	(*insv_si_1_n_lshiftrt): Likewise.
+ 
+ 2003-03-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_mathfn_compare): New function to simplify
+ 	comparisons against built-in math functions.  Fold comparisons
+ 	of sqrt against constants.
+ 	(fold): Call fold_mathfn_compare when appropriate.
+ 
+ 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
+ 	information.
+ 
+ 2003-03-20  Per Bothner  <pbothner@apple.com>
+ 
+ 	Various cleanups to help compile server.
+ 
+ 	* cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
+ 	and pass that to _cpp_init_hashtable.
+ 	(cpp_read_main_file):  Drop hash_table* argument; don't call
+ 	_cpp_init_hashtable.
+ 	* cpplib.h:  Update declarations to match.
+ 	* c-opts.c (c_common_init_options):  Pass ident_hash to
+ 	cpp_create_reader.
+ 	(c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
+ 	* fix-header.c (read_scan_file):  Likewise pass NULL table to
+ 	cpp_create_reader rather than cpp_read_main_file.
+ 
+ 	* cppfiles.c (cpp_rename_file):  Generalized and renamed
+ 	to cpp_change_file.
+ 	* cpplib.h:  Update declaration to match.
+ 	* c-opts.c (push_command_line_line, finish_options):  Change
+ 	cpp_rename_file calls to cpp_change_file.
+ 
+ 	* line-map.c (add_line_map):  Allow leaving the outermost file.
+ 	Allowing entering an outermost-file after the initial time.
+ 
+ 	* toplev.c (pop_srcloc):  Allow popping from initial file.
+ 
+ 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
+ 
+ 	* fold-const.c (fold): Fold A - (A & B) into ~B & A.
+ 
+ 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*addsi3_and_r_1): New.
+ 	(*addsi3_and_not_r_1): Likewise.
+ 
+ 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* Makefile.in (STRICT2_WARN): Add @WERROR@.
+ 	(GCC_WARN_CFLAGS): Remove $(WERROR).
+ 	(fixinc.sh-warn): New.
+ 	* ada/Make-lang.in (ada-warn): Add $(WERROR).
+ 	* cp/Make-lang.in (cp-warn): Add $(WERROR).
+ 	* f/Make-lang.in (f-warn): Add $(WERROR).
+ 	* java/Make-lang.in (java-warn): Add $(WERROR).
+ 	* treelang/Make-lang.in (treelang-warn): Add $(WERROR).
+ 
+ 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
+ 	langhooks-def.h (lhd_tree_dump_dump_tree),
+ 	langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
+ 	Change return type from 'int' to 'bool'.  Replace 0 and 1 with
+ 	true and false in return statements.
+ 
+ 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
+ 
+ 	* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
+ 	(DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
+ 	DWARF_INITIAL_LENGTH_SIZE.
+ 	(output_compilation_unit_header, output_pubnames, output_aranges)
+ 	(output_line_info): Output 0xffffffff escape value for 64-bit
+ 	DWARF extension.
+ 	* config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
+ 
+ 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_preferred_reload_class): Do not
+ 	force constants to the pool unless necessary.
+ 	(s390_decompose_address): Prefer to use pointer as base,
+ 	not index register.
+ 	* config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
+ 	Q alternative.
+ 	("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
+ 	"*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
+ 	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
+ 	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
+ 	"*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
+ 
+ 2003-03-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (machine_function): New fields use_fast_prologue_epilogue.
+ 	* i386.c (use_fast_prologue_epilogue): Remove.
+ 	(ix86_frame): New field save_regs-using_mov;
+ 	(ix86_compute_frame_layout):  Decide on fast prologues;
+ 	allocate saved registers in red zone.
+ 	(ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
+ 
+ 2003-03-19  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
+ 
+ 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR 10062
+ 	* config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
+ 	* pa-protos.h (output_lbranch): New prototype.
+ 	* pa.c (compute_frame_size): Change size of the frame marker on the
+ 	64-bit ports to 48 bytes.
+ 	(pa_output_function_prologue): Document why SAVE_SP is set.
+ 	(hppa_expand_prologue): Save previous stack pointer into frame marker
+ 	on targets which use the hpux unwind library.
+ 	(output_cbranch): Use output_lbranch.
+ 	(output_lbranch): New function to output long unconditional branches.
+ 	* pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
+ 	(STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
+ 	64-bit ports.
+ 	* pa.md (jump): Use output_lbranch.
+ 	(allocate_stack): New expander for dynamic stack allocation.
+ 
+ 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
+ 	when debugging on XCOFF targets.  Delete "abi" temp.
+ 
+ 	PR target/10073
+ 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
+ 
+ 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/s390/s390.c (s390_output_dwarf_dtprel): New.
+ 	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
+ 	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+ 
+ 	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
+ 	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+ 
+ 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
+ 	the result of machopic_function_base_name.
+ 	* config/darwin.c (machopic_function_base_name): Use a gc-allocated
+ 	string rather than a static array.
+ 
+ 	* Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
+ 
+ 	* gengtype.c: Include rtl.h.
+ 	(enum rtx_code): Don't define.
+ 	(rtx_format): Make declaration match rtl.h.
+ 	(rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
+ 	users.
+ 	(adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
+ 	* Makefile.in (gengtype.o): Update dependencies.
+ 
+ 2003-03-18  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
+ 	martin@blom.org.
+ 
+ 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* function.c (next_block_index): Mark with GTY.
+ 
+ 	* config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
+ 
+ 2003-03-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
+ 	(builtin_setjmp_receiver): Delay call to ia64_reload_gp
+ 	until after reload.
+ 
+ 2003-03-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_unop): New target_mode operand;
+ 	use it to convert the result to the correct mode.
+ 	(expand_builtin): Update all callers.
+ 
+ 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
+ 
+ 2003-03-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md:  Fix previous commit that mistakely applied the patch
+ 	twice.
+ 
+ 	* alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
+ 	canonicalized.
+ 	(memrefs_conflict_p): Likewise.
+ 	(addr_side_effect_eval): Canonicalize the constructed address.
+ 
+ 2003-03-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cvtts?2si peep2): New.
+ 
+ 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
+ 
+ 2003-03-18  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* dwarf2out.c (output_file_names): Cast size_t to unsigned long
+ 	for format.
+ 
+ 2003-03-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/10091
+ 	* expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
+ 	an unaligned member of TREE_ADDRESSABLE type.
+ 
+ 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
+ 	(TARGET_PROFILE_KERNEL): Define.
+ 	(SUBTARGET_SWITCHES): Handle -mprofile-kernel.
+ 	(PROFILE_BEFORE_PROLOGUE): Don't define.
+ 	(PROFILE_KERNEL): Remove hacks.
+ 	* config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
+ 	(rs6000_stack_info): No need to save lr if just for profiling when
+ 	TARGET_PROFILE_KERNEL.
+ 	(output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
+ 	(output_function_profiler): Localize label generation.  Emit code
+ 	for kernel profiling.
+ 
+ 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	byte_accesses_mergeable_p.
+ 	* config/h8300/h8300.c (byte_accesses_mergeable_p): New.
+ 	* config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
+ 	(a splitter): Likewise.
+ 	(*iorsi3_ashift_16_ashift_24): Likewise.
+ 	(*iorsi3_ashift_16_ashift_24_mem): Likewise.
+ 
+ 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dwarf2asm.h: Delete obsolete comment.
+ 	(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
+ 	dw2_asm_output_pcrel, dw2_asm_output_addr,
+ 	dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
+ 	dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
+ 	dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
+ 	dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
+ 
+ 2003-03-17  Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* c-tree.h (struct lang_identifier): Remove error_locus field.
+ 	(IDENTIFIER_ERROR_LOCUS): Kill.
+ 	(record_function_scope_shadow): New prototype.
+ 	* c-typeck.c (build_external_ref): Don't complain if
+ 	decl is error_mark_node.  When not at file scope, bind the
+ 	decl's local value to error_mark_node to suppress further
+ 	warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
+ 
+ 	* c-decl.c (get_function_binding_level): New static function.
+ 	(record_function_scope_shadow): New exported function.
+ 	(c_make_fname_decl): Use get_function_binding_level.
+ 
+ 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* stmt.c (tail_recursion_args): Call promote_mode to set
+ 	unsignedp flag correctly before calling convert_move.
+ 
+ 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop-unroll.c (decide_peel_completely,
+ 	decide_unroll_constant_iterations, decide_unroll_stupid,
+ 	decide_unroll_runtime_iterations, decide_peel_simple): Set
+ 	loop->has_desc.
+ 
+ 2003-03-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
+ 
+ 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* function.c (assign_parms): For a struct value address passed as
+ 	first argument, delay the function's result RTL setup code until
+ 	after the emission of parameter conversions.
+ 
+ 2003-03-17  Dave Love  <fx@gnu.org>
+ 	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
+ 	__arch64__ to match Compaq cc.
+ 
+ 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
+ 	(c_common_init): Set EBCDIC in cpp options.
+ 	* cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
+ 	not conditional compilation.
+ 	* cpplib.h (struct cpp_options): New entry EBCDIC.
+ 
+ 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Need to malloc arguments to add_path.
+ 
+ 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Set delete_unused
+ 	argument to 0 for redirect_jump.
+ 
+ 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/8805
+ 	* except.c (eh_region_u_cleanup): Add prev_try.
+ 	(expand_eh_region_end_cleanup): Set it.
+ 	(reachable_handlers): Use it to skip over cleanup blocks.
+ 
+ 2003-03-17  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
+ 
+ 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (TARGET_64BIT): Redefine.
+ 	(TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
+ 	(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
+ 	(SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
+ 
+ 2003-03-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx (simplify_binary_operation): Don't abort for
+ 	SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
+ 
+ 2003-03-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (movstrictqi, movstrictqi_1): Check
+ 	optimize_size as well.
+ 
+ 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
+ 	for D register to specify the low part of it, aka B.
+ 	(m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
+ 	the register if we are loading 1 or -1 to it; avoid using temp
+ 	register when moving X/Y to Y/X.
+ 	(m68hc11_gen_movqi): Likewise.
+ 	(m68hc11_check_z_replacement): Fix last insn setting for compare case.
+ 
+ 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR optimization/9016
+ 	* config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
+ 	into the constant pool.
+ 
+ 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR target/9164
+ 	* tree.c (get_narrower): For extensions with unchanged bit number,
+ 	return the unsignedness of the outer mode.
+ 
+ 2003-03-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
+ 	to avoid "may be used uninitialized" warning on ia64-hpux.
+ 	* config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
+ 
+ 2003-03-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in: Improve check for memcheck.h.
+ 	* configure: Regenerated.
+ 
+ 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* doc/cppopts.texi: Remove documentation of -A-.
+ 
+ 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/libgcc.texi: Remove @tie.
+ 
+ 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* rtl.h (subrtx_p): Renamed to rtx_referenced_p.
+ 	(rtx_pair): Added new element update_label_nuses, renamed to
+ 	replace_label_data.
+ 	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
+ 	replace_label_data instead of rtx_pair.
+ 	* loop.c (load_mems): Likewise.
+ 	* rtlanal.c (replace_label): Replace label in pool constants and in
+ 	INSN_LIST (in REG_LABEL note).
+ 	(subrtx_p): Renamed to rtx_referenced_p.
+ 	(subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
+ 	LABEL_REF with CODE_LABEL, traverse constants from pool.
+ 
+ 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
+ 	* doc/libgcc.texi: New file.
+ 	* doc/interface.texi: Delete paragraph about libgcc interface.
+ 	* doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
+ 
+ 2003-03-15  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR debug/9039
+ 	* dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
+ 
+ 	PR debug/6387
+ 	* dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
+ 	function DIEs at toplevel.
+ 	(decls_for_scope): At -g1, don't descend into subblocks.
+ 
+ 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* varasm.c (struct rtx_const): Change type of un.addr member
+ 	to struct holding an additional 'symbol' member.
+ 	(decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
+ 	with equal string addresses as equal.
+ 	(simplify_subtraction): Adapt to struct rtx_const change.
+ 
+ 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Read main file before handling -D.
+ 
+ 2003-03-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
+ 	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
+ 	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
+ 	(find_sub_basic_blocks): Likewise.
+ 	* cgraphunit.c (cgraph_expand_functions): Likewise.
+ 	* dwarf2out.c (prune_unused_types): Likewise.
+ 	* expr.c (store_field): Likewise.
+ 	* genextract.c (print_path): Likewise.
+ 	* haifa-sched.c (schedule_insn): Likewise.
+ 	* lcm.c (compute_antinout_edge): Likewise.
+ 	* loop-unroll.c (decide_peel_once_rolling): Likewise.
+ 	* ra-colorize.c (ra_colorize_free_all): Likewise.
+ 	* ra-debug.c (dump_igraph): Likewise.
+ 	(debug_hard_reg_set): Likewise.
+ 	* reg-stack.c (reg_to_stack): Likewise.
+ 	* rtlanal.c (refers_to_regno_p): Likewise.
+ 	* tracer.c (layout_superblocks): Likewise.
+ 
+ 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* fix-header.c (read_scan_file): Fix thinko.
+ 
+ 2003-03-15  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	* reload1.c (choose_reload_regs): Use && instead of ||
+ 	with REG_CANNOT_CHANGE_MODE_P condition.
+ 
+ 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.h (cb_register_builtins): Rename c_cpp_builtins.
+ 	* c-lex.c (init_c_lex): Register builtins hook is dead.
+ 	* c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
+ 	(c_common_decode_option): Don't call cpp_handle_option.
+ 	Handle -A, -D and -U.
+ 	(handle_deferred_opts): Simplify.
+ 	(finish_options): Define builtins and command line macros.
+ 	* c-ppoutput.c (init_pp_output): Register builtins hook is dead.
+ 	* cppinit.c: Don't include intl.h.
+ 	(init_builtins): Rename cpp_init_builtins.  No hook to call.
+ 	(init_library): Don't need to sort options.
+ 	(cpp_create_reader): Don't set pending.
+ 	(cpp_destroy): Don't free pending.
+ 	(struct pending_option, cl_directive_handler, struct cpp_pending,
+ 	APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
+ 	cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
+ 	cl_options, cpp_handle_option): Remove.
+ 	* cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
+ 	cpp_finish_options): Remove.
+ 	(cpp_init_builtins): New.
+ 	* fix-header.c (read_scan_file): Update to handle -D.  Fix
+ 	handling of -I.  Replace call to cpp_finish_options.
+ 
+ 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	PR optimization/9387
+ 	* function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
+ 	for conditional returns.
+ 
+ 2003-03-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR optimization/6871
+ 	* varasm.c (assemble_variable): Leave constant zeroes in .rodata.
+ 
+ 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-opts.c (finish_options): New.
+ 	(COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
+ 	(missing_arg): Handle OPT_include and OPT_imacros.
+ 	(c_common_init, c_common_parse_file): Use finish_options.
+ 	(handle_deferred_opts): Update.
+ 	* cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
+ 	(cpp_finish_options): Don't handle -imacros here.
+ 	(no_fil): Remove.
+ 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
+ 
+ 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
+ 	rs6000_maybe_dead if !fromprolog.
+ 
+ 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.h (fe_file_change, pp_file_change): New.
+ 	* c-lex.c (init_c_lex): Don't set cb_file_change.
+ 	(c_common_parse_file): Move to c-opts.c.
+ 	(cb_file_change): Rename fe_file_change.
+ 	* c-opts.c: Include debug.h.
+ 	(warn_unused_macros, include_cursor): New.
+ 	(push_command_line_include, cb_file_change): New.
+ 	(COMMAND_LINE_OPTIONS): Handle -include.
+ 	(c_common_decode_option): Use local warn_unused_macros.
+ 	Handle OPT_include.
+ 	(c_common_post_options): Set file change callback.
+ 	(handle_deferred_opts): Skip -include.  Don't free the array.
+ 	(c_common_init): Call cpp_finish_options here, and push an
+ 	initial -include file.
+ 	* c-ppoutput.c (cb_file_change): Rename pp_file_change.
+ 	(preprocess_file): Don't call cpp_finish_options.
+ 	(init_pp_output): Don't set the file change callback.
+ 	(pp_file_change): Return if no line commands or no output.
+ 	* cpphash.h (next_include_file, first_unused_line): Remove.
+ 	* cppinit.c (include_head, include_tail): Remove.
+ 	(cpp_destroy): Don't free -include chain.
+ 	(cpp_finish_options): Don't handle -include, or worry about
+ 	-Wunused-macros.
+ 	(_cpp_maybe_push_include_file): Remove.
+ 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
+ 	* cpplib.c (_cpp_pop_buffer): Don't handle -include.
+ 	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
+ 	Used flag is set based upon the state of the warn_unused_macros
+ 	flag, and so use of first_unused_line is unnecessary.
+ 
+ 2003-03-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (clear_table): Do not take argument; always clear just
+ 	used slots.
+ 	(cselib_process_insn):  Update call of clear_table
+ 	(cselib_init): Do not call clear_table.
+ 	(cselib_finish): Clear table.
+ 
+ 	* cse.c (count_reg_usage): Do not check side_effects_p.
+ 	* rtlanal.c (set_noop_p): Check side_effects_p only when set looks
+ 	like noop.
+ 	(find_reg_equal_equiv_note): Do not use find_reg_note.
+ 
+ 2003-03-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/9700
+ 	* config/alpha/alpha.c (alpha_va_start): Account for
+ 	current_function_pretend_args_size in the AP offset.
+ 
+ 	* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
+ 	(INITIAL_ELIMINATION_OFFSET): Move out of line.
+ 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
+ 	(alpha_initial_elimination_offset) New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 
+ 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* stmt.c (expand_start_case): Call emit_queue ().
+ 
+ 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
+ 	    Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
+ 	words in new abis.
+ 
+ 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/8396
+ 	* tree-inline.c (initialize_inlined_parameters): Make sure the value
+ 	of read-only constant arguments is passed with the right type.
+ 
+ 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
+ 
+ 	* doc/extend.texi (Function Names): Make the example compilable.
+ 
+ 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (processor_target_table): Really allow
+ 	GP optional instructions on Power4.
+ 
+ 2003-03-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* calls.c (flags_from_decl_or_type): Factor and remove redundant
+ 	conditional tests.
+ 
+ 2003-03-13  Mike Stump  <mrs@apple.com>
+ 
+ 	* ggc-page.c (struct page_entry): Remove varray.h header.
+ 	Add index_by_depth field.
+ 	Remove save_in_use_p field.
+ 	(struct globals): Add depth_in_use, depth_max, by_depth_in_use,
+ 	by_depth_max, by_depth, and save_in_use fields.
+ 	(INITIAL_PTE_COUNT): Add.
+ 	(save_in_use_p_i): Add.
+ 	(save_in_use_p): Add.
+ 	(adjust_depth): Add.
+ 	(move_ptes_to_front): Add.
+ 	(push_depth): Add.
+ 	(push_by_depth): Add.
+ 	(prefetch): Add.
+ 	(free_page): Add support for and use faster data structures.
+ 	(ggc_alloc): Likewise.
+ 	(init_ggc): Likewise.
+ 	(ggc_recalculate_in_use_p): Likewise.
+ 	(ggc_pop_context): Likewise.
+ 	(clear_marks): Likewise.
+ 	(ggc_pch_read): Likewise.
+ 	* Makefile.in (ggc-page.o): Remove varray.h.
+ 
+ 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* ChangeLog: Rotated last year's entries to...
+ 	* ChangeLog.8: New.
+ 
+ 	* config/ia64/fde-glibc.c, config/ia64/freebsd.h,
+ 	config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
+ 	config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
+ 	config/ia64/ia64-protos.h, config/ia64/ia64.c,
+ 	config/ia64/ia64.h, config/ia64/ia64.md,
+ 	config/ia64/itanium1.md, config/ia64/itanium2.md,
+ 	config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
+ 	config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
+ 
+ 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_dwarf_register_span):
+ 	Differentiate endianness.
+ 	(s6000_override_options): Use cpu type instead of TARGET_SPE.
+ 
+ 2003-03-13  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (print_multi_reg): Do not generate a type 2
+ 	LDM instructions with writeback enabled.
+ 	(output_return_instruction): Likewise.
+ 
+ 	* config/arm/pe.h (FIXED_REGISTERS): Remove definition.
+ 	(CALL_USED_REGISTERS): Remove definition.
+ 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ 
+ 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
+ 	(rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
+ 	(rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
+ 	(rs6000_override_options): Don't clear flag_pic for ABI_AIX.
+ 	(rs6000_legitimize_address): Formatting.
+ 	(rs6000_emit_move): Likewise.
+ 	(rs6000_return_addr): Test ABI_AIX as well as flag_pic.
+ 	(rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
+ 	(rs6000_elf_select_section): Comment reason for shlib being
+ 	set for ABI_AIX.
+ 	(rs6000_elf_unique_section): Likewise.
+ 	(rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
+ 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
+ 	as well as flag_pic.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ 	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
+ 	* config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
+ 
+ 2003-03-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
+ 
+ 	* config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
+ 	(ia64_gp_save_reg): Remove.
+ 	(struct ia64_frame_info): Move to the beginning of the file;
+ 	add reg_save_gp.
+ 	(ia64_expand_call): Rearrange for new call patterns.
+ 	(ia64_reload_gp): New.
+ 	(ia64_split_call): New.
+ 	(ia64_compute_frame_size): Allocate reg_save_gp.
+ 	(ia64_expand_prologue): Save reg_save_gp.
+ 	(ia64_expand_epilogue): Don't restore gp.
+ 	(ia64_hard_regno_rename_ok): Remove R4 hack.
+ 	(ia64_function_ok_for_sibcall): New.
+ 	(ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
+ 	call try_split on sibcall pattern.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
+ 	Rename from nopic versions.  Confiscate 2nd argument to call as
+ 	a marker.
+ 	(call_pic, call_value_pic, sibcall_pic): Remove.
+ 	(call_gp, call_value_gp, sibcall_gp): New.
+ 	(builtin_setjmp_setup): Remove.
+ 	(builtin_setjmp_receiver): Call ia64_reload_gp.
+ 
+ 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+ 	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
+ 	"GNU CC" with "GCC".
+ 
+ 	* config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
+ 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
+ 	config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
+ 	GCC, not GNU CC.
+ 
+ 	* genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
+ 	langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
+ 
+ 	* c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
+ 	langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
+ 	unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
+ 	"GNU CC" with "GCC".
+ 
+ 	* config/v850/lib1funcs.asm, config/v850/rtems.h,
+ 	config/v850/v850-c.c, config/v850/v850-protos.h,
+ 	config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
+ 	GCC, not GNU CC.
+ 
+ 	* config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
+ 	config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
+ 	config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
+ 	config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
+ 	GNU CC.
+ 
+ 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
+ 
+ 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* fixinc/fixinc.interix: Remove dead code (most of it).
+ 	* fixinc/fixinc.dgux: Remove.
+ 
+ 	* ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
+ 	ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
+ 
+ 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_init_builtins): Fix warning.
+ 
+ 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
+ 	(ASM_OUTPUT_XDATA_SHORT): Remove.
+ 	(ASM_OUTPUT_XDATA_INT): Remove.
+ 	(ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
+ 	(CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
+ 
+ 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
+ 
+ 	PR c++/7050
+ 	* expr.c (store_expr): Don't attempt to store void-typed trees,
+ 	just evaluate them for side effects.
+ 
+ 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppfiles.c (cpp_rename_file, cpp_push_include): New.
+ 	* cppinit.c (push_include): Move with changes to cppfiles.c.
+ 	(cpp_read_main_file): Mark named operators here...
+ 	(cpp_finish_options): ...not here.  Update.
+ 	(_cpp_maybe_push_include_file): Update.
+ 	* cpplib.h (cpp_push_include, cpp_rename_file): New.
+ 
+ 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
+ 	_gcc_COMPUTE_GAS_VERSION.
+ 	* configure.in: Use them.
+ 	* configure: Regenerate.
+ 
+ 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
+ 	to detect carry.
+ 	(subdi3): Reorder emitted instructions.
+ 
+ 2003-03-12  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
+ 	NETBSD_OS_CPP_BUILTINS_LP64.
+ 
+ 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in: Eliminate all.indirect.  Update and clean up comments.
+ 	Rearrange.  Reorganize.
+ 	* configure.in: Rearrange.
+ 	* configure: Regenerate.
+ 
+ 2003-03-12  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
+ 	LP64 targets.
+ 
+ 	* doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
+ 	_LP64.
+ 
+ 	* config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
+ 	_LP64 macros here.
+ 	* config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
+ 
+ 	* config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
+ 	NETBSD_OS_CPP_BUILTINS_LP64.
+ 	* config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 
+ 	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
+ 
+ 2003-03-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
+ 
+ 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	Fix PR target/9797 and PR c/9853.
+ 	* stmt.c (expand_decl_init): Call push_temp_slots () and
+ 	pop_temp_slots ().
+ 
+ 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c: Include basic-block.h.
+ 	(sh_output_mi_thunk, emit_load_ptr): New functions.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
+ 
+ 2003-03-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
+ 	(CALL_USED_REGISTERS): Likewise.
+ 	* config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
+ 	describing how this value is calculated.
+ 
+ 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* configure.in (rlim_t): Define to long if no valid definition
+ 	found in sys/resource.h.
+ 	* config.in, configure: Regenerate.
+ 
+ 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
+ 	TARGET_OS_CPP_BUILTINS.
+ 	* config/mcore/mcore-pe.h: Similarly.
+ 	* config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
+ 	CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
+ 
+ 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/9928
+ 	* c-decl.c (duplicate_decls): Discard the initializer of the new decl
+ 	only if it is a VAR_DECL.
+ 
+ 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/9888
+ 	* config/i386/i386.md (jcc_1): Fix range.
+ 	(jcc_2): Likewise.
+ 	(jump): LIkewise.
+ 	(doloop_end_internal): Likewise.
+ 
+ 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
+ 	Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
+ 	(DLL_EXPORT_PREFIX): New define. Use throughout instead of
+ 	DLL_IMPORT_EXPORT_PREFIX and "i."
+ 	(i386_pe_dllexport_name_p): Here.
+ 	(i386_pe_dllimport_name_p): Here.
+ 	(i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
+ 	not 9 chars when getting identifier name.
+ 	(i386_pe_mark_dllimport): Here.
+ 	(i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
+ 	not 9 chars when getting identifier name. Correct comment.
+ 	(i386_pe_strip_name_encoding): Here. Add comments for different
+ 	cases.
+ 	(gen_fastcall_suffix): Break down xmalloc() argument to
+ 	components.
+ 	(gen_stdcall_suffix): Likewise.
+ 	Update copyright year.
+ 
+ 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/9888
+ 	* config/i386/i386.md (movsi_1): Remove special alternatives
+ 	for %eax register.
+ 	(movsi_1_nointernunit): Likewise.
+ 	(movhi_1): Likewise.
+ 	* config/i386/i386.c (memory_address_length): Do not use
+ 	short displacement when there is no base.
+ 	(ix86_attr_length_address_default): Handle LEA instructions.
+ 
+ 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-cppbuiltin.c (builtin_define_std): Make non-static.
+ 
+ 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
+ 	(FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
+ 	(FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
+ 	* config/freebsd.h (CPP_PREDEFINES): Remove.
+ 	(TARGET_OS_CPP_BUILTINS): New.
+ 	* config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
+ 	instead of TARGET_OS_CPP_BUILTINS.
+ 	* config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
+ 
+ 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
+ 
+ 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Remove
+ 	insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
+ 
+ 	* config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
+ 
+ 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* toplev.c (independent_decode_option): Return success for --help,
+ 	--target-help and --version.
+ 
+ 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
+ 	Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
+ 	specified.
+ 	(SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
+ 	DRIVER_SELF_SPECS.
+ 	(LINK_SPEC): Let endian options affect the linker emulation name.
+ 
+ 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (reload_inqi): Fix mode for source in second set.
+ 
+ 2003-03-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (cselib_invalidate_mem_1): Move too ...
+ 	(cselib_invalidate_mem): ... here; use new list
+ 	(dummy_val, first_containing_mem): New static variables.
+ 	(clear_table): Initialize first_containing_mem.
+ 	(discard_useless_values):  Compact the containing_mem list.
+ 	(add_mem_for_addr): Add to the list.
+ 	* cselib.h (cselib_val): Add next_containing_mem.
+ 
+ 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Disable string
+ 	instructions for e500.
+ 
+ 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-cppbuiltin.c: Include tm_p.h.
+ 
+ 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
+ 
+ 	* unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
+ 	(_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
+ 	(_Unwind_SetGR): Same.
+ 	(_Unwind_GetGRPtr): New.
+ 	(_Unwind_SetGRPtr): New.
+ 	(uw_update_context_1): Use accesor functions instead of accessing
+ 	context->reg[] directly.
+ 	(uw_install_context_1): Same.
+ 	(execute_cfa_program): Same.
+ 	(__frame_state_for): Same.
+ 
+ 	* config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
+ 	the synthetic register offset.
+ 
+ 	* config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
+ 
+ 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md: Remove lingering EGCS reference.
+ 	("*extopqihi_side_biap"): For HI operation, match
+ 	cris_additive_operand_extend_operator, not
+ 	cris_operand_extend_operator.  Adjust condition.
+ 	("*extopqihi_side", "*extopqihi"): Ditto.
+ 	("*extopqisi_side_biap"): Correct operand numbers in condition.
+ 	("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
+ 	("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
+ 	("*extophisi_swap"): Ditto.
+ 	("*extopqihi_swap_side_biap"): For HI operation, match a simple
+ 	PLUS, not cris_operand_extend_operator.  Adjust condition and
+ 	output template.
+ 	("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
+ 	* config/cris/cris.h (PREDICATE_CODES): Add
+ 	cris_additive_operand_extend_operator.
+ 	* config/cris/cris.c (cris_additive_operand_extend_operator):
+ 	New predicate.
+ 
+ 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* df.c (read_modify_subreg_p): Change from static to global.
+ 	* df.h (read_modify_subreg_p): Add prototype.
+ 	* sched-deps.c (sched_analyze_1): Generate true dependency for
+ 	strict_low_part, certain subregs and zero/sign_extract.
+ 
+ 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.c: Don't include real.h or except.h.
+ 	(REGISTER_PREFIX): Remove.
+ 	(builtin_define_std, builtin_define_with_value,
+ 	builtin_define_with_int_value, builtin_define_with_hex_fp_value,
+ 	builtin_define_type_max, builtin_define_type_precision,
+ 	builtin_define_float_constants): Move to c-cppbuiltin.c.
+ 	(c_stddef_cpp_builtins): New.
+ 	* c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
+ 	* c-cppbuiltin.c: New, extracted from c-common.c.
+ 	(define__GNUC__): New.
+ 	* cppspec.c (lang_specific_driver): Remove support of -no-gcc.
+ 	* gcc.c: Remove support of %v1, %v2 and %v3 specs.
+ 	(cpp_unique_options): Don't support no-gcc.
+ 	(do_spec_1): Remove support of version specs.
+ 	* doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
+ 	* doc/passes.texi: Update.
+ 	* doc/tm.texi: Update.
+ 
+ 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
+ 
+ 2003-03-10  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_function_base_name): If dynamic-no-pic
+ 	is on should not get here.
+ 	(machopic_indirect_data_reference): If dynamic-no-pic is on just
+ 	generate high/low parts of the address.
+ 	(machopic_legitimize_pic_address): Change MACHOPIC_PURE to
+ 	MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
+ 	symbol and labels with a new reg.  Dynamic-no-pic does not have a
+ 	pic_offset_table_rtx.
+ 	(machopic_select_section): Change references of flag_pic to
+ 	MACHOPIC_INDIRECT.
+ 	(machopic_asm_out_destructor): Likewise.
+ 	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
+ 	reference of flag_pic to MACHOPIC_INDIRECT.
+ 	(MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
+ 	(MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
+ 	(MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
+ 	(MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
+ 	* config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
+ 	0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
+ 	* config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
+ 	(TARGET_DYNAMIC_NO_PIC): Define.
+ 	(SUBTARGET_SWITCHES): Define, have sub-target switches for
+ 	dynamic-no-pic.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
+ 	rs6000_override_options to here. Dynamic-no-pic overrides
+ 	pic.
+ 	(CC1_SPEC): Change from not static then pic to not static and not
+ 	dynamic-no-pic then pic.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Move the
+ 	check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
+ 	(rs6000_legitimize_reload_address): Add case for loading floating in
+ 	dynamic-no-pic.
+ 	(rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
+ 	of flag_pic to MACHOPIC_INDIRECT.
+ 	(secondary_reload_class): Conditional change the reference of
+ 	flag_pic to MACHOPIC_INDIRECT.
+ 	(rs6000_output_mi_thunk): Change reference of flag_pic to
+ 	MACHOPIC_INDIRECT.
+ 	(output_profile_hook): Likewise.
+ 	(machopic_output_stub):	Non-pure (dynamic-no-pic) is now supported.
+ 	* config/rs6000/rs6000.md (movdf_low): Add the case for
+ 	MACHO_DYNAMIC_NO_PIC_P.
+ 	(call): Change references for flag_pic in TARGET_MACHO to
+ 	MACHOPIC_INDIRECT.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
+ 	-mdynamic-no-pic is on.	 Also move case for -fpic from rs6000.c.
+ 	* doc/invoke.texi (-mdynamic-no-pic): Document.
+ 
+ 2003-03-10  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR c++/9394
+ 	* gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+ 	* gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
+ 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
+ 	* cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
+ 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
+ 
+ 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+ 
+ 	PR optimization/7189
+ 	* toplev.c (rest_of_compilation):  Move
+ 	check_function_return_warnings up to just after
+ 	delete_unreachable_blocks.
+ 
+ 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
+ 	Declare.
+ 	* config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
+ 	for reg rename optimization to avoid using Z and Y registers.
+ 
+ 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
+ 	when adding to X and Y since leax/leay are fast.
+ 	("*addhi3"): Accept 'I' constraint when adding to address register.
+ 	("rotlhi3"): Operand 1 must be a register_operand.
+ 	(peephole2): New peephole to optimize some adds.
+ 	* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
+ 	to represent -2 .. 2 small integer range.
+ 
+ 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
+ 	each 16-bit rotation.
+ 
+ 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-opts.c (add_prefixed_path): Don't use concat.  When
+ 	prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
+ 	cpp_GCC_INCLUDE_DIR_len characters.
+ 
+ 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* testsuite/gcc.dg/altivec-9.c: New file.
+ 
+ 	* config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
+ 	(rs6000_emit_prologue): Use rs6000_frame_related instead.
+ 
+ 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Define __ev64_*64__ to use single element
+ 	vectors.
+ 	(__ev_convert_u64): Remove macro.  Define as inline.
+ 	(__ev_convert_s64): Same.
+ 
+ 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
+ 	(rs6000_stack_t): Add spe_64bit_regs_used.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Calculate
+ 	spe_64bit_regs_used, and use it to determine the size of the
+ 	frame.
+ 	(spe_func_has_64bit_regs_p): New.
+ 	(spe_synthesize_frame_save): New.
+ 	(rs6000_frame_related): Handle SPE synthetic registers.
+ 	(rs6000_emit_prologue): Only save in 64-bits if the function used
+ 	any registers in 64-bit mode.
+ 	(rs6000_emit_epilogue): Same, but for restore.
+ 
+ 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (enum floating_point_type): Delete.  Replace with...
+ 	(enum fputype): ... new.
+ 	(FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
+ 	* linux-elf.h (FPUTYPE_DEFAULT): Likewise.
+ 	* arm.md (attr fpu): Reworked for new underlying enum values.
+ 	* arm.c	(arm_fpu_arch): Now enum fputype.
+ 	(arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
+ 	(arm_override_options, arm_output_epilogue, arm_expand_prologue):
+ 	Update uses of arm_fpu_arch and arm_fpu_tune.
+ 
+ 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
+ 	(try_crossjump_to_edge): Replace refereces to one jump table by
+ 	references to identical jump table.
+ 	* loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
+ 	(replace_label): Moved to rtlanal.c.
+ 	(struct rtx_pair): Moved to rtl.h.
+ 	* rtl.h (struct rtx_pair): Moved from loop.c.
+ 	(replace_label): New extern function.
+ 	(subrtx_p): New extern function.
+ 	(tablejump_p): New extern function.
+ 	* rtlanal.c (replace_label): Moved from loop.c.
+ 	(subrtx_p_1): New static function.
+ 	(subrtx_p): New function.
+ 	(tablejump_p): New function.
+ 
+ 2003-03-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
+ 
+ 	* cfgcleanup.c (merge_blocks): Return where to iterate next.
+ 	(try_optimize_cfg): Use return value of merge_blocks
+ 
+ 2003-03-10  Michael Matz  <matz@suse.de>
+ 
+ 	* cfg.c (unchecked_make_edge): New.
+ 	(cached_make_edge): Use it.
+ 	* basic-block.h (unchecked_make_edge): Declare.
+ 	* cfglayout.c (cfg_layout_duplicate_bb): Use it.
+ 
+ 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* fpa.md: New file.  Move all patterns relating to FPA co-processor
+ 	to here...
+ 	* arm.md: ... from here.
+ 	(cirrus.md, fpa.md): Include at end of description.
+ 	(divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
+ 	(pic_load_addr_based): Remove register constraint from expander.
+ 	(seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
+ 	(sordered, sungt, sunle, sunge, sunlt): Likewise.
+ 	(eh_epilogue, tablejump): Likewise.
+ 
+ 2003-03-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (substitute_in_expr, case 'e'): Only make recursive call
+ 	on operands if it has a PLACEHOLDER_EXPR.
+ 
+ 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
+ 	    Mostafa Hagog
+ 
+ 	* config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
+ 	condition.
+ 
+ 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
+ 	* config/ip2k/ip2k.h: Similarly.
+ 	* config/m32r/m32r.h: Similarly.
+ 	* config/m68hc11/m68hc11.h: Similarly.
+ 	* config/mn10200/mn10200.h: Similarly.
+ 	* config/mn10300/mn10300.h: Similarly.
+ 	* config/pdp11/pdp11.h: Similarly.
+ 	* config/v850/v850.h: Similarly.
+ 	* config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
+ 	* config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
+ 	* config/mips/iris3.h: Remove #if 0 block.
+ 
+ 2003-03-09  Roger Sayle  <roger@eyesopen.com>
+ 	    Joern Rennecke <joern.rennecke@superh.com>
+ 
+ 	* gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
+ 	pending argument upon return from handle_braces here.
+ 	(do_spec_2): Instead handle it upon return from do_spec_1 here.
+ 
+ 2003-03-09  Roger Sayle  <roger@eyesopen.com>
+ 	    Joern Rennecke <joern.rennecke@superh.com>
+ 
+ 	* gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
+ 	pending argument upon return from handle_braces here.
+ 	(do_spec_2): Instead handle it upon return from do_spec_1 here.
+ 
+ 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	* varasm.c (make_decl_one_only): Use declare_weak().
+ 
+ 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/9986
+ 	* c-common.c (c_common_nodes_and_builtins): Initialize target builtins
+ 	after the common builtins.
+ 	* pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
+ 	* pa.c (TARGET_INIT_BUILTINS): Define.
+ 	(pa_init_builtins): New function.
+ 
+ 	* pa.md (call, call_value, sibcall, sibcall_value): When sufficient
+ 	space has been allocated for the outgoing arguments, set the arg
+ 	pointer for a call emitted after virtuals have been instantiated
+ 	using the stack pointer offset, otherwise abort.
+ 
+ 2003-03-09  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
+ 
+ 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
+ 	(arm_fix_truncdfsi2): Add missing fix in floating point mode before
+ 	conversion to integer.
+ 	* cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
+ 
+ 2003-03-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def: Fix typo and improve grammar.
+ 	* loop-unroll.c (decide_peel_completely): Tidy log message.
+ 
+ 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*tstsi_upper_bit): New.
+ 	(*iorsi3_e2f): Likewise.
+ 
+ 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_and_costs): Return the number of
+ 	assembly instructions needed.
+ 	(h8300_shift_costs): Likewise.
+ 
+ 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/cris/aout.h (ENDFILE_SPEC): Undef.
+ 
+ 	* optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
+ 	moves from here ...
+ 	* expr.c (emit_move_insn_1): ... to here.
+ 
+ 	* config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
+ 	(TARGET_OS_CPP_BUILTINS): New macro.
+ 	* config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
+ 	(TARGET_OS_CPP_BUILTINS): New macro.
+ 	(CPP_PREDEFINES): Don't define.  Move old definitions and...
+ 	(CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
+ 	(TARGET_CPU_CPP_BUILTINS): New macro.
+ 	* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
+ 	definitions and the optional __PIC__, __pic__ and
+ 	__NO_UNDERSCORES__ definitions to...
+ 	(TARGET_OS_CPP_BUILTINS): New macro.
+ 
+ 	* flags.h (flag_leading_underscore): Declare.
+ 
+ 	* c-opts.c (c_common_post_options): On fopen failure, return
+ 	false, not NULL.
+ 
+ 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
+ 	config.h.
+ 	* config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
+ 	* config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
+ 
+ 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
+ 	CPP_PREDEFINES.
+ 	* config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
+ 	CPP_PREDEFINES.
+ 
+ 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-common.h (c_common_init, c_common_post_options): Update.
+ 	* c-objc-common.c (c_objc_common_init): Update for new prototype.
+ 	* c-opts.c (saved_lineno): New.
+ 	(c_common_post_options, c_common_init): Update prototypes,
+ 	move call to cpp_read_main_file from latter to former.
+ 	* c-tree.h (c_ojbc_common_init): Update.
+ 	* langhooks-def.h (lhd_post_options): New.
+ 	(LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
+ 	* langhooks.c (lhd_post_options): New.
+ 	* langhooks.h (struct lang_hooks): Update post_options and init hooks.
+ 	* toplev.c (no_backend): New.
+ 	(process_options): Call post_options hook and set main_input_filename
+ 	and input_filename here.
+ 	(lang_dependent_init, do_compile): post_options hook moved to
+ 	process_options.
+ 	* objc/objc-act.c (objc_init): Update prototype.
+ 	* objc/objc-act.h (objc_init): Update prototype.
+ 
+ 2003-03-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* emit-rtl.c (gen_lowpart): Don't attempt to load a part of
+ 	a complex or vector type, using a load in the original mode.
+ 
+ 2003-03-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
+ 	* gt-cgraph.h: New GC file.
+ 	* cgraph.c (known_fns): New static variable.
+ 	(cgraph_node): Add the decl into varray.
+ 
+ 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
+ 
+ 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
+ 	(neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
+ 	(output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
+ 	(output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
+ 	All callers changed.
+ 	* arm.md, arm.h, arm-protos.h: Updated.
+ 
+ 	* arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
+ 	(CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
+ 	* arm.c (arm_regno_class, f_register_operand): Updated.
+ 
+ 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/cris/cris.h: Remove EGCS references.
+ 	(CPP_SPEC): Remove "-$".
+ 	(INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
+ 
+ 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
+ 	preference to CPP_PREDEFINES.
+ 
+ 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* cppinit.c (cpp_finish_options): Set first_unused_line to -1.
+ 
+ 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_16_8): New.
+ 
+ 2003-03-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
+ 	* cgraph.h: (cgraph_local_info): Add can_inline_once
+ 	(cgraph_global_info): Add inline_once.
+ 	(cgraph_node): Add previous.
+ 	(cgraph_remove_node): New.
+ 	* cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
+ 	function.
+ 	(cgraph_optimize): Call it.
+ 	(cgraph_finalize_function):  Set inlinable flags.
+ 	(cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
+ 	(cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
+ 	(cgraph_expand_function): Likewise.
+ 	* cgraph.c
+ 	(cgraph_node): Put nodes into doubly linked chain.
+ 	(cgraph_remove_node): New function.
+ 	* flags.h (flag_inline_functions_called_once): Declare.
+ 	* tree-inline.c: Include cgraph.h
+ 	(inlinable_functions_p): Add extra argument to bypass limits.
+ 	(expand_call_inline):  Obey cgraph flag.
+ 	* tree-inline.h (tree_inlinable_function_p): Update prototype.
+ 
+ 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcse.c (bypass_block, bypass_conditional_jumps): Do not create
+ 	irreducible loops.
+ 
+ 	* loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
+ 	loops info correctly.
+ 
+ 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/7796
+ 	* unroll.c (calculate_giv_inc): Handle constants being
+ 	loaded with LSHIFTRT.
+ 
+ 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (processor_target_table): Do not disable
+ 	GP optional instructions on Power3, Power4, 620, and 630.
+ 
+ 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c: Fix comment formatting.
+ 	* cfgloopanal.c: Likewise.
+ 	* cfgloopmanip.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* ggc-common.c: Likewise.
+ 	* langhooks.c: Likewise.
+ 	* loop-unroll.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* sbitmap.c: Likewise.
+ 	* toplev.c: Likewise.
+ 
+ 2003-03-07  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
+ 
+ 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* objc/lang-specs.h (objective-c-header): Use .gch not .pch;
+ 	support -no-integrated-cpp.
+ 
+ 	* c-pch.c (get_ident): Use c_language_kind and flag_objc rather
+ 	than langhooks.name.
+ 
+ 2003-03-07  Michael Matz  <matz@suse.de>
+ 
+ 	* df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
+ 	(DF_FOR_REGALLOC): New.
+ 	* df.c (df_ref_record): Set DF_REF_STRIPPED.
+ 	(read_modify_subreg_p): Simplify.
+ 	(df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
+ 	Use DF_FOR_REGALLOC.
+ 	* ra.h (struct web): New member subreg_stripped.
+ 	(invalid_mode_change_regs): Declare.
+ 	* ra.c (invalid_mode_change_regs): New.
+ 	(init_ra): Initialize it.
+ 	* ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
+ 	Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
+ 	(reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
+ 	* ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
+ 	Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
+ 
+ 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
+ 	(negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
+ 	(fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
+ 	machine description file from ...
+ 	* cirrus.md: ... here.
+ 
+ 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Don't use
+ 	reg_overlap_mentioned_p.
+ 
+ 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-pch.c: Include langhooks.h.
+ 	(IDENT_LENGTH): New.
+ 	(get_ident): New.
+ 	(pch_ident): Delete.
+ 	(pch_init): Use get_ident, IDENT_LENGTH.
+ 	(c_common_valid_pch): Likewise.  Also, use actual language
+ 	in warning message.
+ 	* Makefile.in (c-pch.o): Add langhooks.h to dependencies.
+ 
+ 	* objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
+ 	c-parse.in.
+ 	* objc/Make-lang.in (objc/objc-act.o): Add dependency on
+ 	gt-objc-objc-act.h.
+ 	(gt-objc-objc-act.h): New rule.
+ 	* objc/lang-specs.h: Support PCH.
+ 	* objc/objc-act.c: Include gt-objc-objc-act.h.
+ 	(objc_add_static_instance): Move num_static_inst out, mark for PCH.
+ 	(build_selector_reference_decl): Move idx out, mark for PCH.
+ 	(build_class_reference_decl): Likewise.
+ 	(build_objc_string_decl): Move *_idx out, mark for PCH.
+ 	(build_tmp_function_decl): Move xxx out, mark for PCH.
+ 
+ 2003-03-06  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
+ 	global functions for inlining on Darwin.
+ 
+ 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (schedule_block): Don't call reorder when sorting
+ 	is prohibited.
+ 
+ 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (c-ppoutput.o): Update.
+ 	* c-common.h (init_pp_output): New.
+ 	(preprocess_file): Update.
+ 	* c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
+ 	Register builtins.
+ 	* c-opts.c (c_common_init): Call init_pp_output if preprocessing.
+ 	Make call to cpp_read_main_file common to whether preprocessing
+ 	or not.  Don't register builtins.
+ 	* c-ppoutput.c: Include c-pragma.h.
+ 	(setup_callbacks): Rename init_pp_output.
+ 	(preprocess_file): No longer setup callbacks or call
+ 	cpp_read_main_file.
+ 	* cpphash.h (_cpp_init_mbchar): New.
+ 	* cppinit.c (init_library): Call _cpp_init_mbchar.
+ 	* cpplex.c (_cpp_init_mbchar): New.
+ 
+ 2003-03-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* emit-rtl.c (gen_lowpart): When requesting the low-part of a
+ 	MEM, try loading the MEM into a register and taking the low-part
+ 	of that, to help CSE see the use of the MEM in its true mode.
+ 
+ 2003-03-05  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
+ 	Define.
+ 
+ 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
+ 
+ 	* config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
+ 	operand 2.
+ 	("*ineqbranchsi"): Likewise.
+ 
+ 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
+ 	mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
+ 	register store followed by a stack increment.
+ 
+ 2003-03-05  Chris Moller  <cmoller@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
+ 	to inhibit saving CARRY_REGS.
+ 
+ 	* config/stormy16/stormy16.c (xs_hi_general_operand):
+ 	added predicate to detect and error-out on out-of-range
+ 	const_ints for movhi.
+ 	* config/stormy16/stormy16.md (movhi): use
+ 	xs_hi_general_operand.
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_expand_prologue):
+ 	added a check for local vbl size overflow.
+ 	* config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
+ 	added predicate to detect and error-out on out-of-range
+ 	const_ints for addhi and subhi.
+ 	* config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
+ 	subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
+ 	add a term to accept PRE_MODIFY addresses.
+ 	* config/stormy16/stormy16.c (xstormy16_expand_move):
+ 	add code to expand PRE_MODIFY addresses to an add followed
+ 	by a move.
+ 
+ 2003-03-06  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree-inline.c (inlinable_function_p): Revert earlier change
+ 	pending investigation.
+ 
+ 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a new peephole2): New.
+ 
+ 2003-03-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_node): Do not confuse nested functions and methods.
+ 
+ 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* dwarf2out.c (size_of_die): Compute size of external reference to
+ 	die correctly.
+ 
+ 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.md ("*movcc_expanded"): New pattern.
+ 	("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
+ 	expanders.
+ 
+ 2003-03-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expr.h (lang_expand_expr): Delete obsolete prototype.
+ 
+ 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (gen_highpart_mode): Fix a comment typo.
+ 
+ 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Generalize to
+ 	accept a memory operand.
+ 
+ 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
+ 
+ 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
+ 	* config/alpha/alpha.c (print_operand, case '+'): New.
+ 	* config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
+ 	(call_value_osf_1_noreturn): Likewise.
+ 
+ 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
+ 	(expand_end_bindings): Likewise.
+ 
+ 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
+ 	(epilogue): Don't generate return_external_pic when emitting PA 2.0
+ 	code.
+ 
+ 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
+ 
+ 	* hooks.c (hook_rtx_rtx_null): New.
+ 
+ 	* hooks.h (hook_rtx_rtx_null): Protoize.
+ 
+ 	* target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
+ 	(TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
+ 
+ 	* target.h (struct gcc_target): Add dwarf_register_span.
+ 
+ 	* dwarf2out.c (multiple_reg_loc_descriptor): New.
+ 	(one_reg_loc_descriptor): New.
+ 	(reg_loc_descriptor): Add support for values that span more than
+ 	one register.
+ 
+ 2003-03-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
+ 	* alias.c:  Include cgraph.h
+ 	(mark_constant_function): Use cgraph_rtl_info.
+ 	* calls.c:  Include cgraph.h
+ 	(flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
+ 	calls.
+ 	(expand_call): Use cgraph_rtl_info to set preferred stack boundary.
+ 	* cgraph.c (cgraph_rtl_info): New function.
+ 	* cgraph.h (cgraph_rtl_info): Declare
+ 	(cgraph_rtl_info): Likewise.
+ 	* function.h (struct function): Add recursive_call_emit.
+ 	* toplev.c: Include cgraph.h.
+ 	(rest_of_compilation): Set preferred_incoming_stack_boundary.
+ 
+ 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_simode_bld): Clear the
+ 	destination first if possible.
+ 	* config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
+ 	alternative.
+ 	(extzv_1_r_inv_h8300hs): Likewise.
+ 
+ 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
+ 	* cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
+ 	* cfgloop.c (flow_loop_free): Made global.
+ 	(establish_preds): New static function.
+ 	(flow_loop_tree_node_add): Handle subloops of added loop correctly.
+ 	(get_loop_exit_edges): New.
+ 	(verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
+ 	* cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
+ 	* cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
+ 	loops.
+ 	* cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
+ 	removability of an edge.
+ 	(fix_irreducible_loops): New static function.
+ 	(find_path, remove_path): Add ability to remove enclosing loops.
+ 	(unloop): New.
+ 	(copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
+ 	flags.
+ 	* cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
+ 	* loop-unroll.c (peel_loops_completely): Do not duplicate loop if
+ 	not neccessary.
+ 	(decide_peel_completely, peel_loops_completely): Allow complete peeling
+ 	of non-duplicable once rolling loops.
+ 	* loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
+ 
+ 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
+ 	for align_jumps is 4.
+ 
+ 	(SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
+ 	use GENERAL_REGS.
+ 
+ 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
+ 	according to va_arg type.
+ 	(EXPAND_BUILTIN_VA_ARG): Remove.
+ 	* config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
+ 
+ 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
+ 	else clauses.
+ 
+ 2003-03-05  Michael Matz  <matz@suse.de>
+ 
+ 	* i386/i386.c (ix86_save_reg): Also test
+ 	current_function_uses_const_pool.
+ 
+ 2003-03-05  Michael Matz  <matz@suse.de>
+ 
+ 	* unwind.h: Add the GPL exception.
+ 	* Makefile.in (USER_H): Add unwind.h.
+ 
+ 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/9799
+ 	* c-typeck.c (push_init_level): Add sanity check.
+ 
+ 2003-03-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation):  Defer RTL compilation only when
+ 	RTL inlining is done.
+ 
+ 	* cgraphunit.c (cgraph_mark_local_functions): New local function.
+ 	(cgraph_optimize): Mark local functions.
+ 	* i386-protos.h (init_cumulative_args): Update prototype.
+ 	* i386.c (init_cumulative_args): Use register passing convention for
+ 	local functions.
+ 
+ 	* cgraph.c (cgraph_global_info_ready): New global variable
+ 	(cgraph_local_info, cgraph_global_info): New functions.
+ 	* cgraph.h (struct cgraph_local_info, cgraph_global_info): New
+ 	structures.
+ 	(cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
+ 	Declare.
+ 	* cgraphunit.c (cgraph_finalize_function): Set inline_many.
+ 	(cgraph_mark_functions_to_output): Use inline_many.
+ 	(cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
+ 	(cgraph_expand_functions): Expand inline functions last.
+ 	(cgraph_optimize): Do not emit uneeded functions.
+ 
+ 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* expr.c (convert_modes): Check for legal hard register.
+ 
+ 2003-03-04  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/sourcebuild.texi (Front End Directory): Document tags.
+ 	* configure: Rebuilt.
+ 	* configure.in (target_list): Added tags.
+ 	* Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
+ 	TAGS files by reference.
+ 	* objc/Make-lang.in (objc.tags): New target.
+ 
+ 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
+ 	gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
+ 	gcov_write_string, gcov_read_unsigned, gcov_read_counter,
+ 	gcov_read_string, gcov_write_length): Modified to enable reading/
+ 	writing of whole .da file just once.
+ 	(da_file_open, da_file_close, da_file_eof, da_file_error,
+ 	da_file_position, da_file_seek, da_file_write, da_file_read): New
+ 	functions.
+ 	(actual_da_file, actual_da_file_position, actual_da_file_length,
+ 	actual_da_file_buffer, actual_da_file_buffer_size): New static
+ 	functions.
+ 	* libgcov.c (gcov_exit): Modified to read/write the whole .da file at
+ 	just once.
+ 
+ 
+ 2003-03-04  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
+ 	offset without frame pointer.
+ 
+ 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* expr.c (expand_expr): Call promote_mode to set unsignedp.
+ 
+ 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* configure.in: Don't always define TARGET_SYSTEM_ROOT.
+ 	* configure: Regenerated.
+ 	* gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
+ 
+ 2003-03-04  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* configure.in: Check for <memcheck.h>.
+ 	* configure: Regenerated.
+ 
+ 	* config.in: Define HAVE_MEMCHECK_H.
+ 
+ 	* ggc-common.c: Use <memcheck.h> if available instead of
+ 	<valgrind.h>.
+ 	* ggc-page.c: Likewise.
+ 	* cppfiles.c: Likewise.
+ 
+ 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
+ 
+ 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/9262
+ 	* c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
+ 	(c_finish_case): Rechain the next statements to the SWITCH_STMT.
+ 
+ 2003-03-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
+ 	* toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
+ 	for -O3.
+ 
+ 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.in: Delete three unused variables.  Move a variable
+ 	definition closer to its use.  Simplify use_collect2 logic.  Start to
+ 	organize.  Simplify tests for in-tree gas and ld.
+ 	* configure: Regenerate.
+ 
+ 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in: Update.
+ 	* c-common.c (flag_no_line_commands, flag_no_output,
+ 	flag_dump_macros, flag_dump_includes): New.
+ 	* c-common.h (flag_no_line_commands, flag_no_output,
+ 	flag_dump_macros, flag_dump_includes, preprocess_file): New.
+ 	(init_c_lex): Update prototype.
+ 	* c-lex.c (init_c_lex): Update prototype; move some code to
+ 	c_common_init.
+ 	* c-opts.c (preprocess_file): Subsume into c_common_init.
+ 	(c_common_decode_option): Update flags.
+ 	(c_common_init): Move code from preprocess_file and init_c_lex.
+ 	(sanitize_cpp_opts): Update.
+ 	* c-ppoutput.c: New, cppmain.c almost verbatim.
+ 	* cpphash.h (struct printer): Remove.
+ 	(struct cpp_reader): Remove print.
+ 	* cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
+ 	cpp_preprocess_file): Remove.
+ 	(struct cpp_options): Remove no_output, no_line_commands, dump_macros
+ 	and dump_includes.
+ 	* cppmain.c: Remove.
+ 	* doc/passes.texi: Update.
+ 
+ 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
+ 	(assign_stack_local_1): Perform overall stack alignment only when
+ 	STACK_ALIGNMENT_NEEDED is nonzero.
+ 	* doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
+ 
+ 	* pa.c (compute_frame_size): Rename fsize to size.  Account for
+ 	alignment to a word boundary before general register save block.  Only
+ 	account for double-word alignment before floating point register save
+ 	block if one or more are saved.  Don't allocate space for %r3 when
+ 	frame pointer is needed.
+ 	(hppa_expand_prologue): Include alignment to word boundary in local
+ 	frame size.
+ 	* pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
+ 	(STACK_ALIGNMENT_NEEDED): Define.
+ 
+ 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
+ 
+ 	* dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
+ 	global register variables.
+ 
+ 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload.c (reload_adjust_reg_for_mode): New function.
+ 	(subst_reloads): Call it.
+ 	(operands_match_p): Adjust registers using HARD_REGNO_NREGS.
+ 	* reload.h (reload_adjust_reg_for_mode): Declare.
+ 	* reload1.c (emit_input_reload_insns, emit_output_reload_insns):
+ 	Call it.
+ 
+ 2003-03-03  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* optabs.c (add_equal_note): Delete SUBREG_REG use.
+ 	Fixes PR c/7872.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*ixorsi3_ashift_16): New.
+ 	(*ixorsi3_lshiftrt_16): New.
+ 	(*iorsi3_ashift_16): Remove.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
+ 	pattern.
+ 
+ 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/install.texi (Specific): Update entry for powerpc-darwin.
+ 
+ 2003-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
+ 
+ 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
+ 	(rs6000_variable_issue): Do not return negative value.
+ 	(rs6000_issue_rate): Uniformly set issue rate to 1 for first
+ 	scheduling pass.
+ 
+ 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
+ 	prune_unused_types calls.
+ 
+ 2003-03-03  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree-inline.c (find_builtin_longjmp_call): Save and restore
+ 	lineno and input_filename.
+ 	(find_alloca_call): Likewise.
+ 	(inlinable_function_p): Run the langhook earlier.
+ 
+ 	* calls.c (compute_argument_addresses): Give the new MEMs a
+ 	minimum alignment of PARM_BOUNDARY.
+ 
+ 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
+ 	subtarget_asm_isa_spec.
+ 	(SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
+ 	(ASM_SPEC): Define as SH_ASM_SPEC.
+ 	(SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
+ 	Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
+ 	* config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
+ 	(SUBTARGET_ASM_ISA_SPEC): Undef / define.
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
+ 	and align_jumps if not set.
+ 	Force align_jumps to be at least 2.
+ 	When relaxing, force align_functions to be at least the maximum of
+ 	align_loops, align_jumps and 4.
+ 	* sh.c (find_barrier, barrier_align): Honour align_jumps_log.
+ 	(sh_loop_align): Honour align_loops_log.
+ 
+ 	* sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
+ 	to check for indirect_jump_scratch.
+ 	(indirect_jump_scratch): Add second set.
+ 	* sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
+ 	when looking for indirect_jump_scratch.
+ 	Extract scratch register taking new structure of indirect_jump_scratch
+ 	into account.
+ 	(gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
+ 
+ 2003-03-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (rtx_for_function_call): Take the address as an argument
+ 	(expand_call): Do not modify the expression.
+ 
+ 	* toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
+ 	optimizing.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
+ 	TARGET_H8300H and TARGET_H8300S.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_8_8): Use shorter code when
+ 	operands[0] and operands[1] are different.
+ 
+ 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reload_cse_move2add): Remove variable success.
+ 
+ 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
+ 	warnings.
+ 
+ 2003-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
+ 	* config.in, configure: Rebuild.
+ 	* config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
+ 	* config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
+ 	paired ldtoffx and ldxmov annotations.
+ 	(load_symptr_internal1): Remove.
+ 	(load_symptr_high, load_symptr_low): New.
+ 
+ 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-incpath.c (add_path): Fix sysp assignment.
+ 
+ 2003-03-02  Kurt Garloff  <garloff@suse.de>
+ 
+ 	* params.def: Introduce parameter max-inline-insns-rtl for
+ 	a separate limit for the RTL inliner.
+ 	* params.h: Likewise.
+ 	* integrate.c (function_cannot_inline_p): Use it.
+ 	* toplev.c (decode_f_option): Set multiple parameters
+ 	controlling inlining with -finline-limit.
+ 	* params.def: Fix orthographic and typographic errors.
+ 	* doc/invoke.texi: Document parameters controlling inlining
+ 	and the way -finline-limit sets multiple of them.
+ 
+ 	* tree.h (struct tree_decl): Introduce inlined_function_flag,
+ 	recording whether the function became eligible for inlining
+ 	by a compiler flag rather than the declaration.
+ 	Provide DID_INLINE_FUNC macro to access it.
+ 	* c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
+ 	* cp/decl.c (grokfndecl): Likewise.
+ 	* toplev.c (rest_of_compilation): Likewise.
+ 	* cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
+ 	* print-tree.c (print_node): Report it.
+ 	* params.def: Introduce new max-inline-insns-auto limit.
+ 	* params.h: Likewise.
+ 	* tree-inline.c (inlinable_function_p): Apply it to functions
+ 	with DID_INLINE_FUNC set.
+ 	* toplev.c (decode_f_option): Initialize it from -finline-limit
+ 	value.
+ 	* doc/invoke.texi: Document new parameter.
+ 
+ 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* fix-header.c (read_scan_file): Don't reference simplify_path.
+ 
+ 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
+ 	min/max instructions by default as may result in reload errors.
+ 
+ 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
+ 	avoid reload problems; define split for it.
+ 
+ 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
+ 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
+ 	* config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
+ 	rotatert and rotate.
+ 	("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
+ 	("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
+ 	("*rotrhi3_addr"): New split for shift insns on address register.
+ 	("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
+ 	* config/m68hc11/larith.asm (___rotlhi3): New asm function.
+ 	(___rotrhi3): Likewise.
+ 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
+ 
+ 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* toplev.c (aux_base_name): Moved from toplev.h.
+ 	(filename): Constify.
+ 	(lang_dependent_init): Don't duplicate name.
+ 	(process_options): Set aux_base_name here, not...
+ 	(do_compile): ...here.  Change protoype.
+ 	(toplev_main): Move some code from do_compile.
+ 	* toplev.h: Remove aux_base_name.
+ 
+ 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	iorxor_operator.
+ 	* config/h8300/h8300.c (print_operand): Handle 'c'.
+ 	(iorxor_operator): New.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
+ 	* config/h8300/h8300.md (*iorhi3_zext): Remove.
+ 	(*iorsi3_zexthi): Likewise.
+ 	(*iorsi3_zextsi): Likewise.
+ 	(*xorhi3_zextqi): Likewise.
+ 	(*xorsi3_zexthi): Likewise.
+ 	(*xorsi3_zextsi): Likewise.
+ 	(*ixorhi3_zext): New.
+ 	(*ixorsi3_zext_qi): Likewise.
+ 	(*ixorsi3_zext_hi): Likewise.
+ 
+ 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-incpath.c (remove_component_p, simplify_path): Move back to
+ 	cppfiles.c.
+ 	(remove_duplicates): Use cpp_simplify_path.
+ 	* c-incpath.h (simplify_path): Remove.
+ 	* c-lex.c: Don't include c-incpath.h.
+ 	(init_c_lex): Remove simplify_path.
+ 	* cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
+ 	(find_or_create_entry, validate_pch): Revert.
+ 
+ 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
+ 
+ 	* gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
+ 	  an external cpp during compilation.
+ 	(option_map): Likewise.
+ 	* objc/lang-specs.h (default_compilers): Similarly.
+ 	* doc/invoke.texi: Document -no-integrated-cpp flag.
+ 
+ 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (zero_extendqisi2): Change to an
+ 	expander.
+ 	(*zero_extendqisi2_h8300): New.
+ 	(*zero_extendqisi2_h8300hs): New.
+ 	(two splitters): New.
+ 
+ 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fp-bit.h (float_to_usi): Fix condition wrapping prototype.
+ 
+ 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Remove dead code.
+ 
+ 2003-03-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c++/9367
+ 	* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
+ 	(BT_FN_INT_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_STRING_CONST_STRING_VAR,
+ 	BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
+ 	BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
+ 	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
+ 	ATTR_NONNULL_3): Also include the nothrow attribute.
+ 	(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
+ 	vsnprintf, vscanf, vsscanf): Don't define attributes here.
+ 	* builtins.def (putchar, puts): Make full C89 built-ins.
+ 	(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
+ 	vsscanf, vsnprintf, vsprintf): New built-ins.
+ 	* c-common.c (c_common_nodes_and_builtins): Handle new macro
+ 	DEF_FUNCTION_TYPE_VAR_3.
+ 
+ 	* doc/extend.texi: Document these new built-in functions.
+ 
+ 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* predict.c (estimate_bb_frequencies): Correctly set
+ 	real_values_initialized after initialization.
+ 
+ 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
+ 	cppinit.o, cppdefault.o, fix-header): Update.
+ 	* c-incpath.c: New file.
+ 	* c-incpath.h: New file.
+ 	* c-lex.c: Include c-incpath.h.
+ 	(init_c_lex): Register path simplifier.
+ 	* c-opts.c: Include cppdefault.h and c-incpath.h.
+ 	(TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
+ 	std_cxx_inc, quote_chain_split, add_prefixed_path): New.
+ 	(COMMAND_LINE_OPTIONS): Add more options from cpplib.
+ 	(missing_arg, c_common_decode_option): Handle them.
+ 	(c_common_post_options): Register include chains.
+ 	(print_help): Update.
+ 	* cppdefault.h (struct default include): Update.
+ 	Move some macros to ...
+ 	* cppdefault.c: ... here.
+ 	(cpp_include_defaults): Add extra field add_sysroot.
+ 	* cppfiles.c (include_file, search_from, find_or_create_entry,
+ 	cpp_included, find_include_file, remap_filename): Update for
+ 	renaming of search_path to cpp_path, and of the chain headers.
+ 	(remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
+ 	* cpphash.h (struct search_path): Move to cpplib.h.
+ 	(struct cpp_buffer, struct cpp_reader): Update.
+ 	(_cpp_simplify_pathname): Remove.
+ 	* cppinit.c: Don't include prefix.h and cppdefault.h.
+ 	(INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
+ 	remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
+ 	init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
+ 	no_pth, cpp_handle_options): Remove.
+ 	(struct pending_option): Remove chain members.
+ 	(cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
+ 	cpp_handle_option): Update.
+ 	* cpplib.h (struct cpp_path, cpp_set_include_chains): New.
+ 	(struct cpp_options): Remove quote_include, bracket_include,
+ 	include_prefix, include_prefix_len, verbose, ignore_srcdir,
+ 	no_standard_includes, no_standard_cplusplus_includes.
+ 	(struct cpp_callbacks): Add simplify_path.
+ 	(cpp_handle_options): Remove.
+ 	* fix-header.c: Include c-incpath.h.
+ 	(read_scan_file): Update to use c-incpath functionality.
+ 	* doc/passes.texi: Update.
+ 
+ 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (bit_operand): Accept MEM only if it
+ 	satisfies EXTRA_CONSTRAINT 'U'.
+ 
+ 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
+ 	register.
+ 	(*tst_extzv_memqi_1_n): Change to a splitter.
+ 	(a peephole2): Update.
+ 
+ 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* predict.c (estimate_bb_frequencies): Initialize the sreal
+ 	constants once per compilation.
+ 
+ 2003-02-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (flag_eliminate_unused_debug_types): Enable by default.
+ 
+ 2003-02-28  scott snyder  <snyder@fnal.gov>
+ 
+ 	* flags.h: Add flag_eliminate_unused_debug_types.
+ 	* toplev.c: Add flag_eliminate_unused_debug_types.
+ 	(f_options): Add -feliminate-unused-debug-types.
+ 	* dwarf2out.c (struct file_table): Add emitted member.
+ 	(splice_child_die): Fix the parent pointer for the child being
+ 	spliced.
+ 	(lookup_filename): Maintain file_table.emitted array.  Don't
+ 	output .file directive here.
+ 	(maybe_emit_file): (new)
+ 	(init_file_table): Set up file_table.emitted.
+ 	(dwarf2out_source_line): Use maybe_emit_file.
+ 	(dwarf2out_start_source_file): Use maybe_emit_file.
+ 	(dwarf2out_init): Use maybe_emit_file.
+ 	(prune_unused_types_walk_attribs): (new)
+ 	(prune_unused_types_mark): (new)
+ 	(prune_unused_types_walk): (new)
+ 	(prune_unused_types_prune): (new)
+ 	(prune_unused_types): (new)
+ 	(dwarf2out_finish): Call prune_unused_types if
+ 	flag_eliminate_unused_debug_types is set.
+ 	* doc/invoke.texi (Option Summary): Add
+ 	-feliminate-unused-debug-types.
+ 	(Debugging Options): Likewise.
+ 
+ 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi: Change .pch to .gch.
+ 	* cppfiles.c (open_file_pch): Likewise.
+ 	* gcc.c (default_compilers): Likewise.
+ 
+ 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* floatlib.c: Remove.
+ 
+ 2003-02-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* stor-layout.c (variable_size): Leave a "minus 1" outside the
+ 	SAVE_EXPR.
+ 
+ 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md: Add compare bypass.
+ 
+ 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/netbsd.h: Update copyright years.
+ 	(NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
+ 	-pthread is specified on the command line.
+ 
+ 2003-02-28  Dale Johannesen <dalej@apple.com>
+ 
+ 	* loop.c (struct movable): Add insert_temp, shrink savemode.
+ 	(scan_loop): Accept invariants that require copying; mark as
+ 	insert_temp.
+ 	(combine_movables): Don't combine insert_temp movables.
+ 	(move_movables): Insert copies for insert_temp movables.
+ 	Don't record the info based on regno for insert_temp's.
+ 
+ 2003-02-28  Joel Sherrill <joel@OARcorp.com>
+ 
+ 	PR 9638/other
+ 	* config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
+ 	this constant defaults to 1.
+ 
+ 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
+ 
+ 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
+ 	ARMv5e processor, not just for XScale.  Instructions are predicable.
+ 	(mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
+ 
+ 2003-02-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (note_invalid_constants): Change parameter type
+ 	from bool to int.
+ 
+ 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
+ 	test of bit 7.
+ 	(*tst_extzv_memqi_1_n): Likewise.
+ 	(a peephole2): New.
+ 
+ 2003-02-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
+ 	#ifndef __mips16.
+ 
+ 2003-02-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (gen_lowpart_for_combine): Update handling of
+ 	subregs_of_mode
+ 	* flow.c (life_analysis, mark_used_regs): Likewise.
+ 	* regclass.c (subregs_of_mode): Turn into single bitmap.
+ 	(cannot_change-mode_set_regs, invalid_mode_change_p): Update
+ 	dealing with subregs_of_mode
+ 	* regs.h (subregs_of_mode): Update prototype.
+ 
+ 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* emit-rtl.c (set_reg_attrs_for_parm): New function.
+ 	* rtl.h (set_reg_attrs_for_parm): New exported function.
+ 	* function.c (assign_parms): Use set_reg_attrs_for_parm instead of
+ 	set_reg_attrs_from_mem.
+ 
+ 2003-02-27  Roger Sayle  <roger@eyesopen.com>
+ 	    Zack Weinberg <zack@codesourcery.com>
+ 
+ 	* gcc.c (do_spec_1):  Treat %U like %u for unique associations.
+ 
+ 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (sext_for_mode): Remove.
+ 	(reload_cse_move2add): Use trunc_int_for_mode instead of
+ 	sext_for_mode.
+ 	(move2add_note_store): Likewise.
+ 	Reset register information if we see a set in non-integer
+ 	mode.
+ 
+ 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
+ 	option.
+ 	(ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
+ 	* config/rs6000/aix51.h: Same.
+ 	* config/rs6000/aix52.h: Same.
+ 	* config/rs6000/power4.md: Additional VMX bypasses.
+ 
+ 2003-02-27   Geert Bosch <bosch@gnat.com>
+ 
+ 	* toplev.c (print_version): Add indentation for GGC heuristics and
+ 	output after printing version information.
+ 
+ 2003-02-27  James E Wilson  <wilson@tuliptree.org>
+ 
+ 	* combine.c (simplify_comparison): Require integral mode when
+ 	permuting SUBREG with AND.
+ 
+ 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
+ 
+ 2003-02-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (extendsfdf2): Add pattern accidentally
+ 	deleted when cirrus instructions were added.
+ 
+ 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
+ 	POSIX thread support by default.
+ 
+ 2003-02-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/cygwin.h: Don't include any other files directly.
+ 	* config/i386/mingw32.h: Don't include cygwin.h directly.
+ 	* config.gcc (cygwin, mingw32, uwin): Instead make these files
+ 	explicit in the tm_files variable.
+ 
+ 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: Add TI constant splitter.
+ 
+ 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* builtins.c (purge_builtin_constant_p): Handle subreg of
+ 	constant_p_rtx too.
+ 
+ 	* function.c (assign_stack_local_1): Truncate constant added to
+ 	frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
+ 
+ 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config.gcc: Add power4 to PowerPC with_cpu list.
+ 
+ 2003-02-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* objc-act.c: (mark_referenced_methods): Fix compilation problem.
+ 
+ 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcov-dump.c (print_prefix): Fix signedness warning.
+ 	* gcov-io.h (struct counter_section, struct counter_section_data): New.
+ 	(struct function_info): n_arc_counts field removed, n_counter_sections,
+ 	counter_sections fields added.
+ 	(struct gcov_info): arc_counts, n_arc_counts fields removed,
+ 	n_counter_sections, counter_sections fields added.
+ 	* libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
+ 	profile sections.
+ 	* profile.h (MAX_COUNTER_SECTIONS): New.
+ 	(struct section_info): New.
+ 	(struct profile_info): count_instrumented_edges,
+ 	count_edges_instrumented_now fields removed, n_sections, section_info
+ 	fields added.
+ 	(find_counters_section): Declare.
+ 	* profile.c (struct function_list): count_edges field removed,
+ 	n_counter_sections, counter_sections fields added.
+ 	(set_purpose, label_for_tag, build_counter_section_fields,
+ 	build_counter_section_value, build_counter_section_data_fields,
+ 	build_counter_section_data_value, build_function_info_fields,
+ 	build_function_info_value, build_gcov_info_fields,
+ 	build_gcov_info_value): New static functions.
+ 	(find_counters_section): New function.
+ 	(instrument_edges, get_exec_counts, compute_branch_probabilities,
+ 	branch_prob, create_profiler): Modified to support multiple profile
+ 	sections.
+ 
+ 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
+ 	is 8 * STACK_BOUNDARY.
+ 	* pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
+ 
+ 2003-02-26  Michael Matz  <matz@suse.de>
+ 
+ 	* ra-colorize.c (merge_moves): Fix list handling.
+ 
+ 2003-02-26  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (is_load_address): Rename to...
+ 	(arm_memory_load_p) ... this and make it check for SUBREGs and
+ 	constant loads that will be converted into loads from the
+ 	minipool.
+ 	(is_cirrus_insn): Rename to ...
+ 	(arm_cirrus_insn_p): ... this, for consistency.  Replace test
+ 	of CIRRUS_NO with CIRRUS_NOT.
+ 	(cirrus_reorg): Use renamed functions.
+ 	(note_invalid_constants): Change from a void function to bool.
+ 	Add an extra parameter, saying whether the fixups should be
+ 	pushed.  Return true if fixups are needed.
+ 	(arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
+ 	of CIRRUS_NO with CIRRUS_NOT.
+ 	* config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
+ 	other floating point co-processors can also affect this.
+ 	* config/arm/arm.md ("type" attribute): Add mav_farith and
+ 	mav_dmult.  Replace references to "cirrus_type" attribute with
+ 	"type".
+ 	* config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
+ 	("cirrus_type" attribute): Delete - use "type" instead.
+ 	("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
+ 	'normal'.
+ 
+ 2003-02-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* objc-act.c: Include cgraph.h
+ 	(mark_referenced_methods): New function.
+ 	(objc_init): Call it.
+ 	* objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
+ 
+ 	* c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
+ 	mode.
+ 
+ 	* optabs.c (expand_fix): Do not widen the input operand.
+ 
+ 	* expr.c (emit_group_store):  Fix crash when converting single
+ 	register into complex register.
+ 
+ 	* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
+ 	* alias.c: Include timevar.h
+ 	(init_alias_analysis):  Set timevar
+ 	* jump.c: Include timevar.h
+ 	(rebuild_jump_labels):  Set timevar
+ 	* regcalss.c: Include timevar.h
+ 	(reg_scan):  Set timevar
+ 	* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
+ 
+ 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
+ 
+ 	* Makefile.in (loop-unroll.o): New.
+ 	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
+ 	(unroll_and_peel_loops): Declare.
+ 	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
+ 	flag_old_unroll_loops.
+ 	* loop.c (loop_invariant_p): Ditto.
+ 	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
+ 	flag_old_unroll_all_loops.
+ 	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
+ 	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
+ 	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
+ 	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
+ 	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
+ 	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
+ 	PARAM_MAX_ONCE_PEELED_INSNS): New.
+ 	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
+ 	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
+ 	instead of old one.
+ 	(flag_peel_loops): New.
+ 	(lang_independent_options): The new flags added.
+ 	(rest_of_compilation): Call new unroller.
+ 	(process_options): Setup flags for coexistence of old and new unroller.
+ 	* doc/invoke.texi: Document new options.
+ 	* doc/passes.texi: Document new unroller pass.
+ 
+ 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* fixinc/fixincl.x: Regenerate
+ 
+ 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* function.c (assign_parms): Set reg_attrs for parameters passed in
+ 	registers.
+ 
+ 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/9681
+ 	* tlink.c (scan_linker_output): Drop leading '.' from symbol names.
+ 
+ 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
+ 	pseudo-op.
+ 
+ 2003-02-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
+ 	* cse.c (invalidate_skipped_set):  Likewise.
+ 	* integrate.c (subst_constants):  Likewise.
+ 	* jump.c (reversed_comparison_code_parts):  Likewise.
+ 	* loop.c (canonicalize_condition):  Likewise.
+ 	* simplify-rtx.c (simplify_relational_operation):  Likewise.
+ 
+ 2003-02-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
+ 	(abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
+ 	the appropriate macro to define built-in function.
+ 	(fmod,fmodf,fmodl): New built-in functions.
+ 
+ 	* doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
+ 
+ 2003-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (function_arg): Pass variable sized
+ 	structures correctly on the stack.
+ 
+ 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
+ 	does not reduce the cost of SET.
+ 
+ 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR target/9732
+ 	* config/rs6000/rs6000.c (first_reg_to_save): Handle
+ 	PIC_OFFSET_TABLE_REGNUM for -fPIC too.
+ 	(rs6000_emit_prologue): Likewise.
+ 	(rs6000_emit_epilogue): Likewise.
+ 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
+ 	PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
+ 
+ 2003-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (real_to_integer2): Force overflow result only for
+ 	unsigned overflow.
+ 
+ 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (cprop_jump): Revert the 2003-02-23 change.
+ 
+ 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
+ 	there is no similar load.
+ 
+ 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
+ 	sched-rgn.c.
+ 	(add_forward_dependence): New function prototype.
+ 
+ 	* sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
+ 	sched-init.h.
+ 	(CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
+ 	them to haifa-sched.c.
+ 
+ 	* haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
+ 	haifa_classify_insn): Move them from sched-rgn.c.
+ 
+ 	* sched-deps.c (add_dependence): Return flag of creating a new
+ 	entry.
+ 	(add_forward_dependence): New function.
+ 	(compute_forward_dependences): Use the function.
+ 
+ 	* sched-ebb.c (earliest_block_with_similiar_load): New function.
+ 	(add_deps_for_risky_insns): New function.
+ 	(schedule_ebb): Call the function.
+ 
+ 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
+ 	TARGET_VECTOR_OPAQUE_P.  Document accordingly.
+ 
+ 	* testsuite/gcc.dg/20030218-1.c: Check that initialization of
+ 	opaque types fail.
+ 
+ 	* c-typeck.c (comptypes): Change call to vector_types_compatible
+ 	to vector_opaque_p.
+ 	(convert_for_assignment): Call vector_opaque_p instead of
+ 	vector_types_compatible.
+ 	(really_start_incremental_init): Disallow initialization of opaque
+ 	types.
+ 
+ 	* target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
+ 	Define TARGET_VECTOR_OPAQUE_P.
+ 	(TARGET_INITIALIZER): Same.
+ 
+ 	* target.h (struct gcc_target): Remove vector_types_compatible.
+ 	Add vector_opaque_p.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
+ 	Remove.
+ 	(is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
+ 	a vector type.  Change return type to bool.
+ 	(TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
+ 	(TARGET_VECTOR_OPAQUE_P): Define.
+ 
+ 	* cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
+ 	target hook.
+ 	Include target.h.
+ 	(cp_parser_init_declarator): Fix typo in function comments.
+ 
+ 2003-02-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (lcm.o):  Add dependency on function.h
+ 	* lcm.c (function.h): Include.
+ 	* i386.c (machine_function, ix86_stack_locals,
+ 	* ix86_save_varrargs_registers) : Move to
+ 	...
+ 	* i386.h (machine_function, ix86_stack_locals,
+ 	ix86_save_varrargs_registers): ... here; add optimize_mode_switching
+ 	(ix86_optimize_mode_switching): New.
+ 	* i386.md (fix patterns): Set ix86_optimize_mode_switching
+ 
+ 2003-02-25  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
+ 	of fourth arg is 'fndecl' not 'indirect'.  Update comment
+ 	describing the function's parameters.
+ 
+ 2003-02-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (simplify_shift_const):  Fix previous patch.
+ 
+ 2003-02-24  Jeff Law  <law@redhat.com>
+ 
+ 	* i386.md (testdi_1_rex64): Discourage reload from using the %eax
+ 	alternative.
+ 	(testsi_1, testhi_1, testqi_1): Likewise.
+ 
+ 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
+ 	__EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
+ 	* doc/extend.texi (Tru64 Pragmas): Reflect this.
+ 
+ 	* fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
+ 	extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
+ 	testcase.
+ 	Fixes PR c/5059, c/6126, other/9671.
+ 
+ 2003-02-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
+ 	from handle_braces in "%{...}".
+ 
+ 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
+ 	(prepare_move_operands): Handle TLS operands.
+ 	(tls_symbolic_operand): New.
+ 	(nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
+ 	(legitimize_pic_address): Do nothing for the TLS symbol.
+ 	(sh_encode_section_info): Handle TLS case.
+ 	(sh_strip_name_encoding): Drop TLS encoding.
+ 	* config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
+ 	* config/sh/sh.h (SH_TLS_ENCODING): Define.
+ 	(TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
+ 	(ASM_OUTPUT_LABELREF): Drop TLS encoding.
+ 	(OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
+ 	* config/sh/sh.md: Define TLS UNSPEC constants.
+ 	(type): Add tls_load.
+ 	("tls_global_dynamic", "tls_local_dynamic"): New insns.
+ 	("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
+ 	("tls_initial_exec"): New insn.
+ 	("sym2TPOFF", "symTPOFF2reg"): New expanders.
+ 	("load_gbr"): New insn.
+ 
+ 	* configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
+ 	* configure: Regenerate.
+ 
+ 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR 9297, PR 9722
+ 	* calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
+ 	2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
+ 	* expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
+ 	(enum block_op_methods): Reorder for better store_expr optimization.
+ 	* expr.c (store_expr): Test bit 1 of "want_value" for call param
+ 	stores, test bit 0 for original want_value meaning.  Pass
+ 	BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
+ 	recursive calls, and calls to expand_param.
+ 	(expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
+ 	expected, set target to 0 rather than to subtarget.  Formatting.
+ 
+ 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (cprop_jump): Use the REG_EQUAL note if available.
+ 
+ 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
+ 	new default behavior.
+ 	* ggc-common.c: Include sys/resource.h.
+ 	(ggc_rlimit_bound): New function.
+ 	(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
+ 	defaults to account for rlimits.
+ 
+ 2003-02-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
+ 
+ 2003-02-22  Kelley Cook <kelley@dwhoops.info>
+ 
+ 	* i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
+ 	(ix86_tune_string): Rename from ix86_cpu_string.
+ 
+ 2003-02-22  Kelley Cook <kelleycook@comcast.net>
+ 
+ 	* config/i386/i386.c: Replace "mcpu" with "mtune".
+ 	* config/i386/i386.h (TARGET_OPTIONS): Likewise.
+ 	(CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
+ 	* doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
+ 	with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
+ 
+ 2003-02-23  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config.gcc: Delete references to m68k/t-linux and
+ 	m68k/t-linux-aout.
+ 	* config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_compilation):  Apply fotgotten hunk
+ 	of track scheduling patch.
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config/linux.h (TARGET_HAS_F_SETLKW): Define.
+ 	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-decl.c (c_expand_body_1): Fix.
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expmed.c (expand_divmod): Undo sign extensions for unsigned operands
+ 
+ 	* cfgcleanup.c (try_forward_edges):  Don't check loop structures
+ 	when not optimizing.
+ 	(cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
+ 	when not expensive.
+ 	* toplev.c (rest_of_compilation):  Duplicate loop headers only when
+ 	optimizing;  Delete trivially dead insns early; fix optimize check.
+ 
+ 	* Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
+ 	dependency on cgraph.h
+ 	* c-decl.c: Include cgraph.h
+ 	(finish_function): Update call of tree_inlinable_function_p.
+ 	* c-objc-common.c: Include cgraph.h
+ 	* cgraph.h: New file.
+ 	* cgraphunit.c: New file.
+ 	* cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
+ 	(cgraph_nodes, cgraph_n_nodes): Globalize.
+ 	(cgraph_finalize_function, cgraph_finalize_compilation_unit
+ 	cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
+ 	Move into cgraphunit.c
+ 	* tree-inline.c: Include cgraph.h
+ 	* tree-inline.c: Include cgraph.h
+ 
+ 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
+ 	for copying a register.
+ 
+ 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+ 
+ 	PR other/3782
+ 	* toplev.c (process_options): If flag_detailed_statistics is set,
+ 	then set time_report as well.
+ 
+ 	PR c/8828
+ 	* jump.c (never_reached_warning): Don't fall through BARRRIER
+ 	insns.  Update comments to reflect what the function really does.
+ 
+ 2003-02-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (omit_one_operand): No longer static.
+ 	* tree.h (omit_one_operand): Prototype here.
+ 	(div_and_round_double): Keep fold-const.c prototypes together.
+ 	* builtins.c (builtin_mathfn_code): Handle binary built-in
+ 	funtions, such as "pow" and "atan2".
+ 	(fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
+ 	Simplify optimizations using "type" the builtin's return type.
+ 
+ 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
+ 	Fix functionalization typo.
+ 
+ 	* regmove.c (optimize_reg_copy_1): Do not replace a hard register
+ 	in an asm.
+ 
+ 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
+ 	* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
+ 	documentation.
+ 	* ggc-common.c: Include params.h
+ 	(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
+ 	init_ggc_heuristics): New functions.
+ 	* ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
+ 	init_ggc_heuristics): Prototype.
+ 	* toplev.c (print_version):  Output GGC heuristics.
+ 	(parse_options_and_default_flags): Call init_ggc_heuristics.
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (def_builtin):  Special case 64bit builtins.
+ 	(MASK_SSE164, MASK_SSE264): New constants.
+ 	(builtin_description): Add 64bit builtins.
+ 	(ix86_init_mmx_sse_builtins): Likewise.
+ 	* i386.h (enum ix86_builtins): Likewise.
+ 	* i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
+ 	sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
+ 	(sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
+ 	* mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
+ 	* xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
+ 	_mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
+ 	_mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
+ 
+ 2003-02-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (builtin_description): Add __builtin_ia32_paddq and
+ 	__builtin_ia32_psubq. Fix __builtin_ia32_paddq128
+ 	 and __builtin_ia32_psubq128.
+ 	* i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
+ 	* i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
+ 	(mmx_adddi3, mmx_subdi3): New.
+ 	* mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
+ 	* xmmintrin.h (_mm_movepi64_pi64): New.
+ 	(_mm_add_epi64, _mm_sub_epi64): fix.
+ 	(_mm_mul_pu16): Rename to...
+ 	(_mm_mul_su32): ... this one.
+ 
+ 	* builtins.c (expand_builtin_expect):  Do not predict
+ 	flag_guess_branch_prob is not set.
+ 	* c-semantics.c (expand_stmt): Likewise.
+ 	* predict.c (predict_insn): Likewise.
+ 	* stmt.c (expand_continue_loop): Likewise.
+ 	* toplev.c (rest_of_compilation): Do not call
+ 	note_prediction_to_br_prob and note_prediction_to_br_prob
+ 	when not optimizing.
+ 
+ 2003-02-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (commit_edge_insertions):  Call
+ 	find_many_sub_basic_block only when some code has been emitted.
+ 	(commit_edge_insertions_watch_calls): Bring into sync with
+ 	commit_edge_insertions
+ 
+ 2003-02-21  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
+ 
+ 	* sh.md (binary_sf_op): Use extra constant operand instead of
+ 	negating constant operand 4.
+ 	* sh.c (sh_expand_binop_v2sf): Supply it.
+ 
+ 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpphash.h (struct lexer_state): Add directive_wants_padding.
+ 	* cpplib.c (_cpp_handle_directive): Set directive_wants_padding
+ 	for directives of type INCL.
+ 	(glue_header_name, parse_include): Use get_token_no_padding.
+ 	* cppmacro.c (replace_args): If directive_wants_padding,
+ 	provide padding tokens.
+ 
+ 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-02-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
+ 	(commit_edge_insertions): Call find_many_sub_basic_blocks
+ 
+ 	* reg-stack.c (convert_regs): Cleax aux for blocks.
+ 
+ 2003-02-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (parse_options_and_default_flags): Undo accidental commit.
+ 
+ 2003-02-21  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	PR optimization/8613
+ 	* builtins.c (expand_builtin): Emit postincrements before expanding
+ 	builtin functions.
+ 
+ 2003-02-21  Ben Elliston  <bje@redhat.com>
+ 
+ 	PR other/5634
+ 	* doc/install.texi (Configuration): Explain using $HOME instead of
+ 	the ~ metacharacter when referring to home directories.
+ 
+ 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (TARGET_SYSTEM_ROOT): Set default to
+ 	${exec_prefix}/${target_alias}/sys-root.  Match explicit
+ 	'${exec_prefix}' (in addition to the expansion thereof) as
+ 	relocatable.
+ 	* configure: Rebuilt.
+ 
+ 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (addhi3_incdec): Change the name to
+ 	*addhi3_incdec.
+ 	(addsi3_incdec): Change the name to *addsi3_incdec.
+ 
+ 2003-02-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* explow.c (force_reg): Avoid useless REG_EQUAL notes.
+ 
+ 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	PR fortran/9038
+ 	* c-opts.c (sanitize_cpp_opts): Add Fortran front end
+ 	options to be ignored.
+ 	(c_common_decode_option): Ignore them when preprocessing.
+ 
+ 2003-02-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
+ 	global variables.
+ 	(lang_independent_options):  Add -fsched2-use-superblocks
+ 	-fsced2-use-traces.
+ 	(rest_of_compilation): Deal with it.
+ 	* invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
+ 	* flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
+ 	Declare.
+ 	* rtl.h (reg_to_stack):  Update prototype.
+ 	* reg-stack.c (reg_to_stack): Return when something has changed;
+ 	update liveness when executing after superblock scheduling.
+ 
+ 	* combine.c (simplify_shift_const):  Simplify few special cases
+ 	into constants.
+ 
+ 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
+ 	(add.,subf.,neg.): Change attribute to fast_compare.
+ 	All DFA descriptions updated.
+ 
+ 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	Change base class access representation.
+ 	* tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
+ 	TREE_VIA_PRIVATE): Remove.
+ 	(BINFO_BASEACCESSES): New binfo elt.
+ 	(BINFO_BASEACCESS): New accessor.
+ 	(BINFO_ELTS): Increase.
+ 	(TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
+ 	(access_public_node, access_protected_node,
+ 	access_private_node): New global nodes.
+ 	* tree.c (build_common_tree_nodes_2): Initialize access nodes.
+ 	* dbxout.c (dbxout_type): Adjust.
+ 	* dwarf2out.c (gen_inheritance_die): Add access parameter.
+ 	(gen_member_die): Adjust.
+ 	* dwarfout.c (output_inheritance_die): ARG is array of two trees.
+ 	(output_type): Adjust.
+ 	* tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
+ 
+ 	Change base class access representation. Share virtual base
+ 	binfos.
+ 	* cp/call.c (build_special_member_call): Remove binfo_for_vbase
+ 	call.
+ 	* cp/class.c (build_base_path): Likewise.
+ 	(build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
+ 	(build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
+ 	(make_new_vtable): Adjust.
+ 	(force_canonical_binfo_r): Delete.
+ 	(force_canonical_binfo): Delete.
+ 	(mark_primary_virtual_base): Delete.
+ 	(dfs_unshared_virtual_bases): Delete.
+ 	(mark_primary_bases): Adjust.
+ 	(maybe_warn_about_overly_private_class): Adjust.
+ 	(dfs_base_derived_from): Delete.
+ 	(base_derived_from): Follow the inheritance chain.
+ 	(struct find_final_overrider_data): Add vpath member.
+ 	(dfs_find_final_overrider): Adjust.
+ 	(dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
+ 	(find_final_overrider): Adjust.
+ 	(update_vtable_entry_for_fn): Adjust.
+ 	(modify_all_vtables): Adjust.
+ 	(walk_subobject_offsets): Adjust.
+ 	(layout_nonempty_base_or_field): Adjust.
+ 	(layout_empty_base): Remove last parameter. Adjust.
+ 	(build_base_field): Adjust.
+ 	(build_base_fields): Adjust.
+ 	(propagate_binfo_offsets): Remove last parameter. Adjust.
+ 	(dfs_set_offset_for_unshared_vbases): Delete.
+ 	(layout_virtual_bases): Adjust.
+ 	(finish_struct_1): Adjust.
+ 	(init_class_processing): Don't init access nodes.
+ 	(dfs_get_primary_binfo): Delete.
+ 	(get_primary_binfo): Adjust.
+ 	(dump_class_hierarchy_r): Remove most derived arg, add IGO
+ 	parameter. Adjust.
+ 	(dump_class_hierarchy): Adjust.
+ 	(finish_vtbls): Adjust.
+ 	(get_original_base): Delete.
+ 	(build_vtt_inits): Adjust.
+ 	(dfs_build_secondary_vptr_vtt_inits): Adjust.
+ 	(dfs_ctor_vtable_bases_queue_p): Adjust.
+ 	(build_ctor_vtbl_group): Adjust.
+ 	(dfs_accumulate_vtbl_inits): Adjust.
+ 	(build_vtbl_initializer): Adjust.
+ 	(build_vbase_offset_vtbl_entries): Adjust.
+ 	(add_vcall_offset_vtbl_entries_1): Adjust.
+ 	* cp/cp-tree.h (CPTI_ACCESS_*): Remove.
+ 	(access_*_node): Remove.
+ 	(CANONICAL_BINFO): Delete.
+ 	(BINFO_UNSHARED_MARKED): Remove.
+ 	(BINFO_MARKED): Set LANG_FLAG_0 directly.
+ 	(SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
+ 	(BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
+ 	(SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
+ 	Delete.
+ 	(BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
+ 	(SET_BINFO_NEW_VTABLE_MARKED): Adjust.
+ 	(SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
+ 	Delete.
+ 	(BINFO_DEPENDENT_BASE_P): New.
+ 	(dfs_walk, dfs_walk_real): Queue function takes derived binfo and
+ 	index.
+ 	(markedp, unmarkedp): Adjust.
+ 	(dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
+ 	dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
+ 	find_vbase_instance, binfo_for_vbase): Delete.
+ 	(copied_binfo, original_binfo): Declare.
+ 	(finish_base_specifier): Add virtual_p arg.
+ 	(unshare_base_binfos): Delete.
+ 	(copy_base_binfos): Declare.
+ 	(reverse_path): Delete.
+ 	* cp/decl.c (xref_basetypes): Access and virtuality passed
+ 	differently. Don't copy direct base binfos here. Call
+ 	copy_base_binfos.
+ 	* cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
+ 	(initialize_vtbl_ptrs): Adjust.
+ 	(expand_member_init): Adjust.
+ 	* cp/parser.c (cp_parser_base_specifier): Adjust.
+ 	* cp/pt.c (instantiate_class_template): Adjust.
+ 	(get_template_base_recursive): Adjust.
+ 	* cp/rtti.c (get_pseudo_ti_init): Adjust.
+ 	(get_pseudo_ti_desc): Adjust.
+ 	* cp/tree.c (unshare_base_binfos): Rename to ...
+ 	(copy_base_binfos): ... here, reimplement.
+ 	(make_binfo): Set BINFO_DEPENDENT_BASE_P.
+ 	(reverse_path): Remove.
+ 	* cp/typeck.c (get_delta_difference): Adjust error messages.
+ 	* cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
+ 	* cp/search.c (lookup_base_r): Adjust.
+ 	(dynamic_cast_base_recurse): Adjust.
+ 	(canonical_binfo): Remove.
+ 	(dfs_canonical_queue): Remove.
+ 	(dfs_assert_unmarked_p): Remove.
+ 	(assert_canonical_unmarked): Remove.
+ 	(shared_marked_p, shared_unmarked_p): Remove.
+ 	(BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
+ 	(dfs_access_in_type): Adjust.
+ 	(access_in_type): Adjust.
+ 	(dfs_accessible_queue_p): Adjust.
+ 	(dfs_accessible_p): Adjust.
+ 	(is_subobject_of_p_1, is_subobject_of_p): Remove.
+ 	(struct lookup_field_info): Remove from_dep_base_p field.
+ 	(lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
+ 	(lookup_field_r): Remove dependent base code.
+ 	(lookup_member): Likewise.
+ 	(dfs_walk, dfs_walk_real): Add access arg to queue fn.
+ 	(dfs_unmarked_real_bases_queue_p): Remove.
+ 	(dfs_marked_real_bases_queue_p): Remove.
+ 	(dfs_skip_vbases): Remove.
+ 	(dfs_get_pure_virtuals): Adjust.
+ 	(markedp, unmarkedp): Adjust.
+ 	(marked_vtable_pathp, unmarked_vtable_pathp): Remove.
+ 	(marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
+ 	(dfs_unmark): Adjust.
+ 	(dfs_get_vbase_types):Remove.
+ 	(dfs_build_inheritance_graph_order): Remove.
+ 	(get_vbase_types): Remove
+ 	(dfs_find_vbase_instance): Remove.
+ 	(find_vbase_instance): Remove.
+ 	(dfs_debug_unmarkedp): Adjust.
+ 	(dependent_base_p): Remove.
+ 	(dfs_push_type_decls): Adjust.
+ 	(dfs_push_decls): Adjust.
+ 	(dfs_no_overlap_yet): Adjust.
+ 	(copied_binfo): New function.
+ 	(original_binfo): New function.
+ 	(binfo_for_vbase): Remove.
+ 
+ 	Change base class access representation.
+ 	* java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
+ 	(add_interface_do): Likewise.
+ 
+ 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+ 	* config/rs6000/power4.md (power4-store,power4-vecstore): New
+ 	insn reservations.
+ 	(power4-fpstore): Compact.
+ 
+ 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi3_w): New.
+ 
+ 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* combine.c (distribute_notes): Kill REG_EXEC_COUNT.
+ 	* rtl.c (reg_note_name): Likewise.
+ 	* rtl.h (enum reg_note): Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 
+ 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Fix comment typo.
+ 
+ 2003-02-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_real_zero_addition_p): Don't fold a zero
+ 	addition in the presence of signaling NaNs.
+ 
+ 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
+ 
+ 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Optimize or.l when
+ 	ORing with 0xffff??00 with the highest bit of the ?? part set.
+ 	(compute_logical_op_length): Update.
+ 	(compute_logical_op_cc): Likewise.
+ 
+ 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Fixed condition for small
+ 	destination block with multiple predecessors.
+ 	(connect_traces): Check whether the block is a start of trace.
+ 
+ 2003-02-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
+ 	* function.c (assign_params): Likewise.
+ 	* arm-protos.h (arm_init_cumulative_args): Update prototype.
+ 	* arm.c (arm_init_cumulative_args): Update function.
+ 	* arm.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* avr-protos.h (init_cumulative_args): Update prototype.
+ 	* avr.c (init_cumulative_args): Update function.
+ 	* avr.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* d30v-protos.h (d30v_init_cumulative_args): Update prototype.
+ 	* d30v.c (d30v_init_cumulative_args): Update function.
+ 	* d30v.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* frv-protos.h (frv_init_cumulative_args): Update prototype.
+ 	* frv.c (frv_init_cumulative_args): Update function.
+ 	* frv.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
+ 	* pa.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* sparc-protos.h (init_cumulative_args): Update prototype.
+ 	* sparc.c (init_cumulative_args): Update function.
+ 	* sparc.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
+ 
+ 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
+ 	(*ashiftsi_sextqi_7): Likewise.
+ 
+ 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
+ 	ISO C99 and C++.
+ 
+ 	* fixinc/inclhack.def (irix___restrict): Don't change __restrict
+ 	for C++ on IRIX 6.5.1[89].
+ 	* fixinc/tests/base/internal/sgimacros.h: New file.
+ 
+ 	* fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
+ 	* fixinc/tests/base/internal/wchar_core.h: New file.
+ 
+ 	* fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
+ 	socklen_t definition.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/sys/socket.h: New file.
+ 	Fixes PR libgcj/9652.
+ 
+ 2003-02-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movsfcc_1, movdfcc_1): Fix constrains.
+ 
+ 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Initialize
+ 	align_jumps_max_skip and align_loops_max_skip.
+ 
+ 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
+ 	test size if named section.
+ 
+ 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* expr.c (expand_expr): Use gen_int_mode for the argument
+ 	to gen_rtx_MULT.
+ 
+ 2003-02-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (cosxf2):  Fix conditional.
+ 
+ 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (extendqisi2): Change to an expander.
+ 	(*extendqisi2_h8300): New.
+ 	(*extendqisi2_h8300hs): Likewise.
+ 
+ 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	split_adds_subs.  Remove the prototypes for
+ 	const_int_le_2_operand and const_int_le_6_operand.
+ 	* config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
+ 	(const_int_le_2_operand): Remove.
+ 	(const_int_le_6_operand): Likewise.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
+ 	for const_int_le_2_operand and const_int_le_6_operand.
+ 	* config/h8300/h8300.md: Update all uses of split_adds_subs.
+ 	(a peephole2): New.
+ 
+ 2003-02-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
+ 	(cgraph_expand_function): Rewrite.
+ 
+ 2003-02-18  Matt Austern <austern@apple.com>
+ 
+ 	* toplev.c, langhooks.c, langhooks-def.h: Move
+ 	write_global_declarations from toplev.c to langhooks.c.
+ 
+ 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (general_operand_src): Always check
+ 	MODE.
+ 	(general_operand_dst): Likewise.
+ 
+ 2003-02-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* convert.c (convert_to_real): Also optimize (float)log(x) into
+ 	logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
+ 
+ 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (unspec_caller_rtx_p): New.
+ 	(sh_cannot_copy_insn_p): New.
+ 	(TARGET_CANNOT_COPY_INSN_P): New.
+ 
+ 2003-02-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (handle_used_attribute): Accept static data too.
+ 
+ 2003-02-18  Nick Clifton  <nickc@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/gcc.dg/20030218-1.c: New.
+ 
+ 	* doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
+ 
+ 	* target-def.h (TARGET_INITIALIZER): Add
+ 	TARGET_VECTOR_TYPES_COMPATIBLE.
+ 	(TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
+ 
+ 	* target.h (struct gcc_target): Add field vector_types_compatible.
+ 
+ 	* c-typeck.c (comptypes): Take into account
+ 	TARGET_VECTOR_TYPES_COMPATIBLE.
+ 	(convert_for_assignment): Same.
+ 
+ 	* config/rs6000/rs6000.c (is_ev64_opaque_type): New.
+ 	(rs6000_spe_vector_types_compatible): New.
+ 	(TARGET_VECTOR_TYPES_COMPATIBLE): Define.
+ 
+ 2003-02-19  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
+ 	* toplev.c: Include langhooks-def.h.
+ 
+ 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (enum processor_type): Sort entries
+ 	alphabetically.
+ 	* config/mips/mips.md (define_attr cpu): Sync with processor_type
+ 	enum values, including adding entries that were missing.
+ 
+ 2003-02-18  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (calc_live_regs): Also check GET_CODE when checking if
+ 	initial value for PR_REG is still the PR_REG register.
+ 
+ 2003-02-18  Jim Wilson  <wilson@redhat.com>
+ 
+ 	* config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
+ 	instruction in output template.
+ 	(bsp_value): Change output template from string to C code, add %,
+ 	before actual instruction.
+ 	(flushrs): Mark as not predicable.
+ 
+ 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* inclhack.def (netbsd_bogus_semicolon): New fix.
+ 	* fixincl.x: Rebuilt.
+ 	* tests/base/ctype.h: Update.
+ 
+ 2003-02-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_expr_p): New function to determine whether
+ 	an expression can be negated cheaply.
+ 	(fold) [MINUS_EXPR]: Use it to determine whether to transform
+ 	-A - B into -B - A for floating point types.
+ 
+ 2003-02-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* sbitmap.c (sbitmap_resize): New function.
+ 	* sbitmap.h (sbitmap_resize): Prototype here.
+ 	* recog.c (split_all_insns): Use sbitmap_resize.
+ 
+ 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
+ 	insn length.
+ 	(extendqisi2): Likewise.
+ 	(*extendhisi2_h8300): Likewise.
+ 
+ 2003-02-18  Matt Austern <austern@apple.com>
+ 
+ 	* langhooks.h, langhooks-def.h: introduce new langhook,
+ 	final_write_globals, with write_global_declarations as default.
+ 	* toplev.c: Move invocation of wrapup_global_declarations from
+ 	compile_file to new function, write_global_declarations.  Change
+ 	compile_file to use final_write_globals hook.  Change
+ 	wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
+ 	conditional.
+ 
+ 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md: Correct and enhance comment.
+ 
+ 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gcc.c (validate_switches): Don't scan past closing '}'.
+ 
+ 2003-02-18  Ben Elliston  <bje@redhat.com>
+ 
+ 	PR c++/1607
+ 	* doc/extend.texi (Function Attributes): Document the effect of
+ 	the C++ "this" parameter on the counting of arguments for the
+ 	"format" and "format_arg" attributes.
+ 
+ 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
+ 	(__ev_stdw): Same.
+ 	(__ev_stdh): Same.
+ 
+ 2003-02-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (split_all_insns):  Fix memory overflow.
+ 
+ 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (cmpqi): Remove mode from compare.
+ 	(cmphi): Likewise.
+ 	(*cmphi_h8300): Likewise.
+ 	(*cmphi_h8300hs): Likewise.
+ 	(cmpsi): Likewise.
+ 	(7 peephole2): Likewise.
+ 
+ 2003-02-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-typeck.c (build_c_cast):  Fold constant variables into
+ 	initial values.
+ 
+ 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): Fix link for m68k-att-sysv.
+ 	(Binaries): Ditto for Sinix/Reliant Unix.
+ 
+ 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_reload_in_hi): Ensure that the scratch register does
+ 	not overlap the final result register.
+ 
+ 2003-02-16 Arend Bayer <arend.bayer@web.de>
+ 	   Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/8068
+ 	* fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
+ 	rearrange mult arguments for less recursion.
+ 	(extract_muldiv): New.  Prevent runaway recursion.
+ 
+ 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
+ 	MASK_ALIGN_DOUBLE.
+ 
+ 2003-02-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
+ 	to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
+ 	(ext_80387_constants_table): Global table of 80387 special constants
+ 	guarded by ext_80387_constants_init flag when not initialized.
+ 	(init_ext_80387_constants): New function to initialize this table.
+ 	(standard_80387_constant_p): Extend to recognize extra 80387
+ 	constants, in XFmode, on processors where this is a win.
+ 	(standard_80387_constant_opcode): New function to return the
+ 	opcode associated with standard_80387_constant_p.
+ 	(standard_80387_constant_rtx): New function to return the XFmode
+ 	CONST_DOUBLE associated with standard_80387_constant_p.
+ 	(ix86_rtx_costs): Give the new constants the same cost as 1.0.
+ 
+ 	* config/i386/i386-protos.h (standard_80387_constant_opcode):
+ 	Prototype here.
+ 	(standard_80387_constant_rtx): Likewise.
+ 
+ 	* config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
+ 	*movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
+ 	*movtf_integer): Simplify using new standard_80387_constant_opcode.
+ 
+ 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Correct @option syntax.
+ 
+ 2003-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (cfglayout.o): Depend on TARGET_H.
+ 	* cfglayout.c: Include target.h.
+ 	(cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
+ 	* target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
+ 	* target.h (struct gcc_target): Add cannot_copy_insn_p.
+ 
+ 	* config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
+ 	(TARGET_CANNOT_COPY_INSN_P): New.
+ 	(override_options): Revert 2003-02-08 hack.
+ 
+ 2003-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
+ 	(bypass_conditional_jumps): Accept computed_jump_p insns as well.
+ 
+ 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (processor_type): Add PPC440.
+ 	* config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_VARIABLE_ISSUE): Define.
+ 	(rs6000_use_dfa_pipeline_interface): New function.
+ 	(rs6000_multipass_dfa_lookahead): New Function.
+ 	(rs6000_variable_issue): New function.
+ 	(rs6000_adjust_cost): Add CMP and DELAYED_CR types.
+ 	(rs6000_issue_rate): Add PPC440.
+ 	* config/rs6000/rs6000.md (unspec list): Correct typo.
+ 	(attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
+ 	store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
+ 	cmp, delayed_cr, mfcr, mtcr.
+ 	(automata_option): Set "ndfa".
+ 	(extendMMNN2): Update attributes.
+ 	(movcc_internal1): Discourage move to non-cr0.  Update
+ 	attributes.
+ 	(movMM_update): Update attributes.
+ 	(cmpMM_internal): Update attributes.
+ 	(sCC CR materialization): Update attributes.
+ 	(branch patterns): Do not discourage non-cr0.
+ 	(cr logical patterns): Prefer destructive register allocation.
+ 	Update attributes.
+ 	(movesi_from_cr): Update attribute.
+ 	(mtcrf_operation): Update attribute.
+ 	(mtcrfsi): Update attribute.
+ 	* config/rs6000/40x.md: New file.
+ 	* config/rs6000/603.md: New file.
+ 	* config/rs6000/6xx.md: New file.
+ 	* config/rs6000/7450.md: New file.
+ 	* config/rs6000/7xx.md: New file.
+ 	* config/rs6000/mpc.md: New file.
+ 	* config/rs6000/power4.md: New file.
+ 	* config/rs6000/rios1.md: New file.
+ 	* config/rs6000/rios2.md: New file.
+ 	* config/rs6000/rs64.md: New file.
+ 	[Some DFA descriptions based on work by Michael Hayes]
+ 
+ 2003-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Don't connect easy to copy
+ 	successors with multiple predecessors.
+ 	(connect_traces): Try harder to copy traces of length 1.
+ 
+ 	* function.h (struct function): Add computed_goto_common_label,
+ 	computed_goto_common_reg.
+ 	* function.c (free_after_compilation): Zap them.
+ 	* stmt.c (expand_computed_goto): Use them to produce one
+ 	indirect branch per function.
+ 
+ 2003-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgcleanup.c: Include params.h.
+ 	(try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
+ 	too many outgoing edges from a block.
+ 	* Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
+ 	* params.def (max-crossjump-edges): New.
+ 	* doc/invoke.texi: Document it.
+ 
+ 2003-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (split_all_insns): Include new blocks in life update;
+ 	do a global life update.
+ 
+ 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
+ 	Update copyright.
+ 	* config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
+ 	-mno-cygwin case.
+ 
+ 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR optimization/7702
+ 	* reload1.c (reload_cse_simplify_set): Honor
+ 	CANNOT_CHANGE_MODE_CLASS.
+ 
+ 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
+ 	function.
+ 	* config/mn10300/mn10300-protos.h: Declare it.
+ 	* config/mn10300/mn10300.md (movdi, movdf): Use it to compute
+ 	attribute cc of instructions that may use clr.
+ 
+ 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Simplify ~y when
+ 	(x - (x & y)) is found.
+ 
+ 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.in: Fix typo.
+ 	* configure: Regenerate.
+ 
+ 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
+ 
+ 2003-02-13  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	PR opt/2391
+ 	* combine.c: Fix spelling in comment.
+ 	(cached_nonzero_bits): New function.
+ 	(cached_num_sign_bit_copies): New function.
+ 	(nonzero_bits_with_known): New macro.
+ 	(num_sign_bit_copies_with_known): New macro.
+ 	(nonzero_bits1): Rename from nonzero_bits.  Add three new
+ 	arguments.  Change calls from nonzero_bits to
+ 	nonzero_bits_with_known.
+ 	(num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
+ 	three new arguments.  Change calls from num_sign_bit_copies to
+ 	num_sign_bit_copies_with_known.
+ 	(nonzero_bits): New macro.
+ 	(num_sign_bit_copies): New macro.
+ 	(update_table_tick): Don't traverse identical subexpression more
+ 	than once.
+ 	(get_last_value_validate): Likewise.
+ 
+ 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
+ 	* function.h (struct emit_status): Length of regno_pointer_align
+ 	and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
+ 	not regno_pointer_align_length (i.e. length actually used, not
+ 	length as allocated)
+ 
+ 	* config/i386/i386.c (struct stack_local_entry): New.
+ 	(struct machine_function): Replace huge array with alist.
+ 	(assign_386_stack_local): Change to match.
+ 
+ 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
+ 
+ 	* inclhack.def (hpux_long_double): Tighten select and add bypass
+ 	regexp.
+ 	* fixincl.x: Rebuilt.
+ 
+ 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match): When there is single outgoing
+ 	edge and block ends with a jump insn it must be simple jump.
+ 
+ 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* Makefile.in (PREPROCESSOR_DEFINES): Add
+ 	@TARGET_SYSTEM_ROOT_DEFINE@.
+ 	* configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
+ 	is specified or if building a cross compiler.
+ 	(TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
+ 	if the sysroot is under $exec_prefix.
+ 	* configure: Regenerated.
+ 	* cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
+ 	defined.
+ 	(struct default_include): Add add_sysroot field.
+ 	(cpp_SYSROOT): Declare.
+ 	* cppdefault.c (cpp_include_defaults): Fill in add_sysroot
+ 	field.
+ 	(cpp_SYSROOT): New variable.
+ 	* cppinit.c (cpp_create_reader): Initialize
+ 	CPP_OPTION (pfile, sysroot).
+ 	(init_standard_includes): Handle add_sysroot.  Do not
+ 	add unrelocated copies of relocated directories.
+ 	(COMMAND_LINE_OPTIONS): Add -isysroot.
+ 	(cpp_handle_option): Handle -isysroot.
+ 	* cpplib.h (struct cpp_options): Add sysroot member.
+ 	* gcc.c (The Specs Language): Update description of %I.
+ 	(target_system_root_changed): New variable.
+ 	(process_command): Conditionalize make_relative_prefix call
+ 	on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
+ 	target_system_root_changed.
+ 	(do_spec_1): Add -isysroot to %I.
+ 	* doc/invoke.texi (Spec Files): Update description of %I.
+ 	* doc/install.texi (--with-sysroot): Update comment about
+ 	relocation.
+ 
+ 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-02-13  Robert Lipe <robertlipe@usa.net>
+ 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): Update three SCO-related URLs.
+ 
+ 2003-02-13  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
+ 	Parenthesize properly.
+ 	(NPREDECESORS): Parenthesize properly.
+ 
+ 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
+ 
+ 2003-02-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
+ 	(atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Add support for binary
+ 	UNSPEC instructions (e.g. "fpatan").
+ 
+ 2003-02-12  Mike Stump  <mrs@apple.com>
+ 
+ 	* varray.c (element_size): Remove.
+ 	(uses_ggc): Remove.
+ 	(element): Add.
+ 	(varray_init): Use new interface.
+ 	(varray_grow): Use new interface.
+ 	(varray_clear): Use new interface.
+ 
+ 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Add casts to the arguments of the following
+ 	macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
+ 	evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
+ 	evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
+ 	__ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
+ 	__ev_get_u16, __ev_get_s16.
+ 
+ 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-02-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
+ 	(OBJS): Add cgraph.o
+ 	(cgraph.o): New.
+ 	* c-decl.c (expand_body_1): Break out from ...
+ 	(expand_body): This one;  change calling convention
+ 	(finish_function): Move some of expand_body logic here.
+ 	(c_expand_deferred_function): Update call of expand_body
+ 	(c_expand_stmt): Use c_expand_body_1.
+ 	* c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
+ 	* c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
+ 	* c-tree.h (c_expand_body): Declare.
+ 	* cgraph.c: New file.
+ 	* flags.h (flag_unit_at_a_time): Declare.
+ 	* langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
+ 	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
+ 	LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
+ 	* langhooks.h (struct lang_hooks_for_callgraph): New.
+ 	(struct lang_hooks): Add callgraph field.
+ 	* toplev.c (flag_unit_at_a_time): New.
+ 	(lang_independent_options): Add flag_unit_at_a_time.
+ 	(process_options): Disable unit-at-a-time mode for frontends not
+ 	supporting callgraph.
+ 	* tree-inline.c (typedef struct inline_data): Add "decl"
+ 	(expand_call_inline): Update callgraph.
+ 	(optimize_inline_calls): Set id.decl.
+ 	* tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
+ 	cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
+ 	cgraph_calls_p): Declare.
+ 	* invoke.texi (-funit-at-a-time): Document.
+ 
+ 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.h: Fix misc formatting.
+ 	(__ev_create_ufix32_fs): Cast ev argument.
+ 	(__ev_create_sfix32_fs): Same.
+ 	(__ev_get_sfix32_fs_internal): Cast arguments to builtins.
+ 	(__ev_get_ufix32_fs_internal): Same.
+ 
+ 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
+ 	* config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
+ 
+ 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cpplib.c (do_include_common): Move warnings for
+ 	#include_next and #import out to callers.  Use early-return
+ 	instead of nested ifs.  Don't do check_eol here.
+ 	(parse_include): Do check_eol here with the rest of the
+ 	parsing stuff.
+ 	(do_include_next, do_import): Now handle warnings.
+ 
+ 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
+ 
+ 2003-02-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability):  Fix roundoff error.
+ 
+ 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Don't handle 65535.
+ 	(two peephole2): New.
+ 
+ 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (several peephole2): Replace
+ 	find_regno_note with peep2_reg_dead_p.
+ 
+ 2003-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcse.c (lookup_set): Remove unused argument PAT.  Update
+ 	both callers.
+ 
+ 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* diagnostic.c (real_abort): New.
+ 	(diagnostic_report_diagnostic): Call real_abort on error.
+ 	* diagnostic.h (diagnostic_abort_on_error): New.
+ 	(struct diagnostic_context): Add abort_on_error field.
+ 	* toplev.c (setup_core_dumping): New.
+ 	(decode_d_option): Handle 'H' case.
+ 	* doc/invoke.texi (Debugging Options): Document -dH.
+ 
+ 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
+ 	which refers to obsolete directories.
+ 
+ 2003-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
+ 
+ 2002-10-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (contains_128bit_aligned_vector_p): New function.
+ 	(ix86_function_arg_boundary): Properly align vector modes.
+ 
+ 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
+ 	* config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
+ 	as a SET pattern.
+ 
+ 2003-02-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c:  Fix failure caused by commiting wrong patch.
+ 
+ 2003-02-11  Dale Johannesen  <dalej@apple.com>
+ 	* ra-build.c (compare_and_free_webs):  Relax checking.
+ 	* config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
+ 
+ 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR optimization/9651
+ 	* rtlanal.c (may_trap_p): Handle FIX.
+ 
+ 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
+ 
+ 	* config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
+ 	* doc/invoke.texi: Extra alias.
+ 
+ 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/host-darwin.c: Fix comment.
+ 
+ 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (divmodsi4): Use register_operand
+ 	predicate for mod result.
+ 
+ 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
+ 	hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
+ 	* fixincl.x: Rebuilt.
+ 	* tests/base/stdlib.h: Update.
+ 	* tests/base/ctype.h: New file.
+ 
+ 2003-02-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
+ 
+ 2003-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
+ 	appropriated as globals.
+ 	(ix86_expand_clrstr): Similarly.
+ 	* config/i386/i386.md (cmpstrsi): Similarly.
+ 
+ 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Add a case of 255.
+ 
+ 2003-02-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
+ 	(pow_optab, atan2_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
+ 	* genopinit.c (optabs): Implement pow_optab and atan2_optab
+ 	using pow?f3 and atan2?f3 patterns.
+ 	* builtins.c (expand_errno_check): New function to update errno
+ 	if necessary, split out from expand_builtin_mathfn.
+ 	(expand_builtin_mathfn): Use expand_errno_check.
+ 	(expand_builtin_mathfn_2): New function to handle expanding binary
+ 	math functions, reusing the code in expand_errno_check.
+ 	(expand_builtin): Handle the pow and atan2 math built-ins,
+ 	BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
+ 	expand_builtin_mathfn_2.
+ 
+ 	* doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
+ 
+ 2003-02-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Fix folding of
+ 	nested float_truncates.
+ 
+ 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (a peephole2): Fix a typo.
+ 
+ 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.mc (return_address_mask): Use CC_REGNUM for the condition code
+ 	register number.
+ 
+ 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	gtuleu_operator.
+ 	* config/h8300/h8300.c (gtuleu_operator): New.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
+ 	* config/h8300/h8300.md (a peephole2): New.
+ 
+ 2003-02-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
+ 
+ 2003-02-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (choose_function_section): Choose sections correctly.
+ 
+ 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* reload1.c (first_label_num): New.
+ 	(reload): Index offsets_known_at and offsets_at using difference of
+ 	label number and first label number.  Don't use offset pointers.
+ 	(set_label_offsets, set_initial_label_offsets): Likewise.
+ 
+ 2003-02-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* mips-tfile.c (init_file): Add missing initializers in the
+ 	"#ifdef __alpha" case.
+ 	(file_offset, max_file_offset): Declare as unsigned long.
+ 	(write_varray): Cast to "unsigned long" in comparisons against
+ 	either file_offset or max_file_offset.
+ 	(write_object): Likewise.
+ 	(read_seek): Likewise.
+ 	(copy_object): Likewise. Declare "ifd" as int to match its use
+ 	in add_ext_symbol, and avoid signed/unsigned conditional warning.
+ 
+ 2003-02-10  Nick Clifton  <nickc@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
+ 	override options which have been specified on the command line.
+ 
+ 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (abssf2): New.
+ 	(*abssf2_h8300): Likewise.
+ 	(*abssf2_h8300hs): Likewise.
+ 
+ 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* tree.c (build_tree_list):  Fix parameter names in comment.
+ 
+ 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/ppc64-fp.c: New file.
+ 	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
+ 
+ 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
+ 	* bb-reorder.c (make_reorder_chain): Deleted.
+ 	(make_reorder_chain_1): Deleted.
+ 	(find_traces): New function.
+ 	(rotate_loop): New function.
+ 	(mark_bb_visited): New function.
+ 	(find_traces_1_round): New function.
+ 	(copy_bb): New function.
+ 	(bb_to_key): New function.
+ 	(better_edge_p): New function.
+ 	(connect_traces): New function.
+ 	(copy_bb_p): New function.
+ 	(get_uncond_jump_length): New function.
+ 	(reorder_basic_blocks): Use new functions (Software Trace Cache).
+ 	* cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
+ 	boundaries.
+ 
+ 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
+ 
+ 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* tree.h (struct tree_decl): Remove unused live_range_rtl field.
+ 	(DECL_LIVE_RANGE_RTL): Remove.
+ 
+ 2003-02-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
+ 	config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
+ 	config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
+ 	config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
+ 	config/arm/freebsd.h, config/arm/linux-elf.h,
+ 	config/arm/linux-gas.h, config/arm/netbsd-elf.h,
+ 	config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+ 	config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
+ 	config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
+ 	config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
+ 	config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
+ 	config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
+ 	and reformat as appropriate.
+ 
+ 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/clzsi2.c: Remove.
+ 	* config/h8300/ctzsi2.c: Likewise.
+ 	* config/h8300/paritysi2.c: Likewise.
+ 	* config/h8300/popcountsi2.c: Likewise.
+ 	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
+ 	ctzsi2, paritysi2, and popcountsi2.
+ 
+ 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
+ 
+ 	PR c/7741
+ 	* c-decl.c (duplicate_decls): Discard the initializer of the
+ 	new decl when the types are conflicting.
+ 
+ 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* Makefile.in (sreal.o): Added.
+ 	(predict.o): Depends on sreal.h instead of real.h.
+ 	* sreal.c: New file.
+ 	* sreal.h: New file.
+ 	* predict.c: Use sreal.c instead of real.c.
+ 
+ 2003-02-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* Contributed support for the Cirrus EP9312 "Maverick"
+ 	floating point co-processor.  Written by Aldy Hernandez
+ 	<aldyh@redhat.com>.
+ 	(config/arm/arm.c): Add Cirrus support.
+ 	(config/arm/arm.h): Likewise.
+ 	(config/arm/aout.h): Likewise.
+ 	(config/arm/arm.md): Likewise.
+ 	(config/arm/arm-protos.h): Likewise.
+ 	(config.gcc): Likewise.
+ 	(doc/invoke.texi): Describe new -mcpu value and new
+ 	-mcirrus-fix-invalid-insns switch,
+ 	(cirrus.md): New file.
+ 
+ 2003-02-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx): Simplify using
+ 	(float_truncate (float x)) is (float x)
+ 	(float_extend (float_extend x)) is (float_extend x).
+ 
+ 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (try_to_integrate): Tidy stack_usage_map access.
+ 	(emit_library_call_value_1): Likewise.	Formatting.
+ 	(store_one_arg): Likewise.
+ 
+ 2003-02-09  Nick Clifton  <nickc@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
+ 	spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
+ 	spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
+ 	spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
+ 	spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
+ 	docs.  Add range test for immediate value.
+ 
+ 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	Rename spe_evxor to xorv2si3.
+ 	(xorv4hi3): New.
+ 	(xorv1di3): New.
+ 
+ 2003-02-10  Glen Nakamura  <glen@imodulo.com>
+ 
+ 	* doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
+ 	tag.
+ 
+ 2003-02-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (vector_move_operand): New predicate.
+ 	(ix86_expand_vector_move): Be happy about 0.
+ 	* i386.h (PREDICATE_CODES): Add sse-move_operand.
+ 	* i386.md (mov*_internal): Add 'C' alternative.
+ 
+ 2003-02-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (floathi*): Deal with SSE.
+ 
+ 2003-02-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_unary_operation,
+ 	simplify_binary_operation):  Deal with vector modes
+ 	(simplify_ternary_operation):  Deal with no-op VEC_MERGE.
+ 
+ 2003-02-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* toplev.c (rest_of_compilation): Recompute register usage after
+ 	split_all_insns.
+ 
+ 2003-02-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc-std.ver (__clztf2): New.
+ 	(__ctztf2, __popcounttf2, __paritytf2): New.
+ 	* libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
+ 	__popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
+ 	adjust code to match the different type sizes.
+ 	* libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
+ 	__clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
+ 
+ 	* optabs.c (init_integral_libfuncs): Don't hard-code SImode and
+ 	TImode; select word_mode and twice that.
+ 	(init_floating_libfuncs): Don't hard-code SFmode and TFmode;
+ 	select the modes from float, double, and long double.
+ 	(init_optabs): Remove duplicate initializations.
+ 
+ 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
+ 
+ 	* doc/install.texi: Squeeze and streamline section on
+ 	testing and regression checking.
+ 
+ 2003-02-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (ahi?v*3): Set third operand type to TImode.
+ 	* i386.c (ix86_expand_binop_builtin): Extend operand when needed.
+ 
+ 	* simplify-rtx.c (simplify_subreg): Fix conversion from vector into
+ 	integer mode.
+ 
+ 	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
+ 	Change code so they are arithmetic expressions now.
+ 	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
+ 	simplify_ternary_operation): Deal with VEC_* expressions.
+ 
+ 	* i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
+ 
+ 2003-02-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
+ 	* reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
+ 	possibly got duplicated.
+ 
+ 2003-02-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (override_options): Turn off explicit
+ 	relocs until post-peep2 code duplication resolved.
+ 
+ 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c (expand_unop): Widen clz properly when clz is done
+ 	via libcall.
+ 
+ 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
+ 	* config/h8300/crti.asm: Likewise.
+ 	* config/h8300/crtn.asm: Likewise.
+ 	* config/h8300/ctzsi2.c: Likewise.
+ 	* config/h8300/fixunssfsi.c: Likewise.
+ 	* config/h8300/h8300-protos.h: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/h8300/paritysi2.c: Likewise.
+ 	* config/h8300/popcountsi2.c: Likewise.
+ 	* config/h8300/rtems.h: Likewise.
+ 
+ 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* doc/invoke.texi: Documentation for my previous commit.
+ 	* doc/passes.texi: Ditto.
+ 
+ 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
+ 	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
+ 	Declare.
+ 	(DLTHE_FLAG_UPDATE_FREQ): New.
+ 	* cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
+ 	loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
+ 	rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
+ 	fix_bb_placement, fix_bb_placements, place_new_loop,
+ 	scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
+ 	New static functions.
+ 	(fix_loop_placement, can_duplicate_loop_p,
+ 	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
+ 	New functions.
+ 
+ 	* cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
+ 	unswitch_loops): Declare.
+ 	* loop-init.c: New file.
+ 	* loop-unswitch.c: New file.
+ 	* Makefile.in (loop-init.o, loop-unswitch.o): New.
+ 	* params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
+ 	* toplev.c (DFI_loop2): New dump.
+ 	(flag_unswitch_loops): New.
+ 	(lang_independent_options): Add it.
+ 	(rest_of_compilation): Call new loop optimizer.
+ 	(parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
+ 
+ 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/clzsi2.c: New.
+ 	* config/h8300/ctzsi2.c: Likewise.
+ 	* config/h8300/paritysi2.c: Likewise.
+ 	* config/h8300/popcountsi2.c: Likewise.
+ 	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
+ 
+ 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
+ 	* config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
+ 	(ctzsi2): New pattern.
+ 	(ffssi2): Use clz instead of unspec.
+ 	(clzdi2): Rename from cntlzd2.
+ 	(ctzdi2): New pattern.
+ 	(ffsdi2): Use clz instead of unspec.
+ 
+ 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
+ 	* config/ia64/freebsd.h (LINK_SPEC): Likewise.
+ 	* config/sparc/freebsd.h (LINK_SPEC): Likewise.
+ 	* config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
+ 
+ 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
+ 
+ 	* doc/trouble.texi: Document pitfalls of two-stage name lookup.
+ 
+ 2003-02-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 9226
+ 	* gcse.c (local_cprop_find_used_regs): New.
+ 	(local_cprop_pass): Use it.
+ 
+ 2003-02-07  Fred Fish  <fnf@intrinsity.com>
+ 
+ 	* mips-tfile.c (parse_def): Parenthesize assignments to fix
+ 	precedence bugs.
+ 
+ 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
+ 
+ 2003-02-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
+ 	(BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
+ 	(BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
+ 	* builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
+ 	builtin functions (and their __builtin_* variants).
+ 	* builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
+ 	(expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
+ 	when not optimizing.
+ 
+ 	* doc/extend.texi: Document new pow and atan2 builtins, and
+ 	their float and long double variants.  Realphabetize builtins.
+ 
+ 2003-02-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (sse2_nandv2di3): Fix.
+ 
+ 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
+ 	* config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
+ 	definition.
+ 	* config/i386/i386.h (ix86_return_in_memory): Return aggregate
+ 	types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
+ 
+ 2003-02-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
+ 
+ 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfg.c (dump_flow_info): Add back accidently deleted line.
+ 
+ 2003-02-07  Andrey Petrov <petrov@netbsd.org>
+ 
+ 	* optabs.c (expand_float): Search wider integer modes first.
+ 
+ 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
+ 	based on preprocessor flag.
+ 
+ 2003-02-07  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* gcse.c (implicit_sets): New.
+ 	(compute_hash_table_work): Include them in hash table.
+ 	(find_implicit_sets, fis_get_condition): New.
+ 	(one_cprop_pass): Allocate and free implicit_sets; call
+ 	find_implicit_sets before building hash table.
+ 
+ 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
+ 
+ 	* config/t-netbsd (USER_H): Revert previous change.
+ 
+ 2003-02-07  Gabor Greif  <ggreif@lucent.com>
+ 
+ 	* doc/c-tree.texi (Namespaces): Fix typo.
+ 
+ 2003-02-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regrename.c (do_replace, find_oldest_value_reg,
+ 	copyprop_hardreg_forward_1): Update register attributes.
+ 
+ 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
+ 	VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
+ 	variables starting with underscore.
+ 	(struct unit_usage): New structure.
+ 	(unit_usages, cycle_alt_unit_usages): New global variables.
+ 	(check_unit_distribution_in_reserv): Remove it.
+ 	(store_alt_unit_usage): New function.
+ 	(check_regexp_units_distribution): Rewrite it.
+ 
+ 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
+ 	target_cpu_default.
+ 	* pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
+ 	if not MASK_NO_SPACE_REGS.
+ 	(output_call): Adjust return pointer, don't load new space register
+ 	into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
+ 	(pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
+ 	TARGET_NO_SPACE_REGS is true.
+ 	* pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
+ 	conditions.
+ 	(epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
+ 	(interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
+ 	true.  Use bve when TARGET_64BIT is true.
+ 
+ 2003-02-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (nonzero_bits): Fix double break.
+ 
+ 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
+ 	    Richard Henderson <rth@redhat.com>
+ 
+ 	PR c/9530
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
+ 	from functions that return a float to functions that don't.
+ 
+ 2003-02-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_inter_unit_moves): New variable.
+ 	(ix86_secondary_memory_needed): Fix 64bit case, honor
+ 	TARGET_INTER_UNIT_MOVES
+ 	* i386.h (x86_inter_unit_moves): Declare.
+ 	(TARGET_INTER_UNIT_MOVES): New macro.
+ 	* i386.md (movsi_1): Cleanup constraints; disable
+ 	when not doing inter-unit moves.
+ 	(movsi_1_nointernunit): New.
+ 	(movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
+ 	(movdi_1_rex64_nointerunit): New.
+ 	(mivsf_1): disable when not doing inter-unit moves.
+ 	(movsf_1_nointerunit): New.
+ 
+ 	* basic-block.h (inside_basic_block_p):  Declare.
+ 	* cfgbuild.c (inside_basic_block_p): Make global.
+ 	* haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
+ 	* scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
+ 	update CFG.
+ 	(fix_basic_block_boundaries, add_missing_bbs): New.
+ 	(rank): Use profile.
+ 	(scheudle_ebbs): Rely on CFG; update coments.
+ 
+ 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (host_hook_obj): New.
+ 	(OBJS): Add $(host_hook_obj).
+ 	(host_default.o): New rule.
+ 	* config.gcc (host_hook_obj): New, default to host-default.o.
+ 	(powerpc-*-darwin*): Use host-darwin.o.
+ 	(out_host_hook_obj): New.
+ 	* configure: Regenerate.
+ 	* configure.in: Print information about out_host_hook_obj, substitute
+ 	into output files.
+ 	* host-default.c: New file.
+ 	* hosthooks.h: New file.
+ 	* toplev.c (general_init): Call host_hooks.extra_signals.
+ 	* config/rs6000/host-darwin.c: New file.
+ 	* config/rs6000/x-darwin: New file.
+ 	* doc/hostconfig.texi: Add documentation for new host hook.
+ 	Rearrange existing documentation.
+ 
+ 2003-02-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
+ 	with *targetm.delegitimize_address.
+ 	(rtl_for_decl_location): Likewise.
+ 	* dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
+ 	* Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
+ 
+ 	* config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
+ 	* config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
+ 	prototype.
+ 	* config/i386/i386.c (ix86_delegitimize_address): Renamed from
+ 	i386_simplify_dwarf_addr.  Made static.  Prototyped.
+ 	(TARGET_DELEGITIMIZE_ADDRESS): Update definition from
+ 	i386_simplify_dwarf_addr to ix86_delegitimize_address.
+ 	(ix86_find_base_term): Likewise.
+ 	(maybe_get_pool_constant): Likewise.
+ 
+ 	* config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
+ 	* config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
+ 	prototype.
+ 	* config/s390/s390.c (s390_delegitimize_address): Renamed from
+ 	s390_simplify_dwarf_addr.  Made static.  Prototyped.
+ 	(TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
+ 
+ 2003-02-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/8602
+ 	* integrate.c (output_inline_function): Reset input_filename
+ 	and lineno from the decl before rest_of_compilation.
+ 
+ 2003-02-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
+ 	(CTZ_DEFINED_VALUE_AT_ZERO): New.
+ 	* doc/rtl.texi, doc/tm.texi: Document them.
+ 
+ 	* combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
+ 	of the value at zero properly.
+ 	* fold-const.c (tree_expr_nonnegative_p): Likewise.
+ 	* simplify-rtx.c (simplify_unary_operation): Likewise.
+ 
+ 	* config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
+ 	(CTZ_DEFINED_VALUE_AT_ZERO): New.
+ 
+ 	* config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
+ 	(TARGET_EXPAND_BUILTIN): Remove.
+ 	(def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
+ 	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
+ 	(enum arm_builtins): Remove.
+ 	* config/arm/arm.md (UNSPEC_CLZ): Remove.
+ 	(clzsi2): Rename from clz; use clz instead of unspec.
+ 	(ctzsi2): New.
+ 	* config/arm/arm-protos.h: Update.
+ 
+ 2003-02-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386-protos.h (x86_emit_floatuns):  Declare.
+ 	* i386.c (x86_emit_floatuns): New global function.
+ 	* i386.md (floatunssisf2, floatunsdisf2,
+ 	floatunsdidf2):  New patterns.
+ 
+ 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
+ 
+ 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
+ 
+ 	* config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
+ 	  config/ia64/linux.h
+ 
+ 2003-02-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
+ 
+ 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/8555
+ 	* config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
+ 	instead of aborting.
+ 
+ 2003-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (UNSPEC_BSF): Remove.
+ 	(ffssi2): Split into cmove and no_cmove insns and splitters;
+ 	lose pentium float trick for now.
+ 	(ffssi_1): Add * to name; use CTZ instead of UNSPEC.
+ 	(ctzsi2, clzsi2, bsr): New.
+ 
+ 2003-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
+ 	UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
+ 	* config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
+ 	(ffsdi2): Use popcount instead of unspec.
+ 	(popcountdi2): Rename from *popcnt.
+ 	(ctzdi2, clzdi2, getf_exp_tf): New.
+ 
+ 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genconfig.c (main): Generate CC0_P.
+ 	* rtl.h (CC0_P): Remove.
+ 
+ 2003-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.h, libgcc2.c (__ffsSI2): New.
+ 	(__ffsDI2): Rename from __ffsdi2.
+ 	* mklibgcc.in (lib2funcs): Add _ffssi2.
+ 
+ 2003-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
+ 	rounds with a "bit table" lookup.
+ 
+ 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): Do not use the mode specified in the insn
+ 	pattern as reload mode for address operands.  Do not generate optional
+ 	reloads for operands where a mandatory reload was already pushed.
+ 
+ 2003-02-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
+ 	builtins instead of inline assembly.
+ 
+ 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	PR c/9376
+ 	* libgcc2.c (__subvdi3): Fix typo.
+ 
+ 2003-02-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (movti_rex64):  Fix constraint.
+ 
+ 2003-02-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (vector push splitters):  Fix typo in resolving conflict.
+ 
+ 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
+ 
+ 	* config/i386/i386.c (x86_function_profiler): Fix typo in format.
+ 
+ 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	* doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
+ 	for recent libstdc++.  Remove formatting cruft.
+ 
+ 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
+ 	attribute even if input file name is absolute, but one of the
+ 	includes is relative.
+ 
+ 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
+ 	doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
+ 	* doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
+ 
+ 2003-02-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
+ 	__popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
+ 	return type to "int".  Shuffle declarations and undef int trap.
+ 	* libgcc2.h: Remove their declarations.
+ 	* optabs.c (expand_unop): Force outmode to int for bitops.
+ 
+ 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
+ 	coprocessor registers before floating-point registers.
+ 	* config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
+ 	to account for a previously removed register.
+ 	(SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
+ 	Delete unused macros.
+ 
+ 2003-02-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_store_builtin):  Always force op1 to register.
+ 	(mov*_internal): Fix predicates; require one of operands to not be
+ 	memory.
+ 	(SSE?MMX move expanders):  Fix predicates; force one of operands to
+ 	register.
+ 	(SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
+ 	(movups/movupd/movdqu patterns): Force one of operands to not be
+ 	memory.
+ 
+ 2003-02-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* hooks.c (hook_rtx_rtx_identity): Generic hook function that
+ 	takes a single rtx and returns it unmodified.
+ 	* hooks.h (hook_rtx_rtx_identity): Prototype here.
+ 	* target.h (struct gcc_target): Add "delegitimize_address"
+ 	field to target structure.
+ 	* target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
+ 	for delegitimize_address target using hook_rtx_rtx_identity.
+ 	(TARGET_INITIALIZER): Initialize delegitimize_address field
+ 	using TARGET_DELEGITIMIZE_ADDRESS macro.
+ 	* simplify-rtx.c (avoid_constant_pool_reference): Handle float
+ 	extensions of constant pool references.  Use delegitimize_address
+ 	to undo the obfuscation of "-fpic".
+ 	* Makefile.in (simplify-rtx.o): Add dependency on target.h.
+ 
+ 	* config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
+ 	i386_simplify_dwarf_addr.
+ 	(ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
+ 	(maybe_get_pool_constant): Likewise.
+ 
+ 2003-02-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
+ 
+ 2003-02-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* regclass.c (cannot_change_mode_set_regs): Correct argument order.
+ 
+ 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
+ 	define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
+ 
+ 2003-02-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* varasm.c (asm_output_aligned_bss): Declare as possibly unused.
+ 
+ 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (sibcall_epilogue): Set the "conds" to "clob".
+ 	(epilogue_insns): Likewise.
+ 
+ 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
+ 
+ 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-protos.h (attr_length_millicode_call): Remove second argument.
+ 	(attr_length_indirect_call, attr_length_indirect_call,
+ 	attr_length_save_restore_dltp): New prototypes.
+ 	* pa.c (attr_length_millicode_call): Remove second argument.  Check
+ 	INSN_ADDRESSES_SET_P in distance calculation.
+ 	(output_millicode_call): Check INSN_ADDRESSES_SET_P before using
+ 	INSN_ADDRESSES.
+ 	(attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
+ 	(output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
+ 	Call attr_length_call directly.
+ 	(attr_length_indirect_call, output_indirect_call,
+ 	attr_length_save_restore_dltp): New functions.
+ 	* pa.md (attr_length_millicode_call): Drop second argument from all
+ 	patterns.
+ 	(return_internal_pic): Delete.
+ 	(return_external_pic): Remove use of PIC register and pic operand and
+ 	flag checks.
+ 	(epilogue): Use return_internal for both normal and pic code.
+ 	(call, call_value): Emit new 32-bit pic patterns for symref and
+ 	indirect calls.  Remove uses for arg pointer and pic register.
+ 	(call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
+ 	call_reg_pic_post_reload, call_val_symref_pic,
+ 	call_val_symref_pic_post_reload, call_val_reg_pic,
+ 	call_val_reg_pic_post_reload): New pre and post reload insn patterns.
+ 	Implement define_split and define_peephole2 patterns for pre reload
+ 	patterns.
+ 	(call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
+ 	call_value_internal_reg_64bit): Shorten names.
+ 	(all call patterns): Explicitly indicate registers used and clobbered.
+ 	Use attr_length_indirect_call and attr_length_save_restore_dltp for
+ 	attribute length calculation.  Move code generation for indirect calls
+ 	to output_indirect_call.
+ 	(sibcall, sibcall_value): Don't restore PIC register.
+ 	(exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
+ 	register retore.
+ 
+ 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Testing): Simplify and compress instructions
+ 	concerning Dejagnu.
+ 
+ 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* collect2.c (pexecute_pid): Rename to pid.
+ 	(collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
+ 	pid.
+ 
+ 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Remove documentation
+ 	for PowerPC Windows NT function attributes..
+ 
+ 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* dwarf2out.c (gen_type_die): Check for typedefs before calling
+ 	for TYPE_MAIN_VARIANT.
+ 
+ 2003-02-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* libgcc2.c: Include auto-host.h.
+ 	(ATTRIBUTE_HIDDEN): New.
+ 	(__clz_tab): Don't declare here for clz and ctz.
+ 	(__clzsi2, __clzdi2): Use count_leading_zeros.
+ 	(__ctzsi2, __ctzdi2): Use count_trailing_zeros.
+ 	(__popcount_tab): Mark ATTRIBUTE_HIDDEN.
+ 	(__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
+ 	* longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
+ 
+ 2003-02-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
+ 	to the conditional.
+ 	(ashlsi3_1_zext splitter): Likewise.
+ 
+ 2003-02-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
+ 	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
+ 	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
+ 	return type to Wtype.
+ 
+ 	* libgcc-std.ver (GCC_3.4): Fix inheritance.
+ 
+ 	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
+ 	expander input constraint.
+ 
+ 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
+ 
+ 	* optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
+ 	OTI_parity.
+ 	(clz_optab, ctz_optab, popcount_optab, parity_optab): New.
+ 	* optabs.c (widen_clz, expand_parity): New.
+ 	(expand_unop): Handle clz and parity.  Hardcode SImode as outmode
+ 	for libcalls to clz, ctz, popcount, and parity.
+ 	(init_optabs): Init clz_optab, ctz_optab, popcount_optab and
+ 	parity_optab, and set up libfunc handlers.
+ 	* libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
+ 	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
+ 	__popcount_tab): New.
+ 	* libgcc2.h: Declare them.
+ 	* libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
+ 	* genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
+ 	and parity_optab.
+ 	* builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
+ 	* builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
+ 	BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
+ 	BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
+ 	BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
+ 	BUILT_IN_PARITYLL): New.
+ 	* builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
+ 	and add optab argument.
+ 	(expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
+ 	* tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
+ 	* expr.c (expand_expr): Handle them.
+ 	* fold-const.c (tree_expr_nonnegative_p): Likewise.
+ 	* rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
+ 	* reload1.c (eliminate_regs): Handle them.
+ 	(elimination_effects): Likewise.
+ 	* function.c (instantiate_virtual_regs_1): Likewise
+ 	* genattrtab.c (check_attr_value): Likewise.
+ 	* simplify-rtx.c (simplify_unary_operation): Likewise.
+ 	* c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
+ 	* combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
+ 	(nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
+ 	* config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
+ 	* config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
+ 	__builtin_arm_clz.
+ 	* Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
+ 	* mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
+ 	* doc/extend.texi (Other Builtins): Add new builtins.
+ 	* doc/md.texi (Standard Names): Add new patterns.
+ 
+ 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c: Revert 2003-01-31 change.
+ 
+ 2003-02-01  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
+ 
+ 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* flags.h (flag_volatile): Remove declaration.
+ 	(flag_volatile_global, flag_volatile_static): Likewise.
+ 	* c-typeck.c (build_indirect_ref): Don't check flag_volatile.
+ 	* toplev.c (flag_volatile): Remove definition.
+ 	(flag_volatile_global, flag_volatile_static): Likewise.
+ 	(f_options): Remove corresponding entries here.
+ 	* varasm.c (make_decl_rtl): Don't check flag_volatile_global
+ 	or flag_volatile_static.
+ 	* doc/invoke.texi: Remove documentation of -fvolatile,
+ 	-fvolatile-global and -fvolatile-static.
+ 
+ 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
+ 	updating of total_code_bytes from prologue to epilogue.
+ 
+ 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): Do not use the mode specified in the insn
+ 	pattern as reload mode for address operands.  Do not generate optional
+ 	reloads for operands where a mandatory reload was already pushed.
+ 	Generate optional reloads only in the final pass though find_reloads.
+ 	(have_replacement_p): New function.
+ 
+ 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Testing): Remove a reference to our obsolete
+ 	/testresults web pages and strip redundant information concerning
+ 	test results.
+ 	(Binaries): Refer to Microsoft Windows instead of listing all
+ 	possible variants.
+ 
+ 2003-02-01  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (emit_prefetch_instructions):  Do conversion at right place in
+ 	RTL chain.
+ 
+ 	* combine.c (simplify_set): Reverse order of ragumetns to
+ 	REG_CANNOT_CHANGE_MODE_P
+ 	* df.c (df_def_record_1): Likewise.
+ 	* recog.c (register_operand): Likewise.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
+ 	CANNOT_CHANGE_MODE_CLASS.
+ 	* regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
+ 	Likewise.
+ 	* reload.c (push_reload): Likewise.
+ 	* alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* mips-protos.h (mips_cannot_change_mode_class): Update prototype.
+ 	* mips.c (mips_cannot_change_mode_class): Update.
+ 	* pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
+ 	* sh-protos.h (sh_cannot_change_mode_class): Update prototype.
+ 	* sh.c (sh_cannot_change_mode_class): Update.
+ 	* i386.h (CANNOT_CHANGE_MODE_CLASS): New.
+ 	* tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
+ 
+ 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
+ 	change to LINK_COMMAND_SPEC in gcc.c.
+ 
+ 2003-01-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c/9506
+ 	* i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
+ 
+ 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
+ 	duplicated code.
+ 
+ 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
+ 	(BINFO_ELTS): New #define.
+ 	* stor-layout.c (finalize_record_size): Don't set them.
+ 	* cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
+ 	BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
+ 	(BINFO_LANG_ELTS): New #define.
+ 	* cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
+ 	* java/class.c (make_class): Use BINFO_ELTS.
+ 	(set_super_info): Likewse.
+ 	(add_interface_do): Likewise.
+ 	* objc/objc-act.c (start_class): Use BINFO_ELTS.
+ 
+ 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
+ 
+ 	* timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
+ 	(times): Don't ever declare if not HAVE_TIMES.
+ 	(clock): Don't ever declare if not HAVE_CLOCK.
+ 
+ 2003-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* flow.c (update_life_info): Zap life info after cleanup_cfg.
+ 	(regno_uninitialized): Use correct live at function entry set.
+ 	(regno_clobbered_at_setjmp): Likewise.
+ 
+ 	* expr.c (store_expr): Promote all MEM intermediates to regs.
+ 
+ 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c: Fix comment typos.
+ 	* config/arm/arm.h: Likewise.
+ 	* config/arm/netbsd-elf.h: Likewise.
+ 	* config/arm/netbsd.h: Likewise.
+ 
+ 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (struct walk_type_data): Add needs_cast_p.
+ 	(walk_type): Set needs_cast_p in walk_type_data.
+ 	(write_types_process_field): Supply casts when required to suppress
+ 	warnings.
+ 	(write_root): Cast gt_pch_n_S to suppress warning.
+ 	* Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
+ 	* config/rs6000/rs6000.c (print_operand): Mask off high bits only
+ 	when they might exist.
+ 	* config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
+ 	insn-conditions.o, and rs6000.o.
+ 
+ 2003-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ggc-page.c (G.context_depth_allocations): New.
+ 	(G.context_depth_collections): New.
+ 	(alloc_page): Set G.context_depth_allocations.
+ 	(ggc_collect): Set G.context_depth_collections.
+ 	(ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
+ 	(ggc_pop_context): Early exit for no allocations or collections.
+ 
+ 2003-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
+ 
+ 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_compute_initial_elimination_offset): If optimizing for
+ 	size, the link register is always saved if any other register is
+ 	saved.
+ 
+ 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	compute_plussi_cc.
+ 	(cpp_reader): Declare before it is used.
+ 	* config/h8300/h8300.c (compute_plussi_cc): Change the return
+ 	type to int.
+ 	* config/h8300/h8300.md (monitor_prologue): Call abort() if we
+ 	see an unknown H8 variant.
+ 
+ 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+ 
+ 	PR target/9316
+ 	* config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
+ 	* config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
+ 	* config/rs6000/t-rtems: New file. multilib variants to match OS.
+ 	* config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
+ 	rs6000/t-ppcgas so we get the desired multilibs.
+ 
+ 2003-01-30  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Update stack pointer
+ 	when popping saved IP register off the stack.
+ 
+ 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/rs6000/aix43.h: Fix comment typos.
+ 	* config/rs6000/aix51.h: Likewise.
+ 	* config/rs6000/aix52.h: Likewise.
+ 	* config/rs6000/altivec.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/rs6000/spe.md: Likewise.
+ 
+ 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (builtin_define_float_constants): Define
+ 	__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
+ 
+ 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/lib1funcs.asm: Fix comment typos.
+ 	* config/sh/linux.h: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 
+ 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
+ 
+ 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/fp-bit.h (__make_dp): Declare if TMODES.
+ 
+ 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Add entries for
+ 	general_operand_src and general_operand_dst.
+ 
+ 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_pass_by_reference):
+ 	Return true for variable sized types.
+ 	(rs6000_va_arg): Handle variable sized types passed by reference
+ 	on non-SVR4 ABI.
+ 
+ 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_legtimize_address): New function.
+ 	* arm-protos.h (arm_legtimize_address): Add prototype.
+ 	* arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
+ 	(LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
+ 	do ... while (0)
+ 
+ 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	PR bootstrap/9296
+ 	* gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
+ 	depended on it being defined until now.
+ 
+ 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	PR target/9295
+ 	* config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
+ 	RTEMS code knows which C++ initialization style the toolset
+ 	configuration is using.
+ 
+ 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	PR bootstrap/9293
+ 	* config/m68k/t-crtstuff: Replace spaces with tabs, add
+ 	 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
+ 
+ 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+ 
+ 	PR bootstrap/9292
+ 	* config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
+ 	RTEMS threads.
+ 	* config/pa/rtems.h (LIB_SPEC): Use -N when linking.
+ 
+ 2003-01-29  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* Makefile.in (c-parse.o): Locate source file in $(parsedir)
+ 	not $(srcdir).
+ 
+ 2003-01-29  Andrew Haley  <aph@redhat.com>
+ 
+ 	* tree-inline.c (walk_tree): Add CHAR_TYPE.
+ 
+ 2003-01-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (subdi3_carry_rex64): Fix typo.
+ 
+ 2003-01-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* coretypes.h (cpp_reader): Forward declare struct.
+ 	* c-pragma.h (cpp_reader): Remove forward declaration.
+ 	* hashtable.h (cpp_reader): Likewise.
+ 	* scan.h (cpp_reader): Likewise.
+ 	* tree.h (cpp_reader): Likewise.
+ 	* config/darwin-protos.h (cpp_reader): Likewise.
+ 	* config/arm/arm-protos.h (cpp_reader): Likewise.
+ 	* config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
+ 	struct cpp_reader in prototypes.
+ 
+ 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+ 
+ 	* doc/install.texi: Add documentation for installation into
+ 	tooldirs and with DESTDIR.
+ 
+ 2003-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (ia64*-*-aix*): Remove.
+ 	* config/ia64/aix.h, config/ia64/t-aix: Remove file.
+ 	* config/ia64/unwind-aix.c: Remove file.
+ 
+ 2003-01-28  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.md (tablejump+2): Don't sign extend an address
+ 	register.
+ 	* config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 	* config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
+ 
+ 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (nonzero_bits): Fix check for negative divide operands.
+ 
+ 2003-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
+ 	* config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
+ 
+ 2003-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (find_best_addr): Kill !ADDRESS_COST code.
+ 
+ 	* config/cris/cris.c (cris_address_cost): Make static.
+ 	(TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
+ 	* config/cris/cris.h (ADDRESS_COST): Remove.
+ 	* config/cris/cris-protos.h: Update.
+ 
+ 2003-01-23  Mike Stump  <mrs@apple.com>
+ 
+ 	* regclass.c (init_reg_autoinc): New function.
+ 	(regclass): Move initialization of forbidden_inc_dec_class from
+ 	here...
+ 	(init_regs): to here.  Avoids reinitialization for each function,
+ 	saving compilation time.
+ 
+ 2003-01-28  Jason Merrill  <jason@redhat.com>
+ 
+ 	* cpplib.h (struct cpp_options): Add warn_deprecated field.
+ 	* cppinit.c (cpp_create_reader): Turn it on by default.
+ 	* c-opts.c (c_common_decode_option): Set it.
+ 	* cpplib.c (do_pragma_once): Only complain about #pragma once
+ 	if warn_deprecated is set.
+ 
+ 2003-01-28  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
+ 	* loop.c (scan_loop):  Move movables on -Os rich-register targets.
+ 	* config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
+ 
+ 2003-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (targetm.address_cost): New.
+ 	* target-def.h (TARGET_ADDRESS_COST): New.
+ 	(TARGET_RTX_COSTS): Uncomment.  Oops.
+ 	* cse.c (address_cost): Use new target hook.
+ 	(default_address_cost): New.
+ 	* output.h (default_address_cost): Declare.
+ 	* hooks.c (hook_int_rtx_0): New.
+ 	* hooks.h (hook_int_rtx_0): Declare.
+ 	* loop.c (combine_givs_p): Remove if 0 code.
+ 	* system.h (ADDRESS_COST): Poison.
+ 
+ 	* config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
+ 	config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
+ 	config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
+ 	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
+ 	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
+ 	config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
+ 	config/xtensa/xtensa.c, config/xtensa/xtensa.h
+ 	(TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
+ 	(ADDRESS_COST): Remove.
+ 
+ 	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
+ 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
+ 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
+ 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+ 	config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
+ 	config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
+ 	config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
+ 	config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
+ 	config/mips/mips.c, config/mips/mips.h,
+ 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+ 	config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
+ 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
+ 	config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
+ 	config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
+ 	config/vax/vax.c, config/vax/vax.h
+ 	(foo_address_cost): Make static.
+ 	(TARGET_ADDRESS_COST): New.
+ 	(ADDRESS_COST): Remove.
+ 
+ 	* config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
+ 	config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
+ 	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
+ 	config/stormy16/stormy16.h
+ 	(ADDRESS_COST): Move code ...
+ 	(foo_address_cost): ... here.
+ 	(TARGET_ADDRESS_COST): New.
+ 
+ 	* config/m32r/m32r.c (m32r_address_cost): Remove.
+ 	* config/m32r/m32r-protos.h: Update.
+ 
+ 	* config/mmix/mmix.c (mmix_address_cost): Remove.
+ 	* config/mmix/mmix-protos.h: Update.
+ 
+ 	* config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
+ 	mn10300_address_cost; move unsig allocation ...
+ 	(mn10300_address_cost): ... here.
+ 	(TARGET_ADDRESS_COST): New.
+ 	* config/mn10300/mn10300-protos.h: Update.
+ 	* config/mn10300/mn10300.h (ADDRESS_COST): Remove.
+ 
+ 	* doc/tm.texi: Update.
+ 
+ 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (schedule_insn): Return necessary cycle advance
+ 	after issuing the insn.
+ 	(rank_for_schedule): Make a insn with /S the highest priority
+ 	insn.
+ 	(move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
+ 	(choose_ready): Check SCHED_GROUP_P.
+ 	(schedule_block): Advance cycle after issuing insn if it is
+ 	necessary.  Don't reorder insns if there is an insn with /S.
+ 	(set_priorities): Ignore schedule groups.
+ 
+ 	* sched-deps.c (remove_dependence, group_leader): Remove the
+ 	functions.
+ 	(add_dependence): Ignore schedule groups.
+ 	(set_sched_group_p): Don't make copy of dependencies from previous
+ 	insn of the schedule group.  Add anti-dependency to the previous
+ 	insn of the schedule group.
+ 	(compute_forward_dependences): Ignore schedule groups.
+ 
+ 	* sched-ebb.c (init_ready_list): Ignore schedule groups.
+ 
+ 	* sched-rgn.c (init_ready_list): Ditto.
+ 	(can_schedule_ready_p): Ditto.
+ 
+ 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
+ 	register to another one.
+ 
+ 2003-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (default_must_pass_in_stack): Fix typo in !type case.
+ 
+ 2003-01-28  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
+ 
+ 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
+ 	class contains a floating-point register, return the size of the
+ 	mode in half words.
+ 
+ 2003-01-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_carry_flag_operator):  New predicate.
+ 	(fcmov_operator): Fix whitespace.
+ 	(ix86_expand_carry_flag_compare):  Deal with floating point.
+ 	(ix86_expand_int_movcc): Deal with fp; update insn expansion
+ 	(ix86_expand_int_addcc): Likewise.
+ 	(ix86_expand_strlensi_unroll_1): likewsie.
+ 	* i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
+ 	* i386.md (add?i_carry_rex64): Use new predicate.
+ 	(sub?i3_carry_rex64): Likewise.
+ 	(x86_mov?icc_0_m1*): Likewise.
+ 
+ 2003-01-28  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* cfgloopmanip.c (create_preheader): Initialize src to avoid
+ 	warning.
+ 
+ 	* expmed.c (emit_store_flag): Fix cast to avoid sign
+ 	comparison warning.
+ 
+ 	* combine.c (force_to_mode): Add cast to fix warning when
+ 	STORE_FLAG_VALUE is negative.
+ 
+ 2003-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (cse.o): Depend on TARGET_H.
+ 	* cse.c (rtx_cost): Use targetm.rtx_costs.
+ 	* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
+ 	* doc/tm.texi: Update.
+ 
+ 	* target.h (targetm.rtx_costs): New.
+ 	* target-def.h (TARGET_RTX_COSTS): New.
+ 	* hooks.c (hook_bool_rtx_int_int_intp_false): New.
+ 	* hooks.h: Update.
+ 
+ 	* config/alpha/alpha.c (alpha_rtx_cost_data): New.
+ 	(alpha_rtx_costs, TARGET_RTX_COSTS): New.
+ 	* config/alpha/alpha.h (PROCESSOR_MAX): New.
+ 	(CONST_COSTS, RTX_COSTS): Remove.
+ 
+ 	* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
+ 	config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
+ 	config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
+ 	config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
+ 	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
+ 	config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
+ 	config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
+ 	config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
+ 	config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
+ 	config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
+ 	config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
+ 	config/mn10200/mn10200.h, config/mn10300/mn10300.c,
+ 	config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
+ 	config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
+ 	config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
+ 	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
+ 	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
+ 	config/stormy16/stormy16.c, config/stormy16/stormy16.h,
+ 	config/v850/v850.c, config/v850/v850.h,
+ 	config/xtensa/xtensa.c, config/xtensa/xtensa.h
+ 	(CONST_COSTS, RTX_COSTS): Move code ...
+ 	(foo_rtx_costs, TARGET_RTX_COSTS): ... here.
+ 
+ 	* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
+ 	(arm_rtx_costs, TARGET_RTX_COSTS): New.
+ 	* config/arm/arm-protos.h: Update.
+ 	* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
+ 
+ 	* config/avr/avr.h (CONST_COSTS): Move code ...
+ 	* config/avr/avr.c (avr_rtx_costs): ... here.
+ 	(default_rtx_costs): Make static.
+ 	* config/avr/avr-protos.h: Update.
+ 
+ 	* config/h8300/h8300.c (const_costs): Make static.
+ 	(h8300_and_costs, h8300_shift_costs): Likewise.
+ 	* config/h8300/h8300-protos.h: Update.
+ 
+ 	* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
+ 	(CONST_COSTS): Move code ...
+ 	* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
+ 	default_rtx_costs; update for signature change.
+ 	* config/ip2k/ip2k-protos.h: Update.
+ 
+ 	* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
+ 	(CONST_COSTS): Move code ...
+ 	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
+ 	(TARGET_RTX_COSTS): New.
+ 	(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
+ 	* config/m68hc11/m68hc11-protos.h: Update.
+ 
+ 	* config/m68k/m68k.c (const_int_cost): Make static.
+ 	* config/m68k/m68k-protos.h: Update.
+ 
+ 	* config/mcore/mcore.c (mcore_const_costs): Make static.
+ 	(mcore_and_cost, mcore_ior_cost): Likewise.
+ 	* config/mcore/mcore-protos.h: Update.
+ 
+ 	* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
+ 	(mmix_rtx_cost_recalculated): Remove.
+ 	* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
+ 	* config/mmix/mmix-protos.h: Update.
+ 
+ 	* config/sh/sh.c (shiftcosts): Make static.
+ 	(addsubcosts, andcosts, multcosts): Likewise.
+ 	* config/sh/sh-protos.h: Update.
+ 
+ 	* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
+ 	(sparc_rtx_costs): Make static; update for change in signature.
+ 	* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 	* config/v850/v850.c (const_costs): Make static.
+ 	* config/v850/v850-protos.h: Update.
+ 
+ 	* config/vax/vax.h (RTX_COSTS): Remove.
+ 	(CONST_COSTS): Move code ...
+ 	* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
+ 	from vax_rtx_cost.
+ 	(vax_rtx_costs, TARGET_RTX_COSTS): New.
+ 
+ 2003-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
+ 	* config/vax/vax-protos.h: Update.  Really.
+ 
+ 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
+ 	(UNITS_PER_FPVALUE): Defined as the width of a long double, or
+ 	zero if no hardware floating point.
+ 	(LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
+ 	(MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
+ 	(BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
+ 	(FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
+ 	* config/mips/mips.c (mips_arg_info): Pass TFmode values in
+ 	even FP registers on N32 and N64.
+ 	(mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
+ 	(mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
+ 	(mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
+ 	even-register-like alignment to 128-bit arguments.
+ 	(save_restore_insns): Use UNITS_PER_HWFPVALUE.
+ 	(mips_function_value): Likewise.  Return TFmode in $f0 and $f2
+ 	on N32 or N64.
+ 	* config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
+ 	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
+ 	(TPBIT): Set to tp-bit.c.
+ 	(tp-bit.c): Create out of fp-bit.c.
+ 
+ 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-parse.in: Remove '%expect 32' directive in objc mode.
+ 
+ 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (LIB2FUNCS_ST): Remove _gcov.
+ 	(LIBGCOV): New variable.
+ 	(libgcc.mk): Add LIBGCOV.
+ 	(LIBGCC_DEPS): Add libgcov.c.
+ 	(libgcov.a): New target.
+ 	(clean): Remove libgcov.a.
+ 	(install-libgcc): Do libgcov too.
+ 	(stage1-start, stage2-start, stage3-start, stage4-start): Deal
+ 	with libgcov.a.
+ 	* libgcc2.c (L_gcov): Move into ...
+ 	* libgcov.c: ... here. New file.
+ 	* mklibgcc.in: Add libgcov rules.
+ 	* gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
+ 
+ 	* doc/invoke.texi (profile-arcs, test-coverage): Update and
+ 	clarify.
+ 
+ 	* profile.c (index_counts_file): Remove duplicate check for open file.
+ 
+ 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* gcc/doc/invoke.texi (Optimization Options): Group together
+ 	optional and experimental flags.  Move trapv and bounds-check
+ 	out of this section.  Group floating point flags together.
+ 	(Code Gen Options): Move trapv and bounds-check to here.
+ 
+ 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
+ 
+ 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR optimization/9090
+ 	* function.c (purge_addressof_1): After pushing an addressed register
+ 	onto the stack, simplify the result.
+ 
+ 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/extend.texi: Fix typo.
+ 
+ 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/cppopts.texi: Fix typo.
+ 	* doc/objc.texi: Likewise.
+ 	* doc/passes.texi: Likewise.
+ 
+ 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* real.c (ibm_extended_format): Add 53 to minimum exponent.
+ 	(encode_ibm_extended): Adjust.
+ 
+ 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
+ 
+ 	* timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
+ 	timevar_id enumerations.
+ 
+ 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c: Fix formatting.
+ 
+ 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/gccint.texi: Update the copyright.
+ 
+ 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/cpp.texi: Fix typos.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/gty.texi: Likewise.
+ 	* doc/install.texi: Likewise.
+ 	* doc/passes.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/fde-glibc.c: Fix comment typos.
+ 	* config/ia64/hpux.h: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ia64/unwind-ia64.c: Likewise.
+ 
+ 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386-modes.def: Fix comment typos.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 
+ 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+ 
+ 	* config/avr/avr.h, config/cris/aout.h, config/elfos.h,
+ 	config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
+ 	ASM_FINISH_DECLARE_OBJECT before defining it.
+ 	* toplev.c (rest_of_decl_compilation):  Don't define
+ 	ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
+ 	(rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
+ 	parameters for DWARF2 targets because they _are_ used.
+ 
+ 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* fp-bit.h: Define macros for TFmode floating-point constants
+ 	in IBM-extended TFmode types.
+ 	(TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
+ 	widths.
+ 	* config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
+ 	TFmode type.
+ 
+ 	* config/fp-bit.h: Define macros for TFmode floating-point
+ 	constants in IEEE quad TFmode type.  Declare functions according
+ 	to L_ macros.
+ 	(TMODES): Define if __LDBL_MANT_DIG__ is 113.
+ 	(TFtype, TItype, UTItype): Define if TMODES is defined.
+ 	(MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
+ 	(F_T_BITOFF, D_T_BITOFF): Define.
+ 	(IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
+ 	guaranteed to be wide enough.
+ 	* config/fp-bit.c: Check for L_ macros for tf functions.
+ 	(__thenan_tf): New.
+ 	(nan): Adjust.
+ 	(pack_d, unpack_d): Support IEEE 854 quad type.
+ 	(_fpmul_parts): Support TFmode.  Compute exponent adjustment
+ 	from FRAC_NBITS, FRAC_BITS and NGARDS.
+ 	(usi_to_float): Cast constants to be shifted to fractype
+ 	instead of assuming long long is wide enough.
+ 	(sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
+ 
+ 2003-01-26  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* df.c: Remove prototype of unused function df_regno_rtl_debug.
+ 
+ 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
+ 	(DBBIT_FUNCS): Added _df_to_tf.
+ 	(TPBIT_FUNCS): New.
+ 	(libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
+ 	(LIBGCC_DEPS): Added TPBIT.
+ 	* mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
+ 
+ 	* optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
+ 	been able to move the result to target.
+ 
+ 	* expr.c (emit_group_store): Initialize dst with CONST0_RTX
+ 	for the appropriate mode.
+ 
+ 	* calls.c (emit_library_call_value_1): Handle return values
+ 	in a PARALLEL.
+ 
+ 	* rtl.c (get_mode_alignment): Moved to...
+ 	* stor-layout.c: ... here.
+ 
+ 	* print-rtl.c (print_rtx): Don't print MEM details in
+ 	GENERATOR_FILEs.
+ 
+ 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
+ 
+ 	* df.h: Update comments, tidy formatting.
+ 	(DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
+ 	REVERSE, UNION, INTERSECTION.  All uses updated.
+ 	(OLD_DF_INTERFACE): Remove.
+ 	(struct insn_info): Remove commented out insn field.
+ 	* df.c: Update comments, tidy formatting.
+ 	(df_def_table_realloc): Remove.
+ 
+ 
+ 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (save_fixed_argument_area): Tidy.
+ 	(restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
+ 	(expand_call): Comment typo fixes.  Don't init low_to_save.  Start
+ 	call chain loop at 1 if !try_tail_call.  Formatting.
+ 	(emit_library_call_value_1): Don't init low_to_save or high_to_save.
+ 	Use save_fixed_argument_area and restore_fixed_argument_area.
+ 
+ 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* df.c (df_uses_record): Handle CC0.
+ 
+ 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (maybe_memory_address_p): New function.
+ 	(find_reloads_address): Use it instead of memory_address_p.
+ 
+ 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* final.c (shorten_branches): Align the address of code label
+ 	when computing initial lengths and addresses.
+ 
+ 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68hc11/m68hc11.md: Fix a comment typo.
+ 
+ 2003-01-25  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* config/i386/i386.c (x86_output_mi_thunk): Correct test for
+ 	TARGET_MACHO.
+ 
+ 2003-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (bypass_last_basic_block): New global variable.
+ 	(bypass_block):  Use redirect_edge_and_branch_force to redirect
+ 	fall-through edges.  Use bypass_last_basic_block to determine
+ 	which blocks have valid PRE information.
+ 	(bypass_conditional_jumps): Initialize bypass_last_basic_block.
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (local_cprop_pass): Update reg_sets table when needed.
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+             Eric Botcazou <ebotcazou@libertysurf.fr>
+ 
+ 	PR opt/8492
+ 	* gcse.c (one_cprop_pass): Delete unreachable blocks.
+ 
+ 2003-01-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
+ 	from ia64_aix_select_rtx_section.
+ 	(ia64_rwreloc_select_section): Simlarly; use default*_1 function
+ 	instead of saving and restoring flag_pic.
+ 	(ia64_rwreloc_unique_section): Similarly.
+ 	* config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
+ 	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
+ 	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
+ 	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
+ 
+ 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
+ 	comment.
+ 
+ 2003-01-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
+ 
+ 2003-01-25  Kelley Cook <kelleycook@comcast.net>
+ 
+ 	* ggc-simple.c (debug_ggc_tree): Add PTR cast.
+ 
+ 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* bitmap.h (BITMAP_WORD): New typedef: fundamental storage
+ 	type for bitmaps.  Use unsigned long.
+ 	(nBITMAP_WORD_BITS): New macro.
+ 	(BITMAP_WORD_BITS): New macro.
+ 	(rest of file): Use it.
+ 	* bitmap.c: Use it.
+ 
+ 2003-01-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	2002-02-19  Robert Lipe  <robertlipe@usa.net>
+ 	* config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
+ 
+ 2003-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (purge_builtin_constant_p): Scan insn stream
+ 	sequentially rather than by basic block.
+ 	* function.c (purge_addressof): Simplify test with INSN_P.
+ 
+ 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_comparison, case AND): Remove a redundant test.
+ 
+ 2003-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* function.h (struct function): New field calls_constant_p.
+ 	(current_function_calls_constant_p): New macro for above.
+ 	* function.c (prepare_function_start): Initialize calls_eh_return
+ 	and calls_constant_p.
+ 	* builtins.c (expand_builtin_constant_p): Set calls_constant_p.
+ 	* toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
+ 	when the current_function_calls_constant_p.
+ 	* integrate.c (expand_inline_function): Set calls_constant_p if
+ 	the function being inlined has calls_constant_p set.
+ 
+ 2003-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
+ 	optimizing, even if flag_gcse is true.
+ 	* toplev.c (rest_of_compilation): purge_builtin_constant_p
+ 	only needs to be called when "optimize > 0 && flag_gcse".
+ 
+ 2003-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* stmt.c (emit_case_bit_tests): New routine to implement suitable
+ 	switch statements using the equivalent of "if ((1<<x) & cst) ... ".
+ 	(case_bit_test_cmp): New comparison function for "qsort" to order
+ 	case_bit_tests by decreasing number of destination nodes.
+ 	(lshift_cheap_p): New function to determine if "1 << x" is cheap.
+ 	(expand_end_case_type): Use emit_case_bit_tests to implement
+ 	suitable switch statments.
+ 	(CASE_USE_BIT_TESTS): New target macro to disable the above.
+ 	* Makefile.in (stmt.o): Add dependency on optab.h.
+ 	* doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
+ 
+ 2003-01-23  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
+ 	__do_global_ctors_aux hidden global and don't put it in
+ 	.init_array.
+ 	* config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
+ 	instead so that it comes first.
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
+ 	subreg is read/modify.
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
+ 	do libcall for large blocks.
+ 	* i386.md (comi patterns): Set type to ssecomi.
+ 	(sse2_unpck?pd): Fix mode of vec_select.
+ 
+ 	* cse.c: Include except.h
+ 	(cse_set_around_loop):  Do not create new basic blocks.
+ 	* Makefile.in (cse.o): Add dependnecy on except.h
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (fold_trunc_transparent_mathfn): New function.
+ 	(fold_builtin): Use it.
+ 	* convert.c (convert_to_real): Re-enable code to convert
+ 	math functions; add support for floor familly functions.
+ 
+ 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
+ 	dependencies on coretypes.h and $(TM_H).
+ 
+ 2003-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
+ 
+ 2003-01-24  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
+ 
+ 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (UNSPEC_BU): New constants.
+ 	(UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
+ 	(UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
+ 	(UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
+ 	(UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
+ 	(UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
+ 	(UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
+ 	(UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
+ 
+ 2003-01-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (reg_attrs_htab): New static variable.
+ 	(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
+ 	functions.
+ 	(reg_rtx): Do not maintain regno_decl.
+ 	(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
+ 	set_mem_attrs_from_reg): New global function.
+ 	(init_emit): Do not initialize regno_decl.
+ 	(init_emit_once): initialize reg_attrs_htab.
+ 	* final.c (alter_subreg): Do not replace REG by SUBREG.
+ 	(gen_mem_expr_from_op): Improve output.
+ 	(output_asm_operands): Likewise.
+ 	* function.c (assign_params): Do not set REGNO_DECL.
+ 	* function.h (struct function): Kill regno_decl.
+ 	(REGNO_DECL): Kill.
+ 	* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
+ 	* print_rtl.c (print_rtx): Output REG information.
+ 	* regclass.c (reg_scan_mark_refs): Update attrs.
+ 	* reload1.c (alter_reg): Likewise.
+ 	* simplify_rtx.c (simplify_subreg): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* rtl.def (REG): Add new field.
+ 	* rtl.h (struct reg_attrs): New.
+ 	(rtunion_def): At rtreg.
+ 	(X0MEMATTR): Add checking.
+ 	(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
+ 	(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
+ 	Declare.
+ 	* tree.h (SET_DECL_RTL): Call set_decl_rtl.
+ 
+ 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c: Remove unused include of machmode.h.
+ 	(xtensa_emit_call, print_operand): Fix printf format strings
+ 	to avoid compile warnings.
+ 	(xtensa_function_prologue, xtensa_function_epilogue): Change type
+ 	of "size" argument to HOST_WIDE_INT to fix compile warnings.
+ 	* config/xtensa/xtensa-protos.h
+ 	(xtensa_function_prologue, xtensa_function_epilogue): Ditto.
+ 
+ 2003-01-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (DEF_BUILTIN): Accept 10 arguments.
+ 	(implicit_built_in_decls): New global array.
+ 	(mathfn_built_in): New global function.
+ 	(fold_trunc_transparent_mathfn): New static function
+ 	(expand_builtin_strstr, expand_bultin_strchr,
+ 	expand_builtin_strpbrk, expand_builtin_strcpy,
+ 	expand_builtin_strncpy, expand_bultin_strcmp,
+ 	expand_bultin_strncat, expand_builtin_fputs): Use
+ 	implicint_built_in_decls.
+ 	(fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
+ 	* builtins.def: Fix comments.
+ 	(DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
+ 	DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
+ 	DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
+ 	DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
+ 	(DEF_C99_C90RES_BULTIN): New.
+ 	(*f, *l builtins): Update.
+ 	* c-common.c (DEF_BUILTIN): Initialize implicit array.
+ 	(c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
+ 	* convert.c (strip_float_extensions): New global function.
+ 	* tree.h (DEF_BUILTIN): Accept 10 arguments.
+ 	(implicit_built_in_decls, mathfn_built_in, strip_float_extension):
+ 	Declare.
+ 	* java/builtins.c (define_builtin): Handle implicit.
+ 	(DEF_BUILTIN): Update.
+ 	* tm.texi (TARGET_C99_FUNCTIONS): Document.
+ 	* defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
+ 	* config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
+ 	when using glibc2.
+ 
+ 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
+ 	extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
+ 	(xtensa-*-linux*): Add xtensa/t-linux tmake_file.
+ 	* config/xtensa/crti.asm: New file.
+ 	* config/xtensa/crtn.asm: New file.
+ 	* config/xtensa/t-elf: New file.
+ 	* config/xtensa/t-linux: New file.
+ 	* config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
+ 	Move various CFLAGS settings to new t-elf file.
+ 
+ 2003-01-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR optimization/4382
+ 	* tree-inline.c (find_builtin_longjmp_call_1): New.
+ 	(find_builtin_longjmp_call): New.
+ 	(inlinable_function_p): Use it.
+ 
+ 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
+ 	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
+ 	* config/i386/i386.c (function_arg_pass_by_reference): New.
+ 	(ix86_va_arg): Support arguments passed by reference.
+ 
+ 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopanal.c: New file.
+ 	* cfgloopmanip.c: New file.
+ 	* Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
+ 	(toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
+ 	cfglayout.o): Add dependency on cfgloop.h.
+ 	(cfgloop.o): Add flags.h dependency.
+ 	* basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
+ 	(VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
+ 	(struct loop, struct loops, flow_loops_find, flow_loops_update,
+ 	flow_loops_free, flow_loops_dump, flow_loop_dump,
+ 	flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
+ 	LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
+ 	LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
+ 	flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
+ 	loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
+ 	find_common_loop, verify_loop_structure): Declarations moved to ...
+ 	* cfgloop.h: New file.
+ 	* bb-reorder.c (reorder_basic_blocks): Modified.
+ 	* cfglayout.c: Include cfgloop.h.
+ 	(cleanup_unconditional_jumps, cfg_layout_redirect_edge,
+ 	cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
+ 	(break_superblocks): New static function.
+ 	(cfg_layout_finalize): Use it.
+ 	(cfg_layout_split_block): New function.
+ 	* cfglayout.h (struct reorder_block_def): Add copy and duplicated
+ 	fields.
+ 	(cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
+ 	changed.
+ 	(cfg_layout_split_block): Declare.
+ 	* cfgloop.c: Include cfgloop.h and flags.h.
+ 	(flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
+ 	get_loop_body): Avoid signed versus unsigned comparison warnings.
+ 	(make_forwarder_block, flow_loops_find, loop_preheader_edge,
+ 	loop_latch_edge): Modified.
+ 	(verify_loop_structure): Modified to use flags stored in loop structure;
+ 	check irreducible loops.
+ 	(cancel_loop, cancel_loop_tree): New functions.
+ 	(estimate_probability): Use loop analysis code for predictions.
+ 	(estimate_loops_at_level):  Avoid signed versus unsigned comparison
+ 	warnings.
+ 	* doloop.c: Include cfgloop.h.
+ 	* loop.c: Include cfgloop.h.
+ 	* predict.c: Include cfgloop.h.
+ 	* toplev.c: Include cfgloop.h.
+ 	* unroll.c: Include cfgloop.h.
+ 	* tracer.c (tracer): Modified.
+ 
+ 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Fix a typo.
+ 
+ 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
+ 	* configure: Regenerate.
+ 
+ 	* config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
+ 	(tls_symbolic_reference_mentioned_p): Add prototype.
+ 	(s390_tls_get_offset): Add prototype.
+ 	(emit_pic_move): Remove prototype, replace by ...
+ 	(emit_symbolic_move): .. this new prototype.
+ 
+ 	* config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
+ 	(tls_model_chars): New global variable.
+ 	(s390_encode_section_info): Encode TLS model.
+ 	Use targetm.binds_local_p to check for local symbols.
+ 	(s390_strip_name_encoding): New function.
+ 	(TARGET_STRIP_NAME_ENCODING): Define.
+ 
+ 	(get_thread_pointer): New function.
+ 	(legitimize_tls_address): New function.
+ 	(legitimize_address): Call it.
+ 	(emit_pic_move): Remove, replace by ...
+ 	(emit_symbolic_move): ... this new function.
+ 
+ 	(larl_operand): Handle TLS operands.
+ 	(legitimate_constant_p): Likewise.
+ 	(s390_decompose_address): Likewise.
+ 	(s390_cannot_force_const_mem): New function.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
+ 
+ 	(s390_output_symbolic_const): Handle TLS unspecs.
+ 	(print_operand): New code 'J'.
+ 	(machine_function): Add struct member 'some_ld_name'.
+ 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
+ 
+ 	(enum s390_builtin): New type.
+ 	(code_for_builtin_64, code_for_builtin_31): New global variables.
+ 	(s390_init_builtins, s390_expand_builtin): New functions.
+ 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+ 
+ 	* config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
+ 	(ASM_OUTPUT_LABELREF): Define.
+ 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
+ 
+ 	* config/s390/s390.md: Define TLS UNSPEC constants.
+ 	("movdi", "movsi"): Handle TLS operands.
+ 	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
+ 	("*tls_load_64", "*tls_load_31"): New insns.
+ 	("call_value_tls", "call_value_tls_exp"): New expanders.
+ 	("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
+ 	"bas_tls_64", "bas_tls_31"): New insns.
+ 
+ 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
+ 	spe ABI is configured, if requested.
+ 
+ 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/passes.texi: Fix typo.
+ 
+ 2003-01-24  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* stor-layout.c (excess_unit_span): Only define if used.
+ 
+ 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* gcc/doc/invoke.texi (Optimization Options): List -O levels
+ 	for each optimization flag.
+ 
+ 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
+ 
+ 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/bugreport.texi: Use @command instead of @code for commands.
+ 	* doc/collect2.texi: Likewise.
+ 	* doc/headerdirs.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/standards.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 	* doc/trouble.texi: Likewise.
+ 
+ 2003-01-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (use_return_insn): Do not use a single return
+ 	instruction for interrupt handelrs which have to create a stack
+ 	frame.
+ 	(arm_expand_prologue): Do not pre-bias the return address of
+ 	interrupt handlers which create a stack frame.
+ 
+ 2003-01-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* Add sh2e support:
+ 
+ 	2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 		* config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
+ 		med_cbranches.  Fix logic in short_cbranches.
+ 
+ 	2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 		* config/sh/sh.md (delay for cbranch): Don't annul delay
+ 		slots on SH2e.
+ 		* config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
+ 		cbranch with unfilled delay slot on SH2e.
+ 		(output_branch): Fill with a nop the delay slot of a
+ 		branch that required a delay slot but didn't get one.
+ 
+ 	2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 		* doc/invoke.texi (SH options): Document -m2e.
+ 		* config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
+ 		* config/sh/lib1funcs.asm: Likewise.
+ 		* config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
+ 		* config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
+ 		not __sh1__.
+ 		(CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
+ 		SH2E up.
+ 		(SH3E_BIT): Renamed to...
+ 		(SH_E_BIT): ... this.  Replace all uses.
+ 		(TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
+ 		Replace all uses of TARGET_SH3E with TARGET_SH2E.
+ 		(TARGET_SWITCHES): Added 2e.
+ 		(OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
+ 		(processor_type): Added PROCESSOR_SH2E.
+ 		* config/sh/sh.md: Replace all uses of TARGET_SH3E with
+ 		TARGET_SH2E, except in sqrtsf2_i.
+ 		(attribute cpu): Added sh2e.
+ 		* config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
+ 		(MULTILIB_MATCHES): Use m2e multilib for m3e.
+ 		* config.gcc: Add sh2e target support.
+ 
+ 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
+ 
+ 	Rename -W to -Wextra.
+ 	* c-decl.c:  Update comments.
+ 	* c-typeck.c:  Likewise.
+ 	* flags.h:  Likewise.
+ 	* function.c:  Likewise.
+ 	* stmt.c:  Likewise.
+ 	* toplev.c:  Update comments.
+ 	(W_options):  Add 'extra'.
+ 	(display_help):  Remove '-W'.
+ 	(decode_W_option):  Special warn_uninitialized treatment in the case
+ 	of -Wextra.
+ 	* doc/invoke.texi:  Update with new entries.
+ 
+ 2003-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (noce_process_if_block): Re-add check vs X being changed
+ 	in no-else-block case.  Add commentary.
+ 
+ 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Revert last change.
+ 
+ 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* configure.in: Don't include ansidecl.h in tconfig.h.
+ 	* gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
+ 	* unwind-dw2-fde.h (last_fde): Use __attribute__, not
+ 	ATTRIBUTE_UNUSED.
+ 
+ 	* configure: Regenerate.
+ 
+ 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+ 
+ 	PR java/6748
+ 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
+ 	regs->nip. Fix rt_sigreturn frame layout. Add support for newer
+ 	kernels.
+ 
+ 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
+ 
+ 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* genattrtab.c (write_attr_get): Mark 'insn' paramter
+ 	as ATTRIBUTE_UNUSED.
+ 
+ 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_base_register_rtx_p): New function.
+ 	(thumb_index_register_rtx_p): New function.
+ 	(thumb_legitimate_address_p): New function.
+ 	(thumb_legitimate_offset_p): New function.
+ 	* arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
+ 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
+ 	definitions.
+ 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
+ 	(THUMB_LEGITIMATE_OFFSET): Delte.
+ 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
+ 	* arm-protos.h (thumb_legitimate_address_p): Add prototype.
+ 	(thumb_legitimate_offset_p): Likewise.
+ 
+ 2003-01-23  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
+ 
+ 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fixinc/Makefile.in (FL_LIST): Revert last change.
+ 
+ 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	PR other/7341
+ 	* invoke.texi (ftest-coverage): Fix broken cross-reference.
+ 	Change @code to @command for gcov command.
+ 
+ 	* gcc.texi: Adjust title of gcov section.
+ 	Adjust copyright.
+ 	* gcov.texi: Likewise.
+ 
+ 2003-01-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/8423
+ 	* cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
+ 	its argument is constant, or 0 if !flag_gcse.
+ 	* simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
+ 	if it's argument is constant.
+ 	* gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
+ 	(hash_scan_set): Don't record CONSTANT_P_RTX expressions.
+ 	(do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
+ 	* builtins.c (purge_builtin_constant_p): New function to force
+ 	instantiation of any remaining CONSTANT_P_RTX nodes.
+ 	* rtl.h (purge_builtin_constant_p): Prototype here.
+ 	* toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
+ 	pass after GCSE and before loop.
+ 	(flag_gcse): No longer static.
+ 	* flags.h (flag_gcse): Prototype here.
+ 
+ 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
+ 	introduced by last change.
+ 
+ 2003-01-22  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
+ 
+ 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
+ 	request a scratch reg on H8S when the shift count is 8.
+ 
+ 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (preferred_la_operand_p):
+ 	Remove second parameter.
+ 	* config/s390/s390.c (preferred_la_operand_p): Likewise.
+ 	* config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
+ 	(HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
+ 	* config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
+ 	Add peepholes to transform ADD to LOAD ADDRESS.
+ 
+ 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_address_register_rtx_p): New function.
+ 	(arm_legitimate_address_p): New function.
+ 	(arm_legitimate_index_p): New function.
+ 	(legitimize_pic_address): Use arm_legitimate_index_p.
+ 	* arm-protos.h (arm_legtimate_address_p): Add prototype.
+ 	* arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
+ 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
+ 
+ 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
+ 	* config/s390/2064.md (define_bypass): Correct 'Load' and
+ 	'Load-address' bypass values.
+ 
+ 2003-01-22  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
+ 
+ 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genautomata.c (output_internal_insn_latency_func,
+ 	output_print_reservation_func): Short circuit when there is no
+ 	automaton to generate code for.
+ 
+ 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
+ 	(df.o): Delete duplicate dependency on coretypes.h $(TM_H).
+ 
+ 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md: Remove warning.
+ 	(builtin_setjmp_receiver): Likewise.
+ 	* config/darwin.c (update_stubs): Slightly improve terrible hack
+ 	with identifiers.  Add comment pointing out problems with it.
+ 	(update_non_lazy_ptrs): Likewise.
+ 
+ 2003-01-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (lookup_filename): Fix printf format warning.
+ 	* system.h (fread_unlocked, fwrite_unlocked): Undef.
+ 
+ 	* fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
+ 	(fixincl.o-warn, gnu-regex.o-warn): New.
+ 	* fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
+ 	* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
+ 	* fixinc/fixincl.c (process): Fix printf format warning.
+ 
+ 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* dwarf2out (output_file_names): Don't crash if called
+ 	with empty file_table.
+ 
+ 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genautomata.c (output_internal_insn_latency_func): Add
+ 	missing break statement to generated code.
+ 
+ 2003-01-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* stmt.c (same_case_target_p): New function to determine whether
+ 	two case labels branch to the same target.  Split out from...
+ 	(group_case_nodes): ... here.  Use same_case_target_p instead.
+ 	(strip_default_case_nodes): Remove explicit case nodes
+ 	that branch to the default destination.
+ 	(expand_end_case_type): Call strip_default_case_nodes after
+ 	group_case_nodes, to simplify the case-list before we count it.
+ 	Only generate table_label RTX when actually needed.  Try to share
+ 	thiscase->exit_label and thiscase->data.case_stmt.default_label
+ 	when a switch has no explicit default case.  Simplify test for
+ 	constant index.
+ 
+ 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
+ 	\t.
+ 	(*negsf2_h8300hs): Likewise.
+ 	(*addsi3_lshiftrt_16_zexthi): Likewise.
+ 	(*iorhi3_lshiftrt_8): Likewise.
+ 
+ 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* dwarf2out.c (fde_table_in_use): Mark GTY.
+ 	(dwarf2out_cfi_label_num): New variable, marked GTY.
+ 	(dwarf2out_cfi_label): Use it instead of static label_num.
+ 	* emit-rtl.c (label_num): Mark GTY.
+ 
+ 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_plussi): Support H8/300.
+ 	(compute_plussi_length): Likewise.
+ 	(compute_plussi_cc): Likewise.
+ 	* config/h8300/h8300.md (addsi_h8300): Use output_plussi to
+ 	output assembly instructions.
+ 
+ 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* calls.c (fix_unsafe_tree): Prototype.
+ 
+ 	* Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
+ 	(gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
+ 	insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
+ 	c-parse.o-warn): Add -Wno-error.
+ 	(STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
+ 
+ 	* configure.in (--enable-werror): Add new flag.
+ 	* doc/install.texi (--enable-werror): Document.
+ 	* configure: Regenerate.
+ 
+ 	* objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
+ 
+ 2003-01-21  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* genautomata.c (output_internal_insn_latency_func): Fix missing
+ 	close paren in output.
+ 
+ 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genautomata.c: Space savings in generated code:
+ 	(output_dfa_insn_code_func): Split out the table-enlargement
+ 	path to an out-of-line static function, dfa_insn_code_enlarge.
+ 	(output_internal_insn_latency_func): Use a lookup table for the
+ 	default latencies.
+ 	(output_print_reservation_func): Use a lookup table for the
+ 	strings.
+ 
+ 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
+ 
+ 	PR opt/7507
+ 	* calls.c (fix_unsafe_tree): Split out from ...
+ 	(expand_call): ... here.  Use it on the function address too.
+ 
+ 2003-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (default_must_pass_in_stack): Move decl outside ifdef.
+ 
+ 2003-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/7154
+ 	* stmt.c (expand_asm_operands): Validize memory operands.
+ 
+ 2003-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/8848
+ 	* ifcvt.c (noce_process_if_block): Correct arguments to
+ 	modified_between_p for no-else-block case.
+ 
+ 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (const_costs): Remove a warning.
+ 	(output_plussi): Likewise.
+ 	(compute_plussi_length): Likewise.
+ 	(compute_plussi_cc): Likewise.
+ 
+ 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (addsi_h8300): Remove the last
+ 	alternative.
+ 
+ 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
+ 
+ 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (__NO_STRING_INLINES): Define.
+ 
+ 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
+ 	is not a scalar int mode.
+ 
+ 2003-01-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
+ 	insn's notes following a substitution inside a libcall.
+ 
+ 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.in: Check for system-provided 'uchar' type.
+ 	* configure, config.in: Regenerate.
+ 	* cpphash.h: Only typedef 'uchar' if the system doesn't.
+ 
+ 2003-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.h (MUST_PASS_IN_STACK): Move implementation...
+ 	* calls.c (default_must_pass_in_stack): ... here.
+ 
+ 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
+ 
+ 	* genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
+ 
+ 	* genattr.c (main): Output default definition of AUTOMATON_ALTS.
+ 	Wrap up definition of `insn_alts'.
+ 
+ 	* genattrtab.c (main): Wrap up `insn_alts'.
+ 
+ 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
+ 	prototyping.
+ 	* configure.in: Check for <ldfcn.h> and ldgetname() prototype.
+ 
+ 	* config.in, configure: Regenerate.
+ 
+ 2003-01-20  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (sibcall_epilogue): Add an
+ 	UNSPEC_PROLOGUE_USE to prevent the link register from being
+ 	considered dead.
+ 
+ 2003-01-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
+ 
+ 2003-01-20  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* system.h: Don't declare strsignal if the decl test hasn't been
+ 	run yet.
+ 
+ 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (notice_update_cc): Don't assume that
+ 	recog_data.operands[0] is always associated with cc0.
+ 
+ 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (ldgetname): Expand declaration to prototype.
+ 	* read-rtl.c (atoll): Add prototype.
+ 	* system.h (strsignal): Also declare if no declaration found.
+ 
+ 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config.gcc (mips64*-*-linux*): Added.
+ 	* config/mips/linux64.h, config/mips/t-linux64: New file.
+ 	* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
+ 	* config/mips/mips.c (override_options): Use it.
+ 	* config/mips/mips.h (TARGET_SWITCHES): Added...
+ 	(SUBTARGET_TARGET_SWITCHES): New, empty by default.
+ 	* Makefile.in (SPECS): New.
+ 	(STAGESTUFF, specs, mostlyclean, install-common): Use it.
+ 	* gcc.c (process_command): Move self-spec processing past spec
+ 	file loading.
+ 	* doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
+ 	* doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
+ 	CRTSTUFF_T_CFLAGS.
+ 	(SPECS): Document.
+ 	* doc/invoke.texi (-mabi-fake-default): Document.
+ 
+ 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
+ 	z_reg, z_reg_qi): Declare static and GTY().
+ 	(da_reg): Remove.
+ 	(create_regs_rtx): Don't create da_reg.
+ 	("gt-m68hc11.h"): Include for GTY roots.
+ 	* config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
+ 	and GTY() here.
+ 	(m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
+ 	(m68hc11_soft_tmp_reg): Likewise.
+ 	* config/m68hc11/m68hc11-protos.h: Remove above declarations.
+ 
+ 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Fix comment formatting.
+ 	* calls.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* convert.c: Likewise.
+ 	* gcov.c: Likewise.
+ 	* haifa-sched.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* profile.c: Likewise.
+ 	* system.h: Likewise.
+ 
+ 2003-01-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
+ 
+ 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ra-build.c (undef_to_size_word): Avoid `switch' warning.
+ 
+ 2003-01-17  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
+ 	  (*floatunssidf2_internal):  Ditto.
+ 
+ 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Fix comment typos.
+ 	* basic-block.h: Likewise.
+ 	* c-common.c: Likewise.
+ 	* c-common.h: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* c-pretty-print.h: Likewise.
+ 	* cfg.c: Likewise.
+ 	* cfganal.c: Likewise.
+ 	* cfgbuild.c: Likewise.
+ 	* cfgcleanup.c: Likewise.
+ 	* cfglayout.c: Likewise.
+ 	* cfgrtl.c: Likewise.
+ 	* convert.c: Likewise.
+ 	* cpphash.h: Likewise.
+ 	* cpplex.c: Likewise.
+ 	* cpplib.h: Likewise.
+ 	* df.h: Likewise.
+ 	* diagnostic.c: Likewise.
+ 	* diagnostic.h: Likewise.
+ 	* dwarf2.h: Likewise.
+ 
+ 2003-01-17  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin-protos.h: Forward-declare struct cpp_reader.
+ 
+ 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_need_linkage): Fix obvious
+ 	mistake in last checkin.
+ 
+ 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* et-forest.c: Fix comment typos.
+ 	* et-forest.h: Likewise.
+ 	* except.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* flags.h: Likewise.
+ 	* flow.c: Likewise.
+ 	* gcc.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* global.c: Likewise.
+ 	* gthr-rtems.h: Likewise.
+ 
+ 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* i386.c (x86_function_profiler): Fix format specifier.
+ 
+ 2003-01-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gengtype.c (walk_type): Allow paramN_is.
+ 
+ 2003-01-17  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/i960/t-960bare (i960-c.o): Add missing newline escape.
+ 
+ 2003-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
+ 
+ 2003-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
+ 	(alpha_next_sequence_number): Likewise.
+ 	(alpha_this_literal_sequence_number): Likewise.
+ 	(alpha_this_gpdisp_sequence_number): Likewise.
+ 	(struct alpha_funcs, alpha_funcs_num): Likewise.
+ 	(struct alpha_links): Fix branch merge error.
+ 	(alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
+ 
+ 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/mips.h: Don't use #elif.  Reported by Kaveh
+ 	R. Ghazi.
+ 
+ 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ifcvt.c: Fix comment typos.
+ 	* lcm.c: Likewise.
+ 	* libgcc2.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* predict.c: Likewise.
+ 	* ra-build.c: Likewise.
+ 	* ra.c: Likewise.
+ 	* ra-colorize.c: Likewise.
+ 	* ra.h: Likewise.
+ 	* ra-rewrite.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reload.h: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* unwind-dw2-fde-glibc.c: Likewise.
+ 	* vmsdbgout.c: Likewise.
+ 
+ 2003-01-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (struct file_table): Remove.
+ 	(FILE_TABLE_INCREMENT): Remove.
+ 	(file_table): Make a varray; mark for GC.  Update all users.
+ 	(file_table_last_lookup_index): Extract from struct file_table.
+ 	(output_file_names): Fix unsigned compare warnings.
+ 	(add_name_attribute): Remove inline marker.
+ 	(add_comp_dir_attribute): Split out from gen_compile_unit_die.
+ 	(lookup_filename): Don't manage size of file_table.
+ 	(init_file_table): Allocate file_table with GC.
+ 	(dwarf2out_init): Don't record main_input_filename here.
+ 	(dwarf2out_finish): Do it here instead.
+ 
+ 2003-01-16  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
+ 
+ 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
+ 	instead of rotldi3_mextr.
+ 
+ 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (move_insn): Restore moving all schedule group.
+ 	(set_priorities): Restore taking SCHED_GROUP_P into account.
+ 
+ 	* sched-deps.c (add_dependence): Restore processing the last group
+ 	insn.
+ 	(remove_dependence, group_leader): Restore the functions.
+ 	(set_sched_group_p): Restore adding dependencies from previous insn
+ 	in the group.
+ 	(compute_forward_dependences): Restore usage of group_leader.
+ 
+ 	* sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
+ 	account.
+ 
+ 	* sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
+ 	account.
+ 	(can_schedule_ready_p): Ditto.
+ 	(add_branch_dependences): Restore skipping over the group insns.
+ 
+ 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
+ 	68HC12 pre/post inc/dec side effects.
+ 
+ 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (MASK_M6812): Define.
+ 
+ 2003-01-16  J"orn Rennecke <amylaar@onetel.net.uk>
+ 
+ 	* sh.md (mshflo_w_x): Fix description of operation.
+ 
+ 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.h: Mention Altivec registers in
+ 	commentary.  Fix typo.
+ 
+ 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (movti_string): Remove clobber.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
+ 	generate PARALLEL with clobber for TARGET_POWER.
+ 
+ 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* ra-colorize.c (colorize_one_web): Initialize variable.
+ 	* regmove.c (fixup_match_1): Likewise.
+ 	* reload1.c (reload_as_needed): Likewise.
+ 	* sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
+ 
+ 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
+ 
+ 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* dbxout.c (lastfile, cwd): Fix `unused' warning.
+ 	* dwarf2out.c (fde_table_in_use, current_funcdef_fde,
+ 	dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
+ 	is_main_source, file_table, decl_die_table_in_use,
+ 	abbrev_die_table_in_use, line_info_table_in_use,
+ 	separate_line_info_table_in_use, pubname_table_in_use,
+ 	arange_table_in_use, ranges_table_in_use,
+ 	current_function_has_inlines): Likewise.
+ 	* flow.c (life_analysis): Likewise.
+ 	* genemit.c (gen_insn): Likewise.
+ 	* protoize.c (cplus_suffix): Likewise.
+ 
+ 	* arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
+ 	* arm.h (ROUND_UP_WORD): Likewise.
+ 
+ 	* arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
+ 	warning.
+ 	* emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
+ 	init_emit_once): Likewise.
+ 	* flow.c (mark_regs_live_at_end, calculate_global_regs_live):
+ 	Likewise.
+ 	* function.c (assign_stack_temp_for_type): Likewise.
+ 	* loop.c (loop_invariant_p): Likewise.
+ 	* recog.c (push_operand): Likewise.
+ 	* regclass.c (init_reg_sets_1): Likewise.
+ 	* reload.c (update_auto_inc_notes): Likewise.
+ 	* reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
+ 	* stmt.c (expand_asm_operands): Likewise.
+ 	* stor-layout.c (start_record_layout): Likewise.
+ 
+ 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
+ 
+ 	* config/c4x/c4x.md (epilogue): Correct last patch.
+ 
+ 2003-01-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
+ 	also check that GP is being used.
+ 	(alpha_find_lo_sum_using_gp): New.
+ 	(alpha_does_function_need_gp): Use get_attr_usegp.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md (attr usegp): New.  Annotate patterns
+ 	as needed.
+ 
+ 2003-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* gcse.c (one_cprop_pass): Change function arguments to take both
+ 	cprop_jumps and bypass_jumps flags instead of just alter_jumps.
+ 	(gcse_main): Update calls to one_cprop_pass, disabling bypassing.
+ 	(bypass_jumps): New function to perform separate jump bypassing pass.
+ 	* rtl.h (bypass_jumps): Add function prototype.
+ 	* timevar.def (TV_BYPASS): New timing variable.
+ 	* toplev.c (enum dump_file_index): Add new entry DFI_bypass.
+ 	(dump_file): New entry for the bypass RTL dump file.
+ 	(rest_of_compilation): Insert new jump bypassing optimization
+ 	pass after loop.
+ 	* doc/passes.texi: Document new pass.
+ 
+ 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
+ 	ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
+ 	* pa.h (TARGET_SOM_SDEF): Define.
+ 	* pa-hpux11.h (TARGET_SOM_SDEF): Define.
+ 
+ 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
+ 	allocate 4-bytes of locals on 68HC11.
+ 	(expand_epilogue): Likewise.
+ 	(m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
+ 
+ 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
+ 	and -mshort-double to the assembler to specify the ABI.
+ 	(LINK_SPEC): Likewise.
+ 	(CPP_SPEC): Pass HCS12 specific define.
+ 	(MASK_M68S12): New define.
+ 	(TARGET_M68S12): Likewise.
+ 	(TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
+ 	(TARGET_VERSION): Update.
+ 	* config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
+ 	(LINK_SPEC): Update.
+ 	(ASM_SPEC): Update.
+ 	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
+ 	* doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
+ 
+ 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
+ 	the return code.
+ 
+ 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
+ 	flag before setting it.
+ 
+ 2003-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
+ 	when loop condition is known true, i.e.  "while (1) { ... }".
+ 	(genrtl_for_stmt): Similarly for "for" statements.
+ 
+ 2003-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_sqrt): Return a bool result indicating whether
+ 	a floating point exception or trap should be raised.
+ 	* real.h (real_sqrt): Update function prototype.
+ 	* builtins.c (fold_builtin): Only fold non-trapping square
+ 	roots unless we're ignoring errno and trapping math.
+ 
+ 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
+ 
+ 	* expr.h (emit_conditional_add): Add PARAMS to declaration.
+ 	* gengtype-lex.l (malloc, realloc): Move defines after include of
+ 	system.h.  Remove duplicate include of system.h.
+ 
+ 2003-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/9009
+ 	* optabs.c (expand_unop):  When manipulating the FP sign bit
+ 	using integer operations, account for targets with different
+ 	integer and FP word orders.
+ 	(expand_abs): Likewise.
+ 
+ 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
+ 	file extension in section name.
+ 
+ 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
+ 	constant offset.
+ 
+ 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
+ 	(HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
+ 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
+ 	(ARM_PRINT_OPERAND_ADDRESS): Likewise.
+ 
+ 2003-01-15  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR f/9258
+ 	* global.c (struct allocno): Add no_stack_reg.
+ 	(global_conflicts): Set no_stack_reg.
+ 	(find_reg): Use it.
+ 
+ 	* convert.c (convert_to_real): Fold - and abs only when profitable.
+ 	* fold-const.c (fold): Fold truncates in - and abs.
+ 
+ 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* predict.c (real_inv_br_prob_base): New variable.
+ 	(propagate_freq): Use multiply by reciprocal instead of
+ 	division.  Don't divide by 1.0 at all.
+ 	(estimate_bb_frequencies): Similar.
+ 
+ 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
+ 	* configure: Rebuilt.
+ 
+ 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_safe_attr_type): New function.
+ 	(s390_use_dfa_pipeline_interface): New function, return true for z900.
+ 	(s390_issue_rate): New function.
+ 	(s390_agen_dep_p): New function.
+ 	(addr_generation_dependency_p): Use 's390_safe_attr_type'.
+ 	(s390_adjust_cost): Return 'cost' if new DFA is used.
+ 	(s390_adjust_priority): Delete function.
+ 	* config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
+ 	* config/s390/s390.md (atype attribute): Attribute 'atype' default
+ 	determined by 'op_type'.
+ 	(type attribute): Added more type attributes.
+ 	* config/s390/2064.md: New DFA description for z900 pipeline.
+ 
+ 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_vector_move): Validize constant
+ 	forced to memory.  Fixes PR bootstrap/9036.
+ 
+ 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
+ 	to set $gp before the call.
+ 
+ 2003-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov): Use correct mode
+ 	for force_const_mem.
+ 
+ 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genattr.c (main): Rearrange output to avoid prototype warning.
+ 	* genautomata.c (transform_3): Fix ambiguous-else warning.
+ 	* local-alloc.c (requires_inout): Add parentheses around
+ 	assignment used as truth-value.
+ 	* timevar.c: Move system includes above local includes.  Include
+ 	toplev.h
+ 	* Makefile.in (timevar.o): Depend on toplev.h.
+ 
+ 2003-01-14  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	* config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
+ 	(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ 
+ 	* config/ip2k/ip2k.c (ip2k_attribute_table): New table of
+ 	attributes.
+ 	(TARGET_ATTRIBUTE_TABLE): New macro.
+ 	(valid_machine_type_attribute): Remove.
+ 	(valid_machine_decl_attribute): Remove.
+ 	(ip2k_handle_progmem_attribute): New function.
+ 	(ip2k_handle_fndecl_attribute): New function.
+ 
+ 2003-01-10  Andrew Haley  <aph@redhat.com>
+ 
+ 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
+ 	registers to be in correct order.  Add rip.
+ 
+ 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
+ 	(*iorsi3_and_lshiftrt_9_sb): Likewise.
+ 
+ 2003-01-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* convert.c (strip_float_extensions):  Look for narrowest type handling
+ 	FP constants.
+ 
+ 	* fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
+ 	float1 CMP float2.
+ 	* convert.c (strip_float_extensions): Make global.
+ 	* tree.h (strip_float_extensions): Declare.
+ 
+ 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* timevar.def: define TV_NAME_LOOKUP.
+ 	* timevar.c (timevar_pop): Be verbose when aborting.
+ 
+ 2003-01-13  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
+ 	$(parsedir), just move the temporary file at the end.
+ 	($(parsedir)/gengtype-yacc.c): Likewise.
+ 
+ 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
+ 	${ac_tool_prefix} to ADAC or CC.  Protect them from word
+ 	splitting.
+ 	* configure: Rebuilt.
+ 
+ 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
+ 	internal_mcount): Don't use PARAMS.
+ 	(monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
+ 	ISO C style.
+ 	(internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
+ 
+ 2003-01-13  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
+ 	directive.
+ 
+ 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
+ 	(*iorsi3_and_lshiftrt_n_sb): Likewise.
+ 
+ 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/9264
+ 	* c-lex.c (c_lex): Set the token value to error_mark_node for
+ 	invalid numeric constants.
+ 
+ 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-pch.c (asm_file_startpos): Change to `long'.
+ 	(pch_init): Use ftell, not ftello.
+ 	(c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
+ 	Use `long' instead of `off_t'.
+ 	(c_common_read_pch): Likewise.
+ 	* ggc-common.c (gt_pch_save): Use long/ftell instead of
+ 	off_t/ftello.
+ 
+ 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
+ 
+ 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
+ 
+ 	* arm-protos.h (struct cpp_reader): Add declaration.
+ 
+ 2003-01-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/9068
+ 	* i386.c (output_fp_compare): Fix typo.
+ 
+ 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
+ 
+ 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (parsedir): New variable.
+ 	(docobjdir): New variable.
+ 	(c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
+ 	gengtype-lex.c, gengtype-yacc.c): Use parsedir.
+ 	(info, cpp.info, gcc.info, gccint.info, gccinstall.info,
+ 	cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
+ 	gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
+ 	Use docobjdir.
+ 	* objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
+ 	objc.maintainer-clean): Use parsedir.
+ 
+ 	* varasm.c (struct constant_descriptor_rtx): Remove unused
+ 	`label' field.
+ 
+ 	* toplev.c (documented_lang_options): Document -Winvalid-pch.
+ 
+ 2003-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
+ 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
+ 
+ 2003-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
+ 	not INTEGRAL_MODE_P when widening extensions.
+ 
+ 2003-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
+ 
+ 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-page.c (ggc_collect): Avoid overflow computing
+ 	min_expand.
+ 
+ 	* Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
+ 	(RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
+ 	Remove calls.
+ 	* mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
+ 
+ 2003-01-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
+ 	with weird operands.
+ 
+ 2003-01-10  Dale Johannesen <dalej@apple.com>
+ 
+ 	* calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
+ 	parameters.  Call check_sibcall_argument_overlap if indicated.
+ 	(check_sibcall_argument_overlap):  Add mark_stored_args_map
+ 	parameter.  Don't mark parameter area as clobbered if not set.
+ 	(expand_call):	Adjust calls to above.
+ 
+ 2003-01-10 Kelley Cook <kelleycook@comcast.net>
+ 
+ 	* configure.in (linker read-only and read-write section mixing):
+ 	Squelch some assembler warnings.
+ 	* configure: Likewise.
+ 
+ 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* doc/invoke.texi: Document -mtune, delete -mcpu
+ 	option for S/390 and zSeries.
+ 	* config/s390/s390.c (s390_tune_string) New variable.
+ 	(s390_cpu_string) Delete variable.
+ 	(override_options): Use s390_tune_string instead of
+ 	s390_cpu_string.
+ 	* config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
+ 
+ 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorsi3_ashift_31): New.
+ 
+ 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* jump.c (next_nonnote_insn_in_loop): New function.
+ 	(copy_loop_headers): Use next_nonnote_insn_in_loop instead of
+ 	next_nonnote_insn.
+ 	(duplicate_loop_exit_test). Likewise.
+ 
+ 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	Merge from pch-branch:
+ 
+ 	2003-01-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-page.c (ggc_pch_read): Update the statistics after a PCH
+ 	load.
+ 
+ 	2002-12-24  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* cpplib.c (count_registered_pragmas): New function.
+ 	(save_registered_pragmas): New function.
+ 	(_cpp_save_pragma_names): New function.
+ 	(restore_registered_pragmas): New function.
+ 	(_cpp_restore_pragma_names): New function.
+ 	* cpphash.h (_cpp_save_pragma_names): Prototype.
+ 	(_cpp_restore_pragma_names): Likewise.
+ 	* cpppch.c (struct save_macro_item): Split from save_macro_data.
+ 	(struct save_macro_data): New field 'saved_pragmas'.
+ 	(save_macros): Update for changes to struct save_macro_data.
+ 	(cpp_prepare_state): Call _cpp_save_pragma_names, update
+ 	for changes to struct save_macro_data.
+ 	(cpp_read_state): Call _cpp_restore_pragma_names, update
+ 	for changes to struct save_macro_data.
+ 
+ 	* cpppch.c (cpp_read_state): Restore the hashtable references
+ 	in the cpp_reader.
+ 
+ 	* tree.h (built_in_decls): Mark for PCH.
+ 
+ 	* dbxout.c (lastfile): Don't mark for PCH.
+ 
+ 	* ggc.h: Document PCH calls into memory managers.
+ 
+ 	2002-12-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi (Precompiled Headers): Document the
+ 	directory form of PCH.
+ 	* cppfiles.c (validate_pch): New function.
+ 	(open_file_pch): Search suitably-named directories for PCH files.
+ 
+ 	2002-12-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/gty.texi (GTY Options): Document chain_next, chain_prev,
+ 	reorder options.
+ 	(Type Information): Mention that the information is also
+ 	used to implement PCH.
+ 	* doc/passes.texi (Passes): Improve documentation of
+ 	language-specific files.
+ 
+ 	2002-12-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (struct write_types_data): Add reorder_note_routine field.
+ 	(struct walk_type_data): Add reorder_fn field.
+ 	(walk_type): Process 'reorder' option.
+ 	(write_types_process_field): Reorder parameters to gt_pch_note_object,
+ 	call reorder_note_routine.
+ 	(write_func_for_structure): Reorder parameters to gt_pch_note_object.
+ 	(ggc_wtd): Update for change to struct write_types_data.
+ 	(pch_wtd): Likewise.
+ 	* ggc.h (gt_pch_note_object): Reorder parameters.
+ 	(gt_handle_reorder): New definition.
+ 	(gt_pch_note_reorder): New prototype.
+ 	* ggc-common.c (struct ptr_data): Add reorder_fn.
+ 	(gt_pch_note_object): Reorder parameters.
+ 	(gt_pch_note_reorder): New.
+ 	(gt_pch_save): Call reorder_fn.
+ 	* stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
+ 
+ 	* dbxout.c (cwd): Don't mark for PCH.
+ 
+ 	2002-12-09  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (finish_root_table): Fix some warnings.
+ 	(write_root): Handle TYPE_STRING.
+ 	* ggc.h (gt_ggc_m_S): Add prototype.
+ 	* stringpool.c (gt_ggc_m_S): New function.
+ 
+ 	2002-11-30  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dwarf2out.c (dw2_string_counter): New.
+ 	(AT_string_form): Use it.
+ 	(same_dw_val_p): Update for removal of hashtable.h hash tables.
+ 
+ 	2002-11-22  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dbxout.c: Include gt-dbxout.h.
+ 	(lastfile): Mark for PCH/GGC.
+ 	(cwd): Likewise.
+ 	(struct typeinfo): Likewise.
+ 	(typevec): Likewise.
+ 	(typevec_len): Likewise.
+ 	(next_type_number): Likewise.
+ 	(struct dbx_file): Likewise.
+ 	(current_file): Likewise.
+ 	(next_file_number): Likewise.
+ 	(dbxout_init): Allocate typevec, struct dbx_file with GGC.
+ 	(dbxout_start_source_file): Allocate struct dbx_file with GGC.
+ 	(dbxout_end_source_file): Don't free struct dbx_file.
+ 	(dbxout_type): Use GGC to allocate typevec.
+ 	* Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
+ 	(GTFILES): Add dbxout.c.
+ 	(gt-dbxout.h): New rule.
+ 
+ 	* Makefile.in (c-pch.o): Add debug.h as dependency.
+ 	* c-pch.c: Include debug.h.
+ 	(pch_init): Call start_source_file to keep nesting right.
+ 	(c_common_read_pch): Add orig_name parameter.  Call
+ 	start_source_file debug hook.  Call end_source_file debug hook.
+ 	* c-common.h (c_common_read_pch): Update prototype.
+ 	* cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
+ 	callback.
+ 	* cppfiles.c (struct include_file): Add new field `header_name'.
+ 	(find_or_create_entry): Default it to `name'.
+ 	(open_file_pch): Set it to the original header file searched for.
+ 	(stack_include_file): Don't stack an empty buffer, just handle
+ 	PCH files immediately.  Pass header_name field to read_pch callback.
+ 
+ 	2002-11-19  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* function.c (funcdef_no): Mark to be saved in a PCH.
+ 
+ 	2002-11-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
+ 
+ 	* cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
+ 
+ 	2002-11-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* optabs.h (code_to_optab): Add GTY marker.
+ 
+ 	2002-11-13  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (GTFILES): Add cpplib.h.
+ 	* c-common.h (struct c_common_identifier): Don't skip 'node' field.
+ 	* c-decl.c (build_compound_literal): Don't use var_labelno.
+ 	* cpplib.h (struct cpp_hashnode): Use gengtype to mark.
+ 	* dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
+ 	* varasm.c (const_labelno): Use gengtype to mark.
+ 	(var_labelno): Likewise.
+ 	(in_section): Likewise.
+ 	(in_named_name): Likewise.
+ 	(struct in_named_entry): Likewise.
+ 	(in_named_htab): Likewise.
+ 	(set_named_section_flags): Use GGC to allocate struct in_named_entry.
+ 	(init_varasm_once): Use GGC to allocate in_named_htab.
+ 	* config/darwin.c (current_pic_label_num): Mark for PCH.
+ 
+ 	2002-11-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-simple.c (init_ggc_pch): New stub procedure.
+ 	(ggc_pch_count_object): Likewise.
+ 	(ggc_pch_total_size): Likewise.
+ 	(ggc_pch_this_base): Likewise.
+ 	(ggc_pch_alloc_object): Likewise.
+ 	(ggc_pch_prepare_write): Likewise.
+ 	(ggc_pch_write_object): Likewise
+ 	(ggc_pch_finish): Likewise.
+ 	(ggc_pch_read): Likewise.
+ 
+ 	2002-11-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-pch.c (c_common_write_pch): Write the macro definitions after
+ 	the GCed data.
+ 	(c_common_read_pch): Call cpp_prepare_state.  Restore the macro
+ 	definitions after the GCed data.
+ 	* cpplib.c (save_macros): New.
+ 	(reset_ht): New.
+ 	(cpp_write_pch_deps): Split out of cpp_write_pch.
+ 	(cpp_write_pch_state): Split out of cpp_write_pch.
+ 	(cpp_write_pch): Delete.
+ 	(struct save_macro_data): Delete.
+ 	(cpp_prepare_state): New.
+ 	(cpp_read_state): Erase and restore initial macro definitions.
+ 	* cpplib.h (struct save_macro_data): Forward-declare.
+ 	(cpp_write_pch_deps): Prototype.
+ 	(cpp_write_pch_state): Prototype.
+ 	(cpp_write_pch): Delete prototype.
+ 	(cpp_prepare_state): Prototype.
+ 	(cpp_read_state): Add fourth argument.
+ 
+ 	2002-11-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
+ 	(write_array): Remove warning.
+ 
+ 	* gengtype.c (contains_scalar_p): New.
+ 	(finish_root_table): Add the table to all languages, even if it's
+ 	empty.
+ 	(write_roots): Output gt_pch_scalar_rtab.
+ 	* ggc-common.c (gt_pch_save): Write out scalars.
+ 	(gt_pch_restore): Read scalars back.
+ 
+ 	* ggc-page.c (OBJECTS_IN_PAGE): New macro.
+ 	(struct page_entry): Delete pch_page field.
+ 	(ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
+ 	(clear_marks): Likewise.
+ 	(sweep_pages): Likewise.
+ 	(poison_pages): Likewise.
+ 	(ggc_print_statistics): Likewise.
+ 	(ggc_pch_read): Don't free objects read from a PCH.
+ 	Properly set up in_use_p and page_tails.
+ 
+ 	2002-10-25  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (struct write_types_data): New.
+ 	(struct walk_type_data): Make `cookie' const; add extra
+ 	prev_val item; add `orig_s' field.
+ 	(walk_type): Update prev_val[3].
+ 	(write_types_process_field): New.
+ 	(write_func_for_structure): Take write_types_data structure.
+ 	(write_types): New.
+ 	(ggc_wtd): New.
+ 	(pch_wtd): New.
+ 	(write_types_local_process_field): New.
+ 	(gc_mark_process_field): Delete.
+ 	(write_local_func_for_structure): New.
+ 	(gc_mark_func_name): Delete.
+ 	(write_gc_types): Delete.
+ 	(write_local): New.
+ 	(finish_root_table): Don't include 'ggc_' in PFX.
+ 	(write_root): Rename from write_root.  Fill pchw field of structures.
+ 	(write_array): New.
+ 	(write_roots): Rename from write_gc_roots.  Split out to write_array.
+ 	Update to changes to other routines.  Write gt_pch_cache_rtab table.
+ 	(main): Write PCH walking routines.
+ 	* ggc-common.c: Include toplev.h, sys/mman.h.
+ 	(ggc_mark_roots): For cache hashtables, also mark the hash table
+ 	and the array of entries.
+ 	(saving_htab): New.
+ 	(struct ptr_data): New.
+ 	(POINTER_HASH): New.
+ 	(gt_pch_note_object): New.
+ 	(saving_htab_hash): New.
+ 	(saving_htab_eq): New.
+ 	(struct traversal_state): New.
+ 	(call_count): New.
+ 	(call_alloc): New.
+ 	(compare_ptr_data): New.
+ 	(relocate_ptrs): New.
+ 	(write_pch_globals): New.
+ 	(struct mmap_info): New.
+ 	(gt_pch_save): New.
+ 	(gt_pch_restore): New.
+ 	* ggc-page.c (ROUND_UP_VALUE): New.
+ 	(ROUND_UP): New.
+ 	(struct page_entry): Add field `pch_page'.
+ 	(init_ggc): Use ROUND_UP.
+ 	(struct ggc_pch_data): Declare.
+ 	(init_ggc_pch): New.
+ 	(ggc_pch_count_object): New.
+ 	(ggc_pch_total_size): New.
+ 	(ggc_pch_this_base): New.
+ 	(ggc_pch_alloc_object): New.
+ 	(ggc_pch_prepare_write): New.
+ 	(ggc_pch_write_object): New.
+ 	(ggc_pch_finish): New.
+ 	(ggc_pch_read): New.
+ 	* ggc.h (gt_pointer_operator): New.
+ 	(gt_note_pointers): New.
+ 	(gt_pch_note_object): New prototype.
+ 	(gt_pointer_walker): New.
+ 	(struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
+ 	(LAST_GGC_ROOT_TAB): Update.
+ 	(gt_pch_cache_rtab): Declare.
+ 	(gt_pch_scalar_rtab): Declare.
+ 	(struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
+ 	(LAST_GGC_CACHE_TAB): Update.
+ 	(gt_pch_save_stringpool): Declare.
+ 	(gt_pch_restore_stringpool): Declare.
+ 	(gt_pch_p_S): Declare.
+ 	(gt_pch_n_S): Declare.
+ 	(struct ggc_pch_data): Forward-declare.
+ 	(init_ggc_pch): Declare.
+ 	(ggc_pch_count_object): Declare.
+ 	(ggc_pch_total_size): Declare.
+ 	(ggc_pch_this_base): Declare.
+ 	(ggc_pch_alloc_object): Declare.
+ 	(ggc_pch_prepare_write): Declare.
+ 	(ggc_pch_write_object): Declare.
+ 	(ggc_pch_finish): Declare.
+ 	(ggc_pch_read): Declare.
+ 	(gt_pch_save): Declare.
+ 	(gt_pch_restore): Declare.
+ 	* fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
+ 	* emit-rtl.c (init_emit_once): Allocate const_int_htab,
+ 	const_double_htab, mem_attrs_htab using GGC.
+ 	* c-pch.c: Include ggc.h.
+ 	(pch_init): Allow reading PCH file back.
+ 	(c_common_write_pch): Call gt_pch_save.
+ 	(c_common_read_pch): Call gt_pch_restore.
+ 	* c-parse.in (init_reswords): Delete now-untrue comment.
+ 	Allocate ridpointers using GGC.
+ 	* c-objc-common.c (c_objc_common_finish_file): Write PCH before
+ 	calling expand_deferred_fns.
+ 	* c-common.h (ridpointers): Mark for GTY machinery.
+ 	* Makefile.in (stringpool.o): Update dependencies.
+ 	(c-pch.o): Update dependencies.
+ 	(ggc-common.o): Update dependencies.
+ 	* stringpool.c: Include gt-stringpool.h.
+ 	(gt_pch_p_S): New.
+ 	(gt_pch_n_S): New.
+ 	(struct string_pool_data): New.
+ 	(spd): New.
+ 	(gt_pch_save_stringpool): New.
+ 	(gt_pch_restore_stringpool): New.
+ 	* tree.c (init_ttree): Make type_hash_table allocated using GC.
+ 
+ 	2002-10-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
+ 	(output_mangled_typename): Don't pass size_t to printf.
+ 
+ 	* tree.h (union tree_type_symtab): Add tag to `address' field.
+ 	(union tree_decl_u2): Add tag to 'i' field.
+ 	* varasm.c (union rtx_const_un): Add tags to all fields.
+ 	* gengtype.c (struct walk_type_data): New.
+ 	(output_escaped_param): Take struct walk_type_data parameter.
+ 	(write_gc_structure_fields): Delete.
+ 	(walk_type): New.
+ 	(write_gc_marker_routine_for_structure): Delete.
+ 	(write_func_for_structure): New.
+ 	(gc_mark_process_field): New.
+ 	(gc_mark_func_name): New.
+ 	(gc_counter): Delete.
+ 	(write_gc_types): Use write_func_for_structure.
+ 	(write_gc_roots): Use walk_type.
+ 
+ 	2002-10-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-common.c (ggc_mark_roots): Delete 'x'.
+ 	(ggc_splay_dont_free): Fix warning about unused 'x'.
+ 	(ggc_print_common_statistics): Remove warnings.
+ 
+ 	2002-10-01  Mike Stump  <mrs@apple.com>
+ 
+ 	* ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
+ 	* gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
+ 
+ 	2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
+ 	    Catherine Moore  <clm@redhat.com>
+ 
+ 	* Makefile (c-pch.o): Update dependencies.
+ 	(LIBCPP_OBJS): Add cpppch.o.
+ 	(cpppch.o): New.
+ 	* c-common.c (c_common_init): Don't call pch_init here.
+ 	* c-common.h (c_common_read_pch): Update prototype.
+ 	* c-lex.c (c_common_parse_file): Call pch_init here.
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
+ 	(c_common_decode_option): Handle them.
+ 	* c-pch.c: Include c-pragma.h.
+ 	(save_asm_offset): Delete.
+ 	(pch_init): Move contents of save_asm_offset into here, call
+ 	cpp_save_state.
+ 	(c_common_write_pch): Call cpp_write_pch.
+ 	(c_common_valid_pch): Warn only when -Winvalid-pch.  Call
+ 	cpp_valid_state.
+ 	(c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
+ 	* cppfiles.c (stack_include_file): Update for change to
+ 	parameters of cb.read_pch.
+ 	* cpphash.h (struct cpp_reader): Add `savedstate' field.
+ 	* cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
+ 	`restore_pch_deps' fields.
+ 	(struct cpp_callbacks): Add NAME parameter to `read_pch'.
+ 	(cpp_save_state): Prototype.
+ 	(cpp_write_pch): Prototype.
+ 	(cpp_valid_state): Prototype.
+ 	(cpp_read_state): Prototype.
+ 	* cpppch.c: New file.
+ 	* flags.h (version_flag): Remove prototype.
+ 	* mkdeps.c (deps_save): New.
+ 	(deps_restore): New.
+ 	* mkdeps.h (deps_save): Prototype.
+ 	(deps_restore): Prototype.
+ 	* toplev.c (late_init_hook): Delete.
+ 	(version_flag): Make static again.
+ 	(compile_file): Don't call late_init_hook.
+ 	* toplev.h (late_init_hook): Delete.
+ 	* doc/cppopts.texi: Document -fpch-deps.
+ 	* doc/invoke.texi (Warning Options): Document -Winvalid-pch.
+ 
+ 	2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-pch.c (c_common_write_pch): Rename from c_write_pch, change
+ 	callers.
+ 	(c_common_valid_pch): Rename from c_valid_pch, change callers.
+ 	(c_common_read_pch): Rename from c_read_pch, change callers.
+ 
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
+ 	a space between it and its argument.
+ 
+ 	2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-pch.c: New file.
+ 	* toplev.h (late_init_hook): Declare.
+ 	* toplev.c (late_init_hook): Define.
+ 	(version_flag): Make globally visible.
+ 	(compile_file): Call late_init_hook.
+ 	(init_asm_output): Make output file seekable.
+ 	* gcc.c (default_compilers): Update c-header rule.
+ 	* flags.h (version_flag): Declare.
+ 	* cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
+ 	fields.
+ 	* cppfiles.c (struct include_file): Add 'pch' field.
+ 	(INCLUDE_PCH_P): New.
+ 	(open_file_pch): New.
+ 	(stack_include_file): Handle PCH files specially.
+ 	(find_include_file): Call open_file_pch instead of open_file.
+ 	(_cpp_read_file): Explain why open_file is used instead of
+ 	open_file_pch.
+ 	* c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
+ 	* c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
+ 	* c-lex.c (init_c_lex): Set valid_pch and read_pch fields
+ 	in cpplib callbacks.
+ 	* c-common.c (pch_file): Correct comment.
+ 	(allow_pch): Define.
+ 	(c_common_init): Call pch_init.
+ 	* c-common.h (allow_pch): Declare.
+ 	(pch_init): Declare.
+ 	(c_valid_pch): Declare.
+ 	(c_read_pch): Declare.
+ 	(c_write_pch): Declare.
+ 	* Makefile.in (c-pch.o): New.
+ 	(C_AND_OBJC_OBJS): Add c-pch.o.
+ 	* doc/invoke.texi (Precompiled Headers): Add index entries,
+ 	complete truncated paragraph.
+ 
+ 	2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* c-common.c: (pch_file): Define.
+ 	* c-common.h (pch_file): Declare.
+ 	* c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
+ 	(missing_arg): Require --output-pch= to have an argument.
+ 	(c_common_decode_option): Handle --output-pch=.
+ 	* gcc.c: Document new %V.
+ 	(default_compilers): Handle compiling C header files.
+ 	(do_spec_1): Implement %V.
+ 	(main): Handle "gcc foo.h" without trying to run linker.
+ 	* doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
+ 	(Overall Options): Document what the driver does with header files,
+ 	document new -x option possibilities.
+ 	(Invoking G++): More documentation for PCH.
+ 	(Precompiled Headers): New.
+ 
+ 	2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* ggc.h: Don't include varray.h.  Rearrange functions to be more
+ 	organized.
+ 	(ggc_add_root): Delete.
+ 	(ggc_mark_rtx): Delete.
+ 	(ggc_mark_tree): Delete.
+ 	(struct ggc_statistics): Remove contents.
+ 	* ggc-common.c: Remove unneeded includes.
+ 	(struct ggc_root): Delete.
+ 	(roots): Delete.
+ 	(ggc_add_root): Delete.
+ 	(ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
+ 	(ggc_print_common_statistics): Remove most of the contents.
+ 	* Makefile.in (GGC_H): No longer uses varray.h.
+ 	(ggc-common.o): Update dependencies.
+ 	(c-parse.o): Add varray.h to dependencies.
+ 	(c-common.o): Add varray.h.
+ 	* stringpool.c (mark_ident): Use mangled name for tree marker routine.
+ 	(mark_ident_hash): Rename to ggc_mark_stringpool.
+ 	(init_stringpool): Don't use ggc_add_root.
+ 	* c-parse.in: Include varray.h.
+ 	* c-common.c: Include varray.h.
+ 	* objc/Make-lang.in (objc-act.o): Add varray.h.
+ 	* objc/objc-act.c: Include varray.h.
+ 
+ 	2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
+ 	(dw_cfi_oprnd1_desc): Likewise.
+ 
+ 	2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
+ 	move out of ifdef.
+ 	(alpha_links): Use gengtype to mark; move out of ifdef.
+ 	(mark_alpha_links_node): Delete.
+ 	(mark_alpha_links): Delete.
+ 	(alpha_need_linkage): Use GGC to allocate splay tree, struct
+ 	alpha_links, strings.  Don't use ggc_add_root.
+ 	* ggc-common.c (ggc_splay_alloc): New.
+ 	(ggc_splay_dont_free): New.
+ 	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
+ 	(ggc_mark_tree): Likewise.
+ 	(splay_tree_new_ggc): New.
+ 	(ggc_splay_alloc): Declare.
+ 	(ggc_splay_dont_free): Declare.
+ 	* dwarf2asm.c: Include gt-dwarf2asm.h.
+ 	(mark_indirect_pool_entry): Delete.
+ 	(mark_indirect_pool): Delete.
+ 	(indirect_pool): Use gengtype to mark.
+ 	(dw2_force_const_mem): Don't use ggc_add_root.
+ 	* Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
+ 	(GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
+ 	(gt-dwarf2asm.h): Depend on s-gtype.
+ 
+ 	2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
+ 
+ 	* tree.h (union tree_type_symtab): Mark `die' field.
+ 	* Makefile.in (dwarf2out.o): Update dependencies.
+ 	* dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
+ 	hash tables.
+ 	(dw_cfi_oprnd1_desc): New function.
+ 	(dw_cfi_oprnd2_desc): New function.
+ 	(indirect_string_alloc): Delete.
+ 	(debug_str_do_hash): New function.
+ 	(debug_str_eq): New function.
+ 	(mark_limbo_die_list): Delete.
+ 	(dwarf2out_init): Don't call ggc_add_root.
+ 
+ 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	The following changes are merged from itanium-sched-branch:
+ 
+ 	2003-01-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/md.texi: Clarify assignment of units to automata description.
+ 
+ 	2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (unit_decl): Remove members
+ 	`the_same_automaton_unit' and
+ 	`the_same_automaton_message_reported_p'.
+ 	(process_unit_to_form_the_same_automaton_unit_lists,
+ 	form_the_same_automaton_unit_lists_from_regexp,
+ 	form_the_same_automaton_unit_lists, the_same_automaton_lists):
+ 	Remove them.
+ 	(annotation_message_reported_p): New global variable.
+ 	(check_unit_distribution_in_reserv,
+ 	check_regexp_units_distribution): New functions.
+ 	(check_unit_distributions_to_automata): Rewrite it.
+ 
+ 	2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
+ 	Use continue instead of break if cycle is too big.
+ 
+ 	2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (check_unit_distributions_to_automata): Output at
+ 	most one message for a unit.
+ 	(process_unit_to_form_the_same_automaton_unit_lists): Check
+ 	automaton of units instead of units themself.
+ 
+ 	* doc/md.texi: Describe the constraint about assigning unit to
+ 	automata.
+ 
+ 	2002-12-20  Jan Hubicka  <jH@suse.cz>
+ 		    Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
+ 	and `in_set_p'.
+ 	(gen_cpu_unit): Initialize the new members.
+ 	(process_regexp_cycles): Calculate minimal finish cycle too.  Set
+ 	up `min_occ_cycle_num'.
+ 	(evaluate_max_reserv_cycles): Change the function call.
+ 	(CLEAR_BIT): New macro.
+ 	(states_union, state_shift): Use the mask.
+ 	(initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
+ 	(form_reservs_matter): New function.
+ 	(make_automaton): Call the function and use the mask.
+ 	(estimate_one_automaton_bound): Take `min_occ_cycle_num' into
+ 	account.
+ 
+ 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/itanium2.md (lfetch): Change the insn reservation.
+ 
+ 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
+ 	for Itanium.
+ 
+ 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_override_options): Make itanium2 as
+ 	default cpu.
+ 
+ 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 		2002-10-31  Dale Johannesen <dalej@apple.com>
+ 
+ 	* haifa-sched.c (find_set_reg_weight): New function.
+ 	(find_insn_reg_weight): Use the new function.
+ 	(schedule_block): Do sorting ready queue always
+ 	after insn issue.
+ 
+ 	2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
+ 
+ 	2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (choice_entry): New structure.
+ 	(choice_stack, cycle_issued_insns): New variables.
+ 	(max_issue): Rewrite it.
+ 	(choose_ready): Set up ready_try for unknown insns too.
+ 	(schedule_block): Allocate and free choice_stack.  Set up
+ 	and modify cycle_issued_insns.
+ 
+ 	* config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
+ 	with and without filling the bundle.
+ 	(bundling): Combine calls of issue_nops_and_insn.
+ 
+ 	2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/itanium1.md: New file.
+ 
+ 	* config/ia64/itanium2.md: New file.
+ 
+ 	* config/ia64/ia64.md: Move DFA descriptions into the new files.
+ 	Remove the old pipeline description.
+ 
+ 	* config/ia64/ia64.c (ia64_override_options): Add aliases of
+ 	itanium processor names.
+ 
+ 	2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.c (bundling): Print states for Itanium2 too.
+ 	(ia64_reorg):  Set up queried unit codes for Itanium2 too.
+ 
+ 	* config/ia64/ia64.md: Add descriptions for Itanium2.
+ 
+ 	2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.h (processor_type): New enumeration.
+ 	(ia64_tune, ia64_tune_string): New external declarations.
+ 	(TARGET_OPTIONS): Add option `tune='.
+ 
+ 	* config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
+ 	variables.
+ 	(ia64_override_options): Set up `ia64_tune'.
+ 	(ia64_sched_reorder2): Set up `clocks' only for Itanium.
+ 	(ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
+ 	(bundling): Add nops for MM-insns only for Itanium.
+ 	(ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
+ 	Itanium.
+ 
+ 	* config/ia64/ia64.md (cpu): New attribute.
+ 	(DFA description): Enable it only for Itanium.
+ 
+ 	2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
+ 		    Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
+ 	MASK_EARLY_STOP_BITS.
+ 	(TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
+ 	(TARGET_SWITCHES): Rename option `tune-stop-bits' to
+ 	`early-stop-bits'.
+ 
+ 	* config/ia64/ia64.c (ia64_dfa_new_cycle,
+ 	final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
+ 	instead of TARGET_TUNE_STOP_BITS.
+ 
+ 	* doc/invoke.texi: Rename option `-mtune-stop-bits' to
+ 	`-mearly-stop-bits'.
+ 
+ 	* config/ia64/ia64.c (automata_option "v"): Comment it.
+ 
+ 	2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
+ 	New macros.
+ 	(TARGET_SWITCHES): Add entries for the new option.
+ 
+ 	* config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
+ 	dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
+ 	(stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
+ 	global variables.
+ 	(ia64_sched_reorder2): Set up `clocks'.
+ 	(ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
+ 	(ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
+ 	queue when TARGET_TUNE_STOP_BITS.
+ 	(bundling): Insert additional nops for MM-insns.
+ 	(final_emit_insn_group_barriers): Add insertion of stop bits
+ 	according `stops_p'.
+ 	(ia64_reorg): Initiate the new varibales.
+ 
+ 	* doc/invoke.texi: Add description of option `-mtune-stop-bits'.
+ 
+ 	2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* haifa-sched.c (schedule_block): Modify INSN_TICK of depended
+ 	insns at the end of block insn scheduling.
+ 
+ 	2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* sched-deps.c (remove_dependence, group_leader): Remove it.
+ 	(add_dependence): Add dependence to group leader to.
+ 	(set_sched_group_p): Add dependence to the first insn of the
+ 	schedule group too.
+ 	(sched_analyze_insn): Make dependence to jump as anti-dependence.
+ 	Change true dependence by anti-dependence when
+ 	`reg_pending_barrier'.
+ 
+ 	* sched-rgn.c (init_ready_list, can_schedule_ready_p,
+ 	add_branch_dependences): Ignore schedule groups.
+ 
+ 	* sched-ebb.c (init_ready_list): Ditto.
+ 
+ 	* (move_insn, set_priorities): Ditto.
+ 
+ 	* config/ia64/ia64.c (ia64_sched_init): Check that schedule group
+ 	flag is clear after reload.
+ 	(adjust_cost): Change cost only for output dependencies.
+ 
+ 	* config/ia64/ia64.md: Add more insns into bypass for MM-insns.
+ 
+ 	2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
+ 
+ 	* target.h (gcc_target): Add member
+ 	`dependencies_evaluation_hook'.
+ 
+ 	* target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
+ 	macro.
+ 	(TARGET_SCHED): Add initiatialization of the new member.
+ 
+ 	* sched-ebb.c: Include `target.h'.
+ 	(schedule_ebb): Call `dependencies_evaluation_hook'.
+ 
+ 	* sched-rgn.c (schedule_region): Call
+ 	`dependencies_evaluation_hook'.
+ 
+ 	* config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
+ 	New macro.
+ 	(ia64_dependencies_evaluation_hook): New function.
+ 
+ 	* doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
+ 	Describe the new hook.
+ 
+ 	2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* target.h (gcc_target): Add members
+ 	`first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
+ 
+ 	* target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
+ 	macros.
+ 	(TARGET_SCHED): Add initiatialization of the new members.
+ 
+ 	* haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
+ 	insn scheduling too.
+ 	(choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
+ 	initialize `ready_try'.
+ 	(schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
+ 	`dfa_new_cycle' says not to do it.
+ 
+ 	* config/ia64/ia64.md: Add DFA Itanium 1 description for insn
+ 	bundling.
+ 
+ 	* config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
+ 
+ 	* config/ia64/ia64.c: Include `hashtab.h'.
+ 	(ia64_first_cycle_multipass_dfa_lookahead_guard,
+ 	ia64_dfa_new_cycle, final_emit_insn_group_barriers,
+ 	ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
+ 	initiate_bundle_states, finish_bundle_states, bundle_state_hash,
+ 	bundle_state_eq_p, insert_bundle_state,
+ 	initiate_bundle_state_table, finish_bundle_state_table,
+ 	try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
+ 	get_template, get_next_important_insn, bundling): New functions.
+ 	(ia64_internal_sched_reorder): Remove it.
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
+ 	TARGET_SCHED_DFA_NEW_CYCLE): New macros.
+ 	(ia64_safe_itanium_requires_unit0): Remove it.
+ 	(group_barrier_needed_p): Place group barrier right before a real
+ 	insn.
+ 	(bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
+ 	Remove them.
+ 	(bundle_name): New variable.
+ 	(_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
+ 	_0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
+ 	_1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
+ 	pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
+ 	temp_dfa_state, prev_cycle_state): New global variables.
+ 	(insn_matches_slot, maybe_rotate, finish_last_head,
+ 	rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
+ 	cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
+ 	find_best_packet, itanium_reorder, dump_current_packet,
+ 	schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
+ 	(sched_data, sched_ready, sched_types): Remove them.
+ 	(ia64_sched_init): Initiate only `last_scheduled_insn' and call
+ 	`init_insn_group_barriers'.
+ 	(ia64_sched_reorder, ia64_sched_reorder2): Call
+ 	ia64_dfa_sched_reorder.
+ 	(ia64_variable_issue): Rewrite it.
+ 	(bundle_state): New structure.
+ 	(index_to_bundle_states, bundle_states_num,
+ 	allocated_bundle_states_chain, free_bundle_state_chain): New
+ 	global variables.
+ 	(ia64_sched_finish): Add stop bits and call `bundling' after the
+ 	2nd insn scheduling.
+ 	(ia64_use_dfa_pipeline_interface): Return zero always.
+ 	(ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
+ 	insn scheduling.
+ 	(ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
+ 	`temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
+ 	(ia64_reorg): Add bundling insns.
+ 
+ 	* doc/tm.texi
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
+ 	TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
+ 
+ 	2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/ia64/ia64.md: Add Itanium1 DFA description.
+ 	(itanium_class): Add `nop' and `pre_cycle'.  Add
+ 	define_function_unit for `nop'.
+ 	(nop): Change attribute `itanium_class'.
+ 	(pre_cycle): New define_insn.
+ 
+ 	* config/ia64/ia64-protos.h (bundling_p): New external variable.
+ 	(ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
+ 	ia64_produce_address_p): New function prototypes.
+ 
+ 	* config/ia64/ia64.c (bundling_p): New global variable.
+ 	(ia64_use_dfa_pipeline_interface,
+ 	ia64_first_cycle_multipass_dfa_lookahead,
+ 	ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
+ 	functions.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
+ 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
+ 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
+ 	TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
+ 	(ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
+ 	ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
+ 	(dfa_pre_cycle_insn): New variable.
+ 
+ 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
+ 	constructions.
+ 
+ 	* genattrtab.h (gen_final_presence_set, gen_final_absence_set):
+ 	New function prototypes.
+ 
+ 	* genattrtab.c (main): Process the new constructions.
+ 
+ 	* genautomata.c (gen_presence_absence_set,
+ 	process_presence_absence_names, process_presence_absence_patterns,
+ 	add_presence_absence, check_absence_pattern_sets): Add parameter
+ 	`final_p'.
+ 	(unit_decl): Add new members `final_presence_list' and
+ 	`final_absence_list'.
+ 	(unit_pattern_rel_decl): Add new member `final_p'.
+ 	(gen_final_presence_set, gen_final_absence_set): New functions.
+ 	(process_decls): Use member `final_p'.
+ 	(temp_reserv): New global variable.
+ 	(reserv_sets_are_intersected): Add processing `final_presence_set'
+ 	and `final_absence_set'.
+ 	(initiate_states): Allocate `temp_reserv'.
+ 	(unit_final_presence_set_table, unit_final_absence_set_table): New
+ 	gloabal variables.
+ 	(initiate_presence_absence_pattern_sets): Initiate them.
+ 	(NDFA_to_DFA): Fix typo.
+ 	(output_description): Output `final_presence_set' and
+ 	`final_absence_set'.
+ 
+ 	* doc/md.texi (final_presence_set, final_absence_set): Describe
+ 	them.
+ 
+ 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genautomata.c (transform_3): Process a missing case (nothing on
+ 	unit place).
+ 
+ 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
+ 	comments about queried units and the minimization.
+ 
+ 	* doc/md.texi: Ditto.
+ 
+ 	* genautomata.c (create_composed_state): Return nonzero if the new
+ 	state has been created.
+ 	(first_cycle_unit_presence): New function.
+ 	(state_is_differed): Add new parameter.  Use the new function.
+ 	Take queried units into account.
+ 	(partition_equiv_class): Pass additional parameter to
+ 	`state_is_differed'.
+ 	(merge_states): Process composed states too.
+ 	(build_automaton, create_automata, output_min_issue_delay_table,
+ 	output_tables, output_statistics): Output more information.
+ 	(output_reserved_units_table): Use function
+ 	`first_cycle_unit_presence'.
+ 	(output_tables): Output table of queried units even if the
+ 	minimization is switched on.
+ 	(write_automata): Output code for querying units even if the
+ 	minimization is switched on.
+ 
+ 	2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
+ 	syntax of the constructions.
+ 
+ 	* doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
+ 	extended syntax of the constructions.
+ 
+ 	* genautomata.c (unit_rel_decl): Rename it to
+ 	`unit_pattern_rel_decl'.
+ 	(pattern_set_el, pattern_reserv): New structures.
+ 	(pattern_set_el_t, pattern_reserv_t): New types.
+ 	(gen_presence_absence_set): New function.
+ 	(process_presence_absence): Remove it.
+ 	(process_presence_absence_names,
+ 	process_presence_absence_patterns): New functions.
+ 	(get_presence_absence_set): Remove it.
+ 	(initiate_presence_absence_sets): Rename it on
+ 	`initiate_presence_absence_pattern_sets'.  Use new function
+ 	`form_reserv_sets_list'.
+ 	(form_reserv_sets_list, check_presence_pattern_sets,
+ 	check_absence_pattern_sets, output_pattern_set_el_list): New
+ 	functions.
+ 	(unit_decl): Change types of members `presence_list' and
+ 	`absence_list'.
+ 	(unit_rel_decl): Rename member `names_num' to `all_names_num'.
+ 	(decl): Change types of members `excl', `presence', and `absence'.
+ 	(get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
+ 	at the end of the vector.
+ 	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
+ 	gen_automaton, gen_regexp_repeat, gen_regexp_allof,
+ 	gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
+ 	(gen_presence_set, gen_absence_set): Use new function
+ 	`gen_presence_absence_set'.
+ 	(add_presence_absence): Process `pattern_list' instead of
+ 	`source_list'.
+ 	(process_decls): USe new functions
+ 	`process_presence_absence_names' and
+ 	`process_presence_absence_patterns'.
+ 	(reserv_sets_are_intersected): Use new function
+ 	`check_presence_pattern_sets'.
+ 	(presence_set, absence_set): Remove them.
+ 	(unit_presence_set_table, unit_absence_set_table): New global
+ 	variables.
+ 	(output_description): Use new function
+ 	`output_pattern_set_el_list'.
+ 	(generate): Use `initiate_presence_absence_pattern_sets'.
+ 
+ 	2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* genattr.c (main): Add output of prototype of new interface
+ 	function `dfa_clean_insn_cache'.
+ 
+ 	* genautomata.c (output_dfa_clean_insn_cache_func): New function.
+ 	(DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
+ 	(output_dfa_start_func): Use function `dfa_clean_insn_cache' in
+ 	the generated code.
+ 	(write_automata): Call the new function.
+ 
+ 2003-01-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
+ 	correctly.
+ 
+ 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
+ 
+ 	* doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
+ 
+ 2003-01-09  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
+ 	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
+ 	(CONSTRAINT_LEN): Provide default definition.
+ 	(CONST_OK_FOR_CONSTRAINT_P): Likewise.
+ 	(CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
+ 	(EXTRA_CONSTRAINT_STR): Likewise.
+ 	(REG_CLASS_FROM_CONSTRAINT): Define.
+ 	* genoutput.c (check_constraint_len, constraint_len): New functions.
+ 	(validate_insn_alternatives): Check CONSTRAINT_LEN for each
+ 	constraint / modifier.
+ 	(gen_insn): Call check_constraint_len.
+ 	* local-alloc.c (block_alloc): Update to use new macros / pass
+ 	second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
+ 	* ra-build.c (handle_asm_insn): Likewise.
+ 	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
+ 	(constrain_operands, peep2_find_free_register): Likewise.
+ 	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
+ 	* regmove.c (find_matches): Likewise.
+ 	* reload.c (push_secondary_reload, find_reloads): Likewise.
+ 	(alternative_allows_memconst): Likewise.
+ 	* reload1.c (maybe_fix_stack_asms): Likewise.
+ 	(reload_cse_simplify_operands): Likewise.
+ 	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
+ 	* doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
+ 	(CONST_OK_FOR_CONSTRAINT_P): Likewise.
+ 	(CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
+ 	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
+ 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
+ 
+ 	* sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
+ 
+ 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
+ 	length.
+ 	(*extzv_1_r_h8300hs): Likewise.
+ 	(*extzv_1_r_inv_h8300): Likewise.
+ 	(*extzv_1_r_inv_h8300hs): Likewise.
+ 
+ 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (PREDICATE_CODES): New.
+ 
+ 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*addsi3_upper): New.
+ 	(*iorsi3_shift): Likewise.
+ 	(two splitters): Likewise.
+ 	(*addsi3_shift): Likewise.
+ 	(two splitters): Likewise.
+ 
+ 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (optabs.o): Add dependency on basic-block.h.
+ 	* basic-block.h (control_flow_insn_p): Fuction was exported.
+ 	* cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
+ 	* optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
+ 	notes only when the region is contained in a single basic block.
+ 
+ 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR inline-asm/8832
+ 	* tree.h (expand_asm): New prototype.
+ 	* stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
+ 	to do so.
+ 	* c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
+ 	down to expand_asm.
+ 	* c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
+ 	* rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
+ 	(volatile_refs_p) [ASM_INPUT]: Likewise.
+ 	(side_effects_p) [ASM_INPUT]: Likewise.
+ 
+ 2003-01-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (*mul*): FIx constraints; remove confused comment; fix
+ 	athlon_decode attributes
+ 	(imul/k8 optimization peep2s): New.
+ 
+ 	* athlon.md (athlon_ssecmp*): Handle ssecomi as well.
+ 	* i386.md (type attribute): Add ssecomi.
+ 	(unit, memory, prefix attributes): Handle ssecomi.
+ 	(cvt?2? patterns): Fix athlon_decode attribute
+ 	(comi patterns): Set attribute to ssecomi.
+ 
+ 	PR target/8343
+ 	* m68k.md (umulsidi, mulsidi expanders): Use register operand.
+ 
+ 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
+ 	that match register_operands.
+ 	* config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
+ 	register_operand the default case.
+ 
+ 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/8032
+ 	* c-typeck.c (process_init_element) [RECORD_TYPE]: For
+ 	an empty element, do not advance the pointer to unfilled
+ 	fields if there are pending initializers.
+ 
+ 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+ 
+ 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
+ 	(install-gcc-tooldir, install-cpp, installdirs,
+ 	install-common, install-driver, install-info, install-man,
+ 	install-headers, install-include-dir, install-headers-tar,
+ 	install-headers-cpio, install-headers-cp, install-mkheaders,
+ 	install-collect2, uninstall): Prepend $(DESTDIR) to
+ 	destination paths in all (un)installation commands.
+ 	(install-driver): Rewrite $(LN) commands to support DESTDIR
+ 	with "ln" as well as with "ln -s".
+ 	(installdirs): Simply use mkinstalldirs.
+ 	(install-libgcc, install-multilib): Also pass DESTDIR.
+ 	* mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
+ 	installation destination variable ldir.
+ 	* config/alpha/t-osf4, config/arm/t-netbsd,
+ 	config/ia64/t-hpux, config/mips/t-iris5-6,
+ 	config/pa/t-hpux-shlib, config/rs6000/t-aix43,
+ 	config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
+ 	config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
+ 	in the definition of SHLIB_INSTALL.
+ 	* config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
+ 	$(libsubdir) in the installation commands.
+ 
+ 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
+ 	non-optimizing compile.
+ 	(ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
+ 	compile.
+ 
+ 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* config/i386/i386.c (ix86_attribute_table): Add new attributes
+ 	ms_struct and gcc_struct.
+ 	(ix86_handle_struct_attribute): New function.
+ 	(ix86_ms_bitfield_layout_p): Update to take new attributes
+ 	into account.
+ 	* doc/extend.texi: Document new attributes.
+ 	* testsuite/gcc.dg/bf-ms-attrib.c: New test.
+ 
+ 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR optimization/8750
+ 	* config/i386/i386.c (ix86_expand_prologue): Don't allow
+ 	scheduling pass to move insns across __alloca call.
+ 
+ 2003-01-08  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.md:  Replace *store_multiple_string
+ 	with *stmsi[3-8].
+ 
+ 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
+ 
+ 	PR target/9210
+ 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
+ 	Set SYMBOL_REF_FLAG on local data sym_ref.
+ 
+ 2003-01-08  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* function.c (assign_parms):  Don't set pretend_args_size if
+ 	  REG_PARM_STACK_SPACE.
+ 	  config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
+ 	  pretend_args_size.
+ 
+ 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* gcc.hlp: Delete.
+ 
+ 2003-01-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c  (ix86_expand_int_addcc): Fix thinko.
+ 
+ 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
+ 	* config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
+ 	as hook_bool_tree_hwi_hwi_tree_true.
+ 	(rs6000_emit_allocate_stack): Use TARGET_32BIT.
+ 	(rs6000_emit_epilogue): Same.
+ 	(rs6000_output_mi_thunk): Re-implement as RTL.
+ 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
+ 	xcoffout_declare_function if any debugging enabled.
+ 
+ 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
+ 	targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
+ 	* config/mips/mips.h (enum processor_type): Rename
+ 	PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
+ 	PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
+ 	Add PROCESSOR_M4K.
+ 	(TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
+ 	(ISA_MIPS32R2): New define.
+ 	(GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
+ 	(ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
+ 	(ISA_HAS_PREFETCH): Add support for MIPS32R2.
+ 	(MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
+ 	(TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
+ 	predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
+ 	(ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
+ 	compiling MIPS16 code.
+ 	(ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
+ 	comment.
+ 	(ISA_HAS_SEB_SEH): New define.
+ 	(ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
+ 	* config/mips/mips.c (mips_cpu_info_table): Adjust for enum
+ 	processor_type value renaming.  Add support for MIPS32R2.
+ 	Clean up comments, and move "sb1" entry with other MIPS64 CPU
+ 	entries.
+ 	(override_options): Reimplement -mipsN option handling so that
+ 	it will work correctly for -mips32r2.  Avoid branch-likely
+ 	instructions on MIPS32R2.
+ 	* config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
+ 	(extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
+ 	(extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
+ 	(extendhisi2_hw, extendqisi2_hw): New.
+ 	* config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
+ 	for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
+ 	MIPS32R2, and MIPS64.
+ 	(LINK_SPEC): Pass -mips32r2 to linker.
+ 	* config/mips/t-isa3264: Built -mips32r2 multilibs.
+ 	* doc/invoke.texi (MIPS Options): Add -mips32r2, add support
+ 	for mips32r2 in the -march description.  Alphabetically sort
+ 	CPU names in the -march description.  Add long-missed -mips32
+ 	and -mips64 to MIPS option summary.
+ 
+ 	* config.gcc: Update copyright years to include 2003.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/mips/netbsd.h: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2003-01-08  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
+ 	variable.
+ 	* configure: Regenerated.
+ 
+ 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Replace byte/word
+ 	extraction of det with b0, b1, w0, w2, etc.
+ 	(compute_logical_op_length): Likewise.
+ 	(compute_logical_op_cc): Likewise.
+ 
+ 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
+ 	HIGH on all variants.
+ 
+ 2003-01-08  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (PARTITION_H): New.
+ 	(BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
+ 	* basic-block.h: Include hard-reg-set.h.
+ 
+ 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (ENABLE_XF_PATTERNS): Delete.
+ 	* arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
+ 	(sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
+ 	(extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
+ 	(cmpxf_trap): Delete.
+ 	(movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
+ 
+ 2003-01-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
+ 	(addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
+ 	(add??cc): New expanders.
+ 	* i386.c (expand_int_addcc): New function.
+ 	* i386-protos.h (expand_int_addcc): Declare.
+ 
+ 	* alias.c (memory_modified_1): New static function.
+ 	(memory_modified): New static varaible.
+ 	(memory_modified_in_insn_p): New global function.
+ 	* rtl.h (memory_modified_in_insn_p): Declare.
+ 	* rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
+ 	references.
+ 
+ 	* expr.h (emit_conditional_add): Declare.
+ 
+ 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	PR other/8947
+ 	* doc/invoke.texi (-malign-double): Explain that the option breaks
+ 	binary compatibility.
+ 
+ 2003-01-08  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
+ 	should come from the generic *-*-linux* entry.
+ 
+ 2003-01-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (cselib_current_insn_in_libcall): New static variable.
+ 	(new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
+ 	we are inside libcall.
+ 	* cselib.h (elt_loc_list): Add in_libcall.
+ 	* gcse.c (do_local_cprop): Do not copy propagate using insns
+ 	in libcalls.
+ 
+ 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
+ 	not normally affect to issue rate.
+ 
+ 2003-01-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genopinit.c (optabs): Add addc_optab.
+ 	* ifcvt.c (noce_try_store_flag): Rename to ...
+ 	(noce_try_addcc): ... this one; handle generic conditional increment.
+ 	(noce_process_if_block): Update noce_try_addcc call.
+ 	* optabs.c (emit_conditional_add): New.
+ 	(init_obtabs): Initialize addc_optab.
+ 	* optabs.h (optab_index): Add OTI_addcc.
+ 	(addcc_optab): New macro.
+ 	* md.texi: Document addMcc
+ 
+ 	PR target/8322
+ 	* i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
+ 	* xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
+ 	* xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
+ 
+ 	* reload1.c (delete_output_reload): Avoid repeated attempts
+ 	to delete insn.
+ 
+ 2003-01-07  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
+ 	Move --enable-initfini-array check ...
+ 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
+ 	HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
+ 	Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
+ 	* configure: Rebuild.
+ 
+ 2003-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (find_base_value): Only use new_reg_base_value shortcut
+ 	if the register is set once.
+ 
+ 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
+ 
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins):
+ 	__builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
+ 	* config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
+ 
+ 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
+ 	    Sunil Davasam  <sunil.k.davasam@intel.com>
+ 
+ 	PR libstdc++/9076
+ 	* unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
+ 	DW_CFA_same_value, read next and ignore.
+ 
+ 2003-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
+ 
+ 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfg.c: Include alloc-pool.h
+ 	(edge_pool): New pool.
+ 	(bb_pool): New pool.
+ 	(first_deleted_edge): Remove.
+ 	(first_deleted_block): Remove.
+ 	(init_flow): Alloc/free the pools.
+ 	(free_edge): Use pools.
+ 	(alloc_block): Ditto.
+ 	(expunge_block): Ditto.
+ 	(cached_make_edge): Ditto.
+ 
+ 	* Makefile.in (cfg.o): Add alloc-pool.h dependency.
+ 
+ 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* et-forest.c: Include alloc-pool.h.
+ 	(struct et_forest): Add node_pool and occur_pool.
+ 	(et_forest_create): Create the new pools.
+ 	(et_forest_delete): Delete them.
+ 	(et_forest_add_node): Allocate and free using pools.
+ 	(et_forest_add_edge): Ditto.
+ 	(et_forest_remove_node): Ditto.
+ 	(et_forest_remove_edge): Ditto.
+ 
+ 	* Makefile.in (et-forest.o): Add alloc-pool.h dependency.
+ 
+ 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Simplify and
+ 	optimize the handling of SImode.
+ 	* config/h8300/h8300.c (compute_logical_op_length): Update
+ 	accordingly.
+ 	* config/h8300/h8300.c (compute_logical_op_cc): Likewise.
+ 
+ 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): In the EABI code, apply the
+ 	big-endian correction to indirect arguments too.
+ 
+ 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
+ 	(alt_reg_names): Ditto, fix formatting.
+ 	* config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
+ 
+ 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (final_prescan_insn): Constify uid.
+ 	(output_logical_op): Constify intval and det.
+ 	(compute_logical_length): Likewise.
+ 	(compute_logical_cc): Likewise.
+ 	(output_a_shift): Constify mask.
+ 	(h8300_encode_label): Constify len.
+ 
+ 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
+ 	(h8300_expand_epilogue): Likewise.
+ 
+ 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	Segher Boessenkool  <segher@koffie.nl>
+ 
+ 	* config/rs6000/altivec.md: Remove spaces from assembler
+ 	instruction argument lists.
+ 
+ 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_naked_function_p): Rename from
+ 	c4x_assembler_function_p.
+ 	(c4x_null_epilogue_p): Complement return value, all uses updated.
+ 	(c4x_insert_attributes): Add naked.
+ 	* config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
+ 	* doc/extend.texi: Update C4x function attributes.
+ 
+ 2003-01-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
+ 	properly when changing "local-ness".
+ 	* config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
+ 
+ 2003-01-06  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin-protos.h:  Add prototypes for new section functions.
+ 
+ 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
+ 	to EABI.
+ 
+ 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* hwint.h: If the current compiler has no 64-bit type at all,
+ 	make HOST_WIDEST_INT 32 bits.
+ 
+ 2003-01-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md (movdf_internal2): Fix constraints.
+ 
+ 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*twoshifts_l16_r1): New.
+ 
+ 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (leadi): Use dla rather than la.
+ 
+ 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
+ 
+ 	* config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
+ 	in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
+ 
+ 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
+ 
+ 	* config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
+ 	redefinition.
+ 
+ 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*extzv_8_23): New.
+ 
+ 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+ 
+ 	* pa64-hpux.h (JCR_SECTION_NAME): Define.
+ 	(PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
+ 	USE_EH_FRAME_REGISTRY when defining.
+ 
+ 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_a_shift): Do not output a
+ 	variable shift.
+ 	* config/h8300/h8300.md (two splitters): New.
+ 
+ 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Disable the movstrsi define_split.
+ 
+ 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* alloc-pool.c: Don't include "libiberty.h".
+ 	* config/sparc/gmon-sol2.c: Include <fcntl.h>.
+ 	* convert.c (convert_to_real): Hide unused variable.
+ 
+ 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (gtyp-gen.h): Const-ify.
+ 	* gcov-dump.c (tag_table): Likewise.
+ 
+ 2003-01-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
+ 	of *both* the file name and the fix name.
+ 
+ 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
+ 	collect2.
+ 	* pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
+ 	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
+ 	* pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
+ 	GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
+ 	GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
+ 	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
+ 	elfos.h.
+ 	(EH_FRAME_IN_DATA_SECTION): Delete define.
+ 	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
+ 	(STARTFILE_SPEC): Use crtbegin.o.
+ 	(ENDFILE_SPEC): Use crtend.o.
+ 	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
+ 	SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
+ 	PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
+ 	DTOR_LIST_BEGIN): Define.
+ 	* pa.c (TARGET_ASM_CONSTRUCTOR): Define.
+ 	(pa_asm_out_constructor, pa_asm_out_destructor): New functions.
+ 	* som.h (SUPPORTS_INIT_PRIORITY): Delete define.
+ 
+ 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
+ 
+ 	* fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
+ 	* fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
+ 	m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
+ 	Cleanup handling of replacement text.
+ 	* fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
+ 
+ 2003-01-04  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/tests/base/math.h: removed obsolete results
+ 	* fixinc/tests/base/stdlib.h: ditto
+ 	* fixinc/tests/base/sys/param.h: ditto
+ 	* fixinc/tests/base/sys/stat.h: ditto
+ 	* fixinc/tests/base/time.h: ditto
+ 	* fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
+ 	* fixinc/tests/base/sys/byteorder.h: ditto
+ 	* fixinc/inclhack.def: Remove superfluous backslashes
+ 
+ 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add prototypes for
+ 	the new functions defined below.
+ 	* config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
+ 	define.
+ 	(dosize): Emit RTL instead of assembly code.
+ 	(push): Likewise.
+ 	(pop): Likewise.
+ 	(h8300_output_function_prologue): Remove.
+ 	(h8300_expand_prologue): New.
+ 	(h8300_expand_epilogue): New.
+ 	(h8300_output_function_epilogue): Do only the reset of
+ 	pragma_saveall.
+ 	* config/h8300/h8300.md (push_h8300): New.
+ 	(push_h8300hs): Likewise.
+ 	(pop_h8300): Likewise.
+ 	(pop_h8300hs): Likewise.
+ 	(*stm_h8300s_2): Change the name to stm_h8300s_2.
+ 	(*stm_h8300s_3): Change the name to stm_h8300s_3.
+ 	(*stm_h8300s_4): Change the name to stm_h8300s_4.
+ 	(*ldm_h8300s_2): New.
+ 	(*ldm_h8300s_3): Likewise.
+ 	(*ldm_h8300s_4): Likewise.
+ 	(return): Likewise.
+ 	(*return_1): Likewise.
+ 	(prologue): Likewise.
+ 	(epilogue): Likewise.
+ 	(monitor_prologue): Likewise.
+ 
+ 2003-01-03  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
+ 	  machopic_picsymbol_stub1.
+ 	  (EXTRA_SECTION_FUNCTIONS):  Ditto.
+ 	* rs6000/rs6000.c:  Update copyright.
+ 	  (machopic_output_stub):  Use them.  Remove an insn from stub code.
+ 
+ 2003-01-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
+ 
+ 	* integrate.c (copy_decl_for_inlining): Don't clear the rtl for
+ 	static/external decls.
+ 
+ 	* c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
+ 	outermost scope.
+ 	* c-decl.c (c_make_fname_decl): Push the decls there, too.
+ 
+ 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_current_function_interrupt_function_p.
+ 	* config/h8300/h8300.c (interrupt_handler): Remove.
+ 	(os_task): Likewise.
+ 	(monitor): Likewise.
+ 	(pragma_interrupt): New.
+ 	(WORD_REG_USED): Use
+ 	h8300_current_function_interrupt_function_p.
+ 	(dosize): Likewise.
+ 	(h8300_output_function_prologue): Likewise.
+ 	Do not set interrupt_handler, os_task, monitor.
+ 	(h8300_output_function_prologue): Use
+ 	h8300_current_function_interrupt_function_p.
+ 	Do not set interrupt_handler, os_task, monitor.
+ 	(h8300_current_function_interrupt_function_p): New.
+ 	(h8300_pr_interrupt): Set pragma_interrupt.
+ 	(h8300_insert_attributes): Reset pragma_interrupt.
+ 
+ 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+ 
+ 	* doc/install.texi (Configuration): Fix markup for reference to
+ 	gcc/config.gcc.
+ 
+ 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
+ 	(*iorhi3_two_qi): Likewise.
+ 	(*iorsi3_zexthi): Likewise.
+ 	(*xorhi3_zextqi): Likewise.
+ 	(*xorsi3_zexthi): Likewise.
+ 	(*xorsi3_zextqi): Likewise.
+ 
+ 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (stack_pointer_operand): New.
+ 	(const_int_gt_2_operand): Likewise.
+ 	(const_int_ge_8_operand): Likewise.
+ 	* config/h8300/h8300.md (a splitter): Likewise.
+ 	(a peephole2): Likewise.
+ 	* config/h8300/h8300-protos.h: Add prototypes for the new
+ 	functions above.
+ 
+ 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
+ 
+ 	* objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
+ 	objc/objc-act.h: Fix copyright years.
+ 
+ 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+ 
+ 	* doc/passes.texi: Fix documentation for -fssa-ccp
+ 
+ 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* gccbug.in: Update for new categories.
+ 
+ 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Reorder some patterns.
+ 
+ 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (output_logical_op): Fix a warning.
+ 
+ 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/darwin-protos.h, config/c4x/c4x-protos.h,
+ 	config/cris/cris-protos.h, config/i370/i370-protos.h,
+ 	config/i960/i960-protos.h, config/ia64/ia64-protos.h,
+ 	config/v850/v850-protos.h: Use struct, and don't conditionally
+ 	compile on GCC_C_PRAGMA_H.
+ 
+ 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
+ 	* config/h8300/h8300-protos.h: Likewise.
+ 	* config/sh/sh-protos.h: Likewise.
+ 
+ 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm-protos.h: Use struct cpp_reader instead of
+ 	cpp_reader.
+ 	* config/h8300/h8300-protos.h: Likewise.
+ 	* config/sh/sh-protos.h: Likewise.
+ 
+ 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
+ 	arm_pr_long_calls_off): Use struct.
+ 	* config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
+ 	: Similarly.
+ 	Don't include cpplib.h.
+ 	* config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
+ 	sh_pr_nosave_low_regs): Similarly.
+ 
+ 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Include cpplib.h.
+ 
+ 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
+ 
+ 	* objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
+ 	  objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
+ 	  objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
+ 	  "GCC" in the copyright header.
+ 
+ 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	* c-pragma.c (c_register_pragma): New.
+ 	(init_pragma): Use it.
+ 	* c-pragma.h (cpp_register_pragma): Don't declare.
+ 	(c_register_pragma): New.
+ 	* cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
+ 	* config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
+ 	* doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2004 gcc-4.1.0/gcc/ChangeLog-2004
*** gcc-4.0.2/gcc/ChangeLog-2004	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2004	Fri Mar 18 01:13:39 2005
***************
*** 0 ****
--- 1,47878 ----
+ 2004-12-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/19042
+ 	* tree-sra.c (decide_block_copy): Force use_block_copy false
+ 	for complex values.
+ 
+ 2004-12-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17799
+ 	* function.c (use_register_for_decl): Check DECL_IGNORED_P instead
+ 	of DECL_ARTIFICIAL.
+ 	(assign_parms_augmented_arg_list): Set DECL_IGNORED_P.
+ 	* c-decl.c (build_compound_literal): Likewise.
+ 	* dwarf2asm.c (dw2_force_const_mem): Likewise.
+ 	* gimplify.c (create_artificial_label): Likewise.
+ 	* tree-inline.c (expand_call_inline): Likewise.
+ 	* var-tracking.c (vt_initialize): Likewise.
+ 	* tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P.
+ 
+ 2004-12-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/19211
+ 	* config/darwin.c (machopic_legitimize_pic_address): If the orig
+ 	is subregister return orig.
+ 
+ 2004-12-31  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-scalar-evolution.c (instantiate_parameters_1): Copy the
+ 	expression only if needed.
+ 
+ 2004-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-hpux.h (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+ 
+ 2004-12-31  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18701
+ 	* combine.c (combine_simplify_rtx): Do not allow paradoxical
+ 	subregs of MEM.
+ 
+ 	PR target/18701
+ 	* combine.c (gen_lowpart_for_combine): When stripping SUBREG of
+ 	MEM, adjust imode and isize.
+ 
+ 2004-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (hfa_element_mode): Return false for 
+ 	zero-sized top-level aggregates.
+ 
+ 2004-12-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/18019
+ 	* i386.md (movqi_1): Fix -Os instruction choice.
+ 
+ 2004-12-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* global.c (regclass_intersect): Remove.
+ 	(mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead.
+ 
+ 2004-12-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_value): Use PARALLEL for 
+ 	aggregates with XF/XCmode.
+ 
+ 2004-12-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (targetm.calls.arg_partial_bytes): New.
+ 	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
+ 	* calls.c (store_unaligned_arguments_into_pseudos): Update for
+ 	partial in bytes.
+ 	(load_register_parameters): Likewise.
+ 	(store_one_arg): Likewise.
+ 	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
+ 	(emit_library_call_value_1): Likewise.
+ 	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
+ 	(emit_push_insn): Update for partial in bytes.
+ 	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* function.c (assign_parm_find_entry_rtl): Use
+ 	targetm.calls.arg_partial_bytes.  Update for result in bytes.
+ 	(locate_and_pad_parm): Update for partial in bytes.
+ 	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
+ 	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
+ 	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
+ 	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
+ 	FUNCTION_ARG_PARTIAL_NREGS.
+ 
+ 	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
+ 	config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
+ 	config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, 
+ 	config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 
+ 	* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/alpha/alpha.h, config/alpha/unicosmk.h,
+ 	config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 
+ 	* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
+ 	* config/arm/arm.c (arm_arg_partial_bytes): ... here.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 
+ 	* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
+ 	* config/cris/cris.c (cris_arg_partial_bytes): ... here.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 
+ 	* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
+ 	fr30_function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/fr30/fr30-protos.h: Update.
+ 
+ 	* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/frv/frv.c (frv_arg_partial_bytes): Rename from 
+ 	frv_function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/frv/frv-protos.h: Update.
+ 
+ 	* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
+ 	ia64_function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/ia64/ia64-protos.h: Update.
+ 
+ 	* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/iq2000/iq2000-protos.h: Update.
+ 
+ 	* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/m32r/m32r-protos.h: Update.
+ 
+ 	* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
+ 	mcore_function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/mcore/mcore-protos.h: Update.
+ 
+ 	* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/mips/mips.c (mips_arg_partial_bytes): Rename from
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/mips/mips-protos.h: Update.
+ 
+ 	* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from	
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/mn10300/mn10300-protos.h: Update.
+ 
+ 	* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
+ 	* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 
+ 	* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/pa/pa.c (pa_arg_partial_bytes): Rename from 
+ 	function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/pa/pa-protos.h: Update.
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from 
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/rs6000/rs6000-protos.h: Update.
+ 
+ 	* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
+ 	* config/sh/sh.c (sh_arg_partial_bytes): ... here.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 
+ 	* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/sparc/sparc-protos.h: Update.
+ 
+ 	* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
+ 	* config/v850/v850.c (v850_arg_partial_bytes): Rename from
+ 	function_arg_partial_nregs.  Adjust to return bytes.
+ 	(TARGET_ARG_PARTIAL_BYTES): New.
+ 	* config/v850/v850-protos.h: Update.
+ 
+ 2004-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
+ 	* config/mmix/mmix.c (mmix_asm_output_internal_label): New
+ 	function.
+ 	* config/mmix/mmix-protos.h (mmix_asm_output_internal_label):
+ 	Prototype.
+ 
+ 2003-12-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
+ 
+ 2004-12-29  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-outof-ssa.c (insert_backedge_copies): New function.
+ 	(rewrite_out_of_ssa): Use it.
+ 
+ 2004-12-29  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-optimization/18179
+ 	* tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
+ 	and vect_analyze_offset_expr.
+ 	(vect_create_addr_base_for_vector_ref): Build address_base by combining 
+ 	base and initial_offset fields of vect_stmt_info.
+ 	(vect_update_inits_of_dr): Update offset of data-ref instead of its
+ 	access-fn. Remove argument.
+ 	(vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
+ 	arguments.
+ 	(vect_compute_data_ref_alignment): Check misalignment info in 
+ 	vect_stmt_info. Remove argument.
+ 	(vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
+ 	with correct argument.
+ 	(vect_analyze_data_ref_access): Check access info in vect_stmt_info.
+ 	(vect_analyze_pointer_ref_access): Update step and initial_offset fields
+ 	of vect_stmt_info.
+ 	(vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the 
+ 	fields of stmt_vec_info.
+ 	(vect_analyze_data_refs): Find vectype and pass it to 
+ 	vect_get_memtag_and_dr.
+ 	(vect_get_first_index): Remove.
+ 	(vect_compute_array_base_alignment): Remove.
+ 	(vect_compute_array_ref_alignment): Remove
+ 	(vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
+ 	(vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead 
+ 	host_integerp.
+ 	(vectorizable_load): Use size arithmetics.
+ 
+ 2004-12-29  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-optimization/18179
+ 	* tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name
+ 	vect_get_base_and_bit_offset).
+ 	(vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr).
+ 
+ 2004-12-29  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-optimization/18179
+ 	* tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
+ 	initial_offset, step, misalignment and base_aligned_p and macros
+ 	to access them.
+ 	* tree-vectorizer.c (vect_analyze_offset_expr): New function.
+ 	(new_stmt_vec_info): Initialize the new fields of stmt_vec_info.
+ 
+ 	(vect_create_data_ref_ptr): Fix printings.
+ 
+ 2004-12-29  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-optimization/18179
+ 	* tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag 
+ 	retrieval.
+ 	(vect_analyze_data_refs): Remove memtag retrieval.
+ 
+ 2004-12-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR inline-asm/15740
+ 	* gimplify.c (gimplify_asm_expr): Move resolve asm names ...
+ 	* c-typeck.c (build_asm_expr): ... here.  Validate input
+ 	constraints.  Mark memory inputs addressable.
+ 
+ 2004-12-28  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18321
+ 	* config/mmix/mmix.c (mmix_expand_epilogue): Change type of
+ 	variable offset to HOST_WIDE_INT.  Remove obsolete comment.  Fix
+ 	spacing.
+ 
+ 2004-12-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
+ 	we only need a cleanup point expression when the expression on the
+ 	left hand side of the MODIFIY_EXPR inside the return has side
+ 	effects.
+ 
+ 2004-12-28  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_mark_relevant) First argument changed from
+ 	varray_type to varray_type*.
+ 	(vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
+ 	when calling vect_mark_relevant.
+ 
+ 2004-12-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+ 	generate non-offsettable DImode lo_sum addresses.
+ 
+ 2004-12-28  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/19103
+ 	* loop-iv.c (iv_number_of_iterations): Fix typo.
+ 
+ 2004-12-28  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* genrecog.c (compute_predicate_codes): Avoid warning.
+ 
+ 2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
+ 	(vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
+ 
+ 2004-12-27  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (thread_across_edge): Remove broken code to
+ 	avoid threading into a loop.
+ 
+ 2004-12-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/17406
+ 	* config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
+ 	note for allocate_stack_worker insn.
+ 
+ 2004-12-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	* doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
+ 	* target.h (struct gcc_target): Add relaxed_ordering field.
+ 	* target-def.h (TARGET_RELAXED_ORDERING): Define default.
+ 	(TARGET_INITIALIZER): Add it.
+ 	* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
+ 	* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
+ 	* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
+ 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
+ 
+ 2004-12-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR driver/16118
+ 	* doc/invoke.texi: Document the interaction between -save-temps
+ 	and -x.
+ 
+ 2004-12-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
+ 	Do not break apart constant pool addresses.
+ 	(rs6000_emit_move): Only force source into REG if target is MEM.
+ 
+ 2004-12-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/19148
+ 	* gimplify.c (gimplify_cond_expr): Add post_p parameter.
+ 	(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
+ 	(gimplify_expr): Likewise.
+ 
+ 2004-12-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
+ 
+ 2004-12-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
+ 	of type_natural_mode to examine_argument.
+ 
+ 	* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
+ 	(movv2sf_internal_rex64): New.
+ 	(mov<MMXMODEI>_internal): Use no register preferences at all.
+ 	(movv2sf_internal): Likewise.
+ 
+ 2004-12-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation_1): Don't simplify
+ 	plus/minus across EQ for floating-point.
+ 
+ 2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/17643
+ 	* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
+ 	generating code for the portable runtime.
+ 
+ 2004-12-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (clear_storage): Validate CONST0_RTX extant.  Special case
+ 	complex modes.
+ 
+ 2004-12-25  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/19078
+ 	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic,
+ 	determine_use_iv_cost_outer): Fix computing of cost for the original
+ 	bivs.
+ 	(dump_use): Handle case related_cands == NULL.
+ 
+ 2004-12-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	PR target/19059
+ 	* config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4
+ 	to avr2.
+ 	* config/avr/avr.h (LINK_SPEC): Ditto.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
+ 
+ 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19137
+ 	* config/rs6000/rs6000.md (movti_power, movti_string): Relax
+ 	operand[1] predicate to input_operand, and add r<-n alternative.
+ 	Move TImode const_double_operand splitter to where it belongs.
+ 
+ 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19147
+ 	* config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
+ 
+ 2004-12-24  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*fix_trunc{d,s,h}i_1):
+ 	Rename to *fix_trunc{d,s,h}i_i387.
+ 	(fix_trunc{d,s}fdi2): Reorder tests.
+ 
+ 2004-12-24  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR debug/14638
+ 
+ 	* tree.h (DECL_DEBUG_ALIAS_OF): New macro.
+ 	* var-tracking.c (track_expr_p): Don't disqualify tracking of variables
+ 	that are aliases of variables we want to track, unless the
+ 	original variable is also ignored for debugging purposes.
+ 	(VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic.
+ 	* tree-outof-ssa.c (create_temp): Note who we are a debug alias of.
+ 	* dwarf2out.c (dwarf2out_var_location): Add us to the location of
+ 	the decl we are an alias of.
+ 
+ 2004-12-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19142
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
+ 	DFmode for 32-bit again.
+ 
+ 2004-12-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reload.c (regno_clobbered_p): Add a gcc_assert that regno
+ 	refers to a hard register.
+ 
+ 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
+ 
+ 2004-12-23  DJ Delorie  <dj@redhat.com>
+ 
+ 	* genrecog.c (did_you_mean_codes): New.
+ 	(compute_predicate_codes): Fail unmatched codes.
+ 
+ 2004-12-23  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add
+ 	assert for machine=mips for !TARGET_IRIX.
+ 	* config/mips/linux.h: Remove machine=mips assert.
+ 	* config/mips/netbsd.h: Ditto.
+ 	* config/mips/openbsd.h: Ditto.
+ 
+ 2004-12-23  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree.c (iterative_hash_expr):  Canonicalize builtins.
+ 
+ 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR target/16819
+ 	* calls.c (load_register_parameters): Don't call use_regs when
+ 	nregs is zero.
+ 
+ 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/17746
+ 	* expr.c (get_inner_reference): Add 'keep_aligning' parameter.
+ 	Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
+ 	platforms only if keep_aligning is true.
+ 	(expand_assignment): Adjust call to get_inner_reference.
+ 	(expand_expr_addr_expr_1): Likewise.
+ 	(expand_expr_real_1): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
+ 	* fold-const.c (optimize_bit_field_compare): Likewise.
+ 	(decode_field_reference): Likewise.
+ 	(split_address_to_core_and_offset): Likewise.
+ 	* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
+ 	* tree.h (get_inner_reference): Adjust prototype.
+ 
+ 2004-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Revert last change
+ 	wrt fancy 387 math.
+ 
+ 2004-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
+ 	ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
+ 	vector operate patterns.
+ 
+ 2004-12-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_vector_move): Tidy.
+ 	(ix86_expand_vector_move_misalign): New.
+ 	(ix86_misaligned_mem_ok): Remove.
+ 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (SSEMODEI): Rename from SSEINT16.
+ 	(MMXMODEI): Rename from MMXINT8.
+ 	(SSEMODE, MMXMODE, movmisalign<mode>): New.
+ 
+ 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/16405
+ 	* gimplify.c (gimplify_modify_expr_rhs): Handle
+ 	INDIRECT_REF/ADDR_EXPR combinations.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov): Split out ...
+ 	(alpha_expand_movmisalign): ... misaligned vector support.
+ 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md (VEC): New macro.
+ 	(movv8qi, movv4hi, movv2si): Compress with VEC.
+ 	(movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise.
+ 	(movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise.
+ 	(movmisalign<mode>): New.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.h (OTI_movmisalign, movmisalign_optab): New.
+ 	* optabs.c (init_optabs): Create it.
+ 	* genopinit.c (optabs): Initialize it.
+ 	* expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it.
+ 	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
+ 	* target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ 	* target.h (vectorize.misaligned_mem_ok): Remove.
+ 	* targhooks.c (default_vect_misaligned_mem_ok): Remove.
+ 	* doc/md.texi (movmisalign): New.
+ 	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg
+ 	to __v2si.
+ 	(_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise.
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or
+ 	const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
+ 	__builtin_ia32_storehpd, __builtin_ia32_storelpd.
+ 	(ix86_expand_builtin): Update to match.
+ 	(ix86_expand_vector_init): Use sse2_loadlpd.
+ 	* config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd.
+ 	(vec_extractv2df): Use sse2_storelpd, sse2_storehpd.
+ 	(sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New.
+ 	(sse2_movhpd): Remove.
+ 
+ 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/18751
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return
+ 	false for anything larger than 32 bits in 32-bit code.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (btsq, btrq, btcq): Fix modes.
+ 	(bt peepholes): Likewise.
+ 
+ 	* varasm.c (force_const_mem): Call set_mem_align.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/predicates.md (sse_comparison_operator): Fix
+ 	typo in ieee test.
+ 	(arith_or_logical_operator): Downcase codes.
+ 
+ 2004-12-23  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/18511
+ 	* reload1.c (emit_output_reload_insns): Check if OLD is a hard
+ 	register before calling regno_clobbered_p.
+ 	* reload.c: Update comment for regno_clobbered_p.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Respect user disable of
+ 	fancy 387 math, sse, mmx.
+ 	(construct_container): Generate error if we need an sse regster
+ 	and sse has been disabled.
+ 	* config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
+ 	later sse generations.  Disabling mmx also disables 3dnow.
+ 
+ 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-inline.c (struct inline_data): Remove inlined_fns.
+ 	(expand_call_inline): Remove dead code setting
+ 	inlined_fns.
+ 	(optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
+ 	* tree.h (struct tree_decl): Remove inlined_fns.
+ 
+ 2004-12-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
+ 
+ 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/18896
+ 	* function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P
+ 	for real and imaginary parts if the parm is addressable.
+ 	(assign_parms_unsplit_complex): If parm addressable, save real
+ 	and imaginary parts to a stack temp.  Pass assign_parm_data_all.
+ 	(assign_parms): Adjust assign_parms_unsplit_complex call.
+ 
+ 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree.h (DECL_PTA_ALIASVAR): Dead.
+ 	(struct tree_decl): Remove alias_var field.
+ 
+ 2004-12-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
+ 	* tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 	    Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (truncdfsf2): Don't create stack temp when
+ 	using sse math only.  Use truncdfsf2_with_temp.
+ 	(truncdfsf2_with_temp): New.
+ 	(truncdfsf_fast_i387): Rename from truncdfsf2_noop.  Add memory
+ 	output alternative.
+ 	(truncdfsf_mixed): Rename from truncdfsf2_1_sse.  Compress duplicate
+ 	alternatives.
+ 	(truncdfsf_fast_sse): Rename from truncdfsf2_2.  Remove f alternative.
+ 	(truncdfsf2_3, truncdfsf2_sse_only): Remove.
+ 	(truncdfsf_i387): Rename from truncdfsf2_1.  Compress duplicates.
+ 	(truncdfsf_fast_mixed): New.
+ 	(truncdfsf splitters): Remove all except the 387 load/store split.
+ 	(truncxfsf2_1, truncxfdf2_1): Unify enable constraint with
+ 	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and
+ 	TARGET_MIX_SSE_I387.
+ 	(*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed.
+ 	(truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop.
+ 	(*truncxf{s,d}f2_i387): New patterns.
+ 	(*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1.
+ 	(truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2,
+ 	rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2,
+ 	nearbyint{s,d}f2): Use renamed patterns.
+ 
+ 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (TYPE_SIZES_GIMPLIFIED): New.
+ 	* function.c (gimplify_parm_type): Don't gimplify type if already done.
+ 	* gimplify.c (gimplify_decl_expr): Likewise.
+ 	(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED.  Examine nested
+ 	array types.
+ 
+ 2004-12-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (eval_save_expr): Remove.
+ 	(gimplify_one_sizepos): Unshare expr before gimplifying.
+ 	* stor-layout.c (variable_size): Revert 2004-12-19 change.
+ 	(layout_decl): Revert 2004-12-18 change.
+ 	(layout_type): Revert 2004-12-21 change.
+ 
+ 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
+ 
+ 2004-12-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (install-common): Remove special-case code for when
+ 	SPECS is defined.
+ 
+ 2004-12-22  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config.gcc: Add dbxelf.h to NetWare's tm_file.
+ 	* config/i386/netware-crt0.c: Prototype __init_environment and
+ 	__deinit_environment prior to their definition.
+ 	(__init_environment): Correct invokation of constructor function.
+ 	* config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
+ 	builtin_define_std rather than builtin_define on IAPX386.
+ 	* config/i386/nwld.h: Disable stabs debugging info with the linker
+ 	this file supports.
+ 	* config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
+ 	the output. Add -posix to the options as that is the more compatible
+ 	mode.
+ 	* gthr-nks.h: Formatting.
+ 	(__gthread_mutex_init_function): Kill the dubious use of
+ 	NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
+ 	were not meant to be recursive.
+ 	(__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
+ 	__gthread_recursive_mutex_init_function,
+ 	__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
+ 	__gthread_recursive_mutex_unlock): New.
+ 
+ 2004-12-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mips/t-linux64: Remove code that messed with $(SPECS).
+ 	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move
+ 	n32 to the front.
+ 	(MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
+ 	Removed.
+ 	* config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle
+ 	-mabi-fake-default.
+ 	(SUBTARGET_TARGET_SWITCHES): Likewise.
+ 
+ 2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c++/18984
+ 	* pointer-set.c (pointer_set_contains): Add back.
+ 	* pointer-set.h (pointer_set_contains): Add back.
+ 
+ 2004-12-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (eval_save_expr): New.
+ 	(gimplify_one_sizepos): Use it.
+ 	* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
+ 
+ 2004-12-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* system.c (IN_RANGE): Use plain unsigned, not unsigned
+ 	HOST_WIDE_INT.
+ 	* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
+ 	VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
+ 	POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
+ 	FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
+ 	QUAL_UNION_TYPE): Reorder for better code efficiency.
+ 	(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
+ 	(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
+ 	* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
+ 	(IS_EXPR_CODE_CLASS): Use IN_RANGE.
+ 	(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
+ 	optimization.
+ 
+ 2004-12-21  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd-spec.h:  Use KSE pthread lib for -pthread.
+ 
+ 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR c/18963
+ 	* c-decl.c (pushdecl): Remove block trying to merge static function
+ 	declarations at block scope to file scope declarations.
+ 
+ 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR c/18596
+ 	* c-parse.in (initdcl): Don't process a declaration if start_decl fails.
+ 	(notype_initdcl):  Don't process a declaration if start_decl fails.
+ 	* c-decl.c (start_decl): Fail if grokdeclarator fails.
+ 	(grokdeclarator): Fail if a function definition has an invalid storage
+ 	class.
+ 	* c-typeck.c (start_init): Treat error_mark_node the same as 0.
+ 
+ 2004-12-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_sse_split_regs): Rename from
+ 	x86_sse_partial_regs.
+ 	* config/i386/i386.h (x86_sse_split_regs): Likewise.
+ 	(TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS.
+ 	* config/i386/i386.md (*): Update to match.  Remove two
+ 	floatsisf splitters that use it.
+ 
+ 	* config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove.
+ 
+ 	* config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
+ 	* config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove.
+ 	* config/i386/i386.md (truncdfsf2_1_sse): Don't test it.
+ 	(truncdfsf2_2, truncdfsf2_sse_only): Likewise.
+ 	(truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove.
+ 	(truncdfsf2_sse_only_nooverlap): Remove.
+ 
+ 	* config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.
+ 
+ 2004-12-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* expr.c (emit_group_load_1): Return the source if the move
+ 	is a regular move between complex values.
+ 
+ 2004-12-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18683
+ 	* config/rs6000/rs6000.c (current_file_function_operand): Only check
+ 	current_function_decl's DECL_RTL if it has already been set.
+ 
+ 2004-12-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18683
+ 	* function.c (pop_function_context_from): Don't reset reg_renumber.
+ 
+ 2004-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/18776
+ 	* expr.c (write_complex_part): Use a subreg if the original object
+ 	is a hard reg that spans an even number of regs or a MEM.
+ 	(read_complex_part): Likewise.
+ 
+ 2004-12-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (install-common): Do not install the specs file
+ 	unless SPECS is defined.
+ 
+ 2004-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/18942
+ 	* simplify-rtx.c (simplify_relational_operation_1): Simplify
+ 	x + cst1 == cst2 to x == cst2 - cst1.  Made static.
+ 
+ 2004-12-20  Matt Austern  <austern@apple.com>
+ 
+ 	PR c++/19044
+ 	* c-common.c (set_builtin_user_assembler_name): New.
+ 	* c-common.h (set_builtin_user_assembler_name): Declare.
+ 	* c-decl.c (finish_decl): Use set_builtin_user_assembler_name
+ 
+ 2004-12-20  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19080
+ 
+ 	Merge from tree-cleanup-branch
+ 
+ 	* tree-flow-inline.h (clear_call_clobbered): New function.
+ 	* tree-ssa-alias.c (init_alias_info): Call it.
+ 
+ 2004-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok
+ 	check.
+ 
+ 2004-12-20  Steven Bosscher  <stevenb@suse.de>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/18191
+ 	PR middle-end/18965
+ 	PR middle-end/18999
+ 	* expr.c (categorize_ctor_elements_1): Count the total number
+ 	of elements in the constructor.
+ 	(categorize_ctor_elements): Return it in a new argument.
+ 	* tree.h (categorize_ctor_elements): Adjust prototype.
+ 	* gimplify.c (gimplify_init_ctor_eval_range): New.
+ 	(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
+ 	(gimplify_init_constructor): Block clear the object if the
+ 	constructor has fewer elements than the object type.  Only try
+ 	to add assignments to individual elements when we have to.
+ 
+ 2004-12-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+ 	long_long_integer_type_node in building V2DI_type_node.
+ 
+ 	* config/i386/emmintrin.h: Use __vector_size__ instead of vector_size.
+ 	* config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise.
+ 
+ 2004-12-20  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/md.texi (Expander Definitions): Use @emph instead of @strong
+ 	around Note: text to workaround a limitation of the Info format.
+ 	* doc/cpp.texi (Invocation): Likewise.
+ 	* doc/cppopts.texi: Likewise.
+ 
+ 2004-12-19  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p):  Don't
+ 	reference operand 1 of ADDR_EXPRs.
+ 
+ 2004-12-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
+ 	* output.h (assemble_name_raw): Declare it.
+ 	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it.
+ 	* varasm.c (assemble_name_raw): New function.
+ 	(assemble_name): Use it.
+ 	(default_internal_label): Likewise.
+ 	* config/darwin.c (darwin_asm_output_dwarf_delta): Likewise.
+ 	* doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document.
+ 
+ 2004-12-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 18067
+ 	* stor-layout.c (variable_size): Force creation of a SAVE_EXPR.
+ 
+ 2003-12-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/i386.c (ix86_split_to_parts): Use an array with
+ 	four elements for decoding a CONST_DOUBLE on 64 bits targets.
+ 
+ 2004-12-19  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant
+ 	definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS.
+ 
+ 2004-12-18  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (can_convert_to_perfect_nest): Make checking
+ 	match up with what perfect_nestify can actually handle.
+ 	(perfect_nestify): Don't return false in the phi node loop.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (SSEINT16): New.
+ 	(movv16qi, movv8hi, movv4si, movv2di): Compress via macros.
+ 	(movv16qi_internal, movv8hi_internal, movv4si_internal,
+ 	movv2di_internal): Compress via macros.  Add SSE zero alternative.
+ 	Fix pure SSE alternatives to use 'x' instead of 'Y'.
+ 	(MMXINT8): New.
+ 	(movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal,
+ 	movv2si_internal): Compress via macros.
+ 	(SSEPUSH, MMXPUSH): New.
+ 	(pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df,
+ 	pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/16417
+ 	* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
+ 	comment.
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
+ 	checks.
+ 	* c-tree.h (struct lang_decl): Remove pending_sizes.
+ 	* function.c: Include tree-gimple.h
+ 	(assign_parm_setup_reg): Remove callee-copies code.
+ 	(gimplify_parm_type, gimplify_parameters): New functions.
+ 	(expand_pending_sizes): Remove.
+ 	(expand_function_start): Don't call it.
+ 	* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
+ 	(gimplify_body): Add do_parms argument.  Use gimplify_parameters.
+ 	(gimplify_function_tree): Setup cfun.  Update gimplify_body call.
+ 	* tree-gimple.h (gimplify_body): Update decl.
+ 	* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
+ 	call.
+ 	* tree.h (gimplify_parameters): Declare.
+ 	* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (finish_struct): Add DECL_EXPR for variable sized
+ 	structures seen inside functions.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Save variable array size before
+ 	subtracting 1, rather than after.
+ 
+ 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/15486
+ 	* varasm.c (asm_emit_uninitialised): Return early if
+ 	a custom section is requested.
+ 	(assemble_variable): Revert 2002-03-15 patch.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr.
+ 
+ 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18800
+ 	* params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
+ 	* tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
+ 	(ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
+ 	(iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
+ 	(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
+ 	New functions.
+ 	(iv_ca_extend): Return number of candidates in the set.
+ 	(try_add_cand_for): Add argument to iv_ca_extend calls.
+ 	(try_improve_iv_set): Use iv_ca_prune.
+ 	* doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
+ 
+ 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/19001
+ 	* loop-iv.c (iv_number_of_iterations): Record assumptions for loops
+ 	with power of two step to 'infinite' field.
+ 
+ 2004-12-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
+ 	(tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h.
+ 	(tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h.
+ 	(tree-mudflap.o): Depend upon gt-tree-mudflap.h.
+ 	(expr.o): Depend upon gt-expr.h.
+ 	(regclass.o): Depend upon gt-regclass.h.
+ 	(bitmap.o): Depend upon gt-bitmap.h.
+ 	(lists.o): Depend upon gt-lists.h.
+ 
+ 	(cfgexpand.o): Don't depend upon gt-tree-cfg.h.
+ 
+ 	(GTFILES): Remove fold-const.c.
+ 	(gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h):
+ 	Remove rules.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (layout_decl): Unshare size expressions copied
+ 	from the type.
+ 
+ 	* fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when
+ 	BOTTOM is a power of two.
+ 
+ 2004-12-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-nested.c (save_tmp_var): New.
+ 	(struct walk_stmt_info): Add is_lhs.
+ 	(walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of
+ 	val_only; set is_lhs.
+ 	(convert_nonlocal_reference): Use save_tmp_var when is_lhs;
+ 	clear is_lhs when appropriate.
+ 	(convert_local_reference): Likewise.
+ 
+ 2004-12-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/ieee754-sf.S (floatdisf): Fix label definition in FPA
+ 	compatibility code.
+ 
+ 2004-12-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
+ 	Take a max_cost argument to avoid scanning large blocks, by returning
+ 	a Boolean instead of a total.  Include the cost of a "fstp %st(0)"
+ 	instruction required to pop dead values off of a register stack.
+ 
+ 2004-12-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18548
+ 	* expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
+ 	and op1 are all registers (or constants) before expanding the RTL
+ 	comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
+ 
+ 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR rtl-optimization/16968
+ 	* loop.c (scan_loop): Stop scanning the loop for movable
+ 	insns as soon as an optimization barrier is encountered.
+ 
+ 2004-12-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 18897
+ 	* toplev.c (compile_file): Call process_pending_assemble_externals
+ 	just before targetm.asm_out.file_end.
+ 
+ 2004-12-17  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	tree-optimization/18501
+ 	* tree-optimize.c (init_tree_optimization_passes): Run
+ 	pass_late_warn_uninitialized before the last DCE run.
+ 
+ 2004-12-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_64_reg_class_name): Re-indent.
+ 	(classify_argument, examine_argument, construct_container,
+ 	merge_classes): Remove prototypes.
+ 	(type_natural_mode): Split out from ...
+ 	(function_arg): ... here.
+ 	(gen_reg_or_parallel): Remove alt_mode argument.  Update callers.
+ 	Use orig_mode unless it's BLKmode.
+ 	(construct_container): Add orig_mode argument.  Update callers.
+ 	Use gen_reg_or_parallel for SSE registers.
+ 	(ix86_function_value): Use type_natural_mode.
+ 	(ix86_gimplify_va_arg): Likewise.
+ 	(ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in
+ 	SSE registers; always accept all MMX, 3DNOW modes in MMX registers.
+ 	* config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
+ 	VALID_MMX_REG_MODE.
+ 	* config/i386/i386.md (attribute mode): Add V1DF.
+ 	(movsi_1): Use 'x' instead of 'Y' constraints.
+ 	(movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise.
+ 	(movdi_1_rex64_nointerunit): Likewise.
+ 	(movdf_nointeger, movdf_integer): Likewise.  Handle SSE1.
+ 	(movsf_1, movsf_1_nointerunit): Line up constraint alternatives.
+ 	(swapsf): Use fp_register_operand, don't disable for TARGET_SSE.
+ 	(swapdf): Likewise.
+ 	(swapxf): Enable only for TARGET_80387.
+ 	(movv2sf, movv2sf_internal, pushv2sf): Enable for MMX.
+ 	(movtf): Remove double-check for TARGET_64BIT.
+ 	(movv2df_internal): Enable for SSE1.
+ 	(movv8hi_internal, movv16qi_internal): Likewise.
+ 	(movv2df, movv8hi, movv16qi): Likewise.
+ 	(pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise.
+ 	(pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal,
+ 	movv8qi_internal, movv4hi_internal, movv2sf_internal,
+ 	movv2df_internal, movv8hi_internal, movv16qi_internal,
+ 	movti_internal): Add leading '*' to name.
+ 
+ 2004-12-17  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* c-decl.c (diagnose_mismatched_decls):  Accept mismatched
+ 	function types: void with previous implicit int.
+ 
+ 2004-12-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
+ 	s390_sr_alias_set.
+ 
+ 2004-12-17  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	PR target/17603
+ 	* config/i386/i386.c (enum x86_64_reg_class): Define
+ 	X86_64_COMPLEX_X87_CLASS.
+ 	(x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
+ 	(merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
+ 	(classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
+ 	(examine_argument): X86_64_COMPLEX_X87_CLASS requires two
+ 	registers when dealing with a return value.
+ 	(construct_container): Handle X86_64_COMPLEX_X87_CLASS.
+ 	Eliminate impossible case of two X87/X87UP pairs (this now is
+ 	being expressed by a single COMPLEX_X87).
+ 	(x86_libcall_value): XCmode gets returned in st0/st1.
+ 
+ 2004-12-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree.c (type_contains_placeholder_1): Always return false
+ 	for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
+ 
+ 2004-12-17  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
+ 	*extendsfdf2_1_sse_only): Unify enable constraint with
+ 	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
+ 	and TARGET_MIX_SSE_I387.
+ 	(*extendsfdf2_i387): New insn pattern.
+ 	(*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
+ 	register constraint for operand 0.
+ 	(*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
+ 	(*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
+ 
+ 2004-12-16  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/19041
+ 	* config/darwin.c (machopic_symbol_defined_p): Return false
+ 	if the binds local and is a common symbol.
+ 
+ 2004-12-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (extv, extzv, insv): Revalidate the
+ 	operand with ext_register_operand.
+ 
+ 2004-12-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* global.c: Fix a comment typo.
+ 
+ 2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR tree-optimization/18707
+ 	* cfgloopmanip.c (create_preheader): Move the preheader
+ 	only if the latch was falling through to the header.
+ 
+ 2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR target/18997
+ 	* config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
+ 
+ 2004-12-16  Richard Henderson  <rth@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
+ 	hard registers.
+ 
+ 2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR other/18508
+ 	* config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
+ 	to back up the existing shared library.
+ 	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
+ 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
+ 	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
+ 	* config/sh/t-linux (SHLIB_LINK): Likewise.
+ 	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
+ 	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
+ 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
+ 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
+ 
+ 	* config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
+ 	file.
+ 
+ 2004-12-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (MD_DEPS, s-mddeps): New.
+ 	(s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
+ 	s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
+ 	s-preds): Depend on MD_DEPS instead of md_file.
+ 	(genobjnames): Add genmddeps.o
+ 	(build/genmddeps, build/genmddeps.o): New.
+ 	(mostlyclean): Remove mddeps.mk.
+ 	* genmddeps.c: New file.
+ 	* gensupport.c (include_callback): New.
+ 	(process_include): Call it.
+ 	* gensupport.h (include_callback): Declare.
+ 
+ 2004-12-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* local-alloc.c (block_alloc): Replace IN_RANGE with simple
+ 	comparison.
+ 
+ 	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
+ 
+ 2004-12-16  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct processor_costs): Two new fields:
+ 	madbr, maebr.
+ 	(s390_rtx_costs): Added handling of multipy and add in SFmode.
+ 	More precise values for cost of multiply and add.
+ 
+ 2004-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19028
+ 	* config/i386/i386.md (sse compare splitter): Test for SF and DFmode
+ 	explicitly instead of using VALID_SSE_REG_MODE.
+ 
+ 2004-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19005
+ 	* config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
+ 	optimize_size.
+ 	(swapqi_1): Rename from swapqi.  Enable only for no partial reg
+ 	stall and optimize_size.
+ 	(swapqi_2): New.
+ 	(swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
+ 	(swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
+ 
+ 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*floathisf2_i387, *floathidf2_i387):
+ 	Also enable for TARGET_MIX_SSE_I387.
+ 
+ 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only,
+ 	sqrt{s,d}f2_i387): Unify enable constraint with respect to
+ 	TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387,
+ 	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ 	(sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed.
+ 	(sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse.
+ 	(sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387.
+ 	(*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387.
+ 	(*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387.
+ 
+ 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*fop_?f_comm_{,sse,nosse},
+ 	*fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable
+ 	constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2,
+ 	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ 	(*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed.
+ 	(*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387.
+ 	(*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387.
+ 
+ 2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/18153
+ 	* configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
+ 	-Bstatic/-Bdynamic option.
+ 	* config.in: Regenerated.
+ 	* configure: Likewise.
+ 
+ 	* gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
+ 	-lunwind if possible.
+ 
+ 2004-12-15  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfgloop.c (flow_loops_dump): Don't print out levels.
+ 	(flow_loops_find): Don't set loop->levels.
+ 	(flow_loops_level_compute): Make void.
+ 	* cfgloop.h (struct loops): Remove levels member.
+ 	Add comment about loops in parray possibly being NULL.
+ 
+ 2004-12-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* reload.c (SMALL_REGISTER_CLASS_P): New.
+ 	(push_secondary_reload, find_reusable_reload, find_reloads): Use
+ 	it instead of testing only the class size.
+ 
+ 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c++/17972
+ 	* tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
+ 	on the STMT_EXPR wrapping up the inlined body.
+ 
+ 2004-12-15  Vladimir Makarov  <vmakarov@redhat.com>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 	PR middle end/17340
+ 
+ 	* global.c: Update comments in a few places.
+ 	(check_earlyclobber): Return true if there are early clobber
+ 	classes.
+ 	(calculate_local_reg_bb_info): Do not try to mark earlyclobber
+ 	regs if there are none.
+ 	(bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
+ 	make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
+ 	live_pavout.
+ 	(modify_bb_reg_pav): Remove.
+ 	(calculate_reg_pav): Use code from modify_bb_reg_pav.
+ 	(temp_bitmap): New variable.
+ 	(calculate_reg_pav): Allocate/deallocate temp_bitmap.
+ 
+ 2004-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19010
+ 	* config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
+ 	for TImode vectors.
+ 	(gen_reg_or_parallel): New.
+ 	(function_arg): Use it.
+ 	(ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
+ 	MMX and 3DNOW separately.
+ 	(ix86_rtx_costs): Simplify FLOAT_EXTEND case.
+ 	(ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
+ 	* config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
+ 	(VALID_SSE_REG_MODE): ... here.
+ 
+ 2004-12-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
+ 
+ 2004-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
+ 	COMPARE of MULT.
+ 	* config/arm/arm.md (mulsi3_compare0): Don't check
+ 	arm_arch_xscale.
+ 	(mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
+ 	(mulsi3addsi_compare0_scratch): Likewise.
+ 
+ 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR other/18665
+ 	* libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
+ 	Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
+ 	* libgcc2.c (__addvsi3): Rename to __addvSI3.
+ 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(__addvdi3): Rename to __addvDI3.
+ 	(__subvsi3): Rename to __subvSI3.  Use word type for the result.
+ 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(__subvdi3): Rename to __subvDI3.
+ 	(_mulvsi3): Rename to _mulvSI3.
+ 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(_mulvdi3): Rename to _mulvDI3.
+ 	(__negvsi2): Rename to __negvSI2.
+ 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(__negvdi2): Rename to __negvDI2.
+ 	(__absvsi2): Rename to __absvSI2.
+ 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(__absvdi2): Rename to __absvDI2.
+ 	* libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 	(__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
+ 	__addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
+ 	symbol and declare.
+ 	(__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
+ 	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ 
+ 2004-12-15  Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
+ 
+ 	* config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
+ 	Use DWARF2_DEBUG.
+ 
+ 	* config/m32r.c (m32r_legitimize_pic_address): Changed
+ 	to support GOTOFF relocation.
+ 	* config/m32r.md (UNSPEC_GOTOFF): New.
+ 	(gotoff_load_addr): New.
+ 
+ 2004-12-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
+ 	decide whether an argument is double-word aligned.
+ 
+ 2004-12-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: Fix missing modes on cmove splitters.
+ 
+ 2004-12-15 Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
+ 
+ 2004-12-15  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
+ 	*floatsisf2_i387, *floatsisf2_sse, floatdisf2,
+ 	*floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
+ 	floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
+ 	floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
+ 	*floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
+ 	Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
+ 	TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
+ 	(*float?i?f_i387): Rename to *float?i?f2_mixed.
+ 	(*float?i?f2_1): Rename to *float?i?f2_i387.
+ 	(*float?i?f2_i387_only): Rename to *float?i?f2_i387.
+ 	(float?ixf2): Penalize integer register operand.
+ 
+ 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR c++/17242
+ 	* configure.ac: Add GAS check for HP-UX .nsubspa comdat.
+ 	* configure, config.in: Rebuilt.
+ 	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
+ 	defines.
+ 	* config/pa/pa.c (pa_select_section): Allow uninitialized variables in
+ 	one-only (comdat) subspaces.
+ 	* config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
+ 	(SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
+ 	true.
+ 	(MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
+ 
+ 2004-12-14  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* combine.c (combine_validate_cost): Consider cost of
+ 	undobuf.other_insn rather than always allowing the recombination
+ 	if it is set.
+ 
+ 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-host.c (MAP_FAILED): Define if not defined.
+ 	(pa_gt_pch_use_address): Handle short reads.
+ 
+ 2004-12-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/17990
+ 	* config/i386/i386.c (x86_use_bt): New.
+ 	(ix86_expand_unary_operator): Use MEM_P.
+ 	(ix86_expand_fp_absneg_operator): New.
+ 	* config/i386/i386.h (x86_use_bt): Declare.
+ 	(TARGET_USE_BT): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
+ 	(negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
+ 	(negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
+ 	negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
+ 	abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
+ 	absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
+ 	(absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
+ 	absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
+ 	neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
+ 	(negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
+ 	(btsq, btrq, btcq): New.  Add peepholes as well.
+ 	(movv4sf_internal splitter): Postpone til after reload.
+ 	(movv2di_internal splitter): Likewise.
+ 	* config/i386/predicates.md (const_0_to_63_operand): New.
+ 	(absneg_operator): New.
+ 
+ 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
+ 	Check register number and that reg_renumber is nonzero before using it.
+ 
+ 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* doc/invoke.texi (IA-64 options): Add existing options that
+ 	weren't already listed.
+ 
+ 2004-12-14  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
+ 	partition to conflict_graph_merge_regs.
+ 
+ 2004-12-14  Uttam Pawar  <uttamp@us.ibm.com>
+ 	    Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
+ 	for vector types with invalid component types.
+ 
+ 2004-12-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/18951
+ 	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
+ 	expand_builtin_mathfn_3): Avoid using arguments passed to
+ 	save_expr after that call.
+ 
+ 	* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
+ 	LOAD_EXTEND_OP is not defined.
+ 	(fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.
+ 
+ 2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+ 
+ 	* tree.def, doc/c-tree.texi: Correctly document restrictions on the
+ 	shift width.
+ 
+ 2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
+ 
+ 2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/18973
+ 	arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
+ 	(arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
+ 	property to flags.
+ 
+ 2004-12-14  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-gimple.c (get_base_address): Update documentation.
+ 
+ 2004-12-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17930
+ 	* passes.c (rest_of_clean_state): Fix computation of
+ 	preferred_incoming_stack_boundary.
+ 
+ 2004-12-13  Wolfgang Bangerth <bangerth@dealii.org>
+ 
+ 	* reload.h: Remove struct needs and its only use.
+ 
+ 2004-12-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/18928
+ 	* simplify_rtx.c (plus_minus_operand_p): New function to encode
+ 	the test for suitable operands for calls to simplify_plus_minus.
+ 	Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
+ 	(simplify_binary_operation): Use plus_minus_operand_p.
+ 
+ 2004-12-13  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR tree-opt/16951
+ 	* tree-inline.c (setup_one_parameter): Don't directly map a
+ 	parameter to the address of another variable of the same
+ 	function.
+ 
+ 2004-13-12  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
+ 	can never create autoinc insns after reload.
+ 
+ 2004-12-13  Jeff Law  <law@redhat.com>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/18694
+ 	* tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
+ 	PHI argument is set from a PHI_RESULT in the same block and the
+ 	PHI argument is not the same as the PHI result.
+ 
+ 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* xcoffout.c (xcoffout_declare_function): Always strip storage
+ 	class encoding.
+ 
+ 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/18964
+ 	* config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
+ 	problem, adding a space at the end of the string before concatenation.
+ 
+ 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c (fname_as_string): Free namep if we are returning
+ 	cstr.text.
+ 
+ 	* tree-ssa-dom.c (record_edge_info): Fix memory leak.
+ 
+ 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
+ 
+ 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
+ 	doing a pointer comparison.
+ 
+ 	* tree-ssa-dom.c (record_equivalences_from_phis): Add a
+ 	comment.
+ 
+ 	* defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
+ 	typos.
+ 
+ 2004-12-13  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
+ 	the list rather than replacing the existing value.
+ 
+ 2004-12-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfg.c (dump_flow_info): Don't dump pseudo info after reload.
+ 
+ 2004-12-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (insn-preds.o): Depend on REGS_H.
+ 	* genpreds.c (write_insn_preds_c): Include regs.h.
+ 	* config/i386/predicates.md (index_register_operand): Use
+ 	REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
+ 
+ 	* config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
+ 	* config/i386/i386.md (lea_general_1, lea_general_1_zext,
+ 	lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
+ 	adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
+ 	ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
+ 	ashlqi3_1_lea): Use 'l' for index register operand.
+ 	(ashldi3_1_rex64 splitter): Use index_register_operand.
+ 	(ashlsi3_1 splitter): Be more careful with modes.
+ 
+ 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR target/18459
+ 	* defaults.h (TARGET_USE_JCR_SECTION): New macro.
+ 	* doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
+ 	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
+ 	default.
+ 
+ 2004-12-13 Uros Bizjak <uros@kss-loka.si>
+ 
+ 	PR target/14941
+ 	PR target/18503
+ 	* config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
+ 	Fix wrong vec_merge selector bitmask.
+ 
+ 2004-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/17186
+ 	* reg-stack.c (move_nan_for_stack_reg): New.
+ 	(subst_stack_regs_pat): Use it.
+ 	(move_for_stack_reg): Handle source register not live with a nan.
+ 
+ 2004-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
+ 	errors across operations.
+ 
+ 2004-12-12  Di-an Jan  <dianj@freeshell.org>
+ 
+ 	* doc/passes.texi (Pass Manager): Correct list of source files.
+ 
+ 2004-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (emit_move_change_mode): New.
+ 	(emit_move_via_alt_mode): Use it.
+ 
+ 2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/17564
+ 	* dojump.c (do_compare_and_jump): Only canonicalize function pointers
+ 	in a comparison if both sides are function pointers.
+ 
+ 2004-12-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/18932
+ 	* config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
+ 	and compare_operator to propagate the input CC mode to the output.
+ 	* config/i386/predicates.md (compare_operator): New.
+ 
+ 2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18040
+ 	* expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
+ 	CONVERT_EXPR cases.
+ 	(handled_component_p): Likewise.
+ 
+ 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reg-stack.c (convert_regs_2): Free stack.
+ 
+ 	* tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
+ 	comment typos.
+ 
+ 2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
+ 	* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
+ 	inner loop.
+ 
+ 2004-12-12  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-gimple.c (get_base_address): Update documentation.
+ 
+ 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* lcm.c (optimize_mode_switching): Free ptr even when mode_set
+ 	is NULL_RTX.
+ 
+ 2004-12-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (change_stack): Avoid placing the new top-of-stack in
+ 	its correct location during popping if we need to permute the stack
+ 	afterwards.  Attempt to preserve the original stack ordering.
+ 
+ 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* lcm.c (optimize_mode_switching): Free insert and delete in
+ 	the "for" loop.
+ 
+ 2004-12-11  David Edelsohn  <edelsohn@gnu.org>
+ 	    Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/18641
+ 	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
+ 	constants into all register classes intersecting with FLOAT_REGS
+ 	via memory.
+ 	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
+ 	* config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
+ 	choosing register preferences.
+ 	(movdi_internal64): Same.
+ 
+ 2004-12-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
+ 	before we release an SSA_NAME.
+ 
+ 2004-12-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18921
+ 	* fold-const.c (fold_unwidened_comparison): Use omit_one_operand
+ 	instead of constant_boolean_node as arg0 may have side-effects.
+ 
+ 2004-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
+ 	file to anonymous private map.
+ 
+ 2004-12-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/18002
+ 	PR middle-end/18424
+ 	* dojump.c (do_jump): When attempting to reverse the effects of
+ 	fold_single_bit_test, we need to STRIP_NOPS and narrowing type
+ 	conversions, and handle BIT_XOR_EXPR that's used to invert the
+ 	sense of the single bit test.
+ 
+ 2004-12-10  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR 18732
+ 	* gcc.c (main): Do not break out of loop when error is reported while
+ 	processing one source file.
+ 
+ 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
+ 	(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
+ 	don't need any operands rewritten.
+ 	(rewrite_stmt): Ignore statements that don't need to be
+ 	rewritten.
+ 	(rewrite_operand): Validate that an existing SSA_NAME is
+ 	identical to the current reaching definition of the operand.
+ 
+ 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
+ 	* tree-vectorizer.c (vectorizable_load): Call it.
+ 	* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
+ 	* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
+ 
+ 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* regmove.c (combine_stack_adjustments_for_block): Free
+ 	memlist if it hasn't been freed.
+ 
+ 2004-12-10  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
+ 	pointer field is set before dereferencing it.
+ 
+ 2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/18903
+ 	* tree-cfg.c (remove_bb): Put the moved label at the beginning
+ 	of the basic block.
+ 
+ 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-data-ref.c (free_data_refs): Free each data_reference
+ 	object.
+ 
+ 	* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
+ 	call to is_gimple_min_invariant if we know the result.
+ 
+ 2004-12-10  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
+ 	redundant test of v_ann->mem_tag_kind.
+ 
+ 	* tree-ssa-operands.c (get_indirect_ref_operands): Remove
+ 	redundant conditional clearing opf_kill_def.
+ 
+ 2004-12-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv-modes.def: Fix comment typos.
+ 	(CC_NZ): Define new mode.
+ 	* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
+ 	(condexec_intop_cmp_operator): Delete.
+ 	* config/frv/frv.c (comparison_string): New function.
+ 	(frv_print_operand): Use it to handle 'c' and 'C'.
+ 	(relational_operator): Redefine in terms of integer_relational_operator
+ 	and float_relational_operator.
+ 	(signed_relational_operator, unsigned_relational_operator): Delete.
+ 	(integer_relational_operator): New predicate, combining the above.
+ 	Check the mode of the first operand but leave frv.md to check the rest.
+ 	(float_relational_operator): Just check the mode of the first operand
+ 	and leave frv.md to check the rest.
+ 	(intop_compare_operator): Assume the result is compared with zero
+ 	in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
+ 	the operand predicates.
+ 	(condexec_intop_cmp_operator): Delete.
+ 	(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
+ 	(frv_hard_regno_mode_ok): Handle CC_NZmode.
+ 	(frv_select_cc_mode): New function.
+ 	* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
+ 	(REVERSIBLE_CC_MODE): Include CC_NZmode.
+ 	(PREDICATE_CODES): Replace entries for signed_relational_operand and
+ 	unsigned_relational_operator with one for integer_relational_operator.
+ 	Delete entry for condexec_intop_cmp_operator.
+ 	* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
+ 	(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
+ 	(*combo_intop_compare2, *combo_intop_compare4): Delete.
+ 	(*combo_intop_compare1): Change mode to CC_NZ.
+ 	(*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
+ 	(branch_{un,}signed_true, branch_{un,}signed_false)
+ 	(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
+ 	(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
+ 	(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
+ 	(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
+ 	(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
+ 	(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
+ 	pattern pairs.  Use integer_relational_operator.  Remove mode from
+ 	icc_operand.
+ 
+ 2004-12-10  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct processor_costs): New fields ml,
+ 	sqdbr, sqebr.
+ 	(s390_rtx_costs): Added the missing handling of multiply & add,
+ 	square root, and umulsidi.
+ 
+ 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expmed.c (synth_mult): Initialize new_limit.latency before
+ 	making a recursive call.
+ 
+ 2004-12-10  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/mn10300/mn10300.c (legitimate_address_p): Reject address
+ 	whose index is itself the sum of two other parts.
+ 
+ 2004-12-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
+ 
+ 2004-12-10  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
+ 
+ 2004-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/18282
+ 	* attribs.c (decl_attributes): Use relayout_decl.
+ 	* c-common.c (handle_mode_attribute): Copy all relevant type
+ 	parameters from the new underlying integral type.
+ 
+ 2004-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (shorten_compare): Don't special-case min/maxval
+ 	for C enumerations.
+ 
+ 2004-12-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
+ 	the request subreg is entirely contained in the requested component.
+ 	(simplify_gen_subreg): Return null for CONCATs that are rejected
+ 	by simplify_subreg.
+ 	* expmed.c (store_bit_field): Create a temporary when changing the
+ 	value to an integer mode.
+ 
+ 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* real.c (ibm_extended): Correct comment.
+ 
+ 2004-12-09  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
+ 	formerly in darwin-tramp.asm.
+ 	* config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
+ 	* config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
+ 	* config/rs6000/t-darwin: Add dependencies.
+ 
+ 2004-12-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/17025
+ 	* config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
+ 	(test_qi_1, andqi_2): Do not promote to simode.
+ 
+ 2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18904
+ 	* tree-chrec.c (chrec_convert): Use fold_convert
+ 	instead of convert.
+ 
+ 2004-12-09  Matt Rice  <ratmice@yahoo.com>
+ 
+ 	PR preprocessor/18102
+ 	* c-incpath.c (remove_duplicates): Check for construct
+ 	equality.
+ 
+ 2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* genopinit.c (vec_realign_store_optab): Initialization removed.
+ 	* optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
+ 	* optabs.h (optab_index): OTI_vec_realign_store Removed.
+ 	(vec_realign_store_optab): Removed.
+ 	* target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
+ 	* target.h (builtin_mask_for_store): Removed.
+ 	* tree.def (REALIGN_STORE_EXPR): Removed.
+ 	* config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
+ 	(altivec_builtin_mask_for_store): Removed.
+ 	(altivec_init_builtins): Removed initialization of
+ 	altivec_builtin_mask_for_store.
+ 
+ 	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
+ 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
+ 
+ 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
+ 
+ 	* tree.def (SET_TYPE): Remove.
+ 	(CONSTRUCTOR): Update description.
+ 	* builtins.c (type_to_class) Remove SET_TYPE case.
+ 	* dbxout.c (dbxout_type): Likewise.
+ 	* dwarf2out.c (is_base_type): Likewise.
+ 	(gen_set_type_die): Remove.
+ 	(gen_type_die): Remove SET_TYPE case.
+ 	* expr.c (count_type_elements): Likewise.
+ 	(mostly_zeroes_p): Likewise.
+ 	(store_constructor): Likewise.
+ 	* print_tree.c (print_node): Likewise.
+ 	* stor-layout.c (layout_type): Likewise.
+ 	* tree-browser.c (browse_tree): Likewise.
+ 	* tree-inline.c (remap_type): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	* tree.c (type_contains_plaeholder_1, type_hash_eq,
+ 	variably_modified_type_p, initializer_zerop): Likewise.
+ 	* tree.h (SET_OR_ARRAY_CHECK): Remove.
+ 	(AGGREGATE_TYPE_P): Remove SET_TYPE check.
+ 	(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
+ 	* typeclass.h (enum type_class): Remove set_type_class.
+ 	* varasm.c (const_hash_1): Remove SET_TYPE case.
+ 	(compare_constant, copy_constant, output_constant): Likewise.
+ 	* config/i386/i386.c (classify_argument): Likewise.
+ 	* config/ia64/ia64.c (hfa_element_mode): Likewise.
+ 	* config/sparc/sparc.c (sparc_type_code): Likewise.
+ 
+ 	PR c++/16681
+ 	* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
+ 
+ 2004-12-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: Use FLAGS_REG everywhere.
+ 
+ 2004-12-08  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
+ 	to avoid call to default function.
+ 
+ 2004-12-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 17982
+ 	* varasm.c (pending_assemble_externals): New static.
+ 	(assemble_external_real): Meat of assemble_external split out
+ 	to this new function.
+ 	(process_pending_assemble_externals): New function.
+ 	(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
+ 	is true and the basic test passes, merely cons the decl onto
+ 	the pending list to be handled later.
+ 	* tree.h: Declare process_pending_assemble_externals.
+ 	* cgraphunit.c (cgraph_optimize): Call it.
+ 
+ 	* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
+ 
+ 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
+ 	and simplifying FOR_EACH_EDGE.
+ 
+ 2004-12-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_sort_insn_group): Always initialize
+ 	packet_group->nop.
+ 
+ 2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/18672
+ 	* gimplify.c (canonicalize_addr_expr): Cope with array of
+ 	incomplete type.
+ 	(gimplify_conversion): Remove redundant checks.
+ 
+ 	* doc/trouble.texi (Non-bugs): Clarify empty loop removal.
+ 
+ 2004-12-08  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (output_387_binary_op,
+ 	ix86_prepare_fp_compare_args): Fix is_sse condition.
+ 
+ 2004-12-07  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
+ 	argument.
+ 
+ 	* config/i386/i386.c (output_fp_compare): Fix is_sse condition.
+ 	Use EFLAGS_P only when fcomi insn should be used. Fix handling
+ 	of eflags_p variable. Change alt table accordingly. For non-fcomi
+ 	compare insn always use trailing fnstsw insn. Fix intmode
+ 	calculation for ficom insn.
+ 	(ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
+ 	ix86_free_from_memory when "pushed" is specified.
+ 	(ix86_expand_branch): Change call to ix86_split_fp_branch.
+ 
+ 	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
+ 	Change eflags_p parameter in call to output_fp_compare.
+ 	(*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
+ 	(*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
+ 	*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.	Change eflags_p
+ 	parameter in call to output_fp_compare.
+ 	(*cmpfp_2_u): Remove.
+ 	(*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
+ 	in call to output_fp_compare.
+ 	(*ficom_1): Remove insn definition and corresponding define_split.
+ 	(*cmpfp_si): New insn definition.
+ 	(*fp_jcc_8): New insn definition. Add new splitters for
+ 	"memory_operand" and "register_operand".
+ 	(define_split): Add new parameter in call to ix86_split_fp_branch.
+ 
+ 	config/i386/predicates.md (float_operator): New predicate.
+ 
+ 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c (verify_tree): Don't check code length if we know
+ 	we are handling tcc_unary.
+ 	* print_tree.c (print_node): Remove code to handle RTL
+ 	appearing as a part of a tree node.
+ 	* tree-gimple.c (recalculate_side_effects): Rename fro as len.
+ 	* tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
+ 	(PROCESS_ARG): Don't refer to fro.
+ 	(build2_stat, build3_stat, build4_stat): Don't compute fro.
+ 
+ 2004-12-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18293
+ 	* expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
+ 	(expand_mult): Special case powers of two to avoid synth_mult.
+ 	* loop.c (product_cheap_p): Handle case where expand_mult does
+ 	require/generate any instructions (i.e. multiplication by zero).
+ 
+ 2004-12-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-pretty-print.c (dump_array_domain): Split out from
+ 	dump_generic_node; fix off-by-one error on zero-based array bounds.
+ 	(dump_generic_node): Use it.
+ 	(print_declaration): Likewise.
+ 
+ 2004-12-08  Richard Guenther <richard.guenther@uni-tuebingen.de>
+ 
+ 	* doc/invoke.texi: Adjust default values for
+ 	large-function-growth and inline-unit-growth to match
+ 	params.def.  Clarify used algorithm.
+ 
+ 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	PR target/18443
+ 	* config/ia64/ia64.c (ia64_assemble_integer): Add support for
+ 	emitting unaligned pointer-sized integers.
+ 
+ 2004-12-07  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR c/18867
+ 	* c-typeck.c (c_start_case): Set orig_type to error_mark_node
+ 	when the type of the controlling expression is not a valid type.
+ 
+ 2004-12-07  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/17340
+ 	* tree-ssa-pre.c (compute_antic): Fix comment.
+ 	(compute_avail): Do not recurse, instead do a DFS using a stack
+ 	and a loop.
+ 	(execute_pre): Adjust.
+ 
+ 2004-12-07  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-tree.h (struct lang_type): Rename 'objc_protocols' field
+ 	to 'objc_info'.
+ 
+ 2004-12-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR target/16317
+ 	* config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
+ 
+ 2004-12-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_valid_pointer_mode): Move
+ 	prototype...
+ 	* config/mips/mips.c: ... here. Make static.
+ 
+ 2004-12-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR target/18442
+ 	* config/mips/mips.c (mips_vector_mode_supported_p): New function.
+ 	(TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
+ 
+ 2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, expr.c, fold-const.c, print-tree.c,
+ 	tree-gimple.c, tree-inline.c, tree-pretty-print.c,
+ 	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
+ 	first_rtl_op with TREE_CODE_LENGTH.
+ 	* tree.c (first_rtl_op): Remove.
+ 	Replace uses of first_rtl_op with TREE_CODE_LENGTH.
+ 	* tree.h: Remove the prototype for first_rtl_op.
+ 
+ 2004-12-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
+ 	Revert 2004-12-01 change.
+ 
+ 2004-12-06  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-tree.h (struct lang_type): Add 'objc_protocols' field.
+ 
+ 2004-12-06  DJ Delorie  <dj@redhat.com>
+ 
+ 	* reload.c (find_valid_class): Fix logic to test inner mode as well.
+ 	(push_reload): Pass inner mode.
+ 
+ 2004-12-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
+ 
+ 2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
+ 
+ 2004-12-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/18601
+ 	* tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
+ 	(tree_forwarder_block_p): Do not consider blocks that are its own
+ 	successors forwarders.
+ 	(cleanup_forwarder_blocks, remove_forwarder_block): New functions.
+ 	(cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
+ 	thread_jumps.
+ 	* tree-flow.h (bb_ann_d): Remove forwardable.
+ 
+ 2004-12-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_expr_real_1): Remove an "if" whose condition
+ 	is always false.
+ 
+ 2004-12-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-gimplify.c (gimplify_c_loop): Improve initial implementations
+ 	for loops whose conditions are known at compile-time.
+ 	* gimplify.c (append_to_statement_list_1): Remove side_effects
+ 	parameter, this function should never be called if its false.
+ 	(append_to_statement_list): Only call append_to_statement_list_1
+ 	if t is non-NULL tree with side-effects.
+ 	(append_to_statement_list_force):  Likewise, if t is not NULL.
+ 
+ 2004-12-06  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* bt-load.c (btr_def_s): New member own_end;
+ 	(add_btr_to_live_range): Add second parameter.  Changed caller.
+ 	(clear_btr_from_live_range): Clear btrs_live_at_end bit
+ 	for the register its definition basic block if own_end is set.
+ 	(augment_live_range): Also take btrs_live_at_end into account.
+ 	(combine_btr_defs): Don't bother with
+ 	other_def->other_btr_uses_after_use if it pertains to a different
+ 	register.
+ 	(move_btr_def): Set def->other_btr_uses_before_def after
+ 	calling combine_btr_defs."
+ 
+ 	* bt-load.c (augment_live_range): New argument full_range.
+ 	Changed all callers.
+ 
+ 	* bt-load.c (move_tr_def): Set other_tr_uses_before_def
+ 	taking new btr assignment into account.
+ 
+ 2004-12-05  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-alias.c (create_global_var): Use void_type_node,
+ 	not size_type_node.
+ 
+ 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_expr_real_1): Abort on COND_EXPR of
+ 	VOID_TYPE.
+ 
+ 2004-12-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/18841
+ 	* config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
+ 	(builtin_setjmp_receiver_er_sl_1): Use it.
+ 	(builtin_setjmp_receiver_er_1): Likewise.
+ 	(builtin_setjmp_receiver_er, exception_receiver_er): Remove.
+ 	(builtin_setjmp_receiver): Don't split for explicit relocs until
+ 	after reload.
+ 	(exception_receiver): Likewise.
+ 
+ 2004-12-05  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* mklibgcc.in (vis_hide): Add the prototype for the test.
+ 
+ 2004-12-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-typeck.c (c_finish_loop): Improve initial implementations
+ 	for loops whose conditions are known at compile-time.
+ 
+ 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Fix comment typos.
+ 
+ 2004-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/18730
+ 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
+ 	the first/last insn is a sequence, return the first/last insn of the
+ 	sequence.
+ 
+ 	PR bootstrap/18804
+ 	* mklibgcc.in (vis_hide): Use implementation instead of declaration
+ 	for test function.
+ 
+ 2004-12-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
+ 	use ofs in BWX two byte special case.
+ 	(alpha_expand_unaligned_store): Likewise.
+ 
+ 2004-12-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (gcse_main): Add a comment.
+ 
+ 2004-12-04  Andrew  Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17909
+ 	* builtins.c (fold_builtin_next_arg): Export and return true
+ 	when there is a warning or an error.
+ 	(expand_builtin_va_start): When fold_builtin_next_arg returns true,
+ 	return const0_rtx.
+ 	(expand_builtin): Likewise.
+ 	* gimplify.c (gimplify_call_expr): Error out if there is not
+ 	enough arguments to va_start. Call fold_builtin_next_arg also
+ 	on the second argument.
+ 	* tree.h (fold_builtin_next_arg): Prototype.
+ 
+ 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
+ 	Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
+ 	SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
+ 	* config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
+ 	shlib_dir and shlib_so_name.
+ 	* config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
+ 	* config/t-libunwind-elf (SHLIB_NAME): Likewise.
+ 	* config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
+ 	* config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
+ 	* config/t-slibgcc-sld (SHLIB_NAME): Likewise.
+ 	(SHLIB_LINK): Don't use shlib_dir when creating symlink.
+ 
+ 2004-12-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
+ 
+ 2004-12-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (component_uses_parent_alias_set): Rename from
+ 	can_address_p.  Return bool.  Reverse the sense of the result.
+ 	Reinstate the check for alias set zero.
+ 	(get_alias_set): Update to match.
+ 	* alias.h (component_uses_parent_alias_set): Likewise.
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ 	* expr.c (expand_assignment): Likewise.
+ 	* expr.h: Remove commented out prototypes that were moved to alias.h.
+ 
+ 2004-12-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 
+ 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR middle end/18718
+ 	* sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
+ 	in pairs.
+ 	* sched-ebb.c (schedule_ebb): Likewise.
+ 
+ 2004-12-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (HOSTHOOKS_DEF_H): Define.
+ 	(ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
+ 	(host-default.o): Likewise.
+ 
+ 2004-12-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/stormy16/stormy16.md (pushqi, popqi, pushhi,
+ 	pophi): Add number of arguments to name so that the
+ 	pattern is recognized as a named pattern.
+ 
+ 2004-12-03  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/extend.texi (AltiVec Builtins): Fix info about signedness.
+ 
+ 2004-12-03  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Protect
+ 	darwin_one_byte_bool with #if.
+ 
+ 2004-12-03  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
+ 
+ 2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
+ 
+ 2004-12-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* configure.ac: Move TL_AC_GCC_VERSION into initialization section.
+ 	Set libstdcxx_incdir directly.
+ 	* configure: Regenerate.
+ 
+ 2004-12-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (record_equivalences_from_phis): Remove an
+ 	"if" whose condition is always true.
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
+ 	INSN_P.
+ 
+ 2004-12-02  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
+ 	Darwin default to one-byte bools.
+ 
+ 2004-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 18774
+ 	* simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
+ 
+ 2004-12-03  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/cfg.texi (Edges): Update. Document the edge_iterator data
+ 	type and its methods.
+ 
+ 2004-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (write_complex_part): Use simplify_gen_subreg when the
+ 	submode is at least as large as a word.
+ 	(read_complex_part): Likewise.
+ 
+ 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR bootstrap/18532
+ 	* mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
+ 	multilib at a time. Don't build the default set. Don't add
+ 	EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
+ 	filter for shared libunwind and libgcc.
+ 
+ 2004-12-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/18759
+ 	* config/i386/i386.c (override_options): If -fomit-frame-pointer has
+ 	already been specified, ignore the -momit-leaf-frame-pointer option.
+ 
+ 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* varasm.c (make_decl_rtl): Add the missing `;'.
+ 
+ 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree.c (is_attribute_p): Split out to ..
+ 	(is_attribute_with_length_p): Here.  Use IDENTIFIER_LENGTH instead
+ 	of strlen and compare the string lengths before calling strcmp.
+ 	(lookup_attribute): Call is_attribute_with_length_p instead of
+ 	is_attribute_p.
+ 
+ 2004-12-02  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
+ 	* config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
+ 	* config/i386/darwin.h (CC1_SPEC): Same.
+ 
+ 2004-12-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (lowpart_subreg_maybe_copy): New.
+ 	(expand_unop, expand_abs_nojump): Use it.
+ 
+ 2004-12-02  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* sh.md (extv, extzv): Add pattern predicate.
+ 
+ 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
+ 	is not null.
+ 
+ 	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
+ 	is not null.
+ 
+ 	* tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
+ 
+ 2004-12-02  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-eh.c: Revert yesterday's change.
+ 
+ 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* varasm.c (decode_reg_name): Revert change to check for zero
+ 	length strings.
+ 	(make_decl_rtl): Make sure that we call decode_reg_name only
+ 	when needed.
+ 
+ 2004-12-02  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18716
+ 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
+ 	then and else labels.
+ 
+ 2004-12-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (WERROR_FLAGS): Renamed from WERROR.
+ 	(STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
+ 	(STAGE2_FLAGS_TO_PASS): Likewise.
+ 
+ 	* config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
+ 
+ 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.  Remove
+ 	now-redundant AC_SUBSTs.
+ 	* aclocal.m4: Include ../config/gcc-version.m4.
+ 	* configure: Regenerate.
+ 
+ 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
+ 	#ifdef RELOCATABLE_NEEDS_FIXUP.
+ 
+ 2004-12-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/9908
+ 	* config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
+ 	Intel assembler syntax by using %A1 instead of %*%1.
+ 
+ 2004-12-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_assignment): Handle CONCAT both as a final
+ 	destination and as a middle point.
+ 
+ 2004-12-01  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-eh.c (save_eptr, save_filt): Now file scoped statics.
+ 	(honor_protect_cleanup_actions): Only create save_eptr and
+ 	save_filt if they do not already exist.
+ 	(lower_eh_constructs): Wipe all knowledge of save_eptr and
+ 	save_filt before returning.
+ 
+ 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (remove_phi_arg_num): Fix a comment.
+ 
+ 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/16952
+ 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
+ 	#ifdef RELOCATABLE_NEEDS_FIXUP with if.
+ 	* config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
+ 	of target_flags_explicit.
+ 	* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
+ 	case.  Define as 0 for non-biarch.
+ 
+ 2004-12-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
+ 	Change temporary file tag from a prefix to an infix.
+ 
+ 2004-12-02  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* gcc.c (struct option_map): Add entry for "--pass-exit-codes".
+ 
+ 2004-12-01  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18763
+ 	PR tree-opt/18746
+ 	* tree-ssa-alias.c (init_alias_info): Get statement operands for all
+ 	the statements if aliases_computed_p is true.
+ 
+ 2004-12-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (WERROR): New variable.
+ 	(STRICT2_WARN): Use it.
+ 	(STAGE2_FLAGS_TO_PASS): Likewise.
+ 	* config/i386/x-mingw32 (WERROR): Add -Wno-format.
+ 
+ 2004-12-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
+ 	offsetting.
+ 
+ 2004-12-01  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/18291
+ 	* tree-ssa-copy.c (merge_alias_info): Fix merging of
+ 	flow-sensitive alias information.  If the new pointer has no
+ 	name tag, copy it from the original pointer.  Otherwise, make
+ 	sure that the pointed-to sets have a common intersection.
+ 
+ 2004-12-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/15289
+ 	* emit-rtl.c (gen_complex_constant_part): Remove.
+ 	(gen_realpart, gen_imagpart): Remove.
+ 	* rtl.h (gen_realpart, gen_imagpart): Remove.
+ 	* expmed.c (extract_bit_field): Remove CONCAT hack catering to
+ 	gen_realpart/gen_imagpart.
+ 	* expr.c (write_complex_part, read_complex_part): New.
+ 	(emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
+ 	emit_move_complex_push, emit_move_complex, emit_move_ccmode,
+ 	emit_move_multi_word): Split out from ...
+ 	(emit_move_insn_1): ... here.
+ 	(expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
+ 	<REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
+ 	* function.c (assign_parm_setup_reg): Hard-code transformations
+ 	instead of using gen_realpart/gen_imagpart.
+ 
+ 	* expr.c (optimize_bitfield_assignment_op): Split out from ...
+ 	(expand_assignment): ... here.  Use handled_component_p to gate
+ 	get_inner_reference code.  Simplify MEM handling.  Special case
+ 	CONCAT destinations.
+ 
+ 	* expmed.c (store_bit_field): Use simplify_gen_subreg instead
+ 	of gen_rtx_SUBREG directly.
+ 
+ 2004-12-01  David Edelsohn  <edelsohn@gnu.org>
+ 	    Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR target/17107
+ 	* config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
+ 	(sgt): Same.
+ 	(sle): Same.
+ 	(slt): Same.
+ 
+ 2004-12-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR middle-end/18667
+ 	* params.c (set_param_value): Add range check.
+ 	* params.def: Add min and max values. Reformat long strings.
+ 	* params.h (struct param_info): Add min and max fields.
+ 	(enum compiler_param): Adjust DEFPARAM.
+ 	* toplev.c (lang_independent_params): Likewise.
+ 
+ 2004-12-01  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/12817
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
+ 
+ 2004-12-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/standards.texi: Update for C99 TC2.
+ 
+ 2004-11-30  Jeff Law  <law@redhat.com>
+ 
+ 	* sbitmap.c (sbitmap_any_common_bits): New function.
+ 	* sbitmap.h (sbitmap_any_common_bits): Prototype.
+ 	* modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits
+ 	No longer allocate/free "psp", "pss" sbitmaps.
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for
+ 	the "res" sbitmap.
+ 	(group_aliases): Similarly.
+ 
+ 2004-11-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
+ 	uninitialized variable.
+ 
+ 2004-11-30  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* fold-const.c (fold_widened_comparison): Make sure that we're
+ 	passing an INTEGER_TYPE to int_fits_type_p.
+ 	(fold): Clean up comment.
+ 
+ 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mklibgcc.in: Correct calculation of libgcc_s_soname and
+ 	libunwind_soname.  Use $out, not $outS, in commands for
+ 	no-shared-library case.  Move EXTRA_MULTILIB_PARTS rules above
+ 	library build rules, make $libunwind_so and $libgcc_s_so
+ 	depend on them in the normal fashion, and filter those objects
+ 	out of @shlib_objs@.
+ 
+ 2004-11-30  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/altivec.h (vec_step_help): Support const vector types.
+ 
+ 2004-11-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18298
+ 	* tree-optimize.c (init_tree_optimization_passes): Add a may_alias
+ 	pass right after fold builtins.
+ 
+ 2004-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390-modes.def: Added cc modes documentation.
+ 	* config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode,
+ 	s390_expand_addcc): Added cc mode comments.
+ 	* config/s390/s390.md: Removed old cc mode documentation.
+ 
+ 2004-11-30  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct processor_costs): New data type.
+ 	(s390_cost, z900_cost, z990_cost): New global variables.
+ 	(override_options): Initialize s390_cost.
+ 	(s390_rtx_costs): Reimplement.
+ 
+ 2004-11-29  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/18673
+ 
+ 	* tree-ssa-pre.c: Remove splay-tree.h include.
+ 	(bitmap_value_replace_in_set): Fix to add if it does not exist.
+ 	(find_or_generate_expression): Remove now-wrong condition.
+ 	(create_expression_by_pieces): Fix condition and comment reason
+ 	for it.
+ 	(insert_aux): Fix condition and comment reasons for it.
+ 	Factor insertion code from here.
+ 	(insert_into_preds_of_block): To here.  Fix conditions in factored
+ 	function and comment reasons for them.
+ 
+ 2004-11-30  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-opt/18607
+ 	* tree-vectorizer.c (vect_analyze_data_refs): Use temporary
+ 	variable for data_reference when looking for memtag.
+ 
+ 2004-11-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-opts.c (check_deps_environment_vars): If spec != NULL, set
+ 	deps_seen.
+ 
+ 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use
+ 	tree_low_cst instead of TREE_INT_CST_LOW.
+ 
+ 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR target/18173
+ 	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
+ 	decls that are assembled before vectorization takes place.
+ 	(vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
+ 
+ 2004-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
+ 	if local_alloc modified jumps.
+ 
+ 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL
+ 	on TLS symbols.
+ 	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS
+ 	check.
+ 
+ 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
+ 	* unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
+ 
+ 	* mklibgcc.in: Drastic restructure for comprehensibility.
+ 	Remove the old hidden-directive hack.
+ 	Eliminate support for .txt files in LIB2ADD etc (never used).
+ 	Eliminate support for assembly source files in LIB2ADDEH* and
+ 	LIBUNWIND (also never used).
+ 	Build up dependency lists for libraries incrementally.
+ 	If we have SHLIB_LINK, compile each file twice, once for the
+ 	static and once for the shared library; also probe for
+ 	-fvisibility=hidden in the generated libgcc.mk.  If found,
+ 	pass that and -DHIDE_EXPORTS to the compilation of every C
+ 	source file going into the static library.  If found, generate
+ 	hidden-directive lists for every assembly source file going
+ 	into the static library, but incorporate them with -include
+ 	instead of ld -r.
+ 	Write comments into generated libgcc.mk to facilitate debugging.
+ 	* Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
+ 	* config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
+ 
+ 	* config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
+ 	-Zdynamiclib case.
+ 
+ 2004-11-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
+ 	(handled_component_p): Likewise.
+ 	* alias.c (can_address_p): Reformat and simplify.  Handle
+ 	REAL/IMAGPART_EXPR.  Do not disable addressability based on
+ 	alias set zero.
+ 	* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
+ 	check for REAL/IMAGPART_EXPR.
+ 	* gimplify.c (gimplify_compound_lval): Likewise.
+ 	* tree-cfg.c (verify_expr): Likewise.
+ 	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
+ 	* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
+ 	(convert_local_reference): Likewise.
+ 	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
+ 
+ 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* expr.c (emit_group_load_1): Don't die on const_int orig_src.
+ 
+ 2004-11-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR pch/14940
+ 	* config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
+ 	* config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
+ 	and host_xmake_file using new host configuration files.
+ 
+ 2004-11-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (change_stack): Improve algorithm used to pop regs
+ 	off the stack to maximize ffreep usage and reduce fxch count.
+ 
+ 2004-11-30  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR middle-end/18596
+ 	* c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node
+ 	on errors.
+ 
+ 2004-11-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
+ 	REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
+ 
+ 2004-11-30  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
+ 
+ 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/18479
+ 	* c-common.c (handle_visibility_attribute): When the type decl
+ 	is really a identifier node, warn about being ignored and return.
+ 
+ 2004-11-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
+ 
+ 2004-11-29  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
+ 	Remove CASE_DROPS_THROUGH checks, it is never defined.
+ 	* cfglyout.c (fixup_reorder_chain): Likewise.
+ 	* cfgrtl.c (rtl_verify_flow_info): Likewise.
+ 	* stmt.c (expand_case): Likewise.
+ 	* cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
+ 	it is now always 0.
+ 	* system.h (CASE_DROPS_THROUGH): Poison.
+ 	* doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
+ 	* doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
+ 
+ 	* config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
+ 
+ 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/18725
+ 	* tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
+ 	shared always.
+ 
+ 2004-11-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/18712
+ 	* tree-into-ssa.c (insert_phi_nodes_for): Pass argument
+ 	WORK_STACK by reference.
+ 	Call VEC_safe_push instead of VEC_quick_push.
+ 	Update all users.
+ 
+ 2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	PR c/7544
+ 	* Makefile.in (c-lang.o): Update dependencies.
+ 	* c-lang.c: Include "c-pragma.h".
+ 	(finish_file): Call maybe_apply_pending_pragma_weaks.
+ 	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
+ 	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
+ 
+ 2004-11-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/17224
+ 	* config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
+ 	outside the referenced object.
+ 
+ 2004-11-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
+ 	EDGE_PRED instead of PHI_ARG_EDGE.
+ 	* tree-ssa-live.c: Likewise.
+ 	* tree-ssa-loop-manip.c: Likewise.
+ 	* tree-ssa.c: Likewise.
+ 
+ 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
+ 	simplifying edge manipulation.
+ 
+ 	* cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
+ 	EDGE_COUNT.
+ 
+ 	* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
+ 	only when needed.
+ 
+ 	* cfg.c (flow_obstack): Remove.
+ 	(flow_firstobj): Likewise.
+ 	(init_flow): Remove all uses of flow_obstack.
+ 
+ 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* varasm.c (default_elf_select_section_1): Only pass DECL_P decl
+ 	to named_section.
+ 
+ 2004-11-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* opts.c (decode_options): Do not set max-inline-insns-rtl.
+ 	(common_handle_option): Likewise.
+ 	* params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
+ 	* params.h (MAX_INLINE_INSNS_RTL): Remove.
+ 	* doc/invoke.texi (max-inline-insns-rtl): Remove.
+ 
+ 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/9571
+ 	* varasm.c (default_elf_select_section_1): Pass decl to named_section.
+ 
+ 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/18164
+ 	* gimplify.c (gimplify_asm_expr): If the length of an output operand
+ 	is zero, do not process it, just let it go through.
+ 
+ 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	    Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR/18662, also backported from tree-cleanup-branch.
+ 	* tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
+ 	always call maybe_clean_eh_stmt and modify_stmt.
+ 
+ 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	PR/18664
+ 	* tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
+ 	Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
+ 	* tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
+ 	add an inverse VIEW_CONVERT_EXPR to const_val.
+ 
+ 	PR/18657
+ 	* tree-nested.c (check_for_nested_with_variably_modified): New.
+ 	(create_nesting_tree): Call it.
+ 
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
+ 	special code for assigning to non-pointer.
+ 	(is_escape_site): If RHS is a conversion between pointer and integer
+ 	types,	this is an escape site.
+ 
+ 	* gcse.c (insert_store): Error if try to insert store on abnormal edge.
+ 	(store_motion): Don't move store if any edge we'd want to move it
+ 	to is abnormal.
+ 
+ 	* expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
+ 	non-zero lower bound.
+ 
+ 	* expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
+ 
+ 2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	PR diagnostic/17594
+ 	* opts.c (find_opt): Require that the input match a switch exactly
+ 	or that the switch take a joined option to be interpreted as a
+ 	match for another language.
+ 
+ 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* timevar.def (TV_TREE_REDPHI): New timevar.
+ 	* tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
+ 
+ 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR preprocessor/17651
+ 	* c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
+ 	flag_no_line_commands.
+ 	* c-ppoutput.c (pp_file_change): Remove now-redundant check of
+ 	flag_no_output.
+ 
+ 2004-11-28  Theodore A. Roth  <troth@openavr.org>
+ 
+ 	* config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
+ 	warning if the function name does not begin with "__vector" and the
+ 	function has either the 'signal' or 'interrupt' attribute.
+ 
+ 2004-11-28  Theodore A. Roth  <troth@openavr.org>
+ 
+ 	* config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
+ 	atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
+ 	atmega325, atmega3250, atmega645 and atmega6450.
+ 	* config/avr/avr.h (LINK_SPEC): Ditto.
+ 	(LIB_SPEC): Ditto.
+ 	(LIBGCC_SPEC): Ditto.
+ 	(CRT_BINUTILS_SPECS): Ditto.
+ 	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
+ 
+ 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR preprocessor/17610
+ 	* testsuite/gcc.dg/cpp/empty-include.c: New testcase.
+ 
+ 2004-11-28  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
+ 	(pass_maybe_create_global_var): New.
+ 	* tree-pass.h (pass_maybe_create_global_var): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Link in
+ 	pass_maybe_create_global_var.
+ 
+ 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
+ 
+ 2004-11-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR rtl-optimization/18420
+ 	* simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
+ 
+ 2004-11-28  Steven Bosscher  <stevenb@suse.de>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
+ 	* config/vax/vax.md (casesi): Emit a test-and-branch to make sure
+ 	that the case is in range, to make sure the casesi insn is always
+ 	in range and never falls through.
+ 	(casesi1): Add comment to explain why casesi never falls through.
+ 	Remove the unnamed special case casesi pattern.
+ 
+ 2004-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18331
+ 	* config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
+ 	"*movdicc_real".  Only match reversible comparisons.
+ 	("*movdicc_real_nonreversible"): New pattern, split from
+ 	"*movdicc_real".  Match only nonreversible comparisons.  Exclude
+ 	reversed alternatives.
+ 	("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
+ 	Similar.
+ 
+ 2004-11-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.md: Move all define_predicate's ...
+ 	* config/ia64/predicates.md: ... here.  New file.
+ 
+ 2004-11-27  Per Bothner  <per@bothner.com>
+ 
+ 	PR bootstrap/18142
+ 	Re-applied following, with two modifications: add a URL for the
+ 	fixed cctools; only exit if $build = $target.
+ 
+ 	2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
+ 	* configure.ac (powerpc-*-darwin*): Require assembler to support
+ 	.machine directive.
+ 	* configure: Regenerate.
+ 
+ 2004-11-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/16800
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
+ 	EQ, GTU, and LTU costs.  Add costs for GT, LT, and UNORDERED.
+ 	Distinguish between SImode and DImode CONST_INT.
+ 
+ 2004-11-28  Andreas Fischer <a_fisch@gmx.de>
+ 	    Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/16343
+ 	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
+ 	functions, strings and thread-local vars.
+ 
+ 2004-11-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
+ 	* config/rs6000/darwin.h (WORLD_SAVE_P): Define.
+ 	* config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
+ 	to allow non-darwin ABIs to optimize away code.
+ 	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
+ 
+ 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree.c (operand_equal_for_phi_arg_p): New.
+ 	* tree.h: Add a prototype for operand_equal_for_phi_arg_p.
+ 	* tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
+ 	Replace operand_equal_p with operand_for_phi_arg_p
+ 	appropriately.
+ 
+ 	* bb-reorder.c (find_traces_1_round): Speed up by using
+ 	EDGE_COUNT instead of FOR_EACH_EDGE.
+ 
+ 	* fold-const.c, config/i386/linux64.h: Fix comment typos.
+ 
+ 2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR pch/14940
+ 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
+ 
+ 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/linux.h: Fix a comment typo.
+ 	* doc/extend.texi: Fix a typo.
+ 
+ 2004-11-27  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
+ 	are merged.
+ 
+ 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/linux64.h (REG_NAME): Define.
+ 
+ 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
+ 	unsigned and type signed, build ABS_EXPR with signed_type (ctype)
+ 	and only afterwards convert to ctype.
+ 
+ 2004-11-27  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (function_arg_boundary): Declare.
+ 	* config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
+ 	(STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
+ 	(FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
+ 	* config/mips/mips.c (function_arg_boundary): New function.
+ 	Impose a maximum alignment of STACK_BOUNDARY.
+ 
+ 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/17825
+ 	* combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
+ 	or not.
+ 
+ 2004-11-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/12769
+ 	* config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
+ 	from rs6000_default_long_calls for libcalls.
+ 
+ 2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expmed.c (extract_bit_field): When extracting from non-integer mode,
+ 	force a SUBREG into a register because we may be taking a further
+ 	SUBREG of it.
+ 
+ 2004-11-27  Di-an Jan  <dianj@freeshell.org>
+ 
+ 	* doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
+ 
+ 2004-11-26  Robert Millan  <robertmh@gnu.org>
+ 
+ 	Changes for k*bsd-gnu support.
+ 	* config/i386/linux.h: Define REG_NAME to allow overriding of
+ 	register names in sc structure.
+ 	* config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
+ 	of sc->reg.
+ 	* config.gcc: Detect x86_64-k*bsd-gnu systems.
+ 
+ 2004-11-26  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): Don't
+ 	retrieve annotations or pointer info before it's necessary.
+ 	Reorder tests for early continue of the loop.  Manually CSE
+ 	SSA_NAME_VAR.
+ 
+ 2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
+ 	* target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
+ 	(TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
+ 	to a fixed reg if the source is the Return Address register.
+ 	Implement new Rule 15.
+ 	* doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+ 	* config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
+ 	sparc_dwarf_handle_frame_unspec.
+ 	(gen_save_register_window): New function.
+ 	(emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
+ 	(emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
+ 	(expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
+ 	Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
+ 	(sparc_asm_function_prologue): Do not emit call frame debugging info.
+ 	(emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
+ 	(sparc_expand_epilogue): Likewise.
+ 	(sparc_dwarf_handle_frame_unspec): New function.
+ 	* config/sparc/sparc.md (save_register_window): Remove.
+ 	(save_register_windowdi): Rewrite modelled on the callframe debug info.
+ 	(save_register_windowsi): Likewise.
+ 
+ 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv-protos.h: Guard ifcvt functions declarations with
+ 	BB_HEAD, not BLOCK_HEAD.
+ 
+ 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
+ 	scratch insns that set a register live at the join point.
+ 
+ 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c, tree-ssa-operands.c: Fix comment typos.
+ 
+ 	* tree-cfg.c (tree_split_edge): Speed up by using find_edge.
+ 
+ 2004-11-26  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR target/18510
+ 	* doc/extend.texi (SPARC VIS Built-in Functions): New section.
+ 
+ 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
+ 	check that tests if all edges go to the same destination.
+ 
+ 	* bitmap.c (bitmap_find_bit): Speed up by traversing from
+ 	head->first if that seems profitable.
+ 
+ 2004-11-25  Jeff Law  <law@redhat.com>
+ 
+ 	* timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
+ 	* tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
+ 	(pass_loop_done): Use TV_TREE_LOOP_FINI.
+ 
+ 2004-11-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR rtl-optimization/16356
+ 	* config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
+ 	separate output register and one less jump.  Enable for powerpc64.
+ 	(floatdisf2): Adjust for above.
+ 
+ 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
+ 	(GCC_DRIVER_HOST_INITIALIZATION): Define.
+ 
+ 2004-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17957
+ 	* tree-complex.c (vector_inner_type): New variable moved from
+ 	build_word_mode_vector_type.
+ 	(vector_last_type): Likewise.
+ 	(vector_last_nunits): Likewise.
+ 	(build_word_mode_vector_type): Use the new variables.
+ 	* Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
+ 	(GTFILES): Add tree-complex.c.
+ 	(gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
+ 
+ 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
+ 	__XTENSA_WINDOWED_ABI__.
+ 
+ 2004-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument.  Save
+ 	args_size adjustments for calls even with cfa as stack pointer.
+ 	Search calls for stack adjustments after the insn is issued.
+ 	(dwarf2out_frame_debug): Add after_p argument; pass it on.
+ 	* dwarf2out.h (dwarf2out_frame_debug): Update to match.
+ 	* final.c (final_start_function, final_scan_insn): Likewise.
+ 
+ 2004-11-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/6764
+ 	* reload1.c (set_initial_eh_label_offset): New.
+ 	(set_initial_label_offsets): Use it.
+ 
+ 2004-11-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
+ 	before calling life_analysis and release them after.
+ 
+ 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-forwprop.c (substitute_single_use_vars): Remove
+ 	duplicate code.
+ 
+ 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
+ 	BITMAP_OBSTACK_ALLOC.
+ 	(BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
+ 
+ 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	parts of PR rtl-opt/18463, rtl-opt/17647
+ 	* cse.c (canon_for_address): New function.
+ 	(find_best_addr): Call canon_for_address before getting the
+ 	address's cost when checking if we should take that address.
+ 
+ 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (add_phi_arg): Take "tree" instead of
+ 	"tree *" as the first argument.
+ 	* tree-flow.h: Update the prototype of add_phi_arg.
+ 	* lambda-code.c, tree-cfg.c, tree-into-ssa.c,
+ 	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
+ 	tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
+ 	tree-vectorizer.c: Update all call sites of add_phi_arg.
+ 
+ 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ 	* bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ 	(BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
+ 	(BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
+ 
+ 2004-11-25  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/18587
+ 	* tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
+ 	call clobbered caches as invalid.
+ 	* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
+ 	indicating whether the call clobbered operand cache is valid.
+ 	(ssa_ro_call_cache_valid): New.  Flag indicating whether the
+ 	pure/const call operand cache is valid.
+ 	(clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached
+ 	list of operands for cached call virtual operands.
+ 	(clobbered_aliased_loads, clobbered_aliased_stores,
+ 	ro_call_aliased_load): New.  flags caching whether alias bits are
+ 	to be set in call stmt's.
+ 	(fini_ssa_operands): Remove call operand caches if present.
+ 	(get_expr_operands, get_asm_expr_operands,
+ 	get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
+ 	(get_call_expr_operands): Add call clobbered variables first.
+ 	(add_stmt_operand): Take stmt annotation rather than stmt as a param.
+ 	(add_call_clobber_ops, add_call_read_ops): Use the call operand cache
+ 	if it is valid, otherise fill the cache.
+ 	* tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
+ 	* tree-flow.h (struct var_ann_d): Add in_vuse_list and
+ 	in_v_may_def_list bits.
+ 	* tree-ssa-operands.c (cleanup_v_may_defs): New.  Clear the
+ 	in_list bits for the v_may_def elements and empty the operand
+ 	build array
+ 	(finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
+ 	VUSES by checking the in_v_may_def_list bit.
+ 	(append_v_may_def, append_vuse): Use the in_list bit rather than
+ 	scanning the array for duplicates.
+ 
+ 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
+ 	displacements are not short.
+ 
+ 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimize_pic_address): Use s390_load_address
+ 	to load addresses.
+ 
+ 2004-11-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/18001
+ 	* c-common.h (lvalue_use): Move here from c-ctypeck.c.
+ 	(lvalue_or_else): Declare.
+ 	* c-common.c (lvalue_or_else): Move here from c-typeck.c.
+ 	* c-typeck.c (lvalue_use): Remove.
+ 	(lvalue_or_else): Remove.
+ 
+ 	PR c++/18556
+ 	* toplev.c (check_global_declarations): Set DECL_IGNORED_P on
+ 	unemitted variables with static storage duration.
+ 
+ 2004-11-25  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* tree-cfg.c (tree_verify_flow_info): Do not terminate error()
+ 	message with \n.
+ 
+ 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/rs6000/altivec.md (VIshort): New mode macro.
+ 	(altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
+ 	with ...
+ 	(altivec_vaddu<VI_char>s): ... this.
+ 	(altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
+ 	with ...
+ 	(altivec_vadds<VI_char>s): ... this.
+ 	(altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
+ 	with ...
+ 	(altivec_vsubu<VI_char>s): ... this.
+ 	(altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
+ 	with ...
+ 	(altivec_vsubs<VI_char>s): ... this.
+ 	(altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
+ 	with ...
+ 	(altivec_vavgu<VI_char>): ... this.
+ 	(altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
+ 	with ...
+ 	(altivec_vavgs<VI_char>): ... this.
+ 	(altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
+ 	(altivec_vmsumu<VI_char>m): ... this.
+ 	(altivec_vmsummbm, altivec_vmsummhm): Replace
+ 	with ...
+ 	(altivec_vmsumm<VI_char>m): ... this.
+ 	(altivec_vandc): Remove.
+ 	(*andc<mode>3): Renamed to ...
+ 	(andc<mode>3): ... here. Swap operand 1 and 2 numbering.
+ 	(altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
+ 	with ...
+ 	(altivec_vrl<VI_char>): ... this.
+ 	(altivec_vslb, altivec_vslh, altivec_vslw): Replace
+ 	with ...
+ 	(altivec_vsl<VI_char>): ... this.
+ 	(altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
+ 	with ...
+ 	(altivec_vsr<VI_char>): ... this.
+ 	(altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
+ 	with ...
+ 	(altivec_vsra<VI_char>): ... this.
+ 	(altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
+ 	(altivec_vsum4s<VI_char>s): ... this.
+ 	(altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
+ 	with ...
+ 	(altivec_vperm_<mode>): ... this.
+ 	(altivec_vsel_4sf): Rename to ...
+ 	(altivec_vsel_v4sf): ... here.
+ 	(altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
+ 	with ...
+ 	(altivec_vsel_<mode>): ... this.
+ 	(altivec_vsldoi_4si, altivec_vsldoi_8hi,
+ 	altivec_vsldoi_16qi): Rename to ...
+ 	(altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
+ 	altivec_vsldoi_v16qi): ... here.
+ 	(altivec_vsldoi_4sf): Rename to ...
+ 	(altivec_vsldoi_v4sf): ... here.
+ 	(altivec_predicate_v4si, altivec_predicate_v8hi,
+ 	altivec_predicate_v16qi): Replace with ...
+ 	(altivec_predicate_<mode>): ... this.
+ 	(altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
+ 	with ...
+ 	(altivec_lve<VI_char>x): ... this.
+ 	(altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
+ 	with ...
+ 	(altivec_stve<VI_char>x): ... this.
+ 	(absv16qi2, absv8hi2, absv4si2): Replace
+ 	with ...
+ 	(abs<mode>2): ... this.
+ 	(altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
+ 	with ...
+ 	(altivec_abss_<mode>): ... this.
+ 	(vec_realign_load_v16qi, vec_realign_load_v8hi,
+ 	vec_realign_load_v4si): Replace with ...
+ 	(vec_realign_load_<mode>): ... this.
+ 	* config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
+ 	insn names.
+ 	(rs6000_expand_ternop_builtin): Likewise.
+ 
+ 2004-11-25  Andrew Haley  <aph@redhat.com>
+ 
+ 	* gcc.c (process_command): Don't supply -v to linker.
+ 
+ 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
+ 	instead of `%s' in diagnostic.
+ 
+ 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
+ 	(FREE_REG_SET): Adjust.
+ 	* bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
+ 	* bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
+ 	(BITMAP_ALLOC): ... here.
+ 	(BITMAP_OBSTACK_FREE): Rename to ...
+ 	(BITMAP_FREE): Don't check for NULL bitmap here.
+ 	* tree-ssa-pre.c (value_insert_into_set_bitmap,
+ 	bitmap_set_new): Use new names.
+ 
+ 	* bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
+ 	* df.c (df_free): Likewise.
+ 	* ra-build.c (ra_build_free, ra_build_free_all): Likewise.
+ 	* tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
+ 
+ 	* basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
+ 	(ALLOC_REG_SET): ... here.
+ 	(FREE_REG_SET): Adjust.
+ 	(XMALLOC_REG_SET, XFREE_REG_SET): Remove.
+ 	* bb-reorder.c (fix_crossing_conditional_branches): Adjust.
+ 	* cfglayout.c (cfg_layout_duplicate_bb): Adjust.
+ 	* cfgrtl.c (rtl_split_block, rtl_split_edge,
+ 	safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
+ 	* flow.c (update_life_info, calculate_global_regs_live,
+ 	allocate_bb_life_data, init_propagate_block_info): Adjust.
+ 	* global.c (build_insn_chain): Adjust.
+ 	* ifcvt.c (dead_or_predicable): Adjust.
+ 	* loop-iv.c (simplify_using_initial_values): Adjust.
+ 	* recog.c (peephole2_optimize): Adjust.
+ 	* sched-deps.c (init_deps_global): Adjust.
+ 
+ 2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc (avr-*-rtems*): Fix typo.
+ 
+ 2004-11-25  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
+ 
+ 2004-11-24  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
+ 	the number of queries to random elements in the ai->written_vars
+ 	bitmap.
+ 
+ 2004-11-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (override_options): Disable x87 fancy math
+ 	intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
+ 
+ 2004-11-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
+ 	system header conflict on AIX 5.2.
+ 	* configure: Regenerate.
+ 
+ 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
+ 	instead of calling phi_arg_from_edge.
+ 
+ 	* tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
+ 	with e->dest_idx.
+ 
+ 2004-11-24  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
+ 	* config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
+ 	* config/i386/i386-protos.h (i386_dwarf_output_addr_const):
+ 	Likewise.
+ 
+ 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
+ 
+ 	* tree-inline.c (copy_body_r): Explicitly copy a constant if the
+ 	type will be remapped.
+ 
+ 2004-11-24  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* c-opts.c (c_common_post_options): Don't clear
+ 	flag_inline_functions.
+ 	* dojump.c (clear_pending_stack_adjust): Remove check on
+ 	flag_inline_functions, it's always true.
+ 	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
+ 	that can never trigger.
+ 	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
+ 	flag_inline_trees, now that flag_inline_functions is never
+ 	cleared.
+ 	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
+ 	flag_inline_functions at optimization levels greater than
+ 	or equal to 3.  This is already done by default.
+ 
+ 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
+ 	instead to find the PHI argument.  Do not take I as an
+ 	argument.
+ 	(eliminate_phi): Adjust the call to eliminate_build.  Do not
+ 	take I as an argument.
+ 	(rewrite_trees): Adjust the call to eliminate_phi.
+ 
+ 2004-11-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optabs.h (force_expand_binop): Declare.
+ 	* optabs.c (force_expand_binop): Export.
+ 	* stmt.c (shift_return_value): Delete.
+ 	(expand_return): Don't call it.
+ 	* expr.h (shift_return_value): Declare.
+ 	* calls.c (shift_returned_value): Delete in favor of...
+ 	(shift_return_value): ...this new function.  Leave the caller to check
+ 	for non-BLKmode values passed in the msb of a register.  Take said mode
+ 	and a shift direction as argument.  Operate on the hard function value,
+ 	not a pseudo.
+ 	(expand_call): Adjust accordingly.
+ 	* function.c (expand_function_start): If a non-BLKmode return value
+ 	is padded at the last significant end of the return register, use the
+ 	return value's natural mode for the DECL_RESULT, not the mode of the
+ 	padded register.
+ 	(expand_function_end): Shift the same sort of return values left by
+ 	the appropriate amount.
+ 
+ 2004-11-24  Matt Austern  <austern@apple.com>
+ 
+ 	* recog.c (recog_memoized_1): Remove.
+ 	* recog.h (recog_memoized_1): Remove declaration.
+ 	(recog_memoized): Change from macro to inline function.
+ 
+ 2004-11-24  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR/18555
+ 	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
+ 	* config/darwin-c.c (darwin_register_frameworks): Use sysroot.
+ 
+ 2004-11-24  Devang Patel  <dpatel@apple.com>
+ 
+ 	* gcc.c (process_command): Supply -v to linker.
+ 
+ 2004-11-24  David Edelsohn  <edelsohn@gnu.org>
+ 	    Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
+ 	vector modes without ALTIVEC_ABI.  Use GCC vector instead of
+ 	synthetic vector.
+ 	(rs6000_pass_by_reference): Split conditional into pieces.  Use
+ 	GCC vector instead of synthetic vector.
+ 
+ 2004-11-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* tree.c (recompute_tree_invarant_for_addr_expr): The address of a
+ 	thread-local variable is invariant.
+ 
+ 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
+ 	Handle TYPE_REF_CAN_ALIAS_ALL.
+ 	(print_declaration): Print array dimensions like dump_generic_node.
+ 
+ 	* fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
+ 	ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
+ 
+ 2004-11-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.c (INLINE): Do not define.
+ 	(bitmap_elem_to_freelist, bitmap_element_free,
+ 	bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
+ 	bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
+ 
+ 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
+ 	find the index of a PHI argument.  Use e->dest_idx instead.
+ 	Replace hint with index.
+ 
+ 	* tree-ssa-dom.c (cprop_into_successor_phis): Replace index
+ 	with indx.
+ 
+ 2004-11-24  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (merge_pointed_to_info): Fix comment
+ 	regarding PT_MALLOC.
+ 
+ 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
+ 
+ 	* config/i386/i386.c (optimization_options): Use
+ 	SUBTARGET_OPTIMIZATION_OPTIONS.
+ 	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
+ 	(TARGET_SUBTARGET_DEFAULT): Don't include
+ 	MASK_OMIT_LEAF_FRAME_POINTER.
+ 
+ 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
+ 	Define to false.
+ 
+ 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
+ 
+ 	* config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
+ 	Use amd64 instead of 64.
+ 
+ 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
+ 	    Joseph Myers  <joseph@codesourcery.com>
+ 
+ 	* crtstuff.c (IN_LIBGCC2): Define it.
+ 	(EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
+ 	instead of HAVE_LD_RO_RW_SECTION_MIXING.
+ 	* defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
+ 	* dwarf2out.c (named_section_eh_frame_section): Check
+ 	EH_TABLES_CAN_BE_READ_ONLY.
+ 	* except.c (default_exception_section): Likewise.
+ 	* config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
+ 	* doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
+ 
+ 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-pre.c (phi_translate): Use find_edge to find the
+ 	index of a PHI argument.
+ 
+ 	* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use
+ 	find_edge to find the index of a PHI argument.
+ 
+ 2004-11-24  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
+ 	and LABELED_BLOCK_EXPR.
+ 	* gimplify.c (gimplify_labeled_block_expr): Remove.
+ 	(gimplify_exit_block_expr): Remove.
+ 	(gimplify_expr): Don't call them.
+ 	* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
+ 	and LABELED_BLOCK_EXPR.
+ 	(estimate_num_insns_1): Likewise.
+ 	(walk_tree): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Don't handle
+ 	EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
+ 	* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
+ 	(LABELED_BLOCK_EXPR): Likewise.
+ 	* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
+ 	(LABELED_BLOCK_BODY): Likewise.
+ 	(EXIT_BLOCK_LABELED_BLOCK): Likewise.
+ 	(EXIT_BLOCK_RETURN): Removed.
+ 
+ 2004-11-24  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgrtl.c (rtl_delete_block): Fix comment.
+ 	* emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG
+ 	or BLOCK_END insn notes.
+ 	* jump.c (squeeze_notes): Likewise.
+ 	* haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and
+ 	EH_REGION_END notes, we never have them to begin with.
+ 	* sched-deps.c (sched_analyze_insn): When updating loop notes,
+ 	verify that we have indeed only recorded loop notes.
+ 	(sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes.
+ 	Only record loop notes.
+ 
+ 	* cfgexpand.c (tree_expand_cfg): Fix comment.
+ 
+ 	* passes.c (rest_of_compilation): Don't do a second call to
+ 	convert_from_eh_region_ranges from here, it's already called
+ 	from cfgexpand.c.
+ 	* except.c (resolve_fixup_regions): Remove.
+ 	(remove_fixup_regions): Remove.
+ 	(convert_from_eh_region_ranges_1): Remove.
+ 	(convert_from_eh_region_ranges): Remove the case where EH is
+ 	not already lowered at the tree level.  We always lower there.
+ 
+ 2004-11-24  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR c++/16882
+ 	* tree.c (make_vector_type): Move qualifiers to the vector type,
+ 	use the inner type's main variant and build a main variant for
+ 	the vector type if necessary.
+ 	(type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS.
+ 
+ 2004-11-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* target.h (late_rtl_prologue_epilogue): Remove.
+ 	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
+ 	* system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
+ 	* passes.c (rest_of_handle_prologue_epilogue): Remove and move
+ 	remaining bits to...
+ 	(rest_of_handle_flow2): ...here.
+ 	(rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
+ 	* doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
+ 
+ 2004-11-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* hwint.h (HOST_LONG_LONG_FORMAT): New macro.  Use it throughout.
+ 	* config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
+ 	* doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
+ 
+ 2004-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/i386/i386.c (override_options): Move
+ 	SUBTARGET_OVERRIDE_OPTIONS before defaulting
+ 	flag_omit_frame_pointer.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (validate_subreg): Declare.
+ 	* emit-rtl.c (validate_subreg): New.
+ 	(gen_rtx_SUBREG): Use it.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	(simplify_gen_subreg): Likewise.  Remove duplicate asserts.
+ 	* expr.c (emit_move_insn_1): Tidy complex move code.  Use memory
+ 	fallback whenever gen_realpart/gen_imagpart would not be able to
+ 	create SUBREGs.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (extract_bit_field): Use simplify_gen_subreg instead of
+ 	hard-coding avoiding calls to gen_rtx_SUBREG.  Split complex return
+ 	modes to CONCAT.
+ 
+ 2004-11-23  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/18618
+ 	* tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare.
+ 	(insert_phi_nodes_for): Change third argument to VEC(basic_block).
+ 	* tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap).
+ 	Update all users.
+ 	(stmts_to_rescan): Likewise.
+ 	(const_and_copies_stack): Likewise.
+ 	(nonzero_vars_stack): Likewise.
+ 	(vrp_variables_stack): Likewise.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (record_jump_cond_subreg): New.
+ 	(record_jump_cond): Use it instead of gen_lowpart.
+ 
+ 2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
+ 	    Joseph Myers  <joseph@codesourcery.com>
+ 
+ 	* config/sol2-c.c (solaris_register_pragmas): Use
+ 	c_register_pragma_with_expansion.
+ 	* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
+ 	* c-pragma.c (c_register_pragma): Update call to
+ 	cpp_register_pragma.
+ 	(c_register_pragma_with_expansion): New function.
+ 	(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
+ 	* c-pragma.h (c_register_pragma_with_expansion): New prototype.
+ 	* doc/extend.texi (Solaris Pragmas): Mention macro expansion for
+ 	#pragma align.
+ 	* doc/tm.texi (c_register_pragma_with_expansion,
+ 	HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (gen_lowpart_for_combine): Factor out mode of x as well
+ 	as mode sizes into local temporaries.  Unify failure path.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
+ 	* caller-save.c (mark_set_regs): Use subreg_regno instead.
+ 	* final.c (alter_subreg): Likewise.
+ 	* local-alloc.c (reg_is_born): Likewise.
+ 
+ 2004-11-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
+ 	instead of using a SUBREG temporary.
+ 
+ 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
+ 	two checks.
+ 
+ 2004-11-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* function.h (struct function): Remove calls_longjmp.
+ 	(current_function_calls_longjmp): Delete.
+ 	* tree.h (ECF_LONGJMP): Delete.
+ 	(ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
+ 	(ECF_LIBCALL_BLOCK): Everybody slide down one.
+ 	(ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
+ 	* builtins.c (expand_builtin_longjmp): Don't set
+ 	current_function_calls_longjmp.
+ 	* calls.c (special_function_p): Mark longjmp and siglongjmp
+ 	with ECF_NORETURN, not ECF_LONGJMP.
+ 	(emit_call_1, expand_call, emit_library_call_value_1):
+ 	Don't check for ECF_LONGJMP.
+ 	* tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
+ 	(need_fake_edge_p): Likewise.
+ 
+ 	* config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
+ 	* system.h: Poison NON_SAVING_SETJMP.
+ 	* function.c (use_register_for_decl)
+ 	* gcse.c (compute_hash_table_work, compute_store_table)
+ 	* postreload-gcse.c (record_opr_changes)
+ 	* reload.c (find_equiv_reg)
+ 	* reload1.c (reload)
+ 	* config/i386/i386.c (ix86_can_use_return_insn_p):
+ 	Remove code conditional on NON_SAVING_SETJMP.
+ 	* doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
+ 
+ 	* config/i386/sysv3.h: Delete file.
+ 	* config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
+ 
+ 2004-11-23  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_operations): Don't vectorize if
+ 	the vectorization factor is greater than the iteration count.
+ 	(vect_gen_niters_for_prolog_loop): No need to calculate min if the
+ 	iteration count is known.
+ 
+ 	(vect_build_symbol_bound): Removed. Its functionality moved to
+ 	vect_generate_tmps_on_preheader.
+ 	(vect_generate_tmps_on_preheader): Moved content of
+ 	vect_build_symbol_bound here instead of calling it.  Changed some
+ 	variables names.
+ 
+ 	(vect_build_loop_niters): We don't expect a new_bb to be generated -
+ 	use gcc_assert.
+ 	(vect_gen_niters_for_prolog_loop): Likewise.
+ 	(vect_gen_niters_for_prolog_loo): Likewise.
+ 
+ 	(slpeel_make_loop_iterate_ntimes): Use buildN instead of build.
+ 	(slpeel_add_loop_guard): Likewise.
+ 	(slpeel_tree_peel_loop_to_edge): Likewise.
+ 	(vect_do_peeling_for_alignment): Likewise.
+ 
+ 	(vect_get_first_index): Missing space.
+ 
+ 2004-11-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*iordi3"): Mark commutative.
+ 	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
+ 
+ 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinode.c (resize_phi_node): Abort when LEN is strictly
+ 	greater than PHI_ARG_CAPACITY.
+ 	(reserve_phi_args_for_new_edge): Initialize the new PHI
+ 	argument to NULL_TREE.  Increment PHI_NUM_ARGS.
+ 	(add_phi_arg): Add a PHI argument to the slot given by
+ 	E->dest_idx.
+ 	(remove_phi_arg_num): Do not write to PHI_ARG_EDGE.
+ 	* tree-flow-inline (phi_arg_from_edge): Return E->dest_idx.
+ 	* tree-ssa.c (ssa_redirect_edge): Check for a missing PHI
+ 	argument by looking at PHI_ARG_DEF.
+ 	(verify_phi_args): Check for a missing PHI argument.  Remove
+ 	the check for duplicate PHI arguments.
+ 	* tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED.
+ 	(phi_arg_d): Remove e.
+ 
+ 	* tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up
+ 	by restricting to the case with two outgoing edges.
+ 
+ 2004-11-23  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_backchain_string): Removed.
+ 	(s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info)
+ 	(s390_emit_prologue, s390_va_start, s390_gimplify_va_arg):
+ 	Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and
+ 	TARGET_KERNEL_BACKCHAIN to reflect the new options.
+ 	* config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros.
+ 	(TARGET_KERNEL_BACKCHAIN): Removed.
+ 	(TARGET_BACKCHAIN): Former triple state option change to a target flag.
+ 	(TARGET_PACKED_STACK): New macro.
+ 	(TARGET_SWITCHES): New switches added.
+ 	(TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain"
+ 	removed.
+ 	(DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK.
+ 	* config/s390/s390.md ("allocate_stack", "restore_stack_block")
+ 	("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect
+ 	the change in target switch semantics.
+ 	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed.
+ 	(TARGET_DEFAULT): MASK_BACKCHAIN added.
+ 	* doc/invoke.texi: Added documentation for the new/changed options.
+ 
+ 2004-11-23  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR rtl-optimization/18614
+ 	* simplify-rtx.c (simplify_binary_operation): Do not
+ 	simplify inner elements of constant arguments of
+ 	VEC_CONCAT insn.
+ 
+ 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* gthr-solaris.h (__gthread_recursive_mutex_init_function): Use
+ 	0 instead of NULL.
+ 
+ 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinode.c (make_phi_node): Use a new variable,
+ 	capacity, to receive the return value of ideal_phi_node_len.
+ 
+ 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* gthr-solaris.h (__gthread_recursive_mutex_t): New type.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
+ 	__gthread_recursive_mutex_init_function.
+ 	(__gthread_key_create): Properly cast -1.
+ 	(__gthread_recursive_mutex_init_function): New function.
+ 	(__gthread_recursive_mutex_lock): Rewrite.
+ 	(__gthread_recursive_mutex_trylock): Likewise.
+ 	(__gthread_recursive_mutex_unlock): Likewise.
+ 
+ 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config/c4x/t-rtems: New.
+ 	* config.gcc: Reflect having added c4x/t-rtems.
+ 
+ 2004-11-23  Dorit Naishlos <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18403
+ 	PR tree-opt/18505
+ 	* tree-vectorizer.c (vect_create_data_ref_ptr): Use
+ 	lang_hooks.types.type_for_size instead of integer_type_node for the
+ 	type of ptr_update.
+ 
+ 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
+ 
+ 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config/arm/t-rtems: New.
+ 	* config.gcc: Reflect having added arm/t-rtems.
+ 
+ 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_execute_on_growing_pred): New.
+ 	(tree_cfg_hooks): Add tree_execute_on_growing_pred.
+ 	* tree-flow.h: Add a prototype for
+ 	reserve_phi_args_for_new_edge.
+ 	* tree-phinodes.c (reserve_phi_args_for_new_edge): New.
+ 	(add_phi_arg): Don't resize a PHI array.
+ 
+ 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc: Add avr-*-rtems*.
+ 	* config/avr/t-rtems: New.
+ 	* config/avr/rtems.h: New.
+ 
+ 2004-11-22  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's
+ 	always the same as op1.  Use bitmap_ior_into and bitmap_and_into.
+ 	Add comment to function.
+ 
+ 2004-11-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR pch/14940
+ 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__.
+ 
+ 	PR rtl-optimization/14838
+ 	* emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
+ 	note.
+ 	(get_last_nonnote_insn): Don't assume last insn is a note.
+ 
+ 2004-11-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (nondestructive_fold_binary_to_constant): Rename
+ 	to fold_binary_to_constant.
+ 	(nondestructive_fold_unary_to_constant): Likewise, rename to
+ 	fold_unary_to_constant.
+ 	(fold_relational_hi_lo): Update call to fold_binary_to_constant.
+ 	* tree.h (nondestructive_fold_binary_to_constant): Update prototype.
+ 	(nondestructive_fold_unary_to_constant): Likewise.
+ 	* tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant
+ 	and fold_binary_to_constant.
+ 	* tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
+ 	(inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY
+ 	and EXEC_UNARY with calls to fold_*nary_to_constant.
+ 	* tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
+ 	(idx_find_step): Replace uses of EXEC_BINARY with calls to
+ 	fold_binary_to_constant.
+ 
+ 2004-11-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
+ 	initialisation of 'e'.
+ 
+ 2004-11-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro.
+ 	* config/i386/i386.c (override_options):  Set MASK_NO_FANCY_MATH_387
+ 	automatically for targets without TARGET_80387.
+ 	* config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2,
+ 	sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2,
+ 	*sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3,
+ 	fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2,
+ 	*sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2,
+ 	*cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3,
+ 	*tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2,
+ 	atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2,
+ 	atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2,
+ 	acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2,
+ 	log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2,
+ 	fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2,
+ 	logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2,
+ 	expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2,
+ 	exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2,
+ 	rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2,
+ 	floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2,
+ 	frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2,
+ 	frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2):
+ 	Simplify conditionals using TARGET_USE_FANCY_MATH_387.
+ 
+ 2004-11-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION):  Conditionalize
+ 	properly and comment.
+ 
+ 2004-11-22  James A. Morrison  <phython@gcc.gnu.org
+ 
+ 	* config/sparc/sparc.c: Include insn-codes.h and langhooks.h.
+ 	(sparc_init_builtins): New function.
+ 	(sparc_init_vis_builtins): Create builtin functions for VIS
+ 	instructions.
+ 	(sparc_expand_builtin): Expand builtin functions for VIS instructions.
+ 	(TARGET_INIT_BUILTINS): Define to sparc_init_builtins.
+ 	(TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin.
+ 	(def_builtin): New macro for creating builtin functions.
+ 	* config/sparc/sparc.md (P): New mode macro for pointer types.
+ 	(UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND,
+ 	UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL,
+ 	UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants.
+ 	(fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis,
+ 	fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
+ 	fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis,
+ 	faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns.
+ 
+ 2004-11-22  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (clean_predicate_lists): Clean all basic blocks.
+ 
+ 2004-11-22  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (if_convertable_phi_p): Rename to ...
+ 	(if_convertible_phi_p): ... new name.
+ 	(if_convertable_modify_expr_p): Rename to ...
+ 	(if_convertible_modify_expr_p): ... new name.
+ 	(if_convertable_stmt_p): Rename to ...
+ 	(if_convertible_stmt_p): ... new name.
+ 	(if_convertable_bb_p): Rename to ...
+ 	(if_convertible_bb_p): ... new name.
+ 	(if_convertable_loop_p): Rename to ...
+ 	(if_convertible_loop_p): ... new name.
+ 
+ 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/18444
+ 	* configure.ac (threading): Accept 'posix95'.
+ 	* configure: Regenerate.
+ 	* config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6,
+ 	include sol26.h and default to posix95 threads if have_pthread_h.
+ 	(sparc-*-solaris2*): Likewise.
+ 	* gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined.
+ 	* gthr-posix95.h: New file.
+ 	* config/sol26.h: New file.
+ 	* doc/install.texi (--enable-threads): Document 'posix95'.
+ 
+ 2004-11-23  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* pointer-set.h (pointer_set_contains): Remove.
+ 	* pointer-set.c (pointer_set_contains): Likewise.
+ 
+ 2004-11-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* calls.c (expand_call): Do not call preserve_temp_slots.
+ 
+ 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow.h: Remove the prototype for remove_phi_arg.
+ 	Add a prototype for remove_phi_args.
+ 	* tree-phinodes.c (remove_phi_arg): Remove.
+ 	(remove_phi_args): New.
+ 	* tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead
+ 	of remove_phi_arg.
+ 
+ 	* cfg.c (unchecked_make_edge): Call execute_on_growing_pred
+ 	after making an edge.
+ 	(remove_edge): Call execute_on_shrinking_pred before removing
+ 	an edge.
+ 	(redirect_edge_succ): Call execute_on_growing_pred and
+ 	execute_on_shrinking_pred.
+ 	* cfghooks.c (execute_on_growing_pred): New.
+ 	(execute_on_shrinking_pred): Likewise.
+ 	* cfghooks.h (cfg_hooks): Add execute_on_growing_pred and
+ 	execute_on_shrinking_pred.
+ 	Add prototypes for execute_on_growing_pred and
+ 	execute_on_shrinking_pred.
+ 	* cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to
+ 	execute_on_growing_pred and execute_on_shrinking_pred.
+ 	(cfg_layout_rtl_cfg_hook): Likewise.
+ 	* tree-cfg.c (tree_cfg_hooks): Likewise.
+ 
+ 	* tree-cfg.c (tree_execute_on_shrinking_pred): New.
+ 	(tree_cfg_hooks): Use it.
+ 	* tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args.
+ 	(ssa_redirect_edge): Don't call remove_phi_arg_num.
+ 
+ 	* tree-phinodes.c (remove_phi_arg_num): Make it static.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 
+ 	* tree-ssa.c (ssa_remove_edge): Remove.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 	* tree-cfg.c: Replace ssa_remove_edge with remove_edge.
+ 	* basic-block.h: Likewise.
+ 	* tree-if-conv.c: Likewise.
+ 	* tree-ssa-threadupdate.c: Likewise.
+ 
+ 2004-11-23  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/cfg.texi (Maintaining the CFG): Use @ftable instead of
+ 	@table to list the BSI methods.  Use individual @findex directives
+ 	instead of one with a comma-separated list of index entries.
+ 
+ 2004-11-22  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18529
+ 	* fold-const.c (fold_to_nonsharp_ineq_using_bound): New function.
+ 	(simple_operand_p): Use STRIP_NOPS.  Consider SSA names simple.
+ 	(fold): Call fold_to_nonsharp_ineq_using_bound.
+ 	* tree-ssa-loop-niter.c (simplify_replace_tree): New function.
+ 	(number_of_iterations_cond): Fold the expressions before futher
+ 	processing.
+ 	(tree_simplify_using_condition): Handle case when cond or expr is
+ 	an EQ_EXPR specially.
+ 
+ 2004-11-22 Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
+ 	SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes.
+ 
+ 2004-11-22  David Edelsohn  <edelsohn@gnu.org>
+ 	    Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Test
+ 	TARGET_ALTIVEC_ABI.
+ 	(function_arg_boundary): Align 8 to 16 byte vectors like SPE.
+ 	Align 16 byte and larger vectors like Altivec.
+ 	(function_arg_advance): Pass any 16 byte vector like Altivec vector.
+ 	(function_arg): Same.
+ 	(rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI.
+ 
+ 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18572
+ 	* tree-sra.c (scalarize_init): Unshare the rhs before gimplifying
+ 	it.
+ 
+ 2004-11-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_block): Revert 11-13 change to
+ 	forcably re-mode a (possibly BLKmode) hard register.
+ 
+ 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN.
+ 
+ 2004-11-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md: Remove delay between dispatch and issue
+ 	associated with dispatch group slots 3 and 4.
+ 	* config/rs6000/power5.md: Same.
+ 
+ 2004-11-21  Jeff Law  <law@redhat.com>
+ 
+ 	* cfg.c (cached_make_edge): Use find_edge rather than an inlined
+ 	variant.
+ 	* cfgbuild.c (make_edges): Likewise.
+ 	* cfghooks.c (can_duplicate_block_p): Likewise.
+ 	* cfgloop.c (loop_latch_edge): Likewise.
+ 	* cfgloopmanip.c (force_single_succ_latches): Likewise.
+ 	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
+ 	* predict.c (predict_loops, propagate_freq): Likewise.
+ 	* tracer.c (tail_duplicate): Likewise.
+ 	* tree-cfg.c (disband_implicit_edges): Likewise.
+ 	(tree_forwarder_block_p, tree_flow_call_edges_add): Likewise.
+ 
+ 2004-11-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
+ 	initialisation of 'e'.
+ 
+ 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR rtl-optimization/18599
+ 	* regrename.c (copyprop_hardreg_forward): Speed up by putting
+ 	BB_VISITED flags on basic blocks as we process them.
+ 
+ 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR target/18531
+ 	* config/rs6000/altivec.md (VI_char): New mode attribute.
+ 	(addv16qi3, addv8hi3, addv4ai3): Replace with ...
+ 	(add<mode>3): ... this.
+ 	(subv16qi3, subv8hi3, subv4ai3): Replace with ...
+ 	(sub<mode>3): ... this.
+ 	(smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ...
+ 	(smax<mode>3): ... this.
+ 	(sminv16qi3, sminv8hi3, sminv4ai3): Replace with ...
+ 	(smin<mode>3): ... this.
+ 	(umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ...
+ 	(umax<mode>3): ... this.
+ 	(uminv16qi3, uminv8hi3, uminv4ai3): Replace with ...
+ 	(umin<mode>3): ... this.
+ 	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
+ 	(and<mode>3): ... this.
+ 	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
+ 	(ior<mode>3): ... this.
+ 	(xorv16qi3, xorv8hi3, xorv4ai3): Replace with ...
+ 	(xor<mode>3): ... this.
+ 	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
+ 	(and<mode>3): ... this.
+ 	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
+ 	(ior<mode>3): ... this.
+ 	(altivec_vnor): Replace with ...
+ 	(altivec_nor<mode>): ... this.
+ 	(one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ...
+ 	(one_cmpl<mode>2): ... this.
+ 	(altivec_vandc): New expander.
+ 	(*andc<mode>3): New insn.
+ 	* config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names.
+ 
+ 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18536
+ 	* tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
+ 	creating iv instead of integer_type.
+ 	(vect_build_loop_niters): Remove redundant code.
+ 	(vect_transform_loop_bound): Removed (duplicates functionality of
+ 	make_loop_iterate_ntimes.
+ 	(vect_gen_niters_for_prolog_loop): Add documentation. Call
+ 	lang_hooks.types.type_for_size to create a type of the required size.
+ 	Use that type instead of integer_type. Remove redundant code.
+ 	(vect_update_niters_after_peeling): Use type of niters instead of
+ 	integer_type.
+ 	(vect_transform_loop): Unify handling of known and unknown loop bound
+ 	cases. Call make_loop_iterate_ntimes instead of
+ 	vect_transform_loop_bound.
+ 
+ 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/18217
+ 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to
+ 	(LIB2ADDEH): Here.
+ 
+ 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18544
+ 	* tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
+ 
+ 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
+ 	m32r*linux.
+ 	* config/m32r/t-linux (SHLIB_MAPFILES): Override to use
+ 	m32r/libgcc-glibc.ver.
+ 	* config/m32r/libgcc-glibc.ver: Add New file.
+ 
+ 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (struct bitmap_obstack): New obstack type.
+ 	(struct bitmap_head_def): Replace using_obstack with obstack
+ 	pointer.
+ 	(bitmap_default_obstack): New.
+ 	(bitmap_initialize): Make inline, does not do allocation.
+ 	(bitmap_release_memory): Remove.
+ 	(bitmap_obstack_initialize, bitmap_obstack_release): Declare.
+ 	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
+ 	bitmap_obstack_free, bitmap_malloc_free): Declare.
+ 	(BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
+ 	(BITMAP_FREE): Replace with ...
+ 	(BITMAP_OBSTACK_FREE): ... this.
+ 	(BITMAP_XFREE): Adjust.
+ 	(BITMAP_INIT_ONCE): Remove.
+ 	* bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
+ 	(bitmap_default_obstack): New.
+ 	(bitmap_elem_to_freelist): Adjust.
+ 	(bitmap_element_allocate): Adjust. Break initialization into ...
+ 	(bitmap_obstack_initialize): ... here.
+ 	(bitmap_release_memory): Replace with ...
+ 	(bitmap_obstack_release): ... this.
+ 	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
+ 	bitmap_obstack_free, bitmap_malloc_free): New.
+ 	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
+ 	bitmap_initialize.
+ 	(bitmap_initialize): Move to bitmap.h.
+ 	* gengtype.c (open_base_files): Add obstack.h to ifiles.
+ 	* Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
+ 	* basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
+ 	(INITIALIZE_REG_SET): Remove.
+ 	(FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
+ 	(INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
+ 	(flow_obstack): Do not declare.
+ 	(reg_obstack): Declare.
+ 	* regs.h: Include obstack.h.
+ 	* tree-optimize.c (tree_rest_of_compilation): Initialize and
+ 	release bitmap obstack here.
+ 	* bb-reorder.c: #include regs, not basic-block.
+ 	(fix_crossing_conditional_branches): Allocate regsets from
+ 	reg_obstack.
+ 	* bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
+ 	obstack.h.
+ 	* caller-save.c: Include regs.h earlier.
+ 	* cfg.c: Do not include basic-block.h or obstack.h.
+ 	(reg_obstack): Define.
+ 	* cfganal.c: Include obstack.h
+ 	* cfgcleanyp.c: Do not include basic-block.h. Include regs.h
+ 	earlier.
+ 	* cfglayout.c: Do not include obstack.h.
+ 	(flow_obstack): Remove declaration.
+ 	(cfg_layout_duplicate_bb): Use reg_obstack.
+ 	* cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
+ 	* cfgrtl.c (rtl_split_block): Use reg_obstack.
+ 	(force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
+ 	(safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
+ 	(cfg_layout_split_edge): Use reg_obstack.
+ 	* cse.c: Include regs.h earlier.
+ 	* ddg.c: Do not include basic-block.h.
+ 	* dominance.c: Inlude obstack.h.
+ 	* flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
+ 	(calculate_global_regs_live): Likewise.
+ 	(allocate_bb_life_data): Use reg_obstack.
+ 	(init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
+ 	* global.c: Do not include basic-block.h.
+ 	(build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
+ 	* graph.c: Include obstack.h.
+ 	* haifa-sched.c: Do not include basic-block.h.
+ 	* ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
+ 	* local-alloc.c: Do not include basic-block.h.
+ 	* loop-init.c, loop-invariant.c: Include obstack.h.
+ 	* loop-iv.c: Likewise.
+ 	(simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
+ 	adjust.
+ 	* loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
+ 	* modulo-sched.c: Do not include basic-block.h.
+ 	* passes.c (rest_of_handle_final): Do not call
+ 	regset_release_memory.
+ 	* ra-debug.c: Include regs.h earlier. Do not include
+ 	basic-block.h.
+ 	* recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
+ 	* regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
+ 	(allocate_reg_info): Do not call MAX_REGNO_REG_SET.
+ 	(regset_release_memory): Remove.
+ 	* resource.c: Do not include basic-block.h.
+ 	* rtlanal.c: Do not include basic-block.h.
+ 	* sbitmap.c: Include obstack.h.
+ 	* sched-deps.c: Do not include basic-block.h.
+ 	(reg_pending_sets_head, reg_pending_clobbers_head,
+ 	reg_pending_uses_head): Remove.
+ 	(init_deps_global): Use OBSTACK_ALLOC_REG_SET.
+ 	* sched-ebb.c: Do not include basic-block.h.
+ 	* sched-rgn.c: Likewise.
+ 	* tree-if-conv.c (get_loop_body_in_if_conv_order): Use
+ 	BITMAP_XFREE.
+ 	* tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
+ 	* tree-sra.c (decide_instantiations): Adjust bitmap
+ 	initialization.
+ 	* tree-ssa-dce.c: Include obstack.h.
+ 	* tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
+ 	(value_insert_into_set_bitmap): Remove useless bitmap_clear.
+ 	(bitmap_set_new): Likewise.
+ 	(init_pre): Initialize bitmap obstack.
+ 	(fini_pre): Release bitmap obstack.
+ 	* tree-ssanames.c (ssa_names_to_rewrite): Make static.
+ 	(marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
+ 	(mark_for_rewrite, unmark_for_rewrite): Likewise.
+ 	(marked_ssa_names): Likewise.
+ 	(init_ssanames): Use BITMAP_XMALLOC.
+ 	(fini_ssanames): Use BITMAP_XFREE.
+ 	* web.c: Include obstack.h
+ 
+ 2004-11-22  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge
+ 	predecessor in the first for-loop.
+ 
+ 2004-11-21  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add
+ 	UNION_TYPE case.
+ 	(function_arg): Move darwin test up, sniff mode first for
+ 	efficiency, test for union type.
+ 
+ 2004-11-21  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION):  Define.
+ 
+ 2004-11-21  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa.c (verify_use): Fix comment.
+ 	(verify_phi_args): Check that the number of incoming edges matches
+ 	the number of PHI arguments.  Check that each PHI argument is
+ 	either an SSA_NAME or an invariant.  Coalesce tests for PHIs for
+ 	dead or duplicated edges.  Clear e->aux earlier and avoid separate
+ 	loop to clear e->aux and test for missed edges.
+ 	(verify_ssa): Remove first walk over statements.  Move checking
+ 	of PHI args into verify_phi_args.  Move checking of statements
+ 	with aliased stores and V_MAY_DEFS into the remaining loop over
+ 	the statements.  Register defs by walking through the formal
+ 	SSA_NAME table.
+ 
+ 2004-11-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18520
+ 	* dojump.c (compare_from_rtx): Clarify mode argument in function
+ 	description.  Correct order of mode/cmp_mode arguments in call to
+ 	simplify_relational_operation.  Check "tem" for COMPARISON_P.
+ 
+ 2004-11-21  Paolo Bonzini  <bonzini@gnu.org>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/17836
+ 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Return
+ 	synthetic vectors in memory.
+ 	(function_arg_boundary): Align large synthetic vectors.
+ 	(rs6000_pass_by_reference): Pass synthetic vectors in memory.
+ 
+ 2004-11-21  Jeff Law  <law@redhat.com>
+ 
+ 	* cfg.c (update_bb_profile_for_threading): Do not rescale the
+ 	successor probabilities if they are not going to change.  Pull
+ 	division out of loop if we do need to rescale successor probabilities.
+ 
+ 	* tree-ssa-threadupdate.c (redirection_data_hash): Use the
+ 	index of the destination block for the hash value rather than
+ 	hashing a pointer.
+ 
+ 2004-11-20  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-typeck.c (build_array_ref): Don't check for index == 0.  Make
+ 	checks for neither argument being an array or pointer (swapping
+ 	the arguments if necessary), the array argument being a pointer to
+ 	or array of functions and for -Wchar-subscripts warnings upfront.
+ 
+ 2004-11-20  Jeff Law  <law@redhat.com>
+ 
+ 	* regrename.c (copyprop_hardreg_forward): Only search for a
+ 	previously processed block if the current block only has one
+ 	predecessor.
+ 
+ 2004-11-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
+ 	typos.
+ 	* config/arm/arm.c: Follow spelling conventions.
+ 
+ 2004-11-20  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_override_options): Use arm_ld_sched rather than testing
+ 	a bit in tune_flags.
+ 	(const_double_needs_minipool): Likewise.  Split most of the code out
+ 	into ...
+ 	(arm_const_double_inline_cost): ... new function here.
+ 	* arm-protos.h (arm_const_double_inline_cost): Add prototype.
+ 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
+ 	word constants of length 2, 3 and 4 insns respectively.
+ 	(CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
+ 	* arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
+ 	constraints.  Set insn lenghts accordingly.
+ 
+ 2004-11-19  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
+ 	a hash table.  Extensive modifications throughout to support
+ 	that change.
+ 	(struct el): New.
+ 	(struct local_info): New.
+ 	(struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
+ 	fields.
+ 	(redirection_data): Now a hashtable.
+ 	(redirection_data_hash, redirection_data_eq): New.
+ 	(lookup_redirection_data, create_duplicates): New.
+ 	(create_edge_and_update_destionation_phis): New.
+ 	(fixup_template_block, redirect_edges): New.
+ 	(thread_block): Use hash table traversals instead of loops over
+ 	varray entries or incoming edge vectors.
+ 
+ 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h (edge_def): Add dest_idx.
+ 	* cfg.c (unchecked_make_edge): Initialize dest_idx.
+ 	(remove_edge): Simplify the disconnection of an edge from its
+ 	destination.
+ 	(redirect_edge_succ): Likewise.
+ 	* cfghooks.c (verify_flow_info): Check the consistency of
+ 	dest_idx for each edge.
+ 
+ 2004-11-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_ternary_operation): Use
+ 	gen_int_mode.
+ 
+ 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (reinstall_phi_args): New.
+ 	(tree_split_edge): Use it after redirecting an edge.  Don't
+ 	modify PHI_ARG_EDGE.
+ 
+ 2004-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
+ 	if checking is enabled.
+ 
+ 2004-11-19  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-decl.c (push_scope): Remove "\n" from end of diagnostic for
+ 	too many nested scopes.
+ 
+ 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18181
+ 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
+ 	changed to suppoer uses-after-loop and to void creating flow paths
+ 	that shouldn't exist.
+ 	(slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
+ 	Modified to fit the new peeling scheme. Avoid quadratic behavior.
+ 	(slpeel_add_loop_guard): Takes additional argument.
+ 	(slpeel_verify_cfg_after_peeling): New function.
+ 	(vect_update_ivs_after_vectorizer): Takes additional argument. Updated
+ 	documentation. Use 'exit-bb' instead of creating 'new-bb'.
+ 	(rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
+ 	the new peeling scheme.
+ 	(copy_phi_nodes): Function removed. Its functionality moved to
+ 	update_phis_for_duplicate_loop.
+ 	(slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
+ 	moved here. Added documentation. Modified to fit the new peeling scheme.
+ 	(slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
+ 	needed - done in slpeel_tree_peel_loop_to_edge.
+ 	(slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
+ 	(vect_do_peeling_for_loop_bound): Add documentation. Call
+ 	slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
+ 	with additional argument.
+ 	(vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.
+ 
+ 	(vect_finish_stmt_generation): Avoid 80 column oveflow.
+ 
+ 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
+ 	arguments removed.
+ 	(slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
+ 	without last two arguments. Update single_exit of loops.
+ 	(vect_update_niters_after_peeling): Removed. Its functionality was
+ 	moved to vect_do_peeling_for_alignment.
+ 	(vect_do_peeling_for_loop_bound): New name for function previously
+ 	called vect_transform_for_unknown_loop_bound.
+ 	(vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
+ 	instead of code that duplicates the same functionality.
+ 	(vect_do_peeling_for_alignment): Functionality of
+ 	vect_update_niters_after_peeling moved here.
+ 	(vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
+ 	previously named vect_transform_for_unknown_loop_bound - for both known
+ 	and unknown loop bound cases.
+ 
+ 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
+ 	previously called verify_loop_for_duplication. All conditions compacted
+ 	into one compound condition. Removed debug dumps.
+ 	(vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
+ 	functionality moved to vect_can_advance_ivs_p, and some to
+ 	vect_analyze_loop_form.
+ 	(vect_can_advance_ivs_p): New function. Contains functionality that was
+ 	taken out of vect_analyze_loop_with_symbolic_num_of_iters.
+ 	(slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
+ 	(vect_analyze_operations): Call vect_can_advance_ivs_p and
+ 	slpeel_can_duplicate_loop_p.
+ 	(vect_get_loop_niters): Added documentation.
+ 	(vect_analyze_loop_form): Check the loop entry always - not only in case
+ 	of unknown loop bound. Create preheader and exit bb if necessary. Apply
+ 	a check that used to take place in
+ 	vect_analyze_loop_with_symbolic_num_of_iters.
+ 	(vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
+ 	Remove redundant call to rewrite_into_loop_closed_ssa.
+ 	(vect_compute_data_refs_alignment): Removed obsolete comment.
+ 
+ 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
+ 	function previously called tree_duplicate_loop_to_edge.
+ 	(slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
+ 	previously called tree_duplicate_loop_to_edge_cfg.
+ 	(slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
+ 	function name.
+ 	(slpeel_update_phi_nodes_for_guard): Likewise.
+ 	(slpeel_make_loop_iterate_ntimes): Likewise.
+ 	(slpeel_add_loop_guard): Likewise.
+ 	(allocate_new_names, free_new_names): Function declaration moved to top
+ 	of file.
+ 	(rename_use_op, rename_def_op): Likewise.
+ 	(rename_variables_in_bb, rename_variables_in_loop): Likewise.
+ 	(vect_generate_tmps_on_preheader): Function declaration moved.
+ 	(vect_transform_for_unknown_loop_bound): Added missing function
+ 	declaration.
+ 
+ 2004-11-19  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18507
+ 	* tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree).
+ 	Define a VEC(tree_on_heap) for head.
+ 	(register_new_def): Change second argument to be a VEC(tree_on_heap).
+ 	* tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap).
+ 	(tree_ssa_dominator_optimize): Initialize block_defs_stack with
+ 	the VEC(tree_on_heap) function.  Also free it before returning.
+ 	(dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
+ 	for block_defs_stack.
+ 	(restore_currdefs_to_original_value): Use VEC_length instead of
+ 	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
+ 	(dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
+ 	for block_defs_stack.
+ 	* tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap).
+ 	(rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
+ 	for block_defs_stack.
+ 	(ssa_register_new_def): Likewise.
+ 	(ssa_rewrite_initialize_block): Likewise.
+ 	(rewrite_finalize_block): Use VEC_length instead of
+ 	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
+ 	(ssa_rewrite_finalize_block): Likewise.
+ 	(register_new_def): Change second argument to be a VEC(tree_on_heap).
+ 	Use VEC_safe_push instead of VARRAY_PUSH_TREE.
+ 	(rewrite_blocks): Initialize block_defs_stack with
+ 	the VEC(tree_on_heap) function.  Also free it before returning.
+ 	(rewrite_ssa_into_ssa): Likewise.
+ 
+ 2004-11-19  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/darwin.c (machopic_data_defined_p): return 1 for
+ 	MACHOPIC_DEFINED_FUNCTION.
+ 
+ 2004-11-19  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa.c (verify_ssa): Remove redundant checking of PHI
+ 	arguments.
+ 
+ 2004-11-19  Paul Brook  <paul@codesourcery.com>
+ 
+ 	PR target/17735
+ 	* varasm.c (default_assemble_integer): Allow pointer-sized values.
+ 	Expand comment.
+ 
+ 2004-11-19  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (combine_bnp): Add code to handle
+ 	zero_extension and lshiftrt insns.
+ 	Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()
+ 	where appropriate.
+ 	* config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns
+ 	to handle bp and bn insn patterns with a zero_extend rtx
+ 	inside them.
+ 
+ 2004-11-19  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/arm.md (generic_sched): Make const.
+ 
+ 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (classify_insn): Make it static.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 	* integrate.c (has_func_hard_reg_initial_val,
+ 	get_func_hard_reg_initial_val): Make them static.
+ 	* integrate.h: Remove the corresponding prototypes.
+ 
+ 2004-11-19  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
+ 	(dw2_asm_output_delta_sleb128): Likewise.
+ 	* dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
+ 	(dw2_asm_output_delta_sleb128): Likewise.
+ 
+ 2004-11-19  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* tree-ssa-alias.c: Fix comment.
+ 
+ 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c: Fix a comment typo.
+ 
+ 2004-11-19  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* predict.h (predict_insn): Remove extern declaration.
+ 	* predict.c (predict_insn): Make static.
+ 
+ 2004-11-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs.
+ 
+ 2004-11-18  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/arm.c (const_double_needs_minipool): New function to
+ 	determine if a CONST_DOUBLE should be pushed to the minipool.
+ 	(note_invalid_constants): Use it.
+ 
+ 2004-11-18  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (target_float_switch): New variable..
+ 	(arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
+ 	target_float_switch.
+ 	* config/arm/arm.h (target_float_switch): Declare.
+ 	(ARM_FLAG_SOFT_FLOAT): Remove.
+ 	(TARGET_SWITCHES): Remove hard-float and soft-float.
+ 	(TARGET_OPTIONS): Add hard-float and soft-float.
+ 	(TARGET_DEFAULT_FLOAT_ABI): Define.
+ 	* config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
+ 	(TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
+ 	* config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
+ 	* config/arm/netbsd-elf.h: Ditto.
+ 	* config/arm/netbsd.h: Ditto.
+ 	* config/arm/pe.h: Ditto.
+ 	* config/arm/unknown-elf.h: Ditto.
+ 	* config/arm/wince-pe.h: Ditto.
+ 	* config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
+ 	* config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
+ 	* config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
+ 
+ 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/rs6000/altivec.md (VI, VF, V): New mode macros.
+ 	(altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi,
+ 	altivec_lvx_4sf): Rename and replace with ...
+ 	(altivec_lvx_<mode>): ... mode macro version.
+ 	(altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
+ 	altivec_stvx_4sf): Rename and replace with ...
+ 	(altivec_stvx_<mode>): ... mode macro version.
+ 	(movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
+ 	(mov<mode>): ... mode macro version.
+ 	(*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1,
+ 	*movv4sf_internal1): Replace with ...
+ 	(*mov<mode>_internal): ... mode macro version.
+ 	(get_vrsave_internal, *set_vrsave_internal, *save_world,
+ 	*restore_world): Unquote output statements.
+ 	* config/rs6000/rs6000.c (altivec_expand_ld_builtin,
+ 	altivec_expand_st_builtin): Adjust insn names.
+ 
+ 2004-11-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Revert
+ 	previous change.
+ 	(rs6000_override_options): Likewise.
+ 	(spe_build_register_parallel): Handle complex doubles on e500v2.
+ 	(rs6000_spe_function_arg): Likewise.
+ 	(function_arg): Likewise.
+ 	(rs6000_function_value): Likewise.
+ 	(rs6000_libcall_value): Likewise.
+ 
+ 2004-11-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* ifcvt.c (find_if_block): Move the check for the number of edges
+ 	above the loops checking for complex edges.
+ 	Remove the counting of edges as we use EDGE_COUNT now.
+ 
+ 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
+ 
+ 	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
+ 	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.3
+ 
+ 2004-11-18  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/i386/i386.md (define_peephole2): Revert last change.
+ 
+ 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
+ 
+ 	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
+ 	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
+ 
+ 2004-11-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
+ 	of FOR_EACH_BB.
+ 
+ 2004-11-18  Jon Grimm <jgrimm2@us.ibm.com>
+ 
+ 	* Makefile.in (macro_list): Depend on s-macro_list.
+ 	(s-macro_list): New target.
+ 
+ 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR target/17107
+ 	* fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
+ 	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
+ 	(fold_range_test): Adjust.
+ 	(fold_truthop): Use it.
+ 	* config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
+ 	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
+ 
+ 2004-11-18  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
+ 	insn split constraint.
+ 	(define_peephole2): Remove unneeded "&& 1" from peephole2
+ 	constraints.
+ 
+ 2004-11-18  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
+ 	element for bsi_prev; use @findex instead.
+ 
+ 2004-11-18  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* opts.h (add_input_filename): Remove extern declaration.
+ 	* opts.c (add_input_filename): Make static.
+ 
+ 2004-11-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/i386.c (i386_solaris_elf_named_section): Mark with
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
+ 	* system.h: Poison it.
+ 	* doc/tm.texi: Delete its documentation.
+ 
+ 2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
+ 	    Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
+ 	* config/i386/i386.c (i386_solaris_elf_named_section): New
+ 	function.
+ 	* config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
+ 	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
+ 	64-bit.
+ 	(ASM_QUAD): Don't undefine for biarch targets.
+ 	* config/i386/t-sol2: Introduce multilib support.
+ 
+ 2004-11-18  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cgraphunit.c: Replace "it's" with "its" and fix a typo.
+ 
+ 2004-11-18  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cgraph.h: Replace "it's" with "its" throughout.
+ 
+ 2004-11-18  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/rtl.texi (Flags): Grammar fix.
+ 
+ 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expmed.c (alg_code): Add alg_unknown.
+ 	(alg_hash_entry): New.
+ 	(NUM_ALG_HASH_ENTRIES): Likewise.
+ 	(alg_hash): Likewise.
+ 	(synth_mult): Cache the result into alg_hash.
+ 
+ 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
+ 	config/rs6000/libgcc-ppc64.ver.
+ 
+ 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
+ 	checking if an unconditional return is followed by a barrier.
+ 
+ 	* jump.c (condjump_p): Remove unreachable code.
+ 
+ 	* basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
+ 	tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
+ 	tree-ssa-live.h, tree.h: Remove unused prototypes.
+ 
+ 2004-11-17  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
+ 	(edge_to_cases_elt): Renamed from edge_to_case_leader.
+ 	(edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
+ 	(edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
+ 	(edge_to_cases_cleanup, recording_case_labels_p): New functions.
+ 	(get_cases_for_edge): New function.
+ 	(start_recording_case_labels, end_recording_case_labels): Similarly.
+ 	(record_switch_edge): Don't muck with the CASE_LABEL.  Instead
+ 	chain equivalent CASE_LABEL_EXPRs together.
+ 	(get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
+ 	(make_switch_expr_edges): Do not record edge/cases here.
+ 	(cleanup_tree_cfg): Record cases around the call to thread_jumps.
+ 	(split_critical_edges): Record cases around the edge splitting code.
+ 	(cleanup_dead_labels): Use CASE_LABEL again.
+ 	(tree_redirect_edge_and_branch): If we have a mapping from edge
+ 	to cases, use it to handle redirections.  Else do it the slow way.
+ 	* tree.h (CASE_LEADER_OR_LABEL): Kill.
+ 	(CASE_LABEL): Revert to just looking at the tree's second operand.
+ 	* tree.c (get_case_label): Kill.
+ 
+ 2004-11-17  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/18307
+ 	* tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
+ 	'orig' are the same node.
+ 	(collect_points_to_info_r): Do not call merge_pointed_to_info
+ 	when the PHI argument is identical to the LHS.
+ 
+ 2004-11-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
+ 	to insert the exit or entry block.
+ 	(ssa_prop_init): Use add_control_edge to seed the algorithm.
+ 
+ 2004-11-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mkmap-flat.awk, mkmap-symver.awk: If the last version
+ 	assigned to a symbol was '%exclude', do not emit it anywhere.
+ 	If leading_underscore is true, prefix all symbols from the
+ 	version scripts with a leading underscore before comparing
+ 	them with nm output or emitting them.  Remove support for dot
+ 	symbols.
+ 	* config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
+ 	(SHLIB_MAPFILES): Use libgcc-std.ver.
+ 	(SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
+ 	(SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
+ 	* config/sh/t-linux: Use the normal libgcc-std.ver, plus
+ 	libgcc-excl.ver and libgcc-glibc.ver.
+ 
+ 	* config/sh/libgcc-excl.ver: New file.
+ 	* config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
+ 
+ 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
+ 	the test when the edge has the opposite meaning, not when
+ 	the first argument is invariant.
+ 
+ 2004-11-16  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
+ 	doubles.
+ 	(rs6000_complex_function_value): Handle e500 v2 variant.
+ 
+ 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/18519
+ 
+ 	* tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
+ 	* tree-pass.h: Add TODO_cleanup_cfg.
+ 	* tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
+ 	(ccp_finalize): Remove call to cleanup_cfg.
+ 	* tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
+ 	(pass_cd_dce): Ditto.
+ 	(perform_tree_ssa_dce): Remove call to cleanup_cfg,
+ 	dump_function_to_file.
+ 	* tree-ssa-loop-ch.c (copy_loop_headers): Remove call
+ 	to cleanup_cfg.
+ 	(pass_ch): Add TODO_cleanup_cfg.
+ 	* tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
+ 	cleanup_cfg.
+ 	(pass_loop_done): Add TODO_cleanup_cfg.
+ 	* tree-ssa-phiopt.c (pass_phiopt): Ditto.
+ 	(tree_ssa_phiopt): Remove call to cleanup_cfg.
+ 
+ 2004-11-16  Devang Patel  <dpatel@apple.com>
+ 
+ 	* optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
+ 
+ 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expmed.c, ra-colorize.c: Fix comment typos.
+ 
+ 	* doc/tm.texi: Fix typos.
+ 
+ 2004-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
+ 	    Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR target/6123
+ 	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
+ 	__pic__ if PIC.
+ 
+ 2004-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* regmove.c (regmove_optimize): Use lowpart_subreg instead of
+ 	gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
+ 
+ 2004-11-16  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
+ 
+ 2004-11-16  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c: Use rtl _P predicates.
+ 	* config/mips/mips.h: Ditto.
+ 	* config/mips/mips.md: Ditto.
+ 
+ 2004-11-16  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/altivec.md (altivec_vandc): Canonicalize
+ 	the pattern.
+ 
+ 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_cc_modes_compatible): New function.
+ 	(TARGET_CC_MODES_COMPATIBLE): Target macro defined.
+ 
+ 2004-11-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/18447
+ 	* config/sh/sh.c (prepare_move_operands): Emit blockage insns
+ 	before and after the insns for getting GOT address in non-PIC
+ 	TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
+ 	is enabled.
+ 
+ 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* gcc/cse.c (struct change_cc_mode_args): New structure.
+ 	(cse_change_cc_mode_insn): New function.
+ 	(cse_change_cc_mode): Use validate_change to perfom changes.
+ 	(cse_change_cc_mode_insns, cse_condition_code_reg):
+ 	Call cse_change_cc_mode_insn.
+ 
+ 2004-11-16  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* stack.h: Remove.
+ 
+ 2004-11-16  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
+ 
+ 2004-11-15  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree-flow.h (add_referenced_temp_var):  Remove name from prototype.
+ 
+ 2004-11-15  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* profile.c (compute_branch_probabilities):  Prevent
+ 	crash with EH in RTL-based profiling.
+ 
+ 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (verify_expr): Replace TREE_OPERAND with
+ 	COND_EXPR_COND.
+ 	* tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
+ 	* tree-ssa-dom.c (thread_across_edge): Likewise.
+ 	* tree-vectorizer.c (vect_transform_loop_bound): Replace
+ 	TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
+ 	COND_EXPR_ELSE.
+ 
+ 	* tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
+ 	(tree_flow_call_edges_add): Update the call to
+ 	bsi_commit_edge_inserts.
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
+ 	* profile.c (branch_prob): Likewise.
+ 	* tree-mudflap.c (mf_decl_cache_locals): Likewise.
+ 	* tree-sra.c (scalarize_function): Likewise.
+ 	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
+ 	* tree-ssa-pre.c (fini_pre): Likewise.
+ 	* tree-flow.h: Update the prototype for
+ 	bsi_commit_edge_inserts.
+ 
+ 2004-11-15  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* sched-deps.c (set_sched_group_p): Delete.
+ 	(delete_all_dependencies): New function.
+ 	(fixup_sched_groups): Use. New function.
+ 	(sched_analyze_insn): Use.
+ 
+ 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
+ 	RROTATE_EXPR or unknown code.
+ 	* c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
+ 	LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
+ 	UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
+ 	or unknown code.
+ 
+ 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/18498
+ 	* c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
+ 	after processing the declarator.
+ 
+ 2004-11-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
+ 	vec_duplicate.
+ 	(altivec_vspltb): Same.
+ 	(altivec_vspltw): Same.
+ 	(altivec_vspltisb): Same.
+ 	(altivec_vspltish): Same.
+ 	(altivec_vspltisw): Same.
+ 	(altivec_vspltisw_v4sf): Same.
+ 	(define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
+ 	UNSPEC_VSPLTISH.
+ 	Move "End of vector xor's" comment to the right place.
+ 
+ 2004-11-15  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.md (*movtf_internal):  Use destination_operand
+ 	instead of nonimmediate_operand.
+ 
+ 2004-11-15  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
+ 	* config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
+ 	* config/sol2.c (solaris_output_init_fini): Update calls to
+ 	ASM_OUTPUT_CALL.  Include "rtl.h".
+ 
+ 2004-11-15  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* config/sol2-c.c (cmn_err_char_table): Add "p".
+ 
+ 2004-11-15  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
+ 	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
+ 
+ 2004-11-15  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	* config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
+ 	within the multilib directory.
+ 
+ 2004-11-15  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
+ 	builtin assert of cpu=xstormy16.
+ 
+ 2004-11-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
+ 	variable.
+ 
+ 2004-11-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 18480
+ 	* calls.c (struct arg_data): Add parallel_value.
+ 	(precompute_register_parameters): Set it.
+ 	(load_register_parameters): Use it.
+ 	(store_one_arg): Also set it here.
+ 
+ 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18431
+ 	* fold-const.c (associate_trees): Do not produce x + 0.
+ 	(fold_widened_comparison, fold_sign_changed_comparison): New functions.
+ 	(fold): Use them.
+ 	* tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
+ 	Moved ...
+ 	* tree.c (upper_bound_in_type, lower_bound_in_type): Here.
+ 	* tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
+ 
+ 2004-11-14  Eric Botcazou <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
+ 
+ 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
+ 	value-prof.c: Fix comment typos.
+ 
+ 2004-11-14  Stan Shebs  <shebs@apple.com>
+ 
+ 	Basic ABI changes for passing structs by value in 64-bit Darwin.
+ 	* config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
+ 	(rs6000_override_options): Set it for 64-bit Darwin.
+ 	(rs6000_parse_abi_options): Add testing options to change it.
+ 	(rs6000_return_in_memory): Test whether the type is one
+ 	that can be passed in registers.
+ 	(darwin64_function_arg_advance): New.
+ 	(function_arg_advance): Call it, plus add recursion depth
+ 	argument and test when counting off arguments.
+ 	(rs6000_darwin64_function_arg): New.
+ 	(function_arg): Call it.
+ 	(setup_incoming_varargs): Add argument to function_arg_advance.
+ 	(rs6000_darwin64_function_value): New.
+ 	(rs6000_function_value): Call it.
+ 	* config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
+ 	* config/rs6000/rs6000-protos.h: Update decl of
+ 	function_arg_advance.
+ 
+ 2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/17279
+ 	* c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
+ 	support TImode before adding __int128_t and __uint128_t types.
+ 
+ 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-opt/18400
+ 	* tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
+ 	(vect_transform_loop_bound): Set loop->nb_iterations.
+ 
+ 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18425
+ 	* tree-vectorize.c (vect_build_loop_niters): Do not insert
+ 	NULL into the instruction stream. Initialize new_bb to NULL.
+ 	(vect_update_ivs_after_vectorizer): Likewise.
+ 	(vect_gen_niters_for_prolog_loop): Likewise.
+ 
+ 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18431
+ 	* tree-flow.h (stmt_references_memory_p): Declare.
+ 	* tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
+ 	* tree-ssa.c (stmt_references_memory_p): New function.
+ 
+ 2004-11-14  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
+ 	$(EXPR_H).
+ 
+ 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c (walk_stmt_tree): Remove.
+ 	* c-common.h: Remove the corresponding prototype.
+ 
+ 	* emit-rtl.c (push_to_full_sequence): Remove.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 	* cselib.c, expr.c: Fix comment typos.
+ 
+ 2004-11-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (precompute_register_parameters): Force all PARALLELs
+ 	into pseudo registers.
+ 	(load_register_parameters): Copy PARALLELs into hard registers.
+ 	* function.c (assign_parm_setup_block): Copy PARALLELS into
+ 	pseudo registers.  Do emit_group_store in conversion_insns.
+ 	* expr.c (emit_group_load_1): Rename from emit_group_load, take
+ 	tmps as an argument.  Move final copy loop ...
+ 	(emit_group_load): ... here.  New function.
+ 	(emit_group_load_into_temps, emit_group_move_into_temps): New.
+ 	* expr.h: Declare them.
+ 
+ 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
+ 	with PHI_CHAIN where appropriate.
+ 
+ 2004-11-13  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
+ 	(tree_block_label): Ditto.
+ 	(flush_pending_stmts): Ditto.
+ 	(insert_edge_copies): Ditto.
+ 	(expr_invariant_in_loop_p): Ditto.
+ 	(TDF_USE_OPS): Parenthesize definition.
+ 	(TDF_USE_VOPS): Ditto.
+ 
+ 2004-11-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
+ 	* config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
+ 	(atoll): Declare.
+ 	* config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
+ 
+ 2004-11-14  Joseph Myers  <joseph@codesourcery.com>
+ 
+ 	* config/i386/i386.c (override_options): Move loop to set default
+ 	tuning to correct place.
+ 
+ 2004-11-13  Zak Kipling  <zak@transversal.com>
+ 
+ 	PR target/18300
+ 	* config/i386/i386.c (classify_argument): Fix infinite loop when
+ 	passing object with 3 or more base classes by value.
+ 
+ 2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/md.texi (constraints) <% modifier>: Mention that it is
+ 	useless when the two alternatives are strictly identical.
+ 
+ 2004-11-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (extract_split_bit_field): Temporarily disable call to
+ 	extract_force_align_mem_bit_field.
+ 
+ 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
+ 	formatting.
+ 
+ 	* c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
+ 	lambda-code.c, postreload.c, predict.c, tree-sra.c,
+ 	tree-ssa-loop-manip.c, tree.c: Fix comment typos.
+ 
+ 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/install.texi (automake): Correctly document that everything now
+ 	will use automake 1.9.3.
+ 
+ 2004-11-13  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18347
+ 	* config/mmix/mmix.c (mmix_function_outgoing_value): Handle
+ 	TImode.  Sorry for other non-complex larger-than-64-bit modes.
+ 	* config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
+ 
+ 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/install.texi (automake): Document that everything now uses 1.9.
+ 
+ 2004-11-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* cse.c (cse_insn): Stores in a libcall sequence can invalidate
+ 	previous loads.
+ 
+ 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree.h: Fix comment typos.
+ 
+ 2004-11-13  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
+ 	HARD_REGISTER_NUM_P.
+ 
+ 	* cselib.c (new_cselib_val): Make comment correct and more detailed.
+ 	* flow.c (mark_set_1): Likewise.
+ 
+ 	* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
+ 	duplicate_eh_regions): Remove.
+ 	* except.h (duplicate_eh_regions): Remove prototype.
+ 	* integrate.c (get_label_from_map, copy_rtx_and_substitute,
+ 	global_const_equiv_varray): Remove.
+ 	* integrate.h (get_label_from_map, copy_rtx_and_substitute,
+ 	global_const_equiv_varray, set_label_in_map): Remove prototypes,
+ 	extern declaration, and #define.
+ 	(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
+ 	(struct inline_remap): Remove.
+ 	* varray.c (struct element): Remove entry for const_equiv_data.
+ 	* varray.h (struct const_equiv_data): Remove.
+ 	(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
+ 	(union varray_data_tag) <const_equiv>: Remove.
+ 	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
+ 	VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
+ 
+ 	* regstack.c (record_label_references): Remove unused function.
+ 
+ 	* rtl.def (VALUE): Update comment.
+ 	(LABEL_REF): Remove unused operand 2.
+ 	* rtl.h (struct rtx_def): Update for removed accessor macros.
+ 	(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
+ 	REG_LOOP_TEST_P): Remove.
+ 	(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
+ 	* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
+ 	* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
+ 
+ 2004-11-13  James A. Morrison  <phython@gcc.gnu.org>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/18230
+ 	* config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
+ 	patterns.
+ 	* config/sparc/sparc.md (V64I): New macro for 64-bit modes.
+ 	(V32I): New macro for 32-bit modes.
+ 	(anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
+ 	iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
+ 	xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
+ 	xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
+ 	one_cmpldi_sp64): Use V64I instead of DI.
+ 	(andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
+ 	xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
+ 	(addv2si3, addv4hi3, addv2hi3): Remove % modifier.
+ 	(nandv64i_vis, nandv32i_vis): New patterns.
+ 
+ 2004-11-12  Mike Stump  <mrs@apple.com>
+ 
+ 	* Makefile.in: Add html support.
+ 	* java/Make-lang.in: Likewise.
+ 	* fortran/Make-lang.in: Likewise.
+ 	* treelang/Make-lang.in: Likewise.
+ 	* doc/install.texi: Likewise.
+ 	* doc/makefile.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 
+ 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-manip.c: Fix a comment typo.
+ 
+ 2004-11-12  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/cppinternals.texi (Index): Fix html generation with makeinfo by
+ 	renaming this node to Concept Index.
+ 	* doc/gccint.texi (Index): Likewise.  Also minor formatting tweaks
+ 	to more closely match gcc.texi.
+ 
+ 2004-11-12  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (hashtab.h): Include.
+ 	(struct edge_to_case_leader_elt): New structure.
+ 	(edge_to_case_leader): New.
+ 	(edge_to_case_leader_hash): New hashtable hasing function.
+ 	(edge_to_case_leader_eq): New hashtable equality function.
+ 	(record_switch_edge): New function.
+ 	(get_case_leader_for_edge, get_case_leader_for_edge): New functions.
+ 	(make_switch_expr_edges): Build the edge-to-case-leader
+ 	hash table.  Tear down the hash table when we're done.
+ 	(cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
+ 	CASE_LABEL.
+ 	(tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
+ 	(tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
+ 	to use new concept of case leaders to reduce overhead of
+ 	redirecting outgoing edges from switch statements.
+ 	* tree.c (get_case_label): New function.
+ 	* tree.h (CASE_LABEL): Define in terms of get_case_label.
+ 	(CASE_LEADER_OR_LABEL): Define.
+ 
+ 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* varasm.c (output_addressed_constants): For CONST_DECLs,
+ 	output the initializer if present.
+ 
+ 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/rs6000/darwin.h: Fix confusing typo in comment.
+ 
+ 2004-11-12  Devang Patel  <dpatel@apple.com>
+ 
+ 	* optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
+ 
+ 2004-11-12  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (clean_predicate_lists): Use loop header
+ 	and latch directly.
+ 
+ 2004-11-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17778
+ 	* config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
+ 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ 	(TARGET_96_ROUND_53_LONG_DOUBLE): New.
+ 	* config/i386/i386-modes.def (XF): Use it.
+ 
+ 2004-11-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (macro_list): Use move-if-change to avoid spurious
+ 	rebuilds.
+ 
+ 2004-11-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/18416
+ 	* passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
+ 	when deciding whether to pass a variable to
+ 	cgraph_varpool_finalize_decl or assemble_variable.
+ 	* toplev.c (check_global_declarations): Do not clear DECL_RTL.
+ 
+ 2004-11-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vectorizer.c: Fix a comment typo.
+ 
+ 2004-11-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
+ 
+ 2004-11-12  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-scalar-evolution.c (analyzable_condition): Remove
+ 	superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
+ 
+ 2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+ 	Remove m505/roe multilib variant.
+ 
+ 2004-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
+ 	to load from the stack.
+ 
+ 2004-11-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
+ 	(exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
+ 	* toplev.h (FL2T__): Remove.
+ 	(CLZ_HWI): Rename from FL2T_CLZ__.
+ 	(CTZ_HWI): New.
+ 	(floor_log2): Simplify.
+ 	(exact_log2): New.
+ 
+ 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-data-ref.c (analyze_subscript_affine_affine): Correctly
+ 	compute the first overlapping iterations.
+ 
+ 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	PR middle-end/18005
+ 	* tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
+ 	that arguments of EXACT_DIV_EXPR are INTEGER_CST.
+ 
+ 2004-11-12  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/18419
+ 	* tree-ssa.c (walk_use_def_chains_1): Make the visited map a
+ 	pointer set instead of a bitmap.
+ 	(walk_use_def_chains): Create, pass and clean up that pointer_set.
+ 
+ 	* tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
+ 	field an sbitmap.
+ 	(init_alias_info): Allocate and zero it here.
+ 	(delete_alias_info): Delete it here.
+ 	(collect_points_to_info_for): Use it.
+ 
+ 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c (record_alias_subset, addr_side_effect_eval):
+ 	Make them static.
+ 	* alias.h: Remove the prototype for record_alias_subset.
+ 	* expr.h: Remove the commented-out prototype for
+ 	record_alias_subset.
+ 	* rtl.h: Remove the prototype for addr_side_effect_eval.
+ 
+ 	* cfglayout.c (choose_inner_scope): Make it static.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 	* cfgloopmanip.c (update_single_exits_after_duplication,
+ 	unloop): Make them static.
+ 	* cfgloop.h: Remove the corresponding prototypes.
+ 
+ 	* c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
+ 	Make them static.
+ 	* c-tree.h: Remove the corresponding prototypes.
+ 
+ 	* explow.c (round_push): Make it static.
+ 	* expr.h: Remove the corresponding prototype.
+ 
+ 	* varasm.c (get_named_section_flags, decl_tls_model): Make
+ 	them static.
+ 	* output.h: Remove the prototype for get_named_section_flags.
+ 	* tree.h: Remove the prototype for decl_tls_model.
+ 
+ 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c (expand_function_end): Remove an "if" statement
+ 	that always triggers.
+ 	* stmt.c (expand_null_return_1): Likewise.
+ 
+ 2004-11-11  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
+ 	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
+ 	CLASS_MAX_NREGS): Likewise.
+ 
+ 2004-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17742
+ 	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
+ 	MINUS_EXPR correctly.
+ 
+ 2004-11-11  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
+ 	Give up as soon as the evolution is known not computable.
+ 
+ 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR target/16457
+ 	* config/rs6000/rs6000.c (mask64_2_operand): Stub to call
+ 	mask64_1or2_operand.
+ 	(mask64_1or2_operand): Broken out of mask64_2_operand, add flag
+ 	to spot rlwinm opportunities.
+ 	(and64_2_operand): Use mask_1or2_operand.
+ 	* config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
+ 
+ 2004-11-11  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
+ 	(vect_update_ivs_after_vectorizer): Update function documentation.
+ 	Avoid quadratic behavior and direct write to PHI_ARG_DEF.
+ 
+ 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c: Fix a comment typo.
+ 
+ 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (nBITMAP_WORD_BITS): Remove.
+ 	(BITMAP_WORD_BITS): Force unsigned by use of 1u.
+ 	(BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
+ 	unnecessary casts.
+ 	(bitmap_first_set_bit): Return unsigned, use ctzl.
+ 	(bitmap_last_set_bit): Remove.
+ 	* bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
+ 	unsigned.
+ 	(bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
+ 	remove special case code for two word elements.
+ 	(bitmap_last_set_bit): Remove.
+ 	* ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
+ 	bitmap_first_set_bit with bitmap_empty_p.
+ 	* tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
+ 	* tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
+ 	bitmap_last_bit_set.
+ 
+ 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR target/16796
+ 	* config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
+ 
+ 	PR target/16458
+ 	* config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
+ 	unsigned equality compare when we know the operands are unsigned.
+ 
+ 2004-11-10  Peter S. Mazinger  <ps.m@gmx.net>
+ 
+ 	* config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
+ 	__PIC__ and __pic__ only if TARGET_ABICALLS.
+ 	(SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
+ 	(SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
+ 	-KPIC only if not -mno-abicalls.
+ 
+ 	* config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
+ 	* config/sparc/linux.h, config/sparc/linux64.h
+ 	(TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
+ 
+ 	* config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
+ 	* config/pa/pa/linux.h (CPP_SPEC): Likewise.
+ 	* config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
+ 	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
+ 
+ 2004-11-11  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
+ 	register if current_function_uses_pic_offset_table is set.
+ 
+ 2004-11-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
+ 	Change multi-instruction sequences to new attribute.
+ 	* config/rs6000/{40x.md,440.md,603.md,6xx.md,
+ 	7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
+ 	rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
+ 
+ 2004-11-10  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-data-ref.c (build_classic_dist_vector): If either loop
+ 	is outside of the nest we asked about, the dependence can't
+ 	matter.
+ 	(build_classic_dir_vector): Ditto.
+ 
+ 2004-11-10  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
+ 	right order.
+ 	(force_var_cost): Determine cost of addition and multiplication more
+ 	precisely.
+ 	(get_computation_cost_at): Add cost for computing address elements to
+ 	the final cost.
+ 
+ 	* fold-const.c (fold): Attempt to use ptr_difference_const whenever
+ 	one of the arguments of MINUS_EXPR is an address.
+ 	(split_address_to_core_and_offset): New function.
+ 	(ptr_difference_const): Handle case when one of the operands is a
+ 	pointer.
+ 	* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
+ 	(ptr_difference_cost): Pass addresses instead of objects to
+ 	ptr_difference_const.
+ 
+ 2004-11-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.c (tree_check_failed): Emit general error if the list of
+ 	node types is empty.
+ 
+ 2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_union_value): New 'slotno'
+ 	argument.  When the union is passed in the 6th slot, build a
+ 	PARALLEL with only one element.
+ 	(function_arg): Adjust call to function_arg_union_value.
+ 	(function_value): Likewise.
+ 
+ 2004-11-10  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	PR tree-optimization/17892
+ 	* tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
+ 	MINUS_EXPR operator.
+ 
+ 2004-11-10  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR target/18230
+ 	config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
+ 	(addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
+ 
+ 2004-11-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
+ 	(struct basic_block_def): Remove local_set and cond_local_set
+ 	fields.  Update comment for global_live_at_start.
+ 	* flow.c (calculate_global_regs_live): Allocate local_sets and
+ 	cond_local_sets here as arrays of bitmaps previously stored in
+ 	bb->local_set and bb->cond_local_set.  Use xmalloc instead of
+ 	obstack allocated bitmaps.
+ 
+ 2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/18380
+ 	* config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
+ 	hidden.
+ 
+ 	* unwind-dw2.c (_Unwind_FindTableEntry): Removed.
+ 
+ 2004-11-09  Jeff Law  <law@redhat.com>
+ 
+ 	* cfganal.c (flow_dfs_compute_reverse_execute): Accept new
+ 	argument holding last unvisited block.  Start search for
+ 	unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
+ 	(connect_infinite_loops_to_exit): Supply last unvisited block
+ 	to flow_dfs_compute_reverse_execute.
+ 
+ 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
+ 	doubles.
+ 	(floatunssidf2): Same.
+ 	(floatsidf2): Same.
+ 	("extendsfdf2"): New expander.
+ 	(*extendsfdf2_fpr): Rename.
+ 	(*truncdfsf2_fpr): Same.
+ 	(*negdf2_fpr): Same.
+ 	(*absdf2_fpr): Same.
+ 	(*nabsdf2_fpr): Same.
+ 	(*adddf3_fpr): Same.
+ 	(*subdf3_fpr): Same.
+ 	(*muldf3_fpr): Same.
+ 	(*divdf3_fpr): Same.
+ 
+ 	* config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
+ 	("spe_fix_truncdfsi2"): Same.
+ 	(spe_floatunssidf2): Same.
+ 	(spe_floatsidf2): Same.
+ 
+ 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/18322
+ 	* c-common.c (fname_decl): Don't use line number of decl in
+ 	diagnostic.
+ 
+ 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_pool_operand): Remove.
+ 	* config/s390/s390.c (s390_pool_operand): Likewise.
+ 	(s390_extra_constraint_str): Handle 'B' constraints.
+ 	* config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
+ 	* config/s390/s390.md: Document 'B' constraints.
+ 	("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
+ 	s390_pool_operand to prevent insns with two literal pool
+ 	references.  Make pattern commutative.
+ 	("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
+ 	'B' constraint instead of s390_pool_operand.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (create_bb): Remove unnecessary memset.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
+ 	(thread_block): Call flush_pending_stmt instead of
+ 	copy_phis_to_block.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop-iv.c (iv_number_of_iterations): Make it static.
+ 	* cfgloop.h: Remove the corresponding prototype.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c (combine_temp_slots, assign_parms,
+ 	expand_pending_sizes): Make them static.
+ 	* tree.h: Remove the corresponding prototypes.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (copy_most_rtx): Remove.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloop.c (flow_loops_update): Remove.
+ 	* cfgloop.h: Remove the corresponding prototype.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* conflict.c (mark_reg, conflict_graph_compute): Remove.
+ 	* basic-block.h: Remove the prototype for
+ 	conflict_graph_compute.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-if-conv.c (add_to_dst_predicate_list): Change the
+ 	second argument to basic_block.
+ 	(tree_if_convert_cond_expr): Update call sites.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (pedantic_non_lvalue): Make it static.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c (prepare_operand): Make it static.
+ 	* optabs.h: Remove the corresponding prototype.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (reloads_conflict, gen_reload): Make them static.
+ 	* reload.h: Remove the corresponding prototypes.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload.c (refers_to_mem_for_reload_p,
+ 	refers_to_regno_for_reload_p): Make them static.
+ 	* reload.h: Remove the corresponding prototypes.
+ 
+ 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/18230
+ 	* doc/md.texi (SPARC constraints): Document 'Y' constraint.
+ 	* config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
+ 	* config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
+ 	(TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
+ 	(fp_zero_operand): Accept MODE_VECTOR_INT modes.
+ 	(input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
+ 	(sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
+ 	(sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
+ 	MODE_VECTOR_INT modes.
+ 	(sparc_extra_constraint_check): Add new constraint 'Y'.
+ 	* config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
+ 	* config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
+ 	(V64): New mode macro for 64-bit modes.
+ 	(movsf): Use V32 for mode instead of SF.
+ 	(movsf_insn_vis): Use V32 for mode instead of SF.  Add 'Y' constraint
+ 	alongside 'G' constraint.
+ 	(movdf): Use V64 for mode instead of DF.
+ 	(movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
+ 	of DF.  Add 'Y' constraint alongside 'G' constraint.
+ 	(multi-isn and misaligned mems DFmode splitters): Use V64 for mode
+ 	instead of DF.
+ 
+ 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
+ 	integer NEG and ABS.
+ 	* config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
+ 	("*negdi2_31"): Reimplement using a splitter.
+ 	("*negdi2_cc", "*negdi2_cconly"): New insns.
+ 	("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
+ 	("*negsi2_cc", "*negsi2_cconly"): Likewise.
+ 	("*negdf2_cc", "*negdf2_cconly"): Likewise.
+ 	("*negsf2_cc", "*negsf2_cconly"): Likewise.
+ 	("*absdi2_cc", "*absdi2_cconly"): New insns.
+ 	("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
+ 	("*abssi2_cc", "*abssi2_cconly"): Likewise.
+ 	("*absdf2_cc", "*absdf2_cconly"): Likewise.
+ 	("*abssf2_cc", "*abssf2_cconly"): Likewise.
+ 	("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
+ 	("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
+ 	("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
+ 	("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
+ 	("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
+ 
+ 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
+ 	when eliminating an UNSPEC_CMPINT.
+ 	(s390_secondary_input_reload_class): Fix test for CC register reload.
+ 	(s390_secondary_output_reload_class): Likewise.
+ 	(s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
+ 	* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
+ 	("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
+ 	insn patterns with splitters.
+ 
+ 2004-11-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
+ 	* config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (phi_reverse): New.
+ 	* tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
+ 	Use it.
+ 	* tree-flow.h: Add a prototype for phi_reverse.
+ 
+ 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-ivopts.c: Fix a comment typo.
+ 
+ 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR pch/14940
+ 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
+ 	definitions.
+ 
+ 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
+ 	instead of "arg" in diagnostics.
+ 
+ 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
+ 	c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
+ 	gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
+ 	tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
+ 	config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
+ 	config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
+ 	config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
+ 	config/iq2000/iq2000.c, config/m32r/m32r.c,
+ 	config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
+ 	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
+ 	config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
+ 	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
+ 	config/sh/symbian.c, config/stormy16/stormy16.c,
+ 	config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
+ 	and %> as appropriate.  Use %' as apostrophe in diagnostics where
+ 	applicable.  Use %< and %> in place of '' quotes where applicable.
+ 	Use %qs in place of %<%s%>.  Consistently quote __builtin function
+ 	names.
+ 
+ 2004-11-09  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* gdbinit.in (pbb, pbm): New macros.
+ 
+ 2004-11-08 Jeff Law  <law@redhat.com>
+ 
+ 	* cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
+ 	implementing it inline.
+ 
+ 	* cfganal.c (find_edge): Search pred->succs or succ->preds,
+ 	whichever is shorter.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* passes.c (rest_of_handle_jump): Remove dead code.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
+ 	the last used element in the worklist.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-inline.c (remap_save_expr): Make it static.
+ 	* tree-inline.h: Remove the corresponding prototype.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-niter.c (upper_bound_in_type,
+ 	lower_bound_in_type): Make them static.
+ 	* tree.h: Remove the corresponding prototypes.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
+ 	static.
+ 	* tree-ssa-live.h: Remove the corresponding prototypes.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-if-conv.c (tree_if_conversion): Make it static.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-operands.c (build_ssa_operands): Make it static.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 
+ 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18299
+ 	* tree-inline.c (copy_body_r): Change "t = t" to empty
+ 	statement instead of "t".
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* modulo-sched.c (create_partial_schedule,
+ 	free_partial_schedule, reset_partial_schedule,
+ 	ps_add_node_check_conflicts, rotate_partial_schedule): Make
+ 	them static.
+ 
+ 2004-11-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (extract_force_align_mem_bit_field): Correct handling at
+ 	the end of a page.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* sched-deps.c (add_insn_mem_dependence): Make it static.
+ 	* sched-int.h: Remove the corresponding prototypes.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* flow.c (allocate_bb_life_data): Make it static.
+ 	* basic-block.h: Remove the corresponding prototype.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c (split_complex_values, split_complex_types): Make
+ 	them static.
+ 	* expr.h: Remove the corresponding prototypes.
+ 
+ 2004-11-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_handle_notshared_attribute): Wrap declaration and use
+ 	with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
+ 	statements that always trigger.
+ 
+ 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
+ 	tree-scalar-evolution.c, tree-ssa-loop-im.c,
+ 	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
+ 	tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
+ 	appropriate.
+ 
+ 2004-11-08  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cgraph.h (cgraph_calls_p): Remove.
+ 	* cgraph.c (cgraph_calls_p): Likewise.
+ 
+ 	* varray.h (varray_copy): Remove.
+ 	* varray.c (varray_copy): Likewise.
+ 
+ 2004-11-07  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/18269
+ 	* config/darwin.c (machopic_indirect_data_reference):
+ 	Call gen_macho_high and gen_macho_low instead of
+ 	checking the mode and calling gen_macho_high_di directly.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
+ 	* config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
+ 	to darwin.md.
+ 	(movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
+ 	load_macho_picbase, macho_low, macho_high): Removed.
+ 	(builtin_setjmp_receiver): Call gen_macho_high and
+ 	gen_macho_low instead of checking the mode and calling
+ 	gen_macho_high_di directly.
+ 	* config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
+ 	(movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
+ 	Moved from rs6000.md.
+ 	(macho_high): New expander.
+ 	(macho_high_si): Renamed version of macho_high from rs6000.md.
+ 	(macho_low): New expander.
+ 	(macho_low_si): Renamed version of macho_low from rs6000.md.
+ 	(load_macho_picbase): New expander.
+ 	(load_macho_picbase_si): Renamed version of load_macho_picbase
+ 	from rs6000.md.
+ 	(macho_correct_pic): New expander.
+ 	(macho_correct_pic_si): Renamed version of macho_correct_pic
+ 	from rs6000.md.
+ 
+ 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-decl.c (finish_struct): Use complete sentences for diagnostic
+ 	for structures or unions with no members or named members.
+ 
+ 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-typeck.c (build_unary_op): Replace unreachable diagnostic for
+ 	taking address of bit-field by assertion.
+ 
+ 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md (attribute "op_type"): Default to "NN".
+ 	(attribute "atype"): Default to "agen".
+ 	(attribute "length"): Default to 6.
+ 	(define_asm_attibutes): Remove.
+ 	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
+ 	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
+ 	"*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
+ 	Do not set type attribute to "cs" where already default.
+ 	("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
+ 	"*negdi2_31"):
+ 	Do not set type attribute to "other" where already default.
+ 	("movti", "*movdi_64", "*movdi_31", "*movdf_31",
+ 	"*strlendi", "*strlensi",
+ 	"*movmem_long_64", "*movmem_long_31",
+ 	"*clrmem_long_64", "*clrmem_long_31",
+ 	"*cmpmem_long_64", "*cmpmem_long_31",
+ 	"*cmpint_si", "*cmpint_di",
+ 	"addti3", "*adddi3_31z", "*adddi3_31",
+ 	"subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
+ 	"*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
+ 	"fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
+ 	"*pool_entry", "pool_align", "pool_section_start",
+ 	"pool_section_end", "main_pool", "reload_base_31", "pool"):
+ 	Do not set op_type attribute to "NN" where already default.
+ 	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
+ 	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
+ 	"fix_truncdfsi2_ibm", "floatsidf2_ibm"):
+ 	Do not set atype attribute to "agen" where already default.
+ 	("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
+ 
+ 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/t-iris6 (tp-bit.c): Fix target filename.
+ 
+ 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16830
+ 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
+ 	R3000 and R4000 macros on IRIX.
+ 
+ 2004-11-06  Andreas Schwab  <schwab@suse.de>
+ 
+ 	PR target/16286
+ 	* config/rs6000/altivec.h: Replace bool by __bool and pixel by
+ 	__pixel.
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
+ 
+ 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
+ 	matches no insns already matched by other reservations.
+ 	* config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
+ 	matches no insns already matched by other reservations.
+ 	("x_ss"): Remove, replace by ...
+ 	("x_cs"): ... this new reservation.  Check type instead of op_type.
+ 	Update bypasses to use x_cs instead of x_ss.
+ 	("x_nn"): Remove, replace by ...
+ 	("x_other"): ... this new reservation.  Check type instead of op_type.
+ 	Add x_other and x_branch to bypasses.
+ 	("x_vs"): New reservation.
+ 	* config/s390/s390.md (attribute "type"): Default according to op_type.
+ 	("*execute"): Set type to "cs".
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
+ 	if we are in GIMPLE.
+ 
+ 2004-11-06  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR rtl-optimization/17933
+ 	* rtlanal.c (dead_or_set_regno_p): Break out common code to...
+ 	(covers_regno_p): New function.  Handle SETs of PARALLEL,
+ 	and defer the rest to...
+ 	(covers_regno_no_parallel_p): New function.
+ 
+ 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_record_value_1): Skip
+ 	fields with zero length.
+ 	(function_arg_record_value_2): Likewise.
+ 	(function_arg_record_value_3): Use smallest_mode_for_size
+ 	instead of mode_for_size.
+ 	(function_arg_union_value): Return naked register for unions
+ 	with zero length.
+ 
+ 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (scan_record_type): Handle vector types.
+ 	(function_arg_slotno): Handle vector types specially.
+ 	(function_arg_record_value_1): Split fields with vector type and
+ 	BLKmode into their subparts.
+ 	(function_arg_record_value_2): Likewise.  Be prepared to handle
+ 	more than 2 registers per field.
+ 	(function_arg_union_value): Increment regno inside the loop.
+ 	(function_arg_vector_value): New function.
+ 	(function_arg): Use it to split fields with vector type and
+ 	BLKmode into their subparts and build a PARALLEL.  Treat
+ 	other vector types like floats.
+ 	(function_value): Likewise.
+ 	(sparc_pass_by_reference): Handle vector types.
+ 	(sparc_return_in_memory): Likewise.
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
+ 	statement that never triggers.
+ 
+ 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/2064.md ("z_o2", "z_o3"): Remove.
+ 	* config/s390/2084.md ("x_o2", "x_o3"): Remove.
+ 	("x_fdivd"): Use also for fsqrtd type.
+ 	("x_fdivs"): Use also for fsqrts type.
+ 	* config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
+ 	("fix_truncdfsi2_ieee"): Set type to "ftoi".
+ 	("fix_truncdfsi2_ibm"): Set type to "other".
+ 	("floatdidf2", "floatdisf2"): Do not clobber CC.
+ 	("floatsidf2", "floatsidf2_ieee"): Likewise.
+ 	("floatsisf2", "floatsisf2_ieee"): Likewise.
+ 	("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
+ 	("truncdfsf2_ibm"): Only allow "nonimmediate_operand".  Use LER
+ 	instead of LRER.
+ 	("extendsfdf2_ibm"): Do not set atype.  Set type to "floads".
+ 	("sqrtdf2"): Set type to "fsqrtd".
+ 	("sqrtsf2"): Set type to "fsqrts".
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
+ 	pointer to the last PHI node in the new PHI chain.
+ 
+ 2004-11-06  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (prepare_move_operands): Emit a use of r12
+ 	for non-PIC TLS_MODEL_INITIAL_EXEC case.
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expmed.c: Fix a comment typo.
+ 
+ 2004-11-06  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+ 
+ 	PR target/18106
+ 	* config/i386/cygming.h
+ 	[HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh4a.md: Fix copyright.
+ 
+ 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
+ 	with GCC.
+ 
+ 2004-11-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
+ 	when carry not used.  Suggested by Torbjorn Granlund.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
+ 	operand[1] unnecessarily.  Suggested by Eric Christopher.
+ 	(rs6000_adjust_cost): Increase latency of store to wider load.
+ 	(rs6000_rtx_costs): mulli only allows 16-bit constants.
+ 
+ 2004-11-05  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (machopic_output_stub): Output
+ 	ldu instead of lwzu for 64-bit stubs.
+ 
+ 2004-11-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
+ 	size 2 with BWX.
+ 	(alpha_expand_unaligned_store): Likewise.
+ 
+ 2004-11-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (extract_force_align_mem_bit_field): New.
+ 	(extract_split_bit_field): Call it.
+ 
+ 2004-11-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ia64.md (UNSPEC_SHRP): New.
+ 	(dshift_count_operand): New.
+ 	(ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
+ 	* ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
+ 
+ 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-typeck.c (output_init_element): Return early if value is
+ 	error_mark_node.
+ 
+ 2004-11-05  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* invoke.texi (-fno-guess-branch-probability): Rewrite.
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
+ 	1 to UNSPEC_GR_SPILL.
+ 
+ 2004-11-05  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_fixed_condition_code_regs): New function.
+ 	(TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
+ 
+ 2004-11-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (enum bitmap_bits): Remove.
+ 	(bitmap_operation): Remove.
+ 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
+ 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
+ 	bitmap_xor_into): Prototype.
+ 	* bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
+ 	(bitmap_operation): Remove.
+ 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
+ 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
+ 	bitmap_xor_into): New.
+ 	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
+ 
+ 	PR tree-optimization/18307
+ 	* tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
+ 	and ORIG being the same node.
+ 
+ 2004-11-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
+ 	(install-mkheaders): Install the version built for the
+ 	host, not for the build machine.
+ 	* configure.ac: Always run fixincludes.
+ 	(all_outputs): Remove mkheaders.
+ 	* configure: Regenerate.
+ 	* fixinc.in: Move to fixincludes/.
+ 	* mkfixinc.sh: Likewise.
+ 	* mkheaders.in: Likewise.
+ 	* README-fixinc: Likewise.
+ 
+ 2004-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
+ 
+ 	PR target/18263
+ 	* config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
+ 	equivalent on the A4.
+ 
+ 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
+ 	doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
+ 	doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
+ 	doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
+ 	doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
+ 	doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
+ 	doc/trouble.texi: Correct end-of-sentence markup and markup of
+ 	"etc.", "e.g." and "i.e.".  Use @code in various places where
+ 	appropriate.
+ 
+ 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
+ 	doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
+ 	whitespace.
+ 
+ 2004-11-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_handle_notshared_attribute): New function.
+ 	* doc/extend.texi: Document "notshared" attribute.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (make_phi_node): Make it static.
+ 	* tree.h: Remove the prototypes for make_phi_node.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_asm, expand_asm_operands): Make them static.
+ 	* tree.h: Remove the prototypes for expand_asm and
+ 	expand_asm_operands.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* passes.c (rest_of_compilation): Make it static.
+ 	* toplev.h: Remove the prototype for rest_of_compilation.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* jump.c (cleanup_barriers): Use delete_insn instead of
+ 	delete_barrier.
+ 	(delete_barrier): Remove.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (mostly_zero_p): Make it static.
+ 	* tree.h: Remove the prototype for mostly_zeros_p.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (expand_builtin_return_addr,
+ 	expand_builtin_longjmp, expand_builtin_trap): Make them static.
+ 	* expr.h: Remove the prototypes for expand_builtin_longjmp and
+ 	expand_builtin_trap.
+ 	* tree.h: Remove the prototype for expand_builtin_return_addr.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
+ 	* tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
+ 	with VAL being NULL.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfghooks.c (delete_basic_block): Remove code to truncate
+ 	edge vectors.
+ 
+ 2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* flow.c (init_propagate_block_info): Change the type of i to
+ 	unsigned.
+ 
+ 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR tree-optimization/18184
+ 	* c-typeck.c (comptypes): Do not treat pointers of different
+ 	modes or alias-all flags as equivalent.
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
+ 
+ 2004-11-04  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
+ 	reference specific C parser files in examples.
+ 
+ 2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/15342
+ 	* regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
+ 	as OP_INOUT if the instruction is predicated.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.h: Fix a comment typo.  Follow spelling conventions.
+ 	* tree-vectorizer.c: Fix a comment typo.
+ 
+ 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* sdbout.c (SDB_GENERATE_FAKE): Remove.
+ 	(gen_fake_label): Don't use SDB_GENERATE_FAKE.
+ 	* system.h: Poison SDB_GENERATE_FAKE.
+ 	* doc/tm.texi (SDB_GENERATE_FAKE): Remove.
+ 
+ 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
+ 
+ 2004-11-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR other/18277
+ 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
+ 	2004-10-29 patch
+ 
+ 2004-11-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* predict.c (propagate_freq): Make bitno unsigned. Move
+ 	npredecessors update out of loop.
+ 
+ 	* bitmap.h (bitmap_iterator): Remove word_bit and bit
+ 	fields. Rename others.
+ 	(bmp_iter_common_next_1, bmp_iter_single_next_1,
+ 	bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
+ 	bmp_iter_and_not_next_1, bmp_iter_and_not_init,
+ 	bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
+ 	bmp_iter_and_next): Remove.
+ 	(bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
+ 	bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
+ 	New.
+ 	(EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
+ 	EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
+ 
+ 	* bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
+ 	* df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
+ 	bitmap_and_into, bitmap_ior_into as appropriate.
+ 	* except.c (remove_eh_handler):	Likewise.
+ 	* global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
+ 	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
+ 	* tree-ssa-alias.c (merge_pointed_to_info): Likewise.
+ 	* tree-ssa-live.h (live_merge_and_clear): Likewise.
+ 	* tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
+ 	Likewise.
+ 
+ 	* bitmap.c (bitmap_print): Make bitno unsigned.
+ 	* bt-load.c (clear_btr_from_live_range,
+ 	btr_def_live_range): Likewise.
+ 	* caller-save.c (save_call_clobbered_regs): Likewise.
+ 	* cfganal.c (compute_dominance_frontiers_1): Likewise.
+ 	* cfgcleanup.c (thread_jump): Likewise.
+ 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
+ 	* conflict.c (conflict_graph_compute): Likewise.
+ 	* ddg.c (add_deps_for_use): Likewise.
+ 	* df.c (df_refs_update): Likewise.
+ 	* except.c (remove_eh_handler): Likewise.
+ 	* flow.c (verify_local_live_at_start, update_life_info,
+ 	initialize_uninitialized_subregs, propagate_one_insn,
+ 	free_propagate_block_info, propagate_block, find_use_as_address,
+ 	reg_set_to_hard_reg_set): Likewise.
+ 	* gcse.c (clear_modify_mem_tables): Likewise.
+ 	* global.c (global_conflicts, build_insn_chain): Likewise.
+ 	* ifcvt.c (dead_or_predicable): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	* loop.c (load_mems): Likewise.
+ 	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
+ 	Likewise.
+ 	* ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
+ 	Likewise.
+ 	* reload1.c (order_regs_for_reload, finish_spills): Likewise.
+ 	* sched-deps.c (sched_analyze_insn, free_deps): Likewise.
+ 	* sched-rgn.c (propagate_deps
+ 	* tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
+ 	* tree-dfa.c (dump_dfa_stats
+ 	tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
+ 	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
+ 	Likewise.
+ 	* tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
+ 	free_temp_expr_table, find_replaceable_exprs): Likewise.
+ 	* tree-sra.c (scan_function, scalarize_parms): Likewise.
+ 	* tree-ssa-alias.c (init_alias_info,
+ 	compute_points_to_and_addr_escape,
+ 	compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
+ 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
+ 	* tree-ssa-live.c (new_tree_live_info, live_worklist,
+ 	calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
+ 	sort_coalesce_list, build_tree_conflict_graph, dump_live_info
+ 	tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
+ 	tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
+ 	add_call_read_ops): Likewise.
+ 	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
+ 	* tree-ssa-live.h (num_var_partitions): Return unsigned.
+ 
+ 2004-11-03  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-optimization/18009
+ 	* tree-vectorizer.h (enum dr_alignment_support): New type.
+ 	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
+ 	(LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
+ 	single data_reference (instead of a varray of references).
+ 	* tree-vectorizer.c (new_loop_vec_info): Likewise.
+ 	(vect_gen_niters_for_prolog_loop): Likewise.
+ 	(vect_update_inits_of_drs): Likewise.
+ 
+ 	(vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
+ 	vect_enhance_data_refs_alignment.
+ 	(vect_do_peeling_for_alignment): Likewise.
+ 	(vect_enhance_data_refs_alignment): Decide if and by how much to peel;
+ 	this functionality used to be in vect_analyze_data_refs_alignment.
+ 	Also update DR_MISALIGNMENT due to peeling; this functionality used to
+ 	be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
+ 	(vect_analyze_data_refs_alignment): Decision on whether and by how much
+ 	to peel moved to vect_enhance_data_refs_alignment. Call
+ 	vect_supportable_dr_alignment.
+ 
+ 	(vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
+ 	(vect_compute_data_refs_alignment): Return bool. Consider return value
+ 	of vect_compute_data_ref_alignment and return true/false accordingly.
+ 	(vect_enhance_data_refs_alignment): Consider return value of
+ 	vect_compute_data_refs_alignment and return true/false accordingly.
+ 
+ 	(vect_supportable_dr_alignment): New function.
+ 	(vectorizable_store): Call vect_supportable_dr_alignment.
+ 	(vectorizable_load): Call vect_supportable_dr_alignment. Alignment
+ 	support checks moved from here to vect_supportable_dr_alignment.
+ 
+ 	(vect_transform_loop): Avoid 80 columns overflow.
+ 
+ 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* timevar.c (timevar_enable): Change from
+ 	static.
+ 	(timevar_push): Rename to ...
+ 	(timevar_push_1): this and remove the
+ 	enabled check.
+ 	(timevar_pop): Rename to ...
+ 	(timevar_pop_1): this and remove the
+ 	enabled check.
+ 	* timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
+ 	(timevar_pop): New macro.
+ 	(timevar_push): New macro.
+ 	(timevar_enable): Declare.
+ 
+ 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
+ 	libgcc for shared libraries.
+ 
+ 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
+ 	* config/s390/s390.c (s390_split_access_reg): New function.
+ 	(regclass_map): Add access registers.
+ 	(get_thread_pointer): Use access register instead of UNSPEC_TP.
+ 	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
+ 	(ACCESS_REGNO_P, ACCESS_REG_P): New macros.
+ 	(TP_REGNUM): New define.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ 	REG_ALLOC_ORDER): Add access registers.
+ 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
+ 	CANNOT_CHANGE_MODE_CLASS): Support access registers.
+ 	(enum reg_class): Add ACCESS_REGS.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
+ 	(REG_CLASS_FROM_LETTER): Add 't' constraint.
+ 	(REGISTER_NAMES): Add access registers.
+ 	* config/s390/s390.md (UNSPEC_TP): Remove.
+ 	("*movdi_64"): Add access register alternatives.  Provide splitters
+ 	to split DImode access register <-> GPR moves into SImode moves.
+ 	("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
+ 	("movstrictsi"): Likewise.
+ 	("get_tp_64", "get_tp_31"): Reimplement using access registers.
+ 	("set_tp_64", "set_tp_31"): Likewise.
+ 	("*set_tp"): New insn.
+ 
+ 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (resize_phi_node): Copy only a portion of
+ 	the PHI node currently in use.
+ 
+ 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/18231
+ 	* tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
+ 	also.
+ 
+ 2004-11-03  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/18270
+ 	* tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
+ 	abnormal edges, commit all pending stmts on incoming edges.
+ 
+ 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
+ 	cause extra costs.  Generate canonical RTL.
+ 
+ 2004-11-02  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (lambda_compute_auxillary_space): Update comments.
+ 	(lambda_compute_target_space). Ditto.
+ 	* lambda.h (lambda_trans_matrix): Ditto.
+ 	(lambda_linear_expression): Ditto.
+ 	(lambda_body_vector): Ditto.
+ 	(lambda_loopnest): Ditto.
+ 	* tree-loop-linear.c (gather_interchange_stats): Combine tests,
+ 	update comments, and remove pointless addition of 0.
+ 	(linear_transform_loops): Update comments.
+ 
+ 2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
+ 	CEIL_MOD_EXPR.
+ 
+ 2004-11-03 Jeff Law  <law@redhat.com>
+ 
+ 	* predict.c (struct block_info_def): Kill "tovisit" field.
+ 	(propagate_freq): Accept new "tovisit" parameter.  Change
+ 	read/write access methods for "tovisit" to check the "tovisit"
+ 	bitmap instead of a bit in block_info_def.
+ 	(estimate_loops_at_level): Allocate "tovisit" bitmap.  Pass
+ 	it to propagate_freq.
+ 
+ 	* stmt.c (expand_case): Speed up code to detect duplicate case
+ 	label targets and count unique case label targets.
+ 
+ 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cppdefault.c, cppdefault.h, timevar.h: Update copyright.
+ 
+ 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
+ 
+ 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (find_taken_edge): Abort if we are given a
+ 	statement that is neither COND_EXPR nor SWITCH_EXPR.
+ 
+ 2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* fold-const.c (fold): Reassociate also (x - mult) + mult and
+ 	(mult - x) + mult.  Cast operands of expression after applying
+ 	distributive law to the correct types.  Apply distributive law
+ 	to a * c - b * c for all non-float types.
+ 
+ 2004-11-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
+ 	because we don't want to run them now; instead, set them to
+ 	stmp-install-fixproto or stmp-install-fixinc.
+ 	* Makefile.in (stmp-install-fixproto): New.
+ 	(stmp-install-fixinc): New.
+ 	* configure: Regenerate.
+ 
+ 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* flow.c (init_propagate_block_info): Use bitmap_empty_p on result
+ 	of bitmap_xor.
+ 
+ 2004-11-02  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
+ 	(c_types_compatible_p): Move function definition...
+ 	* c-objc-common.c (c_types_compatible_p): ...here.
+ 	* c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
+ 	c-lang.c.
+ 
+ 2004-11-02  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgloop.h (struct loop): Update comment.
+ 	* cse.c (cse_main): Remove obsolete comment.
+ 
+ 	* expr.h (gen_cond_trap): Move prototype under functions provided
+ 	by optabs.c.
+ 	(canonicalize_condition, get_condition): Move to...
+ 	* rtl.h (canonicalize_condition, get_condition): ...here.
+ 	(branch_target_load_optimize): Add comment that this function is
+ 	in bt-load.c.
+ 	* loop.c (canonicalize_condition, get_condition): Move to...
+ 	* rtlanal.c (canonicalize_condition, get_condition): ...here.
+ 	* sched-deps.c (get_condition): Rename to sched_get_condition.
+ 	(add_dependence): Update this caller.
+ 
+ 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/16808
+ 	* tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
+ 	that the vops get marked for renaming.
+ 
+ 2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("movcc"): Set type attribute.
+ 
+ 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (add_phi_arg): Add an assertion that the
+ 	edge already exists.
+ 
+ 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (remove_phi_arg_num): Do not zero the
+ 	element that's being removed.
+ 
+ 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
+ 	arguments using PENDING_STMT.
+ 	(thread_block): Call copy_phis_to_block after redirecting an
+ 	edge.
+ 
+ 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
+ 	bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
+ 	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
+ 	(bitmap_ior_and_compl_into): Produce bool.
+ 	(bitmap_union_of_diff): Rename to ...
+ 	(bitmap_ior_and_compl): ... here. Produce bool.
+ 	* bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
+ 	bitmap_operation directly.
+ 	(bitmap_union_of_diff): Rename to ...
+ 	(bitmap_ior_and_compl): ... here. Return bool, use
+ 	bitmap_operation directly.
+ 	* df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
+ 	(df_ru_transfer_function, df_lr_transfer_function): Likewise.
+ 	* global.c (modify_bb_reg_pav): Likewise.
+ 
+ 	* bitmap.h (bitmap_equal_p): Return bool.
+ 	(bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
+ 	* bitmap.c (bitmap_equal_p): Return bool. Compare directly.
+ 	(bitmap_intersect_p, bitmap_intersect_compl_p): New.
+ 	* flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
+ 	bitmap_intersect_compl_p.
+ 	* ifcvt (dead_or_predicable): Likewise.
+ 
+ 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR rtl-optimization/17104
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
+ 	loads in zero_extend.
+ 
+ 2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR debug/18242
+ 	* toplev.c (debug_type_names): Remove "dwarf-1".
+ 
+ 2004-11-02  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* timevar.h (timevar_get): Remove.
+ 	* timevar.c (timevar_get): Remove unused function.
+ 
+ 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/include/texinfo.tex: Update from Texinfo CVS.
+ 
+ 2004-11-02  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cppdefault.h (cpp_SYSROOT): Remove.
+ 	* cppdefault.c (cpp_SYSROOT): Likewise.
+ 
+ 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/16447
+ 	* tree-cfg.c (bsi_commit_one_edge_insert): Rename from
+ 	bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
+ 	(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
+ 	* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
+ 	* tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
+ 	* tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
+ 	(same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
+ 	(identical_copies_p): New.  Return true is two copies are the same.
+ 	(identical_stmt_lists_p): New.  Return true if stmt lists are the same.
+ 	(analyze_edges_for_bb): New.  Determine how best to insert edge stmts
+ 	for a basic block.
+ 	(perform_edge_inserts): New.  Determine what to do with all stmts that
+ 	have been inserted on edges.
+ 	(remove_ssa_form):  Analyze and commit edges from here.
+ 
+ 2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR bootstrap/18232
+ 	* bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
+ 	(EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
+ 	(EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
+ 	(EXECUTE_IF_AND_IN_BITMAP): Likewise.
+ 
+ 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/18239
+ 	* c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
+ 	parameter declarations.
+ 
+ 2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
+ 	(s390_secondary_input_reload_class)
+ 	(s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
+ 	register.
+ 	(s390_expand_cmpmem): Enable cmpmem implementation.
+ 	* config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
+ 	Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
+ 	(REG_CLASS_FROM_LETTER): New constraint 'c' added.
+ 	* config/s390/s390.md ("movcc"): New insn pattern.
+ 	* doc/md.texi: Document 'c' constraint for s390.
+ 
+ 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR c++/18064
+ 	* doc/extend.texi (Deprecated Features): Deprecate G++ covariant
+ 	extension.
+ 
+ 2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/17672
+ 	Fix PR tree-optimization/18168
+ 
+ 	* lambda-code.c (lambda_lattice_compute_base): Fix reversed
+ 	assert test.
+ 	(gcc_tree_to_linear_expression): Add extra to existing constant.
+ 	(depth_of_nest): Factor out function used in various places.
+ 	(gcc_loop_to_lambda_loop): Clean up code a little bit. No
+ 	functional changes.
+ 	(find_induction_var_from_exit_cond): Stop guessing, and just
+ 	get the right answer :).
+ 	(gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
+ 	Print out message about result of attempt to create perfect nest.
+ 	(lbv_to_gcc_expression): Add type argument, use it to do math
+ 	and induction variable creation.
+ 	(lle_to_gcc_expression): Ditto.
+ 	(lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
+ 	oldiv. Pass type argument to lle_to_gcc_expression and
+ 	lbv_to_gcc_expression.
+ 	Reset number of iterations after transformation.
+ 	(perfect_nestify): Remove useless pre-allocation, and cleanup
+ 	a small amount.
+ 
+ 	* tree-data-ref.c (build_classic_dist_vector): Return false for
+ 	dependences completely outside of the loop nest we asked about.
+ 	(build_classic_dir_vector): Ditto.
+ 	(compute_data_dependences_for_loop): Only add dependence relations
+ 	inside the loop we asked about.
+ 
+ 	* tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
+ 	Compute immediate uses.
+ 
+ 	* tree-optimize.c: Move linear_transform_loops to before ivcanon.
+ 
+ 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Fix a comment typo.
+ 
+ 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Fix a comment typo.
+ 
+ 2004-10-31  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/ieee754-sf.S (floatdisf): Fix regression with
+ 	values smaller than 2^32.
+ 
+ 2004-10-31 Jeff Law  <law@redhat.com>
+ 
+ 	* cfgloop.h (struct loop): Remove unused "nodes" field.
+ 	* timevar.def (TV_TREE_LOOP_BOUNDS): New.
+ 	* tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
+ 	instead of calling flow_bb_inside_loop_p for every basic block
+ 	in the function.
+ 	* tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
+ 
+ 2004-10-31  Graham Stott <graham.stott@btinternet.com>
+ 
+ 	* config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
+ 	INT_5_BITS instead of VAL_5_BITS_P.
+ 
+ 2004-10-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/14521
+ 	* tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
+ 	for consistent quoting in diagnostic messages.
+ 	(expand_call_inline): Likewise.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 	* tree-ssa.c (warn_uninitialized_var): Likewise.
+ 	(warn_uninitialized_phi): Likewise.
+ 
+ 2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
+ 	mode check.
+ 
+ 2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c: Fix a comment typo.
+ 
+ 2004-10-31  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/17526
+ 	* tree-gimple.c (is_gimple_mem_rhs): Also require a val for
+ 	aggregate types that are not BLKmode.
+ 
+ 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.h (objc_lookup_ivar): Add second parameter to
+ 	prototype.
+ 	* c-typeck.c (build_external_ref): After looking up symbol,
+ 	pass it to objc_lookup_ivar() to decide whether it or the
+ 	ivar should be used, rather than deciding the issue locally.
+ 	* stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
+ 	which is simply returned in the non-ObjC case.
+ 
+ 2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* sdbout.c (sdbout_symbol): Do not output type .def statements
+ 	for builtin types.
+ 
+ 2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-common.c (catenate_strings): New.
+ 	(c_parse_error): Use it.  Don't over-escape.
+ 
+ 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
+ 	modify the for loop expressions for it.  Remove unnecessary casts.
+ 	(sh_expand_prologue): Declare reg as unsigned.
+ 	(sh_gimplify_va_arg_expr): Initinalize lab_over.
+ 	(sh_handle_sp_switch_attribute): Add const qualifier appropriately.
+ 
+ 2004-10-30  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi (Darwin Options): Improve description of
+ 	how the subtype is chosen.
+ 
+ 2004-10-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/18096
+ 	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
+ 	the stack adjustment, "size", is valid for Pmode.  If the stack
+ 	frame is too large, generate a trap insn and issue a warning.
+ 
+ 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c: Fix comment typos.
+ 
+ 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (prepare_move_operands): Use operands[0]
+ 	for the output rtl if no_new_pseudos is set.  Remove redundant
+ 	line.
+ 
+ 2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/16666
+ 	* c-decl.c (start_function): Don't check for DECL_BUILT_IN when
+ 	determining whether to copy parameter types from a previous
+ 	prototype declaration.
+ 
+ 2004-10-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/17581
+ 	* cselib.c (cselib_process_insn): The last instruction of a libcall
+ 	block, with the REG_RETVAL note, should be considered in the libcall.
+ 	* gcse.c (do_local_cprop): Allow constants to be propagated outside
+ 	of libcall blocks.
+ 	(adjust_libcall_notes): Use simplify_replace_rtx instead of
+ 	replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
+ 
+ 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
+ 
+ 2004-10-29 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (struct edge_info): New structure holding
+ 	edge equivalences and edge redirection information.
+ 	(get_eq_expr_value, record_dominating_conditions): Kill.
+ 	(propagate_to_outgoing_edges): Renamed from cprop_into_phis.
+ 	Call record_edge_info.
+ 	(allocate_edge_info, free_edge_info): New.
+ 	(tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
+ 	rather than cprop_into_phis.  Free all edge infos before threading
+ 	jumps.
+ 	(thread_across_edge): Allocate new edge info structures as needed
+ 	and store the redirection target into the edge info structure
+ 	instead of the edge's AUX field.
+ 	(dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
+ 	(record_equivalence_from_incoming_edge): Lose unnecessary argument.
+ 	Revamp code which finds and records equivalences associated with
+ 	edges to use saved data in the edge_info structure.
+ 	(record_equivalencs_from_phis): Similarly.
+ 	(dom_opt_finalize_block): Revamp code which finds and records
+ 	equivalences associated with edges to use saved data in the
+ 	edge_info structure.
+ 	(build_and_record_new_cond): New function.
+ 	(record_conditions): Use build_and_record_new_cond to record
+ 	dominating conditions.
+ 	(record_edge_info): New function.
+ 	(record_range): Tighten test for conditions which create
+ 	useful range records.
+ 
+ 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/i386/darwin.h (ASM_SPEC): Simplify.
+ 	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
+ 	* config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
+ 	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
+ 	(LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
+ 	in all cases.  Pass the right -arch or -arch_only based on -mcpu.
+ 	(ASM_SPEC): Handle -force_cpusubtype_ALL.
+ 	* doc/invoke.texi (Darwin Options): Improve documentation for
+ 	Darwin linker (and libtool) switches.
+ 
+ 	* config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
+ 
+ 2004-10-29  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
+ 
+ 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (allocate_phi_node): New.
+ 	(make_phi_node, resize_phi_node): Use it.
+ 
+ 2004-10-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
+ 	* config/rs6000/darwin.h (TARGET_POWER): Define as 0.
+ 
+ 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
+ 	the whole PHI node.
+ 	* tree.h (tree_phi_node): Tell the garbage collector to chase
+ 	num_args arguments.
+ 
+ 2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* opts.c (decode_options): Lower the crossjump threshold for -Os.
+ 
+ 2004-10-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree.h (struct tree_ssa_name): Remove field 'equiv'.
+ 
+ 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (bitmap_empty_p): New.
+ 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
+ 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
+ 	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
+ 	operation macros.
+ 	(bitmap_ior_and_compl): Rename to ...
+ 	(bitmap_ior_and_compl_into): ... here.
+ 	* bitmap.c (bitmap_equal_p): Use bitmap_xor.
+ 	(bitmap_ior_and_compl): Rename to ...
+ 	(bitmap_ior_and_compl_into): ... here. Adjust. Return changed
+ 	flag.
+ 	(bitmap_union_of_diff): Use renamed bitmap functions.
+ 	* basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
+ 	XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
+ 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
+ 	* df.c (df_bb_rd_local_compute)
+ 	* flow.c (calculate_global_regs_live,
+ 	init_propagate_block_info): Likewise.
+ 	* ifcvt.c (find_if_case_1, find_if_case_2,
+ 	dead_or_predicable): Likewise.
+ 	* ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
+ 	reset_conflicts, conflicts_between_webs): Likewise.
+ 	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
+ 	detect_web_parts_to_rebuild): Likewise.
+ 	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
+ 	* tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
+ 	* tree-sra.c (decide_instantiations): Likewise.
+ 	* tree-ssa-alias.c (create_name_tags,
+ 	merge_pointed_to_info): Likewise.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ 	* tree-ssa-loop-im.c (move_computations): Likewise.
+ 	* tree-ssa-operands.c (get_call_expr_operands): Likewise.
+ 	* tree-ssa-pre.c (fini_pre): Likewise.
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
+ 	* tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
+ 	* tree-vectorizer.c (vectorize_loops): Likewise.
+ 
+ 2004-10-29  Nick Clifton  <nickc@redhat.com>
+ 
+ 	config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
+ 	adding the PIC register to the fixed_regs array, also add it
+ 	to the call_used_regs array.
+ 
+ 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
+ 	with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
+ 
+ 2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
+ 	(rewrite_blocks): Modify argument, and use it to decide which
+ 	function to call.
+ 	(rewrite_def_def_chains): Call rewrite_blocks with true here.
+ 	(rewrite_into_ssa): and call it with false here.
+ 
+ 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c (add_phi_arg): Turn an "if" that always
+ 	triggers into gcc_assert.
+ 
+ 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16728
+ 	* tree-flow.h (get_ptr_info): Declare.
+ 	* tree-ssa-alias.c (get_ptr_info): Make extern.
+ 	* tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
+ 	alias information.
+ 
+ 2004-10-28  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
+ 	* config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
+ 	case.
+ 
+ 2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
+ 	prevent their later unnecessary registration.
+ 	(mf_build_check_statement_for): Remove "addr" argument, and
+ 	related "__mf_value" generated code.  Update callers.
+ 	(mf_decl_eligible_p): New function, factored from mx_register_decls.
+ 	(mx_register_decls): Call it.
+ 	(mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
+ 	to restore support for complex nested expressions.
+ 	(mudflap_enqueue_decl): Simplify.  Move registration call emission
+ 	out ...
+ 	(mudflap_finish_file): ... to here.
+ 	(mudflap_enqueue_constant): Remove dump code.
+ 
+ 2004-10-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 18199
+ 	* dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
+ 	(DBX_FINISH_STABS): Add (unused by default) SYM parameter.
+ 	(dbxout_finish_complex_stabs): Update to match.
+ 	(dbxout_symbol_location): Call emit_pending_bincls_if_required
+ 	and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
+ 	dbxout_begin_complex_stabs_noforcetext.
+ 	* xcoffout.h (DBX_FINISH_STABS): Restore special case for
+ 	N_GSYM, using new SYM parameter.  Correct logic for special
+ 	cases for N_FUN.
+ 
+ 	* varasm.c (function_section): If DECL is NULL_TREE, don't try
+ 	to do anything else.  Do not call get_insns if cfun or
+ 	cfun->emit are NULL.
+ 
+ 2004-10-28  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	PR middle-end/18160
+ 	* c-typeck.c (c_mark_addressable): Issue error if address of a
+ 	register variable is taken.  Use "%qD" to print DECL_NAME.
+ 
+ 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* opts.c (decode_options): Don't run PRE at -Os.
+ 
+ 2004-10-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (movqicc_internal): Allow exactly one
+ 	zero in the conditional.
+ 	(movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
+ 
+ 2004-10-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (memory_extend_rtx): Remove.
+ 	(cse_main): Don't set it.
+ 	(cse_insn): Use a local buffer instead.
+ 
+ 2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* profile.c (branch_prob): Call to init_edge_profiler added.
+ 	* rtl-profile.c (rtl_init_edge_profiler): New function.
+ 	(rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
+ 	call to safe_insert_insn_on_edge.
+ 	(rtl_profile_hooks): rtl_init_edge_profiler added.
+ 	* tree-profile.c (tree_init_edge_profiler): New function.
+ 	(tree_profile_hooks): tree_init_edge_profiler added.
+ 	* value-prof.h (profile_hooks) init_edge_profiler prototype added.
+ 
+ 2004-10-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
+ 	emit_jump_insn() to generate the return instruction.
+ 
+ 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-phinodes.c: Remove trailing whitespace.
+ 
+ 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-ivopts.c: Fix a comment typo.
+ 	* doc/invoke.texi: Fix a typo.
+ 
+ 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* Makefile.in (OBJS-common): Remove duplicates.
+ 
+ 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* lambda-code.c (nestify_update_pending_stmts): Remove.
+ 	(perfect_nestify): Use flush_pending_stmts instead of
+ 	nestify_update_pending_stmts.
+ 	* tree-cfg.c (tree_make_forwarder_block): Use
+ 	flush_pending_stmts.
+ 	* tree-flow.h: Add a prototype for flush_pending_stmts.
+ 	* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
+ 	Use flush_pending_stmts.
+ 	(lv_update_pending_stmts): Remove.
+ 	(tree_ssa_loop_version): Use flush_pending_stmts instead of
+ 	lv_update_pending_stmts.
+ 	* tree-ssa.c (flush_pending_stmts): New.
+ 
+ 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/15286
+ 	* final.c (alter_subreg): Compute correct offset to use with
+ 	paradoxical SUBREGs of memory operands.
+ 	* recog.c (general_operand): Allow paradoxical SUBREGs of
+ 	memory operands after reload.
+ 	* simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
+ 	has failed when passed a hard register.
+ 
+ 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_block): Handle parallels correctly.
+ 
+ 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* final.c (shorten_branches): Initialize flags structure.
+ 
+ 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.c (int_cst_node, int_cst_hash_table): New variables.
+ 	(init_ttree): Initialize them.
+ 	(int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
+ 	(build_int_cst_wide): Use hash table for oversized integers.
+ 
+ 2004-10-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
+ 	begin_label.
+ 
+ 2004-10-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/18163
+ 	* expr.c (emit_group_load): Don't go force temporary for memory
+ 	or concat source.
+ 	(emit_group_store): Similarly.
+ 
+ 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR other/18186
+ 	* common.opt (--param): Fix spelling of parameter.
+ 
+ 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17529
+ 	* tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
+ 	Don't fold statement.
+ 	<case ASM_EXPR>: Fold the statement.
+ 
+ 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
+ 	<COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
+ 
+ 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
+ 	doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
+ 	doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
+ 
+ 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
+ 	punctuation outside quotes.
+ 
+ 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
+ 	    James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/13158
+ 	* config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
+ 	sibcall alloc instruction.
+ 	(process_set): Handle sibcall alloc instruction.
+ 
+ 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_attribute_table): Add
+ 	SUBTARGET_ATTRIBUTE_TABLE.
+ 	* config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
+ 	(SUBTARGET_ATTRIBUTE_TABLE): Define.
+ 	* config/darwin.c (darwin_handle_weak_import_attribute): New.
+ 	(HAVE_DEAD_STRIP): Delete.
+ 	(no_dead_strip): Don't test HAVE_DEAD_STRIP.
+ 	* config/darwin-protos.h (darwin_handle_weak_import_attribute):
+ 	Prototype.
+ 
+ 	* doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
+ 
+ 	* config/darwin.h (GTHREAD_USE_WEAK): Define.
+ 
+ 2004-10-28  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
+ 	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
+ 	* params.h (SRA_MAX_STRUCTURE_SIZE): New.
+ 	(SRA_FIELD_STRUCTURE_RATIO): Likewise.
+ 	* tree-sra.c: Include "params.h".
+ 	(decide_block_copy): Use new parameters.
+ 	* doc/invoke.texi (Optimize Options): Document new SRA pass
+ 	parameters sra-max-structure-size and sra-field-structure-ratio.
+ 
+ 2004-10-27  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
+ 
+ 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18048
+ 	* fold-const.c (try_move_mult_to_index): New function.
+ 	(fold): Use try_move_mult_to_index.
+ 	* tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
+ 	an all-ones unsigned constant without extra bits.
+ 	* tree.c (build_low_bits_mask): New function.
+ 	* tree.h (build_low_bits_mask): Declare.
+ 
+ 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/17956
+ 	* config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
+ 	final condition.
+ 	(minsf3): Same.
+ 	(maxdf3): Same.
+ 	(mindf3): Same.
+ 
+ 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Speed up by reordering the two
+ 	conditions for entering basic blocks into worklist.
+ 
+ 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Speed up by pretending to have
+ 	ENTRY_BLOCK_PTR in worklist.
+ 
+ 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
+ 	<GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
+ 
+ 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/17133
+ 
+ 	* tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
+ 	def kill operand.
+ 
+ 	* tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
+ 	(get_v_must_def_result_ptr): Modify for new structure of
+ 	v_must_defs array.
+ 	(get_v_must_def_kill_ptr): New.
+ 	(op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
+ 	(op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
+ 	(op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
+ 	(op_iter_init): Initialize new mustu members.
+ 	(op_iter_next_mustdef): New function.
+ 	(op_iter_init_mustdef): Ditto.
+ 
+ 	* tree-flow.h (rewrite_def_def_chains): New function.
+ 
+ 	* tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
+ 	(ssa_mark_def_sites): Ditto.
+ 	(rewrite_stmt): Ditto.
+ 	(ssa_rewrite_stmt): Ditto.
+ 	(rewrite_blocks): Factor out from rewrite_into_ssa.
+ 	(mark_def_block_sites): Ditto.
+ 	(rewrite_def_def_chains): New function, just rewrites def-def
+ 	chains without phi node insertion.
+ 
+ 	* tree-pass.h (TODO_fix_def_def_chains): New todo flag.
+ 
+ 	* tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
+ 
+ 	* tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
+ 	they include the rhs now.
+ 
+ 	* tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
+ 	V_MUST_DEF_RESULT.
+ 
+ 	* tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
+ 	Update callers.
+ 	(mark_really_necessary_kill_operand_phis): New function.
+ 	(perform_tree_ssa_dce): Call it.
+ 	(pass_dce): Add TODO_fix_def_def_chains.
+ 	(pass_cd_dce): Ditto.
+ 
+ 	* tree-ssa-loop-im.c (determine_max_movement): Look at kills as
+ 	well.
+ 	(rewrite_mem_refs): Ditto.
+ 
+ 	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
+ 	as well.
+ 
+ 	* tree-ssa-operands.c (allocate_v_may_def_optype):
+ 	v_may_def_operand_type_t became v_def_use_operand_type_t.
+ 	(allocate_v_must_def_optype) Ditto.
+ 	(finalize_ssa_v_must_defs): Update for new operand type, as well
+ 	as setting the use portion as well.
+ 	(copy_virtual_operands): Copy the kill operand as well.
+ 	(create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
+ 	V_MUST_DEF_RESULT.
+ 
+ 	* tree-ssa-operands.h (v_may_def_operand_type): Renamed to
+ 	v_def_use_operand_type.
+ 	(v_must_def_optype_d): Use v_def_use_operand_type.
+ 	(V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
+ 	(V_MUST_DEF_KILL_*): New macros.
+ 	(struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
+ 	members.
+ 	Rename existing must_i and num_v_must members to mustd_i and
+ 	num_v_mustd.
+ 	(SSA_OP_VMUSTDEFKILL): New flag.
+ 	(SSA_OP_VIRTUAL_KILLS): New flag.
+ 	(SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
+ 	(SSA_OP_ALL_KILLS): New flag.
+ 	(FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
+ 
+ 	* tree-ssa.c (verify_ssa): Verify virtual kills as well.
+ 
+ 	* tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
+ 	became V_MUST_DEF_RESULT.
+ 	(rename_variables_in_bb): Rename kill pointer as well.
+ 
+ 	* tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
+ 	immediate uses.
+ 
+ 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* dbxout.c (dbxout_source_line): Move declaration of begin_label to
+ 	the block that needs it.
+ 
+ 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
+ 	ATTRIBUTE_UNUSED.
+ 
+ 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-lex.c (cb_def_pragma): Clean up code for making location
+ 	palatable to diagnostic.c.
+ 
+ 2004-10-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/17757
+ 	* tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
+ 	without any PHI arguments left.  Make sure the argument that
+ 	we're supposed to remove exists at all.
+ 
+ 2004-10-27  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* configure.ac: Don't test for [build] __cxa_atexit when building a
+ 	cross compiler.
+ 	* configure: Regenerate.
+ 
+ 2004-10-27  Paul Brook  <paul@codeosurcery.com>
+ 
+ 	* configure.ac: Use build_exeext not host_exeext when lookin for
+ 	target tools.
+ 	* configure: Regenerate.
+ 
+ 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
+ 
+ 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 	    patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR middle-end/14684
+ 	* opts.c (OPT_fprofile_generate): Default to -funroll-loops
+ 	to match -fprofile-use.
+ 
+ 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/rs6000/rs6000.c: Fix a comment typo.
+ 
+ 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
+ 	counter.
+ 
+ 2004-10-27  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* varasm.c (default_stabs_asm_out_destructor): Mark symbol as
+ 	unused.
+ 	(default_stabs_asm_out_constructor): Likewise.
+ 
+ 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* builtins.c (fold_builtin_unordered_cmp): Always bring both
+ 	operands to the same type.
+ 
+ 2004-10-26  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/18010
+ 	* emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
+ 
+ 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c: Include obstack.h.
+ 	(ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
+ 	default definition.
+ 	(ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
+ 	Default-define here.
+ 	(DBX_CONTIN_LENGTH): Move definition with others.
+ 	(DBX_FINISH_STABS): New target macro.
+ 	(current_sym_code, current_sym_value, current_sym_addr)
+ 	(current_sym_nchars, CHARS, dbxout_continue)
+ 	(print_int_cst_octal, print_octal, print_wide_int)
+ 	(dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
+ 	(stabstr_ob, stabstr_last_contin_point): New variables.
+ 	(NUMBER_FMT_LOOP): New improper macro.
+ 	(dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
+ 	(dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
+ 	(dbxout_stab_value_internal_label_diff, dbxout_stabd)
+ 	(dbxout_begin_stabn, dbxout_begin_stabn_sline)
+ 	(dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
+ 	(dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
+ 	(stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
+ 	(stabstr_continue, DECL_ACCESSIBILITY_CHAR)
+ 	New functions and/or proper function-like macros.
+ 	(CONTIN): Use stabstr_continue, unconditionally.
+ 	(get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
+ 	(dbxout_init): Initialize stabstr_ob.  Check
+ 	NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
+ 	if it was used.  Use the new interfaces.
+ 	(dbxout_source_file): Remove file argument; always write to
+ 	asm_out_file.  Use the new interfaces.
+ 	(dbxout_type_method_1): Remove second argument which is always
+ 	DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
+ 	(dbxout_type_methods): Remove write-only variables.  Use the
+ 	new interfaces.
+ 	(dbxout_parms): Refactor to remove code duplicated in each of
+ 	several successive if-else-if blocks.  Use the new interfaces.
+ 	(dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
+ 	(dbxout_source_line, dbxout_finish, dbxout_type_index)
+ 	(dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
+ 	(dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
+ 	(dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
+ 	(dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
+ 	Use the new interfaces.
+ 	* Makefile.in (dbxout.o): Update dependencies.
+ 
+ 	* defaults.h: Don't define ASM_STABD_OP.
+ 	* output.h: Prototype new dbxout_* interfaces.
+ 	* system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
+ 	* varasm.c: Don't define ASM_STABS_OP.
+ 	(default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
+ 	Use the new dbxout.c interfaces.  Call sorry if neither
+ 	DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
+ 
+ 	* xcoffout.h: Don't define ASM_STABS_OP.
+ 	(DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
+ 	(DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
+ 	(NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
+ 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
+ 	do { ... } while (0) idiom.
+ 
+ 	* config/alpha/alpha.c (num_source_filenames): Export.
+ 	* config/alpha/alpha.h (num_source_filenames): Declare.
+ 	(DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ 	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+ 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ 	Always use .debugsym.  Update commentary.
+ 	* config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
+ 	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
+ 	* config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
+ 	Use new interfaces.
+ 	* config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
+ 	(macho_branch_islands): Use new interfaces.
+ 
+ 	* doc/tm.texi: Update.
+ 
+ 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expr.c (emit_group_store): Do not treat floats as BLKmode.
+ 	(emit_group_load): Same.
+ 
+ 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-parse.in (datadef): Use pedwarn rather than error and warning
+ 	for diagnostic in case of no declaration specifiers.
+ 
+ 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/15747
+ 	* doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
+ 	reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
+ 	can be used to work around this.
+ 
+ 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
+ 	doubles.
+ 
+ 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_case): Update a comment.
+ 
+ 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_case): Put an assertion that index_expr is
+ 	never INTEGER_CST.  Don't special case for constant
+ 	index_expr.
+ 
+ 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR 18162
+ 	* c-parse.in (designator): Finish with a semi-colon.
+ 
+ 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
+ 	into rotlsi3.
+ 
+ 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
+ 	a default case only.
+ 
+ 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
+ 	e500 doubles.
+ 	(spe_build_register_parallel): New.
+ 	(rs6000_spe_function_arg): Handle e500 doubles.
+ 	(function_arg): Same.
+ 	(spe_func_has_64bit_regs_p): Same.
+ 	(rs6000_function_value): Same.
+ 	(rs6000_libcall_value): Same.
+ 	(legitimate_lo_sum_address_p): Return false for e500 doubles.
+ 
+ 	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
+ 	doubles.
+ 	(DATA_ALIGNMENT): Same.
+ 	(CANNOT_CHANGE_MODE_CLASS): Same.
+ 
+ 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* expr.c (emit_group_load): Handle floats.
+ 	(emit_group_store): Same.
+ 
+ 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-lex.c (get_nonpadding_token): Remove.
+ 	(c_lex_with_flags): Push timevar and eat padding here.  Improve
+ 	stray token diagnostic.
+ 	(lex_string): Replace logic with switch statement, eat padding
+ 	token here.
+ 
+ 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 18149
+ 	* config/i386/darwin.h (ASM_SPEC): Undef it before defining.
+ 
+ 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
+ 	to 'non-weak'.
+ 	(MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
+ 	(ASM_MAKE_LABEL_LINKONCE): Delete.
+ 	(ASM_WEAKEN_DECL): New.
+ 	(ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(TEXT_SECTION_ASM_OP): Add a tab.
+ 	(DATA_SECTION_ASM_OP): Likewise.
+ 	(SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
+ 	data_section on every section change.
+ 	(EXTRA_SECTIONS): Add a bunch of new extra sections.
+ 	(EXTRA_SECTION_FUNCTIONS): Likewise.
+ 	(USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
+ 	(JCR_SECTION_NAME): Define.
+ 	(TARGET_SECTION_TYPE_FLAGS): Don't define.
+ 	* config/darwin.c (darwin_encode_section_info): A symbol is defined
+ 	in this file if it is not weak.
+ 	(textcoal_section): Delete.
+ 	(datacoal_section): Delete.
+ 	(darwin_make_decl_one_only): Delete.
+ 	(machopic_select_section): Handle functions.
+ 	(darwin_asm_named_section): Add a tab.
+ 	(darwin_section_type_flags): Delete.
+ 	(darwin_unique_section): Delete contents.
+ 	(darwin_emit_unwind_label): Add a tab.  Make decls weak if
+ 	DECL_WEAK is set.
+ 	* config/darwin-protos.h (darwin_section_type_flags): Delete.
+ 	(darwin_make_decl_one_only): Delete.
+ 	(text_coal_section): New.
+ 	(text_unlikely_section): New.
+ 	(text_unlikely_coal_section): New.
+ 	(const_coal_section): New.
+ 	(data_coal_section): New.
+ 	(const_data_coal_section): New.
+ 	* varasm.c (function_section): Honour
+ 	USE_SELECT_SECTION_FOR_FUNCTIONS.
+ 	* dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
+ 	TARGET_USES_WEAK_UNWIND_INFO is in effect.
+ 	* dbxout.c (dbxout_source_file): Don't change sections while
+ 	a function is being output.
+ 
+ 2004-10-25  David Ayers  <d.ayers@inode.at>
+ 
+ 	* c-common.h: Remove RID_ID.
+ 	* c-parse.in: Remove OBJECTNAME and references to RID_ID.
+ 	(typespec_reserved_attr): Add rule for TYPENAME
+ 	non_empty_protocolrefs.
+ 	(yylexname): Remove special handling of RID_ID.
+ 
+ 2004-10-25  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/invoke.texi (-fcrossjumping): Not enabled at -O.
+ 
+ 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/16667
+ 	* c-parse.in (array_designator): New.
+ 	(designator): Use it.
+ 	(initelt): Only permit array_designator without '=', not ".foo".
+ 
+ 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
+ 	* gcc/Makefile.in: removed ggc for cgraphunit.
+ 	* gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
+ 	* gcc/cgraph.h: removed static var analysis data structures and calls.
+ 	* gcc/cgraphunit.c:
+ 	cgraph_mark_local_and_external_functions:changed name to
+ 		cgraph_mark_local_functions
+ 	(print_order,convert_UIDs_in_bitmap,new_static_vars_info,
+ 	cgraph_reset_static_var_maps,get_global_static_vars_info,
+ 	get_global_statics_not_read,get_global_statics_not_written,searchc,
+ 	cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
+ 	check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
+ 	scan_for_static_refs,cgraph_characterize_statics_local,
+ 	clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
+ 	removed.
+ 	(cgraph_optimize,init_cgraph): removed calls to static vars analysis
+ 	* gcc/tree-dfa.c find_referenced_vars: removed call to static vars
+ 	analysis
+ 	* gcc/tree-flow.h static_vars_info: removed
+ 	* gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
+ 	removed calls to static vars analysis.
+ 	get_call_expr_operands: removed callee variable.
+ 
+ 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfg.c (unchecked_make_edge, redirect_edge_succ,
+ 	redirect_edge_pred): Use VEC_safe_push instead of
+ 	VEC_safe_insert.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+ 
+ 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloopmanip.c (loopify): Take two more arguments true_edge
+ 	and false_edge.
+ 	* cfgloop.h: Adjust the corresponding prototype.
+ 	* loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
+ 	* tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
+ 
+ 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* dwarf2out.c (rtl_for_decl_location): Avoid segfault if
+ 	DECL_INCOMING_RTL is NULL.
+ 
+ 2004-10-25  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* timevar.def (TV_FIND_REFERENCED_VARS): New.
+ 	* tree-dfa.c (pass_referenced_var): Use it.
+ 
+ 2004-10-25  Roger Sayle  <roger@eyesopen.com>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* cse.c: Change encoding of quantity numbers to avoid undefined
+ 	pointer arithmetic on qty_table.
+ 	(REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
+ 	(get_cse_reg_info): Initialize reg_qty to a unique negative value.
+ 	(new_basic_block): Assign "real" quantity numbers from zero.
+ 	(delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
+ 	REG_QTY to its unique negative value.
+ 	(merge_equiv_classes): Calculate need_rehash if quantity is valid.
+ 	(cse_main): Don't include max_reg when determining max_qty.
+ 	(cse_basic_block): Avoid subtracting a large offset from qty_table,
+ 	which causes undefined C99 behaviour.  Only allocate needed memory.
+ 
+ 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_case): Remove an obsolete comment.
+ 
+ 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17407
+ 	* c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
+ 	layout_type as it is already done by build_array_type.
+ 	* tree.c (build_array_type): Layout the type even
+ 
+ 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
+ 
+ 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.md (movdi, movdf): Handle wide-constant splits
+ 	with wider-than-32-bit HOST_WIDE_INTs.
+ 
+ 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/mips/mips.c(mips_output_filename): Remove unused
+ 	array ltext_label_name
+ 
+ 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
+ 
+ 	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
+ 
+ 2004-10-25  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
+ 
+ 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* predict.c (predict_loops): Call scev_finalize instead of
+ 	scev_reset.
+ 
+ 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
+ 	config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
+ 	config/sh/ushmedia.h, config/sparc/elf.h,
+ 	config/sparc/sp64-elf.h: Update copyright.
+ 
+ 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_case): Handle the default label outside of
+ 	the for loop.  Remove code to handle a missing default label.
+ 
+ 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dbxout.c (dbxout_function_decl): Don't use
+ 	DBX_OUTPUT_FUNCTION_END.
+ 	* system.h: Poison DBX_OUTPUT_FUNCTION_END.
+ 	* doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
+ 
+ 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17967
+ 	* tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
+ 
+ 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-dom.c (record_equality): Use loop depth to determine
+ 	which way to record the equality as well.
+ 	(loop_depth_of_name): New function.
+ 
+ 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/17793
+ 	* gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
+ 	through the operand if it is a useless type conversion.
+ 
+ 2004-10-23  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* cfg.c (remove_edge): Use VEC_unordered_remove.
+ 	(redirect_edge_succ): Likewise.
+ 	(redirect_edge_pred): Likewise.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
+ 	beyond its end.
+ 
+ 2004-10-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
+ 	saves.
+ 
+ 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spe_extendsfdf2): New.
+ 	(movdf_e500_double): New.
+ 	(spe_truncdfsf2): New.
+ 	(spe_absdf2): New.
+ 	(spe_nabsdf2): New.
+ 	(spe_negdf2): New.
+ 	(sub_adddf3): New.
+ 	(spe_subdf3): New.
+ 	(spe_muldf3): New.
+ 	(spe_floatsidf2): New.
+ 	(spe_floatunssidf2): New.
+ 	(fix_truncdfsi2): New.
+ 	(spe_fixuns_truncdfsi2): New.
+ 
+ 	* config/rs6000/rs6000.md (truncdfsf2): Change to expander.
+ 	(fpr_truncdfsf2): New.
+ 	(negdf2): Change to expander.
+ 	(fpr_negdf2): New.
+ 	(fpr_nabsdf2): Name pattern.
+ 	(adddf3): Change to expander.
+ 	(fpr_adddf3): Nem.
+ 	(subdf3): Change to expander.
+ 	(fpr_subdf3): New.
+ 	(muldf3): Change to expander.
+ 	(fpr_muldf3): New.
+ 	(divdf3): Change to expander.
+ 	(fpr_divdf3): New.
+ 	(movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
+ 	(cmpdf): Allow for TARGET_E500_DOUBLE.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-semantics.c (re_push_stmt_list): Remove.
+ 	* c-common.h: Remove the corresponding prototype.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (asm_op_is_mem_input): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-gimple.c (is_gimple_constructor_elt): Remove.
+ 	* tree-gimple.h: Remove the corresponding prototype.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* varasm.c (get_pool_mode_for_function, get_pool_offset):
+ 	Remove.
+ 	* rtl.h: Remove the corresponding prototypes.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
+ 	edge information when we commit ourselves to threading a
+ 	particular jump.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Speed up by putting basic blocks
+ 	into worklist instead of their indexes.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
+ 	final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
+ 	lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
+ 	pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
+ 	tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
+ 	tree-scalar-evolution.c, tree-ssa-dom.c,
+ 	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+ 	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
+ 	tree-vectorizer.c, vec.h: Fix comment formatting.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
+ 	libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
+ 
+ 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ptx4.h, config/mcore/mcore-pe.h,
+ 	config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
+ 
+ 2004-10-22  Peter Barada <peter@the-baradas.com>
+ 
+ 	* config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
+ 	* config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
+ 	renaming of non-live registers in interrupt functions.
+ 	* config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
+ 
+ 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
+ 	Use integer for loop counter.
+ 	(num_ending_zeros): New function.
+ 	(number_of_iterations_cond): Use num_ending_zeros.
+ 
+ 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Add support for --enable-e500_double.
+ 
+ 	* config/rs6000/e500-double.h: New file.
+ 
+ 	* config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
+ 	TARGET_E500_DOUBLE.
+ 
+ 	* config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
+ 	TARGET_E500_DOUBLE.
+ 
+ 	* config/rs6000/linuxspe.h: Same.
+ 
+ 	* doc/invoke.texi (Option Summary): Document new options for
+ 	mfloat-gprs.
+ 	(RS/6000 and PowerPC Options): Same.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
+ 	function.
+ 	(rs6000_override_options): Use it.  Use
+ 	SUB3TARGET_OVERRIDE_OPTIONS.
+ 	Add 8548 to processor_target_table.
+ 	(rs6000_legitimate_address): Handle e500 doubles.
+ 	(rs6000_legitimize_address): Same.
+ 	(rs6000_legitimize_reload_address): Same.
+ 	(rs6000_hard_regno_nregs): Same.
+ 	(spe_func_has_64bit_regs_p): Same.
+ 	(emit_frame_save): Same.
+ 	(gen_frame_mem_offset): Same.
+ 	(rs6000_dwarf_register_span): Same.
+ 	(rs6000_generate_compare): Same.
+ 	(easy_fp_constant): Same.
+ 	(legitimate_offset_address_p): Same.
+ 
+ 	* config/rs6000/spe.md: (cmdfeq_gpr): New.
+ 	(tstdfeq_gpr): New.
+ 	(cmpdfgt_gpr): New.
+ 	(tstdfgt_gpr): New.
+ 	(tstdfgt_gpr): New.
+ 	(cmpdflt_gpr): New.
+ 	(tstdflt_gpr): New.
+ 	Add new constants.
+ 
+ 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	* config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
+ 
+ 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c: Remove unnecessary #undefs.
+ 	(GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
+ 	(FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
+ 	definition into use sites.
+ 	(cwd): Make local to dbxout_init.
+ 	(dbxout_init): Restructure cwd-using logic for clarity.  Use
+ 	IS_DIR_SEPARATOR.
+ 	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
+ 	STABS_GCC_MARKER folded in here.
+ 	* system.h: Poison now-unused macros.
+ 	* doc/tm.texi: Remove documentation of now-unused macros.
+ 
+ 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/17538
+ 	* c-opts.c (push_command_line_include): Use the current file
+ 	name instead of the main one.
+ 
+ 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR objc/17923
+ 	* tree.c (staticp): A CONST_DECL has static storage if either
+ 	TREE_STATIC or DECL_EXTERNAL is set.
+ 	* c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
+ 	have null names.
+ 
+ 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (store_expr): Remove dont_store_target.
+ 
+ 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Speed up by using a worklist.
+ 
+ 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Move a part of it to ...
+ 	(thread_jumps_from_bb): ... here.
+ 
+ 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
+ 	* xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
+ 
+ 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (store_expr): Clean up by renaming want_value to
+ 	call_param_p.
+ 
+ 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
+ 	fixup pc here.
+ 
+ 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR 18004.
+ 	* expmed.c (store_bit_field): Pass original 'value' before
+ 	recursing.
+ 
+ 2004-10-21  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
+ 	* config/arm/ieee754-df.S: Ditto.
+ 
+ 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
+ 	(DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
+ 	Default to 0.
+ 	(dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
+ 	When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
+ 	an internal label and an N_SLINE .stabn whose value is the
+ 	difference between that label and the function entry label.
+ 	(dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
+ 	but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
+ 	label and an N_SO stab with an empty string referring to it.
+ 	(dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
+ 	of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
+ 	(dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
+ 	(dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
+ 	macro is never defined.
+ 	* sdbout.c (sdbout_source_line_counter): Delete.
+ 	(PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
+ 	(sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
+ 	only two arguments.
+ 	* xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
+ 
+ 	* config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
+ 	* config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
+ 	definitions (identical to default).
+ 	* config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+ 	* config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
+ 	Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
+ 	DBX_OUTPUT_MAIN_SOURCE_FILE_END.
+ 	* config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
+ 	* config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
+ 	Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
+ 	* config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
+ 	* config/alpha/alpha.c: Move declaration of num_source_filenames up.
+ 	(alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
+ 	(sym_lineno): Delete.
+ 	(alpha_output_filename): Do not emit N_SOL stabs here.  Remove
+ 	now-unused variable.
+ 	(alpha_output_lineno): Delete.
+ 	* config/mips/mips-protos.h: Don't prototype mips_output_lineno.
+ 	* config/mips/mips.c (mips_output_filename): Don't use
+ 	ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
+ 	(mips_output_lineno): Delete.
+ 	(mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
+ 	* config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
+ 	SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
+ 	* config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
+ 	* config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
+ 	* config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
+ 	* config/mmix/mmix-protos.h: Don't prototype it.
+ 	* config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
+ 	no need to #undef ASM_OUTPUT_SOURCE_LINE.
+ 	* config/arm/aout.h: Remove RISCiX-specific definition of
+ 	DBX_OUTPUT_MAIN_SOURCE_FILENAME.
+ 	* config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
+ 	ASM_OUTPUT_SOURCE_LINE.
+ 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
+ 	DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
+ 	* config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
+ 
+ 	* doc/tm.texi: Update.
+ 
+ 2004-10-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
+ 
+ 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure.ac: Revert my previous patch.
+ 	* configure: Regenerate.
+ 
+ 2004-10-20  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c
+ 	(rs6000_va_start): Use build_va_arg_indirect_ref.
+ 	(rs6000_gimplify_va_arg): Likewise.
+ 
+ 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
+ 
+ 	PR java/15575
+ 	* configure.ac: Declare AM_LANGINFO_CODESET.
+ 	* aclocal.m4: Define AM_LANGINFO_CODESET.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (store_expr): Remove code that is run when
+ 	want_value & 1 is nonzero.
+ 
+ 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gthr-posix.h (__gthread_active_p): Use __extension__ around cast
+ 	from function pointer to void *.
+ 
+ 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/18032
+ 	* config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
+ 	the frame pointer adjustment when exception handling is enabled.
+ 
+ 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stor-layout.c: Fix a comment typo.
+ 
+ 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (store_field): Remove two arguments value_mode and
+ 	unsignedp.
+ 	(expand_assignment, store_constructor_field,
+ 	expand_expr_real_1): Adjust calls to store_field.
+ 
+ 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
+ 
+ 	* config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
+ 
+ 	PR target/17317
+ 	* config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
+ 	REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
+ 	base and index register for loads.
+ 
+ 	* config/arc/t-arc: Fix multilib handling.
+ 
+ 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
+ 	don't inspect BLOCK_FOR_INSN for barriers.
+ 	* emit-rtl.c (emit_barrier_before): Revert last change.
+ 	(emit_barrier_after, emit_barrier): Ditto.
+ 
+ 	* doc/extend.texi (Extended Asm): Warn and provide example
+ 	solution for using a call-clobbered asm register.
+ 	(Local Reg Vars): Similar.  Cross-reference example.
+ 
+ 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-cfg.c (group_case_labels): Look at the second to last
+ 	case statement for combing with the default case.
+ 
+ 2004-10-19  Richard Hendeson  <rth@redhat.com>
+ 
+ 	PR 17962
+ 	* stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
+ 
+ 2004-10-19  Richard Hendeson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_memmove): If fold_builtin_memmove
+ 	succeeds, only expand the result.
+ 
+ 2004-10-19  Richard Hendeson  <rth@redhat.com>
+ 
+ 	PR middle-end/17885
+ 	* tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
+ 	of INDIRECT_REF.
+ 
+ 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Use a do-while loop instead of a
+ 	loop with goto.
+ 
+ 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_assignment): Remove the last argument.
+ 	Change the return type to void.
+ 	* expr.h: Update the prototype of expand_assignment.
+ 	* function.c (assign_parm_setup_reg): Update a call to
+ 	expand_assignment.
+ 	* stmt.c (expand_asm_expr): Likewise.
+ 
+ 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
+ 	unnecessary assignments to temp.  Return const0_rtx.
+ 
+ 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh5_schedule_saves): Fix typo.
+ 
+ 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure.ac (powerpc-*-darwin*): Require assembler to support
+ 	.machine directive.
+ 	* configure: Regenerate.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (ior_hard_reg_set): Remove.
+ 	(finish_spills): Use IOR_HARD_REG_SET instead of
+ 	ior_hard_reg_set.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
+ 	the currently visited word to right.
+ 
+ 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/18045
+ 	* expmed.c (expand_smod_pow2): Handle modes whose size
+ 	is greater than that of HOST_WIDE_INT.
+ 
+ 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
+ 
+ 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17813
+ 	* dojump.c (discard_pending_stack_adjust): New function.
+ 	(clear_pending_stack_adjust): Call it.
+ 	* expr.h (discard_pending_stack_adjust): Declare it.
+ 	* explow.c (emit_stack_save): Emit pending stack adjustments
+ 	before saving the stack pointer.
+ 	(emit_stack_restore): Discard pending stack adjustments before
+ 	restoring the stack pointer.
+ 
+ 2004-10-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (handle_mode_attribute): Allow scalar->vector
+ 	type changes yet.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
+ 	value to expand_assignment.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Don't iterate on
+ 	thread_jumps.
+ 	(thread_jumps): Iterate until no new forwarder block arises.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
+ 	(thread_jumps): Use forwardable as cache of
+ 	tree_forwarder_block_p throughout the function.
+ 
+ 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* cfg.c (dump_flow_info): Remove redundant dump of reg life info.
+ 
+ 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/15014
+ 	PR middle-end/16973
+ 	* tree-cfg.c (remove_bb): If we have a label expression in the
+ 	basic block and the label we have taken the address, move the
+ 	label expression to the basic block which is previous in the
+ 	linked list.
+ 	(tree_verify_flow_info): Fix printing out the label name of the
+ 	problematic label expression.
+ 
+ 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	PR rtl-optimization/18002
+ 	* simplify-rtx.c (mode_signbit_p): Externalize function...
+ 	* rtl.h (mode_signbit_p): ... to here.
+ 	* combine.c (simplify_shift_const): Recognize PLUS signbit as
+ 	canonical form of XOR signbit and move to outer op.
+ 
+ 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
+ 	Update all callers.
+ 	* tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
+ 	Don't call fold_stmt more than once, use bsi_replace.
+ 
+ 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/17656
+ 	* tree-ssa.c (replace_immediate_uses): When replacing a
+ 	constant, if the call to fold_stmt produced a different
+ 	statement, get an appropriate statement pointer by scanning
+ 	STMT's basic block.
+ 
+ 2004-10-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* pointer-set.c (hash1): Don't use libm functions in fallback case.
+ 
+ 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR bootstrap/17684
+ 	* Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
+ 	(stage1-start): Remove and copy libunwind.a and
+ 	libunwind*$(SHLIB_EXT) instead of libunwind*.
+ 	(stage2-start): Likewise.
+ 	(stage3-start): Likewise.
+ 	(stage4-start): Likewise.
+ 	(stageprofile-start): Likewise.
+ 	(stagefeedback-start): Likewise.
+ 
+ 	* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
+ 	the shared library to be created and don't remove the existing
+ 	shared library.
+ 	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
+ 	* config/i386/t-nwld (SHLIB_LINK): Likewise.
+ 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
+ 	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
+ 	* config/sh/t-linux (SHLIB_LINK): Likewise.
+ 	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
+ 	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
+ 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
+ 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
+ 
+ 	* mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
+ 	files.
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h (reg_set_iterator): New.
+ 	(EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
+ 	(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
+ 	(EXECUTE_IF_AND_IN_REG_SET): Likewise.
+ 	* caller-save.c (save_call_clobbered_regs): Adjust to the new
+ 	style.
+ 	* cfgcleanup.c (thread_jump): Likewise.
+ 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
+ 	* conflict.c (conflict_graph_compute): Likewise.
+ 	* flow.c (verify_local_live_at_start, update_life_info,
+ 	initialize_uninitialized_subregs, propagate_one_insn,
+ 	init_propagate_block_info, free_propagate_block_info,
+ 	propagate_block, dump_regset): Likewise.
+ 	* global.c (global_conflicts): Likewise.
+ 	* graph.c (start_bb): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	* loop.c (load_mems): Likewise.
+ 	* reload1.c (compute_use_by_pseudos, order_regs_for_reload,
+ 	find_reg, finish_spills): Likewise.
+ 	* resource.c (mark_target_live_regs): Likewise.
+ 	* sched-deps.c (sched_analyze_insn): Likewise.
+ 	* sched-rgn.c (sched-rgn.c): Likewise.
+ 	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
+ 
+ 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (addqi_1_slp): Test for incdec_operand
+ 	operand 1 instead of 2
+ 
+ 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop-unroll.c: Fix comment typos.
+ 
+ 2004-10-18  Revital Eres  <eres@il.ibm.com>
+ 
+ 	* Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
+ 	* loop-unroll.c: Include varray.h.
+ 	(struct var_to_expand, struct opt_info): Rename split_ivs_info to
+ 	opt_info and expand it to support variable expansion.
+ 	(analyze_insns_in_loop): Rename analyze_ivs_to_split and
+ 	expand it to support variable expansion.
+ 	(pt_info_start_duplication): Rename si_info_start_duplication.
+ 	(apply_opt_in_copies): Rename split_ivs_in_copies and add support
+ 	to the variable expansion optimization.
+ 	(free_opt_info): Rename free_si_info.
+ 	(analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
+ 	expand_var_during_unrolling, insert_var_expansion_initialization,
+ 	combine_var_copies_in_loop_exit, release_var_copies,
+ 	get_expansion): New functions.
+ 	(peel_loop_completely, unroll_loop_constant_iterations,
+ 	unroll_loop_runtime_iterations, peel_loop_simple,
+ 	unroll_loop_stupid): Change uses of struct si_info
+ 	to struct opt_info
+ 	and add uses of fvariable-expansion-in-unroller flag.
+ 	* params.def: Add parameter to restrict the number of expansions.
+ 	* params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
+ 	the number of expansions.
+ 	* common.opt: (fvariable-expansion-in-unroller): New flag.
+ 	* doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
+ 
+ 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
+ 	__GXX_MERGED_TYPEINFO_NAMES to 0.
+ 
+ 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
+ 	handle barriers in a bb by checking that it points to a NULL bb.
+ 	* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
+ 	(emit_barrier_after, emit_barrier): Ditto.
+ 
+ 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/extend.texi (Attribute Syntax): Clarify details of
+ 	attributes on parameters.
+ 
+ 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
+ 	loop.
+ 
+ 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	Revert:
+ 	2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-typeck.c (default_function_array_conversion): Always create
+ 	&a[0] for array types.
+ 	(build_unary_op): Do not fold &a[x] into a + x.
+ 
+ 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17925
+ 	* cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
+ 	block if there is a goto with a locus.
+ 
+ 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/elfos.h, config/gofast.h, config/interix.h,
+ 	config/netbsd.h, config/svr3.h, config/vxworks.h,
+ 	config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
+ 	config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
+ 	config/alpha/netbsd.h, config/arm/arm-modes.def,
+ 	config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
+ 	config/cris/aout.h, config/frv/frv-modes.def,
+ 	config/i386/beos-elf.h, config/i386/gas.h,
+ 	config/i386/i386-coff.h, config/i386/i386-modes.def,
+ 	config/i386/linux.h, config/i386/linux64.h,
+ 	config/i386/mingw32.h, config/i386/netbsd-elf.h,
+ 	config/i386/netbsd64.h, config/i386/sco5.h,
+ 	config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
+ 	config/ia64/ia64-modes.def, config/ia64/itanium1.md,
+ 	config/ia64/itanium2.md, config/m68k/m68k-modes.def,
+ 	config/mips/mips-modes.def, config/mips/sdb.h,
+ 	config/mips/vr.h, config/mips/vxworks.h,
+ 	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
+ 	config/pa/pa32-linux.h, config/rs6000/40x.md,
+ 	config/rs6000/7450.md, config/rs6000/8540.md,
+ 	config/rs6000/linuxspe.h, config/rs6000/power4.md,
+ 	config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
+ 	config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
+ 	config/s390/s390-modes.def, config/sh/elf.h,
+ 	config/sh/sh-modes.def, config/sh/sh64.h,
+ 	config/sparc/ultra1_2.md, config/sparc/ultra3.md,
+ 	config/stormy16/stormy16.md, config/v850/v850-protos.h,
+ 	config/vax/vax.md: Update copyright.
+ 
+ 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* expr.c (expand_expr_real_1): Remove an obsolete comment.
+ 
+ 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-typeck.c (default_function_array_conversion): Always create
+ 	&a[0] for array types.
+ 	(build_unary_op): Do not fold &a[x] into a + x.
+ 
+ 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* pointer-set.c (hash1): Use integer part of 2^64 / phi
+ 	instead 2^32 / phi if long is 64-bit.
+ 
+ 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
+ 	RID_PTRVALUE.
+ 	* c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
+ 	declarations.
+ 	(reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
+ 	__ptrextent__, __ptrvalue and __ptrvalue__.
+ 	(rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
+ 	entries.
+ 
+ 2004-10-16  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
+ 
+ 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17766
+ 	* basic-block.h (enum dom_state): DOM_CONS_OK removed.
+ 	(dom_info_available_p): Declare.
+ 	* cfghooks.c (split_block, make_forwarder_block): Use
+ 	dom_info_available_p.
+ 	* dominance.c (compute_dom_fast_query, calculate_dominance_info,
+ 	free_dominance_info, verify_dominators): Ditto.
+ 	(dom_info_available_p): New function.
+ 	* tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
+ 	(thread_jumps): Use dom_info_available_p.
+ 	* tree-complex.c (expand_complex_div_wide): Ditto.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
+ 
+ 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
+ 	(find_best_candidate): Take also important candidates into account.
+ 	(find_optimal_iv_set): Initialize important_candidates bitmap.
+ 
+ 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17560
+ 	* predict.c (tree_estimate_probability): Mark irreducible
+ 	loops.
+ 
+ 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/17723
+ 	* cfgcleanup.c (merge_memattrs): Handle case when
+ 	MEM_SIZE == NULL_RTX.
+ 
+ 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* toplev.c (dump_file_name): Change type to be const.
+ 
+ 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
+ 	non_lvalue to stop something being a null pointer constant.
+ 
+ 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
+ 	available for TARGET_FPRS.
+ 	(FUNCTION_VALUE_REGNO_P): Same.
+ 
+ 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
+ 	-maltivec in same style as other ISA options.
+ 
+ 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
+ 
+ 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
+ 	definition.
+ 
+ 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
+ 	collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
+ 	gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
+ 	genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
+ 	gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
+ 	gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
+ 	lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
+ 	predict.def, predict.h, protoize.c, reload.h, resource.h,
+ 	rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
+ 	tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
+ 	unwind-sjlj.c, value-prof.h: Update copyright.
+ 
+ 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* pointer-set.c, tree-vectorizer.c: Fix comment typos.
+ 
+ 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-optimize.c (execute_one_pass): Stop timer right after
+ 	executing the pass.
+ 
+ 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	Revert:
+ 	2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 	PR middle-end/17967
+ 	Revert:
+ 		* tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
+ 		(remove_useless_stmts_1):  Fold trees we know how to fold.
+ 
+ 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* configure.ac: Add .machine power4 directive when testing for
+ 	mfcr field.
+ 	* configure: Regenerate.
+ 
+ 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
+ 
+ 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
+ 	always.
+ 
+ 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
+ 	for 'f' if !TARGET_FPRS.
+ 
+ 2004-10-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR debug/14492
+ 	* dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
+ 
+ 2004-10-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/17023
+ 	* c-decl.c (store_parm_decls_oldstyle): Care for parameter type
+ 	as error_mark_node.
+ 	* c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
+ 	instaed of current_function_decl non-null.
+ 
+ 2004-10-14  Matt Austern  <austern@apple.com>
+ 
+ 	* pointer-set.c: New file, special-purpose hash table.
+ 	* pointer-set.h: New file.
+ 	* tree.h (struct pointer_set_t): Declare as opaque type.
+ 	(tree_walk): Last argument is pointer_set_t* now.
+ 	* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
+ 	(walk_type_fields):
+ 	(walk_tree): Convert from htab_t to pointer_set_t for keeping
+ 	track of which nodes have already been visited.
+ 	(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
+ 	* cgraphunit.c (cgraph_create_edges): Likewise.
+ 	(cgraph_characterize_statics_local): Likewise.
+ 	* tree-dfa.c (collect_dfa_stats): Likewise.
+ 	* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
+ 	pointer_set_t* now.
+ 	* langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
+ 	* langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
+ 	of walk_subtrees is pointer_set_t* now.
+ 	* Makefile.in (OBJS-common): add pointer-set.o
+ 	(tree-inline.o): Depends on pointer-set.h
+ 	(tree-dfa.o): Likewise
+ 	(cgraphunit.o): Likewise
+ 
+ 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin.h (ASM_SPEC): Delete.
+ 	(TARGET_ASM_FILE_START): Define.
+ 	* config/darwin.h (ASM_SPEC): Define.
+ 	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
+ 	-mlong-double-128, it's the default.  Update comment about reason
+ 	for force_cpusubtype_ALL.
+ 	* config/rs6000/darwin-vecsave.asm: Supply .machine.
+ 	* config/rs6000/darwin-world.asm: Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
+ 	(symbolic_operand): Delete #if 0ed code.
+ 
+ 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* stmt.c (add_case_node): Make sure that we have integer
+ 	constant before calling tree_int_cst_compare.
+ 
+ 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17967
+ 	Revert:
+ 		* tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
+ 		(remove_useless_stmts_1):  Fold trees we know how to fold.
+ 
+ 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
+ 	config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
+ 	-m64.
+ 
+ 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): When reloading a PLUS with constant
+ 	operand, make sure the constant is pushed to the constant pool
+ 	if required.
+ 	* config/s390/s390.c (s390_secondary_input_reload_class): Remove
+ 	reload bug workaround.
+ 	(s390_expand_plus_operand): Likewise.
+ 
+ 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* opts.c (common_handle_option): Do not enable
+ 	flag_speculative_prefetching for -fprofile-generate/use.
+ 
+ 2004-10-14  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR 17635
+ 	* tree-if-conv.c (process_phi_nodes): Process latch block.
+ 	(combine_blocks): Process latch block and update loop structure.
+ 
+ 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_generate_tmps_on_preheader):
+ 	(vect_update_ivs_after_vectorizer):
+ 	(vect_transform_for_unknown_loop_bound):
+ 	(tree_duplicate_loop_to_edge):
+ 	(allocate_new_names):
+ 	(rename_use_op):
+ 	(rename_def_op):
+ 	(rename_variables_in_bb):
+ 	(free_new_names):
+ 	(rename_variables_in_loop):
+ 	(copy_phi_nodes):
+ 	(update_phis_for_duplicate_loop):
+ 	(update_phi_nodes_for_guard):
+ 	(make_loop_iterate_ntimes):
+ 	(tree_duplicate_loop_to_edge_cfg):
+ 	(add_loop_guard):
+ 	(vect_analyze_loop_with_symbolic_num_of_iters):
+ 	(verify_loop_for_duplication):
+ 	(vect_gen_niters_for_prolog_loop):
+ 	(vect_update_niters_after_peeling):
+ 	(vect_update_inits_of_dr):
+ 	(vect_update_inits_of_drs):
+ 	(vect_build_loop_niters):
+ 	(vect_do_peeling_for_alignment): New functions.
+ 	(vect_transform_loop): Add unknown and known but indivisible loop
+ 	bound support; add peeling for unalignment support.
+ 	(vect_analyze_loop_form): Support symbolic number of iterations.
+ 	(vect_transform_loop_bound): New input parameter.
+ 	(vect_get_loop_niters): Change input parameter type.
+ 	(new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
+ 	(vectorizable_store): Allow unaligned access.
+ 	(vectorize_loops): Add rewrite_into_loop_closed_ssa.
+ 	(vect_analyze_data_refs_alignment): Allowed one unaligned
+ 	store.
+ 	* tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
+ 	to use tree.
+ 	(LOOP_VINFO_INT_NITERS): New macro.
+ 	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
+ 	(do_peeling_for_alignment):
+ 	(unaligned_drs): New members of _loop_vec_info.
+ 	(LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
+ 
+ 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* tree.h (TREE_STRING_POINTER): Wrap in "const char *".
+ 	(struct tree_string): Remove "const" qualifier for "str".
+ 
+ 2004-10-14  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_data_refs): Call
+ 	vect_get_base_and_bit_offset to get memory tag for array ref.
+ 	(vect_create_addr_base_for_vector_ref): Remove redundant checks.
+ 
+ 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* configure.ac: Use $LN_S for creating symlinks (not $LN).
+ 	* configure: Regenerate.
+ 
+ 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* doc/install.texi (*-*-solaris2*): Update with info about kernel
+ 	patches to solve spurious testsuite failures.
+ 
+ 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
+ 
+ 	* tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
+ 	Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
+ 	(vect_analyze_operations): Make sure the vectorization factor > 1. Add
+ 	gcc_assert under ENABLE_CHECKING.
+ 	(vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
+ 	get_vectype_for_scalar_type).
+ 
+ 	(vect_get_vec_def_for_operand): Remove redundant variables.
+ 	(vect_transform_loop): Likewise.
+ 
+ 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
+ 	global for -mcaller-super-interworking.
+ 	(CALLER_INTERWORKING_SLOT_SIZE): New macro.
+ 	* config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
+ 	CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
+ 	not need a frame pointer.
+ 	(arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
+ 	the soft frame pointer offset.
+ 	(thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
+ 	* config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
+ 	_interwork_{r7,r11}_call_via_rN if some arguments are passed on
+ 	the stack.  Use frame_pointer_needed to choose between them.
+ 	* config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
+ 	(interwork_with_frame): New macro.
+ 	(interwork): Add _interwork_{r7,r11}_call_via_rN().
+ 
+ 2004-10-14  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	PR other/17900
+ 	* diagnostic.c (trim_filename): Fix logic bug in walking backwards
+ 	up the filename looking for a previous directory separator.
+ 
+ 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (enum c_typespec_kind, struct c_typespec,
+ 	parser_xref_tag): New.
+ 	(struct c_declspecs): Add tag_defined_p.  Adjust definition of
+ 	typedef_p.
+ 	(declspecs_add_type): Adjust prototypes.
+ 	* c-parse.in (%union): Add tstype.
+ 	(typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
+ 	typespec_reserved_attr, typespec_nonreserved_nonattr,
+ 	structsp_attr, structsp_nonattr): Change to tstype.  Update
+ 	actions.
+ 	* c-decl.c (build_null_declspecs): Initialize tag_defined_p.
+ 	(declspecs_add_type): Update to take struct c_typespec argument.
+ 	Set tag_defined_p and typedef_p as appropriate.
+ 	(xref_tag): Rename to parser_xref_tag and replace by wrapper.
+ 	Update to return struct c_typespec.
+ 	(shadow_tag_warned): Don't let empty declarations with qualifiers
+ 	or storage class specifiers redeclare a tag if a previous
+ 	declaration is visible.
+ 
+ 2004-10-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR debug/15860
+ 	* dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
+ 	for DECL_INCOMING_RTL.
+ 
+ 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/17984
+ 	* config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
+ 	trunc_int_for_mode for constants used in shortened mode.
+ 
+ 2004-10-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/17384
+ 	* c-common.c (handle_mode_attribute): Disallow mode changes that
+ 	alter the CODE of the top-level type.
+ 
+ 	* crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
+ 	integer from internal limits macros.
+ 	* config/i386/mm3dnow.h (__v2sf): Fix base type.
+ 
+ 2004-10-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR debug/13841
+ 	* function.c (instantiate_decl): Recurse for CONCAT.
+ 
+ 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
+ 	andi./andis.
+ 	(anddi3): Same.
+ 	(extzvdi_internal1): Add attribute "compare".
+ 	(extzvdi_internal2): Same.
+ 
+ 2004-10-12  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
+ 
+ 2004-10-13  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
+ 
+ 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* toplev.c (compile_file): Call mudflap_finish_file from here ...
+ 	* c-decl.c (c_write_global_declarations): ... instead of here ...
+ 	* cp/decl.c (cp_finish_file): ... and here.
+ 	* tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
+ 
+ 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-ssa-dom.c (record_range): Free the element if we are not
+ 	going to use it.
+ 
+ 2004-10-13  Tom Tromey  <tromey@redhat.com>
+ 
+ 	PR java/15578:
+ 	* gcc.c (option_map): Added --extdirs and --encoding.
+ 
+ 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/14454
+ 	* config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
+ 	sparc_can_output_mi_thunk.
+ 	(sparc_output_mi_thunk): Simplify handling of delta offset.  Add
+ 	handling of vcall offset.
+ 	(sparc_can_output_mi_thunk): New predicate.
+ 	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
+ 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
+ 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
+ 
+ 	* config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
+ 
+ 	* config/sparc/sparc.md (movdi): Remove redundant test.
+ 
+ 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
+ 	TDF_IPA from -fdump-tree-*-all.
+ 
+ 2004-10-13  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
+ 	* config/arm/arm.c (thumb_find_work_register): Update comments.
+ 	(arm_load_pic_register): Add argument for scratch register.
+ 	(arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
+ 	* config/arm/arm.md (builtin_setjmp_receiver): Ditto.
+ 
+ 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-data-ref.c: Fix comment typos.
+ 
+ 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
+ 	    Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17724
+ 	* tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
+ 
+ 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
+ 	(altivec_builtin_mask_for_store): Likewise.
+ 	(altivec_init_builtins): Use lang_hooks.builtin_function to
+ 	create the decls for builtin_altivec_mask_for_load/store.
+ 
+ 2004-10-13  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/c4x/c4x.c: Remove inclusion of loop.h.
+ 
+ 2004-10-12  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
+ 	(ei_container): New; renamed.
+ 	(ei_start, ei_last): New macros.
+ 	(ei_start_1, ei_last_1): Renamed from ei_start.
+ 	(ei_last_1, ei_end_p): Use ei_container() where applicable.
+ 	(ei_one_before_end_p, ei_next, ei_edge): Likewise.
+ 	* gcse.c (remove_reachable_equiv_notes): Use ei_container().
+ 
+ 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
+ 	* cfgloop.c (initialize_loops_parallel_p): New.
+ 	(flow_loops_find): Initialize the parallel_p field to true for all
+ 	the loops.
+ 	* tree-ssa-loop-niter.c: Include "tree-data-ref.h".
+ 	(estimate_numbers_of_iterations_loop): Infers the loop bounds from
+ 	the size of the data accessed in the loop.
+ 	(struct nb_iter_bound): Moved...
+ 	* cfgloop.h (struct nb_iter_bound): ... here.
+ 	(estimated_nb_iterations, parallel_p): New fields in struct loop.
+ 	(record_estimate): Declare extern here.
+ 	* tree-chrec.c: Fix comments.
+ 	(nb_vars_in_chrec): New function.
+ 	* tree-chrec.h (nb_vars_in_chrec): Declared here.
+ 	* tree-data-ref.c: Don't include lambda.h, that is already included
+ 	in tree-data-ref.h.
+ 	(tree_fold_divides_p): Don't check for integer_onep.
+ 	(tree_fold_bezout): Removed.
+ 	(gcd): New static duplicated function.
+ 	(int_divides_p, dump_subscript): New.
+ 	(dump_data_dependence_relation): Use dump_subscript.
+ 	(dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
+ 	estimate_niter_from_size_of_data): New.
+ 	(analyze_array_indexes, analyze_array): Call
+ 	estimate_niter_from_size_of_data during	the detection of array
+ 	references.  Pass in a pointer to the statement that contains the
+ 	array reference.
+ 	(all_chrecs_equal_p): New.
+ 	(compute_distance_vector): Renamed compute_subscript_distance.
+ 	Deal with multivariate conflict functions.
+ 	(initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
+ 	DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
+ 	(non_affine_dependence_relation): New.
+ 	(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
+ 	analyze_siv_subscript, analyze_miv_subscript,
+ 	analyze_overlapping_iterations, subscript_dependence_tester):
+ 	Initialize and return last_conflicts function.
+ 	(initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
+ 	compute_overlap_steps_for_affine_1_2): New.
+ 	(analyze_siv_subscript_affine_cst): Removed.
+ 	(analyze_subscript_affine_affine): Disprove dependences based on the
+ 	iteration domains.  Solve the univariate dependence case as before,
+ 	but use lambda_matrix_right_hermite instead of tree_fold_bezout.
+ 	Implement the multivariate case of 2 versus 1 variables.
+ 	(build_classic_dist_vector, build_classic_dir_vector): Implement some
+ 	unhandled cases.
+ 	(find_data_references_in_loop): Compute and initialize
+ 	loop->estimated_nb_iterations and loop->parallel_p.
+ 	(analyze_all_data_dependences): Modify the debug dump order.
+ 	* tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
+ 	subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
+ 	(SUB_LAST_CONFLICT, subscript->last_conflict,
+ 	data_dependence_relation->affine_p, data_dependence_relation->size_vect,
+ 	DDR_AFFINE_P, DDR_SIZE_VECT): New.
+ 	(find_data_references_in_loop, initialize_data_dependence_relation,
+ 	dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
+ 
+ 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure: Regenerate.
+ 
+ 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	PR 17892
+ 	* tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
+ 	(simplify_rhs_and_lookup_avail_expr): Disallow associativity
+ 	and constant folding of floating point MULT_EXPR/PLUS_EXPR
+ 	expressions.
+ 
+ 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
+ 	(s390_gimplify_va_arg): Likewise.
+ 
+ 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
+ 	(MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
+ 	(REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
+ 	* regclass.c (record_address_regs): Remove ifdef.  Use
+ 	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
+ 	* regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
+ 	definition.
+ 	(scan_rtx_address, replace_oldest_value_addr): Use
+ 	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
+ 	* reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
+ 	unnecessary definitions.
+ 	(find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
+ 	and MODE_BASE_REG_REG_CLASS.
+ 	* config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
+ 	(MODE_BASE_REG_REG_CLASS): Define.
+ 	(REGNO_MODE_OK_FOR_REG_BASE_P): Define.
+ 	(REG_MODE_OK_FOR_REG_BASE_P): Define.
+ 	* doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
+ 	REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
+ 
+ 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-alias.c (verify_name_tags): New function.
+ 	(verify_flow_sensitive_alias_info): Remove code that used to check name tags.
+ 	(verify_alias_info): Call verify_name_tags.
+ 
+ 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR rtl-optimization/17931
+ 	* config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
+ 	ZERO_EXTRACT in it.
+ 
+ 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_print_operand): Use output_operand_lossage where possible
+ 	rather than aborting.
+ 
+ 2004-10-12  Paul Brook  <paul@coudesourcery.com>
+ 
+ 	* config.gcc: Add armv6{k,z,zk}
+ 	* config/arm/arm-cores.def: Add arm1176 and mpcore.
+ 	* config/arm/tune.md: Regenerate.
+ 	* config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
+ 	Define.
+ 	(all_architectures): Add armv6k, armv6z, armv6zk.
+ 	* config/arm/lib1funcs.asm: Recognise new arm arcitectures.
+ 	* doc/invoke.texi: Document new arch and cpu values.
+ 
+ 2004-10-12  Paul Brook  <paul@coodesourcery.com>
+ 
+ 	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
+ 	meabi=4.
+ 
+ 2004-10-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
+ 	Handle negative constants.
+ 
+ 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17301
+ 	* c-typeck.c (convert_arguments): Return error_mark_node if there
+ 	are too few arguments.
+ 	(build_function_call): Handle error_mark_node return from
+ 	convert_arguments.
+ 
+ 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* configure.ac (symbolic_link): Replace with $LN_S.
+ 	(Assembler/Linker): Hard link from gas and binutils trees.
+ 	* aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
+ 	* configure: Regenerate.
+ 
+ 2004-10-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* configure.ac: Don't look for host assembler when building a canadian
+ 	cross.
+ 	* configure: Regenerate.
+ 
+ 2004-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR other/17361
+ 	* c-opts.c (permit_fortran_options): Delete/obsolete global variable.
+ 	(c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
+ 	line options for "-lang-asm" and if found allow any of the C-family
+ 	front-end options.
+ 	(c_common_handle_option): Remove last use of permit_fortran_options.
+ 
+ 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (print_operand): Support 'S' format flag.
+ 	* config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
+ 	("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
+ 	("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
+ 	("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
+ 	("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
+ 	("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
+ 	("*movstricthi"): Likewise.
+ 	("*load_multiple_di", "*load_multiple_si"): Likewise.
+ 	("*store_multiple_di", "*store_multiple_si"): Likewise.
+ 	("*sethiqisi", "*sethihisi"): Likewise.
+ 	("*sethiqidi_64", "*sethiqidi_31"): Likewise.
+ 	("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
+ 	("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
+ 	("*xorqi3", "*xc", "*xc_zero"): Likewise.
+ 	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
+ 
+ 	("*tmhi_full"): Fix incorrect op_type attribute.
+ 
+ 	("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
+ 	("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
+ 	("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
+ 	("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
+ 
+ 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
+ 
+ 	PR middle-end/16266
+ 	* function.c (temp_slots_at_level): Fix typo which creates too
+ 	many temp stack slots levels.
+ 
+ 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_trampoline_template): Generate shorter
+ 	trampoline code.
+ 	(s390_trampoline_instantiate): Adapt.
+ 	* config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
+ 
+ 2004-10-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17657
+ 	* stmt.c (add_case_node): Add additional type argument.  Declare
+ 	as static to match prototype.  Convert the upper and lower bounds
+ 	to the specified index type.  Optimize away case ranges/values
+ 	that are outside the index type's bounds.  Truncate case ranges
+ 	that span the index type's bounds.
+ 	(expand_case): Avoid unnessary computation and memory allocation
+ 	when index type is error_mark_node.  Pass index_type as required
+ 	by change to add_case_node API.  No need to convert case range
+ 	bounds to index_type, this is now done by add_case_node.
+ 
+ 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_offset_p): Add prototype.
+ 	* config/s390/s390.c (s390_offset_p): New function.
+ 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
+ 	"*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
+ 	transform Q->Q alternatives to *clc pattern.
+ 	("*clc"): Move.
+ 	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
+ 	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
+ 	to transform Q->Q alternatives to *mvc pattern.
+ 	("*mvc"): Move.  Add peephole to merge adjacent MVCs.
+ 	("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
+ 	"*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
+ 	transform Q->Q alternatives to *nc pattern.
+ 	("*nc"): New insn.  New peephole to merge adjacent NCs.
+ 	("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
+ 	"*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
+ 	transform Q->Q alternatives to *oc pattern.
+ 	("*oc"): New insn.  New peephole to merge adjacent OCs.
+ 	("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
+ 	transform Q->Q alternatives to *xc pattern.
+ 	("*xc"): New insn.  New peephole to merge adjacent XCs.
+ 	("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
+ 
+ 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* gimplify.c (gimple_push_condition): Make sure that we don't
+ 	have any saved condition cleanup if we were at the top level.
+ 
+ 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.md (*adddi3_internal): Change name to...
+ 	(adddi3): ...replacing the exisiting define_expand.  Combine
+ 	alternatives.  Fix the range of the constant constraints ('J' instead
+ 	of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
+ 	to extract the lower and upper halves of the DImode operands.
+ 	Always use addi3_lower and adddi3_upper, not the subdi3 forms.
+ 	(adddi3_lower): Fix the range of the constant constraints and
+ 	remove the bogus operands[2] check.
+ 	(adddi3_upper): Use gpr_or_int10_operand as the predicate for
+ 	operand 2.  Use addxi to handle constant operands.
+ 	(subdi3_lower, subdi3_upper): Don't handle constant operands.
+ 
+ 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gengtype-lex.l: Add commented } & ) characters to unconfuse
+ 	editor's paren matching. Allow #define inside a struct.
+ 
+ 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17703
+ 	part of PR c++/17657
+ 	* fold-const.c (fold_build_cleanup_point_expr): New function.
+ 	* tree.h (fold_build_cleanup_point_expr): Prototype.
+ 
+ 2004-10-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* dwarf2out.c: Move attribute to subprogram declaration
+ 	instead of subroutine type.
+ 
+ 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Remove the prototypes for can_hoist_insn_p,
+ 	hoist_insn_after, and hoist_insn_to_edge.
+ 	* rtl.h: Remove the prototypes for reg_referenced_between_p,
+ 	no_jumps_between_p, and insn_dependent_p.
+ 	* rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
+ 	insn_dependent_p, insn_dependent_p_1, hoist_test_store,
+ 	can_hoist_insn_p, hoist_update_store, hoist_insn_after,
+ 	hoist_insn_to_edge): Remove.
+ 
+ 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17881
+ 	* c-decl.c (grokparms): Don't warn for parameters of incomplete
+ 	type in declarations that are not definitions except for the case
+ 	of parameters of void type.
+ 
+ 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c: Fix comment typos.
+ 
+ 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17301
+ 	* builtins.c (expand_builtin_va_start): Check for too few
+ 	arguments to va_start.
+ 
+ 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17189
+ 	* c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
+ 	fields a pedwarn.  Pedwarn here for unnamed structs/unions if
+ 	pedantic.
+ 	* c-parse.in (component_decl): Don't pedwarn here for unnamed
+ 	fields.
+ 
+ 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17906
+ 	* tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
+ 	copy non-gimple reg arguments.
+ 
+ 2004-10-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/17853
+ 	* simplify-rtx.c (simplify_relational_operation): Correct comment.
+ 	Reorganize handling of comparison operations with floating point
+ 	results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
+ 	Likewise, introduce support for comparison operations with vector
+ 	result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
+ 
+ 	* doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2004-10-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* regs.h (struct reg_info_def): Remove the last_node_uid and
+ 	changes_mode fields.
+ 	(REGNO_LAST_NOTE_UID): Don't define.
+ 	* regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
+ 	* regmove.c (copy_src_to_dest): Likewise.
+ 
+ 2004-10-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17894
+ 	* fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
+ 	relational comparison operator op needs to be swapped/reversed when
+ 	C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
+ 
+ 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17902
+ 	* tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
+ 	instead of bsi_start.
+ 	(value_replacement): Likewise.
+ 	(abs_replacement): Likewise
+ 
+ 2004-10-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
+ 	(expand_gimple_cond_expr, expand_gimple_tailcall,
+ 	expand_gimple_basic_block): Use it to dump RTL for each stmt.
+ 	(tree_expand_cfg): Announce full RTL function dump.
+ 	* tree-optimize.c (execute_one_pass): Use normal RTL printing,
+ 	not the graph version.
+ 	* tree-pretty-print.c (dump_generic_node): Allow empty statements
+ 	in the arms of a COND_EXPR for lowered nodes.
+ 
+ 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
+ 	atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
+ 	strtoufix16, strtoufix32, strtoufix64): Declare.
+ 
+ 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-lex.c (interpret_float): Give a pedwarn rather than a warning
+ 	for an out-of-range floating point constant.
+ 	* builtins.c (fold_builtin_inf): Give a pedwarn rather than a
+ 	warning if the target format does not support infinities.
+ 
+ 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (last_label_num, base_label_num): Remove.
+ 	(max_label_num): Always return label_num.
+ 	(set_new_last_label_num, restore_emit_status): Remove.
+ 	(init_emit): Don't initialize last_label_num.
+ 	* function.c (pop_function_context_from): Don't call
+ 	restore_emit_status.
+ 	* function.h: Remove the prototype for restore_emit_status.
+ 	* rtl.h: Remove the prototype for set_new_last_label_num.
+ 
+ 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_decl_init): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* integrate.c (try_constants, subst_constants, mark_stores):
+ 	Remove.
+ 	* integrate.h: Remove the prototype for try_constants.
+ 
+ 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
+ 	(convert_for_assignment): Handle ic_argpass_nonproto.  Add
+ 	comments about its relevance to errors.
+ 	(c_convert_parm_for_inlining): Use ic_argpass_nonproto.
+ 
+ 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/16999
+ 	* c-ppoutput.c (cb_ident): Don't quote string as it is already
+ 	quoted.
+ 
+ 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
+ 	reference_node_pool.
+ 
+ 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c: Fix a comment typo.
+ 
+ 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_register_info): Don't save fprs for
+ 	-msoft-float.
+ 	(s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
+ 
+ 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
+ 	(TARGET_DEFAULT): Use symbolic values.
+ 	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
+ 	(TARGET_DEFAULT): Use symbolic values.
+ 	* config/s390/s390.c (s390_backchain_string): Initialize to
+ 	TARGET_DEFAULT_BACKCHAIN.
+ 
+ 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_mempcpy): Move tree handling code to
+ 	fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
+ 	code.
+ 	(expand_builtin_strcat): Accept a type parameter.
+ 	(fold_builtin_mempcpy): Accept a type and endp parameter.
+ 
+ 	* builtins.c (expand_builtin_strncpy): Delete duplicate code.
+ 	Accept an `exp' instead of an `arglist'.
+ 
+ 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
+ 	reverting my 2004-09-07 patch to use build_int_cst.
+ 
+ 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/17245
+ 	* config/sparc/sparc.c (input_operand): Remove redundant code
+ 	for handling LO_SUM.
+ 	(legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
+ 	<LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
+ 	Otherwise only accept it for TFmode if quad move insns are available.
+ 
+ 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
+ 	common cases will be caught earlier than others.
+ 
+ 2004-10-08  Michael Matz  <matz@suse.de>
+ 
+ 	* loop-doloop.c (doloop_optimize): Extend count.
+ 
+ 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
+ 	(prefetch): Convert to expander.
+ 
+ 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
+ 	first argument of CALL.
+ 	(tls_local_dynamic): Likewise.
+ 
+ 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (enum impl_conv): New.
+ 	(convert_for_assignment): Use it.  Take tree for function called
+ 	instead of its name.  Handle ObjC selectors for diagnostics at
+ 	start of function.  Select diagnostic text within the function
+ 	using full sentences for diagnsotics.  Use %qE to name functions
+ 	in diagnostics.
+ 	(convert_arguments, build_modify_expr,
+ 	c_convert_parm_for_inlining, digest_init, c_finish_return): Update
+ 	callers to convert_for_assignment.
+ 	(warn_for_assignment): Remove.
+ 
+ 2004-10-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sh/symbian.c (symbian_possibly_export_base_class):
+ 	Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
+ 	TYPE_CONTAINS_VPTR_P.
+ 
+ 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
+ 	fixed registers form all_used_regs. Update call_really_used_regs.
+ 	(CALL_REALLY_USED_REGISTERS): Define.
+ 	* config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
+ 	with call_really_used_regs.
+ 
+ 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
+ 	for -profile as well as -p and -pg.
+ 
+ 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* libgcc2.c (__moddi3): Cast &w to UDWtype*.
+ 
+ 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_block_forwards_to): Remove.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 
+ 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow-inline.h (phi_nodes): Remove an unnecessary check
+ 	for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
+ 
+ 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	Radar 3813796
+ 	* config/rs6000/rs6000.c (rs6000_generate_compare): When
+ 	flag_trapping_math is in effect, don't generate subtract
+ 	instructions.
+ 
+ 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
+ 	* config/s390/s390.c (s390_narrow_logical_operator): New function.
+ 	(s390_extra_constraint_str): Add 'A' constraints.
+ 	(s390_const_ok_for_constraint_p): Add 'Nx' constraints.
+ 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
+ 	(CONSTRAINT_LEN): Likewise.
+ 	* config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
+ 	("*andsi3_zarch", "*andsi3_esa"): Likewise.
+ 	("*andhi3_zarch", "*andhi3_esa"): Likewise.
+ 	("*iordi3"): Add OI alternative and splitter.
+ 	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
+ 	("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
+ 	("*xordi3"): Add XI alternative and splitter.
+ 	("*xorsi3", "*xorhi3"): Likewise.
+ 
+ 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_function_rodata_section): New function.
+ 	(TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
+ 
+ 2004-10-07  Devang Patel  <dpatel@apple.com>
+ 
+ 	* rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
+ 	UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
+ 	UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
+ 	UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
+ 	UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
+ 	UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
+ 	UNSPEC_VCONDU_V16QI): New constant defines.
+ 	(vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
+ 	vconduv16qi): New patterns.
+ 	* rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
+ 	* rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
+ 	(get_vec_cmp_insn): Same.
+ 	(get_vsel_insn): Same.
+ 	(rs6000_emit_vector_compare): Same.
+ 	(rs6000_emit_vector_select): Same.
+ 	(INSN_NOT_AVAILABLE): New.
+ 
+ 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17749
+ 	* tree-tailcall.c (find_tail_calls): Check that parameter is
+ 	a gimple_reg.
+ 
+ 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/ia64.c: Fix a comment typo.
+ 
+ 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (*-*-solaris2*): Fix marker for URL.
+ 
+ 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	PR c++/17115
+ 	* tree-inline.c (expand_call_inline): Do not warn for functions
+ 	marked with attribute noinline.
+ 
+ 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/17862
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): Set
+ 	current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
+ 
+ 	* config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
+ 	of 0 as 4th argument to pass_by_reference.
+ 	Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
+ 
+ 2004-10-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
+ 	attribute.
+ 
+ 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/17770
+ 	* config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
+ 
+ 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/17791
+ 	* loop-doloop.c (doloop_modify): Take number of iterations as
+ 	argument.
+ 	(doloop_optimize): Extend or shorten the number of iterations
+ 	when changing mode of counter register.
+ 	* loop-iv.c (lowpart_subreg): Export.
+ 	* rtl.h (lowpart_subreg): Declare.
+ 
+ 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17806
+ 	* cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
+ 	* cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
+ 	flags moved to split_edge.
+ 
+ 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/17835
+ 	* expmed.c (expand_sdiv_pow2): Force a stack adjustment
+ 	before tentatively building the conditional move sequence.
+ 
+ 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16815
+ 	* function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
+ 	check.
+ 	* config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
+ 	function_arg_padding.
+ 
+ 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/17857
+ 	* Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
+ 
+ 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* hooks.c (hook_int_void_1, hook_void_int): Remove.
+ 	* hooks.h: Remove the corresponding prototypes.
+ 
+ 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/17849
+ 	* tree-nested.c (walk_stmt_info): Add changed field.
+ 	(convert_nonlocal_reference): Set changed to when we
+ 	change a decl to unnested decl.
+ 	<case ADDR_EXPR>: Instead of checking if the immediate part
+ 	of the ADDR_EXPR changed, check the field changed.
+ 	Use recompute_tree_invarant_for_addr_expr instead of unsetting
+ 	TREE_INVARIANT.
+ 	(convert_local_reference):  Set changed to when we
+ 	change a decl to unnested decl.
+ 	<case ADDR_EXPR>: Instead of checking if the immediate part
+ 	of the ADDR_EXPR changed, check the field changed.
+ 	Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
+ 
+ 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
+ 	* dwarf2out.c (dwarf2out_init): Remove references to
+ 	DWARF2_GENERATE_TEXT_SECTION_LABEL.
+ 	* system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
+ 	* doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
+ 
+ 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (convert_arguments): Take expression for called
+ 	function rather than its name.  Handle ObjC selectors directly
+ 	rather than relying on warn_for_assignment to do so.  Call warning
+ 	directly rather than warn_for_assignment.  Use %qE in diagnostics.
+ 	Say "argument" rather than "arg" in diagnostics.
+ 	(build_function_call): Update call to convert_arguments.
+ 
+ 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR debug/17787
+ 	* dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
+ 	ENUMs specially instead of just saying we do.
+ 
+ 2004-10-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* dwarf2.h: Sync with include/elf/dwarf2.h
+ 
+ 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
+ 	and TREE_VEC nodes.
+ 
+ 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
+ 	to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
+ 
+ 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (compute_nest_using_fourier_motzkin): New
+ 	function.
+ 	(lambda_compute_auxillary_space): Split from here.
+ 
+ 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
+ 	* tree-flow.h: Add prototype.
+ 	* lambda-code.c (invariant_in_loop_and_outer_loops): Use
+ 	expr_invariant_in_loop.
+ 
+ 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Remove a duplicate check for
+ 	EXIT_BLOCK_PTR.
+ 
+ 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s_imm_operand): Remove.
+ 	(s390_pool_operand): Add prototype.
+ 	* config/s390/s390.c (general_s_operand): Remove.
+ 	(s_imm_operand): Remove.
+ 	(s_operand): Merge contents of general_s_operand.
+ 	(s390_pool_operand): New function.
+ 	* config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
+ 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
+ 	("*cmpdi_ccu"): Merge Q->Q alternative.
+ 	("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
+ 	("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
+ 	("*cli"): Remove.
+ 	("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
+ 	("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
+ 	("*movstricthi"): Use memory_operand instead of s_imm_operand.
+ 
+ 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
+ 	call ia64_function_arg_boundary.
+ 	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
+ 	* config/ia64/ia64.c (ia64_function_arg_boundary): New.
+ 	(ia64_function_arg_advance): Do not put 128 bit floats into
+ 	FP registers.
+ 
+ 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strcpy): Delete duplicate code.
+ 	Accept an expression instead of an arglist.
+ 	(expand_builtin_stpcpy): Accept an expression instead of an
+ 	arglist.
+ 
+ 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16007
+ 	* doc/install.texi (*-*-solaris2*): Mention potential problem
+ 	with Sun assembler + GNU linker and C++ programs.
+ 	Document status of binutils 2.15 release.
+ 
+ 2004-10-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (cse_main): Kill push/pop context.
+ 
+ 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* pretty-print.c: Include tree.h.
+ 	(pp_base_prepare_to_format): New function, logic from
+ 	text_specifies_location.
+ 	(pp_base_format_text): Use gcc_assert.
+ 	* pretty-print.h (pp_prepare_to_format): New macro.
+ 	(pp_base_prepare_to_format): Prototype.
+ 	* diagnostic.c (text_specifies_location): Delete.
+ 	(bug_report_request): Delete.
+ 	(diagnostic_set_info): Don't call text_specifies_location.
+ 	(diagnostic_action_after_output): Put text from
+ 	bug_report_request inline here.  Use gcc_unreachable.
+ 	(diagnostic_report_current_function): Fix comment.
+ 	(diagnostic_report_diagnostic): Clarify logic for error recursion.
+ 	Call pp_prepare_to_format before diagnostic_starter.
+ 	(trim_filename): Use IS_DIR_SEPARATOR.
+ 	(fatal_error, internal_error): Use gcc_unreachable.
+ 	(error_recursion): Call diagnostic_action_after_output to
+ 	issue the bug_report_request message and exit.
+ 	* Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
+ 
+ 	* c-parse.in: Add list of diagnostic messages to insulate
+ 	translation template from version of yacc/bison used to
+ 	compile the grammar.
+ 
+ 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR 16406
+ 	* doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Remove the prototype for
+ 	flow_preorder_transversal_compute.
+ 	* cfganal.c (dfst_node): Remove.
+ 	(flow_preorder_transversal_compute): Likewise.
+ 	* rtl.h: Remove the prototype for get_jump_table_offset.
+ 	* rtlanal.c (get_jump_table_offset): Remove.
+ 
+ 2004-10-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17756
+ 	* tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
+ 
+ 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR bootstrap/17817
+ 	* Makefile.in: Stage the build directory too.
+ 
+ 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
+ 
+ 	* config/frv/frv-protos.h (frv_legitimize_address): Protoize.
+ 	(frv_emit_move): Same.
+ 
+ 	* config/frv/frv.c (frv_emit_move): New.
+ 	(frv_legitimize_address): New.
+ 
+ 	* config/frv/frv.md ("movsi"): Call frv_emit_move.
+ 	("movqi"): Same.
+ 	("movhi"): Same.
+ 	("movdi"): Same.
+ 	("movsf"): Same.
+ 	("movdf"): Same.
+ 
+ 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
+ 	system headers.
+ 
+ 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (pushdecl): When an extern declaration at block scope
+ 	refers to a visible entity with internal linkage, use the old DECL
+ 	rather than the new one.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
+ 	comments.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Remove a duplicate check for
+ 	an infinite loop.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
+ 	of FOR_BB_BETWEEN.  Remove a useless check for unreachable
+ 	blocks.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Don't call
+ 	delete_unreachable_blosk() after thread_jumps().
+ 	(thread_jumps): Always remove basic blocks as they become
+ 	unreachable.
+ 
+ 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Remove variable
+ 	something_changed.  Simplify the while loop.
+ 
+ 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memmove): Delete duplicate code
+ 	and accept a tree type for the result.
+ 	(expand_builtin_bcopy): Accept a tree type for the result.
+ 	(fold_builtin_memmove): Accept an arglist and tree type for
+ 	the result.
+ 
+ 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_dump_pool): Remove return value.
+ 	Use gen_pool_align, gen_pool_section_start/end instead of
+ 	gen_pool_start/end_31/64.
+ 	* config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
+ 	(UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
+ 	("pool_start_31", "pool_end_31"): Remove.
+ 	("pool_start_64", "pool_end_64"): Likewise.
+ 	("pool_align", "pool_section_start", "pool_section_end": New insns.
+ 
+ 	* config/s390/s390.c (s390_cannot_copy_insn_p): New function.
+ 	(TARGET_CANNOT_COPY_INSN_P): Define.
+ 	(s390_cannot_force_const_mem): Handle UNSPEC_INSN.
+ 	(struct constant_pool): New member 'execute'.
+ 	(s390_add_execute, s390_find_execute): New functions.
+ 	(s390_execute_label, s390_execute_target): Likewise.
+ 	(s390_dump_pool): Output in-pool execute target templates.
+ 	(s390_dump_execute): New function.
+ 	(s390_alloc_pool, s390_free_pool): Handle execute templates.
+ 	(s390_mainpool_start, s390_mainpool_finish): Likewise.
+ 	(s390_chunkify_start, s390_chunkify_finish): Likewise.
+ 	* config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
+ 	("*execute"): New insn pattern.
+ 	("movmem_short", "*movmem_short"): Use splitters to generate
+ 	explicit execute pattern, remove embedded execute.
+ 	("clrmem_short", "*clrmem_short"): Likewise.
+ 	("cmpmem_short", "*cmpmem_short"): Likewise.
+ 
+ 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa.c (verify_ssa): Verify phi arguments only
+ 	contain renamed names.
+ 
+ 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux.h: Formatting, whitespace.
+ 	* config/rs6000/linux64.h: Likewise.
+ 	* config/rs6000/rs6000-protos.h: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	(easy_vector_splat_const): Add fall thru comments.
+ 	(output_vec_const_move): Likewise.
+ 
+ 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Update -Wno-error exceptions for move to build dir.
+ 
+ 2004-10-05  Chao-Ying Fu  <fu@mips.com>
+ 	    Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi (-mpaired-single): Link to the new description of the
+ 	built-in functions.  Document dependencies.
+ 	(-mips3d): Add link here too.
+ 	* doc/extend.texi (MIPS Paired-Single Support): New section.
+ 
+ 2004-10-04  Chao-ying Fu  <fu@mips.com>
+ 
+ 	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
+ 
+ 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
+ 	Initialize OPT_STATS to 0.
+ 
+ 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-data-ref.c: Fix comment typos.
+ 
+ 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
+ 	the predicate cannot be computed, don't initialize the result to
+ 	false.
+ 
+ 2004-10-01  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* dwarf2.h (dwarf_calling_convention): Add GNU prefix to
+ 	locally defined enum.
+ 	* dwarf2out.c (add_calling_convention_attribute): Don't
+ 	emit DW_CC_normal.
+ 
+ 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/17178, PR c/17820
+ 	* c-decl.c (pop_scope): Do not warn about unused static
+ 	variables as they warned in the middle-end.
+ 
+ 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memcpy): Delete duplicate code
+ 	and make the first parameter the expression not the arglist.
+ 
+ 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
+ 	as valid modes to expand address expressions.
+ 
+ 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
+ 	c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
+ 	c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
+ 	code formatting conventions.
+ 
+ 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
+ 
+ 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/16632
+ 	* fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
+ 	fold (A & C) == D into 0, fold ~C.  Similarly, for the case
+ 	where | is used instead of &.
+ 
+ 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ginclude/stddef.h: Fix a comment typo.
+ 
+ 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/17443
+ 	* config.gcc (i?86-*-solaris2*): Restore correct logic
+ 	for --enable-threads option.
+ 	(sparc64-*-solaris2*): Likewise.
+ 	(sparc-*-solaris2*): Likewise.
+ 
+ 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
+ 	(OS_MISSING_POWERPC64): Move, and comment.
+ 	* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
+ 	(OS_MISSING_POWERPC64): Move, and comment.
+ 
+ 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* arm.c (output_call_mem): Add missing \t.
+ 
+ 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
+ 	expand_builtin_strncmp): Delete duplicate code.
+ 
+ 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mf_build_check_statement_for): Reorganize to
+ 	take check-base and -limit arguments.
+ 	(mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
+ 	check ranges for ARRAY_REF and COMPONENT_REF.
+ 	(execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
+ 	instrumentation.
+ 
+ 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-objc-common.c (c_tree_printer): Correct description of %E.
+ 	Don't fall through after printing an expression.
+ 
+ 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
+ 
+ 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Speed up by calling
+ 	delete_unrechable_blocks() only when necessary.
+ 
+ 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
+ 
+ 	* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
+ 	(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
+ 	__gthread_recursive_mutex_unlock): New functions.
+ 
+ 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
+ 
+ 	* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
+ 	* config/s390/tpf-eh.c: Remove file.
+ 	* config/s390/tpf-unwind.h: New file.
+ 	* config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
+ 	(MD_UNWIND_SUPPORT): Define.
+ 
+ 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
+ 
+ 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_comparison): Add prototype.
+ 	* config/s390/s390.c (s390_comparison): New function.
+ 	(s390_branch_condition_mask): Return -1 for invalid comparisons.
+ 	(s390_branch_condition_mnemonic): Assert valid comparison.
+ 	* config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
+ 	* config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
+ 	"*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
+ 	s390_comparison instead of comparison_operator.
+ 
+ 	* config/s390/s390.md (UNSPEC_CMPINT): New constant.
+ 	("cmpmemdi"): Remove.
+ 	("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
+ 	("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
+ 	("cmpint_si"): Rename to ...
+ 	("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
+ 	("cmpint_di", "*cmpint_di"): Likewise.
+ 	* config/s390/s390.c (s390_canonicalize_comparison): Remove
+ 	redundant UNSPEC_CMPINT conversions.
+ 	(s390_expand_cmpmem): Adapt to cmpint pattern changes.
+ 
+ 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* collect2.c (COLLECT_PARSE_FLAG): Remove.
+ 	(main): Remove a reference to COLLECT_PARSE_FLAG
+ 	* system.h: Poison COLLECT_PARSE_FLAG.
+ 	* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
+ 
+ 2004-10-01  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/crti.asm: Give _init and _fini function type.
+ 
+ 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* common.opt (ftree-loop-ivcanon): Enable by default.
+ 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+ 	Enable complete loop unrolling.
+ 	(canonicalize_induction_variables, tree_unroll_loops_completely):
+ 	Reset scev info.
+ 
+ 2004-10-01  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
+ 	not register number.
+ 	(thumb_find_work_register): Search full register range.
+ 
+ 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17343
+ 	* tree-cfg.c (group_case_labels): Get the label and not
+ 	the case expr for the default case.
+ 	When the label we looking at is the default, decrement the
+ 	new_size.
+ 
+ 2004-10-01  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
+ 	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+ 	* toplev.h (tree_rest_of_compilation): Update prototype.
+ 	* tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
+ 
+ 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (cleanup_tree_cfg): Pull a call to
+ 	cleanup_control_flow() out of the while loop.
+ 
+ 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-vectorizer.c (vectorizable_operation): Fail unless
+ 	the mode for the vector type is indeed a vector mode.
+ 
+ 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
+ 	chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
+ 	of convert.
+ 	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+ 	add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
+ 	follow_ssa_edge_in_rhs): Ditto.
+ 	* tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
+ 	(dump_iv): Dump base_object.
+ 	(dump_use, dump_cand): Use dump_iv.
+ 	(determine_base_object): New function.
+ 	(alloc_iv): Initialize base_object field.
+ 	(record_use): Clear the ssa_name field of iv.
+ 	(get_computation_cost_at): Do not use difference of addresses of
+ 	two different objects.
+ 	(may_eliminate_iv): Do not require the loop to have just single exit.
+ 	* tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
+ 	(nonzero_p): New function.
+ 	(inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
+ 	tree_simplify_using_condition, simplify_using_initial_conditions,
+ 	loop_niter_by_eval, find_loop_niter_by_eval,
+ 	estimate_numbers_of_iterations_loop, compare_trees,
+ 	upper_bound_in_type, lower_bound_in_type,
+ 	can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
+ 	fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
+ 	instead of integer_(non)zerop.
+ 
+ 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	Revert
+ 	2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
+ 	and TI_VA_LIST_FPR_COUNTER_FIELD.
+ 	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
+ 	* tree-pass.h (pass_stdarg): Add.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
+ 	* tree-stdarg.c: New file.
+ 	* Makefile.in (OBJS-common): Add tree-stdarg.o.
+ 	(tree-stdarg.o): Add dependencies.
+ 	* function.h (struct function): Add va_list_gpr_size and
+ 	va_list_fpr_size fields.
+ 	* function.c (allocate_struct_function): Initialize them.
+ 
+ 	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(ix86_setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(ix86_va_start): Don't set up fields that won't be used.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(rs6000_va_start): Don't set up fields that won't be used.
+ 
+ 2004-09-30  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* dwarf2.h (dwarf_calling_convention): Add enum for renesas
+ 	sh abi.
+ 	* dwarf2out.c (add_calling_convention_attribute): New function.
+ 	(gen_subroutine_type_die): Use.
+ 	* target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
+ 	* target.h (gcc_target): Add dwarf_calling_convention.
+ 	* hooks.c (hook_int_tree_0): New function.
+ 	* hooks.h: Prototype.
+ 	* config/sh/sh.c: Include dwarf2.h.
+ 	(sh_dwarf_calling_convention): New function.
+ 	(TARGET_DWARF_CALLING_CONVENTION): Use.
+ 	* doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
+ 
+ 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+ 	expand_builtin_strrchr, expand_builtin_strpbrk,
+ 	expand_builtin_strncat, expand_builtin_strspn,
+ 	expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
+ 	code.
+ 
+ 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_expand_logical_operator): Add
+ 	prototype.
+ 	(s390_logical_operator_ok_p): Likewise.
+ 	* config/s390/s390.c (s390_expand_logical_operator): New function.
+ 	(s390_logical_operator_ok_p): Likewise.
+ 	* config/s390/s390.md ("anddi3"): New expander.
+ 	("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
+ 	("*anddi3_ss", "*anddi3_ss_inv"): Remove.
+ 	("andsi3"): Use s390_expand_logical_operator.
+ 	("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
+ 	("*andsi3_ss", "*andsi3_ss_inv"): Remove.
+ 	("andhi3"): New expander.
+ 	("*andhi3_zarch", "*andhi3_esa"): New patterns.
+ 	("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
+ 	("andqi3"): New expander.
+ 	("*andqi3_zarch", "*andqi3_esa"): New patterns.
+ 	("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
+ 	("iordi3"): New expander.
+ 	("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
+ 	("*iordi3_ss", "*iordi3_ss_inv"): Remove.
+ 	("iorsi3"): Use s390_expand_logical_operator.
+ 	("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
+ 	("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
+ 	("iorhi3"): New expiorer.
+ 	("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
+ 	("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
+ 	("iorqi3"): New expiorer.
+ 	("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
+ 	("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
+ 	("xordi3"): New expander.
+ 	("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
+ 	("*xordi3_ss", "*xordi3_ss_inv"): Remove.
+ 	("xorsi3"): New expander.
+ 	("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
+ 	("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
+ 	("xorhi3"): New expander.
+ 	("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
+ 	("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
+ 	("xorqi3"): New expander.
+ 	("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
+ 	("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
+ 
+ 2004-09-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
+ 	(AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
+ 	machine mode as the result.
+ 
+ 2004-09-30  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	PR bootstrap/17761
+ 	* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
+ 	FOR_EACH_EDGE macros.
+ 
+ 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (readonly_error): Remove.
+ 	* c-typeck (enum lvalue_use): New.
+ 	(lvalue_or_else, readonly_error): Use it.  All callers changed.
+ 	(readonly_error): Make static.
+ 
+ 2004-09-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR debug/13974
+ 	* cfgrtl.c (try_redirect_by_replacing_jump,
+ 	force_nonfallthru_and_redirect, commit_one_edge_insertion,
+ 	cfg_layout_merge_blocks):  Do not attach any line number information
+ 	to newly inserted instructions.
+ 	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
+ 	emit_insn_*_noloc.
+ 	(emit_*insn_before, emit_insn*_after): New.
+ 	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
+ 	existing locators.
+ 	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
+ 	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
+ 
+ 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
+ 	(s390_return_address_offset): Remove.
+ 	(s390_can_eliminate): Add prototype.
+ 	(s390_initial_elimination_offset): Add prototype.
+ 	* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
+ 	(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
+ 	* config/s390/s390.c (s390_arg_frame_offset): Remove.
+ 	(s390_return_address_offset): Remove.
+ 	(s390_can_eliminate, s390_initial_elimination_offset): New functions.
+ 	(struct machine_function): New member split_branches_pending_p.
+ 	(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
+ 	(s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
+ 	(s390_optimize_prologue): Remove base_used argument.  Call
+ 	s390_update_frame_layout instead of s390_register_info.  Handle
+ 	prologue/epilogue insns that touch only RETURN_REGNUM.
+ 	(s390_reorg): Remove base_used.  Clear split_branches_pending_p.
+ 	(s390_register_info): Remove base_used and return_addr_used
+ 	arguments, compute special register usage inline.  Return live
+ 	register data to caller.
+ 	(s390_frame_info): Remove arguments, do not call s390_register_info.
+ 	(s390_init_frame_layout): New function.
+ 	(s390_update_frame_layout): Likewise.
+ 	(s390_emit_prologue): Call s390_update_frame_layout; some code
+ 	move to there.  Do not emit pool placeholder insn if unnecessary.
+ 
+ 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimate_reload_constant_p): Remove
+ 	floating point constant workaround.
+ 	(s390_secondary_input_reload_class): Handle PLUS reloads
+ 	with too-large constant.
+ 	(s390_expand_plus_operand): Likewise.
+ 	* config/s390/s390.md ("movdi"): Do not call force_const_mem.
+ 	("movsi"): Likewise.  Also, remove workaround for non-general
+ 	operands.
+ 	("movdf"): Do not call force_const_mem.
+ 	("movsf"): Likewise.  Merge expander with *movsf insn.
+ 	("*movsf"): Remove, merge with movsf expander.
+ 
+ 2004-09-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
+ 	(ENDFILE_SPEC): Define.
+ 	* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
+ 
+ 2004-09-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/qrnnd.asm: Mark for noexecstack.
+ 
+ 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* protoize.c, tree-cfg.c: Fix comment typos.
+ 
+ 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17730
+ 	* c-typeck.c (lvalue_or_else): Pass msgid directly to error.
+ 
+ 2004-09-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
+ 	expressions...
+ 	(add_pointed_to_expr): ... here.
+ 	Call add_pointed_to_expr for variables with DECL_INITIAL set.
+ 	* tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
+ 	pointer variable, if set.
+ 
+ 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh.c: Follow spelling conventions.
+ 
+ 2004-09-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
+ 	* doc/tm.texi (DWARF_ZERO_REG): New.
+ 
+ 	* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
+ 	alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
+ 	* config/alpha/alpha.h (DWARF_ZERO_REG): New.
+ 
+ 2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* builtins.c (expand_builtin_strlen): Do not call emit_move_insn
+ 	with a PLUS as source operand.
+ 	(expand_movstr): Likewise.
+ 	(expand_builtin_stpcpy): Likewise.
+ 
+ 2004-09-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17739
+ 	* tree-gimple.c (is_gimple_reg): Reject hard registers.
+ 	(is_gimple_asm_val): New.
+ 	* tree-gimple.h (is_gimple_asm_val): Declare.
+ 	* gimplify.c (gimplify_asm_expr): Use it.
+ 	* tree-pretty-print.c (print_declaration): Dump hard regs.
+ 	* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+ 	* tree-ssa-pre.c (is_undefined_value): Likewise.
+ 	* tree-ssa-copy.c (may_propagate_copy): Likewise.
+ 	(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
+ 	* tree-ssa.c (warn_uninit): Likewise.
+ 	* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
+ 
+ 2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* c-decl.c (merge_decls): Use comptype when comparing
+ 	types to decide on DECL_SIZE save of olddecl.
+ 
+ 2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree.h (INDIRECT_REF_P): New macro.
+ 	* alias.c (get_alias_set): Use it
+ 	(nonoverlapping_memrefs_p): Ditto.
+ 	* emit-rtl.c (mem_expr_equal_p): Ditto.
+ 	(set_mem_attributes_minus_bitpos): Ditto.
+ 	(is_gimple_addressable): Ditto.
+ 	(get_base_address): Ditto.
+ 	* tree-ssa-alias.c (find_ptr_derefernece): Ditto.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
+ 	* tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
+ 	* tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
+ 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
+ 	(add_address_candidates): Ditto.
+ 	(rewrite_address_base): Ditto.
+ 
+ 2004-09-30  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* tree-flow.h (struct bb_ann_d): Remove num_preds member.
+ 	* tree-into-ssa.c (rewrite_into_ssa): Don't set it.
+ 	(rewrite_ssa_into_ssa): Likewise.
+ 	* tree-phinodes.c (create_phi_node): Access the number of
+ 	predecessor edges using EDGE_COUNT() and not num_preds.
+ 
+ 2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/7425
+ 	* c-decl.c (merge_decls): Merge TREE_DEPRECATED.
+ 
+ 2004-09-29  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* fold-const.c (tree_swap_operands_p): Remove duplicated code.
+ 
+ 2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md (moverside, movemside): With MEM, make sure
+ 	the address is (plus reg mem).
+ 
+ 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
+ 
+ 2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.c (make_node_stat): Fix uninitialized warning.  Replace
+ 	cascaded if ... else if with a switch.
+ 
+ 2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+ 
+ 	* read-rtl.c (apply_macro_to_string): Replace index with strchr.
+ 
+ 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
+ 	and TI_VA_LIST_FPR_COUNTER_FIELD.
+ 	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
+ 	* tree-pass.h (pass_stdarg): Add.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
+ 	* tree-stdarg.c: New file.
+ 	* Makefile.in (OBJS-common): Add tree-stdarg.o.
+ 	(tree-stdarg.o): Add dependencies.
+ 	* function.h (struct function): Add va_list_gpr_size and
+ 	va_list_fpr_size fields.
+ 	* function.c (allocate_struct_function): Initialize them.
+ 
+ 	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(ix86_setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(ix86_va_start): Don't set up fields that won't be used.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(rs6000_va_start): Don't set up fields that won't be used.
+ 
+ 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
+ 	BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
+ 	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
+ 	BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
+ 	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
+ 	ATTR_NONNULL_1_4): New.
+ 
+ 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/17697
+ 	* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
+ 	cfg if needed.
+ 
+ 2004-09-28  Per Bothner  <per@bothner.com>
+ 
+ 	* profile.c (branch_prob): Pass correct value to output_location,
+ 	even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
+ 
+ 2004-09-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 15089
+ 	* tree-ssa-copy.c (may_propagate_copy_into_asm): New.
+ 	* tree-flow.h (may_propagate_copy_into_asm): Declare.
+ 	* tree-ssa-ccp.c (replace_uses_in): Use it.
+ 	* tree-ssa-dom.c (cprop_operand): Likewise.
+ 
+ 2004-09-28 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-threadupdate.c (create_block_for_threading):  Request
+ 	that no outgoing edges be left in the duplicate block.  Do no
+ 	update information on outgoing edges or PHI nodes in target
+ 	blocks here.
+ 	(remove_ctrl_stmt_and_useless_edges): Renamed from
+ 	remove_last_stmt_and_useless_edges.  Handle case where the
+ 	block is empty or has no control statements.  Do not update edge
+ 	flags here.
+ 	(thread_block): Create a template block rather than copying the
+ 	original block every time.  Create outgoing edges from the
+ 	duplicate blocks and update PHIs at the target of the outgoing
+ 	edges here.  Fix edge flags for the original block if necessary.
+ 	* cfghooks (duplicate_block): No longer assert that the original
+ 	block has incoming edges.
+ 
+ 2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* doc/extend.texi (Extended Asm): Add blurb about using Explicit
+ 	Reg Vars to enforce register allocation with general constraints.
+ 	(Explicit Reg Vars): Clarify relation to asm statements.
+ 	(Local Reg Vars): Similar.
+ 
+ 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
+ 	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
+ 	build_control_flow, new_edge): Remove.
+ 	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
+ 	(bitlst, bitlst_table_last, bitlst_table): Remove.
+ 	(bblst): Store basic_block pointer instead of block index.
+ 	(bblst_table): Likewise.
+ 	(edgelst): Store edge pointer instead of edge index.
+ 	(edgelst_table, edgelst_last): New variables.
+ 	(extract_bitlst): Rename to ...
+ 	(extract_edgelst): ... this.  Return edge pointers, not indices.
+ 	(split_edges): Update call.
+ 	(rgn_edges): Store edge pointers instead of indices.
+ 	(edge_to_bit): Remove.
+ 	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
+ 	(SET_EDGE_TO_BIT): New macro.
+ 	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
+ 	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
+ 	data structures instead of haifa_edge et al.  Use edge pointers
+ 	instead of edge indices everywhere.
+ 	(compute_dom_prob_ps): Use standard CFG data structures.  Account
+ 	for exit edges.
+ 	(compute_trg_info): Likewise.
+ 	(propagate_deps): Likewise.
+ 	(debug_candidate): Account for bblst data structure change.
+ 	(check_live_1, update_live_1, is_pfree): Likewise.
+ 	(IS_REACHABLE): Use standard CFG data structures.
+ 	(init_ready_list): Update bblst_table/edgelst_table allocation.
+ 	(schedule_region): Update alloc/cleanup code to data structure
+ 	changes.  Use edge->aux to store per-region edge index.
+ 	(init_regions): No longer call build_control_flow.  Do not
+ 	create edge list any more.
+ 
+ 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* cse.c (cse_insn): Avoid creating direct non-local jumps.
+ 	* combine.c (can_combine_p): Likewise.
+ 	* local-alloc. (update_equiv_regs): Likewise.
+ 
+ 2004-09-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17531
+ 	* expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
+ 	Don't check VOIDmode here.  Force PLUS operands to common type.
+ 	(expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
+ 	Pmode if given a non pointer type.
+ 
+ 2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR 17531
+ 	* optabs.c (expand_binop): Force constants to the correct mode.
+ 
+ 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_adjust_cost): Remove.
+ 	(TARGET_SCHED_ADJUST_COST): Do not redefine.
+ 	(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
+ 	* config/s390/s390.md ("main_pool"): Use "larl" type
+ 	attribute if TARGET_CPU_ZARCH.
+ 
+ 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
+ 	variable.
+ 
+ 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-loop.c (pass_record_bounds): Do not assign a
+ 	name to the pass.
+ 
+ 2004-09-28  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* common.opt (flag_gcse_sm): Disable by default.
+ 	(flag_gcse_las): Likewise.
+ 	(flag_web): Likewise.  Create from this file.
+ 	* flags.h: Remove flag_web declaration.
+ 	* toplev.c (flag_web): Likewise.
+ 	(process_options): Never set flag_web.
+ 
+ 2004-09-28  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
+ 	* tree-ssa-propagate.c: Include vec.h.
+ 	(interesting_ssa_edges, varying_ssa_edges): Make these VECs
+ 	instead of varrays.
+ 	(cfg_blocks_add): Assert the block is not already in the worklist.
+ 	Update uses of interesting_ssa_edges and varying_ssa_edges.
+ 	(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
+ 	ssa_propagate): Likewise.
+ 
+ 2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/16409
+ 	* c-decl.c (start_decl): Check for initializing incomplete array
+ 	of VLAs.
+ 	(build_compound_literal): Check for TYPE being error_mark_node.
+ 	* c-parse.in (primary): Check for VLA compound literals.
+ 
+ 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
+ 	with --disable-checking.
+ 
+ 2004-09-28  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Print vector types.
+ 
+ 2004-09-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
+ 	invocation of the function sh_init_cumulative_args.
+ 	(INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
+ 	(INIT_CUMULATIVE_INCOMING_ARGS): Delete.
+ 	* config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
+ 	* config/sh/sh.c (sh_init_cumulative_args): New function based
+ 	on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
+ 	heuristic added to determine the setting of force_mem when a
+ 	library function is being called.
+ 
+ 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
+ 	Skip constant arguments.
+ 
+ 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (create_name_tags): If PTR points to a
+ 	volatile type, mark the tag volatile.
+ 	(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
+ 	volatile.
+ 
+ 2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree.def (vec_cond_expr): Fix. Change 'e'
+ 	to tcc_expression.
+ 
+ 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Fix a comment typo.
+ 
+ 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c, optabs.h: Fix comment typos.
+ 
+ 2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* config/sparc/sparc.md (call_address_struct_value_sp32):
+ 	Properly mask the immediate field of the 'unimp' instruction.
+ 	(call_symbolic_struct_value_sp32): Likewise.
+ 
+ 2004-09-28  Ben Elliston  <bje@au.ibm.com>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	Merge from edge-vector-branch:
+ 	* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
+ 	(struct edge_def): Remove pred_next, succ_next members.
+ 	(struct basic_block_def): Remove pred, succ members.  Add preds
+ 	and succs members of type VEC(edge).
+ 	(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
+ 	(BRANCH_EDGE): Likewise.
+ 	(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
+ 	(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
+ 	(edge_iterator): New.
+ 	(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
+ 	(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
+ 	(FOR_EACH_EDGE): New.
+ 	* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
+ 	where applicable.
+ 	(rotate_loop): Likewise.
+ 	(find_traces_1_route): Likewise.
+ 	(bb_to_key): Likewise.
+ 	(connect_traces): Likewise.
+ 	(copy_bb_p): Likewise.
+ 	(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
+ 	(add_labels_and_missing_jumps): Likewise.
+ 	(fix_up_fall_thru_edges): Likewise.
+ 	(find_jump_block): Likewise.
+ 	(fix_crossing_conditional_branches): Likewise.
+ 	(fix_crossing_unconditional_branches): Likewise.
+ 	(add_reg_crossing_jump_notes): Likewise.
+ 	* bt-load.c (augment_live_range): Likewise.
+ 	* cfg.c (clear_edges): Likewise.
+ 	(unchecked_make_edge): Likewise.
+ 	(cached_make_edge): Likewise.
+ 	(make_single_succ_edge): Likewise.
+ 	(remove_edge): Likewise.
+ 	(redirect_edge_succ_nodup): Likewise.
+ 	(check_bb_profile): Likewise.
+ 	(dump_flow_info): Likewise.
+ 	(alloc_aux_for_edges): Likewise.
+ 	(clear_aux_for_edges): Likewise.
+ 	(dump_cfg_bb_info): Likewise.
+ 	* cfganal.c (forwarder_block_p): Likewise.
+ 	(can_fallthru): Likewise.
+ 	(could_fall_through): Likewise.
+ 	(mark_dfs_back_edges): Likewise.
+ 	(set_edge_can_fallthru_flag): Likewise.
+ 	(find_unreachable_blocks): Likewise.
+ 	(create_edge_list): Likewise.
+ 	(verify_edge_list): Likewise.
+ 	(add_noreturn_fake_exit_edges): Likewise.
+ 	(connect_infinite_loops_to_exit): Likewise.
+ 	(flow_reverse_top_sort_order_compute): Likewise.
+ 	(flow_depth_first_order_compute): Likewise.
+ 	(flow_preorder_transversal_compute): Likewise.
+ 	(flow_dfs_compute_reverse_execute): Likewise.
+ 	(dfs_enumerate_from): Likewise.
+ 	(compute_dominance_frontiers_1): Likewise.
+ 	* cfgbuild.c (make_edges): Likewise.
+ 	(compute_outgoing_frequencies): Likewise.
+ 	(find_many_sub_basic_blocks): Likewise.
+ 	(find_sub_basic_blocks): Likewise.
+ 	* cfgcleanup.c (try_simplify_condjump): Likewise.
+ 	(thread_jump): Likewise.
+ 	(try_forward_edges): Likewise.
+ 	(merge_blocks_move): Likewise.
+ 	(outgoing_edges_match): Likewise.
+ 	(try_crossjump_to_edge): Likewise.
+ 	(try_crossjump_bb): Likewise.
+ 	(try_optimize_cfg): Likewise.
+ 	(merge_seq_blocks): Likewise.
+ 	* cfgexpand.c (expand_gimple_tailcall): Likewise.
+ 	(expand_gimple_basic_block): Likewise.
+ 	(construct_init_block): Likewise.
+ 	(construct_exit_block): Likewise.
+ 	* cfghooks.c (verify_flow_info): Likewise.
+ 	(dump_bb): Likewise.
+ 	(delete_basic_block): Likewise.
+ 	(split_edge): Likewise.
+ 	(merge_blocks): Likewise.
+ 	(make_forwarder_block): Likewise.
+ 	(tidy_fallthru_edges): Likewise.
+ 	(can_duplicate_block_p): Likewise.
+ 	(duplicate_block): Likewise.
+ 	* cfglayout.c (fixup_reorder_chain): Likewise.
+ 	(fixup_fallthru_exit_predecessor): Likewise.
+ 	(can_copy_bbs_p): Likewise.
+ 	(copy_bbs): Likewise.
+ 	* cfgloop.c (flow_loops_cfg_dump): Likewise.
+ 	(flow_loop_entry_edges_find): Likewise.
+ 	(flow_loop_exit_edges_find): Likewise.
+ 	(flow_loop_nodes_find): Likewise.
+ 	(mark_single_exit_loops): Likewise.
+ 	(flow_loop_pre_header_scan): Likewise.
+ 	(flow_loop_pre_header_find): Likewise.
+ 	(update_latch_info): Likewise.
+ 	(canonicalize_loop_headers): Likewise.
+ 	(flow_loops_find): Likewise.
+ 	(get_loop_body_in_bfs_order): Likewise.
+ 	(get_loop_exit_edges): Likewise.
+ 	(num_loop_branches): Likewise.
+ 	(verify_loop_structure): Likewise.
+ 	(loop_latch_edge): Likewise.
+ 	(loop_preheader_edge): Likewise.
+ 	* cfgloopanal.c (mark_irreducible_loops): Likewise.
+ 	(expected_loop_iterations): Likewise.
+ 	* cfgloopmanip.c (remove_bbs): Likewise.
+ 	(fix_bb_placement): Likewise.
+ 	(fix_irreducible_loops): Likewise.
+ 	(remove_path): Likewise.
+ 	(scale_bbs_frequencies): Likewise.
+ 	(loopify): Likewise.
+ 	(unloop): Likewise.
+ 	(fix_loop_placement): Likewise.
+ 	(loop_delete_branch_edge): Likewise.
+ 	(duplicate_loop_to_header_edge): Likewise.
+ 	(mfb_keep_just): Likewise.
+ 	(create_preheader): Likewise.
+ 	(force_single_succ_latches): Likewise.
+ 	(loop_split_edge_with): Likewise.
+ 	(create_loop_notes): Likewise.
+ 	* cfgrtl.c (rtl_split_block): Likewise.
+ 	(rtl_merge_blocks): Likewise.
+ 	(rtl_can_merge_blocks): Likewise.
+ 	(try_redirect_by_replacing_jump): Likewise.
+ 	(force_nonfallthru_and_redirect): Likewise.
+ 	(rtl_tidy_fallthru_edge): Likewise.
+ 	(commit_one_edge_insertion): Likewise.
+ 	(commit_edge_insertions): Likewise.
+ 	(commit_edge_insertions_watch_calls): Likewise.
+ 	(rtl_verify_flow_info_1): Likewise.
+ 	(rtl_verify_flow_info): Likewise.
+ 	(purge_dead_edges): Likewise.
+ 	(cfg_layout_redirect_edge_and_branch): Likewise.
+ 	(cfg_layout_can_merge_blocks_p): Likewise.
+ 	(rtl_flow_call_edges_add): Likewise.
+ 	* cse.c (cse_cc_succs): Likewise.
+ 	* df.c (hybrid_search): Likewise.
+ 	* dominance.c (calc_dfs_tree_nonrec): Likewise.
+ 	(calc_dfs_tree): Likewise.
+ 	(calc_idoms): Likewise.
+ 	(recount_dominator): Likewise.
+ 	* domwalk.c (walk_dominator_tree): Likewise.
+ 	* except.c (emit_to_new_bb_before): Likewise.
+ 	(connect_post_landing_pads): Likewise.
+ 	(sjlj_emit_function_enter): Likewise.
+ 	(sjlj_emit_function_exit): Likewise.
+ 	(finish_eh_generation): Likewise.
+ 	* final.c (compute_alignments): Likewise.
+ 	* flow.c (calculate_global_regs_live): Likewise.
+ 	(initialize_uninitialized_subregs): Likewise.
+ 	(init_propagate_block_info): Likewise.
+ 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
+ 	* gcse.c (find_implicit_sets): Likewise.
+ 	(bypass_block): Likewise.
+ 	(bypass_conditional_jumps): Likewise.
+ 	(compute_pre_data): Likewise.
+ 	(insert_insn_end_bb): Likewise.
+ 	(insert_store): Likewise.
+ 	(remove_reachable_equiv_notes): Likewise.
+ 	* global.c (global_conflicts): Likewise.
+ 	(calculate_reg_pav): Likewise.
+ 	* graph.c (print_rtl_graph_with_bb): Likewise.
+ 	* ifcvt.c (mark_loop_exit_edges): Likewise.
+ 	(merge_if_block): Likewise.
+ 	(find_if_header): Likewise.
+ 	(block_jumps_and_fallthru_p): Likewise.
+ 	(find_if_block): Likewise.
+ 	(find_cond_trap): Likewise.
+ 	(block_has_only_trap): Likewise.
+ 	(find_if_case1): Likewise.
+ 	(find_if_case_2): Likewise.
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
+ 	(perfect_nestify): Likewise.
+ 	* lcm.c (compute_antinout_edge): Likewise.
+ 	(compute_laterin): Likewise.
+ 	(compute_available): Likewise.
+ 	(compute_nearerout): Likewise.
+ 	* loop-doloop.c (doloop_modify): Likewise.
+ 	* loop-init.c (loop_optimizer_init): Likewise.
+ 	* loop-invariant.c (find_exits): Likewise.
+ 	* loop-iv.c (simplify_using_initial_values): Likewise.
+ 	(check_simple_exit): Likewise.
+ 	(find_simple_exit): Likewise.
+ 	* loop-unroll.c (peel_loop_completely): Likewise.
+ 	(unroll_loop_constant_iterations): Likewise.
+ 	(unroll_loop_runtime_iterations): Likewise.
+ 	* loop-unswitch.c (may_unswitch_on): Likewise.
+ 	(unswitch_loop): Likewise.
+ 	* modulo-sched.c (generate_prolog_epilog): Likewise.
+ 	(sms_schedule): Likewise.
+ 	* postreload-gcse.c (eliminate_partially_redundant_load):
+ 	Likewise.
+ 	* predict.c (can_predict_insn_p): Likewise.
+ 	(set_even_probabilities): Likewise.
+ 	(combine_predictions_for_bb): Likewise.
+ 	(predict_loops): Likewise.
+ 	(estimate_probability): Likewise.
+ 	(tree_predict_by_opcode): Likewise.
+ 	(tree_estimate_probability): Likewise.
+ 	(last_basic_block_p): Likewise.
+ 	(propagate_freq): Likewise.
+ 	(estimate_loops_at_level): Likewise.
+ 	(estimate_bb_frequencies): Likewise.
+ 	* profile.c (instrument_edges): Likewise.
+ 	(get_exec_counts): Likewise.
+ 	(compute_branch_probabilities): Likewise.
+ 	(branch_prob): Likewise.
+ 	* ra-build.c (live_in): Likewise.
+ 	* ra-rewrite.c (rewrite_program2): Likewise.
+ 	* ra.c (reg_alloc): Likewise.
+ 	* reg-stack.c (reg_to_stack): Likewise.
+ 	(convert_regs_entry): Likewise.
+ 	(compensate_edge): Likewise.
+ 	(convert_regs_1): Likewise,
+ 	(convert_regs_2): Likewise.
+ 	(convert_regs): Likewise.
+ 	* regrename.c (copyprop_hardreg_forward): Likewise.
+ 	* reload1.c (fixup_abnormal_edges): Likewise.
+ 	* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
+ 	(sbitmap_insersection_of_preds): Likewise.
+ 	(sbitmap_union_of_succs): Likewise.
+ 	(sbitmap_union_of_preds): Likewise.
+ 	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
+ 	(fix_basic_block_boundaries): Likewise.
+ 	(sched_ebbs): Likewise.
+ 	* sched-rgn.c (build_control_flow): Likewise.
+ 	(find_rgns): Likewise.
+ 	* tracer.c (find_best_successor): Likewise.
+ 	(find_best_predecessor): Likewise.
+ 	(tail_duplicate): Likewise.
+ 	* tree-cfg.c (make_edges): Likewise.
+ 	(make_ctrl_stmt_edges): Likewise.
+ 	(make_goto_expr_edges): Likewise.
+ 	(tree_can_merge_blocks_p): Likewise.
+ 	(tree_merge_blocks): Likewise.
+ 	(cfg_remove_useless_stmts_bb): Likewise.
+ 	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
+ 	(tree_block_forwards_to): Likewise.
+ 	(cleanup_control_expr_graph): Likewise.
+ 	(find_taken_edge): Likewise.
+ 	(dump_cfg_stats): Likewise.
+ 	(tree_cfg2vcg): Likewise.
+ 	(disband_implicit_edges): Likewise.
+ 	(tree_find_edge_insert_loc): Likewise.
+ 	(bsi_commit_edge_inserts): Likewise.
+ 	(tree_split_edge): Likewise.
+ 	(tree_verify_flow_info): Likewise.
+ 	(tree_make_forwarder_block): Likewise.
+ 	(tree_forwarder_block_p): Likewise.
+ 	(thread_jumps): Likewise.
+ 	(tree_try_redirect_by_replacing_jump): Likewise.
+ 	(tree_split_block): Likewise.
+ 	(add_phi_args_after_copy_bb): Likewise.
+ 	(rewrite_to_new_ssa_names_bb): Likewise.
+ 	(dump_function_to_file): Likewise.
+ 	(print_pred_bbs): Likewise.
+ 	(print_loop): Likewise.
+ 	(tree_flow_call_edges_add): Likewise.
+ 	(split_critical_edges): Likewise.
+ 	(execute_warn_function_return): Likewise.
+ 	(extract_true_false_edges_from_block): Likewise.
+ 	* tree-if-conv.c (tree_if_conversion): Likewise.
+ 	(if_convertable_bb_p): Likewise.
+ 	(find_phi_replacement_condition): Likewise.
+ 	(combine_blocks): Likewise.
+ 	* tree-into-ssa.c (compute_global_livein): Likewise.
+ 	(ssa_mark_phi_uses): Likewise.
+ 	(ssa_rewrite_initialize_block): Likewise.
+ 	(rewrite_add_phi_arguments): Likewise.
+ 	(ssa_rewrite_phi_arguments): Likewise.
+ 	(insert_phi_nodes_for): Likewise.
+ 	(rewrite_into_ssa): Likewise.
+ 	(rewrite_ssa_into_ssa): Likewise.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Likewise.
+ 	* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
+ 	(rewrite_trees): Likewise.
+ 	* tree-pretty-print.c (dump_bb_header): Likewise.
+ 	(dump_implicit_edges): Likewise.
+ 	* tree-sra.c (insert_edge_copies): Likewise.
+ 	(find_obviously_necessary_stmts): Likewise.
+ 	(remove_data_stmt): Likewise.
+ 	* tree-ssa-dom.c (thread_across_edge): Likewise.
+ 	(dom_opt_finalize_block): Likewise.
+ 	(single_incoming_edge_ignoring_loop_edges): Likewise.
+ 	(record_equivalences_from_incoming_edges): Likewise.
+ 	(cprop_into_successor_phis): Likewise.
+ 	* tree-ssa-live.c (live_worklist): Likewise.
+ 	(calculate_live_on_entry): Likewise.
+ 	(calculate_live_on_exit): Likewise.
+ 	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
+ 	(copy_loop_headers): Likewise.
+ 	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
+ 	(fill_always_executed_in): Likewise.
+ 	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
+ 	* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
+ 	(compute_phi_arg_on_exit): Likewise.
+ 	* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
+ 	(get_loops_exit): Likewise.
+ 	(split_loop_exit_edge): Likewise.
+ 	(ip_normal_pos): Likewise.
+ 	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
+ 	Likewise.
+ 	* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
+ 	(replace_phi_with_stmt): Likewise.
+ 	(value_replacement): Likewise.
+ 	* tree-ssa-pre.c (compute_antic_aux): Likewise.
+ 	(insert_aux): Likewise.
+ 	(init_pre): Likewise.
+ 	* tree-ssa-propagate.c (simulate_stmt): Likewise.
+ 	(simulate_block): Likewise.
+ 	(ssa_prop_init): Likewise.
+ 	* tree-ssa-threadupdate.c (thread_block): Likewise.
+ 	(create_block_for_threading): Likewise.
+ 	(remove_last_stmt_and_useless_edges): Likewise.
+ 	* tree-ssa.c (verify_phi_args): Likewise.
+ 	(verify_ssa): Likewise.
+ 	* tree_tailcall.c (independent_of_stmt_p): Likewise.
+ 	(find_tail_calls): Likewise.
+ 	(eliminate_tail_call): Likewise.
+ 	(tree_optimize_tail_calls_1): Likewise.
+ 	* tree-vectorizer.c (vect_transform_loop): Likewise.
+ 	* var-tracking.c (prologue_stack_adjust): Likewise.
+ 	(vt_stack_adjustments): Likewise.
+ 	(vt_find_locations): Likewise.
+ 	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
+ 	* config/i386/i386.c (ix86_pad_returns): Likewise.
+ 	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+ 
+ 2004-09-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16532
+ 	* config/sparc/sparc.c (struct machine_function): New field
+ 	'leaf_function_p' and 'prologue_data_valid_p'.
+ 	(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
+ 	to conveniently access the above fields.
+ 	(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
+ 	(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
+ 	of the generic flavor 'current_function_uses_only_leaf_regs'.
+ 	(eligible_for_sibcall_delay): Likewise.
+ 	(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
+ 	'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
+ 	(sparc_asm_function_prologue): Add sanity check for the assumption
+ 	made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
+ 	(sparc_can_use_return_insn_p): New function.
+ 	(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
+ 	(output_restore): Likewise.
+ 	(output_sibcall): Likewise.
+ 	(sparc_output_mi_thunk): Likewise.
+ 	* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
+ 	* config/sparc/sparc.md (return): New expander.
+ 
+ 	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
+ 
+ 2004-09-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/17642
+ 	* stor-layout.c (layout_decl): Use fold_convert, not convert.
+ 	(bit_from_pos): Likewise.
+ 	(byte_from_pos): Likewise.
+ 	(pos_from_bit): Likewise.
+ 	(normalize_offset): Likewise.
+ 	(place_field): Likewise.
+ 	(finalize_type_size): Likewise.
+ 	(layout_type): Likewise.
+ 	* tree.c (build_index_type): Likewise.
+ 
+ 2004-09-27  Devang Patel  <dpatel@apple.com>
+ 
+ 	* expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
+ 	* genopinit.c (optabs): New entry for vcond_gen_code and
+ 	vcondu_gen_code.
+ 	* optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
+ 	(get_rtx_code): New function.
+ 	(vector_compare_rtx): New function.
+ 	(init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
+ 	(expand_vec_cond_expr_p): New function.
+ 	(expand_vec_cond_expr): New function.
+ 	(get_vcond_icode): New function.
+ 	* optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
+ 	(vcond_gen_code, vcondu_gen_code): Same.
+ 
+ 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (STAGESTUFF): Split into ...
+ 	(STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
+ 	(mostlyclean): Update.
+ 	(stage1-start, stage2-start, stage3-start, stage4-start,
+ 	stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
+ 	Move the STAGEMOVESTUFF.
+ 
+ 2004-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* system.h (getpagesize): Return 'int' instead of 'long'.
+ 
+ 2004-09-27  Michael Matz <matz@suse.de>
+ 
+ 	PR bootstrap/17698
+ 	PR bootstrap/17702
+ 	* bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
+ 	bmp_iter_and_init): Shift by bit_in_word.
+ 
+ 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
+ 	* configure.ac: Don't sinclude it here.
+ 	* configure: Regenerate.
+ 
+ 2004-09-27  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
+ 	Handle AND pattern
+ 
+ 2004-09-27  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/13804
+ 	* c-typeck.c (build_component_ref): Name type involved in
+ 	diagnostic for structure or union without a member of the given
+ 	name.
+ 
+ 2004-09-27  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
+ 	.comm alignment is bytes, not bits.
+ 
+ 2004-09-27  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
+ 	(print_call_name): Do not print VEC_COND_EXPR.
+ 
+ 2004-09-27  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
+ 
+ 2004-09-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
+ 
+ 2004-09-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.h: Fix a comment typo.
+ 
+ 2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+ 
+ 	* libgcc2.c (getpagesize): Change type of return value to int.
+ 
+ 2004-09-26  Matt Austern  <austern@apple.com>
+ 
+ 	* ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
+ 	using mmap.
+ 
+ 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
+ 	EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
+ 	(bitmap_iterator): New type.
+ 	(bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
+ 	bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
+ 	bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
+ 	bmp_iter_and_init, bmp_iter_and_next): New functions.
+ 	* basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
+ 	EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
+ 	use iterator-style EXECUTE_IF_IN_BITMAP macros.
+ 	* bitmap.c (bitmap_print): Ditto.
+ 	* bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
+ 	btr_def_live_range): Ditto.
+ 	* cfganal.c (compute_dominance_frontiers_1) Ditto.
+ 	* cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
+ 	Ditto.
+ 	* ddg.c (build_inter_loop_deps): Ditto.
+ 	* df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
+ 	Ditto.
+ 	* except.c (remove_eh_handler): Ditto.
+ 	* flow.c (reg_set_to_hard_reg_set): Ditto.
+ 	* gcse.c (clear_modify_mem_tables): Ditto.
+ 	* global.c (build_insn_chain): Ditto.
+ 	* ifcvt.c (dead_or_predicable): Ditto.
+ 	* loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
+ 	Ditto.
+ 	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
+ 	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
+ 	detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
+ 	* tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
+ 	tree_purge_all_dead_eh_edges): Ditto.
+ 	* tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
+ 	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
+ 	rewrite_ssa_into_ssa): Ditto.
+ 	* tree-outof-ssa.c (find_replaceable_exprs): Ditto.
+ 	* tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
+ 	Ditto.
+ 	* tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
+ 	compute_flow_sensitive_aliasing, maybe_create_global_var,
+ 	dump_points_to_info_for): Ditto.
+ 	* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
+ 	* tree-ssa-dse.c (dse_finalize_block): Ditto.
+ 	* tree-ssa-live.c (live_worklist, calculate_live_on_entry,
+ 	calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
+ 	Ditto.
+ 	* tree-ssa-loop-ivopts.c (find_induction_variables,
+ 	find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
+ 	determine_use_iv_costs, determine_set_costs, find_best_candidate,
+ 	set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
+ 	Ditto.
+ 	* tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
+ 	* tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
+ 	add_call_read_ops): Ditto.
+ 	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
+ 
+ 2004-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
+ 	UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
+ 
+ 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
+ 	reflect size of memory regions being compared.
+ 
+ 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
+ 	expressions.  Always clear MEM_SIZE and alias set.
+ 
+ 2004-09-26  Roger Sayle  <roger@eyesopen.com>
+ 	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	PR middle-end/17112
+ 	* stor-layout.c (compute_record_mode): For records with a single
+ 	field, only use the field's mode if its size matches what we'd
+ 	have choosen for the record ourselves.  This forces the use of
+ 	BLKmode for packed records that don't completely fill a mode.
+ 
+ 2004-09-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17151
+ 	* combine.c (force_to_mode): Remove dubious early return test that
+ 	inhibits further optimization.
+ 
+ 2004-09-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* profile.c: Fix a comment typo.
+ 
+ 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR bootstrap/17591
+ 	* tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
+ 	with varying offset.
+ 	* tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
+ 	(idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
+ 	ARRAY_REFS.
+ 	(expr_invariant_in_loop_p): New function.
+ 	(idx_find_step): Handle step and lower bound for ARRAY_REFs.  Handle
+ 	component_ref_field_offset for COMPONENT_REFs.  Do not allow
+ 	ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
+ 	(add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
+ 	MISALIGNED_INDIRECT_REFs.
+ 	(idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
+ 	(rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
+ 	MISALIGNED_INDIRECT_REFs.
+ 
+ 2004-09-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/11459
+ 	* gcc.c (cpp_options, cc1_options): Preserve relative order of
+ 	-std and -ansi options.
+ 
+ 2004-09-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
+ 	for nested functions whose proper parent has not been output.
+ 
+ 	* profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
+ 	when re-constructing profile previously invalidated by loop.
+ 
+ 2004-09-25  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree-gimple.c:  Move GIMPLE definition...
+ 	* doc/tree-ssa.texi:  here.
+ 
+ 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vectorizer.c: Fix a comment typo.
+ 
+ 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
+ 	gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
+ 	lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
+ 	tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
+ 
+ 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-unswitch.c: Fix a comment typo.
+ 
+ 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/passes.texi: Fix a typo.
+ 
+ 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_record_bounds.
+ 	* tree-pass.h (pass_record_bounds): Declare.
+ 	* tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
+ 	New pass.
+ 
+ 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/17474
+ 	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
+ 	offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
+ 
+ 2004-09-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (counts_to_freqs): Make global.
+ 	* predict.h (counts_to_freqa): Declare.
+ 	* profile.c (compute_branch_probabilities): Compute frequencies
+ 	* tree-profile.c (do_tree_profiling): Refine conditional on when
+ 	tree profiling pass is needed.
+ 
+ 	* passes.c (rest_of_handle_cfg): Disable const/pure function
+ 	detection when doing tree based profiling.
+ 
+ 	* tree-inline.c (expand_call_inline): Fix incorrectly reversed
+ 	conditional.
+ 
+ 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (struct mips_args): Clarify comments.
+ 	* config/mips/mips.c (struct mips_arg_info): Likewise.
+ 	(mips_arg_info): Don't allow fpr_p to affect the register or
+ 	stack alignment.  Remove o64 silliness.
+ 	(function_arg): Deal with the o32 float,float case specially.
+ 
+ 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (loadx, storex): Define for V2SF.
+ 
+ 2004-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
+ 	* config/s390/s390.c (s390_back_chain_rtx): New function.
+ 	* config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
+ 	Call anti_adjust_stack.
+ 	("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
+ 	only if compiling with back chain.
+ 	("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
+ 	back chain only if back chain enabled.  Use s390_back_chain_rtx.
+ 
+ 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/trouble.texi: Remove obsolete information.  Update
+ 	information on how to regenerate fixincluded headers.
+ 
+ 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/12951
+ 	* doc/invoke.texi: Document that
+ 	-Wno-error-implicit-function-declaration is not accepted.
+ 
+ 2004-09-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
+ 	* config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
+ 	on TARGET_MAX.
+ 	(alpha_expand_mov): Allow unaligned vectors.
+ 	(alpha_expand_unaligned_store): Use CONST0_RTX.
+ 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
+ 
+ 2004-09-24 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
+ 	aliasing rules.
+ 	(simplify_cond_and_lookup_avail_expr): Likewise.
+ 
+ 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/12802
+ 	* doc/extend.texi (Unnamed Fields): Remove "." from end of long
+ 	title.  Document interaction with -fms-extensions.
+ 	* doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
+ 	section.
+ 
+ 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/12713
+ 	* doc/extend.texi: Document interaction of attribute noreturn and
+ 	longjmp.
+ 
+ 2004-09-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/17503
+ 	* regclass.c (subregs_of_mode): Turn into an htab.  Make static.
+ 	(som_hash, som_eq): New.
+ 	(init_subregs_of_mode, record_subregs_of_mode): New.
+ 	(cannot_change_mode_set_regs): Rewrite for htab implementation.
+ 	(invalid_mode_change_p): Likewise.
+ 	* combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
+ 	* flow.c (mark_used_regs): Likewise.
+ 	(life_analysis): Use init_subregs_of_mode.
+ 	* regs.h (subregs_of_mode): Remove.
+ 	* rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
+ 
+ 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-ssa-phiopt.c (conditional_replacement): Use the correct
+ 	type with the copy of the conditional.
+ 
+ 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/16954
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+ 	Prevent renaming if the aliasing sets of the type which the
+ 	pointer points to are different.
+ 
+ 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17188
+ 	* c-decl.c (diagnose_mismatched_decls): Check for duplicate
+ 	declarations of enumerators.
+ 	(start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
+ 	for redefinition.  Check for nested redefinition.
+ 	(finish_struct): Don't check for nested redefinition.
+ 	(start_enum): Check for nested redefinition.
+ 
+ 2004-09-24  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
+ 	only when necesssary.
+ 	(combine_blocks): Combine loop header and exit block.
+ 
+ 2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* hooks.c (hook_tree_tree_bool_null): New.
+ 	* hooks.h (hook_tree_tree_bool_null): Declare it.
+ 	* target-def.c (TARGET_FOLD_BUILTIN): Point to it.
+ 	* targhooks.c (default_fold_builtin): Remove.
+ 	* targhooks.h (default_fold_builtin): Remove.
+ 
+ 2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR rtl-optimization/17625
+ 	* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
+ 
+ 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17624
+ 	* tree-ssa-forwprop.c (record_single_argument_cond_exprs):
+ 	Reject if any of the operands occur in an abnormal PHI.
+ 
+ 2004-09-24  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* tree-ssa-dom.c (record_range): Fix violation of strict aliasing
+ 	rules.
+ 
+ 2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
+ 	if the GNU assembler is used.
+ 	(sparc-*-solaris2*): Likewise.
+ 	* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
+ 	(dbxout_function_end): Protect N_ENSYM with it.
+ 	(dbxout_begin_prologue): Protect N_BNSYM with it.
+ 	* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
+ 	* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
+ 	* config/sparc/sol2-gas.h: New file.
+ 
+ 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR bootstrap/17369
+ 	* Makefile.in (@set_gcc_lib_path@): Added.
+ 
+ 	* configure.ac: Include ../config/gcc-lib-path.m4. Use
+ 	TL_AC_GNU_MAKE_GCC_LIB_PATH.
+ 	* configure: Regenerated.
+ 
+ 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/6980
+ 	* c-typeck.c (build_c_cast): Improve wording of
+ 	-Wbad-function-cast diagnostic.
+ 
+ 2004-09-23  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/17626
+ 	* config/cris/cris.md (moverside, movemside): Rename variable
+ 	"reg" to "otherop".  To generate canonical RTX, check that otherop
+ 	isn't constant instead of checking that operand 1 is a register.
+ 
+ 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
+ 
+ 2004-09-23  Diego Novillo  <dnovillo@redhat.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree-flow.h (find_new_referenced_vars): Add prototype.
+ 	* tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
+ 	Move to...
+ 	* tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
+ 	... here.
+ 	(mark_new_vars_to_rename): Walk through all operands.
+ 	* tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
+ 	(execute_fold_all_builtins): Use it.
+ 	(pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
+ 
+ 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
+ 
+ 	* gthr-tpf.h: New file.
+ 	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
+ 	* gthr.h: Use gthr-tpf.h on TPF OS.
+ 
+ 2004-09-23 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
+ 	than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
+ 	(substitute_and_fold):  Likewise.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
+ 	except invariants from SSA_NAME_VALUE.
+ 	(thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
+ 	and SET_SSA_NAME_EQUIV.
+ 	(restore_vars_to_original_value, record_const_or_copy): Likewise.
+ 	(record_equivalences_from_phis, record_const_or_copy_1): Likewise.
+ 	(record_equality, cprop_into_successor_phis): Likewise.
+ 	(record_equivalences_from_stmt, cprop_operand): Likewise.
+ 	(lookup_avail_expr): Likewise.
+ 	* tree-ssa-pre.c (fini_pre): Remove everything except invariants
+ 	from SSA_NAME_VALUE.
+ 	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
+ 	(struct tree_ssa_name):  Kill EQUIV field.  Remove GGC skip
+ 	annotation from the VALUE_HANDLE field.
+ 
+ 2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	PR c++/13989
+ 	PR c++/9844
+ 	* tree.c (reconstruct_complex_type): Remove extra "this".
+ 	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
+ 	Add V4SFmode to case statement.
+ 
+ 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/16833
+ 	* doc/extend.texi, doc/invoke.texi: Document interaction of
+ 	-fno-builtin with format checks.  Note that built-in functions
+ 	have effects beyond generating code that avoids calls to those
+ 	functions.
+ 
+ 2004-09-23  Frank Ch. Eigler <fche@redhat.com>
+ 
+ 	PR tree-optimization/17533
+ 	* dominance.c (verify_dominators): Tolerate even more incorrect
+ 	dominance data during error message printing.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
+ 	and edges more correctly.
+ 
+ 2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
+ 
+ 	* tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
+ 	New tree-codes.
+ 	* tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
+ 	MISALIGNED_INDIRECT_REF.
+ 	* alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
+ 	* emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
+ 	Likewise.
+ 	* expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
+ 	(find_interesting_uses_address): Likewise.
+ 	* fold-const.c (non_lvalue, operand_equal_p): Likewise.
+ 	(build_fold_addr_expr_with_type): Likewise.
+ 	* gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
+ 	* print-rtl.c (print_mem_expr): Likewise.
+ 	* tree-dump.c (dequeue_and_dump): Likewise.
+ 	* tree-eh.c (tree_could_trap_p): Likewise.
+ 	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
+ 	* tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
+ 	* tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
+ 	Likewise.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+ 	* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
+ 	* tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
+ 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
+ 	(add_address_candidates, rewrite_address_base): Likewise.
+ 	* tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
+ 	Likewise.
+ 	* tree.c (staticp, build1_stat): Likewise.
+ 
+ 	* tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
+ 	* tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 	* expr.c (expand_expr_real_1): Likewise.
+ 
+ 	* optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
+ 	optabs.
+ 	(OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
+ 	for the new optabs.
+ 	(expand_ternary_op): New function.
+ 	* genopinit.c (optabs): Handle the new optabs.
+ 	* optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
+ 	(init_optabs): Initialize vec_realign_load_optab.
+ 	(expand_ternary_op): New functions.
+ 
+ 	* target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
+ 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
+ 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
+ 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
+ 	* target.h (struct vectorize): New member for struct gcc_target.
+ 	(misaligned_mem_ok): New member for targetm.vectorize.
+ 	(builtin_mask_for_load): Likewise.
+ 	(builtin_mask_for_store): Likewise.
+ 	* targethooks.c (default_vect_misaligned_mem_ok): New function.
+ 	* targethooks.h (default_vect_misaligned_mem_ok): New function.
+ 
+ 	* config/rs6000/altivec.md (build_vector_mask_for_load): New
+ 	define_expand.
+ 	(vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
+ 	(vec_realign_load_v16qi): New define_insn.
+ 	* config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
+ 	(ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
+ 	* config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
+ 	(altivec_builtin_mask_for_store): New variables.
+ 	(rs6000_builtin_mask_for_load): New function. Implements
+ 	TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
+ 	(rs6000_builtin_mask_for_store): New function. Implements
+ 	TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
+ 	(rs6000_expand_builtin): Expand the target builtins
+ 	builtin_mask_for_load and builtin_mask_for_store.
+ 	(altivec_init_builtins): Initialize the new target builtins.
+ 	* config/i386/i386.c (ix86_misaligned_mem_ok): New function.
+ 	Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
+ 
+ 	* tree-vectorizer.c (vect_create_data_ref): Renamed to
+ 	vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
+ 	(vect_create_addr_base_for_vector_ref): Additional argument (offset).
+ 	(vectorizable_store): Call vect_create_data_ref_ptr with additional
+ 	arguments, and create an indirect_ref with its return value data_ref.
+ 	Check aligned_access_p.
+ 	(vectorizable_load): Handle misaligned loads, using software-pipelined
+ 	scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
+ 	vec_realign_load_optab is supported, or using a scheme without
+ 	software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
+ 	misaligned_mem_ok is supported.
+ 
+ 	(vect_finish_stmt_generation): Typo.
+ 	(vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
+ 	(vect_analyze_data_refs_alignment): Don't fail vectorization in the
+ 	presence of misaligned loads.
+ 	(vect_analyze_data_ref_access): Add check for constant init.
+ 	(vect_get_symbl_and_dr): Remove duplicate line.
+ 	* tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
+ 
+ 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Fix a comment typo.
+ 
+ 2004-09-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* profile.c (branch_prob): Do not verify flow info in the middle of the
+ 	pass.
+ 
+ 2004-09-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.h (update_single_exits_after_duplication): Declare.
+ 	(loopify, split_loop_bb): Declaration changed.
+ 	* cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
+ 	of rtx.
+ 	(loopify): Added redirect_all_edges argument.
+ 	(update_single_exits_after_duplication): Export.
+ 	* loop-unswitch.c (unswitch_loop): Changed due to loopify change.
+ 	* tree-flow.h (tree_duplicate_loop_to_header_edge,
+ 	tree_ssa_loop_version): Declare.
+ 	* tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
+ 	set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
+ 	lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
+ 	lv_update_pending_stmts, tree_ssa_loop_version): New functions.
+ 
+ 	* tree-ssa-loop-unswitch.c: New file.
+ 	* Makefile.in (tree-ssa-loop-unswitch.o): Add.
+ 	* timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
+ 	* tree-flow.h (tree_ssa_unswitch_loops): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
+ 	* tree-pass.h (pass_unswitch): Declare.
+ 	* tree-ssa-loop.c (tree_ssa_loop_unswitch,
+ 	gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
+ 	* doc/passes.texi: Documen tree level loop unswitching.
+ 
+ 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
+ 
+ 2004-09-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c (simplify_builtin_va_start): Remove.
+ 	(simplify_builtin): Ditto.
+ 	(fold_builtin_strchr): Ditto.
+ 	(simplify_builtin_*): Rename remainders to fold_builtin_*.
+ 	(expand_builtin): Fix up for above changes.
+ 	(fold_builtin_1): Add new folders. Change for above.
+ 	(expand_builtin_va_start): Call fold_builtin_next_arg.
+ 	* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
+ 	* tree.h: Remove prototype for simplify_builtin.
+ 
+ 2004-09-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR debug/17389
+ 	* dwarf2out.c (dwarf2out_finish): Deal with nested functions
+ 	of fully inlined functions.
+ 	* tree-inline.c (inline_forbidden_p_1): Nested functions can be
+ 	inlined.
+ 
+ 	* cfgexpand.c (add_reg_br_prob_note): New function.
+ 	(expand_gimple_cond_expr): Use it.
+ 	(tree_expand_cfg): No longer kill the profile.
+ 	* cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
+ 	only if it is present.
+ 	* passes.c (rest_of_handle_loop_optimize): Kill the profile.
+ 	* predict.c (combine_predictions_for_insn): Set the probabilities
+ 	based on REG_BR_PROB note if present.
+ 	* predict.c (branch_prob): Profile is read only with
+ 	flag_branch_probabilities.
+ 
+ 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Add in gettext's m4 includes.
+ 	(AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
+ 	* configure.ac: Add in check for iconv.h
+ 	* configure: Regenerate.
+ 
+ 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Update for rename of gettext-sister.m4.
+ 
+ 2004-09-22  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/17587
+ 	* tree-ssa-pre.c (fini_pre): Commit edge inserts here.
+ 	(insert_aux): Instead of here.
+ 
+ 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16721
+ 	* tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
+ 	* tree-ssa-alias.c (create_memory_tag): Move setting of
+ 	TREE_THIS_VOLATILE ...
+ 	(get_tmt_for): ... here.
+ 
+ 2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (cmove splitter): Fix formatting.
+ 	(conditional_trap expander): Reject inappropriate CCmodes.
+ 	(conditional trap insn): Use V9 syntax if possible.
+ 
+ 2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/16566
+ 	* c-typeck.c (build_component_ref): Don't special-case
+ 	COMPOUND_EXPR.
+ 
+ 2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* dominance.c (verify_dominators): Don't SEGV if recount_dominator
+ 	returns NULL.
+ 
+ 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
+ 	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+ 	TRUTH_XOR_EXPR): Mention the restriction on types.
+ 
+ 2004-09-22  Matt Austern  <austern@apple.com>
+ 
+ 	* config/darwin.c (darwin_make_decl_one_only):
+ 	Allow coalesced symbol to appear in static archive's table of contents
+ 
+ 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/17512
+ 	* convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
+ 	special cases.
+ 
+ 2004-09-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* dbxout.c (get_lang_number): Do not define if
+ 	DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
+ 
+ 2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+ 
+ 	PR target/15583
+ 	* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
+ 	builtin_define ("__USE_INIT_FINI__").
+ 
+ 2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
+ 	* config/s390/s390.c (s390_emit_tpf_eh_return): New function.
+ 	* config/s390/s390.h (TARGET_TPF): New macro.
+ 	* config/s390/s390.md ("eh_return"): New expander.
+ 	* config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
+ 	unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
+ 	(LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
+ 	* config/s390/tpf.h (TARGET_TPF): Define to 1.
+ 	(STACK_POINTER_OFFSET): Increase to 448.
+ 	(TARGET_DEFAULT): Set -mtpf-trace on as default.
+ 	(TPF_LOC_DIFF_OFFSET): New macro.
+ 	(ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
+ 	encoding.
+ 	(__isPATrange): Add prototype.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 	* config/s390/tpf-eh.c: New file.
+ 
+ 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
+ 	operands in an integer comparison.
+ 	* tree-cfg.c (find_taken_edge): Call fold() to determine
+ 	whether the predicate is known.
+ 
+ 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
+ 	* configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
+ 	Create build and doc directories along with the language directories.
+ 	Don't create doc directory separately.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Create all object and executables files built
+ 	with the build compiler in a build/ directory.
+ 	(genobjnames): Add missing build objects.
+ 	(STAGESTUFF): Don't stage the gen* programs.
+ 	(ggc-none.o): Define dependencies for the target compiler.
+ 	(build-print-rtl.o): Rename to build/print-rtl.o.
+ 	(build-errors.o): Rename to build/errors.o.
+ 	(build-varray.o): Rename to build/varray.o.
+ 	(maintainerclean): Delete the contents of the build directory.
+ 	($(genobjs): %.o): Explicitly use -o.
+ 	(build/insn-conditions.o): Delete specfic rule to use generic rule.
+ 	(build/gengtype-lex.o): Likewise.
+ 	(build/gengtype-yacc.o): Likewise.
+ 	(build/gcov-iov.o): Likewise.
+ 
+ 2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_space): Return true if there _is_ space.
+ 	(VEC_reserve): Adjust.
+ 
+ 2004-09-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
+ 	use FPRs for scalar, complex and vector types only.
+ 
+ 2004-09-21 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (opt_stats): Move so that it lives just after
+ 	the opt_stats_d structure.
+ 	(vrp_data): Change from a varray into a hash table.
+ 	(vrp_hash_elt): New structure for elements in the vrp hash table.
+ 	(vrp_hash, vrp_eq):New functions for hashing and testing equality
+ 	in the vrp hash table.
+ 	(tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
+ 	initialization slightly to make it easier to read.  No longer need
+ 	to grow/clear the varray.  Instead empty and delete the hash table.
+ 	(dom_opt_finalize_block): Update due to change of VRP_DATA from
+ 	a varray to a hash table.
+ 	(simplify_cond_and_loop_avail_expr, record_range): Similarly.
+ 
+ 	* tree-ssa-ccp.c (get_default_value): If we have a constant
+ 	value recorded for an SSA_NAME, then use that constant as
+ 	the initial lattice value.
+ 	(substitute_and_fold): Transfer equivalences discovered into
+ 	SSA_NAME_EQUIV.
+ 
+ 	* tree.h (SSA_NAME_EQUIV): Add comments.
+ 	(SET_SSA_NAME_EQUIV): Similarly.
+ 
+ 2004-09-21  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
+ 
+ 2004-09-21  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
+ 	(finish_decl): Likewise.
+ 
+ 2004-09-21  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree.def (VEC_COND_EXPR): New tree node.
+ 	* tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
+ 
+ 2004-09-21  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
+ 	* config/rs6000/darwin-world.asm: Likewise.
+ 
+ 2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa.c (verify_def): Use print_generic_stmt,
+ 	not debug_generic_stmt.
+ 	(verify_use): Ditto.
+ 	(verify_phi_args): Ditto.
+ 	(verify_ssa): Ditto.
+ 
+ 2004-09-21  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* varasm.c (default_assemble_integer): Return false for values wider
+ 	than the target word size.  Works around GAS bug.
+ 
+ 2004-09-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
+ 	gets value 0.
+ 	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
+ 	if it has value 0.
+ 
+ 2004-09-21  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* c-typeck.c (build_function_call): Give name of object
+ 	we are attempting to call in error message.
+ 	* c-objc-common.c (c_tree_printer): Call pp_expression,
+ 	not return false, for 'E' case.
+ 
+ 2004-09-21  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR rtl-optimization/17482
+ 	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
+ 	load_killed_in_block_p): Clarify comments.
+ 	(record_last_reg_set_info): Make static inline.
+ 	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
+ 	(record_opr_changes): New function to replace the above.
+ 	(compute_hash_table): Clarify comments.  Use record_opr_changes.
+ 	(reg_set_between_after_reload_p): Clean up.
+ 	(reg_used_between_after_reload_p): Likewise.
+ 	(eliminate_partially_redundant_load): Clarify comments.
+ 
+ 2004-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR rtl-optimization/17266
+ 	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
+ 
+ 2004-09-21  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR rtl-optimization/14851
+ 	* rtlanal.c (commutative_operand_precedence): Calculate
+ 	precedence of stripped constant.
+ 
+ 2004-09-20 Jeff Law  <law@redhat.com>
+ 	   Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssanames.c (make_ssa_name): No longer need to clear, then
+ 	initialize key elements here.
+ 	(release_ssa_name): Zero the released SSA_NAME here.
+ 	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
+ 	(struct tree_ssa_name): Add new "equiv" field.
+ 	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
+ 	(tree_ssa_dominator_optimize): No longer allocate, resize or
+ 	clear CONST_AND_COPIES.
+ 	(get_value_for, set_value_for): Kill.
+ 	(thread_across_edge): Get/set the equivalency using
+ 	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
+ 	(restore_vars_to_original_value): Likewise.
+ 	(record_equivalences_from_phis): Likewise.
+ 	(record_dominating_conditions): Likewise.
+ 	(record_const_or_copy, record_equality): Likewise.
+ 	(lookup_avail_expr): Likewise.
+ 	(record_equivalences_from_stmt, cprop_operand): Likewise.
+ 	(cprop_into_successor_phis): No longer need to pass around
+ 	CONST_AND_COPIES.  Callers updated. Get equivalences via
+ 	SSA_NAME_EQUIV.
+ 	(cprop_into_phis): Likewise.
+ 
+ 2004-09-20  Matt Austern <austern@apple.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (fix_string_type): Build the unqualified array
+ 	type unconditionally, then use c_build_qualified_type to get
+ 	the proper const-qualified variant, and set its
+ 	TYPE_MAIN_VARIANT to refer to the unqualified type.
+ 	* c-lex.c (c_lex_return_raw_string): New global.
+ 	(c_lex_with_flags): Honor it.
+ 	* c-pragma.h: Declare it.
+ 
+ 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
+ 
+ 2004-09-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR middle-end/17126
+ 	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
+ 	(tree_rest_of_compilation): Cleanup.
+ 
+ 2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_select_rtx_section): Remove.
+ 	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
+ 
+ 2004-09-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
+ 	note to pretend a direct save from the original register when an
+ 	intermediate register is used for the save.
+ 
+ 2004-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tsystem.h (alloca): Provide a default definition.
+ 
+ 	Revert:
+ 	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 	    * unwind-dw2.c: Call __builtin_alloca, not alloca.
+ 
+ 2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17558
+ 	* tree-ssa-copy.c (may_propagate_copy): Only allow if the
+ 	aliasing sets are the same rather than just conflicting.
+ 
+ 2004-09-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR middle-end/16460
+ 
+ 	* cgraph.c (cgraph_unnest_node): New function.
+ 	(c_finalize): Rename to ....
+ 	(c_warn_unused_result_recursivly): ... this one; do only the warning
+ 	(finish_function): Finalize the toplevel function; do not lower nested tree.
+ 	* cgraph.h (cgraph_unnest_node): Declare.
+ 	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
+ 	nestedness datastructure.
+ 	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
+ 	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
+ 	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.
+ 
+ 2004-09-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
+ 	from some_small_symbolic_operand_1; export.
+ 	(some_small_symbolic_operand): Remove.
+ 	* config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
+ 	extra C check.
+ 	* config/alpha/predicates.md (some_small_symbolic_operand): New.
+ 
+ 2004-09-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (return_prediction): New function.
+ 	(apply_return_prediction): Likewise.
+ 	(tree_bb_level_predictions): Likewise.
+ 	(tree_estimate_probability): Add noreturn exit edges; call
+ 	bb_level_predictions; fix logic of return heuristics.
+ 	(predict_paths_leading_to):  Rescuesce from old CVS version of
+ 	process_note_prediction function.
+ 	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.
+ 
+ 2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_frame_info): Added alignment statement for
+ 	floating point register area on stack.
+ 
+ 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* predict.c (expr_expected_value): Use *_CLASS_P macros.
+ 
+ 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
+ 	generating useless garbage.
+ 
+ 2004-09-20  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* builtins.c (fold_builtin): Call the new omonymous
+ 	target hook for machine-dependent built-ins.
+ 	* target-def.h (TARGET_FOLD_BUILTIN): New.
+ 	* target.h (struct gcc_target): Add the fold_builtin hook.
+ 	* targhooks.c (default_fold_builtin): New.
+ 	* targhooks.h (default_fold_builtin): Declare it.
+ 
+ 2004-09-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
+ 	comment typos.
+ 
+ 2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/17565
+ 	* config/mips/mips.md (define_asm_attributes): Set can_delay to no.
+ 
+ 2004-09-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (estimate_probability): Remove unnecesary code.
+ 
+ 2004-09-19  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
+ 	(STMT_VINFO_VECT_DR_BASE): Declare.
+ 	(VECT_SMODULO): Declare.
+ 	* tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
+ 	(vect_compute_array_base_alignment): New function.
+ 	(vect_analyze_data_ref_access): Check array indices. Remove one
+ 	dimensional arrays restriction.
+ 	(vect_get_ptr_offset): New function.
+ 	(vect_get_symbl_and_dr): New function.
+ 	(vect_get_base_and_bit_offset): Support additional data refs. Renamed
+ 	(former name vect_get_base_decl_and_bit_offset).
+ 	(vect_create_index_for_array_ref): Removed.
+ 	(vect_create_index_for_vector_ref): New function.
+ 	(vect_create_addr_base_for_vector_ref): New function.
+ 	(vect_create_data_ref): Handle additional data refs. Call
+ 	vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
+ 	(vect_compute_data_ref_alignment): Support the changes. Call
+ 	vect_get_base_and_bit_offset.
+ 	(vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
+ 	data refs. Store vect_dr_base.
+ 	(vect_analyze_data_ref_accesses): Support nonconstant init.
+ 	(new_stmt_vec_info): Initialize vect_dr_base field.
+ 	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
+ 	(get_vectype_for_scalar_type): Check for BLKmode.
+ 	* tree-chrec.h (initial_condition_in_loop_num): Declare.
+ 	* tree-chrec.c (initial_condition_in_loop_num): New function.
+ 	(chrec_component_in_loop_num): New function.
+ 	(evolution_part_in_loop_num): Call chrec_component_in_loop_num.
+ 	* tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
+ 	to be pointer to varray_type.
+ 
+ 2004-09-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (update_bb_profile_after_threading): Declare.
+ 	* cfg.c (update_bb_profile_after_threading): Break out from ...
+ 	* cfgcleanup.c (try_forward_edges): ... here; use it.
+ 	* tree-ssa-dom.c (thread_across_edge): Use it.
+ 	* tree-ssa-threadupdate.c (create_block_for_threading): Zero out
+ 	profile of the new BB.
+ 
+ 2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (insert_into_set): Don't put
+ 	is_gimple_min_invariant values into the set.
+ 
+ 2004-09-19  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
+ 	prototype.
+ 
+ 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/cris/cris.h: Preserve the original spelling in a
+ 	quote.
+ 
+ 2004-09-18 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
+ 	global varrays to replace the block local varrays.
+ 	(struct dom_walk_block_data): Remove, no longer used.
+ 	(get_eq_expr_value): No longer need to pass around pointers to local
+ 	varrays.  Callers updated.  Unused markers added to unused parameters.
+ 	(record_range, record_equivalences_from_stmt): Likewise.
+ 	(record_equivalences_from_incoming_edge): Likewise.
+ 	(record_var_is_nonzero): Likewise.  Update now that we have a
+ 	single global varray of SSA_NAMEs that need restoring.
+ 	(dom_opt_initialize_block_local_data): Kill, no longer used.
+ 	(tree_ssa_dominator_optimize): Initialize new global varrays.
+ 	Update callbacks in dominator walker structure.
+ 	(dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
+ 	VRP_VARIABLES_STACK.
+ 	(restore_nonzero_vars_to_original_value): Update now that we have
+ 	a single global varray of SSA_NAMEs that need restoring.
+ 	(dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
+ 	Remove unused variables.
+ 	(optimize_stmt): Remove unused variable.
+ 
+ 2004-09-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-cfg.c (thread_jumps):  Fix updating of the profile.
+ 
+ 	* tree-optimize.c (tree_rest_of_compilation): Kill forgotten
+ 	verify_cgraph call.
+ 
+ 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
+ 	gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
+ 	optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
+ 	tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
+ 	tree-ssa-operands.c, tree-ssa-phiopt.c,
+ 	tree-ssa-threadupdate.c: Fix comment typos.
+ 
+ 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
+ 	config/arm/README-interworking, config/arm/arm-cores.def,
+ 	config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
+ 	config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
+ 	config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
+ 	config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
+ 	config/frv/frv.md, config/i386/winnt.c,
+ 	config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
+ 	config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
+ 	config/m68hc11/m68hc11.md, config/m68k/m68k.c,
+ 	config/mcore/mcore.c, config/mips/mips.h,
+ 	config/mn10300/mn10300.md, config/pa/pa.c,
+ 	config/pa/pa64-regs.h, config/pdp11/pdp11.c,
+ 	config/rs6000/rs6000.c, config/sh/symbian.c,
+ 	config/sparc/sparc.h: Fix comment typos.  Follow spelling
+ 	conventions.
+ 
+ 2004-09-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/17424
+ 	* c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
+ 
+ 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (setup_pointers_and_addressables): Don't
+ 	remove TREE_ADDRESSABLE from RESULT_DECL.
+ 
+ 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
+ 
+ 2004-09-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
+ 	NULL.
+ 	* tree-ssa-alias.c (init_alias_info): Likewise.
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
+ 	(verify_ssa): Likewise.
+ 	* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
+ 
+ 2004-09-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (legitimize_pic_address): Fix splitting of PLUS with
+ 	huge offset.
+ 
+ 2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
+ 	* config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ 	DW_EH_PE_sdata* for data.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ 
+ 2004-09-17  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree-inline.c (copy_tree_r): Don't duplicate constants, they're
+ 	shared anyway.
+ 
+ 	PR pch/13361
+ 	* c-typeck.c (constructor_asmspec): Delete.
+ 	(struct initializer_stack): Delete field 'asmspec'.
+ 	(start_init): Delete saving of asmspec.
+ 	(finish_init): Don't update constructor_asmspec.
+ 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
+ 	* stmt.c (expand_asm): Duplicate strings from tree.
+ 	(expand_asm_operands): Likewise.
+ 	* tree.c (tree_size): Update computation of size of STRING_CST.
+ 	(make_node): Don't make STRING_CST nodes.
+ 	(build_string): Allocate string with tree node.
+ 	(tree_code_size): Clean up assertions, don't allow requests
+ 	for "the size of a STRING_CST".
+ 	* tree.def (STRING_CST): Update comment.
+ 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
+ 	(tree_string): Place contents of string in tree node.
+ 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
+ 	from tree.
+ 
+ 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
+ 	* objc/Make-lang.in (objc/objc-parse.o): Likewise.
+ 
+ 2004-09-17  Jones Desougi  <jones@ingate.com>
+ 
+ 	* configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
+ 	* configure, config.in: Regenerate.
+ 
+ 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c, tree.h (tree_class_strings): Make array const.
+ 	Reindent per coding convention.  Move asterisk to proper place
+ 	per coding convention.
+ 
+ 2004-09-18  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* Makefile.in (gimple-low.o): Depend on $(EXPR_H).
+ 	(tree-vectorizer.o): Likewise.
+ 	(targhooks.o): Likewise.
+ 
+ 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* alias.c (find_base_decl): Remove unreachable case '3' block.
+ 	* expr.c (safe_from_p): Abort if passed a type.
+ 	* tree-gimple.c (recalculate_side_effects): Abort if passed
+ 	anything other than an expression.
+ 	* tree-ssa-pre.c (phi_translate): Return expr immediately if
+ 	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
+ 	Abort on un-handled tree classes.
+ 	(valid_in_set): Likewise.
+ 	* tree.c (tree_code_class_strings): New static data.
+ 
+ 	* tree.h (enum tree_code_class): New.
+ 	(tree_code_class_strings): Declare.
+ 	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
+ 	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
+ 	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
+ 	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
+ 	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
+ 
+ 	* tree.def, c-common.def, objc/objc-tree.def: Use
+ 	tree_code_class enumeration constants instead of code letters.
+ 
+ 	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
+ 	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
+ 	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
+ 	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
+ 	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
+ 	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
+ 	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
+ 	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
+ 	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
+ 	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
+ 	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
+ 	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
+ 	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
+ 	Update to match.
+ 
+ 	* LANGUAGES: Add note about change.
+ 
+ 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/17319
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
+ 	examine pointers on the LHS of an assignment.
+ 	(collect_points_to_info_r): Handle RETURN_EXPR.
+ 
+ 2004-09-17 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (const_and_copies_stack): New.
+ 	(dom_walk_block_data): Remove const_and_copies field.
+ 	(record_const_or_copy): No longer need to pass in varray_type *.
+ 	Use CONST_AND_COPIES_STACK rather than passed in block local stack.
+ 	Callers updated.
+ 	(record_equality): Similarly.
+ 	(restore_vars_to_original_value): Similarly.  Revamp to use new
+ 	single global stack rather than per-block stacks.
+ 	(tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
+ 	(thread_across_edge): Remove now unused parameters.
+ 	(dom_opt_initialize_block_local_data): No longer test the block
+ 	local CONST_AND_COPIES.
+ 	(dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
+ 
+ 2004-09-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR tree-optimization/17509
+ 	* tree-optimize.c (update_inlined_to_pointers): New function.
+ 	(tree_rest_of_compilation): Use it.
+ 
+ 2004-09-17  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dbxout.c (get_lang_number): New.
+ 	(dbxout_init): Include lang number in N_SO  stab.
+ 	* dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
+ 	N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
+ 
+ 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/17273
+ 	* tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
+ 	replacement is a constant.
+ 
+ 2004-09-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (enum c_typespec_keyword): New.
+ 	(struct c_declspecs): Adjust description of "type".  Remove
+ 	specbits, explicit_int_p and explicit_char_p.  Rename
+ 	typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
+ 	short_p, signed_p, unsigned_p and complex_p.
+ 	(finish_declspecs): New.
+ 	* c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
+ 	typename): Call finish_declspecs.
+ 	* c-decl.c (finish_declspecs): New.
+ 	(declspecs_add_type): Check for combinations which cannot occur in
+ 	valid specifier lists.  Update comments.
+ 	(shadow_tag_warned): Remove checks done in finish_declspecs.
+ 	Don't report useless type name if type defaulted to int.
+ 	(grokdeclarator): Remove checks and actions done in
+ 	finish_declspecs.  Don't allow for type being NULL.  Update for
+ 	datastructures changes.  Initialize decl_attr.
+ 	(build_null_declspecs, quals_from_declspecs): Update for
+ 	datastructures changes.
+ 
+ 2004-09-17  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
+ 
+ 	* doc/extend.texi: Fix duplicated word.
+ 
+ 2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* doc/invoke.texi: Remove stray explanation on
+ 	-freduce-all-givs and -fmove-all-movables.
+ 
+ 2004-09-17  James Morrison  <phython@gcc.gnu.org>
+ 
+ 	* doc/cfg.texi: Use @smallexample.
+ 	* doc/md.texi: Likewise.
+ 	* doc/tree-ssa.texi: Likewise.
+ 	* doc/extend.texi: Likewise.  Use @r{} in comments.
+ 	* doc/trouble.texi: Use @r{} in comments.
+ 
+ 2004-09-17  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* configure.ac (gcc_cv_gld_version): Handle whitespace before
+ 	"VERSION=".
+ 	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
+ 	* configure: Regenerate.
+ 
+ 2004-09-17  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
+ 	(sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
+ 	* t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
+ 	* t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match dashes and trailing
+ 	slashes in substitutions.
+ 	(MULTILIB_DIRNAMES): Remove defunct removal of /media32.
+ 
+ 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
+ 	gimplify.c, lambda-code.c, optabs.c, predict.c,
+ 	tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
+ 	tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
+ 	conventions.
+ 
+ 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
+ 	doc/extend.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
+ 	doc/trouble.texi: Use @option around options.
+ 
+ 2004-09-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (gen-protos.o): Depend on errors.h.
+ 
+ 2004-09-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/17513
+ 	* cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
+ 	for successors of the entry block.
+ 
+ 2004-09-17  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR rtl-optimization/15187
+ 	* ifcvt.c (noce_try_cmove_arith): Exit early if total
+ 	insn_rtx_cost of both branches > BRANCH_COST
+ 
+ 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/17528
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
+ 	erase the may-alias set for a tag when merging it with
+ 	another.
+ 
+ 2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (call): Extend 32-bit addresses to DImode
+ 	for 32-bit TARGET_SHMEDIA.
+ 	(call_value): Likewise.
+ 
+ 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
+ 	test apply only to TREE_STATIC and DECL_EXTERNAL.
+ 
+ 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
+ 	* basic-block.h (get_dominated_by_region): Declare.
+ 	* dominance.c (get_dominated_by_region): New function.
+ 	* tree-cfg.c: Include cfglayout.h.
+ 	(tree_duplicate_bb): Duplicate also phi nodes.
+ 	(struct ssa_name_map_entry): New type.
+ 	(add_phi_args_after_copy_bb, add_phi_args_after_copy,
+ 	ssa_name_map_entry_hash, ssa_name_map_entry_eq,
+ 	allocate_ssa_names, rewrite_to_new_ssa_names_def,
+ 	rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
+ 	rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
+ 	* tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
+ 	add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
+ 	rewrite_to_new_ssa_names, allocate_ssa_names,
+ 	rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
+ 	* tree-ssa-loop-ch.c (duplicate_blocks): Removed.
+ 	(copy_loop_headers): Use tree_duplicate_sese_region.
+ 
+ 2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
+ 
+ 2004-09-16 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-into-ssa.c (block_defs_stack): New toplevel varray.
+ 	(rewrite_block_data): Remove, no longer used.
+ 	(rewrite_initialize_block_local_data): Remove, no longer used.
+ 	(rewrite_initialize_block): Mark parameters as unused as needed.
+ 	Change references to the block local block_defs to be block_defs_stack.
+ 	Push a marker onto the block_defs_stack.
+ 	(ssa_rewrite_initialize_block): Similarly.
+ 	(rewrite_stmt, ssa_rewrite_stmt): Similarly.
+ 	(ssa_register_new_def): No longer needs varray argument.  Use
+ 	block_defs_stack instead.  No longer handle possibly null block_defs
+ 	varray.  Reverse order of items we push on the stack to make it
+ 	easier to identify our marker.
+ 	(register_new_def): No longer handle possibly null block_defs
+ 	varray.
+ 	(rewrite_finalize_block): Revamp to look for markers in the global
+ 	block_defs_stack varray rather than wiping a block local varray.
+ 	Mark arguments as unused as needed.
+ 	(ssa_rewrite_finalize_block): Similarly.
+ 	(rewrite_into_ssa): Update initialization of dom walker structure
+ 	to reflect that we don't need block local data anymore.  Initialize
+ 	the block_defs_stack varray.
+ 	(rewrite_ssa_into_ssa): Similarly.
+ 	* tree-ssa-dom.c (block_defs_stack): New toplevel varray.
+ 	(struct dom_walk_data): Kill block_defs field.
+ 	(tree_ssa_dominator_optimize): Initialize block_defs_stack.
+ 	(thread_across_edge): Use the global block_defs_stack instead of
+ 	the old block_defs varray.
+ 	(dom_opt_initialize_block_local_data): Update now that we don't have
+ 	block_defs field to check anymore.
+ 	(dom_opt_initialize_block): Push a marker onto block_defs_stack.
+ 	(restore_currdefs_to_original_value): Use the new block_defs_stack
+ 	instead of a block local varray.
+ 	(dom_opt_finalize_block): Similarly.
+ 	(record_equivalencs_from_phis): Similarly.
+ 	(optimize_stmt, register_definitions_for_stmt): Similarly.
+ 
+ 2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/17517
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+ 	coalesce same-root variables without checking for abnormal PHI usage.
+ 
+ 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfgloop.h (duplicate_loop):  Add prototype.
+ 	* cfgloopmanip.c (duplicate_loop): Make non-static.
+ 	* lambda-code.c (perfect_nestify): Factor out test whether
+ 	we can handle this loop into separate function.
+ 	Call it.
+ 	(can_convert_to_perfect_nest): New function.
+ 	(replace_uses_of_x_with_y): Add modify_stmt call.
+ 	* tree-loop-linear.c (linear_transform_loops): Call
+ 	rewrite_into_loop_closed_ssa and free_df.
+ 
+ 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
+ 	loop invariant as well.
+ 	(perfect_nestify): new function.
+ 	(gcc_loop_to_lambda_loop): New parameters to track lower bounds,
+ 	upper bounds, and steps.
+ 	Set outerinductionvar properly.
+ 	(gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
+ 	parameters.
+ 	Return NULL if we need a perfect loop and can't make one.
+ 	(lambda_loopnest_to_gcc_loopnest): Correct algorithm.
+ 	(not_interesting_stmt): New function.
+ 	(phi_loop_edge_uses_def): Ditto.
+ 	(stmt_uses_phi_result): Ditto.
+ 	(stmt_is_bumper_for_loop): Ditto.
+ 	(perfect_nest_p): Ditto.
+ 	(nestify_update_pending_stmts): Ditto.
+ 	(replace_uses_of_x_with_y): Ditto.
+ 	(stmt_uses_op): Ditto.
+ 	(perfect_nestify): Ditto.
+ 	* lambda-mat.c (lambda_matrix_id_p): New function.
+ 	* lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
+ 	* lambda.h: Update prototypes.
+ 	* tree-loop-linear (linear_transform_loop): Use new
+ 	perfect_nest_p. Detect and ignore identity transform.
+ 	* tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
+ 
+ 2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-loop-linear.c (gather_interchange_stats): Add more comments.
+ 	Gather also strides of accessed data.  Pass in the data references
+ 	array.
+ 	(try_interchange_loops): Add a new heuristic for handling the temporal
+ 	locality.  Pass in the data references array.
+ 	(linear_transform_loops): Pass the data references array to
+ 	try_interchange_loops.
+ 
+ 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Fix typos.  Follow spelling conventions.
+ 
+ 2004-09-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (Classes): Remove index entries for
+ 	TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
+ 
+ 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* fold-const.c (fold): Fold difference of addresses.
+ 	(ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
+ 	get_inner_reference.
+ 	* tree-ssa-loop-ivopts.c (peel_address): Removed.
+ 	(ptr_difference_const): Moved to fold-const.c.
+ 	(split_address_cost): Use get_inner_reference instead of peel_address.
+ 	(ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
+ 	* tree.h (ptr_difference_const): Export.
+ 
+ 	* tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
+ 	variable type to the dump.  Fix indentation.
+ 	(idx_find_step): Handle nonconstant array_ref_element_size and
+ 	array_ref_low_bound.
+ 	(idx_record_use): Handle array_ref_element_size and
+ 	array_ref_low_bound.
+ 	(find_interesting_uses_stmt): Handle memory = nontrivial_expression
+ 	statements correctly.
+ 	(get_computation_at, iv_value): Do not unshare expressions here.
+ 	(rewrite_use_outer): Unshare the expression before it is emitted
+ 	to code.
+ 	* tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
+ 	Moved to tree.c.
+ 	* tree.c (unsigned_type_for, signed_type_for): Moved from
+ 	tree-ssa-loop-niter.c.  Use langhooks.
+ 	* tree.h (signed_type_for): Export.
+ 
+ 2004-09-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
+ 	prototype.
+ 
+ 2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/11572
+ 	* c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
+ 	Add two parameters to extra_includes.
+ 	(C_INCPATH_INIT): Remove.
+ 	* c-incpath.c (register_include_chains): Call extra_pre_includes
+ 	before adding the standard include directory.
+ 	Update call to extra_includes.
+ 	(!defined TARGET_EXTRA_INCLUDES): Update
+ 	hook_void_charptr_charptr_int and add !define
+ 	TARGET_EXTRA_PRE_INCLUDES.
+ 	(!define TARGET_EXTRA_INCLUDES): Define as
+ 	hook_void_charptr_charptr_int.
+ 	(!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
+ 	(target_c_incpath): Always declare.
+ 	* fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
+ 	empty function.
+ 	(define TARGET_EXTRA_PRE_INCLUDES): Likewise.
+ 	* config/darwin.h: (darwin_register_frameworks): Update for
+ 	the two new parameters.
+ 	(darwin_register_objc_includes): Add prototype.
+ 	(TARGET_EXTRA_PRE_INCLUDES): Define.
+ 	* config/darwin-c.c (darwin_register_objc_includes): New function.
+ 	(darwin_register_frameworks): Update for the two new parameters.
+ 	(target_c_incpath): Remove.
+ 	* config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
+ 	the compile line.
+ 	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
+ 	parameters.
+ 	(TARGET_EXTRA_PRE_INCLUDES): Document.
+ 
+ 	* gcc.c (spec_function): Add replace-outfile.
+ 	(replace_outfile_spec_function): New function.
+ 	* config/darwin.h (LINK_SPEC): Add replace
+ 	-lobjc with -lobjc-gnu if -fgnu-runtime is
+ 	supplied.
+ 	* invoke.texi (replace-outfile): Document.
+ 
+ 2004-09-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (expr_expected_value, strip_builtin_expect): New function.
+ 	(tree_predict_by_opcode): Use it.
+ 	(tree_estimate_probability): Add, for now disabled,
+ 	strip_builtin_expect call.
+ 
+ 2004-09-15  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/17455
+ 	* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
+ 	if current_function_decl is a sibcall.
+ 
+ 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* varasm.c (default_function_rdodata_section): Make sure to pass
+ 	along a decl for a link-once section.
+ 
+ 2004-09-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
+ 	warning with code disable.  Fix formatting.
+ 
+ 2004-09-15  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
+ 	* tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
+ 	after propagating into an ADDR_EXPR.
+ 
+ 2004-09-15  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR rtl-opt/17427
+ 	* gcse.c (process_insert_insn): insn_invalid_p has side effects.
+ 	Move it out of gcc_assert.
+ 
+ 2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
+ 	except.c, fold-const.c, function.c, langhooks.c, params.c,
+ 	reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+ 	tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
+ 	for quoting in diagnostics going through pretty-print.c.  Use ''
+ 	for quoting in other diagnostic text.
+ 	* langhooks.c: Include intl.h.  Mark text locating diagnostics for
+ 	translation.
+ 	* Makefile.in (langhooks.o): Update dependencies.
+ 	* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
+ 	formats.
+ 
+ 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.ac: Check for COMDAT support.  Robustify check for
+ 	SHF_MERGE support.
+ 	* configure: Regenerated.
+ 	* config.in: Likewise.
+ 	* langhooks-def.h (lhd_comdat_group): New function.
+ 	(LANG_HOOKS_COMDAT_GROUP): New macro.
+ 	(LANG_HOOKS_DECLS): Use it.
+ 	* langhooks.c (lhd_comdat_group): Define.
+ 	* langhooks.h (lang_hooks_for_decls): Add comdat_group.
+ 	* output.h (named_section_flags): Make it a macro.
+ 	(named_section_real): New function.
+ 	(default_no_named_section): Add decl parameter.
+ 	(default_elf_asm_named_section): Likewise.
+ 	(default_coff_asm_named_section): Likewise.
+ 	(default_pe_asm_named_section): Likewise.
+ 	* target.h (gcc_target): Adjust type of named_section.
+ 	* varasm.c (named_section_flags): Rename to named_section_real.
+ 	Add decl parameter.
+ 	(default_no_named_section): Add decl parameter.
+ 	(default_elf_asm_named_section): Use COMDAT, if available.  Deal
+ 	with the case that ASM_COMMENT_START is "@".
+ 	(default_coff_asm_named_section): Add decl parameter.
+ 	(default_pe_asm_named_section): Likewise.
+ 	* config/alpha/alpha.c (vms_asm_named_section): Add decl
+ 	parameter.
+ 	(unicosmk_asm_named_section): Likewise.
+ 	* config/arm/arm.c (arm_elf_asm_named_section): Remove.
+ 	* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
+ 	* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
+ 	* config/cris/cris-protos.h (cris_target_asm_named_section):
+ 	Likewise.
+ 	* config/cris/cris.c (cris_target_asm_named_section):
+ 	Likewise.
+ 	* config/darwin/darwin-protos.h (darwin_asm_named_section):
+ 	Likewise.
+ 	* config/darwin/darwin.c (darwin_asm_named_section): Likewise.
+ 	* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
+ 	* config/i386/i386-protos.h (i386_pe_asm_named_section):
+ 	Likewise.
+ 	* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
+ 	* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
+ 	* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
+ 	Likewise.
+ 	* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
+ 	* cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
+ 	* cp/cp-tree.h (cxx_comdat_group): Declare.
+ 	* cp/decl.c (cxx_comdat_group): New function.
+ 
+ 2004-09-15  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
+ 	* tree-tailcall.c (eliminate_tail_call): Release SSA name.
+ 
+ 	* tree-cfg.c (remove_bb): Release SSA defs.
+ 
+ 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi: Follow spelling conventions.
+ 
+ 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c: Fix comment typos.
+ 
+ 2004-09-15  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
+ 	include ccr.
+ 	(ppc_fallback_frame_state): Save location of CR.
+ 
+ 2004-09-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (string_constant): Handle also read-only variables
+ 	initialized to string literals.
+ 
+ 	* builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
+ 	into memcpy (x, y, 1) if memcpy can be expanded inline.
+ 
+ 2004-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/17468
+ 	* tree-ssa.c (verify_use, verify_phi_args, verify_ssa):  Verify that
+ 	definition inside a block precede uses.
+ 	* tree-tailcall.c (adjust_return_value): Emit statements in the
+ 	correct order.
+ 
+ 2004-09-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
+ 
+ 2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (sparc-sun-solaris2*): Properly format warning.
+ 
+ 2004-09-14 Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (avail_exprs_stack): New global varray.
+ 	(struct dom_walk_block_data): Remove avail_exprs member.
+ 	(tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
+ 	(lookup_avail_expr): No longer need to pass in address of
+ 	the block local available exprs stack.  All callers changed.
+ 	(simplify_cond_and_lookup_avail_expr): Similarly.
+ 	(simplify_switch_and_lookup_avail_expr): Similarly.
+ 	(get_eq_expr_value, record_cond): Likewise.
+ 	(record_dominating_conditions): Likewise.
+ 	(update_rhs_and_lookup_avail_expr): Likewise.
+ 	(record_equivalences_from_stmt): Likewise.
+ 	(dom_opt_initialize_block_local_data): No longer test state of
+ 	block local avail_exprs.
+ 	(dom_opt_initialize_block): Mark unwind point in the global
+ 	avail_expr stack.
+ 	(remove_expressions_from_table): Update to unwind to the
+ 	most recent unwind marker in the global avail_expr stack.
+ 	All callers changed.
+ 	(dom_opt_finalize_block): Mark unwind point in the global
+ 	avail_expr stack as needed.
+ 	(record_cond): Push elements into the global avail_exprs stack.
+ 
+ 	* tree-dfa.c (free_df_for_stmt): No longer static.
+ 	(free_df): Update comments.
+ 	* tree-flow.h (free_df_for_stmt): Prototype.
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
+ 	call release_defs.
+ 
+ 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/17252
+ 	* tree-ssa-alias.c (may_alias_p): Don't assume that a
+ 	pointer may not point to itself when using relaxed
+ 	aliasing rules.
+ 
+ 2004-09-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17397
+ 	* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
+ 	while folding <ADDR_EXPR <INDIRECT_REF X>>.
+ 
+ 2004-09-14  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
+ 	sets of the pointers but the aliasing sets of what they point to.
+ 
+ 2004-09-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/9771
+ 	* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
+ 	conditional compilation in init_reg_sets_1.
+ 	(init_reg_sets_1): Let global_regs[i] take priority over the frame
+ 	(but not stack) pointer exceptions to regs_invalidated_by_call.
+ 	(globalize_reg): Globalizing a fixed register may need to update
+ 	regs_invalidated_by_call.
+ 
+ 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/15262
+ 	* tree-dfa.c (dump_variable): Also print the type of the
+ 	variable.
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
+ 	memory tags are of conflicting alias sets but have no aliased
+ 	symbols in common, add one tag to the alias set of the other.
+ 	(setup_pointers_and_addressables): Remove hack to deal with
+ 	programs with no aliased symbols.
+ 	(may_alias_p): Don't special case aggregate types.
+ 
+ 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/15498
+ 	* doc/invoke.texi (Environment Variables): Correct example locale.
+ 
+ 2004-09-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfg.c (expunge_block): Revert previous change adding ggc_free call.
+ 
+ 2004-09-14  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc: Do not build a shared libgcc for arm-none-eabi.
+ 
+ 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (struct c_declspecs): Add const_p, volatile_p and
+ 	restrict_p.
+ 	(struct c_declarator): Change u.array.quals and pointer_quals to
+ 	int.  Add u.array.attrs.
+ 	(quals_from_declspecs): New.
+ 	* c-decl.c (quals_from_declspecs): New.
+ 	(shadow_tag_warned): Give more specific message for useless type
+ 	qualifiers.
+ 	(build_array_declarator, set_array_declarator_inner,
+ 	grokdeclarator, make_pointer_declarator, build_null_declspecs,
+ 	declspecs_add_qual): Update for changed structures.
+ 
+ 2004-09-14  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
+ 	to a global varray.
+ 	(tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
+ 	(dom_opt_initialize_block_local_data): No longer test state
+ 	of stmts_to_rescan.
+ 	(dom_opt_finalize_block): Update due to change in scope of
+ 	stmts_to_rescan.
+ 	(optimize_stmt): Similarly.
+ 
+ 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
+ 	lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
+ 	comment typos.  Follow spelling conventions.
+ 
+ 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
+ 	config/i386/predicates.md, config/sparc/sparc.c: Follow
+ 	spelling conventions.
+ 
+ 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
+ 	* basic-block.h (struct reorder_block_def): Add copy_number field.
+ 	* cfgloop.h (biv_p): Declare.
+ 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
+ 	* common.opt (fsplit-ivs-in-unroller): New flag.
+ 	* loop-iv.c (biv_p): New function.
+ 	* loop-unroll.c: Include hashtab.h and recog.h.
+ 	(struct iv_to_split, struct split_ivs_info): New types.
+ 	(analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
+ 	free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
+ 	determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
+ 	insert_base_initialization, split_iv): New functions.
+ 	(peel_loop_completely, unroll_loop_constant_iterations,
+ 	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
+ 	Use them.
+ 	* doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
+ 
+ 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-cfg.c (thread_jumps): Update dominators correctly in
+ 	case destination of threaded edge dominates its source.
+ 
+ 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* unroll.c: Removed.
+ 	* loop.h: Removed.
+ 	* Makefile.in (LOOP_H, unroll.o): Removed.
+ 	(toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
+ 	dependency.
+ 	* alias.c (init_alias_analysis): Remove flag_old_unroll_loops
+ 	reference.
+ 	* cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
+ 	* common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
+ 	* loop.c: Do not include loop.h.
+ 	(LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
+ 	REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
+ 	struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
+ 	REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
+ 	struct loop_regs, struct loop_movables, struct loop_info): Moved
+ 	from loop.h.
+ 	(back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
+ 	reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
+ 	find_common_reg_term, loop_iterations, final_giv_value): Moved
+ 	from unroll.c.
+ 	(uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
+ 	loop_dump_stream, for_each_insn_in_loop, express_from,
+ 	extend_value_for_giv, loop_iv_add_mult_emit_before,
+ 	loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
+ 	loop_insn_first_p, get_condition_for_loop,
+ 	loop_insn_emit_before, loop_insn_hoist,
+ 	loop_insn_sink): Made static.
+ 	(loop_invariant_p): Made static.  Removed flag_old_unroll_loops
+ 	reference.
+ 	(strength_reduce): Do not call unroller.
+ 	(record_giv): Do not initialize unrolled field.
+ 	(prescan_loop): Do not set loop_info->preconditioned.
+ 	* passes.c: Do not include loop.h.
+ 	(rest_of_handle_loop_optimize): Do not call unroller.
+ 	* predict.c: Do not include loop.h.
+ 	* rtl.h (NOTE_PRECONDITIONED): Removed.
+ 	* stmt.c: Do not include loop.h.
+ 	* toplev.c: Do not include loop.h.
+ 	(process_options): Do not handle flag_old_unroll_loops.
+ 
+ 	* doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
+ 	Documentation removed.
+ 	* doc/passes.texi (unroll.c, loop.h): Documentation removed.
+ 
+ 2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (STAGE1_CHECKING): New variable.
+ 	(stage1_build): Use it.
+ 	* tree-ssa.c (verify_ssa): Preserve state of dominance
+ 	information.
+ 
+ 2004-09-14  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (output_fp_compare): Add generation
+ 	of ftst instruction.
+ 	* config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
+ 	Use output_fp_compare () function.
+ 	(cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
+ 	(fix_truncdi_memory): Remove operands[5] copy.
+ 
+ 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md, config/m68k/m68kelf.h,
+ 	config/mcore/mcore.md, config/rs6000/linux64.h,
+ 	config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
+ 	typos.
+ 
+ 2004-09-13  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
+ 	* gen-protos.c: Include errors.h.
+ 	(progname): Delete.
+ 
+ 2004-09-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (predict.o): Depend on tree-scalar-evolution.h
+ 	* predict.c: Include tree-scalar-evolution.h and cfgloop.h
+ 	(predict_loops): Use number_of_iterations_exit to predict
+ 	number of iterations on trees.
+ 
+ 2004-09-13  Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR 17408
+ 	PR 17409
+ 	* c-decl.c (start_decl): Repair TREE_STATIC for initialized
+ 	objects declared extern.
+ 
+ 2004-09-14  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Make args_to_push a
+ 	HOST_WIDE_INT.
+ 
+ 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
+ 	Only use TYPE_BINFO for aggregates.
+ 
+ 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* expmed.c (synth_mult): Initialize latency.  Check cost before
+ 	checking ops count.
+ 
+ 2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
+ 
+ 	* tree-ssa-operands.c (get_call_expr_operands): Added parm to
+ 	add_call_clobber_ops and add_call_read_ops.
+ 	(add_call_clobber_ops, add_call_read_ops): Added code to reduce
+ 	the number of vdefs and vuses inserted based on analysis of global
+ 	variables across calls.  * tree-dfa.c (find_referenced_vars):
+ 	Needed to reset static var maps before each function is compiled.
+ 	* cgraphunit.c:
+ 	(static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
+ 	static_vars_info,functions_to_static_vars_info,module_statics_escape,
+ 	all_module_statics,searchc_env,dfs_info): New fields to support
+ 	analysis of static global variables.
+ 	(print_order, convert_UIDs_in_bitmap, new_static_vars_info,
+ 	cgraph_reset_static_var_maps, get_global_static_vars_info,
+ 	get_global_statics_not_read, get_global_statics_not_written,
+ 	searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
+ 	check_rhs_var, check_lhs_var, get_asm_expr_operands,
+ 	process_call_for_static_vars, scan_for_static_refs,
+ 	cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
+ 	clear_static_vars_maps, cgraph_propagate_bits,
+ 	cgraph_characterize_statics): New. Functions to support analysis
+ 	of static global variables.
+ 	(cgraph_mark_local_and_external_functions): Renamed from:
+ 	(cgraph_mark_local_functions)
+ 	(cgraph_expand_all_functions): Remove call to
+ 	cgraph_mark_local_and_external_functions.
+ 	(cgraph_optimize): Added driver to analyze static variables whose
+ 	scope is within the compilation unit.  * cgraph.h (struct
+ 	cgraph_local_info, GTY): Added statics_read, statics_written,
+ 	local, calls_read_all, calls_write_all, for_functions_valid.
+ 	(struct cgraph_node): Added next_cycle.  * cgraph.c
+ 	(dump_cgraph_node): Added print routines for new fields.  *
+ 	makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
+ 	list.
+ 
+ 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Correct comments about where storage
+ 	class specifiers are rejected by grammar and add corresponding
+ 	asserts.  Diagnose typedefs and parameters declared inline.
+ 	Change warning for inline main to a pedwarn.  Only diagnose inline
+ 	main if hosted.
+ 	(declspecs_add_scspec): Allow duplicate "inline".
+ 
+ 2004-09-13  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
+ 	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
+ 
+ 2004-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17436
+ 	* tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
+ 	(tree_type): Replace spare with contains_placeholder_bits.
+ 	(type_contains_placeholder_1): Rename from type_contains_placeholder_p,
+ 	make static.  Remove seen_types list.
+ 	(type_contains_placeholder_p): New.
+ 
+ 2004-09-13  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
+ 	(sb1_bdesc, bdesc_map, bdesc_arrays): New.
+ 	(mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
+ 	bdesc_arrays instead of mips_bdesc.
+ 	(mips_init_builtins): Likewise.
+ 	* config/mips/mips.h (TARGET_SB1): New.
+ 	(HAVE_SQRT_P): Delete.
+ 	* config/mips/mips.md (divide_condition): Support V2SF.
+ 	(sqrt_condition, recip_condition): New.
+ 	(div<mode>3): Use ANYF instead of SCALARF.
+ 	(*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
+ 	MODE.
+ 	(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
+ 	instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
+ 	instead of MODE.
+ 	(sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
+ 	instead of SCALARF.  Use UNITMODE instead of MODE.
+ 
+ 2004-09-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config.in: Regenerate after removal of libbanshee.
+ 
+ 2004-09-13  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	PR tree-optimization/17400
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+ 	coalesce partitions when one occurs in an abnormal PHI.
+ 
+ 2004-09-13  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
+ 	name to _new_size.
+ 
+ 2004-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR inline-asm/6806
+ 	* cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
+ 	(cselib_invalidate_rtx_note_stores): New.
+ 	(cselib_record_sets, cselib_process_insn): Update to match.
+ 	* cselib.h (cselib_invalidate_rtx): Declare.
+ 	* postreload.c (reload_cse_simplify): Invalidate asm clobbers.
+ 
+ 2004-09-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/10528
+ 	* tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
+ 	after copying its argument.
+ 
+ 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
+ 	c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
+ 	in diagnostics.  Use %' for English apostrophes.
+ 	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
+ 	(pedwarn_c90, pedwarn_c99): Use it.
+ 	* c-decl.c (lookup_label): Quote label name in diagnostic.
+ 	* c-parse.in (yyprint): Use ' instead of ` for left quote.
+ 	* c-typeck.c (warn_for_assignment): Likewise.
+ 
+ 2004-09-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_schedule): New global variable.
+ 	(override_options): Disable scheduling when not supported.
+ 	* i386.h (x86_schedule): Declare.
+ 	(TARGET_SCHEDULE): New macro.
+ 
+ 2004-09-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/16254
+ 	* fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
+ 	* tree.c, tree.h (has_cleanups): Remove.
+ 
+ 2004-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
+ 	arguments of the phi nodes correctly.
+ 
+ 2004-09-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ggc-common.c (cmp_statistics): Fix sorting.
+ 
+ 2004-09-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/16795
+ 	* expmed.c (expand_divmod): If cheap power of 2 divide is
+ 	available, use it for negative constant as well.
+ 
+ 2004-09-12  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
+ 	size of 0.
+ 
+ 	* tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
+ 
+ 2004-09-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
+ 	or minus one.
+ 	(ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
+ 	post-reload, and scratch NULL.
+ 	* config/i386/i386.md (testqi_1): Use FLAGS_REG name.
+ 	(x86_shift_adj_2): Use ix86_expand_clear.
+ 	(ashldi3): Remove CMOVE expansion difference.
+ 	(ashldi3_1): Remove.
+ 	(*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
+ 	add constraints for immediates.  New peephole for split-with-temp.
+ 	Run splitter after peep2 pass.
+ 	(ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
+ 	(lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
+ 	(setcc_2): Rename with *.
+ 	* config/i386/predicates.md (reg_or_pm1_operand): New.
+ 	(ashldi_input_operand): New.
+ 
+ 2004-09-12  Richard Henderson  <rth@redhat.com
+ 
+ 	* print-rtl.c (print_decl_name): New.
+ 	(print_mem_expr): Use it.
+ 
+ 2004-09-12  Richard Henderson  <rth@redhat.com
+ 
+ 	PR 17186, part deux
+ 	* except.c (sjlj_emit_function_exit): Fix logic locating
+ 	sjlj_exit_after in final block.
+ 
+ 2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* common.opt: Remove flags -fmove-all-movables and
+ 	-freduce-all-givs.
+ 	* loop-invariant.c (find_invariants_to_move):
+ 	Remove all uses of flag_move_all_movables.
+ 	* loop.c (move_movables): Remove all uses of
+ 	flag_move_all_movables.
+ 	(strength_reduce): Remove all uses of
+ 	flag_reduce_all_givs.
+ 	* doc/invoke.texi: Remove documentation of flags
+ 	-fremove-all-movables and -freduce-all-givs.
+ 
+ 2004-09-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17411
+ 	* tree-sra.c (generate_element_zero): Revert recent build_int_cst
+ 	change. elt->type may be a floating point type, so use fold_convert.
+ 
+ 2004-09-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
+ 	the thing referenced as used, not the stub itself.
+ 
+ 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (enum c_storage_class): New.
+ 	(struct c_declspecs): Add storage_class, inline_p and thread_p.
+ 	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
+ 	declarations and "auto" or "register" in file scope empty
+ 	declarations.  Give more specific warnings for other cases of
+ 	storage class specifiers in empty declarations.
+ 	(grokdeclarator): Update for new structures.  Don't check for
+ 	multiple storage classes.  Diagnose file-scope "register" if
+ 	pedantic.
+ 	(build_null_declspecs): Update.
+ 	(declspecs_add_scspec): Update.  Diagnose multiple storage class
+ 	specifiers and invalid uses of "__thread".
+ 
+ 2004-09-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.c (tree_code_size): New function, bulk of code from tree_size.
+ 	(tree_size, make_node): Use it.
+ 	* tree-ssa-pre.c (init_pre): Use it.
+ 	* tree.h: Prototype it.
+ 
+ 2004-09-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
+ 	* tree-dfa.c (compute_immediate_uses, add_immediate_use,
+ 	redirect_immediate_use): Use PHI_DF.
+ 	* tree-flow-inline.h (stmt_ann): Abort on phi nodes.
+ 	(bb_for_stmt): Use PHI_BB.
+ 	(get_immediate_uses): Use PHI_DF.
+ 	* tree-ssa-dse.c (max_stmt_uid): New variable.
+ 	(get_stmt_uid): New function.
+ 	(dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
+ 	node annotations.
+ 	* tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
+ 	(max_uid): Renamed to max_stmt_uid.
+ 	(get_stmt_uid): New function.
+ 	(maybe_queue_var, single_reachable_address, determine_lsm): Do not use
+ 	phi node annotations.
+ 	* tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
+ 	* tree.h (PHI_BB, PHI_DF): New accessor functions.
+ 	(struct tree_phi_node): Add bb and df fields.
+ 
+ 2004-09-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17416
+ 	* cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
+ 	in conflict loop.
+ 
+ 2004-09-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
+ 	(EMIT_MODE_SET): UNINITIALIZED mode needs no set.
+ 	* i386.md (i387_cw): Add 'uninitialized' mode.
+ 
+ 	* profile.c (BB_TO_GCOV_INDEX): move more to the front.
+ 	(output_location): Break out from ....
+ 	(branch_prob): ... here; handle gcov output on trees.
+ 	* toplev.c (process_options): No longer be sorry about coverage for
+ 	trees.
+ 
+ 2004-09-11  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR c++/17412
+ 	* fold-const.c (fold): Do not try to fold the operand of a
+ 	CLEANUP_POINT_EXPR if that operand does itself not have any
+ 	operands.
+ 
+ 	PR middle-end/17417
+ 	* langhooks.c (lhd_decl_printable_name): Make sure that this
+ 	function is called with is a decl node that has an identifier.
+ 	* tree-pretty-print.c (dump_function_name): New function to
+ 	wrap PRINT_FUNCTION_NAME and dump_decl_name.
+ 	(print_call_name): Use it.
+ 
+ 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
+ 
+ 	* ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
+ 	"config.h" if not.
+ 
+ 2004-09-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree-ssa-alias.c (collect_points_to_info_r): Handle
+ 	pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
+ 	to OFFSET.
+ 
+ 2004-09-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
+ 	(expand_expr_addr_expr): New function.  Take ADDR_EXPR instead of the
+ 	operand of the ADDR_EXPR.
+ 	(expand_expr_real_1): Update to match.
+ 
+ 2004-09-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/17277
+ 	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
+ 	choose 64-bit version.
+ 
+ 2004-09-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/17396
+ 	* c-typeck.c (build_unary_op): Add legacy offsetof hack.
+ 
+ 2004-09-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
+ 	doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
+ 	Insert @: after i.e. or e.g.
+ 
+ 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree-pretty-print.c (dump_decl_name): Print unnamed decls as
+ 	D.xxx rather than <Dxxx>.
+ 
+ 2004-09-10  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* configure.ac (AC_MSG_CHECKING(what linker to use)):
+ 	in_tree_ld_is_elf should be true for LynxOS.
+ 	* configure: Regenerate.
+ 
+ 2004-09-10  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* Makefile.in (all.cross): Add srcextra.
+ 
+ 2004-09-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17024
+ 	* fold-const.c (fold_cond_expr_with_comparison): Handle unordered
+ 	floating point comparison operators.  Change aborts to gcc_asserts.
+ 
+ 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* final.c (output_asm_insn): Correct problem with -fverbose-asm.
+ 
+ 2004-09-10  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
+ 	(stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
+ 
+ 	* convert.c (convert_to_vector): Replace recursive call with
+ 	error_mark_node.
+ 
+ 	* emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
+ 	Add integer argument named constant.  Use const_tiny_rtx instead of
+ 	CONST0_RTX.
+ 	(gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
+ 	and CONST1_RTX.
+ 	(init_emit_once): Fix users of gen_const_vector.  Set CONST1_RTX for
+ 	vector types.
+ 	* expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
+ 	of gen_rtx_raw_CONST_VECTOR.
+ 
+ 2004-09-10  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR c/16046
+ 	* c-parse.in (attribute): Add NULL_TREE for error case
+ 	for error recovery.
+ 
+ 2004-09-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
+ 	(extract_interface_info): Delete prototype.
+ 	* c-decl.c (extract_interface_info): Delete stub.
+ 	* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
+ 	it's not already been done ...
+ 	(init_c_lex): ... not here.
+ 	(fe_file_change): Don't call extract_interface_info.
+ 
+ 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (struct c_declspecs): Remove typedef_decl.  Add
+ 	typedef_p and typedef_signed_p.
+ 	* c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
+ 	(grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
+ 	Check typedef_p and typedef_signed_p, not typedef_decl.
+ 	(grokfield): Check typedef_p, not typedef_decl.
+ 	(build_null_declspecs): Initialize typedef_p and typedef_signed_p,
+ 	not typedef_decl.
+ 	(declspecs_add_type): Set typedef_p and typedef_signed_p, not
+ 	typedef_decl.
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi, doc/tree-ssa.texi: Fix typos.
+ 
+ 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
+ 	temporary variables.
+ 
+ 	* dbxout.c (dbxout_block): Update for
+ 	current_function_func_begin_label a string.
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Likewise.
+ 	* except.c (dw2_output_call_site_table): Likewise.
+ 	* toplev.c (current_function_func_begin_label): Likewise.
+ 	* tree.h (current_function_func_begin_label): Likewise.
+ 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
+ 
+ 	* final.c (output_asm_insn): Use strtoul instead of atoi, save a
+ 	loop.
+ 
+ 	* config/darwin.c: Include target.h.
+ 	(struct machopic_indirection): Make ptr_name a string.
+ 	(machopic_indirection_hash): Update for ptr_name a string.
+ 	(machopic_indirection_eq): Likewise.
+ 	(machopic_indirection_name): Likewise.
+ 	(machopic_output_indirection): Likewise.
+ 	(machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
+ 	string.  Don't expect stub names to be in the identifier hash table.
+ 	Do call strip_name_encoding before looking up entry in ID hash table.
+ 	* config/t-darwin (darwin.o): Add target.h to dependencies.
+ 
+ 	* gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
+ 	of fprintf for register names.
+ 
+ 	* output.h (unlikely_section_label): Delete declaration.
+ 	(unlikely_text_section_name): Likewise.
+ 	* varasm.c (unlikely_section_label_printed): Make static.
+ 	(unlikely_section_label): Likewise.
+ 	(unlikely_text_section_name): Likewise.
+ 	(assemble_start_function): Use reconcat.
+ 
+ 	* rtl.def (REG): Add comment to describe third field.
+ 
+ 2004-09-10  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_mcount_stub_name): Call
+ 	machopic_indirection_name instead of making the string
+ 	ourselves.
+ 
+ 2004-09-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	Revert
+ 
+ 	2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
+ 
+ 	    * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
+ 	    memory tag is call clobbered, so are its aliases.
+ 	    (group_aliases): When two memory tags being grouped, if one is
+ 	    call clobbered, so are the other and its aliases.
+ 	    (add_may_alias): Remove call-clobbering stuff.
+ 	    (replace_may_alias): Likewise.
+ 	    (merge_pointed_to_info): Merge pt_global_mem
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
+ 	genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
+ 	passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
+ 	tree-scalar-evolution.c, tree-ssa-copyrename.c,
+ 	tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
+ 
+ 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
+ 	(maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
+ 	pair.  Remove match_dup from inputs.  Remove masaccs handling.
+ 	(mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
+ 	(masaccs, mdasaccs): Turn into define_insns.
+ 
+ 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* tree-tailcall.c (process_assignment): Only do accumulator transforms
+ 	for floating-point types if flag_unsafe_math_optimizations.
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
+ 	config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
+ 	config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
+ 	config/h8300/h8300.md, config/i386/gmm_malloc.h,
+ 	config/ia64/ia64.md, config/ip2k/libgcc.S,
+ 	config/mips/mips-ps-3d.md, config/mips/mips.c,
+ 	config/rs6000/rs6000.c, config/s390/s390.c,
+ 	config/sh/symbian.c: Fix comment typos.
+ 
+ 2004-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Added missing
+ 	"{}" brackets.
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
+ 	typos.  Follow spelling conventions.
+ 
+ 2004-09-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* toplev.c (warn_deprecated_use): Correct logic for saying "type"
+ 	in diagnostic.  Don't dereference NULL TYPE_NAME.
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
+ 	tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
+ 	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
+ 	value-prof.c: Fix comment typos.  Follow spelling conventions.
+ 
+ 2004-09-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-dce.c (remove_dead_stmt): Update profile.
+ 	* tree-split_edge.c (tree_split_edge): Likewise.
+ 	(thread_jumps): Likewise.
+ 
+ 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
+ 	typos.
+ 
+ 2004-09-10  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* cgraph.h (cgraph_dump_file): Do not declare.
+ 	* cgraphunit.c (cgraph_dump_file): Declare as static.
+ 	(init_cgraph): New.
+ 	* toplev.c (cgraph_dump_file): Do not declare.
+ 	(compile_file): Call init_cgraph.
+ 	* tree-dump.c (dump_files): Add IPA dump file, remove
+ 	XML dump of call graph.
+ 	(get_dump_file_name): Support IPA dump file naming scheme.
+ 	* tree.h (enum tree_dump_index): Add IPA dump file, remove
+ 	XML dump of call graph.
+ 	* doc/invoke.texi (Debugging Options): Document the new options.
+ 
+ 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/extend.texi: Document the FR-V built-in functions.
+ 
+ 2004-09-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/sourcebuild.texi: Delete libbanshee reference.
+ 
+ 2004-09-10  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
+ 
+ 2004-09-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
+ 	before calling vector_types_convertible_p.
+ 	(digest_init): Check that inside_init has VECTOR_TYPE before calling
+ 	vector_types_convertible_p.  Don't give another error if
+ 	convert_for_assignment returns error_mark_node.
+ 
+ 2004-09-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/17055
+ 	* fold-const.c (build_zero_vector): New function to construct a
+ 	vector (either floating point or integer) of zeros.
+ 	(fold_convert): Internally, enable conversions of integer zero
+ 	to arbitrary vector types, using the new build_zero_vector.
+ 
+ 2004-09-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
+ 	expand a left shift by an immediate constant as either an ashl or
+ 	a sequence of additions.
+ 	(ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
+ 	instead of calling gen_ashlsi3 with a constant directly.
+ 
+ 2004-09-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (ix86_split_long_move): When optimizing for
+ 	size, and the low and high parts of a DImode constant are equal,
+ 	copy one register to another instead of loading the same immediate
+ 	value twice.
+ 
+ 2004-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17367
+ 	* function.c (assign_parm_setup_block): Only put PARALLELs into
+ 	a register if use_register_for_decl.
+ 
+ 2004-09-09  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* ra-colorize.c (reset_lists): Move variable declaration inside
+ 	ENABLE_CHECKING to avoid unused variable warnings when
+ 	not --enable-checking.
+ 	(check_colors): Ditto.
+ 
+ 2004-09-09  Mike Stump  <mrs@apple.com>
+ 
+ 	* version.c (version_string): Bump to 4.0.0.
+ 	* doc/include/gcc-common.texi (version-GCC): Likewise.
+ 
+ 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* doc/extend.texi (nothrow attribute): The attribute is not
+ 	implemented in 3.2 and earlier.
+ 
+ 2004-09-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* genrecog.c (compute_predicate_codes): Use op0_codes
+ 	instead of codes.
+ 
+ 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
+ 	implementation changes.
+ 
+ 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (try_combine): When swapping i2 and i3, newi2pat may be
+ 	a PARALLEL instead of a SET due to added clobbers.
+ 
+ 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads_address): Pass correct operand to
+ 	maybe_memory_address_p.
+ 
+ 2004-09-09  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in: Remove libbanshee, tree-alias-*.
+ 	Remove tree-alias-common.h dependencies.
+ 	* common.opt: Remove -ftree-points-to.
+ 	* configure.ac: Remove libbanshee.
+ 	* flags.h: Remove pta_type, flag_tree_points_to.
+ 	* gengtype.c (open_base_files): Remove tree-alias-type.h.
+ 	* opts.c (OPT_ftree_points_to): Remove.
+ 	* toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
+ 	* tree-dfa.c: Remove tree-alias-common.h
+ 	* tree-into-ssa.c: Ditto.
+ 	* tree-outof-ssa.c: Ditto.
+ 	* tree-ssa-copyrename.c: Ditto.
+ 	* tree-ssa-live.c: Ditto.
+ 	* tree-optimize.c: Ditto.
+ 	* tree-ssa.c: Ditto.
+ 	Remove pass_build_pta, pass_del_pta.
+ 	* tree-pass.h: Ditto.
+ 	* tree-ssa-alias.c: Remove tree-alias-common.h.
+ 	(struct alias_stats_d):	Remove pta_queries, pta_resolved.
+ 	(pass_may_alias): Remove PROP_pta requirement.
+ 	(may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
+ 	(get_tmt_for): Ditto.
+ 	(dump_alias_stats): Ditto.
+ 	* doc/passes.texi: Remove blurb about points-to analysis.
+ 	* fortran/Make-lang.in: Remove tree-alias-*.o.
+ 
+ 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* genattrtab.c (write_insn_cases): New function, split out from
+ 	write_attr_case.  Correctly handle define_peepholes when printing
+ 	the instruction name.
+ 	(write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
+ 
+ 2004-09-09  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/17377
+ 	* config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
+ 	* config/cris/cris.c (cris_return_address_on_stack): New function.
+ 	* config/cris/cris.md ("return"): For location of return address,
+ 	also check cris_return_address_on_stack.
+ 
+ 2004-09-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
+ 	calling phi_ssa_name_p.
+ 
+ 2004-09-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/17322
+ 	* c-typeck.c (valid_compound_expr_initializer): Use only
+ 	initializer_constant_valid_p, and not TREE_CONSTANT.
+ 	(digest_init): Likewise.
+ 	(output_init_element): Likewise.
+ 
+ 2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
+ 	live_out_1, prune_hardregs_for_mode, init_one_web_common,
+ 	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
+ 	record_conflict, compare_and_free_webs, init_webs_defs_uses,
+ 	parts_to_webs_1, parts_to_webs, reset_conflicts,
+ 	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
+ 	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
+ 	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
+ 	put_move, remove_move, combine, select_spill, colorize_one_web,
+ 	try_recolor_web, insert_coalesced_conflicts, check_colors,
+ 	break_precolored_alias, restore_conflicts_from_coalesce,
+ 	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
+ 	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
+ 	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
+ 	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
+ 	check_df): Likewise.
+ 	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
+ 	real_arithmetic, real_compare, real_exponent, real_ldexp,
+ 	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
+ 	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
+ 	real_digit, real_nan, real_maxval, round_for_format, real_convert,
+ 	real_to_target, real_from_target, real_hash, encode_ieee_single,
+ 	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
+ 	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
+ 	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
+ 	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
+ 	extract_insn, peep2_next_insn, peep2_reg_dead_p,
+ 	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
+ 	if_test_bypass_p): Likewise.
+ 	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
+ 	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
+ 	emit_swap_insn, swap_to_top, move_for_stack_reg,
+ 	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
+ 	compensate_edge, convert_regs_1): Likewise.
+ 	* regclass.c (init_reg_sets, init_reg_sets_1,
+ 	memory_move_secondary_cost): Likewise.
+ 	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
+ 	Likewise.
+ 	* reload.c (push_secondary_reload, find_valid_class, push_reload,
+ 	operands_match_p, decompose, immune_p, find_reloads,
+ 	find_reloads_toplev, find_reloads_address_1, subst_reloads,
+ 	copy_replacements, refers_to_regno_for_reload_p,
+ 	reg_overlap_mentioned_for_reload_p): Likewise.
+ 	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
+ 	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
+ 	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
+ 	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
+ 	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
+ 	do_output_reload, fixup_abnormal_edges): Likewise.
+ 	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
+ 	fill_slots_from_thread, relax_delay_slots): Likewise.
+ 	* resource.c (mark_referenced_resources, mark_set_resources):
+ 	Likewise.
+ 	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
+ 	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
+ 	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
+ 	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
+ 	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
+ 	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
+ 	* rtlhooks.c (gen_lowpart_general): Likewise.
+ 	* sbitmap.c (sbitmap_difference): Likewise.
+ 	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
+ 	sched_analyze, add_forward_dependence): Likewise.
+ 	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
+ 	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
+ 	schedule_insns): Likewise.
+ 	* sched-vis.c (print_pattern): Likewise.
+ 	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
+ 	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
+ 	simplify_const_relational_operation, simplify_ternary_operation,
+ 	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
+ 	Likewise.
+ 	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
+ 	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
+ 	resolve_operand_name_1, expand_return, expand_decl,
+ 	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
+ 	* stor-layout.c (put_pending_size, smallest_mode_for_size,
+ 	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
+ 	set_sizetype, get_mode_bounds): Likewise.
+ 
+ 2004-09-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
+ 	* config/arm/pecoff.h, config/i386/beos-elf.h
+ 	* config/i386/cygming.h, config/i386/i386-interix.h:
+ 	Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
+ 	comment cloned from manual.
+ 	* doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
+ 
+ 2004-09-09  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* builtins.c (build_va_arg_indirect_ref): New function.
+ 	(std_gimplify_va_arg_expr): Call it instead of mudflap check and
+ 	build_fold_indirect_ref.
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
+ 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
+ 	* tree.h: Declare new function.
+ 
+ 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
+ 	dumping for development builds.
+ 	* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
+ 	development builds only.
+ 	* genattrtab.c (write_eligible_delay): Fix typo in previous
+ 	commit.
+ 	* tree.c (iterative_hash_expr): Replace gcc_unreachable with
+ 	gcc_assert.
+ 
+ 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
+ 	cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
+ 	process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
+ 	hoist_code, extract_mentioned_regs_helper, compute_store_table,
+ 	insert_store): Use gcc_assert and gcc_unreachable.
+ 	* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
+ 	gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
+ 	ggc_record_overhead): Likewise.
+ 	* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
+ 	init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
+ 	ggc_pop_context, clear_marks, validate_free_objects,
+ 	ggc_pch_read): Likewise.
+ 	* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
+ 	ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
+ 	ggc_push_context, check_cookies, ggc_collect,
+ 	ggc_print_statistics): Likewise.
+ 	* gimple-low.c (lower_function_body, lower_stmt,
+ 	lower_bind_expr): Likewise.
+ 	* gimplify.c (gimple_tree_eq, push_gimplify_context,
+ 	pop_gimplify_context, gimple_pop_condition, create_tmp_var,
+ 	declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
+ 	mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
+ 	gimplify_case_label_expr, gimplify_exit_block_expr,
+ 	canonicalize_component_ref, gimplify_compound_lval,
+ 	gimplify_self_mod_expr, gimplify_call_expr,
+ 	gimplify_init_ctor_eval, gimplify_init_constructor,
+ 	gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
+ 	gimplify_expr, check_pointer_types_r,
+ 	force_gimple_operand): Likewise.
+ 	* global.c (global_alloc, build_insn_chain): Likewise.
+ 	* graph.c (clean_graph_dump_file,
+ 	finish_graph_dump_file): Likewise.
+ 	gcov-io.c (gcov_open): Use GCOV_CHECK.
+ 
+ 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
+ 
+ 2004-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	middle-end/17128
+ 	* tree-inline.c (expand_call_inline): Make overactive sanity check
+ 	happy.
+ 
+ 2004-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (peel_address): Fix abort on
+ 	VIEW_CONVERT_EXPR.
+ 
+ 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (gengtype): Use $(BUILD_ERRORS).
+ 	(gengtype.o): Depend on errors.h.
+ 	* genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
+ 	(attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
+ 	attr_alt_subset_p, attr_alt_subset_of_compl_p,
+ 	attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
+ 	write_test_expr, write_attr_value, write_eligible_delay,
+ 	make_internal_attr, make_numeric_value): Likewise.
+ 	* genautomata.c (regexp_name, get_str_vect,
+ 	gen_presence_absence_set, automaton_decl_hash,
+ 	automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
+ 	decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
+ 	process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
+ 	test_unit_reserv, it_is_empty_reserv_sets,
+ 	reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
+ 	reserv_sets_and, output_cycle_reservs, get_free_state,
+ 	intersected_state_reservs_p, states_union, remove_arc,
+ 	copy_insn_regexp, transform_1, transform_2, transform_3,
+ 	regexp_transform_func, store_alt_unit_usage,
+ 	check_regexp_units_distribution, process_seq_for_forming_states,
+ 	process_alts_for_forming_states, make_automaton,
+ 	form_arcs_marked_by_insn, create_composed_state,
+ 	set_out_arc_insns_equiv_num, partition_equiv_class,
+ 	process_insn_equiv_class, set_insn_equiv_classes,
+ 	units_to_automata_heuristic_distr, form_regexp,
+ 	longest_path_length, output_dfa_max_issue_rate, add_vect,
+ 	out_state_arcs_num, add_vect_el, output_trans_table,
+ 	output_state_alts_table, output_dead_lock_vect,
+ 	output_max_insn_queue_index_def,
+ 	output_min_insn_conflict_delay_func,
+ 	output_internal_insn_latency_func, output_print_reservation_func,
+ 	output_cpu_unit_reservation_p, output_state_arcs,
+ 	make_insn_alts_attr, make_internal_dfa_insn_code_attr,
+ 	make_default_insn_latency_attr,
+ 	form_important_insn_automata_lists): Likewise.
+ 	* genemit.c (gen_exp, output_add_clobbers,
+ 	output_added_clobbers_hard_reg_p): Likewise.
+ 	* genextract.c (print_path, main): Likewise.
+ 	* genflags.c (gen_macro): Likewise.
+ 	* gengenrtl.c: Include errors.h
+ 	(type_from_format, accessor_from_format): Likewise.
+ 	* gengtype.c (get_file_basename, output_mangled_typename,
+ 	walk_type, write_types_process_field,
+ 	write_types_local_process_field): Likewise.
+ 	* genmodes.c (complete_mode): Likewise.
+ 	* genopinit.c (gen_insn): Likewise.
+ 	* genoutput.c (output_insn_data, check_constraint_len,
+ 	constraint_len): Likewise.
+ 	* genpreds.c (add_mode_tests):Likewise.
+ 	* gen-protos.c (add_hash): Likewise.
+ 	* genrecog.c (find_operand, find_matching_operand,
+ 	validate_pattern, add_to_sequence, maybe_both_true,
+ 	nodes_identical_1, merge_trees, write_switch, write_cond,
+ 	write_action, is_unconditional, make_insn_sequence,
+ 	debug_decision_2): Likewise.
+ 	* gensupport.c (is_predicable, collect_insn_data,
+ 	alter_predicate_for_insn, maybe_eval_c_test): Likewise.
+ 
+ 2004-09-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (guess_outgoing_edge_probabilities): Declare.
+ 	* cfgbuild.c (compute_outgoing_frequencies): When probability is
+ 	missing, guess it.
+ 	(find_many_sub_basic_blocks): Do update profile only when it is
+ 	present.
+ 	* predict.c (set_even_probabilities): Break out from ...
+ 	(combine_predictions_for_insn): ... here; deal with
+ 	!can_predict_insn_p insns.
+ 	(combine_predictions_for_bb): Use set_even_probabilities.
+ 	(bb_estimate_probability_locally): Break out from ....
+ 	(estimate_probability): ... here.
+ 	(guess_outgoing_edge_probabilities): New entry point.
+ 
+ 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
+ 	handle_braces, process_brace_body, main, used_arg,
+ 	set_multilib_dir, print_multilib_info): Use fatal, not abort.
+ 
+ 	* tree-nested.c (create_tmp_var_for): Correct missinverted assert.
+ 
+ 	* tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
+ 	* tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
+ 	Morgan's theorem in last checkin.
+ 
+ 2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 	    Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
+ 	Use gcc_assert, gcc_unreachable & internal_error instead of abort.
+ 	* timevar.c (timevar_push, timevar_pop, timevar_start,
+ 	timevar_stop): Likewise.
+ 	* toplev.c (default_pch_valid_p): Likewise.
+ 	* tracer.c (tail_duplicate): Likewise.
+ 	* tree-alias-common.c (get_alias_var_decl,
+ 	get_values_from_constructor, create_alias_var, delete_alias_vars,
+ 	empty_points_to_set, same_points_to_set, ptr_may_alias_var):
+ 	Likewise.
+ 	* tree.c (tree_size, make_node_stat, copy_node_stat,
+ 	build_int_cst_wide, integer_all_onesp, list_length, chainon,
+ 	tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
+ 	substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
+ 	build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
+ 	lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
+ 	build_method_type_directly, decl_type_context, get_callee_fndecl,
+ 	get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
+ 	tree_fold_gcd): Likewise.
+ 	* tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
+ 	make_cond_expr_edges, group_case_labels, tree_merge_blocks,
+ 	cleanup_control_expr_graph, find_taken_edge,
+ 	find_taken_edge_switch_expr, phi_alternatives_equal,
+ 	is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
+ 	stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
+ 	tree_split_edge, tree_verify_flow_info, thread_jumps,
+ 	tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
+ 	* tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
+ 	chrec_fold_multiply_poly_poly): Likewise.
+ 	* tree-complex.c (extract_component, expand_complex_division,
+ 	expand_complex_comparison, expand_complex_operations_1,
+ 	build_replicated_const, expand_vector_operations_1): Likewise.
+ 	* tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
+ 	build_classic_dir_vector): Likewise.
+ 	* tree-dfa.c (compute_immediate_uses_for_phi,
+ 	compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
+ 	create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
+ 	* tree-dump.c (dequeue_and_dump): Likewise.
+ 	* tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
+ 	record_in_finally_tree, replace_goto_queue_1,
+ 	maybe_record_in_goto_queue, verify_norecord_switch_expr,
+ 	do_return_redirection): Likewise.
+ 	* tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
+ 	add_to_dst_predicate_list, find_phi_replacement_condition,
+ 	replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
+ 	Likewise.
+ 	* tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
+ 	initialize_inlined_parameters, declare_return_variable,
+ 	estimate_num_insns_1, expand_call_inline, expand_calls_inline,
+ 	optimize_inline_calls, copy_tree_r): Likewise.
+ 	* tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
+ 	ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
+ 	* tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
+ 	tsi_split_statement_list_after, tsi_split_statement_list_before):
+ 	Likewise.
+ 	* tree-mudflap.c (mf_varname_tree): Likewise.
+ 	* tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
+ 	lookup_tramp_for_decl, convert_all_function_calls): Likewise.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 	* tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
+ 	coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
+ 	free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
+ 	Likewise.
+ 	* tree-phinodes.c (resize_phi_node, add_phi_arg,
+ 	remove_all_phi_nodes_for): Likewise.
+ 	* tree-pretty-print.c (op_prio, print_call_name): Likewise.
+ 	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
+ 	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
+ 	* tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
+ 	sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
+ 	generate_one_element_ref, generate_element_copy,
+ 	generate_element_zero, scalarize_copy, scalarize_init,
+ 	scalarize_ldst): Likewise.
+ 	* tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
+ 	add_may_alias, add_pointed_to_expr, add_pointed_to_var,
+ 	collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
+ 	* tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
+ 	* tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
+ 	set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
+ 	widen_bitfield, ccp_fold_builtin): Likewise.
+ 	* tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
+ 	replace_exp_1, propagate_tree_value): Likewise.
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+ 	* tree-ssa-dce.c (set_control_dependence_map_bit,
+ 	find_control_dependence, find_pdom, mark_operand_necessary,
+ 	mark_stmt_if_obviously_necessary,
+ 	mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
+ 	* tree-ssa-dom.c (dom_opt_initialize_block_local_data,
+ 	simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
+ 	eliminate_redundant_computations, avail_expr_eq): Likewise.
+ 	* tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
+ 	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
+ 	duplicate_blocks): Likewise.
+ 	* tree-ssa-loop-im.c (for_each_index, set_level,
+ 	is_call_clobbered_ref): Likewise.
+ 	* tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
+ 	stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
+ 	find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
+ 	peel_address, ptr_difference_cost, may_replace_final_value,
+ 	determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
+ 	rewrite_use, rewrite_uses): Likewise.
+ 	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+ 	check_loop_closed_ssa_use): Likewise.
+ 	* tree-ssanames.c (make_ssa_name): Likewise.
+ 	* tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
+ 	finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
+ 	get_stmt_operands, get_expr_operands, get_asm_expr_operands,
+ 	get_indirect_ref_operands, add_stmt_operand): Likewise.
+ 	* tree-ssa-pre.c (value_exists_in_set_bitmap,
+ 	value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
+ 	phi_translate, valid_in_set, compute_antic,
+ 	find_or_generate_expression, create_expression_by_pieces, insert_aux,
+ 	create_value_expr_from, eliminate): Likewise.
+ 	* tree-ssa-propagate.c (cfg_blocks_get): Likewise.
+ 	* tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
+ 	Likewise.
+ 	* tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
+ 	eliminate_tail_call): Likewise.
+ 	* tree-vectorizer.c (vect_create_index_for_array_ref,
+ 	vect_align_data_ref, vect_create_data_ref,
+ 	vect_create_destination_var, vect_get_vec_def_for_operand,
+ 	vect_finish_stmt_generation, vect_transform_stmt,
+ 	vect_transform_loop_bound, vect_transform_loop,
+ 	vect_analyze_operations): Likewise.
+ 	* tree-vn.c (vn_compute, set_value_handle, get_value_handle):
+ 	Likewise.
+ 	* tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
+ 	get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
+ 	bsi_after_labels, bsi_last): Likewise.
+ 	* tree-ssa-live.c (var_union, change_partition_var,
+ 	create_ssa_var_map, calculate_live_on_entry, root_var_init,
+ 	type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
+ 	Likewise.
+ 	* tree-ssa-live.h (partition_is_global, live_entry_blocks,
+ 	tpa_find_tree): Likewise.
+ 	(register_ssa_partition_check): Declare.
+ 	(register_ssa_partition): use it.
+ 	* tree-ssa-live.c: Include errors.h.
+ 	(register_ssa_partition_check): New.
+ 	* tree-ssa-operands.c: Include errors.h.
+ 	* Makefile.in (tree-ssa-operands.o): Depend on errors.h.
+ 
+ 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
+ 	    Catherine Moore  <clm@redhat.com>
+ 
+ 	* config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
+ 	(FRV_CPU_FR405): New processor enums.
+ 	(frv_issue_rate, frv_acc_group): Declare.
+ 	* config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
+ 	(CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
+ 	(MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
+ 	(SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
+ 	(TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
+ 	handled by CPP_SPEC.
+ 	(MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
+ 	(MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
+ 	(ACC_MASK): New macro.
+ 	(TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
+ 	(TARGET_MEDIA_FR450): New macro.
+ 	(TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
+ 	(TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
+ 	(LABEL_ALIGN_AFTER_BARRIER): Define.
+ 	(ACC_LAST, ACCG_LAST): Add four new accumulator registers.
+ 	(IACC_FIRST, IACC_LAST): New pair of SPRs.
+ 	(ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
+ 	(REGISTER_NAMES): Add entries for new registers.
+ 	(REG_CLASS_CONTENTS): Update for new register ranges.
+ 	(EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
+ 	(ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
+ 	(PACKING_FLAG_USED_P): Delete.
+ 	(FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
+ 	(FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
+ 	(FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
+ 	(FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
+ 	(FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
+ 	(FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
+ 	(FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
+ 	(FRV_BUILTIN_FIRST_NONMEDIA): New macro.
+ 	(CPU_UNITS_QUERY): Define to 1.
+ 	* config/frv/frv.c: Include gt-frv.h
+ 	(NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
+ 	(SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
+ 	(frv_insn_group): New enumeration.
+ 	(frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
+ 	(frv_type_to_unit, frv_nops, frv_num_nops): New variables.
+ 	(REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
+ 	(REGSTATE_CONDJUMP): Delete.  Shuffle other numbers to cover the
+ 	gap left by REGSTATE_LIVE.
+ 	(regstate_t): New typedef.
+ 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	(frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
+ 	(frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
+ 	Initialize frv_unit_codes[] and frv_type_to_unit[].
+ 	(frv_conditional_register_usage): Remove redundant fixing of
+ 	accumulator registers.
+ 	(frv_insn_packing_flag): Update specification.
+ 	(frv_function_prologue): Don't set frv_insn_packing_flag here.
+ 	Zero out frv_nops[].
+ 	(frv_expand_epilogue): Remove comments about the no-longer-present
+ 	SIBCALL_P argument.
+ 	(frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
+ 	PACKING_FLAG_USED_P() when deciding whether to pack instructions.
+ 	(frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
+ 	of the new meaning of frv_insn_packing_flag.  Emit an mnop.p if
+ 	packing is disabled and if INSN can only issue to M1.
+ 	(call_operand): Check TARGET_LONG_CALLS.
+ 	(acc_operand, even_acc_operand, quad_acc_operand)
+ 	(accg_operand): Simplify.  Don't accept pseudo registers.
+ 	(output_move_single): Handle SPR<-zero moves.
+ 	(frv_issue_rate): Make non-static.  Handle FRV_CPU_{FR550,FR450,FR405}.
+ 	(frv_registers_update, frv_registers_used_p): Delete.
+ 	(frv_registers_set_p): Delete.
+ 	(frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
+ 	(frv_issues_to_branch_unit_p): New function.
+ 	(frv_packet): New structure.
+ 	(frv_cond_flags, frv_regstate_conflict_p): New functions.
+ 	(frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
+ 	(frv_registers_update_1, frv_registers_update): New functions.
+ 	(frv_start_packet, frv_start_packet_block, frv_finish_packet)
+ 	(frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
+ 	(frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
+ 	(frv_sort_insn_group, frv_reorder_packet): New functions.
+ 	(frv_pack_insns): Use frv_reorder_packet.
+ 	(frv_packet_address): New variable.
+ 	(frv_fill_unused_units, frv_align_label, frv_reorg_packet)
+ 	(frv_register_nop, frv_reorg): New functions.
+ 	(bdesc_1arg): Add __SCUTSS.
+ 	(bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
+ 	__SUBSS, __SLASS and __SCAN.
+ 	(bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
+ 	(bdesc_int_void2arg, bdesc_prefetches): New arrays.
+ 	(frv_init_builtins): Register the above builtins.
+ 	(frv_int_to_acc): Use ACC_MASK to check for valid accumulator
+ 	registers.  Turn the referenced accumulators into global registers.
+ 	(frv_read_iacc_argument): New function.
+ 	(frv_expand_int_void2arg, frv_expand_prefetches): New functions.
+ 	(frv_split_iacc_move): New function.
+ 	(frv_expand_builtin): Handle the new builtins.
+ 	* config/frv/frv.md: Replace old schedulers with new order-independent
+ 	ones.  Add schedulers for the FR405, FR450 and FR550.  Describe new
+ 	packing algorithm.
+ 	(cpu): Add fr550, fr450 and fr405.
+ 	(type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
+ 	mqshift.  Replace fmas with fsmadd and fmad with fdmadd.  Delete m7.
+ 	(*muladd[sd]f4, *mulsub[sd]f4): Fix types.
+ 	(*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
+ 	(fnop, mnop): New patterns.
+ 	(UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
+ 	New constants.
+ 	(mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
+ 	(mclracca8): Use ACC_MASK to determine the upper set of accumulator
+ 	registers.
+ 	(mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
+ 	(UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
+ 	(UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
+ 	(UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
+ 	(UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
+ 	(UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
+ 	(smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
+ 	(frv_prefetch0, frv_prefetch): New patterns.
+ 	* config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
+ 	-mcpu=simple.  Add -mcpu=fr550.
+ 	(MULTILIB_DIRNAMES): Update accordingly.
+ 	(MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
+ 	-mcpu=fr450.
+ 	* doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
+ 	-mlong-calls and -malign-labels options for FR-V.
+ 
+ 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/8420
+ 	* c-tree.h (struct c_declspecs): New.
+ 	(struct c_declarator, struct c_type_name, struct c_parm): Update
+ 	element types.
+ 	(build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
+ 	start_function, start_decl, build_c_parm,
+ 	make_pointer_declarator): Update prototypes.
+ 	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
+ 	declspecs_add_scspec, declspecs_add_attrs): New.
+ 	(split_specs_attrs): Remove.
+ 	* c-parse.in (%union): Add dsptype.
+ 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
+ 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
+ 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
+ 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
+ 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
+ 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
+ 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
+ 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
+ 	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
+ 	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
+ 	maybe_type_quals_attrs): Change to dsptype.
+ 	(struct c_declspec_stack): New.
+ 	(current_declspecs, declspec_stack): Change type.
+ 	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
+ 	structures.
+ 	(extdefs): Likewise.
+ 	(setspecs): Likewise.
+ 	(fndef): Use current_declspecs for empty declspecs list.
+ 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
+ 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
+ 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
+ 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
+ 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
+ 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
+ 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
+ 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
+ 	structures and helper functions.  Update comments.
+ 	(typespec_nonattr): Correct comment.
+ 	(maybe_type_quals_attrs, typename): Update to new structures.
+ 	* c-decl.c (grokdeclarator, build_array_declarator, grokfield,
+ 	shadow_tag, shadow_tag_warned, start_function, start_decl,
+ 	build_c_parm, make_pointer_declarator,
+ 	set_array_declarator_inner, groktypename): Update to new
+ 	structures.
+ 	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
+ 	declspecs_add_scspec, declspecs_add_attrs): New.
+ 	(split_specs_attrs): Remove.
+ 	(shadow_tag_warned): Make warning for useless type names a
+ 	pedwarn.  Give hard error for long, short, signed, unsigned or
+ 	_Complex used with struct, union or enum in empty declaration.
+ 	Make found_tag a bool.
+ 	(grokdeclarator): Remove checks now done at parse time.
+ 
+ 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
+ 	c_declarator, struct c_type_name, struct c_parm): New.
+ 	(build_array_declarator, set_array_declarator_inner,
+ 	get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
+ 	start_function, start_decl, build_c_parm, build_attrs_declarator,
+ 	build_function_declarator, make_pointer_declarator, c_cast_expr,
+ 	store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
+ 	(build_id_declarator): New.
+ 	* c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
+ 	structures.
+ 	* c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
+ 	ARG_INFO_OTHERS): Remove.
+ 	(build_id_declarator): New.
+ 	(build_array_declarator, set_array_declarator_inner, groktypename,
+ 	start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
+ 	grokfield, start_function, store_parm_decls_newstyle,
+ 	store_parm_decls_oldstyle, store_parm_decls,
+ 	build_c_parm, build_attrs_declarator, build_function_declarator,
+ 	make_pointer_declarator, grokdeclarator): Update to new
+ 	structures.
+ 	* c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
+ 	parmtype.
+ 	(declarator, notype_declarator, after_type_declarator,
+ 	parm_declarator, parm_declarator_starttypename,
+ 	parm_declarator_nostarttypename, array_declarator, typename,
+ 	absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
+ 	absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
+ 	parmlist_1, parmlist_2, parmlist_or_identifiers,
+ 	parmlist_or_identifiers_1): Use these types.
+ 	(primary, after_type_declarator, parm_declarator_starttypename,
+ 	notype_declarator, component_decl, component_declarator,
+ 	component_notype_declarator, typename, absdcl,
+ 	absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
+ 	parmlist_2, parmlist_or_identifiers_1): Update to new structures.
+ 
+ 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
+ 	in_typeof, record_maybe_used_decl, pop_maybe_used,
+ 	c_expr_sizeof_expr, c_expr_sizeof_type): New.
+ 	* c-decl.c (parser_obstack): New.
+ 	(c_init_decl_processing): Initialize parser_obstack.
+ 	(c_write_global_declarations_1): Check for used but undefined
+ 	static functions.
+ 	* c-parse.in (%union): Add otype.
+ 	(save_obstack_position): New.
+ 	(extdefs): Use it.
+ 	(unary_expr): Update in_sizeof and in_alignof.  Use
+ 	c_expr_sizeof_expr and c_expr_sizeof_type.
+ 	(sizeof): Update in_sizeof.
+ 	(alignof): Update in_alignof.
+ 	(typeof): Update in_typeof.
+ 	(typespec_nonreserved_nonattr): Call pop_maybe_used.
+ 	* c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
+ 	maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
+ 	pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
+ 	(build_external_ref): Set C_DECL_USED or call
+ 	record_maybe_used_decl if appropriate.
+ 	* toplev.c (check_global_declarations): Check TREE_NO_WARNING.
+ 
+ 2004-09-08  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c: Fix prototype for fold_builtin_atan.
+ 
+ 2004-09-08  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
+ 	fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
+ 	fold_builtin_atan): New functions. Migrate function bodies...
+ 	(fold_builtin_1): ... from here.
+ 
+ 2004-09-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
+ 	save_size.
+ 
+ 2004-09-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
+ 	* config/rs6000/power5.md (power5-lmul): Same.
+ 
+ 2004-09-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/17186
+ 	* function.c (expand_function_end): Have fall-off-the-end
+ 	return path jump around return register setup.
+ 
+ 2004-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (sparc_indent_opcode): New variable.
+ 	(output_return): Do not test for the presence of the 'unimp' insn.
+ 	Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
+ 	as predicates instead of custom ones.  Return raw strings when
+ 	possible.
+ 	(output_sibcall): Likewise.  Concatenate strings.
+ 	(output_ubranch): Remove kludge for TurboSPARC.
+ 	(output_cbranch): Remove 'noop' parameter.  Do not output 'nop'.
+ 	(output_v9branch): Likewise.
+ 	(print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
+ 	<#>: Set sparc_indent_opcode if the delay slot is filled.
+ 	<(>: Likewise.
+ 	<)>: New operand to emit the displacement from the saved PC on return.
+ 	<@>: Remove.
+ 	* config/sparc/sparc.h (sparc_indent_opcode): Declare it.
+ 	(ASM_OUTPUT_OPCODE): New macro.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
+ 	* config/sparc/sparc.md (normal_branch, inverted_branch,
+ 	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
+ 	inverted_fpe_branch): Adjust call to output_cbranch.
+ 	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
+ 	call to output_v9branch.
+ 	* config/sparc/sparc-protos.h (output_cbranch): Adjust.
+ 	(output_v9branch): Likewise.
+ 
+ 2004-09-08  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/darwin.h  (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
+ 	-segs_read_only_addr and -segs_read_write_addr.
+ 	(WORD_SWITCH_TAKES_ARG): Same.
+ 	(LINK_SPEC): Same.
+ 	* doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
+ 	-segs_read_write_addr.
+ 
+ 2004-09-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (reference_callee_copied): New.
+ 	(assign_parm_setup_reg): Use it.
+ 	* calls.c (initialize_argument_information): Likewise.
+ 	(emit_library_call_value_1): Likewise.
+ 	* function.h (reference_callee_copied): Declare.
+ 
+ 	* target.h (struct gcc_target): Add callee_copies.
+ 	* target-def.h (TARGET_CALLEE_COPIES): New.
+ 	(TARGET_PASS_BY_REFERENCE): Update default.
+ 	* expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* targhooks.c (hook_callee_copies_named): New.
+ 	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
+ 	hook_pass_by_reference_false.
+ 	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
+ 	* targhooks.h: Update decls.
+ 	* config/arc/arc.c (TARGET_CALLEE_COPIES): New.
+ 	* config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
+ 	* config/frv/frv.c (frv_function_arg_callee_copies): Remove.
+ 	* config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
+ 	* config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
+ 	* config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/mips/mips.c (TARGET_CALLEE_COPIES): New.
+ 	(mips_callee_copies): New.
+ 	* config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
+ 	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
+ 	* config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/pa/pa.c (TARGET_CALLEE_COPIES): New.
+ 	* config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/sh/sh.c (sh_callee_copies): New.
+ 	(TARGET_CALLEE_COPIES): New.
+ 	* config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* config/v850/v850.c (TARGET_CALLEE_COPIES): New.
+ 	* config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
+ 	* doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
+ 	for FUNCTION_ARG_CALLEE_COPIES.
+ 	* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
+ 
+ 2004-09-08  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (find_phi_replacement_condition): Return true
+ 	edge block.
+ 	(replace_phi_with_cond_modify_expr): Select conditional expr args
+ 	based on true edge basic block.
+ 
+ 2004-09-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
+ 	variables being alias set.
+ 
+ 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* final.c (shorten_branches, final, get_insn_template,
+ 	output_alternate_entry_point, final_scan_insn, alter_subreg,
+ 	alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
+ 	leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
+ 	* fix-header.c (lookup_std_proto): Likewise.
+ 	* flow.c (first_insn_after_basic_block_note, verify_wide_reg,
+ 	verify_local_live_at_start, update_life_info, mark_reg,
+ 	calculate_global_regs_live, allocate_reg_life_data,
+ 	init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
+ 	ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
+ 	attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
+ 	* fold-const.c (force_fit_type, div_and_round_double,
+ 	may_negate_without_overflow_p, int_const_binop, const_binop,
+ 	size_binop, size_diffop, fold_convert_const, fold_convert,
+ 	invert_tree_comparison, swap_tree_comparison,
+ 	comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
+ 	range_binop, make_range, fold_cond_expr_with_comparison,
+ 	fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
+ 	fold_abs_const, fold_not_const, fold_relational_const, round_up,
+ 	round_down): Likewise.
+ 	* function.c (find_function_data, assign_stack_temp_for_type,
+ 	instantiate_virtual_regs_lossage, aggregate_value_p,
+ 	assign_parm_find_entry_rtl, assign_parm_setup_block,
+ 	expand_function_start, expand_function_end, keep_stack_depressed,
+ 	handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
+ 
+ 2004-09-08  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (tree-loop-linear.o): Added.
+ 	(OBJS-common): Add tree-loop-linear.o
+ 	* common.opt: New flag, ftree-loop-linear.
+ 	* timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
+ 	* tree-flow.h: Add prototype for linear_transform_loops.
+ 	* tree-optimize.c: Add linear transform after vectorization.
+ 	* tree-pass.h: Add struct pass_linear_transform.
+ 	* tree-ssa-loop.c: Add pass_linear_transform.
+ 	* tree-loop-linear.c: New file.
+ 	* lambda-code.c: gcc_assertify.
+ 	(gcc_loop_to_lambda_loop): Handle all exit tests.
+ 	Handle case where we have (invariant >= induction var).
+ 	(find_induction_var_from_exit_cond): Ditto.
+ 
+ 2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
+ 
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
+ 	memory tag is call clobbered, so are its aliases.
+ 	(group_aliases): When two memory tags being grouped, if one is
+ 	call clobbered, so are the other and its aliases.
+ 	(add_may_alias): Remove call-clobbering stuff.
+ 	(replace_may_alias): Likewise.
+ 	(merge_pointed_to_info): Merge pt_global_mem
+ 
+ 2004-09-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
+ 	* cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
+ 	(cgraph_expand_function): Remove stale cgraph edges of currently
+ 	compiled function; fix non-unit-at-a-time code copying function
+ 	node for later reuse.
+ 
+ 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
+ 	(vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
+ 	(vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
+ 	(vec_gc_free, vec_heap_free): New.
+ 	* vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
+ 	(DEF_VEC_P): Add allocator argument. Adjust.
+ 	(DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
+ 	(DEF_VEC_O): Add allocator argument. Adjust.
+ 	(VEC(free)): New.
+ 
+ 	* tree.h (tree): Define a GC'd vector.
+ 	* lamba-code.c (lambda_loop): Likewise.
+ 	* value-prof.h (histogram_value): Likewise.
+ 
+ 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
+ 	(gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
+ 	gen_lowpart_common, gen_highpart, gen_highpart_mode,
+ 	subreg_highpart_offset, operand_subword, operand_subword_force,
+ 	mem_expr_equal_p, set_mem_attributes_minus_bitpos,
+ 	set_mem_alias_set, change_address_1, verify_rtx_sharing,
+ 	copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
+ 	try_split, add_insn_after, add_insn_before, remove_insn,
+ 	remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
+ 	emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
+ 	emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
+ 	set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
+ 	gen_const_vector_0, emit_copy_of_insn_after): Likewise.
+ 	* et-forest.c (set_prev, set_next, et_check_occ_sanity,
+ 	record_path_before_1, check_path_after_1, check_path_after): Likewise.
+ 	* except.c (gen_eh_region, resolve_one_fixup_region,
+ 	remove_unreachable_regions, convert_from_eh_region_ranges_1,
+ 	add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
+ 	connect_post_landing_pads, sjlj_emit_function_exit,
+ 	remove_exception_handler_label, remove_eh_handler,
+ 	reachable_next_level, collect_one_action_chain,
+ 	output_function_exception_table): Likewise.
+ 	* explow.c (trunc_int_for_mode, copy_to_mode_reg,
+ 	optimize_save_area_alloca, allocate_dynamic_stack_space,
+ 	probe_stack_range, hard_function_value): Likewise.
+ 	* expmed.c (mode_for_extraction, store_bit_field,
+ 	store_fixed_bit_field, extract_bit_field, expand_shift,
+ 	expand_mult_const, expand_mult, choose_multiplier,
+ 	expand_mult_highpart, expand_divmod, emit_store_flag,
+ 	do_cmp_and_jump): Likewise.
+ 	* expr.c (convert_move, convert_modes, move_by_pieces,
+ 	move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
+ 	move_block_from_reg, gen_group_rtx, emit_group_load,
+ 	emit_group_move, emit_group_store, use_reg, use_regs,
+ 	can_store_by_pieces, store_by_pieces, store_by_pieces_1,
+ 	emit_move_insn, emit_move_insn_1, emit_push_insn,
+ 	expand_assignment, store_expr, count_type_elements,
+ 	store_constructor, store_field, safe_from_p, expand_var,
+ 	expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
+ 
+ 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
+ 	gcc_assert and gcc_unreachable.
+ 	* ddg.c (create_ddg_dependence, add_deps_for_def,
+ 	add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
+ 	* df.c (df_ref_unlink, df_ref_record, df_uses_record,
+ 	df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
+ 	df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
+ 	df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
+ 	df_bb_reg_live_end_p, df_bb_regs_lives_compare,
+ 	df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
+ 	dataflow_set_copy, hybrid_search, diagnostic.c,
+ 	diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
+ 	compute_dom_fast_query, calculate_dominance_info,
+ 	free_dominance_info, get_immediate_dominator,
+ 	set_immediate_dominator, get_dominated_by,
+ 	redirect_immediate_dominators, nearest_common_dominator,
+ 	dominated_by_p, verify_dominators, recount_dominator,
+ 	iterate_fix_dominators, add_to_dominance_info,
+ 	delete_from_dominance_info): Likewise.
+ 	* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
+ 	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
+ 	dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
+ 	initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
+ 	flush_queued_reg_saves, dwarf2out_frame_debug_expr,
+ 	dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
+ 	output_call_frame_info, output_loc_operands, build_cfa_loc,
+ 	decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
+ 	AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
+ 	AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
+ 	splice_child_die, attr_checksum, same_dw_val_p,
+ 	break_out_includes, build_abbrev_table, size_of_die, mark_dies,
+ 	unmark_dies, value_format, output_loc_list, output_die,
+ 	output_pubnames, output_aranges, base_type_die, is_base_type,
+ 	modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
+ 	mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
+ 	field_byte_offset, add_data_member_location_attribute,
+ 	add_const_value_attribute, rtl_for_decl_location,
+ 	add_location_or_const_value_attribute, add_byte_size_attribute,
+ 	add_bit_offset_attribute, add_bit_size_attribute,
+ 	add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
+ 	decl_start_label, gen_formal_parameter_die,
+ 	gen_type_die_for_member, gen_subprogram_die, gen_label_die,
+ 	gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
+ 	force_decl_die, force_type_die, gen_decl_die,
+ 	dwarf2out_imported_module_or_decl, prune_unused_types_prune,
+ 	dwarf2out_finish): Likewise.
+ 
+ 2004-09-08  Andreas Tobler  <toa@pop.agri.ch>
+ 
+ 	* Makefile.in (builtins.o): Depend on tree-mudflap.h.
+ 	* builtins.c: Include tree-mudflap.h.
+ 
+ 2004-09-08  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
+ 	force operand 0.0 into register in XFmode. Also do not force
+ 	operand 0.0 into register if !TARGET_CMOVE.
+ 	* config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
+ 	(*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
+ 	implement ftst x87 instruction.
+ 	(*fp_jcc_7): New insn pattern. Change corresponding split
+ 	pattern to handle "general_operand" instead of
+ 	"nonimmediate_operand".
+ 
+ 2004-09-08  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
+ 
+ 2004-09-07  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
+ 	generated from standard va_arg expansion.
+ 	* tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
+ 	marked nodes.
+ 	(mf_varname_tree, mf_file_function_line_tree): Add some support
+ 	for column numbers if compiled with USE_MAPPED_LOCATION.
+ 
+ 2004-09-07  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-decl.c (groktypename_in_parm_context): Remove function.
+ 	* c-tree.h (groktypename_in_parm_context): Remove prototype.
+ 
+ 2004-09-07  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
+ 	* c-parse.in: Include c-common.h instead of objc-act.h.
+ 	(ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
+ 	myparms, myparm): Remove %type declarations.
+ 	(methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
+ 	objc_typename, objc_try_catch_stmt, optellipsis): Add %type
+ 	declarations.
+ 	(objc_inherit_code, objc_public_flag): Remove.
+ 	(typespec_nonreserved_nonattr): Call
+ 	objc_get_protocol_qualified_type() instead of get_static_reference()
+ 	and get_protocol_reference().
+ 	(stmt_nocomp): Call grokparm() on @catch parameter.
+ 	(objcdef): Move semantic action to objc_finish_implementation().
+ 	(classdef): Move semantic action to objc_start_class_interface(),
+ 	objc_continue_interface(), objc_finish_interface(),
+ 	objc_start_class_implementation(), objc_continue_implementation(),
+ 	objc_start_category_interface() and
+ 	objc_start_category_implementation().
+ 	(protocoldef): Move semantic actions to objc_start_protocol() and
+ 	objc_finish_interface().
+ 	(ivar_decl_list): Remove nonterminal.
+ 	(visibility_spec): Move semantic actions to objc_set_visibility().
+ 	(ivar_decls): Remove assignment to $$.
+ 	(ivar_decl): Rephrase in terms of component_decl; call
+ 	objc_add_instance_variable().
+ 	(ivars, ivar_declarator): Remove nonterminals.
+ 	(opt_semi): New nonterminal.
+ 	(methodtype): Remove semantic actions.
+ 	(methoddef): Move semantic actions to objc_set_method_type(),
+ 	objc_start_method_definition() and objc_finish_method_definition().
+ 	(methodproto): Move semantic actions to objc_set_method_type() and
+ 	objc_add_method_declaration().
+ 	(methoddecl): Use objc_typename instead of typename; move semantic
+ 	actions to objc_build_method_signature().
+ 	(optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
+ 	(optparmlist): Express in terms of optparms and optellipsis.
+ 	(optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
+ 	nonterminals.
+ 	(keyworddecl): Use objc_typename instead of typename.
+ 	(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
+ 	and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
+ 
+ 2004-09-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doc/tm.texi (MD_UNWIND_SUPPORT): Document.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Update.
+ 	* unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
+ 	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
+ 	(MD_FROB_UPDATE_CONTEXT): Remove default.
+ 	(uw_update_context_1): Instead #ifdef invocation.
+ 	* config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
+ 	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
+ 	* config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
+ 	(MD_UNWIND_SUPPORT): Undefine this instead.
+ 	* config/i386/gnu.h: Likewise.
+ 	* config/alpha/linux-unwind.h: New file, macro converted to
+ 	function, extracted from..
+ 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
+ 	(MD_UNWIND_SUPPORT): Define.
+ 	* config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
+ 	* config/i386/linux-unwind.h, config/i386/linux.h,
+ 	config/i386/linux64.h: Likewise.
+ 	* config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
+ 	MD_HANDLE_UNWABI too.
+ 	* config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
+ 	* config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
+ 	* config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
+ 	* config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
+ 	* config/sparc/linux-unwind.h, config/sparc/linux.h,
+ 	config/sparc/linux64.h: Likewise.
+ 	* config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
+ 	SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
+ 	* config/rs6000/linux-unwind.h, config/rs6000/linux.h,
+ 	config/rs6000/linux64.h: Likewise.  Split out get_sigcontext
+ 	function.  Use ARG_POINTER_REGNUM for 32-bit temp reg too.
+ 
+ 2004-09-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cse.c (fold_rtx):  Avoid building of
+ 	(CONST (MINUS (CONST_INT) (SYMBOL_REF)))
+ 
+ 	* tree-ssa-pre.c (grand_bitmap_obstack): New.
+ 	(value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
+ 	(init_pre): Initialize obstack.
+ 	(fini_pre): Free obstack.
+ 
+ 2004-09-07  David Daney  <ddaney@avtrex.com>
+ 
+ 	* config.gcc: Added support for --with-divide=[breaks|traps] for
+ 	mips targets.
+ 	* config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
+ 	(TARGET_DIVIDE_TRAPS): New macro.
+ 	(TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
+ 	(OPTION_DEFAULT_SPECS): Added --with-divide= support.
+ 	* config/mips/mips.c (mips_idiv_insns): Generate proper count on
+ 	GENERATE_DIVIDE_TRAPS.
+ 	(mips_output_division): Emit conditional trap if
+ 	GENERATE_DIVIDE_TRAPS is set.
+ 	* doc/install.texi: Document --with-divide.
+ 	* doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
+ 
+ 2004-09-07  Caroline Tice  <ctice@apple.com>
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info_1):  Add new edge flag,
+ 	EDGE_CROSSING, to flags test case.
+ 
+ 2004-09-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
+ 	class too.
+ 
+ 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
+ 	cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
+ 	make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
+ 	or gcc_unreachable.
+ 	* cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
+ 	remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
+ 	alloc_aux_for_edges, free_aux_for_edges): Likewise.
+ 	* cfgcleanup.c (try_forward_edges,
+ 	merge_blocks_move_predecessor_nojumps,
+ 	merge_blocks_move_successor_nojumps): Likewise.
+ 	* cfgexpand.c (expand_gimple_cond_expr,
+ 	expand_gimple_tailcall): Likewise.
+ 	* cfghooks.c (duplicate_block): Likewise.
+ 	* cfglayout.c (record_effective_endpoints,
+ 	insn_locators_initialize, change_scope, fixup_reorder_chain,
+ 	verify_insn_chain, fixup_fallthru_exit_predecessor,
+ 	duplicate_insn_chain, cfg_layout_finalize): Likewise.
+ 	* cfgloopanal.c (check_irred): Likewise.
+ 	* cfgloop.c (superloop_at_depth, flow_loops_free,
+ 	flow_loop_entry_edges_find, flow_loops_find,
+ 	flow_loop_outside_edge_p, get_loop_body,
+ 	get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
+ 	get_loop_exit_edges, num_loop_branches, cancel_loop,
+ 	verify_loop_structure): Likewise.
+ 	cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
+ 	duplicate_loop_to_header_edge, create_preheader,
+ 	create_loop_notes): Likewise.
+ 	* cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
+ 	edirect_branch_edge, force_nonfallthru_and_redirect,
+ 	rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
+ 	commit_edge_insertions, commit_edge_insertions_watch_calls,
+ 	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
+ 	cfg_layout_redirect_edge_and_branch_force,
+ 	cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
+ 	* cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
+ 	cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
+ 	cgraph_varpool_node): Likewise.
+ 	* cgraphunit.c (cgraph_finalize_function,
+ 	cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
+ 	cgraph_expand_function, cgraph_remove_unreachable_nodes,
+ 	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
+ 	cgraph_mark_inline, cgraph_expand_all_functions,
+ 	cgraph_build_static_cdtor): Likewise.
+ 	* combine.c  (do_SUBST, try_combine, subst, combine_simplify_rtx,
+ 	simplify_logical, distribute_notes, insn_cuid): Likewise.
+ 	* conflict.c (conflict_graph_add, print_conflict): Likewise.
+ 	* coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
+ 	coverage_checksum_string): Likewise.
+ 	* cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
+ 	hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
+ 	cse_cc_succs, cse_condition_code_reg): Likewise.
+ 	* cselib.c (entry_and_rtx_equal_p, remove_useless_values,
+ 	rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
+ 	new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
+ 	cselib_record_set): Likewise.
+ 
+ 2004-09-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
+ 
+ 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (fold_builtin_strchr): Use build_int_cst, not
+ 	fold_convert.
+ 	(fold_builtin_strpbrk): Likewise.
+ 	* expr.c (array_ref_low_bound): Likewise.
+ 	* tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
+ 	interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
+ 	* tree-sra.c (generate_element_zero): Likewise.
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+ 	* tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
+ 	add_old_iv_candidates, add_iv_candidates): Likewise.
+ 	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
+ 
+ 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
+ 	* c-common.c (c_type_hash, c_common_nodes_and_builtins,
+ 	c_expand_expr, boolean_increment, nonnull_check_p,
+ 	check_function_arguments_recurse, fold_offsetof_1): Likewise.
+ 	* c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
+ 	builtin_define_type_max): Likewise.
+ 	* c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
+ 	implicit_decl_warning, builtin_function, build_compound_literal,
+ 	complete_array_type, grokdeclarator, get_parm_info,
+ 	start_function, store_parm_decls_oldstyle,
+ 	c_write_global_declarations): Likewise.
+ 	* c-format.c (get_constant, decode_format_attr,
+ 	maybe_read_dollar_number, get_flag_spec, check_format_arg,
+ 	check_format_types, format_type_warning,
+ 	find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
+ 	init_dynamic_diag_info, handle_format_attribute): Likewise.
+ 	* c-gimplify.c (push_context, pop_context, finish_bc_block):
+ 	* c-lex.c (c_lex_with_flags, lex_string): Likewise.
+ 	* c-objc-common.c (c_tree_printer): Likewise.
+ 	* c-pch.c (pch_init): Likewise.
+ 	* c-pragma.c (maybe_apply_pragma_weak): Likewise.
+ 	* c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
+ 	* c-typeck.c (c_incomplete_type_error, composite_type,
+ 	common_pointer_type, common_type, same_translation_unit_p,
+ 	tagged_types_tu_compatible_p, finish_init, pop_init_level,
+ 	set_designator, set_nonincremental_init_from_string,
+ 	process_init_element, c_finish_if_stmt): Likewise.
+ 	* caller-save.c (init_caller_save, save_call_clobbered_regs,
+ 	insert_restore, insert_save, insert_one_insn): Likewise.
+ 	* calls.c (emit_call_1, compute_argument_block_size,
+ 	precompute_arguments, expand_call, emit_library_call_value_1,
+ 	store_one_arg): Likewise.
+ 
+ 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.ac (enable-checking): Add release option. Reorganize
+ 	to avoid repetition.
+ 	* configure: Rebuilt.
+ 	* doc/install.texi (enable-checking): Amend documentation.
+ 
+ 2004-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR bootstrap/17313
+ 	* Makefile.in (specs.ready): Depend on cc1$(exeext).
+ 
+ 2004-09-06  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
+ 	movdf_hardfloat_32bit): Split fG into two alternatives.
+ 	(movv2sf_hardfloat_64bit): Split fYG into two alternatives.
+ 
+ 	* emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
+ 
+ 2004-09-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* final.c (output_in_slot): Delete.
+ 	(final_scan_insn): Revert 2004-09-03 change.
+ 	(output_asm_insn): Likewise.
+ 	* config/sparc/sparc.c (output_return): Likewise.
+ 	(output_sibcall): Likewise.
+ 
+ 2004-09-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* loop.c (loop_dump_aux): Do not print RTL when not available.
+ 	* tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
+ 	frontend specific type nodes.
+ 	(produce_memory_decl_rtl): Break out from ...
+ 	(prepare_decl_rtl): ... here.  Handle ADDR_EXPR correctly.
+ 	(get_computation_at): Avoid random tree sharing.
+ 	(tree_ssa_iv_optimize): Verify tree sharing; dump loops.
+ 
+ 2004-09-06  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
+ 	unnecessary commands.
+ 
+ 2004-09-06  Mohan Embar  <gnustuff@thisiscool.com>
+ 
+ 	* Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
+ 	(bitmap.o): Likewise.
+ 
+ 2004-09-06  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Unify the management of RTL and tree-level dump files.
+ 
+ 	* cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
+ 	Don't print function name to the dump file, the pass manager
+ 	would do this for us. Add code from the top of
+ 	rest_of_compilation, up to the initial RTL dump.
+ 	* passes.c (rest_of_handle_jump): Call fixup_tail_calls and
+ 	close the DFI_sibling dump file.
+ 	(rest_of_compilation): Don't do that here.  Remove code up to the
+ 	initial RTL dump.
+ 	(init_optimization_passes): Remove.
+ 	(pass_rest_of_compilation): Change pass name to NULL.
+ 	* toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
+ 	Do not call init_optimization_passes.
+ 	* toplev.h (init_optimization_passes): Remove.
+ 
+ 	* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
+ 	finish_graph_dump_file): Remove SUFFIX parameter.
+ 	* graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
+ 	finish_graph_dump_file): Likewise.
+ 
+ 	* tree-pass.h (struct tree_opt_pass): Add `letter' field.
+ 	* cfgexpand.c (pass_expand): Adjust.
+ 	* gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
+ 	* passes.c (pass_rest_of_compilation): Adjust.
+ 	* predict.c (pass_profile): Adjust.
+ 	* tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
+ 	* tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
+ 	pass_split_crit_edges, pass_warn_function_return): Adjust.
+ 	* tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
+ 	* tree-dfa.c (pass_referenced_vars): Adjust.
+ 	* tree-eh.c (pass_lower_eh): Adjust.
+ 	* tree-if-conv.c (pass_build_ssa): Adjust.
+ 	* tree-into-ssa.c (pass_build_ssa): Adjust.
+ 	* tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
+ 	* tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
+ 	* tree-nrv.c (pass_nrv): Adjust.
+ 	* tree-optimize.c (pass_gimple, pass_all_optimizations,
+ 	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
+ 	pass_init_datastructures): Adjust.
+ 	* tree-outof-ssa.c (pass_del_ssa): Adjust.
+ 	* tree-profile.c (pass_tree_profile): Adjust.
+ 	* tree-sra.c (pass_sra): Adjust.
+ 	* tree-ssa-alias.c (pass_may_alias): Adjust.
+ 	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
+ 	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
+ 	* tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
+ 	* tree-ssa-dom.c (pass_dominator): Adjust.
+ 	* tree-ssa-dse.c (pass_dse): Adjust.
+ 	* tree-ssa-forwprop.c (pass_forwprop): Adjust.
+ 	* tree-ssa-if-conv.c (pass_if_conversion): Adjust.
+ 	* tree-ssa-loop-ch.c (pass_ch): Adjust.
+ 	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
+ 	pass_loop_done, pass_complete_unroll, pass_iv_canon,
+ 	pass_iv_optimize, pass_vectorize): Adjust.
+ 	* tree-ssa-phiopt.c (pass_phiopt): Adjust.
+ 	* tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
+ 	* tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
+ 	pass_late_warn_uninnitialized): Adjust.
+ 	* tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
+ 
+ 	* Makefile.in (tree-dump.o): Add new dependencies.
+ 	* cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
+ 	* cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
+ 	Likewise.
+ 	* toplev.c (dump_file_name): New.
+ 	* tree-dump.c (dump_enable_all): Add LETTER parameter.
+ 	(struct dump_file_info): Add NUM and LETTER fields.
+ 	(dump_files): Adjust and add RTL dump files.
+ 	(dump_register): Add NUM and LETTER fields.
+ 	(get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
+ 	(dump_begin): Use get_dump_file_name.
+ 	(dump_switch_p_1): Adjust call to dump_enable_all.
+ 	* tree-dump.h (dump_register): Adjust prototype.
+ 	* tree-optimize.c (register_one_dump_file): Take dump file index.
+ 	Support flags for RTL dumps.
+ 	(register_dump_files): Fill in NUM field of struct dump_file_info.
+ 	Track properties both when the gate is executed and when it is not.
+ 	(execute_todo): Dump RTL.  Add PROPERTIES parameter.
+ 	(execute_one_pass): Pass properties to execute_todo.  Handle VCG
+ 	dumps of RTL.
+ 	* tree-pass.h (dump_file_name): New.
+ 	* tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
+ 	New.
+ 
+ 	* Makefile.in (passes.o): Add new dependencies.
+ 	* passes.c (struct dump_file_info, enum dump_file_index,
+ 	dump_file_tbl, init_optimization_passes): Remove.
+ 	(open_dump_file, close_dump_file): Use tree-dumping infrastructure.
+ 	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
+ 	dump_enabled_p.
+ 	(finish_optimization_passes): Update finish_graph_dump_file loop.
+ 	(enable_rtl_dump_file): Remove.
+ 	* tree-dump.c (dump_files): Adjust and add RTL dump files.
+ 	(enable_rtl_dump_file): Add here.
+ 	* tree.h (enum tree_dump_index): Add RTL dump file indices.
+ 	* doc/invoke.texi (Debugging options): Document new RTL debugging
+ 	options.  Update.
+ 
+ 2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
+ 	gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
+ 	stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
+ 	tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
+ 	tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
+ 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
+ 	tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
+ 	vec.h: Fix comment formatting.
+ 
+ 2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
+ 	et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
+ 	hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
+ 	tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
+ 	tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-loop-niter.c, tree-ssa-operands.c,
+ 	tree-ssa-operands.h, tree-ssa-propagate.c,
+ 	tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
+ 	vec.c, vec.h: Fix comment typos.  Follow spelling conventions.
+ 
+ 2004-09-05  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-if-conv.c (gate_tree_if_conversion): Enable only if the
+ 	vectorizer is enabled.
+ 
+ 2004-09-05  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* tree-if-conv.c: Spell check comments and clean up whitespace.
+ 
+ 2004-09-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c: New file.
+ 	* Makefile.in (tree-ssa-loop-ivopts.c): Add.
+ 	* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
+ 	target_pres_cost, target_spill_cost): Declare.
+ 	* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
+ 	spill_cost): Renamed to ...
+ 	(target_avail_regs, target_res_regs, target_small_cost,
+ 	target_pres_cost, target_spill_cost): ... and exported.
+ 	(init_set_costs, global_cost_for_size): Work with renamed variables.
+ 	* common.opt (flag_ivopts): New flag.
+ 	* expr.c (expand_expr_real_1): Handle SSA_NAME case.  Handle
+ 	REF_ORIGINAL.
+ 	* gimplify.c (struct gimplify_ctx): Add into_ssa field.
+ 	(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
+ 	generating SSA form.
+ 	(force_gimple_operand): New function.
+ 	* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
+ 	* tree-cfg.c (stmt_bsi): New function.
+ 	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
+ 	PARAM_IV_MAX_CONSIDERED_USES): New.
+ 	* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
+ 	bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
+ 	ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
+ 	* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
+ 	* tree-nested.c (build_addr): Export.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_iv_optimize.
+ 	* tree-pass.h (pass_iv_optimize): Declare.
+ 	* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
+ 	IMAGPART_EXPR.
+ 	* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
+ 	as a phi node argument.
+ 	(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
+ 	ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
+ 	functions.
+ 	* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
+ 	* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
+ 	pass_iv_optimize): New pass.
+ 	* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
+ 	* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
+ 	* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
+ 	* tree.h (REF_ORIGINAL): New macro.
+ 	(build_int_cst_type, unsigned_type_for, zero_p,
+ 	cst_and_fits_in_hwi, build_addr): Declare.
+ 	* doc/invoke.texi (-fivopts): Document.
+ 	(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
+ 	PARAM_IV_MAX_CONSIDERED_USES): Document.
+ 	* doc/passes.texi: Document induction variable optimizations pass.
+ 
+ 2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
+ 	* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
+ 	* c-common.c (c_common_attribute_table): Accept parameters to
+ 	sentinel attribute.
+ 	(check_function_sentinel, handle_sentinel_attribute): Likewise.
+ 	* doc/extend.texi: Update accordingly.
+ 
+ 2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
+ 	New.
+ 	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
+ 	attribute.
+ 	* c-common.c (handle_sentinel_attribute, check_function_sentinel):
+ 	New functions.
+ 	(c_common_attribute_table): Add `sentinel' attribute.
+ 	(check_function_arguments): Handle `sentinel' attribute.
+ 	* doc/extend.texi: Document `sentinel' attribute.
+ 
+ 2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* configure: Regenerated.
+ 
+ 2004-09-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
+ 
+ 	* tree.c (save_expr): No longer TREE_READONLY.
+ 
+ 2004-09-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* passes.c (rest_of_clean_state):  Fix merge conflict made during
+ 	commiting the patch.
+ 
+ 2004-09-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* passes.c (rest_of_clean_state):  Decompose the instruction stream.
+ 
+ 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/md.texi (shift patterns): New anchor.  Add reference to
+ 	TARGET_SHIFT_TRUNCATION_MASK.
+ 	* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
+ 	* target.h (shift_truncation_mask): New target hook.
+ 	* targhook.h (default_shift_truncation_mask): Declare.
+ 	* targhook.c (default_shift_truncation_mask): Define.
+ 	* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
+ 	and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
+ 	reject all out-of-range values.  Fix sign-extension code for modes
+ 	whose width is smaller than HOST_BITS_PER_WIDE_INT.
+ 	* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
+ 	(expand_superword_shift, expand_subword_shift): Likewise.
+ 	(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
+ 	(expand_binop): Use them to implement double-word shifts.
+ 	* config/arm/arm.c (arm_shift_truncation_mask): New function.
+ 	(TARGET_SHIFT_TRUNCATION_MASK): Define.
+ 
+ 2004-09-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
+ 	(mix): New macro copied from hashtab.c
+ 	(iterative_hash_hashval_t, iterative_hash_pointer,
+ 	iterative_hash_host_wide_int): New functions based on hashtab.c
+ 	implementation.
+ 
+ 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (mask): New mode attribute.
+ 	(zero_extendsidi2): Add memory alternative.
+ 	(*zero_extendsidi2_mem): Delete.
+ 	(zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.  Use
+ 	memory_operand in the TARGET_MIPS16 check.
+ 	(*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
+ 	Redefine using :GPR and :SHORT.
+ 	(zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
+ 
+ 2004-09-04  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
+ 	using rint_optab.
+ 	(expand_builtin): Expand BUILT_IN_RINT{,F,L} using
+ 	expand_builtin_mathfn.
+ 	* genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
+ 	btrunc?f patterns for btrunc_optab. Implement rint_optab using
+ 	rint?f patterns.
+ 	* optabs.c (init_optabs): Initialize rint_optab.
+ 	* optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
+ 	Add new OTI_rint.
+ 	(btrunc_optab): Rename macro from trunc_optab.
+ 	(rint_optab): Define corresponding macro.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
+ 	UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
+ 
+ 	* config/i386/i386-protos.h (emit_i387_cw_initialization):
+ 	Change prototype. Add new int parameter.
+ 	* config/i386/i386.c (emit_i387_cw_initialization):
+ 	Handle new rounding modes.
+ 
+ 	* config/i386/i386.h (enum fp_cw_mode): Delete.
+ 	(MODE_NEEDED): Handle new rounding modes.
+ 	(EMIT_MODE_SET): Change condition to handle new rounding modes.
+ 
+ 	* config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
+ 	UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
+ 	represent different rounding modes of frndint insn.
+ 	(type): Add frndint type.
+ 	(i387, length, memory): Handle this type.
+ 	(i387_cw): New attribute definition.
+ 	(*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
+ 	*fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
+ 	*fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
+ 	Add "i387_cw" attribute defined to "trunc".
+ 	(x86_fnstcw_1): Remove comment.
+ 	(*frndintxf2): Rename insn definition to frndintxf2. Move
+ 	insn definition near rint?f2 expanders.
+ 	(rintdf2, rintsf2, rintxf2): New expanders to implement rint,
+ 	rintf and rintl built-ins as inline x87 intrinsics.
+ 	(frndintxf2_floor): New pattern to implement floor rounding
+ 	mode with frndint x87 instruction.
+ 	(floordf2, floorsf2, floorxf2): New expanders to implement floor,
+ 	floorf and floorl built-ins as inline x87 intrinsics.
+ 	(frndintxf2_ceil): New pattern to implement ceil rounding
+ 	mode with frndint x87 instruction.
+ 	(ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
+ 	ceilf and ceill built-ins as inline x87 intrinsics.
+ 	(frndintxf2_trunc): New pattern to implement trunc rounding
+ 	mode with frndint x87 instruction.
+ 	(btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
+ 	truncf and truncl built-ins as inline x87 intrinsics.
+ 	(frndintxf2_mask_pm): New pattern to implement rounding
+ 	mode with exceptions with frndint x87 instruction.
+ 	(nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
+ 	implement nearbyint, nearbyintf and nearbyintl built-ins as
+ 	inline x87 intrinsics.
+ 
+ 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (SHORT): New mode macro.
+ 	(size): New mode attribute.
+ 	(extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
+ 	(*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
+ 	*extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns.  Use only if
+ 	!ISA_HAS_SEB_SEH.
+ 	(*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
+ 	*extend[qh]isi2_hw patterns and extending them to di.
+ 	(extendqihi2): Implement as define_insn_and_split that produces
+ 	extendqisi2 after reload.
+ 
+ 2004-09-03  Devang Patel  <dpatel@apple.com>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-if-conv.o
+ 	(tree-if-conv.o): New rule.
+ 	* cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
+ 	(get_loop_body_in_bfs_order): New.
+ 	* cfgloop.h (get_loop_body_in_bfs_order): New.
+ 	* tree-flow.h (enum move_pos): Move here from ..
+ 	* tree-ssa-loop-im.c (enum move_pos): here.
+ 	(movement_possibility): Make externally visible.
+ 	* tree-optimize.c (init_tree_optimization_passes): New entry for
+ 	if conversion pass.
+ 	* tree-pass.h (pass_if_conversion): New.
+ 	* tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
+ 	* tree-if-conv.c: New file.
+ 	* doc/passes.texi: Document tree if-conversion pass.
+ 	* doc/tree-ssa.texi: Same.
+ 
+ 2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/14925:
+ 	Makefile.in (LIB2ADDEHSTATIC): New.
+ 	(LIB2ADDEHSHARED): New.
+ 	(LIBUNWIND): New.
+ 	(LIBUNWINDDEP): New.
+ 	(SHLIBUNWIND_LINK): New.
+ 	(SHLIBUNWIND_INSTALL): New.
+ 	(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
+ 	LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
+ 	(clean): Remove libunwind*
+ 	(stage1-start): Remove and copy stage1/libunwind*.
+ 	(stage2-start): Remove and copy stage2/libunwind*.
+ 	(stage3-start): Remove and copy stage3/libunwind*.
+ 	(stage4-start): Remove and copy stage4/libunwind*.
+ 	(stageprofile-start): Remove and copy stageprofile/libunwind*.
+ 	(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
+ 
+ 	* config.gcc (ia64*-*-linux*): Always add t-libunwind to
+ 	tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
+ 	tmake_file if --with-system-libunwind isn't used.
+ 
+ 	* config/ia64/t-glibc-libunwind: New file.
+ 	* config/t-libunwind-elf: Likewise.
+ 	* unwind-compat.c: Likewise.
+ 	* unwind-compat.h: Likewise.
+ 	* unwind-dw2-fde-compat.c: Likewise.
+ 
+ 	* config/ia64/t-glibc (LIB2ADDEH): Updated.
+ 	* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
+ 
+ 	* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
+ 	aliases if needed.
+ 	* unwind-dw2-fde-glibc.c: Likewise.
+ 	* unwind-dw2.c: Likewise.
+ 
+ 	* config/t-libunwind (LIB2ADDEH): Updated.
+ 	(LIB2ADDEHSTATIC): New.
+ 	(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
+ 	(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
+ 
+ 	* configure.ac: Change --enable-libunwind-exceptions to
+ 	--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
+ 	* configure: Regenerated.
+ 	* config.in: Updated.
+ 
+ 	* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
+ 	above and mention --with-system-libunwind.
+ 	(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
+ 	removed in gcc 3.4.3 and later.
+ 
+ 	* gcc.c (init_spec): Add -lunwind to -lgcc_s if
+ 	USE_LIBUNWIND_EXCEPTIONS is defined.
+ 
+ 	* mklibgcc.in: Support libunwind.
+ 
+ 2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
+ 	m_NOCONA.
+ 
+ 2004-09-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/9997
+ 	* cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
+ 	(STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
+ 	(struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
+ 	stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
+ 	frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
+ 	resize_stack_vars_conflict, add_stack_var_conflict,
+ 	stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
+ 	union_stack_vars, partition_stack_vars, dump_stack_var_partition,
+ 	expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
+ 	expand_one_static_var, expand_one_hard_reg_var,
+ 	expand_one_register_var, expand_one_error_var, defer_stack_allocation,
+ 	expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
+ 	(expand_used_vars): Rewrite.
+ 	* Makefile.in (cfgexpand.o): Update dependencies.
+ 
+ 2004-09-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfg.c (free_edge): Use ggc_free.
+ 	(expunge_block): Use ggc_free.
+ 	* passes.c (rest_of_clean_state): Free after compilation.
+ 	* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
+ 	* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
+ 
+ 2004-09-03  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
+ 	DECL_EXTERNAL check.
+ 
+ 2004-09-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* final.c (output_in_slot): New global variable.
+ 	(final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
+ 	Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
+ 	'output_in_slot' before invoking output_asm_insn.
+ 	(output_asm_insn): Add a space after the tab if 'output_in_slot'
+ 	is set.
+ 	* config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
+ 	final_scan_insn.
+ 	(output_sibcall): Likewise.
+ 
+ 2004-09-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
+ 	* tree-ssanames (init_ssanames): Likewise.
+ 
+ 2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
+ 	objc_declare_protocols, objc_start_protocol,
+ 	objc_start_class_interface, objc_start_category_interface,
+ 	objc_continue_interface, objc_finish_interface,
+ 	objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
+ 	objc_start_class_implementation, objc_start_category_implementation,
+ 	objc_continue_implementation, objc_finish_implementation,
+ 	objc_add_method_declaration, objc_start_method_definition,
+ 	objc_finish_method_definition, objc_build_keyword_decl,
+ 	objc_build_method_signature, objc_build_encode_expr,
+ 	objc_build_protocol_expr, objc_build_selector_expr,
+ 	objc_build_message_expr, objc_build_string_object,
+ 	objc_get_class_reference, objc_get_protocol_qualified_type,
+ 	objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
+ 
+ 2004-09-03  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
+ 
+ 	* config/mips/generic.md (generic_frecip_fsqrt_step): New.
+ 	* config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
+ 	(mips_rsqrt2_<fmt>): Use frsqrt2 type.
+ 	(mips_recip1_<fmt>): Use frdiv1 type.
+ 	(mips_recip2_<fmt>): Use frdiv2 type.
+ 	* config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
+ 	* config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
+ 	and frsqrt1.
+ 	(ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
+ 
+ 2004-09-03  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* reload.c (find_reloads): Swap operand_loc pointers for
+ 	find_dummy_reload if we have swapped two operands.
+ 
+ 2004-09-03  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
+ 	to get the tablejump-insn before the jump-table label.
+ 
+ 2004-09-03  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
+ 	objc_declare_protocols, objc_build_message_expr,
+ 	objc_finish_message_expr, objc_build_selector_expr,
+ 	objc_build_protocol_expr, objc_build_encode_expr,
+ 	objc_build_string_object, objc_get_protocol_qualified_type,
+ 	objc_get_class_reference, objc_get_class_ivars,
+ 	objc_start_class_interface, objc_start_category_interface,
+ 	objc_start_protocol, objc_continue_interface, objc_finish_interface,
+ 	objc_start_class_implementation, objc_start_category_implementation,
+ 	objc_continue_implementation, objc_finish_implementation,
+ 	objc_set_visibility, objc_set_method_type, objc_build_method_signature,
+ 	objc_add_method_declaration, objc_start_method_definition,
+ 	objc_finish_method_definition, objc_add_instance_variable,
+ 	objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
+ 	objc_finish_try_stmt, objc_begin_catch_clause,
+ 	objc_finish_catch_clause, objc_build_finally_clause,
+ 	objc_build_synchronized, objc_static_init_needed_p,
+ 	objc_generate_static_init_call): New prototypes.
+ 
+ 2004-09-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
+ 	is only one reg.
+ 	(ia64_function_value): Ditto.
+ 
+ 2004-09-03  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config.gcc: Resurrect NetWare as a target. Handle special case of
+ 	Novell linker to be used (specified through --with-ld=) and threading
+ 	model of either Posix (default) or NKS.
+ 	* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
+ 	of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
+ 	* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
+ 	* config/i386/netware.c, config/i386/netware.h: New.
+ 	* config/i386/nwld.c, config/i386/nwld.h: New.
+ 	* config/i386/netware-crt0.c: New.
+ 	* config/i386/netware-libgcc.c: New.
+ 	* config/i386/netware-libgcc.def: New.
+ 	* config/i386/netware-libgcc.exp: New.
+ 	* config/i386/t-netware, config/i386/t-nwld: New.
+ 	* gthr-nks.h: New.
+ 	* doc/install.texi: Document NKS threading model.
+ 
+ 2004-09-03  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	PR c/7054
+ 	* defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
+ 	* tree.h (initial_max_fld_align): Declare
+ 	* stor-layout.c (initial_max_fld_align): Define and initialize.
+ 	(maximum_field_alignment): Initialize to the same value.
+ 	* common.opt: Add -fpack-struct= variant of switch.
+ 	* opts.c: Handle -fpack-struct= variant of switch.
+ 	* c-pragma.c: Change #pragma pack() handling so that it becomes
+ 	compatible to other compilers: accept individual 'push' argument,
+ 	make final pop restore (command line) default, correct interaction
+ 	of push/pop and sole specification of a new alignment (so that the
+ 	sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
+ 	to #pragma pack(push, <n>).
+ 	* doc/extend.texi: New node "Structure-Packing Pragmas" under
+ 	"Pragmas", describing #pragma pack.
+ 	* doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
+ 	* doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
+ 	Document new TARGET_DEFAULT_PACK_STRUCT.
+ 
+ 2004-09-03  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dwarf2out.c (gen_field_die). Equate decl number to die.
+ 
+ 2004-09-03  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/15832
+ 	* global.c (modify_reg_pav): New function.
+ 	(make_accurate_live_analysis): Call the new function.  Move pavin
+ 	modification by earlyclobber set into the new function.
+ 
+ 2004-09-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/m68k/m68k.c (output_andsi3): Use -1 instead of
+ 	(HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
+ 	extended.
+ 
+ 2004-09-02  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
+ 	* mklibgcc.in (libgcc_dep): New, covering general dependencies, but
+ 	not unwind code specific ones.
+ 	(libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
+ 	Remove unwind code specific dependencies.
+ 	(libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
+ 	Remove gbl-ctors.h.
+ 	Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
+ 	LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
+ 	* tsystem.h: Declare memcpy and memset when inhibit_libc.
+ 
+ 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* combine.c (try_combine): Delay modifying of insns which cannot
+ 	be easily undone.
+ 
+ 2004-09-02  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
+ 	tree-loop-im.
+ 	* gcc/tree-ssa-loop.c: Ditto
+ 	* gcc/tree-ssa-loop-ivcanon.c: Ditto
+ 	* gcc/doc/invoke.texi: Ditto.
+ 
+ 2004-09-02  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-decl.c (store_parm_decls_newstyle): Make static.
+ 	(store_parm_decls_from): New function.
+ 	* c-tree.h (store_parm_decls_newstyle): Remove prototype.
+ 	(store_parm_decls_from): New prototype.
+ 
+ 2004-09-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (expand_block_move): Use SImode and
+ 	HImode with STRICT_ALIGNMENT.
+ 
+ 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
+ 	(TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
+ 	TARGET_BPABI_CPP_BUILTINS.
+ 
+ 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
+ 
+ 2004-09-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_cabs): Delete.
+ 	(expand_builtin): If unable to fold the values do a normal
+ 	library call for builtin_cab*.
+ 	(fold_builtin_cabs): Depend on optimize and optimize_size.
+ 	* optabs.c (expand_cmplxdiv_straight): Delete.
+ 	(expand_cmplxdiv_wide): Ditto.
+ 	(expand_vector_binop): Ditto.
+ 	(expand_vector_unop): Ditto.
+ 	(expand_complex_abs): Delete.
+ 	(expand_binop): Remove calls to above functions.
+ 	Remove open coding of complex arithmetic.
+ 	(expand_unop): Ditto.
+ 	* optabs.h: Remove prototypes.
+ 
+ 2004-09-02  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-decl.c (store_parm_decls_newstyle): Make externally visible.
+ 	* c-tree.h (store_parm_decls_newstyle): New prototype.
+ 
+ 2004-09-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (expand_block_clear): Use vector
+ 	instructions if available.
+ 	(expand_block_move): Likewise.
+ 
+ 2004-09-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
+ 
+ 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/symbian.h (LIB_SPEC): Define to empty.
+ 	* config/arm/t-symbian (SHLIB_LC): Likewise.
+ 
+ 2004-09-02  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
+ 
+ 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
+ 	(mips_restore_gp, mips_set_return_address, mips_expand_prologue)
+ 	(mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
+ 	(build_mips16_call_stub): Likewise.  Remove daft CALL_INSN checks.
+ 	(mips_issue_rate): Remove unreachable abort.
+ 	(mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
+ 	(mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
+ 	(mips_block_move_straight, print_operand_address, mips_file_start)
+ 	(mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
+ 	(mips_output_conditional_branch, mips_expand_builtin_direct)
+ 	(mips_expand_builtin_compare): Replace abort with gcc_unreachable.
+ 	* config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
+ 	with gcc_assert.
+ 
+ 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*lea_high64): Change split condition to
+ 	flow2_completed.  Add a peephole2 to generate a more parallel version.
+ 
+ 2004-09-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gimplify.c (gimplify_compound_lval): Move "stack" varray out of
+ 	GGC.
+ 
+ 	* ggc-page.c: include tree-flow.h.
+ 	(extra_order_size_table): Add stmt_ann_d.
+ 	(STAT_LABEL): Rename from ....
+ 	(LABEL): ... this one.
+ 	* Makefile.in (ggc-page.o): Add dependency.
+ 
+ 	* ggc-common.c (ggc_force_collect): New global variable.
+ 	(loc_description): Add fields "freed", "collected"
+ 	(ptr_hash): New static hash
+ 	(ptr_hash_entry): New structure.
+ 	(hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
+ 	(ggc_record_overhead): Take ptr argument, record it
+ 	(ggc_prune_overhead_list, ggc_free_overhead): New functions.
+ 	(cmp_statistics): Imrove sorting.
+ 	(dump_ggc_loc_statistics): Output newly collected statistics
+ 	* ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
+ 	(ggc_free): Call ggc_free_overhead.
+ 	(ggc_collect): Force collection when asked to be forced.
+ 	(ggc_collect): Call ggc_prune_overhead_list.
+ 	* ggc.h (ggc_force_collect): Declare
+ 	(ggc_record_overhead): Update prototype.
+ 	(ggc_free_overhead, ggc_prune_overhead_list): Declare.
+ 
+ 2004-09-02  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* common.opt (ftrapping-math): Default to on.
+ 
+ 2004-09-02  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/predicates.md (arm_reload_memory_operand): Allow MEM.
+ 
+ 2004-09-02  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	PR target/16884
+ 	* config/avr/avr.md ("movmemhi"): Substitute match_dup to
+ 	match_scratch.
+ 	(*movmemqi_insn): Likewise.
+ 	(*movmemhi): Likewise.
+ 	(clrmemhi): Likewise.
+ 	(*clrmemqi): Likewise.
+ 	(*clrmemhi): Likewise.
+ 
+ 2004-09-02  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
+ 	default_use_cxa_atexit=yes.
+ 
+ 2004-09-02  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
+ 	(struct kernel_old_ucontext): Delete.
+ 	(struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs.  Only define
+ 	when IN_LIGGCC2.
+ 
+ 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* toplev.c (process_options): Fix typo.
+ 
+ 2004-09-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/17258
+ 	* calls.c (initialize_argument_information): Tighten pass-through
+ 	conditions for pass-by-reference.  Remove dead TARGET_EXPR code.
+ 	Use build_fold_addr_expr.
+ 	(emit_library_call_value_1): Use build_fold_addr_expr.  Remove code
+ 	that assumes ADDR_EXPR allocates stack space.
+ 	* fold-const.c (build_fold_addr_expr_with_type): Look through
+ 	WITH_SIZE_EXPR.
+ 
+ 2004-09-01  Dan Nicolaescu  <dann@ics.uci.edu>
+ 
+ 	* gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
+ 	* ggc.h (ggc_alloc_rtx): Delete.
+ 
+ 2004-09-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (enum alg_code): Remove long unused enumeration values.
+ 	(struct mult_cost): New structure to hold the "score" of a synthetic
+ 	multiply sequence, including both a rtx_cost and a latency field.
+ 	(MULT_COST_LESS): New macro to compare mult_cost to a constant.
+ 	(CHEAPER_MULT_COST): New macro to compare two mult_costs.
+ 	(struct algorithm): Change type of cost field to be mult_cost.
+ 	(synth_mult): Change type of cost_limit argument to be a
+ 	pointer to a mult_cost.  Update all cost comparisons to use the
+ 	new mult_cost infrastructure.  For alg_add_factor and
+ 	alg_sub_factor operations, latency is lower than the rtx_cost.
+ 	(choose_mult_variant):  Update calls to synth_mult.  Perform
+ 	cost comparisons using the new mult_cost infrastructure.
+ 	(expand_mult_highpart): Use alg.cost.cost instead of alg.cost
+ 	to optain the total rtx_cost of a synth_mult "algorithm".
+ 
+ 2004-09-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/power4.md: Increase store latency to 12.
+ 	* config/rs6000/power5.md: Same.
+ 
+ 2004-09-01  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/14064
+ 	* config/avr/avr.c (avr_unique_section): Delete prototype and
+ 	definition.
+ 	(TARGET_ASM_UNIQUE_SECTION): Delete.
+ 
+ 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (primary): Call objc_build_message_expr(),
+ 	objc_build_selector_expr(), objc_build_protocol_expr(),
+ 	objc_build_encode_expr() and objc_build_string_object() instead of
+ 	build_message_expr(), build_selector_expr(), build_protocol_expr(),
+ 	build_encode_expr() and build_objc_string_object(), respectively.
+ 	(component_decl_list2): Call objc_get_class_ivars() instead of
+ 	get_class_ivars_from_name().
+ 	(keyworddecl): Call objc_build_keyword_decl() instead of
+ 	build_keyword_decl().
+ 	(receiver): Call objc_get_class_reference() instead of
+ 	get_class_reference().
+ 	(reswords): Add blank line before @@ifobjc section, for clarity.
+ 
+ 2002-09-01  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
+ 	to Altivec vetors.
+ 
+ 2004-09-01  Wu Yongwei  <adah@sh163.net>
+ 	    Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
+ 	not Windows 'DWORD'.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
+ 	(__gthr_win32_recursive_mutex_init_function): Add prototype for
+ 	__GTHREAD_HIDE_WIN32API case..
+ 	(__gthr_win32_recursive_mutex_lock): Likewise.
+ 	(__gthr_win32_recursive_mutex_trylock): Likewise.
+ 	(__gthr_win32_recursive_mutex_unlock): Likewise.
+ 	(__gthread_recursive_mutex_init_function); Add definition for
+ 	__GTHREAD_HIDE_WIN32API case.
+ 	(__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
+ 	* config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
+ 	call to InterlockedDecrement.
+ 
+ 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-tailcall.c (find_tail_calls): Also fail is statement has
+ 	volatile operands.
+ 
+ 	* tree-ssa.c (propagate_into_addr): Properly test for LHR.
+ 
+ 	* doc/c-tree.texi: Document new operands for ARRAY_REF and
+ 	COMPONENT_REF.
+ 
+ 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
+ 	* common.opt (fspeculative-prefetching): New.
+ 	* flags.h (flag_speculative_prefetching_set): Declare.
+ 	* gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
+ 	values.
+ 	* opts.c (flag_sepculative_prefetching_set): New variable.
+ 	(common_handle_option): Handle -fspeculative-prefetching.
+ 	* passes.c (rest_of_compilation): Ditto.
+ 	* profile.c (instrument_values, compute_value_histograms, branch_prob):
+ 	Use vectors instead of arrays.
+ 	* toplev.c (process_options): Handle -fspeculative-prefetching.
+ 	* rtl-profile.c: Include ggc.h.
+ 	(rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
+ 	rtl_gen_one_value_profiler_no_edge_manipulation,
+ 	rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
+ 	argument changed.
+ 	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
+ 	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
+ 	argument changed.
+ 	* value-prof.c: Include ggc.h.
+ 	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
+ 	macros.
+ 	(insn_prefetch_values_to_profile, find_mem_reference_1,
+ 	find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
+ 	speculative_prefetching_transform): New.
+ 	(value_profile_transformations): Call speculative_prefetching_transform.
+ 	(insn_values_to_profile): Call insn_prefetch_values_to_profile.
+ 	(insn_divmod_values_to_profile, rtl_find_values_to_profile,
+ 	tree_find_values_to_profile, find_values to profile): Use vectors
+ 	instead of arrays.
+ 	(free_profiled_values): Removed.
+ 	* value-prof.h (struct histogram_value): Renamed to
+ 	struct histogram_value_t.
+ 	(histogram_value, histogram_values): New types.
+ 	(find_values_to_profile): Declaration changed.
+ 	(free_profiled_values): Removed.
+ 	(struct profile_hooks): Type of argument of the hooks changed to
+ 	histogram_value.
+ 	* doc/invoke.texi (-fspeculative-prefetching): Document.
+ 
+ 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR rtl-optimization/16408
+ 	* gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
+ 
+ 2004-09-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
+ 	(TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
+ 
+ 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
+ 
+ 2004-09-01  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (machopic_symbol_defined_p): In addition to
+ 	being SYMBOL_REF_LOCAL_P, a symbol must also be
+ 	! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
+ 	defined in this output file, or translation unit in the case
+ 	of IMA not being used.
+ 	(machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
+ 	never need .indirect_symbol when indirecting.
+ 
+ 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* Makefile.in (bb-reorder.o): Add several dependencies.
+ 
+ 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (operand_equal_p): Require equal sign also for
+ 	FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
+ 
+ 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
+ 	for use in configargs.h.  Put the cname in a separate variable.  Use
+ 	that to set target_cpu_default2.
+ 
+ 2004-09-01  J"orn Rennecke <joern.rennecke@superh.com>
+ 	    Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sh/sh.md ("length"): Increase branch length when
+ 	SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
+ 	constant, 2 byte for aligning the constant.
+ 
+ 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
+ 	CPU.
+ 	(arm7tdmi-s): New CPU name.
+ 	* arm/arm.c (ARM_CORE): Update for new format.
+ 	* arm/arm.h (ARM_CORE): Likewise.
+ 	* arm/gentune.sh: Update for extra field.
+ 	* config.gcc: Likewise.
+ 	* arm/arm-tune.md: Regenerate.
+ 	* doc/invoke.texi: Document the real processor names for ARM cpus.
+ 
+ 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
+ 	(floatdidf): New functions.
+ 	* arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
+ 	(floatdisf): New functions.
+ 	* t-arm-elf: Use them.
+ 
+ 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.h (lookup_interface): Remove prototype.
+ 	(is_class_name): Rename to objc_is_class_name.
+ 	(lookup_objc_ivar): Rename to objc_lookup_ivar.
+ 	(get_current_scope): Rename to objc_get_current_scope.
+ 	* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
+ 	* c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
+ 	(yylexname): Call objc_is_class_name() instead of is_class_name().
+ 	* c-typeck.c (build_external_ref): Call objc_lookup_ivar()
+ 	instead of lookup_objc_ivar().
+ 	* stub-objc.c (lookup_interface): Remove stub.
+ 	(is_class_name): Rename to objc_is_class_name.
+ 	(lookup_objc_ivar): Rename to objc_lookup_ivar.
+ 
+ 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
+ 	* config/arm/lib1funcs.asm: Do not include supplemental .S files
+ 	when compiling for Symbian.
+ 	* config/arm/symbian.h (RENAME_LIBRARY): New macro.
+ 	(TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* config/arm/t-symbian (LIB1ASMFUNCS): Define.
+ 
+ 2004-08-31  Stan Shebs  <shebs@apple.com>
+ 
+ 	* toplev.c (process_options): Ensure debug_hooks is initialized.
+ 
+ 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
+ 	* target.h (cxx): Add export_class_data.
+ 	* config/arm/arm.c (arm_cxx_export_class_data): New function.
+ 	(TARGET_CXX_EXPORT_CLASS_DATA): Use it.
+ 	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
+ 
+ 2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (output_branch): Check the insn length possibly
+ 	in the delayed slot.
+ 
+ 2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
+ 	blank after ')'.
+ 	(op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
+ 
+ 	* c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
+ 	(c_sizeof_of_alignof_type): Likewise.
+ 	* expr.c (array_ref_element_size): Likewise.
+ 	(highest_pow2_factor_for_target): Likewise.
+ 	* gimplify.c (canonicalize_addr_expr): Likewise.
+ 	(gimplify_compound_lval): Likewise.
+ 	* stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
+ 	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
+ 	* varasm.c (assemble_variable): Likewise.
+ 	(output_constant_def_contents): Alignments are unsigned.
+ 
+ 2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
+ 	gets modified.
+ 
+ 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* hooks.c (hook_bool_void_true): New function.
+ 	* hooks.h (hook_bool_void_true): Declare.
+ 	* target-def.h (TARGET_CXX): Add
+ 	TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
+ 	* target.h (struct cxx): Add key_method_may_be_inline.
+ 	* config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
+ 	function.
+ 	(TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
+ 	* config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
+ 	__THUMB_INTERWORK.
+ 
+ 2004-08-31  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	PR target/15417
+ 	* config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
+ 	frame pointer register only in Pmode while reload in progress.
+ 
+ 2004-08-31  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/15334
+ 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
+ 	because it breaks the 32-bit shift patterns that rely on a match_dup.
+ 
+ 2004-08-31  Matt Austern  <austern@apple.com>
+ 
+ 	* config/darwin.c (darwin_make_decl_one_only): Allocate section
+ 	names once per compilation, instead of once per symbol.
+ 
+ 2004-08-31  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in (build_subdir): New substitution.
+ 	(fixinc.sh): Simplify heavily since fixincludes is already built.
+ 	(stmp-fixinc): Depend on specs.ready.
+ 	(install-mkheaders): Use new location of fixincludes.
+ 	(clean): Do not descend into fixinc.
+ 	(FORBUILD): Replace with ../$(build_subdir).
+ 	* configure.ac (build_subdir): Substitute.
+ 	(FORBUILD): Do not set.
+ 	(all_outputs): Remove fixinc/Makefile.
+ 	(default commands): Do not create links in fixinc.
+ 	* mkfixinc.sh: New, from fixinc/mkfixinc.sh without
+ 	the fixincludes configuration steps and substituting
+ 	@FIXINCL@ in fixinc.in.
+ 	* fixinc.in: New, from fixinc/fixincl.sh.
+ 
+ 	* fixinc/*: Removed.
+ 
+ 2004-08-31  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* attribs.c (strip_attrs): Remove.
+ 	(split_specs_attrs): Move ...
+ 	* c-decl.c: ... to here.
+ 	* tree.h (split_specs_attrs, strip_attrs): Remove.
+ 	* c-tree.h (split_specs_attrs): Declare.
+ 
+ 2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* read-rtl.c: Disable RTL checking.
+ 	(apply_macro_to_rtx): Use XTMPL to access 'T' fields.
+ 
+ 2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (fcond): New code macro and attribute.
+ 	(sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
+ 	(seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
+ 	(sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
+ 
+ 2004-08-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert:
+ 	2004-08-29  Mark Mitchell  <mark@codesourcery.com>
+ 	PR rtl-optimization/16590
+ 	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
+ 
+ 2004-08-30  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* hard-reg-set.h:
+ 	s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
+ 	* ChangeLog: Fix previous ChangeLog entry.
+ 
+ 	PR rtl-opt/13987
+ 	* config.host (use_long_long_for_widest_fast_int): New, default is
+ 	off.
+ 	(ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
+ 	* configure.ac: If use_long_long_for_widest_fast_int, then
+ 	define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 	* hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
+ 	New: widest integer type supported efficiently in hardware for the
+ 	host.
+ 	* sbitmap.h (SBITMAP_ELT_BITS): Define based on
+ 	HOST_BITS_PER_WIDEST_FAST_INT.
+ 	(SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
+ 	* hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
+ 	HOST_WIDEST_FAST_INT
+ 	instead of HOST_WIDE_INT.
+ 	(HARD_REG_SET_LONGS): Likewise.
+ 	(UHOST_BITS_PER_WIDE_INT): Likewise.
+ 	Change the checks for the fast cases to be based on
+ 	HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
+ 
+ 2004-08-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
+ 	not the pointers.
+ 
+ 2004-08-30  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 12738
+ 	PR 17205
+ 	Radar 3460526
+ 	Radar 3775729
+ 	* c-decl.c (grokdeclarator): Produce error for 'static' on local
+ 	function declaration.
+ 
+ 2004-08-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (array_ref_element_size): Force aligned_size back to
+ 	sizetype.
+ 	(component_ref_field_offset): Similarly for aligned_offset.
+ 	* tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
+ 	low-bound, element-size, field-offset fields rather than
+ 	computed values.
+ 
+ 2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
+ 	redundant code.
+ 
+ 2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (struct language_function): Add arg_info element.
+ 	* c-decl.c (current_function_arg_info): New.
+ 	(grokdeclarator, store_parm_decls): Use it instead of
+ 	DECL_ARGUMENTS.
+ 	(c_push_function_context, c_pop_function_context): Save and
+ 	restore it.
+ 
+ 2004-08-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
+ 	COMPONENT_REF to pointer arithmetic.
+ 	* varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
+ 	constant "c" as a valid constant initializer.  Allow narrowing of
+ 	differences against the same base object, for any base object.
+ 
+ 2004-08-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr_addr_expr): New.
+ 	(expand_expr_real_1) <case ADDR_EXPR>: Use it.
+ 
+ 2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
+ 	(mips_fp_condition): New enum.
+ 	(mips_fp_conditions): New array.
+ 	(print_fcc_operand): Delete.
+ 	(print_operand): Remove %V, %v and %Q.  Redefine %Z so that it prints
+ 	the operand and comma if and only if ISA_HAS_8CC.  Add %Y.
+ 	(builtin_description): Add "cond" field.
+ 	(DIRECT_BUILTIN): Initialize it.
+ 	(CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
+ 	into INSN and CODE.  Initialize the "cond" field.
+ 	(CMP_BUILTINS): Update accordingly.
+ 	(mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
+ 	(mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
+ 	mips_fp_condition as argument.  Make it the final operand of the
+ 	comparison instruction.
+ 	(mips_expand_builtin): Update accordingly.
+ 	* config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
+ 	(UNSPEC_C, UNSPEC_CABS): New constants.  Shuffle others to fill
+ 	the gaps.
+ 	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
+ 	Don't use the 'Q' operand prefix; just print the operand normally.
+ 	(mips_cabs_*, mips_c_*): Delete, replacing with...
+ 	(mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
+ 	patterns.  Split the 4s versions into 2 ps patterns after reload.
+ 
+ 2004-08-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (tree_expr_nonzero_p): Use get_base_address before
+ 	assuming an ADDR_EXPR is non-null.
+ 
+ 2004-08-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gthr-posix.h, gthr-dce.h: Add #pragma weaks.
+ 
+ 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
+ 	record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
+ 	gcc_assert and gcc_unreachable instead of abort.
+ 	* alloc-pool.c (abort, fancy_abort): Remove.
+ 	(create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
+ 	gcc_assert or gcc_unreachable.
+ 	* attribs.c (init_attributes, decl_attributes): Likewise.
+ 	* bb-reorder.c (FREE, find_traces_1_round, copy_bb,
+ 	mark_bb_for_unlikely_executed_section,
+ 	add_labels_and_missing_jumps, fix_crossing_conditional_branches,
+ 	fix_crossing_unconditional_branches):  Likewise.
+ 	* bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
+ 	bitmap_operation):  Likewise.
+ 	* bt-load.c (insn_sets_btr_p, augment_live_range,
+ 	move_btr_def):  Likewise.
+ 	* builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
+ 	apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
+ 	expand_builtin_mathfn_2, expand_builtin_mathfn_3,
+ 	builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
+ 	expand_builtin_memcmp, expand_builtin_args_info,
+ 	std_gimplify_va_arg_expr, expand_builtin_unop,
+ 	expand_builtin_fputs, expand_builtin_profile_func,
+ 	expand_builtin_fork_or_exec, fold_builtin_bitop,
+ 	fold_builtin_classify, fold_builtin_fputs): Likewise.
+ 
+ 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
+ 	* gcov.c (abort): Remove undef.
+ 
+ 	* tree.h (BINFO_PRIMARY_BASE_OF): Remove.
+ 	(struct tree_binfo): Remove primary field.
+ 
+ 2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* fixinc/Makefile.in (machname.h): Remove.
+ 	(fixincl.x): Do not pass $@ to genfixes.
+ 	* fixinc/genfixes: Remove code to produce machname.h.
+ 	* fixinc/fixincl.sh: Move it here instead.
+ 	* fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
+ 	instead check if pz_mn_name_pat is NULL.  Make mn_get_regexps
+ 	return a bool indicating whether pz_mn_name_pat is NULL.
+ 	* fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
+ 	Declare extern C variables for the ENV_TABLE.
+ 	* fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
+ 	instead use the result of mn_get_regexps.
+ 	* fixinc/fixtests.c: Likewise.
+ 
+ 2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* configure.ac: Do not run fixincludes after stage1 during
+ 	toplevel bootstrap.
+ 	* configure: Regenerate.
+ 
+ 2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* sched-deps.c (get_condition): Partially revert previous, by never
+ 	trying to extract the condition from a condjump.
+ 
+ 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
+ 	(handle_visibility_attribute, c_determine_visibility): Likewise.
+ 	* c-common.h (my_friendly_assert): Remove.
+ 
+ 2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
+ 	(UNSPEC_{RSQRT,RECIP}[12]): New constants.
+ 	(UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
+ 	* config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
+ 	(mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
+ 
+ 2004-08-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
+ 	in COMPONENT_REF nodes.
+ 
+ 2004-08-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR c++/15378
+ 	* c-opts.c (c_common_handle_option): <case OPT_Werror> set
+ 	global_dc->warning_as_error_requested.
+ 	* diagnostic.c (diagnostic_initialize): Tidy.
+ 	* diagnostic.h (diagnostic_context::x_data): Remove
+ 	(diagnostic_context::issue_warnings_are_errors_message): Rename
+ 	from warnings_are_errors_message.
+ 	(diagnostic_context::warning_as_error_requested): New.
+ 
+ 2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* sched-deps.c (get_condition): Fix breakage in previous patch.
+ 
+ 2004-08-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* doc/install.texi: Fix broken mpfr link.
+ 
+ 2004-08-29  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
+ 	other FreeBSD platforms.
+ 
+ 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (REVERSE_CONDITION): Define.
+ 	(REVERSIBLE_CC_MODE): All comparisons are now reversible.
+ 
+ 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
+ 	just the codes, call reversed_comparison_code ().
+ 	(ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
+ 	(not_reg_cond): Use reversed_comparison_code.
+ 	(and_reg_cond): Likewise.
+ 	* ifcvt.c (cond_exec_process_if_block): Likewise.
+ 	* doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
+ 
+ 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* sched-deps.c (get_condition): Rewrite using jump support functions.
+ 	Use reversed_comparison_code.
+ 	(conditions_mutex_p): Use reversed_comparison_code.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Disable hot/cold partitioning
+ 	for MIPS16.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
+ 	(mips_function_type): Move to mips.c.
+ 	* config/mips/mips.c (mips_builtin_type): New enum.
+ 	(builtin_description): Replace code and ftype with builtin_type
+ 	and function_type.
+ 	(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
+ 	(MOVTF_BUILTINS, CMP_BUILTINS): New macros.
+ 	(CODE_FOR_mips_abs_ps): Define.
+ 	(mips_bdesc): Use new macros.
+ 	(mips_expand_builtin): Use builtin_type.  Update calls to subroutines.
+ 	(mips_init_builtins): Use the mips_bdesc[] index as the function code.
+ 	(mips_expand_builtin_direct): New function.
+ 	(mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
+ 	builtin.  Replace boolean parameter with builtin_type.
+ 	(mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
+ 	(mips_expand_4s_compare_builtin): Delete, replacing with...
+ 	(mips_expand_builtin_compare): ...this new function.
+ 
+ 2004-08-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR rtl-optimization/16590
+ 	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
+ 
+ 2004-08-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
+ 	* tree-ssa-propagate.c: Fix documentation.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
+ 	(mov[sd]fcc): Likewise.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (divide_condition): New mode attribute.
+ 	(div[sd]f3, *div[sd]f3): Use it.  Redefine using :SCALARF.
+ 	(sqrt[sd]f3): Redefine using SCALARF.
+ 	(*recip[sd]f3, *rsqrt<mode>[ab]): Likewise.  Name formerly unnamed
+ 	patterns.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (ANYF, SCALARF): New mode macros.
+ 	(loadx, storex, fmt, UNITMODE): New mode attributes.
+ 	(add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
+ 	(mul[sd]f3): Redefine using :SCALARF.
+ 	(*mul[sd]f3): Renamed from mul[sd]f3_internal.  Use :SCALARF.
+ 	(*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
+ 	(*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns.  Use :ANYF.
+ 	Check TARGET_FUSED_MADD for V2SF too.
+ 	(*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
+ 	were already named.
+ 	(abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
+ 	(*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_init_builtins): Simplify.  Only create
+ 	V2SF_type_node if it will be needed.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
+ 	* config/mips/mips.c (mips_prepare_builtin_arg): New function.
+ 	(mips_prepare_builtin_target): New function.
+ 	(mips_expand_builtin): Use them.  Update calls to subroutines.
+ 	(mips_expand_ps_cond_move_builtin): Use the new functions.  Replace
+ 	cmp_choice with a boolean argument to select between movt and movf.
+ 	Take the comparison's icode as an argument, not the function's fcode.
+ 	(mips_expand_compare_builtin): New function.  Rename existing function
+ 	to mips_expand_scalar_compare_builtin.
+ 	(mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
+ 	(mips_expand_ps_compare_builtin): Use the new functions.  Take the
+ 	comparison's icode as an argument, not the builtin's fcode.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
+ 	(mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
+ 	registers are false and -1 if all registers are true.
+ 	(mips_expand_ps_compare_builtin): Likewise CCV2.  Use subregs for
+ 	MIPS_CMP_UPPER and MIPS_CMP_LOWER.
+ 	* config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
+ 	(bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
+ 	(bc1any2t, bc1any2f): Likewise CCV2.
+ 	(bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
+ 
+ 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
+ 	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
+ 	UNSPEC rather than an IF_THEN_ELSE.
+ 	* config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
+ 	mips_cond_move_tf_ps by name.
+ 
+ 2004-08-29  Chao-ying Fu  <fu@mips.com>
+ 	    James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
+ 	8 byte size and alignment.  Give CCV4 16 byte size and alignment.
+ 	* config/mips/mips-ps-3d.md: New file.
+ 	* config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
+ 	TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+ 	(mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
+ 	(mips_output_move): Emit "mov.ps" for V2SFmode.
+ 	(mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
+ 	MODE_VECTOR_FLOAT.
+ 	(override_options): Check if TARGET_MIPS3D and there was an explicit
+ 	!TARGET_PAIRED_SINGLE_FLOAT.  Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
+ 	Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
+ 	TARGET_PAIRED_SINGLE_FLOAT is true.  Check if the ISA supports
+ 	TARGET_PAIRED_SINGLE_FLOAT.  Allow MODE_VECTOR_FLOAT in fp registers,
+ 	and allow CCV2 and CCV4 to occupy two and four CC registers.
+ 	(print_fcc_operand): New function.
+ 	(print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC.  Modify
+ 	%Z to call print_fcc_operand.
+ 	(mips_function_value): Handle MODE_VECTOR_FLOAT.
+ 	(mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
+ 	(mips_vector_mode_supported_p): New function.
+ 	(mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
+ 	(builtin_description): New struct.
+ 	(mips_bdesc): New array of struct builtin_description.
+ 	(mips_expand_builtin, mips_init_builtins,
+ 	mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
+ 	mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
+ 	functions.
+ 	* config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
+ 	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
+ 	(TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
+ 	(TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
+ 	"-mips3d", and "-mno-mips3d".
+ 	(ASM_SPEC): Map -mips3d to -mips3d in gas.
+ 	(EXTRA_CONSTRAINT_Y): New macro.
+ 	(EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT.  Add new
+ 	multi-letter constraint 'Y'.
+ 	(CONSTRAINT_LEN): New macro.
+ 	(enum mips_builtins): New for MIPS builtin functions.
+ 	(enum mips_function_type): New for the types of MIPS builtin functions.
+ 	(enum mips_cmp_choice): New for the MIPS comparison builtin functions.
+ 	* config/mips/mips.md: New constants for paired single and MIPS-3D
+ 	instructions.  Include the new mips-ps-3d.md file.
+ 	(addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
+ 	movv2sf_hardfloat_64bit): New named patterns.
+ 	(madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
+ 	nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
+ 	sdxc1_v2sf_di): New unnamed patterns.
+ 	* config/mips/predicates.md (const_0_operand, const_1_operand): Add
+ 	const_vector support.
+ 	(const_0_or_1_operand): New predicate.
+ 	* doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
+ 
+ 2004-08-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-ssa-propagate.o
+ 	(tree-ssa-propagate.o): New rule.
+ 	(GTFILES): Add tree-ssa-propagate.c.
+ 	* tree-flow.h (struct stmt_ann_d): Remove field
+ 	in_ccp_worklist.
+ 	* tree-ssa-propagate.c: New file.
+ 	* tree-ssa-propagate.h: New file.
+ 	* tree-ssa-ccp.c: Re-write to use the routines from
+ 	tree-ssa-propagate.c.
+ 
+ 2004-08-28  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* tree-ssa-loop.c: Remove extra include of basic-block.h.
+ 
+ 2004-08-28  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.h: Update comments about ObjC/ObjC++ entry points.
+ 	(objc_is_reserved_word): New prototype.
+ 	(get_current_scope, objc_mark_locals_volatile): Move prototypes to
+ 	separate section; these are call-backs.
+ 	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
+ 	ObjC/ObjC++ "@" keywords.
+ 	* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
+ 	prototypes; they already live in c-common.h.
+ 	* stub-objc.c: Update copyright notice.
+ 	(objc_is_reserved_word): New stub.
+ 
+ 2004-08-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
+ 	even when not checking.
+ 
+ 2004-08-27  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/13684
+ 	* gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
+ 	(gimple_push_cleanup): Add eh_only parm.
+ 	(gimplify_target_expr): Pass it.
+ 	* c.opt (-fno-threadsafe-statics): New option.
+ 	* c-opts.c (c_common_handle_option): Handle it.
+ 	* c-common.h (flag_threadsafe_statics): Declare it.
+ 	* c-common.c (flag_threadsafe_statics): Record it.
+ 	* doc/invoke.texi: Document it.
+ 	* tsystem.h (_GNU_SOURCE): Define.
+ 	* gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
+ 	(__gthread_recursive_mutex_init_function): New fn.
+ 	(__gthread_recursive_mutex_lock): New fn.
+ 	(__gthread_recursive_mutex_trylock): New fn.
+ 	(__gthread_recursive_mutex_unlock): New fn.
+ 	* gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
+ 	* gthr-win32.h, gthr-vxworks.h: Likewise.
+ 	* gthr.h: Document.
+ 
+ 2004-08-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Increase
+ 	maximum skip to 15.  Set function alignment, jump alignment, and
+ 	loop alignment to 16 for processors that form dispatch groups.
+ 	(rs6000_rtx_costs): outer_code is used.
+ 
+ 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* stor-layout.c (sizetype_set): Remove.
+ 	(set_sizetype): Don't test or set it.
+ 
+ 	* tree.h (size_int_type): Remove.
+ 	* fold-const.c: Do not #include gt-fold-const.h.
+ 	(size_htab_hash, size_htab_eq): Remove.
+ 	(size_int_kind): Use build_int_cst.
+ 	(new_const, size_htab): Remove.
+ 	(size_int_type): Remove.
+ 	(round_up): Use build_int_cst.
+ 	(round_down): Likewise. Remove spurious constant build.
+ 
+ 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.ac: Add ENABLE_ASSERT_CHECKING control.
+ 	Add is_release variable, use it for --enable-werror and
+ 	--enable-checking defaults.
+ 	* system.h (gcc_assert, gcc_unreachable): New.
+ 	* doc/install.texi (--enable-checking): Update.
+ 	* configure, config.in: Rebuilt.
+ 
+ 2004-08-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* rtl.h (read_rtx): Change prototype.
+ 	* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
+ 	line number.  Return true on success.
+ 	* gensupport.c (process_include, init_md_reader_args_cb): Adjust
+ 	callers accordingly.
+ 
+ 2004-08-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (build_offsetof): Remove.
+ 	* c-tree.h (build_offsetof): Remove.
+ 	* c-common.c (fold_offsetof_1, fold_offsetof): New.
+ 	* c-common.h (fold_offsetof): Declare.
+ 	* c-parse.in (offsetof_base): New.
+ 	(offsetof_member_designator): Use it.  Build references, not just
+ 	a tree list.
+ 	(primary): Use fold_offsetof, not build_offsetof.
+ 
+ 2004-08-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.c (staticp): Return the static object.
+ 	* tree.h (staticp): Update decl.
+ 	* langhooks.h (struct lang_hooks): Change staticp return type to tree.
+ 	* langhooks.c (lhd_staticp): Return NULL_TREE.
+ 	* langhooks-def.h (lhd_staticp): Update decl.
+ 	* c-common.c (c_staticp): Return the static object.
+ 	* c-common.h (c_staticp): Update decl.
+ 
+ 2004-08-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
+ 	modes.
+ 
+ 2004-08-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/13801
+ 	* c-decl.c (struct c_binding): Add type and inner_comp fields.
+ 	(bind): Set type and inner_comp fields.
+ 	(pop_scope): Restore type of decl to the correct type from an
+ 	outer scope.  Give error when popping file scope for incomplete
+ 	arrays completed incompatibly with default initialization in an
+ 	inner scope.
+ 	(diagnose_mismatched_decls): Handle externs with initializers at
+ 	block scope.
+ 	(pushdecl): Set type of external declaration at block scope based
+ 	only on the visible declarations.  Save type when changing the
+ 	type of a declaration.  Merge an external declaration at block
+ 	scope with a visible static declaration at file scope.
+ 	(implicitly_declare): Give recycled old declaration the new type
+ 	except for incompatible declarations of built-in functions, saving
+ 	the old type.
+ 
+ 2004-08-26  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
+ 
+ 2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-alias-common.c (gate_pta): New function.
+ 	(pass_build_pta): Use it.
+ 	(pass_del_pta): Use it.
+ 	(delete_alias_vars): Don't check flag_tree_points_to.
+ 
+ 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
+ 	TFmode as additional register mode cloberred by call.
+ 
+ 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_libcall_value): Generate
+ 	parallel pattern for library call returning DImode in
+ 	mixed mode.
+ 
+ 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (function_arg): Generate parallel
+ 	pattern for more split args.
+ 
+ 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
+ 	either gen_movdi_di_update or gen_movdi_si_update depending on
+ 	target mode.
+ 	* config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
+ 	to generate two versions.
+ 
+ 2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (lambda-code.o): New.
+ 	(lambda-trans.o): Ditto.
+ 	(TREE_DATA_REF_H): Ditto.
+ 	(LAMBDA_H): Ditto.
+ 	(lambda-mat.o): Use LAMBDA_H.
+ 	(tree-data-ref.o): Ditto.
+ 	* lambda-code.c: New file.  Lambda code generation algorithm.
+ 	* lambda-trans.c: Ditto. Lambda transformation matrix support.
+ 	* lambda.h: Add lambda loop structures.
+ 	Add lambda loopnest structures.
+ 	Add lambda body vector structure.
+ 	Add lambda linear expression structures.
+ 	Add prototypes for functions in new files.
+ 	* lambda-mat.c: Include tree.h
+ 
+ 2004-08-26  Daniel Berlin <dberlin@dberlin.org>
+ 	    Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-data-ref.h: Include lambda.h
+ 	(free_dependence_relation): Declared here.
+ 	(free_dependence_relations): Ditto.
+ 	(free_data_refs): Ditto.
+ 	* tree-data-ref.c (free_dependence_relation): New function.
+ 	(free_dependence_relations): Ditto.
+ 	(free_data_refs): Ditot.
+ 	(analyze_all_data_dependences): Free datarefs and dependence_relations.
+ 	(build_classic_dist_vector): Store in the dependence_relations the
+ 	information. Each arc in the dependence_relations graph is labelled
+ 	with the distance and direction vectors.
+ 	(build_classic_dir_vector): Ditto.
+ 	(compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
+ 	Now computes again the whole dependence graph including read-read
+ 	relations.
+ 	(compute_data_dependences_for_loop): Now dependence_relations contains
+ 	all the data, and thus it doesn't need to initialize the classic_dir
+ 	and classic_dist vectors.
+ 	(analyze_all_data_dependences): Adjusted for using the new interface of
+ 	compute_data_dependences_for_loop.  Remove the statistics dump.
+ 
+ 2004-08-26  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
+ 	(xtensa_expand_block_move): Update comment.
+ 	(override_options): Remove initialization of xtensa_{ld,st}_opcodes.
+ 
+ 2004-08-26  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/13506
+ 	* toplev.c (crash_signal): If we crashed while emitting
+ 	a user asm, then die more gracefully.
+ 
+ 2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	PR target/17119.
+ 	* config/m32r.c (gen_compare): Use reg_or_int16_operand when
+ 	checking for a valid constant, regardless of sign.
+ 
+ 2004-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/16974
+ 	* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
+ 	if the constant satisfies add_operand.
+ 
+ 2004-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR debug/10695
+ 	* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
+ 	(alpha_expand_prologue): Handle >32-bit frames.  Generate proper
+ 	unwind info for >16-bit frames.
+ 
+ 2004-08-25  Richard B. Kreckel  <richard.kreckel@framatome-anp.com>
+ 
+ 	PR target/17171
+ 	* config/i386/gas.h (ASM_COMMENT_START): Define to "#".
+ 
+ 2004-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 
+ 2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* doc/tree-ssa.texi: Document new operand iterator.
+ 
+ 2004-08-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/16480
+ 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
+ 	on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
+ 	as PLUS base regs.
+ 
+ 2005-08-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
+ 	-mfpu=vfp -march=armv5t
+ 	* config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
+ 
+ 2004-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
+ 	* target.h (struct gcc_target): Add scalar_mode_supported_p.
+ 	* targhooks.c (default_scalar_mode_supported_p): New.
+ 	* targhooks.h (default_scalar_mode_supported_p): Declare.
+ 	* doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
+ 
+ 	* c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
+ 	before attempting to create types.  Tidy.
+ 	* expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
+ 
+ 	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
+ 	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
+ 
+ 2004-08-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
+ 	set REAL_MODE_FORMAT for TFmode.
+ 
+ 2004-08-25  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-decl.c (grokparm): New function.
+ 	* c-tree.h (grokparm): New prototype.
+ 
+ 2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-ssa-operands.h (struct ssa_operand_iterator_d): New.  SSA operand
+ 	iterator controlling structure.
+ 	(SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
+ 	SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
+ 	SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New.  Operand
+ 	iterator flags.
+ 	(FOR_EACH_SSA_TREE_OPERAND): New.  Iterate over operands as trees.
+ 	(FOR_EACH_SSA_USE_OPERAND): New.  Iterate over operands as uses.
+ 	(FOR_EACH_SSA_DEF_OPERAND): New.  Iterate over operands as defs.
+ 	(FOR_EACH_SSA_MAYDEF_OPERAND): New.  Iterate over V_MAY_DEFs.
+ 	* tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
+ 	Empty operand pointers.
+ 	* tree-flow-inline.h (op_iter_done): New.  Return true if finished.
+ 	(op_iter_next_use): New.  Return next use_operand_p.
+ 	(op_iter_next_def): New.  Return next def_operand_p.
+ 	(op_iter_next_tree): New.  Return next operands as a tree.
+ 	(op_iter_init): New.  Initialize an iterator structure.
+ 	(op_iter_init_use): New.  Initialize structure and get the first use.
+ 	(op_iter_init_def): New.  Initialize structure and get the first def.
+ 	(op_iter_init_tree): New.  Initialize structure and get the first tree.
+ 	(op_iter_next_maydef): New.  Return next V_MAY_DEF operands.
+ 	(op_iter_init_maydef): New.  Initialize structure and get the first
+ 	V_MAY_DEF operands.
+ 	* tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
+ 	* tree-dfa.c (compute_immediate_uses_for_stmt,
+ 	redirect_immediate_uses): Use new operand iterator.
+ 	(v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
+ 	(mark_new_vars_to_rename): Use new operand iterator.  Count virtual
+ 	operands instead of using *_disappeared_p routines.
+ 	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
+ 	ssa_rewrite_stmt): Use new operand iterator.
+ 	* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
+ 	rewrite_trees): Use new operand iterator.
+ 	* tree-pretty-print.c (dump_vops): Use new operand iterator.
+ 	* tree-sra.c (mark_all_v_defs): Use new operand iterator.
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escape,
+ 	dump_points_to_info): Use new operand iterator.
+ 	* tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
+ 	replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
+ 	operand iterator.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
+ 	propagate_necessity): Use new operand iterator.
+ 	* tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
+ 	(register_definitions_for_stmt): Use new operand iterator.  Take stmt as
+ 	a parameter instead of a stmt_ann_t.
+ 	* tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
+ 	build_tree_conflict_graph): Use new operand iterator.
+ 	* tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
+ 	rewrite_mem_refs): Use new operand iterator.
+ 	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
+ 	check_loop_closed_ssa_use): Use new operand iterator.
+ 	* tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
+ 	* tree-ssanames.c (release_defs): Use new operand iterator.
+ 	* tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
+ 
+ 2004-08-25  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* tlink.c (initial_cwd): New variable.
+ 	(tlink_init): Initialize it.
+ 	(recompile_files): Use tlink_execute() instead of system().  Don't
+ 	duplicate verbose output of collect_execute.  Restore initial_cwd.
+ 	Update comment before the function.
+ 
+ 2004-08-25  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
+ 	accept) a cast from one Objective-C pointer type to another.
+ 
+ 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
+ 
+ 	* doc/install.texi: Document that libstdc++-v3 requires
+ 	now automake 1.9.1.
+ 
+ 2004-08-25  Caroline Tice  <ctice@apple.com>
+ 
+ 	* bb-reorder.c (partition_hot_cold_basic_blocks):  Add more details
+ 	to comments at start of function.
+ 	* cfgbuild.c (make_edges):  Add more details to hot/cold partitioning
+ 	comment.
+ 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
+ 	merge_blocks_move_predecessor_nojumps,
+ 	merge_blocks_move_successor_nojumps, merge_blocks_move,
+ 	try_crossjump_to_edge, try_crossjump_bb): Likewise.
+ 	* cfglayout.c (fixup_reorder_chain): Likewise.
+ 	* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
+ 	cfg_layout_can_merge_blocks_p):  Likewise.
+ 	* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
+ 	* passes.c (rest_of_compilation): Update comments for calling
+ 	optimization that partitions hot/cold basic blocks.
+ 	* doc/invoke.texi:  Update documentation of
+ 	freorder-blocks-and-partition flag.
+ 
+ 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (reg): Renamed mode attribute from ccreg.
+ 	(*mov*_on_*): Adjust accordingly.  Add an explicit MOVECC: prefix.
+ 
+ 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (any_shift): New code macro.
+ 	(optab, insn): New code attributes.
+ 	({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
+ 	Use the standard rather than internal patterns for the MIPS16
+ 	double-shift optimization.
+ 	(*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
+ 	Redefine using :GPR and any_shift.
+ 	(*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
+ 	to cover all three shifts.
+ 	(*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
+ 	Redefine using any_shift.  Use :GPR and any_shift to combine splitters.
+ 	(*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
+ 
+ 2004-08-24  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gimplify.c (lookup_tmp_var): Separate temporaries when not
+ 	optimizing.
+ 
+ 2004-08-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR libstdc++/17005 (fix for HP-UX 11.11)
+ 	* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
+ 	(hppa*-*-hpux*): Consolidate hppa1.0-*-* code.  Rework handling of
+ 	tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
+ 	* config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
+ 	* config/pa/pa-hpux.h (TARGET_HPUX): Define.
+ 	(LINK_SPEC): Handle march=1.0 option.
+ 	* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
+ 	and _XOPEN_SOURCE_EXTENDED for UNIX 95.
+ 	(SUBTARGET_OPTIONS): New define.
+ 	(LINK_SPEC): Handle march=1.0 option.
+ 	(STARTFILE_SPEC): New define.
+ 	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
+ 	and _XOPEN_SOURCE_EXTENDED for UNIX 95.  Additionally, predefine
+ 	_INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
+ 	(SUBTARGET_OPTIONS): New define.
+ 	(LINK_SPEC): Handle march=1.0 option.
+ 	(STARTFILE_SPEC): New define.
+ 	* config/pa/pa.c (override_options): Add code to process -munix= option.
+ 	* config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
+ 	(TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
+ 	defines.
+ 	(TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
+ 	(SUBTARGET_OPTIONS): Provide default define.
+ 	* config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
+ 	STANDARD_STARTFILE_PREFIX_2): New defines.
+ 	(STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
+ 	(ENDFILE_SPEC): Use %O.
+ 	* doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
+ 	Mention issue caused by changing namespace and runtime to UNIX 95/98.
+ 	* doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
+ 	Document -munix=std option.
+ 
+ 2004-08-25  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cse.c (cse_around_loop, cse_check_loop_start,
+ 	cse_set_around_loop): Remove.
+ 	(cse_basic_block): Remove the around_loop argument.
+ 	(cse_end_of_basic_block): Remove the after_loop argument.
+ 	(cse_main): Likewise.
+ 	* rtl.h (cse_main): Update prototype.
+ 	* passes.c (rest_of_handle_cse, rest_of_handle_cse2,
+ 	rest_of_handle_gcse): Update cse_main calls.
+ 
+ 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h  (build_int_cst): New, sign extended constant.
+ 	(build_int_cstu): New, zero extended constant.
+ 	(build_int_cst_wide): Renamed from build_int_cst.
+ 	* tree.c (build_int_cst, build_int_cstu): New.
+ 	(build_int_cst_wide): Renamed from build_int_cst.
+ 	(make_vector_type, build_common_tree_nodes,
+ 	build_common_tree_nodes_2): Adjust build_int_cst calls.
+ 	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
+ 	expand_builtin_strpbrk, expand_builtin_fputs,
+ 	build_string_literal, expand_builtin_printf,
+ 	expand_builtin_sprintf, fold_builtin_classify_type,
+ 	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
+ 	fold_builtin_toascii, fold_builtin_isdigit,
+ 	simplify_builtin_strstr, simplify_builtin_strpbrk,
+ 	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
+ 	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
+ 	DEF_ATTR_INT): Likewise.
+ 	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
+ 	Likewise.
+ 	* c-lex.c (interpret_integer, lex_charconst): Likewise.
+ 	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
+ 	* c-pretty-print.c (pp_c_integer_constant): Likewise.
+ 	* c-typeck.c (really_start_incremental_init, push_init_level,
+ 	set_nonincremental_init_from_string): Likewise.
+ 	* calls.c (load_register_parameters): Likewise.
+ 	convert.c (convert_to_pointer): Likewise.
+ 	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
+ 	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
+ 	build_gcov_info): Likewise.
+ 	* except.c (init_eh, assign_filter_values): Likewise.
+ 	* expmed.c (store_fixed_bit_field, extract_bit_field,
+ 	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
+ 	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
+ 	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
+ 	* expr.c (convert_move, emit_group_load, emit_group_store,
+ 	expand_assignment, store_constructor, store_field,
+ 	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
+ 	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
+ 	invert_truthvalue, optimize_bit_field_compare,
+ 	decode_field_reference, all_ones_mask_p, constant_boolean_node,
+ 	fold_div_compare, fold, fold_read_from_constant_string,
+ 	fold_negate_const, fold_abs_const, fold_not_const, round_up,
+ 	round_down): Likewise.
+ 	* function.c (assign_parm_setup_block): Likewise.
+ 	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
+ 	Likewise.
+ 	* stor-layout.c (layout_type, initialize_sizetypes,
+ 	set_min_and_max_values_for_integral_type): Likewise.
+ 	* tree-chrec.c (chrec_fold_multiply_poly_poly,
+ 	reset_evolution_in_loop): Likewise.
+ 	* tree-chrec.h (build_polynomial_chrec): Likewise.
+ 	* tree-complex.c (build_replicated_const): Likewise.
+ 	* tree-eh.c (honor_protect_cleanup_actions,
+ 	lower_try_finally_onedest, lower_try_finally_copy,
+ 	lower_try_finally_switch): Likewise.
+ 	* tree-mudflap.c (mf_build_string, mx_register_decls,
+ 	mudflap_register_call, mudflap_enqueue_constant): Likewise.
+ 	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
+ 	Likewise.
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
+ 	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
+ 	Likewise.
+ 	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
+ 	canonicalize_loop_induction_variables): Likewise.
+ 	* tree-vectorizer.c (vect_create_index_for_array_ref,
+ 	vect_transform_loop_bound, vect_compute_data_ref_alignment):
+ 	Likewise.
+ 
+ 	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
+ 	alpha_gimplify_va_arg_1): Likewise.
+ 	* config/arm/arm.c (arm_get_cookie_size): Likewise.
+ 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
+ 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+ 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ 	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
+ 	mips_gimplify_va_arg_expr): Likewise.
+ 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
+ 	add_compiler_branch_island): Likewise.
+ 	* config/s390/s390.c (s390_va_start): Likewise.
+ 	* config/sh/sh.c (sh_va_start): Likewise.
+ 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+ 	Likewise.
+ 	* config/xtensa/xtensa.c (xtensa_va_start,
+ 	xtensa_gimplify_va_arg_expr): Likewise.
+ 
+ 	* objc/objc-act.c (build_objc_string_object,
+ 	build_objc_symtab_template, init_def_list, init_objc_symtab,
+ 	init_module_descriptor, generate_static_references,
+ 	build_selector_translation_table, get_proto_encoding,
+ 	build_typed_selector_reference, build_selector_reference,
+ 	build_next_objc_exception_stuff,
+ 	build_method_prototype_list_template, generate_descriptor_table,
+ 	generate_protocols, build_protocol_initializer,
+ 	build_ivar_list_template, build_method_list_template,
+ 	build_ivar_list_initializer, generate_ivars_list,
+ 	generate_dispatch_table, generate_protocol_list,
+ 	build_category_initializer, build_shared_structure_initializer,
+ 	generate_shared_structures, handle_impent,
+ 	generate_objc_image_info): Likewise.
+ 
+ 2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* cfglayout.c (duplicate_insn_chain): Remove references to
+ 	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
+ 	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
+ 	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
+ 	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
+ 	and NOTE_INSN_LOOP_CONT.
+ 	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
+ 	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
+ 	and NOTE_INSN_LOOP_CONT.
+ 	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
+ 	check_dbra_loop, loop_dump_aux): Remove references to removed notes
+ 	and fields.
+ 	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
+ 	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
+ 	references to removed notes and fields.
+ 	(subtract_reg_term, ujump_to_loop_cont): Remove.
+ 
+ 2004-08-25  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/install.texi: Document that libcpp does not require
+ 	Automake any longer.  Document that Automake 1.9.1 should
+ 	work everywhere.
+ 
+ 2004-08-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* flags.h (enum debug_info_type): Remove DWARF_DEBUG.
+ 	* defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
+ 	DWARF_DEBUGGING_INFO from choice-of-definition chain;
+ 	restructure using C89 features (#elif, #error).
+ 	* c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
+ 	* config/sh/sh.h: Remove references to DWARF_DEBUG.
+ 	* doc/invoke.texi: Remove references to DWARF version 1;
+ 	clarify why -gdwarf-2<n> doesn't work.
+ 
+ 2004-08-25  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* basic-block.h (BB_SET_PARTITION): Clear old value first.
+ 	* cfg.c (clear_bb_flags): Don't clear partition setting.
+ 	* ifcvt.c (find_if_case_1): Remove ??? comment.
+ 
+ 2004-08-25  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/17052
+ 	* config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
+ 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
+ 	current_function_stdarg in place of sysv_varargs_p.
+ 	* config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
+ 	sysv_varargs_p.
+ 
+ 2004-08-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/16298
+ 	* config/i386/i386.c (legitimate_constant_p): Rework to not accept
+ 	random codes within CONST.
+ 
+ 2004-08-24  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
+ 	-freorder-blocks-and-partition.
+ 
+ 2004-08-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/17044
+ 	* tree-ssa-threadupdate.c (redirection_data): Make static.
+ 	(thread_block): Use ggc_alloc_cleared to allocate struct
+ 	redirection_data.  Don't free elements in redirection_data.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/predicates.md (small_data_pattern): Match prefetches.
+ 
+ 2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/17016
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
+ 	number_of_iterations_exit): Use POINTER_TYPE_P instead
+ 	of testing for POINTER_TYPE.
+ 
+ 2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-ivcanon.c: New file.
+ 	* tree-ssa-loop-manip.c (create_iv): New function.
+ 	* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
+ 	(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
+ 	* cfgloop.c (mark_single_exit_loops): New function.
+ 	(verify_loop_structure): Verify single-exit loops.
+ 	* cfgloop.h (struct loop): Add single_exit field.
+ 	(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
+ 	(mark_single_exit_loops): Declare.
+ 	(tree_num_loop_insns): Declare.
+ 	* cfgloopmanip.c (update_single_exits_after_duplication): New function.
+ 	(duplicate_loop_to_header_edge): Use it.
+ 	* common.opt (fivcanon): New flag.
+ 	* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
+ 	* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
+ 	(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
+ 	(bsi_insert_on_edge_immediate): New function.
+ 	* tree-flow.h (bsi_insert_on_edge_immediate,
+ 	canonicalize_induction_variables, tree_unroll_loops_completely,
+ 	create_iv): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_iv_canon and pass_complete_unroll.
+ 	* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
+ 	* tree-scalar-evolution.c (get_loop_exit_condition,
+ 	get_exit_conditions_rec, number_of_iterations_in_loop,
+ 	scev_initialize): Use single_exit information.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
+ 	missing assumptions.
+ 	(loop_niter_by_eval):  Return number of iterations as unsigned
+ 	int.
+ 	* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
+ 	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
+ 	tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
+ 	New passes.
+ 	(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
+ 	* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
+ 	the defining statement is ready.
+ 	* tree-vectorizer.c (vect_create_iv_simple): Removed.
+ 	(vect_create_index_for_array_ref, vect_transform_loop_bound):
+ 	Use create_iv.
+ 	(vect_transform_loop_bound): Use single_exit information.
+ 	(vect_analyze_loop_form): Cleanup bogus tests.
+ 	(vectorize_loops): Do not call flow_loop_scan.
+ 	* tree.h (may_negate_without_overflow_p): Declare.
+ 	* fold-const.c (may_negate_without_overflow_p): Split out from ...
+ 	(negate_expr_p): ... this function.
+ 	(tree_expr_nonzero_p): Handle overflowed constants correctly.
+ 	* doc/invoke.texi (-fivcanon): Document.
+ 	* doc/passes.texi: Document canonical induction variable creation.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
+ 	* config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
+ 	using the mode of the operand to decide between them.
+ 	* config/mips/mips.md (MOVECC): New mode macro.
+ 	(ccreg): New mode attribute.
+ 	(*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
+ 	Redefine using :GPR and :MOVECC.  Use %T and %t for the condition.
+ 	(mov[sd]icc): Redefine using :GPR.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_emit_prefetch): Delete.
+ 	(mips_prefetch_cookie): New function.
+ 	* config/mips/mips.c (print_operand_address): Fix handling of
+ 	ADDRESS_CONST_INT.
+ 	(mips_emit_prefetch): Delete.
+ 	(mips_prefetch_cookie): New function.
+ 	* config/mips/mips.md (prefetch): Turn into a define_insn.  Use a
+ 	mode of QImode for the address_operand.  Use mips_prefetch_cookie
+ 	to calculate the first "pref" operand.
+ 	(prefetch_[sd]i, prefetch_[sd]i_address): Delete.
+ 	(prefetch_indexed_[sd]i): Redefine using :P.  Use mips_prefetch_cookie.
+ 
+ 2004-08-24  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md: Include predicates.md.
+ 	* predicates.md: New file.
+ 	* arm.c (s_register_operand, arm_hard_register_operand)
+ 	(arm_general_register_operand, f_register_operand, reg_or_int_operand)
+ 	(arm_immediate_operand, arm_neg_immediate_operand)
+ 	(arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
+ 	(arm_add_operand, arm_addimm_operand, arm_not_operand)
+ 	(offsettable_memory_operand, alignable_memory_operand)
+ 	(arm_reload_memory_operand, arm_float_rhs_operand)
+ 	(arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
+ 	(index_operand, shiftable_operator, logical_binary_operator)
+ 	(shift_operator, equality_operator, arm_comparison_operator)
+ 	(minmax_operator, cc_register, dominant_cc_register)
+ 	(arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
+ 	(di_operand, nonimmediate_soft_df_operand, soft_df_operand)
+ 	(const_shift_operand, load_multiple_operation)
+ 	(store_multiple_operation, multi_register_push, thumb_cmp_operand)
+ 	(thumb_cmpneg_operand, thumb_cbrch_target_operand)
+ 	(cirrus_register_operand, cirrus_fp_register)
+ 	(cirrus_shift_const): Delete, replaced with equivalents in
+ 	predicates.md.
+ 	(shift_op): Handle ROTATE.
+ 	* arm-protos.h: Delete declarations for above.
+ 	* arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
+ 	* t-arm (MD_INCLUDES): Add predicates.md.
+ 	(s-preds): Depends on MD_INCLUDES.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
+ 	* config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
+ 	patterns.  Redefine using :GPR.  Give the match_operator a mode.
+ 	Use '%2' rather than '%z2' for operand 2.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (load_call[sd]i): Redefine using :P.  Add mode
+ 	attribute.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (indirect_jump): Use force_reg.  Adjust names
+ 	of internal patterns.
+ 	(indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
+ 	Redefine using :P.
+ 	(tablejump): Use expand_binop to calculate address.  Adjust names
+ 	of internal patterns.
+ 	(tablejump[sd]i): Renamed from tablejump_internal[12].
+ 	Redefine using :P.
+ 	(tablejump_mips16[12]): Delete.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
+ 	(*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
+ 	(*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
+ 	(*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
+ 	(*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
+ 
+ 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
+ 	(*branch_zero[sd]i): Renamed from branch_zero{,_di}.  Redefine
+ 	using :GPR.
+ 	(*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
+ 	(*branch_equality[sd]i): Likewise branch_equality{,_di}.
+ 	(*branch_equality[sd]i_inverted): Likewise
+ 	branch_equality{,_di}_inverted.
+ 	(*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
+ 	Redefine using :GPR.
+ 
+ 2004-08-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.def: Reorganize, placing all codes used only in machine
+ 	descriptions at the end.
+ 
+ 	* rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
+ 	* gengtype.c: Don't include rtl.h.  Define enum rtx_code and
+ 	rtx_name, rtx_format arrays by direct reference to rtl.def,
+ 	first undefining GENERATOR_FILE.  Define enum insn_note and
+ 	note_insn_name array by direct reference to insn-notes.def.
+ 	(adjust_field_rtx_def): Remove local definition of rtx_name.
+ 	Use symbolic names for insn notes.
+ 	* Makefile.in (gengtype.o): Update dependencies.
+ 
+ 2004-08-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* basic-block.h (struct basic_block_def): Reorder fields to
+ 	eliminate interior padding.  Remove 'partition' field.
+ 	(BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
+ 	(BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
+ 	(BB_COPY_PARTITION): New macros.
+ 	* bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
+ 	Replace all references to the 'partition' field of a basic
+ 	block with new macros.
+ 
+ 	* insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
+ 	* final.c (final_scan_insn): Don't handle it.
+ 	* modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
+ 	instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
+ 	* sched-rgn.c (sched_is_disabled_for_current_region_p):
+ 	Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
+ 
+ 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-decl.c (c_init_decl_processing): Adjust
+ 	build_common_tree_nodes call.
+ 	* expmed.c (const_mult_add_overflow_p): Use
+ 	build_distinct_type_copy.
+ 	* stor-layout.c (early_type_list): Remove.
+ 	(layout_type): Don't append to early_type_list.
+ 	(initialize_sizetypes): Add signed_p argument.
+ 	(set_sizetype): Overwrite the stub type nodes directly.
+ 	* tree.c (copy_node_stat): Clear a type's value cache here ...
+ 	(build_distinct_type): ... not here.
+ 	(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
+ 	* tree.h (initialize_sizetypes): Add signed_p argument.
+ 	(build_common_tree_nodes): Likewise.
+ 
+ 	* objc/objc-act.c (get_static_reference): Use
+ 	build_variant_type_copy.
+ 	(get_protocol_reference): Likewise.
+ 	* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
+ 
+ 2004-08-24  Richard Henderson  <rth@redhat.com>
+ 	    Andrew Pinski  <apinski@apple.com>
+ 
+ 	* gimplify.c (gimplify_array_ref_to_plus): Delete.
+ 	(gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
+ 	for ARRAY_REF.
+ 
+ 	* config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
+ 	ARRAY_REF also to get to the STRING_CST.
+ 
+ 2004-08-24  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_override_options): Update error message.
+ 	* config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
+ 	TARGET_HARD_FLOAT_ABI.
+ 	(TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
+ 	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
+ 
+ 2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	PR target/17093
+ 	* config/m32r.md (movsi_sda): Add SI mode specification to
+ 	UNSPEC.
+ 
+ 2004-08-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
+ 	of seth_add3_operand.
+ 
+ 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (PROTO_OBJS): Add errors.o.
+ 	* protoize.c (fancy_abort): Remove.
+ 	* mips-tfile.c (fancy_abort): Add parameters.
+ 
+ 2004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
+ 
+ 	* doc/trouble.texi (C++ misunderstandings): Fix example code.
+ 
+ 2004-08-24  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
+ 	(host-default.o): Add dependency on HOOKS_H.
+ 	* config/x-linux: Likewise.
+ 	* config/x-solaris: Likewise.
+ 	* config/i386/x-mingw32: Likewise.
+ 	* config/rs6000/x-darwin: Likewise.
+ 
+ 2004-08-23  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
+ 	DEF_REG_NOTE.
+ 
+ 2004-08-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c/14492
+ 	* dwarf2out.c (loc_descriptor_from_tree): Robustify.
+ 
+ 2004-08-23  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* cfg.c (check_bb_profile): Fix typos.
+ 	* function.c (assign_parm_is_stack_parm): Likewise.
+ 	* tree-nested.c: Likewise.
+ 
+ 2004-08-23  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
+ 	Remove TYPECODE.
+ 	(ggc_alloc_zone_1): Mark TYPE as unused.  Don't save it in the chunk.
+ 
+ 2004-08-23  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
+ 	* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
+ 	* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
+ 	* target.h: Ditto.
+ 	* hooks.h: Include machmode.h.
+ 	(hook_bool_mode_false): Declare.
+ 	* hooks.c (hook_bool_mode_false): Define.
+ 	* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
+ 	* stor-layout.c (layout_type): Ditto.
+ 	* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
+ 	Define to target macro.
+ 	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
+ 	* config/arm/arm.c: Ditto. Use.
+ 	* config/arm/arm.h: Ditto.
+ 	* config/arm/arm-protos.h: Ditto.
+ 	* config/i386/i386.c: Ditto.
+ 	* config/i386/i386.h: Ditto.
+ 	* config/rs6000/rs6000.c: Ditto.
+ 	* config/rs6000/rs6000.h: Ditto.
+ 	* config/sh/sh.c: Ditto.
+ 	* config/sh/sh.h: Ditto.
+ 	* config/sh/sh-protos.h: Ditto.
+ 	* config/sh/sh.md: Use.
+ 	* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
+ 	to TARGET_VECTOR_MODE_SUPPORTED_P.
+ 
+ 2004-08-23  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* Makefile.in (BUILD_ERRORS): Set to build-errors.
+ 	(errors.o): New target for host.
+ 	(build-errors.o): New target for build.
+ 	(genobjs): Replace errors.o with build-errors.
+ 	(gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
+ 	(GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
+ 	(fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
+ 	(fix-header.o): Add errors.h
+ 	* collect2.c (fancy_abort): Add parameters.
+ 	* collect2.h (fancy_abort): Don't declare.
+ 	* errors.h (fancy_abort): Don't declare.
+ 	* errors.c: Include either bconfig.h or config.h.
+ 	(fancy_abort): Trim filename.
+ 	* fix-header.c (v_fatal, fatal): Remove.
+ 	(progname): Remove definition.
+ 	(main): Set progname here.
+ 	* gcc.c (fancy_abort): Add parameters.
+ 	* gcc.h (fancy_abort): Remove declaration.
+ 	* gcov.c (fancy_abort): Remove.
+ 	* rtl.h (fancy_abort): Don't declare.
+ 	(abort): Don't define.
+ 	* tree.h (fancy_abort): Don't declare.
+ 	(abort): Don't define.
+ 	* system.h (fancy_abort): Declare.
+ 	(abort): Define to fancy_abort.
+ 	* fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
+ 
+ 	* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
+ 	(usize_type, ubitsizetype): Remove.
+ 	* stor-layout.c (set_sizetype): Don't initialize usizetype,
+ 	ubitsizetype.
+ 	* fold-const.c (size_diffop): TYPE can never be ubitsizetype.
+ 
+ 	* tree.h (build_distinct_type_copy): New.
+ 	(build_type_copy): ... here.  Rename to ...
+ 	(build_variant_type_copy): ... here.
+ 	* tree.c (build_qualified_type): Rename build_type_copy call.
+ 	(build_distinct_type_copy): New, broken out of ...
+ 	(build_type_copy): ... here.  Rename to ...
+ 	(build_variant_type_copy): ... here.  Use
+ 	build_distinct_type_copy.
+ 	(build_common_tree_nodes_2): Rename build_type_copy call.
+ 	* c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
+ 	call.
+ 	(handle_packed_attribute, handle_unused_attribute,
+ 	handle_transparanet_union_attribute, handle_aligned_attribute,
+ 	handle_deprecated_attribute): Likewise.
+ 	* c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
+ 	Likewise.
+ 	* config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_init_builtins): Use
+ 	build_distinct_type_copy.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR.  Add mode
+ 	attribute.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
+ 	loads and stores.
+ 	(*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
+ 	formerly unnamed patterns.  Redefine using :P for the address.  Remove
+ 	explicit length attributes.
+ 
+ 2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
+ 	New functions.
+ 	(single_reachable_address): Use them.
+ 	(schedule_sm): Add dump.
+ 	(is_call_clobbered_ref): New function.
+ 	(determine_lsm_reg): Check whether the reference is call clobbered.
+ 	Only work for gimple_reg_type values.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
+ 	$31 store insns.  Redefine using :GPR.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (P): New mode macro.
+ 	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
+ 	(*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
+ 	Add mode attributes.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
+ 	(UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants.  Shuffle
+ 	later constants to cover the gap.
+ 	(load, store): New mode attributes.
+ 	(mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
+ 	Use new unspec constants.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
+ 	(and[sd]3, ior[sd]i3, xor[sd]i3): Likewise.  Change 32-bit patterns
+ 	to use register_operand rather than uns_arith_operand as the predicate
+ 	for operand 1.  Remove redundant MIPS16 force_reg() for operand 1.
+ 	(*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
+ 	Redefine using :GPR.  Make same predicate change here.  Extend the
+ 	commutativity of operands 1 and 2 from the SImode version to the
+ 	DImode one.
+ 	(*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
+ 	but with no predicate changes.
+ 	(*nor[sd]i3): Redefine using :GPR.
+ 
+ 2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
+ 	noreturn functions.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
+ 	* config/mips/mips.md (abs[sd]i2): Redefine using :GPR.  Only use
+ 	branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY.  Use "%."
+ 	rather than "%z2" (with a fake const0_rtx for operand 2).
+ 	(ffs[sd]i2): Redefine using :GPR.
+ 	(clz[sd]i2): Likewise.  Use ISA_HAS_CLO_CLZ for the 64-bit case.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (any_extend): New code macro.
+ 	(u, su): New code attributes.
+ 	({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
+ 	({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
+ 	({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
+ 	(*{s,u}mul_acc_di): Redefine using any_extend.
+ 	(*{,u}muls_di, *{s,u}msac_di): Likewise.  Change names of patterns
+ 	to reflect real insn names.
+ 	(*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
+ 	with an any_extend template.
+ 	({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
+ 	Add '*' to name.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
+ 	* config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
+ 	(mul[sd]i3_r4000): Redefine using :GPR.
+ 	(mulsi3_mult3): Don't check TARGET_MAD separately.
+ 	(muldi3_mult3): Moved after mulsi_mult3.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
+ 	OBJECT_FORMAT_ELF.  Set MASK_SPLIT_ADDR by default if using GNU ld.
+ 	* config/mips/mips.h (MASK_GAS): Delete.  Shuffle later masks down.
+ 	(TARGET_GAS, TARGET_MIPS_AS): Delete.
+ 	(TARGET_GPWORD): Define to true for n32 on IRIX.
+ 	(TARGET_SWITCHES): Remove -mmips-as.  Turn -mgas into a no-op.
+ 	(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
+ 	(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
+ 	(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
+ 	(MDEBUG_ASM_SPEC): Delete, folding into...
+ 	(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
+ 	(ASM_SPEC): Inline old GAS_ASM_SPEC.  Use GNU names for ABI switches.
+ 	(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
+ 	subtarget_mips_as_asm_spec, mdebug_asm_spec.  Use MULTILIB_ABI_DEFAULT
+ 	to define asm_abi_default_spec.
+ 	(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
+ 	(TARGET_ASM_SELECT_SECTION): Delete.
+ 	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
+ 	for non-mips16 code, removing previous workaround for SGI assemblers.
+ 	(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
+ 	(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
+ 	(override_options): Remove !TARGET_GAS and !have_named_sections code.
+ 	(print_operand): Fold TARGET_GAS conditionals into asm strings.
+ 	(mips_output_filename): Remove !TARGET_GAS code.  Replace use of
+ 	ASM_STABS_OP and ASM_STABN_OP.
+ 	(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
+ 	(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
+ 	(mips_output_function_prologue): Remove !TARGET_GAS code.
+ 	(mips_select_rtx_section): Remove !have_named_sections code.
+ 	(mips_select_section): Delete.
+ 	* config/mips/mips.md (trap): Remove !TARGET_GAS check.
+ 	* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
+ 	* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
+ 	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
+ 	* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
+ 	* config/mips/windiss.h (ASM_SPEC): Likewise.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* read-rtl.c (map_value, mapping, macro_group): New structures.
+ 	(BELLWETHER_CODE): New macro.
+ 	(modes, codes, bellwether_codes): New variables.
+ 	(find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
+ 	(uses_code_macro_p, apply_code_macro, apply_macro_to_string)
+ 	(apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
+ 	(add_condition_to_rtx, apply_macro_traverse, add_mapping)
+ 	(add_map_value, initialize_macros): New functions.
+ 	(def_hash, def_hash_eq_p): Generalize to anything that points to,
+ 	or starts with, a char * field.
+ 	(find_macro, read_mapping, check_code_macro): New functions.
+ 	(read_rtx_1): New, split out from read_rtx.  Handle the new
+ 	define_{mode,code}_{macro,attr} constructs.  Use find_macro
+ 	to parse the name of a code or mode.  Use BELLWETHER_CODE to
+ 	extract the format and to choose a suitable code for rtx_alloc.
+ 	Modify recursive invocations to use read_rtx_1.
+ 	(read_rtx): Call initialize_macros.  Apply code and mode macros
+ 	to the rtx returned by read_rtx_1.  Cache everything after the
+ 	first macro expansion for subsequent read_rtx calls.
+ 	* doc/md.texi: Document new .md constructs.
+ 	* config/mips/mips.md (GPR): New mode macro.
+ 	(d, si8_di5): New mode attributes.
+ 	(any_cond): New code macro.
+ 	(add[sd]i3): Redefine using :GPR.
+ 	(*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
+ 	(*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
+ 	previously unnamed MIPS16 patterns.
+ 	(*addsi3_extended): Renamed from addsi3_internal_2.  Fix overly long
+ 	lines.  Don't match (plus (const_int 0) ...).
+ 	(*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
+ 	Use a define_split to generate the addition.
+ 	(sub[sd]i3): Redefine using :GPR.  Turn subsi3 into a define_insn.
+ 	(subsi3_internal): Delete.
+ 	(*subsi3_extended): Renamed from subsi3_internal_2.
+ 	(bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
+ 	(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
+ 	using an any_cond template.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* read-rtl.c (read_rtx): Tidy use of format_ptr.
+ 
+ 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* read-rtl.c (string_obstack): New file-scope variable.
+ 	(read_string, read_quoted_string, read_braced_string)
+ 	(read_escape): Remove obstack parameter and use string_obstack instead.
+ 	(read_rtx): Remove function-local rtl_obstack and initialize
+ 	string_obstack instead.  Update call to read_string.
+ 
+ 2004-08-22  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR c/15262
+ 	* c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
+ 	expression is not constant.
+ 	(c_finish_return): Do not go through INDIRECT_REF when looking
+ 	for the inner expression of an ADDR_EXPR for warning about.
+ 
+ 2004-08-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17075
+ 	* cfgexpand.c (expand_gimple_tailcall): Detect when we can both
+ 	create new blocks and fall through.
+ 	(expand_gimple_basic_block): Update to match.
+ 
+ 2004-08-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads_address): Make return value tri-state.
+ 	Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
+ 	(find_reloads): Assume that reloaded addresses match 'o' or
+ 	EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
+ 	returned 1 (not -1).  Omit optional reloads for address operands
+ 	only if find_reloads_address returned 1 (not -1).
+ 
+ 	* config/s390/s390.c (legitimize_reload_address): New function.
+ 	* config/s390/s390-protos.h (legitimize_reload_address): Declare.
+ 	* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define.  Call
+ 	legitimize_reload_address.
+ 
+ 2004-08-22  Richard Hendersion  <rth@redhat.com>
+ 
+ 	* tree.h (SAVE_EXPR_RESOLVED_P): New.
+ 	* gimplify.c (gimplify_save_expr): Use it.
+ 	* expr.c (expand_expr_real_1): Likewise.  Also set DECL_IGNORED_P
+ 	on the temporary variable.
+ 
+ 2004-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (rtl_expr_nonnegative_p): Delete.
+ 	* tree.h (rtl_expr_nonnegative_p): Remove.
+ 
+ 2004-08-22  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/ppro.md (ppro_complex_insn): Add missing check
+ 	for cpu==pentiumpro.
+ 
+ 	* combine.c (struct reg_stat): Fix comment typo.
+ 
+ 2004-08-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (c_sizeof_nowarn): Remove.
+ 
+ 2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (set_array_declarator_type): Rename to
+ 	set_array_declarator_inner.
+ 	(build_c_parm, build_attrs_declarator, build_function_declarator):
+ 	New functions.
+ 	(make_pointer_declarator): Call build_attrs_declarator.
+ 	* c-tree.h (set_array_declarator_type): Rename to
+ 	set_array_declarator_inner.
+ 	(build_c_parm, build_attrs_declarator, build_function_declarator):
+ 	New prototypes.
+ 	* c-parse.in (after_type_declarator,
+ 	parm_declarator_starttypename, parm_declarator_nostarttypename,
+ 	notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
+ 	firstparm): Use these functions
+ 
+ 2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (build_array_declarator, set_array_declarator_type,
+ 	start_decl, grokdeclarator, grokparms): Change boolean parameters
+ 	to type bool.
+ 	* c-tree.h (build_array_declarator, set_array_declarator_type,
+ 	start_decl): Update prototypes.
+ 	* c-decl.c, c-parse.in: All callers changed.
+ 
+ 2004-08-21  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
+ 	(darwin_fix_and_continue): Likewise.
+ 	(darwin_fix_and_continue_switch): Likewise.
+ 	* config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
+ 	(darwin_fix_and_continue): Likewise.
+ 	(darwin_fix_and_continue_switch): Likewise.
+ 
+ 2004-08-21  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR  c++/16030
+ 	* config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
+ 	Remove, merging into ...
+ 	(gen_stdcall_or_fastcall_suffix): New function, returning tree
+ 	rather than const char*, and accepting additional parameter.
+ 	Don't add suffix to '*'-prefixed symbols or variadic functions.
+ 	(i386_pe_encode_section_info): Adjust for call to new function.
+ 	Call change_decl_assembler_name.
+ 
+ 2004-08-20  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (machopic_indirect_data_reference): Mark
+ 	stubs as defined.
+ 	* config/386/386.c (darwin_local_data_pic): Add.
+ 	(legitimate_constant_p): Reorder so that PLUS handling runs
+ 	before darwin_local_data_pic to match the ordering in
+ 	legitimate_pic_address_disp_p and so that MINUS runs after
+ 	darwin_local_data_pic as otherwise the darwin_local_data_pic
+ 	logic can be skipped, which would be very bad.
+ 	(legitimate_pic_address_disp_p): Move from from here to
+ 	darwin_local_data_pic so it can be reused.
+ 
+ 2004-08-21  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (DOT_SYMBOLS): Define.
+ 	(CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
+ 	(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
+ 	(RS6000_ABI_NAME): Define as "linux".
+ 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
+ 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
+ 	ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
+ 	* config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
+ 	* config/rs6000/rs6000.c (dot_symbols): New global var.
+ 	(rs6000_output_function_entry): New function, modified for
+ 	!DOT_SYMBOLS..
+ 	(print_operand <case 'z'>): ..extracted from here.
+ 	(rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
+ 	(rs6000_output_function_epilogue): Likewise.
+ 	(rs6000_elf_declare_function_name): Likewise.
+ 	* config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
+ 	(ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
+ 	* configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 2004-08-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* reload.c (find_reloads_address): Fix thinko in previous change.
+ 
+ 	* reload.c (find_reloads_address): Reload the sum of a LO_SUM and
+ 	a CONST_INT.
+ 
+ 2004-08-20  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/17099
+ 	* combine.c (force_to_mode): Check if inner_mask has any bits set
+ 	outside of GET_MODE (x) instead of op_mode.
+ 
+ 2004-08-20  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
+ 	fragment.
+ 	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
+ 	(SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
+ 	* config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
+ 	architecture.
+ 	(SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
+ 	configurations.
+ 	* config/arm/t-symbian: New file.
+ 
+ 2004-08-20  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* regrename.c (kill_value_regno): ANSIfy.
+ 
+ 2004-08-20  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
+ 
+ 2004-08-20  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
+ 	(kill_value_regno): New function, derived from kill_value.
+ 	(kill_value): Update.
+ 	(copyprop_hardreg_forward_1): Update call to kill_value_regno.
+ 
+ 2004-08-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/17111
+ 	* tree-ssa-pre.c (create_value_expr_from): Don't change the types
+ 	of non-value_handles.
+ 	(bitmap_set_contains): All constants are in every set.
+ 
+ 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* fold-const.c (round_up, round_down): Use build_int_cst.
+ 	Optimize common case.
+ 
+ 2004-08-20  Zack Weinberg  <zack@codesourcery.com>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
+ 	one_only_data_section): Rename to som_readonly_data_section,
+ 	som_one_only_readonly_data_section and som_one_only_data_section.
+ 	* config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
+ 	NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
+ 	conditional defines.
+ 	(som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
+ 	NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
+ 	string values.
+ 	(pa_select_section): Use renamed section functions.
+ 	* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
+ 	SOM_READONLY_DATA_SECTION_FUNCTION,
+ 	SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
+ 	SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
+ 	Define here ...
+ 	* config/pa/som.h: ... not here.
+ 	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
+ 	ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
+ 	ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
+ 	ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
+ 	(READONLY_DATA_SECTION): Use som_readonly_data_section.
+ 
+ 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* fold-const.c (int_const_binop): Don't generate non-overflowing
+ 	size-types specially.
+ 	(fold_convert_const): Likewise.
+ 
+ 	* stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
+ 	clear cache on copied sizetype.
+ 
+ 2004-08-20  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* configure.ac: Don't escape apostrophe in --enable-coverage help.
+ 	* configure: Regenerate.
+ 
+ 2004-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR 5620
+ 	* gcc.c (struct stat input_stat): Don't define if
+ 	HOST_LACKS_INODE_NUMBERS
+ 	(do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
+ 	than stat to determine if temp file is same as input file.
+ 	* doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
+ 	* config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
+ 
+ 2004-08-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* configure.ac (mips*-*-*): Print an error if not using GAS.
+ 	* configure: Regenerated.
+ 	* doc/install.texi: Remove irix5 bullet from --with-gnu-as.  Remove
+ 	comments about buggy MIPSpro assemblers.
+ 	* config.gcc (mips-sgi-irix[56]*): Combine stanzas.  Include elfos.h
+ 	before mips.h and iris.h after it.  Use t-iris and t-slibgcc-irix.
+ 	Use iris5.h only for IRIX 5 configs.  Use iris6.h and t-iris6 for
+ 	IRIX 6 configs.  Define IRIX_USING_GNU_LD if using GNU ld.
+ 	* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
+ 	(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
+ 	(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
+ 	(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
+ 	(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
+ 	of more general IRIX 6 definitions.
+ 	(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
+ 	(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
+ 	(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
+ 	(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
+ 	(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
+ 	(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
+ 	(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
+ 	(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
+ 	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
+ 	(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
+ 	(LINK_SPEC): Move most of definition to iris.h.
+ 	(SUBTARGET_LINK_SPEC): New macro.
+ 	(IRIX_STARTFILE_SPEC): Fold into...
+ 	(STARTFILE_SPEC): ...here.
+ 	(IRIX_ENDFILE_SPEC): Fold into...
+ 	(ENDFILE_SPEC): ...here.
+ 	* config/mips/iris6.h (TARGET_IRIX5): Remove override.
+ 	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
+ 	(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
+ 	(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
+ 	(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
+ 	(TARGET_OS_CPP_BUILTINS): Likewise.  Guard IRIX6-specific bits.
+ 	(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
+ 	(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
+ 	(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
+ 	(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
+ 	(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
+ 	(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
+ 	(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
+ 	(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
+ 	(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
+ 	(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
+ 	(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
+ 	(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
+ 	(TARGET_IRIX6): Define to 1.
+ 	(DRIVER_SELF_SPECS): Define.
+ 	(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
+ 	(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
+ 	(SUBTARGET_LINK_SPEC): New macro.
+ 	(IRIX_STARTFILE_SPEC): Fold into...
+ 	(STARTFILE_SPEC): ...here.  Remove !mabi=* case.
+ 	(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
+ 	(LIB_SPEC, LIBGCC_SPEC): Use them.
+ 	(LIB_SPEC): Remove !mabi=* case.
+ 	(IRIX_ENDFILE_SPEC): Fold into...
+ 	(ENDFILE_SPEC): ...here.  Remove !mabi=* case.
+ 	* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
+ 	* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
+ 	(TARGET_IRIX6): New macro.
+ 	(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
+ 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
+ 	(LABEL_AFTER_LOC): Delete.
+ 	* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
+ 	(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
+ 	(mips_build_builtin_va_list): Check TARGET_IRIX6.
+ 	(override_options): Remove TARGET_SGI_O32_AS-related code.
+ 	(irix_output_external_libcall): Make static.
+ 	(mips_output_filename): Avoid use of SET_FILE_NUMBER and
+ 	LABEL_AFTER_LOC.
+ 	(mips_file_start): Tidy guard for ABI sections.  Remove use of
+ 	ABICALLS_ASM_OP; use .abicalls instead.
+ 	(mips_output_aligned_decl_common, mips_declare_object_name)
+ 	(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
+ 	(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
+ 	.globl foo .text directives.
+ 	(irix_asm_named_section_1, irix_asm_named_section)
+ 	(irix_section_align_entry, irix_section_align_htab)
+ 	(irix_orig_asm_out_file, irix_section_align_entry_eq)
+ 	(irix_section_align_entry_hash, irix_asm_output_align)
+ 	(irix_file_start, irix_section_align_1, copy_file_data)
+ 	(irix_file_end, irix_section_type_flags): Delete.
+ 	* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
+ 	Use standard section syntax.  Remove protective "jr $31".
+ 	(__gcc_fini): Likewise .gcc_fini.
+ 	* config/mips/irix-crtn.asm: Adjust sections accordingly.
+ 	* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
+ 	iris5gas.h.
+ 	* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
+ 	from t-irix-gld.
+ 	(EXTRA_MULTILIB_PARTS): Define.
+ 	* config/mips/t-iris6: Remove bogus comment.
+ 	(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
+ 	* config/mips/iris5gas.h, config/mips/iris5gld.h,
+ 	config/mips/iris6gas.h, config/mips/iris6gld.h,
+ 	config/mips/t-iris5-as, config/mips/t-iris5-gas
+ 	config/mips/t-irix-gld: Delete.
+ 	* config/mips/iris.h: New file.
+ 	* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
+ 
+ 2004-08-20  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* postreload.c (reload_cse_move2add): Allow any condjump, but check
+ 	that the implicit set isn't clobbered in the jump insn.
+ 
+ 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
+ 	* optabs.c (init_optabs): Don't check it.
+ 	* config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
+ 	* doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
+ 
+ 2004-08-18  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md (s390_warn_framesize_string)
+ 	(s390_warn_dynamic_string, s390_stack_size_string)
+ 	(s390_stack_guard_string): New global string variables.
+ 	(s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
+ 	(s390_stack_guard): New global variables.
+ 	(override_options): Added checks for the new options.
+ 	(s390_emit_prologue): Emit stack check and trap code and perform
+ 	compile time stack size checking.
+ 
+ 	* config/s390/s390.h (TARGET_OPTIONS): Added new options
+ 	"warn-framesize", "warn-dynamicstack", "stack-size" and
+ 	"stack-guard".
+ 
+ 	* doc/invoke.texi: Added documentation for the new options.
+ 
+ 2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
+ 	to eliminate warning.
+ 	(linear_search_fdes): Declare p as unsigned.
+ 	(binary_search_mixed_encoding_fdes): Likewise.
+ 	* unwind-dw2.c (get_cie_encoding): Cast argument to strlen
+ 	to eliminate warning.
+ 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
+ 	type cast.
+ 
+ 2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
+ 	* config/s390/s390.c (preferred_la_operand_p): Accept two operands
+ 	instead of one.  Check for strictly legitimate address.
+ 	* config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
+ 	to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
+ 
+ 2004-08-19  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
+ 	* langhooks.h (unsave_expr_now): Ditto.
+ 	* tree.h (unsave_expr_1): Remove prototype.
+ 	(lhd_unsave_expr_now): Rename to unsave_expr_now.
+ 	* tree-inline.c (unsave_expr_1): Move here
+ 	from tree.c. Make static.
+ 	(unsave_expr_now): Rename from lhd_unsave_expr_now.
+ 	* tree-sra.c: Fix up for rename.
+ 	* tree-ssa-copy.c: Ditto.
+ 	* tree-eh.c: Ditto.
+ 	* tree.c (unsave_expr_1): Move to tree-inline.c.
+ 
+ 2004-08-19  Caroline Tice  <ctice@apple.com>
+ 
+ 	* config/i386/cygming.h (switch_to_section):  Fix typo (change
+ 	in_unlikely_text_section to in_unlikely_executed_text).
+ 
+ 2004-08-19  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* vec.h (VEC_lower_bound): New macro.
+ 
+ 2004-08-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16446
+ 	* config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
+ 	(mips_arg_info): Update accordingly.  Remove common treatment of fpr_p;
+ 	treat each ABI separately.  Deal with n32/n64 complex float arguments.
+ 	(function_arg): Add associated complex handling here.
+ 
+ 2004-08-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_gen_load_multiple): Use
+ 	adjust_automodify_address.  Take base memory and offset instead
+ 	of unchanging/struct/scalar bits.
+ 	(arm_gen_store_multiple): Likewise.
+ 	(arm_gen_movmemqi): Use adjust_automodify_address.
+ 	* config/arm/arm-protos.h: Update decls.
+ 	* config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
+ 	(store_multiple): Similarly.
+ 
+ 2004-08-19  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* regclass.c (globalize_reg): Update call_really_used_regs.
+ 
+ 2004-08-19  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/invoke.texi (integer-share-limit): Document.
+ 
+ 	* tree.h (TYPE_CACHED_VALUES_P): New.
+ 	(TYPE_CACHED_VALUES): New.
+ 	(TYPE_ORIG_SIZE_TYPE): Adjust.
+ 	* tree.def (INTEGER_CST): Update documentation.
+ 	* tree.c: Inlcude params.h.
+ 	(build_int_cst): Cache small values.
+ 	(build_type_copy): Do not copy the value cache.
+ 	* c-common.c (c_common_nodes_and_builtins): Add comment, remove
+ 	unneeded zeroing.
+ 	* c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
+ 	* expmed.c (const_mult_add_overflow_p): Clear type copy's value
+ 	cache.
+ 	* fold-const.c (force_fit_type): Copy value when setting
+ 	overflows.
+ 	(int_const_binop): Likewise.
+ 	* stor-layout.c: Include params.h
+ 	(set_sizetype): Create values cache.
+ 	(fixup_unsigned_type): Set UNSIGNED_P before caching any values.
+ 	* params.def (PARAM_INTEGER_SHARE_LIMIT): New.
+ 	* params.h (INTEGER_SHARE_LIMIT): New.
+ 	* Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
+ 
+ 2004-08-19  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* gimplify.c (gimplify_minimax_expr): Remove.
+ 	(gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
+ 
+ 2004-08-19  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
+ 	STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
+ 
+ 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
+ 
+ 2004-08-18  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
+ 
+ 2004-08-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
+ 	(__aeabi_ul2f): Likewise.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
+ 	move to rtl completely.
+ 	(struct meminsnbuf, xtensa_emit_block_move): Remove.
+ 	(xtensa_find_mode_for_size): Remove.
+ 	* config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
+ 	* config/xtensa/xtensa.md (movmemsi_internal): Remove.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mcore/mcore.c (mode_from_align): Remove DImode.
+ 	(block_move_sequence): Rewrite to use adjust_address.
+ 	(mcore_expand_block_move): Cleanup logic.  Accept only operands.
+ 	Return boolean indicating success/failure.
+ 	* config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
+ 	* config/mcore/mcore.md (movmemsi): Update to match.
+ 
+ 2004-08-18  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/invoke.texi (-mfix-and-continue): Add support for
+ 	fast turn around debugging.
+ 	(-ffix-and-continue): Likewise.
+ 	(-mindirect-data): Likewise.
+ 	(-findirect-data): Likewise.
+ 	* config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
+ 	(indirect_data): Likewise.
+ 	(machopic_data_defined_p): Likewise.
+ 	(machopic_output_indirection): Likewise.
+ 	(darwin_encode_section_info): Likewise.
+ 	(darwin_fix_and_continue): Likewise.
+ 	(darwin_fix_and_continue_switch): Likewise.
+ 	* config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
+ 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
+ 	(SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
+ 	(SUBTARGET_OPTIONS): Likewise.
+ 	(darwin_fix_and_continue): Likewise.
+ 	(darwin_fix_and_continue_switch): Likewise.
+ 	(TARGET_FIX_AND_CONTINUE): Likewise.
+ 	* config/rs6000.c (rs6000_emit_prologue): Likewise.
+ 
+ 2004-08-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h (struct edge_def): Remove crossing_edge.
+ 	(EDGE_CROSSING): New define.
+ 	(EDGE_ALL_FLAGS): Update.
+ 	* bb-reorder.c (find_traces_1_round, better_edge_p,
+ 	find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
+ 	find_jump_block, fix_crossing_conditional_branches,
+ 	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
+ 	Replace all occurences of crossing_edge with an edge flag check
+ 	or set/reset.
+ 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
+ 	try_crossjump_bb): Likewise.
+ 	* cfglayout.c (fixup_reorder_chain): Likewise.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect,
+ 	commit_one_edge_insertion): Likewise.
+ 
+ 	* Makefile.in (cfganal.o): Depend on TIMEVAR_H.
+ 	* tree-flow.h (compute_dominance_frontiers): Move prototype...
+ 	* basic-block.h:  ...here.
+ 	* tree-cfg.c (compute_dominance_frontiers_1,
+ 	compute_dominance_frontiers): Move from here...
+ 	* cfganal.c: ...to here.  Include timevar.h.
+ 
+ 2004-08-18  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
+ 	* config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
+ 
+ 	* config/mips/mips.md (type): Add frdiv.
+ 	(divsf3+1, divsf3+2): Change type to frdiv.
+ 	* config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
+ 	ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
+ 
+ 	* config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
+ 	* config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
+ 	* config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
+ 	* config/mips/5000.md (r5k_fdiv_single): Likewise.
+ 	* config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
+ 	* config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
+ 	* config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
+ 	* config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
+ 	* config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
+ 	* config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
+ 	Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
+ 
+ 2004-08-18  Robert Bowdidge <bowdidge@apple.com>
+ 
+ 	* config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
+ 	get regression tester working again.
+ 
+ 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* insn-notes.def, reg-notes.def: New files.
+ 	* rtl.h: Use them to define enum insn_note and enum reg_note.
+ 	* rtl.c: Use them to define note_insn_name and reg_note_name.
+ 	* Makefile.in (RTL_BASE_H): Update.
+ 
+ 	* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
+ 	renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
+ 
+ 2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_size_rtx_costs): New function.
+ 	(arm_override_options): Use it if optimizing for space.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* emit-rtl.c (gen_const_mem): New.
+ 	* rtl.h (gen_const_mem): Declare.
+ 	* expr.c (do_tablejump): Use it.
+ 	* varasm.c (force_const_mem): Likewise.
+ 	* config/darwin.c (machopic_indirect_data_reference): Likewise.
+ 	(machopic_legitimize_pic_address): Likewise.
+ 	* config/arm/arm.c (legitimize_pic_address): Likewise.
+ 	* config/i386/i386.c (legitimize_pic_address): Likewise.
+ 	(legitimize_tls_address): Likewise.
+ 	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
+ 	* config/ia64/ia64.md (load_fptr): Likewise.
+ 	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
+ 	* config/pa/pa.c (legitimize_pic_address): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
+ 	(rs6000_emit_move): Likewise.
+ 	* config/s390/s390.c (legitimize_pic_address): Likewise.
+ 	(legitimize_tls_address): Likewise.
+ 	* config/s390/s390.md (casesi): Likewise.
+ 	* config/sh/sh.c (sh_reorg): Likewise.
+ 	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
+ 	* config/v850/v850.md (casesi): Likewise.
+ 
+ 	* config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
+ 	* config/sh/sh.c (prepare_move_operands): Remove incorrect
+ 	use of MEM_READONLY_P.
+ 
+ 2004-08-18  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in (OBJS-common): Add postreload-gcse.c.
+ 	Add new postreload-gcse.o.
+ 	* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
+ 	(lookup_as_function, insert, rehash_using_reg, use_related_value,
+ 	equiv_constant): Use SAFE_HASH instead of safe_hash.
+ 	(exp_equiv_p): Export.  Add for_gcse argument when comparing
+ 	for GCSE.
+ 	(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
+ 	find_comparison_args, fold_rtx, cse_insn): Update callers.
+ 	(hash_rtx): New function derived from old canon_hash and bits
+ 	from gcse.c hash_expr_1.
+ 	(canon_hash_string): Rename to hash_rtx_string.
+ 	(canon_hash, safe_hash): Make static inline.  Call hash_rtx.
+ 	* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
+ 	(cselib_lookup): Update this caller.
+ 	* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
+ 	Make static.
+ 	(hash_expr): Call hash_rtx.
+ 	(ldst_entry): Likewise.
+ 	(expr_equiv_p): Call exp_equiv_p.
+ 	(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
+ 	reg_used_on_edge, reg_set_between_after_reload_p,
+ 	reg_used_between_after_reload_p, get_avail_load_store_reg,
+ 	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
+ 	get_bb_avail_insn, hash_scan_set_after_reload,
+ 	compute_hash_table_after_reload,
+ 	eliminate_partially_redundant_loads, gcse_after_reload,
+ 	get_bb_avail_insn, gcse_after_reload_main): Remove.
+ 	* postreload-gcse.c: New file, reincarnating most of the above.
+ 	* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
+ 	(gcse_after_reload_main): Update prototype.
+ 	* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
+ 	* passes.c (rest_of_handle_gcse2): Use it.
+ 
+ 2004-08-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
+ 	(pass_loop_done): Likewise.
+ 
+ 2004-08-18  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/darwin.md: Delete the altivec patterns which are
+ 	handled differently now.
+ 	(load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
+ 	(macho_correct_pic_di): Likewise.
+ 	(call_indirect_nonlocal_darwin64): Likewise.
+ 	Delete the save world/saveFP/saveVec patterns.
+ 
+ 	Revert the reversion of: 2004-08-16  Stan Shebs  <shebs@apple.com>
+ 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
+ 	* config/rs6000/rs6000.md: Include darwin.md.
+ 	(builtin_setjmp_receiver): Add DImode case.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
+ 	Darwin bits.
+ 
+ 2004-08-18  Matt Austern  <austern@apple.com>
+ 
+ 	Dead code stripping
+ 	* darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
+ 	* darwin.c (darwin_file_end): Mark file as potentially strippable.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (readonly_fields_p): Remove.
+ 	(objects_must_conflict_p): Don't call it.
+ 	* tree.h (readonly_fields_p): Remove.
+ 	* langhooks.h (struct lang_hooks): Remove honor_readonly.
+ 	* langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
+ 
+ 2004-08-18  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-dfa.c (add_referenced_var): Only global variables are
+ 	call-clobbered.
+ 	* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
+ 	all pointers dereferenced if the statement dereferences them.
+ 	(create_name_tags): Do not create memory tags for pointers
+ 	that have PT_ANYTHING set.
+ 	Also check if PT_VARS is not empty before creating a name tag.
+ 	(compute_flow_sensitive_aliasing): Don't mark call-clobbered
+ 	variables that share the same alias set with a pointer that
+ 	may point anywhere.
+ 	(add_may_alias): Add FIXME comment to remove clobbering
+ 	aliased variables and tags.
+ 	(replace_may_alias): Likewise.
+ 	(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
+ 	(merge_pointed_to_info): If the original variable has not
+ 	points-to information, call set_pt_anything.
+ 	(add_pointed_to_var): Do not prevent adding a pointed-to
+ 	variable if the pointers is PT_ANYTHING.
+ 	If the variable is a global, set PT_GLOBAL_MEM.
+ 	(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
+ 	pointer type only come in PTR+OFFSET flavours.
+ 	Always call merge_pointed_to_info on PHI arguments that are
+ 	SSA_NAMEs.
+ 	(get_nmt_for): Mark call-clobbered tags whose pointer points
+ 	to global memory.
+ 	* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
+ 	values.
+ 	(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
+ 	FLAGS.
+ 	(add_stmt_operand): Abort if the caller tried to add a killing
+ 	definition for a memory tag.
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
+ 	unnecessary checks.
+ 
+ 2004-08-18  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
+ 	from call_used_regs.  Update call_really_used_regs.
+ 	(CALL_REALLY_USED_REGISTERS): Define.
+ 	* sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
+ 	Replace call_used_regs with call_really_used_regs.
+ 	(calc_live_regs, sh_media_register_for_return): Likewise.
+ 	(sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
+ 	* sh.md (return_media): Likewise.
+ 
+ 2004-08-18  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin.c (machopic_legitimize_pic_address): Only set
+ 	MEM_READONLY_P in the non TARGET_TOC case.
+ 
+ 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.def (NIL): Delete.
+ 	* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
+ 	Tighten the syntax a little.
+ 
+ 	* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
+ 	* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
+ 	* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
+ 	* config/i386/predicates.md, config/m32r/m32r.h
+ 	* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
+ 	* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
+ 	* config/sparc/sparc.h, doc/tm.texi:
+ 	Replace all occurrences of NIL with UNKNOWN.
+ 
+ 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dojump.c (do_jump <unordered_bcc>): Do not recursively call
+ 	self with a TRUTH_ORIF_EXPR; generate the appropriate jump
+ 	sequence inline.  Move drop_through_label code into this
+ 	block, being the only place it is used.  Adjust comments.
+ 
+ 2004-08-18  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/altivec.md: Add new patterns for calls to
+ 	save_world/rest_world functions.
+ 
+ 	* config/rs6000/rs6000-protos.h: (save_world_operation,
+ 	restore_world_operation) new declarations.
+ 
+ 	* config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
+ 	field added.
+ 	(rs6000_stack_info): Set world_save_p field.
+ 	(save_world_operation): New function.
+ 	(restore_world_operation): New function.
+ 	(compute_save_world_info): New function.
+ 	(rs6000_stack_info): Call compute_save_world_info.
+ 	(rs6000_emit_prologue): Check for world_save_p and generate
+ 	pattern to call save_world for saving all non-volatile and
+ 	special registers.
+ 	(rs6000_emit_epilogue): Check for world_save_p and generate
+ 	pattern to call rest_world to restore saved registers.
+ 
+ 	config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
+ 	FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
+ 	(rs6000_reg_names): New entries added for save_world_operation and
+ 	restore_world_operation.
+ 
+ 2004-08-18  Caroline Tice  <ctice@apple.com>
+ 
+ 	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
+ 	"-freorder-blocks-and-partition" to the flags used in second
+ 	stage of profiledbootstrap.
+ 	* bb-reorder.c (push_to_next_round_p): Add new variable,
+ 	next_round_is_last; set and use variable to make sure, when
+ 	partitioning, that the last trace construction round consists
+ 	of all (and only) cold basic blocks.
+ 	(rotate_loop): Don't copy blocks that end in a section
+ 	crossing jump.
+ 	(copy_bb): Correctly initialize "partition" of duplicated bb.
+ 	(add_unlikely_executed_notes): Add a comment.
+ 	(find_rarely_executed_basic_blocks_and_crossing_edges): Modify
+ 	to make sure, if function contains hot blocks, that the
+ 	successors of ENTRY_BLOCK_PTR are hot; also, only look for
+ 	crossing edges if the architecture supports named sections.
+ 	(mark_bb_for_unlikely_executed_section): Modify to always
+ 	insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
+ 	the basic block note insn.
+ 	(fix_crossing_unconditional_branches): Remove extra space.
+ 	(fix_edges_for_rarely_executed_code): Modify to only do
+ 	partitioning work if the architecture supports named sections.
+ 	(reorder_basic_blocks): Modify to only add
+ 	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
+ 	supports named sections.
+ 	* c-common.c (handle_section_attribute): Initialize new global
+ 	variable, user_defined_section_attribute, to true if user has
+ 	specified one.
+ 	* cfgcleanup.c (try_forward_edges): Modify to not attempt to
+ 	forward edges that cross section boundaries.
+ 	* cfglayout.c (fixup_reorder_chain): Modify to only fix up
+ 	partitioning information if the architecture supports named
+ 	sections.
+ 	* cfgrtl.c (target.h): Add statement to include this.
+ 	(rtl_split_block): Make sure newly created bb gets correct
+ 	partition.
+ 	(try_redirect_by_replacing_jump): Make sure redirection isn't
+ 	attempting to cross section boundaries.
+ 	(force_nonfallthru_and_redirect): Only do partition fix up if
+ 	architecture supports named sections.
+ 	(rtl_split_edge): Make sure newly created bb ends up in
+ 	correct partition.
+ 	(commit_one_edge_insertion): Remove code that incorrectly
+ 	updated basic block partition; Make sure partition fix up only
+ 	happens if architecture supports named sections and it's not
+ 	already done.
+ 	(rtl_verify_flow_info_1): Fix if-condition on test/error
+ 	condition that fallthru edges are not allowed to cross section
+ 	boundaries.
+ 	* defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
+ 	* final.c (final_scan_insn): Remove redundant test from if-statement;
+ 	change calls to text_section into calls to function_section; add code
+ 	to only to partitioning fix up if architecture supports named
+ 	sections.
+ 	* ifcvt.c (find_if_case_1): Make sure newly created bb has correct
+ 	partition.
+ 	(if_convert): Add targetm.have_named_sections to test.
+ 	* output.h (unlikely_section_label): Extern declaration for new global
+ 	variable.
+ 	(unlikely_text_section_name): Likewise.
+ 	* opts.c (decode_options): If both partitioning and DWARF debugging
+ 	are turned on, issue a warning that this doesn't work, and change
+ 	partitiong to basic block reordering (without hot/cold partitions).
+ 	* passes.c (rest_of_handle_final): Re-set new global variable,
+ 	user_defined_section_attribute, to false.
+ 	(rest_of_compilation): Change options for calling partitioning
+ 	function: Don't call if the user defined the section attribute, and
+ 	don't call if DECL_ONE_ONLY is true for the current function.
+ 	* predict.c (choose_function_section): Return immediately if we
+ 	are doing hot/cold partitioning (i.e. let the basic block partitioning
+ 	determine where the function belongs).
+ 	* reg-stack.c (emit_swap_insn): Add condition to step over
+ 	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
+ 	* toplev.c (user_defined_section_attribute): New global variable.
+ 	* toplev.h (user_defined_section_attribute): Extern declaration
+ 	for new global variable.
+ 	* varasm.c (unlikely_section_label): New global variable.
+ 	(unlikely_text_section_name): New global variable.
+ 	(unlikely_text_section): Add code to initialize
+ 	unlikely_text_section_name if necessary; modify to use
+ 	unlikely_text_section_name and unlikely_section_label; also to use
+ 	named_section properly.
+ 	(in_unlikely_text_section):  Modify to work correctly with
+ 	named_section and to use unlikely_text_section_name.
+ 	(named_section):  Add code to work properly with cold section.
+ 	(function_section): Clean up if-statement.
+ 	* config/darwin.c (darwin_asm_named_section): Return to original
+ 	code, removing use of SECTION_FORMAT_STRING.
+ 	* config/arm/pe.h (switch_to_section):  Add case for
+ 	in_unlikely_executed_text to switch statement.
+ 	* config/i386/cygming.h (switch_to_section): Likewise.
+ 	* config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
+ 	(SECTION_FORMAT_STRING): Likewise.
+ 	* config/mcore/mcore.h (switch_to_section): Likewise.
+ 	* config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
+ 	(SECTION_FORMAT_STRING): Remove.
+ 
+ 2004-08-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
+ 	-ffixed-reg safe, by preserving the meanings of zero and one.
+ 	(CALL_USED_REGISTERS): Likewise.
+ 	(CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
+ 
+ 2004-08-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (split_branches): Check the result of
+ 	next_active_insn.
+ 	(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
+ 	Call rtl_register_cfg_hooks.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
+ 	* alias.c (true_dependence): Update to match new semantics.
+ 	(canon_true_dependence, write_dependence_p): Likewise.
+ 	(anti_dependence, output_dependence): Update write_dependence_p args.
+ 	(unchanging_anti_dependence): Remove.
+ 	* calls.c (purge_mem_unchanging_flag): Remove.
+ 	(fixup_tail_calls): Don't call it.
+ 	(expand_call): Don't add unchanging memory to function usage.
+ 	* expr.c (emit_block_move_via_libcall): Likewise.
+ 	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
+ 	(get_subtarget): Don't use RTX_UNCHANGING_P.
+ 	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
+ 	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
+ 	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
+ 	* cse.c (insert): Don't use RTX_UNCHANGING_P.
+ 	(cse_insn, canon_hash): Use MEM_READONLY_P.
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
+ 	instead of RTX_UNCHANGING_P.
+ 	* explow.c (maybe_set_unchanging): Remove.
+ 	* expr.h (maybe_set_unchanging): Remove.
+ 	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
+ 	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
+ 	(assign_parm_setup_reg, expand_function_start): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* ra-rewrite.c (emit_colors): Likewise.
+ 	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
+ 	(fixup_match_1): Likewise.
+ 	* reload1.c (reload, alter_reg): Likewise.
+ 	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
+ 	not RTX_UNCHANGING_P.
+ 	(equiv_init_varies_p): Likewise.
+ 	* loop-invariant.c (check_maybe_invariant): Likewise.
+ 	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
+ 	* loop.c (note_addr_stored): Likewise.
+ 	(prescan_loop): Likewise. Don't check function usage for clobbered
+ 	unchanging memory.
+ 	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
+ 	not RTX_UNCHANGING_P.
+ 	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
+ 	* varasm.c (force_const_mem): Likewise.
+ 	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
+ 	* web.c (entry_register): Likewise.
+ 	* tree-gimple.h (get_base_address): Move decl ...
+ 	* tree.h: ... here.
+ 	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
+ 
+ 	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
+ 	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
+ 	(alpha_set_memflags): Update to match.
+ 
+ 	* config/darwin.c (machopic_indirect_data_reference): Set
+ 	MEM_READONLY_P instead of RTX_UNCHANGING_P.
+ 	(machopic_indirect_call_target): Likewise.
+ 	(machopic_legitimize_pic_address): Likewise.
+ 	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
+ 	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
+ 	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
+ 	* config/frv/frv.md (symGOT2reg): Likewise.
+ 	* config/i386/i386.c (legitimize_pic_address,
+ 	legitimize_tls_address, ix86_split_to_parts): Likewise.
+ 	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
+ 	* config/ia64/ia64.md (load_fptr): Likewise.
+ 	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
+ 	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
+ 	* config/mcore/mcore.c (block_move_sequence): Likewise.
+ 	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
+ 	* config/pa/pa.c (legitimize_pic_address): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
+ 	(rs6000_emit_move): Likewise.
+ 	* config/s390/s390.c (legitimize_pic_address): Likewise.
+ 	(legitimize_tls_address): Likewise.
+ 	* config/s390/s390.md (casesi): Likewise.
+ 	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
+ 	* config/sh/sh.md (symGOT2reg): Likewise.
+ 	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
+ 	* config/v850/v850.md (casesi): Likewise.
+ 
+ 	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
+ 	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
+ 	* config/mips/mips.c (mips_restore_gp): Likewise.
+ 	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
+ 	* config/sh/sh.c (sh_reorg): Likewise.
+ 
+ 2004-08-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.h (struct tree_decl): Add gimple_formal_temp.
+ 	(DECL_GIMPLE_FORMAL_TEMP_P): New.
+ 	* gimplify.c (pop_gimplify_context): Clear it.
+ 	(lookup_tmp_var): Set it, if is_formal.
+ 	(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
+ 	Use is_gimple_val for VECTOR.  Simplify return value.
+ 	(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
+ 	(gimplify_expr): Likewise.
+ 	* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
+ 	is_gimple_tmp_rhs for clarity.  Update all callers.
+ 	(is_gimple_reg_rhs): Simplify logic.
+ 	(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
+ 	clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
+ 	(is_gimple_formal_tmp_reg): Similarly.
+ 	* tree-gimple.h: Update decls.
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
+ 	DECL_IGNORED_P, not DECL_ARTIFICIAL.  Tidy formatting.
+ 	* tree-ssa-live.c (var_union, type_var_init): Likewise.
+ 
+ 2004-08-18  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c4x.c (legitimize_operands): Remove calls to
+ 	preserve_subexpressions_p.
+ 
+ 2004-08-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
+ 	* defaults.h (MAX_OFILE_ALIGNMENT): ... here.
+ 
+ 2004-08-18  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
+ 	Objective-C++ extensions.
+ 	* gengtype.c (get_file_basename): Match entire subdirectory name
+ 	('cp', 'objc', 'objcp') rather than just its suffix.
+ 	(get_base_file_bitmap): Allow for files to belong to more than one
+ 	language.
+ 	(get_output_file_with_visibility): Treat objc/objc-act.h as a header
+ 	used by more than one front-end.
+ 
+ 2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
+ 	avoid use of preserve_subexpressions_p.
+ 
+ 2004-08-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 17051
+ 	* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
+ 
+ 2004-08-17  DJ Delorie  <dj@redhat.com>
+ 
+ 	* doc/extend.texi: Document new xstormy16 attribute.
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
+ 	(xstormy16_splittable_below100_or_register): New.
+ 	(combine_bnp): New.
+ 	(xstormy16_reorg): New.
+ 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 
+ 	* config/stormy16/stormy16.md (movqi_internal): Make name public.
+ 	(movhi_internal): Likewise.
+ 	(cbhranchhi): Likewise.
+ 	(cbhranchhi_neg): Likewise.
+ 	(andhi3): Only allow splittable below100 operands.
+ 	(iorhi3): Likewise.
+ 	(peephole2): New and/zero_extend->and peephole.
+ 	(peephole2): New load/ior/save->set1 peephole.
+ 	(peephole2): New load/and/save->clr1 peephole.
+ 	(bclrx, bclrx2, bclr7, bclr15): New.
+ 	(bsetx, bsetx2, bset7, bset15): New.
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
+ 	liberal about acceptable 'B' masks.
+ 
+ 	* config/stormy16/stormy16-protos.h
+ 	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
+ 	xstormy16_below100_operand, xstormy16_below100_or_register,
+ 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
+ 	(PREDICATE_CODES): Add new predicates.
+ 
+ 	* config/stormy16/stormy16.c
+ 	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
+ 	xstormy16_below100_operand, xstormy16_below100_or_register,
+ 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
+ 	(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
+ 	(xstormy16_legitimate_address_p): Allow below100 symbols.
+ 	(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
+ 	(xstormy16_expand_move): Leave below100 operands as-is.
+ 	(xstormy16_encode_section_info): Encode below100 symbols.
+ 	(xstormy16_strip_name_encoding): New.
+ 	(xstormy16_print_operand): Print 'b' as shift mask.
+ 	(xstormy16_attribute_table): Add below100 attributes.
+ 	(xstormy16_handle_below100_attribute): New.
+ 
+ 	* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
+ 	(XSTORMY16_SECTION_FUNCTION): New.
+ 	(EXTRA_SECTION_FUNCTIONS): Define using the above.
+ 	(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
+ 	(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
+ 	(ASM_OUTPUT_LABELREF): Define.
+ 
+ 	* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
+ 	(movhi_internal): Add below100 support.
+ 	(andhi3): Add below100 support.
+ 	(iorhi3): Add below100 support.
+ 	(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
+ 
+ 2004-08-17  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
+ 	of VOIDmode for comparison code mode.
+ 	* config/mips/mips.md: For conditional move patterns, use mode of
+ 	first compare operand for comparison mode, instead of VOIDmode.
+ 
+ 	* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
+ 	normal and -ffast-math code.
+ 
+ 2004-08-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/15871
+ 	* doc/invoke.texi (-fkeep-inline-functions): Update documentation.
+ 
+ 2004-08-17  Robert Bowdidge  <bowdidge@apple.com>
+ 
+ 	* config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
+ 
+ 2004-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
+ 	for non Darwin targets.
+ 	(*call_value_nonlocal_darwin64): Likewise.
+ 
+ 2004-08-17  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_function_value): Check for
+ 	altivec mode for altivec return register.
+ 
+ 2004-08-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	Revert 2004-08-16  Stan Shebs  <shebs@apple.com>
+ 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
+ 	* config/rs6000/rs6000.md: Include darwin.md.
+ 	(builtin_setjmp_receiver): Add DImode case.
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
+ 	Darwin bits.
+ 
+ 2004-08-17  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
+ 	trees.
+ 	* tree-vectorizer.h: New File: Same.
+ 	* Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
+ 	* common.opt (ftree-vectorize): New flag to enable vectorization.
+ 	* timevar.def (TV_TREE_VECTORIZATION): New dump file for
+ 	vectorization pass.
+ 	* tree-data-ref.h (init_data_ref): Additional argument.
+ 	(array_base_name_differ_p): Moved to tree-data-ref.c.
+ 	* tree-data-ref.c (array_base_name_differ_p): Revised.
+ 	(initialize_data_dependence_relation): Call array_base_name_differ_p
+ 	with an extra argument.
+ 	(analyze_all_data_dependences): Same.
+ 	(init_data_ref): Additional argument is_read to set DR_IS_READ.
+ 	* tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
+ 	file.
+ 	* tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
+ 	* tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
+ 	* tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
+ 	vectorization pass.
+ 	* tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
+ 	(tree_ssa_loop_done): Call scev_finalize.
+ 	(tree_vectorize): Define the new vectorization pass.
+ 	* defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
+ 	size of the vector they support (until support for multiple vector
+ 	sizes is added to the vectorizer).
+ 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
+ 	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
+ 	* invoke.texi (fdump-tree-vect, ftree-vectorize): Add
+ 	documentation.
+ 
+ 2004-08-17  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
+ 	usage.
+ 	(generate_protocol_list, handle_impent): Likewise.
+ 
+ 2004-08-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
+ 	ensure that call_used_regs is a superset of both fixed_regs and
+ 	call_really_used_regs.
+ 
+ 2004-08-17  Daniel Bornstein  <danfuzz@milk.com>
+ 
+ 	PR target/17019
+ 	* arm.md (addsi3_cbranch_scratch): Correct case labels.
+ 
+ 2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR middle-end/17036
+ 	* fold-const.c (fold): Check for integer operand when
+ 	folding (A >> N) & 1 ? (1 << N) : 0.  Fix from Andrew
+ 	Pinski  <pinskia@physics.uc.edu>.
+ 
+ 2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
+ 	No need to check if in a cross configuration.
+ 	* configure: Regenerate.
+ 
+ 	* calls.c (precompute_register_parameters):
+ 	Inline preserve_subexpressions_p ().
+ 	* expmed.c (expand_mult_const, emit_store_flag): Likewise.
+ 	* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
+ 	Likewise.
+ 	* expr.c (get_subtarget): Likewise.
+ 	* rtl.h (preserve_subexpressions_p): Remove.
+ 	* stmt.c (preserve_subexpressions_p): Remove.
+ 
+ 	* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
+ 	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
+ 	Abort on gimplified cases.
+ 
+ 2004-08-16  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* tree.h (VECTOR_FLOAT_TYPE_P): New.
+ 	(FLOAT_TYPE_P): Use it.
+ 	* c-typeck.c (build_binary_op): After convert calls, check for
+ 	check for ERROR_MARK operands.
+ 
+ 2004-08-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
+ 	(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
+ 	(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
+ 	(genobjs static pattern rule): Remove %.c dependency.
+ 	($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
+ 	Rename rules; delete commands; fix dependencies.
+ 	(mostlyclean): Do not delete temporary source copies.
+ 	* configure.ac: Delete all references to BUILD_PREFIX and
+ 	BUILD_PREFIX_1.
+ 	* configure: Regenerate.
+ 
+ 	* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
+ 	Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
+ 	basic-block.h #ifdef GENERATOR_FILE.  Surround some more code
+ 	with #ifndef GENERATOR_FILE so that nothing from those headers
+ 	is used.
+ 
+ 	* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
+ 
+ 2004-08-16  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
+ 
+ 2004-08-16  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
+ 	extraneous semicolon.
+ 
+ 2004-08-16  Devang Patel  <dpatel@apple.com>
+ 
+ 	* c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
+ 	* print-tree.c (print_node): Print DECL_PRESERVE_P.
+ 	* target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
+ 	(TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
+ 	* target.h (struct gcc_target): New member, mark_decl_preserved.
+ 	* hooks.c (hook_void_charptr): Rename to ...
+ 	(hook_void_constcharptr): ... new name.
+ 	* hooks.h (hook_void_charptr): Rename to ..
+ 	(hook_void_constcharptr): ... new name.
+ 	* tree.h (DECL_PRESERVE_P): New #define.
+ 	(struct tree_decl): New member, preserve_flag.
+ 	* varasm.c (assemble_start_function): Mark decl preserved.
+ 	(assemble_variable): Same.
+ 	* darwin.c (darwin_mark_decl_preserved): New function.
+ 	* darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
+ 	* darwin-protos.h (darwin_mark_decl_preserved): New decl.
+ 	* doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
+ 
+ 2004-08-16  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (grokdeclarator): Allow for function definition where
+ 	innermost declarator has attributes.
+ 
+ 2004-08-16  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* except.c (get_exception_filter, build_post_landing_pads,
+ 	dw2_build_landing_pads): Use target-specific mode for 'filter'.
+ 	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
+ 	* target.h (eh_return_filter_mode): New field added.
+ 	* targhooks.c (default_eh_return_filter_mode): Defined.
+ 	* targhooks.h (default_eh_return_filter_mode): Declared.
+ 	* config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
+ 
+ 2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
+ 	ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
+ 	* configure: Regenerate.
+ 
+ 2004-08-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	Basic support for 64-bit Darwin.
+ 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
+ 	(machopic_legitimize_pic_address): Similarly, plus use Pmode
+ 	instead of SImode.
+ 	* config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
+ 	(TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
+ 	(SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
+ 	(PROCESSOR_DEFAULT64): Define.
+ 	* config/rs6000/darwin.md: New file, patterns specific to 64-bit
+ 	Darwin.
+ 	* config/rs6000/rs6000.md: Include darwin.md.
+ 	(builtin_setjmp_receiver): Add DImode case.
+ 	* config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
+ 	Darwin.
+ 	(TARGET_ASM_ALIGNED_DI_OP): Ditto.
+ 	(rs6000_emit_move): Add DImode case to Darwin bits.
+ 	(machopic_output_stub): Use .quad if 64-bit.
+ 	* invoke.texi: Document -m32 and -m64.
+ 
+ 2004-08-16  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/extend.texi (AltiVec builtins): Document additional differences
+ 	from the Motorola AltiVec PIM.
+ 
+ 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
+ 	* tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
+ 	(struct tree_common): Update public_flag documentation.
+ 
+ 2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+ 	Check for artificial variables, not is_gimple_tmp_var.
+ 	* tree-ssa-live.c (var_union): Likewise.
+ 
+ 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* calls.c (load_register_parameters): Remove spurious FIXME token.
+ 
+ 2004-08-15  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
+ 	(c-lang.o): Depend on c-objc-common.h.
+ 	(c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
+ 	c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
+ 	* c-lang.c: Include c-objc-common.h.
+ 	(LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
+ 	LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
+ 	LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
+ 	LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
+ 	LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
+ 	LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
+ 	LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
+ 	LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
+ 	LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
+ 	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
+ 	LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
+ 	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
+ 	LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
+ 	LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
+ 	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
+ 	LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
+ 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
+ 	LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
+ 	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
+ 	LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
+ 	LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
+ 	LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
+ 	LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
+ 	Move to c-objc-common.h.
+ 	* c-objc-common.c: Include c-objc-common.h.
+ 	* c-objc-common.h: New file.
+ 
+ 2004-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/14931
+ 	* config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
+ 	style.
+ 
+ 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (build_int_cst): New.
+ 	(build_int_2): Remove.
+ 	* tree.c (build_int_2): Remove.
+ 	(build_int_cst): New.
+ 	(make_vector_type, build_common_tree_nodes,
+ 	build_common_tree_nodes_2): Use build_int_cst.
+ 	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
+ 	expand_builtin_strpbrk, expand_builtin_fputs,
+ 	build_string_literal, expand_builtin_printf,
+ 	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
+ 	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
+ 	fold_builtin_isdigit, simplify_builtin_strstr,
+ 	simplify_builtin_strpbrk, fold_builtin_fputs,
+ 	simplify_builtin_sprintf): Use build_int_cst.
+ 	* c-common.c (start_fname_decls, fix_string_type,
+ 	c_common_nodes_and_builtins, c_init_attributes,
+ 	shorten_compare): Likewise.
+ 	* c-decl.c (complete_array_type,
+ 	check_bitfield_type_and_width): Likewise.
+ 	* c-lex.c (interpret_integer, lex_charconst): Likewise.
+ 	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
+ 	* c-pretty-print.c (pp_c_integer_constant): Likewise.
+ 	* c-typeck.c (really_start_incremental_init, push_init_level,
+ 	set_nonincremental_init_from_string): Likewise.
+ 	* calls.c (load_register_parameters): Likewise.
+ 	* convert.c (convert_to_pointer): Likewise.
+ 	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
+ 	build_fn_info_type, build_ctr_info_value, build_gcov_info):
+ 	Likewise.
+ 	* except.c (init_eh, assign_filter_values, assign_filter_values):
+ 	Likewise.
+ 	* expmed.c (store_fixed_bit_field, extract_bit_field,
+ 	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
+ 	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
+ 	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
+ 	* expr.c (convert_move, emit_group_load, emit_group_store,
+ 	expand_assignment, store_constructor, store_field,
+ 	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
+ 	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
+ 	invert_truthvalue, optimize_bit_field_compare,
+ 	decode_field_reference, all_ones_mask_p, constant_boolean_node,
+ 	fold_div_compare, fold, fold_read_from_constant_string,
+ 	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
+ 	* function.c (assign_parm_setup_block): Likewise.
+ 	* stmt.c (shift_return_value, expand_end_case_type,
+ 	estimate_case_costs): Likewise.
+ 	* stor-layout.c (layout_type, initialize_sizetypes,
+ 	set_min_and_max_values_for_integral_type): Likewise.
+ 	* tree-chrec.c (chrec_fold_multiply_poly_poly,
+ 	reset_evolution_in_loop): Likewise.
+ 	* tree-chrec.h (build_polynomial_chrec): Likewise.
+ 	* tree-complex.c (build_replicated_const): Likewise.
+ 	* tree-eh.c (honor_protect_cleanup_actions,
+ 	lower_try_finally_onedest, lower_try_finally_copy,
+ 	lower_try_finally_switch): Likewise.
+ 	* tree-mudflap.c (mf_build_string, mx_register_decls,
+ 	mudflap_register_call, mudflap_enqueue_constant): Likewise.
+ 	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
+ 	Likewise.
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
+ 	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
+ 	Likewise.
+ 
+ 	* config/alpha/alpha.c (alpha_initialize_trampoline,
+ 	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
+ 	* config/arm/arm.c (arm_get_cookie_size): Likewise.
+ 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
+ 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+ 	* config/i860/i860.c (i860_va_start): Likewise.
+ 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ 	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
+ 	mips_gimplify_va_arg_expr): Likewise.
+ 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
+ 	add_compiler_branch_island): Likewise.
+ 	* config/s390/s390.c (s390_va_start): Likewise.
+ 	* config/sh/sh.c (sh_va_start): Likewise.
+ 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+ 	Likewise.
+ 	* config/xtensa/xtensa.c (xtensa_va_start,
+ 	xtensa_gimplify_va_arg_expr): Likewise.
+ 
+ 	* objc/objc-act.c (build_objc_string_object,
+ 	build_objc_symtab_template, init_def_list, init_objc_symtab,
+ 	init_module_descriptor, generate_static_references,
+ 	build_selector_translation_table, get_proto_encoding,
+ 	build_typed_selector_reference, build_selector_reference,
+ 	build_next_objc_exception_stuff,
+ 	build_method_prototype_list_template, generate_descriptor_table,
+ 	generate_protocols, build_protocol_initializer,
+ 	build_ivar_list_template, build_method_list_template,
+ 	build_ivar_list_initializer, generate_ivars_list,
+ 	generate_dispatch_table, generate_protocol_list,
+ 	build_category_initializer, build_shared_structure_initializer,
+ 	generate_shared_structures, handle_impent,
+ 	generate_objc_image_info): Use build_int_cst.
+ 
+ 2004-08-15  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* vec.h: Comment improvements.
+ 
+ 2004-08-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.c (shorten_compare, pointer_int_sum,
+ 	c_common_truthvalue_conversion, boolean_increment): Replace calls
+ 	to build with calls to buildN.
+ 	* c-decl.c (complete_array_type, grokdeclarator): Likewise.
+ 	* c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
+ 	gimplify_switch_stmt): Likewise.
+ 	* c-typeck.c (default_function_array_conversion,
+ 	build_component_ref, build_array_ref, build_function_call,
+ 	pointer_diff, build_unary_op, build_conditional_expr,
+ 	build_compound_expr, build_modify_expr, c_finish_goto_label,
+ 	c_finish_goto_ptr, c_finish_return, c_finish_loop,
+ 	c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
+ 	build_binary_op): Likewise.
+ 
+ 2004-08-15  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
+ 
+ 2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
+ 	curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 
+ 2004-08-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_symbolic_constant_p)
+ 	(mips_atomic_symbolic_constant_p, mips_stack_address_p)
+ 	(mips_small_data_pattern_p): Declare.
+ 	* config/mips/mips.h (CONST_GP_P): Moved from mips.c.
+ 	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
+ 	* config/mips/mips.c (mips_symbolic_constant_p): Make global.
+ 	(mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
+ 	(uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
+ 	(sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
+ 	(reg_or_const_float_1_operand, hilo_operand, extend_operator)
+ 	(macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
+ 	(pc_or_label_operand, call_insn_operand, move_operand)
+ 	(consttable_operand, symbolic_operand, general_symbolic_operand)
+ 	(global_got_operand, local_got_operand, stack_operand)
+ 	(fp_register_operand, lo_operand, fcc_register_operand): Delete.
+ 	(mips_small_data_pattern_1): Renamed from small_data_pattern_1.
+ 	(mips_small_data_pattern_p): Replace previous small_data_pattern
+ 	predicate.  Turn into a bool () (rtx) function.
+ 	* config/mips/predicates.md: New file.
+ 	* config/mips/mips.md: Include it.  Use the target-independent
+ 	comparison_operator instead of cmp_op.  Rename trap_cmp_op to
+ 	trap_comparison_operator and equality_op to equality_operator.
+ 	Replace uses of small_int with the equivalent const_arith_operand.
+ 	Rename reg_or_const_float_1_operand to reg_or_1_operand.  Rename
+ 	const_float_1_operand to const_1_operand.  Rename fcc_register_operand
+ 	to fcc_reload_operand.
+ 	* config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
+ 
+ 2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR libstdc++/17005 partial fix.
+ 	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
+ 	except when generating ANSI/C89 code.
+ 
+ 2004-08-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-common.c (shorten_compare): Use force_fit_type directly.
+ 
+ 2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
+ 	    Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
+ 	    Dave Korn  <dk@artimi.com>
+ 
+ 	* doc/install.texi (Building): Avoid duplicate reference to GNU
+ 	make requirement.
+ 	(*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
+ 
+ 2004-08-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
+ 	* config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
+ 
+ 2004-08-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
+ 	for constant_call_address_operand.
+ 	(call_value_pop_1, call_value_1): Likewise.
+ 	(sibcall_value_1, call_value_1_rex64): Likewise.
+ 
+ 2004-08-13  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
+ 	Correct mode from SFmode to DFmode.
+ 
+ 2004-08-13  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
+ 	__cstring_object and __image_info sections with the no_dead_strip
+ 	attribute.
+ 
+ 2004-08-13  Roger Sayle  <roger@eyesopen.com>
+ 	    David Billinghurst  <David.Billinghurst@riotinto.com>
+ 
+ 	PR libgfortran/15930
+ 	* fixinc/inclhack.def (irix___generic1, irix___generic2): New.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/internal/math_core.h: New file.
+ 
+ 2004-08-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
+ 	(dbxout_function_end): Remove ifdefs for it.
+ 	(dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
+ 
+ 2004-08-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (insn-preds.o): Depend on TREE_H.
+ 	* genpreds.c (write_insn_preds_c): Include tree.h.
+ 	* config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
+ 	reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
+ 	const48_operand, and_operand, or_operand, mode_width_operand,
+ 	mode_mask_operand, mul8_operand, const0_operand,
+ 	hard_fp_register_operand, hard_int_register_operand,
+ 	reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
+ 	samegp_function_operand, direct_call_operand, small_symbolic_operand,
+ 	global_symbolic_operand, call_operand, symbolic_operand,
+ 	dtp16_symbolic_operand, dtp32_symbolic_operand,
+ 	gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
+ 	gottp_symbolic_operand, alpha_comparison_operator,
+ 	alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
+ 	signed_comparison_operator, alpha_fp_comparison_operator,
+ 	divmod_operator, fix_operator, aligned_memory_operand,
+ 	unaligned_memory_operand, reg_or_unaligned_mem_operand,
+ 	any_memory_operand, reg_not_elim_operand, normal_memory_operand,
+ 	reg_no_subreg_operand, addition_operation): Move to predicates.md.
+ 	(reg_or_const_int_operand): Remove.  Replace all users with
+ 	reg_or_cint_operand.
+ 	(tls_symbolic_operand_1): Export.  Don't check mode or for CONST.
+ 	(resolve_reload_operand): Split out of aligned_memory_operand.
+ 	* config/alpha/alpha-protos.h: Update for exports.
+ 	* config/alpha/alpha.h (PREDICATE_CODES): Remove.
+ 	* config/alpha/alpha.md: Include predicates.md.
+ 	* config/alpha/predicates.md: New file.
+ 
+ 2004-08-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
+ 	fields with a pointer to the instruction definition.
+ 	(get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
+ 	(insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
+ 	(write_attr_case, write_const_num_delay_slots): Update accordingly.
+ 	(write_attr_case, write_const_num_delay_slots): Write the name of
+ 	an insn next to its case statement.
+ 	* genoutput.c (data): Add a filename field.
+ 	(gen_insn, gen_peephole, gen_expand, gen_split): Set it.
+ 	(output_insn_data): Print the location of each insn definition.
+ 	* genrecog.c (write_action): Print the name of an insn above
+ 	the statement that returns its code.
+ 
+ 2004-08-12  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
+ 	* config/libgloss.h: Likewise.
+ 	* config/arm/arm.c (arm_gen_load_multiple): Likewise.
+ 	* c4x/c4x-modes.def: Likewise.
+ 	* config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
+ 	(c4x_rptb_nop_p): Likewise.
+ 	(c4x_rptb_valid_p): Likewise.
+ 	(c4x_rptb_insert): Likewise.
+ 	(c4x_address_conflict): Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/i386/athlon.md: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i386/predicates.md: Likewise.
+ 	* config/ia64/ia64.c: Likewise.
+ 	* config/ia64/itanium1.md: Likewise.
+ 	* config/ia64/itanium2.md: Likewise.
+ 	* config/iq2000/iq2000.md: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/r3900.h: Likewise.
+ 	* config/mips/sb1.md: Likewise.
+ 	* config/pa/milli64.S: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pa/pa.h: Likewise.
+ 	* config/rs6000/8540.md: Likewise.
+ 
+ 2004-08-13  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
+ 
+ 2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.md (cbranch define_delay) Use cond_delay_slot for
+ 	non-anulled condition too.
+ 
+ 2004-08-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (any_parallel_operand): New predicate.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
+ 	any_parallel_operand, lmw_operation, stmw_operation,
+ 	mfcr_operation, mtcrf_operation.  Remove PARALLEL from any_operand.
+ 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
+ 	any_parallel_operand.
+ 	(return_and_restore_fpregs_{si,di}): Same.
+ 
+ 2004-08-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
+ 	if pred->singleton != PARALLEL, issue a warning and pretend it was.
+ 	Also issue a warning for any predicate we don't know about.
+ 
+ 2004-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (internal_label_prefix): Export.
+ 	(internal_label_prefix_len, struct ix86_address,
+ 	ix86_decompose_address, maybe_get_pool_constant,
+ 	ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
+ 	memory_address_length): Export.
+ 	(any_fp_register_operand, fp_register_operand,
+ 	register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
+ 	x86_64_general_operand, x86_64_szext_general_operand,
+ 	x86_64_nonmemory_operand, x86_64_movabs_operand,
+ 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
+ 	x86_64_zext_immediate_operand, const_int_1_31_operand,
+ 	symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
+ 	tls_symbolic_operand, global_dynamic_symbolic_operand,
+ 	local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
+ 	local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
+ 	constant_call_address_operand, const0_operand, const1_operand,
+ 	const248_operand, const_0_to_3_operand, const_0_to_7_operand,
+ 	const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
+ 	shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
+ 	general_no_elim_operand, nonmemory_no_elim_operand,
+ 	index_register_operand, q_regs_operand, flags_reg_operand,
+ 	non_q_regs_operand, zero_extended_scalar_load_operand,
+ 	vector_move_operand, no_seg_address_operand, sse_comparison_operator,
+ 	ix86_comparison_operator, ix86_carry_flag_operator,
+ 	fcmov_comparison_operator, promotable_binary_operator,
+ 	cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
+ 	mult_operator, div_operator, arith_or_logical_operator,
+ 	memory_displacement_operand, cmpsi_operand, long_memory_operand,
+ 	aligned_operand): Move to predicates.md as define_predicates.
+ 	(tls_symbolic_operand_1): Remove.
+ 	(x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
+ 	(x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
+ 	(legitimize_address): Merge tls_symbolic_operand contents.
+ 	(ix86_expand_move): Likewise.
+ 	* config/i386/i386-protos.h: Update for exports.
+ 	* config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
+ 	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
+ 	* config/i386/i386.md: Include predicates.md.
+ 	* config/i386/predicates.md: New file.
+ 
+ 2004-08-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/16924
+ 	* config/i386/winnt.c (i386_pe_mark_dllexport): Set
+ 	SYMBOL_REF_DECL.
+ 	(i386_pe_mark_dllimport): Likewise.
+ 	(i386_pe_encode_section_info): Likewise, when overriding
+ 	dllimport attribute.
+ 
+ 2004-08-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* configure.ac: When testing for flex, nm, ar, and bison, check
+ 	that they will actually be built.
+ 	* configure: Regenerate.
+ 
+ 2004-08-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
+ 	(MOVE_MAX_PIECES): Define.
+ 
+ 2004-08-12  Devang patel  <dpatel@apple.com>
+ 
+ 	* dbxout.c (dbxout_begin_prologue): New function.
+ 	(dbx_debug_hooks): Use new begin prologue hook.
+ 	(dbxout_function_end): Emit N_ENSYM.
+ 	* stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
+ 
+ 2004-08-12  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
+ 	argument is float*.
+ 
+ 	* config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
+ 	for vec_dss.
+ 
+ 	* doc/extend.texi (AltiVec builtins): Fix description for recent
+ 	changes.  Update operation list to match current support.
+ 
+ 2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct s390_frame_layout): New struct as element
+ 	of struct machine_function.
+ 	(cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
+ 	changed all uses.
+ 	(cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
+ 	changed all uses.
+ 	(cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
+ 	(cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
+ 	(s390_frame_area, s390_register_info): New functions.
+ 	(s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
+ 	for base register.
+ 	(s390_return_addr_rtx, s390_return_address_offset)
+ 	(s390_va_start, s390_gimplify_va_arg)
+ 	(s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
+ 	layouts.
+ 	(s390_frame_info): Functionality partly moved to s390_register_info.
+ 	Made adaptions for new stack layout.
+ 	(save_gprs, restore_gprs): Changed meaning of second parameter and
+ 	adapted all callers.
+ 
+ 	* config/s390/s390.h (s390_backchain_string): New global variable.
+ 	(MASK_BACKCHAIN): Removed definition.
+ 	(TARGET_BACKCHAIN): Changed check.
+ 	(TARGET_KERNEL_BACKCHAIN): New macro.
+ 	(TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
+ 	(TARGET_OPTIONS): Added "backchain", "no-backchain" and
+ 	"kernel-backchain".
+ 	(DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
+ 
+ 	* config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
+ 	as condition.  Adjusted for new stack layout.
+ 
+ 	* doc/invoke.texi: Added documentation for new option
+ 	"-mkernel-backchain" and adjusted documentation of "-mbackchain" and
+ 	"-mno-backchain".
+ 
+ 2004-08-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
+ 	(aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
+ 
+ 2004-08-12  David Daney  <ddaney@avtrex.com>
+ 
+ 	* java/gcj.texi:  Add subsection on signal usage.
+ 
+ 2004-08-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* expr.c (move_by_pieces): Set alignment for move to minimum of
+ 	MOVE_MAX_PIECES mode alignment and the largest non-slow mode
+ 	alignment, but not less than the original alignment.
+ 	(move_by_pieces_ninsns): Same.
+ 	(can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
+ 	(store_by_pieces_1): Same.
+ 
+ 2004-08-12  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16867
+ 	* tree.c (is_global_var): New function.
+ 	(needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
+ 	Call is_global_var.
+ 	* tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
+ 	Update all users.
+ 	(is_global_var): Declare.
+ 	* tree-dfa.c (dump_variable): Display global and addressable
+ 	attributes.
+ 	(add_referenced_var): Clarify documentation when marking
+ 	variables call-clobbered.
+ 	* tree-flow-inline.h (is_call_clobbered): Call is_global_var
+ 	instead of needs_to_live_in_memory.
+ 	(mark_call_clobbered): If the variable is a tag, mark it
+ 	DECL_EXTERNAL.
+ 	* tree-gimple.c (is_gimple_reg): Don't check for
+ 	TREE_ADDRESSABLE.
+ 	(is_gimple_non_addressable): Likewise.
+ 	* tree-ssa-alias.c (get_nmt_for): Always check whether the tag
+ 	needs to be marked call-clobbered.
+ 	(setup_pointers_and_addressables): Call is_global_var instead
+ 	of needs_to_live_in_memory.
+ 	* tree-ssa-dce.c (need_to_preserve_store): Remove.
+ 	Update all users with is_global_var.
+ 	(mark_stmt_if_obviously_necessary): Fix processing of aliased
+ 	stores.  Don't check the virtual definitions.  Rather, check
+ 	whether the store is going into global memory.
+ 	(find_obviously_necessary_stmts): Get the symbol from the PHI
+ 	result.
+ 	* tree-ssa-operands.c (get_call_expr_operands): Do not add
+ 	clobbering may-defs if the call does not have side effects.
+ 
+ 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/16276
+ 	* output.h (default_function_rodata_section,
+ 	default_no_function_rodata_section): New prototypes.
+ 	* target.h (struct gcc_target): Add asm_out.function_rodata_section.
+ 	* target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
+ 	(TARGET_ASM_OUT): Add it.
+ 	* varasm.c (default_function_rodata_section,
+ 	default_no_function_rodata_section): New functions.
+ 	* final.c (final_scan_insn): Call
+ 	targetm.asm_out.function_rodata_section instead of
+ 	readonly_data_section.
+ 	* config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
+ 	* config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+ 	* config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+ 	* config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+ 	Likewise.
+ 	* config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+ 	* config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+ 	Likewise.
+ 	* config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
+ 	Likewise.
+ 	* config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+ 	* config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
+ 	* doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
+ 
+ 2004-08-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
+ 	frame info.
+ 	* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
+ 	DWARF2_UNWIND_INFO.
+ 
+ 2004-08-12  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	PR target/16286
+ 	* config/rs6000/altivec.h: Change vector to __vector throughout.
+ 	(Except for the `vector' macro itself).
+ 
+ 2004-08-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genpreds.c: Add capability to generate predicate bodies as
+ 	well as function prototypes.  Write function prototypes for
+ 	the generic predicates too.
+ 	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
+ 	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
+ 	(write_match_code, write_predicate_expr, write_one_predicate_function)
+ 	(parse_option): New functions.
+ 	(output_predicate_decls): Delete.
+ 	(main): Read the machine description, process DEFINE_PREDICATE or
+ 	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
+ 	as appropriate.
+ 
+ 	* genrecog.c (struct decision_test): Replace index with
+ 	struct pred_data pointer.
+ 	(next_index): Remove, unused.
+ 	(pred_table, preds, special_mode_pred_table): Delete.
+ 	(compute_predicate_codes, process_define_predicate): New functions.
+ 	(validate_pattern, add_to_sequence, write_switch): Update for
+ 	new data structures.
+ 	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
+ 	Check both error_count and have_error.
+ 
+ 	* gensupport.c (in_fname, first_predicate): New globals.
+ 	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
+ 	(predicate_table, last_predicate, old_pred_table)
+ 	(old_special_pred_table): New statics.
+ 	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
+ 	(add_predicate, init_predicate_table): New functions.
+ 	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
+ 	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
+ 	it or max_include_len.  Call init_predicate_table.
+ 	(read_rtx): Run the predicate queue after the attribute queue
+ 	but before all the others.
+ 	* gensupport.h (in_fname, struct pred_data, first_predicate)
+ 	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
+ 	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
+ 	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
+ 	* dummy-conditions.c: Don't include bconfig.h, system.h,
+ 	coretypes.h, tm.h, or system.h.  Do include stddef.h.
+ 	Duplicate declaration of struct c_test from gensupport.h.
+ 
+ 	* Makefile.in (OBJS-common): Add insn-preds.o.
+ 	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
+ 	(insn-preds.c, insn-preds.o): New rules.
+ 	(s-preds): Also generate insn-preds.c.
+ 	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
+ 	Update dependencies.
+ 	(print-rtl.o, print-rtl1.o): Correct dependencies.
+ 
+ 	* recog.h: Delete prototypes of predicate functions.
+ 
+ 	* doc/md.texi (Predicates): New section with complete
+ 	documentation of operand/operator predicates.  Remove some
+ 	incomplete documentation of predicates from other places.
+ 	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
+ 	PREDICATE_CODES; indicate that both are deprecated in favor
+ 	of define_predicate/define_special_predicate.
+ 
+ 	* config/ia64/ia64.c: All predicate function definitions moved
+ 	to ia64.md, except
+ 	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
+ 	(ia64_expand_load_address, ia64_expand_move):
+ 	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
+ 
+ 	* config/ia64/ia64.md: All predicates now defined here.
+ 	(symbolic_operand): Is now a special predicate.
+ 
+ 	* config/ia64/ia64.h: Declare ia64_section_threshold.
+ 	(PREDICATE_CODES): Delete.
+ 
+ 2004-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (STATEMENT_LIST_HAS_LABEL): New.
+ 	* c-semantics.c (add_stmt): Set it.
+ 	* c-decl.c (finish_decl): Use it to create a new BIND_EXPR
+ 	before instantiating a variable sized type.
+ 
+ 2004-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (round_up, round_down): Move ...
+ 	* fold-const.c (round_up, round_down): ... here.  Use
+ 	multiple_of_p to avoid any arithmetic at all.
+ 
+ 2004-08-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (struct gimplify_init_ctor_preeval_data): New.
+ 	(gimplify_init_ctor_preeval_1): New.
+ 	(gimplify_init_ctor_preeval): New.
+ 	(gimplify_init_ctor_eval): New.
+ 	(gimplify_init_constructor): Use them.  Always gimplify the LHS
+ 	object first.
+ 
+ 2004-08-12  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	(This patch is part of merge of objc-improvements-branch
+ 	into mainline.)
+ 
+ 	* doc/frontends.texi: Mention Objective-C++ in addition to
+ 	Objective-C.
+ 	* doc/install.texi: Add 'obj-c++' to list of configurable
+ 	languages.
+ 	* doc/invoke.texi: Rename Objective-C option headings to
+ 	indicate they also apply to Objective-C++.  List file
+ 	extensions for Objective-C++ sources.  Mention that
+ 	ObjC and ObjC++ compilations may also use C and C++ options,
+ 	respectively.  Point users to doc/standards.texi for
+ 	further info on ObjC and ObjC++.
+ 	* doc/sourcebuild.texi: Mention the objcp/ directory and
+ 	the Objective-C++ sources it contains.
+ 	* doc/standards.texi: Update link to Apple ObjC site;
+ 	add link to gcc readings.html WWW doc.
+ 
+ 2004-08-12  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
+ 	and 2004-07-14 changes.
+ 
+ 2004-08-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* doc/invoke.texi: Fix typo.
+ 
+ 2004-08-11 Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
+ 	and -no_dead_strip_inits_and_terms.
+ 	(LINK_SPEC): Same.
+ 	* doc/invoke.texi (Darwin Options): Document -dead_strip and
+ 	-no_dead_strip_inits_and_terms.
+ 
+ 2004-08-11  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
+ 	(arm_load_pic_register): ... to this.
+ 	* config/arm/arm.c (arm_finalize_pic): Rename ...
+ 	(arm_load_pic_register): ... to this.  Always output insns at the
+ 	current location.  Load via low reg in thumb mode.
+ 	(arm_expand_prologue): Call arm_load_pic_register.
+ 	(thumb_expand_prologue): Ditto.
+ 	* config/arm/arm.h (FINALIZE_PIC): Remove.
+ 	* config/arm/arm.md (builtin_setjmp_receiver): Call
+ 	arm_load_pic_register.
+ 
+ 2004-08-11  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* arm.c (thumb_force_lr_save): Add prototype.
+ 	(thumb_compute_save_reg_mask): New function.
+ 	(thumb_find_work_register): New function.
+ 	(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
+ 	(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
+ 	Don't clobber r3 when removing pretend args.
+ 	(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
+ 	(thumb_output_function_prologue): Use new functions.
+ 	(thumb_set_return_address): Use thumb_compute_save_reg_mask.
+ 	* arm.h (THUMB_REG_PUSHED_P): Remove.
+ 
+ 2004-08-11  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR rtl-optimization/16490
+ 	* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
+ 	global_live_at_end for new basic block if already set for other blocks.
+ 
+ 2004-08-11 David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
+ 
+ 	* config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
+ 	(mfcr rlwinm rlwinm patterns): Set length to 12.
+ 
+ 2004-08-11  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
+ 	get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
+ 	(get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
+ 	(start_ssa_stmt_operands): Delete.
+ 	* tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
+ 	struct stmt_operands_d.
+ 	(build_ssa_operands): New extern entry point.
+ 	* tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
+ 	building code, replace with create_ssa_artficial_load_stmt().
+ 	* tree-ssa-operands.c (struct voperands_d): Delete.
+ 	(allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
+ 	(allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
+ 	(free_uses, free_defs, free_vuses, free_v_may_defs,
+ 	free_v_must_defs): Remove dealloc parameter.
+ 	(remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
+ 	(finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
+ 	finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
+ 	vector comparisons, ssa_name reuse, and allocations here.
+ 	(verify_start_operands): Delete.
+ 	(finalize_ssa_stmt_operands): Set new operands by calling finalize
+ 	routines.
+ 	(start_ssa_stmt_operands): Move from tree-flow-inline.h.
+ 	(append_def, append_usei): Simplify to simple accumulation.
+ 	(append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
+ 	duplicates and simple accumulation.
+ 	(free_ssa_operands): Free vectors in a stmt_operand structure.
+ 	(build_ssa_operands): New. Create a new stmt_operand structure from
+ 	a stmt and an old set of stmt_operands.
+ 	(get_stmt_operands): Simplify and call build_ssa_operands.
+ 	(get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
+ 	get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
+ 	add_call_read_ops): Don't pass prev_vops around anymore.
+ 	(note_addressable): Return if no stmt annotation.
+ 	(copy_virtual_operands): Access v_may_def operands through a struct.
+ 	(create_ssa_artficial_load_stmt): New.  Create a load stmt for DOM's
+ 	hash tables without treating the stmt as a real stmt.
+ 	* tree-ssa-operands.h (struct v_may_def_operand_type): New.  Access
+ 	v_may_def def and use through a struct instead of 2 array elements.
+ 	(struct v_may_def_optype_d): Use v_may_def_operand_type.
+ 	(struct stmt_operands_d): New.  Struct for storing all operand vectors.
+ 
+ 2004-08-11  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_is_longcall_p): Update comment describing
+ 	this funciton's behaviour.  Return true when the current function
+ 	has a section attribute and -mlong-calls is in effect.
+ 	* config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
+ 	short-call marker when -mlong-calls is in effect and the function
+ 	has a section attribute.
+ 
+ 2004-08-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* stmt.c (expand_return): If asked to return the RESULT_DECL,
+ 	just call expand_value_return on result_rtl.
+ 
+ 2004-08-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
+ 	* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
+ 	* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
+ 	(add_location_or_const_value_attribute): ... not here.  Use
+ 	loc_descriptor_from_tree if possible.
+ 	(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
+ 	Simplify address handling.  Handle DECL_VALUE_EXPR.  Handle register
+ 	values specially.
+ 	(loc_descriptor_from_tree): New.  Update callers.
+ 	* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
+ 	* gimplify.c (gimplify_decl_expr): Lower variable sized types to
+ 	pointer plus dereference.  Set DECL_VALUE_EXPR.  Set save_stack.
+ 	(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
+ 	and BUILT_IN_STACK_RESTORE.
+ 	(gimplify_expr): Lower DECL_VALUE_EXPR decls.
+ 	* stmt.c (expand_stack_alloc): Remove.
+ 	* tree-mudflap.c (mx_register_decls): Don't look for
+ 	BUILT_IN_STACK_ALLOC.
+ 	* tree-nested.c (convert_local_reference): Likewise.
+ 	* tree.h (DECL_VALUE_EXPR): New.
+ 
+ 2004-08-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stor-layout.c (round_up): Check for 0/1 before dividing.
+ 	(round_down): Likewise.
+ 
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
+ 
+ 2004-08-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc (arm*-*-eabi*): New target.
+ 	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
+ 	(TARGET_LIB_INT_CMP_BIASED): Likewise.
+ 	* expmed.c (expand_divmod): Try a two-valued divmod function as a
+ 	last resort.
+ 	* gthr.h: Remove bogus tokens at end of #pragma.
+ 	* optabs.c (expand_twoval_binop_libfunc): New function.
+ 	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
+ 	(prepare_float_lib_cmp): Try reversing the condition.
+ 	(debug_optab_libfuncs): New function.
+ 	* optabs.h (expand_twoval_binop_libfunc): Declare.
+ 	* config/arm/arm.c (arm_init_libfuncs): New function.
+ 	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
+ 	(TARGET_INIT_LIBFUNCS): Define it.
+ 	* config/arm/arm.h (TARGET_BPABI): New macro.
+ 	* config/arm/arm-protos.h
+ 	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
+ 	* config/arm/bpabi.S: New file.
+ 	* config/arm/bpabi.c: Likewise.
+ 	* config/arm/bpabi.h: Likewise.
+ 	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
+ 	(__aeabi_drsub): Likewise.
+ 	(__aeabi_dsub): Likewise.
+ 	(__aeabi_dadd): Likewise.
+ 	(__aeabi_ui2d): Likewise.
+ 	(__aeabi_i2d): Likewise.
+ 	(__aeabi_f2d): Likewise.
+ 	(__aeabi_dmul): Likewise.
+ 	(__aeabi_ddiv): Likewise.
+ 	(__aeabi_cdrcmple): Likewise.
+ 	(__aeabi_cdcmpeq): Likewise.
+ 	(__aeabi_cdcmple): Likewise.
+ 	(__aeabi_dcmpeq): Likewise.
+ 	(__aeabi_dcmplt): Likewise.
+ 	(__aeabi_dcmple): Likewise.
+ 	(__aeabi_dcmpge): Likewise.
+ 	(__aeabi_dcmpgt): Likewise.
+ 	(__aeabi_dcmpun): Likewise.
+ 	(__aeabi_d2iz): Likewise.
+ 	(__aeabi_d2uiz): Likewise.
+ 	(__aeabi_d2f): Likewise.
+ 	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
+ 	(__aeabi_frsub): Likewise.
+ 	(__aeabi_fsub): Likewise.
+ 	(__aeabi_fadd): Likewise.
+ 	(__aeabi_ui2f): Likewise.
+ 	(__aeabi_i2f): Likewise.
+ 	(__aeabi_fmul): Likewise.
+ 	(__aeabi_fdiv): Likewise.
+ 	(__aeabi_cfrcmple): Likewise.
+ 	(__aeabi_cfcmpeq): Likewise.
+ 	(__aeabi_cfcmple): Likewise.
+ 	(__aeabi_fcmpeq): Likewise.
+ 	(__aeabi_fcmplt): Likewise.
+ 	(__aeabi_fcmple): Likewise.
+ 	(__aeabi_fcmpge): Likewise.
+ 	(__aeabi_fcmpgt): Likewise.
+ 	(__aeabi_fcmpun): Likewise.
+ 	(__aeabi_f2iz): Likewise.
+ 	(__aeabi_f2uiz): Likewise.
+ 	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
+ 	(__aeabi_uidivmod): New function or alias.
+ 	(__aeabi_idivmod): Likewise.
+ 	(__aeabi_idiv0): Likewise.
+ 	(__aeabi_ldiv0): Likewise.
+ 	(__aeabi_llsr): Likewise.
+ 	(__aeabi_lasr): Likewise.
+ 	(__aeabi_llsl): Likewise.
+ 	(bpabi.S): Include it.
+ 	* config/arm/libgcc-bpabi.ver: New file.
+ 	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
+ 	(LINK_SPEC): Remove.
+ 	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
+ 	__aeabi_ulcmp.
+ 	* config/arm/t-bpabi: New file.
+ 	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
+ 	(TARGET_LIB_INT_CMP_BIASED): Likewise.
+ 
+ 2004-08-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
+ 	* config/rs6000/rs6000.md (clrmemsi): New pattern.
+ 	* config/rs6000/rs6000.c (expand_block_clear): New function.
+ 	(expand_block_move): Convert alignment to bits.  Use SImode and
+ 	HImode for unaligned addresses if not STRICT_ALIGNMENT.
+ 
+ 2004-08-10  Caroline Tice  <ctice@apple.com>
+ 
+ 	* varasm.c (unlikely_section_label): New global variable.
+ 	(unlikely_text_section_name): New global variable.
+ 	(text_section):  Remove alignment statement.
+ 	(unlikely_text_section): Remove alignment statement; use
+ 	unlikely_section_label rather than hard-coded string.
+ 	(assemble_start_function): Initialize unlikely_section_label and
+ 	unlikely_text_section_name;  make sure cold section is properly
+ 	aligned at start of function; output unlikely_section_label if
+ 	appropriate.
+ 
+ 2004-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
+ 	* config/s390/s390.c (s390_canonicalize_comparison): New function.
+ 	* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
+ 	* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
+ 	"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
+ 	("*tmqi_mem"): Remove SUBREG from pattern.
+ 	("*anddi3_cconly"): Prevent accidentally matching TM pattern.
+ 	("*andsi3_cconly"): Likewise.
+ 
+ 2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/16909
+ 	* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
+ 
+ 2004-08-10  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/sourcebuild.texi (compat testing): Document available test
+ 	framework commands.  Use the preferred spelling of DejaGnu.
+ 
+ 2004-08-10  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* lambda.h: Add matrix type, and prototypes for remainder of
+ 	matrix and vector functions.
+ 	(lambda_vector_mult_const): New function.
+ 	(lambda_vector_negate): Ditto.
+ 	(lambda_vector_add): Ditto.
+ 	(lambda_vector_add_mc): Ditto.
+ 	(lambda_vector_copy): Ditto.
+ 	(lambda_vector_zerop): Ditto.
+ 	(lambda_vector_equal): Ditto.
+ 	(lambda_vector_min_nz): Ditto.
+ 	(lambda_vector_first_nz): Ditto.
+ 	(lambda_vector_matrix_mult): Ditto.
+ 	* lambda-mat.c: New file.
+ 	* Makefile.in (lambda-mat.o): New.
+ 
+ 2004-08-10  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
+ 	after linking stmt into the program.
+ 	(bsi_remove): Don't call modify_stmt.
+ 	* tree-complex.c (update_complex_assignment,
+ 	expand_complex_comparison): Call modify_stmt after changing the stmt.
+ 	* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
+ 	removing the stmt.
+ 	* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
+ 	the stmt, and only if needed.
+ 	* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
+ 	expression.
+ 	(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
+ 	(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
+ 	(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
+ 	(eliminate_redundant_computations): Don't pass an annotation. Call
+ 	modify_stmt rather than setting the annotation directly.
+ 	(record_equivalences_from_stmt): Remove unused local 'j'.
+ 	(cprop_operand): Take a stmt rather than an annotation as a parameter.
+ 	Call modify_stmt.
+ 	(cprop_into_stmt): Pass stmt rather than annotation.
+ 	(update_rhs_and_lookup_avail_expr): Call modify_stmt.
+ 	* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
+ 	modify_stmt.
+ 	* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
+ 
+ 2004-08-10  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/16948
+ 	* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
+ 	the RESULT_DECL.
+ 
+ 2004-08-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
+ 	hash function.
+ 
+ 2004-08-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/mips/mips.md: New reciprocal square root patterns that
+ 	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
+ 
+ 2004-08-10  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_set_return_address,
+ 	thumb_set_return_address): Add prototypes.
+ 	* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
+ 	* config/arm/arm.c (arm_compute_func_type,
+ 	use_return_insn, arm_compute_save_reg0_reg12_mask,
+ 	arm_compute_save_reg_mask, arm_output_function_prologue,
+ 	arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
+ 	current_function_calls_eh_return.
+ 	(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
+ 	old eh code.
+ 	(arm_set_return_address, thumb_set_return_address): New functions.
+ 	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
+ 	ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
+ 	* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
+ 	(epilogue): Use the stackadj register.
+ 	(eh_return, arm_eh_return, thumb_eh_return): New pattern.
+ 
+ 2004-08-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/3144
+ 	* expr.c (move_by_pieces_ninsns): Add max_size argument.
+ 	(MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
+ 	(CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
+ 	(STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
+ 	but using MOVE_RATIO.
+ 	(move_by_pieces): Pass max_size to move_by_pieces_ninsns.
+ 	(can_store_by_pieces): Change max_size type to unsigned int.
+ 	(store_by_pieces_1): Likewise.  Pass max_size to
+ 	move_by_pieces_ninsns.
+ 	* config/s390/s390.h (STORE_BY_PIECES_P): Define.
+ 	* config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
+ 	to move_by_pieces_ninsns.
+ 	(STORE_BY_PIECES_P): Define.
+ 	* config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
+ 	to move_by_pieces_ninsns.
+ 	* doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
+ 
+ 	* config/i386/i386.h (CLEAR_RATIO): Define.
+ 
+ 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expr.c (expand_expr_real_1): Add back code that was not dead.
+ 
+ 2004-08-09  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-common.c (c_common_get_alias_set): Set the aliasing set of the type
+ 	which is found to be compatible before returning the aliasing set.
+ 
+ 2004-08-09  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* ggc-zone.c (struct alloc_zone): Add statistics counters.
+ 	(always_collect): New flag.
+ 	(ggc_alloc_zone_1): Update statistics support.  Don't include
+ 	overhead in allocated counter.
+ 	(sweep_pages): Update allocated counter for large pages.  Don'y
+ 	include overhead.
+ 	(ggc_collect_1): Always collect.
+ 	(ggc_collect): Honor always_collect flag.  Sum all zones to decide
+ 	whether to collect.
+ 	(SCALE, LABEL): New macros.
+ 	(ggc_print_statistics): Add statistics support.
+ 
+ 2004-08-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
+ 	(init_expmed): Fix potential overrun problem with "all.reg".
+ 	(expand_sdiv2_pow2): Add an alternate implementation for signed
+ 	division, if the target provides a suitable conditional move insn.
+ 
+ 2004-08-09  Paul Brook  <paul@codesourcery.com>
+ 	Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind-dw2.c (uw_install_context_1): Update target saved stack
+ 	pointer.
+ 
+ 2004-08-09  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
+ 	Check DATA limit only if there's no AS limit.  Ignore insanely
+ 	low DATA limits.
+ 	(ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
+ 	but take care that the AS limit isn't overrun.
+ 	* doc/invoke.texi: Update documentation of min-heapsize parameter.
+ 
+ 2004-08-09  Jeff Law  <law@redhat.com>
+ 
+ 	* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
+ 	(tree-ssa-threadupdate.o): Add dependencies.
+ 	* tree-ssa-threadupdate.c: New file.
+ 	* tree-flow.h (incoming_edge_threaded): New flag in block annotation.
+ 	(rewrite_vars_out_of_ssa): Remove prototype.
+ 	(cleanup_tree_cfg): Returns a bool.
+ 	* tree.h (thread_through_all_blocks): Prototype.
+ 	* tree-outof-ssa.c  (SSANORM_*): Move into here.
+ 	(remove_ssa_form): Now static.
+ 	(rewrite_vars_out_of_ssa): Kill.
+ 	* tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
+ 	* tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
+ 	(remove_ssa_form, register_partitions_for_vars): Kill declarations.
+ 	* tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
+ 	anything was changed.
+ 	* tree-phinodes.c (add_phi_arg): Get the block for the PHI
+ 	from the PHI's annotation rather than the edge associated with
+ 	the new argument.
+ 	* tree-ssa-dom.c (redirection_edges): Kill.
+ 	(redirect_edges_and_update_ssa_graph): Kill.
+ 	(tree_ssa_dominator_optimize): Do not reset forwardable flag
+ 	for blocks anymore.  Do not initialize redirection_edges.
+ 	Call thread_through_all_blocks.  Simplify code for cleanup
+ 	of the CFG and iterating.  No longer call cleanup_tree_cfg
+ 	outside the iteration loop.
+ 	(thread_across_edge): No longer mess with forwardable blocks.
+ 
+ 2004-08-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* explow.c (memory_address): Use memory_address_p.
+ 	* recog.c (general_operand): Likewise.
+ 	* regrename.c: No need to define REG_OK_STRICT.
+ 
+ 2004-08-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
+ 	New timers.
+ 	* gcse.c: Include timevar.h.
+ 	(const_prop_count, copy_prop_count): Rename to global_const_prop_count
+ 	and global_copy_prop_count.
+ 	(local_const_prop_count, local_copy_prop_count): New static globals.
+ 	(gcse_main): Set the right timevar for each pass.
+ 	(cprop_jump): Increment global_const_prop_count when a constant is
+ 	propagated.  Add "GLOBAL" to dump output.
+ 	(cprop_insn): Increment global_const_prop_count when a constant is
+ 	propagated, or global_copy_prop_count when a copy is propagated.
+ 	(do_local_cprop): Likewise for local_const_prop_count and
+ 	local_copy_prop_count.
+ 	(one_cprop_pass): Initialize const/cprop counters to zero.
+ 	Print out results of local and global const/cprop separately.
+ 	(bypass_block): Break over-length line.
+ 	* Makefile.in (gcse.o): Add TIMEVAR_H dependency.  Fix dependencies
+ 	for bb-reorder.o and tracer.o.
+ 
+ 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in (GTFILES): Remove stmt.c
+ 	(stmt.o): Do not depend on gt-stmt.h.
+ 	* emit-rtl.c (emit_line_note): Do not call
+ 	set_file_and_line_for_stmt.
+ 	* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
+ 	do everything.
+ 	* function.c (free_after_parsing): Do not free STMT field.
+ 	(allocate_struct_function): Do not call init_stmt_for_function.
+ 	(assign_stack_temp_for_type): Do not accept values of keep
+ 	other than 0 or 1.
+ 	(init_temp_slots): Do not initialize removed variables.
+ 	* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
+ 	and X_VAR_TEMP_SLOT_LEVEL fields.
+ 	* rtl.h (set_file_and_line_for_stmt): Remove.
+ 	* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
+ 	struct stmt_status, cond_stack, case_stack, nesting_stack,
+ 	nesting_depth, emit_locus, set_file_and_line_for_stmt,
+ 	same_case_target_p, init_stmt_for_function, emit_nop,
+ 	expand_start_cond, expand_start_elseif, expand_start_else,
+ 	expand_elseif, expand_end_cond): Remove.
+ 	(preserve_subexpressions_p): Remove references to CFUN->STMT.
+ 	(expand_start_case, expand_end_case_type): Remove, merge into...
+ 	(expand_case): ... this one, including other bits from
+ 	expand_expr_real_1.  Inline same_case_target_p.  Turn members
+ 	of CASE_STACK into local variables.
+ 	(emit_case_bit_tests): Inline same_case_target_p.
+ 	(add_case_node): Add HEAD argument, return new head of the list,
+ 	do not handle default label here.
+ 	* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
+ 	expand_start_elseif, current_nesting_level, expand_start_case,
+ 	expand_end_case_type, expand_end_case, add_case_node,
+ 	init_stmt_for_function, expand_elseif): Remove prototypes.
+ 	(expand_case): Add prototype.
+ 
+ 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expr.c (expand_expr_real_1): Use optab_for_tree_code.
+ 
+ 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expr.c (var_rtx): Remove.
+ 	(expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
+ 	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
+ 	TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
+ 	Abort.
+ 	(expand_expr_real_1) <COND_EXPR>: Remove most special cases.
+ 	* optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
+ 	* optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
+ 
+ 2004-08-08  Mostafa Hagog  <mustafa@il.ibm.com>
+ 	Ayal Zaks <zaks@il.ibm.com>
+ 
+ 	* common.opt (freschedule-modulo-scheduled-loops): New flag.
+ 	* final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
+ 	* modulo-sched.c (sms_schedule): Emit a note to disable scheduling
+ 	when -freschedule-modulo-scheduled-loops flag is not specified.
+ 	(sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
+ 	add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
+ 	More accurate placing of insn in row of partial schedule.
+ 	(ps_insn_find_column): New function.
+ 	* rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
+ 	* sched-rgn.c (sched_is_disabled_for_current_region_p): New.
+ 	(schedule_region): Use sched_is_disabled_for_current_region_p.
+ 	* docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
+ 
+ 2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_clrmem): Revert the last
+ 	change.
+ 
+ 2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_clrmem): Properly call
+ 	gen_strset for 64bit target.
+ 
+ 2004-08-07  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
+ 
+ 2004-08-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	Make return in memory explicit.
+ 	* function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
+ 	(assign_parm_find_data_types): Remove code for old front end
+ 	invisible reference handling.
+ 	(assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
+ 	(expand_function_end): Likewise.
+ 	* gimplify.c (gimplify_return_expr): Handle a dereferenced
+ 	RESULT_DECL.
+ 	* tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
+ 	(declare_return_variable): Handle DECL_BY_REFERENCE.
+ 	* cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
+ 	(cp_genericize_r): Use convert_from_reference.
+ 	Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
+ 	(cp_genericize): Handle the RESULT_DECL.  Unset TREE_ADDRESSABLE.
+ 
+ 	* c-common.c (c_warn_unused_result): Check TREE_USED before
+ 	warning about a CALL_EXPR with an unused value.
+ 
+ 2004-08-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
+ 	to the compiler.  Use -fshort-wchar by default.
+ 
+ 2004-08-06  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
+ 	* cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
+ 	threshhold.
+ 	* doc/invoke.texi (param): Document min-crossjump-insns.
+ 
+ 2004-08-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR c/13282
+ 	* c.opt (Wmissing-field-initializers): New option.
+ 	* c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
+ 	* c-typeck.c (pop_init_level): Guard the missing field warning with
+ 	warn_missing_field_initializers rather than extra_warnings.
+ 	* doc/invoke.texi (-Wmissing-field-initializers): Document, moving
+ 	some of the explanation from...
+ 	(-Wextra): ...here.  Say that the missing field warning can be
+ 	seperately controlled by -Wmissing-field-initializers.
+ 
+ 2004-08-06  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
+ 	* tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
+ 	* tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
+ 	* tree.def (ENTRY_VALUE_EXPR): Remove.
+ 
+ 2004-08-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
+ 	the places where it is actually needed.  Don't use repz; stosb
+ 	for -Os with sufficiently small constant sizes.
+ 	For sufficiently small repz; stos{l,q} repeat counts use a sequence
+ 	of stos{l,q} instructions instead.
+ 
+ 2004-08-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/16807
+ 	* loop-iv.c (dump_iv_info): Dump invariants correctly.
+ 	(iv_subreg, iv_extend): Express value of invariant purely in
+ 	base field.
+ 
+ 2004-08-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
+ 	(CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
+ 
+ 2004-08-06  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
+ 	* config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
+ 	pre_dec_operand.
+ 	* config/m68k/m68k.md (zero_extend*2): delay the splitting of the
+ 	pattern until reload is finished to allow better code generation
+ 	and split them completely into separate instrunctions.
+ 	(*andsi3_split): New pattern.
+ 
+ 2004-08-05  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tree.c (handle_dll_attribute): Move here from i383/winnt.c.
+ 	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
+ 	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
+ 	* tree.h (handle_dll_attribute): Declare.  Test
+ 	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
+ 	* c-common.h (c_determine_visibility): Declare.
+ 	* c-common.c (c_determine_visibility): New function.
+ 	* c-decl.c (finish_decl): Use it.
+ 	(finish_function): Likewise.
+ 	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
+ 	zero, by default.  Use #if, not	#ifdef, to test it.
+ 	* config/arm/arm.c (arm_attribute_table): Use
+ 	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
+ 	#if.
+ 	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
+ 	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
+ 	to 1.
+ 	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
+ 	* config/i386/i386.c (ix86_attribute_table): Use
+ 	handle_dll_attribute for dllimport/dllexport.  Test
+ 	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
+ 	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
+ 	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
+ 	it to 1.
+ 	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
+ 	with #if.
+ 	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
+ 	it to 1.
+ 	* doc/extend.texi (dllexport): Clarify and correct documentation.
+ 	(dllimport): Likewise.
+ 	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
+ 	handle_dll_attribute.
+ 
+ 2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-manip.c: New file.
+ 	* Makefile.in (tree-ssa-loop-manip.o): Add.
+ 	* tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
+ 	Declare.
+ 	* tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
+ 	form.
+ 	(tree_ssa_loop_done): Verify loop closed ssa form.
+ 	* tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
+ 
+ 2004-08-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
+ 	pa_asm_output_aligned_local): New functions.
+ 	* pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
+ 	pa_asm_output_aligned_common and pa_asm_output_aligned_local.
+ 	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
+ 	pa_asm_output_aligned_common.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
+ 	* pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
+ 	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
+ 	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
+ 	* som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
+ 	common data.
+ 
+ 2004-08-05  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* objc/objc-act.c (build_objc_string_object): Mark the address
+ 	expression as constant.
+ 
+ 2004-08-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
+ 	and mask64_operand thinkos.  Handle ZERO_EXTRACT.  Handle
+ 	SIGN_EXTEND / ZERO_EXTEND of MEM.  Handle rlwinm patterns.
+ 
+ 2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* config/linux.h, config/i386/linux.h, config/sparc/linux.h:
+ 	Remove definitions conditioned on USE_GNULIBC_1 or conditioned
+ 	out, and associated obsolete comments.
+ 
+ 2004-08-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (force_fit_type): Return a tree, take three flags.
+ 	* fold-const.c (force_fit_type): Set TREE_OVERFLOW and
+ 	TREE_CONSTANT_OVERFLOW here.
+ 	(int_const_binop, const_binop): Adjust.
+ 	(size_int_type): Do sign extension here.
+ 	(fold_convert_const, optimize_bit_field_compare,
+ 	decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
+ 	fold_negate_const, fold_abs_const, fold_not_const): Adjust.
+ 	* tree.c (size_in_bytes, int_fits_type_p): Adjust.
+ 
+ 2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/16864
+ 	* tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
+ 	for ssa names without default_def.
+ 
+ 2004-08-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_prologue): If the function uses a
+ 	frame pointer, restore eax with an ebp-relative address.
+ 
+ 2004-08-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR 14516
+ 	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
+ 	* c-common.h (make_rtl_for_local_static): Delete.
+ 	* c-decl.c (shadow_tag_warned): Clean up comment.
+ 	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
+ 	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
+ 	* c-semantics.c (make_rtl_for_local_static): Delete.
+ 	* expr.c (init_block_move_fn): Use set_user_assembler_name.
+ 	(init_block_clear_fn): Likewise.
+ 	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
+ 	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
+ 	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
+ 	* tree.h (make_decl_rtl): Remove second parameter.
+ 	(set_user_assembler_name): New.
+ 	* varasm.c (set_user_assembler_name): New.
+ 	(make_decl_rtl): Remove second parameter.  Update callers in many
+ 	files.
+ 
+ 2004-08-05  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
+ 	(case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*.  Update
+ 	to LynxOS 4.0.
+ 	* gthr-lynx.h: New file.
+ 	* config/lynx-ng.h: Remove file.
+ 	* config/lynx.h: Update to LynxOS 4.0.
+ 	* config/t-lynx: New file.
+ 	* config/i386/lynx-ng.h: Remove file.
+ 	* config/i386/lynx.h: Update to LynxOS 4.0.
+ 	* config/rs6000/lynxbase.h: Remove file.
+ 	* config/rs6000/lynx.h: Update to LynxOS 4.0.
+ 	* config/rs6000/t-lynx: New file.
+ 	* doc/install.texi (Options specification): Remove reference to
+ 	LynxOS from systems where --with-gnu-as makes a difference.
+ 
+ 2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
+ 	__UINTMAX_TYPE__.
+ 	* c-cppbuiltin.c (builtin_define_stdint_macros): New.  Define
+ 	__INTMAX_MAX__.
+ 	(c_cpp_builtins): Call it.
+ 	* doc/cpp.texi: Update.
+ 
+ 2004-08-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
+ 	cost.
+ 
+ 2004-08-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (profile_staus): New global variable.
+ 	* cfg.c (profile_status): Declare.
+ 	(check_bb_profile): Break out from ....; use profile_status
+ 	(dump_flow_info): ... here.
+ 	* cfgbuild.c (find_basic_blocks): Set profile_status.
+ 	* cfgexpand.c (tree_expand_cfg): Likewise.
+ 	* predict.c (estimate_probability): Likewise.
+ 	* profile.c (branch_prob): Likewise.
+ 	* tree-cfg.c (build_tree_cfg): Likewise.
+ 	(dump_function_to_file): Use check_bb_profile.
+ 	* tree-pretty-print (dump_bb_header): Likewise.
+ 	* tree-profile.c (do_tree_profiling): Cleanup.
+ 
+ 2004-08-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (RTL_BASE_H, RTL_H): Correct.
+ 	(BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
+ 	(genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
+ 	(read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
+ 	(genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
+ 	(genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
+ 	(genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
+ 	(ggc-none.o, errors.o): Move rule to generators section;
+ 	correct dependencies.
+ 	(min-insn-modes.o): Move rule to generators section; remove
+ 	unnecessary explicit command; correct dependencies.
+ 	(print-rtl.o, print-rtl1.o): Correct dependencies.
+ 	($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
+ 	(mostlyclean): Update.
+ 
+ 	* errors.c: Include bconfig.h not config.h.  Correct comment.
+ 	* gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
+ 	* ggc-none.c: Include bconfig.h; not config.h or tm.h.
+ 	* print-rtl.c: Don't include tm_p.h.
+ 
+ 	* rtl.h: Move forward-decl of struct function down where it's
+ 	needed.  Include genrtl.h #ifndef GENERATOR_FILE, not
+ 	#ifndef NO_GENRTL_H.  Remove unnecessary #ifdef BUFSIZ statements.
+ 
+ 2004-08-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
+ 	* tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
+ 	* tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
+ 	manipulate the duplicated ssa names.
+ 	* tree-ssanames.c (ssa_names_to_rewrite): New variable.
+ 	(marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
+ 	unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
+ 	New functions.
+ 	(release_ssa_name): Do not release ssa names that may have multiple
+ 	definitions.
+ 	* tree.h (release_ssa_name_force, mark_for_rewrite,
+ 	unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
+ 	marked_ssa_names): Declare.
+ 	* tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
+ 	(duplicate_blocks): Remove call to mark_defs_for_rewrite.
+ 	Update call to rewrite_ssa_into_ssa.
+ 
+ 2004-08-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* defaults.h (TARGET_DECLSPEC): New macro.
+ 	* c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
+ 	* config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
+ 	* config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
+ 	* config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
+ 	__declspec support.
+ 	(TARGET_DECLSPEC): Define.
+ 	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
+ 	__declspec support.
+ 	* config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
+ 	__declspec support.
+ 	(TARGET_DECLSPEC): Define.
+ 	* config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
+ 	__declspec support.
+ 	* config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
+ 	support.
+ 	* doc/tm.texi (TARGET_DECLSPEC): Document.
+ 
+ 	* doc/extend.texi: Fix typo in comment.
+ 
+ 2004-08-04  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
+ 	(TARGET_CXX): Use it.
+ 	* target.h (struct gcc_target): Add cdtor_returns_this.
+ 	* config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
+ 	(TARGET_CXX_CDTOR_RETURNS_THIS): Define.
+ 	* doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
+ 
+ 2004-08-03  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
+ 	low/high pair. Do range checking directly.
+ 	(interpret_integer): Adjust.
+ 
+ 2004-08-04  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
+ 	GCC ABI.
+ 	* doc/invoke.texi: Document this new switch and also the -mrenesas
+ 	switch.
+ 
+ 2004-08-04  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cfglayout.c (insn_locators_initialize): Update the current
+ 	location before initializing a location.
+ 
+ 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
+ 	(dbxout_function_end): Return after emitting the "Lscope" symbol
+ 	under the same conditions that this function formerly wasn't called.
+ 	Add explanatory comments.
+ 
+ 	PR 14860
+ 	* c-decl.c (record_builtin_type): Call debug_hooks->type_decl
+ 	on the new decl.
+ 
+ 	PR 13956
+ 	* dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
+ 	functions, broken out of dbxout_block.
+ 	(dbxout_block): The block at depth 0 should get LBRAC/RBRAC
+ 	stabs too, if it contains symbols.  Use the begin_label and
+ 	the Lscope label (emitted by dbxout_function_end) for the
+ 	range of this block.
+ 
+ 2004-08-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Update autoconf version requirements.
+ 
+ 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
+ 	* recog.c (general_operand, immediate_operand, nonmemory_operand)
+ 	(asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
+ 	* regclass.c (record_reg_classes): Likewise.
+ 	* reload.c (find_reloads): Likewise.
+ 	* reload1.c (reload): Likewise.
+ 
+ 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gensupport.c (init_md_reader_args_cb): Renamed from
+ 	init_md_reader_args.  Add third option, callback function for
+ 	parsing program-specific options.  Add diagnosis of incorrect
+ 	number of input files.
+ 	(init_md_reader): Fold into init_md_reader_args_cb.
+ 	(init_md_reader_args): Now a thin wrapper around
+ 	init_md_reader_args_cb.
+ 	* gensupport.h: Update prototypes.
+ 
+ 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
+ 	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
+ 	* genrecog.c: No need to diagnose lack of an input file;
+ 	init_md_reader_args will handle it.
+ 	* genconditions.c: Likewise, and use init_md_reader_args.
+ 	* genconstants.c: Likewise, and no need to call read_md_rtx.
+ 
+ 2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (implicitly_declare): Diagnose incompatible implicit
+ 	declarations.
+ 
+ 2004-08-03  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
+ 	for frameworks.
+ 	* doc/invoke.texi (Darwin Options): Update to reflect above.
+ 
+ 2004-08-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/16790
+ 	* fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
+ 	truncations, not just global truncations.
+ 
+ 2004-08-03  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR bootstrap/16865
+ 	* loop-iv.c (simplify_using_assignment): Initialize lhs.
+ 
+ 2004-08-03  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* gcc/doc/install.texi: Document MPFR requirement.
+ 
+ 2004-08-03  Maciej W. Rozycki  <macro@linux-mips.org>
+ 
+ 	* aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
+ 	and mmap() explicitly instead of relying on preset autoconf cache
+ 	variables.
+ 	* configure: Regenerate.
+ 
+ 2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/16570
+ 	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
+ 	to tmake_file.
+ 	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
+ 	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
+ 	to tmake_file.
+ 
+ 	* config/i386/t-gmm_malloc: New file.
+ 	* config/i386/t-pmm_malloc: Likewise.
+ 
+ 	* config/i386/xmmintrin.h: Include <mm_malloc.h>.
+ 
+ 2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
+ 	    Tanguy FautrÃ  <tfautre@pandora.be>
+ 
+ 	* config/i386/pmm_malloc.h: New file.
+ 
+ 2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/gmm_malloc.h: New file.
+ 
+ 2004-08-03  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (machopic_output_stub):  Align Darwin stubs.
+ 	* c-common.c: Include opts.h.
+ 	(c_common_get_alias_set): Fix check for a single input file.
+ 	* toplev.c: Remove current_file_decl.
+ 	* tree.h: Ditto.
+ 
+ 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config.gcc (arm*-*-symbianelf*): New target.
+ 	* config/arm/symbian.h: New file.
+ 
+ 	* gthr-gnat.c: Add visibility #pragmas.
+ 	* gthr-gnat.h : Likewise.
+ 	* gthr.h: Likewise.
+ 	* libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
+ 	(__ffsDI2): Likewise.
+ 	(__clzSI2): Likewise.
+ 	(__ctzSI2): Likewise.
+ 	(__ctzDI2): Likewise.
+ 	(__popcountSI2): Likewise.
+ 	(__popcountDI2): Likewise.
+ 	(__paritySI2): Likewise.
+ 	(__parityDI2): Likewise.
+ 	* libgcc2.h: Add visibility #pragmas.
+ 	(__clzDI2): Add prototype.
+ 	(__clzSI2): Likewise.
+ 	(__ctzSI2): Likewise.
+ 	(__ffsDI2): Likewise.
+ 	(__ffsSI2): Likewise.
+ 	(__ctzDI2): Likewise.
+ 	(__popcountSI2): Likewise.
+ 	(__popcountDI2): Likewise.
+ 	(__paritySI2): Likewise.
+ 	(__parityDI2): Likewise.
+ 	* unwind-dw2-fde.h: Add visibility #pragmas.
+ 	* unwind.h: Likewise.
+ 
+ 2004-08-03  David Edelsohn  <edelsohn@gnu.org>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of
+ 	constants more accurately.  Adjust costs for FMA instructions.
+ 	Add cases for most logical and float operations.  Recurse into
+ 	most operands.
+ 
+ 2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files.
+ 
+ 2004-08-03  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* ra-build.c (conflicts_between_webs): For webs that cross a call add
+ 	conflicts to regs_invalidated_by_call.
+ 
+ 2004-08-03  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
+ 
+ 2004-08-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* coverage.c (tree_coverage_counter_ref): Fix computation of the new
+ 	ARRAY_REF argument.
+ 
+ 2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm-cores.def: Sort by architecture.  Add arm946es, arm966es,
+ 	arm968es, arm10e, arm1020e, arm1022e.
+ 	* invoke.texi: Update list of ARM cores.
+ 	* arm-tune.md: Regenerate.
+ 
+ 2004-08-03  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm/gentune.sh: New file.
+ 	* arm/t-arm: New file.
+ 	* arm/arm-tune.md: New file (autogenerated).
+ 	* config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants.
+ 	* arm.md (attribute tune): Delete.  Include arm-tune.md.
+ 
+ 2004-08-03  Paolo Bonzini <bonzini@gnu.org>
+ 
+ 	* gcc.c (add_prefix, add_sysrooted_prefix): Remove
+ 	penultimate parameter.  All callers adjusted.
+ 	(struct prefix_list): Remove used_flag_ptr.
+ 	(find_a_file): Do not set *pl->used_flag_ptr.
+ 	(warn_B, warn_std_ptr): Remove.
+ 
+ 2004-08-03  Yossi Markovich <yossim@il.ibm.com>
+ 	    Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
+ 
+ 2004-08-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Don't change data format
+ 	due to TARGET_USES_WEAK_UNWIND_INFO.  Always refer to the local
+ 	label.  Use 'true' not '1'.
+ 	* doc/install.texi (powerpc-*-darwin*): Mention cctools version
+ 	required.
+ 
+ 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* gdbinit.in: Reflect previous changes to rtunion_def.
+ 
+ 2004-08-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y"
+ 	-> "X % Y" is only valid for TRUNC_MOD_EXPR.
+ 
+ 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and
+ 	vec_p_reserve.
+ 	* langhooks.h (lang_hooks::builtin_function): Rename parameter
+ 	from "class" to "bt_class".
+ 
+ 2004-08-02  Paul Brook  <paul@codesourcery.com>
+ 
+ 	PR rtl-optimization/15068
+ 	* flow.c (init_propagate_block_info): Check condition is reversible.
+ 
+ 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* gengtype.h (options::info): Change type to const char *.
+ 	(enum gc_used_enum): Move out of struct type scope.
+ 	* gengtype.c (create_option): Convert initializer for option::info to
+ 	appropiate type.
+ 	(adjust_field_type, walk_type, write_func_for_structure,
+ 	write_root, write_roots): Remove pointless cast.
+ 
+ 2004-08-02  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F.
+ 
+ 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* rtl.h (union rtunion_def): Have all members  start with the
+ 	prefix "rt_".
+ 	(XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL,
+ 	X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
+ 	X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP,
+ 	XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members
+ 	access.
+ 	* gengtype.c (adjust_field_rtx_def): Likewise.
+ 	* rtlanal.c (loc_mentioned_in_p): Likewise.
+ 
+ 2004-08-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
+ 	Replace uses of mips/elf64.h with mips/elf.h
+ 	* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
+ 	(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
+ 	(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
+ 	(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
+ 	(HANDLE_SYSV_PRAGMA): Delete.
+ 	(ASM_OUTPUT_DEF): Fix formatting.
+ 	* config/mips/elf64.h: Delete.
+ 
+ 2004-08-01  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (got_symbolic_operand): Do require a
+ 	symbol+offset operand to have its offset be zero mod 0x3fff
+ 	when GOT entries are in use.  Clarify logic in SYMBOL_REF
+ 	case.  Clarify comments.
+ 	(ia64_expand_load_address): Split a symbol+offset load when
+ 	the offset is nonzero mod 0x3fff, not 0x1fff.
+ 
+ 2004-08-01  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
+ 	if trying to *store* to a non-offsettable address.
+ 	* config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to
+ 	a nonoffsettable address.
+ 	(movdi_internal32): Don't move GPRs to a nonoffsettable address.
+ 	Clean up.
+ 	(movti_string): Don't move GPRs to a nonoffsettable address.
+ 	(movti_ppc64): Don't move GPRs to a nonoffsettable address.  Clean up.
+ 
+ 2004-08-02  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	PR target/16155
+ 	* config/rs6000/altivec.h: Replace typeof with __typeof__.
+ 
+ 2004-08-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
+ 	variable sized types.
+ 
+ 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: In the MIPS options section, remove the passage
+ 	saying that -mexplicit-relocs is usually disabled for -mabicalls
+ 	-fno-unit-at-a-time.
+ 	* config/mips/mips.c (override_options): Remove the code that enforced
+ 	this rule.
+ 
+ 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (cprestore): Provide two alternatives, one for
+ 	an in-range offset and one for an out-of-range offset.  Wrap the latter
+ 	in .set macro/.set nomacro if it's inside a .set nomacro block.
+ 
+ 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_gp_save_slot): Remove.
+ 	(mips_restore_gp): Declare.
+ 	* config/mips/mips.c (mips_add_offset): Add a scratch register
+ 	argument.  Reimplement in rtl only, reusing MIPS16 logic from
+ 	mips_output_mi_thunk.
+ 	(mips_legitimize_address, mips_legitimize_const_move): Adjust calls
+ 	to mips_add_offset.
+ 	(mips_gp_save_slot): Delete.
+ 	(mips_restore_gp): New function.
+ 	(mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset.
+ 	* config/mips/mips.md (exception_receiver): Turn into a
+ 	define_insn_and_split.  Use mips_restore_gp to do the split.
+ 	(call_internal, call_value_internal, call_value_multiple_internal): Use
+ 	mips_restore_gp to restore $gp.
+ 
+ 2004-07-31  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR other/16842
+ 	* mkheaders.in (libsubdir): s/gcc-lib/gcc/.
+ 
+ 2004-07-31  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (diagnose_mismatched_decls): Give error for external
+ 	redeclaration of identifier declared with no linkage, not just
+ 	warning with -Wtraditional.  Do not check DECL_CONTEXT to give
+ 	error for redeclaration with no linkage.
+ 
+ 2004-07-30  Geoffrey Keating  <geoffk@apple.com>
+ 	    Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit
+ 	non-offsettable addresses even for DImode.
+ 	(rs6000_split_multireg_move): Cope with non-offsettable addresses
+ 	being moved into multiple GPRs.
+ 
+ 	* config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default
+ 	to 64.
+ 	(rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE.
+ 	* config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define
+ 	to 128.
+ 	* config/rs6000/darwin-ldouble.c (isless): New macro.
+ 	(inf): New macro.
+ 	(nonfinite): New macro.
+ 	(FPKINF): Delete.
+ 	(_xlqadd): Completely rewrite.
+ 	(_xlqmul): Correct overflow handling.
+ 	(_xlqdiv): Correct overflow handling.
+ 	* config/rs6000/darwin-ldouble-format: New file.
+ 
+ 2004-07-30  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md: New peephole2's to convert imul by 3, 5 or
+ 	9 into the equivalent lea instruction.
+ 
+ 2004-07-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace
+ 	with DECL_INITIAL if fb_lvalue.
+ 	* tree-gimple.c (is_gimple_id): Add CONST_DECL.
+ 	* tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL
+ 	with <Cxxx>.
+ 	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL.
+ 
+ 2004-07-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): If a
+ 	pointer escapes through a function call, assume that the
+ 	callee will dereference it.
+ 	(add_pointed_to_var): Assume that VALUE is always an
+ 	ADDR_EXPR.
+ 	(collect_points_to_info_r): Only call add_pointed_to_var if
+ 	the value is an ADDR_EXPR.
+ 
+ 2004-07-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (create_alias_map_for): Do not get the
+ 	alias set of the inner type of ARRAY_TYPEs.
+ 
+ 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-ccp.c (visit_assignment): Move code to prevent
+ 	setting a non-register to UNDEFINED right before the call to
+ 	set_lattice_value.
+ 
+ 2004-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.
+ 
+ 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa.c (verify_flow_sensitive_alias_info): When
+ 	comparing points-to sets of different pointers, make sure the
+ 	second pointer is actually referenced in the code.
+ 
+ 2004-07-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (setjmp_operand): Delete, unused.
+ 	(got_symbolic_operand): Remove unreachable code.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Remove entry for
+ 	setjmp_operand; add entry for tls_symbolic_operand.
+ 	* config/ia64/ia64-protos.h: Remove all prototypes of
+ 	predicate functions.
+ 
+ 2004-07-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.h (lang_post_pch_load): New variable.
+ 	* c-pch.c (lang_post_pch_load): Define it.
+ 	(c_common_read_pch): Use it.
+ 	* cgraphunit.c (record_call_1): Give the front end a chance to
+ 	record additional needed entities when a variable is marked as
+ 	needed.
+ 	* tlink.c (recompile_files): Robustify.
+ 	(scan_linker_output): If a symbol is assigned to a file,
+ 	but after recompilation is not present there, issue an error
+ 	message.
+ 
+ 2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-im.c (force_move_till_expr, force_move_till):
+ 	Take orig_loop argument and pass it to set_level.
+ 	(schedule_sm): Pass the correct orig_loop to force_move_till.
+ 
+ 2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.c (update_latch_info): Update dominator of the new block.
+ 	(canonicalize_loop_headers, flow_loops_find): Do not free dominance
+ 	info.
+ 	* dominance.c (verify_dominators): Check that the dominance tree is
+ 	connected.
+ 	(recount_dominator): Ignore unreachable blocks.
+ 	(iterate_fix_dominators): Cleanup old dominance information before
+ 	recomputing it.
+ 
+ 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-operands.c (get_expr_operands): Revert changes
+ 	to ADDR_EXPR processing introduced by:
+ 	    2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 	    * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
+ 
+ 2004-07-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/implement-c.texi: Add C90 subclause references.  Point to
+ 	preprocessor documentation instead of duplicating it.  Add points
+ 	only present in C90.  Fill in documentation for all points.
+ 
+ 2004-07-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (output_movb): Correct typo.
+ 
+ 2004-07-29  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* ra.h (single_reg_in_regclass): Declare.
+ 	* ra.c (single_reg_in_regclass): Define.
+ 	(first_hard_reg): New.
+ 	(init_ra): Initialize single_reg_in_regclass.
+ 	* ra-colorize.c (ok_class): New.
+ 	(coalesce, aggressive_coalesce, extended_coalesce_2): Use it.
+ 
+ 2004-07-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* gcov-io.h: Allow zero tag as EOF indicator.
+ 	(gcov_is_eof): Remove.
+ 	(gcov_truncate): Remove.
+ 	* gcov-io.c (gcov_seek): Always SEEK_SET.
+ 	* libgcov.c (gcov_exit): Don't use gcov_truncate.  Write explicit
+ 	EOF tag.
+ 	* coverage.c (read_counts_file): Don't use gcov_is_eof.
+ 	* gcov-dump.c (dump_file): Likewise.
+ 	* gcov.c (read_graph_file, read_count_file): Likewise.
+ 
+ 	* c-decl.c (complete_array_type): Don't gratuitously copy
+ 	maxindex.  Check it always has a type.
+ 
+ 2004-07-29  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.c (currently_expanding_to_rtl): New.
+ 	* rtl.h (currently_expanding_to_rtl): Export it.
+ 	* cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
+ 	inliner hack.
+ 	* config/sh/sh.c: Replace rtx_equal_function_value_matters
+ 	with currently_expanding_to_rtl.
+ 	* config/sh/sh.md: Likewise.
+ 	* config/ia64/ia64.c (got_symbolic_operand): Likewise.
+ 
+ 2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	Introduce sh2a support.
+ 	2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc: Build multilibs for sh2a and sh2a-single by
+ 	default.
+ 	* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
+ 	default.  Split their tests out of the corresponding SH4
+ 	multilibs.
+ 	* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
+ 	multilibs for SH2a.
+ 	2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc: Handle sh2a multilibs and cpu selection.
+ 	* config/sh/sh.h: Likewise.  Handle sh2a command line flags.
+ 	* config/sh/t-mlib-sh2a: New.
+ 	* config/sh/t-mlib-sh2a-nofpu: New.
+ 	* config/sh/t-mlib-sh2a-single: New.
+ 	* config/sh/t-mlib-sh2a-single-only: New.
+ 	2004-07-09  Nick Clifton  <nickc@redhat.com>
+ 	Issue 43400
+ 	* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
+ 	-ml and -m2a are used together.
+ 	2004-03-23  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
+ 	when we have a double-sized FPU.
+ 	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
+ 	* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
+ 	is set.
+ 	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
+ 	-msh2a-single and -msh2a-single-only
+ 	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
+ 	* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
+ 	is set.
+ 	2004-02-20  DJ Delorie  <dj@delorie.com>
+ 	* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
+ 	2004-02-20  Fred Fish <fnf@redhat.com>,
+ 	Corinna Vinschen <vinschen@redhat.com>
+ 	* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
+ 	(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
+ 	2004-02-18  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/sh.c (broken_move): Add support for movi20.
+ 	* config/sh/sh.h: Likewise.
+ 	(SHIFT_COUNT_TRUNCATED): Set for sh2a.
+ 	* config/sh/sh.md (udivsi3_sh2a): New.
+ 	(udivsi3): Call it.
+ 	(divsi3_sh2a): New.
+ 	(divsi3): Call it.
+ 	(mul_r): New.
+ 	(ashlsi3_sh2a): New.
+ 	(ashrsi3_sh2a): New.
+ 	(lshrsi3_sh2a): New.
+ 	(movsi_i): Disable for sh2a.
+ 	(movsi_ie): Add movi20.
+ 	(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
+ 	sh2a, for -m2a-nofpu mode.
+ 	2004-02-13  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/lib1funcs.asm: Handle double vs single better.
+ 	* config/sh/sh.h: Likewise.
+ 	2004-02-09  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/crt1.asm: Add support for sh2a.
+ 	* config/sh/elf.h: Likewise.
+ 	* config/sh/lib1funcs.asm: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sh/t-sh: Likewise.
+ 
+ 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.md (movqi_internal, movhi_internal,
+ 	movsi_internal): Add backup alternatives for memory inputs.
+ 
+ 2004-07-28  Matt Austern  <austern@apple.com>
+ 
+ 	* config/darwin.c (darwin_one_byte_bool): New global variable.
+ 	* config/darwin.h (darwin_one_byte_bool): Declare.
+ 	(SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
+ 	* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
+ 	value of darwin_one_byte_bool.
+ 	* doc/invoke.texi: Document -mone-byte-bool flag.
+ 
+ 2004-07-28  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* c-common.c (c_common_unsafe_for_reeval): Delete.
+ 	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
+ 	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
+ 	* calls.c (fix_unsafe_tree): Delete.
+ 	(expand_call): Delete code which used above.
+ 	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
+ 	* expr.c (expand_expr_real_1): Ditto.
+ 	* fold-const.c (non_lvalue): Ditto.
+ 	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
+ 	(lhd_unsafe_for_reeval): Ditto.
+ 	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
+ 	* langhooks.h (unsafe_for_reeval): Ditto.
+ 	(unsave_expr_now): Adjust comment.
+ 	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
+ 	(estimate_num_insns_1): Ditto.
+ 	* tree-pretty-print.c (dump_generic_node): Ditto.
+ 	* tree.c (expr_align): Ditto.
+ 	(unsave_expr): Delete.
+ 	(unsafe_for_reeval): Ditto.
+ 	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
+ 	* tree.def (UNSAVE_EXPR): Delete.
+ 	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
+ 
+ 2004-07-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h (enum tls_model): Move ...
+ 	* coretypes.h: ... here.
+ 
+ 2004-07-28  Richard Sandiford <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.h (EPILOGUE_USES): New.  Use LR.
+ 
+ 2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* cse.c (validate_canon_reg): New function, split out from...
+ 	(canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
+ 
+ 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (maybe_create_global_var): Don't just
+ 	return if .GLOBAL_VAR has been created.
+ 
+ 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa.c (verify_flow_insensitive_alias_info): Process
+ 	every variable that may have aliases, not just tags.
+ 
+ 2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
+ 	move_from_CR_eq_bit.
+ 	Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
+ 
+ 
+ 	* config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
+ 	e500_flip_eq_bit.
+ 
+ 	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
+ 	output_e500_flip_eq_bit.
+ 
+ 	* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
+ 	output_e500_flip_eq_bit.
+ 	(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
+ 	output_e500_flip_eq_bit.
+ 	Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
+ 	(print_operand): case D.  Get to EQ bit.
+ 
+ 2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcov.c (function_summary): Add missing \n.
+ 
+ 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	Introduce sh4a support.
+ 	* config.gcc: Handle sh4a multilibs and cpu selection.
+ 	* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
+ 	* config/sh/t-mlib-sh4a: New.
+ 	* config/sh/t-mlib-sh4al: New.
+ 	* config/sh/t-mlib-sh4a-nofpu: New.
+ 	* config/sh/t-mlib-sh4a-single: New.
+ 	* config/sh/t-mlib-sh4a-single-only: New.
+ 	2004-02-20  DJ Delorie  <dj@redhat.com>
+ 	* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
+ 	* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
+ 	2003-08-22  Eric Christopher  <echristo@redhat.com>
+ 	* config/sh/sh4a.md: Update for chip errata.
+ 	2003-08-07  Eric Christopher  <echristo@redhat.com>
+ 	* config/sh/sh4a.md: New file. sh4a processor description.
+ 	2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
+ 	of -m4a-nofpu.
+ 	(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
+ 	* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
+ 	* doc/invoke.texi (SH Options): Document -m4al.
+ 	2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (expand_block_move): Remove commented-out code
+ 	checked in by mistake.
+ 	(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
+ 	single elements from SFmode vectors.
+ 	* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
+ 	register.
+ 	(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
+ 	2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
+ 	sh_fsca_int2sf): Remove variable declarations.
+ 	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+ 	sh_fsca_int2sf): New functions.
+ 	(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
+ 	sh_fsca_int2sf_rtx): New static variables.
+ 	* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
+ 	sh_fsca_int2sf): Declare.
+ 	* config/sh/sh.md: Adjust.
+ 	* doc/invoke.texi (SH Options): Document new options.
+ 	* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
+ 	compatibility from SH4 code.
+ 	2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
+ 	early.
+ 	(memory_movsrc_operand): Renamed to...
+ 	(unaligned_load_operand): ... this.  Simplified.
+ 	* config/sh/sh.h (PREDICATE_CODES): Adjust.
+ 	* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
+ 	input operand to SImode, and adjust the others.  Introduce
+ 	post-increment by peephole.
+ 	* config/sh/sh.c (expand_block_move): Give the target address the
+ 	same mode as the temp reg.
+ 	* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
+ 	copying.
+ 	2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
+ 	Introduce support for SH4a.
+ 	* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
+ 	__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
+ 	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
+ 	sh_fsca_int2sf): New.
+ 	(sh_init_builtins): Initialize them.
+ 	(print_operand): Support `d'.
+ 	(expand_block_move): Use movua if src is misaligned.
+ 	(memory_movsrc_operand): New.
+ 	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
+ 	and one of the SH4 macros.
+ 	(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
+ 	SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
+ 	SELECT_SH4A_SINGLE): New.
+ 	(TARGET_NONE): Add SH4A_BIT.
+ 	(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
+ 	(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
+ 	(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
+ 	(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
+ 	(enum processor_type): Added PROCESSOR_SH4A.
+ 	(PREDICATE_CODES): Add memory_movsrc_operand.
+ 	* config/sh/sh.md: Removed unused variables.
+ 	(attr cpu): Add sh4a.
+ 	(attr type): Add movua, fsrra and fsca.
+ 	(prefetch): New, for SH4.
+ 	(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
+ 	(toggle_sz): Set type to fp.
+ 	(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
+ 	(movua, extv, extzv): New.
+ 	* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
+ 	and 4a-single-only.
+ 
+ 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Schedule
+ 	pass_may_alias right after the program is renamed into SSA.
+ 	* tree-pass.h (PROP_alias): Define.
+ 	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
+ 	* tree-sra.c (pass_sra): Likewise.
+ 	* tree-ssa-ccp.c (pass_ccp): Likewise.
+ 	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
+ 	* tree-ssa-dce.c (pass_dce): Likewise.
+ 	* tree-ssa-dom.c (pass_dominator): Likewise.
+ 	* tree-ssa-dse.c (pass_dse): Likewise.
+ 	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
+ 	* tree-ssa-loop-ch.c (pass_ch): Likewise.
+ 	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
+ 	* tree-ssa-pre.c (pass_pre): Likewise.
+ 	* tree-tailcall.c (pass_tail_recursion): Likewise.
+ 	* tree-ssa.c (pass_redundant_phi): Likewise.
+ 	* tree-ssa-alias.c (aliases_computed_p): Remove.
+ 	Update all users.
+ 	(init_alias_info): Do not mark all type tags for renaming
+ 	unconditionally.
+ 	Clear may_aliases from every symbol.
+ 	(setup_pointers_and_addressables): If a pointer has not been
+ 	dereferenced and it had a type tag, clear it and mark the old
+ 	tag for renaming.
+ 
+ 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16705
+ 	* tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
+ 	.GLOBAL_VAR.
+ 
+ 2004-07-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
+ 	check.
+ 
+ 	* gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
+ 	don't make another one.
+ 
+ 	PR optimization/15077
+ 	* function.h (struct function): Add field saved_static_chain_decl.
+ 	Fix comment for static_chain_decl.
+ 	* tree-inline.c (save_body): Add new arg and handle static_chain_decl.
+ 	* tree-inline.h (save_body): Add new arg.
+ 	* tree-optimize.c (tree_rest_of_compilation): Handle saving
+ 	static_chain_decl.
+ 
+ 2004-07-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
+ 	(gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
+ 	is_gimple_addressable.
+ 	* tree-gimple.c (is_gimple_addressable): Rename from
+ 	is_gimple_addr_expr_arg; accept INDIRECT_REF.
+ 	(is_gimple_lvalue): Don't test INDIRECT_REF directly.
+ 	* tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
+ 	rename to is_gimple_addressable.
+ 
+ 2004-07-28  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
+ 
+ 2004-07-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
+ 	before rounding.
+ 
+ 2004-07-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* libgcc2.c: Change all conditionals testing
+ 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
+ 	* libgcc2.h: Likewise.
+ 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
+ 	TYPE_PRECISION of float80_type to 80.
+ 	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
+ 	of fpreg_type and float80_type to 80.
+ 	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
+ 	* config/m68k/netbsd-elf.h:
+ 	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
+ 	to evaluate to 80 whenever they would formerly have evaluated to 96.
+ 	* config/i386/sco5.h: Remove unnecessary redefinition of
+ 	LONG_DOUBLE_TYPE_SIZE.
+ 	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
+ 	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
+ 	XFmode, with a bitsize of 80.  Update commentary.
+ 	* config/ia64/ia64-modes.def: Likewise.
+ 	* config/m68k/m68k-modes.def: Likewise.
+ 
+ 2004-07-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgexpand.c (tree_expand_cfg): Fix comment.
+ 
+ 	* calls.c (expand_call): Ignore rtx_equal_function_value_matters.
+ 	* function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
+ 	Remove.
+ 	(prepare_function_start): Don't set rtx_equal_function_value_matters.
+ 	* integrate.c (copy_rtx_and_substitute): Don't test for it.
+ 	* passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
+ 	Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
+ 	here again.  Update leading comment.
+ 	* rtl.c (rtx_equal_function_value_matters): Remove.
+ 	(rtx_equal_p): Don't test for it.
+ 	* simplify-rtx.c (simplify_binary_operation, simplify_subreg):
+ 	Likewise.
+ 
+ 	* rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
+ 	* rtl.c (note_insn_name): Likewise.
+ 	* emit-rtl.c (remove_unnecessary_notes): Don't handle it.
+ 	* final.c (final_scan_insn): Likewise.
+ 
+ 	* except.c (finish_eh_generation): Don't call cfg_cleanup from here.
+ 	* passes.c (rest_of_handle_eh): Do it here.
+ 
+ 	* stmt.c (struct nesting): Remove struct nesting block member.
+ 	(struct stmt_status): Remove x_block_start_count field.
+ 	(current_block_start_count): Remove.
+ 
+ 2004-07-27  Brian Booth  <bbooth@redhat.com>
+ 
+ 	* tree-optimize.c (register_one_dump_file): Update condition that uses
+ 	static_pass_number.
+ 	(dup_pass_1): Replace with...
+ 	(next_pass_1): This.
+ 	(NEXT_PASS): Call next_pass_1.
+ 	(DUP_PASS): Remove.
+ 	(init_tree_optimization_passes): Remove uses of DUP_PASS.
+ 	(execute_one_pass): Update condition that uses
+ 	static_pass_number.
+ 	* tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
+ 	integer.
+ 
+ 2004-07-27  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/m32r/m32r.c: Include integrate.h in order to get the
+ 	prototype for get_hard_reg_initial_val().
+ 
+ 	* config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
+ 	and tidy up indentation.
+ 	(final_presence_set): Use absence_set instead, so that if there is
+ 	nothing in the "o" pipe the "s" pipe can be scheduled.
+ 
+ 2004-07-27  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-alias.c (create_name_tags): Ignore pointers that
+ 	don't have PT_VARS nor PT_MALLOC set.
+ 	Clear name tag from pointers that have not been dereferenced.
+ 	(set_pt_anything, set_pt_malloc): Forward declare.
+ 	* tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
+ 	not type compatibility when determining if a pointer can be
+ 	copy propagated.
+ 
+ 2004-07-27  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expr.h (canonicalize_condition, get_condition): Add an int argument.
+ 	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
+ 	it to check whether the condition is still valid at the jump insn.
+ 	* ifcvt.c (noce_get_condition): Likewise.
+ 	(noce_get_alt_condition): Update call to canonicalize_condition.
+ 	* loop-iv.c (simplify_using_initial_values): Update call to
+ 	get_condition.  Remove FIXME.
+ 	(check_simple_exit): Update call to get_condition.
+ 	* loop-unswitch.c (may_unswitch_on): Likewise.
+ 	* loop.c (check_dbra_loop): Likewise.
+ 	(canonicalize_condition, get_condition): Add an argument to say whether
+ 	the condition must still be valid at INSN.
+ 	(get_condition_for_loop): Update call to get_condition.  Require that
+ 	the condition be valid at INSN.
+ 	* predict.c (estimate_probability): Update call to get_condition.
+ 	Remove unused earliest parameter.
+ 	(expected_value_to_br_prob): Update call to canonicalize_condition.
+ 
+ 2004-07-26  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* tree-dfa.c (add_referenced_var): Register initializers of global
+ 	variables.
+ 
+ 2004-07-26  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/i386/i386.c (function_arg): Always treat 8-
+ 	and 16-byte wide vectors the same, even if MMX/SSE
+ 	are disabled.
+ 	(contains_128bit_aligned_vector_p): Add comment.
+ 
+ 2004-07-26  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* ra.h (enum node_type): Rename to:
+ 	(enum ra_node_type).
+ 	* ra-colorize.c: Likewise.
+ 
+ 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
+ 	after simplifying the jump.
+ 
+ 2004-06-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* calls.c (combine_pending_stack_adjustment_and_call): Make
+ 	preferred_unit_stack_boundary argument unsigned.  Make
+ 	unadjusted_alignment unsigned.
+ 	(expand_call): Make preferred_stack_boundary and
+ 	preferred_unit_stack_boundary variables unsigned.
+ 	* function.c (assign_stack_local_1): Make alignment unsigned.
+ 	* function.h (struct function): Make stack_alignment_needed,
+ 	preferred_stack_boundary unsigned.
+ 	* config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
+ 	(ix86_compute_frame_layout): Make stack_alignment_needed,
+ 	preferred_alignment variables unsigned.
+ 	* config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.
+ 
+ 2004-07-26  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* tree.h: Fix typo in comment.
+ 
+ 2004-07-26  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	PR bootstrap/12804
+ 	* ggc-zone.c (struct alloc_chunk): Remove attribute packed.
+ 	(MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
+ 	(ggc_free): Remove incorrect freeing.
+ 	(sweep_pages): Advance PP for large pages.  Fix indentation.
+ 
+ 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR rtl-optimization/16643
+ 	* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
+ 	* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
+ 	* basic-block.h (reorder_basic_blocks): Add a flags parameter.
+ 	* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
+ 	(partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize.
+ 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
+ 	* rtl.h (tracer): Add a flags parameter.
+ 	* tracer.c (tracer): Pass it to cfg_layout_initialise.
+ 	* passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
+ 	(rest_of_handle_reorder_blocks): Update calls to tracer and
+ 	reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
+ 	(rest_of_handle_tracer): Pass 0 to tracer.
+ 	(rest_of_handle_loop2): Pass 0 to cfg_layout_initialize.
+ 
+ 2004-07-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/16239
+ 	* config/rs6000/rs6000.md (movdi_internal64): Further disparage
+ 	f->f.
+ 
+ 2004-07-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
+ 	(BINFO_BASE_ACCESS): Adjust.
+ 	(BINFO_BASE_ACCESS_APPEND): New.
+ 	(struct tree_binfo): Make base_accesses a VEC(tree) pointer.
+ 	* dbxout.c (dbxout_type): Adjust binfo access accessing.
+ 	* dwarf2out.c (gen_member_die): Likewise.
+ 	* tree-dump.c (deque_and_dump): Likewise.
+ 
+ 2004-07-26  Falk Hueffner  <falk@debian.org>
+ 
+ 	* config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
+ 	costs.
+ 
+ 2004-07-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (output_fp_compare): Use ffreep to pop top
+ 	value off of the stack if TARGET_USE_FFREEP.
+ 
+ 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
+ 	* gengtype-yacc.y: Likewise.  Replace free() with XDELETE ().
+ 	* c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer
+ 	check on invocation of XRESIZEVEC ().
+ 
+ 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.c (disable_builtin_function): Rename variable n to
+ 	new_disabled_builtin.
+ 	* c-decl.c (duplicate_decls): Rename parameter decl to new_decl.
+ 	Rename local variable old to old_decl.
+ 	* gensupport.c (shift_output_template): Rename parameter old to src.
+ 	* simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to
+ 	old_rtx and newx to new_rtx.
+ 
+ 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* Makefile.in (C_PRAGMA_H): New variable to track dependencies
+ 	of c-pragma.h.
+ 	* c-pragma.h (c_lex, c_lex_with_flags): Change returntype to
+ 	enum cpp_ttype.
+ 	* c-lex.c: Likewise.
+ 
+ 2004-07-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (constant_boolean_node): Make extern.
+ 	(make_range): Wrap long lines.
+ 	(fold_cond_expr_with_comparison): Remove unnecessary call to
+ 	pedantic_non_lvalue.  Add missing calls to fold_convert.
+ 	(fold_truthop): Add missing calls to fold_convert.
+ 	(fold): Likewise.
+ 	* tree.h (constant_boolean_node): Add prototype here.
+ 	* builtins.c (expand_builtin_strncmp): Add missing calls to
+ 	fold_convert.
+ 	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
+ 	Call fold_convert and constant_boolean_node to correct types.
+ 	* tree-ssa-forwprop.c (substitute_single_use_vars): Add
+ 	missing call to fold_convert to correct types.
+ 
+ 2004-07-26  Niall Douglas  <s_fsfeurope2@nedprod.com>
+ 	    Brian Ryner  <bryner@brianryner.com>
+ 
+ 	PR c++/9283
+ 	PR c++/15000
+ 	* c-common.c (c_common_attribute_table): Allow
+ 	handle_visibility_attribute to be called for types.
+ 	(handle_visibility_attribute) When given a type, set the visibility
+ 	bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
+ 	so that we can check later whether the attribute was present. Added
+ 	warning if attribute applied to non class type.
+ 	* c-decl.c (diagnose_mismatched_decls): Updated rules for merging
+ 	decls and checking that they are consistent.
+ 	* common.opt: Added -fvisibility.
+ 	* c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
+ 	* c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
+ 	* flags.h, tree.h: Added assorted support defines for overall patch
+ 	* opts.c: Added parsing support for -fvisibility.
+ 	* tree.c (build_decl): Set visibility for all decls to be whatever
+ 	is in force at that time.
+ 	* varasm.c (default_binds_local_p_1): Reworked logic determining
+ 	when to make a symbol locally bound.
+ 	* doc/invoke.texi: Added documentation for -fvisibility and
+ 	-fvisibility-inlines-hidden.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
+ 	* c-common.c: Add missing casts from void * to other types.
+ 	* c-decl.c: Likewise.
+ 	* c-format.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* defaults.h: Likewise.
+ 	* genconstants.c: Likewise.
+ 	* gengtype-lex.l: Likewise.
+ 	* genmodes.c: Likewise.
+ 	* read-rtl.c: Likewise.
+ 	* rtl.c: Likewise.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* bitmap.c: Use type-safe memory allocation macros from libiberty.
+ 	* c-common.c: Likewise.
+ 	* c-decl.c: Likewise.
+ 	* c-lang.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* c-parse.in: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* genconditions.c: Likewise.
+ 	* gengtype-lex.l: Likewise.
+ 	* gengtype-yacc.y: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* genmodes.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* read-rtl.c: Likewise.
+ 	* read-rtl.c (read_constants): Use INSERT instead of TRUE in call to
+ 	htab_find_slot().
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-decl.c (groktypename, groktypename_in_param_context): Rename
+ 	variable typename to type_name.
+ 	* c-lex.c (interpret_float): Likewise.
+ 
+ 2004-07-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* convert.c (convert_to_real, convert_to_integer,
+ 	convert_to_complex): Replace calls to build with calls to buildN.
+ 	* coverage.c (tree_coverage_counter_ref): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
+ 	* emit-rtl.c (component_ref_for_mem_expr,
+ 	set_mem_attributes_minus_bitpos): Likewise.
+ 	* explow.c (update_nonlocal_goto_save_area): Likewise.
+ 	* expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
+ 	expand_mult_add): Likewise.
+ 	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
+ 	store_constructor, get_inner_reference, expand_expr_real_1,
+ 	try_casesi, try_tablejump): Likewise.
+ 	* function.c (expand_function_start): Likewise.
+ 	* stmt.c (emit_case_bit_tests, expand_end_case_type,
+ 	node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
+ 	* stor-layout.c (place_union_field, layout_type): Likewise.
+ 	* tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
+ 	* varasm.c (copy_constant): Likewise.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.c: Rename all identifiers named `new'.
+ 	* c-decl.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* c-common.c (disable_builtin_function): Replace a call to xmalloc()
+ 	with XNEW().
+ 	* gensupport.c (alter_output_for_insn): Replace two calls to xmalloc()
+ 	with XNEWVEC().
+ 
+ 2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/15360
+ 	* c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
+ 	declarations until after calling pushdecl.
+ 	(grokdeclarator): Set DECL_EXTERNAL for variables based on use of
+ 	"extern" and not on whether the declaration is initialized.
+ 
+ 2004-07-25  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
+ 	(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
+ 	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
+ 	"cpplib.h", "c-pragma.h", "c-common.h".
+ 	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
+ 	(solaris_register_pragmas): New functions.
+ 	* config/sol2-protos.h: New file.
+ 	* config/sol2.c: New file.
+ 	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
+ 	(REGISTER_TARGET_PRAGMAS): New macros.
+ 	(solaris_pending_aligns, solaris_pending_inits)
+ 	(solaris_pending_finis): New variables.
+ 	* config/t-sol2 (sol2-c.o): Update dependencies.
+ 	(sol2.o): New rule.
+ 	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
+ 	SUBTARGET_INSERT_ATTRIBUTES.
+ 	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
+ 	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
+ 	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
+ 	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
+ 	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
+ 	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
+ 	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
+ 	* config/sparc/sparc.c (sparc_attribute_table): New.
+ 	(TARGET_INSERT_ATTRIBUTES): Define in terms of
+ 	SUBTARGET_INSERT_ATTRIBUTES.
+ 	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
+ 	is defined.
+ 	* doc/extend.texi (Solaris Pragmas): New section.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.c: Rename all identifiers named `class' to `cl'.
+ 	* c-common.h: Likewise.
+ 	* c-parse.in: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* genmodes.c: Likewise.
+ 	* real.c: Likewise.
+ 	* real.h: Likewise.
+ 	* recog.c: Likewise.
+ 	* recog.h: Likewise.
+ 	* regrename.c: Likewise.
+ 	* tree.h: Likewise.
+ 	* c-common.c (builtin_function_2): Change type of 5th parameter from
+ 	int to enum built_in_function. Change type of 8th parameter from int
+ 	to bool.
+ 	* c-decl (builtin_function): Replace call to ggc_alloc_cleared ()
+ 	with GGC_CNEW().
+ 	* c-typeck.c (convert_arguments): Change type of formal_prec from
+ 	int to unsigned int.
+ 	* genmodes.c (blank_mode): Make a few negative constants unsigned.
+ 	(complete_all_modes, calc_wider_mode, emit_insn_modes_h,
+ 	emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size,
+ 	emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner,
+ 	emit_mode_base_align, emit_class_narrowest_mode): Pass an integer
+ 	iterator to for_all_modes () instead of an enum because enums can't
+ 	be incremented in C++.
+ 
+ 
+ 2004-07-25  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
+ 	hard registers.
+ 
+ 2004-07-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-ssa-operands.c (get_stmt_operands, get_expr_operands):
+ 	Handle ARRAY_RANGE_REF like ARRAY_REF.
+ 
+ 2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (digest_init): Don't allow arrays of signed or
+ 	unsigned variants of wchar_t to be initialized by wide string
+ 	constants.  Do allow arrays of enumerated types compatible with
+ 	wchar_t to be initialized by wide string constants.  Refine tests
+ 	distinguishing wide and narrow strings and arrays.  Give specific
+ 	error for arrays of other integer types initialized by string
+ 	constants.
+ 	(output_init_element, process_init_element): Check for
+ 	INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
+ 	initializing with string constants.
+ 
+ 2004-07-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
+ 	on the RESULT_DECL.
+ 	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+ 	* integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
+ 	DECL_IGNORED_P to new decl.
+ 
+ 2004-07-24  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (general_xfmode_operand)
+ 	(destination_xfmode_operand): Delete.
+ 	* config/ia64/ia64.h (PREDICATE_CODES): Remove them.
+ 	* config/ia64/ia64.md (*movxf_internal): Use general_operand
+ 	and destination_operand.
+ 
+ 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
+ 
+ 	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
+ 	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
+ 
+ 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
+ 	    Zack Weinberg  <zack@codesourcery.com
+ 
+ 	PR 16684
+ 	* c-decl.c (diagnose_mismatched_decls): Don't issue a
+ 	redundant-declaration warning the first time a builtin is
+ 	declared explicitly.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* tree.h (staticp): Change return type to bool.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.c (c_staticp): Last episode of the staticp saga.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.h (c_staticp): Change return type from int to bool.
+ 	* tree.c (staticp): Likewise.
+ 	* langhooks.h (staticp): Likewise.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* langhooks-def.h (lhd_staticp): Change return type from int to
+ 	bool in prototype to match definition.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* system.h (bool, true, false): Don't redefine as preprocessor macros
+ 	in C++.
+ 
+ 2004-07-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (init_expmed): A signed modulus by a power of two is
+ 	considered cheap if its less than or equal to four instructions.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR,
+ 	GGC_CNEWVAR): New macros.
+ 
+ 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
+ 	lists.
+ 	* c-decl.c: Likewise.
+ 	* c-format.c: Likewise.
+ 	* c-lex.c: Likewise.
+ 	* c-opts.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* c-typeck.c: Likewise.
+ 	* gencheck.c: Likewise.
+ 	* genconditions.c: Likewise.
+ 	* genconfig.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* ggc-none.c: Likewise.
+ 	* langhooks.c: Likewise.
+ 	* statistics.h: Likewise.
+ 	* stub-objc.c: Likewise.
+ 	* java/decl.c: Likewise.
+ 
+ 2004-07-24  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.c (output_scc_di): Fix coding style.
+ 	(symbolic_operand): Fix prototype.
+ 	* config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
+ 	* config/m68k/m68k.md: Add constants for registers a0 and sp and
+ 	use them, change from the "{...}" syntax to the simpler {...}
+ 	syntax.
+ 	(*cfv4_extendqisi2): Fix destination predicate.
+ 	* config/m68k/m68k-protos.h: Remove various declarations also
+ 	generated via PREDICATE_CODES.
+ 
+ 2004-07-23  Mike Stump  <mrs@apple.com>
+ 
+ 	* c-typeck.c (convert_for_assignment): Tightened up pointer
+ 	converstions that differ in signedness.
+ 
+ 2004-07-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED.
+ 
+ 2004-07-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
+ 	* tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New.
+ 
+ 	* gimplify.c (gimplify_compound_lval): Check for no handled
+ 	operations, rather than checking for explicit list of nodes.
+ 	(is_gimple_addr_expr_arg_or_indirect): New function.
+ 	(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
+ 	redundant setting of TREE_INVARIANT.
+ 	(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
+ 	* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
+ 
+ 2004-07-23  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16688
+ 	PR tree-optimization/16689
+ 	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
+ 	unnecessary initialization of 'tag'.
+ 	(get_tmt_for): Check that the new type tag has the same alias
+ 	set as the pointed-to type.
+ 	(group_aliases): Only regular variables need to be removed
+ 	from the alias set of a name tag.
+ 	* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
+ 	propagation if the two types are not compatible.
+ 	(merge_alias_info): Rename from replace_ssa_names_ann.
+ 	Add more checking.
+ 	(replace_exp_1): If both arguments are SSA_NAMEs, check that
+ 	the propagation can be done.
+ 	Only call merge_alias_info on pointers.
+ 	(propagate_value): Likewise.
+ 	* tree-ssa-copyrename.c: Include langhooks.h.
+ 	(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
+ 	to do the merging.
+ 	Do not coalesce variables with incompatible types.
+ 	(rename_ssa_copies): Call replace_ssa_name_symbol.
+ 	* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
+ 	the same type as the underlying _DECL.
+ 	* tree-ssanames.c (replace_ssa_name_symbol): New function.
+ 	* tree.h (replace_ssa_name_symbol): Declare.
+ 
+ 2004-07-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/16277
+ 	* gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
+ 	unshare it properly.
+ 	(gimplify_modify_expr_rhs): Push assignment from a conditional into
+ 	the conditional for all non-register types.
+ 
+ 2004-07-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (expand_expr_real_1): Don't handle non-local variables.
+ 	* expr.h (fix_lexical_addr): Remove.
+ 	* function.c (NEED_SEPARATE_AP): Remove.
+ 	(fix_lexical_addr): Remove.
+ 	* tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
+ 	not null decl_function_context.
+ 	(create_alias_vars): Likewise.
+ 	* tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
+ 	(simple_goto_p): Likewise.
+ 	* tree-dfa.c (add_referenced_var): Don't check for non-local variables.
+ 	* tree-ssa-ccp.c (get_default_value): Likewise.
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+ 	* tree.c (needs_to_live_in_memory): Likewise.
+ 	* tree-flow-inline.h (may_be_aliased): Move...
+ 	* tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
+ 	when TREE_STATIC variables may be addressable.
+ 
+ 2004-07-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
+ 
+ 2004-07-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* print-rtl.c (print_rtx <case 'b'>): Don't attempt to print
+ 	bitmap contents if GENERATOR_FILE is defined.
+ 	* Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o.
+ 	($(BUILD_PREFIX_1)bitmap.o): Delete rule.
+ 
+ 2004-07-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (start_function): Form composite type of function types
+ 	rather than copying type from previous prototype declaration.
+ 
+ 2004-07-23  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
+ 	the const qualifier for the second argument in the C++ functions.
+ 
+ 	* config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
+ 	specific pointer types.
+ 
+ 	* config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm,
+ 	vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used
+ 	for vector bool and/or vector pixel, add C++ and C missing support.
+ 	(vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh,
+ 	vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh,
+ 	vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum,
+ 	vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws,
+ 	vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add
+ 	missing C++ and C support for vector bool and/or vector pixel.
+ 	(vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw,
+ 	vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw,
+ 	vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw,
+ 	vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub,
+ 	vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix
+ 	C++ and C types used for vector bool and/or vector pixel.
+ 	(vec_st, vec_stl): Add C++ support for vector pixel.
+ 	(vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool.
+ 	(vec_all_ne): Add C++ support for vector pixel.
+ 
+ 	* config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
+ 	(vec_vmulesb): Add missing C++ function.
+ 	(vec_perm): Fix type of third argument in C++ function.
+ 	(vec_vsum4shs): Fix C++ function name.
+ 	(vec_any_ge): Remove C++ functions for unsupported arg combinations.
+ 	(vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
+ 	argument passed to the error handler in C macro.
+ 	(vec_nmsub): Remove extra parens around argument names in C macro.
+ 	(vec_packpx): Add missing parens in C macro.
+ 
+ 2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* machmode.def: Remove vector modes.
+ 	* config/alpha/alpha-modes.def: Add supported vector modes.
+ 	* config/arm/arm-modes.def: Likewise.
+ 	* config/frv/frv-modes.def: Likewise.
+ 	* config/i386/i386-modes.def: Likewise.
+ 	* config/rs6000/rs6000-modes.def: Likewise.
+ 	* config/sh/sh-modes.def: Likewise.
+ 
+ 2004-07-23  Matthias Klose  <doko@debian.org>
+ 
+ 	* intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
+ 	* configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
+ 	* config.h: Regenerate.
+ 	* configure: Likewise.
+ 
+ 2004-07-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
+ 	generated SYMBOL_REFs for labels.
+ 	* config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
+ 	Change prototype.
+ 	(machopic_stub_name): Remove.
+ 	(machopic_indirection_name): New function.
+ 	(machopic_mcount_stub_name): Likewise.
+ 	(machopic_classify_name): Remove.
+ 	(machopic_function_base_sym): New function.
+ 	(machpoic_classify_symbol): Likewise.
+ 	(machopic_classify_ident): Remove.
+ 	(machopic_define_ident): Likewise.
+ 	(machopic_define_name): Likewise.
+ 	(machopic_name_defined_p): Likewise.
+ 	(machopic_ident_defined_p): Likewise.
+ 	(darwin_strip_name_encoding): Likewise.
+ 	(machopic_define_symbol): New function.
+ 	* config/darwin.c (hashtab.h): Include.
+ 	(machopic_defined_list): Remove.
+ 	(machopic_classify_ident): Likewise.
+ 	(machopic_classify_name): Likewise.
+ 	(machopic_ident_defined_p): Likewise.
+ 	(machopic_define_ident): Likewise.
+ 	(machopic_define_name): Likewise.
+ 	(machopic_symbol_defined_p): New function.
+ 	(machopic_classify_symbol): Likewise.
+ 	(machopic_data_defined_p): Use machopic_classify_symbol.
+ 	(machopic_define_symbol): New function.
+ 	(machopic_function_base_sym): New function.
+ 	(machopic_non_lazy_pointers): Remove.
+ 	(machopic_non_lazy_ptr_name): Likewise.
+ 	(machopic_stubs): Likewise.
+ 	(machopic_stub_name): Likewise.
+ 	(NON_LAZY_POINTER_SUFFIX): New macro.
+ 	(STUB_SUFFIX): Likewise.
+ 	(machopic_indirection): New structure.
+ 	(machopic_indirections): New variable.
+ 	(machopic_indirection_hash): New function.
+ 	(machopic_indirection_eq): Likewise.
+ 	(machopic_indirection_name): Likewise.
+ 	(machopic_mcount_stub_name): New function.
+ 	(machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
+ 	hash table.
+ 	(machopic_indirect_data_reference): Rework to use new functions.
+ 	(machopic_indirect_call_target): Likewise.
+ 	(machopic_legitimize_pic_address): Likewise.
+ 	(machopic_output_indirection): New function.
+ 	(machopic_finish): Use it.
+ 	(machopic_operand_p): Rework to use new functions.
+ 	(darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
+ 	(darwin_strip_name_encoding): Remove.
+ 	(update_non_lazy_ptrs): Remove.
+ 	(update_stubs): Likewise.
+ 	(darwin_non_lazy_pcrel): Use new functions.
+ 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+ 	(ASM_OUTPUT_LABELREF): Likewise.
+ 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+ 	(MACHO_SYMBOL_FLAG_VARIABLE): New macro.
+ 	(MACHO_SYMBOL_FLAG_DEFINED): Likewise.
+ 	(TARGET_STRIP_NAME_ENCODING): Do not use
+ 	darwin_strip_name_encoding.
+ 	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
+ 	darwin_strip_name_encoding.
+ 	* config/i386/darwin.h (FUNCTION_PROFILER): Use
+ 	machopic_mcount_stub_name.
+ 	* config/i386/i386.c (x86_output_mi_thunk): Use
+ 	machopic_indirection_name, not machopic_stub_name.
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
+ 	machopic_function_base_sym.
+ 	(print_operand): Use machopic_classify_symbol.
+ 	(rs6000_emit_prologue): Use machopic_function_base_sym.
+ 	(output_profile_hook): Do not use machopic_stub_name.
+ 	(macho_branch_isalnds): Do not use darwin_strip_name_encoding.
+ 
+ 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/7284
+ 	* fold-const.c (extract_muldiv_1): Do not treat signed left shift
+ 	as multiplication.
+ 
+ 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/implement-c.texi: New file.
+ 	* doc/extend.texi (C Implementation): Move to there.
+ 	* doc/gcc.texi: Include implement-c.texi.
+ 	* Makefile.in (TEXI_GCC_FILES): Add implement-c.texi.
+ 
+ 2004-07-22  Jason Merrill  <jason@redhat.com>
+ 
+ 	* integrate.c (copy_decl_for_inlining): Remove invisible reference
+ 	handling.
+ 	* tree-inline.c (setup_one_parameter): Likewise.
+ 
+ 2004-07-22  Brian Booth  <bbooth@redhat.com>
+ 
+ 	* tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
+ 	(substitute_and_fold): Propigate into VUSE operands when possible.
+ 	(visit_phi_node): Handle UNKNOWN_VAL latticevalue.
+ 	(cp_lattice_meet): Handle merging of latticevalues when
+ 	UNKNOWN_VAL is present.
+ 	(visit_stmt): Visit assignments with V_MUST_DEFs.
+ 	(visit_assignment): Gather ccp information for V_MUST_DEF operands.
+ 	(ccp_fold): Deal with RHS' that are constant and virtual.
+ 	(evaluate_stmt): Handle UNKNOWN_VAL likely values.
+ 	(dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
+ 	(initialize): Mark statements with V_MUST_DEFs as VARYING only if the
+ 	V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
+ 	computing immediate uses.
+ 	(set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
+ 	transition.
+ 	(replace_vuse_in): New function.
+ 	(likely_value): Add check of vuse operands.
+ 	(get_default_value): Set the default value of virtually defined
+ 	variables to UKNOWN_VAL instead of VARYING.
+ 
+ 2004-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (emit_push_insn): Don't use set_mem_attributes.
+ 
+ 2004-07-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
+ 	variables due to conditional compilation.
+ 
+ 2004-07-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-into-ssa.c (set_livein_block): Fix typo in comment.
+ 	(rewrite_ssa_into_ssa): Start iterating over SSA names at 1.
+ 	Release SSA names that have been re-renamed.
+ 	* tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the
+ 	variable.
+ 	* tree-ssa-alias.c (init_alias_info): If aliases have been
+ 	computed before, clear existing alias information.
+ 	(create_name_tags): Do no fixup PT_ANYTHING pointers.
+ 	If the new name tag for a pointer is different than the one it
+ 	had before, mark the old tag for renaming.
+ 	(replace_may_alias): New function.
+ 	(group_aliases): Call it.
+ 	(setup_pointers_and_addressables): Always call get_tmt_for.
+ 	(maybe_create_global_var): Don't create .GLOBAL_VAR more than
+ 	once.
+ 	(set_pt_anything): New local function.
+ 	(set_pt_malloc): New local function.
+ 	(merge_pointed_to_info): Don't merge pointed-to variables from
+ 	the original pointer if the destination is pointing to an
+ 	unknown location.
+ 	(add_pointed_to_expr): Call set_pt_anything and set_pt_malloc.
+ 	(add_pointed_to_var): Do not add a variable to the points-to
+ 	set if the pointer is already pointing to anywhere.
+ 	(collect_points_to_info_r): If the defining statement is a PHI
+ 	node, only merge pointed-to information if the argument has
+ 	already been visited.
+ 	(get_tmt_for): Only create a new tag if the pointer didn't
+ 	have one already.
+ 	(dump_alias_info): Emit more information.
+ 	(dump_points_to_info_for): Likewise.
+ 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't
+ 	try to get the annotation of an SSA_NAME.
+ 	* tree-ssa-operands.c (add_stmt_operand): Only check for empty
+ 	alias sets when checking is enabled.
+ 	* tree-ssa-pre.c (need_eh_cleanup): New local variable.
+ 	(eliminate): Mark basic blocks that will need
+ 	EH information cleaned up.
+ 	(init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one
+ 	predecessor.
+ 	Initialize need_eh_cleanup.
+ 	(fini_pre): Call tree_purge_all_dead_eh_edges and
+ 	cleanup_tree_cfg if needed.
+ 	Free need_eh_cleanup.
+ 	* tree-ssa.c (verify_ssa_name): New function.
+ 	(verify_def): Call it.
+ 	Re-arrange to avoid printing too many error messages.
+ 	(verify_use): Likewise.
+ 	(verify_phi_args): Likewise.
+ 	(verify_flow_insensitive_alias_info): New function.
+ 	(verify_flow_sensitive_alias_info): New function.
+ 	(verify_alias_info): New function.
+ 	(verify_ssa): Call verify_alias_info.
+ 	Clear TREE_VISITED on all the SSA_NAMEs before scanning the
+ 	program.
+ 	Re-arrange to avoid printing too many error messages.
+ 	* tree-ssanames.c (make_ssa_name): Clear
+ 	SSA_NAME_IN_FREE_LIST.
+ 	(release_ssa_name): Never release a default definition.
+ 	(release_defs): New function.
+ 	* tree.h: Declare it.
+ 	* tree-ssa-dce.c (remove_dead_stmt): Call it.
+ 
+ 2004-07-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS.
+ 	If true, do a depth-first search.  Do a breadht-first search,
+ 	otherwise.
+ 	(walk_use_def_chains): Add new argument IS_DFS.
+ 	Update all users.
+ 	* tree-flow.h (walk_use_def_chains): Update prototype.
+ 
+ 2004-07-22  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md: Tweak formatting.
+ 	(asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi)
+ 	(mover2side, moverside, movemside, movei, op3, andu): Replace
+ 	live define_peephole:s with define_peephole2 near-equivalents.
+ 	Delete the rest.
+ 	("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
+ 	word-size modes.
+ 	("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+ 	Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and
+ 	"*mov_sidesi_mem" respectively.
+ 
+ 2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-cfg.c (gimplify_val): Move from tree-complex.c.
+ 	(gimplify_build1): Move from tree-complex.c do_unop.
+ 	(gimplify_build2): Move from tree-complex.c do_binop.
+ 	(gimplify_build3): New.
+ 	* tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
+ 	Adjust throughout to call the functions above.
+ 	* tree-flow.h: Declare the functions above.
+ 	* tree-nested.c (gimplify_val): Rename to...
+ 	(tsi_gimplify_val): ... this.
+ 
+ 	* Makefile.in (tree_complex.o): Update dependencies.
+ 	(stor-layout.o): Depend on regs.h.
+ 	* c-common.c (handle_vector_size_attribute): Update for
+ 	vector types without corresponding vector modes.
+ 	* expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
+ 	a corresponding vector mode is not available.
+ 	* print-tree.c (print_node): Print nunits for vector types
+ 	* regclass.c (have_regs_of_mode): New.
+ 	(init_reg_sets_1): Initialize it and use it instead
+ 	of allocatable_regs_of_mode.
+ 	* regs.h (have_regs_of_mode): Declare it.
+ 	* stor-layout.c (layout_type): Pick a mode for vector types.
+ 	* tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
+ 	build_replicated_const, do_unop, do_binop, do_plus_minus,
+ 	do_negate, expand_vector_piecewise, expand_vector_parallel,
+ 	expand_vector_addition, expand_vector_operations_1,
+ 	expand_vector_operations, tree_lower_operations,
+ 	pass_lower_vector_ssa, pass_pre_expand): New.
+ 	(expand_complex_operations, pass_lower_complex): Remove.
+ 	* tree-optimize.c (init_tree_optimization_passes): Adjust
+ 	pass ordering for changes in tree-complex.c.
+ 	* tree-pass.h: Declare new passes.
+ 	* tree.c (finish_vector_type): Remove.
+ 	(make_vector_type): New.
+ 	(build_vector_type_for_mode, build_vector_type): Rewritten.
+ 	* tree.def (VECTOR_TYPE): Document where the number of
+ 	subparts is stored.
+ 	* tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
+ 	(make_vector): Remove declaration.
+ 
+ 2004-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE,
+ 	TREE_THIS_VOLATILE, may_aliases, or optimization level.
+ 	(remove_useless_vars): Dump debugging info.
+ 	(expand_used_vars): Move ...
+ 	* cfgexpand.c (expand_used_vars): ... here.  Make static.
+ 	* tree-flow-inline.h (set_is_used): New.
+ 	(set_default_def): Use get_var_ann.
+ 	* tree-flow.h: Update decls.
+ 	* tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New.
+ 	(create_ssa_var_map): Use it.
+ 	* tree-ssa.c (set_is_used): Remove.
+ 
+ 2004-07-22  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* gdbinit.in: Set a breakpoint on internal_error.
+ 
+ 2004-07-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgexpand.c (expand_gimple_tailcall): Fix case where we need
+ 	to create a new basic block.
+ 
+ 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/15052
+ 	* c-decl.c (grokdeclarator): Only pedwarn for qualified void
+ 	return type on function definitions.  Move other warnings for
+ 	qualified return type to -Wreturn-type.  Do not condition any such
+ 	warnings on -pedantic.  Update comments.
+ 	(start_function): Only copy function type from previous prototype
+ 	declaration if return types are compatible.
+ 	* c-typeck.c (function_types_compatible_p): Don't condition
+ 	warning for incompatibility of volatile qualifiers on the return
+ 	type on -pedantic.  Update comment.
+ 	* doc/invoke.texi (-Wreturn-type, -Wextra): Update.
+ 
+ 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (set_init_index): Require designator to be of integer
+ 	type.
+ 
+ 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/11250
+ 	* c-parse.in (init): Change to exprtype.
+ 	(primary): Set original_code for STRING to STRING_CST.
+ 	Call maybe_warn_string_init for compound literals.
+ 	(initdcl, notype_initdcl): Call maybe_warn_string_init.
+ 	(initval): Update.
+ 	* c-tree.h (maybe_warn_string_init): New.
+ 	(pop_init_level, process_init_element): Use struct c_expr.
+ 	(struct c_expr): Update comment.
+ 	* c-typeck.c (maybe_warn_string_init): New function.
+ 	(digest_init): Call it.  Additional parameter strict_string.  All
+ 	callers changed.
+ 	(output_init_element): Likewise.
+ 	(struct constructor_stack): Use struct c_expr for
+ 	replacement_value.
+ 	(really_start_incremental_init, push_init_level): Update.
+ 	(pop_init_level): Update.  Return struct c_expr.
+ 	(process_init_level): Update.  Take struct c_expr argument.
+ 
+ 2004-07-21  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous
+ 	commit.
+ 
+ 2004-07-21  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_setjmp_receiver): Fix comment for code
+ 	removal.
+ 	* c-decl.c (pop_scope): Ditto.
+ 	* calls.c (expand_call): Remove call to current_nesting_level,
+ 	update comment accordingly. Remove calls to expand_start_target_temps
+ 	and expand_end_target_temps.
+ 	* cfgexpand.c (construct_init_block): Remove call to
+ 	expand_start_bindings_and_block.
+ 	(construct_exit_block): Remove call to expand_end_bindings.
+ 	* expr.c (safe_from_p): Remove BIND_EXPR handling.
+ 	(expand_expr_real_1): Ditto. Fix formatting.
+ 	(expand_vars): Delete.
+ 	* stmt.c (POPSTACK): Remove block_stack.
+ 	(stmt_status): Remove x_block_stack.
+ 	(block_stack): Delete.
+ 	(expand_start_bindings_and_block): Ditto.
+ 	(expand_start_target_temps): Ditto.
+ 	(expand_end_target_temps): Ditto.
+ 	(current_nesting_level): Ditto.
+ 	(warn_about_unused_variables): Ditto.
+ 	(expand_end_bindings): Ditto.
+ 	* tree.h: Remove declarations for above.
+ 
+ 2004-07-21  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.h (insn_note): Remove NOTE_INSN_PREDICTION.
+ 	* rtl.c (note_insn_name): Likewise.
+ 	* print-rtl.c (print_rtx): Don't print it.
+ 	* cfgrtl.h (can_delete_note_p): Don't handle it.
+ 	(rtl_delete_block): Likewise.
+ 	* passes.c (rest_of_handle_guess_branch_prob): Remove.
+ 	(rest_of_compilation): Don't call it.
+ 	* predict.c (process_note_predictions, process_note_prediction,
+ 	note_prediction_to_br_prob): Remove.
+ 	* basic-block.c (note_prediction_to_br_prob): Remove prototype.
+ 	* stmt.c (return_prediction): Remove.
+ 	(expand_value_return): Don't call it.  Don't add prediction
+ 	notes for return statements.
+ 
+ 2004-07-21  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c (vt_find_locations): Set the in_pending bitmap at
+ 	once.
+ 
+ 2004-07-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-common.c (vector_types_convertible_p): Use vector types'
+ 	TYPE_SIZE and TREE_TYPE instead of their mode.
+ 	* convert.c (convert_to_integer): Likewise.
+ 	(convert_to_vector): Likewise.
+ 	* fold-const.c (fold_convert): Likewise.
+ 	* varasm.c (output_constant): Likewise.
+ 	* expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE.
+ 	Allow a VECTOR_TYPE initializer to be made of several vectors.
+ 	For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling
+ 	of cleared and need_to_clear, and use fold_convert.
+ 	* c-typeck.c (build_binary_op): Do not use RDIV_EXPR for
+ 	integer vectors.
+ 
+ 2004-07-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split,
+ 	(expand_gimple_basic_block): out from here.  Renamed from expand_block.
+ 
+ 2004-07-20  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit
+ 	enormous cost if not TARGET_HARD_MUL.
+ 
+ 2004-07-20  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR target/16557
+ 	* config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ...
+ 	(ASM_SPEC): here.
+ 
+ 2004-07-21  Paul brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT.
+ 
+ 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* fold-const.c (operand_equal_p): Temporarily support NULL args.
+ 	(operand_equal_p, case ARRAY_REF): Compare args 2 and 3.
+ 	(operand_equal_p, case COMPONENT_REF): Likewise, for arg 2.
+ 
+ 2004-07-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* rtl.h (plus_constant): Delete.
+ 	(plus_constant_wide): Rename to plus_constant.
+ 	(plus_constant_for_output_wide): Delete vestigial prototype.
+ 	(GEN_INT): Remove unnecessary cast.
+ 	* tree.h (build_int_2, size_int_type): Delete.
+ 	(build_int_2_wide): Rename to build_int_2.
+ 	(size_int_wide): Rename to size_int_kind.
+ 	(size_int_type_wide): Rename to size_int_type.
+ 	(size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind.
+ 	Remove unnecessary cast.
+ 	* tree.c (build_int_2_wide): Rename build_int_2; update comment.
+ 	* explow.c (plus_constant_wide): Rename plus_constant; update comment.
+ 	* fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type.
+ 	(size_int_type_wide): Rename size_int_type.
+ 	(int_const_binop): Use size_int_type.
+ 	* c-lex.c (interpret_integer): Use build_int_2.
+ 	* final.c (split_double): Remove unnecessary casts.
+ 	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2.
+ 
+ 2004-07-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c.
+ 	(gimplify_compound_lval): Use is_gimple_tmp_reg.
+ 	* tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c.
+ 	(is_gimple_tmp_reg): New.
+ 	* tree-gimple.h (is_gimple_tmp_reg): Declare.
+ 
+ 2004-07-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Dump
+ 	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
+ 
+ 2004-07-20  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mf_set_options_fndecl): New tree.
+ 	(mudflap_init): Set it.
+ 	(mudflap_register_call): Remove __mf_init call.
+ 	(mudflap_finish_file): Emit call to __mf_init here.  Emit a call to
+ 	to pass "-ignore-reads" option to libmudflap if needed.
+ 
+ 2004-07-20  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR c++/14607
+ 	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define.
+ 	(MAKE_DECL_ONE_ONLY): Undefine.
+ 	* pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section,
+ 	readonly_data, one_only_data_section, forget_section): New prototypes.
+ 	* pa.c (pa_init_machine_status, som_text_section_asm_op): New
+ 	functions.
+ 	(pa_select_section): Add one-only (COMDAT) support.
+ 	* pa.h (struct machine_function): Define.
+ 	* som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
+ 	(TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
+ 	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
+ 	ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
+ 	ONE_ONLY_DATA_SECTION_ASM_OP): New defines.
+ 	(EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data.
+ 	(EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros.
+ 	(READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
+ 	ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines
+ 	for EXTRA_SECTION_FUNCTIONS.
+ 	* doc/install.texi: Update binutils requirements.
+ 
+ 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate,
+ 	VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert,
+ 	VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not
+ 	size_t.
+ 	(struct VEC): Use unsigned for num and alloc.
+ 	* vec.c (struct vec_prefix): Likewise.
+ 	(vec_o_reserve): Adjust.
+ 
+ 	* dbxout.c (dbxout_type): Fix printf format.
+ 
+ 	* tree.h (binfo_member): Remove.
+ 	* tree.c (binfo_member): Remove.
+ 
+ 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h: Include vec.h
+ 	(DEF_VEC_P(tree)): New type.
+ 	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust.
+ 	(BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New.
+ 	(BINFO_LANG_SLOT): Remove.
+ 	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New.
+ 	(struct tree_binfo): Turn base_binfos into a trailing
+ 	VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields.
+ 	(binfo_lang_slots): Remove.
+ 	* tree.c (binfo_lang_slots): Remove.
+ 	(make_tree_binfo_stat): Take a base binfo count, not a
+ 	lang slot count.  Adjust.
+ 	* Makefile.in (TREE_H): Add vec.h
+ 	* alias.c (record_component_aliases): Adjust BINFO access.
+ 	* dbxout.c (dbxout_type): Likewise.
+ 	* dwarf2out.c (gen_member_die): Likewise.
+ 	* sdbout.c (sdbout_one_type): Likewise.
+ 	* tree-dump.c (deque_and_dump): Likewise.
+ 	* config/i386/i386.c (classify_argument,
+ 	contains_128bit_aligned_vector_p): Likewise.
+ 	* config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise.
+ 	* doc/c-tree.texi (Classes): Update BINFO documentation.
+ 
+ 2004-07-20  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* c-common.h (check_case_value): Remove prototype.
+ 	(c_add_case_label): Adjust prototype.
+ 	* c-common.c (check_case_value): Make static.
+ 	(check_case_bounds): New function.
+ 	(c_add_case_label): Use it.  Take new argument orig_type.
+ 	* c-typeck.c (struct c_switch): New orig_type field.
+ 	(c_start_case): Set it.
+ 	(do_case): Pass it to c_add_case_label.
+ 	* expr.c (expand_expr_real_1): Don't warn for out-of-bounds
+ 	cases from here.  Add the labels in reverse order.
+ 	* stmt.c (struct case_node): Adjust comment.  Remove balance field.
+ 	(add_case_node): Return nothing, don't check for duplicate cases.
+ 	Insert new case nodes in a list, not in an AVL tree.
+ 	(expand_end_case_type): Don't turn a case tree into a case list.
+ 	(case_tree2list): Remove.
+ 	* tree.h (add_case_node): Adjust prototype.
+ 
+ 2004-07-19  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* genattr.c (struct range, struct function_unit,
+ 	write_units, extend_range, init_range): Remove them.
+ 	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
+ 	Output "#define INSN_SCHEDULING" here.
+ 	* genattrtab.c (struct range, struct function_unit_op,
+ 	struct function_unit, struct dimension, enum operator,
+ 	operate_exp, expand_units, simplify_knowing,
+ 	encode_units_mask, simplify_by_exploding,
+ 	find_and_mark_used_attributes, unmark_used_attributes,
+ 	add_values_to_cover, increment_current_value,
+ 	test_for_current_value, simplify_with_current_value,
+ 	simplify_with_current_value_aux, gen_unit,
+ 	write_unit_name, write_function_unit_info,
+ 	write_complex_function, write_toplevel_expr,
+ 	find_single_value, extend_range): Remove.
+ 	(write_attr_get): Do not handle common_av->value
+ 	being an FFS.
+ 	(struct attr_desc): Remove func_units_p and blockage_p.
+ 	(write_attr_valueq): Do not handle them.
+ 	(find_attr): Do not clear them.
+ 	(make_internal_attr): Do not initialize them.
+ 	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
+ 	* sched-vis.c (init_target_units, insn_print_units,
+ 	init_block_visualization, print_block_visualization,
+ 	visualize_scheduled_insns, visualize_no_unit,
+ 	visualize_stall_cycles, visualize_alloc,
+ 	visualize_free, target_units, get_visual_tbl_length,
+ 	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
+ 	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
+ 	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
+ 	* haifa-sched.c (blockage_range, clear_units,
+ 	schedule_unit, actual_hazard, potential_hazard,
+ 	insn_unit, unit_last_insn, unit_tick,
+ 	actual_hazard_this_instance, potential_hazard,
+ 	schedule_unit, max_insn_queue_index_value): Remove.
+ 	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
+ 	max_insn_queue_index.
+ 	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
+ 	* doc/md.texi (Processor pipeline description): Remove
+ 	references to old pipeline descriptions.
+ 	(Automaton pipeline description): Merge with the above.
+ 	(Old pipeline description, Comparison of the two descriptions):
+ 	Remove.
+ 
+ 	* bt-load.c (migrate_btr_def): Remove references to
+ 	use_pipeline_interface.
+ 	* haifa-sched.c (insn_cost, schedule_insn,
+ 	schedule_block, advance_one_cycle, sched_init,
+ 	queue_to_ready, sched_finish): Likewise.
+ 	* modulo-sched.c (sms_schedule, advance_one_cycle,
+ 	ps_has_conflicts): Likewise.
+ 	* sched-rgn.c (init_ready): Likewise.
+ 	(debug_dependencies): Likewise, and remove an "if (1)".
+ 	* target.h (use_dfa_pipeline_interface): Remove.
+ 	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
+ 
+ 2004-07-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call.
+ 
+ 2004-07-19  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New.
+ 	(get_eq_expr_value): Use it.  Simplify slightly.
+ 
+ 2004-07-19  Maciej W. Rozycki  <macro@linux-mips.org>
+ 
+ 	* config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
+ 	(umulsidi3_32bit_r4000): Likewise.
+ 
+ 2004-07-19  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h: Propagate location information properly.
+ 	(VEC_T_iterate): Add result pointer parameter.
+ 	(VEC_T_space): New.
+ 	(VEC_T_reserve): Use it.
+ 
+ 2004-07-19  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* Makefile.in (c-format.o): Depend on c-format.h.
+ 	* c-format.h: New file.
+ 	(struct format_char_info): Add CHAIN member.
+ 	* c-format.c: Move some types and constants to c-format.h.
+ 	(format_type_error): Set to -1.
+ 	(struct function_format_info): Use an int for format_type.
+ 	(decode_format_type): Return an int.  Return format_type_error
+ 	on error.
+ 	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
+ 	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
+ 	(scan_char_table, time_char_table, monetary_char_table): Initialize
+ 	CHAIN to NULL.
+ 	(n_format_types): New variable.
+ 	(check_format_info_main): Handle CHAIN in format_char_info.
+ 	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
+ 	TARGET_N_FORMAT_TYPES.
+ 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
+ 	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
+ 	* config/sol2-c.c: New file.
+ 	* config/t-sol2: New file.
+ 	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
+ 	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
+ 	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.
+ 
+ 	* doc/extend.texi (Target Format Checks): New section.
+ 	(Function Attributes): Mention it.
+ 	* doc/invoke.texi: Mention target format checks.
+ 	* doc/sourcebuild.texi: Mention target format checks.
+ 	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
+ 	TARGET_FORMAT_TYPES.
+ 
+ 2004-07-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_return_address_offset): Prototype
+ 	added.
+ 	* config/s390/s390.c (regclass_map initializer): Register 35 added to
+ 	ADDR_REGS.
+ 	(load_multiple_operation, store_multiple_operation): Removed
+ 	pointless sanity check.
+ 	(s390_decompose_address): Added check for return_address_pointer_rtx.
+ 	(s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0.
+ 	(s390_return_address_offset): New function.
+ 	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36.
+ 	(FRAME_REGNO_P): Added check for register 35.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ 	REG_ALLOC_ORDER): Appended entry for register 35.
+ 	(REG_CLASS_CONTENTS): Adjusted class masks for register 35.
+ 	(EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx.
+ 	(RETURN_ADDRESS_POINTER_REGNUM): New macro.
+ 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer
+ 	is eliminable using stack pointer or hard frame pointer.
+ 	(REGISTER_NAMES): Added name for register 35.
+ 	* config/s390/s390.md ("load_multiple", "store_multiple"): Removed
+ 	pointless sanity check.
+ 
+ 2004-07-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (tree_expr_nonzero_p): Add function prototype.
+ 	(fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from
+ 	fold_relational_const to here, i.e. "(x | 5) == 0" -> false.
+ 	(fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons
+ 	of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT.
+ 	(fold_relational_const): Tidy up handling of floating point
+ 	comparisons by calling real_compare.  Remove tree_expr_nonzero_p
+ 	transformation; fold_relational_const assumes constant operands.
+ 
+ 2004-07-19  Gabriel Dos Reis  <gdr@integrable-solution.net>
+ 
+ 	* doc/sourcebuild.texi: Add libcpp, now that CPP has its own
+ 	directory.
+ 
+ 2004-07-19  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (struct c_expr): Define.
+ 	(C_SET_EXP_ORIGINAL_CODE): Remove.
+ 	(parser_build_binary_op, build_compound_expr): Update prototypes.
+ 	* c-parse.in (%union): Add exprtype.
+ 	(FUNC_NAME): Mark as ttype.
+ 	(expr, expr_no_commas, cast_expr, unary_expr, primary): Change to
+ 	exprtype.
+ 	(expr): Update.  Define directly in terms of expr_no_commas
+ 	instead of using nonnull_exprlist.
+ 	(nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary,
+ 	offsetof_member_designator, typespec_nonreserved_nonattr, init,
+ 	initval, designator, component_declarator,
+ 	component_notype_declarator, enumerator, array_declarator,
+ 	condition, exexpr, switch_statement, stmt_nocomp, stmt,
+ 	nonnull_asm_operands, ivar_declarator, receiver): Update.  Don't
+ 	set C_EXP_ORIGINAL_CODE.  Use TREE_NO_WARNING for assignments
+ 	where appropriate.
+ 	* c-common.h (C_EXP_ORIGINAL_CODE): Remove.
+ 	* c-common.c (c_common_truthvalue_conversion): Don't check
+ 	C_EXP_ORIGINAL_CODE.
+ 	* c-typeck.c (parser_build_binary_op): Use c_expr structures.
+ 	Don't use C_EXP_ORIGINAL_CODE.
+ 	(default_conversion, default_function_array_conversion): Don't use
+ 	C_EXP_ORIGINAL_CODE.  Preserve TREE_NO_WARNING.
+ 	(internal_build_compound_expr): Merge into build_compound_expr.
+ 	(build_compound_expr): Take two operands instead of a TREE_LIST.
+ 	* objc/objc-act.c (get_super_receiver): Update calls to
+ 	build_compound_expr.
+ 
+ 2004-07-18  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/sh/sh.c (sh_use_dfa_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to
+ 	hook_int_void_1.
+ 	* config/sh/sh.md: Extract pipeline descriptions
+ 	into separate files.
+ 	* config/sh/sh1.md: New file, extracted from sh.md.
+ 	* config/sh/sh4.md: New file, extracted from sh.md.
+ 	* config/sh/shmedia.md: New file, extracted from sh.md
+ 	and rewritten using new-style pipeline description.
+ 
+ 2004-07-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/pa/pa.md: Delete the two remaining define_peephole
+ 	patterns.
+ 
+ 2004-07-18  Steven Bosscher  <stevenb@suse.de>
+ 	    Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Don't warn if
+ 	TREE_NO_WARNING is set.
+ 
+ 2004-07-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp,
+ 	simplify_builtin_strncmp): Delete.
+ 	(fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
+ 	Change argument to accept an arglist instead of an "exp".  Assume
+ 	that the return type is always integer_type_node.  Copy missing
+ 	transformations from their now obsolete simplify_builtin_*
+ 	equivalents.
+ 	(fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp,
+ 	fold_builtin_strcmp and fold_builtin_strncmp.
+ 	(simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp
+ 	and fold_builtin_strncmp instead of simplify_builtin_memcmp,
+ 	simplify_builtin_strcmp and simplify_builtin_strncmp respectively.
+ 
+ 2004-07-18  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* Makefile.in (tree-alias-common.o): Update dependencies.
+ 
+ 2004-07-17  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* cfgloop.c (flow_loop_nested_p): Fix comment.
+ 
+ 2004-07-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/16115
+ 	* stor-layout.c (relayout_decl): New fn.
+ 	* tree.h: Declare it.
+ 	(DECL_BY_REFERENCE): New macro.
+ 
+ 2004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* libgcc2.c (__enable_execute_stack): New symbol.
+ 	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
+ 	and declare __enable_execute_stack.
+ 	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
+ 	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
+ 	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
+ 	ENABLE_EXECUTE_STACK.
+ 	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
+ 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
+ 	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
+ 	ENABLE_EXECUTE_STACK.
+ 	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
+ 	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
+ 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
+ 	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
+ 	ENABLE_EXECUTE_STACK.
+ 	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
+ 	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
+ 	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
+ 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
+ 	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
+ 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
+ 	(sparc64_initialize_trampoline): Likewise.
+ 	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
+ 
+ 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* langhooks.h (builtin_function): New langhook.
+ 	* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* tree.h (builtin_function): Remove.
+ 	* doc/tm.texi: Update.
+ 	* c-tree.h (builtin_function): Declare.
+ 	* c-common.c, config/alpha/alpha.c, config/arm/arm.c,
+ 	config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c,
+ 	config/ia64/ia64.c, config/iq2000/iq2000.c,
+ 	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
+ 	config/stormy16/stormy16.c: All callers of builtin_function
+ 	changed.
+ 
+ 2004-07-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/16556
+ 	* config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
+ 	Remove white space after the backslash.
+ 
+ 2004-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR rtl-optimization/16294
+ 	* resource.c (return_insn_p): New predicate.
+ 	(mark_target_live_regs): Use it.  Special-case return insns.
+ 	(init_resource_info): Use it.  Don't scan the epilogue past
+ 	a return.
+ 
+ 2004-07-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not
+ 	destroy dominance information.
+ 	* passes.c (rest_of_handle_loop2):  Free dominance information.
+ 	* tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before
+ 	jump threading.
+ 	(thread_jumps): Update dominance information and remove unreachable
+ 	blocks.
+ 	* tree-ssa-phiopt.c (replace_phi_with_stmt):  Update dominance
+ 	information and remove the unreachable block.
+ 
+ 2004-07-17  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn.
+ 
+ 2004-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
+ 
+ 	* doc/sourcebuild.texi: Remove libf2c entry.
+ 
+ 2004-07-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/i386/i386.md (movv16qi_internal): Fix typo.
+ 
+ 2004-07-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* final.c (final_scan_insn): Fix broken commit from previous
+ 	patch.
+ 
+ 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (parser_build_binary_op): Condition warnings for
+ 	X<=Y<=Z on -Wparentheses instead of -Wextra.
+ 	* doc/invoke.texi: Update.  Document that most of -Wparentheses is
+ 	supported for C only.
+ 
+ 2004-07-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Don't remove line
+ 	notes to avoid unreachable code warnings.
+ 	* toplev.c (backend_init): Don't emit line notes for
+ 	unreachable code warnings.
+ 
+ 	* combine.c (distribute_notes): Don't distribute a
+ 	REG_VTABLE_REF note.
+ 	* final.c (final_scan_insn): Don't handle it.
+ 	* rtl.c (reg_note_name): Remove it.
+ 	* rtl.h (enum reg_node): Dito.
+ 
+ 	* emit-rtl.c (force_line_numbers, restore_line_number_status):
+ 	Remove.
+ 	* rtl.h (force_line_numbers, restore_line_number_status):
+ 	Remove prototypes.
+ 
+ 	* stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
+ 	* tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
+ 	(using_eh_for_cleanups): Also moved here.
+ 
+ 	* expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
+ 	<SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
+ 	to expand_start_case and add_case_node.
+ 	* stmt.c (struct nesting): Cleanup unused fields condition_code,
+ 	last_unconditional_cleanup, nominal_type, printname, and
+ 	line_number_status.
+ 	(struct fixup_goto): Remove.
+ 	(struct stmt_status): Remove x_goto_fixup_chain field.
+ 	(goto_fixup_chain): Remove.
+ 	(strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
+ 	pushcase, pushcase_range): Remove.
+ 	(expand_start_bindings_and_block): Don't set unused fields in
+ 	the nesting stack.
+ 	(expand_start_case, add_case_node): Cleanup unused formal arguments.
+ 	(expand_end_case_type): Don't simplify the case-list.  Use emit_jump
+ 	instead of emit_jump_if_reachable.
+ 	(emit_case_nodes): Likewise.
+ 	* tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
+ 	static.
+ 	(update_eh_label): Work around left-over exception handing regions.
+ 	* tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
+ 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
+ 	(pass_cleanup_cfg_post_optimizing): New pass.
+ 	(init_tree_optimization_passes): Run the new pass after all
+ 	optimizations.
+ 	* tree.h (pushcase, pushcase_range): Remove prototypes.
+ 	(expand_start_case, add_case_node): Update prototypes.
+ 
+ 2004-07-16  Krister Walfridsson  <cato@df.lth.se>
+ 
+ 	* tree-inline.c (estimate_num_insns_1): Correct increase of count.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_expand_builtin_va_arg): Remove.
+ 	(expand_builtin_va_arg): Remove.
+ 	* expr.h: Don't declare them.
+ 	* gimplify.c (mark_decls_volatile_r): Remove.
+ 	(copy_if_shared_r): Don't call it.
+ 	* target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
+ 	* expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
+ 	* gimple-low.c (lower_stmt): Likewise.
+ 	* tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
+ 	* tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 	* doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
+ 	EXPAND_BUILTIN_VA_ARG.
+ 	* system.h (EXPAND_BUILTIN_VA_ARG): Poison.
+ 	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
+ 	config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
+ 	config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (insert_aux): Break out if we hit
+ 	a critical edge.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* basic-block.h (remove_fake_exit_edges): Declare.
+ 	* cfganal.c (remove_fake_predecessors): Rename from
+ 	remove_fake_successors; iterate over predecessors.
+ 	(remove_fake_exit_edges): New.
+ 	* cfgcleanup.c (try_optimize_cfg): Use it.
+ 	* gcse.c (one_pre_gcse_pass, store_motion): Likewise.
+ 	* predict.c (estimate_probability): Likewise.
+ 	(tree_estimate_probability, note_prediction_to_br_prob): Likewise.
+ 	* tree-cfg.c (make_edges): Likewise.
+ 	* tree-ssa-pre.c (fini_pre): Likewise.
+ 	* profile.c (instrument_edges): Don't remove_fake_edges.
+ 	(branch_prob): Do it earlier here.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
+ 	switchification wrt CONSTRUCTOR.  Document the reason.
+ 
+ 2004-07-16  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mf_file_function_line_tree): Correct typo
+ 	that prevented descriptive __mf_check source location strings.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-def (WITH_SIZE_EXPR): New.
+ 	* explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
+ 	* expr.c (expand_expr_real_1): Likewise.
+ 	* gimplify.c (maybe_with_size_expr): New.
+ 	(gimplify_arg, gimplify_modify_expr): Use it.
+ 	(gimplify_modify_expr_to_memcpy): Take size parameter.
+ 	(gimplify_modify_expr_to_memset): Likewise.
+ 	(gimplify_expr): Handle WITH_SIZE_EXPR.
+ 	* tree-alias-common.c (find_func_aliases): Likewise.
+ 	* tree-eh.c (tree_could_trap_p): Likewise.
+ 	(tree_could_throw_p): Likewise.
+ 	* tree-gimple.c (is_gimple_lvalue): Likewise.
+ 	(get_call_expr_in): Likewise.
+ 	* tree-inline.c (estimate_num_insns_1): Likewise.
+ 	(expand_calls_inline): Likewise.
+ 	* tree-nested.c (convert_call_expr): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	* tree-sra.c (sra_walk_expr): Likewise.
+ 	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
+ 	* tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 	* tree-tailcall.c (find_tail_calls): Likewise.
+ 
+ 	* calls.c (expand_call): Reset old_stack_allocated after
+ 	calling emit_stack_restore.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
+ 	lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
+ 	* langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
+ 	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+ 	copy_res_decl_for_inlining.
+ 
+ 	* tree-inline.c (declare_return_variable): New modify_dest argument.
+ 	Use it as the return value, when possible or manditory.  Handle
+ 	TREE_ADDRESSABLE types.
+ 	(expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
+ 	replacement of CALL_EXPR.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-flow.h (struct var_ann_d): Remove has_hidden_use.
+ 	* gimple-low.c (expand_var_p): Don't check it.
+ 	* tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
+ 	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+ 	* tree-ssa-operands.c (add_stmt_operand): Likewise.
+ 	* tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
+ 	(find_referenced_vars): Don't call them.
+ 	* tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.
+ 
+ 2004-07-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (pass_by_reference): True for all variable sized types.
+ 
+ 2004-07-16  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
+ 	* tree-pretty-print.c: Include tree-chrec.h.
+ 	(dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN
+ 	and POLYNOMIAL_CHREC nodes.
+ 
+ 2004-07-16  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* builtins.c (expand_builtin_stpcpy): Do not create temporary
+ 	reg with VOIDmode.
+ 
+ 2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	* config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
+ 
+ 2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md: Changed every occurence of BASE_REGISTER
+ 	to BASE_REGNUM.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/s390/s390.h: Likewise.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (addsi3, adddi3): Remove special handling
+ 	of $sp adds.  Remove REGNO checks from mips16 patterns.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Delete outdated comment.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (get_float_compare_codes): Delete.
+ 	(mips_emit_compare): New function, mostly extracted from
+ 	get_float_compare_codes and gen_conditional_branch.
+ 	(gen_conditional_branch, gen_conditional_move): Use it.
+ 
+ 2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	* genautomata.c (add_vect): Speedup by using integers as
+ 	bit-vectors for walking through the comb_vect and finding
+ 	a match.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
+ 	operand is an uns_arith_operand; use subtraction otherwise.
+ 	* config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
+ 	not just arith_operands.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (gen_int_relational): Delete.
+ 	(mips_emit_scc): Declare.
+ 	* config/mips/mips.c (internal_test): Delete.
+ 	(sle_operand, sleu_operand): New functions.
+ 	(map_test_to_internal_test, gen_int_relational): Delete.
+ 	(mips_emit_binary, mips_relational_operand_ok_p)
+ 	(mips_emit_int_relational, mips_zero_if_equal)
+ 	(mips_emit_scc): New functions.
+ 	(gen_conditional_branch): Rework to use mips_emit_int_relational.
+ 	* config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
+ 	sleu_operand.
+ 	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
+ 	(sltu, sleu): Use mips_emit_scc.
+ 	(*sge_[sd]i, *sgeu_[sd]i): New patterns.
+ 	(*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
+ 	(*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
+ 	(*sne_[sd]i): Likewise sne_[sd]i_zero.
+ 	(*sgt_[sd]i): ...and sgt_[sd]i.
+ 	(*slt_[sd]i): ...and slt_[sd]i.
+ 	(*sgtu_[sd]i): ...and sgtu_[sd]i.
+ 	(*sltu_[sd]i): ...and sltu_[sd]i.
+ 	(*sleu_[sd]i): ...and sleu_[sd]i_const.
+ 	Name previously unnamed mips16 patterns.  Formatting fixes.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
+ 	(branch_type): Delete.
+ 	(gen_conditional_branch, gen_conditional_move)
+ 	(mips_gen_conditional_trap): Update after name change.  Get the
+ 	comparison mode from cmp_operands[0].
+ 	* config/mips/mips.h (cmp_type, branch_type): Delete.
+ 	(cmp_operands): Renamed from branch_cmp.
+ 	* config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
+ 	name change.  Don't set branch_type.
+ 	(seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
+ 	mode class of cmp_operands[0] rather than branch_type.  Update after
+ 	name change.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
+ 	of 0...255 to 0 when inside a SET.
+ 
+ 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Remove mips16 define_peepholes.
+ 
+ 2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
+ 	(fini_pre): Remove fake edges.
+ 
+ 2004-07-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
+ 	(get_indirect_ref_operands, get_call_expr_operands): ... these.
+ 
+ 2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_address): New function.
+ 
+ 2004-07-14  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR middle-end/15885
+ 	* gimplify.c (gimplify_arg): New fn, split out from...
+ 	(gimplify_call_expr): Here.  Special-case BUILT_IN_VA_START.
+ 
+ 2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.c (output_move_qimode): Abort on an attempt to
+ 	generate code which is generated by pushqi1 now
+ 	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove.
+ 
+ 2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	* combine.c (simplify_set): match the mode of the constant 0 with
+ 	the tested operand to match the compare behaviour and the
+ 	simplify_relational_operation() expectation.
+ 
+ 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("bunordered"): Disable for e500.
+ 	("bordered"): Same.
+ 
+ 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
+ 	unconditionally.
+ 	* config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
+ 
+ 2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
+ 	calls in mips16 code.
+ 
+ 2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
+ 	the destination of the li as well as for the neg.
+ 
+ 2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	g++/15861
+ 	* cgraphunit.c (cgraph_build_static_cdtor): Add priority argument.
+ 	* cgraph.h: Update declaration.
+ 	* c-decl.c (build_cdtor): Update call with default priority.
+ 	* coverage.c (create_coverage): Ditto.
+ 	* tree-mudflap.c (mf_init_fndecl): New tree.
+ 	(mudflap_init): Set it.
+ 	(mudflap_register_call): Arrange to call __mf_init before the first
+ 	__mf_register call.
+ 	(mudflap_finish_file): Mark the mudflap static initializer as extra
+ 	high priority, to beat all C++ static constructors.
+ 
+ 2004-07-15  Jeff Law  <law@redhat.com>
+ 
+ 	* loop.c (check_insn_for_givs): Restore check for code labels that was
+ 	accidentally deleted by a recent checkin.
+ 
+ 2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_T_truncate): Allow truncation of an empty vector.
+ 	(VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* print-tree.c (print_node): Fix casts last change.
+ 
+ 2004-07-15  Paul Brook	<paul@codesourcery.com>
+ 
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO
+ 	to TARGET_UNWIND_INFO.
+ 	* except.c (output_function_exception_table): Ditto.
+ 	* except.h: Ditto.
+ 	* opts.c (decode_options): Ditto.
+ 	* passes.c (rest_of_handle_final): Ditto.
+ 	* final.c (final_start_function): Ditto.
+ 	(final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
+ 	target hook.
+ 	* targhooks.h (default_unwind_emit): Declare.
+ 	* targhooks.c (default_unwind_emit): New function.
+ 	* target-def.h: Define and use TARGET_UNWIND_EMIT.
+ 	* target.h (struct gcc_target): Add unwind_emit.
+ 	* config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
+ 	* config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
+ 	Remove IA64_UNWIND_EMIT.
+ 	* doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* print-tree.c (print_node): Handle SSA_NAME.
+ 
+ 2004-07-14  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/16325
+ 	* config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
+ 	and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
+ 
+ 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_assignment): Reenable bitfield += optimizations.
+ 	Use alias set 0 for memory, do proper mode calculations and adjust
+ 	address for memories.
+ 
+ 2004-07-14  Per Bothner	 <per@bothner.com>
+ 
+ 	* input.h:  If USE_MAPPED_LOCATION, define separate expanded_location
+ 	structure with extra column field.
+ 	* tree.c (expand_location):  Also fill in column field.
+ 	* gengtype-lex.l:  Ignore expanded_location typedef, sinze gengtype
+ 	gets confused by the two conditionally-compiled definitions.
+ 
+ 2004-07-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* calls.c (expand_call): Fix typo in comment.
+ 
+ 2004-07-14  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED
+ 	comparision of TFmode.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...
+ 	(alpha_gimplify_va_arg): ... handling here.  Use pass_by_reference.
+ 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference.
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+ 	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
+ 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
+ 	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
+ 	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
+ 
+ 2004-07-14  Mike Stump	<mrs@apple.com>
+ 
+ 	* config/darwin.h (WINT_TYPE): Define to be int to match
+ 	system header files.
+ 
+ 2004-07-14  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (function_arg_advance): Check for args
+ 	that must be passed in the stack.
+ 	(xtensa_gimplify_va_arg_expr): Skip special-case padding for small
+ 	arguments if the size is not a constant.
+ 
+ 2004-07-14  Per Bothner  <per@bothner.com>
+ 
+ 	* c-typeck.c (emit_side_effect_warnings):  Use EXPR_HAS_LOCATION
+ 	instead of EXPR_LOCUS in a boolean context, which is always true
+ 	if --enable-mapped-location.
+ 	* stmt.c (warn_if_unused_value):  Likewise.  Also use EXPR_LOCATION.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dominance.c (struct dom_info): Add fake_exit_edge.
+ 	(init_dom_info): Allocate it.
+ 	(free_dom_info): Free it.
+ 	(calc_dfs_tree): Set it.  Handle noreturn and infinite loops
+ 	in two passes.
+ 	(calc_idoms): Honor fake_exit_edge.
+ 
+ 2004-07-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns.
+ 	(rhs_test_for): New fn.
+ 	(is_gimple_tmp_rhs): Rename from is_gimple_rhs.
+ 	* tree-gimple.h: Declare them.
+ 	* gimplify.c (gimplify_modify_expr): Use the new fns.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/arm/arm-protos.h (arm_va_arg): Remove.
+ 	* config/arm/arm.c (arm_va_arg): Remove.
+ 	(arm_init_expanders): Fix alignment of arg_pointer_rtx.
+ 	* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (fix_range): New function to mark a range(s) of registers as
+ 	fixed registers.
+ 	(override_options): Call fix_range if the -mfixed-range option string
+ 	is not empty.
+ 	* pa.h (TARGET_OPTIONS): Add -mfixed-range option.
+ 	* doc/invoke.texi (-mfixed-range): Document new option.
+ 
+ 2004-07-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode
+ 	for TARGET_64BIT.
+ 	(rs6000_gimplify_va_arg): Use size_int instead of build_int_2.
+ 
+ 2004-07-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_sdiv_pow2): New function to expand signed division
+ 	by a positive power of two, split out from expand_divmod.  Provide
+ 	an alternate implementation when shifts are expensive.  Lower the
+ 	threshold for using a branchless implementation to BRANCH_COST >= 2.
+ 	(expand_divmod): Call expand_sdiv_pow2 for suitable divisions.
+ 
+ 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-dfa.c (make_rename_temp): *Really* work just
+ 	like create_tmp_var if called while outside SSA form.
+ 
+ 2004-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("udivsi3"): Ensure trap is generated
+ 	for division by zero.
+ 	("umodsi3"): Likewise.
+ 
+ 2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_output_move): When generating mips16 code,
+ 	force loads of negative constants to be split.
+ 	* config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise.
+ 	Generalize SImode li/neg splitter to cope with other modes.
+ 
+ 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expmed.c: Remove more references to QUEUED in the comments.
+ 	* expr.c: Likewise.
+ 
+ 2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	Revert:
+ 	2004-07-13  Richard Henderson  <rth@redhat.com>
+ 	* config/mips/mips.c (mips_pass_by_reference): Handle mode sizes
+ 	correctly.
+ 
+ 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-dfa.c (make_rename_temp): Work just like
+ 	create_tmp_var if called while outside SSA form.
+ 
+ 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* expr.c (enqueue_insn, finish_expr_for_function,
+ 	protect_from_queue, queued_subexp_p, mark_queue,
+ 	emit_insns_enqueued_after_mark, emit_queue,
+ 	expand_increment): Remove.
+ 	(store_constructor): Expand increment as an assignment.
+ 	(expand_expr_real_1 <case PREINCREMENT_EXPR,
+ 	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
+ 	case POSTDECREMENT_EXPR>): Abort.
+ 	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
+ 	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
+ 	protect_from_queue, emit_queue, queued_subexp_p): Remove.
+ 	* function.h (pending_chain, x_pending_chain): Remove.
+ 	* rtl.def (QUEUED): Remove.
+ 
+ 	* emit-rtl.c (copy_insn_1, copy_most_rtx,
+ 	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
+ 	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
+ 	encode_units_mask): Likewise.
+ 	* local-alloc.c (equiv_init_varies_p): Likewise.
+ 	* rtl.c (copy_rtx): Likewise.
+ 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
+ 	* simplify-rtx.c (simplify_gen_subreg): Likewise.
+ 	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
+ 
+ 	* builtins.c (expand_builtin, expand_builtin_apply,
+ 	expand_builtin_mathfn, expand_builtin_mathfn_2,
+ 	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
+ 	Remove calls to emit_queue and protect_from_queue.
+ 	* calls.c (expand_call, precompute_arguments,
+ 	precompute_register_parameters, rtx_for_function_call,
+ 	store_one_arg): Likewise.
+ 	* dojump.c (do_compare_and_jump, do_jump): Likewise.
+ 	* explow.c (memory_address): Likewise.
+ 	* expmed.c (clear_by_pieces_1, clear_storage,
+ 	clear_storage_via_libcall, emit_group_load,
+ 	emit_group_store, emit_store_flag,
+ 	expand_expr_real_1, store_by_pieces,
+ 	store_constructor, store_expr, try_casesi,
+ 	try_tablejump): Likewise.
+ 	* function.c (expand_pending_sizes): Likewise.
+ 	* optabs.c (emit_cmp_and_jump_insns,
+ 	emit_conditional_add, emit_conditional_move,
+ 	expand_fix, expand_float, prepare_cmp_insn): Likewise.
+ 	* stmt.c (emit_case_bit_tests,
+ 	expand_asm_expr, expand_computed_goto,
+ 	expand_decl_init, expand_end_case_type,
+ 	expand_end_stmt_expr, expand_expr_stmt_value,
+ 	expand_return, expand_start_case,
+ 	optimize_tail_recursion): Likewise.
+ 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+ 	* config/s390/s390.c (s390_expand_cmpmem): Likewise.
+ 
+ 2004-07-14  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* vec.h: Comment fix.
+ 
+ 2004-07-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Add calls.pass_by_reference.
+ 	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
+ 	* function.c (pass_by_reference): Use the hook.
+ 	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
+ 	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
+ 	(hook_pass_by_reference_must_pass_in_stack): New.
+ 	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
+ 	(alpha_pass_by_reference): New.
+ 	(TARGET_PASS_BY_REFERENCE): New.
+ 	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/arc/arc.c (arc_pass_by_reference): New.
+ 	(TARGET_PASS_BY_REFERENCE): New.
+ 	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): True.
+ 	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
+ 	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
+ 	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/cris/cris.c (cris_pass_by_reference): New.
+ 	(TARGET_PASS_BY_REFERENCE): New.
+ 	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
+ 	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
+ 	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
+ 	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(frv_function_arg_pass_by_reference): Remove.
+ 	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
+ 	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
+ 	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
+ 	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(ia64_pass_by_reference): Rename from
+ 	ia64_function_arg_pass_by_reference.
+ 	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
+ 	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
+ 	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ 	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
+ 	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(m32r_pass_by_reference): Adjust prototype.  Make static.
+ 	Handle mode sizes correctly.
+ 	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
+ 	(m68hc11_function_arg_pass_by_reference): Remove.
+ 	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ 	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
+ 	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
+ 	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(mips_va_arg): Use pass_by_reference.
+ 	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
+ 	Handle mode sizes correctly.
+ 	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
+ 	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
+ 	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(mmix_pass_by_reference): Rename from
+ 	mmix_function_arg_pass_by_reference.
+ 	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): True.
+ 	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(mn10300_pass_by_reference): New.
+ 	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): True.
+ 	* config/pa/pa.c (pa_pass_by_reference): New.
+ 	(TARGET_PASS_BY_REFERENCE): New.
+ 	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): True.
+ 	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
+ 	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
+ 	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
+ 	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(s390_pass_by_reference): Rename from
+ 	s390_function_arg_pass_by_reference.
+ 	(s390_function_arg_advance): Don't query pass-by-ref.
+ 	(s390_function_arg): Likewise.
+ 	(s390_gimplify_va_arg): Use pass_by_reference.
+ 	(s390_call_saved_register_used): Likewise.
+ 	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(shcompact_byref, sh_pass_by_reference): New.
+ 	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(SHCOMPACT_BYREF): Remove.
+ 	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
+ 	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
+ 	(sparc_gimplify_va_arg): Use pass_by_reference.
+ 	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
+ 	(v850_pass_by_reference): New.
+ 	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	(FUNCTION_ARG_CALLEE_COPIES): True.
+ 	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
+ 	FUNCTION_ARG_PASS_BY_REFERENCE docs.
+ 
+ 2004-07-14  Richard Henderson  <rth@redhat.com>
+ 	    Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_va_arg): Delete.
+ 	* config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete.
+ 	* config/mips/mips.c: Include tree-gimple.h.
+ 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 	(mips_arg_info): Remove special handling of must_pass_in_stck args.
+ 	(mips_gimplify_va_arg_expr): Rewritten from mips_va_arg.
+ 	(function_arg_pass_by_reference): Return true if must_pass_in_stack.
+ 
+ 2004-07-13  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap
+ 	arguments for COND_EXPR in big-endian adjustment code.
+ 
+ 2004-07-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.
+ 	* pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64.
+ 	* pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers.
+ 	* pa64-regs.h (REG_ALLOC_ORDER): Likewise.
+ 
+ 2004-07-13  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/16443
+ 	* tree-ssa-alias.c: Add more description for
+ 	CALL_CLOBBERED_VARS and ADDRESSABLE_VARS.
+ 	* tree-ssa-operands.c (get_asm_expr_operands): Re-order the
+ 	clobbering of call-clobbered and addressable variables.  If
+ 	there are any before aliases have been computed, add them.
+ 
+ 2004-07-13  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-optimize.c (execute_todo): Flush DUMP_FILE before
+ 	verification.
+ 
+ 2004-07-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead
+ 	of build_int_2.  Convert both operands of PLUS_EXPR and MULT_EXPR
+ 	to the same type.
+ 
+ 2004-07-13  Per Bothner  <per@bothner.com>
+ 
+ 	* collect2.c (main):  Handle --no-demangle and --demangle flags.
+ 
+ 2004-07-13  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-data-ref.o.
+ 	(tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h.
+ 	(tree-data-ref.o): New rule.
+ 	* lambda.h: New file.
+ 	* tree-data-ref.c: New file.
+ 	* tree-data-ref.h: New file.
+ 	* tree.c (int_cst_value, tree_fold_gcd): New functions.
+ 	* tree.h (int_cst_value, tree_fold_gcd): Declared here.
+ 
+ 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/13926
+ 	* config/sparc/sparc-protos.h (output_ubranch): New prototype.
+ 	* config/sparc/sparc.c (output_ubranch): New function.
+ 	* config/sparc/sparc.md (jump pattern): Use it.
+ 
+ 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16494
+ 	* config/sparc/sparc.c (output_cbranch): Properly guard
+ 	the code handling far branches with TARGET_V9.
+ 	* config/sparc/sparc.md (length attribute): Document the
+ 	side-effect of having a length greater or equal to 3.
+ 
+ 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
+ 
+ 	PR target/15186
+ 	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
+ 	/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
+ 
+ 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Martin Sebor  <sebor@roguewave.com>
+ 
+ 	PR target/12602
+ 	* doc/invoke.texi (SPARC options): Document -threads
+ 	and -pthreads on Solaris.
+ 
+ 2004-07-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Handle types passed
+ 	by reference.
+ 	(ind_gimplify_va_arg_expr): Remove.
+ 	* tree.h (ind_gimplify_va_arg_expr): Remove.
+ 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
+ 	* config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
+ 	argsp to be null.
+ 
+ 	* config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
+ 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
+ 	* config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
+ 	config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
+ 	config/mn10300/mn10300.c, config/v850/v850.c: Similarly.
+ 
+ 2004-07-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (pass_by_reference): New.
+ 	(assign_parm_find_data_types): Use it.
+ 	* calls.c (initialize_argument_information): Likewise.
+ 	(emit_library_call_value_1): Likewise.
+ 	* expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
+ 	* function.h (pass_by_reference): Declare.
+ 
+ 2004-07-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
+ 	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
+ 	* expr.h (MUST_PASS_IN_STACK): Remove.
+ 	* system.h (MUST_PASS_IN_STACK): Poison.
+ 	* tree.h (must_pass_in_stack_var_size): Declare.
+ 	(must_pass_in_stack_var_size_or_pad): Declare.
+ 	* calls.c (must_pass_in_stack_var_size): New.
+ 	(must_pass_in_stack_var_size_or_pad): Rename from
+ 	default_must_pass_in_stack.
+ 	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
+ 	(TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
+ 	(TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/frv/frv.c (frv_must_pass_in_stack): New.
+ 	(TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
+ 	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	(ix86_must_pass_in_stack): Make static.
+ 	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
+ 	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	(mcore_must_pass_on_stack): Remove.
+ 	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
+ 	(TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
+ 	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
+ 	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
+ 	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
+ 	MUST_PASS_IN_STACK.
+ 
+ 	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
+ 	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
+ 	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
+ 	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
+ 	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
+ 	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
+ 	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
+ 	config/xtensa/xtensa.c: Use target hook.
+ 
+ 2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
+ 
+ 	* configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
+ 	* configure: Rebuilt.
+ 
+ 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Remove documentation for MIPS -mrnames option.
+ 	* config/mips/mips.h (mips_reg_names): Don't declare.
+ 	(MASK_NAME_REGS): Delete.  Shuffle other MASK_* values down.
+ 	(TARGET_NAME_REGS): Delete.
+ 	(TARGET_SWITCHES): Remove -mrnames.
+ 	(REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
+ 	(ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
+ 	in REGISTER_NAMES.
+ 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
+ 	(override_options): Remove handling of TARGET_NAME_REGS.
+ 
+ 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (TARGET_*): Boolify.
+ 
+ 2004-07-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config.gcc: Add sh-*-symbianelf target.
+ 	* config/sh/sh.c: Add new target macros:
+ 	TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
+ 	TARGET_CXX_IMPORT_EXPORT_CLASS.
+ 	(sh_file_start): Create a definition of the .directive section.
+ 	(sh_attribute): Add dllimport and dllexport attributes.
+ 	* config/sh/symbian-pre.h: New file.
+ 	* config/sh/symbian-post.h: New file.
+ 	* config/sh/symbian.c: New file. Contains Symbian specific
+ 	functions.
+ 	* config/sh/sh-protos.h: Add prototypes for new functions
+ 	provided by symbian.c.
+ 	* config/sh/t-symbian: New file.
+ 	* doc/extend.texi: Document support for dllimport and dllexport
+ 	attributes by the sh-symbianelf target.
+ 
+ 2004-07-12  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* Makefile.in (AR): Use @AR@ not ar.
+ 	(NM): New.
+ 	(AR_FOR_TARGET): Use $(AR) not ar for native.
+ 	(NM_FOR_TARGET): Use $(NM) not nm for native.
+ 	* configure.ac: Add AC_CHECK_PROG calls for NM and AR.
+ 	* configure: Regenerate.
+ 
+ 2004-07-12  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.md (ashlsi3): Eliminate const 1
+ 	special case.
+ 	(ashldi3_sp64): Likewise.
+ 
+ 2004-07-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/16477
+ 	* pa.c (function_arg): Update comment.
+ 	* pa.h (BLOCK_REG_PADDING): Define.
+ 
+ 2004-07-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/16461
+ 	* tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name
+ 	arguments of phi nodes.
+ 
+ 2004-07-12  Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/invoke.texi (Darwin Options): Document -gused and -gfull.
+ 
+ 2004-07-12  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* function.c (expand_function_start): Ensure r_save is in Pmode.
+ 	* calls.c (prepare_call_address): Ensure static_chain_value is
+ 	in Pmode.
+ 	* builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and
+ 	r_save_area are in Pmode.
+ 	* config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr,
+ 	fnaddr, and static_chain are in Pmode.
+ 
+ 2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/16445
+ 	* config/ia64/ia64.c (bundling): Don't count ignored insns.
+ 
+ 2004-07-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Move gimplify_va_arg_expr
+ 	next to build_builtin_va_list.
+ 	* target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match.
+ 	* builtins.c (gimplify_va_arg_expr): Likewise.
+ 	* gimplify.c (copy_if_shared_r): Likewise.
+ 
+ 2004-07-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* passes.c (rest_of_decl_compilation): Don't defer call of
+ 	assemble_variable if its DECL_RTL is already set.
+ 
+ 2004-07-12  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* cfgloop.h (struct loop): Add nb_iterations field.
+ 	(current_loops): Declare.
+ 	* tree-chrec.c (chrec_not_analyzed_yet,
+ 	chrec_dont_know, chrec_known, count_ev_in_wider_type,
+ 	chrec_contains_symbols_defined_in_loop): Remove the temporary
+ 	hooks.
+ 	* tree-flow-inline.h (loop_containing_stmt): New function.
+ 	* tree-scalar-evolution.c: Add implementation.
+ 	* tree-scalar-evolution.h: Add declarations.
+ 
+ 2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
+ 
+ 	PR rtl-optimization/15921
+ 	* Makefile.in (global.o): Add recog.h.
+ 
+ 	* global.c (recog.h): Add the include-clause.
+ 	(bb_info): New member earlyclobber.
+ 	(allocate_bb_info, free_bb_info): Initialize/finish the new
+ 	member.
+ 	(earlyclobber_regclass, earlyclobber_regclass_length): The new
+ 	global variables.
+ 	(check_earlyclobber, regclass_intersect,
+ 	mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1):
+ 	New functions.
+ 	(calculate_local_reg_bb_info): Calculate value of earlyclobber.
+ 	(make_accurate_live_analysis): Modify pavin.
+ 
+ 2004-07-12  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-cfg.c (find_taken_edge): Statically compute the truth
+ 	value of a predicate comparing an SSA_NAME to itself.
+ 
+ 2004-07-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the
+ 	rs6000 doesn't have shift-and-add or shift-and-sub instructions
+ 	by returning the cost of a multiplication plus an addition.
+ 
+ 2004-07-12  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR tree-optimization/14107
+ 	* gimplify.c (gimplify_return_expr): Accept a
+ 	RETURN_EXPR with an error argument.
+ 	* tree-optimize.c (init_tree_optimization_passes):
+ 	Run pass_warn_function_return at -O0.
+ 
+ 2004-07-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/invoke.texi: Correct -fasynchronous-unwind-tables option
+ 	index entry.
+ 
+ 2004-07-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/mips/3000.md: Add copyright notice.  Remove automota and
+ 	function units; use generic ones instead.  Only define reservations
+ 	for things that are different from generic.md.  Extend each clause
+ 	to include r3900.
+ 	* config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files.
+ 	* config/mips/mips.md: Include them. Remove define_function_units.
+ 	(alu, imuldiv): New automata and units.
+ 
+ 2004-07-12  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Document -frename-registers
+ 	not being enabled by default at -O3.
+ 
+ 2004-07-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for
+ 	floating point additions, to keep real immediate constant positive.
+ 	<MINUS_EXPR>:  For floating point subtractions, only transform X - -C
+ 	into X + C, and leave positive real constants as X - C.
+ 
+ 2004-07-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (hppa_gimplify_va_arg_expr): Remove comment.
+ 
+ 2004-07-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/15654
+ 	* tree-tailcall.c (eliminate_tail_call): Remove unreachable code.
+ 
+ 2004-07-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_fputs): Don't bother converting the
+ 	return type to integer_type_node, as we've already checked that
+ 	the result will be ignored.
+ 
+ 	* tree-eh.c (tree_could_trap_p): Add support for -ftrapv such
+ 	that signed addition, subtraction, multiplication, division,
+ 	remainder, negation and absolute value may potentially trap.
+ 
+ 	* fold-const.c (fold_ignored_result): New function to strip
+ 	non-side-effecting tree nodes from an expression whose result
+ 	is ignored.
+ 	(fold_convert): Call fold_ignored_result when casting a value
+ 	to VOID_TYPE.
+ 	(omit_one_operand):  Call fold_ignored_result on the "omitted"
+ 	operand when building a COMPOUND_EXPR.
+ 	(pedantic_omit_one_operand): Likewise.
+ 	* tree.h (fold_ignored_result): Prototype here.
+ 	* tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result
+ 	when we're going to ignore the result.
+ 
+ 2004-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/16383
+ 	* tree-ssa-ccp.c (fold_stmt_r): Split out...
+ 	* tree.c (fields_compatible_p, find_compatible_field): ... new.
+ 	* tree.h (fields_compatible_p, find_compatible_field): Declare.
+ 	* tree-sra.c (sra_hash_tree): Hash fields by offset.
+ 	(sra_elt_eq): Use fields_compatible_p.
+ 	(generate_one_element_ref): Use find_compatible_field.
+ 
+ 2004-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/16422
+ 	* tree-sra.c (generate_one_element_init): New.
+ 	(generate_element_init): Use it.
+ 	(scalarize_init): Push/pop gimplify context around it.
+ 	(find_new_referenced_vars_1, find_new_referenced_vars): New.
+ 	* gimplify.c (gimplify_expr): Allow SSA_NAME.
+ 
+ 2004-07-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* rtlanal.c (insn_rtx_cost): New function, moved and renamed from
+ 	combine.c's combine_insn_cost.
+ 	* rtl.h (insn_rtx_cost): Prototype here.
+ 	* combine.c (combine_insn_cost): Delete function.
+ 	(combine_validate_cost): Update callers of combine_insn_cost to
+ 	call insn_rtx_cost instead.
+ 	(combine_instructions): Likewise.  Use NONJUMP_INSN_P to avoid
+ 	requesting the rtx_cost of call and/or jump instructions.
+ 
+ 	* ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling
+ 	rtx_cost directly.  Don't request/use the cost of call or jump
+ 	instructions.  Return -1 if the cost of any instruction can't be
+ 	determined (or the BB contains a function call).
+ 	(find_if_case_1): Abort transformation if total_bb_rtx_cost returns
+ 	-1 (i.e. can't determine the cost of any instruction or the basic
+ 	block contains a subroutine call).
+ 	(find_if_case_2): Likewise.
+ 
+ 2004-07-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* rs6000.c (struct processor_costs): Change semantics of fields to
+ 	include the COST_N_INSNS scaling, and update all initializers.
+ 	(rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields.
+ 	Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE.
+ 	Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP.  When
+ 	optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE.
+ 
+ 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* LANGUAGES: Remove obsolete information.
+ 
+ 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
+ 	SIGBUS signal frames, the PSW address points *to* the faulting
+ 	instruction, not after it.
+ 
+ 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (legitimize_tls_address): Handle constant offsets
+ 	added to TLS symbol addresses.
+ 
+ 2004-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (init_expmed): Use stack-local structures for
+ 	temporary rtl.  Don't recognize shifts.
+ 
+ 2004-07-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (store_expr): Don't fiddle subreg promotion for types
+ 	with precision smaller than the mode.
+ 
+ 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* tree.h (all_types_permanent): Remove.
+ 
+ 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
+ 	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
+ 	* langhooks.c (lhd_clear_binding_stack): Remove.
+ 	* langhooks-def.h (lhd_clear_binding_stack,
+ 	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
+ 	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
+ 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
+ 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+ 	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
+ 	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
+ 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
+ 	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
+ 	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
+ 	* tree.h (poplevel): Don't declare.
+ 	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
+ 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
+ 	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
+ 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
+ 	Remove.
+ 
+ 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR tree-optimization/16437
+ 	* c-common.c (shorten_compare): Don't mark result of conversion to
+ 	narrower signed type as overflowing.
+ 	* fold-const.c (decode_field_reference): Determine whether
+ 	signedness comes from outer type using precision rather than size.
+ 
+ 2004-07-11  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* configure.ac:  Alphabetize --enable-checking list, add
+ 	missing valgrind entry.
+ 	* configure:  Regenerate.
+ 
+ 2004-07-11  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* doc/install.texi (Testing):  Fix syntax in "make check" example.
+ 
+ 2004-07-10  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
+ 
+ 2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR rtl-optimization/16001
+ 	* loop-iv.c (iv_number_of_iterations): Prevent copy propagation in
+ 	niter_expr.
+ 
+ 2004-07-10  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt.
+ 
+ 2004-07-10  Steve Kargl  <sgk@troutmask.apl.washington.edu>
+ 	    James Morrison  <phython@gcc.gnu.org>
+ 
+ 	* doc/contrib.texi (Contributors): Add gfortran contributors and
+ 	fix a couple of typos.
+ 
+ 2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR rtl-optimization/15387
+ 	* calls.c (check_sibcall_argument_overlap_1): Handle pointers
+ 	to incoming args space correctly.
+ 
+ 2004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (output_indirect_call): Only use %r2 as the link register in
+ 	indirect calls with the long PA 2.0 pc-relative branch.
+ 
+ 2004-07-10  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* config/i386/i386.c (override_options): Pick a 64-bit CPU
+ 	for the default tuning if TARGET_64BIT.
+ 
+ 2004-07-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
+ 	to HOST_WIDE_INT.  Fold pad-args-down arithmetic.
+ 
+ 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.h (store_bit_field, extract_bit_field): Remove last argument.
+ 	* expmed.c (store_bit_field, extract_bit_field): Remove last
+ 	argument.
+ 	* builtins.c (expand_builtin_signbit): Adjust callers.
+ 	* optabs.c (expand_vector_binop, expand_vector_unop): Likewise.
+ 	* calls.c (store_unaligned_arguments_into_pseudos): Likewise.
+ 	* ifcvt.c (noce_emit_move_insn): Likewise.
+ 	* stmt.c (expand_return): Likewise.
+ 	* expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg,
+ 	store_field, expand_expr_real_1): Likewise.
+ 
+ 2004-07-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
+ 
+ 2004-07-09  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (no_dead_strip): Add.
+ 	(HAVE_DEAD_STRIP): Add.
+ 	(darwin_emit_unwind_label): Ensure that we don't dead code strip
+ 	the .eh label.
+ 
+ 2004-07-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-im.c: New file.
+ 	* Makefile.in (tree-ssa-loop-im.o): Add.
+ 	* cfgloop.c (superloop_at_depth): New function.
+ 	* cfgloop.h (superloop_at_depth): Declare.
+ 	* common.opt (ftree-lim): New flag.
+ 	* expr.c (array_ref_up_bound): New function.
+ 	* params.def (PARAM_LIM_EXPENSIVE): New parameter.
+ 	* timevar.def (TV_LIM): New timevar.
+ 	* tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when
+ 	computing immediate uses of a phi node.
+ 	* tree-flow.h (struct tree_ann_common_d): Add aux field.
+ 	(loop_commit_inserts, for_each_index, tree_ssa_lim): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_lim.
+ 	* tree-pass.h (pass_lim): Declare.
+ 	* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New
+ 	functions.
+ 	(pass_lim): New pass structure.
+ 	* tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly.
+ 	* tree.c (in_array_bounds_p): New function.
+ 	* tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs.
+ 	(in_array_bounds_p, array_ref_up_bound): Declare.
+ 	* doc/invoke.texi (-ftree-lim, --param lim-expensive): Document.
+ 	* doc/passes.texi (tree-ssa-loop-im.c): Document.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_stpcpy): Don't modify len.
+ 
+ 	* tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs
+ 	with prejudice.
+ 
+ 2004-07-10  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* flags.h: Delete redundant prototypes that are being generated
+ 	in options.h from common.opt.
+ 	* common.opt: Add in the expository comments formerly in flags.h.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/i386/i386.c (init_cumulative_args): Set mmx/sse registers
+ 	available for use only when TARGET_MMX/_SSE is set, and check for
+ 	variable argument function if any register count is non-zero.
+ 	(function_arg): Correctly suppress repeated warnings for passing SSE
+ 	vectors are arguments without SSE enabled.
+ 	(ix86_function_arg_boundary): Without SSE enabled, the use of what
+ 	would be SSE register modes does no longer influence the alignment.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD.
+ 	Always align upward to arg boundary.  Use size_in_bytes/round_up.
+ 	Maintain type-correctness of constants.
+ 	* stor-layout.c (round_up, round_down): Special-case powers of 2.
+ 
+ 2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.c (*_costs): Scale instruction costs
+ 	by COSTS_N_INSNS.
+ 	(sparc_rtx_costs): Adjust as appropriate.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/i386/mm3dnow.h: New.
+ 	* config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_const_relational_operation): Only
+ 	look at bounds of scalar integers.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/i386/i386.md (sse2_clflush): Use correct operand for clflush.
+ 
+ 2004-07-09  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as
+ 	always referenced.
+ 	(synth_forward_declarations): Likewise for UOBJC_CLASS_decl and
+ 	UOBJC_METACLASS_decl.
+ 
+ 2004-07-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/16364
+ 	* config/ia64/ia64.c (ia64_function_arg): For a single element HFA,
+ 	do return a parallel if hfa_mode == XFmode and mode == TImode.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes
+ 	permissible for unary plus.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
+ 	(BT_FN_UINT): Rename from BT_FN_UNSIGNED.
+ 	(BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED.
+ 	(BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG,
+ 	BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New.
+ 	* builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx,
+ 	BUILTIN_POPCOUNTxxx): Arguments are unsigned.
+ 	(BUILTIN_xxxIMAX): New.
+ 	* builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX,
+ 	BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and
+ 	BUILT_IN_PARITYIMAX.
+ 
+ 2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.h (processor_costs): Define.
+ 	(sparc_costs): Declare.
+ 	* config/sparc/sparc.c (cypress_costs, supersparc_costs,
+ 	hypersparc_costs, sparclet_costs, ultrasparc_costs,
+ 	ultrasparc3_costs): New.
+ 	(sparc_override_options): Set sparc_costs as appropriate.
+ 	(sparc_rtx_costs): Use sparc_costs instead of messy
+ 	conditionals.
+ 
+ 2004-07-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* doc/md.texi (Processor pipeline description): Mention that
+ 	the old pipeline description is deprecated.
+ 
+ 	* config/rs6000/7450.md (automaton ppc7450): Split up, move
+ 	mciu_7450 function unit to...
+ 	(automaton ppc7450mciu): ...new automaton.
+ 
+ 	* haifa-sched.c (insert_schedule_bubbles_p): Remove.
+ 	(schedule_block): Don't consider inserting bubbles.
+ 	(sched_init): Don't initialize DFA bubbles.
+ 	* target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES,
+ 	TARGET_SCHED_DFA_BUBBLE): Remove.
+ 	* target.h (init_dfa_bubbles, dfa_bubble): Remove hooks.
+ 	* doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES,
+ 	TARGET_SCHED_DFA_BUBBLE): Remove documentation.
+ 
+ 	* stmt.c (conditional_context): Remove prototype.
+ 	* tree.h (conditional_context): Remove.
+ 	* tree-cfg.c (pre_insert_on_edge): Remove.
+ 
+ 	* c-common.h (c_expand_asm_operands): Remove prototype.
+ 	* c-typeck.c (c_expand_asm_operands): Remove.
+ 
+ 2004-07-09  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/i386/i386.c (classify_argument): Treat V1xx modes the same as
+ 	their base modes. CTImode, TCmode, and XCmode must be passed in memory.
+ 	TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode,
+ 	and V8QI are class SSE. All sufficiently small remaining vector modes
+ 	must be passed in one or two integer registers.
+ 	(ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be
+ 	returned in memory.
+ 	(bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and
+ 	__builtin_ia32_pmuludq128 have non-uniform argument and return types
+ 	and must thus be handled explicitly.
+ 	* config/i386/i386.md (*movdi_1_rex64): Add cases for moving between
+ 	MMX and XMM regs.
+ 	(movv8qi_internal, movv4hi_internal, movv2si_internal,
+ 	movv2sf_internal): Permit moving between MMX and XMM registers (since
+ 	MMX areguments and return values are passed in XMM registers).
+ 	(sse2_umulsidi3): Correct type and mode.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors.
+ 
+ 2004-07-09  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/rs6000/40x.md: Split into two automatons.
+ 
+ 2004-07-09  Zack Weinberg  <zack@codesourcery.com>
+ 	    Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-opts.c (c_common_post_options): Force unit-at-a-time mode
+ 	on when we have more than one input file.
+ 	(c_common_parse_file): Restore loop over all input files.
+ 	Clarify diagnostic for -dy when YYDEBUG wasn't defined.
+ 
+ 	* c-decl.c (set_type_context): New function.
+ 	(pop_scope): Use it to set context of types.  When we
+ 	encounter a TYPE_DECL, set the context of the attached type too.
+ 	(pop_file_scope): Don't call cpp_undef_all here.
+ 	(diagnose_mismatched_decls): Do not complain about a second
+ 	definition of an 'extern inline' function if it's not in the
+ 	same translation unit.  Do not complain about inline
+ 	declaration after use if the use was in a different
+ 	translation unit.
+ 	(merge_decls): Don't clobber olddecl's DECL_CONTEXT.
+ 	(pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in
+ 	the external scope.
+ 	(pushdecl_top_level): Likewise.
+ 	(grokdeclarator): Clarify what is going on with setting
+ 	DECL_EXTERNAL on function types, a little.
+ 	(c_write_global_declarations): Don't do anything if
+ 	-fsyntax-only or errors have been encountered.
+ 
+ 2004-07-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument.
+ 
+ 2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/16459
+ 	* pa.c (output_indirect_call): Use %r2 as the link register when
+ 	calling $$dyncall with a pc-relative branch.
+ 
+ 2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Binaries): Mention OpenPKG.
+ 
+ 2004-07-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	Fix PR tree-optimization/15555
+ 	* tree-dfa.c (dump_variable): If the variable is a pointer
+ 	SSA_NAME, also dump its points-to information.
+ 	* tree-flow.h (struct ptr_info_def): Add field
+ 	is_dereferenced.
+ 	(dump_points_to_info_for): Declare.
+ 	(debug_points_to_info_for): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add a
+ 	second alias analysis pass after DOM2.
+ 	Move pass_del_pta to a later spot.
+ 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not
+ 	create a name tags when we find a dereferenced pointer.  Just
+ 	mark the pointer dereferenced.
+ 	(collect_points_to_info_for): Move code to clear points-to
+ 	information to create_name_tags.
+ 	(create_name_tags): New function.
+ 	(compute_flow_sensitive_aliasing): Call it.
+ 	(setup_pointers_and_addressables): Mark type tags for renaming
+ 	here instead of ...
+ 	(create_memory_tag): ... here.
+ 	(merge_pointed_to_info): Do not merge PT_MALLOC attributes.
+ 	(dump_points_to_info_for): Declare extern.
+ 	(debug_points_to_info_for): New function.
+ 
+ 2004-07-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/arc/arc.md: Switch to DFA-based scheduler description.
+ 	* config/arc/arc.c: Switch to DFA-based scheduler description.
+ 
+ 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame
+ 	pointer.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove.
+ 	* config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg.
+ 	* config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/v850/v850-protos.h (v850_va_arg): Remove.
+ 	* config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(v850_gimplify_va_arg_expr): Rewrite from v850_va_arg.
+ 	* config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE.
+ 
+ 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/12133
+ 	* arm.c (arm_legitimate_index_p) Allow DFmode for soft-float
+ 	and DImode to use +/-4k offset.
+ 
+ 2004-07-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg):
+ 	Remove.
+ 	* config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(xstormy16_gimplify_va_arg_expr): Rewrite from
+ 	xstormy16_expand_builtin_va_arg.
+ 	* config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/sparc/sparc-protos.h (sparc_va_arg): Remove.
+ 	* config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static.
+ 
+ 	* config/sh/sh-protos.h (sh_va_arg): Remove.
+ 	* config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(sh_gimplify_va_arg_expr): Rewrite from sh_va_arg.
+ 	* config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/pa/pa-protos.h (hppa_va_arg): Remove.
+ 	* config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg.
+ 	* config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove.
+ 	* config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg.
+ 	* config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (return): Rewrite length formula.
+ 	* config/sparc/sparc.c (output_return): Pass 1 as 5th
+ 	argument to final_scan_insn when in a delay slot.
+ 	(output_sibcall): Likewise.
+ 
+ 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_cpp_interwork): New variable.
+ 	(arm_override_options): Set it if TARGET_INTERWORK was on the command
+ 	line.
+ 	* arm.h (arm_cpp_interwork): Declare it.
+ 	(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
+ 	__THUMB_INTERWORK__ in the preprocessor.
+ 
+ 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
+ 
+ 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16416
+ 	* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
+ 	Override default settings to account for -m32 and -m64.
+ 
+ 2004-07-08  Randolph Chung  <tausq@debian.org>
+ 
+ 	* pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 
+ 2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* builtins.c (fold_builtin_strncpy): Make sure len is a constant
+ 	before comparing it as such.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
+ 	temporary.  Use bit arithmetic to align.
+ 
+ 2004-07-08  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p,
+ 	nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P,
+ 	NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
+ 	* bb-reorder.c (mark_bb_for_unlikely_executed_section,
+ 	add_labels_and_missing_jumps, find_jump_block,
+ 	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
+ 	Likewise.
+ 	* bt-load.c (btr_referenced_p, compute_defs_uses_and_gen,
+ 	link_btr_uses, move_btr_def): Likewise.
+ 	* builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto,
+ 	expand_builtin_expect_jump): Likewise.
+ 	* caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise.
+ 	* calls.c (expand_call, emit_library_call_value_1): Likewise.
+ 	* cfganal.c (forwarder_block_p): Likewise.
+ 	* cfgbuild.c (inside_basic_block_p, count_basic_blocks,
+ 	make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1,
+ 	find_bb_boundaries): Likewise.
+ 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
+ 	merge_blocks_move_predecessor_nojumps,
+ 	merge_blocks_move_successor_nojumps, insns_match_p,
+ 	flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+ 	try_optimize_cfg): Likewise.
+ 	* cfgexpand.c (expand_block, construct_exit_block): Likewise.
+ 	* cfglayout.c (skip_insns_after_block, label_for_bb,
+ 	record_effective_endpoints, insn_locators_initialize,
+ 	fixup_reorder_chain, update_unlikely_executed_notes): Likewise.
+ 	* cfgmainloop.c (create_loop_notes): Likewise.
+ 	* cfgrtl.c (delete_insn, delete_insn_chain,
+ 	create_basic_block_structure, rtl_delete_block, free_bb_for_insn,
+ 	update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks,
+ 	block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
+ 	redirect_branch_edge, force_nonfallthru_and_redirect,
+ 	rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p,
+ 	rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb,
+ 	update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info,
+ 	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
+ 	cfg_layout_delete_block, cfg_layout_can_merge_blocks_p,
+ 	cfg_layout_merge_blocks, rtl_block_ends_with_call_p,
+ 	need_fake_edge_p, rtl_flow_call_edges_add): Likewise.
+ 	* combine.c (combine_instructions, can_combine_p, try_combine,
+ 	find_split_point, record_dead_and_set_regs, reg_dead_at_p,
+ 	distribute_notes, distribute_links, insn_cuid): Likewise.
+ 	* cse.c (fold_rtx, cse_insn, cse_around_loop,
+ 	invalidate_skipped_block, cse_set_around_loop,
+ 	cse_end_of_basic_block, cse_main, cse_basic_block,
+ 	cse_condition_code_reg): Likewise.
+ 	* cselib.c (cselib_process_insn): Likewise.
+ 	* ddg.c (create_ddg): Likewise.
+ 	* df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify):
+ 	Likewise.
+ 	* dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug,
+ 	gen_label_die, dwarf2out_var_location): Likewise.
+ 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn,
+ 	next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn,
+ 	last_call_insn, active_insn_p, next_label, prev_label,
+ 	link_cc0_insns, next_cc0_user, try_split, add_insn_after,
+ 	add_insn_before, remove_insn, add_function_usage_to,
+ 	reorder_insns, find_line_note, remove_unnecessary_notes,
+ 	emit_insn_after_1, classify_insn): Likewise.
+ 	* except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before,
+ 	connect_post_landing_pads, sjlj_mark_call_sites,
+ 	sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers,
+ 	can_throw_internal, can_throw_external, set_nothrow_function_flags,
+ 	convert_to_eh_region_ranges): Likewise.
+ 	* explow.c (optimize_save_area_alloca): Likewise.
+ 	* expr.c (expand_expr_real): Likewise.
+ 	* final.c (insn_current_reference_address, compute_alignments,
+ 	shorten_branches, final, scan_ahead_for_unlikely_executed_note,
+ 	final_scan_insn, output_asm_label, leaf_function_p): Likewise.
+ 	* flow.c (first_insn_after_basic_block_note, delete_dead_jumptables,
+ 	propagate_block_delete_insn, propagate_one_insn,
+ 	init_propagate_block_info, propagate_block, libcall_dead_p,
+ 	mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment):
+ 	Likewise.
+ 	* function.c (instantiate_virtual_regs,	reorder_blocks_1,
+ 	expand_function_start, expand_function_end, contains,
+ 	thread_prologue_and_epilogue_insns,
+ 	reposition_prologue_and_epilogue_notes): Likewise.
+ 	* gcse.c (constprop_register, bypass_conditional_jumps,
+ 	insert_insn_end_bb, gcse_after_reload): Likewise.
+ 	* genemit.c (gen_expand, gen_split): Likewise.
+ 	* genpeep.c (gen_peephole, main): Likewise.
+ 	* global.c (build_insn_chain): Likewise.
+ 	* graph.c (node_data, print_rtl_graph_with_bb): Likewise.
+ 	* haifa-sched.c (unlink_other_notes, unlink_line_notes,
+ 	get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes,
+ 	restore_line_notes, rm_redundant_line_notes, rm_other_notes,
+ 	ok_for_early_queue_removal, set_priorities, sched_init): Likewise.
+ 	* ifcvt.c (count_bb_insns, first_active_insn, last_active_insn,
+ 	cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block,
+ 	merge_if_block, block_jumps_and_fallthru_p, find_if_block,
+ 	dead_or_predicable): Likewise.
+ 	* integrate.c (try_constants): Likewise.
+ 	* jump.c (rebuild_jump_labels, cleanup_barriers,
+ 	purge_line_number_notes, init_label_info, mark_all_labels,
+ 	squeeze_notes, get_label_before, get_label_after,
+ 	reversed_comparison_code_parts, simplejump_p, pc_set,
+ 	returnjump_p, onlyjump_p, follow_jumps, mark_jump_label,
+ 	delete_barrier, delete_prior_computation, delete_computation,
+ 	delete_related_insns, delete_for_peephole, redirect_jump):
+ 	Likewise.
+ 	* lcm.c (optimize_mode_switching): Likewise.
+ 	* local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc):
+ 	Likewise.
+ 	* loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise.
+ 	* loop-invariant.c (find_exits, find_invariants_bb): Likewise.
+ 	* loop-iv.c (simplify_using_assignment): Likewise.
+ 	* loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg,
+ 	libcall_benefit, skip_consec_insns, move_movables, prescan_loop,
+ 	find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop,
+ 	loop_bivs_init_find, strength_reduce, check_insn_for_bivs,
+ 	check_insn_for_givs, check_final_value, update_giv_derive,
+ 	basic_induction_var, product_cheap_p, check_dbra_loop,
+ 	loop_insn_first_p, last_use_this_basic_block,
+ 	canonicalize_condition, get_condition, loop_regs_scan, load_mems,
+ 	try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise.
+ 	* modulo-sched.c (doloop_register_get, find_line_note, sms_schedule,
+ 	sms_schedule_by_order): Likewise.
+ 	* optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise.
+ 	* postreload.c (reload_cse_simplify_operands, reload_combine,
+ 	reload_cse_move2add): Likewise.
+ 	* predict.c (can_predict_insn_p, estimate_probability,
+ 	expected_value_to_br_prob, process_note_predictions): Likewise.
+ 	* print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise.
+ 	* profile.c (branch_prob): Likewise.
+ 	* ra-build.c (live_out_1, livethrough_conflicts_bb,
+ 	detect_webs_set_in_cond_jump): Likewise.
+ 	* ra-debug.c (ra_print_rtx_object, ra_debug_insns,
+ 	ra_print_rtl_with_bb): Likewise.
+ 	* ra-rewrite.c (insert_stores, rewrite_program2): Likewise.
+ 	* recog.c (next_insn_tests_no_inequality, find_single_use,
+ 	split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise.
+ 	* reg-stack.c (next_flags_user, record_label_references,
+ 	emit_swap_insn, swap_rtx_condition, subst_stack_regs,
+ 	compensate_edge, convert_regs_1): Likewise.
+ 	* regclass.c (scan_one_insn): Likewise.
+ 	* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
+ 	regmove_optimize, fixup_match_1, single_set_for_csa,
+ 	combine_stack_adjustments_for_block): Likewise.
+ 	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise.
+ 	* reload.c (find_reloads, find_reloads_address_1, subst_reloads,
+ 	find_equiv_reg): Likewise.
+ 	* reload1.c (reload, calculate_needs_all_insns, set_label_offsets,
+ 	reload_as_needed, emit_input_reload_insns, do_output_reload,
+ 	delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges):
+ 	Likewise.
+ 	* reorg.c (find_end_label, emit_delay_sequence,
+ 	delete_from_delay_slot, delete_scheduled_jump, optimize_skip,
+ 	get_jump_flags, rare_destination, mostly_true_jump,
+ 	try_merge_delay_insns, redundant_insn, own_thread_p,
+ 	fill_simple_delay_slots, fill_slots_from_thread,
+ 	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
+ 	dbr_schedule): Likewise.
+ 	* resource.c (find_basic_block, next_insn_no_annul,
+ 	find_dead_or_set_registers, mark_target_live_regs): Likewise.
+ 	* rtl.h (RTX_PREV): Likewise.
+ 	* rtlanal.c (global_reg_mentioned_p, no_labels_between_p,
+ 	no_jumps_between_p, reg_used_between_p, reg_referenced_between_p,
+ 	reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage,
+ 	find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1,
+ 	tablejump_p, computed_jump_p, insns_safe_to_move_p,
+ 	find_first_parameter_load, can_hoist_insn_p): Likewise.
+ 	* sched-deps.c (get_condition, add_dependence, sched_analyze_2,
+ 	sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise.
+ 	* sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns,
+ 	schedule_ebbs): Likewise.
+ 	* sched-rgn.c (is_cfg_nonregular, find_conditional_protection,
+ 	is_conditionally_protected, can_schedule_ready_p,
+ 	add_branch_dependences, debug_dependencies): Likewise.
+ 	* stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable):
+ 	Likewise.
+ 	* unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p,
+ 	reg_dead_after_loop, loop_find_equiv_value, loop_iterations,
+ 	set_dominates_use, ujump_to_loop_cont): Likewise.
+ 	* var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise.
+ 	* varasm.c (output_constant_pool_1): Likewise.
+ 
+ 2004-07-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-scalar-evolution.c: New file.
+ 	* tree-scalar-evolution.h: New file.
+ 	* tree-ssa-loop-niter.c: New file.
+ 	* Makefile.in (SCEV_H): New.
+ 	(tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files.
+ 	* cfgloop.h (struct loop): Add bounds field.
+ 	* tree-flow.h (struct tree_niter_desc): New type.
+ 	(number_of_iterations_cond, number_of_iterations_exit,
+ 	loop_niter_by_eval, find_loop_niter_by_eval,
+ 	estimate_numbers_of_iterations, can_count_iv_in_wider_type,
+ 	free_numbers_of_iterations_estimates): Declare.
+ 	* tree.h (lower_bound_in_type, upper_bound_in_type): Declare.
+ 	* params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter.
+ 	* doc/invoke.texi (max-iterations-to-track): Document.
+ 
+ 2004-07-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
+ 	* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
+ 	(MODE_AFTER): Add cast appropriately.
+ 	* config/sh/sh.md (movdi splitter): Likewise.
+ 	(casesi_worker_2): Add const qualifier appropriately.
+ 	(eh_return): Remove unused variable.
+ 	(insv): Initialize v;
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
+ 	* config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
+ 	* config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 	(FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.
+ 
+ 	* config/m32r/m32r-protos.h (m32r_va_arg): Remove.
+ 	* config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
+ 	* config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
+ 	* config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
+ 	* config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
+ 	* config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
+ 	* config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/i860/i860-protos.h (i860_va_arg): Remove.
+ 	* config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
+ 	* config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-05-31  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+ 
+ 	* system.h: Prototype getpagesize if missing.
+ 	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/fr30/fr30-protos.h (fr30_va_arg): Remove.
+ 	* config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(fr30_gimplify_va_arg_expr): New.
+ 	(fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
+ 	* config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/16414
+ 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
+ 	of asm_noperands result.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
+ 	* config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
+ 	* config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (ind_gimplify_va_arg_expr): New.
+ 	* tree.h (ind_gimplify_va_arg_expr): Declare.
+ 	* config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.
+ 
+ 2004-07-08  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* expmed.c (extract_bit_field): Correct condition to use vec_extract
+ 	patterns also on vector elements other than the first one.
+ 	* config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
+ 	break statements.
+ 
+ 2004-07-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin-ldouble.c: Correct reference
+ 	to the Linnainmaa paper.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/arc/arc-protos.h (arc_va_arg): Remove.
+ 	* config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
+ 	* config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
+ 	* config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 	(c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
+ 	* config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.
+ 
+ 2004-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
+ 
+ 2004-07-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (static_ctors, static_dtors): Make static.
+ 	(pop_file_scope): Call c_common_write_pch and
+ 	cgraph_finalize_compilation_unit here.
+ 	(build_cdtor): Moved here from c-objc-common.c; simplify.
+ 	(c_write_global_declarations_1): Clarify comment.
+ 	(c_write_global_declarations): Close the external scope before
+ 	doing anything else.  Call build_cdtor, cgraph_optimize, and
+ 	mudflap_finish_file here.
+ 	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
+ 	Clarify comment.
+ 	* c-objc-common.c: No need to include cgraph.h.
+ 	(build_cdtor): Moved to c-decl.c.
+ 	(c_objc_common_finish_file): Delete.
+ 	* c-tree.h: Update to match.
+ 	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
+ 	(generate_static_references): Set TREE_USED before calling finish_decl.
+ 	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
+ 	on the static_instances_decl.
+ 
+ 2004-07-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
+ 	decls when there is only one input translation unit.
+ 	* langhooks.c (lhd_set_decl_assembler_name): Partially revert
+ 	change of 2004-07-05; do not treat declarations with
+ 	DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
+ 	* opts.c (cur_in_fname): Delete.
+ 	* opts.h: Likewise.
+ 	* tree.c: Revert changes of 2004-07-05; no special treatment
+ 	for TRANSLATION_UNIT_DECLs.
+ 	* Makefile.in (tree.o): Update dependencies.
+ 
+ 2004-07-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_strcpy): Merge functionality from
+ 	simplify_builtin_strcpy.  Add additional len argument.  No longer
+ 	static.  Remove function prototype.
+ 	(fold_builtin_strncpy): Likewise integrate functionality from
+ 	simplify_builtin_strncpy.  Add additional slen argument.  No
+ 	longer static.  Remove function prototype.
+ 	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
+ 	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
+ 	types of "ignore" and "unlocked" parameters to bool.
+ 	(fold_builtin_1):  Add additional ignore argument.  Call renamed
+ 	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
+ 	builtins.  Update arguments to fold_builtin_strncpy and
+ 	fold_builtin_strcpy.  Add function prototype.
+ 	(fold_builtin): Add additional Boolean ignore argument to pass
+ 	to fold_builtin_1.
+ 	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
+ 	and fold_builtin_strncpy instead of simplify_builtin_fputs,
+ 	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.
+ 
+ 	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
+ 	simplify_builtin_strncpy): Delete function prototypes.
+ 	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
+ 	fold_builtin_strncpy): Add function prototypes here.
+ 	(fold_builtin): Update function prototype with new "bool ignore".
+ 
+ 	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
+ 	(ccp_fold_builtin):  Update call to fold_builtin.  Call
+ 	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
+ 	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
+ 	simplify_builtin_strncpy respectively.
+ 	* fold-const.c (fold): Update call to fold_builtin.
+ 
+ 2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
+ 	to strcpy.
+ 
+ 	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
+ 	(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
+ 	(FUNCTION_ARG_CALLEE_COPIES): Likewise.
+ 	* calls.c: Remove ifdefs of macros above.
+ 	* functions.c: Likewise.
+ 	* expr.c: Likewise.
+ 
+ 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
+ 	(arch attribute): Delete.
+ 	(current_function_calls_alloca attribute): Rename into calls_alloca.
+ 	(calls_eh_return): New attribute.
+ 	(leaf_function): Likewise.
+ 	(length attribute): Fix formula for sibcalls.
+ 	(return insn): Correctly compute the 'length' attribute.
+ 	(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-cfg.c (make_exit_edges): Use get_call_expr_in.
+ 	(remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
+ 	(tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
+ 	* tree-eh.c (lower_eh_constructs_1): Likewise.
+ 	* tree-sra.c (sra_walk_modify_expr): Likewise.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+ 	(eliminate_unnecessary_stmts): Likewise.
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Likewise.
+ 	* tree-tailcall.c (optimize_tail_call): Likewise.
+ 	* tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.
+ 
+ 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Enable
+ 	SSE prefetches with -mtune, as long as we are
+ 	compiling for i686 or higher.  All i686 processors
+ 	accept SSE prefetches as NOPS, some i586's don't.
+ 
+ 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/10567
+ 	* config/sparc/sparc.md (update_return): Honor flag_delayed_branch.
+ 
+ 2004-07-08  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
+ 	the handling of clobbering ASM_EXPRs.
+ 
+ 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16430
+ 	* config/sparc/sparc.c (function_value): In 64-bit mode,
+ 	return the aggregates larger than 16 bytes like unions.
+ 
+ 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/16199
+ 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
+ 	'temp' is zero, generate new pseudos as needed and emit the
+ 	sequence of insns in single-assignment form.  Resync comments
+ 	with code.
+ 	(sparc_emit_set_const64): Pass zero as 'temp' argument to above
+ 	function before reload.
+ 
+ 2004-07-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.c (vec_assert_fail): Remove duplicate 'function'.
+ 
+ 	* vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed.
+ 
+ 	* vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init):
+ 	Allocation is signed.
+ 	(VEC_reserve): Return flag, allocation is signed.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-ccp.c (fold_stmt): Get type directly from
+ 	OBJ_TYPE_REF_OBJECT.
+ 
+ 2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 	    Neil Booth  <neil@daikokuya.co.uk>
+ 
+ 	PR c/2511
+ 	PR c/3325
+ 	* c-decl.c (finish_struct): Ensure bit-fields are given the
+ 	correct type.
+ 	* c-common.c (c_common_signed_or_unsigned_type): For C, require
+ 	the precision to match as well as the mode.
+ 	* expr.c (reduce_to_bit_field_precision): New function.
+ 	(expand_expr_real_1): Reduce expressions of bit-field type to
+ 	proper precision.
+ 	* langhooks.h (reduce_bit_field_operations): New hook.
+ 	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
+ 	Define.
+ 	* c-lang.c, objc/objc-lang.c
+ 	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
+ 	* objc/objc-act.c (check_ivars): Convert types to bit-field types
+ 	before checking.
+ 	* tree.c (build_nonstandard_integer_type): New function.
+ 	* tree.h (build_nonstandard_integer_type): New prototype.
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
+ 	conversions between integer and boolean types as useless.
+ 
+ 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-common.c (c_common_nodes_and_builtins): Do not
+ 	create __builtin_ptrdiff_t and __builtin_size_t.
+ 
+ 2004-07-08  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* Makefile.in (libbackend.o): Add -combine to the gcc
+ 	command line.
+ 
+ 2004-07-08  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define.
+ 	Set to -Os.
+ 
+ 2004-07-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* except.c (expand_eh_region_start, expand_eh_region_end,
+ 	expand_eh_handler, expand_eh_region_end_cleanup,
+ 	expand_start_all_catch, expand_start_catch, expand_end_catch,
+ 	expand_end_all_catch, expand_eh_region_end_allowed,
+ 	expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
+ 	expand_eh_region_end_fixup): Remove.
+ 	* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
+ 	cleanups, outer_cleanups, label_chain, exception_region.
+ 	(struct goto_fixup): Remove stack_level, cleanup_list_list.
+ 	(struct label_chain): Remove.
+ 	(struct stmt_status): Remove x_stack_block_stack.
+ 	(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
+ 	fixup_gotos, save_stack_pointer, expand_decl_cleanup,
+ 	expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
+ 	end_cleanup_deferral, last_cleanup_this_contour,
+ 	containing_blocks_have_cleanups_or_stack_level,
+ 	any_pending_cleanups): Remove.
+ 	(expand_null_return_1): Take no arguments.
+ 	(expand_label, expand_naked_return, expand_return,
+ 	expand_start_bindings_and_block, expand_end_bindings, expand_decl,
+ 	expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
+ 	expand_end_case_type): Don't use any of them.
+ 	* calls.c (expand_call): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* function.c (expand_function_end): Likewise.
+ 	* expr.c (store_expr, expand_expr_real_1): Likewise.
+ 	(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
+ 	(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
+ 	CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
+ 	EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
+ 	* fold-const.c (fold_checksum_tree): Use first_rtl_op.
+ 	* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
+ 	* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
+ 	for WITH_CLEANUP_EXPR.
+ 	(gimple_push_cleanup): Likewise.
+ 	* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
+ 	* print-tree.c (print_node): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
+ 	* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
+ 	(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
+ 	* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
+ 	(GOTO_SUBROUTINE_EXPR): Remove.
+ 	* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
+ 	(DECL_TOO_LATE): Remove.
+ 	* except.h, tree.h: Update decls.
+ 
+ 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* explow.c (optimize_save_area_alloca): Do not accept parameters.
+ 	* passes.c (rest_of_handle_final): Handle symout.
+ 	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc):
+ 	Push timevar here.
+ 	(rest_of_handle_sched): Break out SMS.  Remove ifs for
+ 	flag_schedule_insns and flag_modulo_sched.
+ 	(rest_of_handle_addressof, rest_of_handle_cse2): Garbage
+ 	collect at the end.
+ 	(rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS.
+ 	(rest_of_handle_partition_blocks, rest_of_handle_sms,
+ 	rest_of_handle_if_after_reload, rest_of_handle_peephole2,
+ 	rest_of_handle_mode_switching, rest_of_handle_jump,
+ 	rest_of_handle_guess_branch_prob, rest_of_handle_eh,
+ 	rest_of_handle_jump2, rest_of_handle_postreload,
+ 	rest_of_handle_flow2, rest_of_clean_state,
+ 	rest_of_handle_shorten_branches,
+ 	rest_of_handle_prologue_epilogue,
+ 	rest_of_handle_branch_target_load_optimize): New.
+ 	(rest_of_compilation): Call the above.  Remove ggc_collect
+ 	calls moved to rest_of_handle_*.
+ 	* rtl.h (optimize_save_area_alloca): Do not accept parameters.
+ 
+ 	* dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW.
+ 	* except.c (set_nothrow_function_flags): Set TREE_NOTHROW.
+ 	* except.h (set_nothrow_function_flags): Update comment.
+ 	* function.c (current_function_nothrow): Remove.
+ 	* output.h (current_function_nothrow): Remove.
+ 	* passes.c (rest_of_compilation): Do not set TREE_NOTHROW.
+ 	* config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW.
+ 
+ 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/16326
+ 	* reorg.c: Revert 2004-06-30 change.
+ 	(find_end_label): If HAVE_epilogue and !HAVE_return,
+ 	return 0 instead of creating a label at the end of the insn chain.
+ 	(optimize_skip): Account for the failure mode of find_end_label.
+ 	(fill_simple_delay_slots): Likewise.
+ 	(fill_slots_from_thread): Likewise.
+ 	(relax_delay_slots): Likewise.
+ 
+ 2004-07-08  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-flow.h (addressable_vars): Declare.
+ 	* tree-ssa-alias.c (addressable_vars): Define.
+ 	(setup_pointers_and_addressables): Add addressable variables
+ 	to addressable_vars.
+ 	* tree-ssa-operands.c (get_stmt_operands): Move
+ 	handling of ASM_EXPRs ...
+ 	(get_asm_expr_operands): ... here.
+ 	When the ASM_EXPR clobbers memory, also clobber addressable
+ 	variables.
+ 	* tree-ssa.c (init_tree_ssa): Initialize addressable_vars.
+ 	(delete_tree_ssa): Reset addressable_vars.
+ 
+ 2004-07-07  Jan Beulich  <jbeulich@novell.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (assemble_variable): Use assemble_zeros for
+ 	zero-initialized variables.
+ 	(categorize_decl_for_section): Honor flag_zero_initialized_in_bss
+ 	for SECCAT_BSS and SECCAT_TBSS.
+ 
+ 2004-07-07  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP.
+ 
+ 	* expmed.c (emit_store_flag): Also special-case double-word
+ 	(in-)equality comparison against -1.
+ 
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for
+ 	passing arguments the containers for which are registers.
+ 
+ 	* calls.c (emit_library_call_value_1): Use mode of function parameter
+ 	rather than that of argument since constants have none.
+ 
+ 2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	Introduce H8SX support.
+ 	* expr.c (expand_strcpy): Renamed and moved to...
+ 	* builtins.c (expand_movstr): ... here.  Tweak.
+ 	(expand_builtin_strcpy): Adjust.  Use movstr if len can't be
+ 	computed or has side effects.
+ 	(expand_builtin_stpcpy): Likewise.  Use strcpy if return value is
+ 	unused, or if mempcpy fails.  Adjust the return value in the
+ 	latter case.  Use movstr if everything else fails.
+ 	* doc/md.texi (movstr): Document.
+ 	(movmemM, clrmemM): Fix explanation of memory block operands.
+ 	* config/h8300/h8300.md (stpcpy): Renamed to...
+ 	(movstr): ... this.  Adjust.
+ 	2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.md: Rename movstr*, except for movstrict*, to
+ 	movmem* and clrstr* to clrmem*.
+ 	2004-06-27  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to
+ 	GENERAL_REGS, always.
+ 	(h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of
+ 	getting the stack pointer as addr.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes
+ 	from general_operand_dst.
+ 	* config/h8300/h8300.md (movmd_internal_normal): New, normal-mode
+ 	variant of...
+ 	(movmd_internal): ... this.  Add modes to operands.  Disparage `D'
+ 	instead of requiring it to match only before reload.
+ 	(stpcpy_internal_normal): New, normal-mode variant of...
+ 	(stpcpy_internal): ... this.  Add modes to operands.  Disparage
+ 	`D' instead of requiring it to match only before reload.
+ 	* config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add
+ 	mode argument.
+ 	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to...
+ 	* config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to
+ 	h8300_get_index.
+ 	* config/h8300/h8300.md (attr type): Add call.
+ 	(attr can_delay): If type is call, set it no.
+ 	(call, call_value): Set type to call.
+ 	2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New.
+ 	2004-06-16  Alexandre Oliva  <aoliva@redhat.com>
+ 	* tree.c (get_narrower): Don't narrow integral types into
+ 	non-integral types.
+ 	* config/h8300/h8300.c (h8300_expand_epilogue): Initialize
+ 	frame_size *before* the first use.
+ 	* config/h8300/h8300.md (movstrictqi): Reintroduce post-increment
+ 	on input.
+ 	(peephole2): Don't widen instructions that push SP.  Move
+ 	decrement of SP to the end of all stm-generating peepholes.
+ 	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield
+ 	and OR to set it to all ones.
+ 	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (can_delay): Default to "no" for bit branches.
+ 	(call, call_value): Set can_delay to "no".
+ 	2003-07-22  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (extzv): Make subreg check more robust.
+ 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (*brabit): Remove.
+ 	* config/h8300/h8300.md (*brabc, *brabs): Remove mode from
+ 	zero_extract.  Use bit_memory_operand as the predicate for
+ 	operand 1 and 'WU' as the constraint.  Check the difference
+ 	between the base length and the final one when deciding which
+ 	type of branch to use.
+ 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1.
+ 	Use convert_move to extend the result for TARGET_H8300SX.  Check
+ 	for QImode memory references.  Optimize the case where the
+ 	destination is a paradoxical subreg.
+ 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative.
+ 	* config/h8300/h8300.md (andqi): Remove bclr from h8sx version.
+ 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.md: Include mova.md
+ 	(length_table): Add mova and mova_zero.
+ 	* config/h8300/h8300.c (print_operand): Handle '%o'.  Print a length
+ 	after all constant addresses for '%R', '%X', '%T' and '%S'.
+ 	(h8300_mova_length): New function.
+ 	(h8300_insn_length_from_table): Use it to handle mova and mova_zero.
+ 	* config/h8300/t-h8300 (mova.md): Generate from genmova.sh.  Add to
+ 	dependencies for s-config, etc.
+ 	* config/h8300/gemova.sh: New file.
+ 	* config/h8300/mova.md: Generated.
+ 	2003-07-20  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (h8300_bitfield_length): New.
+ 	(nibble_operand): Adjust.
+ 	(h8300_binary_length): Handle conditional binary op.
+ 	(h8300_insn_length_from_table): Handle bitfield and bitbranch.
+ 	* config/h8300/h8300.h: Change constraints W# and Y# to P#>X and
+ 	P#<X, respectively.  The original P is now IP4>X.  Introduced P#>0
+ 	and P#<0, unused so far.  W and Y are now prefixes to multi-letter
+ 	constraints.  WU is introduced as a variant of U that requires a
+ 	mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT.
+ 	* config/h8300/h8300.md (attr type): Added bitbranch.
+ 	(attr length_table): Added bitfield and bitbranch.
+ 	(attr length): Compute bitbranch length.
+ 	(andqi): Separate pattern for H8300SX.  Use bfld for loading the
+ 	least-significant bit of a byte.
+ 	(brabit, brabc, brabs): New.
+ 	(insv, extzv): Emit bfst and bfld on H8300SX.
+ 	(bfld, bfst, seq, sne): New.
+ 	(bstzhireg, cmpstz, bstz, bistz): New.
+ 	(cmpcondbset, condbset, cmpcondbclr, condbclr): New.
+ 	(cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New.
+ 	2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c (h8sx_binary_memory_operator): New function.
+ 	(h8sx_unary_memory_operator): New function.
+ 	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable.
+ 	(PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator.
+ 	* config/h8300/h8300.md: Add peepholes to combine reloads and
+ 	arithmetic insns.
+ 	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints.
+ 	(*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise.
+ 	(and?i, ior?i, xor?i): Likewise.
+ 	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c: Move enums and prototypes to head of file.
+ 	Various whitespace fixes.
+ 	(h8300_constant_length): New function, split out from...
+ 	(h8300_displacement_size): ...here.  Rename h8300_displacement_length.
+ 	(h8300_classify_operand): Use IN_RANGE.
+ 	(h8300_classify_operand): Use h8300_constant_length.
+ 	(h8300_short_move_mem_p): Tighten size check.
+ 	(h8sx_mergeable_memrefs_p): Tighten equality check.
+ 	2003-06-30  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__
+ 	for -msx.
+ 	* config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code.
+ 	* config/h8300/crtn.asm: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.  Use 32-bit pointers
+ 	if __H8300SX__ is defined.
+ 	2003-06-27  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter.
+ 	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed
+ 	addresses as mode-dependent.
+ 	* config/h8300/h8300.c (print_operand_address): Update call to
+ 	h8300_get_index.
+ 	(h8300_get_index): Take a mode argument.  Rework to fix an
+ 	earlier misunderstanding.
+ 	2003-06-26  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c (zero_extendqisi2): Force the source operand
+ 	into a register if TARGET_H8300SX.
+ 	(*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for
+ 	TARGET_H8300SX.  Also disable related define_splits.
+ 	(*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns.
+ 	2003-06-23  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling.
+ 	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.h (OK_FOR_Z): New macro.
+ 	(EXTRA_CONSTRAINT_STR): Check it.
+ 	* config/h8300/h8300.c (h8300_classify_operand): Accept null
+ 	class arguments.
+ 	(h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4.
+ 	* config/h8300/h8300.md (length_table): Add mov_imm4.
+ 	(movqi, movhi): Add Z <- W4 alternatives to h8sx patterns.
+ 	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
+ 	* genattrtab.c (write_eligible_delay): Allow candidate_insn to
+ 	be a label.
+ 	* config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro.
+ 	* config/h8300/h8300.c (h8300_reorg): New function.
+ 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
+ 	* config/h8300/h8300.md (length): Subtract the length of the
+ 	delay slot from (pc) when checking the range of forward branches.
+ 	(delay_slot, can_delay): New attributes.
+ 	(define_delay): Add bra/s handling.
+ 	(movmd_internal, return_h8sx, *return_1): Set can_delay to no.
+ 	(jump): Add delayed-branch handling.
+ 	2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
+ 	* expr.c (expand_strcpy): New function.
+ 	* builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy.
+ 	(expand_builtin_stpcpy): Likewise.
+ 	* config/h8300/h8300-protos.h (h8sx_split_movmd): Remove.
+ 	(h8300_swap_into_er6, h8300_swap_out_of_er6): Declare.
+ 	* config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd'
+ 	handling to improve register allocation for -fno-omit-frame-pointer.
+ 	(h8sx_split_movmd): Delete, moving er6 handling into...
+ 	(h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions.
+ 	* config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant.
+ 	(movmd): Add calls to copy_rtx.
+ 	(movmd_internal): In the second alternative, allow the initial and
+ 	final destination registers to be different .  Update the splitter
+ 	accordingly.  Call h8300_swap_into_er6 and h8300_swap_out_of_er6
+ 	instead of h8sx_split_movmd.
+ 	(stpcpy, movsd): New expanders.
+ 	(movsd_internal): New define_insn.
+ 	2003-06-13  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare.
+ 	(h8sx_emit_movmd, h8sx_split_movmd): Declare.
+ 	* config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS
+ 	and DESTINATION_REGS.
+ 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
+ 	(REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes.
+ 	(REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter.
+ 	(h8300_move_ratio): Declare.
+ 	(MOVE_RATIO): Use it.
+ 	* config/h8300/h8300.c (h8300_move_ratio): New variable.
+ 	(h8300_init_once): Initialize it.
+ 	(h8300_reg_class_from_letter): New function.
+ 	(print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l".
+ 	(h8sx_emit_movmd, h8sx_split_movmd): New functions.
+ 	* config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant.
+ 	(COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants.
+ 	(movstrsi, movmd): New expanders.
+ 	(movmd_internal): New insn.
+ 	2003-06-06  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define.
+ 	2003-06-04  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn.
+ 	* config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise.
+ 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c (nibble_operand): Fix warning.
+ 	* config/h8300/h8300.md (movstricthi): Set adjust_length to no.
+ 	(movsi_h8sx): Likewise here and the normal h8sx movhi pattern.
+ 	(movsf_h8300h): Disable for TARGET_H8300SX.
+ 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel,
+ 	h8300_stm_parallel and h8300_return_parallel.
+ 	* config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p,
+ 	h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel,
+ 	h8300_stm_parallel, h8300_return_parallel): New functions.
+ 	(h8300_expand_prologue): Don't enforce ldm/stm register alignment
+ 	if TARGET_H8300SX.  Use h8300_push_pop.
+ 	(h8300_expand_epilogue): Likewise.  Try to merge the return insn
+ 	and final pop when generating h8sx code.  Always emit some form
+ 	of return insn.
+ 	* config/h8300/h8300.md: Don't enforce register alignment in
+ 	stm peepholes if TARGET_H8300SX.
+ 	(ldm_h8300s, stm_h8300s, return_h8sx): New patterns.
+ 	(ldm_h8300s_[234], stm_h8300_[234]): Disable.
+ 	(epilogue): Expect h8300_expand_epilogue to emit a return insn.
+ 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib.
+ 	(MULTILIB_DIRNAMES): Add a directory for it.
+ 	(MULTILIB_MATCHES): Delete.
+ 	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
+ 	* final.c (walk_alter_subreg): Handle addresses with subregs
+ 	inside a ZERO_EXTEND or AND.
+ 	* config/h8300/h8300-protos.h (h8300_get_index): Declare.
+ 	* config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS
+ 	if TARGET_H8300SX.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index.
+ 	* config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b),
+ 	@(dd,Rn.w) and @(dd,ERn.L).
+ 	(h8300_displacement_size): Take the whole address as argument.
+ 	(h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly.
+ 	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/mips/mips-protos.h (h8300_operands_match_p): Declare.
+ 	(h8sx_mergeable_memrefs_p): Declare.
+ 	* config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX.
+ 	(HAVE_PRE_INCREMENT): Likewise.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement
+ 	addresses for TARGET_H8300SX,
+ 	* config/h8300/h8300.c (print_operand_address): Deal with PRE_INC
+ 	and POST_DEC.
+ 	(movb_length_table, movl_length_table): New tables.
+ 	(movw_length_table): Define to movb_length_table.
+ 	(h8300_displacement_size): New, split out from...
+ 	(h8300_classify_address): ...here.  Handle pre/post inc/dec.
+ 	(h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands.
+ 	(h8300_insn_length_from_table): Add cases for movb, movw and movl.
+ 	(h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions.
+ 	(output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx.
+ 	(compute_plussi_length, compute_plussi_cc): Update accordingly.
+ 	(h8sx_unary_shift_operator): Get the mode from the operator.
+ 	(binary_shift_operator): Likewise.
+ 	* config/h8300/h8300.md: If a peephole2 applies gen_lowpart to
+ 	a memory reference, check whether the reference is offsettable.
+ 	(length_table): Add movb, movw and movl.
+ 	(movqi): Add new h8sx pattern.  Don't force one operand to be a
+ 	register when generating h8sx code.
+ 	(movhi, movsi, movsf): Likewise.
+ 	(movstrictqi): Use the length_table attribute.
+ 	(movstricthi): Likewise.  Add h8sx alternative for mov.w #xx:3,Rn.
+ 	(addqi3): Split into a define_expand and define_insn.  Don't accept
+ 	memory operands in the expander.  Use h8300_operands_match_p to
+ 	check for matching operands in the define_insn.
+ 	(subqi3, negqi2, one_cmplqi2): Likewise.
+ 	(add[hs]i3): Don't accept memory operands in the expander.  Likewise
+ 	in any patterns that are unused in h8sx code.  In the h8sx patterns,
+ 	use h8300_operands_match_p to check whether operands match.
+ 	(sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3,
+ 	one_cmpl[hs]i3): Likewise.
+ 	(andqi3, iorqi3, xorqi3): Likewise.  Don't call fix_bit_operand
+ 	in the expander.
+ 	2003-05-23  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300-protos.h (expand_a_shift): Return a bool.
+ 	(h8300_insn_length_from_table): Add a second parameter.
+ 	(output_h8sx_shift): Declare.
+ 	* config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros.
+ 	(EXTRA_CONSTRAINT): Replace with...
+ 	(EXTRA_CONSTRAINT_STR): ...this.  Use OK_FOR_W and OK_FOR_Y.
+ 	(CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'.
+ 	(PREDICATE_CODES): Add entries for h8sx_unary_shift_operator
+ 	and h8sx_binary_shift_operator.
+ 	* config/h8300/h8300.c (two_insn_adds_subs_operand): Return false
+ 	for TARGET_H8300SX.
+ 	(bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U.
+ 	(bit_memory_operand, fix_bit_operand): Likewise.
+ 	(h8300_length_table_for_insn): Remove.
+ 	(h8300_classify_operand): Fix check for 16-bit operands in 32-bit
+ 	instructions.
+ 	(h8300_short_immediate_length, h8300_binary_length): New functions.
+ 	(h8300_insn_length_from_table): Add an opcodes parameter.  Rework.
+ 	(output_plussi): Use sub to add negative constants.
+ 	(compute_plussi_length): Adjust accordingly.
+ 	(h8sx_single_shift_type): New enum.
+ 	(h8sx_single_shift, h8sx_unary_shift_operator,
+ 	h8sx_binary_shift_operator, output_h8sx_shift): New functions.
+ 	(expand_a_shift, expand_a_rotate): Emit nothing if the shift is a
+ 	single h8sx instruction.  Return false in this case.
+ 	* config/h8300/h8300.md (length_table): Add short_immediate.
+ 	(length): Pass the operand array to h8300_insn_length_from_table.
+ 	(adjust_length): Assume "no" for insns with a length_table attribute.
+ 	(*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3.
+ 	(*addhi3_h8300hs): Don't use for h8sx.
+ 	(*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3
+ 	and sub.w #xx:3.
+ 	(ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand
+ 	1's predicate to nonimmediate_operand.  Only skip default expansion
+ 	if expand_a_shift or expand_a_rotate returns true.  Add new patterns
+ 	for single h8sx shift instructions.
+ 	2003-05-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (nibble_operand): Split out of...
+ 	(reg_or_nibble_operand): ... this.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand.
+ 	* config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3,
+ 	umulhisi3): Introduce expand, and introduce separate insns for
+ 	sign- or zero-extended REG and already-extended CONST_INT.
+ 	2003-05-20  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.c (h8300_unary_length): Fix miscounting.
+ 	* config/h8300/h8300.md (subqi3): Generalize for h8sx.
+ 	(subhi3): Likewise.  Don't accept immediates for operand 1.
+ 	Remove the early clobber from second alternative of the h8300s pattern.
+ 	(subsi3): Generalize for h8sx.  Force operand 2 into a register
+ 	on plain h8300 targets.
+ 	(subsi3_h8300): Use h8300_dst_operand for consistency with expander.
+ 	(subsi3_h8300h): Generalize for h8sx.
+ 	(one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise.
+ 	2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (reg_or_nibble_operand): New.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
+ 	(TARGET_H8300SXMUL): New.
+ 	(CONST_OK_FOR_P): New.
+ 	(CONST_OK_FOR_LETTER_P): Adjust.
+ 	* config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3,
+ 	umulhisi3): Accept 4-bit immediate on H8SX.
+ 	(mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New.
+ 	(udivsi3, divhi3, udivsi3, divsi3): New.
+ 	2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare.
+ 	* config/h8300/h8300.h (OK_FOR_Q): New macro.
+ 	(EXTRA_CONSTRAINT): Use it to check the 'Q' constraint.
+ 	(PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand.
+ 	Add ADDRESSOF to the bit_operand entry.
+ 	* config/h8300/h8300.c (h8300_dst_operand): New predicate.
+ 	(h8300_src_operand): Likewise.
+ 	(bit_operand): Check nonimmediate_operand rather than general_operand.
+ 	Accept any nonimmediate_operand in h8sx code.
+ 	(h8300_and_costs): Initialize operands[1].
+ 	(h8300_rtx_costs) <AND>: Return false if the operands aren't valid.
+ 	(h8300_operand_class): New enum.
+ 	(h8300_length_table): New typedef.
+ 	(addb_length_table, addw_length_table, addl_length_table,
+ 	logicl_length_table): New tables.
+ 	(logicb_length_table, logicw_length_table): New macros.
+ 	(h8300_classify_operand, h8300_length_from_table,
+ 	h8300_length_table_for_insn, h8300_unary_length,
+ 	h8300_insn_length_from_table): New functions.
+ 	(output_plussi): Only use adds and subs for register destinations.
+ 	Disable redundant clause.
+ 	(compute_plussi_cc): Likewise.
+ 	(compute_plussi_length): Likewise.  Use h8300_length_from_table
+ 	to work out the length of an insn.
+ 	(output_logical_op): Only use narrower immediate instructions
+ 	if the destination is a register.
+ 	(compute_logical_op_cc): Likewise.
+ 	(compute_logical_op_length): Likewise.  Use h8300_length_from_table.
+ 	(h8300_adjust_insn_length): Tighten check for reg<->mem moves.
+ 	* config/h8300/h8300.md (length_table): New attribute.
+ 	(length): When an instruction has a length_table attribute, use
+ 	h8300_insn_length_from_table to calculate its default length.
+ 	(cmpqi): Use h8300_dst_operand for the first operand and
+ 	h8300_src_operand for the second.
+ 	(cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2,
+ 	negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3,
+ 	addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3,
+ 	iorsi3, xorhi3, xorsi3): Likewise.
+ 	(andqi3): Use h8300_src_operand for operand 2.  Adjust the condition
+ 	so that it allows any combination of operands for TARGET_H8300SX.
+ 	(iorqi3, xorqi3): Likewise.
+ 	(cmpqi): Use the length_table attribute.
+ 	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3,
+ 	xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
+ 	(cmpqi): Add 'Q' constraint.
+ 	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3,
+ 	iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
+ 	2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/h8300/h8300.h (MASK_H8300SX): New macro.
+ 	(TARGET_H8300S): True for both -ms and -msx.
+ 	(TARGET_H8300SX): New macro.
+ 	(TARGET_SWITCHES): Add entries for -msx and -mno-sx.
+ 	* config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx.
+ 	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx.
+ 	* config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx.
+ 	[Temporary change.]
+ 	2003-02-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with
+ 	16-bit pointers and 32-bit ints.
+ 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept
+ 	CONST_DOUBLE with mode no wider than SImode.
+ 	* config/h8300/h8300.md (extendqisi2_h8300): Add constraints for
+ 	output operand.
+ 	2003-02-27  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX
+ 	or SUBREG thereof.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
+ 	2003-02-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/h8300/h8300.c (dosize): Truncate sign * size to Pmode.
+ 
+ 2004-05-28  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+ 
+ 	* config.gcc (i[34567]86-*-mingw32*): Enable threads by default.
+ 
+ 2004-07-07  Per Bothner  <per@bothner.com>
+ 
+ 	* flow.c (attempt_auto_inc):  Remove now-redundant PUT_CODE.
+ 
+ 2004-07-07  Mike Stump  <mrs@apple.com>
+ 
+ 	* darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.
+ 	* darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name)
+ 	(machopic_finish): Likewise.
+ 
+ 2004-07-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look
+ 	through any value-preserving cast.
+ 
+ 2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* function.c (assign_parm_find_data_types): Call
+ 	FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined.
+ 
+ 2004-07-07  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-cfg.c (group_case_labels): Remove case labels that have
+ 	the same target as the default case.
+ 
+ 2004-07-07  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS
+ 	regardless of DECL_LANG_SPECIFIC being present or not.
+ 	* tree.h (DECL_NUM_STMTS): Purge.
+ 
+ 2004-07-07  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* configure: Regenerate with the right autoconf.
+ 
+ 2004-07-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* ifcvt.c (total_bb_rtx_cost): New function.
+ 	(find_if_case_1): Compare rtx_cost of basic block to cost of
+ 	BRANCH_COST insns.
+ 	(find_if_case_2): Same.
+ 
+ 2004-07-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/10567
+ 	* config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch.
+ 	(output_return): Likewise.
+ 	(output_sibcall): Abort if !flag_delayed_branch.
+ 	(sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch.
+ 	(emit_and_preserve): New function.
+ 	(sparc_output_mi_thunk): Use it.  Honor flag_delayed_branch.  Emit an
+ 	indirect jump to the thunked-to function if !flag_delayed_branch.
+ 	* config/sparc/sparc.md (delayed_branch): New attribute.
+ 	(load_pcrel_sym): Honor flag_delayed_branch.  Use above
+ 	attribute to compute the length of the insn.
+ 	(goto_handler_and_restore): Likewise.
+ 
+ 2004-07-07  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR tree-optimization/15777
+ 	* fold-const.c (fold_single_bit_test): Fold the x^1 expression.
+ 
+ 	* expr.c (expand_expr_real_1): Fix formating.
+ 	BUFFER_REF and IN_EXPR are dead.
+ 	* fold-const.c (non_lvalue): BUFFER_REF is dead.
+ 	* tree-inline.c (estimate_num_insns_1): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): BUFFER_REF,
+ 	IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead.
+ 	* tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill.
+ 
+ 2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* collect2.c (dump_file): Don't call cplus_demangle if
+ 	HAVE_LD_DEMANGLE is defined.
+ 	(main): Pass "--demangle" to ld if no_demangle is not 0 and
+ 	HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style
+ 	if HAVE_LD_DEMANGLE is defined.
+ 
+ 	* configure.ac (--with-demangler-in-ld): Added
+ 	(HAVE_LD_DEMANGLE): Define if ld supports --demangle when
+ 	--with-demangler-in-ld is used.
+ 	* config.in: Regenerated.
+ 	* configure: Likewise.
+ 
+ 2004-07-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/rs6000.c (struct processor_costs): Add new fields
+ 	for simple floating point operations "fp", double precision
+ 	multiplication "dmul", and single and double precision division
+ 	"sdiv" and "ddiv".  Update all CPU variant tables as appropriate.
+ 	(ppc630_cost): New table split from ppc620_cost, to distinguish
+ 	differences in floating point latencies.
+ 	(rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630.
+ 	(rs6000_rtx_costs): Add support for single and double precision
+ 	floating point addition, subtraction, multiplication, division,
+ 	fused-multiply-add, fused-multiply-sub, negation, absolute value
+ 	and negative absolute value.  Tweak MEM case to use prefered idiom.
+ 
+ 2004-07-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-flow-inline.h (may_propagate_copy): Move...
+ 	* tree-ssa-copy.c (may_propagate_copy): ... here.  Fail if we
+ 	attempt to copy between types requiring conversion.
+ 	* tree-flow.h (may_propagate_copy): Update decl.
+ 	* tree-ssa-dom.c (cprop_operand): Tidy redundant tests.
+ 
+ 2004-07-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
+ 	from -mtune= option.
+ 
+ 2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* builtins.c: Rename movstr*, except for movstrict*, to
+ 	movmem* and clrstr* to clrmem*.
+ 	* expr.c: Likewise.
+ 	* expr.h: Likewise.
+ 	* genopinit.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* optabs.c: Likewise.
+ 	* optabs.h: Likewise.
+ 	* config/alpha/alpha.h: Likewise.
+ 	* config/alpha/alpha.md: Likewise.
+ 	* config/arm/arm-protos.h: Likewise.
+ 	* config/arm/arm.c: Likewise.
+ 	* config/arm/arm.md: Likewise.
+ 	* config/avr/avr.md: Likewise.
+ 	* config/c4x/c4x.c: Likewise.
+ 	* config/c4x/c4x.md: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/i386/i386-protos.h: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i860/i860.c: Likewise.
+ 	* config/i860/i860.md: Likewise.
+ 	* config/ip2k/ip2k.md: Likewise.
+ 	* config/ip2k/libgcc.S: Likewise.
+ 	* config/ip2k/t-ip2k: Likewise.
+ 	* config/m32r/m32r.c: Likewise.
+ 	* config/m32r/m32r.md: Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/ns32k/ns32k.c: Likewise.
+ 	* config/ns32k/ns32k.h: Likewise.
+ 	* config/ns32k/ns32k.md: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pa/pa.md: Likewise.
+ 	* config/pdp11/pdp11.h: Likewise.
+ 	* config/pdp11/pdp11.md: Likewise.
+ 	* config/rs6000/rs6000.c: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 	* config/s390/s390-protos.h: Likewise.
+ 	* config/s390/s390.c: Likewise.
+ 	* config/s390/s390.md: Likewise.
+ 	* config/sh/lib1funcs.asm: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 	* config/sh/t-sh: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/vax/vax.md: Likewise.
+ 	* config/xtensa/xtensa.c: Likewise.
+ 	* config/xtensa/xtensa.md: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 
+ 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16407
+ 	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
+ 	* config/mips/mips.c (mips_declare_common_object): New function,
+ 	mostly split out from...
+ 	(mips_output_aligned_decl_common): ...here.
+ 	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
+ 	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
+ 	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
+ 	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
+ 
+ 2004-07-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR c/16392
+ 	* function.c (assign_parms): Fix typo from previous change.
+ 
+ 2004-07-07  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/15815
+ 	* doc/extend.texi (C++ Interface): Correct information and
+ 	discourage use.
+ 
+ 2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/16130
+ 	PR target/16142
+ 	PR target/16143
+ 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
+ 	insn.
+ 
+ 2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	PR target/1679.
+ 	* config/m32r/m32r.c (m32r_function_symbol): New function:
+ 	Generate a symbol name RTX with the correct m32r specific flags
+ 	set.
+ 	(block_move_call): Use new function to generate correct symbol.
+ 	* config/m32r/m32r-protos.h: Add prototype for new funcion.
+ 	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
+ 	function.
+ 
+ 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
+ 	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
+ 	TYPE_BINFO_BASETYPE): Remove.
+ 	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
+ 	to ...
+ 	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
+ 	here.
+ 	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
+ 	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
+ 	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
+ 	(struct tree_binfo): Rename base_types to base_binfos.
+ 	* alias.c (record_component_aliases): Adjust BINFO macros.
+ 	* dbxout.c (dbxout_type): Likewise.
+ 	* dwarf2out.c (gen_member_die): Likewise.
+ 	* sdbout.c (sdbout_one_type): Likewise.
+ 	* tree-dump.c (deque_and_dump): Likewise.
+ 	* config/i386/i386.c (classify_argument,
+ 	contains_128bit_aligned_vector_p): Likewise.
+ 
+ 2004-07-07  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Change
+ 	arguments to match TARGET_SETUP_INCOMING_VARARGS prototype.
+ 
+ 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h: Fix the example use.
+ 
+ 2004-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
+ 	* langhooks.h (struct lang_hooks): Remove gimple_before_inlining.
+ 	* tree-inline.c (copy_body_r, setup_one_parameter,
+ 	initialize_inlined_parameters, expand_call_inline,
+ 	declare_inline_vars): Don't check it.
+ 	(expand_calls_inline): Remove old version, rename new version
+ 	from gimple_expand_calls_inline.
+ 	* tree-optimize.c (execute_gimple): Remove.
+ 	(pass_gimple): Don't run anything.
+ 
+ 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/sourcebuild.texi: Use semicolons instead of commas in
+ 	section title.
+ 
+ 2004-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
+ 	(sra_walk_modify_expr, scan_init): Likewise.
+ 	(generate_element_zero): Check visited before scanning children.
+ 	(generate_element_init): Set visited on error.
+ 	(scalarize_init): Handle generate_element_init failure similar
+ 	to use_block_copy.
+ 
+ 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define.
+ 	(warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG.
+ 
+ 2004-07-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (legitimize_pic_address): Make static.
+ 	(legitimize_address): Handle CONST with TLS operand.
+ 	(ix86_expand_move): Don't call legitimize_pic_address directly.
+ 	* config/i386/i386-protos.h (legitimize_pic_address): Remove.
+ 
+ 2004-07-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
+ 	(noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway.
+ 	(noce_process_if_block): Initialize if_info.b_unconditional if insn_b
+ 	is currently executed unconditionally, i.e. not in "else_bb".
+ 
+ 2004-07-06  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 	* config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
+ 
+ 2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* dojump.c (do_jump): REFERENCE_EXPR is dead.
+ 	* expr.c (expand_expr_real_1): Ditto.
+ 	* tree-inline.c (estimate_num_insns_1): Ditto.
+ 	* tree-pretty-print.c (dump_generic_node): Ditto.
+ 	(op_symbol): Ditto.
+ 	* tree.def: Ditto.
+ 
+ 2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (reference_node_pool): New pool.
+ 	(find_or_generate_expression): Class 'r' is okay too.
+ 	(create_value_expr_from): Ditto.
+ 	(add_to_sets): LHS should not include vuses.
+ 	(eliminate): Ditto.
+ 	(compute_avail): Reverse ordering of tests.
+ 	Valuize INDIRECT_REF as well.
+ 
+ 2004-07-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR rtl-optimization/16380
+ 	* loop.c (check_dbra_loop): Sink comparison instructions if they
+ 	do something other than set cc0.
+ 
+ 2004-07-06  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/interface.texi (longjmp and automatic variables): Delete
+ 	paragraph recommending taking the address of a variable.
+ 
+ 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_embedded_alloc): Remove.
+ 	(VEC_embedded_size, VEC_embedded_init): New.
+ 	(VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add
+ 	MEM_STAT_INFO.
+ 	(VEC_truncate): New.
+ 	(vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL.
+ 	(vec_embedded_alloc): Remove.
+ 	* vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust.
+ 	(vec_embedded_alloc): Remove.
+ 
+ 2004-07-06  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
+ 	(gt-langhooks.h): Remove.
+ 
+ 2004-07-06  George Helffrich <george@gly.bris.ac.uk>
+ 
+ 	* xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.
+ 
+ 2004-07-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (get_pc_symbol): Rename into
+ 	add_pc_to_pic_symbol.
+ 	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
+ 	(load_pic_register): Account for previous changes.
+ 	Use reg_names.  Don't create the label twice.
+ 	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
+ 	UNSPEC_LOAD_PCREL_SYM.
+ 	(get_pc): Rename into load_pcrel_sym.  Add predicate to
+ 	operands.  Remove condition.
+ 
+ 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* dbxout.c (dbxout_type): Don't test whether the binfo slot of
+ 	RECORD, UNION & QUAL_UNION is actually a binfo.
+ 
+ 	* tree.h (TREE_VIA_VIRTUAL): Rename to ...
+ 	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
+ 	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
+ 	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
+ 	* dwarf2out.c (add_data_member_location_attribute): Likewise.
+ 	(gen_inheritance_die): Likewise.
+ 	* tree-dump.c (deque_and_dump): Likewise.
+ 	* doc/c-tree.texi (Binfos): Add under reconstruction note.
+ 
+ 2004-07-06  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+ 	Define.
+ 	* config/mcore/mcore.md: Model memory latency with a simple DFA
+ 	pipeline description instead of a define_function_unit.
+ 
+ 2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
+ 	* langhooks.h (var_mod_type_p): Likewise.
+ 	* c-decl.c (finish_decl): Add extra arg to variably_modified_type_p.
+ 	* expr.c (count_type_elements): Properly handle return from
+ 	array_type_nelts and properly test for overflow.
+ 	* gimplify.c (gimplify_init_constructor): Properly handle return
+ 	from array_type_nelts.
+ 	(gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS.
+ 	* integrate.c (copy_decl_for_inlining): Correct comments.
+ 	* tree-inline.c (remap_decl): Update comments, remove dead code,
+ 	and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist.
+ 	(remap_type): Only remap if variably modified by vars in function
+ 	being inlined.
+ 	(copy_body_r): Use compatible_type langhooks to see when can fold.
+ 	(setup_one_parameter): Don't remap type.
+ 	(inline_forbidden_p_1): Add arg to variably_modified_type_p.
+ 	* tree.c (recompute_tree_invarant_for_addr_expr): Properly
+ 	compute TREE_INVARIANT for decl case.
+ 	(find_var_from_fn): New function.
+ 	(variably_modified_type_p): Add arg and call new function.
+ 	* tree.h (variably_modified_type_p): Add extra arg.
+ 
+ 2004-07-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
+ 	(goto_handler_and_restore_v9): Delete disabled insn.
+ 	(goto_handler_and_restore_v9_sp64): Likewise.
+ 
+ 2004-07-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* calls.c (load_register_parameters): Call expand_shift instead
+ 	of expand_binop with ashl_optab (or other shift optab) directly.
+ 	* expr.c (emit_group_load, emit_group_store): Likewise.
+ 	* function.c (assign_parm_setup_block): Likewise.
+ 	* stmt.c (shift_return_value): Likewise.
+ 
+ 2004-07-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_assignment): Disable the bitfield += optimizations.
+ 
+ 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/sourcebuild.texi: Revert previous patch.
+ 
+ 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
+ 	TARGET_MEM_FUNCTIONS.
+ 	* system.h: Poison TARGET_MEM_FUNCTIONS.
+ 	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
+ 	bcmp_libfunc, bzero_libfunc): Remove.
+ 	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
+ 	bzero_libfunc.
+ 	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
+ 	* doc/standards.texi: Don't mention calling BSD string functions.
+ 	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
+ 	* config/vax/t-memfuncs: New.
+ 	* config/memcmp.c, config/memcpy.c, config/memmove.c,
+ 	config/memset.c: New.
+ 	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
+ 	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
+ 	vax/t-memfuncs.
+ 	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
+ 	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
+ 	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
+ 	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
+ 	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
+ 	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
+ 	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
+ 	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
+ 	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
+ 	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
+ 
+ 2004-07-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_reg): Properly rename variables in
+ 	FUNCTION_ARG_CALLEE_COPIES section.
+ 
+ 2004-07-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree-mudflap.c: Include cgraph.h.
+ 	(mf_init_extern_trees): Rename to mudflap_init.  Export.
+ 	Rewrite to create synthetic declarations instead of looking
+ 	up declarations from mf-runtime.h.
+ 	(mf_make_builtin, mf_make_cache_struct_type): New functions.
+ 	(mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl):
+ 	Correct commentary.
+ 	(execute_mudflap_function_decls, mudflap_register_call):
+ 	Don't call mf_init_extern_trees.
+ 	(mudflap_finish_file): Use cgraph_build_static_cdtor.
+ 
+ 	* tree-mudflap.h: Update prototypes.
+ 	* c-mudflap.c: Delete file.
+ 	* c-common.c: Include tree-mudflap.h.
+ 	(c_common_nodes_and_builtins): Call mudflap_init if appropriate.
+ 	* Makefile.in: Remove all references to c-mudflap.o.
+ 	Update dependencies.
+ 
+ 2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md (prefetch, prefetch_32, prefetch_64): Only allow short
+ 	displacements with the spatial-locality cache-control completer.
+ 
+ 2004-07-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* langhooks.c: Don't include gt-langhooks.h.
+ 	(var_labelno): Delete.
+ 	(lhd_set_decl_assembler_name): Do not append a distinguishing
+ 	number to file-scope internal-linkage declarations for the first
+ 	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
+ 	the declaration itself (if at block scope), or its containing
+ 	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
+ 	number.
+ 
+ 	* opts.c (cur_in_fname): New global.
+ 	* opts.h: Declare it.
+ 	* tree.c: Include opts.h.
+ 	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
+ 	DECL_UID equal to cur_in_fname.
+ 	(copy_node_stat): Do not change DECL_UID when copying a
+ 	TRANSLATION_UNIT_DECL.
+ 	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
+ 	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.
+ 
+ 	* c-decl.c (c_static_assembler_name): Delete.
+ 	* c-tree.h (c_static_assembler_name): Delete prototype.
+ 	* c-lang.c, objc/objc-lang.c: Don't override
+ 	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.
+ 
+ 	* Makefile.in (tree.o): Update dependencies.
+ 	(GTFILES): Remove langhooks.c.
+ 
+ 2004-07-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus
+ 	by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)".
+ 	Normalize "X % C" as "X % -C" for signed modulus and negative C.
+ 	Optimize "X % -Y" as "X % Y" for signed modulus.
+ 	<EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0"
+ 	into "((unsigned) X % Y) == 0".
+ 
+ 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* sourcebuild.texi (Config Fragments): Use @comma{} in
+ 	cross-reference to section title.
+ 
+ 2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
+ 	* gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it.
+ 	(gimplify_target_expr, gimplify_expr): Likewise.
+ 	(copy_if_shared_r): No longer need special case for BIND_EXPR.
+ 	(unshare_body, unvisit_body): Only look at nested if BODY_P is
+ 	whole function.
+ 	(gimplify_compound_lval): See if we can strip any useless conversion.
+ 	(gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size
+ 	from RHS, not LHS.
+ 	(gimplify_modify_expr_to_memset): Likewise.
+ 	(gimplify_expr, case CONSTRUCTOR): Handle use as statement.
+ 	* tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P.
+ 	(declare_inline_vars): Likewise.
+ 	(walk_type_fields): New function.
+ 	(walk_tree): Use it.
+ 	* tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR.
+ 
+ 	* tree-sra.c (struct sra_walk_fns): Init function now returns bool.
+ 	(sra_walk_modify_expr): Allow init function to fail.
+ 	(scan_init): Now returns bool.
+ 	(generate_element_init): If can't understand INIT, return false.
+ 	(scalarize_init): Return false if generate_element_init does.
+ 
+ 	* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly
+ 	print bounds.
+ 
+ 	* expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against
+ 	bounds if bounds aren't constant.
+ 
+ 	* tree-cfg.c (verify_expr): Use CHECK_OP in binary case.
+ 
+ 	* function.c, langhooks-def.h, langhooks.h: Move max_size hook
+ 	to type hooks; remove bogus PARAMS.
+ 
+ 2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
+ 	* dwarf2out.c (add_data_member_location_attribute): Check for
+ 	TREE_BINFO.
+ 	* tree.c (tree_node_kinds): Add "binfos".
+ 	(binfo_lang_slots): New.
+ 	(make_node_stat): Add TREE_BINFO.
+ 	(make_tree_binfo_stat): New.
+ 	(tree_node_structure): Add TREE_BINFO.
+ 	* tree.def (TREE_BINFO): New.
+ 	* tree.h (REC_OR_UNION_CHECK): Rename to ...
+ 	(RECORD_OR_UNION_CHECK): ... here.
+ 	(NOT_RECORD_OR_UNION_CHECK): New.
+ 	(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
+ 	(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
+ 	RECORD_OR_UNION_CHECK.
+ 	(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
+ 	(TYPE_LANG_SLOT_1): New.
+ 	(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
+ 	BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
+ 	BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
+ 	(BINFO_ELTS): Remove.
+ 	(BINFO_LANG_SLOT): New.
+ 	(struct tree_binfo): New.
+ 	(binfo_lang_slots): Declare.
+ 	(enum tree_node_structure_enum): Add TS_BINFO.
+ 	(union tree_node): Add binfo.
+ 	(make_tree_binfo_stat): Declare.
+ 	(make_tree_binfo): New.
+ 	(enum tree_node_kind): Add binfo_kind.
+ 
+ 	* objc/objc-act.c (start_class, objc_declare_protocols,
+ 	start_protocols): Use TYPE_LANG_SLOT_1.
+ 	* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
+ 	to ...
+ 	(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
+ 	(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
+ 	CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
+ 	PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.
+ 
+ 2004-07-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.h (struct rtx_def): Remove the integrated flag.
+ 	Use the return_val flag for MEM_SCALAR_P.
+ 	Reshuffle and update flags in CLEAR_RTX_FLAGS.
+ 
+ 2004-07-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16357
+ 	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
+ 	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
+ 	move_by_pieces.
+ 
+ 2004-07-05  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c: Fix some comments.
+ 	(frame_stack_adjust): New.
+ 	(vt_stack_adjustments): Init stack_adjust of entry block to
+ 	minus stack adjustment of function prologue.
+ 	(adjust_stack_reference): Do not adjust if adjustment == 0.
+ 	(compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS.
+ 	(emit_notes_in_bb): Likewise.
+ 	(vt_add_function_parameters): Do not adjust locations of
+ 	function arguments.
+ 	(vt_initialize): Compute the stack adjustment of function
+ 	prologue and offset the initial "location" of frame_base_decl
+ 	from the stack pointer after prologue.
+ 
+ 2004-07-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (struct assign_parm_data_all): New.
+ 	(struct assign_parm_data_one): New.
+ 	(assign_parms_initialize_all, assign_parms_augmented_arg_list,
+ 	assign_parm_find_data_types, assign_parms_setup_varargs,
+ 	assign_parm_find_entry_rtl, assign_parm_is_stack_parm,
+ 	assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl,
+ 	assign_parm_adjust_stack_rtl, assign_parm_setup_block_p,
+ 	assign_parm_setup_block, assign_parm_setup_reg,
+ 	assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ...
+ 	(assign_parms): ... here.
+ 
+ 2004-07-04  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets
+ 	now are bitmap_set_t's.
+ 	(bitmap_insert_into_set): No point in inserting the value if
+ 	it's invariant.
+ 	(bitmap_set_contains): New function.
+ 	(bitmap_set_replace_value): Add comment on why we do it
+ 	this way.
+ 	(set_contains): Removed.
+ 	(bitmap_set_subtract_from_value_set): New name of
+ 	set_subtract now that it's arguments are two different
+ 	types of sets.
+ 	Update callers.
+ 	(bitmap_find_leader): Change algorithm used.
+ 	(find_or_generate_expression): Update use of functions for new
+ 	bitmap sets.
+ 	(create_expression_by_pieces): Ditto.
+ 	(insert_aux): Ditto.
+ 	(insert): Ditto.
+ 	(add_to_sets): Ditto.
+ 	(init_pre): Ditto.
+ 	(execute_pre): Ditto.
+ 	(compute_avail): Ditto.
+ 	Also ignore virtual phis.
+ 
+ 2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (simplify_comparison): Fix comment typo.
+ 
+ 2004-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename
+ 	into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
+ 	(eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P.
+ 	(output_restore): Change parameter from 'insn' to 'pat'.
+ 	(output_return): Adjust call to output_restore.
+ 	(output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P.
+ 	Adjust call to output_restore.
+ 
+ 2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
+ 
+ 	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__
+ 	and assert system is bsd.
+ 
+ 2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete.
+ 	(TARGET_SWITCHES): Remove -mdebugc.
+ 	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
+ 	(sltu, sleu): Remove TARGET_DEBUG_C_MODE handling.
+ 	(seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i)
+ 	(sle_[sd]i_reg): Delete.
+ 
+ 2004-07-04  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+ 	Define.
+ 	* config/iq2000/iq2000.md: Translate old pipeline description to an
+ 	equivalent new one.
+ 
+ 2004-07-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree-ssa-ccp.c (set_rhs): Change function to return a bool.
+ 	Ensure the replacement rhs is valid gimple before performing
+ 	the substitution.  Return false if these sanity checks fail.
+ 	(fold_stmt): Only set changed to true, if set_rhs returns true.
+ 	(execute_fold_all_builtins): Only call modify_stmt if set_rhs
+ 	succeeds.
+ 
+ 2004-07-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/16348
+ 	* c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops.
+ 
+ 2004-07-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.ac (ranlib_flags): New variable.
+ 	* Makefile.in (RANLIB_FLAGS): New variable.
+ 	(libbackend.a): Use it.
+ 	* configure: Regenerated.
+ 
+ 2004-07-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate
+ 	a "sign mask" instead of using ashr_optab directly.
+ 
+ 2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
+ 
+ 	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
+ 	* doc/cppopts.texi: Clarify processing of command-line defines.
+ 
+ 2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
+ 
+ 2004-07-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.def (ADDRESSOF): Remove.
+ 	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
+ 	(find_base_term, memrefs_conflict_p): Likewise.
+ 	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
+ 	(fold_rtx, cse_insn, set_live_p): Likewise.
+ 	* dwarf2out.c (mem_loc_descriptor): Likewise.
+ 	(add_location_or_const_value_attribute): Likewise.
+ 	* emit-rtl.c (copy_insn_1): Likewise.
+ 	* explow.c (memory_address): Likewise.
+ 	* expmed.c (store_split_bit_field): Likewise.
+ 	* expr.c (expand_expr_real_1): Likewise.
+ 	* function.c (instantiate_decl
+ 	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
+ 	* genrecog.c (preds, validate_pattern): Likewise.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 	* recog.c (general_operand, register_operand): Likewise.
+ 	(memory_address_p): Likwise.
+ 	* reload1.c (eliminate_regs, elimination_effects): Likewise.
+ 	* rtl.c (copy_rtx): Likewise.
+ 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
+ 	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
+ 	* rtlhooks.c (gen_lowpart_general): Likewise.
+ 	* stmt.c (expand_asm_operands): Likewise.
+ 	* web.c (entry_register, replace_ref, web_main): Likewise.
+ 	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
+ 	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
+ 	* config/arm/arm.c (thumb_rtx_costs): Likewise.
+ 	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
+ 	* config/frv/frv.c (move_destination_operand, move_source_operand,
+ 	condexec_dest_operand, condexec_source_operand,
+ 	condexec_memory_operand): Likewise.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
+ 	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
+ 	(destination_xfmode_operand): Likewise.
+ 	* config/mips/mips.h (PREDICATE_CODES): Likewise.
+ 	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
+ 	* config/s390/s390.c (general_s_operand): Likewise.
+ 	* config/s390/s390.md (mov*): Likewise.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
+ 
+ 	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
+ 	* expr.c (expand_expr_real_1): Likewise.
+ 	* stmt.c (expand_decl): Likewise.
+ 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+ 
+ 	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
+ 	postponed_insns, put_var_into_stack, put_reg_into_stack,
+ 	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
+ 	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
+ 	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
+ 	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
+ 	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
+ 	purge_bitfield_addressof_replacements, purge_addressof_replacements,
+ 	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
+ 	struct insns_for_mem_walk_info, insns_for_mem_walk,
+ 	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
+ 	setjmp_protect_args): Remove.
+ 	(push_function_context_to): Don't handle var_refs_queue.
+ 	(pop_function_context_from, free_after_compilation): Likewise.
+ 	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
+ 	(assign_parms, allocate_struct_function): Likewise.
+ 	(use_register_for_decl): New.
+ 	(expand_function_end): Don't setjmp_protect.
+ 	* function.h (struct emit_status): Update commentary.
+ 	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
+ 	(max_parm_reg, parm_reg_stack_loc): Remove.
+ 	* passes.c (DFI_addressof): Remove.
+ 	(dump_file_info): Remove addressof.
+ 	(rest_of_handle_addressof): Remove.
+ 	(rest_of_compilation): Don't call it.
+ 	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
+ 	* stmt.c (expand_decl): Use use_register_for_decl.
+ 	* tree.h: Update decls.
+ 	* web.c (mark_addressof): Remove.
+ 	* doc/invoke.texi (-dF): Remove.
+ 
+ 2004-07-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp
+ 	instead of gen_mem_addressof.
+ 	* config/ia64/ia64.md (movxf): Use assign_stack_temp to handle
+ 	TImode output register.
+ 
+ 2004-07-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-optimization/16341
+ 	* tree-sra.c (sra_walk_function): Increment to next stmt before
+ 	processing the current stmt.
+ 	(sra_insert_after): Always use BSI_SAME_STMT.
+ 
+ 2004-07-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold
+ 	fp plus with minus.
+ 
+ 2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal
+ 	with tree_int_cst_equal.
+ 
+ 2004-07-03  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.md: Define new attribute "empty".
+ 	(prologue_use, nop_x, insn_group_barrier): Set it.
+ 
+ 	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
+ 	skip over "empty" insns.
+ 
+ 2004-07-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-inline.c (initialize_inlined_parameters): Pass proper function
+ 	context to gimplify_body.
+ 	(walk_tree): Don't walk into types twice.
+ 	(walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers.
+ 
+ 	* tree-sra.c (generate_element_init): Remove any useless conversions.
+ 
+ 	* gimplify.c (gimplify_conversion): Remove stripping useless
+ 	conversions from here.
+ 	(gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS.
+ 	(gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare):
+ 	Unshare before substituting PLACEHOLDER_EXPR.
+ 	(gimplify_modify_expr_to_memset): Likewise.
+ 	Pass address of TO to memset, not TO itself.
+ 	(gimplify_init_constructor): Make copy of OBJECT so we have it each
+ 	time we make an expression (to match a PLACEHOLDER_EXPR).
+ 
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion): Also look at
+ 	VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
+ 	* tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION.
+ 	* tree-ssa-dom.c (local_fold): Likewise.
+ 
+ 	* langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
+ 	* langhooks.h (strct lang_hooks): New field type_max_size.
+ 	* function.c (assign_temp): Call it.
+ 
+ 2004-07-03  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1.
+ 	* config/sh/sh.md: Convert the SH1 pipeline description to
+ 	a DFA model.
+ 
+ 2004-07-02  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (struct c_binding): Remove contour field; add
+ 	depth, invisible, nested fields.
+ 	(B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE)
+ 	(B_IN_EXTERNAL_SCOPE): New convenience macros.
+ 	(bind): Add invisible and nested arguments. Initialize
+ 	new fields of struct c_binding; adjust loop scanning for
+ 	insertion point.
+ 	(free_binding_and_advance): Clear structure with memset.
+ 	(pop_scope): Adjust to match.  Set DECL_CONTEXT on everything
+ 	in file scope, even if it's in external scope too.
+ 	(pushdecl): Adjust to match.  Create invisible file-scope
+ 	declarations for block-scope forward declarations of static functions.
+ 	(pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare)
+ 	(undeclared_variable, lookup_label, declare_label, define_label)
+ 	(lookup_tag, lookup_name, lookup_name_in_scope, builtin_function)
+ 	(c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value)
+ 	(store_parm_decls_oldstyle): Adjust to match.
+ 	(diagnose_mismatched_decls): Correct handling of linkage clashes.
+ 	(merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE.
+ 
+ 	* c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete.
+ 	(C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one.
+ 
+ 2004-07-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (grokdeclarator): Don't frob current_function_decl
+ 	around variable_size.
+ 	(set_decl_nonlocal): Remove.
+ 	(store_parm_decls): Add stmts for pending sizes.
+ 	* calls.c (calls_function, calls_function_1): Remove.
+ 	(precompute_arguments): Don't call it.
+ 	* cfgexpand.c (set_save_expr_context): Remove.
+ 	(tree_expand_cfg): Don't call it.
+ 	* dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
+ 	(dwarf2out_finish): Likewise.
+ 	* expr.c (emit_block_move): Adjust addresses to BLKmode.
+ 	(store_constructor): Don't pre-evaluate SAVE_EXPR.
+ 	(safe_from_p): Don't queue SAVE_EXPRs.
+ 	(expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
+ 	or build plain VAR_DECLs.
+ 	* fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
+ 	(fold): Likewise.
+ 	(fold_checksum_tree): Don't special-case SAVE_EXPR.
+ 	* function.c (free_after_compilation): Don't clear x_save_expr_regs.
+ 	(put_var_into_stack): Don't handle SAVE_EXPR.
+ 	(gen_mem_addressof): Likewise.
+ 	* function.h (struct function): Remove x_save_expr_regs.
+ 	(save_expr_regs): Remove.
+ 	* gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
+ 	* print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
+ 	* stor-layout.c (variable_size): Don't set it.
+ 	(force_type_save_exprs, force_type_save_exprs_1): Remove.
+ 	* tree-inline.c (remap_save_expr): Remove fn argument.  Update
+ 	all callers.  Don't set SAVE_EXPR_CONTEXT.
+ 	* tree-inline.h (remap_save_expr): Update decl.
+ 	* tree.c (save_expr): Update build size.
+ 	(first_rtl_op): Don't handle SAVE_EXPR.
+ 	(unsave_expr_1, contains_placeholder_p): Likewise.
+ 	(decl_function_context): Likewise.
+ 	* tree.def (SAVE_EXPR): Remove args 1 and 2.
+ 	* tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
+ 	(SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.
+ 
+ 2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
+ 	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
+ 	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
+ 	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
+ 	some first-person references and patronizing comments.  Based on
+ 	printed manual.
+ 	* doc/invoke.texi: Don't reference fortran@gnu.org.
+ 	* doc/trouble.texi (Warning when a non-void function value is
+ 	ignored): Rewrite.  From Russ Allbery and Chris Devers.
+ 
+ 2004-07-02  Daniel Berlin  <dberlin@dberlin.org)
+ 
+ 	* tree-ssa-pre.c (bitmap_set_t): New.
+ 	(bb_value_sets): avail_out is now a bitmap_set_t.
+ 	(bitmap_find_leader): New function.
+ 	(bitmap_value_insert_into_set): Ditto.
+ 	(bitmap_set_copy): Ditto.
+ 	(bitmap_value_replace_in_set): Ditto.
+ 	(bitmap_set_contains_value): Ditto.
+ 	(bitmap_set_new): Ditto.
+ 	(bitmap_set_pool): New pool.
+ 	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
+ 	(insert_aux): Ditto.
+ 	(add_to_sets): Ditto.
+ 	(compute_avail): Ditto
+ 	(eliminate): Ditto.
+ 	(init_pre): Ditto.
+ 	(fini_pre): Ditto.
+ 	(execute_pre): Ditto.
+ 
+ 2004-07-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/rs6000.c (struct processor_costs): New structure
+ 	used to hold instruction latencies/sizes for processor types.
+ 	(rs6000_cost): New global variable pointing to current CPU's costs.
+ 	(rs6000_override_options): Initialize rs6000_cost to point to the
+ 	appropriate cost table based upon rs6000_cpu and optimize_size.
+ 	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
+ 	timings inline.
+ 
+ 2004-07-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (make_tree): Don't use SET_DECL_RTL.
+ 
+ 2004-07-02  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-flow.h (bb_ann_d): Remove ephi_nodes field.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
+ 	(alpha_gp_save_rtx): Use assign_stack_local instead of
+ 	gen_mem_addressof.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
+ 	(alpha_rtx_cost_data): Update to match.
+ 	(alpha_rtx_cost_size): New.
+ 	(alpha_rtx_costs): Honor optimize_size.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimple-low.c (lower_function_body): Don't reset_block_changes here.
+ 	* cfgexpand.c (tree_expand_cfg): Do it here.
+ 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
+ 	* config/ia64/ia64.c (ia64_output_mi_thunk): And here.
+ 	* config/mips/mips.c (mips_output_mi_thunk): And here.
+ 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
+ 	* config/sh/sh.c (sh_output_mi_thunk): And here.
+ 	* config/sparc/sparc.c (sparc_output_mi_thunk): And here.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.def (RTL_EXPR): Remove.
+ 	* c-typeck.c (lvalue_p): Don't handle it.
+ 	* expr.c (safe_from_p): Likewise.
+ 	(expand_expr_real_1): Likewise.
+ 	* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
+ 	(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
+ 	* gengtype.c (adjust_field_tree_exp): Likewise.
+ 	* stmt.c (warn_if_unused_value): Likewise.
+ 	* tree-gimple.c (recalculate_side_effects): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
+ 	(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
+ 	* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.
+ 
+ 	* stmt.c (struct stmt_status): Remove x_last_expr_type,
+ 	x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
+ 	(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
+ 	(expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
+ 	all the bits that tracked last_expr.
+ 	(expand_end_bindings): Don't track last_expr.
+ 	(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
+ 	(clear_last_expr): Remove.
+ 	(expand_asm): Don't call it.
+ 	(expand_asm_operands, expand_end_cond): Likewise.
+ 	(expand_naked_return, expand_null_return_1): Likewise.
+ 	* c-typeck.c (c_begin_compound_stmt): Likewise.
+ 	* cfgexpand.c (expand_block): Use expand_expr_stmt.
+ 	* expr.c (expand_expr_real_1): Likewise.
+ 	* tree.h: Update prototypes.
+ 
+ 	* function.h (struct sequence_stack): Remove sequence_rtl_expr.
+ 	(struct emit_status): Remove sequence_rtl_expr.
+ 	(struct function): Remove x_rtl_expr_chain.
+ 	(seq_rtl_expr, rtl_expr_chain): Remove.
+ 	* function.c (struct temp_slot): Remove rtl_expr.
+ 	(assign_stack_temp_for_type): Don't set it.
+ 	(free_temp_slots, pop_temp_slots): Don't check it.
+ 	(free_after_compilation): Don't clear x_rtl_expr_chain.
+ 	(fixup_var_refs): Don't search it.
+ 	(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
+ 	* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
+ 	or seq_rtl_expr.
+ 	(push_topmost_sequence): Likewise.
+ 	(end_sequence, init_emit): Likewise.
+ 	(start_sequence_for_rtl_expr): Remove.
+ 	* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
+ 	* rtl.h (preserve_rtl_expr_result): Remove.
+ 
+ 2004-07-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
+ 	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
+ 	typos.
+ 
+ 2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+ 
+ 	* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
+ 	(STANDARD_STARTFILE_PREFIX_2): Define.
+ 	(standard_startfile_prefix_1): Initialize to
+ 	STANDARD_STARTFILE_PREFIX_1.
+ 	(standard_startfile_prefix_2): Initialize to
+ 	STANDARD_STARTFILE_PREFIX_2.
+ 	* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
+ 	(STANDARD_STARTFILE_PREFIX_1): Define.
+ 	(STANDARD_STARTFILE_PREFIX_2): Define.
+ 	* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
+ 	(STANDARD_STARTFILE_PREFIX_2): Document.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
+ 	in order to disable scalarization.  Instead set a flag and wait
+ 	for a candidate decl.
+ 
+ 2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
+ 	Use terminology "testsuite" and "enumerated".
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* dwarf2out.c (reg_save): Use INVALID_REGNUM.
+ 	(dwarf2out_reg_save, dwarf2out_return_save): Likewise.
+ 	(initial_return_save): Likewise.
+ 	(flush_queued_reg_saves): Remap register numbers.
+ 	(dwarf2out_return_reg): Likewise.
+ 
+ 2004-07-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.
+ 
+ 	* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
+ 	access functions for lower bound and element size and only output
+ 	if lower bound nonzero or element size not same as that of type.
+ 	(dump_generic_node, case COMPONENT_REF): Use access func. for offset.
+ 
+ 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.
+ 
+ 2004-07-01  Per Bothner  <per@bothner.com>
+ 
+ 	* final.c (final):  Fix typo reported by Aaron W. LaFramboise.
+ 
+ 2004-07-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
+ 	bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
+ 	first operand.  Don't optimize if the bitfield is volatile.
+ 
+ 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-pretty-print.c (pp_c_postfix_expression): Handle
+ 	floating-point comparison operators.
+ 	(pp_c_expression): Pass floating-point comparison
+ 	operators to pp_c_postfix_expression.
+ 
+ 2004-07-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
+ 	rtx_cost instead of "had_mult" to determine whether the transformed
+ 	expression is cheaper than the original.
+ 
+ 2004-07-01  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* alias.c (get_alias_set, canon_rtx, get_addr,
+ 	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
+ 	Use MEM_P.
+ 	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
+ 	expand_builtin): Likewise.
+ 	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
+ 	Likewise.
+ 	* combine.c (can_combine_p, combinable_i3pat, try_combine,
+ 	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
+ 	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
+ 	record_dead_and_set_regs_1, get_last_value_validate,
+ 	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
+ 	* cse.c (check_dependence, canon_hash, equiv_constant,
+ 	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
+ 	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
+ 	count_reg_usage): Likewise.
+ 	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
+ 	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
+ 	cselib_record_sets): Likewise.
+ 	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
+ 	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
+ 	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
+ 	* df.c (df_uses_record): Likewise.
+ 	* dojump (do_jump): Likewise.
+ 	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
+ 	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
+ 	decl_start_label): Likewise.
+ 	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
+ 	operand_subword, change_address_1, make_safe_from): Likewise.
+ 	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
+ 	stabilize, force_not_mem): Likewise.
+ 	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
+ 	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
+ 	* expr.c (convert_move, convert_modes, emit_block_move,
+ 	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
+ 	emit_move_insn_1, expand_assignment, store_expr,
+ 	store_constructor_field, store_constructor, store_field,
+ 	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
+ 	Likewise.
+ 	* final.c (cleanup_subreg_operands, alter_subreg,
+ 	get_mem_expr_from_op): Likewise.
+ 	* flow.c (notice_stack_pointer_modification_1,
+ 	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
+ 	Likewise.
+ 	* function.c (mark_temp_addr_taken, preserve_temp_slots,
+ 	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
+ 	optimize_bit_field, flush_addressof, purge_addressof_1,
+ 	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
+ 	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
+ 	keep_stack_depressed): Likewise.
+ 	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
+ 	noce_process_if_block, find_memory): Likewise.
+ 	* integrate.c (subst_constants, allocate_initial_values): Likewise.
+ 	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
+ 	update_equiv_regs): Likewise.
+ 	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
+ 	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
+ 	* optabs.c (expand_abs, emit_unop_insn): Likewise.
+ 	* passes.c (rest_of_handle_final): Likewise.
+ 	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
+ 	move2add_note_store): Likewise.
+ 	* ra-build.c (detect_remat_webs): Likewise.
+ 	* ra-debug.c (dump_static_insn_cost): Likewise.
+ 	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
+ 	* recog.c (validate_change, apply_change_group, cancel_changes,
+ 	validate_replace_rtx_1, general_operand, register_operand,
+ 	nonmemory_operand, push_operand, pop_operand, memory_operand,
+ 	indirect_operand, asm_operand_ok, offsettable_memref_p,
+ 	offsettable_nonstrict_memref_p, constrain_operands,
+ 	store_data_bypass_p): Likewise.
+ 	* reg-stack.c (subst_stack_regs_pat): Likewise.
+ 	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
+ 	copy_cost, reg_scan_mark_refs): Likewise.
+ 	* regmove.c (optimize_reg_copy_3, stack_memref_p,
+ 	combine_stack_adjustments_for_block): Likewise.
+ 	* regrename.c (copyprop_hardreg_forward_1): Likewise.
+ 	* reload.c (can_reload_into, push_reload, decompose, immune_p,
+ 	find_reloads, find_reloads_address, find_reloads_address_1,
+ 	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
+ 	find_equiv_reg): Likewise.
+ 	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
+ 	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
+ 	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
+ 	delete_address_reloads): Likewise.
+ 	* resource.c (mark_referenced_resources): Likewise.
+ 	* rtlanal.c (get_jump_table_offset, count_occurrences,
+ 	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
+ 	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
+ 	num_sign_bit_copies1): Likewise.
+ 	* rtlhooks.c (gen_lowpart_general): Likewise.
+ 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
+ 	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
+ 	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
+ 	sdbout_global_decl): Likewise.
+ 	* simplify-rtx.c (simplify_subreg): Likewise.
+ 	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
+ 	expand_anon_union_decl, expand_end_case_type): Likewise.
+ 	* unroll.c (calculate_giv_inc): Likewise.
+ 	* var-tracking.c (stack_adjust_offset_pre_post,
+ 	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
+ 	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
+ 	vt_add_function_parameters): Likewise.
+ 	* varasm.c (make_var_volatile, notice_global_symbol,
+ 	assemble_external, decode_addr_const, mark_weak,
+ 	default_encode_section_info): Likewise.
+ 
+ 2004-07-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* stmt.c (check_seenlabel): Remove.
+ 	(pushcase, pushcase_range, expand_end_case_type): Don't call it.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Remove x_function_call_count.
+ 	(function_call_count): Remove.
+ 	* calls.c (expand_call): Don't set it.
+ 	* integrate.c (copy_rtx_and_substitute): Likewise.
+ 
+ 	* function.h (struct function): Remove x_cleanup_label.
+ 	(cleanup_label): Remove.
+ 	* stmt.c (expand_value_return): Don't use it.
+ 	* function.c (free_after_compilation): Don't set it.
+ 	(expand_function_start): Likewise.  Remove parms_have_cleanups arg.
+ 	* cfgexpand.c (tree_expand_cfg): Update call.
+ 	* tree.h (expand_function_start): Update decl.
+ 
+ 2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/1027
+ 	* c-lang.c (c_initialize_diagnostics): Move from here ...
+ 	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
+ 	(c_tree_printer): Use pretty-printer to format %T.
+ 	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
+ 	before '*' if not C++.
+ 	(pp_c_direct_abstract_declarator): Don't try to print array upper
+ 	bound for flexible array members.
+ 	* c-tree.h: Include "diagnostic.h".
+ 	(c_initialize_diagnostics): Declare.
+ 	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
+ 	* c-format.c (format_type_warning): New function.  Improve
+ 	diagnostics for incorrect format argument types.
+ 	(check_format_types): Use it.  Add two parameters.  Use the
+ 	TYPE_MAIN_VARIANT of wanted_type.
+ 	(check_format_info_main): Pass new parameters to
+ 	check_format_types.
+ 	(struct format_wanted_type): Update comment.
+ 
+ 2004-07-01  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Add new field to struct cxx:
+ 	import_export_class.
+ 	* target-def.h (TARGET_CXX): Initialise the new field.
+ 	(TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for
+ 	the new field.
+ 	* doc/tm.texi: Document the new target hook.
+ 
+ 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* builtins.c (fold_builtin_classify): Fix typo.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (identify_blocks, identify_blocks_1): Remove.
+ 	* function.h (identify_blocks): Remove.
+ 	* rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.
+ 
+ 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* builtins.c (fold_builtin_classify): New.
+ 	(fold_builtin_unordered_cmp): Fix commentary.
+ 	(fold_builtin): Use it.
+ 	* builtins.def: Define builtins for isnan,
+ 	isnanf, isnanl, finite, finitef, finitel,
+ 	isinf, isinff, isinfl.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Remove dont_emit_block_notes.
+ 	* gimple-low.c (lower_function_body): Don't set it.
+ 	* cfgexpand.c (expand_block): Don't check it.
+ 	* cfglayout.c (insn_locators_initialize): Likewise.
+ 	* expr.c (expand_expr_real, expand_expr_real_1): Likewise.
+ 	* passes.c (rest_of_compilation): Likewise.
+ 	* stmt.c (expand_start_bindings_and_block): Likewise.
+ 	(expand_end_bindings): Likewise.
+ 
+ 2004-07-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraph.h (cgraph_build_static_cdtor): Declare.
+ 	* cgraphunit.c (cgraph_build_static_cdtor): New.
+ 	* c-objc-common.c (build_cdtor): Use it.
+ 	* coverage.c (create_coverage): Likewise.
+ 	* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
+ 	* optabs.c (init_optabs): Don't set gcov_init_libfunc.
+ 
+ 2004-06-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a
+ 	constant as a sequence of additions depending upon the rtx_costs.
+ 	(synth_mult): Update the "observed" cost of a shift, based upon
+ 	the above optimization.
+ 
+ 2004-06-28  Geoffrey Keating  <geoffk@apple.com>
+ 	    Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	PR 15813
+ 	* dwarf2out.c (reg_save): Output DW_CFA_same_value when a
+ 	register is saved in itself.
+ 	(initial_return_save): If the return address is a register,
+ 	it's already there, don't bother to mention it in the CFI.
+ 	(struct queued_reg_save): Add field saved_reg.
+ 	(struct reg_saved_in_data): New.
+ 	(regs_saved_in_regs): New.
+ 	(num_regs_saved_in_regs): New.
+ 	(queue_reg_save): Add extra parameter to specify register saved
+ 	in register.  Remove duplicate entries from queue.  Add comment
+ 	for function.
+ 	(flush_queued_reg_saves): Handle registers saved in registers.
+ 	Update regs_saved_in_regs.  Add comment for function.
+ 	(clobbers_queued_reg_save): Add comment for function.  Allow
+ 	for regs_saved_in_regs.
+ 	(reg_saved_in): New.
+ 	(dwarf2out_frame_debug_expr): Handle saving registers in other
+ 	registers.
+ 	(dwarf2out_frame_debug): Reset regs_saved_in_regs.
+ 	* unwind-dw2.c (execute_cfa_program): Correct handling of
+ 	DW_CFA_same_value.  Add FIXME comment about incorrect implementation
+ 	of DW_CFA_restore_extended.
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Let
+ 	dwarf2out_frame_debug_expr see instructions that save registers
+ 	in other registers or save those other registers in memory.
+ 
+ 	* unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h.
+ 	(_Unwind_FrameState): Likewise.
+ 	* unwind-dw2.h: New.
+ 	* Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h.
+ 	* config/rs6000/darwin-fallback.c: New file.
+ 	* config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
+ 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o.
+ 
+ 2004-07-01  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
+ 	(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
+ 	calculating gpr size for altivec.  Simplify and correct
+ 	rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
+ 	for ABI_V4 gpr case too.  Fix off-by-one error in long double
+ 	reg test.  Generate the correct PARALLEL to handle long double
+ 	for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
+ 	(function_arg_partial_nregs): Align before calculating regs left.
+ 	Don't return info on partial fprs when we need info on gprs.
+ 	Correct long double fpr off-by-one error.
+ 
+ 2004-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-protos.h (prefetch_operand): Add prototype.
+ 	* pa.c (prefetch_operand): New function.
+ 	* pa.h (prefetch_operand): Add to PREDICATE_CODES.
+ 	* pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns.
+ 
+ 2004-06-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.h (struct function): Remove x_whole_function_mode_p.
+ 	* c-decl.c (store_parm_decls): Don't set it.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 	* passes.c (rest_of_compilation): Don't check it.
+ 	* stmt.c (expand_fixup): Likewise.
+ 	* function.c (fixup_var_refs_insn): Remove unused variable.
+ 
+ 2004-06-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.h (immediate_size_expand): Delete.
+ 	* stor-layout.c (immediate_size_expand): Delete.
+ 	(variable_size): Don't look at it.
+ 	* c-decl.c (push_parm_decl): Don't frob immediate_size_expand.
+ 	(start_function): Likewise.
+ 	* cfgexpand.c (construct_exit_block): Likewise.
+ 	* function.c (init_function_start, expand_function_end): Likewise.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 
+ 2004-06-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (gimplify_compound_lval): Take fallback argument
+ 	instead of want_lvalue.
+ 	(gimplify_call_expr): Take want_value argument instead of test
+ 	function.  Gimplify arguments to val only if reg_type; otherwise
+ 	allow lvalue forms.
+ 	(gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr
+ 	calls.
+ 	* tree-gimple.c: Update GIMPLE grammer.  Use true/false not 1/0.
+ 	Tidy commentary globally.
+ 	(get_call_expr_in): Remove RETURN_EXPR handling.  Tidy.
+ 	* tree-gimple.h (is_gimple_call_addr): Mark extern.
+ 
+ 	* gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo.
+ 
+ 2004-06-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-gimple.c (right_assocify_expr): Kill
+ 	(rationalize_compound_expr): Kill.
+ 	* tree-gimple.h: Likewise.
+ 	* tree-inline.c (expand_call_inline): Don't call it.
+ 
+ 	* function.h (struct function): Remove x_last_parm_insn,
+ 	inl_last_parm_insn.
+ 	(last_parm_insn): Remove.
+ 	* function.c (free_after_compilation): Don't clear them.
+ 	(fixup_var_refs_insn, assign_parms): Don't set them.
+ 
+ 	* function.c, rtl.h (get_first_nonparm_insn): Remove.
+ 
+ 2004-06-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-common.h (check_function_format): Remove first parameter.
+ 	* c-format.c (format_check_context): Remove status.
+ 	(check_format_info, check_format_info_main,
+ 	maybe_read_dollar_number, avoid_dollar_number,
+ 	finish_dollar_format_checking, check_format_types,
+ 	check_function_format): Remove first parameter.  Don't use
+ 	status_warning.
+ 	(check_format_arg): Don't use status_warning.
+ 	(status_warning): Remove.
+ 	* c-common.c (check_function_arguments): Update call to
+ 	check_function_format.
+ 
+ 2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc-protos.h (output_cbranch): Constify return
+ 	value.
+ 	(output_v9branch): Likewise.
+ 	(sparc_v8plus_shift): Likewise.  Rename into output_v8plus_shift.
+ 	* config/sparc/sparc.c (output_cbranch): Constify return value.
+ 	Prettify output for delay slots.
+ 	(output_v9branch): Likewise.
+ 	(sparc_v8plus_shift): Constify return value.  Rename into
+ 	output_v8plus_shift.
+ 	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
+ 	sparc_v8plus_shift.
+ 	(ashrdi3_v8plus): Likewise.
+ 	(lshrdi3_v8plus): Likewise.
+ 	(call_address_struct_value_sp32): Prettify output for delay slots.
+ 	(call_symbolic_struct_value_sp32): Likewise.
+ 	(call_address_untyped_struct_value_sp32): Likewise.
+ 	(call_symbolic_untyped_struct_value_sp32): Likewise.
+ 
+ 2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* common.opt (ftree-loop-optimize): New flag.
+ 	* tree-flow.h (kill_redundant_phi_nodes): Declare.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_loop.
+ 	* tree-pass.h (pass_loop_init, pass_loop_done): Declare.
+ 	* tree-ssa-loop.c (current_loops): New variable.
+ 	(tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init,
+ 	tree_ssa_loop_done): New functions.
+ 	(pass_loop, pass_loop_init, pass_loop_done): New passes.
+ 	* tree-ssa.c (kill_redundant_phi_nodes): Export.
+ 	* doc/invoke.texi (-ftree-loop-optimize): Document.
+ 
+ 2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-loop-ch.c: New file.
+ 	* Makefile.in (tree-ssa-loop-ch.o): Add.
+ 	(tree-into-ssa.o): Add GGC_H dependency.
+ 	* tree-cfg.c (tree_duplicate_bb): Copy virtual arguments.
+ 	* tree-flow.h (rewrite_into_ssa): Declaration changed.
+ 	(rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name):
+ 	Declare.
+ 	* tree-into-ssa.c: Include ggc.h.
+ 	(struct def_blocks_d): Add phi_blocks field.
+ 	(struct mark_def_sites_global_data): Add names_to_rename field.
+ 	(struct ssa_name_info): New.
+ 	(compute_global_livein): Export.
+ 	(set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block,
+ 	insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for,
+ 	register_new_def, get_reaching_def, def_blocks_free,
+ 	get_def_blocks_for, rewrite_into_ssa): Modified to work with
+ 	rewrite_ssa_into_ssa.
+ 	(get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def,
+ 	set_current_def, ssa_mark_def_sites_initialize_block,
+ 	ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name,
+ 	ssa_register_new_def, ssa_rewrite_initialize_block,
+ 	ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block,
+ 	ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New
+ 	functions.
+ 	(pass_build_ssa): Call rewrite_all_into_ssa.
+ 	* tree-optimize.c (execute_todo, execute_one_pass,
+ 	tree_rest_of_compilation): Allocate vars_to_rename only once.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter
+ 	to rewrite_into_ssa.
+ 	* tree-ssa-loop.c (should_duplicate_loop_header_p,
+ 	mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p,
+ 	copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c.
+ 	Use rewrite_ssa_into_ssa.
+ 	* tree-ssa-operands.c (copy_virtual_operands): New function.
+ 	* tree-ssa-operands.h (copy_virtual_operands): Declare.
+ 	* tree.h (struct tree_ssa_name): Add aux field.
+ 	(SSA_NAME_AUX): New macro to access it.
+ 
+ 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+ 
+ 	* prefix.c (lookup_key): Cast buffer to LPBYTE.
+ 
+ 2004-06-30  Per Bothner  <per@bothner.com>
+ 
+ 	Conditionally compile support for --enable-mapped_location.
+ 	* input.h:  #include line-map.h for source_location typedef.
+ 	(BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location,
+ 	LOCATION_FILE, LOCATION_LINE):  New macros and functions.
+ 	(expanded_location, source_locus):  New typedefs.
+ 	(push_srcloc):  Change parameter list if USE_MAPPED_LOCATION.
+ 	* rtl.def (NOTE, ASM_OPERANDS):  Modify specifcation, if
+ 	USE_MAPPED_LOCATION.
+ 	* rtl.h (NOTE_DELETED_LABEL_NAME):  New macro.
+ 	(NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED):
+ 	New conditional macros.
+ 	(ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE):  Replace
+ 	by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION.
+ 	* tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION,
+ 	EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO,
+ 	DECL_IS_BUILTIN):  New macros, most depending on USE_MAPPED__LOCATION.
+ 	(tree_exp):  Change type of locus to use new source_locus typedef.
+ 	* tree.c (build1_stat):  Use SET_EXPR_LOCATION.
+ 	(annotate_with_locus, annotate_with_file_line):  Conditionalize.
+ 	(expand_location):  New function.
+ 	* toplev.c (unknown_location):  New static, when USE_MAPPED_LOCATION.
+ 	(push_srcloc, pop_loc):  Adjust parameter handling.
+ 	(process_options):  Don't set input_filename by itself.
+ 	(lang_dependent_init):  Save, set input_location to <built-in>.
+ 	(warn_deprecated_use):  Use expand_location.
+ 
+ 	* basic-block.h (struct edge_def):  Use new source_locus typedef.
+ 	* c-common.c (fname_decl):  Update save/clear/store of input_location.
+ 	(c_do_switch_warnings):  Update for USE_MAPPED_LOCATION case.
+ 	* c-decl.c:  Likewise.
+ 	* c-dump.c (dump_stmt):  Likewise.
+ 	* c-gimplify.c (c-gimplify.c):  Generalize using SET_EXPR_LOCATION.
+ 	* c-lex.c (cb_line_change):  If USE_MAPPED_LOCATION use token's	src_loc
+ 	to set input_location direction, rather than using linemap_lookup.
+ 	(fe_file_change, cb_def_pragma):  Again use source_location directly.
+ 	* c-opts.c (saved_lineno):  Remove static variable.
+ 	(c_common_post_options, c_common_init):  Don't bothner to save,
+ 	clear and restore input_Location - now handled by lang_dependent_init.
+ 	* function.c (init_function_start):  Use new DECL_IS_BUILTIN macro.
+ 	* xcoffout.c (xcoff_assign_fundamental_type_number):  Likewise.
+ 	* tree-mudflap.c (mf_file_function_line_tree):  Take a location_t
+ 	rather than a pointer to one.  Use expand_location.
+ 	(mf_varname_tree):  Use expand_location.
+ 	* tree-dump.c:  Use expand_location on DECL_SOURCE_LOCATION.
+ 	* coverage.c:  Likewise.
+ 	* print-tree.c:  Likewise.
+ 	* c-aux-info.c (gen_aux_info_record):  Likewise.
+ 	* c-parse.in:  Use SET_EXPR_LOCATION macro.
+ 	* gimple-low.c:  Likewise.
+ 	* tree-mudflap.c:  Likewise.
+ 	* gimplify.c:  Likewise.  Also use EXPR_LOCATION and EXPR_HAS_LOCATION.
+ 	* c-ppoutput.c:  Use new source_location typedef instead of fileline.
+ 	* c-semantics.c:  Use new macros.
+ 	* c-typeck.c:  Likewise.
+ 	* cfgexpand.c:  Handle USE_MAPPED_LOCATION case for function_end_locus.
+ 	* cfglayout.c (insn_locators_initialize):  Const cleanup.  New macros.
+ 	* cfgrtl.c (delete_insn):  Use new NOTE_DELETED_LABEL_NAME macro.
+ 	* print-rtl.c (print_rtx):  Likewise.
+ 	* emit-rtl.c:  Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
+ 	* combine.c:  Use new SET_INSN_DELETED macro.
+ 	* flow.c:  Likewise.
+ 	* haifa-sched.c:  Likewise.
+ 	* ifcvt.c:  Likewise.
+ 	* recog.c:  Likewise.
+ 	* reload1.c:  Likewise.
+ 	* diagnostic.c:  Use expand_location macro.
+ 	* pretty-print.c (pp_base_format_text):  Likewise.
+ 	* profile.c:  Likewise.
+  	* dwarf2out.c:  Likewise.  Also use expand_location, DECL_IS_BUILTIN.
+  	* dwarf2out.c (dwarf2out_decl:  Use BUILTINS_LOCATION.
+ 	* emit-rtl.c (emit_line_note):  Simplify if USE_MAPPED_LOCATION.
+ 	(force_next_line_note, insn_emit):  Handle USE_MAPPED_LOCATION case.
+ 	* final.c (final):  Likewise.
+ 	* haifa-sched.c:  Likewise.
+ 	* integrate.c:  Likewise.
+ 	* jump.c:  Likewise.
+ 	* rtl-error.c:  Likewise.
+ 	* stmt.c (check_seenlabel):  Likewise.
+ 	* tree-pretty-print.c:  Likewise.
+ 	* gengtype-lex.l:  Temporary kludge to avoid duplicate typedef.
+ 	* gengtype.c:  Update for now typdefs in input.h.  More kludges.
+ 	* modulo-sched.c (sms_schedule):  Use NOTE_EXPANDED_LOCATION macro.
+ 	* ra-debug.c (ra_print_rtl):  Likewise.
+ 	* sched-rgn.c:  Likewise.
+ 	* sched-vis.c:  Likewise.
+ 	* rtl.h (gen_rtx_ASM_OPERANDS):  Redefine if USE_MAPPED_LOCATION.
+ 	* stmt.c (expand_asm_operands):  Adjust calls to gen_rtx_ASM_OPERANDS.
+ 	* tree-cfg.c:  Use new macros and typedefs.
+ 	* tree-flow-inline.h:  Likewise.
+ 
+ 2004-06-30  Richard Sandiford  <rsandifo@redhat.com>
+ 	    Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/3000.md: Improve description.
+ 
+ 2004-06-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn,
+ 	cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads.
+ 
+ 2004-06-30  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-chrec.o.
+ 	(tree-chrec.o): New rule.
+ 	(GTFILES): Add tree-chrec.h.
+ 	* gengtype.c (open_base_files): Add tree-chrec.h.
+ 	* tree-chrec.c: New file.
+ 	* tree-chrec.h: New file.
+ 	* tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes.
+ 
+ 2004-06-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c: Include "output.h" to define dump_file.
+ 	(uid_insn_cost, last_insn_cost): New global variables.
+ 	(combine_insn_cost): New function to estimate cost of an insn.
+ 	(combine_validate_cost): New function to determine whether a
+ 	try_combine replacement sequence is cheaper than the original.
+ 	(combine_instructions): Allocate and populate uid_insn_cost
+ 	array at the start of the combine pass, and deallocate it after.
+ 	(try_combine): Check combine_validate_cost to determine whether
+ 	a "recombination" should be rejected as being more expensive.
+ 	* Makefile.in (combine.o): Add dependency upon output.h.
+ 
+ 2004-06-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle
+ 	subtractions identically to additions, always COSTS_N_INSNS (1).
+ 
+ 2004-06-30  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* expmed.c (expand_smod_pow2): Fix sign of mask.
+ 
+ 2004-06-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant
+ 	to check for constants.
+ 	(set_remove): Likewise.
+ 	(value_replace_in_set): Likewise.
+ 	(find_leader): Likewise.
+ 	* tree-vn.c (set_value_handle): Likewise.
+ 	(vn_lookup): Likewise.
+ 	(vn_lookup_or_add): Likewise.
+ 
+ 2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	RTL prologue/epilogue for SPARC
+ 	* config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete.
+ 	(sparc_skip_caller_unimp): Likewise.
+ 	(load_pic_register): Likewise.
+ 	(leaf_return_peephole_ok): Likewise.
+ 	(compute_frame_size): Rename into sparc_compute_frame_size.
+ 	(sparc_expand_prologue): New prototype.
+ 	(sparc_expand_epilogue): Likewise.
+ 	(output_return): Likewise.
+ 	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
+ 	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to
+ 	compute_frame_size.  Move comment up.
+ 	(DELAY_SLOTS_FOR_EPILOGUE): Delete.
+ 	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
+ 	(EPILOGUE_USES): Return true for %g1 if the function uses EH return.
+ 	* config/sparc/sparc.md (UNSPECV_SAVEW): New constant.
+ 	(type attribute): Add 'return' and 'savew'.
+ 	(eligible_for_return_delay): New attribute.
+ 	(return): New delay_slot.
+ 	(sibcall_epilogue): Call sparc_expand_epilogue.
+ 	(prologue): Likewise.  Move up.
+ 	(save_register_window): New expander.
+ 	(save_register_windowsi): New pattern.
+ 	(save_register_windowdi): Likewise.
+ 	(epilogue): New expander.
+ 	(return_internal): New pattern.
+ 	(Return peepholes): Delete.
+ 	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro.
+ 	(sparc_emitting_epilogue): Delete.
+ 	(sparc_skip_caller_unimp): Likewise.
+ 	(sparc_sr_alias_set): New global variable.
+ 	(frame_base_name): Delete.
+ 	(frame_base_reg): New global variable.
+ 	(sparc_override_options): Get new alias set for save/restore.
+ 	(leaf_return_peephole_ok): Delete.
+ 	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
+ 	Factor out code into eligible_for_restore_insn_delay.
+ 	(eligible_for_restore_insn_delay): New function extraced from above.
+ 	Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE.
+ 	(eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P.
+ 	Factor out code into eligible_for_restore_insn_delay.
+ 	(load_pic_register): Make static.  Remove check.
+ 	(save_regs): Delete.
+ 	(restore_regs): Likewise.
+ 	(compute_frame_size): Rename into sparc_compute_frame_size.
+ 	Rename leaf_function into leaf_function_p.
+ 	(build_big_number): Delete.
+ 	(save_or_restore_regs): New function.
+ 	(emit_save_regs): Likewise.
+ 	(emit_restore_regs): Likewise.
+ 	(emit_stack_pointer_increment ): Likewise.
+ 	(emit_stack_pointer_decrement): Likewise.
+ 	(sparc_expand_prologue): Likewise.
+ 	(sparc_function_prologue): Rename into sparc_asm_function_prologue.
+ 	Remove all code to emit instructions.
+ 	(sparc_expand_epilogue): New function.
+ 	(sparc_function_epilogue): Rename into sparc_asm_function_epilogue.
+ 	Remove all code to emit instructions.
+ 	(output_restore): New function.
+ 	(output_return): Likewise.
+ 	(output_sibcall): Factor out code into output_restore.
+ 	(print_operand): Adjust for frame_base_reg.
+ 	* target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'.
+ 	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define.
+ 	(TARGET_INITIALIZER): Add it.
+ 	* passes.c (rest_of_compilation): Set the conditional predicate
+ 	'current_function_uses_only_leaf_regs' before sched2.  If target
+ 	has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right
+ 	before sched2.
+ 	* reorg.c (return_insn_p): New predicate.
+ 	(find_end_label): Use it.
+ 	(relax_delay_slots): Do not thread an unconditional jump that points
+ 	to the end return label.
+ 	* doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity
+ 	domain of 'current_function_uses_only_leaf_regs'.
+ 	(Stack and Calling) <Function Entry>: Document new target hook
+ 	TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
+ 
+ 2004-06-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Simplify
+ 	((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and
+ 	N has at least all bits in M set as well.
+ 
+ 	PR tree-optimization/15310
+ 	* expr.c (expand_assignment): Optimize += or -= on a bit field in
+ 	most significant bits.
+ 
+ 2004-06-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/c4x/c4x.md: Fix comment.
+ 
+ 2004-06-30  Akos Kiss  <akiss@inf.u-szeged.hu>
+ 
+ 	* arm.md (cond_return_inverted): Add "length" attribute.
+ 
+ 2004-06-29  Per Bothner  <per@bothner.com>
+ 
+ 	* config/i386/winnt.c (i386_pe_encode_section_info):  Smash rtlname's
+ 	XSTR in place, so we don't lose SYMBOL_REF_DECL info.
+ 
+ 2004-06-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h: Target does too support thread-local storage.
+ 
+ 2004-06-29  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* combine.c (distribute_notes): Don't look at global_regs for
+ 	pseudos.
+ 
+ 2004-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (gimplify_modify_expr_rhs): Move immediately before
+ 	gimplify_modify_expr.
+ 	(gimplify_init_constructor): Likewise.  Gimplify the null
+ 	CONSTRUCTOR assignment.
+ 	(gimplify_modify_expr_to_memcpy): New.
+ 	(gimplify_modify_expr_to_memset): New.
+ 	(gimplify_modify_expr): Use them.
+ 
+ 2004-06-29  Roman Zippel <zippel@linux-m68k.org>
+ 
+ 	* web.c (union_defs): use all defs of an instruction to create a
+ 	union with a read/write use
+ 
+ 2004-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/16216
+ 	* builtins.c (gimplify_va_arg_expr): Check for valist being
+ 	an error_mark_node.
+ 
+ 2004-06-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/16195
+ 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
+ 	r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
+ 	(first_reg_to_save): Pretend call_used_regs[30] is 0 if
+ 	TARGET_TOC && TARGET_MINIMAL_TOC.
+ 	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
+ 
+ 2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	Fix gcc.dg/builtin-apply2.c failures:
+ 	* sh.h (TARGET_VARARGS_PRETEND_ARGS): Define.
+ 	* sh.c (extra_push): Delete.
+ 	(sh_expand_prologue): Don't do extra stack adjustment for
+ 	current_function_pretend_args_size if it comes from varargs setup.
+ 	Use TARGET_VARARGS_PRETEND_ARGS.  Don't set extra_push.
+ 	(sh_expand_epilogue): Don't use extra_push.
+ 	(sh_setup_incoming_varargs): Set pretend_arg_size when necessary.
+ 
+ 2004-06-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_smod_pow2): Provide alternate implementations
+ 	that avoid conditional jumps, and choose between them based upon
+ 	the target's rtx_costs.
+ 
+ 2004-06-29  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* tree-sra.c: Include expr.h for definition of MOVE_RATIO.
+ 	* Makefile.in (tree-sra.c): Update dependencies.
+ 
+ 2004-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-sra.c: Rewrite from scratch.  Handle nested aggregates.
+ 
+ 2004-06-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
+ 	size_t is bigger than int.
+ 
+ 2004-06-29  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
+ 	TARGET_CXX_COOKIE_HAS_SIZE): Define.
+ 	(TARGET_CXX): Use them.
+ 	* target.h (struct gcc_target): Add cxx.get_cookie_size and
+ 	cxx.cookie_has_size.
+ 	* targhooks.c (default_cxx_get_cookie_size): New fucntion.
+ 	* targhooks.h (default_cxx_get_cookie_size): Add prototype.
+ 	* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
+ 	TARGET_CXX_COOKIE_HAS_SIZE): Define.
+ 	(arm_get_cookie_size, arm_cookie_has_size): New functions.
+ 	* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
+ 	* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
+ 	TARGET_CXX_COOKIE_HAS_SIZE.
+ 
+ 2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Don't do anything for
+ 	e_fall->dest == EXIT_BLOCK_PTR.
+ 
+ 2004-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-cfg.c (verify_stmt): Add last_in_block parameter.  Verify
+ 	that eh stmts can throw.
+ 	(verify_stmts): Update verify_stmt call.
+ 	(tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
+ 	* tree-eh.c (remove_stmt_from_eh_region): New.
+ 	(lower_eh_constructs): Fix throw_stmt_table delete routine.
+ 	(tree_could_trap_p): Match may_trap_p.
+ 	(maybe_clean_eh_stmt): New.
+ 	* tree-flow.h: Update decls.
+ 	* tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
+ 	(substitute_and_fold): Clean eh edges.
+ 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
+ 	empty basic blocks.
+ 	* tree-ssa-dom.c (need_eh_cleanup): New.
+ 	(tree_ssa_dominator_optimize): Allocate it.  Cleanup eh edges.
+ 	(optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
+ 
+ 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* function.c (assign_parms): Don't abort with zero size stack
+ 	parm failing the PARM_BOUNDARY check.
+ 
+ 2004-06-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* common.opt (ftree-fre): New flag.
+ 	* flags.h (flag_tree_fre): Declare.
+ 	* opts.c (decode_options): Set.
+ 	* timevar.def (TV_TREE_FRE): Define.
+ 	* tree-flow-inline.h (may_propagate_copy): Re-arrange for
+ 	readability.  Handle destinations that are not SSA_NAMEs.
+ 	* tree-flow.h (struct ptr_info_def): Move from tree.h
+ 	(cprop_into_stmt, cprop_into_successor_phis): Remove.
+ 	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
+ 	vuse_optype parameter.
+ 	* tree-pass.h (pass_fre): Declare.
+ 	* tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
+ 	(cprop_into_stmt): Likewise.
+ 	(cprop_into_successor_phis): Likewise.
+ 	* tree-ssa-dom.c (eliminate_redundant_computations): Fix
+ 	argument ordering in call to may_propagate_copy.
+ 	* tree-ssa-pre.c (is_undefined_value): Assume hard registers
+ 	to be always defined.
+ 	(add_to_sets): New local function.
+ 	(create_value_expr_from): New local function.
+ 	(compute_avail): Call them.
+ 	(eliminate): Don't ignore statements with virtual operands.
+ 	(init_pre): New local function.
+ 	(fini_pre): New local function.
+ 	(execute_pre): Call them.
+ 	Add argument DO_FRE.  Don't do insertion if DO_FRE is true.
+ 	(do_pre): New function.
+ 	(do_fre): New function.
+ 	(gate_fre): New function.
+ 	(pass_fre): Declare.
+ 	* tree-ssa.c (init_tree_ssa): Don't call vn_init.
+ 	(delete_tree_ssa): Don't call vn_delete.
+ 	* tree-vn.c (val_expr_pair_d): Add documentation.
+ 	(vn_compute): Add VUSES argument to incorporate in computing
+ 	hash values.  Update all callers.
+ 	(expressions_equal_p): Call operand_equal_p with
+ 	OEP_PURE_SAME.
+ 	(vn_add): Add VUSES argument.  Update all callers.
+ 	(vn_lookup): Likewise.
+ 	(vn_lookup_or_add): Likewise.
+ 	* doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.
+ 
+ 2004-06-28  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
+ 	m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
+ 	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
+ 	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
+ 	* config/m32r/m32r.md: Rewrite the pipeline description as a DFA.
+ 
+ 2004-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
+ 	* fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
+ 	IMAGPART_EXPR.
+ 	* tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
+ 	IMAGPART_EXPR explicitly.
+ 	* tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
+ 	and IMAGPART_EXPR specially.
+ 	* tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
+ 
+ 2004-06-28  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
+ 
+ 2004-06-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* builtins.def (execl, execlp, execle, execv, execvp, execve,
+ 	fork): Change to DEF_EXT_LIB_BUILTIN.
+ 
+ 2004-06-28  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_smod_pow2): New function to expand signed
+ 	remainder by a constant power of 2, such as "x % 16".
+ 	(expand_divmod): Call new expand_smod_pow2 when appropriate.
+ 	Minor corrections to comments, e.g. wrapping long lines.
+ 
+ 2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* Makefile.in (vec.o): Fix dependencies.
+ 
+ 2004-06-28  Andreas Tobler <a.tobler@schweiz.ch>
+ 
+ 	* Makefile.in: Fix parallel make dependency problem on vec.o.
+ 
+ 2004-06-28  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
+ 
+ 	PR target/14041
+ 	* config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define.
+ 
+ 2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree.h (tree_check_failed): Make varadic.
+ 	(tree_not_check_failed): New prototype.
+ 	(tree_check2_failed, tree_check3_failed,
+ 	tree_check4_failed, tree_check5_failed): Remove.
+ 	(TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4,
+ 	TREE_CHECK5): Adjust.
+ 	(TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4,
+ 	TREE_NOT_CHECK5): New.
+ 	(TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE,
+ 	TREE_RTL_OPERAND_CHECK): Adjust.
+ 	* tree.c (tree_check_failed): Make varadic.
+ 	(tree_not_check_failed): New.
+ 	(tree_check2_failed, tree_check3_failed,
+ 	tree_check4_failed, tree_check5_failed): Remove.
+ 
+ 2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (can_combine_p): Do not prevent building insns that use
+ 	and clobber the same fixed hard register.
+ 	(reg_dead_at_p): Likewise.
+ 
+ 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers
+ 	changed.
+ 	(is_sra_candidate_complex_ref): New function.
+ 	(scalarize_modify_expr): Call it and check for LHS also.
+ 
+ 	* tree-pretty-print.c (dump_function_declaration): New.
+ 	(dump_generic_node, case FUNCTION_TYPE): Call it.
+ 	(dump_generic_node, case RECORD_TYPE): Don't output dup semicolon.
+ 	(dump_generic_node, case DECL_EXPR): New case.
+ 	(dump_generic_node, case PLACEHOLDER_EXPR): Handle.
+ 	(print_declaration): Handle type and function declarations.
+ 
+ 	* tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
+ 	(convert_nonlocal_reference, convert_local_reference): Properly
+ 	convert nest of handled component references.
+ 
+ 2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h, vec.c: New, type safe vector API.
+ 	* Makefile.in (OBJS-common): Add vec.o.
+ 	(vec.o): New target.
+ 	(gengtype-lex.o): Depend on vec.h.
+ 
+ 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* fold-const.c (fold_cond_expr_with_comparison): Add ARG1
+ 	parameter.  Use it instead of ARG00 to produce the result.
+ 
+ 2004-06-28  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300-protos.h (legitimate_address_p): Declare.
+ 	* config/mn10300/mn10300.c (legitimate_address_p): New.  Test that
+ 	index is legitimate, compared with code moved from...
+ 	* config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here.
+ 	(REG_STRICT): Define, according to REG_OK_STRICT.
+ 	(REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P,
+ 	REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict
+ 	argument.
+ 	(REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P,
+ 	REGNO_STRICT_OK_FOR_INDEX_P): New.
+ 	(REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P,
+ 	REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P,
+ 	RTX_OK_FOR_BASE_P): Use them.
+ 
+ 2004-06-28  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/cfg.texi (Basic Blocks): Define dominators.
+ 
+ 2004-06-27  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c++/16205
+ 	* c-common.c (warn_for_collisions_1): Warn for only decls which
+ 	have a name.
+ 
+ 	PR c++/15145
+ 	* c.opt (Wsequence-point): Enable for C++ and ObjC++.
+ 
+ 	PR c/14963
+ 	* c-decl.c (start_decl): Check for null types.
+ 
+ 2004-06-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
+ 	Accept TOC addresses.
+ 
+ 2004-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_load_got): Update prototype.
+ 	* config/s390/s390.c (struct machine_function): Add member base_reg.
+ 	(s390_decompose_address): Accept UNSPEC_LTREF.  Simplify logic.
+ 	(s390_split_branches): Annotate late pool references.
+ 	(annotate_constant_pool_refs): New function.
+ 	(find_constant_pool_ref): Work on annotated pool references.
+ 	(replace_constant_pool_ref): Likewise.  Use explicit base.
+ 	(replace_ltrel_base): Use explicit base.
+ 	(s390_mainpool_start): Reflect main_pool pattern change.
+ 	(s390_mainpool_finish): Use base register from main_pool.
+ 	Update calls to replace_ltrel_base and replace_constant_pool_ref.
+ 	(s390_chunkify_start): Use base_reg from struct machine_function.
+ 	(s390_chunkify_finish): Remove base_reg argument.  Update calls
+ 	to replace_ltrel_base and replace_constant_pool_ref.
+ 	(s390_reorg): Don't decide upon base register.  Update calls.
+ 	(s390_load_got): Remove MAYBE_DEAD handling.  Do not emit insns
+ 	but return sequence instead.
+ 	(s390_emit_prologue): Decide upon base register to use.  Annotate
+ 	all literal pool references.  Adapt to main_pool pattern change.
+ 	Update s390_load_got call; move MAYBE_DEAD handling here.
+ 	(s390_emit_epilogue): Annotate late literal pool references.
+ 	Remove barrier before register restore instruction.
+ 	* config/s390/s390.md (UNSPEC_LTREF): New constant.
+ 	("builtin_setjmp_receiver"): Update s390_load_got call.
+ 	("main_pool"): Explicitly reference base register.
+ 
+ 2004-06-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1.
+ 	<BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1.
+ 	<BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0.
+ 	<TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false.
+ 	<TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true.
+ 	<TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true.  Now that
+ 	TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0
+ 	is a constant.
+ 
+ 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
+ 	* c-common.def (DECL_STMT): Remove.
+ 	* c-common.h (DECL_STMT_DECL): Deleted.
+ 	(COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
+ 	(c_safe_from_p, c_walk_subtrees): Deleted.
+ 	* c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
+ 	* c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
+ 	* c-gimplify.c (gimplify_decl_stmt): Deleted.
+ 	(gimplify_compound_literal_expr): Use DECL_EXPR_DECL
+ 	and gimplify_and_add.
+ 	(c_gimplify_expr, case DECL_EXPR): New case.
+ 	(c_gimplify_expr, case DECL_STMT): Deleted.
+ 	* c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
+ 	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
+ 	* expr.c (safe_from_p, case 's'): New case.
+ 	* gimplify.c (gimplify_decl_expr): New function.
+ 	(gimplify_expr, case DECL_EXPR): New case.
+ 	* tree-inline.c (walk_tree): Walk into all fields of a type and
+ 	decl only if they are in a DECL_EXPR.
+ 	(mark_local_for_remap_r): Minor code cleanup.
+ 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
+ 	* tree.c (has_cleanups, case DECL_EXPR): New case.
+ 	* tree.def (DECL_EXPR): New code.
+ 	* tree.h (DECL_EXPR_DECL): New macro.
+ 
+ 	* objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
+ 
+ 2004-06-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR 13334
+ 	* doc/install.texi: Document non-standard CFLAGS and bootstrap
+ 	failures and warnings.
+ 
+ 2004-06-26  Andrew Haley  <aph@redhat.com>
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
+ 	TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
+ 	* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
+ 	* tree.h (TREE_THIS_NOTRAP): New.
+ 
+ 2004-06-26  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* genattrtab.c (write_test_expr): Put a unsigned cast before
+ 	the first operand for GEU, GTU, LEU and LTU.
+ 
+ 2004-06-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c,
+ 	gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c,
+ 	tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c,
+ 	tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c,
+ 	tree-tailcall.c: Fix comment typos.  Follow spelling
+ 	conventions.
+ 
+ 2004-06-25  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md: Add back scheduling exclusion info.
+ 
+ 2004-06-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (seq_contains_jump): Delete function.
+ 	(end_ifcvt_sequence): Replace call to seq_contains_jump with an
+ 	inline test for a jump instruction in the existing "insn" loop.
+ 	(block_fallthru): Document function.
+ 
+ 2004-06-25  Philip Blundell  <philb@gnu.org>
+ 
+ 	PR wrong-code/15089
+ 	* loop.c (scan_loop): Do not move user-specified register
+ 	assignments.
+ 
+ 2004-06-25  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-common.h (warn_cast_qual, warn_missing_format_attribute,
+ 	warn_pointer_arith, warn_missing_prototypes, warn_parentheses,
+ 	warn_missing_braces, warn_sign_compare, warn_long_long,
+ 	warn_redundant_decls, warn_float_equal, warn_char_subscripts,
+ 	warn_conversion, warn_format_y2k, warn_format_extra_args,
+ 	warn_format_zero_length, warn_format_nonliteral,
+ 	warn_format_security, mesg_implicit_function_declaration,
+ 	warn_bad_function_cast, warn_traditional,
+ 	warn_declaration_after_statement, warn_strict_prototypes,
+ 	warn_missing_declarations, warn_nested_externs,
+ 	warn_sequence_point, warn_init_self, warn_div_by_zero,
+ 	warn_implicit_int, warn_nonnull, warn_old_style_definition,
+ 	warn_selector, warn_undeclared_selector, warn_protocol,
+ 	warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy,
+ 	warn_overloaded_virtual, warn_nonvdtor, warn_reorder,
+ 	warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo,
+ 	warn_old_style_cast, warn_nontemplate_friend,
+ 	warn_deprecated): Remove explicit declarations.
+ 	* c-common.c: Likewise, remove explicit definitions.
+ 	* c-opts.c: Likewise, remove explicit assignments.
+ 	* c.opts: Likewise, add implicit declare/define/assign.
+ 
+ 2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
+ 	(build_addr_expr_with_type): Deleted.
+ 	(build_addr_expr): Deleted; callers changed to build_fold_addr_expr.
+ 	(gimplify_compound_lval): Make two passes over reference nest.
+ 
+ 	* tree-nested.c (build_addr): Merge real/imagpart with
+ 	handled_component_p.
+ 	(convert_nonlocal_reference, convert_local_reference): Process extra
+ 	args to COMPONENT_REF and ARRAY_REF.
+ 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for
+ 	lower bound and field offset being constant.
+ 
+ 2004-06-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR wrong-code/16129
+ 	* alias.c (get_alias_set): Adjust setting of
+ 	DECL_POINTER_ALIAS_SET for pointers to aggregates.
+ 
+ 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-inline.c (remap_type): Arrange to have just one pointer type
+ 	for each type, mode, and 'can alias' value.
+ 	(setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL.
+ 	(estimate_num_insns_1): Minor code reformatting.
+ 	(inline_forbidden_p_1): Likewise; add; missing return statement.
+ 
+ 2004-06-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/15825
+ 	* ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence.
+ 	Use get_isns and end_sequence instead of accepting a seq argument.
+ 	Scan the instruction sequence for unrecognizable or jump insns.
+ 	(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
+ 	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
+ 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
+ 	noce_try_sign_mask): Use end_ifcvt_sequence to factor common code.
+ 
+ 2004-06-24  Jeff Law  <law@redhat.com>
+ 
+ 	* gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS
+ 	after gimplifying the innermost component.
+ 
+ 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16176
+ 	* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
+ 	register for the destination of the lwl or ldl.
+ 
+ 2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
+ 	handled_component_p handling.
+ 	* tree-gimple.c (get_base_address): Likewise and fix typo that
+ 	caused both recursion and looping.
+ 
+ 	* tree-cfg.c (verify_expr): Add macro CHECK_OK.
+ 	Properly test for nest of handled_components in LHS context.
+ 
+ 2004-06-25  Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
+ 
+ 2004-06-25  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
+ 	TARGET_CXX): Define.
+ 	(TARGET_INITIALIZER): Use TARGET_CXX.
+ 	* target.h (struct gcc_target): Add struct cxx.
+ 	* targhooks.h (default_cxx_guard_type): Add prototype.
+ 	* targhooks.c (default_cxx_guard_type): New function.
+ 	* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
+ 	Define.
+ 	(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
+ 	* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
+ 	TARGET_CXX_GUARD_MASK_BIT.
+ 
+ 2004-06-25  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
+ 	* config/i386/darwin.h (CC1_SPEC): Same.
+ 
+ 2004-06-25  Mark G. Adams  <mark.g.adams@sympatico.ca>
+ 
+ 	* dbxout.h: Add include guards
+ 
+ 2004-06-25  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
+ 
+ 2004-06-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_arch4t): New variable.
+ 	(arm_override_options): Initialize it.  If compiling for armv5 or
+ 	higher clear TARGET_INTERWORK.
+ 	(output_call): Abort if called for armv5.  Use BX if it's available.
+ 	(output_call_mem): Use BLX if available and ensure that all armv5
+ 	code is interworking safe.
+ 	(output_return_instruction): Always use BX in preference to MOV if
+ 	it's available.
+ 	(arm_output_epilogue): Likewise.
+ 	(arm_final_prescan_insn): Never conditionally call a subroutine
+ 	on armv5.
+ 	* arm.h (arm_arch4t): Declare.
+ 	* arm.md (call_reg_armv5, call_value_reg_armv5): New.
+ 	(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
+ 	call_value_reg respectively.
+ 	(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
+ 	(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
+ 	and call_value_indirect respectively.
+ 
+ 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
+ 	in terms of const_float_1_operand.
+ 
+ 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/16144
+ 	* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
+ 	is 1.0; force it into a register instead.
+ 
+ 2004-06-25  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h: Restore valid comment removed by mistake with
+ 	the recent m68k comments cleanup.
+ 
+ 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
+ 	* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
+ 	(gimplify_loop_expr, gimplify_init_constructor): Likewise.
+ 	(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.
+ 
+ 	PR/16131
+ 	* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
+ 
+ 	* gimplify.c: Remove unneeded forward declarations.
+ 
+ 	* gimplify.c (append_to_compound_expr): Deleted.
+ 	* tree-gimple.h (append_to_compound_expr): Deleted.
+ 
+ 	* fold-const.c (fold_addr_expr_with_type): Look through all
+ 	valid LHS modifiers to find a base to mark addressable.
+ 
+ 	* tree.h (debug_find_tree): Add declaration.
+ 	* tree-inline.c (debug_find_tree): Remove extern declaration.
+ 
+ 2004-06-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Apply change mistakenly
+ 	deleted with 2004-06-22 patch.
+ 
+ 2004-06-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
+ 	(c_break_label, c_cont_label): New.
+ 	(start_function): Update initializations.
+ 	(c_push_function_context): Update saves.
+ 	(c_pop_function_context): Update restores.
+ 	* c-parse.in: Update expected conflicts.
+ 	(stmt_count, compstmt_count): Remove.  Remove all updates.
+ 	(if_prefix, simple_if, do_stmt_start): Remove.
+ 	(lineno_labeled_stmt): Remove.
+ 	(lineno_labels): New.
+ 	(c99_block_lineno_labeled_stmt): Use it.
+ 	(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
+ 	annotate_with_locus.
+ 	(select_or_iter_stmt): Replace by ...
+ 	(condition, if_statement_1, if_statement_2, if_statement,
+ 	start_break, start_continue, while_statement, do_statement,
+ 	for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
+ 	(stmt): Split out ...
+ 	(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
+ 	c_finish_goto_ptr.
+ 	* c-semantics.c (add_stmt): Don't add line numbers to labels.
+ 	* c-tree.h: Update prototypes.
+ 	(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
+ 	add x_break_label, x_cont_label, x_switch_stack.
+ 	(c_switch_stack): Declare.
+ 	* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
+ 	(c_finish_return): Return the statement.
+ 	(c_switch_stack): Rename from switch_stack; export.
+ 	(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
+ 	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
+ 	c_finish_else): Remove.
+ 	(c_finish_if_stmt): Rewrite to perform the entire operation.
+ 	(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
+ 	c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
+ 	c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
+ 	(c_finish_loop): New.
+ 	(c_finish_bc_stmt): New.
+ 	(c_finish_expr_stmt): Return the statement.  Split out...
+ 	(c_process_expr_stmt): ... this.  Don't add locus to error marks.
+ 	* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
+ 	* tree-gimple.c (is_gimple_stmt): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
+ 	(print_struct_decl): Delete empty compound statement.
+ 	* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
+ 	* objc/objc-act.h: Update decl.
+ 
+ 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
+ 	Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.
+ 
+ 2004-06-24  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* objc-act.c (build_objc_method_call): Save the lookup_object
+ 	so we do not call it twice.
+ 
+ 2004-06-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-dom.c (real_avail_expr_hash): New.
+ 	(tree_ssa_dominator_optimize): Use it in the htab.
+ 
+ 2004-06-24  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mx_register_decls): Add third (type) argument
+ 	to synthesized __mf_unregister call.
+ 
+ 2004-06-24  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/15239
+ 	* expmed.c (expand_mult): Remove artificial restriction on the
+ 	maximum cost of a synthetic multiplication sequence.
+ 
+ 2004-06-24  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* combine.c (distribute_notes): Don't delete sets to
+ 	global register variables.
+ 
+ 2004-06-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
+ 	(ffs_rex64): New splitter.
+ 	(ffsdi_1, ctzdi2, bsr_rex64): New instructions.
+ 
+ 2004-06-24  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/darwin7.h (MATH_LIBRARY): Remove.
+ 	(LIB_SPEC): Define.
+ 	* config/darwin.h (MATH_LIBRARY): Define always to empty.
+ 	(LIB_SPEC): Only define if not already defined.
+ 
+ 2004-06-24  Revital Eres  <eres@il.ibm.com>
+ 
+ 	* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
+ 	shifts of induction variable.
+ 	(iv_shift): New function.
+ 
+ 2004-06-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (gimplify_body): Watch for body vanishing.
+ 
+ 2004-06-24  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (record_dominating_conditions): New function.
+ 	(dom_opt_finalize_block, get_eq_expr_value): Use it.
+ 
+ 2004-06-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* calls.c (shift_returned_value): Fix handling of non-integer
+ 	TYPE_MODEs.
+ 
+ 2004-06-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
+ 	* system.h (DEFAULT_MAIN_RETURN): Poison.
+ 	* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.
+ 
+ 2004-06-24  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/cfg.texi (Edges): Fix typo.
+ 
+ 2004-06-24  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Remove excess checks.
+ 
+ 2004-06-23  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR middle-end/15988
+ 	* fold-const.c (fold_convert): Types which are compatible
+ 	can be converted with only a NOP_EXPR.
+ 
+ 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
+ 	pass raw n_named_args to it.
+ 	* targhooks.c: Formatting.
+ 	(hook_bool_CUMULATIVE_ARGS_false): Correct comment.
+ 
+ 2004-06-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
+ 	non-constant size check.  Gimplify the type too.  Tidy building
+ 	BUILT_IN_STACK_ALLOC call.
+ 
+ 2004-06-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.c (expand_unordered_cmp): Delete.
+ 	(expand_tree_builtin): Delete.
+ 	* c-common.h (expand_tree_builtin): Delete function prototype.
+ 	* c-typeck.c (build_function_call): Don't call expand_tree_builtin.
+ 
+ 2004-06-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
+ 	COMPONENT_REF variable fields unless they're non-constant.
+ 
+ 2004-06-23  Robert Millan  <robertmh@gnu.org>
+ 
+ 	* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
+ 	* config/i386/linux.h: Allow overriding of LINK_EMULATION,
+ 	  DYNAMIC_LINKER and register names in sc_ structure.
+ 	* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
+ 	* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
+ 	* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
+ 	* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
+ 
+ 	* config/kfreebsdgnu.h: Remove.
+ 	* config/t-kfreebsd-gnu: Likewise.
+ 	* config/i386/kfreebsdgnu.h: Likewise.
+ 
+ 2004-06-23  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* fold-const.c (make_range): Cleanup type checking through function.
+ 	Remove orig_type. Replace with checks to exp_type and arg0_type.
+ 	Clarify comment when converting from unsigned to signed.
+ 
+ 2004-06-23  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
+ 	* config/mips/mips.md: Remove R3000 scheduling description.
+ 	* config/mips/3000.md: New file.
+ 
+ 2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
+ 	(s390_emit_jump): Likewise.
+ 	* config/s390/s390.c (s390_emit_compare): New function.
+ 	(s390_emit_jump): Likewise.
+ 	* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
+ 	"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
+ 	"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
+ 	and s390_emit_jump.
+ 	("cjump"): Remove, replace by ...
+ 	("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
+ 	("icjump", "*icjump_64", "*icjump_31"): Likewise.
+ 	("trap"): Fix type attribute.
+ 	("conditional_trap"): Use s390_emit_compare.
+ 	("doloop_si"): Remove, replace by ...
+ 	("doloop_si64", "doloop_si31"): ... these new insn_and_split.
+ 	Merge existing splitter into insn_and_split.  Improve length default.
+ 	("doloop_di"): Merge with existing splitter into insn_and_split.
+ 	("doloop"): Adapt.
+ 	("jump"): Convert to expander.  Use s390_emit_jump.
+ 	("*jump_64", "*jump_31"): New insns.  Improve length default.
+ 
+ 2004-06-23  Wu Yongwei  <adah@sh163.net>
+ 
+ 	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
+ 	(__gthr_i486_lock_cmp_xchg): New inline assembly function.
+ 	(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
+ 	suitable function for interlocked compare-and-exchange.
+ 	(__gthread_mutex_trylock): Use
+ 	__GTHR_W32_InterlockedCompareExchange.
+ 	(__gthread_mutex_init_function, __gthread_mutex_lock,
+ 	__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
+ 	initial counter value to work correctly under Windows 95.
+ 	* config/i386/gthr-win32.c: Adjust include order.
+ 	Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
+ 	gthr-win32.h.
+ 	(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
+ 	__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
+ 	to match inline versions in gthr-win32.h.
+ 
+ 2004-06-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
+ 	(insvdi_rshift_rlwimi_p): New function.
+ 	* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
+ 	(extendsfdf2): Convert to define_insn_and_split.
+ 	* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.
+ 
+ 2004-06-23  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
+ 	type qualifiers at all.
+ 	If both of the type domains are null and the new element type is
+ 	the same as one of the, return the one which the element type.
+ 	matches.
+ 	Do not call qualify_type on the new type.
+ 
+ 2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.
+ 
+ 2004-06-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* convert.c (strip_float_extension): Skip both NOP_EXPR and
+ 	CONVERT_EXPR floating point extensions.
+ 
+ 2004-06-23  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* Makefile.in (tree-vn.o): New.
+ 	(tree-ssa-pre.o): Don't depend on RTL_H.
+ 	* tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa.
+ 	* tree-flow.h (struct var_ann_d): Remove field expr_set.
+ 	(add_to_value, expressions_equal_p, get_value_handle, vn_compute,
+ 	vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare.
+ 	* tree-optimize.c (execute_init_datastructures): New local function.
+ 	(pass_init_datastructures): New local variable.
+ 	(init_tree_optimization_passes): Sequence pass_init_datastructures.
+ 	* tree-pretty-print.c (MASK_POINTER): Remove.
+ 	(dump_generic_node): Handle VALUE_HANDLE.
+ 	* tree-ssa-pre.c: Move all value numbering routines to tree-vn.c.
+ 	Update callers to use new function names.
+ 	Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of
+ 	variable annotations.
+ 	* tree-ssa.c (init_tree_ssa): Call vn_init.
+ 	(delete_tree_ssa): Call vn_delete.
+ 	* tree-vn.c: New file.
+ 	* tree.c (tree_size): Handle VALUE_HANDLE.
+ 	(tree_node_structure): Likewise.
+ 	(iterative_hash_expr): Likewise.
+ 	* tree.def (VALUE_HANDLE): New code.
+ 	* tree.h (struct tree_value_handle): New.
+ 	(VALUE_HANDLE_ID): Define.
+ 	(VALUE_HANDLE_EXPR_SET): Define.
+ 	(enum tree_node_structure_enum): Add TS_VALUE_HANDLE.
+ 	(union tree_node): Add struct tree_value_handle.
+ 
+ 2004-06-23  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-typeck.c (composite_type):
+ 	<case POINTER_TYPE>: Build a qualified type of
+ 	the new type.
+ 	<case ARRAY_TYPE>: Likewise.
+ 	<case FUNCTION_TYPE>: Likewise.
+ 
+ 2004-06-23  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	PR optimization/15633
+ 	* value-prof.c (divmod_fixed_value_transform): Compute probability
+ 	of taking optimal path and pass along to gen_ routine.
+ 	(mod_pow2_value_transform): Same.
+ 	(mod_subtract_transform): Same.
+ 	(gen_divmod_fixed_value): Add new probability parameter.
+ 	Add probability to newly created jump.
+ 	(gen_mod_pow2): Same.
+ 	(gen_mod_subtract): Same.
+ 
+ 2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* PR target/15948
+ 	* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
+ 	one and two.
+ 
+ 2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/15927
+ 	* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
+ 	reload if CLASS is BASE_REGS.
+ 
+ 2004-06-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gengtype-yacc.y (option): Avoid use of non-constant struct
+ 	initializer.
+ 
+ 2004-06-23  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/extend.texi (Function Attributes): Alphabetize.
+ 
+ 2004-06-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
+ 	Use gimplify_and_add.
+ 	* c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt.
+ 	* gimplify.c (build_and_jump, gimplify_exit_expr,
+ 	gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup,
+ 	gimplify_stmt, gimplify_expr): Likewise.
+ 	(shortcut_cond_expr): Handle NULL arms of COND_EXPR.
+ 	(gimplify_statement_list): Remove NULL entries.
+ 	(gimplify_to_stmt_list): Handle NULL results.
+ 	(gimplify_type_sizes): Add list_p argument.
+ 	(gimplify_one_sizepos): Don't use internal pre/post queue.
+ 	* tree-gimple.h (gimplify_type_sizes): Update.
+ 
+ 2004-06-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns.
+ 
+ 2004-06-22  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
+ 	when redirecting back edges.
+ 
+ 	* cfghooks.c (split_block): Call make_single_succ_edge so that edge
+ 	count/probability are set correctly.
+ 
+ 2004-06-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-typeck.c (emit_side_effect_warnings): Ignore error marks.
+ 	(c_finish_stmt_expr): Likewise.
+ 
+ 	* config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(ix86_return_in_memory): Move SSE vector return warning ...
+ 	(ix86_struct_value_rtx): ... here.  New.
+ 
+ 2004-06-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree.def (VTABLE_REF): Remove.
+ 	(OBJ_TYPE_REF): New.
+ 	(TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
+ 	* expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
+ 	* fold-const.c (non_lvalue): Likewise.
+ 	* gimplify.c (gimplify_expr): Likewise.
+ 	(gimplify_call_expr): Use is_gimple_call_addr.
+ 	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
+ 	* langhooks.h (fold_obj_type_ref): New.
+ 	* tree-gimple.c (is_gimple_call_addr): New.
+ 	* tree-gimple.h (is_gimple_call_addr): Declare.
+ 	* tree-inline.c (inlinable_function_p): Fix merge error.
+ 	(estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	(print_call_name): Handle OBJ_TYPE_REF.
+ 	* tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
+ 	* tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
+ 	* tree.h (OBJ_TYPE_REF_EXPR): New.
+ 	(OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
+ 	* doc/c-tree.texi (VTABLE_REF): Remove.
+ 	* objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
+ 
+ 2004-06-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/16026
+ 	* function.c (assign_parms): Don't abort for overaligned PARALLEL.
+ 
+ 2004-06-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* Makefile.in (distclean): Don't try to remove empty directories.
+ 
+ 2004-06-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/15869
+ 	* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
+ 
+ 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
+ 	operands.
+ 
+ 2004-06-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
+ 	global, rename rs6000_legitimate_offset_address_p.
+ 	(rs6000_legitimate_address_p): Adjust calls to it.
+ 	(lmw_operation): Ditto.
+ 	(stmw_operation): Ditto.
+ 	* config/rs6000/rs6000-protos.h: Declare it.
+ 	* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
+ 	instead of offsettable_memref_p.
+ 
+ 2004-06-22  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
+ 	[reg+reg] mode for TFmode memory accesses.
+ 	(rs6000_eliminate_indexed_memrefs): New.
+ 	(rs6000_emit_move): Call preceding for TImode and TFmode.
+ 
+ 2004-06-22  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-cfg.c (pass_warn_function_return): It needs
+ 	CFG, not SSA.
+ 
+ 2004-06-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* doc/invoke.texi (Machine Dependent Options): Alphabetize.
+ 	(Submodel Options): Likewise.
+ 
+ 2004-06-21  Andrew Pinski  <apinski@apple.com>
+ 
+ 	Radar #: 3701874
+ 	* c-decl.c (push_file_scope): Return early if we already
+ 	have a file scope.
+ 
+ 2004-06-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
+ 	* c-common.h (flag_pch_preprocess): Declare.
+ 	(c_common_pch_pragma): Likewise.
+ 	* c-common.c (flag_pch_preprocess): New.
+ 	* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
+ 	(c_common_pch_pragma): New.
+ 	* c-ppoutput.c (cb_read_pch): New.
+ 	(init_pp_output): Support -fpch-preprocess.
+ 	* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
+ 	* c.opt (fpch-preprocess): New.
+ 	* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
+ 	* doc/cppopts.texi: Document -fpch-preprocess.
+ 	* doc/invoke.texi (Precompiled Headers): Mention that
+ 	-fpreprocessed is safe for PCH.  Mention that if an option is
+ 	listed as safe that doesn't mean it does what you expect.
+ 
+ 2004-06-22  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* tree-ssa.c (ssa_redirect_edge): Correct leading comment.
+ 
+ 2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* Makefile.in (gimplify.o): Add cgraph.h.
+ 	* alias.c (adjust_offset_for_component_ref): Use
+ 	component_ref_field_offset.
+ 	* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
+ 	* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
+ 	(gimplify_decl_stmt): Call gimplify_type_sizes for type.
+ 	For decl, call gimplify_one_sizepos and use statement list.
+ 	(gimplify_compound_literal_expr): New arg PRE_P.
+ 	Add statement to PRE_P list and return DECL.
+ 	(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
+ 	gimplify_compound_literal_expr.
+ 	* c-tree.h (getdecls): Deleted.
+ 	* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
+ 	(build_array_ref): Add two operands for ARRAY_REF.
+ 	(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
+ 	COMPOUND_LITERAL_EXPR.
+ 	* coverage.c (tree_coverage_counter_ref): Add new operands
+ 	for ARRAY_REF.
+ 	* emit-rtl.c (component_ref_for_mem_expr): Add new operand
+ 	for COMPONENT_REF.
+ 	(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
+ 	and array_ref_element_size.
+ 	(widen_memory_access):Use component_ref_field_offset.
+ 	* explow.c (update_nonlocal_goto_save_area): Add two operands
+ 	for ARRAY_REF.
+ 	* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
+ 	(component_ref_field_offset): Likewise.
+ 	(get_inner_reference): Use them.
+ 	(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
+ 	* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
+ 	(fold_read_from_constant_string): Use array_ref_low_bound.
+ 	Verify that result is a character type.
+ 	(build_fold_indirect_ref): Add two operands for ARRAY_REF.
+ 	* function.c (expand_function_start): Likewise.
+ 	* gimple-low.c (expand_var_p): Delete duplicated line.
+ 	* gimplify.c: Add static decls for local functions.
+ 	(cgraph.h): Now included.
+ 	(create_tmp_var): Remove check for ARRAY_TYPE.
+ 	(copy_if_shared_r): Look at bounds and sizes of types.
+ 	(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
+ 	(gimplify_exit_expr, shortcut_cond_expr): Likewise.
+ 	(gimplify_save_expr, gimple_push_cleanup): Likewise.
+ 	(gimplify_init_constructor): Likewise.
+ 	WANT_VALUE now bool.
+ 	If empty list with no result wanted, return GS_UNHANDLED.
+ 	Add additional operands for ARRAY_REF and COMPONENT_REF.
+ 	(canonicalize_component_ref): Convert to &array[L].
+ 	(gimplify_array_ref_to_plus): Use array_ref_element_size and
+ 	array_ref_lower_bound.
+ 	(build_addr_expr_with_type, build_addr_expr): New functions.
+ 	(gimplify_compound_lval): WANT_LVALUE now bool.
+ 	Major rework to allow handle_component_p and initialize and
+ 	gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
+ 	COMPONENT_REF.
+ 	(gimplify_array_ref): Deleted.
+ 	(gimplify_self_mod_expr): WANT_VALUE now bool.
+ 	(gimplify_modify_expr): Gimplify to_p and from_p later.
+ 	Factor out code into gimplify_modify_expr_rhs and call twice.
+ 	Move variable-size code earlier and handle PLACEHOLDER_EXPR.
+ 	(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
+ 	(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
+ 	(gimplify_expr, case ARRAY_REF): Delete special case.
+ 	Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
+ 	IMAGPART, and REALPART the same way.
+ 	(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
+ 	(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
+ 	Call alloc_stmt_list instead of build_empty_stmt.
+ 	Deal with _REF that's volatile.
+ 	(gimplify_type_sizes, gimplify_one_sizepos): New functions.
+ 	(unshare_body, unvisit_body): New functions.
+ 	(gimplify_body): Call them.
+ 	* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
+ 	* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
+ 	* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
+ 	* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
+ 	like ARRAY_REF.
+ 	(verify_expr, case ADDR_EXPR): Use handled_component_p.
+ 	* tree-dfa.c (get_virtual_var): Likewise.
+ 	* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
+ 	New cases to dump new operands; likewise for ARRAY_RANGE_REF.
+ 	* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
+ 	* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
+ 	and INDIRECT_REF.
+ 	(get_base_address): Use handled_component_p.
+ 	* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
+ 	* tree-inline.c (walk_tree): Walk more things for types and decls.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Add new operands
+ 	for ARRAY_REF and COMPONENT_REF.
+ 	(mx_xform_derefs_1): Clean up usage of decl sizes.
+ 	* tree-nested.c (build_addr): Use handled_component_p.
+ 	(walk_stmts, case CATCH_EXPR): Add missing "break".
+ 	(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
+ 	(finalize_nesting_tree_1): Likewise.
+ 	(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
+ 	and process additional operands.
+ 	(convert_local_reference): Likewise.
+ 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
+ 	ARRAY_RANGE_REF similarly to ARRAY_REF.
+ 	* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
+ 	like RECORD_TYPE.
+ 	(dump_generic_node, case COMPONENT_REF): Print offset operand.
+ 	(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
+ 	and print lower bound and element size for both.
+ 	(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
+ 	* tree-sra.c (csc_build_component_ref): Add new operand.
+ 	(scalarize_call_expr): Use get_base_address.
+ 	* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
+ 	(maybe_fold_offset_to_array_ref): Rework to handle input having an
+ 	ARRAY_REF, refine handling of lower bound, and add new operands
+ 	for ARRAY_REF.
+ 	(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
+ 	(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
+ 	(maybe_fold_stmt_addition): Only handle constant lower bound.
+ 	* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
+ 	Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
+ 	Look at new offset operand of COMPONENT_REF.
+ 	* tree-ssa.c (set_is_used): Use handled_component_p.
+ 	* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
+ 	(stabilize_reference, case COMPONENT_REF): Likewise.
+ 	(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
+ 	(recompute_tree_invariant_for_addr_expr): Completely rework to
+ 	be more precise.  Also set TREE_SIDE_EFFECTS.
+ 	(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
+ 	(build2_stat, build3_stat, build4_stat): For references,
+ 	propagate TREE_THIS_VOLATILE.
+ 	(get_unwidened): Add new operand for COMPONENT_REF.
+ 	(get_narrower): Likewise; use host_integerp for DECL_SIZE.
+ 	* tree.def (COMPONENT_REF): Add new operand.
+ 	(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
+ 	* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
+ 	(component_ref_field_offset): Likewise.
+ 	* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
+ 	(alpha_gimplify_va_arg): Likewise.
+ 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+ 	* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
+ 	* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
+ 	* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
+ 	Likewise.
+ 	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
+ 	* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
+ 	* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
+ 	Likewise.
+ 	(xstormy16_expand_builtin_va_arg): Likewise.
+ 	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.
+ 	* objc/objc-act.c (generate_static_references): Likewise.
+ 	(generate_strings, build_method_prototype_list_template): Likewise.
+ 	(generate_protocol_list): Likewise.
+ 
+ 2004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR rtl-optimization/14782
+ 	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
+ 	the address checks for secondary reloads for loads from and stores
+ 	to floating-point registers.
+ 	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
+ 	in the address check.  Move work around for ELF32 targets to
+ 	GO_IF_LEGITIMATE_ADDRESS.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
+ 	correctly aligned for DImode loads and stores.  Don't allow long
+ 	SFmode displacements on ELF32.
+ 
+ 2004-06-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/16114
+ 	* cse.c (merge_equiv_classes): Also rehash in response to
+ 	delete_reg_equiv changes.
+ 	(rehash_using_reg): Don't exclude REGs from rehashing.
+ 
+ 2004-06-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (RETURN_STMT): Remove.
+ 	* c-common.h (RETURN_STMT_EXPR): Remove.
+ 	(c_expand_return, build_return_stmt): Remove.
+ 	(c_common_stmt_codes): Remove RETURN_STMT.
+ 	* c-dump.c (dump_next_stmt): Remove.
+ 	(c_dump_tree): Remove RETURN_STMT.
+ 	* c-decl.c (finish_function): Use c_finish_return.
+ 	* c-parse.in (stmt): Likewise.
+ 	* c-gimplify.c (gimplify_return_stmt): Remove.
+ 	(c_gimplify_expr): Remove RETURN_STMT.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* c-semantics.c (build_return_stmt): Remove.
+ 	* c-tree.h (c_finish_return): Declare.
+ 	* c-typeck.c (c_finish_return): Rename from c_expand_return.
+ 	Return void.  Build RETURN_EXPR directly.
+ 	* tree-dump.h (dump_next_stmt): Remove.
+ 
+ 2004-06-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
+ 	look at TREE_ADDRESSABLE of symbol name.
+ 
+ 2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR target/15551
+ 	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
+ 	(allocate_stack_worker): Make unspec_volatile.
+ 	(allocate_stack_worker_rex64):  Likewise.
+ 	(allocate_stack_worker_postreload):  Likewise.
+ 	(allocate_stack_worker_rex64_postreload):  Likewise.
+ 
+ 2004-06-21  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR optimization/15982
+ 	* tree-ssa-pre.c: Update a few comments and todos to
+ 	reflect constants change.
+ 	(get_value_handle): Constants now value number to themselves.
+ 	(lookup): Constants lookup to themselves.
+ 	(add_to_value): Adjust to always be on.
+ 	(set_contains_value): Adjust for constants change.
+ 	(find_leader): Ditto.
+ 	(phi_translate): 'r' nodes are never ANTIC right now.
+ 	(valid_in_set): Ditto.
+ 	(get_expr_set): New function.
+ 	(find_or_generate_expression): New function, broken out from
+ 	insert_aux.
+ 	(create_expression_by_pieces): Ditto, plus additional
+ 	machinery to handle complex values.
+ 	(compute_avail): Remove dead RETURN_EXPR handling.
+ 
+ 2004-06-21  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/i386.c: Include insn-codes.h
+ 	* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
+ 	define here.
+ 	* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
+ 	DIRFLAG_REG): New define_constants.  Use them everywhere.
+ 
+ 2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
+ 
+ 2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define.
+ 	(SUPPORT_SH4_SINGLE): Likewise.
+ 	(TARGET_SWITCHES): Break out switches for cpu subtargets:
+ 	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
+ 	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
+ 	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
+ 	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
+ 	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
+ 	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
+ 	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
+ 	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
+ 	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
+ 	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
+ 	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
+ 	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
+ 	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
+ 	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
+ 	(TARGET_DEFAULT): Likewise.
+ 	* config/sh/t-elf: Amend comment.
+ 	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
+ 	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
+ 	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
+ 	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
+ 	* config/sh/t-mlib-sh4-single: Likewise.
+ 	* config/sh/t-mlib-sh4-single-only: Likewise.
+ 	* config/sh/t-mlib-sh5-32media: Likewise.
+ 	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
+ 	* config/sh/t-mlib-sh5-64media: Likewise.
+ 	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
+ 	* config/sh/t-mlib-sh5-compact: Likewise.
+ 	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
+ 	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
+ 	(MULTILIB_CPUS): Define.
+ 	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
+ 	(MULTILIB_MATCHES): Use some shell code to calculate it.
+ 	(MULTILIB_EXCEPTIONS): Change to ml/m1.
+ 	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
+ 	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
+ 	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
+ 	(NO_PROFILE_COUNTERS): Define to 1.
+ 	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
+ 	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
+ 	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
+ 	(MULTILIB_MATCHES): Don't zap.
+ 	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
+ 	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
+ 	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
+ 	(MULTILIB_RAW_DIRNAMES): Define.
+ 	(MULTILIB_DIRNAMES): Use it.
+ 	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
+ 	(sh*linux configurations): Merge into:
+ 	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
+ 	--with-multilib-list options.  Support sh-superh-elf configuration.
+ 	(sh*-netbsd*): Use SELECT_SH* macros.
+ 	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
+ 	Merge sh*-*-netbsd* configurations into sh-elf configurations.
+ 	* config/sh/t-netbsd-sh5, config/sh/t-be, config/sh/t-le: Delete.
+ 	* config/sh/t-monolib: Likewise.
+ 
+ 2004-06-21  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
+ 	not imply FPA.
+ 
+ 2004-06-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (operand_equal_p): Pass flags in recursive calls for
+ 	binary and relational operations.  Add support for TRUTH_ANDIF_EXPR,
+ 	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
+ 	* tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
+ 	ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
+ 	and TRUTH_XOR_EXPR.
+ 
+ 2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtlanal.c (may_trap_p): Mark LTGT as trapping.
+ 
+ 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* tree-alias-common.h (struct tree_alias_ops): Change ip and
+ 	ip_partial to unsigned int.
+ 
+ 2004-06-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (verify_sequence_points): Export.
+ 	(c_expand_expr_stmt): Move to c-typeck.c.
+ 	* c-common.h (c_expand_expr_stmt): Remove.
+ 	(verify_sequence_points): Declare.
+ 	* c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
+ 	* c-parse.in (for_init_stmt, stmt): Likewise.
+ 	* c-tree.h (c_finish_expr_stmt): Declare.
+ 	(c_tree_expr_nonnegative_p): Remove.
+ 	* c-typeck.c (c_tree_expr_nonnegative_p): Remove.
+ 	(build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
+ 	(emit_side_effect_warnings): New.
+ 	(c_finish_expr_stmt): Rename from c_expand_expr_stmt.  Use it.
+ 	(c_finish_stmt_expr): Work without EXPR_STMT.  Handle eh regions.
+ 	Use emit_side_effect_warnings.
+ 	(push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
+ 	* fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
+ 	* gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
+ 	with void initializer.
+ 	(gimplify_target_expr): Handle void BIND_EXPR initializer.
+ 	* tree-inline.c (estimate_num_insns_1): Fix type lookup for
+ 	INIT_EXPR and MODIFY_EXPR.
+ 	* objc/objc-act.c (build_module_descriptor): Use add_stmt
+ 	instead of c_expand_expr_stmt.
+ 
+ 2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* fold-const.c (fold_cond_expr_with_comparison):
+ 	New function, extracted from fold.
+ 	(fold): Extract code to fold A op B ? A : C, use
+ 	it to fold A op B ? C : A.  Really optimize
+ 	A & N ? N : 0 where N is a power of two.  Avoid
+ 	relying on canonicalization and recursion for
+ 	foldings of COND_EXPR to happen.
+ 
+ 2004-06-20  David Ayers  <d.ayers@inode.at>
+ 
+ 	* objc/objc-act.h (get_object_reference): Rename to
+ 	get_protocol_reference.
+ 	(super_type): Rename to objc_super_type.
+ 	(selector_type): Rename to objc_selector_type.
+ 	(id_type): Rename to objc_id_type.
+ 	(instance_type): Rename to objc_instance_type.
+ 	(protocol_type): Rename to objc_protocol_type.
+ 	(IS_ID): Update reference to id_type.
+ 	* objc/objc-act.c (get_object_reference): Rename to
+ 	get_protocol_reference; add documentation; update references to
+ 	id_type.
+ 	(lookup_method_in_protocol_list): Rename class_meth to
+ 	is_class; add documentation.
+ 	(finish_message_expr): Rename is_class to class_tree.
+ 	(synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
+ 	next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
+ 	build_next_objc_exception_stuff, get_arg_type_list,
+ 	build_objc_method_call): Update references to id_type.
+ 	(synth_module_prologue, build_objc_symtab_template,
+ 	build_selector_reference_decl, build_selector,
+ 	build_selector_translation_table, build_typed_selector_reference,
+ 	get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
+ 	synth_self_and_ucmd_args): Update references to selector_type.
+ 	(build_private_template, build_ivar_reference):	Update references
+ 	to instance_type.
+ 	(synth_module_prologue, build_protocol_reference,
+ 	build_protocol_expr, start_protocol): Update references to
+ 	protocol_type.
+ 	(synth_module_prologue, get_arg_type_list, build_objc_method_call):
+ 	Update references to super_type.
+ 	* c-parse.in: (typespec_nonreserved_nonattr): Update
+ 	references to get_object_reference.
+ 	* objc/objc-tree.def: Add C mode identifier sequence.
+ 
+ 2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop-invariant.c: New file.
+ 	* Makefile.in (loop-invariant.o): New.
+ 	* cfgloop.h (global_cost_for_size, init_set_costs,
+ 	move_loop_invariants): Declare.
+ 	* cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New
+ 	functions.
+ 	(avail_regs, res_regs, small_cost, pres_cost, spill_cost): New
+ 	variables.
+ 	* common.opt (floop-optimize2, fmove-loop-invariants): New options.
+ 	* loop-init.c (loop_optimizer_init): Call init_set_costs.
+ 	* passes.c (rest_of_handle_loop2): Call move_loop_invariants.
+ 	(rest_of_compilation): Check flag_loop_optimize2.
+ 	* toplev.c (process_options): Handle flag_loop_optimize2.
+ 	* doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document.
+ 	* doc/passes.texi (loop-invariant.c): Document.
+ 
+ 2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.
+ 
+ 2004-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* stmt.c (warn_if_unused_value): Add locus argument.
+ 	* tree.h (warn_if_unused_value): Update decl.
+ 	* c-typeck.c (internal_build_compound_expr): Update call.
+ 	* c-gimplify.c (gimplify_expr_stmt): Likewise.
+ 
+ 2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/16089
+ 	* builtins.c (entry_of_function): Move to ...
+ 	* cfgrtl.c (entry_of_function): Here and make non-static.
+ 	* integrate.c (emit_initial_value_sets): Use entry_of_function.
+ 	* rtl.h (entry_of_function): Prototype.
+ 
+ 2004-06-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
+ 	(ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when
+ 	TARGET_DECOMPOSE_LEA.
+ 
+ 2004-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (add_decl_stmt): Move to cp-tree.h.
+ 	* c-decl.c (finish_decl): Don't use add_decl_stmt.
+ 	* c-parse.in: Likewise.
+ 	* c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR.
+ 	(gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise.
+ 	* c-semantics.c (add_decl_stmt): Move to cp/semantics.c.
+ 
+ 2004-06-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def.
+ 	* c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY,
+ 	CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h.
+ 	(c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT.
+ 	* c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree.
+ 	* c-pretty-print.c (pp_c_statement): Similarly.
+ 	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts,
+ 	gimplify_if_stmt): Move to cp-gimplify.c.
+ 	(c_genericize, c_gimplify_expr): Don't call them.
+ 	* c-semantics.c (push_cleanup): Move to cp/semantics.c.
+ 	* c-typeck.c (push_cleanup): New.
+ 	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else,
+ 	c_finish_if_stmt): Use COND_EXPR.
+ 	* tree.h (CLEANUP_EH_ONLY): Update documentation.
+ 
+ 2004-06-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.h (has_c_linkage): New interface.
+ 	* c-cppbuiltin.c: Include target.h.
+ 	(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
+ 	__PRAGMA_EXTERN_PREFIX when appropriate.
+ 	* c-pragma.c: Include target.h.
+ 	Document clarified semantics of symbol-renaming #pragmas.
+ 	(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
+ 	(maybe_apply_renaming_pragma): Rewrite according to clarified
+ 	semantics.  Always recognize, but do not necessarily execute.
+ 	(init_pragma): Unconditionally register symbol-renaming pragmas.
+ 	* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
+ 	and HANDLE_PRAGMA_EXTERN_PREFIX.
+ 	* target.h (struct gcc_target): Add handle_pragma_redefine_extname
+ 	and handle_pragma_extern_prefix flags.
+ 	* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
+ 	and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
+ 	* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
+ 	* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
+ 	not HANDLE_PRAGMA_REDEFINE_EXTNAME.
+ 	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
+ 	(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
+ 	* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
+ 	not HANDLE_PRAGMA_EXTERN_PREFIX.
+ 	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
+ 	* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
+ 	into one section "Symbol-Renaming Pragmas"; clarify; document
+ 	adjusted semantics.
+ 
+ 	* builtins.c (expand_builtin): Do not issue error for a builtin
+ 	with no special case code and no DECL_ASSEMBLER_NAME; just do the
+ 	library call.
+ 	* c-decl.c (builtin_function): Don't call make_decl_rtl.
+ 	* c-objc-common.c (has_c_linkage): Stub implementation.
+ 	* cgraphunit.c (cgraph_expand_function)
+ 	(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.
+ 
+ 2004-06-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_unordered_cmp): Take an EXP argument
+ 	instead of both an ARGLIST and a result TYPE.  Handle these C99
+ 	comparison functions as "polymorphic" builtins.  Also handle
+ 	lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node.
+ 	(fold_builtin_1): Update calls to fold_builtin_unordered_cmp.
+ 	Move handling of BUILT_IN_ISUNORDERED from here to there.
+ 
+ 2004-06-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c, c-common.h (lang_gimplify_stmt): Remove.
+ 	* c-gimplify.c: Remove unnecessary prototypes.
+ 	(c_gimplify_stmt): Merge into ...
+ 	(c_gimplify_expr): ... here.  Don't play with prep_stmt.
+ 	* c-semantics.c (prep_stmt): Remove.
+ 	* gimplify.c (annotate_one_with_locus): Break out from ...
+ 	(annotate_all_with_locus): ... here.
+ 	(gimplify_expr): Add locus to expressions even if pre/post queues
+ 	are not present.
+ 
+ 2004-06-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/15941
+ 	* function.c (assign_parms): If not padding upward or intentionally
+ 	forcing upward padding, take offset_rtx into account when determining
+ 	the alignment for stack_parm.
+ 
+ 2004-06-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/15550
+ 	* ifcvt.c (noce_try_move): Recognize all generated instructions.
+ 
+ 2004-06-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (free_after_compilation): Do not free computed_goto_common*.
+ 	* function.h (struct function): Kill computed_goto_common*.
+ 	* stmt.c (expand_computed_goto): Do not commonize the computed gotos.
+ 	* tree-cfg.c (disband_implicit_edges): Do not forward across the
+ 	commonized computed goto.
+ 
+ 2004-06-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* doc/invoke.texi: Remove obsolete comment regarding PA 2.0 support
+ 	in binutils.
+ 
+ 2004-06-19  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR c++/15721
+ 	* toplev.c (wrapup_global_declarations): Do not check
+ 	TREE_SYMBOL_REFERENCED of the DECL_ASSEMBLER_NAME but check
+ 	cgraph_varpool_node's needed field.
+ 
+ 2004-06-19  Jan Hubicka  <jh@suse.cz>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 
+ 	CFG transparent RTL expansion:
+ 	* Makefile.in (cfgexpand.o): New object file.
+ 	(builtins.o): Add dependency on basic-block.h
+ 	* builtins.c: Include basic-block.h
+ 	(entry_of_function): New function.
+ 	(expand_builtin_apply_args, expand_builtin_saveargs): Use it.
+ 	* cfgexpand.c: New file.
+ 	* expr.c (execute_expand, pass_expand): Kill.
+ 	* pass.c (rest_of_compilation): Do not build CFG unless called from
+ 	coverage code.
+ 	* tree-cfg.c (delete_tree_cfg): Rename to..
+ 	(delete_tree_cfg_annotations): ... this one; Do not remove the CFG itself.
+ 	* tree-flow.h (delete_tree_cfg_annotations): Declare.
+ 	(dleete_tree_cfg): Kill.
+ 	* tree-optimize.c (execute_rebuild_bind, pass_rebuild_bind): Kill.
+ 	(execute_del_cfg): Rename to...
+ 	(execute_free_datastructures): This one...
+ 	(pass_del_cfg): Rename to...
+ 	(pass_free_datastructures): ... this one; Do not kill PROP_cfg.
+ 	(init_tree_optimization_passes): Make cfg build and profiling to happen
+ 	unconditionally.
+ 
+ 2004-06-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-mudflap.c (mf_decl_cache_locals): Skip labels before
+ 	inserting the cache variables.
+ 
+ 	* tree-mudflap.c: Include headers to make basic_block available.
+ 	Move functions around such that related functions are near each
+ 	other.  Add prototypes for all static functions.  Add comments
+ 	briefly explaining what IR the mudflap1 and mudflap2 work on and
+ 	what they do.
+ 	(mudflap_function_decls): Rename to execute_mudflap_function_decls.
+ 	(mudflap_function_ops): Rename to execute_mudflap_function_ops.
+ 	(pass_mudflap_1, pass_mudflap_2): Update.
+ 	(mf_decl_cache_locals): Make it work on the CFG instead of the saved
+ 	function tree.
+ 	(mf_build_check_statement_for): Make it work on the CFG.
+ 	(mf_xform_derefs_1): Likewise.  Cleanup code style.
+ 	(mf_xform_derefs): Likewise.
+ 
+ 2004-06-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-cfg.c (label_to_block): Invent the label destination for
+ 	undefined labels.
+ 	(cleanup_dead_labels): Update table in the case label_to_block added
+ 	new label.
+ 
+ 2004-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/16036
+ 	* gimple-low.c (lower_function_body): Generate return statement for
+ 	fall off the end of the function here ...
+ 	* tree-cfg.c (make_edges): ... instead of here.
+ 	* gimplify.c (gimplify_return_expr): Mark return temp TREE_NO_WARNING.
+ 
+ 2004-06-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* tree-ssa.c (raise_value): Removed.
+ 	(get_eq_name, check_phi_redundancy): New functions.
+ 	(kill_redundant_phi_nodes): Use standard ssa minimalization algorithm.
+ 
+ 2004-06-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR,
+ 	UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR>: Add
+ 	constant folding for unordered comparison tree nodes.  If both
+ 	operands are real constants, call fold_relational_const.  If either
+ 	operand is a NaN, evaluate the other for side-effects and return a
+ 	constant.  Optimize (double)float1 CMP (double)float2 into the
+ 	equivalent float1 CMP float2.
+ 	(nondestructive_fold_binary_to_constant) <UNORDERED_EXPR,
+ 	ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
+ 	LTGT_EXPR>: Call fold_relational_const for constant operands.
+ 	(fold_relational_const): Add support for unordered comparison tree
+ 	nodes.  Don't constant fold "ordered" floating point comparisons
+ 	against NaN if when flag_trapping_math is set.
+ 
+ 2004-06-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* fold-const.c (build_range_check): If !in_p and recursive call
+ 	fails, exit immediately.  If high - low overflows and etype is
+ 	a signed type, retry with unsigned etype.
+ 	(merge_ranges): If !in0_p and !in1_p, handle even range2 adjacent
+ 	to range1 at TYPE_MAX_VALUE and TYPE_MIN_VALUE.
+ 
+ 2004-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-gimplify.c (gimplify_condition): Remove.
+ 	(gimplify_c_loop, gimplify_if_stmt, gimplify_switch_stmt): Don't
+ 	call it.
+ 
+ 2004-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-eh.c (decide_copy_try_finally): Fix scaling of copy and
+ 	switch estimates.
+ 
+ 2004-06-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/i386/darwin.h (HOT_TEXT_SECTION_NAME): Define.
+ 	(NORMAL_TEXT_SECTION_NAME): Define.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
+ 	(SECTION_FORMAT_STRING): Define.
+ 
+ 2004-06-18  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/xtensa/xtensa.c
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
+ 	* xtensa.md: Replace the old pipeline description with a DFA model.
+ 
+ 2004-06-18  Steven Bosscher  <stevenb@suse.de>
+ 	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md: Remove the generic pipeline description.
+ 	* config/s390/2064.md: Make all insn reservations apply to
+ 	the z900, g5 and g6.
+ 	* config/s390/s390.c (s390_use_dfa_pipeline_interface): Remove.
+ 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+ 	Define to hook_int_void_1.
+ 	(s390_adjust_cost): Cleanup.  Don't check address dependency here.
+ 	(s390_first_cycle_multipass_dfa_lookahead): Always return 4.
+ 
+ 2004-06-18  Daniel Berlin  <dberlin@dberlin.org>
+ 			Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-dfa.c (create_var_ann): tree_ann -> tree_ann_t.
+ 	(create_stmt_ann): Ditto.
+ 	(create_tree_ann): New function.
+ 	(create_cst_ann): Remove.
+ 	(create_expr_ann): Ditto.
+ 
+ 	* tree-flow-inline.h (cst_ann): Remove.
+ 	(get_cst_ann): Ditto.
+ 	(get_expr_ann): Ditto.
+ 	(expr_ann): Ditto.
+ 	(get_tree_ann): New function.
+ 	(tree_ann): Ditto.
+ 	(ann_type): tree_ann -> tree_ann_t.
+ 	* tree-flow.h (tree_ann_type): CST_ANN, EXPR_ANN removed.
+ 	(struct cst_ann_d): Removed.
+ 	(struct expr_ann_d): Ditto.
+ 	(union tree_ann_d): Removed cst and expr.
+ 	(tree_ann): Renamed to tree_ann_t.
+ 	* tree-ssa-ccp.c (set_rhs): tree_ann -> tree_ann_t.
+ 	* tree-ssa-pre.c (get_value_handle): Rewrite for single common
+ 	annotation.
+ 	(set_value_handle): Ditto.
+ 	(phi_translate): Ditto.
+ 	* tree-tailcall.c (adjust_return_value): tree_ann -> tree_ann_t.
+ 
+ 2004-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/t-linux64: New file.
+ 	* config.gcc: Add it to tmake_file for sh64*-*-linux*.
+ 
+ 2004-06-18  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* emit-rtl.c (unshare_all_rtl_1): New name of unshare_all_rtl.
+ 	(unshare_all_rtl_again): Call unshare_all_rtl_1.
+ 	(unshare_all_rtl): New.
+ 	* function.c (instantiate_virtual_regs): Remove parameters.
+ 	* function.h (instantiate_virtual_regs): Add prototype.
+ 	* rtl.h (unshare_all_rtl): Add prototype.
+ 	* tree.h (instantiate_virtual_regs, unshare_all_rtl): Remove
+ 	prototype.
+ 	* passes.c: Remove assertions on the parameters to
+ 	rest_of_handle_* functions.  Remove the parameters to
+ 	the functions, replacing decl with current_function_decl
+ 	and insns with get_insns ().
+ 
+ 2004-06-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (constant_boolean_node): Handle boolean_type_node
+ 	directly, return either boolean_true_node or boolean_false_node.
+ 
+ 2004-06-18  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* opts.sh: Delete.  Break out generated code to next four files.
+ 	* opt-gather.awk: New file.
+ 	* optc-gen.awk: New file.
+ 	* opth-gen.awk: New file.
+ 	* opt-functions.awk: New common file.
+ 	* Makefile.in: Update for above.
+ 	* configure.ac: Update comment.
+ 	* configure: Regenerate.
+ 
+ 2004-06-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (flag_objc_sjlj_exceptions): New.
+ 	* c-common.h (flag_objc_sjlj_exceptions): Declare.
+ 	* c-opts.c (c_common_handle_option): Set it.
+ 	(c_common_post_options): Handle interation of different
+ 	objective-c exception and runtime switches.
+ 	* c-decl.c (c_eh_initialized_p): New.
+ 	(finish_decl): Use it instead of local eh_initialized_p.
+ 	* c-parse.in (nested_function, notype_nested_function): Record
+ 	the result of compstmt.
+ 	(compstmt_or_error): Likewise.
+ 	(compstmt): Don't add_stmt the result.
+ 	(stmt): Don't return anything.  Rewrite objc try and sync rules.
+ 	(objc_try_stmt, objc_catch_list): Remove.
+ 	(objc_catch_block, objc_finally_block): Remove.
+ 	(objc_catch_prefix, objc_catch_clause, objc_opt_catch_list): New.
+ 	(objc_try_catch_clause, objc_finally_clause): New.
+ 	(objc_try_catch_stmt): Rewrite.
+ 	* c-tree.h (c_eh_initialized_p): Declare.
+ 	* c-opt (fobjc-sjlj-exceptions): New.
+ 	* except.c (output_function_exception_table): Don't call cgraph
+ 	on non-decls.
+ 	* objc/objc-act.c (UTAG_EXCDATA_VAR, UTAG_CAUGHTEXC_VAR,
+ 	UTAG_RETHROWEXC_VAR, UTAG_EVALONCE_VAR, struct val_stack,
+ 	catch_count_stack, exc_binding_stack, if_nesting_count,
+ 	blk_nesting_count, objc_enter_block, objc_exit_block,
+ 	objc_declare_variable, val_stack_push, val_stack_pop,
+ 	objc_build_try_enter_fragment, objc_build_extract_expr,
+ 	objc_build_try_exit_fragment, objc_build_extract_fragment,
+ 	objc_build_try_prologue, objc_build_try_epilogue,
+ 	objc_build_catch_stmt, objc_build_catch_epilogue,
+ 	objc_build_finally_prologue, objc_build_finally_epilogue,
+ 	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
+ 	objc_build_synchronized_epilogue): Remove.
+ 	(objc_create_temporary_var, struct objc_try_context, cur_try_context,
+ 	objc_eh_runtime_type, objc_init_exceptions, objc_build_exc_ptr,
+ 	next_sjlj_build_try_exit, next_sjlj_build_enter_and_setjmp,
+ 	next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
+ 	next_sjlj_build_try_catch_finally, objc_begin_try_stmt,
+ 	objc_begin_catch_clause, objc_finish_catch_clause,
+ 	objc_build_finally_clause, objc_finish_try_stmt,
+ 	objc_build_synchronized): New.
+ 	(objc_is_object_id, objc_is_class_id): New.
+ 	(objc_comptypes): Use them.
+ 	(build_next_objc_exception_stuff): Break NeXT sjlj out from
+ 	build_objc_exception_stuff.
+ 	(synth_module_prologue): Update to match.
+ 	(objc_build_throw_stmt): Use cur_try_context to decide if
+ 	we're in a @catch.
+ 	* objc/objc-act.h: Update prototypes.
+ 	(OCTI_EXCEPTION_BLK_STACK, objc_exception_block_stack): Remove.
+ 
+ 2004-06-17  Andrew Pinski <apinski@apple.com>
+ 
+ 	* c-typeck.c (tagged_types_tu_compatible_p <case UNION_TYPE>):
+ 	Use TYPE_FIELDS instead of TYPE_VALUES.
+ 
+ 2004-06-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/16015
+ 	* gimplify.c (gimplify_target_expr): Handle void initializer.
+ 	* expr.c (expand_expr_real_1) [TARGET_EXPR]: Likewise.
+ 	* doc/c-tree.texi (Expression trees): Update TARGET_EXPR
+ 	and AGGR_INIT_EXPR.
+ 
+ 2004-06-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_relational_const): Use constant_boolean_node.
+ 
+ 2004-06-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR target/15433
+ 	* i386.md (SSE SF cmov 0 splitter): The conditional is VOIDmode; fix
+ 	operand numbering in the output template.
+ 	(SSE DF cmov 0 splitter): The conditional is VOIDmode.
+ 
+ 2004-06-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (can_throw_internal): Recognize RESX expresisons.
+ 
+ 2004-06-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgbuild.c (make_edges): Do not use label_value_list.
+ 	(find_basic_blocks_1): Do not collect label_value_list.
+ 	(find_sub_basic_blocks): Update call of make_edges.
+ 
+ 2004-06-17  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-cfg.c (tree_make_forwarder_block):  Use SET_PHI_RESULT.
+ 	* tree-flow-inline.h (get_use_op_ptr):  Return a use_operand_p.
+ 	(get_use_from_ptr, get_def_from_ptr):  New.  Return operand pointers.
+ 	(get_def_op_ptr):  Return a def_operand_p instead of a 'tree *'.
+ 	(get_v_may_def_result_ptr):  Return a def_operand_p.
+ 	(get_v_may_def_op_ptr, get_vuse_op_ptr):   Return a use_operand_p.
+ 	(get_v_must_def_op_ptr):  Return a def_operand_p.
+ 	(get_phi_result_ptr):  New.  Return a pointer to the result of a PHI.
+ 	(get_phi_arg_def_ptr):  New.  Return a pointer to an argument of a PHI.
+ 	(phi_element_for_edge):  Remove.
+ 	* tree-flow.h (propagate_value, replace_exp):  Change prototype.
+ 	(propagate_tree_value):  Add new prototype.
+ 	(phi_element_for_edge):  Remove prototype.
+ 	* tree-into-ssa.c (mark_def_sites):  Use new operand types.
+ 	(prepare_operand_for_rename):  Split into two functions.
+ 	(prepare_use_operand_for_rename):  Prepare use operands.
+ 	(prepare_def_operand_for_rename):  Prepare def operands.
+ 	(rewrite_stmt):  Use new operand types.
+ 	(rewrite_operand):  Use new operand types, change parameter type.
+ 	* tree-outof-ssa.c (replace_variable):  Split into two functions.
+ 	(replace_use_variable):  Rewrite uses.
+ 	(replace_def_variable):  Rewrite defs.
+ 	(rewrite_trees, rewrite_vars_out_of_ssa):  Use new operand types.
+ 	* tree-phinodes.c (make_phi_node, resize_phi_node):  Use new types.
+ 	(add_phi_arg, remove_phi_arg_num):  Use new operand types.
+ 	* tree-ssa-ccp.c (substitute_and_fold):  Use new operand types.
+ 	(ccp_fold, replace_uses_in):  Use new operand types.
+ 	* tree-ssa-copy.c (replace_ssa_names):  Rename to replace_ssa_names_ann
+ 	and no longer set the value, change parameter type.
+ 	(replace_exp_1):  Use new operand types.
+ 	(propagate_value):  Change parameter type, use new operand types.
+ 	(propagate_tree_value):  Propagate_value without SSA operands.
+ 	(replace_exp, cprop_operand, cprop_into_stmt):  Use new operand types.
+ 	(cprop_into_successor_phis):  Use new operand types.
+ 	* tree-ssa-dom.c (thread_across_edge):  Use new operand types.
+ 	(eliminate_redundant_computations):  Use new operand types.
+ 	* tree-ssa-dse.c (fix_phi_uses):  Use new operand_types.
+ 	(fix_stmt_v_may_defs):  Use new operand_types.
+ 	* tree-ssa-live.c (create_ssa_var_map):  Use new operand_types.
+ 	(build_tree_conflict_graph):  Use new operand_types.
+ 	* tree-ssa-loop.c (duplicate_blocks):  Use PHI_ARG_DEF_FROM_EDGE.
+ 	* tree-ssa-operands.c (struct freelist_d):  Remove.
+ 	(check_optype_freelist, add_optype_freelist):  Remove.
+ 	(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
+ 	allocate_vuse_optype, allocate_v_must_def_optype):  Call ggc_alloc.
+ 	(free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
+ 	Call ggc_free instead of add_optype_freelist.
+ 	(init_ssa_operands, fini_ssa_operands):  Remove free list code.
+ 	(finalize_ssa_defs, finalize_ssa_uses):  Set new use/def operands.
+ 	* tree-ssa-operands.h (struct def_optype_d):  Change underlying type.
+ 	(struct use_optype_d):  Change underlying type.
+ 	(def_operand_p, use_operand_p):  New types for pointers to operands.
+ 	(USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP,
+ 	V_MUST_DEF_OP):  Use new pointer type instead of dereferencing directly.
+ 	(USE_FROM_PTR, DEF_FROM_PTR):  New macros to "dereference" operand
+ 	pointer types.
+ 	(SET_USE, SET_DEF):  New macros to set operands from their pointer.
+ 	(SET_USE_OP, SET_DEF_OP, SET_V_MAY_DEF_RESULT, SET_V_MAY_DEF_OP,
+ 	SET_VUSE_OP, SET_V_MUST_DEF_OP): New SET routines for operands.
+ 	(PHI_RESULT_PTR, PHI_RESULT, SET_PHI_RESULT):  Macros to manage the
+ 	PHI result as an operand.
+ 	(PHI_ARG_DEF_PTR, PHI_ARG_DEF, SET_PHI_ARG_DEF, PHI_ARG_DEF_FROM_EDGE,
+ 	PHI_ARG_DEF_PTR_FROM_EDGE):  Macros to manage the PHI arguments.
+ 	* tree-ssa-pre.c (eliminate):  Call propagate_tree_value.
+ 	* tree-tailcall.c (independent_of_stmt_p, propagate_through_phis):  Use
+ 	PHI_ARG_DEF_FROM_EDGE.
+ 	* tree.h (PHI_RESULT):  Renamed to PHI_RESULT_TREE.
+ 	(PHI_ARG_DEF):  Renamed to PHI_ARG_DEF_TREE.
+ 
+ 2004-06-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/15991
+ 	* tree-cfg.c (tree_block_label): Export.
+ 	* tree-flow-inline.h (bsi_after_labels): New function.
+ 	* tree-flow.h (bsi_after_labels, tree_block_label): Declare.
+ 	* tree-ssa.c (propagate_into_addr): New function.
+ 	(replace_immediate_uses): Handle propagation of pointer constants.
+ 	(raise_value): Do not restrict propagation of pointer constants.
+ 	* tree-ssanames.c (duplicate_ssa_name): New function.
+ 	* tree.h (duplicate_ssa_name): Declare.
+ 
+ 2004-06-17  David Ayers  <d.ayers@inode.at>
+ 
+ 	* c-parse.in: Unify Objective-C token names.
+ 
+ 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	Bug 14610
+ 	* Makefile.in (min-insn-modes.o): Correct dependencies.
+ 	* real.c (encode_ieee_extended, decode_ieee_extended): Always
+ 	produce/consume 12-byte little-endian Intel format.
+ 	(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
+ 	(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
+ 	(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
+ 	(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
+ 	New functions which convert between 12-byte little-endian Intel
+ 	format and the desired format.
+ 	(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
+ 	(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
+ 	Update.
+ 
+ 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* expmed.c (expand_mult_const): In sanity check, compare only
+ 	the bits of val and val_so_far that are significant in the
+ 	result mode.
+ 
+ 2004-06-17  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c:  Update comments.
+ 	(val_expr_pair_eq): Factor code from here.
+ 	(expr_pred_trans_eq): and here.
+ 	(expressions_equal_p): To here.
+ 	(print_value_set): Print value for expression.
+ 	(phi_trans_lookup): Rename some variables.
+ 	(lookup): Ditto.
+ 	(value_exists_in_set_bitmap): Ditto.
+ 	(value_remove_from_set_bitmap): Ditto.
+ 	(value_insert_into_set_bitmap): Ditto.
+ 
+ 2004-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-modes.def (CCL3mode): New machine mode.
+ 	* config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode.
+ 	(s390_alc_comparison, s390_slb_comparison): Likewise.
+ 	(s390_branch_condition_mask): Likewise.
+ 	* config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New.
+ 	("*subsi3_cc2", "*subsi3_cconly2"): New.
+ 
+ 	* config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and
+ 	ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison.
+ 	* config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
+ 	Handle SIGN_EXTEND and ZERO_EXTEND.
+ 
+ 	* config/s390/s390-protos.h (s390_expand_addcc): New prototype.
+ 	* config/s390/s390.c (s390_expand_addcc): New function.
+ 	* config/s390/s390.md ("adddicc", "addsicc"): New expanders.
+ 	("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns.
+ 	("sltu", "sgtu", "sleu", "sgeu"): New expanders.
+ 
+ 2004-06-17  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* tree-alias-common.c: Add whitespace.
+ 	* tree-inline.c: Correct comment about this file's purpose.
+ 	* tree-optimize.c: Likewise.
+ 	* tree-tailcall.c: Likewise.
+ 
+ 	* tree-alias-ander.h: Add standard top-of-file comment.
+ 	* tree-alias-common.h: Likewise.
+ 	* tree-alias-type.h: Likewise.
+ 
+ 2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (compute_avail): Value number uses as well.
+ 	Strip useless type conversions.
+ 	Casts have to be treated slightly different than normal unaries.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (COMPOUND_STMT): Remove.
+ 	* c-common.c (finish_fname_decls): Don't look through it.
+ 	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
+ 	* c-common.h (COMPOUND_BODY): Remove.
+ 	(c_common_stmt_codes): Remove COMPOUND_STMT.
+ 	* c-dump.c (c_dump_tree): Likewise.
+ 	* c-gimplify.c (c_gimplify_stmt): Likewise.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* tree.h (DECL_SAVED_TREE): Update commentary.
+ 	* doc/c-tree.texi (ASM_EXPR): Rename from ASM_STMT.
+ 	(CASE_LABEL_EXPR): Rename from CASE_LABEL.
+ 	(GOTO_EXPR): Rename from GOTO_STMT.
+ 	(GOTO_FAKE_P): Remove.
+ 	(COMPOUND_STMT): Remove.
+ 	(HANDLER): Update wrt COMPOUND_STMT.
+ 	(STMT_EXPR): Likewise.
+ 	(LABEL_EXPR): Rename from LABEL_STMT.
+ 	(SCOPE_STMT): Remove.
+ 	* objc/objc-act.c (objc_build_try_catch_finally_stmt): Don't look
+ 	through COMPOUND_STMT.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.h (c_begin_if_stmt, c_begin_while_stmt,
+ 	c_finish_while_stmt_cond): Remove decls.
+ 	* c-parse.in (if_prefix): Don't save c_begin_if_stmt result.
+ 	* c-typeck.c (c_begin_if_stmt): Return void.
+ 	(c_begin_else): Tidy.  Save stmt_count.
+ 	* c-tree.h (c_begin_if_stmt): Update decl.
+ 
+ 	* objc/objc-act.c (objc_build_try_enter_fragment,
+ 	objc_build_extract_fragment, objc_build_try_epilogue,
+ 	objc_build_catch_stmt, objc_build_catch_epilogue,
+ 	objc_build_finally_prologue, objc_build_finally_epilogue): Update
+ 	for if builder function changes.
+ 
+ 2004-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct machine_function):  New member
+ 	last_restore_gpr.
+ 	(s390_frame_info): Add BASE_USED and RETURN_ADDR_USED parameters.
+ 	Do not modify machine->save_return_addr_p or regs_ever_live.
+ 	Fill in machine->last_restore_gpr.
+ 	(s390_optimize_prolog): Use s390_frame_info to compute registers
+ 	to save/restore, remove duplicated code.
+ 	(s390_arg_frame_offset): Use s390_frame_info to compute frame
+ 	size, remove duplicated code.
+ 	(s390_emit_prologue): Adapt s390_frame_info call.  Update
+ 	machine->save_return_addr_p and regs_ever_live.
+ 	(s390_emit_epilogue): Use machine->last_restore_gpr instead of
+ 	machine->last_save_gpr.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (if_stmt_locus): Remove.
+ 	(if_prefix): Increment stmt_count; pass it to c_finish_if_cond.
+ 	(select_or_iter_stmt): Move empty if warnings to c-typeck.c.
+ 	* c-typeck.c (if_elt): Sort by expected size.  Rename locus to
+ 	empty_locus.  Add stmt_count, saw_else.
+ 	(c_begin_if_stmt): Push if_stack here.
+ 	(c_finish_if_cond): Rename from c_expand_end_cond.  Record stmt_count.
+ 	(c_finish_then, c_finish_else): Record empty_locus.
+ 	(c_begin_else): Rename from c_expand_start_else.  Record stmt_count.
+ 	(c_finish_if_stmt): Rename from c_expand_end_cond.  Warn for empty
+ 	if or else body.
+ 	* c-tree.h: Update prototypes.
+ 
+ 2004-06-16  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree.h (PHI_CHAIN): New.
+ 	* (tree-cfg.c, tree-dfa.c, tree-flow-inline.h, tree-into-ssa.c,
+ 	tree-outof-ssa.c, tree-phinodes.c, tree-pretty-print.c,
+ 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-dse.c,
+ 	tree-ssa-live.c, tree-ssa-loop.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
+ 	tree-ssa.c, tree-tailcall.c): Use PHI_CHAIN instead of TREE_CHAIN
+ 	when traversing a list of PHI_NODEs.
+ 
+ 2004-06-16  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	PR target/13292
+ 	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
+ 	on -msoft-float.
+ 	(TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
+ 	68040 and soft-float.
+ 	* config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
+ 	in the TARGET_68040_ONLY case.
+ 
+ 2004-06-16 Peter Barada  <peter@the-baradas.com>
+ 
+ 	* config/m68k/m68k.md (movsi_cfv4): New pattern to allow mov3q.
+ 	(movsi_cf): Make named, don't match TARGET_CFV4.
+ 	(pushexthisi_const): Use mov3q if possible.
+ 	(extendhisi2, cvf4_extendhisi2): Split extendhisi2 pattern
+ 	to special case mvz.w for ColdFire V4.
+ 	(extendqisi2, cvf4_extendqisi2): Split extendhisi2 pattern
+ 	to special case mvz.b for ColdFire V4.
+ 	(udivmodhi4, divmodhi4): Use mvz to zero extend arg for
+ 	divide.
+ 	(iorsi3, xorsi3, andsi3): Use bitfield instructions if possible.
+ 	* config/m68k/m68k.c(valid_mov3q_const):  New function.
+ 	(const_method): SWAP is valid for ColdFire.
+ 	(MULL_COST, MULW_COST): Fix costs for ColdFire V3/V4.
+ 	* config/m68k/m68k-protos.h (valid_mov3q_const): Prototype here.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (CASE_LABEL): Remove.
+ 	* c-common.c (c_add_case_label): Use CASE_LABEL, not CASE_LABEL_DECL.
+ 	(match_case_to_enum_1): Likewise.
+ 	* c-common.h (c_common_stmt_codes): Remove CASE_LABEL.
+ 	* c-dump.c (c_dump_tree): Likewise.
+ 	* c-gimplify.c (c_gimplify_stmt): Likewise.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* c-semantics.c (build_case_label): Use CASE_LABEL_EXPR.
+ 	* tree.h (CASE_LOW): Update commentary.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (ASM_STMT): Remove.
+ 	* c-common.h (c_common_stmt_codes): Remove ASM_STMT.
+ 	* c-dump.c (c_dump_tree): Likewise.
+ 	* c-gimplify.c (c_gimplify_stmt): Likewise.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* c-typeck.c (build_asm_expr): Use ASM_EXPR.
+ 	* tree.h: Fix commentary.
+ 
+ 2004-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.def (GOTO_STMT, LABEL_STMT): Remove.
+ 	* c-common.c (c_add_case_label): Use LABEL_EXPR.
+ 	* c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove.
+ 	(c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT.
+ 	* c-dump.c (c_dump_tree): Likewise.
+ 	* c-gimplify.c (c_gimplify_stmt): Likewise.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* c-parse.in (stmt): Use GOTO_EXPR.
+ 	(label): Use LABEL_EXPR.
+ 	* c-semantics.c (build_stmt): Set TREE_TYPE to void.
+ 	* tree-inline.c (copy_body_r): Don't build empty BLOCKs.
+ 
+ 2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cfgcleanup.c (try_simplify_condjump): Update test to make
+ 	sure we have a conditional branch around am unconditional branch.
+ 
+ 2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-cfg.c (pass_split_crit_edge): Give it a name and a dump file.
+ 
+ 2004-06-16  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* loop.c (loop_givs_reduce): Avoid miscompilation of
+ 	loops entered at bottom.
+ 
+ 2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Handle case where the
+ 	destination of E_FALL is EXIT_BLOCK_PTR.
+ 
+ 2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/15653
+ 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
+ 	after shifts before asm.
+ 
+ 2004-06-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR tree-optimization/15993
+ 	* tree-ssa-dom.c (thread_across_edge): Do not thread edge if its
+ 	destination is unchanged.
+ 
+ 2004-06-16  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* doc/install.texi (Configuration): Update description for
+ 	--enable-version-specific-runtime-libs.
+ 
+ 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/install.texi: boehm-gc now uses automake 1.8.5.
+ 
+ 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* toplev.h (rest_of_compilation): Adjust prototype.
+ 
+ 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* coverage.c: Remove argument to rest_of_compilation.
+ 	* expr.c (execute_expand, set_save_expr_context, pass_expand): New.
+ 	* passes.c (rest_of_compilation): Remove argument.
+ 	(pass_rest_of_compilation): New.
+ 	(rest_of_handle_final, rest_of_handle_delay_slots,
+ 	rest_of_handle_stack_regs, rest_of_handle_variable_tracking
+ 	rest_of_handle_machine_reorg, rest_of_handle_regrename
+ 	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2
+ 	rest_of_handle_regmove, rest_of_handle_tracer
+ 	rest_of_handle_if_conversion, rest_of_handle_if_after_combine
+ 	rest_of_handle_web, rest_of_handle_branch_prob
+ 	rest_of_handle_value_profile_transformations, rest_of_handle_cfg
+ 	rest_of_handle_addressof, rest_of_handle_jump_bypass
+ 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2):
+ 	Check that the two arguments are actually superfluous.
+ 	* tree-optimize.c (register_dump_files): Add properties argument.
+ 	Track validity of passes.  Only initialize dump files for
+ 	tree-based passes.  Store the full set of provided passes in
+ 	the pass.
+ 	(init_tree_optimization_passes): Register pass_expand and
+ 	pass_rest_of_compilation.
+ 	(execute_one_pass): Do not track the presence of required properties
+ 	here.  Set in_gimple_form.  Do not update current_properties.
+ 	(current_properties): Remove.
+ 	(set_save_expr_context): Remove.
+ 	(tree_rest_of_compilation): Do not set in_gimple_form.  Do not
+ 	expand to RTL here, and do not call rest_of_compilation.  Push
+ 	GGC context even before gimplification.
+ 	* tree-pass.h (PROP_rtl, PROP_trees): New flags.
+ 	(pass_expand, pass_rest_of_compilation): Declare.
+ 
+ 2004-06-15  Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (swap_tree_comparison): No longer static.
+ 	(tree_swap_operands_p): Similarly.  Return true if both operands
+ 	are SSA_NAMEs and the first operand has a higher version number than
+ 	the second operand.
+ 	* tree.h (swap_tree_comparison): Prototype.
+ 	(tree_swap_operands_p): Prototype.
+ 	* tree-ssa-operands.c (get_expr_operands): For commutative
+ 	operators and relational comparisons, canonicalize the
+ 	order of the operands.
+ 
+ 2004-06-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-common.c (lang_gimplify_stmt): Remove next_p argument.
+ 	(if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
+ 	c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
+ 	c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
+ 	(finish_fname_decls, fname_decl): Use statement_lists.
+ 	(c_expand_expr_stmt): Don't set last_expr_type.
+ 	(c_type_hash): Fix indentation.
+ 	(c_safe_from_p): Don't follow TREE_CHAIN.
+ 	(c_tree_chain_matters_p): Remove.
+ 	* c-common.def (SCOPE_STMT): Remove.
+ 	(CLEANUP_STMT): Redefine to contain its own body.
+ 	* c-common.h (struct stmt_tree_s): Remove x_last_stmt,
+ 	x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
+ 	Add x_cur_stmt_list.
+ 	(last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
+ 	(cur_stmt_list): New.
+ 	(STATEMENT_LIST_STMT_EXPR): New.
+ 	(SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
+ 	SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
+ 	(CLEANUP_BODY): New.
+ 	(CLEANUP_DECL): Move to operand 2.
+ 	(c_common_stmt_codes): Remove SCOPE_STMT.
+ 	(COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
+ 	* c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
+ 	(c_push_function_context, c_pop_function_context): Don't save it.
+ 	(finish_decl): Set TREE_USED on the decl for a cleanup.
+ 	Use push_cleanup.
+ 	(store_parm_decls): Use statement lists.
+ 	(finish_function): Remove compstmt rule workaround.  Use statement
+ 	lists.  Call finish_fname_decls after finalizing the body.
+ 	(c_begin_compound_stmt): Move to c-typeck.c.
+ 	* c-dump.c (c_dump_tree): Remove SCOPE_STMT.
+ 	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
+ 	(c_genericize): Invoke them.
+ 	(c_gimplify_stmt): Don't look through TREE_CHAIN.  Kill SCOPE_STMT.
+ 	(c_build_bind_expr): Export.
+ 	(gimplify_block, gimplify_cleanup): Remove.
+ 	(gimplify_condition): Use gimplify_stmt.
+ 	(gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
+ 	(gimplify_if_stmt): Remove recursion hack.
+ 	(c_gimplify_expr): Remove STMT_EXPR handling.
+ 	(stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
+ 	(is_last_stmt_of_scope): Remove.
+ 	* c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
+ 	* c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
+ 	c_end_compound_stmt.
+ 	* c-objc-common.c (build_cdtor): Likewise.
+ 	* c-parse.in (primary): Use c_finish_stmt_expr.
+ 	(push_scope, pop_scope): Remove.
+ 	(c99_block_start, compstmt_start): Use c_begin_compound_stmt.
+ 	(c99_block_end, compstmt): Use c_end_compound_stmt.
+ 	(c99_block_lineno_labeled_stmt): Likewise.
+ 	(compstmt_primary_start): Use c_begin_stmt_expr.
+ 	(simple_if, select_or_iter_stmt): Update calls to stmt builders.
+ 	(do_stmt_start): Fill in body directly.
+ 	(lineno_stmt): Avoid setting lineno on constants.
+ 	* c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
+ 	Remove SCOPE_STMT.
+ 	* c-semantics.c (begin_stmt_tree): Remove.
+ 	(push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
+ 	(add_stmt): Use statement lists.
+ 	(add_scope_stmt, finish_stmt_tree): Remove.
+ 	(push_cleanup): New.
+ 	* c-tree.h: Move some decls from c-common.h.
+ 	* c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
+ 	(do_case, c_finish_case): Likewise.
+ 	(c_finish_then): Take body for then as argument.
+ 	(c_finish_else): Similarly.
+ 	(c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
+ 	c_finish_for_stmt_incr, c_finish_for_stmt): New.
+ 	(c_begin_stmt_expr, c_finish_stmt_expr): New.
+ 	(c_begin_compound_stmt): Do scope management.
+ 	(c_end_compound_stmt): New.
+ 	* fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
+ 	* gimplify.c (voidify_wrapper_expr): Accept temporary argument.
+ 	Look through exception handling constructs.
+ 	(gimplify_bind_expr): Accept temporary argument.
+ 	(gimplify_target_expr): Special case BIND_EXPR bodies.
+ 	(gimplify_expr): Handle fallback == fb_none like a statement.
+ 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
+ 	* langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
+ 	* langhooks.h (tree_chain_matters_p): Remove.
+ 	* stub-objc.c (objc_clear_super_receiver): New.
+ 	* tree-gimple.h (voidify_wrapper_expr): Update decl.
+ 	(append_to_statement_list, append_to_statement_list_force): Move
+ 	to tree-iterator.h.
+ 	* tree-inline.c (expand_call_inline): Update call.
+ 	(clone_body): Use statement lists.
+ 	(walk_tree): Don't check tree_chain_matters_p.
+ 	(copy_tree_r): Likewise.
+ 	* tree-iterator.c (alloc_stmt_list): Clear lang bits.
+ 	(tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
+ 	* tree-iterator.h (append_to_statement_list,
+ 	append_to_statement_list_force): Moved from tree-gimple.h.
+ 	* tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
+ 	* objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
+ 	(objc_enter_block): Likewise.
+ 	(objc_exit_block): Use c_end_compound_stmt.
+ 	(objc_build_try_enter_fragment): Add #error and comment for
+ 	rewriting for OBJCPLUS.
+ 	(objc_build_extract_fragment, objc_build_try_epilogue,
+ 	objc_build_catch_stmt, objc_build_finally_prologue,
+ 	objc_build_finally_epilogue): Update for C statement builders.
+ 	* objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
+ 	Remove.
+ 
+ 2004-06-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* df.c (df_reg_clobber_gen): Removed.
+ 	(df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
+ 	Make more effective for hard regs.
+ 	* ra-build.c (livethrough_conflicts_bb): Check contains_call.
+ 
+ 2004-06-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* c-pragma.h (c_lex_string_translate): Change type to int.
+ 	* c-parse.in: Change all assignments of c_lex_string_translate
+ 	to true and false to 1 and 0.
+ 	* c-lex.c (c_lex_string_translate): Likewise.
+ 	(lex_string): Convert string without translation in the -1
+ 	case.
+ 
+ 2004-06-15  Mark G. Adams  <mark.g.adams@sympatico.ca>
+ 
+ 	* convert.h: Add include guards
+ 
+ 2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-flow-inline.h: Document all functions.
+ 
+ 2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-flow-inline.h (stmt_ann): Remove use of is_essa_node.
+ 	* tree-dfa.c (create_stmt_ann): Ditto.
+ 	* tree-pretty-print.c (dump_generic_node): Remove E* node handling.
+ 	* tree-inline.c (estimate_num_insns_1): Ditto.
+ 	* tree.c (tree_size): Ditto.
+ 	(make_node_stat): Ditto.
+ 	(tree_node_structure): Ditto.
+ 	(ephi_node_elt_check_failed): Remove.
+ 	(is_essa_node): Ditto.
+ 	* tree.def (EPHI_NODE): Ditto.
+ 	(EEXIT_NODE): Ditto.
+ 	(EUSE_NODE): Ditto.
+ 	(EKILL_NODE): Ditto.
+ 	* tree.h (EREF_NODE_CHECK): Remove.
+ 	(EPHI_NODE_ELT_CHECK): Ditto.
+ 	(struct tree_eref_common): Ditto.
+ 	(struct tree_euse_node): Ditto.
+ 	(struct ephi_arg_d): Ditto.
+ 	(struct tree_ephi_node): Ditto.
+ 	(ephi_node_elt_check_failed): Remove prototype.
+ 	(is_essa_node): Ditto.
+ 	(enum tree_node_structure_enum): Remove TS_E*_NODE.
+ 	(union tree_node): Remove E*_NODE uses.
+ 
+ 2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* alias.c (record_set, record_base_value, canon_rtx, get_addr,
+ 	nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
+ 	* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
+ 	Likewise.
+ 	* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
+ 	expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
+ 	expand_builtin_strcmp, expand_builtin_strncmp,
+ 	expand_builtin_frame_address): Likewise.
+ 	* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
+ 	insert_one_insn): Likewise.
+ 	* calls.c (prepare_call_address, precompute_register_parameters,
+ 	precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
+ 	* cfganal.c (flow_active_insn_p): Likewise.
+ 	* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
+ 	combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
+ 	subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
+ 	make_extraction, recog_for_combine, gen_lowpart_for_combine,
+ 	simplify_comparison, record_dead_and_set_regs_1,
+ 	record_dead_and_set_regs, record_promoted_value,
+ 	check_promoted_subreg, get_last_value_validate, get_last_value,
+ 	reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
+ 	unmentioned_reg_p_1): Likewise.
+ 	* conflict.c (mark_reg): Likewise.
+ 	* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
+ 	mention_regs, insert_regs, lookup, lookup_for_remove, insert,
+ 	merge_equiv_classes, flush_hash_table, invalidate,
+ 	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
+ 	invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
+ 	cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
+ 	record_jump_cond, cse_insn, addr_affects_sp_p,
+ 	invalidate_from_clobbers, cse_process_notes, cse_around_loop,
+ 	cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
+ 	cse_cc_succs, cse_condition_code_reg): Likewise.
+ 	* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
+ 	cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
+ 	cselib_record_set, cselib_record_sets): Likewise.
+ 	* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
+ 	dbxout_block): Likewise.
+ 	* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
+ 	is_based_loc, rtl_for_decl_location): Likewise.
+ 	* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
+ 	set_decl_incoming_rtl, mark_user_reg): Likewise.
+ 	* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
+ 	copy_to_suggested_reg, allocate_dynamic_stack_space,
+ 	probe_stack_range, hard_function_value): Likewise.
+ 	* expmed.c (store_bit_field, store_fixed_bit_field,
+ 	store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
+ 	extract_split_bit_field, expand_divmod, emit_store_flag_force):
+ 	Likewise.
+ 	* expr.c (convert_move, convert_modes,
+ 	block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
+ 	use_group_regs, emit_move_insn, emit_move_insn_1,
+ 	compress_float_constant, push_block, emit_single_push_insn,
+ 	emit_push_insn, get_subtarget, expand_assignment, store_expr,
+ 	store_constructor, store_field, force_operand, safe_from_p,
+ 	expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
+ 	Likewise.
+ 	* final.c (profile_function, final_scan_insn, alter_subreg,
+ 	get_mem_expr_from_op, output_asm_operand_names, output_operand,
+ 	only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
+ 	* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
+ 	find_regno_partial, propagate_one_insn, init_propagate_block_info,
+ 	insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
+ 	attempt_auto_inc, find_auto_inc, mark_used_regs,
+ 	count_or_remove_death_notes_bb): Likewise.
+ 	* function.c (find_temp_slot_from_address, update_temp_slot_address,
+ 	preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
+ 	fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
+ 	put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
+ 	purge_single_hard_subreg_set, instantiate_decl,
+ 	instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
+ 	promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
+ 	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
+ 	expand_function_start, diddle_return_value, clobber_return_register,
+ 	expand_function_end, keep_stack_depressed, handle_epilogue_set,
+ 	update_epilogue_consts): Likewise.
+ 	* genemit.c (gen_exp, gen_insn): Likewise.
+ 	* genrecog.c (make_insn_sequence): Likewise.
+ 	* global.c (global_conflicts, expand_preferences, mark_reg_store,
+ 	mark_reg_conflicts, set_preference, reg_becomes_live,
+ 	build_insn_chain, mark_reg_change): Likewise.
+ 	* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
+ 	Likewise.
+ 	* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
+ 	Likewise.
+ 	* integrate.c (copy_rtx_and_substitute, try_constants,
+ 	subst_constants, mark_stores, allocate_initial_values): Likewise.
+ 	* jump.c (reversed_comparison_code_parts, delete_prior_computation,
+ 	delete_computation, rtx_renumbered_equal_p, true_regnum,
+ 	reg_or_subregno): Likewise.
+ 	* lcm.c (reg_dies, reg_becomes_live): Likewise.
+ 	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
+ 	update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
+ 	wipe_dead_reg, no_conflict_p): Likewise.
+ 	* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
+ 	iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
+ 	simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
+ 	* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
+ 	move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
+ 	find_single_use_in_loop, count_one_set, loop_bivs_init_find,
+ 	loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
+ 	valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
+ 	loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
+ 	maybe_eliminate_biv_1, record_initial, update_reg_last_use,
+ 	canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
+ 	try_swap_copy_prop): Likewise.
+ 	* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
+ 	expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
+ 	Likewise.
+ 	* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
+ 	reload_cse_simplify_operands, reload_combine,
+ 	reload_combine_note_store, reload_combine_note_use,
+ 	reload_cse_move2add, move2add_note_store): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
+ 	contains_pseudo, handle_asm_insn): Likewise.
+ 	* ra-debug.c (ra_print_rtx_object, dump_constraints,
+ 	dump_static_insn_cost): Likewise.
+ 	* ra-rewrite.c (slots_overlap_p, emit_colors,
+ 	remove_suspicious_death_notes): Likewise.
+ 	* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
+ 	register_operand, scratch_operand, nonmemory_operand,
+ 	constrain_operands): Likewise.
+ 	* reg-stack (check_asm_stack_operands, remove_regno_note,
+ 	emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
+ 	subst_asm_stack_regs): Likewise.
+ 	* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
+ 	record_address_regs, reg_scan_mark_refs): Likewise.
+ 	* regmove.c (discover_flags_reg, replacement_quality,
+ 	copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
+ 	fixup_match_1): Likewise.
+ 	* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
+ 	kill_set_value, copyprop_hardreg_forward_1): Likewise.
+ 	* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
+ 	reload_inner_reg_of_subreg, can_reload_into, push_reload,
+ 	combine_reloads, find_dummy_reload, hard_reg_set_here_p,
+ 	operands_match_p, decompose, find_reloads, find_reloads_toplev,
+ 	find_reloads_address, subst_indexed_address, find_reloads_address_1,
+ 	find_reloads_subreg_address, find_replacement,
+ 	refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
+ 	refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
+ 	* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
+ 	find_reg, delete_dead_insn, alter_reg, eliminate_regs,
+ 	elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
+ 	forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
+ 	emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
+ 	do_output_reload, emit_reload_insns, gen_reload,
+ 	delete_address_reloads_1, inc_for_reload): Likewise.
+ 	* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
+ 	update_reg_unused_notes, fill_slots_from_thread): Likewise.
+ 	* resource.c (update_live_status, mark_referenced_resources,
+ 	mark_set_resources, mark_target_live_regs): Likewise.
+ 	* rtlanal.c (nonzero_address_p, get_jump_table_offset,
+ 	global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
+ 	reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
+ 	note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
+ 	find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
+ 	parms_set, find_first_parameter_load, keep_with_call_p,
+ 	hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
+ 	num_sign_bit_copies1): Likewise.
+ 	* rtlhooks.c (gen_lowpart_general): Likewise.
+ 	* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
+ 	sched_analyze): Likewise.
+ 	* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
+ 	Likewise.
+ 	* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
+ 	* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
+ 	simplify_binary_operation, simplify_const_relational_operation,
+ 	simplify_subreg): Likewise.
+ 	* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
+ 	expand_end_stmt_expr, expand_return, expand_decl,
+ 	expand_anon_union_decl): Likewise.
+ 	* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
+ 	find_splittable_regs, find_splittable_givs, find_common_reg_term,
+ 	loop_iterations): Likewise.
+ 	* var-tracking.c (variable_union, variable_part_different_p,
+ 	variable_different_p, count_uses, add_uses, add_stores,
+ 	compute_bb_dataflow, set_variable_part, delete_variable_part,
+ 	emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
+ 	Likewise.
+ 	* varasm.c (assemble_variable): Likewise.
+ 
+ 2004-06-15  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
+ 	definition.
+ 	* config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
+ 	#undef and #if 0'd definition.
+ 
+ 2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* combine.c (distribute_notes): Comment typo fix.
+ 
+ 2004-06-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (synth_mult): Mask bits of the multiplier to the
+ 	machine mode of the multiplication.  Don't consider shifts
+ 	by more than (or equal to) the width of the operation's mode.
+ 
+ 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/install.texi: Yet another update for autoconf
+ 	and automake versions.
+ 
+ 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* function.h (struct function): Remove cannot_inline field.
+ 	(current_function_cannot_inline): Remove.
+ 	* passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT.
+ 	Simplify conditionals to ignore warn_return_type.
+ 	* tree-optimize.c (tree_rest_of_compilation): Do not reset
+ 	DECL_DEFER_OUTPUT.
+ 	* objc/objc-act.c (build_module_descriptor, finish_method_def):
+ 	Do not set current_function_cannot_inline.
+ 
+ 2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Handle case where the
+ 	destination of E_TAKEN is EXIT_BLOCK_PTR.
+ 
+ 2004-06-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-copy.c (cprop_into_successor_phis): Fix typo.
+ 
+ 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* fold-const.c (operand_equal_p): Update comment.
+ 
+ 2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
+ 	(INCOMING_RETURN_ADDR_RTX): Define.
+ 	* config/m32r/m32r-protos.h (m32r_return_addr): Added.
+ 	* config/m32r/m32r.c (m32r_exppand_prologue): Changed for
+ 	__builtin_return_address(0).
+ 	(m32r_return_addr): Added for __builtin_return_address(0).
+ 	(m32r_reload_lr): Ditto.
+ 
+ 	* longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
+ 
+ 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/install.texi (Prerequisites): Update libbanshee,
+ 	fastjar, libcpp, libjava/libltdl entries to
+ 	automake 1.8.5.
+ 
+ 2004-06-15  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 	    Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* function.c (fixup_var_refs): Also adjust the start of sequence
+ 	after fixing up the insns.
+ 
+ 2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	* gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
+ 
+ 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
+ 
+ 	* doc/install.texi (Prerequisites): Update libstdc++ entry to
+ 	automake 1.8.5.
+ 
+ 2004-06-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf)
+ 	to -mtpf-trace (-mno-tpf-trace).
+ 	* doc/invoke.texi (S/390 and zSeries Options): Add tpf option
+ 	documentation.
+ 
+ 2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* real.c: Fix bit count in head comment.
+ 
+ 2004-06-14  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa.c (kill_redundant_phi_nodes): More correctly handle
+ 	PHIs where the destination or an argument is marked with
+ 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+ 
+ 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/15945
+ 	* simplify-rtx.c (simplify_binary_operation): Don't optimize out
+ 	Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
+ 
+ 2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* opts.sh (var_args): Fix regexp.
+ 
+ 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/15178
+ 	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
+ 
+ 2004-06-14  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
+ 
+ 2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (FLAGS_H): New.
+ 	(flags.h): Replace by FLAGS_H.
+ 	* c.opt: Document Var, VarExists, Init and Report attributes.
+ 	* common.opt: Fill the values of the attributes.
+ 	* diagnostic.c (flag_fatal_errors): Do not define.
+ 	* except.c (flag_non_call_exceptions): Do not define.
+ 	* flags.h: Include options.h.  Remove declarations conflicting with
+ 	the automatically defined ones.
+ 	* opts.c: Remove automatically defined variables.
+ 	(handle_option): Perform default initialization.
+ 	(common_handle_option): Do not handle options covered by the
+ 	default initialization.
+ 	* opts.h (struct cl_option): Add flag_var, has_set_value and set_value
+ 	fields.
+ 	(CL_REPORT): New.
+ 	* opts.sh: Generate variable declarations, handle CL_REPORT.
+ 	* toplev.c: Remove automatically defined variables.
+ 	(f_options): Removed.
+ 	(print_switch_values): Use cl_options instead of f_options.
+ 	* toplev.h (version_flag): Declaration removed.
+ 
+ 2004-06-14  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/sparc/sparc.h: Correct comment about availability of
+ 	little endian option.
+ 
+ 	* config.gcc: Remove sparc64-*-aout*.
+ 	* config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
+ 	* config/sparc/sp64-aout.h: Remove.
+ 	* config/sparc/aout.h: Remove.
+ 
+ 2004-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c: Include "tree-gimple.h".
+ 	(s390_gimplify_va_arg): New function.
+ 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 	(s390_va_arg): Remove.
+ 	* config/s390/s390-protos.h (s390_va_arg): Remove.
+ 	* config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
+ 
+ 2004-06-14  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* basic-block.h (could_fall_through): Declare.
+ 	* cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
+ 	Fail if the source already has a fallthrough edge to the exit
+ 	block pointer.
+ 	(could_fall_through): New function.
+ 	* cfgbuild.c (make_edges): Check if we already have a fallthrough
+ 	edge to the exit block pointer.
+ 	* cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
+ 	not called before reload has completed.
+ 	Handle special case of first block having a fall-through exit edge.
+ 	(cfg_layout_finalize): Don't call it before reload or if we have
+ 	rtl epilogues.
+ 	(fixup_reorder_chain): A fall through to the exit block does not
+ 	require the block to come last.  Add sanity checks.
+ 	* cfgrtl.c (rtl_split_edge): Add special handling of fall through
+ 	edges to the exit block.
+ 	* function.c (cfglayout.h): #include.
+ 	(thread_prologue_and_epilogue_insns): If we have neither return nor
+ 	epilogue, but a fall through to the exit block from mid-function,
+ 	force a non-fall-through exit.
+ 	* Makefile.in (function.o): Depend on CFGLAYOUT_H.
+ 
+ 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
+ 	for power5 and rs64a.  Correct condition for default.  Correct power3,
+ 	620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
+ 
+ 2004-06-13  Steven Bosscher <stevenb@suse.de>
+ 
+ 	* gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
+ 	Revert previous change, don't use CALL_P.
+ 
+ 2004-06-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h: Move std_gimplify_va_arg_expr protoype here.
+ 	* tree-gimple.h: From here.
+ 
+ 2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/15979
+ 	Fix PR tree-optimization/15981
+ 	* tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
+ 	try to insert values undefined along some path.
+ 
+ 2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
+ 	are available everywhere too.
+ 
+ 2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (fold_checksum_tree <case 't'>): Only
+ 	look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
+ 	Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
+ 	EXPR is an INTEGERAL_TYPE or a scalar float type.
+ 
+ 2004-06-13  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-sra.c (tree_sra): Update documentation.
+ 
+ 2004-06-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (comptypes, tagged_types_tu_compatible_p,
+ 	function_types_compatible_p, type_lists_compatible_p): Remove
+ 	flags parameter.
+ 	* c-tree.h (comptypes): Likewise.
+ 	(COMPARE_STRICT): Remove.
+ 	* c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
+ 	callers changed.
+ 
+ 2004-06-13  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* c-decl.c (diagnose_mismatched_decls): Improve error message.
+ 	Remove unused code.
+ 	* c-typeck.c (comptypes): Add location in standard we're checking.
+ 
+ 2004-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
+ 	version 3.3.4.
+ 
+ 2004-06-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
+ 	index by machine mode.
+ 	(init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
+ 	tables inside the loop over machine modes.
+ 	(synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
+ 	expand_divmod): Index shift*_cost by the appropriate machine mode.
+ 
+ 2004-06-12  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
+ 	* config/s390/s390.md: Ditto.
+ 	* config/s390/s390.c: Ditto.
+ 	(s390_frame_info): Conditionalize frame and setup info on
+ 	TARGET_TPF_PROFILING.
+ 	(s390_arg_frame_offset): Ditto.
+ 
+ 2004-06-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (omit_two_operands): New function.
+ 	* tree.h (omit_two_operands): Prototype here.
+ 	* builtins.c (fold_builtin_unordered_cmp): New function to lower
+ 	C99 unordered comparison builtins to the appropriate tree nodes.
+ 	(fold_builtin_1): Use fold_builtin_unordered_cmp to lower
+ 	BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
+ 	BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER.  Manually lower
+ 	BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
+ 	(simplify_builtin_memcmp, simplify_builtin_strncmp,
+ 	simplify_builtin_strncat, simplify_builtin_strspn): Use the new
+ 	omit_two_operands function to build the required COMPOUND_EXPRs.
+ 
+ 2004-06-12  Steven Bosscher <stevenb@suse.de>,
+ 	    Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcse.c (record_set_info): Use predicates like REG_P.
+ 	(mems_conflict_for_gcse_p): Likewise.
+ 	(load_killed_in_block_p): Likewise.
+ 	(hash_expr_1): Likewise.
+ 	(insert_set_in_table): Likewise.
+ 	(gcse_constant_p): Likewise.
+ 	(hash_scan_set): Likewise.
+ 	(hash_scan_insn): Likewise.
+ 	(canon_list_insert): Likewise.
+ 	(record_last_mem_set_info): Likewise.
+ 	(record_last_set_info): Likewise.
+ 	(compute_hash_table_work): Likewise.
+ 	(mark_set): Likewise.
+ 	(mark_clobber): Likewise.
+ 	(mark_oprs_set): Likewise.
+ 	(compute_transp): Likewise.
+ 	(find_avail_set): Likewise.
+ 	(cprop_insn): Likewise.
+ 	(do_local_cprop): Likewise.
+ 	(cprop): Likewise.
+ 	(find_implicit_sets): Likewise.
+ 	(find_bypass_set): Likewise.
+ 	(bypass_conditional_jumps): Likewise.
+ 	(insert_insn_end_bb): Likewise.
+ 	(pre_insert_copy_insn): Likewise.
+ 	(compute_transpout): Likewise.
+ 	(next_ls_expr): Likewise.
+ 	(invalidate_any_buried_refs): Likewise.
+ 	(compute_ld_motion_mems): Likewise.
+ 	(reg_set_info): Likewise.
+ 	(reg_clear_last_set): Likewise.
+ 	(find_moveable_store): Likewise.
+ 	(compute_store_table): Likewise.
+ 	(find_loads): Likewise.
+ 	(store_killed_in_insn): Likewise.
+ 	(insert_insn_start_bb): Likewise.
+ 	(reg_set_between_after_reload_p): Likewise.
+ 	(reg_used_between_after_reload_p): Likewise.
+ 	(is_jump_table_basic_block): Likewise.
+ 	(gcse_after_reload): Likewise.
+ 	(hash_scan_set_after_reload): Likewise.
+ 	(compute_hash_table_after_reload): Likewise.
+ 
+ 2004-06-12  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
+ 	(INSN_P): Don't look at the rtx code class, just explicitly
+ 	check for one of the tree RTX_INSN codes.
+ 
+ 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-typeck.c (default_function_array_conversion): Use
+ 	build_pointer_type not TYPE_POINTER_TO.
+ 
+ 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
+ 	* configure, config.in: Regenerate.
+ 	* system.h: Unconditionally define bool as unsigned char,
+ 	BOOL_BITFIELD as unsigned int.
+ 	* domwalk.h: Use BOOL_BITFIELD.
+ 
+ 2004-06-12  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
+ 	* libgcc-darwin.ver: Likewise.
+ 
+ 2004-06-12  Peter Jakubek  <peter@laseranimation.com>
+ 
+ 	* reload.c (find_reloads): Force reload for pseudo registers on big
+ 	endian machines.
+ 
+ 2004-06-11  Steven Bosscher <stevenb@suse.de>
+ 
+ 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary):
+ 	Don't try to mark anything control dependent on the entry or
+ 	exit blocks.
+ 
+ 2004-06-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix Bug 15899
+ 	Fix Bug 15460
+ 	* tree.h (SSA_NAME_VALUE): New macro.
+ 	(struct tree_ssa_name): Add value_handle member.
+ 	* tree-ssa-pre.c: Replaced.
+ 	* tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
+ 	(struct cst_ann_d): New.
+ 	(struct expr_ann_d): New.
+ 	(union tree_ann_d): Add cst_ann, expr_ann.
+ 	* tree-dfa.c (create_cst_ann): New function.
+ 	(create_expr_ann): Ditto.
+ 	* tree-flow-inline.h (cst_ann): New function.
+ 	(expr_ann): Ditto.
+ 	(get_cst_ann): Ditto.
+ 	(get_expr_ann): Ditto..
+ 
+ 2004-06-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
+ 	* pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
+ 	_U_Qfcmp library function.
+ 	(_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
+ 	_U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
+ 
+ 	* pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
+ 	unspec used for loading address from DLT.
+ 	* pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
+ 	Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
+ 	Don't use short code sequence when loading the address of a nonlocal
+ 	label.
+ 	(nonlocal_goto): New expander.
+ 	(indirect_goto): New jump pattern for nonlocal gotos.
+ 	(short_jump): Remove extra whitespace.
+ 	(builtin_longjmp): Clobber memory and hard frame pointer.  Restore
+ 	frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
+ 	pattern.
+ 
+ 2004-06-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (synth_mult): Add an additional MODE argument for the
+ 	machine mode of the multiplication.  Update recursive calls.  Use
+ 	mode instead of word_mode for determining operation costs.
+ 	(choose_mult_variant): Update calls to synth_mult with "mode".
+ 
+ 2004-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
+ 	and makes_aliased_stores.
+ 
+ 2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* doc/install.text (--enable-shared): Fix typo.
+ 
+ 2004-06-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
+ 	argument.  Use internal post for call to gimplify_expr.  Tidy
+ 	rounded type size computation.
+ 	(alpha_gimplify_va_arg): Use get_formal_tmp_var and
+ 	get_initialized_tmp_var.
+ 
+ 2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* doc/install.texi (--enable-shared): Update libobjc's shared library
+ 	status.  Remove reference to libf2c.
+ 
+ 2004-06-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ 	* config/i386/i386.c (ix86_va_arg): Remove.
+ 	* config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Remove.
+ 	* config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ 	* config/alpha/alpha.c (alpha_va_arg): Remove.
+ 	* config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
+ 	* config/sparc/sparc.c (sparc_va_arg): Remove.
+ 
+ 	* tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
+ 	assignment might throw.
+ 	* tree-eh.c (tree_could_throw_p): Support non-call exceptions in
+ 	expressions.
+ 
+ 2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR 15886:
+ 	* sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
+ 
+ 2004-06-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/install.texi (Prerequisites): Update documentation of
+ 	required versions of autoconf and automake.  Remove mention of
+ 	libf2c.
+ 
+ 2004-06-11  Jason Merrill  <jason@redhat.com>
+ 
+ 	* config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
+ 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 
+ 2004-06-11  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* typeclass.h: Add GPL plus exception license.  Add include
+ 	guard.
+ 
+ 2004-06-10  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gimplify.c (gimplify_modify_expr): Don't force a temporary
+ 	of an aggregate_value_p type.
+ 
+ 2004-06-10  Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (fold_inf_compare): Avoid creating non-gimple
+ 	code when we are in gimple form.
+ 
+ 2004-06-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
+ 	* tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
+ 	(highest_ssa_version): Remove.
+ 	* tree-outof-ssa.c (new_temp_expr_table): Replace
+ 	highest_ssa_version with num_ssa_names.
+ 	(dump_replaceable_exprs): Likewise.
+ 	(rewrite_vars_out_of_ssa): Likewise.
+ 	* tree-ssa-ccp.c (initialize): Likewise
+ 	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+ 	* tree-ssa-dce.c (tree_dce_init): Likewise.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ 	* tree-ssa-live.c (create_ssa_var_map): Likewise.
+ 	(dump_var_map): Likewise.
+ 	* tree-ssa.c (verify_ssa): Likewise.
+ 	(kill_redundant_phi_nodes): Likewise.
+ 	Do not build a local array of SSA_NAMEs.  Use the ssa_names table.
+ 	* tree-ssanames.c: Include tree-flow.h
+ 	(ssa_names): New varray.
+ 	(init_ssa_names): Initialize ssa_names.
+ 	Reserve the first slot of the ssa_names table.
+ 	(make_ssa_name): Push the newly created SSA_NAME into ssa_names.
+ 	Assign version numbers using num_ssa_names.
+ 
+ 2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/sourcebuild.texi (Front End): Add details of more
+ 	installation documentation required.
+ 
+ 2004-06-10  Brian Booth  <bbooth@redhat.com>
+ 
+ 	* doc/tree-ssa.texi: Remove references to VDEF and add descriptions
+ 	of V_MAY_DEF and V_MUST_DEF.
+ 	* tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
+ 	num_vdefs to num_v_may_defs.
+ 	(compute_immediate_uses_for_stmt): Rename occurences of vdef
+ 	to v_may_def.
+ 	(redirect_immediate_uses): Ditto.
+ 	(dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
+ 	(collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
+ 	Also add code to sum up the number of v_must_defs.
+ 	(vdefs_disappeared_p): Replace with...
+ 	(v_may_defs_disappeared_p): This.
+ 	(v_must_defs_disappeared_p): New function.
+ 	(mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
+ 	Also add code to mark new variables found in V_MUST_DEFs for
+ 	renameing.
+ 	* tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
+ 	vdef_ops to v_may_def_ops.
+ 	(get_vdef_ops): Replace with...
+ 	(get_v_may_def_ops): This.
+ 	* tree-flow-inline.h (get_vdef_ops): Replace with...
+ 	(get_v_may_def_ops): This.
+ 	(get_v_must_def_ops): New function.
+ 	(get_vdef_result_ptr): Replace with...
+ 	(get_v_may_def_result_ptr): This.
+ 	(get_vdef_op_ptr): Ditto with...
+ 	(get_v_may_def_op_ptr); This.
+ 	(get_v_must_def_op_ptr): New function.
+ 	* tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
+ 	to v_may_def. Also add code to mark statements with
+ 	V_MUST_DEFs as definition sites.
+ 	(rewrite_stmt): Rename occurences of vdef to v_may_def. Also
+ 	add code to register new V_MUST_DEFs made by the statement.
+ 	* tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
+ 	(check_replaceable): Rename occurences of vdef to v_may_def. Also
+ 	add check for V_MUST_DEFs.
+ 	(find_replaceable_in_bb): Ditto.
+ 	* tree-pretty-print.c (dump_vops): Rename occurences of vdef
+ 	to v_may_def. Also add code to dump V_MUST_DEFs.
+ 	* tree-sra.c (mark_all_vdefs): Replace with...
+ 	(mark_all_v_may_defs): This.
+ 	(mark_all_v_must_defs): New function.
+ 	(create_scalar_copies): Replace call to mark_all_vdefs with
+ 	calls to mark_all_v_may_defs and mark_all_v_must_defs.
+ 	(scalarize_structures): Rename occurences of vdef to v_may_def.
+ 	Also add a check for V_MUST_DEFs.
+ 	(scalarize_modify_expr): Rename occurences of vdef to v_may_def.
+ 	* tree-ssa-alias.c (global_var): Update comment.
+ 	(compute_may_aliases): Ditto.
+ 	(compute_points_to_and_addr_escape): Rename occurences of vdef
+ 	to v_may_def. Also add code to mark variables in V_MUST_DEF
+ 	operands as being written to.
+ 	(group_aliases): Update comment.
+ 	(maybe_create_global_var): Ditto.
+ 	* tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
+ 	Also add a check for V_MUST_DEFs on GIMPLE registers.
+ 	(replace_immediate_uses): Rename occurences of vdef to v_may_def.
+ 	* tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
+ 	to v_may_def. Also add code to mark all V_MUST_DEF operands
+ 	VARYING.
+ 	(initialize): Ditto.
+ 	(set_rhs): Rename occurences of vdef to v_may_def. Also add
+ 	code to update SSA_NAMEs in V_MUST_DEFs.
+ 	* tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
+ 	to v_may_def.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
+ 	occurences of vdef to v_may_def. Also add code to mark statements
+ 	with V_MUST_DEFs as necessary.
+ 	(propagate_necessity): Rename occurences of vdef to v_may_def.
+ 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
+ 	occurences of vdef to v_may_def. Also add code to mark operands
+ 	in V_MUST_DEFs for renaming.
+ 	(eliminate_redundant_computations): Rename occurences of vdef
+ 	to v_may_def.
+ 	(record_equivalences_from_stmt): Rename occurences of vdef
+ 	to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
+ 	(optimize_stmt): Remove unnesessary variable vdefs. Update
+ 	comment.
+ 	(register_definitions_for_stmt): Rename occurences of vdef
+ 	to v_may_def. Also add code to register definitions made with
+ 	V_MUST_DEFs.
+ 	* tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
+ 	(fix_stmt_v_may_defs): This.
+ 	(fix_phi_uses): Rename occurences of vdef to v_may_def.
+ 	(dse_optimize_stmt): Ditto.
+ 	* tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
+ 	to v_may_def. Also add code to mark V_MUST_DEF operands as being
+ 	used in virtual operators.
+ 	* tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
+ 	vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
+ 	renaming.
+ 	* tree-ssa-operands.c (opf_kill_def): New flag for killing
+ 	definitions.
+ 	(build_vdefs): Renamed to...
+ 	(build_v_may_defs): This.
+ 	(build_v_must_defs): New variable.
+ 	(voperands_d): Add v_must_def_ops and replace vdef_ops with
+ 	v_may_def_ops.
+ 	(append_vdef): Replace with...
+ 	(append_v_may_def): This.
+ 	(append_v_must_def): New function.
+ 	(NUM_FREE): Increment for V_MUST_DEF
+ 	(optype_freelist): Increment its size for V_MUST_DEF
+ 	(allocate_vdef_optype): Replace with...
+ 	(allocate_v_may_def_optype): This.
+ 	(allocate_v_must_def_optype): New function.
+ 	(free_vdefs): Replace with...
+ 	(free_v_may_defs): This.
+ 	(free_v_must_defs): New function.
+ 	(remove_vdefs): Replace with...
+ 	(remove_v_may_defs): This.
+ 	(remove_v_must_defs): New function.
+ 	(init_ssa_operands): Rename occurences of vdef to v_may_def. Also
+ 	add code to initialize build_v_must_defs.
+ 	(finalize_ssa_vdefs): Replace with...
+ 	(finalize_ssa_v_may_defs): This.
+ 	(finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
+ 	(finalize_ssa_v_must_defs): New function.
+ 	(finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
+ 	with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
+ 	(verify_start_operands): Rename occurences of vdef to v_may_def.
+ 	Also add check for build_v_must_defs.
+ 	(get_stmt_operands): Rename occurences of vdef to v_may_def.
+ 	Also add code to handle V_MUST_DEFs and to use opf_kill_def for
+ 	killing definitions.
+ 	(get_expr_operands): Update comment and use opf_kill_def for
+ 	killing definitions.
+ 	(add_stmt_operand): Replace code that appends VDEFs with code
+ 	that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
+ 	otherwise.
+ 	(add_call_clobber_ops): Update comments.
+ 	* tree-ssa-operands.h (vdef_optype_d): Replace with...
+ 	(v_may_def_optype_d): This.
+ 	(v_must_def_optype_d): New structure.
+ 	(VDEF_OPS): Replace with...
+ 	(V_MAY_DEF_OPS): This.
+ 	(STMT_VDEF_OPS): Same with...
+ 	(STMT_V_MAY_DEF_OPS): This.
+ 	(NUM_VDEFS): And...
+ 	(NUM_V_MAY_DEFS): This.
+ 	(VDEF_RESULT_PTR): As well as...
+ 	(V_MAY_DEF_RESULT_PTR): This.
+ 	(VDEF_RESULT): Same goes for...
+ 	(V_MAY_DEF_RESULT): This.
+ 	(VDEF_OP_PTR): And...
+ 	(V_MAY_DEF_OP_PTR): This.
+ 	(VDEF_OP): And...
+ 	(V_MAY_DEF_OP): This.
+ 	(V_MUST_DEF_OPS): New macro.
+ 	(STMT_V_MUST_DEF_OPS): Ditto.
+ 	(NUM_V_MUST_DEFS): Ditto.
+ 	(V_MUST_DEF_OP_PTR): Ditto.
+ 	(V_MUST_DEF_OP): Ditto.
+ 	(remove_vdefs): Replace signature with...
+ 	(remove_v_may_defs): This.
+ 	(remove_v_must_defs): New function signature.
+ 	* tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
+ 	with calls to remove_v_may_defs and remove_v_must_defs.
+ 	(process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
+ 	Also add code that marks left occurences of operands in V_MUST_DEFs.
+ 	* tree-tailcall.c (find_tail_calls): Rename occurences of vdef
+ 	to v_may_def. Also add check for V_MUST_DEFs.
+ 	(eliminate_tail_call):Rename occurences of vdef to v_may_def.
+ 
+ 2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/15653
+ 	* haifa-sched.c (schedule_block): Finish cycle after issuing asm
+ 	insn.
+ 
+ 2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	PR web/15263
+ 	* doc/install.texi: Remove superfluous linebreak.
+ 
+ 2004-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin): Fall back to library function call for
+ 	conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
+ 	(fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
+ 	BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
+ 	IMAGPART_EXPR respectively.
+ 
+ 2004-06-10  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* sh.c (dump_table): New argument start.  Changed caller.
+ 	(fixup_mova): New function.
+ 	(find_barrier): Use it.
+ 	(sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
+ 	If the label a mova refers to is above the mova itself, change
+ 	the mova into a load.
+ 	* sh.md (*casesi_worker): Rename to:
+ 	(casesi_worker_1).
+ 	(casesi_worker_2): New insn.
+ 
+ 2004-06-10  Jason Merrill  <jason@redhat.com>
+ 
+ 	* target.h (struct gcc_target): Change gimplify_va_arg_expr
+ 	hook signature.
+ 	* tree-gimple.h: Adjust.
+ 	* config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
+ 	* config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
+ 	Use fold_convert.
+ 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
+ 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
+ 	Use COMPLEX_EXPR for complex numbers.  Use fold_convert.
+ 	* builtins.c (std_gimplify_va_arg_expr): Adjust.  Use fold_convert.
+ 	(gimplify_va_arg_expr): Return GS_ERROR in error case.
+ 	Gimplify valist rather than calling stabilize_va_list.
+ 
+ 2004-06-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (df.o): Remove fibheap dependency.
+ 	* df.h: Do not include sbitmap.h.
+ 	(struct ref): New field "data".
+ 	(DF_REF_DATA): New accessor macro.
+ 	(struct df): Field "dom" removed.
+ 	(df_analyze_subcfg): New function.
+ 	(transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
+ 	(transfer_function): ... new type.
+ 	(iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
+ 	(iterative_dataflow): ... new function.
+ 	(enum set_representation, struct dataflow): New.
+ 	* df.c: Do not include fibheap.h.
+ 
+ 	(df_reg_def_chain_clean, df_reg_use_chain_clean,
+ 	(df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
+ 	prune_to_subcfg, df_bb_modify): New functions.
+ 	(df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
+ 	df_refs_update, df_reg_table_realloc, df_ref_create,
+ 	df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
+ 	df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
+ 	df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
+ 
+ 	(dataflow_set_a_op_b, dataflow_set_copy): New functions.
+ 	(df_rd_transfer_function, df_ru_transfer_function,
+ 	df_lr_transfer_function): Type of bitmaps changed to void *.
+ 	(hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
+ 	(hybrid_search): ... new function.
+ 	(iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
+ 	(iterative_dataflow): ... new function. Avoid use of fibheaps for
+ 	a worklist.  Do not process basic blocks unnecessarily.
+ 
+ 2004-06-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_abs_const): Make extern.
+ 	* tree.h (fold_abs_const): Prototype here.
+ 	* builtins.c (fold_builtin_fabs): New function to transform
+ 	fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
+ 	(fold_builtin_abs): New function to transform abs, labs, llabs
+ 	and imaxabs builtins into ABS_EXPR tree nodes.
+ 	(expand_builtin): Fall back to a function call for abs, labs,
+ 	llabs and imaxabs builtins that survive constant folding.
+ 	(fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
+ 	FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
+ 
+ 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
+ 	leaf function without unwind info at RP 0.
+ 
+ 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/14791
+ 	* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
+ 	(fileptr_type_node): Define.
+ 	* tree.c (build_common_tree_nodes_2): Initialize
+ 	fileptr_type_node to ptr_type_node.
+ 	* c-common.c (c_common_nodes_and_builtins): For C++, make
+ 	fileptr_type_node a distinct type copy.
+ 	* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
+ 	BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
+ 	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
+ 	BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
+ 	(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
+ 	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
+ 	BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
+ 	* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
+ 	BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
+ 	BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
+ 	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
+ 	the above *FILEPTR* types instead of *PTR*.
+ 
+ 2004-06-09  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
+ 	match.
+ 
+ 2004-06-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_not_const): New function.
+ 	(fold) <ABS_EXPR>: Don't bother testing wins.
+ 	(fold) <BIT_NOT_EXPR>: Call fold_not_const.
+ 	(nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
+ 
+ 2004-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/15228
+ 	* function.c (assign_parms): Always set_mem_align with the computed
+ 	FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
+ 
+ 2004-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/15108
+ 	* tree-tailcall.c (find_tail_calls): Don't check early for
+ 	tail_recursion failure.
+ 
+ 2004-06-09  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	Move SSA_NAME annotations into tree_ssa_name.
+ 
+ 	* tree-dfa.c (create_ssa_name_ann): Remove.
+ 	* tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
+ 	* tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
+ 	(struct ssa_name_ann_d): Remove.
+ 	(union tree_ann_d): Update.
+ 	(ssa_name_ann_t): Remove.
+ 	* tree-ssa-alias.c: (get_ptr_info): New local function.
+ 	Replace references to ssa_name_ann_t with struct ptr_info_def.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 	* tree.h (SSA_NAME_PTR_INFO): Define.
+ 	(struct ptr_info_def): Declare.
+ 	(struct tree_ssa_name): Add field 'ptr_info'.
+ 
+ 2004-06-09  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (i386_pe_output_labelref): Correct
+ 	misplaced ')'.
+ 
+ 2004-06-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/k6.md: Rewrite using the DFA model.
+ 	* config/i386/i386.c (ix86_adjust_cost): Don't increase the
+ 	cost of load-operation insns for the K6.
+ 	(ia32_use_dfa_pipeline_interface): Add TARGET_K6.
+ 	(ia32_multipass_dfa_lookahead): Likewise.
+ 
+ 2004-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1,
+ 	alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.
+ 
+ 2004-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
+ 
+ 2004-06-09  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (CPPLIB_H): Put files in order of inclusion.
+ 	(CPP_ID_DATA_H): New.
+ 	(gtype-desc.o): Update dependencies.
+ 	(GTFILES): Use CPP_ID_DATA_H.
+ 
+ 2004-06-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert:
+ 	PR c++/15815
+ 	2004-06-07  Mark Mitchell  <mark@codesourcery.com>
+ 	* doc/extend.texi: Deprecate #pragma interface and #pragma
+ 	implementation.
+ 
+ 2004-06-09  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/sparc.h (MOVE_RATIO): New definition.
+ 
+ 2004-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* basic-block.h (struct edge_def): Add goto_locus.
+ 	* tree-cfg.c (make_goto_expr_edges): Set it.
+ 	(disband_implicit_edges): Use it.
+ 	* tree-pretty-print.c (dump_implicit_edges): Print it.
+ 
+ 2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
+ 
+ 	* h8300.md (ldm_h8300s_4): Fix condition for expander.
+ 
+ 2004-06-08  Jason Merrill  <jason@redhat.com>
+ 
+ 	Gimplify VA_ARG_EXPR into simpler forms.
+ 	* target.h: Add gimplify_va_arg_expr hook.
+ 	* target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
+ 	* fold-const.c (build_fold_addr_expr)
+ 	(build_fold_addr_expr_with_type): Move from gimplify.c.
+ 	* tree.h: Declare them.
+ 	* gimplify.c (gimplify_and_add): New fn.
+ 	(build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
+ 	(gimplify_array_ref_to_plus, gimplify_modify_expr)
+ 	(gimplify_expr): Use build_fold_*.
+ 	(copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
+ 	don't know how to gimplify it.
+ 	* builtins.c (std_gimplify_va_arg_expr): New fn.
+ 	(dummy_object): New static fn.
+ 	(gimplify_va_arg_expr): New fn.
+ 	(stabilize_va_list): Use build_fold_*.
+ 	* tree-gimple.h: Declare new fns.
+ 	* config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 	(ix86_gimplify_va_arg): New fn.
+ 	* config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 	(ia64_gimplify_va_arg): New fn.
+ 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
+ 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+ 	* alias.c (get_varargs_alias_set): Just return 0 for now.
+ 
+ 	* c-objc-common.c (c_tree_printer): Improve handling of %T.
+ 
+ 2004-06-09  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-complex.c (expand_complex_comparison): Use fold_convert instead
+ 	of convert.
+ 	* tree-inline.c (setup_one_parameter): Likewise.
+ 	* tree-sra.c (csc_build_component_ref): Likewise.
+ 	* tree-ssa-ccp.c (ccp_fold): Likewise.
+ 	* tree-ssa-copy.c (cprop_operand): Likewise.
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+ 	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
+ 
+ 2004-06-09  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR rtl-optimization/15521:
+ 	* sched-int.h (in_post_call_group_p): Change type to enum.
+ 	* sched-deps.c (sched_analyze_insn):
+ 	(sched_analyze): When in_post_call_group_p is post_call_initial,
+ 	don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
+ 	and also reset in_post_call_group_p to post_call.
+ 	(sched_analyze): When the previous basic block ended in a CALL_INSN,
+ 	initialize in_post_call_group_p as post_call_initial.
+ 	(init_deps): initialize in_post_call_group_p to not_post_call.
+ 
+ 2004-06-09  Arnaud Charlet  <charlet@act-europe.fr>
+ 
+ 	PR ada/6637
+ 	* doc/install.texi: List ada, libada as options to --enable-shared
+ 
+ 2004-06-09  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* aclocal.m4 (gcc_AC_PROG_LN): Remove.
+ 	(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
+ 	config.in entries.
+ 	* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
+ 	if hard links are not available.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 2004-06-08  Per Bothner  <per@bothner.com>
+ 
+ 	* configure.ac:  New --enable-mapped-location sets USE_MAPPED_LOCATION.
+ 
+ 2004-06-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
+ 	Correct formatting.
+ 
+ 2004-06-08  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/15790
+ 	* config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
+ 
+ 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (fold_convert): Treat OFFSET_TYPE like
+ 	POINTER_TYPE and INTEGER_TYPE.
+ 
+ 2004-06-08  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* modulo-sched.c: Compile only when INSN_SCHEDULING is
+ 	defined.
+ 
+ 2004-06-08  Jeff Law  <law@redhat.com>
+ 
+ 	* doc/contrib.texi: Add entries for Stefan Olsson and
+ 	Ola Ronnerup.
+ 
+ 2004-06-08  DJ Delorie  <dj@redhat.com>
+ 
+ 	* toplev.c (floor_log2_wide): Replace loop with faster bit
+ 	operations.
+ 	(exact_log2_wide): Define in terms of the above.
+ 	* toplev.h (floor_log2): Use _builtin_clz family of builtins if
+ 	available.
+ 
+ 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (print_operand, <case 'z'>):
+ 	Make sure that we are in INDIRECT mode when getting the
+ 	stub name.
+ 
+ 2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
+ 
+ 	* h8300.md (extendqisi2_h8300): Add constraints.
+ 	(ldm_h8300s_4_normal): Fix typo.
+ 
+ 2004-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimple-low.c (struct lower_data): Replace the_return_label and
+ 	one_return_stmt with return_statements.
+ 	(lower_function_body): Process the entire list of return_statements.
+ 	(lower_return_expr): Check source value before unifying return_exprs.
+ 	* gimplify.c (gimplify_return_expr): Force the use of a temporary
+ 	for !aggregate_value_p.
+ 	* tree-gimple.c: Update RETURN_EXPR grammer.
+ 
+ 2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/15598
+ 	* config/ia64/ia64.c (bundling): Add missed TYPE_A.
+ 
+ 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR rtl-optimization/15717
+ 	* config/i386/i386.c (legitimate_constant_p): Do not allow
+ 	x - symbol_ref.
+ 
+ 2004-06-08  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* gimplify.c (copy_if_shared_r): Revert:
+ 	2004-05-21  Richard Henderson  <rth@redhat.com>
+ 	* gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
+ 
+ 2004-06-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
+ 	Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
+ 	(init_expmed): Initialize these cost arrays as appropriate.
+ 	(store_bit_field, extract_bit_field): Correct whitespace.
+ 	(synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
+ 	expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
+ 	neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
+ 	word_mode or compute_mode as appropriate.
+ 
+ 2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/15783
+ 	* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
+ 	parameter.  Enumerate the registers inside the PARALLEL.
+ 	(function_arg): Adjust call to function_arg_union_value.
+ 	(function_value): Likewise.
+ 
+ 	* config/sparc/sparc.c (sparc_function_epilogue): Properly format.
+ 
+ 2004-06-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_copysign): New function to implement libm's copysign.
+ 	* real.h (real_copysign): Prototype here.
+ 	* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
+ 	and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
+ 	* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
+ 	fold_builtin_isdigit): Add function prototypes.
+ 	(fold_builtin_copysign): New function to fold copysign, copysignf
+ 	and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
+ 	constant arguments at compile-time using real_copysign.  Fold
+ 	copysign(X,Y) as fabs(X) if Y is always non-negative.
+ 	(fold_builtin_1): Correct minor whitespace/style issues.  Call
+ 	fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
+ 
+ 2004-06-07  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* tree.c (iterative_hash_expr): Use real_hash.
+ 
+ 2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/14765
+ 	* c-parse.in (compstmt_primary_start): Set last_expr_type to
+ 	NULL_TREE.
+ 
+ 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/15815
+ 	* doc/extend.texi: Deprecate #pragma interface and #pragma
+ 	implementation.
+ 
+ 2004-06-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR middle-end/15666
+ 	* c-decl.c (finish_decl): Use change_decl_assembler_name for the
+ 	builtin decl as well.
+ 
+ 2004-06-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c/14649
+ 	* c-typeck.c (require_constant_value, require_constant_elements):
+ 	Move declarations to the top of the file.
+ 	(build_function_call): If we require a constant value, fold with
+ 	fold_initializer.  If the result is a constant, and the function
+ 	wasn't called using __builtin_foo, issue a pedantic warning.
+ 	(build_unary_op): If we require a constant value, fold tree with
+ 	fold_initializer.
+ 	(build_binary_op): Use require_constant_value to determine whether
+ 	to call fold or fold_initializer.
+ 
+ 2004-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimple-low.c (struct lower_data): Add the_return_label and
+ 	one_return_stmt.
+ 	(lower_function_body): Initialize and use them.
+ 	(lower_return_expr): New.
+ 	(lower_stmt): Call it.
+ 	* gimplify.c (gimplify_return_expr): Force the argument to be either
+ 	null or a result_decl.
+ 	* tree-gimple.c: Update gimple grammer to match.
+ 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
+ 	coalescing of result_decls.
+ 
+ 2004-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/15193
+ 	* expmed.c (extract_bit_field): Fix vector_extract return.
+ 
+ 	* config/i386/i386.md (negv4sf2): New pattern.
+ 
+ 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/15337
+ 	* c-common.c (c_sizeof_or_alignof_type): Use more detailed error
+ 	message.
+ 
+ 2004-06-06  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config.in: Regenerate.
+ 
+ 2004-06-06  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-cfg.c (tree_verify_flow_info): Make sure that labels in
+ 	SWITCH_LABELS are always sorted.
+ 
+ 2004-06-06  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* hooks.c (hook_int_void_1): New generic hook.
+ 	* hooks.h (hook_int_void_1): Add prototype.
+ 	* config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+ 	Define to hook_int_void_1.
+ 	* config/c4x/c4x.md: Replace dummies for the old pipeline model
+ 	with dummies for the new one.
+ 
+ 2004-06-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.h (lvalue_or_else): Delete function prototype.
+ 	* c-typeck.c (lvalue_or_else): Make static.  Add static prototype.
+ 
+ 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/14542
+ 	* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
+ 	a live change of a register after peephole replacement.
+ 
+ 2004-06-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/13519
+ 	* c-typeck.c (composite_type, common_pointer_type): New functions.
+ 	(common_type): Split parts into composite_type and
+ 	common_pointer_type.  Ensure that arithmetic operations return
+ 	unqualified types without attributes.  Don't make composite type
+ 	of signed enum and compatible integer be unsigned.
+ 	(build_conditional_expr, build_binary_op): Use
+ 	common_pointer_type.
+ 	* c-decl.c (merge_decls): Use composite_type.
+ 	* c-tree.h (composite_type): Declare.
+ 
+ 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/14457
+ 	* config/m68hc11/m68hc11.c (splitable_operand): New predicate.
+ 	* config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
+ 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
+ 	(inhibit_libc): Must define.
+ 	* config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
+ 	("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
+ 	("xorhi3"): Likewise.
+ 
+ 2004-06-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
+ 	always_inline pass.
+ 
+ 2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
+ 
+ 	* config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
+ 	* config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
+ 
+ 2004-06-05  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* regclass.c (init_reg_sets): Check for missing registers in target
+ 	initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
+ 
+ 2004-06-05  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (MKDEPS_H): New shorthand.
+ 	(c-opts.o): Update dependencies.
+ 	* c-opts.c: Include mkdeps.h.
+ 	(handle_deferred_opts): Use cpp_get_deps and deps_add_target,
+ 	not cpp_add_dependency_target.
+ 
+ 2004-06-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
+ 	* config/v850/v850.md: Convert to DFA scheduler description.
+ 
+ 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+ 
+ 	PR fortran/15478
+ 	* doc/install.texi: Document GMP as prerequisite. Document
+ 	--with-gmp and --with-gmp-dir configure options.
+ 	* fortran/gfortran.texi: Remove section "Compiling and testing",
+ 	remove TOC reference to it.
+ 
+ 2004-06-05  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	* combine.c(simplify_shift_const): Check shift amount is a
+ 	CONST_INT.
+ 
+ 2004-06-05  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* toplev.c (init_asm_output): Add explicit 'b' to mode when
+ 	opening asm_out_file.
+ 	* c-pch.c (c_common_write_pch): Remove unnecessary fflush before
+ 	reading asm_out_file. Replace fflush after reading asm_out_file
+ 	with fseek.
+ 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
+ 	default and add to HOST_HOOKS_INITIALIZER.
+ 	* hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
+ 	* ggc-common.c (default_gt_pch_alloc_granularity): New function.
+ 	(gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
+ 	to set mmi.offset padding.
+ 	 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
+ 	$(srcdir)/config/i386/winnt.c.
+ 	(i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
+ 	(i[34567]86-*-uwin*): Likewise.
+ 	*i[34567]86-*-interix3*): Likewise.
+ 	* config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
+ 	* config/i386/host-mingw32.c: New file.
+ 	* config/i386/x-mingw32: Add rule for host-mingw32.o.
+ 	* config/i386/winnt.c: (struct extern_list) Tag as GTY.
+ 	(extern_head): Likewise.
+ 	(struct export_list) Likewise.
+ 	(export_head): Likewise.
+ 	(i386_pe_record_external_function): Use ggc_alloc.
+ 	(i386_pe_record_exported_symbol): Likewise.
+ 	Include "gt-winnt.h" at end.
+ 	* doc/hostconfig.texi: Document
+ 	HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
+ 
+ 2004-06-04  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h: Remove comments copied over from tm.texi.
+ 	Rename 68000 and 68k to m68k for consistency in comments.  Remove
+ 	trailing whitespace before EOLs and before TABs.
+ 	(MAX_CODE_ALIGN): Remove unused macro.
+ 	(CALL_USED_REGISTERS): Reformat and add comments.
+ 
+ 2004-06-04  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* gcc.c (MFLIB_SPEC): Remove library references, to require users
+ 	to enumerate -lmudflap* and dependencies when linking.
+ 
+ 2004-06-04  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR target/15822
+ 	* dojump.c (do_jump): Fix uninitialized variable tcode1.
+ 
+ 2004-06-04  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* Makefile.in (insn-conditions.o): Back out removal of reload.h.
+ 	* genconditions.c (write_header): Back out removal of reload.h.
+ 
+ 2004-06-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Re-apply hopefully fixed patch:
+ 	* i386.md (UNSPECV_EH_RETURN): Kill.
+ 	(eh_return): Use jump_insn.
+ 	(eh_return_si, eh_return_di): Change pattern to jump instruction.
+ 
+ 2004-06-04  Jeff Law  <law@redhat.com>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
+ 
+ 2004-06-04  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* except.c (for_each_eh_region): New function.
+ 	* except.h (for_each_eh_region): Add a prototype for it.
+ 	* tree-cfg.c (update_eh_labels): New function, callback for
+ 	for_each_eh_region.
+ 	(label_for_bb): Make global static, unfortunately.
+ 	(cleanup_dead_labels): Also update label references for
+ 	exception regions.
+ 
+ 2004-06-03  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (struct irix_section_align_entry): Fix
+ 	GTY marker.
+ 
+ 2004-06-03  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* toplev.c (check_global_declarations): Don't ask for
+ 	DECL_ASSEMBLER_NAME unless the function really is declared
+ 	static and not defined.
+ 
+ 2004-06-03  Matt Austern  <austern@apple.com>
+ 
+ 	PR c++/15428
+ 	* default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
+ 	for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
+ 	* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
+ 	* doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
+ 	documentation to reflect the new macro name and to clarify its
+ 	meaning.
+ 
+ 2004-06-03  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* rtl.def (VAR_LOCATION): Make RTX_EXTRA.
+ 
+ 2004-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin.c (machopic_indirect_data_reference): Copy
+ 	the SYMBOL_REF_DECL from the original RTX for the new
+ 	non-lazy pointer RTX.
+ 
+ 2004-06-03  Mark G. Adams  <mark.g.adams@sympatico.ca>
+ 
+ 	* tree.h: Remove include of version.h
+ 	* c-cppbuiltin.c: Include version.h
+ 	* diagnostic.c: Include version.h
+ 	* dwarf2out.c: Include version.h
+ 	* toplev.c: Include version.h
+ 	* vmsdbgout.c: Include version.h
+ 	* Makefile.in: Remove dependency on version.h from TREE_H, and
+ 	add dependencies to required .o targets
+ 
+ 2004-06-03  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
+ 	CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
+ 	(TARGET_H): Add insn-modes.h.
+ 	(tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
+ 	loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
+ 	loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
+ 	loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
+ 	cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
+ 	(toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
+ 	loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
+ 	bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
+ 	CFGLAYOUT_H.
+ 	(ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
+ 	Replace ra.h with RA_H.
+ 	(resource.o, regrename.o, insn-conditions.o, insn-emit.o,
+ 	insn-recog.o): Replace resource.h with RESOURCE_H.
+ 	(ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
+ 	sched-ebb.o, sched-vis.o, out_object_file):  Replace sched-int.h
+ 	with SCHED_INT_H.
+ 	(web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
+ 	ra-rewrite.o): Replace df.h with DF_H.
+ 	(ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
+ 	(tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
+ 	Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
+ 	(insn-conditions.o): Remove unused reload.h.
+ 	* cfglayout.h: Add include guard.  Include basic-block.h.
+ 	* cfgloop.h: Add include guard.  Include basic-block.h, rtl.h.
+ 	* ddg.h: Include sbitmap.h, basic-block.h, df.h.
+ 	* df.h: Add include guard.  Include bitmap.h, sbitmap.h,
+ 	basic-block.h.
+ 	* genconditions.c:  Remove reload.h.
+ 	* ra.h: Add include guard.  Include bitmap.h, sbitmap.h,
+ 	hard-reg-set.h, insn-modes.h.
+ 	* resource.h: Add include guard.  Include hard-reg-set.h.
+ 	* sched-int.h:  Add include guard.  Include insn-attr.h,
+ 	basic-block.h, rtl.h.
+ 	* target.h: Add include guard.  Include insn-modes.h.
+ 	* tree-ssa-live.h: Include partition.h.
+ 
+ 2004-06-03  Daniel Berlin  <dberlin@dberlin.org>
+ 		Kenneth Zadeck <zadeck@naturalbridge.com>
+ 
+ 	* tree-ssa-ccp.c (varying_ssa_edges): New worklist.
+ 	(add_var_to_ssa_edges_worklist): Add value argument.
+ 	Update callers.
+ 	Use new worklist.
+ 	(process_ssa_edge_worklist): New function.
+ 	(tree_ssa_ccp): Move worklist processing core to
+ 	process_ssa_edge_worklist, and just call that for the two worklists.
+ 
+ 2004-06-03  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.c (tail_recursion_label_list): Don't declare.
+ 	(CLEANUP_PRE_SIBCALL): Remove.  Renumber the other CLEANUP_*
+ 	accordingly.
+ 	* cfgbuild.c (find_label_refs): Remove.
+ 	(find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
+ 	* cfgcleanup.c (tail_recursion_label_p): Remove.
+ 	(merge_blocks_move): Do not check for tail recursion.
+ 	(try_optimize_cfg): Likewise.
+ 	(cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
+ 	* cfgrtl.c (tail_recursion_label_list): Remove.
+ 	* except.c (remove_unreachable_regions): Don't handle
+ 	CALL_PLACEHOLDER insns.
+ 	(convert_from_eh_region_ranges_1, can_throw_internal,
+ 	can_throw_external): Likewise.
+ 	* function.c (free_after_compilation): Don't clear
+ 	x_tail_recursion_label.
+ 	(fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
+ 	(identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
+ 	(reorder_blocks_1): Likewise.
+ 	* function.h (struct function): Remove x_tail_recursion_label
+ 	member.  Don't define tail_recursion_label.
+ 	* jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* rtl.def (CALL_PLACEHOLDER): Remove.
+ 	* rtl.h (sibcall_use_t): Remove enum.
+ 	(optimize_sibling_and_tail_recursive_calls,
+ 	replace_call_placeholder): Remove function prototypes.
+ 	* stmt.c (tail_recursion_args): Remove.
+ 	(optimize_tail_recursion): Remove.
+ 	(expand_return): Don't check for possible tail recursion.
+ 	* tree.h (optimize_tail_recursion): Remove prototype.
+ 
+ 2004-06-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-cfg.c (tree_find_edge_insert_loc):  Allow inserting before
+ 	return_stmt.
+ 
+ 2004-06-02  Jason Merrill  <jason@redhat.com>
+ 
+ 	* Makefile.in (TAGS): Don't mess with c-parse.[ch].
+ 	Do include c-parse.in.
+ 
+ 2004-06-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* c-typeck.c (common_type): Don't lose type qualifiers
+ 	when creating new variants.
+ 
+ 2004-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-optimization/14042
+ 	PR tree-optimization/14729
+ 	PR tree-optimization/14736
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1):
+ 	Check the type which the pointer points to
+ 	instead of the pointer types.
+ 
+ 2004-06-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/15738.
+ 	* builtins.c (fold_builtin_strchr): Transform
+ 	strrchr (s, '\0') to strchr (s, '\0').
+ 
+ 2004-06-02  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* i386.c (ix86_adjust_cost): Don't increase the cost for
+ 	load+operation for PROCESSOR_PENTIUMPRO, it is already
+ 	modelled in the DFA description
+ 
+ 2004-06-01  Jerry Quinn  <jlquinn@optonline.net>
+ 
+ 	* Makefile.in (EXPR_H): Add insn-config.h, function.h,
+ 	$(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
+ 	(ALIAS_H, EMIT_RTL_H): New.
+ 	(cselib.o): Replace EXPR_H with EMIT_RTL_H.
+ 	(cfgcleanup.o): Add EMIT_RTL_H.
+ 	(alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
+ 	* alias.c: Replace expr.h with emit-rtl.h and alias.h.
+ 	* attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
+ 	* cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
+ 	* expr.h: Add include guard.  Include function.h, rtl.h, flags.h,
+ 	tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
+ 	(get_varargs_alias_set, get_frame_alias_set, record_base_value,
+ 	record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
+ 	(set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
+ 	set_mem_size): Move to emit-rtl.h.
+ 	* emit-rtl.h: New.
+ 	* alias.h: New.
+ 
+ 2004-06-01  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* function.c (walk_fixup_memory_subreg): New parameter 'var'.
+ 	Call fixup_memory_subreg only if the MEM is equal to 'var'.
+ 	Adjust recursive calls to self.
+ 	(fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
+ 
+ 2004-06-01  Richard Henderson  <rth@redhat.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-parse.in (OFFSETOF, offsetof_member_designator): New.
+ 	(primary): Handle offsetof.  Add error productions for faux functions.
+ 	Move component_ref objc checking to build_component_ref.
+ 	(reswords): Add offsetof.
+ 	(rid_to_yy): Add offsetof.
+ 	* c-tree.h (build_offsetof): Declare.
+ 	* c-common.h (objc_is_public): Declare.
+ 	* c-typeck.c (build_component_ref): Check objc_is_public.
+ 	(build_offsetof): New.
+ 	* stub-objc.c (objc_is_public): New.
+ 	* objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
+ 	from is_public.
+ 	* ginclude/stddef.h (offsetof): Use __builtin_offsetof.
+ 	* doc/extend.texi (Offsetof): Move from C++ section to C section
+ 	and rewrite for __builtin_offsetof.
+ 
+ 2004-06-01  Peter Barada  <peter@the-baradas.com>
+ 	    Peter Jakubek  <peter@laseranimation.com>
+ 
+ 	* config/m68k/m68k.c(m68k_output_mi_thunk):  For ColdFire, use %d0 as
+ 	a scratch to perform an add to memory.
+ 
+ 2004-06-01  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	PR target/14018
+ 	* config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
+ 	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
+ 	m68k_align_funcs): Remove.
+ 	(override_options): Remove code to handle -malign-* options.
+ 	* config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
+ 	(FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
+ 	(m68k_align_loops_string, m68k_align_jumps_string,
+ 	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
+ 	m68k_align_funcs): Remove definitions.
+ 
+ 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
+ 
+ 	PR target/15626
+ 	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
+ 	by the Sun linker in conjunction with the Sun assembler.
+ 	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
+ 
+ 2004-06-01  Jeff Law  <law@redhat.com>
+ 
+ 	* stmt.c (expand_decl): Be more selective about calling
+ 	mark_reg_pointer.
+ 
+ 2004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
+ 
+ 	PR objc/7993
+ 	* objc-act.c (is_private): Do not emit the 'instance variable %s
+ 	is declared private' error.
+ 	(is_public): Emit the error after calling is_private.
+ 	(lookup_objc_ivar): If the instance variable is private, return 0
+ 	- the instance variable is invisible here.
+ 
+ 2004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (-static-libgcc): Explicitly mention
+ 	non-GNU linkers.
+ 
+ 2004-06-01  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	PR target/12968
+ 	* doc/invoke.texi: Document stack alignment side-effect of -mshort.
+ 
+ 2004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/15749
+ 	* c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
+ 	misuses of structures with flexible array members if
+ 	in_system_header.
+ 
+ 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/15693
+ 	* config/sparc/sparc.c (compare_operand): New predicate.
+ 	* config/sparc/sparc.h (PREDICATE_CODES): Add it.
+ 	* config/sparc/sparc.md (cmpsi expander): Use it.  If the first
+ 	operand is a ZERO_EXTRACT and the second operand is not zero,
+ 	force the former to a register.
+ 	(cmpdi expander): Likewise.
+ 
+ 2004-05-31  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype-lex.l: Catch stray GTY markers in the files gengtype
+ 	looks at.
+ 	* alias.c (alias_invariant_size): Make alias_invariant_size
+ 	static, fix GTY marker.
+ 
+ 2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/15743.
+ 	* builtins.c (fold_builtin_1): Fold index() and rindex().
+ 
+ 2004-05-31  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/15069
+ 	* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
+ 	into "X < 0" (where C is the signbit) if X's type is a full mode.
+ 
+ 2004-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md: Disable the peephole2 patterns that generate indexed
+ 	floating-point stores when indexing is disabled.
+ 
+ 2004-05-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-pretty-print.c (pp_c_left_bracket): Make a function.
+ 	(pp_c_right_bracket): Likewise.
+ 	(pp_c_star): Likewise.
+ 	(pp_c_ampersand): Define.
+ 	* c-pretty-print.h (pp_c_left_bracket): Declare.
+ 	(pp_c_right_bracket): Likewise.
+ 	(pp_c_star): Likewise.
+ 	(pp_c_ampersand): Likewise.
+ 
+ 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sol2.h (__enable_execute_stack): ANSIfy function
+ 	definition.
+ 
+ 2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* c-incpath.c (add_path): Canonicalize paths to use '/' if
+ 	HAVE_DOS_BASED_FILESYSTEM.
+ 
+ 2004-05-31  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
+ 	Only look at case labels if the immediate dominator is also
+ 	the only predecessor.  Don't look for more case labels if the
+ 	first seen is a case range.
+ 
+ 2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c: Add a prototype for fold_builtin_strchr().
+ 
+ 2004-05-31  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Revert this patch:
+ 	2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (gen_binary): Remove.
+ 	(known_cond, simplify_shift_const
+ 	find_split_point, combine_simplify_rtx,
+ 	simplify_if_then_else, simplify_set,
+ 	simplify_logical, expand_field_assignment,
+ 	extract_left_shift, force_to_mode,
+ 	if_then_else_cond, apply_distributive_law,
+ 	simplify_and_const_int, simplify_shift_const,
+ 	gen_lowpart_for_combine, simplify_comparison,
+ 	reversed_comparison): Replace with
+ 	simplify_gen_binary, simplify_gen_relational or
+ 	distribute_and_simplify_rtx.
+ 	(distribute_and_simplify_rtx): New function.
+ 
+ 2004-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
+ 	when generating PIC code.
+ 
+ 2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-decl.c (c_expand_body_1): Remove and fold back into ...
+ 	(c_expand_body): here.
+ 	(c_expand_decl): Move to ...
+ 	* c-common.c (c_expand_decl): Here and remove check for nested
+ 	functions.
+ 	* c-common.h (c_expand_decl): Add prototype.
+ 	* c-tree.h (c_expand_decl): Remove.
+ 
+ 2004-05-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (combine_comparisons, optimize_bit_field_compare,
+ 	range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
+ 	fold_mathfn_compare, fold_inf_compare, fold,
+ 	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
+ 	Use constant_boolean_node where appropriate.  Don't bother using
+ 	fold_convert on the second argument to omit_one_operand.
+ 
+ 2004-05-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
+ 	CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
+ 	ROUND_MOD_EXPR, EXACT_DIV_EXPR.  Improve documentation of
+ 	TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
+ 	Add missing (but documented) tree nodes to the index.
+ 
+ 2004-05-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/14819
+ 	* builtins.c (fold_builtin_strchr): New.
+ 	(fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
+ 	with fold_builtin_strchr().
+ 
+ 2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
+ 	c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
+ 	expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
+ 	passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
+ 	tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
+ 	tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
+ 	tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
+ 	tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
+ 	tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
+ 	formatting.
+ 
+ 2004-05-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* gimplify.c (sort_case_labels): New.  Split out from...
+ 	(gimplify_switch_expr): ...here.  Use it.
+ 	* tree-eh.c (lower_try_finally_switch): Sort the labels of
+ 	the SWITCH_EXPR created here before leaving the function.
+ 	* tree.c (sort_case_labels): Add prototype.
+ 
+ 2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
+ 	of BOOLEAN_TYPE.
+ 
+ 2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
+ 	ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
+ 	fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
+ 	modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
+ 	tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
+ 	tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
+ 	comment typos.  Follow spelling conventions.
+ 
+ 2004-05-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype-yacc.y: Add NESTED_PTR token.
+ 	(option): Record `nested_ptr' option.
+ 	* gengtype-lex.l: Handle `nested_ptr' keyword.
+ 	* gengtype.c (walk_type): Process `nested_ptr' option.
+ 	* gengtype.h (struct nested_ptr_data): New.
+ 	* doc/gty.texi (GTY Options): Document `nested_ptr' option.
+ 	* stringpool.c (struct string_pool_data): Make 'entries' point to
+ 	ht_identifier instead of tree.
+ 	(gt_pch_save_stringpool): Don't adjust pointers.
+ 	(gt_pch_restore_stringpool): Call ht_load.
+ 
+ 2004-05-29  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gimplify.c (gimplify_expr): Don't build a statement list
+ 	if no gimplification was necessary.
+ 
+ 2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* pretty-print.c (pp_base_format_text): Support %< instead of %`
+ 	and %> as well as %'.
+ 	* c-format.c: Use %< and %>.
+ 	(gcc_diag_char_table, gcc_cdiag_char_table,
+ 	gcc_cxxdiag_char_table): Update.
+ 
+ 2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (common_type): Correct comment.
+ 
+ 2004-05-29  Peter Barada  <peter@the-baradas.com>
+ 
+ 	* config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
+ 	* config/m68k/m68k.c (const_method): Likewise.
+ 	* config/m68k/m68k.c (const_int_cost): Likewise.
+ 	* config/m68k/m68k.c (const_int_cost): Likewise.
+ 	* config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
+ 
+ 2004-05-29  Peter Barada  <peter@the-baradas.com>
+ 
+ 	* config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
+ 	addressing.
+ 	* config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
+ 	movsi,movhi,movqi insn patterns.
+ 
+ 2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
+ 
+ 	PR target/15720
+ 	* config/darwin.c (machopic_indirect_call_target): Copy
+ 	the SYMBOL_REF_DECL from the original RTX for the new
+ 	stub RTX.
+ 
+ 2004-05-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* stor-layout.c (place_field): Revert erroneous commit.
+ 
+ 2004-05-28  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
+ 	vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
+ 	vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
+ 	vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
+ 	vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
+ 	vec_ste): Remove type checks for integral parameters and literals
+ 	from '..._args_eq' macros.
+ 
+ 2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.c (fname_as_string): Fix xcalloc to xmalloc.
+ 
+ 2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* testsuite/g++.dg/charset/function.cc: New.
+ 
+ 	* testsuite/gcc.dg/charset/function.c: New.
+ 
+ 	* c-decl.c (c_make_fname_decl): Free return value from
+ 	fname_as_string.
+ 
+ 	* cp/decl.c (cp_make_fname_decl): Free return value from
+ 	fname_as_string.
+ 
+ 	* c-common.c (fname_as_string): Translate if necessary.
+ 
+ 2004-05-28  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* stringpool.c: Add comments to PCH saving/restoring routines.
+ 
+ 2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-common.c (c_estimate_num_insns_1): Kill.
+ 	(c_estimate_num_insns): Kill.
+ 	* c-common.h (c_estimate_num_insns): Kill.
+ 
+ 	* gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
+ 	when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
+ 	Remove comment about not checking for
+ 	_POSIX_PRIORITY_SCHEDULING.
+ 	* gthr-posix.c: Likewise.
+ 
+ 2004-05-28  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/15649
+ 	Add LTGT_EXPR and improve pretty-printing of unordered
+ 	comparisons.
+ 	* c-common.c (c_common_truthvalue_conversion):
+ 	Handle LTGT_EXPR.
+ 	* c-typeck.c (build_binary_op): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* expr.c (expand_expr_real_1, do_store_flag): Likewise.
+ 	* predict.c (tree_predict_by_opcode): Likewise.
+ 	* real.c (real_compare): Likewise.
+ 	* tree-cfg.c (verify_expr): Likewise.
+ 	* tree-inline.c (estimate_num_insns_1): Likewise.
+ 	* tree-pretty-print.c (dump_generic_node): Likewise.
+ 	Handle ORDERED_EXPR, UNORDERED_EXPR.
+ 	(op_symbol): Print unordered comparisons differently
+ 	than ordered ones.
+ 	* tree.def (LTGT_EXPR): New '<' tree code.
+ 	* doc/c-tree.texi (Expressions): Document floating-point
+ 	comparison nodes.
+ 
+ 	Fold comparisons between floating point values.
+ 	* fold-const.c (enum comparison_code): New, from
+ 	#define'd constants.  Define compcodes for unordered
+ 	comparisons and for invalid transformations.
+ 	(invert_tree_comparison): Add "honor_nans" parameter.
+ 	(fold_truthop): Revamp to work on floating-point types too.
+ 	(comparison_to_compcode): Support unordered comparisons.
+ 	Use new enum comparison_code.
+ 	(compcode_to_comparison): Likewise.
+ 	(combine_compcodes): New function.
+ 	(invert_truthvalue): Let invert_tree_comparison decide
+ 	whether it is valid to fold the comparison.  Fold ORDERED
+ 	and UNORDERED even if flag_unsafe_math_optimizations is off,
+ 	and the remaining even if flag_unsafe_math_optimizations
+ 	is off but we are under -fno-trapping-math.
+ 	(fold_relational_const): Integer modes do not honor NaNs.
+ 
+ 2004-05-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Remove redundant code.
+ 
+ 2004-05-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_force_lr_save): New function.
+ 	(arm_get_frame_offsets, thumb_unexpanded_epilogue,
+ 	thumb_output_function_prologue): Use it.
+ 	(thumb_expand_prologue): Set lr_save_eliminated.
+ 
+ 2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (extendsidi2): Tie the source and destination
+ 	of the register alternative.  Split it into nothing.
+ 
+ 2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* rtl.h (skip_consecutive_labels): Declare.
+ 	* emit-rtl.c (skip_consecutive_labels): New function.
+ 	* reorg.c (relax_delay_slots, dbr_schedule): Use it.
+ 	* jump.c (follow_jumps): Say what null return values mean.
+ 
+ 2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/13250
+ 	* config/sh/sh.md (rotlsi3): Use emit_move_insn.
+ 
+ 2004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
+ 	libgcc-std.ver.
+ 	* config/sh/libgcc-std.ver: New file.
+ 
+ 2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
+ 
+ 	* except.c: Revert change of 2004-05-26.
+ 	* config/i386/i386.md: Revert change of 2004-05-27.
+ 
+ 2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
+ 
+ 	* configure.ac: Remove --enable-tree-browser option.
+ 	Define TREEBROWSER when ac_tree_checking is defined.
+ 	* configure: Rebuilt.
+ 
+ 2004-05-27  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* expr.c (store_constructor): Restore sanity check on
+ 	the size of the type before clearing.
+ 
+ 2004-05-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgbuild.c (control_flow_insn_p):  Notice noreturn call
+ 
+ 2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (gen_binary): Remove.
+ 	(known_cond, simplify_shift_const
+ 	find_split_point, combine_simplify_rtx,
+ 	simplify_if_then_else, simplify_set,
+ 	simplify_logical, expand_field_assignment,
+ 	extract_left_shift, force_to_mode,
+ 	if_then_else_cond, apply_distributive_law,
+ 	simplify_and_const_int, simplify_shift_const,
+ 	gen_lowpart_for_combine, simplify_comparison,
+ 	reversed_comparison): Replace with
+ 	simplify_gen_binary, simplify_gen_relational or
+ 	distribute_and_simplify_rtx.
+ 	(distribute_and_simplify_rtx): New function.
+ 	* simplify-rtx.c (simplify_binary_operation):
+ 	Use nonzero_bits to simplify ANDs where we are
+ 	turning off bits already known to be off in OP0.
+ 
+ 2004-05-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/14478
+ 	* config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
+ 
+ 2004-05-27  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR middle-end/14084
+ 	* emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
+ 	to size of decl.
+ 
+ 2004-05-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR/14924
+ 	* config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
+ 
+ 2004-05-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.h: Fix comment typo.
+ 
+ 2004-05-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* gimplify.c (compare_case_labels): New function.
+ 	(gimplify_switch_expr): Sort case labels, and make sure the
+ 	last label in the label vector is the default case.
+ 	* tree-cfg.c (group_case_labels): New function.
+ 	(build_tree_cfg): Cleanup redundant labels and group case labels
+ 	before creating edges.
+ 	(cleanup_dead_labels): Handle GOTO_EXPRs.
+ 	(find_case_label_for_value): Use a binary search to find the
+ 	case label for the given value.
+ 	* tree-gimple.c: Mention that labels are sorted, and that the
+ 	last label must be the default.
+ 
+ 2004-05-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
+ 
+ 2004-05-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (UNSPECV_EH_RETURN): Kill.
+ 	(eh_return): Use jump_insn.
+ 	(eh_return_si, eh_return_di): Change pattern to jump instruction.
+ 
+ 2004-05-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (try_forward_edges):  Do not check loop structure when
+ 	not loop optimizing.
+ 
+ 2004-05-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (can_throw_internal):  Notice RESX instructions.
+ 
+ 2004-05-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
+ 	of the two sizes to assemble_integer.
+ 
+ 2004-05-25  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
+ 	pointless #ifdef.
+ 
+ 2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in (top_builddir): Define to .
+ 
+ 2004-05-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
+ 	top-level detects, except when in-tree ld is being cross-built.
+ 	(gcc_cv_as): Likewise for as.  Use AS_FOR_TARGET otherwise, and
+ 	then AS only if target is host.
+ 	* configure: Rebuilt.
+ 
+ 2004-05-25  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* global.c (global_alloc): Call make_accurate_live_analysis.
+ 	(record_one_conflict): Remove dead code.
+ 	(mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
+ 	(bb_info): New structure.
+ 	(BB_INFO, BB_INFO_BY_INDEX): New macros.
+ 	(allocate_bb_info, free_bb_info, mark_reg_change,
+ 	calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
+ 	modify_bb_reg_pav, calculate_reg_pav,
+ 	make_accurate_live_analysis): New functions.
+ 
+ 2004-05-25  Devang Patel  <dpatel@apple.com>
+ 
+ 	* alias.c (init_alias_analysis): Use ggc_calloc instead of
+ 	xrealloc.
+ 	(end_alias_analysis): Use ggc_free instead fo free.
+ 
+ 2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/15546
+ 	* config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
+ 	as needed to be outputted.
+ 
+ 2004-05-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.def (__builtin_expect):  Mark the function as const&nothrow.
+ 
+ 2004-05-25  Ayal Zaks  <zaks@il.ibm.com>
+ 	Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* Makefile.in (modulo-sched.o, ddg.o): New.
+ 	* ddg.h, ddg.c, modulo-sched.c: New files.
+ 	* cfglayout.c (duplicate_insn_chain): Remove "static" and push
+ 	internals to "dupicate_insn".
+ 	(duplicate_insn): New function.
+ 	* cfglayout.h (duplicate_insn_chain, duplicate_insn): New
+ 	declarations.
+ 	* common.opt (fmodulo-sched): New flag.
+ 	* df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
+ 	Remove static and forward declaration.
+ 	(df_find_def, df_reg_used, df_bb_regno_last_def_find): New
+ 	functions.
+ 	* df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
+ 	df_bb_regno_last_def_find, df_find_def, df_reg_used): New
+ 	declarations.
+ 	* flags.h (flag_modulo_sched): New flag.
+ 	* opts.c (common_handle_option): Handle modulo-sched flag.
+ 	* params.def (max-sms-loop-number, sms-max-ii-factor,
+ 	sms-dfa-history, sms-loop-average-count-threshold): New
+ 	parameters.
+ 	* params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
+ 	SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
+ 	parameters.
+ 	* passes.c ("sms", "sms-vcg"): New dumps.
+ 	(rest_of_handle_sched): Call sms_schedule.
+ 	* rtl.h (sms_schedule): New declaration.
+ 	* timevar.def (TV_SMS): New.
+ 	* toplev.c (flag_modulo_sched): Initialize.
+ 	(f_options): Handle -fmodulo-sched option.
+ 	* docs/invoke.texi: Document -fmodulo-sched & -dm options.
+ 	* docs/passes.texi: Document new SMS pass.
+ 
+ 2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in (OBJS): Add rtlhooks.o.
+ 	(rtlanal.o): Depend on function.h.
+ 	(cse.o): Depend on rtlhooks-def.h.
+ 	(combine.o): Depend on rtlhooks-def.h.
+ 	(rtlhooks.o): New rule.
+ 	* combine.c: Include rtlhooks-def.h.
+ 	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
+ 	num_sign_bit_copies, cached_num_sign_bit_copies,
+ 	num_sign_bit_copies1): Move most of the code to rtlanal.c.
+ 	(reg_nonzero_bits_for_combine,
+ 	reg_num_sign_bit_copies_for_combine): New functions holding
+ 	the remnants of the above.
+ 	(combine_rtl_hooks): New.
+ 	(combine_instructions): Set rtl_hooks instead of gen_lowpart.
+ 	* cse.c: Include rtlhooks-def.h.
+ 	(cse_rtl_hooks): New.
+ 	(cse_main): Set rtl_hooks instead of gen_lowpart.
+ 	* emit-rtl.c (gen_lowpart): Remove.
+ 	(gen_lowpart_general): Move to rtlhooks.c.
+ 	* rtl.h (nonzero_bits, num_sign_bit_copies,
+ 	struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
+ 	(gen_lowpart_general): Remove.
+ 	(gen_lowpart): Temporarily redefine as a macro.
+ 	* rtlanal.c: Include function.h.
+ 	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
+ 	num_sign_bit_copies, cached_num_sign_bit_copies,
+ 	num_sign_bit_copies1): New, from combine.c.
+ 	* rtlhooks.c: New file.
+ 	* rtlhooks-def.h: New file.
+ 
+ 2004-05-25  Svein E. Seldal  <Svein.Seldal@solidas.com>
+ 
+ 	* config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
+ 	to support 32-bit -mint8 mode.
+ 
+ 	* doc/invoke.texi (-mint8): Added documentation for the -mint8
+ 	option in the AVR architecture.
+ 
+ 2004-05-24  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/install.texi: Document that dejagnu 1.4.4 is required.
+ 
+ 2004-05-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* intl.h (open_quote, close_quote): New.
+ 	* intl.c (open_quote, close_quote): New.
+ 	(gcc_init_libintl): Set them.
+ 	* pretty-print.c: Include "intl.h".
+ 	(pp_base_format_text): Support 'q' format flag and %` and %'
+ 	formats.  Use ' instead of ` in comments.
+ 	* c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
+ 	gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
+ 	foramt_types_orig): Describe these new formats.
+ 	(decode_format_attr, check_function_format,
+ 	check_format_info_main): Use these new formats.
+ 	(status_warning): Use ATTRIBUTE_GCC_DIAG.
+ 	* toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
+ 	check these formats to 3.5.
+ 
+ 2004-05-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (CPPLIBS): Renamed to CPPLIB.
+ 	(BACKEND): Reflect this.
+ 	(LIBDEPS): Move CPPLIB before LIBIBERTY.
+ 	(LIBS): Likewise.
+ 
+ 2004-05-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR tree-optimization/14197
+ 	* builtins.c: Include "tree-gimple.h"
+ 	(readonly_data_expr): Use get_base_address.  Make sure to call
+ 	decl_readonly_section only on trees it can handle.
+ 	* tree-gimple.c (get_base_address): Accept STRING_CST and
+ 	CONSTRUCTOR expressions.
+ 	* Makefile.in: Update dependencies.
+ 
+ 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Move libcpp to the toplevel.
+ 	* Makefile.in: Remove references to libcpp files,
+ 	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
+ 	and change hashtable.h to that.
+ 	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
+ 	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
+ 	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
+ 	* cppcharset.c: Removed.
+ 	* cpperror.c: Removed.
+ 	* cppexp.c: Removed.
+ 	* cppfiles.c: Removed.
+ 	* cpphash.c: Removed.
+ 	* cpphash.h: Removed.
+ 	* cppinit.c: Removed.
+ 	* cpplex.c: Removed.
+ 	* cpplib.c: Removed.
+ 	* cpplib.h: Removed.
+ 	* cppmacro.c: Removed.
+ 	* cpppch.c: Removed.
+ 	* cpptrad.c: Removed.
+ 	* cppucnid.h: Removed.
+ 	* cppucnid.pl: Removed.
+ 	* cppucnid.tab: Removed.
+ 	* hashtable.c: Removed.
+ 	* hashtable.h: Removed.
+ 	* line-map.c: Removed.
+ 	* line-map.h: Removed.
+ 	* mkdeps.c: Removed.
+ 	* mkdeps.h: Removed.
+ 	* stringpool.h: Include symtab.h instead of hashtable.h.
+ 	* tree.h: Include symtab.h instead of hashtable.h.
+ 	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
+ 
+ 2004-05-23 Paolo Bonzini <bonzini@gnu.org>
+ 
+ 	* gcc.c (struct prefix_list): Add forward declaration.
+ 	(do_spec_path): New function, extracted from...
+ 	(do_spec_1) <'D'>: ... here.  Drop support for
+ 	SPACE_AFTER_L_OPTION.
+ 	(do_spec_1) <'I'>: Use do_spec_path.
+ 	(process_command): Do not store the 'include' suffix
+ 	in include_prefixes.
+ 	* system.h: Poison SPACE_AFTER_L_OPTION.
+ 
+ 2002-05-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (non_lvalue): Explicitly list the tree codes that
+ 	need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
+ 
+ 2004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
+ 	Update based on printed manual.  Enable setting of offsets for
+ 	FSFPRINT and move it to gcc-common.texi.
+ 	* doc/gcc.texi: Update FSF printing details.
+ 	* doc/gccint.texi: Remove FSF printing details.
+ 
+ 2004-05-23  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/t-rs6000: Remove the disabling -Werror.
+ 
+ 2004-05-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+ 	expand_builtin_strrchr, expand_builtin_strpbrk,
+ 	expand_builtin_mempcpy, expand_builtin_memcmp,
+ 	expand_builtin_strcmp, expand_builtin_strncmp,
+ 	expand_builtin_strcat, std_expand_builtin_va_start,
+ 	std_expand_builtin_va_arg, expand_builtin_va_copy,
+ 	expand_builtin_signbit, fold_builtin_cabs,
+ 	fold_builtin_logarithm, fold_builtin_mempcpy,
+ 	fold_builtin_signbit, fold_builtin_isascii,
+ 	fold_builtin_toascii, fold_builtin_isdigit,
+ 	fold_builtin_1, build_function_call_expr,
+ 	simplify_builtin_strchr, simplify_builtin_strrchr,
+ 	simplify_builtin_strpbrk, simplify_builtin_strncpy,
+ 	simplify_builtin_memcmp, simplify_builtin_strcmp,
+ 	simplify_builtin_strncmp, simplify_builtin_strncat,
+ 	simplify_builtin_strspn, simplify_builtin_strcspn,
+ 	simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
+ 	to build with calls to build2, build3 or omit_one_operand.
+ 
+ 2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
+ 	section when generating EABI code.
+ 
+ 2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR 15546
+ 	* config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
+ 	Call mark_decl_referenced on the SYMBOL_REF_DECL.
+ 
+ 2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Handle
+ 	UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
+ 	ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
+ 	i.e. set the type to truthvalue_type_node and return.
+ 
+ 2004-05-22  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h (struct tree_decl): Add possibly_inlined bit.
+ 	(DECL_POSSIBLY_INLINED): New accessor macro.
+ 	* cgraph.h: Remove declaration of cgraph_inline_hash.
+ 	* cgraph.c: Remove definition of cgraph_inline_hash.
+ 	(hash_node): Revert to hashing DECL_UID.
+ 	(eq_node): Take two pointers to cgraph_node structures.
+ 	Compare DECL_UIDs.
+ 	(cgraph_remove_node): Pass the node directly to htab_find_slot.
+ 	(cgraph_varpool_hash_node): Rename hash_varpool_node;
+ 	hash on DECL_UID.
+ 	(eq_cgraph_varpool_node): Rename eq_varpool_node; take two
+ 	pointers to cgraph_varpool_node structures; compare DECL_UIDs.
+ 	(cgraph_node): Allocate a temporary node on the stack, fill in
+ 	its DECL field, and pass that to htab_find_slot.
+ 	(cgraph_varpool_node): Likewise.
+ 	(cgraph_function_possibly_inlined_p): If global info is ready,
+ 	return the DECL_POSSIBLY_INLINED bit.
+ 	* cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
+ 	instead of mucking with cgraph_inline_hash.
+ 
+ 2004-05-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/contrib.texi: Add g77 contributors.
+ 
+ 2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* calls.c (initialize_argument_information): Forbid sibcalls if a
+ 	callee-copied argument is stored in the current function's frame.
+ 
+ 2004-05-22  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* fix-header.c (read_scan_file): Update for add_path change.
+ 
+ 2004-05-22  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* c.opt (Wmissing-include-dirs): New.
+ 	* c-opts.c (c_common_handle_option): Pass true for user_supplied_p
+ 	to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
+ 	OPT_isystem. Handle case OPT_Wmissing_include_dirs.
+ 	* c-incpath.h (add_path): Add fourth (bool) argument.
+ 	* c-incpath.c (add_env_var_paths): Pass false to add_path ().
+ 	(add_standard_paths): Likewise.
+ 	(remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
+ 	is used and the directory was user-supplied via -I.
+ 	(add_path): Set p->user_supplied_p.  Remove duplicated code by
+ 	using add_cpp_dir_path ().
+ 	* cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
+ 	(struct cpp_dir): Add user_supplied_p.
+ 	* doc/invoke.texi (Warning Options): Document new option.
+ 
+ 2004-05-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* fold-const.c (fold_read_from_constant_string): Convert result to
+ 	requested type.
+ 
+ 2004-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
+ 	(copy_if_shared_r): Don't copy decls, types, constants, BINDs.
+ 	Don't mark VA_ARG_EXPRs volatile here.
+ 	(gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
+ 
+ 2004-05-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (tree-dump.o): Depend on tree-iterator.h.
+ 	* tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
+ 
+ 2004-05-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold, fold_relational_hi_lo,
+ 	nondestructive_fold_binary_to_constant,
+ 	fold_read_from_constant_string): Use fold_convert instead of convert.
+ 	* builtins.c (simplify_builtin, simplify_builtin_strstr,
+ 	simplify_builtin_strchr, simplify_builtin_strrchr,
+ 	simplify_builtin_strpbrk): Use fold_convert instead of convert.
+ 
+ 2004-05-21  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-flow-inline.h (num_immediate_uses): Don't abort if DF
+ 	is NULL.
+ 
+ 2004-05-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
+ 	override sparc.h definition.
+ 
+ 2004-05-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (array_type_nelts, save_expr, substitute_in_expr,
+ 	get_unwidened, get_narrower): Replace build with build2.
+ 	* fold-const.c (negate_expr, associate_trees, size_binop,
+ 	fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
+ 	pedantic_omit_one_operand, distribute_bit_expr,
+ 	make_bit_field_ref, optimize_bit_field_compare,
+ 	decode_field_reference, range_binop, make_range,
+ 	build_range_check, fold_range_test, fold_truthop,
+ 	optimize_minmax_comparison, extract_muldiv_1,
+ 	fold_binary_op_with_conditional_arg, fold_mathfn_compare,
+ 	fold_inf_compare, fold_single_bit_test, fold,
+ 	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
+ 	Likewise replace build with either build2 or build3.
+ 
+ 2004-05-20  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
+ 	* calls.c (prepare_call_address): Don't test
+ 	NO_RECURSIVE_FUNCTION_CSE.
+ 	* config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
+ 	* config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
+ 	Likewise.
+ 	* config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
+ 	* config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
+ 	* doc/tm.texi (Costs): Remove documentation for
+ 	NO_RECURSIVE_FUNCTION_CSE.
+ 
+ 2004-05-20  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
+ 	* unwind-dw2.c (extract_cie_info): Ditto.
+ 	(_Unwind_FrameState): Change retaddr_column to word type.
+ 
+ 2004-05-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/3074
+ 	* fold-const.c (strip_compound_expr): Delete function.
+ 	(count_cond): Delete function.
+ 	(fold_binary_op_with_conditional_arg): Only perform transformations
+ 	"a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
+ 	when a is constant.  This greatly simplifies this routine.
+ 
+ 	* tree.c (saved_expr_p): Delete function.
+ 	* tree.h (saved_expr_p): Delete function prototype.
+ 
+ 2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* common.opt (ftree-loop-optimize): Remove.
+ 
+ 2004-05-20  Daniel Jacobowitz  <dan@debian.org>
+ 
+ 	* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
+ 	(NM_FOR_TARGET): Use := and $(shell).
+ 	(mainversion): Remove unused variable.
+ 
+ 2004-05-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* reorg.c (delete_from_delay_slot): If we have a barrier after the
+ 	sequence containing the insn to be deleted, always reemit it.
+ 
+ 2004-05-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 15454
+ 	* tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
+ 	* function.c (expand_function_start): Expand static_chain_decl by hand.
+ 	* gimplify.c (create_tmp_var_name): Export.
+ 	* tree-gimple.h (create_tmp_var_name): Declare.
+ 
+ 2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* rs6000.c (print_operand) <case 'z'>: Call
+ 	mark_decl_referenced before assemble_name.
+ 
+ 2004-05-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
+ 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
+ 	(cgraph_varpool_node): Hash on the pointer to the decl, not
+ 	the DECL_UID.  Fixes 64-bit bootstrap failure.
+ 
+ 2004-05-20  Richard Earnshaw <rearnsha@arm.com>
+ 
+ 	* arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
+ 	we don't earlyclobber operands used in the second insn.
+ 
+ 2004-05-20  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-mudflap.c: Formatting fixes.
+ 
+ 2004-05-20  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* Makefile.in (GTFILES): Add $(srcdir)/reload.h.
+ 	* gengtype.c (open_base_files): Include reload.h in ifiles.
+ 	* reload.h (reg_equiv_memory_loc_varray): Declare.
+ 	* reload1.c (reg_equiv_memory_loc_varray): New variable.
+ 	(init_reload): Initialize it.
+ 	(reload): Instead of freeing reg_equiv_memory_loc, 'grow'
+ 	reg_equiv_memory_loc_varray to size 0.
+ 	* ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
+ 	growing reg_equiv_memory_loc_varray to the desired size.
+ 	* passes.c (rest_of_handle_old_regalloc): Likewise.
+ 	* reload.c: Amend comment on calling init_reload.
+ 
+ 2004-05-20  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
+ 	with 'TRAMP' in the body of the macro definition.
+ 
+ 2004-05-19  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/15383
+ 	* config/ia64/ia64.c (ia64_expand_compare): Don't check
+ 	TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
+ 	cmptf_libfunc isn't set.
+ 	(ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
+ 	conventions.
+ 	(ia64_sysv4_init_libfuncs): New.
+ 
+ 	* config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
+ 	ia64_sysv4_init_libfuncs.
+ 
+ 2004-05-20  Falk Hueffner  <falk@debian.org>
+ 
+ 	PR other/15526
+ 	* libgcc2.c (__mulvsi3): Fix overflow test.
+ 
+ 2004-05-19  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/14171
+ 	* reg-stack.c (nan): Rename to ...
+ 	(not_a_num): Here.
+ 	(reg_to_stack): Rename nan to not_a_num.
+ 	(subst_stack_regs_pat): Likewise.
+ 	(convert_regs_entry): Likewise.
+ 	(convert_regs_1): Likewise.
+ 
+ 	* tree-cfg.c (find_case_label_for_value): Replace call to
+ 	simple_cst_equal with tree_int_cst_equal.
+ 
+ 2004-05-19  Jeff Law <law@redhat.com>
+ 
+ 	* tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
+ 	If the operand is for a use, then strip away the SSA_NAME, do not
+ 	strip away the SSA_NAME for a set.  Never call release_ssa_name.
+ 	(mark_def_sites): Appropriately pass additional argument to
+ 	prepare_operand_for_rename.  If a VDEF_RESULT is not an SSA_NAME,
+ 	then set the VDEF_RESULT to the VDEF_OP.
+ 	(set_def_block): Strip away any SSA_NAME to get to the real
+ 	underlying variable.
+ 
+ 	* tree-ssa-phiopt.c (value_replacement): Handle the case where
+ 	the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
+ 	BB directly.
+ 
+ 2004-05-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR c++/15463
+ 	* loop-iv.c (iv_number_of_iterations):  Use trunc_int_for_mode on
+ 	result of inverse.
+ 
+ 	PR rtl-optimization/15274
+ 	* loop-iv.c (determine_max_iter, shorten_into_mode,
+ 	iv_number_of_iterations): Handle constants correctly.
+ 	* rtl.h (get_mode_bounds): Declaration changed.
+ 	* stor-layout.c (get_mode_bounds): Return a constant suitable for
+ 	the target mode.
+ 
+ 	PR rtl-optimization/14692
+ 	* loop-unswitch.c (may_unswitch_on): Try folding the result.
+ 	(unswitch_single_loop): Work correctly when may_unswitch_on
+ 	returns a folded constant.
+ 
+ 	* loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
+ 	* simplify-rtx.c (simplify_const_relational_operation): Optimize
+ 	comparisons with mode bounds.
+ 
+ 	* function.c (struct temp_slot): Add new field prev.
+ 	(free_after_compilation, init_temp_slots): Free new fields.
+ 	(cut_slot_from_list, insert_slot_to_list,
+ 	temp_slots_at_level, max_slot_level, move_slot_to_level,
+ 	make_slot_available): New functions.
+ 	(assign_stack_temp_for_type, combine_temp_slots,
+ 	find_temp_slot_from_address, preserve_temp_slots,
+ 	preserve_rtl_expr_result, free_temp_slots,
+ 	free_temps_for_rtl_expr, pop_temp_slots): Work with
+ 	the new structure of lists.
+ 	(mark_all_temps_used): Removed.
+ 	* function.h (struct function): Field x_temp_slots
+ 	replaced by x_used_temp_slots and x_avail_temp_slots.
+ 	(temp_slots): Replaced by ...
+ 	(used_temp_slots, avail_temp_slots): New.
+ 	* tree.h (mark_all_temps_used): Declaration removed.
+ 
+ 	* loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
+ 	simplify_using_assignment): Take the expression out of
+ 	the expr_list wrapper.
+ 
+ 	* loop-iv.c (iv_number_of_iterations): Improve clasification of
+ 	infinite loops.
+ 
+ 2004-05-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
+ 	costs should be based on code size when optimizing for size.
+ 
+ 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* fold-const.c: Remove non-printable character 160.
+ 
+ 2004-05-19  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* doc/invoke.texi (ARM Options): Fix typo.
+ 	Remove descrption of -mshort-load-bytes and
+ 	-mno-short-load-bytes.
+ 
+ 	* config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
+ 	missing parenthesis.
+ 	* config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
+ 	* config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
+ 
+ 2004-05-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* expr.c (store_constructor): Build loop start and end by hand
+ 	instead of via loop functions from stmt.c.
+ 	(expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
+ 	Remove the code to expand them.
+ 
+ 	* stmt.c (loop_stack): Remove this and everything related.
+ 	(struct nesting, enum nesting_desc): Update.
+ 	(expand_fixup): Likewise.
+ 	(expand_loop_start, expand_start_loop_continue_elsewhere,
+ 	expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
+ 	expand_end_null_loop, expand_continue_loop, expand_exit_loop,
+ 	expand_exit_loop_if_false, expand_exit_loop_top_cond,
+ 	expand_exit_something): Remove.
+ 	* tree.h: Remove prototypes.
+ 
+ 2004-05-18  Mike Stump  <mrs@apple.com>
+ 	    Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
+ 	if this label is for eh.
+ 	* config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
+ 	* config/darwin.c (darwin_emit_unwind_label): Likewise.
+ 	* dwarf2out.c (output_call_frame_info): Likewise.
+ 	* output.h (default_emit_unwind_label): Likewise.
+ 	* target.h (unwind_label): Likewise.
+ 	* varasm.c (default_emit_unwind_label): Likewise.
+ 
+ 	* config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
+ 	DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
+ 	DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
+ 	DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
+ 	DEBUG_RANGES_SECTION): Define.
+ 
+ 2004-05-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
+ 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
+ 	(cgraph_varpool_node):
+ 	Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
+ 	(cgraph_function_possibly_inlined_p): Use the decl itself for
+ 	the key, not DECL_ASSEMBLER_NAME.
+ 	(change_decl_assembler_name): No need to muck with the hash tables.
+ 	(cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
+ 	Delete.
+ 	* cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
+ 	for the key, not DECL_ASSEMBLER_NAME.
+ 	* cgraph.h: Remove prototypes of deleted functions.
+ 	* varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
+ 	(mark_decl_referenced): New function.
+ 	* tree.h: Prototype mark_decl_referenced.
+ 	* final.c (output_addr_const) <case SYMBOL_REF>: Call
+ 	mark_decl_referenced before assemble_name.
+ 	* c-decl.c (finish_decl): Use mark_decl_referenced.
+ 
+ 2004-05-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 	    Jeff Law <law@redhat.com>
+ 
+ 	* tree-ssa-phiopt.c (abs_replacement): New function.
+ 	(empty_block_p): New function extracted from...
+ 	(candidate_bb_for_phi_optimization): Break out empty block test.
+ 	(conditional_replacement): Use empty_block_p.
+ 	(value_replacement): Similarly.
+ 
+ 	* Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
+ 	* tree-ssa-phiopt.c: Include flags.h.
+ 	(conditional_replacement): Remove argument names from prototype.
+ 	Minor formatting and comment fixes.
+ 	(tree_ssa_phiopt): If conditional_replacement returns false, then
+ 	call value_replacement.
+ 	(value_replacement): New function.
+ 
+ 2004-05-18  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
+ 	from conditional_replacement.
+ 	(candidate_bb_for_phi_optimization): Similarly.
+ 	(conditional_replacement): Use replace_phi_with_stmt and
+ 	candidate_bb_for_phi_optimization.
+ 
+ 	* tree-ssa-phiopt.c: Fix various formatting issues.
+ 
+ 2004-05-18  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
+ 	s390_expand_cmpmem): Do not use expand_start_loop and
+ 	expand_end_loop, instead build the loop manually.
+ 
+ 2004-05-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md (ctrsi_internal3): Delete.
+ 	(ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
+ 
+ 2004-05-17  Jeff Law  <law@redhat.com>
+ 
+ 	* toplev.h (flag_delete_null_pointer_checks): Move from here to...
+ 	* flags.h (flag_delete_null_pointer_checks): Here.
+ 	* tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
+ 	* tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
+ 	(add_phi_arg, remove_phi_arg_num): Similarly.
+ 	* tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
+ 	property into PHI nodes.
+ 	* tree-ssa-dom.c: Remove redundant inclusion of flags.h.
+ 	(record_equivalences_from_phis): If all PHI arguments are known to be
+ 	nonzero, then the result must be nonzero as well.
+ 	(cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
+ 	(record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
+ 	appropriately.  Walk the USE-DEF chains and propagate nonzero property
+ 	as appropriate.
+ 	* tree.h (PHI_ARG_NONZERO): Define.
+ 	(phi_arg_d): Add nonzero flag.
+ 
+ 2004-05-17  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* f: Entire directory removed
+ 
+ 	* c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
+ 	(CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
+ 	(g77_integer_type_node, g77_uinteger_type_node)
+ 	(g77_longint_type_node, or g77_ulongint_type_node): Delete.
+ 	* c-common.c (c_common_nodes_and_builtins): Do not initialize
+ 	the above set of variables.
+ 
+ 	* config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
+ 	* doc/invoke.texi, doc/standards.texi: Remove cross-references
+ 	to g77 manual.
+ 
+ 2004-05-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/15438
+ 	* tree-ssa-operands.c (get_expr_operands): Do not treat malloc
+ 	attributed functions as pure or const.
+ 
+ 2004-05-17  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	* tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
+ 	from source code with errors.
+ 
+ 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	Enable tree browser for all front ends.
+ 	* Makefile.in (cc1): Moved @TREEBROWSER@ from here...
+ 	(BACKEND): ...to here.
+ 
+ 2004-05-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (construct_container): Do not produce BLKmode registers.
+ 	(classify_argument): Properly compute alignment of complex types.
+ 
+ 2004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/15084
+ 	* config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
+ 	and renamed to movdi_insv_1_rex64.
+ 	(insv): Support SImode for 32bit and DImode for 64bit.
+ 
+ 2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
+ 	(TARGET_SWITCHES): Remove debugg.
+ 	* config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
+ 	TARGET_64BIT.
+ 	(subdi3): Replace the define_expand with a define_insn, the latter
+ 	renamed from subdi3_internal_3.
+ 	(negdi2): Likewise negdi2_internal_2.
+ 	(adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
+ 	(ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
+ 	and associated define_splits.
+ 	(adddi3_internal): Renamed from adddi3_internal_3.
+ 	(ashldi3_internal): Likewise ashldi3_internal4.
+ 	(ashrdi3_internal): Likewise ashrdi3_internal4.
+ 	(lshrdi3_internal): Likewise lshrdi3_internal4.
+ 
+ 2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optabs.c (expand_unop): Try implementing negation using subtraction
+ 	from zero.
+ 
+ 2004-05-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md:  Fix typo from last change.  Remove DFmode move to and from
+ 	SAR register.
+ 
+ 2004-05-16  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/10982
+ 	* arm.md (ne_zeroextractsi): Convert to insn-and-split.
+ 	(ne_zeroextractsi_shifted): New pattern.
+ 	(ite_ne_zeroextractsi): New pattern.
+ 	(ite_ne_zeroextractsi_shifted): New pattern.
+ 
+ 2004-05-15  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* c-gimplify.c (c_genericize):
+ 	Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
+ 	* c-parse.in <expr_no_commas>: Likewise.
+ 	<if_prefix>: Likewise.
+ 	<select_or_iter_stmt>: Likewise.
+ 	* expr.c (expand_var, expand_expr_real_1): Likewise.
+ 	* expr.h (expand_expr): Make it a static inline function.
+ 	Move prototype for expand_expr_real up before this.
+ 	* fold-const.c (fold_relational_hi_lo, fold_relational_const):
+ 	Likewise.
+ 	* gimplify.c (gimple_boolify, gimplify_addr_expr,
+ 	gimplify_asm_expr, gimplify_expr): Likewise.
+ 	* tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
+ 	dump_function_to_file): Likewise.
+ 	* tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
+ 	* tree-inline.c (remap_block, save_body, walk_tree): Likewise.
+ 	* tree-into-ssa.c (dump_tree_ssa): Likewise.
+ 	* tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
+ 	Likewise.
+ 	* tree-optimize.c (execute_one_pass): Likewise.
+ 	* tree-pretty-print.c (dump_generic_bb_buff): Likewise.
+ 	* tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
+ 
+ 	* objc/objc-act.c (objc_build_try_enter_fragment,
+ 	objc_build_try_epilogue, objc_build_catch_stmt,
+ 	objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
+ 	with lang_hooks.foo ().
+ 
+ 2004-05-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
+ 	that simplify_builtin doesn't destructively modify its argument.
+ 
+ 2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
+ 
+ 	* arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
+ 	implementations for ARM and Thumb.
+ 	* arm/t-arm-elf (LIB1ASMFUNCS): Use them.
+ 
+ 2004-05-15  Thomas Quinot  <quinot@act-europe.fr>
+ 
+ 	* prefix.c (update_path): Replace PREFIX with KEY only
+ 	when it matches a full directory name in PATH.
+ 
+ 2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
+ 
+ 	* arm.h (TARGET_APCS_32): Delete.
+ 	(TARGET_MMU_TRAPS): Delete.
+ 	(TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__.  Never
+ 	define __APCS_26__.
+ 	(CPP_SPEC): Remove checking of -mapcs-{26,32}.
+ 	(ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
+ 	(TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
+ 	(prog_mode_type): Delete.
+ 	(PROMOTE_MODE): Always promote unsigned for HImode.
+ 	(SECONDARY_INPUT_RELOAD_CLASS): Simplify.
+ 	(MASK_RETURN_ADDR): Simplify.
+ 	* arm.c (arm_prgmode): Delete.
+ 	(arm_override_options, arm_gen_rotated_half_load): Simplify.
+ 	(print_multi_reg, output_return_instruction): Simplify.
+ 	(arm_output_epilogue, arm_final_prescan_insn): Simplify.
+ 	(arm_return_addr): Simplify.
+ 	* arm.md (prog_mode): Delete.
+ 	(conds): Simplify.
+ 	(zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
+ 	(rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
+ 	(loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
+ 	(loadhi_shiftpredec): Delete.
+ 	(peephole for post-increment on HImode load): Delete.
+ 	* arm/crtn.asm: (FUNC_END): Simplify.
+ 	* arm/lib1funcs.asm: Remove APCS-26 return macros.
+ 	* arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
+ 	* arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
+ 	* arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
+ 	MULTILIB_DEFAULTS as required.
+ 	* arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
+ 	* arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
+ 	variables as required.
+ 	* doc/invoke.texi (ARM Options): Remove obsolete flags.
+ 
+ 2004-05-15  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
+ 	UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
+ 	count to 8 to handle n_reg > 2.
+ 
+ 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/extend.texi: Update WG14 URL.
+ 
+ 2004-05-15  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h (life_analysis, delete_noop_moves):
+ 	Update prototypes.
+ 	* bt-load.c (branch_target_load_optimize): Don't take the
+ 	insns stream as an argument.  Update the life_analysis calls.
+ 	* combine.c (combine_instructions): Update delete_noop_moves
+ 	calls.
+ 	* flow.c (notice_stack_pointer_modification): Don't take the
+ 	insns stream as an argument.  Work on the flow graph.
+ 	(life_analysis): Likewise.
+ 	(delete_noop_moves): Likewise.
+ 	* passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
+ 	(rest_of_handle_life): Update life_analysis call.
+ 	(rest_of_compilation): Likewise, and also update
+ 	branch_target_load_optimize call.
+ 	* ra.c (reg_alloc): Update life_analysis call.
+ 	* reg-stack.c (reg_to_stack): Likewise.  Also, don't take
+ 	the insns stream as an argument.
+ 	* regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
+ 	call.
+ 	* rtl.c (branch_target_load_optimize, reg_to_stack): Update
+ 	prototypes.
+ 	* value-profile.c (branch_prob): Update life_analysis call.
+ 	* web.c (web_main): Work on the CFG, not on the insns stream.
+ 
+ 	* config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
+ 	* config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ 
+ 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/15444
+ 	* c-format.c (avoid_dollar_number): New function.
+ 	(check_format_info_main): Call avoid_dollar_number when operand
+ 	numbers might occur but has_operand_number == 0.
+ 
+ 2004-05-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.md (all peephole2 patterns): Use predicates that validate
+ 	register classes as appropriate.
+ 
+ 2004-05-14  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR opt/14472
+ 	* tree-tailcall.c (process_assignment): Use STRIP_NOPS to
+ 	ignore type conversions that do not inhibit tail calling.
+ 	(find_tail_calls): Likewise.
+ 
+ 2004-05-14  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
+ 	bother marking bypassed virtuals for out-of-ssa.  Instead merge
+ 	bypassed virtuals into vars_to_rename just before into-ssa pass.
+ 
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
+ 	so that it picks up more opportunities to eliminate ABS expressions
+ 	or turn them into negations.
+ 
+ 2004-05-14  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* passes.c (rest_of_handle_null_pointer): Remove.
+ 	(rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
+ 	(rest_of_compilation): Likewise.
+ 	* rtl.h (delete_null_pointer_checks): Remove prototype.
+ 	* gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
+ 	Remove declarations.
+ 	(get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
+ 	compute_kill_rd, compute_rd, alloc_avail_expr_mem,
+ 	free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
+ 	expr_reaches_here_p, computing_insn, def_reaches_here_p,
+ 	can_disregard_other_sets, handle_avail_expr, classic_gcse,
+ 	one_classic_gcse_pass, invalidate_nonnull_info,
+ 	delete_null_pointer_checks_1, delete_null_pointer_checks,
+ 	expr_reached_here_p_work): Remove.
+ 	(gcse_main): Do not perform classic GCSE when optimizing for size.
+ 	(alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
+ 	are never used.
+ 
+ 2004-05-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR optimization/14466
+ 	* tree-complex.c (make_temp): Remove.
+ 	(gimplify_val): Replace make_temp with make_rename_temp
+ 	and add NULL as the second argument.
+ 	(expand_complex_div_wide): Likewise.
+ 	* tree-dfa.c (make_rename_temp): New function.
+ 	* tree-flow.h (make_rename_temp): Declare.
+ 	* tree-sra.c (make_temp): Remove.
+ 	(lookup_scalar): Replace make_temp with make_rename_temp.
+ 	(create_scalar_copies): Likewise.
+ 	* tree-ssa-phiopt.c (conditional_replacement): When we
+ 	get non gimple create a temporary variable to hold the
+ 	casted expression.
+ 
+ 2004-05-14  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* stor-layout.c (update_alignment_for_field): Use
+ 	targetm.align_anon_bitfield.
+ 	* target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
+ 	(TARGET_INITIALIZER): Use it.
+ 	* target.h (struct gcc_target): Add align_anon_bitfield.
+ 	* config/arm/arm.c (arm_align_anon_bitfield):  New function.
+ 	(TARGET_ALIGN_ANON_BITFIELD): Define.
+ 	* doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
+ 
+ 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.def (documentation): Remove mention of class 'b'.
+ 	(BLOCK): Now in class 'x'.
+ 	* c-common.c (verify_tree): Remove case 'b'.
+ 	* c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
+ 	* calls.c (calls_function_1): Control cannot get past the switch
+ 	when exp is a BLOCK.
+ 	* print-tree.c (print_node): Move code for class 'b' to the class
+ 	'c'/'x' switch, as case BLOCK.
+ 	* tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
+ 	(unsafe_for_reeval, substitute_placeholder_in_expr)
+ 	(stabilize_reference_1): Remove case 'b'.
+ 	* tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
+ 	of something being 'b' to tests for TREE_CODE of something being
+ 	BLOCK.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 
+ 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-gimple.c: Rename from tree-simple.c.
+ 	* tree-gimple.h: Rename from tree-simple.h.
+ 	* c-gimplify.c: Rename from c-simplify.c
+ 	* Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
+ 	langhooks.c, tree-alias-ander.c, tree-alias-common.c,
+ 	tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
+ 	tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
+ 	tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
+ 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
+ 	tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
+ 	Update.
+ 
+ 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* doc/sourcebuild.texi: Mention libbanshee and libmudflap.
+ 
+ 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-ssa.c (delete_tree_ssa): XFREE
+ 	bitmaps allocated with BITMAP_XMALLOC.
+ 
+ 	* tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
+ 	idfs_cache at the end of the function.
+ 
+ 	* tree-ssa-live.c (calculate_live_on_entry): Free saw_def
+ 	at the end of the function.
+ 
+ 	* tree-ssa-dce.c (perform_tree_ssa_dce): Free
+ 	el at the end of the function.
+ 
+ 	* tree-into-ssa.c (insert_phi_nodes_for): XFREE
+ 	bitmaps allocated with BITMAP_XMALLOC.
+ 
+ 	* loop-unswitch.c (unswitch_single_loop): Free bbs at
+ 	the end.
+ 
+ 	* final.c (shorten_branches): Free uid_shuid before
+ 	reallocating it.
+ 
+ 	* bb-reoder.c (connect_traces): Free cold_traces at the end.
+ 
+ 2004-05-13  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
+ 	variables.  Simplify slightly by using USE_OP/DEF_OP instead
+ 	of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
+ 
+ 	* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
+ 	rather than iterating through the blocks testing each bit in
+ 	livein to initialize the worklist.
+ 	(mark_def_sites): Remove useless checks of KILLS for virtual
+ 	operands.
+ 
+ 	* tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
+ 	new parameters for the statement and variable worklist as well
+ 	as a bitmap of interesting SSA_NAMEs.  Walk over the statement
+ 	worklist recording interesting variables in the variable worklist
+ 	and bitmap.  Handle casts between integral and boolean types.
+ 	(substitute_single_use_vars): Accept new parameters for the statement
+ 	and variable worklist.  When a substitution is made add a new
+ 	entry to the statement worklist.  Handle casts between integral
+ 	and boolean types.
+ 	(tree_ssa_forward_propagate_single_use_vars): Rework to pass
+ 	worklists to children.  Iterate until the statement worklist
+ 	is empty.
+ 
+ 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
+ 	the end of the block.
+ 
+ 	* tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
+ 	with BITMAP_XMALLOC.
+ 
+ 	* tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
+ 	with BITMAP_XMALLOC.
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
+ 	Free nonzero_vars at the end of the function.
+ 
+ 	* convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
+ 	need to generate code instead of a NOP_EXPR.
+ 
+ 2004-05-13  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* gcc.c (default_compilers): Fill out initializers for new Fortran
+ 	entries.
+ 
+ 2004-05-13  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
+ 
+ 2004-05-13  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_default_short_enums): New function.
+ 	(TARGET_DEFAULT_SHORT_ENUMS): Define.
+ 
+ 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	Merge from tree-ssa-20020619-branch.
+ 
+ 	* Makefile.in (reload1.o-warn): Add.
+ 	(tree-alias-ander.o-warn): Add.
+ 	(GMPLIBS): Define.
+ 	(GMPINC): Define.
+ 	(BANSHEELIB): Define.
+ 	(BANSHEEINC): Define.
+ 	(TREE_DUMP_H): Define.
+ 	(TREE_SIMPLE_H): Define.
+ 	(TREE_FLOW_H): Define.
+ 	(LIBDEPS): Add BANSHEELIB.
+ 	(INCLUDES): Add BANSHEEINC and GMPINC.
+ 	(C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
+ 	c-mudflap.o and c-pretty-print.o.
+ 	(C_OBJS): Remove c-pretty-print.o.
+ 	(OBJS-common): Remove sibcall.o.
+ 	Add tree-cfg.o, tree-dfa.o, tree-eh.o,
+ 	tree-ssa.o, tree-optimize.o, tree-simple.o,
+ 	tree-alias-type.o, gimplify.o, tree-pretty-print.o,
+ 	tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
+ 	tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
+ 	tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
+ 	tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
+ 	tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
+ 	tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
+ 	tree-tailcall.o, gimple-low.o, tree-iterator.o,
+ 	tree-phinodes.o, tree-ssanames.o, tree-sra.o,
+ 	tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
+ 	tree-profile.o.
+ 	(OBJC-archive): Add tree-nomudflap.o.
+ 	(cc1): Add dependency on @TREEBROWSER@.
+ 	(c-decl.o): Add dependency on TREE_DUMP_H.
+ 	(c-dump.o): Likewise.
+ 	(c-common.o): Add dependency on tree-iterator.h
+ 	(c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
+ 	(gtype-desc.o): Add dependency on TREE_FLOW_H.
+ 	(tree.o): Add dependency on tree-iterator.h,
+ 	BASIC_BLOCK_H and TREE_FLOW_H.
+ 	(tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
+ 	(langhooks.o): Add dependency on TREE_SIMPLE_H.
+ 	(tree-alias-type.o, tree-alias-ander.o,
+ 	tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
+ 	tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
+ 	tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
+ 	tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
+ 	domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
+ 	tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
+ 	tree-nested.o, tree-iterator.o, tree-dfa.o,
+ 	tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
+ 	tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
+ 	gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
+ 	tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
+ 	tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
+ 	tree-sra.o, tree-complex.o, tree-profile.o,
+ 	rtl-profile.o): New rules.
+ 	(function.o): Add dependency on basic-block.h
+ 	(expr.o): Add dependency on tree-iterator.h.
+ 	(sibcall.o): Remove.
+ 	(profile.o): Depend on TREE_FLOW_H instead of TREE_H.
+ 	(cfg.o): Add dependency on TIMEVAR_H.
+ 	(cfghooks.o): Add dependency on TREE_FLOW_H.
+ 	(reg-stack.o): Add dependency on basic-block.h.
+ 	(GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
+ 	c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
+ 	tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
+ 	tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
+ 	tree-alias-type.h, tree-alias-common.h,
+ 	tree-alias-type.c, tree-alias-common.c,
+ 	tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
+ 	rtl-profile.c and tree-nested.c.
+ 	(gt-tree-alias-common.h, gt-tree-mudflap.h,
+ 	gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
+ 	gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
+ 	gt-tree-cfg.h, gt-tree-nested.h): New rules.
+ 	(TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
+ 	* basic-block.h: Include predict.h
+ 	(struct edge_def): Add GTY marker.
+ 	Change field 'insns' to be a union of tree and rtx.
+ 	(EDGE_TRUE_VALUE): Define.
+ 	(EDGE_FALSE_VALUE): Define.
+ 	(EDGE_EXECUTABLE): Define.
+ 	(struct bb_ann_d): Forward declare.
+ 	(struct basic_block_def): Add GTY marker.
+ 	Remove fields head_tree and end_tree.
+ 	Add fields stmt_list, rbi and tree_annotations.
+ 	(struct reorder_block_def): Define.
+ 	(basic_block_info): Add GTY marker.
+ 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
+ 	variables instead of macros.
+ 	(flow_call_edges_add): Remove declaration.
+ 	(make_eh_edge): Remove declaration.
+ 	(brief_dump_cfg, find_edge, tree_predicted_by_p,
+ 	rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
+ 	predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
+ 	cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
+ 	alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
+ 	(try_redirect_by_replacing_jump): Modfiy return type to
+ 	edge instead of bool.
+ 	* bb-reorder.c (copy_bb): Call duplicate_block
+ 	instead of cfg_layout_duplicate_bb.
+ 	(copy_bb_p): Call can_duplicate_block_p instead of
+ 	cfg_layout_can_duplicate_bb_p.
+ 	* bitmap.c (bitmap_first_set_bit): Abort if word
+ 	wasn't found.
+ 	(bitmap_last_set_bit): Likewise.
+ 	* builtin-types.def (DEF_FUNCTION_TYPE_2): Add
+ 	(DEF_FUNCTION_TYPE_3): Add.
+ 	* builtins.c (c_strlen): Make extern.
+ 	(builtin_save_expr): New.
+ 	(expand_builtin_nonlocal_goto): New.
+ 	(expand_builtin_constant_p): Remove.
+ 	(expand_builtin_mathfn): Call builtin_save_expr instead
+ 	of save_expr.
+ 	(expand_builtin_mathfn_2): Likewise.
+ 	(expand_builtin_strcmp): Likewise.
+ 	(expand_builtin_strncmp): Likewise.
+ 	(expand_builtin_strcat): Likewise.
+ 	(fold_builtin_cabs): Likewise.
+ 	(expand_builtin_alloca): Don't trigger if -fmudflap is
+ 	given.
+ 	(build_string_literal): Set TREE_INVARIANT on new node.
+ 	(expand_builtin_profile_fun): New.
+ 	(round_trampoline_addr): New.
+ 	(expand_builtin_init_trampoline): New.
+ 	(expand_builtin_adjust_trampoline): New.
+ 	(expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
+ 	<BUILT_IN_CONSTANT_P>: Return const0_rtx;
+ 	<BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
+ 	BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
+ 	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
+ 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
+ 	Handle.
+ 	(fold_builtin_expect): New.
+ 	(fold_builtin_isascii): Don't return non-constant results
+ 	in GIMPLE form.
+ 	(fold_builtin_isdigit): Likewise.
+ 	(fold_builtin_1): New.
+ 	(fold_builtin): Call it.
+ 	(build_function_call_expr): Update call to build a new
+ 	CALL_EXPR.
+ 	(purge_builtin_constant_p): Remove.
+ 	(simplify_builtin, simplify_builtin_memcmp,
+ 	simplify_builtin_strcmp, simplify_builtin_strncmp,
+ 	simplify_builtin_strpbrk, simplify_builtin_strstr,
+ 	simplify_builtin_strchr, simplify_builtin_strrchr,
+ 	simplify_builtin_strcat, simplify_builtin_strncat,
+ 	simplify_builtin_strspn, simplify_builtin_strcspn,
+ 	simplify_builtin_next_arg, simplify_builtin_va_start,
+ 	simplify_builtin_sprintf): New.
+ 	* builtins.def (BUILT_IN_STACK_ALLOC,
+ 	BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
+ 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
+ 	BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
+ 	BUILT_IN_PROFILE_FUNC_EXIT): Define.
+ 	* c-common.c: Include tree-iterator.h and hashtab.h.
+ 	(lang_statement_code_p): Declare.
+ 	(lang_gimplify_stmt): Declare.
+ 	(fix_string_type): Set TREE_INVARIANT for value.
+ 	(pointer_int_sum): Rely on build to set TREE_CONSTANT.
+ 	(c_type_hash): New.
+ 	(c_common_get_alias_set): Handle multiple type nodes
+ 	referring to "the same" type, currently for C90 only.
+ 	(c_add_case_label): Use create_artificial_label.
+ 	(finish_label_address_expr): Don't set TREE_CONSTANT on
+ 	result.
+ 	(c_expand_expr): Don't handle STMT_EXPR.
+ 	(handle_alias_attribute): Marke aliased variables to be
+ 	TREE_STATIC.
+ 	(handle_nonnull_attribute): Initialize arg_num.
+ 	(check_function_nonnull): Likewise.
+ 	(c_walk_subtrees): New.
+ 	(c_estimate_num_insns_1): Don't handle
+ 	EXPR_WITH_FILE_LOCATION nor FILE_STMT.
+ 	(c_decl_uninit_1): Remove.
+ 	(c_decl_uninit): Remove.
+ 	(c_warn_unused_result): New.
+ 	* c-common.def (ASM_STMT): Change number of operands
+ 	to 4.
+ 	(FILE_STMT): Remove.
+ 	* c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
+ 	Remove.
+ 	(lang_gimplify_stmt): Add.
+ 	(expand_stmt): Remove.
+ 	(ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
+ 	ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
+ 	ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
+ 	FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
+ 	ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
+ 	(genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
+ 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
+ 	genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
+ 	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
+ 	genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
+ 	genrtl_compound_stmt, genrtl_asm_stmt,
+ 	genrtl_cleanup_stmt, c_decl_uninit): Remove.
+ 	(c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
+ 	c_tree_chain_matters_p, c_warn_unused_result,
+ 	c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
+ 	Declare.
+ 	* c-convert.c (convert): Make convert work when
+ 	converting to compatible types across translation unit.
+ 	* c-decl.c: Include langhooks.h, tree-mudflap.h,
+ 	tree-simple.h, diagnostic.h and tree-dump.h
+ 	(merge_decls): Initialize oldtype to NULL.
+ 	(finish_decl): Use DECL_HARD_REGISTER instead of
+ 	DECL_C_HARD_REGISTER.
+ 	(check_bitfield_type_and_width): Check for null
+ 	lang_type_specific when check the precision of an enum.
+ 	(grokdeclarator): Immediately layout an ARRAY_TYPE used
+ 	in a pointer-to-array declarator.
+ 	(finish_struct): Clear allocated struct lang_type.
+ 	(finish_enum): Set enum_min and enum_max.  Set
+ 	TYPE_MIN/MAX_VALUE to the limits of the compatible type,
+ 	not to the enumerators.
+ 	(set_decl_nonlocal): New.
+ 	(store_parm_decls): Use it via walk_tree.
+ 	(c_finalize): New.
+ 	(finish_function): When !targetm.have_ctors_dtors,
+ 	record static constructors and destructors here...
+ 	(c_expand_body_1): ... not here.
+ 	(c_expand_decl): Rename from c_expand_decl_stmt.
+ 	Handle all C-specific expansion semantics.
+ 	* c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
+ 	STMT_LINENO.
+ 	* c-format.c (handle_format_arg_attribute): Initialize
+ 	format_num.
+ 	* c-lang.c: Include tree-inline.h
+ 	(LANG_HOOKS_EXPAND_DECL,
+ 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
+ 	LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
+ 	LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
+ 	LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
+ 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
+ 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
+ 	(c_types_compatible_p): New.
+ 	* c-mudflap.c: New file.
+ 	* c-objc-common.c: Include tree-mudflap.h
+ 	(start_cdtor, finish_cdtor): Collapse
+ 	together into
+ 	(build_cdtor): ...here.  Update to construct a complete tree
+ 	for the function.  No need to call push_scope, pop_scope, or
+ 	clear_last_expr, or set current_function_cannot_inline.
+ 	(c_missing_noreturn_ok_p): Change prototype to return
+ 	bool.
+ 	(c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
+ 	* c-opts.c (c_common_handle_option): Move handling of -fdump- to
+ 	opts.c.
+ 	(c_common_post_options): Don't ever use rtl inlining.
+ 	* c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
+ 	* c-pragma.c (handle_pragma_redefine_extname): Define
+ 	always.
+ 	(init_pragma): Activate #pragma redefine_extname for mudflap.
+ 	* c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
+ 	(pp_c_initializer): Accept any type CONSTRUCTOR.
+ 	(pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
+ 	COMPLEX_TYPE.
+ 	(decl_name_str): New local function.
+ 	(pp_c_direct_declarator): Call it.
+ 	(pp_c_primary_expression): Call it.
+ 	(pp_c_id_expression): Call it.
+ 	(pp_c_statement): Call it.
+ 	(print_c_tree): Create new pp object.
+ 	* c-pretty-print.h (pp_c_tree_decl_identifier,
+ 	print_c_tree): Declare.
+ 	* c-semantics.c: Include langhooks.h
+ 	(lang_expand_stmt, lang_expand_decl_stmt,
+ 	find_reachable_label_1, find_reachable_label,
+ 	expand_unreachable_if_stmt, expand_unreachable_stmt,
+ 	genrtl_do_stmt_1): Remove.
+ 	(begin_stmt_tree): Don't check for changed filename.
+ 	Call annotate_with_locus.
+ 	(finish_stmt_tree): Don't set line for end of function.
+ 	(build_stmt): Don't check type nodes for
+ 	side effects.
+ 	(build_stmt): Set TREE_SIDE_EFFECTS.
+ 	Set EXPR_LOCUS instead of STMT_LINENO.
+ 	(lang_expand_stmt, lang_expand_decl_stmt,
+ 	expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
+ 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
+ 	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
+ 	genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
+ 	genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
+ 	genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
+ 	genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
+ 	find_reachable_label_1, expand_unreachable_if_stmt,
+ 	expand_unreachable_stmt): Remove.
+ 	(prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
+ 	* c-simplify.c: New file.
+ 	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
+ 	(struct lang_type): Add fields enum_min and enum_max.
+ 	(c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
+ 	(c_expand_decl, c_missing_noreturn_ok_p,
+ 	c_types_compatible_p): Declare.
+ 	* c-typeck.c (tagged_types_tu_compatible_p): Allow for
+ 	compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
+ 	(default_function_array_conversion): Rely on build to
+ 	set TREE_CONSTANT.
+ 	(parser_build_binary_op, pointer_diff): Likewise.
+ 	(build_unary_op, build_binary_op): Likewise.
+ 	(build_array_ref):
+ 	(build_external_ref): Set TREE_INVARIANT.
+ 	(build_c_cast, pop_init_level): Likewise.
+ 	(process_init_element): Use ASM_VOLATILE_P.
+ 	(build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
+ 	(c_finish_case): Call c_do_switch_warnings.
+ 	* c.opt (fdump-): Remove.
+ 	* calls.c (try_to_integrate): Remove.
+ 	(prepare_call_address): Replace fndecl arg with a
+ 	precomputed static chain value.
+ 	(emit_call_1): New argument for full call expr.
+ 	(flags_from_decl_or_type): Call special_function_p.
+ 	(initialize_argument_information): Add argument
+ 	may_tailcall.
+ 	(purge_reg_equiv_notes): New.
+ 	(expand_call): Do not try to expand calls inline.
+ 	(fixup_tail_calls): New.
+ 	* cfg.c: Include timevar.h and ggc.h.
+ 	(bb_pool, edge_pool): Remove.
+ 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
+ 	(entry_exit_blocks): Remove.
+ 	(rbi_pool): Declare.
+ 	(init_flow): Do not create pools.
+ 	Allocate entry/exit block.
+ 	(free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
+ 	(alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
+ 	(unlink_block): Clear b->prev_bb and b->next_bb.
+ 	(compact_blocks): Clear all slots of BASIC_BLOCK array.
+ 	(dump_flow_info): Work on trees too.
+ 	(dump_cfg_bb_info): New.
+ 	(brief_dump_cfg): New.
+ 	* cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
+ 	(find_edge): New.
+ 	* cfgbuild.c (rtl_make_eh_edge): Rename from
+ 	make_eh_edge.  Update all users.
+ 	(find_basic_blocks): Don't call VARRAY_FREE on
+ 	basic_block_info.
+ 	* cfgcleanup.c (outgoing_edges_match): Initialize newpos1
+ 	and newpos2.
+ 	(delete_unreachable_blocks): Return changed status.
+ 	(merge_seq_blocks): New.
+ 	* cfghooks.c: Include tree-flow.h
+ 	(tree_register_cfg_hooks, ir_type): New.
+ 	(redirect_edge_and_branch): Change return type to edge.
+ 	(predict_edge, predicted_by_p, can_duplicate_block_p,
+ 	duplicate_block, block_ends_with_call_p,
+ 	block_ends_with_condjump_p, flow_call_edges_add): New.
+ 	* cfghooks.h (redirect_edge_and_branch): Change return
+ 	type to edge.
+ 	(predict_edge, predicted_by_p, can_duplicate_block_p,
+ 	duplicate_block, block_ends_with_call_p,
+ 	block_ends_with_condjump_p, flow_call_edges_add): Declare.
+ 	(redirect_edge_and_branch): Change return type to edge.
+ 	(struct cfg_hooks): Add fields block_ends_with_call_p,
+ 	block_ends_with_condjump_p, flow_call_edges_add,
+ 	predict_edge, predicted_by_p, can_duplicate_block_p and
+ 	duplicate_block.
+ 	(tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
+ 	* cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
+ 	(fixup_reorder_chain): Use initialize_bb_rbi.
+ 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
+ 	(cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
+ 	(can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
+ 	(insn_locators_initialize): Use new info about blocks.
+ 	* cfglayout.h (typedef struct reorder_block_def): Moved to
+ 	basic_block.h.
+ 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
+ 	removed.
+ 	* cfgloop.c: Include tree.h and tree-flow.h.
+ 	* cfgloop.h (create_loop_notes): Declare.
+ 	* cfgloopmanip.c (create_loop_notes): New.
+ 	* cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
+ 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
+ 	and duplicate_block fields.
+ 	(create_basic_block_structure): Don't look at
+ 	RTX_INTEGRATED_P.
+ 	(rtl_block_ends_with_call_p): New.
+ 	(rtl_block_ends_with_condjump_p): New.
+ 	(need_fake_edge_p): Moved from cfganal.c.
+ 	(rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
+ 	(rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
+ 	rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
+ 	(cfg_layout_rtl_cfg_hooks): Ditto.
+ 	* cgraph.c (cgraph_mark_reachable_node): Don't force nested
+ 	functions to be reachable.
+ 	* cgraphunit.c (decide_is_function_needed):
+ 	* cgraphunit.c (decide_is_function_needed): Nested functions of extern
+ 	inline functions don't need to be output.
+ 	(cgraph_assemble_pending_functions): Don't do anything
+ 	special for nested functions.
+ 	(cgraph_mark_functions_to_output): Likewise.
+ 	(cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
+ 	(cgraph_analyze_function): Use estimate_num_insns.
+ 	(cgraph_mark_functions_to_output): Likewise.
+ 	(cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
+ 	(cgraph_expand_function): Allow functions to not be
+ 	emitted.
+ 	(cgraph_remove_unreachable_nodes):
+ 	(cgraph_recursive_inlining_p): Simplify.
+ 	(lookup_recursive_calls,
+ 	cgraph_decide_recursive_inlining): New.
+ 	(cgraph_decide_inlining_*): Update calls of
+ 	cgraph_mark_inline.
+ 	* combine.c (get_pos_from_mask): Always set *plen.
+ 	* common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
+ 	ftree-based-profiling, ftree-ccp, ftree-ch,
+ 	ftree-combine-temps, ftree-copyrename, ftree-dce,
+ 	ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
+ 	ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
+ 	ftree-lrs): Add.
+ 	* config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
+ 	Undefine.
+ 	* configure.ac: Add --enable-tree-browser option.
+ 	Add --with-libbanshee option.
+ 	Add GMPLIBS and GMPINC.
+ 	* configure: Regenerate.
+ 	* coverage.c (tree_ctr_tables): New.
+ 	(coverage_counter_alloc): Use it.
+ 	(build_ctr_info_value): Ditto.
+ 	(coverage_counter_ref): Ditto.  Rename to rtl_coverage_counter_ref.
+ 	(tree_coverage_counter_ref): New.
+ 	* coverage.h (coverage_counter_ref): Remove declaration.
+ 	(rtl_coverage_counter_ref): Declare.
+ 	(tree_coverage_counter_ref): Declare.
+ 	* cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
+ 	(eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
+ 	* cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
+ 	(struct cse_basic_block_data): Rename enum values to not
+ 	conflict with profile.h; update all uses.
+ 	* dbxout.c (dbxout_symbol_location): Don't mention integrate.c
+ 	in comments.
+ 	* defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
+ 	* diagnostic.h (debug_output_buffer, dump_generic_node,
+ 	print_generic_stmt, print_generic_stmt_indented,
+ 	print_generic_expr, print_generic_decl,
+ 	debug_generic_expr, debug_generic_stmt, debug_c_tree):
+ 	Declare.
+ 	* dominance.c: Cache immediate dominators.
+ 	* domwalk.c: New file.
+ 	* domwalk.h: New file.
+ 	* dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
+ 	(gen_subprogram_die): Generate a DIE for a named
+ 	return value.
+ 	(loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
+ 	(add_location_or_const_value_attribute): Likewise.
+ 	(add_bound_info): Likewise.
+ 	(gen_decl_die): Likewise.
+ 	* emit-rtl.c (maybe_set_first_label_num): New.
+ 	(copy_most_rtx): Don't copy the integrated flag.
+ 	Copy the new return_val flag.
+ 	* et-forest.c (MAX_NODES): Define.
+ 	(record_path_before_1): Abort if len is greater than
+ 	MAX_NODES.
+ 	* except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
+ 	gen_eh_region_catch, gen_eh_region_allowed,
+ 	gen_eh_region_must_not_throw, get_eh_region_number,
+ 	get_eh_region_may_contain_throw, get_eh_region_tree_label,
+ 	set_eh_region_tree_label, expand_resx_expr): New.
+ 	(expand_eh_region_start, expand_start_catch): Use them.
+ 	(expand_end_catch): Tidy.
+ 	(note_eh_region_may_contain_throw): Take region argument.
+ 	(note_current_region_may_contain_throw): New.
+ 	(get_exception_filter): Export.
+ 	(collect_eh_region_array): Export.
+ 	(remove_unreachable_regions): Check ERT_TRY based on reachability
+ 	of catches, not reachability of continue_label.  Never remove
+ 	ERT_MUST_NOT_THROW regions.
+ 	(collect_rtl_labels_from_trees): New.
+ 	(convert_from_eh_region_ranges): Use it.
+ 	(connect_post_landing_pads): Handle dying cleanups.
+ 	(struct reachable_info): Add callback data.
+ 	(add_reachable_handler): Invoke the callback.
+ 	(foreach_reachable_handler): New.
+ 	(reachable_handlers): Use it.
+ 	(arh_to_landing_pad, arh_to_label): New.
+ 	(can_throw_internal_1): Split out from can_throw_internal.
+ 	(can_throw_external_1): Similarly.
+ 	* except.h: Update.
+ 	* explow.c (emit_stack_save): Remove savearea mode check.
+ 	(update_nonlocal_goto_save_area): New.
+ 	(allocate_dynamic_stack_space): Use it.
+ 	(probe_stack_range): Never emit loop notes.
+ 	* expmed.c (extract_fixed_bit_field): Always propagate the
+ 	target for the shift if it is a REG.
+ 	* expr.c: Include tree-iterator.h
+ 	(is_zeros_p): Remove.
+ 	(categorize_ctor_elements_1, categorize_ctor_elements): New.
+ 	(count_type_elements): New.
+ 	(mostly_zeros_p): Use them.
+ 	(expr_wfl_stack): Remove.
+ 	(convert_move): Do nothing if to and from are the same.
+ 	(emit_block_move_via_loop): Don't emit LOOP notes.
+ 	(emit_move_insn): Don't handle CONSTANT_P_RTX.
+ 	(emit_move_insn_1): Don't generate inline warnings.
+ 	(expand_vars, expand_var): Split from ...
+ 	(expand_expr_1): ... here.
+ 	(expand_expr_real, expand_expr_real_1):  Use new macros
+ 	EXPR_LOCATION and EXPR_HAS_LOCATION.
+ 	* expr.h (simplify_builtin_fputs,
+ 	simplify_builtin_strcpy, simplify_builtin_strncpy,
+ 	expand_var, fixup_tail_calls,
+ 	update_nonlocal_goto_save_area): Declare.
+ 	(lookup_static_chain, expand_inline_function,
+ 	mark_seen_cases): Remove.
+ 	(prepare_call_address): Change type of 2nd argument to
+ 	rtx.
+ 	* final.c (profile_function): Update static chain test.
+ 	(final): Don't look at RTX_INTEGRATED_P.
+ 	* flags.h (flag_mudflap, flag_mudflap_threads,
+ 	flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
+ 	flag_tree_dce, flag_tree_combine_temps,
+ 	flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
+ 	flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
+ 	flag_tree_points_to): Declare.
+ 	(enum pta_type): Declare.
+ 	* flow.c (lang_missing_noreturn_ok_p): Remove.
+ 	(check_function_return_warnings): Remove.
+ 	(update_life_info): Update comments.
+ 	(free_basic_block_vars): Don't call VARRAY_FREE for
+ 	basic_block_info.
+ 	(regno_uninitialized): Remove.
+ 	* fold-const.c (int_const_binop): Make extern.
+ 	(non_lvalue): Rely on build to set TREE_CONSTANT.
+ 	(operand_equal_p): Replace only_const argument with
+ 	flags.  Allow pure functions if OEP_PURE_SAME.
+ 	(fold): Use OEP_ONLY_CONST.
+ 	(invert_truthvalue) <NOP_EXPR> Break if argument is of
+ 	boolean type.
+ 	(fold_relational_hi_lo,
+ 	nondestructive_fold_binary_to_constant,
+ 	nondestructive_fold_unary_to_constant,
+ 	fold_read_from_constant_string): New.
+ 	* function.c (struct function): Remove calls_constant_p.
+ 	(current_function_calls_constant_p): Remove.
+ 	(inline_function_decl): Remove.
+ 	(put_var_into_stack): Don't use it.
+ 	(fix_lexical_addr): Likewise.
+ 	(inline_function_decl): Remove extern declaration.
+ 	(TRAMPOLINE_ALIGNMENT): Move to defaults.h.
+ 	(trampolines_created): Move to varasm.c.
+ 	(free_after_compilation): Update for removed fields.
+ 	(allocate_struct_function): Likewise.
+ 	(delete_handlers, lookup_static_chain): Remove.
+ 	(fix_lexical_addr): Don't consider non-local variable refs.
+ 	(trampoline_address): Remove.
+ 	(round_trampoline_addr): Move to builtins.c.
+ 	(adjust_trampoline_addr): Remove.
+ 	(expand_function_start): Update for changes to static chain
+ 	and nonlocal goto handling.
+ 	(initial_trampoline): Move to varasm.c.
+ 	(expand_function_end): Don't build trampolines or kill
+ 	unreferenced nonlocal goto labels.
+ 	(free_after_compilation): Don't set it.
+ 	(expand_function_end): Likewise.
+ 	(setjmp_vars_warning): Rename from
+ 	uninitialized_vars_warning, remove uninitialized vars warning.
+ 	(uninitialized_vars_warning): Remove old comment
+ 	and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
+ 	and do not call the langhook.
+ 	(expand_function_start, expand_function_end): Don't do
+ 	function instrumentation here.
+ 	(clear_block_marks): Rename from reorder_blocks_0, export.
+ 	(blocks_nreverse): Export.
+ 	(uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
+ 	of rtl.
+ 	(reset_block_changes, record_block_change, finalize_block_changes,
+ 	check_block_change, free_block_changes): New functions.
+ 	(assign_parms): Setting of current_function_stdarg
+ 	moved ...
+ 	(allocate_struct_function): ... here.
+ 	* function.h (struct function): Remove x_nonlocal_labels,
+ 	x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
+ 	x_context_display, x_trampoline_list, needs_context.
+ 	Add static_chain_decl, nonlocal_goto_save_area.
+ 	(struct function): Remove x_clobber_return_insn.
+ 	Add tail_call_emit field, last_label_uid,
+ 	unexpanded_var_list, dont_emit_block_notes,
+ 	ib_boundaries_block, function_end_locus and saved_tree/saved_args.
+ 	(clear_block_marks): Declare.
+ 	* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
+ 	(mfwrap_spec, mflib_spec): Declare.
+ 	(cpp_unique_options, cc1_options): Ditto.
+ 	(default_compilers): Add .F and .f90.
+ 	(static_specs): Add mfwrap and mflib.
+ 	* gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
+ 	CONSTANT_RTX_P.
+ 	(reg_used_on_edge, reg_killed_on_edge, bypass_block):
+ 	Update to match insns field in struct edge_def.
+ 	* gdbinit.in (pgs, pge): Define.
+ 	* genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
+ 	instead of the integrated flag.
+ 	* gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
+ 	* gengtype-yacc.y (bitfieldlen): Add empty action.
+ 	(struct_fields): Accept unnamed bitfields.
+ 	(bitfieldlen): Split from ...
+ 	(bitfieldopt): ... here.
+ 	* gengtype.c (ifiles): Add tree-alias-type.h and
+ 	tree-flow.h.
+ 	* genrecog.c (validate_pattern): Do not handle
+ 	CONSTANT_P_RTX.
+ 	* gimple-low.c: New file.
+ 	* gimplify.c: New file.
+ 	* haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
+ 	(restore_line_notes): Do not set RTX_INTEGRATED_P.
+ 	* ifcvt.c (dead_or_predicable): Initialize local variable
+ 	'earliest'.
+ 	* input.h (expr_wfl_stack): Remove.
+ 	* integrate.c (INTEGRATE_THRESHOLD): Remove.
+ 	(setup_initial_hard_reg_value_integration): Likewise.
+ 	(initialize_for_inline): Likewise.
+ 	(note_modified_parmregs): Likewise.
+ 	(integrate_parm_decls): Likewise.
+ 	(process_reg_param): Likewise.
+ 	(save_parm_insns): Likewise.
+ 	(copy_insn_list): Likewise.
+ 	(copy_insn_notes): Likewise.
+ 	(compare_blocks): Likewise.
+ 	(find_block): Likewise.
+ 	(inlining): Likewise.
+ 	(function_cannot_inline_p): Likewise.
+ 	(parmdecl_map): Likewise.
+ 	(in_nonparam_insns): Likewise.
+ 	(save_for_inline): Likewise.
+ 	(FIXED_BASE_PLUS): Likewise.
+ 	(expand_inline_function): Likewise.
+ 	(copy_rtx_and_substitute): Don't look at map->integrating,
+ 	map->inline_target, and inlining, since we are never copying
+ 	for integrating.
+ 	Don't abort on RTX_INTEGRATED_P.
+ 	(old_fun): Remove.
+ 	(output_inline_function): Remove.
+ 	* integrate.h (struct inline_map): Remove fields integrating,
+ 	block_map, leaf_reg_map, inline_target, and local_return_label.
+ 	* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
+ 	copy_loop_headers, never_reached_warning): Removed.
+ 	(any_uncondjump_p): Reject nonlocal goto.
+ 	* langhooks-def.h (lhd_types_compatible_p,
+ 	lhd_expand_decl, lhd_gimplify_expr): Declare.
+ 	(LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
+ 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
+ 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
+ 	LANG_HOOKS_GIMPLIFY_EXPR,
+ 	LANG_HOOKS_GIMPLE_BEFORE_INLINING,
+ 	LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
+ 	LANG_HOOKS_GIMPLIFY_EXPR,
+ 	LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
+ 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
+ 	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
+ 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
+ 	LANG_HOOKS_RTL_EXPAND_INITIALIZER,
+ 	LANG_HOOKS_DECL_UNINIT,
+ 	LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
+ 	* langhooks.c: Include tree-simple.h.
+ 	(lhd_expand_decl): New.
+ 	(lhd_types_compatible_p): New.
+ 	(lhd_decl_uninit): Remove.
+ 	(lhd_gimplify_expr): New.
+ 	* langhooks.h (struct lang_hooks_for_rtl_expansion):
+ 	Remove.
+ 	(struct lang_hooks_for_functions): Add field
+ 	missing_noreturn_ok_p.
+ 	(struct lang_hooks): Add field expand_decl,
+ 	types_compatible_p, gimplify_expr and
+ 	gimple_before_inlining.
+ 	Remove fields decl_uninit and rtl_expand
+ 	* opts.c (decode_options): Set flag_tree_ccp,
+ 	flag_tree_dce, flag_tree_dom, flag_tree_dse,
+ 	flag_tree_pre, flag_tree_ter,
+ 	flag_tree_live_range_split, flag_tree_sra,
+ 	flag_tree_copyrename and flag_tree_ch at -O1 and higher.
+ 	(common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
+ 	OPT_fmudflapth, OPT_fmudflapir,
+ 	OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
+ 	OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
+ 	OPT_ftree_dominator_opts, OPT_ftree_copyrename,
+ 	OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
+ 	OPT_ftree_points_to_ and OPT_ftree_pre.
+ 	* output.h (regno_uninitialized, find_basic_blocks,
+ 	cleanup_cfg, delete_unreachable_blocks,
+ 	check_function_return_warnings): Remove.
+ 	* params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
+ 	PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
+ 	PARAM_MAX_INLINE_RECURSIVE_DEPTH,
+ 	PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
+ 	PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
+ 	* params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
+ 	Define.
+ 	* passes.c (rest_of_decl_compilation):
+ 	(rest_of_handle_sibling_calls): Remove.
+ 	(rest_of_handle_inlining): Remove.
+ 	(rest_of_handle_gcse): Do not run
+ 	purge_builtin_constant_p.
+ 	(rest_of_compilation): Update.
+ 	Do not call copy_loop_headers.
+ 	Do rtl-based profiling only when
+ 	!flag_tree_based_profiling.  Register rtl-based profiling
+ 	hooks.
+ 	* predict.c:  Include tree-flow.h, ggc.h, tree-dump.h
+ 	(predicted_by_p): Rename to ...
+ 	(rtl_predicted_by_p): .. this one; make global
+ 	(tree_predicted_by_p): New.
+ 	(dump_prediction): Add FILE argument.
+ 	(predict_edge): Rename to ...
+ 	(rtl_predict_edge): .. this one.
+ 	(tree_predict_edge): New.
+ 	(combine_predictions_for_insn): Update calls of predict_edge.
+ 	(predict_loops): Break out from ...
+ 	(estimate_probability): ... here; update comments; move updating
+ 	of unknown probabilities from ...
+ 	(estimate_bb_frequencies): ... here.
+ 	(combine_predictions_for_bb): New.
+ 	(tree_predict_by_opcode): New.
+ 	(tree_estimate_probability): New.
+ 	* predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
+ 	PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
+ 	* predict.h: Add include guard.
+ 	(predict_edge, predict_edge_def): Move prototypes to basic_block.h
+ 	* pretty-print.c (pp_write_text_to_stream): Make extern.
+ 	* pretty-print.h (pp_write_text_to_stream): Declare.
+ 	* print-rtl.c (print_rtx): Don't print the integrated flag.
+ 	Print the return_val flag.
+ 	* print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
+ 	of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
+ 	Remove support for EXPR_WITH_FILE_LOCATION nodes.
+ 	(print_node): Print TREE_INVARIANT and TREE_VISITED.
+ 	* profile.c: Include cfghooks.h, tree-flow.h.
+ 	(profile_hooks): New.
+ 	(profile_dump_file): New.
+ 	(instrument_edges): Use hooks instead of RTL-specific code.
+ 	(instrument_values): Ditto.
+ 	(get_exec_counts): Ditto.
+ 	(compute_branch_probabilities): Ditto.
+ 	(compute_value_histograms): Ditto.
+ 	(branch_prob): Ditto.
+ 	(find_spanning_tree): Ditto.
+ 	(end_branch_prob): Ditto.
+ 	(gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
+ 	(gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
+ 	(gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
+ 	(gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
+ 	(tree_register_profile_hooks): New.
+ 	(rtl_register_profile_hooks): New.
+ 	* ra-rewrite.c (rewrite_program): Clear variable info.
+ 	* recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
+ 	* regs.h: Add include guards.
+ 	* reload.c (decompose): Clear val using memset.
+ 	* rtl.def (CONSTANT_P_RTX): Remove.
+ 	* rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
+ 	(copy_loop_headers): Remove.
+ 	(struct rtx_def): Replace the integrated flag with the
+ 	return_val flag.
+ 	(maybe_set_first_label_num): Declare.
+ 	(init_branch_prob): Move declaration to value-prof.h.
+ 	(end_branch_prob): Ditto.
+ 	(branch_prob): Ditto.
+ 	(never_reached_warning): Don't declare it.
+ 	* rtlanal.c (get_related_value): Initialize get_jump_table_offset
+ 	(hoist_insn_to_edge): Update to match field insns in
+ 	struct edge_def.
+ 	* sbitmap.c (sbitmap_realloc): New.
+ 	* sbitmap.h (sbitmap_realloc): Declare.
+ 	* sibcall.c: Remove file.
+ 	* simplify-rtx.c (simplify_rtx): Do not handle
+ 	CONSTANT_P_RTX.
+ 	* stmt.c (parse_output_constraint): Don't warn for read-write
+ 	memory operand.
+ 	(tail_recursion_args): Use types_compatible_p langhook.
+ 	(force_label_rtx): Don't look at inline_function_decl.
+ 	(label_rtx): Set LABEL_PRESERVE_P appropriately.
+ 	(expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
+ 	(declare_nonlocal_label): Remove.
+ 	(expand_goto): Don't handle nonlocal gotos.
+ 	(expand_nl_handler_label): Remove.
+ 	(expand_nl_goto_receivers): Remove.
+ 	(expand_end_bindings): Don't expand_nl_goto_receivers.  Use
+ 	update_nonlocal_goto_save_area.
+ 	(expand_expr_stmt_value): Check TREE_NO_WARNING.
+ 	(warn_if_unused_value): Likewise.
+ 	(expand_start_loop, expand_loop_continue_here,
+ 	expand_end_loop): Don't create loop notes.
+ 	(all_cases_count, BITARRAY_TEST, BITARRAY_SET,
+ 	mark_seen_cases, check_for_full_enumeration_handling): Remove.
+ 	(expand_end_case_type): Don't do warn_switch handling.
+ 	(pushcase, pushcase_range) Update add_case_node calls.
+ 	(add_case_node): Add dont_expand_label argument.
+ 	(same_case_target_p): Don't search rtl.
+ 	(expand_start_bindings_and_block, expand_end_bindings):
+ 	Don't emit block notes when dont_emit_block_notes.
+ 	(using_eh_for_cleanups_p): Export.
+ 	(expand_return): Allow any typed rhs.
+ 	(expand_stack_alloc): New.
+ 	(expand_stack_save, expand_stack_restore): New.
+ 	(containing_blocks_have_cleanups_or_stack_level): New
+ 	function.
+ 	(asm_op_is_mem_input): New fn.
+ 	(expand_asm_expr): New fn.
+ 	(warn_if_unused_value): Check operand 0 of SAVE_EXPR
+ 	nodes.
+ 	* stor-layout.c (layout_type): Just return if type is
+ 	error_mark_node.
+ 	(update_alignment_for_field): Export.
+ 	(variable_size): We don't care about global_bindings_p if
+ 	the frontend doesn't want a list of the expressions.
+ 	* system.h: Poison INTEGRATE_THRESHOLD.
+ 	* timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
+ 	TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
+ 	TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
+ 	TV_TREE_SSA_OTHER, TV_TREE_OPS,
+ 	TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
+ 	TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
+ 	TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
+ 	TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
+ 	TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
+ 	TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
+ 	TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
+ 	TV_CONTROL_DEPENDENCES): Define.
+ 	* toplev.c: Include tree-alias-common.h
+ 	(current_file_decl, flag_mudflap, flag_mudflap_threads,
+ 	flag_mudflap_ignore_reads, flag_tree_based_profiling,
+ 	flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
+ 	flag_tree_dce, flag_tree_ch, flag_tree_sra,
+ 	flag_tree_combine_temps, flag_tree_ter,
+ 	flag_tree_live_range_split, flag_tree_dom,
+ 	flag_tree_copyrename, flag_tree_dse): Declare.
+ 	(f_options): Add tree-based-profiling, tree-gvn,
+ 	tree-pre, tree-ccp, tree-dce,
+ 	tree-dominator-opts, tree-copyrename, tree-dse,
+ 	tree-combine-temps, tree-ter, tree-lrs and tree-ch.
+ 	(wrapup_global_declarations): Don't output nested inlined functions.
+ 	(general_init): Call init_tree_optimization_passes.
+ 	(process_options): Sorry for -ftree-based-profiling plus
+ 	-ftest-coverage or -fprofile-values.
+ 	* toplev.h (init_tree_optimization_passes,
+ 	flag_tree_based_profiling): Declare.
+ 	* tracer.c (tail_duplicate): Use cfghooks for bb duplication.
+ 	* tree-alias-ander.c: New file.
+ 	* tree-alias-ander.h: New file.
+ 	* tree-alias-common.c: New file.
+ 	* tree-alias-common.h: New file.
+ 	* tree-alias-type.c: New file.
+ 	* tree-alias-type.h: New file.
+ 	* tree-browser.c: New file.
+ 	* tree-browser.def: New file.
+ 	* tree-cfg.c: New file.
+ 	* tree-complex.c: New file.
+ 	* tree-dfa.c: New file.
+ 	* tree-dump.c (dump_enable_all): New.
+ 	(dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
+ 	(dump_node): Remove const from field suffix and swtch.
+ 	(dump_files): Add null entry, .generic, .nested, .vcg,
+ 	.xml and a match-all entry.
+ 	(extra_dump_files, extra_dump_files_in_use,
+ 	extra_dump_files_alloced): Declare
+ 	(dump_option_value_info): Add raw, details, stats,
+ 	blocks, vops, lineno, uid and all.
+ 	(dump_register): New.
+ 	(get_dump_file_info): New.
+ 	(dump_begin): Call it.
+ 	Do nothing for TDI_none.
+ 	(dump_begin): Include phase number in dump filename.
+ 	(dump_enable_all): New.
+ 	(dump_switch_p_1): Split out from dump_switch_p.
+ 	(dump_switch_p): Handle extra_dump_files.
+ 	Start our scan at TDI_none + 1.
+ 	If -fdump-tree-all was given, call dump_enable_all.
+ 	* tree-dump.h: Include splay-tree.h.
+ 	(dump_function, dump_function_to_file, dump_register):
+ 	Declare.
+ 	* tree-eh.c: New file.
+ 	* tree-flow-inline.h: New file.
+ 	* tree-flow.h: New file.
+ 	* tree-inline.c: Re-write to handle inlining on GIMPLE.
+ 	* tree-inline.h (walk_tree,
+ 	walk_tree_without_duplicates): Move to tree.h.
+ 	(estimate_num_insns): Declare.
+ 	* tree-into-ssa.c: New file.
+ 	* tree-iterator.c: New file.
+ 	* tree-iterator.h: New file.
+ 	* tree-mudflap.c: New file.
+ 	* tree-mudflap.h: New file.
+ 	* tree-nested.c: New file.
+ 	* tree-nomudflap.c: New file.
+ 	* tree-nrv.c: New file.
+ 	* tree-optimize.c (dump_flags, vars_to_rename,
+ 	in_gimple_form, all_passes, pass_gimple,
+ 	pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
+ 	(execute_gimple, execute_rebuild_bind,
+ 	gate_all_optimizations, execute_del_cfg,
+ 	register_one_dump_file, register_dump_files, dup_pass_1,
+ 	init_tree_optimization_passes, execute_todo,
+ 	execute_one_pass, execute_pass_list): New.
+ 	(clear_decl_rtl): Remove.
+ 	(tree_rest_of_compilation): Update to use tree
+ 	optimizers.
+ 	* tree-outof-ssa.c: New file.
+ 	* tree-pass.h: New file.
+ 	* tree-phinodes.c: New file.
+ 	* tree-pretty-print.c: New file.
+ 	* tree-profile.c: New file.
+ 	* tree-simple.c: New file.
+ 	* tree-simple.h: New file.
+ 	* tree-sra.c: New file.
+ 	* tree-ssa-alias.c: New file.
+ 	* tree-ssa-ccp.c: New file.
+ 	* tree-ssa-copy.c: New file.
+ 	* tree-ssa-copyrename.c: New file.
+ 	* tree-ssa-dce.c: New file.
+ 	* tree-ssa-dom.c: New file.
+ 	* tree-ssa-dse.c: New file.
+ 	* tree-ssa-forwprop.c: New file.
+ 	* tree-ssa-live.c: New file.
+ 	* tree-ssa-live.h: New file.
+ 	* tree-ssa-loop.c: New file.
+ 	* tree-ssa-operands.c: New file.
+ 	* tree-ssa-operands.h: New file.
+ 	* tree-ssa-phiopt.c: New file.
+ 	* tree-ssa-pre.c: New file.
+ 	* tree-ssa.c: New file.
+ 	* tree-ssanames.c: New file.
+ 	* tree-tailcall.c: New file.
+ 	* tree.c: Include tree-iterator.h, basic-block.h and
+ 	tree-flow.h.
+ 	(tree_node_kind): Add phi_nodes and ssa names.
+ 	(tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
+ 	EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
+ 	(make_node_stat): Handle PHI_NODE and SSA_NAME.
+ 	<'c'> Set TREE_INVARIANT.
+ 	(copy_node_stat): Abort if trying to copy a
+ 	STATEMENT_LIST.
+ 	Clear TREE_VISITED.
+ 	Clear annotation field.
+ 	(build_constructor): Copy TREE_INVARIANT from vals.
+ 	Don't clear TREE_CONSTANT.
+ 	(expr_first, expr_last, expr_length): Remove.
+ 	(staticp): Pass unknown component references to the language.
+ 	(save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
+ 	(skip_simple_arithmetic): Likewise.
+ 	(stabilize_reference_1): Likewise.
+ 	(tree_node_structure): Handle PHI_NODE, EPHI_NODE,
+ 	EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
+ 	STATEMENT_LIST.
+ 	(lhd_unsave_expr_now): Remove.
+ 	(unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
+ 	(recompute_tree_invarant_for_addr_expr): New.
+ 	(build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
+ 	Call recompute_tree_invarant_for_addr_expr.
+ 	Set TREE_INVARIANT accordingly.
+ 	(build2_stat): Don't handle CALL_EXPR.
+ 	(build3_stat): Don't call build2_stat for CALL_EXPRs.
+ 	(build_expr_wfl): Remove.
+ 	(annotate_with_file_line, annotate_with_locus): New.
+ 	(simple_cst_equal): Call simple_cst_list_equal to compare
+ 	CONSTRUCTOR_ELTS pointers.
+ 	(iterative_hash_expr): Don't hash types associated
+ 	with conversions.  Instead hash on the signedness of the
+ 	toplevel object and the operand of the conversion.
+ 	(dump_tree_statistics): Call ssanames_print_statistics
+ 	and phinodes_print_statistics.
+ 	(ephi_node_elt_check_failed, phi_node_elt_check_failed,
+ 	add_var_to_bind_expr, build_empty_stmt, is_essa_node,
+ 	needs_to_live_in_memory): New.
+ 	(initializer_zerop): Handle VECTOR_CST.  Don't check
+ 	AGGREGATE_TYPE_P for CONSTRUCTOR.
+ 	* tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
+ 	SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
+ 	PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
+ 	(GOTO_SUBROUTINE_EXPR): Change type to 's'.
+ 	(CALL_EXPR): Add another operand.
+ 	(EXPR_WITH_FILE_LOCATION): Remove.
+ 	(SWITCH_EXPR): Add another operand.
+ 	* tree.h: Update various comments.
+ 	(union tree_ann_d): Forward declare.
+ 	(struct tree_common): Add fields nowarning_flag,
+ 	invariant_flag and visited.
+ 	(EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
+ 	PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
+ 	EPHI_NODE_ELT_CHECK, TREE_BLOCK,
+ 	STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
+ 	TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
+ 	IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
+ 	EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
+ 	EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
+ 	CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
+ 	BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
+ 	ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
+ 	ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
+ 	COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
+ 	CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
+ 	EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
+ 	SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
+ 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
+ 	PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
+ 	PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
+ 	EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
+ 	EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
+ 	EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
+ 	EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
+ 	EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
+ 	EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
+ 	EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
+ 	EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
+ 	EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
+ 	EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
+ 	TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
+ 	DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
+ 	DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
+ 	STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
+ 	TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
+ 	TDF_UID,): Define.
+ 	(TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
+ 	EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
+ 	EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
+ 	EXPR_WFL_SET_LINECOL): Remove.
+ 	(phi_node_elt_check_failed, ephi_node_elt_check_failed,
+ 	make_phi_node, init_phinodes, fini_phinodes,
+ 	release_phi_node, phinodes_print_statistics,
+ 	init_ssanames, fini_ssanames, make_ssa_name,
+ 	release_ssa_name, ssanames_print_statistics,
+ 	annotate_with_file_line, build_empty_stmt,
+ 	annotate_with_locus, expr_only, categorize_ctor_elements,
+ 	count_type_elements, add_var_to_bind_expr, is_essa_node,
+ 	expand_stack_alloc, expand_stack_save,
+ 	expand_stack_restore, add_case_node, operand_equal_p,
+ 	nondestructive_fold_unary_to_constant,
+ 	nondestructive_fold_binary_to_constant,
+ 	fold_read_from_constant_string, int_const_binop,
+ 	strip_float_extensions, simplify_builtin, c_strlen,
+ 	recompute_tree_invarant_for_addr_expr,
+ 	needs_to_live_in_memory, make_vector,
+ 	setjmp_vars_warning, update_alignment_for_field,
+ 	expand_asm_expr, asm_op_is_mem_input,
+ 	containing_blocks_have_cleanups_or_stack_level,
+ 	create_artificial_label, gimplify_function_tree,
+ 	get_name, unshare_expr, walk_tree,
+ 	walk_tree_without_duplicates, in_gimple_form): Declare.
+ 	(struct tree_exp): Add fields locus and block.
+ 	(struct tree_ssa_name, struct edge_def, struct
+ 	tree_phi_node, struct tree_eref_common, struct
+ 	tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
+ 	union alias_var_def, struct tree_statement_list_node,
+ 	struct tree_statement_list, enum operand_equal_flag): Declare.
+ 	(enum tree_node_structure_enum): Add TS_SSA_NAME,
+ 	TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
+ 	TS_STATEMENT_LIST.
+ 	(union tree_node): Add fields ssa_name, phi, eref, ephi,
+ 	euse and stmt_list.
+ 	(function_cannot_inline_p, uninitialized_vars_warning,
+ 	save_for_inline, output_inline_function, all_cases_count,
+ 	check_for_full_enumeration_handling,
+ 	declare_nonlocal_label): Remove.
+ 	(enum tree_dump_index): Add TDI_none, TDI_tu,
+ 	TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
+ 	* unroll.c (unroll_loop): Don't clear map->inline_target.
+ 	* unwind-sjlj.c (uw_install_context): Make a proper static inline
+ 	function.
+ 	* value-prof.c (value_prof_hooks): New.
+ 	(find_values_to_profile): Rename to rtl_find_values_to_profile.
+ 	Move rtl-specific bits in from branch_prob.
+ 	(value_profile_transformations): Rename to
+ 	rtl_value_profile_transformations.
+ 	(struct value_prof_hooks): New.
+ 	(rtl_value_prof_hooks): New.
+ 	(rtl_register_value_prof_hooks): New.
+ 	(tree_find_values_to_profile): New stub.
+ 	(tree_value_profile_transformations): New stub.
+ 	(tree_value_prof_hooks): New stub.
+ 	(tree_register_value_prof_hooks): New stub.
+ 	(find_values_to_profile): New.
+ 	(value_profile_transformations): New.
+ 	* value-prof.h: Add multiple inclusion guard.
+ 	(struct histogram_value): Change rtx fields to void *.
+ 	(rtl_register_value_prof_hooks): New declaration.
+ 	(tree_register_value_prof_hooks): New declaration.
+ 	(find_values_to_profile): New declaration.
+ 	(free_profiled_values): New declaration.
+ 	(value_profile_transformations): New declaration.
+ 	(struct profile_hooks): New declaration.
+ 	(init_branch_prob): Declaration moved from rtl.h.
+ 	(branch_prob): Declaration moved from rtl.h.
+ 	(end_branch_prob): Declaration mooved from rtl.h.
+ 	(tree_register_profile_hooks): New declaration.
+ 	(rtl_register_profile_hooks): New declaration.
+ 	(tree_profile_hooks): New declaration.
+ 	(rtl_profile_hooks): New declaration.
+ 	* varasm.c: Include tree-mudflap.h.
+ 	(TRAMPOLINE_ALIGNMENT): Remove.
+ 	(make_decl_rtl): Call mudflap_enqueue_decl.
+ 	(assemble_static_space):
+ 	(assemble_trampoline_template): Set and return
+ 	TRAMPOLINE_ALIGNMENT.
+ 	* varray.c (element): Add GENERIC_PTR_NOGC entry.
+ 	Add entry for 'tree *'.
+ 	Add entry for struct edge_def *.
+ 	(varray_copy): New.
+ 	* varray.h (enum varray_data_enum): Add
+ 	VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
+ 	VARRAY_DATA_TREE_PTR.
+ 	(union varray_data_tag): Corresponding changes.
+ 	(VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
+ 	VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
+ 	VARRAY_EDGE, VARRAY_TREE_PTR,
+ 	VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
+ 	VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
+ 	VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
+ 
+ 	* config/*/*: Various updates for changed macros, tree
+ 	codes, etc.  Check ChangeLog.tree-ssa.
+ 
+ 	* doc/cfg.texi: New file.
+ 	* doc/tree-ssa.texi: New file.
+ 	* doc/c-tree.texi: Document new codes.
+ 	* doc/gccint.texi: Include new files.
+ 	* doc/install.texi: Document new features.
+ 	* doc/invoke.texi: Document new switches.
+ 	* doc/passes.texi: Document new passes.
+ 	* doc/rtl.texi: Update changed RTL codes.
+ 	* doc/sourcebuild.texi: Update build instructions.
+ 	* doc/standards.texi: Document Fortran changes.
+ 	* doc/tm.texi: Update.
+ 
+ 2004-05-12  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Replace several arrays with a struct of arrays.
+ 	* combine.c (struct reg_stat): New.
+ 	(init_reg_last_arrays): Renamed to...
+ 	(init_reg_last): ...this.  Callers adjusted.
+ 	(reg_stat): New.
+ 	(combine_instructions): Allocate it and use it.
+ 	(reg_last_death, reg_last_set, reg_last_set_value,
+ 	reg_last_set_label, reg_last_set_table_tick,
+ 	reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
+ 	reg_last_set_mode, reg_last_set_nonzero_bits,
+ 	reg_last_set_sign_bit_copies): Replace throughout
+ 	with items of reg_stat.
+ 
+ 2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR optimization/15100
+ 	* combine.c (distribute_notes): Don't create a dangling
+ 	REG_LIBCALL/REG_RETVAL note.
+ 
+ 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
+ 
+ 	* config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
+ 	negv2si2.
+ 
+ 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/md.texi (Standard Names): Fix typo in vec_init description.
+ 
+ 2004-05-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/gty.texi (GTY Options): Clarify example.
+ 
+ 2004-05-11  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
+ 	Add const qualifier to altivec vector type if one is needed.
+ 
+ 2004-05-11  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* flags.h (flag_short_enums): Update comment.
+ 	* opts.c (decode_options): Set flag_short_enums to 2.
+ 	* toplev.c (flag_short_enums): Update comment.
+ 	(process_options): Call default_short_enums target hook.
+ 
+ 2004-05-11  Andrew Pinski  <pinskia@gcc.gnu.org>
+ 
+ 	PR target/14063
+ 	* config/rs6000/altivec.md (altivec_dssall):
+ 	Change to unspec_volatile.
+ 	(altivec_dss): Likewise.
+ 
+ 2004-05-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
+ 	vnor.
+ 	("one_cmplv8hi2"): Same.
+ 	("one_cmplv4si2"): Same.
+ 
+ 2004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/15130
+ 	* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
+ 	* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
+ 	into account.  Compute the correct number of general registers
+ 	for the return value.  Generate a special push/pop sequence when
+ 	failing to get a temporary register for non SHmedia epilogue.
+ 	(sh_expand_epilogue): Add an argument to show whether it's for
+ 	sibcall or not.  Set the 3rd argument of output_stack_adjust to
+ 	-1 if needed.
+ 	(sh_need_epilogue): Call sh_expand_epilogue with 0.
+ 	* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
+ 	with 1.
+ 	(epilogue): Call sh_expand_epilogue with 0.
+ 
+ 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
+ 	goto a cleanup label.  After the cleanup, free the allocated memory.
+ 
+ 2004-05-10  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/rs6000/altivec.h (vec_sld): Add overloads for
+ 	argument/return types of 'vector bool int', 'vector bool short'
+ 	and 'vector bool char'.
+ 
+ 2004-05-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (store_parm_decls_newstyle): Correct test for a
+ 	nested function.
+ 
+ 2004-05-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
+ 	treating missing ones as "".
+ 	* config/mips/mips.md: Remove constraints from match_operands and
+ 	match_scratches if they appear in define_expands (except reload*),
+ 	define_peephole2s, define_splits or attribute specifications.
+ 	* config/mips/7000.md, config/mips/sb1.md: Remove match_operand
+ 	constraint strings.
+ 
+ 2004-05-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_boundary): Always align
+ 	AltiVec vectors.
+ 	(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
+ 	vectors by refererence.  Align the same for TARGET_64BIT to a 16
+ 	byte boundary.  Remove useless code.  Add function comment.
+ 	(function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
+ 	call to where it belongs.
+ 	(function_arg_partial_nregs): Return true for all TARGET_32BIT
+ 	-mabi=no-altivec AltiVec vectors.  Fix debug output.
+ 	(rs6000_va_arg): Adjust for AltiVec change.
+ 
+ 2004-05-10  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
+ 	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
+ 	(TARGET_DOUBLEWORD_ALIGN): Use it.
+ 	(WCHAR_TYPE): Define.
+ 	(WCHAR_SIZE_TYPE): Define.
+ 	(SIZE_TYPE): Define.
+ 
+ 2004-05-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
+ 	when size is 8 bytes.
+ 	(function_arg_advance): Account for stack space used by AltiVec
+ 	args when -mabi=altivec.  Simplify alignment calculations.  For
+ 	ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
+ 	(function_arg): Similarly.
+ 	(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
+ 	not AltiVec ABI.
+ 	(rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
+ 	Correct alignment, and align before testing reg count.  Remove
+ 	TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
+ 	(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
+ 	TARGET_FPRS here..
+ 	(rs6000_function_value): .. not here before call.
+ 
+ 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
+ 
+ 2004-05-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 15007
+ 	* c-decl.c (current_file_decl): Rename to all_translation_units,
+ 	adjust comment.
+ 	(pop_scope): If popping file_scope, construct a
+ 	TRANSLATION_UNIT_DECL and make it the context of all the
+ 	symbols in the scope.
+ 	(push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
+ 	(pushdecl): Clarify comment.  Do not set DECL_CONTEXT of
+ 	anything to current_file_decl.
+ 	(pushdecl_top_level): Likewise.
+ 	(store_parm_decls_newstyle): Adjust check for nested function.
+ 	(c_write_global_declarations): Update for renamed variable.
+ 
+ 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h
+ 	(rs6000_conditional_register_usage): Protoize.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
+ 
+ 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
+ 	function.
+ 
+ 2004-05-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
+ 	where op is a comparison operator and C1 and C2 are integer constants
+ 	into a range check.
+ 	(fold): Call fold_div_compare.
+ 
+ 2004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
+ 	problems with earlier versions of the GNU compiler.
+ 
+ 2004-05-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
+ 	Declare.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
+ 	(rs6000_hard_regno_mode_ok): New.
+ 	(rs6000_init_hard_regno_mode_ok): New.
+ 	(rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
+ 
+ 	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
+ 	result.
+ 
+ 2004-05-07  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/rs6000/altivec.h (vector, pixel, bool): Do not
+ 	define as macros #ifdef __APPLE_ALTIVEC__.
+ 
+ 2004-05-07  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg):
+ 	Generate appropriate parallels for vector arguments
+ 	passed to vararg functions. (function_arg): make the call
+ 	to rs6000_mixed_function_arg for vector args as needed.
+ 
+ 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_va_arg): Fix calculation of osize for
+ 	EABI_FLOAT_VARARGS_P.
+ 
+ 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
+ 	* config/mips/mips.c (override_options): Disable branch likely
+ 	instructions if TUNE_MIPS5500.
+ 
+ 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Allow the hi and lo registers
+ 	to store any integral mode, not just MODE_INTs.
+ 
+ 2004-05-07  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
+ 	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
+ 	(TARGET_DOUBLEWORD_ALIGN): Use it.
+ 	(WCHAR_TYPE): Define.
+ 	(WCHAR_SIZE_TYPE): Define.
+ 	(SIZE_TYPE): Define.
+ 
+ 2004-05-07  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
+ 	testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
+ 
+ 2004-05-07  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* loop-doloop.c (doloop_valid_p): Make sure that body
+ 	gets freed.
+ 
+ 2004-05-07  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
+ 	declaration.
+ 	* config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
+ 	(sparc_skip_caller_unimp): New global variable.
+ 	(sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
+ 	Use it instead of SKIP_CALLERS_UNIMP_P.
+ 	* config/sparc/sparc.md (call expander): Add sanity check.
+ 	(call_address_struct_value_sp32): Re-sync with expander.
+ 	(call_symbolic_struct_value_sp32): Likewise.
+ 	(return peepholes): Use 'sparc_skip_caller_unimp' instead
+ 	of custom predicate.
+ 
+ 2004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c++/14962
+ 	* c-pragma.c (handle_pragma_redefine_extname): Only change
+ 	the assembler name of FUNCTION_DECLs and VAR_DECLs.
+ 
+ 2004-05-07  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_log1p.
+ 	(log1p_optab): Define corresponding macro.
+ 	* optabs.c (init_optabs): Initialize log1p_optab.
+ 	* genopinit.c (optabs): Implement log1p_optab using log1p?f2
+ 	patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
+ 	using log1p_optab.
+ 	(expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
+ 	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
+ 
+ 	* config/i386/i386.c (ix86_emit_i387_log1p): New function.
+ 	* config/i386/i386-protos.h (ix86_emit_i387_log1p):
+ 	Prototype here.
+ 	* config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
+ 	x87's fyl2xp1 instruction.
+ 	(*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
+ 	(fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
+ 	(log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
+ 	log1p  and log1pl built-ins as inline x87 intrinsics.
+ 
+ 2004-05-07  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
+ 	* config/arm/freebsd.h: Likewise.
+ 	* config/ia64/freebsd.h: Likewise.
+ 	* config/sparc/freebsd.h: Likewise.
+ 
+ 2004-05-07  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR optimization/15296
+ 	* reorg.c (fill_simple_delay_slots): Use next_real_insn when
+ 	getting last consecutive label at a branch.
+ 	(relax_delay_slots): Similar, near top of loop.
+ 
+ 2004-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/15202
+ 	* pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
+ 	register to general register.
+ 
+ 2004-05-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
+ 	TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
+ 	* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
+ 	(STACK_BOUNDARY): Delete.
+ 
+ 2004-05-06  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
+ 	mistakenly clobbered by 1.423.
+ 
+ 2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Document -mvr4130-align.
+ 	* config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
+ 	(TUNE_MIPS4120, TUNE_MIPS4130): New macros.
+ 	(TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
+ 	(TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
+ 	* config/mips/mips.md: Include sched-int.h.
+ 	(USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
+ 	(mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
+ 	(override_options): Enable -mvr4130-align at -O3 and above.
+ 	(mips_sim_insn): New variable.
+ 	(mips_sim): New structure.
+ 	(mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
+ 	(mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
+ 	(mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
+ 	(mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
+ 	(vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
+ 	(mips_reorg): Call vr4130_align_insns.
+ 	(vr4130_last_insn): New variable.
+ 	(vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
+ 	(vr4130_swap_insns_p, vr4130_reorder): New functions.
+ 	(mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
+ 	(mips_issue_rate): Return 2 for PROCESSOR_R4130.
+ 	(mips_use_dfa_pipeline_interface): Return true for the same.
+ 	* config/mips/4130.md: New file.
+ 	* config/mips/mips.md: Include it.  Add a peephole2 to convert
+ 	"mult;mflo" into "mtlo;macc".
+ 	(*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
+ 	target of maccs.
+ 	(*msac_using_macc): New pattern.
+ 
+ 2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/5500.md (ir_vr55_store): Set latency to 0.
+ 	(ir_vr55_hilo): Split into...
+ 	(ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
+ 	(ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
+ 	(ir_vr55_imul_di): Change latency to 9.  Reserve vr55_mac for 4 cycles.
+ 	Add various multiplication bypasses.
+ 	* config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
+ 	multiplication.
+ 
+ 2004-05-06  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*fscalexf4): Correct insn "mode"
+ 	attribute to "XF".
+ 
+ 2004-05-05  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
+ 	(fmod_optab, drem_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
+ 	* genopinit.c (optabs): Implement fmod_optab and drem_optab
+ 	using fmod?f3 and drem?f3 patterns.
+ 	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
+ 	using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
+ 	(expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
+ 	BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
+ 	flag_unsafe_math_optimizations is set.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
+ 	UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
+ 
+ 	* config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
+ 	* config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
+ 	Prototype here.
+ 	* config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
+ 	UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
+ 	fprem and fprem1 instructions.
+ 	(*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
+ 	Rename insn definition to x86_fnstsw_1.
+ 	(fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
+ 	x87 instructions.
+ 	(fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
+ 	and fmodl built-ins as inline x87 intrinsics.
+ 	(dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
+ 	and dreml built-ins as inline x87 intrinsics.
+ 
+ 2004-05-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
+ 
+ 2004-05-05  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR driver/9822
+ 	* doc/invoke.texi (Spec Files): Remove documentation of %c.
+ 
+ 2004-05-05  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md: Update the msub define_split for new mflo/mfhi
+ 	representation.
+ 
+ 2004-05-06  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-protots.h (vfp_mem_operand): Rename ...
+ 	(arm_coproc_mem_operand): ... To this.
+ 	* config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
+ 	(arm_legitimate_index_p): Ditto.
+ 	(vfp_mem_operand): Rename ...
+ 	(arm_coproc_mem_operand): ... To this.  Handle writeback modes.
+ 	(vfp_secondary_reload_class): Use it.
+ 	(output_move_double): Use doubleword load/store instructions.
+ 	(arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
+ 	* config/arm/arm.h (TARGET_LDRD): Define.
+ 	(EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
+ 	* config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
+ 	New splitter for invalid doubleword loads.
+ 	* config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
+ 	* config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
+ 	* doc/md.texi: Document Uy constraint.
+ 
+ 2004-05-05  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/14980
+ 	* cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
+ 	inline clones.
+ 
+ 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/15290
+ 	* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
+ 	instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
+ 
+ 2004-05-05  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin-c.c (add_framework): Copy the directory name as it
+ 	can be freed later.  Also, ensure we always allocate enough room
+ 	for the cached framework information.
+ 	(find_subframework_header): Keep track of the directory where the
+ 	subframework header was found.
+ 	(framework_construct_pathname): Speed up by not trying to re-add a
+ 	framework.
+ 	* cppfiles.c (search_path_exhausted): Arrange for the missing
+ 	header callback to be able to set the directory where the header
+ 	was found.
+ 	(cpp_get_dir): Add.
+ 	* cpplib.h (missing_header_cb): Add a parameter.
+ 	(cpp_get_dir): Add.
+ 
+ 2004-05-03  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/invoke.texi (Directory Options): Document -iquote.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/cppopts.texi: Likewise.
+ 	* c-opts.c (c_common_missing_argument): Add -iquote processing.
+ 	(c_common_handle_option): Likewise.
+ 	* c.opt (iquote): Add.
+ 	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
+ 	* c-incpath.c (merge_include_chains): Update comment to use -iquote.
+ 
+ 	* c-opts.c (case OPT_I): Deprecate -I- support.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/cppopts.texi: Likewise.
+ 
+ 2004-05-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h (free_basic_block_vars): Update prototype.
+ 	* flow.c (free_basic_block_vars): Remove the keep_head_end_p
+ 	argument.
+ 	(life_analysis): Update call.
+ 	* ifcvt.c (if_convert): Likewise.
+ 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
+ 	* passes.c (rest_of_handle_final): Likewise.
+ 	(rest_of_compilation): Likewise.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ 
+ 	* emit-rtl.c (next_real_insn): Use INSN_P.
+ 	(prev_real_insn): Likewise.
+ 
+ 2004-05-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md: Update the madd define_split for new mflo/mfhi
+ 	representation.
+ 
+ 2004-05-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (build_opaque_vector_type):
+ 	New function.
+ 	(rs6000_init_builtins): Use it.
+ 
+ 2004-05-04  Bernard Giroud  <bgiroud2@free.fr>
+ 
+ 	* gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
+ 	(func_table): Change type from char ** to vms_func_ref.
+ 	(write_rtnbeg):  Update to reflect func_table change.  Use
+ 	fde->funcdef_number instead of rtnnum in output.
+ 	(write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
+ 
+ 2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/14899
+ 
+ 	* c-common.c (vector_types_convertible_p): New function.
+ 	* c-typeck.c (comptypes): Recurse on vector types.
+ 	(convert_for_assignment): Use vector_types_convertible_p.
+ 	(digest_init): Use vector_types_convertible_p to check
+ 	validness of constant vector initializers; otherwise treat
+ 	them as scalars.
+ 	* tree.c (make_or_reuse_type): New.
+ 	(build_common_tree_nodes): Use it.
+ 	* cp/call.c (standard_conversion): Likewise.
+ 	* cp/typeck.c (comptypes): Recurse on vector types.
+ 	(convert_for_assignment): Use vector_types_convertible_p.
+ 
+ 2004-05-04  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.c (override_options): Default to no
+ 	generation of branch-likely operations when tuning for
+ 	CPUs where they tend to have a negative performance impact
+ 	(e.g., SB-1).
+ 
+ 2004-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (store_constructor_field): Don't call store_constructor
+ 	if bitsize is not a multiple of a byte.
+ 
+ 2004-05-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* reload1.c (inherit_piecemeal_p): New function.
+ 	(emit_reload_insns): When reloading a group of hard registers, use
+ 	inherit_piecemeal_p to decide whether the values of individual hard
+ 	registers can be inherited.
+ 
+ 2004-05-04  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
+ 	* config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
+ 	* config/t-linux (LIB2ADDEHDEP): Likewise.
+ 
+ 2004-05-04  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/crti.asm: Push an even number of registers.
+ 	* config/arm/crtn.asm: And restore them.  Load via sp.
+ 
+ 2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
+ 	Collect overhead information.
+ 	(ggc_alloc_stat): New name of ggc_alloc.  Add MEM_STAT_DECL
+ 	parameter and pass it through.
+ 	(ggc_alloc_typed_stat): New name of ggc_alloc_typed.  Add
+ 	MEM_STAT_DECL parameter and pass it through.
+ 	(ggc_alloc_zone_stat): New name of ggc_alloc_zone.  Add
+ 	MEM_STAT_DECL parameter and pass it through.
+ 
+ 2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
+ 
+ 	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
+ 	rs6000_hard_regno_nregs.
+ 
+ 2004-05-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/s390/s390.c (s390_emit_prologue): Call unspec tpf
+ 	prologue insn instead of setting up call.
+ 	(s390_emit_epilogue): Ditto.
+ 	* config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
+ 	(define_constants): Add numbers for above patterns.
+ 
+ 2004-05-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
+ 	* config/s390/s390.c (s390_conditional_register_usage): ...here.
+ 	* config/s390/s390-protos.h: Prototype.
+ 
+ 2004-05-03  Joe Buck <jbuck@welsh-buck.org>
+ 
+ 	* cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
+ 	assignment.
+ 
+ 2004-05-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.md: Fix branch length attribute definition.
+ 
+ 2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config.gcc: Remove --enable-altivec support.
+ 
+ 	* config/rs6000/altivec-defs.h: Remove.
+ 
+ 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2004-05-03  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
+ 	definition.
+ 	(log?f2, log10?f2, log2?f2): Reimplement expanders with
+ 	float_truncate insn.
+ 	(*fxtractsf3, *fxtractdf3): Remove insn definition.
+ 	(logb?f2): Reimplement expanders with float_truncate insn.
+ 
+ 2004-05-03  Graham Stott  <graham.stott@btinternet.com>
+ 
+ 	PR 14718
+ 	* dwarf2out.c (dwarf2out_imported_module_or_decl): Use
+ 	force_type_die for CONST_DECL.
+ 
+ 2004-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
+ 	tm-dwarf2.h to tm_file.
+ 	(sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
+ 	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
+ 	(ASM_DEBUG_SPEC): Delete.
+ 
+ 2004-05-03  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_expm1.
+ 	(expm1_optab): Define corresponding macro.
+ 	* optabs.c (init_optabs): Initialize expm1_optab.
+ 	* genopinit.c (optabs): Implement expm1_optab using expm1?f2
+ 	patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
+ 	using expm1_optab.
+ 	(expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
+ 	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
+ 	to implement expm1, expm1f and expm1l built-ins as inline x87
+ 	intrinsics.
+ 
+ 2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv.md (*return_true, *return_false): New patterns.
+ 
+ 2004-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* rtl.h (PHI_NODE_P): Remove.
+ 
+ 2004-05-02  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	PR middle-end/14988
+ 	* function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
+ 	when passed -2 as 'align'.
+ 	(put_var_into_stack): Use 'bool' as the type for the three local
+ 	predicates.  Adjust calls to put_reg_into_stack.
+ 	When passed a CONCAT, instruct put_reg_into_stack to use
+ 	a consecutive stack slot for the second part.
+ 	(put_reg_into_stack): Remove 'promoted_mode' parameter, add
+ 	'consecutive_p' parameter.  Turn the three predicates into 'bool'
+ 	parameters.  Retrieve the register mode from 'reg'.
+ 	When consecutive_p is true, instruct assign_stack_local_1 to use
+ 	BITS_PER_UNIT alignment.
+ 	(put_addressof_into_stack): Use 'bool' as the type for the two
+ 	local predicates. Adjust call to put_reg_into_stack.
+ 
+ 2004-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (fold_convert_const, fold): Add missing
+ 	FIX_ROUND_EXPR case.
+ 
+ 2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.ac (FLEX, BISON): Only use tools from the build tree
+ 	if build equals host.
+ 	* configure: Rebuilt.
+ 
+ 	* config/frv/frv-protos.h (frv_expand_epilogue,
+ 	frv_expand_fdpic_call): Add bool argument.
+ 	* config/frv/frv.c (frv_function_ok_for_sibcall): New.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
+ 	(frv_expand_epilogue): Use new argument to decide whether to emit
+ 	return instruction or copy the return address to LR.
+ 	(frv_expand_fdpic_call): Inline PLT entry when emitting direct
+ 	sibcalls.
+ 	(sibcall_operand): New.
+ 	* config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
+ 	PLUS nor LABEL_REF.  Add sibcall_operand.
+ 	* config/frv/frv.md (call, call_value): Pass false to
+ 	frv_expand_fdpic_call.
+ 	(call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
+ 	(sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
+ 	sibcall_value_internal, sibcall_value_fdpicdi): New.
+ 	(return_unsigned_true, return_unsigned_false): New.
+ 	(epilogue): Adjust call to frv_expand_epilogue.
+ 	(sibcall_epilogue): New.
+ 
+ 	* config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
+ 	(CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
+ 	before redefining them.
+ 
+ 2004-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_fixed_mathfn): New function.
+ 	(fold_builtin_lround, fold_builtin): Use it.
+ 
+ 2004-05-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
+ 	also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
+ 
+ 2004-05-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/cris/cris.h: Revert my "fix comment typos" patch.
+ 
+ 2004-05-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
+ 
+ 2004-05-01  Falk Hueffner  <falk@debian.org>
+ 
+ 	* config/alpha/alpha.md (builtin_insbl, builtin_inswl,
+ 	builtin_insll): Disallow 0 as first input operand.
+ 
+ 2004-05-01  Falk Hueffner  <falk@debian.org>
+ 
+ 	* config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
+ 
+ 2004-05-01  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR middle-end/15054
+ 	* expr.c (expand_expr_real): Do not call preserve_temp_slots
+ 	on a TARGET_EXPR temp.
+ 	* function.c (assign_stack_temp_for_type): Set 'keep' flag for
+ 	TARGET_EXPR temp slots.
+ 
+ 2004-05-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* simplify-rtx.c (simplify_ternary_operation): When
+ 	converting an IF_THEN_ELSE to a relational op, return
+ 	correct mode.
+ 
+ 2004-04-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_round): Fix comment typo.
+ 	(fold_builtin_lround): New function.
+ 	(fold_builtin): Use it.
+ 
+ 2004-04-20  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/11608
+ 	* config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
+ 	more like the one in config/dbxelf.h.
+ 
+ 2004-04-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
+ 	and adjust definition accordingly.
+ 	(TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
+ 	(TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
+ 	* expr.c (store_constructor): Do not access TYPE_DOMAIN of a
+ 	VECTOR_TYPE.
+ 
+ 2004-04-30  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/14587
+ 	* config/i386/winnt.c (associated_type): Look for attributes on
+ 	the TYPE_MAIN_VARIANT of *this.
+ 	* attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
+ 	apply the attributes to the variants.
+ 
+ 2004-04-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc: Simplify arm --with-{cpu,tune} test.
+ 	* config/arm/arm-cores.def: Document whitespace restrictions.
+ 
+ 2004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	PR other/1963
+ 	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
+ 
+ 2004-04-30  Brian Ford  <ford@vss.fsi.com>
+ 	    DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
+ 	(DWARF2_DEBUGGING_INFO): Define to enable.
+ 	(DBX_REGISTER_NUMBER): Define to use the svr4 register map for
+ 	DWARF2.
+ 	* configure.ac (Target-specific assembler checks)
+ 	<i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
+ 	relocs.
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 
+ 	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
+ 	(ASM_OUPUT_DWARF_OFFSET): Define.
+ 
+ 2004-04-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
+ 	(s390_emit_call): New function prototype added.
+ 	(s390_tls_get_offset): Function removed.
+ 	* config/s390/s390.c (s390_function_ok_for_sibcall,
+ 	s390_call_saved_register_used_p): New functions.
+ 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
+ 	(s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
+ 	(s390_emit_tls_call_insn): New function.
+ 	(legitimize_tls_address): Call s390_emit_tls_call_insn instead of
+ 	emit_call_insn.
+ 	(s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
+ 	(s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
+ 	added.
+ 	* config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
+ 	register number used to hold the target address for sibcalls.
+ 	* config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
+ 	New expanders.
+ 	("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
+ 	"*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
+ 	("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
+ 	Expanders removed.
+ 	("call", "call_value"): Call s390_emit_call to emit the call patterns.
+ 	("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
+ 	"*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
+ 	("epilogue"): Changed the call to s390_emit_epilogue to use the
+ 	new parameter.
+ 
+ 2004-04-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
+ 	cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
+ 	reg-stack.c, varasm.c, config/alpha/ev4.md,
+ 	config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
+ 	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
+ 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
+ 	config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
+ 	config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
+ 	config/ia64/itanium2.md, config/ip2k/ip2k.c,
+ 	config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
+ 	config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
+ 	comment typos.
+ 
+ 2004-04-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc: Default ep9312 to hard-float.
+ 	* config/arm/arm-cores.def: Add ARCH field.
+ 	* config/arm/arm.c (FL_FOR_ARCH*): Define.
+ 	(arm_arch_cirrus): New variable.
+ 	(all_cores): Set and use arch.
+ 	(all_architectures): Ditto.
+ 	(arm_arch_name): New variable.
+ 	(arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
+ 	Set and use arm_arch_cirrus.
+ 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
+ 	(enum processor_type): Update ARM_CORE define.
+ 	(enum target_cpus): Add.  Replaces TARGET_CPU_* defines.
+ 	(CPP_SPEC): Remove %(cpp_cpu_arch).
+ 	(CPP_ARCH_DEFAULT_SPEC): Remove.
+ 	(CPP_CPU_ARCH_SPEC): Remove.
+ 	(EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
+ 	(FPUTYPE_DEFAULT): Don't define here.
+ 
+ 2004-04-30  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
+ 	updates too.
+ 
+ 2004-04-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* arm.c (arm_needs_doubleword_align): Use mode alignment.
+ 
+ 2004-04-30  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
+ 	vec_sububs.
+ 	[__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
+ 	duplicates.
+ 
+ 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
+ 	atan2?f3 expanders.
+ 
+ 2004-04-29  Nick Clifton  <nickc@redhat.com>
+ 
+ 	Bug 14093
+ 	* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
+ 	* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
+ 	Delete static from definition.
+ 	* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
+ 
+ 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
+ 	UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
+ 	<UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
+ 	<UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
+ 
+ 2004-04-29  Richard Guenther  <richard.guenther@uni-tuebingen.de>
+ 
+ 	* commom.opt (Wfatal-errors): Add it.
+ 	* diagnostic.c (flag_fatal_errors): Define it.
+ 	(diagnostic_action_after_output): Check for flag_fatal_errors.
+ 	* flags.h (flag_fatal_errors): Declare it.
+ 	* opts.c (common_handle_option): Add OPT_Wfatal_errors.
+ 	* doc/invoke.texi (Warning Options): Document -Wfatal-errors.
+ 
+ 2004-04-30  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* gcse.c (remove_reachable_equiv_notes): Delete notes also in
+ 	blocks which have kill flag set.
+ 
+ 2004-04-29  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* configure.ac (--with-as): Abort if user-supplied assembler
+ 	cannot be executed.
+ 	(--with-ld): Likewise for the linker.
+ 	* configure: Regenerate.
+ 
+ 2004-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* convert.c (convert_to_integer): Ensure `long_integer_type_node'
+ 	isn't NULL before using it.
+ 
+ 2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/15189
+ 	* config/mips/mips.md (load_df_low): Use default length.
+ 	(load_df_high, store_df_high): Likewise.
+ 
+ 2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mips/mips.md, config/mips/sb1.md,
+ 	config/rs6000/rs6000.c: Fix comment typos.
+ 
+ 2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
+ 	Fix comment typos.
+ 
+ 2004-04-29  Douglas B Rupp  <rupp@gnat.com>
+ 
+ 	* gcc.c (DELETE_IF_ORDINARY): New macro default definition.
+ 	(delete_if_ordinary): Use above macro.
+ 	* config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
+ 	Update copyright.
+ 	* doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
+ 
+ 2004-04-29  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* c-decl.c (get_parm_info): Use the correct tag keywords when
+ 	warning about type declarations in prototypes.
+ 
+ 2004-04-29  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc: Pull list of cores from arm-cores.def.
+ 
+ 2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (combine_simplify_rtx): Adjust call to use
+ 	simplify_relational_operation.  Do not use SELECT_CC_MODE
+ 	when a comparison already has a MODE_CC mode.
+ 
+ 2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	(simplify_set): simplify_relational_operation may now
+ 	return another relational expression.
+ 	* cse.c (fold_rtx): simplify_relational_operation now
+ 	takes of computing the comparison mode.
+ 	* dojump.c (compare_from_rtx): Use simplify_relational_operation,
+ 	remove dead code.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 	* integrate.c (subst_constants): simplify_relational_operation
+ 	may now return another relational expression.
+ 	* simplify-rtx.c (simplify_gen_relational): Move most code to
+ 	the new simplify_relational_operation and
+ 	simplify_relational_operation_1 functions.
+ 	(simplify_relational_operation): Rewritten.
+ 	(simplify_relational_operation_1): New function.
+ 	(simplify_ternary_operation): simplify_relational_operation
+ 	may now return another relational expression.
+ 	(simplify_rtx): Remove unnecessary temp variable.
+ 
+ 2004-04-29  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* reg-stack.c (swap_to_top): New function.
+ 	(subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
+ 	swap_to_top().
+ 	(subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
+ 	(subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
+ 	UNSPEC_FSCALE_EXP.
+ 
+ 	* config/i386/i386.md (UNSPEC_FSCALE): Remove.
+ 	(*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
+ 	(UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
+ 	x87's fscale insn.
+ 	(*fscalexf4: Define new insn pattern to implement x87 fscale insn.
+ 	(exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
+ 	patterns.
+ 
+ 2004-04-28  Serge Belyshev  <1319@bot.ru>
+ 
+ 	PR 14944
+ 	* coverage.c (read_counts_file): Fix usage of warning () call.
+ 	* pretty-print.c (pp_base_format_text): Fix typo in the comment.
+ 
+ 2004-04-28  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/invoke.texi (Objective-C Dialect Options): Don't prefix
+ 	options with "-" in the option index.
+ 	(SPARC Options): Likewise.
+ 	(M32R/D Options): Likewise.
+ 
+ 2004-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* convert.c (convert_to_integer): Convert (long)round -> lround,
+ 	etc.
+ 
+ 2004-04-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (registers_ok_for_quad_peep):
+ 	Return false if we do not have fp register.
+ 	(addrs_ok_for_quad_peep): Rename to ...
+ 	(mems_ok_for_quad_peep): this.
+ 	Add check for volatile memory.
+ 	* config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
+ 	Rename to ...
+ 	(mems_ok_for_quad_peep): this.
+ 	* config/rs6000/rs6000.md: Change peephole's for lfq/stq
+ 	to peephole2's.
+ 	(lfq_power2): New instruction.
+ 	(stfq_power2): Likewise.
+ 
+ 2004-04-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c/15004
+ 	* function.c (do_warn_unused_parameter): Break out form ...
+ 	(expand_function_end): ... here; warn only when not using cgraphunit.
+ 	* function.h (do_warn_unused_parameter): Declare.
+ 	* cgraphunit.c: Include function.h.
+ 	(cgraph_finalize_function): Do unused parameter warning.
+ 	* Makefile.in (cgraphunit.o): Depend on function.h
+ 
+ 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
+ 	calling install-info on $(DESTDIR)$(infodir)/dir already being
+ 	present.
+ 
+ 2004-04-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* dwarf2out.c (mem_loc_descriptor): Handle shifts.
+ 
+ 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* gcse.c (find_moveable_store): Do not accept store insns with
+ 	REG_EH_REGION note.
+ 
+ 2004-04-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
+ 	* function.c (assign_temp): Ditto.
+ 	* system.h (PROMOTE_FOR_CALL_ONLY): Poison.
+ 
+ 2004-04-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
+ 
+ 2004-04-28  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c (variable_different_p): Add a parameter
+ 	compare_current_location, compare current location of variable parts
+ 	if it is true.
+ 	(dataflow_set_different_1): Pass compare_current_location == false.
+ 	(dataflow_set_different_2): Pass compare_current_location == false.
+ 	(emit_notes_for_differences_1): Pass compare_current_location == true.
+ 
+ 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("casesi"): Mark jump table access as
+ 	non-trapping and unchanging.
+ 
+ 2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR debug/14829
+ 	* dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
+ 	callers.
+ 	(multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
+ 	number for indexing hard_regno_nregs array.
+ 
+ 2004-04-27  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
+ 	* config/darwin-crt2.c: Only have contents on __ppc__.
+ 
+ 2004-04-27  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (call_insn_operand): Check
+ 	SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
+ 	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
+ 	* config/xtensa/xtensa.md (call, call_value): Likewise.
+ 
+ 2004-04-27  Wu Yongwei  <adah@sh163.net>
+ 
+ 	* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
+ 	(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
+ 	(__gthread_mutex_init_function): Replace CreateMutex with
+ 	initialization of custom mutex using CreateSemaphore.
+ 	(__gthread_mutex_lock): Use InterlockedIncrement.
+ 	(__gthread_mutex_trylock): Use InterlockedCompareExchange.
+ 	(__gthread_mutex_unlock): Use InterlockedDecrement and
+ 	ReleaseSemaphore to unlock
+ 	* config/i386/gthr-win32.c (__gthread_mutex_init_function,
+ 	__gthread_mutex_lock, __gthread_mutex_trylock,
+ 	__gthread_mutex_unlock): Adjust to match inline versions in
+ 	gthr-win32.h.
+ 
+ 2004-04-27  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_promote_prototypes): New function.
+ 	(TARGET_PROMOTE_PROTOTYPES): Use it.
+ 
+ 2004-04-27  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
+ 
+ 2004-04-26  Bernard Giroud  <bgiroud@free.fr>
+ 
+ 	* config/alpha.c (alpha_end_function): For OpenVMS gas,
+ 	correctly output .pdesc directive before .end.
+ 
+ 2004-04-26  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	Bug 14927
+ 	* config/ia64/ia64.md (movxf): New local op0.  Handle case where
+ 	operands[0] is a SUBREG.  Handle case where operands[1] is a GR reg.
+ 
+ 2004-04-26  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
+ 	* config/pa/pa-hpux10.h: Likewise.
+ 	* config/pa/pa-hpux11.h: Likewise.
+ 
+ 2004-04-26  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/invoke.texi (Overall Options): Document default for -o
+ 	for PCH files.
+ 
+ 2004-04-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c (expand_builtin_update_setjmp_buf): New function.
+ 	(expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
+ 	* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
+ 
+ 2004-04-26  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
+ 
+ 2004-04-26  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
+ 
+ 2004-04-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
+ 	fold (build1 (NEGATE_EXPR, ...)).  Optimize X / -1 as -X and
+ 	X % -1 as 0.
+ 
+ 2004-04-26  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR bootstrap/15141
+ 	* except.c (connect_post_landing_pads): Delete insns after the
+ 	barrier when generating a unwind_resume_libfunc call.
+ 
+ 2004-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	PR/c++ 15119
+ 	* tree.c (substitute_placeholder_in_expr, case 4): New case,
+ 	for TARGET_EXPR.
+ 
+ 2004-04-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+ 	__gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
+ 	inhibit_libc is defined.
+ 
+ 2004-04-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_linked_macc_p): Declare.
+ 	* config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
+ 	* config/mips/mips.c (TARGET_SCHED_REORDER): Define.
+ 	(TARGET_SCHED_VARIABLE_ISSUE): Define.
+ 	(mips_adjust_cost): Move later in file, next to other sched hooks.
+ 	(mips_macc_chains_last_hilo): New variable.
+ 	(mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
+ 	(mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
+ 	* config/mips/mips.md (may_clobber_hilo): New attribute.
+ 
+ 2004-04-24  Roger Sayle  <roger@eyesopen.com>
+ 	    Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def (aix_syswait_2): New fix.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/sys/wait.h: Update for new test.
+ 
+ 2004-04-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/14960
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
+ 	to non_fixed_size, and leave out fixed_size from the sum.
+ 	(generate_set_vrsave): Correct clobbers.
+ 	(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
+ 	(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
+ 	(rs6000_libcall_value): Likewise.
+ 	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
+ 	(FUNCTION_ARG_REGNO_P): Likewise.
+ 
+ 2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expmed.c (expand_mult_highpart_adjust): Do not assume OP1
+ 	is a CONST_INT.
+ 	(expand_mult_highpart_optab): Call expand_mult_highpart_adjust
+ 	with NARROW_OP1 instead of OP1.
+ 
+ 2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
+ 	and __s390x__ hosts.
+ 
+ 2004-03-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
+ 	_gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
+ 	* builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
+ 	BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
+ 	BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
+ 	* builtins.c (expand_builtin_fork_or_exec): New.
+ 	(expand_builtin): Call it.
+ 	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
+ 	BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
+ 	* c-common.c (PID_TYPE): New macro.
+ 	(c_common_nodes_and_builtins): Initialize pid_type_node.
+ 	* calls.c (special_function_p): Do not handle fork and exec.
+ 	(expand_call): Do not handle ECF_FORK_OR_EXEC.
+ 	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+ 	__gcov_execv, __gcov_execvp, __gcov_execve): Declare.
+ 	* libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
+ 	__gcov_execv, __gcov_execvp, __gcov_execve): New.
+ 	* tree.h (enum tree_index): Add TI_PID_TYPE.
+ 	(pid_type_node): New macro.
+ 	(ECF_FORK_OR_EXEC): Removed.
+ 
+ 2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/13985
+ 	* cfgloopmanip.c (fix_loop_placements): New prototype.
+ 	Call fix_bb_placements on the preheader of loops that have
+ 	been reparented.
+ 	(remove_path): Adjust call to fix_loop_placements.
+ 
+ 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin7.h: New file.
+ 	* config.gcc (*-*-darwin*): Add darwin7.h if the
+ 	version is greater than 6.
+ 	* config/darwin.h (TARGET_C99_FUNCTIONS): Define.
+ 	(MATH_LIBRARY): Wrap in ifdefs.
+ 
+ 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/arm/arm.c (arm_output_epilogue): Reverse the order of
+ 	loading iWMMXt registers with a frame pointer.  Use post-increment
+ 	without a frame pointer.
+ 	(arm_expand_prologue): Reverse the order of saving iWMMXt registers.
+ 
+ 2004-04-23  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
+ 	mode" rather than "-funit-at-a-time" since -O2 enables it
+ 	without requiring -f* options.	Refer to -fprofile-generate and
+ 	-fprofile-use correctly.  Move -funit-at-a-time among options
+ 	enabled by -O.	Add information about unit-at-a-time caveats.
+ 
+ 2004-04-22  Per Bothner  <per@bothner.com>
+ 
+ 	* line-map.h (struct line_maps):  New field highest_line.
+ 	(linemap_position_for_column):  Make non-inline function.
+ 	(LINEMAP_POSITION_FOR_COLUMN):  New macro.
+ 	* line-map.c (linemap_init):  Clear highest_line field.
+ 	(linemap_add):  Set highest_line field.
+ 	(linemap_line_start):  Minor optimization - use highest_line field.
+ 	Reduce maximum column hint to 10000.  Update highest_line field.
+ 	(linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
+ 	* cpphash.h (struct cpp_reader):  Remove line field - instead use
+ 	line_table->highest_line.
+ 	(saved_line):  Remove unused field.
+ 	(CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
+ 	Use  line_table's highest_line field instead of cpp_reader's line.
+ 	* cpplib.c (start_directive):  Likewise use highest_line field.
+ 	(do_line, do_linemarker):  Likewise just use newest map.
+ 	(_cpp_do_file_change):  Don't need to set cpp_reader's line field.
+ 	* cpperror.c (cpp_error):  Likewise use highest_line field.
+ 	* cppfiles.c (open_file_failed:  Likewise.
+ 	(cpp_make_system_header):  Likewise use newest map and highest_line.
+ 	* cppinit.c (cpp_create_reader):  Don't initialize removed field.
+ 	* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
+ 	skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
+ 	_cpp_lex_direct):  Likewise use highest_line.
+ 	(_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
+ 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
+ 	and use newest map.
+ 	* cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
+ 	* cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
+ 	(copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.
+ 
+ 2004-04-23  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR bootstrap/14992
+ 	* gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
+ 	* config/linux.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
+ 	* gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
+ 
+ 2004-04-22  Per Bothner  <per@bothner.com>
+ 
+ 	* cppinit.c (cpp_read_main_file):  Return NULL rather than false.
+ 	Fixes PR preprocessor/15067.
+ 
+ 2004-04-23  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64intrin.h: Add intermediate cast to void * to
+ 	avoid aliasing warning.
+ 
+ 2004-04-22  Jan Hubicka  <jh@suse.cz>
+ 	    Mostafa Hagog <mustafa@il.ibm.com>
+ 
+       * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
+       * cfgloopanal.c (expected_loop_iterations): Change the return value
+ 
+ 2004-04-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* cselib.h (struct elt_loc_list): Remove canon_loc field.
+ 	* cselib.c (new_elt_loc_list): Remove canon_loc initialization.
+ 	(cselib_invalidate_mem): Remove all canon_loc and canon_x
+ 	traces.
+ 
+ 2004-04-22  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	Revert
+ 	2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 		* var-tracking.c (variable_part_different_p): Variable parts
+ 		differ when the most recent locations differ.
+ 
+ 2004-04-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Remove the MIPS -membedded-pic option.
+ 	* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
+ 	(embedded_pic_offset): Delete.
+ 	* config/mips/mips.h (MASK_EMBEDDED_PIC): Delete.  Shuffle other
+ 	MASK_* constants.
+ 	(TARGET_EMBEDDED_PIC): Delete.
+ 	(TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
+ 	(ASM_SPEC): Remove -membedded-pic.
+ 	(ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
+ 	(ASM_OUTPUT_CASE_LABEL): Likewise.
+ 	* config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
+ 	* config/mips/windiss.h (ASM_SPEC): Likewise.
+ 	* config/mips/mips.c (struct machine_function): Remove
+ 	embedded_pic_fnaddr_rtx.
+ 	(TARGET_ENCODE_SECTION_INFO): Remove override.
+ 	(embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
+ 	(override_options): Remove -membedded-pic handling.
+ 	(print_operand): Remove handling of '%S'.
+ 	(mips_select_section: Remove -membedded-pic handling.
+ 	(mips_encode_section_info): Delete.
+ 	(mips_output_conditional_branch): Remove mention of -membedded-pic.
+ 	* config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
+ 	-membedded-pic handling.
+ 	(casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
+ 
+ 2004-04-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* var-tracking.c (frame_base_decl): Remove useless GTY.
+ 
+ 2004-04-21  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Error when
+ 	user wants altivec and e500 instructions.
+ 
+ 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/14813
+ 	* config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
+ 	in .init_array section to ...
+ 	* config/ia64/crtbegin.asm: Here.
+ 
+ 	* config/ia64/crtend.asm: Mark __do_global_ctors_aux global
+ 	and hidden if HAVE_INITFINI_ARRAY is defined.
+ 
+ 2004-04-21  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
+ 	* config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
+ 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
+ 	(fp_register_operand, lo_operand): New.
+ 	(mips_rtx_costs): Add TUNE_SB1 support.
+ 	(mips_issue_rate): Add comment.  Add PROCESSOR_SB1 support.
+ 	(mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
+ 	(mips_multipass_dfa_lookahead): New.
+ 	* config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
+ 	TUNE_SB1): New.
+ 	(TARGET_SWITCHES): Add -mfp-exceptions support.
+ 	(TARGET_FP_EXCEPTIONS_DEFAULT): New.
+ 	(BRANCH_COST): Fix whitespace.
+ 	* config/mips/mips.md: Include sb1.md.
+ 	* config/mips/sb1.md: New file.
+ 	* doc/invoke.texi: Document -mfp-exceptions.
+ 
+ 	* Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS.  Fix
+ 	comment.
+ 	* fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
+ 	(fixincl.o-warn): Delete.
+ 
+ 2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000 (print_operand) ['z']:
+ 	Change ifdef of TARGET_MACHO to if TARGET_MACHO.
+ 
+ 2004-04-21 Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config.gcc: Support --with-arch=iwmmxt for ARM.
+ 
+ 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
+ 	in two more places; remove unneeded force_reg
+ 
+ 2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
+ 	for TARGET_MACHO.
+ 	(print_operand): For TARGET_MACHO check to see if we need a stub
+ 	and output one if we need it.
+ 
+ 	PR debug/15033
+ 	* dwarf2out.c (rtl_for_decl_location): Check for NULL
+ 	rtl.
+ 
+ 2004-04-20  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
+ 	(vall_value_gp): Likewise.
+ 
+ 2004-04-20  DJ Delorie  <dj@redhat.com>
+ 
+ 	* dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
+ 	variables stored in word registers, then in memory.
+ 
+ 2004-04-20  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* cp/parser.c (cp_parser_declaration): Move translate
+ 	up before tokens are lexed.
+ 
+ 2004-04-20  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
+ 	(asin_optab, acos_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize asin_optab and acos_optab.
+ 	* genopinit.c (optabs): Implement asin_optab and acos_optab
+ 	using asin?f2 and acos?f2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
+ 	using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
+ 	(expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
+ 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
+ 	acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
+ 	acos, acosf and acosl built-ins as inline x87 intrinsics.
+ 
+ 2004-04-20  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
+ 
+ 2004-04-20  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_expand_prologue): Fix size calculation.
+ 
+ 2004-04-20  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	Revert part of 2004-04-17 change that moved -frename-registers
+ 	to -O1.  -frename-registers is buggy.
+ 
+ 	* toplev.c (flag_rename_registers): Initialize to 0.
+ 	* doc/invoke.texi (Optimize options): Move -frename-registers
+ 	to "Not triggered by any -O level" section.  Adjust commentary
+ 	accordingly.
+ 
+ 2004-04-20  Anil Paranjpe <anilp1@kpitcummins.com>
+ 
+ 	* toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
+ 
+ 2004-04-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_legitimize_move): Generate special patterns
+ 	for mflo and mfhi instructions.
+ 	(mips_output_move): Remove mflo and mfhi handling.
+ 	* config/mips/mips.md (UNSPEC_MFHILO): New unspec.
+ 	(*mulsidi3_64bit): Update for new mfhi/mflo representation.
+ 	Likewise various define_peephole2s.
+ 	(*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
+ 	alternatives.
+ 	(*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
+ 	(*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
+ 	(mfhilo_di, mfhilo_si): New patterns.
+ 
+ 2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* function.c (assign_parms): Force
+ 	MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
+ 
+ 2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c (variable_part_different_p): Variable parts differ
+ 	when the most recent locations differ.
+ 
+ 2004-04-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* rtl.h (reg_set_last): Delete declaration.
+ 	* rtlanal.c (reg_set_last): Delete.
+ 
+ 2004-04-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_convert): Make function extern/public.
+ 	* tree.h (fold_convert): Prototype here.
+ 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
+ 	expand_builtin_strrchr, expand_builtin_strpbrk,
+ 	expand_builtin_mempcpy, expand_builtin_bcopy,
+ 	expand_builtin_bzero, expand_builtin_memcmp,
+ 	expand_builtin_strcmp, expand_builtin_strncmp,
+ 	stabilize_va_list, expand_builtin_sprintf,
+ 	fold_trunc_transparent_mathfn, fold_builtin_logarithm,
+ 	fold_builtin_exponent, fold_builtin_mempcpy,
+ 	fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
+ 	fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
+ 	fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
+ 
+ 2004-04-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
+ 	(move_from_CR_gt_bit): New.
+ 	(cceq_ior_compare): Name previously unnamed pattern.  Disable for
+ 	E500.
+ 	(cceq_rev_compare): Name previously unnamed pattern.  Allow for
+ 	E500.
+ 
+ 	* config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
+ 	(tstsfeq_gpr): Same.
+ 	(cmpsfgt_gpr): Same.
+ 	(tstsfgt_gpr): Same.
+ 	(cmpsflt_gpr): Same.
+ 	(tstsflt_gpr): Same.
+ 	(e500_cceq_ior_compare): New.
+ 	(e500_flip_gt_bit): New.
+ 
+ 	* config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
+ 	(print_operand): Add 'c' and 'D'.
+ 	(rs6000_generate_compare): Rewrite to generate correct rtl.
+ 	(rs6000_emit_sCOND): Handle E500.
+ 	(output_cbranch): Adjust for changes in rs6000_generate_compare.
+ 	(output_e500_flip_gt_bit): New.
+ 
+ 	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
+ 	Protoize.
+ 
+ 2004-04-19  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (DWARF2_ADDR_SIZE): New.
+ 
+ 2004-04-19  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
+ 	fix information.
+ 
+ 2004-04-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
+ 	download URL.
+ 
+ 2004-04-19  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* stor-layout.c (layout_decl): Check DECL_PACKED before calling
+ 	ADJUST_FIELD_ALIGN.  Check maximum_field_alignment after.
+ 
+ 2004-04-19  Andrew PInski  <pinskia@physics.uc.edu>
+ 
+ 	* builtins.c (fold_builtin_cabs): Remove fndecl parameter.
+ 	(fold_builtin): Update caller to match.
+ 
+ 	PR bootstrap/15009
+ 	* bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
+ 
+ 	PR bootstrap/14999
+ 	* builtins.c (fold_builtin_cabs): Mark fndecl as unused.
+ 
+ 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
+ 
+ 	* expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
+ 	(expand_mult_highpart_optab): Likewise.
+ 	(expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
+ 
+ 2004-04-19  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
+ 	floatunssisf2, floatunssidf2): New patterns.
+ 
+ 2004-04-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR other/14918
+ 	* doc/invoke.texi (-fprofile-generate): Document requirement to
+ 	use -fprofile-generate when linking.
+ 
+ 	* doc/extend.texi (Strong Using): Warn users against using this
+ 	feature.
+ 
+ 2004-04-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
+ 	* config/mips/mips.h (mips_entry, mips_string_length): Delete.
+ 	(CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
+ 	* config/mips/mips.c (struct mips16_constant): Renamed from struct
+ 	constant.  Propogate change throughout file.
+ 	(struct machine_function): Remove insns_len.
+ 	(mips_string_length, mips16_strings, string_constants): Delete.
+ 	(mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
+ 	when generating mips16 code.  Remove special mips16 treatment of
+ 	string constants.
+ 	(mips_symbolic_constant_p): Allow mips16 constant pool accesses
+ 	to have the form LABEL+CONSTANT.
+ 	(mips_symbolic_address_p): Fix comment.
+ 	(m16_usym8_4, m16_usym5_4): Delete.
+ 	(mips_output_function_epilogue): Remove mips16 string handling.
+ 	(mips_output_mi_thunk): Call mips16_lay_out_constants.
+ 	(mips_select_section, mips_encode_section_info): Remove mips16
+ 	string handling.
+ 	(struct mips16_constant_pool): New.
+ 	(add_constant): Take a mips16_constant_pool structure.  Keep pool
+ 	sorted into order of ascending mode size.  Keep track of the highest
+ 	possible start address, taking padding and the masking of the base PC
+ 	value into account.
+ 	(dump_constants_1): New function, split out from dump_constants.
+ 	Handle vector constants.  Use gen_consttable_{int,float} rather than
+ 	separate functions for each mode.
+ 	(dump_constants): Simplify.  Use GET_MODE_ALIGNMENT.  Use gen_align
+ 	rather than separate functions for each alignment.
+ 	(mips_find_symbol): Delete.
+ 	(mips16_insn_length): New function, split out from
+ 	mips16_lay_out_constants.
+ 	(mips16_rewrite_pool_refs): New function.
+ 	(mips16_lay_out_constants): Rework. Remove string handling.
+ 	Always create an inline constant pool.
+ 	* config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
+ 	(UNSPEC_ALIGN): New constants.
+ 	(UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
+ 	(UNSPEC_ALIGN_[248]): Delete.
+ 	(consttable_int, consttable_float, align): New patterns.
+ 	(consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
+ 
+ 2004-04-17  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/altivec.h (vec_any_numeric): Correct typo in
+ 	__unn_args_eq.
+ 
+ 2004-04-17  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/14715
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
+ 	with STARTING_FRAME_OFFSET.
+ 
+ 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
+ 	* config/mips/mips.c (macc_msac_operand): New function.
+ 	* config/mips/mips.md (*msac): Move after *macc.
+ 	(*msac2): New.  Generalize macc-related peepholes so that they apply
+ 	to msac too.
+ 
+ 2004-04-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* opts.c (decode_options): Do not enable flag_rename_registers
+ 	and flag_web at -O3.
+ 	* toplev.c (flag_rename_registers): Initialize
+ 	flag_rename_registers and flag_web to
+ 	AUTODETECT_FLAG_VAR_TRACKING.
+ 	(default_debug_hooks): New global.
+ 	(process_options): Initialize default_debug_hooks.  Warn if
+ 	-fvar-tracking specified but not supported by the current
+ 	debug format.  Do not run var tracking at -O0 or if not
+ 	supported by the current debug format, even if
+ 	-fvar-tracking was given.  If -fno-rename-registers
+ 	is not specified, always run register renaming if var
+ 	tracking is supported by the default debugging information
+ 	format for the target, and we are at -O1 or higher; similarly
+ 	for -fweb, but only at -O2 or higher.
+ 	* doc/invoke.texi (Optimize Options): Document this.
+ 
+ 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
+ 	* configure: Regenerate.
+ 
+ 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcc.c (used_arg): Check whether an option has been removed.
+ 
+ 2004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
+ 	debugging on Solaris 7 and up.
+ 
+ 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* doc/install.texi (Specific, mips-sgi-irix5): Reflect working
+ 	IRIX 5 port.
+ 	Remove -save-temps workaround, handled automatically.
+ 	Require GNU binutils 2.15 for debugging.
+ 	Remove SGI make warnings since GNU make is now required.
+ 	(Specific, mips-sgi-irix6): Some markup fixes.
+ 	Describe MIPSpro C problems and workarounds.
+ 	Mention working O32 ABI support.
+ 	Recommend GNU as 2.15 for O32 with debugging.
+ 	Remove description of fixed structure pass/return bug.
+ 
+ 2004-04-16  DJ Delorie  <dj@redhat.com>
+ 
+ 	* sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
+ 	TYPE_FIELDS.
+ 	(sdbout_finish): Don't free deferred_global_decls; it's GC'd.
+ 
+ 2004-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md: Remove unnecessary declarations for asm_out_file.
+ 
+ 	* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
+ 	SAR register.  Fix comment.
+ 	(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
+ 	(%cr11).
+ 
+ 	* pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
+ 
+ 2004-04-16  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_override_options): Revert previous patch.
+ 	* config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
+ 	be safely built.
+ 
+ 2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
+ 	bug.
+ 	(TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
+ 	TARGET_DEFAULT): Changed. Ditto.
+ 	(LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
+ 	TARGET_ENDIAN_DEFAULT): Added. Ditto.
+ 	* config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
+ 	(TARGET_ENDIAN_DEFAULT): Added.
+ 
+ 2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
+ 	ATTR_CONST_NOTHROW_LIST.
+ 
+ 2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR/middle-end 14915
+ 	* builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
+ 	BITS_BIG_ENDIAN.
+ 
+ 2004-04-15  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* ra-debug.c (ra_print_rtx): Add break's to case legs.
+ 
+ 2004-04-14  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
+ 
+ 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* libada-mk.in: New file.
+ 	* configure.ac: Create libada-mk from libada-mk.in.
+ 	* configure: Regenerate.
+ 
+ 2004-04-14  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
+ 	(logb_optab, ilogb_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
+ 	* genopinit.c (optabs): Implement logb_optab and ilogb_optab
+ 	using logb?f2 and ilogb?i2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
+ 	using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
+ 	(expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
+ 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
+ 	and UNSPEC_XTRACT_EXP.
+ 
+ 	* config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
+ 	patterns to implement fxtract x87 instruction.
+ 	(logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
+ 	logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
+ 	intrinsics.
+ 	(UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
+ 	x87's fxtract insn.
+ 
+ 2004-04-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/t-elf: Enable multilibs by default.
+ 
+ 2004-04-14  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* bb-reorder.c (fix_crossing_conditional_branches): Adjust the
+ 	previous fix to check HAVE_return at runtime too.
+ 
+ 2004-04-14  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_override_options): If the user has not
+ 	specified an ABI, then default to AAPCS for the iWMMXt processor.
+ 	* config/arm/t-xscale-elf: Remove redundant multilib specifications.
+ 	* config/arm/t-xscale-coff: Likewise.
+ 
+ 2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_isdigit): New.
+ 	(fold_builtin): Handle BUILT_IN_ISDIGIT.
+ 	* defaults.h: Add TARGET_DIGIT0 and sort.
+ 	* doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
+ 
+ 2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_cabs, fold_builtin): Use
+ 	`mathfn_built_in' to determine the new builtin.
+ 	* fold-const.c (fold): Likewise.
+ 
+ 2004-04-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
+ 	* config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
+ 	(TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
+ 	(TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
+ 	(ASM_SPEC): Update accordingly.
+ 	* config/mips/mips.c: Update after above renaming.
+ 	* config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
+ 	* config/mips/vr4120-div.S: Renamed from vr4122-div.S.
+ 
+ 2004-04-13  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* c-opt.c (c_common_post_options): If this_input_filename is NULL,
+ 	increment errorcount and return false instead of true.
+ 
+ 2004-04-13  Uros Bizjak  <uros@kss-loka.si>:
+ 
+ 	* optabs.c (expand_twoval_unop): Reorder function arguments.
+ 	* builtins.c (expand_builtin_mathfn_3): Update calls to
+ 	expand_twoval_unop.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
+ 	and UNSPEC_TAN_TAN. Add missing comment.
+ 
+ 	* config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
+ 	patterns to implement fptan x87 instruction.
+ 	(tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
+ 	and tanl built-ins as inline x87 intrinsics. Define corresponding
+ 	peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
+ 	(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
+ 	x87's fptan insn.
+ 
+ 2004-03-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
+ 	for LABEL_REFs.
+ 
+ 	* defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
+ 	* doc/invoke.texi: Update to match.
+ 
+ 	* varasm.c (unlikely_text_section): Use assemble_align instead of
+ 	ASM_OUTPUT_ALIGN.  Use it in the correct place with an approximately
+ 	correct alignment argument.
+ 
+ 2004-04-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
+ 	after setting reg_last_reload_reg for optional output reloads.
+ 
+ 2004-04-12  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/altivec.h (vec_mergeh, vec_mergel):
+ 	Definition of these two macros are corrected by adding
+ 	matchine right paren.
+ 
+ 2004-04-12  Jonathan Larmour  <jifl@eCosCentric.com>
+ 
+ 	* fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
+ 
+ 2004-04-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (output_387_reg_move): New function.
+ 	* config/i386/i386-protos.h (output_387_reg_move): Prototype here.
+ 	* config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
+ 	*movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
+ 	*extendsfdf2_1,  *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
+ 	truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
+ 
+ 2004-04-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
+ 	TYPE_DECL.
+ 	* c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
+ 	* stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
+ 	* stor-layout.c (variable_size): Don't check for MINUS_EXPR.
+ 	Use skip_simple_arithmetic to find SAVE_EXPR.
+ 	(force_type_save_exprs, force_type_save_exprs_1): New functions.
+ 	* tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
+ 	Properly chain multiple pointers.
+ 	(copy_tree_r): Copy a TYPE_DECL.
+ 	* tree.c (variably_modified_type_p): Add some missing tests and
+ 	make some other minor changes.
+ 	* tree.h (force_type_save_exprs): New declaration.
+ 
+ 2004-04-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
+ 	Remove fall throughs.  Convert 0/x and 0%x into x&0 when x has
+ 	side-effects.  Don't convert x/1.0 into x if we honor signaling NaNs.
+ 	Convert x/-1.0 into -x if we don't honor signaling NaNs.  Convert
+ 	x/-1 into -x.  Optimize x%1 into x&0 if x has side-effects.  Optimize
+ 	x%-1 into 0 (or x&0 if x has side-effects).
+ 
+ 2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Document why a pattern is not
+ 	available.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
+ 	of floats on the E500.
+ 	(branch_positive_comparison_operator): Do not allow NE even on the
+ 	E500.
+ 
+ 2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Change
+ 	in_text_unlikely_section to in_unlikely_text_section.
+ 
+ 2004-04-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg):  Tweak
+ 	calling convention to allow a NULL_TREE to be returned.  Factor
+ 	sanity checks from callers, return NULL_TREE when appropriate.
+ 	(fold): Handle COMPOUND_EXPR operands of binary expressions
+ 	before COND_EXPR operands.  Use reorder_operands_p(a,b) to check
+ 	whether a op (b,c) can be rewritten as (b, a op c).  Simplify
+ 	calls to fold_binary_op_with_conditional_arg.
+ 
+ 2004-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/mips/iris5.h (current_section_flags):  Add
+ 	in_unlikely_executed_text and default case.
+ 
+ 2004-04-11  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
+ 	failure on solaris. Place ifdef HAVE_return around gen_ret call.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
+ 	HAVE_return and place it around the place where it is needed.
+ 
+ 2004-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
+ 	ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
+ 	and NORMAL_TEXT_SECTION_NAME.
+ 	(unlikely_text_section): Check targetm.have_named_sections
+ 	instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
+ 	instead of SECTION_FORMAT_STRING.
+ 	* config/mips/iris5.h (current_section_name): Add
+ 	in_unlikely_executed_text case and move the abort into the switch.
+ 	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
+ 	(NORMAL_TEXT_SECTION_NAME): Remove.
+ 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ 	(SECTION_FORMAT_STRING): Remove.
+ 	* defaults.h (SECTION_FORMAT_STRING): Remove.
+ 	* tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
+ 	(SECTION_FORMAT_STRING): Remove.
+ 
+ 2004-04-10  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (common_type): Prefer long long to long when same
+ 	precision.
+ 
+ 2004-04-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 14887
+ 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
+ 	mode argument.
+ 	* config/ia64/ia64.c (ia64_hpux_file_end): Check
+ 	TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
+ 
+ 2004-04-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (mode_signbit_p): New function to check whether
+ 	an RTX is an immediate constant that represents the most significant
+ 	bit of a given machine mode.
+ 	(simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
+ 	C is the sign bit.
+ 	(simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
+ 	when C2 is the sign bit.
+ 	(simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
+ 	is the sign bit.  Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
+ 	sign bit.
+ 
+ 2004-04-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
+ 	TYPE_MODE.
+ 
+ 2004-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
+ 	of TREE_READONLY for types.
+ 
+ 2004-04-09  Caroline Tice  <ctice@apple.com>
+ 
+ 	* basic-block.h (struct edge_def):  Add new field, crossing_edge.
+ 	(struct basic_block_def):  Add new field, partition.
+ 	(UNPARTITIONED, HOT_PARTITION, COLD_PARTITION):  New constant macro
+ 	definitions.
+ 	(partition_hot_cold_basic_blocks): Add extern function
+ 	declaration.
+ 	* bb-reorder.c (function.h, obstack.h, expr.h, regs.h):  Add four new
+ 	include	statements.
+ 	(N_ROUNDS): Increase the maximum number of rounds by 1.
+ 	(branch_threshold): Add array value for new round.
+ 	(exec_threshold): Add array value for new round.
+ 	(push_to_next_round_p): New function.
+ 	(add_unlikely_executed_notes): New function.
+ 	(find_rarely_executed_basic_blocks_and_crossing_edges): New function.
+ 	(mark_bb_for_unlikely_executed_section): New function.
+ 	(add_labels_and_missing_jumps): New function.
+ 	(add_reg_crossing_jump_notes): New function.
+ 	(fix_up_fall_thru_edges): New function.
+ 	(find_jump_block): New function.
+ 	(fix_crossing_conditional_branches): New function.
+ 	(fix_crossing_unconditional_branches): New function.
+ 	(fix_edges_for_rarely_executed_code): New function.
+ 	(partition_hot_cold_basic_blocks): New function.
+ 	(find_traces):  Add an extra round for partitioning hot/cold
+ 	basic blocks.
+ 	(find_traces_1_round): Add a parameter.  Modify to push all cold blocks,
+ 	and only cold blocks, into the last (extra) round of collecting traces.
+ 	(better_edge_p): Add a parameter.  Modify to favor non-crossing edges
+ 	over crossing edges.
+ 	(bb_to_key):  Add code to correctly identify cold blocks when
+ 	doing partitioning.
+ 	(connect_traces): Modify to connect all the non-cold traces first, then
+ 	go back and connect up all the cold traces.
+ 	(reorder_basic_blocks):  Add call to add_unlikely_executed_notes.
+ 	* cfg.c (entry_exit_blocks): Add initialization for partition field in
+ 	entry and exit blocks.
+ 	* cfgbuild.c (make_edges): Update current_function_has_computed_jump
+ 	if we are doing hot/cold partitioning.
+ 	* cfgcleanup.c (cfglayout.h): Add new include statement.
+ 	(try_simplify_condjump): Modify to not attempt on blocks with jumps
+ 	that cross section boundaries.
+ 	(try_forward_edges): Likewise.
+ 	(merge_blocks_move_predecessor_nojumps): Likewise.
+ 	(merge_blocks_move_successor_nojumps): Likewise.
+ 	(merge_blocks_move): Likewise.
+ 	(try_crossjump_to_edge): Modify to not attempt after we have done
+ 	the block partitioning.
+ 	(try_crossjump_bb): Modify to not attempt on blocks with jumps that
+ 	cross section boundaries.
+ 	(try_optimize_cfg): Likewise.
+ 	* cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
+ 	jumps that cross section boundaries.
+ 	* cfglayout.c (flags.h): Add new include statement.
+ 	(update_unlikely_executed_notes):  New function.
+ 	(fixup_reorder_chain):  Add code so when a new jumping basic block is
+ 	added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
+ 	updated appropriately.
+ 	(duplicate_insn_chain):  Add code to duplicate the new NOTE insn
+ 	introduced by this optimization.
+ 	* cfglayout.h (scan_ahead_for_unlikely_executed_note):  Add new
+ 	extern function declaration.
+ 	* cfgrtl.c (can_delete_note_p):  Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
+ 	list of notes that can be deleted.
+ 	(create_basic_block_structure):  Add initialization for partition field.
+ 	(rtl_can_merge_blocks):  Modify to test blocks for jumps that cross
+ 	section boundaries.
+ 	(try_redirect_by_replacing_jump):  Modify to not attempt on jumps that
+ 	cross section boundaries.
+ 	(commit_one_edge_insertion): Add code so newly created basic block
+ 	ends up in correct (hot or cold) section.  Modify to disallow
+ 	insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
+ 	(rtl_verify_flow_info_1):  Add code to verify that no fall_thru edge
+ 	crosses section boundaries.
+ 	(cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
+ 	cross section boundaries.
+ 	(force_nonfallthru_and_redirect): Modify to make sure new basic block
+ 	ends up in correct section, with correct notes attached.
+ 	* common.opt (freorder-blocks-and-partition):  Add new flag for this
+ 	optimization.
+ 	* dbxout.c (dbx_function_end):  Add code to make sure scope labels at
+ 	the end of functions are written into the correct (hot or cold)
+ 	section.
+ 	(dbx_source_file): Add code so writing debug file information
+ 	doesn't incorrectly change sections.
+ 	* defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
+ 	in partitioning hot/cold basic blocks into separate sections.
+ 	(SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
+ 	section partitioning.
+ 	(HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
+ 	conditional branches can span all of memory.
+ 	(HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
+ 	unconditional branches can span all of memory.
+ 	* final.c (scan_ahead_for_unlikely_executed_note):  New function.
+ 	(final_scan_insn):  Add code to check for NOTE instruction indicating
+ 	whether basic block belongs in hot or cold section, and to make sure
+ 	the current basic block is being written to the appropriate section.
+ 	Also added code to ensure that jump table basic blocks end up in the
+ 	correct section.
+ 	* flags.h (flag_reorder_blocks_and_partition):  New flag.
+ 	* ifcvt.c (find_if_case_1):  Modify to not attempt if conversion if
+ 	one of the branches has a jump that crosses between sections.
+ 	(find_if_case_2): Likewise.
+ 	(ifcvt): Modify to not attempt to mark loop exit edges after
+ 	hot/cold partitioning has occurred.
+ 	* opts.c (decode_options): Code to handle new flag,
+ 	flag_reorder_blocks_and_partition; also to turn it off if
+ 	flag_exceptions is on.
+ 	(common_handle_option): Code to handle new flag,
+ 	flag_reorder_blocks_and_partition.
+ 	* output.h (unlikely_text_section): New extern function declaration.
+ 	(in_unlikely_text_section): New extern function declaration.
+ 	* passes.c (rest_of_handle_stack_regs):  Add
+ 	flag_reorder_blocks_and_partition as an 'or' condition for calling
+ 	reorder_basic_blocks.
+ 	(rest_of_handle_reorder_blocks):  Add flag_reorder_blocks_and_partition
+ 	as an 'or' condition for calling reorder_basic_blocks.
+ 	(rest_of_compilation):  Add call to partition_hot_cold_basic_blocks.
+ 	* print-rtl.c (print_rtx): Add code for handling new note,
+ 	NOTE_INSN_UNLIKELY_EXECUTED_CODE
+ 	* rtl.c  (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
+ 	(REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
+ 	cross between section boundaries.
+ 	* rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE):  New note instruction,
+ 	indicating the basic block containing it belongs in the cold section.
+ 	(REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
+ 	between hot and cold sections.
+ 	* toplev.c (flag_reorder_blocks_and_partition):  Add code to
+ 	initialize this flag, and to tie it to the command-line option
+ 	freorder-blocks-and-partition.
+ 	* varasm.c (cfglayout.h):  Add new include statement.
+ 	(unlikely_section_label_printed):  New global variable, used for
+ 	determining when to output section name labels for cold sections.
+ 	(in_section):  Add in_unlikely_executed_text to enum data structure.
+ 	(text_section):  Modify code to use SECTION_FORMAT_STRING and
+ 	NORMAL_TEXT_SECTION_NAME macros.
+ 	(unlikely_text_section):  New function.
+ 	(in_unlikely_text_section):  New function.
+ 	(function_section):  Add code to make sure beginning of function is
+ 	written into correct section (hot or cold).
+ 	(assemble_start_function):  Add code to make sure stuff is written to
+ 	the correct section.
+ 	(assemble_zeros):  Add in_unlikely_text_section as an 'or' condition
+ 	to an if statement that was checking 'in_text_section'.
+ 	(assemble_variable):  Add 'in_unlikely_text_section' as an 'or'
+ 	condition to an if statement that was checking 'in_text_section'.
+ 	(default_section_type_flags_1):  Add check: if in cold section
+ 	flags = SECTION_CODE.
+ 	* config/darwin.c (darwin_asm_named_section):  Modify to use
+ 	SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
+ 	* config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
+ 	specifically for the i386.
+ 	(HAS_LONG_UNCOND_BRANCH):  Defined this macro specifically for the i386.
+ 	* config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
+ 	text string to something more informative.
+ 	(NORMAL_TEXT_SECTION_NAME): Add new definition.
+ 	(SECTION_FORMAT_STRING):  Add new definition.
+ 	* config/rs6000/rs6000.c (rs6000_assemble_integer):  Add
+ 	'!in_unlikely_text_section' as an 'and' condition to an if statement
+ 	that was already checking '!in_text_section'.
+ 	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
+ 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
+ 	sure these are properly defined for linux on ppc.
+ 	* doc/invoke.texi  (freorder-blocks-and-partition): Add documentation
+ 	for this new flag.
+ 	* doc/rtl.texi (REG_CROSSING_JUMP):  Add documentation for new
+ 	reg_note.
+ 	* doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
+ 	HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
+ 	these new macros.
+ 
+ 2004-04-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* function.c (gen_mem_addressof): When changing the RTX from a REG
+ 	to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
+ 
+ 2004-04-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/14888
+ 	* config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
+ 	truncxfdf2_noop): Provide dummy "fmov" implementations.
+ 
+ 2004-04-08  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* gcc.c (default_compilers): Add missing initializers.
+ 
+ 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
+ 	Return 1 if file was successfully mapped.
+ 
+ 2004-04-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR pch/13419
+ 	PR pch/14137
+ 	Radar #: 3315288
+ 	* doc/invoke.texi (Precompiled Headers): Suggest -o
+ 	to put an output file in a particular place.  Be more detailed
+ 	about which options affect PCH validity and which options
+ 	might not work.
+ 	* c-pch.c (pch_matching): New.
+ 	(MATCH_SIZE): New.
+ 	(struct c_pch_validity): New field 'match'.
+ 	(pch_init): Handle pch_matching.
+ 	(c_common_valid_pch): Check pch_matching.
+ 
+ 	* explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
+ 
+ 2004-04-08  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi (Precompiled Headers): Warn about known
+ 	problems.
+ 
+ 2004-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR c++/14808
+ 	* defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
+ 	to 1 if ASM_OUTPUT_DEF is defined.
+ 	* doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
+ 	* config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
+ 	Set to non-zero iff not a one_only decl.
+ 
+ 2004-04-08  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* arm.h (CLASS_LIKELY_SPILLED_P): Define.
+ 
+ 2004-04-08  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
+ 	PROMOTE_FOR_CALL_ONLY.
+ 	* config/arm/arm-protos.h (arm_function_value): Declare.
+ 	* config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+ 	(TARGET_PROMOTE_PROTOTYPES): Return false.
+ 	(arm_function_value): New function.
+ 	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
+ 	(FUNCTION_VALUE): Call arm_function_value.
+ 	* config/cris/cris.h (PROMOTE_MODE): Rename ...
+ 	(PROMOTE_FUNCTION_MODE): ... to this.
+ 	(PROMOTE_FOR_CALL_ONLY): Remove.
+ 	* config/mmix/mmix.h: Likewise.
+ 	* config/s390/s390.h: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.c: Update comments about PROMOTE_MODE.
+ 	* doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
+ 	(TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
+ 	(PROMOTE_FOR_CALL_ONLY): Remove.
+ 
+ 2004-04-08  Joel Sherrill <joel@oarcorp.com>
+ 
+ 	PR ada/14538
+ 	* ada/5rosinte.adb: Remove fake mprotect() body.
+ 	* ada/5rosinte.ads: Add SA_SIGINFO.
+ 	* ada/5rtpopsp.adb: Rewrite to use new interface.
+ 	* ada/init.c: Reorder so the simple single OS conditional __rtems__
+ 	is tested before more complex ones which mix UNIX and embedded
+ 	systems in the conditional.
+ 
+ 2004-04-08  Joel Sherrill  <joel@oarcorp.com>
+ 
+ 	PR ada/14665
+ 	* ada/osint.adb (Find_Program_Name): Rework to properly handle
+ 	filenames which end in .exe or have versioning suffixes like VMS.
+ 
+ 2004-04-08  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/10129
+ 	* config/darwin.c (darwin_encode_section_info): When the decl has
+ 	a DECL_INITIAL, it is only defined also when it is not a common.
+ 
+ 2004-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
+ 	(fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
+ 
+ 2004-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* config/ia64/ia64.c (ia64_encode_section_info): Don't prod
+ 	global register variables.
+ 
+ 2004-04-07  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
+ 	rpc_xdr_lvalue_cast_b): New fixes.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/rpc/xdr.h: Add new tests.
+ 
+ 2004-04-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
+ 	to power4 and power5 entries.
+ 
+ 2004-04-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-common.h (pending_lang_change): Mark for PCH.
+ 
+ 2004-04-07  Caroline Tice  <ctice@apple.com>
+ 
+ 	* gcc.c (main): Move 'break' in main loops (on an error)
+ 	to wait until error processing has occurred.
+ 
+ 2004-04-06  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Stop changing enable_threads midstream.
+ 	Replace uses of enable_threads_flag with enable_threads.
+ 	* configure.ac: Replace uses of enable_threads_flag with
+ 	enable_threads.  Improve autoconf quotation in one place.
+ 	* configure: Regenerate.
+ 
+ 2004-04-06  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* builtins.c: Implement support for sincos function.
+ 	(expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
+ 	BUILT_IN_COS{,F,L}.
+ 	(expand_builtin_mathfn_3): New function.
+ 	(expand_builtin): Expand BUILT_IN_SIN{,F,L} and
+ 	BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
+ 	flag_unsafe_math_optimization is set.
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_sincos.
+ 	(sincos_optab): Define corresponding macro.
+ 
+ 	* optabs.c (init_optabs): Initialize sincos_optab.
+ 	(expand_twoval_unop): New function.
+ 
+ 	* genopinit.c (optabs): Implement sincos_optab using sincos?f3
+ 	patterns.
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
+ 	and UNSPEC_SINCOS_SIN.
+ 
+ 	* config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
+ 	sincosxf3): New patterns to implement sincos, sincosf and sincosl
+ 	built-ins as inline x87 intrinsics. Define splits for
+ 	sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
+ 	cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
+ 	sincos patterns.
+ 	(sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
+ 	(cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
+ 
+ 	(UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
+ 	x87's fsincos insn.
+ 
+ 2004-04-06  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR 14467
+ 	* config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
+ 
+ 2004-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* doc/install.texi: Update HP-UX 11 installation procedure.
+ 
+ 2004-04-06  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* doc/sourcebuild.texi: Remove obsolete contraint on testcases.
+ 
+ 2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
+ 	when the TLS address is generated by a function call.
+ 	* config/sh/sh.md (tls_global_dynamic): Use a call expression.
+ 	(tls_local_dynamic): Likewise.
+ 
+ 2004-04-05  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree.c (reconstruct_complex_type): Use TYPE_READONLY
+ 	and TYPE_VOLATILE.
+ 
+ 2004-04-05  Caroline Tice  <ctice@apple.com>
+ 
+ 	* gcc.c (combine_flag): New global variable, for new driver option.
+ 	(struct compiler): Add two new fields, to be used when
+ 	combining multiple input files in a single pass (IMA).
+ 	(default_compilers):  Add values for the new fields to all
+ 	compiler entries. Modify the "@c" compiler entry for doing IMA
+ 	properly with "-save-temps" and the "combine" flag.
+ 	(option_map):  Add new driver option, "--combine", to tell driver
+ 	to pass multiple input files to compiler at one time.
+ 	(have_o_argbuf_index): New global variable.
+ 	(store_arg): Modify to assign value to have_o_argbuf_index.
+ 	(struct infile):  Add three new fields, to help with IMA.
+ 	(display_help): Add help for new "combine" option.
+ 	(process_command): Remove local variable have_o; add code to check
+ 	for new "combine" option; remove assignment to combine_inputs.
+ 	(do_spec_1):  Modify to deal with IMA better.
+ 	(main): Make variable 'lang_n_infiles' local to entire function
+ 	rather than to a single block.  Use flag combine_flag to
+ 	determine whether to do IMA or not; Modify loop initializing
+ 	infiles to deal properly with linker files.
+ 	Add code for doing preprocessing in presence of
+ 	IMA with "-save-temps" flag.  Modify "main" loop to handle
+ 	multiple input files, in multiple languages, with or without
+ 	preprocessing,  gracefully.
+ 	* toplev.c (set_src_pwd): Modify to not complain if attempting to
+ 	re-set it to same directory it's previously been set to (avoid
+ 	irritating, meaningless warning messages when doing IMA with
+ 	save-temps).
+ 	* doc/invoke.texi: Add "-combine" to list of Overall Options;
+ 	remove documentation about IMA that is no longer accurate; Add
+ 	documentation explaining what "-combine" does.
+ 	* ada/lang-specs.h: Add initialization values for new fields in
+ 	"struct compiler".
+ 	* cp/lang-specs.h: Likewise.
+ 	* f/lang-specs.h: Likewise.
+ 	* java/lang-specs.h: Likewise.
+ 	* objc/lang-specs.h: Likewise.
+ 	* treelang/lang-specs.h: Likewise.
+ 
+ 2004-04-05  David Edelsohn
+ 
+ 	* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
+ 	symbol handling.
+ 
+ 2004-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR optimization/13424 (hppa), bootstrap/14462, c/14828
+ 	* pa.md: Use replace_equiv_address to retain the attributes of the
+ 	memory operands used in the split and peephole2 patterns for optimizing
+ 	the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
+ 
+ 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* c-decl.c (build_compound_literal): Use TYPE_READONLY.
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ 	* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
+ 	* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
+ 	PARM_DECL.
+ 	* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
+ 	for a type.
+ 	* print-tree.c (print_node): Properly handle side-effects, readonly,
+ 	and constant flags.
+ 	* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
+ 	and TREE_CONSTANT if not a type.
+ 	* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
+ 	(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
+ 	(NON_TYPE_CHECK): New macro.
+ 	(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
+ 
+ 2004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
+ 	to DWARF2_DEBUG unconditionally.
+ 	(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
+ 
+ 2004-04-04  Ian Lance Taylor  <ian@wasabisystems.com>
+ 	    Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR target/14548
+ 	* config.host: Set the shell variable host_can_use_collect2.
+ 	Set it to yes by default, and to no for alpha*-dec-*vms*,
+ 	i[34567]86-*-mingw32*, and powerpc-*-beos*.
+ 	* configure.ac: Set and substitute the shell variable collect2.
+ 	Give an error if use_collect2 is yes and host_can_use_collect2 is
+ 	no.
+ 	* Makefile.in (COLLECT2): Rename from USE_COLLECT2.  Change all
+ 	uses.  Initialize to @collect2@.
+ 	(STAGESTUFF): Remove $(USE_COLLECT2).
+ 	* config/alpha/x-vms (USE_COLLECT2): Don't set.
+ 	* config/i386/t-mingw32 (USE_COLLECT2): Likewise.
+ 	* config/rs6000/t-beos (USE_COLLECT2): Likewise.
+ 	* config/pa/t-pa64: Remove commented out USE_COLLECT2.
+ 	* configure: Regenerate.
+ 
+ 2004-04-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Constant fold
+ 	DIV, MOD, UDIV and UMOD using div_and_round_double.
+ 
+ 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/14804
+ 	* varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
+ 	RECORD_TYPEs.
+ 
+ 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-mabi=o64): Create link to O64 ABI
+ 	documentation.
+ 
+ 2004-04-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cse.c (cse_insn): Correct usage of simplify_replace_rtx when
+ 	updating the REG_EQUAL note on an insn's libcall_insn.
+ 
+ 2004-04-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* df.h: Tidy up whitespace in the definitions of the DF_ flags.
+ 
+ 2004-04-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
+ 	with reorder_operands_p.
+ 
+ 2004-04-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* md.texi (vec_set, vec_extract, vec_init): Document.
+ 
+ 2004-04-02  Gabor Loki <loki@inf.u-szeged.hu>
+ 
+        * opts.c (decode_options): Do function inlining with very small
+        max-inline-insns-* parameters when optimizing for size.
+ 
+ 2004-04-02  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* config/i386/i386.h (TARGET_NOCONA): New macro.
+ 	(TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
+ 	(processor_type): Add PROCESSOR_NOCONA.
+ 
+ 	* config/i386/i386.md (cpu): Add nocona to the attribute values.
+ 
+ 	* config/i386/i386.c (nocona_cost): New variable.
+ 	(m_NOCONA): New macro.
+ 	(x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
+ 	x86_branch_hints, x86_use_sahf, x86_single_stringop,
+ 	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
+ 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
+ 	x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
+ 	x86_decompose_lea, x86_arch_always_fancy_math_387,
+ 	x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
+ 	x86_ext_80387_constants, x86_four_jump_limit):
+ 	(override_options): Add nocona_cost to processor_target_table.
+ 	Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
+ 	(incdec_operand): Prevent inc/dec generation for Nocona too.
+ 	(ix86_issue_rate): Add PROCESSOR_NOCONA.
+ 
+ 2004-04-01  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* rtlanal.c (find_reg_note): Manually
+ 	unswitch the loop.
+ 
+ 2004-04-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* genemit.c (gen_split): Change prototype of generated code.
+ 	* genrecog.c (write_action): Adjust prototype for and calls to
+ 	gen_split_*.
+ 	* gensupport.c (struct queue_elem): Add split field.
+ 	(queue_pattern): Return a value.  Clear the split field.
+ 	(process_rtx): Maintain an association between an insn and the
+ 	split generated from it for a define_insn_and_split.
+ 	(process_one_cond_exec): Generate a new split for a
+ 	define_insn_and_split.
+ 	* config/arm/arm-protos.h (arm_split_constant): Add insn
+ 	parameter.
+ 	(emit_constant_insn): New function.
+ 	(arm_gen_constant): Use it.
+ 	* config/arm/arm.md: Adjust calls to arm_split_constant.
+ 
+ 2004-04-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c: Add overall comment.
+ 	(cgraph_inline_hash): New global variable.
+ 	(cgraph_create_node): Break out from ...
+ 	(cgraph_node): ... here.
+ 	(cgraph_edge): New function.
+ 	(cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
+ 	(cgraph_remove_edge): Accept edge, intead of source and destination.
+ 	(cgraph_redirect_edge_callee): New.
+ 	(cgraph_remove_node): Update all new datastructures.
+ 	(cgraph_record_call, cgraph_remove_call): Kill.
+ 	(dump_cgraph_node): Break out from ... ; dump new datastructures.
+ 	(dump_cgraph): ... here.
+ 	(cgraph_function_possibly_inlined_p): Use new hashtable.
+ 	(cgraph_clone_edge, cgraph_clone_node): New.
+ 	* cgraph.h: Include hashtab.h
+ 	(struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
+ 	fields, add inlined_to pointer.
+ 	(cgraph_node): Add pointer to next_clone.
+ 	(cgraph_remove_edge, cgraph_create_edge): Update prototype.
+ 	(cgraph_remove_call, cgraph_record_call): Kill.
+ 	(cgraph_inline_hash): Declare.
+ 	(dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
+ 	cgraph_redirect_edge_callee): Declare.
+ 	(cgraph_create_edges, cgraph_inline_p): Update prorotype.
+ 	(cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
+ 	cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
+ 	* cgraphunit.c: Add overall comment.
+ 	(cgraph_optimize_function): Kill.
+ 	(cgraph_assemble_pending_functions): Do not assemble inline clones.
+ 	(cgraph_finalize_function): Update call of cgraph_remove_node
+ 	(record_call_1): Record call sites.
+ 	(cgraph_create_edges): Accept node instead of decl argument.
+ 	(error_found): New static variable.
+ 	(verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
+ 	(cgraph_analyze_function): Update for new datastructures.
+ 	(cgraph_finalize_compilation_unit): Plug memory leak.
+ 	(cgraph_optimize_function): Kill.
+ 	(cgraph_expand_function): Do not use cgraph_optimize_function.
+ 	(INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
+ 	cgraph_inlined_callees): Kill.
+ 	(cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
+ 	clones.
+ 	(estimate_growth): Simplify.
+ 	(cgraph_clone_inlined_nodes): New function.
+ 	(cgraph_mark_inline_edge): Re-implement.
+ 	(cgraph_mark_inline): Likewise.
+ 	(cgraph_check_inline_limits): Simplify.
+ 	(cgraph_recursive_inlining_p): New.
+ 	(update_callee_keys): Break out from ...
+ 	(cgraph_decide_inlining_of_small_functions): ... here; simplify.
+ 	(cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
+ 	Likewise.
+ 	(cgraph_expand_all_functions):  Remove inline clones from the ordered
+ 	list.
+ 	(cgraph_preserve_function_body_p): New predicate.
+ 	(cgraph_optimize): Verify cgraph.
+ 	* function.h (struct function): Add fields saved_tree/saved_args.
+ 	* timevar.def (TV_CGRAPH_VERIFY): Use verifier.
+ 	* toplev.c (rest_of_compilation): Do not free cfun.
+ 	* tree-inline.c: Include function.h
+ 	(struct inline_data): Add saving_p field; replace decl/current_decl by
+ 	node/current_node.
+ 	(insert_decl_map): New function.
+ 	(copy_body_r): Handle saving; update cgraph datastructure.
+ 	(copy_body): Handle recursive inlining.
+ 	(initialize_inlined_parameters): Likewise.
+ 	(expand_call_inline): Propagate node attributes; update cgraph.
+ 	(optimize_inline_calls): Verify that datastructure still match.
+ 	(save_body): New function.
+ 	* tree-inline.h (save_body): New.
+ 	* tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
+ 	* langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
+ 	* langhooks.c (lang_hooks): Add update_decl_after_saving.
+ 
+ 2004-04-01  Serge Belyshev  <1319@bot.ru>
+ 
+ 	PR target/14702
+ 	* config/i386/i386.md: fix source operand constraints in
+ 	mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
+ 
+ 2004-04-01  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+ 
+ 	* fold-const.c (folda): Preserve types of comparisons.
+ 
+ 2004-04-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (backend_init): Move init_optimization_passes call ...
+ 	(lang_dependent_init): ... here.
+ 
+ 2004-04-01  Alan Modra  <amodra@bigpond.net.au>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
+ 	-lgcc --as-needed -lgcc_s --no-as-needed by default.
+ 	* configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
+ 	* configure: Rebuilt.
+ 	* config.in: Rebuilt.
+ 	* Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
+ 	(stage2-start, stage3-start, stage4-start): Likewise.
+ 	(stageprofile-start, stagefeedback-start): Likewise.
+ 
+ 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
+ 	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
+ 	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
+ 	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
+ 	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
+ 	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
+ 	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
+ 	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
+ 	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
+ 	* config/sparc/t-linux: Removed.
+ 
+ 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/14755
+ 	* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
+ 	"bitfld++ == const" to "++bitfld == const + incr" transformations.
+ 
+ 2004-04-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
+ 	* stor-layout.c (layout_decl): Likewise.
+ 	* tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
+ 	* fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
+ 	* print-tree.c (print_node): Handle various used of unsigned_flag.
+ 	* tree.def (BIT_FIELD_REF): Update comment.
+ 	* tree.h (TREE_UNSIGNED): Deleted.
+ 	(DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
+ 
+ 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
+ 	Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
+ 	* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
+ 	* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
+ 	* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
+ 	* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
+ 	* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
+ 	* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
+ 	* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
+ 	* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
+ 	REAL_TYPE, not INTEGER_TYPE.
+ 	(layout_type, case VECTOR_TYPE): Simplify code.
+ 	* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
+ 	* tree.h: Update comments.
+ 	(STRIP_NOPS): Use TYPE_UNSIGNED.
+ 	(TYPE_UNSIGNED): New macro.
+ 	(TYPE_TRAP_SIGNED): Remove now redundant check.
+ 	(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
+ 
+ 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (put_var_into_stack): Properly set orig_reg for indirect.
+ 
+ 2004-03-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
+ 	Add darwin-fpsave.asm, darwin-vecsave.asm,
+ 	and darwin-world.asm.
+ 	(TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
+ 	as the asm files contain altivec instructions.
+ 	* config/rs6000/darwin-fpsave.asm: New file.
+ 	* config/rs6000/darwin-vecsave.asm: New file.
+ 	* config/rs6000/darwin-world.asm: New file.
+ 
+ 2004-03-31  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gengtype-yacc.y (option, stringseq): Add missing
+ 	terminating semicolon.
+ 
+ 2004-03-30  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
+ 	tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
+ 	tls_dtprel_ha_32, tls_dtprel_ha_64,
+ 	tls_dtprel_lo_32, tls_dtprel_lo_64,
+ 	tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
+ 	tls_tprel_ha_32, tls_tprel_ha_64,
+ 	tls_tprel_lo_32, tls_tprel_lo_64,
+ 	tls_got_tprel_32, tls_got_tprel_64,
+ 	tls_tls_32, tls_tls_64): Replace register_operand with
+ 	gpc_reg_operand.
+ 
+ 2004-03-30  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
+ 	*ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
+ 	*ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
+ 	*ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
+ 	*ctrdi_internal6): Replace register_operand with
+ 	nonimmediate_operand.
+ 
+ 2004-03-29  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* fold-const.c (fold): Reassociate multiply expression
+ 	with an adjacent non-multiply expression to use
+ 	architecture's multiply-add instruction.
+ 
+ 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* gengtype.c (create_option): New function.
+ 	* gengtype.h: Prototype it.
+ 	* gengtype-yacc.y (stringseq): New rule.
+ 	(option): Use create_option.  Add new bare ID production.  Use
+ 	stringseq, not STRING directly.
+ 
+ 	* alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
+ 	* dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
+ 	* varray.h, config/alpha/alpha.c:
+ 	Use new shorter form of GTY markers.
+ 
+ 	* doc/gty.texi: Rewrite.
+ 
+ 2004-03-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/darwin.c (machopic_function_base_name):
+ 	Remove current_name and getting the name of the
+ 	current function.
+ 
+ 2004-03-30  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.md (thumb_jump): Reduce the backward branch
+ 	range, and increase the forward branch range, to allow for
+ 	the fact that the PC will be off by 4.
+ 
+ 2004-03-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
+ 
+ 2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (output_vec_const_move):
+ 	Find all cases of EASY_VECTOR_15_ADD_SELF.
+ 	(easy_vector_constant_add_self): Accept
+ 	all vector constant loadable by vsplt* and vadd*.
+ 	(easy_vector_same): Use easy_vector_splat_const.
+ 	(easy_vector_const): Use easy_vector_splat_const.
+ 	(easy_vector_splat_const): New function.
+ 	(gen_easy_vector_constant_add_self): New function.
+ 
+ 	* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
+ 	New prototype.
+ 
+ 	* config/rs6000/altivec.md (movv4si splitter): Change to
+ 	emit move insn with halfed vector constant.
+ 	(*movv8hi splitter): Likewise.
+ 	(*movv16qi splitter): Likewise.
+ 
+ 2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	PR 11591
+ 	* config/rs6000/rs6000.c (rs6000_legitimate_address):
+ 	Allow any offset to argument pointer in no-strict case.
+ 
+ 2004-03-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (backend_init): Add missing call to inint_optimization_passes.
+ 	* passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
+ 	dump file in non-unit-at-a-time mode.
+ 
+ 2004-03-29  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h: Correct #ifdef to test for
+ 	HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
+ 	HAVE_AS_MUL_BUG_ABORT_OPTION.
+ 
+ 2004-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
+ 	the address inside the old RTL.
+ 
+ 2004-03-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
+ 	(struct c_binding, struct c_scope): Add chain_next
+ 	attributes to GTY markers.
+ 	(struct lang_identifier, struct lang_tree_node): Define
+ 	here...
+ 	* c-tree.h: ... not here.  No longer need to declare struct
+ 	c_binding either.  Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
+ 	* c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
+ 	to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
+ 
+ 	PR 14734, 11944
+ 	* c-decl.c (get_parm_info): If error_mark_node is encountered
+ 	in the bindings chain, unbind and discard it; don't abort.
+ 
+ 2004-03-28  Olga Golovonevsky <olga@il.ibm.com>
+ 	    Dorit Naishlos <dorit@il.ibm.com>
+ 
+ 	* config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
+ 	one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
+ 
+ 2004-03-28  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
+ 	(m68hc11_attribute_table): New attribute "page0" to mark a global
+ 	variable as being allocated from within page0 section.
+ 	(m68hc11_encode_label): New function.
+ 	(m68hc11_strip_name_encoding): New function.
+ 	(m68hc11_page0_symbol_p): New function.
+ 	(m68hc11_indirect_p): Accept global variables marked in page0.
+ 	(m68hc11_encode_section_info): Lookup "page0" attribute.
+ 
+ 	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
+ 	represents access to page0 variables.
+ 
+ 	* config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
+ 	("*logicalsi3_silshl16_zext"): Likewise.
+ 	("*ashldi3_const32"): Likewise.
+ 	(peephole2 ashift): Likewise.
+ 
+ 2004-03-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-tree.h (C_DECL_REGISTER): New.
+ 	* c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
+ 	finish_decl, grokdeclarator, get_parm_info), c-typeck.c
+ 	(build_array_ref, c_mark_addressable): Set and use it.
+ 	* c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
+ 	Allow structures with volatile fields to be declared register.
+ 	Don't check TREE_ADDRESSABLE before warning about taking address
+ 	of register.
+ 	* c-decl.c (finish_decl): Don't allow structures with volatile
+ 	fields to be placed in named register.
+ 	* doc/trouble.texi: Remove reference to structures with volatile
+ 	fields in registers.
+ 
+ 2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* function.c (thread_prologue_and_epilogue): Move
+ 	NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
+ 	before the epilogue.
+ 
+ 2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expr.c (store_constructor): Use gen_int_mode to correctly
+ 	sign-extend CONST_INT value.
+ 
+ 2004-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
+ 	* builtins.def (DEF_C94_BUILTIN): New.  Add wctype builtins.
+ 	* doc/extend.texi: Likewise.
+ 
+ 2004-03-26  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
+ 	  with TYPE_ORIG_SIZE_TYPE.
+ 
+ 2004-03-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	PR 14219
+ 	* c-typeck.c (build_binary_op): Do not allow comparisons of
+ 	vectors.
+ 
+ 2004-03-26  James A. Morrison  <ja2morri@uwaterloo.ca>
+ 
+ 	* config.gcc: Remove sparc-tti-*.
+ 	* config/sparc/pbd.h: Delete.
+ 
+ 	* config/sparc/sol2.h: Remove note about Sun OS 4.x.
+ 	* config/sparc/aout.h: Likewise.
+ 
+ 	* config/sparc/sparc.h: Remove if 0'd code.
+ 	* config/sparc/sparc.md (call): Remove if 0'd code.
+ 	(call_value): Likewise.
+ 	(nonlocal_goto): Likewise.
+ 	(unimp_insn): Delete.
+ 
+ 2004-03-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
+ 	BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
+ 
+ 2004-03-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 11527
+ 	* c-typeck.c (pop_init_level): Emit pending init elements earlier
+ 	rather than later.
+ 
+ 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin): Fix error in last change.
+ 
+ 2004-03-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h: Formatting fix.
+ 
+ 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def: Add ctype builtins.
+ 	* doc/extend.texi: Likewise.
+ 
+ 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin): Add new builtin optimizations for
+ 	sqrt and/or cbrt.
+ 	* fold-const.c (fold): Likewise.
+ 
+ 2004-03-25  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
+ 	(rs6000_sched_groups): New variable.
+ 	(processor_target_table): Add power5.
+ 	(rs6000_override_options): Set rs6000_sched_insert_nops,
+ 	rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
+ 	from rs6000_sched_groups.
+ 	(output_cbranch): Use rs6000_always_hint.
+ 	(rs6000_variable_issue): Use rs6000_sched_groups.
+ 	(rs6000_adjust_cost): Add CPU_POWER5.
+ 	(is_microcoded_insn): Use rs6000_sched_groups.
+ 	(is_dispatch_slot_restricted): Use rs6000_sched_groups.
+ 	Return 2 for POWER5 cracked instructions.
+ 	(is_cracked_insn): Use rs6000_sched_groups.
+ 	(is_branch_slot_insn): Use rs6000_sched_groups.
+ 	(rs6000_issue_rate): Add CPU_POWER5.
+ 	(rs6000_sched_finish): Use rs6000_sched_groups.
+ 	(rs6000_rtx_costs): Add PROCESSOR_POWER5.
+ 	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
+ 	(DEFAULT_SCHED_COSTLY_DEP): Delete.
+ 	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
+ 	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
+ 	* config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
+ 	* config/rs6000/power5.md: New file.
+ 	* doc/invoke.texi: Add power5 option.
+ 
+ 2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
+ 	config/arm/arm.c, objc/objc-act.c: Fix comment typos.
+ 	* doc/invoke.texi: Fix a typo.
+ 
+ 2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR optimization/9707.
+ 	* stmt.c (emit_case_nodes): Emit equality comparisons instead
+ 	of recursing if both children are single-valued cases with no
+ 	children.
+ 
+ 2004-03-25  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (vfp_print_multi): Remove.
+ 	(arm_output_fldmx): New function.
+ 	(vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
+ 	(arm_expand_prologue): Update to match.
+ 	(arm_get_vfp_saved_size): New Function.
+ 	(arm_get_frame_offsets): Use it.
+ 	(arm_output_epilogue): Use new functions.
+ 
+ 2004-03-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
+ 	(reg_known_value, reg_known_value_size): Likewise; make static.
+ 	(reg_known_equiv_p): Make static.
+ 	(clear_reg_alias_info): Update for new indexing.
+ 	(get_reg_known_value, set_reg_known_value): New.
+ 	(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
+ 	(canon_rtx): Use them.
+ 	(init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
+ 	Don't play queer offsetting games with reg_known_value and
+ 	reg_known_equiv_p.
+ 	(end_alias_analysis): Free reg_known_value with gc.
+ 	* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
+ 	* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
+ 	(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
+ 	functions instead.
+ 
+ 2004-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
+ 	config/i386/mmintrin.h: Update copyright.
+ 
+ 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Add --enable-werror-always (for top level bootstrap
+ 	support).
+ 	* configure: Regenerate.
+ 
+ 2004-03-24  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (objc_comptypes): Treat comparisons
+ 	between 'Class' and '<class> *' as explicitly invalid.
+ 
+ 2004-03-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/invoke.texi (-frename-registers): Add enabled at -O3.
+ 	(-fprofile-values): Add enabled with profile-{generate,use}.
+ 	(-fvpt): Same.
+ 	(-ftracer): Add enabled with profile-use.
+ 	(-funit-at-a-time): Add enabled at -O2,-O3.
+ 	(-funroll-loops): Add enabled with profile-use.
+ 	(-funswitch-loops): Add enabled with profile-use.  Remove duplicates.
+ 	(max-gcse-passes): Mention default.
+ 	(max-cse-path-length): Mention default.
+ 
+ 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in (STRICT2_WARN): Reorder.
+ 	* configure.ac: Check for -Wold-style-definition, and use it
+ 	in strict1_warn if it's available.
+ 	* configure: Regnerate.
+ 
+ 2004-03-24  Paul Brook  <paul@nowt.org>
+ 
+ 	* config.gcc <arm>: Add --with-abi=
+ 	* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
+ 	thumb_far_jump_used): Remove prototypes.
+ 	(arm_needs_doubleword_align): Add prototype.
+ 	(thumb_compute_initial_elimination_offset): Ditto.
+ 	* config/arm/arm.c (arm_get_frame_offsets): New function.
+ 	(use_return_insn, output_return_instruction, arm_output_epilogue,
+ 	arm_output_function_epilogue, arm_compute_initial_elimination_offset,
+ 	arm_expand_prologue, thumb_expand_epilogue): Use it.
+ 	(arm_abi, target_abi_name, all_arm_abis): New variables.
+ 	(arm_override_options): Set them.  Set structure padding for AAPCS.
+ 	(arm_return_in_memory): Update ABI check.
+ 	(arm_init_cumulative_args): Initialize can_split.
+ 	(arm_needs_doubleword_align): New function.
+ 	(arm_function_arg): Don't split args after pushing to stack. Handle
+ 	doubleword/even reg alignment.
+ 	(arm_va_arg): Handle all doubleword aligned args.
+ 	(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
+ 	on ABI, not CPU.
+ 	(arm_compute_save_reg0_reg12_mask): Fix comment.
+ 	(thumb_get_frame_size, thumb_get_frame_size): Remove.
+ 	(thumb_jump_far_used_p): Remove superfluous argument.  Return save
+ 	value for alignment.
+ 	(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
+ 	to match.
+ 	(thumb_compute_initial_elimination_offset): New function.
+ 	(thumb_expand_prologue): Use arm_get_frame_offsets.  Remove
+ 	unneccessary rounding.
+ 	* config/arm/arm.h (target_abi_name): Declare.
+ 	(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
+ 	arm_abi_type, ARM_DEFAULT_ABI): Define.
+ 	(ARM_FLAG_ATPCS): Remove.
+ 	(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
+ 	(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
+ 	(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
+ 	TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
+ 	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
+ 	Contitionalize on ABI, not CPU.
+ 	(struct arm_stack_offsets): Define.
+ 	(struct machine_function): Add stack_offsets.  Remove frame_size.
+ 	(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
+ 	pushed.
+ 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
+ 	doubleword alignment.
+ 	(THUMB_INITIAL_ELIMINATION_OFFSET,
+ 	ARM_INITIAL_ELIMINATION_OFFSET): Remove.
+ 	(INITIAL_ELIMINATION_OFFSET): Call functions directly.
+ 	* config/arm/arm.md (align_8): Enable for all targets.
+ 	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
+ 	(ARM_DEFAULT_ABI): Define.
+ 	* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
+ 	-mstructure-size-boundary.
+ 
+ 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Check for -Wno-variadic-macros; don't use
+ 	-pedantic (in stage 1 or a simple 'make all') unless it's available,
+ 	and if it's available, use it.  Also, clean up check for
+ 	-Wno-long-long.
+ 	* configure: Regenerate.
+ 
+ 2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
+ 	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
+ 	(MULTILIB_DEFAULTS): Use it.
+ 	(MIPS_CPU_STRING_DEFAULT): Remove.
+ 	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
+ 	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
+ 	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
+ 	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
+ 	march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
+ 	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
+ 	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
+ 	accordingly.
+ 
+ 2004-03-24  DJ Delorie  <dj@redhat.com>
+ 	    Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
+ 	(TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
+ 	(ASM_SPEC): Pass down -mfix-vr4122-bugs.
+ 	* config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
+ 	in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
+ 	(mips_init_libfuncs): Use special functions for divsi3 and modsi3
+ 	if TARGET_FIX_VR4122.
+ 	* config/mips/mips.md (define_attr length): Account for nops inserted
+ 	after macc and dmult when using -mfix-vr4122-bugs.
+ 	(umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
+ 	* config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
+ 	LIB2FUNCS_EXTRA.  Add config/mips/vr4122-div.S.
+ 	* config/mips/vr4122-div.S: New file.
+ 	* doc/invoke.texi: Document -mfix-vr4122-bugs.
+ 
+ 2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (PROCESSOR_R4130): New processor_type.
+ 	(TARGET_MIPS4130): New macro.
+ 	(ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
+ 	* config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
+ 	(override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
+ 	with PROCESSOR_R4130.
+ 	* config/mips/mips.md (define_attr cpu): Add r4130.
+ 	* doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
+ 
+ 2004-03-24  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 	    Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
+ 
+ 2004-03-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR preprocessor/14438
+ 	* cpplib.c (do_pragma): Remove line_change call after pragma
+ 	handler.
+ 
+ 2004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* doc/extend.texi (ARM Built-in Functions): Replace with correct
+ 	declarations.
+ 
+ 2004-03-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
+ 	if flag_unsafe_math_optimizations.
+ 	* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
+ 	and TARGET_80387 expand using truncdfsf2_noop pattern.
+ 	(truncxfsf2): Likewise using truncxfsf2_noop.
+ 	(truncxfdf2): Likewise using truncxfdf2_noop.
+ 	(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
+ 
+ 2004-03-23  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* hooks.c (hook_constcharptr_tree_null): New hook.
+ 	* hooks.h (hook_constcharptr_tree_null): New prototype.
+ 	* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
+ 	* target.h (mangle_fundamental_type): New target hook.
+ 	* config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
+ 	target hook at rs6000_mangle_fundamental_type.
+ 	(rs6000_mangle_fundamental_type): New function.
+ 	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
+ 
+ 2004-03-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 12267, 12391, 12560, 13129, 14114, 14133
+ 	* c-tree.h: Forward declare struct c_binding.  Declare
+ 	c_override_bindings_to_false.  Update prototypes.
+ 	(struct lang_identifier): Update comments.  Change fields to be
+ 	struct c_binding *.
+ 	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
+ 	(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
+ 	(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
+ 	(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
+ 	* c-common.h: Update prototypes.
+ 	* c-decl.c (struct c_scope): Update commentary.  Remove names,
+ 	names_last, parms, parms_last, tags, and shadowed fields.  Add
+ 	bindings and depth fields.
+ 	(scope_freelist): Move to more appropriate location.
+ 	(c_print_identifier): Update for changes to struct lang_identifier.
+ 	(objc_mark_locals_volatile): Update for new bindings structures.
+ 	(global_bindings_p): Honor c_override_global_bindings_to_false.
+ 	(pushlevel): Rename to push_scope; take no arguments; use the
+ 	scope_freelist; initialize scope->depth and check for overflow.
+ 	(poplevel): Rename to pop_scope; totally rewritten for new bindings
+ 	structures.
+ 	(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
+ 	C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
+ 	Improve some commentary.  Adjust handling of forward parm decls.
+ 	(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
+ 	Preserve C_DECL_IN_EXTERNAL_SCOPE.
+ 	(warn_if_shadowing): Correct indentation.  Improve diagnostics.
+ 	(pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
+ 	decls.  Rewrite for new bindings structures.  Improve commentary.
+ 	Eliminate the copy_node call.
+ 	(implicit_decl_warning): Use the "diag" idiom (as seen in
+ 	locate_old_decl) to reduce code duplication; call locate_old_decl
+ 	if appropriate.  Relocate to remove need for forward declaration.
+ 	(implicitly_declare): Adjust for new bindings structures.  Kludge
+ 	around Objective-C not-really-builtin functions.
+ 	(undeclared_variable): Improve diagnostics.  If current_function_decl
+ 	is nonnull but current_function_scope is null, use current_scope.
+ 	Use bind.
+ 	(lookup_tag): Adjust for new bindings structures.  Kludge around
+ 	Objective-C's tag declarations that wind up in the external scope.
+ 	(lookup_name): Adjust for new bindings structures.  Kludge around
+ 	c-common.c's pseudo-typedefs that wind up in the external scope.
+ 	(lookup_name_current_level): Rename lookup_name_in_scope; take a
+ 	second argument indicating the scope to examine; rewrite for
+ 	new bindings structures.
+ 	(c_init_decl_processing): Adjust for renamed functions.  Do not
+ 	initialize current_file_decl, first_builtin_decl, last_builtin_decl.
+ 	First scope pushed is the external scope, not the global scope.
+ 	(builtin_function): Use bind, not pushdecl.  Adjust other bits
+ 	for new data structures.  Keep track of builtins that should be
+ 	made visible automatically.
+ 	(start_decl): Adjust diagnostics.  Remove unnecessary call to
+ 	expand_decl.
+ 	(grokparms): Return 0 if arg_types is error_mark_node.
+ 	(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
+ 	reversed sense.  Rewrite for new bindings structures.  Do not
+ 	leave any decls in the scope, to prevent pop_scope from doing
+ 	contradictory things with them.
+ 	(finish_struct, finish_enum): Remove redundant diagnostics.
+ 	(build_enumerator): Don't cascade diagnostics for error_mark_node.
+ 	Mark location where -pedantic changes the meaning of the program.
+ 	(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
+ 	parameter decls into the function's scope structure using bind.
+ 	Warn here about function definitions in the wrong style.
+ 	Adjust diagnostics.
+ 	(store_parm_decls): Correct the determination of whether a
+ 	function was defined with a prototype.
+ 	(c_write_global_declarations): Operate on all file decls and on
+ 	the external scope.  Split body of the loop to...
+ 	(c_write_global_declarations_1): ... this new function, to avoid
+ 	code duplication.
+ 	(truly_local_externals, first_builtin_decl, last_builtin_decl)
+ 	(make_scope, pop_scope, in_parm_level_p, set_block)
+ 	(any_external_decl, record_external_decl, bind_label, getdecls)
+ 	(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
+ 	(c_reset_state): Delete.
+ 	(visible_builtins, c_override_global_bindings_to_false)
+ 	(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
+ 	(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
+ 	(external_scope, binding_freelist, bind, free_binding_and_advance)
+ 	(push_file_scope, pop_file_scope): New.
+ 	(pushtag, pushdecl_top_level, lookup_label, declare_label)
+ 	(define_label, c_make_fname_decl, finish_decl)
+ 	(mark_forward_parm_decls, build_compound_literal)
+ 	(grokdeclarator, start_function, check_for_loop_decls)
+ 	(identifier_global_value, record_builtin_type): Minor adjustments
+ 	for new bindings structures.  Improve diagnostics and commentary.
+ 	* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
+ 	pushlevel/poplevel respectively.
+ 	(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
+ 	* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
+ 	Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
+ 	correct loop over multiple translation units; call fatal_error if
+ 	requested to compile more than one file at once.  (This disables
+ 	IMA temporarily - an up-front error being preferable to a crash.)
+ 	* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
+ 	(all actions): Adjust calls to pushlevel/poplevel.
+ 	(parsing_iso_function_signature): Delete.
+ 	(extdef_1): Fold into extdef.
+ 	(old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
+ 	warn here about function definitions in the wrong style.
+ 	(after_tyle_declarator, parm_declarator_starttypename)
+ 	(parm_declarator_nostarttypename, notype_declarator): Remove
+ 	commented-out productions.
+ 	(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
+ 	an empty TREE_LIST node.  Adjust calls to get_parm_info.
+ 	(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
+ 	to suppress -Wold-style-definition after this error.
+ 	(c_parse_file): Don't clear the binding stack or call
+ 	finish_fname_decls here.  Correct comment.
+ 	* c-typeck.c (same_translation_unit_p): Export.
+ 	(common_type): Use c_override_global_bindings_to_false, not
+ 	pushlevel/poplevel/declare_parm_level.
+ 	* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
+ 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
+ 	and LANG_HOOKS_GETDECLS with do-nothing stubs.
+ 	* objc/objc-lang.c: Likewise.
+ 	* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
+ 	get_parm_info.
+ 	(OBJC_VOID_AT_END): Delete; replace all uses
+ 	with void_list_node.
+ 	(generate_forward_declaration_to_string_table): Delete.
+ 	* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
+ 
+ 	* coverage.c (create_coverage): Don't pushdecl anything.
+ 	* langhooks.c (lhd_clear_binding_stack): Call
+ 	lang_hooks.decls.poplevel, not poplevel.
+ 	* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
+ 	circular list rather than going into an infinite loop.
+ 
+ 2004-03-23  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* optabs.c (expand_binop): When synthesizing double word rotates
+ 	from single word shifts, use a new register target if the provided
+ 	target is not a REG already.
+ 
+ 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
+ 	* c-common.c (handle_mode_attribute): Add extra arg to
+ 	build_pointer_type_for_mode and build_reference_type_for_mode.
+ 	* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
+ 	for INTEGER_CST.
+ 	* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
+ 	Chain pointers via TYPE_NEXT_PTR_TO.
+ 	(build_reference_type_for_mode): Similarly.
+ 	(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
+ 	and build_reference_type_for_mode.
+ 	(tree_check4_failed): New function.
+ 	* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
+ 	(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
+ 	(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
+ 	Add check.
+ 
+ 2004-03-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
+ 	A is nonnegative or B is nonnegative.  Similarly A|B is nonnegative
+ 	when both A and B are nonnegative.
+ 	(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
+ 	nonzero.
+ 
+ 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
+ 	VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
+ 
+ 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR optimization/14669
+ 	* fold-const.c (fold): Only unwiden integer comparisons for equality
+ 	and inequality operators, or when the signedness doesn't change.
+ 
+ 2004-03-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
+ 	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
+ 	* config/sparc/t-linux: New file.
+ 
+ 2004-03-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* gcse.c (can_assign_to_reg_p): New function, split out from...
+ 	(want_to_gcse_p): ...here.
+ 	(compute_ld_motion_mems): Use can_assign_to_reg_p to validate
+ 	the rhs of a store.
+ 
+ 2004-03-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* c-typeck.c (same_translation_unit_p): Fix pasto.
+ 
+ 2004-03-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
+ 	(PARAM_MAX_SCHED_REGION_INSNS): New.
+ 	* sched-rgn.c: Include params.h
+ 	(MAX_RGN_BLOCKS): Delete.
+ 	(MAX_RGN_INSNS): Delete.
+ 	(too_large): Return bool.  Convert to PARAM_VALUE.
+ 	* Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
+ 	* doc/invoke.texi (param): Document max-sched-region-blocks and
+ 	max-sched-region-insns.
+ 
+ 2004-03-22  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
+ 	for base types.
+ 
+ 2004-03-22  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (is_subrange_type): Minor code rework. No behavior
+ 	change.
+ 
+ 2004-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/14069
+ 	* c-decl.c (finish_struct): Change type of incorrect flexible array
+ 	field into error_mark_node.
+ 
+ 2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/14580
+ 	* config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
+ 	who are not local for Darwin PIC.
+ 
+ 2004-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* regrename.c (regrename_optimize): Set regs_ever_live for all
+ 	registers introduced as replacement.
+ 
+ 2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/14470
+ 	* expr.c (mark_queue): New function.
+ 	(emit_insns_enqueued_after_mark): New function replacing
+ 	emit_queue.  Clear the body of emitted queued insns.
+ 	(emit_queue): Call emit_insns_enqueued_after_mark.
+ 	(store_expr): Mark the increment queue on entry.  Emit
+ 	only the incrementations queued when expanding the source.
+ 
+ 2004-03-22  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Allow --disable-coverage-flags (for the future benefit
+ 	of top level bootstrap, and consistency).  Reindent.
+ 	* configure: Regenerate.
+ 
+ 2004-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
+ 	ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
+ 	unnecessary casts.
+ 
+ 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR target/14291
+ 	* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
+ 	__MINGW32__.
+ 
+ 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
+ 	to nonimmediate_operand.
+ 	("*doloop_di"): Likewise.
+ 
+ 2004-03-21  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* real.h (struct real_value): Use the same type for all
+ 	bitfields.  Rename exp to uexp.
+ 	(REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
+ 	Adjust all uses of exp...
+ 	* builtins.c: ... here, ...
+ 	* emit-rtl.c: ... here, and ...
+ 	* real.c: ... and here.
+ 
+ 2004-03-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* pretty-print.c (pp_base_maybe_space): New function.
+ 	* pretty-print.h (pp_base_maybe_space): Declare.
+ 	(pp_maybe_space): New macro.
+ 
+ 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
+ 
+ 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
+ 	of using register multiplication cost.
+ 	(expand_mult): Adapt choose_mult_variant call.
+ 	(expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
+ 	of MODE; pass appropriate cost bound.  Adjust result when
+ 	performing signed multiplication by a negative constant.
+ 	Don't use intermediate modes larger than word_mode.
+ 
+ 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
+ 	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
+ 	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
+ 	* explow.c (expr_size): Likewise.
+ 	* expr.h (placeholder_list, find_placeholder): Deleted.
+ 	* expr.c (store_constructor): Likewise.
+ 	(get_inner_reference): Likewise.  Also don't call find_placeholder.
+ 	(placeholder_list, find_placeholder): Deleted.
+ 	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
+ 	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
+ 	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
+ 	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
+ 	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
+ 	Likewise.
+ 	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
+ 	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
+ 	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
+ 	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
+ 	Clean up by using first_rtl_op.
+ 	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
+ 	(substitute_placeholder_in_expr): New function.
+ 	* tree.def (WITH_RECORD_EXPR): Deleted.
+ 	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
+ 	(substitute_placeholder_in_expr): New.
+ 
+ 2004-03-21  Andrew Pinski  <pinskia@gcc.gnu.org>
+ 
+ 	* dojump.c (prefer_and_bit_test): Fix which part of
+ 	the and_test is replaced.
+ 
+ 2004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* frontends.texi: Add missing line.
+ 
+ 2004-03-21  Zack Weinberg  <zack@codesourcery.com>
+ 	    Chris Devers  <cdevers@pobox.com>
+ 	    Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/frontends.texi: Rewrite.
+ 	* doc/gcc.texi: Update last modification date.
+ 
+ 2004-03-21  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
+ 	message before redirecting the edge.
+ 
+ 2004-03-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
+ 	flag.
+ 	* explow.c (force_not_mem): Set REG_POINTER flag according to
+ 	MEM_POINTER one.
+ 	* rtl.h (MEM_POINTER): New macro.
+ 	(struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
+ 	for MEM_POINTER.
+ 
+ 2004-03-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/13889
+ 	* cse.c (fold_rtx): Avoid substituting constants into unary
+ 	conversion operations.
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Replace "expr" with "t".
+ 
+ 2004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR c/12373
+ 	* c-typeck.c (tagged_types_tu_compatible_p): Don't use
+ 	DECL_ORIGINAL_TYPE if there isn't one.
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Replace "final_type" with "type".
+ 	Remove variable "final_type".
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Constify "type".
+ 	Replace "TREE_TYPE (t)" with "type".
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
+ 	dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
+ 	via (*targetm.foo) () with targetm.foo ().
+ 
+ 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR other/14630
+ 	* doc/install.texi: Add info directory category and entry.
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Replace "t" with "tem" where it is used
+ 	as a temporary variable.  Remove "orig_t" and all of its uses.
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold): Remove variable "invert".
+ 	Move the handling of relational expressions that can be folded
+ 	to a constant ...
+ 	(fold_relational_const): ... here.
+ 	(tree_expr_nonzero_p): New.
+ 
+ 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/14635
+ 	* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
+ 	DEF_GCC_BUILTIN.
+ 
+ 2004-03-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
+ 	(GTFILES): Add $(srcdir)/dojump.h.
+ 	(gt-dojump.h): New dependency.
+ 	* dojump.c (and_reg, and_test, shift_test): New static variables.
+ 	(prefer_and_bit_test): New function.
+ 	(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
+ 
+ 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
+ 	expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
+ 	reorg.c, tree.h: Fix comment typos.
+ 
+ 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
+ 	c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
+ 	cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
+ 	haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
+ 	sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
+ 	vmsdbgout.c: Replace calls via (*targetm.foo) () with
+ 	targetm.foo ().
+ 
+ 2004-03-19  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
+ 	vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
+ 	always_inline attribute.
+ 	* config/rs6000/rs6000.c (altivec_expand_dst_builtin):
+ 	Treat expansion as completed even if literal argument is
+ 	invalid (so that other expansions are not tried in vain).
+ 
+ 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop-doloop.c (add_test): Replace GEN_INT (0) with
+ 	const0_rtx.
+ 
+ 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
+ 	...
+ 	(fold_abs_const): ... here.
+ 
+ 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
+ 
+ 2004-03-19  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	PR target/11520
+ 	* config/avr/avr.md ("call_insn"): Handle explicit integer
+ 	specially.
+ 	(call_value_insn): Likewise.
+ 
+ 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
+ 
+ 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (negate_expr): Move the handling of constants
+ 	...
+ 	(fold_negate_const): ... here.
+ 
+ 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
+ 	* langhooks.h (struct lang_hooks_for_types): New field hash_types.
+ 	* tree.c (debug_no_type_hash): Deleted.
+ 	(type_hash_canon): Abort if passed a variant.
+ 	Check lang_hooks.types.hash_types.
+ 	(build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
+ 	(build_array_type): Remove unnecessary allocation of pointer type.
+ 	(build_complex_type): Properly qualify resulting type.
+ 
+ 2004-03-19  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
+ 
+ 2004-03-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expmed.c (choose_mult_variant, expand_mult_const): New, split from...
+ 	(expand_mult): ...here.
+ 	(extract_high_half): New, split out from expand_mult_highpart.
+ 	(expand_highpart_optab): Likewise.  Don't clobber target prematurely.
+ 	(expand_highpart): Evaluate the cost of a shift/add sequence,
+ 	then see if any of the specialized optabs are cheaper.
+ 
+ 2004-03-18  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
+ 
+ 2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* convert.c (convert_to_real): Add more math builtins.
+ 
+ 2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* convert.c (convert_to_real): Reformat using switch stmt.
+ 
+ 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-common.c (pointer_int_sum): Do not complain about using
+ 	pointers to pointers-to-members.
+ 
+ 2004-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
+ 	have moved to the target hooks structure".
+ 
+ 2004-03-18  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.md (type): Split move into arith and fmove.  Split
+ 	hilo into mthilo and mfhilo.  Add trap.  Delete icmp.  Fix all uses.
+ 	* config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
+ 	Likewise.
+ 	* config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
+ 	Likewise.
+ 	* config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
+ 	rm7_fp_quick): Likewise.
+ 	* config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
+ 	rm9k_fquick): Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
+ 	Likewise.
+ 	(ir_sr70_icmp): Delete.
+ 
+ 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
+ 	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
+ 	(FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
+ 	(REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
+ 	(TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
+ 	Protect with proper check.
+ 	(TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
+ 	(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
+ 	* tree.c (type_hash_eq): Rewrite to access proper fields for each type.
+ 	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
+ 	* c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
+ 	* dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
+ 	not TYPE_FIELDS.
+ 	* stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
+ 
+ 2004-03-18  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* gcse.c (eliminate_partially_redundant_loads): Reject change if
+ 	dest is set between beginning and current insn.
+ 
+ 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* c-decl.c (grokdeclarator): Do not complain about redeclaring
+ 	visible "static" identifiers "extern" in a local scope.
+ 	* dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
+ 	post-increments/decrements.
+ 
+ 2004-03-18  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (current_function_arg_words): Delete.
+ 	(xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
+ 	(xtensa_va_start): Remove assignment to current_function_arg_words.
+ 
+ 2004-03-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* alias.c (record_set): Detect the case where a register is assigned
+ 	a new value that has the same base term as the old one.
+ 
+ 2004-03-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* doloop.c: Removed.
+ 	* loop-doloop.c: New file.
+ 	* Makefile.in (doloop.o): Remove.
+ 	(loop-doloop.o): New.
+ 	* cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
+ 	* cfgloopanal.c (get_loop_level): New function.
+ 	* loop-iv.c (iv_number_of_iterations): Handle case when loop
+ 	is leaved immediatelly.
+ 	* loop.c (strength_reduce): Do not call doloop optimization.
+ 	* loop.h (LOOP_BCT): Removed.
+ 	* passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
+ 	(rest_of_handle_loop2): Call doloop_optimize_loops.
+ 	(rest_of_compilation): Test for optimizations moved to
+ 	rest_of_handle_loop2.
+ 
+ 2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
+ 	for mixed mode.
+ 	(rs6000_emit_prologue): Ditto.
+ 	(rs6000_emit_epilogue): Ditto.
+ 	* config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
+ 	macro for mixed mode.
+ 
+ 2004-03-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (propagate_freq): Compute correctly frequency of
+ 	EXIT_BLOCK.
+ 
+ 2004-03-17  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* builtins.c (apply_args_size): Use reg_raw_mode.
+ 	(apply_result_size): Ditto.
+ 
+ 2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ 
+ 	PR target/14620
+ 	* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
+ 
+ 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
+ 	32-bit builds when defaulting to 32-bit.
+ 
+ 2004-03-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
+ 	array.
+ 
+ 2004-03-17  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.md (zero_extendsidi2): Add length attribute.
+ 	(hazard_nop): Change type to nop.
+ 	(type): Split arith into arith, shift, slt, clz.  Delete darith.
+ 	Fix all uses.  Change arith to multi if more than one insn emitted.
+ 	* config/mips/5400.md (ir_vr54_arith): Likewise.
+ 	* config/mips/5500.md (ir_vr55_arith): Likewise.
+ 	* config/mips/7000.md (rm7_int_other): Likewise.
+ 	* config/mips/9000.md (rm9k_int): Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_arith): Likewise.
+ 
+ 2004-03-17  Joel Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (subrange_type_die): Define new variable "subtype"
+ 	to hold the subtype tree instead of recomputing it several times.
+ 
+ 2004-03-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300.c (notice_update_cc): Don't handle
+ 	CC_INVERT.
+ 	* config/mn10300/mn10300.md (cc): Remove "invert".
+ 
+ 2004-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (integer_valued_real_p): Add builtin rint.
+ 	(fold_builtin): Likewise.
+ 	* convert.c (convert_to_real): Likewise.
+ 
+ 	* convert.c (convert_to_real): Fix typos in `long double'
+ 	builtins.
+ 
+ 2004-03-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/14481
+ 	* fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
+ 	generated COMPOUND_EXPRs.
+ 
+ 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ 
+ 	* config/h8300/t-rtems (h8300-*-rtems*): New.
+ 
+ 2004-03-16  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* doc/cppopts.texi(fwide-exec-charset): Fix typo.
+ 
+ 2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386-protos.h: Add a prototype for
+ 	ix86_reverse_condition.
+ 	* config/i386/i386.c (ix86_reverse_condition): New.
+ 	* config/i386/i386.h (REVERSE_CONDITION): Use
+ 	ix86_reverse_condition.
+ 	* config/i386/i386.md: Use ix86_reverse_condition instead of
+ 	REVERSE_CONDITION.
+ 
+ 2004-03-16  J. Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
+ 
+ 2004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR bootstrap/12974
+ 	* Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
+ 
+ 2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-common.c (c_common_type_for_mode): Build vector types on
+ 	demand.
+ 	(handle_mode_attribute): Deprecate using the mode attribute
+ 	to create vector types.  Fix indentation.
+ 	(vector_type_node_list): Remove.
+ 	(handle_vector_size_attribute): Create vector types on demand.
+ 	Strip a NON_LVALUE_EXPR from the attribute if there is one.
+ 	* c-typeck.c (comptypes): Make vector types compatible if they
+ 	have the same underlying mode.
+ 	(convert_for_assignment): Use comptypes to convert between
+ 	vector types.
+ 	* tree.c (build_common_tree_nodes_2): Do not create vector types.
+ 	* config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
+ 	vector types.
+ 	* tree.h: Remove vector types.
+ 	* config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
+ 	(V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
+ 	V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
+ 	* doc/extend.texi (Vector Types): Document how to use the
+ 	vector_size attribute to create vectors, rather than mode.
+ 
+ 	* config/arm/mmintrin.h: Use vector_size attribute, not mode.
+ 	* config/i386/emmintrin.h: Likewise.
+ 	* config/i386/mmintrin.h: Likewise.
+ 	* config/i386/xmmintrin.h: Likewise.
+ 	* config/sh/ushmedia.h: Likewise.
+ 
+ 2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/freebsd-spec.h, config/arc/arc-protos.h,
+ 	config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
+ 	config/arm/linux-gas.h, config/arm/semi.h,
+ 	config/cris/cris-protos.h, config/i386/xm-djgpp.h,
+ 	config/ia64/freebsd.h, config/mips/7000.md,
+ 	config/mips/9000.md, config/ns32k/ns32k-protos.h,
+ 	config/sparc/pbd.h: Update copyright.
+ 
+ 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+ 
+ 	PR target/14577
+ 	* config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
+ 
+ 2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (combine_simplify_rtx): Remove the "last"
+ 	parameter and its documentation.  Adjust recursive calls.
+ 	(simplify_logical): Always perform the only simplification
+ 	controlled by "last", if the simplified expression is
+ 	actually different.
+ 	(try_combine): Do not pass the "last" parameter to
+ 	combine_simplify_rtx.
+ 
+ 2004-03-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/14599
+ 	* config/mips/mips.md (UNSPEC_GP): New constant.
+ 	* config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
+ 	an UNSPEC instead of (reg $gp).
+ 	(mips16_gp_pseudo_reg): Change accordingly.
+ 	(print_operand): Print $gp directly when handling CONST_GP_P.
+ 
+ 2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
+ 
+ 	* config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
+ 	* longlong.h: Make code 68060 clean when compiling for m68060.
+ 
+ 2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
+ 
+ 	* config/m68k/m68k.md: Fix constraints for bitfield instructions.
+ 	* doc/md.texi: Clarify description of "i" constraint.
+ 
+ 2004-03-15  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.md (type): Split load into load, fpload, fpidxload.
+ 	Split store into store, fpstore, fpidxstore.  Fix all uses.
+ 	* config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
+ 	Likewise.
+ 	* config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
+ 	* config/mips/7000.md (rm7_ld, rm7_st): Likewise.
+ 	* config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
+ 	ir_sr70_fstore): Likewise.
+ 
+ 2004-03-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/14535
+ 	* except.c (collect_one_action_chain): Record action for cleanup
+ 	outer of exception spec.
+ 
+ 2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
+ 	Fix the check for abort and only do the mmap if we can.
+ 
+ 2004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* config/sparc/sparc.h: Rework comments about the code model
+ 	in 64-bit environment and the mode 'Pmode'.
+ 	* doc/invoke.texi (SPARC options): Rework description of the
+ 	different code models supported in 64-bit environment.
+ 
+ 2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (REVERSIBLE_CC_MODE): Define.
+ 	* jump.c (reversed_comparison_code_parts): Don't check if
+ 	REVERSIBLE_CC_MODE is defined.
+ 
+ 2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
+ 	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
+ 	hosthooks.h, params.h, ra-colorize.c, web.c,
+ 	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
+ 	config/avr/avr-protos.h, config/avr/avr.md,
+ 	config/fr30/fr30-protos.h, config/fr30/fr30.md,
+ 	config/h8300/fixunssfsi.c, config/i386/darwin.h,
+ 	config/i386/freebsd.h, config/i386/freebsd64.h,
+ 	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
+ 	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
+ 	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
+ 	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
+ 	config/pa/pa64-regs.h, config/rs6000/aix41.h,
+ 	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
+ 	config/sparc/aout.h, config/sparc/freebsd.h,
+ 	config/sparc/litecoff.h, config/vax/vax-protos.h,
+ 	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
+ 	copyright.
+ 
+ 2004-03-15  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
+ 
+ 2004-03-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-pretty-print.c (pp_c_semicolon): Fix formatting.
+ 	(pp_c_cv_qualifier): Document.
+ 	(pp_c_space_for_pointer_operator): Likewise.
+ 	(pp_c_integer_constant): Likewise.
+ 	(pp_c_identifier): Likewise.
+ 	(pp_c_init_declarator): Don't print function body.
+ 
+ 2004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/makefile.texi,
+ 	doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
+ 	"gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
+ 	wording and grammar.
+ 
+ 2004-03-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
+ 	with lang_hooks.foo ().
+ 	* builtins.c (expand_builtin_va_arg): Likewise.
+ 	* c-common.c (fname_as_string, c_common_truthvalue_conversion,
+ 	c_common_type_for_mode, c_common_nodes_and_builtins,
+ 	handle_mode_attribute, handle_vector_size_attribute): Likewise.
+ 	* c-convert.c (convert): Likewise.
+ 	* c-format.c (check_format_types): Likewise.
+ 	* c-objc-common.c (c_tree_printer): Likewise.
+ 	* c-typeck.c (build_unary_op, build_conditional_expr,
+ 	build_binary_op): Likewise.
+ 	* calls.c (try_to_integrate, expand_call,
+ 	emit_library_call_value_1): Likewise.
+ 	* cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
+ 	Likewise.
+ 	* cgraphunit.c (record_call_1, cgraph_analyze_function,
+ 	cgraph_expand_function): Likewise.
+ 	* convert.c (convert_to_pointer, convert_to_integer): Likewise.
+ 	* coverage.c (build_fn_info_type, build_ctr_info_type,
+ 	build_gcov_info, create_coverage): Likewise.
+ 	* dbxout.c (dbxout_init): Likewise.
+ 	* diagnostic.c (diagnostic_report_current_function): Likewise.
+ 	* dojump.c (do_jump): Likewise.
+ 	* dwarf2out.c (dwarf2_name): Likewise.
+ 	* except.c (init_eh): Likewise.
+ 	* explow.c (expr_size, int_expr_size): Likewise.
+ 	* expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
+ 	Likewise.
+ 	* expr.c (store_expr, store_constructor, safe_from_p,
+ 	expand_expr_real, do_store_flag, try_casesi): Likewise.
+ 	* function.c (push_function_context_to, pop_function_context_from,
+ 	free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
+ 	put_var_into_stack, allocate_struct_function, current_function_name):
+ 	Likewise.
+ 	* integrate.c (copy_decl_for_inlining, expand_inline_function):
+ 	Likewise.
+ 	* langhooks.c (lhd_clear_binding_stack, write_global_declarations,
+ 	lhd_print_error_function): Likewise.
+ 	* opts.c (handle_option, decode_options): Likewise.
+ 	* passes.c (open_dump_file): Likewise.
+ 	* print-tree.c (print_node): Likewise.
+ 	* stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
+ 	expand_decl_cleanup, emit_case_nodes): Likewise.
+ 	* stor-layout.c (variable_size): Likewise.
+ 	* toplev.c (announce_function, wrapup_global_declarations,
+ 	check_global_declarations, compile_file, default_tree_printer,
+ 	process_options, lang_dependent_init, finalize): Likewise.
+ 	* tree-dump.c (dequeue_and_dump): Likewise.
+ 	* tree-inline.c (remap_decl, remap_block, copy_body_r,
+ 	initialize_inlined_parameters, declare_return_variable,
+ 	inlinable_function_p, expand_call_inline, optimize_inline_calls,
+ 	walk_tree, copy_tree_r): Likewise.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 	* tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
+ 	unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
+ 	variably_modified_type_p, dump_tree_statistics): Likewise.
+ 	* varasm.c (assemble_variable, compare_constant, copy_constant,
+ 	force_const_mem, compute_reloc_for_constant, output_constant,
+ 	output_addressed_constants, initializer_constant_valid_p): Likewise.
+ 
+ 2004-03-14  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Make autoconf 2.13 the exception, not the rule.
+ 
+ 2004-03-14  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* doc/install.texi: Reflect autoconf and automake version for
+ 	libffi. Update autoconf version to 2.59.
+ 
+ 2004-03-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_expr, operand_equal_for_comparison_p,
+ 	optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
+ 	make_range, build_range_check, fold_range_test, unextend,
+ 	constant_boolean_node, fold_binary_op_with_conditional_arg,
+ 	fold_truthop, fold_mathfn_compare, fold_inf_compare,
+ 	fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
+ 	with lang_hooks.foo ().
+ 
+ 2004-03-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
+ 
+ 2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	* doc/install.texi: Note status of -fnew-ra.
+ 
+ 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/14470
+ 	* expr.c (store_expr): Call emit_queue before generating the move
+ 	from the temporary to the original target.  Protect the temporary
+ 	from emit_queue.
+ 
+ 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/14533
+ 	* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
+ 	other than UNSPEC_GOTOFF.
+ 
+ 2004-03-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_legitimate_address_p): New argument, OUTER.  Pass through
+ 	to arm_legitimate_index_p.  Update all callers with SET as default
+ 	value.
+ 	(arm_legitimate_index_p): New argument, OUTER.  Restrict the index
+ 	range if OUTER is a sign-extend operation on QImode.  Correctly
+ 	reject shift operations on sign-extended QImode addresses.
+ 	(bad_signed_byte_operand): Delete.
+ 	(arm_extendqisi_mem_op): New function.
+ 	* arm.h (EXTRA_CONSTRAINT_ARM): Delete.  Replace with...
+ 	(EXTRA_CONSTRAINT_STR_ARM): ... this.  Handle extended address
+ 	constraints.
+ 	(CONSTRAINT_LEN): New.
+ 	(EXTRA_CONSTRAINT): Delete.  Replace with...
+ 	(EXTRA_CONSTRAINT_STR): ... this.
+ 	(PREDICATE_CODES): Remove bad_signed_byte_operand.
+ 	* arm.md (extendqihi_insn): Use new constraint Uq.  Rework.  Length
+ 	is now always default.
+ 	(define_splits for bad sign-extend loads): Delete.
+ 	(arm_extendqisi, arm_extendqisi_v5): Likewise.
+ 	* arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
+ 	Rework 'U' constraint to 'Uv'.
+ 	* arm-protos.h: Remove bad_signed_byte_operand.  Add
+ 	arm_extendqisi_mem_op.
+ 	* doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
+ 	Add Uq constraint.
+ 
+ 2004-03-13  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
+ 	with targetm version.
+ 
+ 	PR target/14567
+ 	* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
+ 	(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
+ 	* config/rs6000/rs6000.c (rs6000_arg_size): New function.
+ 	Update all users of RS6000_ARG_SIZE.
+ 	(function_arg_advance): Count fregno using mode size.
+ 	(function_arg): Handle long double split over regs and memory.
+ 	(function_arg_partial_nregs): Likewise.
+ 	(rs6000_va_arg): Repackage complex args.
+ 
+ 2004-03-13  Dean Ferreyra <dferreyra@igc.org>
+ 
+ 	PR target/14047
+ 	* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
+ 	(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
+ 	* config/avr/avr-protos.h (avr_progmem_p): Change prototype.
+ 
+ 2004-03-12  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
+ 	prototype.
+ 	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+ 
+ 2004-03-12  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
+ 	Use ret instead of result. Use addr instead of base.
+ 
+ 2004-03-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Document assembler and achiver
+ 	fixes required by libstdc++ and update installation instructions
+ 	for libstdc++.a.
+ 
+ 2004-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
+ 	leading '@' on fastcall symbols before stripping suffix.
+ 
+ 2004-03-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* combine.c (unmentioned_reg_p): New function to check whether an
+ 	expression is a "specialization" of another, i.e. that there are
+ 	no registers or memory references mentioned in the first that don't
+ 	appear in the second.
+ 	(unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
+ 	(combine_instructions): Also try combining instructions using the
+ 	REG_EQUAL note from a preceding log-linked instruction.
+ 
+ 2004-03-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
+ 
+ 2004-03-12  Matt Austern  <austern@apple.com>
+ 
+ 	* target.h (struct gcc_target): New target hook, unwind_label.
+ 	* target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
+ 	* output.h (default_emit_unwind_label): New function.
+ 	* default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
+ 	(TARGET_USES_WEAK_UNWIND_INFO): New target macro.
+ 	(TARGET_SUPPORTS_HIDDEN): New target macro.
+ 	* dwarf2out.c (struct dw_fde_struct): Add field for function decl
+ 	that corresponds to this FDE.
+ 	(FRAME_BEGIN_LABEL): Allow target to override default label.
+ 	(output_call_frame_info): If FDEs are linknonce, then use extra
+ 	indirection for FDE encoding, output a label for each FDE, and
+ 	output an empty label for each function without an FDE.
+ 	(dwarf2out_begin_prologue): Set up decl field when creating an FDE.
+ 	* varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
+ 	decls with DECL_ONE_ONLY set, if that macro is defined.
+ 	(make_decl_one_only): Don't use DECL_COMMON if we're compiling
+ 	for a SUPPORTS_ONE_ONLY target.
+ 	* config/darwin-protos.h (darwin_unique_section): Declare.
+ 	(darwin_asm_named_section): Likewise.
+ 	(darwin_section_type_flags): Likewise.
+ 	(darwin_non_lazy_pcrel): Likewise.
+ 	(darwin_emit_unwind_label): Likewise.
+ 	(darwin_make_decl_one_only): Likewise.
+ 	* config/darwin.c (machopic_finish): Get rid of tweak that
+ 	eliminate stubs for symbols that are defined.
+ 	(darwin_encode_section_info): Don't treat weak functions as defined.
+ 	(darwin_make_decl_one_only): Define.
+ 	(darwin_asm_named_section): Likewise.
+ 	(darwin_section_type_flags): Likewise.
+ 	(darwin_unique_section): Likewise.
+ 	(darwin_emit_unwind_label): Likewise.
+ 	(darwin_non_lazy_pcrel): Likewise.
+ 	(darwin_asm_output_dwarf_delta): Difference between two labels is
+ 	local only if both labels are local.
+ 	* config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
+ 	(ASM_MAKE_LABEL_LINKONCE): Likewise.
+ 	(TARGET_SUPPORTS_HIDDEN): Likewise.
+ 	(TARGET_USES_WEAK_UNWIND_INFO): Likewise.
+ 	(TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
+ 	(FRAME_BEGIN_LABEL): Likewise.
+ 	(ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
+ 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+ 	(darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
+ 	(TARGET_ASM_UNIQUE_SECTION): Define.
+ 	(EH_FRAME_SECTION_NAME): Define.
+ 	(EH_FRAME_SECTION_ATTR): Likewise.
+ 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ 	(TARGET_ASM_NAMED_SECTION): Likewise.
+ 	(TARGET_SECTION_TYPE_FLAGS): Likewise.
+ 	* doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
+ 	TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
+ 	TARGET_ASM_EMIT_UNWIND_LABEL.
+ 
+ 2004-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (expand_builtin_mathfn): Add pow10* to the
+ 	existing exp10* case.
+ 	(expand_builtin): Likewise.
+ 
+ 2004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/tm.texi (registers) <Values in Registers>: Add
+ 	entry for REGMODE_NATURAL_SIZE.
+ 
+ 2004-03-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/14547
+ 	* target.h (struct gcc_target): Move calls substructure before
+ 	booleans.  Add split_complex_arg.
+ 	* function.c (assign_parms, split_complex_args): Use it.
+ 	* calls.c (expand_call): Likewise.
+ 	(split_complex_values): Likewise.  Check for splittable types
+ 	before allocating memory.
+ 	(split_complex_types): Likewise.
+ 	* system.h (SPLIT_COMPLEX_ARGS): Poison.
+ 	* expr.h (SPLIT_COMPLEX_ARGS): Remove.
+ 	* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
+ 	* config/alpha/alpha.c (alpha_split_complex_arg): New.
+ 	(TARGET_SPLIT_COMPLEX_ARG): New.
+ 	* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
+ 	* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
+ 	(rs6000_override_options): Zap it for non-AIX.
+ 	(rs6000_function_value): Use targetm.calls.split_complex_arg.
+ 	* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
+ 	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
+ 	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
+ 	* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
+ 	SPLIT_COMPLEX_ARGS entry.
+ 
+ 2004-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
+ 	(alpha_lookup_xfloating_lib_func): Use them, return rtx.
+ 	(alpha_emit_xfloating_arith): Update to match.
+ 	(alpha_emit_xfloating_compare): Likewise.
+ 	(alpha_emit_xfloating_cvt): Likewise.
+ 	(alpha_emit_xfloating_libcall): Take already built symbol,
+ 	mark call const.
+ 	* config/alpha/alpha.md (extendsftf2, extenddftf2): Take
+ 	op1 in a register.
+ 
+ 2004-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/14539
+ 	* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Fix typo.
+ 
+ 2004-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/14477
+ 	* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
+ 
+ 2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/14262
+ 	* calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
+ 	defined, pass small BLKmode values in registers in the low-order part.
+ 
+ 2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (if_then_else_cond): Check for NULL return value of
+ 	simplify_gen_subreg.
+ 
+ 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/14496
+ 	* config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
+ 	TARGET_SINGLE_FLOAT.
+ 
+ 2004-03-11  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
+ 	* config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
+ 	* config/ia64/ia64.c (ia64_init_libfuncs): New.
+ 	(ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
+ 
+ 2004-03-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
+ 	-((int)X>>C) where C is an integer constant one bit less than the
+ 	size of X into (unsigned)X>>C.  Similarly for unsigned->signed.
+ 	(negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
+ 
+ 	* simplify-rtx.c (simplify_unary_operation): Also implement the
+ 	above transformations at the RTL level.
+ 
+ 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* real.c (encode_ibm_extended): Do round low word.
+ 
+ 2004-03-11  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/arm.md (is_xscale): Comment this attribute and move
+ 	it a bit further up in the file, closer to related attributes.
+ 
+ 2004-03-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/host-solaris.c (sol_gt_pch_use_address): Add
+ 	missing terminating marker to comment.
+ 
+ 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
+ 	(movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
+ 	(*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
+ 	(*movsf_mips16, *movdf_mips16):  Name unnamed patterns.  Use
+ 	move_operand as source predicate in all cases.
+ 	(*movdi_32bit): Renamed from movdi_internal.  Remove 'F' constraint.
+ 	Test reg_or_0_operand.  Use move_operand as source predicate.
+ 	(*movdi_64bit): Renamed from movdi_internal2.  Test reg_or_0_operand.
+ 	(*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
+ 	(*movsi_internal): Renamed from movsi_internal.  Test reg_or_0_operand.
+ 	(movhi, movqi, movsf, movdf): Use mips_legitimize_move.
+ 	(*movhi_internal): Renamed from movhi_internal.  Test reg_or_0_operand.
+ 	Use move_operand as source predicate.  Remove 'K' constraint.
+ 	(*movqi_internal): Likewise movqi_internal.
+ 	(*movsf_hardfloat): Renamed from movsf_internal1.  Test
+ 	reg_or_0_operand.  Use move_operand as source predicate.
+ 	(*movsf_softfloat): Likewise movsf_internal2.
+ 	(*movdf_hardfloat_64bit): Likewise movsf_internal1a.
+ 	(*movdf_hardfloat_32bit): Likewise movsf_internal1b.
+ 	(*movdf_softfloat): Likewise movdf_internal2.
+ 	* config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
+ 	for DImode if !TARGET_64BIT.
+ 	(mips_legitimize_move): Simplify accordingly.
+ 
+ 2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/14362
+ 	* var-tracking.c (struct variable_def): Added field refcount.
+ 	(variable_htab_free): Decrease the refcount and delete variable
+ 	only if there are no more references.
+ 	(unshare_variable): New function.
+ 	(vars_copy_1): Increase refcount instead of copying the variable.
+ 	(variable_union): Share the variables where possible, unshare
+ 	the variables if needed.
+ 	(variable_different_p): Return false if var1 and var2 are
+ 	the same structure.
+ 	(variable_was_changed): Init the refcount of new variable.
+ 	(set_frame_base_location): Unshare variable if needed.
+ 	(set_variable_part): Init the refcount of new variable.
+ 	Unshare the variables if needed.
+ 	(delete_variable_part): Unshare the variables if needed.
+ 	(emit_notes_for_differences_1): Init the refcount of new variable.
+ 	(vt_add_function_parameters): Do not add function parameters to
+ 	IN set of ENTRY_BLOCK_PTR because it is unused anyway.
+ 	(vt_initialize): Do not add frame_base_decl to IN set of
+ 	ENTRY_BLOCK_PTR because it is unused anyway.
+ 
+ 2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
+ 	(vars_copy): Likewise.
+ 	(variable_union): Likewise.
+ 	(set_variable_part): Likewise.
+ 	(delete_variable_part): Likewise.
+ 
+ 2004-03-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
+ 	ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
+ 	config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
+ 	config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
+ 	config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
+ 	config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
+ 	config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
+ 	config/pdp11/pdp11.h, config/rs6000/rs6000.c,
+ 	config/stormy16/stormy16.c: Fix comment typos and formatting.
+ 
+ 2004-03-11  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure: Regenerate, since I forgot to while committing Paolo's
+ 	changes.
+ 
+ 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR ada/14131
+ 	Move language detection to the top level.
+ 	* configure.ac: Remove code to detect languages,
+ 	it now lives exclusively in the top level.
+ 	* aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
+ 	top level, renamed to ACX_PROG_GNAT.
+ 
+ 2004-03-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
+ 	extra arguments.
+ 	* config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
+ 	and host_xmake_file fragments.
+ 	* ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
+ 	(gt_pch_restore): Similarly for gt_pch_use_address.
+ 	(default_gt_pch_get_address): New.
+ 	(mmap_gt_pch_get_address): Split out of gt_pch_save.
+ 	(default_gt_pch_use_address): Split out of gt_pch_restore.
+ 	(mmap_gt_pch_use_address): Likewise.
+ 	* hooks.c (hook_voidp_size_t_null): Remove.
+ 	(hook_bool_voidp_size_t_false): Remove.
+ 	* hooks.h: Likewise.
+ 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
+ 	default_ or mmap_ definitions.
+ 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
+ 	* hosthooks.h (struct host_hooks): Update gt_pch_get_address
+ 	and gt_pch_use_address.
+ 	* config/host-linux.c, config/host-solaris.c: New files.
+ 	* config/x-linux, config/x-solaris: New files.
+ 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
+ 	Update for changed definition.
+ 	(darwin_rs6000_gt_pch_use_address): Likewise.
+ 	* doc/hostconfig.texi: Update docs.
+ 
+ 2004-03-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/14517
+ 	* c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
+ 	except for pedantic c90 mode.
+ 
+ 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure.ac: Bump AC_PREREQ to 2.59.
+ 	* configure: Regenerate.
+ 
+ 2004-03-10  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
+ 	(exp10_optab, exp2_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
+ 	* genopinit.c (optabs): Implement exp10_optab and exp2_optab
+ 	using exp10?f2 and exp2?f2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
+ 	using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
+ 	(expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
+ 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
+ 	exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
+ 	exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
+ 
+ 2004-03-10  Anthony Green  <green@redhat.com>
+ 
+ 	* doc/invoke.texi (ARM Options): Fix -mpfu typo.
+ 
+ 2004-03-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
+ 	(TARGET_OS_AIX_CPP_BUILTINS): this.  Conditionally define
+ 	__LONGDOUBLE128.
+ 	* config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
+ 	TARGET_OS_AIX_CPP_BUILTINS.
+ 	* config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
+ 	* config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
+ 	* config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
+ 	previous change.
+ 
+ 2004-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
+ 
+ 2004-03-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ 	__LONGDOUBLE128 on AIX.
+ 
+ 2004-03-10  Andrew Haley  <aph@redhat.com>
+ 
+ 	PR optimization/14381
+ 	* function.c (expand_function_end): Emit a blockage insn before
+ 	the epilogue when -fnon-call-exceptions is used.
+ 
+ 	* except.c (expand_start_all_catch): Make comment more accurate.
+ 
+ 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
+ 
+ 	PR target/14480
+ 	* config/rs6000/t-rtems: Add missing file on branch.
+ 
+ 2004-03-10  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Do not output references
+ 	to optimized-out constant pool symbols.
+ 
+ 2004-03-10  Andreas Schwab  <schwab@suse.de>
+ 
+ 	* config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
+ 	twon34_r.
+ 
+ 2004-03-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* alias.c (alias_sets_might_conflict_p): New.
+ 	* c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
+ 	* common.opt (Wstrict-aliasing=): New.
+ 	* flags.h (warn_strict_aliasing): Change type to int.
+ 	* opts.c (warn_strict_aliasing): Change type to int.
+ 	(common_handle_option): Handle OPT_Wstrict_aliasing_.
+ 	* tree.h (alias_sets_might_conflict_p): Declare it.
+ 	* doc/invoke.tex (-Wstrict-aliasing=2): Document it.
+ 
+ 2004-03-10  Roman Zippel  <zippel@linux-m68k.org>
+ 
+ 	PR bootstrap/12371
+ 	* config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
+ 	(CALL_USED_REGISTERS): Likewise.
+ 	(REG_CLASS_CONTENTS): Likewise.
+ 	(REG_ALLOC_ORDER): New.
+ 	(REGNO_REG_CLASS): Use regno_reg_class.
+ 	* config/m68k/m68k.c: Add regno_reg_class array.
+ 
+ 2004-03-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.md (divsi3): Fix algorithm.
+ 	  (udivsi3): Ditto.
+ 	  (setf_exp_xf): Remove '*' from name.
+ 	* testsuite/gcc.dg/20040309-1.c: New test.
+ 
+ 2004-03-09  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* system.h (SUNOS4_SHARED_LIBRARIES): Poison.
+ 	* collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
+ 	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
+ 	* config/sparc/sparc.c (sparc_aout_select_section): Remove.
+ 	(sparc_aout_select_rtx_section): Don't check
+ 	SUNOS4_SHARED_LIBRARIES.
+ 	* config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
+ 
+ 2004-03-10  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR other/14474
+ 	* doc/md.texi (Pattern Ordering, Dependent Patterns)
+ 	(Jump Patterns, Looping Patterns): Wrap in separate "@ifset
+ 	INTERNALS".
+ 
+ 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
+ 	(LIBGCC_SPEC): Update to match.
+ 
+ 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (last_function_parms, last_function_parm_tags)
+ 	(last_function_parm_others, current_function_parms)
+ 	(current_function_parm_tags, current_function_parm_others):
+ 	Delete.
+ 	(ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
+ 	New macros.
+ 	(grokdeclarator): For function definitions, save the arg-info
+ 	block from the declarator in DECL_ARGUMENTS.
+ 	(grokparms): Do not write to last_function_parm*.  Use ARG_INFO_*
+ 	macros to operate on arg-info block.  Can assume ARG_INFO_PARMS
+ 	contains only PARM_DECLs.  Improve diagnostics.
+ 	(get_parm_info): Use ARG_INFO_* macros.  Improve comments and
+ 	diagnostics.  Disable some expensive checks if not ENABLE_CHECKING.
+ 	(store_parm_decls_newstyle): Take the function to operate on,
+ 	and an arg-info block, as arguments; don't get anything from
+ 	current_function_* globals.
+ 	(store_parm_decls_oldstyle): Likewise.
+ 	(store_parm_decls): Pass fndecl and its arg-info block down to
+ 	store_parm_decls_newstyle/oldstyle.  Send functions with empty
+ 	argument lists through store_parm_decls_newstyle to reduce
+ 	overhead.
+ 	(pushdecl): Comment on the problems with the call to copy_node.
+ 	Clear DECL_ARGUMENTS of the old node after copying it, if it
+ 	is an arg-info block instead of a chain of decls.
+ 	(start_function): Do not manipulate current_function_parm* or
+ 	last_function_parm*.
+ 
+ 2004-03-09  Roger Sayle  <roger@eyesopen.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* ifcvt.c (noce_try_sign_mask): New function to transform
+ 	"x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
+ 	(noce_process_if_block): Call noce_try_sign_mask.
+ 
+ 2004-03-09  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-typeck.c (tagged_types_tu_compatible_p):
+ 	Fix typo.
+ 
+ 2004-03-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_const_relational_operation): New function
+ 	renamed from simplify_relational_operation.
+ 	(simplify_relational_operation): Change prototype to accept an
+ 	additional mode argument.  Call simplify_const_relational_operation.
+ 	(simplify_gen_relational): Update simplify_relational_operation call.
+ 	(simplify_ternary_operation): Update simplify_relational_operation
+ 	subroutine call to use simplify_const_relational_operation instead.
+ 
+ 	* rtl.h (simplify_const_relational_operation): Prototype here.
+ 	(simplify_relational_operation): Add addtional mode argument.
+ 
+ 	* combine.c (combine_simplify_rtx): Update calls to
+ 	simplify_relational_operation.
+ 	(simplify_set): Likewise.
+ 	(gen_binary): Likewise.
+ 	* cse.c (fold_rtx): Likewise.
+ 	* dojump.c (compare_from_rtx): Likewise.
+ 	(do_compare_rtx_and_jump): Likewise.
+ 	* integrate.c (subst_constants): Likewise.
+ 	* unroll.c (simplify_cmp_and_jump_insns): Likewise.
+ 
+ 2004-03-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Remove all define_peephole's.
+ 
+ 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.md: Remove trailing whitespace.
+ 
+ 2004-03-08  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* Makefile.in (site.exp): Add libiconv variable definition.
+ 
+ 2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* configure: Regenerate for config/accross.m4 correction.
+ 
+ 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
+ 
+ 	PR target/14480
+ 	* config/rs6000/t-rtems: Add missing file on branch.
+ 
+ 2004-03-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/14289
+ 	* c-typeck.c (c_mark_addressable): A register variable should
+ 	be considered global if its not automatic, i.e. TREE_PUBLIC,
+ 	TREE_STATIC or DECL_EXTERNAL.
+ 	* function.c (put_var_into_stack): Call abort when placing a
+ 	hard register into the stack, if x_parm_reg_stack_loc is NULL.
+ 
+ 2004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
+ 	("*extendqisi2_short_displ"): Likewise.
+ 
+ 2004-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/pdp11/pdp11.c (comparison_operator_index): Remove.
+ 	(comp_operator): Likewise.
+ 	* config/pdp11/pdp11-protos.h: Remove corresponding
+ 	prototypes.
+ 
+ 2004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* expr.c (highest_pow2_factor_for_type): Rename into
+ 	highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
+ 	TYPE_ALIGN when the target is a COMPONENT_REF.
+ 	(expand_assignment): Ajust call to highest_pow2_factor_for_type.
+ 
+ 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c: Formatting fix.
+ 	(legitimate_offset_address_p): Correct offset range check.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
+ 	-msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
+ 	and MASK_STRING.
+ 
+ 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
+ 	for little endian.
+ 	("ashrdi3_no_power"): Disable for little endian.
+ 	(ashrdi3): Same.
+ 
+ 2004-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (tree_expr_nonnegative_p): Reformat checks for
+ 	builtins.
+ 
+ 2004-03-08  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/14471
+ 	* configure.ac (Target-specific assembler checks) <cris-*-*>: New
+ 	case, checking for -no-mul-bug-abort option.
+ 	* configure, config.in: Regenerate.
+ 	* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
+ 	and -mno-mul-bug-workaround.
+ 	* config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
+ 	("mulsidi3", "umulsidi3"): Prefix output template with "%!".
+ 	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
+ 	Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
+ 	* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
+ 	sure mulu.d is not last on cache-line.
+ 	* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
+ 	into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
+ 	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
+ 	(TARGET_SWITCHES): New options -mmul-bug-workaround and
+ 	-mno-mul-bug-workaround.
+ 	(TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
+ 	(PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
+ 	* config/cris/cris.c (cris_operand_extend_operator): Clarify
+ 	relation to MULT in head comment.
+ 	(cris_op_str): Abort for MULT.
+ 	(cris_print_operand) <case '!'>: New case.
+ 
+ 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR debug/11983
+ 	* dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
+ 	dw_val_class_vec.  Replace use throughout file.
+ 	(dw_float_const): Delete.
+ 	(dw_vec_const): New.
+ 	(dw_val_struct_union): Rename val_float to val_vec.  Replace use
+ 	throughout file.
+ 	(add_AT_vec): Rename from add_AT_float.  Add elt_size param.
+ 	(same_dw_val_p): Adjust vec comparison.  Use memcmp.
+ 	(size_of_die): Adjust dw_val_class_vec sizing.
+ 	(output_die): Output dw_val_class_vec.
+ 	(insert_int, extract_int, insert_float): New functions.
+ 	(add_const_value_attribute): Use insert_float for CONST_DOUBLE.
+ 	Handle CONST_VECTOR.
+ 	(add_location_or_const_value_attribute): Handle CONST_VECTOR.
+ 
+ 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
+ 	AltiVec abi cannot co-exist.
+ 
+ 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
+ 
+ 2004-03-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (emit_to_new_bb_before):  Break fallthru edges.
+ 
+ 2004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
+ 	("*lshrsi3"): Also accept an immediate for 68HC12.
+ 	("*ashrsi3_const"): Likewise.
+ 	("*ashrsi3"): Likewise.
+ 	("*ashlsi3_const"): Likewise.
+ 	("*ashlsi3"): Likewise.
+ 	("cmphi_1_hc12"): Compare two hard register by pushing them and
+ 	comparing with a pop; don't use a split for that.
+ 	("cmphi split"): Disable compare split for 68HC12.
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
+ 	the status operands if they have side effects.
+ 
+ 2004-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (LEGITIMIZE_ADDRESS): Provide a default
+ 	definition.
+ 	* config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
+ 	config/h8300/h8300.h, config/ia64/ia64.h,
+ 	config/mcore/mcore.h, config/mmix/mmix.h,
+ 	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
+ 	config/stormy16/stormy16.h, config/v850/v850.h,
+ 	config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
+ 	* doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
+ 	definition.
+ 
+ 2004-03-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
+ 	<XOR_EXPR>: Fold x ^ x as zero.
+ 	<AND_EXPR>: Fold x & x as x.
+ 
+ 2004-03-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
+ 	"foo++ == const" into "++foo == const+incr".
+ 
+ 2004-03-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_in_small_data_p): Return false if
+ 	TARGET_ABICALLS.
+ 
+ 2004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
+ 	the stack register.
+ 	(expand_prologue): Don't make an interrupt or a trap handler a far
+ 	symbol.
+ 	(m68hc11_initial_elimination_offset): Likewise.
+ 
+ 2004-03-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
+ 
+ 2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ns32k/ns32k-protos.h: Add a prototype for
+ 	ns32k_notice_update_cc.
+ 	* config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
+ 	* config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
+ 	ns32k_notice_update_cc.
+ 
+ 2004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("load_multiple", "*load_multiple_di",
+ 	"*load_multiple_si"): Allow only if reload_completed.
+ 	("store_multiple", "*store_multiple_di", "*store_multiple_si"):
+ 	Likewise.
+ 
+ 2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/vax/vax-protos.h: Add a prototype for
+ 	vax_notice_update_cc.
+ 	* config/vax/vax.c (vax_notice_update_cc): New.
+ 	* config/vax/vax.h (NOTICE_UPDATE_CC): Call
+ 	vax_notice_update_cc.
+ 
+ 2004-03-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* collect2.c (main): Only export initfunc and finifunc if
+ 	LD_INIT_SWITCH not defined.
+ 	(scan_prog_file): Only export constructors and destructors if
+ 	LD_INIT_SWITCH not defined.  Only export symbols not found in
+ 	shared objects.
+ 
+ 2004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md (icacheflush): Reorder operands to make match_scratch operand
+ 	last.
+ 	* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
+ 	from calls to gen_icacheflush.
+ 
+ 2004-03-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
+ 	(TARGET_LONG_DOUBLE_128): New.
+ 	(TARGET_SWITCHES): Add long-double-{128,64}.
+ 	(TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
+ 	(LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
+ 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
+ 	(WIDEST_HARDWARE_FP_SIZE): New.
+ 	(TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
+ 	* config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
+ 	if TARGET_VAX_FLOAT.
+ 	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
+ 	(TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
+ 
+ 2004-03-06  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
+ 	botched rtx class conversion.
+ 
+ 2004-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
+ 	BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
+ 
+ 	* builtins.c (fold_builtin_logarithm, fold_builtin): Use new
+ 	macros.
+ 	* fold-const.c (fold_mathfn_compare, fold): Likewise.
+ 
+ 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/14343
+ 	* config/i386/i386.md (movv2di_internal): Conditionalize on
+ 	TARGET_SSE, not TARGET_SSE2.
+ 
+ 2004-03-05  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
+ 	duplicated line.
+ 
+ 2004-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c: Consistently use logN not log* in comments.
+ 
+ 2004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* rtl.h (mem_expr_equal_p): Function prototype added.
+ 	* cfgcleanup.c (merge_memattrs): New function.
+ 	(flow_find_cross_jump): Call merge_memattrs for matching insns.
+ 	* emit-rtl.c (mem_expr_equal_p): New function.
+ 
+ 2004-03-05  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (synth_module_prologue): Const-qualify
+ 	objc_selector type if using the GNU runtime; fix generated
+ 	signatures for objc_msg_lookup and objc_msg_lookup_super
+ 	to match what GNU ObjC headers provide; reformat and clean up.
+ 	(synth_self_and_ucmd_args): Use previously constructed (and
+ 	hence possibly const-qualified) objc_selector type.
+ 
+ 2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
+ 
+ 2004-03-05  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.h (TYPE_HASH): Use TYPE_UID.
+ 	(TREE_HASH): New macro with old definition of TYPE_HASH.
+ 	* tree.c (build_type_attribute_variant): Use iterative_hash_object.
+ 	(build_array_type, build_function_type): Likewise.
+ 	(build_method_type_directly): Likewise.
+ 	(build_offset_type, build_complex_type): Likewise.
+ 	(type_hash_list, attribute_hash_list): Likewise. Now static.
+ 	* except.c: s/TYPE_HASH/TREE_HASH/.
+ 
+ 2004-03-05  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
+ 	(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
+ 	__va_ndx by 2 words when referencing an argument on the stack.
+ 	(xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
+ 	words when an arg on the stack is first seen.
+ 
+ 2004-03-05  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* arm.h (ARM_FLAG_VFP): Remove.
+ 	(ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
+ 	* netbsd-elf.h (ARM_FLAG_VFP): Remove.
+ 
+ 2004-03-05  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* function.c (assign_parms): Include pretend alignment offset.
+ 
+ 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
+ 	FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
+ 
+ 2004-03-05  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* configure.ac: When passing --enable-languages to subdir
+ 	configure when host != build, make sure we don't pass an empty
+ 	value.
+ 	* configure: Regenerate.
+ 
+ 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR 13577
+ 	* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
+ 	options.
+ 
+ 2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): If
+ 	flag_wrapv is set, do not move terms between the two
+ 	side of a relational operator.
+ 
+ 2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtlanal.c: Include target.h and output.h
+ 	(rtx_cost, address_cost, default_address_cost): Move from...
+ 	* cse.c (rtx_cost, address_cost, default_address_cost):
+ 	... this file.
+ 	* rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
+ 	* Makefile.in: Adjust dependencies.
+ 
+ 2004-03-05  Paolo Bonzini <bonzini@gnu.org>
+ 
+ 	* cse.c (cse_end_of_basic_block): Make static.
+ 	* local-alloc.c (function_invariant_p): Move to
+ 	reload1.c.
+ 	* loop.c (libcall_other_reg, record_excess_regs):
+ 	Make static.
+ 	* reload1.c (function_invariant_p): Moved here
+ 	from local-alloc.c, made static.
+ 	* rtl.h (cse_end_of_basic_block, function_invariant_p,
+ 	libcall_other_reg, record_excess_regs): Remove
+ 	declarations.
+ 
+ 2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.c (signed_comparison_operator): Add a
+ 	missing parenthesis.
+ 
+ 2004-03-04  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
+ 	going to call mmap again.  Read the file into the right place.
+ 	Give a fatal error if we have to relocate.
+ 
+ 2004-03-04  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
+ 	(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
+ 
+ 2004-03-05  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR other/14354
+ 	* config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
+ 	round the same.  When rounding, clear bits that would cause a
+ 	second rounding in pack_d.
+ 	(_fpmul_parts): Ditto.  Remove #if 0:d code.
+ 
+ 2004-03-04  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	PR c++/14425, c++/14426
+ 	* config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
+ 	vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
+ 	Change C++ definitions to accept a 'const int' argument;
+ 	the prototypes already do.
+ 	* config/rs6000/rs6000.c (rs6000_common_init_builtins):
+ 	Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
+ 	v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
+ 	v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
+ 	v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
+ 	v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
+ 	end in ..._int; change them to accept an int instead of a char
+ 	as the last parameter.
+ 
+ 2004-03-04  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* genmultilib:  Change '=' to '-' when translating option names
+ 	to directory names.
+ 
+ 2004-03-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
+ 	stack slot for temp used for result of BLKmode but in integral mode.
+ 
+ 2004-03-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload.c (find_reloads): Reorganize if seqeunce to switch.
+ 
+ 	* cfgrtl.c (rtl_redirect_edge_and_branch):  Set the source BB as dirty.
+ 	(cfglayout_redirect_edge_and_branch):  Set the source BB as dirty.
+ 
+ 2004-03-04  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
+ 	* testsuite/gcc.dg/20040303-1.c: New test.
+ 
+ 2004-03-04  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* ppro.md: Rewrite as a DFA pipeline description.
+ 	* i386.md: Remove all uses of the ppro_uops attribute.
+ 	* i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
+ 	ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
+ 	ix86_sched_reorder, ix86_variable_issue,
+ 	struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
+ 	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
+ 	(ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
+ 	(ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
+ 	* athlon.md (athlon_ssecmp_load): Fix comment
+ 
+ 2004-03-04  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
+ 
+ 2004-03-04  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
+ 	686, tell Darwin assembler to allow prefetch insns, non-empty def
+ 	of SUBTARGET_OPTION_TRANSLATE_TABLE.
+ 
+ 2004-03-04  DJ Delorie  <dj@redhat.com>
+ 
+ 	PR optimization/14282
+ 	* sched-deps.c (sched_analyze_insn): Allow a stack adjustment
+ 	between a call and the assignment of its return value.
+ 
+ 2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Put a comment for every function.
+ 
+ 2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Add comments about peephole2's.
+ 
+ 2004-03-04  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
+ 
+ 2004-03-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (thread_jump): Update call of cselib_init.
+ 	* cselib.c (cselib_record_memory): New static variable.
+ 	(cselib_lookup_mem, cselib_record_set, cselib_record_sets):
+ 	Give up on memories when asked for.
+ 	(cselib_init): Accept new argument.
+ 	* cselib.h (cselib_init): Update prototype.
+ 	* gcse.c (local_cprop_pass): Update call of cselib_init.
+ 	* loop.c (load_mems): Update call of cselib_init.
+ 	* postreload.c (reload_cse_regs_1): Update call of cselib_init.
+ 	* sched-deps.c (sched_analyze): Update call of cselib_init.
+ 
+ 2004-03-04  David Edelsohn  <edelsohn@gnu.org>
+ 	    GP <gp@qnx.com>
+ 
+ 	* config/rs6000/rs6000.c (output_function_profiler): Append @plt
+ 	when compiling PIC.
+ 
+ 2004-03-04  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/14362
+ 	* var-tracking.c (track_expr_p): Do not track variables which
+ 	should be ignored for debugging purposes.
+ 
+ 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* real.c (encode_ibm_extended): Don't bother rounding low double.
+ 	* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
+ 	when fmt->pnan < fmt->p.
+ 
+ 2004-03-04  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
+ 	only range of valid arg registers and fixed_regs.
+ 
+ 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/14406
+ 	* config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
+ 	(abstf2, abstf2_internal): New define_expand.
+ 
+ 2004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/14235
+ 	* expr.c (convert_move): Copy the source to a new pseudo
+ 	when converting from a sub-word source to a larger-than-word
+ 	register which conflicts with the source.
+ 
+ 2004-03-03  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 13728
+ 	* c-decl.c (diagnose_mismatched_decls): Issue an error for two
+ 	parameters with the same name, unless one is a forward decl.
+ 	Do not issue a redundant-redeclaration warning for forward
+ 	decls of parameters.
+ 
+ 2004-03-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
+ 	configuration.
+ 
+ 2004-03-03  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
+ 
+ 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* target-def.h (TARGET_OPTF): Delete.
+ 	* c-opts.c (TARGET_OPTF): Define.
+ 
+ 2004-03-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (cselib_finish): Fix another miss-application of my previous
+ 	patch.
+ 
+ 2004-03-03  Mike Stump  <mrs@apple.com>
+ 
+ 	Add framework support for darwin.
+ 
+ 	* c-incpath.c: Include target.h and machmode.h.
+ 	(add_path): Use a consistent style for cpp_dir.  Initialize
+ 	p->construct to 0.
+ 	(add_cpp_dir_path): New.
+ 	(register_include_chains): Add use of extra_includes callback.
+ 	(hook_void_int): Add.
+ 	(target_c_incpath): Add.
+ 	* c-incpath.h (add_cpp_dir_path): New.
+ 	(target_c_incpath_s): Add.
+ 	(target_c_incpath): Add.
+ 	(C_INCPATH_INIT): Add.
+ 	* c-opts.c (c_common_missing_argument,
+ 	c_common_handle_option): Add -F argument processing.
+ 	* c.opt: Add -F argument processing.
+ 	* gcc.c (trad_capable_cpp): Add -F argument processing.
+ 	* cppfiles.c (find_file_in_dir): Update to use construct
+ 	callback.
+ 	(search_path_exhausted, cpp_get_path, cpp_get_buffer,
+ 	cpp_get_prev): New.
+ 	(_cpp_find_file): Use search_path_exhausted.
+ 	(make_cpp_dir): Initialize construct to 0.
+ 	* cpplib.h (missing_header_cb
+ 	cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
+ 	(cpp_callbacks): Add missing_header
+ 	(cpp_dir): Add construct.
+ 	* target-def.h: (TARGET_OPTF): New.
+ 	* hooks.c (hook_void_int, hook_void_charptr): Add.
+ 	* hooks.h (hook_void_int, hook_void_charptr): Add.
+ 	* Makefile.in (c-incpath.o) : Add $(TARGET_H) and
+ 	$(MACHMODE_H) dependencies.
+ 	* doc/invoke.texi (Darwin Options): Document -F.
+ 	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
+ 	(TARGET_OPTF): Add.
+ 	* fix-header.c (target_c_incpath): Add.
+ 
+ 	* config/darwin-c.c: Add c-incpath.h include.
+ 	(using_frameworks, find_subframework_file,
+ 	find_subframework_header, add_system_framework_path,
+ 	frameworks_in_use, num_frameworks, max_frameworks,
+ 	add_framework, find_framework, struct framework_header,
+ 	framework_header_dirs, framework_construct_pathname,
+ 	find_subframework_file, add_system_framework_path,
+ 	add_framework_path, framework_defaults,
+ 	darwin_register_frameworks, find_subframework_header): Add.
+ 	* config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
+ 	(TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
+ 	(CPP_SPEC): Add __APPLE_CC__ support.
+ 	* t-darwin (darwin-c.o): Add c-incpath.h dependency.
+ 
+ 2004-03-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (cselib_finish): Fix miss-application of my previous
+ 	patch.
+ 
+ 2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* hooks.c (hook_tree_tree_identity): New.
+ 	* hooks.h: Add a prototype for hook_tree_tree_identity.
+ 	* stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
+ 	instead of MD_ASM_CLOBBERS.
+ 	* system.h (MD_ASM_CLOBBERS): Poison.
+ 	* target-def.h (TARGET_MD_ASM_CLOBBERS): New.
+ 	(TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
+ 	* target.h (gcc_target): Add md_asm_clobbers.
+ 	* config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
+ 	(ix86_md_asm_clobbers): New.
+ 	* config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
+ 	* doc/tm.texi (MD_ASM_CLOBBERS): Change to
+ 	TARGET_MD_ASM_CLOBBERS.
+ 
+ 2004-03-03  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
+ 
+ 2004-03-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (noov_compare64_op): Fix typo.
+ 
+ 	* config/sparc/sparc.h (ASM_FLOAT): Delete.
+ 	(ASM_DOUBLE): Likewise.
+ 	(ASM_LONGDOUBLE): Likewise.
+ 	* config/sparc/pbd.h (ASM_INT_OP): Delete.
+ 
+ 2004-03-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/13862
+ 	* cselib.c (cselib_record_sets): Don't record multiple sets in
+ 	asm insns.
+ 
+ 2004-03-03  Mostafa Hagog  <mustafa@il.ibm.com>
+ 
+ 	* common.opt: Add description of the new -fgcse-after-reload flag.
+ 
+ 	* flags.h (flag_gcse_after_reload): Declaration of global variable.
+ 
+ 	* gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
+ 	reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
+ 	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
+ 	get_bb_avail_insn, hash_scan_set_after_reload,
+ 	compute_hash_table_after_reload, eliminate_partially_redundant_loads,
+ 	gcse_after_reload, get_bb_avail_insn): New functions to implement
+ 	gcse-after-reload.
+ 	(gcse_after_reload_main): New function, the main entry point to
+ 	gcse-after-reload.
+ 
+ 	* rtl.h (gcse_after_reload_main): Declaration of the new function.
+ 
+ 	* opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
+ 
+ 	* toplev.c (flag_gcse_after_reload): Initialization.
+ 
+ 	* passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
+ 
+ 	* params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
+ 	PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
+ 	the gcse after reload optimization.
+ 
+ 	* params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
+ 	GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
+ 	parameters.
+ 
+ 	* doc/invoke.texi: Documentation for the new flag gcse-after-reload.
+ 
+ 2004-03-03  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
+ 	small negative values.
+ 
+ 2004-03-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (hash_table):  Remove GTY marker.
+ 	(reg_values): Turn into array.
+ 	(used_regs): Likewise.
+ 	(n_used_regs): New static variable.
+ 	(reg_values_old): Kill.
+ 	(clear_table): Update uses of arrays.
+ 	(cselib_lookup): Likewise.
+ 	(cselib_record_set): Likewise.
+ 	(cselib_init): Likewise.
+ 	(cselib_finish): Likewise.
+ 	(cselib_udpate_varray_sizes): Kill.
+ 	* cselib.h (cselib_update_varray_sizes): Kill.
+ 
+ 2004-03-03  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
+ 
+ 2004-03-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
+ 	Rename from ...; make statistics transparent.
+ 	(ggc_alloc_cleared, ggc_realloc_stat): ... these.
+ 	(loc_descriptor): New structure.
+ 	(hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
+ 	add_statistics):
+ 	New static function.
+ 	(ggc_record_overhead, dump_statistics): New global function.
+ 	* ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
+ 	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
+ 	from ...; accept locations
+ 	(ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
+ 	ggc_realloc, ggc_alloc_typed):  ... this one.
+ 	from ...; accept locations
+ 	* ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
+ 	ggc_alloc_stat): Rename from ... ; pass locations
+ 	* ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
+ 	... this one.
+ 	(ggc_alloc_stat): Record overehead.
+ 	* ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
+ 	ggc_realloc, ggc_alloc_typed):  Turn to macros
+ 	(ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
+ 	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
+ 	(dump_ggc_loc_satistics, ggc_record_overehead): Declare.
+ 	* langhooks.h (lhd_make_node): Declare.
+ 	(LANG_HOOKS_MAKE_TYPE): Default to new function,
+ 	* langhooks.c (lhd_make_node): New.
+ 	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
+ 	locations.
+ 	(rtx_alloc, swallow_copy_rtx): ... this one.
+ 	* rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
+ 	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
+ 	* toplpev.c (finalize): Dump stats.
+ 	* tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
+ 	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
+ 	Rename from ... ; pass locators.
+ 	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
+ 	build?,  build_decl): Declare.
+ 	* tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
+ 	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
+ 	Declare.
+ 	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
+ 	build?,  build_decl): New macros.
+ 	* Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
+ 	* statistics.h: New file.
+ 
+ 2004-03-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 	    Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_FIX_SB1): Bump.
+ 	(MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
+ 	(TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
+ 	* config/mips/mips.c (mips_output_division): Fill the branch delay
+ 	slot with a nop if TARGET_FIX_R4000.  Extend R4000 workarounds to
+ 	TARGET_FIX_R4400.
+ 	(mips_output_division): Adjust accordingly.
+ 	(override_options): Make -march=r4400 imply -mfix-r4400 by default.
+ 	* doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
+ 
+ 2004-03-03  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* alias.c (rtx_equal_for_memref_p): Use predicates
+ 	to test rtx classes and new rtx class codes, possibly
+ 	splitting conditionals that tested against '<' and 'o'.
+ 	* caller-save.c (save_call_clobbered_regs): Likewise.
+ 	* combine.c (contains_muldiv, find_split_point, subst,
+ 	combine_simplify_rtx, simplify_if_then_else,
+ 	simplify_set, simplify_logical, expand_compound_operation,
+ 	make_compound_operation, if_then_else_cond, known_cond,
+ 	apply_distributive_law, cached_nonzero_bits,
+ 	cached_num_sign_bit_copies, simplify_shift_const,
+ 	gen_binary, simplify_comparison, update_table_tick,
+ 	record_value_for_reg, get_lsat_value_validate): Likewise.
+ 	* cse.c (mention_regs, find_best_addr, find_comparison_args,
+ 	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
+ 	Likewise.
+ 	* emit-rtl.c (copy_insn_1): Likewise.
+ 	* expr.c (force_operand): Likewise.
+ 	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
+ 	* flow.c (notice_stack_pointer_modification_1,
+ 	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
+ 	and_reg_cond, elim_reg_cond): Likewise.
+ 	* function.c (update_epilogue_consts): Likewise.
+ 	* genattrtab.c (attr_rtx_1): Likewise.
+ 	* genopinit.c (gen_insn): Likewise.
+ 	* integrate.c (subst_constants): Likewise.
+ 	* jump.c (reversed_comparison_code_parts,
+ 	reversed_comparison_code, delete_related_insns,
+ 	rtx_renumbered_equal_p): Likewise.
+ 	* local-alloc.c (block_alloc): Likewise.
+ 	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
+ 	canonicalize_condition): Likewise.
+ 	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
+ 	Likewise.
+ 	* optabs.c (add_equal_node, expand_binop): Likewise.
+ 	* predict.c (estimate_probability): Likewise.
+ 	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
+ 	* recog.c (validate_replace_rtx_1, comparison_operator,
+ 	offsettable_address_p, constrain_operands): Likewise.
+ 	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
+ 	Likewise.
+ 	* regclass.c (scan_one_insn): Likewise.
+ 	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
+ 	* regrename.c (kill_autoinc_value): Likewise.
+ 	* reload.c (find_reusable_reload, find_reloads,
+ 	reg_overlap_mentioned_for_reload_p): Likewise.
+ 	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
+ 	* rtl.c (copy_rtx): Likewise.
+ 	* rtl.h (CONSTANT_P, INSN_P): Likewise.
+ 	* rtlanal.c (commutative_operand_precedence): Likewise.
+ 	* sched-deps.c (conditions_mutex_p): Likewise.
+ 	* sched-rgn.c (is_cfg_nonregular): Likewise.
+ 	* simplify-rtx.c (simplify_gen_binary,
+ 	simplify_gen_relational, simplify_replace_rtx,
+ 	simplify_unary_operation, simplify_binary_operation,
+ 	simplify_ternary_operation, simplify_rtx): Likewise.
+ 	* unroll.c (reg_dead_after_loop): Likewise.
+ 	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
+ 	print_operand): Likewise.
+ 	* config/arc/arc.c (proper_comparison_operator): Likewise.
+ 	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
+ 	Likewise.
+ 	* config/avr/avr.c (_reg_unused_after): Likewise.
+ 	* config/frv/frv.c (frv_ifcvt_modify_tests,
+ 	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
+ 	* config/i386/i386.c (ix86_comparison_operator,
+ 	ix86_carry_flag_operator, fcmov_comparison_operator,
+ 	arith_or_logical_operator, print_operand,
+ 	ix86_expand_binary_operator, ix86_binary_operator_ok):
+ 	Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/ia64/ia64.c (not_postinc_memory_operand,
+ 	ia64_print_operand, update_set_flags, errata_emit_nops):
+ 	Likewise.
+ 	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
+ 	CONSTRAINT_OK_FOR_S): Likewise.
+ 	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
+ 	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
+ 	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
+ 	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
+ 	Likewise.
+ 	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
+ 	eqne_comparison_operator, signed_comparison_operator):
+ 	Likewise.
+ 	* config/mips/mips.c (cmp_op, symbolic_expression_p):
+ 	Likewise.
+ 	* config/mmix/mmix (mmix_foldable_comparison_operator,
+ 	mmix_comparison_operator): Likewise.
+ 	* config/pa/pa.c (hppa_legitimize_address): Likewise.
+ 	* config/rs6000/rs6000.c (stmw_operation,
+ 	branch_comparison_operator, trap_comparison_operator,
+ 	ccr_bit): Likewise.
+ 	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
+ 	* config/s390/s390.c (s390_alc_comparison,
+ 	s390_slb_comparison):L Likewise.
+ 	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
+ 	Likewise.
+ 	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
+ 	noov_compare_op, noov_compare64_op, v9_regcmp_op,
+ 	emit_hard_tfmode_operation, reg_unused_after)
+ 	* doc/md.texi, doc/rtl.texi: Likewise.
+ 
+ 	* ra-debug.c: Add 2004 to list of copyright years.
+ 	* unroll.c: Likewise.
+ 
+ 	* combine.c (simplify_logical): Remove dummy test,
+ 	(apply_distributive_law): Fix typo in comment.
+ 	GET_CODE (x) == AND so x is a commutative binary op.
+ 	* jump.c (delete_related_insns): simplify loop
+ 	condition, move testing of RTX codes inside the loop.
+ 	(rtx_renumbered_equal_p): do not use RTX_CODE.
+ 	* rtl.c (rtx_class): Declare as enum rtx_class.
+ 	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
+ 	Move to RTX_COMM_COMPARE class.
+ 	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
+ 	Move to RTX_CONST_OBJ class.
+ 	* rtl.h (enum rtx_class): New declaration,
+ 	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
+ 	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
+ 	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
+ 	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
+ 	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
+ 	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
+ 	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
+ 	OBJECT_P): New macros.
+ 	* config/sparc/sparc.c (noov_compare_op): Remove register
+ 	from parameter.
+ 
+ 2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* target.h: Remove texi jargons in comments.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
+ 	threshold to 0x4f.
+ 
+ 	Revert:
+ 	2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
+ 	as well.
+ 	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
+ 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/md.texi (cbranchmode4): New.
+ 
+ 2004-03-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips16.S: Change fixsfsi and fixdfsi to
+ 	fix_trunc.
+ 	* config/mips/mips.c (mips_init_libfuncs): Change accordingly.
+ 	* config/mips/t-elf (LIB1ASMFUNCS): Ditto.
+ 	* config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
+ 	* config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
+ 
+ 2004-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/11767
+ 	* coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
+ 	* optabs.c (prepare_cmp_insn): Force trapping memories to registers
+ 	before the compare, if flag_non_call_exceptions.
+ 
+ 2004-03-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/14327
+ 	* stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
+ 	emitting the label, not after.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
+ 	(m68hc11_mov_addr_mode): Likewise.
+ 	(m68hc11_override_options): Initialize them based on target.
+ 	(register_indirect_p): Allow a MEM for indirect addressing modes and
+ 	use flags to control what is allowed.
+ 	(m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
+ 	supported addressing modes.
+ 	(m68hc11_register_indirect_p): Use m68hc11_addr_mode.
+ 	(go_if_legitimate_address_internal): Likewise.
+ 	(m68hc11_indirect_p): Likewise and check the mode.
+ 	(print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
+ 	(expand_builtin_setjmp_setup): Use
+ 	targetm.builtin_setjmp_frame_value instead of
+ 	BUILTIN_SETJMP_FRAME_VALUE.
+ 	* system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
+ 	* target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
+ 	(TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
+ 	* target.h (gcc_target): Add builtin_setjmp_frame_value.
+ 	* targhooks.c (default_builtin_setjmp_frame_value): New.
+ 	* targhooks.h: Add a prototype for
+ 	default_builtin_setjmp_frame_value.
+ 	* doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
+ 	TARGET_BUILTIN_SETJMP_FRAME_VALUE.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
+ 	sequences of moves.
+ 	(add peepholes): New peepholes to optimize sequences adding small
+ 	constants.
+ 	(bset peepholes): New peepholes to transform an OR in a bset form
+ 	(bclr peepholes): Likewise for bclr form.
+ 	(cmp peepholes): New peepholes to avoid register copies when comparing.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
+ 	to separate push from moves.
+ 	("*pushdf_internal"): Likewise.
+ 	("*pushsf_internal"): Likewise.
+ 	("*pushsi_internal"): Likewise.
+ 	("movdi_internal"): Use define_insn_and_split; non push operand.
+ 	("movdf_internal"): Likewise.
+ 	("movsf_internal"): Likewise.
+ 	("movsi_internal"): Likewise.
+ 	("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
+ 	("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
+ 	("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
+ 	("cmphi_z_used", "cmpqi_z_used"): Likewise.
+ 	("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
+ 	("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
+ 	("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
+ 	("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
+ 	("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
+ 	("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
+ 	("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
+ 	("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
+ 	("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
+ 	(SOFT_XY_REGNUM): Define.
+ 	(cmp split): Use the above instead of hard coded numbers.
+ 	(8-bit op split): No need to check the mode; allow Q_REG.
+ 	(ashift split): Adjust the first operand if it uses the SP and we
+ 	are pushing the shifted value.
+ 	(plus shift split): Fix when a source is in register D+X.
+ 	("doloop_end"): Pass dummy arguments to gen_rtx_NE.
+ 
+ 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
+ 	comparing with Z register.
+ 
+ 2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloop.h (struct loop_desc): Removed.
+ 	(struct loop): Fields simple, desc and has_desc removed.
+ 	(simple_loop_p, count_loop_iterations): Declaration removed.
+ 	* cfgloopanal.c (struct unmark_altered_insn_data): Removed.
+ 	(unmark_altered, blocks_invariant_registers, unmark_altered_insn
+ 	blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
+ 	invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
+ 	simple_loop_exit_p, variable_initial_value, variable_initial_values,
+ 	simple_condition_p, simple_increment, count_strange_loop_iterations,
+ 	inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
+ 	Removed.
+ 	* loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genattrtab.c: Don't handle MATCH_INSN.
+ 	* genrecog.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* rtl.def (match_insn): Remove.
+ 	* doc/md.texi (match_insn, match_insn2): Remove.
+ 
+ 2004-03-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
+ 	macro results in memory allocation.
+ 
+ 2004-03-02  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
+ 	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
+ 	%(fbsd_dynamic_linker),
+ 	(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
+ 	config/i386/freebsd.h
+ 	* config/arm/freebsd.h: Ditto.
+ 	* config/i386/freebsd.h: Ditto.
+ 	* config/i386/freebsd64.h: Ditto.
+ 	* config/ia64/freebsd.h: Ditto.
+ 	* config/rs6000/sysv4.h: Ditto.
+ 	* config/sparc/freebsd.h: Ditto.
+ 
+ 2004-03-02  Loren James Rittle  <ljrittle@acm.org>
+ 
+ 	* gcc/doc/install.texi (*-*-freebsd*): Update target information.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* rtl.def (define_combine): Remove.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Tweak formatting.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*cmphi_h8300): Rename to
+ 	*cmphi_h8300_znvc.
+ 	(*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
+ 
+ 2004-03-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR bootstrap/14356
+ 	* gcc.c (process_command): Remove const-qualification from argv.
+ 	(main): Likewise.
+ 
+ 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (pushqi1_h8300hs): Rename to
+ 	pushqi1_h8300hs_advanced.  Adjust its caller.
+ 	(pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
+ 	Adjust its caller.
+ 
+ 2004-03-02  Nicolas Roche  <roche@act-europe.fr>
+ 
+ 	* Makefile.in (install-libgcc, install-multilib): Pass
+ 	mkinstalldirs var to libgcc.mk.
+ 
+ 2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
+ 	* doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
+ 
+ 2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (gtle_operator): Accept GT and LE.
+ 	* config/h8300/h8300.md: Split several peephole2's, each into
+ 	two.
+ 
+ 2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* dominance.c (recount_dominator): Handle postdominators.
+ 
+ 2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
+ 	(NUM_SYMBOL_TYPES): Likewise.
+ 	(SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
+ 	(mips_unspec_address): Declare.
+ 	(mips_gotoff_page, mips_gotoff_global): Delete.
+ 	* config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
+ 	* config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
+ 	(mips_symbolic_constant_p, mips_symbolic_address_p)
+ 	(mips_symbol_insns): Handle new symbol types.
+ 	(general_symbolic_operand): New predicate.
+ 	(mips_unspec_address): Make extern.
+ 	(mips_gotoff_page, mips_gotoff_global): Delete.
+ 	(override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
+ 	Handle new symbol types.
+ 	* config/mips/mips.md (*lea_high64, *lea64): New patterns.
+ 	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
+ 	mips_unspec_address directly.
+ 	* doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
+ 	the documentation of -mexplicit-relocs.
+ 
+ 2004-03-01  Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (fold): An equality comparison of a non-weak object
+ 	against zero has a known result.  Similarly an equality comparison
+ 	of the address of two non-weak, unaliased symbols has a known result.
+ 
+ 	* ggc-page.c (struct page_entry): New field PREV.
+ 	(ggc_alloc): Update PREV field appropriately.
+ 	(sweep_pages): Likewise.
+ 	(ggc_free): Likewise.  Use PREV field rather than loop to
+ 	improve ggc_free performance.
+ 
+ 2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_output_division): Use the division
+ 	instruction to fill the delay slot of a zero check.
+ 	(mips_idiv_insns): Adjust accordingly.
+ 
+ 2004-03-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* config.gcc: Create a default tmake_file for linux, and use
+ 	it in all but two linux clauses.  Comment those two.
+ 
+ 2004-03-01  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (try_combine):  Do not refer to is_replaced.
+ 	(gen_lowpart_for_combine):  Perverse subregs now have a
+ 	more politically correct name.
+ 	* cse.c (cse_insn): Likewise.
+ 	* jump.c: Fix bogus reference to delete_insn.
+ 
+ 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR debug/14328
+ 	* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
+ 	constants as signed values.
+ 
+ 	PR middle-end/13448
+ 	* c-tree.h (readonly_warning): Rename to ...
+ 	(readonly_error): ... this.
+ 	* c-typeck.c (build_unary_op): Adjust accordingly.
+ 	(readonly_warning): Rename to ...
+ 	(readonly_error): ... this and issue errors, not warnings.
+ 	(build_modify_expr): Call readonly_error, not readonly_warning.
+ 	(c_expand_asm_operands): Likewise.
+ 	* tree-inline.c (optimize_inline_calls): Do not inline functions
+ 	after errors have occurred.
+ 
+ 2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Rearrange some threading code for clarity;
+ 	add section comment.
+ 	* configure: Regenerate.
+ 
+ 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
+ 	typos.
+ 	* doc/cppopts.texi: Fix a typo.
+ 
+ 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.md: Fix formatting.
+ 
+ 2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Add some comments delineating sections of code.
+ 
+ 	* doc/install.texi: Note that libada uses autoconf 2.57 also.
+ 
+ 	* doc/install.texi: Fix idiot typo in previous commit.
+ 
+ 	* doc/install.texi: Update for conversion of intl to autoconf 2.57.
+ 
+ 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Add comments about peephole2's.
+ 
+ 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Tweak operand numbers of some
+ 	peephole2's.
+ 
+ 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Tweak comments about peephole2's.
+ 
+ 2004-02-29  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
+ 
+ 	PR middle-end/14203
+ 	* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
+ 	instead of testing whether DECL_RTL is not NULL.
+ 
+ 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh.c: Fix formatting.
+ 
+ 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh.c: Convert to ISO-C.
+ 
+ 2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
+ 	my previous patch.
+ 
+ 	* config/darwin.h (machopic_finish): Output stub even if the
+ 	symbol is already defined.
+ 
+ 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
+ 
+ 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genattr.c (main): Don't define
+ 	TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
+ 	* system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
+ 	(DFA_PIPELINE_INTERFACE): Likewise.
+ 	* doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
+ 	(DFA_PIPELINE_INTERFACE): Likewise.
+ 
+ 2004-02-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (tstsi, tstdi): Delete.
+ 
+ 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 
+ 	* config/mips/mips.c (override_options): Remove an obsolete
+ 	duplicate definition of the "e" constraint.
+ 	* config/mips/mips.h: Update a comment accordingly.
+ 
+ 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 
+ 	* config/mips/mips.md: Complete the unfinished R4000
+ 	multiply/shift errata workaround.  Improve documentation.
+ 	(hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
+ 	has a hilo hazard.
+ 	(mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
+ 	(muldi3, muldi3_internal): Likewise.
+ 	(muldi3_internal2): Remove, replacing with...
+ 	(muldi3_mult3, muldi3_r4000): ...these new patterns.
+ 	(mulsidi3): Take the errata into account.
+ 	(mulsidi3_32bit): Remove, replacing with...
+ 	(mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
+ 	(mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
+ 	(umulsidi3): Take the errata into account.
+ 	(umulsidi3_32bit): Remove, replacing with..
+ 	(umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
+ 	(umulsi3_highpart, umulsi3_highpart_internal): Disable if
+ 	TARGET_FIX_R4000.
+ 	(smulsi3_highpart, smulsi3_highpart_internal): Likewise.
+ 	(smuldi3_highpart, umuldi3_highpart): Likewise.
+ 	* doc/invoke.texi: Document the errata workaround.
+ 
+ 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 
+ 	* config/mips/mips-protos.h (mips_idiv_insns): Declare.
+ 	* config/mips/mips.h (MASK_FIX_SB1): Bump.
+ 	(MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
+ 	(TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
+ 	* config/mips/mips.c (mips_idiv_insns): New function.
+ 	(override_options): Make -march=r4000 imply -mfix-r4000 by default.
+ 	(mips_output_division): Add a workaround for the R4000 divide/shift
+ 	errata.
+ 	* config/mips/mips.md (length): Use mips_idiv_insns() to calculate
+ 	the length of an "idiv" instruction.
+ 	* doc/invoke.texi: Document the new switches.
+ 
+ 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
+ 	TARGET_SCHED_IS_COSTLY_DEPENDENCE.
+ 
+ 2004-02-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR optimization/14229
+ 	* cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
+ 
+ 2004-02-28  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* fold-const.c (fold): Strip NOPs that change the signedness
+ 	for RSHIFT too.  Expand comment.
+ 
+ 2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR optimization/7871
+ 	* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
+ 	from or to call insns.
+ 
+ 2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR optimization/7871
+ 	* flow.c (propagate_one_insn): Interpret calls as setting global
+ 	registers, not merely clobbering them.
+ 
+ 2004-02-27  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.c (machopic_output_possible_stub_label):  Remove.
+ 	config/darwin-protos.h:  Ditto.
+ 	config/darwin.h:  Remove call to it.
+ 	* combine.c (distribute_notes): Do not place a REG_DEAD note
+ 	when value is both set and used.
+ 
+ 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
+ 	as well.
+ 	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
+ 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
+ 
+ 2004-02-27  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
+ 	Speedup common case of the type values being in the same order.
+ 
+ 2004-02-27  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (no-inline-float-divide): New option.
+ 	* config/ia64/ia64.h (no-inline-int-divide): New option.
+ 	* config/ia64/ia64.h (no-inline-sqrt): New option.
+ 	(TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
+ 	* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
+ 	* config/ia64/ia64.c (ia64_override_options): Modify error
+ 	checking for inlined division/sqrt.
+ 
+ 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
+ 	ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
+ 	value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
+ 	config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
+ 	copyright.
+ 
+ 2004-02-27  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* function.c (assign_parms): Don't count pretend args for alignment.
+ 
+ 2004-02-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* passes.c: New file.
+ 	* Makefile.in (OBJS-common): Add it.
+ 	* diagnostic.c (rtl_dump_and_exit): Move decl ...
+ 	* flags.h (rtl_dump_and_exit): ... here.
+ 	* output.h (size_directive_output, last_assemble_variable_decl):
+ 	Move from toplev.c.
+ 	* rtl.h (reg_alloc): Move from toplev.c.
+ 	* toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
+ 	struct dump_file_info, enum dump_file_index, dump_file_tbl,
+ 	open_dump_file, close_dump_file, rest_of_decl_compilation,
+ 	rest_of_type_compilation, rest_of_handle_final,
+ 	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
+ 	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
+ 	rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
+ 	rest_of_handle_regrename, rest_of_handle_reorder_blocks,
+ 	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
+ 	rest_of_handle_tracer, rest_of_handle_if_conversion,
+ 	rest_of_handle_if_after_combine, rest_of_handle_web,
+ 	rest_of_handle_branch_prob,
+ 	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
+ 	rest_of_handle_addressof, rest_of_handle_sibling_calls,
+ 	rest_of_handle_jump_bypass, rest_of_handle_inlining,
+ 	rest_of_handle_null_pointer, rest_of_handle_combine,
+ 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
+ 	rest_of_handle_gcse, rest_of_handle_loop_optimize,
+ 	rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
+ 	(decode_d_option): Use enable_rtl_dump_file.
+ 	(compile_file, finalize, do_compile): Move profile+combine+graph
+ 	cleanup to finish_optimization_passes.
+ 	* toplev.h (init_optimization_passes, finish_optimization_passes,
+ 	enable_rtl_dump_file): Declare.
+ 
+ 2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold): Revert 2004-02-25 change.  Use the original
+ 	operands to build a tree with swapped operands.
+ 	* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
+ 	'unsignedp' predicate to specify the signedness.
+ 
+ 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
+ 	expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
+ 	params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
+ 	comment typos and formatting.  Follow spelling conventions.
+ 
+ 2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
+ 	fix_truncsfsi2.
+ 
+ 	* config/rs6000/spe.md: Delete spe_efsctuiz.
+ 	Add spe_fixuns_truncsfsi2.
+ 	Add spe_fix_truncsfsi2.
+ 
+ 2004-02-26  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* c-lex.c (c_lex_string_translate): New variable.
+ 	(lex_string): Use to determine string translation.
+ 	* c-pragma.h: Prototype.
+ 	* c-parse.in (start_string_translation): New. Set above.
+ 	(stop_string_translation): Ditto.
+ 	(attribute, attribute_list, asm_def, asm_stmt,
+ 	asm_operand): Use above functions.
+ 	* cp/parser.c (cp_parser_declaration): Translate strings
+ 	unless token is RID_EXTERN. Set c_lex_string_translate
+ 	for recursive use.
+ 	(cp_parser_asm_definition): Only translate argument strings
+ 	to asms.
+ 	(cp_parser_asm_operand_list): Ditto.
+ 	(cp_parser_attribute_list): Do not translate attribute strings.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (expand_start_case_dummy): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (apply_args_register_offset): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stor-layout.c (is_pending_size): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* recog.c (validate_replace_src): Remove.
+ 	* recog.h: Remove the corresponding prototype.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
+ 	MAYBE_REG_PARM_STACK_SPACE.
+ 	* function.c: Likewise.
+ 	* system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
+ 	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
+ 	* doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
+ 	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c (c_expand_deferred_function): Remove.
+ 	* c-tree.h: Remove the corresponding prototype.
+ 
+ 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* postreload.c (reload_cse_move2add): Generate just a PLUS
+ 	instead of an entire SET.
+ 
+ 2004-02-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
+ 	/pentium4m.
+ 	* i386.c (override_options): Add support for new CPUs.
+ 	* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
+ 	(TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
+ 	constants.
+ 	* invoke.texi: Extend documentation of -mtune/-march for new CPUs.
+ 
+ 2004-02-26  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
+ 
+ 2004-02-26  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
+ 	(sparc_emit_fixunsdi): New prototype.
+ 	* config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
+ 	(sparc_emit_fixunsdi): New function.
+ 	* config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
+ 	operand 1.  Pass SFmode to sparc_emit_floatunsdi.
+ 	(floatunsdidf2): Use 'general_operand' for operand 1.  Pass DFmode
+ 	to sparc_emit_floatunsdi.
+ 	(fixuns_truncsfdi2): New expander.
+ 	(fixuns_truncdfdi2): Likewise.
+ 
+ 2004-02-26  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
+ 	unless HAVE_cc0.
+ 
+ 2004-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* explow.c (force_reg): Call mark_reg_pointer as appropriate.
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
+ 	use (op0-op1) == 0 if op0 is a pointer.
+ 	* config/alpha/alpha.md (cmpdi): Use some_operand.
+ 	(three comparison combine splits): Remove.
+ 
+ 2004-02-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/12794
+ 	* c-common.c (handle_alias_attribute): Reject the attribute if
+ 	current_function_decl is set.
+ 
+ 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config.gcc: Add comment describing extra_gcc_objs.
+ 	i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
+ 	* configure.ac (extra_gcc_objs): New substitution variable.
+ 	(host_extra_gcc_objs): Don't substitute.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Use extra_gcc_objs.
+ 
+ 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/contrib.texi: Add an entry for myself.
+ 
+ 2004-02-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (make_eh_edge, break_superblocks): Declare.
+ 	* cfgbuild.c (make_eh_edge):  Make global.
+ 	* cfglayout.c (break_superblocks): Likewise; fix memory leak.
+ 	* except.c (build_post_landing_pads, connect_post_landing_pads,
+ 	dw2_build_landing_pads, sjlj_emit_function_enter,
+ 	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
+ 	sjlj_build_landing_pads): Update CFG.
+ 	(emit_to_new_bb_before): New function.
+ 	(finish_eh_generation): Do not rebuild the CFG.
+ 
+ 2004-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
+ 	target_cpu_default defines.
+ 	* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
+ 	* pa.h (TARGET_DEFAULT): Likewise.
+ 
+ 2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
+ 	comparisons with regard to signedness.
+ 
+ 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_legitimize_address): New function.
+ 	* arm-protos.h: Prototype it.
+ 	* arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
+ 	(LEGITIMIZE_ADDRESS): Use it.
+ 
+ 2004-02-25  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* reload1.c (reload): Only spill eliminable register with multiple
+ 	adjacent elimination alternatives if all alternatives fail.
+ 
+ 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_legitimate_index_p): For QImode the range of an offset
+ 	is -4095...+4095 inclusive.
+ 
+ 2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (sparc-sun-solaris2* specific notes): Document
+ 	the bootstrap failure with Sun CC 5.4 and 5.5.
+ 
+ 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (cse_change_cc_mode_insns): Stop at any instruction
+ 	which modifies NEWREG.
+ 	(cse_condition_code_reg): Update the mode of CC_REG in
+ 	CC_SRC_INSN on our own.
+ 
+ 2004-02-24  Michael Matz  <matz@suse.de>
+ 
+ 	* config/i386/i386.c (ix86_comp_type_attributes): Check for
+ 	regparm attributes.
+ 
+ 2004-02-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	* toplev.c (dump_file_tbl): Rename from dump_file.
+ 	* bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
+ 	cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
+ 	config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
+ 	config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
+ 	loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
+ 	ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
+ 	toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
+ 	s/rtl_dump_file/dump_file/g.
+ 
+ 2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
+ 	(spe_fixuns_truncsfsi2): Delete.
+ 
+ 	* config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
+ 	(fixuns_truncsfsi2): Delete.
+ 
+ 2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/14240
+ 	* rtlanal.c (replace_label): Fix replacing labels in constant pool.
+ 
+ 2004-02-24  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h (TARGET_HAS_F_SETLKW): Define.
+ 
+ 2004-02-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree.c (check_qualified_type): New fn.
+ 	(get_qualified_type): Use it.  If type already has the desired
+ 	quals, just return it.
+ 	* tree.h: Declare it.
+ 
+ 2004-02-24  Sanjiv Kumar Gupta  <sanjivg@noida.hcltech.com>
+ 
+ 	* target-def.h (TARGET_SCHED_INIT_GLOBAL,
+ 	TARGET_SCHED_FINISH_GLOBAL): New macros.
+ 
+ 	* target.h (md_init_global, md_finish_global): Function
+ 	declarations corresponding to new target macros.
+ 
+ 	* haifa-sched.c (sched_init, sched_finish): Allow target to
+ 	call the new schedular hooks.
+ 
+ 	* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
+ 	call to update_life_info.
+ 
+ 	* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
+ 	flag_schedule_insns for SH4.
+ 
+ 	* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
+ 	find_set_regmode_weight, find_insn_regmode_weight,
+ 	find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
+ 	sh_variable_issue, high_pressure, ready_reorder,
+ 	rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
+ 	functions used to throttle the insn movement in first
+ 	scheduling pass for SH.
+ 
+ 	* gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
+ 	TARGET_SCHED_FINISH_GLOBAL.
+ 
+ 2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
+ 	2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
+ 	symbols in sections named by the user.
+ 	2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
+ 	2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
+ 	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
+ 	the above.
+ 	2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
+ 	one more pseudo to further improve code generation.
+ 	2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
+ 	inside UNSPEC.
+ 	2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_legitimate_address_p): Added
+ 	allow_double_reg_p argument.  Adjust all callers.  Use it to
+ 	decide whether to enable double-register indirect addressing.
+ 	(frv_funcdesc_alias_set): Remove.
+ 	(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
+ 	register.  Emit movdi_ldd.
+ 	(ldd_address_operand): New.
+ 	* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
+ 	* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+ 	(PREDICATE_CODES): Add ldd_address_operand.
+ 	* config/frv/frv.md (movdi_ldd): New.
+ 	(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
+ 	intermediate computations if possible.
+ 	(symGOTOFF2reg_i): Fix harmless typo.
+ 	2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
+ 	relocated p_vaddr to vaddr type.
+ 	* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
+ 	* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
+ 	(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
+ 	MEM, or use a funcdesc alias set.  Use regular move instead of
+ 	ldd.
+ 	(dbl_memory_one_insn_operand): Recognize function descriptors by
+ 	type or by alias set, and don't split them.
+ 	* config/frv/frv.md (call, call_value): Never use call_internal
+ 	for fdpic.
+ 	(call_internal, call_value_internal): Never match for FDPIC.
+ 	(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
+ 	call_value_fdpicsi): Require FDPIC.
+ 	(ldd): Removed.
+ 	2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
+ 	* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
+ 	(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
+ 	FDPIC.  Compute data base address.
+ 	* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
+ 	before the other self-specs are processed.
+ 	* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
+ 	Build with -fPIC.
+ 	2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
+ 	* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
+ 	inhibit_libc is defined.
+ 	2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
+ 	* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
+ 	__FRV_FDPIC__.
+ 	(__RELOC_POINTER): Define.
+ 	(_Unwind_IteratePhdrCallback): Use it.
+ 	* config/frv/frv.h (Twrite): Define.
+ 	(TRANSFER_FROM_TRAMPOLINE): Use it.
+ 	* config/frv/linux.h (INVOKE__main): Undefine.
+ 	(Twrite): Override.
+ 	2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
+ 	* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
+ 	(-mlibrary-pic): Emphasize that this option generates EABI code.
+ 	(-mcpu): Add fr550.
+ 	(-mpack): Remove.
+ 	2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
+ 	and CONSTs in FDPIC mode.
+ 	* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
+ 	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv.c (move_source_operand): Don't accept symbolic
+ 	constants.
+ 	* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
+ 	rather than 'i' constraint for the 2-instruction alternative.
+ 	(*movsi_2word): New, incorporating existing int_2word_operand splitter.
+ 	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
+ 	EXTRA_CONSTRAINT_FOR_Y.
+ 	(EXTRA_CONSTRAINT): Remove handling of 'Y'.
+ 	* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
+ 	(addsi3): Change 'Y' constraint to 'Q'.
+ 	2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
+ 	* reload.c (CONST_POOL_OK_P): New macro.
+ 	(find_reloads): Use it to decide whether a constant can be forced
+ 	into memory.
+ 	* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
+ 	constant satisfies got12_operand.
+ 	(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
+ 	(frv_legitimate_address_p): Check for valid unspec offsets using
+ 	got12_operand rather than frv_legitimate_fdpic_operand_p.
+ 	(frv_legitimate_fdpic_operand_p): Delete.
+ 	(frv_emit_movsi): Abort if we try to use the FDPIC register during
+ 	or after reload.
+ 	(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
+ 	TARGET_FDPIC.
+ 	* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
+ 	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
+ 	(frv_fdpic_fptr_operand): Don't declare here.
+ 	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
+ 	rather than fdpic_got12_operand.
+ 	(PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
+ 	got12_operand and const_unspec_operand.
+ 	* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
+ 	(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
+ 	(symbolic_operand): Remove.
+ 	(const_unspec_operand): New predicate.
+ 	* config/frv/frv.md (*movsi_got): Use got12_operand.
+ 	(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
+ 	2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
+ 	* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
+ 	* config/frv/frv.c (frv_unspec): New structure.
+ 	(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
+ 	(frv_print_operand_memory_reference): Use frv_const_unspec_p to
+ 	validate CONST indices.  Use frv_output_const_unspec to print them.
+ 	(frv_print_operand): Update call to unspec_got_name.  Use
+ 	frv_output_const_unspec to print constant unspecs.
+ 	(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
+ 	Reject UNSPECs otherwise.
+ 	(unspec_got_name): Take the relocation number as argument, not an
+ 	rtx containing it.
+ 	(frv_output_addr_const_extra): Remove, replacing with...
+ 	(frv_output_const_unspec): ...this new function.
+ 	(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
+ 	(gpr_or_int12_operand): Use fdpic_got12_operand.
+ 	(dbl_memory_one_insn_operand): Likewise.
+ 	(fdpic_got12_operand): Use frv_const_unspec_p.
+ 	(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
+ 	are already legitimate.  Use frv_small_data_reloc_p when deciding
+ 	whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
+ 	2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
+ 	* config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
+ 	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+ 	label, for real this time.
+ 	* config/frv/frv.c (frv_local_funcdesc_p): Update to new
+ 	representation of visibility.
+ 	(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
+ 	such.
+ 	2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
+ 	(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
+ 	* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
+ 	it was explicitly disabled.
+ 	(frv_stack_info): There is no need to save the link register in every
+ 	frame unless TARGET_LINKED_FP is true.
+ 	(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
+ 	frame pointer if the stack pointer might change value.
+ 	(frv_return_addr_rtx): Check and process "count" argument.
+ 	2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/frv/frv-protos.h (frv_legitimize_address): Remove.
+ 	(frv_find_base_term): Declare.
+ 	* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
+ 	(FIND_BASE_TERM): Define.
+ 	(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
+ 	small_data_register_operand, small_data_symbolic_operand.  Add
+ 	symbolic_operand.
+ 	* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
+ 	(frv_print_operand_memory_reference, output_move_single): Remove
+ 	special handling for unlegitimized sdata addresses.
+ 	(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
+ 	and symbolic addresses.
+ 	(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
+ 	(frv_find_base_term): New function.
+ 	(int_2word_operand): Check specifically for symbolic address constants.
+ 	(pic_register_operand, pic_symbolic_operand): Delete.
+ 	(small_data_register_operand, small_data_symbolic_operand): Delete.
+ 	(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
+ 	Allow UNSPEC_GOT constants if !TARGET_FDPIC.
+ 	(move_source_operand): Only accept CONSTs if they're a two-insn
+ 	symbolic constant.
+ 	(fdpic_got12_operand): Don't require TARGET_FDPIC.
+ 	(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
+ 	using gen_symGOTOFF2reg*.
+ 	(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
+ 	(frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
+ 	themselves a cost of 3 insns.
+ 	* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
+ 	Change predicate to symbolic_operand.
+ 	(*movsi_high_got, *movsi_lo_sum_got): Likewise.
+ 	(*movsi_lda_sdata): Delete.
+ 	(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
+ 	2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
+ 	frv-*-*linux*.
+ 	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
+ 	label.
+ 	* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
+ 	-multilib-library-pic.
+ 	(LINK_SPEC): Add -z text for -mfdpic.
+ 	* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
+ 	* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
+ 	* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
+ 	Override.
+ 	(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
+ 	FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
+ 	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
+ 	crtstuff-generated files.
+ 	2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config.gcc: Add frv-*-*linux*.
+ 	* config/frv/linux.h, config/frv/t-linux: New.
+ 	2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
+ 	when -mfdpic even if a linker script is explicitly listed.
+ 	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_override_options): Clear asm_out
+ 	unaligned_op for SImode on FDPIC.
+ 	(frv_emit_movsi): Use compute_reloc_for_constant to compute the
+ 	argument passed to decl_readonly_section.
+ 	(frv_assemble_integer): Revert 2003-09-30's change, but make the
+ 	whole block run with FDPIC even with -fno-PIC.
+ 	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
+ 	symbol or label plus offset to memory.
+ 	(frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
+ 	GOTOFF and GPREL for LABEL_REF.
+ 	* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
+ 	-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
+ 	(MASK_GPREL_RO, TARGET_GPREL_RO): New.
+ 	(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
+ 	* doc/invoke.texi: Document them.
+ 	2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
+ 	(frv_splittable_got_operand): Removed.
+ 	* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
+ 	LO_SUM.  Add comments.
+ 	(frv_override_options): Moved enabling of FDPIC to
+ 	DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
+ 	(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
+ 	(frv_legitimize_fdpic_address): Don't duplicate logic in
+ 	frv_emit_movsi.
+ 	(frv_gen_GPsym2reg): New.
+ 	(unspec_got_name): Added gprel.
+ 	(frv_expand_fdpic_call): Add support for inlining PLTs.
+ 	(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
+ 	(gpr_or_int12_operand): Added GPREL12.
+ 	(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
+ 	(small_data_symbolic_operand): Fail if FDPIC.
+ 	(fdpic_splittable_got_operand): Removed.
+ 	(fdpic_got12_operand): Added GPREL12.
+ 	(frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
+ 	when appropriate.  Fix sdata GOTOFF.
+ 	(frv_legitimate_constant_p): Require legitimate PIC operand for
+ 	FDPIC with pic, but only a legitimate fdpic operand for non-pic.
+ 	(frv_assemble_integer): Move FDPIC funcdesc handling out of
+ 	flag_pic case.
+ 	(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
+ 	frv_assemble_integer fails.
+ 	* config/frv/frv.h (DRIVER_SELF_SPECS): New.
+ 	(SUBTARGET_DRIVER_SELF_SPECS): New.
+ 	(ASM_SPEC): Don't pass -mno-fdpic.
+ 	(LINK_SPEC): Pass -melf32frvfd for FDPIC.
+ 	(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
+ 	(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
+ 	-multilib-library-pic.
+ 	(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
+ 	condexec_si_media_operator, condexec_sf_add_operator and
+ 	condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
+ 	and condexec_sf_unary_operator.
+ 	* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
+ 	New.
+ 	(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
+ 	movsi_internal.  Give them internal names.  movsi_got has type
+ 	int.
+ 	(fdpic got splitters): Remove.
+ 	(symGPREL2reg, symGPREL2reg_hilo): New.
+ 	* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
+ 	to -mlibrary-pic.  Map -multilib-library-pic to it.
+ 	* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
+ 	Document.
+ 	2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
+ 	(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
+ 	(frv_cannot_force_const_mem): New function.
+ 	(const_small_data_p, plus_small_data_p): Update comments on sdata
+ 	on FDPIC.
+ 	(frv_override_options): Set flag_pie for FDPIC too.
+ 	(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
+ 	call-saved registers on FDPIC.
+ 	(frv_stack_info): Don't preserve the PIC register on FDPIC, and
+ 	don't force LR to be preserved.
+ 	(frv_expand_prologue): Likewise.
+ 	(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
+ 	(frv_frame_pointer_required): Don't force it just because the
+ 	FDPIC register is used.
+ 	(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
+ 	operand only if !condexec_p.
+ 	(frv_legitimize_address): Return the FDPIC-legitimized address.
+ 	Don't match small data here on FDPIC.
+ 	(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
+ 	symbols.  Use TRUE/FALSE instead of 1/0.
+ 	(frv_local_funcdesc_p): New.
+ 	(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
+ 	immediates when possible.
+ 	(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
+ 	(dbl_memory_one_insn_operand): Accept addresses that add a REG and
+ 	an UNSPEC_GOT.
+ 	(frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
+ 	12-bit immediates when possible.
+ 	(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
+ 	are not legitimate pic operands.
+ 	(frv_in_small_data_p): Re-enable for FDPIC.
+ 	* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
+ 	(FRV_GLOBAL_P): Removed.
+ 	* config/frv/frv.md: Add modes to CONSTs.
+ 	(movsi_got): New.
+ 	(movsi_lo_sum_got): Use separate matches instead of match_dup.
+ 	(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
+ 	(fdpic splittable operations): Match on flag_pic != 1.
+ 	2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_asm_out_constructor,
+ 	frv_asm_out_destructor): Pass to frv_assemble_integer the size in
+ 	bytes, not bits.
+ 	2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
+ 	* config/frv/frv.c (frv_assemble_integer): Reject complex
+ 	expressions referencing function SYMBOL_REFs.
+ 	* config/frv/frv.c (frv_function_symbol_referenced_p): New.
+ 	(move_source_operand): Reject CONSTs that reference function
+ 	SYMBOL_REFs on FDPIC.
+ 	(frv_emit_movsi): If we get such a CONST, break it up.
+ 	* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
+ 	(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
+ 	* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
+ 	MEM.
+ 	(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
+ 	(frv_trampoline_size): Increase for FDPIC.
+ 	* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
+ 	(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
+ 	* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
+ 	Disable use of GOTOFF for now.
+ 	(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
+ 	Disable use of small data in FDPIC for now.
+ 	(frv_asm_output_mi_thunk): Implement for FDPIC.
+ 	* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
+ 	* config/frv/frv.c (frv_asm_out_constructor): Use
+ 	frv_assemble_integer for FDPIC pointers.
+ 	(frv_asm_out_destructor): Likewise.
+ 	* config/frv/frv.md (ldd): Fix order of operands.  Use
+ 	address_operand for input.
+ 	2003-09-18  DJ Delorie  <dj@redhat.com>
+ 	* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
+ 	(unspec_got_name): Correct typo.
+ 	(frv_emit_movsi): Pre-expand splittable GOTs.
+ 	(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
+ 	* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
+ 	(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
+ 	* config/frv/t-frv: Add -mfdpic multilibs.
+ 	* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
+ 	(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
+ 	* config/frv/frv.c (frv_override_options): -mfdpic assumes
+ 	flag_pic, default to 32-bit pics, require DWORD ops.
+ 	(frv_override_options): Add W and Z constraints.
+ 	(frv_expand_prologue): No pic prologue for -mfdpic.
+ 	(frv_asm_output_mi_thunk): Support -mfdpic (soon).
+ 	(frv_print_operand_memory_reference): Handle GOT constants.
+ 	(frv_legitimate_address_p): Allow GOT constants.
+ 	(frv_legitimize_address): Handle GOT addresses too.
+ 	(frv_legitimate_fdpic_operand_p): New.
+ 	(frv_legitimize_fdpic_address): New.
+ 	(unspec_got_name): New.
+ 	(frv_output_addr_const_extra): New.
+ 	(frv_expand_fdpic_call): New.
+ 	(frv_fdpic_fptr_operand): New.
+ 	(gpr_or_int12_operand): Handle GOT operands.
+ 	(int_2word_operand): Handle GOT operands.
+ 	(fdpic_operand): New.
+ 	(fdpic_splittable_got_operand): New.
+ 	(fdpic_got12_operand): New.
+ 	(frv_emit_movsi): Handle GOT operands.
+ 	(frv_assemble_integer): -mfdpic doesn't use rofixups.
+ 	(frv_print_operand): Support 'g' code for GOT operands.
+ 	* config/frv/frv-protos.h: Add prototypes as needed.
+ 	* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
+ 	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
+ 	R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
+ 	R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
+ 	R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
+ 	R_FRV_GOTOFFLO): New.
+ 	(movsi_high_got, movsi_lo_sum_got): New.
+ 	(*movsi_pic): Don't use this splitter for -mfdpic.
+ 	(addsi3): Allow GOT references also.
+ 	(call, call_value): Handle -mfdpic separately.
+ 	(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
+ 	call_value_fdpicsi): New.
+ 	(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
+ 	symGOTOFF2reg_i): New.
+ 	* config/frv/frv.h (MASK_FDPIC): New.
+ 	(TARGET_FDPIC): New.
+ 	(TARGET_SWITCHES): Add -mfdpic.
+ 	(FDPIC_FPTR_REGNO): New.
+ 	(FDPIC_REGNO): New.
+ 	(OUR_FDPIC_REG): New.
+ 	(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
+ 	FDPIC_CALL_REGS.
+ 	(REG_CLASS_NAMES): Likewise.
+ 	(REG_CLASS_CONTENTS): Likewise.
+ 	(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
+ 	(EXTRA_CONSTRAINT): Add it here.
+ 	(FRV_GLOBAL_P): New.
+ 	(OUTPUT_ADDR_CONST_EXTRA): New.
+ 
+ 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sparc/sparc.h: Remove commented-out definitions of
+ 	TARGET_EDOM and GEN_ERRNO_RTX.
+ 
+ 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
+ 	df_analyse with df_analyze.
+ 
+ 2004-02-24  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
+ 	beginning of block.
+ 
+ 2004-02-23  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* calls.c (precompute_arguments): Update comment.
+ 
+ 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* et-forest.c: Replace et_occurences with et_occurrences.
+ 
+ 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
+ 	with iv_analyze.
+ 
+ 2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/i386/i386.c: Rename pni to sse3.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/i386.md: Likewise.
+ 	* config/i386/pmmintrin.h: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2004-02-23  Zack Weinberg  <zack@codesourcery.com>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	Remove -fwritable-strings.
+ 	* c-common.c (fix_string_type): Don't check
+ 	flag_writable_strings.
+ 	(fix_string_type): Likewise.
+ 	* c-opts.c (set_std_c89): Don't initialize
+ 	flag_writable_strings.
+ 	(set_std_c99): Likewise.
+ 	* common.opt (fwritable-strings): Remove.
+ 	* flags.h: Remove the external declaration of
+ 	flag_writable_strings.
+ 	* opts.c (common_handle_option) <OPT_fwritable_strings>:
+ 	Remove.
+ 	* toplev.c (flag_writable_strings): Remove.
+ 	(f_options): Remove an entry for writable-strings.
+ 	* varasm.c (const_hash_1) <STRING_CST>: Don't check
+ 	flag_writable_strings.
+ 	(compare_constant) <STRING_CST>: Likewise.
+ 	(build_constant_desc): Likewise.
+ 	* config/darwin.c (machopic_select_section): Likewise.
+ 	* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
+ 	* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
+ 	* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
+ 	* config/mips/mips.c (mips_select_section): Likewise.
+ 	(mips_encode_section_info): Likewise.
+ 	* config/pa/pa.c (pa_select_section): Likewise.
+ 	* config/pa/pa.h (TEXT_SPACE_P): Likewise.
+ 	* config/v850/v850.c (v850_select_section): Likewise.
+ 	* doc/invoke.texi (-fwritable-strings): Remove.
+ 	(-fno-const-strings): Don't mention -fwritable-strings.
+ 	* doc/trouble.texi: Don't mention -fwritable-strings.
+ 
+ 2004-02-23  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
+ 
+ 2004-02-23  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
+ 	(movdf_hardfloat64):  Ditto.
+ 	(movdf_softfloat64):  Ditto.
+ 
+ 2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
+ 	* config/rs6000/rs6000.c (function_arg): call to
+ 	rs6000_mixed_function_arg for DFmode moved to allow
+ 	normal DFmode incoming register assignment.
+ 
+ 2004-02-23  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
+ 	(movdf_hardfloat64):  Ditto.
+ 
+ 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
+ 	config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
+ 	copyright.
+ 
+ 2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/14156
+ 	* c-typeck.c (c_expand_return): Change check for VAR_DECL
+ 	to use DECL_P instead.
+ 
+ 	* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
+ 	* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
+ 
+ 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* Makefile.in (opts.o): Depend on target.h.
+ 	* opts.c (decode_options): Use targetm.default_short_enums
+ 	instead of DEFAULT_SHORT_ENUMS.
+ 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
+ 	* target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
+ 	(TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
+ 	* target.h (gcc_target): Add default_short_enums.
+ 	* config/cris/cris.h: Remove a comment about
+ 	DEFAULT_SHORT_ENUMS.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
+ 	TARGET_DEFAULT_SHORT_ENUMS.  Update the description.
+ 
+ 2004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Falk Hueffner  <falk@debian.org>
+ 
+ 	PR c/14188
+ 	* builtins.c (expand_builtin_va_arg): Emit an informative message
+ 	if a trap is generated.
+ 	* c-typeck.c (build_function_call): Likewise.
+ 
+ 2004-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
+ 	fopen.
+ 	* libgcov.c: Include sys/stat.h.
+ 	* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
+ 	* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
+ 	* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
+ 	* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
+ 
+ 2004-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reorg.c: Remove comments about dead ports.
+ 
+ 2004-02-22  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
+ 	extra host object file when targetting cygwin rather than generic
+ 	object files.
+ 
+ 2004-02-22  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	Merge from tree-ssa:
+ 	2003-11-20  Richard Henderson  <rth@redhat.com>
+ 
+ 		* tree-inline.c (insert_decl_map): New.
+ 		(remap_decl, remap_type, remap_block, copy_body_r,
+ 		initialize_inlined_parameters, declare_return_variable,
+ 		remap_save_expr): Use it.
+ 
+ 	* function.c (copy_body_r): Add mapping from id->ret_label to
+ 	id->ret_label.  Revert test for ret_label.
+ 
+ 2004-02-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* genoutput.c (process_template): Strip trailing whitespace in @
+ 	templates and issue a warning if there was any.
+ 
+ 2004-02-21  Christopher Faylor  <cgf@redhat.com>
+ 
+ 	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
+ 	object file when targetting cygwin.
+ 	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
+ 	overridden by top-level Makefile.
+ 
+ 2004-02-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.c (standard_80387_constant_p): Also prefer
+ 	the x87's load constant instructions when optimizing for size.
+ 
+ 2004-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (SHIFT_COUNT_TRUNCATED): Remove.
+ 	* defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
+ 	* expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
+ 	* fold-const.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 
+ 2004-02-21  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* combine.c (can_combine_p): Don't ignore SETs marked with
+ 	REG_EH_REGION notes.
+ 	(try_combine): When attemting to fix unrecognized insns, don't
+ 	split a PARALLEL that contains the original i2.
+ 
+ 2004-02-21  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
+ 	SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
+ 	* config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
+ 	* config/rs6000/altivec.h: #error out if '-maltivec' not specified.
+ 	(vector, pixel, bool): #define to __vector, __pixel and __bool.
+ 	(__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
+ 	portion of header.
+ 	(__altivec_link_error_invalid_argument): Remove prototype; will use
+ 	__builtin_altivec_compiletime_error("vec_*") instead.
+ 	(vec_*): Fix/complete set of available operation overloads given the
+ 	existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
+ 	cv-correctness of pointer arguments; in C, always check for correct
+ 	argument types before macro expansion.
+ 	* config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
+ 	defining Darwin/PowerPC-specific '-f[no-]altivec' and
+ 	'-W[no-]altivec-long-deprecated' switches.
+ 	* config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
+ 	'__vector', '__pixel' and '__bool' macros using
+ 	'__attribute__((altivec(...)))' types.
+ 	* config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
+ 	bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
+ 	bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
+ 	New type nodes.
+ 	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
+ 	handling '-W[no-]altivec-long-deprecated'.
+ 	(rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
+ 	(rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
+ 	altivec_expand_dst_builtin): Remove casts from integer literals.
+ 	(altivec_expand_builtin): Likewise; handle expansion of new
+ 	'__builtin_altivec_compiletime_error' function.
+ 	(rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
+ 	types, and make them distinct from other vector types; register
+ 	'__builtin_altivec_compiletime_error' function.
+ 	(print_operand): For 'P', print a full target register name instead of
+ 	merely its number.
+ 	(rs6000_attribute_table): Add "altivec" attribute.
+ 	(rs6000_handle_altivec_attribute): New function.
+ 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
+ 	'-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
+ 	maps to).
+ 	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
+ 	declare.
+ 	(ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
+ 
+ 2004-02-20  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
+ 	check.
+ 	(shift_mix4left+2): Delete redundant pattern.
+ 
+ 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c (OUTGOING_REGNO): Don't define the default.
+ 	* builtins.c (OUTGOING_REGNO): Likewise.
+ 	(INCOMING_REGNO): Likewise.
+ 	(apply_args_register_offset): Always use OUTGOING_REGNO.
+ 	* combine.c (OUTGOING_REGNO): Likewise.
+ 	* sibcall.c (OUTGOING_REGNO): Likewise.
+ 	* defaults.h (INCOMING_REGNO): Provide the default.
+ 	(OUTGOING_REGNO): Likewise.
+ 
+ 2004-02-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* params.def (max-peeled-insns, max-completely-peeled-insns,
+ 	max-once-peeled-insns): Set to 400.
+ 
+ 2004-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR c++/12007
+ 	* dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
+ 	are set for parameters before outputing debugging information.
+ 
+ 2004-02-20  Falk Hueffner  <falk@debian.org>
+ 
+ 	PR target/14201
+ 	* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
+ 	numbers.
+ 
+ 2004-02-20  Per Bothner  <per@bothner.com>
+ 
+ 	* input.h:  Don't #include line-map.h.  It may cause link problems
+ 	with undefined linemap_line_start when line-map.h is included but
+ 	line-map.o is not linked, as currently happens with gengtype on
+ 	compilers that don't support inline.
+ 	* toplev.c:  So we do have to explicitly #include line-map.h here.
+ 
+ 2004-02-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/invoke.texi: Add -Wvariadic-macros.
+ 
+ 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* haifa-sched.c (sched_emit_insn): Remove.
+ 	* sched-int.h: Remove the corresponding prototype.
+ 
+ 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	Revert:
+ 	2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
+ 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
+ 	* config/cris/cris.h: Remove a comment about
+ 	DEFAULT_SHORT_ENUMS.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
+ 
+ 2004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
+ 	    Tom Tromey  <tromey@redhat.com>
+ 
+ 	* doc/install.texi: Moved --disable-libgcj and
+ 	--with-system-zlib documentation to new section for
+ 	Java-specific options.
+ 	Added explicit Cross-Compiler-Specific Options subheading.
+ 	Added section for Java-specific options.
+ 
+ 2004-02-20  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi (Building the Ada compiler): Remove
+ 	example.
+ 
+ 2004-02-20  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
+ 
+ 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcc.c (process_command): Allow translation of the copyright
+ 	symbol but not the rest of the copyright message.
+ 	* gcov.c (print_version): Likewise.  Allow translation of the
+ 	message about warranty.
+ 
+ 2004-02-20  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md ("*andsi_movu"): Correct parentheses in
+ 	predicate.
+ 	("*andsi_clear"): Tweak constraints to not match postincrement.
+ 	Adjust the predicate to exclude a volatile memory reference.
+ 	("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
+ 	("*andhi_clear_unsigned"): Remove, non-matching pattern.
+ 
+ 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* move-if-change: Remove.
+ 	* Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
+ 	(s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
+ 	(s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
+ 	(s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
+ 	(s-gtyp-gen, s-iov): Use the top level move-if-change.
+ 	* objc/Make-lang.in (objc/objc-parse.y): Likewise.
+ 
+ 2004-02-19  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
+ 	for operand2.  Add condition that requires register_operand operand2
+ 	before reload.
+ 
+ 2004-02-19  Richard Sandiford  <rsandifo@redhat.com>
+ 	    Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+ 
+ 	* config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
+ 	* config/mips/mips.md: Expand comment above unaligned loads and stores.
+ 
+ 2004-02-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
+ 	* tree.c (build0, build1, build2, build3, build4): Split out from...
+ 	(build): ... here.  Call them.
+ 	* tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
+ 
+ 	* convert.c (convert_to_integer): Remove extra build argument.
+ 	* tree-inline.c (expand_call_inline): Likewise.
+ 
+ 2004-02-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-opts.c (warn_variadic_macros): New.
+ 	(c_common_handle_option): Set it.
+ 	(sanitize_cpp_opts): Copy it to cpp_opts.
+ 	* c.opt (Wvariadic-macros): New.
+ 	* cpplib.h (struct cpp_options): Add warn_variadic_macros.
+ 	* cppinit.c (cpp_create_reader): Initialize it.
+ 	* cppmacro.c (parse_params): Check it.
+ 
+ 2004-02-19  David Daney <ddaney@avtrex.com>
+ 
+ 	PR preprocessor/14198
+ 	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
+ 	builtin_assert ("machine=mips")
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
+ 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
+ 	* config/cris/cris.h: Remove a comment about
+ 	DEFAULT_SHORT_ENUMS.
+ 	* config/ip2k/ip2k.h: Likewise.
+ 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
+ 
+ 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
+ 	when passing single SFmode quantities in general registers,
+ 	put them in the high half.
+ 
+ 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/md.texi (Standard Names): Document additional dependency on
+ 	fix pattern.
+ 
+ 	* optabs.c (ftruncify): Remove.
+ 	(expand_fix): Manually inline ftruncify above.
+ 	(can_fix_p): Add FIXME note.
+ 
+ 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md (spe_fixunssfsi2): Rename to
+ 	spe_fixuns_truncsfsi2.
+ 
+ 	* config/rs6000/rs6000.md (fixunssfsi2): Rename to
+ 	fixuns_truncsfsi2.
+ 
+ 2004-02-19  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
+ 	* testsuite/gcc.dg/20040219-1.c: New test.
+ 
+ 2004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
+ 	"*subsf3_cconly"): Subtraction is not commutative.
+ 
+ 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* sdbout.c (preinit_symbols, sdbout_initialized): New statics.
+ 	(sdbout_symbol): If called before sdbout_init, queue DECL for
+ 	later and return.
+ 	(sdbout_init): Set sdbout_initialized true, process decls
+ 	queued earlier by sdbout_symbol.
+ 	(sdbout_finish): Use size_t for index variable.
+ 
+ 2004-02-19  Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
+ 	for unordered comparison codes.
+ 
+ 2004-02-19  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* reload1.c (reload): Correct comment.
+ 	(scan_paradoxical_subregs): Remove #if 0 and old comment.
+ 	* doc/extend.texi (Local Reg Vars): Remove obsolete comment that
+ 	register variables are not used by reload.
+ 
+ 2004-02-19  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/14209
+ 	* config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
+ 	constraints to not match postincrement.  Adjust the predicate to
+ 	exclude a volatile memory reference.
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* hooks.c (hook_void_tree_int): Remove.
+ 	(hook_void_constcharptr): Likewise.
+ 	(hook_int_void_0): Likewise.
+ 	* hooks.h: Remove the prototypes for the above three
+ 	functions.
+ 	* targhooks.c (hook_bool_machine_mode_true): Remove.
+ 	* targhooks.h: Remove the prototype for
+ 	hook_bool_machine_mode_true.
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (subreg_realpart_p): Remove.
+ 	(reorder_insns_with_line_notes): Likewise.
+ 	(end_full_sequence): Likewise.
+ 	* rtl.h: Remove the prototype for the above functions.
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
+ 	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
+ 	config/iq2000/iq2000.h, config/m32r/m32r.h,
+ 	config/pdp11/pdp11.h, config/sparc/sparc.h,
+ 	config/xtensa/xtensa.h: Remove commented-out or useless
+ 	definitions of CASE_VECTOR_PC_RELATIVE.
+ 
+ 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop.c (all_sets_invariant_p): Remove.
+ 
+ 2004-02-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/12916
+ 	* config/sparc/sparc.h (NPARM_REGS): Delete.
+ 	(BASE_RETURN_VALUE_REG): Likewise.
+ 	(BASE_OUTGOING_VALUE_REG): Likewise.
+ 	(BASE_PASSING_ARG_REG): Likewise.
+ 	(BASE_INCOMING_ARG_REG): Likewise.
+ 	* config/sparc/sparc.c (sparc_strict_argument_naming): Test
+ 	TARGET_ARCH64, not TARGET_V9.
+ 	(function_arg_slotno): Dispatch based on the mode class.
+ 	Handle vector modes like floating-point modes.
+ 	(function_arg_record_value_1): Handle vector types like
+ 	floating-point types.
+ 	(function_arg_record_value_2): Likewise.
+ 	Calculate regno after mode transformation.
+ 	(function_arg): Handle vector modes like floating-point modes.
+ 	(function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
+ 	If ARCH64, do not recheck alignment.
+ 	(function_arg_pass_by_reference): Reorder the conditions.
+ 	(sparc_return_in_memory): Move after function_arg_padding.
+ 	Implement calling conventions for vector modes.
+ 	(sparc_struct_value_rtx): Move after sparc_return_in_memory.
+ 	(function_value): Move scope of 'regbase'.
+ 	Implement calling conventions for vector modes.
+ 	(sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
+ 	and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
+ 	(sparc_va_arg): Use function_arg_pass_by_reference to test whether
+ 	the argument is passed by reference.
+ 	(sparc_type_code): Handle vector types.
+ 
+ 2004-02-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* function.c (assign_parms): When building decl_rtl for
+ 	SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
+ 
+ 2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* expr.c (is_aligning_offset): Check if we are aligning the
+ 	expressions's address over BIGGEST_ALIGNMENT in bytes, not
+ 	in bits.
+ 
+ 2004-02-18  Matt Austern  <austern@apple.com>
+ 
+ 	* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
+ 	LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
+ 	(init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
+ 	defined.  Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
+ 	spec string.
+ 	* doc/tm.texi (REAL_LIBGCC_SPEC): Document.
+ 
+ 2004-02-18  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dwarf2out.c (loclabel_num): Move outside #ifdef
+ 	DWARF2_DEBUGGING_INFO and mark with GTY(()).
+ 	* config/ia64/ia64.c (struct extern_func_list,extern_func_head):
+ 	Mark with GTY(()).
+ 	(ia64_hpux_add_extern_decl): Save the decl, not the name string.
+ 	Allocate memory with ggc_alloc.  No need to copy anything.
+ 	(ia64_hpux_file_end): Update to match.
+ 
+ 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
+ 	by default.
+ 
+ 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
+ 	("divmodtisi3"): Likewise.
+ 	("udivmoddi4", "udivmodtidi3"): Likewise.
+ 	("divmodsi4", "divmoddisi3"): Likewise.
+ 	("udivmodsi4", "udivmoddisi3"): Likewise.
+ 	("udivsi3", "umodsi3"): Likewise.
+ 
+ 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_mainpool_start): Delete the main pool
+ 	placeholder insn when chunkifying the pool.
+ 
+ 2004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
+ 	generating PIC code.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_expand_branch.
+ 	* config/h8300/h8300.c (h8300_expand_branch): New.
+ 	* config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
+ 	bgtu, beq, bne): Call h8300_expand_branch().
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add prototypes for
+ 	h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
+ 	* config/h8300/h8300.c (h8300_hard_regno_nregs): New.
+ 	(h8300_hard_regno_mode_ok): Likewise.
+ 	* config/h8300/h8300.h (HARD_REGNO_NREGS): Call
+ 	h8300_hard_regno_nregs().
+ 	(HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
+ 
+ 2004-02-18  Per Bothner  <per@bothner.com>
+ 
+ 	* cpphash.h (struct cpp_buffer):  Restore return_at_eof field.  This
+ 	partly reverts my 2003-10-01 change, because we're back to logically
+ 	including <command line> inside the main line.
+ 	* cpplex.c (_cpp_get_fresh_line):  Check return_at_eof field.
+ 	* cppmacro.c (cpp_scan_nooutput):  Set return_at_eof of current buffer.
+ 	Fixes PR preprocessor/14103.
+ 
+ 	* cppfiles.c (_cpp_stack_include):  When appropriate decrement
+ 	line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
+ 	(cpp_push_include):  Don't need to increment pfile's line field.
+ 	* line-map.h (LAST_SOURCE_LINE_LOCATION):  Only decrement by 1.
+ 
+ 	* c-ppoutput.c (print struct):  New first_time field.
+ 	(init_pp_output):  Set print.first_time.
+ 	(pp_file_change):  Use print.first_time, rather than MAIN_FILE_P,
+ 	which is set also for (say) <command line>.  Clear print.first_time.
+ 
+ 	* cppfiles.c (struct _cpp_file):  Comment and type for pch field
+ 	does not match the code, so fix both.
+ 	(should_stack_file):  Inline include_pch_p function.
+ 	(include_pch_p):  Remove pointless function.
+ 
+ 	* cpphash.h (struct cpp_buffer):  Remove unused search_cached field.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (four define_peephole2's): Use
+ 	h8300_regs_ok_for_stm().
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype for
+ 	expand_a_rotate().
+ 	* config/h8300/h8300.c (expand_a_rotate): Remove the first
+ 	argument.
+ 	* config/h8300/h8300.md: Update all callers.
+ 
+ 2004-02-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* simplify-rtx.c (simplify_unary_operation): Deal with logicals on
+ 	floats.
+ 	(simplify_binary_operation): Deal with logicals on floats.
+ 
+ 	* i386.md (SSE fabs splitters): Emit new patterns.
+ 	(SSE cmov splitters): Likewise.
+ 	(sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
+ 	(sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
+ 	subregs.
+ 	(sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
+ 	(sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (expand_a_rotate): Don't generate insns
+ 	by hand.
+ 	(output_a_rotate): Tweak a comment.
+ 	* config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
+ 	(*rotlhi3_1): Change to rotlhi3_1.
+ 	(*rotlsi3_1): Change to rotlsi3_1.
+ 
+ 2004-02-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/13866
+ 	* arm.c (load_multiple_operation): Don't insist that the source reg
+ 	of a post-increment component is the same as the destination.
+ 	(store_multiple_operation): Likewise.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Move movsf patterns into one section
+ 	of the file.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
+ 	loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
+ 	xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
+ 	config/mips/linux64.h, config/pa/pa-64.h,
+ 	config/rs6000/aix51.h, config/rs6000/aix52.h,
+ 	config/rs6000/spe.md, config/sparc/linux.h,
+ 	config/sparc/linux64.h: Update copyright.
+ 
+ 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Move push patterns into one
+ 	section of the file.
+ 
+ 2004-02-18  Mark Mitchell <mark@codesourcery.com>
+ 
+ 	PR c++/11326
+ 	* config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
+ 	fntype.
+ 
+ 2004-02-18  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
+ 
+ 2004-02-18  Paul Brook  <paul@codesourcery.com>
+ 
+ 	PR debug/12934
+ 	* dwarf2out.c (loc_descriptor_from_tree): Handle
+ 	EXPR_WITH_FILE_LOCATION.
+ 
+ 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
+ 	testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
+ 	trailing whitespace from instructions.
+ 
+ 2004-02-17  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* configure.ac: When generating auto-build.h, pass
+ 	--enable-languages to the sub-configure.
+ 	Put quotes around ${program_transform_name} when generating
+ 	name of as, ld, nm, objdump.
+ 	* configure: Regenerate.
+ 
+ 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* Makefile.in (s-check, s-config, s-conditions, s-flags)
+ 	(s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
+ 	(s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
+ 	(s-preds, s-iov): Do not depend on move-if-change.
+ 
+ 2004-02-17  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* caller-save.c (insert_restore): Pass mem through copy_rtx.
+ 	(insert_save): Likewise.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
+ 	warning.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (*one_complsi2_h8300): Change to
+ 	*one_cmplsi2_h8300.
+ 	(*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Update the prototype of
+ 	fix_bit_operand().
+ 	* config/h8300/h8300.c (fix_bit_operand): Remove the second
+ 	argument "what".
+ 	* config/h8300/h8300.md: Update all callers.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (fix_bit_operand): Change the name of
+ 	the last argument to "code" from "type".
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c: Remove an extern declaration of
+ 	rtx_equal_function_value_matters.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (fix_bit_operand): Don't generate insns
+ 	by hand.
+ 	* config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
+ 	(*iorqi3_1): Change to iorqi3_1.
+ 	(*xorqi3_1): Change to xorqi3_1.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
+ 	typos.
+ 
+ 2004-02-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
+ 
+ 2004-02-18  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR optimization/14119
+ 	* combine.c (try_combine): When attemting to fix unrecognized insns,
+ 	don't delete SETs marked with REG_EH_REGION notes.
+ 
+ 2004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* combine.c (simplify_if_then_else): Do not replace
+ 	(if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
+ 	modes differ.
+ 
+ 2004-02-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
+ 	function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
+ 	tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
+ 	* ada/utils.c: Likewise.
+ 	* cp/decl.c: Likewise.
+ 	* f/com.c: Likewise.
+ 	* java/class.c: Likewise.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Fix comment typos.
+ 
+ 2004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/t-iris6gld: Renamed to ...
+ 	* config/mips/t-irix-gld: ... this.
+ 	* config.gcc (mips-sgi-irix6*): Reflect this
+ 	(mips-sgi-irix5*): Use it with GNU ld.
+ 
+ 	* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
+ 	to ...
+ 	* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
+ 	* config/mips/t-irix-gld: Reflect this.
+ 	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 
+ 	* config/mips/iris5gld.h: New file.
+ 	* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
+ 	Only use collect2 without gas.
+ 
+ 	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
+ 	Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
+ 	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
+ 
+ 	* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
+ 	* config/mips/iris5.h: ... here.
+ 
+ 	* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
+ 	IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
+ 	(STARTFILE_SPEC, ENDFILE_SPEC): Define.
+ 
+ 	* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
+ 	using irix_startfile_spec, irix_endfile_spec.
+ 
+ 2004-02-16  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_expand_prologue): Don't generate
+ 	insns by hand.
+ 
+ 2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfghooks.c (split_edge): Speed up updating of dominators.
+ 
+ 2004-02-17  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/11326
+ 	* c-common.c (flag_abi_version): Remove.
+ 	* c-common.h (flag_abi_version): Likewise.
+ 	* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
+ 	* c.opt (fabi-version): Remove.
+ 	* calls.c (expand_call): Always pass a function type to
+ 	struct_value_rtx.  Use convert_memory_address.
+ 	* common.opt (fabi-version): Add it.
+ 	* flags.h (flag_abi_version): Likewise.
+ 	(abi_version_at_least): New macro.
+ 	* opts.c (common_handle_option): Add OPT_fabi_version.
+ 	* toplev.c (flag_abi_version): Define it.
+ 	* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
+ 	New function.
+ 	(ia64_output_mi_thunk): Use it.
+ 	(ia64_struct_value_rtx): Likewise.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_emit_stack_adjustment):
+ 	Don't generate insns by hand.
+ 
+ 2004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c++/14178
+ 	* doc/invoke.texi (fabi-version): The default is 2 now.
+ 
+ 2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* loop-iv.c: New file.
+ 	* Makefile.in (loop-iv.o): New.
+ 	* basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
+ 	* cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
+ 	num_loop_branches): New functions.
+ 	* cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
+ 	iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
+ 	find_simple_exit, iv_number_of_iterations, iv_analysis_done,
+ 	get_simple_loop_desc, free_simple_loop_desc): Declare.
+ 	(simple_loop_desc): New inline function.
+ 	(struct rtx_iv, struct niter_desc): New.
+ 	* cfgloopmanip.c (loopify): Specify semantics more precisely.
+ 	* expr.c (force_operand): Handle subregs of expressions created by
+ 	loop unroller.
+ 	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
+ 	parts of the initialization to toplev.c
+ 	* loop-unroll.c (loop_exit_at_end_p): New.
+ 	(unroll_and_peel_loops): Call iv_analysis_done.
+ 	(decide_peel_once_rolling, decide_peel_completely,
+ 	decide_unroll_stupid, decide_unroll_constant_iterations,
+ 	decide_unroll_runtime_iterations, decide_peel_simple,
+ 	peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
+ 	unroll_loop_runtime_iterations): Use new simple loop analysis.
+ 	* loop-unswitch.c (compare_and_jump_seq): New.
+ 	(may_unswitch_on_p): Renamed to ...
+ 	(may_unswitch_on): Use new iv analysis.
+ 	(reversed_condition): Export.
+ 	(unswitch_single_loop, unswitch_loop): Use new iv analysis.
+ 	* predict.c (estimate_probability): Use new simple loop analysis.
+ 	* rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
+ 	canon_condition, simplify_using_condition): Declare.
+ 	* stor-layout.c (get_mode_bounds): New.
+ 	* toplev.c (rest_of_handle_loop2): Some parts of
+ 	initialization/finalization moved here from loop-init.c.
+ 
+ 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
+ 	pointer.
+ 	(CALL_USED_REGISTERS): Likewise.
+ 	(REG_ALLOC_ORDER): Likewise.
+ 	(REG_CLASS) <GENERAL_REGS>: Likewise.
+ 
+ 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/md.texi (Insn Canonicalizations): Document left-chaining
+ 	in associative operators.
+ 	* rtlanal.c (commutative_operand_precedence): Create some new
+ 	variables.  Prefer a commutative operand on the left, then
+ 	binary expressions, then NEG and NOT.
+ 
+ 2004-02-16  Matthias Klose  <doko@debian.org>
+ 
+ 	* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
+ 	in terms of SHLIB_SOVERSION.
+ 	* config/m68k/t-slibgcc-elf-ver: New file.
+ 	* config/pa/t-slibgcc-elf-ver: New file.
+ 	* config.gcc (m68k-linux, parisc-linux): Use them when not
+ 	sjlj exceptions are not configured.
+ 
+ 2004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
+ 
+ 2004-02-16  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
+ 
+ 2004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/sourcebuild.texi: Mention backends.html.
+ 
+ 2004-02-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
+ 	line-map.c, line-map.h, var-tracking.c: Fix comment
+ 	formatting.
+ 
+ 2004-02-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
+ 
+ 	* fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
+ 
+ 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Remove unnecessary parallels from
+ 	all define_insn and define_split patterns.
+ 
+ 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Remove explicit (set_attr "cc"
+ 	"clobber").
+ 
+ 2004-02-15  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
+ 	'%#'.
+ 
+ 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/ia64.c, config/mips/mips.c,
+ 	config/mmix/mmix-modes.def: Fix comment typos.
+ 
+ 2004-02-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
+ 	(get_directive_line): Remove unused function prototype.
+ 
+ 2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* tree-inline.c (copy_body_r): Do not replace ret_label.
+ 
+ 2004-02-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (x86_four_jump_limit): New variable.
+ 	(k8_avoid_jump_misspredicts): Rename to ...
+ 	(ix86_avoid_jump_misspredicts): .. this one.
+ 	(ix86_pad_returns): Break out from ...
+ 	(ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
+ 	to.
+ 	* i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
+ 
+ 2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
+ 	PARALLEL is NULL.
+ 
+ 2004-02-14  Per Bothner  <per@bothner.com>
+ 
+ 	* fix-header.c (line_table):  Move local variable in main to global.
+ 	* scan.h (line_table):  Use it.
+ 	* scan-decls.c (scan_decls):  Need to call linemap_lookup on token's
+ 	line (recently renamed to src_loc) before calling recognized_function.
+ 
+ 2004-02-14  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* Makefile.in: Fix comment typos.
+ 
+ 2004-02-14  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
+ 	for start_value when it is directly moved into reg, and factorize
+ 	the retrieval of GET_MODE (reg).
+ 
+ 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_load_got_page): Delete.
+ 	(mips_load_got_global): Delete.
+ 	(mips_gotoff_page): Declare.
+ 	* config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
+ 	(*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
+ 	UNSPEC_LOAD_GOT pattern rather than a MEM.
+ 	(*load_got[sd]i): New patterns.
+ 	* config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
+ 	(mips_load_got_page, mips_load_got_global): Delete.
+ 	(mips_gotoff_page): New function.
+ 	(override_options): Don't initialize mips_got_alias_set.
+ 
+ 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
+ 	(TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
+ 	(TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
+ 	(GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
+ 	(TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
+ 	* config/mips/mips.c: Fix some overly-long lines.
+ 	(SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
+ 	(init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
+ 
+ 2004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.ac: Search for as, ld below libexec/gcc.
+ 	* configure: Regenerate.
+ 
+ 2004-02-14  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
+ 	__builtin_arm_setwcx ().
+ 	* config/arm/arm.c (arm_expand_builtin): Generate operands
+ 	correctly and reverse their order in call to gen_iwmmxt_tmcr ().
+ 
+ 2004-02-14  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
+ 	and "wmuluh" to "wmulsm" and "wmulum", respectively.
+ 	* config/arm/arm.h (enum arm_builtins): Rename enumerators to
+ 	ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
+ 	* config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
+ 	(_mm_mulhi_pu16): Likewise.
+ 
+ 2004-02-13  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* xcoffout.c (xcoff_assign_fundamental_type_number): Check
+ 	DECL_NAME != 0 before dereferencing.
+ 
+ 2004-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
+ 	(s390_output_addr_const_extra): Declare.
+ 	(s390_output_pool_entry): Remove FILE * argument.
+ 	* config/s390/s390.c (s390_output_symbolic_const): Remove.
+ 	(s390_output_addr_const_extra): New function.
+ 	(print_operand_address): Call output_addr_const instead of
+ 	s390_output_symbolic_const.
+ 	(print_operand): Likewise.
+ 	(s390_output_pool_entry): Use assemble_integer for symbolic constants.
+ 	Remove FILE * argument.
+ 	* config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
+ 	* config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
+ 	call.
+ 
+ 2004-02-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfgloopanal.c (mark_irreducible_loops): Rewriten.
+ 	(struct edge, struct vertex, struct graph): New.
+ 	(dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
+ 	free_graph): New functions.
+ 
+ 2004-02-12  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.md (casesi_internal, casesi_internal_di):
+ 	Use ".set macro" to avoid warnings about multi-instruction
+ 	macros, since they're intentional.
+ 
+ 2004-02-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.h: Add include guards.  Remove old, now incorrect,
+ 	comment about STANDARD_EXEC_PREFIX.
+ 
+ 	* Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
+ 	$(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
+ 	for installing .1 manpages.  Add rules for installing cpp
+ 	and gcov manpages under their installed names.
+ 
+ 2004-02-12  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* configure.ac (gcc_cv_ld): Don't set to LD if target is not
+ 	host, but try LD_FOR_TARGET first.
+ 	* configure: Rebuilt.
+ 
+ 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dbxout.c: Move declaration of dbxout_type_decl outside
+ 	#ifdef DBX_DEBUGGING_INFO.
+ 	* c-parse.in: Don't give the asmdef production a type.
+ 
+ 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* debug.h (struct gcc_debug_hooks): Add type_decl field.
+ 	(debug_nothing_tree_int): Prototype.
+ 	(dwarf_debug_hooks): Delete, unused.
+ 	* debug.c (do_nothing_debug_hooks): Update.
+ 	(debug_nothing_tree_int): New function.
+ 	* langhooks.h (struct lang_hooks_for_decls):
+ 	Remove builtin_type_decls field.
+ 	* langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
+ 	(LANG_HOOKS_DECLS): Update.
+ 	* toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
+ 	Use debug_hooks->type_decl.
+ 	* dbxout.c (preinit_symbols): New static.
+ 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
+ 	(dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
+ 	lang_hooks.decls.builtin_type_decls.  Do scan preinit_symbols
+ 	for symbols to output.
+ 	(dbxout_type_decl): New function.
+ 	(dbxout_symbol): If called before dbxout_init has run, queue
+ 	the symbol for later.  Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
+ 	to TYPE_DECLs before emitting them.
+ 	* xcoffout.c (assign_type_number): Delete.
+ 	(xcoff_type_numbers): New static table.
+ 	(xcoff_assign_fundamental_type_number): New function.
+ 	* xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
+ 	DBX_OUTPUT_STANDARD_TYPES.  Remove unnecessary #ifdefs.
+ 	* sdbout.c: Include varray.h.
+ 	(deferred_global_decls): New static.
+ 	(sdb_debug_hooks): Update.
+ 	(sdbout_global_decl): If we can't emit something right now,
+ 	remember it in deferred_global_decls.
+ 	(sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
+ 	(sdbout_init): Initialize deferred_global_decls.
+ 	* Makefile.in: Update dependencies of sdbout.o.
+ 	* dwarf2out.c (dwarf2out_type_decl): New function.
+ 	(dwarf2_debug_hooks): Update.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Update.
+ 	* c-decl.c (getdecls): Just return 0.
+ 	(check_for_loop_decls): Don't use getdecls.
+ 	(record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
+ 	* c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
+ 
+ 2004-02-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_sched_reorder2): Remove.
+ 	(TARGET_SCHED_REORDER2): Do not redefine.
+ 
+ 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-parse.in (maybe_type_qual): Delete.
+ 	(maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
+ 	(asm_argument): New grammar rules.
+ 	(extdef_1): Use asmdef.
+ 	(maybeasm): Move down with other asm rules; use simple_asm_expr.
+ 	(xexpr): Move up with other expression rules.
+ 	(stmt): Use asm_stmt.
+ 
+ 	* c-typeck.c (build_asm_expr): New function - body mostly
+ 	pulled from build_asm_stmt.
+ 	(build_asm_stmt): Just handle tacking on the volatile qualifier.
+ 	* c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
+ 
+ 2004-02-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/13617
+ 	* config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
+ 	(mips_declare_object): Make variadic.
+ 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
+ 	mips_output_aligned_decl_common.
+ 	* config/mips/mips.c (mips_output_aligned_decl_common): New function.
+ 	(mips_declare_object): Make variadic.
+ 
+ 2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* function.c (update_epilogue_consts): Teach about binary operations.
+ 
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
+ 	previous MEM_VOLATILE in REF.
+ 	* function.c (fixup_var_refs): Save volatile_ok and set to 1.
+ 	* expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
+ 
+ 2004-02-12  Gunther Nikl  <gni@gecko.de>
+ 
+ 	* config.gcc: Restore support for m68k-openbsd.
+ 
+ 2004-02-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-optimize.c (tree_rest_of_compilation): Do not release
+ 	DECL_ARGUMENTS.
+ 
+ 2004-02-11  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi: Fix the spelling of "explicitly".
+ 
+ 2004-02-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* cppcharset.c (_cpp_interpret_string_notranslate): Rename and
+ 	duplicate argument structure of cpp_interpret_string.
+ 	* cpphash.h: Move prototype...
+ 	* cpplib.h: Here.
+ 	* cpplib.c: Fix calls to match new function signature.
+ 
+ 2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/456
+ 	* cppexp.c (num_binary_op): Don't allow comma operators in #if
+ 	constant expressions at all outside C99 mode if pedantic.
+ 
+ 2004-02-11  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
+ 	(log10_optab, log2_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize log10_optab and log2_optab.
+ 	* genopinit.c (optabs): Implement log10_optab and log2_optab
+ 	using log10?f2 and log2?f2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
+ 	using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
+ 	(expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
+ 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
+ 
+ 	* config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
+ 	log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
+ 	log2, log2f and log2l built-ins as inline x87 intrinsics.
+ 
+ 2004-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/1532
+ 	* flow.c (insn_dead_p): A clobber of a dead hard register is a
+ 	dead insn after reload.
+ 
+ 2004-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* tree.h (frame_base_decl): Add GTY marker.
+ 	* var-tracking.c (frame_base_decl): Likewise.
+ 
+ 2004-02-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* dwarf2out.c (output_loc_list): Remove no longer necessary, and now
+ 	incorrect, hunk.
+ 	(add_location_or_const_value_attribute): Use text_section_label,
+ 	not TEXT_SECTION_NAME.
+ 
+ 2004-02-11  Per Bothner  <per@bothner.com>
+ 
+ 	Represent column numbers using line-map's source_location.
+ 	The "next available source_location" is now managed internally by
+ 	line-maps.c rather than by clients.
+ 	* line-map.h (struct line_map):  New field column_bits.
+ 	<from_line>:  Rename field to start_location.
+ 	(struct line_maps):  New fields highest_location and max_column_hint.
+ 	(linemap_check_files_exited):  New declaration.
+ 	(linemap_line_start):  New declaration.
+ 	(linemap_add):  Remove from_line parameter; use highest_location field.
+ 	(SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
+ 	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
+ 	(CURRENT_LINE_MAP):  Remove macro.
+ 	(linemap_position_for_column):  New inline function.
+ 	* line-map.c (linemap_init):  Clear new fields.
+ 	(linemap_check_files_exited):  New function, extracted from ...
+ 	(linemap_free):  Use linemap_check_files_exited.
+ 	(linemap_add):  Remove from_line parameter.  Various updates.
+ 	(linemap_line_start):  New function.
+ 	(linemap_lookeup):  Update for new field names.
+ 	* cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
+ 	linemap_position_for_column may unpredictably change the current map,
+ 	it is cleaner and simpler for us to not cache it in cpp_reader.
+ 	(struct cpp_buffer):  New sysp field.
+ 	Changed warned_cplusplus_comments and from_stage3 to bitfields.
+ 	* cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
+ 	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
+ 	current map using linemap_lookup.
+ 	(do_linemarker):  Also set buffer's sysp field.
+ 	(destringize_and_run):  No longer need to decrement current line.
+ 	* cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
+ 	(search_path_head, open_file_failed):  Use buffer's sysp.
+ 	(cpp_make_system_header):  Get current map using linemap_lookup.
+ 	Also set buffer's sysp flag.
+ 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
+ 	* cpphash.h (CPP_INCREMENT_LINE):  New macro.
+ 	(struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
+ 	(struct cpp_reader):  ... and adding saved_line_base field.
+ 	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
+ 	Update accordingly.  Don't adjust line.
+ 	(_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
+ 	* cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
+ 	(cpp_in_system_header):  ... new inline function, using buffer's sysp.
+ 	* cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
+ 	* cpplex.c (_cpp_lex_direct):  Likewise.
+ 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise.
+ 	* cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
+ 	* cpplib.h (struct cpp_token):  Rename line field to src_loc.
+ 	Remove col field as it is now subsumed by src_loc.
+ 	* cpperror.c:  Update various field, parameter, and macro names.
+ 	(print_location):  If col==0, try SOURCE_COLUMN of line.
+ 	(cpp_error):  Use cur_token's src_loc field, rather than line+col.
+ 	* cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
+ 	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
+ 	_cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
+ 	(_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
+ 	(_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
+ 	(_cpp_lex_direct):  Use linemap_position_for_column.
+ 	* c-ppoutput.c (maybe_print_line, print_line):  Don't take map
+ 	parameter.  Instead get it from the line_table global.  Adjust callers.
+ 	(print):  Remove map field.  Replace line field to src_line.
+ 	(init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
+ 	(cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
+ 	(pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
+ 	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
+ 	* cpptrad.c (copy_comment):  Rename variable.
+ 	* c-lex.c (map):  Remove static variable, for same reason we removed
+ 	cpp_reader's map field.
+ 	(cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
+ 	to call linemap_lookup.
+ 	(cb_line_change):  Token's line field replaced by src_loc.
+ 	(fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
+ 	Don't save new_map.
+ 
+ 	* cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
+ 	source_location.
+ 
+ 2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* config/rs6000/altivec.md (*movv4si_internal): At least one
+ 	operand must be register_operand.
+ 	(*movv8hi_internal1): Likewise.
+ 	(*movv16qi_internal1): Likewise.
+ 	(*movv4sf_internal1): Likewise.
+ 
+ 2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/spe.md ("*movv2si_internal"): Check for register
+ 	operand.
+ 	(movv4hi_internal): Same.
+ 	(movv2sf_internal): Same.
+ 	(movv1di_internal): Same.
+ 
+ 2004-02-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
+ 
+ 	* config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
+ 	TARGET_OLDABI consistently.
+ 	* config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
+ 	mips_va_arg,override_options,compute_frame_size,
+ 	mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
+ 	,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
+ 	and TARGET_OLDABI consistently.
+ 	* config/mips/mips.md (exception_receiver): Likewise.
+ 	* config/mips/linux64.h: Likewise.
+ 
+ 2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* gcc/config/rs6000/rs6000.c (rs6000_override_options)
+ 	Set AltiVec ABI and vrsave as default for ppc64 linux.
+ 	(init_cumulative_args): Post error, if try to return
+ 	value in AltiVec register without enable AltiVec.
+ 	(function_arg_advance): Ditto for passing arguments.
+ 
+ 2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
+ 	a label before updating its usage count.
+ 
+ 2004-02-10  Matt Kraai  <kraai@alumni.cmu.edu>
+ 
+ 	* doc/install.texi: Remove extra cd.
+ 
+ 2004-02-10  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.c (vector_size_helper): Remove; call
+ 	reconstruct_complex_type() instead.
+ 	* tree.c (reconstruct_complex_type): New function
+ 	(formerly vector_size_helper() in c-common.c).
+ 	(make_vector): Make externally visible.
+ 	* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
+ 
+ 2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Add a prototype for
+ 	h8300_regs_ok_for_stm.
+ 	* config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
+ 	* config/h8300/h8300.md (stm_h8300s_2_advanced,
+ 	stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
+ 	stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
+ 	stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
+ 	ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
+ 	ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
+ 	ldm_h8300s_4_normal, ldm_h8300s_4): Use
+ 	h8300_regs_ok_for_stm().
+ 
+ 2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR c/14088
+ 	* real.c (real_from_string): Look for 'X' as well as 'x' in
+ 	hexfloat strings.
+ 
+ 2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Remove an incorrect comment about
+ 	peephole2.  Add comments.
+ 
+ 2004-02-10  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	PR/14058
+ 	* emit-rtl.c (set_decl_incoming_rtl): New.
+ 	* tree.h (set_decl_incoming_rtl): New.
+ 	* function.c (assign_parms): Use set_decl_incoming_rtl for setting
+ 	DECL_INCOMING_RTL.
+ 	* ada/misc.c (adjust_decl_rtl): Likewise.
+ 
+ 2004-02-10  Per Bothner  <per@bothner.com>
+ 
+ 	* c-opts.c (c_common_post_options):   Don't emit working directory
+ 	in cpp output if -P was specified.
+ 
+ 2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR c/14092
+ 	* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
+ 	negate_expr back to the original type.
+ 
+ 2004-02-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
+ 	bump retaddr here.
+ 
+ 2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
+ 	gen_lowpart_SUBREG): Move under the file in which they
+ 	are actually declared.
+ 
+ 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>
+ 
+ 	* doc/sourcebuild.texi: Add libada documentation.
+ 
+ 	* doc/install.texi: Update documentation on Ada build, now
+ 	that the GNAT lib and tools are built automatically.
+ 
+ 2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
+ 	&& TARGET_IRIX.
+ 
+ 2004-02-09  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
+ 	boundaries outside build_component_ref() call (a macro in ObjC++).
+ 
+ 2004-02-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
+ 	(init_cumulative_args): Likewise.
+ 	(a7_overlap_mentioned_p): Delete prototype.
+ 	* config/xtensa/xtensa.c (struct machine_function): Replace
+ 	incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
+ 	Add set_frame_ptr_insn field.
+ 	(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
+ 	(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
+ 	if the operand is an argument in a7.  If so, copy a7 to a new pseudo
+ 	at the function entry and replace the operand with the pseudo.
+ 	(init_cumulative_args): Remove unused arguments.  Add new "incoming"
+ 	argument and record this flag in CUMULATIVE_ARGS.
+ 	(function_arg): Remove result_mode and special-case code to handle
+ 	arguments in a7.  Instead, set need_a7_copy flag when there is an
+ 	incoming argument in a7.
+ 	(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
+ 	and use the value recorded in cfun->machine->set_frame_ptr_insn.
+ 	(xtensa_builtin_saveregs): Check for negative gp_left value.  Set
+ 	need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
+ 	special-case code.
+ 	(a7_overlap_mentioned_p): Delete.
+ 	* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
+ 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
+ 	arguments to init_cumulative_args and pass "incoming" flag instead.
+ 	(BLOCK_REG_PADDING): Delete.
+ 	* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
+ 	checks for reload_in_progress and reload_completed.  Update calls to
+ 	xtensa_copy_incoming_a7.
+ 	(ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
+ 	to call xtensa_copy_incoming_a7.
+ 
+ 2004-02-09  DJ Delorie  <dj@redhat.com>
+ 
+ 	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
+ 	longer modify standard_exec_prefix, standard_bindir_prefix, or
+ 	standard_startfile_prefix.
+ 
+ 2004-02-09  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR c++/11295
+ 	* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
+ 	to expand_expr_real call, and pass in alt_rtl as last argument.
+ 
+ 	PR libstdc++/5625
+ 	* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
+ 	* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
+ 	* builtins.def (BUILT_IN_EXTEND_POINTER): New.
+ 	* except.c (expand_builtin_extend_pointer): New.
+ 	* except.h (expand_builtin_extend_pointer): Declare.
+ 
+ 2004-02-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
+ 	unaligned loads and stores.
+ 
+ 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
+ 	* config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
+ 
+ 	* config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
+ 	* config/mips/iris5.h: ... here.
+ 	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
+ 
+ 	* config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
+ 	* config/mips/iris5.h: ... here.
+ 
+ 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* configure.ac: Remove default executable files before AC_PROG_CC.
+ 	* configure: Regenerate.
+ 
+ 2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/13721
+ 	* config/h8300/h8300.c (byte_reg): Call abort() if asked to
+ 	print a operand other than a register.
+ 
+ 2004-02-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
+ 	tree code rather than call fold_convert, which doesn't specify a
+ 	default floating point to integer conversion.
+ 
+ 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
+ 	code to support SGS assembler.  Reformat adjacent code where possible.
+ 	* config/m68k/m68k.c (switch_table_difference_label_flag): Remove
+ 	definition.
+ 	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
+ 	for '%#'.
+ 	* config/m68k/linux.h, config/m68k/m68k.c,
+ 	* config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
+ 	macros and asm_printf() format strings.
+ 	* config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
+ 	* config/m68k/linux.h: Update copyright.
+ 	* config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
+ 
+ 2004-02-08  Andreas Schwab  <schwab@suse.de>
+ 	    Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
+ 	REGISTER_PREFIX.
+ 	* (M68K_FP_REG_NAME): New macro to specify an alternate name for the
+ 	frame pointer register, overridable by OS targets.
+ 	* (M68K_REGNAME): Macro to obtain register name for asm output,
+ 	eventually replacing %a6 with M68K_FP_REG_NAME.
+ 	* config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
+ 	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
+ 	* config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
+ 
+ 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
+ 	hook_rtx_tree_int_null.
+ 	* targhooks.c (default_struct_value_rtx): Remove.
+ 	* targhooks.h: Remove the prototype for
+ 	default_struct_value_rtx.
+ 	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
+ 	config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
+ 	config/ip2k/ip2k.c, config/iq2000/iq2000.c,
+ 	config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
+ 	config/mn10300/mn10300.c, config/pdp11/pdp11.c,
+ 	config/rs6000/rs6000.c, config/s390/s390.c,
+ 	config/stormy16/stormy16.c, config/v850/v850.c,
+ 	config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
+ 	* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
+ 
+ 2004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* README.Portability: Change "ISO C89" to "ISO C90".
+ 	* c-parse.in (primary, initelt): Likewise.
+ 
+ 2004-02-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* real.c (encode_ibm_extended): Normalize the input value before
+ 	converting it to a double.  Handle the case where a normal value
+ 	rounds to infinity.
+ 
+ 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
+ 	warning.
+ 	* cse.c (preferrable): Change to preferable. Update all of its
+ 	callers.
+ 	* genautomata.c (ainsn): Change
+ 	first_ainsn_with_given_equialence_num to
+ 	first_ainsn_with_given_equivalence_num.  Update all of its
+ 	references.
+ 
+ 2004-02-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
+ 
+ 2004-02-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* function.c (assign_parms): Fix formatting.
+ 
+ 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* default.h (PROMOTE_PROTOTYPES): Remove.
+ 	* system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
+ 	STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
+ 	EXPAND_BUILTIN_SAVEREGS): Poison.
+ 	* target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
+ 	hook_bool_tree_false.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	* target.h: Replace SETUP_INCOMING_VARARGS with
+ 	targetm.calls.setup_incoming_varargs().
+ 	* targhooks.c (default_promote_function_return): Remove.
+ 	(default_promote_prototypes): Likewise.
+ 	(default_struct_value_rtx): Always abort().
+ 	(default_expand_builtin_saveregs): Always print an error
+ 	message.
+ 	(default_setup_incoming_varargs): Do nothing.
+ 	(default_pretend_outgoing_varargs_named): Don't depend on
+ 	SETUP_INCOMING_VARARGS.
+ 	* targhooks.h: Remove the prototype for
+ 	default_promote_function_return and
+ 	default_promote_prototypes.
+ 
+ 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (SHARED_SECTION_ASM_OP): Poison.
+ 	* varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
+ 	* doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
+ 
+ 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	Bug 13856
+ 	* c-decl.c (diagnose_mismatched_decls): Only give special
+ 	treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
+ 	is also true.
+ 	(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
+ 	DECL_FUNCTION_CODE when defining a built-in function.
+ 	Don't update DECL_ESTIMATED_INSNS.
+ 	* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
+ 	FUNCTION_DECLs.
+ 	* tree.h: Delete DECL_ESTIMATED_INSNS.
+ 	* tree-inline.c (struct inline_data): Delete inlined_insns field.
+ 	(expand_call_inline, optimize_inline_calls): Don't update
+ 	DECL_ESTIMATED_INSNS nor inlined_insns.
+ 	* cgraphunit.c (cgraph_analyze_function): Don't update
+ 	DECL_ESTIMATED_INSNS.
+ 
+ 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-common.c (shadow_warning): Delete.
+ 	* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
+ 	* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
+ 	* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
+ 	* c-parse.in (free_parser_stacks): Delete.
+ 
+ 2004-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
+ 	config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
+ 	Use the top level mkinstalldirs, not the one in the gcc subdir.
+ 	* mkinstalldirs: Remove (from the gcc subdir).
+ 
+ 2004-02-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/13696
+ 	* fold-const.c (fold_convert): New function to provide type
+ 	conversion to the middle-end without using convert.
+ 	(negate_expr, associate_trees, size_diffop, omit_one_operand,
+ 	operand_equal_for_comparison_p, pedantic_omit_one_operand,
+ 	invert_truthvalue, optimize_bit_field_compare, range_binop,
+ 	decode_field_reference, make_range, build_range_check, unextend,
+ 	fold_truthop, extract_muldiv_1, fold_mathfn_compare,
+ 	fold_binary_op_with_conditional_arg, fold_inf_compare,
+ 	fold_single_bit_test, fold, multiple_of_p): Replace all calls to
+ 	convert with calls to fold_convert.
+ 
+ 2004-02-07  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genrecog.c (find_operand): add extra argument stop.
+ 	(validate_pattern): Verify that mach_dup is duplicating operand
+ 	defined lexically earlier.
+ 
+ 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
+ 	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ 	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
+ 	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
+ 	config/ia64/ia64.h, config/ip2k/ip2k.h,
+ 	config/iq2000/iq2000.h, config/mips/iris5.h,
+ 	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
+ 	config/rs6000/aix51.h, config/rs6000/aix52.h,
+ 	config/rs6000/darwin.h, config/rs6000/rs6000.h,
+ 	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
+ 	config/sparc/linux.h, config/sparc/linux64.h,
+ 	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
+ 	config/xtensa/xtensa.h: Remove the definitions of
+ 	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
+ 	MAX_WCHAR_TYPE_SIZE.
+ 	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ 	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
+ 
+ 2004-02-07  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR bootstrap/13990
+ 	* config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
+ 	gen_rtx_NE.
+ 
+ 2004-02-07  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* var-tracking.c (vt_add_function_parameters): Surround checkings by
+ 	#ifdef ENABLE_CHECKING and #endif.
+ 
+ 2004-02-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
+ 	either (-A)-B or (-B)-A, if A or B is easily negated respectively.
+ 	(fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
+ 	integer types and floating point with unsafe_math_optimizations.
+ 	Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
+ 	Optimize A - B as A + (-B), if B is easily negated.
+ 
+ 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
+ 	config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
+ 	config/m32r/linux.h, config/rs6000/ppc64-fp.c,
+ 	config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
+ 	Update copyright.
+ 
+ 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-ppoutput.c, var-tracking.c: Fix comment typos.
+ 
+ 2004-02-06  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
+ 	glibc 2.3 or better.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
+ 	to FLOAT_LIB_COMPARE_RETURNS_BOOL.
+ 
+ 2004-02-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
+ 	(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+ 	(SHLIB_MKMAP_OPTS): Delete.
+ 	(TARGET_LIBGCC2_CFLAGS): Add -specs.
+ 	(bispecs): Add rule.
+ 	* config/rs6000/libgcc-ppc64.ver: New file.
+ 	* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
+ 	(__floatdidf, __floatdisf): Optimize multiply.
+ 	(__fixunstfdi): New function.
+ 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
+ 	real and imag parts larger than one register.
+ 	(function_arg): Correct type of reg used when fp arg split partially
+ 	to stack.
+ 	* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
+ 	and __MACH__ or __powerpc64__.
+ 
+ 2004-02-06  Roger Sayle  <roger@eyesopen.com>
+ 	    Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* builtins.c (expand_builtin_signbit): Use extract_bit_field instead
+ 	of gen_highpart or gen_lowpart when the floating point format is
+ 	wider than the result mode.
+ 
+ 2004-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* dwarf2out.c (loclabel_num): Move into #ifdef
+ 	DWARF2_DEBUGGING_INFO.
+ 
+ 2004-02-06  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (build_super_template) the 'class' field of
+ 	'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
+ 	(get_super_receiver): Likewise.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (check_eliminable_occurrences): Optimize the reset
+ 	of can_eliminate.
+ 	(eliminate_regs_in_insn): Likewise.
+ 
+ 2004-02-06  Daniel Berlin <dberlin@dberlin.org>
+ 	    Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
+ 	at the beginning of function, call dwarf2out_var_location for
+ 	NOTE_INSN_VAR_LOCATION note.
+ 	(struct var_loc_node, struct var_loc_list_def, loclabel_num,
+ 	decl_loc_table): New.
+ 	(lookup_decl_loc): New function.
+ 	(add_var_loc_to_decl): New function.
+ 	(based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
+ 	only if can_use_fbreg.
+ 	(mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
+ 	functions.
+ 	(loc_descriptor): Likewise. Process VAR_LOCATION.
+ 	(concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
+ 	(loc_descriptor_from_tree): Call mem_loc_descriptor with
+ 	can_use_fbreg == true.
+ 	(add_location_or_const_value_attribute): Added parameter enum
+ 	dwarf_attribute attr, generate attribute ATTR.  Create the location list.
+ 	(add_bound_info): Call loc_descriptor with can_use_fbreg == true.
+ 	(gen_formal_parameter_die): Call add_location_or_const_value_attribute
+ 	with attr == DW_AT_location.
+ 	(gen_subprogram_die): Generate the location list for DW_AT_frame_base
+ 	if frame_base_decl is defined and has a location list.
+ 	(gen_variable_die): Call add_location_or_const_value_attribute with
+ 	attr == DW_AT_location.
+ 	(dwarf2out_var_location): New function.
+ 	(dwarf2out_begin_function): New function.
+ 	(dwarf2out_init): Create decl_loc_table.
+ 
+ 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* loop.c (force_movables): Transitively increase the priorities of
+ 	all insns forces by an insn, not just the first one.
+ 
+ 2004-02-06  Josef Zlomek  <zlomekj@suse.cz>
+ 	    Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	Josef Zlomek  <zlomekj@suse.cz>
+ 	* Makefile.in (var-tracking.o): New.
+ 	* common.opt (fvar-tracking): New.
+ 	* flags.h (flag_var_tracking): New.
+ 	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
+ 	* opts.c (common_handle_option): Add OPT_fvar_tracking.
+ 	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
+ 	* rtl.c (note_insn_name): Likewise.
+ 	* rtl.def (VAR_LOCATION): New.
+ 	* rtl.h (NOTE_VAR_LOCATION): New.
+ 	(NOTE_VAR_LOCATION_DECL): New.
+ 	(NOTE_VAR_LOCATION_LOC): New.
+ 	(enum insn_note): NOTE_INSN_VAR_LOCATION was added.
+ 	(variable_tracking_main): New exported function.
+ 	* timevar.def (TV_VAR_TRACKING): New.
+ 	* toplev.c (enum dump_file_index): Added DFI_vartrack.
+ 	(dump_file): "vartrack" was added (-dV).
+ 	(flag_var_tracking): New.
+ 	(f_options): "var-tracking" was added.
+ 	(rest_of_handle_variable_tracking): New function.
+ 	(rest_of_compilation): Run variable tracking.
+ 	(process_options): If user has not specified flag_var_tracking set it
+ 	according to optimize, debug_info_level and debug_hooks.
+ 	* tree.h (frame_base_decl): New.
+ 	* var-tracking.c: New file.
+ 	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
+ 	(ia64_override_options): Set flags to run variable tracking in machine
+ 	dependent reorg instead of toplev.c.
+ 	(ia64_reorg): Run variable tracking if wanted.
+ 	* doc/invoke.texi: Mention variable tracking in -dV,
+ 	add and -fvar-tracking.
+ 	* doc/passes.texi: Added variable tracking pass.
+ 
+ 	Daniel Berlin <dberlin@dberlin.org>
+ 	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
+ 	* dbxout.c (dbx_debug_hooks): Likewise.
+ 	(xcoff_debug): Likewise.
+ 	* debug.c (do_nothing_debug_hooks): Likewise.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
+ 	* dwarfout.c (dwarf_debug_hooks): Likewise.
+ 	* sdbout.c (sdb_debug_hooks): Likewise.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ 	* final.c (final_scan_insn): Call var_location debug hook for each
+ 	NOTE_INSN_VAR_LOCATION.
+ 
+ 2004-02-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* flow.c (update_life_info): Allocate reg_deaths when called from
+ 	scheudler.
+ 	(attempt_auto_inc):  Update life ranges accordingly.
+ 
+ 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR debug/11816
+ 	* dwarf2out.c (gen_decl_die): Handle anonymous struct members.
+ 
+ 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* cfganal.c (flow_call_edges_add): Never split a libcall block.
+ 
+ 2004-02-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* dwarf2out.c (output_loc_list): Don't use deltas if we have
+ 	a separate line info table in use.
+ 	Use the correct size for terminators.
+ 	(output_die): Use offset, not delta.
+ 
+ 2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* doc/invoke.texi: Remove the pni option from -mfpmath=.
+ 
+ 2004-02-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* recog.c (split_all_insns): Do not update reg info.
+ 	* regrename.c (regrename_optimize): Likewise.
+ 	* toplev.c (rest_of_handle_reorder_blocks): Likewise.
+ 	* flow.c (struct propagate_block_info): Add insn_num field.
+ 	(reg_deaths): New array.
+ 	(life_analysis): Free reg_deaths info.
+ 	(allocate_reg_life_data): Allocate reg_deaths array.
+ 	(propagate_one_insn): Use new array.
+ 	(init_propagate_block): Initialize it.
+ 	(free_propagate_block_info): Finish compuation of
+ 	REG_LIVE_LENGTH
+ 	(attempt_auto_inc): Sanity check that REG_INFO is not
+ 	computed at same time.
+ 	(mark_used_regs): Update new array.
+ 
+ 	* reg-stack.c (subst_stack_regs): Unshare clobbers before
+ 	substitution.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/s390/s390.md (*extendsiqi2_short_displ): Change to
+ 	*extendqisi2_short_displ.
+ 
+ 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
+ 	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
+ 	(emit_library_call_value_1): Likewise pass nargs.
+ 	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
+ 	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
+ 	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
+ 	parameter instead of scanning TYPE_ARGS_TYPES to count args.
+ 	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
+ 	prototype.
+ 	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
+ 	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
+ 	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
+ 	INIT_CUMULATIVE_ARGS.
+ 	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
+ 	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
+ 	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
+ 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
+ 	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
+ 	config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
+ 	config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
+ 	config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
+ 	config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
+ 	config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
+ 	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
+ 	config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
+ 	possible.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
+ 	note containing (plus (reg) (const_int)), where reg is an
+ 	eliminable reg, then perform the register elimination without
+ 	depending on eliminate_regs().
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc.c (arc_return_in_memory): Check the return
+ 	value of int_size_in_bytes against -1.  Don't check
+ 	TREE_ADDRESSABLE.
+ 	* config/avr/avr.c (avr_return_in_memory): Check the return
+ 	value of int_size_in_bytes against -1.
+ 	* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
+ 	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
+ 	Likewise.
+ 	* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
+ 	* config/stormy16/stormy16.c (xstormy16_return_in_memory):
+ 	Likewise.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/frv/frv-protos.h: Remove the prototype for
+ 	frv_setup_incoming_varargs.
+ 	* config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
+ 	(frv_setup_incoming_varargs): Make it static.
+ 	* config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30-protos.h: Remove the prototype for
+ 	fr30_setup_incoming_varargs.
+ 	Update the prototypes for fr30_num_arg_regs and
+ 	fr30_function_arg_partial_nregs.
+ 	* config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(fr30_setup_incoming_varargs): Make it static.
+ 	Add argument second_time.  Don't do anything when second_time
+ 	is nonzero.
+ 	(fr30_num_arg_regs): Change the type of the first argument to
+ 	enum machine_mode.
+ 	(fr30_function_arg_partial_nregs): Change the type of the
+ 	second argument to enum machine_mode.
+ 	* config/fr30/fr30.h (STRUCT_VALUE): Remove.
+ 	(SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc-protos.h: Remove the prototype for
+ 	arc_setup_incoming_varargs.
+ 	* config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(arc_setup_incoming_varargs): Make it static.
+ 	(arc_external_libcall): Likewise.
+ 	* config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
+ 	Remove the commented-out definition of
+ 	ASM_OUTPUT_EXTERNAL_LIBCALL.
+ 
+ 2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
+ 
+ 	* config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
+ 	to $$(slibdir) in the installation commands.
+ 
+ 2004-02-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
+ 	with inner_regno, not regno.
+ 	* rtlanal.c (refers_to_regno_p): Same.
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config.gcc: Remove i370 support.
+ 
+ 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/install.texi:  Update automake and autoconf version
+ 	requirements.  Note where to find gcj automake version.
+ 
+ 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (generate-manpages): Move dependencies to ...
+ 	(man): here.
+ 	* doc/makefile.texi: Document new targets.
+ 	* doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
+ 
+ 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR/13485
+ 	Makefile.in (srcextra):  Add a level of indirection to ...
+ 	(gcc.srcextra): ... here.
+ 	(po-generated): Delete.
+ 	(po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
+ 	options.c.
+ 	(start.encap): Remove superfluous lang.srcextra dependency.
+ 	objc/Make-lang.in (po-generated):  Delete.
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/ia64.c (REG_GP): Remove.
+ 
+ 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
+ 
+ 2004-02-05  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dwarf2out.c (force_type_die): Look up input type itself
+ 	instead of root_type() of type.
+ 
+ 2004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*tmqidi_ext"): New insn.
+ 	("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
+ 	pre-reload splitters are transformed to post-reload
+ 	define_insn_and_split patterns.
+ 	("*tmqisi_ext"): Renamed old "*tmqi_ext".
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
+ 	TARGET_PROMOTE_PROTOTYPES.
+ 
+ 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	PR middle-end/13750
+ 	Revert:
+ 	2004-01-15  Geoffrey Keating  <geoffk@apple.com>
+ 	PR pch/13361
+ 	* c-typeck.c (constructor_asmspec): Delete.
+ 	(struct initializer_stack): Delete field 'asmspec'.
+ 	(start_init): Delete saving of asmspec.
+ 	(finish_init): Don't update constructor_asmspec.
+ 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
+ 	* stmt.c (expand_asm): Duplicate strings from tree.
+ 	(expand_asm_operands): Likewise.
+ 	* tree.c (tree_size): Update computation of size of STRING_CST.
+ 	(make_node): Don't make STRING_CST nodes.
+ 	(build_string): Allocate string with tree node.
+ 	* tree.def (STRING_CST): Update comment.
+ 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
+ 	(tree_string): Place contents of string in tree node.
+ 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
+ 	from tree.
+ 
+ 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
+ 	msgid.
+ 
+ 2004-02-05  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* config/rs6000/altivec.md (*movv4si_internal): At least one
+ 	operand must be altivec_register_operand.
+ 	(*movv8hi_internal1): Likewise.
+ 	(*movv16qi_internal1): Likewise.
+ 	(*movv4sf_internal1): Likewise.
+ 
+ 2004-02-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
+ 	* configure: Regenerate.
+ 
+ 2004-02-05  Jonathan Wakely  <redi@gcc.gnu.org>
+ 
+ 	* doc/install.texi: Update description of --gxx-include-dir to
+ 	give correct default value.
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
+ 	8 with MAC_REG.
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
+ 	gen_rtx_PARALLEL.
+ 
+ 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c: Update the comment about the file.
+ 
+ 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* sourcebuild.texi (Test Idioms): Update testcase naming
+ 	conventions.
+ 
+ 2004-02-04  Per Bothner  <per@bothner.com>
+ 
+ 	Partially revert/redo 2003-10-01 change; fix -fworking-directory.
+ 	* c-ppoutput.c (pp_dir_change):  New function.
+ 	* c-common.h (pp_dir_change):  New declaration.
+ 	* cpplib.h (struct cpp_options):  Remove working_directory field.
+ 	* cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
+ 	(cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
+ 	Don't handle -fworking_directory here, but in c_common_post_options.
+ 	(read_original_directory): Don't back up when done.
+ 	Don't clear no-longer used working_directory flag.
+ 	* cpplib.h:  Update declarations to match.
+ 	* c-lex.c (cb_dir_change):  Move to c-opts.c.
+ 	(init_c_lex):  Don't set dir_change callback here, since we want
+ 	to set it even if flag_preprocess_only.
+ 	* c-opts.c (cb_dir_change):  Function moved from c-lex.c.
+ 	(c_common_post_options):  Set dir_change callback.
+ 	Call pp_dir_change if approporiate.
+ 	(finish_options):  Don't call cpp_find_main_file here.	Hence remove
+ 	unneeded parameter and result. Do LC_RENAME for <built-in>.
+ 	(c_common_post_options):  Call cpp_read_main_file here instead.
+ 	(c_common_init):  Update accordingly.
+ 	(push_command_line_include):  Don't cpp_push_main_file.
+ 	Do LC_RENAME rather than LC_LEASE to get back to main file.
+ 	Compared to pre-10-01 version, inline cpp_rename_to_main_file.
+ 	(c_common_parse_file):  Call cpp_read_main_file for subsequent main
+ 	files, but call finish_options for all files.
+ 	* c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
+ 	* fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
+ 	cpp_find_main_file + cpp_push_main_file.
+ 	* c-lex.c (fe_file_change):  Don't set main_input_filename here.
+ 	* opts.c (handle_options):  Only set main_input_filename first time.
+ 
+ 2004-02-05  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
+ 
+ 2004-02-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* reload.c (find_equiv_reg): When checking for register overlap,
+ 	don't index hard_regno_nregs with a pseudo-reg.
+ 
+ 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
+ 
+ 2004-02-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
+ 	against FIRST_PSEUDO_REGISTER.
+ 
+ 2004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in: Move target, host overrides after per-language
+ 	fragments.
+ 
+ 	* config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
+ 	(GNATLIBCFLAGS): Remove -g.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
+ 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
+ 	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
+ 	config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
+ 	config/pdp11/pdp11.c, config/rs6000/rs6000.c,
+ 	config/sparc/sparc.c, config/vax/vax.c: Revert the
+ 	replacements of "FALLTHRU" with "Fall through" done in the
+ 	previous patch.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
+ 	config/arm/arm.c, config/arm/arm.md,
+ 	config/cris/cris-protos.h, config/fr30/fr30.c,
+ 	config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
+ 	config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
+ 	config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
+ 	config/ip2k/ip2k.md, config/ip2k/libgcc.S,
+ 	config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
+ 	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
+ 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
+ 	config/ns32k/netbsd.h, config/ns32k/ns32k.c,
+ 	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
+ 	config/rs6000/darwin-ldouble.c, config/s390/s390.h,
+ 	config/s390/s390.md, config/sparc/netbsd-elf.h,
+ 	config/sparc/openbsd.h, config/sparc/sparc.c,
+ 	config/xtensa/lib2funcs.S: Fix comment formatting.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c, config/arc/arc.c,
+ 	config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
+ 	config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
+ 	config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
+ 	config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
+ 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
+ 	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
+ 	config/iq2000/iq2000.c, config/m32r/m32r.c,
+ 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
+ 	config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
+ 	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h, config/sparc/sparc.c,
+ 	config/vax/vax.c: Fix comment typos.  Follow spelling
+ 	conventions.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
+ 	caller-save.c, df.h, genconfig.c, global.c, lcm.c,
+ 	ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
+ 	sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
+ 	config/arm/fpa.md, config/arm/iwmmxt.md,
+ 	config/arm/netbsd-elf.h, config/arm/netbsd.h,
+ 	config/m68hc11/m68hc11.md, config/mips/iris5.h,
+ 	config/mn10300/mn10300.md, config/rs6000/altivec.md,
+ 	config/sparc/netbsd-elf.h: Update copyright.
+ 
+ 2004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
+ 	for all modes whose size is greater than 8 bytes if ARCH32.
+ 	(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
+ 	by reference if ARCH32.
+ 
+ 2004-02-04  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* cgraphunit.c (cgraph_postorder): Fix typo in comment.
+ 
+ 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
+ 	to before adddi3 insn patterns.
+ 	("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
+ 	"reload_insi"): Move to before addsi3 insn patterns.
+ 
+ 2004-02-04  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
+ 	parameter.  Use it instead of current_function_is_thunk.
+ 	* function.h (struct function): Update documentation for is_thunk.
+ 	* tree.h (CALL_FROM_THUNK_P): New macro.
+ 	* config/alpha/alpha.c (alpha_sa_mask): Do not check
+ 	no_new_pseudos when testing current_function_is_thunk.
+ 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
+ 	TARGET_SETUP_INCOMING_VARARGS.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (gen_rtx): Remove.
+ 	* genattrtab.c: Don't mention gen_rtx in a comment.
+ 	* rtl.h: Remove the prototype for gen_rtx.
+ 	* doc/md.texi: Replace gen_rtx with gen_rtx_REG.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc.h, config/fr30/fr30.h
+ 	(SETUP_INCOMING_VARARGS): Remove the target-independent
+ 	comments.
+ 	* doc/tm.texi: Don't mention deprecated target macros.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30.h (FUNCTION_VALUE): Remove the
+ 	target-independent comment.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
+ 	mention deprecated target macros.
+ 
+ 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config.gcc: Remove obsolete ports and configurations.
+ 	* config/linux-aout.h, config/netware.h,
+ 	config/t-linux-gnulibc1, config/d30v/abi,
+ 	config/d30v/d30v-protos.h, config/d30v/d30v.c,
+ 	config/d30v/d30v.h, config/d30v/d30v.md,
+ 	config/d30v/libgcc1.asm, config/d30v/t-d30v,
+ 	config/dsp16xx/dsp16xx-modes.def,
+ 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+ 	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
+ 	config/i370/README, config/i370/i370-c.c,
+ 	config/i370/i370-protos.h, config/i370/i370.c,
+ 	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
+ 	config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
+ 	config/i386/freebsd-aout.h, config/i386/linux-aout.h,
+ 	config/i386/moss.h, config/i386/netware.h,
+ 	config/i386/svr3.ifile, config/i386/svr3dbx.h,
+ 	config/i386/svr3gas.h, config/i386/svr3z.ifile,
+ 	config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
+ 	config/i960/i960-c.c, config/i960/i960-coff.h,
+ 	config/i960/i960-modes.def, config/i960/i960-protos.h,
+ 	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
+ 	config/i960/rtems.h, config/i960/t-960bare,
+ 	config/m68k/hp310.h, config/m68k/hp320.h,
+ 	config/m68k/hp320base.h, config/m68k/m68kv4.h,
+ 	config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
+ 	Remove.
+ 	* doc/extend.texi, doc/install.texi, doc/invoke.texi,
+ 	doc/md.texi: Remove mentions of obsolete ports.
+ 
+ 2004-02-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (find_base_term, get_addr):  Do not dereference NULL
+ 	pointer when all VALUE's locations has been invalidated.
+ 	(rtx_equal_for_memref_p): Simplify checking of VALUEs.
+ 
+ 2004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
+ 
+ 	* doc/invoke.texi (x86 options): Fix spelling/wording.
+ 
+ 2004-02-03  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
+ 	put the original string in a comment.
+ 	* config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
+ 	* config/mips/mips.c (mips_output_ascii): Likewise.
+ 	* config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
+ 
+ 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (GIV_SORT_CRITERION): Poison.
+ 	* config/avr/avr.h (GIV_SORT_CRITERION): Remove.
+ 	* config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
+ 
+ 2004-02-03  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/9348
+ 	* expr.c (expand_expr_real) <MULT_EXPR>:  When performing widening
+ 	multiplies with a multiplication of the wrong signedness, its the
+ 	signedness of the multiplication that we've performed that needs to
+ 	be passed to expand_mult_highpart_adjust.  Avoid emitting a nop-move
+ 	if expand_mult_highpart_adjust places the result in target.
+ 
+ 2004-02-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
+ 
+ 2004-02-03  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* config.gcc (sh[234]l): Use little endian fragments.
+ 
+ 2004-02-03  Paul Koning  <pkoning@equallogic.com>
+ 
+ 	* config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
+ 	* config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
+ 	* config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
+ 	encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
+ 	floating point format.
+ 	(pdp11_f_format, pdp11_d_format): New real_format descriptors for
+ 	the above functions.
+ 	(output_move_quad): Output float values in correct target format.
+ 	(legitimate_const_double_p): New function.
+ 	* config/pdp11/pdp11.h: Fix typos.
+ 	(FLOAT_WORDS_BIG_ENDIAN): Add definition.
+ 	(TARGET_FLOAT_FORMAT): Ditto.
+ 	(pdp11_f_format, pdp11_d_format): Add external declarations.
+ 	(MAX_REGS_PER_ADDRESS): Corrected.
+ 	(LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
+ 	(PRINT_OPERAND): Output float literals in target format.
+ 
+ 2004-02-03  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/13975
+ 	* tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
+ 	TI_PRIVATE.
+ 	(access_public_node): Redefine.
+ 	(access_protected_node): Likewise.
+ 	(access_private_node): Likewise.
+ 	* tree.c (build_common_tree_nodes): Create access_public_node,
+ 	access_protected_node, and access_private_node.
+ 
+ 2004-02-03  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
+ 	(MASK_INLINE_INT_DIV_THR): Ditto.
+ 	(MASK_INLINE_SQRT_LAT): Ditto.
+ 	(MASK_INLINE_SQRT_THR): Ditto.
+ 	(MASK_DWARF2_ASM): Ditto.
+ 	(MASK_EARLY_STOP_BITS): Ditto.
+ 
+ 2004-02-02  Paul Brook  <paul@codesourcery.com>
+ 
+ 	Merge from csl-arm-branch.
+ 
+ 	2004-01-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* aof.h (REGISTER_NAMES): Add vfp reg names
+ 	(ADDITIONAL_REGISTER_NAMES): Ditto.
+ 	* aout.h (REGISTER_NAMES): Ditto.
+ 	(ADDITIONAL_REGISTER_NAMES): Ditto.
+ 	* arm-protos.h: Update/Add Prototypes.
+ 	* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
+ 	Only allow 0.0 for VFP.
+ 	(fp_consts_inited): Rename from fpa_consts_inited.  Update users.
+ 	(values_fp): Rename from values_fpa.  Update Users.
+ 	(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
+ 	Update users.  Only check valid constants for this hardware.
+ 	(arm_float_rhs_operand): Rename from fpa_rhs_operand.  Update Users.
+ 	Only allow consts for FPA.
+ 	(arm_float_add_operand): Rename from fpa_add_operand.  Update users.
+ 	Only allow consts for FPA.
+ 	(use_return_insn): Check for saved VFP regs.
+ 	(arm_legitimate_address_p): Handle VFP DFmode addressing.
+ 	(arm_legitimize_address): Ditto.
+ 	(arm_general_register_operand): New function.
+ 	(vfp_mem_operand): New function.
+ 	(vfp_compare_operand): New function.
+ 	(vfp_secondary_reload_class): New function.
+ 	(arm_float_compare_operand): New function.
+ 	(vfp_print_multi): New function.
+ 	(vfp_output_fstmx): New function.
+ 	(vfp_emit_fstm): New function.
+ 	(arm_output_epilogue): Output VPF reg restore code.
+ 	(arm_expand_prologue): Output VFP reg save code.
+ 	(arm_print_operand): Add 'P'.
+ 	(arm_hard_regno_mode_ok): Return modes for VFP regs.
+ 	(arm_regno_class): Return classes for VFP regs.
+ 	(arm_compute_initial_elimination_offset): Include space for VFP regs.
+ 	(arm_get_frame_size): Ditto.
+ 	* arm.h (FIXED_REGISTERS): Add VFP regs.
+ 	(CALL_USED_REGISTERS): Ditto.
+ 	(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
+ 	(FIRST_VFP_REGNUM): Define.
+ 	(LAST_VFP_REGNUM): Define.
+ 	(IS_VFP_REGNUM): Define.
+ 	(FIRST_PSEUDO_REGISTER): Include VFP regs.
+ 	(HARD_REGNO_NREGS): Handle VFP regs.
+ 	(REG_ALLOC_ORDER): Add VFP regs.
+ 	(enum reg_class): Add VFP_REGS.
+ 	(REG_CLASS_NAMES): Ditto.
+ 	(REG_CLASS_CONTENTS): Ditto.
+ 	(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
+ 	(REG_CLASS_FROM_LETTER): Add 'w'.
+ 	(EXTRA_CONSTRAINT_ARM): Add 'U'.
+ 	(EXTRA_MEMORY_CONSTRAINT): Define.
+ 	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
+ 	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
+ 	(REGISTER_MOVE_COST): Ditto.
+ 	(PREDICATE_CODES): Add arm_general_register_operand,
+ 	arm_float_compare_operand and vfp_compare_operand.
+ 	* arm.md (various): Rename as above.
+ 	(divsf3): Enable when TARGET_VFP.
+ 	(divdf3): Ditto.
+ 	(movdfcc): Ditto.
+ 	(sqrtsf2): Ditto.
+ 	(sqrtdf2): Ditto.
+ 	(arm_movdi): Disable when TARGET_VFP.
+ 	(arm_movsi_insn): Ditto.
+ 	(movsi): Only split with general regs.
+ 	(cmpsf): Use arm_float_compare_operand.
+ 	(push_fp_multi): Restrict to TARGET_FPA.
+ 	(vfp.md): Include.
+ 	* vfp.md: New file.
+ 	* fpa.md (various): Rename as above.
+ 	* doc/md.texi: Document ARM w and U constraints.
+ 
+ 	2004-01-15  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc: Add with_fpu.  Allow with-float=softfp.
+ 	* config/arm/arm.c (arm_override_options): Rename *-s to *s.
+ 	Break out of loop when we find a float-abi.  Fix typo.
+ 	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
+ 	Set -mfloat-abi=.
+ 	* doc/install.texi: Document --with-fpu.
+ 
+ 	2003-01-14  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config.gcc (with_arch): Add armv6.
+ 	* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
+ 	* config/arm/arm.c (arm_overrride_options): Ditto.
+ 
+ 	2004-01-08  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
+ 	(FL_ARCH6): Renamed from FL_ARCH6J.
+ 	(arm_arch3m): Renamed from arm_fast_multiply.
+ 	(arm_arch6): Renamed from arm_arch6j.
+ 	* arm.h: Update all uses of above.
+ 	* arm-cores.def: Likewise.
+ 	* arm.md: Likewise.
+ 
+ 	* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
+ 	not arm6j.  Add entry for arch armv6.
+ 
+ 	2004-01-07  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (arm_emit_extendsi): Delete.
+ 	* arm-protos.h (arm_emit_extendsi): Delete.
+ 	* arm.md (zero_extendhisi2): Also handle zero-extension of
+ 	non-subregs.
+ 	(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
+ 	(thumb_zero_extendhisi2): Only match if not v6.
+ 	(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
+ 	(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
+ 	(thumb_extendqisi2): Likewise.
+ 	(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
+ 	(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
+ 	(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
+ 	(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
+ 	(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
+ 	(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
+ 	(arm_zero_extendhisi2addsi): Remove subreg.  Add attributes.
+ 	(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
+ 	(arm_extendqisi2addsi): Likewise.
+ 
+ 	2003-12-31  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	Revert this change:
+ 	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ 	+ REG addressing modes.
+ 
+ 	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
+ 	+ REG addressing modes.
+ 
+ 	2003-12-30  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
+ 	CONSTANT_P_RTX.
+ 
+ 	2003-30-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* longlong.h: protect arm inlines with !defined (__thumb__)
+ 
+ 	2003-30-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
+ 
+ 	2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
+ 	change.
+ 
+ 	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
+ 	to the virtual incoming args pointer for downward stacks.
+ 
+ 	2003-12-29  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-cores.def: Add cost function.
+ 	* config/arm/arm.c (arm_*_rtx_costs): New functions.
+ 	(arm_rtx_costs): Remove
+ 	(struct processors): Add rtx_costs field.
+ 	(all_cores, all_architectures): Ditto.
+ 	(arm_override_options): Set targetm.rtx_costs.
+ 	(thumb_rtx_costs): New function.
+ 	(arm_rtx_costs_1): Remove cases handled elsewhere.
+ 	* config/arm/arm.h (processor_type): Add COSTS parameter.
+ 
+ 	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
+ 	(arm926ejs.md): Include it.
+ 	* config/arm/arm926ejs.md: New pipeline description.
+ 
+ 	2003-12-24  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_arch6j): New variable.
+ 	(arm_override_options): Set it.
+ 	(arm_emit_extendsi): New function.
+ 	* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
+ 	* config/arm/arm.h (arm_arch6j): Declare.
+ 	* config/arm/arm.md: Add sign/zero extend insns.
+ 
+ 	2003-12-23  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (all_architectures): Add armv6.
+ 	* doc/invoke.texi: Document it.
+ 
+ 	2003-12-19  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md: Add load1 and load_byte "type" attrs.  Modify
+ 	insn patterns to match.
+ 	* config/arm/arm-generic.md: Ditto.
+ 	* config/arm/cirrus.md: Ditto.
+ 	* config/arm/fpa.md: Ditto.
+ 	* config/amm/iwmmxt.md: Ditto.
+ 	* config/arm/arm1026ejs.md: Ditto.
+ 	* config/arm/arm1135jfs.md: Ditto.  Add insn_reservation and bypasses
+ 	for 11_loadb.
+ 
+ 	2003-12-18  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
+ 	* config/arm/arm.c (arm_adjust_cost): Check shift cost for
+ 	TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
+ 	(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
+ 	arm_no_early_mul_dep): Correctly deal with conditional execution,
+ 	parallels and single shift operations.
+ 	(arm_no_early_alu_shift_value_dep): Define.
+ 	* arm.md (attr type): Replace 'normal' with 'alu',
+ 	'alu_shift' and 'alu_shift_reg'.
+ 	(attr core_cycles): Adjust.
+ 	(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
+ 	*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
+ 	*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
+ 	*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
+ 	*arith_shiftsi_compare0_scratch, *sub_shiftsi,
+ 	*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
+ 	*if_shift_move, *if_move_shift, *if_shift_shift): Set type
+ 	attribute appropriately.
+ 	* config/arm/arm1026ejs.md (alu_op): Adjust.
+ 	(alu_shift_op, alu_shift_reg_op): New.
+ 	* config/arm/arm1136.md: Add better bypasses for early
+ 	registers. Remove load[234] and store[234] bypasses.
+ 	(11_alu_op): Adjust.
+ 	(11_alu_shift_op, 11_alu_shift_reg_op): New.
+ 
+ 	2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
+ 	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
+ 	* config/arm/arm.c (arm_no_early_store_addr_dep,
+ 	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
+ 	* config/arm/arm1026ejs.md: Add load-store bypass.
+ 	* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
+ 	Add bypasses between instructions.
+ 
+ 	2003-12-10  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_fpu_model): New variable.
+ 	(arm_fload_abi): New variable.
+ 	(target_fpe_name): Rename from target_fp_name.
+ 	(target_fpu_name): New variable.
+ 	(arm_is_cirrus): Remove.
+ 	(fpu_desc): New struct.
+ 	(all_fpus): Define.
+ 	(pf_model_for_fpu): Define.
+ 	(all_loat_abis): Define.
+ 	(arm_override_options): Set fp arch flags based on -mfpu=
+ 	and -float-abi=.
+ 	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
+ 	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
+ 	(*): Use new TARGET_* flags.
+ 	* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
+ 	(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
+ 	(TARGET_SOFT_FLOAT): Ditto.
+ 	(TARGET_SOFT_FLOAT_ABI): New.
+ 	(TARGET_MAVERICK): Rename from TARGET_CIRRUS.  No longer implies
+ 	TARGET_HARD_FLOAT.
+ 	(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
+ 	(TARGET_OPTIONS): Add -mfpu=.
+ 	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
+ 	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
+ 	(arm_pf_model): Define.
+ 	(arm_float_abi_type): Define.
+ 	(fputype): Add FPUTYPE_VFP.  Change SOFT_FPA->NONE
+ 	* config/arm/arm.md: Use new TARGET_* flags.
+ 	* config/arm/cirrus.md: Ditto.
+ 	* config/arm/fpa.md: Ditto.
+ 	* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
+ 	* config/arm/semi.h (ASM_SPEC): Ditto.
+ 	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
+ 	(FPUTYPE_DEFAULT): Set to VFP.
+ 	* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
+ 
+ 	2003-11-22  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	PR target/12476
+ 	* config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
+ 	'bx' instead of 'b' to avoid branch range restrictions.  Output
+ 	the thunk immediately before the thunked-to function.
+ 	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
+ 	.thumb_func if a thunk is being generated.  Emit .code 16 along
+ 	with .thumb_func if a thunk is not being generated.
+ 
+ 	2003-11-15  Nicolas Pitre <nico@cam.org>
+ 
+ 	* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
+ 	arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
+ 	* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
+ 	(lshrdi3_iwmmxt): Renamed from lshrdi3.
+ 	* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
+ 
+ 	2003-11-12  Steve Woodford  <scw@wasabisystems.com>
+ 	    Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
+ 	code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
+ 
+ 	2003-11-05  Phil Edwards  <phil@codesourcery.com>
+ 
+ 	* config/arm/arm.md (insn):  Add new V6 instruction names.
+ 	(generic_sched):  New attr.
+ 	* config/arm/arm-generic.md:  Use generic_sched here.
+ 	* config/arm/arm1026ejs.md:  Do not model fetch/issue/decode
+ 	stages of pipeline.  Adjust latency counts accordingly.
+ 	* config/arm/arm1136jfs.md:  New file.
+ 
+ 	2003-10-28  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/arm.h (processor_type): New enumeration type.
+ 	(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
+ 	ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
+ 	(CPP_CPU_ARCH_SPEC): Likewise.
+ 	* config/arm/arm.c (arm_tune): New variable.
+ 	(all_cores): Use cores.def.
+ 	(all_architectures): Add representative processor.
+ 	(arm_override_options): Restructure way in which tuning
+ 	information is deduced.
+ 	* arm.md: Update "insn" and "type" attributes throughout.
+ 	(insn): New attribute.
+ 	(type): Compute "mult" from "insn" attribute.  Add load2,
+ 	load3, load4 alternatives.
+ 	(arm automaton): Move to arm-generic.md.
+ 	* config/arm/arm-cores.def: New file.
+ 	* config/arm/arm-generic.md: Likewise.
+ 	* config/arm/arm1026ejs.md: Likewise.
+ 
+ 2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Remove -mflat and
+ 	all -mxxx (xxx:chip) options.
+ 	* config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
+ 	* config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
+ 	* config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
+ 	* config/sparc/sparc.c: Likewise.
+ 	(sparc_output_function_prologue): Remove TARGET_FLAT handling.
+ 	(sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
+ 	(sparc_output_function_epilogue): Remove TARGET_FLAT handling.
+ 	(sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
+ 	(struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
+ 	(sparc_flat_must_save_register_p): Likewise.
+ 	(sparc_flat_compute_frame_size): Likewise.
+ 	(sparc_flat_save_restore): Likewise.
+ 	(sparc_flat_function_prologue): Likewise.
+ 	(sparc_flat_function_epilogue): Likewise.
+ 	(sparc_flat_epilogue_delay_slots): Likewise.
+ 	(sparc_flat_eligible_for_epilogue_delay): Likewise.
+ 	(sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
+ 	* config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
+ 	(TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
+ 	(SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
+ 	(CONDITIONAL_REGISTER_USAGE): Likewise.
+ 	(FRAME_POINTER_REQUIRED): Likewise.
+ 	(INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	(BASE_RETURN_VALUE_REG): Likewise.
+ 	(BASE_OUTGOING_VALUE_REG): Likewise.
+ 	(BASE_PASSING_ARG_REG): Likewise.
+ 	(BASE_INCOMING_ARG_REG): Likewise.
+ 	(INCOMING_REGNO): Likewise.
+ 	(OUTGOING_REGNO): Likewise.
+ 	(LOCAL_REGNO): Likewise.
+ 	(DELAY_SLOTS_FOR_EPILOGUE): Likewise.
+ 	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
+ 	(EPILOGUE_USES): Likewise.
+ 	* config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
+ 	("flat" attribute): Delete.
+ 	(do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
+ 	handling.
+ 	(call followed by jump define_peephole's): Delete.
+ 	(exception_receiver): Likewise.
+ 	(builtin_setjmp_receiver): Likewise.
+ 	* config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
+ 
+ 2004-02-03  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR c/11658
+ 	PR c/13994
+ 	* Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
+ 	on langhooks.h.
+ 	* objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
+ 	* c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
+ 	Include langhooks.h.  Replace c_common_truthvalue_conversion
+ 	with the truthvalue_conversion language hook throughout.
+ 	(expr_no_commas): Call default_conversion before save_expr
+ 	for the first term of the production 'x ? : y'.
+ 	* c-common.c (c_common_truthvalue_conversion): Remove
+ 	obsolete block.  Invoke recursively the hook instead
+ 	of this function.
+ 	* c-convert.c (convert): handle ERROR_MARK_NODE.
+ 	* c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
+ 	returned by the truthvalue_conversion language hook.
+ 	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
+ 	c_objc_common_truthvalue_conversion.
+ 	* c-objc-common.c (c_objc_common_truthvalue_conversion):
+ 	New function.
+ 	* c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
+ 	* objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
+ 	c_objc_common_truthvalue_conversion.
+ 
+ 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
+ 	of gen_rtx.
+ 	(LIBCALL_VALUE): Likewise.
+ 	* config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
+ 	gen_rtx_CC0 instead of gen_rtx.
+ 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
+ 	gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
+ 	(m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
+ 	gen_rtx.
+ 	(m68hc11_emit_logical): Likewise.
+ 
+ 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
+ 	config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
+ 	config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
+ 	config/m32r/m32r.md, config/m68hc11/m68hc11.c,
+ 	config/mips/mips.md, config/mmix/mmix.c,
+ 	config/mn10300/mn10300.c, config/mn10300/mn10300.md,
+ 	config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
+ 	config/rs6000/altivec.md, config/s390/s390.c,
+ 	config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
+ 	config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
+ 	Use const0_rtx instead of GEN_INT (0).  Do the same for other
+ 	constants that are readily available.
+ 
+ 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doloop.c, optabs.c, regmove.c, sched-deps.c,
+ 	config/i386/i386.c, config/i386/i386.md: Use const0_rtx
+ 	instead of GEN_INT (0).  Do the same for other constants that
+ 	are readily available.
+ 
+ 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* combine.c (simplify_set): Use gen_rtx_fmt_e instead of
+ 	gen_rtx.
+ 	* emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
+ 	instead of gen_rtx.
+ 	* reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
+ 	gen_rtx.
+ 	* config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
+ 	gen_rtx_ASHIFT instead of gen_rtx.
+ 	(udivmodqi4): Likewise.
+ 
+ 2004-02-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/13789
+ 	* expr.c (store_expr): Use force_operand before emit_move_insn.
+ 
+ 2004-02-02  Jeff Law  <law@redhat.com>
+ 	    Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (commutative_tree_code, associative_tree_code): New
+ 	functions.
+ 	(iterative_hash_expr): Use commutative_tree_code.
+ 	* tree.h (commutative_tree_code, associative_tree_code): Declare.
+ 	* fold-const.c (operand_equal_p): Use commutative_tree_code
+ 	rather than inlining the commutativity check.
+ 	(fold): Likewise.
+ 
+ 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
+ 	* config/frv/frv-protos.h: Remove the prototype for
+ 	frv_function_arg_keep_as_reference.
+ 	* config/frv/frv.c (frv_function_arg_keep_as_reference):
+ 	Remove.
+ 	* config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
+ 	* config/stormy16/stormy16.h: Remove the commented-out
+ 	definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
+ 
+ 2004-02-03  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/13914
+ 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
+ 	for retaddr_column.
+ 
+ 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
+ 	gen_rtx.
+ 
+ 2004-02-02  Eric Christopher  <echristo@redhat.com>
+ 	    Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-opts.c (c_common_handle_option): Add -finput-charset.
+ 	* c.opt: Ditto.
+ 	* cppcharset.c (one_iso88591_to_utf8): Remove.
+ 	(convert_iso88591_utf8): Ditto.
+ 	(conversion_tab): Remove 8859-1 converter.
+ 	(_cpp_input_to_utf8): Remove.
+ 	(_cpp_init_iconv_buffer): Ditto.
+ 	(_cpp_close_iconv_buffer): Ditto.
+ 	(_cpp_convert_input): New function.
+ 	(_cpp_default_encoding): Ditto.
+ 	* cpphash.h: Add/remove prototypes for above.
+ 	* cppfiles.c (read_file_guts): Use _cpp_convert_input.
+ 	* cppinit.c (cpp_create_reader): Use _cpp_default_encoding
+ 	for narrow execution and input character sets.
+ 	* cpplib.c (cpp_push_buffer): Delete uses of removed functions.
+ 	* doc/cppopts.texi: Document -finput-charset.
+ 
+ 2004-02-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
+ 	against FIRST_PSEUDO_REGISTER.
+ 
+ 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Further improve.
+ 
+ 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
+ 	config/h8300/h8300.c, config/ip2k/ip2k.md,
+ 	config/iq2000/iq2000.c, config/mips/mips.c,
+ 	config/rs6000/rs6000.c, config/rs6000/rs6000.md,
+ 	config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
+ 	config/v850/v850.md: Fix indentation.
+ 
+ 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_slotno): Align TImode
+ 	arguments on a 16-byte boundary in the parameter array if ARCH64.
+ 	Split handling of TFmode.
+ 
+ 2004-02-02  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
+ 	Don't test CONSTANT_P (x).
+ 	(reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
+ 	ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
+ 	Fix misindentation.
+ 
+ 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
+ 
+ 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
+ 	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
+ 	config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
+ 	config/iq2000/iq2000.c, config/m32r/m32r.c,
+ 	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
+ 	config/mn10300/mn10300.c, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
+ 	config/stormy16/stormy16.c, config/v850/v850.md,
+ 	config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
+ 
+ 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/mcore.c (block_move_sequence): Replace
+ 	gen_rtx_CONST_INT with GEN_INT.
+ 
+ 2004-02-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (record_set): Use hard_regno_nregs.
+ 	* bt-load.c (find_btr_reference, note_btr_set): Likewise.
+ 	* builtins.c (apply_args_size): Likewise.
+ 	* caller-save.c (setup_save_areas, save_call_clobbered_regs,
+ 	mark_set_regs, add_stored_regs, mark_referenced_regs,
+ 	insert_restore, insert_save, insert_one_insn): Likewise.
+ 	* cfgcleanup.c: Include regs.h
+ 	(mark_effect, mentions_nonequal_regs): Likewise.
+ 	* cfgrtl.c (mark_killed_regs): Likewise
+ 	* combine.c (update_table_tick, record_value_for_reg,
+ 	record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
+ 	reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
+ 	reg_bitfield_target_p, distribute_notes): Likewise.
+ 	* cse.c (mention_regs, insert, invalidate, invalidate_for_call,
+ 	exp_equiv_p, cse_insn): Likewise.
+ 	* cselib.c (cselib_lookup): Likewise.
+ 	(cselib_invalidate_regno, cselib_record_set): Likewise.
+ 	* df.c (df_ref_record): Likewise.
+ 	* dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
+ 	Likewise.
+ 	* flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
+ 	count_or_remove_death_notes_bb): Likewise.
+ 	* function.c (aggregate_value_p, keep_stack_depressed): Likewise.
+ 	* gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
+ 	mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
+ 	* integrate.c (mark_stores): Likewise.
+ 	* jump.c (delete_prior_computation): Likewise.
+ 	* lcm.c (reg_dies, reg_becomes_live): Likewise.
+ 	* local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
+ 	* loop.c (LOOP_REGNO_NREGS): Likewise.
+ 	* postreload.c (reload_combine, reload_combine_note_store,
+ 	reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
+ 	* ra-colorize.c (combine, color_usable_p, get_free_reg,
+ 	calculate_dont_begin, calculate_dont_begin, colorize_one_web,
+ 	try_recolor_web, insert_coalesced_conflicts, check_colors,
+ 	break_precolored_alias): Likewise.
+ 	* ra-debug.c: Include regs.h
+ 	(ra_print_rtx_object): Likewise.
+ 	* ra-rewrite (choose_spill_colors): Likewise.
+ 	(spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
+ 	* ra.c (init_ra): Likewise.
+ 	* recog.c (reg_fits_class_p, peep2_reg_dead_p,
+ 	peep2_find_free_register): Likewise.
+ 	* reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
+ 	* regclass.c (hard_regno_nregs): New array.
+ 	(init_reg_modes_once): Initialize it.
+ 	(choose_hard_reg_mode): Use it.
+ 	(record_reg_classes): Likewise.
+ 	* regmove.c (mark_flags_life_zones): Likewise.
+ 	* regrename.c (note_sets, clear_dead_regs, regrename_optimize,
+ 	scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
+ 	copy_value, maybe_mode_change, find_oldest_value_reg,
+ 	copyprop_hardreg_forward_1):
+ 	* regs.h (hard_regno_nregs): Declare.
+ 	* realod.c (reload_inner_reg_of_subreg): Use it.
+ 	(push_reload, combine_reloads, find_dummy_reload,
+ 	hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
+ 	refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
+ 	reload_adjust_reg_for_mode): Likewise.
+ 	* reload1.c (compute_use_by_pseudos, count_pseudo,
+ 	count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
+ 	spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
+ 	clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
+ 	allocate_reload_reg, choose_reload_regs, emit_reload_insns,
+ 	delete_output_reload): Likewise.
+ 	* resource.c (update_live_status, mark_referenced_resources,
+ 	mark_set_resources, mark_target_live_regs): Likewise.
+ 	* rtlanal.c:  Include regs.h
+ 	(refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
+ 	dead_or_set_regno_p, find_regno_note, find_reg_fusage,
+ 	subreg_regno_offset, subreg_offset_representable_p,
+ 	hoist_test_store): Likewise.
+ 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
+ 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
+ 	* stmt.c: Include regs.h
+ 	(decl_conflicts_with_clobbers_p): Likewise.
+ 	* varasm.c (make_decl_rtl): Likewise.
+ 	* Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
+ 
+ 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
+ 	config/arm/linux-gas.h, config/arm/netbsd-elf.h,
+ 	config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
+ 	config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
+ 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
+ 	config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
+ 	config/iq2000/iq2000.h, config/m32r/m32r.c,
+ 	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+ 	config/m68hc11/m68hc11.md, config/m68k/m68k.md,
+ 	config/mcore/mcore.c, config/mcore/mcore.h,
+ 	config/mcore/mcore.md, config/mips/mips.c,
+ 	config/ns32k/ns32k.h, config/ns32k/ns32k.md,
+ 	config/rs6000/rs6000.c, config/s390/s390.c,
+ 	config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
+ 	config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
+ 	"gen_rtx (FOO, " with "gen_rtx_FOO (".
+ 
+ 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (two peephole2's): New.
+ 
+ 2004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
+ 	(CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
+ 	(ASM_CPU_SPEC): Likewise
+ 	* config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
+ 	(ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
+ 
+ 2004-02-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
+ 	isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
+ 	(expand_builtin): Always call expand_builtin_pow.
+ 
+ 2004-02-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
+ 	BUILT_IN_SIGNBITL): New GCC builtins.
+ 	* builtins.c (expand_builtin_signbit): New function to RTL expand
+ 	calls to signbit, signbitf and signbitl as inline intrinsics.
+ 	(expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
+ 	(fold_builtin_signbit): New function to perform constant folding
+ 	of signbit, signbitf and signbitl.
+ 	(fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
+ 
+ 	* doc/extend.texi: Document new signbit{,f,l} builtins.
+ 
+ 2004-02-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
+ 
+ 2004-02-01  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (PREDICATE_CODES): Remove entries for
+ 	"mips_const_double_ok" and "simple_memory_operand", which were
+ 	removed from the MIPS port with the mips-3_4-rewrite branch merge.
+ 	* config/mips/mips.c (mips16_lay_out_constants): Update comment
+ 	for removal of simple_memory_operand.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/c4x/c4x.md: Use GEN_INT instead of
+ 	gen_rtx (CONST_INT, ...).
+ 
+ 2004-01-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (output_constant_pool): Don't zap the pool.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genrecog.c (decision_type): Add DT_const_int.
+ 	(write_cond) [DT_const_int]: Print a comparison against small
+ 	constant.
+ 	(write_node): Simplify comparisons against small constants
+ 	before printing tests.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
+ 	instead of gen_rtx_CONST_INT.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
+ 	instead of gen_rtx_CONST_INT.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
+ 	hook_bool_CUMULATIVE_ARGS_false.
+ 	* targhooks.c (default_strict_argument_naming): Rename to
+ 	hook_bool_CUMULATIVE_ARGS_false.
+ 	* targhooks.h: Update the prototype for
+ 	default_strict_argument_naming.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 
+ 2004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Restructure and update.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
+ 	STRICT_ARGUMENT_NAMING): Poison.
+ 	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
+ 	hook_bool_tree_false.
+ 	* targhooks.c (default_promote_function_args): Remove.
+ 	(default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
+ 	Don't check incoming.
+ 	(default_strict_argument_naming): Don't use
+ 	STRICT_ARGUMENT_NAMING.
+ 	* targhooks.h: Remove the prototype for
+ 	default_promote_function_args.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386-protos.h: Remove the prototype for
+ 	ix86_setup_incoming_varargs.
+ 	* config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
+ 	(ix86_setup_incoming_varargs): Make it static.
+ 	* config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alloc-pool.c: Fix comment typos.
+ 	* builtin-types.def: Likewise.
+ 	* builtins.def: Likewise.
+ 	* c-pretty-print.c: Likewise.
+ 	* df.h: Likewise.
+ 	* reload1.c: Likewise.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Follow spelling conventions.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/install.texi: Fix typos.
+ 	* doc/invoke.texi: Likewise.
+ 
+ 2004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_decompose_address): Do not treat virtual
+ 	registers as pointers.
+ 	* config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
+ 
+ 2004-01-31  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
+ 	and restore it to gen_lowpart_general on exit.
+ 	(gen_lowpart_for_combine): Adjust all callers to go through
+ 	gen_lowpart.
+ 	* cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
+ 	and restore it to gen_lowpart_general on exit.
+ 	(gen_lowpart_if_possible): Adjust all callers to go through
+ 	gen_lowpart.
+ 	* emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
+ 	(gen_lowpart): Declare as pointer to function, initialized to
+ 	gen_lowpart_general.
+ 	* rtl.h (gen_lowpart): Declare as pointer to function.
+ 
+ 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
+ 	* calls.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* function.c: Likewise.
+ 	* reload1.c: Likewise.
+ 	* config/i386/cygming.h: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 
+ 2004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
+ 
+ 	PR bootstrap/9249
+ 	* doc/install.texi: document --enable-__cxa_atexit option.
+ 	* configure.ac: Disable __cxa_atexit if not supported.
+ 	* configure: Regenerate.
+ 
+ 2004-01-30  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* ggc-zone.c (ggc_free): New function.
+ 
+ 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
+ 	cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
+ 	flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
+ 	ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
+ 	tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
+ 	config/alpha/alpha.c, config/alpha/alpha.h,
+ 	config/alpha/alpha.md, config/alpha/unicosmk.h,
+ 	config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
+ 	config/c4x/c4x-protos.h, config/c4x/c4x.md,
+ 	config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
+ 	config/frv/frvend.c, config/i386/cygming.h,
+ 	config/i386/djgpp.h, config/i386/emmintrin.h,
+ 	config/i386/gthr-win32.c, config/i386/i386-interix.h,
+ 	config/i386/i386-protos.h, config/i386/openbsd.h,
+ 	config/i386/winnt.c, config/i386/xm-mingw32.h,
+ 	config/i386/xmmintrin.h, config/ia64/ia64.md,
+ 	config/iq2000/iq2000.md, config/m32r/m32r.md,
+ 	config/m68k/m68k.md, config/mcore/mcore-elf.h,
+ 	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
+ 	config/mips/iris5gas.h, config/mips/iris6.h,
+ 	config/mips/iris6gas.h, config/mips/linux.h,
+ 	config/mips/mips.md, config/mips/netbsd.h,
+ 	config/mips/openbsd.h, config/mips/windiss.h,
+ 	config/pa/fptr.c, config/rs6000/aix.h,
+ 	config/rs6000/altivec.h, config/rs6000/darwin.h,
+ 	config/rs6000/xcoff.h, config/s390/s390-protos.h,
+ 	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
+ 	config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
+ 	config/sparc/sol2.h: Update copyright.
+ 
+ 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (abs_docdir, abs_srcdir): Define.
+ 	(doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
+ 
+ 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genconfig.c (main): Have CC0_P check its operand even on a
+ 	target without cc0.
+ 
+ 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c: Remove mentions of deprecates macros
+ 	in comments, remove some target-independent comments about target
+ 	macros, and/or add minimal function comments for target hook
+ 	implementations.
+ 	* config/avr/avr.c: Likewise.
+ 	* config/ia64/ia64.h: Likewise.
+ 	* config/ip2k/ip2k.c: Likewise.
+ 	* config/iq2000/iq2000.c: Likewise.
+ 	* config/m32r/m32r.h: Likewise.
+ 	* config/m68hc11/m68hc11.c: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mmix/mmix.c: Likewise.
+ 	* config/mn10300/mn10300.c: Likewise.
+ 	* config/pa/pa.c: Likewise.
+ 	* config/pdp11/pdp11.c: Likewise.
+ 	* config/rs6000/rs6000.h: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sparc/sparc.c: Likewise.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/stormy16/stormy16.c: Likewise.
+ 	* config/xtensa/xtensa.c: Likewise.
+ 
+ 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR optimization/12147
+ 	* reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
+ 	RELOAD_FOR_OPADDR_ADDR.
+ 	(reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
+ 	might be reused as RELOAD_FOR_OPADDR_ADDR register.
+ 
+ 2004-01-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* reload.c (get_secondary_mem): Fix updating of
+ 	secondary_memlocs_elim_used.
+ 
+ 2004-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (struct rtx_const, struct pool_constant): Remove.
+ 	(MAX_RTX_HASH_TABLE): Remove.
+ 	(const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
+ 	(first_pool, last_pool, pool_offset): Remove.
+ 	(struct rtx_constant_pool): Split out from ...
+ 	(struct varasm_status): ... here.  Reference one via pointer.
+ 	(struct constant_descriptor_rtx): Merge struct pool_constant.
+ 	(SYMHASH): Remove.
+ 	(decode_rtx_const): Remove.
+ 	(const_hash_rtx, compare_constant_rtx): Remove.
+ 	(record_constant_rtx): Remove.
+ 	(const_desc_rtx_hash, const_desc_rtx_eq): New.
+ 	(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
+ 	(const_rtx_hash_1, const_rtx_hash): New.
+ 	(init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
+ 	(simplify_subtraction): Use simplify_rtx.
+ 	(force_const_mem): Rewrite to use new data structures.
+ 	(find_pool_constant): Likewise.
+ 	(get_pool_constant, get_pool_constant_mark,
+ 	get_pool_constant_for_function, get_pool_mode,
+ 	get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
+ 	(output_constant_pool_2): Split out from output_constant_pool.
+ 	(output_constant_pool_1): Likewise.  Use new pool datastructures.
+ 	(output_constant_pool): Zap entire pool datastructure.
+ 	(mark_constant): Use new pool datastructures.
+ 	(mark_constants): Use for_each_rtx.
+ 	(mark_constant_pool): Use new pool datastructures.
+ 
+ 2004-01-30  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
+ 	Copy operands[1] to pseudo for simplify_gen_subreg.
+ 
+ 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (bypass_block): Fix a typo in the previous check-in
+ 	to the file.
+ 
+ 2004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	* toplev.c: Include alloc-pool.h.
+ 	* Makefile.in (toplev.c): Update dependencies.
+ 
+ 2004-01-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* combine.c (simplify_shift_const, case XOR): Be careful when
+ 	commuting XOR with ASHIFTRT.
+ 
+ 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc-protos.h: Remove the prototype for
+ 	sparc_builtin_saveregs.
+ 	* config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ 	(sparc_builtin_saveregs): Make it static.
+ 	(sparc_promote_prototypes): New.
+ 	(sparc_struct_value_rtx): Likewise.
+ 	(sparc_return_in_memory): Likewise.
+ 	* config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(STRUCT_VALUE_INCOMING): Likewise.
+ 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 
+ 	* config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
+ 
+ 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR c/12818
+ 	* varasm.c (const_hash_1) <STRING_CST>: Use the
+ 	address to compute the hash value if flag_writable_strings.
+ 	(compare_constant) <STRING_CST>: Compare the addresses
+ 	if flag_writable_strings.
+ 	(build_constant_desc): Do not copy the expression for a
+ 	STRING_CST if flag_writable_strings.
+ 
+ 2004-01-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alloc-pool.c: Include hashtab.h
+ 	(alloc_pool_descriptor): New structure
+ 	(alloc_pool_hash): New global variable.
+ 	(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
+ 	(create_alloc_pool): Update statistics.
+ 	(free_alloc_pool): Likewise.
+ 	(pool_alloc): Likewise.
+ 	(output_info): New structure
+ 	(print_statistics, dump_alloc_pool_statistics): New function.
+ 	* alloc-pool.h (alloc_pool_def): Turn name to be constant.
+ 	(dump_alloc_pool_statistics): Declare.
+ 	* toplev.c (finalize):  Dump statistics.
+ 
+ 	* reload.c (secondary_memlocs_elim_used): New static variable.
+ 	(get_secondary_mem): Update it.
+ 	(find_reloads): Use it.
+ 
+ 2004-01-30  Steven Bosscher <s.bosscher@student.tudelft.nl>
+ 
+ 	* toplev.c: Fix broken checkin of 2003-12-30, again.
+ 
+ 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
+ 	s390*-*-* targets by specifying a 'nop' insn.
+ 	* configure: Regenerate.
+ 
+ 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/11475
+ 	* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
+ 
+ 2004-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
+ 	of addr when creating MEM copy.
+ 
+ 2004-01-29  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dwarf2out.c (gen_field_die): Do not equate decl number to die.
+ 
+ 2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR inline-asm/6162
+ 	* reload.c (find_reloads): Only support one pair of commutative
+ 	operands.
+ 
+ 2004-01-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR java/13824
+ 	* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
+ 	as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
+ 	recursion.
+ 
+ 2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/frv/frv.c: Don't mention deprecated macros in
+ 	comments.  Remove some target-independent comments about
+ 	target macros.
+ 	* config/frv/frv.h: Likewise.
+ 
+ 2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfghooks.c (split_block): Set probability and count of the
+ 	new edge.
+ 
+ 2004-01-29  Josef Zlomek  <zlomekj@suse.cz>
+ 
+ 	* dwarf2out.c (struct die_struct): Added field decl_id.
+ 	(decl_die_table): Changed to hash table.
+ 	(decl_die_table_allocated): Deleted.
+ 	(decl_die_table_in_use): Deleted.
+ 	(DECL_DIE_TABLE_INCREMENT): Deleted.
+ 	(decl_die_table_hash): New function.
+ 	(decl_die_table_eq): New function.
+ 	(lookup_decl_die): Lookup in a hash table.
+ 	(equate_decl_number_to_die): Insert into a hash table.
+ 	(dwarf2out_init): Init hash table decl_die_table.
+ 
+ 2004-01-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR optimization/13424
+ 	* expr.c (store_constructor): Revert 2003-12-03 change.
+ 
+ 	* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
+ 	expected before returning early.  Avoid sharing RTL if they
+ 	need to be changed.
+ 
+ 	* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
+ 	handling so that memory attributes are preserved.  Don't call
+ 	ix86_set_move_mem_attrs.
+ 	(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
+ 	(ix86_expand_clrstr): Rename src argument to
+ 	dst.  Rework rep_stos and strset handling so that memory attributes
+ 	are preserved.
+ 	(ix86_expand_strlen): Pass src argument to
+ 	ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
+ 	memory attributes are preserved.
+ 	(ix86_expand_strlensi_unroll_1): Add src argument.  Use
+ 	change_address instead of gen_rtx_MEM.
+ 	* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
+ 	expanders.
+ 	(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
+ 	strmovqi, strmovqi_rex64): Remove.
+ 	(rep_mov*, strmov*): Prefix insn names with *.
+ 	(strset, strset_singleop, rep_stos): New expanders.
+ 	(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
+ 	strsetqi, strsetqi_rex64): Remove.
+ 	(rep_stos*, strset*): Prefix insn names with *.
+ 	(rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
+ 	to SImode.
+ 	(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
+ 	are preserved.
+ 	(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
+ 	Prefix insn names with *.
+ 	(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
+ 	(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
+ 	(strlenqi_1): New expander.
+ 	* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
+ 
+ 2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
+ 	* basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
+ 	verify_flow_info): Declaration removed.
+ 	* cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
+ 	(debug_bb, debug_bb_n): Add argument to dump_bb call.
+ 	* cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
+ 	try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
+ 	instead of delete_block.
+ 	* cfghooks.c: Include timevar.h and toplev.h.
+ 	(cfg_hooks): Define here.
+ 	(verify_flow_info, dump_bb): Moved from cfg.c.
+ 	(redirect_edge_and_branch, redirect_edge_and_branch_force,
+ 	split_block, split_block_after_labels, move_block_after,
+ 	delete_basic_block, split_edge, create_basic_block,
+ 	create_empty_bb, can_merge_blocks_p, merge_blocks,
+ 	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
+ 	New functions.
+ 	* cfghooks.h (struct cfg_hooks): Added fields name,
+ 	make_forwarder_block, tidy_fallthru_edge and
+ 	move_block_after. Changed type of verify_flow_info, dump_bb,
+ 	split_block fields. Renamed cfgh_split_edge and delete_block
+ 	fields.
+ 	(redirect_edge_and_branch, redirect_edge_and_branch_force,
+ 	split_block, delete_block, split_edge, create_basic_block,
+ 	can_merge_blocks_p, merge_blocks): Macros removed.
+ 	(cfg_hooks): Do not export.
+ 	(verify_flow_info, dump_bb, redirect_edge_and_branch,
+ 	redirect_edge_and_branch_force, split_block, split_block_after_labels,
+ 	move_block_after, delete_basic_block, split_edge, create_basic_block,
+ 	create_empty_bb, can_merge_blocks_p, merge_blocks,
+ 	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
+ 	Declare.
+ 	(cfg_layout_rtl_cfg_hooks): Declare.
+ 	* cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
+ 	New functions.
+ 	(canonicalize_loop_headers): Use new semantics of make_forwarder_block.
+ 	(redirect_edge_with_latch_update): Removed.
+ 	(make_forwarder_block): Moved to cfghooks.c, semantics changed.
+ 	* cfgloopmanip.c (remove_bbs): Do not update dominators here.
+ 	* cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
+ 	rtl_delete_block, rtl_split_block, rtl_merge_blocks,
+ 	tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
+ 	cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
+ 	cfghooks.c.
+ 	(rtl_create_basic_block): Coding style fix.
+ 	(rtl_tidy_fallthru_edge, rtl_move_block_after,
+ 	rtl_make_forwarder_block): New functions.
+ 	(update_cfg_after_block_merging): Removed.
+ 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
+ 	* flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
+ 	to dump_bb.
+ 	* ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
+ 	find_if_case_2): Don't update dominators.
+ 	* timevar.def (TV_CFG_VERIFY): New.
+ 	* loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
+ 	* cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
+ 	* cfgloopmanip.c (split_loop_bb): Don't update dominators.
+ 	(remove_bbs): Don't call remove_bbs.
+ 	(create_preheader): Use make_forwarder_block.
+ 	(mfb_keep_just, mfb_update_loops): New static functions.
+ 
+ 2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.h: Remove target-independent comments about
+ 	target macros.
+ 
+ 2004-01-28  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* timevar.c (timevar_print): Mention when checking is enabled.
+ 
+ 2004-01-28  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	* c-lex.c (c_lex): Rename to...
+ 	(c_lex_with_flags): Add new parameter to get CPP flags.
+ 	(c_lex): Thunk to c_lex_with_flags while keeping the old interface.
+ 	* c-pragma.h (c_lex_with_flags): Declare.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/mcore.c (mcore_external_libcall): Add a
+ 	comment.
+ 	(mcore_return_in_memory): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/mcore-protos.h: Remove the prototype for
+ 	mcore_setup_incoming_varargs.
+ 	* config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
+ 	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(mcore_setup_incoming_varargs): Make it static.  Receive the
+ 	first argument by reference.  Add argument second_time.
+ 	(mcore_external_libcall): New.
+ 	(mcore_return_in_memory): Likewise.
+ 	* config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r-protos.h: Remove the prototype for
+ 	m32r_setup_incoming_varargs.
+ 	* config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(m32r_return_in_memory): New.
+ 	(m32r_setup_incoming_varargs): Make it static.
+ 	* config/m32r/m32r.h: Remove #undef of
+ 	ASM_OUTPUT_EXTERNAL_LIBCALL.  Remove the commented-out
+ 	definitions of PROMOTE_FUNCTION_ARGS and
+ 	PROMOTE_FUNCTION_RETURN.
+ 	(PROMOTE_PROTOTYPES): Remove.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(m68k_struct_value_rtx): Likewise.
+ 	* config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
+ 	STRUCT_VALUE_REGNUM.
+ 	(PROMOTE_PROTOTYPES): Remove.
+ 	* config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
+ 	STRUCT_VALUE_REGNUM.
+ 	* config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
+ 	* config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/stormy16/stormy16.c
+ 	(TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
+ 	TARGET_BUILD_BUILTIN_VA_LIST.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(v850_return_in_memory): Likewise.
+ 	(v850_setup_incoming_varargs): Likewise.
+ 	* config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(fr30_setup_incoming_varargs): Don't use
+ 	STRICT_ARGUMENT_NAMING.
+ 	* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/frv/frv-protos.h: Remove the prototype for
+ 	frv_expand_builtin_saveregs.
+ 	* config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
+ 	STRUCT_VALUE_REGNUM.
+ 	(frv_expand_builtin_saveregs): Make it static.
+ 	(frv_struct_value_rtx): New.
+ 	* config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
+ 
+ 2004-01-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c++/12850
+ 	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
+ 	initial pointers.
+ 	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
+ 	for functions that will be only inlined.
+ 	(cgraph_mark_function_to_output): Likewise.
+ 	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
+ 	do not clear function body.
+ 	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
+ 	(tree_rest_of_compilation): Reorganize the logic releasing function
+ 	body to use callgraph datastructure.
+ 
+ 2004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
+ 	to register_operand.
+ 
+ 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
+ 	(cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
+ 	match_operand expressions so that all match_dups appear
+ 	lexically after their corresponding match_operands.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (WORD_REG_USED): Use
+ 	HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
+ 	(compute_saved_regs): Likewise.
+ 	(h8300_expand_prologue): Likewise.  Allocate locals after
+ 	saving registers.
+ 	(h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
+ 	of FRAME_POINTER_REGNUM.  Deallocate locals before saving
+ 	registers.
+ 	(h8300_initial_elimination_offset): Adjust for the new frame
+ 	layout, which swaps flips the order of locals and saved
+ 	registers.
+ 	* config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
+ 	(HARD_FRAME_POINTER_REGNUM): New.
+ 	(ELIMINABLE_REGS): Add an elimination rule from
+ 	FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
+ 	(REGISTER_NAMES): Add fp.
+ 	* config/h8300/h8300.md (FP_REG): Change to 11.
+ 	(HFP_REG): New.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genrecog.c (write_node): Remove a useless local variable.
+ 
+ 2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* Makefile.in (options.c options.h): Use stamp file s-options to
+ 	avoid unnecessary rebuilds.
+ 	(options.o): New target listing dependencies.
+ 	(gtyp-gen.h): Use stamp file s-gtyp-gen.
+ 	(STAGESTUFF): Add s-gtyp-gen.
+ 
+ 2004-01-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* ggc.h (ggc_free): Declare.
+ 	* ggc-common.c (ggc_realloc): Use it.
+ 	* ggc-page.c: Remove lots of inline markers.
+ 	(globals): Add free_object_list.
+ 	(ggc_alloc): Tidy.
+ 	(ggc_free, validate_free_objects): New.
+ 	(poison_pages): Provide default.
+ 	(ggc_collect): Call validate_free_objects; emit markers to
+ 	the debug file.
+ 
+ 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
+ 	    Jim Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
+ 	Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
+ 	scratch pointer.
+ 	(ia64_secondary_reload_class): Delete case GR_REGS.
+ 	* config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
+ 	Do not allocate a scratch register.
+ 	(reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
+ 
+ 2004-01-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* gcse.c (bypass_block): Prevent edges to be unified when we are
+ 	about to emit compenstation code.
+ 
+ 2004-01-28  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (arm_expand_builtin): Force second argument of
+ 	the setcwx insn into a register.
+ 
+ 2004-01-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/fp-bit.c (pack_d): When using paired doubles to implement
+ 	a long double, round the high part separately.
+ 	(unpack_d): Fix the case in which the high part is a power of two
+ 	and the low part is a nonzero value of the opposite sign.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(c4x_external_libcall): Likewise.
+ 	(c4x_struct_value_rtx): Likewise.
+ 	* config/c4x/c4x.h: Remove.
+ 	(STRUCT_VALUE_REGNUM): Likewise.
+ 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
+ 
+ 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	* config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
+ 	(STRUCT_VALUE): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 
+ 2004-01-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
+ 	CONST_INT before using INTVAL.
+ 
+ 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
+ 	* config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
+ 	frame if !TARGET_BACKCHAIN.
+ 	* config/s390/s390.md ("allocate_stack"): Use pattern only if
+ 	TARGET_BACKCHAIN.
+ 	* doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
+ 
+ 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* ia64.c (ia64_function_arg): When placing HFAs in integer
+ 	registers, do not special case the mode used for complex
+ 	types.  Do not advance int_regs until the current register
+ 	is full.
+ 
+ 2004-01-27  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/7297
+ 	* except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
+ 
+ 2004-01-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
+ 	slow, unaligned loads and stores while debugging.  Fix formatting.
+ 
+ 2004-01-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
+ 	of computing wmode.
+ 	(restore_stack_nonlocal): Same.
+ 
+ 2004-01-27  Devang Patel <dpatel@apple.com>
+ 
+ 	* Makefile.in (dwarf2out.o): Depend on input.h
+ 	* dbxout.c (dbx_debug_hooks): Add new empty hook for
+ 	imported_module_or_decl.
+ 	(xcoff_debug_hooks): Same.
+ 	* sdbout.c (sdb_debug_hooks): Same.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Same.
+ 	* debug.c (do_nothing_debug_hooks): Same.
+ 	(debug_nothing_tree_tree): New function.
+ 	* debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
+ 	* dwarf2out.c: Include input.h.
+ 	(dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
+ 	(remove_child_TAG): New function.
+ 	(dwarf_tag_name): Handle DW_TAG_imported_module.
+ 	(gen_subprogram_die): Equate decl number to declaration die. Do not
+ 	remove all children dies while reusing declaration die for definition.
+ 	Instead, selectively remove only formal parameters.
+ 	(gen_variable_die): Equate variable decl to declaration die.
+ 	(gen_field_die): Equate field decl to line number.
+ 	(force_namespace_die): Replace it with ...
+ 	(force_decl_die): ... this.
+ 	(force_type_die): New function.
+ 	(setup_namespace_context): Replace use of force_namespace_die() with
+ 	force_decl_die().
+ 	(gen_namespace_die): Same.
+ 	(dwarf2out_imported_module_or_decl): New function.
+ 
+ 2004-01-27  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
+ 	on CQImode and CHImode incoming arguments in register a7.
+ 	(function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
+ 	* config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
+ 	* config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
+ 	xtensa_copy_incoming_a7 before reload.
+ 
+ 2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* coverage.c (get_coverage_counts): Give a different message
+ 	if flag_guess_branch_prob is set.
+ 	* predict.c (counts_to_freqs): Return an int.
+ 	(estimate_bb_frequencies): If counts_to_freqs returns zero,
+ 	calculate estimates.
+ 
+ 2004-01-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/iq2000/iq2000-protos.h: Remove the prototype for
+ 	iq2000_setup_incoming_varargs.
+ 	* config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ 	(iq2000_return_in_memory): Likewise.
+ 	(iq2000_setup_incoming_varargs): Make it static.  Receive the
+ 	first argument by reference.
+ 	* config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 
+ 2004-01-24  James A. Morrison  <ja2morri@uwaterloo.ca>
+ 
+ 	* fixinc/fixinc.c (test_test): Initialize res.
+ 	(start_flexer): Initialize pz_cmd_save.
+ 
+ 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
+ 	SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
+ 
+ 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 7198
+ 	* config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
+ 	(*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
+ 	(*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
+ 	Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
+ 	Possibly rename pattern for consistency.
+ 	Remove ??? comments suggesting that this be done.
+ 	(*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
+ 	New patterns.
+ 	(divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
+ 	(divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
+ 	(divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
+ 	(divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
+ 	Update to match.
+ 
+ 2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* config/arm/arm.c (output_return_instruction): Only restore IP
+ 	into SP if frame_pointer_needed.
+ 
+ 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
+ 	for SCmode and DCmode if ARCH32.
+ 	(sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
+ 	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
+ 	if ARCH32.
+ 	(BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
+ 	if ARCH32.
+ 	(BASE_OUTGOING_VALUE_REG): Likewise.
+ 
+ 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/10904
+ 	PR target/13058
+ 	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
+ 	Forbid mode changes from SImode for lower FP regs if ARCH64.
+ 
+ 2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* Makefile.in (bt-load.o): Depend on except.h.
+ 	* bt-load.c (except.h): #include.
+ 	(compute_defs_uses_and_gen): If insn at end of BB can throw
+ 	within this function, consider registers used by it unavailable for
+ 	btr migration.
+ 	(move_btr_def): If insn at end of BB can throw, insert before rather
+ 	than after.
+ 
+ 	* flags.h (flag_btr_bb_exclusive): Declare.
+ 	* toplev.c (flag_btr_bb_exclusive): New variable.
+ 	(f_options): Add btr-bb-exclusive.
+ 	* bt-load.c (augment_live_range): Restore old behaviour if
+ 	flag_btr_bb_exclusive is set.
+ 	* common.opt: Add entry for -fbtr-bb-exclusive.
+ 	* opts.c (common_handle_options): Same.
+ 	* doc/invoke.texi: Document -fbtr-bb-exclusive.
+ 
+ 	* bt-load.c (btrs_live_at_end): New variable.
+ 	(compute_defs_uses_and_gen): Compute its pointed-to array.
+ 	(clear_btr_from_live_range, add_btr_to_live_range): Update it.
+ 	(augment_live_range): When augmenting with a new dominator,
+ 	use only its btrs_live_at_end set, but also add in the full set
+ 	of the old dominator.
+ 	(btr_def_live_range): Use btrs_live_at_end.
+ 	(move_btr_def): Set other_btr_uses_before_def, and move new set
+ 	to the end of the basic block, if appropriate.
+ 	(migrate_btr_defs): Allocate and free btrs_live_at_end.
+ 
+ 	* bt-load.c (basic_block_freq): Remove outdated comment.
+ 
+ 2004-01-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.h: Correct target_flags free bits comment.
+ 	(PREDICATE_CODES): Remove duplicate.
+ 	* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
+ 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
+ 	(MASK_PROFILE_KERNEL): Adjust define.
+ 
+ 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
+ 	of long string literals from 32 bytes to sizeof (void *) when !-Os
+ 	and to 1 with -Os.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
+ 	constant addresses in the normal mode.
+ 
+ 2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (CHAR_BITFIELD): Delete.
+ 	(BOOL_BITFIELD): New.
+ 	* c-decl.c (c_scope): Use BOOL_BITFIELD.
+ 	* gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(arc_return_in_memory): Likewise.
+ 	* config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 
+ 2004-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-parse.in (extension): Use itype.
+ 	(SAVE_EXT_FLAGS): Don't allocate a tree.
+ 	(RESTORE_EXT_FLAGS): Don't read a tree.
+ 
+ 2004-01-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (discard_useless_values):  Clear out value pointer pointing
+ 	to datastructure to be recycled.
+ 
+ 2004-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* genextract.c (main): Do not output the memset when not checking.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
+ 	switch statement instead of a chain of if statements.
+ 
+ 2004-01-26  Jeff Law  <law@redhat.com>
+ 
+ 	* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
+ 	acute accents for Petur Runolfsson's entry.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	* config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 
+ 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
+ 	 unaligned load/store into smaller loads and stores.
+ 
+ 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* function.c (assign_parms): Do not assign
+ 	long long argument to memory in prologue if
+ 	is it loaded into register.
+ 
+ 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	 PR middle-end/13779
+ 	 * expr.c (emit_group_load): split constant
+ 	 correctly into register components of PARALLEL insn.
+ 
+ 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
+ 
+ 	* gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
+ 	Use adjust_address_nv directly with appropriate mode.
+ 	(restore_stack_nonlocal): Ditto.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/xtensa/xtensa-protos.h: Remove the prototype for
+ 	xtensa_builtin_saveregs.
+ 	* config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(xtensa_builtin_saveregs): Make it static.
+ 	(xtensa_return_in_memory): New.
+ 	* config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
+ 	(arm_setup_incoming_varargs): Likewise.
+ 	* config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
+ 	(cris_setup_incoming_varargs): Likewise.
+ 	* config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(ns32k_struct_value_rtx): Likewise.
+ 	* config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
+ 	NS32K_STRUCT_VALUE_REGNUM.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(arm_struct_value_rtx): Likewise.
+ 	* config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(STRUCT_VALUE): Likewise.
+ 	(STRUCT_VALUE_REGNUM): Likewise.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 
+ 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/ia64-protos.h: Remove the prototype for
+ 	ia64_setup_incoming_varargs and ia64_return_in_memory.
+ 	* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ 	(ia64_setup_incoming_varargs): Adjust the arguments to meet
+ 	the requirement of TARGET_SETUP_INCOMING_VARARGS.
+ 	(ia64_return_in_memory): Make it static.  Change the return
+ 	type to bool from int.  Add an argument.
+ 	(ia64_struct_value_rtx): New.
+ 	* config/ia64/ia64.h: Remove commented-out definitions of
+ 	PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
+ 	PROMOTE_PROTOTYPES.
+ 	(RETURN_IN_MEMORY): Remove.
+ 	(STRUCT_VALUE_REGNUM): Likewise.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 
+ 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/13666
+ 	* config/sparc/sparc.c (function_arg_union_value): New function.
+ 	(function_arg): Use it to deal with unions.
+ 	(function_value): Likewise.  Define 'regbase' only for ARCH64.
+ 	Replace a conditional statement by a simpler one.
+ 
+ 2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips16_optimize_gp): Delete.
+ 	(mips_reorg): Don't call it.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
+ 	(floatunsqihf2): Remove operand 6.
+ 	(fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
+ 	fix patterns.
+ 	(ldi_conditional, ldf_conditional): Validate operands.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
+ 	(HAVE_GAS_HIDDEN): Undefine as interim measure.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_legitimate_address_p):  Invalidate direct
+ 	memory references if TARGET_EXPOSE_LDP nonzero.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
+ 	invalid operand combinations.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.c (c4x_check_legit_addr): Rename to
+ 	c4x_legitimate_address_p.  Fix post_modify check.
+ 
+ 	* config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
+ 	* config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/pa/pa-protos.h: Remove the prototype for
+ 	hppa_builtin_saveregs.  Add a prototype for
+ 	pa_return_in_memory.
+ 	* config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(pa_struct_value_rtx): Likewise.
+ 	(pa_return_in_memory): Likewise.
+ 	* config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
+ 	PA_STRUCT_VALUE_REGNUM.
+ 	(INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
+ 	(EXPAND_BUILTIN_SAVEREGS): Remove.
+ 	(PROMOTE_PROTOTYPES): Likewise.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(vax_struct_value_rtx): Likewise.
+ 	* config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
+ 	VAX_STRUCT_VALUE_REGNUM.
+ 	(PROMOTE_PROTOTYPES): Remove.
+ 
+ 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+ 
+ 	* config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS):  Handle symref.
+ 
+ 2004-01-25  Chris Demetriou  <cgd@broadcom.com>
+ 
+ 	* config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
+ 	and MIPS64 have HI/LO interlocks.  Update comment.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/stormy16/stormy16-protos.h: Remove the prototype for
+ 	xstormy16_setup_incoming_varargs.
+ 	* config/stormy16/stormy16.c
+ 	(xstormy16_setup_incoming_varargs): Remove.
+ 	(xstormy16_return_in_memory): New.
+ 	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	* config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise
+ 	(PROMOTE_PROTOTYPES): Likewise
+ 	(RETURN_IN_MEMORY): Likewise
+ 	(STRUCT_VALUE): Likewise
+ 	(SETUP_INCOMING_VARARGS): Likewise
+ 
+ 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_offset_within_object_p): New function.
+ 	(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
+ 	SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
+ 	ABI has 64-bit pointers and the object file only allows 32-bit symbols.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300-protos.h: Remove the prototype for
+ 	mn10300_builtin_saveregs.
+ 	* config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	(mn10300_return_in_memory): Likewise.
+ 	(mn10300_builtin_saveregs): Make it static.
+ 	* config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 
+ 2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 
+ 	PR bootstrap/13853
+ 	* cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
+ 	using ccr.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i860/i860-protos.h: Remove the prototype for
+ 	i860_saveregs.
+ 	* config/i860/i860.c (i860_saveregs): Make it static.
+ 	(i860_struct_value_rtx): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
+ 	* config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
+ 	I860_STRUCT_VALUE_REGNUM.
+ 	(EXPAND_BUILTIN_SAVEREGS): Remove.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(m68hc11_struct_value_rtx): Likewise.
+ 	(m68hc11_return_in_memory): Likewise.
+ 	* config/m68hc11/m68hc11.h: Remove a commented-out definition
+ 	of PROMOTE_PROTOTYPES.
+ 	(RETURN_IN_MEMORY): Remove.
+ 	(STRUCT_VALUE_REGNUM): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mmix/mmix-protos.h: Remove the prototype for
+ 	mmix_setup_incoming_varargs.
+ 	* config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(mmix_setup_incoming_varargs): Make it static.
+ 	(mmix_struct_value_rtx): New.
+ 	* config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
+ 	(STRUCT_VALUE_REGNUM): Remove.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mips/mips-protos.h: Remove the prototypes for
+ 	mips_setup_incoming_varargs and mips_return_in_memory.
+ 	* config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ 	(mips_setup_incoming_varargs): Match the prototype for
+ 	TARGET_SETUP_INCOMING_VARARGS.
+ 	(mips_return_in_memory): Make it static.  Add argument fntype.
+ 	(mips_strict_argument_naming): New.
+ 	* config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
+ 	(PROMOTE_FUNCTION_ARGS): Likewise.
+ 	(PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(STRUCT_VALUE): Likewise.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ 	(ip2k_return_in_memory): Likewise.
+ 	(ip2k_setup_incoming_varargs): Likewise.
+ 	* config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
+ 	(STRUCT_VALUE): Likewise.
+ 	(STRUCT_VALUE_INCOMING): Likewise.
+ 	(SETUP_INCOMING_VARARGS): Likewise.
+ 
+ 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
+ 	(avr_return_in_memory): Remove.
+ 	* config/avr/avr.h (RETURN_IN_MEMORY): Remove.
+ 	(STRUCT_VALUE): Likewise.
+ 	(STRUCT_VALUE_INCOMING): Likewise.
+ 	(STRICT_ARGUMENT_NAMING): Likewise.
+ 
+ 2004-01-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
+ 
+ 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
+ 	(mips_regno_mode_ok_for_base_p): Declare.
+ 	* config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
+ 	(FRAME_POINTER_REGNUM): Renumber to 78.
+ 	(FIRST_PSEUDO_REGISTER): Update comment accordingly.
+ 	(BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
+ 	(GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
+ 	(REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
+ 	(REG_MODE_OK_FOR_BASE_P): Likewise.
+ 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
+ 	entry for 77 to "$arg" and entry for 78 to "$frame".
+ 	(mips_regno_to_class): Map 77 and 78 to ALL_REGS.
+ 	(mips_reg_mode_ok_for_base_p): Remove.
+ 	(mips_regno_mode_ok_for_base_p): New function, derived from old
+ 	BASE_REG_P macro.  Don't enforce the mips16 stack pointer
+ 	restrictions unless we're being strict.
+ 	(mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.h: Fix comment typos.
+ 	* c-decl.c: Likewise.
+ 	* cgraphunit.c: Likewise.
+ 	* combine.c: Likewise.
+ 	* et-forest.c: Likewise.
+ 	* flow.c: Likewise.
+ 	* function.c: Likewise.
+ 	* ifcvt.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* jump.c: Likewise.
+ 	* postreload.c: Likewise.
+ 	* varray.c: Likewise.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/frontends.texi: Update copyright.
+ 	* doc/gcov.texi: Likewise.
+ 	* doc/gty.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/standards.texi: Likewise.
+ 
+ 2004-01-24  Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
+ 
+ 	PR target/12978
+ 	* c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
+ 	Remove movstrqi_small because it conflicts with movstrqi_large.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(cris_struct_value_rtx): Likewise.
+ 	* config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
+ 	STRUCT_VALUE_REGNUM.
+ 	(STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
+ 
+ 2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR bootstrap/13848
+ 	* cse.c (cse_cc_succs): Change the mode of the source expression
+ 	as soon as decide we need a new mode.  Don't permit changing modes
+ 	if we found a match in a successor block.
+ 	(cse_condition_code_reg): Save original mode of source expression
+ 	so that we know whether we have to change the mode in other
+ 	insns.
+ 
+ 2004-01-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (change_address, adjust_address_1, offset_address,
+ 	widen_memory_access):  Return early when there is nothing to change.
+ 
+ 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation): Don't
+ 	simplify address == constant into address + -constant == 0.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcc.c (process_command): Don't internationalize the
+ 	Copyright message.
+ 	* mips-tfile.c (main): Likewise.
+ 
+ 2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
+ 
+ 	* cse.c: (cse_cc_succs) Fix comparison warning.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md: Remove extraneous USE in expanders.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Provide prototypes for
+ 	h8300_legitimate_constant_p and h8300_legitimate_address_p.
+ 	* config/h8300/h8300.c (h8300_legitimate_constant_p): New.
+ 	(h8300_rtx_ok_for_base_p): Likewise.
+ 	(h8300_legitimate_address_p): Likewise.
+ 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
+ 	h8300_legitimate_constant_p.
+ 	(RTX_OK_FOR_BASE_P): Remove.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
+ 
+ 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
+ 	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
+ 	(REG_OK_FOR_INDEX_STRICT_P): Likewise.
+ 	(REG_OK_FOR_BASE_STRICT_P): Likewise.
+ 	(REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
+ 	(REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
+ 	(REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
+ 	(REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
+ 
+ 2004-01-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c (remove_useless_values):  Do not access discarded values.
+ 
+ 2004-01-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-typeck.c (build_conditional_expr): Do not allow non-lvalue
+ 	arrays.
+ 
+ 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* recog.c: Fix a typo in copyright.
+ 
+ 2004-01-23  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (call): Fix misappiled patch.
+ 	(call_value): Likewise.
+ 
+ 2004-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/12941
+ 	* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
+ 	(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
+ 	if SHIFT_COUNT_TRUNCATED is set.
+ 
+ 2004-01-23  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
+ 	separate real and imaginary parts.
+ 	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
+ 
+ 2004-01-23  Hartmut Penner <hpenner@de.ibm.com>
+ 
+ 	PR target/13674
+ 	* config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
+ 	loading into GPR.
+ 
+ 2004-01-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (change_address_1):  Do not re-generate the RTX if nothing
+ 	change.
+ 
+ 	* alloc-pool.c (align_four): Kill.
+ 	(create_alloc_pool): Align size to eight.
+ 	(free_alloc_pool, free_pool): Invalidate deallocated data.
+ 
+ 2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	PR gcc/1532
+ 	* cse.c (cse_change_cc_mode): New static function.
+ 	(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
+ 	(cse_condition_code_reg): New function.
+ 	* rtl.h (cse_condition_code_reg): Declare.
+ 	* toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
+ 	* target.h (struct gcc_target): Add fixed_condition_code_regs and
+ 	cc_modes_compatible.
+ 	* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+ 	(TARGET_CC_MODES_COMPATIBLE): Define.
+ 	(TARGET_INITIALIZER): Add new initializers.
+ 	* targhooks.c (default_cc_modes_compatible): New function.
+ 	* targhooks.c (default_cc_modes_compatible): Declare.
+ 	* hooks.c (hook_bool_intp_intp_false): New function.
+ 	* hooks.h (hook_bool_intp_intp_false): Declare.
+ 	* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
+ 	(TARGET_CC_MODES_COMPATIBLE): Define.
+ 	(ix86_fixed_condition_code_regs): New static function.
+ 	(ix86_cc_modes_compatible): Likewise.
+ 	* doc/tm.texi (Condition Code): Document new hooks.
+ 
+ 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (bad_lval): Renamed to ...
+ 	(alpha_bad_lval): ... this.
+ 	Removed file list.
+ 	Restrict to alpha*-dec-osf*.
+ 	* fixinc/fixincl.x: Regenerate.
+ 	* fixinc/tests/base/dirent.h: Remove, moving test ...
+ 	* fixinc/tests/base/testing.h: ... here, reflecting new name.
+ 
+ 2004-01-23  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR c/13814
+ 	* c-decl.c (diagnose_mismatched_decls): Also discard a
+ 	built-in if we encounter an old-style definition with the
+ 	same name.
+ 
+ 2004-01-23  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
+ 	set to default{32,64}.
+ 
+ 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
+ 	[!__powerpc64__]: Corrected to handle kernels with changed ucontext.
+ 
+ 2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
+ 	    Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg): Only
+ 	build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
+ 
+ 2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
+ 	size for minipool references.
+ 
+ 2004-01-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_floor, real_ceil): Tweak to allow input and output
+ 	arguments to overlap.
+ 	(real_round): New function to implement round(3m) semantics.
+ 	* real.h (real_round): Prototype here.
+ 	* builtins.c (fold_builtin_round): New function to constant fold
+ 	round, roundf and roundl.
+ 	(fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
+ 
+ 2004-01-23  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR optimization/13819
+ 	* config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
+ 	introduced by 2004-01-20's Jan Hubicka's copy_insn change.
+ 	(sh_handle_sp_switch_attribute): Remove warning.
+ 
+ 2004-01-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
+ 
+ 2004-01-23  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	* doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
+ 	may or may not return non-NIL.
+ 	* postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
+ 	check CANNOT_CHANGE_MODE_CLASS
+ 
+ 2004-01-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (PROP_POSTRELOAD): New macro.
+ 	(CLEANUP_LOG_LINKS): New.
+ 	* cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
+ 	* toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
+ 
+ 	* cselib.c (value_pool): New.
+ 	(new_cselib_val): Use pool.
+ 	(cselib_init): Initialize value_pool
+ 	(cselib_finish): Free pool.
+ 
+ 2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (scan_record_type): New function.
+ 	(function_arg_slotno): Use it to determine which kinds of
+ 	registers the record can be passed in.
+ 
+ 2004-01-22  James A. Mmorrison  <ja2morri@uwaterloo.ca>
+ 
+ 	* config/pa/fptr.c: Fix old-style definition.
+ 
+ 2004-01-22  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR optimization/13724
+ 	* cse.c (fold_rtx) <SUBREG>:  Fold a SUBREG to zero if it
+ 	represents the zero bits produced by a ZERO_EXTEND operation.
+ 
+ 2004-01-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/13821
+ 	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
+ 	correctly calculate the lowpart offset of the contracted subreg.
+ 
+ 2004-01-22  Ian Lance Taylor  <ian@wasabisystems.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Note that --param arguments
+ 	are subject to change without notice.
+ 
+ 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (mips-sgi-irix6*o32): Removed.
+ 	* config/mips/iris6-o32-as.h: Likewise.
+ 	* config/mips/iris6-o32-gas.h: Likewise.
+ 	* config/mips/iris6-o32.h: Likewise.
+ 
+ 2004-01-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgcleanup.c (first_pass): New static variable.
+ 	(try_forward_edges):  Add work limiting check for threading.
+ 	(try_crossjump_bb):  Add work limiting check for crossjumping.
+ 	(try_optimize_cfg):  Maintain first pass variable.
+ 
+ 2004-01-22  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
+ 	handles complex and vector modes.
+ 
+ 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
+ 	(REG_OK_FOR_BASE_P_STRICT): Likewise.
+ 	(STRICT): Likewise.
+ 
+ 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
+ 	(genrtl_for_stmt): Remove emit_nop calls.
+ 
+ 2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/13713
+ 	PR target/13324
+ 	* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
+ 	movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
+ 	clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
+ 
+ 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* config/arm/arm.c: Include "debug.h".
+ 	(thumb_pushpop): Take two new arguments.  Add some commentary.
+ 	Output frame information when pushing.
+ 	(thumb_exit, thumb_unexpanded_epilogue): Update calls to
+ 	thumb_pushpop.
+ 	(thumb_output_function_prologue): Likewise.  Accumulate a CFA
+ 	offset, and pass it to thumb_pushpop.  Output CFI information.
+ 	(thumb_expand_prologue): Add some frame-related markers and notes.
+ 
+ 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_frame_info): Allow large frame sizes
+ 	for TARGET_64BIT.
+ 	(s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
+ 	* config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
+ 
+ 2004-01-22  Roger Sayle  <roger@eyesopen.com>
+ 	    Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
+ 	(subreg_lsb): Change to call new subreg_lsb_1 helper function.
+ 	* rtl.h (subreg_lsb_1): Prototype here.
+ 	* simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
+ 	sign extensions.
+ 
+ 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
+ 	macro need not be defined if jump-tables should contain
+ 	relative addresses only when -fPIC or -fPIC is in effect.
+ 
+ 2004-01-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (reg_base_value): Turn into varray.
+ 	(reg_base_value_size): Kill.
+ 	(old_reg_base_value): New deletable varray.
+ 	(alias_invariant_size): New variable.
+ 	(REG_BASE_VALUE): Update to use varray.
+ 	(find_base_value): Likewise.
+ 	(record_set): Likewise.
+ 	(record_base_value): Likewise.
+ 	(memrefs_conflict_p): Likewise.
+ 	(record_set): Likewise
+ 	(record_base_value): Likewise.
+ 	(memrefs_conflict_p): Use alias_invariant_size.
+ 	(init_alias_analysis): Use varray; set alias_invariant_size;
+ 	rescale other arrays to be sized by maxreg.
+ 	(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
+ 
+ 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_slotno): Use
+ 	FLOAT_TYPE_P to detect FP fields in structures.
+ 	(function_arg_record_value_1): Likewise.
+ 	(function_arg_record_value_2): Likewise.
+ 
+ 2004-01-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.c (allocate_struct_function): Do not initialize expr, emit
+ 	and varasm.
+ 	(prepare_function_start): Do it here.
+ 	* c-parse.in (maybe_type_qual): Do not produce line number notes.
+ 
+ 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/13559
+ 	* config/sparc/sparc.c (function_arg_record_value_3): Revert
+ 	to 'word_mode' once the first slot has been filled.
+ 
+ 2004-01-22  Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* config/sparc/sparc.c (function_arg_record_value_1): Fix
+ 	computation of the number of integer registers required.
+ 
+ 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/i386.md: Simplify certain comparisons of
+ 	const_int.
+ 
+ 2004-01-21  Andrew Pinski  <apinski@apple.com>
+ 
+ 	PR target/13785
+ 	* config/rs6000/rs6000.md (call_value): Force operand
+ 	1 not operand 0 into a register.
+ 
+ 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
+ 	unwind-dw2-fde.h: Update copyright.
+ 
+ 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-protos.h: Update copyright.
+ 	* pa.h: Likewise.
+ 	* pa.md: Likewise.
+ 
+ 2004-01-21  Caroline Tice  <ctice@apple.com>
+ 
+ 	PR target/12308
+ 	* config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
+ 	flags register.
+ 	(fix_truncdfdi2): Likewise.
+ 	(fix_truncsfdi2): Likewise.
+ 	(*fix_truncdi_1): Likewise.
+ 	(fix_truncxfsi2): Likewise.
+ 	(fix_truncdfsi2): Likewise.
+ 	(fix_truncsfsi2): Likewise.
+ 	(*fix_truncsi_1): Likewise.
+ 	(fix_truncxfhi2): Likewise.
+ 	(fix_truncdfhi2): Likewise.
+ 	(fix_truncsfhi2): Likewise.
+ 	(*fix_trunchi_1): Likewise.
+ 
+ 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c, basic-block.h, c-common.c, c-common.h,
+ 	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
+ 	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
+ 	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
+ 	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
+ 	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
+ 	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
+ 	genautomata.c, genconditions.c, genemit.c, genflags.c,
+ 	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
+ 	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
+ 	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
+ 	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
+ 	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
+ 	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
+ 	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
+ 	unwind.h, varray.c, varray.h: Update copyright.
+ 
+ 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/coff.h: Update copyright.
+ 	* config/h8300/elf.h: Likewise.
+ 	* config/h8300/h8300-protos.h: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 
+ 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
+ 	ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
+ 	ultrix_unistd): New hacks.
+ 	* fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
+ 	ULTRIX_CONST2_CHECK): Add checks.
+ 	* fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
+ 	* fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
+ 	* fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
+ 	* fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
+ 	* fixinc/tests/base/locale.h: New file.
+ 	* fixinc/fixincl.x: Rebuilt.
+ 
+ 2004-01-21  Andreas Jaeger  <aj@suse.de>
+ 	    Michael Matz  <matz@suse.de>
+ 
+ 	* doc/extend.texi (Extended Asm): Clarify memory clobber.
+ 
+ 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* crtstuff.c (frame_dummy, __do_global_ctors_1): Call
+ 	_Jv_RegisterClasses through a function pointer.
+ 
+ 2004-01-21  Falk Hueffner  <falk@debian.org>
+ 
+ 	PR target/12898
+ 	* config/alpha/alpha.c (alpha_emit_set_const_1): If
+ 	no_new_pseudos, use gen_rtx_SET directly for SImode constants
+ 	which need multiple instructions to emit.
+ 
+ 2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (CPP_SPEC): Define.
+ 
+ 2004-01-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (merge_decls): Kill different_binding_level and
+ 	different_tu arguments; simplify throughout.
+ 	(duplicate_decls): Likewise.
+ 	(pushdecl, merge_translation_unit_decls): Update calls to
+ 	duplicate_decls.
+ 
+ 2004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
+ 	$(SYSTEM_H).
+ 	(print-rtl1.o): Depend on $(SYSTEM_H).
+ 
+ 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR bootstrap/12730
+ 	* configure.ac: Delete definition and subsitution of docdir.
+ 	Add info, man, srcman and srcinfo to target hooks. Create doc/
+ 	directory.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Don't substitute docdir and delete all references
+ 	throughout.
+ 	(MAKEINFOFLAGS): Define.
+ 	(stmp-docobjdir): Delete.
+ 	(INFOFILES, MANFILES): Define.
+ 	(info): Call lang.info, srcinfo and lang.srcinfo.
+ 	(generated-manpages): Call lang.man, srcman and lang.srcman.
+ 	(srcinfo, srcman): New rules to copy back files to source directory.
+ 	(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
+ 	(install-man): Revamp rule.
+ 	(clean): Update dvi directory.
+ 	(distclean): Delete TAGS from front end directorys.
+ 	(maintainer-clean): Delete all document files in source directory.
+ 
+ 	objc/Make-lang.in (objc.man, objc.info): Dummy entries.
+ 	(objc.srcman, objc.srcinfo): Likewise.
+ 
+ 2004-01-20  Bruce Korb  <bkorb@gnu.org>
+ 
+ 	* fixinc/inclhack.def(math_exception): bypass only for glibc.
+ 	(matherr_decl): rename & relocate as exception_structure.
+ 	This fix must precede the math_exception fix.
+ 
+ 2004-01-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_convert): Rename to fold_convert_const.
+ 	(fold_convert_const): Change arguments to take a tree_code,
+ 	a type and the operand/expression to be converted.  Return
+ 	NULL_TREE if no simplification is possible.  Add support for
+ 	FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
+ 	(fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
+ 	Adjust call to fold_convert to match new fold_convert_const.
+ 	Avoid modifying the tree passed to fold in-place.
+ 
+ 2004-01-21  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
+ 	* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
+ 	* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
+ 
+ 2004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
+ 	* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
+ 	Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
+ 	(emit_move_sequence): Check scratch_reg first in various if statements.
+ 	Extend source simplification to handle all 64-bit CONST_INTs.
+ 	(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
+ 	frame size.
+ 	(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
+ 	frame offset calculations.
+ 	* pa.h (NEW_HP_ASSEMBLER): Add comment.
+ 	(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
+ 	LEGITIMATE_64BIT_CONST_INT_P): Define.
+ 	(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
+ 	any CONST_INT as legitimate during and after reload.
+ 	(VAL_32_BITS_P, INT_32_BITS): Define.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
+ 
+ 2004-01-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
+ 	emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
+ 	containing hard regs are shared.
+ 	(gen_hard_reg_clobber): New function.
+ 	(hard_reg_clobbers): New array.
+ 	* genemit.c (gen_exp): Use gen_hard_reg_clobber.
+ 	(copy_rtx): Do not copy clobbers containing hard regs.
+ 	* rtl.h (gen_hard_reg_clobber): Declare.
+ 
+ 2004-01-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* varray.c:  Include hashtab.h
+ 	(varray_descriptor): New structure.
+ 	(hash_descriptor, eq_descriptor, varray_descriptor,
+ 	print_statistics): New static functions
+ 	(varray_init, varray_grow): Update statistics
+ 	(dump_varray_statistics): New function.
+ 	* varray.h (dump_varray_statistics): Declare.
+ 	* toplev.c (finalize): Call it.
+ 	* Makefile.in (varray.o): Add dependency.
+ 
+ 2004-01-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cselib.c: Include alloc-pool.h
+ 	(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
+ 	(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
+ 	(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
+ 	unchain_one_elt_loc_list_pool, unchain_one_value,
+ 	new_cselib_val): Simplify using allocpool.
+ 	(cselib_init): Initialize allocpools.
+ 	(cselib_finish): Finish allocpools.
+ 	* Makefile.in (cselib.o): Depend on alloc-pool.h
+ 
+ 2004-01-20  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_load_call_address): Make the call insn
+ 	use $gp if it could be calling a lazy binding stub.
+ 
+ 2004-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+ 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	* config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
+ 	(PROMOTE_FUNCTION_RETURN): Remove.
+ 	(STRUCT_VALUE): Remove.
+ 
+ 2004-01-20  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	PR bootstrap/13735
+ 	* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
+ 	register as pointer after reload.
+ 
+ 2004-01-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	PR optimization/12440
+ 	* loop.c: Include ggc.h.
+ 	(loop_optimize): Run garbage collector between optimization of loops.
+ 	* Makefile.in (loop.o): Add GGC_H dependency.
+ 
+ 2004-01-20  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* gcc/config/rs6000/rs6000.c (function_arg) Handle
+ 	vector register special in function without prototype.
+ 	(function_arg_advance): Vector parameters get always
+ 	GPRs allocated for the linux64 target.
+ 
+ 2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
+ 	not TARGET_M32RX_MASK.
+ 
+ 2004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/13557
+ 	* config/sparc/sparc.c (function_arg): Reorder the cases.
+ 
+ 2004-01-19  Per Bothner  <per@bothner.com>
+ 
+ 	Move cpp_reader's line_maps field to a shared global.
+ 	* cpphash.h (cpp_reader):  Rename line_maps field to line_table
+ 	and change the type to a pointer rather than a struct.
+ 	* cppinit.c (cpp_push_main_field):  Adjust accordingly.
+ 	* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
+ 	Likewise.
+ 	* cppfiles.c (validate_pch):  Likewise.
+ 	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
+ 	Likewise.
+ 	* cpperror.c (print_location):  Likewise.
+ 	* cpplib.h (cpp_create_reader):  New line_maps pointer parameter.
+ 	* cppinit.c (cpp_create_reader):  Handle new parameter.
+ 	(cpp_destroy):  Don't free line_maps - that's no longer our job.
+ 	* input.h (line_table):  New variable.
+ 	* toplev.c (line_table):  Declare variable.
+ 	(general_init):  Initialize line_table.
+ 	* c-opts.c (c_common_init_options):  Pass line_table to
+ 	cpp_create_reader.
+ 	* fix-header.c (read_scan_file):  New local variable line_table.
+ 	Initialize, and pass it to cpp_create_reader.
+ 	* Makefile.in (LIBS, LIBDEPS):  Add libcpp.a.
+ 	(C_AND_OBJC_OBJS, fix-header):  Remove redundant libcpp.a.
+ 
+ 2004-01-19  Per Bothner  <per@bothner.com>
+ 
+ 	Implement a cache for linemap_lookup.
+ 	* line-map.h (struct_line_maps):  Add cache field.
+ 	* line-map.c (linemap_init):  Zero cache field.
+ 	(linemap_add):  Set cache field to offset of newly allocated map.
+ 	(linemap_lookup):  Use and set cache field.
+ 
+ 2004-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR optimization/13567
+ 	* cse.c (cse_basic_block): Call cse_insn with a non-null
+ 	libcall_insn for the last SET insn of a no-confilict block.
+ 
+ 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (target_noncanonical, program_transform_name): Use
+ 	immediate define instead of deferred.
+ 	(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
+ 	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
+ 	GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
+ 	deferred backquote.
+ 
+ 2004-01-20  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
+ 	true unconditionally.
+ 	* c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
+ 	Remove.
+ 	(build_unary_op, build_modify_expr): Don't handle extended
+ 	lvalues.
+ 	(build_component_ref, build_conditional_expr): Call non_lvalue
+ 	instead of pedantic_non_lvalue.
+ 	(build_c_cast): Don't condition use of non_lvalue on pedantic.
+ 	* fold-const.c (fold): Don't check pedantic directly for
+ 	COMPOUND_EXPR.  Ensure that results for COMPOUND_EXPR are
+ 	passed to pedantic_non_lvalue.
+ 	* doc/extend.texi: Remove documentation of extended lvalues.
+ 
+ 2004-01-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR optimization/5263
+ 	* simplify-rtx.c (associative_constant_p): Delete.
+ 	(simplify_associative_operation): Rewrite to linearize terms, and
+ 	attempt to simplify new term against both left and right subterms.
+ 	(simplify_binary_operation): Call swap_commutative_operands_p on
+ 	op0 and op1, not trueop0 and trueop1.  Move the initialization of
+ 	trueop0 and trueop1 down to where first needed.
+ 	(simplify_relational_operation): Likewise.
+ 	* rtlanal.c (commutative_operand_precedence): Also order constant
+ 	operands using avoid_constant_pool_reference.
+ 
+ 2004-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
+ 	don't check memory mode.
+ 	(unaligned_memory_operand): Likewise.
+ 	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
+ 	abort for op0 not MEM.
+ 
+ 	* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
+ 	is not a reg, copy to a scratch first.
+ 	(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
+ 	unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
+ 	unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
+ 	(reload_inqi, reload_inhi): Fix mode of op0.
+ 	(reload_inqi_help, reload_inhi_help, reload_outqi_help,
+ 	reload_outhi_help): Likewise.  Use define_insn_and_split.
+ 
+ 	* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
+ 	as well as $29 dead.
+ 
+ 2004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
+ 	"tls_object" for thread-local objects.
+ 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
+ 	"#tls" for thread-local sections.
+ 	* configure.ac (thread-local checks): Specify --fatal-warnings in
+ 	every binutils-specific checks.  For sparc*-*-*, test whether the
+ 	OS is Solaris and the tools are native and act accordingly.
+ 	* configure: Rebuild.
+ 
+ 2004-01-19  Jeff Law  <law@redhat.com>
+ 
+ 	* contrib.texi: Update Paolo Carlini's entry.  New entries for
+ 	Jerry Quinn and Petur Runolfsson.
+ 
+ 2004-01-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
+ 	size, don't use the larger zero-extending loads.
+ 
+ 2004-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
+ 	* alpha.md (UNSPEC_NT_LDA): Remove.
+ 	(UNSPEC_CVTLQ, cvtlq): New.
+ 	(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
+ 	(extendsidi2_fix): Remove.
+ 	(extendsidi2 splitter): Use cvtlq.
+ 	(extendsidi2 fp peepholes): Remove.
+ 	(cvtql): Use SFmode instead of SImode.
+ 	(fix_trunc?fsi): Update to match.
+ 	(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
+ 	(movsi): Rename from movsi_nofix, remove f alternatives.
+ 	(movsi_nt_vms): Similarly.
+ 	(movsi_fix, movsi_nt_vms_fix): Remove.
+ 	(nt_lda): Remove.
+ 	* alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
+ 
+ 2004-01-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_remove_node): Fix removal from linked list.
+ 	* cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
+ 	list.
+ 	(cgraph_remove_unreachable_nodes): New function
+ 	(cgraph_decide_inlining_of_small_function): Fix pasto.
+ 	(cgraph_decide_inlining_incrementally): Fix pasto.
+ 	(cgrpah_decide_inlining): Likewise; remove unreachable nodes.
+ 
+ 2004-01-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* gengtype.c (header_file): Make it static.
+ 	(write_types_process_field, write_enum_defn): Minor whitespace fixes.
+ 	* gengtype.h (header_file): No longer extern.
+ 
+ 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
+ 	* expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
+ 	* stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
+ 
+ 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* stmt.c (HAVE_casesi): Define it not already defined.
+ 	(HAVE_tablejump): Likewise.
+ 	(expand_end_case_type): Resort to the binary tree method if
+ 	neither casesi or tablejump is available.
+ 
+ 2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* final.c (final_scan_insn): Make non-static again.
+ 	* output.h (final_scan_insn): Re-add prototype.
+ 	* config/arc/arc.c (arc_output_function_epilogue): Add NULL
+ 	to final_scan_insn call.
+ 	* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
+ 	* config/mips/mips.c (mips_output_conditional_branch): Likewise.
+ 	* config/pa/pa.c (output_lbranch, output_call): Likewise.
+ 	* config/sh/sh.c (print_slot): Likewise.
+ 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
+ 	(output_sibcall, sparc_flat_function_epilogue): Likewise.
+ 
+ 2004-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (try_redirect_by_replacing_jump): Declare.
+ 	* cfgcleanup.c (try_optimize_cfg): Use it.
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Export.
+ 	(rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
+ 	Kill hack.
+ 	(cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
+ 
+ 	Revert:
+ 	2004-01-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 		* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
+ 		even after reload, just don't remove the actual jump tables.
+ 
+ 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
+ 
+ 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
+ 	the size of a pointer in bytes.
+ 
+ 2004-01-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
+ 	live "next" variable, which could lead to an infinite loop.
+ 
+ 2004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
+ 	block.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
+ 	Check for NULL in the chain and remove repeated code.
+ 
+ 2004-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* coverage.c (checksum_string): Rename to ...
+ 	(coverage_checksum_string): ... this one, Use crc32_string; recognize
+ 	names containing random number and zero the number out in order to get
+ 	match.
+ 
+ 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_got_alias_set): Mark for PCH.
+ 
+ 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
+ 	doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
+ 	doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
+ 	doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
+ 	doc/trouble.texi: Remove trailing whitespace.
+ 
+ 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/7618
+ 	* config/mips/mips.c: Include cfglayout.h.
+ 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
+ 	(mips_unspec_offset_high): Add temporary register argument.
+ 	(mips_load_call_address): New function, split out from...
+ 	(mips_expand_call): ...here.
+ 	(mips_output_cplocal): New function.
+ 	(mips_output_function_prologue, mips_output_function_epilogue): Use it.
+ 	(mips_emit_loadgp): New function, split out from...
+ 	(mips_expand_prologue): ...here.
+ 	(mips_output_mi_thunk): New function.
+ 
+ 2004-01-17  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
+ 	mcpu32): Remove redundant checks for implied target predefines.
+ 
+ 2004-1-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
+ 	Return type is unsigned int not int.
+ 	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
+ 	Likewise.
+ 
+ 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
+ 	doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
+ 	"GNU/Linux" and "Microsoft Windows" terminology.
+ 
+ 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
+ 	doc/cppopts.texi, doc/extend.texi, doc/install.texi,
+ 	doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
+ 	doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
+ 	@smallexample instead of @example.
+ 
+ 2004-01-17  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* objc/objc-act.c (build_objc_method_call): Use target
+ 	hooks instead of macros to determine if ..._stret
+ 	dispatchers should be used (NeXT runtime only).
+ 
+ 2004-01-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Fix mistake in my
+ 	last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
+ 
+ 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
+ 	(emit_call_insn_before_sameloc, emit_insn_after_sameloc)
+ 	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
+ 	macros.
+ 	* reload1.c (emit_reload_insns): Use them.
+ 	* emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
+ 	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
+ 	for NULL PATTERN.
+ 
+ 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
+ 	(final_scan_insn): Update to take an additional SEEN argument.  Emit
+ 	a line note after the prologue.  Make static.
+ 	(line_note_exists): Remove.
+ 	(final): Don't initialize line_note_exists.  Update call to
+ 	final_scan_insn.
+ 	* output.h (final_scan_insn): Remove prologue.
+ 	* function.c (set_insn_locators): Update comment.
+ 	(thread_prologue_and_epilogue_insns): Add a comment.
+ 
+ 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/10781
+ 	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
+ 	Prototype.
+ 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
+ 	New function.
+ 	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
+ 	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
+ 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
+ 
+ 2004-01-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
+ 	commit.
+ 
+ 	* toplev.c (HAVE_conditional_execution): Provide default.
+ 	(rest_of_handle_reorder_blocks): For conditional_execution target
+ 	update liveness once after all transformations
+ 	(rest_of_compilation): Do crossjumping before ce3.
+ 
+ 2004-01-17  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* alias.c (new_alias_set): Mark last_alias_set for PCH.
+ 	(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
+ 	for PCH.
+ 	(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
+ 	* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
+ 	(get_TOC_alias_set): Mark 'set' for PCH.
+ 
+ 2004-01-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
+ 	even after reload, just don't remove the actual jump tables.
+ 
+ 2004-01-17  J. Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
+ 	Remove checks for is_ada() and TREE_UNSIGNED.
+ 	(subrange_type_die): Emit a byte_size attribute if the subrange
+ 	type size is different from the base type size.
+ 	(modified_type_die): Replace call to is_ada_subrange_type() by
+ 	call to is_subrange_type().
+ 
+ 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/sh/sh.c: Include ggc.h.
+ 
+ 2004-01-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (MD5_H): New.
+ 	(fold-const.o): Depend on md5.h.
+ 	(dwarf2out.o): Likewise.
+ 	(cppfiles.o): Likewise.
+ 	* cppfiles.c: Include md5.h.
+ 	(should_stack_file): Check against list read from PCH file.
+ 	(struct pchf_data): New.
+ 	(pchf): New variable.
+ 	(struct pchf_adder_info): New.
+ 	(pchf_adder): New.
+ 	(pchf_save_compare): New.
+ 	(_cpp_save_file_entries): New.
+ 	(_cpp_read_file_entries): New.
+ 	(struct pchf_compare_data): New.
+ 	(pchf_compare): New.
+ 	(check_file_against_entries): New.
+ 	* cpphash.h (_cpp_save_file_entries): Prototype.
+ 	(_cpp_read_file_entries): Prototype.
+ 	* cpppch.c (cpp_write_pch_state): Write the list of headers.
+ 	(cpp_read_state): Read the list of headers.
+ 
+ 2004-01-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
+ 	builtin_expect specially.
+ 	* params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
+ 	(PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
+ 	* invoke.texi (max-inline-insns-single): Set to 100.
+ 	(large-function-insns): Set to 3000.
+ 
+ 2004-01-16  Eric Christopher  <echristo@redhat.com>
+ 	    Chandrakala Chavva <cchavva@redhat.com>
+ 
+ 	* cppcharset.c (one_iso88591_to_utf8): New function.
+ 	(convert_iso88591_utf8): Ditto. Use.
+ 	(conversion_tab): Use.
+ 	(_cpp_input_to_utf8): New function.
+ 	(_cpp_init_iconv_buffer): Ditto.
+ 	(_cpp_close_iconv_buffer): Ditto.
+ 	* cpphash.h: Prototype new functions.
+ 	(cpp_buffer): Add input_cset_desc.
+ 	* cppinit.c: Add input_charset default.
+ 	* cpplib.c (cpp_push_buffer): Support init and
+ 	close of iconv.
+ 	* cpplib.h (cpp_options): Add input_charset.
+ 
+ 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (ASM_OUTPUT_SECTION_NAME): Poison.
+ 	* config/alpha/unicosmk.h: Remove a commented-out definition
+ 	of ASM_OUTPUT_SECTION_NAME.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 
+ 2004-01-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
+ 	(alpha___extern_prefix_sys_stat): ... this.
+ 	Apply to <sys/mount.h>, too.
+ 	Tweak to match more variations.
+ 	* fixinc/tests/base/sys/stat.h: Adapt for new hackname.
+ 
+ 	* fixinc/inclhack.def (alpha___extern_prefix,
+ 	alpha___extern_prefix_standards): New hacks to obey
+ 	__PRAGMA_EXTERN_PREFIX.
+ 	* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
+ 	test.
+ 	* fixinc/tests/base/standards.h: Likewise.
+ 
+ 	* fixincl/inclhack.def (alpha_pthread): Tweak to match more
+ 	variations.
+ 	New testcase.
+ 	* fixinc/tests/base/pthread.h: Handle it.
+ 
+ 	* fixincl/inclhack.def (bad_lval): Sort file list.
+ 	Add many missing files up to Tru64 UNIX V5.1B.
+ 	* gcc/fixinc/tests/base/libgen.h: Renamed to ...
+ 	* gcc/fixinc/tests/base/dirent.h: ... this to match new file list
+ 	order.
+ 
+ 	* fixinc/fixincl.x: Regenerate.
+ 
+ 2004-01-16  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* version.c (version_string): Change to 3.5.0.
+ 	* doc/include/gcc-common.texi (version-GCC): Likewise.
+ 
+ 2004-01-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.md (load_tp_di): Fix pasto.
+ 
+ 	PR opt/13608
+ 	* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
+ 
+ 	* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
+ 	pp_c_character_constant, pp_c_floating_constant,
+ 	pp_c_additive_expression, pp_c_shift_expression,
+ 	pp_c_equality_expression, pp_c_and_expression,
+ 	pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
+ 	pp_c_logical_and_expression): Remove inline modifier.
+ 	* dwarf2out.c (get_AT): Likewise.
+ 	* et-forest.c (et_splay): Likewise.
+ 	* ra.h (ra_alloc, ra_calloc): Likewise
+ 
+ 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/frv/frv-protos.h: Fix comment formatting.
+ 	* config/frv/frv.c: Likewise.
+ 	* config/frv/frv.h: Likewise.
+ 	* config/frv/frv.md: Likewise.
+ 	* config/frv/frvbegin.c: Likewise.
+ 	* config/frv/frvend.c: Likewise.
+ 
+ 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
+ 	* doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
+ 	LINKER_DOES_NOT_WORK_WITH_DWARF2.
+ 	(LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
+ 
+ 2004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR 11864
+ 	* postreload.c (reload_cse_simplify_operands): Don't remove
+ 	implicit extension from LOAD_EXTEND_OP.
+ 
+ 2004-01-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/11350
+ 	* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
+ 	after reload.
+ 	* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
+ 	rtl_try_redirect_by_replacing_branch): Likewise.
+ 
+ 2004-01-15  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR pch/13689
+ 	* alias.c (struct alias_set_entry): Mark for GC.
+ 	(alias_sets): Make static, mark for GC.
+ 	(record_alias_subset): Use GC to allocate alias structures.
+ 	* varray.c (element): Make generic varrays GCed.
+ 
+ 	PR pch/13361
+ 	* c-typeck.c (constructor_asmspec): Delete.
+ 	(struct initializer_stack): Delete field 'asmspec'.
+ 	(start_init): Delete saving of asmspec.
+ 	(finish_init): Don't update constructor_asmspec.
+ 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
+ 	* stmt.c (expand_asm): Duplicate strings from tree.
+ 	(expand_asm_operands): Likewise.
+ 	* tree.c (tree_size): Update computation of size of STRING_CST.
+ 	(make_node): Don't make STRING_CST nodes.
+ 	(build_string): Allocate string with tree node.
+ 	* tree.def (STRING_CST): Update comment.
+ 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
+ 	(tree_string): Place contents of string in tree node.
+ 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
+ 	from tree.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
+ 	altivec operands.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.h: Fix comment formatting.
+ 	* c-cppbuiltin.c: Likewise.
+ 	* c-pragma.c: Likewise.
+ 	* calls.c: Likewise.
+ 	* collect2.c: Likewise.
+ 	* cppcharset.c: Likewise.
+ 	* cpptrad.c: Likewise.
+ 	* dbxout.c: Likewise.
+ 	* defaults.h: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* genautomata.c: Likewise.
+ 	* genconditions.c: Likewise.
+ 	* genflags.c: Likewise.
+ 	* gengtype.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* predict.c: Likewise.
+ 	* sdbout.c: Likewise.
+ 
+ 2004-01-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/ia64/ia64.md (*movti_internal): C output template
+ 	extracted to ia64.c.
+ 	(*movti_internal_reg): Delete.
+ 	(reload_inti, reload_outti): Use the correct mode on operand 2
+ 	in the first place, don't fix it up in the output template.
+ 	(movtf, reload_ointf, reload_outtf): New expanders.
+ 	(*movtf_internal): New define_insn_and_split.
+ 	* config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
+ 	make static; do not hand TFmode CONST_DOUBLEs to split_double.
+ 	(ia64_split_tmode_move): New function, body mostly pulled
+ 	from ia64.md:*movti_internal.
+ 	(ia64_function_arg_words): New function, extracted common
+ 	logic from ia64_function_arg et seq.
+ 	(ia64_function_arg_offset): Likewise.  Handle correctly the
+ 	case of a scalar quantity 16 bytes wide with only 8-byte alignment.
+ 	(ia64_function_arg, ia64_function_arg_partial_nregs)
+ 	(ia64_function_arg_advance): Use ia64_function_arg_words and
+ 	ia64_function_arg_offset.
+ 	(ia64_function_value): TCmode does not go in float regs.
+ 	(ia64_secondary_reload_class): Also handle TFmode.
+ 	* config/ia64/ia64-protos.h: Remove prototype for
+ 	ia64_split_timode; add prototype for ia64_split_tmode_move.
+ 
+ 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (MAINT): Make it an immediate assignment.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Remove useless calls to gen_lowpart.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/coff.h: Replace Hitachi with Renesas.
+ 	* config/h8300/elf.h: Likewise.
+ 	* config/h8300/h8300-protos.h: Likewise.
+ 	* config/h8300/h8300.c: Likewise.
+ 	* config/h8300/h8300.h: Likewise.
+ 	* config/h8300/h8300.md: Likewise.
+ 	* config/h8300/lib1funcs.asm: Likewise.
+ 
+ 2004-01-15  Andrew Pinski  <apinski@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
+ 	around it.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_return_in_memory): New.
+ 	(TARGET_STRUCT_VALUE_RTX): Likewise.
+ 	(TARGET_RETURN_IN_MEMORY): Likewise.
+ 	* config/h8300/h8300.h (STRUCT_VALUE): Remove.
+ 	(RETURN_IN_MEMORY): Likewise.
+ 
+ 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR optimization/13375
+ 	* gcse.c (handle_avail_expr): Just return if the source is not a
+ 	single set.
+ 
+ 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
+ 	    Daniel Jacobowitz  <drow@mvista.com>
+ 
+ 	* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
+ 	(EQUIV): Define.
+ 	(ARM_FUNC_ALIAS): New macro.
+ 	* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
+ 	* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
+ 
+ 2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR optimization/12372
+ 	* calls.c (expand_call): Add call_fusage data for stack arguments in
+ 	constant calls.
+ 
+ 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
+ 	(rs6000_elf_declare_function_name): Formatting.
+ 	* config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
+ 
+ 2004-01-15  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR bootstrap/13692
+ 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
+ 	previous patch.
+ 
+ 2004-01-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
+ 	integer regs of the same call-savedness.
+ 
+ 2004-01-15  Andreas Schwab  <schwab@suse.de>
+ 
+ 	PR bootstrap/13562
+ 	* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
+ 	status for NOTB/NOTW/NEGW methods.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Update dump file names.  Fix a typo.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (expand_builtin_va_end): Don't use
+ 	EXPAND_BUILTIN_VA_END.
+ 	* system.h (EXPAND_BUILTIN_VA_END): Poison.
+ 	* config/d30v/d30v.h: Remove a commented-out definition of
+ 	EXPAND_BUILTIN_VA_END.
+ 	* config/stormy16/stormy16.h: Likewise.
+ 
+ 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
+ 	* targhooks.c (default_struct_value_rtx): Don't use
+ 	STRUCT_VALUE_INCOMING_REGNUM.
+ 
+ 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	PR bootstrap/12744
+ 	* configure.in: Revamp enable-generated-files-in-srcdir rule to define
+ 	GENINSRC and not parsedir.  Define srcextra as a langhook.
+ 	* configure: Regenerate.
+ 	* Makefile.in: Suppress default .l.c rule.  Don't substitute
+ 	parsedir and delete all references throughout.  Conditionally define
+ 	rule for srcextra dependent on GENINSRC.
+ 	(stmp-docobjdir): Delete.
+ 	(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
+ 	(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
+ 	and gengtype-yacc.h back to source directory.
+ 	(maintainer-clean): Delete all parse files in source directory.
+ 	(distclean): Delete generated files.
+ 
+ 	* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
+ 	(objc-parse.c, objc-parse.y): Don't use parsedir.
+ 	(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
+ 	directory if requested.
+ 	(po-generated): Don't use parsedir.
+ 	(objc.maintainer-clean): Delete above files from source directory.
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/tm.texi: Replace RETURN_IN_MEMORY with
+ 	TARGET_RETURN_IN_MEMORY.
+ 
+ 2004-01-15  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* builtins.c (std_expand_builtin_va_arg): Align operand when needed.
+ 	* i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
+ 	functions accepting SSE arguments
+ 	(function_arg): Warn only when asked to warn.
+ 	* i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
+ 
+ 2004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* c-parse.in (stmts_and_decls): Make label at end of compound
+ 	statement a hard error.
+ 
+ 2004-01-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (create_edge): Use local.redefined_extern_inline.
+ 	* cgraph.h (cgraph_local_info): Sort fields by size; add
+ 	redefined_extern_inline
+ 	(cgraph_global_info): Sort fields by size.
+ 	(cgraph_node): Likewise.
+ 	* cgraphunit.c (cgraph_finalize_function): Se
+ 	local.redefined_extern_inline on redefinition.
+ 	(cgraph_analyze_function): Use it; fix formating.
+ 
+ 2004-01-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR c++/10776
+ 	* sched-deps.c (trye_dependency_cache, anti_dependency_cache,
+ 	outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
+ 	bitmaps
+ 	(cache_size): New variable
+ 	(add_dependence): Update use; canonize early memory locations
+ 	(sched_analyze_1): Likewise.
+ 	(sched_analyze_2): Likewise.
+ 	(init_dependency_caches): Initialize bitmaps.
+ 	(free_dependency_caches): Free bitmaps
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
+ 	targetm.calls.strict_argument_naming().
+ 	* target.h: Likewise.
+ 
+ 2004-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR debug/13231
+ 	* dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
+ 	instructions.
+ 
+ 2004-01-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c++/12491
+ 	* except.c (struct eh_region): Add u.fixup.resolved.
+ 	(resolve_one_fixup_region): Split out from ...
+ 	(resolve_fixup_regions): ... here.
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.h (STRUCT_VALUE): Remove.
+ 	* config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
+ 	(STRUCT_VALUE): Remove.
+ 
+ 2004-01-14  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* system.h: Poison PROMOTED_MODE
+ 	* integrate.c (expand_inline_function): Don't mention the
+ 	PROMOTED_MODE.
+ 	* loop.c (update_giv_derive): Same.
+ 	* tree.h (DECL_RTL): Same.
+ 
+ 2004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR target/9365
+ 	* sh.c (gen_block_redirect): Add special handling of RETURN.
+ 	(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
+ 	far branch target (i.e. it's a return).
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* regrename.c (find_oldest_value_reg): Fix a warning.
+ 
+ 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR bootstrap/12527
+ 	* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
+ 	Move linux-gas.h and linux-elf.h before aout.h.
+ 	* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
+ 	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
+ 
+ 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
+ 	(CONST_INT, VOIDmode, ...).
+ 
+ 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* regrename.c (find_oldest_value_reg): If the replacement uses
+ 	multiple hard registers, check that all of them are in CLASS.
+ 
+ 2004-01-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (get_alias_set):  Initialize alias set to 0 when subset is
+ 	impossible.
+ 
+ 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Define MAINT from --enable-maintainer-mode.
+ 
+ 2004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* gcc/config/rs6000/rs6000.c (rs6000_stack_info)
+ 	Calculate always vrsave_mask if TARGET_ALTIVEC.
+ 	(rs6000_emit_prologue): Emit code for vrsave
+ 	only if TARGET_ALTIVEC_VRSAVE.
+ 	(rs6000_emit_epilogue): Likewise.
+ 
+ 2004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (tie_add32): Fix pasto.
+ 	(tie_add64): Likewise.
+ 
+ 2004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/iq2000/iq2000-protos.h: Fix comment formatting.
+ 	* config/iq2000/iq2000.c: Likewise.
+ 	* config/iq2000/iq2000.md: Likewise.
+ 
+ 2004-01-14  J. Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
+ 	(subrange_type_die): Add handle for nameless subrange types.
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Replace do_movsi with
+ 	h8300_expand_movsi.
+ 	* config/h8300/h8300.c (do_movsi): Change to
+ 	h8300_expand_movsi.
+ 	* config/h8300/h8300.md (movsi): Replace do_movsi with
+ 	h8300_expand_movsi.
+ 	(movsf): Likewise.
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (dosize): Change to
+ 	h8300_emit_stack_adjustment.  Update callers.
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.md (movstrictqi): Add an alternative with
+ 	the source being post_inc.  Tighten the predicate for the
+ 	destination to register_operand.
+ 	(movstricthi): Likewise.
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
+ 	* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
+ 	* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
+ 
+ 2004-01-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Partial fix PR c++/12850
+ 	* cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
+ 	at zero nest level.
+ 
+ 2004-01-13  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
+ 	pseudo-register.
+ 
+ 2004-01-13  Devang Patel <dpatel@apple.com
+ 
+ 	PR debug/7078
+ 	* dbxout.c (dbxout_symbol_name): Emit mangled names for
+ 	NAMESPACE_DECL memebers.
+ 
+ 2004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c++/12709
+ 	* c-common.c (finish_fname_decls): Use the chain only if the
+ 	tree is an expr_stmt.
+ 
+ 2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	* rtl.def: Add comment about new option in automata_option.
+ 
+ 	* genautomata.c (PROGRESS_OPTION): New macro.
+ 	(progress_flag): New global variable.
+ 	(gen_automata_option): Process `progress'.
+ 	(transform_insn_regexps, check_unit_distributions_to_automata,
+ 	make_automaton, NDFA_to_DFA, build_automaton, create_automata,
+ 	expand_automata, write_automata): Print about the progress only if
+ 	progress_flag.  Remove fflush.
+ 	(initiate_automaton_gen): Process command line flag `-progress'.
+ 
+ 	* doc/md.texi: Describe the new option.
+ 
+ 2004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+ 
+ 	* cfg.c (dump_bb): Dump entry edges.
+ 
+ 2004-01-13  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.c (thumb_legitimate_address_p): Only allow constant pool
+ 	references from SImode.
+ 	* arm.md (thumb_movhi_insn): Don't allow minipool references.
+ 
+ 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (TEXT_SECTION): Poison.
+ 	* varasm.c (text_section): Don't use TEXT_SECTION.
+ 	* config/sh/sh.c (sh_file_start): Fix a comment typo.
+ 	* doc/tm.texi (TEXT_SECTION): Remove.
+ 
+ 2004-01-13  Ben Elliston  <bje@wasabisystems.com>
+ 
+ 	* doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
+ 
+ 2004-01-12  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* unwind-libunwind.c: Delete.
+ 
+ 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 13656
+ 	* c-decl.c (diagnose_mismatched_decls): Whenever newtype or
+ 	oldtype is set, set *newtypep or *oldtypep too.  Do not set
+ 	them at the very end.
+ 	(validate_proto_after_old_defn): Restructure for comprehensibility;
+ 	make error messages clearer.
+ 
+ 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
+ 	(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
+ 	* varray.c: No need to prototype error.
+ 	(varray_check_failed): Wrap long string onto two lines.
+ 	(varray_underflow): New function.
+ 
+ 2004-01-13  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR c++/13376
+ 	* function.h (struct function): Kill `name' field.
+ 	(current_function_name): Make it an extern function.
+ 	* function.c (current_function_name): New function.
+ 	* graph.c: Update all uses of current_function_name.
+ 	* gcse.c: Likewise.
+ 	* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
+ 	config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
+ 	* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
+ 	instead of a strcmp with "main".
+ 
+ 2004-01-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-decl.c (diagnose_mismatched_decls):  Fix warning calls.
+ 
+ 	* cgraphunit.c (cgraph_optimize_function):  Always do
+ 	optimize_inline_calls when there is always_inline callee.
+ 	(cgraph_decide_inlining): Fix formating.
+ 	* tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
+ 	functions.
+ 	(expand_call_inline): Likewise.
+ 	* toplev.h (sorry): Fix prototype.
+ 
+ 2004-01-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
+ 	conditional jumps that drop through to unconditional jumps or the
+ 	end of the sequence.
+ 
+ 2004-01-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c (new_alias_set): Construct the alias_set varray.
+ 	(init_alias_once): Don't do it here.
+ 
+ 2004-01-12  Marc Espie <espie@openbsd.org>
+ 
+ 	* system.h: handle YYBYACC like YYBISON.
+ 
+ 2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
+ 
+ 	PR target/10847
+ 	* config.gcc: No longer includes conflicting header sparc/sol2.h when
+ 	building on sparc64-*-openbsd*.
+ 
+ 2004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR debug/13539
+ 	* dbxout.c (dbxout_type): Protected inheritance is not
+ 	private but protected.
+ 
+ 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
+ 
+ 2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR optimization/12508.
+ 	* combine.c (try_combine): Remove a dead set in a parallel
+ 	even if its destination is a subreg.
+ 
+ 	Revert:
+ 	2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
+ 	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
+ 
+ 2004-01-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* real.c: Update copyright date.
+ 	* emit-rtl.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* config/rs6000/darwin-ldouble.c: Likewise.
+ 	* config/rs6000/rs6000.md: Likewise.
+ 
+ 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
+ 	TFmode to SImode libfuncs.
+ 
+ 2004-01-12  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/11397
+ 	* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
+ 
+ 2004-01-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/12826
+ 	* loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
+ 	stored.
+ 
+ 	PR opt/12863
+ 	* cfgcleanup.c (label_is_jump_target_p): Move to...
+ 	* rtlanal.c (label_is_jump_target_p): ... here.
+ 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch):  Fix redirecting of fallthru
+ 	edges unified with branch edges.
+ 
+ 2004-01-12  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* simplify-rtx.c (simplify_immed_subreg): Correctly extract the
+ 	high word of an integral CONST_DOUBLE.
+ 
+ 2004-01-12  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
+ 
+ 2004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
+ 
+ 	PR target/13585
+ 	* sh-protos.h (check_use_sfunc_addr): Declare.
+ 	* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
+ 	* sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
+ 
+ 2004-01-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* alias.c:  Invlude varray.h
+ 	(alias_sets): Turn into varray.
+ 	(get_alias_set_entry): Use VARRAY; mark inline.
+ 	(mems_in_disjoint_alias_sets_p): Mark inline.
+ 	(record_alias_subset): Use varray.
+ 	(init_alias_once): Initialize varray.
+ 	(new_alias_set): Grow array.
+ 	* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
+ 
+ 2004-01-12  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Partial fix for PR opt/10776 II
+ 	* cselib.c: Include params.h
+ 	(cselib_invalidate_mem):  Limit amount of nonconflicting memory
+ 	locations.
+ 	* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
+ 	* Makefile.in (cselib.o): Depend on params.h
+ 
+ 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
+ 	simplify_unary_operation if the operand has a known mode.
+ 
+ 2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	PR target/13534
+ 	* gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
+ 	predicate to handle 'ld' conform addresses.
+ 	* gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
+ 	contraint.
+ 	(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
+ 	are memory contraints.
+ 	* gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
+ 	New prototype.
+ 	* gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
+ 	Change 'o' to 'Y' constraint.
+ 	(*movdf_softfloat64): Ditto.
+ 
+ 2004-01-12  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
+ 	brace-enclosed syntax in all C output statements.
+ 
+ 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/13401
+ 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
+ 	Objective-C language type value is 14.
+ 
+ 2004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
+ 
+ 	PR c/12148
+ 	* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
+ 	`int' in a number of places to make sure we always have a SImode
+ 	and not a HImode.  Add a 'L' suffix to a number of constants.
+ 
+ 2004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c: Don't include obstack.h.
+ 
+ 	* pa.md: Correct constraint in pattern for loading PIC label address.
+ 
+ 2004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
+ 	 before defining.
+ 
+ 2004-01-11  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR fortran/9972
+ 	* toplev.c (rest_of_handle_inline): Also consider functions
+ 	for deferral if the language is GNU F77.
+ 
+ 2004-01-11  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (diagnose_arglist_conflict): Add missing space to
+ 	diagnostic messages.
+ 
+ 2004-01-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/13392
+ 	* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
+ 	to drop through label.  Don't fall back to SCC even when conditional
+ 	jump has not been found.
+ 
+ 2004-01-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* invoke.texi: Fix syntax error in previous patch.
+ 
+ 	Partial fix for PR opt/10776
+ 	* Makefile.in (reload.o): Include param.h
+ 	* params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
+ 	* reload.c: Include params.h.
+ 	(find_equiv_reg): Work limiting check.
+ 	* invoke.texi: Document.
+ 
+ 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_symbolic_constant_p): Don't allow
+ 	out-of-bounds accesses to string constants.  Simplify mips16
+ 	case accordingly.
+ 
+ 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR optimization/13469
+ 	* toplev.c (rest_of_compilation): Call purge_all_dead_edges after
+ 	reload_cse_regs (-fnon-call-exceptions only).
+ 
+ 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/lib1.asm: Fix comment formatting.
+ 	* config/mcore/mcore-elf.h: Likewise.
+ 	* config/mcore/mcore.c: Likewise.
+ 	* config/mcore/mcore.h: Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 
+ 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* c-decl.c (duplicate_decls): Break apart into...
+ 	(diagnose_arglist_conflict, validate_proto_after_old_defn)
+ 	(locate_old_defn, diagnose_mismatched_decls, merge_decls):
+ 	... these new functions.  Restructure for comprehensibility.
+ 	Remove various archaic special cases.  Always report the
+ 	location of the previous declaration when a diagnostic is issued.
+ 	(redeclaration_error_message): Fold into diagnose_mismatched_decls.
+ 	(match_builtin_function_types): Delete unnecessary forward declaration.
+ 
+ 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* genautomata.c (make_automaton, NDFA_to_DFA):
+ 	Print progress bars with '.' characters instead of '*'.
+ 	(build_automaton): Change notes to match.
+ 
+ 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md: Use define_constants for unspec and
+ 	unspec_volatile.
+ 
+ 2004-01-10  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR opt/11635
+ 	* expr.c (expand_expr_real):  More curefully expand union casts.
+ 
+ 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.md (flush_icache): Use 1 for
+ 	unspec_volatile.
+ 
+ 2004-01-10  David Edelsohn  <edelsohn@gnu.org>
+ 	    James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR debug/12860
+ 	* dbxout.c (dbxout_symbol): Remove initialization of
+ 	current_sym_code, current_sym_value, and current_sym_addr.
+ 	(dbxout_symbol_location): Same.
+ 	(dbxout_prepare_symbol): Zero current_sym_code,
+ 	current_sym_value, and current_sym_addr.
+ 
+ 2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* tree.c (get_unwidened): Reorder conditions so that the null pointer
+ 	check is done first.
+ 
+ 2004-01-09  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* toplev.c (rest_of_handle_cfg): Add reg_scan pass
+ 	if we're running mark_constant_function.
+ 
+ 2004-01-09  Jeff Bailey  <jbailey@nisa.net>
+ 
+ 	PR target/12561
+ 	* config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
+ 
+ 2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
+ 
+ 	PR debug/11231
+ 	* dbxout.c (dbxout_type_fields): Return if any item is
+ 	error_mark_node or the type is error_mark_node.
+ 
+ 2004-01-09  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin-ldouble.c: Add big comment explaining
+ 	exactly what is expected as a 'long double'.
+ 	(_xlqadd): When a value to be returned is representable as a
+ 	'double', just return it directly, do not construct it using a union.
+ 	Also, correct final fixup.
+ 	(_xlqmul): Likewise.
+ 	(_xlqdiv): Likewise.
+ 	* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
+ 
+ 	* config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
+ 
+ 2004-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* recog.c (constrain_operands): Validate mem operands.
+ 
+ 2004-01-09   James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* gcc.c (init_spec): Remove -lunwind from shared case.
+ 	* conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
+ 
+ 2004-01-09  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
+ 	* configure: Regenerate
+ 
+ 2004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/11234
+ 	* c-typeck.c (build_c_cast): If pedantic, warn for conversions
+ 	between function and object pointers.
+ 	(digest_init): When comparing a pointer to function type to the
+ 	target type, only apply TREE_TYPE once to the pointer to function
+ 	type.
+ 	* except.c (for_each_eh_label_1): Treat data as a pointer to a
+ 	function pointer rather than casting it to a function pointer.
+ 	(for_each_eh_label): Update caller.
+ 	* recog.h (struct insn_data): Use a struct or union for output.
+ 	* genoutput.c (output_insn_data): Update.
+ 	* final.c (get_insn_template): Update.
+ 
+ 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* expr.h (expand_expr): Make it a macro, not a function.
+ 	(expand_expr_real): New function.
+ 	* expr.c (store_expr): Adjust logic for deciding whether or not to
+ 	copy the value returned by expand_expr.
+ 	(expand_expr): Rename to ...
+ 	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
+ 	calls to language hooks.
+ 	* c-common.h (c_expand_expr): Adjust prototype.
+ 	* c-common.c (c_expand_expr): Add alt_rtl parameter.
+ 	* langhooks-def.h (lhd_expand_expr): Change prototype.
+ 	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
+ 	* langhooks.h (lang_hooks): Change type of expand_expr.
+ 	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
+ 	(last_expr_alt_rtl): Likewise.
+ 	(expand_expr_stmt_value): Set last_expr_alt_rtl.
+ 	(clear_last_expr): Clear it.
+ 	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
+ 	(expand_end_bindings): Save and restor last_expr_alt_rtl.
+ 	* tree.def (RTL_EXPR): Give it an additional operand.
+ 	* tree.h (RTL_EXPR_ALT_RTL): New macro.
+ 
+ 2004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
+ 	* config/m32r/m32r.c (call26_operand): Allow in PIC mode.
+ 
+ 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/13380.
+ 	* config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
+ 	or (ne:SI (reg:CC 17) (const_int 0)).
+ 	Be specific about modes wherever possible.
+ 
+ 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r.c (m32r_expand_block_move): Call
+ 	gen_movestrsi_internal with two more arguments.
+ 	(m32r_output_block_move): Adjust operand numbers.
+ 	Properly update the source and destination pointers.
+ 	* config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
+ 	'r+'.  Change the set detinations to match_operand.
+ 
+ 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* final.c (FIRST_INSN_ADDRESS): Remove.
+ 	(shorten_branches): Don't use FIRST_INSN_ADDRESS.
+ 	* system.h (FIRST_INSN_ADDRESS): Poison.
+ 	* config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
+ 	* config/m32r/m32r-protos.h: Remove the prototype for
+ 	m32r_first_insn_address.
+ 	* config/m32r/m32r.c (m32r_first_insn_address): Remove.
+ 	* config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
+ 	* doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
+ 
+ 2004-01-09  J. Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (gen_enumeration_type_die): Return the DIE that
+ 	we just created.
+ 	(is_ada_subrange_type): DIEs for enumeration subtypes should be
+ 	emitted as subrange types too.
+ 	(subrange_type_die): Add handling of enumeration subtypes.
+ 
+ 2004-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR opt/12441
+ 	Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
+ 	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
+ 	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
+ 	(ix86_address_cost): Be prepared for SUBREGed registers.
+ 	(legitimate_address_p): Accept SUBREGed registers.
+ 
+ 2004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in: Rename configure.in to configure.ac
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* configure: Regenerate.
+ 	* config.in: Regenerate.
+ 
+ 2004-01-08  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* config/i386/i386.md: Typos in MMX/SSE immediate shifts.
+ 
+ 2004-01-08  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_decide_inlining):  Fix typo.
+ 
+ 2004-01-08  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
+ 	(UNSPEC_FIX_TRUNC_TF): New constant.
+ 	(movtf_internal): Make splitter active only when insn is active.
+ 	(extenddftf2): Rewrite to properly load zero into low part.
+ 	(extenddftf2_internal): New.
+ 	(extendsftf2): Rewrite.
+ 	(truncdftf2): Correct length.
+ 	(floatditf2): Delete.
+ 	(fix_trunc_helper): New.
+ 	(fix_trunctfdi2): Use fix_trunc_helper.
+ 	(fix_trunctfsi2): Likewise.fix_trunc
+ 	(fix_trunctfsi2_internal): New.
+ 
+ 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
+ 	addresses are legitimate on Darwin even when flag_pic.
+ 	(rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
+ 	non-offsettable addresses for loads of TFmode constants.
+ 
+ 2004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
+ 	variables in the appropriate bss section.
+ 
+ 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
+ 	target_flags has MASK_POWERPC64 when -m64.
+ 	* config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
+ 	to 620, 630, power3, power4 and rs64a entries.
+ 	* config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
+ 
+ 2004-01-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_immed_subreg): Fix construction of
+ 	floating-point constants.
+ 
+ 2004-01-08  J. Brobecker  <brobecker@gnat.com>
+ 
+ 	* dwarf2out.c (subrange_type_die): Add context_die parameter.
+ 	Create the subrange_type DIE using the given context DIE.
+ 	(modified_type_die): Update call to subrange_type_die.
+ 
+ 2004-01-08  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
+ 	Add multiple-include guard.
+ 
+ 2004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
+ 
+ 	* gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
+ 	all vector constant loadable by vsplt*.
+ 	(output_vec_const_move): Likewise.
+ 
+ 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/6024
+ 	* c-typeck.c (comptypes): Only treat enumerated types in the same
+ 	translation unit as compatible with each other when they are the
+ 	same type.
+ 	* doc/extend.texi: Update.
+ 
+ 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/12165
+ 	* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
+ 	array type from the array element type.
+ 
+ 2004-01-07  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
+ 	* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
+ 	* config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
+ 	(DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
+ 	* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
+ 
+ 2004-01-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
+ 	(DWARF2_DEBUGGING_INFO): Define.
+ 	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
+ 	* config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ 	* config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
+ 	for irix as.
+ 	(SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
+ 	* config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
+ 	* config/mips/iris5gas.h: Ditto.
+ 	(DBX_DEBUGGING_INFO): Remove.
+ 	(DWARF2_DEBUGGING_INFO): Ditto.
+ 	(MIPS_DEBUGGING_INFO): Ditto.
+ 	(PREFERRED_DEBUGGING_TYPE): Ditto.
+ 	* config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
+ 	(PREFERRED_DEBUGGING_TYPE): Ditto.
+ 	(SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
+ 	* config/mips/elf64.h: Ditto.
+ 
+ 2004-01-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
+ 	(STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
+ 
+ 2004-01-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
+ 	(TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
+ 	* config/rs6000/darwin-ldouble.c: New.
+ 
+ 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
+ 	for constants.
+ 	(constant_subword): Delete.
+ 	* rtl.h (constant_subword): Delete prototype.
+ 	(immed_double_const): Is not in varasm.c.
+ 	* simplify-rtx.c (simplify_immed_subreg): New.
+ 	(simplify_subreg): Use simplify_immed_subreg.
+ 
+ 	* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
+ 	than trying to generate RTL directly.
+ 	(fix_trunctfsi2): Use expand_fix rather than trying to generate
+ 	RTL directly.
+ 
+ 	* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
+ 
+ 2004-01-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
+ 	function into a separate macro.
+ 	(read_only_data_section): Add void argument.
+ 	(private_data_section): Same.
+ 	(read_only_private_data_section): Same.
+ 	(toc_section): Same.
+ 
+ 2004-01-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* invoke.texi:  Remove typo in last change.
+ 
+ 	PR target/10301
+ 	* config.gcc: Accept opteron and athlon-64 as variants
+ 	of k8.
+ 	* i386.c (override_options): Likewise.
+ 	* invoke.texi (i386 -mtune): Expand documentation.
+ 
+ 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c: Fix comment typos.
+ 	* builtins.c: Likewise.
+ 	* cfg.c: Likewise.
+ 	* df.c: Likewise.
+ 	* dominance.c: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* emit-rtl.c: Likewise.
+ 	* expr.c: Likewise.
+ 	* final.c: Likewise.
+ 	* fold-const.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* genattrtab.c: Likewise.
+ 	* genrecog.c: Likewise.
+ 	* gensupport.c: Likewise.
+ 	* ggc-zone.c: Likewise.
+ 	* integrate.c: Likewise.
+ 	* local-alloc.c: Likewise.
+ 	* loop.c: Likewise.
+ 	* recog.c: Likewise.
+ 	* regmove.c: Likewise.
+ 	* reg-stack.c: Likewise.
+ 	* reorg.c: Likewise.
+ 	* rtlanal.c: Likewise.
+ 	* rtl.h: Likewise.
+ 	* sched-ebb.c: Likewise.
+ 	* simplify-rtx.c: Likewise.
+ 	* toplev.c: Likewise.
+ 	* varasm.c: Likewise.
+ 
+ 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/install.texi: Fix typos.
+ 	* doc/invoke.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 
+ 2004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
+ 
+ 2004-01-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
+ 	(function_arg_advance):  Do not pass aggregates in SSE; deal handling
+ 	of MMX_REGPARM.
+ 	(function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
+ 	add MMX_REGPARM.
+ 	* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
+ 	(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
+ 	(MMX_REGPARM_MAX): Similarly for -mmmx.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sh/linux.h: Fix comment formatting.
+ 	* config/sh/netbsd-elf.h: Likewise.
+ 	* config/sh/sh.c: Likewise.
+ 	* config/sh/sh.h: Likewise.
+ 	* config/sh/vxworks.h: Likewise.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
+ 	* toplev.c (output_file_directive): Don't use
+ 	ASM_OUTPUT_MAIN_SOURCE_FILENAME.
+ 
+ 2004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
+ 
+ 	* toplev.c: Fix broken checkin of 2003-12-30.
+ 
+ 2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
+ 	(USING_MMAP): We don't support non-mmap.
+ 	(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
+ 	large objects.
+ 	(struct page_entry): Remove bytes_free.
+ 	(struct page_table_chain): Remove.
+ 	(struct globals): Remove page_table member.
+ 	(loookup_page_table_entry): Function deleted.
+ 	(set_page_table_entry): Ditto.
+ 	(ggc_allocated_p): No longer need page table lookups.
+ 	(ggc_marked_p): Ditto.
+ 	(alloc_small_page): Don't care about bytes_free anymore.
+ 	(alloc_large_page): Round up size.
+ 	(ggc_alloc_zone_1): Mark large objects as such, and calculate
+ 	their size the new way.
+ 	Remove page table lookups and setting.
+ 	(ggc_get_size): Calculate large object size the new way.
+ 	(sweep_pages): Redo to account for fact that we no longer have
+ 	bytes_free.
+ 	(ggc_collect): No longer need to reincrement bytes_free.
+ 	(ggc_pch_alloc_object): Handle new large objects properly.
+ 	(ggc_pch_read): Put PCH stuff into it's own uncollected zone.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Remove a page break.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/avr/avr.c (avr_output_function_prologue): Remove an
+ 	extra pair of curly braces.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300.c: Fix comment formatting.
+ 	* config/mn10300/mn10300.h: Likewise.
+ 
+ 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree.h: Update documentation on nothrow_flag.
+ 	* print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
+ 	types.
+ 
+ 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/invoke.texi: Remove traces of dead ports.
+ 
+ 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
+ 	option.
+ 
+ 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/12945
+ 	* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
+ 	counter labels.
+ 	* config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
+ 	(mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
+ 	string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
+ 	the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
+ 	(mips_symbol_insns): Don't trust the local/global classification.
+ 	(m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
+ 	(override_options): Make -mabicalls -fno-unit-at-a-time imply
+ 	-mno-explicit-relocs.
+ 	(mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
+ 	between local and global symbols.
+ 
+ 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
+ 	(mips_preferred_reload_class): Declare.
+ 	* config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
+ 	(EXTRA_CONSTRAINT): Update accordingly.
+ 	(PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
+ 	* config/mips/mips.c (mips_dangerous_for_la25_p): New function.
+ 	(mips_preferred_reload_class): New function.  Prefer LEA_REGS if
+ 	mips_dangerous_for_la25_p.
+ 	(mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
+ 	if mips_dangerous_for_la25_p.
+ 
+ 2004-01-05  Bernardo Innocenti  <bernie@develer.com>
+ 
+ 	* config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
+ 	warning.
+ 
+ 2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Use AC_PROG_CPP_WERROR.
+ 	* configure: Regenerate.
+ 
+ 2004-01-04  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* .cvsignore: Add autom4te.cache.
+ 
+ 2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Revamp documentation of MIPS options.  Remove
+ 	-mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
+ 	-m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
+ 	then architecture options, then ABI options.  General rewording.
+ 
+ 2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	PR c/3414
+ 	* doc/extend.texi: Clarify definition of malloc attribute.
+ 
+ 2004-01-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
+ 	* cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
+ 	* cgraph.h (cgraph_edge): Replace inline_call by inline_failed
+ 	(cgraph_inline_p): Add extra argument reason.
+ 	* cgraphunit.c: Minor formating fixes.
+ 	cgraph_first_inlined_callee): New functions.
+ 	(record_call_1): Record builtins too.
+ 	(cgraph_analyze_function): Update inline_failed messages.
+ 	(cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
+ 	cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
+ 	(cgraph_check_inline_limits): Likewise; Add argument reason.
+ 	(cgraph_set_inline_failed): New static function.
+ 	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
+ 	reasons.
+ 	(cgraph_inline_p): Add new argument reason.
+ 	* tree-inline.c (expand_call_inline):  Update warning.
+ 
+ 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
+ 	with modern equivalents.
+ 	* configure: Regenerate.
+ 
+ 	* configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
+ 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
+ 	* configure: Regenerate.
+ 
+ 	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
+ 
+ 	* configure.in: Rename to configure.ac.
+ 	* configure.ac: Renamed from configure.in; make minimum necessary
+ 	changes for autoconf 2.5x.
+ 	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
+ 	* configure: Regenerate with autoconf 2.57.
+ 
+ 2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mips/linux.h: Fix comment formatting.
+ 	* config/mips/mips.c: Likewise.
+ 	* config/mips/mips.h: Likewise.
+ 	* config/mips/mips.md: Likewise.
+ 	* config/mips/netbsd.h: Likewise.
+ 	* config/mips/windiss.h: Likewise.
+ 
+ 2004-01-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (fp constant pool splitter): Reorg suppression
+ 	for sse and 387; add suppression for mmx.
+ 
+ 2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* loop.c (loop_optimize): Free all loops_info's mems.
+ 
+ 	* c-typeck.c (finish_init): Free spelling_base before
+ 	setting it again.
+ 
+ 	* cfgloop.c (flow_loops_find): Always free the sbitmap
+ 	headers.
+ 
+ 	* predict.c (estimate_probability): Free bbs after being
+ 	done with it.
+ 
+ 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300.h (PREDICATE_CODES): Add
+ 	const_8bit_operand and call_address_operand.
+ 
+ 2004-01-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
+ 	when there is nothing to inline but warnings are requested.
+ 	(cgraph_decide_inlining):  Fix memory leak.
+ 
+ 2004-01-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expr.c (store_constructor):  Fix pasto in previous patch.
+ 
+ 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i386/cygming.h: Fix comment formatting.
+ 	* config/i386/djgpp.h: Likewise.
+ 	* config/i386/gthr-win32.c: Likewise.
+ 	* config/i386/i386-interix.h: Likewise.
+ 	* config/i386/i386.c: Likewise.
+ 	* config/i386/i386.h: Likewise.
+ 	* config/i386/openbsd.h: Likewise.
+ 	* config/i386/winnt.c: Likewise.
+ 	* config/i386/xm-mingw32.h: Likewise.
+ 
+ 2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
+ 
+ 	* doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
+ 	copyright and last modification dates.
+ 
+ 2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
+ 
+ 	* doc/install.texi (Specific): Mention x86_64.
+ 
+ 2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
+ 	Call force_operand on plus_constant result.
+ 
+ 2004-01-01  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
+ 	* expr.c (store_constructor): Use vec_init pattern.
+ 	* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
+ 	* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
+ 	(vec_set_optab, vec_extract_optab, vec_init_optab): New.
+ 	* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
+ 	New patterns.
+ 	(sse2_unpc?pd): Fix pattern.
+ 	(sse2_movlpd): Kill.
+ 	(sse2_movsd): Deal with movlpd too.
+ 	* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
+ 	(ix86_expand_vector_init): New.
+ 	* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
+ 	* md.texi (vec_set, vec_extract): Document
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog-2005 gcc-4.1.0/gcc/ChangeLog-2005
*** gcc-4.0.2/gcc/ChangeLog-2005	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ChangeLog-2005	Wed Dec  7 19:42:16 2005
***************
*** 0 ****
--- 1,22732 ----
+ 2005-06-30  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 21584
+ 	PR 22219
+ 	* tree-ssa-alias.c (create_name_tags): Also process
+ 	non-dereferenced pointers.
+ 	Remove argument 'ai'.  Update all callers.
+ 
+ 2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/darwin.h (STARTING_FRAME_OFFSET):
+ 	Set to 0 for FRAME_GROWS_DOWNWARD.
+ 	(REGISTER_NAMES): Add sfp.
+ 
+ 2005-07-01  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/arm/libunwind.S, config/arm/pr-support.c,
+ 	config/arm/unwind-arm.c, config/arm/unwind-arm.h,
+ 	config/c4x/predicates.md, tree-object-size.c: Update FSF address.
+ 
+ 2005-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/22260
+ 	* config/sparc/sparc.c (emit_and_preserve): Add 2nd register.
+ 	Preserve the 2nd register too, if present.
+ 	(sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too.
+ 	Adjust call to emit_and_preserve.
+ 
+ 2005-06-30  Zack Weinberg  <zack@codesourcery.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* pretty-print.h (PP_NL_ARGMAX): New.
+ 	(text_info): Add locus.
+ 	(struct chunk_info): New.
+ 	(output_buffer): Add formatted_obstack, chunk_obstack, and
+ 	cur_chunk_array. Change obstack to a pointer.
+ 	(pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
+ 	(struct pretty_print_info): Replace ideal_maximum_length and
+ 	prefixing_rule with wrapping.
+ 	(pp_line_cutoff, pp_prefixing_rule): Update to match.
+ 	Update prototypes and wrapper macros throughout.
+ 	* pretty-print.c (pp_formatted_text_data, pp_append_r)
+ 	(pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
+ 	(pp_base_last_position_in_text, pp_base_newline, pp_base_character):
+ 	Update for changes to pp structure.
+ 	(pp_base_prepare_to_format, pp_base_format_text): Delete.
+ 	(pp_base_format, pp_base_output_formatted_text): New functions.
+ 	(pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
+ 	(pp_verbatim): Clear text.locus.
+ 	(pp_printf): Likewise.  Use pp_format and pp_output_formatted_text.
+ 	* c-objc-common.c (c_tree_printer): Update function signature.
+ 	* diagnostic.c (diagnostic_initialize): Update for changes to
+ 	pp structure.
+ 	(diagnostic_report_diagnostic): Call pp_format and then
+ 	pp_output_formatted_text.
+ 	(verbatim): Clear text.locus.
+ 	* diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
+ 	Update for changes to pp structure.
+ 
+ 	* c-lang.c: No need to include c-pretty-print.h.
+ 	* Makefile.in: Remove bogus line containing only a tab.
+ 	(c-lang.o): Update dependencies.
+ 	* toplev.c (announce_function): Don't use verbatim.
+ 	(default_tree_printer): Update signature.
+ 
+ 	* objc/objc-lang.c: No need to include c-pretty-print.h.
+ 	* objc/Make-lang.in: Update dependencies.
+ 
+ 2005-06-29  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-complex.c (complex_variable_components): Now a hashtable.
+ 	(cvc_lookup): Ditto.
+ 	(cvc_insert): Ditto.
+ 	(create_components): Use referenced var iterator.
+ 	Initialize hashtable.	Use cvc_insert/lookup.
+ 	(extract_components): Use cvc_insert/lookup.
+ 	(update_complex_components): Ditto.
+ 	(update_complex_components_on_edge): Ditto.
+ 	* tree-dfa.c (referenced_vars): Now a hashtable.
+ 	(dump_referenced_vars): Use iterator.
+ 	(referenced_var_lookup): New function.
+ 	(referenced_var_insert): Ditto.
+ 	(add_referenced_var): Use referenced_var_insert.
+ 	(mark_new_vars_to_rename): Use DECL_UID.
+ 	* tree-flow-inline.h (first_htab_element): New function.
+ 	(end_htab_p): Ditto.
+ 	(next_htab_element): Ditto.
+ 	(first_referenced_var): Ditto.
+ 	(end_referenced_vars_p): Ditto.
+ 	(next_referenced_var): Ditto.
+ 	(is_call_clobbered): Use DECL_UID.
+ 	(mark_call_clobbered): Ditto.
+ 	(clear_call_clobbered): Ditto.
+ 	(mark_non_addressable): Ditto.
+ 	* tree-flow.h (htab_iterator): New struct.
+ 	(FOR_EACH_HTAB_ELEMENT): New macro.
+ 	(struct int_tree_map): New struct.
+ 	(int_tree_map_hash): Prototype.
+ 	(int_tree_map_eq): Ditto.
+ 	(referenced_var_iterator): Ditto.
+ 	(FOR_EACH_REFERENCED_VAR): New macro.
+ 	(referenced_vars): Now a hashtable.
+ 	* tree-into-ssa.c (symbol_marked_for_renaming): Use DECL_UID.
+ 	(add_new_name_mapping): Ditto.
+ 	(mark_def_sites): Ditto.
+ 	(insert_phi_nodes): Use referenced_var iterator.
+ 	(mark_def_site_blocks): Ditto.
+ 	(mark_sym_for_renaming): Use DECL_UID.
+ 	* tree-sra.c (is_sra_candidate_decl): Use DECL_UID.
+ 	(lookup_element): Ditto.
+ 	(find_candidates_for_sra): Use referenced_vars iterator.
+ 	Use DECL_UID.
+ 	* tree-ssa-alias.c (NUM_REFERENCES): New macro.
+ 	(NUM_REFERENCES_CLEAR): Ditto.
+ 	(NUM_REFERENCES_INC): Ditto.
+ 	(NUM_REFERENCES_SET): Ditto.
+ 	(alias_obstack): New bitmap obstack.
+ 	(struct alias_map_d): Use bitmap, not sbitmap.
+ 	(struct alias_info): Remove num_references.
+ 	(init_alias_info): Use referenced_var iterator.
+ 	Initialize bitmap obstack.
+ 	(delete_alias_info): Use referenced_var iterator.
+ 	Free bitmap obstack.
+ 	(compute_points_to_and_addr_escape): Use DECL_UID.
+ 	Use new NUM_REFERENCES macros.
+ 	(compute_flow_sensitive_aliasing): may_aliases is now a bitmap.
+ 	Use new NUM_REFERENCES macros.
+ 	(group_aliases_into): Update prototype to use bitmap.
+ 	(setup_pointers_and_addressables): Use referenced_vars iterator.
+ 	Use DECL_UID. Use new NUM_REFERENCES macros.
+ 	(add_pointed_to_var): Use DECL_UID.
+ 	(dump_alias_info): Use referenced_var iterator.
+ 	(add_type_alias): Ditto.
+ 	(used_portions): Now a hashtable.
+ 	(used_part_map_eq): New function.
+ 	(used_part_map_hash): Ditto.
+ 	(free_used_part_map): Ditto.
+ 	(up_lookup): Ditto.
+ 	(up_insert): Ditto.
+ 	(get_or_create_used_part_for): Use up_lookup.
+ 	(create_overlap_variables_for): Ditto.
+ 	(find_used_portions): Use up_insert.
+ 	Use DECL_UID.
+ 	(create_structure_vars): Init used_portions hashtable, use
+ 	referenced_vars iterator.
+ 	* tree-ssa-live.c (create_ssa_var_map): sbitmaps became bitmaps.
+ 	Use DECL_UID.
+ 	* tree-ssa-loop-im.c (gather_mem_refs_stmt): Use DECL_UID.
+ 	* tree-ssa-operands.c (get_asm_expr_operands): Ditto.
+ 	(note_addressable): Ditto.
+ 	* tree-ssa-structalias.c (set_uids_in_ptset): Ditto.
+ 	* tree-ssa.c (verify_flow_insensitive_alias_info): Use
+ 	referenced_var iterator.
+ 	Use DECL_UID.
+ 	(delete_tree_ssa): Ditto.
+ 	(int_tree_map_eq): New function.
+ 	(int_tree_map_hash): Ditto.
+ 	* tree-stdarg.c (find_va_list_reference): Use DECL_UID.
+ 	(va_list_ptr_read): Ditto.
+ 	(va_list_counter_struct_op): Ditto.
+ 	(va_list_ptr_write): Ditto.
+ 	(check_va_list_escapes): Ditto.
+ 	(check_all_va_list_escapes): Ditto.
+ 	(execute_optimize_stdarg): Ditto.
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Used referenced_var
+ 	iterator. 
+ 
+ 2005-06-30  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/darwin.h (FRAME_POINTER_REGNUM): Rename to ...
+ 	(HARD_FRAME_POINTER_REGNUM): this.
+ 
+ 2005-06-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* ipa-inline.c (cgraph_clone_inlined_nodes): Revert previous patch.
+ 
+ 2005-06-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+ 
+ 	PR middle-end/22247
+ 	* tree-ssa-structalias.c (build_constraint_graph, scc_visit,
+ 	process_unification_queue, init_topo_info, topo_visit,
+ 	init_scc_info, free_scc_info, perform_var_substitution,
+ 	solve_graph): Use unsigned instead of uint.
+ 	
+ 2005-06-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (gen_stack_protect_test): Add third argument.
+ 
+ 2005-06-30  J. D. Johnston  <jjohnst@us.ibm.com>
+ 
+ 	* gthr-tpf.h (CE2THRCPTR): Change field offset to 16.
+ 
+ 2005-06-30  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* config/c4x/c4x-protos.h: Remove the prototypes for those
+ 	functions removed from c4x.c.  Add prototypes for those
+ 	functions exported in c4x.c.
+ 	* config/c4x/c4x.c (any_operand, fp_zero_operand,
+ 	const_operand, stik_const_operand, not_const_operand,
+ 	reg_operand, r0r1_reg_operand, r2r3_reg_operand,
+ 	ext_low_reg_operand, ext_reg_operand, std_reg_operand,
+ 	std_or_reg_operand, addr_reg_operand, index_reg_operand,
+ 	dp_reg_operand, sp_reg_operand, st_reg_operand,
+ 	rc_reg_operand, call_address_operand,
+ 	symbolic_address_operand, dst_operand, src_operand,
+ 	src_hi_operand, lsrc_operand, tsrc_operand,
+ 	nonimmediate_src_operand, nonimmediate_lsrc_operand,
+ 	reg_or_const_operand, par_ind_operand, parallel_operand):
+ 	Remove.
+ 	(c4x_immed_float_p, c4x_a_register, c4x_x_register,
+ 	c4x_K_constant, c4x_N_constant, c4x_O_constant,
+ 	c4x_S_indirect): Export.
+ 	* config/c4x/c4x.h (PREDICATE_CODES): Remove.
+ 	* config/c4x/c4x.md: Include predicates.md.
+ 	* config/c4x/predicates.md: New.
+ 
+ 2005-06-30  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* function.c (stack_protect_epilogue): Pass label to
+ 	stack_protect_test, assume it emitted also the conditional
+ 	branch.
+ 	* doc/md.texi (stack_protect_test): Adjust documentation.
+ 	* config/i386/i386.md (stack_protect_test): Add third argument,
+ 	emit beq with operands[2].
+ 	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
+ 	flag_stack_protect != 0.
+ 	* config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
+ 	constants.
+ 	(stack_protect_set, stack_protect_test): New expanders.
+ 	(stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
+ 	stack_protect_testdi): New insns.
+ 	* config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
+ 	(TARGET_STACK_PROTECT_FAIL): Define.
+ 	(rs6000_generate_compare): Handle UNSPEC_SP_TEST.
+ 
+ 	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Increment.
+ 	(DWARF_FRAME_REGISTERS, DWARF_REG_TO_UNWIND_COLUMN): Adjust, so
+ 	that addition of sfp doesn't change these.
+ 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ 	REG_ALLOC_ORDER): Add sfp.
+ 	(INT_REGNO_P): Include FRAME_POINTER_REGNUM.
+ 	(FRAME_POINTER_REGNUM): Define to 113.
+ 	(HARD_FRAME_POINTER_REGNUM): Define to 31.
+ 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add sfp.
+ 	(STARTING_FRAME_OFFSET): Set to 0 for FRAME_GROWS_DOWNWARD.
+ 	(ELIMINABLE_REGS): Never eliminate to
+ 	FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+ 	instead.  Add eliminations from FRAME_POINTER_REGNUM.
+ 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, INT_REG_OK_FOR_INDEX_P):
+ 	Include FRAME_POINTER_REGNUM.
+ 	(REGISTER_NAMES): Add sfp.
+ 	* config/rs6000/rs6000.c (rs6000_reg_names): Add sfp.
+ 	(alt_reg_names): Likewise.
+ 	(rs6000_stack_info): Handle FRAME_GROWS_DOWNWARD.
+ 	(rs6000_emit_prologue): Use HARD_FRAME_POINTER_REGNUM
+ 	instead of FRAME_POINTER_REGNUM.
+ 	(rs6000_initial_elimination_offset): Never eliminate to
+ 	FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+ 	instead.  Add elimination offsets from FRAME_POINTER_REGNUM.
+ 
+ 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Only return non-zero
+ 	if DEFAULT_ABI == ABI_V4.
+ 
+ 2005-06-30  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* coretypes.h (tls_model): Add TLS_MODEL_NONE as 0.
+ 	* tree.h (struct tree_decl): New field `tls_model'.
+ 	(DECL_TLS_MODEL): New.
+ 	(DECL_THREAD_LOCAL_P): Rename from DECL_THREAD_LOCAL, make it
+ 	a predicate.
+ 	* rtl.h (decl_default_tls_model): Add prototype for it.
+ 	* varasm.c (decl_tls_model): Rewritten and renamed to ...
+ 	(decl_default_tls_model): ... this.
+ 	(default_encode_section_info): Use DECL_TLS_MODEL instead of
+ 	decl_tls_model.
+ 	(assemble_variable): Replace DECL_THREAD_LOCAL with
+ 	DECL_THREAD_LOCAL_P.
+ 	(default_section_type_flags_1): Likewise.
+ 	(categorize_decl_for_section): Likewise.
+ 	* tree.c (staticp): Likewise.
+ 	(recompute_tree_invarant_for_addr_expr): Likewise.
+ 	* drawf2out (loc_descriptor_from_tree_1): Likewise.
+ 	* c-decl.c (diagnose_mismatched_decls): Likewise.
+ 	with DECL_THREAD_LOCAL_P.
+ 	(start_decl): Likewise.
+ 	* print-tree.c (print_node): Likewise.  Print the TLS model.
+ 	(grokdeclarator): Set the default DECL_TLS_MODEL here.
+ 	* c-common.c (handle_tls_model_attribute): Rewrite to set the
+ 	TLS model up based on the attribute.  Never add the attribute
+ 	to the decl's attributes list.
+ 	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Replace
+ 	DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P.
+ 
+ 2005-06-30  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR testsuite/21967
+ 	* tree-ssa-live.c (mark_all_vars_used_1): Ignore variables in
+ 	TMR_ORIGINAL.
+ 
+ 2005-06-30  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.md (addv2hi3, subv2hi3, sminv2hi3, smaxv2hi3,
+ 	mulv2hi3, negv2hi2, absv2hi2): Pattern names fixed by appending the
+ 	necessary digit.
+ 
+ 2005-06-29  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_file_start): Use PPC405_ERRATUM77.
+ 
+ 2005-06-29  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 22234
+ 	* tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
+ 	when following copy-of chains.
+ 
+ 2005-06-30  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* function.h (struct function): Add saved blocks/unexpanded var list.
+ 	* gimple-low.c (record_vars): Insert only VAR_DECLs.
+ 	* tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
+ 	(remap_decl): Do not declare vars.
+ 	(remap_block): Do not care inserting blocks.
+ 	(remap_blocks): New function.
+ 	(copy_body_r): Update debug info.
+ 	(expand_call_inline): Duplicate callee block tree into caller;
+ 	copy all the unexpanded_var_list.
+ 	(save_body): Save unexpanded_var_list and blocks.
+ 	* tree-optimize.c (tree_rest_of_optimization): Restore
+ 	blocks/unexpanded_var_list.
+ 
+ 2005-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and
+ 	plus for V4HImode UMAX.
+ 
+ 2005-06-29  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-tree.h (default_function_array_conversion): Take and return
+ 	struct c_expr.
+ 	* c-typeck.c (default_function_array_conversion): Split into
+ 	array_to_pointer_conversion and function_to_pointer_conversion.
+ 	Take and return struct c_expr.
+ 	(array_to_pointer_conversion): Do not handle type qualifiers or
+ 	COMPOUND_EXPRs specially.
+ 	(build_function_call): Call function_to_pointer_conversion for
+ 	function designators.
+ 	(build_unary_op): Call array_to_pointer_conversion, not
+ 	default_function_array_conversion.
+ 	(digest_init, output_init_element): Likewise.
+ 	* c-parser.c: All callers of default_function_array_conversion
+ 	changed.
+ 
+ 2005-06-29  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* config/darwin.c (machopic_select_section): constant ObjC string
+ 	objects now always have type "__builtin_ObjCString".
+ 
+ 2005-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.
+ 
+ 2005-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
+ 	(vect_create_epilog_for_reduction): Don't use vec_shr if the
+ 	operation is emulated.
+ 	(vectorizable_reduction): Duplicate vect_min_worthwhile_factor
+ 	tests from vectorizable_operation.
+ 
+ 2005-06-29  Caroline Tice  <ctice@apple.com>
+ 
+ 	Fix PR 21956
+ 	* varasm.c (assemble_start_function):  Add "L" to beginning of
+ 	local labels, so assembler & linker treat them as local.
+ 	
+ 2005-06-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp
+ 	argument.  Simplify canonicalization of condition.  Use unsigned
+ 	saturating subtraction for QI and HImode unsigned compares.  Use
+ 	bit arithmetic tricks for SImode unsigned compares.
+ 	* config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl.
+ 	* config/i386/sse.md (SSEMODE14): New.
+ 	(umaxv8hi3): Use us_minus+plus to avoid vcond.
+ 	(umaxv4si3): New.
+ 	(smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize.
+ 	(smin<SSEMODE14>3): Similarly with sminv16qi3.
+ 	(umin<SSEMODE24>3): Similarly with uminv8hi3.
+ 
+ 2005-06-29  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change
+ 	GEN_INT to gen_int_for_mode when storing register size to memory.
+ 
+ 2005-06-29  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline.
+ 	* gcc/config/i386/emmintrin.h: Likewise.
+ 	* gcc/config/i386/pmmintrin.h: Likewise.
+ 	* gcc/config/i386/xmmintrin.h: Likewise.
+ 					
+ 2005-06-29  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	PR middle-end/21969
+ 	* tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression.
+ 	(SET_TYPE_VECTOR_SUBPARTS): New.
+ 	* tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with
+ 	SET_TYPE_VECTOR_SUBPARTS.
+ 	* tree-vect-transform.c (vect_transform_loop): Add cast.
+ 
+ 2005-06-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_decompose_address): Accept invalid
+ 	displacements for addresses containing frame_pointer_rtx or
+ 	virtual_stack_vars_rtx.
+ 	(s390_frame_info): Replaced use of STARTING_FRAME_OFFSET.
+ 	(s390_initial_elimination_offset): New offset when eliminating the 
+ 	soft frame pointer.
+ 	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1.
+ 	(STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed.
+ 
+ 2005-06-28  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.c (flag_next_runtime): Move...
+ 	* toplev.c (flag_next_runtime): ... here.
+ 	* c-common.h (flag_next_runtime): Move...
+ 	* flags.h (flag_next_runtime): ... here.
+ 	* config/darwin-c.c: Include flags.h.
+ 	* config/t-darwin (darwin-c.o): Depend on flags.h.
+ 
+ 2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux-unwind.h (shmedia_fallback_frame_state):
+ 	Disable	aliasing warning with void * cast.
+ 	(sh_fallback_frame_state): Likewise.
+ 
+ 2005-06-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* target.h (gcc_target): New field allocate_initial_value.
+ 	* target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* integrate.c (allocate_initial_values): Use
+ 	targetm.allocate_initial_value.
+ 	* system.h: Poison ALLOCATE_INITIAL_VALUE.
+ 	* config/sh/sh-protos.h (sh_pr_n_sets): Delete.
+ 	* config/sh/sh.c (sh_pr_n_sets): Make it static.
+ 	(sh_allocate_initila_value): New function.
+ 	(TARGET_ALLOCATE_INITIAL_VALUE): Override default.
+ 	* config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
+ 	* doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
+ 	update from ALLOCATE_INITIAL_VALUE.
+ 
+ 2005-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vectorizer.c (vect_is_simple_reduction): Compare types
+ 	using TYPE_MAIN_VARIANT.
+ 
+ 2005-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ
+ 	when using psubN.uuu.
+ 
+ 2005-06-29  Kelley Cook <kcook@gcc.gnu.org>
+ 
+ 	* doc/gcc.texi: Update FSF address.
+ 
+ 2005-06-28  Eric Christopher  <echristo@redhat.com>
+ 
+ 	PR c/22052
+ 	PR c/21975
+ 	* c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE.
+ 	Use. Fix detection of invalid extern inline redefinition.
+ 
+ 2005-06-28  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Fix typo.
+ 
+ 2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.md (setmemsi): s/operand/operands/.
+ 
+ 2005-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned
+ 	saturating subtraction for QI and HImode unsigned compares.  Use
+ 	bit arithmetic tricks for SImode unsigned compares.
+ 	(ia64_expand_vcondu_v2si): Remove.
+ 	(ia64_expand_vecint_cmov): Don't call it.
+ 
+ 2005-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtlanal.c (nonzero_bits1): Use the mode of the value for
+ 	determining integral-ness for comparisons.
+ 
+ 2005-06-28  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.md (setmemsi): Fix operand 2.
+ 
+ 2005-06-28  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* target.h (invalid_conversion, invalid_unary_op,
+ 	invalid_binary_op): New hooks.
+ 	* target-def.h (TARGET_INVALID_CONVERSION,
+ 	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
+ 	TARGET_INITIALIZER): Likewise.
+ 	* hooks.h (hook_constcharptr_tree_tree_null,
+ 	hook_constcharptr_int_tree_null,
+ 	hook_constcharptr_int_tree_tree_null): New.
+ 	* hooks.c (hook_constcharptr_tree_tree_null,
+ 	hook_constcharptr_int_tree_null,
+ 	hook_constcharptr_int_tree_tree_null): Likewise.
+ 	* gcc/doc/tm.texi (TARGET_INVALID_CONVERSION,
+ 	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document.
+ 	* c-convert.c (convert): Use invalid_conversion hook.
+ 	* c-typeck.c (build_unary_op): Use invalid_unary_op hook.
+ 	(build_binary_op): Use invalid_binary_op hook.
+ 	* config/ia64/ia64-modes.def: Define RFmode.
+ 	* config/ia64/ia64-protos.h (spill_xfmode_operand): Remove.
+ 	(ia64_expand_movxf_movrf): New.
+ 	* config/ia64/ia64.md (movxf): Move code to
+ 	ia64_expand_movxf_movrf.
+ 	(movrf, movrf_internal): New.
+ 	* ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op,
+ 	ia64_invalid_binary_op, TARGET_INVALID_CONVERSION,
+ 	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New.
+ 	(spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand.
+ 	Add mode parameter.  Make static.
+ 	(ia64_expand_movxf_movrf): New, moved from ia64.md.  Handle RFmode
+ 	as well as XFmode.
+ 	(ia64_function_arg, ia64_function_value, ia64_register_move_cost,
+ 	ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode.
+ 	(ia64_init_builtins): Set up __fpreg as RFmode.
+ 	(ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg.
+ 
+ 2005-06-28  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* builtins.c: (expand_builtin_memset): Rewrite to support
+ 	'set_storage_via_setmem'.
+ 	* expr.c: (enum insn_code setmem_optab): Define.
+ 	(enum insn_code clrmem_optab): Remove.
+ 	(set_storage_via_setmem): New function.
+ 	(clear_storage_via_setmem): Remove.
+ 	(clear_storage): Replace call to "clear_storage_via_clrmem" with
+ 	"set_storage_via_setmem".
+ 	* expr.h: (set_storage_via_setmem): Declare.
+ 	(CLEAR_RATIO): Redefine using HAVE_setmemM.
+ 	* optabs.h: (enum insn_code setmem_optab): Declare.
+ 	(enum insn_code clrmem_optab): Remove.
+ 	* optabs.c: (init_optabs): Initialize setmem_optab.
+ 	(enum insn_code clrmem_optab): Remove.
+ 	* genopinit.c: (otabs): Likewise.
+ 	* doc/md.texi: Document new standard pattern 'setmem'. Remove
+ 	  'clrmem'.
+ 	* config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
+ 	'operands' ordering.
+ 	* config/frv/frv.c: (frv_expand_block_clear): Likewise.
+ 	* config/rs6000/rs6000.c: (expand_block_clear): Likewise.
+ 	* config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
+ 	FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
+ 	* config/avr/avr.md: ("clrmemhi"): Likewise.
+ 	* config/frv/frv.md: ("clrmemsi"): Likewise.
+ 	* config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
+ 	* config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
+ 	* config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
+ 	* config/s390/s390.md: ("clrmem<mode>"): Likewise.
+ 
+ 2005-06-28  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
+ 	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
+ 	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
+ 	(assign_filter_values): Ditto.
+ 	(output_ttype): New function.
+ 	(output_function_exception_table): Use output_ttype.  Generate arm
+ 	eabi filter lists.
+ 	(default_init_unwind_resume_libfunc): New function.
+ 	* except.h (default_init_unwind_resume_libfunc): Add prototype.
+ 	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
+ 	* opts.c (decode_options): Use targetm.unwind_tables_default.
+ 	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
+ 	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
+ 	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
+ 	and arm_eabi_unwinder.
+ 	* unwind-c.c: Support Arm EABI unwinder.
+ 	* unwind.h: Rename ...
+ 	* unwind-generic.h: ... To this.
+ 	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
+ 	(TARGET_UNWID_TABLES_DEFAULT): Document.
+ 
+ 	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
+ 	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
+ 	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
+ 	Define.
+ 	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
+ 	directives.
+ 	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
+ 	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
+ 	!TARGET_UNWIND_INFO.
+ 	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
+ 	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
+ 	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
+ 	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
+ 	* config/arm/lib1funcs.asm: Include libunwind.S.
+ 	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
+ 	* config/arm/libunwind.S: New file.
+ 	* config/arm/pr-support.c: New file.
+ 	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
+ 	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
+ 	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
+ 	* config/arm/unwind-arm.c: New file.
+ 	* config/arm/unwind-arm.h: New file.
+ 	* config/i386/t-netware (USER_H): Remove unwind.h.
+ 	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
+ 
+ 2005-06-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-decl.c (pop_scope): Move warning control into warning call.
+ 	(diagnose_mismatched_decls): Likewise.
+ 	(pushdecl): Likewise.
+ 	(start_decl): Likewise.
+ 	(grokparms): Likewise.
+ 	(start_function): Likewise.
+ 	(store_parm_decls_newstyle): Likewise.
+ 	(store_parm_decls_oldstyle): Likewise.
+ 	(finish_function): Likewise.
+ 	(declspecs_add_scspec): Likewise.
+ 	* c-format.c (decode_format_attr): Likewise.
+ 	(maybe_read_dollar_number): Likewise.
+ 	(avoid_dollar_number): Likewise.
+ 	(finish_dollar_format_checking): Likewise.
+ 	(check_format_info): Likewise.
+ 	(check_format_info_main): Likewise.
+ 	(check_format_types): Likewise.
+ 	(format_type_warning): Likewise.
+ 	* c-typeck.c (function_types_compatible_p): Likewise.
+ 	(build_array_ref): Likewise.
+ 	(convert_arguments): Likewise.
+ 	(build_c_cast): Likewise.
+ 	(store_init_value): Likewise.
+ 	(process_init_element): Likewise.
+ 	(c_start_case): Likewise.
+ 	* stor-layout.c (finalize_record_size): Likewise.
+ 	* tree-cfg.c (execute_warn_function_noreturn): Likewise.
+ 	* tree-inline.c (expand_call_inline): Likewise.
+ 
+ 2005-06-28  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/22134
+ 	* config/i386/i386.md (fist<mode>2_with_temp splitter):
+ 	Clobber memory operand, not scratch register.
+ 
+ 2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (machine_function): New field has_landing_pad_p.
+ 	(s390_set_has_landing_pad_p, s390_reg_clobbered_rtx,
+ 	 s390_regs_ever_clobbered): New functions.
+ 	(s390_return_addr_rtx): Use get_hard_reg_initial_value.
+ 	(s390_register_info, s390_init_frame_layout, s390_update_frame_layout):
+ 	Use s390_regs_ever_clobbered.
+ 	(s390_emit_prologue): Don't use r14 as temp reg if its content is used
+ 	for builtin_return_address.
+ 	* config/s390/s390.md ("exception_receiver"): New expander.
+ 	* config/s390/s390-protos.h (s390_set_has_landing_pad_p): Prototype
+ 	added.
+ 
+ 2005-06-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* except.c (current_function_has_exception_handlers): Function 
+ 	description added and if statements merged.
+ 
+ 2005-06-28  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (smaxv16qi3): Fix buffer overflow.
+ 	(sminv16qi3, umaxv8hi3, uminv8hi3): Likewise.
+ 
+ 2005-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate proper
+ 	comparison operations.
+ 	(ia64_expand_vecint_minmax): Fix size of xops.
+ 	* config/ia64/vect.md (umax<VECINT>3): Fix fallback pattern typo.
+ 	(vec_shl_<VECINT>, vec_shr_<VECINT>): New.
+ 
+ 2005-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vect-transform.c (get_initial_def_for_reduction): Use correct
+ 	type for DEF and INIT_VAL.  Pretend MIN/MAX need epilogue adjustment.
+ 
+ 2005-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New.
+ 	(smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New.
+ 
+ 2005-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vect-transform.c (vect_create_epilog_for_reduction): Remove
+ 	duplicate little-endian adjustment.
+ 
+ 2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/include/texinfo.tex: Import from upstream CVS.
+ 
+ 2005-06-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_remove_node): Do not release function bodies until
+ 	full cgraph is built.
+ 	* cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
+ 	* cgraphunit.c (cgraph_finalize_function): Update call of
+ 	cgraph_decide_inlining_incrementally.
+ 	(initialize_inline_failed): Break out of ...
+ 	(cgraph_analyze_function): ... here.
+ 	(rebuild_cgraph_edges): New function.
+ 	(pass_rebuild_cgraph_edges): New pass.
+ 	* common.opt (fearly-inlining): New flag.
+ 	* ipa-inline.c: Include ggc.h
+ 	(cgraph_clone_inlined_nodes): Avoid re-using of original copy
+ 	when cgraph is not fully built.
+ 	(cgraph_decide_inlining_incrementally): Add early mode.
+ 	(cgraph_early_inlining): New function.
+ 	(cgraph_gate_early_inlining): Likewise.
+ 	(pass_early_ipa_inline): New pass.
+ 	* ipa.c (cgraph_postorder): NULLify aux pointer.
+ 	* tree-inline.c (expand_call_inline): Avoid warning early.
+ 	* tree-optimize.c (pass_early_local_passes): New.
+ 	(execute_cleanup_cfg_pre_ipa): New.
+ 	(pass_cleanup_cfg): New.
+ 	(register_dump_files): Fix handling subpasses of IPA pass.
+ 	(init_tree_optimization_passes): Add early passes.
+ 	(execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
+ 	* passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
+ 	pass_early_ipa_inline): New passes.
+ 	* tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
+ 
+ 	* invoke.texi: Document early-inlining.
+ 
+ 2005-06-28  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* doc/include/fdl.texi: Merge in changes from upstream.
+ 	* doc/include/gpl.texi: Likewise.
+ 
+ 2005-06-27  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 21959
+ 	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Handle type
+ 	casts between unsigned and signed types with different size
+ 	or precision.
+ 
+ 2005-06-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-optimize.c (exercute_free_datastructures):
+ 	Do not disband implicit edges; do not attempt to build insn list;
+ 	do not free cfg annotations.
+ 	(execute_free_cfg_annotations); Disband implicit edges here;
+ 	free cfg annotations here too.
+ 	(pass_free_cfg_annotations); New pass.
+ 	(init_tree_optimization_passes); Add pass_free_cfg_annotations.
+ 	* tree-ssa-operands.c (free_ssa_operands); Recover; export.
+ 	* tree-ssa-operands.h (free_ssa_operands); declare.
+ 	* tree-ssa.c (delete_tree_ssa); Free SSA operand; mark stmt modified;
+ 	kill PHI nodes.
+ 	* tree-ssanames.c (release_defs): Kill addresses_taken.
+ 
+ 	* basic-block.h (basic_block_def): Kill rbi.
+ 	(reorder_block_def): Kill; Remove next field (replaced by aux);
+ 	move other fields to ...
+ 	(rtl_bb_info): ... here.
+ 	* bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
+ 	copy_bb, connect_traces, add_labels_and_missing_jumps
+ 	fix_up_fall_thru_edges, fix_crossing_conditional_branches,
+ 	duplicate_computed_gotos, partition_hot_cold_basic-blocks):
+ 	Update to new fields.
+ 	* cfg.c (initialize_bb_rbi): Kill.
+ 	* cfglayout.c (record_effective_endpoints, fixup_reorder_chain,
+ 	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update.
+ 	* cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi.
+ 	(try_redirect_by_replacing_jump): Update rbi references.
+ 	(cfg_layout_split_block): Likewise.
+ 	(cfg_layout_delete_block): Likewise.
+ 	(cfg_layout_merge_blocks): Likewise.
+ 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
+ 	* passes.c (rest_of_handle_sms): Likewise.
+ 	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
+ 
+ 2005-06-27  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratum
+ 	in verbose_asm output.
+ 	* config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with
+ 	CONFIG_PPC405CR.
+ 	* config.gcc (powerpc with_which): Define CONFIG_PPC405CR for
+ 	405cr.
+ 
+ 2005-06-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
+ 	(DEF_LIST_INT_INT): Add for 4,0, 4,5, 5,0, 5,6.
+ 	(ATTR_NOTHROW_NONNULL_4, ATTR_NOTHROW_NONNULL_5): Define.
+ 	(ATTR_FORMAT_PRINTF_4_0, ATTR_FORMAT_PRINTF_4_5,
+ 	ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6): Define.
+ 	* builtins.c: Include tree-flow.h.
+ 	(expand_builtin_mempcpy, expand_builtin_memmove): Comment fixes.
+ 	(expand_builtin_object_size, expand_builtin_memory_chk,
+ 	maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning,
+ 	compute_object_offset, compute_builtin_object_size,
+ 	fold_builtin_object_size): New functions.
+ 	(expand_builtin): Handle BUILT_IN_OBJECT_SIZE and BUILT_IN_*_CHK.
+ 	(fold_builtin_1): Likewise.  Handle BUILT_IN_{,V}{,F}PRINTF
+ 	and BUILT_IN_{,F}PRINTF_UNLOCKED.
+ 	(fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
+ 	fold_builtin_strncpy_chk, fold_builtin_strcat_chk,
+ 	fold_builtin_strncat_chk, fold_builtin_sprintf_chk,
+ 	fold_builtin_snprintf_chk, fold_builtin_printf, fold_builtin_fprintf):
+ 	New functions.
+ 	* builtins.def (BUILT_IN_OBJECT_SIZE, BUILT_IN_MEMCPY_CHK,
+ 	BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMSET_CHK,
+ 	BUILT_IN_STPCPY_CHK, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK,
+ 	BUILT_IN_STRNCAT_CHK, BUILT_IN_STRNCPY_CHK, BUILT_IN_SNPRINTF_CHK,
+ 	BUILT_IN_SPRINTF_CHK, BUILT_IN_VSNPRINTF_CHK, BUILT_IN_VSPRINTF_CHK,
+ 	BUILT_IN_FPRINTF_CHK, BUILT_IN_PRINTF_CHK, BUILT_IN_VFPRINTF_CHK,
+ 	BUILT_IN_VPRINTF_CHK): New builtins.
+ 	* builtin-types.def (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_VAR_4):
+ 	Document.
+ 	(BT_FN_SIZE_CONST_PTR_INT, BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
+ 	BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, BT_FN_PTR_PTR_INT_SIZE_SIZE,
+ 	BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
+ 	BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
+ 	BT_FN_INT_INT_CONST_STRING_VAR, BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
+ 	BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
+ 	BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR): New types.
+ 	* c-common.c (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_6,
+ 	DEF_FUNCTION_TYPE_VAR_4, DEF_FUNCTION_TYPE_VAR_5): Define.
+ 	* Makefile.in (OBJS-common): Add tree-object-size.o.
+ 	(tree-object-size.o): Add dependencies.
+ 	* tree-pass.h (pass_object_sizes): Add.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_object_sizes.
+ 	* tree-object-size.c: New file.
+ 	* tree.h (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
+ 	fold_builtin_strncpy_chk, fold_builtin_snprintf_chk,
+ 	compute_builtin_object_size, init_object_sizes, fini_object_sizes):
+ 	New prototypes.
+ 	* tree-ssa-ccp.c (get_strlen): Rename to ...
+ 	(get_maxval_strlen): ...this function.  Handle also computing of maximum
+ 	string length and maximum integral value.
+ 	(ccp_fold_builtin): Handle BUILT_IN_*_CHK.  Use get_maxval_strlen
+ 	instead of get_strlen.  Pass CALLEE and ARGLIST variables to the
+ 	folding functions instead of computing them again.
+ 	(execute_fold_all_builtins): Retry ccp_fold_builtin if a builtin changed
+ 	into some other builtin.
+ 	* doc/extend.texi (Object Size Checking): Document.
+ 
+ 	* regrename.c (copy_value): Fix comment.
+ 
+ 	* toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)
+ 	instead of preprocessor conditionals.
+ 
+ 	* targhooks.c (default_hidden_stack_protect_fail): Fall back to
+ 	default_external_stack_protect_fail if visibility is not supported
+ 	or not flag_pic.
+ 	* config/i386/i386.c (ix86_stack_protect_fail): New function.
+ 	(TARGET_STACK_PROTECT_FAIL): Define.
+ 	* config/i386/i386.md (stack_protect_si): Change CLOBBER into
+ 	SET to zero.
+ 	(stack_protect_di): Likewise.  Use %k2 instead of %2 to avoid
+ 	invalid instruction xorl %rax, %rax.
+ 
+ 2005-06-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
+ 	* cfgexpand.c: Include params.h.
+ 	(has_protected_decls, has_short_buffer): New.
+ 	(expand_stack_vars): Take a predicate to determine what to expand.
+ 	(defer_stack_allocation): True when flag_stack_protect on.
+ 	(SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
+ 	(SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
+ 	(stack_protect_classify_type, stack_protect_decl_phase): New.
+ 	(stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
+ 	(add_stack_protection_conflicts, create_stack_guard): New.
+ 	(expand_used_vars): Add stack protection logic.
+ 	(tree_expand_cfg): Likewise.
+ 	* common.opt (Wstack-protector): New.
+ 	(fstack-protector, fstack-protector-all): New.
+ 	* function.c: Include predict.h.
+ 	(assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
+ 	wants to copy the parameter into the stack frame.
+ 	(stack_protect_prologue, stack_protect_epilogue): New.
+ 	(expand_function_end): Call stack_protect_epilogue.  Do 
+ 	sjlj_emit_function_exit_after after naked_return_label.
+ 	* function.h (struct function): Add stack_protect_guard.
+ 	* params.def (PARAM_SSP_BUFFER_SIZE): New.
+ 	* toplev.c (process_options): Disable flag_stack_protect and/or
+ 	warn_stack_protect based on FRAME_GROWS_DOWNWARD.
+ 	* tree.h (stack_protect_prologue): Declare.
+ 
+ 	* target-def.h (TARGET_STACK_PROTECT_GUARD): New.
+ 	(TARGET_STACK_PROTECT_FAIL): New.
+ 	(TARGET_INITIALIZER): Add them.
+ 	* target.h (struct gcc_target): Add stack_protect_guard and
+ 	stack_protect_fail.
+ 	* targhooks.c: Include ggc.h, gty header.
+ 	(stack_chk_guard_decl, default_stack_protect_guard): New.
+ 	(stack_chk_fail_decl, default_external_stack_protect_fail): New.
+ 	(default_hidden_stack_protect_fail): New.
+ 	* targhooks.h (default_stack_protect_guard): Declare.
+ 	(default_external_stack_protect_fail): Declare.
+ 	(default_hidden_stack_protect_fail): Declare.
+ 	* config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
+ 	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
+ 	(trap): Use ud2.
+ 	(conditional_trap, conditional_trap_1): Remove.
+ 	(stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
+ 	(stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
+ 	* doc/md.texi (stack_protect_set, stack_protect_test): New.
+ 	* doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
+ 	(TARGET_STACK_PROTECT_FAIL): New.
+ 
+ 	* libgcc-std.ver (GCC_4.1.0): New.
+ 	* libgcc.h (__stack_chk_guard): Declare.
+ 	(__stack_chk_fail, __stack_chk_fail_local): Declare.
+ 	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
+ 	* mklibgcc.in (lib2funcs): Add them.
+ 
+ 2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR c/21911
+ 	* c-common.c (check_function_sentinel): Pass in named argument
+ 	list, skip over named arguments before looking for a sentinel.
+ 	(check_function_arguments): Pass in named argument list.
+ 	* c-common.h (check_function_arguments): Likewise.
+ 	* c-typeck.c (build_function_call): Likewise.
+ 
+ 2005-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* genautomata.c (decl_mode_check_failed,
+ 	regexp_mode_check_failed): Add noreturn attribute.
+ 
+ 2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* cfg.c, tree-vect-transform.c, tree.def: Fix comment typos.
+ 	* doc/invoke.texi: Fix typos.
+ 
+ 	* builtins.c, c-common.c, c-convert.c, c-decl.c, c-typeck.c,
+ 	convert.c, lambda-code.c, predict.c, tree-cfg.c,
+ 	tree-complex.c, tree-data-ref.c, tree-if-conv.c,
+ 	tree-mudflap.c, tree-scalar-evolution.c, tree-ssa-ccp.c,
+ 	tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-loop-manip.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
+ 	tree-vect-analyze.c, tree-vect-transform.c, tree-vectorizer.c,
+ 	tree.c: Use fold_buildN instead of fold (buildN (...)).
+ 
+ 2005-06-26  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Specific): Do not specify the concrete
+ 	versions of GCC provided by Cygwin.  Simplify the part on
+ 	building on Cygwin.
+ 
+ 2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* config/arc/arc-protos.c: Remove the prototype for
+ 	arc_finalize_pic.
+ 	* config/arc/arc.c (arc_finalize_pic): Remove.
+ 	* config/arc/arc.h (FINALIZE_PIC): Likewise.
+ 	* config/bfin/bfin.h (FINALIZE_PIC): Likewise.
+ 	* config/rs6000/rs6000.h (FINALIZE_PIC): Likewise.
+ 
+ 2005-06-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/17965
+ 	* calls.c (expand_call, emit_library_call_value_1): Use xmalloc/free
+ 	instead of alloca for really big argument sizes.
+ 
+ 	PR middle-end/22028
+ 	* gimplify.c (gimplify_type_sizes): Check for type == error_mark_node
+ 	earlier in the function.
+ 
+ 	* regrename.c (copy_value): Don't replace fixed or global
+ 	regs with older regs.
+ 
+ 	* defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
+ 	* function.c (get_func_frame_size): Use if (FRAME_GROWS_DOWNWARD)
+ 	instead of preprocessor conditionals.
+ 	(assign_stack_local_1, assign_stack_temp_for_type): Likewise.
+ 	* cfgexpand.c (FRAME_GROWS_DOWNWARD): Don't redefine to 1 or 0
+ 	depending on if it was or was not defined previously.
+ 	* doc/rtl.texi (VIRTUAL_STACK_VARS_REGNUM): Mention that only non-zero
+ 	definition of FRAME_GROWS_DOWNWARD means frame grows downward.
+ 	* doc/tm.texi (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/m68hc11/m68hc11.h (FRAME_GROWS_DOWNWARD): Define to 0.  Update
+ 	comment.
+ 	* config/pa/pa.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/stormy16/stormy16.h (FRAME_GROWS_DOWNWARD): Define to 0.
+ 	* config/c4x/c4x.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/sh/sh.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/iq2000/iq2000.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/pdp11/pdp11.h (FRAME_GROWS_DOWNWARD): Define to 1.  Update
+ 	comment.
+ 	* config/i860/i860.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/h8300/h8300.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/arc/arc.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/vax/vax.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/sparc/sparc.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/i386/i386.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/fr30/fr30.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/frv/frv.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/mn10300/mn10300.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/bfin/bfin.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/ns32k/ns32k.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/v850/v850.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/alpha/alpha.h (FRAME_GROWS_DOWNWARD): Update comment.
+ 	* config/s390/s390.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/arm/arm.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/alpha/unicosmk.h (FRAME_GROWS_DOWNWARD): Define to 1.
+ 	* config/cris/cris.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/m68k/m68k.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 	* config/mmix/mmix.h (FRAME_GROWS_DOWNWARD): Likewise.
+ 
+ 2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	PR tree-optimization/22026
+ 	* tree-vrp.c (extract_range_from_binary_expr): Drop to
+ 	VR_VARYING if a binary expression involving VR_ANTI_RANGE is
+ 	PLUS_EXPR, MINUS_EXPR, or unsigned MULT_EXPR.
+ 
+ 2005-06-26  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* Makefile.in (OBJS-common): Remove duplicate object file
+ 	names.
+ 
+ 2005-06-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update profile.
+ 	* cfg.c (update_bb_profile_for_threading): Fix rescaling.
+ 
+ 	* passes.c (rest_of_handle_branch_prob): Do not rebuild profiling info
+ 	when not neecesary
+ 	(rest_of_compilation): Fix conditional on branch prob pass.
+ 	* predict.c (tree_estimate_probability): Enable strip_builtin_expect
+ 	when not loop optimizing.
+ 
+ 2005-06-25  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.md (ror_one, rol_one, ashrdi3, ashldi3, lshrdi3):
+ 	New patterns.
+ 	(movbi): Add alternative to set CC to zero.
+ 	(compare_eq, compare_ne, compare_le, compare_lt, compare_leu,
+ 	compare_ltu): Now named patterns.
+ 
+ 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* all files: Update FSF address in copyright headers.
+ 
+ 2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* gengtype.c: Update FSF address in copyright header.
+ 	(create_file): Update FSF in outputed copyright header.
+ 
+ 2005-06-24  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* cfglayout.c (block_locators_locs, line_locators_locs,
+ 	line_locators_lines, file_locators_locs): Change the type to
+ 	VEC(int,heap)*.
+ 	(insn_locators_initialize, change_scope, insn_scope,
+ 	locator_line, insn_line, locator_file): Use VEC instead of
+ 	VARRAY.
+ 
+ 2005-06-24  Jason Merrill  <jason@redhat.com>
+ 
+ 	* tree-nrv.c (tree_nrv): Fix to check assignments to the
+ 	RESULT_DECL rather than just RETURN_EXPRs.
+ 	(finalize_nrv_r): Adjust.
+ 
+ 2005-06-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Fix flags of
+ 	all_passes and all_ipa_passes.
+ 
+ 	* c-common.c: Include cgraph.h
+ 	(handle_externally_visible_attribute): New function.
+ 	(c_common_att): Add "externally_visible" attribute.
+ 	* cgraph.c (decide_is_variable_needed): Obey externally
+ 	visible flag.
+ 	(cgraph_varpool_finalize_decl): Avoid redundant checking.
+ 	* cgraph.h (struct cgraph_node): New flag externally_visible.
+ 	(decide_is_function_needed): Obey externally visible flag.
+ 	(cgraph_finalize_function): Avoid redundant checks.
+ 	(cgraph_function_and_variable_visibility): Bring symbols local
+ 	when asked for.
+ 	* common.opt (fwhole-program): New flag.
+ 
+ 	* doc/invoke.texi (-fwhole-program): Document.
+ 
+ 2005-06-24  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR 22171
+ 	* tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL
+ 	before use.
+ 
+ 2005-06-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR 22000
+ 	* tree-ssa-operands.c (get_expr_operands): Check the volatility of
+ 	the FIELD_DECL and set s_ann->has_volatile_ops accordingly.
+ 
+ 2005-06-24  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* opts.c (decode_options): Enable unit-at-a-time by default at -O1.
+ 
+ 2005-06-23  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Move
+ 	copy prop pass to run just before VRP.
+ 	* tree-vrp.c (remove_range_assertions): Remove copies created
+ 	by ASSERT_EXPR removal.
+ 
+ 2005-06-23  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	PR tree-optimization/22117
+ 	* tree-vrp.c (extract_range_from_binary_expr): Compute a
+ 	correct range when adding two pointers.
+ 
+ 2005-06-23  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/19317
+ 	Leave the return slot target in the MODIFY_EXPR rather than making
+ 	it an argument, but only use it if the CALL_EXPR has a flag set.
+ 	* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
+ 	CALL_EXPR_RETURN_SLOT_OPT.
+ 	* calls.c (expand_call): Adjust.
+ 	* tree-inline.c (expand_call_inline): Adjust.
+ 	* tree-pretty-print.c (dump_generic_node): Adjust.
+ 
+ 	And set the flag as appropriate.
+ 	* gimplify.c (gimplify_modify_expr_rhs): Set
+ 	CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
+ 	* tree-nrv.c (execute_return_slot_opt): Set
+ 	CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
+ 	* tree-pass.h: Declare pass_return_slot.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add it.
+ 	
+ 2005-06-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/21760
+ 	* config/rs6000/rs6000.h (PPC405_ERRATUM77): New.
+ 	* config/rs6000/rs6000.md: Move atomic instructions to ...
+ 	* config/rs6000/sync.md: Here.
+ 	Change sync_compare_and_swap<mode> to define_expand.  All stwcx
+ 	patterns test PPC405_ERRATUM77.
+ 
+ 2005-06-23  Jan Hubicka  <jh@suse.cz>
+ 	
+ 	* tree-inline.c (copy_body_r): Remap labels correctly.
+ 
+ 2005-06-22  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
+ 
+ 2005-06-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	PR middle-end/20593
+ 	* varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
+ 	the same as the other cast operands.
+ 	(output_addressed_constants): Likewise.
+ 
+ 2005-06-21  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-vrp.c (extract_range_from_unary_expr): Handle type
+ 	conversions better.
+ 
+ 2005-06-21  Dorit Nuzman  <dorit@il.ibm.com>
+ 
+ 	* genopinit.c (vec_shl_optab, vec_shr_optab): Initialize new optabs.
+ 	(reduc_plus_optab): Removed.  Replcaed with...
+ 	(reduc_splus_optab, reduc_uplus_optab): Initialize new optabs.
+ 	* optabs.c (optab_for_tree_code): Return reduc_splus_optab or
+ 	reduc_uplus_optab instead of reduc_plus_optab.
+ 	(expand_vec_shift_expr): New function.
+ 	(init_optabs): Initialize new optabs. Remove initialization of
+ 	reduc_plus_optab.
+ 	(optab_for_tree_code): Return vec_shl_optab/vec_shr_optab
+ 	for VEC_LSHIFT_EXPR/VEC_RSHIFT_EXPR.
+ 	* optabs.h (OTI_reduc_plus): Removed. Replaced with...
+ 	(OTI_reduc_splus, OTI_reduc_uplus): New.
+ 	(reduc_plus_optab): Removed.  Replcaed with...
+ 	(reduc_splus_optab, reduc_uplus_optab): New optabs.
+ 	(vec_shl_optab, vec_shr_optab): New optabs.
+ 	(expand_vec_shift_expr): New function declaration.
+ 
+ 	* tree.def (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): New tree-codes.
+ 	* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
+ 	* expr.c (expand_expr_real_1): Handle new tree-codes.
+ 	* tree-pretty-print.c (dump_generic_node, op_symbol, op_prio): Likewise.
+ 	* tree-vect-generic.c (expand_vector_operations_1): Add assert.
+ 
+ 	* tree-vect-transform.c (vect_create_epilog_for_reduction): Add two
+ 	alternatives for generating reduction epilog code.
+ 	(vectorizable_reduction): Don't fail of direct reduction support is
+ 	not available.
+ 	(vectorizable_target_reduction_pattern): Likewise.
+ 
+ 	* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
+ 	reduc_umax_v4si, reduc_smin_v4si, reduc_smin_v4sf, reduc_umin_v4si,
+ 	reduc_plus_v4si, reduc_plus_v4sf): Removed.
+ 	(vec_shl_<mode>, vec_shr_<mode>, altivec_vsumsws_nomode,
+ 	reduc_splus_<mode>, reduc_uplus_v16qi): New.
+ 
+ 2005-06-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* c-typeck.c (build_function_call): Set fundecl = function again.
+ 	* tree-ssa-alias.c (find_used_portions): Address taking causes the
+ 	entire variable to be used.
+ 	* tree-ssa-structalias.c (do_structure_copy): Fix handling of
+ 	unknown size variables, and structure copies from addressof
+ 	operations.  Simplify how we do *a = *b type structure copies.
+ 	(init_base_vars): Add ANYTHING = &ANYTHING constraint the right
+ 	way.  READONLY's address is not taken by default.
+ 	INTEGER dereference should point to anything.
+ 	(create_variable_info_for): It's okay for the first field to not start
+ 	at 0.
+ 
+ 2005-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
+ 
+ 2005-06-20  Roger Sayle  <roger@eyesopen.com>
+ 	    Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* combine.c (simplify_set): Simplify setting of CC register
+ 	by removing redundant compare with 0 on RHS.
+ 
+ 2005-06-20  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/i386/netware-libgcc.def: Update copyright.
+ 	* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
+ 	__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
+ 	* config/i386/netware.c (gen_stdcall_decoration,
+ 	gen_fastd_decoration): Merge into ...
+ 	(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
+ 	WinNT's changes.
+ 	(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
+ 	(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
+ 	* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
+ 	libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
+ 	* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
+ 	use of NX_MUTEX_RECURSIVE.
+ 
+ 2005-06-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (swap_tree_comparison): Add support for unordered
+ 	floating point comparisons.
+ 	* tree-vrp.c (opposite_comparison): Delete.
+ 	(extract_range_from_assert): Replace calls to opposite_comparison
+ 	with calls to swap_tree_comparison.
+ 	(register_edge_assert_for): Likewise.
+ 	(vrp_evaluate_conditional): Likewise.
+ 
+ 2005-06-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* integrate.c (allocate_initial_values): Update the references
+ 	to global_live_at_start	and global_live_at_end.
+ 
+ 2005-06-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
+ 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
+ 	when asked for.
+ 	* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
+ 	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
+ 	Update call of duplicate_loop_to_header_edge.
+ 	(apply_opt_in_copies): Clear out aux pointers.
+ 
+ 2005-06-19  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/i386/i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
+ 	(ix86_mangle_fundamental_type): New.
+ 	* config/ia64/ia64.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
+ 	(ia64_mangle_fundamental_type): New.
+ 
+ 2005-06-19  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
+ 	INTEGER_CST nodes.
+ 	* c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
+ 	CONSTANT_CLASS_P nodes.
+ 
+ 2005-06-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/vect.md (vec_extractv2sf_1): Fix cut-and-paste error;
+ 	the shift is always required.
+ 
+ 2005-06-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64-modes.def (V4SF): Add.
+ 	* config/ia64/ia64.c (ia64_legitimate_constant_p): Handle CONST_VECTOR.
+ 	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Allow vector to 
+ 	integer mode changes in fp regs.
+ 	* config/ia64/ia64.md (UNSPEC_VECT_EXTR): New.
+ 	* config/ia64/vect.md (smaxv2sf3, sminv2sf3): Fix typos in names.
+ 	(reduc_plus_v2sf, reduc_smax_v2sf, reduc_smin_v2sf): New.
+ 	(vcondv2sf): Use gen_fpack
+ 	(fpack): Remove * from name.
+ 	(fswap, fmix_l, fmix_r, fmix_lr): New.
+ 	(vec_setv2sf, vec_extractv2sf_0_le, vec_extractv2sf_0_be): New.
+ 	(vec_extractv2sf_1, vec_extractv2sf): New.
+ 
+ 2005-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* combine.c (make_compound_operation): Use simplify_subreg.  Delete
+ 	a optimization already done by simplify_subreg.
+ 
+ 2005-06-19  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* loop.c (scan_loop): Do not consider insns setting the frame
+ 	pointer to be candidates for hoisting.
+ 
+ 2005-06-19  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf):
+ 	Remove instruction patterns.
+ 	(*cmpfp_0): New instruction pattern. Set "unit" attribute to "i387".
+ 	(*cmpfp_sf, *cmpfp_df, *cmpfp_xf, *cmpfp_u, *_cmpfp_<mode>):
+ 	Set "unit" attribute to "i387".
+ 	(*pushsf, *pushsf_rex64, *pushdf_nointeger, *pushdf_integer)
+ 	(*pushxf_nointeger, *pushxf_integer): Set "unit" attribute to "i387"
+ 	for alternative 0.
+ 	(*truncdfsf_mixed, *truncdfsf_i387, *truncxfsf2_mixed)
+ 	(*truncxfsf2_i387, *truncxfdf2_mixed, *truncxfdf2_i387): Set "unit"
+ 	attribute to "i387" when "type" attribute equals "multi".
+ 	(*floathisf2_i387, *floatsisf2_mixed, *floatsisf2_i387)
+ 	(*floatdisf2_mixed, *floatdisf2_i387, *floathidf2_i387)
+ 	(*floatsidf2_mixed, *floatsidf2_i387, *floatdidf2_mixed)
+ 	(*floatdidf2_i387, floathixf2, floatsixf2, floatdixf2): Set "unit"
+ 	attribute to "i387" when "type" attribute equals "multi".
+ 	* config/i386/mmx.md (*mov<mode>_internal_rex64)
+ 	(*mov<mode>_internal, *movv2sf_internal_rex64, *movv2sf_internal):
+ 	Set "unit" attribute to "mmx" when "type" attribute equals "ssecvt".
+ 	(mmx_pmovmskb): Correct wrong "type" and "mode" attributes.
+ 	* config/i386/sse.md (sse_cvtps2pi, sse_cvttps2pi, sse_cvtpd2di)
+ 	(sse_cvttpd2pi): Set "unit" attribute to "mmx".
+ 	(sse2_cvtpi2pd): Split register constraints. Set "unit" attribute
+ 	to "mmx" for "y" operand 1.
+ 
+ 2005-06-19  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P
+ 	for TARGET_MMX.  Use MMX_REGPARM_MAX and SSE_REGPARM_MAX for MMX
+ 	and SSE registers to determine if regno is valid.
+ 	(ix86_function_value_regno_p): Depend FIRST_FLOAT_REG on
+ 	TARGET_FLOAT_RETURNS_IN_80387 also for TARGET_64BIT. Clean up.
+ 
+ 2005-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN
+ 	for control-altering statements; set it again for returns.
+ 	(complex_visit_stmt): Return SSA_PROP_VARYING for stmts that are
+ 	not MODIFY_EXPR.
+ 
+ 2005-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/22116
+ 	* tree-ssa-pre.c (create_expression_by_pieces): Set
+ 	DECL_COMPLEX_GIMPLE_REG_P.
+ 	(insert_into_preds_of_block): Likewise.
+ 
+ 2005-06-18  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* Makefile.in: Fix tree-cfgcleanup.c dependencies.
+ 
+ 2005-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (store_constructor): Use store of 0 to indicate value
+ 	death instead of a clobber.
+ 
+ 	* config/i386/i386.c (ix86_expand_reduc_v4sf): New.
+ 	* config/i386/i386-protos.h (ix86_expand_reduc_v4sf): Declare.
+ 	* config/i386/sse.md (reduc_plus_v4sf): New.
+ 	(reduc_smax_v4sf, reduc_smin_v4sf): New.
+ 
+ 2005-06-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for
+ 	nonnegative values of X.
+ 
+ 2005-06-18  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* doc/md.texi (Standard Names): Change insn pattern name
+ 	from truncM2 to btruncM2 for 'trunc' built-in description.
+ 	Add rintM2 insn pattern description.
+ 
+ 2005-06-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* c-decl.c (locate_old_decl): Add format attribute.
+ 	(implicit_decl_warning): Likewise.
+ 
+ 	* diagnostic.h (verbatim): Move ...
+ 	* toplev.h (verbatim): ... here.  Add ATTRIBUTE_GCC_DIAG.
+ 	* pretty-print.h (pp_verbatim): Add ATTRIBUTE_GCC_PPDIAG.
+ 
+ 2005-06-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/22083
+ 	* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
+ 
+ 2005-06-18  Dorit Nuzman  <dorit@il.ibm.com>
+ 
+ 	* tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): New
+ 	tree-codes.
+ 	* optabs.h (OTI_reduc_smax, OTI_reduc_umax, OTI_reduc_smin,
+ 	OTI_reduc_umin, OTI_reduc_plus): New optabs for reduction. 
+ 	(reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
+ 	reduc_plus_optab): New optabs for reduction.
+ 	* expr.c (expand_expr_real_1): Handle new tree-codes.
+ 	* tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
+ 	* tree-pretty-print.c (dump_generic_node, op_prio, op_symbol): Handle
+ 	new tree-codes.
+ 	* optabs.c (optab_for_tree_code): Handle new tree-codes.
+ 	(init_optabs): Initialize new optabs.
+ 	* genopinit.c (optabs): Define handlers for new optabs. 
+ 
+ 	* tree-vect-analyze.c (vect_analyze_operations): Fail vectorization in
+ 	case of a phi that is marked as relevant. Call vectorizable_reduction.
+ 	(vect_mark_relevant): Phis may be marked as relevant.
+ 	(vect_mark_stmts_to_be_vectorized): The use corresponding to the 
+ 	reduction variable in a reduction stmt does not mark its defining phi
+ 	as relevant. Update documentation accordingly.
+ 	(vect_can_advance_ivs_p): Skip reduction phis.
+ 	* tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
+ 	additional argument. Handle reduction.
+ 	(vect_create_destination_var): Update call to vect_get_new_vect_var.
+ 	Handle non-vector argument.
+ 	(get_initial_def_for_reduction): New function.
+ 	(vect_create_epilog_for_reduction): New function. 
+ 	(vectorizable_reduction): New function.
+ 	(vect_get_new_vect_var): Handle new vect_var_kind.       
+ 	(vectorizable_assignment, vectorizable_operation, vectorizable_store,
+ 	vectorizable_condition): Update call to vect_get_new_vect_var.
+ 	(vect_transform_stmt): Call vectorizable_reduction.
+ 	(vect_update_ivs_after_vectorizer): Skip reduction phis.
+ 	(vect_transform_loop): Skip if stmt is both not relevant and not live.
+ 	* tree-vectorizer.c (reduction_code_for_scalar_code): New function.
+ 	(vect_is_simple_reduction): Was empty - added implementation.
+ 	* tree-vectorizer.h (vect_scalar_var): New enum vect_var_kind value.
+ 	(reduc_vec_info_type): New enum vect_def_type value.
+ 	* config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
+ 	reduc_umax_v4si, reduc_smin_v4si, reduc_umin_v4sf, reduc_smin_v4sf,
+ 	reduc_plus_v4si, reduc_plus_v4sf): New define_expands.
+ 
+ 	* tree-vect-analyze.c (vect_determine_vectorization_factor): Remove
+ 	ENABLE_CHECKING around gcc_assert.
+ 	* tree-vect-transform.c (vect_do_peeling_for_loop_bound,
+ 	(vect_do_peeling_for_alignment, vect_transform_loop, 
+ 	vect_get_vec_def_for_operand): Likewise.
+ 
+ 2005-06-18  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (ia64_function_arg): Set up a PARALLEL for a
+ 	big-endian unnamed __float80 value.
+ 
+ 2005-06-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/22103
+ 	* tree-sra.c (generate_copy_inout): Handle SSA_NAME complex
+ 	destinations.
+ 
+ 2005-06-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Use
+ 	initialize_original_copy_tables and free_original_copy_tables.
+ 	(vect_do_peeling_for_alignment): Likewise.
+ 
+ 2005-06-17  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Use succ block frequency
+ 	instead of edge frequency for calls to better_edge_p.
+ 
+ 2005-06-17  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/22105
+ 	* tree-ssa-loop-im.c (for_each_index): Handle COMPLEX_CST.
+ 
+ 2005-06-17  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	PR target/19889
+ 	* config/ia64/hpux.h (FUNCTION_PROFILER): New (dummy).
+ 	(PROFILE_HOOK): New.
+ 	(PROFILE_BEFORE_PROLOGUE): Undef.
+ 	(NO_PROFILE_COUNTERS): New.
+ 	* config/ia64/ia64-protos.h (ia64_profile_hook): New.
+ 	* config/ia64/ia64.c (ia64_compute_frame_size): Add ifdef.
+ 	(gen_mcount_func_rtx): New.
+ 	(ia64_profile_hook): New.
+ 	* config/ia64/ia64.md (ip_value): New.
+ 
+ 2005-06-17  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs6000/predicates.md (s5bit_cint_operand,
+ 	u5bit_cint_operand): New.
+ 	* config/rs6000/altivec.md (altivec_vspltb, altivec_vsplth,
+ 	altivec_vspltisw_v4sf): Use new 5 bit constant operand predicates.
+ 	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Fix signed
+ 	5 bit constant check.
+ 	
+ 2005-06-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* local-alloc.c (update_equiv_regs): Update reg_equiv_init
+ 	properly when moving an initialization insn.
+ 
+ 2005-06-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* aclocal.m4 (gcc_AC_CHECK_TOOL): Do not overwrite the
+ 	passed variable.
+ 	* configure.ac: Regenerate.
+ 
+ 2005-06-17  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-optimize.c (execute_ipa_pass_list): New.
+ 	(ipa_passes): Use it.
+ 
+ 2005-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/22022
+ 	* tree-complex.c (update_phi_components): Avoid no-op moves.
+ 
+ 2005-06-16  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* Makefile.in (cc1-checksum.c): Use
+ 	build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
+ 
+ 2005-06-16  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* gengtype.c (adjust_field_rtx_def): Don't add a skip to
+ 	basic_block types.
+ 
+ 	* config/t-slibgcc-darwin (SHLIB_SOVERSION): Rename from
+ 	SHLIB_MINOR.
+ 	(SHLIB_REVISION): Delete.
+ 	(SHLIB_VERSTRING): Update to compensate.
+ 	(SHLIB_SONAME): Just use one '.' in the name.
+ 
+ 2005-06-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR tree-optimization/22018
+ 	* tree-vrp.c (vrp_int_const_binop): Overhaul handling of overflow.
+ 
+ 2005-06-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/22035
+ 	* builtins.c (fold_builtin_complex_mul): Remove.
+ 	(fold_builtin_complex_div): Remove.
+ 	(fold_builtin_1): Don't call them.
+ 	* fold-const.c (fold_complex_add, fold_complex_mult_parts,
+ 	fold_complex_mult, fold_complex_div_parts, fold_complex_div): Remove.
+ 	(fold_binary): Don't call them.  Don't expand complex comparisons to
+ 	elementary comparisons.
+ 	* tree-complex.c (init_dont_simulate_again): Enhance search for 
+ 	stmts that require decomposition.
+ 	(complex_visit_stmt): Handle RETURN_EXPR properly.
+ 	(create_components): Handle no referenced variables properly.
+ 	* tree.h (fold_complex_mult_parts): Remove.
+ 	(fold_complex_div_parts): Remove.
+ 
+ 2005-06-16  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* doc/extend.texi: Document sseregparm target attribute.
+ 	Clarify fastcall and regparm documentation.
+ 	* config/i386/i386.h: Adjust float_in_sse documentation.
+ 	* config/i386/i386.c: Add new target attribute sseregparm.
+ 	(ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
+ 	Merge into ...
+ 	(ix86_handle_cconv_attribute): ... here.  Also handle
+ 	sseregparm attribute.
+ 	(ix86_comp_type_attributes): Compare sseregparm attributes.
+ 	(ix86_function_sseregparm): New function, split out from ...
+ 	(init_cumulative_args): ... here.  Use to decide use
+ 	of SSE registers and error in case of missing support.
+ 	(ix86_value_regno): Likewise.
+ 	(function_arg_advance): Do not bail out for DFmode if we need
+ 	to pass doubles in registers.
+ 	(function_arg): Likewise.
+ 
+ 2005-06-16  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Daniel Jacobowitz  <dan@codesourcery.com>
+ 	    Alan Modra <amodra.bigpond.net.au>
+ 
+ 	* configure.ac (gcc_version): Set near the beginning.
+ 	(as, ld, nm): Do not link in-tree tools.  Set gcc_cv_* if tools are
+ 	found in the tree.  Use gcc_AC_PROG to find the tools in the system.
+ 	(objdump): Do not look for it.
+ 	* Makefile.in (NM_FOR_TARGET): Point to ./nm
+ 	(ORIGINAL_AS_FOR_TARGET, ORIGINAL_LD_FOR_TARGET,
+ 	ORIGINAL_NM_FOR_TARGET): Substitute from autoconf.
+ 	(as, ld, nm): New rules.
+ 	(libgcc.mk): Depend on them.
+ 	* aclocal.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL,
+ 	gcc_AC_BUILD_EXEEXT): New.
+ 	(gcc_AC_CHECK_PROG_VER): Use gcc_AC_BUILD_EXEEXT.
+ 	* configure: Regenerate.
+ 
+ 2005-06-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (rtl_bb_info): Break out head_, end_,
+ 	global_live_at_start, global_live_at_end from ...
+ 	(basic_block_def): ... here; update all references
+ 	(BB_RTL): New flag.
+ 	(init_rtl_bb_info): Declare.
+ 	* cfgexpand.c (expand_gimple_basic_block): Init bb info, set BB_RTL
+ 	flag.
+ 	* cfgrtl.c: Include ggc.h
+ 	(create_basic_block_structure): Init bb info.
+ 	(rtl_verify_flow_info_1): Check BB_RTL flag and rtl_bb_info pointer.
+ 	(init_rtl_bb_info): New function.
+ 	(rtl_merge_block, cfglayout_merge_block): Copy global_live_at_end here.
+ 	* cfghooks.c (merge_block): Do not copy global_live_at_end here.
+ 	* cfg.c (clear_bb_flags): Skip BB_RTL flag.
+ 	(dump_flow_info): Gueard global_live_* dumping.
+ 
+ 	* Makefile.in (cfg.o): Add new dependencies.
+ 	* basic-block.h (reorder_block_def): Kill
+ 	original/copy/duplicated/copy_number fields.
+ 	(BB_DUPLICATED): New flag.
+ 	(initialize_original_copy_tables, free_original_copy_tables,
+ 	set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New.
+ 	* cfg.c: Include hashtab.h and alloc-pool.h
+ 	(bb_original, bb_copy, original_copy_bb_pool): New static vars.
+ 	(htab_bb_copy_original_entry): New struct.
+ 	(bb_copy_original_hash, bb_copy_original_eq): New static functions.
+ 	(initialize_original_copy_tables, free_original_copy_tables,
+ 	set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New
+ 	global functions.
+ 	* cfghooks.c (duplicate_block): Update original/copy handling.
+ 	* cfglayout.c (fixup_reorder_chain): Likewise.
+ 	(cfg_layout_initialize): Initialize orignal_copy tables.
+ 	(cfg_layout_finalize): FInalize original_copy tables.
+ 	(can_copy_bbs_p): Use BB_DUPLICATED flag.
+ 	(copy_bbs): Likewise.
+ 	* cfgloopmanip.c (update-single_exits_after_duplication): Likewise.
+ 	(duplicate_loop_to_header_edge): Likewise; update handling of
+ 	copy_number.
+ 	(loop_version): Likewise.
+ 	* dominance.c (get_dominated_by_region): Use BB_DUPLICATED_FLAG.
+ 	* except.c (expand_resx_expr): Check that reg->resume is not set.
+ 	* loop-unroll.c (unroll_loop_constant_iterations,
+ 	unroll_loop_runtime_iterations, apply_opt_in_copies): Update
+ 	copy/original handling.
+ 	* loop-unwitch.c (unswitch_loop): Likewise.
+ 	* tree-cfg.c (create_bb): Do not initialize RBI.
+ 	(disband_implicit_edges): Do not kill RBI.
+ 	(add_phi_args_after_copy_bb): Use new original/copy mapping.
+ 	(add_phi_args_after_copy): Use BB_DUPLICATED flag.
+ 	(tree_duplicate_sese_region): Update original/copy handling.
+ 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
+ 	* tree-ssa-loop-manip.c (copy_phi_node_args): Likewise.
+ 	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
+ 
+ 2005-06-15  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/21923
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Conversions between
+ 	integer types whos ranges are different are not useless.
+ 
+ 2005-06-15  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/22024
+ 	* tree-ssa-reassoc.c (init_reassoc): Also give chain decl a distint
+ 	rank.
+ 
+ 2005-06-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-structalias.c (dump_solution_for_var): Reformat
+ 	output.
+ 	(dump_sa_points_to_info): Make extern.
+ 	(debug_sa_points_to_info): New.
+ 	* tree-ssa-structalias.h (TREE_SSA_STRUCTALIAS_H): Rename from
+ 	TREE_ALIAS_COMMON.
+ 	(dump_sa_points_to_info): Declare.
+ 	(debug_sa_points_to_info): Declare.
+ 
+ 2005-06-15  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-tree.h (default_function_array_conversion): Declare.
+ 	* c-typeck.c (default_function_array_conversion): Export.  Correct
+ 	comment.
+ 	(default_conversion): Do not call
+ 	default_function_array_conversion.  Do not allow FUNCTION_TYPE.
+ 	(build_function_call): Call default_function_array_conversion on
+ 	the function.
+ 	(convert_arguments): Do not call it on the function arguments.
+ 	(build_unary_op): Do not allow ARRAY_TYPE or FUNCTION_TYPE for
+ 	TRUTH_NOT_EXPR.  Call default_function_array_conversion for taking
+ 	address of ARRAY_REF.
+ 	(build_compound_expr): Do not call
+ 	default_function_array_conversion.
+ 	(build_c_cast): Do not call default_function_array_conversion.
+ 	(convert_for_assignment): Do not call default_conversion.
+ 	(digest_init): Call default_function_array_conversion to convert
+ 	string constants and compound literals to pointers, but not
+ 	otherwise.
+ 	(output_init_element): Likewise.
+ 	(build_asm_expr): Do not call default_function_array_conversion.
+ 	(c_process_expr_stmt): Likewise.
+ 	(c_objc_common_truthvalue_conversion): Likewise.  Do not allow
+ 	FUNCTION_TYPE.
+ 	* c-parser.c (c_parser_expression_conv): New.
+ 	(c_parser_asm_operands, c_parser_expr_list): Add convert_p
+ 	argument.  All callers changed.  Call
+ 	default_function_array_conversion if convert_p.
+ 	(c_parser_initializer, c_parser_initval): Call
+ 	default_function_array_conversion except for string constants and
+ 	compound literals.
+ 	(c_parser_initelt): Call default_function_array_conversion for
+ 	ObjC expression received.
+ 	(c_parser_statement_after_labels): Call c_parser_expression_conv
+ 	for return and expression statements.
+ 	(c_parser_paren_condition, c_parser_for_statement,
+ 	c_parser_conditional_expression): Call c_parser_expression_conv.
+ 	(c_parser_expr_no_commas, c_parser_conditional_expression,
+ 	c_parser_binary_expression, c_parser_cast_expression,
+ 	c_parser_unary_expression): Call
+ 	default_function_array_conversion.
+ 
+ 2005-06-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-vrp.c (vrp_int_const_binop): Do not handle MAX_EXPR
+ 	when the result overflows.
+ 
+ 2005-06-15  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
+ 	24k and 24kx.
+ 	
+ 2005-06-15  Richard Sandiford  <richard@codesourcery.com>
+ 
+ 	* doc/invoke.texi (-mips16): Fix typo.
+ 
+ 2005-06-15  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.h (GENERATE_MIPS16E): New definition.
+ 	* config/mips/mips.md (zero_extend<SHORT:mode><GPR:mode>2):
+ 	Changed expand condition to exclude generating of "and" if
+ 	GENERATE_MIPS16E is true.
+ 	(*zero_extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for
+ 	matching mips16e zeb/zeh.
+ 	(*extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for matching
+ 	mips16e seb/seh. 
+ 	(*extend<SHORT:mode><GPR:mode>2): Disable this pattern for
+ 	GENERATE_MIPS16E. 
+ 	* doc/invoke.texi (MIPS Options): Add comment to -mips16
+ 	indicating MIPS16e ASE is used if targetting for MIPS32 or MIPS64.
+ 	
+ 2005-06-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 22018
+ 	* tree-vrp.c (vrp_int_const_binop): New.
+ 	(extract_range_from_binary_expr): Call it.
+ 	Unify handling division and multiplication.
+ 
+ 2005-06-15  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* c-common.h (same_scalar_type_ignoring_signedness): Protoize.
+ 
+ 	* c-common.c (same_scalar_type_ignoring_signedness): New.
+ 
+ 	* c-typeck.c (build_binary_op): Check compatability of vector
+ 	types.  Move error report after switch.
+ 	Do not clobber code[01] on *_DIV_EXPR case.
+ 
+ 	* testsuite/gcc.dg/simd-1.c: Update error messages.
+ 	* testsuite/gcc.dg/simd-1b.c: Re-enable tests.  Update error
+ 	messages.
+ 	* testsuite/gcc.dg/simd-2.c: Update error messages.
+ 	* testsuite/gcc.dg/simd-4.c: New.
+ 
+ 2005-06-15  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
+ 	* local-alloc.c: Include "ggc.h" and "reload.h".
+ 	(struct equivalence): New member is_arg_equivalence.
+ 	(local_alloc): Always call update_equiv_regs.
+ 	(update_equiv_regs): Allocate reg_equiv_init; set reg_equiv_init_size.
+ 	Detect equivalences made by stores to memory in a second pass.
+ 	Return early if not optimizing.
+ 	Initialize reg_equiv_init for all equivalences; treat equivalences for
+ 	REG_EQUIV notes existing before this pass specially.
+ 	(no_equiv): Don't clear reg_equiv_init or remove notes if the
+ 	is_arg_equivalence field is set.
+ 	* reload.h (reg_equiv_init, reg_equiv_init_size): Declare.
+ 	* reload1.c (reg_equiv_init): No longer static.
+ 	(reg_equiv_init_size): New variable.
+ 	(reload): Don't allocate reg_equiv_init; don't free it when done but
+ 	clear it.
+ 	Restructure equivalence set up code not to set reg_equiv_init, but to
+ 	clear it when we can't use an equivalence.
+ 	Undo change disabling equivalences for MEM_READONLY_P memrefs.
+ 	Dump equivalencing insns to dump_file.
+ 
+ 2005-06-14  Richard Sandiford  <richard@codesourcery.com>
+ 
+ 	* config/mips/mips.c (machine_function): Add varargs_size field.
+ 	(mips_setup_incoming_varargs): Store the amount of extra stack space
+ 	there rather than in *pretend_size.  When saving registers, always
+ 	expect virtual_incoming_args_rtx to point to the start of the
+ 	pretend arguments.
+ 	(mips_va_start): Remove alignment hack.  Handle all
+ 	!EABI_FLOAT_VARARGS_P cases in the same way.
+ 	(compute_frame_size): Handle varargs_size.  Remove the redundant
+ 	!TARGET_OLDABI condition in the handling of pretend_args_size.
+ 	(mips_initial_elimination_offset): Remove the now-redundant check
+ 	of TARGET_NEWABI.
+ 
+ 2005-06-14  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-vrp.c (local_fold): Remove.
+ 	(simplify_using_ranges): Use fold_convert, not local_fold.  Tweak
+ 	DIV/MOD case slightly for readability.
+ 
+ 2005-06-14  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	PR mudflap/21023
+ 	* tree-mudflap.c (mudflap_finish_file): Exclude non-public
+ 	rather than static objects (!) from libmudflap registration.
+ 
+ 2005-06-14  Richard Sandiford  <richard@codesourcery.com>
+ 
+ 	* opt-functions.awk (global_state_p, needs_state_p, static_var): New.
+ 	(var_ref): Take the option's flags as a second parameter.  Check
+ 	static_var.
+ 	* optc-gen.awk: Declare local state variables.  Pass flags to var_ref.
+ 
+ 2005-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/20301
+ 	* config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
+ 	unsigned index numbers.
+ 
+ 2005-06-13  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* Makefile.in (install-man): Doesn't really depend on installdirs.
+ 	(various rules for installing manpages): Do depend on installdirs.
+ 
+ 2005-06-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in
+ 	read_encoded_value_with_base call.
+ 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
+ 	* unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
+ 	* unwind-dw2.c (extract_cie_info): Fix aliasing in
+ 	read_encoded_value call.
+ 	(execute_cfa_program, uw_frame_state_for): Likewise.
+ 
+ 2005-06-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/22053
+ 	* reg-stack.c (compensate_edge): Correct mistake in the assertion
+ 	checking of EDGE_ABNORMAL_CALL edges; complex return values can
+ 	result in the top two stack slots, st(0) and st(1), being live.
+ 
+ 2005-06-13  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer
+ 	simplify DIV, MOD or ABS expressions using VRP information.
+ 	Remove WALK_DATA parameter.  Prototype and all callers updated.
+ 	(eliminate_redundant_computations): Remove WALK_DATA parameter.
+ 	Prototype and all callers updated.
+ 	(optimize_stmt): WALK_DATA parameter is now unused.
+ 
+ 	* tree-vrp.c (local_fold): New function.  Like fold, but
+ 	strips useless type conversions in the result.
+ 	(simplify_using_ranges): New function, largely cribbed from
+ 	tree-ssa-dom.c::simplify_rhs_and_lookup_avail_expr.
+ 	(vrp_finalize): Call simplify_using_ranges.
+ 
+ 2005-06-13  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/i386/x86-64.h (ASM_SPEC): Explicitly pass --64 to the
+ 	assembler in 64-bit mode.
+ 
+ 2005-06-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	Revert scc_operand patch.
+ 	* config/rs6000/predicates.md (scc_operand): Delete.
+ 	* config/rs6000/rs6000.md (scc_operand): Change to scc_eq_operand.
+ 
+ 2005-06-13  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR middle-end/21985
+ 	* fold-const.c (split_address_to_core_and_offset): Always return
+ 	the address of the base object.
+ 
+ 2005-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* doc/invoke.texi (Blackfin Options): Document -mlong-calls.
+ 
+ 2005-06-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/21994
+ 	* tree-complex.c (update_complex_components_on_edge): New.
+ 	(update_parameter_components): Use it.
+ 	(update_phi_components): Likewise.
+ 	(expand_complex_move): Likewise for is_ctrl_altering_stmt.
+ 
+ 2005-06-12  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/14796
+ 	* fold-const (fold_binary): Transform (X << C) >> C into X & (-1>>C)
+ 	for unsigned types.
+ 
+ 2005-06-12  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* cgraphunit.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-structalias.c, tree-vectorizer.c, tree-vectorizer.h,
+ 	config/sparc/sparc.c: Fix comment typos.
+ 
+ 2005-06-12  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm/ieee754-df.s (aeabi_dcmpeq, aeabi_dcmplt, aeabi_dcmple)
+ 	(aeabi_dcmpge, aeabi_dcmpgt): Maintain 8-byte stack alignment.
+ 	* arm/ieee754-sf.s (aeabi_l2f, aeabi_fcmpeq, aeabi_fcmplt)
+ 	(aeabi_fcmple, aeabi_fcmpge, aeabi_fcmpgt): Likewise.
+ 
+ 2005-06-12  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/14796
+ 	* fold-const.c (fold_binary): Transform (A >> C) << C into
+ 	one BIT_AND_EXPR.
+ 	<shift>: Transform (A OP c1) OP c2 into A OP (c1 + c2).
+ 
+ 2005-06-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/predicates.md (reg_or_arith_cint_operand): Delete.
+ 	(reg_or_add_cint_operand): Rename from reg_or_add_cint64_operand.
+ 	Handle SImode.
+ 	(reg_or_sub_cint_operand): Likewise.
+ 	(mask_operand): Handle DImode.
+ 	(mask64_operand): Delete.
+ 	(and64_operand): Delete.
+ 	* config/rs6000/rs6000.c (num_insns_constant): Use mask_operand
+ 	instead of mask64_operand.
+ 	(print_operand): Likewise.
+ 	(rs6000_rtx_costs): Use mask_operand and reg_or_add_cint_operand and
+ 	reg_or_sub_cint_operand instead of *64_* variants.
+ 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Use mask_operand
+ 	instead of mask64_operand.
+ 	* config/rs6000/rs6000.md: Use mask_operand and and_operand instead
+ 	of *64_* variants.
+ 	(FP): New.
+ 	(add_op2): Delete.
+ 	(add<mode>3): Use reg_or_add_cint_operand.
+ 	(sub_op2): Delete.
+ 	(sub<mode>3): Use reg_or_sub_cint_operand.
+ 	(udiv<mode>3, div<mode>3, div<mode>3_no_mq, mod<mode>3,
+ 	mov<mode>_internal2, mov<mode>, cmp<mode>, cmp<mode>,
+ 	cmp<mode>_internal1, indirect_jump<mode>, ctr<mode>,
+ 	ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
+ 	ctr<mode>_internal6, save_fpregs_<mode>, return_internal_<mode>,
+ 	return_and_restore_fpregs_<mode>, eh_set_lr_<mode>,
+ 	various unnamed patterns): New.
+ 	(udivsi3, divsi3, divsi3_no_mq, modsi3, movsi_internal2, movsi,
+ 	cmpsi, cmpsi_internal1, indirect_jumpsi, ctrsi, ctrsi_internal1,
+ 	ctrsi_internal2, ctrsi_internal5, ctrsi_internal6, save_fpregs_si,
+ 	return_internal_si, return_and_restore_fpregs_si, eh_set_lr_si,
+ 	udivdi3, divdi3, divdi3_no_mq, moddi3, movdi_internal2, movdi,
+ 	cmpdi, cmpdi_internal1, indirect_jumpdi, ctrdi, ctrdi_internal1,
+ 	ctrdi_internal2, ctrdi_internal5, ctrdi_internal6, save_fpregs_di,
+ 	return_internal_di, return_and_restore_fpregs_di, eh_set_lr_di,
+ 	movhi, movqi, cmpsf, cmpdf, cmptf, various unnamed patterns):
+ 	Delete.
+ 
+ 2005-06-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* rtl.h (to_rtx_code): Remove.
+ 	* machmode.h (to_machine_mode): Likewise.
+ 	* read-rtl.c (apply_mode_macro): Replace to_machine_mode with
+ 	explicit cast.
+ 	(apply_mode_maps): Likewise.
+ 	(read_rtx_1): Likewise.
+ 	(apply_code_macro): Replace to to_rtx_code with explicit cast.
+ 	(check_code_macro): Likewise.
+ 	(read_rtx_1): Likewise.
+ 
+ 2005-06-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-typeck.c (convert_for_assignment): Avoid checking
+ 	OPT_Wc___compat, as it is always true.
+ 
+ 2005-06-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (eq<mode>_compare): Restrict to Pmode.
+ 
+ 2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/22005
+ 	Fix PR tree-optimization/22025
+ 	
+ 	* tree-ssa-structalias.c (struct variable_info): Add has_union
+ 	member.
+ 	(create_variable_info_for):  Mark variables containing unions.
+ 	Don't sort the field stack if notokay is true.
+ 	(find_what_p_points_to): Convert variables containing unions back
+ 	to their SFT's if necessary.
+ 	
+ 2005-06-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
+ 	is an INTEGER_CST before calling int_cst_value.
+ 
+ 2005-06-10  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/21981
+ 	* config/i386/i386.c (ix86_function_value_regno_p): Return true
+ 	for FIRST_MMX_REG if TARGET_MMX.
+ 	(ix86_return_in_memory): Return 1 for MMX/3dNow vectors. Delete
+ 	wrong comment.
+ 	(ix86_struct_value_rtx): Emit warning for MMX ABI violations.
+ 	(ix86_value_regno): Return FIRST_MMX_REG for MMX vector modes.
+ 
+ 2005-06-10  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (replace_uses_equiv_to_x_with_y): Check step
+ 	and access function against chrec_dont_know.
+ 	  
+ 2005-06-10  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (replace_uses_of_x_with_y): Renamed and rewritten
+ 	slightly.
+ 	(exit_phi_for_loop_p): New function.
+ 	(can_put_in_inner_loop): Ditto.
+ 	(can_convert_to_perfect_nest): Ditto.
+ 	(perfect_nestify): Create iv with right type.
+ 	Rewrite statements in correct order.	
+ 
+ 2005-06-10  Keith Besaw  <kbesaw@us.ibm.com>
+ 
+ 	* tree-ssa-alias.c (new_type_alias): Use existing type
+ 	tag if VAR has just one in its may_aliases list.
+ 
+ 2005-06-10  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* rs6000/predicates.md (scc_operand): New.
+ 	* rs6000/rs6000.md : Use scc_operand for eq:SI compares.
+ 
+ 2005-06-10  Dorit Nuzman  <dorit@il.ibm.com>
+ 
+ 	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
+ 	dependence-distance modulo VF is 0 are recorded in the 
+ 	SAME_ALIGN_REFs VEC in each DR.
+ 	(vect_enhance_data_refs_alignment): Avoid 80 column overflow. The
+ 	alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the
+ 	DR we want to peel for, is set to 0.
+ 	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout.
+ 	* tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs
+ 	VEC.
+ 	* tree-vectorizer.h (dr_p): New type. Defined to use the VEC API.
+ 	(_stmt_vec_info): Added new field same_align_refs.
+ 	(STMT_VINFO_SAME_ALIGN_REFS): New macro.
+ 
+ 2005-06-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h (VEC_safe_grow): Append MEM_STAT_INFO.
+ 
+ 2005-06-10  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux.h (NO_PROFILE_COUNTERS): Define.
+ 	* config/rs6000/linux64.h (NO_PROFILE_COUNTERS): Define as 1.
+ 	* config/rs6000/rs6000.c (output_function_profiler): Obey
+ 	NO_PROFILE_COUNTERS.  Handle TARGET_SECURE_PLT.  Use "bcl 20,31"
+ 	for -fPIC.  Delete save_lr and substitute its value into strings.
+ 
+ 2005-06-09  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/i386/i386.c (optimization_options):  Make -fno-math-errno
+ 	the default on Darwin.
+ 	* config/rs6000/rs6000.c (optimization_options):  Ditto.
+ 	* doc/invoke.texi (-fno-math-errno): Document.
+ 
+ 2005-06-09  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
+ 	Change to TARGET_INVALID_WITHIN_DOLOOP.
+ 
+ 2005-06-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (eq): Convert to define_insn_and_split.
+ 	* config/rs6000/predicates.md (scc_eq_operand): New.
+ 
+ 2005-06-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (mextr_rl): Set buffer size properly.
+ 	(*mextr_lr): Likewise.
+ 
+ 2005-06-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR c/21759
+ 	* c.opt (Wc++-compat): New.
+ 	* doc/invoke.texi (-Wc++-compat): Document.
+ 	* c-typeck.c (convert_for_assignment): Check for implicit
+ 	conversion void* -> T*.
+ 
+ 2005-06-09  Gabriel Dos Reis  <gdr@integrable-solutions.edu>
+ 
+ 	* machmode.h (to_machine_mode): New.
+ 	* rtl.h (to_rtx_code): Likewise.
+ 	* read-rtl.c (apply_mode_macro): Convert mode to machine_mode.
+ 	(print_c_condition): Convert return value of htab_find().
+ 	(apply_code_macro): Add explicit cast when convertin to enums.
+ 	(apply_mode_maps): Likewise.
+ 	(check_code_macro): Likewise.
+ 	(read_rtx_1): Likewise.
+ 
+ 2005-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
+ 	Use SCALAR_FLOAT_MODE_P.
+ 	* config/ia64/vect.md (vcondv2sf): Remove code check on comparison.
+ 	(fselect): Rename from fpcmp; use %F.
+ 	(fpcmp): New.
+ 
+ 2005-06-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize
+ 	local statics when doing unit-at-a-time.
+ 	(cgraph_varpool_assemble_pending_decls): Output debug info.
+ 	* dwarf2out.c (decls_for_scope): Skip local statics.
+ 	(dwarf2out_decl): Handle local statics.
+ 	* passes.c (rest_of_decl_compilation): Do not differentiate
+ 	local and global statics in unit-at-a-time.
+ 	* tree-inline.c (remap_decls): Put local static into
+ 	unexpanded_vars_list rather than introducing duplicated VAR_DECL
+ 	node.
+ 
+ 2005-06-09  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Fix
+ 	prototype.
+ 
+ 2005-06-08  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
+ 	* tree-flow.h (find_what_p_points_to): Add prototype.
+ 	(push_fields_onto_fieldstack): Ditto.
+ 	(sort_fieldstack): Ditto.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_build_pta and pass_del_pta.
+ 	* tree-pass.h (pass_build_pta): New structure.
+ 	(pass_del_pta): Ditto.
+ 	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): Disambiguate
+ 	using new alias analyzer.
+ 	(push_fields_onto_fieldstack): Removed from here.
+ 	(bitpos_of_field): Ditto.
+ 	(fieldoff_compare): Ditto.
+ 	* tree-ssa-structalias.c: New file.
+ 	* tree-ssa-structalias.h: Ditto.
+ 
+ 2005-06-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF
+ 	too.
+ 
+ 2005-06-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (enum bfin_builtins): Moved here from...
+ 	* config/bfin/bfin.h (enum bfin_builtins): ... here.
+ 
+ 2005-06-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* target.h (insn_valid_within_doloop): Rename into
+ 	"invalid_within_doloop".  Change return type to "const char *".
+ 	Update Comment.
+ 	* targhooks.h (default_insn_valid_within_doloop): Rename into
+ 	"default_invalid_within_doloop". 
+ 	* targhooks.c (default_insn_valid_within_doloop): Likewise.
+ 	Update Comment.
+ 	* target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
+ 	into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
+ 	"default_invalid_within_doloop".
+ 	* hooks.c (hook_constcharptr_rtx_null): New function.
+ 	(hook_bool_rtx_true): Remove.
+ 	* hooks.h (hook_constcharptr_rtx_null): Declare.
+ 	(hook_bool_rtx_true): Remove.
+ 	* loop-doloop.c (doloop_valid_p): Temporarily store return value of
+ 	"invalid_within_doloop" and print error message if non-null.
+ 	Update Comment.
+ 	* doc/tm.texi: Update documentation.
+ 	* config/s390/s390.c: Adjust to new hook name and new default hook.
+ 	* config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
+ 	into "rs6000_invalid_within_doloop".
+ 	(rs6000_invalid_within_doloop): Change return type to "static const
+ 	char *" and replace return values.  Update Comment.
+ 
+ 2005-06-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.opt (mlong-calls): New.
+ 	* config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF
+ 	if TARGET_LONG_CALLS.
+ 
+ 2005-06-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/20610
+ 	* tree.h (DECL_COMPLEX_GIMPLE_REG_P): New.
+ 	(struct tree_decl): Add gimple_reg_flag.
+ 	* integrate.c (copy_decl_for_inlining): Copy it.
+ 	* gimplify.c (internal_get_tmp_var): Set it.
+ 	(gimplify_bind_expr): Likewise.
+ 	(gimplify_function_tree): Likewise.
+ 	(gimplify_modify_expr_complex_part): New.
+ 	(gimplify_modify_expr): Use it.
+ 	* tree-gimple.c (is_gimple_reg_type): Allow complex.
+ 	(is_gimple_reg): Allow complex with DECL_COMPLEX_GIMPLE_REG_P set.
+ 
+ 	* tree-complex.c (complex_lattice_t): New.
+ 	(complex_lattice_values, complex_variable_components): New.
+ 	(some_nonzerop, find_lattice_value, is_complex_reg,
+ 	init_parameter_lattice_values, init_dont_simulate_again, 
+ 	complex_visit_stmt, complex_visit_phi, create_components,
+ 	update_complex_components, update_parameter_components, 
+ 	update_phi_components, update_all_vops, expand_complex_move): New.
+ 	(extract_component): Handle INDIRECT_REF, COMPONENT_REF, ARRAY_REF,
+ 	SSA_NAME.
+ 	(update_complex_assignment): Use update_complex_components;
+ 	handle updates of return_expr properly.
+ 	(expand_complex_addition): Use complex lattice values.
+ 	(expand_complex_multiplication): Likewise.
+ 	(expand_complex_division): Likewise.
+ 	(expand_complex_libcall): Use update_complex_components.
+ 	(expand_complex_comparison): Use update_stmt.
+ 	(expand_complex_operations_1): Use expand_complex_move, retrieve
+ 	lattice values.
+ 	(tree_lower_complex): Compute lattice values.
+ 	(tree_lower_complex_O0): Duplicate from tree_lower_complex.
+ 	(pass_lower_complex_O0): Rename from pass_lower_complex.
+ 	(pass_lower_complex, gate_no_optimization): New.
+ 	* tree-optimize.c (init_tree_optimization_passes): Update for
+ 	complex pass changes.
+ 	* tree-pass.h (pass_lower_complex_O0): Declare.
+ 
+ 2005-06-08  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/darwin.c (darwin_binds_local_p):  New.
+ 	* config/darwin-protos.h (darwin_binds_local_p):  Declare it.
+ 	* config/i386/i386.c (TARGET_BINDS_LOCAL_P):  Use it for TARGET_MACHO.
+ 	* config/rs6000/rs6000.c (rs6000_binds_local_p):  Remove.
+ 	(TARGET_BINDS_LOCAL_P):  Change it to darwin_binds_local_p.
+ 
+ 2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h: Remove rs6000_long_double_size_string,
+ 	rs6000_isel, rs6000_spe, rs6000_alignment_string,
+ 	rs6000_sched_restricted_insns_priority_str,
+ 	rs6000_sched_restricted_insns_priority, rs6000_abi_string.
+ 
+ 2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER
+ 	instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters.
+ 	* tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost,
+ 	multiplier_allowed_in_address_p, get_address_cost): Ditto.
+ 
+ 2005-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (NO_PROFILE_COUNTERS): New.
+ 	* config/ia64/ia64.c (ia64_output_function_profiler): Honor it.
+ 	Emit out3 load right after alloc.
+ 
+ 2005-06-08  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+ 	rs6000_explicit_options.
+ 
+ 2005-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (FUNCTION_PROFILER): Move implementation ...
+ 	* config/ia64/ia64.c (ia64_output_function_profiler): ... here; add
+ 	unwind markup.
+ 	* config/ia64/ia64-protos.h (ia64_output_function_profiler): Declare.
+ 
+ 2005-06-08  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/sol2-c.c (cmn_err_char_table): Allow width for %b
+ 	formats.
+ 
+ 2005-06-08  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR target/20666
+ 	* config/sparc/sparc.c (sparc_fold_builtin): New function
+ 	(sparc_vis_mul8x16): New function.
+ 	(sparc_handle_vis_mul8x16): New function.
+ 	(TARGET_FOLD_BUILTIN): Define to sparc_fold_builtin.
+ 
+ 2005-06-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (call_indirect_nonlocal_aix32): Prefer
+ 	CTR to LR.
+ 	(call_indirect_nonlocal_aix64): Same.
+ 	(call_value_indirect_nonlocal_aix32): Same.
+ 	(call_value_indirect_nonlocal_aix64): Same.
+ 
+ 	PR target/10588
+ 	(eq): Use CLZ splitter for compare with zero.
+ 
+ 2005-06-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (bfin_return_in_memory): Simplify; return
+ 	everything larger than 8 bytes in memory.
+ 
+ 	* config/bfin/bfin.h (enum bfin_builtins): New.
+ 	* config/bfin/bfin.md (UNSPEC_VOLATILE_CSYNC, UNSPEC_VOLATILE_SSYNC):
+ 	New constants.
+ 	(csync, ssync): New insn patterns.
+ 	* config/bfin/bfin.c (bfin_init_builtins, bfin_expand_builtin):
+ 	New functions.
+ 	(def_builtin): New macro.
+ 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+ 
+ 	From Jie Zhang  <jie.zhang@analog.com>
+ 	* config/bfin/bfin.h (ASM_OUTPUT_ALIGN): Gas now emulates the
+ 	behavior of the native assembler in VDSP. So change accordingly.
+ 	
+ 2005-06-08  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-data-ref.c (compute_estimated_nb_iterations,
+ 	analyze_array_indexes, compute_overlap_steps_for_affine_1_2,
+ 	analyze_subscript_affine_affine, find_data_references_in_loop):
+ 	Fixed to use chrec_contains_undetermined to test the values of
+ 	loop->estimated_nb_iterations.
+ 	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
+ 	Compute the estimation only when loop->estimated_nb_iterations
+ 	has not yet been initialized.
+ 	(convert_step_widening, scev_probably_wraps_p): Add a call to
+ 	estimate_numbers_of_iterations_loop.
+ 	* tree-vrp.c (execute_vrp): Don't call estimate_numbers_of_iterations.
+ 
+ 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR debug/21946
+ 	* dwarf2out.c (add_loc_descr_op_piece): Move to the
+ 	DWARF2_DEBUGGING_INFO section.
+ 
+ 2005-06-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21721
+ 	* config/ia64/ia64.c (emit_predicate_relation_info): Skip p0.
+ 
+ 2005-06-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/21889
+ 	* target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel.
+ 	* target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro.
+ 	(TARGET_ASM_OUT): Add it.
+ 	* doc/tm.texi (Debugging Info): Document it.
+ 	* dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>:
+ 	Test it instead of ASM_OUTPUT_DWARF_DTPREL.
+ 	(loc_descriptor_from_tree_1) <VAR_DECL>: Likewise.
+ 	* system.h: Poison ASM_OUTPUT_DWARF_DTPREL.
+ 	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete.
+ 	* config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused.
+ 	(gen_inlined_tls_plt): Remove unused variable MEM.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel.
+ 	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 	* config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete.
+ 	* config/i386/i386.c (i386_output_dwarf_dtprel): Make static and
+ 	unused.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel.
+ 	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete.
+ 	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and
+ 	unused.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete.
+ 	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and
+ 	unused.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel
+ 	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete.
+ 	* config/s390/s390.c (s390_output_dwarf_dtprel): Make static and
+ 	unused.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel.
+ 	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 	* config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0.
+ 	(TARGET_GNU_TLS): Define to 1.
+ 	* config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete.
+ 	* config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and
+ 	unused.
+ 	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel
+ 	if TARGET_GNU_TLS only.
+ 	* config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
+ 
+ 	* config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last.
+ 	(sparc-*-solaris2*): Likewise on Solaris 7 and up.
+ 
+ 2005-06-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/i386/i386.md (movqi_1):  Fix case where source
+ 	is memory and destination EDI.
+ 
+ 2005-06-08  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* config/c4x/c4x.h (PREDICATE_CODES): Remove mem_operand.
+ 
+ 2005-06-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* system.h: Poison EXTRA_CC_MODES.
+ 	* config/frv/frv.h (SELECT_CC_MODE): Rewrite comment.
+ 	* config/ia64/ia64.h (SELECT_CC_MODE): Ditto.
+ 	* doc/md.texi (Jump Patterns): Replace reference to
+ 	EXTRA_CC_MODES with machine-modes.def.
+ 	* doc/rtl.texi (Machine Modes): Ditto.
+ 
+ 2005-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* varasm.c (initialize_cold_section_name): Fix alloca buffer overflow.
+ 	(assemble_start_function): Fix strcmp confusion.
+ 
+ 2005-06-07  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.h (enum ix86_entity): New.
+ 	(enum ix86_stack_slot): New.
+ 	(OPTIMIZE_MODE_SWITCHING): Redefine to use
+ 	ix86_optimize_mode_switching[] array.
+ 	(NUM_MODES_FOR_MODE_SWITCHING): Redefine for 4 entities.
+ 	(MODE_NEEDED): Use ix86_mode_needed() function.
+ 	(EMIT_MODE_SET): Redefine for changed emit_i387_cw_initialization ()
+ 	function.
+ 	(struct machine_function): Use optimize_mode_switching[] array.
+ 
+ 	* config/i386/i386.c (MAX_386_STACK_LOCALS): Remove.
+ 	(ix86_mode_needed): New function.
+ 	(emit_i387_cw_initialization): Cleanup. Use mode to calculate
+ 	correct stack positions for stored control words.
+ 	(assign_386_stack_local): Use enum ix86_stack_slot. Change assert.
+ 	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR]: Change constant to
+ 	SLOT_TEMP.
+ 	[IX86_BUILTIN_STMXCSR]: Same.
+ 
+ 	* config/i386/i386-protos.h (assign_stack_local): Change prototype.
+ 	(emit_i387_cw_initialization): Change prototype.
+ 	(ix86_mode_needed): New prototype.
+ 
+ 	* config/i386/i386.md (i387_cw attribute): Change order of elements.
+ 	(truncdfsf2, truncxfsf2, truncxfdf2, fix_trunc<mode>_fisttp_i387_1)
+ 	(*fix_trunc<mode>_i387_1, lrint<mode>2, *fist<mode>2_floor_1)
+ 	(*fist<mode>2_ceil_1): Change constant in call to
+ 	assign_386_stack_local to SLOT_TEMP.
+ 	(*fix_trunc<mode>_i387_1): Change constant in call to
+ 	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
+ 	Use new ix86_optimize_mode_switching[] array.
+ 	(frndintxf2_floor, *fist<mode>2_floor_1): Change constants in call to
+ 	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_FLOOR.
+ 	Use new ix86_optimize_mode_switching[] array.
+ 	(frndintxf2_ceil, *fist<mode>2_ceil_1):  Change constants in call to
+ 	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_CEIL.
+ 	Use new ix86_optimize_mode_switching[] array.
+ 	(frndintxf2_trunc): Change constants in call to
+ 	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
+ 	Use new ix86_optimize_mode_switching[] array.
+ 	(frndintxf2_mask_pm): Change constants in call to
+ 	assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_MASK_PM.
+ 	Use new ix86_optimize_mode_switching[] array.
+ 
+ 	(define_peephole2): Change constant from 17 to FLAGS_REG;
+ 
+ 2005-06-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/21528
+ 	* rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.
+ 
+ 2005-06-07  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* tree-nested.c (finalize_nesting_tree_1):  Disable
+ 	warn_padded around layout_type call.
+ 
+ 2005-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (rewrite_use_outer): Unshare the expression
+ 	before emiting it.
+ 
+ 2005-06-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/predicates.md: Revert previous patch.
+ 
+ 2005-06-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/21850
+ 	* tree.c (get_unwidened): Stop at NOP_EXPR/CONVERT_EXPR that convert
+ 	from vector types.
+ 
+ 2005-06-07  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-threadupdate.c (struct thread_stats_d): Declare.
+ 	(thread_stats): New local variable.
+ 	(redirect_edges): Increment count of threaded edges.
+ 	(thread_through_all_blocks): Initialize thread_stats.
+ 	Display number of threaded jumps if TDF_STATS is enabled.
+ 
+ 2005-06-07  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* sbitmap.h (sbitmap_iter_init): Consistently treat bit_num as
+ 	the current bit index with no modulo.
+ 
+ 2005-06-07  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	PR 18403 and meta PR 21861.
+ 	* Makefile.in (tree-chrec.o): Depend on CFGLOOP_H and TREE_FLOW_H.
+ 	* tree-chrec.c: Include cfgloop.h and tree-flow.h.
+ 	(evolution_function_is_invariant_rec_p,
+ 	evolution_function_is_invariant_p): New.
+ 	(chrec_convert): Use an extra parameter AT_STMT for refining the
+ 	information that is passed down to convert_step.  Integrate the 
+ 	code that was in count_ev_in_wider_type.
+ 	* tree-chrec.h (count_ev_in_wider_type): Removed.
+ 	(chrec_convert): Modify its declaration.
+ 	(evolution_function_is_invariant_p): Declared.
+ 	(evolution_function_is_affine_p): Use evolution_function_is_invariant_p.
+ 	* tree-flow.h (can_count_iv_in_wider_type): Renamed convert_step.
+ 	(scev_probably_wraps_p): Declared.
+ 	* tree-scalar-evolution.c (count_ev_in_wider_type): Removed.
+ 	(follow_ssa_edge_in_rhs, interpret_rhs_modify_expr):
+ 	Use an extra parameter AT_STMT for refining the information that is
+ 	passed down to convert_step.
+ 	(follow_ssa_edge_inner_loop_phi, follow_ssa_edge,
+ 	analyze_scalar_evolution_1): Initialize AT_STMT with the current
+ 	analyzed statement.
+ 	(instantiate_parameters_1): Don't know yet how to initialize AT_STMT.
+ 	* tree-ssa-loop-ivopts.c (idx_find_step): Update the use of 
+ 	can_count_iv_in_wider_type to use convert_step.
+ 	* tree-ssa-loop-niter.c (can_count_iv_in_wider_type_bound): Move 
+ 	code that is independent of the loop over the known iteration
+ 	bounds to convert_step_widening, the rest is moved to
+ 	proved_non_wrapping_p.
+ 	(scev_probably_wraps_p): New.
+ 	(can_count_iv_in_wider_type): Renamed convert_step.
+ 	* tree-vrp.c (adjust_range_with_scev): Take an extra AT_STMT parameter.
+ 	Use scev_probably_wraps_p for computing init_is_max.
+ 	(vrp_visit_assignment): Pass the current analyzed statement to 
+ 	adjust_range_with_scev.
+ 	(execute_vrp): Call estimate_numbers_of_iterations for refining the 
+ 	information provided by scev analyzer.
+ 
+ 2005-06-07  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/predicates.md (sleu_operand): Use
+ 	IN_RANGE to specify range of operand.
+ 
+ 2005-06-07  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/21847
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With
+ 	-fnon-call-exceptions, also mark statements inherently
+ 	necessary if they may throw.
+ 
+ 2005-06-07  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.
+ 	("type"): Add "sem" to 'type' attribute.
+ 	("memory_barrier", "*memory_barrier", "sync_compare_and_swapdi",
+ 	"sync_compare_and_swapsi", "sync_compare_and_swap_ccdi",
+ 	"sync_compare_and_swap_ccsi", "*sync_compare_and_swap_ccdi",
+ 	"*sync_compare_and_swap_ccsi"): New patterns.
+ 	* config/s390/2064.md: ("z_sem"): New insn_reservation.
+ 	* config/s390/2084.md: ("x_sem"): New insn_reservation.
+ 	* config/s390/s390.c: (s390_compare_emitted): New global variable.
+ 	(s390_emit_compare): Do not emit comparison again after cas.
+ 	* config/s390/s390.h (s390_compare_emitted): Declare.
+ 
+ 2005-06-07  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* sbitmap.h (sbitmap_iterator, sbitmap_iter_init,
+ 	sbitmap_iter_cond, sbitmap_iter_next): New.
+ 	* bt-load.c, cfganal.c, combine.c, ddg.c, flow.c,
+ 	modulo-sched.c, sbitmap.c, sched-rgn.c, tree-into-ssa.c,
+ 	tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Update
+ 	uses of EXECUTE_IF_SET_IN_SBITMAP to the new style.
+ 
+ 2005-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-address.c: New file.
+ 	* Makefile.in (tree-ssa-address.o): Add.
+ 	* expr.c (expand_expr_real_1): Do not handle REF_ORIGINAL on
+ 	INDIRECT_REFs.  Handle TARGET_MEM_REFs.
+ 	* tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REFs.
+ 	* tree-flow.h (struct mem_address): New.
+ 	(struct affine_tree_combination): Moved from tree-ssa-loop-ivopts.c.
+ 	(create_mem_ref, addr_for_mem_ref, get_address_description,
+ 	maybe_fold_tmr, multiplier_allowed_in_address_p,
+ 	multiply_by_cost):  Declare.
+ 	* tree-mudflap.c (mf_xform_derefs_1): Handle TARGET_MEM_REFs.
+ 	* tree-pretty-print.c (dump_generic_node): Ditto.
+ 	* tree-ssa-loop-im.c (for_each_index): Ditto.
+ 	* tree-ssa-loop-ivopts.c (may_be_unaligned_p,
+ 	find_interesting_uses_address): Ditto.
+ 	(rewrite_address_base, build_addr_strip_iref): Removed.
+ 	(struct affine_tree_combination): Moved to tree-flow.h.
+ 	(get_ref_tag, copy_ref_info): New functions.
+ 	(rewrite_use_address): Produce TARGET_MEM_REFs.
+ 	(tree_ssa_iv_optimize): Do not call update_ssa
+ 	and rewrite_into_loop_closed_ssa.
+ 	(tree_to_aff_combination): Use build_fold_addr_expr instead of
+ 	build_addr_strip_iref.
+ 	(unshare_aff_combination): New function.
+ 	(fold_affine_sum): Removed.
+ 	(get_computation_at): Use get_computation_aff.  Unshare the result.
+ 	(get_computation_aff, multiplier_allowed_in_address_p): New function.
+ 	(multiply_by_cost): Exported.
+ 	(get_address_cost): Use multiplier_allowed_in_address_p.
+ 	* tree-ssa-operands.c (get_tmr_operands): New function.
+ 	(get_expr_operands): Handle TARGET_MEM_REFs.
+ 	* tree.c (copy_node_stat): Copy annotations for TARGET_MEM_REFs.
+ 	(build): Handle 7 arguments.
+ 	(build7_stat): New function.
+ 	* tree.def (TARGET_MEM_DEF): New.
+ 	* tree.h (REF_ORIGINAL): Removed.
+ 	(TMR_SYMBOL, TMR_BASE, TMR_INDEX, TMR_STEP, TMR_OFFSET, TMR_ORIGINAL,
+ 	TMR_TAG, build7): New macros.
+ 	(build7_stat, tree_mem_ref_addr, copy_mem_ref_info): Declare.
+ 	* tree-ssa-ccp.c (fold_stmt_r): Call maybe_fold_tmr.
+ 	* doc/c-tree.texi: Document TARGET_MEM_REF.
+ 	* doc/tree-ssa.texi: Add TARGET_MEM_REF to gimple grammar.
+ 
+ 2005-06-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR debug/21946
+ 	* dwarf2out.c (add_loc_descr_op_piece): New function.
+ 	(multiple_reg_loc_descriptor, concat_loc_descriptor,
+ 	loc_descriptor): Use it.
+ 	* var-tracking.c: Include regs.h and expr.h.
+ 	(emit_note_insn_var_location): Skip over pieces where offset
+ 	is smaller than previous offset plus previous piece mode size.
+ 	Optimize adjacent hard registers or memory locations.
+ 	* Makefile.in (var-tracking.o): Depend on $(REGS_H) and $(EXPR_H).
+ 
+ 2005-06-07  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* c-typeck.c (c_finish_if_stmt): Use void_type_node as type
+ 	for COND_EXPR.
+ 	* gimplify.c (gimplify_cond_expr): No need to fix up the
+ 	type of COND_EXPRs.
+ 
+ 2005-06-07  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Fix
+ 	comments.
+ 
+ 2005-06-07  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/host-darwin.c (segv_handler): Widen the possible
+ 	'stwux' instructions that are considered to be stack decrements.
+ 
+ 	* rtlanal.c (subreg_offset_representable_p): Handle objects
+ 	with holes.
+ 
+ 2005-06-06  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* mode-switching.c (optimize_mode_switching): Fix n_exprs parameter
+ 	in call to pre_edge_lcm.
+ 
+ 2005-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux-unwind.h (SH_DWARF_FRAME_XD0): Remove for SH5.
+ 	(SH_DWARF_FRAME_PR, SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACL)
+ 	(SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_PC, SH_DWARF_FRAME_FPUL):
+ 	Likewise.
+ 	(SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_FPSCR): Define to the correct
+ 	dwarf register number for SHmedia.
+ 	(shmedia_fallback_frame_state): New.
+ 	(MD_FALLBACK_FRAME_STATE_FOR): Define to it for SH5.
+ 
+ 	* config/sh/linux.h (FUNCTION_PROFILER): Provide SHMEDIA version.
+ 
+ 2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* c-lex.c (lex_string): Use XOBFINISH.
+ 	* collect2.c (extract_string, dump_file): Likewise.
+ 	* dbxout.c (dbxout_finish_complex_stabs): Likewise.
+ 	* gcc.c (init_spec, build_search_list, convert_filename, 
+ 	set_collect_gcc_options, do_spec_2, do_spec_1, main): Likewise.
+ 	* genpreds.c (write_predicate_subfunction): Likewise.
+ 	* genflags.c (main): Likewise.
+ 	* read-rtl.c (mode_attr_index, apply_macro_to_string, 
+ 	join_c_conditions, read_quoted_string, read_braced_string, 
+ 	read_rtx_1): Likewise.
+ 	* stringpool.c (ggc_alloc_string): Likewise.
+ 	* tlink.c (obstack_fgets, recompile_files): Likewise.
+ 
+ 2005-06-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* intl.h (G_): New macro.
+ 	* rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
+ 	instead of msgid for argument name.
+ 	* tree-ssa.c (warn_uninit): Likewise.
+ 	* c-parser.c (c_parser_error): Likewise.
+ 	* config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
+ 	* config/darwin-c.c (BAD): Likewise.
+ 	* config/c4x/c4x-c.c (BAD): Likewise.
+ 	* c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
+ 	* c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
+ 	* c-common.c (c_parse_error): Likewise.
+ 	* diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
+ 	warning0, pedwarn, error, sorry, fatal_error, internal_error):
+ 	Likewise.
+ 	(fnotice): Use cmsgid instead of msgid for argument name.
+ 	* gcov.c (fnotice): Likewise.
+ 	* protoize.c (notice): Likewise.
+ 	* final.c (output_operand_lossage): Likewise.
+ 	* gcc.c (fatal, notice): Likewise.
+ 	(error): Use gmsgid instead of msgid for argument name.
+ 	* collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
+ 	of msgid for argument name.
+ 	(error): Use gmsgid instead of msgid for argument name.
+ 	* c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
+ 	instead of N_().
+ 	* c-typeck.c (readonly_error, convert_for_assignment): Likewise.
+ 	* tree-inline.c (inline_forbidden_p_1): Likewise.
+ 	* ABOUT-GCC-NLS: Require gettext 0.14.5 or later.  Mention the new
+ 	conventions for marking translations.
+ 	* doc/install.texi: Mention gettext 0.14.5 or later requirement.
+ 
+ 	* tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
+ 	build2.
+ 
+ 	* fold-const.c (operand_equal_p): Don't return 1, if element
+ 	chains for 2 VECTOR_CSTs are not the same length.
+ 
+ 	PR regression/21897
+ 	* fold-const.c (fold_ternary) <case BIT_FIELD_REF>: Don't crash if
+ 	not all VECTOR_CST elements are given.
+ 
+ 	* combine.c (try_combine): Use hard_regno_nregs array instead of
+ 	HARD_REGNO_NREGS macro.
+ 	* config/rs6000/rs6000.c (rs6000_split_multireg_move,
+ 	rs6000_register_move_cost, rs6000_memory_move_cost): Likewise.
+ 	* config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
+ 
+ 2005-06-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-reassoc.o: New.
+ 	(OBJS-common): Add tree-ssa-reassoc.o
+ 	* timevar.def: Add TV_TREE_REASSOC
+ 	* tree-optimize.c (pass_reassoc): Add call.
+ 	* tree-pass.h (pass_reassoc): Add.
+ 	* tree-ssa-reassoc.c: New file.
+ 
+ 2005-06-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	target/21927
+ 	* expr.c (do_store_flag): Remove check for non-negative BRANCH_COST.
+ 
+ 2005-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard with
+ 	HAVE_GAS_MAX_SKIP_P2ALIGN.
+ 	(HAVE_AS_DWARF2_DEBUG_LINE): Remove.
+ 
+ 2005-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* Makefile.in (mips-tfile.o): Add $(srcdir)/../include prefix to
+ 	getopt.h dependency.
+ 	(mips-tdump.o): Likewise.
+ 
+ 2005-06-06  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (tree_predict_edge): Don't drop useless predictions;
+ 	check that it is not called too late in the game.
+ 	(gate_estimate_probability): New gate.
+ 	(pass_profile): Gate.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Do not drop
+ 	predictions; update CFG instead.
+ 	* cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.
+ 
+ 2005-06-06  Jie Zhang  <jie.zhang@analog.com>
+ 
+ 	* config.gcc (bfin*-uclinux*): New.
+ 	* config/bfin/uclinux.h: New file.
+ 
+ 2005-06-06  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/md.texi (Insn Splitting): Fix some wording.
+ 
+ 2005-06-05  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_swdivsf): New function.
+ 	(rs6000_emit_swdivdf): New function.
+ 	* config/rs6000/rs6000.md (fres): New pattern.
+ 	(divsf3): Add approximation through rs6000_emit_swdivsf.
+ 	(fred): New pattern.
+ 	(divdf3): Add approximation through rs6000_emit_swdivdf.
+ 	* config/rs6000/rs6000-protos.h (rs6000_emit_swdivsf): Declare.
+ 	(rs6000_emit_swdivdf): Declare.
+ 	* config/rs6000/rs6000.opt (mswdiv): New option.
+ 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document mswdiv.
+ 
+ 2005-06-05  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/21846
+ 	* tree-cfg.c (replace_uses_by): Update information stored at loops.
+ 	* tree-flow.h (substitute_in_loop_info): Declare.
+ 	* tree-scalar-evolution.c (initialize_scalar_evolutions_analyzer):
+ 	Ensure that chrec_dont_know and chrec_known have a type.
+ 	* tree-ssa-loop-niter.c (substitute_in_loop_info): New function.
+ 
+ 2005-06-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* config/i386/i386.c (x86_use_loop): Remove.
+ 	* config/i386/i386.h (x86_use_loop): Remove extern decl.
+ 	(TARGET_USE_LOOP): Remove.
+ 	* config/i386/i386.md (doloop_end, doloop_end_internal): Remove.
+ 	Also remove related define_splits.
+ 
+ 2005-06-05  Dorit Nuzman  <dorit@il.ibm.com>
+ 
+ 	* tree-flow.h (stmt_ann_d): Move aux to ...
+ 	(tree_ann_common_d): ... here.
+ 	* tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
+ 	move_computations_stmt, schedule_sm): Update references to
+ 	aux.
+ 	* tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
+ 	* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
+ 	call to set_stmt_info.
+ 	(vect_transform_loop): Likewise.
+ 	* tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info):
+ 	Likewise.
+ 
+ 	* tree-vect-analyze.c (vect_analyze_scalar_cycles): Made void instead of
+ 	bool.
+ 	(vect_mark_relevant): Takes two additional arguments - live_p and
+ 	relevant_p. Set RELEVANT_P and LIVE_P according to these arguments.
+ 	(vect_stmt_relevant_p): Differentiate between a live stmt and a
+ 	relevant stmt. Return two values = live_p and relevant_p.
+ 	(vect_mark_stmts_to_be_vectorized): Call vect_mark_relevant and
+ 	vect_stmt_relevant_p with additional arguments. Phis are no longer
+ 	put into the worklist (analyzed seperately in analyze_scalar_cycles).
+ 	(vect_determine_vectorization_factor): Also check for LIVE_P, because a
+ 	stmt that is marked as irrelevant and live, cause it's only used out
+ 	side the loop, may need to be vectorized (e.g. reduction).
+ 	(vect_analyze_operations): Examine phis. Call
+ 	vectorizable_live_operation for for LIVE_P stmts. Check if
+ 	need_to_vectorize.
+ 	(vect_analyze_scalar_cycles): Update documentation. Don't fail
+ 	vectorization - just classify the scalar cycles created by the loop
+ 	phis. Call vect_is_simple_reduction.
+ 	(vect_analyze_loop): Call to analyze_scalar_cycles moved earlier.
+ 	* tree-vect-transform.c (vect_create_index_for_vector_ref): Update
+ 	call to set_stmt_info.
+ 	(vect_get_vec_def_for_operand): Code reorganized - the code that
+ 	classifies the type of use was factored out to vect_is_simple_use.
+ 	(vectorizable_store, vect_is_simple_cond): Call vect_is_simple_use with
+ 	additional arguments.
+ 	(vectorizable_assignment): Likewise. Also make sure the stmt is relevant
+ 	and computes a loop_vec_def.
+ 	(vectorizable_operation, vectorizable_load, vectorizable_condition):
+ 	Likewise.
+ 	(vectorizable_live_operation): New.
+ 	(vect_transform_stmt): Handle LIVE_P stmts.
+ 	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new fields
+ 	STMT_VINFO_LIVE_P and STMT_VINFO_DEF_TYPE.
+ 	(new_loop_vec_info, destroy_loop_vec_info): Also handle phis.
+ 	(vect_is_simple_use): Determine the type of the def and return it
+ 	in a new function argument. Consider vect_reduction_def and
+ 	vect_induction_def, but for now these are not supported.
+ 	(vect_is_simple_reduction): New. Empty for now.
+ 	* tree-vectorizer.h (vect_def_type): New enum type.
+ 	(_stmt_vec_info): Added new fields - live and _stmt_vec_info.
+ 	(STMT_VINFO_LIVE_P, STMT_VINFO_DEF_TYPE): New accessor macros.
+ 	(vect_is_simple_use): New arguments added to function declaration.
+ 	(vect_is_simple_reduction): New function declaration.
+ 	(vectorizable_live_operation): New function declaration.
+ 
+ 	* tree-vect-analyze.c (vect_can_advance_ivs_p): Add debug printout.
+ 	(vect_can_advance_ivs_p): Likewise.
+ 	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Likewise.
+ 
+ 2005-06-05  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_rtx_costs): Remove unused variable.
+ 
+ 2005-06-05  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/21914
+ 	* config/mmix/mmix.md ("*movdicc_real_foldable")
+ 	("*movdfcc_real_foldable", "*bCC_foldable")
+ 	("*bCC_inverted_foldable"): Specify DImode for register being
+ 	compared.
+ 
+ 2005-06-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (struct block_info_def): Correct grammar typo.
+ 	(compensate_edge): Clean-up.  Perform as little work as possible
+ 	when src and dest stacks match.  Avoid modifying block_info.
+ 	Reorder and simplify assertion checks.  Avoid unnecessary copying
+ 	of regstack structure.
+ 	(convert_regs_1): Set the done flag here...
+ 	(convert_regs_2): ... instead of here.
+ 
+ 2005-06-04  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (no_global_regs_above): New.
+ 	(rs6000_emit_prologue):  Use it; cosmetic formatting fixes.
+ 	(rs6000_emit_epilogue):  Use it; cosmetic formatting fixes.
+ 	(rs6000_conditional_register_usage): Don't put Darwin PIC
+ 	register in global_regs.
+ 	(rs6000_stack_info):  Don't set lr_save_p just because Darwin 
+ 	PIC reg used.
+ 	(rs6000_emit_prologue):  Save LR in R0 around Darwin PIC setup,
+ 	if not done by lr_save_p.
+ 	* config/rs6000/rs6000.md (insnv1_internal1):  Back out 05-18 patch.
+ 	Use rotate instead of ashift.
+ 	(call_indirect_nonlocal_sysv):  Prefer CTR to LR.
+ 	(call_value_indirect_nonlocal_sysv):  Ditto.
+ 
+ 2005-06-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_reset_node): Break out from ...
+ 	(cgraph_finalize_function): ... here.
+ 	(cgraph_finalize_compilation_unit): Reset nodes where backend
+ 	removed the body.
+ 
+ 2005-06-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21888
+ 	* config/alpha/alpha.c (alpha_align_insns): Don't insert nops
+ 	until we've passed initial ldgp.
+ 
+ 2005-06-04  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfgexpand.c (expand_one_var): Use DECL_HAS_VALUE_EXPR_P.
+ 	* dwarf2out.c (loc_descriptor_from_tree_1): Ditto.
+ 	* expr.c (expand_var): Ditto.	
+ 	* function.c (gimplify_parameters): Use SET_DECL_VALUE_EXPR too.
+ 	* gimplify.c (gimplify_decl_expr): Ditto.
+ 	(gimplify_expr): Ditto.
+ 	* tree-mudflap.c (mf_decl_eligible_p): Use DECL_HAS_VALUE_EXPR_P.
+ 	* tree.c (value_expr_for_decl): New.
+ 	(print_value_expr_statistics): New.
+ 	(init_ttree): Init value_expr_for_decl.
+ 	(decl_value_expr_lookup): New.
+ 	(decl_value_expr_insert): Ditto.
+ 	(copy_node_stat): Copy DECL_VALUE_EXPR status.
+ 	* tree.h (DECL_VALUE_EXPR): Use hashtable.
+ 	(SET_DECL_VALUE_EXPR): New.
+ 	(DECL_HAS_VALUE_EXPR_P): New.
+ 
+ 2005-06-04  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* lcm.c: Move all mode-switching related functions from here...
+ 	* mode-switching.c: ...to this new file.
+ 	* doc/passes.texi: Update accordingly.
+ 
+ 	* basic-block.h (label_value_list): Remove extern decl.
+ 	* cfgrtl.c (label_value_list): Remove.
+ 	(can_delete_label_p): Don't look at it.
+ 	* cfgcleanup.c (cleanup_cfg): Don't free it.
+ 
+ 	* common.opt: Don't refer to non-existing flag_alias_check.
+ 
+ 2005-06-04  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
+ 
+ 2005-06-04  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* function.c (prologue, epilogue, sibcall_epilogue): Change
+ 	their types to VEC(int,heap)*.
+ 	(free_after_compilation): Free the three vectors above.
+ 	(init_function_for_compilation, record_insns, contains,
+ 	prologue_epilogue_contains, sibcall_epilogue_contains,
+ 	reposition_prologue_and_epilogue_notes): Use VEC instead of
+ 	VARRAY.  (init_function_once): Remove.
+ 	* function.h: Remove the prototype for init_function_once.
+ 	* toplev.c (backend_init): Don't call init_function_once.
+ 
+ 2005-06-04  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* predict.c (tree_predict_edge): Do not predict entry edge and
+ 	single succestor edge.
+ 
+ 2005-06-04  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21873
+ 	* c-typeck.c (push_init_level): Don't pop levels without braces if
+ 	implicit == 1.
+ 
+ 2005-06-03  Sebastian Pop  <pop@cri.ensmp.fr>
+ 	
+ 	* tree-data-ref.c (compute_self_dependence): New function.
+ 	(compute_all_dependences): Use it.
+ 
+ 2005-06-03  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-parser.c (c_parser_parms_declarator): Don't use chainon().
+ 	(c_parser_expr_list): Don't use chainon().
+ 
+ 	* config/darwin.h (LINK_SPEC): Pass -syslibroot to linker
+ 	when -isysroot passed.
+ 
+ 2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21879
+ 	* c-decl.c (start_function): Restore label_context_stack_se and
+ 	label_context_stack_vm  if returning with an error.
+ 
+ 2005-06-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	* configure.ac: Check declaration for asprintf, needed by
+ 	libiberty.h. 
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 
+ 2005-06-03  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-ssa-dom.c (record_edge_info): Use last_basic_block to
+ 	allocate info array.
+ 	* tree-vrp.c (extract_range_from_unary_expr): Set resulting
+ 	range to varying in cast expressions that change
+ 	TYPE_PRECISION.
+ 
+ 2005-06-03  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.opt: Add RejectNegative to divide-breaks and
+ 	divide-traps.
+ 
+ 2005-06-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (remove_predictions_associated_with_edge): Declare.
+ 	* cfg.c (remove_edge): Use it.
+ 	* predict.c (remove_predictions_associated_with_edge): New function.
+ 
+ 2005-06-03  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
+ 	Clear call_realy_used_regs[r2] when ABI_AIX.
+ 
+ 2005-06-03  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/21858
+ 	* fold-const.c (fold_binary): Fix type mismatches in folding
+ 	of comparisons.
+ 
+ 2005-06-03  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* cgraph.c, cgraphunit.c, config/mips/mips.c: Fix comment
+ 	typos.
+ 
+ 2005-06-03  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* collect2.c (maybe_unlink): Use unlink_if_ordinary.
+ 
+ 2005-06-02  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* reload1.c (reload): Revert my previous patch.
+ 
+ 2005-06-03  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/semi.h (ASM_SPEC): Fix typo passing -mfloat-abi to
+ 	assembler.
+ 
+ 2005-06-03  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	PR tree-optimization/21849
+ 	* tree-ssa-copy.c (dump_copy_of): Call sbitmap_zero.
+ 
+ 2005-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* Makefile.in (tree-vect-generic.o): New.
+ 	(OBJS-common, GTFILES, s-gtype): Add it.
+ 	* tree-complex.c (build_replicated_const, vector_inner_type,
+ 	vector_last_type, vector_last_nunits, build_word_mode_vector_type,
+ 	elem_op_func, tree_vec_extract, do_unop, do_binop, do_plus_minus,
+ 	do_negate, expand_vector_piecewise, expand_vector_parallel, 
+ 	expand_vector_addition, expand_vector_operation, 
+ 	type_for_widest_vector_mode, expand_vector_operations_1, 
+ 	gate_expand_vector_operations, expand_vector_operations, 
+ 	pass_lower_vector_ssa): Move to tree-vect-generic.c.
+ 	(tree_lower_complex): Rename from tree_lower_operations.
+ 	(pass_lower_complex): Rename from pass_pre_expand.
+ 	* tree-vect-generic.c: New file.
+ 	* tree-pass.h (pass_lower_complex): Rename from pass_pre_expand.
+ 	(pass_lower_vector): New.
+ 	* tree-optimize.c (init_tree_optimization_passes): Update to match.
+ 
+ 2005-06-02  Richard Henderson  <rth@redhat.com>
+ 
+ 	* modulo-sched.c (doloop_register_get): Protect against 
+ 	doloop_end not defined.
+ 
+ 2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* config/sh/sh.c (general_movsrc_operand,
+ 	general_movdst_operand, arith_reg_operand, arith_reg_dest,
+ 	logical_reg_operand, int_gpr_dest, fp_arith_reg_operand,
+ 	fp_arith_reg_dest, arith_operand, arith_reg_or_0_operand,
+ 	xor_operand, cmp_operand, logical_operand, and_operand,
+ 	fpscr_operand, fpul_operand, symbol_ref_operand,
+ 	commutative_float_operator, noncommutative_float_operator,
+ 	unary_float_operator, binary_float_operator,
+ 	binary_logical_operator, equality_comparison_operator,
+ 	greater_comparison_operator, less_comparison_operator,
+ 	shift_operator, logical_operator, target_reg_operand,
+ 	target_operand, mextr_bit_offset, extend_reg_operand,
+ 	trunc_hi_operand, extend_reg_or_0_operand, minuend_operand,
+ 	general_extend_operand, ua_address_operand,
+ 	cache_address_operand, inqhi_operand, sh_rep_vec, sh_1el_vec,
+ 	sh_const_vec, ua_offset, sh_register_operand, cmpsi_operand,
+ 	shift_count_reg_operand, shift_count_operand,
+ 	unaligned_load_operand): Move to ...
+ 	* config/sh/predicates.md: ... here.
+ 	* config/sh/sh.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
+ 	Remove.
+ 
+ 2005-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree.c (build_common_builtin_nodes): Fix the return type on
+ 	__builtin_memcmp.
+ 
+ 2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-loop-ivopts.c (build_addr_strip_iref): Remove.
+ 	(find_interesting_uses_address): Use build_fold_addr_expr instead.
+ 	(strip_offset_1): Likewise.
+ 	(tree_to_aff_combination): Likewise.
+ 
+ 2005-06-02  DJ Delorie  <dj@redhat.com>
+ 
+ 	* convert.c (convert_to_pointer): Avoid recursion if no conversion
+ 	is needed.
+ 
+ 2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-chrec.c (chrec_fold_plus_1): Ensure we build
+ 	binary operations with the correct types.
+ 	* tree-ssa-loo-ivopts.c (idx_find_step): Use sizetype
+ 	for all computation.
+ 
+ 2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* tree-vrp.c, config/arm/arm.md, config/arm/arm1020e.md,
+ 	config/rs6000/rs6000.md: Fix comment typos.  Follow splling
+ 	conventions.
+ 	* doc/install.texi: Fix a typo.
+ 
+ 2005-06-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_function_and_variable_visibility): Extern
+ 	inline functions are not local.
+ 
+ 2005-06-02  Kazu Hirata  <kazu@codesourcery.com>
+ 
+ 	* gimplify.c (gimplify_ctx): Change the type of case_labels to
+ 	VEC from VARRAY.
+ 	(gimplify_switch_expr, gimplify_case_label_expr): Adjust uses
+ 	of case_labels.
+ 
+ 2005-06-02  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* c-typeck.c (build_indirect_ref): Build INDIRECT_REF
+ 	with correct type.
+ 
+ 2005-06-02  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_add_execute): Do not handle out-of-pool
+ 	execute templates.
+ 	(s390_dump_pool): Likewise.
+ 	(s390_mainpool_start, s390_mainpool_finish): Likewise.
+ 	(s390_chunkify_start): Likewise.
+ 	(s390_dump_execute): Remove.
+ 	(s390_reorg): Handle out-of-pool execute templates.
+ 
+ 2005-06-02  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* optabs.c: (expand_bool_compare_and_swap): Emit barrier after
+ 	  unconditional jump.
+ 
+ 2005-06-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_node): Maintain master clones.
+ 	(cgraph_remove_node): Likewise.
+ 	(availability_names): New static variable.
+ 	(dump_cgraph_node): Dump availability.
+ 	(dump_cgraph_varpool_node): Likewise.
+ 	(cgraph_is_master_clone, cgraph_master_clone,
+ 	cgraph_function_body_availability,
+ 	cgraph_variable_initializer_availability): New functions.
+ 	* cgraph.h (availability): New enum.
+ 	(struct cgraph_node): Add master_clone.
+ 	(cgraph_is_master_clone, cgraph_master_clone,
+ 	cgraph_function_body_availability,
+ 	cgraph_variable_initializer_availability): Declare.
+ 	* cgraphunit.c (cgraph_expand_function): Setcgraph_function_flags_ready.
+ 	(cgraph_remove_unreachable_nodes): Remove unreachable nodes.
+ 	* ipa-inline.c (cgraph_decide_inlining): Do not call
+ 	cgraph_remove_unreachable_nodes.
+ 
+ 	* cgraphunit.c (cgraph_function_and_variable_visibility): Fix typo in
+ 	previous patch.
+ 
+ 2005-06-02  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 21582
+ 	* tree-vrp.c (nonnull_arg_p): New.
+ 	(get_value_range): Call it.
+ 
+ 2005-06-02  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (processor_type): Remove PROCESSOR_DEFAULT,
+ 	add PROCESSOR_MAX.
+ 	(mips_rtx_cost_data): New datatype.
+ 	(MEMORY_MOVE_COST): Use data from structure.
+ 	(BRANCH_COST): Ditto.
+ 	(LOGICAL_OP_NON_SHORT_CIRCUIT): Define to zero.
+ 	* config/mips/mips.md (cpu): Rework for processor_type changes.
+ 	* config/mips/mips.c (mips_cost): New variable.
+ 	(DEFAULT_COSTS): Define.
+ 	(mips_rtx_cost_data): New.
+ 	(mips_rtx_costs): Use. Minor formatting changes. Use COSTS_N_INSNS
+ 	for NEG cost. Add support for FLOAT, UNSIGNED_FLOAT, FIX,
+ 	FLOAT_EXTEND, FLOAT_TRUNCATE, and SQRT.
+ 	(override_options): Set cost data.
+ 	(mips_register_move_cost): Formatting changes.
+ 	(bdesc_arrays): Use PROCESSOR_MAX.
+ 	(mips_init_builtins): Ditto.
+ 
+ 2005-06-02  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 21765
+ 	* doc/invoke.texi: Document -ftree-vrp.
+ 
+ 2005-06-02  Dorit Nuzman  <dorit@il.ibm.com>
+ 
+ 	PR tree-optimization/21734
+ 	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop): Use the
+ 	phi_result when current_def is not available.
+ 	(slpeel_update_phi_nodes_for_guard1): Don't fail if current_def is not
+ 	available.	
+ 
+ 2005-06-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_insn_valid_within_doloop): New.
+ 	(TARGET_INSN_VALID_WITHIN_DOLOOP): Define.
+ 
+ 2005-06-02  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-vrp.c (has_assert_expr, maybe_add_assert_expr): Remove.
+ 
+ 2005-06-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (dump_cgraph_node): Print new flags.
+ 	(dump_cgraph_varpool_node): Likewise.
+ 	(decide_variable_is_needed): Initialize externally_visible flag.
+ 	* cgraph.h (cgraph_local_info): Add externally_visible flag.
+ 	(cgraph_varpool_node): Likewise.
+ 	(cgraph_function_flags_ready): Declare.
+ 	* cgraph.c (cgraph_mark_local_functions): Rename to ...
+ 	(cgraph_function_and_variable_visibility) ... this one; handle
+ 	externally_visible flags.
+ 	(decide_is_function_needed): Set externally_visible flag.
+ 	(cgraph_finalize_function): Deal properly with early cleanups.
+ 	(cgraph_optimize): Update call of
+ 	cgraph_function_and_variable_visibility.
+ 
+ 2005-06-02 Steven Bosscher  <stevenb@suse.de>
+ 	   Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* cfgloop.h (doloop_condition_get): Make external.
+ 	* loop-doloop.c (doloop_condition_get): Generalize to make it
+ 	usable in modulo-sched.c.
+ 	* modulo-sched.c (doloop_register_get): Use
+ 	doloop_condition_get instead of duplicating it.
+ 
+ 2005-06-02  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* reload1.c (reload): Undo 2005-04-20 change.  Make sure we detect
+ 	the correct set of init_insns that need deletion.
+ 	* local-alloc.c (update_equiv_regs): When substituting sole definition
+ 	into sole use of a reg, delete it from liveness information.
+ 
+ 2005-06-02  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.h (TARGET_FPU_DOUBLE): Use MASK_SH4.
+ 
+ 2005-06-01  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR 14341, PR 21332, PR 20701, PR 21029, PR 21086, PR 21090
+ 	PR 21289, PR 21348, PR 21367, PR 21368, PR 21458.
+ 	* fold-const.c (invert_tree_comparison): Make extern.
+ 	* tree-flow.h (enum value_range_type): Move to tree-ssa-propagate.
+ 	(struct value_range_def): Limewise.
+ 	(get_value_range): Remove.
+ 	(dump_value_range): Remove.
+ 	(dump_all_value_ranges): Remove.
+ 	(debug_all_value_ranges): Remove.
+ 	(vrp_evaluate_conditional): Declare.
+ 	* tree-ssa-propagate.c (struct prop_stats_d): Add field
+ 	num_pred_folded.
+ 	(substitute_and_fold): Add argument use_ranges_p.
+ 	Update all callers.
+ 	If use_ranges_p is true, call fold_predicate_in to fold
+ 	predicates using range information.
+ 	Ignore ASSERT_EXPRs.
+ 	Change debugging output to only show statements that have been
+ 	folded.
+ 	(replace_phi_args_in): Move debugging output code from
+ 	substitute and fold.
+ 	(fold_predicate_in): New local function.
+ 	* tree-ssa-propagate.h (enum value_range_type): Move from
+ 	tree-flow.h.
+ 	(struct value_range_d): Likewise.
+ 	Add field 'equiv'. 
+ 	(value_range_t): Rename from value_range.
+ 	* tree-vrp.c (found_in_subgraph): Rename from found.
+ 	(get_opposite_operand): Remove.
+ 	(struct assert_locus_d): Declare.
+ 	(assert_locus_t): Declare.
+ 	(need_assert_for): Declare.
+ 	(asserts_for): Declare.
+ 	(blocks_visited): Declare.
+ 	(vr_value): Declare.
+ 	(set_value_range): Add argument 'equiv'.
+ 	Don't drop to VARYING ranges that cover all values in the
+ 	type.
+ 	Make deep copy of equivalence set 'equiv'.
+ 	(copy_value_range): New local function.
+ 	(set_value_range_to_undefined): New local function.
+ 	(compare_values): Return -2 if either value has overflowed.
+ 	(range_includes_zero_p): New local function.
+ 	(extract_range_from_assert): Flip the predicate code if the
+ 	name being asserted is on the RHS of the predicate.
+ 	Avoid creating unnecessary symbolic ranges if the comparison
+ 	includes another name with a known numeric range.
+ 	Update the equivalnce set of the new range when asserting
+ 	EQ_EXPR predicates.
+ 	(extract_range_from_ssa_name): Update the equivalence set of
+ 	the new range with VAR.
+ 	(extract_range_from_binary_expr): Also handle TRUTH_*_EXPR.
+ 	If -fwrapv is used, set the resulting range to VARYING if the
+ 	operation overflows.  Otherwise, use TYPE_MIN_VALUE and
+ 	TYPE_MAX_VALUE to represent -INF and +INF.
+ 	Fix handling of *_DIV_EXPR.
+ 	(extract_range_from_unary_expr): Handle MINUS_EXPR and
+ 	ABS_EXPR properly by switching the range around if necessary.
+ 	(extract_range_from_comparison): New local function.
+ 	(extract_range_from_expr): Call it.
+ 	(adjust_range_with_scev): Do not adjust the range if using
+ 	wrapping arithmetic (-fwrapv).
+ 	(dump_value_range): Also show equivalence set.
+ 	Show -INF and +INF for TYPE_MIN_VALUE and TYPE_MAX_VALUE.
+ 	(build_assert_expr_for): Also build ASSERT_EXPR for EQ_EXPR.
+ 	(infer_value_range): Change return value to bool.
+ 	Add arguments 'comp_code_p' and 'val_p'.
+ 	Do not attempt to infer ranges from statements that may throw.
+ 	Store the comparison code in comp_code_p.
+ 	Store the other operand to be used in the predicate in val_p.
+ 	(dump_asserts_for): New.
+ 	(debug_asserts_for): New.
+ 	(dump_all_asserts): New.
+ 	(debug_all_asserts): New.
+ 	(register_new_assert_for): New.
+ 	(register_edge_assert_for): New.
+ 	(find_conditional_asserts): New.
+ 	(find_assert_locations): New.
+ 	(process_assert_insertions_for): New.
+ 	(process_assert_insertions): New.
+ 	(insert_range_assertions): Initialize found_in_subgraph,
+ 	blocks_visited, need_assert_for and asserts_for.
+ 	Call find_assert_locations and process_assert_insertions.
+ 	(remove_range_assertions): Add more documentation.
+ 	(vrp_initialize): Change return type to void.
+ 	Do not try to guess if running VRP is worth it.  
+ 	(compare_name_with_value): New.
+ 	(compare_names): New.
+ 	(vrp_evaluate_conditional): Add argument 'use_equiv_p'.  If
+ 	use_equiv_p is true, call compare_names and
+ 	compare_name_with_value to compare all the ranges for every
+ 	name in the equivalence set of the predicate operands.
+ 	Update all callers.
+ 	(vrp_meet): Try harder not to derive a VARYING range.
+ 	If two values meet, the resulting equivalence set is the
+ 	intersection of the two equivalence sets.
+ 	(vrp_visit_phi_node): Call copy_value_range to get the current
+ 	range information of the LHS.
+ 	(vrp_finalize): Create a value vector representing all the
+ 	names that ended up with exactly one value in their range.
+ 	Call substitute_and_fold.
+ 	(execute_vrp): Document equivalence sets in ranges.
+ 	* tree.h (SSA_NAME_VALUE_RANGE): Remove.
+ 	(struct tree_ssa_name): Remove field value_range.
+ 	(invert_tree_comparison): Declare.
+ 
+ 2005-06-01  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/21839
+ 
+ 	* gimplify.c (zero_sized_field_decl): New function.
+ 	(gimplify_init_ctor_eval): Use it.
+ 
+ 2005-06-01  Josh Conner <jconner@apple.com>
+ 
+ 	PR 21478
+ 	* gimplify.c (gimplify_init_constructor): Don't spill initializer
+ 	to read-only memory if it's sparse.
+ 
+ 2005-06-01  Ramana Radhakrishnan  <ramana@codito.com>
+ 
+ 	* doc/rtl.texi: Remove references to NOTE_INSN_SETJMP. 
+ 	Add documentation for REG_SETJMP
+ 
+ 2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* stmt.c (expand_case): Use build_int_cst.
+ 	(node_has_low_bound): Likewise, and correct type mismatch.
+ 	(node_has_high_bound): Likewise.
+ 	* fold-const.c (fold_binary): Ensure we build trees
+ 	with the correct types - undo what STRIP_NOPS possibly did.
+ 
+ 2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree.h (fold_indirect_ref_1): Export from fold-const.c.
+ 	* fold-const.c (fold_indirect_ref_1): No longer static.
+ 	* tree-inline.c (copy_body_r): Use fold_indirect_ref_1 for
+ 	folding, if possible.
+ 
+ 2005-06-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* common.opt (fjump-tables): New.
+ 	* doc/invoke.texi (-fno-jump-tables): Document.
+ 	* stmt.c (expand_end_case_type): Do not emit jump tables unless
+ 	flag_jump_tables.
+ 
+ 2005-06-01  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.md (bunordered, bordered, bungt, bunlt, bunge, bunle, buneq)
+ 	(bltgt, arm_buneq, arm_bltgt, sunordered, sordered, sungt, sunge)
+ 	(sunlt, sunle): Enable patterns on VFP.
+ 
+ 	* arm.md (attribute 'type'): Add new types - f_loads floadd, f_stores,
+ 	f_stored, f_flag, f_cvt.
+ 	(generic_sched): No-longer used for the arm1020e and arm1022e cores.
+ 	Include arm1020e.md.
+ 	* vfp.md (fmstat): New cpu unit.  Add an exclusion set between it and
+ 	the ds and fmac pipelines.  Re-work all load and store patterns and
+ 	all conversion patterns to use new attributes.  Adjust reservation
+ 	descriptions accordingly.
+ 	* arm1020e.md: New file.
+ 	* t-arm: Add dependency.
+ 
+ 2005-06-01  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (struct eh_region): Kill unused fields.
+ 	* basic-block.h (struct basic_block_def): Likewise.
+ 
+ 2005-06-01  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR rtl-optimization/21767
+ 	* rtl.h (function_invariant_p): Re-add declaration.
+ 	* reload1.c (function_invariant_p): No longer static.
+ 	* ifcvt.c (dead_or_predicable): Remove REG_EQUAL notes that
+ 	might have become invalid.
+ 
+ 2005-06-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/21536
+ 	PR c/20760
+ 	* gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes
+ 	on variable sizes types if a decl is a pointer to a VLA.
+ 	(gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE.
+ 	Call gimplify_type_sizes on aggregate fields.  Prevent infinite
+ 	recursion.
+ 
+ 	* fold-const.c (fold_ternary): Optimize BIT_FIELD_REF of VECTOR_CST.
+ 
+ 	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
+ 	_mm_set_ps, _mm_setr_ps): Add __extension__.
+ 	* config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd,
+ 	_mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x,
+ 	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128):
+ 	Likewise.
+ 	(_mm_clflush): Don't use return in void function.
+ 
+ 	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128,
+ 	_mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd):
+ 	Use __inline instead of inline.
+ 
+ 2005-06-01  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* fold-const.c (fold_binary): Fix types in strlen vs.
+ 	zero comparison folding.
+ 
+ 2005-06-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.
+ 	* config.in, configure: Rebuild.
+ 	* config/alpha/alpha.c (print_operand): Add 'j'.
+ 	* alpha.md (divmodsi_internal_er_1): Use it.
+ 	(divmoddi_internal_er_1): Likewise.
+ 
+ 2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* system.h (TARGET_OPTIONS, TARGET_SWITCHES): Poison.
+ 	* opts.h (print_filtered_help): Delete.
+ 	* opts.c (handle_option, decode_options): Remove calls to
+ 	set_target_switch.
+ 	(print_target_help): New function.
+ 	(common_option, print_help): Call print_target_help instead of
+ 	display_target_options.
+ 	(print_filtered_help): Make static.
+ 	* toplev.h (display_target_options, set_target_switch): Delete.
+ 	* toplev.c (target_switches, target_options, display_target_options)
+ 	(set_target_switch): Delete.
+ 	(print_switch_values): Remove handling of TARGET_SWITCHES and
+ 	TARGET_OPTIONS.
+ 	(default_get_pch_validity): Likewise.  Only treat target_flags
+ 	specially if targetm.check_pch_target_flags is nonnull.
+ 	(pch_option_mismatch): New function.
+ 	(default_pch_valid_p): Use it.  Remove handling of TARGET_SWITCHES
+ 	and TARGET_OPTIONS.  Only treat target_flags specially if
+ 	targetm.check_pch_target_flags is nonnull.
+ 	* config/ia64/ia64.c (ia64_override_options): Don't mention
+ 	TARGET_OPTIONS in comment.
+ 	* config/m68k/m68k-none.h (CC1_SPEC): Likewise.
+ 	* doc/invoke.texi: Remove a reference to TARGET_SWITCHES.
+ 	* doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS): Don't mention the
+ 	interaction with TARGET_SWITCHES.
+ 	(TARGET_@var{featurename}, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
+ 
+ 2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/sh/sh.c (multcosts): Check sh_multcost rather than
+ 	sh_multcost_str.
+ 	(sh_register_move_cost): Likewise sh_gettrcost and sh_gettrcost_str.
+ 	(sh_multcost_str, sh_gettrcost_str, sh_div_str, sh_divsi3_libfunc)
+ 	(cut2_workaround_str): Delete.
+ 	* config/sh/sh.h (SUBTARGET_OPTIONS, TARGET_OPTIONS)
+ 	(TARGET_SH5_CUT2_WORKAROUND, sh_multcost_str, sh_gettrcost_str)
+ 	(sh_div_str, sh_divsi3_libfunc, cut2_workaround_str): Delete.
+ 	* config/sh/sh.opt (mcut2-workaround, mdiv=, mdivsi3_libfunc=)
+ 	(mgettrcost=, multcost=): New options.
+ 
+ 2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* opts.h (cl_option_state): New structure.
+ 	(get_option_state): Declare.
+ 	* opts.c (get_option_state): New function.
+ 	* toplev.c (option_affects_pch_p): New function.
+ 	(default_get_pch_validity): Store the state of all options for which
+ 	option_affects_pch_p returns true.
+ 	(default_pch_valid_p): Check the state of those options here.
+ 	Only check target_flags separately if targetm.check_pch_target_Flags
+ 	is nonnull or if TARGET_SWITCHES is defined.
+ 
+ 2005-06-01  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips-protos.h (mips_use_ins_ext_p): Remove parameter
+ 	names.
+ 
+ 2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* modulo-sched.c (undo_generate_reg_moves ): Fix PR 21138.
+ 
+ 2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* gcse.c (compute_transp, load_killed_in_block): Use 
+ 	MEM_READONLY_P.
+ 
+ 2005-06-01  David.Billinghurst  <David.Billinghurst@riotinto.com>
+ 
+ 	PR target/21854
+ 	* config/mips/mips-protos.h: Declare mips_use_ins_ext_p
+ 	
+ 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* errors.h (warning, error, fatal, internal_error): Add printf
+ 	attribute.
+ 	* genmodes.c (make_vector_mode): Fix format arguments.
+ 
+ 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* basic-block.h, bb-reorder.c, c-gimplify.c, config/darwin.c,
+ 	config/rs6000/rs6000-c.c, dominance.c, gimple-low.c, gimplify.c,
+ 	lambda-code.c, lambda-trans.c, tree-browser.c, tree-cfg.c,
+ 	tree-chrec.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
+ 	tree-if-conv.c, tree-into-ssa.c, tree-loop-linear.c,
+ 	tree-mudflap.c, tree-nomudflap.c, tree-outof-ssa.c,
+ 	tree-pretty-print.c, tree-scalar-evolution.c, tree-sra.c,
+ 	tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
+ 	tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-live.c,
+ 	tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
+ 	tree-ssa-propagate.c, tree-ssa-sink.c, tree-ssa-threadupdate.c,
+ 	tree-ssa-uncprop.c, tree-ssa.c, tree-vect-analyze.c,
+ 	tree-vect-transform.c, tree-vectorizer.c, vec.c: Don't include
+ 	errors.h and include toplev.h if necessary.
+ 	
+ 	* rtl.c, varray.c: If we're compiling as a GENERATOR_FILE, include
+ 	errors.h otherwise include toplev.h.
+ 	
+ 	* Makefile.in: Update dependencies.
+ 	
+ 2005-06-01  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (NO_PROFILE_COUNTERS): Define.
+ 
+ 2005-05-31  Geoffrey Keating  <geoffk@geoffk.org>
+ 
+ 	* config/rs6000/rs6000.md (sync_boolcshort_internal): New.
+ 	* config/rs6000/rs6000.c (rs6000_emit_sync): Shift count must
+ 	be complemented for big-endian.  Mask for AND must be rotated,
+ 	not shifted.  Handle short operands with NOT on the memory
+ 	operation.
+ 
+ 2005-05-30  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* c-objc-common.c (c_tree_printer): Check flag before hashtable.
+ 	Use DECL_DEBUG_EXPR and SET_DECL_DEBUG_EXPR.
+ 	* dwarf2out.c (dwarf2out_var_location): Ditto.
+ 	* toplev.c (default_tree_printer): Ditto.
+ 	* tree-outof-ssa.c (create_temp): Ditto.
+ 	* tree-sra.c (instantiate_element): Ditto.
+ 	* var-tracking.c (track_expr_p): Ditto.
+ 	* tree.c (struct tree_map): New structure.
+ 	(debug_expr_for_decl): New.
+ 	(tree_map_eq): New function.
+ 	(tree_map_hash): Ditto.
+ 	(tree_map_marked_p): Ditto.
+ 	(print_debug_expr_statistics): Ditto.
+ 	(decl_debug_expr_lookup): Ditto.
+ 	(decl_debug_expr_insert): Ditto.
+ 	(dump_tree_statistics): Dump debug_expr hashtable stats.
+ 	* tree.h (DECL_DEBUG_EXPR): Change
+ 	(SET_DECL_DEBUG_EXPR): Add.
+ 	
+ 2005-06-01  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* configure.ac: Add --enable-secureplt.
+ 	(HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
+ 	* config.in: Regenerate.
+ 	* configure: Regenerate.
+ 	* config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
+ 	rs6000/secureplt.h to tm_file when enable_secureplt.
+ 	* doc/invoke.texi (msecure-plt, mbss-plt): Document.
+ 	* doc/install.texi: Document --enable-targets and --enable-secureplt.
+ 	Correct xrefs to "Using the GNU Compiler Collection (GCC)".
+ 	* config/rs6000/secureplt.h: New file.
+ 	* config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
+ 	assembler support.
+ 	(CC1_SECURE_PLT_DEFAULT_SPEC): Define.
+ 	(CC1_SPEC): Delete duplicate mno-sdata.  Invoke cc1_secure_plt_default.
+ 	(SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
+ 	* config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
+ 	* config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
+ 	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
+ 	TARGET_SECURE_PLT got register load sequence.
+ 	(rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
+ 	TARGET_SECURE_PLT.
+ 	(rs6000_elf_declare_function_name): Don't emit toc address offset
+ 	word when TARGET_SECURE_PLT.
+ 	* config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
+ 	(load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
+ 	(load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
+ 	(call, call_value): Mark pic_offset_table_rtx used for sysv pic and
+ 	TARGET_SECURE_PLT.
+ 	(call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
+ 	sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
+ 	and -fPIC.
+ 	* config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
+ 	(__trampoline_setup): Likewise.  Init r30 before plt call.
+ 
+ 2005-05-31  DJ Delorie  <dj@redhat.com>
+ 
+ 	* expr.c (convert_move): When a partial_int requires multiple
+ 	conversion steps, make sure successive steps convert the
+ 	intermediate value, not the original value.
+ 
+ 	* expmed.c (expand_mult): Convert partial_int multiplies to
+ 	shift/add combinations too.
+ 
+ 	* genmodes.c (mode_data): Add wider_2x.
+ 	(calc_wider_mode): Calculate twice-wider mode too.
+ 	(emit_mode_wider): Emit twice-wider mode too.
+ 	* machmode.h (mode_2xwider, GET_MODE_2XWIDER_MODE): New.
+ 	* expr.c (expand_expr_real_1): Use it for expanding
+ 	multiplies.
+ 
+ 2005-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/21817
+ 	* tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
+ 
+ 2005-05-31  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* loop.c (loop_invariant_p, valid_initial_value_p): Revert last
+ 	change.
+ 
+ 2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/20931
+ 	PR middle-end/20946
+ 	* fold-const.c (fold_checksum_tree): Copy types also if
+ 	TYPE_CONTAINS_PLACEHOLDER_INTERNAL is set.
+ 	Don't call fold_checksum_tree for TREE_LIST's TREE_CHAIN
+ 	first.
+ 	Tail recurse TREE_LIST's TREE_CHAIN.
+ 
+ 2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/21732
+ 	* tree-ssa-copy.c (dump_copy_of): Create a bitmap and don't visit a
+ 	SSA_NAME twice and cause the loop to become finite.  Remove the test
+ 	for val.
+ 
+ 2005-05-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-cfg.c (verify_expr): Add checking for COND_EXPR's conditional
+ 	expression.
+ 
+ 2005-05-31  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/tm.texi (TARGET_GET_PCH_VALIDITY, TARGET_PCH_VALID_P): Tweak
+ 	the documentation to make it more future-proof.
+ 	(TARGET_CHECK_PCH_TARGET_FLAGS): Document this new hook.
+ 	* target.h (gcc_target): Add check_pch_target_flags.
+ 	* target-def.h (TARGET_CHECK_PCH_TARGET_FLAGS): New macro.
+ 	(TARGET_INITIALIZER): Include it.
+ 	* toplev.c (default_pch_valid_p): Use targetm.check_pch_target_flags.
+ 	* config/sh/sh-protos.h (sh_pch_valid_p): Delete.
+ 	* config/sh/sh.c (TARGET_PCH_VALID_P, sh_pch_valid_p): Delete.
+ 	(sh_check_pch_target_flags): New function.
+ 	(TARGET_CHECK_PCH_TARGET_FLAGS): Override default.
+ 
+ 2005-05-31  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* fold-const.c (extract_array_ref): Handle more cases,
+ 	do some useful canonicalization of the base.
+ 	(fold_binary): Explicitly deal with arrays of zero-sized
+ 	structures during folding of &a[i] == &a[j].
+ 
+ 2005-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (sparc-sun-solaris2*): Update note
+ 	about Sun bug 4910101.
+ 	(sparc-sun-solaris2.7): Document bootstrap
+ 	failure with Sun WorkShop 6 99/08/18 as.
+ 
+ 2005-05-30  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* loop.c (loop_invariant_p, valid_initial_value_p): Use
+ 	regs_invalidated_by_call instead of call_used_regs.
+ 
+ 2005-05-30  Paolo Carlini  <pcarlini@suse.de>
+ 
+ 	PR middle-end/21743
+ 	* builtins.def (BUILT_IN_CLOG, BUILT_IN_CLOGF, BUILT_IN_CLOGL):
+ 	Enable.
+ 	* doc/extend.texi: Add clog, clogf, clogl.
+ 
+ 2005-05-30  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR middle-end/20303
+ 	* c-pragma.c: Include "vec.h".
+ 	(handle_pragma_visibility): Use VEC.
+ 
+ 	* doc/invoke.texi: Remove the nested visibility push limit.
+ 
+ 2005-05-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/15422
+ 	* reg-stack.c (starting_stack_p): New static global.
+ 	(straighten_stack): Delete prototype. Change to update the stack
+ 	before the current insn.
+ 	(subst_stack_regs): Update call to straighten stack.
+ 	(emit_swap_insn): Delete prototype.  For the first insn in a
+ 	basic block, update stack_in instead of emitting a real swap.
+ 	(change_stack): When changing the stack before the first insn
+ 	in a basic block, update stack_in instead of emitting real code.
+ 	(compensate_edges): Clear starting_stack_p during compensation.
+ 	(convert_regs_1): Keep track of starting_stack_p whilst processing
+ 	a basic block.
+ 
+ 2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-ccp.c (const_val): Make it static.
+ 
+ 2005-05-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR target/21761
+ 	* config/rs6000/rs6000.md: Remove stray TARGET_32BIT from
+ 	pattern involving `:P'.
+ 
+ 	* Makefile.in (install-cpp): Depend on installdirs.
+ 
+ 2005-05-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (_elim_graph): Change the type of edge_list
+ 	to VEC(int,heap)*.
+ 	(new_elim_graph, clear_elim_graph, delete_elim_graph,
+ 	elim_graph_add_edge, elim_graph_remove_succ_edge,
+ 	FOR_EACH_ELIM_GRAPH_SUCC, FOR_EACH_ELIM_GRAPH_PRED): Use VEC
+ 	instead of VARRAY.
+ 
+ 2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cgraphunit.c, ipa-inline.c, loop-iv.c, modulo-sched.c,
+ 	opts.c, postreload-gcse.c, tree-browser.def, tree-eh.c,
+ 	tree-ssa-copyrename.c, tree-vect-analyze.c: Fix typos and
+ 	follow spelling conventions in error/dump messages.
+ 
+ 2005-05-29  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* ifcvt.c (noce_emit_move_insn): Construct a SET pattern directly
+ 	if the RHS isn't suitable for calling emit_move_insn.
+ 
+ 2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-ccp.c (ccp_fold): Return immediately after calling
+ 	fold_unary and fold_binary.
+ 
+ 2005-05-29  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (propagate_stack): Always copy the source stack to
+ 	the destination.  This routine is now only called when this is safe.
+ 	(better_edge): New function split out from convert_regs_1 to
+ 	determine which of two edges is better to propagate across.
+ 	(convert_regs_1):  We need only search for a best edge if the
+ 	stack layout hasn't been defined yet.  Use better_edge to help
+ 	find beste.  No longer traverse unnecessary edges.
+ 
+ 2005-05-29  Keith Besaw  <kbesaw@us.ibm.com>
+ 
+ 	* tree-ssa-alias.c (new_type_alias): New procedure to
+ 	create a type memory tag for a pointer with a may-alias
+ 	set determined from a variable declaration.
+ 	* tree-flow.h: export declaration of new_type_alias
+ 	* tree-optimize.c (init_tree_optimization_passes): document
+ 	that pass_may_alias cannot be called after pass_vectorize.
+ 	* tree-vect-transform (vect_create_data_ref_ptr): Call
+ 	new_type_alias when an type memory tag isn't available
+ 	for a reference.
+ 	(vectorizable_store): Use copy_virtual_operands to update
+ 	virtual defs in place (so that loop_version can be called).
+ 	Call mark_for_renaming for the virtual defs in case peeling
+ 	is done and virtual uses outside the loop need to be updated.
+ 
+ 2005-05-29  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-optimization/21639
+ 	* tree-complex.c (pass_lower_vector_s): Remove TODO_ggc_collect.
+ 
+ 2005-05-29  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR tree-optimization/21562
+ 	* cfgexpand.c (construct_init_block): Deal properly with the case
+ 	of entry edge not pointing to very first basic block.
+ 
+ 2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-ccp.c (ccp_fold): Remove code that produces
+ 	non-gimple min invariant.
+ 
+ 	* Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
+ 	* tree-flow.h: Add prototypes for start_recording_case_labels
+ 	and end_recording_case_labels.
+ 	* tree-cfg.c (start_recording_case_labels,
+ 	end_recording_case_labels): Export.
+ 	(cleanup_tree_cfg_loop, modified_noreturn_calls,
+ 	cleanup_control_flow, cleanup_control_expr_graph,
+ 	remove_fallthru_edge, phi_alternatives_equal,
+ 	tree_forwarder_block_p, has_abnormal_incoming_edge_p,
+ 	remove_forwarder_block, cleanup_forwarder_blocks,
+ 	remove_forwarder_block_with_phi, merge_phi_nodes,
+ 	gate_merge_phi, pass_merge_phi): Move to ...
+ 	* tree-cfgcleanup.c: ... here.
+ 
+ 	* basic-block.h: Remove forward declaration of bb_ann_d.
+ 
+ 2005-05-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis):
+ 	Update profile.
+ 	* value-prof.c (tree_divmod_fixed_value_transform): Be more verbose in
+ 	debug output.
+ 	(tree_mod_subtract): Fix profile updating code.
+ 	(tree_divmod_values_to_profile): Do not produce useless value profilers
+ 	for divisions.
+ 
+ 2005-05-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (vrp_element_p): Define.
+ 	(vrp_hash_elt): Change the type of records to
+ 	VEC(vrp_element_p,heap).
+ 	(vrp_free): New.
+ 	(tree_ssa_dominator_optimize): Pass vrp_free to htab_create.
+ 	Update uses of VRP records.
+ 	(simplify_cond_and_lookup_avail_expr, record_range): Update
+ 	uses of VRP records.
+ 
+ 	* tree-inline.c (cfun_stack): Change the type to
+ 	VEC(function_p,heap).
+ 	(push_cfun, pop_cfun): Use VEC instead of VARRAY.
+ 
+ 2005-05-27  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-decl.c (add_stmt): Add C frontend specific version.
+ 	(stmts_are_full_exprs_p): Remove.
+ 	* c-common.h (STMT_IS_FULL_EXPR_P): Remove.
+ 	(stmts_are_full_exprs_p): Don't declare.
+ 	* c-semantics.c (add_stmt): Remove.
+ 
+ 2005-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* config/mips/mips-protos.h (mips_declare_object): Add printf
+ 	attribute.
+ 	* config/mips/mips.c (mips_declare_object_name): Fix format
+ 	argument.
+ 
+ 2005-05-27  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (compensate_edge): Remove original prototype.
+ 	(propagate_stack): New function to copy the stack layout
+ 	at the start of a basic block from the layout at the end of
+ 	one of its predecessors.
+ 	(compensate_edge): Assume that both source and destination
+ 	blocks have already had their stack layouts defined.
+ 	(compensate_edges): Traverse all non-entry edges in the CFG
+ 	and call compensate_edge on each in turn.
+ 	(convert_regs_1): Change return type to void.  Call
+ 	propagate_stack instead of compensate_edge.
+ 	(convert_regs_2): Change return type to void.  Update call
+ 	to convert_regs_1 to ignore the (now void) return value.
+ 	(convert_regs): Update calls to convert_regs_2 to ignore
+ 	the (now void) return value.  After all the basic blocks have
+ 	been processed, call compensate_edges to actually emit new
+ 	insns.
+ 	(reg_to_stack): Initialize the aux info for each basic block
+ 	with FOR_EACH_BB instead of which FOR_EACH_BB_REVERSE.
+ 
+ 2005-05-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c (can_throw_internal_1, can_throw_external_1): Add 
+ 	"is_resx" argument.
+ 	(can_throw_external, can_throw_internal): Bring into sync wrt
+ 	dealing resx.
+ 	* except.h (can_throw_internal_1, can_throw_external_1): Update
+ 	prototype.
+ 	* tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
+ 	Deal properly with resx.
+ 
+ 2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h (basic_block_def): Add phi_nodes and
+ 	predictions.  Remove tree_annotations.
+ 	* predict.c (tree_predicted_by_p, tree_predict_edge,
+ 	combine_predictions_for_bb): Adjust references to predictions.
+ 	* tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
+ 	create_block_annotation.
+ 	(create_block_annotation, free_blocks_annotatios,
+ 	clear_blocks_annotations): Remove.
+ 	(dump_cfg_stats): Don't print out the memory spent on
+ 	bb_ann_d.
+ 	(delete_tree_cfg_annotations): Don't call free_blocks_annotations.
+ 	* tree-flow-inline.h (bb_ann): Remove.
+ 	(phi_nodes, set_phi_nodes): Update references to phi_nodes.
+ 	* tree-flow.h (bb_ann_d): Remove.
+ 	* tree-if-conv.c (process_phi_nodes): Update a reference to
+ 	phi_nodes.
+ 	* tree-phinodes.c (reserve_phi_args_for_new_edge,
+ 	create_phi_node, remove_phi_node): Likewise.
+ 	* tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
+ 	* tree-ssa-dom.c (threaded_blocks): New.
+ 	(tree_ssa_dominator_optimize): Initialize, clear, and free
+ 	threaded_blocks. Update a call to thread_through_all_blocks.
+ 	(thread_across_edge): Use threaded_blocks instead of setting
+ 	incoming_edge_threaded.
+ 	* tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
+ 	a bitmap of blocks that are threaded through.
+ 	* tree.h: Move the prototype of threaded_through_blocks to
+ 	tree-flow.h.
+ 
+ 	* domwalk.c (walk_dominator_tree, init_walk_dominator_tree,
+ 	fini_walk_dominator_tree): Use VEC instead of VARRAY.
+ 	* domwalk.h (dom_walk_data): Change the type of
+ 	block_data_stack and free_block_data to VEC(void_p,heap)*.
+ 	* tree-ssa-dse.c (dse_initialize_block_local_data,
+ 	dse_optimize_stmt, dse_record_phis, dse_finalize_block): Use
+ 	VEC instead of VARRAY.
+ 
+ 2005-05-27  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c: Include tree-gimple.h
+ 	(cgraph_edge): Rename expr to stmt.
+ 	(cgraph_create_edge): Likewise.
+ 	(cgraph_clone_node): Likewise.
+ 	* cgraph.h (cgraph_node): Use call_stmt instead of call_expr.
+ 	* cgraphunit.c (record_call_1): Rename to ...
+ 	(record_reference): ... this one; do not build edges.
+ 	(cgraph_varpool_analyze_pending_decls): Call record_reference directly.
+ 	(current_basic_block): Kill.
+ 	(cgraph_create_edges): Rewrite to work on gimple statements nicely.
+ 	(verify_cgraph_node): Likewise.
+ 	* tree-inline.c (copy_body_r): Do not mess up with cgraph edges.
+ 	(copy_bb): Mess up with cgraph edges here; simplify EH handling.
+ 	(copy_edges_for_bb): Simplify EH handling.
+ 	(expand_call_inline): Pass statement to cgraph_edge and
+ 	cgraph_create_edge.
+ 
+ 2005-05-27  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-inline.c (copy_body_r): Manually fold *& to deal
+ 	with ADDR_EXPRs with mismatched types for now.
+ 
+ 	* gimplify.c (fold_indirect_ref_rhs): New function.
+ 	(gimplify_modify_expr_rhs): Use it instead of pessimistic
+ 	fold_indirect_ref.
+ 
+ 	* fold-const.c (fold_indirect_ref_1): Add type argument;
+ 	make sure the resulting expression is of this type.
+ 	(build_fold_indirect_ref, fold_indirect_ref): Adjust callers.
+ 
+ 2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21658
+ 	* tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
+ 	fold_binary_to_constant.  Likewise, call fold_unary instead of
+ 	fold_unary_to_constant.
+ 
+ 2005-05-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h: Implement integral type vector specialization.
+ 	(VEC_T): Define a non-GTY structure.
+ 	(VEC_T_GTY): Define a GTY structure.
+ 	(VEC_TA): Rename to ...
+ 	(VEC_TA_GTY): ... here.
+ 	(DEF_VEC_I, DEF_VEC_ALLOC_I): New.
+ 	(DEF_VEC_P, DEF_VEC_ALLOC_P): Adjust.
+ 	(DEF_VEC_FUNC_P, DEF_VEC_ALLOC_FUNC_P): New, broken out of
+ 	DEF_VEC_P and DEF_VEC_ALLOC_P.
+ 	(DEF_VEC_O, DEF_VEC_ALLOC_O): Adjust.
+ 	(DEF_VEC_FUNC_O, DEF_VEC_ALLOC_FUNC_O): New, broken out of
+ 	DEF_VEC_O and DEF_VEC_ALLOC_O.
+ 	* global.c: Use DEF_VEC_I, DEF_VEC_ALLOC_I.
+ 	* lambda-code.c: Likewise.
+ 	* tree-into-ssa.c: Likewise.
+ 	* tree-ssa-live.c: Likewise.
+ 
+ 2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (update_ssa): Ensure that the operand cache
+ 	is up-to-date.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
+ 	update_stmt_if_modified before calling update_ssa.
+ 
+ 2005-05-27  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/t-rtems: Remove roe multilib variant.
+ 
+ 2005-05-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR tree-optimization/9814
+ 	* ifcvt.c (noce_emit_move_insn): If we fail to recognize the move
+ 	instruction, add the necessary clobbers by re-expanding the RTL
+ 	for arithmetic operations via optab.c's expand_unop/expand_binop.
+ 	(noce_try_bitop): New function to optimize bit manipulation idioms
+ 	of the form "if (x & C) x = x op C" and "if (!(x & C) x = x op C".
+ 	(noce_process_if_block): Call noce_try_bitop.
+ 
+ 2005-05-26  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* reg-stack.c (convert_regs_entry, convert_regs_exit,
+ 	convert_regs_1, convert_regs_2, convert_regs): Delete prototypes.
+ 	(reg_to_stack): Move to end of the file.  Initialize the per
+ 	basic block information here, instead of...
+ 	(convert_regs_entry): Here.
+ 	(convert_regs): Change unused return type to void.
+ 
+ 2005-05-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-pch.c, timevar.c, timevar.h, unwind-compat.c,
+ 	unwind-dw2-fde-compat.c, unwind-dw2-fde.c, config/mmix/mmix.h,
+ 	config/rs6000/eabispe.h, config/rs6000/lynx.h,
+ 	config/sh/elf.h, config/sh/symbian-pre.h,
+ 	config/sparc/sparc-protos.h: Update copyright.
+ 
+ 2005-05-26  Mike Stump  <mrs@apple.com>
+ 
+ 	* darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
+ 	for Objective-C++.
+ 	
+ 2005-05-26  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-forwprop.c (forward_propagate_addr_expr):
+ 	See through ADDR_EXPR in finding place to propagate into.
+ 
+ 2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
+ 	cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
+ 	ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
+ 	tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
+ 	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-operands.c, tree-vect-analyze.c,
+ 	tree-vect-transform.c, tree-vectorizer.c, tree.c,
+ 	config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
+ 	config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
+ 	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+ 	config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
+ 	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+ 	config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
+ 	config/sh/ushmedia.h, config/sparc/sparc.c,
+ 	config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
+ 	typos.  Follow spelling conventions.
+ 	* doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
+ 	Follow spelling conventions.
+ 
+ 2005-05-26  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.c (mips_use_ins_ext_p): New helper function
+ 	that determines whether the MIPS32/64 R2 ext/ins should be used.
+ 	* config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
+ 	* config/mips/mips.md (extzv): Changed predicate for operand to
+ 	nonimmediate_operand. Add code to generate insn patterns for
+ 	extzvsi and extzvdi.
+ 	(extzv<mode>): New pattern to match mips32/64 r2 ext insn.
+ 	(insv): Similarly for insertion.
+ 	(insv<mode>): Similarly.
+ 
+ 2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* simplify-rtx.c (avoid_constant_pool_reference): Support
+ 	offsetted addresses in the constant pool.
+ 
+ 2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+ 	* df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+ 
+ 2005-05-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/21716
+ 	* reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
+ 	found in the basic block and last insn in the basic block is not
+ 	INSN_P.  Remove explicit unspec numbers that are no longer valid
+ 	from comments.
+ 
+ 2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-vect-transform.c (vectorizable_operation): Try word_mode
+ 	vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
+ 	if a vector mode is available.
+ 
+ 2005-05-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/21709
+ 	* fold-const.c (const_binop): Check for division by zero during
+ 	complex division.
+ 
+ 2005-05-26  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* reload1.c (verify_initial_elim_offsets): Add braces to avoid
+ 	having a declaration after a statement.
+ 
+ 2005-05-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* opt-functions.awk (var_type): New function.
+ 	(var_set): Use CLVC_STRING if var_type returns "const char *".
+ 	* opth-gen.awk: Use var_type to find out the types of variables.
+ 	Don't print comments above each "extern" definition.
+ 	* optc-gen.awk: Use var_type in the same way.
+ 	* opts.h (cl_var_cond): Rename to...
+ 	(cl_var_type): ...this.  Add CLVC_STRING.
+ 	(cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
+ 	with "var_type".
+ 	* opts.c (handle_option, option_enabled): Update after above name
+ 	change.  Cast flag_var before using it.  Handle CLVC_STRING.
+ 	
+ 	* config/alpha/alpha.h (alpha_tls_size): Delete.
+ 	* config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
+ 	(alpha_tune_string, alpha_tp_string, alpha_fprm_string)
+ 	(alpha_fptm_string, alpha_mlat_string): Delete.
+ 	(alpha_handle_option): Don't set the above variables here.  Use the
+ 	integer argument to check the validity of -mtls-size=.
+ 	* config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
+ 	(mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
+ 	(mtls-size=): Likewise.  Convert to a UInteger and initialize the
+ 	variable to 32.
+ 
+ 	* config/arc/arc.c (arc_cpu_string, arc_text_string)
+ 	(arc_data_string, arc_rodata_string): Delete.
+ 	(arc_handle_option): Don't set the above variables here.
+ 	* config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
+ 	and initialize them.
+ 
+ 	* config/arm/arm.c (target_fpu_name, target_fpe_name)
+ 	(target_float_abi_name, target_abi_name, structure_size_string)
+ 	(arm_pic_register_string): Delete.
+ 	(arm_handle_option): Don't set the above variables here, except
+ 	in the handling of -mhard-float and -msoft-float.
+ 	* config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
+ 	(mpic-register=, mstructure-size-boundary=): Add Var()s.
+ 
+ 	* config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
+ 	(avr_handle_option): Delete.
+ 	* config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
+ 	them.
+ 
+ 	* config/bfin/bfin.c (bfin_library_id): Delete.
+ 	(bfin_handle_option): Don't set it.
+ 	* config/bfin/bfin.opt (mshared-library-id=): Add Var().
+ 
+ 	* config/c4x/c4x.h (c4x_rpts_cycles): Delete.
+ 	* config/c4x/c4x.c (c4x_rpts_cycles): Delete.
+ 	(c4x_handle_option): Don't set c4x_rpts_cycles here.
+ 	* config/c4x/c4x.opt (mrpts=): Add Var().
+ 
+ 	* config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
+ 	cris_elinux_stacksize_str here.
+ 	* config/cris/aout.opt (melinux-stacksize=): Add Var().
+ 	* config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
+ 	(cris_tune_str, cris_elinux_stacksize_str): Delete.
+ 	* config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
+ 	(cris_tune_str, cris_elinux_stacksize_str): Delete.
+ 	(cris_handle_option): Don't set the above variables here.
+ 	* config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
+ 	(max-stackframe=): Add Var()s.
+ 
+ 	* config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
+ 	* config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
+ 	(ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
+ 	(ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
+ 	(ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
+ 	(ix86_branch_cost_string, ix86_align_funcs_string): Delete.
+ 	(ix86_handle_option): Don't set the above variables here.
+ 	* config/i386/i386.opt (malign-functions=, malign-jumps=)
+ 	(malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
+ 	(mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
+ 	Var()s.
+ 
+ 	* config/ia64/ia64.h (ia64_tls_size): Delete.
+ 	* config/ia64/ia64.c (ia64_tls_size): Delete.
+ 	(ia64_handle_option): Treat -mtls-size= as a UInteger option,
+ 	reading the integer argument from the "value" parameter.  Don't
+ 	set ia64_tls_size here.
+ 	* config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
+ 	Add Var() and Init().
+ 
+ 	* config/m32r/m32r.h (m32r_cache_flush_func): Delete.
+ 	(m32r_cache_flush_trap): Delete.
+ 	* config/m32r/m32r.c (m32r_cache_flush_func): Delete.
+ 	(m32r_cache_flush_trap): Delete.
+ 	(m32r_handle_option): Don't set the above variables when handling
+ 	-mflush-func= and -mflush-trap=.
+ 	* config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
+ 	and Init()s.
+ 
+ 	* config/mips/mips.h (mips_cache_flush_func): Delete.
+ 	* config/mips/mips.c (mips_arch_string, mips_tune_string)
+ 	(mips_cache_flush_func): Delete.
+ 	(mips_handle_option): Don't set the above variables when handling
+ 	-march=, -mtune= and -mflush-func=.
+ 	* config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
+ 
+ 	* config/s390/s390.c (s390_arch_string): Delete.
+ 	(s390_handle_option): Don't set it here.
+ 	* config/s390/s390.opt (march=): Add Var().
+ 
+ 	* config/sparc/sparc.h (sparc_cmodel_string): Delete.
+ 	* config/sparc/sparc.c (sparc_cmodel_string): Delete.
+ 	(sparc_handle_option): Don't set it here.
+ 	* config/sparc/sparc.opt (mcmodel=): Add Var().
+ 
+ 2005-05-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
+ 	call to convert_to_integer by building the NOP_EXPR directly.
+ 
+ 2005-05-25  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
+ 
+ 2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+ 	    Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (verify_expr, case ADDR_EXPR): Verify invariant,
+ 	constant and side_effects of the ADDR_EXPR are consistent.
+ 
+ 	* tree-nested.c (convert_local_reference): Set CURRENT_FUNCTION_DECL
+ 	appropriately around calls to recompute_tree_invarant_for_addr_expr.
+ 
+ 2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (GP_ARG_NUM_REG, FP_ARG_NUM_REG): New defines.
+ 	(s390_function_arg, s390_gimplify_va_arg): Use them.
+ 	(s390_register_info): Save only required subset of argument
+ 	registers into save area for va_list.
+ 	(s390_va_start): Initialize only required elements of va_list struct.
+ 	(s390_build_builtin_va_list): Set va_list_[gf]pr_counter_field.
+ 
+ 2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload1.c (verify_initial_elim_offsets): Return boolean status
+ 	instead of aborting.
+ 	(reload): Adapt verify_initial_elim_offsets call site.  Restart
+ 	main loop if some initial elimination offsets changed.
+ 
+ 2005-05-25  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* config/rs6000/lynx.h (CC1_SPEC): Use -maix-struct-return instead
+ 	of -mno-svr4-struct-return.
+ 
+ 2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/21705
+ 	
+ 	* tree-ssa-pre.c (in_fre): New static variable.
+ 	(create_value_expr_from): Recursively value number reference ops
+ 	in argument lists.
+ 	(can_value_number_call): Temporary restrict only exists for
+ 	PRE, not FRE.
+ 
+ 2005-05-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (rewrite_into_ssa, update_ssa): Replace
+ 	sizeof (bitmap *) with sizeof (bitmap).
+ 
+ 2005-05-25  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* lambda-code.c (perfect_nestify): Call update_stmt on the exit
+ 	condition.
+ 
+ 2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c (TARGET_INSN_VALID_WITHIN_DOLOOP): Set to
+ 	hook_bool_rtx_true.
+ 
+ 2005-05-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (ipa-inline.o): Add COEVERAGE_H dependency.
+ 	* cgraph.c (cgraph_create_node): Reset estimated_growth.
+ 	* cgraph.h (cgraph_global_info): Add estimated_growth.
+ 	* ipa-inline.c: Include coverage.h
+ 	(max_insns, max_count): New static variables.
+ 	(cgraph_estimate_size_after_inlining): Cache the result.
+ 	(cgraph_estimate_growth):
+ 	* passes.c (rest_of_clean_state): Kill coverage_end_function.
+ 	* timevar.def (TV_INLINE_HEURISTICS): New timevar.
+ 	* tree-optimize.c (init_tree_optimization_passes): Move profiling before
+ 	inlining.
+ 	(ipa_passes): Initialize bitmaps.
+ 
+ 2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* loop-doloop.c: Include "target.h". 
+ 	  (doloop_valid_p): Move tests to function in targhooks.c.
+ 	* target.h (struct gcc_target): New target hook
+ 	  "insn_valid_within_doloop".
+ 	* target-def.h: Define default value for "insn_valid_within_doloop".
+ 	  (TARGET_INITIALIZER): Insert new target hook into initializer.
+ 	* targhooks.c (default_insn_valid_within_doloop): New function.
+ 	* targhooks.h (default_insn_valid_within_doloop): Declare.
+ 	* hooks.c (hook_bool_rtx_true): New function.
+ 	* hooks.h (hook_bool_rtx_true): Declare.
+ 	* doc/tm.texi: Add documentation for new target hook.
+ 
+ 2005-05-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/21412
+ 	* config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): New macro
+ 	* config/sparc/sparc-protos.h (tls_symbolic_operand): Delete.
+ 	(sparc_tls_referenced_p): New prototype.
+ 	* config/sparc/sparc.c (tls_symbolic_operand): Delete.
+ 	(sparc_expand_move): Look for TLS addresses with constant offsets.
+ 	(legitimate_constant_p): Use SPARC_SYMBOL_REF_TLS_P instead of
+ 	tls_symbolic_operand.
+ 	(legitimate_pic_operand_p): Likewise.
+ 	(legitimate_address_p): Likewise.
+ 	(legitimize_address): Likewise.
+ 	(sparc_tls_symbol_ref_1): New function.
+ 	(sparc_tls_referenced_p): New function.
+ 	* config/sparc/predicates.md (tgd_symbolic_operand): Use
+ 	SYMBOL_REF_TLS_MODEL instead of tls_symbolic_operand.
+ 	(tld_symbolic_operand): Likewise.
+ 	(tie_symbolic_operand): Likewise.
+ 	(tle_symbolic_operand): Likewise.
+ 
+ 2005-05-24  DJ Delorie  <dj@redhat.com>
+ 	
+ 	* common.opt (-Wattributes): New.  Default true.
+ 	* doc/invoke.texi (-Wno-attributes): Document.
+ 	
+ 	* attribs.c (decl_attributes): Move warning control from if() to
+ 	warning(OPT_*).
+ 	* c-common.c (handle_packed_attribute): Likewise.
+ 	(handle_nocommon_attribute): Likewise.
+ 	(handle_common_attribute): Likewise.
+ 	(handle_noreturn_attribute): Likewise.
+ 	(handle_noinline_attribute): Likewise.
+ 	(handle_always_inline_attribute): Likewise.
+ 	(handle_used_attribute): Likewise.
+ 	(handle_unused_attribute): Likewise.
+ 	(handle_const_attribute): Likewise.
+ 	(handle_transparent_union_attribute): Likewise.
+ 	(handle_constructor_attribute): Likewise.
+ 	(handle_destructor_attribute): Likewise.
+ 	(handle_mode_attribute): Likewise.
+ 	(handle_alias_attribute): Likewise.
+ 	(handle_visibility_attribute): Likewise.
+ 	(handle_tls_model_attribute): Likewise.
+ 	(handle_malloc_attribute): Likewise.
+ 	(handle_returns_twice_attribute): Likewise.
+ 	(handle_pure_attribute): Likewise.
+ 	(handle_deprecated_attribute): Likewise.
+ 	(handle_vector_size_attribute): Likewise.
+ 	(handle_nothrow_attribute): Likewise.
+ 	(handle_cleanup_attribute): Likewise.
+ 	(handle_warn_unused_result_attribute): Likewise.
+ 	(handle_sentinel_attribute): Likewise.
+ 	* c-decl.c (diagnose_mismatched_decls): Likewise.
+ 	(start_decl): Likewise.
+ 	(grokdeclarator): Likewise.
+ 	(start_function): Likewise.
+ 	* c-format.c (check_function_format): Likewise.
+ 	* stor-layout.c (place_field): Likewise.
+ 	(finalize_record_size): Likewise.
+ 	* tree.c (handle_dll_attribute)): Likewise.
+ 	* varasm.c (default_assemble_visibility): Likewise.
+ 	* config/darwin.c (darwin_handle_weak_import_attribute): Likewise.
+ 	(darwin_assemble_visibility): Likewise.
+ 	* config/arc/arc.c (arc_handle_interrupt_attribute): Likewise.
+ 	* config/arm/arm.c (arm_handle_fndecl_attribute): Likewise.
+ 	(arm_handle_isr_attribute): Likewise.
+ 	* config/avr/avr.c (avr_handle_progmem_attribute): Likewise.
+ 	(avr_handle_fndecl_attribute): Likewise.
+ 	* config/bfin/bfin.c (handle_int_attribute): Likewise.
+ 	* config/c4x/c4x.c (c4x_handle_fntype_attribute): Likewise.
+ 	* config/h8300/h8300.c (h8300_handle_fndecl_attribute): Likewise.
+ 	(h8300_handle_eightbit_data_attribute): Likewise.
+ 	(h8300_handle_tiny_data_attribute): Likewise.
+ 	* config/i386/i386.c (ix86_handle_cdecl_attribute): Likewise.
+ 	(ix86_handle_regparm_attribute): Likewise.
+ 	(ix86_handle_struct_attribute): Likewise.
+ 	* config/i386/winnt.c (ix86_handle_shared_attribute): Likewise.
+ 	(i386_pe_encode_section_info): Likewise.
+ 	* config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
+ 	* config/ip2k/ip2k.c (ip2k_handle_progmem_attribute): Likewise.
+ 	(ip2k_handle_fndecl_attribute): Likewise.
+ 	* config/m32r/m32r.c (m32r_handle_model_attribute): Likewise.
+ 	* config/m68hc11/m68hc11 (m68hc11_handle_page0_attribute): Likewise.
+ 	(m68hc11_handle_fntype_attribute): Likewise.
+ 	(m68hc11_encode_section_info): Likewise.
+ 	* config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
+ 	* config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
+ 	* config/ns32k/ns32k.c (ns32k_handle_fntype_attribute): Likewise.
+ 	* config/rs6000/rs6000.c (rs6000_handle_longcall_attribute): Likewise.
+ 	* config/sh/sh.c (sh_handle_interrupt_handler_attribute): Likewise.
+ 	(sh_handle_sp_switch_attribute): Likewise.
+ 	(sh_handle_trap_exit_attribute): Likewise.
+ 	* config/sh/symbian.c (sh_symbian_dllimport_p): Likewise.
+ 	(sh_symbian_handle_dll_attribute): Likewise.
+ 	* config/stormy16/stormy16.c (xstormy16_handle_interrupt_attribute): Likewise.
+ 	(xstormy16_handle_below100_attribute): Likewise.
+ 	* config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
+ 
+ 	* c-common.c (unsigned_conversion_warning): Move warning control
+ 	from if() to warning(OPT_*).
+ 	(c_common_truthvalue_conversion): Likewise.
+ 	(c_do_switch_warnings): Likewise.
+ 	* c-decl.c (diagnose_mismatched_decls): Likewise.
+ 	(diagnose_mismatched_decls): Likewise.
+ 	(define_label): Likewise.
+ 	(grokdeclarator): Likewise.
+ 	* c-format.c (check_format_info): Likewise.
+ 	* c-lex.c (interpret_integer): Likwise.
+ 	(lex_string): Likewise.
+ 	* c-opts.c (c_common_post_options): Likewise.
+ 	* c-parser.c (c_parser_unary_expression): Likewise.
+ 	* c-pragma.c (handle_pragma_redefine_extname): Likewise.
+ 	(handle_pragma_extern_prefix): Likewise.
+ 	* c-typeck.c (build_binary_op): Likewise.
+ 	* gcse.c (is_too_expensive): Likewise.
+ 	* opts.c (decode_options): Likewise.
+ 	* stor-layout.c (place_field): Likewise.
+ 	* tree-cfg.c (remove_bb): Likewise.
+ 
+ 	* c.opt (-Wreturn-type): Add Var(warn_return_type).
+ 	* flags.h (warn_return_type): Remove.
+ 	* toplev.c (warn_return_type): Likewise.
+ 
+ 2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure.ac: Don't use gcc_AC_C_LONG_LONG.  Check for
+ 	existence of long long and __int64 before determining their size.
+ 	* aclocal.m4: Delete gcc_AC_C_LONG_LONG.
+ 	* configure, config.h.in:  Regenerate.
+ 
+ 2005-05-24  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* configure: Regenerate.
+ 
+ 2005-05-24  Ziemowit Laski  <zlaski@apple.com>
+ 
+ 	* c-common.h (objc_comptypes): Remove prototype.
+ 	(objc_compare_types): New prototype.
+ 	(objc_volatilized_decl): Likewise.
+ 	(objc_type_quals_match): Likewise.
+ 	* c-decl.c (objc_mark_locals_volatile): Streamline by calling
+ 	objc_volatilize_decl().
+ 	* c-typeck.c (comp_target_types): Remove third parameter; do
+ 	not call objc_comptypes().
+ 	(comptypes): Remove calls to objc_comptypes().
+ 	(build_function_call): Extend compatible prototype check to ObjC.
+ 	(build_conditional_expr): Adjust call to comp_target_types().
+ 	(convert_for_assignment): Call objc_compare_types() instead of
+ 	objc_comptypes(); adjust calls to comp_target_types(); call
+ 	objc_type_quals_match() before issuing qualifier mismatch
+ 	warnings.
+ 	(build_binary_op): Call objc_compare_types() before issuing
+ 	pointer mismatch warnings; adjust calls to
+ 	comp_target_types().
+ 	* stub-objc.c (objc_comptypes): Remove stub.
+ 	(objc_compare_types): New stub.
+ 	(objc_volatilized_decl): Likewise.
+ 	(objc_type_quals_match): Likewise.
+ 
+ 2005-05-24  Paolo Carlini  <pcarlini@suse.de>
+ 
+ 	* config/ia64/ia64intrin.h: Define nothing for C++:
+ 	overloaded builtins have been ported to C++.
+ 
+ 2005-05-24  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-nested.c (build_addr): New "context" argument.  Temporarily
+ 	set current_function_decl around the call to build the ADDR_EXPR.
+ 	(get_static_chain): Pass proper context to build_addr.
+ 	(convert_nl_goto_reference): Likewise.
+ 	(convert_tramp_reference): Likewise.
+ 	(final_nesting_tree_1): Likewise.
+ 	* tree-profile.c (tree_gen_interval_profiler): Likewise.
+ 	(tree_gen_pow2_profiler): Likewise.
+ 	(tree_gen_one_value_profiler): Likewise.
+ 	* tree-ssa-loop-ivopts.c (build_addr_strip_iref): Likewise.
+ 	* tree.h (build_addr): Update prototype.
+ 
+ 2005-05-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow.h (bb_ann_d): Remove has_escape_site.
+ 	* tree-ssa-alias.c (compute_points_to_addr_escape): Don't
+ 	write to has_escape_site.
+ 
+ 2005-05-24  Jeff Law  <law@redhat.com>
+ 
+ 	* Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h.
+ 	* tree-cfg.c: Include tree-ssa-propagate.h.
+ 	(replace_uses_by): Call recompute_tree_invarant_for_addr_expr as
+ 	needed.
+ 
+ 2005-05-24  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+ 	__NO_FPRS__ when 'f' class registers will not be available. 
+ 
+ 2005-05-24  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.c (m32r_expand_block_move):  Return 0 if
+ 	nothing was done.
+ 	* config/m32r/m32r.md (movmemsi):  If m32r_expand_block_move did
+ 	nothing then FAIL.
+ 	* config/m32r/m32r/m32r-protos.h  (m32r_expand_block_move): Update
+ 	prototype.
+ 
+ 2005-05-23  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (cprop_into_stmt): Do not call
+ 	recompute_tree_invariant_for_addr_expr here.
+ 	(optimize_stmt): Call it here instead and do so if anything
+ 	at all has changed in the statement and the RHS is an ADDR_EXPR.
+ 	* tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): If
+ 	needed, call recompute_tree_invariant_for_addr_expr.
+ 	* tree-ssa-propagate.c (substitute_and_fold): Call
+ 	recompute_tree_invariant_for_addr_expr as needed.
+ 
+ 2005-05-23  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_optimize_prologue): Don't replace an insn
+ 	saving less registers than the replacement.
+ 
+ 2005-05-23  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-flow.h (stmt_ann_d): Kill GTY ((skip)) mark on BB.
+ 
+ 2005-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc-protos.h (sparc_expand_move): New prototype.
+ 	* config/sparc/sparc.c (sparc_expand_move): New function.
+ 	(sparc_emit_set_const64): Rewrite assert condition on entry.
+ 	(legitimate_constant_p) <CONST_VECTOR>: New case.
+ 	(legitimize_pic_address): Use TARGET_ARCH64 to select the mode.
+ 	* config/sparc/sparc.md (movqi, movhi, movsi, movdi, movV32,
+ 	movV64, movtf): Use nonimmediate_operand for the first operand.
+ 	Rewrite.  Only invoke sparc_expand_move.
+ 	* config/sparc/predicates.md (input_operand): Reorder tests.
+ 
+ 2005-05-23  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Add
+ 	missing return statement.
+ 
+ 2005-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Use
+ 	emit_move_insn for moves to TFmode stack slots.
+ 
+ 2005-05-21  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-stdarg.c (execute_optimize_stdarg): Handle references
+ 	to va_list of the form &va[0].
+ 
+ 2005-05-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (insn-emit.o): Add basic-block.h dependency.
+ 	* genemit.c (main): Make insn-emit to include basic-block.h too.
+ 
+ 2005-05-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c (cgraph_expand_function): Force function being lowered.
+ 
+ 2005-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (emit_unlikely_jump, emit_load_locked,
+ 	emit_store_conditional): Split out from ...
+ 	(alpha_split_atomic_op): ... here.
+ 	(alpha_split_compare_and_swap): New; extract from .md file.
+ 	(alpha_split_lock_test_and_set): Likewise.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/sync.md (sync_compare_and_swap<I48MODE>): Move
+ 	split code into alpha.c.
+ 	(sync_lock_test_and_set<I48MODE>): Likewise.
+ 
+ 2005-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* unwind.h, unwind-pe.h: Revert gcc_unreachable change of 05-17.
+ 
+ 2005-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (mulv4si3): Use all register inputs.
+ 	(mulv2di3): Likewise.
+ 
+ 2005-05-19  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-loop-ivopts.c (determine_base_object): Use
+ 	build_fold_addr_expr to generate trees of correct type.
+ 	Use fold_buildN if possible.
+ 
+ 2005-05-19  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (REG_BR_PROB_BASE): Define.
+ 	* cgraph.c (cgraph_create_edge): Initialize loop_nest and count.
+ 	(dump_cgraph_node): Dump count.
+ 	(cgraph_clone_edge): Rescale counts.
+ 	(cgraph_clone_node): Likewise.
+ 	* cgraph.h: Include basic-block.h
+ 	(cgraph_node): Add count.
+ 	(cgraph_edge): Add count and loop_nest.
+ 	(cgraph_node, cgraph_edge, cgraph_clone_edge, cgraph_clone_node):
+ 	Update prototypes.
+ 	* cgraphunit.c: Kill now redundant inlining comment.
+ 	(cgraph_create_edges): Make static, maintain current basic block;
+ 	fix pasto.
+ 	(record_call_1): Fill in new fields.
+ 	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
+ 	cgraph_clone_node.
+ 	(cgraph_decide_recursive_inlining): Likewise.
+ 	* rtl.h (REG_BR_PROB_BASE): Kill.
+ 	* tree-inline.c (copy_body_r): Update call of cgraph_clone_edge.
+ 	(expand_call_inline): Update call of cgraph_create_edge.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 
+ 2005-05-19  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use the
+ 	new rs6000_explicit_options structure.
+ 
+ 2005-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21390
+ 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Move 
+ 	TFmode code swapping ...
+ 	(alpha_emit_xfloating_compare): ... here.
+ 	(alpha_emit_setcc): Update to match.
+ 	(alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS.
+ 
+ 2005-05-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21657
+ 	* config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
+ 	memory indirection in local-dynamic case.
+ 
+ 2005-05-18  Jie Zhang  <jie.zhang@analog.com>
+ 	    Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (branch_dest): Add comment why it's
+ 	necessary.
+ 	* config/bfin/bfin.md (attr "length" default): Change the offset of
+ 	forward conditional branch of length 4 from 4096 to 4092.
+ 
+ 2005-05-19  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* unwind-compat.c: Include tconfig.h and tsystem.h.
+ 	* unwind-dw2-fde-compat.c: Likewise.
+ 
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 21541
+ 	* ifcvt.c (noce_process_if_block): Avoid conversion when the
+ 	memory destination is readonly.
+ 
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 21541
+ 	* tree-ssa-operands.c (opf_non_specific): New.
+ 	(get_asm_expr_operands): Set it.
+ 	(add_call_clobber_ops, add_call_read_ops): Likewise.
+ 	(add_stmt_operand): Test it instead of opf_kill_def when
+ 	considering unmodifiable variables.
+ 
+ 	* tree-ssa-operands.c (get_expr_operands): Fix exact test.
+ 
+ 2005-05-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgexpand.c, tree-cfg.c, tree-inline.c, tree-optimize.c,
+ 	tree-ssa-forwprop.c: Fix comment typos.
+ 	* doc/invoke.texi: Fix a typo.
+ 
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (powerpc-*-linux*): Include linux64.opt when
+ 	including linux64.h.
+ 
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-cfg.c (pass_remove_useless): Revert last change.
+ 	* tree-optimize.c (init_tree_optimization_passes): Initialize
+ 	all_lowering_passes with PROP_gimple_any.
+ 
+ 2005-05-18  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (insvsi_internal1): Subtract shift from
+ 	the mask end.
+ 	
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-ssa-forwprop.c (cfg_changed): New.
+ 	(tidy_after_forward_propagate_addr): New.
+ 	(forward_propagate_addr_expr): Use it, and fold_stmt_inplace.
+ 	(forward_propagate_addr_into_variable_array_index): Likewise.
+ 	(tree_ssa_forward_propagate_single_use_vars): Cleanup cfg if
+ 	edges were removed.
+ 
+ 2005-05-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* dummy-checksum.c: New.
+ 	* genchecksum.c: New.
+ 	* c.opt (print_pch_checksum): New flag.
+ 	* c-pch.c (struct c_pch_validity): Make much shorter.
+ 	(no_checksum): New.
+ 	(host_machine): Remove.
+ 	(target_machine): Remove.
+ 	(get_ident): Change PCH version number.
+ 	(pch_init): When -fverbose-asm, print out the compiler fingerprint.
+ 	Don't put triplets or version string in PCH validity data.
+ 	Do put the compiler checksum in the validity data.
+ 	(c_common_valid_pch): Don't check triplets or version string.  Do
+ 	check checksum.
+ 	(c_common_print_pch_checksum): New.
+ 	* c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum.
+ 	Print fingerprint with -v.
+ 	* c-common.h (c_common_print_pch_checksum): New.
+ 	(executable_checksum): New.
+ 	* Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c.
+ 	(cc1-dummy): New rule.
+ 	(cc1-checksum.c): New rule.
+ 	(cc1-checksum.o): New rule.
+ 	(cc1): Add checksum support.
+ 	(build/genchecksum): New.
+ 	(build/genchecksum.o): New.
+ 	(dummy-checksum.o): New.
+ 	(genobjnames): Add genchecksum.o.
+ 	(mostlyclean): Remove *-checksum.c.
+ 	(gnucompare): Add libgcc to list of directories checked.
+ 	Make comparison problems in libgcc/ and with checksum files only
+ 	be warnings.
+ 	* doc/invoke.texi (Precompiled Headers): Remove caution.
+ 	Document that it must be the exact same binary.  Add a few
+ 	known-safe flags to the list.
+ 
+ 	* rs6000/predicates.md (fix_trunc_dest_operand): New.
+ 	* rs6000/rs6000.md (fix_truncdfsi2): Use fix_trunc_dest_operand.
+ 	Check that a memory operand is valid before trying to use it.
+ 	
+ 	* tree-cfg.c (pass_remove_useless): This pass works on trees.
+ 
+ 2005-05-18  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree.c (build1_stat): Don't try to handle two-operand
+ 	tree codes.
+ 
+ 2005-05-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (sh*-*-*): Define SUPPORT_* macros to 1.
+ 	* config/sh/sh.h: Update mask names throughout.
+ 	(target_flags, ISIZE_BIT, DALIGN_BIT, SH1_BIT, SH2_BIT, SH3_BIT)
+ 	(SH_E_BIT, HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, SH4A_BIT, FMOVD_BIT)
+ 	(SH5_BIT, SPACE_BIT, BIGTABLE_BIT, RELAX_BIT, USERMODE_BIT)
+ 	(HITACHI_BIT, NOMACSAVE_BIT, PREFERGOT_BIT, PADSTRUCT_BIT)
+ 	(LITTLE_ENDIAN_BIT, IEEE_BIT, SAVE_ALL_TR_BIT, HARD_SH2A_BIT)
+ 	(HARD_SH2A_DOUBLE_BIT, INDEXED_ADDRESS_BIT, PT_FIXED_BIT)
+ 	(INVALID_SYMBOLS_BIT, ADJUST_UNROLL_BIT, TARGET_DUMPISIZE)
+ 	(TARGET_ALIGN_DOUBLE, TARGET_SH1, TARGET_SH2, TARGET_SH3)
+ 	(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH5, TARGET_FMOVD)
+ 	(TARGET_IEEE, TARGET_SMALLCODE, TARGET_BIGTABLE, TARGET_RELAX)
+ 	(TARGET_HITACHI, TARGET_NOMACSAVE, TARGET_PADSTRUCT)
+ 	(TARGET_LITTLE_ENDIAN, TARGET_USERMODE, TARGET_PREFERGOT)
+ 	(TARGET_SAVE_ALL_TARGET_REGS, TARGET_ALLOW_INDEXED_ADDRESS)
+ 	(TARGET_PT_FIXED, TARGET_INVALID_SYMBOLS, TARGET_ADJUST_UNROLL)
+ 	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E)
+ 	(TARGET_SWITCH_SH2A, TARGET_SWITCH_SH2A_SINGLE_ONLY)
+ 	(TARGET_SWITCH_SH2A_SINGLE, TARGET_SWITCH_SH2A_NOFPU)
+ 	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E, TARGET_SWITCH_SH4_SINGLE_ONLY)
+ 	(TARGET_SWITCH_SH4_SINGLE, TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4)
+ 	(TARGET_SWITCH_SH4A, TARGET_SWITCH_SH4A_SINGLE_ONLY)
+ 	(TARGET_SWITCH_SH4A_SINGLE, TARGET_SWITCH_SH4A_NOFPU)
+ 	(TARGET_SWITCH_SH4AL, TARGET_SWITCH_SH5_64MEDIA)
+ 	(TARGET_SWITCH_SH5_64MEDIA_NOFPU, TARGET_SWITCHES_SH5_32MEDIA)
+ 	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU, TARGET_SWITCH_SH5_32_ANY_EXTRA)
+ 	(TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA, TARGET_SWITCHES)
+ 	(SUBTARGET_SWITCHES): Delete.
+ 	(TARGET_SH2E, TARGET_SH2A, TARGET_SH2A_SINGLE, TARGET_SH2A_DOUBLE)
+ 	(TARGET_SH3E, TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARVARD)
+ 	(TARGET_FPU_DOUBLE, TARGET_SH4A_ARCH, TARGET_SHMEDIA32)
+ 	(TARGET_SHMEDIA64): Redefine using other TARGET_* macros.
+ 	(TARGET_SH4): Undefine options.h definition and check MASK_SH1 as well.
+ 	(SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4, SUPPORT_SH4_SINGLE)
+ 	(SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Make numeric.
+ 	(SUPPORT_SH2): Define to 1 if SUPPORT_SH1.
+ 	(SUPPORT_SH3): Likewise SUPPORT_SH2.
+ 	(SUPPORT_SH4_NOFPU): Likewise SUPPORT_SH3.
+ 	(SUPPORT_SH4A_NOFPU, SUPPORT_SH4AL, SUPPORT_SH2A_NOFPU): Likewise
+ 	SUPPORT_SH4_NOFPU.
+ 	(SUPPORT_SH3E): Likewise SUPPORT_SH2E.
+ 	(SUPPORT_SH4_SINGLE_ONLY, SUPPORT_SH4A_SINGLE_ONLY)
+ 	(SUPPORT_SH2A_SINGLE_ONLY): Likewise SUPPORT_SH3E.
+ 	(SUPPORT_SH4A): Likewise SUPPORT_SH4.
+ 	(SUPPORT_SH4A_SINGLE): Likewise SUPPORT_SH4_SINGLE.
+ 	(SUPPORT_SH5_32MEDIA): Likewise SUPPORT_SH5_COMPACT.
+ 	(SUPPORT_SH5_32MEDIA_NOFPU): Likewise SUPPORT_SH5_COMPACT_NOFPU.
+ 	(SUPPORT_ANY_SH5_32MEDIA, SUPPORT_ANY_SH5_64MEDIA)
+ 	(SUPPORT_ANY_SH5): New macros.
+ 	(TARGET_NONE): Replace with...
+ 	(MASK_ARCH): ...this new macro.
+ 	* config/sh/elf.h: Update mask names
+ 	* config/sh/linux.h: Likewise.
+ 	* config/sh/little.h: Likewise.
+ 	* config/sh/netbsd-elf.h: Likewise.
+ 	* config/sh/symbian-pre.h: Likewise.
+ 	* config/sh/sh.c (sh_handle_option): New function.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(calc_live_regs): Use MASK_FPU_SINGLE instead of FPU_SINGLE_BIT.
+ 	(sh_target_switches, target_switches): Delete.
+ 	(sh_pch_valid_p): Check for specific differences in the target_flags
+ 	settings.
+ 	(sh_init_cumulative_args): Use MASK_HITACHI instead of HITACHI_BIT.
+ 	* config/sh/sh.opt: New file.
+ 
+ 2005-05-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21632
+ 	* config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use
+ 	small_addr_symbolic_operand.
+ 
+ 2005-05-18  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
+ 	propagate an ADDR_EXPR if the definition and use sites are
+ 	in different EH regions.
+ 
+ 2005-05-18  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* read-rtl.c (mode_attr_index): Use obstack_grow0, not
+ 	obstack_grow.
+ 
+ 2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfgrtl.c (purge_dead_edges): Don't remove fake edges.
+ 
+ 2005-05-18  Daniel Berlin  <dberlin@dberlin.org>
+ 	
+ 	Fix PR tree-optimization/21407
+ 
+ 	* tree-ssa-operands.c (note_addressable): Change
+ 	COMPONENT_REF handling in response to aliasing
+ 	discussion.
+ 
+ 2005-05-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS.
+ 	* config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise.
+ 	* config/sparc/sp-elf.h (TARGET_DEFAULT): Delete.
+ 	* doc/invoke.texi (SPARC options): Document that -mapp-regs is
+ 	the default on Solaris too.
+ 
+ 2005-05-17  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR
+ 	is okay too.
+ 
+ 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* timevar.def (TV_SCEV_CONST): New timevar.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_scev_cprop.
+ 	* tree-pass.h (pass_scev_cprop): Declare.
+ 	* tree-scalar-evolution.c (scev_const_prop): New function.
+ 	* tree-scalar-evolution.h (scev_const_prop): Declare.
+ 	* tree-ssa-loop.c (gate_scev_const_prop, pass_scev_cprop):
+ 	New.
+ 	* tree-cfg.c (replace_uses_by): Export.
+ 	* tree-flow.h (replace_uses_by): Declare.
+ 
+ 2005-05-17  Ziemowit Laski  <zlaski@apple.com>
+ 	    Mike Stump  <mrs@apple.com>
+ 
+ 	Yet more Objective-C++...
+ 
+ 	* c-common.h (objc_finish_try_stmt): Add.
+ 	(objc_build_synchronized): Add.
+ 	(objc_generate_write_barrier): Add.
+ 	* stub-objc.c (objc_build_synchronized): Add return value.
+ 	(objc_finish_try_stmt): Likewise.
+ 	(objc_generate_write_barrier): Add.
+ 
+ 	* c-common.h (objc_rewrite_function_call): Add.
+ 	* c-typeck.c (build_function_call): Allow objc to rewrite
+ 	FUNCTION_DECLs.
+ 	(build_modify_expr): Allow objc to generate write barriers.
+ 	* c.opt (Wassign-intercept): Add.
+ 	(Wstrict-selector-match): Add.
+ 	(fobjc-call-cxx-cdtors): Add.
+ 	(fobjc-direct-dispatch): Add.
+ 	(fobjc-gc): Add.
+ 	* dbxout.c (get_lang_number): Add Objective-C++ support.
+ 	* doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise.
+ 	(-Wstrict-selector-match): Likewise.
+ 	(-fobjc-direct-dispatch): Likewise.
+ 	(-Wassign-intercept): Likewise.
+ 	(Overall Options): Likewise.
+ 	* gengtype.c (get_output_file_with_visibility): Likewise.
+ 	* stub-objc.c (objc_rewrite_function_call): Add.
+ 	* config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support.
+ 
+ 	* c-common.c (flag_objc_exceptions): Remove.
+ 	(flag_objc_sjlj_exceptions): Remove.
+ 	* c-decl.c (objc_mark_locals_volatile): Don't change decls
+ 	that are already ok.
+ 	* c-opts.c (c_common_handle_option, case
+ 	OPT_fobjc_exceptions): Remove.
+ 	(case OPT_fobjc_sjlj_exceptions): Remove
+ 	* c.opt (fobjc-call-cxx-cdtors): Have opt create the flag.
+ 	(fobjc-exceptions): Likewise.
+ 	(fobjc-sjlj-exceptions): Likewise.
+ 	* config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add.
+ 	(OFFS_ASSIGNIVAR_FAST): Add.
+ 	
+ 2005-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (movhi): Do not test constness
+ 	of operand #1 twice.
+ 	(movsi): Likewise.
+ 	(movdi): Unconditionally accept zero as second operand
+ 	when the first is memory.
+ 	(movdi_insn_sp32): Handle above case.
+ 	(DImode splitter): Use predicates.
+ 	(DImode splitter): Use const_zero_operand predicate.
+ 	(movsf_insn): Swap 2 alternatives.
+ 
+ 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (find_bivs, find_givs_in_stmt_scev): Apply
+ 	expand_simple_operations to bases of the ivs.
+ 	(tree_int_cst_sign_bit): Export.
+ 	* tree-flow.h (expand_simple_operations): Declare.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Use
+ 	tree_int_cst_sign_bit.
+ 	(expand_simple_operations): Export.
+ 	* tree.h (tree_int_cst_sign_bit): Declare.
+ 
+ 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-cfg.c (tree_can_merge_blocks_p): Allow phi nodes in the
+ 	merged block.
+ 	(replace_uses_by): New function.
+ 	(tree_merge_blocks): Eliminate the phi nodes in the merged block.
+ 	* tree-flow.h (fold_stmt_inplace): Declare.
+ 	* tree-ssa-ccp.c (fold_stmt_inplace): New function.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Update dominance
+ 	info after cfg cleanup.
+ 
+ 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* cfgloop.h (just_once_each_iteration_p): Declaration changed.
+ 	* cfgloopanal.c (just_once_each_iteration_p): Make the loop argument
+ 	const.
+ 
+ 2005-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* ggc-page.c (ggc_alloc_stat): Record amount of memory allocated.
+ 	* ggc-zone.c (ggc_alloc_zone_1): Ditto.
+ 	* timevar.c (timevar_ggc_mem_total): New variable.
+ 	(GGC_MEM_BOUND): New constant.
+ 	(get_time): Record ggc memory status.
+ 	(timevar_accumulate): Accumulate amount of ggc memory.
+ 	(timevar_print): Print consumption of ggc memory.
+ 	* timevar.def (TV_FIND_REFERENCED_VARS, TV_TREE_REDPHI,
+ 	TV_TREE_LOOP_BOUNDS, TV_TREE_LOOP_IVCANON, TV_TREE_VECTORIZATION,
+ 	TV_TREE_LINEAR_TRANSFORM): Shorten strings to fit in 22 characters.
+ 	* timevar.h (struct timevar_time_def): Add ggc_mem field.
+ 	(timevar_ggc_mem_total): Declare.
+ 
+ 2005-05-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (update_ssa): Clean up by shortening the
+ 	live range of DFS.
+ 
+ 2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md (ncond, ocode, rcond): Remove separate
+ 	define_code_attr.
+ 	("b<ncond:code>", "b<ocond:code>", "b<rcond:code>")
+ 	("*b<ncond:code>_reversed", "*b<ocond:code>_reversed")
+ 	("*b<rcond:code>_reversed", "s<ncond:code>", "s<rcond:code>")
+ 	("s<ocond:code>"): Rename from respectively "b<ncond>",
+ 	"b<ocond>", "b<rcond>", ("*b<ncond>_reversed",
+ 	"*b<ocond>_reversed", "*b<rcond>_reversed", "s<ncond>",
+ 	"s<rcond>" and "s<ocond>".
+ 	("b<ocond:code>", "*b<ocond:code>_reversed")
+ 	("*b<rcond:code>_reversed"): Remove extraneous backslashes in
+ 	output statement section.
+ 
+ 2005-05-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-typeck.c (common_type): Also handle BOOLEAN_TYPEs.
+ 
+ 2005-05-17  Steven Bosscher  <stevenb@suse.de>
+ 	    Stuart Hastings <stuart@apple.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 
+ 	* cgraph.h (cgraph_node): Add 'lowered' state.
+ 	(cgraph_lower_function): Declare.
+ 	* cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
+ 	(cgraph_lower_function): New function.
+ 	(cgraph_create_edges): Deal with lowered function bodies.
+ 	(verify_cgraph_node): Likewise.
+ 	(cgraph_analyze_function): Do lowering job.
+ 	(cgraph_build_static_cdtor): Likewise.
+ 	* function.h (struct function): Add saved_eh and saved_cfg.
+ 	* integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
+ 	* tree-cfg.c (fold_cond_expr_cond): Export.
+ 	* tree-flow.h (fold_cond_expr_cond): Declare.
+ 	* tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
+ 	pointer-set.
+ 	(struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
+ 	in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
+ 	callee_cfun, block, eh_region, eh_region_offset.
+ 	(inlining_p): New predicate.
+ 	(remap_decl): Update for new inline_data; declare newly created inline
+ 	vars in low gimple way.
+ 	(copy_body_r): Update for new datastructure, simplify some of handling
+ 	when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
+ 	deal with RESX_EXPRs.
+ 	(copy_bb): New.
+ 	(copy_edges_for_bb): Likewise.
+ 	(remap_decl_1): New.
+ 	(copy_cfg_body): New.
+ 	(copy_generic_body): Rewrite to work on low gimple.
+ 	(copy_body): Turn into simple wrapper around copy_cfg_body.
+ 	(setup_one_parameter): Insert new statements into given basic block.
+ 	(initialize_initialized_parameters): Likewise, reorganize way things are
+ 	gimplified.
+ 	(declare_return_variable): Update for new inline data datastructure.
+ 	(inline_forbidden_p): Work on low gimple.
+ 	(estimate_num_insns): Likewise.
+ 	(expand_call_inline): Work on CFG.
+ 	(push_cfun, pop_cfun): New functions.
+ 	(cfun_stack): New stack.
+ 	(add_lexical_block): New function.
+ 	(gimple_expand_calls_inline): Work on basic block.
+ 	(optimize_inline_calls): Likewise.
+ 	(clone_body, save_body, unsave_ewpr_now): Update for new
+ 	datastructures.
+ 	(declare_inline_vars): Work on block instead of bind_expr.
+ 	(inlining_p): New predicate.
+ 	* tree-inline.h (push_cfun, pop_cfun): Declare.
+ 	* tree-optimize.c: Include except.h
+ 	(all_lowering_passes): New variable.
+ 	(execute_fixup_cfg, pass_fixup_cfg): New pass.
+ 	(init_tree_optimization_passes): Move some to all_lowering_passes.
+ 	(tree_lowering_passes): New function.
+ 	(tree_rest_of_compilation): Register cfg hooks; save/unsave eh.
+ 	* tree-pass.h (tree_lowering_passes): Declare
+ 
+ 2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* unwind-dw2-fde-darwin.c: Include tsystem.h.
+ 
+ 2005-05-17  Jeff Law  <law@redhat.com>
+ 
+ 	* Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h.
+ 	* tree-ssa-forwprop.c: Include langhooks.h.
+ 	(forward_propagate_addr_expr_into_variable_array_index): New.
+ 	(forward_propagate_addr_expr): New.
+ 	(tree_ssa_forward_propagate_single_use_vars): Loop over all
+ 	the statements in the block instead of just the last statement.
+ 	Call forward_propagate_addr_expr as needed.
+ 	(pass_forwprop): Update the SSA graph after forward propagation is
+ 	complete.
+ 
+ 2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* unwind-dw2-fde-glibc.c (base_from_cb_data,
+ 	_Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
+ 	appropriate.
+ 	* unwind-dw2-fde.c (__deregister_frame_info_bases,
+ 	base_from_object, fde_split, end_fde_sort): Likewise.
+ 	* unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op, 
+ 	execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
+ 	uw_init_context_1): Likewise.
+ 	* unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
+ 	_Unwind_Resume_or_Rethrow): Likewise.
+ 	* unwind-pe.h (__gxx_abort): Do not define.
+ 	(size_of_encoded_value, base_of_encoded_value,
+ 	read_encoded_value_with_base): Use gcc_unreachable.
+ 	* unwind.h (_Unwind_GetTextRelBase): Likewise.
+ 
+ 2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start)
+ 	(cfi_end): New macros.
+ 	(RETLDM): Use cfi_pop.  Expect an eight byte stack frame.
+ 	(ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros.  Create
+ 	an eight byte stack frame.
+ 	(__NR_tkill): Define.
+ 	(__div0): Use gettid tkill on GNU/Linux.
+ 	(_arm_return): Add CFI.
+ 	(Lchange_\register, .Lchange_lr): Create an eight byte stack frame.
+ 
+ 2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* configure.ac: Remove spaces around assignment to
+ 	gcc_cv_ld_sysroot.
+ 	* configure: Regenerated.
+ 
+ 2005-05-17  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete.
+ 	* config/rs6000/rs6000.c (rs6000_explicit_options): Add
+ 	aix_struct_ret.
+ 	(rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE.
+ 	Modify aix_struct_return variable, not target_flags.
+ 	(rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE.
+ 	(rs6000_return_in_memory): Test aix_struct_return.
+ 	* config/rs6000/rs6000.opt (maix-struct-return): Convert to
+ 	independent variable.  Report mxl-compat.
+ 
+ 2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.md (eh_return): Add missing DONE.
+ 
+ 2005-05-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr
+ 	field.
+ 	(mode_attr_index): Remove check for defined attribute.  Remove
+ 	infile parameter.  Change all callers.
+ 	(apply_mode_maps): Add unknown parameter.  Change caller.  Always
+ 	return after finding attribute.
+ 	(apply_macro_to_rtx): Add unknown_mode_attr parameter.  Change
+ 	callers.
+ 	(apply_macro_traverse): Set mtd->unknown_mode_attr.
+ 	(read_rtx): Use mtd.unknown_mode_attr to check for an undefined
+ 	attribute used for a mode.
+ 
+ 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-ssa-math-opts.c: New file.
+ 
+ 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in: Add tree-ssa-math-opts.c.
+ 	* expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
+ 	* fold-const.c (distribute_real_division): New.
+ 	(fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
+ 	* tree-pass.h (pass_cse_reciprocals): New.
+ 	* tree-optimize.c (init_tree_optimization_passes): Run it.
+ 	* doc/passes.texi: Document the new pass.
+ 
+ 2005-05-17  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/21595
+ 	* builtins.c (fold_builtin_constant_p): Handle
+ 	&"string cst"[0] as constant.
+ 
+ 2005-05-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (mulv16qi3, mulv2di3): New.
+ 
+ 2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/21492
+ 	* cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
+ 	src2 if src2 has been split.
+ 
+ 	PR tree-optimization/21610
+ 	* c-typeck.c (decl_constant_value_for_broken_optimization): If not
+ 	returning DECL, call unshare_expr.
+ 
+ 2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md: Unquote preparation and output statements.
+ 	(BWD, WD, BW): New, mode-macros.
+ 	(S, s, m, mm, nbitsm1): New, mode-attrs.
+ 	(szext, shift, shiftrt, ncond, ocond, rcond): New, code-macros.
+ 	(u, su, shlr, slr, ncond, ocond, rcond, rCC, oCC, roCC): New,
+ 	code-attrs.
+ 	("tst<mode>"): Replace "tstqi", "tsthi" and "tstsi".
+ 	("*cmp_ext<mode>"): Replace "*cmp_extsi" and "*cmp_exthi".
+ 	("*cmp_swapext<mode>"): Replace "*cmp_swapextqi" and
+ 	"*cmp_swapexthi".
+ 	("cmp<mode>"): Replace "cmphi" and "cmpqi".
+ 	("movdi"): Move misplaced head comment regarding necessity of
+ 	movdi from movsi to here.
+ 	("*mov_side<mode>_biap"): Replace "*mov_sideqi_biap" and
+ 	"*mov_sidehi_biap".
+ 	("*mov_side<mode>"): Replace "*mov_sideqi" and "*mov_sidehi".
+ 	("*mov_side<mode>_biap_mem", "*mov_sidehi_biap_mem"): Replace
+ 	"*mov_sideqi_biap_mem".
+ 	("*mov_side<mode>_mem"): Replace "*mov_sideqi_mem" and
+ 	"*mov_sidehi_mem".
+ 	("*clear_side<mode>_biap"): Replace "*clear_sidesi_biap",
+ 	"*clear_sidehi_biap" and "*clear_sideqi_biap".
+ 	("*clear_side<mode>"): Replace "*clear_sidesi", "*clear_sidehi"
+ 	and "*clear_sideqi".
+ 	("*ext_side<mode>si_biap"): Replace "*ext_sideqisi_biap" and
+ 	"*ext_sidehisi_biap".
+ 	("*ext_side<mode>si"): Replace "*ext_sideqisi" and
+ 	"*ext_sidehisi".
+ 	("reload_in<mode>"): Replace "reload_inhi" and "reload_inqi".
+ 	("reload_out<mode>"): Replace "reload_outhi" and "reload_outqi".
+ 	("extend<mode>di2"): Replace "extendhidi2" and "extendqidi2".
+ 	("extend<mode>si2"): Replace "extendhisi2" and "extendqisi2".
+ 	("zero_extend<mode>si2"): Replace "zero_extendhisi2" and
+ 	"zero_extendqisi2".
+ 	("*op_side<mode>_biap"): Replace "*op_sideqi_biap",
+ 	"*op_sidehi_biap" and "*op_sidesi_biap".
+ 	("*op_side<mode>"): Replace "*op_sideqi", "*op_sidehi" and
+ 	"*op_sidesi".
+ 	("*op_swap_side<mode>_biap"): Replace "*op_swap_sideqi_biap",
+ 	"*op_swap_sidehi_biap" and "*op_swap_sidesi_biap".
+ 	("*op_swap_side<mode>"): Replace "*op_swap_sideqi",
+ 	"*op_swap_sidehi" and "*op_swap_sidesi".
+ 	("sub<mode>3"): Replace "subhi3" and "subqi3", correcting a typo
+ 	in the N alternative of "subqi3".
+ 	("*extop<mode>si_side_biap"): Replace "*extopqisi_side_biap" and
+ 	"*extophisi_side_biap".
+ 	("*extop<mode>si_side"): Replace "*extopqisi_side" and
+ 	"*extophisi_side".
+ 	("*extop<mode>si_swap_side_biap"): Replace
+ 	"*extopqisi_swap_side_biap" and "*extophisi_swap_side_biap".
+ 	("*extop<mode>si_swap_side"): Replace "*extopqisi_swap_side" and
+ 	"*extophisi_swap_side".
+ 	("*extop<mode>si"): Replace "*extopqisi" and "*extophisi".
+ 	("*extop<mode>si_swap"): Replace "*extopqisi_swap" and
+ 	"*extophisi_swap".
+ 	("<u>mul<s><mode>3"): Replace "umulhisi3", "umulqihi3",
+ 	"mulqihi3", "mulhisi3" and "mulhisi3".
+ 	("<u>mulsidi3"): Replace "mulsidi3" and "umulsidi3".
+ 	("<su>mulsi3_highpart"): Replace "smulsi3_highpart" and
+ 	"umulsi3_highpart".
+ 	("xor<mode>3"): Replace "xorhi3" and "xorqi3".
+ 	("neg<mode>2"): Replace "negsi2", "neghi2" and "negqi2".
+ 	("one_cmpl<mode>2"): Replace "one_cmplhi2" and "one_cmplqi2".
+ 	("<shlr>si3"): Replace "ashrsi3", "lshrsi3" and "ashlsi3".
+ 	("ashr<mode>3"): Replace "ashrhi3" and "ashrqi3".
+ 	("*expanded_<shlr><mode>"): Replace "*expanded_ashrhi",
+ 	"*expanded_ashrqi", "*expanded_lshrhi" and "*expanded_lshrqi".
+ 	("*<shlr><mode>_lowpart"): Replace "*ashrhi_lowpart",
+ 	"*ashrqi_lowpart", "*lshrhi_lowpart" and "*lshrqi_lowpart".
+ 	("lshr<mode>3"): Replace "lshrhi3" and "lshrqi3".
+ 	("ashl<mode>3"): Replace "ashlhi3" and "ashlqi3".
+ 	("*ashl<mode>_lowpart"): Replace "*ashlqi_lowpart" and
+ 	"*ashlhi_lowpart".
+ 	("abs<mode>2"): Replace "abshi2" and "absqi2".
+ 	("b<ncond>"): Replace "beq", "bne", "bgtu", "bltu", "bgeu" and
+ 	"bleu".
+ 	("b<ocond>"): Replace "bgt" and "ble".
+ 	("b<rcond>"): Replace "blt" and "bge".
+ 	("*b<ncond>_reversed"): Replace "*beq_reversed", "*bne_reversed",
+ 	"*bgtu_reversed", "*bltu_reversed", "*bgeu_reversed" and
+ 	"*bleu_reversed".
+ 	("*b<ocond>_reversed"): Replace "*bgt_reversed" and
+ 	"*ble_reversed".
+ 	("*b<rcond>_reversed"): Replace "*blt_reversed" and
+ 	"*blt_reversed".
+ 	("s<ncond>"): Replace "sgeu", "sltu", "seq", "sgtu", "sleu" and
+ 	"sne".
+ 	("s<rcond>"): Replace "sge" and "slt".
+ 	("s<ocond>"): Replace "sgt" and "sle".
+ 	("clear.[bwd] [rx=rx+rz.S2]"): Replace split clear.d
+ 	[rx=rx+rz.S2], clear.w [rx=rx+rz.S2] and clear.b [rx=rx+rz.S2].
+ 	("clear.[bwd] [rx=rx+i]"): Replace splits clear.d [rx=rx+i],
+ 	clear.w [rx=rx+i] and clear.b [rx=rx+i].
+ 
+ 2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* varasm.c (struct constant_descriptor_tree): Add hash field.
+ 	(const_desc_hash): Just return hash field.
+ 	(const_desc_eq): If hash values are different, return 0 immediately.
+ 	(output_constant_def): Compute hash field of temporary key, use
+ 	htab_find_slot_with_hash instead of htab_find_slot.  Set hash in
+ 	newly built constant descriptor.
+ 	(lookup_constant_def): Compute hash field of temporary key, use
+ 	htab_find_with_hash instead of htab_find.
+ 
+ 2005-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (mulv4si3): New.
+ 
+ 2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
+ 	tests for noncanonical versions of reg+constant and
+ 	reg+reg*{1,2,4}.
+ 
+ 2005-05-16  Richard Henderson  <rth@redhat.com>
+ 	    Steven Bosscher <stevenb@suse.de>
+ 
+ 	PR tree-opt/21399
+ 	* tree-eh.c (maybe_clean_or_replace_eh_stmt): Rename from 
+ 	maybe_clean_eh_stmt; take old stmt parameter.  Update EH
+ 	region data structure to match replacement.
+ 	* tree-flow.h: Update to match.
+ 	* tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
+ 	* tree-ssa-dom.c (optimize_stmt): Likewise.
+ 	* tree-ssa-pre.c (eliminate): Likewise.
+ 	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
+ 
+ 2005-05-16  Caroline Tice  <ctice@apple.com>
+ 
+ 	* bb-reorder.c (verify_hot_cold_block_grouping):  Replace
+ 	internal_error with gcc_assert.
+ 	* dwarf2out.c (dwarf2out_switch_text_section):  Likewise.
+ 	* function.h (struct function): Remove space between "*" and
+ 	struct field names.
+ 	* varasm.c (initialize_cold_section_name):   Add gcc_assert;
+ 	modify to use alloca.
+ 	(unlikely_text_section): Add check for flag_function_sections.
+ 	(assemble_start_function):  Move call to resolve_section, so it
+ 	comes before first call to unlikely_text_section.
+ 	(assemble_end_function):  Add test and call to function_section
+ 	if appropriate.
+ 	
+ 2005-05-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Use fold_build2
+ 	instead of build_binary_op when performing code transformations
+ 	to avoid error messages about constructs not it the user's code.
+ 
+ 2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-pre.c: Fix a comment typo.
+ 
+ 2005-05-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21556
+ 	* config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel,
+ 	load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel,
+ 	add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64,
+ 	load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14,
+ 	add_tprel22): Remove mode from symbolic operand.
+ 
+ 2005-05-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optc-gen.awk: Include intl.h after the externally-provided files.
+ 
+ 2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-copy.c (copy_prop_visit_assignment): Clean up by
+ 	folding a COND_EXPR_COND in a nondestructive manner.
+ 
+ 2005-05-16  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/altivec.md (altivec_vmrghb, altivec_vmrghh, 
+ 	altivec_vmrghw, altivec_vmrglb, altivec_vmrglh, altivec_vmrglw):
+ 	New values for vec_select definitions and bitmask for element
+ 	selection.
+ 	 
+ 2005-05-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf2out.c (used_rtx_varray): Rename to used_rtx_array.
+ 	Change the type to VEC(rtx,gc)*.
+ 	(mem_loc_descriptor, add_const_value_attributes,
+ 	dwarf2out_init): Adjust uses of used_rtx_varray.
+ 
+ 	* tree-data-ref.c (compute_all_dependences): Change the type
+ 	of dependence_relations to VEC(ddr_p,heap)**.
+ 	(compute_data_dependences_for_loop): Change the type of
+ 	allrelations to VEC(ddr_p,heap)*.
+ 
+ 2005-05-16  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* Makefile.in (options.c): Tell optc-gen.awk to include config.h,
+ 	system.h, coretypes.h and tm.h.
+ 	(options.o): Update dependencies accordingly.
+ 	* optc-gen.awk: Allow header_name to be a list of filenames.
+ 	Handle the "Condition" flag.
+ 	* opts.h (CL_DISABLED): New flag.
+ 	* opts.c (handle_option): Print an error for CL_DISABLED options.
+ 	* doc/options.texi: Document the "Condition" option flag.
+ 
+ 2005-05-16  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-inline.c (estimate_num_insns_1): Handle VEC_COND_EXPR.
+ 
+ 2005-05-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree-scalar-evolution.c (set_nb_iterations_in_loop): Only
+ 	check for TREE_OVERFLOW on INTEGER_CST trees.
+ 	* tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on
+ 	CONSTANT_CLASS_P tree nodes.
+ 
+ 2005-05-15  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/21551
+ 	* config/ia64/ia64.c (ia64_expand_move): Don't add addend twice.
+ 
+ 2005-05-15  Daniel Berlin  <dberlin@dberlin.org>
+ 	    
+ 	Fix PR tree-optimization/21576
+ 	
+ 	* tree-ssa-pre.c (expression_node_pool): New pool.
+ 	(comparison_node_pool): Ditto.
+ 	(list_node_pool): Ditto.
+ 	(pool_copy_list): New function.
+ 	(phi_translate): Handle CALL_EXPR.
+ 	(valid_in_set): Ditto.
+ 	(create_expression_by_pieces): Ditto.
+ 	(insert_into_preds_of_block): Ditto.
+ 	(insert_aux): Ditto.
+ 	(compute_avail): Ditto.
+ 	(create_value_expr_from): Handle TREE_LIST and CALL_EXPR.
+ 	(can_value_number_call): New function.
+ 	(find_leader): Update comment.
+ 	(init_pre): Create new pools.
+ 	(fini_pre): Free new pools.
+ 	(pass_pre): Add TODO_update_ssa for the future when we are going
+ 	to need vops.
+ 	* tree-vn.c (expressions_equal_p): Handle TREE_LIST.
+ 	(set_value_handle): Ditto.
+ 	(get_value_handle): Ditto.
+ 
+ 2005-05-15  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (thumb_unexpanded_epilogue): Delete unused variable 'mode'.
+ 
+ 2005-05-15  Andreas Jaeger  <aj@suse.de>
+ 
+ 	* gcc.c (pfatal_pexecute): Remove unused local function.
+ 
+ 2005-05-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* optc-gen.awk: Remove excess indentation.
+ 	* opth-gen.awk: Likewise.
+ 
+ 2005-05-14  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_output_mi_thunk): Check cfun->cfg instead
+ 	of basic_block_info.  Call init_flow and find_basic_blocks
+ 	before dbr_schedule if needed.
+ 
+ 2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Move
+ 	pass_cd_dce in place of the last pass_dce.
+ 
+ 	PR tree-optimization/21563
+ 	* tree-vrp.c (compare_value): Return boolean_false_node when
+ 	SSA_NAME in "if (SSA_NAME == CST)" is strictly smaller than or
+ 	strictly larger than CST.
+ 
+ 2005-05-14  Nathan Sidwell  <nathan@codesourcery.com>
+ 	    Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+ 
+ 	* config/vax/vax.c: (print_operand_address) Use gcc_unreachable() and
+ 	gcc_assert().
+ 	(rev_cond_name) Likewise.
+ 	(vax_float_literal) Likewise.
+ 	* config/vax/vax.md: Likewise.
+ 
+ 2005-05-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+ 
+ 	* config/vax/vax.md: define_constant VAXens AP, FP, SP and PC
+ 	registers and use them (specifically the stack pointer).
+ 	* config/vax/vax.h: Use above defines right here.
+ 
+ 	* config/vax/vax.c: (override_options) Remove 'register' keyword.
+ 	(split_quadword_operands) Likewise. (rev_cond_name) Likewise.
+ 	(vax_float_literal) Likewise. (vax_rtx_costs) Remove trailing
+ 	whitespace.
+ 	* config/vax/vax.h: Remove 'register' keyword. Misc. whitespace fixes,
+ 	mostly removal of trailing spaces...
+ 	* config/vax/vax-modes.def: Remove trailing whitespace.
+ 
+ 	* config/vax/elf.h: Update whitespace.
+ 
+ 2005-05-14  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	Revert
+ 	2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
+ 	* fold-const.c (fold_indirect_ref_1): Avoid removing
+ 	NOP_EXPRs with type qualifiers like const.
+ 
+ 2005-05-14  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Patch by Richard Henderson:
+ 	* tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
+ 	Handle RESX expressions properly.
+ 
+ 	* tree-eh.c (record_stmt_eh_region): Use add_stmt_to_eh_region.
+ 	(add_stmt_to_eh_region_fn): Nest into CALL_EXPR.
+ 	(remove_stmt_from_eh_region_fn): Likewise.
+ 
+ 	* tree-cfg.c (execute_warn_function_return): Break out noreturn
+ 	warning too..
+ 	(execute_warn_function_noreturn): ... here.
+ 	(pass_warn_function_noreturn): New pass.
+ 	* tree-pass.h (pass_warn_function_noreturn): Declare
+ 	* tree-optimize.c (init_tree_optimization_passes): Move return
+ 	warnings early and add noreturn warnings at place of previous
+ 	return warnings.
+ 
+ 2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-live.c (tpa_init, tpa_delete, tpa_compact,
+ 	root_var_init, type_var_init): Use VEC instead of VARRAY.
+ 	* tree-ssa-live.h (tree_partition_associator_d): Change the
+ 	type of trees to VEC(tree,heap)*.
+ 	(tpa_tree): Use VEC instead of VARRAY.
+ 
+ 2005-05-14  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* fold-const.c (div_if_zero_remainder): New function.
+ 	(try_move_mult_to_index): Use it.
+ 
+ 2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-eh.c (leh_tf_state): Change the type of dest_array to
+ 	VEC(tree,heap)*.
+ 	(maybe_record_in_goto_queue, lower_try_finally_onedest,
+ 	lower_try_finally_copy, lower_try_finally_switch,
+ 	lower_try_finally): Use VEC instead of VARRAY.
+ 
+ 2005-05-14  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (Node: Register Classes): Remove obsoleted
+ 	comment regarding defined register classes.
+ 	(LEGITIMIZE_RELOAD_ADDRESS): Do not define.
+ 
+ 2005-05-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Move
+ 	pass_merge_phi before the first pass_dominator.
+ 
+ 2005-05-13  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache
+ 	unconditional.
+ 
+ 2005-05-13  Josh Conner  <jconner@apple.com>
+ 
+ 	* config/arm/arm.c (arm_size_return_regs): New.
+ 	(thumb_unexpanded_epilogue): replace in-line calculation
+ 	of return registers with call to arm_size_return_regs.
+ 	(use_return_insn): Include test of which registers are
+ 	being used to hold return values, to accommodate
+ 	vector return values.
+ 
+ 2005-05-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/sysv4.opt (mlittle): Handle.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_handle_option): Set
+ 	target_flags_explicit when appropriate.
+ 
+ 2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR middle-end/20714:
+ 	* optabs.c (no_conflict_data): New struct.
+ 	(no_conflict_move_test): New function.
+ 	(emit_no_conflict_block): Use it.
+ 
+ 2005-05-13  Adam Nemet  <anemet@lnxw.com>
+ 
+ 	* doc/invoke.texi (Debugging Options): Option
+ 	-fdump-translation-unit only works with C++ now.
+ 
+ 2005-05-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	Replace calls to abort in CRIS port.
+ 	* config/cris/cris.h (CRIS_ASSERT): New macro.
+ 	* config/cris/cris.md ("*movsi_internal"): Use CRIS_ASSERT and
+ 	internal_error instead of abort.
+ 	("movsi"): Ditto.  Unquote preparation statement section.
+ 	("call", "call_value"): Ditto, but use gcc_assert where
+ 	appropriate.  Tweak comments.
+ 	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Define in terms of
+ 	CRIS_ASSERT.
+ 	(cris_op_str): Call internal_error, not abort.
+ 	(cris_print_operand): Tweak "abort" reference to "die" in comment.
+ 	(cris_initial_elimination_offset): Call gcc_unreachable, not abort.
+ 	(cris_notice_update_cc): Call internal_error, not abort.
+ 	(cris_expand_return, cris_expand_prologue, cris_gen_movem_load)
+ 	(cris_emit_movem_store, cris_asm_output_symbol_ref)
+ 	(cris_output_addr_const_extra): Use CRIS_ASSERT, don't call abort.
+ 	(cris_symbol, cris_got_symbol): Use CRIS_ASSERT instead of
+ 	ENABLE_CHECKING-guarded abort call.
+ 	(cris_split_movdx): Use CRIS_ASSERT instead of abort with test.
+ 	Use internal_error at end of test-chain.
+ 
+ 2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR rtl-optimization/20769:
+ 	* bt-load.c (compute_defs_uses_and_gen): Check for the blockage
+ 	pattern emitted by expand_nl_goto_receiver.
+ 
+ 	PR middle-end/20793:
+ 	* integrate.c (allocate_initial_values): Update register liveness
+ 	information.
+ 
+ 2005-05-13  Josh Conner  <jconner@apple.com>
+ 
+ 	* arm.c (arm_return_in_memory): Add handling for vector return types.
+ 
+ 2005-05-13  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
+ 	name.
+ 	* config/mips/mips.c: Add 4km alias.
+ 	* config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
+ 	* config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
+ 	description.
+ 
+ 2005-05-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* c-decl.c (finish_function): Suppress "control reaches end of
+ 	non-void function" when "no return statement in function
+ 	returning non-void" is issued.
+ 
+ 	* tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
+ 	* tree-optimize.c (pass_gimple): Kill.
+ 	(init_tree_optimization_passes): Kill pass_gimple.
+ 	* tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
+ 	* tree-dump.c (dump_files): Rename .generic to .gimple.*
+ 
+ 2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR rtl-optimization/20756:
+ 	* basic-block.h (PROP_DEAD_INSN): Define.
+ 	* flow.c (propagate_one_insn): Set during mark_set_regs call
+ 	for a dead insn.
+ 	(mark_set_1): Emit a clobber when we are about to delete a dead insn
+ 	that kills a live register.
+ 
+ 2005-05-13  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("DBL"): New mode attribute.
+ 	("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
+ 	("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
+ 	("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
+ 
+ 2005-05-13  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* c-format.c (check_format_arg): Handle string literals of
+ 	the form &"string"[offset].
+ 
+ 	* g++.dg/warn/format4.C: New testcase.
+ 
+ 2005-05-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mips/3000.md, config/mips/4000.md,
+ 	config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
+ 	config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
+ 	config/mips/generic.md, config/pdp11/pdp11.md,
+ 	config/sh/crt1.asm, config/sh/lib1funcs.asm,
+ 	config/sh/sh-modes.def, config/sh/sh-protos.h,
+ 	config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
+ 
+ 2005-05-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (instantiate_virtual_regs_in_insn): Do not simplify
+ 	addition to move unless dest is a register.  Do not skip
+ 	instantiation in dest on addition simplification.
+ 
+ 2005-05-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_print_operand) <case 'H'; case
+ 	CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
+ 	output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
+ 
+ 2005-05-13  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* basic-block.h (FOR_ALL_BB_FN): New macro.
+ 	(init_flow): Initialize cfg structure.
+ 	* function.c (allocate_struct_function): Do not initialize cfg structure.
+ 	* tree-cfg.c (init_empty_tree_cfg): Break out from ...
+ 	(build_tree_cfg): ... here.
+ 	* tree-flow.h (init_empty_tree_cfg): Declare.
+ 
+ 2005-05-12  Steven Bosscher <stevenb@suse.de>
+ 
+ 	Fix PR tree-optimization/21520
+ 	* tree-ssa-pre.c (phi_translate): Use fully_constant_expression
+ 	to attempt to fold constants.
+ 
+ 2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
+ 	only when TARGET_ADJUST_UNROLL_MAX is defined.
+ 	(general_movsrc_operand): Use the C style comment.
+ 	(ua_offset): Use prototype.
+ 
+ 2005-05-12  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-im.c (struct mem_ref): Add field "next".
+ 	(struct hmr_data, hoist_memory_reference, memref_del,
+ 	struct fmrv_data): Removed.
+ 	(hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
+ 	(gather_mem_refs, gather_mem_refs_stmt): Add new references to the
+ 	list.
+ 	(find_more_ref_vops): Traverse the list of memory references.
+ 	(determine_lsm_loop): Work with the list of memory references instead
+ 	of traversing the hashtable.
+ 
+ 2005-05-12  Steven Bosscher  <stevenb@suse.de>
+ 	    Stuart Hastings <stuart@apple.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* except.c  (duplicate_eh_region_1, duplicate_eh_region_2,
+ 	duplicate_eh_regions): New functions, based on old
+ 	implementation removed with RTL inliner.
+ 	(reachable_next_level): Modify behaviour pre-inline.
+ 	* except.h (duplicate_eh_regions_map, duplicate_eh_regions):
+ 	Declare.
+ 	* function.h (struct function): Add after_inlining flag.
+ 	* tree-optimize.c (tree_rest_of_compilation): Set it.
+ 	* tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
+ 	when needed.
+ 	* tree-cfg.c (label_to_block_fn): Deal with cases where
+ 	label was never insterted into code.
+ 
+ 2005-05-12  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* doc/cpp.texi: Document that #sccs is a synonym for #ident.
+ 
+ 2005-05-12  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/21532
+ 	* tree-ssa-pre.c (create_expression_by_pieces): stmt
+ 	needs to go onto the inserted_exprs list.
+ 
+ 2005-05-12  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-common.h (statement_code_p): Don't declare.
+ 	(STATEMENT_CODE_P): Don't define.
+ 	(INIT_STATEMENT_CODES): Don't define.
+ 	* c-common.c (statement_code_p): Don't define.
+ 
+ 2005-05-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.h: Remove dead code.
+ 	* config/sparc/sparc.c (sparc_compute_frame_size): Use
+ 	FIRST_PARM_OFFSET for the size of the register window area.
+ 	(emit_save_regs): Rename into emit_save_or_restore_regs.
+ 	Add 'action' parameter.  Use 4095 as upper bound for the offset.
+ 	Pass 'action' to save_or_restore_regs.
+ 	(emit_restore_regs): Delete.
+ 	(sparc_expand_prologue): Call emit_save_or_restore_regs.
+ 	(sparc_expand_epilogue): Likewise.
+ 	* config/sparc/sparc.md (mode macro P): Move.
+ 	(movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
+ 	(mov<V32:mode> expander): Move to the top of the V32 section.
+ 	(movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
+ 	(movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
+ 	(sibcall_epilogue): Move.
+ 
+ 2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	PR target/21501
+ 	* arm.c (arm_gen_constant): Sign-extend intermediate values when
+ 	synthesizing a constant of the difference of two immediates.
+ 
+ 2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
+ 	(negdf2_vfp): Likewise.  Convert to define_insn_and_split and split
+ 	the alternatives using integer registers into the appropriate
+ 	primitives.
+ 
+ 2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+ 
+ 	* bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
+ 	bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
+ 	* bitmap.h: Fixed comments.
+ 
+ 2005-05-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21412
+ 	* config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
+ 	(ia64_cannot_force_const_mem): New.
+ 	(tls_symbolic_operand_type): New.
+ 	(ia64_legitimate_constant_p): New.
+ 	(ia64_expand_load_address): Return true on success.  Improve
+ 	checks for when we should not split.
+ 	(ia64_expand_tls_address): New addend operand.  Distribute it
+ 	as appropriate to the tls_kind.  Delay referencing gp.
+ 	(ia64_expand_move): Split symbolic addend as necessary.  Handle
+ 	tls symbols with addends.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
+ 	p0, f0, f1, and r13.
+ 	(LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
+ 	* config/ia64/ia64.md (UNSPEC_DTPMOD): New.
+ 	(symbolic_operand splitter): Pass everything through
+ 	ia64_expand_load_address and FAIL or DONE as appropriate.
+ 	(load_fptr): Only accept after reload.
+ 	(load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
+ 	load_symptr_low, load_ltoff_dtpmod,
+ 	(load_dtpmod): New.
+ 	(load_dtprel): Only accept tls symbols.
+ 	(load_dtprel64, load_dtprel22): Likewise.
+ 	(load_tprel, load_tprel64, load_tprel22): Likewise.
+ 	(load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
+ 	(add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
+ 	(add_dtprel14, add_dtprel22): Likewise.
+ 	(add_tprel, add_tprel14, add_tprel22): Likewise.
+ 	* config/ia64/predicates.md (small_addr_symbolic_operand): New.
+ 	(any_offset_symbol_operand, aligned_offset_symbol_operand): New.
+ 	(got_symbolic_operand): Check CONST offsets.
+ 	(tls_symbolic_operand, ld_tls_symbolic_operand): New.
+ 	(ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
+ 	(move_operand): Don't handle tls here.  Check CONST offsets.
+ 
+ 2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
+ 	Remove hilo_operand check.
+ 	(rm7_impy_si_mul): Just match imul3.  Remove hilo_operand check.
+ 	* config/mips/predicates.md (hilo_operand): Delete.
+ 
+ 2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/sr71k.md, config/mips/7000.md: Reformat.
+ 
+ 2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimizer/18472
+ 	* tree-if-conv.c (tree_if_convert_stmt,
+ 	if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
+ 
+ 2005-05-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
+ 	(GTFILES): add except.h.
+ 	* except.c (eh_status): Add throw_stmt_table.
+ 	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
+ 	* except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
+ 	lookup_stmt_eh_region_fn): Declare.
+ 	(throw_stmt_node): New structure.
+ 	(set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
+ 	* gengtype.c (open_base_files): Add except.h to inlines.
+ 	* tree-eh.c (throw_stmt_node): Kill.
+ 	(record_stmt_eh_region): Update.
+ 	(add_stmt_to_eh_region_fn): Break out from ...
+ 	(add_stmt_to_eh_region): ... here.
+ 	(remove_stmt_from_eh_region_fn): Break out from ...
+ 	(remove_stmt_from_eh_region): ... here.
+ 	(lookup_stmt_eh_region_fn): Break out from ...
+ 	(lookup_stmt_eh_region): ... here.
+ 	(honor_protect_cleanup_actions): Use build_resx.
+ 	(lower_try_finally_onedest): Likewise.
+ 	(lower_try_finally_copy): Likewise.
+ 	(lower_try_finally_switch): Likewise.
+ 	(lower_eh_constructs): Update eh table construction.
+ 	* tree.c (build_resx): New.
+ 	* tree.h (build_resx): Declare.
+ 
+ 2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
+ 	is needed.
+ 
+ 2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c, libgcov.c: Fix comment typos.
+ 
+ 	* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
+ 	redundant code.
+ 
+ 2005-05-11  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+ 	* config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
+ 	default definition.
+ 	(FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
+ 
+ 2005-05-11  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR bootstrap/21481
+ 	* crtstuff.c: Include auto-host.h again, for now.
+ 
+ 2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/24k.md: Remove trailing whitespace.
+ 
+ 2005-05-11  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.md (type): Add imul3.
+ 	(length, hazard, may_clobber_hilo): Check for imul3.
+ 	(mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
+ 	(*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
+ 	* config/mips/24k.md (r24k_int_mul3): Enable this reservation
+ 	for a 3 operand mul and its bypasses.
+ 	* config/mips/3000.md (r3k_imul): Add imul3 to reservations.
+ 	* config/mips/4000.md (r4k_imul): Likewise.
+ 	* config/mips/4100.md (r4100_imul_si, r4100_imul_di):  Likewise.
+ 	* config/mips/4130.md (vr4130_class, vr4130_mulsi)
+ 	(vr4130_muldi): Likewise.
+ 	* config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
+ 	* config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
+ 	* config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
+ 	* config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
+ 	(ir_vr54_imadd_si): Likewise.
+ 	* config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di):  Likewise.
+ 	* config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
+ 	(rm7_impy_di): Likewise.
+ 	* config/mips/9000.md (rm9k_mulsi, rm9k_muldi):  Likewise.
+ 	* config/mips/generic.md (generic_imul): Likewise.
+ 	* config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
+ 	* config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di):  Likewise.
+ 
+ 2005-05-11  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR middle-end/20371:
+ 	* tree.h (record_layout_info_s): New member prev_packed.
+ 	* stor-layout.c (update_alignment_for_field): Fix comment about
+ 	KNOWN_ALIGN.  For MS bitfields, if we start a new run, make sure
+ 	we start it properly aligned.
+ 	(place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
+ 	to update_alignment_for_field, and recompute it afterwards using
+ 	the alignment of the record.
+ 	When a packed bitfield precedes an MS bitfield, don't add padding
+ 	at the end of the packed bitfield on behalf of the base type of
+ 	the packed bit field.
+ 	Don't adjust rli->bitpos at the end
+ 	of an MS bitfield run if we already adjusted bitpos/offset for an
+ 	alignment as large or larger than the bitfield type size.
+ 	Take possible record alignment > BIGGEST_ALIGNMENT into account
+ 	when calculating actual_align.
+ 	Only put packed buit fields into rli->prev_field if they end up
+ 	suitably aligned.
+ 	Also set rli->remaining_in_alignment when we re-set rli->prev_field.
+ 	Update rli->remaining_in_alignment when we have already started a
+ 	run of bit fields and we process a packed bit field.
+ 
+ 2005-05-11  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-data-ref.c (find_data_references_in_loop): Give up when
+ 	the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
+ 	may embed arbitrary side effects.
+ 	Remove the assumption that GIMPLE form contains a single array
+ 	access per statement.
+ 	When the statement contains virtual operands, fail if it is not
+ 	a MODIFY_EXPR or a CALL_EXPR.
+ 	Return after the dont know node is inserted.
+ 
+ 2005-05-11  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
+ 
+ 2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/19807
+ 	PR tree-optimization/19639
+ 	* fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
+ 	and generic summands for char* as s * delta, too, folding &a[i]
+ 	CODE x to &a[i CODE x/s].  Use tree_int_cst_equal
+ 	for comparison of steps.  Convert types for index addition.
+ 	(fold_binary): Adjust the callers to always dispatch to
+ 	try_move_mult_to_index.
+ 	* tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
+ 	expr with non-gimple ARRAY_REF offset.
+ 
+ 2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* fold-const.c (fold_indirect_ref_1): Avoid removing
+ 	NOP_EXPRs with type qualifiers like const.
+ 
+ 2005-05-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/21502
+ 	* c-decl.c (finish_decl): Propagate the completed array type of
+ 	a global variable into the binding.
+ 
+ 2005-05-10  Matt Kraai  <kraai@ftbfs.org>
+ 
+ 	* Makefile.in (gtype-desc.o, build/genautomata.o)
+ 	(build/varray.o): Depend on $(VARRAY_H).
+ 
+ 2005-05-10  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Re-organize
+ 	optimization passes to do an initial batch of scalar cleanups.
+ 
+ 2005-05-10  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* read-rtl.c (struct macro_traverse_data): Define.
+ 	(map_attr_string): New static function, broken out of
+ 	apply_macro_to_string.
+ 	(mode_attr_index, apply_mode_maps): New static functions.
+ 	(apply_macro_to_string): Call map_attr_string.
+ 	(apply_macro_to_rtx): Add mode_maps and infile parameters.  Change
+ 	all callers.
+ 	(apply_macro_traverse): Expect data to point to a struct
+ 	macro_traverse_data.
+ 	(read_rtx): Add mode_maps local variable.  Use mode_traverse_data
+ 	to pass data through htab_traverse.
+ 	(read_rtx_1): Add mode_maps parameter.  Change all callers.
+ 	Handle mode names which are attribute strings.
+ 	* doc/md.texi (Substitutions): Rename from String Substitutions.
+ 	Change references.  Document using attributes as modes.
+ 
+ 2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-cfg.c (tree_duplicate_sese_region): Update profile.
+ 	* tree-optimize.c (init_tree_optimization_passes) Swap
+ 	pass_ch and pass_profile.
+ 	* tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
+ 	here.  Remove rewrite_into_loop_closed_ssa call.
+ 
+ 2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
+ 	function.
+ 	(legitimate_reload_constant_p): Add check for const double zero.
+ 	* config/s390/s390.md: Add comment for constraint letter 'G'.
+ 	("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
+ 	attributes for new case.
+ 	* config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
+ 	s390_const_double_ok_for_constraint_p.
+ 	* config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
+ 	Add prototype.
+ 
+ 2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21170
+ 	* tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
+ 	rewrite_ssa_into_ssa in comments with update_ssa.
+ 
+ 2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-im.c: Include hashtab.h.
+ 	(struct mem_ref_loc): New.
+ 	(struct mem_ref): Describe the set of references with the same
+ 	shape.
+ 	(max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
+ 	maybe_queue_var, fem_single_reachable_address,
+ 	for_each_memref, single_reachable_address,
+ 	is_call_clobbered_ref, determine_lsm_reg): Removed.
+ 	(record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
+ 	hoist_memory_reference, memref_hash, memref_eq, memref_del,
+ 	gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
+ 	New functions.
+ 	(rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
+ 	(determine_lsm_loop): Rewritten.
+ 	(determine_lsm): Do not set stmt uids.
+ 
+ 2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: Add comment lines for 'f' and 't' constraint
+ 	letters.
+ 
+ 2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
+ 	("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
+ 	("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
+ 
+ 2005-05-10  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (dom_opt_finalize_block): Do not call
+ 	thread_across_edge for any abnormal edges.
+ 
+ 2005-05-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_expand_atomic_op): New.
+ 	* config/ia64/ia64-protos.h: Declare it.
+ 	* config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
+ 	(sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
+ 	(sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
+ 	(sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
+ 	(sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
+ 	(cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>.  Zero
+ 	extend result; use release semantics.
+ 	(cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
+ 	(sync_val_compare_and_swap_<IMODE>): Update to match.
+ 
+ 2005-05-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* optabs.c (expand_compare_and_swap_loop): Don't clobber old value
+ 	before comparing it for success.
+ 
+ 2005-05-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
+ 	no return value pattern.
+ 
+ 2005-05-10  Grigory Zagorodnev  <grigory.zagorodnev@intel.com>
+ 	    H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	* libgcov.c (create_file_directory): New function. Create
+ 	directory for the given file name.
+ 	(gcov_max_filename): New static var. Keeps size of the longest
+ 	file name.
+ 	(gcov_exit): Always try to create directory for output
+ 	file. Relocate each filename basing on environment vars.
+ 	(__gcov_init): Remember the longest file name.
+ 	* tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
+ 	* doc/gcov.texi (Cross-profiling): New node documenting
+ 	cross-profiling management.
+ 	* doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
+ 
+ 2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (mem_min_alignment): Do not rely
+ 	on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
+ 
+ 2005-05-10  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
+ 	case code to avoid one move instruction.
+ 	(__umodsi3, __modsi3): Merge duplicated code sequences.
+ 
+ 2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
+ 	config/sh/sh.md, config/sh/superh.h: Fix comment typos.
+ 	* doc/invoke.texi: Fix typos.
+ 
+ 	* tree-data-ref.c (analyze_array_indexes, analyze_array,
+ 	init_data_ref, access_functions_are_affine_or_constant_p,
+ 	free_data_refs): Use VEC instead of VARRAY.
+ 	* tree-data-ref.h (data_reference): Change the type of
+ 	access_fns to VEC(tree,gc)*.
+ 	(DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
+ 
+ 2005-05-10  Gabor Loki <loki@gcc.gnu.org>
+ 
+ 	PR c/17913
+ 	* c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
+ 	* fold-const.c (fold): Expand the condition of reducing cond_expr.
+ 	(contains_label_1, contains_label_p): New functions for checking
+ 	labels in a sub-tree.
+ 
+ 2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21342
+ 	* c-decl.c (pushdecl): When there is a declaration in the current
+ 	scope and the declarations are external linkage, check for
+ 	compatibility with the type in the external scope and update the
+ 	type in the external scope with the composite type information.
+ 	Do not form a composite type of the new type and the visible type
+ 	if they are incompatible.
+ 
+ 2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* crtstuff.c: Revert part of 2005-05-08 Change.
+ 	(IN_LIBGCC2): Define.
+ 
+ 2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
+ 	remove redundant test.
+ 	(fp_mov_p): Accept 0.
+ 	(fp_high_losum_p): Remove redundant test.
+ 	* config/sparc/predicates.md (const_high_operand): Explicitly test
+ 	(not small_int_operand).
+ 	(fp_const_high_losum_operand): New.
+ 	* config/sparc/sparc.md (movsi_insn): Do not emit 'clr'.  Reorder.
+ 	(movdi_insn_sp32_v9): Use canonical predicates.
+ 	(movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
+ 	(movdi_insn_sp64_novis): Delete.
+ 	(movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
+ 	(movsf_insn_novis): Delete.
+ 	(movsf_insn_vis): Rename into movsf_insn.
+ 	(movsf_no_f_insn): Rename into movsf_insn_no_fpu.
+ 	(movsf_lo_sum): Use fp_const_high_losum_operand.
+ 	(movsf_high): Likewise.
+ 	(movsf_high_losum splitter): Likewise.
+ 	(mov<V32:mode> expander): Use register_or_zero_operand.
+ 	(mov<V64:mode> expander): Likewise.
+ 	(movdf_insn_sp32): Use register_or_zero_operand.
+ 	(movdf_no_e_insn_sp32): Use register_or_zero_operand.
+ 	Rename into movdf_insn_sp32_no_fpu.
+ 	(movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
+ 	Rename into movdf_insn_sp32_v9_no_fpu.
+ 	(movdf_insn_v9only_novis): Delete.
+ 	(movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
+ 	(movdf_insn_sp64_novis): Delete.
+ 	(movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
+ 	(movdf_no_e_insn_sp64): Use register_or_zero_operand.
+ 	Rename into movdf_insn_sp64_no_fpu.
+ 	(movtf expander): Use register_or_zero_operand.
+ 	(movtf_insn_sp32): Delete.
+ 	(movtf_insn_vis_sp32): Use register_or_zero_operand.
+ 	Rename into movtf_insn_sp32.
+ 	(movtf_no_e_insn_sp32): Use register_or_zero_operand.
+ 	Rename into movtf_insn_sp32_no_fpu.
+ 	(movtf_insn_hq_sp64): Delete.
+ 	(movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
+ 	Rename into movtf_insn_sp64_hq.
+ 	(movtf_insn_sp64): Delete.
+ 	(movtf_insn_vis_sp64): Use register_or_zero_operand.
+ 	Rename into movtf_insn_sp64.
+ 	(movtf_no_e_insn_sp64): Use register_or_zero_operand.
+ 	Rename into movtf_insn_sp64_no_fpu.
+ 
+ 2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
+ 	gcc_assert and gcc_unreachable as appropriate.
+ 	(xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
+ 	xstormy16_output_cbranch_si, xstormy16_split_move,
+ 	xstormy16_initial_elimination_offset,
+ 	xstormy16_encode_section_info, xstormy16_print_operand_address,
+ 	xstormy16_expand_call, xstormy16_expand_arith,
+ 	xstormy16_output_shift, xstormy16_init_builtins): Likewise.
+ 
+ 2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (_elim_graph): Change the type of nodes and
+ 	const_copies to VEC(tree,heap)*.
+ 	(new_elim_graph, delete_elim_graph, elim_graph_size,
+ 	elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
+ 	instead of VARRAY.
+ 
+ 2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR other/21052
+ 	* doc/extend.texi (Type Attributes): Correct example syntax.
+ 
+ 2005-05-09  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21160
+ 	* doc/invoke.texi (-Wuninitialized): Update documentation.
+ 
+ 2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (const_ok_for_arm): Use a faster algorithm.
+ 
+ 2005-05-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/21477
+ 	* config/rs6000/rs6000.md (add_op2): New.
+ 	(add<mode>3): Use it.
+ 
+ 2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (arm_gen_constant): Add new heuristic for generating
+ 	constant integers that can be expressed as the difference of two
+ 	valid immediates.
+ 
+ 2005-05-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-tree.h (parser_build_unary_op): New prototype.
+ 	* c-typeck.c (parser_build_unary_op): New function to construct
+ 	a unary operation in the C parser.
+ 	* c-parser.c (c_parser_unary_expression):  Use the new function
+ 	parser_build_unary_op when appropriate.
+ 
+ 2005-05-09  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR 18655
+ 	* dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+ 	before outputting DWARF_FRAME_RETURN_COLUMN.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (s390_branch_condition_mask,
+ 	s390_branch_condition_mnemonic, s390_extra_constraint_str,
+ 	s390_const_ok_for_constraint_p, s390_expand_plus_operand,
+ 	legitimize_pic_address, s390_emit_tls_call_insn,
+ 	legitimize_tls_address, legitimize_tls_address,
+ 	s390_expand_addcc, print_shift_count_operand, print_operand,
+ 	addr_generation_dependency_p, annotate_constant_pool_refs,
+ 	s390_split_branches, find_constant_pool_ref,
+ 	replace_constant_pool_ref, s390_add_constant, s390_find_constant,
+ 	s390_find_execute, s390_mainpool_start, s390_chunkify_start,
+ 	s390_output_pool_entry, s390_function_value,
+ 	s390_call_saved_register_used, s390_emit_call): Replace
+ 	conditional aborts by gcc_assert and unconditional by gcc_unreachable.
+ 	(s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
+ 	s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
+ 	get_some_local_dynamic_name, s390_function_arg_size,
+ 	s390_function_arg_advance, s390_function_arg,
+ 	s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
+ 	default case by gcc_unreachable.
+ 	* config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
+ 	conditional abort by gcc_assert.
+ 	("doloop_si31"): Replace abort in last else by gcc_unreachable.
+ 	("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (s390_decompose_address,
+ 	tls_symbolic_operand, legitimate_pic_operand_p,
+ 	legitimate_constant_p, legitimate_reload_constant_p,
+ 	s390_expand_plus_operand, legitimate_address_p,
+ 	legitimate_la_operand_p, ): Remove 'register' from signature.
+ 	(symbolic_reference_mentioned_p,
+ 	tls_symbolic_reference_mentioned_p): Remove 'register' from local
+ 	variable declarations.
+ 	(legitimize_address): Remove 'register' from
+ 	signature and local variable declarations.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h: (s390_match_ccmode,
+ 	s390_match_ccmode_set, reg_used_in_mem_p,
+ 	symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ 	legitimate_la_operand_p, preferred_la_operand_p,
+ 	s390_short_displacement, addr_generation_dependency_p,
+ 	legitimate_reload_constant_p, legitimate_address_p): Change return type
+ 	into 'bool'.
+ 	(s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ 	* config/s390/s390.c: (s390_match_ccmode,
+ 	symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+ 	legitimate_reload_constant_p): Change return type into 'bool'.
+ 	(preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
+ 	Likewise.  Additionally adapted comment.
+ 	(s390_extra_constraint_p): Change Comment to reflect 'int' return type.
+ 	(s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
+ 	(s390_decompose_address): Change the type of the internal flags
+ 	"pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
+ 	(struct s390_address): Change type of "pointer" into bool.
+ 	* config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
+ 	Adapt calls for 's390_tm_ccmode' to the new signature.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (s390_match_ccmode_set,
+ 	s390_branch_condition_mnemonic, s390_short_displacement,
+ 	s390_decompose_address, get_thread_pointer, legitimize_tls_address,
+ 	print_shift_count_operand, get_some_local_dynamic_name,
+ 	get_some_local_dynamic_name_1, reg_used_in_mem_p,
+ 	addr_generation_dependency_p, s390_split_branches,
+ 	annotate_constant_pool_refs, find_constant_pool_ref,
+ 	replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
+ 	s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
+ 	s390_register_info, s390_frame_info, s390_init_frame_layout,
+ 	s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
+ 	restore_gprs, s390_function_arg_size, s390_function_arg_float,
+ 	s390_init_machine_status, s390_assemble_integer, s390_handle_option,
+ 	s390_encode_section_info, s390_cannot_force_const_mem,
+ 	s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
+ 	s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
+ 	s390_adjust_priority, s390_issue_rate,
+ 	s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
+ 	s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
+ 	s390_build_builtin_va_list, s390_gimplify_va_arg,
+ 	s390_function_ok_for_sibcall, s390_call_saved_register_used,
+ 	s390_pass_by_reference, s390_fixed_condition_code_regs,
+ 	s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
+ 	s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
+ 	s390_chunkify_cancel, s390_start_pool, s390_end_pool,
+ 	s390_add_pool_insn, s390_find_pool, s390_add_constant,
+ 	s390_find_constant, s390_add_execute, s390_find_execute,
+ 	s390_execute_label, s390_execute_target, s390_dump_pool,
+ 	s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
+ 	Move target macro definitions to the end of the file.  Move several
+ 	functions within the file to assure correct compiling.
+ 
+ 2005-05-09  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* calls.c (purge_reg_equiv_notes): Remove, fold into...
+ 	(fixup_tail_calls): ...here.  Only look at insns between the
+ 	start of the function and the FUNCTION_BEG insn note.
+ 
+ 	* gcse.c (one_cprop_pass): Fix typos in dumps.
+ 
+ 	* tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
+ 	* config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
+ 	"RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
+ 	Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
+ 	CC_REGNUM)'.
+ 	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
+ 	'(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
+ 	("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
+ 	REG_SC)'.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("gf") New mode attribute.
+ 	("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
+ 	"fixuns_truncsfsi2"): Merge.
+ 	("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
+ 	("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
+ 	"fix_truncsfsi2_ieee"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("FPR") New mode macro.
+ 	("de", "dee"): New mode attributes.
+ 	("cmpdf", "cmpsf"): Merge.
+ 	("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
+ 	("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
+ 	("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
+ 	("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
+ 	("floatdidf2", "floatdisf2"): Merge.
+ 	("adddf3", "addsf3"): Merge.
+ 	("*adddf3", "*addsf3"): Merge.
+ 	("*adddf3_cc", "*addsf3_cc"): Merge.
+ 	("*adddf3_cconly", "*addsf3_cconly"): Merge.
+ 	("*adddf3_ibm", "*addsf3_ibm"): Merge.
+ 	("subdf3", "subsf3"): Merge.
+ 	("*subdf3", "*subsf3"): Merge.
+ 	("*subdf3_cc", "*subsf3_cc"): Merge.
+ 	("*subdf3_cconly", "*subsf3_cconly"): Merge.
+ 	("*subdf3_ibm", "*subsf3_ibm"): Merge.
+ 	("muldf3", "mulsf3"): Merge.
+ 	("*muldf3", "*mulsf3" "): Merge.
+ 	("*muldf3_ibm", "*mulsf3_ibm"): Merge.
+ 	("*fmadddf", "*fmaddsf"): Merge.
+ 	("*fmsubdf", "*fmsubsf"): Merge.
+ 	("divdf3", "divsf3"): Merge.
+ 	("*divdf3", "*divsf3"): Merge.
+ 	("*divdf3_ibm", "*divsf3_ibm"): Merge.
+ 	("negdf2", "negsf2"): Merge.
+ 	("*negdf2_cc", "*negsf2_cc"): Merge.
+ 	("*negdf2_cconly", "*negsf2_cconly"): Merge.
+ 	("*negdf2", "*negsf2"): Merge.
+ 	("*negdf2_ibm", "*negsf2_ibm"): Merge.
+ 	("absdf2", "abssf2"): Merge.
+ 	("*absdf2_cc", "*abssf2_cc"): Merge.
+ 	("*absdf2_cconly", "*abssf2_cconly"): Merge.
+ 	("*absdf2", "*abssf2"): Merge.
+ 	("*absdf2_ibm", "*abssf2_ibm"): Merge.
+ 	("*negabsdf2_cc", "*negabssf2_cc"): Merge.
+ 	("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
+ 	("*negabsdf2", "*negabssf2"): Merge.
+ 	("sqrtdf2", "sqrtsf2"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.c: (s390_adjust_priority): Adapt to changed
+ 	attribute names.
+ 	* config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
+ 	"x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
+ 	("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
+ 	"x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
+ 	attribute names.
+ 	* config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
+ 	fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
+ 	"fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
+ 	fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
+ 	("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
+ 	"*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
+ 	"*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
+ 	"*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
+ 	"*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
+ 	"mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
+ 	"*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
+ 	"*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
+ 	"*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
+ 	"*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
+ 	"*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
+ 	"*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
+ 	'type' value.
+ 	("*divsf3"): Additionally rename second pattern to
+ 	"*divsf3_ibm".
+ 	("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+ 	"*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
+ 	"*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
+ 	"subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
+ 	"subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
+ 	'type values' and rename 'type' value.
+ 	("*addsf3"): Additionally rename second pattern to
+ 	"*addsf3_ibm".
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("SHIFT"): New mode macro.
+ 	("lr", "shift"): New mode attributes.
+ 	("ashldi3", "lshrdi3"): Merge.
+ 	("*ashldi3_31", "*lshrdi3"_31): Merge.
+ 	("*ashldi3_64", "*lshrdi3"_64): Merge.
+ 	("ashlsi3", "lshrsi3"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("DSI", "SCOND"): New mode
+ 	macros.
+ 	("E", "g"): New mode attributes.
+ 	("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
+ 	("*adddi3_alc", "*addsi3_alc"): Merge.
+ 	("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
+ 	("*subdi3_slb", "*subsi3_slb"): Merge.
+ 	("adddicc", "addsicc"): Merge.
+ 	("*sconddi", "*scondsi"): Merge.
+ 	("*sconddi_neg", "*scondsi_neg"): Merge.
+ 	("sltu", "sgtu", "sleu", "sgeu"): Merge.
+ 	("negdi2", "negsi2"): Extract expander pattern from
+ 	"negsi2" and merge with "negdi2".
+ 	("*negdi2"): Merge with instruction pattern of "negsi2".
+ 	("*negdi2_cc", "*negsi2_cc"): Merge.
+ 	("*negdi2_cconly", "*negsi2_cconly"): Merge.
+ 	("rotldi3", "rotlsi3"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("hc"): New mode attribute.
+ 	("extendhidi2", "extendqidi2"): Merge.
+ 	("*extendhidi2", "*extendqidi2"): Merge.
+ 	("extendhisi2", "extendqisi2"): Merge.
+ 	("zero_extendhidi2", "zero_extendqidi2"): Merge.
+ 	("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
+ 	Merged 2 define_split.
+ 	("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
+ 	("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("COMPARE"): New mode macro.
+ 	("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
+ 	"ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
+ 	"bungt", "bunle", "bunge", "bltgt"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("INT"): New mode macro.
+ 	("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
+ 	Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("GPR", "P"): New mode macros.
+ 	("cmpdi", "cmpsi"): Merge.
+ 	("strlendi", "strlensi"): Merge.
+ 	("*strlendi", "*strlensi"): Merge.
+ 	("movmemdi", "movmemsi"): Merge.
+ 	("clrmemdi", "clrmemsi"): Merge.
+ 
+ 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390.md: ("HQI"): New mode macro.
+ 	("icm_lo", "icm_hi", "max_uint"): New mode attributes.
+ 	("*tmhi_full", "*tmqi_full"): Merge.
+ 	("*tsthiCCT", "*tstqiCCT"): Merge.
+ 	("*tsthi", "*tstqi"): Merge.
+ 	("*tsthi_cconly", "tstqi_cconly"): Merge.
+ 	("*sethighhisi", "*sethighqisi"): Merge.
+ 
+ 2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* crtstuff.c, integrate.h, tree-scalar-evolution.h,
+ 	config/alpha/unicosmk.h, config/arc/arc.md,
+ 	config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
+ 	config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
+ 	config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+ 	config/arm/semi.h, config/arm/uclinux-elf.h,
+ 	config/arm/wince-pe.h, config/fr30/fr30.c,
+ 	config/rs6000/altivec.h: Update copyright.
+ 
+ 2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
+ 	gcc_assert and gcc_unreachable as appropriate.
+ 	(pdp11_output_function_epilogue, output_move_double,
+ 	output_move_quad, print_operand_address, output_jump,
+ 	output_addr_const_pdp11): Likewise.
+ 	* config/pdp11/pdp11.h (FUNCTION_PROFILER,
+ 	ASM_OUTPUT_ALIGN): Likewise.
+ 	* config/pdp11/pdp11.md: Likewise.
+ 	(extendhisi2, subhi3, subqi3): Likewise.
+ 
+ 2005-05-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR middle-end/21237
+ 	* dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
+ 	to NE_EXPR case.
+ 
+ 2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/ia64/ia64.c: Fix a comment typo.
+ 
+ 2005-05-09  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/21397
+ 	* arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
+ 	(arm_override_options): Use them instead of manifest constants.  Don't
+ 	allow -march to override the -mtune setting.
+ 
+ 2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
+ 	(gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
+ 	(function_arg_advance, function_arg, save_restore_insns,
+ 	iq2000_expand_prologue, iq2000_output_conditional_branch,
+ 	expand_one_builtin, print_operand):
+ 	* config/iq2000/iq2000.md (tablejump): Likewise.
+ 
+ 2005-05-09  David Ung  <davidu@mips.com>
+ 
+ 	* config/mips/mips.h (processor_type): Add names for the 24K.
+ 	* config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
+ 	processor family.
+ 	* config/mips/mips.md (cnv_mode): New attribute for recording the
+ 	conversion types of float convert insns.
+ 	(cpu): Add 24k and 24kx.
+ 	(include): Include 24k.md file.
+ 	(truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
+ 	(fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
+ 	(floatdisf2): Setup cnv_mode.
+ 	(fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
+ 	setup cnv_mode.
+ 	* config/mips/24k.md: New file, contains 24k DFA pipeline
+ 	description.
+ 
+ 2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/sh/sh.c (print_operand_address): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(print_operand, prepare_move_operands, prepare_scc_operands,
+ 	output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
+ 	gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
+ 	fixup_mova, gen_far_branch, sh_reorg, split_branches,
+ 	final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
+ 	sh_set_return_address, sh_setup_incoming_varargs,
+ 	initial_elimination_offset, sh_pch_valid_p, get_free_reg,
+ 	sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
+ 	check_use_sfunc_addr): Likewise.
+ 	* config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
+ 	* config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ 	* config/sh/symbian.c (sh_symbian_mark_dllexport,
+ 	sh_symbian_mark_dllimport): Likewise.
+ 	* config/sh/sh.md: Likewise.
+ 	(movdicc, call_pop, call_value_pop, casesi_worker_1,
+ 	casesi_worker_2, casesi_shift_media, casesi_load_media,
+ 	return_media): Likewise.
+ 
+ 2005-05-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR inline-asm/8788
+ 	* stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
+ 	operands.
+ 
+ 2005-05-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (adjust_address): Fix typo last change.
+ 
+ 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/m68hc11.h (REG_VALID_P): A regno must be >= 0
+ 	and -1 can happen in reg_renumber when no hard register is assigned.
+ 
+ 2005-05-08  Steven Bosscher  <stevenb@suse.de>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/14841, tree-optimization/15838
+ 	* tree-ssa-ccp.c (fold_const_aggregate_ref): New.
+ 	(evaluate_stmt): Call it.
+ 
+ 2005-05-08  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/ia64/ia64.c (ia64_override_options): Don't set
+ 	ia64_flag_var_tracking and clear flag_var_tracking here...
+ 	(ia64_file_start): ... but here.
+ 
+ 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
+ 	and gcc_unreachable as appropriate.
+ 	(expand_prologue, expand_epilogue, m68hc11_gen_lowpart,
+ 	m68hc11_gen_highpart, print_operand, print_operand_address,
+ 	m68hc11_expand_compare, m68hc11_expand_compare_and_branch,
+ 	m68hc11_gen_movhi): Likewise.
+ 	* config/m68hc11/m68hc11.h (HARD_X_REGNUM): Reword comment.
+ 	* config/m68hc11/m68hc11.md: Reword comment.
+ 
+ 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/21281
+ 	* config/m68hc11/predicates.md (splitable_operand): An immediate is
+ 	allowed.
+ 
+ 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	* config/m68hc11/predicates.md (reg_or_some_mem_operand): Do not allow
+ 	the 68HC12 address indirect addressing mode as it is not supported by
+ 	bset and bclr.
+ 	* config/m68hc11/m68hc11-protos.h
+ 	(m68hc11_valid_addressing_p): Declare.
+ 	(m68hc11_add_mode): Declare.
+ 	* config/m68hc11/m68hc11.c (m68hc11_valid_addressing_p): Rename from
+ 	register_indirect_p and export it.
+ 	(m68hc11_z_replacement): Use emit_insn_after when adding the save Z
+ 	instruction so that it is part of the good BB.
+ 	(m68hc11_gen_movhi): Fix invalid generation of indexed indirect
+ 	addressing with movw.
+ 	(m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
+ 	68HC12.
+ 	* config/m68hc11/m68hc11.h (ADDR_STRICT, ADDR_INCDEC, ADDR_INDEXED,
+ 	ADDR_OFFSET, ADDR_INDIRECT, ADDR__CONST): Moved from m68hc11.c.
+ 	* config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
+ 	for 68HC11.
+ 	("*movhi_68hc12"): Handle movhi_const0.
+ 	("*subhi3", "subqi3"): Use general_operand for operand 1.
+ 	("*subhi3_zext"): Likewise.
+ 
+ 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/19051
+ 	* config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for
+ 	operand 1 and fix constraints.
+ 	("mulqihi3"): Use general_operand for operand 2.
+ 
+ 2005-05-08  Julian Brown  <julian@codesourcery.com>
+ 	    H.J. Lu  <hongjiu.lu@intel.com>
+ 	    Paul Brook  <paul@codesourcery.com>
+ 
+ 	* configure.ac: Set ld_vers_major, ld_vers_minor and ld_vers_patch for
+ 	GNU linker. Support linker version x.x.x.x.x. Require GNU linker
+ 	20050308/2.16.0 or newer for comdat group.
+ 	* configure: Regenerated.
+ 	* config.in: Regenerated.
+ 	* varasm.c (default_function_rodata_section): Put .rodata section in
+ 	COMDAT group when necessary.
+ 	(default_elf_asm_named_section): Rename HAVE_GAS_COMDAT_GROUP to
+ 	HAVE_COMDAT_GROUP.
+ 	(default_unique_section_1): Don't use .gnu.linkonce when COMDAT is
+ 	available.
+ 
+ 2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
+ 	instead of VARRAY.
+ 	* tree-flow.h (num_referenced_var, referenced_var): Likewise.
+ 	* tree-into-ssa.c (mark_def_site_blocks): Likewise.
+ 	* tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+ 
+ 2005-05-08  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/16925
+ 	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
+ 	64-bit constants on 64-bit hosts.
+ 	(m68hc11_split_logical): Simplify.
+ 	(m68hc11_split_move): Likewise.
+ 
+ 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 	    Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* Makefile.in (cs-tconfig.h): Pass USED_FOR_TARGET to mkconfig.sh
+ 	* aclocal.m4 (GCC_TARGET_TEMPLATE, AH_TEMPLATE): New.
+ 	* configure.ac (enable_checking): Fix typos in runtime_checking.
+ 	(ENABLE_RUNTIME_CHECKING): Mark as target template.
+ 	(xm_file): Prepend auto-host.h
+ 	(HAVE_GAS_HIDDEN, HAVE_LD_EH_FRAME_HDR): Mark as target template.
+ 	* mkconfig.sh: Do not automatically define USED_FOR_TARGET in
+ 	tconfig.h.
+ 	* crtstuff.c: Do not include auto-host.h.
+ 	(IN_LIBGCC2): Do not define.
+ 	* gcov-io.h: Include tconfig.h, not auto-host.h.
+ 	* libgcc2.c: Do not include auto-host.h.
+ 	(abort): Do not undefine.
+ 	* libgcov.c: Remove unneeded comment about config.h.
+ 	* unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
+ 	* config.in, configure: Regenerated.
+ 
+ 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 	    Falk Hueffner  <falk@debian.org>
+ 
+ 	* config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
+ 	and gcc_unreachable as appropriate.
+ 	(get_aligned_mem, get_unaligned_address,
+ 	alpha_emit_set_long_const, alpha_emit_conditional_branch,
+ 	alpha_emit_setcc, alpha_emit_conditional_move,
+ 	alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
+ 	alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
+ 	alpha_expand_unaligned_load, alpha_expand_block_move,
+ 	alpha_expand_zap_mask, get_trap_mode_suffix,
+ 	get_round_mode_suffix, get_some_local_dynamic_name,
+ 	print_operand_address, function_arg, alpha_return_in_memory,
+ 	function_value, alpha_expand_builtin,
+ 	alpha_initial_elimination_offset, alpha_expand_epilogue,
+ 	summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
+ 	alphaev5_next_group, alpha_align_insns,
+ 	unicosmk_initial_elimination_offset, unicosmk_unique_section,
+ 	unicosmk_ssib_name): Likewise.
+ 	* config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	* config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
+ 	ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
+ 	* config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
+ 	ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ 	* config/alpha/alpha.md (*divmodsi_internal_er,
+ 	*divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
+ 	call_nt, call_umk, call_vms, call_value, sibcall_value,
+ 	call_value_osf, call_value_nt, call_value_vms, call_value_umk,
+ 	*call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
+ 	* config/alpha/predicates.md (input_operand): Likewise.
+ 
+ 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
+ 	gcc_unreachable, as appropriate.
+ 	(frv_function_prologue, frv_alloc_temp_reg,
+ 	frv_initial_elimination_offset, frv_expand_block_move,
+ 	frv_expand_block_clear, frv_print_operand_jump_hint,
+ 	frv_legitimize_tls_address, unspec_got_name, frv_emit_move,
+ 	frv_emit_movsi, frv_split_cond_move, frv_split_minmax,
+ 	frv_ifcvt_modify_insn, frv_ifcvt_modify_final,
+ 	frv_adjust_field_align, frv_insn_unit, frv_cond_flags,
+ 	frv_sort_insn_group, frv_reorder_packet, frv_matching_accg_mode,
+ 	frv_in_small_data_p, frv_asm_out_constructor,
+ 	frv_asm_out_destructor, frv_output_dwarf_dtprel): Likewise.
+ 	* config/frv/frv.md (reload_incc_fp, *cond_exec_si_binary1,
+ 	*cond_exec_si_binary2, *cond_exec_si_divide, *cond_exec_si_unary1,
+ 	*cond_exec_sf_conv, *cond_exec_sf_add, call, sibcall, call_value,
+ 	sibcall_value, casesi): Likewise.
+ 
+ 	* config/mn10300/mn10300.c (print_operand): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(print_operand_address, mn10300_print_reg_list, expand_prologue,
+ 	expand_epilogue, notice_update_cc, initial_offset,
+ 	mn10300_address_cost_1): Likewise.
+ 	* config/mn10300/mn10300.md: Likewise.
+ 	(absdf2, abssf2, negdf2, negsf2): Likewise.
+ 
+ 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/21416
+ 	* config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
+ 	comparisons.
+ 	* config/mips/mips.md (swapped_fcond): New code macro and attribute.
+ 	(sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond,
+ 	including sunge_<mode> and sungt_<mode>.
+ 
+ 2005-05-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* integrate.h (get_hard_reg_initial_val): Change type of register
+ 	parameter from int to unsigned int.
+ 	(has_hard_reg_initial_val): Likewise.
+ 	* integrate.c (get_hard_reg_initial_val): Likewise.
+ 	(has_hard_reg_initial_val): Likewise.  Remove cast to unsigned int.
+ 
+ 2005-05-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* except.c (eh_status): Change the type of ttype_data to
+ 	VEC(tree,gc)*.
+ 	(add_ttypes_entry, assign_filter_values,
+ 	output_function_exception_table): Use VEC instead of VARRAY.
+ 
+ 2005-05-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant.
+ 
+ 2005-05-07  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* Makefile.in: Fix dependencies.
+ 	(GCOV_IO_H, VARRAY_H): Set.
+ 
+ 2005-05-07  Anthony Green  <green@redhat.com>
+ 
+ 	PR bootstrap/21403
+ 	* configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in
+ 	x$STMP_FIXPROTO test.
+ 	* configure: Rebuilt.
+ 
+ 2005-05-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define
+ 	inappropriate feature test macros if flag_iso.
+ 
+ 2005-05-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (NO_IMPLICIT_EXTERN_C): Define.
+ 
+ 2005-05-07  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/21441
+ 	* config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
+ 	("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+ 	Handle moved operand being in special register.
+ 	("smulsi3_highpart", "umulsi3_highpart"): Change .error into
+ 	presumed working insn.
+ 	(mover2side): Add FIXME.
+ 
+ 2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* integrate.c (get_func_hard_reg_initial_val): Delete.
+ 	(has_func_hard_reg_initial_val): Delete.
+ 	(get_hard_reg_initial_val): Inline the old implementation of
+ 	get_func_hard_reg_initial_val.  Use has_hard_reg_initial_val
+ 	instead of has_func_hard_reg_initial_val to test for an existing
+ 	pseudo.  Only create an rtx if a new initial value entry is needed.
+ 	(has_hard_reg_initial_val): Scan the initial value list directly.
+ 	Don't create an rtx.
+ 
+ 2005-05-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config.gcc ({powerpc,rs6000}-ibm-aix*): Remove rs6000/aix.opt
+ 	from extra_options.
+ 	* config.in (HAVE_AS_POPCNTB): New.
+ 	* configure.ac (HAVE_AS_MFCRF): Add .machine "pwr5" to AIX test.
+ 	(HAVE_AS_POPCNTB): New.
+ 	* configure: Regenerated.
+ 	* config/rs6000/aix.h (TARGET_XL_COMPAT): Delete.
+ 	* config/rs6000/rs6000.c (rs6000_override_options, power5): Add
+ 	MASK_POPCNTB.  Uncomment rs6000_sched_restricted_insns_priority
+ 	and rs6000_sched_costly_dep.
+ 	* config/rs6000/rs6000.h (TARGET_POPCNTB): New.
+ 	(TARGET_XL_COMPAT): Delete.
+ 	* config/rs6000/rs6000.md (UNSPEC_POPCNTB): New.
+ 	(popcount<mode>2): New.
+ 	(popcntb<mode>2): New.
+ 	* config/rs6000/rs6000.opt (mpopcntb): New.
+ 
+ 	* opt-functions.awk (var_set): Emit OPTION_MASK_ for InverseMask
+ 	if variable name exists.
+ 
+ 2005-05-07  Matt Kraai  <kraai@ftbfs.org>
+ 
+ 	* Makefile.in (c-gimplify.o): Depend on $(RTL_H) instead of rtl.h.
+ 
+ 2005-05-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21412
+ 	* config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
+ 	with constant offsets.
+ 
+ 2005-05-07  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/v850/v850.c (print_operand): Use gcc_assert and
+ 	gcc_unreachable, as appropriate.
+ 	(print_operand_address, v850_handle_data_area_attribute,
+ 	v850_encode_data_area, construct_restore_jr, construct_save_jarl,
+ 	v850_insert_attributes, construct_prepare_instruction): Likewise.
+ 	* config/v850/v850.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	* config/v850/v850.md (movsicc, *sasf_1): Likewise.
+ 
+ 2005-05-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-ivcanon.c, config/i386/i386.c,
+ 	config/rs6000/rs6000.h: Fix comment typos.
+ 
+ 2005-05-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Remove documentation for MIPS' -mint64 option.
+ 	* config/mips/mips.c (TARGET_SCALAR_MODE_SUPPORTED_P): Delete.
+ 	(mips_scalar_mode_supported_p): Delete.
+ 
+ 2005-05-06  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.opt: Remove -mint64 option.
+ 	* config/mips/mips.c (override_options): Remove -mint64
+ 	handling.
+ 	* config/mips/mips.h (INT_TYPE_SIZE): Define to 32.
+ 	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove
+ 	64-bit integer handling.
+ 	* doc/invoke.texi (Option Summary): Remove -mint64 for
+ 	mips.
+ 
+ 2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/19401
+ 	* tree-flow.h (tree_unroll_loops_completely): Declaration changed.
+ 	* tree-ssa-loop-ivcanon.c (enum unroll_level): New.
+ 	(estimated_unrolled_size): New function.
+ 	(try_unroll_loop_completely, canonicalize_loop_induction_variables,
+ 	tree_unroll_loops_completely): Always unroll loops if the code size
+ 	does not increase.
+ 	* tree-ssa-loop.c (tree_complete_unroll): Indicate whether all
+ 	loops should be unrolled completely.
+ 	(gate_tree_complete_unroll): Run complete unrolling unconditionally.
+ 
+ 2005-05-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/21254
+ 	* loop-iv.c (iv_number_of_iterations): Simplify infiniteness
+ 	assumptions for loops that otherwise do not roll.
+ 	(find_simple_exit): Prefer # of iterations that is guaranteed
+ 	not to be infinite.
+ 	* loop-unroll.c (decide_peel_once_rolling,
+ 	decide_peel_completely): Check whether the loop is infinite.
+ 
+ 2005-05-06  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	* config/rs6000/sysv4.opt: Fix typo.
+ 
+ 2005-05-06  Denis Vlasenko  <vda@port.imtp.ilyichevsk.odessa.ua>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/21329
+ 	* config/i386/i386.c (ix86_expand_movmem): Don't use rep; movsb
+ 	for -Os if (movsl;)*(movsw;)?(movsb;)? sequence is shorter.
+ 	Don't use rep; movs{l,q} if the repetition count is really small,
+ 	instead use a sequence of movs{l,q} instructions.
+ 
+ 2005-05-06  Jeff Law  <law@redhat.com>
+ 
+ 	PR tree-optimization/21380
+ 	* tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
+ 	thread through a block with no preds.
+ 
+ 2005-05-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-operands.c (clobbered_v_may_defs, clobbered_vuses,
+ 	ro_call_vuse, fini_ssa_operands, add_call_clobber_ops,
+ 	add_call_read_ops): Use VEC instead of VARRAY.
+ 
+ 2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/mcore/mcore.c (mcore_print_operand_address): Use
+ 	gcc_assert and gcc_unreachable as appropriate.
+ 	(mcore_print_operand, mcore_gen_compare_reg, mcore_output_call,
+ 	mcore_output_andn, output_inline_const, mcore_output_move,
+ 	mcore_output_movedouble, mcore_expand_block_move,
+ 	layout_mcore_frame, mcore_initial_elimination_offset,
+ 	mcore_expand_prolog, mcore_mark_dllexport,
+ 	mcore_mark_dllimport): Likewise.
+ 	* config/mcore/mcore.h (switch_to_section): Likewise.
+ 	* config/mcore/mcore.md: Likewise.
+ 
+ 2005-05-06  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/linux64.h: Remove MASK_PROFILE_KERNEL, and
+ 	TARGET_PROFILE_KERNEL.
+ 
+ 	* config/rs6000/rs6000.c (output_profile_hook): Add comment to
+ 	TARGET_PROFILE_KERNEL use.
+ 
+ 2005-05-06  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/m32r/m32r.c (m32r_encode_section_info): Use gcc_assert
+ 	and gcc_unreachable, as appropriate.
+ 	(gen_compare, gen_split_move_double, m32r_setup_incoming_varargs,
+ 	m32r_expand_prologue, m32r_output_function_epilogue,
+ 	m32r_legitimize_pic_address, m32r_print_operand_address,
+ 	emit_cond_move, m32r_function_symbol,
+ 	m32r_output_block_move): Likewise.
+ 	* config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	* config/m32r/m32r.md (	*movsi_insn, *zero_branch_insn,
+ 	*rev_zero_branch_insn): Likewise.
+ 
+ 2005-05-06  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/20961
+ 	* varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
+ 	if both NEWDECL and OLDDECL are already weak.
+ 
+ 2005-05-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/rs6000/sysv4.h (EXTRA_SUBTARGET_SWITCHES): Delete.
+ 
+ 2005-05-05  J"orn Rennecke  <joern.rennecke@st.com>
+ 	    Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.c (sh_builtin_saveregs): Use copy_to_mode_reg
+ 	and plus_constant.
+ 
+ 2005-05-05  Aldy Hernandez  <aldyh@redhat.com>
+ 	    David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config.gcc: Add .opt magic for the rs6000 ports.
+ 
+ 	* doc/invoke.texi: Document -mabi= option properly.  Document
+ 	-misel and -mno-sel.  Document -mspe and -mno-spe.  Document
+ 	-mvrsave and -mno-vrsave.  Document deprecation of -mspe= and
+ 	-misel=.
+ 
+ 	* config/rs6000/aix.h: Remove XL_COMPAT stuff.  Remove
+ 	SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES.  Define
+ 	TARGET_XL_COMPAT.
+ 
+ 	* config/rs6000/aix.opt: New.
+ 	* config/rs6000/aix41.opt: New.
+ 	* config/rs6000/aix64.opt: New.
+ 	* config/rs6000/darwin.opt: New.
+ 	* config/rs6000/linux64.opt: New.
+ 	* config/rs6000/rs6000.opt: New.
+ 	* config/rs6000/sysv4.opt: New.
+ 
+ 	* config/rs6000/sysv4.h: Delete definitions of MASK_* and
+ 	associated TARGET_*.  Remove SUBTARGET_OPTIONS,
+ 	SUBTARGET_SWITCHES.
+ 	Define TARGET_USES_SYSV4_OPT.
+ 	* config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
+ 	* config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES.  Define
+ 	TARGET_USES_AIX64_OPT.
+ 	* config/rs6000/aix51.h: Same.
+ 	* config/rs6000/aix52.h: Same.
+ 	* config/rs6000/darwin.h: Remove SUBTARGET_SWITCHES,
+ 	MASK_MACHO_DYNAMIC_NO_PIC, TARGET_MACHO_DYNAMIC_NO_PIC.
+ 	Use TARGET_ALTIVEC_VRSAVE instead of rs6000_altivec_vrsave.
+ 	Define TARGET_DYNAMIC_NO_PIC as TARGET_MACHO_DYNAMIC_NO_PIC.
+ 	* config/rs6000/linux64.h: Use
+ 	rs6000_explicit_options.  Remove EXTRA_SUBTARGET_SWITCHES.
+ 
+ 	* config/rs6000/rs6000.c: Remove definitions of
+ 	rs6000_sched_restricted_insns_priority,
+ 	rs6000_long_double_size_string, rs6000_altivec_vrsave,
+ 	rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
+ 	rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+ 	rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
+ 	rs6000_alignment_string.  Define rs6000_explicit_options.
+ 	(rs6000_parse_abi_options): Remove.
+ 	(rs6000_parse_alignment_option): Remove.
+ 	(rs6000_parse_float_gprs_option): Remove.
+ 	(rs6000_handle_option): New.  Define TARGET_HANDLE_OPTION.  Define
+ 	TARGET_DEFAULT_TARGET_FLAGS.
+ 	(rs6000_override_options): Revamp to use new .opt machinery.
+ 
+ 	* config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
+ 	of new .opt machinery.  Remove target_flags.  Redefine
+ 	TARGET_MFCRF and TARGET_POWERPC64.  Remove TARGET_SWITCHES,
+ 	SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
+ 	rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+ 	rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
+ 	rs6000_longcall_switch, rs6000_default_long_calls,
+ 	rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
+ 	rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
+ 	TARGET_ALTIVEC_VRSAVE.
+ 
+ 2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc (hppa1.1-*-rtems*): Remove.
+ 	* config/pa/rtems.h: Remove.
+ 
+ 2005-05-05  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+ 	Exclude roe/603e multilib variants.
+ 
+ 2005-05-04  Denis Chertykov  <denisc@overta.ru>
+ 
+ 	PR target/21284
+ 	* config/avr/avr.c (avr_output_addr_vec_elt): Use special section
+ 	for output.
+ 
+ 2005-05-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
+ 	arm/pe.opt to $extra_options.
+ 	* config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
+ 	(target_float_abi_name, target_float_switch, target_abi_name)
+ 	(ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
+ 	(ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
+ 	(ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
+ 	(ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
+ 	(ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
+ 	(THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
+ 	(THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
+ 	(TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
+ 	(TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
+ 	(TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
+ 	(TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
+ 	(TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
+ 	(TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
+ 	(TARGET_OPTIONS, arm_cpu_select, arm_select,  structure_size_string)
+ 	(arm_pic_register_string): Delete.
+ 	(TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
+ 	TARGET_TPCS_FRAME.
+ 	(TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
+ 	* config/arm/coff.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/elf.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/semi.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
+ 	* config/arm/pe.h (TARGET_DEFAULT): Likewise.
+ 	(TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
+ 	(SUBTARGET_SWITCHES): Delete.
+ 	* config/arm/arm.c (target_float_switch): Delete.
+ 	(arm_cpu_select): Moved from config/arm/arm.h.
+ 	(target_fpu_name, target_fpe_name, target_float_abi_name)
+ 	(target_abi_name, structure_size_string, arm_pic_register_string)
+ 	(arm_select): Make static.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(arm_handle_option): New function.
+ 	(arm_override_options): Update target_flags checks for new mask names.
+ 	Remove target_float_switch code.
+ 	(arm_expand_prologue, thumb_expand_prologue): Check
+ 	!TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
+ 	* config/arm/arm.opt, config/arm/pe.opt: New files.
+ 
+ 2005-05-05  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arc/arc.c (get_arc_condition_code): Use gcc_assert &
+ 	gcc_unreachable as appropriate.
+ 	(arc_double_limm_p, arc_setup_incoming_varargs,
+ 	arc_compute_function_type, arc_output_function_prologue,
+ 	arc_output_function_epilogue, arc_eligible_for_epilogue_delay,
+ 	output_shift, arc_print_operand, arc_print_operand_address,
+ 	arc_final_prescan_insn): Likewise.
+ 	* config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
+ 
+ 2005-05-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (P): Use TARGET_*BIT rather than
+ 	comparing Pmode.
+ 	(SDI): New.
+ 	(cmp): Delete.
+ 	(wd): New.
+ 	(add<mode>3, add<mode>3_internal1, add<mode>3_internal2,
+ 	add<mode>3_internal3, one_cmpl<mode>2, sub<mode>3, neg<mode>2,
+ 	clz<mode>2, ctz<mode>2, ffs<mode>2): New.
+ 	(addsi3, addsi3_internal1, addsi3_internal2, addsi3_internal3,
+ 	(one_cmplsi2, subsi3, negsi2, clzsi2, ctzsi2, ffssi2): Remove.
+ 	(adddi3, adddi3_internal1, adddi3_internal2, adddi3_internal3,
+ 	(one_cmpldi2, subdi3, negdi2, clzdi2, ctzdi2, ffsdi2): Remove.
+ 	(sync_compare_and_swap<mode>): Use <wd> rather than <cmp>.
+ 
+ 2005-05-05  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* Makefile.in: Replace dependencies on basic-block.h, c-pragma.h,
+ 	cfgloop.h, diagnostic.h, insn-attr.h, langhooks-def.h, params.h,
+ 	regs.h, system.h, tree-dump.h, tree-gimple.h, tree-scalar-evolution.h
+ 	and tree-data-ref.h with *_H variables.
+ 
+ 2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/m32r/xm-m32r.h, config/m32r/xm-linux.h: Delete files.
+ 
+ 2005-05-05  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* system.h: Poison BYTEORDER and HOST_WORDS_BIG_ENDIAN.
+ 
+ 2005-05-04  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks.
+ 
+ 2005-05-04 Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Emit
+ 	setting of vrsave register for current function after
+ 	call to save_world is emitted.
+ 
+ 2005-05-05  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/predicates.md: New file.
+ 	* config/mmix/mmix.c (mmix_symbolic_or_address_operand)
+ 	(mmix_reg_or_constant_operand, mmix_reg_cc_operand)
+ 	(mmix_foldable_comparison_operator, mmix_comparison_operator)
+ 	(mmix_reg_or_0_operand, mmix_reg_or_8bit_operand): Remove.
+ 	* config/mmix/mmix.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
+ 	Don't define.
+ 	* config/mmix/mmix.md: Include predicates.md.
+ 	("call", "call_value"): Force address to register if it isn't a
+ 	mmix_symbolic_or_address_operand.
+ 
+ 2005-05-04  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-flow-inline.h (op_iter_init_use, op_iter_init_def): Assert that
+ 	the flags are of appropriate types.
+ 	(num_ssa_operands): Generalize using the generic interface.
+ 	* tree-ssa-dce.c (remove_dead_stmt): Don't ask for kills on a DEF
+ 	iterator.
+ 
+ 2005-05-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* protoize.c (version_flag, quiet_flag, nochange_flag, nosave_flag)
+ 	(keep_flag, local_flag, global_flag, cplusplus_flag): Make extern.
+ 
+ 2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (edge_leader, stmt_list,
+ 	analyze_edges_for_bb): Use VEC instead of VARRAY.
+ 	(init_analayze_edges_for_bb, fini_analayze_edges_for_bb): New.
+ 	(perform_edge_inserts): Call init_analayze_edges_for_bb and
+ 	fini_analayze_edges_for_bb.
+ 
+ 2005-05-04  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR driver/21112
+ 	* gcc.c (process_command): In the second argv scan loop, ignore
+ 	Xassembler and Xpreprocessor, along with their argument.
+ 
+ 2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow-inline.h, tree-ssa-operands.c,
+ 	tree-ssa-operands.h, tree-ssa-opfinalize.h:
+ 	Likewise. tree-vn.c: Fix comment typos.
+ 	* doc/passes.texi, doc/tree-ssa.texi: Fix typos.
+ 
+ 2005-05-04  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/tm.texi (Target Hooks): Document
+ 	TARGET_RESOLVE_OVERLOADED_BUILTIN.
+ 
+ 2005-05-04  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* Makefile.in: Change dependencies on target.h to $(TARGET_H).
+ 
+ 2005-05-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dwarf2out.c (incomplete_types, retry_incomplete_types,
+ 	gen_struct_or_union_type_die, dwarf2out_init): Use VEC instead
+ 	of VARRAY.
+ 
+ 	* loop-unroll.c (var_to_expand, analyze_insn_to_expand_var,
+ 	get_expansion, expand_var_during_unrolling,
+ 	insert_var_expansion_initialization,
+ 	combine_var_copies_in_loop_exit, release_var_copies): Use VEC
+ 	instead of VARRAY.
+ 
+ 	* tree-ssa-loop-ivopts.c (rewrite_address_base): Don't call
+ 	update_stmt.
+ 
+ 2004-05-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/15618
+ 	* fold-const.c (fold_widened_comparison): Treat BOOLEAN_TYPE
+ 	the same as INTEGER_TYPE.
+ 	(fold_binary): Fold "bool_var != 0" to bool_var.
+ 	Fold "bool_var == 1" to bool_var.
+ 
+ 2004-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/21318
+ 	* function.c (instantiate_virtual_regs_in_insn): Use the mode
+ 	from recog_data instead of insn_data.
+ 
+ 2005-05-03  DJ Delorie  <dj@redhat.com>
+ 
+ 	* common.opt (fdiagnostics-show-option): No variable is needed.
+ 	* diagnostic.h (diagnostic_context): Add show_option_requested flag.
+ 	* diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
+ 	(diagnostic_report_diagnostic): Test for enabled diagnostics here.
+ 	Save and restore original message format.  Use flag in context
+ 	instead of global.
+ 	(warning): Don't test for enabled warnings here.
+ 	* opts.c (common_handle_option): Handle -fdiagnostics-show-option
+ 	here.
+ 
+ 2005-05-04  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN.
+ 	* config/m32r/xm-linux.h: Don't undefine HOST_WORDS_BIG_ENDIAN.
+ 	* mips-tfile.c: Use WORDS_BIG_ENDIAN instead of HOST_WORDS_BIG_ENDIAN.
+ 	* aclocal.m4: Don't include accross.m4.
+ 	* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
+ 	Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
+ 	* configure, config.in: Regenerate.
+ 
+ 2005-05-04  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/21265
+ 	* expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL.
+ 	(clear_storage): Add argument.
+ 	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall):
+ 	Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to
+ 	tailcall.
+ 	(emit_block_move): Handle BLOCK_OP_TAILCALL method.
+ 	(clear_storage): Add method argument, handle BLOCK_OP_TAILCALL.
+ 	(store_expr, store_constructor): Adjust callers.
+ 	* builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL
+ 	to emit_block_move if CALL_EXPR_TAILCALL (exp).
+ 	(expand_builtin_memmove): Add ORIG_EXP argument, copy
+ 	CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR.
+ 	(expand_builtin_bcopy): Replace ARGLIST and TYPE arguments
+ 	with EXP.  Pass EXP to expand_builtin_memmove.
+ 	(expand_builtin_memset): Add ORIG_EXP argument, pass
+ 	BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp).
+ 	(expand_builtin_bzero): Replace ARGLIST argument with EXP.
+ 	Pass EXP to expand_builtin_memset.
+ 	(expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to
+ 	the new CALL_EXPR.
+ 	(expand_builtin_strncmp): Likewise.
+ 	(expand_builtin_printf): Replace ARGLIST argument with EXP.
+ 	Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR.
+ 	(expand_builtin_fprintf): Likewise.
+ 	(expand_builtin): Adjust calls to
+ 	expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}.
+ 
+ 	* config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th
+ 	item in V4SF mode.
+ 
+ 	PR rtl-optimization/21239
+ 	* combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo.
+ 
+ 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow.h (tree_ann_common_d): Move aux to ...
+ 	(stmt_ann_d): ... here.
+ 	* tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
+ 	move_computations_stmt, schedule_sm): Update references to
+ 	aux.
+ 	* tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
+ 
+ 	* tree-cfg.c (remove_bb): Remove a redundant call to
+ 	set_bb_for_stmt.
+ 	* tree-if-conv.c (replace_phi_with_cond_modify_expr):
+ 	Likewise.
+ 
+ 2005-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c: Remove conflict markers.
+ 
+ 	* cfg.c (dump_flow_info): Use max_reg_num, not max_regno.
+ 
+ 2005-05-03  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* dwarf2out.c (lookup_filename): Call maybe_emit_file.
+ 
+ 2005-05-03  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery
+ 	decide if the warning will be printed.
+ 	* calls.c (expand_call): Likewise.
+ 	* function.c (init-function_start): Likewise.
+ 
+ 	* common.opt (-fdiagnostics-show-option): New.
+ 	* opts.c (option_enabled): Accept the option index instead of a
+ 	pointer to the option descriptor.
+ 	* opts.h (option_enabled): Likewise.
+ 	* toplev.c (print_switch_values): Pass option index, not option
+ 	descriptor.
+ 	* diagnostic.h (diagnostic_info): Add option_index.
+ 	* diagnostic.c: Include opts.h.
+ 	(diagnostic_set_info): Initialize option_index.
+ 	(diagnostic_report_diagnostic): Amend option name if appropriate.
+ 	(warning): Check to see if the specified warning is enabled.
+ 	Store option index.
+ 	* doc/invoke.texi (-fdiagnostics-show-options): Document.
+ 
+ 2005-05-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix ALL_REGS and
+ 	SPEC_OR_GEN_REGS definitions.
+ 
+ 2005-05-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR target/16888
+ 	* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
+ 	for unavailable registers.
+ 
+ 2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_forwarder_block_p): Fix a typo.
+ 
+ 	* cfglayout.c (block_locators_blocks,
+ 	insn_locators_initialize, insn_scope): Use VEC instead of
+ 	VARRAY.
+ 
+ 	* tree-mudflap.c (deferred_static_decls, mudflap_enqueue_decl,
+ 	mudflap_finish_file, mudflap_finish_file): Use VEC instead of
+ 	VARRAY.
+ 
+ 2005-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/predicates.md (const_compl_high_operand): New.
+ 	* config/sparc/sparc.c (sparc_emit_set_safe_HIGH64): Rename into
+ 	gen_safe_HIGH64.
+ 	(sparc_emit_set_const64_quick1): Adjust for above change.
+ 	(sparc_emit_set_const64_quick2): Likewise.
+ 	(sparc_emit_set_const64_longway): Likewise.
+ 	(sparc_emit_set_const64): Likewise.
+ 	* config/sparc/sparc.md (movhi_const64_special, movsi_const64_special,
+ 	movdi_const64_special): Delete.
+ 	(logical constant splitters): Use const_compl_high_operand.
+ 
+ 2005-05-03  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Use STRIP_TYPE_NOPS
+ 	rather than STRIP_NOPS.
+ 
+ 2005-05-03  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/21330
+ 	* loop-unswitch.c (may_unswitch_on): Set *cinsn only when
+ 	returning non-NULL.
+ 	(unswitch_single_loop): Clear cinsn when retrying.
+ 
+ 	PR target/21297
+ 	* config/i386/i386.c (legitimize_address): When canonicalizing
+ 	ASHIFT into MULT, multiply by 1 << shift_count instead of
+ 	1 << log2 (shift_count).
+ 
+ 2005-05-03  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* lambda-code.c (gcc_loop_to_lambda_loop,
+ 	lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
+ 	stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
+ 	generic operand interface.
+ 	* tree-data-ref.c (find_data_references_in_loop): Use generic interface.
+ 	* tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
+ 	generic operand interface.
+ 	* tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
+ 	link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
+ 	next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
+ 	num_imm_uses): Use ssa_use_operand_t.
+ 	(get_def_ops, get_use_ops, get_v_may_def_ops, get_vuse_ops,
+ 	get_v_must_def_ops): Delete.
+ 	(get_def_from_ptr, get_phi_result_ptr): Get def directly now.
+ 	(get_use_op_ptr, get_def_op_ptr, get_v_may_def_result_ptr,
+ 	get_v_may_def_op_ptr, get_vuse_op_ptr, get_v_must_def_result_ptr,
+ 	get_v_must_def_kill_ptr): Delete.
+ 	(delink_stmt_imm_use): Move and use new operand interface.
+ 	(op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
+ 	op_iter_next_tree): Use new operand implementation.
+ 	(clear_and_done_ssa_iter): New.  Initialize a blank operand iterator.
+ 	(op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
+ 	type check.
+ 	(op_iter_next_mustdef, op_iter_next_maydef,
+ 	op_iter_next_must_and_may_def): Delete. Replace with...
+ 	(op_iter_next_maymustdef): New.  Combine must and may next operations.
+ 	(op_iter_init_maydef, op_iter_init_mustdef,
+ 	op_iter_init_must_and_may_def): Use new interface.
+ 	(single_ssa_tree_operand ): New.  Process single operands only as trees.
+ 	(single_ssa_use_operand): New.  Process single operands only as uses.
+ 	(single_ssa_def_operand): New.  Process single operands only as defs.
+ 	(zero_ssa_operands): New.  Return TRUE if there are zero operands of the
+ 	specified types.
+ 	(num_ssa_operands): New.  Count the number of specified operands.
+ 	(compare_ssa_operands_equal): New.  Compare two statements' operands.
+ 	(single_phi_def): New.  Return true if PHI has one def of the specified
+ 	operand type.
+ 	(op_iter_init_phiuse): New.  Initialize the iterator for PHI arguments.
+ 	(op_iter_init_phidef): New.  Initialize the iterator for the PHI def.
+ 	* tree-flow.h (struct immediate_use_iterator_d): Use ssa_use_operand_t.
+ 	(struct stmt_ann_d): Operands field no longer require GTY().
+ 	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
+ 	* tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
+ 	* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
+ 	dump_replaceable_exprs, rewrite_trees): Use generic interface.
+ 	* tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
+ 	Use use_operand_p instead of ssa_imm_use_t *.
+ 	* tree-pretty-print.c (dump_vops): check if operands are active before
+ 	dumping virtual operands.
+ 	* tree-sra.c (sra_walk_function): Use ZERO_SSA_OPERANDS.
+ 	* tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
+ 	(ccp_fold): Use new interface.
+ 	(ccp_visit_stmt): Remove unused variables and code.
+ 	(convert_to_gimple_builtin): Insert statements before calling
+ 	mark_new_vars_to_rename.
+ 	* tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
+ 	(copy_prop_visit_cond_stmt): Use generic interface.
+ 	* tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
+ 	annotation in table.
+ 	(thread_across_edge): Use generic interface.
+ 	(initialize_hash_element): Initialzie with stmt, not annotation.
+ 	(eliminate_redundant_computations): Use generic interface.
+ 	(record_equivalences_from_stmt): Pass stmt, not annotation.
+ 	(avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
+ 	interface.
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
+ 	* tree-ssa-loop-ivopts.c (find_invariants_stmt,
+ 	find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
+ 	generic operand interface.
+ 	* tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
+ 	interface.
+ 	* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
+ 	Interface.
+ 	* tree-ssa-operands.c (struct opbuild_list_d): New.  Operand build type.
+ 	(build_defs, build_uses, build_v_may_defs, build_vuses,
+ 	build_v_must_defs): Change type to struct opbuild_list_d.
+ 	(ops_active): New.  Operands active boolean.
+ 	(operand_memory, operand_memory_index): New.  Operand memory managers.
+ 	(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
+ 	allocate_vuse_optype, allocate_v_must_def_optype): Delete.
+ 	(free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
+ 	Change from functions to static variable list heads.
+ 	(opbuild_initialize_virtual): New.  Initialize a virtual build list.
+ 	(opbuild_initialize_real): New.  Initialize a virtual build list.
+ 	(opbuild_free): New.  Free a build list.
+ 	(opbuild_num_elems): New.  Number of items in a list.
+ 	(opbuild_append_real): New.  Add a real (tree *) operand.
+ 	(opbuild_append_virtual): New.  Add and sort a virtual (tree) operand.
+ 	(opbuild_first): New.  Return first element index in a list.
+ 	(opbuild_next): New.  Return next element in a list.
+ 	(opbuild_elem_real): New.  Return real element.
+ 	(opbuild_elem_virtual): New.  Return virtual element.
+ 	(opbuild_elem_uid): New.  Return UID of virtual element.
+ 	(opbuild_clear): New.  Reset an operand list.
+ 	(opbuild_remove_elem): New.  Remove an element form a list.
+ 	(ssa_operands_active): New.  Return true if operand cache is active.
+ 	(init_ssa_operands, fini_ssa_operands): Initialize new implementation.
+ 	(ssa_operand_alloc): New.  Allocate memory from an operand chunk.
+ 	(correct_use_link): Use use_operand_p.
+ 	(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
+ 	finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
+ 	(cleanup_v_may_defs): Use new implmentation.
+ 	(finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
+ 	implementation.
+ 	(append_def, append_use, append_v_may_def, append_vuse,
+ 	append_v_must_def): Call opbuild_append routine instead of using varray.
+ 	(build_ssa_operands): Simplify to simply use stmt, don't maintain a
+ 	global parse_old_ops variable.
+ 	(free_ssa_operands): New implementation.
+ 	(update_stmt_operands): Move.  Change argument to build_ssa_operands.
+ 	(copy_virtual_operands): Move. New generic implementation.
+ 	(create_ssa_artficial_load_stmt): Move. New implementation.
+ 	(swap_tree_operands): Update for new implementation.
+ 	(get_expr_operands): Add stmt parameter to calls to swap_tree_operands.
+ 	(add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
+ 	rather than a varray.
+ 	(verify_imm_links): Use use_operand_p.
+ 	(dump_immediate_uses_for): If the immediate use variable is a virtual
+ 	variable, show the virtual ops in the stmt.
+ 	* tree-ssa-operands.h (def_operand_p): No longer a structure.
+ 	(NULL_DEF_OPERAND_P): Now a #define.
+ 	(def_optype_d, use_optype_d, v_def_use_operand_type, v_may_def_optype_d,
+ 	vuse_operand_type, vuse_optype_d, v_must_def_optype_d): Delete.
+ 	(def_optype_d, use_optype_d, maydef_optype_d, vuse_optype_d,
+ 	mustdef_optype_d): New.  Use Linked list representation.
+ 	(SSA_OPERAND_MEMORY_SIZE): New.  Size of operand memory chunk.
+ 	(struct ssa_operand_memory_d): New.  Allocated Chunk node.
+ 	(struct stmt_operands_d): Change to new pointers that are not GTY.
+ 	(STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
+ 	STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
+ 	SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
+ 	STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
+ 	SET_V_MUST_DEF_KILL): Delete.
+ 	(V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
+ 	V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
+ 	(V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
+ 	V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
+ 	(enum ssa_op_iter_type): Operand iterator typechecking values.
+ 	(struct ssa_operand_iterator_d): Use linked lists of operands.
+ 	(SSA_OP_VMUSTDEFKILL): Rename to SSA_OP_VMUSTKILL.
+ 	(FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_MUSTDEF_OPERAND,
+ 	FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): Use op_iter_next_maymustdef.
+ 	(FOR_EACH_PHI_ARG): New.  Iterate over PHI arguments.
+ 	(FOR_EACH_PHI_OR_STMT_USE): New.  Iterate over PHI or stmt uses.
+ 	(FOR_EACH_PHI_OR_STMT_DEF): New.  Iterate over PHI or stmt defs.
+ 	(SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
+ 	SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
+ 	* tree-ssa-opfinalize.h: New.  Function templates for expansion.
+ 	(FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
+ 	alloc_vuse, and alloc_mustdef.
+ 	(FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
+ 	finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
+ 	and finalize_ssa_v_must_def_ops.
+ 	* tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
+ 	(create_value_expr_from): Use stmt not vuse_optype as a parameter. Pass
+ 	stmt around.
+ 	(compute_avail): Use generic iterator interface.
+ 	* tree-ssa-propagate.c (first_vdef): Use generic operand interface.
+ 	(stmt_makes_single_load, stmt_makes_single_store): Use
+ 	ZERO_SSA_OPERANDS.
+ 	* tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
+ 	(statement_sink_location): Use generic interface.
+ 	* tree-ssa.c (verify_ssa):  Use %p in fprintf.  Use generic interface.
+ 	(delete_tree_ssa): Don't call release_defs.  Call release_ssa_name and
+ 	reset the immediate use link nodes.
+ 	(stmt_references_memory_p): Use ZERO_SSA_OPERANDS.
+ 	* tree-ssanames.c (make_ssa_name): Use use_operand_p.
+ 	* tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
+ 	(eliminate_tail_call): Use generic operand interface.
+ 	* tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
+ 	(vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
+ 	interface.
+ 	* tree-vect-transform.c (update_vuses_to_preheader): Use generic
+ 	interface.
+ 	* tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
+ 	* tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
+ 	vuse_optype.
+ 	(vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
+ 	Use statement pointer instead of vuse_optype.  Use generic interface.
+ 	* tree-vrp.c (maybe_add_assert_expr): Use generic interface.
+ 	(stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
+ 	* tree.h (struct ssa_imm_use_d): Renamed to ssa_use_operand_d.
+ 	(tree_ssa_name, phi_arg_d): Use ssa_use_operand_d.
+ 	* doc/tree-ssa.texi: Update documentation for operand interface.
+ 
+ 2005-05-03  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/darwin.c (machopic_define_symbol): Use gcc_assert or
+ 	gcc_unreachable as appropriate.
+ 	(machopic_function_base_name, machopic_indirect_data_reference,
+ 	machopic_legitimize_pic_address, darwin_non_lazy_pcrel): Likewise.
+ 	* config/host-darwin.c (darwin_gt_pch_use_address): Likewise
+ 	* config/rs6000/altivec.md (*mov<mode>_internal,
+ 	build_vector_mask_for_load): Likewise.
+ 	* config/rs6000/darwin.md (movdf_low_si, movdf_low_di,
+ 	*call_nonlocal_darwin64, *call_value_nonlocal_darwin64,
+ 	*sibcall_symbolic_64, *sibcall_value_symbolic_64): Likewise.
+ 	* config/rs6000/predicates.md (easy_fp_constant,
+ 	logical_operand): Likewise.
+ 	* config/rs6000/rs6000.c (spe_expand_predicate_builtin,
+ 	compute_save_world_info, rs6000_emit_prologue,
+ 	rs6000_output_mi_thunk): Reword comments to avoid 'abort'.
+ 	* config/rs6000/host-darwin.c (segv_handler): Use fancy_abort
+ 	directly.
+ 
+ 2005-05-03  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR middle-end/21282
+ 	* convert.c (convert_to_integer): Convert ceil and floor in
+ 	c99 mode only.
+ 
+ 2005-04-29  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	PR target/20813
+ 	* config/rs6000/rs6000.md (floatsidf2_internal): Merge to create
+ 	define_insn_and_split.  Split only when memory operand is
+ 	offsettable.  Use adjust_address rather than plus_constant.
+ 	(floatunssidf2_internal): Likewise.
+ 	(fix_truncdfsi2_internal): Split only when memory operand is
+ 	offsettable.  Use adjust_address rather than plus_constant.
+ 	(fix_trunctfsi2_internal): Likewise.
+ 	(floatsidf2_internal): Likewise.
+ 
+ 2005-05-02  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-vrp.c (set_value_range_to_nonnull): Declare inline.
+ 	(set_value_range_to_null): Likewise.
+ 	(set_value_range_to_varying): New function.  Use it in all
+ 	call sites that used to call set_value_range (vr, VR_VARYING, ...).
+ 	(extract_range_from_assert): If the integral type has a
+ 	super-type, and LIMIT is not within MIN and MAX values of that
+ 	type, set the resulting range to VR_VARYING.
+ 
+ 2005-05-02  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	* config/mmix/mmix.opt: New file.
+ 	* config/mmix/mmix.h: Move options-related comments to mmix.opt.
+ 	(mmix_cc1_ignored_option): Don't declare.
+ 	(TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
+ 	(TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
+ 	(TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
+ 	(TARGET_MASK_BRANCH_PREDICT, TARGET_MASK_USE_RETURN_INSN)
+ 	(TARGET_MASK_BASE_ADDRESSES, TARGET_LIBFUNC, TARGET_ABI_GNU,
+ 	(TARGET_FCMP_EPSILON, TARGET_ZERO_EXTEND, TARGET_KNUTH_DIVISION)
+ 	(TARGET_TOPLEVEL_SYMBOLS, TARGET_BRANCH_PREDICT)
+ 	(TARGET_BASE_ADDRESSES, TARGET_USE_RETURN_INSN, TARGET_SWITCHES):
+ 	Don't define.
+ 	(TARGET_DEFAULT): Change TARGET_MASK_... to MASK_...
+ 	* config/mmix/mmix.c (mmix_cc1_ignored_option): Remove.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): Override default.
+ 
+ 2005-05-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/15698
+ 	* c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New.
+ 	* c-decl.c (current_function_prototype_built_in,
+ 	current_function_prototype_arg_types): New.
+ 	(merge_decls): Keep source location of prototype followed by
+ 	nonprototype declaration.  Update C_DECL_BUILTIN_PROTOTYPE.
+ 	(builtin_function): Set C_DECL_BUILTIN_PROTOTYPE.
+ 	(start_function): Always set current_function_prototype_locus,
+ 	current_function_prototype_built_in and
+ 	current_function_prototype_arg_types.  Check for external
+ 	prototype whether or not visible for external function and set
+ 	current_function_prototype_arg_types accordingly.
+ 	(store_parm_decls_oldstyle): Use
+ 	current_function_prototype_arg_types for checking old-style
+ 	definition against prototype.  Give warnings only if
+ 	current_function_prototype_built_in).
+ 
+ 2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* ggc.h (ggc_alloc_zone_pass_stat): New macro.
+ 	(ggc_alloc_zone_stat): Don't define.
+ 	* ggc-zone.c (ggc_alloc_typed_stat, ggc_alloc_stat): Use
+ 	ggc_alloc_zone_pass_stat.
+ 	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Likewise.
+ 	* tree.c (make_node_stat, copy_node_stat, make_tree_binfo_stat)
+ 	(make_tree_vec_stat, tree_cons_stat, build1_stat): Likewise.
+ 
+ 2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* calls.c (expand_call): Handle current_function_pretend_args_size
+ 	when checking for sibcalls.
+ 
+ 2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21294
+ 	* tree-vrp.c (vrp_expr_computes_nonzero): New.
+ 	(extract_range_from_expr): Call vrp_expr_computes_nonzero.
+ 
+ 2005-05-02  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	PR 19985
+ 	* gcov-io.h: Declare gcov external functions hidden.
+ 
+ 2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-uncprop.c (equiv_hash_elt, remove_equivalence,
+ 	record_equiv, tree_ssa_uncprop, uncprop_into_successor_phis):
+ 	Use VEC instead of VARRAY.
+ 	(equiv_free): New.
+ 
+ 	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor
+ 	out common code.
+ 
+ 2005-05-02  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* c-common.c (resolve_overloaded_builtin): Forward to target
+ 	hook for BUILT_IN_MD built-ins.
+ 	* c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
+ 	for all types of built-in.
+ 	* target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New.  Use it
+ 	in the definition of the target hooks struct.
+ 	* target.h (struct gcc_target): Add resolve_overloaded_builtin.
+ 	* config/rs6000/altivec.h: Rewritten.
+ 	* config/rs6000/rs6000-c.c (struct altivec_builtin_types,
+ 	altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
+ 	rs6000_builtin_type, rs6000_builtin_type_compatible,
+ 	altivec_overloaded_builtins, rs6000_builtin_type,
+ 	rs6000_builtin_type_compatible): New.
+ 	* config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
+ 	New.
+ 	(def_builtin): Turn into a function.  Check for duplicates and store
+ 	the builtin into rs6000_builtin_decls.
+ 	(bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
+ 	bdesc_1arg): Add overloaded builtins.
+ 	(altivec_expand_builtin): Check for unresolved overloaded builtins,
+ 	do not support ALTIVEC_COMPILETIME_ERROR.
+ 	(rs6000_init_builtins): Add opaque 128-bit vector, and internal
+ 	nodes to represent front-end types.
+ 	(altivec_init_builtins, rs6000_common_init_builtins): Create builtins
+ 	with opaque arguments and/or return values.
+ 	* config/rs6000/rs6000.h (enum rs6000_builtins): Remove
+ 	ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
+ 	(rs6000_builtin_type_index): New.
+ 	(is_ev64_opaque_type): Rename to...
+ 	(rs6000_is_opaque_type): ... this.
+ 	(rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
+ 	target hook.
+ 
+ 2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* function.c (reorder_blocks, reorder_blocks_1): Use VEC
+ 	instead of VARRAY.
+ 
+ 2005-05-02  Nathan Sidwell  <nathan@codesourcery.com>
+ 	    Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (emit_link_insn, effective_address_32bit_p,
+ 	print_address_operand, print_operand, legitimize_pic_address,
+ 	asm_conditional_branch, bfin_gen_compare, output_push_multiple,
+ 	output_pop_multiple): Use gcc_assert or gcc_unreachable as
+ 	appropriate.
+ 	* config/bfin/bfin.md (movsf splitter, beq, bne): Likewise.
+ 
+ 2005-05-02  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* doc/passes.texi: Document vectorization pass.
+ 
+ 2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-scalar-evolution.c (get_exit_conditions_rec,
+ 	select_loops_exit_conditions,
+ 	number_of_iterations_for_all_loops,
+ 	analyze_scalar_evolution_for_all_loop_phi_nodes,
+ 	scev_analysis): Use VEC instead of VARRAY.
+ 
+ 2005-05-02  Michael Matz  <matz@suse.de>
+ 
+ 	PR c++/19542
+ 	* c-common.c (c_common_nodes_and_builtins): Create global null_node.
+ 	(warn_strict_null_sentinel): Define.
+ 	(check_function_sentinel): Check for null_node as valid sentinel too.
+ 	* c-common.h (c_tree_index): Added CTI_NULL.
+ 	(null_node) Define global_tree[CTI_NULL].
+ 	(warn_strict_null_sentinel): Declare.
+ 	* c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
+ 	* c.opt: (Wstrict-null-sentinel): New C++ option.
+ 	* doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
+ 
+ 2005-05-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gimplify.c (gimplify_compound_lval): Use VEC instead of
+ 	VARRAY.
+ 
+ 	* global.c (calculate_reg_pav): Use VEC instead of VARRAY.
+ 
+ 	* dwarf2out.c (decl_scope_table, push_decl_scope,
+ 	pop_decl_scope, scope_die_for, dwarf2out_init): Use VEC
+ 	instead of VARRAY.
+ 
+ 2005-05-01  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR C++/14391
+ 	* c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_WEAK__ to 1
+ 	if !flag_weak.
+ 	* doc/cpp.texi (__DEPRECATED): Document.
+ 	(__EXCEPTIONS): Likewise.
+ 	(__GXX_WEAK__): Likewise.
+ 
+ 	* function.c (INVOKE__main): Do not define.
+ 	(expand_main_function): Check HAS_INIT_SECTION when determining
+ 	whether or not to call __main.
+ 
+ 2005-05-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-ivopts.c: Fix a comment typo.
+ 
+ 2005-01-05  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.h (ARM_EMIT_TRAMPOLINE_CACHE_CLEAR): Define.
+ 	(INITIALIZE_TRAMPOLINE): Use it.
+ 	* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Remove.
+ 	* config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Remove.
+ 	* config/arm/netbsd-elf.h (INITIALIZE_TRAMPOLINE): Remove.
+ 
+ 2005-05-01  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Specific): Omit dots in the @anchors names
+ 	for i?86-*-sco3.2v5*, i?86-*-solaris2.10, and sparc-sun-solaris2.7.
+ 	Omit underscores for x86_64-*-* and the "all ELF targets" entry.
+ 
+ 2005-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18316
+ 	PR tree-optimization/19126
+ 	* tree.c (build_int_cst_type): Avoid shift by size of type.
+ 	* tree-scalar-evolution.c (simple_iv): Add allow_nonconstant_step
+ 	argument.
+ 	* tree-scalar-evolution.h (simple_iv): Declaration changed.
+ 	* tree-ssa-loop-ivopts.c (struct iv_cand): Add depends_on
+ 	field.
+ 	(dump_cand): Dump depends_on information.
+ 	(determine_biv_step): Add argument to simple_iv call.
+ 	(contains_abnormal_ssa_name_p): Handle case expr == NULL.
+ 	(find_bivs, find_givs_in_stmt_scev): Do not require step to be a
+ 	constant.
+ 	(add_candidate_1): Record depends_on for candidates.
+ 	(tree_int_cst_sign_bit, constant_multiple_of): New functions.
+ 	(get_computation_at, get_computation_cost_at, may_eliminate_iv):
+ 	Handle ivs with nonconstant step.
+ 	(iv_ca_set_remove_invariants, iv_ca_set_add_invariants): New functions.
+ 	(iv_ca_set_no_cp, iv_ca_set_cp): Handle cand->depends_on.
+ 	(create_new_iv): Unshare the step before passing it to create_iv.
+ 	(free_loop_data): Free cand->depends_on.
+ 	(build_addr_strip_iref): New function.
+ 	(find_interesting_uses_address): Use build_addr_strip_iref.
+ 	(strip_offset_1): Split the recursive part from strip_offset.
+ 	Strip constant offset component_refs and array_refs.
+ 	(strip_offset): Split the recursive part to strip_offset_1.
+ 	(add_address_candidates): Removed.
+ 	(add_derived_ivs_candidates): Do not use add_address_candidates.
+ 	(add_iv_value_candidates): Add candidates with stripped constant
+ 	offset.  Consider all candidates with initial value 0 important.
+ 	(struct affine_tree_combination): New.
+ 	(aff_combination_const, aff_combination_elt, aff_combination_scale,
+ 	aff_combination_add_elt, aff_combination_add,
+ 	tree_to_aff_combination, add_elt_to_tree, aff_combination_to_tree,
+ 	fold_affine_sum): New functions.
+ 	(get_computation_at): Use fold_affine_sum.
+ 	* tree-ssa-loop-manip.c (create_iv): Handle ivs with nonconstant step.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_exit): Add argument
+ 	to simple_iv call.
+ 
+ 2005-04-30  Michael Matz  <matz@suse.de>
+ 
+ 	* config/i386/i386.md (movmemsi): Also active when
+ 	TARGET_INLINE_ALL_STRINGOPS.
+ 
+ 2005-04-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/20633
+ 	* config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
+ 
+ 2005-04-30  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
+ 	thumb mode.
+ 	* config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
+ 	* config/arm/ieee754-sf.S: Ditto.
+ 	* config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
+ 	(FUNC_ALIAS): Use .thumb_set for thumb routines.
+ 
+ 2005-04-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssanames.c: Fix a comment typo.
+ 	* doc/options.texi: Fix a typo.
+ 
+ 2005-04-30  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/h8300/h8300.c (byte_reg): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(split_adds_subs, cond_string, print_operand,
+ 	h8300_initial_elimination_offset, h8300_classify_operand,
+ 	h8300_unary_length, h8300_short_immediate_length,
+ 	h8300_bitfield_length, h8300_binary_length,
+ 	h8300_insn_length_from_table, compute_mov_length, output_plussi,
+ 	compute_plussi_length, compute_plussi_cc, output_logical_op,
+ 	compute_logical_op_length, compute_logical_op_cc,
+ 	output_h8sx_shift, get_shift_alg, h8300_shift_needs_scratch_p,
+ 	output_a_shift, compute_a_shift_length, compute_a_shift_cc,
+ 	output_a_rotate, compute_a_rotate_length, fix_bit_operand,
+ 	h8300_regs_ok_for_stm): Likewise.
+ 	* config/h8300/h8300.md (*movsi_h8300, *movsf_h8300,
+ 	monitor_prologue): Likewise.
+ 
+ 2005-04-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* loop-invariant.c (invariants, create_new_invariant,
+ 	get_inv_cost, best_gain_for_invariant,
+ 	find_invariants_to_move, move_invariants,
+ 	init_inv_motion_data, free_inv_motion_data): Use VEC instead
+ 	of VARRAY.
+ 
+ 2005-04-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* function.c (instantiate_decls): Remove valid_only argument.
+ 	(instantiate_decls_1, instantiate_decl): Likewise.
+ 	(instantiate_virtual_regs_1): Delete.
+ 	(instantiate_virtual_regs_lossage): Delete.
+ 	(instantiate_virtual_regs_in_rtx): New.
+ 	(safe_insn_predicate): New.
+ 	(instantiate_virtual_regs_in_insn): New.
+ 	(instantiate_virtual_regs): Update to match all that.  Only run
+ 	instantiate_decls once.
+ 
+ 2005-04-29  Richard Henderson  <rth@redhat.com>
+ 	    Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* gengtype.c (write_func_for_structure): Split out ...
+ 	(output_type_enum): ... new function.  Fix thinko accessing
+ 	TYPE_PARAM_STRUCT data.
+ 
+ 2005-04-29  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* tree.c (build_block): Removed unused 'tags' argument.
+ 	* tree.h (build_block): Removed argument.
+ 
+ 2005-04-29  Michael Matz  <matz@suse.de>
+ 
+ 	PR rtl-optimization/21144
+ 	* postreload.c (reload_cse_move2add): Check for VOIDmode.
+ 
+ 2005-04-29  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Define to disable
+ 	flag_reorder_blocks.
+ 
+ 2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21030
+ 	* tree-vrp.c (adjust_range_with_scev): Do not create invalid
+ 	ranges where VR->MAX is smaller than VR->MIN.
+ 
+ 2005-04-29  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR tree-optimization/21272
+ 	PR tree-optimization/21266
+ 	* tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
+ 
+ 2005-04-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow-inline.h: Fix a comment typo.
+ 	* doc/tree-ssa.texi: Fix a typo.
+ 
+ 	* tree-flow-inline.h, tree-ssa-operands.c: Fix comment typos.
+ 
+ 2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/fr30/fr30.c (fr30_expand_prologue): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(fr30_expand_epilogue, fr30_setup_incoming_varargs,
+ 	fr30_print_operand, fr30_move_double): Likewise.
+ 	* config/fr30/fr30.md (*movsi_internal, *movsf_internal): Likewise.
+ 
+ 2005-04-29  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
+ 	definition has already been provided.
+ 	(ARM_EABI_DTORS_SECTION_OP): Likewise.
+ 	* config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
+ 	(ARM_EABI_DTORS_SECTION_OP): Likewise.
+ 
+ 2005-04-29  Jim Tison  <jtison@us.ibm.com>
+ 
+ 	* config/s390/s390.md ("prologue_tpf", "epilogue_tpf"): Alter
+ 	trace hooks calls to improve performance.
+ 
+ 2005-04-29  Julian Brown  <julian@codesourcery.com>
+ 	    Mark Mitchell  <mark@codesourcery.com>
+ 	    Paul Brook  <paul@codesourcery.com>
+ 
+ 	* crtstuff.c: Handle targets that use .init_array.
+ 	* function.c (HAS_INIT_SECTION): Do not define. Instead, make sure
+ 	that INVOKE__main is set correctly.
+ 	(expand_main_function): Test INVOKE__main.
+ 	* libgcc2.c: Do not define __main when using .init_array.
+ 	* config/arm/arm.c (arm_elf_asm_constructor): New function.
+ 	* config/arm/arm.h (CTORS_SECTION_ASM_OP): Define, with specialized
+ 	libgcc version.
+ 	(DTORS_SECTION_ASM_OP): Likewise.
+ 	(CTOR_LIST_BEGIN): Define specially when in libgcc.
+ 	(CTOR_LIST_END): Likewise.
+ 	(DTOR_LIST_BEGIN): Likewise.
+ 	(DTOR_LIST_END): Likewise.
+ 	* config/arm/bpapi.h (INIT_SECTION_ASM_OP): Do not define it.
+ 	(FINI_SECTION_ASM_OP): Likewise.
+ 	(INIT_ARRAY_SECTION_ASM_OP): Define.
+ 	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
+ 	* config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
+ 	(SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
+ 	* doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
+ 	(FINI_ARRAY_SECTION_ASM_OP): Likewise.
+ 
+ 2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/m68k/m68k.c (m68k_initial_elimination_offset): Use
+ 	gcc_assert and gcc_unreachable as appropriate.
+ 	(output_dbcc_and_branch, output_scc_di, legitimize_pic_address,
+ 	const_int_cost, output_move_const_into_data_reg,
+ 	output_move_qimode, output_move_double, find_addr_reg,
+ 	print_operand, print_operand_address): Likewise.
+ 	* config/m68k/m68k.md (adddi3, subdi3, negsf2, negdf2, abssf2,
+ 	absdf2, sordered, sunordered, suneq, sunge, sungt, sunle, sunlt,
+ 	sltgt, bordered, bunordered, buneq, bunge, bungt, bunle, bunlt,
+ 	bltgt, *bordered_rev, *bunordered_rev, *buneq_rev, *bunge_rev,
+ 	*bunle_rev, *bunlt_rev, *bltgt_rev, negxf2, absxf2,
+ 	conditional_trap): Likewise.
+ 	* config/m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Remove unreachable code.
+ 
+ 2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/xtensa/xtensa.c (gen_int_relational): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(gen_conditional_move, xtensa_split_operand_pair,
+ 	xtensa_split_operand_pair, xtensa_copy_incoming_a7,
+ 	xtensa_copy_incoming_a7, xtensa_copy_incoming_a7,
+ 	xtensa_copy_incoming_a7, xtensa_output_literal,
+ 	xtensa_output_literal, xtensa_output_literal): Likewise.
+ 	* config/xtensa/xtensa.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ 	* config/xtensa/xtensa.md (*btrue, *bfalse, *ubtrue, *ubfalse,
+ 	*bittrue, *bitfalse, *masktrue, *maskfalse, movsicc_internal0,
+ 	movsicc_internal1, movsfcc_internal0,
+ 	movsfcc_internal1): Likewise.
+ 
+ 2005-04-28  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
+ 	(ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
+ 
+ 2005-04-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* opt-functions.awk (var_set): Emit proper initializer for
+ 	non-target bitfields.
+ 
+ 2005-04-28  Devang Patel  <dpatel@apple.com>
+ 
+ 	* dbxout.c (have_used_extensions): Remove.
+ 	(dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
+ 	have_used_extensions.
+ 
+ 2005-04-28  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/install.texi: Update -enable-languages info.  Correct path to
+ 	html docs.
+ 
+ 2005-04-28  DJ Delorie  <dj@redhat.com>
+ 
+ 	* optc-gen.awk (END): Make sure no variable is defined more
+ 	than once.
+ 	* opth-gen.awk (END): Allocate bits on a per-variable basis.
+ 	Allow for bitfield variables other than target_flags.
+ 	* doc/options.text (Mask): Document that you may specify a
+ 	variable other than target_flags.
+ 
+ 2005-04-28  Martin Koegler <mkoegler@auto.tuwien.ac.at>
+ 
+ 	PR rtl-optimization/18877
+ 	* reload.c (decompose) <case REG, case SUBREG>: Handle pseudo reg
+ 	number in val.start.
+ 
+ 2005-04-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/20813
+ 	* config/rs6000/aix43.h (SUBSUBTARGET_SWITCHES, aix64): Add
+ 	MASK_PPC_GFXOPT.
+ 	* config/rs6000/aix51.h (SUBSUBTARGET_SWITCHES, aix64): Same.
+ 	* config/rs6000/aix52.h (SUBSUBTARGET_SWITCHES, aix64): Same.
+ 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES, 64): Same.
+ 
+ 2005-04-28  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (legitimize_pic_address): Fix sense of assertion test for
+ 	creating pseudos when the base offset is too large.
+ 
+ 2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* global.c (earlyclobber_regclass): Change the type to
+ 	VEC(int,heap).
+ 	(check_earlyclobber): Update uses of earlyclobber_regclass.
+ 	(mark_reg_use_for_earlyclobber): Likewise.
+ 	(calculate_local_reg_bb_info): Allocate and free
+ 	earlyclobber_regclass using the VEC API.
+ 
+ 2005-04-28  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-ssa-alias.c (push_fields_onto_fieldstack): Remove bogus
+ 	assert.
+ 
+ 2005-04-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* modulo-sched.c, tree-stdarg.c: Use targetm.foo instead of
+ 	(*targetm.foo).
+ 
+ 	* config.gcc: Obsolete c4x-* and tic4x-*.
+ 
+ 	* tree.h (edge_def): Remove.
+ 
+ 	* bt-load.c, cfgexpand.c, dwarf2out.c, emit-rtl.c, expr.c,
+ 	function.c, global.c, lcm.c, loop-invariant.c, optabs.c,
+ 	reorg.c, resource.c, tree-ssa-loop-ivopts.c, value-prof.c: Use
+ 	JUMP_P, LABEL_P, REG_P, MEM_P, NONJUMP_INSN_P, and INSN_P
+ 	where appropriate.
+ 
+ 	* attribs.c, c-pragma.c, caller-save.c, cfghooks.h,
+ 	coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c,
+ 	errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c,
+ 	genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def,
+ 	integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c,
+ 	machmode.def, mips-tfile.c, params.c, pretty-print.c,
+ 	print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h,
+ 	tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c,
+ 	config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md,
+ 	config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h,
+ 	config/i386/cygming.h, config/i386/djgpp.h,
+ 	config/i386/lynx.h, config/i386/netware.c,
+ 	config/i386/winnt.c, config/ia64/ia64-c.c,
+ 	config/iq2000/iq2000.c, config/m32r/little.h,
+ 	config/m68k/m68k-protos.h, config/m68k/m68k.h,
+ 	config/m68k/m68k.md, config/mcore/mcore.c,
+ 	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md,
+ 	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
+ 	config/mn10300/mn10300.h, config/ns32k/netbsd.h,
+ 	config/ns32k/ns32k.c, config/ns32k/ns32k.h,
+ 	config/pa/pa-hpux11.h, config/pdp11/pdp11.c,
+ 	config/pdp11/pdp11.h, config/rs6000/darwin.h,
+ 	config/rs6000/default64.h, config/rs6000/rs6000-c.c,
+ 	config/s390/2064.md, config/s390/2084.md,
+ 	config/s390/s390-modes.def, config/s390/s390-protos.h,
+ 	config/s390/tpf.h, config/sh/sh.h, config/sh/symbian.c,
+ 	config/stormy16/stormy16.c, config/vax/vax-protos.h,
+ 	config/vax/vax.c, config/vax/vax.h,
+ 	config/xtensa/lib1funcs.asm, config/xtensa/xtensa.md: Update
+ 	copyright.
+ 
+ 2005-04-28  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-typeck.c (build_compound_expr): Correct logic in last change.
+ 
+ 2005-04-27  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.c (update_set_flags): Delete ppred and pcond
+ 	parameters.  Replace conditional move code with assert checking for
+ 	ar.lc.  Delete obsolete comments.
+ 	(set_src_needs_barrier): Delete cond parameter, and code using it.
+ 	(rtx_needs_barrier): Delete initialization of cond.  Fix typo in
+ 	assert checking for PR_REGS.  Fix calls to update_set_flags and
+ 	set_src_needs_barrier.
+ 	(group_barrier_needed): Renamed from group_barrier_needed_p.  Fix all
+ 	callers.  Rewrite explanatory comment before the function.
+ 	(safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p.
+ 	Fix all callers.
+ 
+ 2005-04-27  Mike Stump  <mrs@apple.com>
+ 
+ 	* doc/cpp.texi: gcc now implements universal character names.
+ 
+ 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21159
+ 	* c-typeck.c (build_compound_expr): Don't warn for left-hand side
+ 	being a compound expression whose right-hand side is cast to void.
+ 
+ 2005-04-27  Caroline Tice  <ctice@apple.com>
+ 
+ 	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ 	Remove targetm.have_named_sections test.
+ 	(fix_edges_for_rarely_executed_code): Likewise.
+ 	(insert_section_boundary_note): Likewise.
+ 	(reorder_basic_blocks): Check partitioning flag before calling
+ 	verify_hot_cold_block_grouping.
+ 	* dbxout.c (dbxout_function_end): Get hot/cold section labels from
+ 	the function struct rather than global variables.
+ 	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
+ 	(COLD_END_LABEL): Likewise
+ 	(cold_text_section_label): New static global variable.
+ 	(cold_end_label): Likewise.
+ 	(dwarf2out_switch_text_section): Get hot/cold section labels from
+ 	the function struct rather than global variables; test to make sure
+ 	cfun is defined.
+ 	(output_aranges): Use cold_text_section_label and cold_end_label;
+ 	check partitioning flag before putting out delta.
+ 	(output_ranges): Remove incorrect code attempting to use
+ 	hot/cold labels.
+ 	(output_line_info): Get cold section label from function struct; test
+ 	to make sure cfun is defined.
+ 	(add_location_or_const_value_attribute): Likewise.
+ 	(dwarf2out_var_location): Likewise.
+ 	(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
+ 	write out cold_text_section_label if partition flag is set.
+ 	(dwarf2out_finish): Write out cold_end_label if partition flag is set;
+ 	* function.h (struct function): Add new fields to point to hot/cold
+ 	section labels: hot_section_label, cold_section_label,
+ 	hot_section_end_label and cold_section_end_label; also add new field
+ 	for cold text section name, unlikely_text_section_name.
+ 	* opts.c (decode_options): Turn off partitioning flag if
+ 	!targetm.have_named_sections.
+ 	* output.h (hot_section_label): Remove.
+ 	(hot_section_end_label): Remove.
+ 	(cold_section_end_label): Remove.
+ 	(unlikely_section_label): Remove.
+ 	(unlikely_text_section_name): Remove.
+ 	* passes.c (rest_of_handle_final):  Remove extra blank line.
+ 	* varasm.c (unlikely_section_label): Remove.
+ 	(hot_section_label): Remove.
+ 	(hot_section_end_label): Remove.
+ 	(cold_section_end_label): Remove.
+ 	(unlikely_text_section_name):  Remove.
+ 	(initialize_cold_section_name): Modify to call
+ 	targetm.strip_name_encoding; to store cold section name in current
+ 	function struct, if it exists; and to only use the decl_section_name
+ 	if flag_named_sections is true.
+ 	(unlikely_text_section): Modify to get section name out of current
+ 	function struct, if there is one; otherwise build it from
+ 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
+ 	(in_unlikely_text_section): Likewise.
+ 	(named_section): Modify to get/put cold section name in current function
+ 	struct, if there is one.
+ 	(function_section):  Change 'bool unlikely' to 'int reloc'; check
+ 	targetm.have_named_sections before calling named_section.
+ 	(current_function_section): Likewise.
+ 	(assemble_start_function): Modify to get/put unlikely_text_section_name
+ 	in current function struct; modify to get hot/cold section labels
+ 	from function struct; initialize labels using
+ 	ASM_GENERATE_INTERNAL_LABEL;
+ 	test partitioning flag before writing out hot section label.
+ 	(assemble_end_function): Test partitioning flag before writing out
+ 	hot/cold section labels.
+ 	(default_section_type_flags_1):  Get cold text section name from
+ 	function struct if there is one; Set flags correctly for
+ 	cold text section if there is not a current function struct.
+ 
+ 2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-propagate.c (set_rhs): Revert last change.
+ 
+ 2005-04-27  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	* explow.c (convert_memory_address): Add gcc_assert.
+ 
+ 2005-04-27  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* configure.ac: Check for ld --sysroot support.
+ 	* gcc.c: Document %R specifier for specs.
+ 	(SYSROOT_SPEC): New macro.
+ 	(sysroot_spec): New variable.
+ 	(static_specs): Add sysroot_spec.
+ 	(main): Pass the sysroot spec to the linker if appropriate.
+ 	* configure: Regenerated.
+ 	* config.in: Likewise.
+ 
+ 2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* fold-const.c (fold_binary): Use build_fold_addr_expr
+ 	for address calculation and INDIRECT_REF handling.
+ 
+ 2005-04-27  Andrew Haley  <aph@redhat.com>
+ 
+ 	* postreload-gcse.c (hash_scan_set): Remove bogus assertion.
+ 
+ 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
+ 	pointer when thumb backtracing is on.
+ 
+ 	* config/fp-bit.c (abort): Revert change.
+ 
+ 2005-04-27  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P.
+ 
+ 2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dce.c: Fix a comment typo.
+ 
+ 2005-04-27  David S. Miller  <davem@davemloft.net>
+ 
+ 	* explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA):
+ 	Kill setjmpless_size.  current_function_calls_setjmp is completely
+ 	computed when we are called, so just use the optimized size value
+ 	instead of using REG_SAVE_AREA notes.
+ 	(optimize_save_area_alloca): Delete....
+ 	* rtl.h (optimize_save_area_alloca): Likewise...
+ 	* passes.c (rest_of_compilation): and don't call it any more.
+ 	* reg-notes.def (SAVE_AREA): Delete.
+ 
+ 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/fp-bit.c (abort): Add noreturn attribute.
+ 
+ 	* config/avr/avr.c (avr_naked_function_p): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(ptrreg_to_str, cond_string, avr_normalize_condition): Likewise.
+ 	* config/avr/avr.h (ASM_OUTPUT_REG_PUSH,
+ 	ASM_OUTPUT_REG_POP): Likewise.
+ 
+ 2005-04-27  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-complex.c (expand_vector_operations_1): Do not build
+ 	VIEW_CONVERT_EXPR's for the lhs.
+ 
+ 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove
+ 	unnecessary noncanonical RTL handling.
+ 	* config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use
+ 	gcc_assert and gcc_unreachable.
+ 
+ 	* config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(THUMB_PRINT_OPERAND_ADDRESS): Likewise.
+ 	* config/arm/arm.c (arm_override_options, arm_compute_func_type,
+ 	use_return_insn, const_ok_for_op, arm_gen_constant,
+ 	arm_canonicalize_comparison, legitimize_pic_address,
+ 	thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
+ 	arm_cirrus_insn_p, cirrus_reorg, minmax_code,
+ 	load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
+ 	emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
+ 	arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
+ 	move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
+ 	dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
+ 	fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
+ 	output_call, output_mov_long_double_fpa_from_arm,
+ 	output_mov_long_double_arm_from_fpa,
+ 	output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
+ 	output_move_double, arithmetic_instr, shift_op, int_log2,
+ 	output_return_instruction, arm_output_function_prologue,
+ 	arm_output_epilogue, arm_output_function_epilogue,
+ 	emit_multi_reg_push, arm_get_frame_offsets,
+ 	arm_compute_initial_elimination_offset, arm_expand_prologue,
+ 	arm_print_operand, arm_assemble_integer, get_arm_condition_code,
+ 	arm_final_prescan_insn, arm_init_iwmmxt_builtins,
+ 	arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
+ 	thumb_compute_initial_elimination_offset,
+ 	thumb_output_function_prologue, thumb_load_double_from_address,
+ 	thumb_output_move_mem_multiple, thumb_reload_out_hi,
+ 	arm_emit_vector_const, arm_dbx_register_number): Likewise.
+ 	* config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
+ 	* config/arm/arm.md (thumb_extendhisi2,
+ 	*thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
+ 	*thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
+ 	thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
+ 	*arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
+ 	* config/arm/cirrus.md (*cirrus_arm_movdi,
+ 	*cirrus_movdf_hard_insn): Likewise.
+ 	* config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
+ 
+ 2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow.h (ssa_names): Change the type to VEC(tree,gc).
+ 	(num_ssa_names): Use VEC_length.
+ 	(ssa_names): Use VEC_index.
+ 	* tree-ssanames.c (ssa_names): Change the type to
+ 	VEC(tree,gc).
+ 	(init_ssanames, fini_ssa_names, make_ssanames,
+ 	release_ssa_name): Update uses of ssa_names.
+ 
+ 	* dojump.c, emit-rtl.c, expmed.c, expr.c, stmt.c, stor-layout.c:
+ 	Use fold_buildN instead of fold (buildN (...)).
+ 
+ 2005-04-27  Devang Patel <dpatel@apple.com>
+ 
+ 	* dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
+ 
+ 2005-04-27  Matt Thomas <matt@3am-software.com>
+ 	    Jan-Benedict Glaw <jbglaw@microdata-pos.de>
+ 
+ 	* config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
+ 	(vax_output_mi_thunk): Ditto.
+ 	(vax_notice_cc_update): Ditto.
+ 	(INDEX_REGISTER_P): Add trailing \.
+ 	(BASE_REGISTER_P): Add trailing \.
+ 	(legitimate_address_p): Whitespace cleanup.  Remove trailing \.
+ 
+ 2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-propagate.c (set_rhs): Check operand of
+ 	ADDR_EXPR for gimpliness, too.
+ 
+ 2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-pre.c: Fix a comment typo.
+ 
+ 2005-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/21171
+ 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
+ 	record address uses if the reference is volatile.
+ 
+ 2004-04-27  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-complex.c (expand_vector_operation): New, extracted from
+ 	expand_vector_operations_1.
+ 	(tree_vec_extract): Build a NOP_EXPR.
+ 	(expand_vec_parallel): Do not care about returning the correct type.
+ 	(expand_vector_operations_1): Call expand_vector_operation.
+ 	Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
+ 
+ 	* tree-complex.c (gate_expand_vector_operations): New.
+ 	(pass_lower_vector_ssa): Use it.
+ 	* tree-optimize.c (init_tree_optimization_passes): Include
+ 	pass_lower_vector_ssa.
+ 	* tree-vect-transform.c (vect_min_worthwhile_factor): New.
+ 	(vectorizable_operation): Use it.
+ 	* tree-vectorizer.c (get_vectype_for_scalar_type): Accept
+ 	integer modes for the vector type.
+ 
+ 	* defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
+ 	* tree-vect-analyze.c (vect_enhance_data_refs_alignment):
+ 	Do not cope with UNITS_PER_SIMD_WORD == 0.
+ 	* tree-vectorizer.c (get_vectype_for_scalar_type): Check
+ 	if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
+ 	(vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
+ 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
+ 	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
+ 	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
+ 	* config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
+ 
+ 	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
+ 	* config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
+ 	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
+ 
+ 	* doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
+ 	(UNITS_PER_SIMD_WORD): New.
+ 
+ 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(ia64_expand_load_address, ia64_expand_tls_address,
+ 	ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
+ 	ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
+ 	next_scratch_gr_reg, ia64_initial_elimination_offset,
+ 	ia64_expand_prologue, ia64_expand_epilogue,
+ 	ia64_output_dwarf_dtprel, ia64_print_operand,
+ 	ia64_register_move_cost, first_instruction, rws_access_regno,
+ 	update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
+ 	ia64_sched_init, ia64_variable_issue,
+ 	ia64_first_cycle_multipass_dfs_lookahead_guard,
+ 	ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
+ 	ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
+ 	process_for_unwind_directive, ia64_hpux_file_end): Likewise.
+ 	* config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ 	* config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
+ 	* config/ia64/predicates.md (got_symbolic_operand,
+ 	sdata_symbolic_operand): Likewise.
+ 	* config/ia64/vect.md (vcondv2sf): Likewise.
+ 
+ 2005-04-27  Matt Thomas <matt@3am-software.com>
+ 
+ 	* config/vax/vax.c (legitimate_constant_address_p): New.  Formerly
+ 	CONSTANT_ADDRESS_P in config/vax/vax.h
+ 	(legitimate_constant_p): Added.  Formerly CONSTANT_P in vax.h.
+ 	(INDEX_REGISTER_P): New.
+ 	(BASE_REGISTER_P): New.
+ 	(indirectable_constant_address_p): New.  Adapted from
+ 	INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h. Use SYMBOL_REF_LOCAL_P.
+ 	(indirectable_address_p): New.  Adapted from
+ 	INDIRECTABLE_ADDRESS_P in vax.h.
+ 	(nonindexed_address_p): New.  Adapted from
+ 	GO_IF_NONINDEXED_ADDRESS in vax.h.
+ 	(index_temp_p): New.  Adapted from INDEX_TERM_P in vax.h.
+ 	(reg_plus_index_p): New.  Adapted from GO_IF_REG_PLUS_INDEX in vax.h.
+ 	(legitimate_address_p): New.  Adapted from
+ 	GO_IF_LEGITIMATE_ADDRESS in vax.h.
+ 	(vax_mode_dependent_address_p): New.  Adapted from
+ 	GO_IF_MODE_DEPENDENT_ADDRESS in vax.h.
+ 	* config/vax/vax.h (CONSTANT_ADDRESS_P): Use
+ 	legitimate_constant_address_p.
+ 	(CONSTANT_P): Use legitimate_constant_p.
+ 	(INDIRECTABLE_CONSTANT_ADDRESS_P): Removed.
+ 	(INDIRECTABLE_ADDRESS_P): Removed.
+ 	(GO_IF_NONINDEXED_ADDRESS): Removed.
+ 	(INDEX_TEMP_P): Removed.
+ 	(GO_IF_REG_PLUS_INDEX): Removed.
+ 	(GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p. Two
+ 	definitions, depending on whether REG_OK_STRICT is defined.
+ 	(GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p.
+ 	Two definitions, depending on whether REG_OK_STRICT is defined.
+ 	* config/vax/vax-protos.h (legitimate_constant_address_p): Prototype
+ 	added.
+ 	(legitimate_constant_p): Prototype added.
+ 	(legitimate_address_p): Prototype added.
+ 	(vax_mode_dependent_address_p): Prototype added.
+ 
+ 2005-04-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree.h (phi_arg_d): Expand a comment in phi_arg_d.
+ 
+ 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/21213
+ 	* c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
+ 	transparent union.
+ 
+ 2005-04-27  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/20740
+ 	* c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
+ 	assertion failures, if __gcc_host_wide_int__ is not properly
+ 	defined.
+ 	(init_dynamic_diag_info): Give errors, not assertion failures, if
+ 	location_t, tree or __gcc_host_wide_int__ are not properly
+ 	defined.
+ 
+ 2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
+ 	n_iv_uses, iv_use, n_iv_cands, iv_cand,
+ 	tree_ssa_iv_optimize_init, record_use, add_candidate_1,
+ 	prepare_decl_rtl, free_loop_data,
+ 	tree_ssa_iv_optimize_finalize): Use the VEC API instead of
+ 	VARRAY.
+ 
+ 	* tree.h (tree_phi_node): Add a comment about the order of PHI
+ 	arguments.
+ 
+ 2005-04-26  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
+ 
+ 2005-04-26  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/mips.mips.c (mips_legitimize_tls_address): Use
+ 	gcc_unreachable.
+ 
+ 	* config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
+ 	* config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
+ 	* config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
+ 
+ 	* config/sparc/sparc.h (enum reg_class): Reword comment to avoid
+ 	'abort'.
+ 
+ 2005-04-26  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-flow-inline.h (op_iter_next_must_and_may_def): New.
+ 	(op_iter_init_must_and_may_def): Likewise.
+ 	(unmodifiable_var_p): Move to a later point in the file.
+ 	* tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
+ 	* tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
+ 	(dse_record_phis): Directly check for virtual operands rather than
+ 	using need_imm_uses_for.
+ 	(dse_optimize_stmt): Handle V_MUST_DEF operands.  Handle case where
+ 	store has multiple V_{MAY,MUST}_DEF operands.
+ 
+ 2005-04-26  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-cfg.c (bsi_replace): Delink immediate uses for the original
+ 	stmt.
+ 
+ 2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
+ 	call to find_edge outside a loop to go through a PHI chain.
+ 
+ 2004-04-26  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR tree-optimization/17598
+ 	* fold-const.c (fold_binary): Fold comparisons of addresses
+ 	of COMPONENT_REFs which reference the same field to
+ 	comparisons of the addresses of the base objects.
+ 
+ 2005-04-26  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_return_in_msb): New function.
+ 	(arm_must_pass_in_stack): New function.
+ 	(TARGET_RETURN_IN_MSB): Define target hook.
+ 	(TARGET_MUST_PASS_IN_STACK): Define target hook.
+ 	(arm_function_value): Pad small aggregate return.
+ 	(arm_pad_arg_upward): New function.
+ 	(arm_pad_reg_upward): New function.
+ 	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
+ 	(FUNCTION_ARG_PADDING): Define macro.
+ 	(BLOCK_REG_PADDING): Define macro.
+ 	(PAD_VARARGS_DOWN): Correct padding for AAPCS.
+ 	* config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
+ 	(arm_pad_reg_upward): Declare function.
+ 
+ 2005-04-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h (ei_cond): New.
+ 	(FOR_EACH_EDGE): Call ei_cond.
+ 
+ 	PR tree-optimization/21047
+ 	* fold-const.c (fold_binary): Abort on ASSERT_EXPR.
+ 	(fold): Don't handle ASSERT_EXPR.
+ 
+ 2005-04-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat
+ 	all writes to any stack register as a read/write dependency on
+ 	FIRST_STACK_REG.
+ 	(sched_analyze_2): Likewise, for reads from any stack register.
+ 
+ 2005-04-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	* final.c (output_addr_const): Revert 2005-04-09 change.
+ 
+ 2005-04-25  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (darwin_encode_section_info): Always set
+ 	MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols.
+ 
+ 2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
+ 	gensupport.c, protoize.c, toplev.c: Replace calls to
+ 	`unlock_stream' with `unlock_std_streams'.
+ 
+ 2005-04-25  Devang Patel <dpatel@apple.com>
+ 
+ 	* dbxout.c (dbxout_type): Emit attribute vector.
+ 
+ 2005-04-05  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
+ 	* target.h (struct gcc_target): Add cxx.use_aeabi_atexit.
+ 	* config/arm/arm.c (arm_cxx_atexit_name): New function.
+ 	(TARGET_CXX_USE_AEABI_ATEXIT): New macro.
+ 	* cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit.
+ 	(register_dtor_fn): Likewise.
+ 	* doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT.
+ 
+ 2005-04-25  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-common.def (EXPR_STMT): Remove, moved to C++ frontend.
+ 	* c-common.h (EXPR_STMT_EXPR): Don't define.
+ 	(c_common_stmt_codes): Don't define.
+ 	* c-dump.c (c_dump_tree): Remove EXPR_STMT case.
+ 	* c-gimplify.c (gimplify_expr_stmt): Remove.
+ 	(c_gimplify_expr): Remove EXPR_STMT case.
+ 	* c-objc-common.c (c_objc_common_init): Remove stmt_codes and call
+ 	to INIT_STATEMENT_CODES.
+ 	* c-pretty-print.c (pp_c_statement): Just call dump_generic_node.
+ 
+ 2005-04-25  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-cfg.c (tree_duplicate_bb): Duplicate EH region too.
+ 
+ 	* except.c: Include diagnostic.h
+ 	(dump_eh_tree, verify_eh_tree): New functions.
+ 	* except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare.
+ 	* tree-cfg.c (tree_verify_flow_info): verify eh edges.
+ 	(dump_function_to_file): dump eh tree.
+ 	* tree-eh.c (mark_eh_edge): New function.
+ 	(mark_eh_edge_found_error): New static variable.
+ 	(verify_eh_edges): New function.
+ 
+ 2005-04-25  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* tree-ssa-alias.c (fieldoff_t): Remove.
+ 	(fieldoff_s): typedef the structure itself.  Create a vector of
+ 	objects.
+ 	(push_fields_onto_fieldstack): Return count of fields pushed.
+ 	Remove peeling of first field.  Adjust.
+ 	(fieldoff_compare): Adjust.
+ 	(create_overlap_variables_for): Adjust.
+ 
+ 2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
+ 
+ 2005-04-25  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR bootstrap/21215
+ 	* doc/install.texi: Document correct assembler and linker to use
+ 	on i?86-*-solaris2.10.
+ 
+ 2005-04-25  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	Fix PR tree-optimization/21173
+ 
+ 	* tree-ssa-pre.c (create_expression_by_pieces): Simplify code.
+ 	Unshare expression we pass to force_gimple_operand.
+ 
+ 2005-04-25  J"orn Rennecke <joern.rennecke@st.com>
+ 	    Stephen Clarke <stevec@superh.com>
+ 	    Roger Sayle <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/20413
+ 	* cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
+ 	VOIDmode for LABEL_REF.
+ 	* final.c (shorten_branches): Likewise.
+ 	* jump.c (mark_all_labels, redirect_exp_1): Likewise.
+ 	* loop.c (reg_dead_after_loop): Likewise.
+ 	* varasm.c (decode_addr_const): Likewise.
+ 	* doc/rtl.texi: Document mode requirement for LABEL_REF.
+ 
+ 2005-04-25  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc (avr-*-*): Remove redundant "case".
+ 
+ 2005-04-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vect-analyze.c (vect_mark_relevant): Take
+ 	VEC(tree,heap) instead of varray_type as an argument.
+ 	(vect_mark_stmts_to_be_vectorized): Change the type of
+ 	worklist to VEC(tree,heap).  Adjust uses of worklist.
+ 
+ 2005-04-24  Devang Patel  <dpatel@apple.com>
+ 
+ 	*  config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
+ 
+ 2005-04-24  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-semantics.c (build_stmt): Remove test of specific tree codes
+ 	for TREE_SIDE_EFFECTS handling.
+ 
+ 2005-04-24  Per Bothner  <per@bothner.com>
+ 
+ 	* c-opts.c (finish_options):  Make the line-number of the <built-in>
+ 	location 0, as assumed elsewhere, rather than 1.
+ 
+ 2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-uncprop.c (equiv_stack): Change the type o
+ 	VEC(tree,heap).
+ 	(tree_ssa_uncprop, uncprop_finalize_block,
+ 	uncprop_initialize_block): Update uses of equiv_stack.
+ 
+ 2005-04-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/21163
+ 	* simplify-rtx.c (simplify_binary_operation) <IOR>: Check
+ 	for SCALAR_INT_MODE_P instead of not MODE_CC before returning
+ 	constm1_rtx.
+ 	<AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
+ 	<UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
+ 	<DIV, MOD>: Likewise.
+ 
+ 2005-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* collect2.c (main): Unlock the stdio streams.
+ 	* gcc.c (main): Likewise.
+ 	* gcov-dump.c (main): Likewise.
+ 	* gcov.c (main): Likewise.
+ 	* gen-protos.c (main): Likewise.
+ 	* gensupport.c (init_md_reader_args_cb): Likewise.
+ 	* protoize.c (main): Likewise.
+ 	* toplev.c (general_init): Likewise.
+ 
+ 2005-04-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/20991
+ 	* cgraph.h (cgraph_local_info): Add vtable_method field.
+ 	* varasm.c (mark_decl_referenced): If cgraph_global_info_ready
+ 	and node is vtable_method, finalized and not reachable, don't do
+ 	anything.
+ 
+ 2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use
+ 	COMPARISON_CLASS_P.
+ 	* tree-ssa-pre.c (create_value_expr_from): Use
+ 	CONSTANT_CLASS_P and REFERENCE_CLASS_P.
+ 	* tree-ssa-propagate.c (stmt_makes_single_load,
+ 	stmt_makes_single_store): Use REFERENCE_CLASS_P.
+ 	* tree-vect-transform.c (vect_is_simple_cond): Use
+ 	COMPARISON_CLASS_P.
+ 	* tree-vrp.c (extract_range_from_assert,
+ 	build_assert_expr_for, fp_predicate, has_assert_expr): Use
+ 	COMPARISON_CLASS_P.
+ 
+ 	* tree-ssa-live.c (build_tree_conflict_graph): Change the type
+ 	of tpa_to_clear to VEC(int,heap).  Update uses of
+ 	tpa_to_clear.  Free tpa_to_clear at the end.
+ 
+ 2005-04-24  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree.h (TREE_THIS_VOLATILE): Document the effect on a
+ 	function decl.
+ 
+ 2005-04-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert
+ 	and gcc_unreachable as appropriate.
+ 	(num_insns_constant, output_vec_const_move,
+ 	build_mask64_2_operands, rs6000_output_dwarf_dtprel,
+ 	rs6000_emit_set_const, rs6000_emit_move,
+ 	spe_build_register_parallel, function_arg,
+ 	rs6000_move_block_from_reg, altivec_expand_predicate_builtin,
+ 	spe_expand_predicate_builtin, spe_expand_evsel_builtin,
+ 	rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins,
+ 	rs6000_common_init_builtins, expand_block_clear,
+ 	expand_block_move, validate_condition_mode, ccr_bit, extract_MB,
+ 	extract_ME, rs6000_get_some_local_dynamic_name,
+ 	rs6000_output_function_entry, print_operand,
+ 	print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND,
+ 	output_cbranch, output_e500_flip_gt_bit,
+ 	rs6000_emit_vector_compare, rs6000_emit_vector_compare,
+ 	rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move,
+ 	compute_save_world_info, rs6000_stack_info,
+ 	rs6000_emit_load_toc_table, rs6000_frame_related,
+ 	spe_synthesize_frame_save, rs6000_emit_epilogue,
+ 	rs6000_output_function_epilogue, rs6000_hash_constant, output_toc,
+ 	output_function_profiler, rs6000_trampoline_size,
+ 	rs6000_initialize_trampoline, find_addr_reg,
+ 	rs6000_machopic_legitimize_pic_address,
+ 	rs6000_initial_elimination_offset,
+ 	rs6000_dbx_register_number): Likewise.
+ 	* config/rs6000/rs6000.md (*fix_truncdfsi2_internal,
+ 	*movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal,
+ 	*movti_power, *movti_string, call, call_value, sibcall,
+ 	sibcall_value): Likewise.
+ 	* config/rs6000/spe.md (*movdf_e500_double,
+ 	*movv2si_internal): Likewise.
+ 	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort'
+ 	from comment.
+ 
+ 2005-04-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21101
+ 	* config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
+ 	* config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
+ 	Deny modes smaller than 4 bytes.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2005-04-24  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
+ 	Switch h8300-*-rtems* to ELF.
+ 
+ 2005-04-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* vec.h (VEC_safe_grow): Replace grow with safe_grow.
+ 
+ 2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ipa-inline.c, tree-ssa-operands.h: Fix comment typos.
+ 
+ 2005-04-23  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/21082
+ 	* fold-const.c: Fold &a[i]-&a[j] to i-j.
+ 
+ 2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-niter.c (tree_simplify_using_condition): Expand simple
+ 	definitions of ssa names in condition.  Split recusive part to ...
+ 	(tree_simplify_using_condition_1): New function.
+ 	(expand_simple_operations): New function.
+ 
+ 2005-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (struct cost_pair): Add value field.
+ 	(find_interesting_uses_cond): Do not use integer_zerop and
+ 	integer_nonzerop to check for integer constants.
+ 	(set_use_iv_cost): Record the value field.
+ 	(determine_use_iv_cost_generic, determine_use_iv_cost_address,
+ 	determine_use_iv_cost_outer): Set the value field of the cost pair.
+ 	(may_eliminate_iv): Do not return the comparison code.
+ 	(iv_elimination_compare): New function.
+ 	(determine_use_iv_cost_condition): Set the value field.  Record
+ 	noneliminable invariants correctly.
+ 	(rewrite_use_compare, rewrite_use_outer): Use the value field.
+ 
+ 2005-04-23  DJ Delorie  <dj@redhat.com>
+ 
+ 	* diagnostic.c (warning): Accept parameter to classify warning option.
+ 	(warning0): New, for when a pointer to an error() like function is needed.
+ 	* errors.c (warning): Likewise.
+ 	* errors.h (warning, warning0): Adjust prototypes.
+ 	* toplev.h (warning, warning0): Likewise.
+ 
+ 	* attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
+ 	c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
+ 	c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
+ 	fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
+ 	genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
+ 	reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+ 	tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
+ 	tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
+ 
+ 	* config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
+ 	config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
+ 	config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
+ 	config/darwin.c, config/darwin.h, config/h8300/h8300.c,
+ 	config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
+ 	config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
+ 	config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
+ 	config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
+ 	config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
+ 	config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
+ 	config/rs6000/aix52.h, config/rs6000/darwin.h,
+ 	config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
+ 	config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
+ 	config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
+ 	config/stormy16/stormy16.c, config/v850/v850-c.c,
+ 	config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
+ 	callers.
+ 
+ 2005-04-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/21102
+ 	* simplify-rtx.c (simplify_binary_operation): Fix mode check before
+ 	performing some integral scalar simplifications.
+ 
+ 2005-04-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21099
+ 	* config/i386/i386.c (ix86_split_to_parts): Use proper mode when
+ 	simplifying CONST_VECTOR.
+ 
+ 2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-live.c (live_worklist): Take a stack allocated on
+ 	heap as an argument.  Update uses of stack.
+ 	(calculate_live_on_entry): Allocate stack on heap.
+ 
+ 	* tree-ssa-live.c (build_tree_conflict_graph): Allocate
+ 	partition_link and tpa_nodes on heap.
+ 
+ 	* tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
+ 	(mark_stmt_necessary, propagate_necessity,
+ 	mark_really_necessary_kill_operand_phis): Update uses of
+ 	worklist.
+ 	(tree_dce_init): Allocate worklist using VEC_alloc.
+ 	(tree_dce_done): Free worklist using VEC_free.
+ 
+ 2005-04-23  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (machopic_indirection_name): Don't use
+ 	quotes needlessly.
+ 	(darwin_emit_unwind_label): Use user_label_prefix instead of
+ 	"_".
+ 
+ 2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* final.c, ipa-inline.c, varasm.c: Fix comment typos.
+ 
+ 2005-04-23  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config.gcc <cris-*>: Specify .opt files.
+ 	* config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
+ 	config/cris/linux.opt: New files.
+ 	* config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
+ 	(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
+ 	(TARGET_ELF): Override to 0.
+ 	(CRIS_SUBTARGET_HANDLE_OPTION): Override to handle -melinux and
+ 	-melinux-stacksize=N.
+ 	* config/cris/cris.c: (cris_handle_option): New function.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): Override.
+ 	(TARGET_HANDLE_OPTION): Override to cris_handle_option.
+ 	(cris_override_options): Use MASK_*, not TARGET_MASK_*.
+ 	* config/cris/cris.h (TARGET_MASK_SVINTO, TARGET_SVINTO,
+ 	(TARGET_MASK_CCINIT, TARGET_CCINIT, TARGET_MASK_PDEBUG)
+ 	(TARGET_PDEBUG, TARGET_MASK_SIDE_EFFECT_PREFIXES)
+ 	(TARGET_SIDE_EFFECT_PREFIXES, TARGET_MASK_EXPAND_MUL)
+ 	(TARGET_EXPAND_MUL, TARGET_MASK_STACK_ALIGN, TARGET_STACK_ALIGN)
+ 	(TARGET_MASK_CONST_ALIGN, TARGET_CONST_ALIGN)
+ 	(TARGET_MASK_DATA_ALIGN, TARGET_DATA_ALIGN)
+ 	(TARGET_MASK_PROLOGUE_EPILOGUE, TARGET_PROLOGUE_EPILOGUE)
+ 	(TARGET_MASK_ETRAX4_ADD, TARGET_ETRAX4_ADD)
+ 	(TARGET_MASK_ALIGN_BY_32, TARGET_ALIGN_BY_32, TARGET_MASK_ELF)
+ 	(TARGET_ELF, TARGET_MASK_LINUX, TARGET_LINUX)
+ 	(TARGET_MASK_AVOID_GOTPLT, TARGET_AVOID_GOTPLT)
+ 	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG, TARGET_SWITCHES)
+ 	(CRIS_SUBTARGET_SWITCHES, TARGET_OPTIONS)
+ 	(CRIS_SUBTARGET_LONG_OPTIONS): Don't define.
+ 	(TARGET_LINUX): Define 0.
+ 	(TARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
+ 	(CRIS_SUBTARGET_DEFAULT): Define to 0, not TARGET_MASK_ELF.
+ 	(CRIS_SUBTARGET_DEFAULT): New empty default macro.
+ 	* config/cris/linux.h (CRIS_SUBTARGET_SWITCHES): Don't define.
+ 	(TARGET_LINUX): Override to 1.
+ 	(CRIS_SUBTARGET_DEFAULT): Use MASK_*, not TARGET_MASK_*.
+ 
+ 2005-04-23  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* haifa-sched.c (schedule_block): Fix thinko in previous
+ 	assertification patch.
+ 
+ 2005-04-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (hppa[12]*-*-hpux10*): Add pa/pa-hpux.opt to
+ 	$extra_options.  Also add pa/pa-hpux1010.opt for hpux10.[1-9]*.
+ 	(hppa*64*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file.  Add
+ 	pa/pa-hpux.opt, pa/pa-hpux1010.opt and pa/pa64-hpux.opt to
+ 	$extra_options.  Also add pa/pa-hpux1111.opt for hpux11.[1-9]*.
+ 	(hppa[12]*-*-hpux11*): Add pa/pa-hpux1010.h to $tm_file.  Add
+ 	pa/pa-hpux.opt to $extra_options.  Also add pa/pa-hpux1111.opt
+ 	for hpux11.[1-9]*.
+ 	* config/pa/pa.h (architecture_type, rtx_def, pa_arch_string, pa_arch)
+ 	(pa_fixed_range_string, pa_cpu_string, pa_unix_string, target_flags)
+ 	(MASK_PA_11, MASK_DISABLE_FPREGS, TARGET_DISABLE_FPREGS)
+ 	(MASK_NO_SPACE_REGS, TARGET_NO_SPACE_REGS, MASK_JUMP_IN_DELAY)
+ 	(TARGET_JUMP_IN_DELAY, MASK_DISABLE_INDEXING, TARGET_DISABLE_INDEXING)
+ 	(MASK_PORTABLE_RUNTIME, TARGET_PORTABLE_RUNTIME, MASK_GAS, TARGET_GAS)
+ 	(MASK_SOFT_FLOAT, TARGET_SOFT_FLOAT, MASK_LONG_LOAD_STORE)
+ 	(TARGET_LONG_LOAD_STORE, MASK_FAST_INDIRECT_CALLS)
+ 	(TARGET_FAST_INDIRECT_CALLS, MASK_BIG_SWITCH, TARGET_BIG_SWITCH)
+ 	(MASK_PA_20, MASK_SIO, TARGET_SIO, MASK_GNU_LD, TARGET_GNU_LD)
+ 	(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_PA_11, TARGET_PA_20)
+ 	(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS)
+ 	(SUBTARGET_OPTIONS): Delete.
+ 	(TARGET_PA_10): Redefine in terms of TARGET_PA_11 and TARGET_PA_20.
+ 	(TARGET_SCHED_DEFAULT): Define to a PROCESSOR_* enum (PROCESSOR_8000)
+ 	instead of a string.
+ 	* config/pa/pa.c (pa_arch, pa_arch_string, pa_fixed_range_string)
+ 	(pa_cpu_string, pa_unix_string): Delete.
+ 	(pa_cpu): Initialize to TARGET_SCHED_DEFAULT.
+ 	(flag_pa_unix): Initialize based on TARGET_HPUX_11_11 and
+ 	TARGET_HPUX_10_10.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(pa_handle_option): New function.
+ 	(override_options): Remove handling of -march=, -mfixed-range=,
+ 	-mschedule= and -munix=.
+ 	* config/pa/pa-hpux.h (SUBTARGET_SWITCHES): Delete.
+ 	* config/pa/pa-hpux1010.h (SUBTARGET_OPTIONS): Delete.
+ 	* config/pa/pa-hpux10.h (SUBTARGET_OPTIONS): Delete.
+ 	* config/pa/pa-hpux1111.h (SUBTARGET_OPTIONS): Delete.
+ 	* config/pa/pa-hpux11.h (SUBTARGET_OPTIONS): Delete.
+ 	* config/pa/pa64-hpux.h (SUBTARGET_SWITCHES): Delete.
+ 	* config/pa/pa64-start.h (TARGET_PA_11, TARGET_PA_20): #undef before
+ 	redefining.
+ 	* config/pa/pa.opt: New file.
+ 	* config/pa/pa-hpux.opt: New file.
+ 	* config/pa/pa-hpux1010.opt: New file.
+ 	* config/pa/pa-hpux1111.opt: New file.
+ 	* config/pa/pa64-hpux.opt: New file.
+ 
+ 2005-04-22  David S. Miller  <davem@davemloft.net>
+ 
+ 	* rtl.h (CONST_DOUBLE): Fix comment, a CONST_DOUBLE holds an
+ 	integer when it's mode is VOIDmode not DImode.
+ 
+ 2005-04-22  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000.md (sync_add<mode>_internal,
+ 	sync_addshort_internal, sync_sub<mode>_internal, sync_andsi_internal,
+ 	sync_anddi_internal, sync_boolsi_internal, sync_booldi_internal,
+ 	sync_boolc<mode>_internal, sync_boolc<mode>_internal2,
+ 	sync_boolcc<mode>_internal, sync_lock_test_and_set<mode>): Use
+ 	"bne- $-xxx" rather than local labels.
+ 	(sync_lock_release<mode>): Add second operand.
+ 	(lwsync): Use .long rather than a more meaningful opcode.
+ 	* doc/md.texi (Standard Names): Add description of second
+ 	parameter to sync_lock_test_and_set.
+ 
+ 2005-04-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21088
+ 	* fold-const.c (fold_unary, fold_binary, fold_ternary):
+ 	Export.
+ 	* tree-vrp.c (compare_values): Use fold_binary to compare
+ 	pointers.  Use boolean_type_node as the type of a comparison
+ 	expression being folded.
+ 	* tree.h: Add prototypes for fold_unary, fold_binary,
+ 	fold_ternary.
+ 
+ 	* tree-ssa-dom.c: Fix formatting.
+ 
+ 2005-04-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* Makefile.in (tree-into-ssa.o): Add dependency on PARAMS_H.
+ 	* lambda-code.c (perfect_nestify): Mark virtual operands in
+ 	the moved statement for renaming.
+ 	* params.def (PARAM_MIN_VIRTUAL_MAPPINGS): Define.
+ 	(PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
+ 	* params.h (MIN_VIRTUAL_MAPPINGS): Define.
+ 	(VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
+ 	* tree-flow.h (struct var_ann_d): Update comments.
+ 	(rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names,
+ 	allocate_ssa_names, find_phi_node_for, dump_tree_ssa,
+ 	debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats,
+ 	debug_tree_ssa_stats, rewrite_ssa_into_ssa,
+ 	dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
+ 	debug_names_replaced_by): Remove declarations.
+ 	(delete_update_ssa, get_current_def, set_current_def): Declare.
+ 	(rewrite_into_loop_closed_ssa): Add new argument.  Update
+ 	all callers.
+ 	* tree-into-ssa.c: Include params.h.
+ 	(old_virtual_ssa_names): Remove.  Update all users.
+ 	(need_to_replace_names_p): Remove.  Update all users.
+ 	(struct update_ssa_stats_d): Declare.
+ 	(update_ssa_stats): New local.
+ 	(dump_tree_ssa, debug_tree_ssa, debug_def_blocks,
+ 	dump_tree_ssa_stats, debug_tree_ssa_stats,
+ 	dump_update_ssa, debug_update_ssa,
+ 	dump_names_replaced_by, debug_names_replaced_by): Declare.
+ 	(get_current_def, set current_def): Make extern.
+ 	(is_old_name, is_new_name): Protect against references
+ 	past the end of the sets.
+ 	(add_new_name_mapping): Assert that OLD and NEW are
+ 	different SSA names for the same symbol.
+ 	When adding a virtual mapping, update stats for virtual
+ 	mapping heuristic.
+ 	(insert_phi_nodes_for): If UPDATE_P is true, create the
+ 	LHS of the new PHI by duplicating SSA name VAR.
+ 	(insert_phi_nodes_1): Remove.  Update all users.
+ 	(insert_phi_nodes): Remove second argument.  Update all
+ 	users.
+ 	(maybe_replace_use, maybe_replace_def): New.
+ 	(rewrite_update_stmt): Call them.
+ 	(mark_def_interesting): Remove calls to is_gimple_reg.
+ 	(prepare_phi_args_for_update): Remove.  Update all users.
+ 	(prepare_block_for_update): Only process virtual operands
+ 	and GIMPLE registers in normal form.
+ 	(prepare_use_sites_for): New.
+ 	(prepare_names_to_update): Rename from prepare_def_sites.
+ 	Call prepare_use_sites_for.
+ 	(dump_update_ssa): Rename from dump_repl_tbl.
+ 	Update all users.
+ 	Show statistics for virtual mapping heuristic.
+ 	(debug_update_ssa): Rename from debug_debug_repl_tbl.
+ 	(init_update_ssa): Initialize UPDATE_SSA_STATS.
+ 	(delete_update_ssa): Make extern.
+ 	(mark_set_for_renaming): If the set is empty, do nothing.
+ 	(release_ssa_name_after_update_ssa): Update comment.
+ 	(insert_updated_phi_nodes_for): Do not remove existing
+ 	PHI nodes for symbols.
+ 	(switch_virtuals_to_full_rewrite_p): New.
+ 	(switch_virtuals_to_full_rewrite): New.
+ 	(update_ssa): Call them.
+ 	Clear REWRITE_THIS_STMT and REGISTER_DEFS_IN_THIS_STMT
+ 	for every statement before updating.
+ 	If all the names in NEW_SSA_NAMES have been marked for
+ 	removal, do nothing.
+ 	Only start at the top of the CFG if there are symbols in
+ 	SYMS_TO_RENAME.
+ 	(ssa_rewrite_finalize_block): Remove.
+ 	(ssa_register_new_def): Remove.
+ 	(ssa_rewrite_stmt): Remove.
+ 	(ssa_rewrite_phi_arguments): Remove.
+ 	(ssa_rewrite_initialize_block): Remove.
+ 	(ssa_mark_def_sites): Remove.
+ 	(ssa_mark_def_sites_initialize_block): Remove.
+ 	(ssa_mark_phi_uses): Remove.
+ 	(rewrite_ssa_into_ssa): Remove.
+ 	* tree-phinodes.c (find_phi_node_for): Remove.
+ 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+ 	Call update_ssa.
+ 	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops):
+ 	Remove calls to verify_dominators and
+ 	verify_loop_structure.
+ 	(tree_unswitch_single_loop): Call update_ssa.
+ 	* tree-ssa.c (verify_ssa): Assert that need_ssa_update_p
+ 	returns false.
+ 	Call verify_stmts.
+ 	(delete_tree_ssa): Assert that need_ssa_update_p returns
+ 	false.
+ 	* tree-vect-transform.c (vect_transform_loop): Call update_ssa.
+ 	* tree-vectorizer.c (allocate_new_names, rename_def_op,
+ 	free_new_names): Remove.  Update all users.
+ 	(rename_use_op): Call get_current_def.
+ 	(rename_variables_in_bb): Do not handle any real or
+ 	virtual definition.
+ 	(slpeel_update_phis_for_duplicate_loop): Call
+ 	get_current_def and set_current_def instead of using
+ 	SSA_NAME_AUX.
+ 	(slpeel_update_phi_nodes_for_guard2): Reformat comments.
+ 	(slpeel_can_duplicate_loop_p): Call need_ssa_update_p,
+ 	ssa_names_to_replace and delete_update_ssa.
+ 	* doc/invoke.texi: Document --param min-virtual-mappings
+ 	and --param virtual-mappings-ratio.
+ 
+ 2005-04-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-cfg.c (tree_duplicate_bb): Call create_new_def_for
+ 	for newly created PHI nodes.
+ 	Call create_new_def_for for every new V_MAY_DEF and
+ 	V_MUST_DEF on the copied statement.
+ 	(struct ssa_name_map_entry): Remove.
+ 	(ssa_name_map_entry_hash): Remove.
+ 	(ssa_name_map_entry_eq): Remove.
+ 	(allocate_ssa_names): Remove.
+ 	(rewrite_to_new_ssa_names_def): Remove.
+ 	(rewrite_to_new_ssa_names_use): Remove.
+ 	(rewrite_to_new_ssa_names_bb): Remove.
+ 	(rewrite_to_new_ssa_names): Remove.
+ 	(tree_duplicate_sese_region): Remove variables ver,
+ 	definitions, phi, ssa_name_map and bi.
+ 	Call need_ssa_update_p instead of any_marked_for_rewrite_p.
+ 	Call update_ssa.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
+ 	update_ssa instead of rewrite_ssa_into_ssa.
+ 	* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
+ 	create_new_def_for.
+ 	(find_uses_to_rename_use): Add argument 'need_phis'.
+ 	(find_uses_to_rename_stmt): Do not scan virtual operands.
+ 	(find_uses_to_rename): Only scan PHI nodes for
+ 	non-virtual names.
+ 	(rewrite_into_loop_closed_ssa): Call update_ssa.
+ 	(check_loop_closed_ssa_use): Ignore virtual operands.
+ 	(check_loop_closed_ssa_stmt): Likewise.
+ 	(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
+ 	NULL.
+ 	(rename_variables, set_phi_def_stmts): Remove.
+ 	(tree_duplicate_loop_to_header_edge): Reformat comment.
+ 	Remove variables BB, I and DEFINITIONS.
+ 	Call need_ssa_update_p.
+ 	Call update_ssa.
+ 	(lv_adjust_loop_header_phi): Reformat comment.
+ 	* tree-ssanames.c (ssa_names_to_rewrite): Remove.
+ 	(marked_for_rewrite_p, any_marked_for_rewrite_p,
+ 	mark_for_rewrite, unmark_all_for_rewrite,
+ 	marked_ssa_names): Remove.  Update all users.
+ 	(release_ssa_name): If VAR has been registered for SSA
+ 	updating, do nothing.
+ 	* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
+ 	(build_assert_expr_for): Call register_new_name_mapping.
+ 	(insert_range_assertions): Update call to update_ssa.
+ 	* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
+ 	marked_for_rewrite_p, any_marked_for_rewrite_p,
+ 	marked_ssa_names): Remove.
+ 
+ 2005-04-22  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
+ 	(restore_currdefs_to_original_value): Likewise.
+ 	(register_definitions_for_stmt): Likewise.
+ 	(tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF
+ 	for each variable.  Do not allocate/free block_defs_stack either.
+ 	Do not iterate if we just thread jumps.  Only iterate if the
+ 	tree_cleanup_cfg does useful work (temporary).
+ 	(dom_opt_initialize_block): No longer push a marker on
+ 	BLOCK_DEFS_STACK.
+ 	(dom_opt_finalize_block): Removal call to restore currdefs.
+ 	Relax restrictions for recording edge equivalences.
+ 	(record_equivalences_from_phis): No longer need to track
+ 	CURRENT_DEF.
+ 	(optimize_stmt): Similarly.
+ 	(thread_across_edge): Simplify by removing the requirement that
+ 	statements in the block we are threading through must be nops.
+ 	(initialize_hash_element): Handle GOTO_EXPR.
+ 
+ 2005-04-22  David S. Miller  <davem@davemloft.net>
+ 
+ 	* sched-vis.c (print_value): Use CONST_DOUBLE_LOW and
+ 	CONST_DOUBLE_HIGH.
+ 	* config/sparc/sparc.c (sparc_rtx_costs): Likewise, and
+ 	fix check on CONST_DOUBLE mode.  It should be VOIDmode
+ 	when it is representing an integer.
+ 
+ 2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* builtins.c (gimplify_va_arg_expr): Reword comments to avoid
+ 	'abort'. Use gcc_assert and gcc_unreachable as appropriate.
+ 	* c-format.c (get_constant, decode_format_attr, get_flag_spec,
+ 	find_char_info_specifier_index,
+ 	find_length_info_modifier_index): Likewise.
+ 	* c-typeck.c (composite_type, pop_init_level): Likewise.
+ 	* combine.c (cant_combine_insn_p, try_combine): Likewise.
+ 	* cse.c (cse_insn): Likewise
+ 	* dominance.c (calc_dfs_tree): Likewise
+ 	dwarf2out.c (loc_descriptor_from_tree_1,
+ 	add_abstract_origin_attribute, force_decl_die,
+ 	force_type_die): Likewise
+ 	emit-rtl.c (operand_subword_force): Likewise
+ 	explow.c (hard_function_value): Likewise
+ 	expmed.c (store_bit_field, expand_divmod,
+ 	emit_store_flag_force): Likewise
+ 	expr.c (emit_move_multi_word, store_expr,
+ 	expand_expr_real_1): Likewise
+ 	final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
+ 	output_operand): Likewise
+ 	flow.c (recompute_reg_usage): Likewise
+ 	* function.c (assign_stack_temp_for_type, assign_temp,
+ 	handle_epilogue_set): Likewise
+ 	* genextract.c (main): Likewise
+ 	* gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
+ 	gimplify_modify_expr_rhs, gimplify_expr): Likewise
+ 	* haifa-sched.c (ready_lastpos, ready_remove_first, ready_element,
+ 	ready_remove, rm_line_notes, rm_other_notes,
+ 	schedule_block): Likewise
+ 	mips-tfile.c (copy_object, out_of_bounds): Likewise
+ 
+ 2005-04-22 David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/20813
+ 	* config/rs6000/default64.h (TARGET_DEFAULT): Add MASK_PPC_GFXOPT.
+ 	* config/rs6000/rs6000.c (processor_target_table): Rename rs64a to
+ 	rs64.  Add MASK_PPC_GFXOPT to powerpc64 and rs64.
+ 	(rs6000_init_libfuncs): Set TFmode optabs to xlq names if
+ 	TARGET_XL_COMPAT.
+ 	* doc/invoke.texi (PowerPC options): Change rs64a to rs64.
+ 
+ 2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* lambda-code.c: Define VEC(int,heap), VEC(lambda_loop,heap).
+ 	(gcc_tree_to_linear_expression): Convert to heap allocated
+ 	vectors.
+ 	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
+ 	lbv_to_gcc_expression, lle_to_gcc_expression,
+ 	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
+ 	perfect_nestify): Likewise.
+ 	lambda.h (gcc_loopnest_to_lambda_loopnest,
+ 	lambda_loopnest_to_gcc_loopnest): Likewise.
+ 	tree-loop-linear.c (linear_transform_loops): Likewise.
+ 
+ 2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/predicates.md (arith_double_operand): Use
+ 	trunc_int_for_mode if HOST_BITS_PER_WIDE_INT >=64.
+ 	* config/sparc/sparc.md (movqi, movhi, movsi, movqi): Use gen_int_mode.
+ 	(DImode, DFmode constant splitters): Likewise.  Remove code for
+ 	TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT < 64.
+ 	(logical constant splitters): Use const_int_operand predicate.
+ 	(lshrsi3_extend): Remove code for TARGET_ARCH64 &&
+ 	HOST_BITS_PER_WIDE_INT < 64.
+ 
+ 2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/pa/pa.c (legitimize_pic_address): Use gcc_assert and
+ 	gcc_unreachable as appropriate.
+ 	(force_mode, emit_move_sequence, singlemove_string,
+ 	output_move_double, output_fp_move_double, find_addr_reg,
+ 	output_block_move, output_block_clear, output_and,
+ 	output_64bit_and, output_ior, output_64bit_ior, store_reg_modify,
+ 	pa_adjust_cost, pa_issue_rate, print_operand,
+ 	output_global_address, output_arg_descriptor, output_cbranch,
+ 	output_lbranch, output_bb, output_bvb, output_dbra, output_movb,
+ 	output_call): Likewise.
+ 	* config/pa/pa.md (call, call_value, sibcall, sibcall_value,
+ 	prefetch, prefetch_cc, prefetch_nocc): Likewise.
+ 
+ 2005-04-22  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
+ 	_gcov_pow2_profiler and _gcov_one_value_profiler.
+ 	(tree-profile.o): Add GGC_H and gt-tree-profile.h dependency.
+ 	(GTFILES): Add $(srcdir)/tree-profile.c.
+ 	* gcov-io.h (__gcov_interval_profiler, __gcov_pow2_profiler,
+ 	__gcov_one_value_profiler): Declare.
+ 	* gimplify.c (force_gimple_operand): Check whether the statements
+ 	should be produced in ssa form.
+ 	(force_gimple_operand_bsi): New function.
+ 	* libgcov.c (__gcov_interval_profiler, __gcov_pow2_profiler,
+ 	__gcov_one_value_profiler): New functions.
+ 	* rtl-profile.c (rtl_gen_pow2_profiler): Only measure whether
+ 	the profiled value is a power of two or not.
+ 	* tree-cfg.c (tree_block_ends_with_condjump_p): Handle empty blocks.
+ 	* tree-flow.h (in_ssa_p): Declare.
+ 	(force_gimple_operand_bsi): Declare.
+ 	* tree-into-ssa.c (in_ssa_p): New variable.
+ 	(rewrite_into_ssa): Set in_ssa_p.
+ 	* tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p.
+ 	* tree-profile.c: Include ggc.h and gt-tree-profile.h.
+ 	(gcov_type_node, tree_interval_profiler_fn, tree_pow2_profiler_fn,
+ 	tree_one_value_profiler_fn): New variables.
+ 	(tree_init_edge_profiler): Initialize the profiler function decls.
+ 	(tree_gen_edge_profiler): Use global gcov_type_node.
+ 	(prepare_instrumented_value): New function.
+ 	(tree_gen_interval_profiler, tree_gen_interval_profiler,
+ 	tree_gen_one_value_profiler): Call the library functions instead of
+ 	creating instrumentation code.
+ 	* tree.c (build_fn_decl): New function.
+ 	* tree.h (build_fn_decl): Declare.
+ 	* value-prof.c (rtl_divmod_values_to_profile,
+ 	rtl_find_values_to_profile, rtl_mod_pow2_value_transform,
+ 	tree_mod_pow2_value_transform, tree_find_values_to_profile):
+ 	Do not handle may_be_other and precise values of exponents at pow2
+ 	profiler.
+ 	(tree_mod_subtract_transform): Reflect that value field of
+ 	histogram has changed meaning.
+ 	(tree_divmod_values_to_profile): Record the values correctly.
+ 	(tree_values_to_profile): Update comment.
+ 	* value-prof.h (struct histogram_value_t): Remove pow2 data.
+ 
+ 2005-04-22  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* varasm.c (do_assemble_alias): Return early if TREE_ASM_WRITTEN
+ 	(decl).
+ 
+ 2005-04-22  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/i386/i386.md (length_immediate): Use gcc_assert or
+ 	gcc_unreachable, as appropriate.
+ 	(*movsi_1, *movqi_1, reload_outqi, *movdi_1_rex64, *pushsf,
+ 	*pushsf_rex64, *truncxfsf2_mixed, *truncxfsf2_i387,
+ 	*truncxfdf2_mixed, *truncxfdf2_i387, *adddi_1_rex64,
+ 	*adddi_2_rex64, *adddi_3_rex64, *adddi_4_rex64, *adddi_5_rex64,
+ 	*addsi_1, addsi_1_zext, *addsi_2, *addsi_2_zext, *addsi_3,
+ 	*addsi_3_zext, *addsi_4, *addsi_5, *addhi_1_lea, *addhi_1,
+ 	*addhi_2, *addhi_3, *addhi_4, *addhi_5, *addqi_1_lea, *addqi_1,
+ 	*addqi_1_slp, *addqi_2, *addqi_3, *addqi_4, *addqi_5, addqi_ext_1,
+ 	*addqi_ext_1_rex64, *anddi_1_rex64, *andsi_1, *andhi_1,
+ 	*ashldi3_1_rex64, *ashldi3_cmp_rex64, *ashlsi3_1, *ashlsi3_1_zext,
+ 	*ashlsi3_cmp, *ashlsi3_cmp_zext, *ashlhi3_1_lea, *ashlhi3_1,
+ 	*ashlhi3_cmp, *ashlqi3_1_lea, *ashlqi3_1, *ashlqi3_cmp,
+ 	pro_epilogue_adjust_stack_1, pro_epilogue_adjust_stack_rex64,
+ 	pro_epilogue_adjust_stack_rex64_2, prefetch, *prefetch_sse,
+ 	*prefetch_sse_rex): Likewise.
+ 	* config/i386/predicates.md (x86_64_immediate_operand,
+ 	x86_64_zext_immediate_operand, symbolic_operand,
+ 	no_seg_address_operand, aligned_operand,
+ 	memory_displacement_operand): Likewise.
+ 	* config/i386/sse.md (*mov<mode>_internal,
+ 	*movv2df_internal): Likewise.
+ 
+ 2005-04-22  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in (ipa.o, ipa-inline.o): New files.
+ 	* cgraph.h (cgraph_remove_unreachable_nodes, cgraph_postorder,
+ 	cgraph_decide_inlining_incrementally, cgraph_clone_inlined_nodes,
+ 	cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
+ 	* cgraphunit.c (cgraph_default_inline_p,
+ 	cgraph_decide_inlining_incrementally,  ncalls_inlined,
+ 	nfunctions_inlined, initial_insns, overall_insns,
+ 	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
+ 	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
+ 	cgraph_mark_inline, cgraph_check_inline_limits,
+ 	cgraph_default_inline_p, cgraph_recursive_inlining_p,
+ 	update_callee_keys, lookup_recursive_calls,
+ 	cgraph_decide_recursive_inlining, cgraph_set_inline_failed,
+ 	cgraph_decide_inlining_of_small_functions, cgraph_decide_inlining,
+ 	cgraph_decide_inlining_incrementally, cgraph_gate_inlining,
+ 	pass_ipa_inline): Move to ipa-inline.c
+ 	(cgraph_postorder, cgraph_remove_unreachable_nodes): Move to ipa.c
+ 	* ipa.c: New file.
+ 	* ipa-inline.c: New file.
+ 
+ 2005-04-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Document that -mapp-regs
+ 	is turned off by default on Solaris.
+ 
+ 2005-04-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* c-common.h (objc_build_method_signature): Update prototype.
+ 	* stub-objc.c (objc_build_method_signature): Update the stub
+ 	implementation to accept and ignore additional parameter.
+ 	* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
+ 	the value of ellipsis to objc_build_method_signature instead
+ 	of setting TREE_OVERFLOW on the parms TREE_LIST node.
+ 
+ 2005-04-21  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/rs6000-protos.h (rs6000_emit_sync): New.
+ 	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Use
+ 	gen_rtx_* not gen_rtx_fmt_*.
+ 	(rs6000_emit_vector_select): Likewise.
+ 	(rs6000_emit_sync): New.
+ 	* config/rs6000/rs6000.md (GPR, INT, INT1): New mode macros.
+ 	(larx, stcx, cmp): New mode substitutions.
+ 	(UNSPEC_SYNC, UNSPEC_SYNC_OP, UNSPEC_SYNC_SWAP, UNSPEC_LWSYNC,
+ 	UNSPEC_ISYNC): New constants.
+ 	(rlwinm): Give name.
+ 	(memory_barrier, isync, lwsync): New insns.
+ 	(sync_compare_and_swap<mode>, sync_lock_test_and_set<mode>): New insn.
+ 	(sync_lock_release<mode>): New expander.
+ 	(sync_add<mode>, sync_sub<mode>, sync_ior<mode>, sync_and<mode>,
+ 	sync_xor<mode>, sync_nand<mode>, sync_old_add<mode>,
+ 	sync_old_sub<mode>, sync_old_ior<mode>, sync_old_and<mode>,
+ 	sync_old_xor<mode>, sync_old_nand<mode>, sync_new_add<mode>,
+ 	sync_new_sub<mode>, sync_new_ior<mode>, sync_new_and<mode>,
+ 	sync_new_xor<mode>, sync_new_nand<mode>): New expanders.
+ 	(sync_add<mode>_internal, sync_addshort_internal,
+ 	sync_sub<mode>_internal, sync_andsi_internal, sync_anddi_internal,
+ 	sync_boolsi_internal, sync_booldi_internal, sync_boolc<mode>_internal,
+ 	sync_boolc<mode>_internal2, sync_boolcc<mode>_internal): New insns.
+ 
+ 	* doc/md.texi (Standard Names): sync_compare_and_swap's operand 0
+ 	is the memory before, not after, the operation.  Clarify
+ 	barrier requirements.
+ 
+ 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* cfghooks.h (struct cfg_hooks): Reword comments to avoid 'abort'.
+ 	* lambda.h (lambda_vector_min_nz): Likewise.
+ 	* langhooks.h (struct lang_hooks_for_types,
+ 	struct lang_hooks): Likewise.
+ 	* output.h (assemble_integer, this_is_asm_operands): Likewise.
+ 	* tree.h: Likewise.
+ 	* vec.h: Likewise.
+ 	* tree-flow-inline.h (relink_imm_use): Use gcc_assert.
+ 
+ 	* optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
+ 	comments to avoid 'abort'.  Use gcc_assert as necessary.
+ 	* opts.c (common_handle_option): Likewise.
+ 	* pretty-print.c (pp_base_format_text): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* read-rtl.c (read_rtx_filename, read_rtx_1): Likewise.
+ 	* regmove.c (try_auto_increment): Likewise.
+ 	* reload.c (find_valid_class, find_reloads_toplev,
+ 	find_equiv_reg): Likewise.
+ 	* reload1.c (reload, forget_old_reloads_1, function_invariant_p,
+ 	merge_assigned_reloads): Likewise.
+ 	* tree-inline.c (inline_forbidden_p_1,
+ 	estimate_num_insns_1): Likewise.
+ 	* tree-optimize.c (execute_todo): Likewise.
+ 	* tree-outof-ssa.c (eliminate_phi): Likewise.
+ 	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
+ 	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Likewise.
+ 	* tree-ssa-operands.c (parse_ssa_operands,
+ 	get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
+ 	* tree-ssa-pre.c (find_or_generate_expression): Likewise.
+ 	* tree-ssanames.c (release_ssa_name): Likewise.
+ 	* tree.c (int_bit_position, int_byte_position, tree_low_cst,
+ 	walk_tree): Likewise.
+ 
+ 	* tree-ssa-operands.c (verify_abort): Fold into ..
+ 	(verify_imm_links): ... here.
+ 
+ 2005-04-21  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/sync.md (sync_new_nand<I48MODE>): Fix constraints
+ 	on non-memory operand for previous inversion.
+ 
+ 2005-04-21  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR optimization/20994
+ 	* tree-if-conv.c (find_phi_replacement_condition): Avoid generating
+ 	x = !(a == b) : p , q;.
+ 	(pass_if_conversion): Verify stmts and flow.
+ 
+ 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* optabs.c (gen_conditional_trap): Restore #define.
+ 
+ 	* alias.c (true_dependence): Remove 'abort' from comments. Use
+ 	gcc_assert and gcc_unreachable as appropriate.
+ 	(canon_true_dependence): Likewise.
+ 	* bb-reorder.c (connect_traces): Likewise.
+ 	* c-common.c (c_add_case_label): Likewise.
+ 	* c-decl.c (finish_function): Likewise.
+ 	* caller-save.c (insert_restore, insert_save): Likewise.
+ 	* cfg.c (update_bb_profile_for_threading): Likewise.
+ 	* cfganal.c (flow_active_insn_p): Likewise.
+ 	* cfgexpand.c (add_reg_br_prob_note): Likewise.
+ 	* cfgrtl.c (rtl_redirect_edge_and_branch_force, rtl_split_edge,
+ 	cfg_layout_merge_blocks): Likewise.
+ 	* ifcvt.c (cond_exec_process_insns, merge_if_block,
+ 	find_if_block): Likewise.
+ 	* integrate.c (allocate_initial_values): Likewise.
+ 	* jump.c (reverse_condition, reverse_condition_maybe_unordered,
+ 	swap_condition, unsigned_condition, signed_condition,
+ 	mark_jump_label, invert_jump_1, rtx_renumbered_equal_p,
+ 	reg_or_subregno): Likewise.
+ 	* lambda-code.c (lambda_compute_auxillary_space,
+ 	lambda_transform_legal_p): Likewise.
+ 	* lambda-mat.c (lambda_matrix_inverse_hard): Likewise.
+ 	* langhooks.c (lhd_set_decl_assembler_name, lhd_type_promotes_to,
+ 	lhd_incomplete_type_error, lhd_expand_expr,
+ 	lhd_types_compatible_p, lhd_tree_size): Likewise.
+ 	* lcm.c (create_pre_exit, optimize_mode_switching): Likewise.
+ 	* local-alloc.c (update_equiv_regs): Likewise.
+ 	* loop-unroll.c (peel_loop_completely
+ 	unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
+ 	peel_loop_simple, unroll_loop_stupid,
+ 	analyze_iv_to_split_insn): Likewise.
+ 	* loop.c (gen_prefetch, find_and_verify_loops,
+ 	basic_induction_var): Likewise.
+ 	* modulo-sched.c (normalize_sched_times, check_nodes_order): Likewise.
+ 	* value-prof.c (tree_find_values_to_profile): Likewise.
+ 	* varasm.c (named_section, default_assemble_integer,
+ 	decode_addr_const): Likewise.
+ 
+ 2005-04-21 Alan Modra  <amodra@bigpond.net.au>
+ 	   Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Fix size of
+ 	portion of argument passed in fpr.
+ 	* expr.c (emit_push_insn): Fix computation of 'offset' used to
+ 	decide on partial argument save on stack.
+ 
+ 2005-04-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/sparc/predicates.md, config/sparc/sparc.md: Fix
+ 	comment typos.
+ 
+ 2005-04-21  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraphunit.c: Include tree-pass.h
+ 	(cgraph_decide_recursive_inlining,
+ 	cgraph_decide_inlining_of_small_function, cgraph_set_inline_failed,
+ 	cgraph_decide_inlining): Dump goes to dump_file.
+ 	(cgraph_optimize): Call ipa passes instead of inliner.
+ 	(cgraph_gate_inlining, pass_ipa_inline): New.
+ 	* tree-optimize.c (all_ipa_passes): New static variable.
+ 	(register_one_dump_file): Dead with IPA passes.
+ 	(register_dump_files): Likewise.
+ 	(init_tree_optimization_passes): Initialize IPA passes.
+ 	(execute_todo): Do cgraph dump when asked to, do not dump function body
+ 	for IPA pass.
+ 	* tree-pass.h (TODO_dump_cgraph): New macro.
+ 	(ipa_passes): Declare.
+ 	* Makefile.in (cgraphunit.o): Add dependency on cgraphunit.h
+ 
+ 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* config/i386/i386.c (type_natural_mode): Use gcc_unreachable and
+ 	gcc_assert instead of abort.
+ 	(classify_argument, examine_argument, construct_container,
+ 	contains_128bit_aligned_vector_p, ix86_check_movabs,
+ 	standard_80387_constant_opcode, standard_80387_constant_rtx,
+ 	ix86_initial_elimination_offset, ix86_compute_frame_layout,
+ 	pro_epilogue_adjust_stack, ix86_expand_epilogue,
+ 	ix86_address_cost, legitimate_address_p, legitimize_pic_address,
+ 	legitimize_tls_address, output_pic_addr_const,
+ 	i386_output_dwarf_dtprel, put_condition_code, print_reg,
+ 	get_some_local_dynamic_name, print_operand, print_operand_address,
+ 	output_387_binary_op, emit_i387_cw_initialization,
+ 	output_fix_trunc, output_fp_compare, ix86_output_addr_vec_elt,
+ 	ix86_expand_clear, ix86_expand_binary_operator,
+ 	ix86_expand_unary_operator, ix86_match_ccmode, ix86_cc_mode,
+ 	ix86_cc_modes_compatible, ix86_fp_comparison_codes,
+ 	ix86_fp_comparison_arithmetics_cost, ix86_expand_fp_compare,
+ 	ix86_expand_branch, ix86_expand_setcc,
+ 	ix86_expand_carry_flag_compare, ix86_expand_fp_movcc,
+ 	ix86_expand_int_addcc, ix86_split_to_parts, ix86_split_long_move,
+ 	ix86_expand_movmem, ix86_expand_call, assign_386_stack_local,
+ 	memory_address_length, ix86_attr_length_immediate_default,
+ 	ix86_attr_length_address_default, ix86_agi_dependant,
+ 	x86_initialize_trampoline, ix86_init_mmx_sse_builtins,
+ 	ix86_expand_binop_builtin, ix86_force_to_memory,
+ 	ix86_secondary_memory_needed, ix86_avoid_jump_misspredicts,
+ 	x86_emit_floatuns): Likewise.
+ 	* config/i386/netware.c (gen_regparm_prefix,
+ 	i386_nlm_strip_name_encoding): Likewise.
+ 	* config/i386/winnt.c (i386_pe_mark_dllexport): Likewise.
+ 
+ 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* optabs.c (gen_condiational_trap): Remove #define.
+ 	(add_equal_note): Assertify. Remove explicit indirection from
+ 	call via function pointer.
+ 	(expand_ternary_op, expand_simple_binop, expand_binop,
+ 	expand_twoval_unop, expand_twoval_binop,
+ 	expand_twoval_binop_libfunc, expand_simple_unop expand_unop,
+ 	emit_unop_insn,  emit_no_conflict_block,  prepare_cmp_insn,
+ 	prepare_operand emit_cmp_and_jump_insn_1, emit_cmp_and_jump_insns,
+ 	prepare_float_lib_cmp, emit_conditional_move,
+ 	emit_conditional_add, gen_add2_insn, gen_add3_insn,
+ 	have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn,
+ 	expand_float, expand_fix, debug_optab_libfuncs, gen_cond_trap,
+ 	vector_compare_rtx, expand_vec_cond_expr): Likewise.
+ 
+ 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* vec.h: Update API to separate allocation mechanism from type.
+ 	(VEC_safe_grow): New.
+ 	* vec.c (calculate_allocation): New.
+ 	(vec_gc_o_reserve, vec_heap_o_reserve): Adjust.
+ 	(vec_gc_free, vec_heap_free): Remove.
+ 	* gengtype-lex.l (DEF_VEC_): Process mult-argument macros.  Adjust.
+ 	(VEC): Likewise.
+ 	(mangle_macro_name): New.
+ 	(struct macro_def): New.
+ 	(struct macro): Add multiple argument values.
+ 	(macro_expans_end): New.
+ 	(push_macro_expansion):  Chain on new macro. Process multiple
+ 	args, create follow on expansion. Return follow on argument.
+ 	(macro_input): Deal with multiple arguments.
+ 
+ 	* tree.h: Define VEC(tree,heap) and VEC(tree,gc).
+ 	(struct tree_binfo): Adjust.
+ 	* basic-block.h: Define VEC(edge,gc).
+ 	(struct edge_def): Adjust.
+ 	(struct basic_block_def, struct edge_iterator): Likewise.
+ 	(ei_container, ei_start_1, ei_last_1): Likewise.
+ 	* cfg.c (connect_src, connect_dest): Likewise.
+ 	* cfgrtl.c (force_nonfallthru_and_redirect)
+ 	* dbxout.c (dbxout_type)
+ 	* dwarf2out.c (gen_member_die)
+ 	* lambda-code.c: Define VEC(int,gc), VEC(lambda_loop,gc).
+ 	(gcc_tree_to_linear_expression): Adjust.
+ 	(gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
+ 	lbv_to_gcc_expression, lle_to_gcc_expression,
+ 	lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
+ 	perfect_nestify): Likewise.
+ 	* lambda.h (gcc_loopnest_to_lambda_loopnest,
+ 	lambda_loopnest_to_gcc_loopnest): Adjust prototypes.
+ 	* profile.c (instrument_values): Adjust.
+ 	* tree-cfg.c (modified_noreturn_calls): Adjust.
+ 	(remove_fallthru_edge): Likewise.
+ 	* tree-dump.c (dequeue_and_dump): Adjust.
+ 	* tree-flow-inline.h (mark_stmt_modified): Adjust.
+ 	* tree-flow.h (modified_noreturn_calls): Adjust.
+ 	(tree_on_heap): Remove. (yay!)
+ 	(register_new_def): Adjust.
+ 	* tree-into-ssa.c: Define VEC(int,heap).
+ 	(block_defs_stack): Adjust.
+ 	(find_idf, insert_phi_nodes, register_new_def,
+ 	rewrite_initialize_block, rewrite_finalize_block,
+ 	register_new_update_single, rewrite_update_init_block,
+ 	rewrite_update_fini_block, rewrite_blocks,
+ 	ssa_rewrite_finalize_block, ssa_register_new_def,
+ 	ssa_rewrite_initialize_block, rewrite_ssa_into_ssa): Likewise.
+ 	* tree-loop-linear.c (linear_transform_loops): Adjust.
+ 	* tree-ssa-alias.c: Define VEC(fieldoff_t,heap).
+ 	(push_fields_onto_fieldstack, create_overlap_variables_for): Adjust.
+ 	* tree-ssa-dom.c (avail_exprs_stack, block_defs_stack,
+ 	stmts_to_rescan, const_and_copies_stack, nonzero_vars_stack,
+ 	vrp_variables_stack): Adjust declarations.
+ 	(tree_ssa_dominator_optimize): Adjust.
+ 	(dom_opt_initialize_block, remove_local_expressions_from_table,
+ 	restore_nonzero_vars_to_original_value,
+ 	restore_vars_to_original_value,
+ 	restore_currdefs_to_original_value, dom_opt_finalize_block,
+ 	record_var_is_nonzero, record_cond, record_const_or_copy_1,
+ 	optimize_stmt, update_rhs_and_lookup_avail_expr,
+ 	lookup_avail_expr, record_range): Likewise.
+ 	* tree-ssa-pre.c: Define VEC(basic_block,heap).
+ 	(compute_antic_aux): Adjust.
+ 	(inserted_exprs, create_expression_by_pieces,
+ 	insert_into_preds_of_block, eliminate, mark_operand_necessary,
+ 	remove_dead_inserted_code, fini_pre): Likewise.
+ 	* tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
+ 	(varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
+ 	ssa_prop_init): Likewise.
+ 	* tree-ssa.c: Define VEC(bitmap,heap).
+ 	(verify_name_tags): Adjust.
+ 	* value-prof.c (rtl_divmod_values_to_profile): Adjust.
+ 	(insn_prefetch_values_to_profile, rtl_find_values_to_profile,
+ 	tree_divmod_values_to_profile, tree_find_values_to_profile,
+ 	value_profile_transformations): Likewise.
+ 	* value-prof.h: Define VEC(histogram_value,heap).
+ 	* varasm.c: Remove alias_pair pointer typedef, define
+ 	VEC(alias_pair,gc).
+ 	(finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
+ 
+ 	* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
+ 	not a pointer to it.  Create an object vector.
+ 	(extern_symbols): Turn into an object vector.
+ 	(pa_hpux_asm_output_external, pa_hpux_file_end): Adjust.
+ 
+ 2005-04-21  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	PR/20742
+ 	* Makefile.in (tree-chrec.o): Depend on params.h.
+ 	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
+ 	default value 20.
+ 	* tree-chrec.c: Depend on params.h.  Replace build with buildN,
+ 	and fold build with fold_buildN.
+ 	(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
+ 	the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
+ 	(tree_contains_chrecs): Compute an estimation of the size of the
+ 	given expression.
+ 	* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
+ 	(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
+ 	* tree-scalar-evolution.c (simple_iv): Ditto.
+ 	* doc/invoke.texi (scev-max-expr-size): Documented.
+ 
+ 2005-04-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (*-*-darwin*): Add darwin.opt to $extra_options.
+ 	(i[34567]86-pc-msdosdjgpp*): Likewise i386/djgpp.opt.
+ 	(i[34567]86-*-lynxos*, powerpc-*-lynxos*): Likewise lynx.opt.
+ 	(i[34567]86-*-sco3.2v5*): Likewise i386/sco5.opt.
+ 	(i[34567]86-*-pe, i[34567]86-*-cygwin*, i[34567]86-*-mingw32*)
+ 	(i[34567]86-*-uwin*): Likewise i386/cygming.opt.
+ 	* config/darwin.h (darwin_one_byte_bool, darwin_fix_and_continue)
+ 	(darwin_fix_and_continue_switch, SUBTARGET_OPTIONS): Delete.
+ 	* config/darwin.c (darwin_one_byte_bool, darwin_fix_and_continue)
+ 	(darwin_fix_and_continue_switch): Delete.
+ 	* config/lynx.h (SUBTARGET_OS_LYNX_SWITCHES): Delete.
+ 	(SUBTARGET_SWITCHES): Delete.
+ 	* config/i386/i386.h (target_flags, MASK_80387, MASK_RTD)
+ 	(MASK_ALIGN_DOUBLE, MASK_SVR3_SHLIB, MASK_IEEE_FP, MASK_FLOAT_RETURNS)
+ 	(MASK_NO_FANCY_MATH_387, MASK_OMIT_LEAF_FRAME_POINTER)
+ 	(MASK_STACK_PROBE, MASK_NO_ALIGN_STROPS, MASK_INLINE_ALL_STROPS)
+ 	(MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS, MASK_MMX)
+ 	(MASK_SSE, MASK_SSE2, MASK_SSE3, MASK_3DNOW, MASK_3DNOW_A)
+ 	(MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT)
+ 	(MASK_TLS_DIRECT_SEG_REFS, MASK_NO_RED_ZONE, TARGET_80387)
+ 	(TARGET_RTD, TARGET_ALIGN_DOUBLE, TARGET_PUSH_ARGS)
+ 	(TARGET_ACCUMULATE_OUTGOING_ARGS, TARGET_SVR3_SHLIB, TARGET_IEEE_FP)
+ 	(TARGET_128BIT_LONG_DOUBLE, TARGET_NO_FANCY_MATH_387)
+ 	(TARGET_USE_FANCY_MATH_387, TARGET_OMIT_LEAF_FRAME_POINTER)
+ 	(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Delete.
+ 	(TARGET_FLOAT_RETURNS_IN_80387): Make an alias of TARGET_FLOAT_RETURNS.
+ 	(TARGET_64BIT): Undef before redefining.
+ 	(TARGET_TLS_DIRECT_SEG_REFS, TARGET_STACK_PROBE)
+ 	(TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS, TARGET_SSE)
+ 	(TARGET_SSE2, TARGET_SSE3, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A)
+ 	(TARGET_RED_ZONE, TARGET_USE_MS_BITFIELD_LAYOUT, TARGET_SWITCHES)
+ 	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS)
+ 	(ix86_fpmath_string, ix86_tls_dialect_string, ix86_cmodel_string)
+ 	(ix86_asm_string, ix86_regparm, ix86_regparm_string)
+ 	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
+ 	(ix86_debug_arg_string, ix86_debug_addr_string)
+ 	(ix86_align_loops_string, ix86_align_jumps_string)
+ 	(ix86_align_funcs_string): Delete.
+ 	* config/i386/cygming.h (MASK_NOP_FUN_DLLIMPORT)
+ 	(TARGET_NOP_FUN_DLLIMPORT, SUBTARGET_SWITCHES): Delete.
+ 	* config/i386/djgpp.h (MASK_BNU210, SUBTARGET_SWITCHES): Delete.
+ 	(SUBTARGET_OVERRIDE_OPTIONS): Check TARGET_BNU210.
+ 	* config/i386/lynx.h (SUBTARGET_SWITCHES): Delete.
+ 	* config/i386/sco5.h (MASK_COFF, TARGET_ELF)
+ 	(SUBTARGET_SWITCHES): Delete.
+ 	* config/i386/i386.c (ix86_debug_arg_string): Delete.
+ 	(ix86_debug_addr_string): Delete.
+ 	(ix86_cmodel_string, ix86_asm_string, ix86_tls_dialect_string)
+ 	(ix86_fpmath_string, ix86_regparm_string, ix86_regparm)
+ 	(ix86_align_loops_string, ix86_align_jumps_string)
+ 	(ix86_preferred_stack_boundary_string, ix86_branch_cost_string)
+ 	(ix86_align_funcs_string): Make static.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(ix86_handle_option): New function.
+ 	(TARGET_USE_MS_BITFIELD_LAYOUT): Delete.
+ 	(ix86_ms_bitfield_layout_p): Check TARGET_MS_BITFIELD_LAYOUT.
+ 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Remove handling
+ 	of darwin_fix_and_continue_switch.
+ 	(darwin_one_byte_bool): Delete.
+ 	* config/rs6000/lynx.h (EXTRA_SUBTARGET_SWITCHES): Delete.
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Update assignment
+ 	to darwin_one_byte_bool.
+ 	* config/darwin.opt, config/lynx.opt, config/i386/cygming.opt,
+ 	* config/i386/djgpp.opt, config/i386/i386.opt,
+ 	* config/i386/sco5.opt: New files.
+ 
+ 2005-04-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (reg_or_0_operand, const1_operand,
+ 	fp_zero_operand, fp_register_operand, intreg_operand,
+ 	fcc_reg_operand, fcc0_reg_operand, icc_or_fcc_reg_operand,
+ 	call_operand, call_operand_address, tgd_symbolic_operand,
+ 	tld_symbolic_operand, tie_symbolic_operand, tle_symbolic_operand,
+ 	symbolic_operand, symbolic_memory_operand, label_ref_operand,
+ 	sp64_medium_pic_operand, data_segment_operand,
+ 	text_segment_operand, splittable_symbolic_memory_operand,
+ 	reg_or_nonsymb_mem_operand, splittable_immediate_memory_operand,
+ 	eq_or_neq, normal_comp_operator, noov_compare_op,
+ 	noov_compare64_op, v9_regcmp_op, extend_op, cc_arithop,
+ 	cc_arithopn, arith_operand, arith_4096_operand, arith_add_operand,
+ 	const64_operand, const64_high_operand, arith11_operand,
+ 	arith10_operand, arith_double_operand, arith_double_4096_operand,
+ 	arith_double_add_operand, arith11_double_operand,
+ 	arith10_double_operand, small_int, small_int_or_double,
+ 	uns_small_int, uns_arith_operand, clobbered_register,
+ 	input_operand, compare_operand): Delete.
+ 	(sparc_emit_set_const32): Use predicates in assertion.  Remove special
+ 	code for TARGET_ARCH64 && HOST_BITS_PER_WIDE_INT != 64.
+ 	(sparc_emit_set_const64): Call gcc_unreachable if H_B_P_W_I == 32.
+ 	(GEN_HIGHINT64, GEN_INT64): Delete.
+ 	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
+ 	gen_safe_XOR64): Adjust for above deletion.
+ 	(sparc_emit_set_const64): Support only H_B_P_W_I == 64 and CONST_INTs.
+ 	Use 'unsigned HOST_WIDE_INT' instead of 'long' for bitmask.
+ 	(legitimate_constant_p): Use const_zero_operand instead.
+ 	(sparc_extra_constraint_check): Likewise.
+ 	* config/sparc/sparc.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'O'.
+ 	(PREFERRED_RELOAD_CLASS): Use const_zero_operand.
+ 	(PREDICATE_CODES): Delete.
+ 	* config/sparc/sparc.md: Include predicates.md.
+ 	(All patterns): Adjust for new predicate names.
+ 	(cmpdi, cmpdi_sp64): Use arith_operand predicate.
+ 	(movhi_const64_special, movsi_const64_special): Add 'K' constraint.
+ 	(movdi): Use general_operand predicate.
+ 	(movdi_sp64_dbl): Delete.
+ 	(movdi_const64_special): Add 'N' constraint.
+ 	(movdicc): Use arith10_operand predicate.
+ 	(movdi_cc_sp64, movdi_cc_sp64_trunc): Use arith11_operand predicate.
+ 	(movdi_cc_reg_sp64): Use arith10_operand predicate.
+ 	(movdi_cc_reg_sp64_trunc): Delete.
+ 	(cmp_zero_extract, cmp_zero_extract_sp64): Use small_int_operand.
+ 	(adddi3_sp64, cmp_ccx_plus, cmp_ccx_plus_set): Use arith_operand.
+ 	(subdi3_sp32): Delete.
+ 	(subdi3_insn_sp32): Change to define_insn_and_split.
+ 	(subdi3_sp64, cmp_minus_ccx, cmp_minus_ccx_set): Use arith_operand.
+ 	(muldi3, muldi3_sp64, muldi3_v8plus): Likewise.
+ 	(smulsi3_highpart_v8plus, const_smulsi3_highpart_v8plus,
+ 	umulsi3_highpart_v8plus, const_umulsi3_highpart_v8plus): Use
+ 	small_int_operand predicate.
+ 	(divdi3, udivdi3): Use arith_operand predicate.
+ 	(udivsi3, udivsi3_sp32, udivsi3_sp64): Use nonimmediate_operand.
+ 	(and<V64I>3_sp64, ior<V64I>3_sp64, xor<V64I:mode>3_sp64,
+ 	xor_not_<V64I:mode>_sp64) : Use arith_operand predicate.
+ 	(xordi3_sp64_dbl): Delete.
+ 	(cmp_ccx_arith_op, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
+ 	cmp_ccx_xor_not_set, cmp_ccx_arith_op_not, cmp_ccx_arith_op_not_set,
+ 	cmp_ccx_neg, cmp_ccx_set_neg, one_cmpl<V64I>2_sp64, cmp_ccx_not,
+ 	cmp_ccx_set_not): Use arith_operand predicate.
+ 	(ashrsi3_extend2, lshrsi3_extend2 et al.): Use small_int_operand.
+ 	* config/sparc/predicates.md: New file.
+ 
+ 2005-04-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/14846
+ 	* fold-const.c (fold_single_bit_test_into_sign_test): New,
+ 	split out from ...
+ 	(fold_single_bit_test): ... here.
+ 	(fold_binary): Call fold_single_bit_test_into_sign_test
+ 	instead of fold_single_bit_test.
+ 
+ 2005-04-20  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR c++/20805
+ 	* dwarf2out.c (gen_variable_die): Don't emit a specification if this
+ 	is another declaration.
+ 
+ 2005-04-21  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/predicates.md: New file.
+ 	* config/cris/cris-protos.h (cris_store_multiple_op_p)
+ 	(cris_movem_load_rest_p): Declare.
+ 	* config/cris/cris.c (cris_store_multiple_op): Return bool, not int.
+ 	(cris_movem_load_rest_p): Ditto.  Globalize.
+ 	(cris_bdap_operand, cris_bdap_biap_operand,
+ 	cris_orthogonal_operator, cris_commutative_orth_op,
+ 	cris_operand_extend_operator,
+ 	cris_additive_operand_extend_operator, cris_extend_operator,
+ 	cris_plus_or_bound_operator, cris_mem_op,
+ 	cris_general_operand_or_symbol,
+ 	cris_general_operand_or_gotless_symbol,
+ 	cris_general_operand_or_plt_symbol, cris_mem_call_operand,
+ 	cris_load_multiple_op): Remove predicate functions.
+ 	(cris_symbol, cris_gotless_symbol) <case UNSPEC>: Return 0, don't
+ 	abort, for UNSPECs other than CRIS_UNSPEC_PLT.
+ 	* config/cris/cris.h (PREDICATE_CODES): Don't define.
+ 	* config/cris/cris.md: Include predicates.md.
+ 	("call", "call_value"): Generate CONSTs of Pmode, not VOIDmode.
+ 
+ 2005-04-20  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-common.def: Remove STMT_EXPR (moved to cp/cp-tree.def).
+ 	* c-common.h (STMT_EXPR_STMT): Don't define.
+ 	(STMT_EXPR_NO_SCOPE): Don't define.
+ 	* c-dump.c (c_dump_tree): Don't handle STMT_EXPR.
+ 	* c-pretty-print.c (pp_c_primary_expression): Likewise.
+ 	(pp_c_expression): Likewise.
+ 
+ 2005-04-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21100
+ 	* config/i386/mmx.md (push<MMXMODE>1): Fix predicate thinko.
+ 
+ 2005-04-20  Jeff Law  <law@redhat.com>
+ 
+ 	* reload1.c (reload): Ignore equivalences between pseudos and
+ 	read only memory.
+ 
+ 2005-04-20  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/12913
+ 	* c-tree.h (struct c_label_list): Update comment.
+ 	(struct c_label_context): Rename to struct c_label_context_se.
+ 	(label_context_stack): Rename to label_context_stack_se.
+ 	(C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct
+ 	c_label_context_vm, label_context_stack_vm, c_begin_vm_scope,
+ 	c_end_vm_scope): New.
+ 	(C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK.
+ 	* c-decl.c (pop_scope): Call c_end_vm_scope.
+ 	(pushdecl): Call c_begin_vm_scope for variably modified
+ 	declarations.
+ 	(define_label): Check for jumping into scope of identifier with
+ 	variably modified type.  Push label on stack for those defined at
+ 	current context of identifiers with variably modified type.
+ 	(start_function): Create stack level for context of identifiers
+ 	with variably modified type.
+ 	(finish_function): Pop stack level for context of identifiers with
+ 	variably modified type.
+ 	* c-typeck.c (label_context_stack): Rename to
+ 	label_context_stack_se.
+ 	(label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New.
+ 	(c_finish_goto_label): Check for jumping into scope of identifier
+ 	with variably modified type.  Push label on stack for those jumped
+ 	to from current context of identifiers with variably modified
+ 	type.
+ 	(struct c_switch): Add blocked_vm.
+ 	(c_start_case): Initialize blocked_vm.
+ 	(do_case): Check blocked_vm.
+ 	(c_finish_case): Add comment.
+ 	(c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed
+ 	variable label_context_stack.
+ 
+ 2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c (tree_ssa_phi_opt): Update calls to
+ 	conditional_replacement, value_replacement, abs_replacement,
+ 	minmax_replacement.
+ 	(replace_phi_edge_with_variable): Remove argument BB.
+ 	(conditional_replacement, value_replacement,
+ 	minmax_replacement, abs_replacement): Remove argument PHI_BB.
+ 	Update a call to replace_phi_edge_with_variable.
+ 
+ 	* tree-ssa-phiopt.c: Fix comments.
+ 
+ 2005-04-20  Michael Matz  <matz@suse.de>
+ 
+ 	PR20973
+ 	* reload.c (push_reload, find_dummy_reload): Check for uninitialized
+ 	pseudos.
+ 
+ 2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c: Fix comment typos.
+ 
+ 	PR tree-optimization/21116
+ 	* tree-ssa-phiopt.c: Fix a typo.
+ 
+ 2005-04-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_sync_operation): Revert last change.
+ 	* optabs.c (expand_bool_compare_and_swap): Compare vs old value,
+ 	not vs new value.
+ 	(expand_compare_and_swap_loop): Likewise.
+ 	(expand_sync_operation): Remove fallback from NAND to AND; invert
+ 	memory operand when expanding from cmpxchg.
+ 	(expand_sync_fetch_operation): Likewise.
+ 	* doc/extend.texi (Atomic Builtins): Fix docs for nand and
+ 	compare-and-swap.
+ 
+ 	* config/alpha/alpha.c (alpha_split_atomic_op): Invert memory operand
+ 	when implementing NAND.  Fix double-add for AFTER.
+ 	* config/alpha/sync.md (sync_nand<I48MODE>): Invert memory operand.
+ 	(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
+ 	(sync_compare_and_swap<I48MODE>): Fix compare vs zero.  Return old
+ 	memory value.
+ 	(sync_lock_test_and_set<I48MODE>): Remove extra label and last
+ 	memory barrier.
+ 
+ 	* config/i386/sync.md (sync_compare_and_swap<IMODE>): Fix pattern
+ 	to return old memory value.
+ 	(sync_compare_and_swap_cc<IMODE>): Likewise.
+ 
+ 	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Early
+ 	return pre-reload.  Don't consider output or anti dependencies.
+ 	* config/ia64/sync.md (IMODE): New.
+ 	(modesuffix): Add QI and HI.
+ 	(memory_barrier): Simplify expansion.
+ 	(sync_compare_and_swap<IMODE>): Use IMODE, not I48MODE.
+ 	(cmpxchg_acq_<IMODE>): Likewise.
+ 	(sync_lock_test_and_set<IMODE>): Likewise.
+ 	(sync_lock_release<IMODE>): Likewise.
+ 
+ 2005-04-19  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* fold-const.c (fold_binary): Fold ~(X ^ Y) to ~X ^ Y or X ^ ~Y if
+ 	~X or ~Y simplify.
+ 
+ 2005-04-19  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* fold-const (fold_binary):  Fold ~X ^ ~ Y to X ^ Y.
+ 
+ 2005-04-20  Michael Pogue  <michael.pogue@sun.com>
+ 	    Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c.opt (Wint-to-pointer-cast, Wpointer-to-int-cast): New options.
+ 	* c-typeck.c (build_c_cast): Check these options.
+ 	* doc/invoke.texi: Document these options.
+ 
+ 2005-04-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c: Update a comment about the pass.
+ 
+ 2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c, config/arm/arm.c, config/fr30/fr30.md,
+ 	config/mcore/mcore.c: Fix comment typos.
+ 
+ 2005-04-19  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* Makefile.in (libgcc.mk): Pass GCC_FOR_TARGET.
+ 	* mklibgcc.in: Use $GCC_FOR_TARGET instead of ./xgcc.
+ 
+ 2005-04-19  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
+ 
+ 2005-04-19  Andrew Haley  <aph@redhat.com>
+ 
+ 	PR java/21022
+ 	* dbxout.c (dbxout_type_fields): Check DECL_IGNORED_P before
+ 	looking at a field's bitpos.
+ 
+ 2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h (fopen, fdopen, freopen): Define these to the unlocked
+ 	libiberty functions.
+ 
+ 2005-04-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21096
+ 	* tree-ssa-copy.c (fini_copy_prop): Free cached_last_copy_of.
+ 
+ 2005-04-19  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/21098
+ 	* config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
+ 	* config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
+ 
+ 2005-04-19  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree-cfg.c (dump_function_to_file): Use cfun info only if it
+ 	refers to the function being dumped.
+ 
+ 2005-04-18  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* varasm.c (assemble_start_function): Remove reset of in_section.
+ 
+ 2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/21085
+ 	* fold-const (fold_binary): Don't change X % -C to X % C if C has
+ 	overflowed.
+ 
+ 2005-04-19  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Refer to the correct
+ 	optimisation flag -ftree-dominator-opts, not -ftree-dom.
+ 
+ 2005-04-18  Christopher Jaillet <christophe.jaillet@wanadoo.fr>
+ 
+ 	* config/rs6000/rs6000.c (machopic_output_stub):  Increase
+ 	alloca argument to be big enough.
+ 
+ 2005-04-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR middle-end/21049
+ 	* tree-cfg.c (dump_function_to_file): Do not crash if cfun or
+ 	cfun->cfg are NULL.
+ 
+ 2005-04-18  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* cgraphunit.c (cgraph_finalize_compilation_unit): Fix a comment
+ 	typo.
+ 
+ 2005-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (alpha_split_atomic_op): New.
+ 	(alphaev5_insn_pipe): Add LD_L, ST_C, MB types.
+ 	(alphaev4_insn_pipe): Likewise.  Correct IST and LDSYM pipes.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.md (UNSPECV_MB, UNSPECV_LL, UNSPECV_SC): New.
+ 	(UNSPECV_ATOMIC, UNSPECV_CMPXCHG, UNSPECV_XCHG): New.
+ 	(attr type): Add ld_l, st_c, mb.
+ 	(andsi_internal, andnotsi3, iorsi_internal, one_cmplsi_internal,
+ 	iornotsi3, xorsi_internal, xornotsi3): New.
+ 	* config/alpha/ev4.md (ev4_ld): Add ld_l.
+ 	(ev4_ist_c, ev4_mb): New.
+ 	* config/alpha/ev5.md (ev5_st): Add st_c, mb.
+ 	(ev5_ld_l): New.
+ 	* config/alpha/ev6.md (ev6_ild): Add ld_l.
+ 	(ev6_ist): Add st_c.
+ 	(ev6_mb): New.
+ 	* config/alpha/sync.md: New file.
+ 
+ 2005-04-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_sync_operation): Fold nand to and
+ 	for constants.
+ 
+ 	* optabs.c (expand_sync_operation): Fix typo expanding nand to and.
+ 
+ 2005-04-18  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs6000/atlivec.md (mulv4si3): New pattern.
+ 
+ 2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/20922
+ 	* fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
+ 	Fold X + c >= X and fold X - c <= X to true.
+ 
+ 2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* config/ia64/unwind-ia64.c (emergency_reg_state_free): Make an
+ 	unsigned int.
+ 	(emergency_labeled_state_free): Likewise.
+ 
+ 2005-04-18  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/h8300/h8300.md (jump): Remove prescan parameter from
+ 	calls to final_scan_insn.
+ 
+ 	* config/arc/arc.c (arc_output_function_epilogue): Remove prescan
+ 	parameter from calls to final_scan_insn.
+ 
+ 	* config.gcc (m68hc12): Use the m68hc11.opt file for target
+ 	specific options.
+ 	(v850e, v850e1): Use the v850.opt file for target specific
+ 	options.
+ 
+ 2005-04-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21001
+ 	* tree-optimize.c (init_tree_optimization_passes): Move the
+ 	first pass_forwprop immediately before pass_vrp.
+ 
+ 2005-04-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-common.def (SIZEOF_EXPR, ARROW_EXPR, ALIGNOF_EXPR): Remove.
+ 	* c-common.c (c_sizeof_or_alignof_type): Change second parameter
+ 	from enum tree_code op to bool is_sizeof.
+ 	* c-common.h (c_sizeof_or_alignof_type): Update declaration.
+ 	(c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
+ 	* c-pretty-print.c (pp_c_postfix_expression): Remove ARROW_EXPR
+ 	case.
+ 	(pp_c_unary_expression): Remove SIZEOF_EXPR and ALIGNOF_EXPR
+ 	cases.
+ 	(pp_c_expression): Remove ARROW_EXPR, SIZEOF_EXPR, and
+ 	ALIGNOF_EXPR cases.
+ 
+ 2005-04-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* system.h: Poison DONT_ACCESS_GBLS_AFTER_EPILOGUE.
+ 
+ 2005-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (va_list_skip_additions): Only define if
+ 	TARGET_ABI_OSF.
+ 	(TARGET_STDARG_OPTIMIZE_HOOK): Likewise.
+ 	(alpha_stdarg_optimize_hook): Likewise.  Allow for one more round
+ 	of indirection through ssa names while looking for the gpr counter
+ 	field.
+ 	(alpha_setup_incoming_varargs) <TARGET_ABI_OSF>: Make use of the
+ 	saved va_list_gpr_size and va_list_fpr_size.
+ 
+ 2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vrp.c (compare_values): Check that VAL1 and VAL2 are
+ 	both pointers or both integers.
+ 
+ 	* tree-vrp.c (maybe_add_assert_expr): Don't assert
+ 	ASSERT_EXPRs for single-use variable.
+ 
+ 	* tree-into-ssa.c: Fix a comment typo.
+ 
+ 2005-04-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/iris6.h (DRIVER_SELF_SPECS): Check -march as well as
+ 	-mipsN before forcing a default of -mips2.
+ 
+ 2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* predict.h (IS_TAKEN): Remove.
+ 	* rtl.h (NOTE_PREDICTION): Likewise.
+ 
+ 	* modulo-sched.c (CFG_HOOKS): Remove.
+ 
+ 	* c-parser.c (N_C_TTYPES): Remove.
+ 
+ 	* tree-flow-inline.h (get_stmt_operands): Remove.
+ 	* lambda-code.c, tree-ssa-loop-unswitch.c,
+ 	tree-ssa-operands.c, tree-ssa-pre.c, tree-ssa-propagate.c,
+ 	tree-ssa-sink.c, tree-ssa.c, tree-tailcall.c,
+ 	tree-vect-transform.c, tree-vectorizer.c, tree-vrp.c): Remove
+ 	calls to get_stmt_operands.
+ 	* doc/tree-ssa.texi: Don't mention get_stmt_operands.
+ 
+ 2005-04-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/20375
+ 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Advance a copy
+ 	of CUMULATIVE_ARGS past the last named argument.
+ 	(alpha_va_start): Expect pretend_args_size only if strictly less than
+ 	6 named arguments.
+ 
+ 2005-04-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR middle-end/21024
+ 	* builtins.c (expand_builtin_strcat): Convert the result of
+ 	strlen to the right type.
+ 	* fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
+ 	avoid creating type mismatches.
+ 	<GE_EXPR>: Pass op0 and op1 to fold_build2 to avoid creating
+ 	type mismatches.
+ 
+ 	* c-lex.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Remove.
+ 
+ 2005-04-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/21051
+ 	* builtins.c (expand_builtin) <BUILT_IN_BOOL_COMPARE_AND_SWAP_*>:
+ 	Use the mode of boolean_type_node when the user doesn't provide one.
+ 	* config/ia64/sync.md (sync_lock_release<I48MODE>): Use operand 1.
+ 
+ 2005-04-16  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR target/20126
+ 	* loop.c (loop_givs_rescan): Handle non-replaceable (plus (reg)
+ 	(const)).
+ 
+ 	* tree-scalar-evolution.c (interpret_rhs_modify_expr): Fix typo in
+ 	comment.
+ 
+ 2005-04-16  Roger Sayle  <roger@eyesopen.com>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* fold-const.c (fold_binary_to_constant): Delete obsolete comment.
+ 	(fold_unary_to_constant): Likewise.
+ 
+ 2005-04-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Adjust the value of PROP_SCAN_DEAD_STORES,
+ 	PROP_ASM_SCAN.
+ 
+ 2005-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Specific): Avoid using asterisks in @anchor
+ 	names related to target triplets.
+ 	Remove i?86-*-esix from platform directory.
+ 	Remove powerpc-*-eabiaix from platform directory.
+ 
+ 2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR middle-end/20491
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
+ 	falling through from SUBREG case to REG.
+ 
+ 2005-04-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_relational_hi_lo): Delete function and prototype.
+ 	(fold_binary): Update comment mentioning fold_relational_hi_lo.
+ 	(fold_binary_to_constant): Simplify using fold_binary.
+ 	(fold_unary_to_constant): Likewise, simplify using fold_unary.
+ 
+ 2005-04-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* gthr-posix.c (pthread_cancel): Define.
+ 	(pthread_mutexattr_init): Likewise.
+ 	(pthread_mutexattr_settype): Likewise.
+ 	(pthread_mutexattr_destroy): Likewise.
+ 
+ 2005-04-15  David S. Miller  <davem@davemloft.net>
+ 
+ 	PR target/20673
+ 	* config/sparc/sparc.h (sparc_hard_reg_printed): Mark as GTY(()).
+ 
+ 2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21031
+ 	* tree-ssa-forwprop.c (ssa_name_defined_by_comparison_p): New.
+ 	(forward_propagate_into_cond_1): Call it.  Forward propagate
+ 	integer-integer casts into COND_EXPRs.
+ 
+ 2005-04-15  Dave Korn  <dave.korn@artimi.com>
+ 
+ 	* gcc.c (default_compilers): Clarify obscure error message when
+ 	reading from standard input.
+ 
+ 2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h (PROP_EQUAL_NOTES): Remove.
+ 	* flow.c (propagate_one_insn): Don't use PROP_EQUAL_NOTES.
+ 
+ 	* tree-ssa-alias.c (init_alias_info): Remove a call to
+ 	get_stmt_operands.
+ 
+ 2005-04-15  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-vect-analyze.c (vect_stmt_relevant_p): Process immediate uses
+ 	of non-virtual PHI nodes like we use to.
+ 
+ 2005-05-15  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* genattrtab.c (ATTR_EQ_ATTR_P): Remove.
+ 	(attr_copy_rtx): Do not use it.
+ 
+ 2005-04-15  Andrew Macleod  <amacleod@redhat.com>
+ 
+ 	* doc/tree-ssa.texi: Grammer/abbreviation updates.
+ 
+ 2005-04-15  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-vect-transform.c (vectorizable_store): Mark necessary
+ 	objects in the vectorized store needing renaming.  Update the
+ 	SSA graph for V_MAY_DEF operands in the original store.
+ 
+ 2005-04-14  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (compute_avail): It's okay to have
+ 	TREE_INVARIANT's here, and value number the resulting expressions.
+ 	(create_expression_by_pieces): Make sure operands that were
+ 	min_invariant when we started, stay that way.
+ 
+ 2005-04-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* doc/install.texi (*-ibm-aix*): Add comment about system limits.
+ 
+ 2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/20936.
+ 	* tree-ssa-ccp.c (visit_assignment): Fix a typo.
+ 
+ 2005-04-15  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* doc/invoke.texi: Fix typos.
+ 	* doc/md.texi: Likewise.
+ 	* doc/rtl.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 
+ 2005-04-15  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR tree-optimization/21004
+ 	* convert.c (convert_to_integer): Convert ceilf, ceill, floorf
+ 	and floorl in c99 mode only.
+ 	* builtins.c (expand_builtin_int_roundingfn): Assert that
+ 	fallback_fndecl is not NULL_TREE.
+ 
+ 2005-04-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgrtl.c (purge_all_dead_edge): Remove an unused argument.
+ 	* basic-block.h: Update the prototype for
+ 	purge_all_dead_edges.
+ 	* cfgexpand.c (tree_expand_cfg): Update a call to
+ 	purge_all_dead_edges.
+ 	* combine.c (combine_instructions): Likewise.
+ 	* passes.c (rest_of_handle_old_regalloc, rest_of_handle_cse,
+ 	rest_of_handle_cse2, rest_of_handle_gcse,
+ 	rest_of_handle_postreload): likewise.
+ 
+ 2005-04-15  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR middle-end/20739
+ 	* gimplify.c (gimplify_addr_expr): Compensate for removal of
+ 	e.g. cv-qualification conversions.
+ 
+ 2005-04-14  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin-c.c (framework_construct_pathname): We must
+ 	find all headers of a framework in the first instance of it
+ 	found in the seach path.
+ 
+ 2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/21021
+ 	* tree-vrp.c (compare_values): Work around a bug in the front
+ 	end that produces a comparison of mismatched types.
+ 
+ 2004-04-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.h (enum fetchop_code): Remove.
+ 	(enum ia64_builtins): Move ...
+ 	* config/ia64/ia64.c (enum ia64_builtins): ... here.  Remove all
+ 	members except BSP and FLUSHRS.
+ 	(ia64_init_builtins): Remove __sync builtins.
+ 	(ia64_expand_builtin): Likewise.
+ 	(ia64_expand_fetch_and_op, ia64_expand_op_and_fetch): Remove.
+ 	(ia64_expand_compare_and_swap, ia64_expand_lock_test_and_set): Remove.
+ 	(ia64_expand_lock_release): Remove.
+ 	* config/ia64/ia64.md (mf): Move to sync.md.
+ 	(mf_internal, fetchadd_acq_si, fetchadd_acq_di, cmpxchg_acq_si,
+ 	cmpxchg_acq_di, xchgsi, xchgdi): Likewise.
+ 	* config/ia64/sync.md: New file.
+ 	(memory_barrier): Rename from mf.
+ 	(fetchadd_acq_<I48MODE>): Macroize from _si/_di patterns.
+ 	(cmpxchg_acq_<I48MODE>): Likewise.
+ 	(sync_lock_test_and_set<I48MODE>): Likewise.
+ 
+ 	* config/ia64/ia64intrin.h: Define nothing for C; limit #defines
+ 	to c++.  Remove __sync* declarations.  s/_si/_4/.  s/_di/_8/.
+ 
+ 2004-04-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (x86_cmpxchg, x86_xadd): New.
+ 	(ix86_compare_emitted): New.
+ 	(ix86_expand_compare): Use ix86_compare_emitted if set.
+ 	(ix86_expand_setcc): Only emit REG_EQUAL if both ix86_compare_op0
+ 	and ix86_compare_op0 are set.
+ 	* config/i386/i386.h (x86_cmpxchg, x86_xadd): Declare.
+ 	(TARGET_CMPXCHG, TARGET_XADD): New.
+ 	(ix86_compare_emitted): Declare.
+ 	* config/i386/i386.md: Include sync.md
+ 	(UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2): New.
+ 	(UNSPECV_XCHG, UNSPECV_LOCK): New.
+ 	* config/i386/sync.md: New file.
+ 
+ 2004-04-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/14311
+ 	* builtin-types.def (BT_BOOL, BT_VOLATILE_PTR, BT_I1, BT_I2,
+ 	BT_I4, BT_I8, BT_FN_VOID_VPTR, BT_FN_I1_VPTR_I1, BT_FN_I2_VPTR_I2,
+ 	BT_FN_I4_VPTR_I4, BT_FN_I8_VPTR_I8, BT_FN_BOOL_VPTR_I1_I1,
+ 	BT_FN_BOOL_VPTR_I2_I2, BT_FN_BOOL_VPTR_I4_I4, BT_FN_BOOL_VPTR_I8_I8,
+ 	BT_FN_I1_VPTR_I1_I1, BT_FN_I2_VPTR_I2_I2, BT_FN_I4_VPTR_I4_I4,
+ 	BT_FN_I8_VPTR_I8_I8): New.
+ 	* builtins.def (DEF_SYNC_BUILTIN): New.
+ 	(BUILT_IN_FETCH_AND_ADD_N, BUILT_IN_FETCH_AND_ADD_1,
+ 	BUILT_IN_FETCH_AND_ADD_2, BUILT_IN_FETCH_AND_ADD_4,
+ 	BUILT_IN_FETCH_AND_ADD_8, BUILT_IN_FETCH_AND_SUB_N,
+ 	BUILT_IN_FETCH_AND_SUB_1, BUILT_IN_FETCH_AND_SUB_2,
+ 	BUILT_IN_FETCH_AND_SUB_4, BUILT_IN_FETCH_AND_SUB_8,
+ 	BUILT_IN_FETCH_AND_OR_N, BUILT_IN_FETCH_AND_OR_1,
+ 	BUILT_IN_FETCH_AND_OR_2, BUILT_IN_FETCH_AND_OR_4,
+ 	BUILT_IN_FETCH_AND_OR_8, BUILT_IN_FETCH_AND_AND_N,
+ 	BUILT_IN_FETCH_AND_AND_1, BUILT_IN_FETCH_AND_AND_2,
+ 	BUILT_IN_FETCH_AND_AND_4, BUILT_IN_FETCH_AND_AND_8,
+ 	BUILT_IN_FETCH_AND_XOR_N, BUILT_IN_FETCH_AND_XOR_1,
+ 	BUILT_IN_FETCH_AND_XOR_2, BUILT_IN_FETCH_AND_XOR_4,
+ 	BUILT_IN_FETCH_AND_XOR_8, BUILT_IN_FETCH_AND_NAND_N,
+ 	BUILT_IN_FETCH_AND_NAND_1, BUILT_IN_FETCH_AND_NAND_2,
+ 	BUILT_IN_FETCH_AND_NAND_4, BUILT_IN_FETCH_AND_NAND_8,
+ 	BUILT_IN_ADD_AND_FETCH_N, BUILT_IN_ADD_AND_FETCH_1,
+ 	BUILT_IN_ADD_AND_FETCH_2, BUILT_IN_ADD_AND_FETCH_4,
+ 	BUILT_IN_ADD_AND_FETCH_8, BUILT_IN_SUB_AND_FETCH_N,
+ 	BUILT_IN_SUB_AND_FETCH_1, BUILT_IN_SUB_AND_FETCH_2,
+ 	BUILT_IN_SUB_AND_FETCH_4, BUILT_IN_SUB_AND_FETCH_8,
+ 	BUILT_IN_OR_AND_FETCH_N, BUILT_IN_OR_AND_FETCH_1,
+ 	BUILT_IN_OR_AND_FETCH_2, BUILT_IN_OR_AND_FETCH_4,
+ 	BUILT_IN_OR_AND_FETCH_8, BUILT_IN_AND_AND_FETCH_N,
+ 	BUILT_IN_AND_AND_FETCH_1, BUILT_IN_AND_AND_FETCH_2,
+ 	BUILT_IN_AND_AND_FETCH_4, BUILT_IN_AND_AND_FETCH_8,
+ 	BUILT_IN_XOR_AND_FETCH_N, BUILT_IN_XOR_AND_FETCH_1,
+ 	BUILT_IN_XOR_AND_FETCH_2, BUILT_IN_XOR_AND_FETCH_4,
+ 	BUILT_IN_XOR_AND_FETCH_8, BUILT_IN_NAND_AND_FETCH_N,
+ 	BUILT_IN_NAND_AND_FETCH_1, BUILT_IN_NAND_AND_FETCH_2,
+ 	BUILT_IN_NAND_AND_FETCH_4, BUILT_IN_NAND_AND_FETCH_8,
+ 	BUILT_IN_BOOL_COMPARE_AND_SWAP_N, BUILT_IN_BOOL_COMPARE_AND_SWAP_1,
+ 	BUILT_IN_BOOL_COMPARE_AND_SWAP_2, BUILT_IN_BOOL_COMPARE_AND_SWAP_4,
+ 	BUILT_IN_BOOL_COMPARE_AND_SWAP_8, BUILT_IN_VAL_COMPARE_AND_SWAP_N,
+ 	BUILT_IN_VAL_COMPARE_AND_SWAP_1, BUILT_IN_VAL_COMPARE_AND_SWAP_2,
+ 	BUILT_IN_VAL_COMPARE_AND_SWAP_4, BUILT_IN_VAL_COMPARE_AND_SWAP_8,
+ 	BUILT_IN_LOCK_TEST_AND_SET_N, BUILT_IN_LOCK_TEST_AND_SET_1,
+ 	BUILT_IN_LOCK_TEST_AND_SET_2, BUILT_IN_LOCK_TEST_AND_SET_4,
+ 	BUILT_IN_LOCK_TEST_AND_SET_8, BUILT_IN_LOCK_RELEASE_N,
+ 	BUILT_IN_LOCK_RELEASE_1, BUILT_IN_LOCK_RELEASE_2,
+ 	BUILT_IN_LOCK_RELEASE_4, BUILT_IN_LOCK_RELEASE_8,
+ 	BUILT_IN_SYNCHRONIZE: New.
+ 	* builtins.c (called_as_built_in): Rewrite from CALLED_AS_BUILT_IN
+ 	as a function.  Accept __sync_ as a prefix as well.
+ 	(expand_builtin_sync_operation, expand_builtin_compare_and_swap,
+ 	expand_builtin_lock_test_and_set, expand_builtin_synchronize,
+ 	expand_builtin_lock_release): New.
+ 	(expand_builtin): Call them.
+ 	* c-common.c (DEF_BUILTIN): Don't require __builtin_ prefix if
+ 	neither BOTH_P nor FALLBACK_P are defined.
+ 	(builtin_type_for_size): New.
+ 	(sync_resolve_size, sync_resolve_params, sync_resolve_return): New.
+ 	(resolve_overloaded_builtin): New.
+ 	* c-common.h (resolve_overloaded_builtin): Declare.
+ 	(builtin_type_for_size): Declare.
+ 	* c-typeck.c (build_function_call): Invoke resolve_overloaded_builtin.
+ 	* expr.c (sync_add_optab, sync_sub_optab, sync_ior_optab,
+ 	sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab,
+ 	sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab,
+ 	sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab,
+ 	sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab,
+ 	sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap,
+ 	sync_compare_and_swap_cc, sync_lock_test_and_set,
+ 	sync_lock_release): New.
+ 	* optabs.h: Declare them.
+ 	* expr.h (expand_val_compare_and_swap, expand_bool_compare_and_swap,
+ 	expand_sync_operation, expand_sync_fetch_operation,
+ 	expand_sync_lock_test_and_set): Declare.
+ 	* genopinit.c (optabs): Add sync optabs.
+ 	* optabs.c (init_optabs): Initialize sync optabs.
+ 	(expand_val_compare_and_swap_1, expand_val_compare_and_swap,
+ 	expand_bool_compare_and_swap, expand_compare_and_swap_loop,
+ 	expand_sync_operation, expand_sync_fetch_operation,
+ 	expand_sync_lock_test_and_set): New.
+ 	* doc/extend.texi (Atomic Builtins): New section
+ 	* doc/md.texi (Standard Names): Add sync patterns.
+ 
+ 2005-04-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* tree-eh.c (lower_try_finally_copy): Generate new code in
+ 	response to goto_queue entries as if the queue was sorted by
+ 	index, not pointers.
+ 	(lower_try_finally_switch): Likewise.
+ 
+ 2005-04-14  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_sse_cmp): Split out from ...
+ 	(ix86_expand_sse_movcc): ... here.  Take cmp as a pre-computed
+ 	register.
+ 	(ix86_expand_fp_movcc): Update to match.
+ 	(ix86_expand_fp_vcond, ix86_expand_int_vcond): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/sse.md (vcondv4sf, vcondv2df): New.
+ 	(vcond<SSEMODE124>, vcondu<SSEMODE12>): New.
+ 
+ 2005-04-14  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/cpp.texi, doc/install.texi: Change references to GCC 3.5 to
+ 	refer to 4.0.
+ 
+ 2005-04-14  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* Revert elfos.h part of my patch from 2005-04-13 for causing libstdc++
+ 	link failures on ppc64 Linux.
+ 
+ 2005-04-14  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config.gcc: Set cpu_type for s390.
+ 
+ 2005-04-14  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20963
+ 	* tree-ssa-pre.c (compute_avail): Remove special case for
+ 	TREE_INVARIANT.
+ 	(create_expression_by_pieces): Add value numbers for forced out
+ 	statements.
+ 
+ 2005-04-14  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md: Replace references to (reg:SI 16) with
+ 	(reg:SI CRIS_SRP_REGNUM).
+ 
+ 2005-04-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/20657
+ 	* tree-vrp.c (extract_range_from_expr): Notice INTEGER_CST to
+ 	create an appropriate range from it.
+ 
+ 2005-04-14  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST_FLOOR> and
+ 	<UNSPEC_FIST_CEIL> case.
+ 
+ 	* config/i386/i386.md (UNSPEC_FIST_FLOOR, UNSPEC_FIST_CEIL): New.
+ 	(*fist<mode>2_floor_1, fistdi2_floor, fistdi2_floor_with_temp)
+ 	(fist<mode>2_floor, fist<mode>2_floor_with_temp): New isns patterns
+ 	to implement lfloor and llfloor built-ins as x87 intrinsic function.
+ 	(fistdi2_floor, fist<mode>2_floor splitters): New splitters.
+ 	(lfloor<mode>2): New expanders.
+ 	(*fist<mode>2_ceil_1, fistdi2_ceil, fistdi2_ceil_with_temp)
+ 	(fist<mode>2_ceil, fist<mode>2_ceil_with_temp): New isns patterns
+ 	to implement lceil and llceil built-ins as x87 intrinsic function.
+ 	(fistdi2_ceil, fist<mode>2_ceil splitters): New splitters.
+ 	(lceil<mode>2): New expanders.
+ 
+ 2005-04-14  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* convert.c (convert_to_integer): Convert (long int)trunc{,f,l},
+ 	and (long long int)ceil{,f,l} into FIX_TRUNC_EXPR.
+ 
+ 2005-04-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/20927
+ 	* config/s390/s390-modes.def: Define TFmode.
+ 
+ 2005-04-13  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
+ 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+ 	* config/mips/mips.c (mips16_insn_length): Remove reference to
+ 	JUMP_TABLES_IN_TEXT_SECTION.
+ 
+ 2005-04-13 Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation_1): Return
+ 	scalar or vector of constant 0, depending on the xor's
+ 	mode.
+ 
+ 2005-04-13  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* objc/Make-lang.in (objc-lang.o):  Depend on tree-gimple.h.
+ 	(objc-act.o):  Ditto.
+ 	* objc/objc-act.c (objc_gimplify_expr):  New.
+ 	(objc_get_callee_fndecl):  New.
+ 	* objc/objc-act.h:  Include tree-gimple.h.  Declare new functions.
+ 	* objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR):  Define.
+ 	(LANG_HOOKS_GET_CALLEE_FNDECL):  Define.
+ 
+ 2005-04-13  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (tree_if_convert_cond_expr): Do not create extra
+ 	temp variables.
+ 
+ 2005-04-13  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	CRIS prologue as RTL.
+ 	* config/cris/cris-protos.h (cris_emit_movem_store)
+ 	(cris_expand_prologue): Prototype.
+ 	* config/cris/cris.c (struct machine_function): New member
+ 	stdarg_regs.
+ 	(cfa_label_num, cris_target_asm_function_prologue): Remove.
+ 	(TARGET_ASM_FUNCTION_PROLOGUE): Don't override.
+ 	(cris_general_operand_or_gotless_symbol): Accept CRIS_UNSPEC_GOT.
+ 	(cris_load_multiple_op, cris_return_address_on_stack)
+ 	(cris_return_address_on_stack_for_return): ISO-Cify.
+ 	(cris_store_multiple_op): New predicate function.
+ 	(cris_expand_prologue, cris_emit_movem_store): New functions.
+ 	(cris_print_operand) <case 'O'>: Handle modifications other than
+ 	post-increment.
+ 	(cris_symbol, cris_got_symbol): Return 0 for CRIS_UNSPEC_GOT.
+ 	(cris_gotless_symbol): Return 1 for CRIS_UNSPEC_GOT.
+ 	(cris_gen_movem_load): Rearrange slightly to make local variable
+ 	src a parameter, removing osrc.
+ 	(cris_setup_incoming_varargs): Set machine_function member
+ 	stdarg_regs to correspond to the number of registers that need to
+ 	be saved.
+ 	* config/cris/cris.h (EXTRA_CONSTRAINT_S): Accept
+ 	CRIS_UNSPEC_GOT.
+ 	(PREDICATE_CODES): Add cris_store_multiple_op.  Make
+ 	cris_general_operand_or_gotless_symbol accept UNSPEC.
+ 	* config/cris/cris.md (CRIS_UNSPEC_GOT): New constant.
+ 	("*movsi_internal") <alternative 8>: Handle CRIS_UNSPEC_GOT.
+ 	("*cris_store_multiple"): New pattern.  Tweak common comment above
+ 	this and "*cris_load_multiple".
+ 	("prologue"): New define_expand.
+ 
+ 	* config/cris/cris.md ("epilogue"): Conditionalize on
+ 	TARGET_PROLOGUE_EPILOGUE.
+ 
+ 2005-04-13  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	PR target/20924
+ 	* config/ia64/ia64.md (divsf3_internal_lat): Generate frcpa with
+ 	fpsr 0 instead of fpsr 1.
+ 	(divsf3_internal_thr): Ditto.
+ 	(divdf3_internal_lat): Ditto.
+ 	(divdf3_internal_thr): Ditto.
+ 	(divxf3_internal_lat): Ditto.
+ 	(divxf3_internal_thr): Ditto.
+ 
+ 2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/20913
+ 	* tree-ssa-copy.c (copy_prop_visit_cond_stmt): Fold COND_EXPR.
+ 
+ 	PR tree-optimization/20702
+ 	* tree-vrp.c (maybe_add_assert_expr): Recurse into
+ 	dominator children that haven't been walked into.
+ 
+ 2005-04-13  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK from
+ 	being used for symbols with vague linkage when HAVE_GAS_COMDAT_GROUP
+ 	is true.
+ 
+ 2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h, tree-ssa-uncprop.c, varasm.c,
+ 	config/i386/sse.md: Fix comment typos.
+ 
+ 	* genattrtab.c (NULL_ATTR): Remove.
+ 	* ifcvt.c (NULL_EDGE): Likewise.
+ 
+ 	* rtl.h (RTX_EXPR_FIRST, RTX_EXPR_LAST): Remove.
+ 
+ 	* rtl.h (NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS,
+ 	NOTE_PREDICT): Remove.
+ 
+ 2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* configure.ac (gcc_AC_CHECK_DECLS): Add vsnprintf.
+ 	* configure: Regenerate.
+ 	* config.in: Likewise.
+ 	* system.h: Declare vsnprintf if not already declared.
+ 
+ 2005-04-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* optc-gen.awk: Handle stand-alone Mask records.
+ 	* opth-gen.awk: Likewise.
+ 	* doc/options.texi (Option file format): Document them.
+ 	* config.gcc (sparc-*-netbsdelf*, sparc-*-linux*, sparc64-*-freebsd*,
+ 	sparc64-*-linux*, sparc64-*-netbsd*): Add long-double-switch.opt.
+ 	(sparc64-*-openbsd*, sparc64-*-elf*): Add little-endian.opt.
+ 	* config/sparc/sparc.h (MASK_FPU, MASK_UNALIGNED_DOUBLES,
+ 	MASK_V8, MASK_SPARCLITE, MASK_SPARCLET, MASK_V9,
+ 	MASK_DEPRECATED_V8_INSNS, MASK_IMPURE_TEXT, MASK_APP_REGS,
+ 	MASK_HARD_QUAD, MASK_LITTLE_ENDIAN, MASK_PTR64, MASK_64BIT,
+ 	MASK_STACK_BIAS, MASK_FPU_SET, MASK_VIS, MASK_V8PLUS,
+ 	MASK_FASTER_STRUCTS, MASK_LONG_DOUBLE_128): Delete.
+ 	(TARGET_FPU, TARGET_UNALIGNED_DOUBLES, TARGET_V8, TARGET_SPARCLITE,
+ 	TARGET_SPARCLET, TARGET_V9, TARGET_DEPRECATED_V8_INSNS,
+ 	TARGET_IMPURE_TEXT, TARGET_APP_REGS, MASK_HARD_QUAD,
+ 	TARGET_LITTLE_ENDIAN, TARGET_PTR64, TARGET_64BIT, MASK_STACK_BIAS,
+ 	TARGET_FPU_SET, TARGET_VIS, TARGET_V8PLUS, TARGET_FASTER_STRUCTS,
+ 	TARGET_LONG_DOUBLE_128): Likewise.
+ 	(TARGET_SWITCHES, SUBTARGET_SWITCHES): Likewise.
+ 	(TARGET_OPTIONS, SUBTARGET_OPTIONS): Likewise.
+ 	* config/sparc/freebsd.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/linux.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/linux64.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/netbsd-elf.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
+ 	* config/sparc/sparc.c (fpu_option_set): New global.
+ 	(sparc_handle_option): New function.
+ 	(sparc_override_options): Test fpu_option_set.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): Set to TARGET_DEFAULT.
+ 	(TARGET_HANDLE_OPTION): Set to sparc_handle_option.
+ 	* config/sparc/sparc.opt: New file.
+ 	* config/sparc/little-endian.opt: Likewise.
+ 	* config/sparc/long-double-switch.opt: Likewise.
+ 
+ 2005-04-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (bfin_lib_id_given): New static variable.
+ 	(bfin_handle_options): Set it if -mshared-library-id= is seen.
+ 	* config/bfin/bfin.opt (mshared-library-id=): Lose
+ 	Var(bfin_lib_id_given).
+ 
+ 2005-04-13  Matt Thomas  <matt@3am-software.com>
+ 
+ 	* config/rs6000/sysv4.h (NO_IMPLICIT_EXTERN_C): undefine before
+ 	defining.
+ 
+ 2005-04-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* rtl.h (CLEAR_RTX_FLAGS): Remove.
+ 
+ 	* cgraphunit.c (INSNS_PER_CALL): Remove.
+ 
+ 	* tree-ssa-forwprop.c (vars,
+ 	record_single_argument_cond_exprs,
+ 	substitute_single_use_vars): Remove.
+ 	(forward_propagate_into_cond_1, forward_propagate_into_cond):
+ 	New.
+ 	(tree_ssa_forward_propagate_single_use_vars): Call
+ 	forward_propagate_into_cond for each COND_EXPR.
+ 
+ 	* tree-inline.c (INSNS_PER_STMT): Remove.
+ 
+ 2005-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Split ...
+ 	(ix86_expand_sse_fp_minmax): ... from ...
+ 	(ix86_expand_fp_movcc): ... here.
+ 	(ix86_expand_sse_movcc): Rewrite from ix86_split_sse_movcc.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (UNSPEC_IEEE_MIN, UNSPEC_IEEE_MAX): New.
+ 	(sse_setccsf, sse_setccdf): Allow before reload.
+ 	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): Remove.
+ 	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): Remove.
+ 	(ieee_sminsf3, ieee_smaxsf3, ieee_smindf3, ieee_smaxdf3): New.
+ 	* config/i386/sse.md (andsf3, nandsf3, iorsf3, xorsf3): New.
+ 	(anddf3, nanddf3, iordf3, xordf3): New.
+ 
+ 2005-04-12  Jeff Law  <law@redhat.com>
+ 
+ 	* Makefile.in (OBJS-common): Add tree-ssa-uncprop.o.
+ 	(tree-ssa-uncprop.o): Add dependencies.
+ 	* tree-cfg.c (remove_useless_stmts_bb, remove_useless_stmts): Remove.
+ 	* tree-flow.h (remove_useless_stmts): Remove prototype.
+ 	* tree-outof-ssa.c (rewrite_out_of_ssa): Remove call to
+ 	remove_useless_stmts.
+ 	* timevar.def (TV_TREE_SSA_UNCPROP): New timevar.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add uncprop pass.
+ 	* tree-pass.h (pass_uncprop): Declare.
+ 	* tree-ssa-uncprop.c: New file.
+ 
+ 2005-04-12  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/20670
+ 	* unwind-ia64.c (uw_intall_context): Add missing load of r27.
+ 
+ 2005-04-12  Caroline Tice  <ctice@apple.com>
+ 
+ 	Temporary fix for partitioning problems.
+ 	* passes.c (rest_of_handle_final): Remove code that
+ 	frees unlikely_text_section_name,
+ 	* varasm.c (assemble_start_function): Test for partitioning
+ 	flag before writing out section labels.
+ 	(assemble_end_function): Test for partitioning flag before
+ 	writing out section labels.
+ 
+ 2005-04-12  Steven Bosscher  <stevenb@suse.de>
+ 	    Stuart Hastings <stuart@apple.com>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* Makefile.in: Add function.h to BASIC_BLOCK_H.  Remove all
+ 	references to gt-tree-cfg.h.
+ 	* basic-block.h (struct basic_block_def): Don't skip rbi
+ 	for garbage collection.
+ 	(struct reorder_block_def): Make GTY-able.
+ 	(struct control_flow_graph): New structure.
+ 	(n_edges, n_basic_blocks, last_basic_block, basic_block_info,
+ 	BASIC_BLOCK, EXIT_BLOCK_PTR, ENTRY_BLOCK_PTR): No longer vars,
+ 	but instead defines to the control_flow_graph for cfun.
+ 	(label_to_block_map): New define, points to the label map of
+ 	the control_flow_graph for cfun.
+ 	(n_edges_for_function, n_basic_blocks_for_function,
+ 	last_basic_block_for_function, basic_block_info_for_function,
+ 	EXIT_BLOCK_PTR_FOR_FUNCTION, ENTRY_BLOCK_PTR_FOR_FUNCTION,
+ 	basic_block_info_for_function, label_to_block_map_for_function):
+ 	Counterparts for the above, taking a struct function as an extra
+ 	argument.
+ 	(alloc_rbi_pool, free_rbi_pool): Remove prototypes.
+ 	* cfg.c: (n_edges, n_basic_blocks, last_basic_block,
+ 	basic_block_info, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Remove.
+ 	(alloc_rbi_pool, free_rbi_pool): Remove.
+ 	(initialize_bb_rbi): Use ggc_alloc_cleared instead of pool_alloc.
+ 	* cfglayout.c: (cfg_layout_initialize): Don't allocate the rbi pool
+ 	here...
+ 	(cfg_layout_finalize) ... and don't free it here.
+ 	* cfgrtl.c (cfg_layout_delete_block): Zero out rbi so it gets
+ 	garbage collected.
+ 	* flow.c (free_basic_block_vars): Set label_to_block_map and
+ 	n_edges to zero too.
+ 	* function.h (struct function): Add cfg field.
+ 	* function.c (allocate_struct_function): Allocate the cfg.
+ 	* tree-cfg.c (label_to_block_map): Remove.
+ 	(build_tree_cfg): Don't allocate the rbi pool here...
+ 	(delete_tree_cfg_annotations): ...and don't free it here.
+ 	Also don't nullify label_to_block_map for cfun.
+ 
+ 2005-04-12  Caroline Tice  <ctice@apple.com>
+ 
+ 	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ 	Revert my patch from April 9.
+ 	(fix_edges_for_rarely_executed_code): Revert my patch from April 9.
+ 	(reorder_basic_blocks): Revert my patch from April 9.
+ 	(insert_section_boundary_note): Revert my patch from April 9.
+ 	* dbxout.c (dbxout_function_end): Revert my patch from April 9.
+ 	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): Revert my patch from April 9.
+ 	(COLD_END_LABEL):  Revert my patch from April 9.
+ 	(cold_text_section_label):  Revert my patch from April 9.
+ 	(cold_end_label): Revert my patch from April 9.
+ 	(dwarf2out_switch_text_section): Revert my patch from April 9.
+ 	(output_aranges): Revert my patch from April 9.
+ 	(output_ranges):  Revert my patch from April 9.
+ 	(output_line_info): Revert my patch from April 9.
+ 	(add_location_or_const_value_attribute):  Revert my patch from April 9.
+ 	(dwarf2out_var_location): Revert my patch from April 9.
+ 	(dwarf2out_init):  Revert my patch from April 9.
+ 	(dwarf2out_finish): Revert my patch from April 9.
+ 	* function.h (struct function): Revert my patch from April 9.
+ 	* opts.c (decode_options): Revert my patch from April 9.
+ 	* output.h (unlikely_section_label, hot_section_label,
+ 	hot_section_end_label, cold_section_end_label,
+ 	unlikely_text_section_name): Revert my patch from April 9.
+ 	* passes.c (rest_of_handle_final): Revert my patch from April 9.
+ 	* varasm.c (unlikely_section_label, hot_section_label,
+ 	hot_section_end_label, cold_section_end_label,
+ 	unlikely_text_section_name): Revert my patch from April 9.
+ 	(initialize_cold_section_name): Revert my patch from April 9.
+ 	(unlikely_text_section): Revert my patch from April 9.
+ 	(in_unlikely_text_section): Revert my patch from April 9.
+ 	(named_section): Revert my patch from April 9.
+ 	(function_section): Revert my patch from April 9.
+ 	(current_function_section): Revert my patch from April 9.
+ 	(assemble_start_function): Revert my patch from April 9.
+ 	(assemble_end_function): Revert my patch from April 9.
+ 	(default_section_type_flags_1): Revert my patch from April 9.
+ 
+ 2005-04-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.h (APPLY_RESULT_SIZE): Set to 24 in 64-bit mode.
+ 	* config/sparc/sparc.md (untyped_call): Save the registers manually.
+ 
+ 	* config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
+ 
+ 2005-04-12  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR middle-end/20917
+ 	* config/s390/s390.md ("*set_tp"): Use SET in pattern.
+ 	("set_tp_64", "set_tp_31"): Adapt expanded pattern.
+ 
+ 2004-04-12  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (UNSPEC_FIX, UNSPEC_MOVA, UNSPEC_SHUFFLE,
+ 	UNSPEC_PSHUFLW, UNSPEC_PSHUFHW, UNSPEC_ADDSUB, UNSPEC_HADD,
+ 	UNSPEC_HSUB, UNSPEC_MOVSHDUP, UNSPEC_MOVSLDUP, UNSPEC_MOVDDUP): Remove.
+ 	(UNSPEC_*, UNSPECV_*): Renumber.
+ 
+ 2005-04-12  Frank Ch. Eigler  <fche@redhat.com>
+ 
+ 	PR mudflap/19266
+ 	From Richard Henderson <rth@redhat.com>:
+ 	* tree-mudflap.c (mf_build_check_statement_for): Correct block
+ 	splitting logic.
+ 
+ 2005-04-12  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-cfg.c (tree_verify_flow_info): Use LABEL_EXPR_LABEL.
+ 
+ 2005-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin.c (bfin_library_id_string): Remove.
+ 	(bfin_library_id): New variable.
+ 	(bfin_expand_prologue): Use bfin_library_id and bfin_lib_id_given
+ 	instead of bfin_library_id_string.
+ 	(bfin_handle_option): New function.
+ 	(override_options): Remove most code to deal with shared library IDs,
+ 	just check they aren't used without -mid-shared-library.
+ 	(TARGET_HANDLE_OPTION): Define.
+ 	* config/bfin/bfin.h (TARGET_OPTIONS): Delete macro.
+ 	* config/bfin/bfin.opt (mshared-library-id=): New.
+ 
+ 2005-04-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vect-transform.c: Fix comment typos.
+ 
+ 2005-04-12 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* postreload-gcse.c (eliminate_partially_redundant_load): Don't
+ 	split critical edges when not possible/profitable.
+ 
+ 2005-04-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/ns32k/ns32k.h (target_flags, MASK_32081, MASK_RTD)
+ 	(MASK_REGPARM, MASK_32532, MASK_32332, MASK_NO_SB, MASK_NO_BITFIELD)
+ 	(MASK_HIMEM, MASK_32381, MASK_MULT_ADD, MASK_SRC, MASK_IEEE_COMPARE)
+ 	(TARGET_32081, TARGET_32381, TARGET_MULT_ADD, TARGET_RTD)
+ 	(TARGET_REGPARM, TARGET_32532, TARGET_32332, TARGET_SB, TARGET_HIMEM)
+ 	(TARGET_BITFIELD, TARGET_IEEE_COMPARE, TARGET_SWITCHES): Delete.
+ 	(OVERRIDE_OPTIONS): Clear MASK_SB instead of setting MASK_NO_SB.
+ 	* config/ns32k/netbsd.h (TARGET_DEFAULT): Remove MASK_NO_SB and
+ 	MASK_NO_BITFIELD.
+ 	* config/ns32k/ns32k.c (ns32k_handle_option): New function.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	* config/ns32k/ns32k.opt: New file.
+ 
+ 2005-04-12  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (m68k-*-linux*): Add m68k/ieee.opt to $extra_options.
+ 	* config/m68k/m68k.h (target_flags, MASK_68020, TARGET_68020)
+ 	(MASK_68030, TARGET_68030, MASK_68040, TARGET_68040, MASK_68040_ONLY)
+ 	(TARGET_68040_ONLY, MASK_68060, TARGET_68060, MASK_5200, TARGET_5200)
+ 	(MASK_CFV3, TARGET_CFV3, MASK_CFV4, TARGET_CFV4, MASK_528x)
+ 	(TARGET_528x, MASK_CF_HWDIV, TARGET_CF_HWDIV, MASK_68881, TARGET_68881)
+ 	(MASK_BITFIELD, TARGET_BITFIELD, MASK_SHORT, TARGET_SHORT)
+ 	(MASK_ALIGN_INT, TARGET_ALIGN_INT, MASK_PCREL, TARGET_PCREL)
+ 	(MASK_NO_STRICT_ALIGNMENT, TARGET_STRICT_ALIGNMENT, MASK_RTD)
+ 	(TARGET_RTD, MASK_SEP_DATA, TARGET_SEP_DATA, MASK_ID_SHARED_LIBRARY)
+ 	(TARGET_ID_SHARED_LIBRARY, MASK_ALL_CF_BITS, TARGET_SWITCHES)
+ 	(TARGET_OPTIONS, SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Delete.
+ 	(MASK_COLDFIRE): Formatting fixes.
+ 	(TARGET_COLDFIRE): Turn into a boolean value for consistency.
+ 	* config/m68k/linux.h (SUBTARGET_SWITCHES): Delete.
+ 	* config/m68k/m68k.c (m68k_library_id_string): Initialize to
+ 	"_current_shared_library_a5_offset_".
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(MASK_ALL_CPU_BITS): New macro.
+ 	(m68k_handle_option): New function.
+ 	(override_options): Remove handling of m68k_library_id_string.
+ 	* config/m68k/m68k.opt: New file.
+ 	* config/m68k/ieee.opt: New file.
+ 
+ 2005-04-11  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* target-def.h (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ 	(TARGET_CXX_DETERMINE_CLASS_VISIBILITY): New macro.
+ 	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ 	(TARGET_CXX): Adjust accordingly.
+ 	* target.h (struct gcc_target): Remove epxort_class_data.  Add
+ 	determine_class_data_visibility and class_data_always_comdat.
+ 	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ 	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Document.
+ 	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ 	* config/arm/arm.c (arm_cxx_export_class_data): Remove.
+ 	(arm_cxx_determine_class_data_visibility): New.
+ 	(arm_cxx_class_data_always_comdat): Likewise.
+ 	(TARGET_CXX_EXPORT_CLASS_DATA): Remove.
+ 	(TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY): Define.
+ 	(TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT): Likewise.
+ 	* config/arm/arm.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P): Define.
+ 	* config/arm/symbian.h (TARGET_ARM_DYNAMIC_VAGUE_LINKAGE_P):
+ 	Define.
+ 
+ 2005-04-11  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-data-ref.c (build_classic_dist_vector,
+ 	compute_subscript_distance): Make externally visible.
+ 	* tree-data-ref.h (build_classic_dist_vector,
+ 	compute_subscript_distance): Same.
+ 	* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
+ 	Check distance vector against vectorization factor.
+ 	(vect_analyze_loop): Determine vectorizaion factor before
+ 	analyzing data dependences.
+ 	* tree-vectorizer.c (loops_num): Make it externally visible and
+ 	rename ...
+ 	* tree-vectorizer.c (vect_loops_num): ... new name.
+ 	* tree-vectorizer.h  (vect_loops_num): New.
+ 
+ 2005-04-11  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-vect-analyze.c (vect_analyze_operations): Check
+ 	vectorizable codition.
+ 	* tree-vect-transform.c (vect_is_simple_cond): New function.
+ 	(vectorizable_condition): New function.
+ 	(vect_transform_stmt): Handle condition_vec_info_type.
+ 	* tree-vectorizer.h (enum stmt_vec_info_type): Add
+ 	condition_vec_info_type.
+ 	(vectorizable_condition): New.
+ 
+ 2005-04-11  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/i386/i386.h (TARGET_FPMATH_DEFAULT): New.
+ 	* config/i386/darwin.h (TARGET_FPMATH_DEFAULT): New.
+ 	* config/i386/i386.c (override_options): Use TARGET_FPMATH_DEFAULT.
+ 
+ 	* config/i386/darwin.h (ASM_SPEC): Use -arch i386 not -arch i686.
+ 	(SUBTARGET_EXTRA_SPECS): Always 'i386'.
+ 
+ 	* dwarf2out.c (output_line_info): Don't try to dereference
+ 	a NULL current_function_decl.
+ 
+ 	* config/t-slibgcc-darwin: Don't put shared libraries in
+ 	directories other than $(slibdir).
+ 	* config/rs6000/darwin.h: Find -m64 libgcc under the name the
+ 	OS uses for it.
+ 
+ 2005-04-11  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/20933
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Move
+ 	logic to reject aliases between read-only and writable
+ 	variables ...
+ 	(may_alias_p): ... here.
+ 	(get_tmt_for): Do not associate read-only tags to pointers
+ 	whose pointed-to type is not read-only.
+ 	* tree-ssa.c (verify_ssa): Check that memory stores have at
+ 	least one V_MAY_DEF or V_MUST_DEF.
+ 
+ 2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	PR/17092
+ 	* configure.ac (gcc_UNLOCKED_FUNCS): New.
+ 	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
+ 	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
+ 	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
+ 	_unlocked function.
+ 	(fwrite_unlocked): Fix prototype.
+ 
+ 	* configure, config.in: Regenerate.
+ 
+ 2005-04-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* tree-ssa-loop-im.c: Include real.h.
+ 	(determine_invariantness_stmt): If real division divisor is
+ 	invariant and flag_unsafe_math_optimizations enabled, generate
+ 	invariant reciprocal for hoisting.
+ 	* Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.
+ 
+ 2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20926
+ 
+ 	* tree-ssa-alias.c (add_type_alias): Handle subvars.
+ 
+ 2005-04-11  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
+ 	operand ordering.
+ 
+ 2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg):
+ 	use fold_buildN instead of "fold (buildN" in some
+ 	non obvious places.
+ 	(fold_unary): Likewise.
+ 	(fold_binary): Likewise.
+ 
+ 2005-04-11  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20612
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
+ 	handling
+ 	(perfect_nestify): preheaderbb is *not* part of loop of the
+ 	old destination.
+ 
+ 2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-ssa-alias.c (may_alias_p): If the variable
+ 	is a global variable and the pointer is parameter
+ 	and -fargument-noalias-global is used, then
+ 	the pointer cannot alias the variable.
+ 
+ 2005-04-11  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.
+ 	* config/sparc/sparc.h: Likewise.
+ 	* config/sparc/sparc.md: Likewise.
+ 
+ 2005-04-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vrp.c (maybe_add_assert_expr): Move a comment.
+ 
+ 	* tree-vrp.c: Fix a comment typo.
+ 
+ 2005-04-11  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/20920
+ 	* tree-pretty-print.c (dump_generic_node): Show '(ab)' if an
+ 	SSA_NAME flows through an abnormal edge.
+ 	* tree-vrp.c (infer_value_range): Ignore SSA names that flow
+ 	through abnormal edges.
+ 	(maybe_add_assert_expr): Likewise.
+ 
+ 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/s390/s390.h (s390_tune_string, s390_arch_string)
+ 	(s390_warn_framesize_string, s390_warn_dynamicstack_string)
+ 	(s390_stack_size_string, s390_stack_guard_string, target_flags)
+ 	(MASK_HARD_FLOAT, MASK_SMALL_EXEC, MASK_DEBUG_ARG, MASK_64BIT)
+ 	(MASK_ZARCH, MASK_MVCLE, MASK_TPF_PROFILING, MASK_NO_FUSED_MADD)
+ 	(MASK_BACKCHAIN, MASK_PACKED_STACK, TARGET_HARD_FLOAT)
+ 	(TARGET_SOFT_FLOAT, TARGET_SMALL_EXEC, TARGET_DEBUG_ARG)
+ 	(TARGET_64BIT, TARGET_ZARCH, TARGET_MVCLE, TARGET_TPF_PROFILING)
+ 	(TARGET_NO_FUSED_MADD, TARGET_FUSED_MADD, TARGET_BACKCHAIN)
+ 	(TARGET_PACKED_STACK, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
+ 	* config/s390/s390.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
+ 	(TARGET_HANDLE_OPTION): Likewise.
+ 	(s390_tune): Initialize to PROCESSOR_max.
+ 	(s390_arch_string): Make static.
+ 	(s390_tune_string, s390_warn_framesize_string): Delete.
+ 	(s390_warn_dynamicstack_string, s390_stack_size_string): Delete.
+ 	(s390_stack_guard_string, s390_warn_dynamicstack_p): Delete.
+ 	(s390_handle_arch_option, s390_handle_option): New functions.
+ 	(override_options): Remove parsing of option strings.
+ 	* config/s390/s390.opt: New file.
+ 
+ 2005-04-11  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-complex.c (expand_vector_operations): Call
+ 	update_stmt_if_modified.
+ 
+ 2005-04-11  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* tree-vect-analyze (vect_determine_vectorization_factor):
+ 	Do not use GET_MODE_NUNITS.
+ 	* tree-vect-transform.c (vect_get_vec_def_for_operand,
+ 	(vectorizable_load, vect_transform_loop): Likewise.
+ 
+ 2005-04-11  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
+ 	(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
+ 	* optabs.h (enum optab_index): Add new OTI_lceil.
+ 	(lceil_optab): Define corresponding macro.
+ 	* optabs.c (init_optabs): Initialize lceil_optab.
+ 	* genopinit.c (optabs): Implement lceil_optab using lceilsi2
+ 	and lceildi2 patterns.
+ 	* builtins.c (expand_builtin_int_roundingfn): Handle
+ 	BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
+ 	(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
+ 	BUILT_IN_LLCEIL{,F,L}.
+ 	(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
+ 	BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
+ 	(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
+ 	(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
+ 	BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.
+ 	* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
+ 	into lceil built-in function and (long long int)ceil{,f,l} into
+ 	llceil built-in function.
+ 	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
+ 	BUILT_IN_LLCEIL.
+ 
+ 2005-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
+ 	zero.
+ 
+ 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/arm/arm.c: Fix a comment typo.
+ 	* doc/tree-ssa.texi: Fix a typo.
+ 
+ 2005-04-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cselib.c (clear_table): Rename to cselib_clear_table.
+ 	* cselib.h (cselib_clear_table): Add prototype.
+ 	* gcse.c (gcse_main): Make 'f' argument unused.
+ 	(alloc_gcse_mem): Do not walk the insn chain, walk the contents
+ 	of each basic block instead.
+ 	(compute_sets, compute_hash_table_work): Likewise.
+ 	(constprop_register): Change int 'alter_jumps' argument to bool.
+ 	(do_local_cprop): Likewise.
+ 	(local_cprop_pass): Likewise.  Also walk basic blocks instead of
+ 	the insn chain.  Explicitly clear the cselib tables after finishing
+ 	one basic block.  Make sure there are no unterminated libcall blocks.
+ 	Update compute_sets call.
+ 	(cprop): Walk basic blocks instead of the insn chain.
+ 	(one_cprop_pass, compute_ld_motion_mems, compute_store_table):
+ 	Likewise.
+ 	(bypass_jumps): Update alloc_gcse_mem, compute_sets, and
+ 	one_cprop_pass calls.
+ 
+ 2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* combine.c (combine_simplify_rtx): Remove a transformation that
+ 	relies on an invalid assumption about rtl sign-extension semantics.
+ 
+ 2005-04-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
+ 	to build_int_cst_wide.
+ 
+ 2005-04-09  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR target/20126
+ 	* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
+ 	set the original address pseudo to the correct value before the
+ 	original insn, if possible, and leave the insn alone, otherwise
+ 	create a new pseudo, set it and replace it in the insn.
+ 	* recog.c (validate_change_maybe_volatile): New.
+ 	* recog.h (validate_change_maybe_volatile): Declare.
+ 
+ 2005-04-09  Caroline Tice  <ctice@apple.com>
+ 
+ 	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ 	Remove targetm.have_named_sections test.
+ 	(fix_edges_for_rarely_executed_code): Likewise.
+ 	(insert_section_boundary_note): Likewise.
+ 	(reorder_basic_blocks): Check partitioning flag before calling
+ 	verify_hot_cold_block_grouping.
+ 	* dbxout.c (dbxout_function_end): Get hot/cold section labels from
+ 	the function struct rather than global variables.
+ 	* dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
+ 	(COLD_END_LABEL): Likewise
+ 	(cold_text_section_label): New static global variable.
+ 	(cold_end_label): Likewise.
+ 	(dwarf2out_switch_text_section): Get hot/cold section labels from
+ 	the function struct rather than global variables.
+ 	(output_aranges): Use cold_text_section_label and cold_end_label;
+ 	check partitioning flag before putting out delta.
+ 	(output_ranges): Remove incorrect code attempting to use
+ 	hot/cold labels.
+ 	(output_line_info): Get cold section label from function struct.
+ 	(add_location_or_const_value_attribute): Likewise.
+ 	(get_subprogram_die): Get hot/cold section labels from function struct.
+ 	(dwarf2out_var_location): Likewise.
+ 	(dwarf2out_init): Generate cold_text_section_label and cold_end_label;
+ 	write out cold_text_section_label if partition flag is set.
+ 	(dwarf2out_finish): Write out cold_end_label if partition flag is set;
+ 	* function.h (struct function): Add new fields to point to hot/cold
+ 	section labels: hot_section_label, cold_section_label,
+ 	hot_section_end_label and cold_section_end_label; also add new field
+ 	for cold text section name, unlikely_text_section_name.
+ 	* opts.c (decode_options): Turn off partitioning flag if
+ 	!targetm.have_named_sections.
+ 	* output.h (hot_section_label): Remove.
+ 	(hot_section_end_label): Remove.
+ 	(cold_section_end_label): Remove.
+ 	(unlikely_section_label): Remove.
+ 	(unlikely_text_section_name): Remove.
+ 	* passes.c (rest_of_handle_final):  Remove code that frees
+ 	unlikely_text_section_name.
+ 	* varasm.c (unlikely_section_label): Remove.
+ 	(hot_section_label): Remove.
+ 	(hot_section_end_label): Remove.
+ 	(cold_section_end_label): Remove.
+ 	(unlikely_text_section_name):  Remove.
+ 	(initialize_cold_section_name): Modify to call
+ 	targetm.strip_name_encoding; to store cold section name in current
+ 	function struct, if it exists; and to only use the decl_section_name
+ 	if flag_named_sections is true.
+ 	(unlikely_text_section): Modify to get section name out of current
+ 	function struct, if there is one; otherwise build it from
+ 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
+ 	(in_unlikely_text_section): Likewise.
+ 	(named_section): Modify to get/put cold section name in current function
+ 	struct, if there is one.
+ 	(function_section):  Change 'bool unlikely' to 'int reloc'; check
+ 	targetm.have_named_sections before calling named_section.
+ 	(current_function_section): Likewise.
+ 	(assemble_start_function): Modify to get/put unlikely_text_section_name
+ 	in current function struct; modify to get hot/cold section labels
+ 	from function struct; initialize labels using
+ 	ASM_GENERATE_INTERNAL_LABEL;
+ 	test partitioning flag before writing out hot section label.
+ 	(assemble_end_function): Test partitioning flag before writing out
+ 	hot/cold section labels.
+ 	(default_section_type_flags_1):  Modify to use array instead of
+ 	 char* for unlikely_text_section_name; set flags correctly for
+ 	 cold text section if there is not a current function decl.
+ 
+ 2005-04-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
+ 	and TI_VA_LIST_FPR_COUNTER_FIELD.
+ 	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
+ 	* tree-pass.h (pass_stdarg): Add.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
+ 	* tree-stdarg.c: New file.
+ 	* tree-stdarg.h: New file.
+ 	* Makefile.in (OBJS-common): Add tree-stdarg.o.
+ 	(tree-stdarg.o): Add dependencies.
+ 	* function.h (struct function): Add va_list_gpr_size and
+ 	va_list_fpr_size fields.
+ 	* function.c (allocate_struct_function): Initialize them.
+ 	* target.h (struct gcc_target): Add stdarg_optimize_hook.
+ 	* target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define.
+ 	(TARGET_INITIALIZER): Add it.
+ 
+ 	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(ix86_setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(ix86_va_start): Don't set up fields that won't be used.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
+ 	va_list_{g,f}pr_counter_field.
+ 	(setup_incoming_varargs): Don't do anything if reg_save
+ 	area will not be used.  Only save registers that tree-stdarg.c
+ 	detected they need saving.
+ 	(rs6000_va_start): Don't set up fields that won't be used.
+ 
+ 	* config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h.
+ 	(alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field.
+ 	(va_list_skip_additions, alpha_stdarg_optimize_hook): New functions.
+ 	(TARGET_STDARG_OPTIMIZE_HOOK): Define.
+ 
+ 2005-04-09  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/20795
+ 	* config/i386/i386.c (construct_container): Pass empty aligned
+ 	struct, union or class in memory.
+ 
+ 2005-04-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dominance.c, gthr-win32.h, reg-stack.c, tree-ssa-copy.c,
+ 	tree-ssa-operands.c, tree-ssa.c, tree-vrp.c, varasm.c,
+ 	config/alpha/alpha.c, config/arm/arm.c, config/m32r/m32r.h,
+ 	config/rs6000/predicates.md: Fix comment typos.
+ 
+ 	* sched-int.h (haifa_insn_data): Remove blockage and units.
+ 	(INSN_UNIT, INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK,
+ 	ENCODE_BLOCKAGE, UNIT_BLOCKED, BLOCKAGE_RANGE,
+ 	MIN_BLOCKAGE_COST, MAX_BLOCKAGE_COST): Remove.
+ 
+ 2005-04-09  Jan Hubicka  <jh@suse.cz>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfglayout.c (copy_bbs): Rename n_edges to num_edges.
+ 	* cfgloop.c (get_loop_exit_edges): Likewise.
+ 	* cfgloopmanip.c (fix_irreducible_loops): Likewise.
+ 	(unloop): Likewise.
+ 	* loop-unroll.c (analyze_insns_in_loop): Likewise.
+ 	* tree-cfg.c (dump_cfg_status): Likewise.
+ 
+ 2005-04-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (altivec_register_operand): Remove
+ 	redundant match_code test.
+ 	(gpc_reg_operand): Same.
+ 	(cc_reg_operand): Same.
+ 	(cc_reg_not_cr0_operand): Same.
+ 
+ 2005-04-09  Jan Hubicka  <jh@suse.cz>
+ 
+ 	Forgotten hunk from my last merge patch:
+ 	* final.c (output_addr_const): Do not call mark_referenced.
+ 
+ 2005-04-09  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* doc/tree-ssa.texi: Add immediate use documentation.
+ 
+ 2005-04-09  Richard Earnshaw <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (FL_WBUF): Define.
+ 	(arm_tune_strongarm): Renamed from arm_is_strong.  All uses changed.
+ 	(arm_is_6_or_7): Delete.
+ 	(arm_tune_wbuf): New.
+ 	(arm_override_options): Set arm_tune_wbuf.
+ 	* arm.h (arm_tune_strongarm): Renamed from arm_is_strong.
+ 	(arm_is_6_or_7): Delete declaration.
+ 	(arm_tune_wbuf): New declartion.
+ 	* arm.md (is_strongarm): Derive from arm_tune_strongarm.
+ 	(model_wbuf): Derive from arm_tune_wbuf.
+ 	* arm-cores.def (arm600, arm610, arm620, arm700, arm700i, arm710)
+ 	(arm720, arm710c, arm7100, arm7500, arm7500fe, arm710t, arm720t)
+ 	(arm740t): Mark CPUs as having a write buffer.
+ 
+ 2005-04-09  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*fp_jcc_7_387): Use 'const0_operand' instead
+ 	of 'const_double_operand' in operand 2 constraints.  Update enable
+ 	condition.
+ 
+ 2005-04-09  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
+ 	(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
+ 	* optabs.h (enum optab_index): Add new OTI_lfloor.
+ 	(lfloor_optab): Define corresponding macro.
+ 	* optabs.c (init_optabs): Initialize lfloor_optab.
+ 	* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
+ 	and lfloordi2 patterns.
+ 	* builtins.c (expand_builtin_int_roundingfn): New prototype.
+ 	(expand_builtin_int_roundingfn): New function.
+ 	(fold_builtin_int_roundingfn): New prototype.
+ 	(fold_builtin_int_roundingfn): New function, renamed from
+ 	fold_builtin_lround.
+ 	Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
+ 	BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
+ 	(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
+ 	BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
+ 	(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
+ 	(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
+ 	BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.
+ 	* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
+ 	into lfloor built-in function and (long long int)floor{,f,l} into
+ 	llfloor built-in function.
+ 	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
+ 	BUILT_IN_LLFLOOR.
+ 
+ 2005-04-08  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-common.def: Move FOR_STMT, WHILE_STMT, DO_STMT, BREAK_STMT,
+ 	CONTINUE_STMT, and SWITCH_STMT to cp/cp-tree.def.
+ 	* c-common.h (WHILE_COND, WHILE_BODY): Move to cp/cp-tree.h.
+ 	(DO_COND, DO_BODY): Likewise.
+ 	(FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY): Likewise.
+ 	(SWITCH_STMT_COND, SWITCH_STMT_BODY, SWITCH_STMT_TYPE): Likewise.
+ 	(c_common_stmt_codes): Remove FOR_STMT, WHILE_STMT, DO_STMT,
+ 	BREAK_STMT, CONTINUE_STMT, and SWITCH_STMT.
+ 	(build_continue_stmt, build_break_stmt): Don't declare.
+ 	(c_do_switch_warnings): Update declaration.
+ 	* c-gimplify.c (enum bc_t): Remove.
+ 	(struct c_gimplify_ctx, ctxp): Remove.
+ 	(push_context, pop_context): Remove static functions.
+ 	(c_genericize): Don't call push_context or pop_context.
+ 	(begin_bc_block, finish_bc_block): Remove static functions.
+ 	(build_bc_goto): Likewise.
+ 	(gimplify_c_loop): Likewise.
+ 	(gimplify_for_stmt, gimplify_while_stmt): Likewise.
+ 	(gimplify_do_stmt, gimplify_switch_stmt): Likewise.
+ 	(c_gimplify_expr): Remove handling of FOR_STMT, WHILE_STMT,
+ 	DO_STMT, SWITCH_STMT, CONTINUE_STMT, BREAK_STMT.
+ 	* c-common.c (c_do_switch_warnings): Rename from
+ 	c_do_switch_warnings_1.
+ 	(c_do_switch_warnings) [old version]: Remove.
+ 	(c_do_switch_expr_warnings): Remove.
+ 	* c-typeck.c (c_finish_case): Call new c_do_switch_warnings
+ 	function instead of c_do_switch_expr_warnings.
+ 	* c-dump.c (c_dump_tree): Remove handling of BREAK_STMT,
+ 	CONTINUE_STMT, DO_STMT, FOR_STMT, SWITCH_STMT, and WHILE_STMT.
+ 	* c-pretty-print.c (pp_c_statement): Likewise.
+ 	* c-semantics.c (build_break_stmt, build_continue_stmt): Remove.
+ 
+ 2005-04-08  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-if-conv.c (find_phi_replacement_condition): New parameter, loop.
+ 	While selecting replacement condition pay attention to loop header.
+ 
+ 2005-04-08  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	Merge from tree-cleanup-branch: VRP, store CCP, store
+ 	    copy-prop, incremental SSA updating of FUD chains and
+ 	    newly exposed symbols.
+ 
+ 	* Makefile.in (tree-ssa-copy.o): Depend on tree-ssa-propagate.h.
+ 	(OBJS-common): Add tree-vrp.o.
+ 	(tree-vrp.o): New rule.
+ 	* basic-block.h (nearest_common_dominator_for_set): Declare.
+ 	* common.opt (ftree-store-ccp): New flag.
+ 	(ftree-copy-prop): New flag.
+ 	(ftree-vrp): New flag.
+ 	(ftree-store-copy-prop): New flag.
+ 	* dominance.c (nearest_common_dominator_for_set): New.
+ 	* domwalk.c (walk_dominator_tree): Only traverse
+ 	statements in blocks marked in walk_data->interesting_blocks.
+ 	* domwalk.h (struct dom_walk_data): Add field interesting_blocks.
+ 	* fold-const.c (fold): Handle ASSERT_EXPR.
+ 	* opts.c (decode_options): Set flag_tree_copy_prop at -O1.
+ 	Set flag_tree_store_ccp, flag_tree_store_copy_prop and
+ 	flag_tree_vrp at -O2.
+ 	* timevar.def (TV_TREE_VRP): Define.
+ 	(TV_TREE_COPY_PROP): Define.
+ 	(TV_TREE_STORE_COPY_PROP): Define.
+ 	(TV_TREE_SSA_INCREMENTAL): Define.
+ 	(TV_TREE_STORE_CCP): Define.
+ 	* tree-cfg.c (tree_can_merge_blocks_p): Remove reference
+ 	to kill_redundant_phi_nodes from comment.
+ 	(verify_expr): Handle ASSERT_EXPR.
+ 	* tree-dfa.c (mark_new_vars_to_rename): Remove second
+ 	argument.  Update all users.
+ 	(mark_call_clobbered_vars_to_rename): Remove.  Update all
+ 	users.
+ 	* tree-flow-inline.h (unmodifiable_var_p): New.
+ 	* tree-flow.h (enum value_range_type): Declare.
+ 	(struct value_range_def): Declare.
+ 	(value_range): Declare.
+ 	(remove_all_phi_nodes_for): Remove.  Update all users.
+ 	(find_phi_node_for): Declare.
+ 	(add_type_alias): Declare.
+ 	(count_uses_and_derefs): Declare.
+ 	(kill_redundant_phi_nodes): Remove.
+ 	(rewrite_into_ssa): Remove.
+ 	(rewrite_def_def_chains): Remove.
+ 	(update_ssa, register_new_name_mapping, create_new_def_for,
+ 	need_ssa_update_p, name_registered_for_update_p,
+ 	release_ssa_name_after_update_ssa, dump_repl_tbl,
+ 	debug_repl_tbl, dump_names_replaced_by,
+ 	debug_names_replaced_by, mark_sym_for_renaming,
+ 	mark_set_for_renaming, get_current_def, set_current_def,
+ 	get_value_range, dump_value_range, debug_value_range,
+ 	dump_all_value_ranges, debug_all_value_ranges,
+ 	expr_computes_nonzero, loop_depth_of_name,
+ 	unmodifiable_var_p): Declare.
+ 	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle
+ 	ASSERT_EXPR.
+ 	* tree-into-ssa.c (block_defs_stack): Update comment.
+ 	(old_ssa_names, new_ssa_names, old_virtual_ssa_names,
+ 	syms_to_rename, names_to_release, repl_tbl,
+ 	need_to_initialize_update_ssa_p, need_to_update_vops_p,
+ 	need_to_replace_names_p): New locals.
+ 	(NAME_SETS_GROWTH_FACTOR): Define.
+ 	(struct repl_map_d): Declare.
+ 	(struct mark_def_sites_global_data): Add field
+ 	interesting_blocks.
+ 	(enum rewrite_mode): Declare.
+ 	(REGISTER_DEFS_IN_THIS_STMT): Define.
+ 	(compute_global_livein): Use last_basic_block instead of
+ 	n_basic_blocks.
+ 	(set_def_block): Remove last argument.  Update all callers.
+ 	(prepare_use_operand_for_rename): Remove.  Update all callers.
+ 	(prepare_def_operand_for_rename): Remove.  Update all callers.
+ 	(symbol_marked_for_renaming): New.
+ 	(is_old_name): New.
+ 	(is_new_name): New.
+ 	(repl_map_hash): New.
+ 	(repl_map_eq): New.
+ 	(repl_map_free): New.
+ 	(names_replaced_by): New.
+ 	(add_to_repl_tbl): New.
+ 	(add_new_name_mapping): New.
+ 	(mark_def_sites): Assume that all the operands in the
+ 	statement are in normal form.
+ 	(find_idf): Assert that the block in the stack is valid.
+ 	(get_default_def_for): New.
+ 	(insert_phi_nodes_for): Add new argument 'update_p'.
+ 	Add documentation.
+ 	If update_p is true, add a new mapping between the LHS of
+ 	each new PHI and the name that it replaces.
+ 	(insert_phi_nodes_1): Only call find_idf if needed.
+ 	(get_reaching_def): Call get_default_def_for.
+ 	(rewrite_operand): Remove.
+ 	(rewrite_stmt): Do nothing if REGISTER_DEFS_IN_THIS_STMT
+ 	and REWRITE_THIS_STMT are false.
+ 	Assume that all the operands in the statement are in
+ 	normal form.
+ 	(rewrite_add_phi_arguments): Don't use PHI_REWRITTEN.
+ 	(rewrite_virtual_phi_arguments): Remove.
+ 	(invalidate_name_tags): Remove.
+ 	(register_new_update_single, register_new_update_set,
+ 	rewrite_update_init_block, replace_use,
+ 	rewrite_update_fini_block, rewrite_update_stmt,
+ 	rewrite_update_phi_arguments): New.
+ 	rewrite_blocks): Remove argument 'fix_virtual_phis'.
+ 	Add arguments 'entry', 'what' and 'blocks'.
+ 	Initialize the dominator walker according to 'what' and
+ 	'blocks'.
+ 	Start the dominator walk at 'entry'.
+ 	(mark_def_site_blocks): Add argument 'interesting_blocks'.
+ 	Use it to configure the dominator walker.
+ 	(rewrite_into_ssa): Remove argument 'all'.
+ 	Make internal.
+ 	(rewrite_all_into_ssa): Remove.
+ 	(rewrite_def_def_chains): Remove.
+ 	(mark_def_interesting, mark_use_interesting,
+ 	prepare_phi_args_for_update, prepare_block_for_update,
+ 	prepare_def_site_for, prepare_def_sites,
+ 	dump_names_replaced_by, debug_names_replaced_by,
+ 	dump_repl_tbl, debug_repl_tbl, init_update_ssa,
+ 	delete_update_ssa, create_new_def_for,
+ 	register_new_name_mapping, mark_sym_for_renaming,
+ 	mark_set_for_renaming, need_ssa_update_p,
+ 	name_registered_for_update_p, ssa_names_to_replace,
+ 	release_ssa_name_after_update_ssa,
+ 	insert_updated_phi_nodes_for, update_ssa): New.
+ 	* tree-loop-linear.c (linear_transform_loops): Call
+ 	update_ssa instead of rewrite_into_ssa.
+ 	* tree-optimize.c (vars_to_rename): Remove.
+ 	Update all users.
+ 	(init_tree_optimization_passes): Replace
+ 	pass_redundant_phi with pass_copy_prop.
+ 	Add pass_vrp.
+ 	Replace pass_ccp with pass_store_ccp.
+ 	Add pass_store_copy_prop after pass_store_ccp.
+ 	(execute_todo): If the TODO_ flags don't include updating
+ 	the SSA form, assert that it does not need to be updated.
+ 	Call update_ssa instead of rewrite_into_ssa and
+ 	rewrite_def_def_chains.
+ 	If TODO_verify_loops is set, call verify_loop_closed_ssa.
+ 	(tree_rest_of_compilation):
+ 	* tree-pass.h (TODO_dump_func, TODO_ggc_collect,
+ 	TODO_verify_ssa, TODO_verify_flow, TODO_verify_stmts,
+ 	TODO_cleanup_cfg): Renumber.
+ 	(TODO_verify_loops, TODO_update_ssa,
+ 	TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
+ 	TODO_update_ssa_only_virtuals): Define.
+ 	(pass_copy_prop, pass_store_ccp, pass_store_copy_prop, pass_vrp):
+ 	Declare.
+ 	* tree-phinodes.c (make_phi_node): Update documentation.
+ 	(remove_all_phi_nodes_for): Remove.
+ 	(find_phi_node_for): New.
+ 	* tree-pretty-print.c (dump_generic_node): Handle ASSERT_EXPR.
+ 	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Likewise.
+ 	(interpret_rhs_modify_expr): Likewise.
+ 	* tree-sra.c (decide_instantiations): Mark all symbols in
+ 	SRA_CANDIDATES for renaming.
+ 	(mark_all_v_defs_1): Rename from mark_all_v_defs.
+ 	(mark_all_v_defs): New function.  Update all users to call it
+ 	with the whole list of scalarized statements, not just the
+ 	first one.
+ 	* tree-ssa-alias.c (count_ptr_derefs): Make extern.
+ 	(compute_flow_insensitive_aliasing): If the tag is
+ 	unmodifiable and the variable isn't or vice-versa, don't
+ 	make them alias of each other.
+ 	(setup_pointers_and_addressables): If the type tag for
+ 	VAR is about to change, mark the old one for renaming.
+ 	(add_type_alias): New.
+ 	* tree-ssa-ccp.c: Document SSA-CCP and STORE-CCP.
+ 	(ccp_lattice_t): Rename from latticevalue.
+ 	(value): Remove.  Update all users.
+ 	(const_val): New local variable.
+ 	(do_store_ccp): New local variable.
+ 	(dump_lattice_value): Handle UNINITIALIZED.
+ 	(debug_lattice_value): New.
+ 	(get_default_value): Re-write.
+ 	(set_lattice_value): Re-write.
+ 	(def_to_varying): Remove.  Update all users.
+ 	(likely_value): Return VARYING for statements that make
+ 	stores when STORE_CCP is false.
+ 	Return VARYING for any statement other than MODIFY_EXPR,
+ 	COND_EXPR and SWITCH_EXPR.
+ 	(ccp_initialize): Re-write.
+ 	(replace_uses_in, replace_vuse_in, substitute_and_fold):
+ 	Move to tree-ssa-propagate.c.
+ 	(ccp_lattice_meet): Handle memory stores when
+ 	DO_STORE_CCP is true.
+ 	(ccp_visit_phi_node): Likewise.
+ 	(ccp_fold): Likewise.
+ 	(evaluate_stmt): Likewise.
+ 	(visit_assignment): Likewise.
+ 	(ccp_visit_stmt): Likewise.
+ 	(execute_ssa_ccp): Add argument 'store_ccp'.  Copy it
+ 	into DO_STORE_CCP.
+ 	(do_ssa_ccp): New.
+ 	(pass_ccp): Use it.
+ 	(do_ssa_store_ccp): New.
+ 	(gate_store_ccp): New.
+ 	(pass_store_ccp): Declare.
+ 	* tree-ssa-copy.c: Include tree-ssa-propagate.h.
+ 	(may_propagate_copy): Reformat.
+ 	Don't abort if ORIG is a virtual and DEST isn't.
+ 	If NEW does not have alias information but DEST does,
+ 	copy it.
+ 	(copy_of, cached_last_copy_of, do_store_copy_prop, enum
+ 	copy_prop_kind, which_copy_prop): Declare.
+ 	(stmt_may_generate_copy, get_copy_of_val,
+ 	get_last_copy_of, set_copy_of_val, dump_copy_of,
+ 	copy_prop_visit_assignment, copy_prop_visit_cond_stmt,
+ 	copy_prop_visit_stmt, copy_prop_visit_phi_node,
+ 	init_copy_prop, fini_copy_prop, execute_copy_prop,
+ 	gate_copy_prop, do_copy_prop, gate_store_copy_prop,
+ 	store_copy_prop): New.
+ 	(pass_copy_prop, pass_store_copy_prop): Declare.
+ 	* tree-ssa-dom.c (struct opt_stats_d): Add fields
+ 	'num_const_prop' and 'num_copy_prop'.
+ 	(cprop_operand): Update them.
+ 	(dump_dominator_optimization_stats): Dump them.
+ 	(tree_ssa_dominator_optimize): Call update_ssa instead of
+ 	rewrite_into_ssa.
+ 	(loop_depth_of_name): Declare extern.
+ 	(simplify_cond_and_lookup_avail_expr): Guard against NULL
+ 	values for LOW or HIGH.
+ 	(cprop_into_successor_phis): Only propagate if NEW != ORIG.
+ 	(record_equivalences_from_stmt): Call expr_computes_nonzero.
+ 	(cprop_operand): Only propagate if VAL != OP.
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Mark symbols in removed
+ 	statement for renaming.
+ 	* tree-ssa-loop-im.c (move_computations): Call update_ssa.
+ 	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call
+ 	add_type_alias if necessary.
+ 	Call mark_new_vars_to_rename.
+ 	(tree_ssa_iv_optimize): If new symbols need to be renamed,
+ 	mark every statement updated, call update_ssa and
+ 	rewrite_into_loop_closed_ssa.
+ 	* tree-ssa-loop-manip.c (add_exit_phis): Do not remove DEF_BB
+ 	from LIVEIN if VAR is a virtual.
+ 	* tree-ssa-loop.c (tree_loop_optimizer_init): Call update_ssa.
+ 	* tree-ssa-operands.c (get_expr_operands): Handle ASSERT_EXPR.
+ 	(get_call_expr_operands): Reformat statement.
+ 	(add_stmt_operand): Don't create V_MAY_DEFs for read-only
+ 	symbols.
+ 	* tree-ssa-propagate.c (ssa_prop_init): Initialize
+ 	SSA_NAME_VALUE for every name.
+ 	(first_vdef, stmt_makes_single_load, stmt_makes_single_store,
+ 	get_value_loaded_by): New.
+ 	(replace_uses_in, replace_vuses_in, replace_phi_args_in,
+ 	substitute_and_fold): Move from tree-ssa-ccp.c.
+ 	* tree-ssa-propagate.h (struct prop_value_d, prop_value_t,
+ 	first_vdef, stmt_makes_single_load, stmt_makes_single_store,
+ 	get_value_loaded_by, replace_uses_in, substitute_and_fold):
+ 	Declare.
+ 	* tree-ssa.c (verify_use): Fix error message.
+ 	(propagate_into_addr, replace_immediate_uses, get_eq_name,
+ 	check_phi_redundancy, kill_redundant_phi_nodes,
+ 	pass_redundant_phi): Remove.  Update all users.
+ 	* tree-vect-transform.c (vect_create_data_ref_ptr): Call
+ 	add_type_alias, if necessary.
+ 	* tree-vectorizer.h (struct _stmt_vect_info): Update
+ 	documentation for field 'memtag'.
+ 	* tree-vrp.c: New file.
+ 	* tree.def (ASSERT_EXPR): Define.
+ 	* tree.h (ASSERT_EXPR_VAR): Define.
+ 	(ASSERT_EXPR_COND): Define.
+ 	(SSA_NAME_VALUE_RANGE): Define.
+ 	(struct tree_ssa_name): Add field 'value_range'.
+ 	(PHI_REWRITTEN): Remove.
+ 	(struct tree_phi_node): Remove field 'rewritten'.
+ 	* doc/invoke.texi (-fdump-tree-storeccp, -ftree-copy-prop,
+ 	-ftree-store-copy-prop): Document.
+ 	* doc/tree-ssa.texi: Remove broken link to McCAT's compiler.
+ 	Document usage of update_ssa.
+ 
+ 2005-04-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/20814
+ 	* config/rs6000/predicates.md (altivec_register_operand): Accept
+ 	SUBREG.
+ 	(and64_operand): Do not limit CONST_INT to mask64_operand.
+ 	(and64_2_operand): Do not limit CONST_INT to mask64_1or2_operand.
+ 	(and_operand): Do not limit CONST_INT to mask_operand.
+ 
+ 2005-04-09  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR rtl-optimization/20466
+ 	* flow.c (invalidate_mems_from_set): Handle a MEM by checking it
+ 	for overlap of the address of each list member.
+ 	(mark_set_1): Call invalidate_mems_from_set for MEMs too.
+ 
+ 2005-04-08  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.c (indirect_data): Fix typo in strncmp logic.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use 5 nops,
+ 	instead of 4.
+ 
+ 2005-04-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Remove.
+ 
+ 	* function.c (push_function_context_to): Don't set
+ 	contains_functions.
+ 	* function.h (function): Remove contains_functions.
+ 	(current_function_contains_functions): Remove.
+ 
+ 	* function.h (function): Remove instrument_entry_exit.
+ 	(current_function_instrument_entry_exit): Remove.
+ 
+ 	* function.h (nonlocal_labels): Remove.
+ 
+ 	* tree.h (STRIP_MAIN_TYPE_NOPS): Remove.
+ 
+ 	* genattrtab.c (attr_desc): Remove negative_ok and unsigned_p.
+ 	(check_attr_value, write_attr_get, write_expr_attr_cache,
+ 	find_attr, make_internal_attr): Don't reference negative_ok or
+ 	unsigned_p.
+ 	* genattrtab.h (ATTR_NEGATIVE_OK, ATTR_UNSIGNED,
+ 	ATTR_FUNC_UNITS, ATTR_BLOCKAGE): Remove.
+ 	(ATTR_STATIC): Adjust the value.
+ 
+ 	* c-common.h (C_ARTIFICIAL_STRING_P): Remove.
+ 
+ 2005-04-08  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/tpf.h (ASM_SPEC): Define.
+ 
+ 2005-04-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow.h: Remove the prototype for
+ 	redirect_immediate_uses.
+ 	(TDFA_USE_OPS, TDFA_USE_VOPS): Remove.
+ 
+ 2005-04-08  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (arm_const_double_by_parts): New function.
+ 	* arm-protos.h (arm_const_double_by_parts): Add prototype.
+ 	* arm.md (define_split for 64-bit constants): Add another one.
+ 
+ 2005-04-08  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-ssa-operands.c (correct_use_link): Remove linear scan.
+ 
+ 2005-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Revert last change.
+ 
+ 2005-04-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/xtensa/xtensa.h (target_flags, MASK_NO_FUSED_MADD)
+ 	(MASK_CONST16, TARGET_NO_FUSED_MADD, TARGET_CONST16)
+ 	(TARGET_SWITCHES): Delete.
+ 	* config/xtensa/xtensa.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
+ 	* config/xtensa/xtensa.md (muladdsf3, mulsubsf3): Check
+ 	TARGET_FUSED_MADD instead of !TARGET_NO_FUSED_MADD.
+ 	* config/xtensa/xtensa.opt: New file.
+ 
+ 2005-04-08  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* config/fp-bit.c: Include L_mul_tf in #endif comment.
+ 	* config/fp-bit.h: Tidy comments.
+ 
+ 2005-04-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* system.h: Poison PARAMS.
+ 
+ 2005-04-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
+ 	(MASK_G_FLOAT, TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT)
+ 	(TARGET_SWITCHES): Delete.
+ 	* config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
+ 	* config/vax/vax.opt: New file.
+ 
+ 2005-04-07  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Fix incorrect comment.
+ 
+ 2005-04-07  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* config/iq2000/iq2000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Don't
+ 	define.
+ 	* config/mips/mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise.
+ 	* config/sparc/sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE):
+ 	Likewise.
+ 
+ 2005-04-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider
+ 	all immediate uses in PHI nodes.
+ 
+ 2005-04-07  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (arm_const_double_inline_cost): Handle any constant by
+ 	using gen_lowpart and gen_highpart_mode.
+ 	(note_invalid_constants): All constants in an RTX with a constraint
+ 	that permits memory are now pushed to the constant pool.
+ 	(output_move_double): Delete code to handle reg to reg and
+ 	constant to reg moves.
+ 	(const_double_needs_minipool, output_mov_immediate): Delete.
+ 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle
+ 	CONST_INT and CONST_VECTOR.
+ 	* arm.md (ANY64): New mode macro.
+ 	(arm_movdi): Split reg-reg and const-reg moves.  Simplify constraints.
+ 	(movdf_soft_insn): Split reg-reg and const-reg moves.
+ 	(split patterns for 64-bit constant and register moves): New.
+ 	* cirrus.md (cirrus_arm_movdi): Split reg-reg and const-reg moves.
+ 	(cirrus_movdf_hard_insn): Likewise.
+ 	* fpa.md (movdf_fpa): Likewise.
+ 	* iwmmxt.md (iwmmxt_arm_movdi): Likewise.
+ 	(movv8qi_internal, movv4hi_internal, movv2si_internal): Fix
+ 	constraints.
+ 	(movv2si_internal_2): Likewise.
+ 	* vfp.md (arm_movdi_vfp): Split reg-reg and const-reg moves.
+ 	(movdf_vfp): Likewise.
+ 	* arm-protos.h (output_mov_immediate): Delete prototype.
+ 
+ 2005-04-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR target/20093
+ 	* simplify-rtx.c (simplify_unary_operation_1): Check
+ 	SUBREG_PROMOTED_UNSIGNED_P (op) > 0 for zero-extension.
+ 
+ 2005-04-06  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/20717
+ 	* cgraphunit.c (record_call_1, case FDESC_EXPR): Handle same as
+ 	ADDR_EXPR.
+ 
+ 2004-04-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* coverage.h (GCOV_TYPE_NODE): Delete.
+ 	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref)
+ 	(build_ctr_info_type): Use get_gcov_type () instead of GCOV_TYPE_NODE.
+ 	* tree-profile.c (tree_gen_edge_profiler, tree_gen_interval_profiler)
+ 	(tree_gen_pow2_profiler, tree_gen_one_value_profiler): Likewise.
+ 	* value-prof.c (tree_divmod_fixed_value_transform): Delete.
+ 
+ 2004-04-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR other/20792
+ 	* Makefile.in (gcc.pot): Remove options.c dependency.
+ 	* optc-gen.awk: Don't quote help strings with N_().
+ 
+ 2005-04-06  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* c-common.c (handle_malloc_atttribute): Only set DECL_IS_MALLOC if
+ 	the function returns a pointer type.
+ 
+ 2005-04-06  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): New
+ 	* params.h (SALIAS_MAX_IMPLICIT_FIELDS): New
+ 	* doc/invoke.texi: Documnet salias-max-implicit-fields.
+ 	* tree-ssa-alias.c (struct used_part): Add implicit_uses and
+ 	explicit_uses members.
+ 	(get_or_create_used_part_for): Initialize new fields.
+ 	(fieldoff_compare): New function.
+ 	(create_overlap_variables_for): Count number of fields, use
+ 	heuristic to determine whether to create subvars for vars with
+ 	only implicit uses.
+ 	Sort the field list by offset and avoid creating duplicate SFT's.
+ 
+ 2005-04-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* c.opt (-F): Remove trailing whitespace from help string.
+ 	(-finput-charset): Use a tab to separate the switch name and help
+ 	string.
+ 	* common.opt (-fsched-stalled-insns, -fsched-stalled-insns-dep)
+ 	(-ftree-vectorizer-verbose): Likewise.
+ 
+ 2005-04-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-sink.c (nearest_common_dominator_of_uses): Look at
+ 	a PHI argument where a use occurs instead of all PHI arguments.
+ 
+ 2005-04-06  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-decl.c (finish_decl): Apply pending #pragma weak regardless of
+ 	scope.
+ 
+ 2005-04-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c, tree-flow-inline.h, tree-flow.h, tree-ssa-operands.c,
+ 	tree-ssa-sink.c, tree.h, config/bfin/bfin.c,
+ 	config/bfin/bfin.h: Fix comment typos.
+ 
+ 2005-04-06  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* doc/install.texi: Update the URL for Jacks.
+ 	* doc/sourcebuild.texi: Likewise.
+ 
+ 2005-04-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/17245
+ 	* config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
+ 	Revert 2004-10-08 patch.  Reject TFmode LO_SUM in 32-bit mode.
+ 
+ 2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (LIBGCC2_CFLAGS): Revert -pipe change.
+ 
+ 2005-04-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/v850/v850-protos.h (override_options): Delete.
+ 	* config/v850/v850.h (target_flags, MASK_GHS, MASK_LONG_CALLS, MASK_EP)
+ 	(MASK_PROLOG_FUNCTION, MASK_DEBUG, MASK_V850, MASK_V850E)
+ 	(MASK_SMALL_SLD, MASK_BIG_SWITCH, MASK_NO_APP_REGS, MASK_DISABLE_CALLT)
+ 	(MASK_STRICT_ALIGN, MASK_US_BIT_SET, MASK_US_MASK_SET, TARGET_GHS)
+ 	(TARGET_LONG_CALLS, TARGET_EP, TARGET_PROLOG_FUNCTION, TARGET_V850)
+ 	(TARGET_BIG_SWITCH, TARGET_DEBUG, TARGET_V850E, TARGET_US_BIT_SET)
+ 	(TARGET_SMALL_SLD, TARGET_DISABLE_CALLT, TARGET_NO_APP_REGS)
+ 	(TARGET_STRICT_ALIGN, TARGET_SWITCHES, TARGET_OPTIONS)
+ 	(OVERRIDE_OPTIONS): Delete.
+ 	(MASK_CPU): Redefine as MASK_V850 | MASK_V850E.
+ 	(small_memory_info): Remove the value field.
+ 	(CONDITIONAL_REGISTER_USAGE): Check !TARGET_APP_REGS rather than
+ 	TARGET_NO_APP_REGS.
+ 	* config/v850/v850.c (small_memory): Remove the value field.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(override_options): Delete.
+ 	(v850_handle_memory_option, v850_handle_option): New functions.
+ 	* config/v850/v850.opt: New file.
+ 
+ 2005-04-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.host: Add a section for generic hosts, and a subsection
+ 	for Darwin.  Add a case for x86-darwin.  Update ppc-darwin case.
+ 	* config/host-darwin.c: New, split out of config/rs6000/host-darwin.c.
+ 	* config/host-darwin.h: New.
+ 	* config/x-darwin: New.
+ 	* config/i386/host-i386-darwin.c: New.
+ 	* config/i386/x-darwin: New.
+ 	* config/rs6000/host-darwin.c: Include host-darwin.h.
+ 	(darwin_rs6000_gt_pch_get_address): Move to config/host-darwin.c.
+ 	(darwin_rs6000_gt_pch_use_address): Likewise.
+ 	* config/rs6000/x-darwin: Change name of .o built, update
+ 	dependencies for changes to rs6000/host-darwin.c.
+ 
+ 2005-04-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	PR target/17824
+ 	* config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
+ 
+ 2005-04-06  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vect-analyze.c (vect_analyze_loop_form): Call
+ 	split_loop_exit_edge instead of loop_split_edge_with.
+ 
+ 2005-04-06  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/rs6000/altivec.md (UNSPEC_VSLW, UNSPEC_SUBS,
+ 	UNSPEC_SET_VSCR): New constants, used throughout.
+ 	(*andc3_v4sf): New.
+ 	(altivec_vspltisb, altivec_vsplitish, altivec_vsplitisw):
+ 	Replace with...
+ 	(altivec_vspltis<VI_char>): ... this pattern, using
+ 	a QImode const_int_operand for the immediate.
+ 	(abs<mode>2, absv4sf2, altivec_abss_<mode>): Rewrite as
+ 	define_expands.
+ 
+ 2005-04-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	PR target/17822
+ 	* config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
+ 
+ 2005-04-06  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (LIBGCC2_CFLAGS): Compile with -pipe.
+ 
+ 2005-04-06  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and
+ 	DEFAULT_WORD_SWITCH_TAKES_ARG which incorrectly reported these
+ 	macros as living in "this file" and not gcc.h.
+ 
+ 2005-04-06  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not
+ 	-ftree-live_range_split.  Perhaps renamed at some point?
+ 
+ 2005-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR target/20625
+ 	* tree-ssa-loop-ivopts.c (generic_type_for): New function.
+ 	(add_candidate_1): Use generic_type_for instead of unsigned_type_for.
+ 
+ 2005-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-flow.h (number_of_iterations_cond): Declaration removed.
+ 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Made static.
+ 	(number_of_iterations_special): New function.
+ 	(number_of_iterations_exit): Use number_of_iterations_special.
+ 	Use simplify_using_outer_evolutions only at -O3.
+ 	(number_of_iterations_cond, tree_simplify_using_condition,
+ 	simplify_using_initial_conditions, loop_niter_by_eval,
+ 	compare_trees, can_count_iv_in_wider_type_bound,
+ 	simplify_using_outer_evolutions): Use fold_build.
+ 
+ 2005-04-05  Thomas Fitzsimmons  <fitzsim@redhat.com>
+ 
+ 	* doc/install.texi (Configuration): Document --with-java-home.
+ 
+ 2005-04-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/20342
+ 	PR target/20447
+ 	* config/i386/i386.c (print_operand): Handle vector zeros.
+ 	(ix86_split_to_parts): Handle CONST_VECTOR.
+ 	(ix86_hard_regno_mode_ok): Allow MMX modes in general regs.
+ 	(ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide
+ 	what modes to tie for MMX and SSE registers.
+ 	* config/i386/i386.h (MMX_REG_MODE_P): Remove.
+ 	* config/i386/i386.md: Extend move 0 -> xor peephole to apply
+ 	to vector modes as well.
+ 	* config/i386/predicates.md (const0_operand): Handle VOIDmode
+ 	properly as an input mode.
+ 
+ 2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-ssa-operands.c (verify_abort): Use %p for pointers.
+ 
+ 2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* tree-pretty-print.c (dump_generic_node): Use %p for pointer.
+ 
+ 2005-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.c (init_cumulative_args): For -m32 -mfpmath=sse
+ 	and local functions, set sse_nregs to 8 and float_in_sse.
+ 	(function_arg_advance, function_arg): If float_in_sse, pass
+ 	SFmode and DFmode arguments in SSE registers.
+ 	* config/i386/i386.h (CUMULATIVE_ARGS): Add float_in_sse field.
+ 
+ 	* config/i386/i386.c (ix86_value_regno): Only optimize local functions
+ 	of -funit-at-a-time.
+ 
+ 2005-04-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* config/i386/i386-protos.h (ix86_function_value): Accept two
+ 	arguments, like the target macro.
+ 	* config/i386/i386.h (FUNCTION_VALUE): Pass both arguments.
+ 	* config/i386/i386.c (ix86_function_value): Accept the second
+ 	argument of the target macro.
+ 	(ix86_function_ok_for_sibcall): Pass a function pointer to
+ 	ix86_function_value.
+ 	(ix86_function_value, ix86_libcall_value) [!TARGET_64BIT]: Adjust
+ 	call to ix86_value_regno).
+ 	(ix86_value_regno): Add support for returning floating point values
+ 	in SSE registers.
+ 
+ 2005-04-05  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/20076
+ 	* tree-inline.c (inline_forbidden_p_1): Prevent inlining functions
+ 	that call __builtin_return or __builtin_apply_args.
+ 
+ 2005-04-05  Andrew MacLeod  <amacleod@redhat.com>
+ 
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt.
+ 	Use immediate use iterator.
+ 	(stmt_is_bumper_for_loop): Use immediate use iterator.
+ 	* predict.c (strip_builtin_expect): Use update_stmt.
+ 	* tree-cfg.c (update_modified_stmts): New. Call update_stmt_if_modified
+ 	on all elements of a STATEMENT_LIST.
+ 	(bsi_insert_before, bsi_insert_after): Call update_modified_stmts.
+ 	(bsi_remove): Remove imm_use links and mark the stmt as modified.
+ 	(bsi_replace): Mark stmt as modified and the update it.
+ 	* tree-complex.c (update_complex_assignment): Call mark_stmt_modified.
+ 	(expand_complex_libcal): Call update_stmt.
+ 	(expand_complex_comparison): Call mark_stmt_modified.
+ 	(expand_complex_operations_1): Call update_stmt_if_modified.
+ 	(expand_vector_operations_1): Call mark_stmt_modified.
+ 	* tree-dfa.c (compute_immediate_uses, free_df_for_stmt, free_df,
+ 	compute_immediate_uses_for_phi, compute_immediate_uses_for_stmt,
+ 	add_immediate_use, redirect_immediate_use,
+ 	redirect_immediate_uses, dump_immediate_uses, debug_immediate_uses,
+ 	dump_immediate_uses_for, debug_immediate_uses_for): Delete.
+ 	(mark_new_vars_to_rename): Call update_stmt.
+ 	* tree-dump.c (dump_option_value_in): Add "stmtaddr".
+ 	* tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified.
+ 	Ignore PHI nodes.
+ 	(unmodify_stmt): Delete.
+ 	(update_stmt): New.  Force an update of a stmt.
+ 	(update_stmt_if_modified): update a stmt if it is out of date.
+ 	(get_stmt_operands): Verify stmt is NOT modified.
+ 	(stmt_modified_p): Update comment.
+ 	(delink_imm_use): Remove a use node from its immuse list.
+ 	(link_imm_use_to_list): Link a use node to a specific list.
+ 	(link_imm_use): Link a node to the correct list.
+ 	(set_ssa_use_from_ptr): Set a use node to a specific value, and insert
+ 	it in the correct list, if appropriate.
+ 	(link_imm_use_stmt): Link a use node, and set the stmt pointer.
+ 	(relink_imm_use): Link a use node in place of another node in a list.
+ 	(relink_imm_use_stmt): LInk a node in place of another node, and set
+ 	the stmt pointer.
+ 	(end_safe_imm_use_traverse): New.  Terminate a safe immuse iterator.
+ 	(end_safe_imm_use_p): New.  Check for the end of a safe immuse iterator.
+ 	(first_safe_imm_use): New.  Initialize a safe immuse iterator.
+ 	(next_safe_imm_use): New.  Proceed to next safe immuse iterator value.
+ 	(end_readonly_imm_use_p): New.  Check for end of a fast immuse iterator.
+ 	(first_readonly_imm_use): New.  Initialize a fast immuse iterator.
+ 	(next_readonly_imm_use): New.  Get the next fast immuse iterator value.
+ 	(has_zero_uses): New.  Return true if there are no uses of a var.
+ 	(has_single_use): New.  Return true if there is only a single use of a
+ 	variable.
+ 	(single_imm_use): New.  Return the simgle immediate use.
+ 	(num_imm_uses): New.  Return the number of immediate uses.
+ 	(get_v_must_def_ops): Use is now a pointer.
+ 	(use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr,
+ 	get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of
+ 	the use node.
+ 	(get_immediate_uses, num_immediate_uses, immediate_use): Delete.
+ 	(delink_stmt_imm_use): Delink all immuses from a stmt.
+ 	(phi_arg_index_from_use): New.  Return a phi arg index for a use.
+ 	* tree-flow.h (struct dataflow_d): Delete.
+ 	(immediate_use_iterator_d): New.  Immediate use iterator struct.
+ 	(FOR_EACH_IMM_USE_FAST): New.  Macro for read only immuse iteration.
+ 	(FOR_EACH_IMM_USE_SAFE): New.  Macro for write-safe immuse iteration.
+ 	(BREAK_FROM_SAFE_IMM_USE): New.  Macro for earlyu exit from write-safe
+ 	iteration.
+ 	(struct stmt_ann_d): Remove dataflow_t from struct.
+ 	* tree-if-conv.c (tree_if_conversion).  Don't call free_df.
+ 	(if_convertible_phi_p): Use FAST immuse iterator.
+ 	(if_convertible_loop_p): Don't call compute_immediate_uses.
+ 	(replace_phi_with_cond_modify_expr): Call update_stmt.
+ 	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call
+ 	update_stmt_if_modified.
+ 	(rewrite_all_into_ssa): Initialize ssa operands.
+ 	* tree-loop-linear.c (linear_transform_loops): Don't call free_df or
+ 	compute_immediate_uses.
+ 	* tree-optimize.c (execute_todo): Call verify_ssa whenever the
+ 	ssa_property is available.
+ 	(execute_one_pass):  Change parameters passed to execute_todo.
+ 	* tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt.
+ 	(remove_ssa_form): Call fini_ssa_operands.
+ 	(insert_backedge_copies): Delete call to modify_stmt.
+ 	* tree-phinodes.c (make_phi_node): Initialize use nodes.
+ 	(release_phi_node): Delink any use nodes before releasing.
+ 	(resize_phi_node): Relink any use nodes.
+ 	(remove_phi_arg_num): Delink the use node.
+ 	(remove_phi_node): Release the ssa_name AFTER releasing the phi node.
+ 	(remove_all_phi_nodes_for): Release phi node first.
+ 	* tree-pretty-print.c (dump_generic_node): Print stmt address.
+ 	* tree-sra.c (mark_all_v_defs): Call update_stmt_if_modified.
+ 	(scalarize_use, scalarize_copy): Call update_stmt.
+ 	* tree-ssa-alias.c (compute_may_aliases): Update all modified stmts.
+ 	(compute_points_to_and_addr_escape): Call mark_stmt_modified.
+ 	* tree-ssa-cpp.c (need_imm_uses_for): Delete.
+ 	(ccp_initialize): Remove call to compute_immediate_uses.
+ 	(substitute_and_fold, execute_fold_all_builtins): Call update_stmt.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified
+ 	stmts.
+ 	(simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified.
+ 	(simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified.
+ 	(eliminate_redundant_computations): Call mark_stmt_modified.
+ 	(cprop_operand): Call mark_stmt_modified.
+ 	(optimize_stmt): Call update_stmt_if_modified and mark_stmt_modified.
+ 	* tree-ssa-dse.c (fix_phi_uses, fix_stmt_v_may_defs): Delete.
+ 	(dse_optimize_stmt): Use new immuse interface.
+ 	(tree_ssa_dse): Remove calls to compute_immediate_uses and free_df.
+ 	* tree-ssa-forwprop.c (need_imm_uses_for): Delete.
+ 	(substitute_single_use_vars): Use new immuse interface.
+ 	(tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df
+ 	and compute_immediate_uses.
+ 	* tree-ssa-loop-im.c (single_reachable_address): Use new immuse
+ 	interface.
+ 	(rewrite_mem_refs): Call update_stmt.
+ 	(determine_lsm): Remove call to compute_imm_uses and free_df.
+ 	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Call update_stmt.
+ 	(try_unroll_loop_completely): Call update_stmt.
+ 	* tree-ssa-loop-ivopts.c (rewrite_address_base): Call update_stmt.
+ 	(rewrite_use_compare): Call update_stmt.
+ 	(compute_phi_arg_on_exit): Insert each stmt before trying to process.
+ 	(rewrite_use) : Call update_stmt.
+ 	* tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call.
+ 	* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call
+ 	update_stmt.
+ 	* tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration.
+ 	(allocate_use_optype, allocate_vuse_optype): Adjust allocation size.
+ 	(free_uses, free_vuses, free_v_may_defs, free_v_must_defs): Delink
+ 	use nodes.
+ 	(initialize_vuse_operand): New.  Initialize a vuse operand.
+ 	(initialize_v_may_def_operand): New.  Initialize a maydef operand.
+ 	(initialize_v_must_def_operand): New.  Initialize a mustdef operand.
+ 	(finalize_ssa_defs): Use stmt parameter.
+ 	(correct_use_link): Ensure a use node is in the correct list, and has
+ 	the correct stmt pointer.
+ 	(finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_vuses,
+ 	finalize_ssa_v_must_defs): Also initialize use nodes.
+ 	(finalize_ssa_stmt_operands): Pass extra stmt operands.
+ 	(build_ssa_operands): Seperate parsing from final operand construction.
+ 	(parse_ssa_operands): New.  Parse entry point for operand building.
+ 	(swap_tree_operands): New.  Swap 2 tree operands.
+ 	(update_stmt_operands): Ranamed from get_stmt_operands.  Always builds
+ 	operands.
+ 	(get_expr_operands): Call swap_tree_operands when needed.
+ 	(copy_virtual_operands): Use initialize routines for virtual use ops.
+ 	(create_ssa_artficial_load_stmt): Add extra stmt parameter.
+ 	(verify_abort): New.  Issue imm_use error.
+ 	(verify_imm_links): New Verify imm_use links for a var.
+ 	(dump_immediate_uses_for): New.  Dump imm_uses for a var to file.
+ 	(dump_immediate_uses): New.  Dump imm_uses for all vars to file.
+ 	(debug_immediate_uses): New.  Dump imm_uses for all vars to stderr.
+ 	(debug_immediate_uses_for): New.  Dump imm_uses for a var to stderr.
+ 	* tree-ssa-operands.h (struct use_operand_ptr): Delete.
+ 	(NULL_USE_OPERAND_P) Define.
+ 	(use_optype_d, v_def_use_operand_type, vuse_optype_d): Add immediate
+ 	use node.
+ 	(struct vuse_operand_type): New struct.
+ 	(SET_USE): Call set_ssa_use_from_ptr.
+ 	(USE_STMT): Define.
+ 	(PHI_ARG_INDEX_FROM_USE): Define.
+ 	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi
+ 	argument via SET_USE, not PHI_ARG_DEF_TREE.
+ 	* tree-ssa-pre.c (eliminate): Call update_stmt.
+ 	* tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators.  Don't
+ 	call free_df.
+ 	* tree-ssa-sink.c (all_immediate_uses_same_place): Use imm_use iterator.
+ 	(nearest_common_dominator_of_uses): Use imm_use iterator.
+ 	(statement_sink_location): Use imm_use iterator and interface.
+ 	(execute_sink_code): Don't call compute_immediate_uses or free-df.
+ 	* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Use
+ 	PHI_ARG_DEF, not PHI_ARG_DEF_TREE.
+ 	* tree-ssa.c (verify_use, verify_phi_args): Verify some imm_use info.
+ 	(verify_ssa): Ensure no stmt is marked modify after optimization pass
+ 	if new parameter is true.
+ 	(init_tree_ssa): Don't initialize operand cache here.
+ 	(delete_tree_ssa): Don't destroy operand cache here.
+ 	(propagate_into_addr): Pass in a use pointer, return true if anything
+ 	was changed.
+ 	(replace_immediate_uses): Use imm_use iterator, call update_stmt.
+ 	(check_phi_redundancy): Use imm_use iterator.
+ 	(kill_redundant_phi_nodes): Don't call compute_immediate_uses or
+ 	free_df.
+ 	* tree-ssanames.c (make_ssa_name): Initialize imm_use node.
+ 	(release_ssa_name): Delink node and all elements in its imm_use list.
+ 	* tree-tailcall.c (adjust_return_value): Call update_stmt.
+ 	* tree-vect-analyze.c (vect_stmt_relevant_p): Use imm_use iterator.
+ 	* tree-vectorizer.c (need_imm_uses_for): Delete.
+ 	(vectorize_loops): Dont call compute_immediate_uses or free_df.
+ 	* tree.h (struct ssa_imm_use_d): Define.
+ 	(SSA_NAME_IMM_USE_NODE): Define.
+ 	(struct tree_ssa_name): Add imm_use node.
+ 	(PHI_DF): Delete.
+ 	(PHI_ARG_IMM_USE_NODE): Define.
+ 	(struct phi_arg_d): Add imm_use node.
+ 	(struct tree_phi_node): Remove struct dataflow_d element.
+ 	(TDF_STMTADDR): Define.
+ 
+ 2005-04-05  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* doc/invoke.texi (Optimization Options):  Remove
+ 	duplicate -fcse-follow-jumps.  Add -fweb.
+ 	(-ftree-lim):  Fix spelling (-ftree-loop-im, invariants).
+ 	(-fivcanon):  Fix spelling (-ftree-loop-ivcanon).
+ 
+ 2005-04-05  Per Bothner  <per@bothner.com>
+ 
+ 	* tree-ssa.c (execute_early_warn_uninitialized): Pass context node
+ 	to talk_tree as 'data' parameter, rather than EXPR_LOCUS.
+ 	(warn_uninit): Get EXPR_LOCUS from context now instead.
+ 	This fixes a USE_MAPPED_LOCATION testsuite failure.
+ 
+ 	* tree-ssa.c (warn_uninitialized_var): Remove useless local.
+ 
+ 2005-04-05  Per Bothner  <per@bothner.com>
+ 
+ 	* c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location
+ 	of the artification 'return 0' in main() to BUILTINS_LOCATION.
+ 	* tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION
+ 	before warning.
+ 
+ 2004-04-05  Devang Patel  <dpatel@apple.com>
+ 
+ 	* config/rs600/altivec.md (altivec_vsr<VI_char>): Rename to ..
+ 	(lhsr<mode>3): ... new name.
+ 	(altivec_vsra<VI_char>): Rename to ..
+ 	(ashr<mode>3): ... new name.
+ 	* config/rs6000/rs6000.c (builtin_description): Rename shift
+ 	operations.
+ 
+ 2004-04-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use
+ 	gen_lowpart_for_combine.
+ 	* cse.c (gen_lowpart_if_possible): Move...
+ 	* rtlhooks.c (gen_lowpart_if_possible): ... here.  Also try
+ 	gen_lowpart_SUBREG.
+ 	(gen_lowpart_no_emit_general): Use it.
+ 
+ 2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before
+ 	overriding.
+ 
+ 2005-04-05  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* system.h: Fix typo.
+ 
+ 2005-04-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* config/bfin/bfin-modes.def: New file.
+ 	* config/bfin/bfin-protos.h: New file.
+ 	* config/bfin/bfin.c: New file.
+ 	* config/bfin/bfin.h: New file.
+ 	* config/bfin/bfin.md: New file.
+ 	* config/bfin/bfin.opt: New file.
+ 	* config/bfin/crti.s: New file.
+ 	* config/bfin/crtn.s: New file.
+ 	* config/bfin/elf.h: New file.
+ 	* config/bfin/lib1funcs.asm: New file.
+ 	* config/bfin/predicates.md: New file.
+ 	* config/bfin/t-bfin: New file.
+ 	* config/bfin/t-bfin-elf: New file.
+ 	* doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler):
+ 	Document new attributes.
+ 	(interrupt, interrupt_handler, saveall): Update documentation for
+ 	these attributes.
+ 	* doc/install.texi (Specific): Add entry for the Blackfin.
+ 	* doc/invoke.texi (Blackfin Options): New section.
+ 	* doc/md.texi (Blackfin family): New section to document constraints.
+ 	* config.gcc: Add bfin*-* and bfin*-elf configurations.
+ 
+ 2005-04-05  Olivier Hainque  <hainque@adacore.com>
+ 
+ 	* config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to
+ 	match what the system unwinder expects.
+ 	* config/mips/mips.c (mips_frame_set): If we're saving the return
+ 	address register and the dwarf return address column number differs
+ 	from the hard register number, adjust the note reg to refer to the
+ 	former.
+ 
+ 2004-04-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mn10300/mn10300-protos.h (mn10300_override_options): Declare.
+ 	* config/mn10300/mn10300.h (target_flags, TARGET_MULT_BUG)
+ 	(TARGET_SWITCHES, TARGET_DEFAULT): Delete.
+ 	(processor_type): New enum.
+ 	(mn10300_processor): New variable.
+ 	(TARGET_AM33, TARGET_AM33_2): Redefine in terms of mn10300_processor.
+ 	(PROCESSOR_DEFAULT, OVERRIDE_OPTIONS): New macros.
+ 	* config/mn10300/linux.h (TARGET_SWITCHES, TARGET_DEFAULT): Delete.
+ 	(PROCESSOR_DEFAULT): New macro.
+ 	* config/mn10300/mn10300.c (mn10300_processor): New variable.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(mn10300_handle_option, mn10300_override_options): New functions.
+ 	* config/mn10300/mn10300.opt: New file.
+ 
+ 2005-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 	    Sebastian Pop <sebastian.pop@cri.ensmp.fr>
+ 
+ 	PR tree-optimization/19903
+ 	* tree-chrec.c (chrec_convert): Return chrec_dont_know for constants
+ 	that don't fit in their type after conversion.
+ 
+ 2005-04-05  Uros Bizjak <uros@kss-loka.si>
+ 
+ 	PR target/20421
+ 	* config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil)
+ 	(frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber.
+ 	Allocate local stack slots here.  Set ix86_optimize_mode_switching.
+ 	flag here. Implement using define_insn_and_split.
+ 	(frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387)
+ 	(frndintxf2_mask_pm_i387): New insn patterns.
+ 	(floorsf2, floordf2, floorxf2): Remove local stack slot allocations.
+ 	Do not set ix86_optimize_mode_switching flag.
+ 	(ceilsf2, ceildf2, ceilxf2): Same.
+ 	(btruncsf2, btruncdf2, btruncxf2): Same.
+ 	(nearbyintsf2, nearbyintdf2, nearbyintxf2): Same.
+ 
+ 2005-04-05  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR debug/9963
+ 	* config/i386/cygming.h (ASM_OUTPUT_EXTERNAL): Pass DECL to
+ 	i386_pe_record_external_function.
+ 	(i386_pe_record_external_function): Update declaration.
+ 	* config/i386/winnt.c (struct extern_list): Add decl field.
+ 	(i386_pe_record_external_function): Add decl parameter.
+ 	(i386_pe_file_end): Check TREE_ASM_WRITTEN on decl, not
+ 	identifier.
+ 	* config/i386/i386-protos.h (i386_pe_record_external_function):
+ 	Update declaration.
+ 
+ 2005-04-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m68k/m68k-protos.h: Add a prototype for
+ 	valid_dbcc_comparison_p_2.
+ 	* config/m68k/m68k.c (not_sp_operand, symbolic_operand,
+ 	extend_operator, const_uint32_operand, const_sint32_operand,
+ 	general_src_operand, nonimmediate_src_operand,
+ 	memory_src_operand, post_inc_operand, pre_dec_operand,
+ 	pcrel_address): Move to predicates to predicates.md.
+ 	* config/m68k/m68k.h (PREDICATE_CODES): Remove.
+ 	* config/m68k/m68k.md: Include predicates.md.
+ 	* config/m68k/predicates.md: New.
+ 
+ 2005-04-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* config/i386/i386.md (*truncdfsf2_i387_1): New pattern.
+ 
+ 	* fold-const.c (maybe_lvalue_p): Delete orphaned comment.
+ 
+ 2005-04-04  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* c-typeck.c (struct c_switch): Rename switch_stmt field to
+ 	switch_expr.
+ 	(c_start_case): Build SWITCH_EXPR, not SWITCH_STMT.
+ 	(do_case): Use SWITCH_COND rather than SWITCH_STMT_COND.
+ 	(c_finish_case): Use SWITCH_BODY rather than SWITCH_STMT_BODY.
+ 	Call c_do_switch_expr_warnings rather than c_do_switch_warnings.
+ 	* c-common.c (c_do_switch_warnings_1): New static function broken
+ 	out of c_do_switch_warnings.
+ 	(c_do_switch_warnings): Call c_do_switch_warnings_1.
+ 	(c_do_switch_expr_warnings): New function.
+ 	* c-common.h (c_do_switch_expr_warnings): Declare.
+ 
+ 2005-04-04  David Edelsohn  <edelsohn@gnu.org>
+ 	    Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* tree-eh.c (tree_could_trap_p): Allow non-constant floating point
+ 	trapping divide.
+ 	* rtlanal.c (may_trap_p): Same.
+ 
+ 2005-04-04  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* ChangeLog:  remove reference to ChangeLog.12.
+ 
+ 2005-04-05  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	CRIS epilogue as RTL.
+ 	* config/cris/cris.md: Change all 0 in unspec 0 to
+ 	CRIS_UNSPEC_PLT.
+ 	(CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants.
+ 	("*cris_load_multiple", "cris_frame_deallocated_barrier"): New
+ 	patterns.
+ 	("return"): Change to define_expand.  Call cris_expand_return for
+ 	actual expansion.
+ 	("*return_expanded"): New pattern.
+ 	("epilogue"): New define_expand.
+ 	* config/cris/cris.h (PREDICATE_CODES): Add
+ 	cris_load_multiple_op.
+ 	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Correct test for unspec
+ 	type.
+ 	(enum cris_retinsn_type): New.
+ 	(struct machine_function): New member return_type.
+ 	(TARGET_ASM_FUNCTION_EPILOGUE): Don't override.
+ 	(cris_target_asm_function_epilogue): Remove, moving RTLified
+ 	contents to...
+ 	(cris_expand_epilogue): New function.
+ 	(cris_reg_saved_in_regsave_area, cris_movem_load_rest_p,
+ 	(cris_gen_movem_load, cris_load_multiple_op)
+ 	(cris_return_address_on_stack_for_return, cris_expand_return): New
+ 	functions.
+ 	(cris_target_asm_function_prologue)
+ 	(cris_initial_frame_pointer_offset): Call
+ 	cris_reg_saved_in_regsave_area instead of complicated expression.
+ 	Call cris_return_address_on_stack instead of an expression.
+ 	(cris_print_operand) <case 'o', case 'O'>: New cases.
+ 	(cris_return_address_on_stack): Change return-type to bool.
+ 	(cris_simple_epilogue): Ditto.  Return false if registers are
+ 	saved.
+ 	* config/cris/cris-protos.h (cris_simple_epilogue)
+ 	(cris_return_address_on_stack): Adjust prototype return type.
+ 	(cris_gen_movem_load, cris_expand_epilogue, cris_expand_return)
+ 	(cris_return_address_on_stack_for_return): New prototypes.
+ 
+ 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/frv/frv.h (PREDICATE_CODES): Add CONST to
+ 	gpr_or_int12_operand.
+ 
+ 	* config/frv/frv-protos.h: Add a prototype to
+ 	frv_legitimate_memory_operand and frv_const_unspec_p.
+ 	(frv_unspec): Move from frv.c.
+ 	* config/frv/frv.c (frv_unspec): Move to frv-protos.h.
+ 	(frv_const_unspec_p, frv_legitimate_memory_operand_): Export.
+ 	(ldd_address_operand, fdpic_fptr_operand, frv_load_operand,
+ 	gpr_or_fpr_operand, gpr_or_int12_operand,
+ 	gpr_fpr_or_int12_operand, fpr_or_int6_operand,
+ 	gpr_or_int10_operand, gpr_or_int_operand, int12_operand,
+ 	int6_operand, int5_operand, uint5_operand, uint4_operand,
+ 	uint1_operand, int_2word_operand, uint16_operand,
+ 	upper_int16_operand, integer_register_operand,
+ 	gpr_no_subreg_operand, fpr_operand, even_reg_operand,
+ 	odd_reg_operand, even_gpr_operand, odd_gpr_operand,
+ 	quad_fpr_operand, even_fpr_operand, odd_fpr_operand,
+ 	dbl_memory_one_insn_operand, dbl_memory_two_insn_operand,
+ 	move_destination_operand, movcc_fp_destination_operand,
+ 	frv_function_symbol_referenced_p, move_source_operand,
+ 	condexec_dest_operand, condexec_source_operand,
+ 	reg_or_0_operand, lr_operand, fdpic_operand, got12_operand,
+ 	const_unspec_operand, gpr_or_memory_operand,
+ 	gpr_or_memory_operand_with_scratch, fpr_or_memory_operand,
+ 	icc_operand, fcc_operand, cc_operand, icr_operand,
+ 	fcr_operand, cr_operand, call_operand, sibcall_operand,
+ 	symbolic_operand, relational_operator,
+ 	integer_relational_operator, float_relational_operator,
+ 	ccr_eqne_operator, minmax_operator,
+ 	condexec_si_binary_operator, condexec_si_media_operator,
+ 	condexec_si_divide_operator, condexec_si_unary_operator,
+ 	condexec_sf_conv_operator, condexec_sf_add_operator,
+ 	condexec_memory_operand, intop_compare_operator, acc_operand,
+ 	even_acc_operand, quad_acc_operand, accg_operand: Move to
+ 	predicates.md.
+ 	* config/frv/frv.h (PREDICATE_CODES): Remove.
+ 	* config/frv/frv.md: Include predicates.md.
+ 	* config/frv/predicates.md: New.
+ 
+ 2004-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR target/19537
+ 	* Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h.
+ 	* tree-ssa-loop-ivopts.c: Include langhooks.h.
+ 	(add_standard_iv_candidates_for_size): New function, extracting code
+ 	from add_standard_iv_candidates and parameterizing it by type size.
+ 	(add_standard_iv_candidates): Use add_standard_iv_candidates_for_size.
+ 
+ 2004-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* system.h (GCOV_SIZE_TYPE): Unposion.
+ 	* gcov-io.h (GCOV_TYPE_NODE): Delete, replacing with...
+ 	(GCOV_TYPE_SIZE): ...this new macro.
+ 	* coverage.h (get_gcov_type, GCOV_TYPE_NODE): Declare.
+ 	* coverage.c (get_gcov_type, get_gcov_unsigned_t): New functions.
+ 	(rtl_coverage_counter_ref): Use GCOV_TYPE_SIZE.
+ 	(build_fn_info_type, build_fn_info_value, build_ctr_info_type)
+ 	(build_ctr_info_value, build_gcov_info): Use get_gcov_unsigned_t
+ 	instead of unsigned_intSI_type_node.
+ 	* rtl-profile.c (rtl_gen_interval_profiler, rtl_gen_pow2_profiler)
+ 	(rtl_gen_one_value_profiler_no_edge_manipulation)
+ 	(rtl_gen_const_delta_profiler): Use GCOV_TYPE_SIZE.
+ 	* value-prof.c: Include coverage.h.
+ 
+ 2005-04-02  Daniel Berlin  <dberlin@dberlin.org>
+ 	    Diego Novillo <dnovillo@redhat.com>
+ 
+ 	Fix PR tree-optimization/20703
+ 	Fix PR tree-optimization/20725
+ 
+ 	* tree-ssa-pre.c (phi_translate): Handle tcc_comparison.
+ 	(create_expression_by_pieces): Ditto.
+ 	(valid_in_set): Ditto. Also handle tcc_declaration.
+ 	(find_or_generate_expression): Handle comparison class.
+ 	(insert_into_preds_of_block): Ditto.
+ 	(insert_aux): Ditto.
+ 	(create_value_expr_from): Handle comparison class, recursively
+ 	handle reference nodes.
+ 	(compute_avail): Handle comparison classes, rewrite a little cleaner.
+ 	(execute_pre): Fix spacing.
+ 	(do_fre): Renamed to execute_fre.
+ 
+ 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/invoke.texi (SPARC options): Document that
+ 	-mlittle-endian is not supported on Linux either.
+ 
+ 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/4198
+ 	PR target/12027
+ 	* config.gcc (Obsolete configurations): Remove
+ 	sparclite-*-coff*, sparclite-*-elf* and sparc86x-*-elf*.
+ 	(sparclite-*-coff*): Delete.
+ 	(sparclite-*-elf*): Likewise.
+ 	(sparc86x-*-elf*): Likewise.
+ 	(target_cpu_default) <sparc*-*-*>: Remove sparc86x.
+ 	* config/sparc/lite.h: Delete.
+ 	* config/sparc/litecoff.h: Likewise.
+ 	* config/sparc/liteelf.h: Likewise.
+ 	* config/sparc/sp86x-elf.h: Likewise.
+ 	* config/sparc/t-sparclite: Likewise.
+ 	* config/sparc/t-sp86x: Likewise.
+ 
+ 2005-04-04  Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/s390-protos.h: (s390_comparison,
+ 	s390_alc_comparison, s390_slb_comparison, const0_operand,
+ 	consttable_operand, larl_operand, s_operand,
+ 	shift_count_operand, bras_sym_operand, load_multiple_operation,
+ 	store_multiple_operation, s390_plus_operand): Remove prototypes.
+ 	(s390_legitimate_address_without_index_p): New prototype.
+ 	* config/s390/s390.c: (SYMBOL_FLAG_ALIGN1, DISP_IN_RANGE): Move
+ 	to s390.h.
+ 	(s390_comparison, s390_alc_comparison, s390_slb_comparison,
+ 	const0_operand, consttable_operand, larl_operand, s_operand,
+ 	shift_count_operand, bras_sym_operand, load_multiple_operation,
+ 	store_multiple_operation, s390_plus_operand): Move to
+ 	predicates.md.
+ 	(check_mode): Remove.
+ 	(s390_branch_condition_mask): Remove 'static'. Move prototype to
+ 	s390-protos.h.
+ 	(s390_legitimate_address_without_index_p): New.
+ 	* config/s390/s390.h (PREDICATE_CODES): Remove.
+ 	* config/s390/s390.md: Include predicates.md.
+ 	* config/s390/predicates.md: New.
+ 
+ 2005-04-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR target/20446
+ 	* config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0.
+ 	* config/sparc/linux.h (TARGET_ASM_FILE_END): Delete.
+ 	(NEED_INDICATE_EXEC_STACK): Define to 1.
+ 	* config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete.
+ 	(NEED_INDICATE_EXEC_STACK): Define to 1.
+ 	* config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end.
+ 	(add_pc_to_pic_symbol): Rename into pic_helper_symbol.
+ 	(add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name.
+ 	(pic_helper_emitted_p): New global.
+ 	(emit_pic_helper): New function extracted from...
+ 	(load_pic_register): ...here.  Add 'delay_pic_helper' parameter.
+ 	Do not call emit_pic_helper if delay_pic_helper is true.
+ 	(sparc_expand_prologue): Pass 'false' to load_pic_register.
+ 	(sparc_output_mi_thunk): Pass 'true' to load_pic_register.
+ 	(sparc_file_end): New function.
+ 
+ 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mcore/mcore-protos.h: Remove the prototypes for
+ 	mcore_arith_reg_operand, mcore_general_movsrc_operand,
+ 	mcore_general_movdst_operand, mcore_reload_operand,
+ 	mcore_arith_J_operand, mcore_arith_K_operand,
+ 	mcore_arith_K_operand_not_0, mcore_arith_M_operand,
+ 	mcore_arith_K_S_operand, mcore_arith_imm_operand,
+ 	mcore_arith_any_imm_operand, mcore_arith_O_operand,
+ 	mcore_literal_K_operand, mcore_addsub_operand,
+ 	mcore_compare_operand, mcore_load_multiple_operation,
+ 	mcore_store_multiple_operation, mcore_call_address_operand.
+ 	Add a prototype for const_ok_for_mcore.
+ 	* config/mcore/mcore.c (mcore_call_address_operand,
+ 	mcore_general_movsrc_operand, mcore_general_movdst_operand,
+ 	mcore_arith_reg_operand, mcore_reload_operand,
+ 	mcore_arith_J_operand, mcore_arith_K_operand,
+ 	mcore_arith_K_operand_not_0, mcore_arith_K_S_operand,
+ 	mcore_arith_M_operand, mcore_arith_imm_operand,
+ 	mcore_arith_any_imm_operand, mcore_arith_O_operand,
+ 	mcore_literal_K_operand, mcore_addsub_operand,
+ 	mcore_compare_operand, mcore_load_multiple_operation,
+ 	mcore_store_multiple_operation): Move to predicates.md.
+ 	(const_ok_for_mcore): Export.
+ 	* config/mcore/mcore.h (PREDICATE_CODES): Remove.
+ 	* config/mcore/mcore.md: Include predicates.md.
+ 	* config/mcore/predicates.md: New.
+ 
+ 	* config/mcore/predicates.md: Fix a comment typo.
+ 
+ 2005-04-04  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 	    Adrian Straetling  <straetling@de.ibm.com>
+ 
+ 	* config/s390/2064.md ("z_mul", "z_inf"): New insn reservations.
+ 	* config/s390/2084.md ("x_mul_hi", "x_mul_sidi", "x_div"): Likewise.
+ 	* config/s390/s390.md ("imulhi", "imulsi", "imuldi"): Added to "type"
+ 	attribute.
+ 	("imul"): Removed from "type" attribute.
+ 	("*muldi3_sign", "muldi3"): Changed type to imuldi.
+ 	("mulsi3/1", "mulsi3/3", "mulsi/4", "mulsidi3", "umulsidi3"):
+ 	Changed type to imulsi.
+ 	("*mulsi3_sign", "mulsi3/2"): Changed type to imulhi.
+ 
+ 2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mcore/mcore.h (target_flags, HARDLIT_BIT, ALIGN8_BIT, DIV_BIT)
+ 	(RELAX_IMM_BIT, W_FIELD_BIT, OVERALIGN_FUNC_BIT, CGDATA_BIT)
+ 	(SLOW_BYTES_BIT, LITTLE_END_BIT, M340_BIT, TARGET_HARDLIT)
+ 	(TARGET_DIV, TARGET_RELAX_IMM, TARGET_W_FIELD, TARGET_OVERALIGN_FUNC)
+ 	(TARGET_CG_DATA, TARGET_SLOW_BYTES, TARGET_LITTLE_END, TARGET_M340)
+ 	(TARGET_SWITCHES, mcore_stack_increment_string)
+ 	(TARGET_OPTIONS): Delete.
+ 	(TARGET_DEFAULT, OPTIMIZATION_OPTIONS): Use MASK_* constants rather
+ 	than *_BIT constants.
+ 	(TARGET_8ALIGN): #undef old definition before redefining to 1.
+ 	* config/mcore/mcore.c (mcore_stack_increment_string): Delete.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): Override default to TARGET_DEFAULT.
+ 	(mcore_override_options): Delete mcore_stack_increment code.
+ 	Change use of M340_BIT to MASK_M340.
+ 	* config/mcore/mcore.opt: New file.
+ 
+ 2005-04-04  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* config/arm/arm.c (replace_symbols_in_block): Remove static
+ 	function.
+ 
+ 2005-04-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30-protos.h: Remove the prototypes for
+ 	stack_add_operand, add_immediate_operand,
+ 	high_register_operand, low_register_operand, call_operand,
+ 	di_operand, and nonimmediate_di_operand.
+ 	* config/fr30/fr30.c (stack_add_operand,
+ 	add_immediate_operand, high_register_operand,
+ 	low_register_operand, call_operand, di_operand,
+ 	nonimmediate_di_operand): Move to predicates.md.
+ 	* config/fr30/fr30.h (PREDICATE_CODES): Remove.
+ 	* config/fr30/fr30.md: Include predicates.md.
+ 	* config/fr30/predicates.md: New.
+ 
+ 	* config/mcore/mcore.h (PREDICATE_CODES): Add SYMBOL_REF and
+ 	LABEL_REF to mcore_general_movsrc_operand.  Add SYMBOL_REF to
+ 	mcore_call_address_operand.
+ 
+ 	* config/sh/sh.h (PREDICATE_CODES): Add CONST to
+ 	general_movsrc_operand.
+ 
+ 2005-04-04  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* passes.c (rest_of_handle_final): NULL unlikely_text_section_name
+ 	after freeing.
+ 
+ 2005-04-04  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	PR target/14812
+ 	* arm.c (arm_select_cc_mode): Return CC_Zmode when comparing against
+ 	a negated value.
+ 
+ 2005-04-04  Richard Henderson  <rth@redhat.com>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/16104
+ 	* fold-const.c (fold_unary): Fix folding of vector conversions.
+ 
+ 2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (xstormy16-*-elf): Set extra_options.
+ 	* config/stormy16/stormy16.h (target_flags, TARGET_SWITCHES): Delete.
+ 	* config/stormy16/stormy16.opt: New file.
+ 
+ 2005-04-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/pdp11/pdp11.h (target_flags, TARGET_SWITCHES, TARGET_DEFAULT)
+ 	(TARGET_FPU, TARGET_SOFT_FLOAT, TARGET_AC0, TARGET_NO_AC0, TARGET_45)
+ 	(TARGET_BCOPY_BUILTIN, TARGET_INT16, TARGET_INT32, TARGET_FLOAT32)
+ 	(TARGET_FLOAT64, TARGET_ABSHI_BUILTIN, TARGET_BRANCH_EXPENSIVE)
+ 	(TARGET_BRANCH_CHEAP, TARGET_SPLIT, TARGET_NOSPLIT)
+ 	(TARGET_UNIX_ASM): Delete.
+ 	(TARGET_40_PLUS): Redefine in terms of TARGET_40 and TARGET_45.
+ 	* config/pdp11/2bsd.h (TARGET_UNIX_ASM_DEFAULT): Use MASK_UNIX_ASM.
+ 	* config/pdp11/pdp11.c (pdp11_handle_option): New function.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	* config/pdp11/pdp11.opt: New file.
+ 
+ 2005-04-03  Roger Sayle  <roger@eyesopen.com>
+ 	    Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR c++/19199
+ 	* fold-const.c (non_lvalue): Split tests into...
+ 	(maybe_lvalue_p): New function.
+ 	(fold_cond_expr_with_comparison): Preserve lvalue-ness for the
+ 	C++ front-end prior to lowering into gimple form.
+ 
+ 2005-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.def (BUILT_IN_STPNCPY, BUILT_IN_STRCASECMP,
+ 	BUILT_IN_STRNCASECMP): New.
+ 	* doc/extend.texi: Document stpncpy, strcasecmp, strncasecmp
+ 	and strndup.
+ 
+ 2005-04-03  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	PR target/14812
+ 	* arm.md (addsi3_compare0_for_combiner): Delete.
+ 	(addsi3_compare0_scratch_for_combiner): Delete.
+ 	(cmpsi_neg_shiftsi): Delete.
+ 	(compare_negsi_si): New pattern.
+ 	(cmpsi_negshiftsi_si): New pattern.
+ 	(negated_cbranchsi4): Restrict to equality_operator.
+ 
+ 	* arm.md (movhi_insn_arch4): delete trailing white space from assembler
+ 	template.
+ 
+ 2005-04-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfghooks.c, cfgrtl.c, modulo-sched.c, config/i386/winnt.c:
+ 	Fix comment typos.
+ 
+ 	* doc/install.texi: Fix a typo.
+ 
+ 2005-04-03  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/20648
+ 	* bb-reorder.c (duplicate_computed_gotos): Do not unfactor
+ 	a computed goto if the edge to the computed goto block has
+ 	incoming abnormal edges.  Clarify how the function works.
+ 
+ 2005-04-03  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* params.c (set_param_value): Use gcc_assert & gcc_unreachable.
+ 	* passes.c (open_dump_file, rest_of_handle_final): Likewise.
+ 	* postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,
+ 	hash_scan_set, reg_set_between_after_reload_p,
+ 	reg_used_between_after_reload_p, get_avail_load_store_reg,
+ 	eliminate_partially_redundant_load): Likewise.
+ 	* postreload.c (reload_cse_simplify_set,
+ 	reload_combine_note_use): Likewise.
+ 	* predict.c (predict_insn, expected_value_to_br_prob,
+ 	propagate_freq, expensive_function_p): Likewise.
+ 	* print-rtl.c (print_rtx): Likewise.
+ 	* profile.c (instrument_edges, instrument_values,
+ 	compute_branch_probabilities, branch_prob, union_groups,
+ 	tree_register_profile_hooks, rtl_register_profile_hooks): Likewise.
+ 	* protoize.c (in_system_include_dir, file_could_be_converted,
+ 	file_normally_convertible, gen_aux_info_file, seek_to_line,
+ 	do_cleaning): Likewise.
+ 	* tree-ssa-alias.c (collect_points_to_info_r): Likewise.
+ 	* tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
+ 	* tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
+ 
+ 2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
+ 	* modulo-sched.c (undo_replace_buff_elem): New structure.
+ 	(kernel_number_of_cycles, ps_unschedule_node,
+ 	undo_generate_reg_moves,free_undo_replace_buff,
+ 	undo_permute_partial_schedule,	loop_single_full_bb_p,
+ 	SIMPLE_SMS_LOOP_P, loop_canon_p, canon_loop,
+ 	build_loops_structure, get_sched_window): New.
+ 	(generate_reg_moves): Return undo_replace_buff_elem and other
+ 	fixes.
+ 	(generate_prolog_epilog): Remove old loop versioning.
+ 	(sms_schedule): Use loop information and loop_version.
+ 	(sms_schedule_by_order): Split part of it to get_sched_window.
+ 	* passes.c (rest_of_handle_sms): call cfg_layout_initialize
+ 	cfg_layout_finalize and free_dominance_info before/after SMS.
+ 
+ 2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	* cfghooks.c (lv_flush_pending_stmts,
+ 	cfg_hook_duplicate_loop_to_header_edge, extract_cond_bb_edges,
+ 	lv_adjust_loop_header_phi, lv_add_condition_to_bb): New.
+ 	* cfghooks.h (cfg_hook_duplicate_loop_to_header_edge,
+ 	lv_add_condition_to_bb,
+ 	lv_adjust_loop_header_phi, extract_cond_bb_edges,
+ 	flush_pending_stmts): New in cfg_hooks structure.
+ 	(cfg_hook_duplicate_loop_to_header_edge, lv_flush_pending_stmts,
+ 	extract_cond_bb_edges, lv_adjust_loop_header_phi,
+ 	lv_add_condition_to_bb): New declarations.
+ 	* cfgloop.h (duplicate_loop_to_header_edge): Change return type to
+ 	bool.
+ 	(loop_version): Declare.
+ 	* cfgloopmanip.c (cfghooks.h): Include.
+ 	(duplicate_loop_to_header_edge): Change return type to bool.
+ 	(loop_version, lv_adjust_loop_entry_edge): Move here.
+ 	* cfgrtl.c (cfgloop.h): Include.
+ 	(rtl_verify_flow_info_1): Fix.
+ 	(rtl_lv_add_condition_to_bb, rtl_extract_cond_bb_edges): New.
+ 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add hooks to
+ 	initialization.
+ 	* tree-cfg.c (tree_lv_adjust_loop_header_phi,
+ 	tree_lv_add_condition_to_bb): New.
+ 	(tree_cfg_hooks): Add new hooks to initialization.
+ 	* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi,
+ 	lv_adjust_loop_entry_edge, tree_ssa_loop_version): Remove.
+ 
+ 2005-04-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/stormy16/stormy16.h (PREDICATE_CODES): Add SUBREG to
+ 	xstormy16_below100_or_register,
+ 	xstormy16_splittable_below100_or_register, and
+ 	nonimmediate_nonstack_operand.
+ 
+ 	* config/stormy16/stormy16-protos.h: Remove the prototypes for
+ 	xstormy16_ineqsi_operator, equality_operator,
+ 	inequality_operator, shift_operator,
+ 	xstormy16_below100_operand, xstormy16_below100_or_register,
+ 	xstormy16_splittable_below100_or_register,
+ 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand.
+ 	* config/stormy16/stormy16.c (xstormy16_ineqsi_operator,
+ 	equality_operator, inequality_operator,
+ 	xstormy16_below100_operand, xstormy16_below100_or_register,
+ 	xstormy16_splittable_below100_or_register,
+ 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand,
+ 	nonimmediate_nonstack_operand, shift_operator): Move to
+ 	predicates.md.
+ 	* config/stormy16/stormy16.h (PREDICATE_CODES): Remove.
+ 	* config/stormy16/stormy16.md: Include predicates.md.
+ 	* config/stormy16/predicates.md: New.
+ 
+ 2005-04-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/iq2000/iq2000.c (uns_arith_operand, arith_operand,
+ 	small_int, large_int, reg_or_0_operand, simple_memory_operand,
+ 	equality_op, cmp_op, pc_or_label_operand, call_insn_operand,
+ 	move_operand, power_of_2_operand): Move to predicates.md.
+ 	* config/iq2000/iq2000.h (SPECIAL_MODE_PREDICATES,
+ 	PREDICATE_CODE): Remove.
+ 	* config/iq2000/iq2000.md: Include predicates.md.
+ 	* config/iq2000/predicates.md: New.
+ 
+ 2005-04-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/m68hc11/m68hc11.h (target_flags, MASK_SHORT)
+ 	(MASK_AUTO_INC_DEC, MASK_M6811, MASK_M6812, MASK_M68S12)
+ 	(MASK_NO_DIRECT_MODE, MASK_MIN_MAX, MASK_LONG_CALLS)
+ 	(TARGET_SHORT, TARGET_M6811, TARGET_M6812, TARGET_M68S12)
+ 	(TARGET_AUTO_INC_DEC, TARGET_MIN_MAX, TARGET_NO_DIRECT_MODE)
+ 	(TARGET_LONG_CALLS, TARGET_SWITCHES, TARGET_OPTIONS)
+ 	(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS, m68hc11_regparm_string)
+ 	(m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
+ 	(TARGET_M68HC11): Delete.
+ 	(TARGET_DEFAULT): Change the default setting from MASK_M6811 to 0.
+ 	* config/m68hc11/m68hc12.h (TARGET_M68HC12): Delete.
+ 	* config/m68hc11/m68hc11.c (m68hc11_regparm_string)
+ 	(m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
+ 	(nb_soft_regs): Delete.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): Override default with TARGET_DEFAULT.
+ 	(m68hc11_override_options): Remove the code that caters for MASK_M6811
+ 	and MASK_M6812 being set simultaneously.  Change the code that sets
+ 	the default m68hc11_soft_reg_count to use integers instead of strings.
+ 	(m68hc11_conditional_register_usage, hard_regno_mode_ok): Use
+ 	m68hc11_soft_reg_count (which now has an int type) as the number
+ 	of soft registers.
+ 	* config/m68hc11/m68hc11.opt: New file.
+ 
+ 2005-04-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/fr30/fr30.h (PREDICATE_CODES): Remove
+ 	fp_displacement_operand, sp_displacement_operand.
+ 
+ 	* config/m68hc11/m68hc11-protos.h: Add a prototype for
+ 	m68hcc_auto_inc_p.
+ 	Remove the prototypes for tst_operand, cmp_operand,
+ 	stack_register_operand, d_register_operand,
+ 	hard_addr_reg_operand, splitable_operand,
+ 	m68hc11_logical_operator, m68hc11_arith_operator,
+ 	m68hc11_non_shift_operator, m68hc11_shift_operator,
+ 	m68hc11_unary_operator, m68hc11_eq_compare_operator,
+ 	non_push_operand, hard_reg_operand, and
+ 	reg_or_some_mem_operand.
+ 	* config/m68hc11/m68hc11.c (m68hcc_auto_inc_p): Make it
+ 	extern.
+ 	(tst_operand, cmp_operand, non_push_operand,
+ 	splitable_operand, reg_or_some_mem_operand,
+ 	stack_register_operand, d_register_operand,
+ 	hard_addr_reg_operand, hard_reg_operand,
+ 	m68hc11_eq_compare_operator, m68hc11_logical_operator,
+ 	m68hc11_arith_operator, m68hc11_non_shift_operator,
+ 	m68hc11_shift_operator, m68hc11_unary_operator): Move to
+ 	predicates.md.
+ 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Remove.
+ 	* config/m68hc11/m68hc11.md: Include predicates.md.
+ 	* config/m68hc11/predicates.md: New.
+ 
+ 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR debug/19345
+ 	* dwarf2out.c (add_abstract_origin_attribute): Revert accidental
+ 	change checked in along with 2005-03-03's patch for debug/20253.
+ 	* tree-inline.c (remap_type): Remap TYPE_STUB_DECL.
+ 	(remap_decl): Insert type decl in map earlier.
+ 
+ 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR tree-optimization/20640
+ 	* tree-ssa-dce.c (remove_dead_stmt): Don't redirect edge to
+ 	post-dominator if it has phi nodes.
+ 	(eliminate_unnecessary_stmts): Remove dead phis in all blocks
+ 	before dead statements.
+ 
+ 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR middle-end/20491
+ 	* final.c (alter_subreg): Don't call subreg_regno for a non-REG.
+ 
+ 2005-04-02  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR rtl-optimization/20290
+ 	* loop.c (for_each_insn_in_loop): Don't assume the loop body runs
+ 	in every iteration if the entry point is the exit test.
+ 
+ 2005-04-02  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md (attribute "length"): Define.
+ 
+ 2005-04-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/predicates.md (indexed_or_indirect_operand): New.
+ 	(word_offset_memref_operand): New.
+ 	* config/rs6000/rs6000-protos.h (word_offset_memref_operand): Delete.
+ 	(indexed_or_indirect_operand): Delete.
+ 	* config/rs6000/rs6000.c (word_offset_memref_operand): Delete.
+ 	(indexed_or_indirect_operand): Delete.
+ 
+ 	* config/rs6000/t-darwin8: Comment out ppc64 multilib.
+ 
+ 	PR 20650
+ 	* config/rs6000/rs6000.md (fix_truncdfsi2): Make destination
+ 	a register.
+ 
+ 	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
+ 	* config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
+ 
+ 2005-04-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+ 
+ 	* gcc/config/vax/vax.md: Spellcheck, fix whitespace.
+ 
+ 2005-04-01  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* gcc.c: Don't include <sys/resource.h> or declare getrusage.
+ 	(rus, prus): Remove static variables.
+ 	(execute): Use pex_run/pex_get_status rather than pexecute/pwait.
+ 	(process_command): Permit report_times and use_pipes together.
+ 
+ 2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-decl.c (validate_proto_after_old_defn): Look at
+ 	TYPE_MAIN_VARIANT of argument types.
+ 
+ 2005-04-01  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.c (thumb_call_via_label): Include space for SP.
+ 	(arm_output_function_epilogue): Allow call_via_SP.
+ 	(thumb_call_via_reg, arm_file_end): Ditto.
+ 	* config/arm/arm.h (struct machine_function): Include space for SP.
+ 	(thumb_call_via_label): Update declaration.
+ 
+ 2005-04-01  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* final.c (final_scan_insn): Revert part of 2005-03-30 patch: when
+ 	doing a peephole optimization, once again put any notes in the
+ 	proper position.
+ 
+ 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c, fold-const.c, varasm.c: Fix comment typos.
+ 
+ 2005-04-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable.
+ 	(block_alloc, find_free_reg): Likewise.
+ 	* loop-doloop.c (doloop_modify): Likewise.
+ 	* loop-invariant.c (record_use): Likewise.
+ 	* loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze,
+ 	get_iv_value, canon_condition, eliminate_implied_condition,
+ 	eliminate_implied_condition, simplify_using_initial_values,
+ 	shorten_into_mode, canonicalize_iv_subregs,
+ 	iv_number_of_iterations): Likewise.
+ 	* loop-unroll.c (expand_var_during_unrolling): Likewise.
+ 	* loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
+ 	unswitch_loop): Likewise.
+ 	* loop.c (INSN_LUID, loop_optimize, rtx_equal_for_loop_p,
+ 	move_movables, replace_call_address, find_and_verify_loops,
+ 	rtx_equal_for_prefetch_p, fold_rtx_mult_add, loop_iterations,
+ 	record_giv, final_giv_value, general_induction_var,
+ 	simplify_giv_expr, extension_within_bounds_p, try_copy_prop,
+ 	loop_giv_dump): Likewise.
+ 
+ 	* gcov-io.h (GCOV_CHECK, GCOV_CHECK_READING,
+ 	GCOV_CHECK_WRITING): Remove.
+ 	(gcov_position, gcov_rewrite): Use gcc_assert.
+ 	* gcov-io.c (gcov_open, gcov_write_words, gcov_write_length,
+ 	gcov_read_words, gcov_sync, gcov_seek): Use gcc_assert.
+ 	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): Use
+ 	gcc_assert.
+ 
+ 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-inline.c: Fix a typo.
+ 
+ 2005-04-01  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.ac (enable-checking): Explicitly set all variables for
+ 	collective switch values.  Alphabetize variables. Rename
+ 	ac_checking_valgrind to ac_valgrind_checking.  Allow 'none' as
+ 	synonym for 'no'.
+ 	* doc/install.texi (enable-checking): Update documentation.
+ 	* configure: Rebuilt.
+ 
+ 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-inline.c (copy_body_r): Use CONSTANT_CLASS_P where
+ 	possible.
+ 
+ 2005-04-01  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.c (adjacent_mem_locations): Reject volatile memory refs.
+ 	Also reject cases where this pattern will cause load delay stalls
+ 	unless optimizing for size and it will produce a shorter sequence.
+ 	* arm.md (arith_adjacent_mem): Make better use of ldm addressing
+ 	variants to avoid pre-adjusting the base when possible.
+ 
+ 2005-04-01  Richard Earnshaw  <richard.earnshaw@arm.com>
+ 
+ 	* arm.md (minmax_arithsi): Reject all eliminable registers, not just
+ 	the frame and argument pointers.
+ 	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec): Likewise.
+ 	(loadqisi_preinc, loadqisi_predec, strsi_preinc): Likewise.
+ 	(strsi_predec, loadsi_preinc, loadsi_predec): Likewise.
+ 	(strqi_shiftpreinc, strqi_shiftpredec, loadqi_shiftpreinc): Likewise.
+ 	(loadqi_shiftpredec, strsi_shiftpreinc, strsi_shiftpredec): Likewise.
+ 	(loadsi_shiftpreinc, loadsi_shiftpredec): Likewise.
+ 
+ 2005-04-01  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define,
+ 	with entry for selectany attribute.
+ 	* config/i386/i386-protos.h (ix86_handle_selectany_attribute):
+ 	Declare.
+ 	* config/i386/winnt.c (ix86_handle_selectany_attribute): Define.
+ 	(i386_pe_asm_named_section): Handle sections generated by
+ 	selectany attribute.
+ 	* doc/extend.texi (selectany): Document attribute.
+ 
+ 2005-04-01  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 
+ 	* config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
+ 	to fix addresses involving EBP and ESP.
+ 	(aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
+ 	for SUBREGed registers.
+ 	(legitimate_address_p): Accept SUBREGed registers.
+ 
+ 2005-04-01  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/19406
+ 	* dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL.
+ 	(dwarf2out_imported_module_or_decl): Use gen_type_die_for_member
+ 	for FIELD_DECLs.
+ 
+ 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos.
+ 
+ 2005-04-01  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR c++/20505
+ 	* dwarf2out.c (rtl_for_decl_init): New function.
+ 	(rtl_for_decl_location): Extracted from here.
+ 	(tree_add_const_value_attribute): Call rtl_for_decl_init and
+ 	add_const_value_attribute.  Delete initializer_constant_valid_p call.
+ 
+ 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cgraphunit.c, dbxout.c, flow.c, gcse.c, gimplify.c,
+ 	lambda-code.c, loop.c, machmode.def, mips-tfile.c,
+ 	modulo-sched.c, passes.c, postreload-gcse.c, tree-eh.c,
+ 	tree-ssa-ccp.c, varasm.c, config/frv/frv.c, config/frv/frv.h,
+ 	config/frv/frv.md, config/i386/i386.c, config/i386/i386.h,
+ 	config/i386/i386.md, config/rs6000/predicates.md,
+ 	config/rs6000/rs6000.c, config/s390/fixdfdi.h,
+ 	config/s390/s390.c, config/stormy16/stormy16.c,
+ 	config/stormy16/stormy16.md, config/vax/vax.md: Fix comment
+ 	typos.
+ 
+ 2005-04-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/17855
+ 	* gimplify.c (gimplify_expr): Create a temporary for lvalue
+ 	COND_EXPR and CALL_EXPR.
+ 
+ 2005-03-31  Vladimir Makarov  <vmakarov@redhat.com>
+ 
+ 	PR target/20632
+ 	* genautomata.c (first_cycle_unit_presence): Check all alternative
+ 	states for unit presence.
+ 
+ 	* doc/md.texi: Remove remark about impossibility to query unit
+ 	presence in non nondeterministic automaton state.
+ 
+ 	* config/ia64/ia64.c (get_template): Change order of unit querying.
+ 
+ 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (cprop_into_successor_phis): Remove an
+ 	obsolete comment.
+ 
+ 2005-03-31  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT
+ 	flag for edges outside any loops.
+ 
+ 2005-03-31  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs.
+ 
+ 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-alias.c: Follow spelling conventions.
+ 	* doc/tree-ssa.texi: Fix a typo.
+ 
+ 2005-03-31  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* postreload-gcse.c: Include target.h.
+ 	(gcse_after_reload_main): Return early if we cannot modify jumps.
+ 	* Makefile.in (postreload-gcse.o): Depend on $(TARGET_H).
+ 
+ 2005-03-31  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* tree-ssa-loop-im.c (stmt_cost): Add RDIV_EXPR to list of
+ 	expensive operations.
+ 
+ 2005-03-31  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* collect2.c (lderrout): New variable.
+ 	(collect_exit): Dump ldout to stdout.  Dump and unlink lderrout,
+ 	if it is set, to stderr.
+ 	(handler): Unlink lderrout if it is set.
+ 	(dump_file): Add "to" parameter.  Change all callers.
+ 	(main): Initialize lderrout.
+ 	(collect_execute): Add errname parameter.  Change all callers.
+ 	Rename redir parameter to outname.  Never pass
+ 	PEX_STDERR_TO_STDOUT to pex_run.
+ 	* collect2.h (collect_execute, dump_file): Update declarations.
+ 	* tlink.c (tlink_execute): Add errname parameter.  Change all
+ 	callers.
+ 	(do_tlink): Check lderrout as well as ldout.
+ 
+ 2005-03-31  Caroline Tice  <ctice@apple.com>
+ 
+ 	* Makefile.in (varasm.o): Add basic-block.h to list of requirements.
+ 	(bb-reorder.o): Add errors.h to list of requirements.
+ 	(STAGEFEEDBACK_FLAGS_TO_PASS): Add -freorder-blocks-and-partition to
+ 	profiledbootstrap flags.
+ 	* bb-reorder.c (errors.h): Add new include.
+ 	(struct bbro_basic_block_data_def): Add new field, in_trace.
+ 	(add_unlikely_executed_notes):  Remove function.
+ 	(mark_bb_for_unlikely_executed_section): Remove function.
+ 	(insert_section_boundary_note): New function.
+ 	(verify_hot_cold_block_grouping): New function.
+ 	(push_to_next_round_p): Remove variables and tests that push all
+ 	cold blocks to last round.
+ 	(find_traces): Remove code that added extra round of trace finding
+ 	when doing partitioning.
+ 	(find_traces_1_round) :  Remove variable last_round;  add code to
+ 	update new struct field, in_trace; correct trace_length where it was
+ 	incorrect before (after call to copy_bb); change code that pushed all
+ 	cold blocks to last round. Instead verify that all blocks going into
+ 	a trace belong in the same partition.
+ 	(connect_traces): Modify to connect the traces in two passes, if the
+ 	function contains both hot and cold blocks.  The first pass connects
+ 	all the traces for blocks in the partition that the first block in
+ 	the function belongs to; the second pass connnects all the traces
+ 	containing blocks that belong in the other partition.
+ 	(find_rarely_executed_basic_blocks_and_crossing_edges):  Remove
+ 	code that automatically put the first block in a function into the
+ 	hot partition if the function had any hot blocks.
+ 	(fix_crossing_unconditional_branches): Check number of succ edges
+ 	before attempting to get one.
+ 	(fix_edges_for_rarely_executed_code):  Update comment describing
+ 	function.
+ 	(reorder_basic_blocks):  Add code to initialize new field (in_trace);
+ 	remove call to add_unlikely_executed_notes; add call to
+ 	verify_hot_cold_block_grouping.
+ 	(duplicate_computed_gotos): Don't change computed goto if it's a
+ 	crossing edge.
+ 	(partition_hot_cold_basic_blocks):  Update function comment.
+ 	* cfgcleanup.c (try_simplify_condjump): Remove redundacy from
+ 	condition.
+ 	(try_forward_edges): Likewise.
+ 	(merge_blocks_move_predecessor_nojumps): Likewise.
+ 	(merge_blocks_move_successor_nojumps): Likewise.
+ 	(merge_blocks_move): Likewise.
+ 	(try_crossjump_bb): Likewise.
+ 	* cfglayout.c (update_unlikely_executed_notes): Remove function.
+ 	(fixup_reorder_chain): Remove code for adding UNLIKELY_EXECUTED_CODE
+ 	notes to cold bb's; remove call to update_unlikely_executed_notes.
+ 	(duplicate_insn_chain):  change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
+ 	NOTE_INSN_SWITCH_TEXT_SECTIONS.
+ 	* cfglayout.h (scan_ahead_for_unlikely_executed_note): Remove
+ 	function declaration.
+ 	* cfgrtl.c (can_delete_note_p): Remove UNLIKELY_EXECUTED_CODE note
+ 	from consideration.
+ 	(rtl_can_merge_blocks): Remove redundancy from condition.
+ 	(try_redirect_by_replacing_jump): Likewise.
+ 	(force_nonfallthru_and_redirect): Remove code for adding
+ 	UNLIKELY_EXECUTED_CODE notes to cold bb's.
+ 	(commit_one_edge_insertion): Likewise.
+ 	(cfg_layout_can_merge_blocks_p): Remove redundancy from condition.
+ 	* dbxout.c (FORCE_TEXT): Replace function_section with
+ 	current_function_section.
+ 	(struct dbx_debug_h): Add do_nothing function for new debug_hooks
+ 	function, switch_text_section.
+ 	(struct xcoff_debug): Likewise.
+ 	(dbxout_function_end): Add code to put out label diffs for both
+ 	hot and cold sections.
+ 	* debug.c (struct do_nothing_debug_hooks): Add do_nothing function
+ 	for new debug_hooks funciton, switch_text_section..
+ 	* debug.h (struct gcc_debug_hooks):  Add new function to debug_hooks,
+ 	switch_text_section.
+ 	* dwarf2out.c (struct dw_fde_struct):  Add five new fields:
+ 	dw_fde_hot_section_label, dw_fde_hot_section_end_label,
+ 	dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
+ 	dw_fde_switched_sections.
+ 	(output_call_frame_info):  Add test to see if function switches text
+ 	sections in the middle; if so, use appropriate extra hot and cold
+ 	section labels to compute size deltas for the hot and cold sections.
+ 	(dwarf2out_begin_prologue): Add code to initialize new fields in
+ 	dw_fde_struct.
+ 	(dwarf2out_switch_text_section): New function (invoked through
+ 	debug_hook); updates new fields in dw_fde_struct appropriately and
+ 	increments separate_line_info_table_in_use.
+ 	(dwarf2_debug_hooks): Initialize switch_text_section function to be
+ 	dwarf2out_switch_text_section.
+ 	(struct var_loc_node): Add new field, section_label.
+ 	(output_aranges): Add code to check whether in hot or cold section and
+ 	use the appropriate label in calculating deltas.
+ 	(output_ranges): Likewise.
+ 	(output_line_info): Add code to check which section we're in and
+ 	use appropriate hot/cold label.
+ 	(add_location_or_constant_value_attribute): Likewise.
+ 	(gen_subprogam_die): Modify arange attributes to use correct labels.
+ 	(dwarf2out_begin_block): Change call to function_section into call to
+ 	current_function_section.
+ 	(dwarf2out_end_block): Likewise.
+ 	(dwarf2out_source_line): Likewise.
+ 	(dwarf2out_var_location): Add code to check whether in hot or cold
+ 	section and use the appropriate label.
+ 	* except.c (output_function_exception_table): Change call to
+ 	function_section into call to current_function_section.
+ 	* final.c (profile_function): Likewise.
+ 	(scan_ahead_for_unlikely_executed_note): Remove function.
+ 	(final_scan_insn):  Remove calls to
+ 	scan_ahead_for_unlikely_executed_note, and related code for switching
+ 	to cold section, except for the single time
+ 	NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered;  add calls to
+ 	debug_hooks->switch_text_sections; replace appropriate calls to
+ 	function_section with calls to current_function_section.
+ 	* ifcvt.c (find_if_case_1): Remove redundancy from condition, add
+ 	test_bb to condition.
+ 	(find_if_case_2): Likewise.
+ 	* insn-notes.def: Change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
+ 	NOTE_INSN_SWITCH_TEXT_SECTIONS.  Update comment appropriately.
+ 	* opts.c (decode_options): Change warning about hot/cold partitioning
+ 	with exceptionss to inform (so as not to cause bootstrap failures);
+ 	remove warning about partitioning with DWARF debug info.
+ 	* output.h (current_function_section): Add new function decl.
+ 	(insert_section_boundary_note): Likewise.
+ 	(enum in_section): Move this declaration here from varasm.c.
+ 	(unlikely_section_label): Likewise.
+ 	(unlikely_text_section_name): Likewise.
+ 	(last_text_section_name): New global variable.
+ 	(last_text_section): Likewise.
+ 	(hot_section_label): Likewise.
+ 	(hot_section_end_label): Likewise.
+ 	(cold_section_end_label): Likewise.
+ 	* passes.c (rest_of_handle_final): Free unlikely_text_section_name.
+ 	* print-rtl.c (print_rtx): Change NOTE_INSN_UNLIKELY_EXECUTED_CODE
+ 	to NOTE_INSN_SWITCH_TEXT_SECTIONS.
+ 	* reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
+ 	insn from consideration.
+ 	* sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
+ 	switch_text_section.
+ 	* varasm.c (basic-block.h): Add new include.
+ 	(unlikely_section_label_printed): Remove global variable.
+ 	(unlikely_section_label): Make global variable not be static any more.
+ 	(unlikely_text_section_name): Likewise.
+ 	(hot_section_end_label): New global variable (not static)
+ 	(first_function_block_is_cold): Likewise.
+ 	(hot_section_label): Likewise.
+ 	(cold_section_end_label): Likewise..
+ 	(last_text_section): New global variable, not static.
+ 	(last_text_section_name): New global variable, not static.
+ 	(initialize_cold_section_name): New function.
+ 	(enum in_section): Move declaration to output.h.
+ 	(text_section): Update last_text_section.
+ 	(unlikely_text_section): Replace code to determine cold section name
+ 	with call to initialize_cold_section_name; Add code to update
+ 	last_text_section; remove code for printing out label.
+ 	(named_section_real): Add code to update last_text_section and
+ 	last_text_section_name as appropriate.
+ 	(function_section): Change test for 'unlikely' to depend on
+ 	first_function_block_is_cold (moved old test to
+ 	current_function_section).
+ 	(current_function_section): New function.
+ 	(assemble_start_function): Move code that frees
+ 	unlikely_text_section_name; initialize hot_section_end_label;
+ 	print hot and cold section labels at the start of the function;
+ 	set first_function_block_is_cold, if appropriate; initialize l
+ 	ast_text_section; add call to insert_section_boundary_note.
+ 	(assemble_end_function):  Add code to write out hot and cold section
+ 	end labels.
+ 	*vmsdbgout.c (vmsdbg_debug_hooks): Add do_nothing for new function,
+ 	switch_text_section.
+ 	* config/darwin.c (machopic_select_section): Replace incorrect
+ 	function in base_funs; update reloc for cold sections if necessary.
+ 	* config/darwin.h (SECTION_FUNCTION):  Add code to update
+ 	last_text_section if appropriate.
+ 	(text_unlikely_section): Remove.
+ 	* config/sparc/sparc.c (sparc_output_deferred_case_vectors): Likewise.
+ 	* config/stormy16/stormy16.c (stormy_16_output_addr_vec): Likewise.
+ 	* config/xtensa/xtensa.c (override_options): Turn off hot/cold
+ 	partitioning for this architecture.
+ 
+ 2005-03-31  Olivier Hainque  <hainque@adacore.com>
+ 
+ 	* dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
+ 	defined and non-zero.
+ 
+ 2005-03-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+ 
+ 	PR c++/18644
+ 	* doc/invoke.texi (-Wsynth): Don't document, as it now is void of
+ 	semantics.
+ 
+ 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/20611
+ 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
+ 	label operand.  Remove (use (unspec..)).  Don't emit a label on
+ 	the offset word.
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
+ 	generate inline label for load_toc_v4_PIC_1b.
+ 	(rs6000_emit_load_toc_table): Likewise.
+ 
+ 2005-03-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf,
+ 	ns32k-*-netbsdelf*, and ns32k-*-netbsd*.
+ 
+ 2005-03-29  Devang Patel  <dpatel@apple.com>
+ 
+ 	* tree-sra.c (decide_block_copy): Disable scalarization of
+ 	sub-elements.
+ 
+ 2005-03-30  Stuart Hastings  <stuart@apple.com>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 
+ 	* Makefile.in (print-tree.o):  Depend on tree-iterator.h.
+ 	* print-tree.c (print_node):  Add case STATEMENT_LIST.
+ 
+ 2005-03-31  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
+ 	(powerpc64-*-linux*): Use it.  Rearrange tm_file assignment.
+ 	(powerpc-*-linux*): Build a biarch compiler when --enable-targets
+ 	is given with "powerpc64*" or "all", or when --with-cpu chooses
+ 	a 64-bit cpu.
+ 
+ 2005-03-30  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	PR debug/20268
+ 	* dwarf2out.c (add_high_low_attributes): New function, extracted from
+ 	gen_lexical_block_die.
+ 	(gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
+ 
+ 2005-03-31  Jan Hubicka  <jh@suse.cz>
+ 
+ 	2004-11-02  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_varpool_node_name): New function.
+ 	(dump_cgraph_varpool_node): New function.
+ 	(dump_varpool): New function.
+ 	* cgraphunit.c (cgraph_optimize): Dump varpool.
+ 
+ 	2004-10-16  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (decide_is_variable_needed): New function.
+ 	(cgraph_varpool_finalize_decl): Use it.
+ 	* cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
+ 	unit-at-a-time.
+ 	* final.c (output_addr_const): Do not call mark_referenced.
+ 	* passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
+ 	always go via cgraph.
+ 	* toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
+ 	(check_global_declarations): Ifdef out code clearing DECL_RTL.
+ 	* tree-optimize.c (execute_inline): Mark functions called.
+ 	* i386.c (output_pic_addr_const): Do not call mark_decl_referenced.
+ 
+ 	2004-10-11  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
+ 	(cgraph_varpool_last_needed_node): New static variable.
+ 	(enqueue_needed_varpool_node): Break out from ...; add items to the
+ 	end of queue; update first pointers.
+ 	(cgraph_varpool_mark_needed_node): ... here.
+ 	(cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
+ 	(cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
+ 	* cgraph.h (cgraph_varpool_node): Add analyzed field.
+ 	(cgraph_varpool_first_unanalyzed_node): Declare.
+ 	* cgraphunit.c: Include output.h.
+ 	(cgraph_varpool_analyze_pending_decls): New function.
+ 	(cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
+ 	for errors, analyze pending decls.
+ 	(cgraph_finalize_compilation_unit): Only analyze decls.
+ 	(cgraph_optimize): Assemble the decls after expanding.
+ 
+ 2005-03-30  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure
+ 	subvars get marked properly in tags for grouping.
+ 	(add_pointed_to_var): Mark only actual pointed to
+ 	variables/subvars in addresses needed.
+ 	(create_overlap_variables_for): Clear call clobbered on original
+ 	variable.
+ 	* tree-ssa-operands.c (get_asm_expr_operands): Don't let regular
+ 	addresable vars with subvars into list.
+ 	* tree-ssa.c (verify_ssa_name): Verify original is not used where
+ 	subvar should be.
+ 
+ 2005-03-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* cgraph.h (struct cgraph_node): Add alias.
+ 	* varasm.c (assemble_alias): Set it.
+ 	* cgraphunit.c (cgraph_assemble_pending_functions): Check it and
+ 	avoid calling cgraph_expand_function.
+ 
+ 2005-03-30  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* tree.def (FILE_TYPE): Removed.
+ 	* typeclass.h (enum type_class): Removed file_type_class.
+ 	* dwarf2out.c (is_base_type): Updated.
+ 	(gen_type_die): Likewise.
+ 	* dbxout.c (dbxout_type): Updated.
+ 	* builtins.c (type_to_class): Updated.
+ 	* tree.c (type_contains_placeholder_1): Updated.
+ 	* config/sparc/sparc.c (sparc_type_code): Updated.
+ 	* config/ia64/ia64.c (hfa_element_mode): Updated.
+ 	* expr.c (count_type_elements): Updated.
+ 	* stor-layout.c (layout_type): Updated.
+ 	* tree-inline.c (remap_type): Updated.
+ 	* tree-pretty-print.c (dump_generic_node): Updated.
+ 
+ 2005-03-30 Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* builtins.c (expand_builtin_powi): Fix mode of
+ 	2nd argument to match int.
+ 	* libgcc2.h (__powisf2, __powidf2, __powixf2, __powitf2): Change
+ 	2nd argument type to int.
+ 	* libgcc2.c: Change prototype of __powi* functions to use
+ 	int.
+ 
+ 2005-03-30  Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR middle-end/19225
+ 	* calls.c (expand_call):  Flush pending deferrals before
+ 	throwing call.
+ 
+ 2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/772
+ 	PR c/17913
+ 	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
+ 	C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
+ 	c_label_context, label_context_stack): New.
+ 	* c-decl.c (define_label): Check for jumps into statement
+ 	expressions.  Add label to list of defined labels.
+ 	(start_function): Push context on label_context_stack.
+ 	(finish_function): Pop context from label_context_stack.
+ 	* c-typeck.c (label_context_stack): New.
+ 	(c_finish_goto_label): Check for jumps into statement
+ 	expressions.  Add label to list of jumped to labels.
+ 	(struct c_switch): Add blocked_stmt_expr.
+ 	(c_start_case): Initialize it.
+ 	(do_case): Check it.
+ 	(c_finish_case): Verify !blocked_stmt_expr.
+ 	(c_begin_stmt_expr):  Push context on label_context_stack.
+ 	Increment blocked_stmt_expr.  Mark labels jumped to from outside
+ 	as undefinable.
+ 	(c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
+ 	defined in the statement expression and no longer jumpable to.
+ 	Mark labels jumped to from just outside the statement expression
+ 	as again definable.  Pop context from label_context_stack.
+ 	* doc/extend.texi (Statement Exprs): Update.
+ 
+ 2005-03-30  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/20368
+ 	* c-decl.c (start_function): Check for old_decl being
+ 	error_mark_node.
+ 
+ 2005-03-30  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* final.c (final): Remove prescan parameter.  Change all callers.
+ 	(final_scan_insn): Remove prescan parameter.  Change all callers.
+ 
+ 2005-03-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vectorizer.c: Fix comment typos.
+ 
+ 2005-03-30  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* tree-scalar-evolution.c (instantiate_parameters_1): Return
+ 	as soon as a chrec_dont_know is detected.
+ 
+ 2005-03-31  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	Merge from csl-arm-branch.
+ 	2004-02-12  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* tlink.c (recompile_files): Do not assume that "rename" can
+ 	overwrite an existing file.
+ 
+ 2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
+ 	* gcc/configure: Regenerate.
+ 
+ 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* doc/install.texi: Update binutils requirement for powerpc*-linux.
+ 
+ 	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Update comments.
+ 
+ 	* calls.c (struct arg_data): Update "partial" comment.
+ 	(load_register_parameters): Update "nregs" comment.
+ 
+ 2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/iq2000/iq2000.h (target_flags, MASK_GPOPT, MASK_EMBEDDED_DATA)
+ 	(MASK_UNINIT_CONST_IN_RODATA, TARGET_EMBEDDED_DATA, TARGET_SWITCHES)
+ 	(TARGET_DEFAULT, TARGET_CPU_DEFAULT, SUBTARGET_TARGET_OPTIONS)
+ 	(TARGET_OPTIONS, iq2000_cpu_string, iq2000_arch_string): Delete.
+ 	(TARGET_DEBUG_MODE, TARGET_DEBUG_A_MODE, TARGET_DEBUG_B_MODE)
+ 	(TARGET_DEBUG_C_MODE, TARGET_DEBUG_D_MODE): Define to 0 rather
+ 	than target_flags & 0.
+ 	* config/iq2000/iq2000.c (iq2000_cpu_string, iq2000_arch_string)
+ 	(iq2000_arch, iq2000_parse_cpu): Delete.
+ 	(TARGET_HANDLE_OPTION): Override default.
+ 	(iq2000_handle_option): New function.
+ 	(override_options): Remove -march= and -mcpu= handling.
+ 	* config/iq2000/iq2000.opt: New file.
+ 
+ 2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/c4x/c4x-protos.h (c4x_rpts_cycles, c4x_cpu_version): Delete.
+ 	* config/c4x/c4x.h (SMALL_MEMORY_FLAG, MPYI_FLAG, FAST_FIX_FLAG)
+ 	(RPTS_FLAG, C3X_FLAG, TI_FLAG, PARANOID_FLAG, MEMPARM_FLAG, DEVEL_FLAG)
+ 	(RPTB_FLAG, BK_FLAG, DB_FLAG, DEBUG_FLAG, HOIST_FLAG)
+ 	(LOOP_UNSIGNED_FLAG, FORCE_FLAG, PRESERVE_FLOAT_FLAG)
+ 	(PARALLEL_INSN_FLAG, PARALLEL_MPY_FLAG, ALIASES_FLAG, C30_FLAG)
+ 	(C31_FLAG, C32_FLAG, C33_FLAG, C40_FLAG, C44_FLAG, TARGET_SWITCHES)
+ 	(TARGET_DEFAULT, TARGET_SMALL, TARGET_MPYI, TARGET_FAST_FIX)
+ 	(TARGET_RPTS, TARGET_TI, TARGET_PARANOID, TARGET_MEMPARM, TARGET_DEVEL)
+ 	(TARGET_RPTB, TARGET_BK, TARGET_DB, TARGET_DEBUG, TARGET_HOIST)
+ 	(TARGET_LOOP_UNSIGNED, TARGET_FORCE, TARGET_PRESERVE_FLOAT)
+ 	(TARGET_PARALLEL, TARGET_PARALLEL_MPY, TARGET_ALIASES)
+ 	(c4x_rpts_cycles_string, c4x_cpu_version_string)
+ 	(TARGET_OPTIONS): Delete.
+ 	(c4x_rpts_cycles, c4x_cpu_version): Declare.
+ 	(TARGET_C3X, TARGET_C30, TARGET_C31, TARGET_C32, TARGET_C33)
+ 	(TARGET_C40, TARGET_C44): Redefine in terms of c4x_cpu_version.
+ 	* config/c4x/c4x.c (c4x_rpts_cycles_string): Delete.
+ 	(c4x_cpu_version_string): Delete.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(c4x_handle_option): New function.  Map -m3x and -m4x options to the
+ 	equivalent -mcpu= option.
+ 	(c4x_override_options): Remove -mrpts= and -mcpu= handling from here.
+ 	Deal with the extra conditions in the old TARGET_MPYI, TARGET_RPTB,
+ 	TARGET_DB, TARGET_PARALLEL and TARGET_PARALLEL_MPY macros by setting
+ 	or clearing the appropriate MASK_* bit.
+ 	(c4x_file_start): Use c4x_cpu_version.
+ 	* config/c4x/c4x.opt: New file.
+ 
+ 2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/options.texi: Document the new MaskExists flag.
+ 	* opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
+ 	if the option has the MaskExists flag.
+ 
+ 2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* opt-functions.awk (flag_set_p, test_flag): New functions.
+ 	(switch_flags): Use them.
+ 	* opth-gen.awk: Use flag_set_p to check for flags.
+ 	* optc-gen.awk: Likewise.  Use opt_args to check for Init(...) flags.
+ 
+ 2005-03-30  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* config.host (i[34567]86-*-mingw32*): Don't set
+ 	host_can_use_collect2 to no.
+ 
+ 2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/20203
+ 	* builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
+ 	Remove convert_memory_address call duplicating that in memory_address.
+ 
+ 2005-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/20519
+ 	* c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
+ 	(build_compound_literal): Likewise.  Propagate decl type into the
+ 	initializer.
+ 	(finish_decl): Likewise.  Use new return value from complete_array_type
+ 	for zero sized arrays.
+ 	(complete_array_type): Move ...
+ 	* c-common.c (complete_array_type): ... here.  Change first argument
+ 	to pointer-to-type-node.  Consistently use sizetype for the index
+ 	except for zero sized arrays.  Detect zero sized arrays for pedantic
+ 	mode diagnostics.  Create a new type node instead of modifying the
+ 	old node in place.
+ 	* c-tree.h (complete_array_type): Move decl ...
+ 	* c-common.h (complete_array_type): ... here.
+ 
+ 2005-03-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/19108
+ 	* tree-sra.c (generate_element_init_1): Handle RANGE_EXPR.
+ 
+ 2005-03-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtin-types.def, c-convert.c, c-format.c, ddg.c, debug.c,
+ 	debug.h, et-forest.c, et-forest.h, gcov.c, rtl-profile.c,
+ 	rtlhooks-def.h, rtlhooks.c, sdbout.c, tree-inline.h,
+ 	tree-profile.c, tsystem.h, value-prof.h: Update copyright.
+ 
+ 2005-03-29  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (mips_gimplify_va_arg_expr): Update for
+ 	truthvalue conversion removal.
+ 
+ 2005-03-29  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR bootstrap/14316
+ 	* collect2.c: Never include <vfork.h>.
+ 	(VFORK_STRING, vfork): Don't define.
+ 	(pid): Remove global variable.
+ 	(handler): Call raise instead of kill (getpid(), ...).
+ 	(collect_wait): Add pex parameter.  Change all callers.  Use
+ 	pex_get_status rather than pwait.
+ 	(do_wait): Add pex parameter.  Change all callers.
+ 	(collect_execute): Return struct pex_obj * rather than void.  Use
+ 	pex routines rather than pexecute.
+ 	(fork_execute): Get pex_obj from collect_execute, and pass it to
+ 	do_wait.
+ 	(scan_prog_file): Use pex routines rather than pipe/vfork/exec.
+ 	Only declare quit_handler if SIGQUIT is defined.
+ 	(scan_libraries): Likewise.
+ 	* collect2.h (collect_execute): Update declaration.
+ 	(collect_wait): Update declaration.
+ 	* tlink.c (tlink_execute): Get pex_obj from collect_execute, and
+ 	pass it to collect_wait.
+ 
+ 2005-03-29  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/20672
+ 	* c-parser.c (c_parser_compound_statement_nostart): Give error
+ 	message for EOF instead of just setting parser->error.
+ 
+ 2005-03-29  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard): Removed.
+ 	(slpeel_update_phi_nodes_for_guard1): New function.
+ 	(slpeel_update_phi_nodes_for_guard2): New function.
+ 	(slpeel_tree_peel_loop_to_edge): Call above new functions instead
+ 	of slpeel_update_phi_nodes_for_guard.
+ 	(vectorize_loops): Remove call to loop_closed_rewrite.
+ 	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Remove
+ 	assertion.
+ 
+ 2005-03-29  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/m32r/little.h (TARGET_ENDIAN_DEFAULT): Delete.
+ 	(TARGET_LITTLE_ENDIAN): New macro.
+ 	* config/m32r/m32r.h (SUBTARGET_SWITCHES, target_flags)
+ 	(TARGET_RELAX_MASK, TARGET_DEBUG_MASK, TARGET_DEBUG)
+ 	(TARGET_ALIGN_LOOPS_MASK, TARGET_ALIGN_LOOPS)
+ 	(TARGET_LOW_ISSUE_RATE_MASK, TARGET_LOW_ISSUE_RATE)
+ 	(TARGET_BRANCH_COST_MASK, TARGET_BRANCH_COST, TARGET_M32RX_MASK)
+ 	(TARGET_M32RX, TARGET_M32R2_MASK, TARGET_M32R2, LITTLE_ENDIAN_BIT)
+ 	(TARGET_ENDIAN_DEFAULT, SUBTARGET_SWITCHES, TARGET_DEFAULT)
+ 	(TARGET_SWITCHES, m32r_model_string, m32r_sdata_string)
+ 	(m32r_cache_flush_trap_string, SUBTARGET_OPTIONS)
+ 	(TARGET_OPTIONS): Delete.
+ 	(M32R_MODEL_DEFAULT, M32R_SDATA_DEFAULT): Turn into enums.
+ 	(CACHE_FLUSH_TRAP): Turn into an integer.
+ 	(TARGET_LITTLE_ENDIAN): Define to 0 by default.
+ 	(INITIALIZE_TRAMPOLINE): Check m32r_cache_trap >= 0 to see if
+ 	-mflush-trap is in use.
+ 	* config/m32r/m32r.c (m32r_model_string, m32r_sdata_string)
+ 	(m32r_cache_flush_trap_string): Delete.
+ 	(m32r_model) Initialize to M32R_MODEL_DEFAULT.
+ 	(m32r_sdata): Likewise M32R_SDATA_DEFAULT.
+ 	(m32r_cache_trap): Likewise CACHE_FLUSH_TRAP.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(m32r_handle_option): New function.  Move -mflush-trap=, -mflush-func=,
+ 	-mmodel= and -msdata= handling from...
+ 	(m32r_init): ...here.
+ 	* config/m32r/m32r.opt: New file.
+ 
+ 2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
+ 
+ 	* tree-ssanames.c (duplicate_ssa_name_ptr_info): New function.
+ 	(duplicate_ssa_name): Call duplicate_ssa_name_ptr_info.
+ 	* tree-vect-analyze.c (vect_object_analysis): additional parm
+ 	pass back a "struct ptr_info_def *" with the points-to info.
+ 	(vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the
+ 	statement using info returned from vect_object_analysis.
+ 	* tree-vect-transform.c (update_vuses_to_preheader): New function.
+ 	(vect_create_data_ref_ptr): Remove updates to vars_to_rename
+ 	for virtual uses and defs when creating a replacement vector
+ 	reference.  Call duplicate_ssa_name_ptr_info to define points-to
+ 	info for vector pointer replacement using STMT_VINFO_PTR_INFO.
+ 	(vectorizable_store): copy_virtual_operands and update
+ 	definition statements.
+ 	(vectorizable_load): copy_virtual_operands.  Remove call to
+ 	mark_call_clobbered_vars_to_rename for call to "const" builtin.
+ 	* tree-vectorizer.c (vectorize_loops): Remove calls to
+ 	rewrite_into_ssa and bitmap_clear (vars_to_rename).
+ 	(new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt.
+ 	* tree-vectorizer.h (_stmt_vec_info): add field ptr_info and
+ 	define macro STMT_VINFO_PTR_INFO for use in accessing.
+ 	* tree.h add export of duplicate_ssa_name_ptr_info.
+ 	* rs6000.c (altivec_init_builtins): Declare builtin function
+ 	__builtin_altivec_mask_for_load to be "const".
+ 
+ 2005-03-29  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/20622
+ 	* cgraph.h (struct cgraph_varpool_node): Add alias field.
+ 	* cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
+ 	assemble_variable on aliases.
+ 	* varasm.c (assemble_alias): Set node->alias.
+ 	* toplev.c (wrapup_global_declarations): Don't call
+ 	rest_of_decl_compilation on aliases again.
+ 
+ 2005-03-29  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm-protos.h (arm_dbx_register_number): Add prototype.
+ 	* config/arm/arm.c (arm_dbx_register_number): New function.
+ 	* config/arm/arm.h (IS_FPA_REGNUM, DBX_REGISTER_NUMBER): Define.
+ 
+ 2005-03-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/20263
+ 	* varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use
+ 	the DECL_NAME, not the DECL_ASSEMBLER_NAME.
+ 
+ 2005-03-29  Dale Johannesen <dalej@apple.com>
+ 
+ 	* Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H)
+ 	$(TREE_H) and $(COVERAGE_H).
+ 	* coverage.c (compute_checksum): Use DECL_NAME not DECL_ASSEMBLER_NAME.
+ 	* opts.c (common_handle_option): Enable tree-based value transforms.
+ 	* toplev.c (process_options): Ditto.
+ 	* value-prof.h (struct histogram_value_t): Redefine. "Adjust" below
+ 	refers to references to this type.
+ 	* tree-flow.h: (struct stmt_ann_d): Add histograms field.
+ 	* rtl-profile.c (rtl_gen_interval_profiler): Adjust. Remove checks
+ 	for may_be_more, may_be_less.
+ 	(rtl_gen_pow2_profiler): Adjust.
+ 	(rtl_gen_one_value_profiler_no_edge_manip): Adjust.
+ 	(rtl_gen_one_value_profiler): Adjust.
+ 	(rtl_gen_const_delta_profiler): Adjust.
+ 	* tree-profile.c (tree_gen_interval_profiler): Implement.
+ 	(tree_gen_pow2_profiler): Ditto.
+ 	(tree_gen_one_value_profiler): Ditto.
+ 	(tree_profiling): New.
+ 	(pass_tree_profile): Reference it.
+ 	* value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h,
+ 	tree.h, gcov-io.h.
+ 	(insn_divmod_values_to_profile): Rename to
+ 	rtl_divmod_values_to_profile. Adjust.
+ 	(insn_values_to_profile): Rename to rtl_values_to_profile. Adjust.
+ 	(insn_prefetch_values_to_profile): Adjust.
+ 	(rtl_value_profile_transformations): Adjust.
+ 	(gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value.
+ 	(gen_mod_pow2): Rename to rtl_mod_pow2.
+ 	(gen_mod_subtract): Rename to rtl_mod_subtract.
+ 	(divmod_fixed_value_transform): Rename to
+ 	rtl_divmod_fixed_value_transform.
+ 	(mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform.
+ 	(mod_subtract_transform): Rename to rtl_mod_subtract_transform.
+ 	(rtl_find_values_to_profile): Adjust.
+ 	(tree_value_profile_transformations): Implement.
+ 	(tree_divmod_values_to_profile): New.
+ 	(tree_values_to_profile): New.
+ 	(tree_divmod_fixed_value): New.
+ 	(tree_mod_pow2): New.
+ 	(tree_mod_subtract): New.
+ 	(tree_divmod_fixed_value_transform): New.
+ 	(tree_mod_pow2_value_transform): New.
+ 	(tree_mod_subtract_transform): New.
+ 	(tree_find_values_to_profile): Implement.
+ 	* profile.c (instrument_values):  Free histograms.
+ 	(compute_value_histograms): Adjust. Implement tree version.
+ 
+ 2005-03-29  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST> case.
+ 	* config/i386/i386.c (output_fix_trunc): Add new round_mode
+ 	variable.  Output "fldcw" depending on round_mode.
+ 	* config/i386/i386.md (UNSPEC_FIST): New.
+ 	(fistdi2, fistdi2_with_temp, fist<mode>2, fist<mode>2_with_temp):
+ 	New isns patterns to implement lrint and llrint built-ins as x87
+ 	intrinsic function.
+ 	(fistdi2, fist<mode>2 splitters): New splitters.
+ 	(lrint<mode>2): New expanders.
+ 
+ 2005-03-28  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* config/arc/arc.c (arc_output_function_epilogue): Pass prescan as
+ 	0 when calling final_scan_insn.
+ 
+ 2005-03-28  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR middle-end/20635
+ 	* varasm.c (mark_decl_referenced): Do not mark extern inline functions
+ 	as needed.
+ 
+ 	* tree-inline.c (estimate_num_insns_1): Use declaration to discover argument
+ 	types where possible.
+ 
+ 2005-03-26  Per Bothner  <per@bothner.com>
+ 
+ 	Make -f[no-]show-column also control non-cpp diagnostics.
+ 	* c.opt (fshow-column): Move option from here ...
+ 	* common.opt (fshow-column): ... to here.
+ 	* diagnostic.c (diagnostic_build_prefix): Only print column number
+ 	if flag_show_column.
+ 
+ 2005-03-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* vax-protos.h (vax_output_int_move, vax_output_int_add,
+ 	vax_output_conditional_branch): New prototypes.
+ 	* vax.c (vax_output_int_move, vax_output_int_add): New functions,
+ 	extracted from vax.md mov and add patterns.
+ 	(vax_output_conditional_branch): New function to output conditional
+ 	branch instructions.
+ 	* vax.md: Use mode macros for arithmetic and mov patterns.
+ 	Use code macros for the jump patterns.
+ 
+ 2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* Makefile.in (libbackend.o): Depend on version files;
+ 	add custom generation command.
+ 
+ 2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/20636
+ 	* config/rs6000/rs6000.md (extendsfdf2_fpr): Check to make
+ 	sure that we have a REG before getting its REGNO.
+ 
+ 2005-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
+ 	* builtins.def (BUILT_IN_STRNDUP): New.
+ 
+ 2005-03-25  Pat Haugen  <pthaugen@us.ibm.com>
+ 
+ 	PR tree-optimization/20470
+ 	* fold-const.c (fold_cond_expr_with_comparison): Recognize/fold
+ 	ABS(x-y).
+ 
+ 2005-03-25  Mike Stump  <mrs@apple.com>
+ 
+ 	* config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0
+ 	sized objects.
+ 
+ 2005-03-25  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin-fallback.c: Don't include <ucontext.h>.
+ 	Use our own structure definitions.
+ 
+ 	* config/rs6000/rs6000.md (UNSPEC constants): Add UNSPEC_STFIWX.
+ 	(fix_truncdfsi2): Allow registers or memory as destination.
+ 	When TARGET_PPC_GFXOPT, generate simplified pattern.
+ 	(fix_truncdfsi2_internal): Use define_insn_and_split.
+ 	(fix_truncdfsi2_internal_gfxopt): New.
+ 	(fctiwz): Don't confuse register allocation by giving it no choices.
+ 	(stfiwx): New.
+ 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'.
+ 	(EXTRA_MEMORY_CONSTRAINT): Likewise.
+ 	* config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
+ 	* config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New.
+ 
+ 2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* dominance.c (free_dominance_info): Speed up by freeing et
+ 	data structures without maintaining other nodes.
+ 	* et-forest.c (et_free_tree_force): New.
+ 	* et-forest.h: Add a prototype for et_free_tree_force.
+ 
+ 	* tree.c (get_set_constructor_bits,
+ 	get_set_constructor_bytes): Remove.
+ 	* tree.h: Remove the corresponding prototypes.
+ 
+ 2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
+ 
+ 	PR target/15491
+ 	* vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
+ 	(vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
+ 	FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
+ 	PRE_DEC, NEG and NOT.
+ 
+ 2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c: Convert uses of fold (build (...)) to
+ 	fold_buildN.
+ 
+ 2005-03-25  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR rtl-optimization/20249
+ 	* cse.c (insert_regs): Do not record equivalence of registers in
+ 	different modes.
+ 
+ 2005-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* emit-rtl.c (reverse_comparison): Remove.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 2005-03-24  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/install.texi (--enable-altivec): Delete docs.
+ 
+ 2005-03-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (easy_fp_constant): Return 0 for
+ 	SFmode and DFmode before reload when
+ 	flag_unsafe_math_optimizations not enabled.
+ 
+ 2005-03-24  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
+ 
+ 	* config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add
+ 	MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE.
+ 
+ 2005-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* configure.ac (enable-checking): Add 'runtime' option.
+ 	* doc/install.texi (enable-checking): Document 'runtime' checking.
+ 	* tsystem.h (gcc_assert, gcc_unreachable): Define.
+ 	* config.in: Regenerated.
+ 	* configure: Regenerated.
+ 
+ 2005-03-23  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Remove OTI_llrint.
+ 	(llrint_optab): Remove macro.
+ 	* optabs.c (init_optabs): Remove llrint_optab initialization.
+ 	* genopinit.c (optabs): Remove llrint_optab implementation.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LLRINT{,F,L}
+ 	using lrint_optab.
+ 
+ 2005-03-24  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR rtl-optimization/20532
+ 	* simplify-rtx.c (simplify_binary_operation_1): Protect from
+ 	overflow when adding coefficients for PLUS or MINUS.
+ 	(simplify_binary_operation_1): Handle CONST_DOUBLE exact power of
+ 	two as multiplier.
+ 
+ 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* langhooks.h (truthvalue_conversion): Remove.
+ 	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+ 	LANG_HOOKS_TRUTHVALUE_CONVERSION.
+ 	* system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
+ 	* gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
+ 	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+ 
+ 2005-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* params.def: Fix a typo.
+ 	* config/mips/mips.c: Follow the spelling convensions.
+ 	* doc/invoke.texi: Fix typos.
+ 
+ 2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20601
+ 
+ 	* tree-ssa-pre.c (insert_aux): Add missing condition to
+ 	constification.
+ 
+ 2005-03-23  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* final.c (final_scan_insn): Don't remove no-op instructions.
+ 	* reload1.c (reload): Remove simple no-op instructions even when
+ 	not optimizing.
+ 
+ 2005-03-23  Dorit Naishlos  <dorit@il.ib.com>
+ 
+ 	PR tree-optimization/20501
+ 	* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
+ 	reporting that peeling for alignment is applied moved to...
+ 	* (vect_analyze_data_refs_alignment): Here.
+ 
+ 2005-03-23  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* reorg.c (dbr_schedule): Remove #if 0 code to call final.
+ 
+ 2005-03-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+ 
+ 	* config.gcc (alpha*-dec-osf[45]*): Remove target_cpu_default.
+ 	Define TARGET_SUPPORT_ARCH except on Tru64 UNIX V4.0A.
+ 
+ 2005-03-23  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
+ 	imply that this is called once, independent of asms in code.
+ 	Adjust to now being pased output and input lists.  Mention helper
+ 	function decl_overlaps_hard_reg_set_p.
+ 	* hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from
+ 	hook_tree_tree_identity and to take three trees, returning third.
+ 	* hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the
+ 	prototype.
+ 	* stmt.c: include hard-reg-set.h before tree.h.
+ 	(decl_overlaps_hard_reg_set_p): New function, broken out from...
+ 	(decl_conflicts_with_clobbers_p): Call
+ 	decl_overlaps_hard_reg_set_p.
+ 	(expand_asm_operands): Pass output and input lists in call to
+ 	targetm.md_asm_clobbers.
+ 	* target-def.h (TARGET_MD_ASM_CLOBBERS): Define as
+ 	hook_tree_tree_tree_tree_3rd_identity.
+ 	* target.h (struct gcc_target.md_asm_clobbers): Take three tree
+ 	parameters.
+ 	* tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype.
+ 	* config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three
+ 	parameters, first two unused.
+ 	* config/cris/cris.c (cris_md_asm_clobbers): Adjust to added
+ 	parameters.  Only add MOF to clobbers if there's no 'h' mentioned
+ 	in constraint letters and MOF is not mentioned as a asm-declared
+ 	register in neither of the input and output lists.
+ 
+ 2005-03-23  DJ Delorie  <dj@redhat.com>
+ 
+ 	* optabs.c (expand_binop): Make sure the first subword's result
+ 	gets stored.
+ 
+ 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Adjust comment.
+ 	Call c_common_truthvalue_conversion rather than
+ 	lang_hooks.truthvalue_conversion.
+ 	* c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
+ 	* c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
+ 	c-typeck.c.
+ 	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
+ 	c_common_truthvalue_conversion.
+ 	* c-parser.c (c_parser_paren_condition, c_parser_for_statement,
+ 	c_parser_conditional_expression, c_parser_binary_expression): Call
+ 	c_objc_common_truthvalue_conversion.
+ 	* c-typeck.c (build_unary_op): Call
+ 	c_objc_common_truthvalue_conversion.
+ 	(build_conditional_expr): Do not call
+ 	lang_hooks.truthvalue_conversion.
+ 	(build_binary_op): Call c_common_truthvalue_conversion.
+ 	(c_objc_common_truthvalue_conversion): Moved from
+ 	c-objc-common.c.  Call default_function_array_conversion instead
+ 	of default_conversion.
+ 
+ 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.h (default_conversion): Remove.
+ 	(perform_integral_promotions): Add.
+ 	* c-tree.h (default_conversion): Add.
+ 	* c-typeck.c (perform_integral_promotions): New, split out from
+ 	default_conversion.
+ 	* c-common.c (check_case_value): Use perform_integral_promotions,
+ 	not default_conversion.
+ 	(c_add_case_label): Don't continue processing case label after
+ 	found to be pointer.
+ 
+ 2005-03-23  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* gcc.c (do_spec_1): Do not add a -L path for a directory in
+ 	the prefix list if we have already added a multilib directory
+ 	based on that path.
+ 	(main): Do not add MD_EXEC_PREFIX to the list of directories to
+ 	search with -L.
+ 
+ 2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* reload1.c (indirect_symref_ok, reload_obstack): Make them
+ 	static.
+ 	* reload.h: Remove the prototype for indirect_symref_ok.
+ 
+ 	* reload1.c (indirect_symref_ok): Make it global.
+ 	* reload.h: Add a prototype for indirect_symref_ok.
+ 
+ 2005-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/sh.md (ashlhi3): Rename to *ashlhi3_n and add a new
+ 	ashlhi3 expander.
+ 
+ 2005-03-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+ 
+ 	* tree.h (DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER): Clarify comments.
+ 
+ 2005-03-22  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* c-opts.c (c_common_parse_file): Only start/end main source file
+ 	if debug hooks says the writer wants it.
+ 	* dbxout.c (dbx_debug_hooks): Add start_end_main_source_file
+ 	member.
+ 	(xcoff_debug_hooks): Ditto.
+ 	* debug.c (do_nothing_hooks): Ditto.
+ 	* debug.h (gcc_debug_hooks): Ditto.
+ 	* dwarf2out.c (dwarf2_debug_hooks): Ditto.
+ 	* sdbout.c (sdb_debug_hooks): Ditto.
+ 	* vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
+ 
+ 2005-03-22  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/extend.texi: Deprecate C++ min/max operators.
+ 
+ 2005-03-22  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (determine_iv_cost): Do not try to preserve
+ 	artificial original candidates.
+ 
+ 2005-03-22  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
+ 	    Jan Hubicka  <jh@suse.cz>
+ 	    Steven Bosscher <stevenb@suse.de>
+ 
+ 	* cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
+ 	call cost based on argument sizes.
+ 	(cgraph_mark_inline_edge): Avoid inline unit from shrinking by
+ 	inlining.
+ 	* params.def: (max-inline-inssn-single): Set to 450.
+ 	(max-inline-insns-auto): Set to 90.
+ 	(max-inline-insns-recursive): Set to 450
+ 	(max-inline-insns-recursive-auto): Set to 450.
+ 	(large-function-insns): Set to 2700.
+ 	(inline-call-cost): New parameter.
+ 	* tree-inline.c (estimate_move_cost): New function.
+ 	(estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
+ 	for non-gimple-regs, set cost to 0 for gimple-regs.  Compute call size
+ 	based on arguments.
+ 	* tree-inline.h (estimate_move_cost): Declare.
+ 	* invoke.texi: (max-inline-inssn-single): Change default to 450.
+ 	(max-inline-insns-auto): Change default to 90.
+ 	(max-inline-insns-recursive): Change default to 450
+ 	(max-inline-insns-recursive-auto): Change default to 450.
+ 	(large-function-insns): Change default to 2700.
+ 	(inline-call-cost): Document new parameter.
+ 
+ 2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/i860/i860.h (target_flags, TARGET_XP, TARGET_SWITCHES)
+ 	(TARGET_DEFAULT): Delete.
+ 	* config/i860/i860.opt: New file.
+ 
+ 2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv-protos.h (frv_branch_cost_string, frv_branch_cost_int)
+ 	(frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
+ 	(frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
+ 	(frv_sched_lookahead): Delete.
+ 	* config/frv/frv.h (MASK_DEFAULT_ALLOC_CC): Move to frv.c.
+ 	(target_flags, MASK_GPR_32, MASK_FPR_32, MASK_SOFT_FLOAT)
+ 	(MASK_ALLOC_CC, MASK_DWORD, MASK_DOUBLE, MASK_MEDIA, MASK_MULADD)
+ 	(MASK_LIBPIC, MASK_ACC_4,  MASK_PACK, MASK_LONG_CALLS)
+ 	(MASK_ALIGN_LABELS, MASK_LINKED_FP, MASK_BIG_TLS, MASK_DEBUG_ARG)
+ 	(MASK_DEBUG_ADDR, MASK_DEBUG_STACK, MASK_DEBUG, MASK_DEBUG_LOC)
+ 	(MASK_DEBUG_COND_EXEC, MASK_NO_COND_MOVE, MASK_NO_SCC)
+ 	(MASK_NO_COND_EXEC, MASK_NO_VLIW_BRANCH, MASK_NO_MULTI_CE)
+ 	(MASK_FDPIC, MASK_INLINE_PLT, MASK_GPREL_RO, MASK_DEFAULT)
+ 	(TARGET_GPR_32, TARGET_FPR_32, TARGET_SOFT_FLOAT, TARGET_ALLOC_CC)
+ 	(TARGET_DWORD, TARGET_DOUBLE, TARGET_MEDIA, TARGET_MULADD)
+ 	(TARGET_LIBPIC, TARGET_ACC_4, TARGET_DEBUG_ARG, TARGET_DEBUG_ADDR)
+ 	(TARGET_DEBUG_STACK, TARGET_DEBUG, TARGET_DEBUG_LOC)
+ 	(TARGET_DEBUG_COND_EXEC, TARGET_NO_COND_MOVE, TARGET_NO_SCC)
+ 	(TARGET_NO_COND_EXEC, TARGET_NO_VLIW_BRANCH, TARGET_NO_MULTI_CE)
+ 	(TARGET_NO_NESTED_CE, TARGET_FDPIC, TARGET_INLINE_PLT, TARGET_BIG_TLS)
+ 	(TARGET_GPREL_RO, TARGET_PACK, TARGET_LONG_CALLS, TARGET_ALIGN_LABELS)
+ 	(TARGET_LINKED_FP, TARGET_GPR_64, TARGET_FPR_64, TARGET_HARD_FLOAT)
+ 	(TARGET_FIXED_CC, TARGET_COND_MOVE, TARGET_SCC, TARGET_COND_EXEC)
+ 	(TARGET_VLIW_BRANCH, TARGET_MULTI_CE, TARGET_NESTED_CE, TARGET_ACC_8)
+ 	(TARGET_SWITCHES, TARGET_OPTIONS, DEFAULT_CONDEXEC_TEMPS)
+ 	(DEFAULT_BRANCH_COST, DEFAULT_CONDEXEC_INSNS): Delete.
+ 	* config/frv/frv.c (frv_branch_cost_string, frv_branch_cost_int)
+ 	(frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
+ 	(frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
+ 	(frv_sched_lookahead): Delete.
+ 	(MASK_DEFAULT_ALLOC_CC): Moved from frv.h.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ 	(frv_handle_option): New function.  Move -mcpu= handling from...
+ 	(frv_override_options): ...here.  Remove handling of other
+ 	TARGET_OPTIONS.
+ 	(frv_ifcvt_modify_tests): Check !TARGET_COND_EXEC instead of
+ 	TARGET_NO_COND_EXEC and !TARGET_NESTED_CE to TARGET_NO_NESTED_CE.
+ 	(frv_ifcvt_modify_multiple_tests): Likewise !TARGET_MULTI_CE
+ 	and TARGET_NO_MULTI_CE.
+ 	(frv_for_each_packet): Likewise TARGET_NO_VLIW_BRANCH and
+ 	!TARGET_VLIW_BRANCH.
+ 	* config/frv/frv.opt: New file.
+ 
+ 2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_ternary): Take decomposed arguments of
+ 	CALL_EXPR.
+ 	(fold): Update a call to fold_ternary.
+ 
+ 	* fold-const.c (fold_build1, fold_build2, fold_build3): New.
+ 	* tree.h: Add corresponding prototypes.
+ 
+ 2005-03-22  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/20561
+ 	* cfglayout.c (reemit_insn_block_notes): Don't put block notes in
+ 	between jump table and its label.
+ 	* final.c (shorten_branches): Handle notes in between ADDR_VEC
+ 	resp. ADDR_DIFF_VEC and the label preceeding it.
+ 	(final_scan_insn): Likewise.  Ensure ADDR_VEC resp. ADDR_DIFF_VEC
+ 	is emitted in the right section.
+ 
+ 2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_unary, fold_binary): Update comments
+ 	about arguments.
+ 
+ 2005-03-22  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR rtl-optimization/20527
+ 	* combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
+ 	REG_INC note, test that the register also isn't mentioned in PRED
+ 	or SUCC.
+ 
+ 2005-03-22  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype
+ 	and definition.
+ 
+ 2005-03-21  Mike Stump  <mrs@apple.com>
+ 
+ 	* varasm.c (default_assemble_visibility): Remove extra ().
+ 
+ 2005-03-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/20557
+ 	* bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
+ 	to determine whether a block can be duplicated, rather than test
+ 	whether the block contains noncopyable insns ourselves.
+ 
+ 2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
+ 	predicates.
+ 
+ 2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/ip2k/ip2k.h (target_flags, TARGET_SWITCHES): Delete.
+ 
+ 2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/fr30/fr30.h (TARGET_SMALL_MODEL_MASK, TARGET_SMALL_MODEL)
+ 	(TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
+ 	* config/fr30/fr30.opt: New file.
+ 
+ 2005-03-18  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20542
+ 
+ 	* tree-flow-inline.h (overlap_subvar): Move to here.
+ 	* tree-ssa-operands.c: From here.
+ 	* tree-flow.h (overlap_subvar): Declare.
+ 	* tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
+ 	* tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
+ 	for variables with subvars.
+ 
+ 2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
+ 
+ 	PR middle-end/20177
+ 	* ddg.c (create_ddg_dependence): Ignore reg-anti dependency.
+ 	* modulo-sched.c (const_iteration_count): Return on NULL
+ 	pre-header.
+ 	(print_node_sched_params): Return on NULL dump_file.
+ 	(generate_reg_moves): Handle reg-anti dependencies and disregard
+ 	closing branch when generating register moves.
+ 	(sms_schedule): Mark the SMSed block dirty.
+ 	* passes.c (rest_of_handle_sms): Call update_life_info for all
+ 	basic-blocks.
+ 	* testsuite/gcc.dg/20050321-1.c: New test.
+ 
+ 2005-03-21  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
+ 	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
+ 	movqi_internal): Likewise.
+ 
+ 2005-03-21  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
+ 	xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
+ 	xtensa_b4const): Delete prototypes.
+ 	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
+ 	xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
+ 	(xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
+ 	xtensa_extra_constraint): New prototypes.
+ 	(add_operand, arith_operand, nonimmed_operand, mem_operand,
+ 	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ 	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ 	move_operand, const_float_1_operand, fpmem_offset_operand,
+ 	branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
+ 	* config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
+ 	(xtensa_b4const_or_zero): ...this.  Change return type to bool and
+ 	argument type to HOST_WIDE_INT.
+ 	(xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
+ 	xtensa_mask_immediate): Likewise.
+ 	(xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
+ 	Likewise.  Also make these functions static.
+ 	(xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
+ 	(xtensa_const_ok_for_letter_p): New.
+ 	(add_operand, arith_operand, nonimmed_operand, mem_operand,
+ 	mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ 	lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ 	move_operand, const_float_1_operand, fpmem_offset_operand,
+ 	branch_operator, ubranch_operator, boolean_operator): Move to
+ 	predicates.md.
+ 	(smalloffset_mem_p): Inline code from xtensa_lsi4x4.
+ 	(xtensa_mem_offset): Change return type to bool.
+ 	(xtensa_extra_constraint): New.
+ 	(gen_int_relational): Update type of const_range_p function pointer.
+ 	Use xtensa_b4const_or_zero.
+ 	* config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
+ 	xtensa_const_ok_for_letter_p.  Update comments.
+ 	(EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
+ 	(PREDICATE_CODES): Delete.
+ 	* config/xtensa/xtensa.md: Include predicates.md.
+ 	* config/xtensa/predicates.md: New file.
+ 
+ 2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/v850/v850-protos.h: Remove the prototypes for
+ 	reg_or_int9_operand, reg_or_const_operand,
+ 	pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
+ 	reg_or_0_operand, reg_or_int5_operand, call_address_operand,
+ 	movsi_source_operand, power_of_two_operand,
+ 	not_power_of_two_operand, special_symbolref_operand,
+ 	pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
+ 	register_is_ok_for_epilogue.
+ 	* config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
+ 	reg_or_int9_operand, reg_or_const_operand,
+ 	call_address_operand, special_symbolref_operand,
+ 	movsi_source_operand, power_of_two_operand,
+ 	not_power_of_two_operand, register_is_ok_for_epilogue,
+ 	pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
+ 	pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
+ 	predicates.md.
+ 	* config/v850/v850.h (PREDICATE_CODES): Remove.
+ 	* config/v850/v850.md: Include predicates.md.
+ 	* config/v850/predicates.md: New.
+ 
+ 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* Makefile.in (BASEVER, DEVPHASE, DATESTAMP)
+ 	(BASEVER_c, DEVPHASE_c, DATESTAMP_c)
+ 	(BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
+ 	(itoolsdir, itoolsdatadir): Move definition above new first use.
+ 	(install-itoolsdirs): New rule.
+ 	(install-mkheaders): Depend on install-itoolsdirs, not
+ 	install-include-dir.
+ 
+ 2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c: Remove obsolete comments.
+ 
+ 2005-03-21  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
+ 	unrolling if -fpeel-loops is specified, too.
+ 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+ 	Remove superfluous check for flag_unroll_loops.
+ 
+ 2005-03-21  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
+ 	(lrint_optab, llrint_optab): Define corresponding macros.
+ 	* optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
+ 	* genopinit.c (optabs): Implement lrint_optab using lrintsi2
+ 	pattern and llrint_optab using llrintdi2 patterns.
+ 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
+ 	using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
+ 	(expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
+ 	BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
+ 	flag_unsafe_math_optimizations is set.
+ 
+ 2005-03-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (combine_simplify_rtx, simplify_if_then_else,
+ 	simplify_logical, if_then_else_cond, known_cond,
+ 	simplify_comparison): Adjust calls to reverse_comparison.
+ 	Don't use combine_reversed_comparison_code).
+ 	(combine_reversed_comparison_code): Remove.
+ 	(reversed_comparison): Using reversed_comparison_code, move it...
+ 	* jump.c (reversed_comparison): ... here.
+ 	* rtl.h (reversed_comparison): Add prototype.
+ 
+ 2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin): Take decomposed arguments of
+ 	CALL_EXPR.
+ 	* fold-const.c (fold_ternary): Update a call to fold_builtin.
+ 	* gimplify.c (gimplify_call_expr): Likewise.
+ 	* tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
+ 	* tree.h: Update the prototype of fold_builtin.
+ 
+ 2005-03-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
+ 	* rtlhooks.c (gen_lowpart_no_emit_general): New.
+ 	* rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
+ 	(RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
+ 	* simplify-rtx.c (simplify_binary_operation_1): Use it.
+ 
+ 2005-03-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin_1): Take decomposed arguments of
+ 	CALL_EXPR.
+ 	(fold_builtin): Update a call to fold_builtin_1.
+ 
+ 2005-03-21  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	PR other/20564
+ 	* gcov.c (output_lines): Only output function block summary when
+ 	outputting branch information.
+ 	* doc/gcov.texi: Document format of preamble and additional block
+ 	information lines.
+ 
+ 2005-03-21  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
+ 	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
+ 	the defaults false if BITS_PER_UNIT != 8.
+ 	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
+ 	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
+ 	than BITS_PER_UNIT != 8.
+ 	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
+ 	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
+ 	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
+ 	#undefs.
+ 	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
+ 	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
+ 
+ 2005-03-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/20539
+ 	* fold-const.c (fold_binary): Fix type mismatch between
+ 	TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
+ 	(fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
+ 	for non-truth-valued expressions.
+ 
+ 	* c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
+ 	and FUNCTION_DECL in the main switch.
+ 	<TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+ 	TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
+ 	we also need to convert their operands to match.
+ 	<TRUTH_NOT_EXPR>: Likewise.
+ 
+ 2005-03-21  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (lvalue_or_else): Replace by lvalue_error; only give
+ 	diagnostic without checking whether an lvalue.
+ 	* c-common.h (lvalue_p): Remove.
+ 	(enum lvalue_use): Update comment.
+ 	(lvalue_or_else): Replace by lvalue_error.
+ 	* c-typeck.c (lvalue_p): Make static.
+ 	(lvalue_or_else): New.  Call lvalue_error.
+ 
+ 2005-03-21  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_parm_start): New function.
+ 	(function_arg_advance): Use rs6000_parm_start.
+ 	(function_arg, rs6000_arg_partial_bytes): Likewise.
+ 
+ 2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (check_case_value): Adjust comment about stripping
+ 	NOPs.
+ 	(handle_vector_size_attribute): Don't strip NON_LVALUE_EXPR.
+ 	* c-typeck.c (default_conversion, convert_arguments,
+ 	build_modify_expr, convert_for_assignment, store_init_value,
+ 	digest_init): Use STRIP_TYPE_NOPS instead of stripping nops
+ 	manually.  Remove inaccurate comments.
+ 
+ 2005-03-20  Roger Sayle  <roger@eyesopen.com>
+ 	    Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* varasm.c (do_assemble_alias): Restore comment describing function.
+ 	Annotate the target parameter as potentially unused.
+ 
+ 2005-03-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	PR target/18551
+ 	* config/avr/avr.c (avr_output_function_prologue): Do not use
+ 	current_function_name() in a label, use a local label instead.
+ 
+ 2005-03-20  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_generate_compare): Test
+ 	flag_finite_math_only, not flag_unsafe_math_optimizations.
+ 
+ 2005-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin_1): Update a call to
+ 	targetm.fold_builtin.
+ 	* hooks.c (hook_tree_tree_bool_null): Rename to
+ 	hook_tree_tree_tree_bool_null.  Take one more argument of type
+ 	tree.
+ 	* hooks.h: Update the prototype of hook_tree_tree_bool_null.
+ 	* target-def.h (TARGET_FOLD_BUILTIN): Define it as
+ 	hook_tree_tree_tree_bool_null.
+ 	* target.h (gcc_target): Update the prototype of fold_builtin.
+ 	* config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
+ 	arguments of CALL_EXPR.
+ 	* doc/tm.texi (TARGET_FOLD_BUILTIN): Update.  Mention the
+ 	new prototype.
+ 
+ 2005-03-20  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* cgraph.h (cgraph_node): Add prev_clone pointer.
+ 	* cgraph.c (cgraph_remove_node): Remove from doubly linked chain.
+ 	(cgraph_clone_node): Produce doubly linked chain.
+ 
+ 2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (handle_aligned_attribute, check_function_sentinel,
+ 	get_nonnull_operand, handle_sentinel_attribute,
+ 	check_function_arguments_recurse): Do not strip NOPS from
+ 	INTEGER_CSTs.
+ 	* c-decl.c (check_bitfield_type_and_width, build_enumerator):
+ 	Likewise.
+ 	* c-format.c (get_constant): Likewise.
+ 	* c-parser.c (c_parser_postfix_expression): Likewise.
+ 	* c-typeck.c (set_init_index): Likewise.
+ 	(convert_arguments): Don't check for NOP_EXPR containing integer
+ 	constant.
+ 
+ 2005-03-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
+ 	fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
+ 	Take decomposed arguments of CALL_EXPR.
+ 	(fold_builtin_1): Update calls to the functions mentioned
+ 	above.
+ 
+ 2005-03-20  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-decl.c (check_bitfield_type_and_width): Require bit-field
+ 	width to have integer type.
+ 	(build_enumerator): Require enumerator value to have integer type.
+ 
+ 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/extend.texi (__builtin_inf): Move statement about INFINITY
+ 	to __builtin_inff.
+ 
+ 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
+ 	std=iso9899:199x): Correct descriptions.
+ 
+ 2005-03-19  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config.gcc: Consistently use solaris2.1[0-9]* instead of
+ 	solaris2.1[0-9].
+ 
+ 2005-03-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin_memcpy): Take decomposed arguments
+ 	of CALL_EXPR.
+ 	(expand_builtin_memcpy, fold_builtin_1): Update calls to
+ 	fold_builtin_memcpy.
+ 
+ 	* builtins.c (fold_trunc_transparent_mathfn): Take decomposed
+ 	arguments of CALL_EXPR.
+ 	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil,
+ 	fold_builtin_found, fold_builtin_1): Update calls to
+ 	fold_trunc_transparent_mathfn.
+ 
+ 2005-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/20493
+ 	* fold-const.c (fold_widened_comparison): Don't optimize casts of
+ 	function pointers on targets that require function pointer
+ 	canonicalization.
+ 	(fold_sign_changed_comparison): Likewise.
+ 
+ 2005-03-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* combine.c (try_combine): When changing the mode of a hard reg, make
+ 	sure that doing so is valid.
+ 
+ 2005-03-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/avr/avr.c (avr_init_stack, avr_mcu_name): Make static.
+ 	(TARGET_HANDLE_OPTION): Override default.
+ 	(avr_handle_option): New function.
+ 	* config/avr/avr.h (MASK_ALL_DEBUG, MASK_ORDER_1, MASK_INSN_SIZE_DUMP)
+ 	(MASK_ORDER_2, MASK_NO_TABLEJUMP, MASK_INT8, MASK_NO_INTERRUPTS)
+ 	(MASK_CALL_PROLOGUES, MASK_TINY_STACK, MASK_SHORT_CALLS)
+ 	(TARGET_ORDER_1, TARGET_ORDER_2, TARGET_INT8, TARGET_NO_INTERRUPTS)
+ 	(TARGET_INSN_SIZE_DUMP, TARGET_CALL_PROLOGUES, TARGET_TINY_STACK)
+ 	(TARGET_NO_TABLEJUMP, TARGET_SHORT_CALLS, TARGET_ALL_DEBUG)
+ 	(TARGET_SWITCHES, avr_init_stack, avr_mcu_name)
+ 	(TARGET_OPTIONS): Delete.
+ 	* config/avr/avr.opt: New file.
+ 
+ 2005-03-18  2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r-protos.h: Remove the prototypes for
+ 	call_address_operand, symbolic_operand, seth_add3_operand,
+ 	cmp_int16_operand, uint16_operand, reg_or_int16_operand,
+ 	reg_or_uint16_operand, reg_or_cmp_int16_operand,
+ 	two_insn_const_operand, move_src_operand,
+ 	move_double_src_operand, move_dest_operand,
+ 	eqne_comparison_operator, signed_comparison_operator,
+ 	large_insn_p, conditional_move_operand, carry_compare_operand,
+ 	m32r_block_immediate_operand, extend_operand,
+ 	reg_or_eq_int16_operand, int8_operand, and
+ 	reg_or_zero_operand.
+ 	* config/m32r/m32r.c (call_address_operand, symbolic_operand,
+ 	seth_add3_operand, int8_operand, cmp_int16_operand,
+ 	uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
+ 	reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
+ 	reg_or_zero_operand, two_insn_const_operand, move_src_operand,
+ 	move_double_src_operand, move_dest_operand,
+ 	eqne_comparison_operator, signed_comparison_operator,
+ 	extend_operand, small_insn_p, large_insn_p,
+ 	conditional_move_operand, carry_compare_operand,
+ 	m32r_block_immediate_operand): Move to predicates.md.
+ 	(MAX_MOVE_BYTES): Move to m32r.h.
+ 	* config/m32r/m32r.h (PREDICATE_CODES): Remove.
+ 	* config/m32r/m32r.md: Include predicates.md.
+ 	* config/m32r/predicates.md: New.
+ 
+ 2005-03-18  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR c++/19769
+ 	* dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
+ 	origin.
+ 
+ 2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/mn10300/mn10300-protos.h: Remove the prototypes for
+ 	call_address_operand, const_8bit_operand.
+ 	* config/mn10300/mn10300.c (call_address_operand,
+ 	const_8bit_operand, const_1f_operand): Move to predicates.md.
+ 	* config/mn10300/mn10300.h (PREDICATE_CODES): Remove.
+ 	* config/mn10300/mn10300.md: Include predicates.md.
+ 	* config/mn10300/predicates.md: New.
+ 
+ 2005-03-18  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
+ 	declarations in diagnostics and %E for identifiers, not %s.
+ 
+ 2005-03-18  Jan Hubicka  <jh@suse.cz>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 
+ 	* basic-block.h (scale_bbs_frequencies_int,
+ 	scale_bbs_frequencies_gcov_type): Declare.
+ 	* cfg.c (RDIV): New macro.
+ 	(update_bb_frequency_for_threading): Fix.
+ 	* basic-block.h (scale_bbs_frequencies_int,
+ 	scale_bbs_frequencies_gcov_type): New.
+ 	* cfgloopmanip.c (scale_bbs_frequencies): Kill.
+ 	(scale_loop_frequencies, duplicate_loop_to_header_edge): Use
+ 	scale_bbs_frequencies_int.
+ 	* tree-ssa-loop-ch.c (copy_loop_headers): Fix profiling info.
+ 
+ 2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/m32r/m32r-protos.h: Remove the prototypes for
+ 	call_address_operand, symbolic_operand, seth_add3_operand,
+ 	cmp_int16_operand, uint16_operand, reg_or_int16_operand,
+ 	reg_or_uint16_operand, reg_or_cmp_int16_operand,
+ 	two_insn_const_operand, move_src_operand,
+ 	move_double_src_operand, move_dest_operand,
+ 	eqne_comparison_operator, signed_comparison_operator,
+ 	large_insn_p, conditional_move_operand, carry_compare_operand,
+ 	m32r_block_immediate_operand, extend_operand,
+ 	reg_or_eq_int16_operand, int8_operand, and
+ 	reg_or_zero_operand.
+ 	* config/m32r/m32r.c (call_address_operand, symbolic_operand,
+ 	seth_add3_operand, int8_operand, cmp_int16_operand,
+ 	uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
+ 	reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
+ 	reg_or_zero_operand, two_insn_const_operand, move_src_operand,
+ 	move_double_src_operand, move_dest_operand,
+ 	eqne_comparison_operator, signed_comparison_operator,
+ 	extend_operand, small_insn_p, large_insn_p,
+ 	conditional_move_operand, carry_compare_operand,
+ 	m32r_block_immediate_operand): Move to predicates.md.
+ 	(MAX_MOVE_BYTES): Move to m32r.h.
+ 	* config/m32r/m32r.h (PREDICATE_CODES): Remove.
+ 	* config/m32r/m32r.md: Include predicates.md.
+ 	* config/m32r/predicates.md: New.
+ 
+ 	* config/pa/pa-protos.h: Add prototypes for magic_milli and
+ 	shadd_constant_p.
+ 	* config/pa/pa.c (reg_or_0_operand, call_operand_address,
+ 	symbolic_operand, symbolic_memory_operand,
+ 	reg_or_0_or_nonsymb_mem_operand, reg_before_reload_operand,
+ 	indexed_memory_operand, move_dest_operand, move_src_operand,
+ 	prefetch_cc_operand, prefetch_nocc_operand,
+ 	reg_or_cint_move_operand, pic_label_operand, fp_reg_operand,
+ 	arith_operand, arith11_operand, pre_cint_operand,
+ 	post_cint_operan, arith_double_operand, ireg_or_int5_operand,
+ 	ireg_operand, int5_operand, uint5_operand, int11_operand,
+ 	uint32_operand, arith5_operand, and_operand, ior_operand,
+ 	lhs_lshift_operand, lhs_lshift_cint_operand, arith32_operand,
+ 	pc_or_label_operand, div_operand, plus_xor_ior_operator,
+ 	shadd_operand, movb_comparison_operator,
+ 	cmpib_comparison_operator): Move to predicates.md.
+ 	(magic_milli, shadd_constant_p): Make it extern.
+ 	* config/pa/pa.h (PREDICATE_CODES): Remove.
+ 	* config/pa/pa.md: Include predicates.md.
+ 	* config/pa/predicates.md: New.
+ 
+ 	* config/v850/v850.h (PREDICATE_CODES): Remove a nonexistent
+ 	predicate.
+ 
+ 2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* hooks.c, hooks.h, intl.c, opts.h, prefix.c, tree-gimple.c,
+ 	config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
+ 	config/alpha/freebsd.h, config/alpha/linux.h,
+ 	config/alpha/netbsd.h, config/alpha/osf5.h,
+ 	config/alpha/vms.h, config/arc/arc.c, config/arc/arc.h,
+ 	config/h8300/h8300-protos.h, config/h8300/h8300.c,
+ 	config/h8300/h8300.h, config/ia64/unwind-ia64.c,
+ 	doc/cppopts.texi: Update copyright.
+ 
+ 2005-03-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR middle-end/20225
+ 	* cgraph.c (cgraph_mark_reachable_node): Assert that it is not called
+ 	too late.
+ 	* varasm.c (find_decl_and_mark_needed): Mark needed only when not
+ 	called too late.
+ 
+ 2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (find_idf): Use VEC_quick_push instead of
+ 	VEC_safe_push.
+ 
+ 2005-03-18  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* combine.c (gen_binary): Remove.
+ 	(known_cond, simplify_shift_const, find_split_point,
+ 	combine_simplify_rtx, simplify_if_then_else, simplify_set,
+ 	simplify_logical, expand_field_assignment, extract_left_shift,
+ 	force_to_mode, if_then_else_cond, apply_distributive_law,
+ 	simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine,
+ 	simplify_comparison, reversed_comparison): Replace with
+ 	simplify_gen_binary, simplify_gen_relational or
+ 	distribute_and_simplify_rtx.
+ 	(distribute_and_simplify_rtx): New function.
+ 
+ 2005-03-18  Alexey Neyman  <alex.neyman@auriga.ru>
+ 	    Paolo Bonzini  <gcc.gnu.org>
+ 
+ 	* calls.c (setjmp_call_p, special_function_p): Update comments
+ 	at the head of the functions.
+ 
+ 2005-03-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-cfg.c (fold_cond_expr_cond): Use boolean types for condition.
+ 
+ 	* cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
+ 	function body should be released; do not proactively release function
+ 	bodies in non-unit-at-a-time mode.
+ 
+ 2005-03-18  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/i386/t-rtems-i386 (MULTILIBS): Remove k6, athlon,
+ 	mno-fp-ret-in-387 multilib variants.
+ 
+ 2005-03-18  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* common.opt (m): Remove.
+ 	* opts.c (handle_option): Pass 'm' options to set_target_switch if
+ 	table lookup fails.
+ 	(common_handle_option): Remove OPT_m case.
+ 
+ 2005-03-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin_bitop): Take decomposed arguments
+ 	of CALL_EXPR.
+ 	(fold_builtin_1): Update a call to fold_builtin_bitop.
+ 
+ 	* builtins.c (fold_builtin_signbit): Take decomposed arguments
+ 	of CALL_EXPR.
+ 	(fold_builtin_1): Update a call to fold_builtin_signbit.
+ 
+ 2005-03-17  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-optimization/20474
+ 	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
+ 	size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
+ 
+ 2005-03-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300-protos.h: Remove prototypes for
+ 	general_operand_src, general_operand_dst, single_one_operand,
+ 	single_zero_operand, call_insn_operand,
+ 	two_insn_adds_subs_operand, small_call_insn_operand,
+ 	jump_address_operand, bit_operand, bit_memory_operand,
+ 	stack_pointer_operand, const_int_gt_2_operand,
+ 	const_int_ge_8_operand, const_int_qi_operand,
+ 	const_int_hi_operand, incdec_operand, bit_operator,
+ 	nshift_operator, eqne_operator, gtle_operator,
+ 	gtuleu_operator, iorxor_operator.
+ 	Add prototypes for h8sx_shift_type h8sx_classify_shift and
+ 	h8300_ldm_stm_parallel.
+ 	* config/h8300/h8300.c (h8sx_shift_type,): Move to
+ 	h8300-protos.h.
+ 	(SYMBOL_FLAG_FUNCVEC_FUNCTION, SYMBOL_FLAG_EIGHTBIT_DATA,
+ 	SYMBOL_FLAG_TINY_DATA): Move to h8300.h.
+ 	(h8300_ldm_stm_parallel): Make it extern.
+ 	(h8300_ldm_parallel, h8300_stm_parallel,
+ 	h8300_return_parallel, general_operand_src,
+ 	general_operand_dst, h8300_dst_operand, h8300_src_operand,
+ 	nibble_operand, reg_or_nibble_operand, single_one_operand,
+ 	single_zero_operand, call_insn_operand,
+ 	two_insn_adds_subs_operand, small_call_insn_operand,
+ 	jump_address_operand, bit_operand, bit_memory_operand,
+ 	stack_pointer_operand, const_int_gt_2_operand,
+ 	const_int_ge_8_operand, const_int_qi_operand,
+ 	const_int_hi_operand, incdec_operand, eqne_operator,
+ 	gtle_operator, gtuleu_operator, iorxor_operator, bit_operator,
+ 	h8sx_binary_memory_operator, h8sx_unary_memory_operator,
+ 	h8sx_unary_shift_operator, h8sx_binary_shift_operator,
+ 	nshift_operator): Move to predicates.md.
+ 	* config/h8300/h8300.h (PREDICATE_CODES): Remove.
+ 	* config/h8300/h8300.md: Include predicates.md.
+ 	* config/h8300/predicates.md: New.
+ 
+ 2005-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config.gcc (ia64*-*-hpux*): Add extra_options.
+ 	* config/ia64/hpux.h (SUBTARGET_SWITCHES): Remove.
+ 	(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
+ 	* config/ia64/ia64.c (ia64_fixed_range_string): Remove.
+ 	(ia64_tls_size_string, ia64_tune_string): Remove.
+ 	(ia64_tune): Init to PROCESSOR_ITANIUM2.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): New.
+ 	(TARGET_HANDLE_OPTION): New.
+ 	(ia64_override_options): Move options parsing ...
+ 	(ia64_handle_option): ... here.  New.
+ 	* config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
+ 	MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
+ 	MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
+ 	MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
+ 	MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
+ 	MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
+ 	MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
+ 	TARGET_NO_PIC, TARGET_VOL_ASM_STOP, TARGET_ILP32, TARGET_REG_NAMES,
+ 	TARGET_NO_SDATA, TARGET_CONST_GP, TARGET_AUTO_PIC,
+ 	TARGET_INLINE_FLOAT_DIV_LAT, TARGET_INLINE_FLOAT_DIV_THR,
+ 	TARGET_INLINE_INT_DIV_LAT, TARGET_INLINE_INT_DIV_THR,
+ 	TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_INT_DIV, TARGET_INLINE_SQRT_LAT,
+ 	TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT, TARGET_DWARF2_ASM,
+ 	TARGET_EARLY_STOP_BITS): Remove.
+ 	(TARGET_ILP32): Default false.
+ 	(TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS): Remove.
+ 	(enum ia64_inline_type): New.
+ 	(TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
+ 	* config/ia64/ia64.md: Update for new definitions of
+ 	TARGET_INLINE_INT_DIV, TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_SQRT.
+ 	* config/ia64/ia64.opt: New file.
+ 	* config/ia64/ilp32.opt: New file.
+ 
+ 2005-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+ 
+ 	PR target/18380
+ 	* config/ia64/unwind-ia64.c (_Unwind_FindTableEntry): Removed.
+ 
+ 2005-03-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/h8300/h8300.c (h8300_init_once): Use MASK_H8300S_1
+ 	instead of MASK_H8300S.
+ 	* config/h8300/h8300.h (target_flags, MASK_H8300S, MASK_MAC,
+ 	MASK_INT32, MASK_ADDRESSES, MASK_QUICKCALL, MASK_SLOWBYTE,
+ 	MASK_NORMAL_MODE, MASK_RELAX, MASK_H8300H, MASK_ALIGN_300,
+ 	MASK_H8300SX, TARGET_INT32, TARGET_ADDRESSES,
+ 	TARGET_QUICKCALL, TARGET_SLOWBYTE, TARGET_H8300H,
+ 	TARGET_H8300XS, TARGET_NORMAL_MODE, TARGET_ALIGN_300,
+ 	TARGET_SWITCHES): Remove.
+ 	(TARGET_H8300S): Redefine interms of TARGET_H8300S_1 and
+ 	TARGET_H8300SX.
+ 	* config/h8300/h8300.opt: New.
+ 
+ 	* config/alpha/alpha.opt, config/arc/arc.opt,
+ 	config/h8300/h8300.opt, config/mips/mips.opt: Add copyright
+ 	notices.
+ 
+ 2005-03-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* gmon.c: Remove.
+ 
+ 2005-03-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/arc/arc.c (arc_cpu_string): Make static.  Default to "base"
+ 	(arc_text_string, arc_data_string, arc_rodata_string): Make static.
+ 	(TARGET_HANDLE_OPTION): Override default.
+ 	(arc_handle_option): New function.
+ 	(arc_init): Remove code to set arch_cpu_string.
+ 	* config/arc/arc.h (target_flags, TARGET_MASK_MANGLE_CPU)
+ 	(TARGET_MANGLE_CPU, TARGET_MASK_MANGLE_CPU_LIBGCC)
+ 	(TARGET_MANGLE_CPU_LIBGCC, TARGET_MASK_ALIGN_LOOPS, TARGET_ALIGN_LOOPS)
+ 	(TARGET_MASK_BIG_ENDIAN, TARGET_BIG_ENDIAN, TARGET_MASK_NO_COND_EXEC)
+ 	(TARGET_NO_COND_EXEC, TARGET_SWITCHES, TARGET_DEFAULT)
+ 	(SUBTARGET_SWITCHES, arc_cpu_string, arc_text_string, arc_data_string)
+ 	(arc_rodata_string, TARGET_OPTIONS): Delete.
+ 	* config/arc/arc.opt: New file.
+ 
+ 2005-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* doc/extend.texi (Weak Pragmas): New section.
+ 	(attribute alias): Clarify that target must be in the same
+ 	translation unit.
+ 
+ 2005-03-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.opt: New file.
+ 	* config/alpha/alpha.c (alpha_tune): New.  Rename all existing uses
+ 	of alpha_cpu.
+ 	(alpha_cpu_string, alpha_tune_string, alpha_tp_string,
+ 	alpha_fprm_string, alpha_fptm_string): Make static.
+ 	(alpha_tls_size_string): Remove.
+ 	(alpha_handle_option): New.
+ 	(override_options): Update for alpha_cpu/alpha_tune split.
+ 	(alpha_file_start): Likewise.
+ 	(TARGET_DEFAULT_TARGET_FLAGS): New.
+ 	(TARGET_HANDLE_OPTION): New.
+ 	* config/alpha/alpha.h (alpha_tune): Declare.
+ 	(MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
+ 	MASK_IEEE_CONFORMANT, TARGET_IEEE_CONFORMANT, MASK_IEEE, TARGET_IEEE,
+ 	MASK_IEEE_WITH_INEXACT, TARGET_IEEE_WITH_INEXACT, MASK_BUILD_CONSTANTS,
+ 	TARGET_BUILD_CONSTANTS, MASK_FLOAT_VAX, TARGET_FLOAT_VAX, MASK_BWX,
+ 	TARGET_BWX, MASK_MAX, TARGET_MAX, MASK_FIX, TARGET_FIX, MASK_CIX,
+ 	TARGET_CIX, MASK_EXPLICIT_RELOCS, TARGET_EXPLICIT_RELOCS,
+ 	MASK_SMALL_DATA, TARGET_SMALL_DATA, MASK_TLS_KERNEL, TARGET_TLS_KERNEL,
+ 	MASK_SMALL_TEXT, TARGET_SMALL_TEXT, MASK_LONG_DOUBLE_128,
+ 	TARGET_LONG_DOUBLE_128, MASK_CPU_EV5, TARGET_CPU_EV5, MASK_CPU_EV6,
+ 	TARGET_CPU_EV6, MASK_SUPPORT_ARCH): Remove.
+ 	(TARGET_SWITCHES, TARGET_OPTIONS): Remove.
+ 	(TARGET_DEFAULT): Remove MASK_FP.
+ 	(TARGET_FP): Redefined based on TARGET_SOFT_FP.
+ 	(TARGET_SUPPORT_ARCH): Default on if HAVE_AS_EXPLICIT_RELOCS.
+ 	(alpha_cpu_string, alpha_tune_string, alpha_fprm_string,
+ 	alpha_fptm_string, alpha_tp_string, alpha_mlat_string,
+ 	alpha_tls_size_string): Remove.
+ 	* config/alpha/alpha.md (prefetch): Use alpha_cpu.
+ 	(attribute tune): Rename from attribute cpu.
+ 	* config/alpha/ev4.md: Update to match.
+ 	* config/alpha/ev5.md, config/alpha/ev6.md: Likewise.
+ 	* config/alpha/freebsd.h (TARGET_DEFAULT): Remove MASK_FP.
+ 	* config/alpha/linux.h (TARGET_DEFAULT): Likewise.
+ 	* config/alpha/netbsd.h (TARGET_DEFAULT): Likewise.
+ 	* config/alpha/osf5.h (TARGET_DEFAULT): Likewise.
+ 	* config/alpha/vms.h (TARGET_DEFAULT): Likewise.
+ 
+ 2005-03-16  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/ia64.c (issue_nops_and_insn): Check first_insn attribute,
+ 	and return without creating new state if before_nops_num is nonzero.
+ 	* config/ia64/ia64.md (first_insn): New attribute.
+ 	(alloc): Set it to yes.
+ 
+ 2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-vectorizer.c (new_vec_stmt_info): Initialize
+ 	STMT_VINFO_SUBVARS to NULL.
+ 	* tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
+ 
+ 2005-03-16 Dale Johannesen  <dalej@apple.com>
+ 
+ 	* rtlanal.c (find_first_parameter_load):  Rewrite to
+ 	return actual first param load or the call if none,
+ 	instead of first in block, when not all loads exist.
+ 
+ 2005-03-16  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (expand_copysign_absneg): Make static.
+ 	* optabs.h (expand_copysign_absneg): Delete prototype.
+ 	* config/rs6000/rs6000.md (copysigntf3): Delete pattern.
+ 
+ 2005-03-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/15700
+ 	* varasm.c (struct alias_pair): Rename from struct output_def_pair.
+ 	(alias_pairs): Rename from output_defs.
+ 	(find_decl_and_mark_needed): Split out from assemble_alias.
+ 	(do_assemble_alias): New.
+ 	(assemble_output_def): Remove.
+ 	(finish_aliases_1, finish_aliases_2): New.
+ 	(process_pending_assemble_output_defs): Remove.
+ 	(assemble_alias): Defer aliases for which we don't yet have a
+ 	non-external decl for the target symbol.
+ 	* passes.c (rest_of_decl_compilation): Register variables with cgraph.
+ 	* cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1.
+ 	* toplev.c (compile_file): Use finish_aliases_2 instead of
+ 	process_pending_assemble_output_defs.
+ 	* tree.h (finish_aliases_1, finish_aliases_2): Declare.
+ 	(process_pending_assemble_output_defs): Remove.
+ 
+ 2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20489
+ 
+ 	* tree-ssa-alias.c (push_fields_onto_fieldstack): DTRT
+ 	for empty structures.
+ 
+ 2005-03-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20490
+ 
+ 	* tree-ssa-pre.c (create_expression_by_pieces): Use
+ 	force_gimple_operand on result of fold.
+ 
+ 2005-03-16  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/i386/emmintrin.h (_mm_extract_epi16): Correct the number
+ 	of closing parenthesis.
+ 
+ 2005-03-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (expand_movstr): Update a call to
+ 	fold_builtin_strcpy.
+ 	(expand_builtin_strncpy): Update a call to
+ 	fold_builtin_strncpy.
+ 	(fold_builtin_strcpy, fold_builtin_strncpy): Take decomosed
+ 	arguments of CALL_EXPR.
+ 	(fold_builtin_1): Update calls to fold_builtin_strcpy and
+ 	fold_builtin_strncpy.
+ 	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+ 	* tree.h: Update the prototypes of fold_builtin_strcpy and
+ 	fold_builtin_strncpy.
+ 
+ 2005-03-16  Steven Bosscher  <stevenb@suse.de>
+ 	    Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
+ 	UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
+ 	error.
+ 
+ 2005-03-16  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-inline.c (walk_type_fields, walk_tree,
+ 	walk_tree_without_duplicates): Move from here...
+ 	* tree.c: ...to here.
+ 
+ 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* BASE-VER, DATESTAMP, DEV-PHASE: New files.
+ 	* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
+ 	(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
+ 	(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
+ 	(version): Define using $(BASEVER_c).
+ 	(Makefile, config.status, build/gcov-iov.o): No longer depends on
+ 	version.c.
+ 	(version.o): Depend on version files; add custom generation command.
+ 	(prefix.o): Define BASEVER on command line.
+ 	(s-iov): Depend on version files; adjust command.
+ 	(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
+ 	Add gcc-vers.texi.
+ 	(gcc-vers.texi): New rule.
+ 	(doc/%.info, doc/%.dvi): Add -I . to command line.
+ 	(doc/gccinstall.dvi): Likewise.
+ 	(PACKAGE): Delete.  All uses replaced with "gcc".
+ 	* aclocal.m4: Do not include gcc-version.m4.
+ 	* configure.ac: Do not invoke TL_AC_GCC_VERSION.
+ 	Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
+ 	Set is_release based on contents of DEV-PHASE.
+ 	Set gcc_version based on contents of BASE-VER.
+ 	Define WIN32_REGISTRY_KEY only if the user overrode the default.
+ 	* config.in, configure: Regenerate.
+ 	* gccbug.in: Determine version of GCC in use at runtime.
+ 	* gcov-iov.c: Get version number and development phase from
+ 	command line, not by including version.c.
+ 	* intl.c: Replace all uses of PACKAGE with "gcc".
+ 	* libada-mk.in: Delete unused "gcc_version" variable.
+ 	* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
+ 	* version.c: (VERSUFFIX): New hook for redistributors; adjust
+ 	commentary to match.
+ 	(version_string): Put together from pieces.
+ 	* config/alpha/x-vms: Do not use $(gcc_version).
+ 	* config/i386/t-nwld: Likewise.
+ 	* doc/include/gcc-common.texi: Include gcc-vers.texi for
+ 	version-GCC and DEVELOPMENT.
+ 
+ 2005-03-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR tree-optimization/17454
+ 	* tree.c (tree_size): Add case for TREE_BINFO.
+ 	* fold-const.c (fold_checksum_tree): Only clear the overloaded
+ 	field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set.
+ 
+ 2005-03-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
+ 	op1 whilst expanding the signed widenening multiply variant.
+ 
+ 2005-03-15  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* toplev.c (display_target_options): Avoid unused variable warning if
+ 	TARGET_SWITCHES and TARGET_OPTIONS are both undefined.
+ 	* config/mips/mips.c (mips_arch_string, mips_tune_string): Make static.
+ 	(mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete.
+ 	(mips_isa): Initialize to MIPS_ABI_DEFAULT.
+ 	(mips_isa_info): New variable.
+ 	(mips_parse_cpu): Remove the first argument and leave the caller
+ 	to report errors.
+ 	(TARGET_HANDLE_OPTION): Override default.
+ 	(mips_handle_option): New function.  Move option validation code from...
+ 	(override_options): ...here.  Update calls to mips_parse_cpu.
+ 	* config/mips/mips.h (mips_arch_string, mips_tune_string)
+ 	(mips_isa_string, mips_abi_string, TARGET_OPTIONS)
+ 	(SUBTARGET_TARGET_OPTIONS): Delete.
+ 	* config/mips/mips.opt (mabi=, march=, mflush-func=, mips)
+ 	(mno-flush-func, mtune=): New options.
+ 
+ 2005-03-15  Roger Sayle  <roger@eyesopen.com>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	* real.c (c4x_single_format, c4x_extended_format): Provide values
+ 	for signbit_ro for c4x's single and extended floating point formats.
+ 	* optabs.c (expand_copysign): Use the floating point format's
+ 	signbit_ro for expanding via expand_copysign_absneg, and it's
+ 	signbit_rw field for expanding via expand_copysign_bit.
+ 
+ 2005-03-15  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by
+ 	known_alignment_for_access_p.
+ 	(known_alignment_for_access_p): New.
+ 	(do_peeling_for_alignment): Field made int instead of bool and renamed
+ 	to peeling_for_alignment.
+ 	(LOOP_DO_PEELING_FOR_ALIGNMENT): Renamed to LOOP_PEELING_FOR_ALIGNMENT.
+ 	* tree-vect-analyze.c (vect_determine_vectorization_factor): New. This
+ 	functionality used to be in vect_analyze_operations.
+ 	(vect_analyze_operations): Code to determine vectorization factor was
+ 	moved to vect_determine_vectorization_factor.
+ 	(vect_enhance_data_refs_alignment): Update to correct alignment when it
+ 	is known instead of -1.  Set LOOP_PEELING_FOR_ALIGNMENT to peeling
+ 	factor.
+ 	(vect_analyze_loop): Call vect_determine_vectorization_factor (used to
+ 	be part of vect_analyze_operations).
+ 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Use fold when
+ 	creating the guard condition, as the number of iterations may be
+ 	constant.
+ 	(slpeel_tree_peel_loop_to_edge): Use new name of
+ 	LOOP_DO_PEELING_FOR_ALIGNMENT. Set it to 0 instead of false.
+ 	* tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Handle known
+ 	alignment case more efficiently. Use LOOP_PEELING_FOR_ALIGNMENT.
+ 	(vect_do_peeling_for_alignment): Use fold.
+ 	(vect_transform_loop): Use new name of LOOP_DO_PEELING_FOR_ALIGNMENT.
+ 
+ 	(vect_update_inits_of_dr): Renamed to
+ 	vect_update_init_of_dr.
+ 	(vect_update_inits_of_drs): Use new name of vect_update_inits_of_dr.
+ 	(vectorizable_store): Fix assertion to use == instead of =.
+ 
+ 2005-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
+ 	call_used_regs for wCG registers.
+ 
+ 2005-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
+ 	for non-offsettable memory references to cope with outstanding reload
+ 	replacements, take 2.
+ 
+ 2005-03-15  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/18668
+ 	* config/i386/i386.h (x86_fisttp): New.
+ 	(TARGET_FISTTP): New macro.
+ 	* config/i386/i386.c (x86_fisttp): Set for NOCONA.
+ 	(output_fix_trunc): Add fisttp parameter.  Generate fisttp x87
+ 	instruction when fisttp flag is set.
+ 	* config/i386/i386-protos.h (output_fix_trunc): Change declaration.
+ 
+ 	* config/i386/i386.md (type attribute): Add fisttp.
+ 	(unit attribute): Set to i387 for fisttp type.
+ 	(X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
+ 	(fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
+ 	TARGET_FISTTP.
+ 	(fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
+ 	Generate fisttp patterns for TARGET_FISTTP. Implement using mode
+ 	macros.
+ 	(fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
+ 	patterns for TARGET_FISTTP.  Enable patterns for
+ 	(TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
+ 	(fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
+ 	fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
+ 	implement fisttp x87 insn.
+ 	(fix_trunc*_i387_fisttp splitters): New patterns.
+ 	(*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
+ 	Rename to *fix_trunc<mode>_i387_1.  Implement using mode macros.
+ 	Disable patterns for TARGET_FISTTP.  Add comment about FLAGS_REG
+ 	clobber.
+ 	(fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
+ 	Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
+ 	Implement using mode macros. Disable patterns for TARGET_FISTTP.
+ 	(fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
+ 	fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
+ 	fix_trunc<mode>_i387_with_temp. Implement using mode macros.
+ 	Disable patterns for TARGET_FISTTP.
+ 	(fix_trunc*_i387 splitters): Implement usign mode macros.
+ 	(fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
+ 	fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
+ 	(fix_trunx*_sse peephole2s): Implement using mode macros.
+ 
+ 2005-03-15  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	PR rtl-optimization/20291
+ 	* combine.c (try_combine): If splitting fails, re-try with
+ 	original combined pattern, i.e. before clobber stripping.
+ 
+ 2005-03-14  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
+ 	STACK_GROWS_DOWNWARD.
+ 
+ 2005-03-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.h (struct real_format): Split the signbit field into two
+ 	two fields, signbit_ro and signbit_rw.
+ 	* real.c (ieee_single_format, mips_single_format, ieee_double_format,
+ 	mips_double_format, ieee_extended_motorola_format,
+ 	ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
+ 	ieee_extended_intel_128_format, ibm_extended_format,
+ 	mips_extended_format, ieee_quad_format, mips_quad_format,
+ 	vax_f_format, vax_d_format, vax_g_format, i370_single_format,
+ 	i370_double_format, c4x_single_format, c4x_extended_format,
+ 	real_internal_format): Update initializers for new field.
+ 	* builtins.c (expand_builtin_signbit): Use signbit_ro field of the
+ 	real_format structure.
+ 	* optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
+ 	field of the real_format structure.
+ 
+ 2005-03-14  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/20458
+ 
+ 	* tree-flow-inline.h (mark_call_clobbered): Don't fiddle
+ 	DECL_EXTERNAL on STRUCT_FIELD tags.
+ 	(clear_call_clobbered): Ditto.
+ 	* tree-ssa-operands.c (note_addressable): Make sure the original
+ 	variable doesn't slip into the addressable list if we have
+ 	subvars.
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
+ 	tags too.
+ 
+ 2005-03-14  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* doc/cppopts.texi (-fexec-charset): Add concept index entry.
+ 	(-fwide-exec-charset): Likewise.
+ 	(-finput-charset): Likewise.
+ 	* doc/invoke.texi (Warning Options): Document -Wnormalized=.
+ 	* c-opts.c (c_common_handle_option): Handle -Wnormalized=.
+ 	* c.opt (Wnormalized): New.
+ 
+ 2005-03-14  Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/invoke.texi: Add reference to Visibility document.
+ 
+ 2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
+ 	MASK_SPLIT_ADDRESSES.
+ 	* config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
+ 	(MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
+ 	(MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
+ 	(MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
+ 	(MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
+ 	(MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
+ 	(MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
+ 	(MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
+ 	(MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
+ 	(MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
+ 	(MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
+ 	(MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
+ 	(TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
+ 	(TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
+ 	(TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
+ 	(TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
+ 	(TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
+ 	(TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
+ 	(TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
+ 	(TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
+ 	(TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
+ 	(TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
+ 	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
+ 	(TARGET_EXPLICIT_RELOCS): Delete.
+ 	(TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
+ 	(TARGET_OPTIONS): Remove entry for -mfix-vr4130.
+ 	* config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
+ 	(override_options): Set MASK_LONG64 if -mint64 is given and no
+ 	-mlongXX option is.  Complain about -mint64 -mlong32.
+ 	(override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
+ 	MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
+ 	* config/mips/mips.opt: New file.
+ 
+ 2005-03-14  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (extra_options): New variable for listing option files.
+ 	Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
+ 	* configure.ac (extra_opt_files): New AC_SUBST variable.
+ 	(tm_file_list, tm_include_list): Include options.h first.
+ 	* configure: Regenerate.
+ 	* Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
+ 	(s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
+ 	(s-options-h): New rule.
+ 	(options.h): Depend on it.
+ 	(TEXI_GCCINT_FILES): Add options.texi.
+ 	* hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
+ 	* hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
+ 	* target.h (gcc_target): Add default_target_flags and handle_option.
+ 	* target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
+ 	(TARGET_HANDLE_OPTION): New macros.
+ 	(TARGET_INITIALIZER): Include them.
+ 	* opt-functions.awk (opt_args, nth_arg): New functions.
+ 	(switch_flags): Handle the "Target" flag.
+ 	(var_args): Delete.
+ 	(var_name): Use opt_args and nth_arg.
+ 	(var_set, var_ref): Likewise.  Handle "Mask" and "InverseMask".
+ 	* opth-gen.awk: Declare target_flags.  Declare MASK_* and TARGET_*
+ 	macros for the "Mask" and "InverseMask" options.
+ 	* opts.h (cl_var_cond): New enum.
+ 	(cl_option): Replace the "has_set_value" and "set_value" fields with
+ 	"var_cond" and "var_value".
+ 	(CL_TARGET): New macro.
+ 	(option_enabled, print_filtered_help): Declare.
+ 	(decode_options): Move definition.
+ 	* opts.c (handle_option): Search for the original option before
+ 	removing any "no-" prefix.  Handle CL_TARGET.  Adjust for the new
+ 	var_cond and var_value fields.  Use targetm.handle_option to handle
+ 	target options.
+ 	(decode_options): Set target_flags to targetm.default_target_flags.
+ 	(print_filtered_help): Make global.  Handle CL_TARGET.
+ 	(option_enabled): New function.
+ 	* toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
+ 	(display_target_options, set_target_switch, print_switch_values)
+ 	(default_pch_valid_p): Guard uses of target_switches with
+ 	#ifdef TARGET_SWITCHES.  Also...
+ 	(display_target_options): Display the CL_TARGET entries in cl_options.
+ 	(set_target_option): Don't complain about the "" option when
+ 	TARGET_SWITCHES is undefined.
+ 	(print_switch_values): Use option_enabled.
+ 	(default_pch_valid_p): Check cl_options[] when looking for something
+ 	that has changed the value of target_flags.
+ 	* c.opt: Remove documentation from top of file.
+ 	* doc/gccint.texi: Add an "Options" chapter.  Include options.texi.
+ 	* doc/sourecebuild.texi: Refer to the new options documentation
+ 	instead of c.opt.  Document machine-specific .opt files.
+ 	* doc/tm.texi (target_flags): Say that this variable is declared
+ 	by options.h.
+ 	(TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
+ 	(TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
+ 	an alternative.
+ 	* doc/options.texi: New file.
+ 
+ 2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR middle-end/18628
+ 	* cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
+ 	register.
+ 
+ 2005-03-14  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR c++/20280
+ 	* gimplify.c (gimplify_cond_expr): Add fallback argument.  Use a
+ 	temporary variable of pointer type if an lvalues is required.
+ 	(gimplify_modify_expr_rhs): Request an rvalue from it.
+ 	(gimplify_expr): Pass fallback on.
+ 
+ 2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgbuild.c: Update comments.
+ 
+ 2005-03-14  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/17236
+ 	* optabs.c (expand_doubleword_mult): New helper function split out
+ 	from expand_binop.  Permute the order in which instructions are
+ 	emitted to minimize the number of simultaneously live registers.
+ 	(expand_binop): Call expand_doubleword_mult to synthesize a double
+ 	word multiplication.
+ 
+ 2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Update the prototypes of cached_make_edge and
+ 	rtl_make_eh_edge.
+ 	* cfg.c (cached_make_edge): Take edge_cache representing one
+ 	row of the adjacency matrix of edges.
+ 	* cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
+ 	(make_edges): Initialize edge_cache to represent one row of
+ 	the adjacency matrix of edges.
+ 
+ 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
+ 	New functions.
+ 	(tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
+ 	Remove unused removed_phis variable.
+ 	(conditional_replacement): Use build1/build2.
+ 	(abs_replacement): Use last_and_only_stmt and build1/build2.
+ 
+ 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
+ 	ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
+ 	* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
+ 	(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
+ 	* c-common.c (handle_novops_attribute): New function.
+ 	(c_common_attribute_table): Add "no vops" entry.
+ 	* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
+ 	* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
+ 	* tree-ssa-operands.c (get_call_expr_operands): Do not
+ 	create virtual operands for calls with ECF_NOVOPS flag.
+ 	* tree.h (DECL_IS_NOVOPS): New macro.
+ 	(struct tree_decl): Add novops_flag.
+ 	(ECF_NOVOPS): New constant.
+ 
+ 2005-03-14  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/17688
+ 	* config/i386/i386.c (x86_use_himode_fiop): New.
+ 	(x86_use_simode_fiop): Rename from x86_use_fiop.
+ 	* config/i386/i386.h (x86_use_himode_fiop): Declare.
+ 	(TARGET_USE_HIMODE_FIOP): New.
+ 	(x86_use_simode_fiop): Rename from x86_use_fiop.
+ 	(TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
+ 
+ 	* config/i386/i386.md (X87MODEI12): New mode macro define.
+ 	(*cmpfp_<mode>): Rename from *cmpfp_si.  Use X87MODEI12 mode macro
+ 	to implement x87 FP compare with HImode input operands.
+ 	(*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
+ 	Use X87MODEI12 mode macro to handle HImode input operands.
+ 	(*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
+ 	*fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
+ 	Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
+ 	*fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
+ 	macro to implement x87 operators with HImode input operands.
+ 	(fop splitters): Use X87MODEI12 mode macro to handle HImode
+ 	input operands.
+ 
+ 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
+ 	integer_zerop.
+ 	* tree-gimple.c (is_gimple_min_invariant): Consider overflowed
+ 	constants invariant.
+ 
+ 2005-03-14  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* basic-block.h (BB_VISITED): Removed.
+ 	* cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
+ 
+ 2005-03-14  Falk Hueffner  <falk@debian.org>
+ 
+ 	PR bootstrap/20424
+ 	* config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
+ 
+ 2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* ggc-zone.c: Fix comment typos.
+ 
+ 	* alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
+ 	stringpool.c, config/mips/mips-protos.h: Update copyright.
+ 
+ 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
+ 	throughout with its typedef, "rtx".
+ 	* config/rs6000/rs6000.c: Likewise.  Formatting fixes.
+ 	(rs6000_tls_symbol_ref_1): Remove inline keyword.
+ 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting.  Reorder
+ 	regs in comment to match code.
+ 
+ 2005-03-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* except.c (check_handled): Make it static.
+ 	* except.h: Remove the corresponding prototype.
+ 
+ 	* function.c (get_func_frame_size): Make it static.
+ 	* function.h: Remove the corresponding type.
+ 
+ 	* regclass.c (reg_class_superclasses, reg_class_subclasses):
+ 	Make them static.
+ 	* hard-reg-set.h: Remove the corresponding declarations.
+ 
+ 	* tree-cfg.c (verify_stmts): Check that
+ 	bb_for_stmt (stmt) == bb for every PHI node and statement.
+ 
+ 2005-03-14  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config.gcc: Remove excess indentation.
+ 	(powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
+ 
+ 2005-03-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19331
+ 	* tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
+ 	* fold-const.c (fold_sign_changed_comparison): Likewise.
+ 	(fold_binary): Optimize comparisons against widened operands if
+ 	the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.
+ 
+ 2005-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (struct_value_alias_set): New global variable.
+ 	(sparc_override_options): Initialize it.
+ 	(sparc_struct_value_rtx): Set it on the MEM to be returned.
+ 
+ 2005-03-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
+ 	(reg_or_none500mem_operand): New predicate.
+ 	(zero_reg_mem_operand): New predicate.
+ 	* config/rs6000/rs6000.md (extendsfdf2): Change operand1 predicate
+ 	to reg_or_none500mem_operand.
+ 	(extendsfdf2_fpr): Add MEM alternative.
+ 	(extenddftf2_internal): Change operand2 predicate to
+ 	zero_reg_mem_operand.
+ 
+ 2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* ggc-zone.c: Rewritten.
+ 
+ 	* alloc-pool.c (dump_alloc_pool_statistics): Don't print statistics
+ 	if there are none.
+ 	* configure.ac: Define GGC_ZONE for --with-gc=zone.
+ 	* config.in: Regenerated.
+ 	* configure: Regenerated.
+ 	* gengtype.c (write_types_process_field, write_func_for_structure):
+ 	Pass new argument to gt_pch_note_object.
+ 	* ggc-common.c (struct ptr_data): Add TYPE.
+ 	(gt_pch_note_object): Take TYPE argument and save it.
+ 	(call_count): Update call to ggc_pch_count_object.
+ 	(call_alloc): Update call to ggc_pch_alloc_object.
+ 	(gt_pch_save): Call ggc_pch_prepare_write after paddng the PCH
+ 	file.
+ 	* ggc-none.c (rtl_zone, garbage_zone, ggc_alloc_zone_stat): Delete.
+ 	* ggc-page.c (rtl_zone, tree_zone, garbage_zone)
+ 	(ggc_alloc_zone_stat): Delete.
+ 	(ggc_pch_count_object, ggc_pch_alloc_object): Add TYPE argument.
+ 	* ggc.h (gt_pch_note_object, ggc_pch_count_object)
+ 	(ggc_pch_alloc_object): Update prototypes.
+ 	(garbage_zone): Delete.
+ 	(tree_zone, rtl_zone, ggc_alloc_zone_stat, ggc_alloc_zone): Move to
+ 	GGC_ZONE conditional.  Update.  Change tree_zone and rtl_zone into
+ 	pointers.
+ 	(tree_id_zone): New variable.
+ 	(ggc_alloc_cleared_zone): Remove unused.
+ 	(ggc_alloc_zone): Define.
+ 	(ggc_alloc_rtvec, ggc_alloc_tree): Update to use ggc_alloc_zone.
+ 	* rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Use
+ 	ggc_alloc_zone_stat.
+ 	* stringpool.c (gt_pch_n_S): Update call to gt_pch_note_object.
+ 	* tree.c (copy_node_stat, make_tree_binfo_stat, make_tree_vec_stat)
+ 	(tree_cons_stat, build1_stat): Update call to ggc_alloc_zone_stat.
+ 	(make_node_stat): Likewise.  Use tree_id_zone.
+ 
+ 2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
+ 	    Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* configure.ac: Check for MIPS TLS.
+ 	* configure: Regenerated.
+ 	* config/mips/mips-protos.h (enum mips_symbol_type): Add
+ 	SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
+ 	SYMBOL_GOTTPREL, and SYMBOL_TPREL.
+ 	* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
+ 	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
+ 	(mips_classify_symbol, mips_symbolic_constant_p)
+ 	(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
+ 	(mips_tls_operand_p, mips_call_tls_get_addr)
+ 	(mips_legitimize_tls_address, mips_cannot_force_const_mem)
+ 	(mips_tls_symbol_ref_1): New functions.
+ 	(mips_legitimize_address, mips_legitimize_const_move): Call
+ 	mips_legitimize_tls_address.
+ 	(override_options): Handle V1_REG and TLS symbols.  Disable TLS
+ 	for MIPS16.
+ 	* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
+ 	(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
+ 	(mips_char_to_class): Document V1_REG.
+ 	(HAVE_AS_TLS): Provide default.
+ 	* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
+ 	constants.
+ 	(load_got<mode>): Renamed from *load_got<mode>.  Allow when
+ 	!TARGET_ABICALLS.
+ 	(tls_get_tp_<mode>): New instruction.
+ 
+ 2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* configure.ac: Update checks for target tools.
+ 	* configure: Regenerated.
+ 
+ 2005-03-13  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* varasm.c (decl_tls_model): Check flag_shlib instead of flag_pic.
+ 
+ 2005-03-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_mult): Use synthetic multiplication sequences for
+ 	more classes of DImode multiplication by constant.  Allow both
+ 	multiplication by small negative constants (by performing a
+ 	multiplication by a positive constant and negating the result) and
+ 	multiplications by large powers of two, by using a left shift.
+ 
+ 2005-03-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-into-ssa.c (find_idf): Speed up by putting the indexes
+ 	of basic blocks into work_stack.
+ 
+ 	* builtin-attrs.def, c-lex.c, c-pragma.h, reg-stack.c,
+ 	config/mips/vr.h: Update copyright.
+ 
+ 	* c-decl.c (c_init_decl_processing): Remove useless calls to
+ 	build_function_type.
+ 
+ 	* builtins.c (fold_trunc_transparent_mathfn,
+ 	fold_fixed_mathfn, fold_builtin_atan, fold_builtin_trunc,
+ 	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
+ 	fold_builtin_lround, fold_builtin_bitop, fold_builtin_memcpy,
+ 	fold_builtin_strcpy, fold_builtin_strncpy,
+ 	fold_builtin_signbit): Use TYPE (TYPE (fndecl)) instead of
+ 	TREE_TYPE (exp).
+ 
+ 	* builtins.c (expand_builtin_mathfn_3): Remove local variable
+ 	before_call.
+ 
+ 	* lambda-code.c (lambda_compute_auxillary_space): Remove local
+ 	variable determinant.
+ 
+ 	* tree-cfg.c (group_case_labels): Remove local variable type.
+ 
+ 	* tree-ssa-live.c (build_tree_conflict_graph): Remove local
+ 	variable ann.
+ 
+ 	* tree-ssa-phiopt.c (value_replacement): Remove local variable
+ 	result.
+ 
+ 2005-03-13  Andy Hutchinson  <HutchinsonAndy@netscape.net>
+ 
+ 	PR target/18251
+ 	* config/avr/avr.md (movmemhi): Rewrite as RTL loop.
+ 	(*movmemqi_insn): Delete.
+ 	(*movmemhi): Delete.
+ 
+ 2005-03-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* builtins.c (fold_builtin_classify): Take decomposed
+ 	arguments of CALL_EXPR.
+ 	(fold_builtin_1): Update a call to fold_builtin_classify.
+ 
+ 2005-03-13  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/20402
+ 	* c-parser.c (c_parser_struct_or_union_specifier): Don't fall
+ 	through into call to parser_xref_tag after parse error.
+ 	(c_parser_struct_declaration): Consistently return NULL_TREE on
+ 	error.
+ 
+ 2005-03-12  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-flow-inline.h (ref_contains_array_ref): New function.
+ 	(lookup_subvars_for_var): Ditto.
+ 	(get_subvars_for_var): Ditto.
+ 	(var_can_have_subvars): Ditto.
+ 
+ 	* tree-flow.h (mem_tag_kind): Add STRUCT_FIELD.
+ 	(struct subvar): New type.
+ 
+ 	* tree-dfa.c (okay_component_ref_for_subvars): New function.
+ 
+ 	* tree-optimize.c (init_tree_optimization_passes): Call
+ 	pass_create_structure_vars.
+ 
+ 	* tree-ssa-alias.c: Include vec.h.
+ 	(init_alias_info): Don't auto-clear call clobbered on struct-field
+ 	tags.
+ 	(compute_flow_insensitive_aliasing): Handle subvars.
+ 	(group_aliases): Handle STRUCT_FIELD aliases.
+ 	(setup_pointers_and_addressables): Ditto.
+ 	Don't mark variables non-addressable if they still have
+ 	addressable subvars.
+ 	Also mark subvars addressable when the real variable is marked
+ 	addressable.
+ 	(add_pointed_to_var): Try to prune the pointed-to set by only
+ 	pointing to subvars when possible.
+ 	Otherwise, make sure we set addresses_needed and pt_vars to
+ 	properly include subvars.
+ 	(bitpos_of_field): New function.
+ 	(push_fields_onto_fieldstack): Ditto.
+ 	(get_or_create_used_part_for): Ditto.
+ 	(create_overlap_variables_for): Ditto.
+ 	(find_used_portions): Ditto.
+ 	(create_structure_vars): Ditto.
+ 	(pass_create_structure_vars): New structure.
+ 
+ 	* tree-ssa-operands.c (finalize_ssa_v_must_defs): Remove assert.
+ 	(get_expr_operands): Handle subvars.  Also try to turn
+ 	COMPONENT_REF accesses into must-defs now that we can accurately
+ 	portray it.
+ 	(note_addressable): Try to only mark as addressable those subvars
+ 	we know a COMPONENT_REF touches.
+ 	(overlap_subvar): New function.
+ 
+ 	* tree-vect-analyze.c (vect_object_analysis): Add new parameter.
+ 	Handle subvar storing.
+ 	(vect_address_analysis): Update caller of vect_object_analysis.
+ 
+ 	* tree-vect-transform.c (vect_create_data_ref_ptr): Copy subvars.
+ 
+ 	* tree-vectorizer.h (struct _stmt_vec_info): Add subvars member.
+ 	(STMT_VINFO_SUBVARS): New macro.
+ 
+ 	* common.opts: add flag_tree_salias.
+ 
+ 	* opts.c (decode_options): flag_tree_salias defaults to on.
+ 
+ 	* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.
+ 
+ 	* doc/tree-ssa.texi: Document structural alias analysis.
+ 
+ 2005-03-12  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
+ 	* tree-ssa-dce.c (mark_stmt_necessary): Don't check for it.
+ 	* tree-ssa-operands.c (get_expr_operands): Likewise.
+ 	(get_expr_operands): Likewise for ERROR_MARK.
+ 
+ 2005-03-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa.c (kill_redundant_phi_nodes): Remove local variable
+ 	var.
+ 
+ 	* tree-ssa-phiopt.c (tree_ssa_phiopt): Remove local variable
+ 	removed_phis.
+ 
+ 	* tree-ssa-pre.c (compute_avail): Remove local variable val.
+ 	(mark_operand_necessary): Remove local variable ver.
+ 
+ 	* tree-vect-transform.c (vect_get_new_vect_var): Remove local
+ 	variable prefix_len.
+ 
+ 	* value-prof.c (mod_subtract_transform): Remove local variable
+ 	value.
+ 
+ 	* builtins.c (fold_builtin_exponent): Take decomposed
+ 	arguments of CALL_EXPR.
+ 	(fold_builtin_1): Update a call to fold_builtin_exponent.
+ 
+ 	* builtins.c (fold_builtin_logarithm): Take decomposed
+ 	arguments of CALL_EXPR.
+ 	(fold_builtin_1): Update a call to fold_builtin_logarithm.
+ 
+ 	* c-decl.c (c_init_decl_processing): Remove local variables
+ 	ptr_ftype_void and ptr_ftype_ptr.
+ 
+ 	* gimplify.c (gimplify_expr): Remove local variables r0 and
+ 	r1.
+ 
+ 	* reg-stack.c (move_for_stack_reg): Remove local variable
+ 	push_insn.
+ 	(compare_for_stack_reg): Remove local variable flags_user.
+ 	(convert_regs_1): Remove local variable deleted.
+ 
+ 	* tree-if-conv.c (tree_if_convert_cond_expr): Remove local
+ 	variable new_cond.
+ 	(combine_blocks): Remove local variables exits and new_e.
+ 
+ 	* tree-inline.c (expand_call_inline): Remove local variable
+ 	decl.
+ 
+ 	* tree-ssa-live.c (create_ssa_var_map,
+ 	calculate_live_on_entry): Remove local variable snn.
+ 
+ 2005-03-12  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-lex.c (c_lex_with_flags): Add parameter to call to
+ 	cpp_spell_token.
+ 
+ 2005-03-11  Per Bothner  <per@bothner.com>
+ 
+ 	* c-tree.h (struct c_declarator): New id_loc field.
+ 	* c-pragma.h (c_lex_with_flags): Take position reference.
+ 	* c-lex.c (c_lex_with_flags): Set passed-in location from cpp token,
+ 	iff USE_MAPPED_LOCATION. (Type doesn't match otherwise.)
+ 	(c_lex): Pass dummy location to c_lex_with_flags.
+ 	* c-parser.c (c_lex_one_token): Set c_token's location using
+ 	c_lex_with_flags, instead of input_location, which might be "ahead".
+ 	(c_parser_direct_declarator): Set declarator's id_loc from
+ 	c_token's id_loc.
+ 	* c-decl.c (grokdeclarator): Set DECL_SOURCE_LOCATION from
+ 	declarator's id_loc, rather than probably-imprecise input_location.
+ 	(build_id_declarator): Initialize c_declarator's id_loc field.
+ 
+ 2005-03-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/20419
+ 	* builtins.c (expand_builtin_signbit): Force the signbit's word
+ 	into an integer register to avoid SUBREGs of floating point modes.
+ 
+ 2005-03-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfglayout.c, loop-doloop.c, profile.c, target-def.h,
+ 	target.h, targhooks.c, tracer.c, tree-ssa-loop-ch.c,
+ 	tree-ssa-loop-unswitch.c, tree-ssa-loop.c, vec.c, vmsdbgout.c,
+ 	config/m32r/m32r.md, config/xtensa/xtensa.h: Update copyright.
+ 
+ 2005-03-11  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR rtl-optimization/20306
+ 	* expr.c (emit_move_complex): Set try_int false if mode is
+ 	MODE_COMPLEX_FLOAT and mov_optab exists for inner mode.  Only try
+ 	emit_block_move if try_int is true.
+ 
+ 2005-03-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/20415
+ 	* config/i386/mmx.md (vec_dupv4hi): Fix predicate.
+ 	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Update
+ 	to match.
+ 
+ 2005-03-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.h (mips_fix_vr4130_string): Declare.
+ 	(TARGET_FIX_VR4130): New macro.
+ 	(TARGET_OPTIONS): Add -mfix-vr4130.
+ 	(ISA_HAS_MACCHI): New macro.
+ 	(ASM_SPEC): Add -mfix-vr4130.
+ 	* config/mips/mips.c (mips_fix_vr4130_string): New variable.
+ 	(override_options): Handle mips_fix_vr4130_string.
+ 	(mips_avoid_hazards): Clear all_noreorder_p
+ 	if we're working around VR4130 errata and the macc alternatives
+ 	are not available.
+ 	* config/mips/mips.md (mfhilo_<mode>): Turn into a define_expand.
+ 	(*mfhilo_<mode>, *mfhilo_<mode>_macc): New insns.
+ 	* config/mips/vr.h (DEFAULT_VR_ARCH): Set to mfix-vr4130.
+ 	(MULTILIB_DEFAULTS): Remove leading "march=".
+ 	(DRIVER_SELF_SPECS): Likewise.  Make -mfix-vr4130 imply -march=vr4130
+ 	if no architecture option is given.
+ 	* config/mips/t-vr (MULTILIB_OPTIONS): Use -mfix-vr4130 for the
+ 	VR4130 multilibs.
+ 	(MULTILIB_MATCHES): Map -march=vr4130 to the -mfix-vr4130 multilibs.
+ 	* doc/invoke.texi: Document -mfix-vr4130.
+ 
+ 2005-03-11  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Only warn about -mint64
+ 	deprecation if TARGET_INT64.
+ 
+ 2005-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtin-attrs.def (ATTR_NONNULL_LIST, ATTR_NOTHROW_NONNULL,
+ 	ATTR_CONST_NOTHROW_NONNULL, ATTR_PURE_NOTHROW_NONNULL,
+ 	ATTR_MALLOC_NOTHROW_NONNULL): New "nonnull" attribute lists which
+ 	are non-specific regarding the nonnull parameter positions.
+ 	(ATTR_NONNULL_1_2, ATTR_NONNULL_1_4, ATTR_NOTHROW_NONNULL_1_2,
+ 	ATTR_NOTHROW_NONNULL_1_4, ATTR_CONST_NOTHROW_NONNULL_1,
+ 	ATTR_PURE_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1_2,
+ 	ATTR_MALLOC_NOTHROW_NONNULL_1): Delete.
+ 
+ 	* builtins.def: Use the non-specific "nonnull" attibute lists.
+ 
+ 2005-03-11  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
+ 	single_pred_edge, single_succ, single_pred): Improve comments.
+ 
+ 2005-03-11  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* basic-block.h (single_succ_p, single_pred_p, single_succ_edge,
+ 	single_pred_edge, single_succ, single_pred): New inline functions.
+ 	* bb-reorder.c (rotate_loop, find_traces_1_round,
+ 	add_labels_and_missing_jumps, fix_up_fall_thru_edges,
+ 	duplicate_computed_gotos): Use the single_succ/pred functions.
+ 	* cfganal.c (forwarder_block_p): Ditto.
+ 	* cfgbuild.c (compute_outgoing_frequencies): Ditto.
+ 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
+ 	outgoing_edges_match, try_crossjump_to_edge, try_optimize_cfg,
+ 	merge_seq_blocks): Ditto.
+ 	* cfghooks.c (split_edge, tidy_fallthru_edges): Ditto.
+ 	* cfglayout.c (fixup_reorder_chain): Ditto.
+ 	* cfgloop.c (mark_single_exit_loops, update_latch_info,
+ 	canonicalize_loop_headers, verify_loop_structure): Ditto.
+ 	* cfgloopmanip.c (remove_path, unloop, loop_delete_branch_edge,
+ 	mfb_update_loops, create_preheader, force_single_succ_latches,
+ 	create_loop_notes): Ditto.
+ 	* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
+ 	force_nonfallthru_and_redirect, rtl_tidy_fallthru_edge,
+ 	commit_one_edge_insertion, purge_dead_edges,
+ 	cfg_layout_can_merge_blocks_p): Ditto.
+ 	* except.c (sjlj_emit_function_enter): Ditto.
+ 	* flow.c (init_propagate_block_info): Ditto.
+ 	* function.c (thread_prologue_and_epilogue_insns): Ditto.
+ 	* gcse.c (find_implicit_sets, bypass_conditional_jumps,
+ 	insert_insn_end_bb): Ditto.
+ 	* ifcvt.c (merge_if_block, find_if_block, find_if_case_1,
+ 	find_if_case_2): Ditto.
+ 	* lambda-code.c (perfect_nestify): Ditto.
+ 	* lcm.c (optimize_mode_switching): Ditto.
+ 	* loop-doloop.c (doloop_modify): Ditto.
+ 	* loop-init.c (loop_optimizer_init): Ditto.
+ 	* loop-iv.c (simplify_using_initial_values): Ditto.
+ 	* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
+ 	* loop-unswitch.c (unswitch_loop): Ditto.
+ 	* modulo-sched.c (generate_prolog_epilog): Ditto.
+ 	* predict.c (combine_predictions_for_insn, estimate_probability,
+ 	tree_estimate_probability, last_basic_block_p,
+ 	estimate_bb_frequencies): Ditto.
+ 	* profile.c (branch_prob): Ditto.
+ 	* regrename.c (copyprop_hardreg_forward): Ditto.
+ 	* sched-rgn.c (is_cfg_nonregular, find_rgns, update_live): Ditto.
+ 	* tracer.c (layout_superblocks): Ditto.
+ 	* tree-cfg.c (tree_can_merge_blocks_p, tree_merge_blocks,
+ 	cfg_remove_useless_stmts_bb, cleanup_control_flow,
+ 	cleanup_control_expr_graph, disband_implicit_edges,
+ 	tree_find_edge_insert_loc, bsi_commit_edge_inserts,
+ 	tree_verify_flow_info, tree_make_forwarder_block,
+ 	tree_forwarder_block_p, remove_forwarder_block,
+ 	remove_forwarder_block_with_phi, merge_phi_nodes): Ditto.
+ 	* tree-if-conv.c (tree_if_conversion): Ditto.
+ 	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
+ 	* tree-ssa-dce.c (remove_dead_stmt): Ditto.
+ 	* tree-ssa-dom.c (dom_opt_finalize_block): Ditto.
+ 	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
+ 	copy_loop_headers): Ditto.
+ 	* tree-ssa-loop-im.c (loop_commit_inserts): Ditto.
+ 	* tree-ssa-loop-ivopts.c (compute_phi_arg_on_exit): Ditto.
+ 	* tree-ssa-loop-manip.c (split_loop_exit_edge, ip_normal_pos,
+ 	lv_adjust_loop_entry_edge, tree_ssa_loop_version): Ditto.
+ 	* tree-ssa-loop-niter.c (simplify_using_initial_conditions): Ditto.
+ 	* tree-ssa-loop-unswitch.c (simplify_using_entry_checks): Ditto.
+ 	* tree-ssa-phiopt.c (tree_ssa_phiopt, value_replacement): Ditto.
+ 	* tree-ssa-pre.c (compute_antic_aux, insert_aux, init_pre): Ditto.
+ 	* tree-ssa-threadupdate.c (redirect_edges): Ditto.
+ 	* tree-tailcall.c (independent_of_stmt_p, find_tail_calls,
+ 	eliminate_tail_call, tree_optimize_tail_calls_1): Ditto.
+ 	* tree-vect-analyze.c (vect_analyze_loop_form): Ditto.
+ 	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
+ 	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard,
+ 	slpeel_add_loop_guard): Ditto.
+ 
+ 2005-03-11  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/15784
+ 	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
+ 	and -1 - A to ~A.
+ 
+ 	* stmt.c (expand_case): Don't change index_type.  Convert minval
+ 	to the proper type.
+ 
+ 	PR tree-optimization/20130
+ 	* fold-const.c (fold): Fold x * -1 into -x.
+ 
+ 2005-03-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR rtl-optimization/20331
+ 	* rtlanal.c (modified_between_p): Check its address first for MEM.
+ 	(modified_in_p): Likewise.
+ 
+ 2005-03-11  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Use pa/t-hpux-shlib.
+ 
+ 2005-03-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* expr.c (expand_expr_real_1): If possible, use a conditional
+ 	move for expanding MIN_EXPR and MAX_EXPR.
+ 	Use temp for moving around rtx-en.
+ 
+ 2005-03-10  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR rtl-opt/20412
+ 	* simplify-rtx.c (simplify_relational_operation_1): Fix typo - check the
+ 	correct mode.
+ 
+ 2005-03-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (expand_builtin_signbit): Extend to handle floating
+ 	point modes wider than the largest integer type, using the
+ 	operand_subword_force function to obtain the signbit's word.
+ 
+ 2005-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/20322
+ 	* combine.c (try_combine): If recog_for_combine added CLOBBERs
+ 	to NEWI2PAT, fail to combine if they are used by NEWPAT.
+ 
+ 2005-03-10  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
+ 
+ 2005-03-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (analyze_edges_for_bb): Make the return
+ 	type void.
+ 	(perform_edge_inserts): Unconditionally call
+ 	free_dominator_info.
+ 
+ 	* tree-outof-ssa.c (analyze_edges_for_bb): Update a comment.
+ 
+ 2005-03-10  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Define.
+ 
+ 2005-03-10  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.c (bitmap_copy): Remove manual loop unrolling.
+ 
+ 	* value-prof.c (rtl_find_values_to_profile): Use gcc_assert and
+ 	gcc_unreachable.
+ 	(rtl_register_value_prof_hooks,
+ 	tree_value_profile_transformations,
+ 	tree_register_value_prof_hooks): Likewise.
+ 	* var-tracking.c (stack_adjust_offset_pre_post,
+ 	variable_htab_free, variable_union, dataflow_set_different_2,
+ 	count_uses, variable_was_changed, set_frame_base_location,
+ 	set_variable_part, emit_note_insn_var_location, vt_emit_notes,
+ 	vt_add_function_parameters): Likewise.
+ 	* varasm.c (named_section_real, named_section, make_decl_rtl,
+ 	asm_emit_uninitialised, assemble_integer, decode_addr_const,
+ 	const_hash_1, compare_constant, copy_constant, force_const_mem,
+ 	output_constant_pool_2, output_constant_pool_1, output_constant,
+ 	output_constructor, make_decl_one_only, decl_tls_model,
+ 	default_no_named_section, default_elf_select_section_1,
+ 	default_unique_section_1): Likewise.
+ 	* vec.c (vec_gc_o_reserve, vec_heap_o_reserve): Likewise.
+ 	* vmsdbgout.c (addr_const_to_string): Likewise.
+ 
+ 	PR c++/20375
+ 	* function.c (struct assign_parm_data_one): Remove last_named
+ 	field.
+ 	(assign_parm_find_data_types): Don't determine last_named.
+ 	Reorder named_parm determination.
+ 	(assign_parms): Only setup varargs on the last non-varadic
+ 	parameter.
+ 
+ 2005-03-10  Kazuhiro Inaoka  <inaoka.lazuhiro@renesas.com>
+ 
+ 	* config/m32r/m32r.md (load_sda_base_32): New pattern.  Loads
+ 	sda base address on medium model.
+ 
+ 2005-03-10  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* Makefile.in (tree-optimize.o): Add CFGLOOP_H dependence.
+ 	* cfgloop.c (flow_loop_nodes_find): Export.
+ 	* cfgloop.h (flow_loop_nodes_find, fix_loop_structure):
+ 	Declare.
+ 	* cfgloopmanip.c (fix_loop_structure): New function.
+ 	* predict.c (predict_loops): Clean up the loops information.
+ 	* tree-cfg.c (cleanup_tree_cfg_loop): New function.
+ 	(tree_can_merge_blocks_p, remove_bb, tree_forwarder_block_p): Respect
+ 	loop structure.
+ 	* tree-flow.h (cleanup_tree_cfg_loop): Declare.
+ 	(rewrite_into_loop_closed_ssa): Declaration changed.
+ 	* tree-loop-linear.c (linear_transform_loops): Add argument to
+ 	rewrite_into_loop_closed_ssa call.
+ 	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+ 	* tree-ssa-loop-im.c (move_computations): Ditto.
+ 	* tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
+ 	* tree-vectorizer.c (vectorize_loops): Ditto.
+ 	* tree-optimize.c: Include cfgloop.h.
+ 	(execute_todo): Choose whether to call cleanup_tree_cfg or
+ 	cleanup_tree_cfg_loop.
+ 	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables,
+ 	(tree_unroll_loops_completely): Enable cleanup_tree_cfg_loop call.
+ 	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Enable
+ 	cleanup_tree_cfg_loop call.
+ 	* tree-ssa-loop-manip.c (find_uses_to_rename_bb): New function.
+ 	(find_uses_to_rename, rewrite_into_loop_closed_ssa): Support
+ 	work on part of cfg.
+ 
+ 2005-03-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR inline-asm/20314
+ 	* gimplify.c (gimplify_asm_expr): Handle input/output constraints
+ 	with multiple alternatives.
+ 
+ 	* stmt.c (parse_output_constraint): Fix a typo.
+ 
+ 2005-03-09  Bob Wilson  <bob.wilson@acm.org>
+ 
+ 	* config/xtensa/xtensa.h (TRAMPOLINE_TEMPLATE): Use "no-transform"
+ 	assembly directive instead of deprecated "no-generics".
+ 
+ 2005-03-09  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
+ 	for non-offsettable memory references to cope with outstanding reload
+ 	replacements.
+ 	* config/s390/s390.md ("reload_outti"): Call find_replacement to
+ 	avoid losing outstanding address reloads.
+ 	("reload_outdi", "reload_outdf"): Likewise.
+ 
+ 2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* builtins.c (fold_builtin_cbrt, fold_builtin_pow): Rearrange
+ 	code.  Add more cbrt transformations.
+ 
+ 2005-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* fold-const.c (fold_unary_to_constant): Add FIX_ROUND_EXPR case.
+ 
+ 2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_unary, fold_binary, fold_ternary): Return
+ 	NULL_TREE when a given tree is not simplified.
+ 	(fold): Return the original tree when any of the functions
+ 	mentioned above NULL_TREE.
+ 
+ 	* fold-const.c (fold_unary, fold_binary): Take decomposed
+ 	arguments, code, type, op0, and op1 in case of fold_binary.
+ 	(fold): Update calls to fold_unary and fold_binary.
+ 
+ 2005-03-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_unordered_cmp): Change prototype to take
+ 	a fndecl and an arglist instead of a CALL_EXPR, exp.
+ 
+ 2005-03-09  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfglayout.c (fixup_reorder_chain): Remove old_bb.
+ 
+ 	* cfgrtl.c (cfg_layout_merge_blocks): Remove new_e.
+ 
+ 	* expr.c (expand_assignment): Remove orig_to_rtx.
+ 
+ 	* fold-const.c (int_const_binop): Remove no_overflow.
+ 
+ 	* ifcvt.c (noce_emit_move_insn): Remove inmode.
+ 
+ 	* loop-iv.c (get_biv_step_1): Remove lhs.
+ 
+ 	* loop-unroll.c (analyze_insns_in_loop): Remove preheader.
+ 
+ 	* real.c (real_nan): Remove neg.
+ 
+ 	* function.c (thread_prologue_and_epilogue_insns): Remove i
+ 	and newinsn.
+ 
+ 	* tree-data-ref.c (array_base_name_differ_p): Remove ta and
+ 	tb.
+ 
+ 	* tree-eh.c (tree_could_trap_p): Remove idx.
+ 
+ 	* tree-into-ssa.c (ann): Remove ann.
+ 
+ 	* tree-outof-ssa.c (num_nodes): Remove num_nodes.
+ 
+ 	* tree-sra.c (decide_block_copy): Remove inst_count.
+ 
+ 	* tree-ssa-alias.c (may_alias_p): Remove v_ann.
+ 
+ 	* tree-ssa-loop-im.c (lhs): Remove.
+ 
+ 	* cfgbuild.c (state, STATE, SET_STATE,
+ 	BLOCK_USED_BY_TABLEJUMP, FULL_STATE): Move just before
+ 	make_edges.
+ 	(make_edges): Speed up by skipping blocks with BLOCK_ORIGINAL.
+ 	(find_basic_blocks): Set the state of each basic block to
+ 	BLOCK_NEW.
+ 
+ 2005-03-08  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-cfg.c (cleanup_control_flow): If removal of a computed
+ 	goto results in the removal of edges in the CFG, then we need
+ 	to recompute dominators.
+ 
+ 2005-03-09  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* c-common.c (c_do_switch_warnings): Comment fix.
+ 
+ 2005-03-08  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* Patch from 2005-03-08 reverted for causing regressions and
+ 	ppc-darwin bootstrap failure.
+ 
+ 2005-03-08  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn):
+ 	Define the real function for ppc-darwin.
+ 	* c-typeck.c (convert_arguments): Check for target-specific
+ 	invalid argument call to unprototyped function.
+ 	* target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
+ 	New Macro.
+ 	* target.h (invalid_arg_for_unprototyped_fn): New field
+ 	in struct calls.
+ 	* targhooks.c (hook_invalid_arg_for_unprototyped_fn): New
+ 	default target hook.
+ 	* targhooks.h (hook_invalid_arg_for_unprototyped_fn):
+ 	Declare.
+ 
+ 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-typeck.c (constructor_stack, constructor_range_stack,
+ 	initializer_stack): Make them static.
+ 
+ 	* cfg.c (rbi_pool): Make it static.
+ 
+ 	* gimple-low.c (lower_stmt_body): Make it static.
+ 	* tree-flow.h: Remove the corresponding prototype.  Don't
+ 	declare lower_data.
+ 
+ 	* sched-deps.c (cache_size): Make it static.
+ 
+ 	* stor-layout.c (lang_adjust_rli): Make it static.
+ 
+ 2005-03-08  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
+ 	from being used for symbols with vague linkage when
+ 	HAVE_GAS_COMDAT_GROUP is true.
+ 
+ 2005-03-08  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* jump.c (invert_jump_1): Don't call redirect_jump_1 with
+ 	nlabel == JUMP_LABEL (jump).
+ 
+ 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
+ 	gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
+ 	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
+ 	tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
+ 
+ 2005-03-08  Alexey Neyman  <alex.neyman@auriga.ru>
+ 
+ 	PR c/14411
+ 	* calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
+ 	* c-common.c (handle_returns_twice): New function.
+ 	(c_common_attribute_table): Declare eturns_twice' attribute.
+ 	* doc/extend.texi: Document eturns_twice' attribute.
+ 	* tree.h (DECL_IS_RETURNS_TWICE): New macro.
+ 	(struct tree_decl): Add returns_twice_flag.
+ 
+ 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c: Fix a comment typo.
+ 
+ 	* c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
+ 	loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
+ 	config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
+ 	copyright.
+ 
+ 2005-03-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/alpha/alpha.c (code_for_builtin): Replace special-case
+ 	builtin codes with ctzdi2, clzdi2, popcountdi2.
+ 	(struct alpha_builtin_def): Add is_const.
+ 	(zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
+ 	(alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
+ 	(alpha_init_builtins): Init them.  Set nothrow and const attributes
+ 	on builtins.
+ 	(alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
+ 	alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
+ 	alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
+ 	alpha_fold_vector_minmax, alpha_fold_builtin_perr,
+ 	alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
+ 	alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
+ 	alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
+ 	alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
+ 	(TARGET_FOLD_BUILTIN): New.
+ 	* config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
+ 	(UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
+ 	(ffsdi2): Use ctz.
+ 	(cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
+ 
+ 2005-03-08  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	PR tree-optimization/20122
+ 	* tree-vect-analyze.c (vect_object_analysis): Analyze initial
+ 	condition of access function instead of base.
+ 
+ 2005-03-07  Jeff Law  <law@redhat.com>
+ 	    Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-cfg.c (find_taken_edge_computed_goto): New function.
+ 	(find_taken_edge): Call find_taken_edge_computed_goto as
+ 	appropriate.  Allow any gimple invariant rather than just
+ 	INTEGER_CST for VAL.
+ 	(cleanup_control_flow): Cleanup a computed goto which has turned
+ 	into a simple goto.
+ 	(tree_merge_blocks): If block B has any forced labels, move
+ 	them to the start of block A.
+ 	* tree-ssa-dom.c (thread_across_edge): Allow threading across
+ 	computed gotos as well.
+ 	* tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
+ 	removal of unnecessary computed gotos too.
+ 	(lookup_redirection_data): Fix type of INSERT argument.  Callers
+ 	updated.
+ 
+ 2005-03-08  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-phiopt.c: Update copyright.  Fix indentations.
+ 	Remove trailing spaces.
+ 
+ 	* gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
+ 	unshare_all_trees): Make them static.
+ 	* tree-gimple.h: Remove the corresponding prototypes.
+ 
+ 	* diagnostic.h: Remove unused prototype
+ 	debug_output_buffer.
+ 	* modulo-sched.c: Remove unused prototype
+ 	set_row_column_for_ps.
+ 
+ 	* tree-ssa-phiopt.c (tree_ssa_phiopt,
+ 	replace_phi_edge_with_variable): Remove unused variable i.
+ 
+ 2005-03-07  Per Bothner  <per@bothner.com>
+ 
+ 	* tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
+ 
+ 2005-03-06  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/17671
+ 	* tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
+ 	bbs on the COND_EXPR instead of the PHI_NODEs.
+ 	(candidate_bb_for_phi_optimization): Remove.
+ 	(replace_phi_with_stmt): Rename to ...
+ 	(replace_phi_edge_with_variable): this and change so that we
+ 	replace the phi argument instead of removing the PHI.
+ 	(conditional_replacement): Change so we deal with PHI with more
+ 	than two arguments.
+ 	(value_replacement): Likewise.
+ 	(abs_replacement): Likewise.
+ 
+ 2005-03-07  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
+ 	output_e500_flip_gt_bit.
+ 
+ 	* config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
+ 	as bit 31.
+ 	(rs6000_generate_compare): Fix logic to look at the correct bits.
+ 	(output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
+ 	Look at GT bit.
+ 	(rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
+ 	gen_e500_flip_gt_bit.  Rename gen_move_from_CR_eq_bit to
+ 	gen_move_from_CR_gt_bit.
+ 
+ 	* config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
+ 	("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
+ 	(UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
+ 
+ 	* config/rs6000/spe.md ("e500_cr_ior_compare"): New.
+ 	(E500_CR_IOR_COMPARE): New constant.
+ 
+ 2005-03-08  Earl Chew <earl_chew@agilent.com>
+ 	    David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/host-cygwin.c: New file to support precompiled
+ 	headers on cygwin
+ 	* config/i386/x-cygwin: Use host-cygwin.c on cygwin host
+ 	* config.host: Use above files for cygwin host.
+ 
+ 2005-03-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
+ 	ordering ops from earlier change.
+ 
+ 2005-03-07  Per Bothner  <per@bothner.com>
+ 
+ 	Various fixes to allow us to again build if --enable-mapped-location:
+ 	* c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
+ 	unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
+ 	* tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
+ 	local variable loc. Change logic appropriately.
+ 	* tree-vect-transform.c (vect_finish_stmt_generation): Use
+ 	EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.
+ 	* c-parser.c (c_parser_for_statement): Initialize loc variable.
+ 	* tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
+ 	DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
+ 
+ 2005-03-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR rtl-optimization/19683
+ 	* reload1.c (choose_reload_regs): Pass the number of bits, not the
+ 	number of bytes, to smallest_int_for_mode.  Fix arguments to
+ 	REG_CANNOT_CHANGE_MODE_P.
+ 
+ 2005-03-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* reorg.c (relax_delay_slots): Check that the jump is
+ 	conditional before trying to invert it.
+ 
+ 2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bb-reorder.c (max_entry_frequency, max_entry_frequency):
+ 	Make them static.
+ 
+ 	* calls (stack_arg_under_construction): Make it static.
+ 
+ 	* flow.c (regs_live_at_setjmp): Make it static.
+ 	* flow.h: Remove the corresponding prototype.
+ 
+ 	* reload1.c (reload_startobj, reload_firstobj,
+ 	something_needs_operands_changed, reload_inherited,
+ 	reload_inheritance_insn, reload_override_in,
+ 	reload_spill_index): Make them static.
+ 
+ 	* recog.c (verify_changes): Make it static.
+ 	* recog.h: Remove the corresponding prototype.
+ 
+ 	* cfgbuild.c (find_sub_basic_blocks): Remove.
+ 	* basic-block.h: Remove the corresponding prototype.
+ 	* cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
+ 	in comments.
+ 	* doc/cfg.texi: Don't mention find_sub_basic_blocks.
+ 
+ 	* tree-ssa-operands.c (check_build_stmt): Remove.
+ 
+ 	* stor-layout.c (set_alignment): Remove.
+ 	* tree.h: Remove the corresponding prototype.
+ 
+ 	* tree-ssa-pre.c (has_abnormal_preds): Make it static.
+ 
+ 	* tree-ssa-dce.c (control_dependence_map,
+ 	visited_control_parents): Make them static.
+ 
+ 	* cfghooks.c (verify_flow_info): Remove local variable
+ 	num_bb_notes.
+ 
+ 	* cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
+ 	last_bb_seen.
+ 
+ 	* loop-unswitch.c (unswitch_loop): Remove local variable src.
+ 
+ 2005-03-07  David Billinghurst <David.Billinghurst@riotinto.com>
+ 
+ 	* config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
+ 
+ 2005-03-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (LINK_SPEC): Add -z.
+ 	* config/ia64/ia64.c (ia64_function_value): Return a REG not a
+ 	PARALLEL for an empty structure.
+ 
+ 2005-03-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
+ 
+ 	* fold-const.c (fold_binary): Unroll the very first "for"
+ 	loop.
+ 
+ 2005-03-06  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (branch_comparison_operator): Remove
+ 	redundant match_code test.
+ 	(scc_comparison_operator): Swap match_operand and match_code
+ 	tests.
+ 	(branch_positive_comparison_operator): Same.
+ 	(trap_comparison_operator): Use comparison_operator and swap with
+ 	match_code test.
+ 
+ 2005-03-06  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	PR target/20288
+ 	* config/avr/avr.c (print_operand): Add 'p' and 'r'.
+ 	(out_movhi_r_mr): Read low byte of volatile MEM first.
+ 	(out_movhi_mr_r): Write high byte of volatile MEM first.
+ 
+ 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cselib.c (reg_values, reg_values_size): Make them static.
+ 
+ 	* cse.c (cse_reg_info_table): Make it static.
+ 
+ 	* fold-const.c (fold_unary): Use build1 instead of copy_node.
+ 
+ 2005-03-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* cse.c (find_best_addr): Use canon_for_address.
+ 
+ 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (fold_rtx_subreg, fold_rtx_mem): New.
+ 	(fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
+ 	SUBREG and MEM, respectively.
+ 
+ 	* fold-const.c (fold_binary): Use code instead of t.
+ 
+ 	* fold-const.c (optimize_minmax_comparison): Take decomposed
+ 	arguments code, type, op0, and op1 instead of t.
+ 	(fold_binary): Update a call to optimize_minmax_comparison.
+ 
+ 	* fold-const.c (fold_range_test): Take decomposed arguments
+ 	code, type, op0, and op1 instead of t.
+ 	(fold_binary): Update a call to fold_range_test.
+ 
+ 	* fold-const.c (fold_binary_op_with_conditional_arg): Take
+ 	decomposed arguments code, type, op0, and op1 instead of t.
+ 	(fold_binary): Update a call to fold_range_test.
+ 
+ 2005-03-06  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_binary): Avoid directly using the original
+ 	expression t as much as possible.
+ 
+ 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-semantics.c (build_stmt): Use TYPE_P instead of
+ 	IS_NON_TYPE_CODE_CLASS.
+ 	* tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
+ 	(NON_TYPE_CHECK): Use TYPE_P instead of
+ 	IS_NON_TYPE_CODE_CLASS.
+ 
+ 	* fold-const.c (fold): Remove handling of binary expressions.
+ 
+ 2005-03-05  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* doc/c-tree.texi: Wrap comments in @r{}.
+ 	* doc/cpp.texi: Likewise.
+ 	* doc/cppinternals.texi: Likewise.
+ 	* doc/extend.texi: Likewise.
+ 	* doc/md.texi: Likewise.
+ 	* doc/objc.texi: Likewise.
+ 	* doc/sourcebuild.texi: Likewise.
+ 	* doc/tm.texi: Likewise.
+ 	* doc/tree-ssa.texi
+ 
+ 2005-03-05  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* predict.c (apply_return_prediction): Standardize PHI chain
+ 	walking.
+ 	* tree-ssa.c (ssa_redirect_edge): Likewise.
+ 
+ 	* genattrtab.c, genemit.c, genoutput.c, genrecog.c,
+ 	gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
+ 	Update copyright.
+ 
+ 	* tree-phinodes.c (remove_phi_node): Drop the last argument.
+ 	* tree-flow.h: Adjust the prototype for remove_phi_node.
+ 	* lambda-code.c (perfect_nestify): Adjust a call to
+ 	remove_phi_node.
+ 	* tree-cfg.c
+ 	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
+ 	* tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
+ 	Likewise.
+ 	* tree-ssa-dce.c (remove_dead_phis): Likewise.
+ 	* tree-ssa-loop-ivopts.c (remove_statement): Likewise.
+ 	* tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
+ 	* tree-ssa.c (kill_redundant_phi_nodes): Likewise.
+ 
+ 	* combine.c (simplify_and_const_int): Use gen_int_mode instead
+ 	of GEN_INT (trunc_int_for_mode (...)).
+ 	* loop-iv.c (iv_number_of_iterations): Likewise.
+ 	* postreload.c (reload_cse_move2add): Likewise.
+ 	* simplify-rtx.c (simplify_const_unary_operation,
+ 	simplify_const_binary_operation): Likewise.
+ 	* stor-layout.c (get_mode_bounds): Likewise.
+ 
+ 	* fold-const.c (fold_binary): New.
+ 	(fold): Call fold_binary on binary expressions.
+ 
+ 2005-03-05  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
+ 	* config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
+ 	(TARGET_SWITCHES): Add -msym32 and -mno-sym32.
+ 	(ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
+ 	(ASM_SPEC): Pass down -msym32 and -mno-sym32.
+ 
+ 2005-03-04  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR tree-optimization/18815
+ 	* tree-if-conv.c (combine_blocks): Adjust loop header edges for
+ 	loops with zero exit edges.
+ 
+ 2005-03-04  Devang Patel  <dpatel@apple.com>
+ 
+ 	* doc/invoke.texi: Remove reference to webpage that does not exist.
+ 
+ 2005-03-04  John David Anglin  <dave.danglin@nrc-cnrc.gc.ca>
+ 	    Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c++/19797
+ 	* pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
+ 	(ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
+ 	* pa-protos.h (pa_hpux_asm_output_external): Add prototype.
+ 	* pa.c (get_plabel): Change argument to symbol_ref.  Call
+ 	maybe_get_identifier instead of get_identifier.
+ 	(pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
+ 	(struct deferred_plabel): Replace name field with symbol field.
+ 	(TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
+ 	ASM_OUTPUT_EXTERNAL_REAL is defined.
+ 	(output_global_address): Use output_addr_const for output of all
+ 	symbol_refs.
+ 	(output_deferred_plabels): Use symbol_ref instead of name for address
+ 	output.
+ 	* pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
+ 	ASM_OUTPUT_SYMBOL_REF): New macros.
+ 	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw.  Update
+ 	comment.
+ 	(ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
+ 	label.
+ 
+ 2005-03-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
+ 	*-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
+ 
+ 2005-03-04  Jeff Law  <law@redhat.com>
+ 
+ 	* basic-block.h (rediscover_loops_after_threading): Declare.
+ 	* tree-ssa-dom.c: Include cfgloop.h.
+ 	(tree_ssa_dominator_optimize): Discover loops and some basic
+ 	properties.  Remove forwarder blocks recreated by loop header
+ 	canonicalization.  Also mark backedges in the CFG.
+ 	* tree-ssa-threadupdate.c: Include cfgloop.h
+ 	(rediscover_loops_after_threading): Define.
+ 	(struct local_info): New field, JUMP_THREADED.
+ 	(prune_undesirable_thread_requests): New function.
+ 	(redirect_edges): Clear EDGE_ABNORMAL.  If edges were threaded
+ 	then record that fact for the callers of redirct_edges.
+ 	(thread_block): If BB has incoming backedges, then call
+ 	prune_undesirable_thraed_requests.    Note when we are
+ 	going to have to rediscover loop information.  Return a
+ 	boolean indicating if any jumps were threaded.
+ 	(thread_through_all_blocks): Bubble up boolean indicating
+ 	if any jumps were threaded.
+ 	* Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
+ 	(tree-ssa-threadupdate.o): Similarly.
+ 
+ 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_ternary): Unroll the "for" loop to
+ 	extract operands.
+ 
+ 2005-03-04  Andrew Haley  <aph@redhat.com>
+ 
+ 	* unwind-dw2-fde-glibc.c (struct
+ 	unw_eh_callback_data.check_cache): New field.
+ 	(frame_hdr_cache): New.
+ 	(_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
+ 	Cache frame header info.
+ 
+ 2005-03-04  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
+ 	(print_c_condition): Declare.
+ 	* read-rtl.c (ptr_loc): New structure.
+ 	(ptr_locs, ptr_loc_obstack, joined_conditions)
+ 	(joined_conditions_obstack): New variables.
+ 	(leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
+ 	(get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
+ 	(join_c_conditions, print_c_condition): New functions.
+ 	(apply_macro_to_string): Associate the new string with the same
+ 	source location as the old one.
+ 	(add_condition_to_string): Use join_c_conditions.
+ 	(read_string): Use set_rtx_ptr_loc to record a filename and line
+ 	number for the string.
+ 	(read_rtx): Initialize the new variables above.
+ 	* genattrtab.c (write_test_expr, write_attr_value): Use
+ 	print_c_condition.
+ 	* genconditions.c (write_header): Don't define MAYBE_EVAL.  Move its
+ 	comment above the GCC_VERSION check.
+ 	(write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
+ 	Inline the definition of MAYBE_EVAL.
+ 	* genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
+ 	* genoutput.c (process_template): Likewise.
+ 	* genpreds.c (write_predicate_subfunction): Likewise.
+ 	(write_predicate_expr): Use print_c_condition.
+ 	* genrecog.c (write_cond): Likewise.
+ 	* gensupport.c (process_rtx): Use join_c_conditions to join the
+ 	conditions of a define_insn_and_split.  Record a source location
+ 	for the string after the "&&".
+ 	(alter_test_for_insn): Use join_c_conditions.
+ 
+ 2005-03-04  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	Revert for now:
+ 	2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
+ 	PR tree-optimization/15784
+ 	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
+ 	and -1 - A to ~A.
+ 
+ 2005-03-04  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* gcc.c (option_map): Add --coverage.
+ 	(LINK_COMMAND_SPEC): Pass -lgcov for `coverage'.
+ 	(cc1_options): Pass -fprofile-arcs -ftest-coverage for `coverage'.
+ 	* config/darwin.h: Pass -lgcov for `coverage'.
+ 	* doc/invoke.texi (Debugging Options): Document --coverage.
+ 
+ 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c (bypass_block): Use find_edge wherever possible.
+ 
+ 2005-03-03  Daniel Berlin <dberlin@dbrelin.org>
+ 
+ 	Fix PR debug/20253
+ 
+ 	* c-opts.c (c_common_parse_file): Call start_source_file
+ 	and end_source_file at the approriate times.
+ 
+ 	* dwarf2out.c (dwarf2out_finish): Don't auto-end
+ 	the main file, it will be done for us now.
+ 
+ 2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* fold-const.c (fold_ternary): New.
+ 	(fold): Call fold_ternary on ternary expressions.  Remove
+ 	handling of ternary expressions.
+ 
+ 2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/15784
+ 	* fold-const.c (fold): Fold ~A + 1 to -A.  Fold -A - 1
+ 	and -1 - A to ~A.
+ 
+ 2005-03-03  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (branch_comparison_operator):
+ 	Convert from C block to conditional format.
+ 
+ 2005-03-03  Jan Hubicka  <jh@suse.cz>
+ 
+ 	* tree-dfa.c (add_referenced_var): Don't walk initializer of external
+ 	and non-constant public variables.
+ 
+ 2005-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
+ 	with LABEL_EXPR.
+ 
+ 	* cfgexpand.c (construct_exit_block): Use EDGE_PRED instead of
+ 	EDGE_I.
+ 
+ 	* tree-phinodes.c (remove_phi_node): Clean up by factoring out
+ 	calls to release_ssa_name and release_phi_node.
+ 
+ 	* fold-const.c (fold): Remove handling of unary expressions.
+ 
+ 	* fold-const.c (fold_unary): Avoid directly using the original
+ 	expression t as much as possible.
+ 
+ 2005-03-03  Roger Sayle  <roger@eyesopen.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
+ 	RETURN rtx, and not a LABEL_REF containing a NULL pointer.
+ 
+ 2005-03-03  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	Describe special registers SRP and MOF as allocatable registers.
+ 	* config/cris/cris.c (cris_md_asm_clobbers): New function.
+ 	(TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers.
+ 	(cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if
+ 	TARGET_HAS_MUL_INSNS.
+ 	(cris_print_operand) <case 'd'>: New case.
+ 	<case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM.
+ 	* config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't
+ 	define.
+ 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS)
+ 	(REG_ALLOC_ORDER): Update for MOF.
+ 	(enum reg_class): New members MOF_REGS, GENERAL_REGS and
+ 	SPECIAL_REGS.
+ 	(GENERAL_REGS): No longer a define of ALL_REGS.
+ 	(REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES)
+ 	(PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
+ 	Adjust accordingly.
+ 	(CRIS_SPECIAL_REGS_CONTENTS): New macro.
+ 	(REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'.
+ 	(SECONDARY_RELOAD_CLASS): Define.
+ 	(STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM.
+ 	(FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM.
+ 	(ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM.
+ 	(STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM.
+ 	(REGISTER_MOVE_COST): Define.
+ 	(PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM.
+ 	* config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM)
+ 	(CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM)
+ 	(CRIS_MOF_REGNUM): New define_constants.
+ 	("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for
+ 	special registers.
+ 	("reload_inhi", "reload_outhi", "reload_inqi", "reload_outqi"):
+ 	New patterns.
+ 	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3")
+ 	("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"):
+ 	Adjust for MOF being properly described as a register.
+ 	(indir_to_reg_split): Name this split.  Conditionalize on the
+ 	destination register being a general register.
+ 	(movei): Conditionalize on on operands 0 and 1 having the same
+ 	register class.
+ 
+ 2005-03-03  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/20277
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Don't allow
+ 	-mcpu to override any other explicitly given flags.
+ 
+ 2005-03-02  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* recog.c (verify_changes, confirm_change_group): New functions,
+ 	broken out of apply_change_group.
+ 	(apply_change_group): Use them.
+ 	* recog.h (verify_change, confirm_change_group): Declare.
+ 	* rtl.h (redirect_jump_2): Declare.
+ 	* jump.c (redirect_exp, invert_exp): Delete.
+ 	(invert_exp_1): Take second parameter.  Return value.  Changed caller.
+ 	(redirect_jump_2): New function, broken out of redirect_jump.
+ 	(redirect_jump): Use redirect_jump_1 and redirect_jump_2.
+ 	(invert_jump): Use invert_jump_1 and redirect_jump_2.
+ 	* ifcvt.c (dead_or_predicable): Use redirect_jump_2.
+ 
+ 2005-03-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* varasm.c (named_section): Use xstrdup rather than doing it by
+ 	hand.
+ 
+ 	* config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
+ 
+ 2005-03-02  Devang Patel  <dpatel@apple.com>
+ 
+ 	Undo PR tree-optimization/18815 fix.
+ 
+ 2005-03-02  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR tree-optimization/18815
+ 	* tree-if-conv.c (combine_blocks): Adjust loop header edges for
+ 	loops with zero exit edges.
+ 
+ 2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfg.c (connect_src, connect_dest, disconnect_src,
+ 	disconnct_dest): New.
+ 	(unchecked_make_edge, remove_edge, redirect_edge_succ,
+ 	redirect_edge_pred): Use the new functions.
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
+ 	free_dominance_info only when needed.
+ 
+ 2005-03-02  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/20276
+ 	* config/rs6000/predicates.md (reg_or_cint64_operand): Fix typo.
+ 	(reg_or_sub_cint64_operand): Same.
+ 
+ 2005-03-02  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Fix setting of
+ 	CFG_ALTERED in the main DOM iteration loop.
+ 
+ 2005-03-02  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	PR c++/19916
+ 	* varasm.c (initializer_constant_valid_p): Allow conversions
+ 	between OFFSET_TYPEs.  Tidy.
+ 
+ 2005-03-02  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md ("return"): Remove epilogue delay list
+ 	sanity check.
+ 
+ 2005-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
+ 	for Thumb.
+ 	* config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
+ 
+ 2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgloop.h, cfgloopanal.c, cfgloopmanip.c, conflict.c,
+ 	loop-init.c, loop-unroll.c, print-tree.c, reg-notes.def,
+ 	config/m68k/m68k.c, config/mips/mips.h,
+ 	config/rs6000/rs6000-protos.h, doc/contrib.texi,
+ 	doc/include/gcc-common.texi: Update copyright.
+ 
+ 	PR middle-end/18029 and PR middle-end/18030
+ 	* expr.c (optimize_bitfield_assignment_op): Add a special case
+ 	to handle BIT_IOR_EXPR and BIT_XOR_EXPR.
+ 
+ 	* fold-const.c (fold_unary): New.
+ 	(fold): Call fold_unary on unary expressions.
+ 
+ 2005-03-02  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* cgraph.h (struct cgraph_edge): Add prev_caller and
+ 	prev_callee fields.
+ 	(cgraph_node_remove_callees): Export.
+ 	* cgraph.c (cgraph_create_edge): Initialize prev_caller
+ 	and prev_callee.
+ 	(cgraph_edge_remove_callee): New function.
+ 	(cgraph_edge_remove_caller): Likewise.
+ 	(cgraph_remove_edge): Use.
+ 	(cgraph_redirect_edge_callee): Likewise.
+ 	(cgraph_node_remove_callees): New function.
+ 	(cgraph_node_remove_callers): Likewise.
+ 	(cgraph_remove_node): Use.
+ 	* tree-optimize.c (tree_rest_of_compilation): Use
+ 	cgraph_node_remove_callees instead of manual loop.
+ 	* cgraphunit.c (cgraph_finalize_function): Likewise.
+ 	(cgraph_expand_function): Likewise.
+ 	(cgraph_remove_unreachable_nodes): Likewise.
+ 
+ 2005-03-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/8927
+ 	* c-tree.h (undeclared_variable, build_external_ref): Add extra
+ 	argument.
+ 	* c-decl.c (undeclared_variable): Take location as argument.
+ 	* c-typeck.c (build_external_ref): Likewise.
+ 	* c-parser.c (c_parser_postfix_expression): Pass location of
+ 	identifier to build_external_ref.
+ 
+ 2005-03-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.md (cceq splitter): Use operand mode, not
+ 	CCEQ mode for branch_positive_comparison_operator test.
+ 	* config/rs6000/predicates (branch_comparison_operator): Revert to
+ 	define_predicate.
+ 	(scc_comparison_operator): Same.
+ 	(branch_positive_comparison_operator): Same.
+ 
+ 2005-03-01  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.c (cris_eligible_for_epilogue_delay)
+ 	(cris_delay_slots_for_epilogue): Remove.
+ 	(save_last): Move into cris_target_asm_function_epilogue.
+ 	(cris_target_asm_function_epilogue): Remove tests for file being
+ 	NULL.
+ 	* config/cris/cris-protos.h (cris_eligible_for_epilogue_delay)
+ 	(cris_delay_slots_for_epilogue): Remove prototypes.
+ 	* config/cris/cris.h (DELAY_SLOTS_FOR_EPILOGUE)
+ 	(ELIGIBLE_FOR_EPILOGUE_DELAY): Do not define.
+ 
+ 2005-03-01  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/predicates.md (branch_comparison_operator): Change
+ 	to define_special_predicate.
+ 	(scc_comparison_operator): Same.
+ 	(branch_positive_comparison_operator): Same.
+ 
+ 2005-03-01  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	* Makefile.in (tree-ssa-sink.o): New.
+ 	(OBJS-common): Add tree-ssa-sink.o.
+ 	* common.opt: Add -ftree-sink
+ 	* opts.c (decode_options): flag_tree_sink is set at O1 or higher.
+ 	* timevar.def (TV_TREE_SINK): new timevar.
+ 	* tree-flow.h (is_hidden_global_store): Prototype.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_sink_code.
+ 	* tree-pass.h (pass_sink_code): New.
+ 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
+ 	for non-obvious global store store to is_hidden_global_store, and
+ 	call that new function.
+ 	* tree-ssa-sink.c: New file.
+ 	* doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
+ 	* doc/passes.texi: Document forward store motion.
+ 	* testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
+ 	* testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
+ 	* testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
+ 	* testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test
+ 
+ 2005-03-01  Per Bothner  <per@bothner.com>
+ 
+ 	* diagnostic.c (diagnostic_build_prefix): If USE_MAPPED_LOCATION
+ 	and we have a non-zero column-number, add it to the message.
+ 	Also factor out the diagnostic_kind_text.
+ 
+ 2005-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* cfgloop.c (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
+ 	flow_loop_pre_header_scan, flow_loop_pre_header_find,
+ 	flow_loop_scan): Removed.
+ 	(flow_loop_dump): Do not dump removed fields.
+ 	(flow_loop_free): Do not free removed fields.
+ 	(flow_loops_find): Flags argument removed.  Do not call flow_loop_scan.
+ 	(loop_exit_edge_p): New function.
+ 	* cfgloop.h (struct loop): Removed fields pre_header, pre_header_edges,
+ 	num_pre_header_edges, entry_edges, num_entries, exit_edges,
+ 	num_exits, exits_doms.
+ 	(LOOP_TREE, LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
+ 	LOOP_EDGES, LOOP_ALL): Removed.
+ 	(flow_loop_scan): Declaration removed.
+ 	(loop_exit_edge_p, mark_loop_exit_edges): Declare.
+ 	* cfgloopmanip.c (create_loop_notes): Do not pass flags to
+ 	flow_loops_find.
+ 	* ifcvt.c (mark_loop_exit_edges): Moved to cfgloopanal.c.
+ 	(if_convert): Call flow_loops_find and flow_loops_free
+ 	when calling mark_loop_exit_edges.
+ 	* cfgloopanal.c (mark_loop_exit_edges): Moved from
+ 	ifcvt.c.  Removed the flow_loops_find, flow_loops_free and
+ 	free_dominance_info calls.
+ 	* loop-init.c (flow_loops_find): Ditto.
+ 	* passes.c (rest_of_handle_branch_prob): Ditto.
+ 	* lambda-code.c (perfect_nestify): Do not call flow_loops_find.
+ 	* loop-unroll.c (analyze_insns_in_loop): Do not use
+ 	EDGE_LOOP_EXIT.
+ 	* predict.c (predict_loops): Do not call flow_loop_scan.
+ 	Use get_loop_exit_edges.
+ 	(tree_estimate_probability): Do not pass flags to flow_loops_find.
+ 	* tree-if-conv.c (bb_with_exit_edge_p): Take loop as argument.
+ 	Do not use EDGE_LOOP_EXIT.
+ 	(tree_if_convert_cond_expr, if_convertible_modify_expr_p): Pass loop
+ 	to bb_with_exit_edge_p.
+ 	(if_convertible_loop_p): Do not call flow_loop_scan.  Use
+ 	loop->single_exit.  Do not use EDGE_LOOP_EXIT.  Pass loop
+ 	to bb_with_exit_edge_p.
+ 	(combine_blocks): Pass loop to bb_with_exit_edge_p.  Do not use
+ 	EDGE_LOOP_EXIT.
+ 	* tree-loop-linear.c (linear_transform_loops): Do not call
+ 	flow_loop_scan.  Use loop->single_exit.
+ 	* tree-vect-analyze.c (vect_analyze_operations): Use loop->single_exit.
+ 	(vect_analyze_loop_form): Do not call flow_loop_scan.
+ 	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Use
+ 	loop->single_exit.
+ 	(vect_do_peeling_for_loop_bound): Use loop_preheader_edge and
+ 	loop->single_exit.
+ 	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
+ 	slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+ 	slpeel_tree_duplicate_loop_to_edge_cfg,
+ 	slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
+ 	Use loop_preheader_edge and loop->single_exit.  Do not call
+ 	flow_loop_scan.
+ 
+ 2005-03-01  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/arm/arm.c (thumb_find_work_register): Check all of the
+ 	argument registers to see if they are free, and a couple of
+ 	special cases where the last argument register but can be proved
+ 	to be available during the function's prologue.
+ 	(print_multi_reg, arm_compute_save_reg0_reg12_mask,
+ 	output_return_instruction, emit_multi_reg_push, thumb_pushpop,
+ 	thumb_unexpanded_epilogue): Use unsigned long as the type for the
+ 	register bit-mask.
+ 	(thumb_compute_save_reg_mask): Likewise.  Also use
+ 	thumb_find_work_register() to ensure that there is agreement about
+ 	which work register is going to be used in the prologue.
+ 	(thumb_output_function_prologue): Use unsigned long as the type
+ 	for the register bit-mask.  Also delay pushing the link register if
+ 	other high registers are going to be pushed.
+ 	(thumb_compute_save_reg_mask, emit_multi_reg_push,
+ 	print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
+ 	redundant prototypes.
+ 
+ 2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
+ 
+ 	PR target/19819
+ 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
+ 	and after reload in REG+REG indexed addresses without REG_POINTER
+ 	set in the base and not set in the index.
+ 
+ 2005-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+ 	Don't undefine here.
+ 	(HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
+ 	(NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
+ 	(TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
+ 	(LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
+ 	LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
+ 	Delete.
+ 	* config.gcc (sh*-*-linux*): Use config/linux.h.
+ 
+ 2005-02-28  Dale Johannesen  <dalej@apple.com>
+ 	    Stan Shebs  <shebs@apple.com>
+ 
+ 	Rewrite of 64-bit Darwin structure-by-value pass/return.
+ 	* config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
+ 	intoffset, use_stack, named.
+ 	* config/rs6000/rs6000.c (rs6000_darwin64_function_arg):  Remove.
+ 	(rs6000_darwin64_record_arg_advance_flush):  New.
+ 	(rs6000_darwin64_record_arg_advance_recurse): New.
+ 	(rs6000_darwin64_record_arg_flush):  New.
+ 	(rs6000_darwin64_record_arg_recurse):  New.
+ 	(rs6000_darwin64_record_arg):  New.
+ 	(rs6000_return_in_memory):  Remove AGGREGATE_TYPE_P check.
+ 	(function_arg_boundary):  Handle 128-bit aligned structs.
+ 	(function_arg_advance):  Rewrite darwin64 struct handling.
+ 	(function_arg):  Call rs6000_darwin64_record_arg.
+ 	(function_arg_partial_nregs):  Handle darwin64 structs.
+ 	(rs6000_darwin64_function_value):  Remove.
+ 	(rs6000_function_value):  Call rs6000_darwin64_record_arg.
+ 
+ 2005-02-28  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR tree-optimization/20216
+ 	* tree-chrec.c (tree_fold_factorial): Delete.
+ 	(tree_fold_binomial): Change argument list to take a return type
+ 	and change the type of K to unsigned int.  Rewrite to avoid explicit
+ 	evaluation of factorials, and (recursively) calling fold to perform
+ 	compile-time arithmetic.  Return NULL on (internal) overflow.
+ 	(chrec_evaluate): Change type of K to an unsigned int.  Avoid
+ 	calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
+ 	if any intermediate calculation overflows.
+ 	(chrec_apply): Update call to chrec_evaluate.
+ 
+ 2005-02-28  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
+ 
+ 2005-02-28  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/20245
+ 	* c-parser.c (c_parser_compound_statement): Return error_mark_node
+ 	instead of NULL_TREE on error.
+ 
+ 2005-02-28  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
+ 	(EASY_VECTOR_15_ADD_SELF): Remove.
+ 	(num_insns_constant_wide): Not static.
+ 	(validate_condition_mode): Not static.
+ 	(toc_relative_expr_p): Not static.
+ 	(legitimate_indirect_address_p): Not static.
+ 	(macho_lo_sum_memory_operand): Not static.
+ 	(invalid_e500_subreg): Not static.
+ 	(easy_vector_same): Not static.
+ 	(easy_vector_splat_const): Not static.
+ 	(RS6000_SYMBOL_REF_TLS_P): Remove.
+ 	(any_operand): Delete.
+ 	(any_parallel_operand): Delete.
+ 	(count_register_operand): Delete.
+ 	(altivec_register_operand): Delete.
+ 	(xer_operand): Delete.
+ 	(s8bit_cint_operand): Delete.
+ 	(short_cint_operand): Delete.
+ 	(u_short_cint_operand): Delete.
+ 	(non_short_cint_operand): Delete.
+ 	(exact_log2_cint_operand): Delete.
+ 	(gpc_reg_operand): Delete.
+ 	(cc_reg_operand): Delete.
+ 	(cc_reg_not_cr0_operand): Delete.
+ 	(reg_or_short_operand): Delete.
+ 	(reg_or_neg_short_operand): Delete.
+ 	(reg_or_aligned_short_operand): Delete.
+ 	(reg_or_u_short_operand): Delete.
+ 	(reg_or_cint_operand): Delete.
+ 	(reg_or_arith_cint_operand): Delete.
+ 	(reg_or_add_cint64_operand): Delete.
+ 	(reg_or_sub_cint64_operand): Delete.
+ 	(reg_or_logical_cint_operand): Delete.
+ 	(got_operand): Delete.
+ 	(got_no_const_operand): Delete.
+ 	(easy_fp_constant): Delete.
+ 	(easy_vector_constant): Delete.
+ 	(easy_vector_constant_add_self): Delete.
+ 	(zero_constant): Delete.
+ 	(zero_fp_constant): Delete.
+ 	(volatile_mem_operand): Delete.
+ 	(offsettable_mem_operand): Delete.
+ 	(mem_or_easy_const_operand): Delete.
+ 	(add_operand): Delete.
+ 	(non_add_cint_operand): Delete.
+ 	(logical_operand): Delete.
+ 	(non_logical_cint_operand): Delete.
+ 	(mask_operand): Delete.
+ 	(mask_operand_wrap): Delete.
+ 	(mask64_operand): Delete.
+ 	(mask64_2_operand): Delete.
+ 	(and64_operand): Delete.
+ 	(and64_2_operand): Delete.
+ 	(and_operand): Delete.
+ 	(reg_or_mem_operand): Delete.
+ 	(lwa_operand): Delete.
+ 	(symbol_ref_operand): Delete.
+ 	(call_operand): Delete.
+ 	(current_file_function_operand): Delete.
+ 	(input_operand): Delete.
+ 	(rs6000_nonimmediate_operand): Delete.
+ 	(rs6000_tls_symbol_ref): Delete.
+ 	(save_world_operation): Delete.
+ 	(restore_world_operation): Delete.
+ 	(load_multiple_operation): Delete.
+ 	(store_multiple_operation): Delete.
+ 	(vrsave_operation): Delete.
+ 	(mfcr_operation): Delete.
+ 	(mtcrf_operation): Delete.
+ 	(lmw_operation): Delete.
+ 	(stmw_operation): Delete.
+ 	(branch_comparison_operator): Delete.
+ 	(branch_positive_comparison_operator): Delete.
+ 	(scc_comparison_operator): Delete.
+ 	(trap_comparison_operator): Delete.
+ 	(boolean_operator): Delete.
+ 	(boolean_or_operator): Delete.
+ 	(min_max_operator): Delete.
+ 	* config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
+ 	(EASY_VECTOR_15): Moved to here.
+ 	(EASY_VECTOR_15_ADD_SELF): Move to here.
+ 	(PREDICATE_CODES): Delete.
+ 	* config/rs6000/rs6000-protos.h: Delete predicate functions.
+ 	Declare functions no longer static.
+ 	* config/rs6000/predicates.md: New.
+ 	* config/rs6000/rs6000.md: Include predicates.md
+ 
+ 2005-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* calls.c (emit_call_1): Don't use  REG_ALWAYS_RETURN.
+ 	(emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
+ 	REG_ALWAYS_RETURN.
+ 	* cfgrtl.c (need_fake_edge_p): Likewise.
+ 	* combine.c (distribute_notes): Likewise.
+ 	* emit-rtl.c (try_split): Likewise.
+ 	* recog.c (peephole2_opimize): Likewise.
+ 	* reg-notes.def (ALWAYS_RETURN): Remove.
+ 	* rtl.h (LCT_ALWAYS_RETURN): Remove.
+ 	* tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
+ 	* tree.h (ECF_ALWAYS_RETURN): Remove.
+ 
+ 2005-02-28  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19874
+ 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
+ 	between different machine modes is never a "useless" conversion.
+ 
+ 2005-02-28  Geert Bosch  <bosch@gnat.com>
+ 
+ 	PR ada/15977
+ 	* doc/contrib.texi: List contributors for Ada front end
+ 
+ 2005-02-28 Paolo Bonzini <bonzini@gnu.org>
+ 
+ 	* simplify-rtx.c (simplify_unary_operation_1,
+ 	simplify_const_unary_operation): New, extracted from...
+ 	(simplify_unary_operation): ... this one.
+ 	(simplify_binary_operation_1,
+ 	simplify_const_binary_operation): New, extracted from...
+ 	(simplify_binary_operation): ... this one.
+ 	* rtl.h (simplify_const_unary_operation,
+ 	simplify_const_binary_operation): Add prototypes.
+ 
+ 2005-02-28  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/elfos.h: Revert my patch from 2005-02-25 since it broke
+ 	building libjava and caused PR regression/20228.
+ 
+ 2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR bootstrap/17383
+ 	* Makefile.in (host_subdir): New.
+ 	(build_objdir): New.  Replace ../$(build_subdir) with it throughout.
+ 	* configure: Regenerate.
+ 
+ 2005-02-27  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
+ 	* config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
+ 	installation directory first.
+ 
+ 2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/19065.
+ 	* config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
+ 	not including (reg). Do not check for reg being CRIS_PC_REGNUM.
+ 	(EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
+ 	* config/cris/cris.md: Tweak comments referring to Q.
+ 	("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
+ 	("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
+ 	("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
+ 	("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
+ 	("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
+ 	Insert spaces in constraints to align alternatives vertically for
+ 	readability.
+ 	("cmphi"): Ditto.  Add separate alternative for operand 0 "r",
+ 	operand 1: "M".
+ 
+ 2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR rtl-optimization/17728
+ 	* pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
+ 	operand 0 from general_operand to move_dest_operand.
+ 
+ 2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
+ 	instead of trying to save and restore TREE_SYMBOL_REFERENCED.
+ 	* pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
+ 	(ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
+ 
+ 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	* configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
+ 	* configure: Regenerate.
+ 	* libada-mk.in: Remove CC; rename
+ 	cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
+ 
+ 2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/20188
+ 	* tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
+ 	for the lhs, also walk over the tree.  Likewise for rhs.
+ 
+ 2005-02-26  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-dom.c (simple_iv_increment_p): New function.
+ 	(simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
+ 	Do not propagate value of iv before increment over the increment.
+ 
+ 2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-parser.c: New file.
+ 	* c-parse.in: Remove.
+ 	* Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
+ 	Remove.
+ 	(c-parser.o): Add dependencies.
+ 	(C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
+ 	maintainer-clean, TAGS): Update.
+ 	* c-config-lang.in (gtfiles): Update.
+ 	* gengtype-lex.l: Don't handle "@@".
+ 	* stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
+ 	objc_build_synchronized, objc_begin_try_stmt,
+ 	objc_begin_catch_clause, objc_finish_catch_clause,
+ 	objc_build_finally_clause, objc_finish_try_stmt): New.
+ 	* c-tree.h (struct c_declspecs): Add declspecs_seen_p and
+ 	type_seen_p.
+ 	(c_parse_init): Update comment.
+ 	* c-decl.c (c_init_decl_processing): Update comment.
+ 	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
+ 	declspecs_add_scspec, declspecs_add_attrs): Initialize and update
+ 	new c_declspecs members.
+ 
+ 2005-02-25  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
+ 	from being used for symbols with vague linkage when
+ 	HAVE_GAS_COMDAT_GROUP is true.
+ 
+ 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* doc/include/gcc-common.texi (version-GCC): Update to 4.1.
+ 
+ 2005-02-25  Steve Ellcey  <sje@cup.hp.com>
+ 
+ 	PR target/19930
+ 	* doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
+ 	(LIBGCC2_HAS_DF_MODE): New.
+ 	(LIBGCC2_HAS_XF_MODE): New.
+ 	(LIBGCC2_HAS_TF_MODE): New.
+ 	* libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+ 	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+ 	* libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+ 	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+ 	(LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
+ 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
+ 	and add _fixtfdi, _fixunstfdi, _floatditf
+ 	* lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
+ 	L_fixunstfdi, L_floatditf.
+ 	* config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
+ 	(LIBGCC2_HAS_TF_MODE): Define.
+ 
+ 2005-02-25  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/20204
+ 	* tree-into-ssa.c (insert_phi_nodes_for): Do not use
+ 	REWRITE_THIS_STMT markers on PHI nodes.
+ 	(rewrite_initialize_block): Likewise.
+ 
+ 2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+ 
+ 	* version.c (version_string): Update to 4.1.
+ 
+ 2005-02-25  Paolo Carlini  <pcarlini@suse.de>
+ 
+ 	* doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
+ 	Clarify that the alternative way doesn't work in GNU C++.
+ 
+ 2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/19937
+ 	* tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
+ 	to the type of the induction variable.
+ 
+ 2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR rtl-optimization/20117
+ 	* bb-reorder.c (duplicate_computed_gotos): Don't duplicate
+ 	the block including noncopyable insn.
+ 
+ 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (delete_trivially_dead_insns): Speed up by minimizing
+ 	calls to find_reg_note.
+ 
+ 2005-02-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/20127
+ 	* tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
+ 	the type.
+ 
+ 2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
+ 	vector types if to use base reg for misaligned non-word ld/std.
+ 
+ 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/14619
+ 	* config/cris/cris.c (cris_target_asm_function_prologue): Create
+ 	dwarf2 label manually and put it after, not before the prologue.
+ 
+ 2005-02-24  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/19019
+ 	* reload.c (operands_match_p): Only increment register number for
+ 	SCALAR_INT_MODE_P modes in multiple hard registers.
+ 
+ 	* config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
+ 	Fix formatting.
+ 
+ 2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	* ChangeLog.5: Fix log message typo(s).
+ 	* ChangeLog.7: Likewise.
+ 	* ChangeLog.tree-ssa: Likewise.
+ 	* cfgexpand.c: Fix comment typo(s).
+ 	* conflict.c: Likewise.
+ 	* defaults.h: Likewise.
+ 	* dwarf2out.c: Likewise.
+ 	* gcse.c: Likewise.
+ 	* ggc-page.c: Likewise.
+ 	* tree-eh.c: Likewise.
+ 	* tree-ssa-dom.c: Likewise.
+ 
+ 2005-02-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/19019
+ 	* mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
+ 	* config/rs6000/darwin-ldouble.c: Only use the .symver directives
+ 	if SHARED is defined.
+ 
+ 	PR target/20196
+ 	* config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
+ 	allow splitting only if operands 0 and 3 don't overlap.
+ 
+ 2005-02-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19953
+ 	* builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
+ 	(fold_builtin_1): Call them.
+ 	* fold-const.c (fold_complex_mult_parts): Split out from ...
+ 	(fold_complex_mult): ... here.  Fix typo in both imaginary case.
+ 	(fold_complex_div_parts, fold_complex_div): New.
+ 	(fold): Use them.
+ 	* tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
+ 
+ 2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+ 
+ 	* tree-ssa-ccp.c (visit_assignment): Verify that result of
+ 	VIEW_CONVERT_EXPR is_gimple_min_invariant.
+ 
+ 	* print-tree.c (print_node_brief): Print LABEL_DECL_UID.
+ 	(print_node): Likewise.
+ 	Print TYPE_SIZES_GIMPLIFIED.
+ 
+ 2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
+ 	("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
+ 	operands as commutative in constraints.
+ 
+ 2005-02-24  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-into-ssa.c: Re-organize internal functions.
+ 
+ 2005-02-24  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/18902
+ 	* c-opts.c (c_common_post_options): Set flag_complex_method to 2
+ 	for c99.
+ 	* common.opt (fcx-limited-range): New.
+ 	* opts.c (set_fast_math_flags): Set flag_cx_limited_range.
+ 	* toplev.c (flag_complex_method): Initialize to 1.
+ 	(process_options): Set flag_complex_method to 0 if
+ 	flag_cx_limited_range.
+ 	* doc/invoke.texi (-fcx-limited-range): New.
+ 
+ 2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (delete_trivially_dead_insns): Speed up by using
+ 	NEXT_INSN and PREV_INSN directly instead of next_real_insn and
+ 	prev_real_insn.
+ 
+ 2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
+ 
+ 	* config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
+ 	functions when -mid-shared-library is being used.
+ 
+ 2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
+ 	(LINK_LIBGCC_SPECIAL_1): Don't mention it.
+ 	* gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
+ 	* system.h: Poison LINK_LIBGCC_SPECIAL.
+ 
+ 2005-02-23  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* gengtype.c (note_insn_name): Make 1 element larger.
+ 
+ 2005-02-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/20018
+ 	PR rtl-optimization/20097
+ 	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+ 	BImode SUBREGs of SImode registers which confuse the ia64 backend.
+ 
+ 2005-02-23  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* t-aix43 (SHLIB_INSTALL): Create directory for shared library.
+ 	* t-aix52 (SHLIB_INSTALL): Same.
+ 
+ 2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* genpreds.c: Update copyright.
+ 
+ 2005-02-23  Michael Beach  <michaelb@ieee.org>
+ 
+ 	PR target/20159
+ 	* config/sparc/t-elf (startup files): Assemble with CPP.
+ 
+ 2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
+ 	(write_predicate_expr): Likewise.
+ 
+ 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/20100
+ 	PR tree-optimization/20115
+ 	* tree-optimize.c (init_tree_optimization_passes): Remove
+ 	pass_maybe_create_global_var.
+ 	* tree-pass.h (pass_maybe_create_global_var): Remove.
+ 	* tree-ssa-alias.c (aliases_computed_p): Declare.
+ 	(struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
+ 	(count_calls_and_maybe_create_global_var): Remove.
+ 	(pass_maybe_create_global_var): Remove.
+ 	(init_alias_info): Do not declare aliases_computed_p.
+ 	(maybe_create_global_var): If the function contains no
+ 	call-clobbered variables and a mix of pure/const and regular
+ 	function calls, create .GLOBAL_VAR.
+ 	Mark all call-clobbered variables for renaming.
+ 	(merge_pointed_to_info): Update comment.
+ 	(add_pointed_to_var): Likewise.
+ 	(is_escape_site): Likewise.
+ 	Accept struct alias_info * instead of size_t *.
+ 	Update all users.
+ 	Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
+ 	as necessary.
+ 	* tree-ssa-operands.c (get_call_expr_operands): If
+ 	ALIASES_COMPUTED_P is false, do not add call-clobbering
+ 	operands.
+ 	* tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
+ 	(delete_tree_ssa): Likewise.
+ 
+ 2005-02-22  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	* toplev.c (backend_init): Don't call init_adjust_machine_modes here.
+ 	(do_compile): Do call it here.
+ 
+ 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR rtl-optimization/20017.
+ 	* passes.c (rest_of_handle_combine, rest_of_handle_cse,
+ 	rest_of_handle_cse2, rest_of_handle_gcse): Call
+ 	delete_dead_jumptables immediately before calling cleanup_cfg.
+ 
+ 2005-02-22  Devang Patel  <dpatel@apple.com>
+ 
+ 	PR 19952
+ 	* tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
+ 	all labels
+ 
+ 2005-02-22  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix.h (WINT_TYPE): Define.
+ 
+ 2005-02-22  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_override_options): Default to
+ 	natural alignment for 64-bit Darwin.
+ 	(rs6000_parse_alignment_option): Warn about uses of -malign-power
+ 	on 64-bit Darwin.
+ 	* doc/invoke.texi: Document this.
+ 
+ 2005-02-22  DJ Delorie  <dj@redhat.com>
+ 
+ 	* c-common.c (c_common_type_for_mode): Pass the mode's precision
+ 	to make_[un]signed_type, not the mode itself.
+ 
+ 2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfg.c (cached_make_edge): Call make_edge if edge cache is
+ 	not available.  Use tail calls wherever possible.
+ 	(make_edge): Call unchecked_make_edge to create an edge.
+ 
+ 	* tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
+ 	(coalesce_ssa_name): Don't check for
+ 	SSANORM_USE_COALESCE_LIST.
+ 	(rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
+ 
+ 2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	* tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
+ 	(rewrite_into_ssa): ... here.
+ 
+ 2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR tree-optimization/19786
+ 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
+ 	tag to another's may-alias bitmap when adding to the other's list.
+ 
+ 2005-02-21  DJ Delorie  <dj@redhat.com>
+ 
+ 	* tree-ssa-loop-ivopts.c (computation_cost): Start register
+ 	numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
+ 	registers in unsupported ways.
+ 	* expmed.c (init_expmed): Likewise.
+ 
+ 2005-02-21  Stan Cox  <scox@redhat.com>
+ 
+ 	* config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
+ 
+ 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (fold_cond_expr_cond): New.
+ 	(make_edges): Call fold_cond_expr_cond.
+ 	(find_taken_edge): Accept nothing but INTEGER_CST.
+ 	(find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
+ 	and 1.
+ 	(find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
+ 
+ 	* flow.c (delete_dead_jumptables): Speed up by scanning insns
+ 	that do not belong to any basic block.
+ 
+ 2005-02-21  Jeff Law  <law@redhat.com>
+ 
+ 	* cfganal.c (find_unreachable_blocks): Manually CSE load of
+ 	e->dest.
+ 
+ 2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
+ 	(SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
+ 	Adjust their definitions.
+ 	(remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
+ 	(rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
+ 
+ 	* c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
+ 	genautomata.c, langhooks.c, langhooks.h, system.h,
+ 	config/arm/lib1funcs.asm: Update copyright.
+ 
+ 2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* dbxout.c (dbxout_function_end): Emit Lscope label always.
+ 
+ 2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR bootstrap/13770
+ 	* doc/install.texi: Document --with-gc.
+ 
+ 2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* simplify-rtx.c (simplify_unary_operation): Add a missing
+ 	"break" statement.
+ 
+ 2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR tree-optimization/18663
+ 	* tree-ssa-dom.c (extract_range_from_cond): Return 0
+ 	if the type has variable bounds.
+ 
+ 2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* gcse.c: Remove an obsolete comment.
+ 
+ 	* cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
+ 
+ 2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* doc/extend.texi (Function Attributes) <Attribute const>: The
+ 	attribute "pure" is below this text, not above.
+ 
+ 2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa.c (pa_assemble_integer, get_plabel): Small cleanups.
+ 	(pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
+ 	* som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
+ 
+ 2005-02-20  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	PR 18785
+ 	* langhooks.h (struct lang_hooks): Add to_target_charset.
+ 	* langhooks.c (lhd_to_target_charset): New function.
+ 	* langhooks-def.h: Declare lhd_to_target_charset.
+ 	(LANG_HOOKS_TO_TARGET_CHARSET): New macro.
+ 	(LANG_HOOKS_INITIALIZER): Update.
+ 	* c-common.c (c_common_to_target_charset): New function.
+ 	* c-common.h: Declare it.
+ 	* c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
+ 	c_common_to_target_charset.
+ 
+ 	* defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
+ 	(TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
+ 	Delete definitions.
+ 	* system.h: Poison them.
+ 	* doc/tm.texi: Don't discuss them.
+ 	* builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
+ 	* c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
+ 	(pp_c_char): Do not attempt to generate letter escapes for
+ 	newline, tab, etc.
+ 	* config/arm/arm.c (output_ascii_pseudo_op): Likewise.
+ 	* config/mips/mips.c (mips_output_ascii): Likewise.
+ 
+ 2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	PR tree-optimization/19951
+ 	* tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
+ 	is abnormal.
+ 
+ 2005-02-19  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/19698
+ 	* function.h (struct function): New field `max_loop_depth'.
+ 	* cfgloop.c (establish_preds): Update maximum loop depth seen so far.
+ 	(flow_loops_find): Reset the max loop depth count before finding loops.
+ 	* flow.c (MAX_LIVENESS_ROUNDS): New constant.
+ 	(update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
+ 	(calculate_global_regs_live): Make sure the loop will terminate
+ 	when the initial sets are not empty.
+ 
+ 2005-02-19  Zack Weinberg  <zack@codesourcery.com>
+ 
+ 	* mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
+ 	object inside.
+ 	* config/ia64/hpux.h: Don't define LIBGCC_SPEC.
+ 
+ 2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR other/19525
+ 	* doc/invoke.texi: Remove documentation of %M spec.
+ 	* gcc.c: Likewise.
+ 	(init_spec): Remove %M suffix from -lgcc_s.
+ 	(do_spec_1): Remove 'M' case.
+ 	* mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
+ 	to put shared libraries in the multilib directory.  Remove the
+ 	shlib_so_soname substitution variable.  Don't add a multilib encoding
+ 	to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
+ 	reported by -print-multi-os-directory.  Pass @multilib_dir@ to
+ 	SHLIB_INSTALL as well as SHLIB_LINK.
+ 	* config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
+ 	(SHLIB_NAME): Delete.
+ 	(SHLIB_DIR): New macro.
+ 	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
+ 	(SHLIB_INSTALL): Adjust accordingly.
+ 	* config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
+ 	* config/t-slibgcc-sld: Likewise.
+ 	* config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
+ 	(SHLIBUNWIND_SONAME): Use @shlib_base_name@.
+ 	(SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
+ 	in $(SHLIB_DIR).
+ 	(SHLIBUNWIND_INSTALL): Adjust accordingly.
+ 	* config/i386/t-nwld (SHLIB_SONAME): Delete.
+ 	(SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
+ 	Use @shlib_base_name@ instead of @shlib_so_name@.
+ 	* config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
+ 	and @shlib_base_name@.so in @multilib_dir@.
+ 	(SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
+ 	to the install path.
+ 	* config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
+ 	(SHLIB_LINK): Remove previous workaround.
+ 	* config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
+ 	(SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
+ 	(SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
+ 	the install path.
+ 	* config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
+ 	@multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
+ 	(SHLIB_INSTALL): Adjust accordingly.
+ 	(SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
+ 	* config/rs6000/t-aix52: As for config/rs6000/t-aix43.
+ 	* config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
+ 	config/t-slibgcc-elf-ver.
+ 
+ 2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
+ 	    Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/19828
+ 	* tree-ssa-loop-im.c: Add a TODO comment.
+ 	(movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
+ 	without side-effects.
+ 
+ 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
+ 	call fold_convert.
+ 
+ 2005-02-18  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	* doc/invoke.texi (IA-64 Options): Delete -mb-step.
+ 	* config/ia64/ia64.c (last_group, group_idx): Delete variables.
+ 	(errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
+ 	functions.
+ 	(ia64_reorg): Delete fixup_errata call.
+ 	* config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
+ 	(TARGET_SWITCHES): Delete -mb-step entry.
+ 
+ 2005-02-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/20043
+ 	* c-typeck.c (composite_type): Handle quals in transparent unions.
+ 	(type_lists_compatible_p): Likewise.
+ 
+ 2005-02-18  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/darwin.c (machopic_select_rtx_section): Don't put relocatable
+ 	expressions in the .literal8 section.
+ 
+ 2005-02-18  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
+ 
+ 2005-02-18  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (constant_boolean_node): Always create values of the
+ 	specified type, don't bother calling truthvalue_conversion.
+ 
+ 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* except.c (output_function_exception_table): Call
+ 	assemble_external_libcall (eh_personality_libfunc).
+ 
+ 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR target/19886
+ 	* config/ia64/ia64.h (struct machine_function): Add state_num.
+ 	* config/ia64/ia64.c (process_epilogue,
+ 	process_for_unwind_directive): Use new unwind state numbers each
+ 	time rather than state 1.
+ 
+ 2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	PR target/20054
+ 	* config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
+ 	before the "*llgt_didi" pattern.
+ 
+ 2005-02-18  Jason Merrill  <jason@redhat.com>
+ 
+ 	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
+ 
+ 2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/lib1funcs.asm (FUNC_ALIAS): New macro.
+ 	(div0): Use it in place of ARM_FUNC_ALIAS.
+ 	(lshrdi3, ashrdi3, ashlrdi3): Likewise.
+ 
+ 2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/20030
+ 	* fold-const.c (fold_indirect_ref_1): Use the correct index for zero
+ 	access, the lower bound of the array type if it exists.
+ 
+ 2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	PR c++/20008
+ 	* stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
+ 	cases that are out-of-range for the index type.
+ 
+ 2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
+ 	(estimate_case_costs): Don't call convert.
+ 	* expmed.c (expand_shift): Likewise.
+ 	(make_tree): Call fold_convert instead of convert.
+ 
+ 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/19813
+ 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
+ 	that ref to be marked MEM_READONLY_P doesn't have base that needs
+ 	constructing.
+ 
+ 2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* genautomata.c (output_get_cpu_unit_code_func,
+ 	output_cpu_unit_reservation_p): Don't generate old-style function
+ 	definitions.
+ 
+ 2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c++/20023
+ 	PR tree-optimization/20009
+ 	* convert.c (convert_to_integer): Revert 2005-02-16 change.
+ 
+ 	PR tree-optimization/18947
+ 	* cgraphunit.c (cgraph_finalize_function): When redefining an extern
+ 	inline, remove all nodes that are inlined into the extern inline
+ 	being redefined.
+ 
+ 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
+ 	loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
+ 	tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
+ 	config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
+ 	Update copyright.
+ 
+ 2005-02-17  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR tree-optimization/19917
+ 	* tree-eh.c (tree_could_trap_p): Consider calls to weak functions
+ 	to be potentially trapping.
+ 
+ 2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* libgcc2.c, tree-vect-analyze.c: Fix comment typos.
+ 
+ 2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* builtins.c (expand_builtin_return_addr): Remove tem parameter.
+ 	tem becomes a local variable which is set to the value of the
+ 	back end defined INITIAL_FRAME_ADDRESS macro.
+ 	(expand_builtin_frame_address): Omit the base parameter to
+ 	expand_builtin_return_addr.
+ 	(expand_builtin_profile_func): Likewise.
+ 	* config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
+ 	(DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
+ 	* doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
+ 
+ 2005-02-17  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/s390/s390.c (s390_alloc_pool, s390_free_pool,
+ 	s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
+ 	* config/frv/frv.c (frv_function_epilogue): Likewise.
+ 
+ 2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* lambda-code (perfect_nestify): Remove mark/unmark
+ 	for rewriting hack.
+ 	* tree-loop-linear.c (linear_transform_loops): Add
+ 	rewrite_into_ssa call so that ssa is correct for
+ 	rewriting into loop closed.
+ 
+ 2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
+ 	* bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
+ 	BITMAP_FREE.
+ 	* bt-load.c (btr_def_live_range, combine_btr_defs,
+ 	migrate_btr_def, migrate_btr_defs): Likewise.
+ 	* cfgcleanup.c (thread_jump): Likewise.
+ 	* cfgloop.c (get_loop_body_in_bfs_order): Likewise.
+ 	* df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
+ 	df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
+ 	df_rd_local_compute, df_reg_info_compute): Likewise.
+ 	* dominance.c (init_dom_info, free_dom_info): Likewise.
+ 	* flow.c (init_propagate_block_info,
+ 	free_propagate_block_info): Likewise.
+ 	* gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
+ 	* global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
+ 	modify_reg_pav): Likewise.
+ 	* loop-invariant.c (find_defs, find_invariant_insn,
+ 	find_invariants, free_inv_motion_data): Likewise.
+ 	* predict.c (tree_predict_by_opcode,
+ 	estimate_bb_frequencies): Likewise.
+ 	* stmt.c (expand_case): Likewise.
+ 	* tree-cfg.c (tree_duplicate_sese_region): Likewise.
+ 	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
+ 	* tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
+ 	* tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
+ 	get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
+ 	rewrite_ssa_into_ssa): Likewise.
+ 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+ 	* tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
+ 	analyze_edges_for_bb, perform_edge_inserts): Likewise.
+ 	* tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
+ 	* tree-sra.c (tree_sra): Likewise.
+ 	* tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
+ 	* tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+ 	* tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ 	* tree-ssa-dse.c (tree_ssa_dse): Likewise.
+ 	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
+ 	Likewise.
+ 	* tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
+ 	calculate_live_on_entry, calculate_live_on_exit,
+ 	build_tree_conflict_graph): Likewise.
+ 	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
+ 	record_important_candidates, set_use_iv_cost, find_depends,
+ 	determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
+ 	tree_ssa_iv_optimize_finalize): Likewise.
+ 	* tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
+ 	find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
+ 	tree_duplicate_loop_to_header_edge): Likewise.
+ 	* tree-ssa-pre.c (init_pre, fini_pre): Likewise.
+ 	* tree-ssa.c (verify_flow_insensitive_alias_info,
+ 	verify_name_tags, verify_ssa, init_tree_ssa,
+ 	delete_tree_ssa): Likewise.
+ 	* tree-ssanames.c (marked_ssa_names, init_ssanames,
+ 	fini_ssanames): Likewise.
+ 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
+ 
+ 2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/t-rtems: Completely reworked.
+ 
+ 2005-02-17  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
+ 
+ 2005-02-17  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
+ 	POINTER_TYPE_P when checking that type is a pointer.
+ 	(vect_get_memtag): Remove.
+ 	(vect_address_analysis): Use POINTER_TYPE_P. Call
+ 	vect_object_analysis with dummy parameter for memtag.
+ 	(vect_object_analysis): Extract memtag (functionality that
+ 	used to be in vect_get_memtag and moved here). Fix printings.
+ 	(vect_analyze_data_refs): Fix comment. Call vect_object_analysis
+ 	with correct parameters. Remove call to vect_get_memtag.
+ 
+ 2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
+ 	(tree-vectorizer.o): Added missing dependencies.
+ 
+ 	* tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
+ 	decleration.
+ 	(slpeel_tree_peel_loop_to_edge): Function externalized (had a static
+ 	declaration in tree-vectorizer.c, now has an extern declaration in
+ 	tree-vectorizer.h).
+ 	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+ 	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+ 	get_vectype_for_scalar_type, vect_is_simple_use,
+ 	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+ 	vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
+ 	new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
+ 	vectorizable_store, vectorizable_operation, vectorizable_assignment,
+ 	vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
+ 	find_loop_location): Likewise.
+ 
+ 	* tree-vectorizer.c (langhooks.h): #include removed.
+ 	(slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
+ 	moved to tree-vectorized.h.
+ 	(slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+ 	slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+ 	get_vectype_for_scalar_type, vect_is_simple_use,
+ 	vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+ 	vect_supportable_dr_alignment, new_loop_vec_info,
+ 	destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
+ 	vect_set_verbosity_level, find_loop_location): Likewise.
+ 
+ 	(vect_analyze_loop): Function externalized. Declaration moved to
+ 	tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
+ 	(vect_analyze_loop_form): Moved to tree-vect-analyze.c.
+ 	(vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
+ 	vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
+ 	vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
+ 	vect_enhance_data_refs_alignment, vect_analyze_operations,
+ 	exist_non_indexing_operands_for_use_p, vect_mark_relevant,
+ 	vect_stmt_relevant_p, vect_get_loop_niters,
+ 	vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
+ 	vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
+ 	vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
+ 	vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
+ 	vect_get_memtag): Likewise.
+ 
+ 	(vectorizable_load): Function externalized. Declaration moved to
+ 	tree-vectorized.h. Function definition moved to tree-vect-transform.c.
+ 	(vectorizable_store, vectorizable_operation, vectorizable_assignment,
+ 	vect_transform_loop): Likewise.
+ 	(vect_transform_stmt): Moved to tree-vect-transform.c.
+ 	(vect_align_data_ref, vect_create_destination_var,
+ 	vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
+ 	vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
+ 	vect_get_vec_def_for_operand, vect_init_vector,
+ 	vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
+ 	vect_build_loop_niters, vect_update_ivs_after_vectorizer,
+ 	vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
+ 	vect_update_inits_of_drs, vect_do_peeling_for_alignment,
+ 	vect_do_peeling_for_loop_bound): Likewise.
+ 
+ 	* tree-vect-analyze.c: New file.
+ 	* tree-vect-transform.c: New file.
+ 
+ 2005-02-17  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR mudflap/19319, c++/19317
+ 	* gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
+ 	slot explicit.
+ 
+ 2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
+ 
+ 	* doc/install.texi (Specific): Update link for Darwin-specific
+ 	tool binary site.
+ 
+ 2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
+ 	constant_boolean_node.
+ 
+ 2005-02-16  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/19019
+ 	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+ 	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
+ 
+ 2005-02-16  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 19920
+ 	* libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
+ 	with W_TYPE_SIZE.
+ 	(HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
+ 	replace uses with Wtype_MAXp1_F.
+ 	(L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
+ 	L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
+ 	L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
+ 	L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
+ 	and HAVE_TFMODE as appropriate.
+ 	(__fixunssfDI): Provide an implementation that doesn't need DFmode.
+ 	(__floatdisf): Likewise.
+ 	* libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
+ 	(HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
+ 	(Wtype_MAXp1_F): New.
+ 	(DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
+ 	__powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
+ 
+ 2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* PR target/19162
+ 	* arm.c (arm_apply_result_size): New function.
+ 	* arm.h (APPLY_RESULT_SIZE): Define.
+ 	* arm-protos.h (arm_apply_result_size): Add prototype.
+ 	* arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+ 	(movxf): New expand.
+ 	(ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+ 	(call_value_symbol): Remove predicate for operand 0.
+ 	(call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+ 	(untyped_call): Rework to correclty return values for any type.
+ 	(untyped_return): New expand.
+ 	* fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+ 
+ 2005-02-16  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+ 	* config/rs6000/t-darwin8: New, for 64-bit multilib.
+ 
+ 2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* doc/install.texi (sparc-sun-solaris2*): Document required GMP
+ 	configure settings on Solaris 7 and later.
+ 
+ 2005-02-16  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19865
+ 	* tree-optimize.c (init_tree_optimization_passes): Run
+ 	pass_may_alias after pass_sra.
+ 
+ 2005-02-16  Richard Henderson  <rth@redhat.com>
+ 	    Stuart Hastings  <stuart@apple.com>
+ 
+ 	PR debug/19521
+ 	* dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+ 	Do nothing if debug info suppressed for this function.
+ 	(dbxout_begin_function): Early exit if debug info suppressed for
+ 	this function.
+ 
+ 2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR target/20007
+ 	* config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
+ 	find_basic_blocks.
+ 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ 
+ 	PR tree-optimization/19967
+ 	* builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
+ 	expand_builtin_strchr, expand_builtin_strrchr): Take a new
+ 	argument TYPE.  Adjust calls to fold_builtin_XXX.
+ 	(expand_builtin, fold_builtin_1): Adjust calls to
+ 	expand_builtin_XXX.
+ 	(fold_builtin_strchr, fold_builtin_strpbrk,
+ 	fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
+ 	result to a requested type TYPE.
+ 
+ 2005-02-16  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/19857
+ 	* fold-const.c (fold): Don't optimize (T)(x & cst) to
+ 	(T)x & (T)cst if (T)cst overflows.
+ 	* convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
+ 	TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
+ 
+ 2005-02-15  Jeff Law  <law@redhat.com>
+ 
+ 	* gcse.c (blocks_with_calls): New bitmap.
+ 	(alloc_gcse_mem): Allocate it.
+ 	(free_gcse_mem): Free it.
+ 	(clear_modifY_mem_tables): Clear it.
+ 	(record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
+ 	when we encounter CALL_INSNs.
+ 	(compute_transp, case MEM): Handle blocks with calls separate
+ 	from blocks without calls.  Use bitmap iterators rather than
+ 	FOR_EACH_BB.
+ 
+ 2005-02-15  Peter O'Gorman  <peter@pogma.com>
+ 
+ 	PR bootstrap/18810
+ 	* mklibgcc.in (vis_hide): Use a temporary object file, not
+ 	-o /dev/null.
+ 
+ 2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
+ 
+ 	PR target/19924
+ 	* config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
+ 	access optimization.
+ 
+ 2005-02-15  David Edelsohn  <edelsohn@gnu.org>
+ 	    Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19019
+ 	* config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
+ 	(_xlqsub): Rename to __gcc_qsub.
+ 	(_xlqmul): Rename to __gcc_qmul.
+ 	(_xlqdiv): Rename to __gcc_qdiv.
+ 	Provide versioned symbol aliases with old names.
+ 	* config/rs6000/libgcc-ppc64.ver: Rename symbols.
+ 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
+ 	* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
+ 	* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
+ 	* config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
+ 
+ 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	* fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
+ 	Fold ~(A - 1) and ~(A + -1) to -A.
+ 
+ 2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR pch/14940
+ 	PR target/19300
+ 	* config/host-linux.c (linux_gt_pch_use_address): Copy from
+ 	config/pa/pa-host.c:pa_gt_pch_use_address.
+ 
+ 2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-vn.c (get_value_handle): Make sure that given an
+ 	is_gimple_min_invariant expression, we always return it.
+ 
+ 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* passes.c (rest_of_handle_gcse): Fix a comment.
+ 
+ 2005-02-15  Jeff Law  <law@redhat.com>
+ 
+ 	* gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
+ 	bitmap.
+ 	(alloc_gcse_mem, free_gcse_mem): Corresponding changes.
+ 	(canon_list_insert, record_last_mem_set_info): Similarly.
+ 	(clear_modify_mem_tables): Similarly.
+ 
+ 2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
+ 	tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
+ 	config/mips/mips.md, config/rs6000/aix.h,
+ 	config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
+ 
+ 2005-02-15  Richard Henderson  <rth@redhat.com>
+ 
+ 	* bb-reorder.c (find_traces_1_round): Force fallthru edge from a
+ 	call to be best_edge.
+ 
+ 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h: Adjust the prototype for find_basic_blocks.
+ 	* cfgbuild.c (find_basic_blocks): Remove unused arguments.
+ 	* passes.c (rest_of_handle_loop_optimize): Adjust the call to
+ 	find_basic_blocks.
+ 
+ 	* flow.c (recompute_reg_usage): Remove all arguments.
+ 	* passes.c (rest_of_compilation): Adjust the call to
+ 	recompute_reg_usage.
+ 	* rtl.h: Adjust the prototype for recompute_reg_usage.
+ 
+ 2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-dump.c (dump_files): Update to reflect new member
+ 	of dump_file_info.
+ 	(dump_register): Add new argument.
+ 	Set glob name.
+ 	(dump_switch_p_1): Check against glob name if doglob was passed.
+ 	(dump_switch_p): Check against regular first, then glob if
+ 	we didn't have any hits on the dump name.
+ 	* tree-optimize.c (register_one_dump_file):
+ 	Pass in glob name as well.
+ 	* tree-pass.h (struct dump_file_info): Add glob
+ 	member.
+ 
+ 2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR preprocessor/16323
+ 	* doc/invoke.texi: Document that -Wendif-labels is on by default.
+ 
+ 2005-02-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/19019
+ 	* config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
+ 	(trunctfdf2_internal1): New.
+ 	(trunctfdf2_internal2): Renamed from trunctfdf2.
+ 
+ 2005-02-14  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19853
+ 	* tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
+ 
+ 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* passes.c (rest_of_handle_loop_optimize): Remove calls to
+ 	delete_dead_jumptables and cleanup_cfg.
+ 
+ 2005-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* reload.c (find_reloads): Swap address_reloaded flags when
+ 	swapping commutative operands.
+ 
+ 2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
+ 
+ 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
+ 	Use standard_iv_increment_position for computing the bsi position
+ 	for create_iv.
+ 	* tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
+ 	the bsi position.
+ 
+ 2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR target/17428
+ 	* cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
+ 	life range of hard registers.
+ 	* value-prof.c (insn_prefetch_values_to_profile): Only
+ 	scan normal insns.
+ 
+ 	* value-prof.c (rtl_find_values_to_profile): Do not look for values to
+ 	profile in libcalls.
+ 
+ 2005-02-13  Nathan Sidwell  <nathan@codesourcery.com>
+ 
+ 	* bitmap.h (bitmap_and_compl_into): Return bool.
+ 	* bitmap.c (bitmap_and_compl_into): Return changed flag.
+ 
+ 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/19944
+ 	* fold-const.c (fold): Re-add ABS_EXPR folding.
+ 
+ 2005-02-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/19019
+ 	* config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
+ 	{TARGET,MASK}_XL_COMPAT.
+ 	(SUBTARGET_SWITCHES): Rename xl-call to xl-compat.  Use
+ 	MASK_XL_COMPAT.
+ 	* config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
+ 	* config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
+ 	TARGET_XL_COMPAT.
+ 	(rs6000_arg_partial_bytes): Same.
+ 	(rs6000_generate_compare): Generate PARALLEL for compare if TFmode
+ 	and XL compatibility enabled.
+ 	* config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
+ 	* config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
+ 	test to final condition.
+ 	(cmptf_internal2): New.
+ 	* doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
+ 	xl-compat.  Add TFmode information to description.
+ 
+ 2005-02-13  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
+ 
+ 2005-02-13  Jason Merrill  <jason@redhat.com>
+ 
+ 	PR c++/16405
+ 	* fold-const.c (fold_indirect_ref_1): Split out from...
+ 	(build_fold_indirect_ref): Here.
+ 	(fold_indirect_ref): New fn.
+ 	* tree.h: Declare it.
+ 	* gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
+ 	(gimplify_modify_expr_rhs): Likewise.
+ 	(gimplify_expr): Likewise.
+ 
+ 2005-02-13  James A. Morrison  <phython@gcc.gnu.org>
+ 
+ 	PR tree-optimization/14303
+ 	PR tree-optimization/15784
+ 	* fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
+ 	Fold ABS_EXPR<x> < 0 to false.  Fold ABS_EXPR<x> == 0 to x == 0 and
+ 	ABS_EXPR<x> != 0 to x != 0.
+ 
+ 2005-02-12  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
+ 	simplify-rtx.c, tree-ssa-live.h: Fix comment typos.  Follow
+ 	spelling conventions.
+ 
+ 	* passes.c (rest_of_handle_gcse): Don't run cse_main and
+ 	delete_trivially_dead_insns too many times.
+ 
+ 	* passes.c (rest_of_handle_gcse): Remove dead assignments to
+ 	tem and tem2.
+ 
+ 2005-02-12  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_get_base_and_offset): Remove.
+ 	(vect_is_simple_iv_evolution): Remove redundant parameter
+ 	and step check.
+ 	(vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
+ 	without last parameter.
+ 	(vect_analyze_pointer_ref_access): Get access_fn as parameter.
+ 	Return pointer step. Call vect_is_simple_iv_evolution without
+ 	last parameter. Check only that the step is multiple of size
+ 	type. Remove stmt_vinfo updates.
+ 	(vect_get_memtag_and_dr): Remove.
+ 	(vect_get_memtag): New function.
+ 	(vect_address_analysis): New function.
+ 	(vect_object_analysis): New function.
+ 	(vect_analyze_data_refs): Call vect_object_analysis and
+ 	vect_get_memtag. Update stmt_vinfo fields.
+ 
+ 2005-02-12  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-data-ref.c (array_base_name_differ_p): Check that the bases
+ 	exist and are objects. Remove checks for pointer.
+ 	* tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
+ 	STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
+ 	(vect_create_data_ref_ptr): Likewise.
+ 	(vect_base_addr_differ_p): New function.
+ 	(vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
+ 	(vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
+ 	Don't set the DR_BASE_NAME field of data-ref.
+ 	(vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
+ 
+ 2005-02-12  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* optabs.h (enum optab_index): Add new OTI_ldexp.
+ 	(ldexp_optab): Define corresponding macro.
+ 	* optabs.c (init_optabs): Initialize ldexp_optab.
+ 	* genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
+ 	patterns.
+ 	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
+ 	using ldexp_optab.
+ 	(expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
+ 	expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
+ 
+ 	* config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
+ 	to implement ldexpf, ldexp and ldexpl built-ins as inline x87
+ 	intrinsics.
+ 
+ 2005-02-12  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
+ 	to base_address.
+ 	* tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
+ 	stmt_vec_info.
+ 	(vect_get_base_and_offset): Always return an address.
+ 	(vect_create_addr_base_for_vector_ref): Remove treatment for
+ 	different data reference types.
+ 	(vect_compute_data_ref_alignment): Rename base to base_address in
+ 	stmt_vec_info. Get the object in order to force its alignment.
+ 	(vect_get_memtag_and_dr): Rename base to base_address in
+ 	stmt_vec_info. Extract the object for memtag analysis.
+ 
+ 2005-02-12  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR regression/19898.
+ 	* config/cris/cris.c (cris_notice_update_cc): When testing if insn
+ 	changes cc_status, use apply modified_in_p to part of cc_status
+ 	and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
+ 	body.
+ 
+ 2005-02-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-complex.c (expand_complex_libcall): New.
+ 	(expand_complex_multiplication): Use it for c99 compliance.
+ 	(expand_complex_division): Likewise.
+ 	* fold-const.c (fold_complex_add, fold_complex_mult): New.
+ 	(fold): Call them.
+ 	* builtins.c (built_in_names): Remove const.
+ 	* tree.c (build_common_builtin_nodes): Build complex arithmetic
+ 	builtins.
+ 	* tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
+ 	(BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
+ 	(built_in_names): Remove const.
+ 	* c-common.c (c_common_type_for_mode): Handle complex modes.
+ 	* flags.h, toplev.c (flag_complex_method): Rename from
+ 	flag_complex_divide_method.
+ 	* libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
+ 	__mulsc3, __muldc3, __mulxc3, __multc3): New.
+ 	* libgcc2.h: Declare them.
+ 	* libgcc-std.ver: Export them.
+ 	* mklibgcc.in (lib2funcs): Build them.
+ 
+ 2005-02-11  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/19876
+ 	Partially revert my change from 2005-01-14
+ 	* tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
+ 	(compute_antic): ...and remove the loop here.
+ 
+ 2005-02-11  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/19858
+ 	* fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
+ 	is number of inner's bits, avoid creating a BIT_FIELD_REF.
+ 
+ 	* config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
+ 	crtend.o if -pie.  Use %{x:a;:b} spec syntax.
+ 
+ 2005-02-11  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
+ 	offsets for the big-endian 32-bit case.
+ 
+ 2005-02-11  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+ 
+ 2005-02-11  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* cselib.c (cselib_process_insn):  Clear out regs where
+ 	HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
+ 	* reload.c (find_equiv_reg): Ditto.
+ 
+ 2005-02-11  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
+ 	with no elements.
+ 
+ 	* tree.c (build_function_type_list): Work correctly if there are
+ 	no arguments.
+ 
+ 2005-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccs",
+ 	"*cmpsi_ccs"): Use %h instead of %c to print immediate operand.
+ 	("*zero_extendhisi2_64", "*zero_extendhisi2_31"): Choose based on
+ 	TARGET_ZARCH instead of TARGET_64BIT.
+ 
+ 2005-02-11  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/t-rtems:
+ 	(MULTILIB_OPTIONS): Remove mcpu=602.
+ 	(MUTLILIB_DIRNAMES): Remove m602.
+ 	(MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
+ 	Let mcpu=602 match mcpu=603.
+ 	(MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
+ 
+ 2005-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
+ 	signal trampolines.
+ 
+ 2005-02-10  David Daney  <ddaney@avtrex.com>
+ 
+ 	* config/alpha/linux-unwind.h: Add exception clause to copyright.
+ 	* config/i386/linux-unwind.h: Likewise.
+ 	* config/ia64/linux-unwind.h: Likewise.
+ 	* config/mips/linux-unwind.h: Likewise.
+ 	* config/pa/linux-unwind.h: Likewise.
+ 	* config/rs6000/linux-unwind.h: Likewise.
+ 	* config/s390/linux-unwind.h: Likewise.
+ 	* config/sh/linux-unwind.h: Likewise.
+ 	* config/sparc/linux-unwind.h: Likewise.
+ 
+ 2005-02-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/17549
+ 	* tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
+ 	TER to replace a DEF with its expression if the DEF and the
+ 	rhs of the expression we replace into have the same root
+ 	variable.
+ 
+ 2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/mips.md: Fix the placement of the match_scratch in the
+ 	lea64 peephole2.
+ 
+ 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
+ 	Fix comment typos.
+ 
+ 2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
+ 	(strip_offset): Handle addresses.
+ 	(add_address_candidates): Use strip_offset.
+ 	(difference_cost): Reflect strip_offset change.
+ 	(force_var_cost, difference_cost): Strip nops.
+ 
+ 2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
+ 
+ 	* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
+ 	tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
+ 	config/cris/cris-protos.h, config/cris/cris.c: Update
+ 	copyright.
+ 
+ 2005-02-10  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
+ 	(lookup_avail_expr): Similarly.
+ 
+ 2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	* builtins.c (fold_builtin_powi): New function.
+ 	(fold_builtin_1): Call it.
+ 
+ 2005-02-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR documentation/19309
+ 	* doc/cpp.texi: The __GNUC__ and related predefined macros
+ 	are also defined for the "standalone" cpp.
+ 	Some non-GCC compilers may also define __GNUC__.
+ 
+ 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR c/19342
+ 	* c-typeck.c (common_type): New routine.  Old common_type renamed
+ 	to...
+ 	(c_common_type): ...this.
+ 	(build_conditional_expr, build_binary_op): Use c_common_type instead
+ 	of common_type.
+ 
+ 2005-02-10  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* doc/md.texi: Replace @samp{length} with @code{length}.
+ 
+ 2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18687
+ 	* tree-flow.h (find_loop_niter): Declare.
+ 	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
+ 	Try using scev even for loops with more than one exit.
+ 	* tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
+ 	(struct ivopts_data): Added niters field.
+ 	(struct nfe_cache_elt): New.
+ 	(nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
+ 	functions.
+ 	(tree_ssa_iv_optimize_init): Initialize niters cache.
+ 	(determine_number_of_iterations): Removed.
+ 	(find_induction_variables): Do not call determine_number_of_iterations.
+ 	Access niters for single exit through niter_for_single_dom_exit.
+ 	(add_iv_outer_candidates): Access niters for single exit through
+ 	niter_for_single_dom_exit.
+ 	(may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
+ 	number_of_iterations_cond.
+ 	(iv_period): New function.
+ 	(determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
+ 	(may_replace_final_value): Take data argument.  Use
+ 	niter_for_single_dom_exit.
+ 	(determine_use_iv_cost_outer): Pass data to may_replace_final_value.
+ 	(rewrite_use_compare): Pass data to may_eliminate_iv.
+ 	(rewrite_use_outer): Pass data to may_replace_final_value.
+ 	(free_loop_data): Clean up the niters cache.
+ 	(tree_ssa_iv_optimize_finalize): Free the niters cache.
+ 	(tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
+ 	* tree-ssa-loop-niter.c (find_loop_niter): New function.
+ 	(find_loop_niter_by_eval): Use tree_int_cst_lt.
+ 	(num_ending_zeros): Moved to tree.c.
+ 	* tree.h (num_ending_zeros): Declare.
+ 	* tree.c (num_ending_zeros): Moved from tree.c.
+ 
+ 2005-02-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (DEF_BUILTIN): Add COND argument.
+ 	* tree.h (DEF_BUILTIN): Likewise.
+ 	* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
+ 	DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
+ 	match.
+ 	(DEF_BUILTIN_STUB): New.
+ 	(BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
+ 	BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
+ 	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
+ 	* c-common.c (DEF_BUILTIN): Add COND argument.
+ 	* tree.c (local_define_builtin): New.
+ 	(build_common_builtin_nodes): New.
+ 
+ 2005-02-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_strip_sign_ops): New function to simplify a
+ 	floating point expression ignoring the sign of the result.
+ 	(fold) <ABS_EXPR>: Use it to simplify fabs(x).
+ 	(fold) <MULT_EXPR>: Use it to simplify x*x.
+ 	* tree.h (fold_strip_sign_ops): Prototype here.
+ 	* builtins.c (fold_builtin_copysign): Take an additional FNDECL
+ 	argument.  Use fold_strip_sign_ops to simplify the first argument.
+ 	(fold_builtin_pow):  Use fold_strip_sign_ops to simplify the
+ 	first argument when the second argument is an even integer
+ 	constant, but only with -funsafe_math_optimizations.
+ 	(fold_builtin_1): Update call to fold_builtin_copysign.
+ 
+ 2005-02-09  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR middle-end/19583
+ 	* gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
+ 	just check whether EH_FILTER_FAILURE falls through.
+ 
+ 2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* gcc/haifa-sched.c (schedule_block): Make queued sched group
+ 	insns return to ready list in the next turn.
+ 
+ 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/19402
+ 	* builtins.def: New __builtin_powi[lf].
+ 	* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
+ 	(expand_builtin_powi): New function.
+ 	(expand_builtin): Dispatch to expand_builtin_powi.
+ 	* libgcc2.h: Add prototypes for __builtin_powi[lf].
+ 	* libgcc2.c: Add __builtin_powi[lf] implementation.
+ 	* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
+ 	* optabs.h: Add powi_optab.
+ 	* optabs.c (init_optabs): Initialize powi_optab.
+ 	* doc/extend.texi: Document __builtin_powi[lf].
+ 
+ 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
+ 	exists.
+ 
+ 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/19854
+ 	* fold-const.c (try_move_mult_to_index): Remove redundant
+ 	type argument.  Create ADDR_EXPR with correct type.
+ 	(fold): Update callers of try_move_mult_to_index.  Convert
+ 	result to the appropriate type.
+ 
+ 2005-02-09  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/19597
+ 	* config/avr/avr.c (default_rtx_costs): Delete.
+ 	(avr_operand_rtx_cost): New function.
+ 	(avr_rtx_costs): Completely rewrite.
+ 
+ 2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR target/19806
+ 	* config/cris/cris.c (in_code): New variable.
+ 	(cris_output_addr_const): Now a static function, a wrapper for
+ 	output_addr_const.
+ 	(cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
+ 	case from old cris_output_addr_const.
+ 	(cris_asm_output_label_ref): Similar for LABEL_REF.
+ 	(cris_output_addr_const_extra): Similar for UNSPEC.
+ 	* config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
+ 	(ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
+ 	* config/cris/cris-protos.h (cris_output_addr_const): Remove
+ 	declaration.
+ 	(cris_asm_output_symbol_ref, cris_output_addr_const_extra)
+ 	(cris_asm_output_label_ref): Declare.
+ 
+ 2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	PR preprocessor/19801
+ 	* doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
+ 	filenames that changed when libcpp was moved to the toplevel.
+ 
+ 2005-02-07  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+ 	zero extensions of BImode operands.  Call lowpart_subreg instead
+ 	of gen_lowpart_common and gen_lowpart_SUBREG.
+ 
+ 2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+ 
+ 	PR ada/19489
+ 	* libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
+ 	* configure.ac: Set cc_for_cross_gnattools.
+ 	* configure: Regenerate.
+ 
+ 2005-02-08  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19803
+ 	* predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
+ 
+ 2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR debug/19327
+ 	* dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
+ 	of nested functions.
+ 
+ 2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
+ 
+ 	* doc/extend.texi: Document deprecated extensions allowing
+ 	static floating-point members to have initializers and allowing
+ 	floating-point literals in integral constant expressions.
+ 
+ 2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
+ 	config/darwin7.h, config/mips/mips.c,
+ 	config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
+ 	Update copyright.
+ 
+ 	* cse.c: Update comments.
+ 
+ 2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
+ 
+ 	PR middle-end/19775
+ 	* builtins.c (fold_builtin_sqrt): Transform
+ 	sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
+ 	pow(x,y*0.5).
+ 
+ 2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
+ 	    Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* doc/invoke.texi (ftree-vectorizer-verbose): New.
+ 	* opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
+ 	* common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
+ 	was added.
+ 	* tree.h (vect_set_verbosity_level): New extern function declaration
+ 	added.
+ 	* tree-vectorizer.h (verbosity_levels): New enum type.
+ 	* tree-vectorizer.c (vect_debug_stats): Function removed.
+ 	(vect_debug_details): Likewise.
+ 	(vect_verbosity_level): Global variable was defined and initialized.
+ 	(vect_dump): Global variable definition.
+ 	(vect_print_dump_info): New function.
+ 	(vect_set_dump_settings): New function.
+ 	(vect_set_verbosity_level): New function.
+ 	(vectorize_loops): Add call to vect_set_dump_settings.
+ 
+ 	(slpeel_make_loop_iterate_ntimes): Dump condition was changed.
+ 	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+ 	(slpeel_tree_peel_loop_to_edge): Likewise.
+ 
+ 	(vect_analyze_offset_expr): Call to vect_print_dump_info with
+ 	appropriate verbosity level instead of call to vect_debug_details
+ 	or vect_debug_stats.
+ 	(vect_get_base_and_offset):
+ 	(vect_create_addr_base_for_vector_ref):
+ 	(get_vectype_for_scalar_type):
+ 	(vect_create_data_ref_ptr):
+ 	(vect_init_vector):
+ 	(vect_get_vec_def_for_operand):
+ 	(vect_finish_stmt_generation):
+ 	(vectorizable_assignment):
+ 	(vectorizable_operation):
+ 	(vectorizable_store):
+ 	(vectorizable_load):
+ 	(vect_transform_stmt):
+ 	(vect_update_ivs_after_vectorizer):
+ 	(vect_do_peeling_for_loop_bound):
+ 	(vect_update_inits_of_drs):
+ 	(vect_do_peeling_for_alignment):
+ 	(vect_transform_loop):
+ 	(vect_is_simple_use):
+ 	(vect_analyze_operations):
+ 	(vect_is_simple_iv_evolution):
+ 	(vect_analyze_scalar_cycles):
+ 	(vect_analyze_data_ref_dependence):
+ 	(vect_analyze_data_ref_dependences):
+ 	(vect_compute_data_ref_alignment):
+ 	(vect_enhance_data_refs_alignment):
+ 	(vect_analyze_data_refs_alignment):
+ 	(vect_analyze_data_ref_access):
+ 	(vect_analyze_data_ref_accesses):
+ 	(vect_analyze_pointer_ref_access):
+ 	(vect_get_memtag_and_dr):
+ 	(vect_analyze_data_refs):
+ 	(vect_mark_relevant):
+ 	(vect_stmt_relevant_p):
+ 	(vect_mark_stmts_to_be_vectorized):
+ 	(vect_can_advance_ivs_p):
+ 	(vect_get_loop_niters):
+ 	(vect_analyze_loop_form):
+ 	(vect_analyze_loop):
+ 	(vectorize_loops): Likewise.
+ 
+ 	(vect_do_peeling_for_loop_bound): Dump format slightly changed.
+ 	(vect_update_inits_of_drs):
+ 	(vect_do_peeling_for_alignment):
+ 	(vect_transform_loop):
+ 	(vect_analyze_operations):
+ 	(vect_analyze_scalar_cycles):
+ 	(vect_analyze_data_ref_dependences):
+ 	(vect_analyze_data_refs_alignment):
+ 	(vect_analyze_data_ref_accesses):
+ 	(vect_analyze_data_refs):
+ 	(vect_mark_stmts_to_be_vectorized):
+ 	(vect_get_loop_niters):
+ 	(vect_analyze_loop_form):
+ 	(vect_analyze_loop): Likewise.
+ 	(vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
+ 
+ 2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR bootstrap/19796
+ 	Revert:
+ 	2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
+ 	either -ffast-math or -funsafe-math-optimizations is in use.
+ 
+ 	2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
+ 	* config/mips/irix-csr.c: New file.
+ 	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
+ 	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
+ 	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
+ 	executables.
+ 
+ 2005-02-07  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
+ 	redundant, incorrect definitions.
+ 
+ 	* config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
+ 	expand.
+ 	("*tls_indirect_call"): New, reference hard regs directly.
+ 	* config/frv/frv.c (gen_inlined_tls_plt): Adjust.
+ 
+ 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
+ 	Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
+ 
+ 2005-02-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/19800
+ 	* simplify_rtx.c (simplify_relational_operation_1): Explicitly
+ 	call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
+ 	gen_lowpart.
+ 
+ 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
+ 
+ 2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR other/17135
+ 	* doc/invoke.texi: Correct documentation of -freorder-functions.
+ 
+ 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR other/14402
+ 	* doc/invoke.texi: Don't mention gccbug.
+ 
+ 2005-02-06  Roger Sayle  <roger@eyesopen.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 	    Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
+ 
+ 	* simplify-rtx.c (simplify_relational_operation_1): Simplify
+ 	(ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
+ 	into just (zero_extract:SI FOO (const_int 1) BAR).
+ 
+ 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
+ 	macro locally.  Don't give last revision date.  Use GCC version
+ 	number from gcc-common.texi.
+ 	* doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
+ 	revision date.  Use GCC version number from gcc-common.texi.
+ 	Describe being a library as current state rather than as 3.x
+ 	history.
+ 	* doc/gcc.texi: Remove last update date.
+ 	* doc/gccint.texi: Likewise.  Update copyright dates.
+ 	* doc/install.texi: Update copyright dates.
+ 
+ 2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR other/7549
+ 	* doc/invoke.texi: Mention for each option included in -Wall that
+ 	it is included in -Wall.
+ 	* doc/gcc.texi: Update copyright and last modification date.
+ 
+ 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
+ 	unnecessary cast to original induction variable increments.
+ 
+ 2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/18219
+ 	* tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
+ 	in distributed form.
+ 
+ 2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
+ 	Set bitpos and offset later in the function.  Do nothing if the
+ 	target is a register and if the bitfield lies completely outside
+ 	that register.
+ 	(extract_bit_field): Make the same SUBREG, bitpos and offset changes
+ 	here.  Return an uninitialised register if the source value is stored
+ 	in a register and the bitfield lies completely outside that register.
+ 
+ 2005-02-06  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
+ 	not SET_DEST.
+ 
+ 2005-02-06  Marcin Dalecki  <martin@dalecki.de>
+ 
+ 	* diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
+ 
+ 2005-02-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
+ 	* config/darwin8.h: New.
+ 	* config/darwin7.h: Update comment.
+ 
+ 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
+ 	    Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.h (LOC): New type.
+ 	(UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
+ 	(loop_line_number): New field in struct _loop_vec_info.
+ 	(LOOP_VINFO_LOC, LOOP_LOC): New macros.
+ 
+ 	* tree-vectorizer.c (input.h): Included.
+ 	(find_loop_location): New function.
+ 	(vect_debug_stats): Argument changed from loop to LOC. Computation of
+ 	loop line number removed.
+ 	(vect_debug_details): Likewise.
+ 	(new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
+ 
+ 	(slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
+ 	call to vect_debug_details/stats changed from loop to loop_loc.
+ 	(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+ 	(slpeel_tree_peel_loop_to_edge): Likewise.
+ 
+ 	(vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
+ 	changed from NULL to UNKNOWN_LOC.
+ 	(vect_get_base_and_offset):
+ 	(vect_create_addr_base_for_vector_ref):
+ 	(get_vectype_for_scalar_type):
+ 	(vect_create_data_ref_ptr):
+ 	(vect_init_vector):
+ 	(vect_get_vec_def_for_operand):
+ 	(vect_finish_stmt_generation):
+ 	(vectorizable_assignment):
+ 	(vectorizable_operation):
+ 	(vectorizable_store):
+ 	(vectorizable_load):
+ 	(vect_transform_stmt):
+ 	(vect_update_ivs_after_vectorizer):
+ 	(vect_do_peeling_for_loop_bound):
+ 	(vect_do_peeling_for_alignment):
+ 	(vect_transform_loop):
+ 	(vect_is_simple_use):
+ 	(vect_analyze_operations):
+ 	(vect_is_simple_iv_evolution):
+ 	(vect_analyze_scalar_cycles):
+ 	(vect_analyze_data_ref_dependences):
+ 	(vect_compute_data_ref_alignment):
+ 	(vect_enhance_data_refs_alignment):
+ 	(vect_analyze_data_ref_access):
+ 	(vect_analyze_data_ref_accesses):
+ 	(vect_analyze_pointer_ref_access):
+ 	(vect_get_memtag_and_dr):
+ 	(vect_analyze_data_refs):
+ 	(vect_mark_relevant):
+ 	(vect_stmt_relevant_p):
+ 	(vect_mark_stmts_to_be_vectorized):
+ 	(vect_can_advance_ivs_p):
+ 	(vect_get_loop_niters):
+ 	(vect_analyze_loop):
+ 	(vectorize_loops): Likewise.
+ 
+ 	(vectorizable_load): Argument in call to vect_debug_details/stats
+ 	changed from loop to LOOP_LOC (loop_vinfo).
+ 	(vect_transform_loop):
+ 	(vect_analyze_operations):
+ 	(vect_analyze_scalar_cycles):
+ 	(vect_analyze_data_ref_dependence):
+ 	(vect_enhance_data_refs_alignment):
+ 	(vect_analyze_data_ref_accesses):
+ 	(vect_analyze_pointer_ref_access):
+ 	(vect_analyze_data_refs):
+ 	(vect_analyze_loop): Likewise.
+ 
+ 	(vect_analyze_loop_form): Argument in call to vect_debug_details/stats
+ 	changed from loop to loop_loc.
+ 
+ 	(vect_enhance_data_refs_alignment): Removed unused variable loop.
+ 
+ 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
+ 	    Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
+ 	declaration added.
+ 	(vect_analyze_data_ref_dependences): Likewise.
+ 
+ 	(vect_is_simple_use): Argument changed from loop structure to
+ 	loop_vect_info structure.
+ 	(vect_can_advance_ivs_p): Likewise.
+ 	(vect_create_index_for_vector_ref): Likewise.
+ 	(vect_update_ivs_after_vectorizer): Likewise.
+ 	(new_stmt_vec_info): Likewise.
+ 
+ 	(new_loop_vec_info): Second argument in call to new_stmt_vec_info was
+ 	changed from loop to loop_vinfo.
+ 	(vect_create_data_ref_ptr): First argument in call to
+ 	vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
+ 	(vectorizable_assignment): Second argument in call to vect_is_simple_use
+ 	was changed from loop to loop_vinfo.
+ 	(vectorizable_operation): Likewise.
+ 	(vectorizable_store): Likewise.
+ 	(vect_mark_stmts_to_be_vectorized): Likewise.
+ 	(vect_do_peeling_for_loop_bound): First argument in call to
+ 	vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
+ 	(vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
+ 	was changed from loop to loop_vinfo.
+ 	(vect_analyze_data_ref_dependences): Third argument in call to
+ 	vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
+ 
+ 	(vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
+ 	(vect_create_data_ref_ptr): Likewise.
+ 	(vect_init_vector): Likewise.
+ 	(vect_get_vec_def_for_operand): Likewise.
+ 	(vectorizable_assignment): Likewise.
+ 	(vectorizable_operation): Likewise.
+ 	(vectorizable_store): Likewise.
+ 	(vectorizable_load): Likewise.
+ 	(vect_update_ivs_after_vectorizer): Likewise.
+ 	(vect_is_simple_use): Likewise.
+ 	(vect_analyze_data_ref_dependence): Likewise.
+ 	(vect_analyze_pointer_ref_access): Likewise.
+ 	(vect_can_advance_ivs_p): Likewise.
+ 
+ 	* tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
+ 	before _stmt_vec_info.
+ 	(_stmt_vec_info): Loop field replaced by loop_vec_info.
+ 	(STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
+ 	(new_stmt_vec_info): Argument changed from loop structure to
+ 	loop_vect_info structure
+ 
+ 	(vect_analyze_data_ref_dependences): Unnecessary line was removed.
+ 	(vect_analyze_offset_expr): Avoid 80 columns overflow.
+ 	(vect_create_addr_base_for_vector_ref): Likewise.
+ 	(vect_analyze_pointer_ref_access): Likewise.
+ 
+ 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/19768
+ 	* tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
+ 	phi flag if the phi is abnormal.
+ 
+ 2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR tree-opt/19736
+ 	* tree-ssa.c (replace_immediate_uses): Update the immediate_uses
+ 	information for the new statement.
+ 
+ 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR driver/19117
+ 	* gcc.c (main): Include the target in -v output.
+ 
+ 2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
+ 	Do not drop the extend if we'd have to add a paradoxical subreg
+ 	later.  Include optabs.h and insn-codes.h.
+ 	* Makefile.in (combine.o): Depend on $(OPTABS_H).
+ 
+ 2005-02-02  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19405
+ 	* real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
+ 	* fold-const.c (const_binop): Avoid constant folding floating
+ 	point operations in modes that use composite representations.
+ 	* simplify-rtx.c (simplify_binary_operation): Likewise.
+ 
+ 2005-02-02  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/rs6000/altivec.md (altivec_dst): Make the first operand
+ 	a REG, not a MEM.
+ 	(altivec_dstt): Likewise.
+ 	(altivec_dstst): Likewise.
+ 	(altivec_dststt): Likewise.
+ 	* config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
+ 	of first operand.
+ 
+ 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
+ 	EXPR_LOCUS from orig_cond to the new cond_stmt.
+ 	(vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
+ 	the new vec_stmt.
+ 
+ 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
+ 	standard_iv_increment_position. Remove call to bsi_next
+ 	(no need to bump the iterator anymore).
+ 	(vect_create_index_for_vector_ref): Call
+ 	standard_iv_increment_position. Remove second function argument.
+ 	(vect_finish_stmt_generation): Remove call to bsi_next
+ 	(no need to bump the iterator anymore).
+ 	(vect_create_data_ref_ptr): Remove second argument (bsi) in call
+ 	to vect_create_index_for_vector_ref.
+ 
+ 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
+ 	phis are used out of the loop.
+ 
+ 2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/17807
+ 	* c-decl.c (undef_nested_function): New variable.
+ 	(pop_scope): Diagnose undefined nested functions.
+ 	(finish_function): Don't attempt cgraph processing or genericizing
+ 	if current top-level function contained an undefined nested
+ 	function.  Reset undef_nested_function at the end of a top-level
+ 	function.
+ 
+ 2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree.c (build_int_cst_type): Take sign of the value into account
+ 	when deciding whether sign extend the value.
+ 
+ 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/18502
+ 	* gcc.c (cpp_unique_options): Remove %{trigraphs}.
+ 	(cpp_options, cc1_options): Change %{std*&ansi} to
+ 	%{std*&ansi&trigraphs}.
+ 
+ 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c: Update comments.
+ 
+ 2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
+ 	arguments go on the stack.  Do not put complex doubles in odd/even
+ 	pairs.
+ 
+ 2005-02-02  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* doc/invoke.texi: Update the options enabled at -O1, -O2,
+ 	and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
+ 	-ftree-pre, and -fthread-jumps.
+ 
+ 2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR tree-optimization/19578
+ 	* tree-flow.h (modified_noreturn_calls): Declare.
+ 	(noreturn_call_p): Declare.
+ 	* tree-flow-inline.h (noreturn_call_p): New function.
+ 	(modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
+ 	* tree-cfg.c (modified_noreturn_calls): New variable.
+ 	(cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
+ 	that contain a mid-block noreturn call.
+ 	* tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
+ 
+ 2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* df.c (df_def_record_1, df_uses_record): Don't use
+ 	DF_FOR_REGALLOC.
+ 	* df.h (DF_FOR_REGALLOC): Remove.
+ 
+ 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR c/19435
+ 	* c-typeck.c (really_start_incremental_init): Reset
+ 	constructor_max_index for arrays of incomplete type.
+ 
+ 2005-02-02  Jeff Law  <law@redhat.com>
+ 
+ 	* gcse.c (struct reg_set): Store the block index where the register
+ 	was set rather than the setting insn.
+ 	(record_one_set, compute_transp): Corresponding changes.
+ 	(pre_insert_copy_insn): Do not call replace_one_set.
+ 	(replace_one_set): Remove.
+ 
+ 2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR other/15514
+ 	* doc/gcov.texi: Fix typo.
+ 
+ 2005-02-01  Richard Henderson  <rth@redhat.com
+ 
+ 	PR target/19680
+ 	* config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
+ 	* config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
+ 	type to bool.
+ 	(ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2005-02-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR tree-optimization/19217
+ 	* tree-cfg.c (verify_expr): Use the data field to see if TP was
+ 	seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
+ 	(verify_stmts): Pass (void*)1 as data to verify_expr to signal
+ 	that it is walking a PHI node.
+ 
+ 2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* doc/extend.texi (Nested Functions): Update.
+ 
+ 2005-02-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 19696
+ 	* optabs.c (expand_copysign_absneg): Export.
+ 	* optabs.h (expand_copysign_absneg): Declare.
+ 	* config/rs6000/rs6000.md (copysigntf3): New.
+ 
+ 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19633
+ 	* tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
+ 	* tree-ssa-alias.c (init_alias_info): Initialize.
+ 	(merge_pointed_to_info): Set.
+ 	(add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
+ 	(dump_points_to_info_for): Show value of pt_null.
+ 	(struct count_ptr_d): Declare.
+ 	(find_ptr_dereference): Remove.
+ 	(ptr_is_dereferenced_by): Remove.
+ 	(count_ptr_derefs): New local function.
+ 	(count_uses_and_derefs): New local function.
+ 	(compute_points_to_and_addr_escape): Call it.  If the number
+ 	of dereferences is greater than zero, mark the pointer as
+ 	dereferenced.  If there are fewer dereferences than uses of
+ 	the pointer, the pointer's value escapes.
+ 
+ 2005-02-01  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19670
+ 	* tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
+ 	here...
+ 	(verify_use): ... set it here, instead.
+ 
+ 2005-02-01  Janis Johnson  <janis187@us.ibm.com>
+ 
+ 	* doc/sourcebuild.texi (Test directives): Fix formatting.
+ 
+ 	* doc/sourcebuild.texi (Test directives): Describe selector
+ 	expressions.
+ 
+ 2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
+ 
+ 	* config.gcc (powerpc64-*-linux*): Default to -m64 also for
+ 	specific 64-bit CPUs.
+ 
+ 2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/16201
+ 	* arm.c (arm_eliminable_register): New function.
+ 	(adjacent_mem_locations): Don't allow eliminable registers.  Use
+ 	HOST_WIDE_INT for address offsets.
+ 	* arm-protos.h (arm_eliminable_register): Add prototype.
+ 
+ 2005-02-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR optimization/15242
+ 	* params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
+ 	* basic-block.h (duplicate_computed_gotos): Add prototype.
+ 	* bb-reorder.c (duplicate_computed_gotos): New function to
+ 	duplicate sufficiently small blocks ending in a computed jump.
+ 	* passes.c (rest_of_compilation): Call duplicate_computed_gotos
+ 	if not optimizing for size.
+ 	* cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
+ 	never do tail merging for blocks ending in a computed jump.
+ 	* doc/invoke.texi: Document the max-goto-duplication-insns param.
+ 
+ 2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	Patch from Richard Sandiford <rsandifo@redhat.com>
+ 	* reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
+ 	from inheriting a subreg equivalence with a non-spill register.
+ 
+ 	* tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
+ 
+ 2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.c (movcc_fp_destination_operand): New.
+ 	(gpr_or_memory_operand): Fix typo in comment.
+ 	(gpr_or_memory_operand_with_scratch): New.
+ 	* config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
+ 	* config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
+ 	movcc_fp_destination_operand.
+ 	(reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
+ 	Legitimize memory addresses using a scratch register.
+ 
+ 2005-01-31  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
+ 	bitmap a sparse bitmap instead of a simple bitmap.
+ 	(mark_def_sites_initialize_block):  Corresponding changes.
+ 	(ssa_mark_def_sites_initialize_block): Likewise.
+ 	(ssa_mark_phi_uses): Likewise.
+ 	(mark_def_site, ssa_mark_def_sites): Likewise.
+ 	(mark_def_site_blocks): Likewise.
+ 	(rewrite_ssa_into_ssa): Likewise.
+ 
+ 	* tree-ssa-dom.c (record_cond): Pass correct variable type
+ 	for last argument to htab_find_slot_with_hash.
+ 
+ 	* fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
+ 	effects when optimizing 0 % X.  Do not try to optimize X % 0.
+ 
+ 2005-01-31  James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	* config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
+ 	1_mmalua.
+ 
+ 2005-02-01  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/mips/mips.c (override_options): Warn if -mint64
+ 	is used.
+ 	* doc/invoke.texi (MIPS Options): Document that -mint64 is
+ 	deprecated.
+ 
+ 2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
+ 	timestamp.
+ 	(cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
+ 	REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
+ 	cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
+ 	(cached_regno): Initialize to INVALID_REGNUM.
+ 	(cse_reg_info_table_size,
+ 	cse_reg_info_table_first_uninitialized,
+ 	cse_reg_info_timestamp): New.
+ 	(REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
+ 	get_cse_reg_info.
+ 	(init_cse_reg_info, get_cse_reg_info_1): New.
+ 	(get_cse_reg_info): Cache the last look-up.
+ 	(new_basic_block): Update the code to clear mappings from
+ 	registers to cse_reg_info entries.
+ 	(cse_main): Call init_cse_reg_info.
+ 
+ 	* cse.c (get_cse_reg_info): Update a comment.
+ 
+ 2005-01-31  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR c/19333
+ 	* c-decl.c (start_decl): Do not warn about arrays of elements with
+ 	an incomplete type here.
+ 	(grokdeclarator): Do it here by making a pedwarn an error.
+ 	* c-typeck.c (push_init_level): If there were previous errors with
+ 	the constructor type, do not warn about braces for initializers.
+ 	(process_init_element): Likewise for excess initializer elements.
+ 
+ 2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (delete_trivially_dead_insn): Don't iterate.
+ 
+ 2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* config/rs6000/rs6000.md (copysignsf3): New expand.
+ 	(copysigndf3): Likewise.
+ 
+ 2005-01-31  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* recog.c (constrain_operands): Only look for earlyclobber operand
+ 	conflicts if an '&' constraint was seen.
+ 
+ 2005-01-31  Marc Espie <espie@openbsd.org>
+ 
+ 	* config.gcc: Don't include embedded systems fragment, switches default
+ 	debugging format to ELF.
+ 	* config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
+ 	longer pick it up there.
+ 
+ 2005-01-31  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* doc/extend.texi (nested functions): Fix linkage description.
+ 	Clarify that static is not allowed.
+ 
+ 2005-01-31  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin.md (movsf_low_di):  Make work.
+ 	(movdf_low_di):  Make work.
+ 
+ 2005-01-31  Dale Johannesen  <dalej@apple.com>
+ 
+ 	* config/rs6000/darwin-tramp.asm (__trampoline_setup):
+ 	Make work for 64 bit.
+ 
+ 2005-01-31  Roger Sayle  <roger@eyesopen.com>
+ 	    Dale Johannesen  <dalej@apple.com>
+ 
+ 	PR middle-end/19650
+ 	* fold-const.c (fold_binary_op_with_conditional_arg):
+ 	Make types match original operands, before STRIP_NOPS.
+ 
+ 2005-01-31  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* config/rs6000/linux-unwind.h (struct gcc_vregs): New.
+ 	(struct gcc_regs): Rename from gcc_pt_regs.  Add more regs.
+ 	(struct gcc_sigcontext): Delete.  Merge contents to..
+ 	(struct gcc_ucontext): ..here.
+ 	(get_sigcontext): Delete.
+ 	(get_regs): New function, like get_sigcontext but return regs ptr.
+ 	64-bit version finds regs from r1 to support vdso.
+ 	(ppc_linux_aux_vector): New function.
+ 	(ppc_fallback_frame_state): Modify for get_regs.  Restore fprs
+ 	and vector regs.
+ 
+ 2005-01-31  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
+ 	sizetype.
+ 	(vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
+ 	redundant fold. Fix misalignment for MINUS_EXPR.
+ 	(vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
+ 	(vect_analyze_pointer_ref_access): Likewise.
+ 	(vect_get_memtag_and_dr): Likewise.
+ 
+ 2005-01-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
+ 	(absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
+ 	absnegdf2_i387, absnegxf2_i387): Likewise.
+ 
+ 2005-01-31  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 19696
+ 	* optabs.c (expand_copysign_absneg): New.
+ 	(expand_copysign_bit): Split out from ...
+ 	(expand_copysign): ... here.  Use expand_copysign_absneg.
+ 
+ 2005-01-30  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19697
+ 	* config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
+ 	constant as the second operand and a register as the third.
+ 
+ 2005-01-31  Danny Smith  <dannysmith@users.sourceforge.net>
+ 
+ 	PR target/19704
+ 	* config/i386/i386.c (ix86_function_ok_for_sibcall):  Also check
+ 	that dllimport'd functions do not use all call-clobbered registers
+ 	to pass parameters.
+ 
+ 2005-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 19696
+ 	* optabs.c (expand_absneg_bit): Split out from expand_unop and
+ 	expand_abs_nojump and generalize.  Use operand_subword and
+ 	emit_no_conflict_block.  Support large modes.
+ 	(expand_abs_nojump): Use it.  Use HONOR_SIGNED_ZEROS to fall
+ 	back to maximum.
+ 	(expand_unop): Likewise.  Use HONOR_SIGNED_ZEROS to fall back
+ 	negation to subtraction.
+ 	(expand_copysign): Check that the format has signed zeros.
+ 	Use operand_subword and emit_no_conflict_block.  Support large modes.
+ 
+ 2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/19624
+ 
+ 	* Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
+ 	* tree-ssa-pre.c: Add cfgloop.h.
+ 	Update comment.
+ 	(pre_stats): New member, constified.
+ 	(inserted_exprs): New static variable.
+ 	(NECESSARY): New macro.
+ 	(create_expression_by_pieces): Fold the expression, and
+ 	mark it as defaulting to not necessary. Also put in
+ 	inserted_exprs.
+ 	(fully_constant_expression): New function.
+ 	(insert_into_preds_of_block): Modify to not insert phis when we
+ 	are playing with induction variables.
+ 	Push phis onto the inserted_exprs vector, and mark them as not
+ 	necessary by default.
+ 	(insert_aux): Call fully_constant_expression on eprime.
+ 	If all edges produce the same value, mark it constant.
+ 	(mark_operand_necessary): New function.
+ 	(remove_dead_inserted_code): New function.
+ 	(init_pre): Init loop optimizer to get loop info.
+ 	(fini_pre): Free loop_optimizer, and inserted_exprs vec.
+ 	(execute_pre): Commit edge inserts, then remove dead code.
+ 
+ 2005-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
+ 	* varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
+ 
+ 2005-01-30  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19700
+ 	* config/i386/i386.c (ix86_expand_copysign): New.
+ 	(ix86_split_copysign_const): New.
+ 	(ix86_split_copysign_var): Rename from ix86_split_copysign,
+ 	rearrange op1/nmask operands.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
+ 	(copysigndf3): Likewise.
+ 	(copysignsf3_const, copysigndf3_const): New.
+ 	(copysignsf3_var): Rename from copysignsf3, split out splitter
+ 	and fix split predicate for X constraint.
+ 	(copysigndf3_var): Similarly.
+ 
+ 2005-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
+ 	doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
+ 	doc/tm.texi, doc/tree-ssa.texi: Update copyright.
+ 
+ 2005-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19690
+ 	* config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
+ 	of # and * in constraints.
+ 
+ 2005-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19689
+ 	* expr.c (store_field): Don't strip sub-mode cast when the input
+ 	data is even smaller.
+ 
+ 2005-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19687
+ 	* expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
+ 	union being empty.
+ 
+ 2005-01-29  Richard Henderson  <rth@redhat.com>
+ 
+ 	* combine.c (make_field_assignment): Fix argument order
+ 	to gen_int_mode.
+ 
+ 2005-01-29  Richard Guenther <richard.guenther@uni-tuebingen.de>
+ 
+ 	PR tree-optimization/15791
+ 	* fold-const.c (extract_array_ref): New function.
+ 	(fold): Fold comparisons between &a[i] and &a[j] or
+ 	semantically equivalent trees.
+ 
+ 2005-01-29  Jeff Law  <law@redhat.com>
+ 
+ 	* gcse.c (insert_expr_in_table): Revamp handling of available
+ 	and anticipatable occurrence lists to avoid unnecessary list
+ 	walking.
+ 	(insert_set_in_table): Similarly.
+ 
+ 2005-01-29  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-common.c (fix_string_type): Just use c_build_qualified_type to
+ 	build string type.
+ 	(c_build_qualified_type): Build qualified array types with
+ 	TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
+ 	* c-decl.c (c_make_fname_decl): Build unqualified array type
+ 	before qualified type.
+ 	(grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
+ 	type is qualified, not just if type itself is.  Don't apply
+ 	qualifiers to array type when declarator is processed.  Apply
+ 	qualifiers to field type whether or not it is an array type.
+ 	Don't handle array types specially for applying qualifiers to
+ 	variables.
+ 	* c-typeck.c (composite_type): Build unqualified element type and
+ 	array type when forming composite of array types.
+ 	(common_pointer_type, comptypes, comp_target_types,
+ 	type_lists_compatible_p, build_indirect_ref, build_array_ref,
+ 	convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
+ 	types.
+ 	(type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
+ 	(args2) in variables a1 and a2.
+ 
+ 2005-01-29  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (n_elements_made, max_elements_made): Remove.
+ 	(insert): Don't touch n_elements_made.
+ 	(cse_main): Don't touch n_elements_made or max_elements_made.
+ 
+ 2005-01-28  Stephane Carrez  <stcarrez@nerim.fr>
+ 
+ 	PR target/15384
+ 	* config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
+ 	configuration part of dp-bit.c to be lost.
+ 
+ 2005-01-28  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_mult_highpart_optab): When attempting to use
+ 	a non-widening multiplication in a wider mode, the operands need
+ 	to be converted (zero or sign extended) to that mode.
+ 
+ 2005-01-28  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR middle-end/16558
+ 	PR middle-end/19583
+ 	* gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
+ 	through if both operands fall through.
+ 
+ 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (fold_rtx) <PC>: Don't optimize.
+ 
+ 2005-01-28  Jeff Law  <law@redhat.com>
+ 
+ 	* fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
+ 	(case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
+ 
+ 2005-01-28  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
+ 	cse_reg_info_used_list_end): Remove.
+ 	(cse_reg_info_list, cse_reg_info_list_free): New.
+ 	(get_cse_reg_info): When allocating an instance of
+ 	cse_reg_info, add it to the beginning of the cse_reg_info_list
+ 	list.  Remove code to maintain cse_reg_info_used_list.
+ 	(new_basic_block): Reset the free list to the beginning of
+ 	cse_reg_info_list.
+ 
+ 2005-01-28  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
+ 	(frv_init_builtins): Change its prototype to take 4 uhalf arguments.
+ 	(frv_expand_mdpackh_builtin): New function.
+ 	(frv_expand_builtin): Use it to expand __MDPACKH.
+ 	* doc/extend.texi (__MDPACKH): Update documentation.
+ 
+ 2005-01-28  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
+ 	SSE_FLOAT_MODE_P for use_sse computation.
+ 
+ 2005-01-28  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	PR target/19663
+ 	* config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
+ 
+ 2005-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	* builtins.c (expand_builtin_copysign): New.
+ 	(expand_builtin): Call it.
+ 	* genopinit.c (optabs): Add copysign_optab.
+ 	* optabs.c (init_optabs): Initialize it.
+ 	(expand_copysign): New.
+ 	* optabs.h (OTI_copysign, copysign_optab): New.
+ 	(expand_copysign): Declare.
+ 
+ 	* config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
+ 	(copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
+ 
+ 	* config/i386/i386.c (ix86_build_signbit_mask): Split from ...
+ 	(ix86_expand_fp_absneg_operator): ... here.
+ 	(ix86_split_copysign): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.md (UNSPEC_COPYSIGN): New.
+ 	(copysignsf3, copysigndf3): New.
+ 
+ 	* config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
+ 	(copysignsf3, ncopysignsf3): New.
+ 	(copysigndf3, ncopysigndf3): New.
+ 	(copysignxf3, ncopysignxf3): New.
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
+ 
+ 2005-01-27  Arend Bayer  <arend.bayer@web.de>
+ 	    Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c: (find_best_addr): Don't call copy_rtx before calling
+ 	fold_rtx.  Save cost recomputation if fold_rtx did nothing.
+ 	(fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
+ 	NULL_RTX.
+ 
+ 2005-01-27  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
+ 	definitions of SSA_NAMEs which are not being rewritten.
+ 	(rewrite_ssa_into_ssa): Only initialize the current definition
+ 	of an SSA_NAME if that SSA_NAME has been marked for rewriting.
+ 	If checking is enabled, assert that SSA_NAME_AUX is clear for all
+ 	SSA_NAMEs before returning.
+ 
+ 2005-01-27  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
+ 	cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
+ 	tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
+ 	config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
+ 	config/mips/iris6.h, config/sh/sh.c: Update copyright.
+ 
+ 2005-01-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/17278
+ 	* opts.c (decode_options): Move flag_thread_jumps from -O1 and
+ 	higher to -O2 and higher.  Likewise for tree PRE.
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
+ 	and better.
+ 
+ 2005-01-27  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR middle-end/19583
+ 	* gimple-low.c (try_catch_may_fallthru): New static function.
+ 	(block_may_fallthru): Handle TRY_CATCH_EXPR.
+ 	* tree-inline.c (expand_call_inline): Don't warn about reaching
+ 	the end of a non-void function being inlined if the function uses
+ 	a return slot.
+ 
+ 2005-01-27  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
+ 
+ 	PR c/18946
+ 	* c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
+ 	(pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
+ 	(implicitly_declare): Handle error_mark_node.
+ 
+ 2005-01-27  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/14329
+ 	* tree.h (struct tree_decl): Add debug_expr_is_from.
+ 	(DECL_DEBUG_EXPR_IS_FROM): New.
+ 	(DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
+ 	* dwarf2out.c (dwarf2out_var_location): Update to match.
+ 	* tree-outof-ssa.c (create_temp): Likewise.
+ 	* var-tracking.c (track_expr_p): Likewise.
+ 	* tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
+ 	* c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
+ 	* toplev.c (default_tree_printer): Likewise.
+ 
+ 2005-01-27  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
+ 	GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
+ 
+ 2005-01-27  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
+ 	CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
+ 	ASM_CLOBBERS): Add tree checks.
+ 
+ 	* c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
+ 	(SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
+ 	* c-common.def (SWITCH_STMT): Update to match.
+ 	* c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
+ 	macros instead of SWITCH_EXPR ones.
+ 	* c-dump.c (c_dump_tree): Likewise.
+ 	* c-gimplify.c (gimplify_switch_stmt): Likewise.
+ 	* c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
+ 
+ 	* doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
+ 
+ 2005-01-27  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* unwind-dw2.c (execute_stack_op): Add missing cases for
+ 	DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
+ 
+ 2005-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config.gcc (Obsolete configurations): Remove 'dummy', add
+ 	sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
+ 	sparc-*-openbsd*.
+ 
+ 2005-01-26  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19633
+ 	* tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
+ 	CALL_EXPRs.
+ 	(maybe_create_global_var): Do not create .GLOBAL_VAR if there
+ 	are no call-clobbered variables.
+ 	* tree-outof-ssa.c (check_replaceable): Return false for calls
+ 	with side-effects.
+ 
+ 2005-01-26  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* dbxout.c (dbxout_symbol_location): Resolve constant pool references
+ 	even for variables with NULL DECL_INITIAL.
+ 
+ 2005-01-26  Stuart Hastings  <stuart@apple.com>
+ 
+ 	* gimplify.c (shortcut_cond_expr): Re-compute side-effects.
+ 
+ 2005-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/18008
+ 	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
+ 	field's type.
+ 	* expr.c (store_field): Strip conversions to odd-bit-sized types
+ 	if the destination field width matches.
+ 
+ 2005-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	* c-decl.c, expmed.c, expr.c: Revert last change.
+ 
+ 2005-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/18008
+ 	* c-decl.c (finish_struct): Set DECL_MODE after resetting a
+ 	field's type.
+ 	* expmed.c (store_fixed_bit_field): Create a paradoxical subreg
+ 	if we don't need the bits above those present in the current mode.
+ 	* expr.c (store_field): Strip conversions to odd-bit-sized types
+ 	if the destination field width matches.
+ 
+ 2005-01-26  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
+ 	either -ffast-math or -funsafe-math-optimizations is in use.
+ 
+ 2005-01-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
+ 
+ 	PR target/19293
+ 	PR target/19329
+ 	* config/avr/avr.c (notice_update_cc): Only set condition code for
+ 	ashrqi3 if shift count > 0.
+ 	(out_shift_with_cnt): Handle shift count <= 0 as a no-op.
+ 	(ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
+ 	ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
+ 	count <= 0 as a no-op, and shift count >= width by copying zero
+ 	or sign bit to all bits of the result.
+ 	* config/avr/avr.md (all shifts): Add alternatives for zero shift
+ 	count, with attribute "length" set to 0 and "cc" set to "none".
+ 
+ 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* doc/invoke.texi: Document -mTLS.
+ 
+ 	* testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-local-exec.c: New.
+ 	* testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
+ 
+ 	* configure.ac: Check for a TLS capable gas.
+ 
+ 	* configure: Regenerate.
+ 
+ 2005-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/18008
+ 	* combine.c (make_field_assignment): Simplify store to zero_extract
+ 	from a source with an overlapping mask.
+ 
+ 2005-01-26  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	2004-11-11  Eric Christopher  <echristo@redhat.com>
+ 
+ 	* config/frv/frv.md: Add fr400_integer automaton. Don't
+ 	allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
+ 	to TYPE_MACC.
+ 
+ 2005-01-26  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/16585
+ 	* cfgbuild.c (make_edges): Do not clear or set
+ 	current_function_has_computed_jump.
+ 	* function.h (struct function): Remove the has_computed_jump field.
+ 	(current_function_has_computed_jump): Do not define.
+ 	* sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
+ 	in a computed jump.  Ignore current_function_has_computed_jump.
+ 
+ 2005-01-26  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19515
+ 	* expr.c (categorize_ctor_elements): New argument p_must_clear.
+ 	(categorize_ctor_elements_1): Likewise.  Detect a union that isn't
+ 	fully initialized.
+ 	(mostly_zeros_p): Update for new categorize_ctor_elements argument.
+ 	* gimplify.c (gimplify_init_constructor): Likewise.  Only shove
+ 	objects into static storage if they have more than one non-zero value.
+ 	* tree.h (categorize_ctor_elements): Update decl.
+ 
+ 2005-01-26  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/19616
+ 	* tree.h (CALL_EXPR_TAILCALL): Add comment.
+ 	* calls.c (check_sibcall_argument_overlap_1): Revert the change
+ 	to this function from 2004-07-10.
+ 	* tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
+ 	the current function for tail call optimizations if the address
+ 	of one of it its arguments is taken.
+ 
+ 2005-01-26  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (fold_rtx): Call equiv_constant only when necessary.
+ 
+ 2005-01-26  Bernd Schmidt  <bernd.schmidt@analog.com>
+ 
+ 	* function.c (expand_function_end): If current_function_calls_alloca,
+ 	emit stack restore in a place that is reached when the function falls
+ 	through at the end.
+ 
+ 2005-01-26  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
+ 	rule to avoid matching inappropriate suffix rule.
+ 
+ 2005-01-26  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR tree-optimization/19241
+ 	* tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
+ 
+ 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
+ 	-lsyssim.  Wrap -lc -lsyssim in --start-group --end-group instead
+ 	of doubling.
+ 	(STARTFILE_SPEC): Add crti.o, before crtbegin.o.
+ 	<sim*>: Always use crt1.o, regardless of N in simN.
+ 	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
+ 	(ENDFILE_SPEC): Add crtn.o, after crtend.o.
+ 	(CRT_CALL_STATIC_FUNCTION): Remove.
+ 	* config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
+ 	use crt1.o, regardless of N in simN.
+ 	<!sim>: Drop support for -pg and -p variants; always use crt0.o.
+ 	(LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
+ 	(CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
+ 	case isystem setting.
+ 	(MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
+ 
+ 2005-01-25  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	* gimple-low.c (block_may_fallthru): Correct handling of
+ 	SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
+ 
+ 2005-01-26  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	* config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
+ 	handlers to match indentation; nested under the mtune=* handler.
+ 	Similar for mcpu= and march=.
+ 
+ 2005-01-25  Daniel Jacobowitz  <dan@codesourcery.com>
+ 
+ 	* config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
+ 	* config/mips/linux64.h (LIB_SPEC): Likewise.
+ 	* config/mn10300/linux.h (LIB_SPEC): Likewise.
+ 	* config/sh/linux.h (LIB_SPEC): Likewise.
+ 
+ 2005-01-25  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/frv/frv.c (frv_legitimize_tls_address): New.
+ 	(TARGET_HAVE_TLS): Define.
+ 	(FRV_SYMBOL_REF_TLS_P): Define.
+ 	(frv_override_options): Handle new register classes.
+ 	(frv_legitimate_address_p): Reject tls addresses.
+ 	(frv_legitimize_address): Handle TLS addresses.
+ 	(gen_inlined_tls_plt): New.
+ 	(gen_tlsmoff): New.
+ 	(frv_legitimize_tls_address): New.
+ 	(unspec_got_name): Add TLS entries.
+ 	(got12_operand): Add R_FRV_TLSMOFF12 case.
+ 	(frv_emit_move): Fixup TLS addresses.
+ 	(frv_emit_movsi): Legitimize TLS addresses.
+ 
+ 	* config/frv/frv.h (MASK_BIG_TLS): New.
+ 	(TARGET_BIG_TLS): New.
+ 	(HAVE_AS_TLS): Define.
+ 	(TARGET_SWITCHES): Add -mTLS and -mtls options.
+ 	(enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
+ 	(REG_CLASS_NAMES): Same.
+ 	(REG_CLASS_CONTENTS): Same.
+ 	(CONSTRAINT_LEN): New.
+ 	(REG_CLASS_FROM_CONSTRAINT): New.
+ 	(PREDICATE_CODES): Add symbolic_operand.
+ 
+ 	* config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
+ 	UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
+ 	UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
+ 	UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
+ 	R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
+ 	R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
+ 	R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
+ 	GR9_REG, GR14_REG, LRREG.
+ 	(type): Add load_or_call attribute.
+ 	("load_or_call"): New reservation.
+ 	("call_gettlsoff"): New.
+ 	("tls_indirect_call"): New.
+ 	("tls_load_gottlsoff12"): New.
+ 	("tlsoff_hilo"): New.
+ 	("tls_tlsdesc_ldd"): New.
+ 	("tls_tlsoff_ld"): New.
+ 	("tls_lddi"): New.
+ 
+ 	* config/frv/frv-protos.h (symbolic_operand): Protoize.
+ 
+ 	2005-01-25  Alexandre Oliva  <aoliva@redhat.com>
+ 
+ 	* config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+ 	* config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
+ 	* config/frv/frv.c (TLS_BIAS): Define.
+ 	(frv_output_dwarf_dtprel): New.
+ 
+ 2005-01-26  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/19579
+ 	* ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
+ 	both A and B, see if they don't clobber registers the other expr uses.
+ 
+ 2005-01-25  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* real.c (do_add): Initialize signalling and canonical members.
+ 
+ 	* real.c (real_from_integer): Zero out destination.
+ 
+ 2005-01-18  Jan Hubicka  <jh@suse.cz>
+ 
+ 	PR tree-optimize/19337
+ 	* tree-inline.c (initialize_inlined_parameters): Copy
+ 	saved_static_chain_decl only.
+ 
+ 2005-01-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19556
+ 	PR target/19584
+ 	* config/i386/i386.c (x86_inter_unit_moves): Zero.
+ 	(ix86_preferred_reload_class): Rewrite fp-constant section, with
+ 	80387 enabled, to return a proper subclass.  Return the subset that
+ 	overlaps with GENERAL_REGS for PLUS.
+ 	* config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
+ 
+ 2005-01-25  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19609
+ 	* tree-complex.c (expand_complex_div_wide): Use the correct formulae.
+ 
+ 2005-01-25  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (choose_multiplier): Change interface to return the
+ 	multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
+ 	(expand_divmod): Update calls to choose_multiplier.
+ 
+ 2005-01-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR middle-end/19330
+ 	* expmed.c (extract_bit_field): Use adjust_address instead of
+ 	gen_lowpart when op0 is a MEM.
+ 
+ 2005-01-24  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* cfgexpand.c (expand_gimple_tailcall): Fix typo.
+ 
+ 2005-01-24  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/irix-csr.c: New file.
+ 	* config/mips/t-iris6 (irix-csr.o): New rule to build it.
+ 	(EXTRA_MULTILIB_PARTS): Add irix-csr.o.
+ 	* config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
+ 	executables.
+ 
+ 2005-01-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR bootstrap/19364
+ 	* config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
+ 	sparc/elf.h, add sparc/sp-elf.h.
+ 	(sparc-*-rtems*): Likewise.
+ 	(sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
+ 	tm-dwarf2.h, add sparc/sp-elf.h.
+ 	(sparc86x-*-elf): Likewise.
+ 	(sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
+ 	* config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
+ 	TARGET_OS_CPP_BUILTINS.
+ 	* config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ 	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ 	Undefine it.
+ 	* config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
+ 	* config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
+ 	(SWITCH_TAKES_ARG): Likewise.
+ 	(LOCAL_LABEL_PREFIX): Likewise.
+ 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ 	(TARGET_N_FORMAT_TYPES): Delete.
+ 	(TARGET_FORMAT_TYPES): Likewise.
+ 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ 	* config/sparc/elf.h: Delete.
+ 	* config/sparc/sp-elf.h: New file.
+ 
+ 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-flow-inline.h (phi_arg_from_edge): Remove.
+ 	* tree-flow.h: Remove the corresponding prototype.
+ 	* tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
+ 	tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
+ 
+ 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR target/17751
+ 	* config/rs6000/rs6000.c (rs6000_file_start): Create toc section
+ 	for AIX ABI or ELF -fPIC.
+ 	(rs6000_emit_load_toc_table): Don't create toc_section here.
+ 	(rs6000_xcoff_file_start): Nor here.
+ 
+ 2005-01-24  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* sh.c (ra.h): Don't #include.
+ 	(hard_regs_intersect_p): New function, resurrected from ra.c.
+ 
+ 	* sh.c: Fix 1996 Copyright.
+ 
+ 2005-01-24  Richard Henderson  <rth@redhat.com>
+ 	    Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* regrename.c (note_sets): Handle subregs.
+ 
+ 2005-01-24  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR bootstrap/18058
+ 	* genconditions.c (write_header, write_conditions): Elide file if
+ 	not GCC >= 3.0.1.
+ 
+ 2005-01-24  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-opts.c, expmed.c, gengtype.c, tree-complex.c,
+ 	config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
+ 	Update copyright.
+ 
+ 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
+ 	expand_builtin_printf, expand_builtin_fprintf,
+ 	expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
+ 	checking against POINTER_TYPE.
+ 	(validate_arglist): Handle POINTER_TYPE code by checking
+ 	POINTER_TYPE_P.
+ 
+ 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
+ 	init_rtlanal): New.
+ 	(for_each_rtx): Call for_each_rtx_1.
+ 	* rtl.h (init_rtlanal): Declare.
+ 	* toplev.c (backend_init): Call init_rtlanal.
+ 
+ 2005-01-24  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* flow.c (propagate_one_insn): Formatting.
+ 
+ 	PR middle-end/19551
+ 	* flow.c (libcall_dead_p): Be more conservative if unsure.
+ 	If there are any instructions between insn and call, see if they are
+ 	all dead before saying the libcall is dead.
+ 
+ 2005-01-24  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
+ 	operand constraint for operand 0.
+ 
+ 2005-01-23  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR 19486
+ 	* tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
+ 	edges leading to join block.
+ 
+ 2005-01-23  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* expmed.c (expand_mult_highpart): Make static.  Change type of
+ 	constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
+ 	(expand_divmod): Updates calls to expand_mult_highpart by using
+ 	gen_int_mode to pass a CONST_INT rtx.
+ 	* rtl.h (expand_mult_highpart): Remove prototype.
+ 
+ 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* flow.c (regset_bytes, regset_size): Remove.
+ 
+ 	* cfganal.c: Fix a reference to Harvey's paper.
+ 
+ 2005-01-23  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR rtl-optimization/19464
+ 	* tree-optimize.c (init_tree_optimization_passes): Add one more
+ 	copyrename pass just before out-of-ssa.
+ 
+ 2005-01-23  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	PR bootstrap/18058
+ 	* recog.c (recog_memoized): Don't define if GENERATOR_FILE.
+ 	* ggc-none.c (ggc_free): Define.
+ 
+ 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cse.c (max_reg, max_insn_uid): Remove.
+ 	(cse_main): Don't access max_reg or max_insn_uid.
+ 
+ 	* c-common.c (explicit_flag_signed_bitfields,
+ 	lang_statement_code_p, lang_expand_function_end): Remove.
+ 	* c-common.h: Remove the corresponding declarations.
+ 	* c-opts.c (c_common_handle_option): Remove all write access
+ 	to explicit_flag_signed_bitfields.
+ 
+ 	* cgraph.c (cgraph_varpool_n_nodes): Remove.
+ 	(cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
+ 	* cgraph.h: Remove the corresponding declaration.
+ 
+ 	* gcse.c (null_pointer_info): Remove.
+ 
+ 2005-01-23  Roger Sayle  <roger@eyesopen.com>
+ 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* combine.c (simplify_logical): Only simplify logical expressions
+ 	of the form ior(and(x,y),z) by the inverse distributive law if the
+ 	result is cheaper than the original.
+ 
+ 2005-01-23  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
+ 	fold-const.c, gimplify.c, params.h, tree-data-ref.c,
+ 	tree-if-conv.c, tree-nested.c, tree-outof-ssa.c,
+ 	tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c,
+ 	config/freebsd-spec.h, config/arm/arm.h,
+ 	config/h8300/h8300.md, config/i386/i386.md,
+ 	config/i386/predicates.md, config/i386/sse.md,
+ 	config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c,
+ 	config/vax/vax.md: Fix comment typos.  Follow spelling
+ 	conventions.
+ 
+ 2005-01-23  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* gengtype.c (walk_type): Produce `not equal to' compares for loop
+ 	tests, instead of `less than'.
+ 
+ 2005-01-23  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_block): When creating a new stack slot
+ 	for a parameter, get its alignment from the parameter's DECL_ALIGN
+ 	rather than the type's TYPE_ALIGN.  Make sure that the parameter
+ 	is at least word aligned.
+ 
+ 2005-01-22  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19378
+ 	* config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
+ 
+ 2005-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19506
+ 	* config/i386/i386.md (movsfcc_1_sse_max): Use nonimmediate_operand
+ 	in both compare operands.
+ 	(movdfcc_1_sse_max): Likewise.
+ 	(movsfcc_1_sse): Likewise.  Add earlyclobber for scratch.
+ 	(movdfcc_1_sse): Likewise.
+ 	* config/i386/i386.c (ix86_split_sse_movcc): Emit copies into the
+ 	scratch register as needed.
+ 
+ 2005-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (smaxsf3): Fix mnemonic typo.
+ 
+ 	* config/i386/i386.c (ix86_prepare_fp_compare_args): Fix is_sse test.
+ 
+ 2005-01-22  Richard Henderson  <rth@redhat.com>
+ 
+ 	* genopinit.c (optabs): Use smin/smax for floating point too.
+ 	* doc/md.texi: Update to match.  Clarify that floating point
+ 	results are undefined for +0/-0 and NaN.
+ 	* doc/rtl.texi: Likewise.
+ 	* rtl.def (SMIN, SMAX): Likewise
+ 	* tree.def (MIN_EXPR, MAX_EXPR): Likewise.
+ 
+ 	* config/alpha/alpha.md (smaxdf3, smindf3, smaxsf3, sminsf3): Add
+ 	leading 's' to the name.
+ 	* config/ia64/ia64.md (smaxsf3, sminsf3, smaxdf3, smindf3,
+ 	smaxxf3, sminxf3): Likewise.
+ 	* config/rs6000/rs6000.md (smaxdf3, smindf3, smaxsf3, sminsf3):
+ 	Likewise.
+ 
+ 2005-01-22  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md: Use "Uy" constraint for wcgr load/stores.
+ 
+ 2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct processor_costs): New fields
+ 	dlgr, dlr, dr, dsgfr, dsgr.
+ 	(z900_cost, z990_cost): Values for new fields.
+ 	(s390_rtx_costs): New cases MEM und COMPARE in switch
+ 	statement. Modified handling of SIGN_EXTEND, ZERO_EXTEND,
+ 	DIV, MOD, UDIV, UMOD.
+ 
+ 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("doloop_si64"): Reload input value directly
+ 	into the register being decremented.
+ 	("doloop_si31", "doloop_di"): Likewise.
+ 	("*doloop_si_long"): Adapt pattern.
+ 
+ 2005-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.h (HARD_REGNO_NREGS): Fix computation for
+ 	access registers.
+ 	(CLASS_MAX_NREGS): Likewise.
+ 
+ 2005-01-21  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* doc/tree-ssa.texi (Statement Operands): Add example for new
+ 	must-def macro. Note deprecation of old operands interface.
+ 
+ 2005-01-22  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR tree-optimization/19484
+ 	* tree-cfg.c (remove_fallthru_edge): New function.
+ 	(cleanup_control_flow): Remove fallthru edges from calls that are
+ 	now known not to return.
+ 
+ 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/19038
+ 	* tree-ssa-dom.c (cprop_operand): Don't replace loop invaeriant
+ 	copies with loop variant ones.
+ 
+ 2005-01-22  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* cfganal.c, real.h, reorg.c, timevar.def, tree-ssa-ccp.c,
+ 	config/alpha/alpha-protos.h, config/alpha/alpha.h,
+ 	config/alpha/alpha.md, config/alpha/predicates.md,
+ 	config/sparc/freebsd.h, config/sparc/netbsd-elf.h,
+ 	config/sparc/sol2.h: Update copyright.
+ 
+ 	* tree-cfg.c (remove_forwarder_block_with_phi): Look at the
+ 	first label to see if it is a nonlocal label.
+ 
+ 2005-01-22  David Edelsohn  <edelsohn@gnu.org>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/19491
+ 	* config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
+ 	maximum number of GPRs.  Saturate n_fpr at maximum number of FPRs.
+ 
+ 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/rs6000/rtems.h: Update copyright.
+ 
+ 2005-01-22  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	PR target/19548
+ 	* config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
+ 	(CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
+ 	(SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
+ 
+ 2005-01-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+ 
+ 	PR c/18809
+ 	* c-typeck.c (convert_arguments): Check for error_mark_node.
+ 
+ 2005-01-21  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR tree-optimization/13000
+ 	* tree-inline.c: Include "tree-flow.h".
+ 	(expand_call_inline): If warn_return_type, warn if non-void inline
+ 	function falls through.
+ 	* tree-cfg.c (execute_warn_function_return): Don't warn about
+ 	control reaching end if TREE_NO_WARNING is set.  Set
+ 	TREE_NO_WARNING.
+ 	* gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
+ 	has been lowered.
+ 	* gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
+ 	branch if we don't need one.
+ 	* c-typeck.c: Include "tree-flow.h"
+ 	(c_finish_bc_stmt): Don't add a goto if the current statement
+ 	list doesn't fall through to the current point.
+ 
+ 2005-01-21  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR rtl-optimization/576
+ 	* real.c (real_arithmetic): Change return type from void to bool
+ 	to return an indication that the result may be inexact.
+ 	* real.h (real_arithmeric): Update prototype.
+ 	* fold-const.c (const_binop):  Don't constant fold floating
+ 	point expressions when the user specifies -frounding-math and
+ 	the result may depend upon the run-time rounding mode.
+ 	(fold_convert_const_real_from_real): Clean-up.
+ 	(fold_initializer): Ignore flag_rounding_math for initializers.
+ 	* simplify-rtx.c (simplify_binary_operation): Likewise, don't
+ 	constant fold FP operations with flag_rounding_math if the
+ 	result may depend upon the run-time rounding mode.
+ 
+ 2005-01-21  Tom Tromey  <tromey@redhat.com>
+ 
+ 	* c-cppbuiltin.c (define__GNUC__): Correct assertion.
+ 
+ 2005-01-21  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c: Fix comment typos.
+ 
+ 2005-01-21  J"orn Rennecke <joern.rennecke@st.com>
+ 
+ 	* passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
+ 	around the call to rest_of_handle_branch_target_load_optimize.
+ 
+ 2005-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
+ 	(sparc64-*-openbsd*): Likewise.
+ 	(sparclite-*-elf*): Include tm-dwarf2.h.
+ 	(sparc86x-*-elf*): Likewise.
+ 	(sparc64-*-elf*): Likewise.
+ 	* config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
+ 	(DBX_DEBUGGING_INFO): Likewise.
+ 	* config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	* config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	* config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	* config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
+ 	(PREFERRED_DEBUGGING_TYPE): Likewise.
+ 	* config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
+ 
+ 2005-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18701
+ 	* combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
+ 
+ 2005-01-20  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* doc/rtl.texi: Document value extension requirements for CONST_INT.
+ 
+ 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
+ 	label is first in a sequence of labels.
+ 
+ 	* tree-cfg.c (tree_verify_flow_info): Fix a typo.
+ 
+ 2005-01-20  Janis Johnson  <janis187@us.ibm.com>
+ 	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+ 
+ 	* doc/sourcebuild.texi (Test Directives): New.
+ 
+ 2005-01-20  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* real.c (real_floor): Don't leave the result uninitialized when
+ 	mode is VOIDMode, but return the unrounded intermediate value.
+ 	(real_ceil): Likewise.
+ 
+ 2005-01-20  Paul Brook  <paul@codesourcery.com>
+ 
+ 	* config/arm/arm.md (insv): Use gen_int_mode.
+ 
+ 2005-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
+ 	* config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ 	* config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ 	* config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ 	* config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ 
+ 2005-01-20  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR debug/19124
+ 	* dwarf2out.c (concat_loc_descriptor): We don't know we can use
+ 	fbreg, so we have to assume we can't.
+ 	(loc_descriptor_from_tree_1): Ditto.
+ 	(containing_function_has_frame_base): New function.
+ 	(add_location_or_const_value_attribute): Use it.
+ 	Also try to generate a frame_base from a single element location
+ 	list.
+ 
+ 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	PR tree-optimization/15349
+ 	* timevar.def (TV_TREE_MERGE_PHI): New.
+ 	* tree-cfg.c (tree_forwarder_block_p): Add a new argument
+ 	PHI_WANTED.
+ 	(remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
+ 	calls to tree_forwarder_block_p.
+ 	(remove_forwarder_block_with_phi, merge_phi_nodes,
+ 	gate_merge_phi, pass_merge_phi): New.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_merge_phi.
+ 	* tree-pass.h: Add an extern for pass_merge_phi;
+ 
+ 2005-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19418
+ 	* config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
+ 	(_mm_castps_pd, _mm_castps_si128): New.
+ 	(_mm_castsi128_ps, _mm_castsi128_pd): New.
+ 
+ 2005-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19530
+ 	* config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
+ 	__builtin_ia32_vec_init_v2si.
+ 	(_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
+ 	* config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
+ 	(ix86_init_mmx_sse_builtins): Create it.
+ 	(ix86_expand_builtin): Expand it.
+ 	(ix86_expand_vector_set): Handle V2SFmode and V2SImode.
+ 	* config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
+ 	(vec_extractv2si_0, vec_extractv2si_1): New.
+ 
+ 2005-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/16533
+ 	* config/i386/i386.c (ix86_expand_push): New.
+ 	* config/i386/mmx.md (push<MMXMODE>1): New.
+ 	* config/i386/sse.md (push<SSEMODE>1): New.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
+ 	copyright.
+ 
+ 2005-01-20  Richard Henderson  <rth@redhat.com>
+ 
+ 	* rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
+ 	* rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19350
+ 	* config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
+ 	to V4SFmode in SSE1 fallback load path.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
+ 	in QImode expansion to ix86_expand_vector_set.
+ 	(ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19511
+ 	* config/i386/i386.c (ix86_preferred_reload_class): Return a proper
+ 	subclass of the input class.
+ 	(ix86_secondary_memory_needed): Always true for cross-MMX classes.
+ 	Always true for cross-SSE1 classes.  Rationalize conditionals.
+ 	* config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
+ 	* config/i386/i386.md (movsi_1): Add MMX/SSE zeros.  Fix alternatives
+ 	for SSE1.  Don't check TARGET_INTER_UNIT_MOVES.
+ 	(movdi_2): Add MMX/SSE zeros.
+ 	(movdi_1_rex64): Likewise.  Don't check TARGET_INTER_UNIT_MOVES.
+ 	(movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
+ 	(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
+ 	(movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
+ 	(movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
+ 	(zero_extendsidi2_rex64_1): Remove.
+ 	(MOV0 peephole): Check GENERAL_REG_P.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19427
+ 	* config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
+ 	shufps elements.
+ 	(ix86_expand_vector_extract): Likewise.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR middle-end/19304
+ 	* expr.c (emit_move_change_mode): New argument force; use
+ 	simplify_gen_subreg if true.
+ 	(emit_move_via_alt_mode): Merge into ...
+ 	(emit_move_via_integer): ... here.
+ 	(emit_move_ccmode): Use emit_move_change_mode directly.
+ 
+ 2005-01-19  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19518
+ 	* config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
+ 	(alpha_preferred_reload_class): Handle CONST_VECTOR.
+ 	(alpha_emit_set_const_1): Add no_output parameter; don't emit
+ 	rtl if true.
+ 	(alpha_emit_set_const): Likewise.  Make static.
+ 	(alpha_emit_set_long_const): Make static.
+ 	(alpha_extract_integer): Split out from alpha_expand_mov.
+ 	(alpha_split_const_mov): Likewise.
+ 	(alpha_expand_mov): Use them.  Handle CONST_VECTOR.
+ 	(alpha_legitimate_constant_p): New.
+ 	* config/alpha/alpha-protos.h: Update.
+ 	* config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
+ 	(LEGITIMATE_CONSTANT_P): Re-implement with a function.
+ 	* config/alpha/alpha.md (movsi): Add n alternative.
+ 	(movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
+ 	(mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
+ 	(splitters for all of the above): Use alpha_split_const_mov.
+ 	* config/alpha/predicates.md (non_add_const_operand): New.
+ 	(non_zero_const_operand): New.
+ 	(input_operand): Use alpha_legitimate_constant_p after reload.
+ 
+ 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/19038
+ 	* tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
+ 	(add_candidate): Add ivs with increment in latch only if
+ 	allow_ip_end_pos_p is true.
+ 	(determine_iv_cost): Use empty_block_p.
+ 
+ 2005-01-19  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
+ 	(compute_dominance_frontiers): Ditto.
+ 
+ 2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	PR target/19529
+ 	* config/sh/t-rtems: New.
+ 	* config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
+ 
+ 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
+ 	the offset of the selected field.
+ 
+ 2005-01-19  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (remove_forwarder_block): Fix the check to
+ 	prevent a nonlocal label from appearing in the middle of a
+ 	basic block.
+ 
+ 2005-01-19  Hans-Peter Nilsson  <hp@axis.com>
+ 
+ 	PR rtl-optimization/19462
+ 	* reorg.c (find_end_label): Create return insn only if
+ 	current_function_epilogue_delay_list is empty.
+ 
+ 2005-01-19  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* doc/passes.texi: Remove paragraph mentioning new-ra.
+ 
+ 2005-01-19  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR rtl-optimization/15139
+ 	* combine.c: Include params.h.
+ 	(count_rtxs): New function.
+ 	(record_value_for_reg): If replace_rtx would replace at least
+ 	2 occurrences of REG in VALUE and TEM is really large, replace REG with
+ 	(clobber (const_int 0)) instead of TEM.
+ 	* params.def (PARAM_MAX_LAST_VALUE_RTL): New.
+ 	* params.h (MAX_LAST_VALUE_RTL): New.
+ 	* Makefile.in (combine.o): Depend on $(PARAMS_H).
+ 	* doc/invoke.texi (--param max-last-value-rtl=N): Document.
+ 
+ 	PR c/17297
+ 	* c-typeck.c (digest_init): Only call build_vector if all constructor
+ 	elements are *_CST nodes.
+ 	* gimplify.c (gimplify_init_constructor): Likewise.
+ 
+ 	PR middle-end/19164
+ 	* c-typeck.c (digest_init): Only call build_vector if inside_init
+ 	is a CONSTRUCTOR.
+ 
+ 2005-01-18  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+ 
+ 	* toplev.c (init_asm_output): Remove dead #ifdef.
+ 
+ 2005-01-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	* config/sh/linux.h (TARGET_C99_FUNCTIONS): Define.
+ 
+ 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* calls.c (expand_call): Check DECL_BUILT_IN_CLASS before
+ 	accessing DECL_FUNCTION_CODE.
+ 	* dojump.c (do_jump): Likewise.
+ 	* gimplify.c (gimplify_call_expr): Likewise.
+ 	* predict.c (expr_expected_value): Likewise.
+ 	(strip_builtin_expect): Likewise.
+ 	* tree-inline.c (estimate_num_insns_1): Likewise.
+ 	* tree-ssa-loop-im.c (stmt_cost): Likewise
+ 	* fold-const.c (fold): Test for BUILT_IN_NORMAL.
+ 	(tree_expr_nonnegative_p): Likewise.
+ 
+ 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.c (load_pic_register): Emit the appropriate
+ 	variant of the load_pcrel_sym pattern.
+ 	* config/sparc/sparc.md (P macro): Move to the top.
+ 	(load_pcrel_sym): Macroize using P.
+ 	(save_register_window): Likewise.
+ 
+ 2005-01-18  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.md ("sunordered"): Disable for e500.
+ 	("sordered"): Same.
+ 
+ 2005-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR C/19472
+ 	* c-typeck.c (build_asm_expr): Strip nops off
+ 	input memory operands.
+ 
+ 2005-01-18  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix43.h (CPLUSPLUS_CPP_SPEC): Delete
+ 	_XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, _LARGE_FILE_API.
+ 	* config/rs6000/aix51.h (CPLUSPLUS_CPP_SPEC): Same.
+ 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Same.
+ 
+ 2005-01-18  Joel Sherrill <joel.sherrill@oarcorp.com>
+ 
+ 	PR target/19379
+ 	* config/i386/i386.c (override_options): If the 80387 is disabled,
+ 	then do not return FP values using FP registers.
+ 
+ 2005-01-18  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* basic-block.h, c-common.c, c-cppbuiltin.c, c-lang.c,
+ 	c-tree.h, cfgbuild.c, cgraph.c, cgraph.h, collect2.c,
+ 	combine.c, config.gcc, coverage.h, cse.c, cselib.c,
+ 	defaults.h, df.c, dwarf2asm.c, dwarf2out.c, explow.c, expr.c,
+ 	flow.c, fold-const.c, gcse.c, ggc-page.c, gimple-low.c,
+ 	gimplify.c, ifcvt.c, langhooks-def.h, lcm.c, optabs.h,
+ 	output.h, postreload-gcse.c, postreload.c, recog.c,
+ 	resource.c, rtl.def, rtlanal.c, sched-deps.c, sched-rgn.c,
+ 	targhooks.h, toplev.c, tree-data-ref.c, tree-eh.c,
+ 	tree-flow.h, tree-loop-linear.c, tree-mudflap.h, tree-nrv.c,
+ 	tree-optimize.c, tree-outof-ssa.c, tree-pass.h,
+ 	tree-scalar-evolution.c, tree-ssa-copy.c, tree-ssa-dce.c,
+ 	tree-ssa-dse.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c,
+ 	tree-ssa-pre.c, tree-ssa.c, tree-vectorizer.c, tree.def,
+ 	unwind-dw2-fde-darwin.c, var-tracking.c: Update copyright.
+ 
+ 	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
+ 	config/alpha/alpha.c, config/arm/vfp.md,
+ 	config/i386/emmintrin.h, config/i386/i386-modes.def,
+ 	config/i386/i386-protos.h, config/i386/i386.h,
+ 	config/i386/pmmintrin.h, config/i386/ppro.md,
+ 	config/i386/predicates.md, config/i386/xmmintrin.h,
+ 	config/i860/i860.c, config/ia64/ia64-modes.def,
+ 	config/ia64/ia64-protos.h, config/ia64/ia64.h,
+ 	config/ia64/ia64.md, config/ia64/itanium1.md,
+ 	config/ia64/itanium2.md, config/ia64/predicates.md,
+ 	config/iq2000/iq2000.h, config/mips/linux64.h,
+ 	config/rs6000/aix41.h, config/rs6000/aix43.h,
+ 	config/rs6000/aix52.h, config/rs6000/darwin-fallback.c,
+ 	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
+ 	config/rs6000/spe.md, config/sh/sh.md, config/sparc/linux.h,
+ 	config/sparc/linux64.h, config/sparc/litecoff.h,
+ 	config/sparc/sp64-elf.h, config/sparc/sparc.c,
+ 	config/sparc/sparc.h, config/sparc/sparc.md,
+ 	config/sparc/sysv4-only.h: Update copyright.
+ 
+ 2005-01-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19496
+ 	* config/i386/i386.c (ix86_expand_fp_movcc): Fail for LTGT and UNEQ.
+ 
+ 2005-01-18  Marc Espie  <espie@openbsd.org>
+ 	* config/i386/openbsdelf.h: Typo.
+ 
+ 2005-01-18  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_fp_movcc): Remove TARGET_IEEE_FP
+ 	special case for sse.
+ 	* config/i386/predicates.md (sse_comparison_operator): Likewise.
+ 
+ 2005-01-18  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-inline.c (estimate_num_insns_1): Added cases for
+ 	ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF, and REALIGN_LOAD_EXPR.
+ 
+ 2005-01-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR rtl-optimization/19296
+ 	* combine.c (simplify_comparison): Rewrite the condition under
+ 	which a non-paradoxical SUBREG of a PLUS can be lifted when
+ 	compared against a constant.
+ 
+ 2005-01-18  Andi Kleen <ak@muc.de>
+ 
+ 	* c-typeck.c: (convert_for_assignment): Check warn_pointer_sign.
+ 	* c.opt (-Wpointer-sign): Add.
+ 	* doc/invoke.texi: (-Wpointer-sign): Add.
+ 
+ 2005-01-18  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* config/i386/i386.c (override_options): Revert 2004-11-24 change.
+ 	* config/i386/i386.md (fmodsf3, dremsf3, *sinsf2, *cossf2, sincossf3,
+ 	*tansf3_1, tansf2, atan2sf3_1, atan2sf3, atansf2, asinsf2, acossf2,
+ 	logsf2, log10sf2, log2sf2, log1psf2, logbsf2, ilogbsf2, expsf2,
+ 	exp10sf2, exp2sf2, expm1sf2, rintsf2, floorsf2, ceilsf2, btruncsf2,
+ 	nearbyintsf2): Disable for TARGET_SSE_MATH.  Leave patterns enabled
+ 	for TARGET_MIX_SSE_I387.
+ 	(fmoddf3, dremdf3, *sindf2, *sinextendsfdf2, *cosdf2, *cosextendsfdf2,
+ 	sincosdf3, *sincosextendsfdf3, *tandf3_1, tandf2, atan2df3_1,
+ 	atan2df3, atandf2, asindf2, acosdf2, logdf2, log10df2, log2df2,
+ 	log1pdf2, logbdf2, expdf2, exp10df2, exp2df2, expm1df2, rintdf2,
+ 	floordf2, ceildf2, btruncdf2, nearbyintdf2): Disable for
+ 	(TARGET_SSE2 && TARGET_SSE_MATH).  Leave patterns enabled for
+ 	TARGET_MIX_SSE_I387.
+ 	(atan2sf3, atan2df3, atan2xf3): Remove register constraints
+ 	from expander.
+ 
+ 2005-01-18  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/19424
+ 	* config/i386/mmx.md (*movv2sf_internal_rex64, *movv2sf_internal):
+ 	Add movaps alternative for xmm reg->reg move.
+ 
+ 2005-01-17  Jeff Law  <law@redhat.com>
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Clear SSA_NAME_VALUE
+ 	at the end of the main DOM loop rather than just before DOM exits.
+ 
+ 2005-01-17  Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/19121
+ 	* tree-ssa-alias.c (compute_flow_sensitive_aliasing): When
+ 	adding aliases to a name tag, also add them to the pointer's
+ 	type tag.
+ 	* tree-ssa-copy.c (merge_alias_info): Do not merge flow
+ 	sensitive alias info at all.  Only check that the two pointers
+ 	have compatible pointed-to sets.
+ 	* tree-ssa.c (verify_name_tags): Verify that the alias set of
+ 	a pointer's type tag is a superset of the alias set of the
+ 	pointer's name tag.
+ 
+ 2005-01-17  James E Wilson  <wilson@specifixinc.com>
+ 
+ 	PR target/19357
+ 	* config/ia64/ia64.md (movxf): Handle general register source.  Adjust
+ 	comment to document why.
+ 
+ 2005-01-17  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/sse.md (smaxv4sf3_finite, sse_vmsmaxv4sf3_finite,
+ 	sminv4sf3_finite, sse_vmsminv4sf3_finite, smaxv2df3_finite,
+ 	sse2_vmsmaxv2df3_finite, sminv2df3_finite,
+ 	sse2_vmsminv2df3_finite): New.
+ 	(smaxv4sf3, sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, smaxv2df3,
+ 	sse2_vmsmaxv2df3, sminv2df3, sse2_vmsminv2df3): Remove commutative.
+ 	Force op1 into register.
+ 
+ 2005-01-17  Kelley Cook  <kcook@gcc.gnu.org>
+ 
+ 	* Makefile.in (STAGEMOVESTUFF): Stage all the stamp files to prevent
+ 	bubblestrap from always rebuilding build directory.
+ 
+ 2005-01-17  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("*clc"): Remove incorrect '='.
+ 	("*cmpmem_short"): Likewise.
+ 
+ 2005-01-17  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* basic-block.h: Document BB_* flags.
+ 	* regrename.c (copyprop_hardreg_forward): Don't use BB_VISITED,
+ 	use an sbitmap instead.
+ 	* sched-rgn.c (compute_trg_info): Likewise.
+ 
+ 2005-01-17  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config.gcc (mips64*-*-linux*): Set the default abi to n32.  Remove
+ 	redundant target_cpu_default and extra_parts lines.  Use the default
+ 	"from-abi" ISA.
+ 	* config/mips/linux64.h (DRIVER_DEFAULT_ABI_SELF_SPEC): Delete.
+ 	(SUBTARGET_EXTRA_SPECS): Delete.
+ 	(DRIVER_SELF_SPECS): Remove architecture lines.  Set the ABI directly.
+ 	(SUBTARGET_ASM_SPEC): Remove -mabi=n32 and -mabi=64 mappings.
+ 	* config/mips/t-linux64 (MULTILIB_DIRNAMES): Use "32" for -mabi=32
+ 	and "n32" for -mabi=n32.
+ 
+ 2005-01-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR c/5675
+ 	* c-typeck.c (build_c_cast): Revert patch of 2003-02-16: don't
+ 	fold constant variables into initial values.
+ 
+ 2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-cfg.c (tree_can_merge_blocks_p): Reorder two checks.
+ 
+ 	* tree-cfg.c (tree_forwarder_block_p): Speed up by walking
+ 	through the statements backward.
+ 
+ 2005-01-17  Ian Lance Taylor  <ian@airs.com>
+ 
+ 	PR middle-end/13127:
+ 	* tree-inline.c (expand_call_inline): Set TREE_NO_WARNING on
+ 	a variable set to the return value of the inlined function.
+ 
+ 2005-01-17  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* rtlanal.c (rtx_cost): Assign cost of 0 to a SUBREG
+ 	when modes are tieable.
+ 
+ 2005-01-17  Ranjit Mathew  <rmathew@hotmail.com>
+ 
+ 	* gthr-posix.h (__gthread_active_p): Use pthread_cancel instead
+ 	of pthread_create to find out if threads are enabled.
+ 	* gthr-posix95.h (__gthread_active_p): Likewise.
+ 
+ 2005-01-17  Paolo Bonzini  <bonzini@gnu.org>
+ 
+ 	* common.opt (-fnew-ra): Remove.
+ 	* ra*.*: Remove.
+ 	* toplev.h (flag_new_regalloc): Remove.
+ 	* Makefile.in (ra*.*): Don't mention.
+ 	* passes.c (rest_of_handle_new_regalloc): Remove.
+ 	(rest_of_handle_combine, rest_of_compilation): Always consider
+ 	flag_new_regalloc as false.
+ 	* doc/invoke.texi: Don't document -fnew-ra.
+ 
+ 2005-01-17  Paolo Bonzini <bonzini@gnu.org>
+ 
+ 	* bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
+ 	last parameter to reg_scan.
+ 	* loop.c (loop_optimize): Likewise.
+ 	* passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
+ 	rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
+ 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
+ 	rest_of_handle_gcse, rest_of_handle_loop_optimize,
+ 	rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
+ 	* regclass.c (reg_scan): Likewise, for the declaration.
+ 	* rtl.h (reg_scan): Likewise, for the prototype.
+ 
+ 2005-01-17  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
+ 	mark_dfs_back_edges.
+ 
+ 2005-01-16  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	* tree-ssa-pre.c (add_to_sets): s1 may be NULL.
+ 	(compute_avail): Uses don't go in tmp_gen.
+ 
+ 2005-01-16  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* ggc-page.c (ggc_alloc_stat): Use __builtin_ctzl instead of a
+ 	loop to look for a free slot in a page entry.
+ 
+ 2005-01-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/16304
+ 	* defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
+ 	* toplev.c (compile_file): Call process_pending_assemble_output_defs
+ 	just before targetm.asm_out.file_end.
+ 	* tree.h (process_pending_assemble_output_defs): Declare.
+ 	* varasm.c (assemble_output_def, process_pending_assemble_output_defs):
+ 	New functions.
+ 	(assemble_alias): Defer generation of assembly code for defines when
+ 	TARGET_DEFERRED_OUTPUT_DEFS is true.
+ 	* config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
+ 	* config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
+ 	* doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
+ 
+ 2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR target/19336
+ 	* pa.c (pa_scalar_mode_supported_p): New function.
+ 	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
+ 	* pa.h (MIN_UNITS_PER_WORD): Add comment.
+ 
+ 	* pa-protos.h (prefetch_operand): Delete.
+ 	(prefetch_cc_operand, prefetch_nocc_operand): New declations.
+ 	* pa.c (prefetch_operand): Delete.
+ 	(prefetch_cc_operand, prefetch_nocc_operand): New functions.
+ 	* pa.h (EXTRA_CONSTRAINT): Add `W' constraint.
+ 	(PREDICATE_CODES): Delete prefetch_operand.  Add prefetch_cc_operand
+ 	and prefetch_nocc_operand.
+ 	* pa.md (prefetch): Rework to avoid reload problems handling short
+ 	displacements when a cache control completer needs to be provided.
+ 	(prefetch_32, prefetch_64): Delete.
+ 	(prefetch_cc, prefetch_nocc): New patterns.
+ 
+ 2005-01-15  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert previous change.
+ 
+ 2005-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	PR ada/19388
+ 	* pa.c (pa_asm_output_aligned_common): Warn if specified alignment
+ 	exceeds maximum alignment for global common data.
+ 	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): Define to 32768.
+ 	* som.h (MAX_OFILE_ALIGNMENT): Likewise.
+ 
+ 2004-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree-ssa-dom.c (extract_range_from_cond): Correct condition.
+ 
+ 2004-01-15  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* harg-reg-set.h (reg_class_names): Prototype global array.
+ 	* regclass.c (reg_class_names): Declare here and initialize to
+ 	REG_CLASS_NAMES.
+ 	(dump_regclass): Remove local declaration of reg_class_names.
+ 	(regclass): Likewise.
+ 	* cfg.c (dump_flow_info): Likewise.
+ 	* ra-debug.c (reg_class_names): Likewise.
+ 	* regrename.c (reg_class_names): Likewise.
+ 	* reload.c (reg_class_names): Likewise.
+ 	* reload1.c (spill_failure): Likewise.
+ 	* config/m68hc11/m68hc11.c (reg_class_names): Likewise.
+ 
+ 2005-01-15  Ulrich Weigand  <uweigand@de.ibm.com>
+ 
+ 	* config/s390/s390.md ("reload_outti"): Remove predicate for
+ 	output operand.  Abort if operand is not a MEM.
+ 	("reload_outdi", "reload_outdf"): Likewise.
+ 
+ 2005-01-15  Marc Espie  <espie@openbsd.org>
+ 
+ 	* config.gcc (*-*-openbsd*): Set HAS_LIBC_R for OpenBSD <= 3.2.
+ 	(i[34567]86-*-openbsd*): Switch to ELF for OpenBSD >= 3.4.
+ 	* config/openbsd.h:  Fix C++ includes for native configurations.
+ 	Add proper OS_CPP_BUILTINS.  Fix libspec for recent OpenBSD.
+ 	Add trampoline support.
+ 	* config/i386/openbsdelf.h: New.
+ 
+ 2005-01-15  Marc Espie  <espie@openbsd.org>
+ 
+ 	* collect2.c (main): Explicitly parse -dynamic-linker option.
+ 
+ 2005-01-15  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/19060
+ 	* tree-ssa-dom.c (extract_range_from_cond) <case LT_EXPR, GT_EXPR>:
+ 	Return 0 if op1 <= TYPE_MIN_VALUE () resp. op1 >= TYPE_MAX_VALUE ().
+ 	(simplify_cond_and_lookup_avail_expr): Add assert for dummy == 0
+ 	and handle extract_range_from_cond returning false.
+ 	* fold-const.c (fold): Optimize comparisons with min/max even for
+ 	width > HOST_BITS_PER_WIDE_INT.
+ 
+ 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 
+ 	* config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
+ 	* config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
+ 	Remove little endian multilib variants.
+ 	Add mips32 multilib variant.
+ 
+ 2005-01-15  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* explow.c (copy_all_reg, stabilize): Remove.
+ 	* expr.h: Remove the corresponding prototypes.
+ 
+ 	* rtlanal.c (regs_set_between_p): Remove.
+ 	* rtl.h: Remove the corresponding prototype.
+ 
+ 2005-01-14  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename
+ 	to rs6000_nonimmediate_operand.
+ 	* config/rs6000/rs6000.h (PREDICATE_CODES): Rename
+ 	rs6k_nonimmediate_operand to rs6000_nonimmediate_operand.
+ 	* config/rs6000/rs6000.md (movsi_internal1): Rename predicate to
+ 	rs6000_nonimmediate_operand.
+ 	* config/rs6000/spe.md (movdf_e500_double): Rename predicate to
+ 	rs6000_nonimmediate_operand.
+ 
+ 2005-01-14  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	* tree-ssa-alias.c (pass_may_alias): Add TODO_verify_stmts.
+ 
+ 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
+ 	on e500v2.
+ 	(CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
+ 	(PREDICATE_CODES): Add rs6k_nonimmediate_operand.
+ 
+ 	* config/rs6000/rs6000.c (invalid_e500_subreg): New.
+ 	(rs6k_nonimmediate_operand): New.
+ 	(rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
+ 	correctly.
+ 	(legitimate_lo_sum_address_p): Same.
+ 	(rs6000_legitimize_address): Same.
+ 	(rs6000_legitimize_reload_address): Same.
+ 	(rs6000_legitimate_address): Same.
+ 	(spe_build_register_parallel): Pass DF and DC modes in a DI
+ 	register.
+ 
+ 	* config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
+ 	to rs6k_nonimmediate_operand.
+ 
+ 	* config/rs6000/spe.md ("*frob_df_di"): New.
+ 	("*frob_di_df"): New.
+ 	("*frob_di_df_2"): New.
+ 	("*mov_sidf_e500_subreg0"): New.
+ 	("*mov_sidf_e500_subreg4"): New.
+ 	("*movdf_e500_double"): Change predicate to
+ 	rs6k_nonimmediate_operand.
+ 
+ 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* postreload.c (move2add_note_store): Only call
+ 	trunc_int_for_mode on scalar integers.
+ 
+ 2005-01-14  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-ssa-dce.c (visited_control_parents): New sbitmap to
+ 	replace BB_VISITED uses.
+ 	(find_obviously_necessary_stmts): Don't clear BB_VISITED.
+ 	(propagate_necessity): Check the bitmap instead of BB_VISITED.
+ 	(tree_dce_done): Free visited_control_parents.
+ 	(perform_tree_ssa_dce): Allocate and clear it.
+ 	* tree-ssa-pre.c (compute_antic_aux): Make non-recursive.
+ 	(compute_antic): Iterate from here using a DFS.  Use an sbitmap
+ 	instead of BB_VISITED.
+ 
+ 2005-01-14  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* c-tree.h, coverage.h, langhooks-def.h, optabs.h, output.h,
+ 	rtl.h, targhooks.h, tree-flow.h, tree-mudflap.h, tree.h:
+ 	Remove unused prototypes.
+ 
+ 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_stack_info): Fix caching of SPE
+ 	64-bit register usage.
+ 	(spe_func_has_64bit_regs_p): Add FIXME note.
+ 
+ 2005-01-14  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* config/rs6000/rs6000.c (rs6000_generate_compare): Replace
+ 	flag_finite_math_only with flag_unsafe_math_optimizations.
+ 
+ 2005-01-14  J. D. Johnston  <jjohnst@us.ibm.com>
+ 
+ 	* config/s390/tpf-unwind.h (s390_fallback_frame_state): Correct
+ 	end-of-stack check.
+ 	(__tpf_eh_return): Copy TPF private stack area from the module
+ 	boundary stack frame.  Add check for when module addresses are
+ 	equal, but no stub address is found.
+ 
+ 2005-01-14  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	PR target/7525
+ 	* arm.h (struct machine_function): Add call_via field.
+ 	(thumb_call_via_label): Declare.
+ 	* arm.c (thumb_call_via_label): New variable.
+ 	(thumb_call_reg_needed): New variable.
+ 	(arm_output_function_epilogue): For Thumb code, output any per-function
+ 	call-indirect trampolines.
+ 	(thumb_call_via_reg): New function.
+ 	(arm_file_end): New function.
+ 	(TARGET_ASM_FILE_END): Call arm_file_end.
+ 	(aof_file_end): Likewise.
+ 	* arm-protos.h (thumb_call_via_reg): Declare.
+ 	* arm.md (call_reg_thumb, call_value_reg_thumb): Call
+ 	thumb_call_via_reg in normal case.
+ 
+ 2005-01-14  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR middle-end/19084
+ 	PR rtl-optimization/19348
+ 	* recog.c (peephole2_optimize): Do global life update if some peephole
+ 	decides it doesn't need at least one of its inputs and that change
+ 	influences liveness at the start of the basic block.
+ 
+ 	* basic-block.h (EXECUTE_IF_AND_COMPL_IN_REG_SET): Needs 2 REGSET
+ 	arguments instead of 1.
+ 
+ 2005-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	PR middle-end/18820
+ 	* varasm.c (initializer_constant_valid_p) <ADDR_EXPR>: Return
+ 	zero for nested functions needing a static chain or functions
+ 	with a non-constant address.
+ 
+ 2005-01-13  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation) <AND>: Optimize
+ 	(and (sign_extend X) C) into (zero_extend (and X C)).
+ 
+ 2005-01-13  David O'Brien  <obrien@FreeBSD.org>
+ 
+ 	* config/freebsd-spec.h:  Make KSE pthread lib logic the default.
+ 
+ 2005-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19009
+ 	PR target/19250
+ 	PR target/19252
+ 	* config/i386/i386.md (cmpdf, cmpsf, bunordered, bordered, buneq,
+ 	bunge, bungt, bunle, bunlt, bltgt): Enable for TARGET_SSE_MATH,
+ 	not just TARGET_SSE.
+ 	(cmpfp_i_387): Rename from cmpfp_i.  Move after sse patterns.
+ 	(cmpfp_i_mixed): Rename from cmpfp_i_sse; use for TARGET_MIX_SSE_I387.
+ 	(cmpfp_i_sse): Rename from cmpfp_i_sse_only; use for TARGET_SSE_MATH.
+ 	(cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387): Similarly.
+ 	(fp_jcc_1_mixed, fp_jcc_1_sse, fp_jcc_1_387): Similarly.
+ 	(fp_jcc_2_mixed, fp_jcc_2_sse, fp_jcc_2_387): Similarly.
+ 	(fp_jcc_3_387, fp_jcc_4_387, fp_jcc_5_387, fp_jcc_6_387,
+ 	fp_jcc_7_387, fp_jcc_8_387): Rename from fp_jcc_N.
+ 	(movdicc_c_rex64): Rename with '*'.
+ 	(movsfcc, movdfcc): Add checks for 387 and sse math to condition.
+ 	(movsfcc_1_sse_min, movsfcc_1_sse_max, movsfcc_1_sse): New.
+ 	(movsfcc_1_387): Rename from movsfcc_1.
+ 	(movdfcc_1_sse_min, movdfcc_1_sse_max, movdfcc_1_sse): New.
+ 	(movdfcc_1, movdfcc_1_rex64): Add check for 387.
+ 	(sminsf3, smaxsf3, smindf3, smaxdf3): New.
+ 	(minsf3, minsf, minsf_nonieee, minsf_sse, mindf3, mindf,
+ 	mindf_nonieee, mindf_sse, maxsf3, maxsf, maxsf_nonieee, maxsf_sse,
+ 	maxdf3, maxdf, maxdf_nonieee, maxdf_sse, sse_movsfcc, sse_movsfcc_eq,
+ 	sse_movdfcc, sse_movdfcc_eq, sse_movsfcc_const0_1,
+ 	sse_movsfcc_const0_2, sse_movsfcc_const0_3, sse_movsfcc_const0_4,
+ 	sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
+ 	sse_movdfcc_const0_4): Remove.
+ 	* config/i386/i386.c (ix86_expand_fp_movcc): For TARGET_SSE_MATH,
+ 	recognize min/max early.  Update for changed sse cmove patterns.
+ 	(ix86_split_sse_movcc): New.
+ 	* config/i386/i386-protos.h: Update.
+ 
+ 2005-01-13  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* tree-ssa-dse.c (fix_phi_uses): Use SSA operand iterators.
+ 	(fix_stmt_v_may_defs): Likewise.
+ 
+ 2005-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_expand_fp_absneg_operator): Use elt_mode
+ 	for converting the mask.
+ 
+ 2005-01-13  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
+ 	definition to 600.
+ 
+ 2005-01-13  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (IX86_BUILTIN_MOVQ, IX86_BUILTIN_LOADD,
+ 	IX86_BUILTIN_STORED, IX86_BUILTIN_MOVQ2DQ,
+ 	IX86_BUILTIN_MOVDQ2Q): Remove.
+ 	(IX86_BUILTIN_VEC_EXT_V4SI): New.
+ 	(ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
+ 	(ix86_expand_vector_extract): For V4S[FI], extract element 0 after
+ 	shuffling.
+ 	* config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
+ 	(sse2_pextrw): Fix immediate constraint.
+ 	(sse2_loadq, sse2_loadq_rex64): Remove.
+ 	* config/i386/emmintrin.h (_mm_cvtsi128_si32, _mm_cvtsi128_si64x):
+ 	Use __builtin_ia32_vec_ext_<size>.
+ 	(_mm_cvtsi32_si128, _mm_cvtsi64x_si128): Use _mm_set_epi<size>.
+ 
+ 2005-01-13  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_block): Look inside original
+ 	entry_parm when inspecting PARALLEL.
+ 
+ 2005-01-13  Ralf Corsepius  <ralf.corsepius@rtems.org>
+ 	    Joel Sherrill  <joel@oarcorp.com>
+ 
+ 	PR target/19399
+ 	* gthr-rtems.h (__gthread_recursive_mutex_t): New type.
+ 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
+ 	rtems_gxx_recursive_mutex_init.
+ 	(__gthread_recursive_mutex_lock): New function.
+ 	(__gthread_recursive_mutex_trylock): Likewise.
+ 	(__gthread_recursive_mutex_unlock): Likewise.
+ 
+ 2005-01-13  Ralf Corsepius <ralf.corsepius@rtems.org>
+ 
+ 	* config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
+ 
+ 2005-01-13  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/ia64/ia64.md (ashlti3, ashlti3_internal): New.
+ 	(ashrti3_internal): Indicate output is early clobber. Generate result
+ 	into output rather than first input. Use move for low word of output
+ 	if shift count is exactly 64.
+ 	(lshrti3_internal): Likewise.
+ 
+ 2005-01-13  Hans-Peter Nilsson  <hp@bitrange.com>
+ 
+ 	PR target/18329
+ 	PR target/18330
+ 	* reload1.c (delete_output_reload): Don't delete an output reload
+ 	if the pseudo lives longer than a single basic block.  Adjust and
+ 	improve wording of comment.
+ 
+ 2005-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/19334
+ 	* config/darwin.c (machopic_select_section): Use TYPE_SIZE_UNIT instead
+ 	of TYPE_SIZE where we mean the number of bytes.
+ 
+ 2005-01-12  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* function.c (assign_parm_setup_block): Relax condition on
+ 	multi-register optimization.
+ 
+ 2005-01-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
+ 	an "in_delay_slot" attribute of "no" to prevent them being used in
+ 	delay slots.  This is forbidden because they might generate
+ 	exceptions.
+ 
+ 2005-01-12  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/19389
+ 	* config/rs6000/rs6000.md (movtf_internal): Replace r->o and m->r
+ 	with r->Y and Y->r.
+ 
+ 2005-01-12  Nick Clifton  <nickc@redhat.com>
+ 
+ 	* config/iq2000/iq2000.h (ASM_SPEC): Undefine (to stop -Qy being
+ 	passed on to GAS) but do not define, as GAS no longer supports or
+ 	needs the -m2000 option.
+ 
+ 2005-01-11  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* builtins.c (fold_builtin_fabs): Convert argument to the appropriate
+ 	type as args of unprototyped builtins aren't automatically promoted.
+ 	(fold_builtin_abs): Likewise.
+ 
+ 2005-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+ 
+ 	* Makefile.in: Set a `build-warn' variable.
+ 
+ 2005-01-11  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/17949
+ 	* tree-ssa-loop-ivopts.c (may_be_unaligned_p): New function.
+ 	(find_interesting_uses_address): Use it.
+ 
+ 2005-01-11  Aldy Hernandez  <aldyh@redhat.com>
+ 
+ 	* regrename.c (kill_value): Handle subreg's that won't simplify.
+ 
+ 2005-01-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/13366
+ 	* config/i386/i386.h (enum ix86_builtins): Move ...
+ 	* config/i386/i386.c: ... here.
+ 	(IX86_BUILTIN_MOVDDUP, IX86_BUILTIN_MMX_ZERO, IX86_BUILTIN_PEXTRW,
+ 	IX86_BUILTIN_PINSRW, IX86_BUILTIN_LOADAPS, IX86_BUILTIN_LOADSS,
+ 	IX86_BUILTIN_STORESS, IX86_BUILTIN_SSE_ZERO, IX86_BUILTIN_PEXTRW128,
+ 	IX86_BUILTIN_PINSRW128, IX86_BUILTIN_LOADAPD, IX86_BUILTIN_LOADSD,
+ 	IX86_BUILTIN_STOREAPD, IX86_BUILTIN_STORESD,  IX86_BUILTIN_STOREHPD,
+ 	IX86_BUILTIN_STORELPD, IX86_BUILTIN_SETPD1, IX86_BUILTIN_SETPD,
+ 	IX86_BUILTIN_CLRPD, IX86_BUILTIN_LOADPD1, IX86_BUILTIN_LOADRPD,
+ 	IX86_BUILTIN_STOREPD1, IX86_BUILTIN_STORERPD, IX86_BUILTIN_LOADDQA,
+ 	IX86_BUILTIN_STOREDQA, IX86_BUILTIN_CLRTI,
+ 	IX86_BUILTIN_LOADDDUP): Remove.
+ 	(IX86_BUILTIN_VEC_INIT_V2SI, IX86_BUILTIN_VEC_INIT_V4HI,
+ 	IX86_BUILTIN_VEC_INIT_V8QI, IX86_BUILTIN_VEC_EXT_V2DF,
+ 	IX86_BUILTIN_VEC_EXT_V2DI, IX86_BUILTIN_VEC_EXT_V4SF,
+ 	IX86_BUILTIN_VEC_EXT_V8HI, IX86_BUILTIN_VEC_EXT_V4HI,
+ 	IX86_BUILTIN_VEC_SET_V8HI, IX86_BUILTIN_VEC_SET_V4HI): New.
+ 	(ix86_init_builtins): Make static.
+ 	(ix86_init_mmx_sse_builtins): Update for changed builtins.
+ 	(ix86_expand_binop_builtin): Only use ix86_fixup_binary_operands
+ 	if all the modes match.  Otherwise, fake it.
+ 	(get_element_number, ix86_expand_vec_init_builtin,
+ 	ix86_expand_vec_ext_builtin, ix86_expand_vec_set_builtin): New.
+ 	(ix86_expand_builtin): Make static.  Update for changed builtins.
+ 	(ix86_expand_vector_move_misalign): Use sse2_loadlpd with zero
+ 	operand instead of sse2_loadsd.  Cast sse1 fallback to V4SFmode.
+ 	(ix86_expand_vector_init_duplicate): New.
+ 	(ix86_expand_vector_init_low_nonzero): New.
+ 	(ix86_expand_vector_init_one_var, ix86_expand_vector_init_general):
+ 	Split out from ix86_expand_vector_init; handle integer modes.
+ 	(ix86_expand_vector_init): Use them.
+ 	(ix86_expand_vector_set, ix86_expand_vector_extract): New.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/predicates.md (reg_or_0_operand): New.
+ 	* config/i386/mmx.md (mov<MMXMODEI>_internal): Add 'r' variants.
+ 	(movv2sf_internal): Likewise.  And a splitter to match them all.
+ 	(vec_dupv2sf, mmx_concatv2sf, vec_setv2sf, vec_extractv2sf,
+ 	vec_initv2sf, vec_dupv4hi, vec_dupv2si, mmx_concatv2si, vec_setv2si,
+ 	vec_extractv2si, vec_initv2si, vec_setv4hi, vec_extractv4hi,
+ 	vec_initv4hi, vec_setv8qi, vec_extractv8qi, vec_initv8qi): New.
+ 	(mmx_pinsrw): Fix operand ordering.
+ 	* config/i386/sse.md (movv4sf splitter): Use direct pattern,
+ 	rather than sse_loadss expander.
+ 	(movv2df splitter): Similarly.
+ 	(sse_loadss, sse_loadlss): Remove.
+ 	(vec_dupv4sf, sse_concatv2sf, sse_concatv4sf, vec_extractv4sf_0): New.
+ 	(vec_setv4sf, vec_setv2df): Use ix86_expand_vector_set.
+ 	(vec_extractv4sf, vec_extractv2df): Use ix86_expand_vector_extract.
+ 	(sse3_movddup): Rename with '*'.
+ 	(sse3_movddup splitter): Use gen_rtx_REG instead of gen_lowpart.
+ 	(sse2_loadsd): Remove.
+ 	(vec_dupv2df_sse3): Rename from sse3_loadddup.
+ 	(vec_dupv2df, vec_concatv2df_sse3, vec_concatv2df): New.
+ 	(sse2_pinsrw): Fix argument ordering.
+ 	(sse2_loadld, sse2_loadq): Add sse1 alternatives.
+ 	(sse2_stored): Remove 'r' destination.
+ 	(vec_dupv4si, vec_dupv2di, sse2_concatv2si, sse1_concatv2si,
+ 	vec_concatv4si_1, vec_concatv2di, vec_setv2di, vec_extractv2di,
+ 	vec_initv2di, vec_setv4si, vec_extractv4si, vec_initv4si,
+ 	vec_setv8hi, vec_extractv8hi, vec_initv8hi, vec_setv16qi,
+ 	vec_extractv16qi, vec_initv16qi): New.
+ 
+ 	* config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
+ 	(_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
+ 	_mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
+ 	constructor form.
+ 	(_mm_load_pd, _mm_store_pd): Use plain dereference.
+ 	(_mm_load_si128, _mm_store_si128): Likewise.
+ 	(_mm_load1_pd): Use _mm_set1_pd.
+ 	(_mm_load_sd): Use _mm_set_sd.
+ 	(_mm_store_sd, _mm_storeh_pd): Use __builtin_ia32_vec_ext_v2df.
+ 	(_mm_store1_pd, _mm_storer_pd): Use _mm_store_pd.
+ 	(_mm_set_epi64): Use _mm_set_epi64x.
+ 	(_mm_set1_epi64x, _mm_set1_epi64, _mm_set1_epi32, _mm_set_epi16,
+ 	_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
+ 	_mm_setr_epi8): Use _mm_set_foo form.
+ 	(_mm_loadl_epi64, _mm_movpi64_epi64, _mm_move_epi64): Use _mm_set_epi64.
+ 	(_mm_storel_epi64, _mm_movepi64_pi64): Use __builtin_ia32_vec_ext_v2di.
+ 	(_mm_extract_epi16): Use __builtin_ia32_vec_ext_v8hi.
+ 	(_mm_insert_epi16): Use __builtin_ia32_vec_set_v8hi.
+ 	* config/i386/mmintrin.h (_mm_setzero_si64): Use plain cast.
+ 	(_mm_set_pi32): Use __builtin_ia32_vec_init_v2si.
+ 	(_mm_set_pi16): Use __builtin_ia32_vec_init_v4hi.
+ 	(_mm_set_pi8): Use __builtin_ia32_vec_init_v8qi.
+ 	(_mm_set1_pi16, _mm_set1_pi8): Use _mm_set_piN variant.
+ 	* config/i386/pmmintrin.h (_mm_loaddup_pd): Use _mm_load1_pd.
+ 	(_mm_movedup_pd): Use _mm_shuffle_pd.
+ 	* config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss,
+ 	_mm_set1_ps, _mm_set_ps, _mm_setr_ps): Use constructor form.
+ 	(_mm_cvtpi16_ps, _mm_cvtpu16_ps, _mm_cvtpi8_ps, _mm_cvtpu8_ps,
+ 	_mm_cvtps_pi8, _mm_cvtpi32x2_ps): Avoid __builtin_ia32_mmx_zero;
+ 	Use _mm_setzero_ps.
+ 	(_mm_load_ss, _mm_load1_ps): Use _mm_set* form.
+ 	(_mm_load_ps, _mm_loadr_ps): Use raw dereference.
+ 	(_mm_store_ss): Use __builtin_ia32_vec_ext_v4sf.
+ 	(_mm_store_ps): Use raw dereference.
+ 	(_mm_store1_ps): Use _mm_storeu_ps.
+ 	(_mm_storer_ps): Use _mm_store_ps.
+ 	(_mm_extract_pi16): Use __builtin_ia32_vec_ext_v4hi.
+ 	(_mm_insert_pi16): Use __builtin_ia32_vec_set_v4hi.
+ 
+ 2005-01-11  Stan Shebs  <shebs@apple.com>
+ 
+ 	* config/rs6000/rs6000.c (machopic_output_stub): Issue
+ 	ldu instead of lwzu if 64-bit -mdynamic-no-pic.
+ 
+ 2005-01-11  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR target/18761
+ 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
+ 	Skip all DECLs except for FIELD_DECLs.
+ 
+ 2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (override_options): Return error if
+ 	-mbackchain, -mpacked-stack and -mhard-float are used together.
+ 	(s390_va_start): Remove the backchain && packed-stack special case.
+ 	(s390_gimplify_va_arg): Likewise.
+ 	* doc/invoke.texi: Remove the ABI incompatibility note.
+ 
+ 2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct s390_frame_layout): Remove
+ 	save_backchain_p.
+ 	(s390_frame_info, s390_emit_prologue): Replace occurrences of
+ 	save_backchain_p with TARGET_BACKCHAIN.
+ 
+ 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	PR target/18916
+ 	* builtins.c (std_gimplify_va_arg_expr): Adjust alignment of *ap.
+ 	* expr.h (struct locate_and_pad_arg_data): Add "boundary".
+ 	* function.c (locate_and_pad_parm): Set new field.
+ 	(assign_parm_find_stack_rtl): Use it instead of FUNCTION_ARG_BOUNDARY.
+ 	Tweak where_pad test to include "none".  Always set mem align for
+ 	stack_parm.
+ 	(assign_parm_adjust_stack_rtl): Discard stack_parm if alignment
+ 	not sufficient for type.
+ 	(assign_parm_setup_block): If stack_parm is zero on entry, always
+ 	make a new stack local.  Block move old stack parm if necessary
+ 	to new aligned stack local.
+ 	(assign_parm_setup_stack): Use a block move to handle
+ 	potentially misaligned entry_parm.
+ 	(assign_parms_unsplit_complex): Specify required alignment when
+ 	creating stack local.
+ 	* calls.c (compute_argument_addresses): Override alignment of stack
+ 	arg calculated from its type with the alignment given by
+ 	FUNCTION_ARG_BOUNDARY.
+ 	(store_one_arg): Likewise.
+ 
+ 2005-01-11  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/ia64/ia64.md (zero_extendsidi2): Replace zxt4 by addp4.
+ 	Change respective itanium_class attribute to ialu.
+ 	(shladdp4_internal): New.
+ 	* config/ia64/predicates.md (shladd_log2_operand): New.
+ 
+ 2005-01-11  Richard Henderson  <rth@redhat.com>
+ 
+ 	* expr.c (store_constructor): Use rtvec_alloc instead of
+ 	alloca+gen_rtvec_v, and an incorrect number passed to alloca.
+ 
+ 2005-01-11  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* config/alpha/alpha.c, config/i386/mmx.md: Fix comment typos.
+ 
+ 2005-01-11  Alan Modra  <amodra@bigpond.net.au>
+ 
+ 	* varasm.c (default_section_type_flags_1): Don't set SECTION_SMALL.
+ 	* config/ia64/ia64.c (TARGET_SECTION_TYPE_FLAGS): Define.
+ 	(TARGET_RWRELOC): Define.
+ 	(ia64_rwreloc_section_type_flags): Delete.
+ 	(ia64_section_type_flags): New function.
+ 	* config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): Don't define.
+ 	(TARGET_RWRELOC): Define.
+ 
+ 2005-01-10  David Mosberger  <davidm@hpl.hp.com>
+ 
+ 	PR target/18987
+ 	* config/ia64/ia64.c (process_set): For alloc insn, only call
+ 	process_epilogue is !frame_pointer_needed.
+ 
+ 2005-01-10  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR c++/19355
+ 	* c-common.c (c_common_truthvalue_conversion): TRUTH_NOT_EXPR is a
+ 	unary operator and can't be treated as a binary/comparison operator.
+ 
+ 2005-01-10  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (ix86_function_value): Use type_natural_mode.
+ 	(ix86_return_in_memory): Likewise.
+ 	(function_arg_advance):  Likewise.  Mirror structure in function_arg
+ 	for choosing register to advance.
+ 
+ 2005-01-10  Kazu Hirata  <kazu@cs.umass.edu>
+ 
+ 	* tree-vectorizer.c, tree.def: Fix comment typos.
+ 
+ 2005-01-10  Mark Dettinger  <dettinge@de.ibm.com>
+ 
+ 	* config/s390/s390.c (struct processor_costs): 4 new fields:
+ 	ddbr, ddr, debr, der.
+ 	(s390_rtx_costs): More precise handling of divide instructions.
+ 
+ 2005-01-10  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/rs6000/t-aix43 (BOOT_LDFLAGS): Define.
+ 
+ 2005-01-10  Jan Beulich  <jbeulich@novell.com>
+ 
+ 	* config/ia64/ia64.c (ia64_in_small_data_p): Also handle the section
+ 	names resulting from -ffunction-sections/-fdata-sections and linkonce
+ 	ones.
+ 	* varasm.c (default_section_type_flags_1): Also set SECTION_SMALL
+ 	based on the section name. Rearrange the section name comparison logic
+ 	slightly so that each section name is compared against at most once.
+ 
+ 2005-01-10  Ben Elliston  <bje@au.ibm.com>
+ 
+ 	* doc/invoke.texi (Code Gen Options): Add PowerPC to the list of
+ 	targets for which -fPIC reduces limitations on the GOT size.
+ 
+ 2005-01-09  Falk Hueffner  <falk@debian.org>
+ 
+ 	* fold-const.c (fold): Also handle EXACT_DIV_EXPR when folding
+ 	X/C1 cmpop C2.
+ 
+ 2005-01-09  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/18720
+ 	* collect2.c (main): Set aixrtl_flag for -brtl option.
+ 	(resolve_lib_name): Search for .so file extension before .a
+ 	if aixrtl_flag set.
+ 
+ 2005-01-09  Dorit Naishlos  <dorit@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_enhance_data_refs_alignment): Add dump prints.
+ 	(vect_analyze_data_refs_alignment): Add dump prints.
+ 
+ 2005-01-09  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_offset_expr): Use
+ 	expr_invariant_in_loop_p.
+ 	Initialize outputs first thing in the function.
+ 	(vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
+ 	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
+ 	(vect_analyze_pointer_ref_access): Check that the initial condition of
+ 	the access function is loop invariant.
+ 
+ 2005-01-09  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.c (bdesc_2arg): Update names for mmx_ prefixes.
+ 	(ix86_expand_builtin): Likewise.  Frob MASKMOVQ wrt the input mem
+ 	just like MASKMOVDQU.  Return plain zero for MMX_ZERO.
+ 	* config/i386/i386.md (MMXMODEI, mov<MMXMODEI>,
+ 	mov<MMXMODEI>_internal_rex64, mov<MMXMODEI>_internal, movv2sf,
+ 	movv2sf_internal_rex64, movv2sf_internal, MMXMODE,
+ 	movmisalign<MMXMODE>, mmx_pmovmskb, mmx_maskmovq, mmx_maskmovq_rex,
+ 	sse_movntdi, addv8qi3, addv4hi3, addv2si3, mmx_adddi3, ssaddv8qi3,
+ 	ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3, subv4hi3, subv2si3,
+ 	mmx_subdi3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
+ 	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
+ 	sse2_umulsidi3, mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3,
+ 	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pinsrw,
+ 	mmx_pextrw, mmx_pshufw, eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3,
+ 	gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
+ 	ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
+ 	mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
+ 	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
+ 	mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
+ 	eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
+ 	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
+ 	pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3, pmulhrwv4hi3, pswapdv2si2,
+ 	pswapdv2sf2): Move to mmx.md; rename as necessary with leading
+ 	mmx_ prefix.
+ 	(mmx_clrdi, pavgusb): Remove.
+ 	(ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
+ 	with leading sse_ prefix.
+ 	* config/i386/sse.md: Receive them.
+ 	* config/i386/mmx.md: New file.
+ 	(MMXMODE12, MMXMODE24, mmxvecsize): New.
+ 	(subrv2sf3): Turn into expander for normal subtraction.
+ 	(mmx_addv2sf3, mmx_mulv2sf3, mmx_smaxv2sf3, mmx_sminv2sf3,
+ 	mmx_eqv2sf3, mmx_mulv4hi3, mmx_smulv4hi3_highpart,
+ 	mmx_umulv4hi3_highpart, mmx_pmaddwd, mmx_pmulhrwv4hi3, sse2_umulsidi3,
+ 	mmx_umaxv8qi3, mmx_smaxv4hi3, mmx_uminv8qi3, mmx_sminv4hi3): Mark
+ 	commutative; use ix86_binary_operator_ok.
+ 	(mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
+ 	mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
+ 	mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
+ 	mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
+ 	mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
+ 	Macroize from existing patterns; use ix86_binary_operator_ok.
+ 	(mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
+ 	(mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
+ 	mmx_punpckhdq, mmx_punpckhdq, mmx_punpckldq): Likewise.  Model
+ 	with vec_select+vec_concat.
+ 	(mmx_pshufw, mmx_pshufw_1): Likewise.
+ 	(mmx_uavgv8qi3): Merge pavgusb.  Model correcty.
+ 	(mmx_uavgv4hi3): Model correctly.
+ 	* config/i386/mmintrin.h (_mm_and_si64, _mm_andnot_si64, _mm_or_si64,
+ 	_mm_xor_si64): Remove casts.
+ 
+ 2005-01-09  Zdenek Dvorak  <dvorakz@suse.cz>
+ 
+ 	PR tree-optimization/19224
+ 	* tree-scalar-evolution.c (get_instantiated_value,
+ 	set_instantiated_value): New functions.
+ 	(instantiate_parameters_1): Cache the results.
+ 	(instantiate_parameters, resolve_mixers): Initialize and free
+ 	the cache.
+ 
+ 2005-01-08  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	* config/i386/i386.md (addhi_4): Correct reference in comment.
+ 	(addqi_4): Same.
+ 
+ 2005-01-08  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/emmintrin.h (_mm_cvtsi128_si32): Move earlier.
+ 	(_mm_cvtsi128_si64x): Likewise.
+ 	(_mm_srl_epi64, _mm_srl_epi32, _mm_srl_epi16, _mm_sra_epi32,
+ 	_mm_sra_epi16, _mm_sll_epi64, _mm_sll_epi32, _mm_sll_epi16): Use
+ 	the _mm_{srl,sll}i_foo counterpart, and _mm_cvtsi128_si32.
+ 	* config/i386/i386-modes.def: Add V16HI, V32QI, V4DF, V8SF.
+ 	* config/i386/i386-protos.h: Update.
+ 	* config/i386/i386.c (print_operand): Add 'H'.
+ 	(ix86_fixup_binary_operands): Split out from ...
+ 	(ix86_expand_binary_operator): ... here.
+ 	(ix86_fixup_binary_operands_no_copy): New.
+ 	(ix86_expand_fp_absneg_operator): Handle vector mode results.
+ 	(bdesc_2arg): Update names for sse{,2,3}_ prefixes.
+ 	(ix86_init_mmx_sse_builtins): Remove *maskncmp* special cases.
+ 	(safe_vector_operand): Use CONST0_RTX.
+ 	(ix86_expand_binop_builtin): Use ix86_fixup_binary_operands.
+ 	(ix86_expand_builtin): Merge CODE_FOR_sse2_maskmovdqu_rex64 and
+ 	CODE_FOR_sse2_maskmovdqu.  Special case SSE version of MASKMOVDQU
+ 	expansion.  Update names for sse{,2,3}_ prefixes.  Remove *maskncmp*
+ 	special cases.
+ 	* config/i386/i386.h (IX86_BUILTIN_CMPNGTSS): New.
+ 	(IX86_BUILTIN_CMPNGESS): New.
+ 	* config/i386/i386.md (UNSPEC_FIX_NOTRUNC): New.
+ 	(attr type): Add sselog1.
+ 	(attr unit, attr memory): Handle it.
+ 	(movti, movti_internal, movti_rex64): Move near other integer moves.
+ 	(movtf, movtf_internal): Move near other fp moves.
+ 	(SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
+ 	vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
+ 	movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
+ 	movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
+ 	sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
+ 	sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
+ 	sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
+ 	mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
+ 	rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
+ 	sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
+ 	sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
+ 	sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
+ 	vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
+ 	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
+ 	cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
+ 	cvttss2siq, addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3,
+ 	vmmulv2df3, divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3,
+ 	vmsminv2df3, sqrtv2df2, vmsqrtv2df2, maskcmpv2df3, vmmaskcmpv2df3,
+ 	sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb, sse2_maskmovdqu,
+ 	sse2_maskmovdqu_rex64, sse2_movntv2df, sse2_movntv2di, sse2_movntsi,
+ 	cvtdq2ps, cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq,
+ 	cvtpd2pi, cvttpd2pi, cvtpi2pd, cvtsd2si, cvtsd2siq, cvttsd2si,
+ 	cvttsd2siq, cvtsi2sd, cvtsi2sdq, cvtsd2ss, cvtss2sd, cvtpd2ps,
+ 	cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3, ssaddv16qi3,
+ 	ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3, subv4si3,
+ 	subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3, mulv8hi3,
+ 	smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
+ 	sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
+ 	sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
+ 	sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
+ 	gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
+ 	ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
+ 	ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
+ 	sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
+ 	sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
+ 	sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
+ 	sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
+ 	sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
+ 	sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
+ 	sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
+ 	mfence_insn, sse2_lfence, lfence_insn, mwait, monitor, addsubv4sf3,
+ 	addsubv2df3, haddv4sf3, haddv2df3, hsubv4sf3, hsubv2df3, movshdup,
+ 	movsldup, lddqu, loadddup, movddup): Move to sse.md.  Any with
+ 	non-optabs meanings renamed with an "sse{,2,3}_" prefix at the
+ 	same time.
+ 	(SSEPUSH, push<SSEPUSH>): Remove.
+ 	(MMXPUSH, push<MMXPUSH>): Remove.
+ 	(sse_movaps, sse_movaps_1, sse_movups): Remove.
+ 	(sse2_movapd, sse2_movdqa, sse2_movq): Remove.
+ 	(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Remove.
+ 	(sse_clrv4sf, sse_clrv2df, sse2_clrti): Remove.
+ 	(maskncmpv4sf3, vmmaskncmpv4sf3): Remove.
+ 	(maskncmpv2df3, vmmaskncmpv2df3): Remove.
+ 	(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti): Remove.
+ 	(lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti): Remove.
+ 	* config/i386/athlon.md (athlon_sselog_load): Handle sselog1.
+ 	(athlon_sselog_load_k8, athlon_sselog, athlon_sselog_k8): Likewise.
+ 	* config/i386/ppro.md (ppro_sse_div_V4SF_load): Fix memory attr.
+ 	(ppro_sse_log_V4SF_load): Similarly.  Handle sselog1.
+ 	(ppro_sse_log_V4SF): Handle sselog1.
+ 	* config/i386/predicates.md (const_0_to_1_operand): New.
+ 	(const_0_to_255_mul_8_operand): New.
+ 	(const_1_to_31_operand): Rename from const_int_1_31_operand.
+ 	(const_2_to_3_operand, const_4_to_7_operand): New.
+ 	* config/i386/sse.md: New file.
+ 	(SSEMODE12, SSEMODE24, SSEMODE124, SSEMODE248, ssevecsize): New.
+ 	(sse_movups): Rename from sse_movups_1.
+ 	(sse_loadlss): Rename from sse_loadss_1.
+ 	(andv4sf3, iorv4sf3, xorv4sf3, andv2df3): Remove the sse prefix
+ 	from the name.
+ 	(negv4sf2): Use ix86_expand_fp_absneg_operator.
+ 	(absv4sf2, negv2df, absv2df): New.
+ 	(addv4sf3): Add expander to call ix86_fixup_binary_operands_no_copy.
+ 	(subv4sf3, mulv4sf3, divv4sf3, smaxv4sf3, sminv4sf3, andv4sf3,
+ 	iorv4sf3, xorv4sf3, addv2df3, subv2df3, mulv2df3, divv2df3,
+ 	smaxv2df3, sminv2df3, andv2df3, iorv2df3, xorv2df3, mulv8hi3,
+ 	umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3): Likewise.
+ 	(sse3_addsubv4sf3): Model correctly.
+ 	sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
+ 	sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
+ 	(sse_movhlps): Model with vec_select+vec_concat.
+ 	(sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
+ 	sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
+ 	sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
+ 	sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
+ 	sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
+ 	sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
+ 	sse2_pshufhw_1): Likewise.
+ 	(neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
+ 	(add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
+ 	sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
+ 	ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
+ 	sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
+ 	ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
+ 	(addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
+ 	sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
+ 	mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
+ 	sse2_vmsminv2df3, umaxv16qi3, smaxv8hi3, uminv16qi3
+ 	sminv8hi3): Mark commutative
+ 	operands.  Use ix86_binary_operator_ok.
+ 	(sse_unpckhps, sse_unpcklps, sse2_packsswb, sse2_packssdw,
+ 	sse2_packuswb, sse2_punpckhbw, sse2_punpcklbw, sse2_punpckhwd,
+ 	sse2_punpcklwd, sse2_punpckhdq, sse2_punpckldq, sse2_punpckhqdq,
+ 	sse2_punpcklqdq): Allow operand2 in memory.
+ 	(sse_movhlps, sse_movlhps, sse2_unpckhpd, sse2_unpcklpd
+ 	sse2_movsd): Add memory alternatives.
+ 	(sse_storelps): Turn expander into an insn; split after reload.
+ 	(sse_storess, sse2_loadhpd, sse2_loadlpd): Add non-xmm inputs.
+ 	(sse2_storehpd, sse2_storelpd): Add non-xmm outputs.
+ 
+ 2005-01-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* configure.ac (DWARF-2 debug_line): Use objdump.
+ 	* configure: Regenerate.
+ 
+ 2005-01-08  Jeff Law  <law@redhat.com>
+ 	    Diego Novillo  <dnovillo@redhat.com>
+ 
+ 	PR tree-optimization/18241
+ 	* tree-nrv.c (tree_nrv): Ignore volatile return values.
+ 	* tree-ssa-dse.c (dse_optimize_stmt): Do not optimize
+ 	statements with volatile operands.
+ 	* tree-ssa-operands.c (add_stmt_operand): Do add volatile
+ 	operands after marking a statement with has_volatile_ops.
+ 
+ 2005-01-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (int_fits_type_p): Always honor integer constant
+ 	TYPE_MIN_VALUE and TYPE_MAX_VALUE if they exist.
+ 
+ 2005-01-08  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (find_if_case_1): Reinstate 2005-01-04 change, now that
+ 	the latent bug in rtl_delete_block has been resolved.
+ 
+ 2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/t-iris6 (MULTILIB_DIRNAMES): Use -mabi argument values.
+ 	(MULTILIB_OSDIRNAMES): Use the standard lib, lib32 and lib64.
+ 
+ 2005-01-08  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Install a copy of the
+ 	library as @multilib_dir@/$(SHLIB_SONAME).
+ 
+ 2005-01-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
+ 	* configure: Regenerate.
+ 
+ 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	* c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
+ 	TYPE_MODE.
+ 
+ 2005-01-07  David Edelsohn  <edelsohn@gnu.org>
+ 
+ 	PR target/13674
+ 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
+ 	Convert non-word aligned offset address using ld/std into
+ 	indirect address.
+ 
+ 2005-01-07  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/i386/i386.md (sse_loadhps splitter): Fix operand number typo.
+ 
+ 2005-01-07  Richard SAndiford  <rsandifo@redhat.com>
+ 
+ 	* tree.h (IS_EXPR_CODE_CLASS): Use a straight-forward range check.
+ 
+ 2005-01-07  Jakub Jelinek  <jakub@redhat.com>
+ 
+ 	PR tree-optimization/19283
+ 	* fold-const.c (fold_widened_comparison): Return NULL if shorter_type
+ 	is not shorter than the original type.
+ 
+ 	PR rtl-optimization/19012
+ 	* config/i386/i386.md (addqi_1_slp): Set memory attribute.
+ 
+ 	PR rtl-optimization/18861
+ 	* cfgbuild.c (BLOCK_USED_BY_TABLEJUMP): Define.
+ 	(FULL_STATE): Define.
+ 	(mark_tablejump_edge): New function.
+ 	(purge_dead_tablejump_edges): New function.
+ 	(find_bb_boundaries): Use it.
+ 
+ 	PR tree-optimization/18828
+ 	* builtins.c (expand_builtin_next_arg): Remove argument and all
+ 	the argument checking.
+ 	(expand_builtin): Adjust caller.
+ 	(expand_builtin_va_start): Likewise.  Remove error for too many
+ 	arguments.
+ 	(fold_builtin_next_arg): Issue error for too many arguments.
+ 	After checking arguments, replace them with magic arguments that
+ 	prevent further checking of the args.
+ 
+ 2005-01-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+ 
+ 	* pa64-hpux.h (STARTFILE_SPEC): Fix typo in spec.
+ 
+ 2005-01-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR target/6077
+ 	* gcc.c (input_suffix_matches): Tweak the semantics of %{.s:...}
+ 	and %{.S:...} (and their negative variants) to test whether the
+ 	input file is assembler or pre-processed-assembler independent of
+ 	the actual filename extension.
+ 
+ 2005-01-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* simplify-rtx.c (simplify_subreg): Simplify truncations of shifts
+ 	of sign or zero extended values.
+ 
+ 2005-01-06  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* c-cppbuiltin.c (builtin_define_float_constants): Set __*_EPSILON__
+ 	for IBM long double format correctly.
+ 
+ 2005-01-06  Daniel Berlin <dberlin@dberlin.org>
+ 
+ 	Fix PR tree-optimization/18792
+ 
+ 	* tree-data-ref.c (build_classic_dist_vector): Change first_loop
+ 	to first_loop_depth, and use loop depth instead of loop number.
+ 	(build_classic_dir_vector): Ditto.
+ 	(compute_data_dependences_for_loop): Use depth, not loop number.
+ 	* tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
+ 	number. Pass in loops, instead of loop numbers.
+ 	(gather_interchange_stats): Ditto.
+ 	(linear_transform_loops): Ditto.
+ 
+ 2005-01-06  Richard Sandiford  <rsandifo@redhat.com>
+ 
+ 	PR rtl-opt/13299
+ 	* loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
+ 	biv_fits_mode_p, extension_within_bounds_p): New functions.
+ 	(check_ext_dependent_givs): Use them.
+ 
+ 2005-01-06  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* cfgrtl.c (rtl_delete_block): A basic block may be followed by
+ 	more than one barrier, in which case we should delete them all.
+ 
+ 2005-01-06  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+ 
+ 	* gcc.c (process_command): Change year in 'gcc --version' to 2005.
+ 
+ 2005-01-05  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR middle-end/19286
+ 	Fix PR debug/19267
+ 	* dwarf2out.c (gen_subprogram_die): If we've already tried to
+ 	output this subprogram, simply ignore this attempt to do it again.
+ 	(add_abstract_origin_attribute): Don't abort trying to add the abstract
+ 	origin attribute if it's not possible.
+ 	(gen_block_die): Don't ignore subblocks of "unused" blocks.
+ 	(decls_for_scope): Ditto.
+ 	* gimple-low.c (mark_blocks_with_used_subblocks): Remove.
+ 	(mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
+ 
+ 2005-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/11327
+ 	* config/i386/i386.c (BUILTIN_DESC_SWAP_OPERANDS): New.
+ 	(bdesc_2arg): Use it.
+ 	(ix86_expand_binop_builtin): Force operands into registers
+ 	when optimizing.
+ 	(ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
+ 	ix86_expand_sse_compare, ix86_expand_sse_comi,
+ 	ix86_expand_builtin): Likewise.
+ 
+ 2005-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (rtx_needs_barrier): Handle CONST_VECTOR
+ 	and VEC_SELECT.
+ 	* config/ia64/vect.md (mulv8qi3): Re-implement with mix_[rl].
+ 	(mulv4hi3): Set itanium_class mmmul.
+ 	(fpack_sfxf, fpack_xfsf, fpack_xfxf): Remove.
+ 	(fpack): Rename from fpack_sfsf.
+ 
+ 2005-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR rtl-opt/10692
+ 	* reload1.c (do_input_reload): Restrict the optimization deleteing
+ 	a previous output reload to RELOAD_FOR_INPUT.
+ 
+ 2005-01-05  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* combine.c (expand_compound_operation)  <ZERO_EXTRACT>: Add
+ 	comment that we fall through after case.
+ 	(mark_used_regs_combine): Don't expect a SIGN_EXTRACT in a SET_DEST.
+ 	(distribute_links): Likewise.
+ 	* cse.c (cse_insn): Likewise.
+ 	* cselib.c (cselib_invalidate_mem): Likewise.
+ 	* df.c: Update comments at the top of the file.
+ 	(read_modify_subreg_p): Update comments here too.
+ 	(df_def_record_1): Don't expect a SIGN_EXTRACT in a SET_DEST.
+ 	* flow.c (mark_set_1): Likewise.
+ 	(mark_used_regs): Likewise.
+ 	* gcse.c (mems_conflict_for_gcse_p): Likewise.
+ 	(canon_list_insert): Likewise.
+ 	(mark_set): Likewise.
+ 	(try_replace_reg): Likewise.
+ 	(store_killed_in_insn): Likewise.
+ 	* loop.c (count_one_set): Likewise.
+ 	(basic_induction_var): Likewise.
+ 	* postreload-gcse.c (find_mem_conflicts): Likewise.
+ 	* postreload.c (reload_combine_note_store): Likewise.
+ 	(move2add_note_store): Likewise.
+ 	* reload.c (find_equiv_reg): Likewise.
+ 	(mark_referenced_resources): Likewise.
+ 	* rtlanal.c (set_noop_p): Likewise.
+ 	(note_stores): Likewise.
+ 	(note_uses): Likewise.
+ 	* sched-deps.c (sched_analyze_1): Likewise.
+ 	* sched-rgn.c (check_live_1): Likewise.
+ 	(update_live_1): Likewise.
+ 	* config/i860/i860.c: Likewise.
+ 
+ 	* rtl.dec (SIGN_EXTRACT): Document that this cannot appear as
+ 	an lvalue.
+ 	(ZERO_EXTRACT): Mention that this one can be an lvalue.
+ 
+ 	* doc/rtl.texi: Update documentation for bit-fields and SET.
+ 
+ 2005-01-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (find_if_case_1): Revert 2005-01-04 change.
+ 
+ 2005-01-05  Jan Hubicka  <jh@suse.cz>
+ 	    Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/18910
+ 	* config/i386/i386.c (ix86_expand_move): Handle tls symbols
+ 	with an offset.
+ 
+ 2005-01-05  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/12902
+ 	* config/i386/i386.md (sse_movhps, sse_movlps): Remove.
+ 	(sse_shufps): Change operand 3 to const_int_operand.
+ 	(sse2_storelps): Fix typo in template.
+ 	(sse_storehps, sse_loadhps, sse_storelps, sse_loadlps): New.
+ 	* config/i386/i386.c (ix86_expand_vector_move_misalign): Use them.
+ 	(ix86_expand_builtin): Likewise.
+ 
+ 2005-01-05  Julian Brown  <julian@codesourcery.com>
+ 
+ 	* config/arm/arm.c (arm_return_in_memory): Treat complex types
+ 	as aggregates for AAPCS ABIs.
+ 
+ 2005-01-05  Stan Shebs  <shebs@apple.com>
+ 
+ 	* unwind-dw2-fde-darwin.c (examine_objects): Use 64-bit
+ 	Mach-O getters if ppc64.
+ 	* config/darwin.c (darwin_asm_output_dwarf_delta): Obey
+ 	size argument.
+ 	* config/darwin.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
+ 	signed four-byte field for global code case.
+ 	(STARTFILE_SPEC): Avoid crt2.o for 64-bit compilation.
+ 
+ 2005-01-05  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	PR middle-end/19100
+ 	* c-common.c: Include real.h.
+ 	(c_common_truthvalue_conversion): Avoid destructively modifying expr.
+ 	Correctly handle TREE_CONSTANT_OVERFLOW for INTEGER_CST.
+ 	Correctly handle TREE_CONSTANT_OVERFLOW and NaNs for REAL_CST.
+ 	* Makefile.in (c-common.o): Update dependencies.
+ 
+ 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-parse.in (asm_string): Add trailing semicolon.
+ 
+ 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-parse.in (asm_string): New.  Don't allow wide strings in
+ 	'asm'.
+ 	(simple_asm_expr, asm_argument, asm_operand, asm_clobbers): Use
+ 	asm_string instead of STRING.
+ 
+ 2005-01-05  Joseph S. Myers  <joseph@codesourcery.com>
+ 
+ 	* c-typeck.c (constructor_no_implicit): Remove.
+ 	(set_designator, process_init_element): Don't check
+ 	constructor_no_implicit.
+ 
+ 2005-01-05  J"orn Rennecke <joern.rennecke@st.com>
+ 	    Kaz Kojima  <kkojima@gcc.gnu.org>
+ 
+ 	PR target/16482
+ 	* lcm.c (create_pre_exit): New.
+ 	(optimize_mode_switching): In MODE_ENTRY / MODE_EXIT case, set
+ 	ENTRY_EXIT_EXTRA to 3.  Use create_pre_exit.
+ 
+ 2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm.h (TARGET_OPTIONS): Correctly record -mhard-float and
+ 	-msoft-float in target_float_switch.
+ 	* arm.c (arm_override_options): Fix processing of target_float_switch.
+ 
+ 2004-01-05  Richard Earnshaw  <rearnsha@arm.com>
+ 
+ 	* arm/vfp.md (arm_movsi_vfp): Hide VFP register classes from register
+ 	preferencing.
+ 
+ 2004-01-05  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
+ 	Replace i387 with 'i386 compiler' in -mfpmath=sse option.
+ 
+ 2005-01-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* ifcvt.c (find_if_case_1): Avoid creating an empty forwarder block,
+ 	if deleting the then-block allows the test-block to fallthru to the
+ 	else-block.
+ 
+ 2005-01-04  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR c/19152
+ 	* c-decl.c (diagnose_mismatched_decls): Accept "extern inline" declared
+ 	after the full declaration if the are in two different TUs.
+ 
+ 2005-01-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR tree-opt/19158
+ 	* tree-sra.c (generate_one_element_init): Just
+ 	call gimplify_and_add.
+ 	(generate_element_init): Record the
+ 	new referenced variables and mark them for renaming
+ 	and split out to ...
+ 	(generate_element_init_1): This.
+ 	(scalarize_init): Don't call push_gimplify_context/
+ 	pop_gimplify_context.
+ 
+ 2005-01-04  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* toplev.c (get_src_pwd): Handle failure of getpwd().
+ 
+ 2005-01-04  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* fold-const.c (fold_single_bit_test): Delete unreachable handling
+ 	of TRUTH_NOT_EXPR.
+ 	(fold): Don't call fold_single_bit_test with a TRUTH_NOT_EXPR, as
+ 	all the cases handled by it are inverted by invert_truthvalue.
+ 
+ 2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.md (save_register_windowdi): Add missing mode.
+ 	(save_register_windowsi): Likewise.
+ 
+ 2005-01-04  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-mudflap.c (mf_varname_tree): Fix thinko setting declname.
+ 
+ 2005-01-04  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR middle-end/17767
+ 	* cse.c (fold_rtx) [RTX_COMPARE, RTX_COMM_COMPARE]: Don't attempt
+ 	any simplifications of vector mode comparison operators.
+ 	* simplify-rtx.c (simplify_relational_operation): Fix variable name.
+ 
+ 2005-01-04  Paolo Bonzini  <bonzini@gnu.org>
+ 	    Devang Patel  <dpatel@apple.com>
+ 
+ 	PR tree-optimization/18308
+ 	* tree-if-conv.c (add_to_dst_predicate_list): Gimplify
+ 	the operands before creating a new expression.
+ 	* dojump.c (do_jump): Make drop_through_label available
+ 	for all cases.  Add expansion of COND_EXPR.
+ 
+ 2005-01-04  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_offset_expr): Test for
+ 	INTEGER_CST instead of TREE_CONSTANT.
+ 	(vect_gen_niters_for_prolog_loop): Test for INTEGER_CST
+ 	instead of TREE_CONSTANT.
+ 	(vect_analyze_pointer_ref_access): Test for INTEGER_CST
+ 	instead of TREE_CONSTANT.
+ 
+ 2005-01-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* tree-eh.c (replace_goto_queue): Return early if the queue is empty.
+ 
+ 2005-01-04  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/19240
+ 	* config/i386/i386.md (*fop_df_1_i387): Disable for TARGET_SSE_MATH.
+ 	(*fop_df_1_i387): Disable for (TARGET_SSE2 && TARGET_SSE_MATH).
+ 
+ 2005-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* fold-const.c (force_fit_type): Cope with types larger than 2 HWI.
+ 	(fold_convert_const_int_from_int, fold_convert_const_int_from_real,
+ 	fold_convert_const_real_from_real): Split out from ...
+ 	(fold_convert_const): ... here.
+ 
+ 2005-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR target/19235
+ 	* config/i386/i386.md (movdi_2): Separate SSE1 and SSE2 alternatives.
+ 	(mov<MMXMODEI>_internal): Likewise.
+ 	(movdf_nointeger): Prefer Y while not preferring, but allowing, x.
+ 	Add V2SF case; use it for SSE1; don't use TI.
+ 	(movdf_integer): Likewise.
+ 	(mov<SSEMODEI>_internal, movti_internal): Force V4SF for SSE1.
+ 
+ 2005-01-03  Ira Rosen  <irar@il.ibm.com>
+ 
+ 	* tree-vectorizer.c (vect_strip_conversions): New function.
+ 	(vect_analyze_offset_expr): Call vect_strip_conversions. Add
+ 	check for binary class.
+ 
+ 2005-01-03  Daniel Berlin  <dberlin@dberlin.org>
+ 
+ 	Fix PR debug/17924
+ 	Fix PR debug/19191
+ 	* dwarf2out.c (block_ultimate_origin): Follow decl origin if origin
+ 	is a decl.
+ 	* gimple-low.c (mark_blocks_with_used_vars): New function.
+ 	(mark_blocks_with_used_subblocks): Ditto.
+ 	(mark_used_blocks): Ditto.
+ 	(pass_mark_used_blocks): New pass.
+ 	* tree-inline.c: Include debug.h.
+ 	(expand_call_inline): Call outlining_inline_function here.
+ 	* tree-optimize.c (init_tree_optimization_passes): Add
+ 	pass_mark_used_blocks.
+ 	* tree-pass.h (pass_mark_used_blocks): New.
+ 	* Makefile.in (tree-inline.o): Add debug.h dependency.
+ 
+ 2005-01-03  Geoffrey Keating  <geoffk@apple.com>
+ 
+ 	* config/darwin.c (darwin_handle_weak_import_attribute): Permit
+ 	VAR_DECLs to have weak_import attribute.
+ 
+ 	* config/rs6000/darwin-fallback.c: Use 'ucontext_t' rather than
+ 	'struct ucontext'.
+ 
+ 2004-01-03  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	* passes.c (rest_of_compilation): Don't run regmove if only
+ 	flag_expensive_optimizations, require flag_regmove instead.
+ 
+ 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/litecoff.h (TARGET_OS_CPP_BUILTINS): Do not
+ 	register "sparc".
+ 	* config/sparc/sysv4-only.h (TARGET_OS_CPP_BUILTINS): Likewise.
+ 	* config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ 	* config/sparc/sol2-64.h (TARGET_SUB_OS_CPP_BUILTINS): Delete.
+ 	* config/sparc/sp64-elf.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ 
+ 2005-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* config/ia64/ia64.c (TARGET_VECTOR_MODE_SUPPORTED_P): New.
+ 	(ia64_const_ok_for_letter_p): New.
+ 	(ia64_const_double_ok_for_letter_p): New.
+ 	(ia64_extra_constraint): New.
+ 	(ia64_expand_vecint_compare): New.
+ 	(ia64_expand_vcondu_v2si): New.
+ 	(ia64_expand_vecint_cmov): New.
+ 	(ia64_expand_vecint_minmax): New.
+ 	(ia64_print_operand): Add 'v'.
+ 	(ia64_preferred_reload_class): New.
+ 	(ia64_vector_mode_supported_p): New.
+ 	* config/ia64/ia64.h (UNITS_PER_SIMD_WORD): New.
+ 	(PREFERRED_RELOAD_CLASS): Move to function.
+ 	(CONST_OK_FOR_LETTER_P): Move to function.
+ 	(CONST_DOUBLE_OK_FOR_LETTER_P): Move to function.
+ 	(CONSTRAINT_OK_FOR_Q, CONSTRAINT_OK_FOR_R): Remove.
+ 	(CONSTRAINT_OK_FOR_S, CONSTRAINT_OK_FOR_T): Remove.
+ 	(EXTRA_CONSTRAINT): Move to function.
+ 	* config/ia64/ia64.md: Include vect.md.
+ 	(itanium_class): Add mmalua.
+ 	(type): Handle it.
+ 	* config/ia64/itanium1.md (1_mmalua): New.  Add it to bypasses.
+ 	(1b_mmalua): New.
+ 	* config/ia64/itanium2.md (2_mmalua, 2b_mmalua): Similarly.
+ 	* config/ia64/predicates.md (gr_reg_or_0_operand): Accept any
+ 	CONST0_RTX.
+ 	(const_int_2bit_operand): New.
+ 	(fr_reg_or_0_operand): New.
+ 	* config/ia64/ia64-modes.def: Add vector modes.
+ 	* config/ia64/ia64-protos.h: Update.
+ 	* config/ia64/vect.md: New file.
+ 
+ 2005-01-03  Richard Henderson  <rth@redhat.com>
+ 
+ 	* simplify-rtx.c (simplify_binary_operation): Handle VEC_CONCAT.
+ 
+ 2005-01-03  Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/19236
+ 	* config/i386/i386.c (log1psf2): Change mode of operands[0,1]
+ 	to SFmode.
+ 	(log1pdf2): Change mode of operands[0,1] to DFmode.
+ 
+ 2005-01-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+ 
+ 	* config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Define to false.
+ 	* config/sparc/linux.h (SPARC_RELAXED_ORDERING): Define to true.
+ 	* config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
+ 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define to
+ 	SPARC_RELAXED_ORDERING.
+ 
+ 2005-01-03  Richard Henderson  <rth@redhat.com>
+ 	    Uros Bizjak  <uros@kss-loka.si>
+ 
+ 	PR target/14631
+ 	* config/i386/i386.c (ix86_expand_builtin): [IX86_BUILTIN_PINSRW,
+ 	IX86_BUILTIN_PINSRW128]: Fix wrong selector range in error message.
+ 	* config/i386/i386.md (mmx_pinsrw, sse2_pinsrw): Fix selector
+ 	handling.
+ 	(*mmx_pinsrw, *sse2_pinsrw): New patterns.
+ 	* config/i386/i386/predicates.md (const_pow2_1_to_8_operand,
+ 	const_pow2_1_to_128_operand): New predicates.
+ 
+ 2005-01-02  Greg McGary  <greg@mcgary.org>
+ 
+ 	* tree-mudflap.c (mf_varname_tree): decl_printable_name handles
+ 	anonymous decls.
+ 	(mf_xform_derefs_1) [RESULT_DECL, STRING_CST]: Handle as innermost
+ 	object.  [ptr_type]: Remove unused variable.
+ 	Remember nearest addressable array-element or record-component
+ 	when checking bitfield components.  Tolerate empty BIND_EXPR.
+ 
+ 2005-01-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	* tree-vectorizer.c (vect_analyze_offset_expr): Strip conversions
+ 	that don't narrow the value.  Fail for other conversions.
+ 
+ 2005-01-01  Richard Henderson  <rth@redhat.com>
+ 
+ 	PR c/19031
+ 	* c-decl.c (pop_file_scope): Call maybe_apply_pending_pragma_weaks.
+ 	* c-lang.c (finish_file): Don't do it here.
+ 	* objc/objc-act.c (objc_finish_file): Likewise.
+ 
+ 	* cgraph.c (decl_assembler_name_equal): New.
+ 	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): New.
+ 	(cgraph_varpool_node): Actually link up cgraph_varpool_nodes.
+ 	* cgraph.h (struct cgraph_varpool_node): Add next.
+ 	(cgraph_node_for_asm, cgraph_varpool_node_for_asm): Declare.
+ 	* varasm.c (assemble_alias): Mark the target as needed.
+ 
+ 2005-01-01  Andrew Pinski  <pinskia@physics.uc.edu>
+ 
+ 	PR middle-end/19221
+ 	* function.c (get_arg_pointer_save_area): Use entry_of_function
+ 	instead of get_insns.
+ 
+ 2005-01-01  Roger Sayle  <roger@eyesopen.com>
+ 	    Andrew Pinski  <pinskia@physics.uc.edu>
+ 	    James E. Wilson  <wilson@specifixinc.com>
+ 
+ 	PR rtl-optimization/12092
+ 	* loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
+ 	is zero.
+ 
+ 2005-01-01  Roger Sayle  <roger@eyesopen.com>
+ 	    Olivier Hainque  <hainque@act-europe.fr>
+ 
+ 	* tree.c (int_fits_type_p): A narrower type always fits in a
+ 	wider one, except for negative values into unsigned types.
+ 
+ 2005-01-01  Roger Sayle  <roger@eyesopen.com>
+ 
+ 	* tree.c (int_fits_type_p): Compare the result of force_fit_type
+ 	with the original constant rather than require TREE_OVERFLOW.
+ 
+ 2005-01-01  Steven Bosscher  <stevenb@suse.de>
+ 
+ 	PR middle-end/17544
+ 	* c-decl.c (finish_function): If compiling C99, annotate the
+ 	compiler generated return with the current file name and line 0.
+ 	* tree-cfg.c (remove_useless_stmts_warn_notreached): Only warn if
+ 	the source line is greater than 0.
+ 	(remove_bb): Likewise.
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.0 gcc-4.1.0/gcc/ChangeLog.0
*** gcc-4.0.2/gcc/ChangeLog.0	Sun Sep 22 02:03:12 2002
--- gcc-4.1.0/gcc/ChangeLog.0	Thu Jan  1 00:00:00 1970
***************
*** 1,13011 ****
- Tue Jul 14 02:20:38 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump to avoid problems with old spec files during
- 	bootstrap.
- 
- Mon Jul 13 23:11:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (output_scc_insn): Enclose || conditions in
- 	parens while walking over notes.
- 	* config/sparc/sparc.md (reg movdi split): Clean up matching
- 	conditions.
- 	(all DI arithop splits on 32-bit): Handle immediate arguments
- 	correctly when they are CONST_INTs.
- 
- Mon Jul 13 23:57:21 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
- 
- 	* m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
- 	-m68020-40, -m68020-60 and -m5200.
- 
- Mon Jul 13 23:52:05 1998  Weiwen Liu  <weiwen.liu@yale.edu>
- 
- 	* gcc.c (do_spec_1): Fix %O handling for secure temporary file
- 	creation.
- 
- Mon Jul 13 23:42:36 1998  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
- 
- 	* sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
- 
- Mon Jul 13 23:36:08 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs.
- 	(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them.
- 	(EXTRA_SPECS): Support them.
- 	* gcc.c: Delete %[spec] support.
- 	(do_spec_1, case '('): Likewise.
- 	(do_spec_1, case '['): Call error.
- 	* i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h,
- 	linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h,
- 	sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete
- 	%[cpp_cpu].
- 
- Mon Jul 13 23:31:04 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* m68k.c (output_scc_di): Use cmpw #0 only for address registers.
- 
- Mon Jul 13 23:26:43 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tree.h (tree_common): Note front-end dependencies on layout of
- 	this structure.
- 
- Mon Jul 13 23:18:39 1998  Craig Burley  <burley@gnu.org>
- 
- 	* stmt.c (expand_expr_stmt): If not assigning fresh
- 	value to last_expr_value, zero it, so old garbage
- 	doesn't get dereferenced.
- 
- Mon Jul 13 23:06:55 1998  Henning.Petersen@t-online.de  (Henning Petersen)
- 
- 	* gcse.c (hash_scan_insn): Add missing argument declaration.
- 
- Mon Jul 13 18:59:13 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove
- 	HAVE_INTTYPES_H from xm_defines.  Define xm_file to mips/xm-iris5.h.
- 	* mips/xm-iris5.h (USG): Delete.
- 
- Mon Jul 13 17:18:47 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* cccp.c (main): Add support for parsing --help.
- 	(display_help): New function: display command line switches.
- 
- 	* cpplib.c (cpp_handle_option): Add support for parsing --help.
- 	(display_help): New function: display command line switches.
- 
- 	* gcc.c (main): Add support for parsing --help, and passing it on
- 	to the sub-processes invoked by gcc.
- 	(display_help): New function: display command line switches.	
- 
- 	* tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
- 	'description' field added to structure.
- 
- 	* toplev.c: Add support for parsing --help.
- 	Add documentation strings to command line option tables.
- 	(display_help): New function: display comman line switches.
- 
- Mon Jul 13 16:15:10 1998  John Carr  <jfc@mit.edu>
- 
- 	* sparc.c, sparc.h, sparc.md: New trampoline code.
- 	Allow integer operand 1 to V8+ DImode shift instructions.
- 	Fix bugs in V8+ wide multiply patterns.
- 	In 32 bit mode, split DImode register moves and logical instructions.
- 	Write V9 branch prediction flag.
- 	Use V9 conditional move more often for scc.
- 
- Mon Jul 13 15:10:09 1998  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* invoke.texi(-fno-builtin): Explain that the names of built-in
- 	functions begin with `__builtin_', not `__'.
- 
- Mon Jul 13 19:01:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT.
- 
- Mon Jul 13 10:50:17 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff.
- 	(cplus_demangle_opname): Initialize work.
- 	(demangle_template): Remove is_java_array.
- 	(do_type): Remove DMGL_JAVA stuff.
- 	(long_options): Remove "java".
- 	(main): Remove 'j' option.
- 
- Mon Jul 13 10:19:00 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS.
- 	Handle 'x' as NO_REGS for this cpu.
- 	(REGNO_OK_FOR_BIT_BASE_P): Define.
- 	(REG_OK_FOR_BIT_BASE_P): Define.
- 	(GO_IF_LEGITIMATE_ADDRESS): Use them.
- 	(REG_OK_FOR_INDEX_P): Tweak.
- 	* mn13000.c (REG_SAVE_BYTES): Define.
- 	(expand_epilogue, initial_offset): Use it.
- 	(secondary_reload_class): Slightly reformat.
- 	(output_tst): Tweak comments.
- 	* mn10300.md: Change 'x' to 'y' for SP_REGS.  Then add 'x' to many
- 	patterns.
- 	(addsi3): Turn into a define_expand/define_insn pair.  Rework code for
- 	three operand addition case to be more efficient.
- 	(subsi3): Turn into a define_expand/define_insn pair.
- 
- 	* expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address
- 	is not varying for REFERENCE_TYPE or when we think we might have found
- 	an optimized access to the first element in an array.
- 
- Mon Jul 13 02:24:08 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* regclass.c (reg_scan_mark_refs): New arg min_regno.  Only update
- 	regscan information for REGs with numbers greater than or equal to
- 	this.  All callers changed.
- 	(reg_scan_update): New function to efficiently update regscan
- 	information on the fly.
- 	* rtl.h: Add prototype.
- 	* jump.c (jump_optimize): Call it when we make a transformation
- 	which generates new pseudo-REGs.
- 
- Sun Jul 12 13:08:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* collect2.c (main): Use "-x c" instead of "-lang-c" for force the
- 	compiler into C mode.
- 
- Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* cplus-dem.c (demangle_nested_args): Return a value.
- 
- 	* tree.h (TYPE_P): New macro.
- 
- Sat Jul 11 16:19:48 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cplus-dem.c (string): Move definition before work_stuff.
- 	(work_stuff): Add volatile_type, forgetting_types,
- 	previous_argument, and nrepeats fields.
- 	(SCOPE_STRING): New macro.
- 	(demangle_template): Add `remember' parameter.  Add comment.
- 	Register the `B' code type here, if remembering.  Tidy.  Fix crash
- 	on NULL tmpl_argvec.  Be consistent with use of tname/trawname.
- 	(demangle_nested_args): New function.
- 	(internal_cplus_demangle): Handle volatile-qualified member
- 	functions.
- 	(mop_up): Delete the previous_argument string if present.
- 	(demangle_signature): Tidy.  Handle volatile-qualified member
- 	functions.  Handle back-references using the `B' code.  Use extra
- 	parameter to demangle_template and SCOPE_STRING where appropriate.
- 	(demangle_template_value_parm): Fix thinko; 'B' is not an integral
- 	code.
- 	(demangle_class): Use SCOPE_STRING.
- 	(gnu_special): Pass additional argument to demangle_template.
- 	Use SCOPE_STRING.
- 	(demangle_qualified): Save qualified types for later
- 	back-references.  Handle constructors and destructors for template
- 	types correctly.
- 	(do_type): Tidy.  Use SCOPE_STRING.  Pass extra argument to
- 	demangle_template.  Use demangled_nested_args.  Don't remember
- 	qualified types here; that's now done in demangle_qualified.
- 	Similarly for templates.
- 	(do_arg): Improve comment.  Handle 'n' repeat code.
- 	(remember_type): Check forgetting_types.
- 	(demangle_args): Deal with 'n' repeat codes.  Tidy.
- 	
- Sat Jul 11 02:59:08 1998  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile
- 	and structure attribute flags to MEMs generated.
- 	(splits for sign-extended HI & QI mode from memory): Also propagate
- 	the volatile flag.
- 
- 	* configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
- 
- Fri Jul 10 19:06:59 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* varray.h: Include system.h if it hasn't already been included
- 	before to get size_t declared.
- 
- Fri Jul 10 12:53:58 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* jump.c (jump_optimize): If after_regscan and our transformations
- 	generate new REGs, rerun reg_scan.
- 
- Fri Jul 10 11:50:43 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* config/i960/i960.c (i960_address_cost): MEMA operands with
- 	positive offsets < 4096 are free.
- 
- Fri Jul 10 12:34:37 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c (const_uint32_operand): Recognize
- 	CONSTANT_P_RTX.
- 	(const_sint32_operand): Likewise.
- 
- Thu Jul  9 22:58:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (alias.o): Depend on $(EXPR_H).
- 
- Thu Jul  9 18:24:56 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): If using an equivalence from
- 	find_equiv_reg and reg_reloaded_valid is not set for this register,
- 	clear the associated spill_reg_store.
- 
- Thu Jul  9 18:12:49 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (emit_reload_insns): If an output reload copies only
- 	to a secondary reload register, indicate that the secondary reload
- 	does the actual store.
- 
- Thu Jul  9 18:01:05 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_equiv_reg): If need_stable_sp is set,
- 	check if stack pointer is changed directly in a PARALLEL.
- 
- Thu Jul  9 10:38:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (duplicate_loop_exit_test): Fix thinko.
- 
- Thu Jul  9 01:30:37 1998  Joel Sherrill  <joel@OARcorp.com>
- 			  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
- 
- 	* config/i386/rtemself.h: Updated to keep in sync with
- 	config/i386/linux.h.
- 
- 	* configure.in: Added sh-rtemself.
- 	* configure: Rebuilt.
- 	* config/sh/rtems.h: Removed -D__ELF__ since it is now COFF.
- 	* config/sh/rtemself.h: New file.
- 
- 	* config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
- 
- Wed Jul  8 21:43:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Check if the assembler supports ".balign" and
- 	".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately.
- 	* acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag.
- 	* i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for
- 	".balign" then use it.
- 
- 	* print-rtl.c (print_rtx): Revert previous patch.
- 
- 	* jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
- 	test if the exit code has an insn with ASM_OPERANDS.
- 
- 	* i386/cygwin32.h (STDIO_PROTO): Fix typo.
- 	* m32r.h (STDIO_PROTO): Fix typo.
- 
- 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by
- 	LEGITIMIZE_RELOAD_ADDRESS.
- 	* tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be
- 	able to handle addresses created by previous invocations of the macro.
- 
- 	* flow.c (find_auto_inc): Remove most recent change.  Real bug was
- 	elsewhere.
- 
- 	* cse.c (count_reg_usage): Count registers used in addresses of
- 	CLOBBERs.
- 
- Wed Jul  8 15:08:29 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
- 
- 	* configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
- 
- 1998-07-08  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
- 	stubs.
- 
- 	* toplev.c (lang_options): Add -Wlong-long, -Wno-long-long
- 	options.
- 	* c-decl.c (warn_long_long): Define.
- 	(c_decode_option): Parse -Wlong-long, -Wno-long-long options.
- 	(grokdeclarator): Add flag `warn_long_long' as guard for
- 	warning "ANSI C does not support `long long'".
- 	* invoke.texi: Add description of options -Wlong-long,
- 	-Wno-long-long.
- 	* gcc.1: The same as above.
- 	
- Wed Jul  8 02:43:34 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART.  If
- 	either argument is CONSTANT_P, then return zero.
- 	* reload.c (reg_overlap_mentioned_for_reload_p): Similarly.
- 
- 	* configure.in: Also look at $srcdir/gas/configure to find a
- 	gas version #.
- 
- Wed Jul  8 00:28:22 1998  Carlo Wood  <carlo@runaway.xs4all.nl>
- 
- 	* dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
- 
- Tue Jul  7 21:18:14 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
- 	definitions from last two patches.
- 
- Tue Jul  7 23:03:34 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): Don't set reload_override_in
- 	if EQUIV is clobbered in INSN and the reload is done after INSN.
- 
- Tue Jul  7 21:23:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
- 	to the first insn of the sequence.
- 
- Tue Jul  7 21:05:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* cse.c (cse_insn): Don't make change without validation.
- 
- Tue Jul  7 11:40:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (various zero/sign extension patterns): Zero and sign
- 	extensions which use "sub" clobber cc0.
- 
- Tue Jul  7 09:12:08 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Jul  7 10:07:20 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
- 
- Tue Jul  7 08:41:27 1998  Richard Henderson  (rth@cygnus.com)
- 
- 	* print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
- 	is a double.
- 
- Tue Jul  7 00:31:58 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Jul  7 01:03:03 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	Support for dllimport and dllexport attributes for i386-pe.
- 
- 	* tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
- 	(struct tree_decl): Add non_addr_const_p field.
- 	* tree.c (staticp): Use.
- 
- 	* i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
- 	attributes.
- 	(SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export
- 	attributes. Also accept -mwindows option.
- 	(VALID_MACHINE_DECL_ATTRIBUTE): New macro.
- 	(MERGE_MACHINE_DECL_ATTRIBUTE): New macro.
- 	(REDO_SECTION_INFO_P): New macro.
- 	(DRECTVE_SECTION_FUNCTION): New macro.
- 	(drectve_section): Cover function to implement above.
- 	(SWITCH_TO_SECTION_FUNCTION): New macro.
- 	(switch_to_section): Covert function to implement above.
- 	(EXTRA_SECTIONS): Add in_drectve.
- 	(EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section.
- 	(ENCODE_SECTION_INFO): Delete old macro and redefine as a function.
- 	(STRIP_NAME_ENCODING): Handle new attributes.
- 	(ASM_OUTPUT_LABELREF): New macro.
- 	(ASM_OUTPUT_FUNCTION_NAME): New macro.
- 	(ASM_OUTPUT_COMMON): New macro.
- 	(ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro.
- 
- 	* i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
- 	attributes.
- 
- 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): New function.
- 	(i386_pe_merge_decl_attributes): New function.
- 	(i386_pe_check_vtable_importexport): New function.
- 	(i386_pe_dllexport_p): New function.
- 	(i386_pe_dllimport_p): New function.
- 	(i386_pe_dllexport_name_p): New function.
- 	(i386_pe_dllimport_name_p): New function.
- 	(i386_pe_mark_dllexport): New function.
- 	(i386_pe_mark_dllimport): New function.
- 	(i386_pe_encode_section_info): New function.
- 	(i386_pe_unique_section): Strip encoding from name first.
- 
- Tue Jul  7 00:50:17 1998  Manfred Hollstein  (manfred@s-direktnet.de)
- 
- 	* libgcc2.c (L_exit): Provide a fake for atexit on systems which
- 	define ON_EXIT but not HAVE_ATEXIT.
- 
- Tue Jul  7 00:44:35 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
- 
- Tue Jul  7 00:36:41 1998  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* i386.c: Remove random whitespace at end of lines.
- 
- 	* i386.c (ix86_epilogue): For pentium processors, try to deallocate
- 	4 or 8 byte stacks with pop instructions instead of an add instruction.
- 
- Tue Jul  7 00:30:08 1998  Klaus Kaempf  <kkaempf@rmi.de>
- 
- 	* alpha.c: Include tree.h before expr.h.
- 
- Mon Jul  6 22:50:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-parse.in (struct_head, union_head, enum_head): New nonterminals.
- 	(structsp): Use them.  Update files generated from c-parse.in.
- 	* extend.texi (Type Attributes): Document it.
- 
- 	* c-decl.c: Add warn_multichar.
- 	(c_decode_option): Handle -Wno-multichar.
- 	* c-lex.c (yylex): Check it.
- 	* c-tree.h: Declare it.
- 	* toplev.c (lang_options): Add it.
- 	* invoke.texi: Document it.
- 
- Mon Jul  6 22:47:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_equiv_reg): When looking for stack pointer + const,
- 	make sure we don't use a stack adjust.
- 
- 	* reload.c (find_equiv_reg): If need_stable_sp is set,
- 	check if stack pointer is changed directly.
- 
- 	* reload1.c (delete_dead_insn): Don't delete feeding insn
- 	if that insn has side effects.
- 
- 	* flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
- 	changed.
- 
- 	* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
- 	precedes RELOAD_FOR_OUTADDR_ADDRESS.
- 
- 	* gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK.  Changed
- 	caller.
- 
- Mon Jul  6 22:21:56 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
- 
- 	* m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
- 	testing address registers on the 68000.
- 
- Mon Jul  6 22:17:19 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
- 
- 	* i386.c (is_fp_test): Fix thinko.
- 
- 	* jump.c (jump_optimize): Check for CONST_INT before using INTVAL.
- 
- Mon Jul  6 22:14:31 1998  Richard Henderson  (rth@cygnus.com)
- 
- 	* print-rtl.c (print_rtx): Display the real-value equivalent of
- 	a const_double when easy.
- 
- 	* real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types.
- 	Zero memory first for predictability.
- 	(REAL_VALUE_TO_TARGET_DOUBLE): Likewise.
- 	* varasm.c (immed_real_const_1): Notice width of H_W_I == double.
- 
- 	* regclass.c (allocate_reg_info): Initialize the entire reg_data
- 	virtual array.
- 
- Mon Jul  6 22:09:32 1998  Ian Lance Taylor  <ian@cygnus.com>
- 			  Jeff Law	    <law@cygnus.com>
- 
- 	* i386/cygwin32.h: Add some declaration of external functions.
- 	(ASM_DECLARE_FUNCTION_NAME): Define.
- 	(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
- 	(ASM_FILE_END): Define.
- 	* i386/winnt.c (i386_pe_declare_function_type): New function.
- 	(struct extern_list, extern_head): Define.
- 	(i386_pe_record_external_function): New function.
- 	(i386_pe_asm_file_end): New function.
- 
- 	* cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
- 	matching July 18, 1995 change to cccp.c.  If -traditional then
- 	disable cplusplus_comments.
- 
- Mon Jul  6 21:28:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (expand_compound_operation): Fix thinko in code to optimize
- 	(zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
- 
- 	* Disable the following change from gcc2.  Not appropriate for egcs:
- 
- 	Sun Jun  7 09:30:31 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	* reload.c (find_reloads): Give preference to pseudo that was the
- 	reloaded output of previous insn.
- 
- Mon Jul  6 21:07:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF.
- 	Instead, define a new macro HAVE_PRINTF_PTR which only signifies
- 	whether we have the %p format specifier or not.
- 
- 	* acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR.
- 	
- 	* machmode.h (HOST_PTR_PRINTF): When determining the definition,
- 	check HAVE_PRINTF_PTR to see whether "%p" is okay.
- 
- 	* mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
- 
- 	* Makefile.in (mips-tfile.o): Depend on machmode.h.
- 
- Mon Jul  6 10:42:05 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* jump.c (duplicate_loop_exit_test): Don't refuse to copy a
- 	section of code just because it contains
- 	NOTE_INSN_BLOCK_{BEG,END}.
- 	* stmt.c (expand_end_loop): Likewise.  Also, don't refuse to
- 	move CALL_INSNs or CODE_LABELs.  When moving code, don't move
- 	NOTE_INSN_BLOCK_{BEG,END}.
- 
- Mon Jul  6 09:38:15 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
- 	dealing with ADDRESSOF.
- 	(find_best_addr): Use it.
- 
- Mon Jul  6 09:27:08 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
- 
- Mon Jul  6 09:25:06 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* libgcc2.c (__eprintf): Make args consistent with prototype in
- 	assert.h.
- 
- Mon Jul  6 00:28:43 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
- 	don't claim that the former is equivalent to the latter.
- 
- Sun Jul  5 23:58:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Second arg is an RTX now.  Update all callers.
- 	(cse_basic_block): Keep track of the current RETVAL insn for a
- 	libcall instead of just noting that we're in a libcall.
- 
- 	* combine.c (simplify_comparison): Do not commute a AND into
- 	a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
- 
- 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with
- 	HAVE_GAS_MAX_SKIP_P2ALIGN.
- 	* i386/linux.h: Likewise.
- 	
- Fri Jul  3 02:33:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* sparc.c (sparc_operand, move_operand,	arith_operand,
- 	arith11_operand, arith10_operand, arith_double_operand,
- 	arith11_double_operand, arith10_double_operand, small_int,
- 	uns_small_int): Recognize CONSTANT_P_RTX.
- 	(output_sized_memop, output_move_with_extension,
- 	output_load_address, output_size_for_block_move,
- 	output_block_move, delay_operand): Remove, has not been
- 	enabled or referenced for years.
- 	* sparc.md (movstrsi, block_move_insn): Likewise.
- 	* sparc.h (PREDICATE_CODES): Define.
- 	* linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with
- 	version which uses getcc/setcc traps to save/restore condition
- 	codes.
- 	* linux64.h: Likewise.
- 	* sunos4.h: Likewise.
- 	* linux.h: Likewise.
- 	* sol2.h: Likewise.
- 	* sun4o3.h: Likewise.
- 
- Fri Jul  3 02:28:05 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode
- 	lossage on VMS.  Reported by kkaempf@rmi.de.
- 	* alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
- 
- Thu Jul  2 17:41:14 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default
- 	version.
- 
- Thu Jul  2 14:34:48 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* expr.h (STACK_SIZE_MODE): New macro.
- 	* explow.c (allocate_dynamic_stack_space): Use it for
- 	mode of allocate_stack pattern increment operand.
- 	* tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document.
- 	* md.texi (stack_save_block, ...): Reflect use of macro.
- 
- 	* rs6000.h (PROMOTE_MODE): Always promote to word_mode.
- 	(PROMOTE_FUNCTION_ARGS): Define.
- 	(PROMOTE_FUNCTION_RETURN): Define.
- 	(FUNCTION_VALUE): Promote to word_mode if smaller.
- 	Convert to gen_rtx_FOO.
- 	* rs6000.md (call_indirect): Store doubleword in 64-bit mode.
- 	Convert to gen_rtx_FOO.
- 	* rs6000.c: Convert to gen_rtx_FOO.
- 	
- Thu Jul  2 14:16:11 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* varray.{c,h}: New files to provide virtual array support.
- 
- 	* Makefile.in (OBJS): Add varray.o.
- 	(varray.o): Add new file.
- 	(REGS_H): New variable for dependencies for files including
- 	regs.h.  Add varray.h and files it includes.  Change all regs.h
- 	dependencies to $(REGS_H).
- 
- 	* toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
- 	(xcalloc): Provide frontend for calloc.
- 	* {tree,rtl}.h (xcalloc): Add declaration.
- 
- 	* basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
- 	varray.
- 
- 	* regs.h (toplevel): Include varray.h.
- 	(reg_n_info): Switch to use a varray.
- 	(REG_*): Likewise.
- 	(allocate_reg_info): Change num_regs argument to be size_t.
- 
- 	* regclass.c (reg_info_data): New structure to remember groups of
- 	reg_info structures allocated that are to be zeroed.
- 	({pref,alt}class_buffer): New statics to hold buffers
- 	allocate_reg_info allocates for {pref,alt}class_buffer.
- 	(regclass): Use {pref,alt}class_buffer to initialize
- 	{pref,alt}class.
- 	(allocate_reg_info): Switch to make reg_n_info use varrays.
- 	Allocate buffers for the preferred and alter register class
- 	information.  Change num_regs argument to be size_t, not int.
- 
- 	* flow.c (reg_n_info): Switch to use varrays.
- 
- Thu Jul  2 10:11:47 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* install.texi (sco3.2v5): Document new --with-gnu-as flag.
- 	* config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as
- 	in other targets.
- 	(USE_GAS): Conditionalize away native assembler usage.
- 	* config/i386/sco5gas.h: New file.
- 	* config/i386/t-sco5gas: New file.
- 	* configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as
- 
- Thu Jul  2 08:20:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* haifa-sched.c (alloc_EXPR_LIST): Change to use
- 	unused_expr_list.
- 
- Thu Jul  2 14:13:28 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* Makefile.in (install-info): Don't use $realfile.  Ignore
- 	possible errors from the install-info program.
- 
- Thu Jul  2 01:53:32 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
- 
- 	* combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
- 
- Wed Jul  1 23:06:03 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (HARD_REGNO_MODE_OK): Kill spurious test.
- 	(MODES_TIEABLE_P): Tie SImode and HImode.
- 
- 1998-07-01  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
- 
- 	* invoke.texi (Optimize Options): Fix typo.
- 
- Wed Jul  1 22:25:43 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
- 	the zero'th block.
- 
- Wed Jul  1 23:12:58 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* h8300.c (print_operand): Delete %L support.
- 	* h8300.md (branch_true, branch_false): Use %= with a prefix
- 	instead of %L for local branch labels.
- 
- Wed Jul  1 21:27:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (emit_reload_insns): Use proper register classes for
- 	SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
- 
- Wed Jul  1 21:17:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): If there are multiple
- 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for
- 	one operand, change RELOAD_FOR_INPADDR_ADDRESS /
- 	RELOAD_FOR_OUTADDR_ADDRESS for all but the first
- 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads.
- 
- Wed Jul  1 17:23:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
- 	using its PATTERN.
- 
- Wed Jul  1 05:04:41 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (emit_group_load, emit_group_store): Rewrite considering
- 	the size and alignment of the structure being manipulated.
- 	* expr.c, calls.c, function.c: Update all callers.
- 	* expr.h: Update prototypes.
- 	* cse.c (invalidate): Cope with parallels.
- 
- Wed Jul  1 04:22:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (function_arg_record_value): Take a MODE arg with which to
- 	create the PARALLEL.  Update all callers.
- 
- Wed Jul  1 04:10:35 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_assignment, store_constructor, expand_expr): Use
- 	convert_memory_address instead of convert_to_mode when possible.
- 
- Wed Jul  1 03:48:00 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_initialize_trampoline): Take arguments describing
- 	the layout.  Use ptr_mode.  Disable hint generation.  Use gen_imb.
- 	* alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func.
- 	(TRANSFER_FROM_TRAMPOLINE): Move ...
- 	* alpha/osf.h: ... here.
- 	* alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline.
- 	(TRANSFER_FROM_TRAMPOLINE): Remove undef.
- 	* alpha/win-nt.h: Likewise.
- 	* alpha/vxworks.h: Likewise.
- 
- 	* alpha/linux.h: Revert gcc2 merge lossage.
- 
- Wed Jul  1 10:56:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* c-decl.c (grokdeclarator): Don't warn about implicit int in
- 	`typedef foo = bar'.
- 
- Wed Jul  1 02:12:33 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* i386.c (asm_output_function_prefix): Make 686 function
- 	prologues not issue .types for non-global labels.
- 
- Tue Jun 30 23:46:53 1998  Dmitrij Tejblum  <tejblum@arc.hq.cti.ru>
- 
- 	* i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
- 	(WCHAR_TYPE_SIZE): Update appropriately.
- 
- Tue Jun 30 23:16:39 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (recompute_reg_usage): Does not return a value.
- 	* rtl.h (recompute_reg_usage): Update prototype.
- 
- 	* jump.c (jump_optimize): Show that the jump chain is not
- 	valid when not optimizing.
- 
- Tue Jun 30 16:01:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.def (CONSTANT_P_RTX): New.
- 	* rtl.h (CONSTANT_P): Recognize it.
- 	* cse.c (fold_rtx): Eliminate it.
- 	* expr.c (can_handle_constant_p): New variable.
- 	(init_expr_once): Initialize it.
- 	(expand_builtin): Generate CONSTANT_P_RTX if the expression is not
- 	immediately recognizable as a constant.
- 
- 	* alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX.
- 	(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
- 	(sext_add_operand, and_operand, or_operand): Likewise.
- 	(reg_or_cint_operand, some_operand, input_operand): Likewise.
- 	* alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed.
- 
- 1998-06-30  Benjamin Kosnik  <bkoz@bliss.nabi.net>
- 
- 	* dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
- 
- Tue Jun 30 14:03:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second
- 	argument, which is typically preprocessor code used to draw in
- 	additional header files when looking for a function declaration.
- 	(GCC_NEED_DECLARATIONS): Likewise.
- 
- 	* configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
- 	and setrlimit, search for them in sys/resource.h.
- 
- 	* acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
- 	NEED_DECLARATION_SETRLIMIT.
- 
- 	* system.h: Prototype getrlimit/setrlimit if necessary.
- 
- Tue Jun 30 10:54:48 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
- 	upon.
- 
- Tue Jun 30 13:11:42 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/sysv4.h (asm output): Add tabs for asm directives.
- 
- Tue Jun 30 13:11:42 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
- 
- Tue Jun 30 08:59:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'.
- 	Don't define NULL here.  Also, remove all vestiges of autoconf
- 	based checks for bcmp/bcopy/bzero/index/rindex.
- 
- 	* system.h: Immediately after including stdio.h, check for and if
- 	necessary provide a default definition of NULL.
- 
- Tue Jun 30 08:22:05 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* reload1.c (reload_cse_simplify_operands): Call
- 	fatal_insn_not_found, not abort.
- 
- Tue Jun 30 02:34:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* choose-temp.c (make_temp_file): Accept new argument for the
- 	file suffix to use.  Allocate space for it and add it to the
- 	template.
- 	* mkstemp.c (mkstemps): Renamed from mkstemp.  Accept new argument
- 	for the length of the suffix.  Update template structure checks
- 	to handle optional suffix.
- 	* collect2.c (make_temp_file): Update prototype.
- 	(main): Put proper suffixes on temporary files.
- 	* gcc.c (make_temp_file): Update prototype.
- 	(do_spec_1): Put proper suffixes on temporary files.
- 
- Tue Jun 30 00:56:19 1998  Bruno Haible  <haible@ilog.fr>
- 
- 	* invoke.texi: Document new implicit structure initialization
- 	warning.
- 
- Mon Jun 29 21:40:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* toplev.c (flag_dump_unnumbered): Declare.
- 	(f_options): Add dump-unnumbered.
- 	* print-rtl.c (flag_dump_unnumbered): Define.
- 	(print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
- 	is nonzero.
- 	(print_rtl): Don't output line number notes if flag_dump_unnumbered
- 	is nonzero.
- 	* flow.c (print_rtl_with_bb): Don't output newline after line
- 	numbers note if flag_dump_unnumbered is nonzero.
- 
- Mon Jun 29 22:12:06 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Merge from gcc2 June 9, 1998 snapshot.  See ChangeLog.13 for
- 	details.
- 
- 	* pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
- 
- Mon Jun 29 20:12:41 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
- 
- 	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
- 	void since it is evaluated in a comma list.
- 
- 	* mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM'
- 	argument as a long and cast `NUM' to long to ensure it is of the
- 	proper width.  Wrap macro arguments in parens when they appear in
- 	the expansion.
- 
- 	* sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 
- 	* sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	(ASM_DECLARE_RESULT): Fix fprintf format specifier to match
- 	function argument return type.
- 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P,
- 	REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'.
- 
- 	* cpplib.c (cpp_message_from_errno): Remove unneeded argument to
- 	cpp_message.
- 
- 	* dbxout.c: Fix the comments after an #endif to reflect the actual
- 	condition tested in the preceding #if.
- 
- 	* except.c (find_all_handler_type_matches): Switch to old-style
- 	function definition.
- 
- 	* expr.c (expand_builtin): Remove unused variable `type' twice.
- 
- 	* gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
- 	to an unsigned long.
- 
- 	* haifa-sched.c (print_insn_chain): Remove unused function.
- 
- 	* objc/objc-act.c (build_msg_pool_reference): Hide prototype and
- 	definition.
- 
- 	* toplev.c: When testing whether to include dbxout.h, also include
- 	it when XCOFF_DEBUGGING_INFO is defined.
- 
- 	* unroll.c (unroll_loop): Add parentheses around assignment used
- 	as truth value.
- 
- Mon Jun 29 12:18:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/lb1spc.asm (.div, .udiv): Replace routines.
- 
- Mon Jun 29 09:44:24 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.h: Update comment about special gen_rtx variants.
- 	* emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
- 
- Sun Jun 28 20:58:51 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* choose-temp.c (choose_temp_base): Restore original variant of
- 	this function for compatibility.
- 	(make_temp_file): This is the new, preferred interface to create
- 	temporary files.
- 	* collect2.c (choose_temp_base): Delete declaration.
- 	(make_temp_file): Declare.
- 	(temp_filename_length, temp_filename): Delete.
- 	(main): Use make_temp_file to get temporary files.  Use --lang-c
- 	to force the resulting ctort/dtor file to be compiled with the C
- 	compiler.  Make sure to remove temporary files on all exit paths.
- 	* gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is
- 	defined.
- 	(choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is
- 	not defined.
- 	(do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined.
- 
- Sun Jun 28 08:57:09 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
- 	getwd.
- 
- 	* acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
- 	NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
- 
- 	* cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
- 	(my_strerror): Add prototype and make it static.
- 
- 	* collect2.c: Likewise.
- 
- 	* cpplib.c: Likewise.
- 
- 	* gcc.c: Likewise, but keep `my_strerror' extern.
- 
- 	* protoize.c: Likewise.
- 
- 	* pexecute.c (my_strerror): Add argument to prototype.
- 
- 	* system.h: Add prototypes for getcwd, getwd and strerror.  Add
- 	extern decls for sys_nerr and sys_errlist.  Make abort decl
- 	explicitly extern.
- 
- 	* getpwd.c: Remove decls for getwd and getcwd.
- 
- Sun Jun 28 02:11:16 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Jun 27 23:32:25 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize): Use side_effects_p & may_trap_p instead
- 	of rtx_unsafe_p.  Use modified_between_p instead of reg_set_between_p.
- 	Allow FP moves to be optimized.
- 	(rtx_unsafe_p): Delete.
- 
- Sat Jun 27 23:02:04 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* objc/archive.c: Remove <string.h> prototypes.
- 
- Sat Jun 27 22:37:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tm.texi (NEED_MATH_LIBRARY): Document new target macro.
- 
- 	* Makefile.in (gencheck): Remove $(TREE_H) dependency.
- 
- Sat Jun 27 20:20:00 1998  John Carr  <jfc@mit.edu>
- 
- 	* dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition.
- 	* dsp16xx.c (next_cc_user_unsigned): New function.
- 	Remove save_next_cc_user_code.
- 	(print_operand): Use HOST_WIDE_INT_PRINT_* macros.
- 	* dsp16xx.md: Call next_cc_user_unsigned instead of using
- 	save_next_cc_user_code.
- 	Use gen_rtx_* functions instead of gen_rtx.
- 
- Sat Jun 27 20:18:34 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
- 
- Sat Jun 27 16:45:42 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (count_reg_sets): New function.
- 	(count_reg_sets_1, count_ref_references): Likewise.
- 	(recompute_reg_usage): Likewise.
- 	* rtl.h (recompute_reg_usage): Add prototype.
- 	* toplev.c (rest_of_compilation): Call recompute_reg_usage just
- 	before local register allocation.
- 
- Sat Jun 27 13:15:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (negsf, negdf): Revert Jan 22 change.
- 
- Sat Jun 27 07:35:21 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mkstemp.c: Include gansidecl.h.  Rename uint64_t to gcc_uint64_t.
- 	(mkstemp): Remove size specifier for variable `letters'.  Call
- 	gettimeofday, not __gettimeofday.
- 
- 	* Makefile.in (EXPR_H): New dependency variable.
- 	(c-typeck.o): Depend on $(EXPR_H) instead of expr.h.
- 	(c-iterate.o): Likewise.
- 	(gencheck): Depend on $(TREE_H) instead of tree.h, etc.
- 	(stor-layout.o): Depend on $(EXPR_H) instead of expr.h.
- 	(toplev.o): Likewise.  Also depend on $(RECOG_H) instead of recog.h.
- 	(varasm.o): Depend on $(EXPR_H) instead of expr.h.
- 	(function.o): Likewise.
- 	(stmt.o): Likewise.
- 	(except.o): Likewise.
- 	(expr.o): Likewise.
- 	(calls.o): Likewise.
- 	(expmed.o): Likewise.
- 	(explow.o): Likewise.
- 	(optabs.o): Likewise.
- 	(sdbout.o): Likewise.
- 	(dwarf2out.o): Likewise.
- 	(emit-rtl.o): Likewise.
- 	(integrate.o): Likewise.
- 	(jump.o): Likewise.
- 	(cse.o): Likewise.
- 	(gcse.o): Likewise.  Also depend on $(BASIC_BLOCK_H) instead of
- 	basic-block.h.
- 	(loop.o): Depend on $(EXPR_H) instead of expr.h.
- 	(unroll.o): Likewise.
- 	(combine.o): Likewise.
- 	(reload.o): Likewise.
- 	(reload1.o): Likewise.
- 	(caller-save.o): Likewise.
- 	(reorg.o): Likewise.
- 	(alias.o): Don't depend on insn-codes.h.
- 	(regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h.
- 	(insn-emit.o): Depend on $(EXPR_H) instead of expr.h.
- 	(insn-opinit.o): Likewise.
- 
- Sat Jun 27 01:35:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* choose-temp.c (choose_temp_base): Remove MPW bits.  Use mkstemp
- 	instead of mktemp.
- 	* gcc.c (MKTEMP_EACH_FILE): Define.
- 	(main): No need to call choose_temp_base if we are going to
- 	use choose_temp_base to create each file later.
- 	* mkstemp.c: New file.  Adapted from glibc.
- 	* Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o.
- 	(mkstemp.o): Add dependencies.
- 
- 	* configure.in (gettimeofday): Check for its existence.
- 	* config.in (HAVE_GETTIMEOFDAY): Define.
- 	* configure: Rebuilt.
- 
- 1998-06-26  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.md (ne 0, non power case): Add missing & constraint.
- 	Name pattern ne0.
- 	(negative abs insns): Add pattern names.
- 
- Fri Jun 26 17:36:42 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* Makefile.in (install-info): Run install-info program in separate
- 	loop.
- 
- Fri Jun 26 16:03:15 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* haifa-sched.c (schedule_block): Add hooks for the machine
- 	description to reorder the ready list, and update how many more
- 	instructions can be issued this cycle.
- 	* tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document.
- 	
- Fri Jun 26 11:54:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P):
- 	Explicitly mark the constant being compared against as unsigned.
- 	* config/sparc/sparc.c (sparc_select, cpu_default, cpu_table):
- 	Fully initialize final members.
- 	(mem_aligned_8): Explicit init of offset to zero.
- 	(output_function_prologue): Explicit init of n_regs to zero.
- 	(output_function_epilogue): Likewise, and mark arg size as
- 	unused.
- 	(init_cumulative_args): Mark libname and indirect as unused.
- 	(function_arg_pass_by_reference): Likewise for cum and named.
- 	(sparc_builtin_saveregs): Likewise for arglist.
- 	(sparc_flat_eligible_for_epilogue_delay): Likewise for slot.
- 
- Fri Jun 26 06:58:54 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload
- 	if reloading a MEM.
- 
- 	* arm.h (arm_adjust_cost): Renamed bogus prototype from
- 	arm_adjust_code.
- 	(bad_signed_byte_operand): Add prototype.
- 	* arm.c (arm_override_options): Make I unsigned.
- 	(const_ok_for_arm): Add casts to the constants.	
- 	(load_multiple_operation): Don't redeclare elt in sub-block.
- 	(arm_gen_movstrqi): Delete external declaration of optimize.
- 	(gen_compare_reg): Declare parameter fp.
- 
- 	* arm.c (final_prescan_insn): Only initialize scanbody if the insn
- 	has a pattern.
- 
- Fri Jun 26 09:31:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c: Include system.h and toplev.h.
- 	(cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- 	(const48_operand): Likewise.
- 	(mode_width_operand): Likewise.
- 	(mode_mask_operand): Likewise.
- 	(mul8_operand): Likewise.
- 	(current_file_function_operand): Likewise.
- 	(signed_comparison_operator): Likewise.
- 	(divmod_operator): Likewise.
- 	(any_memory_operand): Likewise.
- 	(alpha_return_addr): Likewise for parameter `frame'.
- 	(alpha_builtin_saveregs): Likewise for parameter `arglist'.
- 	(vms_valid_decl_attribute_p): Likewise for parameters `decl' and
- 	`attributes'.
- 	(alpha_start_function): Likewise for parameter `decl'.  Use
- 	HOST_WIDE_INT_PRINT_DEC in call to fprintf.  Fix various format
- 	specifiers.  Remove unused variables `lab' and `name'.
- 	(alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED.
- 	(check_float_value): Likewise for parameter `overflow'.
- 	(alpha_need_linkage): Likewise for parameters `name' and `is_local'.
- 	
- 	* alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as
- 	taking an argument.
- 	(ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf.
- 	(ASM_OUTPUT_CHAR): Likewise.
- 	(ASM_OUTPUT_BYTE): Likewise.
- 	(PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to
- 	fprintf.
- 	(PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition.
- 	Add prototypes for functions in alpha.c.
- 
- 	* alpha.md (ashldi3): Add default case in switch.
- 
- 1998-06-26  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (gcc_version, gcc_version_trigger): New macros.
- 	(version): Initialize from $(gcc_version).
- 
- 	* configure.in (version): Rename to gcc_version.
- 	(gcc_version_trigger): New variable; call AC_SUBST for it and
- 	emit it into the generated config.status.
- 	* configure: Regenerate.
- 
- Thu Jun 25 12:47:41 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* fold-const.c (make_range): Don't go looking at TREE_OPERANDs of
- 	nodes that are not expressions.
- 
- Thu Jun 25 15:08:16 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* invoke.texi (-fstrict-aliasing): Document.
- 	* rtl.texi (MEM_ALIAS_SET): Document.
- 
- 	* flags.h (flag_strict_aliasing): Declare.
- 	* toplev.c (flag_strict_aliasing): Define.
- 	(f_options): Add -strict-aliasing.
- 	(main): Set flag_strict_aliasing if -O2 or higher.
- 
- 	* tree.h (tree_type): Add alias_set field.
- 	(TYPE_ALIAS_SET): New macro.
- 	(TYPE_ALIAS_SET_KNOWN_P): Likewise.
- 	(get_alias_set): Declare.
- 	* tree.c (lang_get_alias_set): Define.
- 	(make_node): Initialize TYPE_ALIAS_SET.
- 	(get_alias_set): New function.
- 	* print-tree.c (print_node): Dump the alias set for a type.
- 
- 	* c-tree.h (c_get_alias_set): Declare.
- 	* c-common.c (c_get_alias_set): New function.
- 	* c-decl.c (init_decl_processing): Set lang_get_alias_set.
- 
- 	* expr.c (protect_from_queue): Propagate alias sets.
- 	(expand_assignment): Calculate alias set for new MEMs.
- 	(expand_expr): Likewise.
- 	* function.c (put_var_into_stack): Likewise.
- 	(put_reg_into_stack): Likewise.
- 	(gen_mem_addressof): Likewise.
- 	(assign_parms): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* varasm.c (make_decl_rtl): Eliminate redundant clearing of
- 	DECL_RTL.  Calculate alias set for new MEMs.
- 
- 	* rtl.def (REG): Add dummy operand.
- 	(MEM): Add extra operand to store the MEM_ALIAS_SET.
- 	* rtl.h (MEM_ALIAS_SET): New macro.
- 	(gen_rtx_MEM): Declare.
- 	* emit-rtl.c (gen_rtx_MEM): New function.
- 	* gengenrtl.c (sepcial_rtx): Make MEMs special.
- 
- 	* alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro.
- 	(DIFFERENT_ALIAS_SETS_P): Likewise.
- 	(canon_rtx): Propagate the alias set to the new MEM.
- 	(true_dependence): Check the alias sets.
- 	(anti_dependence): Likewise.
- 	(output_dependence): Likewise.
- 	* explow.c (stabilize): Progoate alias sets.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P
- 	in an unpredictable state.  Propagate alias sets.
- 	* reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
- 	we have no alias information.
- 	
- Thu Jun 25 16:59:18 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h.
- 	(find_all_handler_type_matches): Add function prototype.
- 	* eh-common.h (CATCH_ALL_TYPE): Definition added.
- 	* except.c (find_all_handler_type_matches): Add function to find all
- 	runtime type info in the exception table.
- 	(output_exception_table_entry): Special case for CATCH_ALL_TYPE.
- 
- Thu Jun 25 15:47:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h.
- 
- 	* config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow',
- 	`yhigh' and `bit' into the scope in which they are used.
- 	(_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1',
- 	`y0', `y1', `q', `remainder', `carry', `d0' and `d1'.
- 
- 	* rs6000.c: Move include of output.h below tree.h.  Include toplev.h.
- 	(any_operand): Mark unused parameters `op' and `mode' with
- 	ATTRIBUTE_UNUSED.
- 	(count_register_operand): Likewise for parameter `mode'.
- 	(fpmem_operand): Likewise.
- 	(short_cint_operand): Likewise.
- 	(u_short_cint_operand): Likewise.
- 	(non_short_cint_operand): Likewise.
- 	(got_operand): Likewise.
- 	(got_no_const_operand): Likewise.
- 	(non_add_cint_operand): Likewise.
- 	(non_logical_cint_operand): Likewise.
- 	(mask_operand): Likewise.
- 	(current_file_function_operand): Likewise.
- 	(small_data_operand): Likewise for parameters `op' and `mode' but
- 	only when !TARGET_ELF.
- 	(init_cumulative_args): Mark parameters `libname' with
- 	ATTRIBUTE_UNUSED.
- 	(function_arg_pass_by_reference): Likewise for parameters `cum',
- 	`mode' and `named'.
- 	(expand_builtin_saveregs): Likewise for parameter `args'.
- 	(load_multiple_operation): Likewise for parameter `mode'.
- 	(store_multiple_operation): Likewise.
- 	(branch_comparison_operator): Likewise.
- 	(secondary_reload_class): Likewise.
- 	(print_operand): Add parentheses around & operation.
- 	(output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED.
- 	(output_epilog): Likewise.  Cast argument to fprintf to int.
- 	(rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED.
- 	(rs6000_valid_decl_attribute_p): Likewise for parameters `decl',
- 	`attributes', `identifier' and `args'.
- 	(rs6000_valid_type_attribute_p): Likewise for parameter `attributes'.
- 	(rs6000_comp_type_attributes): Likewise for parameters `type1' and
- 	`type2'.
- 	(rs6000_set_default_type_attributes): Likewise for parameter `type'.
- 
- 	* rs6000.h (RTX_COSTS): Add parentheses around & operation.
- 	(toc_section, private_data_section, trap_comparison_operator): Add
- 	prototypes.
- 
- 	* dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
- 	prototypes.
- 
- 	* xcoffout.c: Include toplev.h, outout.h and dbxout.h.
- 
- 	* xcoffout.h (stab_to_sclass, xcoffout_begin_function,
- 	xcoffout_begin_block, xcoffout_end_epilogue,
- 	xcoffout_end_function, xcoffout_end_block,
- 	xcoff_output_standard_types, xcoffout_declare_function,
- 	xcoffout_source_line): Add prototypes.
- 
- Thu Jun 25 09:54:55 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
- 	noticed by grahams@rcp.co.uk.
- 
- Thu Jun 25 11:12:29 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* gcc.c (default_compilers): Use new | syntax to eliminate
- 	string concatenation.
- 
- Thu Jun 25 01:00:48 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_function_name): Delete.
- 	(alpha_ra_ever_killed): Notice current_function_is_thunk.
- 	(alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise.
- 	(alpha_start_function): Reorg from output_prologue.
- 	(alpha_end_function): Reorg from output_epilogue.
- 	* alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function.
- 	(ASM_DECLARE_FUNCTION_SIZE): New.
- 	(FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
- 	(PROFILE_BEFORE_PROLOGUE): Set.
- 	(ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function.
- 	* alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- Thu Jun 25 01:18:47 1998  John Wehle  (john@feith.com)
- 
- 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
- 
- 1998-06-25  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* expr.c (expand_assignment): Rework address calculation for structure
- 	field members to expose more invariant computations to the loop
- 	optimizer.
- 	(expand_expr): Likewise.
- 
- Wed Jun 24 22:44:22 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* local-alloc.c (block_alloc): Do not try to avoid false dependencies
- 	when SMALL_REGISTER_CLASSES is nonzero.
- 
- Wed Jun 24 17:55:15 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
- 
- Wed Jun 24 16:27:23 1998  John Carr  <jfc@mit.edu>
- 
- 	* expr.c (get_memory_rtx): New function.
- 	(expand_builtin): Call get_memory_rtx for MEM arguments to builtin
- 	string functions.
- 
- 	* expmed.c (init_expmed): Initialize all elements of *_cost arrays.
- 
- 	* optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...).
- 	* expr.c: Likewise.
- 	* explow.c: Likewise.
- 	* combine.c: Likewise.
- 	* reload1.c: Likewise.
- 	* gcse.c: Likewise.
- 
- Wed Jun 24 15:13:01 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* README.gnat: Add patch for new lang_decode_options interface.
- 
- Wed Jun 24 09:14:04 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.c (start_catch_handler): Do nothing if EH is not on.
- 
- 1998-06-24  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* configure.in (gxx_include_dir): Initialize default value depending on
- 	new flag --enable-version-specific-runtime-libs; remove superfluous
- 	default initialization afterwards.
- 	* configure: Regenerate.
- 
- Wed Jun 24 01:32:12 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* toplev.c (rest_of_compilation): Revert May 15 change.
- 
- Tue Jun 23 21:27:27 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* reload.c (find_reloads): Fix check for failure to match any
- 	alternative, to account for Mar 26 change in initial "best" cost.
- 
- Tue Jun 23 16:44:21 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cpplib.c (do_line): Typo broke #line directive.
- 	(cpp_message_from_errno): New function.
- 	(cpp_error_from_errno): Call cpp_message_from_errno.
- 	* cpplib.h (cpp_message_from_errno): New function.
- 
- Tue Jun 23 13:38:18 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* libgcc2.c (__get_eh_table_version, __get_eh_table_language): New
- 	functions to return exception descriptor information.
- 	(find_exception_handler): Pass match_info field to runtime matcher,
- 	not a descriptor table entry.
- 
- Tue Jun 23 09:30:58 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
- 	accompany previous Makefile.in (install-info) change.
- 
- Tue Jun 23 10:06:07 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* eh-common.h (struct __eh_info): Remove coerced value field.
- 	* libgcc2.c (find_exception_handler): Don't set coerced_value field.
- 	* except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use
- 	POINTER_SIZE instead of Pmode.
- 	(expand_start_all_catch): Call start_catch_handler() if we are not
- 	using new style exceptions.
- 
- Tue Jun 23 06:45:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* varasm.c (assemble_variable): Remove reference to warn_bss_align.
- 
- Mon Jun 22 23:57:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (zero_extendhidi2, extendhisi2,
- 	extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3,
- 	subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto,
- 	splits and peepholes): Change remaining generic gen_rtx calls to
- 	specific genrtl ones.
- 	* config/sparc/sparc.c: Likewise.
- 	
- Mon Jun 22 22:21:46 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcc.c (handle_braces): Recognize | between options as an or.
- 
- Mon Jun 22 23:13:47 1998  John Wehle  (john@feith.com)
- 
- 	* i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
- 	* i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic.
- 
- 	* i386.md (exception_receiver): Define.
- 
- Mon Jun 22 12:01:48 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
- 	PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
- 	(install-common): Use them.
- 
- 	* gcse.c (add_label_notes): New function.
- 	(pre_insert_insn): Call it.
- 	* unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and
- 	pass the label to set_label_in_map.
- 
- Mon Jun 22 19:01:14 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* Makefile.in (install-info): Fix typpo in previous change.
- 
- Mon Jun 22 11:10:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* varasm.c (assemble_variable): Emit alignment warning.
- 
- Mon Jun 22 08:18:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (varasm.o): Depend on sdbout.h.
- 	(sdbout.o): Depend on toplev.h.
- 
- 	* collect2.c (scan_prog_file): Cast fprintf argument to `long' and
- 	use %ld specifier.
- 
- 	* final.c (shorten_branches): Cast first arg of `bzero' to char *.
- 
- 	* genextract.c (main): When creating insn-extract.c, mark variable
- 	`i' with ATTRIBUTE_UNUSED.
- 
- 	* genpeep.c (main): When creating insn-peep.c, mark variables
- 	`insn', `x' and `pat' with ATTRIBUTE_UNUSED.
- 
- 	* objc/init.c (__objc_tree_print): Wrap function definition in
- 	macro `DEBUG'.
- 
- 	* objc/objc-act.c (encode_array): Cast sprintf argument to `long'
- 	and use %ld specifier.
- 	(adorn_decl): Likewise, twice.
- 
- 	* reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
- 
- 	* sdbout.c: Include output.h and toplev.h.
- 	(PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument
- 	`a'.  Cast `a' to HOST_WIDE_INT to force it to always be so.
- 	(PUT_SDB_SIZE): Likewise.
- 
- 	* sdbout.h (sdbout_mark_begin_function): Add prototype.
- 
- 	* stmt.c (check_for_full_enumeration_handling): Cast argument of
- 	`warning' to long and use %ld specifier.
- 
- 	* toplev.c (main): Likewise for `fprintf'.
- 
- 	* toplev.h (output_file_directive): Add prototype.
- 
- 	* unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
- 	call to `fprintf'.
- 	(precondition_loop_p): Likewise.
- 
- 	* varasm.c Include sdbout.h.
- 	(assemble_static_space): Move sometimes-unused variable `rounded'
- 	into the scope in which it is used.
- 	
- 	* mips.c (gpr_mode): Don't say `static' twice.
- 
- 	* cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
- 
- 	* objc/objc-act.c (init_selector): Hide prototype and definition.
- 
- 	* optabs.c (gen_cond_trap): Remove unused variable `icode'.
- 	
- 	* regmove.c (copy_src_to_dest): Likewise for `i'.
- 
- 	* mips-tfile.c (add_local_symbol): Cast width format specifier to int.
- 	(add_ext_symbol): Likewise.
- 	(add_file): Likewise.
- 	(parse_def): Likewise.
- 	(write_varray): Use HOST_PTR_PRINTF to print a pointer.  Fix
- 	remaining format specifiers and arguments.
- 	(write_object): Likewise, several times.
- 	(read_seek): Likewise.
- 	(out_of_bounds): Likewise.
- 	(allocate_cluster): Likewise.
- 	(xmalloc): Likewise.
- 	(xcalloc): Likewise.
- 	(xrealloc): Likewise.
- 	(xfree): Likewise.
- 
- 	* mips-tdump.c (print_symbol): Likewise.
- 	
- Sun Jun 21 17:05:34 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* Makefile.in (install-info): Use install-info program if
- 	available, per GNU standard.
- 
- Sun Jun 21 18:56:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* invoke.texi: Document -mrelax for the mn10300 and mn10200.
- 
- 	* basic-block.h (init_regset_vector): Delete declaration.
- 	* flow.c (init_regset_vector): Make it static and add a prototype.
- 
- 	* bitmap.h (debug_bitmap): Declare.
- 
- 	* haifa-sched.c (debug_ready_list): Make static.
- 
- 	* toplev.h (fancy_abort): Declare.
- 
- Sun Jun 21 18:30:13 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* basic-block.h (init_regset_vector): New declaration.
- 
- 	* Makefile.in (sdbout.o): Add insn-codes.h to dependency.
- 
- 	* global.c: Include machmode.h amd move hard-reg-set.h before
- 	rtl.h.
- 
- 	* haifa-sched.c (insn_issue_delay, birthing_insn_p,
- 	adjust_priority, print_insn_chaino): New declaration.
- 	(schedule_insns): Remove declaration.
- 	(init_target_units, get_visual_tbl_length,
- 	init_block_visualization): Add prototype.
- 
- 	* integrate.c (pushdecl, poplevel): Remove declaration.
- 
- 	* rtl.h (expand_expr): Remove declaration.
- 
- 	* loop.c (oballoc): Remove declaration.
- 	(replace_call_address): Add prototype.
- 
- Sun Jun 21 01:08:17 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Jun 21 01:16:38 1998  John Wehle  (john@feith.com)
- 
- 	* i386.c (output_fp_conditional_move): Don't bother handling
- 	(cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns
- 	prevent this from happening.
- 
- 	* i386.md (nonlocal_goto_receiver): Delete.
- 
- Sun Jun 21 00:42:20 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
- 	-DCRTSTUFFS_O.
- 	(INSTALL): cd $(srcdir) before make.
- 
- 	* flow.c (allocate_for_life_analysis, init_regset_vector):
- 	Remove declaration.
- 
- 	* function.h (get_first_block_beg): New declaration.
- 
- 	* gbl-ctors.h (__do_global_dtors): Add prototype.
- 
- 	* gcov-io.h (__fetch_long): New declaration.
- 	(__store_long): Likewise.
- 	(__read_long): Likewise.
- 	(__write_long): Likewise.
- 
- 	* gcov.c (print_usage): New declaration.
- 
- 	* Makefile.in (c-iterate.o): Depend on insn-codes.h too.
- 
- Sat Jun 20 00:36:16 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (expand_call): Initialize "src" and "dest".
- 	* stmt.c (expand_return): Likewise.
- 	* expmed.c (extract_split_bit_field): Similarly for "result"
- 	* gcse.c (compute_hash_table): Mark first arg as unused.
- 	* jump.c (jump_optimize): Initialize reversep.
- 	* tree.c (make_node): Initialize length.
- 
- 	* c-common.c (check_format_info): Initialize length_char and
- 	fci to keep -Wall quiet.
- 
- 	* except.c (jumpif_rtx): Put declaration and definition
- 	inside a suitable #ifdef.
- 	(jumpifnot_rtx): Delete dead function.
- 
- 	* i386.h (output_int_conditional_move): Declare.
- 	(output_fp_conditional_move): Likewise.
- 	(ix86_can_use_return_insn_p): Likewise.
- 
- 	* optabs.c (init_traps): Put prototype inside a suitable #ifdef.
- 
- Sat Jun 20 00:27:40 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* alias.c: Include toplev.h.
- 	* caller-save.c: Include toplev.h.
- 	* combine.c: Include toplev.h.
- 	* flow.c Include toplev.h.
- 	* global.c: Include toplev.h.
- 	* jump.c: Include toplev.h.
- 	* local-alloc.c: Include toplev.h.
- 	* loop.c: Include toplev.h.
- 	* regmove.c: Include toplev.h.
- 	* stupid.c: Include toplev.h.
- 	* unroll.c: Include toplev.h.
- 	* Makefile.in: Add toplev.h dependencies.
- 
- Fri Jun 19 22:40:25 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* regmove.c (copy_src_to_dest): Add decl for loop_depth.
- 
- 	* svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
- 	Add parens to various macros.
- 
- Fri Jun 19 23:22:42 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* c-typeck.c (pop_init_level): Warn about implicit zero initialization
- 	of struct members.
- 
- Fri Jun 19 23:06:33 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* varasm.c (assemble_start_function): Add weak_global_object_name.
- 	* tree.c (get_file_function_name): Use it.
- 
- Fri Jun 19 22:55:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* except.c (jumpif_rtx): Make static and add prototype.
- 	(jumpifnot_rtx): Likewise.
- 
- 	* README.gnat: Add a build patch from Fred Fish.
- 
- 	* c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
- 
- 	* Makefile.in (c-iterate.o): Depend on expr.h.
- 
- Fri Jun 19 20:38:34 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* except.h (emit_unwinder, end_eh_unwinder): Removed.
- 
- 	* dwarfout.c (getpwd): Add prototype.
- 	(is_pseudo_reg, type_main_variant, is_tagged_type,
- 	is_redundant_typedef): New declaration.
- 	(output_decl): Add prototype for FUNC.
- 	(type_main_variant): Make it static.
- 	(is_tagged_type): Likewise.
- 	(is_redundant_typedef): Likewise.
- 
- 	* expr.c (do_jump_by_parts_greater_rtx): Removed.
- 	(truthvalue_conversion): Likewise.
- 
- 	* c-iterate.c: Include "expr.h".
- 	(expand_expr): Use proper values when calling the function.
- 
- 	* explow.c (emit_stack_save): Add prototype for FCN.
- 	(emit_stack_restore): Likewise.
- 
- 	* dwarf2out.c (getpwd): Add prototype.
- 
- 	* dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
- 
- 	* c-typeck.c (c_expand_asm_operands): Use proper values when calling
- 	expand_expr.
- 
- 	* c-lex.c (yyprint): Add prototype.
- 	(check_newline, build_objc_string): Remove declaration.
- 
- 	* c-tree.h (comptypes_record_hook): Removed.
- 	(finish_incomplete_decl): New prototype.
- 
- 	* alias.c (find_base_value): Add prototype.
- 	(true_dependence): Add prototype for function argument.
- 
- 	* c-aux-info.c (xmalloc): Remove declaration.
- 
- Fri Jun 19 20:23:05 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* i386.c: Include system.h.  Remove redundant includes.
- 	(optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED.
- 	(i386_cc_probably_useless_p): Likewise for 'decl', 'attributes',
- 	'identifier', 'args'.
- 	(i386_valid_type_attribute_p): Likewise for 'attributes'.
- 	(i386_comp_type_attribute_p): Likewise for 'type1', 'type2'.
- 	(function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type',
- 	and 'named'.
- 	(symbolic_operand): Likewise for 'mode'.
- 	(call_insn_operand): Likewise.
- 	(expander_call_insn_operand): Likewise.
- 	(ix86_logical_operator): Likewise.
- 	(ix86_binary_operator_ok): Likewise.
- 	(emit_pic_move): Likewise.
- 	(VOIDmode_compare_op): Likewise.
- 	(is_mul): Likewise.
- 	(str_immediate_operand): Likewise.
- 	(ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy
- 	(asm_output_function_prefix): Likewise for 'name'.
- 	(function_prologue): Likewise for 'file', and 'size'.
- 	(function_epilogue): Likewise.
- 
- 1998-06-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.h (struct induction): Clarify comment for unrolled field.
- 	* unroll.c (find_splittable_givs): Move set of unrolled field
- 	after address validity check.
- 
- Fri Jun 19 18:38:04 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* config/fp-bit.c (INLINE): Only define if not already defined.
- 
- 1998-06-19  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (installdirs): Loop over directories in $(libsubdir)
- 	creating probably missing ones, instead of single if statements.
- 
- Fri Jun 19 10:43:52 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* c-common.c (truthvalue_conversion): Protect side effects in the
- 	expression when splitting a complex value.
- 	* fold-const.c (fold): Likewise.
- 
- Fri Jun 19 02:31:16 1998  Klaus Kaempf  (kkaempf@progis.de)
- 
- 	* cccp.c (hack_vms_include_specification): Rewrite to handle
- 	'#include <dir/file.h>' correctly.
- 
- Fri Jun 19 02:24:11 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
- 
- Fri Jun 19 02:10:10 1998  John Wehle  (john@feith.com)
- 
- 	* i386.c (notice_update_cc): Integer conditional moves don't
- 	affect cc0.
- 
- 	* i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag
- 	to support LT, LE, GE, and GT signed integer comparisons.
- 	(movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2,
- 	movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison
- 	is LT, LE, GE, or GT.
- 	(movdicc): Remove code resulting from an earlier patch which
- 	didn't apply correctly.
- 
- Fri Jun 19 02:00:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
- 	consider a MEM in FP mode as equal.
- 
- Fri Jun 19 01:02:17 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
- 	duplicate declarations of a function.
- 
- Fri Jun 19 00:33:33 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/float-i386.h: New.
- 
- 	* configure.in (i[34567]86-*-linux-*): Set float_format to i386.
- 
- Thu Jun 18 20:11:00 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sched.c (schedule_insns): Use xmalloc not alloca for max_uid
- 	indexed arrays.  Call free at the end of the function for them.
- 	* haifa-sched.c (schedule_insns): Likewise.
- 
- Thu Jun 18 18:16:01 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (size_of_string): Do count backslashes.
- 
- Thu Jun 18 11:43:54 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG
- 	addressing when one register is the frame pointer or stack
- 	pointer.  Disallow REG+CONST addressing in HI mode.
- 
- Thu Jun 18 17:30:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
- 	RELOAD_FOR_INSN.
- 
- Thu Jun 18 09:36:50 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-lang.o): Depend on output.h.
- 
- 	* c-lang.c: Include output.h.
- 
- 	* sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
- 
- 	* except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
- 
- 	* genrecog.c (write_subroutine): When writing insn-recog.c, mark
- 	variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
- 	with ATTRIBUTE_UNUSED.
- 
- 	* regmove.c (copy_src_to_dest): Make function static to match its
- 	prototype.
- 
- 	* reload1.c Include hard-reg-set.h before rtl.h to get macro
- 	HARD_CONST.  Include machmode.h before hard-reg-set.h.
- 
- 	* rtl.h: Prototype `retry_global_alloc' and wrap with macro
- 	HARD_CONST to protect usage of typedef HARD_REG_SET.
- 
- 	* tree.c: Prototype `_obstack_allocated_p'.
- 
- 	* varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
- 	BSS_SECTION_ASM_OP.
- 
- Thu Jun 18 09:20:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pa.c: Include system.h and toplev.h.  Remove redundant code.
- 	(call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- 	(symbolic_operand): Likewise.
- 	(symbolic_memory_operand): Likewise.
- 	(pic_label_operand): Likewise.
- 	(fp_reg_operand): Likewise.
- 	(pre_cint_operand): Likewise.
- 	(post_cint_operand): Likewise.
- 	(ireg_or_int5_operand): Likewise.
- 	(int5_operand): Likewise.
- 	(uint5_operand): Likewise.
- 	(int11_operand): Likewise.
- 	(uint32_operand): Likewise.
- 	(ior_operand): Likewise.
- 	(lhs_lshift_cint_operand): Likewise.
- 	(pc_or_label_operand): Likewise.
- 	(legitimize_pic_address): Likewise.
- 	(hppa_legitimize_address): Likewise for parameter `old'.
- 	(output_block_move): Likewise for parameter `size_is_constant'.
- 	(output_function_prologue): Likewise for parameter `size'.
- 	(output_function_epilogue): Likewise.
- 	(return_addr_rtx): Likewise for parameter `count'.
- 	(output_mul_insn): Likewise for parameter `unsignedp'.
- 	(hppa_builtin_saveregs): Likewise for parameter `arglist'.
- 	(output_bb): Likewise for parameter `operands'.
- 	(output_bvb): Likewise.
- 	(function_label_operand): Likewise for parameter `mode'.
- 	(plus_xor_ior_operator): Likewise.
- 	(shadd_operand): Likewise.
- 	(non_hard_reg_operand): Likewise.
- 	(eq_neq_comparison_operator): Likewise.
- 	(movb_comparison_operator): Likewise.
- 	(pa_combine_instructions): Likewise for parameter `insns'.
- 
- 	* pa.h: Add prototypes for functions `output_deferred_plabels',
- 	`override_options', `output_ascii', `output_function_prologue',
- 	`output_function_epilogue', `print_operand',
- 	`symbolic_expression_p', `reloc_needed', `compute_frame_size',
- 	`hppa_address_cost', `and_mask_p', `symbolic_memory_operand',
- 	`pa_adjust_cost', `pa_adjust_insn_length' and
- 	`secondary_reload_class'.
- 
- Wed Jun 17 22:28:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* configure.in: Don't turn on collect2 unconditionally.
- 
- Wed Jun 17 20:20:48 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cse.c (cse_basic_block): Don't include NOTE insns in the count
- 	that is used to decide whether or not it is time to erase the
- 	equivalence table.
- 
- Wed Jun 17 18:30:43 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
- 
- Wed Jun 17 19:05:03 1998  John Carr  <jfc@mit.edu>
- 
- 	* haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
- 	(sched_analyze_2): Allow scheduling TRAP_IF.
- 
- 	* reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
- 
- 	* rtl.h (TRAP_CODE): New macro.
- 
- 	* rtl.def (TRAP_IF): Change second operand type to rtx.
- 
- 	* optabs.c (gen_cond_trap): New function.
- 	(init_traps): New function.
- 	(init_optabs): Call init_traps.
- 	* expr.h: Declare gen_cond_trap.
- 
- 	* jump.c (jump_optimize): Optimize jumps to and around traps.
- 
- 	* sparc.md: Define trap instructions.
- 
- 	* rs6000.md: Define trap instructions.
- 	* rs6000.c (print_operand): New code 'V' for trap condition.
- 	(trap_comparison_operator): New function.
- 
- 	* m88k.md: Update use of TRAP_IF.
- 
- 	* tree.h (enum built_in_function): New function code BUILT_IN_TRAP.
- 	* c-decl.c (init_decl_processing): New builtin __builtin_trap.
- 	* expr.c (expand_builtin): Handle BUILT_IN_TRAP.
- 
- 	* expr.c (expand_builtin): Error if __builtin_longjmp second argument
- 	is not 1.
- 
- Wed Jun 17 15:20:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	 * reload1.c (spill_hard_reg): Check mode of register when
- 	 spilling from scratch_list.
- 
- Wed Jun 17 16:25:38 1998  Andrew MacLeod  (amacleod@cygnus.com)
- 
- 	* except.c (add_new_handler): Fix bug in finding last region handler.
- 	* libgcc2.c (find_exception_handler): Pass exception table pointer
- 	to runtime type matcher, not the match info field.
- 
- Wed Jun 17 15:57:48 1998  Andrew MacLeod  (amacleod@cygnus.com)
- 
- 	* eh-common.h (struct eh_context): Add comment for hidden use of
- 	field dynamic_handler_chain.
- 	* except.c (get_dynamic_handler_chain): Comment on, and use the
- 	correct offset of the dynamic_handler_chain field.
- 
- 1998-06-17  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/iris6.h (LINK_SPEC): Add -woff 131.
- 
- 1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
- 
- 	* configure.in: Don't disable collect2 when we have GNU ld.
- 
- Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (make_range): Do not widen the type of the expression.
- 
- 	* expr.c (check_max_integer_computation_mode): New function.
- 	(expand_expr): Avoid integer computations in modes wider than
- 	MAX_INTEGER_COMPUTATION_MODE.
- 	* fold-const.c (fold): Likewise.
- 	* tree.h (check_max_integer_computation_mode): Declare.
- 	* tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it.
- 
- 	* configure.in (nm): Make a link to "nm" in the build tree too.
- 
- 	* mn10300.md (andsi3): Fix typo.
- 
- Tue Jun 16 22:58:40 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (reload_cse_regs): Call bzero instead of looping.
- 
- Tue Jun 16 18:30:35 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (stripattributes): Prepend '*' to the section name.
- 
- Tue Jun 16 16:49:26 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns.
- 	(output_prologue, output_epilogue): Merge VMS and OSF versions;
- 	Remove anything related to the actual code generation.
- 	(output_end_prologue): New function.
- 	(alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions.
- 	(alpha_does_function_need_gp): Return false for VMS.
- 	(alpha_function_needs_gp): Make static.
- 	(add_long_const): Delete.
- 	(summarize_insn): Don't assume a SUBREG is of a REG.
- 	Prototype all static functions.  Rename VMS-specific global
- 	variables vms_*.
- 	* alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0.
- 	(FUNCTION_BOUNDARY): Align to cache line.
- 	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword.
- 	(FUNCTION_END_PROLOGUE): New macro.
- 	* alpha.md (attribute length): New.  Mark all insns.
- 	(return_internal, prologue_stack_probe_loop): New patterns.
- 	(prologue, init_fp, epilogue): New patterns.
- 	Disable peepholes.
- 	* linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define.
- 
- Tue Jun 16 17:36:35 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* toplev.c (lang_options): Add -trigraphs option for cpplib.
- 
- Tue Jun 16 23:33:24 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS
- 	is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS
- 	is earlier than RELOAD_FOR_INPUT_ADDRESS.
- 
- Tue Jun 16 13:15:16 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* libgcc1-test.c (memcpy): Define.
- 
- Tue Jun 16 13:44:02 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* genattrtab.c (struct attr_desc): Change int flags to bit
- 	fields.  Add bit fields for this being function_units_used
- 	or *_blockage_range attributes.
- 	(write_unit_name): New function to print a function unit name
- 	given unit #.
- 	(expand_units): Indicate whether this is function_units_used or
- 	*_blockage_range attributes.
- 	(write_toplevel_expr): Print function_units_used and
- 	*_blockage_range attributes in a more friendly fashion.
- 	(make_internal_attr): Indicate whether this attribute is either
- 	function_units_used or *_blockage_range.
- 
- Mon Jun 15 17:06:43 1998  Michael Meissner  <meissner@cygnus.com>
- 			  Jim Wilson  <wilson@cygnus.com>
- 
- 	* regmove.c (copy_src_to_dest): Do not copy src to dest if either
- 	the source or destination is special.
- 
- Mon Jun 15 13:20:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
- 
- Mon Jun 15 07:16:29 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Jun 13 13:10:40 1998  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
- 	redefining it.
- 
- Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
- 
- 	* m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
- 	(ENDFILE_SPEC): Add -lgloss.
- 
- Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- 	(large_int): Likewise.
- 	(pc_or_label_operand): Likewise.
- 	(call_insn_operand): Likewise.
- 	(consttable_operand): Likewise.
- 	(m16_uimm3_b): Likewise.
- 	(m16_simm4_1): Likewise.
- 	(m16_nsimm4_1): Likewise.
- 	(m16_simm5_1): Likewise.
- 	(m16_nsimm5_1): Likewise.
- 	(m16_uimm5_4): Likewise.
- 	(m16_nuimm5_4): Likewise.
- 	(m16_simm8_1): Likewise.
- 	(m16_nsimm8_1): Likewise.
- 	(m16_uimm8_1): Likewise.
- 	(m16_nuimm8_1): Likewise.
- 	(m16_uimm8_m1_1): Likewise.
- 	(m16_uimm8_4): Likewise.
- 	(m16_nuimm8_4): Likewise.
- 	(m16_simm8_8): Likewise.
- 	(m16_nsimm8_8): Likewise.
- 	(m16_usym8_4): Likewise.
- 	(m16_usym5_4): Likewise.
- 	(mips_move_1word): Change type of variable `i' from int to size_t.
- 	(mips_move_2words): Likewise.
- 	(output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
- 	(function_arg_advance): Use HOST_PTR_PRINTF to print an address.
- 	(function_arg): Likewise.
- 	(function_arg_partial_nregs): Mark parameter `named' with
- 	ATTRIBUTE_UNUSED.
- 	(override_options): Use ISDIGIT instead of isdigit.
- 	(mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
- 	(final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
- 	(save_restore_insns): Cast HOST_WIDE_INT arguments passed to
- 	function `fatal' to long before printing.  Use
- 	HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
- 	times in this function.
- 	(function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
- 	(function_epilogue): Likewise for parameters `file' and `size'.
- 	Print an int with "%d" not "%ld".
- 	(mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
- 	(mips_function_value): Likewise for parameter `func'.
- 	(function_arg_pass_by_reference): Likewise for parameters `cum'
- 	and `named'.
- 	(extend_operator): Likewise for parameter `mode'
- 	(highpart_shift_operator): Likewise.
- 
- 	* mips.md (mul_acc_si): Remove unused variable `macc'.
- 
- Fri Jun 12 09:33:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (fold): Revert last change.  It breaks constant
- 	expressions somehow.
- 
- Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
- 	prevent operands from being evaluated twice.
- 
- Fri Jun 12 00:50:27 1998  Sergey Okhapkin  <sos@prospect.com.ru>
- 
- 	* toplev.c (lang_options): Add -remap as a preprocessor option.
- 
- Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
- 
- 	* i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
- 	which set CC_REVERSED since reload should ensure that
- 	the operands are already the correct type.
- 
- Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
- 	calling gen_rtx_SET.
- 
- Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* config/rs6000/x-aix43 (AR): Delete.
- 	(AR_FOR_TARGET_FLAGS): Add -X32_64 here.
- 
- Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
- 
- 	* config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
- 
- Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.c (override_options): Replace word_mode with explicit
- 	TARGET_64BIT check.
- 
- Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* regmove.c (regmove_optimize): If we can't replace the
- 	destination in an insn that sets the source, generate an explicit
- 	move of the source to the destination.
- 	(copy_src_to_dest): New function.
- 	(toplevel): Include basic-block.h.
- 
- 	* Makefile.in (regmove.o): Add basic-block.h dependencies.
- 
- Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* toplev.c (lang_options): Add missing options (nostdinc, idirafter).
- 
- Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.h (rtx_def): Improve documentation.
- 	(MEM_IN_STRUCT_P): Likewise.
- 
- Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* c-decl.c (start_decl): Correct test for -Wmain.
- 
- 	* c-decl.c (grokdeclarator): Remove unused variable "last".
- 
- Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (expand_builtin_setjmp): Store const1_rtx in target.
- 	(expand_builtin_longjmp): Abort if value isn't const1_rtx.
- 	Delete code storing value in static_chain_rtx.
- 	(expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
- 	to second expand_expr call.
- 
- Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* mips/mips.c: Remove -mabi=o32 and -mabi=n64.
- 
- Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cppmain.c (fatal): New function.
- 	* configure.in (cpp_main): New configuration variable.
- 	* configure: Regenerated.
- 	* Makefile.in (CCCP): Use a configuration variable to select basex
- 	for cccp.
- 	(cppmain$(exeext)): Add @extra_cpp_objs@.
- 
- Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* objc/objc-act.c: Add cpplib declarations.
- 	(lang_decode_option): Initialize cpplib if necessary.
- 	(lang_decode_option): New argc/argv interface.
- 	* tree.h (lang_decode_option): New argc/argv interface.
- 	* toplev.c (lang_options): Add cpp options.
- 	(main): New interface for lang_decode_option.
- 	* gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
- 	unless -E, -M or -MM is specified.
- 	* cpplib.h (cpp_handle_option): New function.
- 	* cpplib.c (cpp_handle_option): New function.
- 	(cpp_handle_options): Now calls cpp_handle_option.
- 	* c-tree.h (c_decode_option): New argc/argv interface.
- 	* c-lex.c (init_parse): cpplib now initialized in c_decode_option.
- 	* c-lang.c (lang_decode_option): New argc/argv interface.
- 	* c-decl.c: Add cpplib declarations.
- 	(c_decode_option): New argc/argv interface.
- 	(c_decode_option): Call cpp_handle_option.
- 	(c_decode_option): Now returns number of strings processed.
- 
- Wed Jun 10 09:47:13 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* unroll.c (verify_addresses): Use validate_replace_rtx to undo the
- 	changes.  Abort if the undo fails.
- 
- 1998-06-10  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (output_prolog): Change locations and
- 	directions of saving and restoring arguments of main on the stack.
- 
- Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
- 
- 	* reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
- 	for each alternative.  Do not replace a CONST_INT with a REG unless
- 	the reg is cheaper.
- 
- Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* decl.c (init_decl_processing): Fix typo.
- 
- 	* mips.c (gpr_mode): New variable.
- 	(override_options): Initialize gpr_mode.
- 	(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
- 	determine size and offset of general purpose registers save slots.
- 	(save_restore_insns, mips_expand_prologue): Similarly.
- 
- 	* reload.c (find_reloads_toplev): Use gen_lowpart common to convert
- 	between constant representations when we have (SUBREG (REG)) with
- 	REG equivalent to a constant.
- 
- Wed Jun 10 01:39:00 1998  Juha Sarlin  <juha@c3l.tyreso.se>
- 
- 	* h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
- 
- Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (fold): Even with otherwise constant trees, look for
- 	opportunities to combine integer constants.
- 
- Wed Jun  3 23:41:24 1998  John Wehle  (john@feith.com)
- 
- 	* i386.c (notice_update_cc): Clear cc_status.value2 in the
- 	case of UNSPEC 5 (bsf).
- 
- 	* i386.md (movsfcc, movdfcc, movxfcc): The floating point
- 	conditional move instructions don't support signed integer
- 	comparisons.
- 
- Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
- 	overflows.
- 
- 	* config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
- 	16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
- 	<glctr@abc.it>.
- 
- Tue Jun  9 16:23:13 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.c (expand_start_catch): Rename to start_catch_handler.
- 	(expand_end_catch): Delete function.
- 	(expand_end_all_catch): Remove catch status that expand_end_catch
- 	use to do.
- 	* except.h (expand_start_catch): Rename prototype.
- 	(expand_end_catch): Delete prototype.
- 
- Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* invoke.texi: Add documentation for -mips4 and -mabi=*.
- 
- Tue Jun  9 12:12:34 1998  Klaus Kaempf  (kkaempf@progis.de)
- 
- 	* alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
- 	(EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
- 
- Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
- 
- 	* haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
- 	as the threshold to permit splitting memory operations.
- 
- Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.c (gpr_mode): New variable.
- 	(override_options): Initialize gpr_mode.
- 	(compute_frame_size): Use "gpr_mode" instead of "word_mode" to
- 	determine size and offset of general purpose registers save slots.
- 	(save_restore_insns, mips_expand_prologue): Similarly.
- 
- 	* Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
- 	(LIBGCC2_CFLAGS): Remove -fexceptions.
- 	(LIB2FUNCS): Remove "_eh".
- 	(libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
- 	it with -fexceptions.
- 
- 	* Makefile.in (local-alloc.o): Depend on insn-attr.h.
- 	* local-alloc.c (block_alloc): Avoid creating false
- 	dependencies for targets which use instruction scheduling.
- 
- Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
- 	(ASM_FINISH_DECLARE_OBJECT): Define;
- 	* mips/elf64.h: Likewise.
- 
- Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (flag_new_exceptions): Remove extraneous `extern'.
- 
- Mon Jun  8 23:24:48 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
- 	(mulsidi3_ppc64): Delete.
- 
- Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (varasm.o): Depend on dbxout.h.
- 	(cse.o): Depend on toplev.h and output.h.
- 	(gcse.o): Depend on output.h.
- 
- 	* mips.c: Include system.h and toplev.h and remove redundant code.
- 	Include output.h after tree.h so all its prototypes get activated.
- 	* mips.md (table_jump): Remove unused variable `dest'.
- 
- 	* sparc.h: Add prototype for `v8plus_regcmp_op'.
- 
- 	* crtstuff.c (fini_dummy, init_dummy): Mark function definitions
- 	with __attribute__ ((__unused__)).
- 	(__frame_dummy): Provide prototype before use, wrap it with
- 	EH_FRAME_SECTION_ASM_OP.
- 
- 	* cse.c: Move inclusion of <setjmp.h> above local headers.
- 	Include toplev.h and output.h.
- 
- 	* dbxout.h: Add prototype for `dbxout_begin_function'.
- 
- 	* final.c (final_scan_insn): Wrap variable `max_skip' in macro
- 	ASM_OUTPUT_MAX_SKIP_ALIGN.
- 
- 	* gcse.c: Include system.h and output.h.
- 	(dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
- 	Make extern instead of static.
- 	(compute_can_copy): Only declare variables `reg' and `insn' when
- 	AVOID_CCMODE_COPIES is not defined.
- 	(record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
- 	(hash_scan_clobber): Likewise for `x' and `insn'.
- 	(hash_scan_call): Likewise.
- 	(record_last_set_info): Likewise for `setter'.
- 	(mark_call): Likewise for `pat'.
- 	(pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
- 
- 	* libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
- 	length parameter so that it multiplies the number of elements by
- 	the sizeof(element).
- 
- 	* output.h: Add prototype for `weak_finish'.
- 
- 	* recog.h: Likewise for `validate_replace_src'.
- 
- 	* rtl.h: Likewise for `optimize_save_area_alloca',
- 	`fix_sched_param', `purge_addressof', `gcse_main',
- 	`regmove_optimize', `dbr_schedule', `branch_prob' and
- 	`end_branch_prob'.
- 
- 	* toplev.h: Likewise for `set_float_handler' and
- 	`output_quoted_string'.
- 
- 	* varasm.c: Include dbxout.h.
- 
- Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
- 	GP_REG_P.  Use gr_regs instead of GR_REGS.
- 
- Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
- 			  Jeff Law      <law@cygnus.com>
- 
- 	* Revamped multiply support for MIPS chips.
- 	* mips.c (extend_operator): New function.
- 	(highpart_shift_operator): Likewise.
- 	* mips.h: Declare new functions.
- 	(PREDICATE_CODES): Add support for new predicates.
- 	* mips.md (mulsi3 expander): Simplify.
- 	(mulsi_mult3): Add another constraint alternative.  Support
- 	3 operand multiply instructions as found on various mips
- 	parts.
- 	(mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
- 	(mul_acc_si): New pattern and associated splitters.
- 	(mulsidi3 expander): Rework to use mulsidi3_64bit and
- 	mulsidi3_internal.
- 	(umulsidi3): New expander.
- 	(mulsidi3_internal): Accept either sign or zero extended
- 	operands and generate code as appropriate appropriately.
- 	(mulsidi3_64bit): Similarly.
- 	(smulsi3_highpart): Turn into an expander and generate code
- 	to match new patterns.
- 	(umulsi3_highpart): Likewise.
- 	(xmulsi3_highpart_internal): New pattern.
- 	(maddi patterns): Delete.  Replace with:
- 	(mul_acc_di, mul-acc_64bit_di): New patterns.
- 
- Mon Jun  8 14:16:15 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
- 	flag_new_exceptions runtime flag.
- 	(struct old_exception_table): New struct which represents what
- 	the exception table looks like without the new model.
- 	(NEW_EH_RUNTIME): New value used as a tag in the exception table to
- 	flag that this is a new style table.
- 	* except.h: Remove compile time flag NEW_EH_MODEL.
- 	(expand_builtin_eh_stub_old): New prototype.
- 	* tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
- 	* expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
- 	* c-decl.c (init_decl_processing): Add new builtin function
- 	__builtin_eh_stub_old.
- 	* final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
- 	* flags.h (flag_new_exceptions): New runtime flag.
- 	* toplev.c (flag_new_exceptions): Initialize default to 0,
- 	-fnew-exceptions sets to 1.
- 	* except.c (output_exception_table_entry): Output New style exception
- 	identifier into table, and replace compile time flag NEW_EH_MODEL
- 	with runtime flag flag_new_exceptions.
- 	(output_exception_table): Replace compile time flag NEW_EH_MODEL.
- 	(expand_builtin_eh_stub_old): Duplicates original functionality of
- 	expand_builtin_eh_stub.
- 	(expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
- 	* libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
- 	(old_find_exception_handler): New func, same as find_exception_handler
- 	except it works on the old style exception table.
- 	(__throw): Replace NEW_EH_MODEL. Detect new model based on presence
- 	of identifier in the exception table, and call appropriate routines.
- 
- Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* function.c: Define current_function_cannot_inline.
- 	(push_function_context_to): Save it.
- 	(pop_function_context_from): Restore it.
- 	* function.h (struct function): Provide it a home.
- 	* output.h: Declare it.
- 	* integrate.c (function_cannot_inline_p): Check it.
- 
- Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (force_operand): Detect PIC address loads before
- 	splitting arithmetic.
- 
- Mon Jun  8 09:22:38 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* tree.c (tree_class_check): Add braces to eliminate ambiguous
- 	else warning.
- 	(tree_check): Likewise.
- 
- Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* reg-stack.c (subst_stack_regs_pat): Make sure the top of
- 	stack is the destination for conditional move insn.
- 
- Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.h (TREE_VEC_END): Cast unused value to void.
- 
- 	* i386.c (print_operand): Use %lx for long operand.
- 
- Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (summarize_insn): Ignore rtl slot format 'i'.
- 
- Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
- 
- 	* sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
- 	conversion functions.
- 
- Sun Jun  7 14:02:58 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (flag_exceptions): Default to 0.
- 	(compile_file): Remove flag_exceptions == 2 hack.
- 	(main): Call lang_init_options.
- 	* tree.h: Declare it.
- 	* c-lang.c: Implement it.
- 	* objc/objc-act.c: Likewise.
- 	
- Sun Jun  7 12:27:30 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md (restore_stack_block): Generate MEM and specify mode.
- 	* rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode.
- 	* rs6000.c (rs6000_output_load_toc_table): Use fputs.
- 	(output_function_profiler): Use asm_fprintf and fputs.
- 
- Sat Jun  6 12:17:12 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gencheck.c: Remove redundant stdio.h include.  Add a definition
- 	of xmalloc for when we are forced to link with alloca.o.
- 
- 	* reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1'
- 	instead of `1U'.
- 
- 	* fold-const.c (constant_boolean_node): Make definition static to
- 	match the prototype.
- 
- Fri Jun  5 15:53:17 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function.
- 	(lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable.
- 	(do_spec, input_filename, input_filename_length): Make public.
- 	(main): Adjust outfiles allocation by lang_specific_extra_outfiles.
- 	Call lang_specific_pre_link befor elinking.
- 
- Fri Jun  5 12:29:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (rank_for_schedule): For "equally good insns", prefer
- 	the insn which has the most insns dependent on it.
- 
- Fri Jun  5 09:03:22 1998  John Carr  <jfc@mit.edu>
- 
- 	* alias.c (find_base_value): Avoid reading past	end of reg_base_value.
- 
- Fri Jun  5 03:05:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (insxh-1): New insxl pattern for combine.
- 
- Fri Jun  5 01:12:15 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* i386/i386.c (output_fp_conditional_move): New function
- 	to output floating point conditional move.
- 	(output_int_conditional_move): New function to output integer
- 	conditional move.
- 
- 	* i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call
- 	output_int_conditional_move () to output int conditional move.
- 	(movsfcc+5, movdfcc+5, movxfcc+5): Call
- 	output_fp_conditional_move () to output floating point
- 	conditional move.
- 
- 	* i386/i386.c (put_condition_code): In INT mode, check
- 	cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT.
- 
- Thu Jun  4 16:09:51 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* dbxout.c (dbxout_type): Output arrays of bits as if
- 	they were bitstrings for Chill
- 
- Thu Jun  4 14:35:27 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* tree.c (get_inner_array_type): New function.
- 	* tree.h (get_inner_array_type): Prototype.
- 	* expr.h (STACK_SAVEAREA_MODE): New macro.
- 	* expr.c (expand_builtin_setjmp): Initialize sa_mode using
- 	STACK_SAVEAREA_MODE.
- 	(expand_builtin_longjmp): Likewise.
- 	* explow.c (emit_stack_save): Likewise.
- 	(allocate_dynamic_stack_space): Use Pmode not insn_operand_mode.
- 
- 	* rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC.
- 	(CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC.
- 	* rs6000/aix43.h: New file.
- 	* rs6000/t-aix43: New file.
- 	* rs6000/x-aix41: New file.
- 	* rs6000/x-aix43: New file.
- 	* configure.in (rs6000-ibm-aix*): Use them.
- 	* rs6000/powerpc.h: Delete.
- 	* rs6000/sysv4.h: Move necessary powerpc.h definitions to here,
- 	* rs6000/netware.h: and here,
- 	* rs6000/win-nt.h: and here.
- 
- 	* rs6000/rs6000.c (processor_target_table, 620): Do not affect
- 	MASK_POWERPC64.
- 	(rs6000_override_options): Ignore flag_pic for AIX.
- 	(rs6000_immed_double_const): Delete.
- 	(u_short_cint_operand): Don't assume 32-bit CONST_INT.
- 	(reg_or_u_short_operand): Don't assume 32-bit CONST_INT.
- 	(num_insns_constant): mask64_operand() is 2 insns.
- 	(logical_operand): Don't assume 32-bit CONST_INT.
- 	(non_logical_cint_operand): Don't assume 32-bit CONST_INT.
- 	(easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit.
- 	(mask_constant): HOST_WIDE_INT parameter.
- 	(non_and_cint_operand): Delete.
- 	(mask64_operand): New function.
- 	(and64_operand): New function.
- 	(function_arg_advance): DImode arguments do not need special
- 	alignment when 64-bit.
- 	(function_arg): Likewise.
- 	(setup_incoming_varargs): Reverse reg_size assignment.
- 	(print_operand): HOST_WIDE_INT second parameter.
- 	(print_operand, 'B'): New case.
- 	(print_operand, 'M'): Fix typo in lossage string.
- 	(print_operandm 'S'): New case.
- 	(rs6000_stack_info): Reverse reg_size assignment.  Use total_raw_size
- 	to compute AIX push_p.  Use reg_size to compute {cr,lr}_save_offset.
- 	(rs6000_output_load_toc_table): Reverse init_ptr assignment.  Use
- 	TARGET_64BIT not TARGET_POWERPC64.  Convert fprintf to fputs.
- 	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
- 	(rs6000_allocate_stack_space): Use {cal|la}.
- 	(output_epilog): Use {cal|la}
- 	(output_function_profiler): Add call glue to mcount call.
- 	Load GOT highpart, don't add it.  Add lowpart with {cal|la}.
- 
- 	* rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64.
- 	(STACK_BOUNDARY): Depend on TARGET_32BIT.
- 	(ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type.
- 	(CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT.
- 	(EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'.  Replace 'S' with
- 	64-bit mask operand.
- 	(RS6000_SAVE_TOC): Depend on TARGET_32BIT.
- 	(STACK_SAVEAREA_MODE): New macro.
- 	(LEGITIMATE_CONSTANT_P): DImode okay for 64bit.
- 	(LEGITIMIZE_RELOAD_ADDRESS): New macro.
- 	(RTX_COSTS, AND/IOR/XOR): Reflect current machine description.
- 	(ASM_FILE_START): Emit 64-bit ABI directive.
- 	(ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode.
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit.
- 	(PREDICATE_CODES): Add "and64_operand" and "mask64_operand".
- 	Delete "non_and_cint_operand".  "input_operand" includes CONST_DOUBLE.
- 
- 	* rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask.
- 	Restore define_splits.
- 	(floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint.
- 	(floatsidf2_internal, floatunssidf2_internal2): Likewise.
- 	Do not specify base register operand mode.
- 	(floatsidf2_loadaddr): Do not specify base register operand mode.
- 	(floatsidf2_store1, floatsidf2_store2): Operand 1 must be base
- 	register; do not specify mode.  Remove !TARGET_POWERPC64 final
- 	constraint.
- 	(floatsidf2_load): Do not specify base register operand mode.  Remove
- 	!TARGET_POWERPC64 final constraint.
- 	(fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify
- 	base register operand mode.
- 	(adddi3): Split large constants early.
- 	(absdi3): Shift by 63, not 31.
- 	(*mulsidi3_ppc64): New pattern.
- 	(rotldi3): Add masking combiner patterns.
- 	(anddi3): Add rldic{r,l} masking.  Remove split of large constants
- 	because PPC insns zero-extend.
- 	(iordi3, xordi3): Split large constants early.
- 	(movsi matcher): Remove S and T constraints.
- 	(movsf const_double): Create SImode constant from TARGET_DOUBLE.
- 	(movdf_hardfloat32): Add default abort() case.
- 	(movdf easy_fp_const): Create DImode constant from TARGET_DOUBLE.
- 	(movdi): Remove 64-bit constant generator.  Try to convert
- 	CONST_DOUBLE to CONST_INT.  Handle TOC memory constants.
- 	(movdi_32): Add default abort() case.
- 	(movdi_64): Add numerous ways to split 64-bit constants.
- 	Make catch-all define_split more optimal and never FAIL.
- 	(movti_ppc64): Add default abort() case.
- 	(allocate_stack): Remove operand modes.  Use Pmode.
- 	(restore_stack_block): Remove operand modes.  Generate Pmode
- 	temporary.
- 	(save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode
- 	temporary.  Save area is double Pmode.
- 	(call_indirect_aix64, call_value_indirect_aix64): New patterns.
- 	(call, call_value): Do not specify address operand mode.  Choose
- 	appropriate AIX ABI.
- 	(*call_local64, *ret_call_local64): New patterns.
- 	(*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns.
- 	(*ret_call_nonlocal_aix32): Use call_value_indirect for REG.
- 	(compare): Materialize DImode truthvalues.
- 
- Thu Jun  4 01:26:57 1998  Craig Burley  <burley@gnu.org>
- 
- 	* expr.c (safe_from_p): Avoid combinatorial explosion
- 	over duplicate SAVE_EXPRs by ensuring we never recurse
- 	on one that has already been visited.
- 
- Thu Jun  4 00:54:21 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* loop.c (check_dbra_loop): Initialize final_value before
- 	normalizing the loop.
- 
- Wed Jun  3 20:00:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p): New arguments out and
- 	reloadnum.  Changed all callers.
- 
- 1998-06-03  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* system.h: Add _() and N_() macros in preparation for gettext.
- 
- Wed Jun  3 11:02:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* c-common.c (check_format_info): Put back check for C9x `hh'
- 	length modifier.  Warn about %n format writing into const.  Remove
- 	obsolete comment.
- 	(format_char_info): Fix comments.
- 
- 	* configure.in: Set float_format to m68k for all m68k targets that
- 	do not override LONG_DOUBLE_TYPE_SIZE.
- 	* config/float-m68k.h: New file.
- 
- Tue Jun  2 23:14:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize): Remove debug messages accidentally left in
- 	with the previous change.
- 
- Tue Jun  2 22:46:08 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (store_expr): Revert stray patch associated with
- 	1998-05-23 commit.
- 
- Tue Jun  2 21:59:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (rtx_unsafe_p): New function.
- 	(jump_optimize): Use it on if/then/else transformations and
- 	conditional move transformations.
- 
- Tue Jun  2 22:50:10 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST
- 	or VAR-- == CONST construct a proper mask if VAR is a bitfield.
- 	Cope with CONST being out of range for the bitfield.
- 
- Tue Jun  2 22:28:31 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
- 
- 	* expr.c (emit_move_insn_1): When moving complex values in several
- 	steps, emit a CLOBBER to show the destination dies.
- 
- Tue Jun  2 22:17:26 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (site.exp): Use the object testsuite directory as
- 	the temporary directory.
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): Handle taking the
- 	address of an ADDRESSOF rtx.
- 
- 1998-06-02  Mike Stump  <mrs@wrs.com>
- 
- 	* expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE.
- 	* i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define.
- 	* i960.md (ret, flush_register_windows): Define.
- 	(nonlocal_goto): Likewise.  Nested function nonlocal gotos don't
- 	work yet.
- 	* tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro.
- 
- Tue Jun  2 14:02:38 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
- 	around an OSF/1 library bug wrt sign-extension of inputs.
- 
- Tue Jun  2 13:02:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
- 
- Mon Jun  1 03:44:03 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
- 
- 	* varasm.c (assemble_variable): Augment alignment warning.
- 
- Mon Jun  1 12:14:28 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
- 	in the presence of IEEE negative 0's.
- 
- Sun May 31 16:11:41 1998  John Wehle  (john@feith.com)
- 
- 	* reload.c (find_reloads): Record the existing mode if
- 	operand_mode == VOIDmode before replacing a register with
- 	a constant.
- 	* i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set
- 	i386_compare_op1 to const0_rtx for the benefit of the
- 	conditional move patterns.
- 	(movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite
- 	based on suggestions from Jim Wilson.
- 
- Sun May 31 00:44:02 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun May 31 00:34:17 1998  Bruce Korb  <korbb@datadesign.com>
- 
- 	* Makefile.in (fixinc.sh): Update rules again.
- 
- Sun May 31 00:27:47 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* extend.texi: Bring back reference to trampoline paper.
- 
- Sun May 31 00:22:34 1998  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* Makefile.in (USER_H): Add stdbool.h.
- 	* ginclude/stdbool.h: New file.
- 
- Fri May 29 01:48:25 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
- 	of a non-note insn.
- 
- 	* gcse.c (pre_delete): Fix code to determine the mode of
- 	the reaching pseudo register.
- 
- Fri May 29 01:07:28 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* Makefile.in (GEN): Add gencheck.
- 	(STAGESTUFF): Add tree-check.h and gencheck.
- 
- Fri May 29 00:57:37 1998  Bruce Korb  <korbb@datadesign.com>
- 
- 	* Makefile.in (cstamp-h.in): Remove before trying to recreate.
- 	(fixinc.sh): Set some additional environment variables before
- 	calling mkfixinc.sh.
- 
- Thu May 28 12:57:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload.c (find_reloads): Do not force a reloads of match_operators.
- 
- Thu May 28 10:22:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (remove_handler): Add new prototype.
- 	* except.c (remove_handler): New function to remove handlers
- 	from an exception region.
- 	* flow.c (find_basic_blocks_1): Remove handlers from regions when
- 	handler label is deleted; remove exception regions with no handlers.
- 
- Thu May 28 09:36:39 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* except.h (rtx): Define rtx type correctly if needed.
- 	* function.h (rtx): Likewise.
- 	(tree): Define tree type correctly if needed.
- 
- 	* c-pragma.c (toplevel): Include rtl.h.
- 
- 	* stor-layout.c (toplevel): Move include of rtl.h before
- 	except.h.
- 
- 	* Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
- 	(tree.o): Add except.h dependency.
- 
- Wed May 27 22:02:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c: Revert accidental checkin.
- 
- 	* configure.lang: Fix thinko when adding a definition for
- 	target_alias to the Makefile.
- 
- Wed May 27 02:50:00 1998  Catherine Moore  (clm@cygnus.com)
- 
- 	* config/sparc/lb1spc.asm (.rem and .urem): Replace
- 	routines.
- 
- Wed May 27 02:48:31 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (arm_gen_constant): Rework to eliminate uninitialized
- 	variable warnings.  Don't generate scratch registers if only
- 	counting insns.
- 	(find_barrier): Eliminate unused variable SRC.
- 
- 1998-05-27  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* toplev.h (rtx_def): Provide global declaration to avoid
- 	`limited scope' warnings.
- 
- Tue May 26 23:47:52 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* Makefile.in (gencheck.o): Use HOST_CC.
- 	* i386/t-mingw32: New file.
- 	* configure.in (i386-*-mingw32*): Use.
- 
- Tue May 26 07:31:04 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (bad_signed_byte_operand): New predicate function.
- 	* arm.h (PREDICATE_CODES): Add it to the list.
- 	* arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb
- 	can't handle.
- 	(define_split): Two new splits for above insns.
- 
- 	* arm.c: Include toplev.h.
- 	(arm_override_options): Add parentheses around use of tune_flags.
- 	(arm_split_constant): Remove unused variable.
- 	(arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise.
- 	(output_func_prologue, arm_expand_prologue): Likewise.
- 	(arm_canonicalize_comparison): Make I unsigned; rework constants
- 	accordingly.  Add missing parentheses around << operation.
- 	(arm_rtx_costs): Correctly parenthesize MULT costs.  Add a DEFAULT
- 	clause.
- 	({load,store}_multiple_sequence): Initialize BASE_REG.
- 	(select_dominance_cc_mode): Add DEFAULT clauses.
- 	(broken_move): Return zero if the destination is not a register.
- 	(arm_reorg): Move unused REGNO declaration into the dead code.
- 	* arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated.
- 
- Mon May 25 22:49:56 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon May 25 11:56:24 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon May 25 14:00:13 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cpperror.c (v_cpp_message): Remove static prototype.
- 	* cpplib.c (v_cpp_message): Move prototype to cpplib.h.
- 	* cpplib.h (v_cpp_message): Add protoptype.
- 	(stdarg.h,varargs.h): Needed for v_cpp_message prototype.
- 
- Sun May 24 20:36:15 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun May 24 02:08:57 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 1998-05-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* m68k.h: Declare more functions used in macros.
- 	(REG_CLASS_CONTENTS): Completely embrace initializer.
- 	* m68k.md (adddi3, subdi3): Add abort call to avoid warning
- 	about returning no value.
- 	* cse.c (find_best_addr): Declare p and found_better only if
- 	needed.
- 	* dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0.
- 	* dwarfout.c (string_length_attribute): #if 0 away.
- 	* function.c (expand_function_end): Define varible blktramp only
- 	if needed.
- 	* jump.c (find_insert_position): Define only if !HAVE_cc0.
- 	* loop.c (combine_givs_p): Define variable tem only if needed.
- 	* real.c: Comment out unused functions eabs, eround,
- 	e{24,53,64,113}toasc and eiinfin.
- 
- Sat May 23 23:44:53 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* Makefile.in (boostrap2-lean, bootstrap3-lean,
- 	bootstrap4-lean): New targets.
- 
- Sat May 23 23:35:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* warn_summary, test_summary: Moved into the contrib directory.
- 
- 1998-05-23  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end
- 	of the Makefile.
- 	(FLOAT_H_TEST): Likewise.
- 	(ENQUIRE): Likewise.
- 	(float.h-nat): Likewise.
- 	(float.h-cross): Likewise.
- 	(enquire): Likewise.
- 	(enquire.o): Likewise.
- 	(stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h.
- 	(stmp-headers): Move actions to stmp-int-hdrs, retaining only a
- 	no-op.
- 	(FLOAT_H): Remove old float.h-nat version; move current definition
- 	to CROSS_FLOAT_H location.
- 	(all.cross): Remove comments about enquire stuff.
- 
- 	* Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
- 	(rest.encap): Likewise.
- 	(libgcc2.ready): Depend upon $(STMP_FIXPROTO)
- 
- 	* toplev.h (tree_node): Provide global declaration to avoid
- 	`limited scope' warnings.
- 
- Sat May 23 23:23:35 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* test_summary: Display section breaks for each entry
- 	in a multilibbed target's output.
- 
- 1998-05-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
- 	offset's mode is not ptr_mode, convert it.
- 
- 1998-05-22  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* fold-const.c (ssize_binop): New fn.
- 	* tree.h: Declare it.
- 
- Fri May 22 03:42:05 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* genextract.c (print_path): Handle zero-length path as a special
- 	case.
- 
- Fri May 22 01:38:07 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
- 
- Fri May 22 00:57:00 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
- 
- 	* final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value.
- 	(shorten_branches, final_scan_insn): Test value of
- 	JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it
- 	is defined.
- 	* tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes.
- 	* arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1.
- 	* arm/tcoff.h: Likewise.
- 	* i386/386bsd.h: Likewise.
- 	* i386/freebsd-elf.h: Likewise.
- 	* i386/freebsd.h: Likewise.
- 	* i386/netbsd.h: Likewise.
- 	* i386/ptx4-i.h: Likewise.
- 	* i386/sysv4.h: Likewise.
- 	* pa/pa.h: Likewise.
- 	* rs6000/linux.h: Likewise.
- 	* rs6000/rs6000.h: Likewise.
- 	* sh/sh.h: Likewise.
- 	* sparc/sp64-elf.h: Likewise.
- 	* v850/v850.h: Likewise.
- 	* rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0.
- 	* i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic).
- 
- Thu May 21 19:50:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (gen_add3_insn): New function.
- 	(fixup_match_2): Use it instead of calling gen_addsi3.
- 
- Thu May 21 23:09:50 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (gencheck): Depend on HOST_LIBDEPS.
- 
- 	* alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
- 	address.
- 
- Thu May 21 20:18:13 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* Makefile.in (TREE_H): Add tree-check.h.
- 	(tree-check.h, gencheck): New targets.
- 	* gencheck.c: New file.
- 	* tree.c (tree_check, tree_class_check): New functions.
- 	* tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define.
- 	(TYPE_CHECK, DECL_CHECK): Define.
- 	Modify all access macros to use generated checking macros.
- 
- Wed May 20 23:44:28 1998  John Wehle  (john@feith.com)
- 
- 	* acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag.
- 	* configure.in: Check for it.
- 	* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it.
- 	* final.c (uid_align, uid_shuid, label_align): Make static.
- 	(label_align): Change type to struct label_alignment pointer.
- 	(LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change.
- 	(LABEL_TO_MAX_SKIP): Define.
- 	(LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP,
- 	LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults.
- 	(shorten_branches): Record the maximum bytes to skip when
- 	aligning a label.
- 	(final_scan_insn): Use the maximum bytes to skip when aligning a label
- 	if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
- 	* i386.h (LOOP_ALIGN_MAX_SKIP,
- 	LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
- 	* i386.c (override_options): i386_align_jumps and i386_align_loops
- 	default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available.
- 	* invoke.texi: Document new i386 align-loops and align-jumps behavior.
- 
- 1998-05-21  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* cplus-dem.c (do_type): Handle volatile qualification.
- 
- Thu May 21 12:23:17 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* function.c (init_function_start): Don't call emit_line_note if
- 	lineno is 0.  (Can happen when compiling Java .class files.)
- 
- Thu May 21 19:50:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
- 	end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
- 
- Thu May 21 19:32:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* combine.c (nonzero_bits): For paradoxical subregs, take
- 	LOAD_EXTENDED_OP into account.
- 
- Thu May 21 11:51:15 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* configure.in (extra_c_objs): Add prefix.o.
- 	(extra_cxx_objs): Extra objects for C++ with cpplib.
- 	* configure: Regenerate.
- 
- 	* c-tree.h (get_directive_line): Different prototype for cpplib.
- 	(GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
- 
- 	* c-lex.h (get_directive_line): Not needed here for cpplib.
- 
- 	* c-lex.c (yy_cur,yy_lim,yy_get_token): Move to c-common.c.
- 	(GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line.
- 
- 	* c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib.
- 	(yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c
- 
- Thu May 21 09:04:42 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gengenrtl.c (type_from_format, accessor_from_format): Change
- 	type of parameter `c' from `char' to `int'.
- 
- Wed May 20 22:28:34 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* warn_summary, test_summary: New scripts from
- 	Kaveh Ghazi and Alexandre Oliva respectively.
- 
- 	* gcse.c (current_function_calls_longjmp): Declare.
- 
- 1998-05-20  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (base_type_die): Use int_size_in_bytes.
- 
- Wed May 20 01:11:02 1998  Doug Evans  (devans@cygnus.com)
- 			  Jeff Law  (law@cygnus.com)
- 
- 	* Global CSE and constant/copy propagation.
- 	* Makefile.in (OBJS): Add gcse.o.
- 	(STAGESTUFF): Add *.gcse.
- 	(gcse.o): Add dependencies.
- 	(mostlyclean): Remove *.gcse and */*.gcse.
- 	* gcse.c: New file.
- 	* loop.c (loop_optimize): Move call to init_alias_analysis.
- 	* recog.c (validate_replace_src): New function.
- 	* toplev.c (gcse_dump): New global variable.
- 	(flag_gcse, gcse_time): Likewise.
- 	(compile_file): Initialize gcse_time and clean out the gcse dump
- 	file if necessary.
- 	(rest_of_compilation): Call gcse_main as requested.  Dump RTL
- 	after gcse if requested.
- 	(main): Enable gcse for -O2 and above.  Handle -dG.  Enable gcse
- 	dumps for -da.
- 	* gcc.texi: Add gcse related internal documentation.
- 	* invoke.texi: Note new command line options for gcse.
- 	* tm.texi: Document AVOID_CCMODE_COPIES.
- 	* mips.h (AVOID_CCMODE_COPIES): Define.
- 
- Tue May 19 22:31:20 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR)
- 	exists.
- 	(stmp-fixproto): Simlarly for running fixproto.
- 	* cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include.
- 
- Tue May 19 19:08:52 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/mips/mips.c (double_memory_operand): Accept any MEM during
- 	reload when TARGET_64BIT.
- 
- Tue May 19 18:21:25 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	Finish incomplete change started by Kenner.
- 	* configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines.
- 	(powerpcle-*-cygwin32): Delete xm_defines.
- 	* final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use
- 	HAVE_STAB_H instead of NO_STAB_H.
- 	* config/xm-linux.h (NO_STAB_H): Delete.
- 	(HAVE_STAB_H): Undefine.
- 	* config/i386/xm-go32.h (NO_STAB_H): Delete.
- 
- 1998-05-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
- 	LANG_TYPE trees with DECL_SOURCE_LINE of 0.
- 
- Tue May 19 15:07:54 1998  Todd Vierling  <tv@netbsd.org>
- 
- 	* arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
- 
- Tue May 19 17:19:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p): New function.
- 	(allocate_reload_reg, choose_reload_regs): Use it.
- 
- Tue May 19 11:51:00 1998  Andrew MacLeod  (amacleod@cygnus.com)
- 
- 	* except.c (expand_start_catch): Correct logic for when to
- 	generate a new handler label, and when to use the old one.
- 
- Tue May 19 11:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (print-rtl.o): Depend on bitmap.h.
- 	(dbxout.o): Depend on toplev.h.
- 	($(SCHED_PREFIX)sched.o): Likewise.
- 	($(out_object_file)): Likewise for system.h and toplev.h.
- 	(cppmain.o): Depend on gansidecl.h.
- 	(cpplib.o): Likewise.
- 	(cpperror.o): Likewise.
- 	(cppexp.o): Likewise.
- 	(cpphash.o): Likewise.
- 	(cppalloc.o): Likewise.
- 	(fix-header.o): Depend on cpplib.h and cpphash.h.
- 	(scan-decls.o): Depend on gansidecl.h.
- 
- 	* basic-block.h (free_regset_vector): Add prototype.
- 
- 	* cccp.c (check_precompiled): Mark parameter `fname' with
- 	ATTRIBUTE_UNUSED.
- 	(do_assert): Likewise for `op' and `keyword'.
- 	(do_unassert): Likewise.
- 	(do_line): Likewise for `keyword'.
- 	(do_error): Likewise for `op' and `keyword'.
- 	(do_warning): Likewise.
- 	(do_ident): Likewise for `keyword'.
- 	(do_pragma): Likewise for `limit', `op' and `keyword'.
- 	(do_sccs): Likewise.
- 	(do_if): Likewise for `keyword'.
- 	(do_elif): Likewise.
- 	(do_else): Likewise.
- 	(do_endif): Likewise.
- 
- 	* collect2.c (getenv): Remove redundant prototype.
- 	(collect_exit, collect_execute, dump_file): Likewise.
- 	(dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST.
- 	(dump_prefix_list): Hide prototype and definition.
- 
- 	* sparc.c: Include toplev.h.
- 	(intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED.
- 	(symbolic_memory_operand): Likewise.
- 	(sp64_medium_pic_operand): Likewise.
- 	(data_segment_operand): Likewise.
- 	(text_segment_operand): Likewise.
- 	(splittable_symbolic_memory_operand): Likewise.
- 	(splittable_immediate_memory_operand): Likewise.
- 	(eq_or_neq): Likewise.
- 	(normal_comp_operator): Likewise.
- 	(noov_compare_op): Likewise.
- 	(v9_regcmp_op): Likewise.
- 	(v8plus_regcmp_op): Likewise.
- 	(extend_op): Likewise.
- 	(cc_arithop): Likewise.
- 	(cc_arithopn): Likewise.
- 	(small_int): Likewise.
- 	(uns_small_int): Likewise.
- 	(clobbered_register): Likewise.
- 	(legitimize_pic_address): Likewise.
- 	(delay_operand): Likewise.
- 	(sparc_builtin_saveregs): Remove unused variable `stdarg'.
- 
- 	* sparc.h (order_regs_for_local_alloc, eligible_for_return_delay,
- 	sparc_issue_rate, v8plus_regcmp_p): Add prototypes.
- 
- 	* sparc.md (cmpdi_v8plus): Add abort for default case in switch.
- 
- 	* cppalloc.c: Include gansidecl.h.
- 
- 	* cpperror.c: Include stdarg.h/varargs.h and gansidecl.h.
- 	(cpp_file_line_for_message): Mark parameter `pfile' with
- 	ATTRIBUTE_UNUSED.
- 	(v_cpp_message): New function.
- 	(cpp_message): Use it.  Also convert to variable arguments.
- 	(cpp_fatal): Likewise.
- 	(cpp_pfatal_with_name): Constify parameter `name'.
- 
- 	* cppexp.c: Move gansidecl.h before cpplib.h.
- 	* cpphash.c: Likewise.
- 	* cpphash.h (hashf, delete_macro): Add prototypes.
- 
- 	* cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before
- 	cpplib.h.  Don't include errno.h.
- 	(update_path): Add arguments to prototype.
- 	(cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro,
- 	cpp_print_containing_files): Remove redundant prototypes.
- 	(cpp_hash_cleanup, add_import, append_include_chain,
- 	make_assertion, path_include, initialize_builtins,
- 	initialize_char_syntax, finclude, validate_else, comp_def_part,
- 	lookup_import, redundant_include_p, is_system_include,
- 	read_name_map, read_filename_string, open_include_file,
- 	check_macro_name, compare_defs, compare_token_lists,
- 	eval_if_expression, change_newlines): Add prototype arguments.
- 	(hashf): Remove redundant prototype.
- 	(read_token_list, free_token_list, safe_read, xcalloc, savestring,
- 	conditional_skip, skip_if_group): Add prototype arguments.
- 	(fdopen): Remove redundant prototype.
- 	(do_define, do_line, do_include, do_undef, do_error, do_pragma,
- 	do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs,
- 	do_once, do_assert, do_unassert, do_warning): Add prototype arguments.
- 	(struct directive): Add prototype arguments to function pointer
- 	member `func'.
- 	(handle_directive): Add missing arguments to call to `do_line'.
- 	(do_include): Mark parameters `unused1' and `unused2' with
- 	ATTRIBUTE_UNUSED.
- 	(do_line): Likewise for `keyword' and new parameters `unused1' and
- 	`unused2'.
- 	(do_error): Likewise for `keyword'.
- 	(do_warning): Likewise.  Also add missing argument `pfile' in call
- 	to cpp_pedwarn.
- 	(do_once): Mark parameter `keyword', `unused1' and `unused2' with
- 	ATTRIBUTE_UNUSED.
- 	(do_ident): Likewise for `keyword', `buf' and `limit'.
- 	(do_pragma): Likewise.  Also add missing arguments in call to do_once.
- 	(do_sccs): Mark parameter `keyword', `buf' and `limit' with
- 	ATTRIBUTE_UNUSED.
- 	(do_if): Likewise for `keyword'.
- 	(do_elif): Likewise.
- 	(eval_if_expression): Likewise for `buf' and `length'.
- 	(do_xifdef): Likewise for `unused1' and `unused2'.
- 	(do_else): Likewise for `keyword', `buf' and `limit'.
- 	(do_endif): Likewise.
- 	(parse_name): Add missing argument `pfile' in call to cpp_pedwarn.
- 	(cpp_handle_options): Remove superfluous NULL argument in call to
- 	cpp_fatal.
- 	(cpp_handle_options): Likewise.
- 	(do_assert): Mark parameter `keyword', `buf' and `limit' with
- 	ATTRIBUTE_UNUSED.
- 	(do_unassert): Likewise.
- 	(cpp_print_file_and_line): Add missing argument `pfile' in call to
- 	cpp_file_line_for_message.
- 	(v_cpp_error): New function.
- 	(cpp_error): Use it. Also accept variable arguments.
- 	(v_cpp_warning): New function.
- 	(cpp_warning): Use it. Also accept variable arguments.
- 	(cpp_pedwarn): Accept variable arguments.
- 	(v_cpp_error_with_line): New function.
- 	(cpp_error_with_line): Use it.  Accept variable arguments.
- 	(v_cpp_warning_with_line): New function.
- 	(cpp_warning_with_line): Use it.  Accept variable arguments.  Hide
- 	definition.
- 	(cpp_pedwarn_with_line): Accept variable arguments.
- 	(cpp_pedwarn_with_file_and_line): Likewise.
- 	(cpp_error_from_errno): Constify parameter `name'.  Add missing
- 	argument `pfile' in call to cpp_file_line_for_message.
- 	(cpp_perror_with_name): Constify parameter `name'.
- 
- 	* cpplib.h: Define PARAMS() in terms of PROTO().
- 	(fatal): Remove redundant prototype.
- 	(cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line,
- 	cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line,
- 	cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name,
- 	cpp_fatal, cpp_message, cpp_pfatal_with_name,
- 	cpp_file_line_for_message, cpp_print_containing_files): Add
- 	arguments to prototypes.
- 	(scan_decls, cpp_finish): Add prototypes.
- 
- 	* cppmain.c: Include gansidecl.h.
- 	(main): Remove unused variable `i'.
- 
- 	* dbxout.c: Include toplev.h.
- 
- 	* demangle.h (do_tlink, collect_execute, collect_exit,
- 	collect_wait, dump_file, file_exists): Add prototype.
- 
- 	* dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide
- 	prototype and definition.
- 	(gen_unspecified_parameters_die): Don't assign results of call to
- 	function new_die() to unused variable `parm_die'.
- 	(dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED.
- 	(dwarf2out_define): Likewise for `lineno' and `buffer'.
- 
- 	* dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide
- 	prototype and definition.
- 	(output_die): Add prototype arguments to function pointer arg.
- 	(output_unspecified_parameters_die): Mark parameter `arg' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* except.c (output_exception_table_entry): Remove unused variable
- 	`eh_entry'.
- 
- 	* except.h (expand_fixup_region_start, expand_fixup_region_end):
- 	Add prototypes.
- 
- 	* expr.c (do_jump_by_parts_equality_rtx): Remove prototype.
- 
- 	* expr.h (do_jump_by_parts_equality_rtx): Add prototype.
- 
- 	* fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h
- 	before cpplib.h, include cpphash.h, remove redundant prototype of
- 	cpp_fatal, don't define `const', add a prototype for `fatal'.
- 	(cpp_file_line_for_message): Add missing arguments `pfile'.
- 	(v_cpp_message): New function.
- 	(cpp_message): Use it.
- 	(v_fatal): New function.
- 	(fatal, cpp_fatal): Use it.
- 	(cpp_pfatal_with_name): Constify parameter `name'.
- 
- 	* flow.c (free_regset_vector): Remove redundant prototype.
- 
- 	* function.c (round_down): Wrap prototype and definition with
- 	macro ARGS_GROW_DOWNWARD.
- 	(record_insns): Wrap prototype and definition with
- 	defined (HAVE_prologue) || defined (HAVE_epilogue).
- 
- 	* gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros.
- 
- 	* gen-protos.c: Include gansidecl.h.
- 	(hashf): Don't make it static, constify parameter `name'.
- 
- 	* genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match
- 	specifier %s in calls to function `fatal'.
- 
- 	* haifa-sched.c: Include toplev.h.
- 	(find_rgns): Remove unused variable `j'.
- 
- 	* integrate.c (note_modified_parmregs): Mark parameter `x' with
- 	ATTRIBUTE_UNUSED.
- 	(mark_stores): Likewise.
- 
- 	* jump.c (mark_modified_reg): Likewise.
- 
- 	* output.h (insn_current_reference_address): Add prototype.
- 	(eh_frame_section): Likewise.
- 
- 	* print-rtl.c: Include bitmap.h.
- 
- 	* reload1.c (reload): Wrap variables `note' and `next' in macro
- 	PRESERVE_DEATH_INFO_REGNO_P.
- 	(forget_old_reloads_1): Mark parameter `ignored' with
- 	ATTRIBUTE_UNUSED.
- 	(choose_reload_regs): Remove unused variable `in'.
- 	(reload_cse_invalidate_mem): Mark parameter `ignore' with
- 	ATTRIBUTE_UNUSED.
- 	(reload_cse_check_clobber): Likewise.
- 
- 	* rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
- 	(mark_elimination): Fix typo in prototype.
- 
- 	* scan-decls.c: Include gansidecl.h.
- 
- 	* tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
- 
- Mon May 18 22:37:33 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (identify_blocks): Fix thinko when setting the
- 	block number for NOTE_INSN_BLOCK_END.
- 
- Mon May 18 15:30:42 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/lib1funcs.asm: Add .text pseudo op to start of
- 	___udivsi3.
- 
- 	* config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
- 	underscores for the prefixes to the names of the maths functions.
- 
- 	* dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE.  Add
- 	comment explaining why.
- 
- Mon May 18 13:20:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.h (TYPE_SIZE_UNIT): New.
- 	(struct tree_type): Add size_unit member.
- 	* stor-layout.c (layout_type): Initialize it.
- 	* expr.c (get_inner_reference) [ARRAY_REF]: Use it.
- 	* tree.c (size_in_bytes, int_size_in_bytes): Likewise.
- 
- Mon May 18 12:07:37 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* stor-layout.c (layout_record): Fix off-by-one error when checking
- 	length of the TYPE_BINFO vector.
- 
- Mon May 18 10:59:23 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
- 	function parameter passed in memory.
- 
- Mon May 18 09:02:09 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files.
- 	Prototypes for externally used functions in respective C files.
- 	* dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c,
- 	final.c: Include above files.
- 	* Makefile.in (toplev.o): Add dependency for above four headers.
- 	(final.o): Likewise.
- 	(dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four
- 	respective header files.
- 
- Mon May 18 01:23:33 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (TARGET_TOOLPREFIX): No longer define.
- 	(AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in
- 	the build tree if they exist.
- 	(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update
- 	appropriately.
- 	(objdir): Let configure substitute value.
- 	(FLOAT_H): Let configure select a pre-built version from the
- 	config subdir.
- 	* build-make (INSTALL_TARGET, ALL): Disable, no longer needed.
- 	* configure.in: Substitute for objdir.
- 
- 	* Makefile.in (build_canonical, host_canonical): Let configure
- 	substitute values for these variables.
- 	* configure.in: Substitute for build_canonical, host_canonical
- 	and target_subdir in generated Makefile.
- 
- 	* output.h (find_basic_blocks): Declare.
- 	(free_basic_block_vars, set_block_num, life_analysis): Likewise.
- 
- 	* Makefile.in (BISON): Use bison from the build tree if it exists.
- 	(FLEX): Similarly.
- 
- Mon May 18 00:08:19 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* gcc.c (SWITCH_CURTAILS_COMPILATION): Definition.
- 	(DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c.
- 	(process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan
- 	command line arguments to see if an executable is not being
- 	created, and if so - do not append the suffix.
- 
- 	* tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
- 	driver macro.
- 
- Sun May 17 23:59:45 1998  John Wehle  (john@feith.com)
- 
- 	* i386.h (ALIGN_DFmode): Delete.
- 	(CONSTANT_ALIGNMENT): Define.
- 	* varasm.c (force_const_mem): Use it.
- 
- Sun May 17 19:31:05 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
- 	using it with swap_condition, not before.
- 
- Sun May 17 13:44:32 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alias.c (mode_alias_check): Delete.
- 	(true_dependence, anti_dependence, output_dependence): Revert April 21
- 	change.
- 
- Sun May 17 08:45:21 1998  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* toplev.c (output_lang_identify): Enable prototype and definition.
- 
- Sun May 17 01:12:27 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat May 16 23:20:32 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/osf.h (HAVE_STAMP_H): Define.
- 	* alpha.c: Use it.
- 	* alpha/netbsd.h, alpha/netbsd-elf.h: New files.
- 	* configure.in (alpha*-*-netbsd*): New.
- 	Based on patches from Paul H. Anderson <pha@pdq.com>.
- 
- 	* configure.in (alpha*-*-linux-*): Kill xm_defines.
- 	(alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
- 	* alpha/xm-linux.h: Remove file.
- 
- Sat May 16 18:32:45 1998  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* dbxout.c (dbxout_parms): If mode of type of parameter living
- 	in memory doesn't match mode of DECL_RTL, make big endian correction.
- 
- Fri May 15 21:40:06 1998  John Wehle  (john@feith.com)
- 
- 	* i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
- 
- Fri May 15 18:55:22 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
- 	* stor-layout.c (layout_record): Set it.
- 
- Fri May 15 18:49:30 1998  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* toplev.c (rest_of_compilation): Don't defer nested functions.
- 
- Fri May 15 17:42:52 1998  Bob Manson  <manson@charmed.cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
- 	to an 8-byte boundary if info_ptr->fpmem_p.
- 
- Fri May 15 17:36:11 1998  Bill Moyer  <ttk@cygnus.com>
- 
- 	* loop.c (basic_induction_var): Added test preventing
- 	CCmode parameter passed to convert_modes().
- 
- Fri May 15 17:26:18 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore
- 	input_filename and lineno around expand_expr call.  Set them to values
- 	in WFL before expand_expr call.
- 
- Fri May 15 12:44:57 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
- 
- 	* stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
- 
- Fri May 15 07:20:03 1998  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* fold-const.c (constant_boolean_node): New function.
- 	(fold): Use it.
- 
- Fri May 15 11:21:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (gen_shl_and): Don't sign extend constant for kind two.
- 	Abort if trying to split kind 3 or 4 outside of combine.
- 
- Fri May 15 01:47:37 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
- 
- Fri May 15 01:42:45 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* objc/Make-lang.in (OBJC_O): Add missing exeext.
- 	(libobjc.a, runtime-info.h): Likewise.
- 
- Fri May 15 01:29:39 1998  John Wehle  (john@feith.com)
- 
- 	* i386.h (DATA_ALIGNMENT): Define.
- 
- Fri May 15 05:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (delete_output_reload): Ignore single USE that
- 	was emitted for the pseudo use of this INSN.
- 	If the no reference to REG between OUTPUT_RELOAD_INSN and INSN
- 	remains, we can always delete OUTPUT_RELOAD_INSN.
- 
- Thu May 14 18:38:50 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (find_reloads): Don't penalize SCRATCH output reload.
- 
- Thu May 14 15:10:30 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
- 
- Thu May 14 16:30:47 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* eh-common.h: New file for basic EH data structures.
- 	* except.h: Various prototypes and structures for NEW_EH_MODEL.
- 	* function.h (struct function): Add a struct eh_stack for the catch
- 	clause stack.
- 	* except.c (gen_exception_label): New function to generate an
- 	exception label.
- 	(push_eh_entry): Use gen_exception_label() and init 'label_used' field.
- 	(push_entry): New function to push an existing entry onto a stack.
- 	(receive_exception_label): New function to emit the code required
- 	at the start of all catch blocks.
- 	(struct func_eh_entry): New structure for maintaining handlers
- 	associated with EH regions.
- 	(new_eh_region_entry): New function to register an EH region.
- 	(add_new_handler): New function to register a handler with a region.
- 	(get_new_handler): Creates  anew handler entry for registering.
- 	(find_func_region): New function to convert a NOTE eh region number
- 	to an Eh region index.
- 	(get_first_handler): New function to get the first handler in a region.
- 	(clear_function_eh_region): New function to release memory.
- 	(duplicate_handlers): New function to duplicate a list of handlers.
- 	(expand_eh_region_end): Create a new region entry node as well.
- 	(expand_leftover_cleanups): Call receive_exception_label() and
- 	register the cleanup as a handler to the current region.
- 	(expand_start_catch): New function to start a catch clause.
- 	(expand_end_catch): New function to end a catch clause.
- 	(expand_start_all_catch): Restructure to not do the equivalent of
- 	what expand_start_catch() does now. Push the exception region being
- 	handled onto the catch stack.
- 	(output_exception_table_entry): Issue an entry for each handler
- 	associated with a region.
- 	(set_exception_lang_code): New function for setting the language code.
- 	(set_exception_version_code): New function to set the version number.
- 	(output_exception_table): Output version and language codes.
- 	(find_exception_handler_labels): Find handler labels using new scheme.
- 	(is_exception_handler_label): New function, returns 1 if label is
- 	present as a handler in some exception region.
- 	(check_exception_handler_labels): Use the new scheme.
- 	(init_eh_for_function): Initialize the catch stack.
- 	(save_eh_status): Save the catch stack.
- 	(restore_eh_status): Restore the catch stack.
- 	(scan_region): Don't remove unreferenced handler label. Flow does it.
- 	(get_reg_for_handler): New function to get the eh_context pointer
- 	passed by __throw.
- 	(expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only.
- 	* final.c (final_scan_insn): With NEW_EH_MODEL, add EH table
- 	entry when processing END region rather that START region.
- 	* flow.c (find_basic_blocks_1): Find all potential handler regions
- 	now that we don't automatically know what the labels might be.
- 	Let scan_region() remove unreferenced EH BEGIN/END labels.
- 	* integrate.c (get_label_from_map): Put inlined labels onto the
- 	permanent obstack since we don't know which ones might be exception
- 	labels.
- 	(save_for_inline_copying): Make new copies of all the handlers.
- 	(expand_inline_function): Make new copies of all the handlers.
- 	* libgcc2.c: Remove local struct decls, and include eh-common.h.
- 	(find_exception_handler): With NEW_EH_MODEL the first matching
- 	region we find is the right one. Add eh_info as a new parameter.
- 	(__throw): Pass eh_info to find_exception_handler. Set handler
- 	and pass use different regs  under NEW_EH_MODEL.
- 
- Thu May 14 12:58:21 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i960.h (hard_regno_mode_ok): Changed to function from array of
- 	unsigned.
- 	(HARD_REGNO_MODE_OK): Call function instead of testing bit.
- 	* i960.c (hard_regno_mode_ok): Changed to function from array of
- 	unsigned.
- 
- Thu May 14 08:41:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (remove_replacements): New function.
- 	* reload.h (remove_replacements): Declare.
- 	* reload1.c (choose_reload_regs): Disable some reloads that
- 	belong to inherited reloads.
- 
- Thu May 14 02:17:17 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (scan_loop): Don't call move_movables for optimize_size.
- 
- 	* reload1.c (merge_assigned_reloads): When merging, reset
- 	reload_spill_index for the eliminated reload.
- 
- Wed May 13 17:51:13 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (schedule_insns): Fix merge goof.
- 
- 1998-05-13  Jim Wilson  <wilson@cygnus.com>
- 
- 	* varasm.c (make_decl_rtl): Revert April 1 change.
- 	* alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
- 	m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
- 	Get function name from the SYMBOL_REF in the DECL_RTL, not from
- 	DECL_ASSEMBLER_NAME.
- 	* i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
- 	DECL_ASSEMBLER_NAME.
- 
- Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.c (notice_update_cc, output_float_compare): Disable
- 	TARGET_CMOVE support.
- 
- Wed May 13 15:28:59 1998  Michael Meissner  <meissner@cygnus.com>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* rtlanal.c (find_reg_note): Ignore notes that are not on on
- 	insns of class 'i'.
- 	(find_regno_note): Likewise.
- 
- 	* Makefile.in (stor-layout.o): Depend on except.h.
- 	(varasm.o, function.o): Likewise.
- 	(expr.o): Depend on except.h, modemap.def and hard-reg-set.h.
- 
- 	* Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o.
- 	(rtl.o, emit-rtl.o): Add dependency on bitmap.h.
- 	($(HOST_PREFIX_1)rtl.o): Likewise.
- 	($(HOST_PREFIX_1)bitmap.o): New host object.
- 	* emit-rtl.c (toplevel): Include bitmap.h.
- 	(gen_rtx): Handle 't' and 'b' nodes.
- 	* print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes.
- 	Print block number for block begin/end notes.  Print 't' type
- 	nodes as a pointer.  Know that the 3rd argument of live range
- 	start/stop notes is really a range_info rtx.  If type is 'b', print
- 	out argument as a bitmap.
- 	* rtl.c: Include bitmap.c.
- 	(copy_rtx): Copy tree nodes as is.  Copy bitmaps if type is 'b'.
- 	(note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE.
- 	* rtl.def (RANGE_LIVE): New node to hold live information while we
- 	recalculate the basic blocks.
- 	(RANGE_REG, RANGE_INFO): New rtl types for live range splitting.
- 	(RANGE_VAR): New node, to hold information saved in symbol node for New
- 	communicating live range information to the debug output functions.
- 	* rtl.h (rtunion_def): Add rttree and rtbit fields.
- 	(XBITMAP, XTREE): New accessor macros.
- 	(NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes.
- 	(NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes.
- 	(NOTE_BLOCK_LIVE_RANGE_BLOCK): Define.
- 	(NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes.
- 	(RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros.
- 	(RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros.
- 	(RANGE_INFO_*): Likewise.
- 	* sched.c (sched_analyze): Keep live range start/stop notes.
- 	(unlink_other_notes): Likewise.
- 	* haifa-sched.c (sched_analyze): Keep live range start/stop notes.
- 	(unlink_other_notes): Likewise.
- 	* tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros.
- 	(BLOCK_LIVE_RANGE_FLAG): Likewise.
- 	(DECL_LIVE_RANGE_RTL): Likewise.
- 	(struct tree_block): Add live_range_flag, live_range_var_flag,
- 	live_range_start and live_range_end.
- 	(struct tree_decl): Add live_range_rtl field.
- 	* gengenrtl.c (type_from_format): Handle 'b' and 't'.
- 	(accessor_from_format): Likewise.
- 
- 	* haifa-sched.c (schedule_block): Make verbose output line up.
- 	Also add a blank line in printing the individual ready lists.
- 
- Wed May 13 15:43:44 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h.
- 	(c-lex.o): Depend on output.h.
- 	(c-common.o): Likewise.
- 	(stmt.o): Likewise.
- 	(calls.o): Likewise.
- 	(integrate.o): Depend on toplev.h.
- 	(regclass.o): Depend on output.h.
- 	(final.o): Depend on reload.h.
- 
- 	* c-common.c: Include output.h.
- 	(check_format_info): Remove unused variable `integral_format'.
- 
- 	* c-decl.c (print_lang_decl): Mark parameters `file', `node' and
- 	`indent' with ATTRIBUTE_UNUSED.
- 	(print_lang_type): Likewise.
- 	(maybe_build_cleanup): Likewise for parameter `decl'.
- 	(copy_lang_decl): Likewise for parameter `node'.
- 
- 	* c-lang.c: Include c-tree.h, c-lex.h and toplev.h.
- 	(lang_print_xnode): Mark parameters `file', `node' and `indent'
- 	with ATTRIBUTE_UNUSED.
- 	(lookup_interface): Likewise for parameter `arg'.
- 	(is_class_name): Likewise.
- 	(maybe_objc_check_decl): Likewise for parameter `decl'.
- 	(maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and
- 	`reflexive'.
- 	(maybe_objc_method_name): Likewise for parameter `decl'.
- 	(build_objc_string): Likewise for parameters `len' and `str'.
- 
- 	* c-lex.c: Include output.h.
- 
- 	* c-lex.h (position_after_white_space): Correct typo in prototype.
- 
- 	* c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else,
- 	c_expand_end_cond, init_iterators): Add prototypes.
- 
- 	* caller-save.c (set_reg_live): Mark parameters `reg' and `setter'
- 	with ATTRIBUTE_UNUSED.
- 
- 	* calls.c: Include output.h.
- 
- 	* cccp.c (pipe_closed): Mark parameter `signo' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* combine.c: Move inclusion of expr.h to after insn-config.h.
- 
- 	* iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define
- 	as empty, rather define as ((void)0).
- 
- 	* sparc.c (sparc_check_64): Add braces around ambiguous `else'.
- 	Add parentheses around assignment used as truth value.
- 
- 	* cplus-dem.c (squangle_mop_up): Change return type to void.
- 	(internal_cplus_demangle): Remove unused parameter `options'.
- 	All callers changed.
- 	(cplus_demangle_opname): Remove function wide variable `int i' and
- 	replace with `size_t i' at each location where it is used.
- 	(cplus_demangle_opname): Change type of `i' from int to size_t.
- 
- 	* cppexp.c (right_shift): Mark parameter `pfile' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* cpphash.c (cpp_lookup): Likewise.
- 	(cpp_hash_cleanup): Likewise.
- 
- 	* cpplib.c (parse_name): Add a prototype and make it static.
- 	(null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
- 	(null_cleanup): Likewise for parameters `pbuf' and `pfile'.
- 	(macro_cleanup): Likewise for parameter `pfile'.
- 	(file_cleanup): Likewise.
- 
- 	* cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
- 	cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
- 
- 	* crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
- 	__DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
- 
- 	* cse.c (cse_check_loop_start): Mark parameter `set' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* dbxout.c (flag_minimal_debug, have_used_extensions,
- 	source_label_number): Move inside macro wrapper check against
- 	defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO).
- 
- 	* dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
- 
- 	* except.h (doing_eh): Provide prototype.
- 
- 	* expr.c: Move inclusion of expr.h to after insn-config.h.
- 
- 	* final.c: Include reload.h.
- 	(shorten_branches): Cast the first argument of bzero to char *.
- 
- 	* fix-header.c (cpp_print_containing_files): Mark parameter
- 	`pfile' with ATTRIBUTE_UNUSED.
- 	(cpp_fatal): Likewise.
- 
- 	* flow.c (find_basic_blocks_1): Cast the first argument of bzero
- 	to char *.
- 
- 	* genattrtab.c (make_length_attrs): Change the type of variable
- 	`i' from int to size_t.
- 	(zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED.
- 	(one_fn): Likewise.
- 
- 	* genextract.c (main): When generating insn-extract.c, mark
- 	variable `junk' with ATTRIBUTE_UNUSED.
- 
- 	* gengenrtl.c (gencode): When generating genrtl.c, cast the first
- 	argument of bzero to char*.
- 
- 	* integrate.c: Include toplev.h.
- 
- 	* libgcc2.c: Wrap `struct exception_table' and
- 	`find_exception_handler' in macro DWARF2_UNWIND_INFO.
- 
- 	* objc/Make-lang.in (objc-act.o): Depend on toplev.h.
- 
- 	* objc/objc-act.c: Include toplev.h.
- 	(lang_print_xnode): Mark parameters `file', `node' and `indent'
- 	with ATTRIBUTE_UNUSED.
- 	(finish_protocol): Likewise for parameter `protocol'.
- 
- 	* output.h (declare_weak): Add prototype.
- 	(decode_reg_name): Don't wrap with TREE_CODE macro.
- 	(assemble_alias): Add prototype.
- 
- 	* regclass.c: Include output.h.
- 
- 	* reload.h (reloads_conflict): Add prototype.
- 
- 	* rtl.h (print_rtl_single, mark_elimination, reg_class_subset_p,
- 	output_func_start_profiler): Add prototypes.
- 
- 	* rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* scan-decls.c: Include scan.h.
- 
- 	* scan.h (recognized_function, recognized_extern): Add prototypes.
- 
- 	* stmt.c: Include output.h.
- 
- 	* toplev.c (error_for_asm, warning_for_asm): Remove prototypes.
- 	(output_lang_identify): Hide prototype and definition.
- 	(float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED.
- 	(pipe_closed): Likewise.
- 
- 	* toplev.h (count_error, strip_off_ending, error_for_asm,
- 	warning_for_asm): Add prototypes.
- 
- Wed May 13 12:54:19 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): "Charge" final for any time
- 	doing various cleanup operations after finishing compilation
- 	of a function.
- 
- 	* flow.c (dump_flow_info): Also print number of sets and
- 	whether or not the pseudo is a user variable.
- 
- 	* flow.c (reg_n_max): New global variable.
- 	* regclass.c (allocate_reg_info): Keep reg_n_max up to date.
- 	Delete regno_max variable.
- 	* regs.h (REG_N_CHECK): Define.
- 	(REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK.
- 	(REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise.
- 	(REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise.
- 
- Wed May 13 12:54:19 1998  Martin von Loewis  <martin@mira.isdn.cs.tu-berlin.de>
- 
- 	* acconfig.h (ENABLE_CHECKING): Undefine.
- 	* configure.in (--enable-checking): New option.
- 
- Wed May 13 08:52:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (merge_assigned_reloads): Can merge
- 	RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even
- 	if RELOAD_FOR_INPUT with the same reload_reg_rtx is present.
- 
- Tue May 12 20:05:57 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
- 
- Wed May 13 03:23:45 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (gen_reload): Create REG_EQUIV notes.
- 
- Tue May 12 22:21:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload): Fix check for USEs to use code of pattern.
- 	(choose_reload_regs): Remove dead variable use_insn.
- 
- Tue May 12 14:04:49 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
- 
- Tue May 12 15:16:02 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* haifa-sched.c (HAIFA_INLINE): Define to be __inline unless
- 	already defined.
- 	(find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline.
- 	(insn_{unit,issue_delay}): Likewise.
- 	(blockage_range): Likewise.
- 	(actual_hazard{,_this_instance}): Likewise.
- 	(schedule_unit): Likewise.
- 	(potential_hazard): Likewise.
- 	(insn_cost): Likewise.
- 	(swap_sort): Likewise.
- 	(queue_insn): Likewise.
- 	(birthing_insn_p): Likewise.
- 	(adjust_priority): Likewise.
- 	(get_block_head_tail): Likewise.
- 	(init_rgn_data_dependences): Likewise.
- 
- Tue May 12 10:27:54 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
- 
- Tue May 12 11:44:14 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
- 
- Tue May 12 11:38:31 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.md (dslot): Move after definition of "cpu"
- 	attribute.  Handle r3900 case.
- 
- Tue May 12 10:21:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Define the STRINGIFY macro here.
- 	* protoize.c: Not here.
- 	* gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
- 
- Tue May 12 00:47:33 1998  John Wehle  (john@feith.com)
- 
- 	* varasm.c (assemble_variable): Compute the alignment of the data
- 	earlier so that both initialized and uninitialized variables are
- 	effected by DATA_ALIGNMENT.
- 	* tm.texi (DATA_ALIGNMENT): Updated appropriately.
- 
- Mon May 11 19:57:58 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.c: Prototype static functions.
- 
- Mon May 11 17:43:03 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* regmove.c (fixup_match_2, find_matches, regmove_profitable):
- 	Add explanatory comments.
- 
- 	* sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
- 
- Mon May 11 17:24:27 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.md (ffsdi2): Disable.  Simplify the expression as well.
- 
- Mon May 11 13:30:44 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* varasm.c (make_decl_rtl): Disable April 1 change.
- 
- Mon May 11 09:14:41 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
- 
- Mon May 11 08:24:18 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'.
- 	* alpha.c (print_operand): Handle it.
- 	* alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and
- 	related define_splits.  Also add peepholes for SImode reload
- 	plus sign_extend lossage.
- 
- Mon May 11 09:33:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c: Include stdarg.h/varargs.h.  Change function
- 	`fatal' to use variable arguments instead of faking it with
- 	integer parameters.  Provide a prototype which also
- 	checks the format specifiers using ATTRIBUTE_PRINTF_1.
- 
- 	* genattrtab.c: Likewise.
- 	* gencodes.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* genoutput.c: Likewise.  Similarly for function `error'.
- 
- Sun May 10 02:27:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* acconfig.h (HAVE_VOLATILE): Insert stub for autoconf.
- 	* alocal.m4 (GCC_C_VOLATILE): New autoconf test.
- 	* configure.in: Use GCC_C_VOLATILE.
- 	* system.h (volatile): Define as empty if no volatile support is
- 	available.
- 
- Sun May 10 01:21:43 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* genemit.c (output_add_clobbers): Removed unused variable 'i' from
- 	generated function.
- 
- Sat May  9 02:02:15 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (get_condition): Don't combine when either compare is MODE_CC.
- 	* alpha.c (alpha_emit_conditional_branch): New function.  Taken from
- 	the body of beq; additionally set the mode of the branch to CCmode for
- 	FP compares and not fast_math.
- 	(alpha_emit_conditional_move): Always use a compare insn for FP
- 	when not fast_math, as well as setting CCmode on the cmov.
- 	* alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch.
- 
- 	* machmode.h (COMPLEX_MODE_P): New macro.
- 
- Sat May  9 01:53:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (print_exp): Fix typo.
- 
- Fri May  8 21:48:50 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Fri May  8 18:23:08 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* final.c (final_scan_insn): Call fatal_insn instead of abort if
- 	we could not split an insn when required to.
- 
- 	* m32r.md ({add,sub}di3): Add define_splits and appropriate low
- 	level insns.
- 	(peepholes): Disable peepholes that call dead_or_set_p.
- 	(movsi): Rewrite to handle addresses better after last change.
- 	Add define_split to split load of addresses in large/medium modes.
- 	(prologue): Call m32r_expand_prologue.
- 	(movsi_{push,pop}): Generators for push/pop.
- 	(movsi): Support PRE_{INC,DEC}, POST_INC.
- 	(mov{di,df}): Rewrite.  Always split the insns.
- 	(movsf): Add define_split to get register load in correct mode.
- 	(cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint.
- 	(attributes): Rewrite attributes so that type indicates both the
- 	type and the length of the insn directly.
- 	(all insns): Change to use new type attributes.
- 	(debug): New attribute to convey whether -mdebug was used.
- 	(opt_space): New attribute to convey whether -Os was used.
- 	(function units): Loads are 3 cycles, not 2.  Better classify all
- 	insns into short/long.
- 	(load/store/extend insns): Add separate case for load/store
- 	indirect operations without an offset.
- 	(divsi3): Division is a long operation, not short.
- 
- 	* m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for
- 	modes > 1 word.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent.
- 	(CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares.
- 	(EXTRA_CONSTRAINT): Remove 'S' special support.  Add 'U' for
- 	operands with PRE_{INC,DEC}, POST_INC.
- 	(FUNCTION_PROFILER): Call abort instead of doing nothing.
- 	(GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of
- 	SImode variables.
- 	(gen_split_move_double): Declare.
- 	(EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset.
- 
- 	* m32r.c (gen_split_move_double): Fix typo.  Also, don't call
- 	emit_move_insn, build up SET's directly.
- 	(toplevel): Include system.h, not stdio.h.
- 	(move_double_src_operand): Allow any DF or DI mode constant.
- 	(gen_split_move_double): Split moves of DI or DF values into the
- 	appropriate moves, loads, or stores.  Don't handle use of auto
- 	inc/dec if using dead index.  Do handle overlapping moves, etc.
- 	(m32r_frame_info): Remove prologue_size field.
- 	(m32r_compute_frame_size): Don't calculate prologue size.
- 	(m32r_output_function_prologue): Change to pretty much a NOP.
- 	(m32r_expand_prologue): Expand prologue as a series of INSNs.
- 	(m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC.
- 	(m32r_print_operand_address): Likewise.
- 
- Fri May  8 14:13:21 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* reload1.c (emit_reload_insns): When performing expensive
- 	optimizations, do not output the last reload insn if OLD is
- 	not the dest of NSN and is in the src and is clobbered by INSN.
- 
- Fri May  8 09:47:29 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (genrtl.o): Depend on system.h.
- 	* gengenrtl.c (gencode): When creating genrtl.c, have it
- 	include system.h.
- 
- Fri May  8 10:57:33 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/t-linux: Remove extra stuff already included in
- 	config/t-linux.
- 
- Fri May  8 09:53:24 1998  Paul Eggert  <eggert@twinsun.com>
- 
- 	* fixinc.wrap: Renamed from fixinc.math.  Put wrapper around
- 	curses.h if it contains `typedef char bool;', as suggested by
- 	Manfred Hollstein <manfred@s-direktnet.de>.
- 
- 	* configure.in: Rename fixinc.math to fixinc.wrap.
- 
- Thu May  7 19:26:34 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* gcc.c (read_specs): Handle missing blank line at end of specs file.
- 
- 	* i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
- 	movdfcc_1): Disable.
- 
- Thu May  7 15:39:14 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (enable_threads): Rename to enable_threads_flag before
- 	main loop.  Set enable_threads to enable_threads_flag inside main
- 	loop.
- 
- Thu May  7 17:38:03 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
- 	multiple times.
- 
- Thu May  7 14:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
- 
- 	* configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT.
- 	(AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h.
- 	(AC_CHECK_FUNCS): Remove unused check for vprintf.
- 
- 	* Makefile.in: Add support for linking in vfprintf.c and doprint.c.
- 	(cccp.o): Depend on gansidecl.h.
- 	(cexp.o): Likewise.
- 
- 	* cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as
- 	per the rest of gcc source.
- 	* cexp.y: Likewise.  Include gansidecl.h and remove all code made
- 	redundant.
- 
- 	* cccp.c: Remove checks for HAVE_VPRINTF and the associated code
- 	used when vfprintf is missing.
- 	* cexp.y: Likewise.
- 	* gcc.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* toplev.c: Likewise.
- 
- 	* vfprintf.c: New file.
- 	* doprint.c: New file.
- 
- Thu May  7 10:18:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/linux.h (ASM_COMMENT_START): Remove from here,
- 	* config/linux-aout.h (ASM_COMMENT_START): and here,
- 	* config/i386/linux.h (ASM_COMMENT_START): to here,
- 	* config/i386/linux-aout.h (ASM_COMMENT_START): and here.
- 	* config/i386/linux-oldld.h (ASM_COMMENT_START): Define
- 	here as '#' too.
- 
- Thu May  7 10:55:59 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
- 	constant.
- 
- Wed May  6 22:32:37 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* Makefile.in (dwarfout.o): Add toplev.h dependency.
- 	* dwarfout.c, i386.c: Include toplev.h.
- 	* toplev.h (pfatal_with_name): Add prototype.
- 
- Wed May  6 19:02:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* Makefile.in: Fix .SUFFIXES.
- 
- Wed May  6 19:31:32 1998  Alan Modra  <alan@spri.levels.unisa.edu.au>
- 
- 	* config/linux.h (ASM_COMMENT_START): Define as "#".
- 	* config/linux-aout.h (ASM_COMMENT_START): Likewise.
- 
- Wed May  6 15:51:39 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
- 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
- 
- 	* toplev.c: Include toplev.h.
- 	* Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o,
- 	c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o,
- 	dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o,
- 	hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o,
- 	reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add
- 	toplev.h dependency.
- 
- 	* mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
- 	HARD_FRAME_POINTER_REGNUM.
- 
- 	* expr.c (target_temp_slot_level): Delete duplicate definition.
- 
- Wed May  6 16:46:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (mark_seen_cases): Make it have external linkage again.
- 	* expr.h (mark_seen_cases): Add declaration, but only when tree.h
- 	has been included.
- 
- 	* haifa-sched.c (print_value, case SUBREG): Fix typo.
- 
- 	* i386.c (output_387_binary_op): Add some braces to avoid warnings.
- 	* i386.h (REG_CLASS_CONTENTS): Similarly.
- 
- 	* toplev.c (-fsched-max): Delete flag.
- 	(-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise.
- 	* haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N
- 	and -fsched-interblock-max-insns-N support.  Remove INTERBLOCK_DEBUG
- 	conditionals.
- 
- 	* haifa-sched.c (find_rgns): Correctly handle reducible loops with
- 	inner loops which are not reducible.
- 
- 	* loop.c (regs_match_p): Fix typo in prototype.
- 
- 	* regmove.c (try_auto_increment): Wrap declaration inside an
- 	#ifdef AUTO_INC_DEC.
- 
- Wed May  6 17:07:47 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* final.c (output_operand_lossage): Call fatal with the operand
- 	lossage message instead of calling abort.
- 
- Wed May  6 15:37:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c: Convert to using ctype macros defined in system.h.
- 	* c-lex.c: Likewise.
- 	* cccp.c: Likewise.
- 	* collect2.c: Likewise.
- 	* rs6000.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gen-protos.c: Likewise.
- 	* pexecute.c: Likewise.
- 	* protoize.c: Likewise.
- 	* rtl.c: Likewise.
- 	* scan.c: Likewise.
- 	* stmt.c: Likewise.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 
- Wed May  6 14:44:14 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
- 	Replace -gdwarf-2 with -g0.
- 
- Wed May  6 11:43:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h.
- 	* mips-tdump.c: Include system.h, remove redundant headers.
- 	* mips-tfile.c: Likewise.  Also, convert all ctype function calls
- 	to calls of the macro versions defined in system.h.
- 
- 	* objc/Make-lang.in (objc-act.o): Depend on system.h.
- 	* objc/objc-act.c: Include system.h, remove redundant headers.
- 
- Wed May  6 11:21:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (AC_CHECK_FUNCS): Add isascii.
- 	(GCC_NEED_DECLARATIONS): Add atof.
- 
- 	* system.h: Provide prototypes for abort, atof, atol and sbrk here.
- 	* rtl.c, rtl.h, toplev.c, tree.h: Not here.
- 
- Wed May  6 10:52:49 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Wrap time.h and sys/file.h in autoconf checks.
- 	Provide default definitions for O_RDONLY and O_WRONLY here.
- 
- 	* cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
- 
- 1998-05-06  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
- 
- Wed May  6 06:35:38 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* toplev.h: New file.  Protypes for functions in toplev.c.
- 	* tree.h, rtl.h: Deleted protos for functions in toplev.c.
- 	* c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c,
- 	c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c,
- 	convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c,
- 	function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c,
- 	reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c,
- 	varasm.c: Include it.
- 
- Wed May  6 01:09:01 1998  Jeffrey A Law  (law@cygnus.com)
- 			  Jim Wilson  (wilson@cygnus.com)
- 
- 	* haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
- 	blocks.  Check for 1 successor which is the EXIT_BLOCK.
- 
- 	* haifa-sched.c (find_rgns): Detect unreachable blocks, including
- 	unreachable loops with more than one block.
- 
- Wed May  6 08:22:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fix-header.c (write_rbrac): Add "abort" to functions which need to
- 	be protected.
- 
- Wed May  6 00:09:36 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Check in merge from gcc2.  See ChangeLog.12 for details.
- 
- Tue May  5 14:33:49 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-common.c (scan_char_table): Separate 's' and 'c'.  'c' does not
- 	accept 'a' flag.  'S' does accept 'a' flag.
- 	(check_format_info): When pedantic, warn for m/C/S/a/A formats,
- 	and `a' flag.
- 
- 	* elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
- 
- Tue May  5 10:50:39 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.h: Declare functions from m68k.c used in
- 	macros and machine description.
- 	(ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for
- 	long values.
- 	(ASM_OUTPUT_FLOAT): Likewise.
- 	(ASM_OUTPUT_FLOAT_OPERAND): Likewise.
- 
- Tue May  5 01:28:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.def: Add NAMESPACE_DECL.
- 	* dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now.
- 	* dwarf2out.c (push_decl_scope): Likewise.
- 	(scope_die_for): Likewise.
- 	* tree.c (decl_function_context): Use TREE_CODE_CLASS to determine
- 	how to get next context level.
- 
- Tue May  5 01:43:16 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.c (output_fix_trunc): Add code to emulate non-popping DImode
- 	case.
- 
- Tue May  5 01:15:06 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers.
- 
- 	* reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes
- 	for any insns skipped at the start of a block because they were
- 	redundant.
- 
- Mon May  4 20:23:51 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
- 
- 1998-05-04  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* c-common.c (format_char_info): Add new field hhlen.
- 	(print_char_table, scan_char_table, time_char_table): Initialize
- 	hhlen field appropriately.
- 	(char_format_info): Recognize hh modifier and lookup correct char
- 	table entry.
- 
- Mon May  4 19:15:29 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
- 	reference if this is a store.
- 
- Mon May  4 17:25:17 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
- 
- Sun May  3 23:57:25 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	Make UnixWare 7 bootstrap support work with final shipping product.
- 	* configure.in (i[34567]86-*-sysv5): Append, not overwrite, xm_file.
- 	Pick up xm-siglist and xm-alloca.
- 	(xm_defines): Add USG so dbxout will build.
- 	* configure: Regenerate.
- 
- Sun May  3 13:51:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	Support for official SPARC V9 ABI:
- 	* sparc.c (sparc_override_options): Force stack bias off for !arch64.
- 	Care for flag_pcc_struct_return default.
- 	(output_move_quad): Rewrite to move by halves on v9 and in the
- 	proper direction.
- 	(move_quad_direction): New function.
- 	(output_fp_move_quad): Use it to determine the direction of copy.
- 	(function_arg_slotno): Return -1 for FP reg overflow as well.
- 	(function_arg_record_value*): New functions.
- 	(function_arg): Use them.  Streamline unprototyped parameter passing.
- 	(function_arg_pass_by_reference): Pass TCmode by reference.
- 	(function_value): New function.
- 	* sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use
- 	long long in 64-bit mode.
- 	(RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs.
- 	(DEFAULT_PCC_STRUCT_RETURN): Make the default detectable.
- 	(BASE_RETURN_VALUE_REG): Consider complex float types for arch64.
- 	(BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise.
- 	(BASE_INCOMING_ARG_REG): Likewise.
- 	(FUNCTION_VALUE): Call function_value.
- 	(FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise.
- 	* sparc.md (movdi_sp32_v9): Disable for arch64.
- 	(movsf, movdf, movtf): Sort all alternatives using fp regs first.
- 	(call_value_address_sp64): Remove register class constraints.
- 	(call_value_symbolic_sp64): Likewise.
- 	(nonlocal_goto): Pass label reg directly to goto_handlers.  Constrain
- 	v9 case to 32-bit constants.
- 	(goto_handler_and_restore_v9): Provide a version for arch64.
- 	* sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition.
- 	* sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias.
- 	(CPP_PREDEFINES): New.
- 	* sparc/sp64-elf.h: Likewise.
- 	(PREFERRED_DEBUGGING_TYPE): Dwarf2.
- 	(ASM_OUTPUT_DWARF2_ADDR_CONST): New.
- 	* sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes.
- 
- Sat May  2 17:47:17 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat May  2 01:37:29 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): Emit USEs to mark where a pseudo
- 	is reloaded with the MEM of its stack slot.
- 	* reload1.c (cannot_omit_stores): Delete.
- 	(reload): Don't initialize it.
- 	Don't apply avoid_return_reg logic to USEs.
- 	When done, remove USEs that have a REG_EQUAL note on them.
- 	(emit_reload_insns): Handle case where we have inherited a MEM.
- 	(choose_reload_regs): Likewise.
- 	(delete_output_reload): Don't use cannot_omit_stores.
- 
- Thu Apr 30 18:59:03 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (cpp.info, gcc.info): Put -o option before input file.
- 
- Thu Apr 30 16:57:34 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* haifa-sched.c (print_{exp,value}): Various changes to make the
- 	debug output easier to read.  Also, use only one buffer, and make
- 	sure the buffer we are passed in doesn't overflow.
- 	(safe_concat): Concatenate to a buffer without overflow.
- 
- Thu Apr 30 16:57:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree
- 	with the prototype.
- 
- Wed Apr 29 21:45:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sched.c (new_insn_dead_notes): Check if the register was
- 	used in the original instruction.
- 	* haifa-sched.c (new_insn_dead_notes): Likewise.
- 
- Wed Apr 29 13:46:03 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (scope_die_for): If could not find proper scope,
- 	check for and handle tagged type with incorrect TYPE_CONTEXT.
- 
- Wed Apr 29 15:34:40 1998  John Carr  <jfc@mit.edu>
- 
- 	* calls.c (expand_call): Fix recognition of C++ operator new.
- 
- 	* alias.c (mode_alias_check): Disable type based alias detection.
- 
- Wed Apr 29 15:06:42 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
- 	ASM_OUTPUT_WEAK_ALIAS): Define.
- 	* config/mips/elf64.h: Same.
- 	* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
- 	ASM_WEAKEN_LABEL): Removed.
- 
- Wed Apr 29 10:53:29 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* calls.c (expand_call): Bump the length limit on the specially
- 	recognized function names to 17.
- 
- Tue Apr 28 17:53:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS
- 	when undefining macros at the end.
- 
- 	* expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either
- 	val or len has TREE_SIDE_EFFECTS set.
- 
- 	* sparc.md (mulsidi3): Call const v8plus and v8plus routines.
- 	(mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name.
- 	(smuldi3_highpart): Call const v8plus routine.
- 	(smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus.
- 	(const_smulsi3_highpart_v8plus): New pattern.
- 	(smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32.
- 	(umulsidi3): Call const v8plus routine.
- 	(umulsi3_highpart): Handle const before v8plus.  Call const v8plus
- 	routine.
- 	(umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus.
- 	(umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32.
- 
- Tue Apr 28 08:55:26 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* m32r.c (*_oper{and|ator}): Change enum arguments and return
- 	values to int, so they can be prototyped even in files that don't
- 	include rtl.h.
- 	({small,large}_insn_p): Likewise.
- 	(m32r_select_cc_mode): Likewise.
- 	(gen_compare): Likewise.
- 	(function_arg_partial_nregs): Likewise.
- 	(m32r_setup_incoming_varargs): Likewise.
- 	(init_reg_tables): Add prototype.
- 	(m32r_frame_info): Add prolog_size field.
- 	(m32r_compute_frame_size): Calculate the size of the prologue.
- 	(m32r_first_insn_address): Return prologue size.
- 	(m32r_output_function_prologue): Calculate frame size before
- 	printing out information.  Print out the prologue size.
- 
- 	* m32r.h: Prototype all functions in m32r.c.
- 	(FIRST_INSN_ADDRESS): Declare, returning prologue size.
- 
- 	* m32r.md (bcc functions): Cast enum's to int.
- 
- 	* m32r.c (conditional_move_operand): Silence a debug message.
- 	({small,long}_insn): New predicates.
- 
- 	* m32r.h (TARGET_M32R): New macro.
- 	(PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn.
- 	(HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler
- 	was selected.
- 	(ISSUE_RATE): Define as 2.
- 
- 	* m32r.md (insn_size): New attribute.
- 	({,rev_}branch_insn): Add .s qualifier to branches believed to be
- 	short.
- 	(m32r): New attribute.
- 
- 	* configure.in (enable_haifa): Switch m32r to Haifa by default.
- 	* configure: Regenerate.
- 
- 	(Changes from Nick Clifton <nickc@cygnus.com>)
- 	* m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm
- 	the equivalent of a negated 'I' constraint.
- 	(PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole
- 	optimization to work.
- 
- 	* m32r.md (cmp_ne_small_const_insn): Use 'S' constraint rather
- 	than 'I' since the value is negated.
- 	(peephole): Add peephole optimization to cope with optimization of
- 	divide and subtracts of the same operands.
- 
- 	* m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
- 	* m32r.h: Likewise.
- 	* m32r.md: Likewise.
- 
- 	* m32r.h (PREDICATE_CODES): Add declaration of machine specific
- 	predicates.
- 
- Tue Apr 28 07:25:53 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
- 
- Mon Apr 27 18:39:47 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
- 	frame_pointer_rtx not FRAME_POINTER_REGNUM.
- 
- Mon Apr 27 18:36:28 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reg-stack.c: Revert last patch (Apr 20).
- 	(convert_regs): Set insn to PREV_INSN (next) after do while loop.
- 
- 	* m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
- 
- 	* loop.c (check_dbra_loop): New locals jump, first_compare, and
- 	compare_and_branch.  Call get_condition to set first_compare.
- 	Set compare_and_branch to number of compare/branch instructions.
- 	Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare.
- 	Replace '2' with compare_and_branch.
- 
- Mon Apr 27 15:53:30 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* cplus-dem.c (demangle_qualified): Replace missing else.
- 
- Mon Apr 27 20:22:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
- 
- Mon Apr 27 18:23:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (sh_expand_prologue, sh_expand_epilogue):
- 	If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
- 	* sh.h (STACK_BOUNDARY): Likewise.
- 
- Mon Apr 27 17:22:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
- 
- Mon Apr 27 08:55:23 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* system.h (abort): If abort is not defined, and neither is
- 	USE_SYSTEM_ABORT, redefine abort to call fprintf and exit,
- 	reporting the line and filename of the error.
- 
- 	* .gdbinit: Add breakpoints on exit and fancy_abort.
- 
- 	* final.c (split_double): Avoid a compiler warning if
- 	BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
- 
- 	* rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
- 	for calling jump_optimize.
- 
- 	* toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
- 	macros, rather than 0/1's.
- 
- Sun Apr 26 23:19:10 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (CONST_COSTS): Zero is always free.
- 	(RTX_COSTS): Add EV6 costs.  Abort if alpha_cpu is unknown.
- 
- Sun Apr 26 15:38:50 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
- 	length in the name of a virtual table.
- 
- Sun Apr 26 01:21:06 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
- 
- Sat Apr 25 22:11:38 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Apr 25 17:17:15 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (fold_convert): Fix typo.
- 
- Sat Apr 25 17:55:54 1998  John Carr  <jfc@mit.edu>
- 
- 	* alias.c (alias_invariant): New variable.
- 	(record_base_value): New argument INVARIANT.
- 	(memrefs_conflict_p): If a register has an entry in the alias_invariant
- 	array, try substituting that value for the register.
- 
- 	* rtl.h: Declare record_base_value.
- 
- 	* loop.c, unroll.c: Update callers of record_base_value.
- 
- 	* alias.c (find_base_value, find_base_term): SIGN_EXTEND and
- 	ZERO_EXTEND do not affect base values.
- 
- Fri Apr 24 15:57:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* dbxout.c (dbxout_type): Fix typo.
- 	(dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
- 
- 	* configure.in: Use CC_FOR_BUILD, not BUILD_CC.
- 
- Fri Apr 24 16:11:47 1998  John Carr  <jfc@mit.edu>
- 
- 	* expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
- 	if the argument is the address of a structure or array.
- 
- 	* configure.in: Enable Haifa scheduler by default for SPARC.
- 
- Fri Apr 24 20:55:47 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* cse.c (cse_set_around_loop): Don't do optimization when
- 	new pseudos are created.
- 
- Fri Apr 24 11:00:18 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC
- 	appropriately.
- 	(dbxout_type_method_1, dbxout_type): Likewise.
- 	(print_int_cst_octal, print_octal, dbxout_symbol): Likewise.
- 	(dbxout_type): Fix check for when to print a type range in
- 	octal vs decimal.
- 
- Fri Apr 24 16:45:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* (gen_shl_and, in case 1): Fix comparison with mask.
- 
- Fri Apr 24 06:46:40 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
- 	pointer as second register in REG+REG pair.
- 
- Fri Apr 24 09:22:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (check_format_info): Don't check for the 'x' format
- 	character twice, instead check for 'x' and 'X'
- 
- Fri Apr 24 08:02:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (libgcc2.ready): Add explicit dependency from
- 	$(STMP_FIXPROTO) to ensure all necessary include files have
- 	been created and to guarantee proper parallel builds.
- 
- Fri Apr 24 04:42:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra
- 	register for stdarg functions.
- 	* sh.h (current_function_varargs): Declare.
- 	(FUNCTION_ARG): Ignore NAMED for stdarg functions.
- 
- 1998-04-23  Jim Wilson  <wilson@cygnus.com>
- 
- 	* frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
- 	inhibit_libc is defined.
- 
- 	* c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
- 
- Thu Apr 23 19:09:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* profile.c (tablejump_entry_p): New function.
- 	(branch_prob): Add code to recognize MIPS tablejump entry branch.
- 	Use tablejump_entry_p in MIPS and HPPA tablejump checking code.
- 
- Thu Apr 23 15:01:13 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (find_barrier): Return as soon as a barrier is
- 	found, rather than at end of the loop, after the insn has been
- 	changed.
- 
- Thu Apr 23 20:21:06 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
- 	* sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
- 
- Wed Apr 22 17:07:35 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* loop.c (note_addr_stored): Correct function to take 2 arguments,
- 	instead of 1.
- 
- 	* rtl.def (MATCH_INSN2): Add new matching pattern.
- 	* genrecog.c (add_to_sequence): Support MATCH_INSN2.
- 
- Wed Apr 22 15:52:22 1998  John Carr  <jfc@mit.edu>
- 
- 	* emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero
- 	if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD.
- 
- 	* final.c (split_double): Sign extend both halves of a split CONST_INT.
- 
- Wed Apr 22 10:42:45 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
- 
- Wed Apr 22 10:53:49 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
- 	(cplus_demangle_opname): Call mop_up_squangle.
- 	(cplus_demangle): Initialize squangle info, then call
- 	internal_cplus_demangle. (Most code moved there as well)
- 	(internal_cplus_demangle): New function, performs most of what use
- 	to be done in cplus_demangle, but is only called with this file.
- 	(squangle_mop_up): New function to clean up B and K code data.
- 	(mop_up): Set pointers to NULL after freeing.
- 	(demangle_signature, demangle_template, demangle_class): Add
- 	switch elements to handle K and B codes.
- 	(demangle_prefix, gnu_special, demangle_qualified): Add
- 	code to handle K and B codes.
- 	(do_type, demangle_fund_type): Handle B and K codes.
- 	(remember_Ktype): New function to store K info.
- 	(register_Btype, remember_Btype): New functions for B codes.
- 	(forget_B_and_K_types): New function to destroy B and K info.
- 
- 1998-04-21  Jim Wilson  <wilson@cygnus.com>
- 
- 	* stmt.c (check_seenlabel): When search for line number note for
- 	warning, handle case where there is no such note.
- 
- Tue Apr 21 20:48:37 1998  John Carr  <jfc@mit.edu>
- 
- 	* genemit.c (gen_exp): Allow machine description to set mode of
- 	MATCH_OP_DUP.
- 
- Tue Apr 21 16:36:01 1998  John Carr  <jfc@mit.edu>
- 
- 	* alias.c (mode_alias_check): New function.
- 	(true_dependence, anti_dependence, output_dependence): Call
- 	mode_alias_check.
- 
- Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.h (STACK_BOUNDARY): Allow specific targets to override.
- 	(MIPS_STACK_ALIGN): Similarly.
- 
- 	* c-common.c (type_for_mode): Handle TI types.
- 	* c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define.
- 	(init_decl_processing): Handle TI types.
- 	* c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare.
- 
- 	* mips.c (block_move_loop): Test Pmode == DImode instead of
- 	TARGET_MIPS64.
- 	(expand_block_move, save_restore_insns): Likewise.
- 	(function_prologue, mips_expand_prologue): Likewise.
- 	(mips_expand_epilogue): Likewise.
- 	* mips.h (POINTER_SIZE): Allow specific targets to override.
- 	(Pmode): Allow specific targets to override.
- 	(FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64.
- 	(POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
- 	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
- 	(TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
- 	(CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
- 	* mips.md (indirect, tablejump & casesi support): Test for
- 	Pmode == DImode instead of TARGET_MIPS64.
- 	(call patterns): Likewise.
- 
- Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
- 	for gen_rtx(MEM, ...).
- 
- Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
- 	to not be so gross, and to properly function with PIC.
- 
- Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* frame.c (heapsort): Rename to frame_heapsort.
- 
- 	* gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
- 
- Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
- 
- Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
- 
- 	* i386.md (movsf_push, movdf_push, movxf_push): Allow memory
- 	operands during and after reload.
- 
- Mon Apr 20 22:37:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches, init_insn_lengths): Move code
- 	to free label_align, uid_shuid, insn_lengths, insn_addresses
- 	and uid_align from the former function into the latter one;
- 	Add code to clear these variables.
- 	* sh.h (label_align): Remove declaration.
- 
- Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* gcc.c (lang_specific_driver): Declare prototype properly so
- 	fatal can be passed to it without error.
- 
- 	* configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
- 	* configure: Regenerate.
- 	* config.in: Add #undef's for strchr and strrchr.
- 
- 	* protoize.c (toplevel): If we have rindex, but not strrchr, map
- 	rindex to strrchr.
- 	(file_could_be_converted): Use strrchr, not rindex since rindex is
- 	not defined on Linux systems when _POSIX_SOURCE is defined.
- 	(file_normally_convertible): Likewise.
- 	(process_aux_info_file): Likewise.
- 	(main): Likewise.
- 
- 	* rs6000.md (mov{sf,df} define_splits): When splitting a move of
- 	a constant to an integer register, don't split the insns that do
- 	the simple AND and OR operations, rather just split each word, and
- 	let the normal movsi define split handle it further.
- 
- Mon Apr 20 18:19:40 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
- 	(split_branches): Call init_insn_lengths.
- 
- Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* i386.c: Include expr.h to get the change_address prototype
- 	declared.
- 
- Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* reg-stack.c (subst_asm_stack_regs): Change to return the last
- 	new insn generated by this function.
- 	(subst_stack_regs): Likewise.
- 	(convert_regs): Record the last newly generated insn and use
- 	it for change_stack () instead of INSN.
- 
- Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fix-header.c (enum special_file): Undefine enumerators if they
- 	are already defined by include files.
- 	* fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
- 	macro with '__' to not pollute user namespace.
- 
- Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (queue_to_ready): Fix typo in prototype.
- 
- Sat Apr 18 23:52:35 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
- 
- 	* i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
- 	Add missing -Dpentium* options.
- 	(CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
- 	instead of CPP_CPU_DEFAULT.
- 	(EXTRA_SPECS): Add entry for cpp_cpu_default.
- 
- Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
- 	negative in a stackless frame.
- 	* rs6000.c (rs6000_stack_info): Don't include fixed-size link area
- 	in stackless frame size.  Support 64-bit stackless frame size.
- 	Combine fpmem offset calculations and don't add total_size to
- 	offset if not pushing a stack frame.
- 
- Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* regmove.c (fixup_match_1): In three places, in flag_exceptions
- 	check, change p to q.
- 
- Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* gcc.c (lang_specific_driver): Add new parm type to prototype.
- 	(added_libraries): New file scope static variable.
- 	(process_command): Initialize added_libraries.  Pass it to
- 	lang_specific_driver.
- 	(main): Use added_libraries in check for no input files.
- 
- Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
- 
- 	* sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
- 	code generation.  Use 64 bit instructions in 32 bit mode when
- 	possible.  Use V9 return instruction.  UltraSPARC optimizations.
- 
- 	* sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
- 
- Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
- 	just pass zero.  That will work regardless of the size of HARD_REG_SET.
- 
- 	* libgcc2.c (__floatdisf): Fix a couple typos.
- 
- Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (mostlyclean): Delete *.mach and *.bp files.
- 
- Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
- 
- 	* emit-rtl.c (gen_highpart): Initialize `word' properly for pseudo.
- 
- Fri Apr 17 14:30:37 1998  John Carr  <jfc@mit.edu>
- 
- 	* emit-rtl.c (operand_subword_force): If a register can not be
- 	accessed by words, copy it to a pseudo register.
- 
- Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
- 
- Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* tree.h (mark_seen_cases): Delete declaration.
- 
- Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (mark_seen_cases): Make static and add prototype.
- 
- Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* frame.c: Include stdlib.h and unistd.h to possibly get various
- 	function prototypes.  The fixproto script guarantees these header
- 	files exist on the target system.
- 	* libgcc2.c: Likewise.
- 
- 	* gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
- 	__gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
- 	function parameters.
- 	* libgcc2.c (__udiv_w_sdiv): Likewise.
- 
- Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* varasm.c (asm_output_bss): Add prototype.
- 	(asm_output_aligned_bss): Likewise.
- 
- 	* unroll.c (verify_addresses): Add prototype.
- 
- 	* toplev.c: Add many prototypes.  Too many to mention here.
- 
- 	* stmt.c (check_seenlabel): Add prototype.
- 
- 	* rtlanal.c (reg_set_p_1): Add prototype.
- 	(reg_set_last_1): Likewise.
- 
- 	* reorg.c (find_dead_or_set_registers): Add prototype.
- 
- 	* regmove (try_auto_increment): Add prototype.
- 
- 	* reg-stack.c (pop_stack): Add prototype.
- 
- 	* recog.c (validate_replace_rtx_1): Add prototype.
- 	(find_constant_term_loc): Likewise.
- 
- 	* loop.c (regs_patch_p): Add prototype.
- 	(add_label_notes, count_nonfixed_reads): Likewise.
- 	(find_single_use_in_loop): Likewise.
- 	(express_from): Surround prototype with #ifdef.
- 	(giv_sort): Similarly.
- 
- 	* jump.c (mark_modified_reg): Add prototype.
- 
- 	* haifa-sched.c (is_prisky): Add prototype.
- 	(queue_to_ready): Likewise.
- 
- 	* genextract.c (gen_insn): Add prototype.
- 
- 	* genemit.c (max_operand_1): Add prototype.
- 	(max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
- 	(gen_expand, gen_explit, output_add_clobbers): Likewise.
- 	(output_init_mov_optab): Likewise.
- 
- 	* genattrtab.c (attr_hash_add_rtx): Add prototype.
- 	(attr_hash_add_string, write_length_unit_log): Likewise.
- 
- 	* genattr.c (init_range): Add prototype.
- 
- 	* combine.c (sets_function_arg_p): Add prototype.
- 
- 	* expr.c (store_constructor_field): Add prototype.
- 	(get_memory_usage_from_modifier): Likewise.
- 
- 	* expmed.c (synth_mult): Add prototype.
- 	(choose_multiplier, invert_mod2n): Likewise.
- 
- 	* except.c (push_eh_entry): Add prototype.
- 	(pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
- 	(call_get_eh_context, start_dynamic_cleanup): Likewise.
- 	(start_dynamic_handler, can_throw): Likewise.
- 	(output_exception_table_entry, scan_region): Likewise.
- 	(eh_regs, set_insn_eh_region): Likewise.
- 
- 	* dwarfout.c (decl_class_context): Add prototype.
- 	(output_inheritance_die, type_ok_for_scope): Likewise.
- 
- 	* c-lex.c (skip_white_space_on_line): Add prototype.
- 
- 	* alias.c (record_set): Add prototype.
- 	(find_base_term, base_alias_check): Likewise.
- 
- 	* function.c (assign_outer_stack_local): Make static and add prototype.
- 
- 	* haifa-sched.c (build_control_flow): Accept raw data as inputs
- 	instead of computing it locally.  Callers changed.
- 	(find_rgns): Several new arguments.  Callers changed.
- 	Generally clean up and comment better.  Use dominators to
- 	identify reducible loops.  Convert some flag arrays to bitmaps.
- 	Convert most of the code to work on pred/succ lists instead of
- 	an edge table.  Add comments for future improvements.
- 	(schedule_insns): Allocate temporary tables for flow data, call
- 	routines to compute flow data and pass it along to children as
- 	arguments.
- 	(debug_control_flow): Delete.  Use dump_bb_data instead.
- 
- 	* basic-block.h (compute_dominators): Declare.
- 
- 	* flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
- 	functions.
- 	* basic-block.h: Declare them.
- 
- Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
- 	no operands.
- 
- Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
- 
- 	* tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
- 	Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
- 	node is non NULL. Cache last file name and file name identifier node.
- 
- 1998-04-15  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
- 	the length of an array, not TREE_TYPE.
- 
- Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (sbitmap_union_of_successors): New function.
- 	* basic-block.h (sbitmap_union_of_successors): Declare it.
- 
- Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
- 	Set gnu_ld to gnu_ld_flag inside main loop.
- 	(gas): Likewise.
- 
- Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* toplev.c (compile_file): Call init_parse using new interface.
- 	(init_lex): Remove declaration.
- 
- 	* c-lex.c (init_parse): Now returns char* containing filename.
- 
- Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
- 
- Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
- 	(gen{extract,peep,opinit,output}): Likewise.
- 
- 	* gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
- 	global definition so print-rtl.o can be linked in.
- 	* gen{peep,recog}.c (insn_attr_name): Likewise.
- 
- Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
- 
- 	* fixincludes: Discard empty C++ comments, as found in sys/time.h
- 	on hpux-11.0.
- 
- Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
- 	operand.
- 
- Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (operand_subword): Rework slightly to avoid
- 	bogus warning from previous change.
- 
- Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md: Revert Oct 27 change, as it is superseded by Kenner's
- 	Nov 8 find_replacement change.  Move decls of get_unaligned_address
- 	* alpha.h: ... here.
- 
- Tue Apr 14 22:00:39 1998  John Carr  <jfc@mit.edu>
- 
- 	* function.c (assign_parms): Initialize unsignedp before passing
- 	its pointer to promote_mode.
- 
- 	* genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
- 	(write_test_expr): Allow MATCH_INSN.
- 
- Tue Apr 14 21:57:57 1998  Paul Eggert  <eggert@twinsun.com>
- 
- 	* install.texi: Update section on warnings that can be safely ignored.
- 
- Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (reload_outdi): Change the scratch mode from DImode to
- 	TImode.  New variable scratch, used instead of operand[2] in template.
- 	Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
- 
- Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
- 
- Tue Apr 14 11:31:28 1998  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
- 
- Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
- 	(ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* Idea and part of the patch from HJ.
- 	* Makefile.in: auto-host.h renamed from auto-config.h.  All references
- 	changed.
- 	(distclean): Remove auto-build.h too.
- 	* configure.in: Rename host autoconf generated file to auto-host.h.
- 	If host != build, then run autoconf to generate auto-build.h for
- 	the build machine and include it in build_xm_files.
- 	Check for wait.h and sys/wait.h.
- 
- 	* combine.c (simplify_rtx, case TRUNCATE): Respect value of
- 	TRULY_NOOP_TRUNCATION.
- 
- Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
- 
- Sun Apr 12 20:55:32 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* invoke.texi (ld options): Include memset requirements
- 	for options -nodstdlib and -nodefaultlibs.
- 
- 1998-04-12  Paul Eggert  <eggert@twinsun.com>
- 
- 	This change is from an idea suggested by Arthur David Olson.
- 
- 	* c-common.c (decl_attributes, record_function_format,
- 	check_format_info, init_function_format_info):
- 	Add support for strftime format checking.
- 	(enum format_type): New type.
- 	(record_function_format): Now static, and takes value of type
- 	enum format_type instead of int.
- 	(time_char_table): New constant.
- 	(struct function_format_info): format_type member renamed from is_scan.
- 	(check_format_info): Use `warning' rather than sprintf followed by
- 	`warning', to avoid mishandling `%' in warnings.
- 	Change `pedwarn' to `warning', since these warnings do not necessarily
- 	mean the program does not conform to the C Standard, as the code
- 	need not be executed.
- 
- 	* c-tree.h (record_function_format): Remove decl; no longer extern.
- 
- 	* extend.texi: Add documentation for strftime format checking.
- 
- Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips/ecoffl.h: Do not include mips.h.
- 	* mips/elf.h: Likewise.
- 
- 	* configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
- 	* mips/ecoff.h: Include "mips/mips.h".
- 
- Sat Apr 11 22:42:54 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
- 	(delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
- 	* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns		instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
- 	between loop optimization passes.
- 	* rtl.h: Updated appropriately.
- 
- Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	Reinstall this patch from Jason.
- 	* function.c (push_function_context_to): Don't call init_emit.
- 
- Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* rtl.c (read_skip_spaces): Prevent infinite loops upon
- 	encountering unterminated comments.
- 
- Fri Apr 10 10:43:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (operand_subword): Properly handle CONST_INTs for
- 	64x32 cross builds.
- 
- 	* configure.in: Handle --with-fast-fixincludes.
- 	(fixincludes): If --with-fast-fixincludes, then use a different
- 	fixincludes program by default.
- 	* Makefile.in (fixinc.sh): New rule.
- 
- Fri Apr 10 00:36:31 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* i386.md (movqi+1): Handle invalid QI register.
- 	(movsf_push-1): Likewise.
- 
- Thu Apr  9 16:53:59 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.c: call_address_operand(): Only accept symbolic
- 	addresses.
- 	symbolic_memort_operand(), call32_operand(), int8_operand(),
- 	int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed.
- 	Not used.
- 	uint16_operand(): Made static.
- 
- Thu Apr  9 01:43:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (expand_call): Fix typo.
- 
- Thu Apr  9 00:18:44 1998  Dave Brolley  (brolley@cygnus.com)
- 
- 	* c-lex.c (finput): New global.
- 	(init_parse): Always included.  Handle !USE_CPPLIB using
- 	code originally in compile_file.
- 	(finish_parse): Update for CPPLIB.
- 	* toplev.c (init_parse, finish_parse): Declare.
- 	(finput): Delete variable.  Now in front-ends.
- 	(compile_file): Remove code which is now handled by init_parse
- 	which is unconditionally called.  Similarly for finish_parse.
- 
- Wed Apr  8 23:13:50 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
- 	ASM_WEAKEN_LABEL): Add.
- 
- Wed Apr  8 18:21:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
- 	* configure.in (alpha-*-linux*): Use them.
- 
- Fri Apr  3 17:02:13 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition.
- 	* tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO,
- 	COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros.
- 	(build_expr_wfl): New prototype declaration.
- 	* tree.c (build_expr_wfl): New function, to build
- 	EXPR_WITH_FILE_LOCATION nodes.
- 	(copy_node): Don't zero TREE_CHAIN if copying a
- 	EXPR_WITH_FILE_LOCATION node.
- 	* print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION.
- 	* expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION.
- 
- Wed Apr  8 12:51:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (v850): Use t-v850.
- 	(ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
- 
- 	* protoize.c (creat, read, write): Do not declare.
- 
- 	* jump.c (mark_jump_label): Record REG_LABEL notes for insns which
- 	refer to the CODE_LABEL before a dispatch table.
- 
- 	* invoke.texi: Add ARC options.
- 
- 	* gcc.c (process_command): Improve error message for -o with
- 	either -c or -S.
- 
- 	* i386/x-cygwin32 (CLIB): Link in advapi32.
- 
- 	* alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
- 	(ASM_IDENTIFY_LANGUAGE): Likewise.
- 
- 	* i386.md (movqi recognizer): Don't perfom byte increment into
- 	a NON_QI_REG_P.
- 
- 	* configure.in (x86-dg-dgux): Run fixinc.dgux.
- 
- 	* i370.h: Fix typo in GEN_INT changes.
- 
- 	* bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
- 	of an empty arglist in prototype.
- 
- 	* Makefile.in: Remove bytecode crud that crept back in after the
- 	gcc2 merge.
- 
- 1998-04-08  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* c-lex.h (is_class_name): Fix arg type to be tree, not void.
- 	(make_pointer_declarator, reinit_parse_for_function): Fix typo.
- 
- Wed Apr  8 06:16:45 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
- 
- Wed Apr  8 00:44:18 1998  Bernd Schmidt  (crux@pool.informatik.rwth-aachen.de>
- 
- 	* c-lex.c (is_class_name): Delete declaration.
- 	(whitespace_cr): Make static and add prototype.
- 	* c-lex.h (make_pointer_declarator, reinit_parse_for_function,
- 	yylex, get_directive_line): Turn declarations into prototypes.
- 	(position_after_whitespace, check_newline, yyerror,, is_class_name,
- 	forget_protocol_qualifiers, remember_protocol_qualifiers): Add
- 	prototypes.
- 	* genattr.c (extend_range, write_upcase, gen_attr, write_units): Add
- 	prototypes.
- 	* gencodes.c (gen_insn): Add prototype.
- 	* genconfig.c (walk_insn, gen_insn, gen_expand, gen_split,
- 	gen_peephole): Add prototypes.
- 	* genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add
- 	prototypes.
- 	* gengenrtl.c (type_from_format, accessor_from_format, special_rtx,
- 	special_format, find_formats, gendecl, genmacro, gendef, genlegend,
- 	genheader, gencode): Add prototypes.
- 	* genopinit.c (gen_insn): Add prototype.
- 	* genoutput.c (output_prologue, output_epilogue, scan_operands,
- 	process_template, validate_insn_alternatives, gen_insn, gen_peephole,
- 	gen_expand, gen_split, n_occurrences): Add prototypes.
- 	* genpeep.c (gen_peephole): Add prototype.
- 	* loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop,
- 	reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg,
- 	labels_in_range_p, count_loop_regs_set, note_addr_stored,
- 	loop_reg_used_before_p, scan_loop, replace_call_address,
- 	skip_consec_insns, libcall_benefit, ignore_some_movables,
- 	force_movables, combine_movables, rtx_equal_for_loop_p, move_movables,
- 	strength_reduce, valid_initial_value_p, find_mem_givs, record_biv,
- 	check_final_value, record_giv, update_giv_derive, basic_induction_var,
- 	simplify_giv_expr, general_induction_var, consec_sets_giv,
- 	check_dbra_loop, express_from, combine_givs_p, combine_givs,
- 	product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1,
- 	last_use_this_basic_block, record_initial, update_reg_last_use,
- 	iteration_info, analyze_loop_iterations, insert_bct,
- 	instrument_loop_bct, indirect_jump_in_function_p): Turn declarations
- 	into prototypes.
- 
- Tue Apr  7 21:48:52 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
- 
- 1998-04-07  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* config/mips/mips.c (siginfo): Deleted.
- 	(override_options): Don't install SIGINFO signal handler.
- 
- Tue Apr  7 11:58:04 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (check_dbra_loop): When normalize comparison_val, add check
- 	to verify it is non-negative.
- 
- Tue Apr  7 02:01:47 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_move): Correctly collect block offsets.
- 	(alpha_expand_block_clear): Likewise.
- 
- Mon Apr  6 23:36:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.h (sizetype_tab): Fix previous change for K&R.
- 
- Mon Apr  6 22:23:29 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Apr  6 23:16:10 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
- 	Add USG and POSIX to xm_defines.
- 
- Mon Apr  6 21:49:57 1998  Bob Manson  <manson@charmed.cygnus.com>
- 
- 	* gcc.c: Add linker spec.
- 	(link_command_spec): Use %(linker) instead of ld.
- 	(main): If collect2 is requested as the linker, see if it exists;
- 	if not, use ld instead.
- 
- 	* Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
- 	(ld): Deleted.
- 	(install-collect2): Install as collect2, not ld.
- 
- 	* configure.in(will_use_collect2): It's named collect2 now.
- 
- 	* collect2: Remove checks to see if we were invoked recursively.
- 	(collect_execute): Use _spawnvp under cygwin32.
- 
- Mon Apr  6 17:23:41 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* haifa-sched.c (build_control_flow): Set unreachable for block whose
- 	only predecessor is itself.
- 
- Mon Apr  6 16:08:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in: Include system.h, and remove stuff now made redundant.
- 	* cccp.c: Likewise.
- 	* cexp.y: Likewise.
- 	* protoize.c: Likewise.  Properly check for cpp stringification.
- 
- 	* Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
- 	Depend on system.h.
- 
- 	* objc/Make-lang.in (objc-parse.o): Likewise.
- 
- Mon Apr  6 14:59:58 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h: Check if compiler supports __attribute__.  Provide
- 	definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using
- 	__attribute__ when its available.  Also provide definitions for
- 	ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in
- 	terms of ATTRIBUTE_PRINTF.
- 
- 	* genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place
- 	of __attribute__.
- 
- Mon Apr  6 07:17:52 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* combine.c (can_combine_p): Include successor in volatile test.
- 
- Mon Apr  6 14:16:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
- 	offset_unsigned.
- 
- Mon Apr  6 02:03:29 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
- 	in prototype and definition.
- 
- Mon Apr  6 00:48:56 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Apr  6 00:08:50 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_clear): Add missing offset arg to
- 	alpha_expand_unaligned_store_words.
- 
- Sun Apr  5 21:31:24 1998  John Wehle  (john@feith.com)
- 
- 	* i386.md (movsf_push, movsf_mem): Remove.
- 	(movsf_push): Rename from movsf_push_nomove and move in front of
- 	movsf.  Use nonmemory_operand predicate and don't bother checking
- 	TARGET_MOVE.
- 	(movsf_push_memory): New pattern.
- 	(movsf): Don't bother checking for push_operand.  If TARGET_MOVE and
- 	both operands refer to memory then force operand[1] into a register.
- 	(movsf_normal): Change to unnamed pattern.
- 	Likewise for movdf, movxf, and friends.
- 
- Sun Apr  5 18:45:51 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Apr  5 16:31:10 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-dec-osf*): Match osf1.3 correctly.
- 
- Sun Apr  5 16:53:37 1998  Don Bowman  <don@pixsci.com>
- 
- 	* configure.in (mips-wrs-vxworks): New target.
- 
- Sat Apr  4 23:34:32 1998  Jeff Law  (law@cygnus.com)
- 
- 	* expmed.c (synth_mult): The value -1, has no zeros, so it can
- 	never have the form ...011.
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Apr  4 20:16:46 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (asm_output_function_prefix, load_pic_register):
- 	Use ASM_GENERATE_INTERNAL_LABEL properly.
- 	(output_pic_addr_const): Recognize %X to suppress any PIC sym suffix.
- 	(print_operand): Ignore it.
- 	(load_pic_register): Use it for the got load call.
- 	* i386.md (prologue_set_got, prologue_get_pc): Likewise.
- 	(prologue_get_pc_and_set_got): Likewise.
- 	* i386.h: Update print_operand docs.
- 
- Sat Apr  4 19:08:37 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (ffssi, ffshi): Rewrite as define_expands.
- 	(ffssi_1, ffshi_1): New (unspec [] 5) support patterns.
- 	* i386.c (notice_update_cc): Recognize unspec 5.
- 
- Sat Apr  4 18:07:16 1998  David Mosberger-Tang  (davidm@mostang.com)
- 
- 	* alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi.
- 	* alpha.c (print_operand): Handle it.
- 	* alpha.md (fix_truncsfdi2): Use it.  Add earlyclobber pattern
- 	for ALPHA_TP_INSN.
- 	(fix_truncdfdi2): Likewise.
- 
- Sat Apr  4 17:42:05 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all
- 	of these into a single struct, with additional [us]sizetype entries.
- 	* stor-layout.c (set_sizetype): Initialize [us]sizetype.
- 	* fold-const.c (size_int_wide): Don't rely on sizetype_tab being
- 	an array.
- 
- Sat Apr  4 17:04:41 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
- 
- Sat Apr  4 13:50:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (split_block_insns): Don't suppress insn splitting
- 	on subsequent passes.
- 
- 	* alpha.c (hard_fp_register_operand): New function.
- 	* alpha.h (PREDICATE_CODES): Add it.
- 	* alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case.  Add an
- 	f<-m case and accompanying define_split.
- 	(trapb): Use a unique unspec_volatile number.
- 
- Sat Apr  4 13:32:08 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
- 	from gcc2 merge.
- 
- Sat Apr  4 10:23:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Check in merge from gcc2.  See ChangeLog.11 and ChangeLog.12
- 	for details.
- 
- 	* haifa-sched.c: Mirror recent changes from gcc2.
- 
- Fri Apr  3 00:17:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (insn*.o): Depend on system.h.
- 
- 	* pa.c (output_global_address): Initialize base.
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
- 
- 1998-04-03  Mike Stump  <mrs@wrs.com>
- 
- 	* gthr.h: Support systems that don't have weak, but have threads.
- 	* configure.in (*wrs-vxworks*): Use VxWorks threads by default.
- 	* gthr-vxworks.h: New file.
- 	* objc/thr-vxworks.h: Dummy file from thr-single.c for now.
- 
- Thu Apr  2 18:00:52 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
- 
- 1998-04-02  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* ginclude/va-i960.h (va_end): Change void * to void.
- 
- Thu Apr  2 13:51:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (choose-temp.o): Depend on system.h.
- 
- 	* choose-temp.c: Include system.h when IN_GCC.
- 
- Thu Apr  2 02:37:07 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
- 	(move_replacements): New function.
- 	* reload.h: Prototype it.
- 
- 	* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
- 
- Thu Apr  2 01:01:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
- 	Run fixincludes.
- 
- 	* emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS.
- 	(gen_highpart): Likewise.
- 	* final.c (alter_subreg): Allow the target to hook by-mode subreg
- 	hard register number changes.
- 
- Wed Apr  1 22:26:22 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
- 	rnbitsize, rnmode and rinner.
- 	(make_range): Initialize type.
- 	(fold): Initialize arg0, arg1 and varop.
- 
- 	* function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
- 	and regnor.
- 	(expand_function_start): Initialize last_ptr.
- 
- 	* stor-layout.c (layout_record): Initialize desired_align.
- 	(get_best_mode): Initialize unit.
- 
- 	* tree.c (copy_node): Initialize length.
- 
- 	* c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
- 
- 	* caller-save.c (insert_save_restore): Initialize pat, code and
- 	numregs.
- 
- 	* emit-rtl.c (push_to_sequence): Initialize top.
- 	(push_topmost_sequence): Likewise.
- 
- 	* genattrtab.c (simplify_by_exploding): Initialize defval.
- 
- 	* profile.c (branch_prob): Initialize dest.
- 
- 	* rtl.h (note_stores): Remove duplicate prototype.
- 	(GEN_INT): Reinstate cast of second arg to HOST_WIDE_INT.
- 
- 	* cplus-dem.c (gnu_special): Don't get confused by .<digits>
- 	strings that are not actually lengths.
- 
- 	* genattrtab.c: Make generated file use system.h, instead of
- 	including stdio.h, etc directly.
- 	* genextract.c, genopinit.c, genoutput.c: Likewise.
- 	* genpeep.c, genrecog.c: Likewise.
- 
- 	* genoutput.c (process_template): Mark operands in the generated
- 	function as potentially unused if compiling with GNU CC.
- 
- 	* i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
- 
- 	* pa.md (reload peepholes): Remove unused variable "mode".
- 
- Wed Apr  1 17:06:19 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.h: Add super interworking support.
- 	* config/arm/thumb.c: Add super interworking support.
- 	* config/arm/thumb.md: Add super interworking support.
- 	* config/arm/lib1funcs.asm: Add interworking support.
- 	* config/arm/lib1thumb.asm: Add super interworking support.
- 	* config/arm/t-semi: Add interworking support.
- 	* config/arm/t-thumb: Add interworking support.
- 	* config/arm/README-interworking: New file.
- 
- Wed Apr  1 14:38:10 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
- 	(MD_STARTFILE_PREFIX): Unset.
- 
- 1998-04-01  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
- 	entity in a local scope.
- 
- 	* fold-const.c (fold): Call truthvalue_conversion for values which
- 	are folded to boolean type.
- 
- Wed Apr  1 06:09:53 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently.
- 	* convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise.
- 	* i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise.
- 	* i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise.
- 	* m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise.
- 	* pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise.
- 	* rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise.
- 	* tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise.
- 	* md.texi: Likewise.
- 
- Wed Apr  1 08:33:44 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixincludes (limits.h): Fix nested comments in Motorola's
- 	limits.h and sys/limits.h.
- 
- Tue Mar 31 16:57:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
- 	as dest of expand_binop call.
- 
- 	* alpha.md (extzv): Correct check for valid operand[2] values.
- 
- 	* profile.c (branch_prob): Add code to recognize HPPA tablejump entry
- 	branch.
- 
- 	* toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
- 
- Mon Mar 30 13:11:05 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* libgcc2.c (__main, __do_global_dtors, __do_global_ctors):
- 	For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
- 
- 	* gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
- 	cygwin32 can override this to allow both unix and win32 style PATHs.
- 
- 	* i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
- 	style environment paths.
- 
- Mon Mar 30 14:43:20 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o,
- 	cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o,
- 	gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on
- 	system.h.
- 
- 	* cpphash.c: Include config.h.
- 	* cppalloc.c: Include system.h.  Add parameters to various
- 	function prototypes.
- 	* cpperror.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* cpphash.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cppmain.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gen-protos.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* halfpic.c: Likewise.
- 	* hash.c: Likewise.
- 	* scan-decls.c: Likewise.
- 	* scan.c: Likewise.
- 
- Mon Mar 30 11:06:45 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* README.gnat: Add lang_print_xnode definition.
- 
- Mon Mar 30 11:12:24 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c (standard_68881_constant_p): Don't use
- 	fmovecr on the 68060.
- 
- Mon Mar 30 00:21:03 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* genemit.c (DONE): Rework so that it works in the true arm if
- 	an if-else conditional.
- 	(FAIL): Likewise.
- 
- Sun Mar 29 12:45:23 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.c: Do not include stdioh or ctype.h anymore.
- 
- 	* Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and
- 	$(RTL_H).
- 	(stor-layout.o): Likewise.
- 	* c-typeck.c: Include rtl.h and expr.h.
- 	* stor-layout.c: Likewise.
- 
- 	* cpplib.c (cpp_file_line_for_message): Delete unused parameter.
- 	All callers changed.
- 	(do_sccs): Wrap in an SCCS_DIRECTIVE ifdef.
- 	* fix-header.c (cpp_file_line_for_message): Delete unused parameter.
- 	All callers changed.
- 
- 	* collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
- 
- 	* local-alloc.c (reg_classes_overlap_p): Delete dead function.
- 
- 	* tree.h (lang_print_xnode): Provide prototype.
- 
- Sat Mar 28 23:50:44 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Mar 29 00:42:21 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* objc/sendmsg.c (__objc_block_forward): Add braces for return
- 	value if INVISIBLE_STRUCT_RETURN.
- 
- 	* pa.c (arith_double_operand): Fix parens.
- 
- 	* haifa-sched.c (print_pattern): Correct arg to sprintf.
- 
- 	* Makefile.in (libgcc1.null): Make return type for __foo void.
- 
- Sat Mar 28 14:37:20 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h: Add declarations for many functions defined in pa.c.
- 
- 	* genpeep.c (main): Remove unused variable 'i' from the generated
- 	file.
- 
- 	* genemit.c (gen_expand): Do not emit "_done" or "_fail" labels.
- 	(gen_split): Likewise.
- 	(main): Rework generated definitions of DONE and FAIL so that they
- 	no longer use gotos.  Avoids warnings about unused labels.
- 
- 	* integrate.c (copy_rtx_and_substitute): Rework to avoid need for
- 	unused "junk" variable.
- 
- 	* genattrtab.c (write_complex_function): Add a default case in
- 	generated switch statement to keep -W -Wall quiet.
- 
- Sat Mar 28 10:47:21 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* invoke.texi: Document more ARM and Thumb command line options.
- 
- 	* config/arm/xm-thumb.h: New file.
- 
- Sat Mar 28 01:37:33 1998  Craig Burley  <burley@gnu.ai.mit.edu>
- 
- 	* stmt.c (expand_expr_stmt): Must generate code for
- 	statements within an expression (gcc's `({ ... )}')
- 	even if -fsyntax-only.
- 
- Sat Mar 28 01:06:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* basic-block.h (basic_block_computed_jump_target): Declare.
- 	* flags.h (current_function_has_computed_jump): Declare.
- 	* flow.c (basic_block_computed_jump_target): Define.
- 	(flow_analysis): Allocate it. Set current_function_has_computed_jump
- 	to 0.
- 	(find_basic_blocks): Set current_function_has_computed_jump and
- 	elements of basic_block_computed_jump_target to 1 as appropriate.
- 	* function.c (current_function_has_computed_jump): Define.
- 	* global.c (global_conflicts): Don't allocate pseudos into stack regs
- 	at the start of a block that is reachable by a computed jump.
- 	* reg-stack.c (stack_reg_life_analysis): If must restart, do so
- 	immediately.
- 	(subst_stack_regs): Undo change from Sep 4 1997.
- 	(uses_reg_or_mem): Now unused, deleted.
- 	* stupid.c (stupid_life_analysis): Compute
- 	current_function_has_computed_jump.
- 	(stupid_find_reg): Don't allocate stack regs if the function has a
- 	computed goto.
- 	* haifa-sched.c (is_cfg_nonregular): Delete code to determine if
- 	the current function has a computed jump.  Use the global value
- 	instead.
- 
- Sat Mar 28 00:21:37 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
- 	(DWARF2_UNWIND_INFO): Define to zero.
- 
- Fri Mar 27 16:04:49 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* gcc.c (set_std_prefix): Add declaration.
- 	(process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/
- 	suffix, and update the standard prefix prefix.c uses.
- 
- 	* prefix.c (std_prefix): New global to hold default prefix value.
- 	(get_key_value): Change to use std_prefix instead of PREFIX.
- 	(translate_name): Likewise.
- 	(update_path): Likewise.
- 	(get_key_value): Release allocated scratch storage.
- 	(set_std_prefix): New function to reset the standard prefix.
- 
- Fri Mar 27 18:08:21 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (find_barrier): Fix calculations for alignment increase.
- 
- Fri Mar 27 08:56:52 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (stmp-fixinc): If we're actually fixing include
- 	files, copy gcc's assert.h into the fixed include dir.
- 	* fixincludes (assert.h): Avoid any attempts to fix a probably
- 	broken system specific assert.h file.
- 	* fixproto (stdlib.h): Make sure, it'll contain a definition of
- 	size_t.
- 
- Fri Mar 27 00:49:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c (reg_scan_mark_refs): Be more selective about
- 	when we mark a register with REGNO_POINTER_FLAG.
- 
- Thu Mar 26 23:00:11 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	reload inheritance improvement:
- 	* reload1.c (reg_reloaded_contents, reg_reloaded_insn):
- 	Change meaning: index is now hard reg number.
- 	(reg_reloaded_valid, reg_reloaded_dead): New variables.
- 	(reload_spill_index): Content is now a hard reg number.
- 	(reload_as_needed): Change to fit new variable meaning.
- 	(forget_old_reloads_1, allocate_reload_reg): Likewise.
- 	(choose_reload_regs, emit_reload_insns): Likewise.
- 
- Thu Mar 26 18:34:13 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regclass.c (record_reg_classes): '?' increases cost by two.
- 
- 	* reload.c (find_reloads): Double previous costs.  Output
- 	reloads cost one unit extra.
- 
- 	* reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
- 	boiled down to && ! 0.
- 
- 	* reload.c (find_equiv_reg): Also consider a goal offset from the
- 	frame pointer to be constant.
- 
- Thu Mar 26 17:34:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (OPTIMIZATION_OPTIONS): Define.
- 
- Thu Mar 26 00:19:47 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
- 
- Wed Mar 25 23:53:11 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
- 
- Wed Mar 25 13:40:48 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-common.c (check_format_info): Initialize type, is_type.  New local
- 	integral_format.  Don't warn for 'L' when pedantic.  Do warn for 'L'
- 	when pedantic if used with integral format specifier.
- 
- Wed Mar 25 16:09:01 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
- 	direction.
- 	(function_arg_padding): Declare.
- 
- 	* rs6000.c: Include system.h.
- 	(function_arg_padding): Change return type to int, cast enum's to
- 	int.
- 
- 	(From Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>)
- 	* collect2.c (scan_prog_file): Add explicit braces to avoid
- 	ambiguous `else'.
- 
- 	* dbxout.c (dbxout_type_fields): Add braces around empty body in
- 	an if-statement.
- 	(dbxout_type): Likewise.
- 
- 	* rs6000.c (rs6000_override_options): Change type of `i', `j' and
- 	`ptt_size' from int to size_t.
- 	(rs6000_file_start): Likewise for `i'.
- 	(rs6000_replace_regno): Add default case in enumeration switch.
- 	(output_epilog): Remove unused variable `i'.
- 	(rs6000_longcall_ref): Remove unused variables `len', `p', `reg1'
- 	and `reg2'.
- 
- 	* rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
- 	initializer.
- 	(get_issue_rate, non_logical_cint_operand): Add prototype.
- 	(rs6000_output_load_toc_table): Likewise.
- 
- 	* rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
- 	`else'.
- 
- Wed Mar 25 10:05:19 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c: New File.  Support for ARM's Thumb
- 	instruction set.
- 	* config/arm/thumb.h: New File.  Thumb definitions.
- 	* config/arm/thumb.md: New File.  Thumb machine description.
- 	* config/arm/tcoff.h: New File.  Thumb COFF support.
- 	* config/arm/t-thumb: New File.  Thumb makefile fragment.
- 	* config/arm/lib1thumb.asm: New File.  Thumb libgcc support functions.
- 
- 	* configure.in: Add Thumb-coff target.
- 	* configure: Add Thumb-coff target.
- 	* config.sub: Add Thumb-coff target.
- 
- Wed Mar 25 10:30:32 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (scan_loop): Initialize move_insn_first to zero.
- 
- Wed Mar 25 01:06:49 1998  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS.
- 	* config/i386/rtems.h: Likewise.
- 	* config/i960/rtems.h: Likewise.
- 	* config/m68k/rtems.h: Likewise.
- 	* config/mips/rtems64.h: Likewise.
- 	* config/pa/rtems.h: Likewise.
- 	* config/rs6000/rtems.h: Likewise.
- 	* config/sh/rtems.h: Likewise.
- 	* config/sparc/rtems.h: Likewise.
- 
- Wed Mar 25 00:57:26 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* pa.c (emit_move_sequence): If in reload, call find_replacement.
- 
- Tue Mar 24 10:44:11 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
- 
- 	* collect2.c (find_a_file): Add debugging.
- 	(find_a_file): Test for win32 style absolute paths if
- 	DIR_SERPARATOR is defined.
- 	(prefix_from_string): Add debugging.
- 	(main): Test for debug command line switch at start of program
- 	execution.
- 	(main): Use GET_ENVIRONMENT rather than getenv().
- 	(prefix_from_env): Use GET_ENVIRONMENT.
- 
- 1998-03-24  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* cplus-dem.c (optable): Add sizeof.
- 	(demangle_template_value_parm): New function containing code
- 	previously found in demangle_template.
- 	(demangle_integral_value): New function which handles complicated
- 	integral expressions.
- 	(demangle_template): Use them.
- 
- Tue Mar 24 12:13:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o,
- 	genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o,
- 	genattrtab.o, genoutput.o): Depend on system.h.
- 
- 	* genattr.c: Include system.h.  Add arguments to various function
- 	prototypes.  Remove redundant prototype of read_rtx().
- 	* genattrtab.c: Likewise.
- 	* gencodes.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 
- 1998-03-24  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* c-lang.c (lang_print_xnode): New function.
- 	* objc/objc-act.c (lang_print_xnode): Likewise.
- 	* print-tree.c (print_node): Call it
- 
- Mon Mar 23 23:59:11 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* c-parse.in: Recognize protocol qualifiers in class
- 	definitions for objc.
- 	Include "output.h".
- 	(yyerror): Remove redundant decl.
- 	(yyprint): Fix prototype.
- 
- Mon Mar 23 23:49:47 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
- 
- 	* stmt.c (unroll_block_trees): Free block_vector if needed.
- 
- Mon Mar 23 23:26:42 1998  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns.
- 	(zero_extendsidi2): Avoid useless copy.
- 	(iordi_zext): New pattern.
- 	(iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for
- 	operand 2.
- 	(iorsi_zext): New name for old unnamed pattern; indentation fixes.
- 
- 	* m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63].
- 	(ashldi3): Allow constant shift count in range ]32,63].
- 	(ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise.
- 
- 1998-03-22  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* tree.h (IS_EXPR_CODE_CLASS): New macro.
- 
- Mon Mar 23 23:18:48 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.h (CONST_COSTS): Remove definition.
- 	(DEFAULT_RTX_COSTS): Define.
- 
- Mon Mar 23 22:58:22 1998  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* config/sh/rtems.h: Switched from ELF to COFF.
- 
- Mon Mar 23 14:14:20 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
- 
- Sat Mar 21 23:52:56 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Mar 22 00:50:42 1998  Nick Clifton  <nickc@cygnus.com>
- 			  Geoff Noer	<noer@cygnus.com>
- 
- 	* Makefile.in: Various fixes for building cygwin32 native toolchains.
- 
- 	* objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
- 	* objc/Make-lang.in: Likewise.
- 
- 	* config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
- 
- Sun Mar 22 00:21:46 1998  R. Ganesan  <rganesan@novell.com>
- 
- 	* configure.in: Handle with-PACKAGE=no correctly
- 
- Fri Mar 20 17:36:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o,
- 	c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o,
- 	caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o,
- 	dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o,
- 	expr.o, final.o, flow.o, function.o, getpwd.o, global.o,
- 	integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o,
- 	prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o,
- 	reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o,
- 	rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o,
- 	tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend
- 	on system.h.
- 
- 	* alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c,
- 	c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c,
- 	caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c,
- 	dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c,
- 	expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c,
- 	integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c,
- 	prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c,
- 	reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c,
- 	rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c,
- 	stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c,
- 	xcoffout.c: Include system.h.  Organize include ordering so
- 	that stdarg/varargs comes before other system headers.  Remove
- 	spurious casts of functions assured of a prototype in system.h.
- 
- Fri Mar 20 11:19:40 1998  Stan Cox  <scox@equinox.cygnus.com>
- 
- 	* reg-stack.c (pop_stack): Define. Pops any register on the
- 	regstack and adjusts regstack.
- 	(compare_for_stack_reg): Use pop_stack.
- 
- Thu Mar 19 23:51:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa1.0-hp-hpux10): Handle threads for this
- 	config too.
- 
- Thu Mar 19 20:30:31 1998  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
- 
- 	* fold-const.c (fold): Replace sign-extension of a zero extended
- 	value by a single zero extension.
- 
- Thu Mar 19 00:58:07 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (init_eh): Do nothing.
- 	(save_eh_status): Call init_eh_for_function, not init_eh.
- 	* function.c (push_function_context_to): Don't call init_emit.
- 
- Thu Mar 19 13:39:52 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
- 	and EABI.
- 
- Thu Mar 19 10:10:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* final.c (shorten_branches): Add parentheses around +/- in
- 	operand of &.
- 
- 	* flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
- 
- Thu Mar 19 09:15:17 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* regclass.c (memory_move_secondary_cost): Wrap uses of
- 	SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
- 	with #ifdef tests.
- 
- Thu Mar 19 09:06:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
- 
- 	* flow.c (life_analysis): #include <sys/types.h> to make sure
- 	size_t is defined.
- 	* cplus-dem.c (demangle_function_name): Likewise.
- 
- Thu Mar 19 09:00:01 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* final.c (insn_noperands): Change type to unsigned int.
- 	(final_scan_insn): Likewise for noperands;
- 	properly check operand number boundaries.
- 
- Wed Mar 18 16:20:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (extzv): Don't reject register operands.  Fix
- 	mode of operand 1.
- 
- Wed Mar 18 16:14:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* dbxout.c (dbxout_function_end): Fix last change.  The correct
- 	predicate is ASM_OUTPUT_SECTION_NAME.
- 
- Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
- 	(ashlsi): Use match_dup 1 instead of match_operand 2.
- 
- Wed Mar 18 13:46:07 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (operand_equal_for_comparison_p): See if equal
- 	when nop conversions are removed.
- 
- Wed Mar 18 13:42:01 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COND_EXPR): If have conditional move,
- 	don't use ORIGINAL_TARGET unless REG.
- 
- Wed Mar 18 16:53:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
- 
- Wed Mar 18 12:43:20 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (struct movable): New field move_insn_first.
- 	(scan_loop): In consec sets code, set it.  Clear it otherwise.
- 	(move_movables): In consec sets code, use it.  Copy REG_NOTES from
- 	p to i1 only if i1 does not have REG_NOTES.  Delete obsolete ifdefed
- 	out code.
- 
- Wed Mar 18 09:52:56 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT
- 	is large, and the system doesn't provide atoll or atoq.
- 	(atoll): New.
- 
- 	* alpha/xm-vms.h (HAVE_ATOLL): Define.
- 	Reported by Klaus Kaempf <kkaempf@progis.de>.
- 
- Wed Mar 18 09:56:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lang.c (finish_file): Wrap variable `void_list_node' with macro
- 	test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
- 
- 	* calls.c (emit_call_1): Wrap variable `already_popped' with macro
- 	test !ACCUMULATE_OUTGOING_ARGS.
- 
- 	* collect2.c (write_c_file_glob): Wrap function definition in
- 	macro test !LD_INIT_SWITCH.
- 
- 	* combine.c (try_combine): Wrap variables `cc_use' and
- 	`compare_mode' in macro test EXTRA_CC_MODES.
- 
- 	* cpplib.c (do_ident): Remove unused variable `len'.
- 	(skip_if_group): Remove unused variables `at_beg_of_line' and
- 	`after_ident'.
- 	(cpp_get_token): Remove unused variable `dummy'.
- 
- 	* dbxout.c (scope_labelno): Move static variable definition inside
- 	the one function scope where it is used.
- 	(dbxout_function_end): Wrap prototype and definition in
- 	macro test !NO_DBX_FUNCTION_END.
- 
- 	* dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
- 	in macro test !MIPS_DEBUGGING_INFO.
- 
- 	* expr.c (expand_builtin_setjmp): Move declaration of variable `i'
- 	into the scope where it is used.  Wrap empty else-statement body
- 	in braces.
- 
- 	* fix-header.c: Fix typo in comment.
- 	(inf_skip_spaces): Cast results of INF_UNGET to (void).
- 	(check_protection, main): Likewise.
- 
- 	* flow.c (find_basic_blocks_1): Remove dangling comment text.
- 
- 	* function.c (contains): Wrap prototype and definition in macro
- 	test HAVE_prologue || HAVE_epilogue.
- 	(fixup_var_refs_1): Remove unused variable `width'.
- 
- 	* gen-protos.c (main): Remove unused variable `optr'.
- 
- 	* haifa-sched.c (debug_control_flow): Remove unused variable `j'.
- 
- 	* libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
- 	(__sjpopnthrow): Remove unused variable `jmpbuf'.
- 	(__throw): Remove unused variable `val'.
- 
- 	* protoize.c: Check for a previously existing definition before
- 	defining *_OK macros.
- 
- 	* scan-decls.c (scan_decls): Remove unused variable `old_written'.
- 
- Tue Mar 17 00:45:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* vax.h (ADDR_VEC_ALIGN): Define.
- 
- Mon Mar 16 15:57:17 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* gcc.c (default_arg): Don't wander off the end of allocated
- 	memory.
- 
- 	(From Geoffrey Keating  <geoffk@ozemail.com.au>)
- 	* rs6000.c (small_data_operand): Ensure that any address
- 	referenced relative to the small data area is inside the SDA.
- 
- Mon Mar 16 12:55:15 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
- 
- Mon Mar 16 15:50:20 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (in_same_eh_region): New prototype.
- 	(free_insn_eh_region, init_insn_eh_region): New prototypes.
- 	* except.c (insn_eh_region, maximum_uid): New static variables.
- 	(set_insn_eh_region): New static function to set region numbers.
- 	(free_insn_eh_region): New function to free EH region table.
- 	(init_insn_eh_region): New function to initialize EH region table.
- 	(in_same_eh_region): New function used to determine if two rtl
- 	instructions are in the same exception region or not.
- 	* final.c (final): Initialize the table indicating which instructions
- 	belong in which exception region.
- 	* genpeep.c (main): Add "except.h" to include file list in generated
- 	file insn-peep.c.
- 	* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
- 	peepholes involving calls and unconditional branches.
- 
- Mon Mar 16 11:16:50 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* README.gnat: New file.
- 
- Mon Mar 16 11:14:20 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c: Include <stdlib.h> for atoi.  Include
- 	"recog.h" for offsettable_memref_p.
- 	(legitimize_pic_address): Remove unused variable `offset'.
- 	(notice_update_cc): Change return type to void.  Add default label
- 	to switch.
- 	(standard_68881_constant_p): Remove unused variable mode.
- 	(print_operand): Define local variable i only if SUPPORT_SUN_FPA.
- 	(const_int_cost): Explicitly declare as returning int.
- 	(output_dbcc_and_branch): Change return type to void.
- 
- 	* config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
- 	config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
- 	(...).  Use GEN_INT instead of gen_rtx_CONST_INT.
- 
- Sun Mar 15 22:30:44 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Fri Mar 13 11:30:12 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
- 	check for 'M' constraint.
- 
- Thu Mar 12 14:47:14 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cccp.c (create_definition): If pedantic, call pedwarn for macro
- 	varargs feature.
- 
- Thu Mar 12 13:43:25 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* i386.c (ix86_logical_operator): New function.
- 	(split_di): Ensure that when a MEM is split, the resulting MEMs have
- 	SImode.
- 	* i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
- 	to implement them.
- 
- Thu Mar 12 15:13:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 			  Richard Earnshaw  <rearnsha@arm.com>
- 			  Nick Clifton  <nickc@cygnus.com>
- 
- 	* tm.texi (DEFAULT_RTX_COSTS): Document new macro.
- 
- 	* arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
- 
- 	* cse.c (rtx_cost): Provide a default case in an enumeration
- 	switch, and call DEFAULT_RTX_COSTS if it's defined.
- 
- Thu Mar 12 10:02:38 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* basic-block.h (compute_preds_succs): Change return type in
- 	prototype to void.
- 	* flow.c (compute_preds_succs): Likewise in function definition.
- 
- 	* regmove.c (find_matches): Cast char used as array index to unsigned char
- 	to suppress warning.
- 
- Thu Mar 12 09:39:40 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* i386.h (RTX_COSTS): Insert braces around nested if.
- 	(ADDITIONAL_REGISTER_NAMES): Insert braces around structured
- 	elements.
- 
- 	* gcc.c (default_compilers): Properly put brackets around array elements in
- 	initializer.
- 
- 	* getopt.c (_getopt_internal): Add explicit braces around nested if;
- 	reformatted.
- 
- 	* reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
- 	(record_reg_life_pat): Add explicit parens around && and || in expression.
- 	(stack_reg_life_analysis): Add parens around assignment used as expression.
- 	(convert_regs): Likewise.
- 
- Thu Mar 12 09:25:29 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* bitmap.c (bitmap_element_allocate): Remove unused parameter;
- 	change callers accordingly.
- 
- 	* cplus-dem.c (arm_special): Remove unused parameter work in prototype
- 	and definition; change all callers accordingly.
- 
- 	* except.c (init_eh): Avoid assignment of unused return value of
- 	build_pointer_type; cast it to void, instead, and remove unused
- 	variable type.
- 
- 	* gcc.c (lang_specific_driver): Define prototype only #ifdef
- 	LANG_SPECIFIC_DRIVER.
- 	(temp_names): Define only #ifdef MKTEMP_EACH_FILE.
- 
- 	* genoutput.c (output_epilogue): Initialize next_name to 0.
- 
- 	* real.c (efrexp): #if 0 prototype and function definition.
- 	(eremain): Likewise.
- 	(uditoe): Likewise.
- 	(ditoe): Likewise.
- 	(etoudi): Likewise.
- 	(etodi): Likewise.
- 	(esqrt): Likewise.
- 
- 	* reload.c (push_secondary_reload): Define prototype only
- 	#ifdef HAVE_SECONDARY_RELOADS.
- 
- 	* varasm.c (assemble_static_space): Define rounded only
- 	#ifndef ASM_OUTPUT_ALIGNED_LOCAL.
- 
- Thu Mar 12 09:11:35 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* i386.md (andsi): Add default case in enumeration switch.
- 	(iorsi3): Likewise.
- 	(iorhi3): Likewise.
- 	(xorsi3): Likewise.
- 
- Thu Mar 12 08:37:02 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* c-decl (finish_struct): Change type of min_align to unsigned.
- 
- 	* cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
- 	remove unused variable len.
- 
- 	* dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
- 	comment indicating this is proper behavior.
- 	(reg_loc_descriptor): Remove redundant comparison of unsigned variable
- 	reg >= 0.
- 	(based_loc_descr): Likewise.
- 
- 	* enquire.c (bitpattern): Change type of variable i to unsigned.
- 
- 	* final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
- 
- 	* flow.c (life_analysis): Change type of variable i to size_t;
- 	remove unused variable insn.
- 
- 	* gcc.c (translate_options): Change type of variables optlen, arglen and
- 	complen to size_t.
- 	(input_filename_length): Change type to size_t.
- 	(do_spec_1): Change type of variable bufsize to size_t.
- 	(main): Change type of variables i and j to size_t;
- 	remove subblock local definition of variable i.
- 	(lookup_compiler): Change type of second argument to size_t;
- 	change type of variable i to size_t.
- 
- 	* genemit.c (output_init_mov_optab): Change type of variable i to size_t.
- 
- 	* genopinit.c (get_insn): Change type of variable pindex to size_t.
- 
- 	* genrecog.c (add_to_sequence): Change type of variable i to size_t.
- 
- 	* global.c (global_alloc): Change type of variable i to size_t.
- 
- 	* regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
- 
- 	* stmt.c (expand_end_bindings): Change type of variable i to size_t.
- 	(expand_end_case): Change type of variable count to size_t.
- 
- 	* toplev.c (main): Change type of variable j to size_t.
- 	(set_target_switch): Change type of variable j to size_t.
- 	(print_switch_values): Change type of variable j to size_t;
- 	remove unused variable flags.
- 
- 	* varasm.c (assemble_variable): Change type of variable align to size_t.
- 	(const_hash_rtx): Change type of variable i to size_t.
- 
- 1998-03-11  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
- 	TREE_VEC if that's what it really is.
- 
- Wed Mar 11 15:16:01 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
- 	as per ISO C spec.
- 
- Wed Mar 11 12:05:20 1998  Teemu Torma  <tot@trema.com>
- 
- 	* gthr.h: Changed the comment about return values.
- 	* gthr-solaris.h (__gthread_once): Do not use errno; return the
- 	error number instead of -1.
- 	(__gthread_key_create): Any nonzero return value is an error.
- 	* libgcc2.c (eh_context_initialize): Check for nonzero return
- 	value from __gthread_once.
- 	Check that the value of get_eh_context was really changed.
- 
- Wed Mar 11 18:26:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (LOOP_ALIGN): Only align when optimizing.
- 	* sh.c (find_barrier): Clear inc for CODE_LABELs.
- 	When not optimizing, calculate alignment for BARRIERs directly.
- 
- Wed Mar 11 15:07:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Remove conditionalizing on
- 	SHORTEN_WITH_ADJUST_INSN_LENGTH.
- 	* sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
- 
- Wed Mar 11 02:37:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
- 	an unconditional jump around deleted blocks.
- 
- Mon Mar  9 12:02:23 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* profile.c (branch_prob): If see computed goto, call fatal instead of
- 	abort.
- 
- 	* config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
- 
- 	* configure.in (alpha-dec-osf): Add default case for osf* to switch.
- 	Patch from Bruno Haible.
- 
- 	* function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
- 	(assign_parms): Set aggregate if hide_last_arg and last_named.
- 
- Mon Mar  9 19:57:56 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Initialize insn_addresses.
- 
- Mon Mar  9 14:10:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (MUST_PASS_IN_STACK): Define.
- 
- Sun Mar  8 13:01:56 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* final.c (shorten_branches): Fix minor logic error in
- 	ADDR_DIFF_VEC shortening support.
- 
- Sun Mar  8 02:17:42 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Mar  7 00:54:15 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (is_cfg_nonregular): Change return type to
- 	an int.  No longer compute "estimated" number of edges.  Use
- 	computed_jump_p instead of duplicating the code.  Fixup/add
- 	some comments.
- 	(build_control_flow): Returns a value indicating an irregularity
- 	in the cfg was detected.  Count the number of edges in the cfg.
- 	allocate various edge tables.
- 	(find_rgns): No longer look for unreachable blocks.
- 	(schedule_insns): Do not allocate memory for edge tables here.
- 	Free memory for edge tables before returning.  Do not perform
- 	cross block scheduling if build_control_flow returns nonzero.
- 	* flow.c (compute_preds_succs): More accurately determine when
- 	a block drops in.
- 
- 	* basic-block.h (free_basic_block_vargs): Provide prototype.
- 
- 	* cccp.c (main): Fix dumb mistakes in last change.
- 
- Fri Mar  6 21:28:45 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (addr_diff_vec_flags): New typedef.
- 	(union rtunion_def): New member rt_addr_diff_vec_flags.
- 	(ADDR_DIFF_VEC_FLAGS): New macro.
- 
- 	* sh.c (output_branch): Fix offset overflow problems.
- 
- 	* final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE.
- 	(final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT.
- 	* rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags).
- 	* stmt.c (expand_end_case): Supply new arguments to
- 	gen_rtx_ADDR_DIFF_VEC.
- 	* 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY.
- 	* alpha.h, arc.h, clipper.h, convex.h : Likewise.
- 	* dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise.
- 	* i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise.
- 	* mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise.
- 	* rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise.
- 	* vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise.
- 	* i386/386bsd.h, i386/freebsd-elf.h : Likewise.
- 	* i386/freebsd.h, i386/linux.h : Likewise.
- 	* i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise.
- 	* i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise.
- 	* m68k/mot3300.h, m68k/sgs.h : Likewise.
- 	* m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise.
- 	* sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define.
- 	(CASE_VECTOR_SHORTEN_MODE): Define.
- 	(short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare.
- 	(med_branch_p, braf_branch_p): Don't declare.
- 	(mdep_reorg_phase, barrier_align): Declare.
- 	(ADJUST_INSN_LENGTH): Remove alignment handling.
- 	* sh.c (uid_align, uid_align_max): Deleted.
- 	(max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted.
- 	(short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted.
- 	(cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted.
- 	(output_far_jump): Don't use braf_branch_p.
- 	(output_branchy_insn): Don't use branch_offset.
- 	(find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs.
- 	Remove paired barrier stuff.
- 	Don't use cache_align_p.
- 	Take alignment insns into account.
- 	(fixup_addr_diff_vecs): Reduce to only fixing up the base label of
- 	the addr_diff_vec.
- 	(barrier_align, branch_dest): New function.
- 	(machine_dependent_reorg, split_branches): Remove infrastructure
- 	for branch shortening that is now provided in the backend.
- 	* sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes.
- 	(braf_branch_p, braf_cbranch_p): Likewise.
- 	(attribute length): Use new attributes.
- 	(casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC.
- 	(addr_diff_vec_adjust): Delete.
- 	(align_2): Now a define_expand.
- 	(align_log): Now length 0.
- 
- Fri Mar  6 14:41:33 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* m32r.md (right): Correctly check for length == 2, not 1.
- 
- Fri Mar  6 14:00:04 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips/mips.h: Prototype `machine_dependent_reorg'.
- 	(ASM_OUTPUT_ALIGN): Remove unused variable `mask'.
- 
- Fri Mar  6 11:43:35 1998  Joern Rennecke  (amylaar@cygnus.co.uk)
- 
- 	* final.c (shorten_branches): Restore accidentally removed code.
- 
- Fri Mar  6 11:00:49 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* configure.in: Remove duplicate uses of AC_PROG_CC and
- 	AC_PROG_MAKE_SET.
- 
- Fri Mar  6 00:59:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (target_cpu_default2): Correct typo for alphapca56.
- 
- Thu Mar  5 23:24:50 1998  Jeffrey A Law  (law@cygnus.com)
- 			  Doug Evans	 (devans@cygnus.com)
- 
- 	* haifa-sched.c (build_jmp_edges): Delete dead function.
- 	(build_control_flow): Use cfg routines from flow.c.
- 	(schedule_insns): Remove debugging code accidentally checked
- 	in earlier today.
- 
- 	* basic-block.h: Add external integer list structures, typdefs,
- 	accessor macros and function declarations.  Similarly for
- 	basic block pred/succ support and simple bitmap stuff.
- 	* flow.c: Add functions for integer list, basic block pred/succ
- 	support and simple bitmap support.
- 	(compute_dominators): New function to compute dominators and
- 	post dominators.
- 	(find_basic_blocks): Split into two functions.
- 	(life_analysis): Likewise.
- 	(flow_analysis): Removed.  Now handled by calling find_basic_blocks,
- 	the life_analysis from toplev.c.
- 	* toplev.c (rest_of_compilation): Call find_basic_blocks, then
- 	life_analysis instead of flow_analysis.
- 
- Thu Mar  5 23:06:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* jump.c (jump_optimize): Call mark_jump_label also for deleted
- 	insns.
- 	(mark_jump_label): Don't increment ref counts for deleted insns.
- 
- Thu Mar  5 09:55:15 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition.
- 
- 	* mips/mips.c: Include stdlib.h and unistd.h.
- 	(mips_asm_file_end): Add braces around empty body in an if-statement.
- 	(function_prologue): Wrap variable `fnname' in
- 	!FUNCTION_NAME_ALREADY_DECLARED.  Correct format specifier in fprintf.
- 	(mips_select_rtx_section, mips_select_section): Declare as void.
- 
- 	* mips/mips.h: Add prototypes for extern functions in mips.c.
- 	(FUNCTION_ARG_REGNO_P): Add parentheses around && within ||.
- 	(ENCODE_SECTION_INFO): Add braces around empty body in an
- 	if-statement.
- 
- 	* mips/mips.md (movdi): Add parentheses around && within ||.
- 	(movsf, movdf): Likewise.
- 	(branch_zero, branch_zero_di): Add default case in
- 	enumeration switch.
- 
- Thu Mar  5 02:45:48 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them
- 	real constants, since they can't be changed.
- 	(TARGET_AS_CAN_SUBTRACT_LABELS): New.
- 	* alpha/alpha.md (builtin_setjmp_receiver): Use it.
- 	* alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
- 	* alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New.
- 	* alpha/vms.h (TARGET_OPEN_VMS): New.
- 	* alpha/win-nt.h (TARGET_WINDOWS_NT): New.
- 
- Thu Mar  5 02:41:27 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (find_reloads): Always force (subreg (mem)) to be
- 	reloaded if WORD_REGISTER_OPERATIONS.
- 
- Thu Mar  5 02:14:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (free_list): Rename from free_pnd_lst.
- 	(free_pending_lists): Rename free_pnd_lst uses.
- 	(remove_dependence): Place expunged element on unused_insn_list.
- 	(alloc_INSN_LIST, alloc_EXPR_LIST): New.  Change all callers of
- 	gen_rtx_*_LIST and alloc_rtx to use them.
- 	(compute_block_backward_dependences): Free the reg_last_* lists.
- 
- Thu Mar  5 00:05:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cccp.c (main): Avoid undefined behavior when setting pend_includes
- 	and pend_files.
- 
- Wed Mar  4 21:58:25 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
- 
- 	* rs6000/linux.h: Don't define DEFAULT_VTABLE_THUNKS to 1 if
- 	USE_GNULIBC_1 is defined.
- 	* configure.in: Add a new case powerpc-*-linux-gnulibc1 which
- 	includes the t-linux-gnulibc1 fragment.
- 
- Wed Mar  4 12:11:36 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
- 
- Wed Mar  4 18:47:48 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (final_scan_insn, case CODE_LABEL: Cleanup.
- 
- Wed Mar  4 15:51:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Tag the loop alignment onto the
- 	first label after NOTE_INSN_LOOP_BEG even if there is an
- 	intervening insn.
- 
- Tue Mar  3 21:48:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (insn_current_reference_address):
- 	Use SEQ instead of BRANCH as argument to align_fuzz, to get a
- 	proper alignment chain.
- 
- 	* final.c (max_labelno): New static variable.
- 	(final_scan_insn): Check max_labelno before outputting an
- 	alignment for a label.
- 	(shorten_branches): Remove unused variable length_align.
- 
- Tue Mar  3 14:27:23 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (ultrasparc_adjust_cost): Add default case in
- 	enumeration switch.
- 
- 	* sparc.h: Add prototypes for extern functions defined in
- 	sparc.c.
- 
- Tue Mar  3 10:00:11 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c: Only generate <name>.dbr file when dumping RTL if
- 	DEALY_SLOTS is defined.
- 
- Tue Mar  3 07:36:37 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* reorg.c (fill_eager_delay_slots): Add new argument delay_list
- 	in call to fill_slots_from_thread.
- 
- Mon Mar  2 13:45:03 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
- 	to SUB_CPP_PREDEFINES.  Reported by asun@saul4.u.washington.edu.
- 
- Mon Mar  2 22:59:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (insn_last_address, insn_current_align, uid_align):
- 	New variables.
- 	(in_align_chain, align_fuzz, align_shrink_fuzz): New functions.
- 	(insn_current_reference_address): Likewise.
- 	(shorten_branches, final_scan_insn): Implement LABEL_ALIGN,
- 	LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros.
- 	(label_to_alignment): New function.
- 	* genattrtab.c (write_test_expr): If one of LABEL_ALIGN,
- 	LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call
- 	insn_current_reference_address instead of insn_current_address.
- 	(or_attr_value, write_length_unit_log): New functions.
- 	(main): Call write_length_unit_log.
- 	(write_const_num_delay_slots): Output extra '\n'.
- 	* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE):
- 	Replace with:
- 	(LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER).
- 	* i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise.
- 	* arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): Replace with:
- 	(LOOP_ALIGN).
- 	* i960.h, m88k.h (ASM_OUTPUT_ALIGN_CODE): Replace with:
- 	(LABEL_ALIGN_AFTER_BARRIER).
- 	* ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise.
- 	* ns32k/tek6000.h: Likewise.
- 	* i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete.
- 	* i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of
- 	ASM_OUTPUT_ALIGN_CODE.
- 
- Mon Mar  2 01:05:50 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Mar  2 00:52:18 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Mar  1 18:25:49 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
- 
- 	* reorg.c (fill_slots_from_thread): Don't steal delay list from target
- 	if condition code of jump conflicts with opposite_needed.
- 
- 	* reorg.c (fill_slots_from_thread): Mark resources referenced in
- 	opposite_needed thread.  Return delay_list even when cannot get
- 	any more delay insns from end of subroutine.
- 
- Sun Mar  1 18:26:21 1998  Ken Rose  (rose@acm.org)
- 
- 	* reorg.c (fill_slots_from_thread): New parameter, delay_list.
- 	All callers changed.
- 
- Sun Mar  1 18:25:37 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* frame.c (start_fde_sort, fde_split, heapsort, fde_merge,
- 	end_fde_sort): New functions for fast sorting of an FDE array.
- 	(fde_insert): Simplified.
- 	(add_fdes): Change argument list.
- 	(frame_init): Use the new functions.
- 
- Sun Mar  1 18:06:21 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ginclude/va-ppc.h (va_arg): Fix typo in long long support.
- 
- 	* i386.c (reg_mentioned_in_mem): Fix dangling else statement.
- 
- 	* fold-const.c (fold_range_test): Always return a value.
- 
- Sun Mar  1 17:57:34 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* config/i386/winnt.c (i386_pe_unique_section): Put read-only
- 	data in the text section unless READONLY_DATA_SECTION is defined.
- 
- Sun Mar  1 17:48:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-parse.in (undeclared variable error): Tweak error message to
- 	be clearer.
- 
- Sun Mar  1 10:22:36 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 1998-02-28  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* final.c (final_scan_insn): Undo overzealous removal of `set'.
- 
- Sat Feb 28 07:54:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
- 	case, add parentheses to specify the proper order of precedence in
- 	the if-statement.
- 
- 	* c-aux-info.c: Include string.h/strings.h.
- 
- 	* pa.c: Include stdlib.h.
- 	(pa_combine_instructions): Prototype the function.
- 	(pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise.
- 	(reloc_needed): Add default case for enumeration switch.
- 	(remove_useless_addtr_insns): Remove unused variable `all'.
- 	(hppa_expand_prologue): Add explicit braces to avoid
- 	ambiguous `else'.
- 	(output_function_epilogue): Remove unused variable `i'.
- 	(output_millicode_call): Remove unused variable `link'.
- 	(shadd_constant_p, forward_branch_p): Make the function static.
- 	(following_call): Explicitly declare to return int.
- 	(pa_reorg): Declare as void.
- 	(pa_combine_instructions): Declare as static void.  Add
- 	parentheses around && within ||.
- 
- 	* pa.h: Add prototypes for pa_reorg, symbolic_operand,
- 	following_call, function_label_operand, lhs_lshift_cint_operand
- 	and zdepi_cint_p.
- 
- 	* pa.md: Add parentheses around && within ||.
- 
- 	* cppalloc.c: Include stdlib.h.
- 
- 	* cpperror.c (cpp_print_containing_files): Remove unused variable
- 	`i'.  Fix format specifier in fprintf.
- 
- 	* cse.c (cse_around_loop): Add explicit braces to avoid
- 	ambiguous `else'.
- 	(delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
- 
- 	* expr.c (expand_expr): Add parentheses around && within ||.
- 
- 	* final.c (app_enable): Replace fprintf with fputs where there are
- 	no format specifiers and no trailing argument after the string.
- 	Eg, when printing ASM_APP_ON/ASM_APP_OFF.
- 	(app_disable): Likewise.
- 	(final_end_function): Likewise.
- 	(final_scan_insn): Likewise.  Remove unused variable `set'.
- 	(profile_function): Wrap empty if-statement body in {} brackets.
- 
- 	* function.c: Include stdlib.h.
- 	(pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD.
- 	(reposition_prologue_and_epilogue_notes): Add parentheses
- 	around assignment used as truth value.
- 
- 	* integrate.c (expand_inline_function): Wrap variable
- 	`cc0_insn' in macro HAVE_cc0.
- 
- 	* jump.c (jump_optimize): Wrap variable `q' in macro
- 	HAVE_cc0.  Remove unused variable `prev1'.
- 
- 	* libgcc2.c (__bb_exit_trace_func): Add parentheses around &&
- 	within ||.  Fix format specifier in fprintf.
- 	(__bb_init_prg): Add parentheses around assignment used as
- 	truth value.
- 
- 	* local-alloc.c: Include stdlib.h.
- 	(requires_inout): Add parentheses around assignment used
- 	as truth value.
- 
- 	* loop.c (analyze_loop_iterations): Wrap prototype and definition
- 	in macro HAVE_decrement_and_branch_on_count.
- 	(insert_bct, instrument_loop_bct): Likewise.
- 	(move_movables): Add parentheses around assignment used as
- 	truth value.
- 	(consec_sets_invariant_p): Likewise.
- 	(maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0.
- 
- 	* objc/objc-act.c: Include stdlib.h.
- 	(lookup_method_in_protocol_list): Wrap empty else-statement body
- 	in braces.
- 	(lookup_protocol_in_reflist): Likewise.
- 	(objc_add_static_instance): Remove unused variables `decl_expr'
- 	and `decl_spec'.
- 	(get_objc_string_decl): Remove unused variable `decl'.
- 	(generate_static_references): Remove unused variables `idecl' and
- 	`instance'.
- 	(check_protocols): Wrap empty else-statement body in braces.
- 
- 	* protoize.c: Include stdlib.h.
- 	(substr): Add parentheses around assignment used as truth value.
- 	(abspath): Likewise.
- 	(shortpath): Likewise.
- 
- 	* regmove.c (fixup_match_1): Add parentheses around assignment
- 	used as truth value.
- 
- 	* reload.c (push_secondary_reload): Remove unused variable `i'.
- 	(find_reloads): Add parentheses around assignment used as truth
- 	value.
- 
- 	* reload1.c: Include stdlib.h.
- 
- 	* rtl.h: Correct typo in prototype of offsettable_memref_p.
- 
- 	* stmt.c (add_case_node): Add parentheses around assignment used
- 	as truth value.
- 	(case_tree2list): Likewise.
- 
- 	* tree.c (valid_machine_attribute): Wrap variable `decl_attr_list'
- 	in macro VALID_MACHINE_DECL_ATTRIBUTE.  Wrap variable
- 	`type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE.
- 	(merge_attributes): Add explicit braces to avoid ambiguous
- 	`else'.
- 
- 	* unroll.c (copy_loop_body): Wrap variable `cc0_insn' in
- 	macro HAVE_cc0.
- 
- 	* varasm.c: Include stdlib.h.
- 
- 	* system.h: Remove sys/stat.h.
- 	* gcc.c: Add sys/stat.h.
- 
- 	* genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE.
- 	* genattrtab.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* tlink.c: Likewise.  Also wrap `getenv' in NEED_DECLARATION_GETENV.
- 
- Fri Feb 27 11:02:47 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* invoke.texi: Use @itemx for a secondary item in a @table.
- 
- 	* config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
- 	zero.
- 
- Thu Feb 26 00:13:21 1998  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* choose-temp.c: Fix handling of sys/file.h to work in libiberty.
- 
- Wed Feb 25 23:40:54 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.c (struct machine_function): Add new fields for PIC stuff.
- 	(save_386_machine_status): Fix argument to xmalloc.  Save pic_label_rtx
- 	and pic_label_name.
- 	(restore_386_machine_status): Corresponding changes.
- 	(clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name.
- 
- Wed Feb 25 01:31:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-parse.y (undeclared variable error): Tweak error message
- 	to be clearer.
- 
- Tue Feb 24 23:54:07 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* flags.h (g_switch_value, g_switch_set): Declare.
- 	* alpha.c (override_options): Set g_switch_value=8 if not set.
- 	* alpha/elf.h (CC1_SPEC): New.
- 	(ASM_SPEC): New.
- 	(LINK_SPEC): Pass along the -G value we were given.
- 	(LOCAL_ASM_OP): Remove.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size.
- 	(MAX_OFILE_ALIGNMENT): New.
- 	(BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New.
- 	(EXTRA_SECTIONS): Add sbss and sdata.
- 	(SECTION_FUNCTION_TEMPLATE): New.
- 	(EXTRA_SECTION_FUNCTIONS): Use it.
- 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
- 	(SELECT_SECTION): Use sdata when small enough.
- 	* alpha/linux.h (ASM_SPEC): Remove.
- 
- Mon Feb 23 15:09:18 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 	* config.sub (sco5): Fix typo.
- 
- Mon Feb 23 18:19:31 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and
- 	set to empty.
- 	* config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise.
- 	* config/alpha/t-linux: Remove file.
- 	* config/sparc/t-linux: Remove file.
- 	* config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove.
- 	* config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise.
- 	* configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux
- 	for tmake_file.
- 	(alpha*-*-linux-gnu*): Likewise.
- 	(sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file.
- 	(sparc-*-linux-gnu*): Likewise.
- 
- Mon Feb 23 10:47:39 1998  Robert Lipe  <robertl@dgii.com>
- 	* collect2.c (ldd_file_name): Bracket declaration with same
- 	manifests as use.
- 	(full_real_ld_suffix): Deleted.  Variable was calloced and
- 	written into, but never read.
- 
- 1998-02-23  Mike Stump  <mrs@wrs.com>
- 
- 	* configure.in: Add support for i386-wrs-vxworks configuration.
- 	* i386/vxi386.h: New file.
- 
- Sun Feb 22 21:16:51 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* tree.c (contains_placeholder_p): Ensure function always returns
- 	a value.
- 	* sparc.md (movdi_sp64_insn): Add default case in enumeration switch.
- 	(movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise.
- 
- Sun Feb 22 20:58:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
- 
- 1998-02-22  Paul Eggert  <eggert@twinsun.com>
- 
- 	* config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2):
- 	Define this new symbol.
- 	(DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef.
- 	* toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if
- 	LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined.
- 
- Sun Feb 22 20:07:32 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* iris5.h (DWARF2_UNWIND_INFO): Define to 0.
- 	* iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
- 
- Sun Feb 22 15:29:48 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* objc/Object.m (-error): Call objc_verror with our va_list.
- 
- Sun Feb 22 09:45:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (scan_prog_file): Completely cover uses of variable
- 	`exports' with macro COLLECT_EXPORT_LIST.
- 
- Sat Feb 21 20:36:23 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* sched.c (schedule_block): Remove code to get arguments from hard
- 	regs into pseudos early.  Same as Aug 25, 1997 change to
- 	haifa-sched.c.
- 
- 1998-02-20  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* collect2.c (main): Still handle !do_collecting for non-AIX targets.
- 
- 1998-02-16  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* toplev.c (rest_of_compilation): Do not defer the output of a
- 	nested function.
- 
- Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
- 
- 	* ginclude/va-mips.h (va_arg): Remove trailing space after '\'
- 	continuation character (line 243).
- 
- Fri Feb 20 12:10:26 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* genrecog.c (main): Remove duplicated sentence in emitted comment.
- 
- Thu Feb 19 22:36:53 1998  Andrey Slepuhin  <pooh@msu.net>
- 			  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* collect2.c (XCOFF_SCAN_LIBS): Remove.
- 	(export_flag): New variable.
- 	(export_file): #ifdef COLLECT_EXPORT_LIST.
- 	(import_file, exports, imports, undefined): New variables.
- 	(libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same.
- 	(dump_list, dump_prefix_list, is_in_list): New functions.
- 	(write_export_file): $ifdef COLLECT_EXPORT_LIST.
- 	(write_import_file, resolve_lib_name): New functions.
- 	(use_import_list, ignore_library): Same.
- 	(collect_exit): maybe_unlink import_file and #ifdef.
- 	(handler): Same.
- 	(main): New variable importf, #ifdef exportf.  Move parsing of
- 	-shared before general argument parsing.  Resolve AIX library
- 	paths and import libgcc.a symbols.  Treat .so shared libraries the
- 	same as objects and .a libraries.  Create alias for object_lst and
- 	increment it instead of original pointer.  Scan AIX libraries as
- 	objects earlier instead of using scan_libraries.  Perform AIX
- 	tlink later to resolve templates instead of forking ld.
- 	(GCC_OK_SYMBOL): Ensure symbol not in undef section.
- 	(GCC_UNDEF_SYMBOL): New macro.
- 	(scan_prog_file): Loop for members of AIX libraries.  Handle
- 	export/import of ctors/dtors.
- 	(aix_std_libs): New variable.
- 	(scan_libraries, XCOFF): Delete.
- 
- Thu Feb 19 22:36:52 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
- 
- 1998-02-19  Mike Stump  <mrs@wrs.com>
- 
- 	* Makefile.in: Use $tooldir for sys-include to match toplevel
- 	configure.
- 
- Thu Feb 19 01:32:37 1998  Jeffrey A Law  (law@cygnus.com)
- 			  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
- 
- 	* emit-rtl.c (hard-reg-set.h): Include.
- 	(get_lowpart_common): Don't make new REG for hard reg in a
- 	class that cannot change size.
- 	* Makefile.in (emit-rtl.o): Depend on hard-reg-set.h.
- 
- 	* combine.c: Revert previous patch.
- 
- 1998-02-19  Paul Eggert  <eggert@twinsun.com>
- 
- 	* config/sparc/sol2-sld.h: New file.
- 	* configure.in (sparc-*-solaris2*): Use it when using the
- 	system linker.
- 
- Thu Feb 19 00:46:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (force_movables): Fix typo.
- 
- Thu Feb 19 08:26:30 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* m88k.h: Change file pattern to match reality.
- 
- Wed Feb 18 23:19:52 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* varasm.c (output_constant_pool): Fix dumb thinko in last
- 	change.
- 
- 	* pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
- 	a function name to a section name.
- 
- 1998-02-18  Doug Evans  <devans@cygnus.com>
- 
- 	* tree.h (merge_machine_{type,decl}_attributes): Declare.
- 	(split_specs_attrs, strip_attrs): Add prototypes.
- 	* tree.c (merge_machine_{type,decl}_attributes): New functions.
- 	* c-decl.c (duplicate_decls): Call merge_machine_decl_attributes.
- 	Update olddecl's attributes too.
- 	* c-common.c (strip_attrs): New function.
- 	* c-typeck.c (common_type): Call merge_machine_type_attributes.
- 	* varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P.
- 	(make_decl_rtl): Likewise.
- 
- 1998-02-18  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-decl.c (shadow_tag_warned): Call split_specs_attrs.
- 
- Wed Feb 18 09:09:50 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	Remove this change until we can fix it correctly.
- 	* collect2.c: Bracket declaration of 'exportf' and
- 	'full_real_ld_suffix'.
- 
- Wed Feb 18 08:44:25 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
- 
- 	* Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
- 
- Tue Feb 17 23:30:20 1998  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
- 
- 	* c-common.c (c_expand_start_cond, c_expand_end_cond,
- 	c_expand_start_else): Don't warn about non-ambiguous else even if
- 	braces are missing.
- 
- Tue Feb 17 23:56:50 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_LONG_DOUBLE): Delete.  Use the ones from i386.h
- 	instead.
- 
- Tue Feb 17 22:56:14 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when
- 	simplifying a subreg of a hard reg.
- 	(expand_compound_operation): Likewise.
- 	(force_to_mode): Likewise.
- 
- Tue Feb 17 22:37:22 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c: Include "system.h" to get stdlib.h and stdio.h.
- 	(lshift_double): Add parentheses around + or - inside shift.
- 	(rshift_double): Likewise.
- 	(size_int_wide): Explicitly set type of `bit_p' to `int'.
- 
- 	* Makefile.in (fold-const.o): Depend on system.h.
- 
- 	* Makefile.in (gcc.o): Depend on system.h, in accordance with last
- 	change to gcc.c.
- 
- 	* haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>.
- 	(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
- 	(sched_note_set): Remove unused parameter `b', all callers changed.
- 	(schedule_block): Likewise for `rgn'.
- 	(split_hard_reg_notes): Likewise for `orig_insn'.
- 	(check_live): Likewise for `trg'.
- 	(update_live): Likewise.
- 	(check_live_1): Explicitly declare variable `i' as int.
- 	(update_live_1): Likewise.
- 	(insn_issue_delay): Remove unused variable `link'.
- 	(sched_analyze_2): Add default case in enumeration switch.
- 	(schedule_insns): Remove unused variable `i'.
- 
- 	* Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
- 
- Tue Feb 17 22:31:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
- 	a dangling else clause.
- 
- Tue Feb 17 21:28:12 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
- 	pointer for the stack pointer in MIPS16 and 64BIT.
- 
- Tue Feb 17 21:17:30 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (force_line_numbers, restore_line_number_status): Declare.
- 	* emit-rtl.c (force_line_numbers, restore_line_number_status):
- 	New functions.
- 	* stmt.c (struct nesting): Replace seenlabel with line_number_status.
- 	(expand_start_case): Adjust to this change.
- 	(check_seenlabel): New function.
- 	(pushcase, pushcase_range, expand_endcase): Use it.
- 
- Tue Feb 17 10:14:32 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* i386.md (adddi3): Add =!r,0,0,X alternative.
- 
- Mon Feb 16 16:13:43 1998  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
- 	* x-aix31 (INSTALL): Delete.
- 
- Mon Feb 16 09:24:32 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
- 	tsize changes to something other than zero.
- 
- Mon Feb 16 09:11:48 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* ginclude/va-mips.h: Replace casts of pointers to int with
- 	casts of pointers to __PTRDIFF_TYPE__.
- 
- Mon Feb 16 08:17:14 1998  John Carr  <jfc@mit.edu>
- 
- 	* loop.c (strength_reduce, record_biv, record_giv): Use
- 	HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
- 
- 1998-02-16  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (first_rtl_op): New fn.
- 	(unsave_expr_now): Use it.
- 	* print-tree.c (print_node): Likewise.
- 	* tree.c (has_cleanups): New fn.
- 	* fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it.  Be more
- 	conservative about pushing the cleanup point down.
- 	* tree.h: Declare them.
- 
- Sun Feb 15 23:28:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (flag_schedule_reverse_before_reload): Delete variable.
- 	(flag_schedule_reverse_after_reload): Likewise.
- 	(f_options): Remove reverse scheduling support.
- 	* flags.h (flag_schedule_reverse_before_reload): Delete declaration.
- 	(flag_schedule_reverse_after_reload): Likewise.
- 	* haifa-sched.c (rank_for_schedule): Remove support for reverse
- 	scheduling.
- 
- Sun Feb 15 21:33:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c: Get system includes, prototypes and macros via "system.h"
- 	instead of doing it manually.  Change all calls of the ctype
- 	macros to custom versions defined in "system.h".
- 
- 	* system.h: Fix return type of bcmp prototype from `void' to `int'.
- 	Make bcopy, bcmp and bzero prototypes explicitly `extern'.
- 	Add a prototype for getenv.
- 
- Sun Feb 15 17:05:41 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
- 
- Sun Feb 15 15:23:15 1998  John Carr  <jfc@mit.edu>
- 
- 	* alias.c: Include <stdlib.h> and <string.h>.
- 	(init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
- 
- Sat Feb 14 11:23:09 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Feb 14 05:08:21 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.md (movsfcc): Also validate operands[3] when compiling hard
- 	float.
- 	(movdfcc): Only accept fpu_add_operand for operands[3].
- 
- 	* arm/t-semi (STMP_FIXPROTO): Define to nothing.
- 	* arm/t-semiaof (STMP_FIXPROTO): Likewise.
- 
- Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* varasm.c (output_constant_pool): Bring back 'done' label inside
- 	an appropriate #ifdef.
- 
- 	* bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an
- 	appropriate #ifdef.
- 	(bitmap_copy, bitmap_operation): Likewise.
- 	* combine.c (combinable_i3pat): Similarly for 'src'.
- 	* function.c (fixup_var_refs_1): Similarly for 'outerdest'.
- 	(locate_and_pad_parm): Similarly for 'reg_parm_stack_space'.
- 	* regclass.c (copy_cost): Similarly for 'secondary_class'.
- 	* reload.c (make_memloc): Similarly for 'i'.
- 	(find_reloads_address_1): Similarly for 'link'.
- 	* reload1.c (reload): Similarly for 'previous_frame_pointer_needed'.
- 	(emit_reload_insns): Similarly for 'second_reloadreg'.
- 	* unroll.c (iteration_info): Similarly for 'v'.
- 
- 	* caller-save.c (insert_save_restore): Remove unused variable 'i'.
- 	* calls.c (expand_call): Similarly for 'i'.
- 	(emit_library_call, emit_library_call_value): Similarly for 'mode'.
- 	* fold-const.c (strip_compound_expr): Similarly for 'type'.
- 	* function.c (fixup_var_refs_1): Similarly  for 'width'.
- 	(fixup_memory_subreg): Similarly for 'saved'.
- 	(locate_and_pad_parm): Similarly for 'boundary_in_bytes.'
- 	(setjmp_protect): Similarly for 'sub'.
- 	(thread_prologue_and_epilogue_insns): Similarly for 'insn'.
- 	* loop.c (record_giv): Similarly for 'p'.
- 	(combine_givs): Similarly for 'temp_iv'.
- 	(indirect_jump_in_function_p): Similarly for 'is_indirect_jump'.
- 	* recog.c (validate_replace_rtx_1): Similarly for 'width'.
- 	* tree.c (get_set_constructor_bytes): Similarly for 'vals'.
- 	* unroll.c (unroll_loop): Similarly for 'copy'.
- 	(iteration_info): Similarly for 'b'.
- 	* varasm.c (assemble_string): Similarly for 'i'.
- 	* i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
- 
- 1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* c-lang.c (lang_print_xnode): New function.
- 	* objc/objc-act.c (lang_print_xnode): Likewise.
- 	* print-tree.c (print_node): Call it
- 
- Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (decl_scope_node): New type.
- 	(decl_scope_table): Change type to use it.
- 	(decl_scope_table_allocated, decl_scope_depth): Change type to int.
- 	(push_decl_scope): Use new type.  New locals containing_scope, i.
- 	Add code to handle setting previous field.
- 	(scope_die_for): Change type of local i to int.  Add code to use
- 	previous field.
- 	(dwarf2out_init): Use new type.
- 
- 1998-02-13  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (emit_throw): Lose throw_used.
- 
- Fri Feb 13 20:36:05 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
- 	was deleted.
- 	* haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
- 
- Fri Feb 13 12:18:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* genextract.c (main): Fix typo.
- 
- Fri Feb 13 08:41:49 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* c-lang.c (finish_file): Bracket declaration of static_ctors,
- 	static_dtors.
- 
- 	* calls.c (expand_call): Bracket declaration of 'rtx_before_call',
- 	'old_stack_arg_under_construction'
- 	(emit_library_call): Bracket declaration of 'upper_bound',
- 	'lower_bound', 'i', 'reg_parm_stack_space'
- 	(emit_library_call_value): Likewise.
- 	(store_one_arg):
- 
- 	* collect2.c: Include <unistd.h> when appropriate.
- 	Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
- 
- 	* emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
- 
- 	* explow.c (plus_constant_for_output_wide): Remove unused variable
- 	'code'.
- 	(memory_address): Remove unused variable 'orig_x'.
- 
- 	* genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
- 	(write_const_num_delay_slots): Remove unused variable 'i'.
- 
- 	* genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
- 	(gen_insn): Remove unused variable 'obstack_ptr'.
- 
- 	* libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
- 	'j', 'tmp', 'i'.
- 	(__bb_exit_trace_func): Remove unused variable 'e'.
- 
- 	* optabs.c (expand_binop): Remove unused variables 'lhs', 'rhs',
- 	'funexp'.
- 	(expand_unop): Remove unused variable 'funexp'.
- 	(expand_complex_abs): Remove unused variable 'funexp'.
- 	(init_optabs): Bracket declaration of 'j'.
- 	(init_complex_libfuncs): Deleted.  Dead static function.
- 
- 	* profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
- 
- 	* reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
- 	(reg_to_stack): 'initialized', 'before_function_beg'
- 	explicitly type as ints instead of defaulting.
- 	(emit_swap_insn): Remove unused variable 'i2'.
- 	(compare_for_stack_reg): Remove unused variable 'src_note'.
- 
- 	* rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
- 
- 	* sched.c (actual_hazard): Bracket declaration of 'this_cost'.
- 
- 	* stmt.c (add_case_node): Add parens for assignment used as truth.
- 	(all_cases_count): Remove unused variable 'count_high'.
- 	(mark_seen_cases): Remove unused variable 'i'.
- 	(check_for_full_enumeration_handling): Remove unused variable 't'.
- 	Bracket declaration of  'all_values', 'l'.
- 
- 	* tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
- 
- 	* varasm.c (assemble_string): Remove unused variable 'i'.
- 	(immed_double_const): Remove unused variable 'in_current_obstack'.
- 	(immed_real_const_1): Likewise.
- 	(output_constant_pool): Remove unreferenced label 'done'.
- 	(output_constant): Remove unused variable 'x'.
- 
- 	* i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
- 	a string.
- 
- 	* i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
- 	as truth.
- 
- Fri Feb 13 10:21:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* combine.c (can_combine_p): Handle USEs in PARALLELs.
- 
- Fri Feb 13 01:34:14 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/linux.h (LIB_SPEC): Add -lc for -shared if
- 	USE_GNULIBC_1 is not defined.
- 	* config/sparc/linux.h; Likewise.
- 
- 	* config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
- 
- 	* config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
- 	USE_GNULIBC_1 is not defined.
- 
- Fri Feb 13 01:29:29 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
- 
- 	* rs6000/sysv4.h (ENDFILE_SPEC): Add missing %(endfile_linux)
- 	for -mcall-linux.
- 
- Fri Feb 13 01:23:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: New file to get common systems includes and various
- 	definitions and declarations based on autoconf macros.
- 
- Fri Feb 13 00:46:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cccp.c (new_include_prefix): Correctly handle -I./.
- 
- Thu Feb 12 20:16:35 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
- 
- Thu Feb 12 16:45:17 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* expr.c (expand_assignment): Correct typo exposed by -Wall.
- 	offset should have been a truth value, not an assignment.
- 
- Thu Feb 12 15:26:50 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (delete_dead_from_cse): If a libcall produces a constant
- 	result and that result can be substituted into SET_SRC of the
- 	insn with the REG_RETVAL note, then perform the substitution
- 	and delete the libcall.
- 
- Thu Feb 12 14:04:09 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips.md (trucndihi2,truncdiqi2): Change these to support
- 	mips16.
- 
- Thu Feb 12 11:34:55 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.c (movdi_operand): Direct references to symbols
- 	that arn't mips16 consts in mips16 mode arn't valid operands.
- 
- 	* mips/mips.c (mips_move_2words): Add gprel handling.
- 
- Thu Feb 12 11:18:37 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips.md (extendsidi2): Allow extension to/from a non-mips16
- 	register.
- 
- Thu Feb 12 00:04:16 1998  Marc Lehmann  <pcg@goof.com>
- 
- 	* i386.c: Conditionally include <stdlib.h>, <string.h>, and
- 	<strings.h>.
- 
- Wed Feb 11 11:43:34 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (WARN_CFLAGS): New variable.
- 	(bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
- 
- 1998-02-11  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
- 	falling through default case in switch.
- 	(i386_aligned_p): Likewise.
- 
- Wed Feb 11 12:59:56 1998  Lee Iverson  <leei@Canada.AI.SRI.COM>
- 
- 	* mips/mips.h (mips_abi_string): Correct typo in comment.
- 
- Wed Feb 11 08:29:56 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.md (movdi): These PLUS's need to be Pmode.
- 
- Wed Feb 11 01:47:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o,
- 	reorg.o, regmove.o): Depend on insn-codes.h, it gets included
- 	indirectly via expr.h.
- 
- Wed Feb 11 01:44:13 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* stor-layout.c (layout_type): Do upper - lower in the native type,
- 	so as to properly handle negative indices.
- 
- Wed Feb 11 01:35:55 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* except.c (start_dynamic_cleanup): Remove unused variable 'dhc'.
- 	(expand_eh_region_start_tree): Remove unused variable 'note'.
- 	(exception_optimize): Remove unused variable 'regions'.
- 	(expand_builtin_eh_stub): Remove unused variable 'temp'.
- 	(copy_eh_entry): Deleted.  Dead function.
- 
- 	* expr.c (move_block_to_reg): Bracket declaration of 'pat' and
- 	'last' with same #if HAVE_load_multiple as use of it.
- 	(move_block_from_reg): Likewise.
- 	(emit_move_insn_1): Remove unused variable 'insns'.
- 	(store_constructor): Bracket declaration of startb, endb with
- 	#if TARGET_MEMFUNCTIONS.  Remove unused variables 'set_word_size'
- 	'target', and 'xtarget'.
- 	(expand_builtin_setjmp): Remove unused variables 'op0',
- 	'next_arg_reg', 'old_inhibit_defer_pop'.
- 	(expand_builtin): Remove unused variable 'offset'.
- 	(do_store_flag): Remove unused variables 'pattern', 'jump_pat'.
- 	(emit_queue): Add parens for assignment used as conditional.
- 	(expand_expr): Case TARGET_EXPR: Remove unused variable 'temp'.
- 
- Wed Feb 11 01:30:49 1998  Marc Lehmann  <pcg@goof.com>
- 
- 	* i386.c: Added include for recog.h.
- 	(override_options): Removed unused variable p. Initialized regno to
- 	avoid warning.
- 	(order_regs_for_local_alloc): Initialized regno to avoid warning.
- 	(legitimize_address): Likewise for 'other'.
- 	(i386_aligned_reg_p): Added default case with abort ().
- 	(print_operand): Likewise.
- 	(reg_mentioned_in_mem): Likewise.
- 	(ix86_expand_binary_operator): Removed unused variables i & insn.
- 	(ix86_expand_unary_operator): Removed unused variable insn.
- 	(output_fp_cc0_set): Removed unused variable unordered_label.
- 
- Wed Feb 11 01:23:03 1998  John F. Carr  <jfc@mit.edu>
- 
- 	* i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...).
- 	Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments
- 	and format string match.
- 
- Wed Feb 11 01:17:39 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (life_analysis): Do not consider the stack pointer live at
- 	the end of a function if the function calls alloca.
- 	(mark_used_regs): Similarly.
- 
- 1998-02-10  John F Carr  <jfc@mit.edu>
- 
- 	* config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
- 	1, fzero on alternative 8.
- 
- Tue Feb 10 09:02:19 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
- 
- Tue Feb 10 03:35:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
- 	SUBREGs of CONST_INTs.
- 
- Mon Feb  9 17:52:36 1998  John Carr  <jfc@mit.edu>
- 
- 	* mips.c (print_operand, function_prologue): Make printf format
- 	match argument type.
- 
- Mon Feb  9 02:37:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (alpha_return_addr): Remove unused variable `first'.
- 	(alpha_ra_ever_killed): Remove unused variables `ra' and `i'.
- 	(output_epilog): Remove unused variable `frame_size_from_reg_save'.
- 
- Sun Feb  8 14:56:03 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* loop.c (strength_reduce): When placing increment for auto-inc
- 	case, do comparison in loop order.
- 
- Sun Feb  8 13:21:38 1998  John Carr  <jfc@mit.edu>
- 
- 	* bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
- 	not a HOST_WIDE_INT.
- 
- 	* calls.c (expand_call): Change test of expand_inline_function
- 	return value to stop compiler warning.
- 
- 	* genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
- 
- Sun Feb  8 12:04:24 1998  Jim Wilson  (wilson@cygnus.com)
- 			  Jeff Law  (law@cygnus.com)
- 
- 	* regmove.c: Fix various minor formatting problems.
- 	(optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions
- 	is true.  Make end of basic block tests consistent through regmove.c.
- 	(optimize_reg_copy_2, optimize_reg_copy_3): Likewise.
- 	(fixup_match_2, fixup_match_1, regmove_optimize): Likewise.
- 
- Sun Feb  8 01:49:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h: Check for a conflicting macro definition before
- 	attempting to prototype bcopy, bcmp or bzero.
- 
- Sun Feb  8 00:09:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (clear_pending_stack_adjust): Handle case where a function
- 	calls alloca, but the user has specified -fomit-fframe-pointer.
- 
- 	* function.c (assign_parms): Fix typo in last change.
- 
- Sat Feb  7 23:54:29 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>,
- 	<fcntl.h>.
- 	(free_path_suffix): Remove unreferenced static function.
- 	(process_command): Remove unused variable temp.
- 	(default_arg): Remove unused variable i.
- 	(do_spec_1): Add parens for assignment used as truth value.
- 	(main): Likewise.
- 	(validate_all_switches): Likewise.
- 	(main): Remove unused variables i, first_time>
- 
- 	* c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
- 
- 	* calls.c (expand_call): Remove unused variables funtree,
- 	n_regs, and tmpmode.
- 
- 	* dbxout.c, except.c: Include <string.h>/<strings.h>.
- 
- 	* explow.c (plus_constant_for_output_wide): Removed unused
- 	variable all_constant.
- 
- 	* c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c
- 	genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c,
- 	genrecog.c, global.c, integrate.c , stupid.c : Include
- 	<stdlib.h>.
- 
- 	* genextract.c (walk_rtx): Remove unused variable link.
- 
- 	* genrecog.c (concat): Remove unreferenced static function.
- 
- 	* prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
- 
- 	* stmt.c: Include <stdlib.h>.
- 	(expand_asm_operands): Remove unused variable val1.
- 	(expand_return): Remove unused variable block.
- 	(pushcase): Remove unused variables l and n.
- 	(pushcaserange): Likewise.
- 
- 	* unroll.c (unroll_loop): Remove unused variable temp.
- 
- Sat Feb  7 23:46:09 1998  Greg McGary  <gkm@gnu.org>
- 
- 	* c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
- 
- Sat Feb  7 15:11:28 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf
- 	functions for whether they support the %p format specifier.
- 	* acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf.
- 	* configure.in (GCC_FUNC_PRINTF_PTR): Use it.
- 	* configure, config.in: Rebuild.
- 
- Fri Feb  6 14:20:16 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* function.c (assign_parms): New variable named_arg, with value
- 	depending on STRICT_ARGUMENT_NAMING.  Use instead of ! last_named.
- 
- Fri Feb  6 14:34:28 1998  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/t-r3900: New - same as t-ecoff but eliminate
- 	multilibs: mips1 and mips3.
- 	* configure.in (tx39*): Use new mips/t-r3900.
- 	* configure: Rebuild.
- 	* mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1.
- 
- 1998-02-06  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c: Add old_args_size.
- 	(dwarf2out_args_size): Use it.
- 	(dwarf2out_begin_prologue): Initialize it.
- 	(dwarf2out_stack_adjust): If !asynchronous_exceptions, save up
- 	pushed args until we see a call.
- 	* final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code
- 	before outputting them.
- 
- 1998-02-06  Kriang Lerdsuwanakij  <lerdsuwa@scf.usc.edu>
- 
- 	* cplus-dem.c (demangle_template_template_parm): New function.
- 	(demangle_template): Handle template template parameters.
- 
- 1998-02-02  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* calls.c (expand_call): Don't confuse member functions named
- 	realloc, setjmp, and so forth with the standard library
- 	functions of the same names.
- 
- Thu Feb  5 21:59:49 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (expand_asm_operands): Correctly identify asm statements
- 	no output operands.
- 
- Thu Feb  5 21:56:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-common.c (decl_attributes): Flag unrecognized attribute
- 	functions as warnings instead of as errors.
- 
- 1998-02-05  Marc Lehmann  <pcg@goof.com>
- 
- 	* integrate.c (INTEGRATE_THRESHOLD): Inline only small functions
- 	when -Os is specified.
- 	* toplev.c (main): Don't disable flag_inline_functions anymore when
- 	-Os is in effect.
- 
- Fri Feb  6 00:27:36 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c: Update.
- 	* flags.h (flag_regmove): Declare.
- 	* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare.
- 	* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2):
- 	Moved into regmove; changed caller.
- 	* toplev.c (rest_of_compilation): Call regmove_optimize also for
- 	expensive_optimizations.
- 
- Thu Feb  5 13:38:42 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Feb  5 01:45:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 	Undo this change (the problem was actually in reload):
- 	Fri Jan 23 23:28:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	  * sh.md (movqi_i+1): New peephole.
- 
- Tue Feb  3 01:11:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (jump_optimize): Lose calls to modified_in_p they are
- 	not needed anymore due to changes elsewhere in jump.c.
- 
- 	* jump.c (jump_optimize): Fix first arg to modified_in_p in
- 	previous change.
- 
- Mon Feb  2 19:18:14 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_builtin_setjmp): Accept two new arguments for
- 	the labels to branch to on first and subsequent executions.  Don't
- 	play with __dummy.  Rename `setjmp' insn to `builtin_setjmp_setup',
- 	and provide it with the jmp_buf.  Use only one of
- 	`builtin_setjmp_receiver' or `nonlocal_goto_receiver',
- 	and provide the former with the target label.
- 	(expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp.
- 	(expand_builtin) [BUILTIN_LONGJMP]: Split out to ...
- 	(expand_builtin_longjmp): ... here.  Recognize a `builtin_longjmp'
- 	insn to replace all of the normal nonlocal_goto code.  Don't play
- 	with __dummy.  Correct arguments to nonlocal_goto.
- 	* expr.h (expand_builtin_setjmp): Update prototype.
- 	* except.c (start_dynamic_handler): When using builtin_setjmp,
- 	generate more accurate flow information.
- 
- 	* alpha.md (nonlocal_goto_receiver_osf): Delete.
- 	(nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver.
- 	(builtin_longjmp, builtin_setjmp_receiver): New.
- 	* sparc.md (update_return): Disambiguate unspec number.
- 	(nonlocal_goto): Rearrange arguments to match caller in except.c.
- 	(builtin_setjmp_setup): Rename from setjmp.  Match and ignore the
- 	jmp_buf operand.
- 	* mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove.
- 	(builtin_setjmp_setup*, builtin_longjmp): New.
- 
- Mon Feb  2 16:43:10 1998  John Carr  <jfc@mit.edu>
- 
- 	* mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
- 
- Mon Feb  2 13:06:47 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* vmsconfig.com: Remove bytecode references.
- 
- 1998-01-30  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
- 	-fno-sjlj-exceptions works for a target that defines
- 	DWARF2_UNWIND_INFO as zero.
- 
- 	* regmove.c (fixup_match_1): Undo last change which removed some
- 	"useless" code, and add a comment explaining this.
- 
- Mon Feb  2 10:47:14 1998  Gavin Koch  (gavin@cygnus.com)
- 
- 	* mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
- 	to TARGET_LONG64.
- 
- Mon Feb  2 10:38:41 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* makefile.vms: Remove bytecode references.
- 	Create genrtl files.
- 
- Mon Feb  2 02:08:04 1998  Michael P. Hayes  <michaelh@ongaonga.chch.cri.nz>
- 
- 	* jump.c (jump_optimize): Allow conditional loading of floating point
- 	constants and constants from memory.  Reinstalled modified_in_p tests.
- 
- Mon Feb  2 01:38:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (get_condition): Handle sign-extended constants.
- 
- Mon Feb  2 01:22:46 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* expr.c (emit_push_insn): Add code to use movstrti if present.
- 
- 	* expr.c (emit_push_insn): Use same max-move-amount for movstrhi
- 	and movstrqi as in emit_block_move ().
- 
- Mon Feb  2 00:09:52 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* config/m68k/x-next: Remove /NextDeveloper/Headers from
- 	the directories to fixinclude - /usr/include is a link
- 	to it and hence its contents are fixed by default.
- 
- Sun Feb  1 14:15:33 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
- 
- 	* rs6000/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION.
- 
- Sun Feb  1 13:01:15 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* cccp.c (main): Predefine __VMS_VER on VMS.
- 
- Sun Feb  1 12:39:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (get_inner_reference): Use sbitsizetype for type sizes.
- 	* fold-const.c (size_int): Replace with
- 	(size_int_wide).
- 	(make_bit_field_ref): Use bitsize_int for bit position.
- 	* stor-layout.c (sizetype): Delete.
- 	(sizetype_tab, sbitsizetype, ubitsizetype): Declare.
- 	(layout_record, layout_union, layout_type):
- 	Use bitsize_int for bit size.
- 	(set_sizetype): New function.
- 	(make_signed_type, make_unsigned_type): Use it.
- 	* c-decl.c (init_decl_processing): Likewise.
- 	* tree.h (size_int): Don't delcare, #define.
- 	(size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare.
- 	(set_sizetype): Declare.
- 	(bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype):
- 	Define.
- 	* c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes):
- 	Convert result to sizetype.
- 	(really_start_incremental_init, push_init_level):
- 	Set type of constructor_bit_index to sbitsizetype.
- 	(push_init_level): Use unsigned arithmetic to determine padding.
- 	(output_init_element): Likewise.
- 
- Sun Feb  1 03:32:07 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (simplify_shift_const): Fix typo in last change.
- 
- Sun Feb  1 02:50:46 1998  John Carr  <jfc@mit.edu>
- 
- 	* combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
- 	is (truncate (lshiftrt)).
- 
- Sun Feb  1 01:06:53 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_unaligned_load): Use expand_binop properly.
- 	Make sure result winds up in TGT.
- 	(alpha_expand_unaligned_store): Use expand_binop properly.  Allow
- 	src to be other than DImode.
- 	(alpha_expand_unaligned_load_words): Tidy.  Take an offset argument.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 	(alpha_expand_block_move): Use REGNO_POINTER_ALIGN.  Restructure so
- 	that source and destination are separately optimized for alignment.
- 	(alpha_expand_block_clear): Use REGNO_POINTER_ALIGN.
- 
- Sun Feb  1 01:55:09 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.md (adddi3_internal_2): Be consistent with adddi3 expander
- 	with handling of -32768.
- 
- Sun Feb  1 01:48:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a
- 	shell variable argument instead of only hard coded functions.
- 	(GCC_NEED_DECLARATIONS): New macro to accept multiple functions.
- 
- 	* configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one
- 	call.  Collapse multiple calls to GCC_NEED_DECLARATION into one
- 	call to GCC_NEED_DECLARATIONS (new macro.)  Check if we need
- 	declarations for bcopy, bcmp and bzero.
- 
- 	* acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
- 
- 	* gansidecl.h: If we have bcopy but don't declare it, then do so.
- 	Likewise for bcmp and bzero.  Only define macros for bcopy, bcmp,
- 	bzero, index and rindex if they aren't already present.
- 
- Sat Jan 31 11:26:58 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (close_dump_file): Wrap function prototype for
- 	argument "func" in PROTO.
- 	(dump_rtl): Likewise.
- 
- Fri Jan 30 22:30:39 1998  John Carr  <jfc@mit.edu>
- 
- 	* sparc.c (sparc_override_options): Make v8plus and ultrasparc set
- 	MASK_V8PLUS.
- 	(output_function_epilogue): Omit epilogue if nothing drops through.
- 	(output_move_double): Suppress int ldd usage on ultrasparc and v9.
- 	(registers_ok_for_ldd_peep): Likewise.
- 	(print_operand): Suppress b,a on ultrasparc.  Let Y accept a constant.
- 	(ultrasparc_adjust_cost): New function.
- 	(sparc_issue_rate): New function.
- 	* sparc.h (MASK_VIS, TARGET_VIS): New.
- 	(MASK_V8PLUS, TARGET_V8PLUS): New.
- 	(TARGET_HARD_MUL32, TARGET_HARD_MUL): New.
- 	(TARGET_SWITCHES): Add vis and v8plus.
- 	(REG_CLASS_FROM_LETTER): Accept d and b for VIS.
- 	(REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc.
- 	(RTX_COSTS): Use TARGET_HARD_MUL.
- 	(ADJUST_COST): Call ultrasparc_adjust_cost.
- 	(ISSUE_RATE): New.
- 	* sparc.md (attr type): Add sload, fpmove, fpcmove.  Adjust users
- 	of load & fp appropriately.
- 	(supersparc function units): Adjust for Haifa.
- 	(ultrasparc function units): Likewise.
- 	(get_pc_via_rdpc): All v9, not just arch64.
- 	(movdi_v8plus, movdi_v8plus+1): New.
- 	(adddi3_sp32+1): New.
- 	(subdi3_sp32+1): New.
- 	(movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS.
- 	(addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise.
- 	(and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise.
- 	(xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise.
- 	(one_cmpldi2_sp32, one_cmplsi2): Likewise.
- 	(ldd peepholes): Suppress for v9.
- 	(return_adddi): Kill redundant test.  Arg1 may be arith_operand.
- 	(return_subsi): Revmove.
- 
- Fri Jan 30 18:30:03 1998  John F Carr  <jfc@mit.edu>
- 
- 	* mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
- 	save/restore MEM rtl.
- 
- Fri Jan 30 09:08:16 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Check for declaration of abort.
- 	* acconfig.h: Corresponding changes.
- 	* toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
- 	be declared.
- 
- Thu Jan 29 20:26:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
- 	uses it.
- 
- Thu Jan 29 09:27:56 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Jan 29 10:12:27 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Check for atoq and atoll.
- 	* rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the
- 	proper routine for converting ascii into long long values.
- 
- Thu Jan 29 01:28:14 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
- 
- 	* vmsconfig.com: Remove bytecode references.
- 
- 	* alpha/vms.h (PREFIX): Define.
- 
- 	* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
- 
- 	* am-alpha.h: Don't include alloca for OPEN_VMS.
- 
- 	* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
- 
- 	* alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
- 	(GCC_INCLUDE_DIR): Define.
- 
- 	* make-cc.com, make-cccp.com, make-cc1.com: Removed.
- 	* makefile.vms: New file.
- 
- 	* alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
- 
- 	* alpha.c (output_prolog): Output '.name' directive
- 	for minimal traceback information.
- 
- 	* alpha.c (output_prolog): Don't prepend entry point symbols
- 	with '$' on OPEN_VMS.
- 
- Thu Jan 29 00:25:35 1998  David S. Miller  <davem@tanya.rutgers.edu>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.c (read_rtx): Use atol/atoq based upon disposition of
- 	HOST_WIDE_INT.
- 
- 	* genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC
- 	as needed.
- 	* genemit.c (gen_exp): Likewise.
- 	* genpeep.c (match_rtx): Likewise.
- 	* genrecog.c (write_tree_1): Likewise.
- 
- 	* c-lex.c (yyprint): Use proper format string based upon
- 	disposition of HOST_BITS_PER_WIDE_INT.
- 	(yylex): Put casts in right place for args to build_int_2.
- 
- Thu Jan 29 00:24:29 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c: Fix typos in Jan27 changes.
- 
- Thu Jan 29 00:07:49 1998  Ollivier Robert  <roberto@keltia.freenix.fr>
- 
- 	* i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
- 	(LINK_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 
- 1998-01-28  Mike Stump  <mrs@wrs.com>
- 
- 	* rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after
- 	reload completes.
- 	* genattrtab.c (reload_completed): Define.
- 
- 	* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete
- 	comments.
- 
- Wed Jan 28 20:11:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
- 	SUBREG_REG if the word count is unchanged, also in the input reload
- 	case.  Disable non-applicable sanity checks.
- 
- Wed Jan 28 20:08:26 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
- 
- Wed Jan 28 20:04:43 1998  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
- 
- Wed Jan 28 11:45:27 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO
- 	is a TREE_VEC before trying to use it for baseclasses.
- 	(Chill uses the same field for a different purpose.)
- 
- 	* toplev.c (strip_off_ending): Generalize to endings up to 5 chars.
- 
- Tue Jan 27 23:15:55 1998  Lassi A. Tuura  <lat@iki.fi>
- 
- 	* config.sub: More accurate determination of HP processor types.
- 
- Tue Jan 27 23:11:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>.  Add
- 	prototype for `handle_sysv_pragma', and make it static.  Add
- 	parentheses around assignment used as truth value.
- 
- 	* combine.c (combine_instructions): Protect variable `prev' with
- 	macro HAVE_cc0.
- 	(can_combine_p): Protect variable `link' with AUTO_INC_DEC.
- 	(extract_left_shift): Add parentheses around operand of &.
- 	(merge_outer_ops): Avoid an empty body in an else-statement.
- 	(gen_rtx_combine): Remove unused variable `i'.
- 
- 	* sparc/gmon-sol2.c: Include <fcntl.h>.  Make return type of
- 	function monstartup `void'.  Likewise for internal_mcount.  Add
- 	`static void' prototype for moncontrol.  Reconcile sprintf format
- 	vs. args.
- 
- 	* sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>.
- 	Make return type of function_arg_slotno explicitly `int'.
- 	(reg_unused_after): Add	parentheses around assignment used as
- 	truth value.
- 	(save_regs): Add explicit braces to avoid ambiguous `else'.
- 	(function_arg_slotno): Add parentheses around && within ||.
- 	(function_arg_pass_by_reference): Likewise.
- 	(sparc_flat_output_function_prologue): Reconcile fprintf format
- 	vs. args.
- 
- 	* svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
- 	assignment used as truth value.
- 
- 	* cplus-dem.c: Include <stdlib.h>.
- 	(demangle_signature): Avoid an empty body in an else-statement.
- 	(do_type): Remove unused variable `lvl'.
- 
- 	* cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS.
- 	Include <string.h>/<strings.h>.
- 	(cpp_lex): Remove unused variable `namelen'.
- 	(cpp_lex): Explicitly declare `num_chars' as an int.
- 
- 	* cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include
- 	<unistd.h> instead.  Explicitly declare is_system_include
- 	returning int.
- 	(make_assertion): Remove unused variable `kt'.
- 	(cpp_expand_to_buffer): Hide variable `obuf'.
- 	(output_line_command): Remove unused variables, `line_end',
- 	`line_cmd_buf' and `len'.
- 	(macarg): Remove unused variable `arg_start'.
- 	(special_symbol): Remove unused variable `i'.  Add parentheses
- 	around assignment used as truth value.
- 	(do_include): Remove unused variables `pcfname' and `retried',
- 	hide `pcf' and `pcfbuflimit'.
- 	(do_line): Remove unused variable `i'.
- 	(finclude): Hide variable `missing_newline'.
- 	(cpp_handle_options): Remove unused variable `j'.
- 	(read_token_list): Remove unused variable `eofp'.
- 	(cpp_error_with_line): Remove unused variable `i'.
- 	(cpp_warning_with_line): Likewise.
- 	(cpp_pedwarn_with_line): Explicitly declare `column' as int.
- 	(cpp_error_from_errno): Remove unused variable `i'.
- 
- 	* cse.c (invalidate): Add parentheses around assignment used as
- 	truth value.
- 	(find_best_addr): Move declaration of variable `our_cost' inside
- 	the conditional macro where its used.
- 	(fold_rtx): Avoid an empty body in an if-statement.
- 	(cse_insn): Wrap variables  `this_insn_cc0_mode' and
- 	`this_insn_cc0' in macro HAVE_cc0.
- 
- 	* dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>.
- 	(ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's.
- 	(output_uleb128): Likewise.
- 	(output_sleb128): Likewise.
- 	(output_cfi): Likewise.
- 	(output_call_frame_info): Remove unused variables `j', `fde_size'
- 	and `fde_pad'.
- 	(comp_unit_has_inlines): Hide declaration as per rest of file.
- 	(size_of_line_prolog): Correct typo in prototype.
- 	(add_arange): Likewise.
- 	(output_aranges): Likewise.
- 	(add_name_and_src_coords_attributes): Likewise.
- 	(gen_array_type_die): Likewise.
- 	(gen_inlined_subroutine_die): Likewise.
- 	(equate_decl_number_to_die): Remove unused variable `i'.
- 	(print_die): Reconcile format vs. args in fprintf's.
- 	(print_dwarf_line_table): Likewise.
- 	(output_die): Likewise.
- 	(output_line_info): Likewise.
- 	(add_subscript_info): Avoid an empty body in an else-statement.
- 	(gen_subprogram_die): Remove unused variable `fp_loc'.
- 
- 	* dwarfout.c: Explicitly declare `next_pubname_number' as int.
- 	Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE
- 	macro.  Protect `src_coords_attribute' prototype with
- 	DWARF_DECL_COORDINATES macro.  Hide `output_entry_point_die'
- 	prototype as in the rest of the file.  Likewise for
- 	`output_pointer_type_die' and `output_reference_type_die'.  Remove
- 	prototype for `type_of_for_scope'.
- 	(output_unsigned_leb128): Reconcile format vs. args in fprintf.
- 	(type_attribute): Add explicit braces to avoid ambiguous `else'.
- 
- 	* final.c: Include <stdlib.h> and <string.h>/<strings.h>.
- 	(shorten_branches): Protect declaration of tmp_length with
- 	SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros.
- 	(profile_function): Protect declaration of `sval' and `cxt'
- 	variables with appropriate macros.
- 	(final_scan_insn): Likewise for `note' variable.  Add explicit
- 	braces to avoid empty body in an if-statement.
- 	(output_asm_insn): Move variable `i' inside macro conditional
- 	where it is used.  Add parentheses around assignment used as truth
- 	value.
- 	(asm_fprintf): Likewise, likewise.
- 
- 	* fix-header.c (main): Remove unused variable `done'.  Protect
- 	declaration of `i' with FIXPROTO_IGNORE_LIST.
- 
- 	* pexecute.c: Include <unistd.h>.  Prototype `my_strerror'.
- 
- 	* print-rtl.c (print_inline_rtx): Explicitly declare the parameter
- 	`ind'.
- 
- 	* profile.c: Include <string.h>/<strings.h>.
- 	(instrument_arcs): Remove unused variables `note', `inverted',
- 	`zero' and `neg_one'.
- 	(branch_prob): Avoid empty body in an if-statement.
- 
- 	* regclass.c: Include <stdlib.h>.
- 	(reg_alternate_class): Explicitly declare parameter `regno'.
- 
- 	* regmove.c (regmove_optimize): Remove unused variable `p'.  Add
- 	parentheses around assignment used as truth value.
- 	(find_matches): Remove unused variables `output_operand' and
- 	`matching_operand'.
- 	(fixup_match_1): Remove statement with no effect: "if (0) ;".
- 
- 	* scan.c (sstring_append): Explicitly declare `count' as int.
- 	(scan_string): Explicitly declare parameter `init' as int.
- 
- 	* sched.c: Include <stdlib.h>.
- 	(BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |.
- 	(rank_for_schedule): Add parentheses around assignment used as
- 	truth value.
- 	(schedule_block): Likewise.
- 	(regno_use_in): Likewise.
- 	(schedule_insns): Remove unused variable `i'.
- 
- 	* toplev.c: Include <stdlib.h> and <string.h>/<strings.h>.
- 	(v_message_with_decl): Remove unused variable `n'.
- 	(botch): Explicitly declare parameter `s' as char *.
- 	(main): Add parentheses around assignment used as truth value.
- 
- 	* tree.c (make_node): Protect the variable `kind' with the
- 	GATHER_STATISTICS macro.
- 	(real_value_from_int_cst): Move variable `e' inside conditional
- 	macro area where it is used.
- 	(tree_last): Add parentheses around assignment used as truth value.
- 	(build1): Protect the variable `kind' with the GATHER_STATISTICS
- 	macro.
- 	(print_obstack_statistics): Reconcile format vs. args in fprintf.
- 	Protect variables `i', `total_nodes', and `total_bytes' with the
- 	GATHER_STATISTICS macro.
- 
- Tue Jan 27 23:01:55 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
- 	some comments regarding use of dead_or_set_p.
- 
- Tue Jan 27 22:14:48 1998  Todd Vierling  <tv@pobox.com>
- 
- 	* fixincludes: Tweak fix for struct exception in math.h
- 
- Tue Jan 27 17:21:09 1998  Gavin Koch  (gavin@cygnus.com)
- 
- 	* mips/mips.c (mips_expand_prologue,mips_expand_epilogue):
- 	Change mode of registers used to add/sub from
- 	hard_frame_pointer_rtx from word_mode to Pmode.
- 
- Tue Jan 27 11:02:04 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
- 	asm_output_aligned_bss() instead of asm_output_bss().
- 
- 	* toplev.c (rest_of_compilation): Replace references to
- 	stack_reg_dump_file and dbr_sched_dump_file with references to
- 	rtl_dump_file.
- 
- Tue Jan 27 10:22:13 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
- 
- 	* tlink.c (scan_linker_output): Call fclose() for opened files.
- 
- Tue Jan 27 05:05:26 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (output_epilog [!VMS]): Don't tag global functions if
- 	compiling with -fpic -- we want to be able to override symbols
- 	properly.
- 	(alpha_expand_block_move): Fix thinko in last change.
- 
- 	* alpha.h (ASM_OUTPUT_MI_THUNK): New define.
- 	* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define.
- 	* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef.
- 
- Tue Jan 27 03:21:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (abssf, absdf): Revert last change.
- 
- Tue Jan 27 00:26:50 1998  John Carr  <jfc@mit.edu>
- 
- 	* dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
- 	* mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
- 
- Tue Jan 27 00:07:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (gen_lowpart_common): Handle more case where converting
- 	a CONST_INT into SFmode.
- 
- Tue Jan 20 16:01:03 1998  Anthony Green  <green@cygnus.com>
- 
- 	* flags.h: New flag (optimize_size).
- 	* toplev.c (main): Parse -Os option and set optimize_space
- 	accordingly.
- 	* gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define
- 	__OPTIMIZE_SIZE__ when compiling with -Os.
- 	* config/dsp16xx/dsp16xx.h, config/i386/i386.h,
- 	config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h,
- 	config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument
- 	to macro.
- 	* config/i386/i386.c (optimization_options): Accept new SIZE argument.
- 
- Mon Jan 26 23:57:39 1998  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
- 	stuff only if MCT_TEXT is #define'd.
- 
- Mon Jan 26 23:52:51 1998  Markus F.X.J. Oberhumer  <k3040e4@c210.edvz.uni-linz.ac.at>
- 
- 	* configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
- 	configurations.
- 
- Fri Jan 23 09:39:36 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c: Add -dM command line option to dump RTL after the
- 	machine dependent reorganization pass, if there is one.
- 	Reorganize RTL dump code, so that only one file handle is
- 	needed.
- 
- Mon Jan 26 12:09:42 1998  Benjamin Kosnik  <bkoz@rhino.cygnus.com>
- 
- 	* except.c (check_exception_handler_labels): Disable warning when
- 	flag_syntax_only.
- 
- Mon Jan 26 18:17:32 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
- 
- Mon Jan 26 18:11:30 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* c-decl.c (grokdeclarator): Get parameter tags from
- 	last_function_parm_tags.
- 	* dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before
- 	traversing the parameter types.
- 	(output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context.
- 
- Mon Jan 26 01:44:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
- 	the default case.
- 	(get_shift_alg): Fix typo.
- 
- Sun Jan 25 22:22:04 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
- 
- Sun Jan 25 22:14:28 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (get_run_time): Make sure each case gets its variables.
- 
- Sun Jan 25 22:10:21 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (build_xm_file): Add auto-config.h if host=build.
- 	(host_xm_file_list): Don't add $(srcdir) to auto-config.h.
- 	(build_xm_file_list): Likewise.
- 	* configure: Rebuild.
- 
- Sun Jan 25 22:00:25 1998  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
- 
- 	* recog.c (validate_replace_rtx_1): Only perform substitutions
- 	of arguments to commutative and comparison operators once.
- 
- Sun Jan 25 12:30:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (output_cbranch): Add default case in
- 	enumeration switch.
- 
- 	* reorg.c (insn_sets_resource_p): Correct typo in prototype.
- 	(emit_delay_sequence): Eliminate unused parameter, all callers
- 	changed.
- 	(fill_simple_delay_slots): Likewise.
- 	(fill_slots_from_thread): Likewise.
- 	(fill_eager_delay_slots): Likewise.
- 	(mark_referenced_resources): Add default case in enumeration switch.
- 	(mark_set_resources): Likewise.
- 	(rare_destination): Likewise.
- 	(mostly_true_jump): Likewise.
- 	(find_dead_or_set_registers): Likewise.
- 	(redirect_with_delay_slots_safe_p): Remove unused variable `slots'.
- 	(update_reg_unused_notes): Remove unused variable `p'.
- 	(mark_target_live_regs): Remove unused variables `next' and
- 	`jump_count'.
- 	(fill_simple_delay_slots): Remove unused variable `j'.
- 	(fill_slots_from_thread): Add parentheses around assignment used
- 	as truth value.
- 	(dbr_schedule): Likewise.
- 
- 	* objc/Make-lang.in (objc.stage1): Depend on stage1-start.
- 	(objc.stage2, objc.stage3, objc.stage4): Likewise.
- 
- Sun Jan 25 12:13:47 1998  Michael Tiemann  <michael@tiemann.org>
- 
- 	* cse.c (simplify_ternary_operation): Don't try to simplify
- 	IF_THEN_ELSE expressions (created by combine) that don't use
- 	relational operators.
- 
- Fri Jan 23 22:48:24 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
- 	simplifications.
- 
- 	* crtstuff.c (init_dummy): Keep the epilogue in the init
- 	section for non-ELF systems.
- 
- Fri Jan 23 23:28:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (movqi_i+1): New peephole.
- 
- Fri Jan 23 15:39:42 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in: Remove remaining bytecode stuff.
- 	* emit-rtl.c, expr.c: Likewise.
- 
- Fri Jan 23 12:41:10 1998  Nick Clifton  (nickc@cygnus.com)
- 
- 	* toplev.c (lang_options): Add unknown-pragma options.
- 
- Thu Jan 22 23:43:38 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* dwarfout.c (byte_size_attribute): Simplify and fix - don't need
- 	special (and incomplete) handling for Chill arrays.
- 
- Fri Jan 23 00:27:23 1998  John Carr  <jfc@mit.edu>
- 
- 	* toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
- 	to get clock rate.
- 
- Fri Jan 23 00:19:36 1998  Gavin Koch  (gavin@cygnus.com)
- 
- 	* mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
- 
- 1998-01-22  scott snyder  <snyder@d0sgif.fnal.gov>
- 
- 	* mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
- 	.frame directive instead of FRAME_POINTER_REGNUM.
- 
- Fri Jan 23 00:08:55 1998  Robin Kirkham  <rjk@mlb.dmt.csiro.au>
- 
- 	* m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881.
- 	(MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__.
- 	* m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES.
- 	(CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise.
- 	(CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__.
- 	* m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32.
- 	(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
- 	(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
- 	mcpu32 or m5200.
- 	* longlong.h: Replace __mc68332__ with __mcpu32__.
- 
- Thu Jan 22 19:55:40 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Jan 22 14:47:31 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test
- 	to require the SUBREG mode to be smaller than the SUBREG_REG mode.
- 	* reload1.c (eliminate_regs): Likewise.
- 
- Thu Jan 22 14:49:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regmove.c (find_matches): Initialize matches->earlyclobber too.
- 
- Thu Jan 22 01:40:52 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (abssf2, absdf2): Disable in IEEE mode.
- 	(negsf2, negdf2): Use proper subtract in IEEE mode.
- 
- Tue Jan 20 09:29:09 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in: Remove more bytecode stuff.
- 	* expr.c, stmt.c, config/msdos/top.sed: Likewise.
- 	* vax/xm-vms.h, winnt/config-nt.sed: Likewise.
- 	* f/install.texi, objc/Make-lang.in: Likewise.
- 
- 	* Makefile.in: Remove all bytecode support.
- 	(OBJS): Make sure last entry is a real object file, not EXTRA_OBJS.
- 	* emit-rtl.c: Remove all bytecode support.
- 	* expr.c, expr.h function.c, integrate.c: Likewise.
- 	* output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise.
- 	* tree.h, varasm.c: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* bi-*, bc-*, bytecode*: Delete bytecode related files.
- 	* modemap.def: Likewise.
- 
- Tue Jan 20 09:02:31 1998  Gavin Koch  (gavin@cygnus.com)
- 
- 	* mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
- 	umodsi3,umoddi3): Handle mips16 div/mod by a constant.
- 
- Mon Jan 19 21:57:00 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (push): Prohibit symbolic constants if flag_pic.
- 	(movsi+1): Likewise for move to non-register.
- 
- Mon Jan 19 11:15:38 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
- 	(print_operand): Handle 0xffffffff on 32 bit host.
- 
- 	* configure.in (thread_file): Rename uses before main loop to
- 	target_thread_file.  Initialize to empty in main loop.  Set thread_file
- 	to target_thread_file after main loop if not set.
- 	* configure: Rebuild.
- 
- 	* genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT.
- 	(add_values_to_cover): Revert last change (which had no ChangeLog
- 	entry).
- 	(simplify_with_current_value_aux): Handle CONST_INT.
- 
- Mon Jan 19 10:14:55 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* unprotoize.c: Define UNPROTOIZE first, to actually take effect.
- 
- Mon Jan 19 10:11:52 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Add cpp stringify test.
- 	* acconfig.h (HAVE_CPP_STRINGIFY): New tag.
- 	* gengenrtl.c: Use it.
- 	* configure, config.in: Rebuild.
- 
- Mon Jan 19 09:43:15 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
- 
- Mon Jan 19 09:38:18 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Find declaration for sbrk.
- 	* acconfig.h (NEED_DECLARATION_SBRK): New tag.
- 	* config.in, configure: Rebuild.
- 	* mips-tfile.c: Properly protect declaration of sbrk and free.
- 	* toplev.c: Properly protect declaration of sbrk.
- 
- Sun Jan 18 20:18:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
- 
- Sun Jan 18 01:54:27 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
- 
- Sun Jan 18 00:57:35 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* configure.in (i960-wrs-vxworks): Default to latest vxworks release.
- 
- Sat Jan 17 23:41:36 1998  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	* combine.c (force_to_mode, nonzero_bits): Correctly optimize
- 	constant offset computations from objects with known alignment in
- 	the presence of STACK_BIAS.
- 
- 	* varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
- 	necessary.
- 	(const_hash): Hash val is unsigned long.
- 	(SYMHASH): Likewise.
- 
- 	* tree.c (TYPE_HASH): Type of hash val is unsigned long.
- 
- 	* print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a
- 	char pointer, not HOST_WIDE_INT.
- 	(print_node): Likewise.  Also hash is unsigned long not
- 	HOST_WIDE_INT.
- 
- 	* cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
- 
- 	* explow.c (optimize_save_area_alloca): New function for targets
- 	where SETJMP_VIA_SAVE_AREA is true.
- 	(allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets,
- 	compute the amount of stack space needed should we find later that
- 	setjmp is never called by this function, stuff rtl for this inside
- 	a REG_NOTE of the final SET of stack_pointer_rtx.
- 	* toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and
- 	current_function_calls_alloca, call optimize_save_area_alloca.
- 
- Sat Jan 17 23:22:59 1998  John Wehle  (john@feith.com)
- 
- 	* i386.md: Remove redundant integer push patterns.
- 	Don't bother checking for TARGET_PUSH_MEMORY when
- 	pushing constants or registers.
- 
- Sat Jan 17 22:35:39 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 			  J.J VanderHeijden  <J.J.vanderHeijden@student.utwente.nl>
- 
- 	* pexecute.c (pexecute): New function for mingw32. Supports pipes.
- 	(pwait): New function for mingw32.
- 
- 	* gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
- 	pipe support is broken for now.
- 
- 1998-01-17  Lee Iverson  <leei@Canada.AI.SRI.COM>
- 
- 	* emit_rtl.c (init_emit_once): Ensure that potential aliasing
- 	between frame_pointer_rtx, hard_frame_pointer_rtx, and
- 	arg_pointer_rtx is respected in initialization.
- 	(init_emit_once): Use gen_rtx_raw_REG() to create
- 	return_address_pointer_rtx.
- 
- 	* reorg.c: #include "expr.h" for rtx prototypes.
- 	* Makefile.in (reorg.o): Depend on expr.h
- 
- Sat Jan 17 21:28:08 1998  Pieter Nagel  <pnagel@epiuse.co.za>
- 
- 	* Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
- 	local_prefix to sub-make invocations.
- 
- Sat Jan 17 21:24:16 1998  David T. McWherter  <dtm@waterw.com>
- 
- 	* objc-parse.c: Recognize protocol qualifiers in class definitions.
- 
- Sat Jan 17 21:16:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.h: Fix typos.
- 
- 	* acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for.
- 	* configure.in: Check for atol.
- 	* rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL.
- 
- 	* rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
- 
- 	* loop.c (find_and_verify_loops): When attempting to move insns from
- 	inside the loop outside the loop, create a BARRIER if no suitable
- 	one was found.
- 
- 	* jump.c (jump_optimize): Remove Dec 17, 1997 chance in
- 	favor of an equivalent change from gcc-2.8.
- 
- 	* i386/x-sco5 (CC): Remove trailing whitespace.
- 
- Sat Jan 17 21:09:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gengenrtl.c (type_from_format): De-ANSIfy function signature.
- 	(accessor_from_format): Likewise.
- 	(xmalloc): New function for use when linking with alloca.o.
- 
- Mon Jan  5 02:53:01 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* frame.c (find_fde): Correct FDE's upper bound.
- 
- Fri Jan 16 16:23:52 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
- 
- Fri Jan 16 10:16:10 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (expand_call): Move #ifdef code out of macro argument
- 	lists.
- 	(emit_library_call, emit_library_call_value): Likewise.
- 
- Fri Jan 16 00:46:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
- 
- Thu Jan 15 01:02:30 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Wed Jan 14 22:49:17 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO;
- 	change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...).
- 	* caller-save.c, calls.c, combine.c, cse.c: Likewise.
- 	* dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise.
- 	* final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise.
- 	* halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise.
- 	* profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise.
- 	* reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise.
- 	* unroll.c, varasm.c: Likewise.
- 	* config/alpha/alpha.c, config/alpha/alpha.md: Likewise.
- 
- Wed Jan 14 19:36:08 1998  Gavin Koch  (gavin@cygnus.com)
- 
- 	* mips.h: Fix some type-o's from a previous change.
- 
- Wed Jan 14 01:26:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (check_dbra_loop): Make sure initial value is a
- 	CONST_INT before trying to normalize it.
- 
- Tue Jan 13 23:27:54 1998  Robert Lipe  (robertl@dgii.com)
- 
- 	* sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
- 
- Tue Jan 13 22:47:02 1998  Herman ten Brugge  <herman@htbrug.net.HCC.nl>
- 
- 	* cppexp.c: Include gansidecl.h
- 
- Tue Jan 13 22:43:35 1998  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* svr4.h (LINK_SPEC): Never specify -h.
- 	* ptx4.h (LINK_SPEC): Likewise.
- 	* rs6000/sysv4.h (LINK_SPEC): Likewise.
- 	* sparc/sol2.h (LINK_SPEC): Likewise.
- 
- Tue Jan 13 22:39:40 1998  Richard Henderson  (rth@cygnus.com)
- 
- 	* c-typeck.c (comptypes): Exit early on NULL input.
- 
- 	* haifa-sched.c (schedule_insns): Correctly remove inter-block
- 	dependencies after reload.
- 
- Tue Jan 13 22:22:31 1998  Franz Sirl  <franz.sirl-kernel@lauterbach.com>
- 
- 	* rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
- 
- Tue Jan 13 22:14:57 1998  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* alpha/vms.h (DIR_SEPARATOR): Define.
- 
- Tue Jan 13 22:13:04 1998  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* Makefile.in (stamp-proto): Remove.
- 	(protoize.o, unprotoize.o): Straightforward compile.
- 	* unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
- 
- Tue Jan 13 21:59:39 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
- 	off the trailing @[NUM] added by ENCODE_SECTION_INFO.
- 
- Tue Jan 13 21:55:06 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now.
- 	* i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise.
- 	* sparc/netbsd.h, vax/netbsd.h: Likewise.
- 
- Tue Jan 13 21:37:07 1998  Shigeya Suzuki  <shigeya@foretune.co.jp>
- 
- 	* i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
- 
- Tue Jan 13 17:50:55 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (target_cpu_default, target_cpu_default2): Use double
- 	quotes around them when testing their value.
- 	* configure: Rebuilt.
- 
- Tue Jan 13 09:07:44 1998  John Carr  <jfc@mit.edu>
- 
- 	* gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
- 	to allocate rtx.
- 	(gendef): Call obstack_alloc_rtx.
- 
- Tue Jan 13 01:16:36 1998  Robert Lipe  (robertl@dgii.com)
- 
- 	* configure.in (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
- 	for now.
- 
- Thu Dec 18 18:40:17 1997  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value
- 	of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead.
- 	(STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include.
- 
- Tue Jan 13 00:44:02 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (return_internal): Change mode from SImode to VOIDmode.
- 
- Sat Jan 10 22:11:39 1998  J. Kean Johnston  <jkj@sco.com>
- 
- 	* i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
- 	"-static".
- 
- Sat Jan 10 22:04:15 1998  Stan Cox  <scox@equinox.cygnus.com>
- 
- 	* i386.md (movsicc_1, movhicc_1): For alternate 3 set the opcode
- 	suffix from operand 3.
- 
- Sat Jan 10 21:50:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regmove.c: New implementation of regmove pass.
- 	* local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove
- 	decls, make them have external linkage.  Return a value from
- 	optimize_reg_copy_1.
- 	* reload.h (count_occurrences): Add decl.
- 	* reload1.c (count_occurrences): Delete decl, make it have external
- 	linkage.
- 	* rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare.
- 
- Sat Jan 10 20:30:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
- 	if it is not defined.
- 
- Thu Jan  8 21:06:54 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
- 	* emit-rtl.c (gen_rtx): Move special code to ...
- 	(gen_rtx_CONST_INT): New function.
- 	(gen_rtx_REG): New function.
- 	(*): Update all calls to gen_rtx.
- 	* genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO.
- 	* rtl.h: Include genrtl.h; prototype CONST_INT & REG generators.
- 	(GEN_INT): Call gen_rtx_CONST_INT.
- 	* gengenrtl.c: New file.
- 
- Mon Jan  5 13:00:18 1998  John F. Carr  <jfc@mit.edu>
- 
- 	* alias.c (*_dependence): Call base_alias_check before canon_rtx.
- 	(base_alias_check): If no base found for address call canon_rtx and
- 	try again.
- 
- Mon Jan  5 11:39:49 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.c (mips_expand_prologue): Handle large frame with no outgoing
- 	arguments for mips16.
- 	(mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns.
- 	Don't lose if tsize is zero after handling large stack for mips16.
- 	* mips.md (return): For trivial return, return address is in $31.
- 
- Sun Jan  4 20:24:00 1998  Nigel Stephens  <nigel@algor.co.uk>
- 
- 	*  mips/mips16.S: Various changes to make it work with -msingle-float
- 	and -EL.
- 
- Sun Jan  4 14:25:18 1998  Gavin Koch  <gavin@cygnus.com>
- 			  Ian Lance Taylor  <ian@cygnus.com>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* mips.c, mips.h, mips.md: First cut at merging in mips16
- 	support.  Major modifications throughout all three files.
- 
- Sun Jan  4 01:01:50 1998  scott snyder  <snyder@d0sgif.fnal.gov>
- 
- 	* configure.in: Make gthr-default.h a forwarding header instead of
- 	a symlink.
- 
- Sat Jan  3 12:08:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcov-io.h: Include sys/types.h to ensure we get size_t.
- 
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
- 
- Fri Jan  2 23:40:09 1998  Jim Wilson  (wilson@cygnus.com)
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* crtstuff.c (__frame_dummy): New function for irix6.
- 	(__do_global_ctors): Call __frame_dummy for irix6.
- 	* iris6.h (LINK_SPEC): Hide __frame_dummy too.
- 
- Fri Jan  2 04:57:57 1998  Weiwen Liu  <liu@hepmail.physics.yale.edu>
- 
- 	* alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS.
- 
- Fri Jan  2 04:34:14 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (init_decl_processing): Provide proper fallback symbol
- 	for __builtin_memset.
- 	* expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE
- 	not INTEGER_CST.  Assert arg 3 is a constant.
- 
- 	* alpha.c (mode_width_operand): Accept 64-bit modes.
- 	(mode_mask_operand): Likewise.
- 	(print_operand): Likewise for 'M' and 'U' codes.
- 	(alpha_expand_unaligned_load): New function.
- 	(alpha_expand_unaligned_store): Likewise.
- 	(alpha_expand_unaligned_load_words): Likewise.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 	(alpha_expand_block_move): Likewise.
- 	(alpha_expand_block_clear): Likewise.
- 	* alpha.h (MOVE_RATIO): New define.
- 	* alpha.md (extxl, ext*h, ins*l, mskxl): Name them.
- 	(insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New.
- 
- 	* alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3.
- 	(CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable.
- 
- Thu Jan  1 15:40:15 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value.
- 	* configure: Update.
- 
- Thu Jan  1 10:49:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (operand_subword): Correctly handle extracting a word
- 	from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN.
- 
- 	* mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate
- 	for first argument.
- 
- Wed Dec 31 14:42:18 1997  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* configure.in: Set and substitute host_exeext.  Use it when creating
- 	the assembler and linker symlinks.
- 	* configure: Rebuild.
- 	* Makefile.in (exeext): Set to @host_exeext@.
- 	(build_exeext): New variable, set to @build_exeext@.
- 	(FLAGS_TO_PASS): Pass down build_exeext.
- 	(STAGESTUFF): Use build_exeext, not exeext, for gen* and bi*
- 	programs.
- 
- Wed Dec 31 10:05:44 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (addsi3, subsi3): Fix thinkos.
- 
- Tue Dec 30 00:04:49 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of
- 	save+restore.  Fix pic+big_offset delay slot.  Use "pic" case for
- 	unix always, since we want to be able to thunk to functions in a
- 	shared library from an application.
- 
- Mon Dec 29 14:37:31 1997  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a.
- 	(LIB1ASMSRC, LIB1ASMFUNCS): Define.
- 
- Mon Dec 29 14:03:38 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
- 	offset's mode is not ptr_mode, convert it.
- 
- Mon Dec 29 15:58:18 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross
- 	compiling if it was already defined.
- 
- Sun Dec 28 00:32:16 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks): Don't create a new basic block
- 	for calls in a LIBCALL block.
- 
- Sun Dec 28 00:30:24 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* config/fp-bit.c (L_df_to_sf): Fix typo in last change.
- 
- Sat Dec 27 22:43:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (rtx_cost): Remove conflicting default case.
- 
- Sat Dec 27 21:20:02 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Move default enabling of Haifa out of for loop.
- 	* configure: Rebuild.
- 
- Thu Dec 25 01:02:54 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 1997-12-25  Teemu Torma  <tot@trema.com>
- 
- 	* Makefile.in (GTHREAD_FLAGS): New var.
- 	(LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS).
- 	(distclean): Remove gthr-default.h.
- 
- 	* configure.in: Accept dce as a thread package.
- 	Check for thread.h and pthread.h.
- 	Link gthr-default.h to appropriate thread file and set
- 	gthread_flags.
- 	(hppa1.1-*-hpux10*): If --enable-threads, use dce threads and
- 	include multilib definitions from pa/t-dce-thr.
- 	(sparc-*-solaris2*): Enable threads by default, if thread.h or
- 	pthread.h is found, preferring posix threads over solaris ones.
- 
- 	* config/pa/t-dce-thr: New file.
- 	* config/pa/t-pa: Removed multilibs.
- 	* config/sparc/t-sol2: Likewise.
- 
- 	* gthr.h: New file.
- 	* gthr-single.h: New file.
- 	* gthr-posix.h: New file.
- 	* gthr-solaris.h: New file.
- 	* gthr-dce.h: New file.
- 	* libgcc-thr.h: Removed.
- 	* objc/thr-dce.c: New file copied from thr-decosf1.c.
- 
- 	* frame.c: Include gthr.h instead of libgcc-thr.h.
- 	* libgcc2.c: Include gthr.h instead of libgcc-thr.h.
- 	(eh_context_initialize): If __gthread_once fails, use static eh
- 	context.
- 	(eh_context_free): Call __gthread_key_dtor.
- 
- Wed Dec 24 23:33:17 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.h (MUST_PASS_IN_STACK): Allow target port to override.
- 
- Wed Dec 24 23:12:14 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cse.c (max_insn_uid): New variable.
- 	(cse_around_loop): Use max_insn_uid.
- 	(cse_main): Set max_insn_uid.
- 
- 	* abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT,
- 	and define __LONG_MAX__ appropriately.  Add support for -mabi=X,
- 	-mlong64, and -mgp{32,64} options.
- 	* mips.c (mips_abi): Change type to int.
- 	* mips.h (enum mips_abi_type): Delete.
- 	(ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants.
- 	(mips_abi): Change type to int.
- 
- Wed Dec 24 22:38:34 1997  John Carr  <jfc@mit.edu>
- 
- 	* flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check;
- 	optimization is now always enabled.
- 
- 	* calls.c (expand_call): Recognize C++ operator new as malloc-like
- 	function.
- 
- 	* alias.c (memrefs_conflict_p): Eliminate tests now done by
- 	base_alias_check.
- 	(*_dependence): Call canon_rtx before base_alias_check.
- 	(init_alias_once): New function to precompute set of registers which
- 	can hold Pmode function arguments.
- 
- 	* rtl.h: Declare init_alias_once.
- 
- 	* toplev.c (compile_file): Call init_alias_once.
- 
- Wed Dec 24 22:34:55 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tree.c (restore_tree_status): Do not dereference a null pointer.
- 
- Tue Dec 23 12:56:46 1997  Paul Eggert  <eggert@twinsun.com>
- 
- 	* genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to
- 	RLIMIT_STACK.  This maintains consistency with the recent, similar
- 	patch to cccp.c and toplev.c.
- 
- Tue Dec 23 05:17:28 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* genattrtab.c (expand_units): For large nr opclasses, expand
- 	function_units_used with ORX to prevent blowups.  Tag with FFS.
- 	(num_unit_opclasses): New variable.
- 	(gen_unit): Update it.
- 	(enum operator): Add ORX_OP.
- 	(operate_exp): Treat ORX as or, except don't expand across an if.
- 	Reuse number rtx's after operating on them.
- 	(check_attr_value): Accept IOR, AND, & FFS.
- 	(write_test_expr): Transmute `in_comparison' to `flags'.  Allow
- 	for attribute value caching.  Handle CONST_STRING, IF_THEN_ELSE.
- 	(write_expr_attr_cache, write_toplevel_expr): New functions.
- 	(write_attr_get): Handle FFS-tagged expressions.
- 	(make_canonical): Don't expand const attributes.
- 	(convert_const_symbol_ref): Dike out.
- 	(evaluate_eq_attr): Handle SYMBOL_REF.
- 	(main): Don't emit get_attr_foo for const attributes.
- 
- 	* alpha.c (override_options): Reinstate PROCESSOR_EV6.
- 	(alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests.
- 	* alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly.
- 	* alpha.md: Redo all of the scheduling, adding EV6 support, and
- 	combining function units where possible.
- 	(attr "type"): Split loads, stores, cmov into int/fp.  Combine
- 	multiplies and divides.  Add EV6 sqrt, ftoi, itof.
- 	(attr "opsize"): New attribute.
- 	(sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns.
- 	(movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX
- 	to control register allocation.
- 	(movsi2-1, movdi2-1): Likewise.
- 
- Tue Dec 23 03:53:21 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC,
- 	MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC):
- 	Move OSF/1 specific defines out.
- 	* alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS):
- 	Move Linux specific defines out.
- 	(LINK_SPEC): Genericize.
- 	(ASM_FILE_START): Emit .arch if using more than the base insn set.
- 	(ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version.
- 	(SDB_DEBUGGING_INFO): Remove; gas can't handle it.
- 	(HANDLE_SYSV_PRAGMA): Define.
- 	* alpha/osf.h: New file.
- 	* alpha/linux.h: Split.  Retain file-format independent defines.
- 	Import Linux bits from elf.h.
- 	(CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES.
- 	(FUNCTION_PROFILER): _mcount takes its address in $28.
- 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef.
- 	* alpha/linux-ecoff.h: New file.
- 	* alpha/linux-elf.h: New file.
- 	* alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h.
- 	* alpha/win-nt.h (TARGET_DEFAULT): Define.
- 	* configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]:
- 	Add new headers as appropriate.
- 
- 	* configure.in (alpha*): Enable Haifa by default.
- 	(*-*-winnt3*): Change to winnt*, since we're not v3 specific.
- 	* configure: Rebuild.
- 
- Tue Dec 23 03:14:54 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (clean): Remove the stages with their objects here ...
- 	(distclean): ... instead of here.
- 
- Mon Dec 22 11:24:01 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (rtx_cost): Add default case in enumeration switch.
- 	* fix-header.c (recognized_macro): Likewise.
- 	(recognized_extern): Likewise.
- 	(write_rbrac): Likewise.
- 	* objc/objc-act.c (encode_aggregate): Likewise.
- 	(gen_declarator): Likewise.
- 	(gen_declspecs): Likewise.
- 
- Mon Dec 22 09:58:51 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (create_reg_dead_note): Detect and handle another
- 	case where we kill more regs after sched than were killed before
- 	sched.
- 	* sched.c (create_reg_dead_note): Similarly.
- 
- Mon Dec 22 09:18:37 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-pragma.c: Include flags.h.
- 
- Sun Dec 21 22:10:59 1997  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything
- 	about system headers.
- 	(LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32
- 	and also to resolve symbols in prefix.c.
- 
- 	* i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict
- 	between gansidecl.h and newlib's _ansi.h when building libgcc2.a,
- 	when the definitions in auto-config.h is not visible.
- 	(HAVE_BZERO): Likewise.
- 	(HAVE_BCMP): Likewise.
- 	(HAVE_RINDEX): Likewise.
- 	(HAVE_INDEX): Likewise.
- 
- Sun Dec 21 21:54:22 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (emit_move_sequence): Handle a function label source
- 	operand.
- 
- Sun Dec 21 16:13:55 1997  Nick Clifton  <nickc@cygnus.com>
- 
- 	* c-pragma.c (handle_pragma_token): Generate warning messages
- 	about unknown pragmas if warn_unknown_pragmas is set.
- 
- 	* c-decl.c (c_decode_option): Parse -Wunknown-pragmas command
- 	line option to set variable: warn_unknown_pragmas.
- 
- Sun Dec 21 15:51:10 1997  Manfred Hollstein  <manfred@lts.sel.alcatel.de>
- 
- 	* m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the
- 	definition.
- 	(ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'.
- 
- Sun Dec 21 13:58:39 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define.
- 	(libgcc2.a): Depend on $(DPBIT) and $(FPBIT).  Add rules to
- 	generate more fine grained floating point emulation libraries.
- 	* config/fp-bit.c: Add protecting #ifdef to all functions so
- 	that they can be compiled separately.  If !FINE_GRAINED_LIBRARIES,
- 	then compile all suitable functions.
- 	(pack_d, unpack_d, fpcmp_parts): Add declarations, define with two
- 	underscores to avoid namespace pollution.
- 	* t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c.
- 	(FPBIT): Define.
- 	* t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c.
- 	(FPBIT): Define.
- 	(DPBIT): Define.
- 
- Sat Dec 20 11:26:47 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* bitmap.c (bitmap_clear): Ensure `inline' is at the beginning
- 	of the declaration.
- 	* c-decl.c (finish_decl): Use parentheses around && within ||.
- 	* rtl.c: Include stdlib.h.
- 	(read_skip_spaces): Add parentheses around assignments used as
- 	truth values.
- 	(read_rtx): Initialize list_rtx.
- 	* cppexp.c (parse_number): Use || when operands are truth values.
- 	* alias.c (find_base_value): Add default case.
- 	(memrefs_conflict): Likewise.
- 	* combine.c (sets_function_arg_p): Likewise.
- 	* genemit.c (gen_exp): Likewise.
- 	* local-alloc.c (contains_replace_regs): Likewise.
- 	* rtlanal.c (jmp_uses_reg_or_mem): Likewise.
- 	* fold-const.c (fold_convert): Use "&&" for truth values.
- 	(fold): Add default case.
- 	* sdbout.c (sdbout_field_types): Fix typo in declaration.
- 	(sdbout_one_type): Add default case.
- 	* alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS.
- 	(some_operand): Add default case.
- 	(input_operand): Likewise.
- 	(signed_comparison_operator): Likewise.
- 	(divmod_operator): Likewise.
- 	(alpha_set_memflags_1): Likewise.
- 	* reload1.c (reload_cse_simplify_operands): Ensure function
- 	always returns a value.
- 	* scan-decls.c (scan_decls): Likewise.
- 	* c-lex.c (skip_white_space): Fix typo in declaration.
- 	* c-typeck.c (comp_target_types): Add parentheses around assignment
- 	used as truth value.
- 	(print_spelling): Likewise.
- 	(constructor_implicit, constructor_result): Remove unused variables.
- 	* collect2.c (scan_library): Protect prototype with
- 	#ifdef SCAN_LIBRARIES.
- 	* emit-rtl.c (find_line_note): Fix typo in declaration.
- 	* final.c (asm_insn_count): Protect prototype with
- 	#ifdef HAVE_ATTR_length.
- 	* flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC.
- 	(try_pre_increment_1, try_pre_increment): Likewise.
- 	* regclass.c (auto_inc_dec_reg_p): Protect prototype with
- 	#ifdef FORBIDDEN_INC_DEC_CLASSES.  Make return type explicit.
- 	* gcov-io.h (__store_long, __write_long, __read_long): Fix
- 	unsigned/signed comparisons.
- 	* gcov.c (read_files): Remove unused "first_type" variable.
- 	(scan _for_source_files): Initialize s_ptr.
- 	(function_summary): Eliminate "%lf" formatting, use %ld for
- 	longs.
- 	(output_data): Initialize branch_probs and last_line_num.
- 	Eliminate "%lf" formatting, use "%ld" for longs.
- 
- Fri Dec 19 17:31:11 1997  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* mips16.S: New file.
- 
- 	* libgcc2.c (varargs): Handle mips16.
- 
- 	* expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an
- 	expression.
- 	* stmt.c (expand_end_case): Likewise.
- 	* alpha.h (CASE_VECTOR_PC_RELATIVE): Update.
- 	* fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise.
- 	* rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise.
- 
- Tue Dec 16 15:14:09 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in
- 	the build directory.
- 	(libobjc.a): Update dependency list.
- 	(libobjc.dll): Likewise.  Use libobjc_entry.o from the build
- 	directory.
- 	(objc/sendmsg.o): Add -Iobjc to find runtime-info.h.
- 	(objc.mostlyclean): Remove runtime-info.h.
- 
- Fri Dec 19 00:19:42 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (build_range_type): Allow creation of ranges with no maximum.
- 	* dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE.
- 	* dwarf2out.c (add_subscript_info): Likewise.
- 	* dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise.
- 	* sdbout.c (plain_type_1): Likewise.
- 	* stmt.c (pushcase_range, all_cases_count, node_has_high_bound):
- 	Likewise.
- 	* fold-const.c (int_const_binop, fold_convert, make_range, fold):
- 	Likewise.
- 
- Thu Dec 18 17:05:10 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (fatal): Remove declaration.
- 
- 1997-12-18  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* integrate.c (get_label_from_map): New function.
- 	(expand_inline_function): Use it.  Initialize the label_map to
- 	NULL_RTX instead of gen_label_rtx.
- 	(copy_rtx_and_substitute): Use get_label_from_map.
- 	* integrate.h (get_label_from_map): New function.
- 	(set_label_from_map): New macro.
- 	* unroll.c (unroll_loop): Use them.
- 	(copy_loop_body): Likewise.
- 
- Thu Dec 18 19:19:57 1997  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined.
- 	(INIT_TARGET_OPTABS): Define.
- 	* mips/ecoff.h: Include gofast.h before mips.h.
- 	(INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS.
- 	* mips/elf64.h: Likewise.
- 	* mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define.
- 
- Thu Dec 18 14:51:12 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c: Remove register_exception_table{,_p}.
- 
- Thu Dec 18 14:57:29 1997  Gavin Koch  <gavin@cygnus.com>
- 
- 	* unroll.c (calculate_giv_inc): Handle constant increment found in
- 	a MEM with an appropriate REG_EQUAL note.
- 
- 	* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
- 
- 	* dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the
- 	frame pointer in the prologue.
- 
- Thu Dec 18 00:19:38 1997  Robert Lipe  <robertl@dgii.com>
- 
- 	* i386/x-sco5 (CLIB): Deleted.
- 	(ALLOCA): Added.
- 	* i386/xm-sco5.h (USE_C_ALLOCA): Added.
- 
- Tue Dec 16 18:51:00 1997  Bill Moyer  <billm@cygnus.com>
- 
- 	* config/m68k/m68k.c (output_function_prologue): Typecast
- 	dwarf2out_cfi_label to (char *).
- 	* config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "".
- 
- Wed Dec 17 15:06:04 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.md (jump): Don't use the annul bit around an empty loop.
- 	Patch from Kevin.Kelly@East.Sun.COM.
- 
- Wed Dec 17 00:51:36 1997  Stan Cox  (scox@cygnus.com)
- 
- 	* jump.c (jump_optimize): Don't use the return register as a
- 	source1 of a conditional move.
- 
- Tue Dec 16 23:45:40 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (DF_MODES): Or the mask not the bit number.
- 	(function_arg) [ARCH64]: Send unprototyped arg to fp reg first.
- 
- Wed Dec 17 00:13:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
- 
- 	* combine.c (force_to_mode): Return immediately if operand is a
- 	CLOBBER.
- 
- Tue Dec 16 23:44:54 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixincludes (size_t): Add support for Motorola's stdlib.h
- 	which fails to provide a definition for size_t.
- 	(fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3.
- 	(strlen,strspn,strcspn return value): Handle different layout on sysV88.
- 	(hypot): Provide a fake for hypot for m88k-motorola-sysv3.
- 
- 	* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
- 	prevent unresolved externals in libio.
- 	* m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise.
- 
- Tue Dec 16 23:25:45 1997  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/sparc/linux64.h (LIBGCC_SPEC): Removed.
- 	(CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}.
- 	(LIB_SPEC): Updated for glibc 2.
- 
- Tue Dec 16 20:11:36 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ginclude/stdarg.h: Undo BeOS changes, they break hpux.
- 	* ginclude/varargs.h: Likewise.
- 
- Tue Dec 16 00:32:01 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Dec 16 00:14:29 1997  H.J. Lu  (hjl@gnu.org)
- 
- 	* frame.h (__register_frame, __register_frame_table,
- 	__deregister_frame): New.
- 	* frame.c (__register_frame, __register_frame_table,
- 	__deregister_frame): New.
- 	* frame.c (__deregister_frame_info): Return void *.
- 	* frame.h (__deregister_frame_info): Likewise.
- 	* collect2.c (__deregister_frame_info): Likewise.
- 
- Mon Dec 15 18:40:08 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG.
- 
- Mon Dec 15 18:31:43 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_cpu_name): New variable.
- 	(alpha_mlat_string): Likewise.
- 	(alpha_memory_latency): Likewise.
- 	(override_options): Handle -mmemory-latency.
- 	(alpha_adjust_cost): Adjust load cost for latency.
- 	* alpha.h (TARGET_OPTIONS): Add memory-latency.
- 	(REGISTER_MOVE_COST): Define in terms of memory_latency.  Take
- 	TARGET_CIX into account.
- 	(MEMORY_MOVE_COST): Define in terms of memory_latency.
- 	* invoke.texi (DEC Alpha Options): Document -mmemory-latency.
- 
- 	* alpha.h (ASM_COMMENT_START): New macro.
- 
- Mon Dec 15 17:48:05 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c,
- 	dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change.
- 
- 	* reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the
- 	SUBREG_REG if the word count is unchanged.
- 	* reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve
- 	subregs of identical word size for push_reload.
- 
- Mon Dec 15 11:41:32 1997  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* toplev.c (rest_of_compilation): Don't call save_for_inline_copy
- 	if all we're doing is dealing with -Wreturn-type.
- 
- Mon Dec 15 09:44:39 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2):
- 	Use and 255 instead of zapnot 1, since it schedules better.
- 
- Mon Dec 15 08:48:24 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (expand_asm_operands): If an ASM has no outputs, then treat
- 	it as volatile.
- 
- Mon Dec 15 00:04:48 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on
- 	dependency we delete.  Properly update prev for multiple consecutive
- 	deletions.
- 	(priority): Skip deleted dependence.
- 
- Fri Dec 12 18:54:23 1997  Per Bothner  <bothner@cygnus.com>
- 
- 	* expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod.
- 
- Fri Dec 12 01:19:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* flow.c (flow_analysis): Be consistent with find_basic_blocks in
- 	determining when a new basic block starts.
- 
- 	* alpha/osf2or3.h (LIB_SPEC): Restore missing defn.
- 
- 	* pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS.
- 	* pa.md (iorsi3): Add missing args to *_operand calls.
- 
- 	* except.c (call_get_eh_context): Don't mess with sequences.
- 	(emit_eh_context): Include the call in the sequence here.
- 
- 1997-12-11  Paul Eggert  <eggert@twinsun.com>
- 
- 	* collect2.c (write_c_file_glob): Allocate initial frame object
- 	in static storage and pass its address.
- 
- Thu Dec 11 23:33:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (call_get_eh_context): Don't take a parm.
- 	Put the call at the top of the function.
- 	(emit_eh_context): Adjust.
- 	(get_eh_context): Replace with former use_eh_context.
- 	(get_eh_context_once, get_saved_pc_ref): Remove.
- 	(start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove.
- 	* except.h: Adjust.
- 	* integrate.c (expand_inline_function): Adjust.
- 	* toplev.c (rest_of_compilation): Don't call emit_unwinder.
- 
- Fri Oct 10 17:58:31 1997  Marc Lehmann  <pcg@goof.com>
- 
- 	* i386/xm-go32.h (EXECUTABLE_SUFFIX): Define.
- 	(DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise.
- 
- Thu Dec 11 23:55:17 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixincludes (strlen,strspn,strcspn return value): Handle different
- 	layout on sysV88.
- 	(hypot): Provide a fake for hypot which is broken on
- 	m88k-motorola-sysv3.
- 
- Thu Dec 11 23:50:17 1997  John F. Carr  <jfc@mit.edu>
- 
- 	* tree.c, tree.h: Change tree_code_type, tree_code_length, and
- 	tree_code_name from pointers to arrays.
- 	* tree.c: Remove standard_tree_code_* variables, no longer used.
- 	* print-tree.c: Remove declaration of tree_code_name.
- 
- 	* cp/lex.c (init_lex): Update for tree_code_* changes.
- 	* objc/objc-act.c (init_objc): Likewise.
- 
- 	* tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code
- 	changes.
- 
- Thu Dec 11 23:34:54 1997  Fred Fish  <fnf@ninemoons.com>
- 
- 	* config.sub: Add support for BeOS target.
- 	* configure.in: Likewise.
- 	* ginclude/stdarg.h: Likewise.
- 	* ginclude/stddef.h: Likewise.
- 	* ginclude/varargs.h: Likewise.
- 	* rs6000/beos.h: New file for BeOS.
- 	* rs6000/t-beos: Likewise.
- 	* rs6000/x-beos: Likewise.
- 	* rs6000/xm-beos.h: Likewise.
- 	* toplev.c (get_run_time): Just return 0 on BeOS.
- 
- Thu Dec 11 23:25:23 1997  Jeffrey A Law  (law@cygnus.com)
- 			  Toon Moene  (toon@moene.indiv.nluug.nl)
- 
- 	* m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly
- 	old and broken Sun3 assemblers.  Newer versions handle large
- 	offsets correctly as does the GNU assembler.
- 
- Thu Dec 11 23:06:48 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* objc/objc-act.c (lang_report_error_function): Disable.
- 	* objc/objc-parse.y: Include "output.h".
- 	(yyerror): Remove redundant decl.
- 	(yyprint): Fix prototype.
- 	(apply_args_register_offset): Remove redundant decl.
- 	(get_file_function_name): Likewise.
- 
- Thu Dec 11 22:02:10 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* flow.c (find_basic_blocks): A CALL_INSN that can throw starts
- 	a new basic block.
- 	(find_basic_blocks_1): Likewise.
- 
- Thu Dec 11 21:08:48 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (use_eh_context): Don't copy_rtx a REG.
- 	(emit_throw): Lose old unwinder support.
- 	(expand_internal_throw): Likewise.
- 	* libgcc2.c (struct eh_context): Likewise.
- 	(new_eh_context): Likewise.
- 	(__get_eh_info): Lose redundant cast.
- 	(__get_dynamic_handler_chain): Likewise.
- 	(__get_saved_pc): Lose.
- 	Lose all old unwinder support code.
- 
- Thu Dec 11 20:42:18 1997  Teemu Torma  <tot@trema.com>
- 
- 	Thread-safe EH support for pthreads, DCE threads and Solaris threads.
- 
- 	* integrate.c (expand_inline_function): If the inline fn uses eh
- 	context, make sure that the current fn has one.
- 	* toplev.c (rest_of_compilation): Call emit_eh_context.
- 	* except.c (use_eh_context): New fn.
- 	(get_eh_context_once): New fn.
- 	(call_get_eh_context): New fn.
- 	(emit_eh_context): New fn.
- 	(get_eh_context): Call either get_eh_context_once or
- 	call_get_eh_context, depending on what we have.
- 	(get_dynamic_handler_chain): Call get_eh_context_once.
- 	* except.h: Prototypes for fns above.
- 	* optabs.c (get_eh_context_libfunc): Removed.
- 	(init_optabs): Don't initialize it.
- 	* expr.h (get_eh_context_libfunc): Removed.
- 	* rtl.h, rtl.c: New reg_note REG_EH_CONTEXT.
- 	* config/pa/pa.h (CPP_SPEC): Support for -threads.
- 	* config/pa/pa-hpux10.h (LIB_SPEC): Likewise.
- 	* config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
- 	New multilib for -threads.
- 	* config/sparc/t-sol2: Added multilibs for -threads and
- 	made -pthreads alias to it.
- 	* config/sparc/sol2.h (CPP_SPEC, LIB_SPEC):
- 	Added -threads and -pthreads options.
- 	* libgcc-thr.h: New file.
- 	* libgcc2.c (__get_cpp_eh_context): Removed.
- 	(struct cpp_eh_context): Removed.
- 	(struct eh_context): Replaced cpp_eh_context with generic language
- 	specific pointer.
- 	(__get_eh_info): New function.
- 	(__throw): Check eh_context::info.
- 	(__sjthrow): Likewise.
- 	* libgcc2.c: Include libgcc-thr.h.
- 	(new_eh_context, __get_eh_context,
- 	eh_pthread_initialize, eh_context_initialize, eh_context_static,
- 	eh_context_specific, eh_context_free): New functions.
- 	(get_eh_context, eh_context_key): New variables.
- 	(__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use
- 	get_eh_context to get the context.
- 	(longjmp): Move the declaration inside
- 	#ifdef DONT_USE_BUILTIN_SETJMP.
- 	* frame.c: Include libgcc-thr.h.
- 	(object_mutex): Mutex to protect the object list.
- 	(find_fde, __register_frame, __register_frame_table,
- 	__deregister_frame): Hold the lock while accessing objects.
- 	* except.h (get_eh_context): Declare.
- 	* except.c (current_function_ehc): Define.
- 	(current_function_dhc, current_function_dcc): Removed.
- 	(get_eh_context): New function.
- 	(get_dynamic_handler_chain): Use get_eh_context.
- 	(get_saved_pc_ref): Likewise.
- 	(get_dynamic_cleanup_chain): Removed references to
- 	current_function_dcc.
- 	(save_eh_status, restore_eh_status): Save and restore
- 	current_function_ehc instead.
- 	* optabs.c (get_eh_context_libfunc): New variable.
- 	(init_optabs): Initialize it.
- 	* expr.h: Declare get_eh_context_libfunc.
- 	* function.h (struct function): Replaced dhc and dcc with ehc.
- 	* except.c (get_saved_pc_ref): New functions.
- 	(eh_saved_pc_rtx, eh_saved_pc): Deleted.
- 	(expand_internal_throw_indirect): Use get_saved_pc_ref() instead
- 	of eh_saved_pc.
- 	(end_eh_unwinder): Likewise.
- 	(init_eh): Remove initialization of eh_saved_pc.
- 	* optabs.c (get_saved_pc_libfunc): New variable.
- 	(init_optabs): Initialize it.
- 	* expr.h: Declare get_saved_pc_libfunc.
- 	* except.h (eh_saved_pc_rtx): Deleted.
- 	(get_saved_pc_ref): Declared.
- 
- 	From Scott Snyder <snyder@d0sgif.fnal.gov>:
- 	* libgcc2.c (__get_saved_pc): New.
- 	(__eh_type, __eh_pc): Deleted.
- 	(__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc.
- 	(__get_dynamic_handler_chain): Move __dynamic_handler_chain inside
- 	this fcn.
- 
- Thu Dec 11 17:23:48 1997  John F. Carr  <jfc@mit.edu>
- 
- 	* sparc/sol2.h: Use 64 bit multiply and divide functions in
- 	Solaris libc.  Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE
- 	as 0.
- 
- 	* rtl.h (global_rtl): New variable, replacing separate variables for
- 	commonly used rtl.
- 	(const_int_rtx): Now array of rtx_def, not rtx.
- 	* emit-rtl.c: Update for new rtl data structures.
- 	* genattrtab.c: Define global_rtl.
- 
- Thu Dec 11 15:50:29 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by
- 	default.
- 
- Wed Dec 10 12:30:18 1997  Anthony Green  <green@cygnus.com>
- 
- 	* crtstuff.c (__do_global_ctors): Fix typo.
- 
- Tue Dec  9 09:43:59 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
- 	to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
- 
- Tue Dec  9 09:38:58 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.h (FUNCTION_ARG_PADDING): Define.
- 	* rs6000.c (function_arg_padding): New function.
- 
- Tue Dec  9 10:34:21 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* m68k.c: Include tree.h only once.
- 
- Tue Dec  9 09:32:33 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
- 
- Tue Dec  9 01:16:06 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Partially cleaned up prototyping code from HJ.
- 	* tree.h: Add many prototypes.
- 	* haifa-sched.c (haifa_classify_insn): Renamed from classify_insn.
- 	All references changed.
- 	* rtl.h: Protect from multiple inclusions.  Add many prototypes.
- 
- Tue Dec  9 01:15:15 1997  Fred Fish  <fnf@ninemoons.com>
- 
- 	* libgcc2.c (string.h): Hoist inclusion to occur before first use of
- 	string functions like strlen.
- 
- Tue Dec  9 00:57:38 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* configure.in: Check for functions getrlimit and setrlimit.
- 	* cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
- 	to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
- 
- Mon Dec  8 23:53:26 1997  Jay Sachs  <sachs@bull.cs.williams.edu>
- 
- 	* Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
- 
- Mon Dec  8 21:03:28 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (REG_RA, alpha_return_addr, output_epilog):
- 	Fix merge problems.
- 
- 	* alpha.c (override_options): Don't know about scheduling for EV6.
- 	* alpha.md (ev5 function units): Don't overload as ev6.
- 
- 	* alpha.c (alpha_adjust_cost): Simplify.  Fix typo in ev5 mult case.
- 	* alpha.md (define_attr type): Add mvi.
- 	(ev5_e0): Define sceduling parameters for it.
- 	(TARGET_MAX insns): Type is mvi not shift.
- 
- Mon Dec  8 18:15:00 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
- 
- Mon Dec  8 21:17:28 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* cstamp-h, auto-config.h: Delete.
- 
- Sun Dec  7 19:19:03 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Dec  6 22:22:22 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cccp.c: Fix typo brought over in merge.
- 
- 	* Merge in changes from gcc-2.8.
- 
- Mon Nov  3 05:45:32 1997  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* m68k.c: Include tree.h for dwarf2out_cfi_label.
- 
- 	* gcc.c (process_command): Do not take address of function fatal when
- 	calling lang_specific_driver.
- 
- Sat Dec  6 01:02:38 1997  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling
- 	doesn't work with it yet, so set it to 0.
- 	* config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define.
- 
- Sat Dec  6 01:01:02 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
- 
- 	* cse.c (cse_insn): Check for invalid entries when taking references.
- 
- Fri Dec  5 18:26:25 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (invariant_p): Don't test flag_rerun_loop_opt.
- 	(loop_optimize, scan_loop, strength_reduce): New argument unroll_p.
- 	* toplev.c (rest_of_compilation): Pass it.  Remove code to
- 	save / clear / restore flag_unroll_{,all_}loops.
- 
- Fri Dec  5 16:26:03 1997  Bernd Schmidt  <crux@ohara.Informatik.RWTH-Aachen.DE>
- 
- 	* i386.c (notice_update_cc): Remove bogus pentium GCC code.
- 
- Fri Dec  5 16:25:14 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
- 
- Thu Dec  4 11:51:00 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (get_dynamic_handler_chain): Only make the call once per
- 	function.
- 
- 	* except.c (expand_end_all_catch): Fix for sjlj exceptions.
- 
- Thu Dec  4 12:30:40 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (final_prescan_insn): Use local label prefix
- 	when emitting .uses pseudo-ops.
- 
- Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc.
- 	* except.c: Lose outer_context_label_stack.
- 	(expand_eh_region_end): Rethrow from outer_context here.
- 	(expand_fixup_region_end): Let expand_eh_region_end do the rethrow.
- 	(expand_internal_throw): Take no args.
- 	(expand_internal_throw_indirect): Lose.
- 	(expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow.
- 	(expand_start_all_catch): Start a rethrow region.
- 	(expand_end_all_catch): End it.
- 	(expand_rethrow): New fn.
- 	* except.h: Reflect above changes.
- 	* flow.c: Revert change of Nov 27.
- 
- Thu Dec  4 00:24:09 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
- 
- Wed Dec  3 12:01:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (expand_fixup_region_end): New fn.
- 	(expand_fixup_region_start): Likewise.
- 	(expand_eh_region_start_tree): Store cleanup into finalization here.
- 	* stmt.c (expand_cleanups): Use them to protect fixups.
- 
- Wed Dec  3 11:41:13 1997  Gavin Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.md (muldi3_r4000): Broaden the output template
- 	and attribute assignments to handle three operand dmult;
- 	rename to muldi3_internal2.
- 	(muldi3): Call the new muldi3_internal2 for R4000, and
- 	any GENERATE_MULT3 chip.
- 
- Tue Dec  2 19:40:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
- 
- Tue Dec  2 12:54:33 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (find_splittable_givs): Remove last change.  Handle givs
- 	with a dest_reg that was created by loop.
- 
- Sat Nov 29 12:44:57 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
- 
- 	* rs6000/aix41.h (ASM_CPU_SPEC): Define.
- 
- Fri Nov 28 10:00:27 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Fix NCR entries.
- 
- Thu Nov 27 12:20:19 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks): Handle cfg issues for rethrows and
- 	nested exceptions correctly.
- 
- 	* unroll.c (find_splittable_givs): Don't split givs with a dest_reg
- 	that was created by loop.
- 
- Thu Nov 27 09:34:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
- 
- 	* except.c (expand_start_all_catch): One more do_pending_stack_adjust.
- 
- Wed Nov 26 15:47:30 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.c (SMALL_DATA_REG): Register to use for small data relocs.
- 	(print_operand): Use SMALL_DATA_REG for the register involved in
- 	small data relocations.
- 	(print_operand_address): Likewise.
- 
- 	* rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
- 	-dynamic linker is not used.
- 
- 	* rs6000.md (call insns): For local calls, use @local suffix under
- 	System V.  Don't use @plt under Solaris.
- 
- 	* rs6000.c (output_function_profiler): Put label address in r0, and
- 	store LR in 4(sp) for System V/eabi.
- 
- 	* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
- 	byte boundary, and maintain stack backchain.
- 
- Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
- 	fix_truncsfdi2): Change *.
- 
- Wed Nov 26 11:12:26 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (main): Complain about -gdwarfn.
- 
- Tue Nov 25 22:43:30 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarfout.c (output_type): If finalizing, write out nested types
- 	of types we've already written.
- 
- Tue Nov 25 20:32:24 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	(patches originally from Geoffrey Keating)
- 	* rs6000.c (function_arg): Excess floating point arguments don't
- 	go into GPR registers after exhausting FP registers under the
- 	System V.4 ABI.
- 	(function_arg_partial_nregs): Likewise.
- 
- 	* rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
- 	suffix to calls.
- 
- Tue Nov 25 23:37:27 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* integrate.c (output_inline_function): Just unset DECL_INLINE.
- 
- Tue Nov 25 23:33:29 1997  scott snyder  <snyder@d0sgif.fnal.gov>
- 
- 	* dwarf2out.c (outout_call_frame_info): Ensure that the info has
- 	proper alignment.
- 
- 	* libgcc2.c (__throw): Initialize HANDLER.
- 
- Tue Nov 25 14:08:12 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
- 	fix_truncsfdi2): Change *X to ?*X.
- 
- Tue Nov 25 10:00:42 1997  Richard Henderson  (rth@cygnus.com)
- 
- 	* alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
- 
- Tue Nov 25 10:00:42 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
- 
- Tue Nov 25 01:26:55 1997  Bruno Haible  <haible@ilog.fr>
- 
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
- 
- Mon Nov 24 22:41:55 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL.
- 	* optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc.
- 	* expr.h: Likewise.
- 
- Sat Nov 22 18:58:20 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa-hpux10.h (NEW_HP_ASSEMBLER): Define.
- 	* pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using
- 	gas and not using the new HP assembler.
- 
- Fri Nov 21 15:20:05 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (program_transform_cross_name): Clean up "-e" confusion.
- 	(GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise.
- 
- Fri Nov 21 19:37:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* config/mips/elf64.h (MULTILIB_DEFAULTS): Test for
- 	TARGET_ENDIAN_DEFAULT == zero instead of testing for macro
- 	definition.
- 
- Fri Nov 21 12:49:56 1997  Bruno Haible  <bruno@linuix.mathematik.uni-karlsruhe.de>
- 
- 	* stmt.c (expand_end_bindings): Allow jump into block with cleanups.
- 
- Fri Nov 21 12:18:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.h: Add outer_context_label_stack.
- 	* except.c: Likewise.
- 	(expand_start_all_catch): Push the outer_context for the try block
- 	onto outer_context_label_stack.
- 	(expand_end_all_catch): Use it and pop it.
- 
- Fri Nov 21 10:13:11 1997  Robert Lipe  (robertl@dgii.com)
- 
- 	* i386/sco5.h (HAVE_ATEXIT): Revert last change.
- 
- Thu Nov 20 16:11:50 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_set_const_1): Handle narrow hosts better.
- 
- Thu Nov 20 16:11:50 1997  Klaus Kaempf  <kkaempf@progis.de>
- 
- 	* alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label
- 	to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
- 
- Thu Nov 20 14:42:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* Makefile.in (LIB2FUNCS): Remove C++ memory management support.
- 	* libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler,
- 	__builtin_delete, and __builtin_vec_delete.
- 
- 	* except.c (output_exception_table): Don't bother with
- 	__EXCEPTION_END__.
- 
- Thu Nov 20 16:11:50 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register
- 	is an in/out operand.
- 	(zero extended variants of stwm/stwm patterns): Similarly.
- 
- 	* mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE.
- 
- Thu Nov 20 13:19:32 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4.
- 	Use assemble_name.
- 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name.
- 	(output_call_frame_info): Emit a \n after using it.
- 
- Thu Nov 20 00:38:46 1997  Dave Love  <d.love@dl.ac.uk>
- 
- 	* configure.in: Add AC_ARG_ENABLE for Haifa as documentation.
- 
- Wed Nov 19 12:03:04 1997  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros.
- 	(ASM_OUTPUT_DWARF_VALUE4): New macro.
- 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is
- 	defined.
- 	(output_call_frame_info): Do not output forward label differences
- 	if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined.
- 	* m68k/mot3300.h (SET_ASM_OP): Define when not using gas.
- 
- Tue Nov 18 23:03:30 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (attribute "type"): Add nil.
- 	(movsi_ie): y/y alternative is type nil.
- 	(movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X
- 	alternatives.
- 	(movsf_ie+1): Delete.
- 
- Tue Nov 18 15:39:59 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/mips.c (save_restore_insns): If gp_offset or fp_offset are
- 	large_int, emit two insns instead of one splitable insn.
- 	* dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset
- 	from cfa_temp_value, use cfa_offset.  Add assert checking that
- 	cfa_reg is SP.
- 
- Mon Nov 17 15:35:38 1997  Tom Tromey  <tromey@cygnus.com>
- 
- 	* cccp.c (deps_output): Properly quote file names for make.
- 
- Mon Nov 17 13:21:40 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* t-h8300 (MULTILIB_EXCEPTIONS): Define.
- 
- Fri Nov  7 15:33:11 1997  Robert Lipe  (robertl@dgii.com)
- 
- 	* i386/sco5.h (HAVE_ATEXIT): Delete definition.
- 
- Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditional
- 	return.
- 	(cse_end_of_basic_block): Similarly.
- 
- Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
- 
- 	* i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- 	(SELECT_RTX_SECTION): Define.
- 	(LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC.
- 
- Sun Nov 16 22:47:03 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (compare, compare-lean): Define $stage for each
- 	shell command.
- 	(gnucompare, gnucompare-lean): Likewise.
- 
- Sun Nov 16 22:02:16 1997  Richard Henderson  (rth@cygnus.com)
- 
- 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets.
- 
- 	* alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label
- 	to correspond with the change to ASM_GENERATE_INTERNAL_LABEL.
- 
- Fri Nov 14 09:09:20 1997  Fred Fish  (fnf@cygnus.com)
- 
- 	* dwarfout.c (byte_size_attribute): Add local var upper_bound
- 	and add case to handle STRING_TYPE.
- 	* dwarfout.c (output_string_type_die): Fix code to generate
- 	correct string length attribute for fixed length strings.
- 	Still needs support for varying length strings.
- 
- Fri Nov 14 08:46:56 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (get_run_time): Do something sensible for cygwin32.
- 
- Fri Nov 14 07:24:20 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_builtin_setjmp): Set
- 	current_function_has_nonlocal_label.
- 	* stupid.c (stupid_life_analysis): If has_nonlocal_label, kill
- 	call-saved registers across calls.
- 
- 	* alpha.md (exception_receiver): Remove.
- 	(nonlocal_goto_receiver_osf): New.
- 	(nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver.
- 	(nonlocal_goto_receiver): New, select _osf or _vms.
- 
- 	* alpha.c (output_prolog [*]): Prefix entry labels with '$' to
- 	keep them from being propagated to the object file.
- 	(alpha_write_linkage): Likewise.
- 	* alpha.md (call_vms): Likewise.
- 	(call_value_vms): Likewise.
- 	(unnamed osf call insns): Likewise.
- 
- 	* alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label.
- 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 
- 	* alpha.c (call_operand): Any reg is valid for WinNT.
- 	* alpha.md (call_nt, call_value_nt): Don't force address into $27.
- 	(anon nt calls): Add 'R' alternative.
- 	* alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
- 	INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs.
- 
- Fri Nov 14 06:59:33 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (expand_call): Handle pcc_struct_value correctly for C++.
- 
- 	* i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines.
- 	* i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
- 	* rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise.
- 
- Thu Nov 13 20:37:33 1997  Michael Meissner  <meissner@tiktok.cygnus.com>
- 
- 	* reload1.c (new_spill_reg): Improve fixed or forbidden register
- 	spill error message.
- 
- Thu Nov 13 20:29:08 1997  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* prefix.c: Use stdarg.h only ifdef __STDC__.  Otherwise,
- 	use varargs.h.  Wrap header with <>, not "".
- 
- Thu Nov 13 20:21:17 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* integrate.c (save_for_inline_copying): Add return value from
- 	savealloc.
- 
- Thu Nov 13 19:12:33 1997  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* fixincludes: Be a little more restrictive on what we will
- 	substitute to replace definitions of MAXINT for HPUX.
- 
- Thu Nov 13 18:41:02 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* dbxout.c (dbxout_symbol_location): Don't assume that variables
- 	whose address is the stack or argument pointers are indirect
- 	pointers.
- 
- 1997-11-13  Paul Eggert  <eggert@twinsun.com>
- 
- 	* cccp.c, cpplib.c (compare_defs):
- 	Don't complain about arg name respellings unless pedantic.
- 	* cpplib.c (compare_defs): Accept pfile as new arg.
- 	All callers changed.
- 
- Thu Nov 13 23:33:50 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* fold-const.c (fold_truthop): Fix bug in last change.
- 
- 1997-11-13  Paul Eggert  <eggert@twinsun.com>
- 
- 	Fix some confusion with IEEE minus zero.
- 
- 	* real.h (REAL_VALUES_IDENTICAL): New macro.
- 
- 	* expr.c (is_zeros_p): Don't consider -0.0 to be all zeros.
- 	* fold-const.c (operand_equal_p): Don't consider -0.0 to be
- 	identical to 0.0.
- 	* tree.c (simple_cst_equal): Don't consider -0.0 to have the
- 	same tree structure as 0.0.
- 
- 	* varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL
- 	macro instead of doing it by hand.
- 
- Thu Nov 13 16:56:14 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* v850/lib1funcs.asm: Minor whitespace changes.
- 	* v850.c: Fix minor formatting problems in many places.
- 	(construct_restore_jr, construct_save_jarl): Remove unwanted aborts.
- 
- Thu Nov 13 12:53:44 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and
- 	xplus1 when xplus0 is not a register.
- 
- Thu Nov 13 11:41:42 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks): During marking phase, if we encounter
- 	an insn with a REG_LABEL note, make the target block live and
- 	create an edge from the insn to the target block.  Do not make
- 	edges from all blocks to the target block.
- 
- 	* m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers.
- 
- 	* confiugre.in: Tweak NCR entries.
- 	* configure: Rebuilt.
- 
- Thu Nov 13 11:07:41 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to
- 	pick apart floating point values, instead of using CONST_DOUBLE_LOW
- 	and CONST_DOUBLE_HIGH.
- 
- 	* rs6000.md (define_splits for DF constants): Use the appropriate
- 	REAL_VALUE_* interface to pick apart DF floating point constants in
- 	a machine independent fashion.
- 
- Thu Nov 13 00:06:58 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* fold-const.c (fold_truthop): When changing a one-bit comparison
- 	against zero into a comparison against mask, do a proper sign
- 	extension.
- 
- Wed Nov 12 09:37:01 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* except.c: Do not include "assert.h".
- 	(save_eh_status): Turn asserts into conditional aborts.
- 	(restore_eh_status, scan_region): Likewise.
- 	* dwarfout.c: Do not include "assert.h".
- 	(bit_offset_attribute): Turn asserts into conditional aborts.
- 	(bit_size_attribute, output_inlined_enumeration_type_die): Likewise.
- 	(output_inlined_structure_type_die): Likewise.
- 	(output_inlined_union_type_die): Likewise.
- 	(output_tagged_type_instantiation): Likewise.
- 	(dwarfout_file_scope_decl): Likewise.
- 	* dwarf2out.c: Do not include "assert.h"
- 	(expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts.
- 	(reg_save, initial_return_save, dwarf2out_frame_debug): Likewise.
- 	(add_child_die, modified_type_die, add_bit_offset_attribute): Likewise.
- 	(add_bit_size_attribute, scope_die_for): Likewise.
- 	(output_pending_types_for_scope): Likewise.
- 	(get_inlined_enumeration_type_die): Likewise.
- 	(get_inlined_structure_type_die): Likewise.
- 	(get_inlined_union_type_die, gen_subprogram_die): Likewise.
- 	(gen_tagged_type_instantiation_die): Likewise.
- 
- 	* flow.c (find_basic_blocks): Refine further to get a more correct
- 	cfg, especially in the presense of exception handling, computed
- 	gotos, and other non-trivial cases.  Call abort if an inaccuracy
- 	is detected in the cfg.
- 
- Tue Nov 11 21:47:27 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts.
- 
- 	* c-lex.c (whitespace_cr, skip_white_space_on_line): New functions.
- 	(skip_white_space): Use whitespace_cr.
- 	(check_newline): Handle whitespace more consistently.
- 
- Tue Nov 11 16:25:49 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX.
- 	* i386/xm-cygwin32.h (POSIX): Define.
- 
- Mon Nov 10 20:53:11 1997  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit
- 	is available elsewhere.
- 
- Mon Nov 10 16:21:58 1997  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match
- 	what the instruction can handle.
- 
- Mon Nov 10 03:02:19 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* stmt.c (expand_decl_cleanup_no_eh): New fn.
- 
- 	* except.c (expand_leftover_cleanups): do_pending_stack_adjust.
- 
- Mon Nov 10 00:05:56 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (MAX_ALIAS_LOOP_PASSES): Define.
- 	(init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES.
- 
- Sun Nov  9 14:34:47 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md (lshrdi3_power): Delete '&' from first alternative and
- 	swap instruction order.
- 
- Sun Nov  9 02:07:16 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc.svr4 (__STDC__): Add another case.
- 
- Sun Nov  9 02:00:29 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying
- 	addresses in the epilogue delay slot.
- 
- Sun Nov  9 01:40:40 1997  Manfred Hollstein  (manfred@s-direktnet.de)
- 
- 	* m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace
- 	in generated `specs' file.
- 
- Sun Nov  9 01:37:11 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* flags.h (flag_rerun_loop_opt): Declare.
- 	* loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt.
- 	* toplev.c (flag_rerum_loop_opt): Delete static.
- 
- Sat Nov  8 18:20:21 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	Bring over from FSF:
- 
- 	Thu Oct 30 12:21:06 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* va-sh.h (__va_arg_sh1): Define.
- 	(va_arg): Use it.
- 	SH3E doesn't use any integer registers for subsequent arguments
- 	once a non-float value was passed in the stack.
- 	* sh.c (machine_dependent_reorg): If optimizing, put explicit
- 	alignment in front label for ADDR_DIFF_VEC.
- 	* sh.h (PASS_IN_REG_P): Fix SH3E case.
- 	(ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length.
- 
- 	Tue Oct 28 15:06:44 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including
- 	svr4.h.
- 
- 	Mon Oct 27 16:11:52 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (machine_dependent_reorg): When -flag_delayed_branches,
- 	put an use_sfunc_addr before each sfunc.
- 	* sh.md (use_sfunc_addr, dummy_jump): New insns.
- 	(casesi): For TARGET_SH2, emit a dummy_jump after LAB.
- 
- 	Tue Oct 21 07:12:28 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine.
- 
- Fri Nov  7 10:22:24 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* frame.c (add_fdes, count_fdes): Go back to checking pc_begin for
- 	linked once FDEs.
- 
- Wed Nov  5 14:26:05 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (find_base_value): Only return the known base value for
- 	pseudo registers.
- 
- Wed Nov  5 11:27:14 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.c (load_pic_register): Call prologue_get_pc_and_set_got.
- 	* i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE
- 	to pattern.
- 	(prologue_get_pc_and_set_got): New pattern.
- 
- Tue Nov  4 20:36:50 1997  Richard Henderson  (rth@cygnus.com)
- 
- 	* alpha.c (summarize_insn): Handle ASM_OPERANDS.  Don't recurse
- 	for SUBREG, just fall through.
- 
- 	* alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero.
- 
- 	* alpha.md (attr trap): Make TRAP_YES nonzero for sanity's sake.
- 
- Tue Nov  4 18:49:42 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixincludes: Fix "hypot" prototype in NeXT math.h.
- 
- 	* Makefile.in (USE_ALLOCA): Always include alloca.o.
- 	(USE_HOST_ALLOCA): Likewise.
- 
- 	* rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
- 	and LABEL_REFS fields.
- 	* rtl.h (LABEL_REFS): Update.
- 
- Tue Nov  4 16:55:11 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* combine.c (try_combine): When setting elim_i2, check whether newi2pat
- 	sets i2dest.  When calling distribute_notes for i3dest_killed, pass
- 	elim_i2 and elim_i1.  When setting elim_i1, check if newi2pat
- 	sets i1dest.
- 
- 	* mips.md (insv, extzv, extv): Add change_address call.
- 	(movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern.
- 
- 	* integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc.
- 
- 	* reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants.
- 
- 	* mips.c (mips_expand_epilogue): Emit blockage insn before call to
- 	save_restore_insns if no FP and GP will be restored.
- 
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode.
- 	Convert CCmode to word_mode before calling GET_MODE_SIZE.
- 
- 	* acconfig.h (HAVE_INTTYPES_H): Undef.
- 	* configure.in (inttypes.h): Check for conflicts between sys/types.h
- 	and inttypes.h, and verify that intmax_t is defined.
- 	* config/mips/x-iris (CC, OPT, OLDCC): Comment out.
- 	* config/mips/x-iris3: Likewise.
- 
- Tue Nov  4 16:07:15 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (find_base_value): When copying arguments, return the
- 	tentative value for a hard register.
- 
- Tue Nov  4 13:40:35 1997  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling.
- 	(yylex): Record wide strings using target endianness, not host.
- 
- Tue Nov  4 13:13:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.h (ASM_OUTPUT_BSS): Delete.
- 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
- 	* mn10300.h (ASM_OUTPUT_BSS): Delete.
- 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
- 	* v850.h (ASM_OUTPUT_BSS): Delete.
- 	(ASM_OUTPUT_ALIGNED_BSS): New macro.
- 
- Tue Nov  4 00:55:48 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP.
- 
- Mon Nov  3 14:36:50 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (sco5): Use cpio to install header files.
- 
- Sun Nov  2 23:31:43 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to
- 	14 char length.
- 	* configure: Rebuild.
- 
- Sun Nov  2 19:44:00 1997  Robert Lipe  (robertl@dgii.com)
- 
- 	* i386/sco5.h: Enable -gstabs once again.
- 
- Sun Nov  2 19:27:21 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* arm.c (output_move_double): Allocate 3 entries in otherops array.
- 
- Sat Nov  1 21:43:00 1997  Mike Stump  <mrs@wrs.com>
- 
- 	* except.c (expand_eh_region_start_for_decl): Emit EH_REGION_BEG
- 	notes for sjlj exceptions too.
- 	(expand_eh_region_end): Similarly for EH_REGION_END notes.
- 	(exception_optimize): Optimize EH regions for sjlj exceptions too.
- 	* final.c (final_scan_insn): Don't output labels for EH REGION
- 	notes if doing sjlj exceptions.
- 
- Sat Nov  1 19:15:28 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (init_alias_analysis): Handle -fno-alias-check when
- 	optimizing correctly.
- 
- 	* expr.c (expand_builtin_setjmp): Don't emit a SETJMP note
- 	or set current_function_calls_setjmp anymore.
- 
- 	* flow.c (find_basic_blocks): If we delete the label for an
- 	exception handler, remove it from the EH label list and remove
- 	the EH_BEGIN/EH_END notes for that EH region.
- 
- Sat Nov  1 16:44:49 1997  Jason Merrill  (jason@cygnus.com)
- 
- 	* flow.c (find_basic_blocks): Generate correct flow control
- 	information when exception handling notes are present.
- 
- Sat Nov  1 13:42:19 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* dwarf2out.c (output_call_frame_info): Fix length argument
- 	to ASM_OUTPUT_ASCII.
- 	(output_die, output_pubnames, output_line_info): Likewise.
- 
- Fri Oct 31 07:10:09 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 	* dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to
- 	output ASCII by default.  Only use ASM_OUTPUT_DWARF_STRING if
- 	flag_debug_asm is on.
- 	(output_die, output_pubnames, output_line_info): Likewise.
- 
- 	* alias.c (init_alias_analysis): Add struct_value_incoming_rtx
- 	and static_chain_rtx into the potential base values array if
- 	they are registers.
- 
- 	* alias.c (new_reg_base_value): New array of potential base values.
- 	(unique_id): Now file scoped static.
- 	(find_base_value, case REG): Return the value in reg_base_value
- 	array for the REG if it exists.  Else, return the value from
- 	new_reg_base_value if copying args and REG is a hard register.
- 	(find_base_value, case PLUS): If either operand of the PLUS is
- 	a REG, try to get its base value.  Handle base + index and
- 	index + base.
- 	(record_set): Use new_reg_base_value instead of reg_base_value.
- 	(init_alias_analysis): Allocate space for new_reg_base_value too.
- 	Rework code to iterate over the insns propagating base value
- 	information until nothing changes.
- 
- 	* global.c (global_alloc): Free the conflict matrix after
- 	reload has finished.
- 
- Fri Oct 31 01:45:31 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (L_eh): Define __eh_pc.
- 	Replace __eh_type with generic pointer __eh_info.
- 
- Fri Oct 31 00:34:55 1996  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (expand_increment): When enqueing a postincrement for a MEM,
- 	use copy_to_reg if address is not a general_operand.
- 
- Fri Oct 31 00:16:55 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* profile.c (output_func_start_profiler): Clear flag_inline_functions
- 	for the duration of the call to rest_of_compilation.
- 
- Thu Oct 30 14:40:10 1997  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf.
- 	Set extra_parts.
- 	(sparc*-*-*): Recognize --with-cpu=v9.
- 	* sparc/elf.h: New file.
- 	* sparc/t-elf: New file.
- 
- Thu Oct 30 13:26:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.c (const_8bit_operand): New function.
- 	(mask_ok_for_mem_btst): New function.
- 	* mn10300.md (btst patterns with mem operands): Use new functions
- 	to avoid creating btst instructions with invalid operands.
- 
- Wed Oct 29 16:57:19 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we
- 	are running on PowerPC Linux.
- 
- Wed Oct 29 13:10:11 1997  Gavin Koch  <gavin@cygnus.com>
- 
- 	* config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define
- 	if not previously defined.
- 
- Tue Oct 28 23:55:27 1997  Doug Evans  (devans@cygnus.com)
- 
- 	* function.c (assign_parms): Correct mode of stack_parm if
- 	entry_parm underwent a mode conversion.
- 
- 1997-10-28  Brendan Kehoe  <brendan@lisa.cygnus.com>
- 
- 	* global.c (global_alloc): Use xmalloc instead of alloca for
- 	CONFLICTS, since max_allocno * allocno_row_words alone can be more
- 	than 2.5Mb sometimes.
- 
- Tue Oct 28 15:29:15 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of
- 	DEST for the spill, adjust mode of SRC to compensate.
- 
- Tue Oct 28 14:36:45 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (reload_inqi): Check for MEM before strict_memory_address_p,
- 	since any_memory_operand() allows pseudos during reload.
- 	(reload_inhi, reload_outqi, reload_outhi): Likewise.
- 
- Tue Oct 28 11:53:14 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k.md (btst patterns): Add 5200 support.
- 
- Tue Oct 28 11:58:40 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3)
- 	optimizations, look inside dividend to determine if the expression
- 	can be simplified by using EXACT_DIV_EXPR.
- 
- Tue Oct 28 10:19:01 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	From Brendan:
- 	* dwarf2out.c (output_call_frame_info): Use l1 instead of ".".
- 
- Tue Oct 28 00:32:14 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (summarize_insn [SUBREG]): Propagate SET.
- 
- Mon Oct 27 23:59:26 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap
- 	on a CLOBBER.
- 
- Mon Oct 27 21:25:20 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (movqi, movhi): Make sure new insns created during reload
- 	won't need reloading themselves.
- 	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise.
- 
- Mon Oct 27 16:11:10 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg.
- 
- Sun Oct 26 13:50:44 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask.
- 	Patch from Klaus Kaempf <kkaempf@progis.de>.
- 
- Sun Oct 26 13:31:47 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* expr.c (expand_expr, case INDIRECT_REF): Optimize a reference
- 	to an element in a constant string.
- 
- Sun Oct 26 11:41:49 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32
- 	bit PC-relative offset.  The exception range table pointer is now in
- 	the CIE.
- 	* frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta.
- 	(count_fdes, add_fdes, get_cie): Adjust.
- 	(cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses.
- 
- 	From H.J. Lu:
- 	* frame.c (count_fdes, add_fdes): Skip linked once FDE entries.
- 
- Sun Oct 26 11:52:01 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just
- 	like stack_pointer_rtx.
- 
- Sun Oct 26 11:32:16 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (bootstrap-lean): Combined with `normal' bootstrap
- 	targets using "$@" to provide support for similar but not identical
- 	targets without having to duplicate code.
- 	(bootstrap4): New goal.
- 
- 	* Makefile.in (compare, compare-lean, compare3): Combined to one
- 	ruleset determining actions to be performed via $@.
- 	(compare4, compare4-lean): New targets.
- 	(gnucompare, gnucompare3): Combined to one ruleset determining
- 	actions to be performed via $@. Also, note which files failed
- 	the comparison test in .bad_compare.
- 	(gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets.
- 
- Sun Oct 26 10:06:11 1997  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR
- 	if the dividend is a multiple of the divisor.
- 
- Sun Oct 26 09:21:40 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions.
- 
- 	* alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC,
- 	and POS_DEC.
- 
- 	* alias.c (true_dependence): Fix typo.
- 
- 	* toplev.c (flag_rerun_loop_opt): New variable.
- 	(f_options): Handle -frerun-loop-opt.
- 	(rest_of_compilation): If -frerun-loop-opt, then run the loop
- 	optimizer twice.
- 	(main): Enable -frerun-loop-opt by default for -O2 or greater.
- 
- 	* loop.c (simplify_giv_expr): Adding two invariants results
- 	in an invariant.
- 
- Sun Oct 26 09:15:15 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (get_inner_reference): Remove the array bias after
- 	converting the index to Pmode.
- 
- Sat Oct 25 12:20:58 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug.
- 	(TARGET_MULT_BUG): Define.
- 	(TARGET_DEFAULT): Default to TARGET_MULT_BUG.
- 	* mn10300.md (mulsi3): Handle TARGET_MULT_BUG.
- 
- Fri Oct 24 17:40:34 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.c (indirect_memory_operand): Delete unused function.
- 	* mn10200.h (EXTRA_CONSTRAINT): Handle 'R'.
- 	* mn10200.md (bset, bclr insns): Handle output in a reg too.
- 
- Fri Oct 24 15:54:57 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (call patterns): Revert Oct 16 change; if we are to elide
- 	the callee's ldgp, we must do it ourselves, and we use the jsr tag
- 	for more than scheduling.
- 
- Fri Oct 24 13:23:04 1997  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* sparc/sparc.h (ASM_SPEC): Delete asm_arch.
- 
- Fri Oct 24 13:19:40 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.c (symbolic_operand, legitimize_address): New functions.
- 	* mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address.
- 	(GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic.
- 
- Thu Oct 23 09:35:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Oct 23 08:03:59 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* dbxout.c (dbxout_start_new_source_file): Use output_quoted_string
- 	for FILENAME.
- 
- Wed Oct 22 00:34:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (flag_exceptions): Default value is 2.
- 	(compile_file): If flag_exceptions still has the value 2, then
- 	set it to 0.
- 
- 	* rs6000.c (struct machine_function): Add pic_offset_table_rtx.
- 	(rs6000_save_machine_status): Save pic_offset_table_rtx.
- 	(rs6000_restore_machine_status: Restore pic_offset_table_rtx.
- 
- 	* local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions
- 	are shared.
- 
- 	* rs6000.md (*movsi_got_internal_mem): New pattern.
- 	(*movsi_got_internal_mem splitter): New define_split.
- 
- Tue Oct 21 18:14:03 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* obstack.h (obstack_empty_p): Fix spurious space after backslash.
- 
- Tue Oct 21 18:34:01 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
- 
- 	* rs6000.c: Avoid creating a stack frame under SYSV ABI if we
- 	only need to save LR.
- 
- Tue Oct 21 10:06:40 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.md (movqi, movhi): Avoid using address registers as
- 	destinations unless absolutely necessary.
- 
- 	* mn10200.c (expand_prologue): Fix typo.
- 
- 	* mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed
- 	addresses.
- 	* mn10200.md (neghi2): Provide an alternative which works if
- 	the input and output register are the same.
- 
- 	* mn10300.c (print_operand): Handle 'S'.
- 	* mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for
- 	shift amount in last alternative.
- 
- 	* mn10300.c (expand_epilogue): Rework to handle register restores
- 	in "ret" and "retf" instructions correctly.
- 
- Mon Oct 20 16:47:08 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expmed.c (extract_bit_field): Don't make flag_force_mem disable
- 	extzv for memory operands.
- 
- 	* cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse
- 	redundant conditional moves to single operand.
- 
- Mon Oct 20 15:30:26 1997  Nick Clifton  <nickc@cygnus.com>
- 
- 	* v850.h: Move define of __v850__ from CPP_PREDEFINES
- 	to CPP_SPEC.
- 
- 	* xm-v850.h: Use __v850 rather than __v850__ to
- 	identify v850 port.
- 
- Mon Oct 20 14:15:02 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/mips.c (compute_frame_size): Not a leaf function if
- 	profile_flag set.
- 
- Mon Oct 20 14:16:38 1997  Geoffrey KEATING  <geoffk@ozemail.com.au>
- 
- 	* rs6000/t-ppccomm: Use -msdata=none for crtstuff.
- 
- Mon Oct 20 12:28:17 1997  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete.
- 	(DEFAULT_ARCH32_P): New macro.
- 	(TARGET_ARCH{32,64}): Allow compile time or runtime selection.
- 	(enum cmodel): Declare.
- 	(sparc_cmodel_string,sparc_cmodel): Declare.
- 	(SPARC_DEFAULT_CMODEL): Provide default.
- 	(TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}.
- 	(TARGET_FULLANY): Deleted.
- 	(TARGET_CM_MEDMID): New macro.
- 	(CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC.
- 	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- 	(CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch).
- 	(CPP_SPEC): Rewrite.
- 	(CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- 	(CPP_{ENDIAN,SUBTARGET}_SPEC): New macros.
- 	(ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros.
- 	(ASM_SPEC): Add %(asm_arch).
- 	(EXTRA_SPECS): Rename cpp_default to cpp_cpu_default.
- 	Rename asm_default to asm_cpu_default.
- 	Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian,
- 	cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch.
- 	(NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH.
- 	({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values.
- 	(MASK_INT64,MASK_LONG64): Delete.
- 	(MASK_ARCH64): Renamed to MASK_64BIT.
- 	(MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete.
- 	(EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG.
- 	(TARGET_SWITCHES): Always provide 64 bit options.
- 	(ARCH64_SWITCHES): Delete.
- 	(TARGET_OPTIONS): New option -mcmodel=.
- 	(INT_TYPE_SIZE): Always 32.
- 	(MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH.
- 	(INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_....
- 	(FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Add '_'.
- 	* sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by
- 	CPP_SPEC.
- 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- 	* sparc/linux.h: Likewise.
- 	* sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete.
- 	(ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC.
- 	(TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT.
- 	(SPARC_DEFAULT_CMODEL): Define.
- 	(CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- 	(LONG_DOUBLE_TYPE_SIZE): Define.
- 	(ASM_SPEC): Add %(asm_arch).
- 	* sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- 	(TARGET_CPU_DEFAULT): Add ultrasparc case.
- 	* sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete.
- 	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.
- 	(SPARC_DEFAULT_CMODEL): Define.
- 	* sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete.
- 	(TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT.  Delete
- 	MASK_LONG64, MASK_MEDANY.
- 	(SPARC_DEFAULT_CMODEL): Define.
- 	(CPP_PREDEFINES): Delete.
- 	(CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC.
- 	(ASM_SPEC): Add %(asm_arch).
- 	(LONG_DOUBLE_TYPE_SIZE): Define.
- 	(DWARF2_DEBUGGING_INFO): Define.
- 	* sparc/splet.h (CPP_SPEC): Delete.
- 	* sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC.
- 	(FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support.
- 	(BLOCK_PROFILER): Likewise.
- 	* sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals.
- 	(sparc_override_options): Handle code model selection.
- 	(sparc_init_expanders): Renamed from sparc64_init_expanders.
- 	* sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_....
- 	TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY.
- 	(sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_....
- 	(sethi_di_fullany): Delete.
- 
- Mon Oct 20 02:00:18 1997  Klaus Kaempf  <kkaempf@progis.de>
- 			  Jeff Law  <law@cygnus.com>
- 			  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case.
- 	(DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise.
- 	(MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise.
- 	(UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise.
- 	* alpha/alpha.md (arg_home): Likewise.
- 
- 	* alpha/alpha.c (vmskrunch): Delete.
- 	* alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete.
- 	* alpha.c (output_prolog, VMS): Use alloca for entry_label and don't
- 	truncate to 64 characters.
- 
- 	* make-l2.com: Support openVMS/Alpha.
- 
- 	* vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX.
- 
- Sun Oct 19 19:00:35 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* longlong.h (count_leading_zeros): Add missing casts to USItype.
- 
- Sun Oct 19 18:44:06 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/bsd386.h (ASM_COMMENT_START): Define.
- 
- Sat Oct 18 13:47:15 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (restore_tree_status): Also free up temporary storage
- 	when we finish a toplevel function.
- 	(dump_tree_statistics): Print stats for backend obstacks.
- 
- Sat Oct 18 12:47:31 1997  Doug Evans  <dje@canuck.cygnus.com>
- 
- 	* expr.c (use_group_regs): Don't call use_reg for MEMs.
- 
- Sat Oct 18 09:49:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (__throw): Don't copy the return address.
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address.
- 
- 	* except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized).
- 	* toplev.c (main): Initialize exceptions_via_longjmp.
- 
- 	* tree.c: Add extra_inline_obstacks.
- 	(save_tree_status): Use it.
- 	(restore_tree_status): If this is a toplevel inline obstack and we
- 	didn't want to save anything on it, recycle it.
- 	(print_inline_obstack_statistics): New fn.
- 	* function.c (pop_function_context_from): Pass context to
- 	restore_tree_status.
- 	* obstack.h (obstack_empty_p): New macro.
- 
- Sat Oct 18 00:43:59 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/freebsd.h (ASM_COMMENT_START): Fix.
- 
- Fri Oct 17 23:48:52 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* v850.c (ep_memory_offset): New function.
- 	(ep_memory_operand, substitute_ep_register, v850_reorg): Call it.
- 
- 	* v850.h (CONST_OK_FOR_*): Add and correct comments.
- 	(CONSTANT_ADDRESS_P): Add comment.
- 	(EXTRA_CONSTRAINT): Define 'U'.
- 	* v850.md: Add comments on bit field instructions.
- 	(addsi3): Delete &r/r/r alternative.  Add r/r/U alternative.
- 	(lshrsi3): Use N not J constraint.
- 
- 	* v850.md (v850_tst1+1): New define_split for tst1 instruction.
- 
- 	* v850.c (reg_or_0_operand): Call register_operand.
- 	(reg_or_int5_operand): Likewise.
- 	* v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros.
- 	(TARGET_SWITCHES): Add "big-switch".
- 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE,
- 	ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH.
- 	(CASE_DROPS_THROUGH): Comment out.
- 	(CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define.
- 	* v850.md (cmpsi): Delete compare mode.
- 	(casesi): New pattern.
- 
- 	* v850.h (CONST_OK_FOR_N): Delete redundant compare against zero.
- 	* v850.md (ashlsi3): Use SImode not QImode for shift count.
- 	(lshrsi3): Likewise.
- 
- 	* v850.c (print_operand): Add 'c', 'C', and 'z' support.  Delete
- 	unreachable switch statement after 'b' support.  Remove "b" from
- 	strings for 'b' support.
- 	* v850.md (branch_normal, branch_invert): Change %b to b%b.
- 
- Fri Oct 17 23:33:20 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an
- 	empty line if @inhibit_libc@ is empty.
- 
- Fri Oct 17 23:24:40 1997  Robert Lipe  (robertl@dgii.com)
- 
- 	* i386/sco5.h: Let ELF use dwarf2 unwinding.  COFF uses sjlj.
- 	(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined.
- 	(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
- 	(DWARF2_UNWIND_INFO): Let this track object file format.
- 	(EXTRA_SECTIONS): Add in_eh.
- 	(EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define.
- 	(EH_FRAME_SECTION_ASM_OP_COFF): Likewise.
- 
- Fri Oct 17 17:13:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	* sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2.
- 	* sparc/sparc.h (FUNCTION_PROFILER): Fix format string when
- 	TARGET_MEDANY.
- 	* sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed.
- 	(output_double_int): Output DI mode values correctly when
- 	HOST_BITS_PER_WIDE_INT is 64.
- 	(output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use
- 	fmovd so it works if a quad float ends up in one of the upper 32
- 	float regs.
- 	* sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns
- 	necessary for PIC support on sparc64.
- 
- Fri Oct 17 13:39:56 1997  Doug Evans  <dje@canuck.cygnus.com>
- 
- 	* sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS.
- 	* sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64.
- 	(PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define.
- 	(SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros.
- 	(SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros.
- 	(SPARC_FP_ARG_FIRST): New macro.
- 	(CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now.
- 	(REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs.
- 	(NPARM_REGS): There are 32 fp argument registers now.
- 	(FUNCTION_ARG_REGNO_P): Likewise.
- 	(FIRST_PARM_OFFSET): Update to new v9 abi.
- 	(REG_PARM_STACK_SPACE): Define for arch64.
- 	(enum sparc_arg_class): Delete.
- 	(sparc_arg_count,sparc_n_named_args): Delete.
- 	(struct sparc_args): Redefine and use for arch32 as well as arch64.
- 	(GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete.
- 	(FUNCTION_ARG_ADVANCE): Rewrite.
- 	(FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite.
- 	(FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite.
- 	(FUNCTION_ARG_CALLEE_COPIES): Delete.
- 	(FUNCTION_ARG_{PADDING,BOUNDARY}): Define.
- 	(STRICT_ARGUMENT_NAMING): Define.
- 	(doublemove_string): Declare.
- 	* sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete.
- 	(single_move_string): Use GEN_INT, and HOST_WIDE_INT.
- 	(doublemove_string): New function.
- 	(output_move_quad): Clean up some of the arch64 support.
- 	(compute_frame_size): Add REG_PARM_STACK_SPACE if arch64.
- 	Don't add 8 bytes of reserved space if arch64.
- 	(sparc_builtin_saveregs): Combine arch32/arch64 versions.
- 	(init_cumulative_args): New function.
- 	(function_arg_slotno): New static function.
- 	(function_arg,function_arg_partial_nregs): New functions.
- 	(function_arg_{pass_by_reference,advance}): New functions.
- 	(function_arg_padding): New function.
- 	* ginclude/va-sparc.h: Rewrite v9 support.
- 
- Fri Oct 17 12:29:48 1997  Christian Iseli  <Christian.Iseli@lslsun.epfl.ch>
- 
- 	* regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P
- 	for hard regs to determine base and index registers.
- 
- 	* reload.c (debug_reload_to_stream): New function.  Specify stream
- 	into which to write debug info.
- 	(debug_reload): Modify to call debug_reload_to_stream with stderr.
- 
- Thu Oct 16 15:07:51 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (can_combine_p): Don't combine with an asm whose
- 	output is a hard register.
- 
- Thu Oct 16 15:43:26 1997  Mike Stump  <mrs@wrs.com>
- 
- 	* c-decl.c (start_struct): Ensure that structs with forward
- 	declarations are in fact packed when -fpack-struct is given.
- 
- 	* stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if
- 	we are packing a structure.  This allows a structure with only
- 	bytes to be aligned on a byte boundary and have no padding on a
- 	m68k.
- 
- Thu Oct 16 15:17:54 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record.
- 
- Thu Oct 16 11:20:30 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_return_addr_rtx): New variable.
- 	(alpha_save_machine_status): New; save it.
- 	(alpha_restore_machine_status): New; restore it.
- 	(alpha_init_expanders): New; clear it.
- 	(alpha_return_addr): New; set it.
- 	(alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live
- 	is overly conservative, so search the insns explicitly.
- 	(alpha_sa_mask [VMS]): Check alpha_ra_ever_killed.
- 	(alpha_sa_size [VMS && !VMS]): Likewise.
- 	* alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr.
- 	(INIT_EXPANDERS): New definition.
- 
- 	* alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
- 	(output_prolog [!VMS]): Use them.
- 
- 	* alpha.c (output_prolog [!VMS]): Move gp detection to ...
- 	(alpha_does_function_need_gp): ... a new function.  Refine the
- 	CALL_INSN test to just TYPE_JSR.
- 	* alpha.md (most call insns): Fix some jsr/ibr type transpositions.
- 
- Thu Oct 16 09:36:47 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Wed Oct 15 21:38:18 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* pa.c (move_operand): Respect -mdisable-indexing.
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
- 
- Wed Oct 15 21:34:45 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
- 	PPC601.
- 	(umulsidi3,umulsi3_highpart): Likewise.
- 	(smulsi3_highpart_no_mq): Add !TARGET_POWER.
- 
- Wed Oct 15 18:21:46 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (final_prescan_insn): Gut, remove and transform to ...
- 	(alpha_handle_trap_shadows): ... a new function.  Handle the entire
- 	function in one go.  Emit RTL for trapb, instead of printf directly.
- 	(alpha_reorg): New function.  Call alpha_handle_trap_shadows.
- 	(trap_pending): Kill global variable.
- 	(output_epilog): Don't call final_prescan_insn.
- 	(struct shadow_summary): Elide $31 and $f31; now it fits in a word.
- 	* alpha.h (FINAL_PRESCAN_INSN): Remove.
- 	(MACHINE_DEPENDENT_REORG): Define.
- 	* alpha.md (jsr patterns with trapb): Stupid and useless.  Kill.
- 	(trapb): New insn.
- 
- Wed Oct 15 18:16:05 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	Tune Haifa scheduler for Alpha:
- 	* alpha.h (ISSUE_RATE): Define.
- 	* alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply
- 	EV4 adjustments to EV5.
- 	* alpha.md: Remove all scaling from function unit delays.  Rework
- 	EV5 function units to match the CPU.
- 	(umuldi3_highpart): EV5 added the IMULH insn class.
- 
- Wed Oct 15 17:42:41 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (following_call): Fail if the CALL_INSN is an indirect
- 	call.
- 
- Tue Oct 14 12:01:00 1997  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* cplus-dem.c (demangle_signature): Don't look for return types on
- 	constructors.  Handle member template constructors.
- 
- Tue Oct 14 11:30:29 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
- 	* tree.h: Declare them.
- 
- Fri Oct 10 13:46:56 1997  Doug Evans  <dje@canuck.cygnus.com>
- 
- 	* configure.in: Handle --with-newlib.
- 	* Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
- 
- 	* sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
- 
- Wed Oct  8 14:37:44 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/ptx4.h: Fix typo.
- 
- Wed Oct  8 08:57:20 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Oct  7 16:27:34 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* aclocal.m4: Substitute INSTALL.
- 	* configure: Re-built.
- 
- Tue Oct  7 15:37:35 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* integrate.c (save_for_inline_copying): Avoid undefined pointer
- 	operations.
- 	(expand_inline_function): Likewise.
- 
- 	* dwarf2out.c (output_call_frame_info): Reinstate last change
- 	using flag_debug_asm check instead of flag_verbose_asm.
- 
- Tue Oct  7 12:57:26 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Remove last change.
- 
- 1997-10-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* frame.c (__frame_state_for): Execute the FDE insns until the
- 	current pc value is strictly bigger than the target pc value.
- 
- Tue Oct  7 11:00:42 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* regclass.c (init_reg_modes): If we can't find a mode for the
- 	register, use the previous one.
- 
- Tue Oct  7 10:55:34 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (print_block_visualization): Call fprintf directly,
- 	don't sprintf through an alloca'ed buffer.
- 
- Tue Oct  7 10:52:29 1997  Thomas Koenig  (ig25@rz.uni-karlsruhe.de)
- 
- 	* reload.c (decompose): Always initialize val.base.
- 
- Tue Oct  7 10:19:26 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
- 
- 	* m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment
- 	instead of aborting.
- 	* dwarf2out.c (output_call_frame_info): Call app_enable and
- 	app_disable to let GNU as accept the generated comments.
- 
- Tue Oct  7 11:41:21 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* tree.h (get_file_function_name): Add declaration.
- 	* dwarf2out.c (output_call_frame_info): No need to cast
- 	get_file_function_name call anymore.
- 	* profile.c (toplevel): Remove get_file_function_name
- 	declaration.
- 	* c-lang.c (finish_file): Likewise.
- 
- Tue Oct  7 10:01:45 1997  Chip Salzenberg  <chip@rio.atlantic.net>
- 
- 	* Makefile.in (program_transform_name): Let autoconf substitute
- 	the correct value.
- 
- Tue Oct  7 09:54:35 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (schedule_block): If the first real insn in a
- 	block has any special notes attached to it, remove them.
- 
- Tue Oct  7 09:48:51 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
- 
- Mon Oct  6 12:47:32 1997  Manfred Hollstein  (manfred@lts.sel.alcatel.de)
- 
- 	* m88k.c (m88k_begin_prologue): Remove superfluous backslash.
- 
- Mon Oct  6 12:04:24 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (check-g77): New test target.
- 	(CHECK-TARGETS): Add check-g77.
- 
- Fri Oct  3 11:56:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Defer all non-nested inlines.
- 
- Fri Oct  3 15:49:27 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* flow.c (print_rtl_with_bb): Cast alloca return value for
- 	in_bb_p.
- 
- Thu Oct  2 21:15:03 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (RETURN_ADDR_RTX): New definition that works for
- 	__builtin_return_address(0) and -fomit-frame-pointer.
- 
- Wed Oct  1 13:43:53 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	Bring over from FSF.
- 	Tue Aug  5 16:10:45 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* mips.c (function_arg): Handle passing a struct
- 	containing a double in a DFmode register without the PARALLEL.
- 
- Wed Oct  1 11:13:25 1997  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* pexecute.c: Use spawn if __CYGWIN32__.
- 
- 	* pexecute.c: Include "config.h" first, as per autoconf manual
- 	(from Paul Eggert  <eggert@twinsun.com>).
- 
- Wed Oct  1 01:44:36 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
- 
- 	* m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
- 	optimization for f/expr.o and f/stb.o.
- 
- Tue Sep 30 23:48:57 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (this_insn_cc0_mode): Initialize.
- 
- Tue Sep 30 23:09:40 1997  Thomas Koenig  <ig25@mvmap66.ciw.uni-karlsruhe.de>
- 
- 	* cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
- 
- 	* haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
- 
- Tue Sep 30 23:06:43 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since
- 	that pair will dual-issue on the 21164 and plus+beq won't.
- 	(bne): Likewise for cmpeq+beq.
- 
- Tue Sep 30 16:07:58 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* except.c (find_exception_handler_labels): Correct argument to free.
- 
- Tue Sep 30 11:00:00 1997  Brendan Kehoe  <brendan@lisa.cygnus.com>
- 
- 	* except.c (find_exception_handler_labels): Free LABELS when we're
- 	done.
- 
- Mon Sep 29 14:04:35 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 29 10:51:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Mark calls as potentially jumping
- 	to the EH labels.
- 
- Mon Sep 29 09:58:06 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Substitute for "install" too.
- 	* configure: Rebuilt.
- 
- Mon Sep 29 00:38:42 1997  Aaron Jackson  <jackson@negril.msrce.howard.edu>
- 
- 	* Makefile.in (bootstrap-lean, compare-lean): New targets.
- 
- Mon Sep 29 00:18:16 1997  Richard Henderson  (rth@cygnus.com)
- 
- 	* alias.c (base_alias_check): Two symbols can conflict if they
- 	are accessed via AND.
- 	(memrefs_conflict_p): Likewise.
- 
- 	* alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
- 	after flushing argument registers to the stack.
- 
- 	* Makefile.in (mostlyclean): Remove .regmove files.
- 
- Sun Sep 28 18:59:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (__throw): Fix thinko.
- 
- Sun Sep 28 12:00:52 1997  Mark Mitchell  <mmitchell@usa.net>
- 
- 	* cplus-dem.c (demangle_template): Add new parameter.  Handle new
- 	template-function mangling.
- 	(consume_count_with_underscores): New function.
- 	(demangle_signature): Handle new name-mangling scheme.
- 
- Sun Sep 28 01:55:04 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
- 
- 	* flow.c (print_rtl_with_bb): Cast alloca return values for variables
- 	start and end.
- 
- Sun Sep 28 01:05:16 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* frame.c: Remove last change.
- 	* dwarf2.h: Remove last change.
- 	* tree.h: Add declarations of DWARF2 unwind info support
- 	functions.
- 
- Sat Sep 27 11:02:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size.
- 	* tree.h (built_in_function): Likewise.
- 	* expr.c (expand_builtin): Likewise.
- 	* except.h: Likewise.
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): New fn.
- 	* libgcc2.c (copy_reg): New fn.
- 	(__throw): Use it.
- 
- Fri Sep 26 08:54:59 1997  Paul Eggert  <eggert@twinsun.com>
- 
- 	* c-typeck.c (build_binary_op): Warn about comparing signed vs
- 	unsigned if -W is specified and -Wno-sign-compare is not.
- 	* c-decl.c (warn_sign_compare): Initialize to -1.
- 	(c_decode_option): -Wall no longer implies -Wsign-compare.
- 
- Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* frame.c: Include gansidecl.h for PROTO.
- 	* dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is
- 	defined.  Don't declare dwarf2out_cfi_label here.
- 	* dwarf2.h: Add declarations of DWARF2 unwind info support
- 	functions.
- 	* m68k.c: Include dwarf2.h.
- 	(output_function_prologue): Add dwarf2 support.
- 	* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros.
- 	(INCOMING_FRAME_SP_OFFSET): Likewise.
- 
- 	* integrate.c (expand_inline_function): Make sure there is at
- 	least one insn that can be used as an insertion point.
- 
- Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
- 
- Wed Sep 24 22:05:30 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Wed Sep 24 17:36:23 1997  Doug Evans  <dje@canuck.cygnus.com>
- 
- 	Bring over from FSF.
- 
- 	Wed Sep 24 19:17:08 1997  Doug Evans  <dje@cygnus.com>
- 
- 	* sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32.
- 	(get_pc_via_rdpc): Renamed from get_pc_sp64.
- 	* sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call.
- 
- 	Wed Sep 24 18:38:22 1997  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	* sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc.
- 	(TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=,
- 	-malign-functions=.
- 	(sparc_align_{loops,jumps,funcs}_string): Declare.
- 	(sparc_align_{loops,jumps,funcs}): Declare.
- 	(DEFAULT_SPARC_ALIGN_FUNCS): New macro.
- 	(FUNCTION_BOUNDARY): Use sparc_align_funcs.
- 	(STACK_BIAS): Define.
- 	(SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform
- 	test.
- 	(SPARC_SETHI_P): New macro.
- 	(CONST_OK_FOR_LETTER_P): Use it.
- 	(ASM_OUTPUT_ALIGN_CODE): Define.
- 	(ASM_OUTPUT_LOOP_ALIGN): Define.
- 	* sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals.
- 	(sparc_align_{loops,jumps,funcs}): New globals.
- 	(sparc_override_options): Handle -malign-loops=, -malign-jumps=,
- 	-malign-functions=.
- 	(move_operand): Use SPARC_SETHI_P.
- 	(arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then
- 	perform test.
- 	(arith11_double_operand): Likewise.
- 	(arith10_double_operand): Likewise.
- 	(finalize_pic): Finish sparc64 support.
- 	(emit_move_sequence): Use SPARC_SETHI_P.  Simplify low part of
- 	64 bit constants if able.
- 	(output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD.
- 	(sparc_builtin_saveregs, sparc64 case): Don't save fp regs if
- 	! TARGET_FPU.
- 	* sparc/sparc.md (*): Use GEN_INT instead of gen_rtx.
- 	(get_pc_sp32): Use for sparc64 as well.
- 	(lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts.
- 	(sethi_di_sp64_const): Likewise.
- 	(movtf_cc_sp64): Check TARGET_HARD_QUAD.
- 	(cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast.
- 	(ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise.
- 
- 	Tue Sep 23 19:02:46 1997  Doug Evans  <dje@cygnus.com>
- 
- 	* sparc/linux-aout.h (COMMENT_BEGIN): Delete.
- 	* sparc/linux.h (COMMENT_BEGIN): Likewise.
- 	* sparc/linux64.h (COMMENT_BEGIN): Likewise.
- 
- 	Tue Sep 23 14:48:18 1997  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	Add sparc64 linux support.
- 	* configure.in (sparc64-*-linux*): Recognize.  Add sparc/xm-sparc.h
- 	to xm_file list on 32-bit sparc-linux.
- 	* sparc/xm-sp64.h: New file.
- 	* sparc/linux64.h: New file.
- 	* sparc/xm-linux.h: Include some standard headers if not inhibit_libc.
- 	Don't include xm-sparc.h.
- 	* config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define.
- 	* glimits.h (LONG_MAX): Handle sparc64.
- 
- 	Sat Sep 20 03:07:54 1997  Doug Evans  <dje@cygnus.com>
- 
- 	* sparc/sysv4.h (ASM_COMMENT_START): Delete.
- 	* sparc.h (ASM_COMMENT_START): Define.
- 	* sparc.c (output_function_prologue): Use it.
- 	(sparc_flat_output_function_{epi,pro}logue): Likewise.
- 
- 	Wed Sep 17 15:04:19 1997  Doug Evans  <dje@cygnus.com>
- 
- 	* sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete,
- 	use sparc.h's copies.
- 	* sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print
- 	ascii form as well.
- 
- 	Mon Sep  8 08:45:19 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sparc.c (dwarf2out_cfi_label): Add declaration.
- 	(save_regs, output_function_prologue): Remove cast for it.
- 	(sparc_flat_{save_restore,output_function_prologue): Likewise.
- 	({save,restore}_regs): No longer inline.
- 
- Tue Sep 23 12:34:51 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (make_range): Correctly handle cases of converting
- 	from unsigned to signed type.
- 
- Tue Sep 23 12:34:51 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* fold-const.c (merge_ranges): Make sure that if one range is subset
- 	of another, it will always be the second range.  Correct (+,-) case to
- 	account for this.
- 
- Tue Sep 23 08:32:51 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* final.c (final_end_function): Also do dwarf2 thing if
- 	DWARF2_DEBUGGING_INFO.
- 	(final_start_function): Likewise.
- 
- Tue Sep 23 01:15:50 1997  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	* expmed.c (expand_divmod): If compute_mode is not the same as
- 	mode, handle the case where convert_modes() causes op1 to no
- 	longer be a CONST_INT.
- 
- 	* reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED
- 	note holding get_jump_flags() calculation to all JUMP_INSNs.
- 	* rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA.
- 	* rtl.c (reg_note_name): Add new note types.
- 
- Tue Sep 23 00:59:54 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtlanal.c (computed_jump_p): Fix typo in last change.
- 
- Tue Sep 23 00:42:44 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* loop.c (indirect_jump_in_function_p): Return 0
- 	by default.
- 
- Tue Sep 23 00:33:55 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000/xm-rs6000.h: Fix thinko in last change.
- 	* rs6000/xm-sysv4.h: Likewise.
- 
- Mon Sep 22 19:33:53 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
- 
- Mon Sep 22 14:41:00 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reg-stack.c (find_blocks): Fix thinko in last change.
- 
- 1997-09-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* m68k.c (output_function_prologue): Add dwarf2 support.
- 
- 	* m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
- 	INCOMING_FRAME_SP_OFFSET): New definitions.
- 
- Mon Sep 22 11:36:42 1997  David S. Miller  <davem@tanya.rutgers.edu>
- 
- 	* combine.c (try_combine): Use NULL_RTX instead of '0' where
- 	appropriate in calls to gen_rtx().
- 	* cse.c (cse_main): Likewise.
- 	* emit-rtl.c (gen_label_rtx): Likewise.
- 	* expr.c (init_expr_once): Likewise.
- 	* haifa-sched.c (flush_pending_lists, sched_analyze_insn,
- 	sched_analyze, init_rgn_data_dependences,
- 	compute_block_backward_dependences): Likewise.
- 	* sched.c (schedule_insns): Likewise.
- 	* varasm.c (immed_double_const): Likewise.
- 
- 	* sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
- 	SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
- 
- Mon Sep 22 11:21:33 1997  J. Kean Johnston  <jkj@sco.com>
- 
- 	* i386/sco5.h: Make ELF default file format and add -mcoff/-melf..
- 	(MULTILIB_DEFAULTS): Define.
- 	(ASM_SPEC, CPP_SPEC): Handle -mcoff.
- 	(STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise.
- 	(LIBGCC_SPEC): Likewise.
- 	(MASK_COFF, TARGET_COFF, TARGET_ELF): Define.
- 	(SUBTARGET_SWITCHES): Add -mcoff and -melf.
- 	* i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC.
- 	(CRTSTUFF_T_CFLAGS_S): Tweak for COFF.
- 	(EXTRA_PARTS, TAROUTOPTS): Delete.
- 	(libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete.
- 	(MULTILIB_OPTIONS): Define.
- 	(MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise.
- 	(MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise.
- 
- Mon Sep 22 02:10:43 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Sep 21 17:45:45 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (loop_number): Delete function.  Change all references
- 	to use uid_loop_num array.
- 	* loop.h (loop_number): Delete declaration.
- 	* unroll.c (unroll_loop): Change "loop_number" references to
- 	use uid_loop_num instead.
- 
- 	* loop.c (loop_unroll_factor): Move outside #ifdef HAIFA
- 	conditional.
- 	(loop_unroll_iter): Remove unused variable and all references.
- 	(loop_optimize): Always allocate and clear space for loop_unroll_factor.
- 	(insert_bct): Fix minor formatting problems.
- 	* loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA.
- 	(loop_unroll_iter): Removed unused decl.
- 	* unroll.c (unroll_loop): Remove code to set loop_unroll_iter.
- 	Always record the unrolling factor.
- 
- 	* cse.c (simplify_relational_operation): Set h0u just like h0s.
- 	Similarly for h1u and h1s.
- 
- 	* flow.c (jmp_uses_reg_or_mem): Deleted unused function.
- 	(find_basic_blocks): Use computed_jump_p to determine if a
- 	particular JUMP_INSN is a computed jump.
- 	* reg-stack.c (find_blocks): Use computed_jump_p to determine
- 	if a particular JUMP_INSN is a computed jump.
- 	* rtlanal.c (jmp_uses_reg_or_mem): New function.
- 	(computed_jump_p): Likewise.
- 	* rtl.h (computed_jump_p): Declare.
- 	* genattrtab.c (pc_rtx): Define and initialize.
- 	* loop.c (loop_optimize): Always determine if the current
- 	function has a computed jump.
- 	(indirect_jump_in_function_p): Use computed_jump_p to determine
- 	if a particular JUMP_INSN is a computed jump.
- 
- 	* loop.c (fix_bct_param): Delete unused function.
- 	(check_bct_param): Likewise.
- 
- Sat Sep 20 16:22:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* frame.c (__deregister_frame): Check properly for initialized object.
- 
- Fri Sep 19 20:51:03 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
- 
- Fri Sep 19 18:53:50 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* jump.c (thread_jumps): Check can_reverse_comparison_p before
- 	threading a reversed-condition jump.
- 
- 	* sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
- 	* haifa-sched.c (update_flow_info): Likewise.
- 
- Thu Sep 18 21:13:40 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (BOOT_CFLAGS): Use -O2.
- 
- 	* configure.in (strtoul, bsearch): Have autoconf check for these
- 	functions.
- 	* configure, config.in: Rebuilt.
- 
- 	* m68k/xm-mot3300.h (alloca): Properly declare if __STDC__.
- 	* mips/mips.h (alloca): Likewise.
- 	* rs6000/xm-rs6000.h (alloca): Likewise.
- 	* rs6000/xm-sysv4.h: Likewise.
- 
- Thu Sep 18 14:22:22 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code.
- 	* dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along.
- 	(dwarf2out_stack_adjust): A BARRIER resets the args space to 0.
- 
- 	* except.c (end_eh_unwinder): Subtract 1 from return address.
- 	* libgcc2.c (__throw): Likewise.
- 	(find_exception_handler): Don't change PC here.  Compare end with >.
- 
- Thu Sep 18 10:43:07 1997  Nick Clifton  <nickc@cygnus.com>
- 
- 	* v850.c (compute_register_save_size): Correct register
- 	number.
- 	* v850.md (save_interrupt, return_interrupt): Correct
- 	register number.
- 	* v850/lib1funcs.asm (save_interrupt): Correct register number.
- 	(return_interrupt): Use stack pointer, not element pointer.
- 
- 1997-09-18  Brendan Kehoe  <brendan@lisa.cygnus.com>
- 
- 	* configure.in, configure: Make sure to create the stage* and include
- 	symbolic links in each subdirectory.
- 
- Thu Sep 18 01:47:06 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (reload_peepholes): Don't allow addresses with side
- 	effects for the memory operand.
- 
- Wed Sep 17 18:19:53 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (find_exception_handler): Subtract one from our PC when
- 	looking for a handler, to avoid hitting the beginning of the next
- 	region.
- 
- 	* except.c (expand_builtin_set_return_addr_reg): Use force_operand.
- 
- Wed Sep 17 18:33:59 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips/abi64.h (LONG_MAX_SPEC): Define.
- 	* mips.h (LONG_MAX_SPEC): Define.
- 	(CPP_SPEC): Include long_max_spec.
- 	(EXTRA_SPECS): Include long_max_spec.
- 
- Wed Sep 17 14:11:38 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* v850.c (construct_save_jarl): Fix thinko in last change.
- 
- Wed Sep 17 09:53:07 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Sep 16 14:22:36 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (find_exception_handler): Not found is -1.
- 
- 	* integrate.c (expand_inline_function): Move expand_start_bindings
- 	after expanding the arguments.
- 
- Tue Sep 16 11:13:46 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (expand_expr): Remove previous incorrect change.
- 	If target and slot has no DECL_RTL, then call mark_addressable
- 	again for the slot after we give it RTL.
- 
- Tue Sep 16 09:18:52 1997  Jason Merrill  (jason@cygnus.com)
- 
- 	* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
- 	again for the slot after we give it RTL.
- 
- Tue Sep 16 00:13:20 1997  Nick Clifton  <nickc@cygnus.com>
- 
- 	* v850.c (register_is_ok_for_epilogue,
- 	pattern_is_ok_for_epilogue, construct_restore_jr,
- 	pattern_is_ok_for_prologue, construct_save_jarl): New functions.
- 
- 	* v850.h (pattern_is_ok_for_prologue,
- 	pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
- 	predicates.
- 
- 	* v850.md: Replace prologue and epilogue patterns with a
- 	match_parallel pattern.
- 
- Mon Sep 15 22:53:01 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* aclocal.m4: Add replacement for AC_PROG_INSTALL.
- 	* configure.in: Use EGCS_PROG_INSTALL.
- 
- Mon Sep 15 22:40:55 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* dwarf2out.c (gen_subprogram_die): Handle redefinition of an
- 	extern inline function.
- 
- Mon Sep 15 22:40:55 1997  Richard Henderson  (rth@cygnus.com)
- 
- 	* dwarf2out.c (reg_loc_descriptor): Fix prototype.
- 	(concat_loc_descriptor): New function.
- 	(loc_descriptor): Call it.
- 	(add_AT_location_description): Also elide the descriptor if both
- 	halves of a CONCAT are pseudos.
- 	(add_location_or_const_value_attribute): Recognize CONCAT too.
- 
- Mon Sep 15 15:24:00 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS.
- 
- 	* alpha/alpha.c (output_prolog): New variable sa_reg.  Use it for
- 	out-or-range reg_offset.
- 	(output_epilog): Likewise.
- 
- Mon Sep 15 15:39:26 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (simplify_relational_operation): If MODE specifies a
- 	mode wider than HOST_WIDE_INT, then the high word of a CONST_INT
- 	is derived from the sign bit of the low word.
- 
- Mon Sep 15 11:43:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86.
- 
- 	* dwarf2.h: Add DW_CFA_GNU_args_size.
- 	* frame.c (execute_cfa_insn): Likewise.
- 	* dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise.
- 	(dwarf2out_args_size, dwarf2out_stack_adjust): New fns.
- 	(dwarf2out_frame_debug): If this isn't a prologue or epilogue
- 	insn, hand it off to dwarf2out_stack_adjust.
- 	(dwarf2out_begin_prologue): Initialize args_size.
- 	* frame.h (struct frame_state): Add args_size.
- 	* libgcc2.c (__throw): Use args_size.
- 	* final.c (final_scan_insn): If we push args, hand off all insns
- 	to dwarf2out_frame_debug.
- 	* defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS.
- 
- 	* dwarf2out.c dwarf2out_frame_debug): Fix typo.
- 	Handle epilogue restore of SP from FP.
- 	* emit-rtl.c (gen_sequence): Still generate a sequence if the
- 	lone insn has RTX_FRAME_RELATED_P set.
- 
- 	* frame.c (extract_cie_info): Handle "e" augmentation.
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the
- 	absence of UNALIGNED_*_ASM_OP.
- 	(UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF.
- 	(output_call_frame_info): Use "e" instead of "z" for augmentation.
- 	Don't emit augmentation fields length.
- 	(dwarf2out_do_frame): Move outside of #ifdefs.
- 	* defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data
- 	opcodes.
- 
- 	* sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all.
- 	* sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here.
- 	* sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0.
- 	* sparc/sun4gas.h: New file.
- 	* configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as.
- 
- 	* collect2.c (write_c_file_stat, write_c_file_glob): Declare
- 	__register_frame_table and __deregister_frame.
- 
- 1997-09-15  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* except.c (find_exception_handler_labels): Use xmalloc instead of
- 	alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million
- 	in some cases.
- 
- Sun Sep 14 21:01:23 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in: Various changes to build info files
- 	in the object tree rather than the source tree.
- 
- Sun Sep 14 12:24:30 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc.math: New file to fix math.h on some systems.
- 	* configure.in (freebsd, netbsd): Use fixinc.math on these
- 	systems.
- 	* configure: Rebuilt.
- 
- Sun Sep 14 11:11:05 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regmove.c (regmove_optimize): If we end up moving the
- 	original insn due to lifetime overlaps, make sure to move
- 	REG_NOTES too.
- 
- Sat Sep 13 15:51:11 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure.
- 
- Sat Sep 13 12:57:26 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (add_branch_dependences): Make each insn in
- 	a SCHED_GROUP_P block explicitly depend on the previous insn.
- 
- Fri Sep 12 13:49:58 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.h: Prototype dwarf2 hooks.
- 	* expr.c: Adjust.
- 
- Thu Sep 11 17:43:55 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (native_prefix): Delete.
- 	(mips-dec-netbsd): Don't set prefix.
- 	(*linux*): Don't set prefix.
- 
- Thu Sep 11 15:48:32 1997  Fred Fish  <fnf@ninemoons.com>
- 
- 	* protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is
- 	defined.  If not defined, include <sys/varargs.h> if
- 	HAVE_SYS_VARARGS_H is defined.
- 	* configure.in: Test for varargs.h and sys/varargs.h.
- 	* configure: Regenerate with autoconf.
- 	* config.in: Regenerate with autoheader.
- 
- 	* cpplib.c (quote_string): Cast first arg of sprintf call
- 	from "unsigned char *" to "char *".
- 	(output_line_command): Likewise.
- 	(macroexpand): Likewise.
- 	(do_line): Cast atoi arg from "unsigned char *" to "char *".
- 
- Wed Sep 10 21:37:30 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 	* Makefile.in (compare): Exit with nonzero status if there
- 	are comparison failures.  Note which files failed the
- 	comparison test in .bad_compare.
- 
- Wed Sep 10 17:05:46 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__.
- 
- Wed Sep 10 16:37:28 1997  Fred Fish  <fnf@ninemoons.com>
- 
- 	* Makefile.in (LN, LN_S): New macros, use where appropriate.
- 	* aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests.
- 	* configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN.
- 	* configure: Regenerated.
- 
- Thu Sep 11 11:09:43 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (strength_reduce): Fix typo.
- 
- Wed Sep 10 16:01:15 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m88k/m88k.c (struct option): Rename to struct options.
- 	* m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here.
- 	* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments.
- 	* libgcc2.c (__enable_execute_stack): Check for __sysV88__ not
- 	__DOLPHIN__ or sysV88.
- 
- Wed Sep 10 14:58:40 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when
- 	create new subreg.
- 
- Wed Sep 10 15:19:22 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config.sub: Accept 'amigados' for backward compatibility.
- 
- Wed Sep 10 14:05:08 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* Makefile.in (testsuite/site.exp): New target.
- 	(check-gcc, check-g++): Depend on testsuite/site.exp.
- 	Don't stop for failure.
- 
- Wed Sep 10 12:59:57 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum()
- 	if DWARF2_UNWIND_INFO.
- 
- Wed Sep 10 11:49:20 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	Add support for exception handling using DWARF 2 frame unwind info.
- 	Currently works on SPARC and MIPS, and almost on x86.
- 
- 	* libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr,
- 	next_stack_level, in_reg_window): Helper fns.
- 	(__throw): Implement for DWARF2_UNWIND_INFO.
- 
- 	* expr.c (expand_builtin): Handle builtins used by __throw.
- 	* tree.h (enum built_in_function): Add builtins used by __throw.
- 	* c-decl.c (init_decl_processing): Declare builtins used by __throw.
- 	* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw.
- 	* except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw.
- 	(expand_builtin_extract_return_addr): Likewise.
- 	(expand_builtin_frob_return_addr): Likewise.
- 	(expand_builtin_set_return_addr_reg): Likewise.
- 	(expand_builtin_eh_stub): Likewise.
- 	(expand_builtin_set_eh_regs): Likewise.
- 	(eh_regs): Choose two call-clobbered registers for passing back values.
- 
- 	* frame.c, frame.h: New files for parsing dwarf 2 frame info.
- 	* Makefile.in (LIB2ADD): New variable.  Add $(srcdir)/frame.c.
- 	(libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS)
- 	(stmp-multilib): Likewise.
- 	($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions.
- 
- 	* except.c: #include "defaults.h".
- 	(exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO.
- 	(emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO.
- 	(register_exception_table_p): New fn.
- 	(start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO.
- 	(end_eh_unwinder): Likewise.
- 
- 	* crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP,
- 	call __register_frame and __deregister_frame as needed.
- 	* varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP.
- 	* dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro.  Check
- 	EH_FRAME_SECTION_ASM_OP.
- 	* sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define.
- 	* mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Define.
- 	(LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols.
- 
- 	* dwarf2out.c (output_call_frame_info): If no support for
- 	EXCEPTION_SECTION, mark the start of the frame info with a
- 	collectible tag.
- 	* collect2.c (frame_tables): New list.
- 	(is_ctor_dtor): Recognize frame entries.
- 	(scan_prog_file): Likewise.
- 	(main): Pass -fno-exceptions to sub-compile.  Also do collection
- 	if there are any frame entries.
- 	(write_c_file_stat): Call __register_frame_table and
- 	__deregister_frame as needed.
- 	(write_c_file_glob): Likewise.
- 
- 	* defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported.
- 	Also require unaligned reloc support.
- 	* sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Define here.
- 	* sparc/sysv4.h: Not here.
- 
- 	* toplev.c (compile_file): Call dwarf2out_frame_{init,finish}.
- 	* dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init.
- 	(dwarf2out_finish): Don't call dwarf2out_frame_finish.
- 
- 	* libgcc2.c (L_eh): Reorganize, moving code shared by different
- 	EH implementations to the top.
- 	(find_exception_handler): Split out.  Start from 0.  Compare against
- 	end with >=.
- 	(__find_first_exception_table_match): Use it.
- 	* except.c (output_exception_table): Don't do anything if there's
- 	no table.  Don't output a first entry of zeroes.
- 	(eh_outer_context): Adjust properly.
- 	(add_eh_table_entry): Use xrealloc.
- 	* toplev.c (compile_file): Just call output_exception_table.
- 
- Wed Sep 10 11:30:36 1997  Jason Merrill  <jason@cygnus.com>
- 
- 	* i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case.
- 
- Wed Sep 10 08:17:10 1997  Torbjorn Granlund  <tege@pdc.kth..se>
- 
- 	* except.c (eh_outer_context): Do masking using expand_and.
- 
- Wed Sep 10 01:38:30 1997  Doug Evans  <dje@cygnus.com>
- 
- 	Add port done awhile ago for the ARC cpu.
- 	* arc/arc.h: New file.
- 	* arc/arc.c: New file.
- 	* arc/arc.md: New file.
- 	* arc/initfini.c: New file.
- 	* arc/lib1funcs.asm: New file.
- 	* arc/t-arc: New file.
- 	* arc/xm-arc.h: New file.
- 	* ginclude/va-arc.h: New file.
- 	* ginclude/stdarg.h: Include va-arc.h ifdef __arc__.
- 	* ginclude/varargs.h: Likewise.
- 	* Makefile.in (USER_H): Add va-arc.h.
- 	* configure.in (arc-*-elf*): Recognize.
- 	* longlong.h: Add ARC support.
- 
- Wed Sep 10 01:32:54 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx.
- 	when clearing non-BLKmode data.
- 
- Wed Sep 10 00:29:29 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Define.
- 	* libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
- 
- 	* xm-m88k.h (USG): Only define if it hasn't already been defined.
- 
- 	* Makefile.in (risky-stage1): Delete gratuitous whitespace.
- 
- 	* Makefile.in (clean): Delete libgcc1-test.
- 
- 	* Makefile.in (INSTALL): cd to $(srcdir) before running texinfo.
- 
- Tue Sep  9 17:07:36 1997  Stan Cox  <coxs@dg-rtp.dg.com>
- 
- 	* m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list
- 	template.
- 
- Tue Sep  9 09:50:02 1997  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (output_call_frame_info): Call named_section.
- 
- Tue Sep  9 09:12:17 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (print_value): Fix last change.
- 
- Tue Sep  9 01:30:37 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of
- 	write_symbols.
- 
- Mon Sep  8 16:32:43 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* mips.c (function_prologue): Set up the CFA when ABI_32.
- 
- 	* sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG
- 	for dwarf2 unwind info.
- 	(output_function_prologue, sparc_flat_output_function_prologue): Same.
- 
- 	* final.c (final_end_function): Check dwarf2out_do_frame instead
- 	of DWARF2_DEBUG for dwarf2 unwind info.
- 	(final_scan_insn): Likewise.
- 	(final_start_function): Likewise.  Initialize dwarf2 frame debug here.
- 	(final): Not here.
- 
- 	* expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if
- 	count > 0.
- 
- 	* varasm.c (exception_section): Check EXCEPTION_SECTION first.
- 
- Mon Sep  8 15:15:11 1997  Nick Clifton  <nickc@cygnus.com>
- 
- 	* v850.h (ASM_SPEC): Pass on target processor.
- 	(CPP_PREDEFINES): Only define if not already specified.
- 	(TARGET_VERSION): Only define if not already specified.
- 	(MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target
- 	processor.
- 	(EXTRA_SWITCHES): Extra entries in the switches array.
- 	(TARGET_DEFAULT): Set default target processor.
- 
- Mon Sep  8 18:26:35 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA
- 	cases, add %# and %/, and add : to make them into extended asms.
- 
- Sun Sep  7 23:57:50 1997  Weiwen Liu  <liu@hepunix.physics.yale.edu>
- 
- 	* alias.c (init_alias_analysis): Clean up incompatible pointer
- 	type warning in bzero.
- 	* regmove.c (regmove_optimize): Likewise.
- 	* haifa-sched.c (find_rgns): Likewise.
- 
- 	* haifa-sched.c (print_value): Clean up ptr->int cast
- 	warnings.
- 
- Sun Sep  7 23:18:32 1997  Fred Fish  <fnf@ninemoons.com>
- 
- 	* INSTALL: Change 'amigados' to 'amigaos' to match current usage.
- 	* install.texi (Configurations): Likewise.
- 	* config.sub: Likewise.
- 
- Sun Sep  7 22:56:56 1997  Weiwen Liu  (liu@hepvms.physics.yale.edu)
- 
- 	* Makefile.in (sdbout.o): Depend on insn-config.h.
- 
- Sun Sep  7 18:44:50 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881.
- 	For 68303, 68332, cpu32, subtract MASK_68040_ONLY.
- 
- Sun Sep  7 18:30:46 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL
- 	prologue insn, only the first elt is significant.
- 	(output_call_frame_info): For exception handling, always use 4-byte
- 	fields as specified by the dwarf2 spec.
- 	Don't skip trivial FDEs.
- 
- Sun Sep  7 14:19:39 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Sep  7 14:17:36 1997  Torbjorn Granlund  (tege@pdc.kth.se)
- 
- 	* expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp
- 	for negative constants.  Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR
- 	when op1_is_pow2.
- 
- Sun Sep  7 13:46:46 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* final.c (shorten_branches): During first pass, assume worst
- 	possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns.
- 
- 	* Makefile.in (distclean): Remove various things left around
- 	by running the testsuite.
- 
- Sun Sep  7 13:16:06 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* configure.in (out_file): Emit definition to config.status in order
- 	to have a defined value for configure.lang.
- 	* configure: Re-built.
- 
- Sun Sep  7 09:59:08 1997  Jan-Jaap van der Heijden  (J.J.vanderHeijden@student.utwente.nl)
- 
- 	* configure.in: Make symlink to as-new rather than as.new.  Similarly
- 	for ld-new.
- 	* configure: Rebuilt.
- 
- Fri Sep  5 16:54:55 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero.
- 
- Fri Sep  5 16:16:44 1997  Christian Kuehnke  <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE>
- 
- 	* sparc/sparc.md: Add ultrasparc scheduling support.
- 	* sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns.
- 
- Fri Sep  5 14:04:59 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>
- 
- 	* integrate.c (save_for_inline_copying): Use 0, not NULL_PTR,
- 	as initial value for real_label_map.
- 	(copy_for_inline): Likewise.
- 
- Fri Sep  5 13:36:44 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sched.c (update_flow_info): When looking if to set found_split_dest
- 	or found_orig_dest, look at all parts of a PARALLEL.
- 	* haifa-sched.c (update_flow_info): Likewise.
- 
- Fri Sep  5 10:08:44 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* v850: New directory for v850 port.
- 	* v850/lib1funcs.asm: New file.
- 	* t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files.
- 	* ginclude/va-v850.h: New file.
- 	* ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h.
- 	* configure.in (mn10200-*-*): New target.
- 	* configure: Rebuilt.
- 	* config.sub: Handle v850-elf.
- 	* Makefile.in (USER_H): Add va-mn10200.h.
- 	* invoke.texi: Document v850 stuff.
- 
- Fri Sep  5 09:37:50 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN
- 	has integer TYPE_{MAX,MIN}_VALUE before using them.
- 
- 	* m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add
- 	__HPUX_ASM__ versions.
- 
- Fri Sep  5 09:08:44 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* install.sh: Delete duplicate install script.
- 
- Thu Sep  4 23:14:27 1997  Stan Cox  (coxs@dg-rtp.dg.com)
- 
- 	* reg-stack.c (subst_stack_regs): Pop the stack register for a
- 	computed goto which sets the same stack register.
- 
- 	* reg-stack.c (compare_for_stack_reg): Swap only if the source and
- 	destination are both on the regstack.
- 	(subst_stack_regs_pat): Put the destination at the top of the regstack.
- 
- Thu Sep  4 15:02:27 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips.md (nonlocal_goto_receiver): Define.
- 
- 	* profile.c (output_arc_profiler): Check next_insert_after for non
- 	NULL before deferencing it.
- 
- 	* i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC.
- 
- Thu Sep  4 14:51:57 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.h (CPP_CPU_DEFAULT): Avoid using #elif.
- 
- Thu Sep  4 15:01:49 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): For passes starting with
- 	flow_analysis, use print_rtl_with_bb instead of print_rtl.
- 
- 	* print-rtl.c (print_rtl_single): Print a single rtl value to a
- 	file.
- 
- 	* flow.c (print_rtl_with_bb): Print which insns start and end
- 	basic blocks.  For the start of a basic block, also print the live
- 	information.
- 
- Thu Sep  4 11:51:43 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* toplev.c (main): Change #elif to #else/#ifdef.
- 
- 	* tlink.c: Include ctype.h.
- 	* ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
- 
- Thu Sep  4 11:17:16 1997  Mikeael Meissner  (meissner@cygnus.com)
- 
- 	* bitmap.c: Conditionally include stdlib.h.
- 	(free): Provide a declaration if NEED_DECLARATION_FREE.
- 
- Thu Sep  4 09:58:53 1997  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
- 
- Thu Sep  4 09:53:20 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* profile.c (output_arc_profiler): Verify next_insert_after is an
- 	INSN before and after skipping a stack pop.
- 
- Thu Sep  4 07:39:19 1997  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Don't count the lengths of deleted
- 	instructions.
- 
- Thu Sep  4 09:43:01 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Sep  4 11:04:21 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
- 	two bitmaps ANDed together.
- 	(bitmap_print): Declare.
- 
- 	* bitmap.c (function_obstack): Don't declare any more.
- 	(bitmap_obstack): Obstack for allocating links from.
- 	(bitmap_obstack_init): New static to say whether to initialize
- 	bitmap_obstack.
- 	(bitmap_element_allocate): Use bitmap_obstack to allocate from.
- 	(bitmap_release_memory): Free all memory allocated from
- 	bitmap_obstack.
- 
- 	* basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
- 	EXECUTE_IF_AND_IN_BITMAP.
- 
- Wed Sep  3 10:39:42 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alias.c (true_dependence): Address with AND can alias scalars.
- 	(anti_dependence, output_dependence): Likewise.
- 
- 	* alias.c (true_dependence): Test x for BLKmode, in addition to mem.
- 
- Wed Sep  3 09:28:50 1997  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h,
- 	  mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h,
- 	  sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES
- 	  definitions.  Use -qrtems instead of -mrtems.
- 
- Wed Sep  3 09:05:41 1997  Robert Lipe  (robert@dgii.com)
- 
- 	* xm-sco5.h (sys_siglist): Define.
- 	(SYS_SIGLIST_DECLARED): Likewise.
- 
- Tue Sep  2 23:33:33 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (convert_move): Handle truncation from TQFmode to QFmode.
- 
- Wed Sep  3 02:09:30 1997  Torbjorn Granlund  <tege@pdc.kth..se>
- 
- 	* except.c (eh_outer_context): Expand masking operation using
- 	expand_binop.
- 
- Tue Sep  2 18:09:39 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha.md (floatdisf2-1): New pattern.
- 
- Tue Sep  2 18:41:55 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* xm-svr4.h (SYS_SIGLIST_DECLARED): Define.
- 	* xm-news.h (SYS_SIGLIST_DECLARED): Likewise.
- 	* xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise.
- 	* gcc.texi: Note that if you define sys_siglist that you should
- 	also define SYS_SIGLIST_DECLARED.
- 
- 	* mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
- 	are relative to the next instruction, not the current instruction.
- 
- Tue Sep  2 14:22:43 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* local-alloc.c (contains_replace_regs): New function.
- 	(update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM,
- 	verify that there is no existing REG_EQUIV note, and add a call to
- 	contains_place_regs.
- 
- Tue Sep  2 12:48:11 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__.
- 	(STARTFILE_SPEC): Always use crtbegin.o%s.
- 	(ENDFILE_SPEC): Always use crtend.o%s.
- 
- Tue Sep  2 12:00:36 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS
- 	is passed in.
- 	* emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to
- 	SFmode for 64 bit hosts.
- 
- Tue Sep  2 13:42:38 1997  Paul N. Hilfinger  <hilfingr@CS.Berkeley.EDU>
- 
- 	* fixincludes: Permits spaces between # and define.  Discard C++
- 	comments in sys/pci.h on HP/UX 10.20.
- 
- Mon Sep  1 22:13:18 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 	* pa.c (restore_unscaled_index_insn_codes): New function.
- 	(record_unscaled_index_insn_codes): Likewise.
- 	(output_function_prologue): Call restore_unscaled_index_insn_codes.
- 	(output_function_epilogue): Free memory for unscaled_index_insn_codes.
- 	(pa_reorg): Call record_unscaled_index_insn_codes.
- 
- 	* haifa-sched.c (move_insn): Handle notes correctly for insns
- 	with SCHED_GROUP_P set.
- 
- Mon Sep  1 16:58:57 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* alpha/xm-linux.h (USE_BFD): Undef before define.
- 
- Mon Sep  1 16:25:34 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cse.c (cse_insn): Don't record BLKmode values.
- 
- Mon Sep  1 11:25:47 1997  Stephen Williams  (steve@icarus.icarus.com)
- 
- 	* i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
- 
- Mon Sep  1 08:29:46 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cccp.c (sys_errlist): Remove special 4.4bsd declaration.
- 	* collect2.c (sys_errlist): Likewise.
- 	* cpplib.c (sys_errlist): Likewise.
- 	* gcc.c (sys_errlist): Likewise.
- 	* protoize (sys_errlist): Likewise.
- 	* configure.in: Check for strerror.
- 	* xm-freebsd.h (HAVE_STRERROR): Remove definition.
- 	* xm-gnu.h (HAVE_STRERROR): Likewise.
- 	* xm-linux.h (HAVE_STRERROR): Likewise.
- 	* xm-netbsd.h (HAVE_STRERROR): Likewise.
- 	* xm-bsd386.h (HAVE_STRERROR): Likewise.
- 	* xm-cygwin32.h (HAVE_STRERROR): Likewise.
- 	* xm-dos.h (HAVE_STRERROR): Likewise.
- 	* xm-mingw32.h (HAVE_STRERROR): Likewise.
- 	* xm-pa.h (HAVE_STRERROR): Likewise.
- 	* xm-papro.h (HAVE_STRERROR): Likewise.
- 	* xm-sysv4.h (HAVE_STRERROR): Likewise.
- 	* configure, config.in: Rebuilt.
- 
- 	* Makefile.in: Add several missing "else true" clauses.
- 
- 	* collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED.
- 	* mips-tfile.c: Likewise.
- 	* gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs.
- 	* xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition.
- 	* xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise.
- 	* configure.in: Check for sys_siglist declaration.
- 	* configure, config.in: Rebuilt.
- 
- Mon Sep  1 08:04:07 1997  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* i386/go32-rtems.h, i386/rtems.h, i960/rtems.h,
- 	m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h,
- 	sparc/rtems.h (subtarget_switches): Added -mrtems as a switch.
- 	* i960/i960.h: Added SUBTARGET_SWITCHES macro.
- 	* rs6000/sysv4.h (extra_subtarget_switches): Added new
- 	macro EXTRA_SUBTARGET_SWITCHES.
- 	* configure.in (sh*-*-rtems*): New target.
- 	* sh/rtems.h: New file.
- 	* sh/sh.h: Added SUBTARGET_SWITCHES macro.
- 	* configure: Rebuilt.
- 
- Sat Aug 30 22:54:26 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (calculate_giv_inc): Handle increment with code PLUS.
- 
- Sat Aug 30 10:49:46 1997  David Edelsohn  <edelsohn@mhpcc.edu>
- 
- 	* rs6000.md: Make DF fused-add operations pay attention to
- 	-mno-fused-add.
- 
- Fri Aug 29 19:19:54 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define.
- 
- Fri Aug 29 16:13:51 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (reload_peepholes): Make sure operand is a REG before
- 	examining REGNO.  Allow general registers too.
- 
- Fri Aug 29 11:42:04 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* varasm.c (mark_constants): Don't look inside CONST_DOUBLEs.
- 
- Fri Aug 29 09:33:20 1997  Philipp Thomas  (kthomas@lxi165.gwdg.de)
- 
- 	* dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc
- 	to reallocate abbrev_die_table.
- 
- Thu Aug 28 15:14:46 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k/m68k.md (iorsi_zexthi_ashl16): Disable.
- 
- 1997-08-27  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* Makefile.in (config.status): Depend on version.c.
- 
- 	* expr.h (insn_gen_function): Reenable prototype.
- 
- 	* expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of
- 	first parameter.
- 
- Thu Aug 28 13:01:43 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386.c (ix86_expand_epilogue): Emit blockage instruction when pic.
- 
- Thu Aug 28 07:03:15 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for latest snapshot.
- 
- 	* bc-optab.c: Conditionally include stdlib.h.
- 	(free): Provide a declaration if NEED_DECLARATION_FREE.
- 	* tree.c (free): Provide a declaration if NEED_DECLARATION_FREE.
- 	* rtl.h (free): Remove declaration.
- 	* tree.h (free): Remvoe declaration.
- 
- 	* configure: Rebuilt.
- 
- Wed Aug 27 21:32:20 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flags.h (flag_move_all_movables): Declare.
- 	(flag_reduce_all_givs): Likewise.
- 	* loop.c (move_movables): Handle flag_move_all_movables.
- 	(strength_reduce): Handle flag_reduce_all_givs.
- 	* toplev.c (flag_move_all_movables): Define.
- 	(flag_reduce_all_givs): Likewise.
- 	(f_options): Add -fmove-all-movables and -freduce-all-givs.
- 	* invoke.texi: Document new options, including alias stuff that
- 	wasn't included last time.
- 
- Wed Aug 27 18:08:51 1997  Bob Manson  (manson@cygnus.com)
- 
- 	* t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS.
- 	* t-mn10200: Likewise.
- 	* t-vxsparc: Likewise.
- 	* t-vxworks68: Likewise.
- 	* t-vxworks960: Likewise.
- 	* t-vx29k: Likewise.
- 
- Wed Aug 27 16:35:29 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC
- 	if not already defined, and USE_C_ALLOCA not defined.
- 
- Wed Aug 27 16:08:43 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config.guess: Replace with script that uses ../config.guess.
- 
- 	* config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1
- 	if USE_GNULIBC_1 is not defined.
- 
- Wed Aug 27 15:49:12 1997  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1.
- 	* config.guess: Recognize alpha-linux-gnulibc1.
- 	* configure.in (alpha-*-linux-gnulibc1): New target.
- 	(alpha-*-linux-gnu*): Don't build crtbegin/end.
- 
- Wed Aug 27 11:52:58 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in
- 	last change.
- 
- Wed Aug 27 01:56:18 1997  Doug Evans  <dje@seba.cygnus.com>
- 
- 	* loop.c (combine_movables): Earlier insns don't match later ones.
- 
- Wed Aug 27 01:24:25 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* config/linux.h (CC1_SPEC): Define it only if not defined.
- 
- 	* config/m68k/linux.h (CC1_SPEC): Undefine it before include
- 	<linux.h>
- 
- 	* config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if
- 	USE_GNULIBC_1 is not defined.
- 
- 	* config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New.  Defined as 1.
- 
- 	* config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined
- 	as 1 if USE_GNULIBC_1 is not defined.
- 
- Wed Aug 27 00:49:14 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c (dbr_schedule): Allow current_function_return_rtx
- 	to be something other than a REG.
- 	* function.c (expand_function_end): Fix current_function_return_rtx
- 	if it was a pseudo.
- 
- 	* t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
- 	* x-netbsd: Likewise.
- 	* x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS.
- 	(INSTALL_HEADERS): Delete.
- 	* x-dguxbcs: Likewise.
- 	* x-hp3bsd44: Likewise.
- 	* x-pa: Likewise.
- 
- Wed Aug 27 00:30:00 1997  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* i386.md (pop): pop increments the stack pointer.
- 	(prologue_set_stack_ptr): New pattern.
- 	* i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr
- 	instead of subsi3.
- 
- Tue Aug 26 18:50:32 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (find_reloads, case '0'): Reject matching a non-offsettable
- 	address where an offsettable address is required.
- 
- Tue Aug 26 17:54:56 1997  Michael P. Hayes  (michaelh@ongaonga.chch.cri.nz>
- 
- 	* loop.c (check_final_value): Don't miss a biv increment in a
- 	parallel.
- 
- Tue Aug 26 12:03:49 1997  Jim Wilson  (wilson@cygnus.com)
- 
- 	* dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check
- 	TYPE_DECL_IS_STUB instead of DECL_NAME.
- 
- Mon Aug 25 23:27:10 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj.
- 
- Mon Aug 25 23:27:10 1997  Jim Meyering  <meyering@eng.ascend.com>
- 
- 	* objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES).
- 
- Mon Aug 25 13:12:24 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (find_pre_sched_live): Remove #if 0 code.
- 	(find_post_sched_live): Likewise.
- 
- 	* haifa-sched.c (schedule_block): Remove old code to get arguments
- 	from hard regs into pseudos early.
- 
- Mon Aug 25 08:55:00 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for new snapshot.
- 
- 	* local-alloc.c (update_equiv_regs): All the target to reject
- 	promotion of some REG_EQUAL to REG_EQUIV notes.
- 	* pa.h (DONT_RECORD_EQUIVALENCE): Define.
- 
- 	* pa.c (secondary_reload_class): (mem (mem ... )) does not need
- 	secondary reloads.
- 
- 	* pa.c (hppa_builtin_saveregs): Emit a blockage insn after the
- 	store of the argument registers.
- 
- Mon Aug 25 08:39:02 1997  Craig Burley  (burley@gnu.ai.mit.edu)
- 
- 	* fold-const.c (multiple_of_p): New function.
- 	(fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR.
- 
- Mon Aug 25 01:47:41 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.h (insn_gen_function): Temporarily remove prototype.
- 
- Sun Aug 24 17:22:21 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (install-info): Don't cd into srcdir.  Add srcdir to
- 	filenames.  Use sed to extract base filename for install.
- 
- Sat Aug 23 18:19:40 1997  John F. Carr  <jfc@mit.edu>
- 
- 	* unroll.c (find_splittable_givs): Only share if two givs have the
- 	same add and multiply values.
- 
- Sat Aug 23 14:36:27 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef.
- 	* m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it.
- 
- Sat Aug 23 00:18:22 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (pa_reorg): Always put begin_brtab and end_brtab insns
- 	around branch tables.
- 	* pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab
- 	and .end_brtab directives if TARGET_GAS.
- 
- Fri Aug 22 14:05:55 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alias.c (true_dependence): Pass x_addr not x to varies.
- 
- 	* acconfig.h (NEED_DECLARATION_CALLOC): Add.
- 	* configure.in: Add GCC_NEED_DECLARATION call for calloc.
- 	* rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete
- 	declarations.
- 	* config.in, configure: Regenerate.
- 
- Thu Aug 21 23:52:16 1997  John F. Carr  <jfc@mit.edu>
- 
- 	* alias.c (find_base_value): Improve handling of PLUS, MINUS, and
- 	LO_SUM.
- 	(record_set): Handle LO_SUM like PLUS.
- 	(init_alias_analysis): When following chains of base addresses,
- 	do not stop on reaching a hard register.
- 
- Thu Aug 21 20:17:37 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump for new snapshot.
- 
- Thu Aug 21 17:28:00 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* alpha.h (ARCH_ASM_FILE_START): Define.
- 	(ASM_FILE_START): Use ARCH_ASM_FILE_START.
- 	* osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string.
- 
- Thu Aug 21 10:22:19 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (install-common): Put gcov comment at start of line.
- 
- Wed Aug 20 22:47:33 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (init_alias_analysis): When simplifying the reg_base_value
- 	array, simplify entries for hard registers too.
- 
- Wed Aug 20 12:35:47 1997  Dave Love  <d.love@dl.ac.uk>
- 
- 	* dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
- 	list.
- 
- Wed Aug 20 11:58:33 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* stmt.c (start_cleanup_deferral, end_cleanup_deferral): Test
- 	block_stack before dereferencing it.
- 
- Wed Aug 20 11:57:11 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
- 
- Tue Aug 19 17:10:56 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* cplus-dem.c: Add 'extern' to prepends_underscore.
- 
- Tue Aug 19 09:34:57 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
- 	(get_issue_rate): Delete.
- 	* pa.h (ISSUE_RATE): Define.
- 
- 	* configure.in: Turn on haifa by default for the PA.
- 	* configure: Rebuilt.
- 	* pa.c (override_options): Accept -mschedule=7200 option.
- 	(pa_adjust_cost): No longer need to scale costs for newer
- 	processors.
- 	* pa.h (enum processor_type): Add PROCESSOR_7200.
- 	* pa.md: Revamp scheduling parameters to work better with
- 	haifa.  Add scheduling parameters for the 7200.
- 
- 	* haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P
- 	insns too.
- 	(schedule_block): When adjusting basic_block_{head,end}, account
- 	for movement of SCHED_GROUP_P insns too.
- 
- 	* haifa-sched.c (debug_dependencies): Fix thinko.
- 
- 	* Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
- 	(site.exp, check, check-g++, check-gcc): New targets.
- 
- 	* haifa-sched.c: Make lots of variables static.
- 
- Tue Aug 19 07:18:34 1997  H.J. Lu  (hjl@gnu.ai.mit.edu)
- 
- 	* expr.h, real.h: Finish prototyping.
- 
- Mon Aug 18 21:49:02 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR
- 	reloads to RELOAD_FOR_OPERAND_ADDRESS reloads.
- 	* reload1.c: Undo bugfix from Aug 11.
- 
- Mon Aug 18 17:39:02 1997  Mike Meissner  <meissner@cygnus.com>
- 
- 	* configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
- 	quotes around the name.
- 	* configure: Regenerate.
- 
- Mon Aug 18 13:46:47 1997  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (stmp-multilib-sub): Fix typo in last change.
- 
- Thu Aug  7 10:33:13 1997  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (sub-makes): Pass the current value of LANGUAGES down
- 	to sub-makes to avoid building more passes than the user might have
- 	requested on the command line.
- 
- Sun Aug 17 15:42:17 1997  Dave Love  (d.love@dl.ac.uk)
- 
- 	* configure.in: Expurgate `broken_install' (install is
- 	autoconfed).
- 
- 	* configure.lang: Substitute autoconfed ${INSTALL} (not currently
- 	relevant).
- 
- Sat Aug 16 01:08:12 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (is_power_of_2, is_conditional_branch): Delete unused
- 	functions and declarations.
- 	(analyze_loop_iterations): Use condjump_p.
- 	(insert_bct): Likewise.  Use exact_log2.
- 
- Fri Aug 15 23:48:32 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
- 	(schedule_region): Likewise.
- 	(schedule_insns): Likewise.
- 
- 	* PROJECTS: Update with Haifa stuff.
- 
- Fri Aug 15 12:49:56 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Change the version string to look like:
- 	egcs-2.90.00 970814 (gcc2-970802 experimental).
- 
- 	* loop.c (is_conditional_branch): Make definition match declaration.
- 
- 	* gcc.c: Take out experimental snapshot warning message.
- 
- Fri Aug 15 13:43:39 1997  Michael Meissner  <meissner@cygnus.com>
- 
- 	* haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to
- 	print out the names of the notes.  Print out the name of the insn
- 	that is not a note, and not an {,CALL_,JUMP_}INSN.
- 
- Wed Aug 13 17:32:38 1997  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
- 	again for the slot after we give it RTL.
- 
- Wed Aug 13 01:03:37 1997  Doug Evans  <dje@canuck.cygnus.com>
- 
- 	* configure.in (haifa configury): Fix typo.
- 	* configure: Regenerate.
- 
- Tue Aug 12 10:20:36 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump version to "gcc-3.0.0 970802 experimental".
- 
- 	* gcc.info*: Rebuilt.
- 
- 	* COPYING.g77, README.g77: New files.
- 	* real.c (ereal_unto_float, ereal_unto_double): New functions.
- 	* real.h (ereal_unto_float, ereal_unto_double): Declare them.
- 	(REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define.
- 
- Mon Aug 11 14:50:55 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Integrate Haifa instruction scheduler.
- 	* Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS.  Prefix all references
- 	to sched with $(SCHED_CFLAGS.
- 	* configure.in: Handle --enable-haifa.
- 	* configure: Rebuilt.
- 	* flags.h: Add new flags for haifa instruction scheduler.
- 	* genattrtab.c (expand_units): For haifa, don't subtract one
- 	when computing blockage.
- 	* toplev.h (flag_schedule_interblock): Haifa scheduler flag.
- 	(flag_schedule_speculative): Likewise.
- 	(flag_schedule_speculative_load): Likewise.
- 	(flag_schedule_speculative_load_dangerous): Likewise.
- 	(flag_schedule_reverse_before_reload): Likewise.
- 	(flag_schedule_reverse_after_reload): Likewise.
- 	(flag_branch_on_count_reg): Likewise.
- 	(f_options): Add Haifa switches.
- 	(main): Turn off some Haifa options if appropriate macro is
- 	defined.  Process Haifa switches.
- 	* unroll.c (iteration_info): No longer static, since Haifa
- 	scheduler uses it.
- 	(unroll_loop): Inform HAIFA scheduler about loop unrolling factor.
- 	* unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value.
- 	* loop.h (loop_unroll_factor, loop_number): Add HAIFA decls.
- 	* loop.h (loop_initial_value,loop_unroll_iter): New globals.
- 	* loop.c (loop_optimize): If HAIFA is defined, allocate additional
- 	storage for the Haifa scheduler.
- 	(mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and
- 	LABEL_NEXTREF.
- 	(strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count
- 	are defined, call analyze_loop_iterations and insert_bct to use
- 	countdown loops.
- 	(record_giv): Refine test for jumps out of loops if HAIFA is
- 	defined.
- 	(analyze_loop_iterations): New function to identify if we can use
- 	a countdown loop.
- 	(insert_bct): Insert countdown loop.
- 	(instrument_loop_bct): Low level code to insert countdown loop.
- 	(loop_number): Calculate UID of loop.
- 	(indirect_jump_in_function_p): Return true if an indirect jump is
- 	in the function.
- 	(is_power_of_2): Return true if value is a power of 2.
- 	(is_conditional_branch): Return true if insn is a conditional
- 	jump.
- 	(fix_bct_param): Process -fbct-{min,max}-N switches.
- 	(check_bct_param): Return true if loop should be instrumented.
- 	* loop.c (loop_initial_value,loop_unroll_iter): New globals.
- 	(loop_optimize): Initialize.
- 	(get_condition_for_loop): Likewise.
- 	* loop.c (strength_reduce): Inside of code that uses #ifdef
- 	HAVE_decrement_and_branch_on_count code, test it to make sure the
- 	condition is true.
- 	(instrument_loop_bct): Likewise.
- 	* haifa-sched.c: New file.
- 
- 	* Integrate regmove pass.
- 	* Makefile.in (OBJS): Add regmove.o.
- 	(regmove.o): Add dependencies.
- 	* flow.c (find_use_as_address): No longer static.
- 	* rtl.h (find_use_as_address): Declare.
- 	* toplev.c (regmove_dump, flag_regmove): Define.
- 	(f_options): Add -fregmove.
- 	(regmove_dump_file, regmove_time): Define.
- 	(fatal_insn): Close the regmove dump file.
- 	(compile_file): Initialize regmove_time; open/close the regmove dump
- 	file as needed.  Print regmove time as needed.
- 	(rest_of_compilation): Run regmove pass if requested, dump
- 	RTL after regmove if requested.
- 	(main): If -O2 or more, turn on regmove.  Handle dump switches.
- 	* regmove.c: New file.
- 
- Mon Aug 11 14:15:02 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Integrate tlink patch from jason@cygnus.com
- 	* gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'.
- 	(process_command): Increment n_switches for them.  Don't discard
- 	their args.  Validate them.
- 	(main): Escape " marks when creating COLLECT_GCC_OPTIONS.
- 	From Rohan Lenard.
- 	(process_command): Set include_prefixes from COMPILER_PATH.
- 	(main): Set COLLECT_GCC_OPTIONS sooner.
- 	* confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld.
- 	* tlink.c, hash.c, hash.h: New files.
- 	* Makefile.in (USE_COLLECT2): Always use collect2.
- 	(collect2): Depend on and link in hash.o and tlink.o.
- 	(tlink.o, hash.o): Add dependencies.
- 
- Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Integrate alias analysis changes from jfc@mit.edu
- 	* Makefile.in (OBJS): Add alias.o.
- 	(alias.o): Add dependencies.
- 	* alias.c: New file.
- 	* sched.c: Remove alias analysis code.  It lives in alias.c now.
- 	(sched_analyze_2): Add new arguments to true_dependence.
- 	(schedule_insns): Always call init_alias_analysis.
- 	* calls.c (expand_call): Note calls to malloc, calloc, and realloc;
- 	mark return value from such functions as a pointer and keep track of
- 	them for alias analysis.  If a return value from a function is a
- 	pointer, mark it as such.
- 	* combine.c (distribute_notes): Handle REG_NOALIAS.
- 	* cse.c (struct write_data): Delete.  No longer needed.
- 	(invalidate): Don't call set_nonvarying_address_components anymore.
- 	Use true_dependence to decide if an entry should be removed from
- 	the hash table.
- 	(invalidate_memory): Remove WRITES argument, simplify appropriately.
- 	Fix all callers.
- 	(note_mem_written): Similarly for WRITE_PTR argument.
- 	(invalidate_from_clobbers): Similarly for W argument.
- 	(invalidate_for_call): Remove memory elements from the hash table.
- 	(refers_to_mem_p, cse_rtx_addr_varies_p): Deleted.
- 	(cse_rtx_varies_p): New function.  Derived from old
- 	cse_rtx_addr_varies_p.
- 	(cse_insn): Remove WRITES_MEMORY and INIT variables and all references.
- 	Don't call note_mem_written anymore.  Stack pushes invalidate the stack
- 	pointer if PUSH_ROUNDING is defined.  No longer need to call
- 	cse_rtx_addr_varies_p to decide if a MEM should be invalidated.
- 	(skipped_writes_memory): Remove variable.
- 	(invalidate_skipped_set): Simplify and wewrite to use invalidate_memory.
- 	(invalidate_skipped_block): Simplify for new alias analysis code.
- 	(cse_set_around_loop): Likewise.
- 	(cse_main): Call init_alias_analysis.
- 	* flags.h (flag_alias_check, flag_argument_noalias): Declare.
- 	* toplev.c (flag_alias_check, flag_argument_noalias): Define.
- 	(f_options): Add new alias checking arguments.
- 	(main): Set flag_alias_check when optimizing.
- 	* local_alloc (validate_equiv_mem_from_store): Add new arguments
- 	to true_dependence.
- 	(memref_referenced_p): Likewise.
- 	* loop.c (NUM_STORES): Increase to 30.
- 	(prescan_loop): Only non-constant calls set unknown_address_altered.
- 	(invariant_p): Add new arguments to true_dependence.
- 	(record_giv): Initialize unrolled and shared fields.
- 	(emit_iv_add_mult): Call record_base_value as needed.
- 	* loop.h (struct induction): Add unrolled and shared fields.
- 	* unroll.c  (unroll_loop): Call record_base_value as needed.
- 	(copy_loop_body): Likewise.
- 	(final_biv_value): Likewise.
- 	(final_giv_value): Likewise.
- 	(find_splittable_regs): Likewise.  Only create one new pseudo
- 	if we have multiple address GIVs that were combined with the same
- 	dst_reg GIV.  Note when a new register is created due to unrolling.
- 	* rtl.c (reg_note_name): Add REG_NOALIAS.
- 	* rtl.h (enum reg_note): Similarly.
- 	(rtx_varies_p, may_trap_p, side_effects_p): Declare.
- 	(volatile_refs_p, volatile_insn_p, remove_note): Likewise.
- 	(note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise.
- 	(true_dependence, read_dependence, anti_dependence): Likewise.
- 	(output_dependence, init_alias_analysis, end_alias_analysis): Likewise.
- 	(mark_user_reg, mark_reg_pointer): Likewise.
- 
- 	* Integrate reload bugfix from Wilon which enables the PA port
- 	to bootstrap again.
- 	* reload1.c (reload): Sum needs for both OPADDR_ADDR and
- 	OPERAND_ADDRESS when computing how many registers an insn needs.
- 	(reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do
- 	conflict.
- 	(reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like
- 	OPADDR_ADDR reload.
- 	(reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers
- 	in reload_reg_use_in_op_addr do not reach the end.
- 	do not reach the end.
- 	(reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with
- 	RELOAD_FOR_OPERAND_ADDRESS.
- 
- Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
- 
- 	* egcs project officially starts.
- 
- Local Variables:
- add-log-time-format: current-time-string
- End:
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.1 gcc-4.1.0/gcc/ChangeLog.1
*** gcc-4.0.2/gcc/ChangeLog.1	Mon Jun 23 16:11:54 2003
--- gcc-4.1.0/gcc/ChangeLog.1	Thu Jan  1 00:00:00 1970
***************
*** 1,15903 ****
- Tue May 18 03:53:37 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	Improve open-coding of complex divide:
- 	* flags.h: Declare new front-end-malleable flag.
- 	* toplev.c: Define new flag.
- 	* optabs.c (expand_cmplxdiv_straight): New function to do original
- 	open-coding.
- 	(expand_cmplxdiv_wide): New function to do new open-coding,
- 	from Toon Moene, with changes (call to emit_barrier, dropping
- 	of spurious `ok = 1;', plus the obvious `break;' -> `return 0;').
- 	(expand_binop): A bit of spacing fixing, while at it.
- 	Use new functions instead of inlining the open-coding code.
- 
- Tue May 18 00:51:46 1999  Krister Walfridsson <cato@df.lth.se>
- 
- 	* configure.in (arm*-*-netbsd*): Use collect2.
- 	(i[34567]86-*-netbsd*): Likewise.
- 	(m68k*-*-netbsd*): Likewise.
- 	(ns32k-*-netbsd*): Likewise.
- 	(sparc-*-netbsd*): Likewise.
- 	(vax-*-netbsd*): Likewise.
- 	* configure: Rebuilt.
- 
- Tue May 18 00:21:34 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cppspec.c: Insert -no-gcc into command line unless -gcc was
- 	given by user.
- 	* gcc.c (default_compilers): Define __GNUC__ and
- 	__GNUC_MINOR__ only if -no-gcc was not given.
- 	* objc/lang-specs.h: Likewise.
- 	* cpp.texi: Document -x and -std options; explain that -lang
- 	is no longer supported.  Minor related corrections.
- 
- Mon May 17 23:56:39 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* Makefile.in (stmp-fixproto): Pass location of mkinstalldirs to
- 	fixproto.
- 	* fixproto: Avoid unportable constructs such as `basename' and
- 	`mkdir -p'.  Use mkinstalldirs from the environment if `mkdir -p'
- 	fails.
- 
- 	* fixinc/fixincl.c: Remove #error, it is not portable.
- 
- Mon May 17 23:50:41 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* collect2.c (main):  Fix typo in COLLECT2_HOST_INITIALIZATION.
- 
- Mon May 17 19:45:41 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/fixincl.c (process): Wait for children from chain_open()
- 	to avoid creating zombies.
- 
- 	* fixinc/inclhack.tpl: Removed no-op pipe.
- 
- 	* fixinc/inclhack.sh fixinc/fixincl.sh: regenerate
- 
- Mon May 17 07:23:34 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.def (TYPE_NONCOPIED_PARTS): Revise documentation to match
- 	reality.
- 	* expr.c (init_noncopied_parts): Don't generate initializers for
- 	parts that don't need them.
- 
- Mon May 17 02:56:35 PDT 1999 Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Oct 31 05:08:34 CET 1998 Jan Hubicka  (hubicka@freesoft.cz)
- 
- 	* reg-stack.c: Do not emit pop insns after cc0 setter.
- 	(emit_pop_insn): Do not emit insn in case WHEN is NULL.
- 	(compare_for_stack_reg): Update REG_DEAD note and 
- 	do not emit push insn.
- 
- 	* i386.c: (output_float_compare): Handle new REG_DEAD notes.
- 
- Mon May 17 01:57:37 1999  David Daney <daney@ibw.com.ni>
- 
- 	* i386/sol2.h (LINK_SPEC): Do not pass "-z text" to the linker
- 	if -mimpure-text.
- 
- 1999-05-17  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* m68k.c (standard_68881_constant_p): Don't accept -0.0 as valid
- 	68881 constant.
- 
- 	* fold-const.c (fold_truthop): When converting a one-bit
- 	comparison don't sign extend the constant.
- 
- 	* cse.c (cse_insn): Copy SRC_CONST before putting it in the
- 	REG_EQUAL note.
- 
- 1999-05-17  Mike Stump  <mrs@wrs.com>
- 
- 	* rs6000/vxppc.h (CPP_SPEC): Fix support for vararg functions.
- 
- Sat May 15 14:22:40 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/hackshell.tpl: Fix mis-applied patch.
- 	* fixinc/inclhack.sh: Regenerated.
- 
- Thu May 13 21:05:55 1999  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Add the Hurd (*-*-gnu*) to the list of
- 	targets that do not need any fixes.
- 
- Sat May 15 14:12:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (set_lo_sum+2): New splitter to load large
- 	const_ints.
- 
- Sat May 15 14:09:08 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (decrement_and_branch_on_count): Disabled.
- 	(doloop_begin, doloop_end): New patterns.
- 	(*rptb_init): Added extra operands.
- 
- Fri May 14 21:31:36 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*umulqi3_highpart_clobber): Fix operand 2
- 	constraints order.
- 
- 1999-05-14  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Fix operand numbers in
- 	asm input operands.
- 
- Thu May 13 15:34:18 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (mask_constant): Delete.
- 	(mask_operand): Move mask_constant() body to here.
- 	* rs6000.h (mask_constant): Delete declaration.
- 	* rs6000.md (nabsdi2): Reverse subtraction in splitter.
- 
- Thu May 13 02:25:01 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cpp.texi: Fix some typos.
- 
- Thu May 13 01:49:55 1999  Graham Stott <GrahamS@RCP.co.uk>
- 
- 	* loop.c (maybe_eliminate_biv): Check regno against
- 	max_reg_before_loop.
- 
- 	* i386.c (memory_address_info): Correct the scale
- 	factor test.
- 
- Thu May 13 01:31:19 1999  Nick Burrett  <nick.burrett@btinternet.com>
- 
- 	* arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
- 	applied to each register.
- 	* aof.h (ASM_FILE_START): Define register `r0'.
- 
- 1999-05-12 20:22 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* configure.in: Make --enable-cpp and --with-cpp-install-dir
- 	documented options.  Enable the cpp driver by default.
- 	* configure: Rebuilt.
- 
- Wed May 12 18:08:48 1999  David Edelsohn     <edelsohn@gnu.org>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.c (print_operand) [w]: Calculate signed constant more clearly.
- 	(rs6000_allocate_stack_space): Print as hexadecimal value.
- 	* rs6000.h (CONST_OK_FOR_LETTER_P): 'L' checks for a signed,
- 	16-bit shifted constant.  Fix typo for 'P'.
- 	(EXTRA_CONSTARINT): 'T' checks for a 32-bit mask operand.
- 	* rs6000.md (movsi, addsi3_internal1, movdi, adddi3_internal1):
- 	Use 'L' for shifted constant.
- 	(anddi3_internal3): Fix typo.
- 	(32-bit mask patterns): Use 'T'.
- 
- Wed May 12 07:30:31 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/fixincl.c(quoted_file_exists): new procedure to ensure that
- 	a file exists before trying to copy it into the destination
- 	(extract_quoted_files): use that routine.
- 
- Wed May 12 07:27:31 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	Allow front end (like g77's) to override maintenance of errno:
- 	* expr.c (expand_builtin): Bother with errno only if
- 	flag_errno_math.
- 	* flags.h: Declare flag_errno_math.
- 	* toplev.c: Define flag_errno_math.
- 
- Tue May 11 23:55:49 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixproto: Change "mkdir" calls to "mkdir -p"
- 
- 	* fixinc/inclhack.def (io_def_quotes): Consistently allow multiple
- 	whitespace characters between the "define" and the name of the macro.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
- 
- Tue May 11 20:46:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_move): Handle TImode registers
- 	used with ADDRESSOF.
- 	(alpha_expand_block_clear): Handle ADDRESSOF specially.
- 
- 1999-05-11  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* fixinc/fixinc.x86-linux-gnu (FD_ZERO): Remove unneccessary
- 	memory output operand which irritates gcc.
- 
- Tue May 11 11:45:16 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* toplev.c (documented_lang_options): Add -MD, -MMD, -M and -MM for
- 	cpplib-enabled compilers.
- 
- Tue May 11 11:34:56 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* config/sparc/sparc.h (GO_IF_LEGITIMATE_ADDRESS): Add parentheses
- 	around &&.
- 
- Mon May 10 13:51:24 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* tm.texi (FUNCTION_ARG): Stack element of PARALLEL must come
- 	first.
- 
- Tue May 11 01:32:01 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/inclhack.def (sun_auth_proto): Apply to all targets.
- 	(sysz_stdlib_for_sun): Similarly.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
- 
- Mon May 10 20:34:10 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/mips/elf.h (UNIQUE_SECTION_P): Undef.
- 	* config/mips/elf64.h (UNIQUE_SECTION_P): Undef.
- 	* config/mips/mips.h (UNIQUE_SECTION_P): Define to 0.
- 
- 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppfiles.c (initialize_input_buffer): New function.
- 	(finclude): Call it, if pfile->input_buffer is NULL.  Accept
- 	any character device as an input file.
- 	(read_and_prescan): Use pfile->input_buffer and
- 	pfile->input_speccase.
- 	* cppinit.c (cpp_cleanup): Free pfile->input_buffer and
- 	pfile->input_speccase.
- 	* cpplib.h (cpp_reader): Add input_buffer, input_speccase, and
- 	input_buffer_len members.  Use memcpy in CPP_PUTS_Q.
- 
- 	* cppmain.c: Buffer output in the token_buffer; throttle
- 	number of calls to fwrite; check for errors from fwrite.
- 
- 1999-05-10 18:21 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cppspec.c: Treat two non-option arguments as input and
- 	output file.  Three or more non-option args is an error.
- 	Clean up.
- 	* gcc.c (default_compilers): Pass -$ to the preprocessor.
- 	* objc/lang-specs.h: Likewise.
- 
- Mon May 10 12:59:20 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* optabs.c (emit_cmp_and_jump_insns): Handle the case where both
- 	operands to the comparison are constants.
- 
- Mon May 10 07:28:10 1999  Bruce Korb <autogen@autogen.freeservers.com>
- 
- 	* fixinc/inclhack.def(arm_norcroft_hint): check before fixing
- 	(no_double_slash): portability
- 	(math_exception): added reminder comment
- 
- Mon May 10 01:28:10 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	From Fri May 7  9:31:41 1999 Donn Terry (donn@interix.com):
- 	* varasm.c (mark_constant_pool): Add some transitive closure.
- 
- Sun May  9 22:51:04 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	Fix gcc.dg/990506-0.c:
- 	* c-typeck.c (require_complete_type): Handle ERROR_MARK input.
- 
- Sun May  9 13:19:12 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (cprop_insn): Do not try to simplify a simple jump.
- 
- Sun May  9 11:12:19 1999  Philip Blundell <bp@nexus.co.uk>
- 
- 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Add (PLT) to branch if
- 	necessary.  Reported by jim@federated.com.
- 
- Sat May  8 23:05:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (PRINT_OPERAND_ADDRESS): Output "%r0", not "r0" for the
- 	base register in an absolute memory address.
- 	* pa.md (conditional moves): Avoid using immediate zero for
- 	register zero.
- 
- Sat May  8 06:23:21 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	Based on patch by Scott Bambrough:
- 	* config/arm/arm.h (NEED_PLT_GOT): New macro.  Set to 0 if not
- 	already defined.
- 	* config/arm/elf.h (NEED_PLT_GOT): Define to flag_pic.
- 	* config/arm/arm.md (call_symbol, call_value_symbol et al.): If
- 	NEED_PLT_GOT is true, add explicit "(PLT)" to generated branches.
- 	* config/arm/arm.c (output_func_epilogue,
- 	output_return_instruction): Likewise for calls to abort.
- 
- Sat May  8 01:57:58 1999  Donn Terry (donn@interix.com)
- 
- 	* calls.c (rtx_for_function_call): Extend function pointer being
- 	passed to chkr_check_exec_libfunc, if needed.
- 
- Sat May  8 01:51:50 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* ginclude/stdarg.h (__va_rounded_size): Use long type for
- 	rounding on AIX.
- 	* ginclude/varargs.h: Likewise.
- 
- Sat May  8 01:47:20 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* invoke.texi: Remove duplicates in the description of -d
- 	letters.  Fix use of @item vs. @itemx.
- 
- Sat May  8 01:43:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h (RS6000_VARARGS_OFFSET): Die die die.
- 	(CUMULATIVE_ARGS): Remove varargs_offset; update commentary.
- 	* rs6000.c (setup_incoming_varargs): Fix typo last change.
- 	(init_cumulative_args): Remove varargs_offset references.
- 
- 	* rs6000/linux.h (NO_IMPLICIT_EXTERN_C): Define.
- 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine.
- 
- Sat May  8 01:34:19 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* reload1.c (gen_mode_int): New function.
- 	(reload_cse_move2add): Use it to generate the new constants.
- 
- Sat May  8 01:25:09 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* varasm.c (output_constant): Do nothing if -fsyntax-only.
- 
- Fri May  7 19:10:15 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* sparc.h (GO_IF_LEGITIMATE_ADDRESS): Prohibit REG+REG addressing
- 	for TFmode when there are no instructions which accept REG+REG
- 	instructions.
- 
- Fri May  7 12:38:54 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/elf64.h (MAKE_DECL_ONE_ONLY, UNIQUE_SECTION_P): Define.
- 	* mips/mips.c (mips_select_rtx_section): When TARGET_MIPS16, use
- 	function_section instead of text_section.
- 	* mips/mips.h (ENCODE_SECTION_INFO): Add check for UNIQUE_SECTION_P
- 	in TARGET_MIPS16 STRING_CST handling.
- 
- Fri May  7 09:54:11 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	Patch from: Nick Burrett  <nick.burrett@btinternet.com>
- 
- 	* arm.c (arm_poke_function_name): New function to implement
- 	-mpoke-function-name.
- 	* aof.h (ASM_DECLARE_FUNCTION_NAME): Call it.
- 	* aout.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	* elf.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	* arm.h: Prototype it.
- 	(TARGET_SWITCHES): Add `no-poke-function-name'.
- 
- Fri May  7 14:19:31 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/server.c (load_data): Cast text_size to long, adapt
- 	format.
- 	* fixinc/server.c (read_pipe_timeout): Declare volatile, modified
- 	in signal handler.
- 	(sig_handler): Add debug code.
- 	* fixinc/server.c (run_shell): Don't \-escape cd, it breaks the
- 	Ultrix V4.3 /bin/sh.
- 	* fixinc/server.c (def_args): Use static instead of STATIC to
- 	avoid redefinition error from linker iff DEBUG.
- 
- 	* fixinc/hackshell.tpl: Don't strip trailing directory from
- 	DESTDIR - that is already done
- 
- 	* fixinc/fixincl.c (run_compiles): fix memory leak
- 
- Thu May  6 20:34:00 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* resource.c (mark_referenced_resources): Make volatil
- 	monotonically increasing.
- 	(mark_set_resources): Likewise.
- 
- Thu May  6 20:02:33 1999  Fred Fish  <fnf@be.com>
- 
- 	* rs6000/xm-beos.h (HAVE_VPRINTF): Don't redefine if already defined.
- 	(HAVE_PUTENV, HAVE_ATEXIT, HAVE_RENAME): Likewise.
- 
- Wed May  5 20:28:32 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* install.texi (Header Dirs): s/GPLUS/GPLUSPLUS/.
- 
- Wed May  5 23:44:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (copy_loop_body): Don't copy VTOP notes from copy_notes_from.
- 
- Wed May  5 16:26:13 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* function.c (purge_addressof_replacements): Rename into
- 	purge_bitfield_addressof_replacements.
- 	(purge_addressof_replacements): New variable.
- 	(purge_addressof_1): Add code for changing addressof in notes for
- 	field values which are extracted by usage MEM with narrower mode.
- 	(purge_addressof): Initialize purge_bitfield_addressof_replacements.
- 
- Wed May  5 07:40:02 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	Patch from: Nick Burrett  <nick.burrett@btinternet.com>
- 	* config/arm/arm.h (ARM_MCOUNT_NAME): Define.
- 	(FUNCTION_PROFILER): Remove assembler dialect dependency and use
- 	ARM_MCOUNT_NAME.
- 	(TRAMPOLINE_TEMPLATE): Remove assembler dialect dependency.
- 
- 	* config/arm/aof.h (ARM_MCOUNT_NAME): Define.
- 
- 1999-05-05 09:58 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* gcc.c (default_compilers): Fix brace nesting bug.
- 	* objc/lang-specs.h: Use %i, not %g.mi, for the input file
- 	when processing an .mi file.
- 
- Tue May  4 13:17:55 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* resource.c (mark_set_resources): Handle UNSPEC_VOLATILE,
- 	ASM_INPUT, TRAP_IF, and ASM_OPERANDS just like in
- 	mark_referenced_resources.
- 
- Mon May  3 22:38:41 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Change non-PowerPC
- 	and AIX64 combination to warning.  Add warning for disabling
- 	PowerPC64 support when using 64-bit mode.
- 	(LIB_SPEC): Do not link with libg.a in 64-bit mode.
- 	(LINK_SPEC): Do not export libg.exp symbols in 64-bit mode.
- 	* rs6000/rs6000.h (MY_ISCOFF): Treat import/export files as valid
- 	XCOFF files.
- 	(read_only_data_section, private_data_section,
- 	read_only_private_data_section): Always align CSECTs to doubleword
- 	boundary regardless of mode.
- 	(TEXT_SECTION_ASM_OP): Align text CSECT on doubleword boundary in
- 	64-bit mode.
- 	(DATA_SECTION_ASM_OP): Always align CSECT to doubleword boundary.
- 	(ASM_OUTPUT_LOCAL): Use rounded size in 64-bit mode to
- 	maintain doublword alignment.
- 
- Mon May  3 14:45:23 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (btst insns): btst does not leave cc0 in a usable
- 	state for redundant tst eliminatino.
- 	* mn10300.md (btst insns): Likewise.
- 
- Mon May  3 16:14:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (Pmode): Revert Oct 14th change which added a cast.
- 
- Sun May  2 14:02:21 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (struct tree_decl): Add comdat_flag.
- 	(DECL_COMDAT): Define it.
- 	* toplev.c (wrapup_global_declarations): Don't output a
- 	DECL_COMDAT function just because it's public.
- 
- Sun May  2 15:16:42 1999  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.h (TARGET_SWITCHES): Fix error in previous change.
- 	(ASSEMBLER_DIALECT): Define.
- 	(CONDITIONAL_REGISTER_USAGE): Rename floating point registers if
- 	required for the UNIX assembler.
- 	(ASM_OUTPUT_INT): Remove.  The compiler will synthesize it.
- 	(ASM_OUTPUT_ADDR_VEC_PROLOGUE): Remove.
- 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Change to "[" and "]".
- 	(TRAMPOLINE_TEMPLATE): Use ASM_OUTPUT_SHORT.
- 	* pdp11.c (output_addr_const_pdp11): Copy of output_addr_const
- 	adapted to output constants in octal.
- 	* pdp11.c, pdp11.h, pdp11.md: Use output_addr_const_pdp11 instead
- 	of output_addr_const.  Output constants in octal.  Use assembler
- 	dialect alternatives where DEC and UNIX assemblers use different
- 	instruction names.
- 
- Sun May 2 01:15:06 PDT 1999 Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Fri Apr 30 13:55:43 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* va-ppc.h (__va_start_common): Let __builtin_saveregs do the work.
- 	* rs6000.c (expand_builtin_saveregs): For V4, initialize a private
- 	va_list struct, and return a pointer to it.
- 	(setup_incoming_varargs): V4 save area based off virtual_stack_vars
- 	instead of frame_pointer.
- 
- Thu Apr 29 23:02:22 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* emit-rtl.c (start_sequence): Expand comments.
- 	(start_sequence_for_rtl_expr): Likewise.
- 	(push_to_sequence): Likewise.
- 	(end_sequence): Likewise.
- 	* expr.c (inhibit_defer_pop): Likewise.
- 	* expr.h (inhibit_defer_pop): Likewise.
- 	(NO_DEFER_POP): Likewise.
- 	(OK_DEFER_POP): Likewise.
- 
- Thu Apr 29 22:13:46 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* configure.in (i?86-UnixWare7*-sysv): Set thread_file to 'posix'
- 	--enable-threads[={yes,pthreads,posix}] is passed as a command
- 	line parameter to configure.
- 	* config/i386/sysv5.h (LIB_SPEC): Add support for '-pthread'.
- 	(CPP_SPEC): Likewise.
- 
- Thu Apr 29 17:23:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (operand_subword): Religiously mask and sign-extend
- 	from 32-bits to HOST_WIDE_INT.
- 
- Thu Apr 29 15:58:52 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* fixinc/regex.c, fixinc/regex.h: Removed.   Replace with...
- 	* fixinc/gnu-regex.c, fixinc/gnu-regex.h: Imported from GDB 4.18.
- 	* fixinc/Makefile.in (OBJ, HDR): Handle name changes from above.
- 	(gnu-regex.o): Define REGEX_MALLOC to avoid memory leak.
- 	* fixinc/fixincl.c: new regex.h header name
- 	* Makefile.in: new regex.[ch] file names
- 
- Thu Apr 29 12:53:33 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (emit_call_1): Pass rounded_stack_size to emit_call
- 	instead of the unrounded size.
- 
- 1999-04-28 14:40 Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/mkfixinc.sh: Makesure the result shell script is writable
- 
- Wed Apr 28 10:36:39 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/m68k/m68k.md (cmpsi+1): Use cmp.w when comparing a 16 bit
- 	constant with an address register.
- 
- Wed Apr 28 00:14:41 PDT 1999 Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Apr 27 19:50:25 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* rtl.h (REG_EH_REGION): Update comment to indicate a value of -1
- 	indicates no throw and no nonlocal gotos.
- 	* optabs.c (emit_libcall_block): Emit REG_EH_REGION with a value
- 	of -1 instead of 0 to indicate a nonlocal goto won't happen either.
- 	* flow.c (count_basic_blocks, find_basic_blocks_1): Ignore libcall
- 	blocks, look for REG_EH_REGION note exclusively.
- 	(make_edges): Check for REG_EH_REGION > 0 for specified handlers.
- 
- Tue Apr 27 15:33:42 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (read_only_data_section, private_data_section,
- 	read_only_private_data_section, toc_section): Align CSECT on
- 	doubleword boundary for 64-bit target.
- 	(DATA_SECTION_ASM_OP): Likewise.
- 	* rs6000.c (rs6000_stack_info): Leaf procedure stack limit is 288.
- 
- Tue Apr 27 20:19:47 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (insv): Use copy_addr_to_reg.
- 
- 	* final.c (insn_lengths_max_uid): New variable.
- 	(init_insn_lengths, shorten_branches): Set it.
- 	(get_attr_lengths): Test insn uid against insn_lengths_max_uid.
- 
- 1999-04-27 08:32 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* expr.c (emit_move_insn_1): Abort if MODE argument is invalid.
- 	(compare): Punt if TREE_OPERAND (exp, 0) is an ERROR_MARK.
- 
- Tue Apr 27 01:33:43 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Renmaed from FLAGS_TO_PASS.
- 	Remove "CC".
- 	(FLAGS_TO_PASS): New variable.
- 
- Tue Apr 27 00:36:44 1999  Nick Burrett  <nick.burrett@btinternet.com>
- 
- 	* arm.md (nop): Output instruction using output_asm_insn to fix
- 	assembler dialect problems.
- 
- Mon Apr 26 23:55:50 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* Makefile.in (fixinc.sh): Fix dependencies.
- 
- 	* fixinc/inclhack.def (avoid_bool): Enable match if typedefs are
- 	prepended by spaces.
- 	(sco5_stat_wrappers): New fix.   Make sys/stat.h C++ safe.
- 	* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
- 
- Mon Apr 26 23:28:54 1999  Mumit Khan  <khan@xraylith.wisc.edu>
-                           Donn Terry  <donn@interix.com>
- 
- 	* function.c (put_var_into_stack): Change ptr_mode to Pmode
- 	in setup for chkr_set_right_libfunc calls.
- 	(assign_params): Likewise.
- 	* expr.c (emit_push_insn): Change ptr_mode to Pmode in
- 	setup for chkr_copy_bitmap_libfunc and chkr_set_right_libfunc calls.
- 	(expand_assignment): Change ptr_mode to Pmode in
- 	setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
- 	(store_expr): Change ptr_mode to Pmode in
- 	setup for chkr_add_libfunc and chkr_copy_bitmap_libfunc.
- 	(expand_expr): Change ptr_mode to Pmode in
- 	setup for chkr_check_addr_libfunc.
- 	(expand_builtin): Change ptr_mode to Pmode in
- 	setup for chkr_check_str_libfunc, chkr_copy_bitmap_libfunc and
- 	chkr_check_addr_libfunc.
- 	* calls.c (rtx_for_function_call): Change ptr_mode to Pmode in
- 	setup for chkr_check_exec_libfunc.
- 	(expand_call): Change ptr_mode to Pmode in
- 	setup for chkr_set_right_libfunc.
- 	(expand_call): Change ptr_mode to Pmode in
- 	setup for chkr_set_right_libfunc.
- 	(store_one_arg): Change ptr_mode to Pmode in
- 	setup for chkr_set_right_libfunc.
- 
- 	* c-parse.in (absdcl1): Allow attributes in explicit typespecs.
- 	(%expect): Update.
- 	* c-parse.y: Regenerate.
- 	* c-parse.c: Likewise.
- 	* objc/objc-parse.c: Likewise.
- 	* objc/objc-parse.y: Likewise.
- 
- Mon Apr 26 21:17:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-pragma.c (push_alignment): Don't ignore alignments greater than
- 	4 bytes.
- 	(handle_pragma_token): Likewise.
- 
- 	* c-pragma.c: Support for #pragma pack (push, <id>, <n>).
- 	(struct align_stack): Add id field.
- 	(push_alignment, pop_alignment): Take id parameter.
- 	(handle_pragma_token): Add necessary states.
- 	* c-pragma.h (enum pragma_state): Add necessary states.
- 
- Tue Apr 27 13:58:23 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*cmpqf, *cmpqf_noov, *cmpqi_test,
- 	*cmpqi_test_noov): Remove ? modifier from constraints list.
- 	(*smulqi3_highpart_clobber, *umulqi3_highpart_clobber): Swap
- 	output strings to match new constraint ordering.
- 
- 1999-04-26 19:16 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpphash.c (dump_definition): New function.
- 	* cpphash.h: Prototype it.
- 
- 	* cpplib.c (handle_directive): Don't output anything here.
- 	Streamline.
- 	(pass_thru_directive): Take a length, not a pointer to the
- 	end.  All callers changed.
- 	(do_define): Handle -dD, -dN, -g3 entirely here.  Streamline.
- 	(do_include): Handle -dI here.
- 	(do_ident): Correct to match cccp.
- 	(do_pragma): Copy the pragma through here.
- 	(do_assert, do_unassert): Tidy.
- 
- 	* cppinit.c (cpp_finish): If -dM was specified, walk the macro
- 	hash table and call dump_definition on all the entries.
- 	* cppmain.c: cpp_finish may produce output.
- 
- Mon Apr 26 15:27:33 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.c (compile_file): Move call to check_global_declarations
- 	after output_exception_table to restore behavior as it was before
- 	1999-04-22 change.
- 
- 1999-04-26 10:50 -0700 Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/fixincl.c:  Improve the handling of child process exits
- 	* fixinc/server.[ch]: Export the interface for shutting down
- 	the server process
- 	* fixinc/inclhack.tpl: Remove unnecessary character quote
- 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate
- 
- Mon Apr 26 10:41:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* alpha.md (builtin_setjmp_receiver): Use a label_ref instead of
- 	a code label.
- 
- 1999-04-26 09:47 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* rtl.texi: Document the rtl classes and their relation to
- 	formats.
- 
- Mon Apr 26 01:02:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (fix_trunc patterns): Use reg_no_subreg_operand on op0
- 	for less work in reload.
- 	(movsf and movdf patterns): Put fp reg alternatives first.
- 
- Mon Apr 26 01:55:56 1999  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* configure.in (openbsd): Factorize xmake_file.
- 	(ix86 openbsd): Trim obsolete comment.
- 	(vax openbsd): Fix typo.
- 	* configure: Rebuilt.
- 
- Mon Apr 26 01:30:59 1999 Donn Terry <donn@interix.com>
- 
- 	* expr.c (expand_assignment): Improve test for pointer type.
- 
- Mon Apr 26 00:26:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (print_operand_address): Account for the subreg word.
- 
- Mon Apr 26 01:08:36 1999  Toshiyasu Morita  (tm@netcom.com)
- 
- 	* fold-const.c (make_range): Always initialize arg0 and arg1.
- 	(fold): Similarly for alt0 and alt1.
- 	* function.c (fixup_var_refs_insns): Initialize insn_list.
- 	(instantiate_virtual_regs_1): Initialize offset.
- 	* optabs.c (expand_binop): Initialize carry_in, carry_out, op0_xhigh
- 	and op1_xhigh.
- 	* stmt.c (expand_end_case): Initialize minval and maxval.
- 
- Mon Apr 26 01:02:34 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* toplev.c (report_error_function): Reorder file stack and
- 	function name printing.  Ignore FILE parameter.
- 
- Mon Apr 26 00:58:54 1999  Jerry Quinn <jquinn@nortelnetworks.com>
- 
- 	* pa.h (architecture_type): New enum.
- 	(pa_arch_string, pa_arch): Declare.
- 	(MASK_PA_10, MASK_PA_20): New flags.
- 	(TARGET_SWITCHES): Add pa-risc-2-0.  Update docs for PA1.0 codegen.
- 	(TARGET_OPTIONS): Add -march= option.
- 	* pa.c (pa_arch, pa_arch_string):  Define.
- 	(override_options):  Set them.
- 	* pa/pa-hpux10.h (ASM_FILE_START):  Output LEVEL 2.0 asm directive for
- 	2.0 architecture.
- 	* invoke.texi (Option Summary, HPPA Options):  Document new
- 	architecture flags.
- 
- 	* pa/pa-hpux.h, pa/pa-hpux10.h, pa/pa-hpux9.h, pa/pa-osf.h, pa.h,
- 	pa.c, pa.md, configure.in, configure: Replace TARGET_SNAKE by
- 	TARGET_PA_11 and MASK_SNAKE by MASK_PA_11.
- 
- Mon Apr 26 00:28:25 1999  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* flags.h (inline_max_insns): Declare.
- 	* integrate.c (inline_max_insns): New variable.
- 	(function_cannot_inline_p): Use it.
- 	* toplev.c (main): Add the flag -finline-limit-n.
- 	(display_help): Document -finline-limit-n.
- 	* invoke.texi: Document -finline-limit-n
- 
- Sun Apr 25 23:03:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Reload in-out reg-only memory operands.
- 
- Sun Apr 25 13:06:13 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (assign_parms/STACK_BYTES): Revert last change,
- 	and that of 19 Nov.
- 
- Sun Apr 25 12:30:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (emit_call_1): New arg rounded_stack_size; update callers.
- 	Update pending_stack_adjust based on this value.
- 	(compute_argument_block_size): Include pending_stack_adjust in
- 	PREFERRED_STACK_BOUNDARY alignment.
- 	* function.c (assign_parms): Don't round to PREFERRED_STACK_BOUNDARY.
- 
- Sun Apr 25 14:38:10 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* stupid.c (stupid_mark_refs): Generate a REG_UNUSED note
- 	for a register which is clobbered even if the register
- 	was used by an earlier instruction.
- 
- 	* i386.md (fix_truncsfdi2, fix_truncdfdi2,
- 	fix_truncxfdi2): Don't bother with the gen_reg_RTX.
- 	(fix_truncsfsi2, fix_truncsfdi2, fix_truncdfsi2,
- 	fix_truncdfdi2, fix_truncxfsi2, fix_truncxfdi2): Update
- 	operand constraints and modes.
- 	* i386.c (output_fix_trunc): Use HImode register to avoid
- 	memory stalls.  Call output_move_double instead of output_to_reg.
- 	(output_to_reg): Remove.
- 	* i386.h: Likewise.
- 
- 	* i386.md (negsf2, negdf2, negxf2): Set the type
- 	attribute to fpop.
- 
- Sat Apr 24 23:15:57 1999  Donn Terry (donn@interix.com)
- 
- 	* alpha.md (call_value_nt): Correct subscripts.
- 
- Sat Apr 24 20:49:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (PRINT_OPERAND_ADDRESS): Break out to ...
- 	* alpha.c (print_operand_address): here.  Handle subregs.
- 
- Fri Apr 23 22:35:41 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* acconfig.h (HAVE_GAS_FILDS_FISTS): Add.
- 	* configure.in: Check assembler instructions.
- 	* configure: Rebuild.
- 	* config.in: Likewise.
- 	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
- 	* i386.c (print_operand): Use the proper suffix for a 387 HImode
- 	operand.  Abort if a 387 operand has an unsupported size.
- 
- Fri Apr 23 16:57:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_write_verstamp): Mark `file' unused.
- 	* alpha.h (FUNCTION_VALUE): Use gen_rtx_REG not gen_rtx.
- 	(LIBCALL_VALUE): Likewise.
- 	(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Handle normal subregs.
- 
- Fri Apr 23 14:57:33 1999  Donn Terry  <donn@interix.com>
- 
- 	* alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
- 
- 	* alpha.c (alpha_initialize_trampoline): Add covert_memory_address
- 	calls as needed.
- 
- Fri Apr 23 14:36:47 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_prologue): Don't negate frame size
- 	for use with subq.
- 
- Fri Apr 23 09:43:18 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): Display LABEL_NUSES for labels.
- 
- Thu Apr 22 23:08:37 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.h (wrapup_global_declarations): Declare.
- 	(check_global_declarations): Likewise.
- 	* toplev.c (wrapup_global_declarations): New function, split out
- 	from ...
- 	(check_global_declarations): Likewise...
- 	(compile_file): Here.
- 
- Thu Apr 22 22:34:41 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-parse.in (expr_no_commas): Verify we've an expr before
- 	calling C_SET_EXP_ORIGINAL_CODE.
- 
- Thu Apr 22 22:22:15 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* toplev.c (rest_of_compilation): Always set
- 	current_function_uses_only_leaf_regs appropriately.
- 
- Thu Apr 22 14:39:43 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/xm-cygwin.h (HAVE_BCOPY): Delete unneeded macro.
- 	(HAVE_BZERO): Likewise.
- 	(HAVE_BCMP): Likewise.
- 	(HAVE_RINDEX): Likewise.
- 	(HAVE_INDEX): Likewise.
- 	(DIR_SEPARATOR_2): Define.
- 	(GET_ENV_PATH_LIST): Turn path lists into POSIX.
- 	(PATH_SEPARATOR): Use ':'.
- 
- 1999-04-22 Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* configure.in: enable disabling of fast fixincludes
- 	* configure: regenerate
- 
- 1999-04-21 14:55 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* gen-protos.c: #undef abort after including system.h.
- 	Delete defns of fancy_abort and	fatal.
- 	* fix-header.c: Delete defn of fancy_abort.
- 
- Wed Apr 21 12:09:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* cccp.c (simplify_filename): Always preserve leading double slash.
- 
- Wed Apr 21 18:15:55 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md: Add new peepholes to remove redundant loads.
- 
- Wed Apr 21 17:41:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (binary patterns): Reorder alternatives
- 	so that two operand instructions are chosen before three operand
- 	instructions.
- 
- Tue Apr 20 23:38:58 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct
- 	order.
- 
- 	* Makefile.in (c-parse.c): Put BISON parameters in correct
- 	order.
- 
- Tue Apr 20 16:38:11 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (nt_lda): New pattern.
- 	* alpha.c (alpha_expand_prologue): Use it for large frames
- 	under windows nt.
- 
- Tue Apr 20 17:57:14 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/arm/arm.md (movhi):  Add check for odd offset.
- 
- Tue Apr 20 13:14:58 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* i386.c (output_move_double): Abort if a non-offsettable
- 	memory operand is encountered.  Delete unused code.
- 	(find_addr_reg): Remove.
- 
- Mon Apr 19 21:13:02 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* tree.def (BLOCK): Fix typo in comment.
- 
- 1999-04-19 14:51 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpplib.c (output_line_command): Drop CONDITIONAL argument.
- 	We can omit unnecessary line commands if file_change ==
- 	same_file and pfile->lineno != 0.  All callers changed.
- 	(cpp_get_token [case '\n']): Don't bump pfile->lineno if
- 	CPP_OPTIONS (pfile)->no_line_commands is set.
- 	* cpplib.h: Fix prototype of output_line_command.
- 
- 1999-04-18 17:46 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppfiles.c (find_position, read_and_prescan): Use `unsigned
- 	long' variables consistently to count line and column numbers.
- 
- Sun Apr 18 15:50:33 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* output.h (current_function_is_leaf,
- 	current_function_uses_only_leaf_regs): Declare.
- 	* function.c (current_function_is_leaf,
- 	current_function_uses_only_leaf_regs): Define.
- 	(init_function_start): Initialize current_function_is_leaf
- 	and current_function_uses_only_leaf_regs.
- 	* final.c (leaf_function): Don't define.
- 	(final_start_function): Replace uses of leaf_function with
- 	current_function_uses_only_leaf_regs.
- 	* toplev.c (rest_of_compilation): Set current_function_is_leaf
- 	prior to invoking local register allocation.
- 	(rest_of_compilation): Replace uses of leaf_function with
- 	current_function_uses_only_leaf_regs.
- 	* dbxout.c (dbxout_symbol, dbxout_parms): Likewise.
- 	* dwarf2out.c (add_location_or_const_vaule_attribute): Likewise.
- 	* dwarfout.c (add_location_or_const_value_attribute): Likewise.
- 	* sdbout.c (sdbout_symbol): Likewise.
- 	* sparc.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
- 	* sparc.c (eligible_for_epilogue_delay, output_return,
- 	sparc_return_peephole_ok): Likewise.
- 	* sparc.md (leaf_function attribute, untyped_return): Likewise.
- 	* i386.c (ix86_compute_frame_size): Don't align the stack
- 	for leaf functions which don't allocate any stack slots.
- 	* tm.texi: Update documentation.
- 
- Sun Apr 18 02:15:09 PDT 1999 Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Apr 18 00:08:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Correct last change --
- 	make sure FP_BASE_P registers are only used with an integer.
- 
- Sat Apr 17 22:54:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (REG_OK_FP_BASE_P): New macro.
- 	(GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Use it.
- 	* alpha.md (adddi3+1): New insn to handle large constants off
- 	the soft frame pointer.
- 	(adddi3+2): Don't split soft frame pointer or arg pointer additions.
- 
- Sun Apr 18 17:24:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (legitimize_operands): Use rtx_cost
- 	to determine if it is worthwhile forcing a constant into a register.
- 	* config/c4x/c4x.h (CONST_COSTS): An integer value of 255 or 65535
- 	used with a logical and or an integer value of 16 or 24 used with
- 	a right shift has zero cost on the C40.
- 
- Sat Apr 17 21:30:11 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
- 
- 	* gcse.c (compute_local_properties): If setp is nonzero, clear
- 	TRANSP instead of setting it to all ones.
- 
- Sat Apr 17 21:10:10 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* i386.c (i386_preferred_stack_boundary_string): New global variable.
- 	(i386_preferred_stack_boundary): New global variable.
- 	(override_functions): Set it.  Tidy option setting code.
- 	* i386.h (TARGET_OPTIONS): New command line option.
- 	(i386_preferred_stack_boundary_string): Declare it.
- 	(i386_preferred_stack_boundary): Likewise.
- 	(PREFERRED_STACK_BOUNDARY): Use i386_preferred_stack_boundary.
- 
- Sat Apr 17 19:22:38 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* i386.c (k6_cost): Take into account the decoding time.
- 
- Sat Apr 17 19:13:22 1999  Donn Terry  <donn@interix.com>
- 
- 	* i386.h (PRINT_OPERAND_PUNCT_VALID_P): Allow _.
- 	* i386.c (print_operand): New %_ operator.
- 	(load_pic_register): Proper number of leading _ in GOT literal.
- 	* i386.md (prologue_get_pc_and_set_got): Likewise.
- 	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- Sat Apr 17 19:13:07 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_prologue): Use gen_adddi3 instead of
- 	emit_move_insn+plus_constant.  For NT, don't use the stack probe
- 	loop pointer to allocate stack space.
- 	* alpha.md (adddi3): Always use lda to set the stack pointer.
- 
- 1999-04-17 20:11 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* c-aux-info.c, emit-rtl.c, explow.c, expmed.c, gcse.c,
- 	haifa-sched.c, optabs.c, reorg.c, resource.c, sched.c: Include
- 	toplev.h for real declaration of trim_filename.
- 	* Makefile.in: Update dependencies.
- 
- Sat Apr 17 14:36:19 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* tree.c (chainon): Check for circularity only if
- 	ENABLE_CHECKING is defined.
- 
- 1999-04-17 10:15 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cccp.c: Make fatal non-static.
- 
- Sat Apr 17 23:47:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*andqi3_255_clobber,*andqi3_65535_clobber):
- 	New logical and patterns using C40 bit-field insert instructions.
- 	(*lshrqi3_24_clobber,*ashrqi3_24_clobber,*lshrqi3_16_clobber,
- 	*ashrqi3_16_clobber): New shift patterns using C40 bit-field insert
- 	instructions.
- 
- 1999-04-16 22:44 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* system.h: Always prototype abort.  Prototype fatal.  Define
- 	abort to call fatal, not fprintf/exit.  Define a stub macro
- 	for trim_filename.
- 	* toplev.c: Define DIR_SEPARATOR.  (trim_filename): New
- 	function.
- 	* toplev.h: Prototype trim_filename, and #undef system.h's stub.
- 
- 	* gcc.c, genattr.c, genattrtab.c, gencodes.c, genconfig.c,
- 	genemit.c, genextract.c, genflags.c, genopinit.c, genoutput.c,
- 	genpeep.c, genrecog.c: Make fatal non-static.
- 	* gcov.c, gengenrtl.c, protoize.c: #undef abort after
- 	including system.h.
- 
- 	* config/i386/dgux.h, config/m68k/xm-amix.h: Remove stale code
- 	relating to abort.
- 
- Sat Apr 17 11:25:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (mulqf3_clrqf_clobber, mulqi3_clrqi_clobber):
- 	New patterns to support parallel multiply and load of zero.
- 
- Fri Apr 16 01:23:47 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (valid_machine_attribute): If we're modifying the
- 	FUNCTION_TYPE within a POINTER_TYPE and we don't get a decl,
- 	update the POINTER_TYPE.
- 
- Fri Apr 16 00:19:31 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* i386.c (x86_adjust_cost): Move break statement to correct place.
- 
- Thu Apr 15 23:17:33 1999  Jerry Quinn <jquinn@nortelnetworks.com>
- 
- 	* pa.h (HAVE_PRE_INCREMENT, HAVE_POST_INCREMENT,
- 	HAVE_PRE_DECREMENT, HAVE_POST_DECREMENT): Fix pa_cpu value from
- 	8000 to PROCESSOR_8000.
- 
- Thu Apr 15 20:46:57 1999  Donn Terry (donn@interix.com)
- 
- 	* expr.c (expand_assignment): Force pointers to proper mode if
- 	POINTERS_EXTEND_UNSIGNED is defined.
- 
- 	* xm-alpha.h (alloca.h): Add Interix to list of special machines
- 	that don't like alloca.h, pending using autoconf results.
- 
- 	* except.c (start_catch_hadler): Be sure rtime_address is Pmode
- 	if POINTERS_EXTEND_UNSIGNED.
- 
- 	* except.c (expand_eh_return): Force pointers to proper mode if
- 	POINTERS_EXTEND_UNSIGNED.
- 
- Thu Apr 15 23:13:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h:  Tweaked comment formatting.
- 	* config/c4x/c4x.c:  Likewise.
- 
- Thu Apr 15 02:45:19 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* aclocal.m4 (GCC_FUNC_MKDIR_TAKES_ONE_ARG): Define.
- 	* configure.in: Use.
- 	* configure: Rebuilt.
- 	* acconfig.h (MKDIR_TAKES_ONE_ARG): Add.
- 	* config.in: Rebuilt.
- 	* system.h: Use.
- 
- Thu Apr 15 01:03:21 1999  Jan Hubicka <hubicka@freesoft.cz>
- 			  Jeff Law <law@cygnus.com>
- 
- 	* i386.md (QImode add pattern): Support lea instruction.
- 	(HImode add pattern): Likewise.
- 
- 	* i386.md (ashlsi patterns): Call output_ashl instead of output_ashlsi3.
- 	(ashlqi): Use expander, separate LEA and SAL / ADD patterns; call
- 	output_ashl.
- 	(ashlhi): Likewise.
- 	* i386.h (output_ashl): Renamed from output_ashlsi3.
- 	* i386.c (output_ashl): Likewise; support HImode and QImode operands
- 	as well.
- 
- 	* i386.md (notsi, nothi, xorsi, xorhi, and xorqi patterns): Call
- 	memory_address_displacement_length instead of memory_address_length.
- 	* i386.c (memory_address_info): Renamed from memory_address_length.
- 	Accept new argument DISP_LENGTH.  All callers changed.  If DISP_LENGTH,
- 	then return the displacement length.  Else return length of the
- 	entire memory address.  Handle MULT case correctly.
- 	* i386.h (memory_address_info): Update declaration.
- 
- 	* i386.md (memory_bit_test): Fix paren error.
- 
- Wed Apr 14 21:29:18 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* flow.c: (make_edges): Always make edges from a basic block
- 	to its exception handlers, even if the block ends with a jump.
- 
- 1999-04-14 23:26 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* graph.c (node_data): Return void.  Ignore result of
- 	print_rtl_single.  Change caller to match.
- 	* integrate.c (subst_constants): Initialize op0_mode to an
- 	invalid mode, and abort before use if it's still invalid.
- 	(Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
- 	* objc/objc-act.c (get_objc_string_decl,
- 	build_selector_translation_table, generate_protocol_list,
- 	synth_id_with_class_suffix, build_keyword_selector,
- 	build_selector_expr, gen_declarator): Abort when the tree
- 	structure is corrupted.
- 
- Wed Apr 14 19:57:49 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (alpha interix): Use symbolic names to set
- 	target_cpu_default.
- 	* configure: Rebuilt.
- 
- 	* explow.c (allocate_dynamic_stack_space): Undo last change.  Use
- 	convert_memory_address instead.
- 
- Wed Apr 14 19:42:02 1999  Donn Terry (donn@interix.com)
- 
- 	* alpha/lib1funcs.asm: New file.
- 	* alpha/t-interix (lib1funcs.asm): Add to build.
- 
- 	* explow.c (allocate_dynamic_stack_space): Correctly convert TARGET
- 	to Pmode.
- 
- Wed Apr 14 14:26:36 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (truncxfdf): Output the template supplied
- 	by output_move_double with the correct operands.
- 
- 	* i386.md (extendsfdf, extendsfxf, extenddfxf): Use
- 	output_float_extend instead specifying '#' as the template.
- 	* i386.c (output_float_extend): Define.
- 	* i386.h (output_float_extend): Declare.
- 
- Wed Apr 14 10:48:03 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/mips/elf.h, config/mips/elf64.h
- 	(CTORS_SECTION_ASM_OP): Define.
- 	(DTORS_SECTION_ASM_OP): Define.
- 	(EXTRA_SECTIONS): Define.
- 	(INVOKE__main): Define.
- 	(NAME__MAIN): Define.
- 	(SYMBOL__MAIN): Define.
- 	(EXTRA_SECTIONS_FUNCTIONS): Define.
- 	(SECTION_FUNCTION_TEMPLATE): Define.
- 	(ASM_OUTPUT_CONSTRUCTOR): Define.
- 	(ASM_OUTPUT_DESTRUCTOR): Define.
- 	(CTOR_LIST_BEGIN): Define.
- 	(CTOR_LIST_END): Define.
- 	(DTOR_LIST_BEGIN): Define.
- 	(DTOR_LIST_END): Define.
- 	(LIB_SPEC): Define.
- 	(STARTFILE_SPEC): Define.
- 	(ENDFILE_SPEC): Define.
- 	* config/mips/linux.h:  Undefine all of the above.
- 	* config/mips/rtems64.h: Likewise.
- 	* config/mips/t-r3900: Likewise.
- 	* config/mips/t-elf: New file.
- 	* config/mips/vxworks.h: New file.
- 	* configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
- 	(mips*-*-*elf*):  Use t-elf instead of t-ecoff.
- 	* configure: Regenerate.
- 
- Wed Apr 14 09:59:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (emit_reload_insns): Also find equivalent mems
- 	for subregs of pseudos.
- 
- 	* alpha.c (aligned_memory_operand): Recognize the output of
- 	LEGITIMIZE_RELOAD_ADDRESS.  Examine reg_equiv_memory_loc in
- 	the event of a pseudo.
- 	(unaligned_memory_operand): Likewise.  Don't otherwise accept
- 	completely illegal addresses.
- 	(normal_memory_operand): Likewise.  Handle subregs of pseudos.
- 	(get_aligned_mem): Revert previous change.  Abort if we don't have a
- 	mem.  During reload, call find_replacement on all illegal memories.
- 	(get_unaligned_address): Likewise.
- 	* alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Use !aligned_memory_operand
- 	instead of unaligned_memory_operand.
- 	* alpha.md: Revert extra argument to get_aligned_mem.
- 	(reload_inqi): Use any_memory_operand in constraints.  Abort if
- 	we're not given some sort of mem.
- 	(reload_inhi): Likewise.
- 	(reload_outqi, reload_outhi): Likewise.
- 
- Wed Apr 14 09:39:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (neghi): Use the whole register when widening the op.
- 
- 1999-04-14 12:37 -0400  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpperror.c, cppexp.c, cpplib.c: Never call abort.
- 	* cpphash.c: Only call abort when we detect corruption of the
- 	malloc arena.
- 	* cppmain.c: Don't define fatal or fancy_abort.
- 
- Wed Apr 14 09:19:39 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* i386.c (x86_adjust_cost): Agi stall takes 1 cycle on Pentium, fst
- 	requires value to be ready one extra cycle.
- 
- Wed Apr 14 11:28:34 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* config/i386/i386.c (memory_address_length): Add missing parenthesis.
- 
- Wed Apr 14 13:59:27 1999  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* extend.texi (Deprecated Features): New node.
- 	* invoke.texi (-Wdeprecated): Document.
- 
- Wed Apr 14 00:18:22 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* i386.md (SImode logical compare): Avoid outputting non-pariable testw
- 	and testl on Pentium.
- 	(register and memory bit tests): Likewise.
- 	(setcc, normal and reversed conditional branches): Use shorter
- 	sequence for testing flags stored in EAX.
- 
- 	* i386.md (xorsi3): Do not output NOT instrctions on Pentium.
- 	(xorqi3): Likewise.
- 	(xorhi3): Likewise.
- 	(notsi2): Likewise.
- 	(notqi2): Likewise.
- 	(nothi2): Likewise; do not output prefixed opcodes when possible.
- 
- 	* i386.md (neghi2): Do not output prefixed opcode when possible.
- 	(ashlhi3): Likewise.
- 
- Wed Apr 14 00:08:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (memory_address_length): New function.
- 	* i386.h (memory_address_length): Declare it.
- 
- Tue Apr 13 22:52:04 1999  Donn Terry (donn@interix.com)
- 			  Martin Heller (Ing.-Buero_Heller@t-online.de)
- 
- 	* configure.in (interix Alpha): Add.
- 	(winnt Alpha): Use alpha32.h
- 	(interix i386): Parallel Alpha32.
- 	* configure: Rebuilt.
- 
- 	* config/interix.h: Move common elements from i386-interix.h.
- 	* config/i386/i386-interix.h: Delete same.
- 	* config/alpha/alpha-interix.h: New file.
- 
- 	* config/alpha/alpha32.h: New file, part fron win-nt.h.
- 	* config/alpha/win-nt.h: Deletions (-> alpha32.h).
- 	* config/alpha/interix.h: New file
- 
- 	* config/alpha/alpha.md (interix): Comment.
- 
- 	* config/alpha/xm-alpha-interix.h: New file.
- 
- 	* config/alpha/t-interix: New file.
- 
- 	* fixinc/mkfixinc.sh (interix/Alpha): Add.
- 
- 1999-04-13  Mike Stump  <mrs@wrs.com>
- 
- 	* i386/vxi386.h (CPP_CPU_SPEC): Define appropriately for vxworks.
- 	(CPP_PREDEFINES, LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): likewise.
- 
- Tue Apr 13 21:01:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-common.c (default_valid_lang_attribute): New fn.
- 	(valid_lang_attribute): New callback ptr.
- 	(decl_attributes): Call it.  Move init_priority support into
- 	C++ frontend.
- 
- Tue Apr 13 17:47:14 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (movdi): Add splitter.
- 
- Wed Apr 14 10:04:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (storeqf_int, storeqf_int_clobber, loadqf_int,
- 	loadqf_int_clobber): Add new patterns with corresponding splitters
- 	to handle moves of floating point values into and out of intager
- 	registers by using memory.
- 
- 	* config/c4x/c4x.c (c4x_check_legit_addr): Disallow PRE_INC for modes
- 	other than QFmode and QImode.
- 	(mixed_subreg_operand): New function.
- 	(c4x_emit_move_sequence): If moving a floating point value into or
- 	out of an integer register, use the new patterns storeqf_int_clobber
- 	or loadqf_int_clobber.
- 	(reg_imm_operand, *_reg_operand): Call reg_operand instead of
- 	register_operand.
- 	(reg_operand, src_operand): Disallow operand if it satisifes
- 	mixed_subreg_operand.
- 
- 	* config/c4x/c4x.h (mixed_subreg_operand): Add prototype.
- 
- Tue Apr 13 14:49:13 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.c (agi_dependent): Handle push operation more correctly.
- 
- Tue Apr 13 14:45:17 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (anddi3): Add % constraint.
- 	(iordi3, xordi3): Likewise.
- 
- Tue Apr 13 14:29:58 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (extendhisi2): Output mov instead of cw instruction for K6
- 	to improve decoding bandwidth.
- 	* i386.md (extendhiqi2): Likewise.
- 
- Tue Apr 13 14:26:31 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (movsf_push): Handle memory to memory case too, new splitter.
- 	(movdf_push, movxf_push): Likewise.
- 	(movsf_push_memory, movdf_push_memory, movxf_push_memory): Remove.
- 
- Tue Apr 13 14:14:06 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md: Do not output mov %0,reg on AMD K6.
- 
- Tue Apr 13 12:14:07 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cppinit.c (cpp_start_read): Fix buffer overwrite.
- 	* Makefile.in (cppinit.o): Typo in dependencies.
- 
- Tue Apr 13 05:04:59 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (function prototypes for arm.c): Ifdef these out if
- 	HAVE_CONFIG_H is not defined.
- 
- Tue Apr 13 02:11:11 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c: Avoid Using immediate zero for register zero.
- 	* pa.md: Likewise.
- 
- 	* pa.c (print_operand, case 'f'): New case for FP register or 0.0.
- 	(print_operand, case 'r'): Use %r0 for zero value.
- 	* pa.md (move patterns, fcmp patterns): Use new %f output arg.
- 
- 	* pa.c: Use a register name, not a raw immediate in branch,
- 	compare/clear, sub, subb, uaddcm and vshd instructions.
- 	* pa.md: Likewise.
- 
- 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
- 
- 	* pa.c: Use a register name, not a raw immediate in "bv" instructions.
- 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
- 
- 	* pa.c: Remove space register specification in memory addresses,
- 	except where it is actually needed.
- 	* pa.md, pa.h, ee.asm, ee_fp.asm, lib2funcs.asm: Likewise.
- 
- Mon Apr 12 23:34:35 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Apr 12 14:58:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* reg-stack.c (check_stack_regs_mentioned): Remove variable SIZE.
- 
- Mon Apr 12 19:15:17 1999  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Add missing backslash.
- 
- Mon Apr 12 19:11:38 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mconsole; fix
- 	-mno-nop-fun-dllimport and minor doc fixes.
- 	(STARTFILE_SPEC): Cygwin DLLs don't have dllcrt0.
- 	(LINK_SPEC): Add -mconsole support.
- 	* i386/mingw32.h (LIB_SPEC): Make libraries consistent with
- 	Cygwin.
- 	(LINK_SPEC): Remove. Use Cygwin's version.
- 	(MATH_LIBRARY): Make it null.
- 	* i386/crtdll.h (MATH_LIBRARY): Likewise.
- 
- Fri Apr 12 15:00:52 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* c-decl.c (c_decode_option, start_decl, start_function,
- 	finish_function) : Recognize -Wno-main so we can avoid warnings.
- 
- 1999-04-12  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpphash.c (collect_expansion, macroexpand,
- 	push_macro_expansion): Make the escape character in macro
- 	buffers '\r', not '@'.  Remove code to protect literal
- 	occurrences of the escape character; '\r' cannot appear
- 	in a macro buffer unless we put it there.
- 	* cpplib.c (skip_comment, copy_comment, cpp_skip_hspace,
- 	copy_rest_of_line, cpp_get_token, parse_string,
- 	parse_assertion): '\r' might be a backslash-newline marker, or
- 	it might be a macro escape marker, depending on
- 	CPP_BUFFER (pfile)->has_escapes.  '@' is not a special
- 	character.
- 	* cpplib.h: Update commentary.
- 
- Mon Apr 12 09:30:03 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (target_fp_name, structure_size_string, arm_cpu_select):
- 	Const-ify.
- 	* arm.c (target_fp_name, structure_size_string): Const-ify.
- 
- 	* arm.md (reload_inhi, reload_outhi): Make the scratch DImode.
- 	* arm.c (arm_reload_in_hi): Handle cases when the input is still
- 	a pseudo, make use of scratch registers for reloading the address
- 	as appropriate.
- 	(arm_reload_outhi): Similarly for when the output is still a pseudo.
- 
- 	* riscix.h (SUBTARGET_SWITCHES): Document.
- 
- 1999-04-12  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixincludes:
- 	make fixincludes behave like the scripts in fixinc/
- 
- 	* Makefile.in( stmp-fixinc ):
- 	ensure the SHELL value is that of the make
- 
- 	* fixincl/inclhack.tpl:
- 	the file name lists ought to be restricted to "*.h" anyway
- 	C++ files may be named .../[a-z]++/... also
- 	Adding copyright year and attribution to output
- 
- 	* fixincl/inclhack.def:
- 	fixed broken expression
- 	Clarify a some comments
- 
- 	* fixincl/fixincl.tpl:
- 	Clarify a some comments
- 	Remove dead template text
- 	Correct the counting of regular expressions
- 
- Mon Apr 12 03:07:44 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (aligned_memory_operand): Handle out of range stack slots.
- 	Take a new SCRATCH argument for the occasion.  Update all callers.
- 	(get_unaligned_address): Abort on out of range stack slots.
- 	* alpha.md (adddi3 splitter): Check s_p_rtx not REGNO.
- 	(reload_inqi): Check for aligned mems before unaligned.
- 	(reload_inhi): Likewise.
- 
- Mon Apr 12 03:11:30 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (flow_delete_insn): If we delete a CODE_LABEL, also remove
- 	it from the nonlocal_goto_handler_labels list.
- 	* jump.c (delete_insn): Likewise.
- 	(jump_optimize_1): Also recompute LABEL_NUSES when we are just
- 	marking labels.
- 	* rtl.h (remove_node_from_expr_list): Declare.
- 	* rtlanal.c (remove_node_from_expr_list): New function.
- 
- Mon Apr 12 02:37:02 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* reg-stack.c: Update comment, include varray.h.
- 	(stack_regs_mentioned_data): New global variable.
- 	(check_stack_regs_mentioned): New function.
- 	(stack_regs_mentioned): New function.
- 	(reg_to_stack): Initialize and free stack_regs_mentioned_data,
- 	use stack_regs_mentioned.
- 	(record_asm_reg_life): Change insn type cache for changed insn.
- 	(record_reg_life): Do not change the insn mode.
- 	(emit_pop_insn): Likewise.
- 	(emit_swap_insn): Likewise.
- 	(move_for_stack_reg): Likewise.
- 	(stack_reg_life_analysis): Use stack_regs_mentioned.
- 	(emit_swap_insn): Likewise.
- 	(subst_stack_regs): Likewise.
- 	(convert_regs): Likewise.
- 	* jump.c (find_cross_jump): Use stack_regs_mentioned.
- 	* rtl.h (stack_regs_mentioned): Declare.
- 
- Mon Apr 12 00:57:10 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* integrate.c (INTEGRATE_THRESHOLD): Sync it with the comment.
- 
- Sun Apr 11 10:24:18 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (rtx_def): Update documentation for jump and call.
- 
- Sun Apr 11 07:43:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* jump.c (jump_optimize_1): Make the definition static to match
- 	the prototype.
- 
- Sat Apr 10 22:51:53 1999  Jan Hubicka  <hubicka@limax.paru.cas.cz>
- 
- 	* flow.c (life_analysis): New parameter remove_dead_code.
- 	(life_analysis_1): Likewise.
- 	(propagate_block): Likewise; use it.
- 	* output.h: Update prototype.
- 	* toplev.c: Update calls to life_analysis.
- 
- Sat Apr 10 22:12:12 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* recog.c (constrain_operands): Ignore unary operators when
- 	matching operands.  Recognize '5'..'9' as well.
- 
- Sat Apr 10 21:53:02 1999  Philipp Thomas  (kthomas@gwdg.de)
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Set target_cpu_default2 for target_alias k6.
- 	* i386.h (TARGET_SWITCHES): Remove no-<cpu> entries.
- 	(CC1_CPU_SPEC): Likewise.
- 	(CPP_CPU_DEFAULT_SPEC): Streamline definition.  Add K6 version.
- 	(CPP_K6_SPEC): New.
- 	(CPP_CPU_SPEC): Add K6 variant.
- 	(EXTRA_SPECS): Likewise.
- 
- Fri Apr  9 11:29:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (merge_blocks_nomove): Rewrite to properly handle two
- 	blocks that vanish entirely during merging.
- 
- Sat Apr 10 20:09:55 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
- 	floatsixf2, floatdixf2, movsicc, movhicc, movsfcc, movdfcc,
- 	movxfcc, movdicc): Remove unused register constraints from
- 	the splitters.
- 
- 	* i386.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
- 	fixuns_truncxfsi2): Delete.
- 
- 	* reg-stack.c (delete_insn_for_stacker): Ensure that
- 	the only side effects of a PARALLEL are clobbers.
- 	(subst_stack_regs): Handle subst_stack_regs_pat deleting
- 	a PARALLEL.
- 	* i386.md (extendsfdf2, extenddfxf2,
- 	extendsfxf2): Rewrite using a splitter.
- 	* i386.c (output_op_from_reg): Remove.
- 	* i386.h: Likewise.
- 
- Sat Apr 10 13:09:18 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (di_operand): Allow SUBREGs as well.
- 	(soft_df_operand): Allow SUBREGs as well.
- 
- Sat Apr 10 06:14:31 1999  Jan Hubicka  <hubicka@paru.cas.cz>
- 
- 	* extend.texi (Assembler Instructions with C Expression Operands):
- 	Document the i386 floating point operands.
- 
- 1999-04-10  Mike Stump  <mrs@wrs.com>
- 
- 	* configure.in (*-*-vxworks): Add vxWorks thread support for all
- 	vxWorks targets.
- 	* configure.in (thumb-wrs-xvworks): Add vxWorks support for thumb.
- 	* configure: Rebuilt.
- 
- Sat Apr 10 06:04:50 1999  Donn Terry  (donn@interix.com)
- 
- 	* i386/t-interix: Use mostly system headers unchanged.
- 	Use system assert.h
- 	* fixinc/fixinc.interix: Ditto (make almost no-op).
- 	* config/x-interix.h (_ALL_SOURCE): add -D
- 	* config/x-interix.h (crti.o): Delete dependency.
- 	* config/xm-interix.h (ONLY_INT_FIELDS): Define only when bootstrapping.
- 	* i386/xm-i386-interix.h: New file.
- 	* i386/interix.h (ASM_OUTPUT_LIMITED_STRING): Fix warnings.
- 	* i386/i386-interix.h: Renamed from interix.h.
- 	* configure.in (interix): Use new files.
- 	* configure: Rebuilt.
- 
- Sat Apr 10 05:25:28 1999  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Fix conditions
- 	for -Dunix and -Dlinux, and remove duplicate definition.
- 	Change -Asystem(linux) to -Asystem(posix).
- 	(CPP_OS_SOLARIS_SPEC): Fix conditions for -Dunix, -Dsun,
- 	-DSVR4, -D__EXTENSIONS__.
- 
- 	* rs6000/linux.h (CPP_PREDEFINES): Remove -Dunix,
- 	-Dlinux, -Asystem(linux), and -Asystem(unix).
- 
- Sat Apr 10 05:14:50 1999  Mark Elbrecht  <snowball3@usa.net>
- 
- 	* i386/djgpp.h (SET_ASM_OP): Define.
- 
- 	* cccp.c (DIR_SEPARATOR): Move to the top of the file.
- 	(is_dir_separator): New function.
- 	(simplify_filename): Use it.
- 	* collect2.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM in place
- 	of the DIR_SEPARATOR test.
- 	Consider any file starting with a drivename to be absolute.
- 	If the absolute filename test fails and EXECUTABLE_SUFFIX is
- 	defined, append EXECUTABLE_SUFFIX to the file and try again.
- 	* cppinit.c (base_name): Use HAVE_DOS_BASED_FILE_SYSTEM
- 	in place of __MSDOS__ and _WIN32.
- 	* cppfiles.c (simplify_pathname): Likewise.
- 	* gcc.c (IS_DIR_SEPARATOR): Define new macro. Returns true if a
- 	character is a directory separator.
- 	(find_a_file): Use it.
- 	(convert_filename): Likewise.
- 	(process_command): Likewise.
- 	(do_spec_1): Likewise.
- 	(is_directory): Likewise.
- 	(main): Likewise.
- 	* prefix.c (IS_DIR_SEPARATOR): Define. Tests whether a character is
- 	a directory separator.
- 	(translate_name): Use it.
- 	(update_path): Change DIR_SEPARATOR_2 to DIR_SEPARATOR. Fix
- 	warning in block where '/' is changed to DIR_SEPARATOR.
- 	* i386/xm-djgpp.h (DIR_SEPARATOR): Set to '/'.
- 	(DIR_SEPARATOR_2): New macro. Set to '\'.
- 	(HAVE_DOS_BASED_FILESYS): Define.
- 	* i386/xm-mingw32.h: Updated copyright. Set
- 	DIR_SEPARATOR_2 to '/'. Define HAVE_DOS_BASED_FILE_SYSTEM.
- 	* i386/xm-os2.h: Likewise.
- 	* winnt/xm-winnt.h: Likewise.
- 	* i386/xm-dos.h: Likewise.  Add copyright.
- 
- 1999-04-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.h (TARGET_SWITCHES): Add option to vary assembler syntax.
- 	(TARGET_DEFAULT): Possibly use UNIX syntax.
- 	(TARGET_UNIX_ASM, TARGET_UNIX_ASM_DEFAULT): New macros.
- 	(REGISTER_NAMES): Use "r5" instead of "fp".
- 	(ASM_OUTPUT_ALIGN): Use ".even" directive, and abort for any
- 	greater alignment.
- 	* 2bsd.h (TARGET_UNIX_ASM_DEFAULT): Default to UNIX assembler
- 	syntax for 2BSD.
- 	* pdp11.c (output_ascii): Use working syntax for ".byte".
- 	(print_operand_address): Use "*" instead of "@" when using UNIX
- 	assembler syntax.
- 
- Sat Apr 10 03:50:12 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.h (rebuild_jump_labels): Declare.
- 	* jump.c (jump_optimize_1): Renamed from jump_optimize.  Make static.
- 	Add new argument MARK_LABELS_ONLY.  Quit after mark_all_labels if
- 	requested.
- 	(jump_optimize, rebuild_jump_labels): New wrapper functions for
- 	jump_optimize_1.
- 	* toplev.c (rest_of_compilation): Use rebuild_jump_labels instead of
- 	running the entire jump optimizer.
- 
- 	* rtl.h (local_alloc): Returns an integer now.
- 	* local-alloc.c (recorded_label_ref): New file scoped variable.
- 	(local_alloc): Initialize recorded_label_ref to zero.  Return its
- 	value when local allocation has completed.
- 	(update_equiv_regs); If we create an equivalence for a LABEL_REF,
- 	set recorded_label_ref.
- 	* toplev.c (rest_of_compilation): Run the jump optimizer after
- 	register allocation and reloading if needed.
- 
- Fri Apr  9 21:02:57 1999  Krister Walfridsson  (cato@df.lth.se)
- 
- 	* i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Fix typo.
- 	* i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- 
- 1999-04-09  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpphash.c (special_symbol): When expanding __LINE__, use the
- 	top file buffer, not the top buffer.
- 
- Fri Apr  9 13:41:04 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (check-g++, check-gcc, check-g77, check-objc): Add
- 	cd .. to TCL_LIBRARY command.
- 
- Fri Apr  9 13:04:52 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/unknown-elf.h (SUBTARGET_CPU_DEFAULT): Only define if
- 	not already specified.
- 
- Fri Apr  9 11:18:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-common.c (decl_attributes, A_INIT_PRIORITY): Allow arrays
- 	of classes, too.
- 
- Fri Apr  9 10:40:10 1999  Kaveh R. Ghazi  <ghazi@snafu.rutgers.edu>
- 
- 	* rs6000.c (rs6000_override_options, ptt, rs6000_file_start,
- 	rs6000_float_const, rs6000_replace_regno, debug_stack_info,
- 	rs6000_output_load_toc_table, output_prolog, output_epilog):
- 	Const-ify a char*.
- 	(output_mi_thunk): Likewise.  Mark parameter `thunk_fndecl' with
- 	ATTRIBUTE_UNUSED.  Hide unused variables `r0', `sp', `toc',
- 	`schain', `r12', `buf' and `labelno'.
- 	(output_ascii): Const-ify a char*.
- 	(rs6000_gen_section_name): Initialize variable `last_period'.
- 	(rs6000_adjust_priority): Mark parameter `insn' with
- 	ATTRIBUTE_UNUSED.
- 	(rs6000_trampoline_template, rs6000_dll_import_ref,
- 	rs6000_longcall_ref, rs6000_encode_section_info): Const-ify a char*.
- 
- 	* rs6000.h (offsettable_mem_operand, optimization_options): Add
- 	prototypes.
- 
- 	* rs6000.md (movdi, define_split): Cast a value to HOST_WIDE_INT
- 	when comparing against one.
- 
- Thu Apr  8 19:20:18 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (expand_expr, case ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF):
- 	Do not try to optimize an aggregate address which has VOIDmode.
- 	Mirrors March 23 change to expand_assignment.
- 
- 	* flow.c (delete_unreachable_blocks): Do not require EDGE_FALLTHRU
- 	for an edge when tidying an edge which connects consecutive basic
- 	blocks.
- 
- 	* flow.c (can_delete_label_p): Do not convert a label into a
- 	deleted label here.
- 
- 	* cse.c (flush_hash_table): New function.
- 	(cse_insn): Flush the hash table when we encounter a volatile asm.
- 	(cse_basic_block): Use flush_hash_table instead of doing it
- 	inline.
- 
- 	* reload1.c (reload_cse_regs_1): Flush known register values if
- 	we encounter a volatile asm.
- 
- 	* loop.c (strength_reduce): Re-enable Joern's loop improvements.
- 
- Thu Apr  8 09:37:40 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (arm_print_operand): Undo previous change -
- 	always print large constants in decimal.
- 
- Thu Apr  8 10:22:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (host_xm_file, build_xm_file): Include hwint.h.
- 	Use case statements instead of "if test -a ... -a ... -a ..."
- 
- 	* machmode.h: Don't define HOST_WIDE_INT, etc. Wrap use of
- 	HOST_WIDE_INT in #ifdef.
- 
- 	* mips.h: Include hwint.h instead of providing definitions for
- 	HOST_WIDE_INT, etc.  Wrap uses of HOST_WIDE_INT in #ifdef.
- 
- Thu Apr  8 06:16:14 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (truncdfsf2, truncxfsf2,
- 	truncxfdf2): Rewrite using a splitter.
- 
- Thu Apr  8 01:26:05 1999  Arg Haas  (ahaas@neosoft.com)
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Avoid ambiguous
- 	else statement.
- 	* gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- 	* linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- 	* openbsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- 
- Wed Apr  7 22:40:19 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i960/i960.c (i960_function_prologue): Don't save static chain
- 	pointer.
- 	* i960/i960.h (STACK_CHAIN_REGNUM): Change from r3 to g12.
- 	(TRAMPOLINE_TEMPLATE): Likewise.
- 	(FRAME_POINTER_REQUIRED): Check current_function_has_nonlocal_goto.
- 	* i960/i960.md (nonlocal_goto): Rewrite.
- 
- Tue Apr  6 17:49:49 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/lib1funcs.asm: Test for __ELF__ not __elf__.
- 
- Wed Apr  7 14:07:34 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.c (h8300_adjust_insn_length): Also avoid recognizing
- 	ADDR_VEC and ADDR_DIFF_VEC insns.
- 
- 	* h8300.c (h8300_adjust_insn_length): Avoid trying to recognize
- 	USE, CLOBBER or SEQUENCE insns.
- 
- 	* unroll.c (unroll_loop): For HAVE_cc0 machines, adjust copy_end_luid
- 	to account for the uncopied insn that sets cc0 at the end of the loop.
- 
- 	* unroll.c (copy_loop_body): Always ensure at least two insns
- 	are in the copied loop.
- 
- Wed Apr  7 14:52:18 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/mips/elf.h (MAKE_DECL_ONE_ONLY): Define.
- 	(UNIQUE_SECTION_P): Define.
- 
- 1999-04-07  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/inclhack.tpl & fixincl.tpl:
- 	Remove dynamic content from generated files
- 
- Wed Apr  7 13:16:22 1999  John Wehle  (john@feith.com)
- 
- 	* i386.c (output_move_memory): Remove.
- 	* i386.h: Likewise.
- 
- 	* i386.md (movsi, movhi, movstricthi, movqi, movstrictqi,
- 	movsf, movdf, movxf, movdi): Check no_new_pseudos instead
- 	of (reload_in_progress | reload_completed).
- 
- Wed Apr  7 03:16:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (reg_no_subreg_operand): New function.
- 	* alpha.h (PREDICATE_CODES): Add it.
- 	* alpha.md (floatdi?f patterns): Use it for op1.
- 
- 	* alpha.c (alpha_end_function): Don't flag weak functions.
- 
- Wed Apr  7 02:11:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_builtin) [BUILT_IN_RETURN_ADDRESS]: Use
- 	copy_to_mode_reg; don't force constants into a register.
- 
- Tue Apr  6 22:55:25 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (compile_file): Typo flow_dump -> flow2_dump.
- 
- 1999-04-06  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.c (simple_memory_operand): Add default case in switch.
- 	* pdp11.h (TARGET_SWITCHES): Add help strings.
- 	(NOTICE_UPDATE_CC): Don't include excess argument to format.
- 	(ASM_OUTPUT_DOUBLE_INT): Remove.
- 
- Tue Apr  6 22:09:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_builtin_setjmp): Put setjmp return label on
- 	nonlocal_goto_handler_labels for flow.
- 
- Tue Apr  6 22:05:21 1999  Jan Hubicka  <hubicka@paru.cas.cz>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (verify_flow_info): New function.
- 	(find_basic_blocks): Call it if ENABLE_CHECKING.
- 	(merge_blocks): Don't merge if there are non-deletable labels.
- 	* toplev.c (fatal_insn): Allow a printf-style arg list.
- 	* toplev.h (fatal_insn): Update prototype.
- 
- Tue Apr  6 16:18:58 1999  Jan Hubicka  <hubicka@paru.cas.cz>
- 
- 	* flow.c (split_edge) update correctly flow graph, disable
- 	EDGE_CRITICAL flag on the split edge, update NUSES for new label.
- 
- Tue Apr  6 15:47:51 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use XWINT not XINT.
- 	Clear third and following slots, if they exist.
- 
- Tue Apr  6 15:45:28 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (create_basic_block): Make sure the bb note is in the block.
- 	(can_delete_note_p): Rename from delete_note_p.
- 	(delete_insn_chain): Preserve undeleteable labels too.
- 	(tidy_fallthru_edge): Use next_real_insn instead of confusing
- 	inline code.
- 
- 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppexp.c (parse_charconst): Initialize c.
- 	(cpp_parse_expr): Initialize rprio.
- 	* cppfiles.c (merge_include_chains): Initialize prev.
- 	(finclude): Set fp->line_base to fp->buf before returning.
- 	* cpphash.c (macroexpand): Initialize token.
- 	* cppspec.c (lang_specific_driver): Change suff to
- 	const char *const *.
- 
- 1999-04-06  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppinit.c (install_predefs): Delete function.
- 	(cpp_start_read): Don't call install_predefs.
- 	(cpp_handle_option): Remove case 'u' and all refs to
- 	opts->inhibit_predefs.
- 	(print_help): Don't mention -undef.
- 	(initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to
- 	match cccp.
- 	* cpplib.h (struct cpp_options): Remove inhibit_predefs
- 	member.
- 
- 	* cccp.c (predefs): Delete variable.
- 	(main): Remove case 'u' in argument parse loop,
- 	'inhibit_predefs' variable, and the code block that would
- 	process CPP_PREDEFINES.
- 	(initialize_builtins): Don't define __OBJC__, the driver will
- 	do that.
- 
- 	* gcc.c (default_compilers): Remove -undef from all specs that
- 	invoke a C preprocessor.
- 	* ch/lang-specs.h: Likewise.
- 	* cp/lang-specs.h: Likewise.
- 	* f/lang-specs.h: Likewise.
- 	* objc/lang-specs.h: Likewise.
- 
- Mon Apr  5 11:55:31 1999  Donn Terry  (donn@interix.com)
- 
- 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix misapplied patch.
- 
- Mon Apr  5 11:51:38 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (movdf): Hide GPR sources & destinations from regclass.
- 
- Mon Apr  5 09:54:42 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Apr  5 05:55:15 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixincl.tpl: Separate "-e" from its argument, a la
- 	the Sat Apr  3 17:05:13 1999 fix.
- 	* genfixes: Ensure that the server shell is _NOT_ csh.
- 
- Mon Apr  5 03:52:30 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Apr  5 04:47:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.c (x86_double_with_add): Turn off for Pentium and PPro.
- 	(small_shift_operand, output_ashlsi3): New functions.
- 	* i386.h (small_shift_operand, output_ashlsi3): Declare.
- 	* i386.md (ashlsi3): Simplify ahlsi3 patterns.  Remove splitters
- 	that are no longer needed.
- 
- Sun Apr  4 04:05:04 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (expand_loop_end): When copying the loop exit test,
- 	do not walk into a nested loop.
- 
- Sun Apr  4 00:14:54 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/hackshell.tpl: Skip links to directories, to avoid
- 	removing them.
- 	* fixinc/inclhack.tpl: Likewise.
- 	* fixinc/fixinc.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
- 
- Sat Apr  3 23:46:13 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (addsi3, iorsi3, xorsi3, adddi3, iordi3, xordi3,
- 	movsi_got, movsi, movsf): Use no_new_pseudos.
- 	* rs6000.c (rs6000_got_register): Likewise.
- 	(offsettable_mem_opereand): Use || not |.
- 
- Sat Apr  3 22:02:56 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* acconfig.h (ENABLE_CHECKING): Remove redundant #undef.
- 	* config.in: Rebuilt.
- 
- Sat Apr  3 16:22:59 1999  Toshiyasu Morita  (tm@netcom.com)
- 
- 	* gcc.texi: Add info on regmove pass.
- 
- 	* regmove.c (fixup_match_1): Consistently evaluate
- 	HAVE_POST_INCREMENT and HAVE_POST_DECREMENT.
- 
- Sat Apr  3 19:21:05 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER): Use grep
- 	instead of test and sed to check whether they're GNU programs.
- 	* configure: Rebuilt.
- 
- Sat Apr  3 17:57:35 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* Makefile.in (install-headers-tar, install-headers-cpio): Avoid
- 	problems with CDPATH.
- 	Reported by Ralf Canis <canis@bigfoot.com>
- 
- Sat Apr  3 13:50:16 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc.x86-linux-gnu: Deleted.
- 
- Sat Apr  3 17:05:13 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* inclhack.tpl: Insert spaces between `sed -e' and '...'.
- 	Reported by Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- 	* fixinc/fixincl.sh, fixinc/fixincl.x, fixinc/inclhack.sh: Regen.
- 
- Sat Apr  3 14:54:46 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* tree.def (BLOCK): Fix typo in comment.
- 
- Sat Apr  3 00:53:29 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (floatsisf2, floatdisf2, floatsidf2, floatdidf2,
- 	floatsixf2, floatdixf2): Rewrite using a splitter.
- 
- Fri Apr  2 17:36:10 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (arm_print_operand): Print large constants in
- 	hex rather than decimal.
- 
- Fri Apr  2 17:23:58 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): Use both HOST_WIDE_INT_PRINT_DEC
- 	and HOST_WIDE_INT_PRINT_HEX to display constants.
- 
- 1999-04-02  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* config/i386/i386.h: Document all TARGET_SWITCHES or add
- 	explicit null initializer.
- 
- 	* config/i386/cygwin.h: Document all SUBTARGET_SWITCHES.
- 	* config/i386/dgux.h: Likewise.
- 	* config/i386/osf1elf.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 	* config/i386/osfrose.h: Likewise.  Drop obsolete -mno-ident option.
- 
- Fri Apr  2 17:49:44 1999  Toshiyasu Morita  <tm@netcom.com>
- 
- 	* regmove.c (fixup_match_1): Remove now useless if (0).
- 
- Sat Apr  3 11:37:20 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* tm.texi (USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
- 	USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT): Document.
- 	(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
- 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Fix documentation.
- 
- 	* rtl.h	(USE_LOAD_POST_DECREMENT, USE_LOAD_PRE_DECREMENT,
- 	USE_STORE_POST_DECREMENT, USE_STORE_PRE_DECREMENT,
- 	USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
- 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Provide default
- 	definition.
- 
- 	* expr.c (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_INCREMENT,
- 	USE_STORE_POST_INCREMENT, USE_STORE_PRE_INCREMENT): Delete default
- 	definition.
- 
- Fri Apr  2 16:03:05 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc.dgux, fixinc.interix, fixinc.irix, fixinc.ptx: Deleted.
- 	* fixinc.sco, fixinc.svr4, fixinc.winnt, fixinc.wrap: Likewise.
- 
- Fri Apr  2 15:46:25 1999  Donn Terry  (donn@interix.com)
- 
- 	* configure.in: Set and substitute quoted_cc_set_by_configure.
- 	* configure: Rebuilt.
- 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Fix quoting problem with ``.
- 
- Fri Apr  2 14:35:45 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* config/i386/cygwin.h (CPP_SPEC): Use mingw_include_path instead
- 	of a hardcoded path for -mno-cygwin.
- 	(mingw_include_path): New.
- 
- 1999-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.c: Include "recog.h".
- 	(output_function_prologue): Remove unused variables `nregs', `i',
- 	`offset'.
- 	(output_function_epilogue): Remove unused variables
- 	`may_call_alloca', `nregs', `regno', `adjust_fp'.
- 	(output_ascii): Mark as returning void.
- 	(print_operand_address: Likewise.
- 	(simple_memory_operand): Remove unused variables `plus0', `plus1',
- 	`offset'.
- 	* pdp11.h: Declare functions `arith_operand',
- 	`const_immediate_operand', `expand_shift_operand',
- 	`legitimate_address_p', `notice_update_cc_on_set', `output_ascii',
- 	`output_function_epilogue', `output_function_prologue',
- 	`print_operand_address', `register_move_cost',
- 	`simple_memory_operand'.
- 	(HARD_REGNO_MODE_OK): Parenthesize `REGNO' arg.
- 	(REGNO_REG_CLASS): Likewise.
- 	* pdp11.md: Add explicit `int' to `static count' (in two places).
- 	(addhi3): Add explicit braces to avoid ambiguous else.
- 	(addqi3): Likewise.
- 	(ashlhi3): Likewise.
- 
- Fri Apr  2 14:17:10 1999  Jerry James  <jerry@cs.ucsb.edu>
- 
- 	* gcc/invoke.texi: Add documentation for additional supported
- 	MIPS CPU types, options -mips16 and -mentry, and ABI and ISA
- 	defaults.
- 
- Fri Apr  2 14:12:06 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md: Delete floating point compare, add, subtract,
- 	multiply, and divide patterns which allowed integer
- 	operands.
- 	* i386.c (output_387_binary_op): Delete unused code.
- 	(output_float_compare): Likewise.
- 
- Fri Apr  2 11:53:37 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (movsf+1, movdf+1, movxf+1): Update constraints
- 	so that SECONDARY_MEMORY_RELOAD is used.  Remove dead code.
- 
- 1999-04-02  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/mkfixinc.sh: Added support for x86-interix.
- 	* fixinc/fixinc.interix: Fixincludes script, slight changes
- 	from ./fixinc.interix.  Untested (needs interix box).
- 	* fixinc/inclhack.def:
- 	Complete the change to the 'fixinc.tmp' file.
- 	Fixed regex for finding C++ headers.
- 	* fixincl.x, fixincl.sh, inclhack.sh: Regenerate.
- 
- Fri Apr  2 11:36:12 1999  Jan Hubicka  (hubicka@paru.cas.cz)
- 
- 	* i386.c (print_operand_address, case REG): Do not use ESI addressing
- 	mode for the K6.
- 
- 	* i386.c (print_operand_address, case MULT): Use more efficient
- 	encoding (mult (reg) (const_int 2)).
- 
- Thu Apr  1 17:01:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	Move over patch from Bernd Schmidt from GC branch:
- 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
- 	(gen_rtx): Call it.  Tidy cases.
- 	* rtl.h (gen_rtx_CONST_DOUBLE): Prototype it.
- 	* gengenrtl.c: Add commentary.
- 	(special_rtx): Also match CONST_DOUBLE.
- 	(gencode): Emit call to memset instead of bzero.
- 
- Fri Apr  2 12:58:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (ashlhi3, lshrhi3, ashrhi3): Force operand 1
- 	into a register if shift count not constant.
- 	(ashlhi3_reg, lshrhi3_reg, ashrhi3_reg): Ensure that operand 1
- 	is a register.
- 
- Fri Apr  2 12:19:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*db): Enable pattern if TARGET_LOOP_UNSIGNED
- 	is nonzero.
- 	(movstrqi_small, movstrqi_large, *cmpstrqi): Add + modifier to address
- 	register constraints.
- 	(*movhi_clobber+1): Modify splitter pattern to handle destination
- 	register that is used in the source address.
- 	(*xorhi3_clobber): Replace AND with XOR in call to legitimize_operands.
- 
- Fri Apr  2 12:16:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h: Added more comments.
- 
- Fri Apr  2 11:58:22 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_emit_move_sequence): Force invalid QImode
- 	constants into memory if we get called directly from gen_move_insn
- 	rather than emit_move_insn.
- 	(c4x_legitimize_address): Fix up LABEL_REF addresses.
- 
- Thu Apr  1 12:04:05 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (store_field): When check direct_store, assume all complex
- 	modes can be directly stored.
- 
- 1999-04-01  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/genfixes: New shell script that runs autogen
- 	to create the generated files.
- 
- 1999-04-01  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (cppmain$(exeext)): Depend on intl.o.  Link in intl.o.
- 
- Thu Apr  1 03:48:34 1999  H.J. Lu  (hjl@gnu.org)
- 
- 	* i386.c (output_fp_conditional_move): Abort for LT, LE, GE, and GT
- 	signed integer comparisons.
- 
- 	* i386.c (output_int_conditional_move): Use "enum rtx_code" for code
- 	type.
- 
- 	* i386.c (notice_update_cc): No need to check the INT mode for
- 	conditional moves since FLOAT conditional moves don't affect cc0.
- 
- Thu Apr  1 02:17:18 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/inclhack.def (zzz_ki_syscalls, zzz_time): Fix trigger
- 	string to only match on hpux11.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
- 
- Thu Apr  1 01:09:27 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* fixinc/hackshell.tpl: Complete transition to fixinc.tmp.
- 	* fixinc/inclhack.sh: Rebuilt.
- 
- 	* fixinc/inclhack.def: Fix typos in c_asm.h fix.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixinc.sh: Rebuilt.
- 
- Wed Mar 31 17:20:11 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (rest_of_compilation): Allow dbr_schedule to write to
- 	the dump file too.
- 
- Wed Mar 31 12:32:43 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): New argument `do_cleanup'.
- 	Conditionally call delete_unreachable_blocks.
- 	(free_basic_block_vars): Zero ENTRY/EXIT data.
- 	(allocate_for_life_analysis): Kill.  Split into...
- 	(allocate_bb_life_data, allocate_reg_life_data): ... new functions.
- 	(life_analysis_1): Update.
- 	* gcse.c (gcse_main): Update find_basic_blocks call.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* stupid.c (stupid_life_analysis): Update life data calls.
- 	* rtl.h, output.h: Update prototypes.
- 
- Wed Mar 31 12:10:00 1999  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* inclhack.def (several): Added spaces in tests to ensure
- 	correct shell syntax.  Added c_asm.h fix from fixincludes.
- 	Also corrected the corrected fix to C++ comments :-}
- 
- 	* inclhack.tpl: Changed method of traversing symlink trees
- 	so that file name matching will work correctly.
- 
- 	* fixincl.c, hackshell.tpl: Fallout from above.
- 	* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
- 
- Tue Mar 30 10:43:49 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/aout.h (DBX_DEBUGGING_INFO): Avoid redefinition if
- 	dbxelf.h was previously included.
- 	(CPP_APCS_PC_DEFAULT_SPEC): No need to undefine.
- 
- 	* config/arm/linux-elf.h (FP_DEFAULT): Correctly override the
- 	definition from arm.h.
- 
- Wed Mar 31 10:33:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-gperf.h): Generate using gperf language 'C', not
- 	'KR-C', so gperf uses the `const' keyword on strings.
- 
- 	* c-parse.gperf (resword): Const-ify a char*.
- 
- Wed Mar 31 01:49:31 1999  Ian Lance Taylor  <ian@zembu.com>
- 
- 	* t-rtems (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define.
- 
- Wed Mar 31 00:50:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* system.h (STDERR_FILENO): Fix typo.
- 
- 	* inclhack.def (bool): Also fix bogus bool in curses_colr/curses.h.
- 	* fixincl.x, inclhack.sh, fixincl.sh: Rebuilt.
- 
- Tue Mar 30 20:51:40 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* alias.c (alias_set_compare): Remove.
- 	(record_alias_subset): Use splay_tree_compare_ints instead of
- 	alias_set_compare.
- 	(init_alias_once): Likewise.
- 	* cse.c: Include splay-tree.h.
- 	(reg_qty): Remove.
- 	(reg_tick): Likewise.
- 	(reg_table): Likewise.
- 	(cse_reg_info): New structure.
- 	(cse_reg_info_free_list): New variable.
- 	(cse_reg_info_tree): Likewise.
- 	(cached_regno): Likewise.
- 	(cached_cse_reg_info): Likewise.
- 	(all_minus_one): Remove.
- 	(consec_ints): Likewise.
- 	(GET_CSE_REG_INFO): New macro.
- 	(REG_TICK): Likewise.  Use throughout instead of reg_tick.
- 	(REG_IN_TABLE): Likewise.  Use throughout instead of reg_in_table.
- 	(REG_QTY): Likewise.  Use throughout instead of reg_qty.
- 	(get_cse_reg_info): New function.
- 	(free_cse_reg_info): Likewise.
- 	(new_basic_block): Reinitialize cse_reg_info_tree instead of
- 	reg_tick, all_minus_one, and consec_ints.
- 	* Makefile.in (cse.o): Depend on splay-tree.h
- 
- Tue Mar 30 13:19:36 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (throw_helper): Just return the SP offset, rather than
- 	a whole udata.  Include args_size in the offset.
- 	(__throw, __rethrow): Adjust.
- 
- Tue Mar 30 11:39:27 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* extend.texi (Extended Asm): Delete spurious `b' before
- 	`@end example', which was confusing texi2html.
- 
- Tue Mar 30 00:26:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (output_line_info): Don't emit redundant info.
- 	Do start a new row if the file changes and the line # doesn't.
- 
- Mon Mar 29 15:48:39 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* invoke.texi (Invoking G++, C++ Dialect Options): Update.
- 
- Mon Mar 29 15:05:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* except.c (start_dynamic_handler): Force jmp_buf address to
- 	and operand before moving to memory.
- 
- Mon Mar 29 15:11:10 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* invoke.texi (Code Gen Options): Attempt to clarify
- 	-fcheck-memory-usage.  Minor edits to -fprefix-function-name.
- 
- Mon Mar 29 20:52:47 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (maybe_eliminate_biv): For libcalls that set a giv, skip to
- 	end of libcall.
- 
- Mon Mar 29 20:35:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (mulsi3): Tag an extra REG_EQUAL note to the middle insn.
- 
- Mon Mar 29 11:50:34 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
- 
- 	* pa.h (HAVE_PRE_INCREMENT): Disable when optimizing for a PA8000
- 	class machine.
- 	(HAVE_PRE_DECREMENT, HAVE_POST_INCREMENT): Likewise.
- 	(HAVE_POST_DECREMENT): Likewise.
- 
- Mon Mar 29 08:24:43 1999  Bruce Korb  <korb@datadesign.com>
- 
- 	* fixinc/mkfixinc.sh: Fix portability problems with old shells.
- 
- 	* fixinc/README: Updated for release announcement
- 
- Sun Mar 28 20:26:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* recog.h (insn_outfun, insn_operand_predicate): Add prototype
- 	arguments.
- 
- 	* rtl.h (note_stores): Likewise.
- 
- 	* rtlanal.c (note_stores): Likewise.
- 
- Sun Mar 28 15:34:28 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* varasm.c (output_constant_pool): Always mark the constant pool.
- 
- Sun Mar 28 16:09:01 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
- 
- 	* pa.md (pa7100LCshiftmem, pa7100LCalu): Change simultaneity.  Use
- 	shift/mem ops in pa7100LCalu.
- 
- 	* pa.c (pa_adjust_cost): Don't do cost adjustments on pa8000.
- 	(pa_reorg): Don't call pa_combine_instructions on pa8000.
- 
- Sun Mar 28 15:27:26 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload): Remove accidental code duplication.
- 
- Sun Mar 28 12:22:12 1999  Robert Lipe  (robertlipe@usa.net)
- 
- 	* i386/sysv5.h: New file to describe UnixWare7/SVR5.
- 	* configure.in (i?86-UnixWare7*-sysv): Use it.
- 	* i386/udk.h: Use sysv5.h.  Now uses Dwarf-2.
- 
- Sun Mar 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Mar 28 00:44:27 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* sdbout.c (sdbout_symbol): Do not call build_pointer_type, build
- 	one on the fly and do not cache the result.
- 
- 	* gcc.cps, cpp.cps: Delete unwanted files.
- 
- Sat Mar 27 23:37:40 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (movdicc+3, movdicc+4): Rewrite using split_di.
- 	* i386.c (output_int_conditional_move): Delete unused code.
- 
- Sat Mar 27 21:17:36 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/{aix41.h,aix43.h} (ASM_CPU_SPEC): Add 604e.
- 
- Sat Mar 27 16:13:50 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (mark_used_regs): Improve handling of ASMs.
- 
- 1999-03-26  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* Makefile.in (xcpp, cppspec.o): New targets.
- 	(CPP_INSTALL_NAME): New macro.
- 	(install-cpp): Install xcpp.  Use CPP_INSTALL_NAME.
- 	(all.build, start.encap): Build xcpp.
- 
- 	* cppspec.c: New file, implements argument filtering for a
- 	user-visible C preprocessor.
- 	* cpp.sh: Removed.
- 
- Fri Mar 26 20:41:46 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (stmp-fixinc): Use tooldir instead of gcc_tooldir.
- 
- Fri Mar 26 16:02:37 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in (arm-*-vxworks*): Just include arm/vxarm.h.
- 	* configure: Regenerate.
- 	* config/arm/vxarm.h: Define SUBTARGET_CPU_DEFAULT before
- 	including arm/coff.h
- 
- 1999-02-16  Scott Bambrough  <scottb@corelcomputer.com>
- 
- 	* configure.in (arm*-*-linux-gnu*): Set thread_file to 'posix' if
- 	--enable-threads[={yes,pthreads,posix}] is passed as a command
- 	line parameter to configure.
- 
- 	* configure: Regenerate.
- 
- 	* gcc/config/arm/t-linux (TARGET_LIBGCC2_CFLAGS): Include -fPIC.
- 
- Fri Mar 26 19:42:19 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (combine_givs): Fix index into can_combine when doing
- 	benefit adjustment for remaining givs when having combined a giv.
- 
- Fri Mar 26 11:38:01 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Define.
- 
- Fri Mar 26 10:48:27 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/linux-elf.h: Include dbxelf.h
- 
- Fri Mar 26 10:43:47 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/svr4.h: Include new header file dbxelf.h.
- 	(DBX_DEBUGGING_INFO): Remove definition.
- 	(DBX_USE_BINCL): Remove definition.
- 	(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
- 	(ASM_IDENTIFY_GCC): Remove definition.
- 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
- 	(ASM_OUTPUT_SOURCE_LINE): Remove definition.
- 	(DBX_FUNCTION_FIRST): Remove definition.
- 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Remove definition.
- 
- 	* config/elfos.h: Include new header file dbxelf.h.
- 	(DBX_DEBUGGING_INFO): Remove definition.
- 	(DBX_BLOCKS_FUNCTION_RELATIVE): Remove definition.
- 	(ASM_IDENTIFY_GCC): Remove definition.
- 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove definition.
- 	(ASM_OUTPUT_SOURCE_LINE): Remove definition.
- 	(DBX_FUNCTION_FIRST): Remove definition.
- 
- 	* config/dbxelf.h: New header file.
- 	(DBX_DEBUGGING_INFO): Define.
- 	(DBX_BLOCKS_FUNCTION_RELATIVE): Define.
- 	(DBX_FUNCTION_FIRST): Define.
- 	(DBX_USE_BINCL): Define.
- 	(DBX_CONTIN_LENGTH): Define.
- 	(ASM_IDENTIFY_GCC): Define.
- 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Define.
- 	(ASM_OUTPUT_SOURCE_LINE): Define.
- 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Define.
- 
- Fri Mar 26 01:59:15 1999  "Charles M. Hannum"  <root@ihack.net>
- 
- 	* fold-const.c (fold_truthop): Optimize bitfield references with
- 	different masks as long as their size and bit position are the same.
- 
- 	* fold-const.c (fold_truthop): Build a type for both the lhs and
- 	rhs and use it appropriately.
- 
- 	* fold-const.c (fold_truthop): Mask the lhs and rhs after merging
- 	adjacent bitfield references.
- 
- 	* fold-const.c (fold_truthop): Verify that the lhs and rhs are
- 	in the same bit position when optimizing bitfield references
- 	which have the same mask.
- 
- Thu Mar 25 22:53:27 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* gcc.texi (Copy Assignment): New node.
- 
- 1999-03-25  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* gcc.c: Compile unconditionally all code formerly dependent
- 	on #ifdef LANG_SPECIFIC_DRIVER.
- 	* gccspec.c: New file with stub lang_specific_driver,
- 	lang_specific_pre_link.
- 	* Makefile.in: Link gccspec.o into xgcc.  Add rule to compile
- 
- Thu Mar 25 21:08:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* gcc.texi (Temporaries): Update.
- 
- Thu Mar 25 16:53:53 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (distribute_notes): Place REG_LABEL also where
- 	REG_EQUAL indicates.
- 
- Thu Mar 25 12:46:37 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* a29k/a29k.h (TARGET_SWITCHES): Add doc strings.
- 	* i960/i960.h (TARGET_SWITCHES): Add doc strings.
- 	* invoke.texi (a29k): Add documentation for -mno-multm option.
- 
- Thu Mar 25 14:04:54 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* rtl.texi (RTX_FRAME_RELATED_P): Add documentation.
- 	* rtl.h (struct rtx_def): Update comment for frame_related field.
- 	(set_unique_reg_note): Declare prototype.
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Split out from
- 	'dwarf2out_frame_debug' to handle only expressions, and process
- 	component parts of a PARALLEL expression.
- 	(dwarf2out_frame_debug): Process insns only, and call
- 	new function 'dwarf2out_frame_debug_expr' for patterns.
- 	* emit-rtl.c (set_unique_reg_note): New function to add a reg note,
- 	but if there is an existing one, delete it first.
- 	* expmed.c (expand_mult, expand_divmod): Use set_unique_reg_note.
- 	* optabs.c (add_equal_note, expand_binop): Use set_unique_reg_note.
- 	(emit_no_conflict_block, emit_libcall_block): Use set_unique_reg_note.
- 	(expand_fix): Use set_unique_reg_note.
- 
- Thu Mar 25 11:47:49 1999  Art Haas  <ahaas@neosoft.com>
- 
- 	* tlink.c (symbol_hash_newfunc): Remove redundant call to
- 	hash_newfunc.
- 	(file_hash_newfunc, demangled_hash_newfunc): Likewise.
- 
- Thu Mar 25 10:05:56 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (PREFERRED_STACK_BOUNDARY): Set to 128.
- 
- 1999-03-25  Philip Blundell  <pb@nexus.co.uk>
- 
- 	Based on patch from Jim Studt  <jim@federated.com>:
- 	* config/arm/linux-elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Copy
- 	definitions from config/linux.h.
- 	(DBX_BLOCKS_FUNCTION_RELATIVE): Define to 1.
- 
- Thu Mar 25 02:12:42 1999  Finn Hakansson  <finn@axis.com>
- 
- 	* loop.c (strength_reduce): Correct a comment.
- 
- 	* rtl.h (MEM_COPY_ATTRIBUTES): Remove unnecessary ending backslash.
- 
- Thu Mar 25 02:02:13 1999  Axel Thimm  <Axel.Thimm@physik.fu-berlin.de>
- 
- 	* Makefile.in (RANLIB_TEST): Improve test.
- 
- Thu Mar 25 01:15:33 1999  Donn Terry  <donn@interix.com>
- 
- 	* combine.c (force_to_mode, case PLUS): Use sign extended mask
- 	when masking the low bits out of a constant.
- 
- Tue Mar 23 15:45:25 1999  Richard Earnshaw  (rearnsha@arm.com)
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* fold-const.c (make_range): If orig_type is unset, set it as soon
- 	as we know the type.  Remove now unnecessary set of orig_type for
- 	conversions.
- 
- Wed Mar 24 23:27:25 1999  Mark Elbrecht  <snowball3@usa.net>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* system.h (STDIN_FILENO): Provide default definition if one is not
- 	provided by the system header files.
- 	(STDOUT_FILENO, STDERR_FILENO): Likewise.
- 
- 	* i386/xm-djgpp.h (COLLECT2_HOST_INITIALIZATION): New macro.
- 	* collect2.c (main): Use it.
- 	(pexecute_pid): New variable. Holds return value from call to pexecute.
- 	(collect2_execute): Rework to use pexecute instead of fork.
- 	(collect2_wait): Use pwait() instead of wait().
- 
- 	* i386/djgpp.h: Fix typo.
- 
- Wed Mar 24 23:24:30 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/mkfixinc.sh: Recognize cygwin* instead of only
- 	cygwin32.
- 
- Wed Mar 24 15:44:12 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.c (init_idents): Accept both NAME and __NAME__
- 	versions of attribute names and values.
- 	(m32r_valid_machine_decl_attribute): Likewise.
- 	(m32r_encode_section_info): Likewise.
- 
- Wed Mar 24 21:42:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): If output-reloading for a
- 	simple move insn, try to inherit an equivalence for the input.
- 
- 1999-02-24  Mike Stump  <mrs@wrs.com>
- 
- 	* arm/aout.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Fix quoting.
- 
- 1999-03-24  Jim Blandy  <jimb@zwingli.cygnus.com>
- 
- 	* libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Initialize on all
- 	platforms.
- 
- Wed Mar 24 01:35:01 1999  Geoff Keating  <geoffk@ozemail.com.au>
- 
- 	* fold-const.c (fold): Recognize a rotate by an unsigned amount.
- 
- Tue Mar 23 23:32:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (rotlsi3): New expander.  Synthesize a variable rotate
- 	left using a variable rotate right.  Provide anonymous pattern for
- 	rotate left by a constant value.
- 
- 	* expr.c (expand_assignment): Do not try to optimize an aggregate
- 	address which has VOIDmode.
- 
- Tue Mar 23 22:51:48 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 			  Donn Terry  <donn@interix.com>
- 
- 	* protoize.c (abspath): Preserve multiple leading slashes for
- 	_WIN32 and Interix.
- 
- 1999-01-23  Mike Stump  <mrs@wrs.com>
- 
- 	* arm/vxarm.h: Split out vxWorks support into separate headerfile
- 	and vxify.
- 	* arm/arm.c (cpu_defaults): Allow arm710 as default.
- 
- 	* configure.in: Split out vxWorks support for Arm.
- 	* configure: Rebuilt.
- 
- Tue Mar 23 11:20:03 1999  Per Bothner  <bothner@cygnus.com>
- 
- 	* tree.c (first_rtl_op, has_cleanups): Handle GOTO_SUBROUTINE_EXPR.
- 
- Tue Mar 23 09:00:39 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/riscix1.h (SUBTARGET_SWITCHES): Add doc string.
- 	* config/arm/riscix1-1.h (SUBTARGET_SWITCHES): Add doc string.
- 
- Tue Mar 23 07:50:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c: Include hash.h.
- 	(insns_for_mem_entry): New struct.
- 	(put_reg_into_stack): Take an optional hash-table mapping MEMs to
- 	the INSNs that use them.
- 	(fixup_var_refs): Likewise.
- 	(put_addressof_into_stack): Likewise.
- 	(purge_addressof_1): Likewise.  Keep the hash-table up to date if
- 	we add new instructions.
- 	(fixup_var_refs_insns): Use it to avoid searching the entire
- 	instruction chain.
- 	(insns_for_mem_newfunc): New function.
- 	(insns_for_mem_comp): Likewise.
- 	(insns_for_mem_walk): Likewise.
- 	(compute_insns_for_mem): Likewise.
- 	(pop_function_context_from): Pass NULL for the hash-table.
- 	(put_var_into_stack): Likewise.
- 	(gen_mem_addressof): Likewise.
- 	(flush_addressof): Likewise.
- 	(purge_addressof): Call compute_insns_for_mem to pre-compute the
- 	hash table.
- 	* Makefile.in (OBJS): Include hash.o.
- 	(function.o): Depend on hash.h.
- 
- Tue Mar 23 00:39:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/openbsd.h (TARGET_DEFAULT): Use symbolic names instead of
- 	numbers.
- 	* i386/netbsd.h, i386/freebsd.h: Likewise.
- 
- 	* crtstuff.c: Use ANSI function definitions.  Fix minor whitespace
- 	problems.
- 
- 	* i386/openbsd.h (TARGET_DEFAULT): Define.
- 	* configure.in: Do not set TARGET_CPU_DEFAULT for x86 OpenBSD
- 	configurations.
- 	* configure: Rebuilt.
- 
- Tue Mar 23 00:39:10 1999  John Wehle  (john@feith.com)
- 
- 	* i386/freebsd.h (TARGET_DEFAULT): Define instead
- 	of TARGET_CPU_DEFAULT.
- 	* i386/netbsd.h (TARGET_DEFAULT): Likewise.
- 
- Mon Mar 22 23:52:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 			  Donn Terry  <donn@interix.com>
- 
- 	* sdbout.c (syms.h): Don't include on Interix.
- 	* toplev.c (main): No sbrk on Interix.
- 
- 	* configure.in: Add i386-pc-interix support.
- 	* configure: Regenerate.
- 	* fixinc.interix: New file.
- 	* config/interix.h: New file.
- 	* config/x-interix: New file.
- 	* config/xm-interix.h: New file.
- 	* i386/interix.h: New file.
- 	* i386/interix.c: New file.
- 	* i386/t-interix: New file.
- 
- Mon Mar 22 23:41:49 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.h (PREFERRED_STACK_BOUNDARY): Define.
- 
- Mon Mar 22 23:41:31 1999  John Wehle  (john@feith.com)
- 
- 	* i386.c (ix86_compute_frame_size): New function.
- 	(ix86_prologue, ix86_epilogue): Use it.
- 	* i386.h (INITIAL_ELIMINATION_OFFSET): Likewise.
- 	* reload1.c: Provide default for PREFERRED_STACK_BOUNDARY.
- 
- Mon Mar 22 18:06:59 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mips/mips.h (TARGET_SWITCHES, TARGET_OPTIONS): Add option doc
- 	strings.
- 	* mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Likewise.
- 
- Mon Mar 22 16:18:27 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
- 	passing ATTRIBUTES to arm_valid_machine_decl_attribute.
- 
- 	* config/arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Do not bother
- 	passing ATTRIBUTES to arm_valid_machine_decl_attribute.
- 
- 	* config/arm/arm.h (DEFAULT_RTX_COSTS): Do not bother passing
- 	OUTER_CODE to arm_rtx_costs - it is not used.
- 	(arm_compare_fp): Delete declaration.
- 	(FINAL_PRESCAN_INSN): Do not bother passing OPVEC or NOPERANDS to
- 	arm_final_prescan_insn - they are not used.
- 	(const_ok_for_op): Remove prototype.
- 	(arm_rtx_costs): Fix prototype.
- 	(arm_valid_machine_decl_attribute): Fix prototype.
- 	(final_prescan_insn): Fix prototype.
- 
- 	* config/arm/arm.md: Remove references to arm_compare_fp.
- 
- 	* config/arm/arm.c (arm_compare_fp): Delete.
- 	(const_ok_for_op): Make function static.  Add prototype.  Remove
- 	mode parameter - it is unused.
- 	(arm_rtx_costs): Remove outer_code parameter.
- 	(reload_memory_operand): Declare mode parameter unused.
- 	(power_of_two_operand): Declare mode parameter unused.
- 	(equality_operator): Declare mode parameter unused.
- 	(load_multiple_operation): Declare mode parameter unused.
- 	(store_multiple_operation): Declare mode parameter unused.
- 	(multi_register_push): Declare mode parameter unused.
- 	(arm_valid_machine_decl_attribute): Remove attributes parameter -
- 	it is unused.
- 	(select_dominance_cc_mode): Remove op parameter - it is unused.
- 	(gen_compare_reg): Remove fp parameter - it is unused.
- 	(final_prescan_insn): Remove opvec and noperands parameters - they
- 	are unused.
- 
- Mon Mar 22 14:35:28 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* tm.texi (MD_SCHED_INIT): Add missing closing parenthesis.
- 
- Mon Mar 22 22:24:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_as_needed): Set reload_is_output_reload /
- 	reload_has_output_reload for auto_inc expressions that could be
- 	reloaded.  Call forget_old_reloads for REG_INC notes.
- 
- Mon Mar 22 21:51:57 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* cse.c (cse_insn): Don't change the result register of a libcall.
- 
- Mon Mar 22 21:08:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (shallow_copy_rtx): Declare.
- 	* rtl.c (shallow_copy_rtx): New function.
- 	* reload.c (find_reloads_toplev): Use shallow_copy_rtx instead of
- 	copy_rtx.
- 
- Mon Mar 22 10:44:33 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* config/h8300/h8300.md (adjust_length): New attribute.
- 	(modhi3+1, andsi3+1, iorsi3+1, extzv+1, extzv+2): Change insn
- 	default value of attribute "adjust_length" onto "no".
- 
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Adjust
- 	length only if the attribute "adjust_length" value is "yes".
- 	Use 0 if the shift is negative.
- 
- 	* final.c (shorten_branches): Check insn length after its
- 	adjusting.
- 
- Sun Mar 21 17:33:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i860.h (TARGET_SWITCHES): Add documentation for default case.
- 	* i860/paragon.h (TARGET_SWITCHES): Add documentation for default case.
- 	* i370.h (TARGET_SWITCHES): Add documentation for default case.
- 	* fx80.h (TARGET_SWITCHES): Add documentation for default case.
- 	* elxsi.h (TARGET_SWITCHES): Add documentation for default case.
- 	* clipper.h (TARGET_SWITCHES): Add documentation for default case.
- 	* 1750a.h (TARGET_SWITCHES): Add documentation for default case.
- 	* pa.h (TARGET_SWITCHES): Add documentation for default case.
- 	(TARGET_OPTIONS): Likewise for default case.
- 	* mn10300.h (TARGET_SWITCHES): Add documentation for default case.
- 	* h8300.h (TARGET_SWITCHES): Add documentation for default case.
- 
- 	* gcse.c (dump_hash_table): Fix whitespace in declaration.
- 	(compute_transpout): Renamed from pre_compute_transpout.
- 	(compute_pre_*): Deleted.
- 	(pre_expr_reaches_here_p): New argument, CHECK_PRE_COMP.  All
- 	callers changed.
- 	(insert_insn_end_bb): Renamed from pre_insert_insn.
- 	(pre_*): Delete unused variables.  Only leave local properties and
- 	global redundant/optimal computation points.
- 	(alloc_pre_mem, free_pre_mem): Corresponding changes.
- 	(compute_pre_data): Simplify and call pre_lcm to run the lazy
- 	code motion dataflow analysis.
- 	(pre_insert, pre_insert_copies, pre_delete): Revamp to use LCM
- 	based redundant and optimal computation points.
- 
- 	* basic-block.h (pre_lcm, pre_rev_lcm): Declare.
- 
- 	* toplev.c (main): A debug option without a level defaults to
- 	level 2.
- 
- Sun Mar 21 12:13:01 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* flow.c (can_delete_label_p): Do not allow user specified
- 	labels to be deleted.
- 	* dwarf2out.c (gen_label_die): Generate addresses for deleted
- 	(programmer specified) labels.
- 	* dwarfout.c (output_label_die): Generate addresses for deleted
- 	(programmer specified) labels.
- 
- 1999-03-21  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (xgcc$(exeext)): Add intl.o to list of files to be
- 	linked with.
- 
- Sun Mar 21 01:15:03 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Mar 20 22:26:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.h (TARGET_SWITCHES): Add null description to default case.
- 
- Sat Mar 20 21:46:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c (yylex): Remove unused variable `bytes'.
- 
- 	* flow.c (print_rtl_with_bb): Cast the return value of alloca.
- 
- 	* function.c (assign_parms): Wrap variable `varargs_setup' in
- 	macro SETUP_INCOMING_VARARGS.
- 	(thread_prologue_and_epilogue_insns): Mark parameter `f' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* local-alloc.c (no_equiv): Likewise for parameter `store'.
- 
- 	* sched.c (schedule_insns): Remove unused variables `insn' and `next'.
- 
- 	* tlink.c (symbol_hash_newfunc, symbol_hash_lookup,
- 	file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc,
- 	demangled_hash_lookup, symbol_push, symbol_pop, file_push,
- 	file_pop, tlink_init, tlink_execute, frob_extension,
- 	obstack_fgets, tfgets, pfgets, freadsym, read_repo_file,
- 	maybe_tweak, recompile_files, read_repo_files,
- 	demangle_new_symbols, scan_linker_output): Add static prototype.
- 
- 	(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc):
- 	Make the third argument a `hash_table_key'.
- 
- 	* toplev.c (debug_start_source_file): Mark parameter `filename'
- 	with ATTRIBUTE_UNUSED.
- 
- Sun Mar 21 02:28:21 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* tm.texi (Varargs): Don't split argument of @item across lines.
- 
- 	* invoke.texi: Fix use of @item vs @itemx.
- 
- Sun Mar 21 09:59:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (TARGET_SWITCHES): Add null description to
- 	default case.
- 
- Sat Mar 20 23:33:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (check_dbra_loop): Fix debug message.
- 
- Sat Mar 20 15:54:35 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (decrement_and_branch_on_count): Emit rptb_end
- 	pattern instead of decrement_and_branch_until_zero pattern.
- 
- Sat Mar 20 11:39:58 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (TARGET_SWITCHES): Add documentation.
- 	* config/c4x/c4x.h (TARGET_OPTIONS): Add documentation.
- 
- Fri Mar 19 23:26:29 1999  Martin von Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* expr.c (expand_expr): Handle ERROR_MARK much earlier.
- 
- Fri Mar 19 15:28:38 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (create_definition): Cast to U_CHAR* when assigning to one.
- 
- 	* cppfiles.c (read_and_prescan): Likewise.
- 	Start a #define in column 0.
- 
- 	* cpplib.c (cpp_define): Cast to U_CHAR* when assigning to one.
- 	(cpp_push_buffer): Likewise for cpp_buffer*.
- 	(do_include): Change the type of `fbeg' and `fend' to unsigned char*.
- 	(do_endif): Cast to char* when assigning to one.
- 	(do_assert): Likewise.
- 	(do_unassert): Likewise.
- 	(cpp_read_check_assertion): Change the type of `name' to U_CHAR*.
- 	Don't do unnecessary cast to char* anymore.
- 
- 	* genrecog.c (make_insn_sequence): Cast to char** when assigning
- 	to one.  Cast the first argument of bzero to PTR.
- 
- 	* loop.c (strength_reduce): Remove unused variable `note'.
- 
- 	* reload1.c (new_insn_chain): Cast to struct insn_chain* when
- 	assigning to one.
- 
- 	* rtl.c (copy_rtx): Use memcpy instead of bcopy.
- 
- Fri Mar 19 11:19:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (initialize_argument_information): Mark parameters
- 	`num_actuals' and `n_named_args' with ATTRIBUTE_UNUSED.
- 
- 	* dbxout.c (dbxout_start_new_source_file): Likewise for parameter
- 	`filename'.
- 	(dbxout_finish): Likewise for parameters `file' and `filename'.
- 	(dbxout_prepare_symbol): Likewise for parameter `decl'.
- 	(dbxout_begin_function): Likewise.
- 
- 	* explow.c (hard_function_value): Likewise for parameter `func'.
- 
- 	* function.c (locate_and_pad_parm): Likewise for parameter `fndecl'.
- 
- 	* expmed.c (expand_divmod): Omit unused argument to `expand_abs'.
- 	* expr.c (expand_expr): Likewise.
- 	* expr.h (expand_abs): Delete unused argument from prototype.
- 	* optabs.c (expand_abs): Remove unused parameter `unsignedp'.
- 
- 	* sdbout.c (sdbout_init): Mark parameter `syms' with ATTRIBUTE_UNUSED.
- 	(sdbout_end_block): Likewise for parameter `n'.
- 
- 	* toplev.c (debug_define): Likewise for parameters `lineno' and
- 	`buffer'.
- 	(debug_undef): Likewise.
- 
- 	* varasm.c (named_section): Likewise for parameter 'reloc'.
- 	(assemble_external): Likewise for parameter `decl'.
- 	(assemble_alias): Likewise for parameter `target'.
- 
- Fri Mar 19 01:54:30 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* toplev.c (read_integral_parameter): Constify.  Better control of
- 	error messages.
- 	(main): Use read_integral_parameter to set optimize, id_clash_len,
- 	larger_than_size, and the debugging level.
- 	* toplev.h (read_integral_parameter): Update prototype.
- 
- Fri Mar 19 01:42:05 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* system.h: Use putc_unlocked, fputc_unlocked, and
- 	fputs_unlocked only if putc_unlocked has a prototype already.
- 	Prototype fputs_unlocked if necessary.
- 	* configure.in: Check for prototypes of putc_unlocked and
- 	fputs_unlocked.
- 	* acconfig.h: Updated.
- 	* config.in, configure: Rebuilt.
- 
- Fri Mar 19 02:45:12 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* Makefile.in (INTL_TARGETS): New macro.
- 	($(INTL_TARGETS)): Depend on generated sources; drop dependencies
- 	on cp/parse.c and objc/objc-parse.c.
- 	($(srcdir)/cp/parse.c): Move to cp/Make-lang.in.
- 	* objc/Make-lang.in ($(INTL_TARGETS)): Depend on objc/objc-parse.c.
- 
- Thu Mar 18 22:28:53 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i860.h (TARGET_SWITCHES): Add documentation.
- 	* i860/paragon.h (TARGET_SWITCHES): Add documentation.
- 	* i370.h (TARGET_SWITCHES): Add documentation.
- 	* fx80.h (TARGET_SWITCHES): Add documentation.
- 	* elxsi.h (TARGET_SWITCHES): Add documentation.
- 	* clipper.h (TARGET_SWITCHES): Add documentation.
- 	* 1750a.h (TARGET_SWITCHES): Add documentation.
- 	* pa.h (TARGET_SWITCHES): Add documentation.
- 	(TARGET_OPTIONS): Likewise.
- 	* mn10300.h (TARGET_SWITCHES): Add documentation.
- 	* h8300.h (TARGET_SWITCHES): Add documentation.
- 
- Thu Mar 18 15:58:26 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* loop.c (strength_reduce): Do not perform pseudo replacements
- 	if the loop contains volatile memory references.
- 
- Thu Mar 18 19:09:50 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads_toplev): When processing X recursively,
- 	don't alter it destructively except by filling in constants.
- 
- Thu Mar 18 10:14:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (default_include): Initialize structure members.
- 	(pass_thru_directive): Change the type of 'keyword_length' to int.
- 	(main): Cast `bindtextdomain' and `textdomain' to (void).
- 
- 	* collect2.c (main): Likewise.
- 
- 	* cppmain.c (main): Likewise.
- 
- 	* gcc.c (main): Likewise.
- 
- 	* gcov.c (main): Likewise.
- 
- 	* protoize.c (main): Likewise.
- 
- 	* toplev.c (main): Likewise.
- 
- 1999-03-18  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.c (mips_explicit_type_size_string): Correct
- 	its type.
- 
- Thu Mar 18 01:24:25 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Use "exit 1", not "exit (1)".
- 	* configure: Rebuilt.
- 
- Wed Mar 17 23:17:42 1999  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config/t-gnu (SYSTEM_HEADER_DIR): New variable.  Set to
- 	`/include' in order to find the system's limits.h.
- 
- Wed Mar 17 23:00:18 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* fixinc/fixincl.c: Include auto-host.h instead of config.h.
- 	* fixinc/procopen.c: Likewise.
- 	* fixinc/regex.c: Likewise.
- 	* fixinc/server.c: Likewise.
- 
- Wed Mar 17 22:46:13 1999  Mark Elbrecht  <snowball3@usa.net.
- 
- 	* config/i386/go32.h: Delete.
- 	* config/i386/djgpp.h: New. Renamed from go32.h.
- 	Added -DDJGPP=2 to CPP_PREDEFINES.
- 	* config/i386/go32-rtems.h: Delete.
- 	* config/i386/djgpp-rtems.h: New. Renamed from go32-rtems.h.
- 	Added -DDJGPP=2 to CPP_PREDEFINES.
- 	* config/i386/xm-go32.h: Delete.
- 	* config/i386/xm-djgpp.h: New. Renamed from xm-go32.h.
- 	* config/i386/x-go32: Delete.
- 	* config/i386/x-djgpp: New. Renamed from x-go32.
- 	* config/i386/t-go32: Delete.
- 	* config/i386/t-djgpp: New. Renamed from t-go32.
- 	* configure.in(pc-msdosdjgpp): Set xm_file to i386/xm-djgpp.h.
- 	Set tm_file to i386/djgpp.h. Set tmake_file to i386/t-djgpp.
- 	Set xmake_file to i386/x-djgpp.
- 	(*-go32-msdos, *-go32*): Remove entries.  Warn that GO32/DJGPP V1.X
- 	is now unsupported and *-pc-msdosdjgpp for DJGPP V2.X should be
- 	used instead.
- 	* configure: Rebuilt.
- 
- 	* gcc.c (process_command): Dump link_command_spec too.
- 
- Wed Mar 17 20:38:08 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* pa.md: Add real PA8000 scheduling information.
- 
- 	* pa.h (processor_type): Add PROCESSOR_8000 symbol.
- 	(ISSUE_RATE): Revamp, including PA8000 support.
- 	* pa.c (override_options): Add 8000 as -mschedule= option.
- 	Do not call strcmp if pa_cpu_string is null.
- 	* pa.md (attr cpu): Add 8000.
- 	* invoke.texi: Add documentation for PA8000 scheduling.
- 
- Wed Mar 17 18:20:24 1999  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.h (TARGET_SWITCHES, TARGET_OPTIONS):
- 	Add descriptions.
- 	* config/sparc/sp64-elf.h (SUBTARGET_SWITCHES): Likewise.
- 	* config/sparc/splet.h (SUBTARGET_SWITCHES): Likewise.
- 
- Wed Mar 17 14:51:19 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (compute_immediate_dominators): New function.
- 	* basic-block.h (compute_immediate_dominators): Declare it.
- 
- 	* alpha.h (HARD_REGNO_MODE_OK): Allow only 4 and 8 byte unit modes
- 	in FP regs.
- 	(MODES_TIEABLE_P): Define asymmetricly wrt modes illegal in FP regs.
- 
- Wed Mar 17 14:41:41 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/aout.h (ASM_GENERATE_INTERNAL_LABEL): Fix compile
- 	time warning.
- 	* config/arm/arm.md: Fix various compile time warnings.
- 	* config/arm/arm.h: Fix various compile time warnings.  Add
- 	function prototypes.
- 	* config/arm/arm.c: Fix various compile time warnings.
- 	(arm_override_options): Reorganize to separate tuning from
- 	targetting.
- 	(bit_count): New function: Return a count of the number of bits
- 	set in a word.
- 
- Wed Mar 17 21:29:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (eliminate_regs): Don't keep REG_DEAD notes around for
- 	things that were eliminated.
- 
- Wed Mar 17 12:16:26 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (fixup_var_refs_1): First try moving the expression
- 	directly into a register.  Don't separate cc0 setter and user.
- 
- Wed Mar 17 11:20:29 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cppfiles.c (PIPE_BUF): #define PIPE_BUF if not defined already.
- 
- Wed Mar 17 09:25:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c: Don't include setjmp.h.
- 	(parse_float): New static function.
- 	(pf_args): New struct.
- 	(yylex): Use them in call to `do_float_handler'.
- 
- 1999-03-16  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* cexp.y (yyerror): Call verror to get a useful error message.
- 	* cexp.c: Rebuilt.
- 
- 	* .gdbinit: Move command to put breakpoint at abort to end of file
- 	so that gdb does not bail out early.
- 
- Tue Mar 16 15:30:19 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* rtl.h: Rename prototype for free_bb_memory to free_bb_mem.
- 
- Tue Mar 16 23:40:09 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (movsi_i): Move t/r alternative after r/rI alternative.
- 
- Tue Mar 16 13:44:50 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* mn10200/mn10200.md (addsi3, subsi3, ashlsi3, lshrsi3, ashrsi3):
- 	Delete emit_library_call_value declaration.
- 
- 1999-03-16  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppfiles.c (read_and_prescan): Map backslash-newline to '\r'
- 	(which cannot otherwise appear in the processed buffer) and
- 	move it out of tokens that it appears in the middle of.
- 	Improve performance.
- 	(find_position): New function.
- 
- 	* cpplib.c: \r (one character) indicates backslash
- 	newline, not \\\n (two characters).  It cannot appear in the
- 	middle of a token.  Call CPP_BUMP_LINE (pfile) whenever
- 	parsing moves past \n or \r.  Increment pfile->lineno whenever
- 	a \n is placed into token_buffer.  Only one mark can exist at
- 	a time, and CPP_BUMP_LINE must not be used while it is
- 	active.  It is automatically cleared by cpp_pop_buffer and
- 	parse_goto_mark.  \r is not in is_hor_space or is_space.
- 
- 	(NEWLINE_FIX, NEWLINE_FIX1, adjust_position,
- 	update_position, count_newlines, parse_move_mark): Removed.
- 	(parse_string, copy_comment): New functions.
- 	(parse_name): Returns void.
- 	(parse_set_mark, parse_clear_mark, parse_goto_mark): Take only
- 	one argument, a cpp_reader *.  Change for new marking scheme.
- 	(skip_comment): Handle CHILL line comments too.  Second
- 	argument is now first character of comment marker; all callers
- 	changed.  Issue error for unterminated block comment here.
- 	(cpp_skip_hspace): Recognize CHILL comments.
- 	(copy_rest_of_line): Likewise.  Call skip_comment and
- 	parse_string directly, don't go through cpp_get_token.  Emit
- 	"/**/" for block comments if -traditional (create_definition
- 	needs this).
- 	(do_define): Don't play with put_out_comments.
- 	(cpp_push_buffer): Initialize ->mark to -1.
- 	(cpp_buf_line_and_col): Just read out the values in the buffer
- 	structure.
- 	(output_line_command): Use cpp_buf_line_and_col.  Fix
- 	formatting.  Remove stale code.
- 	(cpp_get_token): Break out string parsing code to
- 	parse_string.  Use skip_comment for CHILL comments too.  Use
- 	copy_comment for put_out_comments instead of dinking with
- 	marks.  Remove stale code.  Don't call output_line_command
- 	unless it's necessary.
- 
- 	* cpplib.h (parse_marker): Removed.
- 	(struct cpp_buffer): Line_base is now an unsigned char *; add
- 	`mark' [long], remove `marks' [struct parse_marker *].
- 	(parse_set_mark, parse_clear_mark, parse_goto_mark): Update
- 	prototypes.
- 	(CPP_BUMP_LINE, CPP_BUMP_BUFFER_LINE): New macros.
- 	* cppinit.c (is_hor_space, is_space): '\r' is not considered
- 	whitespace.
- 	* cppexp.c (cpp_parse_expression): Use cpp_skip_hspace, not
- 	SKIP_WHITE_SPACE.
- 	* cpphash.c (macarg): Disable line commands while expanding.
- 
- Tue Mar 16 11:30:19 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-lex.c (yylex) : Remove warning for integer literals being
- 	larger than the largest target int.  Add warning for integer
- 	literal being larger than than its chosen type.
- 
- Tue Mar 16 10:53:17 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* invoke.texi: Add -mlong32 documentation.
- 	* config/mips/mips.h (mips_explicit_type_size_string): New.
- 	(TARGET_SWITCHES): Add 'long32'.
- 	(TARGET_OPTIONS): Add 'explicit-type-size'.
- 	(CC1_SPECS): Set -mexplicit-type-size.
- 	(LONG_MAX_SPEC): Change a use of 'no-long64' to 'long32'.
- 	* config/mips/abi64.h (LONG_MAX_SPEC): Same.  Add 'mabi=32'.
- 	* config/mips/mips.c (mips_explicit_type_size_string): New.
- 	(override_options): Use it.
- 	* config/mips/osfrose.h (CC1_SPECS): Set -mexplicit-type-size.
- 
- 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC):
- 	Pointer size now depends on both size longs and size of GP
- 	registers.
- 
- Tue Mar 16 10:22:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/iris.h (CTORS_SECTION_ASM_OP,DTORS_SECTION_ASM_OP,
- 	dtors_section): Use Pmode == DImode rather than TARGET_LONG64.
- 	* config/mips/mips.c (override_options): Allow -mlong64 and
- 	-mint64 with -mips2 or less.
- 	* config/mips/mips.h (MASK_LONG64): Fix comment.
- 	(POINTER_SIZE): Use Pmode == DImode rather than TARGET_LONG64.
- 	(Pmode): Make Pmode the smaller of longs or gp registers.
- 	* invoke.texi: Note the new size for pointers.
- 
- Mon Mar 15 22:45:25 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Always generate IEEE 754
- 	bit-pattern directly.
- 	(ASM_OUTPUT_REG_{PUSH,POP}): Delete.
- 	* rs6000.c (first_reg_to_save): If profiling and context needed,
- 	allocate a reg to save static chain for all ABIs.  For AIX
- 	profiling, calculate parameter registers to save based on need.
- 	(output_function_profiler): Save and restore static chain around
- 	profile call for all ABIs.
- 
- 1999-03-15  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppinit.c: Instead of one pending list, keep separate lists
- 	for each category of pending option: -D/-U, -A, -include,
- 	-imacros.  Move the four partial include-path lists into the
- 	pending block.  Use head and tail pointers so we don't ever
- 	have to reverse the lists.
- 
- 	(cpp_start_read): Break out blocks of code to their own
- 	functions: install_predefs and initialize_dependency_output.
- 	Use path_include for C_INCLUDE_PATH and friends as well as
- 	CPATH.  Remove include_defaults gunk.  Warn about the
- 	combination of -lang-chill and -trigraphs.  Optimize string
- 	bashing.  Walk each pending list once, deallocating as we go.
- 
- 	(append_include_chain): Brought over from cppfiles.c.  Mark
- 	dirs as system include dirs if and only if appending to
- 	system include path. If opts->verbose, print a notice when a
- 	dir is dropped from the include path because it doesn't
- 	exist.  Fix memory leak: this function is not supposed to copy
- 	its DIR argument.
- 
- 	(nreverse_pending, push_pending): Removed.
- 	(APPEND): New macro for adding to pending lists.
- 	(path_include): Can now add to any partial include path.
- 	(base_name): Bring over from cccp.c.
- 	(cpp_options_init): Allocate the pending block.
- 	(cpp_handle_option): Add --version.  Exit after --help.  Fix
- 	formatting.  Order -ifoo options by frequency of usage.
- 	(install_predefs): New function, simplified version of code
- 	that was in cpp_start_read.
- 	(initialize_dependency_output): Likewise.  Understand OBJECT_SUFFIX.
- 
- 	* cppfiles.c (simplify_pathname): Export.
- 	(merge_include_chains): Don't nreverse the lists.  If
- 	opts->verbose, print a notice when a duplicate dir is detected
- 	and dropped from the include path.
- 	(finclude): Fix excessive cleverness in setting
- 	fp->system_header_p.
- 	(actual_directory): Set x->sysp from
- 	CPP_BUFFER (pfile)->system_header_p so that one system header
- 	may include another with "".
- 	(deps_output): Fix double adjustment of deps_size which would
- 	cause all dependencies after the first two lines to be lost.
- 
- 	* cpplib.c (cpp_unassert): New function.
- 	* cpplib.h: Lay out struct cpp_pending here.  Adjust
- 	prototypes.  Add include_prefix_len to struct cpp_options.
- 
- Mon Mar 15 16:01:52 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/misp/mips.h (REGISTER_MOVE_COST): Make the cost of moving
- 	from HI/LO/HILO/MD into general registers the same as for one
- 	of moving general registers to HI/LO/HILO/MD.
- 
- Mon Mar 15 12:39:38 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.c (init_idents): New function.  Initialize
- 	static tree nodes for m32r specific attribute identifiers.  Remove
- 	leading and trailing double underscores from the attribute names.
- 	(m32r_valid_machine_decl_attribute): Call init_idents.
- 	(m32r_encode_section_info): Call init_idents.
- 
- Mon Mar 15 10:20:20 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* reload.c (find_reloads): Add a REG_LABEL note if we substitute a
- 	LABEL_REF for something else.
- 
- Mon Mar 15 08:24:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (exact_real_inverse): Move variable `float_error'
- 	into the scope where it is used.
- 	(const_binop_1): New static function.
- 	(cb_args): New struct.
- 	(const_binop): Use them in call to `do_float_handler'.
- 	(fold_convert_1): New static function.
- 	(fc_args): New struct.
- 	(fold_convert): Use them in call to `do_float_handler'.
- 
- Mon Mar 15 22:50:18 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* rtlanal.c (auto_inc_p): New function.
- 	* rtl.h (auto_inc_p): Prototype it.
- 	* reload1.c (add_auto_inc_notes): New function.
- 	(reload): Strip REG_INC notes and call add_auto_inc_notes
- 	for each insn to restore them correctly.
- 
- 1999-03-15  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixinc/Makefile.in (procopen.o): List the actual
- 	dependencies.
- 
- Sun Mar 14 16:22:10 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (check_fold_consts): New static function.
- 	(cfc_args): New struct.
- 	(simplify_relational_operation): Use them in call to
- 	`do_float_handler'.
- 
- 	* toplev.c (do_float_handler): New function to wrap calls to
- 	setjmp/set_float_handler.
- 
- 	* toplev.h (do_float_handler): Add extern prototype.
- 
- 	* tree.c (build_real_from_int_cst_1): New static function.
- 	(brfic_args): New struct.
- 	(build_real_from_int_cst): Use them in call to
- 	`do_float_handler'.
- 
- Sun Mar 14 01:15:06 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Mar 13 17:37:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_analyze_1): Only clear reg_last_uses on a SET.
- 
- Sat Mar 13 11:36:16 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (arm_split_constant): Don't try to force a constant to
- 	memory after arm_reorg has run.
- 	(after_arm_reorg): New static variable.
- 	(arm_reorg): Set it.
- 	(output_func_epilogue): Clear it.
- 
- Fri Mar 12 20:26:32 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* configure.in ({rs6000,powerpc}-ibm-aix*): Set float_format to none.
- 	* configure: Rebuilt.
- 
- Fri Mar 12 20:45:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (loop_iterations): Don't return a final value for EQ
- 	comparison loops.
- 
- Fri Mar 12 12:35:01 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload1.c (calculate_needs_all_insns): When ignore equivalence
- 	setting insn, clear need_elim, need_reload, and need_operand_change.
- 
- Fri Mar 12 07:54:43 1999  Bruce Korb  <korb@datadesign.com>
- 
- 	* fixinc/fixinc.*: Some changes from the fixincl-branch
- 	were not applied (??!!).  Corrected.
- 
- 	* fixinc/Makefile.in: Same thing.
- 
- Fri Mar 12 00:51:43 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (expand_expr): Allow a CALL_EXPR with a mode wider than
- 	MAX_INTEGER_COMPUTATION_MODE.
- 
- Thu Mar 11 14:00:58 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs.
- 	(MODES_TIEABLE_P): Update.
- 
- 	* alpha.md (ev5_e0): Conflict loads and stores.
- 
- Thu Mar 11 13:55:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* machmode.h (smallest_mode_for_size): Prototype.
- 	* stor-layout.c (smallest_mode_for_size): Remove static.
- 
- Thu Mar 11 21:25:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Don't do biv increment -> DEST_REG giv
- 	conversion if we don't know the lifetime.
- 
- Thu Mar 11 20:37:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.1c (delete_address_reloads_1): Check for reloads of
- 	CURRENT_INSN even if it sets DST.
- 
- Thu Mar 11 10:29:50 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (add_AT_lbl_offset): Rename from add_AT_section_offset.
- 	(print_die, size_of_die, value_format, output_die): Adjust.
- 
- Thu Mar 11 10:27:42 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* dwarf2out.c (TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL,
- 	DEBUG_INFO_SECTION_LABEL, ABBREV_SECTION_LABEL,
- 	text_section_label, debug_line_section_label,
- 	debug_info_section_label, abbrev_section_label): New.
- 	(output_compilation_unit_header): Emit label associated
- 	with section instead of section name itself.
- 	(out_pubnames, output_aranges, output_line_info,
- 	dwarf2out_finish): Likewise.
- 	(dwarf2out_init): Build internal label names for sections
- 	from static labels.
- 
- Thu Mar 11 17:28:32 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (mulsi3): End mul.l sequence with a no-op move.
- 
- Thu Mar 11 08:52:02 1999  Bruce Korb  <korb@datadesign.com>
- 
- 	* Makefile.in: Activated fixinc/mkfixinc.sh.
- 	* configure.in: Activated fixinc/mkfixinc.sh.
- 
- Thu Mar 11 01:38:02 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* cppfiles.c (INO_T_EQ): Handle UWIN.
- 
- 	* c-common.c (decl_attributes): Flag unrecognized attribute
- 	functions as warnings instead of as errors.
- 
- 	Support for i386-pc-uwin.
- 	* i386/uwin.h: New file.
- 	* i386/xm-uwin.h: New file.
- 	* i386/t-uwin: New file.
- 	* i386/uwin.asm: New file.
- 	* configure.in (i[3456]86-*-uwin*): Define.
- 	Add Workaround for vfork bug when hosted on uwin.
- 	* configure: Regenerate.
- 
- 	* cccp.c (INO_T_EQ): Undefine. UWIN has inodes.
- 	(absolute_filename): UWIN uses POSIX pathnames only.
- 	* libgcc2.c (getpagesize): Do not define for UWIN.
- 	(mprotect): Likewise.
- 	* protoize.c (dirent.h): Conditionally include.
- 	(fputc): Prototype only if it's not a macro.
- 
- Wed Mar 10 02:49:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* configure.in: Remove init_priority stuff.
- 
- 1999-03-11  Colin Smith  <colin@wrs.com>
- 
- 	* sdbout.c (plain_type_1): Make boolean types work better with sdb.
- 
- Thu Mar 11 00:20:52 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* gcc.texi: Update bug reporting instructions to match
- 	current ezmlm list reality.
- 
- Wed Mar 10 23:11:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (print_file_name, print_prog_name, spec_machine,
- 	read_specs, set_spec, lookup_compiler, build_search_list,
- 	putenv_from_prefixes, find_a_file, record_temp_file,
- 	delete_if_ordinary, handle_braces, do_spec, do_spec_1, find_file,
- 	is_directory, validate_switches, used_arg, default_arg,
- 	pfatal_with_name, perror_with_name, pfatal_pexecute, fatal, error,
- 	notice, add_preprocessor_option, add_assembler_option,
- 	add_linker_option, process_command, execute,
- 	unused_prefix_warnings, clear_args, fatal_error,
- 	lang_specific_driver, user_specs, compiler, link_command_spec,
- 	option_map, translate_options, make_temp_file, temp_name,
- 	programname, path_prefix, machine_suffix, just_machine_suffix,
- 	gcc_exec_prefix, standard_exec_prefix, standard_exec_prefix_1,
- 	md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1,
- 	standard_startfile_prefix, standard_startfile_prefix_1,
- 	standard_startfile_prefix_2, tooldir_base_prefix, tooldir_prefix,
- 	multilib_dir, temp_filename, temp_file, command, switchstr,
- 	infile, outfiles, input_filename, input_basename, input_suffix,
- 	check_live_switch, main): Qualify a char* with the `const' keyword.
- 
- Wed Mar 10 20:28:29 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* lcm.c: New file.
- 	* Makefile.in (OBJS): Add lcm.o.
- 	(lcm.o): Add dependencies.
- 
- 	* gcse.c (compute_pre_local_properties): Delete.
- 	(compute_pre_data): Use compute_local_properties instead of
- 	compute_pre_local_properties.
- 
- 	* gcse.c: More comments, whitespace and similar fixes.
- 	(dump_cuid_table, maybe_set_rd_gen, dump_cprop_data): Delete.
- 	(dump_pre_data, compute_cprop_local_properties): Likewise.
- 	(one_classic_gcse_pass): Lose unused argument.  All callers changed.
- 	(compute_hash_table, compute_expr_hash_table): Likewise.
- 	(compute_set_hash_table, one_pre_gcse_pass, mark_call): Likewise.
- 	(cprop_insn, cprop, one_cprop_pass): Add new argument ALTER_JUMPS.
- 	All callers changed.  Only alter jumps if ALTER_JUMPS is nonzero.
- 	Lose unused argument.
- 	(gcse_main): Always run a cprop pass after finishing global cse.
- 	(compute_local_properties): New function.
- 	(hash_scan_pat, hash_scan_insn): No longer call maybe_set_rd_gen.
- 	(compute_cprop_data): Use compute_local_properties.
- 
- 	* gcse.c: Update various comments.
- 	(current_function_calls_longjmp): Delete declaration.
- 
- 	* gcse.c (run_jump_opt_after_gcse): New variable.
- 	(gcse_main): Returns an integer.
- 	(hash_scan_set): Record initializations from CONST_DOUBLEs too.
- 	(try_replace_reg): Update some comments.
- 	(cprop_insn): Allow propagation into some JUMP_INSNs too.
- 	* rtl.h (gcse_main): Update prototype.
- 	* toplev.c (rest_of_compilation): If gcse_main returns nonzero,
- 	then run a jump optimization pass.
- 	* jump.c (delete_barrier_successors): Delete nop jumps too.
- 
- Wed Mar 10 19:04:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (fp_arith_reg_operand): Actually test if reg is suitable
- 	for FP arithmetic.  Changed caller.
- 	* sh.md (subsf3, subsf_i): Use fp_arith_reg_operand.
- 
- Wed Mar 10 18:56:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): When inheriting from the frame
- 	pointer, don't clobber it.
- 
- Wed Mar 10 08:01:52 1999  Bruce Korb  <korb@datadesign.com>
- 
- 	* fixinc/fixinc.*: Resync-ed with the files in this
- 	directory.
- 
- 	* fixinc/mkfixinc.sh: The machine case elements were
- 	out-of-order.  (the ix86-*-linux-gnu* entry needed to
- 	be earlier).
- 
- Wed Mar 10 00:01:24 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine_note_store): Fix calculation of number
- 	of affected registers.
- 
- Tue Mar  9 15:48:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (tidy_fallthru_edge): Be more careful finding the last
- 	BARRIER of a list.  Delete the cc0 setter as well as a cond jump.
- 
- Tue Mar  9 15:26:02 1999  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* i386.md (ashlsi3 splitter): Fix typo in last change.
- 
- Tue Mar  9 11:35:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* reg-stack.c (stack_reg_life_analysis): Use returnjump_p
- 	instead of an explicit test for RETURN.
- 
- Tue Mar  9 09:33:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o): Depend on $(BASIC_BLOCK_H).
- 
- 	* toplev.c: Include basic-block.h.
- 
- Tue Mar  9 02:08:17 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (load_register_parameters): New function.
- 	(expand_call): Use it.
- 
- 	* calls.c (expand_call): Slightly reorganize code.
- 
- 	* calls.c (compute_argument_addresses): New function.
- 	(rtx_for_function_call): New function.
- 	(expand_call): Use them.
- 
- 	* i386.md (zero_extendhisi2): Split into an expander and anonymous
- 	pattern.  Add new anonymous pattern for use when optimizing for
- 	size or for the PPro.
- 	(zero_extendqihi2, zero_extendqisi2): Likewise.
- 
- Mon Mar  8 23:43:47 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_analyze_1): Fix last change -- add clobber
- 	dependencies to sets in the non-hard-reg case too.
- 
- Mon Mar  8 18:55:21 1999  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* config/openbsd.h (HANDLE_SYSV_PRAGMA): Define.
- 
- Mon Mar  8 16:04:44 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* local-alloc.c (combine_regs): Don't combine if we have a hard reg
- 	for which CLASS_LIKELY_SPILLED_P is true.
- 
- 	* unroll.c (loop_iterations): Only call loop_find_equiv_value if we
- 	have a REG or SUBREG.
- 
- Mon Mar  8 15:27:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md (ashlsi3): Revise comments.  Provide new anonymous
- 	pattern for Pentium and PPro/PII.  Reverse constraints in
- 	generic ashlsi3 anonymous pattern.
- 
- 	* calls.c (initialize_argument_info): Accept a pointer to
- 	CUMULATIVE_ARGS.
- 	(expand_call): Pass the address of CUMULATIVE_ARGS.
- 
- 	* rs6000/xm-sysv4.h (HOST_BITS_PER_LONGLONG): Remove #if 0.
- 
- 	* mn10300.h (CASE_DROPS_THROUGH): Delete.
- 	* mn10200.h (CASE_DROPS_THROUGH): Delete.
- 	* h8300.h (CASE_DROPS_THROUGH): Delete.
- 
- 	* flow.c (merge_blocks_nomove): For HAVE_cc0 targets, make sure
- 	to also delete the cc0 setter when deleting a conditional branch
- 	to the next block.
- 
- Mon Mar  8 18:47:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (copy_src_to_dest): New argument max_old_uid.
- 
- Mon Mar  8 08:23:00 1999  Bruce Korb  <korb@datadesign.com>
- 
- 	* ChangeLog: Merged entries from fixincl-branch.
- 
- Sun Mar  7 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (ENCODE_BLOCKAGE): Don't shift unit too far.
- 	(print_exp): Special case addition of a constant.
- 	(print_value) [CONST_INT]: Use HOST_WIDE_INT_PRINT_HEX.
- 
- Sun Mar  7 11:21:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (reg_last_clobbers): New.
- 	(reg_pending_clobbers, bb_reg_last_clobbers): New.
- 	(compute_block_backward_dependences): Allocate memory for them.
- 	(schedule_region): Likewise.
- 	(sched_analyze_1): Clobbers don't interfere with one another.
- 	They do interfere with sets ...
- 	(sched_analyze_2): ... and uses.
- 	(sched_analyze): Likewise.
- 	(sched_analyze_insn): Update reg_last_clobbers appropriately.
- 
- Sun Mar  7 08:30:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gmon-sol2.c: Include config.h and system.h.  Don't redundantly
- 	include system header files.
- 	(sccsid): Remove.
- 	(moncontrol, monstartup, _mcleanup, internal_mcount): Prototype.
- 	(_mcleanup): Add the `const' keyword to a char*.
- 	(internal_mcount): Declare `etext' as a char[] not a function.
- 	Cast `etext' to char* when calling `monstartup'.
- 
- 	* sparc.c (frame_base_name, save_regs, restore_regs,
- 	build_big_number, sparc_cmodel_string, sparc_align_loops_string,
- 	sparc_align_jumps_string, sparc_align_funcs_string, code_model,
- 	cpu_default, cpu_table, output_function_prologue,
- 	output_function_epilogue, output_return,
- 	sparc_flat_output_function_prologue, ultra_code_names,
- 	sparc_flat_output_function_epilogue): Constify a char*.
- 	(hypersparc_adjust_cost): Add a default case in a switch.
- 
- 	* sparc.h (sparc_cmodel_string, OVERRIDE_OPTIONS,
- 	sparc_cpu_select, sparc_align_loops_string,
- 	sparc_align_jumps_string, sparc_align_funcs_string,
- 	output_return): Constify a char*.
- 
- 	* sparc.md (movdi): Change the comparison of HOST_BITS_PER_WIDE_INT
- 	so that we check "== 32", instead of "!= 64".  Cast a value to
- 	HOST_WIDE_INT when comparing against one.  Hide the declaration
- 	for variable `chain'.
- 
- Sun Mar  7 08:05:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (const, inline): Move the stage2 handling of these
- 	keywords-as-macros from here...
- 
- 	* gansidecl.h (const, inline): ...to here.
- 
- Sun Mar  7 02:44:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.c (push_operand, pop_operand): VOIDmode needn't match modes.
- 
- Sun Mar  7 01:58:47 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (canon_hash): Never reject hard regs in CCmode.
- 
- Sun Mar  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Mar  6 17:18:44 1999  Richard Earnshaw  (rearnsha@arm.com)
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (make_edges): Handle casesi that jump to default branch.
- 	If CASE_DROPS_THROUGH, force fallthru to block after casesi.
- 
- Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c (data_type, affix_data_type, gen_decl,
- 	gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
- 	Qualify a char* with the `const' keyword.
- 
- 	* c-common.c (declare_hidden_char_array, add_attribute, if_elt,
- 	declare_function_name, decl_attributes, format_char_info,
- 	check_format_info, binary_op_error): Likewise.
- 
- 	* cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
- 
- 	* gcse.c (dump_hash_table): Likewise.
- 
- 	* integrate.c (function_cannot_inline_p): Likewise.
- 
- 	* optabs.c: Include insn-config.h earlier.
- 	(init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
- 	Qualify a char* with the `const' keyword.
- 
- 	* real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
- 	asctoeg, mtherr, ereal_atof): Likewise.
- 
- 	* real.h (ereal_atof): Likewise.
- 
- 	* sbitmap.c (dump_sbitmap_vector): Likewise.
- 
- 	* sbitmap.h (dump_sbitmap_vector): Likewise.
- 
- 	* stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
- 
- 	* toplev.c (rest_of_compilation): Likewise.
- 
- 	* tree.h (function_cannot_inline_p, expand_start_case): Likewise.
- 
- Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
- 	not overwrite AIX link register save area.
- 
- Fri Mar  5 23:08:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads_subreg_address): Actually create the USE
- 	for the register, not the new memory location.
- 
- Fri Mar  5 21:41:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (emit_reload_insns): If pseudo that can't be replaced
- 	with its equivalent constant, fall back to reload_in.
- 
- Fri Mar  5 13:20:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in: Delete .flow2 debugging files.
- 
- Fri Mar  5 11:36:11 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (arm_override_options): Change default target
- 	cpu selection so that enabling TARGET_APCS_32 does not override
- 	default target CPU.
- 
- Fri Mar  5 19:26:23 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (SLOW_BYTE_ACCESS): Define to 1.
- 	(BOOL_TYPE_SIZE): Define.
- 
- Fri Mar  5 02:14:54 1999  John Wehle  (john@feith.com)
- 
- 	* function.c (assign_stack_temp_for_type): Abort
- 	if mode == Blkmode and align is less than
- 	BIGGEST_ALIGNMENT / BITS_PER_UNIT.
- 	(assign_stack_temp_for_type): Round the size parameter
- 	passed to assign_stack_local instead of size itself.
- 
- Thu Mar  4 15:00:35 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (delete_unreachable_blocks): Mark blocks as they
- 	are put on to the worklist, not as they are taken off.
- 
- Thu Mar  4 00:05:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (current_function_has_computed_jump): Remove duplicate
- 	definition.
- 
- Wed Mar  3 19:09:11 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68k/m68020-elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Undef.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Define to empty string.
- 
- 	* sparc/elf.h (MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL,
- 	MODDI3_LIBCALL, UMODDI3_LIBCALL, STDC_0_IN_SYSTEM_HEADERS): Undef.
- 	(INIT_SUBTARGET_OPTABS): Define to empty.
- 
- Wed Mar  3 00:00:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (force_into): New function.
- 	(expand_block_move): Use it.
- 
- Tue Mar  2 10:39:43 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* cccp.c (struct default_include): Add 'included' field.
- 	(main): Set 'included' field when a default include directory
- 	is added to the chain.  If -v is specified list all default
- 	include directories which do not get appended to the chain.
- 
- Tue Mar  2 09:24:10 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in (gxx_include_dir): Rename to
- 	gcc_gxx_include_dir in order to prevent it being overridden by
- 	a top level Makefile.
- 	(gcc_tooldir): If $exec_prefix != $prefix then use the
- 	difference between the two as the basis for gcc_tooldir.
- 
- 	* configure: Rebuild.
- 
- 	* Makefile.in: Rename gxx_include_dir to gcc_gxx_include_dir.
- 
- Tue Mar  2 16:45:31 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (copy_loop_body): Don't make extra copies of
- 	NOTE_INSN_LOOP_CONT notes.
- 
- Tue Mar  2 07:44:56 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* tree.c (save_tree_status): Don't treat functions with no context
- 	as nested.
- 
- Tue Mar  2 09:37:05 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* Makefile.in (MAKEINFO): Use makeinfo built from sibling
- 	tree when available.
- 
- Tue Mar  2 10:12:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (alpha_cpu_name, alpha_cpu_string, alpha_tp_string,
- 	alpha_fprm_string, alpha_fptm_string, alpha_mlat_string,
- 	current_function_file): Add the `const' keyword.
- 	(normal_memory_operand): Mark parameter `mode' with
- 	ATTRIBUTE_UNUSED.
- 	(alpha_expand_unaligned_load): Add a default case to a switch.
- 
- 	* alpha.h (alpha_cpu_string, alpha_fprm_string, alpha_fptm_string,
- 	alpha_tp_string, alpha_mlat_string): Add the `const' keyword.
- 	(normal_memory_operand): Add prototype.
- 
- 	* alpha.md: Cast an expression to `unsigned HOST_WIDE_INT' when
- 	comparing against one.
- 
- Tue Mar  2 10:00:21 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (abort_with_insn): Make function static, add a prototype,
- 	constify 2nd parameter and mark with ATTRIBUTE_NORETURN.
- 	(current_function_file, mips_cpu_string, mips_isa_string,
- 	mips_abi_string, mips_no_mips16_string, mips_entry_string,
- 	mips_move_1word, mips_move_2words, output_block_move, load_store,
- 	override_options, make_temp_file, mips16_fp_args): Qualify a char*
- 	with the `const' keyword.
- 
- 	* mips.h (current_function_file, mips_cpu_string, mips_isa_string,
- 	mips_abi_string, mips_entry_string, mips_no_mips16_string,
- 	mips_move_1word, mips_move_2words, output_block_move): Likewise.
- 	(abort_with_insn): Remove extern prototype.
- 
- 	* mips.md: Qualify a char* with the `const' keyword.
- 	Remove many unused variables named `label'.
- 
- Tue Mar  2 01:27:52 1999  H.J. Lu  (hjl@gnu.org)
- 
- 	* Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New
- 	variables.
- 	(install-cpp, uninstall-cpp): New targets.
- 	(install-normal): Depend on $(INSTALL_CPP).
- 	(uninstall): Depend on $(UNINSTALL_CPP).
- 	* configure.in (cpp_install_dir): New, substitute.
- 	(tmake_file): Added t-install-cpp for --enable-cpp.
- 	* configure: Rebuilt.
- 	* cpp.sh: New cpp script.
- 	* config/t-install-cpp: New target fragment.
- 
- Tue Mar  2 01:40:01 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (fold_rtx): Update comments for (const (minus (label) (label)))
- 	case.
- 	(cse_insn): Avoid creating a bogus REG_EQUAL note for
- 	(const (minus (label) (label)))
- 	(record_jump_cond): Fix mismatched paren in comment.
- 
- Tue Mar  2 01:07:12 1999  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
- 
- 	* final.c (end_final): There are 11 words in the "main header"
- 	structure, not 10.
- 
- Tue Mar  2 00:09:18 1999  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* extend.texi: Reference __extension__ in the index.
- 
- Mon Mar  1 19:09:32 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (CROSS_FLOAT_H): Delete.
- 	(FLOAT_H): Use float_h_file.
- 	(rest.cross, stmp-int-hdrs): Delete gfloat.h dependency.
- 	(gfloat.h): Delete.
- 	(stmp-int-hdrs): Use FLOAT_H instead of gfloat.h.
- 	(mostlyclean): Delete gloat.h reference.
- 	(install-cross-rest, install-float-h-cross, stmp-headers): Update
- 	comments.
- 	* configure.in (sparcv9-*-solaris2*): Set float_format to none.
- 	(sparc-*-solaris2*): Set float_format to none for 2.5 and higher.
- 	(float_h_file): Set from float_format.  Substitute into Makefile.in.
- 	(float_format): No longer substitute into Makefile.in.
- 	* cross-make (FLOAT_H): Delete.
- 	* config/mips/t-cross64 (FLOAT_H): Delete.
- 	* configure: Rebuilt.
- 
- Mon Mar  1 16:36:18 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.md (div_trap_normal, div_trap_mips16): Require the dependent
- 	insn to be an INSN before looking at its pattern.
- 
- Mon Mar  1 15:03:51 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs.  Fix comments.
- 	* config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
- 	HImode reg when TARGET_5200.
- 
- Mon Mar  1 21:44:30 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	From Toshiyasu Morita:
- 	* sh.h (CACHE_LOG): SH2 has cache, too.
- 
- Mon Mar  1 14:23:36 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* toplev.c (compile_file): Disable -ffunction-sections and
- 	debugging warning if the object format is elf.
- 
- Mon Mar  1 11:46:25 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/h8300/h8300.c (print_operand): Use 16 bit addressing
- 	when the data in 8-bit area and can not be addressed by 8-bit.
- 
- Sun Feb 28 16:40:00 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (create_basic_block): Disregard integrated bb notes.
- 
- Sun Feb 28 15:57:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.md (blockage, nonlocal_goto_receiver): Set length to 0.
- 
- Sun Feb 28 14:47:53 1999  Arturo Montes  <mitosys@colomsat.com.co>
- 
- 	* config/i386/t-sco5gas (crti.o): New target.
- 
- Sun Feb 28 15:10:17 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (elf_high, movsi_got, *movsi_got_internal,
- 	*movsi_got_internal_mem, GOT splitter, movdf_hardfloat32,
- 	movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64,
- 	load_multiple, allocate_stack, call_indirect_aix32,
- 	call_indirect_aix64, call_value_indirect_aix32,
- 	call_value_indirect_aix64, call_indirect_nt,
- 	call_value_indirect_nt): Use gpc_reg_operand instead of
- 	register_operand.
- 
- Sun Feb 28 15:10:17 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.md (one_cmplsi2, andsi3, iorsi3, xorsi3, *eqvsi3,
- 	*andcsi3, *iorcsi3, *nandsi3, *norsi3): Add alternatives to use CR
- 	other than cr0.
- 	* rs6000.c (and{,64}_operand): If the user did -ffixed-cr0, don't
- 	allow andi. or andis. which always set cr0.
- 
- Sun Feb 28 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Feb 28 02:00:38 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* invoke.texi: Update information for PA scheduling.
- 
- Sat Feb 27 23:21:47 1999  Jerry Quinn  <jquinn@nortelnetworks.com>
- 			  Mike Stump  <mrs@wrs.com>
- 
- 	* pa.c (override_options): Change default to 7100LC.
- 
- 	* pa.h (REG_ALLOC_ORDER): Change order to allocate left half of
- 	float regs before right half of float regs.
- 
- Sat Feb 27 22:48:38 1999  H.J. Lu  (hjl@gnu.org)
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* frame.h: Update some comments.
- 	* defaults.h (TARGET_ATTRIBUTE_WEAK): Define.
- 	* crtstuff.c (__register_frame_info, __deregister_frame_info): Declare
- 	using TARGET_WEAK_ATTRIBUTE.
- 	(__do_global_dtors_aux): Check if __deregister_frame_info is
- 	zero before calling it.
- 	(__do_global_dtors): Likewise.
- 	(frame_dummy): Check if __register_frame_info is zero before
- 	calling it.
- 	(__frame_dummy): Likewise.
- 
- Sat Feb 27 19:18:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* SERVICE: Update from the FSF.
- 
- Sat Feb 27 14:31:22 1999  Arturo Montes  <mitosys@colomsat.com.co>
- 
- 	* config/i386/t-sco5 (crti.o): New target.
- 	* config/i386/sco5.h (STARTFILE_SPEC): Include crti.o when
- 	linking -shared.
- 	* configure.in (i[34567]86-*-sco3.2v5*): Add crti.o.
- 
- Sat Feb 27 01:12:40 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* md.texi (prologue,epilogue): Document named patterns.
- 
- Fri Feb 26 19:31:25 1999  Dave Love  <fx@gnu.org>
- 
- 	* md.texi, invoke.texi: Fix unterminated @xrefs.
- 
- Fri Feb 26 15:33:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genattrtab.c (simplify_knowing): Fix uninitialized read
- 	in Feb 21 change.
- 
- 	* genextract.c (main): Clear recog_operands before extracting.
- 
- Fri Feb 26 02:24:57 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-pragma.c (add_weak); Delete.  Moved into...
- 	* varasm.c (add_weak): New external function.
- 	(declare_weak): If HANDLE_PRAGMA_WEAK, then add the function to
- 	the list of weak functions.
- 	* c-pragma (add_weak): Declare.
- 
- Thu Feb 25 23:43:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	Flow rewrite to use basic block structures and edge lists:
- 
- 	* basic-block.h (x_basic_block_head, x_basic_block_end): Kill.
- 	(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
- 	(struct edge_def): New.
- 	(struct basic_block_def): New.
- 	(basic_block_info): New.
- 	(BLOCK_HEAD, BLOCK_END): Update.
- 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): New.
- 	(uid_block_number): Kill.
- 	(basic_block_for_insn, BLOCK_FOR_INSN): New.
- 	(BLOCK_NUM): Update.
- 	* flow.c (XNMALLOC): Kill.
- 	(max_uid_for_flow): Kill.
- 	(uid_block_number): Kill.
- 	(uid_volatile): Turn into a bitmap.
- 	(SET_INSN_VOLATILE): New.
- 	(basic_block_info): New.
- 	(entry_exit_blocks): New.
- 	(x_basic_block_head, x_basic_block_end): Kill.
- 	(basic_block_computed_jump_target, basic_block_live_at_start): Kill.
- 	(flow_int_list_blocks, basic_block_succ, basic_block_pred): Kill.
- 	(basic_block_loop_depth): Kill.
- 	(basic_block_for_insn): New.
- 	(find_basic_blocks): Split out initial block counting into
- 	count_basic_blocks.  Call functions split out of find_basic_blocks_1.
- 	(count_basic_blocks): New.
- 	(find_basic_blocks_1): Split out edge recognition, unreachable
- 	block deletion.
- 	(create_basic_block): New.
- 	(compute_bb_for_insn): New.
- 	(clear_edges): New.
- 	(free_bb_memory): Kill.
- 	(add_edge, add_edge_to_label): Kill.
- 	(mark_label_ref): Kill.
- 	(make_edges): Rewrite to use edge lists.
- 	(make_edge, make_label_edge): New.
- 	(mark_critical_edges): New.
- 	(split_edge, insert_insn_on_edge): New.
- 	(commit_one_edge_insertion, commit_edge_insertions): New.
- 	(delete_unreachable_blocks): Rewrite to use edge lists.
- 	Split out EH region manipulation into delete_eh_regions.
- 	Call tidy_fallthru_edge and merge_blocks.
- 	(delete_eh_regions): New.
- 	(delete_note_p): New.
- 	(delete_insn_chain): New.
- 	(delete_block): Split out code into delete_insn_chain and
- 	tidy_fallthru_edge.  Update edge lists.
- 	(expunge_block): New.
- 	(flow_delete_insn): New?
- 	(can_delete_label_p): New?
- 	(merge_blocks_nomove, merge_blocks): New.
- 	(tidy_fallthru_edge): New.
- 	(calculate_loop_depth): New.
- 	(life_analysis): Allocate and free uid_volatile.
- 	(free_basic_block_vars): Update for new structures.
- 	(record_volatile_insns): Use SET_INSN_VOLATILE.
- 	(mark_regs_live_at_end): Tidy EXIT_IGNORE_STACK usage.
- 	(mark_used_regs): Likewise.
- 	(life_analysis_1): Use bb global_live_at_start, global_live_at_end,
- 	local_set regsets.  Use bb->aux to store new_live_at_end.  Begin
- 	life propagation from EXIT_BLOCK rather than last block.  Clear
- 	regs_ever_live after mark_regs_live_at_end.
- 	(allocate_for_life_analysis): Update for new structures.
- 	(propagate_block): Split out loop depth calculation to
- 	calculate_loop_depth.
- 	(regno_uninitialized): Use bb->global_live_at_start.
- 	(regno_clobbered_at_setjmp): Likewise.
- 	(dump_bb_data): Likewise.
- 	(find_auto_inc): Use BLOCK_FOR_INSN instead of BLOCK_NUM.
- 	(dump_flow_info): Update for new structures.
- 	(dump_edge_info): New.
- 	(print_rtl_with_bb): Update for new structures.
- 	(compute_preds_succs): Do no work -- convert edge lists.
- 	(set_block_for_insn): From corpse of old set_block_num.
- 	(set_block_num): Call it.
- 
- 	* rtl.c (note_insn_name): Add NOTE_INSN_BASIC_BLOCK.
- 	* rtl.h (rtunion_def): Add bb entry.
- 	(NOTE_BASIC_BLOCK): New.
- 	(NOTE_INSN_BASIC_BLOCK): New.
- 
- 	* varray.h (varray_data_tag): Add bb entry.
- 	(VARRAY_BB_INIT, VARRAY_BB): New.
- 
- 	* emit-rtl.c (emit_label_before): New.
- 
- 	* except.c (expand_rethrow): Delete insns following the call to
- 	rethrow.  Put the REG_EH_RETHROW on the call.
- 
- 	* jump.c (returnjump_p, returnjump_p_1): New.
- 
- 	* expr.h (nonlocal_goto_handler_labels): New declaration.
- 	* function.c (nonlocal_goto_handler_labels): Define it.
- 	(push_function_context_to): Save it.
- 	(pop_function_context_from): Restore it.
- 	(init_function_start): Clear it.
- 	(nonlocal_label_rtx_list): Kill.
- 	* function.h (struct function): Add storage space for it.
- 	* stmt.c (expand_nl_handler_label): Return the new label.
- 	(expand_nl_goto_receivers): Collect a list of them in
- 	nonlocal_goto_handler_labels.
- 
- 	* Makefile.in (print-rtl.o): Depend on basic-block.h.
- 	(flow.o): Depend on insn-flags.h.
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Do not
- 	half-heartedly update bb structures.
- 
- 	* toplev.c: Add flow2 dump as -dw.
- 	(rest_of_compilation): Finish .greg before flow2.
- 
- 	* graph.c (draw_edge): Handle class 3.
- 	(print_rtl_graph_with_bb): Make abnormal edges red class 2,
- 	change non-fall-thru but adjacent to green class 3.  Update
- 	to use new structures.
- 
- 	* print-rtl.c (print_rtx): Handle NOTE_INSN_BASIC_BLOCK.
- 
- 	* reg-stack.c (BLOCK_NUM): Convert to function.  Abort if
- 	block_number is -1.
- 	(reg_to_stack): Initialize block_num to -1.
- 
- 	* combine.c (set_nonzero_bits_and_sign_copies): Update reference
- 	to basic_block_live_at_start to bb->global_live_at_start.
- 	(try_combine): Likewise.
- 	(reg_dead_at_p): Likewise.
- 	* global.c (global_conflicts): Likewise.
- 	Handle stack regs on all abnormal edges, not just computed jumps.
- 	(mark_elimination): Update reference to basic_block_live_at_start.
- 	(build_insn_chain): Likewise.
- 	* haifa-sched.c (haifa_edge): Rename from edge for conflict.
- 	(is_cfg_nonregular): Look at nonlocal_goto_handler_labels instead
- 	of nonlocal_label_rtx_list.
- 	(check_live_1): Update reference to basic_block_live_at_start.
- 	(update_live_1): Likewise.
- 	(find_pre_sched_live): Likewise.
- 	(find_post_sched_live): Likewise.
- 	* local-alloc.c (update_equiv_regs): Likewise.
- 	(block_alloc): Likewise.
- 	* reload1.c (reload, reload_combine): Likewise.
- 	* regmove.c (mark_flags_life_zones): Likewise.
- 	* resource.c (mark_target_live_regs): Likewise.
- 	* sched.c (schedule_block): Likewise.
- 
- 	* regclass.c (regset_release_memory): Don't free
- 	basic_block_live_at_start.
- 
- 	* unroll.c (copy_loop_body): Don't duplicate NOTE_INSN_BASIC_BLOCK.
- 
- Thu Feb 25 21:32:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* fixinc.wrap: Also handle struct queue in sys/stream.h.
- 	* fixinc.svr4: Likewise.
- 
- 	* dwarf2out.c (scope_die_for): Set scope_die to comp_unit_die
- 	rather than asserting it.
- 
- Thu Feb 25 23:33:06 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppexp.c (left_shift, right_shift, parse_charconst, COMPARE,
- 	cpp_parse_expr): Replace uses of long/HOST_BITS_PER_LONG with
- 	HOST_WIDEST_INT/HOST_BITS_PER_WIDEST_INT.
- 
- 	* Makefile.in (cppmain.o, cpplib.o, cpphash.o, cppalloc.o,
- 	cpperror.o, cppexp.o, cppfiles.o, cppinit.o, fix-header.o,
- 	scan-decls.o): Don't depend on machmode.h.
- 
- 	* cppexp.c: Don't define CHAR_BIT or HOST_BITS_PER_WIDE_INT anymore.
- 	Replace all instances of HOST_WIDE_INT with HOST_WIDEST_INT.
- 
- 	* cppfiles.c: Likewise.
- 
- 	* cpplib.c: Likewise.
- 
- 	* cpplib.h: Likewise.  Also don't include machmode.h anymore.
- 
- Thu Feb 25 18:46:26 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.
- 	* objc/lang-specs.h: Likewise.
- 
- Thu Feb 25 16:19:43 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (call patterns): Lose unused argument to output_call.
- 
- 	* print-rtl.c (print_rtl): Print /j and /c for the jump/call flags.
- 
- 1999-02-25  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpphash.c (install): Rename to cpp_install, add cpp_reader*
- 	first argument.  All callers changed.
- 	(hashtab): Removed.
- 	(cpp_lookup, cpp_install): Change all refs to hashtab to
- 	pfile->hashtab.
- 	(cpp_hash_cleanup): Removed.
- 	* cpphash.h: Adjust prototypes.
- 	* cpplib.h (struct cpp_reader): Add hashtab pointer.
- 	* cppinit.c (cpp_reader_init): Also allocate space for the
- 	hashtab.
- 	(cpp_cleanup): Delete all macros and free the hashtab.
- 
- Thu Feb 25 21:52:54 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (PASS_IN_REG_P): For TARGET_HITACHI, don't pass structures
- 	in registers.
- 
- 	* expr.h (PRETEND_OUTGOING_VARARGS_NAMED): Provide default definition.
- 	* function.c (assign_parms): Honor PRETEND_OUTGOING_VARARGS_NAMED.
- 	* calls.c (expand_call): Likewise.
- 
- 	* sh.c (sh_expand_prologue): For TARGET_HITACHI, don't push varargs /
- 	stdarg arguments.
- 	* sh.h (CPP_SPEC): Add -D__HITACHI__ for -mhitachi.
- 	(FUNCTION_ARG): For TARGET_HITACHI, don't pass unnamed
- 	arguments in registers.
- 	(PRETEND_OUTGOING_VARARGS_NAMED): Define.
- 	* va-sh.h (entire file): If __HITACHI__ is defined, use sh[123]
- 	flavor varargs.
- 
- Thu Feb 25 14:32:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (dump_class): Revert last change and make the prototype
- 	extern.
- 
- Thu Feb 25 19:13:42 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (insn_first_p): Don't declare.
- 	* rtlanal.c (insn_first_p): Delete.
- 	* loop.c (loop_insn_first_p): Faster implementation.
- 
- Thu Feb 25 10:44:35 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (TARGET_SWITCHES): Delete deprecated switches -m[236].
- 	(TARGET_3, TARGET_6): Delete.
- 	(ARM_FLAG_ARM[36]): Delete.
- 	(CPP_CPU_ARCH_SPEC): No need to handle -m[236] any more.
- 	(CC1_SPEC): Don't expand -m[236] into new equivalents.
- 	(CPP_APCS_PC_SPEC): No need to handle -m[236] any more.
- 	* arm.c (arm_override_options): Delete warnings about deprecated
- 	options -m[236].
- 
- 	* arm.c (arm_finalize_pic): Build the label into the special pic
- 	adjustment insn instead of issuing it separately.
- 	* arm.md (pic_add_dot_plus_eight): Rework to contain the label
- 	that is needed.
- 
- 	* arm.md (*zeroextractqi_compare0_scratch): Delete.
- 	(*ne_zeroextractsi): New pattern.
- 
- Thu Feb 25 18:40:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* stmt.c (expand_end_loop): Grok code emitted by
- 	expand_exit_loop_if_false.
- 
- Thu Feb 25 10:17:32 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (return_in_memory): Float fields in unions
- 	force a return in memory.
- 	(load_multiple_sequence): Add comment explaining why two LDR
- 	instructions can be better than an LDMIA instruction.
- 
- 	* config/arm/arm.h (TARGET_SHORT_BY_BYTES): Add comment
- 	describing the real meaning of this option.
- 	(FIXED_REGISTERS): Default r10 to not-fixed.
- 	(CALL_USED_REGISTERS): Default r10 to not-call-used.
- 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): If not defined, define
- 	as empty.
- 	(CONDITIONAL_REGISTER_USAGE): Fix r10 if TARGET_APCS_STACK is
- 	true.  Invoke SUBTARGET_CONDITIONAL_REGISTER_USAGE after
- 	performing other checks.
- 
- 	* config/arm/arm.md (zero_extendhisi2): Undo previous change.
- 	(extendhisi2): Undo previous change.
- 	Also add comments describing why TARGET_SHORT_BY_BYTES can be
- 	ignored for armv4(t) architectures.
- 
- 	* config/arm/riscix.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE):
- 	Define to fix r10.
- 
- 	* config/arm/riscix1-1.h
- 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define to fix r10.
- 
- Thu Feb 25 12:09:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (dump_class): Make the function definition static to match
- 	the prototype.
- 
- Wed Feb 24 17:47:28 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dbxout.c (gstab.h): Use if CROSS_COMPILE.
- 
- 	* dwarf2out.c (add_location_or_const_value_attribute): Add big
- 	endian correction for parms passed in regs but living on the stack.
- 
- Wed Feb 24 14:03:54 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (initialize_argument_information): New function extracted
- 	from expand_call.
- 	(expand_call): Use initialize_argument_information.  Remove variables
- 	which are no longer used due to cleanups.
- 
- 	* calls.c (compute_argument_block_size): New function, extracted from
- 	expand_calls.
- 	(expand_calls): Use compute_argument_block_size.  Delete
- 	original_args_size, use unadjusted_args_size instead.
- 
- 	* calls.c (precompute_arguments): New function, extracted from
- 	expand_call.
- 	(expand_call): Use precompute_arguments.
- 
- 	* calls.c (finalize_must_preallocate): New function, extracted from
- 	expand_call.
- 	(expand_call): Use finalize_must_preallocate.
- 
- 	* calls.c (store_one_arg): Mark "variable_size" as possibly unused.
- 
- 	* regclass.c (record_reg_classes, case 'p'): Set classes appropriately.
- 	An alternative always fails if it needs a pseudo and no suitable
- 	register class can be found.
- 
- Wed Feb 24 19:47:56 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.h (loop_insn_first_p): Declare.
- 	* loop.c (loop_insn_first_p): No longer static.
- 	* unroll.c (iteration_info): Fix comparison to
- 	reg_iv_type->num_elements.
- 	Before accessing reg_biv_class, check index against
- 	max_reg_before_loop.
- 	Fix and enable code for giv iterators.
- 	(loop_iterations): Compare with reg_iv_type->num_elements instead
- 	of with max_reg_before_loop.
- 
- Wed Feb 24 19:17:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (unroll_loop): Avoid out-of-bounds index for local_regno.
- 
- Wed Feb 24 11:26:41 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't use
- 	PIC_OFFSET_TABLE_REGNUM for register allocation when -fPIC.
- 
- Tue Feb 23 16:24:19 1999  Marc Lehmann  <pcg@goof.com>
- 
- 	* config/i386/i386.md: Fix typo.
- 
- Mon Feb 22 19:36:33 1999  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* config/mips/mips.c (mips_debugger_offset): When TARGET_MIPS16 &&
- 	frame_pointer_needed adjust frame size.
- 	(function_prologue): Don't MIPS16 .mask GPOFFSET. Already adjusted
- 	in .frame pseudo-op.
- 	Frm Jim Wilson  <wilson@cygnus.com>:
- 	* mips.c (function_prologue): Adjust frame size in .frame pseudo-op
- 	when TARGET_MIPS16 && frame_pointer_needed.
- 
- 1999-02-22  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h: Add TARGET_CPU_strongarm1100.
- 	Add -mno-sched command line switch to disable scheduling of
- 	instructions into the function's prologue.
- 	(enum processor_type): Remove.
- 	(TARGET_OPTIONS): Add "fpe=" option to match documentation.
- 	(struct arm_cpu_select): Replace 'set_tune_p' and 'set_arch_p'
- 	fields with 'processors' field.
- 	(CONDITIONAL_REGISTER_USAGE): Allow r10 to be used if stack
- 	checking is not enabled.
- 	(RETURN_IN_MEMORY): Always call arm_return_in_memory.
- 
- 	* config/arm/arm.c (arm_cpu): Remove.
- 	(tune_flags): Remove.
- 	(arm_is_strong): New variable: true iff the target processor is a
- 	StrongARM.
- 	(arm_is_6_or_7): New variable: true iff the target processor is an
- 	ARM6 or and ARM7.
- 	(arm_select): Fields reorganized.
- 	(struct processors): processor_type field removed.
- 	(all_procs): Remove.
- 	(all_cores): New array: Definitions of all known ARM cpu cores.
- 	(all_architectures): New array: Definitions of all known ARM
- 	architectures.
- 	(streq): New macro.
- 	(FL_SCHED): New processor flag: processor required load
- 	scheduling.
- 	(FL_STRONG): New processor flag: processor is a StrongARM.
- 	(arm_override_options): Reorganized to make code clearer.
- 	(use_return_insn): Test for "not (TARGET_APCS and
- 	frame_pointer_needed)".
- 	(arm_return_in_memory): Improve handling of structures.
- 
- 	* config/arm/arm.md: Remove "cpu" attribute.  Replace with
- 	"is_strongarm" and "is_arm_6_or_7" attributes.
- 	(zero_extendhisi2): Check for TARGET_SHORT_BY_BYTES before
- 	arm_arch4.
- 	(extendhisi2): Check for TARGET_SHORT_BY_BYTES before arm_arch4.
- 
- 	* invoke.texi (ARM Options): Document -mtune= and -mfp= options.
- 
- 1999-02-22  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Replace default
- 	definition with one including cache synchronization.
- 	(CLEAR_INSN_CACHE): Correct syscall number and enable definition.
- 	Move definition of inhibit_libc to...
- 	* config/arm/xm-linux.h: ... here.
- 
- 	* config/arm/t-linux: Disable multilib configurations since the
- 	only effect for most people is to cause builds to fail.
- 
- 	* config/arm/elf.h (ASM_FILE_START): Add .file directive.
- 	(ASM_SPEC): Translate -mapcs-float to -mfloat for the assembler.
- 
- 	* config/arm/linux-elf.h (DEFAULT_VTABLE_THUNKS): Define.
- 	(HANDLE_SYSV_PRAGMA): Likewise.
- 	(LIB_SPEC): Copy definition from generic Linux files.
- 	(LIBGCC_SPEC): Include -lfloat if -msoft-float was given.
- 	(FP_DEFAULT): Set to SOFT3 on 32-bit targets.
- 	(DWARF2_DEBUGGING_INFO): Define.
- 	(PREFERRED_DEBUGGING_TYPE): Define as DBX_DEBUG.
- 
- Mon Feb 22 16:54:18 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* loop.c (libcall_other_regs): Make extern.
- 	* rtl.h (find_last_value): Add parameter to prototype.
- 	(libcall_other_reg): Add extern declaration.
- 	* rtlanal.c (find_last_value): Add another parameter to allow
- 	a definition using a hardware register to be found as well.
- 
- Mon Feb 22 13:33:47 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* cse.c (dump_class): New function.
- 	(invalidate_memory): Fix typo in comment.
- 	* function.c (temp_slot): Add an alias set field.
- 	(assign_stack_temp): Only reuse slots if they will have the
- 	same alias set as before.
- 	(combine_temp_slots): Don't combine if -fstrict-aliasing;
- 	that's unsafe.
- 	* rtl.c (copy_rtx): Copy all the flags (in particular,
- 	MEM_SCALAR_P).
- 
- Mon Feb 22 14:13:23 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* configure.in (i[34567]86-*-linux-gnu*,
- 	i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
- 	i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
- 	fixincludes.
- 
- 	* configure: Rebuilt.
- 
- 	* fixinc.x86-linux-gnu: New script for fixing asm-statements bug
- 	on x86 linux.
- 
- 	* fixinc/fixinc.x86-linux-gnu: Copy of the previous one.
- 
- 	* fixinc/mkfixinc.sh (i[34567]86-*-linux-gnu*,
- 	i[34567]86-*-linux-gnulibc1, i[34567]86-*-linux-gnuaout*,
- 	i[34567]86-*-linux-gnuoldld*): Use fixinc.x86-linux-gnu as
- 	fixincludes.
- 
- Mon Feb 22 08:55:05 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* objc/objc-act.c (encode_type): Temporary revert to the old
- 	behavior of encoding types as the new one seems to break the
- 	encoding of bitfields.
- 
- Mon Feb 22 11:40:44 1999  Craig Burley  <craig@jcb-sc.com>
- Sat Feb 20 09:59:36 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* Makefile.in (all.internal, all.cross): Depend on `doc'
- 	target, to ensure docs get made before installation.
- 
- 	Decrease spurious warnings from -fsyntax-only:
- 	* stmt.c (expand_expr_stmt): Expand expr even when -fsyntax-only.
- 
- Mon Feb 22 10:55:00 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-lex.c (yylex): Replace warning about integer constants being
- 	larger than long-longs, with a warning about integer constants
- 	being larger than the largest target integer.
- 
- Mon Feb 22 08:35:38 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	Fix -fsyntax-only ICEs:
- 	* varasm.c (assemble_zeros, assemble_variable,
- 	output_constant_def): Do nothing when -fsyntax-only.
- 
- Fri Feb 19 18:18:56 1999  Don Bowman  <don@pixstream.com>
- 
- 	* configure.in (mips*-*-vxworks*): Enable gthreads vxworks support.
- 	* configure: Rebuilt.
- 
- Sun Feb 21 20:34:44 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Feb 21 20:35:10 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete.
- 	(ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise.
- 	* tm.texi: Update docs for constructors and destructors.
- 
- Sun Feb 21 17:11:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genattrtab.c (check_attr_value): Allow negative const_int if
- 	negative_ok.  Accept integral arithmetic operators.  Accept
- 	direct references to other attributes.  Accept symbol_ref in
- 	non-constant attributes.
- 	(max_attr_value): Add new argument `unknownp'.  Update all callers.
- 	(or_attr_value): Likewise.
- 	(simplify_knowing): Don't optimize if max_attr_value unknown.
- 	(write_length_unit_log): Likewise with or_attr_value.
- 	(find_and_mark_used_attributes): Don't fallthru case.
- 	(write_attr_set): Pass thru all non-cond expressions.
- 	(write_attr_value): Handle symbol_ref, attr, and arithmetic.
- 
- Sun Feb 21 13:16:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* regmove.c (discover_flags_reg): Use word_mode instead of SImode.
- 
- Sun Feb 21 13:15:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* regmove.c (discover_flags_reg): Remove cc0 code.
- 	(mark_flags_life_zones) [HAVE_cc0]: Force use of cc0; bail if
- 	a potential flags register was identified.
- 
- Sat Feb 20 16:16:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.md (scc plus ltu): Fix typo in last change.
- 
- Sat Feb 20 09:08:44 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* xm-arm.h (HOST_BITS_PER_LONGLONG): Define.
- 
- Fri Feb 19 23:02:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* regmove.c (discover_flags_reg): New function.
- 	(flags_set_1, mark_flags_life_zones): New functions.
- 	(regmove_optimize): Call them.
- 	(fixup_match_1): Use insn modes rather than sets_cc0_p.
- 
- Fri Feb 19 22:47:01 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtlanal.c (insn_first_p): Fix return value for insn == reference.
- 
- 	* loop.c (strength_reduce, check_final_value, check_dbra_loop):
- 	Use loop_insn_first_p.
- 
- Fri Feb 19 15:49:26 1999  Michael Meissner  <meissner@cygnus.com>
- 			  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (scc plus eq): Fix output template.
- 	(scc plus ltu): Fix output template and collapse variants
- 	correcting early clobbers.
- 	(scc plus geu): Fix output template.
- 	(scc plus gt): Fix output template.
- 	(scc plus gtu): Fix output template and collapse variants.
- 
- Fri Feb 19 15:43:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppinit.c (print_help): Remove unescaped newline in string.
- 
- Fri Feb 19 19:55:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Check for intervening jumps when
- 	converting biv increment to giv.
- 
- Thu Feb 18 16:36:58 1999  Per Bothner  <bothner@cygnus.com>
- 
- 	* tree.def (TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR): New tree nodes,
- 	* expr.c (expand_expr): Support new tree nodes.
- 
- Fri Feb 19 10:17:56 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c (m68k_align_loops_string,
- 	m68k_align_jumps_string, m68k_align_funcs_string): Add const.
- 	* config/m68k/m68k.h (m68k_align_loops_string,
- 	m68k_align_jumps_string, m68k_align_funcs_string): Likewise.
- 
- Thu Feb 18 23:28:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.
- 
- 	* bitmap.h (bitmap_print): Likewise.
- 
- 	* c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise.
- 
- 	* c-lang.c (build_objc_string): Likewise.
- 
- 	* c-lex.c (yyerror, extend_token_buffer): Likewise.  Don't include
- 	limits.h or ctype.h.  Remove unused variable `p'.
- 
- 	* c-lex.h (yyerror): Qualify a char* with the `const' keyword.
- 
- 	* c-pragma.c (handle_pragma_token): Likewise.
- 
- 	* c-pragma.h (handle_pragma_token): Likewise.
- 
- 	* c-tree.h (build_objc_string, builtin_function, grokfield,
- 	build_indirect_ref, lvalue_or_else, readonly_warning, error_init,
- 	pedwarn_init): Likewise.
- 
- 	* c-typeck.c (convert_for_assignment, warn_for_assignment,
- 	push_string, warning_init, incomplete_type_error,
- 	build_indirect_ref, lvalue_or_else, readonly_warning,
- 	build_c_cast, spelling, push_member_name, print_spelling,
- 	error_init, pedwarn_init, start_init): Likewise.
- 
- 	* objc/objc-act.c (build_objc_string): Likewise.
- 
- 	* print-tree.c (print_node_brief, print_node): Likewise.
- 
- 	* tree.h (lvalue_or_else, print_node, print_node_brief): Likewise.
- 
- Thu Feb 18 20:44:21 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* regclass.c (record_reg_classes): Correctly handle 'p' constraint.
- 
- Thu Feb 18 19:59:37 1999  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* configure.in :Handle OpenBSD platforms.
- 	* configure: Rebuilt.
- 	* config/openbsd.h: New file.
- 	* config/xm-openbsd.h: New file.
- 	* config/t-openbsd: New file.
- 	* config/t-openbsd-thread: New file.
- 
- Thu Feb 18 18:47:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (assign_stack_temp_for_type): Round SIZE before calling
- 	assign_stack_local for BLKmode slots.
- 
- Fri Feb 19 01:45:06 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): For derived givs, replace the
- 	giv this was derived from with its new_reg.
- 	(recombine_givs): Don't set new_reg for derived giv.
- 	And don't print it, print SUM instead.
- 
- Thu Feb 18 15:52:49 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m68kelf.h (ASM_RETURN_CASE_JUMP): Add 5200 support.
- 
- 1999-02-18  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpplib.c: Kill define of STDC_VALUE.  Don't include output.h
- 	  or prefix.h. Change CPP_IS_MACRO_BUFFER to not refer to
- 	  macro_cleanup.
- 	  (GET_ENV_PATH_LIST, PATH_SEPARATOR, STANDARD_INCLUDE_DIR,
- 	  predefs, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
- 	  CPP_WCHAR_TYPE, USER_LABEL_PREFIX, REGISTER_PREFIX, struct
- 	  cpp_pending, version_string, struct default_include,
- 	  include_defaults_array, path_include, cpp_options_init,
- 	  dump_special_to_buffer, initialize_builtins, cpp_start_read,
- 	  cpp_reader_init, nreverse_pending, push_pending, print_help,
- 	  cpp_handle_option, cpp_handle_options, cpp_finish,
- 	  cpp_cleanup): Move to cppinit.c.
- 	  (macro_cleanup, struct arglist, collect_expansion,
- 	  create_definition, compare_defs, comp_def_part, ARG_BASE,
- 	  struct argdata, macarg, change_newlines, timestamp,
- 	  monthnames, special_symbol, unsafe_chars, macroexpand,
- 	  push_macro_expansion): Move to cpphash.c.
- 	  (quote_string, check_macro_name, cpp_expand_to_buffer,
- 	  output_line_command, cpp_undef): Export.
- 	  (null_underflow, null_cleanup, handle_directive): Make static.
- 
- 	* cpplib.h: Prototype now-exported functions.  Adjust decls of
- 	  syntax tables so we can include cpplib.h in cppinit.c.
- 	* cpphash.h: Prototype all functions exported by cpphash.c.
- 	* cppinit.c: Make syntax tables initialized data if possible
- 	  (uses GCC designated-initializer extension).
- 	* cppexp.c: Make cpp_lex static.
- 	* Makefile.in: Move -D switches for the various include dirs
- 	  from cpplib.o rule to cppinit.o rule.  Adjust dependencies.
- 
- Thu Feb 18 13:15:56 1999  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* alpha/openbsd.h: New file.
- 	* alpha/xm-openbsd.h: New file.
- 	* sparc/openbsd.h: New file.
- 	* sparc/xm-openbsd.h: New file.
- 	* m68k/openbsd.h: New file.
- 	* m68k/xm-openbsd.h: New file.
- 	* i386/openbsd.h: New file, originally from netbsd.
- 	* i386/xm-openbsd.h: New file.
- 
- 1999-02-17  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* Makefile.in: Correct dependencies for cpplib object files.
- 
- Wed Feb 17 14:04:18 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.md ({add,sub}si3 `.'): Add alternatives to use CR other
- 	than cr0.
- 
- Wed Feb 17 16:59:28 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Don't move giv insn for biv turned giv
- 	below scan_start.
- 
- Wed Feb 17 10:56:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.c (tree_node_kind_names, print_obstack_name,
- 	get_identifier, maybe_get_identifier, build_string,
- 	build_expr_wfl, is_attribute_p, lookup_attribute,
- 	print_obstack_statistics, get_file_function_name_long, tree_check,
- 	tree_class_check, expr_check): Qualify a char* with the `const'
- 	keyword.
- 
- 	* tree.h (get_identifier, maybe_get_identifier, build_string,
- 	build_expr_wfl, is_attribute_p, lookup_attribute,
- 	print_obstack_statistics, print_obstack_name, tree_check,
- 	tree_class_check, expr_check): Likewise.
- 
- Tue Feb 16 21:29:38 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/freebsd-elf.h, i386/gas.h, i386/linux.h: Fix minor spacing
- 	errors.
- 
- 	* calls.c (store_one_arg): Mark any slots used for the argument
- 	as in-use immediately after we're done saving any slots which
- 	will be overwritten by this argument.
- 
- Tue Feb 16 21:02:07 1999  Anton Hartl  <toni@devsoft.com>
- 
- 	* rs6000.md (call_value): Fix typo.
- 
- Wed Feb 17 01:29:07 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Calculate maybe_dead before
- 	calling recombine_givs.
- 
- Wed Feb 17 00:43:12 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Dump biv increment -> giv conversions.
- 
- Tue Feb 16 15:31:39 1999  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* objc/objc-act.c (encode_type): Encode the type instead of
- 	encoding the mode of the type (patch from Richard Frith-Macdonald
- 	<richard@brainstorm.co.uk>).
- 
- Tue Feb 16 10:53:51 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* config/arm/arm.md (*zeroextractqi_compare0_scratch): Re-add load
- 	instruction killed in previous change.  Simplify mask generation.
- 	(*zeroextractsi_compare0_scratch): Simplify mask generation.
- 
- Tue Feb 16 09:52:26 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md (zeroextractqi_compare0_scratch): Ensure that
- 	bitfield does not overflow a byte boundary.
- 
- Tue Feb 16 01:37:33 1999  Charles G Waldman  <cgw@alum.mit.edu>
- 
- 	* c-common.c (shorten_compare): Get the min/max value from the
- 	underlying type of an enumeration, not the enumerated type itself.
- 
- Mon Feb 15 23:04:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c: Include insn-attr.h.
- 	(delete_computation): If reload has completed and insn scheduling
- 	after reload is enabled, then do not depend on REG_DEAD notes.
- 	* Makefile.in (jump.o): Depend on insn-attr.h.
- 
- Mon Feb 15 16:57:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (addsi3): Allow lea for any constant_p.
- 
- 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* toplev.c (documented_lang_options): Remove -fident and
- 	  -fnoident, which are now handled by the language independent
- 	  option parser.
- 
- 1999-02-15  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF.
- 	* c-lex.c: Likewise.
- 	* cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked
- 	list in malloced memory for the buffer stack.
- 	(cpp_get_token): Don't pop the last buffer off the stack.
- 	Calls after CPP_EOF has been returned produce CPP_EOF with no
- 	state change.
- 	(cpp_finish): Pop last buffer here.
- 	(do_line): Don't free ip->last_nominal_fname if it is equal to
- 	ip->fname.
- 	(special_symbol): If a T_CONST is the empty string, push a
- 	single `@ ' escape instead.
- 	(macroexpand): Special symbol buffers have escapes too.
- 	* cpplib.h (struct cpp_buffer): Remove unused fields, add prev
- 	buffer pointer.
- 	(struct cpp_reader): Remove buffer_stack.  Add
- 	buffer_stack_depth.
- 	(CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a
- 	linked list.
- 
- Mon Feb 15 14:44:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c: Don't define HOST_WIDE_INT.  Replace all occurrences of
- 	WIDE_INT with WIDEST_INT.
- 
- 	* cexp.y: Likewise.
- 	Don't define unsigned_HOST_WIDE_INT, CHAR_BIT or
- 	HOST_BITS_PER_WIDE_INT.  Replace occurrences of PRINTF_PROTO_1()
- 	style with PVPROTO() ATTRIBUTE_PRINTF_1 style macros.  Replace
- 	occurrences of "unsigned_HOST" with "unsigned HOST".  Provide a
- 	definition of variable `c89' when compiling a test binary and set it.
- 
- 	* system.h: Don't define the PRINTF_PROTO_* macros.
- 
- Mon Feb 15 11:33:51 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (mark_loop_jump): Handle LO_SUM.  If we encounter something
- 	we do not understand, mark the loop and containing loops as invalid.
- 
- Mon Feb 15 00:40:45 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* alias.c (init_alias_analysis): Avoid self-referential value
- 	when setting reg_known_value from REG_EQUAL notes.
- 
- Sun Feb 14 23:12:10 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (legitimate_address_p): Verify modes of base and index.
- 
- Sun Feb 14 23:01:28 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (legitimate_pic_address_disp_p): Remove static.
- 	* i386.h (LEGITIMATE_PIC_OPERAND_P): Use it instead of
- 	open-coding cases.
- 
- Sun Feb 14 21:03:28 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* except.c (start_catch_handler): Use emit_cmp_and_jump_insns.
- 	* explow.c (probe_stack_range): Likewise.
- 	* expmed.c (do_cmp_and_jump): Likewise.
- 	* expr.c (store_expr, expand_expr, expand_builtin): Likewise.
- 	(do_tablejump): Likewise.
- 	* stmt.c (expand_expr_stmt, expand_end_case): Likewise.
- 	(do_jump_if_equal, emit_case_nodes): Likewise.
- 	* optabs.c (emit_cmp_and_jump_insns): Clarify comments.  If UNSIGNEDP,
- 	then convert comparison to an unsigned code before emitting the jump.
- 	(expand_float, expand_fix): Use emit_cmp_and_jump_insns.
- 
- Sun Feb 14 02:24:15 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Feb 14 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Feb 14 00:45:50 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c: Disable recent loop changes.  Temporary as Joern
- 	continues to fix problems.
- 
- Sat Feb 13 23:29:42 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (combine_givs_used_by_other): Delete.
- 	(combine_givs_benefit_from): Delete.
- 	(combine_givs): Deny combination of givs only used once.  Simplify
- 	code with the death of combine_givs_benefit_from.
- 
- Sun Feb 14 11:24:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (scan_loop): Call reg_in_basic_block_p before
- 	loop_reg_used_before_p.
- 
- Sat Feb 13 05:32:00 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.md: Use gen_rtx_FOO instead of gen_rtx (FOO, ...).
- 	* arm.h: Likewise.
- 	* arm.c: Likewise.
- 
- 	* arm.h (TARGET_OPTIONS): Reformat for clarity.
- 	(GO_IF_LEGITIMATE_ADDRESS): When generating PIC, references to symbols
- 	in the constant pool aren't valid.
- 	(LEGITIMATE_PIC_OPERAND_P): Likewise.
- 
- 	* arm.c: Include "system.h", not stdio.h and string.h.
- 
- Fri Feb 12 13:06:28 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* stmt.c (expand_return): Return if optimize_tail_recursion succeeded.
- 	(optimize_tail_recursion): Change return type from void to int.
- 	Add return statements.
- 	* tree.h (optimize_tail_recursion): Change prototype to match.
- 
- Fri Feb 12 21:09:51 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads_subreg_address): New function, broken out of
- 	find_reloads_toplev.
- 	(find_reloads_toplev, find_reloads_address_1): Use it.
- 
- Fri Feb 12 13:20:52 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.md (zero_extendhisi2 H8/300 variant): Correctly handle
- 	extending a CONST_INT.
- 
- 	* h8300.md (peephole for combining memrefs): Delete incorrect peephole.
- 
- Fri Feb 12 18:29:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (loop_insn_first_p, biv_elimination_giv_has_0_offset):
- 	New functions.
- 	(maybe_eliminate_biv_1): Use biv_elimination_giv_has_0_offset.
- 
- Fri Feb 12 16:56:10 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (load_mems): Don't guess how to do a load / store, use
- 	emit_move_insn.
- 
- Fri Feb 12 09:24:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Provide a definition for HOST_WIDEST_INT, etc.
- 
- Fri Feb 12 23:37:26 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_address_cost): Revert 9 Feb change.
- 
- Fri Feb 12 00:51:26 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload.c (find_reloads_address_1): Fix handling of an autoincremented
- 	pseudo which is homed in the stack.
- 
- 	* mips.c (save_restore_insns): Fix loop to save/restore FP registers.
- 	(compute_frame_size): Change loop over FP regs to be consistent
- 	with the loop in save_restore_insns.
- 
- Thu Feb 11 17:38:40 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i960/i960.h (OVERRIDE_OPTIONS): Warn if -mlong-double-64 is used.
- 	(LONG_DOUBLE_TYPE_SIZE): Undef then unconditionally define to 96.
- 
- Thu Feb 11 15:11:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (bset); Re-enable.
- 
- Thu Feb 11 15:20:49 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (is_sfunc): New attribute.
- 	* sh.h (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): Use it.
- 
- Thu Feb 11 01:06:49 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* fold-const.c (range_binop): Take account of the bounded nature
- 	of fixed length arithmetic when comparing unbounded ranges.
- 
- Thu Feb 11 00:08:17 1999  John Wehle  (john@feith.com)
- 
- 	* function.c (assign_stack_temp_for_type): Clear best_p
- 	when an exact match is found.
- 
- 	* i386.h (LOCAL_ALIGNMENT): Define.
- 	* function.c (assign_stack_local, assign_outer_stack_local): Use it.
- 	(assign_stack_temp_for_type): New function based on assign_stack_temp.
- 	(assign_stack_temp): Call it.
- 	(assign_temp): Use assign_stack_temp_for_type, not assign_stack_temp.
- 	* stmt.c: Use assign_temp, not assign_stack_temp.
- 	* tm.texi: Document LOCAL_ALIGNMENT.
- 
- Wed Feb 10 23:28:28 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c: Finish deleting half-deleted comment.
- 
- Wed Feb 10 17:12:21 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* emit-rtl.c (operand_subword): Sign extend REAL_VALUE_TO_TARGET_SINGLE
- 	result.
- 	* final.c (split_double): Sign extend REAL_VALUE_TO_TARGET_DOUBLE
- 	result.
- 	* real.c (endian): Delete sign extension code.
- 	* config/m32r/m32r.md (movsf_insn+1): REAL_VALUE_TO_TARGET_SINGLE call
- 	replaced with operand_subword call.
- 
- Wed Feb 10 15:16:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (cmov compound patterns): Delete.  Jump can now
- 	create the correct constructs in the first place.
- 
- Wed Feb 10 11:03:22 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alphaev6*): Fix typo in target_cpu_default2.
- 
- Wed Feb 10 13:59:18 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* mbchar.c (local_mb_cur_max): Handle the case where MB_CUR_MAX is 0.
- 
- Wed Feb 10 10:35:05 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* tmp-emsgids.c: Delete.
- 
- Wed Feb 10 09:57:08 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtlanal.c (for_each_rtx): Fix declaration to conform to GNU
- 	coding standards.
- 
- Wed Feb 10 10:09:41 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (bset, bclr): Operand 0 is a read/write operand.
- 
- 	* reload1.c (reload_combine_note_store): Second argument is no
- 	longer unused/ignored.  Handle multi-register hard regs.
- 	(move2add_note_store): Simplify.
- 
- Wed Feb 10 10:05:23 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* collect2.c (collect_execute): Remove cygwin-specific code.
- 
- Tue Feb  9 17:27:29 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* system.h (_, N_): Remove dummy i18n macros.
- 	* protoize.c: Move inclusion of intl.h to after system.h.
- 	* cexp.y: Include intl.h.
- 	* cexp.c: Rebuilt.
- 
- Tue Feb  9 16:52:22 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (SUBTARGET_OVERRIDE_OPTIONS): New macro to ignore
- 	fpic/fPIC for windows32 targets.
- 	* i386/xm-cygwin.h (GET_ENV_PATH_LIST): Replace '\\' in windows32
- 	paths with '/'.
- 	* i386/mingw32.h (CPP_SPEC): Define.
- 	(CPP_PREDEFINES): Add MINGW32 version id.
- 	* i386/crtdll.h (CPP_PREDEFINES): Likewise.
- 
- 	* Makefile.in (collect2$(exeext)): Delete redundant dependency and
- 	add missing exeext to target.
- 
- 	* gcc.c (convert_filename): Handle null filename argument.
- 
- Wed Feb 10 15:46:10 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*movhf_noclobber, *movhi_noclobber): Use
- 	m constraint instead of QT.
- 
- 1999-02-09  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* cpplib.c (special_symbol): Move IP to be declared in function
- 	scope, rather than individual case statements.
- 
- 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppfiles.c (finclude): Handle pipes properly under old BSD
- 	  derivatives.
- 
- 1999-02-09  Melissa O'Neill  <oneill@cs.sfu.ca>
- 
- 	* system.h: Provide fallback definitions for S_ISCHR,
- 	  S_ISSOCK, S_ISFIFO, O_NONBLOCK, and O_NOCTTY.
- 
- 1999-02-09  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpplib.c (do_define): Allow redefining __STDC__ with -D.
- 
- 1999-02-09  Jim Blandy  <jimb@zwingli.cygnus.com>
- 
- 	* configure.in: For PowerPC configurations, accept "401", "ec603e",
- 	"740", and "750" as valid arguments to --with-cpu.
- 	* configure: Rebuilt.
- 
- Tue Feb  9 00:00:14 1999  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* configure.in (i[34567]86-*gnu*): Set float_format to i386.
- 	* configure: Rebuilt.
- 
- Mon Feb  8 22:38:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.md: Revert "alternate use of crs if cr0 not available"
- 	patches from 01-22-1999, 01-24-1999, 01-26-1999, and 02-08-1999.
- 
- Mon Feb  8 21:36:44 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* output.h (current_function_has_computed_jump): Rename from
- 	current_function_addresses_labels.
- 	* function.h (struct function): Likewise for addresses_labels member.
- 	* rtl.h (FUNCTION_FLAGS_HAS_COMPUTED_JUMP): Likewise.
- 	* function.c (current_function_has_computed_jump): Likewise.
- 	Update all references.
- 	* integrate.c (function_cannot_inline_p):
- 	Test current_function_has_computed_jump instead of addresses_labels.
- 	(initialize_for_inline): Likewise save.
- 	(output_inline_function): Likewise restore.
- 
- 	* expr.c (expand_expr): Don't reference addresses_labels variables.
- 	* stmt.c (expand_computed_goto): Set has_computed_jump.
- 
- 1999-02-08  Michael Meissner  <meissner@cygnus.com>
- 
- 	This is being installed only to get it into the repository to help
- 	with the revert, resubmit & review process for the massive rs6000.md
- 	changes.
- 	* rs6000.md (andsi3_internal1 splitter): Don't split if using the
- 	rlwinm instruction.
- 	(anddi3_internal1): Likewise.
- 	(andsi3_internal{2,3}): Correct some insn lengths.
- 	(anddi3*): Restore missing TARGET_POWERPC64, and don't emit old
- 	mnemonics.
- 
- Mon Feb  8 21:31:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (reg_single_usage): New file-scope variable ...
- 	(scan_loop): ... moved out of here.  Always initialize.
- 	Test loop_has_call instead of reg_single_usage not zero.
- 	Free reg_single_usage after strength reduction.
- 	(count_loop_regs_set): Assume single_usage nonzero.
- 	(combine_givs_used_by_other): Test reg_single_usage.
- 	(load_mems_and_recount_loop_regs_set): Remove reg_single_usage
- 	as a parameter.  Assume nonzero.
- 
- 1999-02-08  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
- 
- 	* cpplib.c (special_symbol): Rewrite.  Don't copy things
- 	  multiple times.  Handle __STDC__ specially.  T_CONST
- 	  indicates a constant /string/.  Don't handle T_*_TYPE and
- 	  T_SPEC_DEFINED.  Use cpp_buf_line_and_col instead of
- 	  adjust_position.  Determine the file buffer only if needed.
- 	  (initialize_builtins): Handle __SIZE_TYPE__,
- 	  __PTRDIFF_TYPE__, __WCHAR_TYPE__, __USER_LABEL_PREFIX__, and
- 	  __REGISTER_PREFIX__ with T_CONST special hashtab entries.
- 	  Don't provide __OBJC__; the driver does that.  Provide
- 	  __STDC_VERSION__, using T_CONST.  Use T_STDC for
- 	  __STDC__.  Give install the length of all symbols defined.
- 	  (eval_if_expression): Drop code to insert and remove the
- 	  "defined" special symbol.
- 
- 	* cpplib.h: Remove SELF_DIR_DUMMY (no longer used).  Remove
- 	  T_*_TYPE and T_SPEC_DEFINED from enum node_type; add T_STDC.
- 
- 	* cpphash.c (install): Drop the `ivalue' parameter.  Constify
- 	  the `value' parameter.  All callers changed.
- 	* cpphash.h (install): Change prototype to match.
- 	  (union hashval): Remove `ival' member.
- 	* cppexp.c (cpp_lex): Handle `defined' here.
- 
- Mon Feb  8 17:29:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (EXTRA_CONSTRAINT): Fix comment.
- 
- Mon Feb  8 18:57:45 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* c-typeck.c (check_init_type_bitfields): Use nonincremental
- 	initialization of unions whose first member is a bitfield.
- 	Remove unnecessary code for checking the declaration mode
- 	after DECL_C_BIT_FIELD.
- 
- 	* varasm.c (output_constructor): Additional comment about the
- 	constructor of bitfield union initialization.
- 
- Tue Feb  9 11:55:04 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*movhi_stik): New pattern.
- 	(movhi): Allow some immediate constants to be directly
- 	stored in memory.
- 
- Tue Feb  9 11:34:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (all call patterns): Add constraints "Ur".
- 	(call, call_value): Force address into a register if not valid
- 	for a call instruction.
- 	(load_immed_address): Emit a USE of the SYMBOL_REF that is
- 	forced into memory.
- 	* config/c4x/c4x.c (c4x_print_operand): Fix 'C' and 'U' modifiers.
- 
- Tue Feb  9 11:08:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (call_address_operand, symbolic_address_operand):
- 	Rename from call_operand and symbolic_operand respectively.  All
- 	callers changed.
- 	* config/c4x/c4x.md (call_address_operand, symbolic_address_operand):
- 	Likewise.
- 	* config/c4x/c4x.h (call_address_operand, symbolic_address_operand):
- 	Likewise.
- 	(PREDICATE_CODES): Allow CONST, LABEL_REF for call_address_operand.
- 
- Tue Feb  9 10:52:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_legitimize_address): Don't generate a
- 	LO_SUM address for HImode or HFmode but instead force address into
- 	a register so that it is offsettable.
- 	(c4x_emit_move_sequence): Handle LO_SUM immediate address.
- 
- Tue Feb  9 10:46:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_address_cost): Return cost of 1 for
- 	REG+REG addressing if strength reduction enabled.
- 
- Tue Feb  9 10:10:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/t-c4x  (LIBGCC2_CFLAGS): Delete.
- 	(TARGET_LIBGCC2_CFLAGS): Define.
- 
- 1999-02-08  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.md: Replace \\n\\t with \\;
- 
- 	* config/v850/v850.md: Enforce TARGET_LONG_CALLS option.
- 	* config/v850/v850.c (construct_restore_jr, construct_save_jarl):
- 	Enforce TARGET_LONG_CALLS option.
- 
- Mon Feb  8 11:43:07 1999  Donn Terry  <donn@interix.com>
- 
- 	* real.c (PUT_REAL) [XFmode]: Zero the balance of the structure.
- 
- Mon Feb  8 11:37:24 1999  Marc Espie  (espie@cvs.openbsd.org)
- 
- 	* m88k/t-luna-gas: Remove bash dependency.
- 
- Mon Feb  8 11:34:44 1999  Graham  <grahams@rcp.co.uk>
- 
- 	* collect2.c (xrealloc): Fix typo in last change.
- 
- Mon Feb  8 09:13:38 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Feb  7 22:18:42 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* tree.h (TYPE_CHECK): Make it clear to the preprocessor
- 	that we do not want macro replacement within a character constant.
- 	(TYPE_CHECK1): Likewise.
- 
- Sun Feb  7 15:37:10 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.h (DECL_P): New macro.
- 
- Sun Feb  7 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Feb  6 18:14:46 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.md (reload_insi): Do not earlyclobber the output operand.
- 
- 	* README.g77, gcc.c, gcc.texi: Update email addresses.
- 	* invoke.texi system.h: Likewise.
- 
- Sat Feb  6 11:04:08 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (find_splittable_givs): After express_from, call replace_rtx
- 	to convert dest_reg to new_reg.
- 
- Sat Feb  6 10:31:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_combine_note_store): Be more careful with
- 	STRICT_LOW_PART, ZERO_EXTRACT and SIGN_EXTRACT.
- 	(move2add_note_store): Likewise.
- 
- Sat Feb  6 10:18:01 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppfiles.c (read_and_prescan): Cast the result of `xrealloc' to
- 	U_CHAR* when assigning to one.  Ensure the values of a ?: operator
- 	have the same type.
- 
- 	* cppinit.c (initialize_char_syntax): Use K&R function definition.
- 
- Sat Feb  6 11:17:03 1999  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	Support for ARM9
- 	* config/arm/arm.c (all_procs): Add arm9 and arm9tdmi.
- 	* config/arm/arm.h ((TARGET_CPU_arm9, TARGET_CPUD_arm9tdmi): Define.
- 	(TARGET_CPU_DEFAULT): Rework to support ARM9.
- 	(CPP_CPU_ARCH_SPEC): Likewise.
- 	(enum processor_type): Likewise.
- 	* config/arm/arm.md (attr cpu): Add arm9.
- 
- 	General scheduling changes
- 	* config/arm/arm.c (MAX_INSNS_SKIPPED): Delete.
- 	(max_insns_skipped): New variable.
- 	(arm_override_options): If generating hard floating point code for
- 	the FPA, emit code for version 3.
- 	When optimizing for space, don't synthesize constants.
- 	Reword several flags based on the requested processor and optimization
- 	level.
- 	(use_return_insn): New argument iscond, all callers changed.  Don't
- 	use a return insn if it will be conditional and that would be
- 	expensive; eg on StrongARM.
- 	(arm_adjust_cost): Anti- and output- dependencies normally have no
- 	cost.
- 	(load_multiple_sequence): Newer ARMs don't benefit from ldm if
- 	the sequence is short.
- 	(final_prescan_insn): Use max_insns_skipped instead of
- 	MAX_INSNS_SKIPPED.  Note whether we will make a return instruction
- 	conditional, and aviod this if it would be expensive.
- 	* config/arm/arm.md (scheduling attributes and function units):
- 	Rewrite to better describe ARM8, 9 and StrongARM.
- 
- 	* config/arm/arm.md (*movhi_insn_littleend): Make op0 predicate
- 	s_register_operand.
- 	(*ifcompare_plus_move): Use arm_rhs_operand in place of
- 	arm_rhsm_operand.  Rework constraints.
- 	(*if_plus_move): Likewise.
- 	(*ifcompare_move_plus): Likewise.
- 	(*if_move_plus): Likewise.
- 	(*ifcompre_arith_move): Likewise.
- 	(*if_arith_move): Likewise.
- 	(*ifcompare_move_arith): Likewise.
- 	(*if_move_arith): Likewise.
- 
- 	* config/arm/xm-netbsd.h: Don't include arm/xm-arm.h.
- 
- 1999-02-05  Michael Meissner  <meissner@cygnus.com>
- 
- 	* loop.c (check_dbra_loop): A store using an address giv for which
- 	we have no life information is not reversible.
- 
- Fri Feb  5 17:08:01 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* function.c (fixup_var_refs): Scan catch_clauses too.
- 
- Fri Feb  5 11:49:49 1999  Benjamin Kosnik  <bkoz@loony.cygnus.com>
- 
- 	* c-common.c (decl_attributes): Fix reserved space for init_priority.
- 	* tree.h (MAX_RESERVED_INIT_PRIORITY): New macro.
- 
- Fri Feb  5 12:37:05 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (strength_reduce): Clear not_every_iteration when
- 	passing the NOTE_INSN_LOOP_CONT note.
- 
- 	* haifa-sched.c (add_dependence): Do not add a dependency on a
- 	note.
- 
- Fri Feb  5 10:55:43 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* recog.c (split_block_insns): Only call update_flow_info if
- 	instruction scheduling is enabled.
- 
- 1999-02-05  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* Makefile.in (gen-protos): Use libcpp.a like everyone else.
- 
- Fri Feb  5 07:09:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (first_loop_store_insn): New file-scope variable.
- 	(prescan_loop): Set it.
- 	(check_dbra_loop): Check if a store depends on a register
- 	that is set after the store.
- 
- Fri Feb  5 06:55:15 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (entire file): Remove tabs / spaces at end of lines.
- 	Replace spaces with tabs where appropriate.
- 
- Thu Feb  4 15:12:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (scan_loop): New argument loop_cont.  Changed caller.
- 	(strength_reduce): New argument loop_cont. Changed caller.
- 	Before clearing not_every_iteration after a label, check if
- 	we are not already past LOOP_CONT.
- 
- 1999-02-04  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cpperror.c (cpp_print_containing_files): Fix formatting
- 	bug induced by merge.
- 
- 1999-02-04  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (initialize_char_syntax): Move to cppinit.c.
- 	(cpp_define): Remove redundant syntax checks.
- 	(make_assertion): Rename cpp_assert, remove redundant syntax
- 	checks, export.
- 	(cpp_options_init): Don't init things to zero twice.
- 	(cpp_expand_to_buffer): Use memcpy, not a char-by-char loop.
- 	(do_include): Kill excessively verbose #import warning that
- 	snuck back in in the gcc2 merge.
- 	(convert_string): Removed.
- 	(do_line): Rewrite with simple last-name-used cache instead of
- 	private hashtable.
- 	(cpp_start_read): Call initialize_char_syntax here, not...
- 	(cpp_reader_init): ...here.
- 	(cpp_handle_options): Support the -std switch.
- 	* cpplib.h (cpp_buffer): Add last_nominal_fname member.
- 	(cpp_options): Add c9x flag.
- 	Declare all the is_* tables and trigraph table here, as const.
- 	Prototype cpp_assert and initialize_char_syntax.
- 	* cppinit.c: New file.
- 	* cppfiles.c (read_and_prescan): Optimize.
- 	* Makefile.in (LIBCPP_OBJS): Add cppinit.o.
- 
- Thu Feb  4 10:46:30 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.md ([u]divmodsi4,[u]divmoddi4,[u]divsi3,[u]divdi3,
- 	[u]modsi3,[u]moddi3) : Don't copy the "zero" argument to a register
- 	before calling gen_div_trap.
- 
- Wed Feb  3 21:56:27 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa1.1-*-*, hppa2*-*): Use symbolic value rather
- 	than numeric value for target_cpu_default..
- 	* configure: Rebuilt.
- 
- Wed Feb  3 21:55:56 1999  Marc Espie  <Marc.Espie@liafa.jussieu.fr>
- 
- 	* Makefile.in (xgcc$(exeext)): Remove choose-temp, pexecute and
- 	mkstemp.  Get them from libiberty.
- 	(COLLECT2_OBJS): Similarly for choose-temp, cplus-dem and mkstemp.
- 	(PROTO_OBJS): Similarly for choose-temp, getopt, getopt1 and pexecute.
- 	(cplus-dem.o, pexecute.o, choose-temp.o): Remove build rules.
- 	(mkstemp.o, getopt1.o, getopt.o): Likewise.
- 
- 	* pa-gas.h (TARGET_DEFAULT): Use symbolic values rather than numeric
- 	values.
- 	* pa-hpux.h (LINK_SPEC): Likewise.
- 	* pa-hpux10.h (LINK_SPEC): Likewise.
- 	* pa-hpux9.h (LINK_SPEC): Likewise.
- 	* pa-osf.h (LINK_SPEC): Likewise.
- 	* pa-pro.h (TARGET_DEFAULT): Likewise.
- 	* pa1.h (TARGET_DEFAULT): Likewise.
- 	* pa.h (MASK_*): New defines.
- 	(TARGET_*): Use symbolic values rather than numeric values.
- 	(TARGET_SWITCHES): Likewise.
- 	(TARGET_DEFAULT): Likewise.
- 	(CPP_SPEC): Likewise.
- 
- Wed Feb  3 21:07:38 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (reload_cse_regs_1): Undo Jan 16 patch.
- 	* reload.c (find_reusable_reload): New function, broken out of
- 	push_reload.  Add code to verify that none of the involved
- 	outputs are subject to earlyclobbers.
- 	(push_reload): Break out new function find_reusable_reload.
- 	Delete "register" keyword for IN, OUT args.
- 
- Wed Feb  3 15:51:04 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.c (true_reg_or_0_operand) : New function.
- 	* config/mips/mips.h (PREDICATE_CODES): Add true_reg_or_0_operand.
- 	* config/mips/mips.md (div_trap,div_trap_normal,div_trap_mips16):
- 	Use true_reg_or_0_operand for div_trap.
- 
- Wed Feb  3 20:44:59 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.h (express_from): Declare.
- 	(struct induction): Replace derived flag with derived_from pointer.
- 	* loop.c (strength_reduce, record_giv, recombine_givs): Likewise.
- 	(express_from): No longer static.
- 	* unroll.c (find_splittable_givs): Replace derived with derived_from.
- 	When processing an address giv with which another giv has been
- 	combined that has also been derived from a third giv, handle like
- 	having combined with the third giv.
- 	Set splittable_regs_updates appropriately for derived givs.
- 
- Wed Feb  3 15:26:58 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.md (div_trap_mips16): Remove nop's after branches.
- 
- Wed Feb  3 11:56:23 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (insn_sets_and_refs_are_delayed): New function.
- 	* pa.h (INSN_SETS_ARE_DELAYED): Use it.
- 	(INSN_REFERENCES_ARE_DELAYED): Likewise.
- 
- Wed Feb  3 06:24:49 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Delete.
- 	* config/arm/t-linux (LIBGCC2_CFLAGS): Delete.
- 	(TARGET_LIBGCC2_CFLAGS): Define.
- 	(LIBGCC2_DEBUG_CFLAGS): Define.
- 	* config/arm/t-netbsd: Likewise.
- 	* config/arm/t-semi: Likewise.
- 	* config/arm/t-semiaof: Likewise.
- 	* config/arm/t-riscix: Likewise.
- 
- Wed Feb  3 10:59:07 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c (print_operand_address): When printing a
- 	SYMBOL_REF that ends in `.<letter>' put parentheses around it.
- 
- Tue Feb  2 23:38:35 1999  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* i386/freebsd*.h now allows '$' in label names and does not use the
- 	PCC struct return method.
- 
- Tue Feb  2 22:38:23 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in: Change all uses of AR to AR_FOR_TARGET.  Change all uses
- 	of HOST_AR to AR.  Likewise for AR_FLAGS, RANLIB, and RANLIB_TEST.
- 	(RANLIB_TEST): Test to see if ranlib exists.  Only test absolute file
- 	names if host == target.
- 	(HOST_AR, HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Delete.
- 	(AR_FLAGS_FOR_TARGET): Renamed from AR_FOR_TARGET_FLAGS.
- 	(AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Delete rules
- 	setting them to *_FOR_TARGET.
- 	* cross-make (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST):
- 	Delete.
- 
- Tue Feb  2 22:38:19 1999  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* toplev.h (read_integral_parameter): Declare.
- 	* toplev.c (read_integral_parameter): New function.
- 
- Fri Jan 29 21:00:56 1999  Bob Manson  <manson@charmed.cygnus.com>
- 
- 	* resource.c, resource.h: New files.
- 	* Makefile.in (OBJS): Add it.
- 
- 	* haifa-sched.c (regno_use_in): Moved to rtlanal.c.
- 	(split_block_insns): Moved to recog.c.
- 	(update_flow_info): Make public.
- 	* rtl.h: Declare them.
- 
- 	* reorg.c: Moved the functions dealing with computing resource
- 	usage to resource.c.
- 
- 	* sched.c (regno_use_in): Moved to rtlanal.c.
- 	(update_flow_info): Make public.
- 	(schedule_insns): Use split_block_insns.
- 
- 	* recog.c (split_block_insns): New function.
- 
- Tue Feb  2 22:03:26 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/linux.h (LINK_START_DEFAULT_SPEC): Delete, unused.
- 	(LINK_OS_DEFAULT_SPEC): Delete, unused.
- 
- Tue Feb  2 20:29:34 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* configure.in (arm-*-oabi): Support.
- 	* configure: Regenerate.
- 	* config/arm/unknown-elf-oabi.h: New file.
- 
- Tue Feb  2 19:43:59 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md (ashlsi3): Turn into a define_expand an anonymous pattern.
- 	Make the anonymous pattern match when ! optimize_size.
- 	(ashlsi3 size optimizer): New pattern.
- 
- 	* intl/Makefile.in (uninstall): Add missing "; \".
- 
- Tue Feb  2 18:21:23 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* sparc.h (TARGET_CPU_sparc86x): Added. TARGET_CPU_sparclite86x
- 	synonym.
- 
- Tue Feb  2 20:24:11 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (loop_optimize): Fix value max_uid_for_loop is reset
- 	to after find_and_verify_loops call.
- 
- Tue Feb  2 19:48:29 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* (recombine_givs): Don't use a giv that's likely to be dead to
- 	derive others.
- 
- 	* loop.c (recombine_givs): Fix test for lifetime overlaps / loop
- 	wrap around when deriving givs.
- 
- Mon Feb  1 20:00:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.c (check_asm_operands): Treat indeterminate operand ok
- 	results as success.  Try harder to resolve a matching constraint.
- 	* stmt.c (expand_asm_operands): Recognize when an output operand's
- 	constraint does not allow memory.  Treat indeterminate operand ok
- 	results as failure.  Try harder to resolve a matching constraint.
- 
- Mon Feb  1 15:00:02 1999  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	Use varrays for constant-equivalence data:
- 
- 	* varray.h (struct const_equiv_data): New type.
- 	(union varray_data_tag): New element const_equiv.
- 	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV): New macros.
- 	(VARRAY_SIZE): New macro, returns number of elements.
- 	* integrate.h: Include varray.h.
- 	(struct inline_remap): Replace const_equiv_map, const_age_map and
- 	const_equiv_map_size with a const_equiv_varray element.
- 	(MAYBE_EXTEND_CONST_EQUIV_VARRAY): New macro; grows varray if
- 	needed.
- 	(SET_CONST_EQUIV_DATA): New macro; sets rtx and age fields
- 	simultaneously, growing the varray if needed.
- 
- 	* integrate.c (global_const_equiv_map,
- 	global_const_equiv_map_size): Deleted, replaced by....
- 	(global_const_equiv_varray): New variable.
- 	(expand_inline_function): References changed.
- 	* integrate.h: Update declarations.
- 
- 	* integrate.c (process_reg_parm, expand_inline_function,
- 	copy_rtx_and_substitute, try_constants, subst_constants,
- 	mark_stores): Use varray allocation and accessor macros, new
- 	integrate.h macros, and global_const_equiv_varray.  Don't
- 	conditionalize non-NULL stores on array size; instead, expand the
- 	array as needed.
- 	* unroll.c (unroll_loop): Likewise.
- 
- 	* unroll.c (unroll_loop): Initialize const_equiv_varray element to
- 	zero.  After allocating varray, always exit through bottom of
- 	function, where it can be deallocated if needed.  Don't explicitly
- 	reallocate const_equiv_map storage; instead, just ensure the
- 	varray has been initialized, and update the global reference.
- 
- Mon Feb  1 09:40:25 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (inline, const): Handle these for stage2 (and later) gcc.
- 
- 	* dwarf2out.c (inline): Don't define.
- 
- 	* dwarfout.c (inline): Likewise.
- 
- Sun Jan 31 22:04:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (recombine_givs): Dump recombination and derivation data.
- 
- Sun Jan 31 20:34:29 1999  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* flags.h: Declare flag_no_ident.
- 	* toplev.c: Define flag_no_ident.  Process -f(no-)ident here.
- 	* c-tree.h: Don't declare flag_no_ident.
- 	* c-decl.c: Don't define flag_no_ident.  Don't process
- 	  -f(no-)ident switches here.
- 
- 	* config/elfos.h (ASM_FILE_END): Output final .ident directive
- 	  only if !flag_no_ident.
- 	* config/ptx4.h: Likewise.
- 	* config/svr4.h: Likewise.
- 	* config/alpha/elf.h: Likewise.
- 	* config/arm/linux-elf.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i860/fx2800.h: Likewise.
- 	* config/mips/gnu.h: Likewise.
- 	* config/i386/osfrose.h: Likewise.
- 
- 	* gcc.c (C specs): Map -Qn to -fno-ident.
- 	* objc/lang-specs.h: Likewise.
- 
- Mon Feb  1 10:52:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* configure.in: Don't remove loop.o and unroll.o when
- 	enable-haifa is selected.
- 	* configure: Rebuilt.
- 
- Sun Jan 31 13:22:02 1999  John Wehle  (john@feith.com)
- 
- 	* i386.md (movsicc, movhicc, movsfcc, movdfcc,
- 	movxfcc, movdicc): Delete unconstrained alternatives.
- 	* i386.c (output_fp_conditional_move,
- 	output_int_conditional_move): Delete unused case.
- 
- Sun Jan 31 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Jan 31 00:52:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (mov patterns): Emit the assembler aliases mov and fmov
- 	instead of bis and cpys.  Combine alternatives where possible.
- 
- Sat Jan 30 23:14:13 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcov.c (fnotice): Add missing FILE* parameter.
- 	(function_summary): Fix format specifiers in calls to `fnotice'.
- 	(output_data): Likewise.
- 
- 	* toplev.c (fnotice): Constify char* parameter.
- 
- 	* toplev.h (fnotice): Add prototype.
- 	Wrap prototype with BUFSIZ to protect FILE* usage.
- 
- Sun Jan 31 15:33:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (RTX_COSTS): Explicitly define c4x costs.
- 
- Sat Jan 30 08:27:23 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (distribute_notes): Handle REG_EH_REGION notes.
- 
- 	* alias.c (fixed_scalar_and_varying_struct_p): Add "static" to
- 	function definition.
- 	(aliases_everything_p, write_dependence_p):Likewise.
- 
- 	* install.texi: Fix merge lossages.
- 
- 	* cccp.c (main): Only call setlocale (LC_MESSAGES, ...) if LC_MESSAGES
- 	is defined.
- 	* collect2.c (main): Likewise.
- 	* cppmain.c (main): Likewise.
- 	* gcc.c (main): Likewise.
- 	* gcov.c (main): Likewise.
- 	* protoize.c (main): Likewise.
- 	* toplev.c (main): Likewise.
- 
- 	* pa.md (parallel shift and shiftadd): Mark output of shift as an
- 	earlyclobber.
- 
- 	* loop.c: Disable recent loop changes.  Temporary as Joern
- 	continues to fix problems.
- 
- Sat Jan 30 03:24:37 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Size reg_map according to reg_iv_type.
- 
- Fri Jan 29 18:26:07 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* emit-rtl.c (remove_insn): New function.
- 	* rtl.h (remove_insn): Add prototype.
- 	* function.c (reposition_prologue_and_epilogue_notes): Call remove_insn.
- 
- Fri Jan 29 22:34:41 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (recombine_givs): Don't try to derive givs that have combined.
- 
- Fri Jan 29 15:00:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c (notice, fnotice): Check ANSI_PROTOTYPES, not __STDC__,
- 	when declaring arguments and calling va_arg() to initialize them.
- 
- 	* collect2.c (notice): Likewise.
- 
- 	* loop.c (find_life_end): Use PROTO() macro in the prototype.
- 
- Fri Jan 29 14:36:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (error): Fix typo in declaration.
- 
- 	* cpperror.c (cpp_message): Likewise.
- 
- 	* cpplib.c (cpp_warning): Likewise.
- 
- 	* cpplib.h (cpp_notice): Use PVPROTO not VPROTO, also add
- 	ATTRIBUTE_PRINTF_1.
- 
- 	* toplev.c (error): Fix typo in declaration.
- 
- Fri Jan 29 15:44:13 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Fix HAVE_cc0 handling when scanning
- 	forward from cont dominator.
- 
- Fri Jan 29 07:10:27 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (eprint_string): Constify a char*.
- 	(notice): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
- 	(vnotice): Constify a char*.
- 	(error): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
- 	(verror): Constify a char*.
- 	(warning): Likewise.  Use PVPROTO not VPROTO, add ATTRIBUTE_PRINTF_1.
- 	(vwarning): Constify a char*.
- 	(error_with_line): Likewise.  Use PVPROTO not VPROTO, add
- 	ATTRIBUTE_PRINTF_2.
- 	(verror_with_line): Constify a char*.
- 	(vwarning_with_line): Likewise.
- 	(warning_with_line): Likewise.  Use PVPROTO not VPROTO, add
- 	ATTRIBUTE_PRINTF_2.
- 	(pedwarn): Constify a char*.  Use PVPROTO not VPROTO, add
- 	ATTRIBUTE_PRINTF_1.
- 	(pedwarn_with_line): Likewise with ATTRIBUTE_PRINTF_2.
- 	(pedwarn_with_file_and_line): Likewise with ATTRIBUTE_PRINTF_4.
- 	Also correct typo in parameter name declaration.
- 	(make_assertion): Constify a char*.
- 	(quote_string_for_make): Likewise.
- 	(deps_output): Likewise.
- 	(fatal): Likewise.  Use PVPROTO not VPROTO, add
- 	ATTRIBUTE_PRINTF_1.  Use ATTRIBUTE_NORETURN not an explicit
- 	"__attribute__ ((noreturn))".
- 	(fancy_abort): Likewise for ATTRIBUTE_NORETURN.
- 	(pfatal_with_name): Likewise.
- 	(pipe_closed): Likewise.
- 	(memory_full): Likewise.
- 
- Fri Jan 29 00:14:55 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Grow set_in_loop / n_times_set /
- 	may_not_optimize to proper size when converting biv increments
- 	into givs.
- 	If necessary, reallocate reg_iv_type / reg_iv_info before calling
- 	recombine_givs.
- 
- Thu Jan 28 23:24:08 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (recombine_givs): New parameter unroll_p.  If set, don't
- 	generate complex adds.  Changed caller.
- 	Don't generate adds that cost more than the original one.
- 	(strength_reduce): Warning fixes.
- 
- Thu Jan 28 09:41:11 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa1.0-hp-hpux10*): Use t-pa.
- 	* configure: Rebuilt.
- 
- Wed Jan 27 23:39:53 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (insn_first_p, no_jumps_between_p): Declare.
- 	* rtlanal.c (insn_first_p, no_jumps_between_p): New function.
- 	* loop.h (varray.h): Include.
- 	(struct induction): Change combined_with to unsigned.
- 	New members derived, ix and last_use.
- 	(reg_iv_type, reg_iv_info): Now varray_type.  All references changed.
- 	(REG_IV_TYPE, REG_IV_INFO): Define.
- 	(first_increment_giv, last_increment_giv): Declare.
- 	* loop.c (loop_number_loop_cont): New static variable.
- 	(loop_number_cont_dominator): Likewise.
- 	(reg_iv_type, reg_iv_info): Now varray_type.
- 	(first_increment_giv, last_increment_giv): New variables.
- 	(compute_luids, verify_dominator, find_life_end): New functions.
- 	(cmp_recombine_givs_stats, recombine_givs): Likewise.
- 	(loop_optimize): Allocate loop_number_loop_cont and
- 	loop_number_cont_dominator.  Use compute_luids.
- 	(find_and_verify_loops): Initialize loop_number_loop_cont and
- 	loop_number_cont_dominator.
- 	(strength_reduce): Try to find bivs that can be expressed as givs
- 	of another biv, and to convert biv increments into givs.
- 	Call recombine_givs.  Handle derived givs.
- 	(record_biv): New argument location.  All callers changed.
- 	(record_giv): Initialize derived and last_use fields.
- 	(basic_induction_var): New argument location.  All callers changed.
- 	(combine_givs): Don't combine a DEST_REG giv with a DEST_ADDR giv.
- 	Increment combined_with instead of setting to 1.
- 	* unroll.c (derived_regs): New static variable.
- 	(unroll_loop): Initialize it.
- 	Allocate local_regno according to max_reg_num.
- 	(copy_loop_body): Cope with derived givs.
- 	(find_splittable_givs): Check for Givs made from biv increments.
- 	Set derived_regs for givs.
- 	* Makefile.in (stmt.o, loop.o, unroll.o): Depend on loop.h .
- 
- Wed Jan 27 19:31:36 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* function.c (purge_addressof_1): Handle case when a register
- 	has been used in a wider mode.
- 
- 1999-01-27  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/fixincl.c, fixinc/server.[ch]:
- 	Removed the last of the capitalized variable and proc names.
- 
- 	* fixinc/server.c: Removed the process open code.
- 	* fixinc/procopen.c: New file containing the proc open code.
- 	* fixinc/inclhack.tpl: Added code to bypass a readability test
- 	when a file is not present.  A problem on some systems.
- 	* fixinc/inclhack.sh, fixinc/fixincl.sh: Regenerated.
- 
- Wed Jan 27 11:58:18 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cpplib.h (cpp_notice): Add prototype.
- 
- Wed Jan 27 02:20:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Merge gcc2 snapshot 19980929.
- 
- 	* cccp.c (PRINTF_PROTO): Remove.
- 	(PRINTF_PROTO_{1,2,3,4}: Likewise.
- 	* cexp.y: Likewise.
- 	* system.h: Add PRINTF_PROTO and PRINTF_PROTO_{1,2,3,4}.
- 
- 	* fix-header.c (cpp_file_lin_for_message): Delete.  In libcpp.
- 	(cpp_print_containing_files, v_cpp_message, cpp_message): Likewise.
- 	(cpp_fatal, cpp-Pfatal_with_name): Likewise.
- 
- 	* gen-protos.c (hashf): Delete in cpphash.o.
- 	* gen-protos.c (hashf): Delete in cpphash.o.
- 
- 	* expr.c: Do not merge SAVE_STACKAREA_MODE changes.
- 	* expmed.c: Likewise.
- 	* rs6000.md: Likewise.
- 
- 	* rs6000.c, rs6000.md: Do not merge formatting changes yet.
- 
- Wed Jan 27 01:13:42 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.c (input_operand): Don't expect CONST around CONSTANT_P_RTX.
- 	* rs6000.md (movsi, movdi): Likewise.
- 
- Tue Jan 26 13:31:38 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* function.c (expand_function_end): Pass arg_pointer_save_area to
- 	validize_mem before using it.  Emit code into a sequence.
- 
- Tue Jan 26 13:41:38 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (doz + set cr and or + set cr patterns): Add missing
- 	'#' to split patterns.  Correct indentation of some new patterns.
- 
- 1999-01-26  Zack Weinberg  <zack@midnite.ec.rhno.columbia.edu>
- 
- 	* cppfiles.c (safe_read): Deleted.
- 	(read_and_prescan): New function, replaces safe_read, converts
- 	and/or warns about trigraphs, silently converts odd line
- 	terminators (\r, \n\r, \r\n).  Warns about no newline at EOF.
- 	(finclude): Use read_and_prescan; turn off nonblocking mode on
- 	the input descriptor; remove file-size-examination and
- 	no-newline-at-EOF gunk which is	longer necessary; be more
- 	careful about checking that we've been handed a legitimate
- 	file to read (only real files, pipes, and ttys are acceptable).
- 	* cpplib.h (cpp_options): Rename no_trigraphs flag to
- 	`trigraphs' and invert its sense.
- 	(trigraph_table): Declare.
- 	(cpp_warning_with_line): Prototype.
- 	* cpplib.c: Remove all references to trigraph_pcp. Define
- 	trigraph_table; initialize it in initialize_char_syntax.  Open
- 	files in nonblocking mode.  s/no_trigraphs/trigraphs/
- 	throughout, and invert sense.  Put cpp_warning_with_line back
- 	in and export it.
- 
- Tue Jan 26 23:21:49 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (COUNTER_REGS): New register class.
- 	* config/c4x/c4x.md (*rptb_init): Change constraints.
- 	(rptb_end): Emit alternate looping instructions if
- 	RC register not allocated for loop counter.
- 	(decrement_and_branch_on_count): Allow other registers
- 	for loop counter.
- 
- 1999-01-25  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* cppexp.c (struct arglist): Removed.
- 	(parse_number): Use HOST_WIDE_INT for the accumulator.
- 	Allow two `l' suffixes unless C89.  Clean up.  Make static.
- 	(parse_charconst): New function broken out of cpp_lex.
- 	Code cleaned up drastically.  Don't use a token_buffer.
- 	(token_buffer): Removed.
- 	(cpp_lex): Don't call parse_number on a constant string.
- 	Use parse_charconst.
- 	(cpp_parse_expr): Properly handle an ERROR op returned by
- 	cpp_lex.
- 
- 1999-01-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c: Don't include signal.h, sys/times.h, or
- 	sys/resource.h. Don't declare localtime.
- 	(macroexpand): Handle special symbols here.
- 	(push_macro_expansion): Chop off the trailing '@ ' if possible
- 	here.
- 	(cpp_get_token): Don't do either of the above two things here.
- 	Move `string' label just after case '"' so that wide strings
- 	don't crash the preprocessor.
- 
- Sun Jan 24 20:13:45 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (left shift + set cr patterns): Add missing '#' to
- 	split patterns.
- 	(move register + set cr pattern): Likewise.
- 	(movdi, !TARGET_POWERPC64 splitters): Add back in Jan. 15th patch,
- 	inadvertently deleted.
- 
- Sun Jan 24 08:07:59 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (stmt_loop_nest_empty): New function.
- 	* tree.h (stmt_loop_nest_empty): Declare it.
- 	* rtl.def (CALL_PLACEHOLDER): New rtx code.
- 
- Sun Jan 24 21:24:43 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_emit_move_sequence, c4x_encode_section_info):
- 	New functions.
- 	(c4x_check_legit_addr): Remove USE and PLUS, allow
- 	LO_SUM, and disable SYMBOL_REF, LABEL_REF, and CONST cases.
- 	(c4x_legitimize_address): Penalize SYMBOL_REF, LABEL_REF, and
- 	CONST cases.  Add LO_SUM.
- 	(c4x_print_operand): Modified 'C' and 'R' cases for calls.
- 	Added 'U' case.  Remove dependence on SYMBOL_REF_FLAG.
- 	(c4x_print_operand_address): Handle LO_SUM.
- 	(c4x_scan_for_ldp): Delete.  Hooray!
- 	(c4x_process_after_reload): Remove call to c4x_scan_for_ldp.
- 	Split all insns.
- 	(c4x_immed_int_constant): Renamed from c4x_int_constant.  All callers
- 	changed.
- 	(c4x_immed_float_constant): Renamed from c4x_float_constant.  All
- 	callers	changed.
- 	(c4x_T_constraint): Allow LO_SUM, disable SYMBOL_REF, LABEL_REF,
- 	and CONST.
- 	(c4x_U_constraint, symbolic_operand): New functions.
- 	(src_operand): Allow 'I' constants in HImode.  Allow LO_SUM,
- 	disable SYMBOL_REF, LABEL_REF, and CONST.
- 	(lsrc_operand, tsrc_operand): Call src_operand instead of
- 	general_operand.
- 	(c4x_operand_subword): Update comments.
- 
- 	* config/c4x/c4x.c (TARGET_LOAD_ADDRESS): New macro.
- 	(LEGITIMATE_CONSTANT_P): Allow SYMBOL_REF, LABEL_REF, CONST,
- 	plus HIGH and LO_SUM for the C40.
- 	(ENCODE_SECTION_INFO): Define macro.
- 	(symbolic_operand, c4x_U_constraint, c4x_emit_move_sequence): New
- 	prototypes.
- 	(PREDICATE_CODES): Add symbolic_operand.
- 
- 	* config/c4x/c4x.md (movqi, movgqf, movhi, movhi): Call
- 	c4x_emit_move_sequence.
- 	(floatunsqiqf2, fixuns_truncqfqi2): Rework emitted RTL
- 	to avoid symbol references.
- 	(all patterns with g constraint): Replace 'g' constraint with 'rIm'.
- 	(set_high): Renamed from set_high_use.
- 	(set_lo_sum): Renamed from set_ior_lo_use.
- 	(all call patterns): Make MEM explicit in call address operands.
- 	Modified output templates to use 'U' modifier.
- 
- Sun Jan 24 01:15:05 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Jan 23 22:34:57 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* final.c (bb_str): Qualify a char* with the keyword `const'.
- 	(add_bb_string, final_scan_insn, output_asm_insn): Likewise.
- 
- 	* fix-header.c (read_scan_file): Likewise.
- 
- 	* genoutput.c (output_epilogue, process_template): Likewise.
- 
- 	* local-alloc.c (requires_inout, block_alloc): Likewise.
- 
- 	* output.h (output_asm_insn, assemble_string): Likewise.
- 
- 	* recog.c (recog_constraints, check_asm_operands,
- 	decode_asm_operands, extract_insn, preprocess_constraints,
- 	constrain_operands): Likewise.
- 
- 	* recog.h (operand_alternative, recog_constraints, insn_template,
- 	insn_outfun, insn_operand_constraint, insn_name): Likewise.
- 
- 	* regclass.c (record_reg_classes, scan_one_insn): Likewise.
- 
- 	* regmove.c (find_matches): Likewise.
- 
- 	* reload.c (alternative_allows_memconst): Likewise.
- 
- 	* reload1.c (constraint_accepts_reg_p,
- 	reload_cse_simplify_operands): Likewise.
- 
- 	* rtl.h (decode_asm_operands): Likewise.
- 
- 	* scan.h (fn_decl): Likewise.
- 
- 	* varasm.c (assemble_string): Likewise.
- 
- Sat Jan 23 01:37:36 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (gcc_tooldir): Handle case where exec_prefix has
- 	not been explicitly set.
- 	* configure: Rebuilt.
- 
- 	* fold-const.c (lshift_double): Mark 'prec' arguments as possibly
- 	unused.
- 
- 	* bitmap.h (bitmap_head_def): Make indx field unsigned.
- 
- 	* configure.in (gcc_tooldir): When not making a relative gcc_tooldir,
- 	use $exec_prefix/$target_alias for gcc_tooldir.
- 	* configure: Rebuilt.
- 
- Fri Jan 22 11:48:56 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cppp.c (xrealloc): Fix typo last change.
- 	* cppalloc.c, gcc.c, genattr.c, genattrtab.c, gencodes.c: Likewise.
- 	* genconfig.c, genemit.c, genextract.c, genflags.c: Likewise.
- 	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
- 
- 1999-01-22  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h (CR0_REGNO_P): New macro to test if cr0.
- 	(CR_REGNO_NOT_CR0_P): New macro to test if cr, but not cr0.
- 	(PREDICATE_CODES): Add cc_reg_not_cr0_operand.
- 	(cc_reg_not_cr0_operand): Add declaration.
- 
- 	* rs6000.c (cc_reg_not_cr0_operand): Return true if register is a
- 	pseudo register, or a control register that is not CR0.
- 
- 	* rs6000.md (all combiner patterns building . instructions): For
- 	all `.' instructions that do something and set cr0, add an
- 	alternative that does the operation, and then sets a different
- 	flag, in order to avoid using the costly mcrf instruction and also
- 	allow cr0 to be clobbered in asm statements.  Also fix a few
- 	patterns that used the wrong register.
- 
- 	* rs6000.h (rs6000_cpu_select): Make string, names be const char *.
- 	(rs6000_debug_name): Make const char *, not char *.
- 
- 	* sysv4.h (rs6000_{abi,sdata}_name): Make const char *.
- 
- 	* rs6000.c (rs6000_{debug,abi,sdata}_name): Make const char *.
- 	(rs6000_select): Use const char * in casts.
- 
- Fri Jan 22 07:43:01 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (gcc_tooldir): Move before first reference.
- 	Let autoconf substitute in a value.
- 	* configure.in (gcc_tooldir): Only use a relative path to the
- 	tool directory if $exec_prefix == $prefix.
- 	* configure: Rebuilt.
- 
- 	* Makefile.in (tooldir): Replace with gcc_tooldir.
- 
- Thu Jan 21 23:21:57 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (ashldi_const): Disable for !TARGET_5200.  Fix indentation.
- 	(ashldi3 expander): Similarly.  Update comments.
- 	(ashrdi_const, lshrdi_const): Fix indentation.
- 	(ashrdi3, lshrdi3): Fix indentation.  Update comments.
- 
- Thu Jan 21 21:53:36 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (try_split): Don't try to split non-instructions.
- 
- Thu Jan 21 23:47:30 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* expr.c (emit_push_insn): Fix dumb typo.
- 
- Thu Jan 21 20:24:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept
- 	transformations that we have performed earlier.
- 	* alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
- 
- 	* alpha.md (prologue_stack_probe_loop): Don't do our own label
- 	handling, call gen_label_rtx instead.
- 
- Thu Jan 21 17:45:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): Add missing `then'.
- 
- 	* cccp.c (xrealloc): Call malloc given a NULL old pointer.
- 	* collect2.c, cppalloc.c, gcc.c, genattr.c, genattrtab.c: Likewise.
- 	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
- 	* genflags.c, genopinit.c, genoutput.c, genpeep.c: Likewise.
- 	* genrecog.c, mips-tfile.c, protoize.c: Likewise.
- 
- Thu Jan 21 19:44:55 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* configure.in ({rs6000|powerpc}-ibm-aix4.[12]*): If
- 	--with-gnu-ld, use x-aix41-gld instead of x-aix41 to suppress
- 	adding -Wl,-bbigtoc to BOOT_LDFLAGS.
- 	* configure: Regenerate.
- 
- 	* config/rs6000/x-aix41-gld: New file, don't set BOOT_LDFLAGS.
- 
- Thu Jan 21 15:48:03 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cppexp.c (cpp_lex): Allocate token_buffer dynamically.
- 
- Thu Jan 21 14:18:04 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* expr.c (MOVE_BY_PIECES_P): Define condition for deciding to use
- 	move_by_pieces.
- 	(MOVE_MAX_PIECES): Define maximum number of bytes to move at once.
- 	(USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT): Define defaults.
- 	(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define defaults.
- 	(move_by_pieces): Use new macros.
- 	(emit_block_move): Use new macros.
- 	(clear_by_pieces): Use new macros.
- 	(clear_storage): Use new macros.
- 	(emit_push_insn): Use new macros.
- 	(expand_expr): Use new macros.
- 	* config/sh/sh.h (USE_LOAD_POST_INCREMENT, USE_LOAD_PRE_DECREMENT):
- 	Define.
- 	(USE_STORE_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Define.
- 	(MOVE_BY_PIECES_P): Define based on alignment and TARGET_SMALLCODE.
- 	(MOVE_MAX_PIECES): Move 8 bytes on SH4.
- 	* tm.texi(MOVE_BY_PIECES_P, MOVE_MAX_PIECES, USE_LOAD_POST_INCREMENT,
- 	USE_LOAD_PRE_DECREMENT, USE_STORE_POST_INCREMENT,
- 	USE_STORE_PRE_DECREMENT): Describe new macros.
- 
- Thu Jan 21 14:13:31 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* varasm.c (output_constant_pool): Use floor_log2 instead of
- 	exact_log2 for ASM_OUTPUT_ALIGN.
- 
- 	* stor-layout.c (layout_type): Do machine-dependent extra alignment.
- 
- 	* emit-rtl.c (operand_subword): Handle case when a subword outside
- 	the operand.
- 
- 	* tm.texi (ROUND_TYPE_{SIZE,ALIGN}): More accurate descriptions of
- 	the macros.
- 
- Thu Jan 21 01:59:30 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (fold_rtx): Revert 29 Dec change.
- 	(cse_insn): Revert 12 Jan change.
- 	* expr.c (expand_builtin): Don't emit CONST around CONSTANT_P_RTX.
- 	* regclass.c (reg_scan_mark_refs): Revert 29 Dec change.
- 	* rtl.def: Likewise.
- 	* rtl.h (CONSTANT_P): Likewise.
- 
- 	* expr.c (emit_move_insn): Never try to flush CONSTANT_P_RTX
- 	to memory.
- 	* recog.c (immediate_operand): Accept CONSTANT_P_RTX.
- 	* alpha.c (input_operand): Likewise.
- 	* c4x.c (const_operand): Likewise.
- 
- 	* explow.c (allocate_dynamic_stack_space): Use register_operand
- 	instead of arith_operand, which does not exist.
- 
- 	* 1750a.h: Fix comment closure.
- 	* a29k.c (a29k_set_memflags): Fix typo in 19 Jan change.
- 	* arc.md (one_cmplsi2_set_cc_insn): Fix set mode mismatch.
- 	* arm.h (TARGET_SWITCHES): Fix typo.
- 	* i370.md (anon mult and div patterns): Fix set mode mismatch.
- 	* i860.c (output_delayed_branch): Fix operands to constrain_operands.
- 	(output_delay_insn): Likewise.
- 	* m88k.md (anon rotate insns): Fix set mode mismatch.
- 	(anon BLKmode moves): Commonize and fix set mode mismatches.
- 	* ns32k.md (udivmoddi[shq]i4_internal): Fix mode mismatch.
- 	* romp.md (movdf): Fix typo.
- 
- Thu Jan 21 00:29:35 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* Makefile.in (install-common): Remove extraneous chmod for gcov
- 	install.
- 
- Wed Jan 20 18:15:08 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* function.c (assign_parms): Save and restore setting of
- 	TREE_USED (parm).
- 
- Wed Jan 20 12:51:42 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* arm.md: Use MEM_COPY_ATTRIBUTES where appropriate throughout.
- 	Pass MEM_SCALAR_P to arm_gen_store_multiple where appropriate.
- 
- Tue Jan 19 21:20:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.c (pop_operand): New function.
- 	* recog.h (pop_operand): Declare it.
- 	* genrecog.c (preds): Define it.
- 
- 	* expr.c (do_jump_for_compare): Handle conditional branch expanders
- 	emitting multiple jump instructions.
- 	* jump.c (condjump_label): New function.
- 	* rtl.h (condjump_label): Declare it.
- 
- Tue Jan 19 21:08:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (emit_move_insn_1): Revert 17 Dec change.  Don't emit
- 	clobber during or after reload.
- 
- Tue Jan 19 16:56:03 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genoutput.c (name_for_index): New function.
- 	(scan_operands, validate_insn_alternatives): Use it.
- 	* genrecog.c (insn_name_ptr_size): New variable.
- 	(make_insn_sequence): Fill in insn_name_ptr.
- 	(merge_trees): Use it.
- 
- Tue Jan 19 16:37:36 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386/isc.h (TARGET_DEFAULT): Define symbolicly.
- 	* i386/isccoff.h, i386/next.h, i386/sco.h, i386/sco5.h: Likewise.
- 	* i386/scodbx.h, i386/sequent.h, i386.unix.h: Likewise.
- 
- Tue Jan 19 15:00:10 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (NUM_STORES): Delete.
- 	(loop_store_mems): Turn into an EXPR_LIST of MEMs.
- 	(prescan_loop): Properly initialize loop_mems_idx.
- 	(note_addr_stored): Simplify using list structure instead of
- 	fixed sized array.
- 	(invariant_p, check_dbra_loop, load_mems): Similarly.
- 
- 	* flow.c (invalidate_from_autoinc): New function.
- 	(mark_set_1, mark_used_regs): Use it.
- 
- 	* Makefile.in (protoize.o, unprotoize.o): Depend on Makefile.
- 
- 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* invoke.texi (-mlong-double-64): New option description.
- 
- 1999-01-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* libgcc2.c: Change all uses of LONG_DOUBLE_TYPE_SIZE to
- 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.  Set to LONG_DOUBLE_TYPE_SIZE
- 	if not defined.
- 	* i960/i960.h (MULTILIB_DEFAULTS): Define to mnumerics.
- 	(CPP_SPECS): Add -mlong-double-64 support.
- 	(TARGET_FLAG_LONG_DOUBLE_64, TARGET_LONG_DOUBLE_64): New.
- 	(TARGET_SWITCHES): Add -mlong-double-64 support.
- 	(LONG_DOUBLE_TYPE_SIZE): Likewise.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
- 	* i960/vx960-coff.h (MULTILIB_DEFAULTS): Define to msoft-float.
- 	(CPP_SPECS): Add -mlong-double-64 support.
- 	* i960/t-960bare (MULTILIB_OPTIONS): Add mlong-double-64.
- 	(MULTILIB_DIRNAMES): Add ld64.
- 	* i960/t-vxworks960 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Likewise.
- 
- Tue Jan 19 11:54:04 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* calls.c (expand_call): Strip a TARGET_EXPR if we're passing by
- 	invisible reference.
- 
- Tue Jan 19 14:51:36 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (offsettable_addr_operand): Delete.
- 	(offsettable_mem_operand): New function.
- 	* rs6000.h (PREDICATE_CODES): Reflect function change.
- 	(RS6000_SAVE_TOC): Represent address as MEM.
- 	* win-nt.h (RS6000_SAVE_TOC): Same.
- 	* rs6000.md (indirect calls): Change offsettable address parameter
- 	to offsettable memory parameter.
- 
- Tue Jan 19 10:24:53 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.h (rtx_def): Update documentation.
- 	(MEM_IN_STRUCT_P): Likewise.
- 	(MEM_SCALAR_P): New macro.
- 	(MEM_COPY_ATTRIBUTES): Likewise.
- 	(MEM_SET_IN_STRUCT_P): Likewise.
- 	* rtl.texi (MEM_SCALAR_P): Document.
- 	* alias.c (canon_rtx): Use MEM_COPY_ATTRIBUTES.
- 	(fixed_scalar_and_varying_struct_p): New function.  Use
- 	MEM_SCALAR_P rather than !MEM_IN_STRUCT_P.
- 	(aliases_everything_p): Likewise.
- 	(true_dependence): Use them.
- 	(write_dependence_p): New function, containing code common to
- 	anti_dependence and output_dependence.
- 	(anti_dependence): Use it.
- 	(output_dependence): Likewise.
- 	* calls.c (save_fixed_argument_area): Don't clear
- 	MEM_IN_STRUCT_P.
- 	(expand_call): Use MEM_SET_IN_STRUCT_P.
- 	(emit_library_call): Don't clear MEM_IN_STRUCT_P.
- 	(emit_library_call_value): Likewise.
- 	(store_one_arg): Use MEM_SET_IN_STRUCT_P.
- 	* combine.c (simplify_rtx): Use MEM_COPY_ATTRIBUTES.
- 	(make_extraction): Likewise.
- 	(simplify_shift_const): Likewise.
- 	(gen_lowpart_for_combine): Likewise.
- 	* cse.c (gen_lowpart_if_possible): Use MEM_COPY_ATTRIBUTES.
- 	* emit-rtl.c (operand_subword): Likewise.
- 	(change_address): Likewise.
- 	* explow.c (stabilize): Use MEM_COPY_ATTRIBUTES.
- 	* expr.c (protect_from_queue): Use MEM_COPY_ATTRIBUTES.
- 	(emit_group_store): Use MEM_SET_IN_STRUCT_P.
- 	(copy_blkmode_from_reg): Likewise.
- 	(store_field): Likewise.
- 	(expand_expr): Remove bogus guesswork setting MEM_IN_STRUCT_P
- 	heuristically.  Use MEM_SET_IN_STRUCT_P.
- 	(get_memory_rtx): Likewise.
- 	* final.c (alter_subreg): Use MEM_COPY_ATTRIBUTES.
- 	* function.c (assign_stack_temp): Clear MEM_SCALAR_P and
- 	MEM_ALIAS_SET on newly returned MEMs.
- 	(assign_temp): Use MEM_SET_IN_STRUCT_P.
- 	(put_reg_into_stack): Likewise.
- 	(fixup_var_refs1): Use MEM_COPY_ATTRIBUTES.
- 	(gen_mem_addressof): Use MEM_SET_IN_STRUCT_P.
- 	(assign_parms): Likewise.
- 	(expand_function): Likewise.
- 	* integrate.c (expand_inline_function): Likewise.
- 	(copy_rtx_and_substitute): Use MEM_COPY_ATTRIBUTES.
- 	* loop.c (note_addr_stored): Remove check on MEM_IN_STRUCT_P.
- 	* optabs.c (gen_move_insn): Use MEM_COPY_ATTRIBUTES.
- 	* print-rtl.c (print_rtx): Print /f for frame_related.
- 	* recog.c (validate_replace_rtx_1): Use MEM_COPY_ATTRIBUTES.
- 	* reload1.c (reload): Copy MEM_SCALAR_P as well.
- 	* stmt.c (expand_decl): Use MEM_SET_IN_STRUCT_P.
- 	(expand_anon_union_decl): Use MEM_COPY_ATTRIBUTES.
- 	* varasm.c (make_decl_rtl): Use MEM_SET_IN_STRUCT_P.
- 	(output_constant_def): Likewise.
- 	* a29k.c (a29k_set_memflags_1): Take scalar_p.
- 	Set MEM_SCALAR_P.
- 	(a29k_set_memflags): Use it.
- 	* alpha.c (get_aligned_mem): Use MEM_COPY_ATTRIBUTES.
- 	* c4x.c (c4x_scan_for_ld): Likewise.
- 	* h8300.c (fix_bit_operand): Likewise.
- 	* m88k.c (legitimize_address): Likewise.
- 	(block_move_loop): Likewise.
- 	(block_move_no_loop): Likewise.
- 	(block_move_sequence): Likewise.
- 	(m88k_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
- 	* mips/abi64.h (SETUP_INCOMING_VARARGS): Likewise.
- 	* rs6000.c (expand_block_move_insn): Use MEM_COPY_ATTRIBUTES.
- 	* sh.c (sh_builtin_saveregs): Use MEM_SET_IN_STRUCT_P.
- 	* arm.h (arm_gen_load_multiple): Take scalar_p.
- 	(arm_store_load_multiple): Likewise.
- 	* arm.c (arm_gen_load_multiple): Likewise.
- 	(arm_gen_store_multiple): Likewise.
- 	(arm_gen_movstrqi): Treat MEM_SCALAR_P like MEM_IN_STRUCT_P.
- 
- Tue Jan 19 12:30:37 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
- 	calls within a libcall block to indicate no throws are possible.
- 	* flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
- 	libcall blocks. Don't add edges to exception handlers if we see
- 	a REG_EH_REGION note with a value of 0.
- 	(make_edges): Override active_eh_region vector if the call has a note
- 	indicating the call does not throw.
- 
- 1999-01-19  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/rs6000/sysv4.h (CC1_SPEC): Fix correct numbers of {}.
- 
- Tue Jan 19 06:26:30 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (cccp.o, cpplib.o): Depend on Makefile.
- 
- Mon Jan 18 09:56:41 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* invoke.texi (C++ Dialect Options): Document -fno-rtti.
- 
- 1999-01-18  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	*  invoke.texi (-mcpu=740, -mcpu=750): New options.
- 	(-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
- 	PPC750.
- 
- 1999-01-18  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
- 	supported with -mcpu=xxx.
- 	(processor_type): Add PROCESSOR_PPC750.
- 	(ADJUST_PRIORITY): Call rs6000_adjust_priority.
- 	(RTX_COSTS): Supply costs for 750 multiply/divide operations.
- 	(rs6000_adjust_priority): Add declaration.
- 
- 	* rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
- 	processor type as 750, not 603.  Allow -mmultiple and -mstring on
- 	little endian 750 systems.
- 	(rs6000_adjust_priority): Stub for now.
- 	(get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
- 
- 	* rs6000.md (function/cpu attributes): Add initial ppc750 support.
- 
- 	* sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
- 	little endian.
- 	(CC1_SPEC): Pass -mstrict-align if little endian, and not
- 	overridden.
- 	(CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
- 	(SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
- 
- 	* {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
- 	little endian.
- 
- 	* t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
- 
- Mon Jan 18 12:03:08 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.md (div_trap): Split div_trap_mips16
- 	from div_trap.
- 	(div_trap_normal,div_trap_mips16): Correct the length attributes.
- 
- Mon Jan 18 11:48:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplib.c (special_symbol): Qualify a char* with the `const' keyword.
- 	Instead of writing to const char *buf directly, use a non-const
- 	variable `wbuf' to allocate and write a string, then set buf = wbuf.
- 
- 	* cppulp.c (user_label_prefix): Qualify a char* with the `const'
- 	keyword.
- 
- 	* dyn-string.c (dyn_string_append): Likewise.
- 
- 	* dyn-string.h (dyn_string_append): Likewise.
- 
- 	* final.c (end_final, output_operand_lossage, asm_fprintf): Likewise.
- 
- 	* output.h (end_final, output_operand_lossage, asm_fprintf,
- 	named_section, decode_reg_name, make_decl_rtl, user_label_prefix):
- 	Likewise.
- 
- 	* profile.c (init_branch_prob): Likewise.
- 
- 	* toplev.c (set_target_switch, vmessage,
- 	v_message_with_file_and_line, v_message_with_decl,
- 	v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
- 	verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
- 	v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
- 	v_pedwarn_with_file_and_line, vsorry, v_really_sorry,
- 	open_dump_file, dump_rtl, clean_dump_file,
- 	print_version, print_single_switch, print_switch_values,
- 	dump_base_name, debug_args, lang_independent_options,
- 	user_label_prefix, documented_lang_options, target_switches,
- 	target_options, print_time, pfatal_with_name, fatal_io_error,
- 	fatal_insn, default_print_error_function, print_error_function,
- 	report_error_function, error_with_file_and_line, error_with_decl,
- 	error_for_asm, error, fatal, warning_with_file_and_line,
- 	warning_with_decl, warning_for_asm, warning, pedwarn,
- 	pedwarn_with_decl, pedwarn_with_file_and_line, sorry,
- 	really_sorry, botch, output_quoted_string, output_file_directive,
- 	open_dump_file, rest_of_decl_compilation, display_help, main):
- 	Likewise.
- 
- 	* toplev.h (print_time, fatal, fatal_io_error, pfatal_with_name,
- 	fatal_insn, warning, error, pedwarn, pedwarn_with_file_and_line,
- 	warning_with_file_and_line, error_with_file_and_line, sorry,
- 	really_sorry, default_print_error_function, report_error_function,
- 	rest_of_decl_compilation, pedwarn_with_decl, warning_with_decl,
- 	error_with_decl, error_for_asm, warning_for_asm, output_quoted_string,
- 	output_file_directive, botch): Likewise.
- 
- 	* tree.h (make_decl_rtl): Likewise.
- 
- 	* varasm.c (strip_reg_name, named_section, decode_reg_name,
- 	make_decl_rtl): Likewise.
- 
- Mon Jan 18 11:35:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* Makefile.in (TCL_LIBRARY): Use 'cd' to find the library
- 	directory logically rather than physically.
- 
- Mon Jan 18 09:05:37 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* loop.c (insert_bct): Hide the definition of variables
- 	`increment_direction', `compare_direction', `add_iteration' and
- 	`loop_var_mode'.
- 
- 	* recog.c (mode_dependent_address_p): Mark parameter `addr' with
- 	ATTRIBUTE_UNUSED.  Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
- 	(mode_independent_operand): Mark label `lose' with
- 	ATTRIBUTE_UNUSED_LABEL.
- 
- 	* regclass.c (n_occurrences): Remove prototype and definition.
- 
- 	* reload.c (find_reloads_address_1): Mark variable `tem' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
- 
- 	* sbitmap.c (sbitmap_copy): Likewise.
- 
- 	* scan-decls.c (scan_decls): Hide label `handle_comma'.
- 
- 	* toplev.c (output_lang_identify): Mark prototype with
- 	ATTRIBUTE_UNUSED.
- 
- 	* tree.c (make_node): Cast the first argument of `bzero' to PTR.
- 	(make_tree_vec): Likewise.
- 	(build1): Likewise.
- 
- 	* varasm.c (assemble_static_space): Mark variable `tem' with
- 	ATTRIBUTE_UNUSED.
- 
- Mon Jan 18 04:28:36 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* Makefile.in (GCOV_INSTALL_NAME): New macro.
- 	(install-common): Use it.
- 	(uninstall): Use it.
- 	(uninstall): Use correct names for protoize and unprotoize.
- 
- Mon Jan 18 03:52:56 1999  Christian Bruel  <Christian.Bruel@st.com>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (last_mem_set): Delete variable.  References removed.
- 	(mem_set_list): New variable.
- 	(life_analysis): Initialize and finalize alias analysis.
- 	(propagate_block); Initialize mem_set_list.  Clear for CALL_INSNs.
- 	(insn_dead_p): For a store to memory, search the entire mem_set_list
- 	for a match.
- 	(mark_set_1): Kill entries on the mem_set_list for aliased writes or
- 	changes to their addresses.  Add new entries to the mem_set_list for
- 	memory writes writes.
- 	(mark_used_regs): Kill entries on the mem_set_list which may be
- 	referenced by a load operation.
- 
- Mon Jan 18 01:01:02 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c (base_alias_check): Add missing return for differing
- 	symbols case.
- 
- Mon Jan 18 00:36:13 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* mips-tdump.c (print_file_desc): Handle unknown filenames and
- 	missing local symbols.
- 
- Sun Jan 17 21:04:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL.
- 
- 	* system.h (bcopy): Implement with memmove not memcpy.
- 
- Sun Jan 17 19:23:20 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (cppulp.o): Add dependencies.
- 
- 	* i386.md (integer conditional moves): Add missing earlyclobbers.
- 
- 	* regmove.c (optimize_reg_copy_1): Undo Aug 18 change.  Update
- 	REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
- 	where a register is live.
- 
- Sun Jan 17 03:20:47 1999  H.J. Lu  (hjl@gnu.org)
- 
- 	* reg-stack.c (subst_stack_regs_pat): Abort if the destination
- 	of a FP conditional move is not on the FP register stack.
- 
- Sun Jan 17 01:15:04 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Jan 16 23:40:33 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_cse_regs_1): Do not call
- 	reload_cse_simplify_operands for an insn with asm operands.
- 
- 	* cccp.c (print_help): Fix typos.
- 	* cpplib.c (print_help): Fix typos.
- 	* toplev.c (f_optiosn): Fix typos.
- 	(documented_lang_options): Fix typos.
- 
- Sat Jan 16 21:48:17 1999  Marc Espie  (Marc.Espie@openbsd.org)
- 
- 	* gcc.c (do_spec_1): Fix obvious typo.
- 
- Sat Jan 16 19:31:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (duplicate_decls): If `warn_traditional', warn when
- 	a non-static function declaration follows a static one.
- 
- 	* invoke.texi (-Wtraditional): Document the extra check now done
- 	by this flag.
- 
- Sat Jan 16 15:13:46 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (shadd): Create shadd insns, even if the result of the shift is
- 	needed without the addition.
- 
- Sat Jan 16 10:48:16 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (movdf, movsf): Temporary workaround for no_new_pseudos lossage.
- 
- Fri Jan 15 23:44:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (sparc_issue): Add hypersparc/sparclite86x entries.
- 
- Fri Jan 15 22:30:04 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (CONST_OK_FOR_LETTER_P): Do not assume 32-bit CONST_INT.
- 	* rs6000.c (u_short_cint_operand, add_operand, logical_operand,
- 	non_add_cint_operand, non_logical_cint_operand): Likewise.
- 	(get_issue_rate): Add CPU_PPC604E case.
- 	* rs6000.md (movdi, !TARGET_POWERPC64 splitters): Handle 64-bit hosts.
- 
- Fri Jan 15 18:42:12 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (queued_subexp_p): Make public.
- 	* expr.h (queued_subexp_p): Declare it.
- 	* recog.c (asm_operand_ok): New function.
- 	(check_asm_operands): Use it.  After reload, use constrain_operands
- 	instead.
- 	* recog.h (asm_operand_ok): Declare it.
- 	* stmt.c (expand_asm_operands): Use it to try harder to make
- 	asms initially satisfy their constraints.
- 
- Fri Jan 15 17:43:59 1999  Jeffrey A. Law  <law@rtl.cygnus.com>
- 
- 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do not create
- 	(mem (lo_sum (...)) for TFmode unless TARGET_V9.
- 
- Sat Jan 16 12:47:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (not_repeat_reg): Allow ldp instruction
- 	in delay slot of RPTBD.
- 
- Sat Jan 16 12:26:40 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/libgcc.S (___divhi3, ___modhi3): Fix long long
- 	divide and modulo sign problem.
- 
- Fri Jan 15 11:02:31 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* unroll.c (loop_iterations): Return 0 if the last loop insn
- 	is not a jump insn or if the loop has multiple back edges.
- 
- 1999-01-15  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* configure.in (fixinc_defs): Do not define for m[68]8k-motorola-sysv{,3};
- 	it's working properly now.  Remove comment saying "see m68k-motorola-sysv
- 	as an example".
- 	* configure: Regenerate using autoconf.
- 
- 	* fixinc/fixincl.c (main): Do not ignore SIGCHLD.
- 
- Thu Jan 14 22:38:41 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share
- 	a register with another DEST_ADDR giv if the address is not valid.
- 
- 	* pa.c (hppa_expand_epilogue): Save and restore the static chain
- 	around the call to mcount.
- 
- 	* h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf.
- 
- 	* stmt.c (expand_end_case): Use emit_cmp_and_jump_insns to avoid
- 	generating non-canonical rtl.
- 
- 1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/i960/i960.c (i960_output_move_double_zero,
- 	i960_output_move_quad_zero): New functions for moving zeros.
- 	(i960_output_move_double, i960_output_move_quad): Additional code
- 	for situation when moving unaligned register group.
- 
- 	* config/i960/i960.h (i960_output_move_double_zero,
- 	i960_output_move_quad_zero): The function definitions.
- 
- 	* config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
- 
- 1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/i960/i960.c (i960_function_prologue): New code (optimal
- 	solution) for saving global registers in local registers.
- 	(form_reg_groups, reg_group_compare, split_reg_group): New
- 	functions used by the code.
- 	(reg_group): New structure definition for the new code.
- 
- 1999-01-13  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixinc/fixincl.c (create_file): Pass file creation mask as
- 	third parameter to "open".  Use O_TRUNC flag to open instead of
- 	explicitly unlink'ing the file.
- 	(process): and forget about the "chmod" stuff.
- 
- Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* integrate.c (expand_inline_function): Recognize (mem (addressof))
- 	and substitute.  Copy the return value from there into a new pseudo.
- 
- Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
- 	before generating a call to abort for volatile functions.
- 	* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
- 	(TARGET_ABORT_NORETURN): Define.
- 	(abort-on-noreturn): New option.
- 
- Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc
- 	and binarycc operations in 3rd annulled delay slot!
- 
- Wed Jan 13 16:16:44 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/arm.c (output_func_epilogue): Check TARGET_ABORT_NORETURN
- 	before generating a call to abort for volatile functions.
- 	* config/arm.h (ARM_FLAG_ABORT_NORETURN): Define.
- 	(TARGET_ABORT_NORETURN): Define.
- 	(abort-on-noreturn): New option.
- 
- Wed Jan 13 13:30:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (xstrdup): Renamed from `savestring'.  All callers changed.
- 	Remove prototype which we get from libiberty.h.
- 
- 	* collect2.c (xstrdup): Likewise.
- 
- 	* genextract.c (xstrdup): Likewise for `copystr'.
- 	(mybzero): Remove it and use `memset' instead.
- 
- 	* genoutput.c (mybcopy, mybzero): Remove these.  All callers changed
- 	to use `memcpy' and `memset' instead.
- 
- 	* genrecog.c (xstrdup): Renamed from `copystr'.  All callers
- 	changed.  Remove prototype.
- 	(mybcopy, mybzero): Remove these and use memcpy/memset.
- 
- Wed Jan 13 00:59:04 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.h (LOAD_EXTEND_OP): Correct for SImode and CCmode moves when
- 	generating code for TARGET_64BIT.
- 
- Tue Jan 12 14:05:37 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (print_operand, cases 'm' and 'M'): Do not depend on
- 	HOST_WIDE_INT word-size.
- 	(rs6000_stack_info): Remove redundant alignment of fpmem.
- 
- Tue Jan 12 14:05:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.c (short_cint_operand): Remove CONSTANT_P_RTX handling.
- 	(u_short_cint_operand, reg_or_cint_operand, logical_operand): Likewise.
- 	(input_operand): Adjust CONSTANT_P_RTX handling.
- 	* rs6000.h (PREDICATE_CODES): Remove CONSTANT_P_RTX references.
- 	* rs6000.md (movsi): Adjust CONSTANT_P_RTX handling.
- 	(movhi, movqi): Remove CONSTANT_P_RTX handling.
- 	(movdi): Adjust CONSTANT_P_RTX handling.
- 
- 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* configure: Regenerate using autoconf.
- 
- 	* fixinc/Makefile.in (INCLUDES): Add -I$(srcdir)/../../include.
- 	* fixinc/fixincl.c (SIGCHLD): Use SIGCLD on (very) old systems.
- 	(process): "fchmod" isn't available on all systems, use "chmod"
- 	instead.
- 	* fixinc/server.c: Add #include <sys/types.h>.
- 	(STDIN_FILENO): Add default definition if no include file defines
- 	it already.
- 	(STDOUT_FILENO): Likewise.
- 
- Tue Jan 12 10:23:24 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* mips.md (call_value_internal3c): New pattern for -mips16 -mlong-calls.
- 
- 1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
- 	ensure all prototypes necessary for building libio will be available.
- 	* m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
- 	definitions here as they are not host specific.
- 	* m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
- 
- Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
- 
- Tue Jan 12 02:36:10 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.c (rtx_alloc): Use memset instead of inline loop.
- 
- 	* recog.h (recog_op_alt): Declare extern.
- 
- Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (purge_addressof_1): If the note accesses a mem+addressof
- 	in a wider mode than any replacement, adjust the cached replacement.
- 	Cache trivial substitutions as well.
- 
- Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (OBJECTS): Add sbitmap.o.
- 	(BASIC_BLOCK_H): Add sbitmap.h.
- 	* basic-block.h: Move simple bitmap code to sbitmap.h.
- 	* flow.c: Move simple bitmap code to sbitmap.c.
- 	* sbitmap.h, sbitmap.c: New files.
- 
- Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (TARGET_SWITCHES): Document switches.
- 	(TARGET_OPTIONS): Likewise.
- 
- 	* alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
- 
- Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
- 
- Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (basic_block_head): Rename to x_basic_block_head.
- 	(basic_block_end): Rename to x_basic_block_end.
- 	(BLOCK_HEAD, BLOCK_END): Update.
- 
- 	* caller-save.c: Change basic_block_head/end references to
- 	BLOCK_HEAD/END.
- 	* combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
- 	* graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
- 	* regmove.c, reload1.c, reorg.c, sched.c: Likewise.
- 
- Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (xstrerror): Renamed from my_strerror.  All callers
- 	changed.  Remove prototype since we get that from libiberty.h.
- 
- 	* protoize.c (xstrerror): Likewise.
- 
- Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (read_specs): Ensure format specifiers match their arguments.
- 
- Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (copy_node): Oops.  That would be copy not zero
- 	in that last change.
- 
- Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c: Include system.h.
- 	(c4x_caller_save_map): Disable caller save for RC.
- 	(c4x_optimization_options): Disable scheduling before reload.
- 	(valid_parallel_load_store) : Define return type as int.
- 	Remove unused variable regs.
- 	* config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
- 	class.
- 	* config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
- 	handle rotations.
- 	(*db, decrement_and_branch_until_zero): Fix up constraints
- 	to keep reload happy.
- 
- Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (make_node): Call bzero instead of inline clear.
- 	(copy_node, make_tree_vec, build1): Likewise.
- 	(get_identifier): Call strlen instead of inline count.
- 	(maybe_get_identifier): Likewise.
- 
- Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (in_annul_slot_3): Allow unarycc and binarycc
- 	operations in 3rd annulled delay slot.
- 	(*lshrqi3_const_set): Disallow c constraint for operand0.
- 	(modhi3+1, modhi3+2): Set attribute type to multi.
- 	* config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of
- 	!= operator.
- 
- Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h: Allow attribute unused on labels only when we are
- 	version 2.93 or higher.  Not all versions of 2.92 have this feature.
- 
- 	* version.c: Bump minor number to 93.
- 
- Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/m68k/m68k.h: Declare output_function_epilogue.
- 	* recog.h: Declare next_insn_tests_no_inequality.
- 
- Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (optimize_tail_recursion): New function, extracted from ...
- 	(expand_return): Use optimize_tail_recursion.
- 	* tree.h (optimize_tail_recursion): Declare.
- 
- 	* toplev.c (compile_file): Move call to output_func_start_profiler
- 	to after the loop to emit deferred functions.
- 
- Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* system.h (abort): Supply more detailed information on how to
- 	report an Internal Compiler Error.
- 
- Thu Jan  7 09:25:58 1999  Bruce Korb  (korb@datadesign.com)
- 
- 	* fixinc/fixincl.c (*): More decapitalization of variables
- 	plus some explanatory comments.
- 
- 	* fixinc/Makefile.in fixinc/mkfixinc.sh:
- 	When the fixincl program does not work for a certain system,
- 	we substitute a shell script.  Added user commentary when
- 	this happens.
- 
- Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
- 	allocate memory that will live beyond this function.
- 	(expand_call): Free it here.
- 
- Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for
- 	integer data not destined for fp regs.
- 	(LEGITIMIZE_RELOAD_ADDRESS): New.
- 
- Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	Support for HyperSPARC and SPARClite86x:
- 	* sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
- 	(CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
- 	(ASM_CPU32_DEFAULT_SPEC): Likewise.
- 	(TARGET_CPU_DEFAULT): Likewise.
- 	(enum processor_type): Likewise.
- 	(CPP_ENDIAN_SPEC): Handle little endian data.
- 	(LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
- 	(ADJUST_COST): Call sparc_adjust_cost.
- 	* sparc.c (sparc_override_options): Fix up for the new targets.
- 	(supersparc_adjust_cost): Make static.
- 	(hypersparc_adjust_cost): New.
- 	(ultrasparc_adjust_cost): Make static.
- 	(sparc_adjust_cost): New.
- 	* sparc.md (attr cpu): Add hypersparc and sparclite86x.
- 	(function_unit): Add hypersparc scheduling rules.
- 
- 	* configure.in (with_cpu handler): Recognize hypersparc.
- 
- Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c: Added space after negation operator.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 
- Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
- 
- Thu Jan  7 00:29:25 1999  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
- 	when a test can't be performed due to limited width of
- 	HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
- 	Fix UDIV case for cases where the first operand has the highest bit
- 	set.
- 
- Thu Jan  7 00:01:38 1999  Lutz Vieweg  <lkv@mania.robin.de>
- 
- 	* pa.h (reg_class): Add FPUPPER_REGS.
- 	(REG_CLASS_NAMES): Similarly.
- 	(REG_CLASS_CONTENTS): Similarly.
- 	(REGNO_REG_CLASS): Handle FPUPPER_REGS.
- 	(FP_REG_CLASS_P): Likewise.
- 	(REG_CLASS_FROM_LETTER): Similarly.
- 	(CLASS_MAX_NREGS): Similarly.
- 
- 1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
- 	for a typedef of bool.  Make sure to have a copy of the file is
- 	in place before we look to fix it.  Fix typo in variable name to
- 	FILE.
- 
- Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
- 	value_mode for the return mode.
- 
- Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* configure.in: New flag --with-dwarf2.  If set, enables DWARF-2
- 	debugging as default.
- 
- 	* config/tm-dwarf2.h: New file.
- 
- Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.h (ASM_OUTPUT_LABELREF): Define.
- 
- 	* pa.h (DONT_RECORD_EQUIVALENCE): Kill.
- 	* local-alloc.c (update_equiv_regs): Corresponding changes.
- 	* tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
- 
- 	* calls.c (special_function_p): Push alloca test inside the large
- 	conditional which excludes functions not at file scope or not
- 	extern.
- 
- 	* calls.c (special_function_p): New function broken out of
- 	expand_call.
- 	(precompute_register_parameters): Likewise.
- 	(store_one_arg): Likewise.
- 	(store_unaligned_argumetns_into_pseudos): Likewise.
- 	(save_fixed_argument_area): Likewise.
- 	(restore_fixed_argument_area): Likewise.
- 	(expand_call): Corresponding changes.
- 
- Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (addqi3): If the destination operand is
- 	a hard register other than an extended precision register,
- 	emit addqi3_noclobber.
- 	(*addqi3_noclobber_reload): New pattern added so that reload
- 	will recognize a store of a pseudo, equivalent to the sum
- 	of the frame pointer and a constant, as an add insn.
- 
- 1999-01-06  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* fixinc/fixincl.c: Re-indent according to the GNU standards.
- 	fixinc/server.c: Likewise.
- 	fixinc/server.h: Likewise.
- 
- Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
- 	handling.
- 	(const_sint32_operand): Likewise.
- 
- Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.h: In addition to checking _JBLEN, also check if `setjmp'
- 	is a macro when deciding if we can use `jmp_buf' in prototypes.
- 
- Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net>
- 
- 	* configure.in (pc-msdosdjgpp): Set x_make to x-go32.
- 	* configure: Rebuilt.
- 	* i386/xm-go32.h: Define LIBSTDCXX.
- 	* i386/x-go32: New.
- 	* i386/go32.h (MD_EXEC_PREFIX): Define.
- 	(FILE_NAME_ABSOLUTE_P): Define.
- 	(LINK_COMMAND_SPEC): Define.
- 
- Wed Jan  6 02:23:36 1999  "Charles M. Hannum"  <root@ihack.net>
- 
- 	* expr.c (store_expr): If the lhs is a memory location pointed
- 	to be a postincremented (or postdecremented) pointer, always
- 	force the rhs to be evaluated into a pseudo.
- 
- Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
- 
- 	* real.c (mtherr): Print more reasonable warning messages.
- 
- Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
- 
- 	* cccp.c: Include prefix.h, don't prototype prefix.c functions.
- 	(new_include_prefix): Constify char* parameters.
- 
- 	* cppfiles.c (read_name_map): Likewise.
- 	(append_include_chain): Likewise.  Also, use a writable char* copy
- 	of parameter `dir' which we then modify, rather than using the
- 	parameter itself to store the new writable string.
- 	(remap_filename): Constify some variables.  Also, use a writable
- 	char* to store an allocated string which we will be modifying.
- 
- 	* cpplib.c: Include prefix.h, don't prototype prefix.c functions.
- 	(cpp_start_read): Constify variable `str'.
- 
- 	* cpplib.h (append_include_chain): Constify a char* parameter.
- 
- 	* gcc.c Include prefix.h, don't prototype prefix.c functions.
- 	(add_prefix, save_string): Constify char* parameters.
- 	(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
- 
- 	* prefix.c: Include prefix.h.
- 	(get_key_value, translate_name, save_string, update_path,
- 	set_std_prefix): Constify various char* parameters and variables.
- 	(save_string): Use xmalloc, not malloc.
- 	(translate_name): Use a writable temporary variable to create and
- 	modify a string before setting it to a const char*.
- 
- 	* prefix.h: New file to prototype functions exported from prefix.c.
- 
- Tue Jan  5 08:52:18 1999  Bruce Korb  (korb@datadesign.com)
- 
- 	* fixinc/fixincl.c (various): Added debug code so
- 	Manfred can trace the processing.
- 
- 	* fixinc/inclhack.def (sys/utsname.h): Provide forward declaration of
- 	struct utsname on Ultrix V4.[35].
- 
- 	* fixinc/{fixincl.x|fixincl.sh|inclhack.sh} : Regenerated.
- 
- Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (skip_if_group): Split out the logic that handles
- 	directive recognition to its own function.  Don't use
- 	parse markers; use a bare pointer into the buffer.  Use
- 	copy/skip_rest_of_line instead of doing it by hand.  Remove
- 	`return on any directive' mode which was never used, and take
- 	only one argument.
- 	(consider_directive_while_skipping): New function, subroutine
- 	of skip_if_group.  Logic streamlined a bit.
- 	(conditional_skip, do_elif, do_else): Call skip_if_group with
- 	only one argument.
- 
- Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
- 	error.
- 
- Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* extend.texi (Bound member functions): Document.
- 
- Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
- 	lang_to_string, type_to_string): Make return type const char*.
- 	(print_symbol): Apply `const' keyword to a char*.
- 	(print_file_desc): Cast structure member `crfd' to ulong when
- 	comparing against one.
- 
- 	* mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
- 	(fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
- 	(progname, input_name): Apply `const' keyword to a char*.
- 	Don't redundantly include sys/stat.h.
- 	(alloc_info): Apply `const' keyword to a char*.
- 	(st_to_string, sc_to_string): Likewise.
- 	(hash_string): Cast variable `hash_string' to a symint_t when
- 	comparing against one.
- 	(add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
- 	Likewise cast it to long when comparing against one.
- 	(add_local_symbol): Apply `const' keyword to a char*.
- 	(add_ext_symbol): Likewise.
- 	(add_unknown_tag): Likewise.
- 	(add_procedure): Cast a printf-style field width to an int.
- 	(add_file): Cast PAGE_USIZE to long when comparing against one.
- 	(parse_begin): Cast a printf-style field width to an int.
- 	(parse_bend): Likewise.
- 	(parse_def): Likewise.
- 	(parse_end): Likewise.
- 	(mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
- 	(parse_stabs_common): Fix format specifier.
- 	(parse_input): Change type of variable `i' to Size_t.
- 	(write_object): Fix arguments to match format specifiers.
- 	Cast variable `num_write' to long when comparing against one.
- 	(read_seek): Cast variable `sys_read' to symint_t when comparing
- 	against one.  Fix arguments to match format specifiers.  Cast
- 	variable `size' to long when comparing against one.
- 	(copy_object): Cast result of `sizeof' to int when comparing
- 	against one.  Fix arguments to match format specifiers.  Cast
- 	variable `ifd' to long when comparing against a signed value.
- 	Likewise, likewise.
- 
- Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (decl_attributes): Allow applying attribute `unused'
- 	on a LABEL_DECL.
- 
- 	* c-parse.in (label): Parse attributes after a label, and call
- 	`decl_attributes' to handle them.
- 
- 	* gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
- 
- 	* genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
- 	generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
- 
- 	* invoke.texi: Note that labels can be marked `unused'.
- 
- Sun Jan  3 23:32:18 1999  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
- 	RTL for a compare/jump sequence.
- 
- Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
- 	for a target with HAVE_cc0 defined.
- 	(emit_cmp_and_jump_insns): New function.
- 	* expr.h (emit_cmp_and_jump_insns): Prototype it.
- 	* loop.c (check_dbra_loop): Use it to replace calls
- 	to emit_cmp_insn and emit_jump_insn and to canonicalize
- 	the comparison if necessary.
- 	* unroll.c (unroll_loop): Likewise.
- 
- Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixincludes (sys/utsname.h): Provide forward declaration of
- 	struct utsname on Ultrix V4.[35].
- 
- 	* mips.md (div_trap): Use local labels instead of dot-relative
- 	branches.
- 
- Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (branch, negated branch): Handle (const_int 0) as first
- 	source operand.
- 	* pa.c (output_cbranch): Likewise.
- 
- Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_stack_info): Undo spurious part of last
- 	change.
- 
- 1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* extend.texi (__builtin_constant_p): Add missing @smallexample.
- 
- Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md (doubleword shifts): Fix dumb mistakes in previous change.
- 
- Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (adddi_dilshr32): Allow all operands to be registers too.
- 	(adddi_dishl32): Similarly.
- 
- 	* cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
- 	for each insn in the skipped block.
- 
- 	* reload1.c (reload_as_needed): Verify that the insn satisfies its
- 	constraints after replacing a register address with an autoincrement
- 	address for reload inheritance purposes.
- 
- 	* i386.md (doubleword shifts): Avoid namespace pollution.
- 
- Wed Dec 30 23:00:28 1998  David O'Brien  <obrien@NUXI.com>
- 
- 	* configure.in (FreeBSD ELF): Needs special crt files.
- 
- Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
- 
- 	* i386/xm-cygwin.h: Change DIR_SEPARATOR to forward slash.
- 
- 1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* loop.c (check_dbra_loop): While reversing the loop, if the
- 	comparison value has a VOID mode use the mode of the other operand
- 	to compute the mask.
- 
- Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.md ({save,restore}_stack_function): Take 2 operands to
- 	avoid warnings in compiling explow.c.
- 
- 	(patch from Ken Raeburn, raeburn@cygnus.com)
- 	* rs6000.c (rs6000_stack_info): Force 8-byte alignment of
- 	fpmem_offset.  Compute total size after that, and then
- 	rs6000_fpmem_offset using both values.
- 
- Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
- 	the future; indeed that already happens in some cases.
- 
- Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (input_operand): Recognize (const (constant_p_rtx)).
- 	(arith_operand): Remove constant_p_rtx handling.
- 	(const64_operand, const64_high_operand): Likewise.
- 	(arith11_operand, arith10_operand, arith_double_operand): Likewise.
- 	(arith11_double_operand, arith10_double_operand, small_int): Likewise.
- 	(small_int_or_double, uns_small_int, zero_operand): Likewise.
- 	* sparc.h (PREDICATE_CODES): Likewise.
- 
- 	* rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
- 
- Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.def (CONSTANT_P_RTX): Clarify commentary.
- 	* expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
- 	consider constant CONSTRUCTOR constant and to defer some cases
- 	to cse.
- 	* cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
- 	* regclass.c (reg_scan_mark_refs, case CONST): Likewise.
- 
- Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (init_expr_once): Kill can_handle_constant_p recognition.
- 	* cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
- 
- 	* alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
- 	(reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
- 	(sext_add_operand, and_operand, or_operand): Likewise.
- 	(reg_or_cint_operand, some_operand, input_operand): Likewise.
- 	* alpha.h (PREDICATE_CODES): Likewise.
- 
- Sat Dec 26 23:26:26 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gengenrtl.c (gencode): Always use bzero to clear memory instead
- 	of dangerous casts and stores.
- 
- 	* Makefile.in (compare, gnucompare): Add missing else true clauses.
- 
- Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alpha.md (builtin_longjmp): Add missing "DONE".
- 
- Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* gcc.c (execute): Enable -pipe with win32.
- 
- Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/t-arm-elf: Add multiplib option for leading
- 	underscores.
- 
- 	* config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
- 	'user_label_prefix' rather than macro USER_LABEL_PREFIX.
- 
- 	(thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
- 	than variable 'reload_address_base_reg_class'.  [Note this
- 	change is unrelated to the others in this patch].
- 
- 	* config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
- 	leading underscore.
- 
- Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alias.c (record_alias_subset): Remove ignored `&'.
- 	(init_alias_once): Likewise.
- 
- 	* c-lex.c (UNGETC): Cast first argument of comma expression to void.
- 
- 	* config/mips/mips.c (mips_asm_file_end): Cast the result of
- 	fwrite to `int' when comparing against one.
- 
- 	* config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
- 	(INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
- 
- 	* cse.c (rehash_using_reg): Change type of variable `i' to
- 	unsigned int.
- 
- 	* dwarf2out.c (initial_return_save): Cast -1 to unsigned before
- 	assigning it to one.
- 
- 	* except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
- 
- 	* final.c (final_scan_insn): Likewise for variable `i'.
- 	(output_asm_insn): Cast a char to unsigned char when used as an
- 	array index.
- 
- 	* gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
- 	assigning it to one.
- 
- 	* loop.c (strength_reduce): Remove unused variables `count' and `temp'.
- 
- 	* recog.c (preprocess_constraints): Cast a char to unsigned char
- 	when used as an array index.
- 
- 	* regmove.c (find_matches): Likewise.
- 
- 	* reload1.c (calculate_needs): Add default case in switch.
- 	(eliminate_regs_in_insn): Initialize variable `offset'.
- 	(set_offsets_for_label): Change type of variable `i' to unsigned.
- 	(reload_as_needed): Wrap variable `i' in macro check on
- 	AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
- 
- 	* scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
- 	with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
- 	when comparing against one.
- 
- 	* stor-layout.c (layout_decl): Cast maximum_field_alignment to
- 	unsigned when comparing against one.  Likewise for
- 	GET_MODE_ALIGNMENT().
- 	(layout_record): Cast record_align to int when comparing against a
- 	signed value.
- 	(layout_type): Cast TYPE_ALIGN() to int when comparing against a
- 	signed value.
- 
- 	* tree.c (get_identifier): Cast variable `len' to unsigned when
- 	comparing against one.
- 	(maybe_get_identifier): Likewise
- 
- Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (rest_of_compilation): Do not set reload_completed.
- 	* reload1.c (reload): Set reload_completed before calling
- 	cleanup_subreg_operands.
- 
- Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (emit_reload_insns): Check `set' not null before use.
- 
- Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
- 	'int'.
- 
- Tue Dec 22 13:55:44 1998  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* halfpic.c (half_pic_encode): Delete redundant code.
- 
- Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* toplev.c (main): Delete handling of -dM as a preprocessor
- 	option.
- 
- Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* toplev.c (main): Don't emit any warnings when using -dD, -dM, or
- 	-dI, which are handled by the preprocessor.
- 
- Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
- 
- 	* configure.in: Handle Digital UNIX 5.x the same as 4.x.
- 	* i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
- 
- Sun Dec 20 07:39:52 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Dec 19 22:24:22 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Dec 19 21:41:32 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (fatal): Qualify a char* with the `const' keyword.
- 
- 	* genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
- 	write_unit_name, write_eligible_delay, expand_units,
- 	make_length_attrs, write_attr_case, find_attr,
- 	make_internal_attr): Likewise.
- 	* gencheck.c (tree_codes): Likewise.
- 	* gencodes.c (fatal): Likewise.
- 	* genconfig.c (fatal): Likewise.
- 	* genemit.c (fatal): Likewise.
- 	* genextract.c (fatal, walk_rtx, copystr): Likewise.
- 	* genflags.c (fatal): Likewise.
- 	* genopinit.c (fatal, optabs, gen_insn): Likewise.
- 	* genoutput.c (fatal, error, predicates): Likewise.
- 	* genpeep.c (fatal): Likewise.
- 	* genrecog.c (fatal, decision, pred_table, add_to_sequence,
- 	write_tree_1, write_tree, change_state, copystr, indents): Likewise.
- 
- Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (with-fast-fixincludes): Fix whitespace.
- 	* configure: Rebuilt.
- 
- 	* fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
- 	asm() etc. function declarations in __DECC.
- 
- Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* expr.c (emit_move_insn_1): Only emit a clobber if the target
- 	is a pseudo register.
- 
- Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* gcse.c: Include expr.h in order to get the prototype for
- 	get_condition() which is used in delete_null_pointer_checks().
- 
- Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
- 
- Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
- 	(ALL_CFLAGS): Delete SCHED_CFLAGS.
- 
- 1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
- 	';').
- 
- 1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
- 
- 	* i960.md (extend*, zero_extend*): Don't generate rtl that looks
- 	like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
- 	optimizations from the combiner.
- 
- Thu Dec 17 08:27:03 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
- 
- Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (main): Disable optimize_size if a specific
- 	optimization level is requested.  Always set optimization
- 	level to 2 if -Os is specified.
- 
- Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
- 	cpplib.
- 	* cpplib.c (cpp_start_read): If in_fname is not initialized, try to
- 	initialize it using fname.
- 
- 1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (do_include): Treat #include_next in the
- 	primary source file as #include plus warning.  Treat
- 	#include_next in a file included by absolute path as an
- 	error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
- 
- Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c: Don't define MIN/MAX anymore.
- 	* cpplib.c: Likewise.
- 	* machmode.h: Likewise.
- 	* system.h: Provide definitions for MIN/MAX.
- 
- Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* fix-header.c: Don't define xstrdup here.
- 
- Wed Dec 16 05:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (consec_sets_giv): New argument last_consec_insn.
- 	(strength_reduce): Provide / use it.
- 
- Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.h (loop_info): New field 'vtop'.
- 	* loop.c (check_dbra_loop): Use loop_info->vtop rather than
- 	scanning loop for vtop.
- 	* unroll.c (subtract_reg_term, find_common_reg_term): New functions.
- 	(loop_iterations): Use them to determine if loop has a constant
- 	number of iterations.  Set loop_info->vtop.  Don't subtract
- 	common reg term from initial_value and final_value if have a
- 	do-while loop.
- 
- Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
- 
- 	* mn10300.md (bset, bclr): Operand 0 is a read/write operand.
- 
- 	* mn10200.md (abssf2, negsf2): New expanders.
- 
- 	* mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
- 
- Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* integrate.c (copy_rtx_and_substitute): If a SUBREG is
- 	replaced by a CONCAT whose components do not have the same
- 	mode as the original SUBREG, use a new SUBREG to restore the
- 	mode.
- 
- 	* emit-rtl.c (subreg_realpart_p): Cope with subregs containing
- 	multiword complex values.
- 
- 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cppalloc.c: Add xstrdup here.
- 	* cpplib.h: Remove savestring prototype.
- 	* cpplib.c: Remove savestring function. s/savestring/xstrdup/
- 	  throughout.
- 	* cppfiles.c: s/savestring/xstrdup/ throughout.
- 
- 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c: Make all directive handlers read their own
- 	  arguments.
- 	  (struct directive): Remove last two arguments from FUNC
- 	  member prototype. Remove `command_reads_line' member
- 	  entirely.
- 	  (directive_table): Remove initializations of
- 	  command_reads_line flag.  Pretty-print.
- 	  (eval_if_expression, do_define, do_line, do_include,
- 	  do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
- 	  do_else, do_elif, do_sccs, do_assert, do_unassert,
- 	  do_warning): Take only two args.
- 
- 	  (cpp_define): Call do_define with two args and the text to
- 	  define stuffed into a buffer.
- 	  (make_assertion): Call do_assert with two args.
- 	  (handle_directive): Call do_line with two args. Call
- 	  kt->func with two args.  Remove command_reads_line
- 	  processing.
- 	  (do_define, do_undef, do_error, do_warning, do_pragma,
- 	  do_sccs): Read the rest of the line here.
- 	  (do_ident): Gobble rest of line, as cccp does.
- 	  (cpp_undef): New function.
- 	  (cpp_start_read): Call cpp_undef instead of do_undef.
- 
- 1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpphash.h (union hash_value): Remove `keydef' member, add a
- 	  `struct hashnode *aschain' member for #assert.
- 
- 	* cpplib.c (struct tokenlist_list, struct
- 	  assertion_hashnode): Delete structure definitions.
- 	  (assertion_install, assertion_lookup, delete_assertion,
- 	  check_assertion, compare_token_lists, reverse_token_list,
- 	  read_token_list, free_token_list): Delete functions.
- 	  (parse_assertion): New function.
- 	  (cpp_cleanup): Don't destroy the assertion_hashtable.
- 
- 	  (do_assert): Gut and rewrite.  #assert foo (bar) places
- 	  entries for `#foo' and `#foo(bar)' in the macro hash table,
- 	  type T_ASSERT.  The value union's `aschain' member is used
- 	  to chain all answers for a given predicate together.
- 	  (do_unassert): Also rewritten.  Take an un-asserted
- 	  answer off the chain from its predicate and call
- 	  delete_macro on the hashnode, or walk a predicate chain
- 	  calling delete_macro on all the entries.
- 	  (cpp_read_check_assertion): Simply call parse_assertion to
- 	  get the canonical assertion name, and look that up in the
- 	  hash table.
- 
- 	* cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
- 	Removed.
- 
- 	* cpphash.c (install): Use bcopy instead of an explicit loop
- 	  to copy the macro name.
- 
- 	* cppexp.c (cpp_lex): Convert the result of
- 	  cpp_read_check_assertion to a `struct operation' directly;
- 	  don't go through parse_number.
- 
- Tue Dec 15 18:27:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.h (struct induction): Delete times_used member.
- 	* loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
- 	(n_times_used): Rename to n_times_set.  Changed all users.
- 	(scan_loop): Free reg_single_usage before strength reduction.
- 	(record_giv, combine_givs): Remove handling of times_used member.
- 	(combine_givs_used_once): Rename to:
- 	(combine_givs_used_by_other) .  Changed all callers.
- 
- Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
- 	instead of TREE_CODE_CLASS == 't'.
- 	(gen_type_die): Likewise.
- 	(scope_die_for): Ignore FUNCTION_TYPE "scopes".
- 
- Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* real.c (endian): Disable last change unless
- 	HOST_BITS_PER_WIDE_INT is greater than 32.
- 
- Mon Dec 14 17:13:36 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* output.h (force_data_section): New prototype.
- 	* varasm.c (force_data_section): New function to force the
- 	data section, regardless of what in_section thinks.
- 	* dwarf2out.c (output_call_frame_info): Call force_data_section
- 	since varasm may not realize we've changes sections.
- 
- Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes
- 	  after completing reload.
- 
- 	* rtl.texi: Document that REG_RETVAL and REG_LIBCALL are
- 	  deleted after reload.
- 
- Mon Dec 14 01:39:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.h (multiple_sets): Fix prototype.
- 	* rtlanal.c (multiple_sets): Fix return type.
- 
- Sun Dec 13 12:43:58 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Dec 13 01:05:22 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- 1998-12-13  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* protoize.c (fputs): Wrap extern declaration in #ifndef fputs.
- 
- Sun Dec 13 00:24:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (recompute_reg_usage): Add second argument.
- 	* flow.c (recompute_reg_usage): Likewise.
- 	* toplev.c (rest_of_compilation): Supply second argument to
- 	recompute_reg_usage.
- 
- 	* reload1.c (compute_use_by_pseudos): Allow reg_renumber[regno] < 0
- 	after reload.
- 
- Sat Dec 12 23:39:10 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcpu32.
- 	(MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000.
- 	(MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000,
- 	mcpu32 or m5200.
- 
- 	* i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character.
- 
- 	* rtlanal.c (multiple_sets): New function.
- 	* rtl.h (multiple_sets): Declare it.
- 	* local-alloc.c (wipe_dead_reg): Use it.
- 	* global.c (global_conflicts): Likewise.
- 
- Sat Dec 12 22:13:02 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* global.c (record_conflicts): Don't use an array of shorts to
- 	store an array of ints.
- 	(global_conflicts): Likewise.
- 
- Sat Dec 12 16:49:24 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_move): mode_for_size expects
- 	bits, not bytes.  Infer extra alignment from addressof.
- 
- 1998-12-11  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Put small data in the
- 	.sbss section, not .sdata.
- 
- 1998-12-11  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* cccp.c: Do not #include <sys/stat.h> here; this is already done
- 	by "system.h".
- 	* collect2.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c: Likewise.
- 	* getpwd.c: Likewise.
- 	* protoize.c: Likewise.
- 	* toplev.c: Likewise.
- 
- 	* cpplib.h (HOST_WIDE_INT): Get definition from "machmode.h"
- 	and don't try to define it here.
- 	* Makefile.in (cppmain.o): Depend on machmode.h.
- 	(cpplib.o): Likewise.
- 	(cpperror.o): Likewise.
- 	(cppexp.o): Likewise.
- 	(cppfiles.o): Likewise.
- 	(cpphash.o): Likewise.
- 	(cppalloc.o): Likewise.
- 	(fix-header.o): Likewise.
- 	(scan-decls.o): Likewise.
- 
- Fri Dec 11 11:02:49 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* sh.c (print_operand): Lookup interrupt_handler attribute instead
- 	of relying on static variable.
- 	* (calc_live_regs): Likewise.
- 	* (sh_pragma_insert_attributes): Create interrupt_handler
- 	attribute if a pragma was specified.
- 	* (sh_valid_machine_decl_attribute): Don't set static flag.
- 	* sh.h (PRAGMA_INSERT_ATTRIBUTES): New.
- 
- Fri Dec 11 12:56:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine): Use BASIC_BLOCK_LIVE_AT_START
- 	to determine if a register is live at a jump destination.
- 	Everything is dead at a BARRIER.
- 
- Thu Dec 10 16:02:06 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cse.c (simplify_unary_operation): Sign-extend constants when
- 	they have the most significant bit set for the target.
- 	* real.c (endian): Sign-extend 32 bit output values on a 64 bit
- 	host.
- 	* m32r/m32r.c (m32r_expand_prologue): Store pretend_size in
- 	HOST_WIDE_INT temporary before negating it.
- 	* m32r/m32r.md (movsi_insn+1): Use ~0xffff instead of 0xffff0000.
- 
- Thu Dec 10 15:05:59 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* objc/objc-act.c (lang_init_options): Enclose cpplib related code in
- 	#if USE_CPPLIB.
- 
- Thu Dec 10 13:39:46 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.h: New header file for prototypes.
- 
- 	* Makefile.in (collect2.o, tlink.o): Depend on collect2.h.
- 
- 	* collect2.c: Include collect2.h.
- 	* tlink.c: Likewise.
- 
- Wed Dec  9 23:55:11 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c: Update some comments.
- 
- Wed Dec  9 15:29:26 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* objc/objc-act.c (cpp_initialized): Removed.
- 	(lang_init_options): Initialize cpplib.
- 	(lang_decode_option): Move initialization of cpplib to
- 	lang_init_options.
- 	* c-lang.c (parse_options,parse_in): Added.
- 	(lang_init_options): Initialized cpplib here.
- 	* c-decl.c (parse_options,cpp_initialized): Removed.
- 	(c_decode_option): Move initialization of cpplib to
- 	lang_init_options.
- 
- Wed Dec  9 19:36:57 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine, reload_combine_note_store):
- 	Make STORE_RUID always valid.
- 	(reload_combine): Check if BASE is clobbered too early.
- 
- Wed Dec  9 09:53:58 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* reload.c (find_reloads): Display the insn that cannot be
- 	reloaded.
- 
- Wed Dec  9 12:15:26 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cccp.c (create_definition): Fix end of buffer logic.
- 
- Wed Dec  9 10:15:45 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* except.c (duplicate_eh_handlers, rethrow_symbol_map): Function
- 	pointer parameters changed to use the PARAMS() macro.
- 
- Wed Dec  9 09:12:40 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (struct handler_info): Add handler_number field.
- 	* except.c (gen_exception_label): EH labels no longer need to be
- 	on the permanent obstack.
- 	(get_new_handler): Set the label number field.
- 	(output_exception_table_entry): Regenerate handler label reference
- 	from the label number field.
- 	(init_eh): Remove a blank line.
- 	* integrate.c (get_label_from_map): Labels no longer need to be
- 	on the permanent obstack.
- 
- Tue Dec  8 22:04:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i960/i960.h (CONST_COSTS, case CONST_INT): Accept power2_operand
- 	only when OUTER_CODE is SET.
- 
- Tue Dec  8 22:47:15 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): If scan_start points to the loop exit
- 	test, be wary of subversive use of gotos inside expression statements.
- 	Don't set maybe_multiple for a backward jump that does not
- 	include the label under consideration into its range.
- 	* unroll.c (biv_total_increment): Make use of maybe_multiple field.
- 
- Tue Dec  8 22:33:18 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* explow.c (plus_constant_wide): Don't immediately return with
- 	result of recursive call.
- 
- Tue Dec  8 15:32:56 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* eh-common.h (struct eh_context): Add table_index for rethrows.
- 
- 	* rtl.h (enum reg_note): Add REG_EH_REGION and REG_EH_RETHROW reg notes.
- 	(SYMBOL_REF_NEED_ADJUST): New flag indicating symbol needs to be
- 	processed when inlined or unrolled (ie duplicated in some way).
- 
- 	* rtl.c (reg_note_name): Add strings for new reg_note enums.
- 
- 	* expr.h (rethrow_libfunc): New library decl.
- 
- 	* optabs.c (rethrow_libfunc): Initialize.
- 
- 	* except.h (struct eh_entry): Add new field 'rethrow_label'.
- 	(new_eh_region_entry): No longer exported from except.c.
- 	(duplicate_handlers): Renamed to duplicate_eh_handlers and
- 	different prototype.
- 	(rethrow_symbol_map, rethrow_used): New exported functions.
- 	(eh_region_from_symbol): New exported function.
- 
- 	* except.c (create_rethrow_ref): New function to create a single
- 	SYMBOL_REF for a rethrow region.
- 	(push_eh_entry): Initialize a rethrow ref.
- 	(func_eh_entry): Add a rethrow_label field.
- 	(new_eh_region_entry): Make static, and initialize the rethrow entry.
- 	(duplicate_eh_handlers): Create a new region, and remap labels/symbols.
- 	(eh_region_from_symbol): Find an EH region based on its rethrow symbol.
- 	(rethrow_symbol_map): Given a label map, maps a rethrow symbol for
- 	a region into an appropriate new symbol.
- 	(rethrow_used): Indicate whether a rethrow symbol has been referenced.
- 	(expand_eh_region_end): Don't issue jump around code for new-exceptions.
- 	(end_catch_handler): Emit a barrier for new-exceptions since
- 	control can never drop through the end of a catch block.
- 	(expand_end_all_catch): new-exceptions never fall through a catch
- 	block.
- 	(expand_rethrow): Use __rethrow routine for new exceptions.
- 	(output_exception_table_entry): Generate rethrow labels, if needed.
- 	(output_exception_table): Generate start and end rethrow labels.
- 	(init_eh): Create rethrow symbols for beginning and end of table.
- 	(scan_region): Don't eliminate EH regions which are the targets of
- 	rethrows.
- 
- 	* flow.c (make_edges): Add different edges for rethrow calls,
- 	identified by having the REG_EH_RETHROW reg label.
- 	(delete_unreachable_blocks): Don't delete regions markers which are
- 	the target of a rethrow.
- 
- 	* integrate.c (save_for_inline_eh_labelmap): New callback routine to
- 	allow save_for_inline_copying to call duplicate_eh_handlers.
- 	(save_for_inline_copying): Call duplicate_eh_handlers instead of
- 	exposing internal details of exception regions.
- 	(copy_for_inline): Check if SYMBOL_REFs need adjustment.
- 	(expand_inline_function_eh_labelmap): New callback routine to
- 	allow expand_inline_function to call duplicate_eh_handlers.
- 	(expand_inline_function): Call duplicate_eh_handlers instead of
- 	exposing internal details of exception regions.
- 	(copy_rtx_and_substitute): Adjust SYMBOL_REFS if SYMBOL_REF_NEED_ADJUST
- 	flag is set.
- 
- 	* libgcc2.c (find_exception_handler): Generalize to enable it to
- 	pick up processing where it left off last time for a rethrow.
- 	(__unwinding_cleanup): New function. debug hook which is called before
- 	unwinding when __throw finds there is nothing but cleanups left.
- 	(throw_helper): Common parts of __throw extracted out for reuse.
- 	(__throw): Common parts moved to throw_helper.
- 	(__rethrow): New function for performing rethrows.
- 
- Tue Dec  8 13:11:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (current_function_decl): Tweak declaration.
- 
- Tue Dec  8 10:23:52 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (flag_isoc9x): Default off.
- 	(c_decode_option): Kill -std=gnu, add -std=gnu89 and -std=gnu9x.
- 	* cccp.c (print_help, main): Likewise.
- 	* gcc.c (default_compilers): Update for -std=gnu*.
- 
- Tue Dec  8 01:14:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (DEMANGLE_H): Change location to shared demangle.h.
- 	* demangle.h: Deleted.
- 
- 	* reload1.c (current_function_decl): Declare.
- 
- Tue Dec  8 11:58:51 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplib.c (convert_string): Use `0x00ff', not `0x00ffU'.
- 
- Tue Dec  8 09:28:36 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dbxout.c: If USG is defined use gstab.h, even if HAVE_STAB_H is set.
- 
- 1998-12-08  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* configure.in: Test for availability of putc_unlocked, fputc_unlocked,
- 	and fputs_unlocked.
- 	* configure: Rebuilt.
- 	* system.h: If the *_unlocked functions are available use them
- 	instead of the locked counterparts by defining macros.
- 	* config.in: Regenerated.
- 
- Tue Dec  8 00:34:05 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* i386/bsd.h (ASM_FILE_START): Don't use dump_base_name, it is
- 	wrong and should only be used for dump related things, not
- 	debugging information, instead main_input_filename should be used.
- 	Also, reuse output_file_directive if possible.
- 	* i386/aix386ng.h (ASM_FILE_START): Likewise.
- 	* i386/isc.h (ASM_FILE_START): Likewise.
- 	* i386/win-nt.h (ASM_FILE_START): Likewise.
- 	* i386/sun386.h (ASM_FILE_START): Likewise.
- 
- Mon Dec  7 23:56:28 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* configure.in (mips*-*-linux*): Handle big and little endian
- 	systems.
- 	* configure: Rebuilt.
- 
- Mon Dec  7 23:14:51 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* emit-rtl.c: Fix typo.
- 
- Mon Dec  7 23:07:38 1998  Nathan Sidwell  <nathan@acm.org>
- 
- 	* reload1.c (eliminate_regs): Don't do anything, if we're not
- 	generating code.
- 
- Mon Dec  7 15:27:09 1998  DJ Delorie  <dj@cygnus.com>
- 
- 	* mips/mips.h (ENCODE_SECTION_INFO): Handle TARGET_EMBEDDED_DATA.
- 	Add comment.
- 	* mips/mips.c (mips_select_section): Add comment.
- 
- Mon Dec  7 17:55:06 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* cccp.c (ignore_escape_flag): Add support for \ as `natural'
- 	characters in file names in #line to be consistent with #include
- 	handling.  We support escape processing in the # 1 "..." version of
- 	the command.  See also support in cp/lex.c.
- 	(handle_directive): Likewise.
- 	(do_line): Likewise.
- 
- 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (initialize_char_syntax): Use ISALPHA and ISALNUM
- 	  so it'll work on non-ASCII platforms.  Always consider $ an
- 	  identifier character.  Take no arguments.
- 	  (cpp_reader_init): Call initialize_char_syntax with no
- 	  arguments.
- 	  (cpp_start_read): Don't call initialize_char_syntax again.
- 	  Clear is_idchar['$'] and is_idstart['$'] if not
- 	  opts->dollars_in_ident.
- 
- 	* cpplib.h (struct cpp_reader): Replace void *data element by
- 	  cpp_options *opts.  Rearrange elements to make gdb printout
- 	  less annoying (put buffer stack at end).
- 	  (CPP_OPTIONS): Get rid of now-unnecessary cast.
- 
- 	* cppmain.c: s/data/opts/ when initializing cpp_reader
- 	  structure.
- 	* c-decl.c: Likewise.
- 	* objc/objc-act.c: Likewise.
- 	* fix-header.c: Likewise.
- 
- 1998-12-07  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.h (struct cpp_buffer): Replace dir and dlen members
- 	with a struct file_name_list pointer.
- 	(struct cpp_reader): Add pointer to chain of `actual
- 	directory' include searchpath entries.
- 	(struct file_name_list): Add *alloc pointer for the sake of
- 	the actual-directory chain.
- 
- 	Move definition of HOST_WIDE_INT here.
- 	(cpp_parse_escape): Change prototype to match changes in
- 	cppexp.c.
- 
- 	* cppfiles.c (actual_directory): New function.
- 	(finclude): Use it to initialize the buffer's actual_dir
- 	entry.
- 	(find_include_file): We don't need to fix up max_include_len
- 	here.
- 
- 	* cpplib.c (do_include): Don't allocate a file_name_list on
- 	the fly for current directory "" includes, use the one that's
- 	been preallocated in pfile->buffer->actual_dir.  Hoist out
- 	duplicate code from the search_start selection logic.
- 	(cpp_reader_init): Initialize pfile->actual_dirs.
- 
- 	Remove definition of HOST_WIDE_INT.  Change calls
- 	to cpp_parse_escape to match changes in cppexp.c (note
- 	hardcoded MASK, which is safe since this is the source
- 	character set).
- 
- 	* cppexp.c: Bring over changes to cpp_parse_escape from cccp.c
- 	to handle wide character constants in #if directives.  The
- 	function now returns a HOST_WIDE_INT, and takes a third
- 	argument which is a binary mask for all legal values (0x00ff
- 	for 8-bit `char', 0xffff for 16-bit `wchar_t', etc.)  Define
- 	MAX_CHAR_TYPE_MASK and MAX_WCHAR_TYPE_MASK.  Change callers of
- 	cpp_parse_escape to match.  [Fixes c-torture/execute/widechar-1.c]
- 
- Mon Dec  7 15:38:25 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* gcc.c (default_compilers): Fix typo in USE_CPPLIB spec for cc1.
- 
- Mon Dec  7 15:38:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c (concat): Wrap function definition in !USE_CPPLIB.
- 	* cppalloc.c: Move function `xcalloc' from cpplib.c to here.
- 	* cpplib.c: Move function `xcalloc' from here to cppalloc.c.
- 
- Mon Dec  7 11:30:49 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* final.c (output_asm_name): Use tabs to separate comments from
- 	assembly text.
- 
- 	Include instruction lengths (if defined) in output.
- 
- Mon Dec  7 10:53:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (check_dbra_loop): Fix initial_value and initial_equiv_value
- 	in the loop_info structure.
- 
- Mon Dec  7 11:04:40 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* configure.in (arm*-*-ecos-elf): New target.
- 	* configure: Regenerated.
- 	* config/arm/elf.h (ASM_WEAKEN_LABEL): Define.
- 	* config/arm/ecos-elf.h: New file.
- 	* config/arm/unknown-elf.h (TARGET_VERSION): Check
- 	for redefinition.
- 
- Mon Dec  7 16:15:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (output_far_jump): Emit braf only for TARGET_SH2.
- 
- Sun Dec  6 04:19:45 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Dec  6 05:16:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (check_dbra_loop): New argument loop_info.  Update fields
- 	as needed.
- 
- Sun Dec  6 03:40:13 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Dec  6 07:49:29 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* gcc.texi (Bug Reporting): 40Kb is a soft limit, larger
- 	compressed reports are ok and preferred over URLs.
- 
- Sun Dec  6 07:45:33 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* invoke.texi (Warning Options): Soften the tone of -pedantic.
- 
- Sun Dec  6 00:20:44 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* print-rtl.c (print_rtx): Add prototype.
- 
- 	* unroll.c (iteration_info): Make it static.
- 
- Sun Dec  6 01:19:46 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (memrefs_conflict_p): A second ANDed address
- 	disables the aligned address optimization.
- 
- Sat Dec  5 18:48:25 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_set_const_1): Fix parenthesis error
- 	in -c << n case.
- 
- Sat Dec  5 15:14:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* i960.h (BOOL_TYPE_SIZE): Define.
- 
- Sun Dec  6 00:28:16 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (valid_parallel_load_store): Flog functionality
- 	from old valid_parallel_operands_4.
- 	(valid_parallel_operands_4): Check that operands for 4 operand
- 	parallel insns are valid, excluding load/store insns.
- 	* config/c4x/c4x.h (valid_parallel_load_store): Add prototype.
- 	* config/c4x/c4x.md (*movqf_parallel, *movqi_parallel): Use
- 	valid_parallel_load_store instead of valid_parallel_operands_4.
- 	(*absqf2_movqf_clobber, *floatqiqf2_movqf_clobber,
- 	*negqf2_movqf_clobber, *absqi2_movqi_clobber,
- 	*fixqfqi2_movqi_clobber, *negqi2_movqi_clobber,
- 	*notqi_movqi_clobber): Use valid_parallel_operands_4.
- 	(*subqf3_movqf_clobber, *ashlqi3_movqi_clobber,
- 	*ashrqi3_movqi_clobber, *lshrqi3_movqi_clobber,
- 	*subqi3_movqi_clobber): Use valid_parallel_operands_5.
- 
- Sat Dec  5 23:52:01 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (iteration_info): Delete extern.
- 
- Fri Dec  4 20:15:57 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* tm.texi (SMALL_REGISTER_CLASSES): Make description match reality.
- 
- 	* final.c (cleanup_subreg_operands): Delete some unused code.
- 
- 	* recog.h (MAX_RECOG_ALTERNATIVES): New macro.
- 	(struct insn_alternative): New structure definition.
- 	(recog_op_alt): Declare variable.
- 	(preprocess_constraints): Declare function.
- 	* recog.c (recog_op_alt): New variable.
- 	(extract_insn): Verify number of alternatives is in range.
- 	(preprocess_constraints): New function.
- 	* reg-stack.c: Include recog.h.
- 	(constrain_asm_operands): Delete.
- 	(get_asm_operand_lengths): Delete.
- 	(get_asm_operand_n_inputs): New function.
- 	(record_asm_reg_life): Delete OPERANDS, CONSTRAINTS, N_INPUTS and
- 	N_OUTPUTS args.  All callers changed.
- 	Compute number of inputs and outputs here by calling
- 	get_asm_operand_n_inputs.
- 	Instead of constrain_asm_operands, call extract_insn,
- 	constrain_operands and preprocess_constraints.  Use information
- 	computed by these functions throughout.
- 	(record_reg_life): Delete code that is unused due to changes in
- 	record_asm_reg_life.
- 	(subst_asm_stack_regs): Delete OPERANDS, OPERAND_LOC, CONSTRAINTS,
- 	N_INPUTS and N_OUTPUTS args.  All callers changed.
- 	Similar changes as in record_asm_reg_life.
- 	(subst_stack_regs): Move n_operands declaration into the if statement
- 	where it's used.
- 	Delete code that is unused due to changes in subst_asm_stack_regs.
- 	* stmt.c (expand_asm_operands): Verify number of alternatives is in
- 	range.
- 	* Makefile.in (reg-stack.o): Depend on recog.h.
- 
- Fri Dec  4 02:23:24 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* except.c (set_exception_version_code): Argument is an "int".
- 
- Fri Dec  4 01:29:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa2*-*-*): Handle like hppa1.1-*-* for now.
- 	* configure: Rebuilt.
- 
- Fri Dec  4 01:29:28 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* configure.in (mipsel-*-linux*): New target.
- 	* mips/linux.h: New file, based on other Linux targets.
- 
- Thu Dec  3 11:19:50 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* gthr-vxworks.h (__ehdtor): Fix memory leak.  The delete hook
- 	runs in the context of the deleter, not the deletee, so we must
- 	use taskVarGet to find the correct memory to free.
- 	(__gthread_key_create): Initialize the task
- 	variable subsystem so that the task variable is still active when
- 	the delete hook is run.
- 
- 1998-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.h: Use optimize_size for space optimizations.
- 	* pdp11.c: Likewise.
- 	* pdp11.md: Likewise.
- 
- 	* pdp11.h (TARGET_40_PLUS): Fix typo.
- 
- Thu Dec  3 11:48:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* local-alloc.c (block_alloc): Slightly retune heuristic to widen
- 	qty lifetimes.
- 
- Thu Dec  3 22:30:18 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* alias.c (addr_side_effect_eval): New function.
- 	(memrefs_conflict_p): Use it.
- 	* rtl.h (addr_side_effect_eval): Prototype it.
- 
- 1998-12-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* pdp11.md (extendsfdf2): Fix mode mismatch in SET.
- 
- Wed Dec  2 11:23:07 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (find_reloads): When force const to memory, put result
- 	in substed_operand not *recog_operand_loc.
- 
- 1998-12-02  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* c-lex.c: Fix indentation from last patch.
- 	Remove trailing whitespace.
- 	* real.c: Likewise.
- 
- Wed Dec  2 10:11:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (delete_block): Call set_last_insn after we have reset
- 	NEXT_INSN (kept_tail).
- 
- Wed Dec  2 00:47:31 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.md (trap_if): Use "$0" for the value zero.
- 
- Tue Dec  1 20:49:49 1998  Ulrich Drepper  <drepper@cygnus.com>
- 			  Stephen L Moshier  <moshier@world.std.com>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-common.c (declare_function_name): Declare predefined variable
- 	`__func__'.
- 
- 	* c-decl.c (flag_isoc9x): Set to 1 by default.
- 	(c_decode_option): Handle -std= option.  Remove -flang-isoc9x.
- 	(grokdeclarator): Always emit warning about implicit int for ISO C 9x.
- 
- 	* c-parse.in: Allow constructors in ISO C 9x.
- 	Rewrite designator list handling.
- 	Allow [*] parameters.
- 	Don't warn about comma at end of enum definition for ISO C 9x.
- 
- 	* cccp.c (c9x): New variable.
- 	(rest_extension): New variable.
- 	(print_help): Document new -std= option.
- 	(main): Recognize -std= option.  Set c9x appropriately.
- 	(create_definition): Recognize ISO C 9x vararg macros.
- 
- 	* gcc.c (default_compilers): Adjust specs for -std options.
- 	(option_map): Add --std.
- 	(display_help): Document -std.
- 
- 	* toplev.c (documented_lang_options): Add -std and remove
- 	-flang-isoc9x.
- 
- 	* c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF
- 	or REAL_VALUE_HTOF based on base of the constants.
- 	* fold-const.c (real_hex_to_f): New function.  Replacement function
- 	for hex FP conversion if REAL_ARITHMETIC is not defined.
- 	* real.c (asctoeg): Add handling of hex FP constants.
- 	* real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or
- 	real_hex_to_f.
- 
- Tue Dec  1 16:45:49 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* mips.md (divmodsi4*, divmoddi4*, udivmodsi4*, udivmoddi4): Add
- 	-mcheck-range-division/-mcheck-zero-division checking.  Avoid as macro
- 	expansion.  Use hi/lo as destination register.
- 	(div_trap): New.
- 	(divsi3*, divdi3*, modsi3*, moddi3*, udivsi3*, udivdi3*, umodsi3*,
- 	umoddi3*): Add -mcheck-range-division/-mcheck-zero-division checking.
- 	Avoid as macro expansion.  Use hi/lo as destination register.
- 
- 	* mips.h (MASK_CHECK_RANGE_DIV): New.
- 	(MASK_NO_CHECK_ZERO_DIV): New.
- 	(ELIMINABLE_REGS): Added GP_REG_FIRST + 31.
- 	(CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): Allow for getting
- 	return address for leaf functions out of r31 to support
- 	builtin_return_address.
- 
- Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* jump.c (jump_optimize): Call regs_set_between_p with PREV_INSN(x),
- 	NEXT_INSN(x) to check insn x.
- 
- Tue Dec  1 15:20:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (delete_block): Call set_last_insn if we end up deleting the
- 	last insn in the rtl chain.
- 
- 	* reload1.c (reload): Do not set reload_completed or split insns
- 	here.  Instead...
- 	* toplev.c (rest_of_compilation): Set reload_completed after
- 	reload returns.  Split insns after reload_cse has run.
- 
- Tue Dec  1 11:55:04 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* final.c (final_scan_insn): Abort if block_depth falls below 0.
- 
- Tue Dec  1 10:23:16 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/t-arm-elf (LIBGCC2_CFLAGS): Define inhibit_libc.
- 
- Tue Dec  1 10:22:18 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/unknown-elf.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove
- 	use of user-label_prefix.
- 
- Tue Dec  1 17:58:26 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (emit_reload_insns): Clear spill_reg_store
- 	when doing a new non-inherited reload from the same pseudo.
- 
- 	* local-alloc.c (function_invariant_p): New function.
- 	(update_equiv_regs): Use function_invariant_p instead of CONSTANT_P
- 	to decide if an equivalence should be recorded.
- 	* reload1.c (num_eliminable_invariants): New static variable.
- 	(reload): Set it.  Use function_invariant_p instead of CONSTANT_P
- 	to decide if an equivalence should be recorded.
- 	Unshare PLUS.
- 	(calculate_needs_all_insns): Skip insns that only set an equivalence.
- 	Take num_eliminable_invariants into account when deciding
- 	if register elimination should be done.
- 	(reload_as_needed): Take num_eliminable_invariants into account
- 	when deciding if register elimination should be done.
- 	(eliminate_regs): Handle non-constant reg_equiv_constant.
- 	* rtl.h (function_invariant_p): Declare.
- 
- Mon Nov 30 02:00:08 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Nov 30 00:42:59 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Nov 29 22:59:40 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* except.c (add_new_handler): Complain about additional handlers
- 	after one that catches everything.
- 
- Sat Nov 28 10:56:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (alpha*-*-netbsd): Fix typo.
- 	* configure: Rebuilt.
- 
- Fri Nov 27 12:28:56 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Include libiberty.h.
- 
- 	* c-aux-info.c: Remove prototypes for concat/concat3.  Change
- 	function `concat' from fixed parameters to variable parameters,
- 	as is done in libiberty.  All callers of concat/concat3
- 	changed to use the new `concat' with variable args.
- 
- 	* cccp.c: Remove things made redundant by libiberty.h and/or
- 	conform to libiberty standards.
- 	* cexp.y: Likewise.
- 	* collect2.c: Likewise.
- 	* config/1750a/1750a.h: Likewise.
- 	* cppalloc.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpphash.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* dyn-string.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c: Likewise.
- 	* genattr.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* gencodes.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* getpwd.c: Likewise.
- 	* halfpic.c: Likewise.
- 	* hash.c: Likewise.
- 	* mips-tdump.c: Likewise.  Wrap malloc/realloc/calloc prototypes
- 	in NEED_DECLARATION_* macros.
- 
- 	* mips-tfile.c: Remove things made redundant by libiberty.h and/or
- 	conform to libiberty standards.
- 	(fatal): Fix const-ification of variable `format' in
- 	!ANSI_PROTOTYPES case.
- 
- 	* prefix.c: Remove things made redundant by libiberty.h and/or
- 	conform to libiberty standards.
- 
- 	* print-rtl.c: Rename variable `spaces' to `xspaces' to avoid
- 	conflicting with function `spaces' from libiberty.
- 
- 	* profile.c: Remove things made redundant by libiberty.h and/or
- 	conform to libiberty standards.
- 	* protoize.c: Likewise.
- 	* rtl.h: Likewise.
- 	* scan.h: Likewise.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 	* toplev.h: Likewise.
- 	* tree.h: Likewise.
- 
- Thu Nov 26 08:38:06 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppfiles.c (simplify_pathname): Un-ANSI-fy function definition.
- 
- Thu Nov 26 23:45:37 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* README.C4X: Updated URLs.
- 	* config/c4x/c4x.c (c4x_address_conflict): Fix typo.
- 	(valid_parallel_operands_5): Remove unused variable.
- 
- Thu Nov 26 23:40:03 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (TARGET_DEFAULT): Fix typo.
- 
- 1998-11-26  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* Makefile.in (CONFIG_LANGUAGES): New macro taking all languages
- 	which can be configured.
- 	(LANGUAGES): Use $(CONFIG_LANGUAGES) instead of @all_languages@
- 	(Makefile): Pass actual LANGUAGES through the environment when
- 	re-configuring.
- 	(cstamp-h): Likewise.
- 	(config.status): Likewise.
- 
- 	* configure.in (enable_languages): Add new configuration parameter
- 	"--enable-languages=lang1,lang2,...".
- 	(${srcdir}/*/config-lang.in): Change handling to configure only
- 	those directories, that the user might have enabled; default to
- 	"all" existing languages.
- 	* configure: Regenerate.
- 
- Thu Nov 26 00:19:19 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (regs_set_between_p): New function.
- 	* rtl.h (regs_set_between_p): Prototype it.
- 	* jump.c (jump_optimize): Use it instead of modified_between_p
- 	in the Sep 2 change.
- 
- Wed Nov 25 23:32:02 1998  Ian Dall  <Ian.Dall@dsto.defence.gov.au>
- 			  Matthias Pfaller  <leo@dachau.marco.de>
- 
- 	* invoke.texi (Option Summary, NS32K Options): Add description
- 	of NS32K specific options.
- 
- 	* ns32k.md (tstdf, cmpdf, movdf, truncdfsf2, fixdfqi2, fixdfhi2,
- 	fixdfsi2, fixunsdfqi2, fixunsdfhi2, fixunsdfsi2, fix_truncdfqi2,
- 	fix_truncdfhi2, fix_truncdfsi2, adddf3, subdf3, muldf3, divdf3,
- 	negdf2, absdf2): Use l instead of f since the double class and
- 	float class are no longer the same.
- 	(cmpsi, truncsiqi2, truncsihi2, addsi3, subsi3, mulsi3, umulsidi3,
- 	divsi3, modsi3, andsi3, iorsi3, xorsi3, negsi2, one_cmplsi2,
- 	ashlsi3, ashlhi3, ashlqi3, rotlsi3, rotlhi3, rotlqi3, abssi2,...):
- 	Use "g" instead of "rmn" since LEGITIMATE_PIC_OPERAND has been
- 	fixed.
- 	(cmpsi, cmphi, cmpqi): Use general_operand instead of
- 	non_immediate_operand. Removes erroneous assumption that can't
- 	compare constants.
- 	(movsf, movsi, movhi, movqi,...): New register numbering scheme.
- 	(movsi, addsi3): Use NS32K_DISPLACEMENT_P instead of hard coded
- 	constants.
- 	(movstrsi, movstrsi1, movstrsi2): Completely new block move
- 	scheme.
- 	(...): Patterns to exploit multiply-add instructions.
- 	(udivmodsi4, udivmodsi_internal4, udivmodhi4,
- 	udivmoddihi4_internal, udivmodqi4, udivmoddiqi4_internal): New
- 	patterns to exploit extended divide insns.
- 	(udivsi3, udivhi3, udivqi3): Remove since superseded by udivmodsi
- 	etc patterns.
- 
- 	* ns32k.h (FUNCTION_VALUE, LIBCALL_VALUE): Use f0 for complex
- 	float return values as well as simple scalar floats.
- 	(TARGET_32381, TARGET_MULT_ADD, TARGET_SWITCHES):
- 	Support new flag to denote 32381 fpu.
- 	(OVERRIDE_OPTIONS): 32381 is a strict superset of 32081.
- 	(CONDITIONAL_REGISTER_USAGE): Disable extra 32381 registers if not
- 	compiling for 32381.
- 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
- 	REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES, OUTPUT_REGISTER_NAMES,
- 	REG_ALLOC_ORDER, DBX_REGISTER_NUMBER, R0_REGNUM, F0_REGNUM,
- 	L1_REGNUM, STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
- 	LONG_FP_REGS_P, ARG_POINTER_REGNUM, reg_class, REG_CLASS_NAMES,
- 	REG_CLASS_CONTENTS, SUBSET_P,REGNO_REG_CLASS,
- 	REG_CLASS_FROM_LETTER, FUNCTION_PROLOGUE, FUNCTION_EPILOGUE,
- 	REGNO_OK_FOR_INDEX_P, FP_REG_P, REG_OK_FOR_INDEX_P,
- 	REG_OK_FOR_BASE_P, MEM_REG): New register scheme to include 32381
- 	fpu registers and special register classes for new 32381
- 	instructions dotf and polyf.
- 	(MODES_TIEABLE_P): Allow all integer modes, notably DI and SI, to
- 	be tieable.
- 	(INCOMING_RETURN_ADDR_RTX, RETURN_ADDR_RTX,
- 	INCOMING_FRAME_SP_OFFSET): New macros in case DWARF support is
- 	required.
- 	(SMALL_REGISTER_CLASSES): Make dependent on -mmult-add option.
- 	(MOVE_RATIO): Set to zero because of smart movstrsi implementation.
- 	(REGISTER_MOVE_COST): Move code to register_move_cost function for
- 	ease of coding and debugging.
- 	(CLASS_LIKELY_SPILLED_P): Under new register scheme class
- 	LONG_FLOAT_REGO is likely spilled but not caught by default
- 	definition.
- 	(CONSTANT_ADDRESS_P, CONSTANT_ADDRESS_NO_LABEL_P): Use macro
- 	instead of hard coded numbers in range check.
- 	(ASM_OUTPUT_LABELREF_AS_INT): Delete since unused.
- 	(...): Add prototypes for functions in ns32k.c but disable because
- 	of problems when ns32k.h is included in machine independent files.
- 
- 	* ns32k.c: Include "system.h", "tree.h", "expr.h", "flags.h".
- 	(ns32k_reg_class_contents, regcass_map, ns32k_out_reg_names,
- 	hard_regno_mode_ok, secondary_reload_class,
- 	print_operand, print_operand_address): New register scheme to
- 	include 32381 fpu registers and special register classes for new
- 	32381 instructions dotf and polyf.
- 	(gen_indexed_expr): Make static to keep namespace clean.
- 	(check_reg): Remove since never called.
- 	(move_tail, expand_block_move): Helper functions for "movstrsi"
- 	block move insn.
- 	(register_move_cost): Helper function for REGISTER_MOVE_COST macro.
- 	Increase cost of moves which go via memory.
- 	* netbsd.h (TARGET_DEFAULT): Set (new) 32381 fpu flag.
- 	(CPP_PREDEFINES): No longer predefine "unix".
- 
- 	* ns32k.md (movsi, movsi, adddi3, subdi3, subsi3, subhi3, subqi3,...):
- 	Remove erroneous %$. print_operand() can work out from the rtx is
- 	an immediate prefix is required.
- 
- 	* ns32k.h (RETURN_POPS_ARGS, VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE, COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Support for -mrtd calling
- 	convention.
- 	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST): Correct handling of
- 	pic operands.
- 
- 	* ns32k.c (symbolic_reference_mentioned_p, print_operand):
- 	Correct handling of pic operands.
- 	(ns32k_valid_decl_attribute_p, ns32k_valid_type_attribute_p,
- 	ns32k_comp_type_attributes, ns32k_return_pops_args): Support for
- 	-mrtd calling convention.
- 
- Wed Nov 25 23:42:20 1998  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (option_map): Recognize --output-class-directory.
- 
- Thu Nov 26 18:26:21 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.h (precondition_loop_p): Added new mode argument.
- 	* unroll.c (precondition_loop_p): Likewise.
- 	(approx_final_value): Function deleted and subsumed
- 	into loop_iterations.
- 	(loop_find_equiv_value): New function.
- 	(loop_iterations): Use loop_find_equiv_value to find increments
- 	too large to be immediate constants.  Also use it to find terms
- 	common to initial and final iteration values that can be removed.
- 
- Thu Nov 26 18:05:04 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.h (struct loop_info): Define new structure.
- 	(precondition_loop_p): Added prototype.
- 	(unroll_loop): Added new argument loop_info to prototype.
- 	(final_biv_value, final_giv_value): Added new argument n_iterations
- 	to prototype.
- 	* loop.c (strength_reduce): Declare new structure loop_iteration_info
- 	and new pointer loop_info.
- 	(loop_n_iterations): Replace global variable by element in
- 	loop_info structure.
- 	(check_final_value): New argument n_iterations.
- 	(insert_bct): New argument loop_info.
- 	(loop_unroll_factor): Replace global array by element in
- 	loop_info structure.
- 	(loop_optimize): Remove code to allocate and initialize
- 	loop_unroll_factor_array.
- 	* unroll.c (precondition_loop_p): No longer static since
- 	used by branch on count optimization.
- 	(precondition_loop_p, unroll_loop): New argument loop_info.
- 	(final_biv_value, final_giv_value, find_splittable_regs): New
- 	argument n_iterations.
- 	(loop_iteration_var, loop_initial_value, loop_increment,
- 	loop_final_value, loop_comparison_code, loop_unroll_factor):
- 	Replaced global variables by loop_info structure.
- 	(loop_unroll_factor): Replace global array by element in
- 	loop_info structure.
- 
- Thu Nov 26 17:49:29 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (check_dbra_loop): Update JUMP_LABEL field of jump insn
- 	when loop reversed.
- 
- 	* unroll.c (precondition_loop_p): Return loop_initial_value
- 	for initial_value instead of loop_iteration_var.
- 
- Thu Nov 26 17:15:38 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md: Fix minor formatting problems.  Update docs.
- 	(*b, *b_rev, *b_noov, *b_noov_rev, *db,
- 	decrement_and_branch_until_zero, rptb_end): Use c4x_output_cbranch
- 	to output the instruction sequences.
- 	(rpts): Delete.
- 	(rptb_top): Provide alternatives to use any register or memory
- 	for loop counter.
- 	(rptb_end): Emit use of operands rather than assigning them
- 	explicitly to the RS and RE registers.
- 
- Thu Nov 26 16:37:59 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_modified_between_p, c4x_mem_set_p,
- 	c4x_mem_set_p, c4x_mem_modified_between_p, c4x_insn_moveable_p,
- 	c4x_parallel_pack, c4x_parallel_find, c4x_update_info_reg,
- 	c4x_update_info_regs, c4x_copy_insn_after, c4x_copy_insns_after,
- 	c4x_merge_notes, c4x_parallel_process,
- 	c4x_combine_parallel_independent, c4x_combine_parallel_dependent,
- 	c4x_combine_parallel): Delete.
- 
- Thu Nov 26 15:16:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_override_options): For compatibility
- 	with old target options clear flag_branch_on_count_reg if
- 	-mno-rptb specified and set flag_argument_alias is -mno-aliases
- 	specified.
- 	(c4x_output_cbranch): Handle a sequence of insns rather than a
- 	single insn.
- 	(c4x_rptb_insert): Do not emit a RPTB insn if the RC register
- 	has not been allocated as the loop counter.
- 	(c4x_address_conflict): Do not allow two volatile memory references.
- 	(valid_parallel_operands_4, valid_parallel_operands_5,
- 	valid_parallel_operands_6): Reject pattern if the register destination
- 	of the first set is used as part of an address in the second set.
- 
- Thu Nov 26 14:56:32 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (TARGET_DEFAULT): Add PARALEL_MPY_FLAG.
- 	(TARGET_SMALL_REG_CLASS): Set to 0 so that SMALL_REGISTER_CLASSES
- 	is no longer enabled if PARALLEL_MPY_FLAG set.
- 	(HARD_REGNO_CALL_CLOBBERED): Add parentheses to remove ambiguity.
- 	(REG_CLASS_CONTENTS): Add braces around initializers.
- 	(HAVE_MULTIPLE_PACK): Define.
- 	(ASM_OUTPUT_BYTE_FLOAT): Use %lf format specifier with
- 	REAL_VALUE_TO_DECIMAL.
- 	(ASM_OUTPUT_SHORT_FLOAT): Use %lf format specifier with
- 	REAL_VALUE_TO_DECIMAL.
- 	(ar0_reg_operand): Add prototype.
- 	(ar0_mem_operand): Likewise.
- 	(ar1_reg_operand): Likewise.
- 	(ar1_mem_operand): Likewise.
- 	(ar2_reg_operand): Likewise.
- 	(ar2_mem_operand): Likewise.
- 	(ar3_reg_operand): Likewise.
- 	(ar3_mem_operand): Likewise.
- 	(ar4_reg_operand): Likewise.
- 	(ar4_mem_operand): Likewise.
- 	(ar5_reg_operand): Likewise.
- 	(ar5_mem_operand): Likewise.
- 	(ar6_reg_operand): Likewise.
- 	(ar6_mem_operand): Likewise.
- 	(ar7_reg_operand): Likewise.
- 	(ar7_mem_operand): Likewise.
- 	(ir0_reg_operand): Likewise.
- 	(ir0_mem_operand): Likewise.
- 	(ir1_reg_operand): Likewise.
- 	(ir1_mem_operand): Likewise.
- 	(group1_reg_operand): Likewise.
- 	(group1_mem_operand): Likewise.
- 	(ir1_reg_operand): Likewise.
- 	(arx_reg_operand): Likewise.
- 	(not_rc_reg): Likewise.
- 	(not_modify_reg): Likewise.
- 	(c4x_group1_reg_operand): Remove prototype.
- 	(c4x_group1_mem_operand): Likewise.
- 	(c4x_arx_reg_operand): Likewise.
- 
- Wed Nov 25 19:02:55 1998  (Stephen L Moshier)  <moshier@world.std.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Remove earlier change.
- 	* real.c (make_nan): Make SIGN arg actually specify the sign bit.
- 
- Thu Nov 26 14:12:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (addqi3): Emit addqi3_noclobber pattern
- 	during reload.
- 
- Wed Nov 25 22:05:28 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* config/sh/lib1funcs.asm (___udivsi3_i4): Don't switch to sz == 1
- 	unless FMOVD_WORKS is defined.
- 
- Wed Nov 25 20:11:04 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regclass.c (init_reg_sets): Move code that calculates tables
- 	dependent on reg_class_contents from here...
- 	(init_reg_sets_1): To here.
- 
- Wed Nov 25 14:54:46 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.h: Delete struct import_file.  Add ihash element to
- 	struct cpp_buffer.  Delete dont_repeat_files and
- 	import_hash_table elements from cpp_reader; change
- 	all_include_files to a hash table.  Delete all foobar_include
- 	/ last_foobar_include elements from struct cpp_options; put
- 	back four such: quote_include, bracket_include,
- 	system_include, after_include.  Redo struct file_name_list
- 	completely.  Add new structure type include_hash.  Add
- 	prototypes for merge_include_chains and include_hash.  Change
- 	prototypes for finclude, find_include_file, and
- 	append_include_chain to match changes below.
- 
- 	* cppfiles.c (simplify_pathname, include_hash,
- 	remap_filename, merge_include_chains): New functions.
- 	(add_import, lookup_import, open_include_file): Removed.
- 	(INO_T_EQ): Define this (copied from cccp.c).
- 	(hack_vms_include_specification): Remove all calls and #if 0
- 	out the definition.  It was being called incorrectly and at
- 	the wrong times.  Until a VMSie can look at this, it's better
- 	to not pretend to support it.
- 	(append_include_chain): Change calling convention; now takes
- 	only one directory at a time, and sets up the data structure
- 	itself.
- 	(redundant_include_p): Rewritten - this is now used for all
- 	include redundancy, whether by #ifndef, #import, or #pragma
- 	once.  Looks up things in the include hash table.
- 	(file_cleanup): Decrement pfile->system_include_depth here if
- 	it's >0.
- 	(find_include_file): Calling convention changed; now passes
- 	around a struct include_hash instead of 3 separate parameters.
- 	Guts ripped out and replaced with new include_hash mechanism.
- 	(finclude): Calling convention changed as for
- 	find_include_file.  Error exits pulled out-of-line.  Reformat.
- 	(safe_read): Return a long, not an int.
- 	(deps_output): Don't recurse.
- 
- 	* cpplib.c (is_system_include): Deleted.
- 	(path_include): Fix up call to append_include_chain.
- 	(do_include): Fix up calls to find_include_file and finclude.
- 	Clean up dependency output a bit.  Shorten obnoxiously lengthy
- 	#import warning message.  Don't decrement
- 	pfile->system_include_depth here.
- 	(do_pragma): Understand the include_hash structure.  Reformat.
- 	(do_endif): Correct handling of control macros.  Understand
- 	the include_hash.
- 	(cpp_start_read): Fix up calls to finclude.  Call
- 	merge_include_chains.
- 	(cpp_handle_option): Fix up calls to append_include_chain.
- 	Understand the four partial include chains.
- 	(cpp_finish): Add debugging code (#if 0-ed out) for the
- 	include_hash.
- 	(cpp_cleanup): Free the include_hash, not the import hash and
- 	the all_include and dont_repeat lists which no longer exist.
- 
- Wed Nov 25 11:26:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (no_new_pseudos): Define.
- 	(rest_of_compilation): Set no_new_pseudos as needed.
- 	* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
- 	if no_new_pseudos is set.
- 	* rtl.h (no_new_pseudos): Declare it.
- 	* reload1.c (reload): Update comments.
- 	* md.texi: Corresponding changes.
- 
- Wed Nov 25 11:26:17 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
- 	(choose_reload_regs): Rename it here as well.  When computing it,
- 	also merge in used hardregs.
- 
- 1998-11-25  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* gcc.c: Split out Objective-C specs to...
- 	* objc/lang-specs.h: here. (New file.) Make the specs cpplib
- 	aware.
- 
- 	* c-lex.c (init_parse): Always initialize the filename global.
- 	* objc/objc-act.c (lang_init): Always call check_newline at
- 	beginning of file.
- 
- Wed Nov 25 00:48:29 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* reload1.c (reload): Remove unused variable.
- 	(reload_reg_free_for_value_p): Add missing parameter definition.
- 
- 	* jump.c (jump_optimize): Remove unused variable.
- 
- Wed Nov 25 00:07:11 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (graph.o): Depend on $(RTL_H), not rtl.h.
- 
- 	* cse.c (fold_rtx): Make autoincrement addressing mode tests be
- 	runtime selectable.
- 	* expr.c (move_by_pieces): Similarly.
- 	(move_by_pieces_1, clear_by_pieces, clear_by_pieces_1): Similarly.
- 	* flow.c (find_auto_inc): Similarly.
- 	(try_pre_increment): Similarly.
- 	* loop.c (strength_reduce): Similarly.
- 	* regclass.c (auto_inc_dec_reg_p): Similarly.
- 	* regmove.c (try_auto_increment): Similarly.
- 	(fixup_match_1): Similarly.
- 	* rtl.h (HAVE_PRE_INCREMENT): Define if not already defined.
- 	(HAVE_PRE_DECREMENT): Similarly.
- 	(HAVE_POST_INCREMENT, HAVE_POST_DECREMENT): Similarly.
- 	* Corresponding changes to all target header files.
- 	* tm.texi: Update docs for autoinc addressing modes.
- 
- Tue Nov 24 20:24:59 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (m68020-*-elf*, m68k-*-elf*): New targets.
- 	* configure: Rebuild.
- 	* config/elfos.h: New file.
- 	* config/m68k/m68020-elf.h, config/m68k/m68kelf.h,
- 	config/m68k/t-m68kelf: New file.
- 
- Tue Nov 24 13:40:06 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (HOST_AR): Define.
- 	(HOST_AR_FLAGS, HOST_RANLIB, HOST_RANLIB_TEST): Similarly.
- 	(libcpp.a): Use the host tools explicitly.
- 	(STAGESTUFF): Add libcpp.a.
- 
- Tue Nov 24 09:33:49 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.md (movstrsi_internal): Describe changes made
- 	to source and destination registers.
- 
- Mon Nov 23 20:28:02 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* libgcc2.c (top_elt): Remove top_elt, it isn't thread safe.
- 	The strategy we now use is to pre allocate the top_elt along
- 	with the EH context so that each thread has its own top_elt.
- 	This is necessary as the dynamic cleanup chain is used on the
- 	top element of the stack and each thread MUST have its own.
- 	(eh_context_static): Likewise.
- 	(new_eh_context): Likewise.
- 	(__sjthrow): Likewise.
- 
- Mon Nov 23 20:25:03 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Wrap in do...while.
- 	* i386.md (prologue_get_pc): Remove unused variable.
- 
- Mon Nov 23 17:05:40 1998  Geoffrey Noer  <noer@cygnus.com>
- 
- 	* i386/xm-cygwin.h: Rename cygwin_ path funcs back to cygwin32_.
- 
- Mon Nov 23 16:40:00 1998  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* Makefile.in (OBJS): Add graph.o.
- 	(graph.o): New dependency list.
- 	* flags.h: Declare dump_for_graph and define graph_dump_types type.
- 	* print-rtl.c (dump_for_graph): Define new variable.
- 	(print_rtx): Rewrite to allow use in graph dumping functions.
- 	* toplev.c: Declare print_rtl_graph_with_bb, clean_graph_dump_file,
- 	finish_graph_dump_file.
- 	Define graph_dump_format.
- 	(compile_file): If graph dumping is enabled also clear these files.
- 	Finish graph dump files.
- 	(rest_of_compilation): Also dump graph information if enabled.
- 	(main): Recognize -dv to enabled VCG based graph dumping.
- 	* graph.c: New file.  Graph dumping functions.
- 
- Mon Nov 23 16:39:04 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Look for <sys/stat.h>.
- 	* system.h: Include it before substitute S_ISREG definitions.
- 
- Mon Nov 23 17:40:37 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/abi.h: Use ABI_O64, duplicating ABI_32 usage.
- 	* config/mips/iris6.h: Same.
- 	* config/mips/mips.md: Same.
- 	* config/mips/mips.c: Same; also add "-mabi=o64" option.
- 	* config/mips/mips.h: Same; also define ABI_O64.
- 
- Mon Nov 23 17:02:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	*  configure.in: Use AC_PREREQ(2.12.1).
- 
- Mon Nov 23 10:16:38 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
- 
- 	* cccp.c (S_ISREG, S_ISDIR): Delete defines.
- 	* cpplib.c, gcc.c: Likewise.
- 	* system.h (S_ISREG, S_ISDIR): Define if not already defined.
- 
- Mon Nov 23 09:53:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* local-alloc.c (local_alloc): Use malloc not alloca for
- 	reg_qty, reg_offset, ref_next_in_qty.
- 
- Mon Nov 23 16:46:46 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* caller-save.c (insert_one_insn): Initialize the live_before and
- 	live_after register sets.
- 
- 	Add SH4 support:
- 
- 	* config/sh/lib1funcs.asm (___movstr_i4_even, ___movstr_i4_odd): Define.
- 	(___movstrSI12_i4, ___sdivsi3_i4, ___udivsi3_i4): Define.
- 	* sh.c (reg_class_from_letter, regno_reg_class): Add DF_REGS.
- 	(fp_reg_names, assembler_dialect): New variables.
- 	(print_operand_address): Handle SUBREGs.
- 	(print_operand): Added 'o' case.
- 	Don't use adj_offsettable_operand on PRE_DEC / POST_INC.
- 	Name of FP registers depends on mode.
- 	(expand_block_move): Emit different code for SH4 hardware.
- 	(prepare_scc_operands): Use emit_sf_insn / emit_df_insn as appropriate.
- 	(from_compare): Likewise.
- 	(add_constant): New argument last_value.  Changed all callers.
- 	(find_barrier): Don't try HImode load for FPUL_REG.
- 	(machine_dependent_reorg): Likewise.
- 	(sfunc_uses_reg): A CLOBBER cannot be the address register use.
- 	(gen_far_branch): Emit a barrier after the new jump.
- 	(barrier_align): Don't trust instruction lengths before
- 	fixing up pcloads.
- 	(machine_dependent_reorg): Add support for FIRST_XD_REG .. LAST_XD_REG.
- 	Use auto-inc addressing for fp registers if doubles need to
- 	be loaded in two steps.
- 	Set sh_flag_remove_dead_before_cse.
- 	(push): Support for TARGET_FMOVD.  Use gen_push_fpul for fpul.
- 	(pop): Support for TARGET_FMOVD.  Use gen_pop_fpul for fpul.
- 	(calc_live_regs): Support for TARGET_FMOVD.  Don't save FPSCR.
- 	Support for FIRST_XD_REG .. LAST_XD_REG.
- 	(sh_expand_prologue): Support for FIRST_XD_REG .. LAST_XD_REG.
- 	(sh_expand_epilogue): Likewise.
- 	(sh_builtin_saveregs): Use DFmode moves for fp regs on SH4.
- 	(initial_elimination_offset): Take TARGET_ALIGN_DOUBLE into account.
- 	(arith_reg_operand): FPUL_REG is OK for SH4.
- 	(fp_arith_reg_operand, fp_extended_operand): New functions.
- 	(tertiary_reload_operand, fpscr_operand): Likewise.
- 	(commutative_float_operator, noncommutative_float_operator): Likewise.
- 	(binary_float_operator, get_fpscr_rtx, emit_sf_insn): Likewise.
- 	(emit_df_insn, expand_sf_unop, expand_sf_binop): Likewise.
- 	(expand_df_unop, expand_df_binop, expand_fp_branch): Likewise.
- 	(emit_fpscr_use, mark_use, remove_dead_before_cse): Likewise.
- 	* sh.h (CPP_SPEC): Add support for -m4, m4-single, m4-single-only.
- 	(CONDITIONAL_REGISTER_USAGE): Likewise.
- 	(HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, FMOVD_BIT): Define.
- 	(TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARWARD): Define.
- 	(TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH4, TARGET_FMOVD): Define.
- 	(target_flag): Add -m4, m4-single, m4-single-only, -mfmovd.
- 	(OPTIMIZATION_OPTIONS): If optimizing, set flag_omit_frame_pointer
- 	to -1 and sh_flag_remove_dead_before_cse to 1.
- 	(ASSEMBLER_DIALECT): Define to assembler_dialect.
- 	(assembler_dialect, fp_reg_names): Declare.
- 	(OVERRIDE_OPTIONS): Add code for TARGET_SH4.
- 	Hide names of registers that are not accessible.
- 	(CACHE_LOG): Take TARGET_CACHE32 into account.
- 	(LOOP_ALIGN): Take TARGET_HARWARD into account.
- 	(FIRST_XD_REG, LAST_XD_REG, FPSCR_REG): Define.
- 	(FIRST_PSEUDO_REGISTER: Now 49.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Include values for registers.
- 	(HARD_REGNO_NREGS): Special treatment of FIRST_XD_REG .. LAST_XD_REG.
- 	(HARD_REGNO_MODE_OK): Update.
- 	(enum reg_class): Add DF_REGS and FPSCR_REGS.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REG_ALLOC_ORDER): Likewise.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Update.
- 	(CLASS_CANNOT_CHANGE_SIZE, DEBUG_REGISTER_NAMES): Define.
- 	(NPARM_REGS): Eight floating point parameter registers on SH4.
- 	(BASE_RETURN_VALUE_REG): SH4 also passes double values
- 	in floating point registers.
- 	(GET_SH_ARG_CLASS): Likewise.
- 	Complex float types are also returned in float registers.
- 	(BASE_ARG_REG): Complex float types are also passes in float registers.
- 	(FUNCTION_VALUE): Change mode like PROMOTE_MODE does.
- 	(LIBCALL_VALUE): Remove trailing semicolon.
- 	(ROUND_REG): Round when double precision value is passed in floating
- 	point register(s).
- 	(FUNCTION_ARG_ADVANCE): No change wanted for SH4 when things are
- 	passed on the stack.
- 	(FUNCTION_ARG): Little endian adjustment for SH4 SFmode.
- 	(FUNCTION_ARG_PARTIAL_NREGS): Zero for SH4.
- 	(TRAMPOLINE_ALIGNMENT): Take TARGET_HARWARD into account.
- 	(INITIALIZE_TRAMPOLINE): Emit ic_invalidate_line for TARGET_HARWARD.
- 	(MODE_DISP_OK_8): Not for SH4 DFmode.
- 	(GO_IF_LEGITIMATE_ADDRESS): No base reg + index reg for SH4 DFmode.
- 	Allow indexed addressing for PSImode after reload.
- 	(LEGITIMIZE_ADDRESS): Not for SH4 DFmode.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Handle SH3E SFmode.
- 	Don't change SH4 DFmode nor PSImode RELOAD_FOR_INPUT_ADDRESS.
- 	(DOUBLE_TYPE_SIZE): 64 for SH4.
- 	(RTX_COSTS): Add PLUS case.
- 	Increase cost of ASHIFT, ASHIFTRT, LSHIFTRT case.
- 	(REGISTER_MOVE_COST): Add handling of R0_REGS, FPUL_REGS, T_REGS,
- 	MAC_REGS, PR_REGS, DF_REGS.
- 	(REGISTER_NAMES): Use fp_reg_names.
- 	(enum processor_type): Add PROCESSOR_SH4.
- 	(sh_flag_remove_dead_before_cse): Declare.
- 	(rtx_equal_function_value_matters, fpscr_rtx, get_fpscr_rtx): Declare.
- 	(PREDICATE_CODES): Add binary_float_operator,
- 	commutative_float_operator, fp_arith_reg_operand, fp_extended_operand,
- 	fpscr_operand, noncommutative_float_operator.
- 	(ADJUST_COST): Use different scale for TARGET_SUPERSCALAR.
- 	(SH_DYNAMIC_SHIFT_COST): Cheaper for SH4.
- 	* sh.md (attribute cpu): Add value sh4.
- 	(attrbutes fmovd, issues): Define.
- 	(attribute type): Add values dfp_arith, dfp_cmp, dfp_conv, dfdiv.
- 	(function units memory, int, mpy, fp): Make dependent on issue rate.
- 	(function units issue, single_issue, load_si, load): Define.
- 	(function units load_store, fdiv, gp_fpul): Define.
- 	(attribute hit_stack): Provide proper default.
- 	(use_sfunc_addr+1, udivsi3): Predicated on ! TARGET_SH4.
- 	(udivsi3_i4, udivsi3_i4_single, divsi3_i4, divsi3_i4_single): New insns.
- 	(udivsi3, divsi3): Emit special patterns for SH4 hardware,
- 	(mulsi3_call): Now uses match_operand for function address.
- 	(mulsi3): Also emit code for SH1 case.  Wrap result in REG_LIBCALL /
- 	REG_RETVAL notes.
- 	(push, pop, push_e, pop_e): Now define_expands.
- 	(push_fpul, push_4, pop_fpul, pop_4, ic_invalidate_line): New expanders.
- 	(movsi_ie): Added y/i alternative.
- 	(ic_invalidate_line_i, movdf_i4): New insns.
- 	(movdf_i4+[123], reload_outdf+[12345], movsi_y+[12]): New splitters.
- 	(reload_indf, reload_outdf, reload_outsf, reload_insi): New expanders.
- 	(movdf): Add special code for SH4.
- 	(movsf_ie, movsf_ie+1, reload_insf, calli): Make use of fpscr visible.
- 	(call_valuei, calli, call_value): Likewise.
- 	(movsf): Emit no-op move.
- 	(mov_nop, movsi_y): New insns.
- 	(blt, sge): Generalize to handle DFmode.
- 	(return predicate): Call emit_fpscr_use and remove_dead_before_cse.
- 	(block_move_real, block_lump_real): Predicate on ! TARGET_HARD_SH4.
- 	(block_move_real_i4, block_lump_real_i4, fpu_switch): New insns.
- 	(fpu_switch0, fpu_switch1, movpsi): New expanders.
- 	(fpu_switch+[12], fix_truncsfsi2_i4_2+1): New splitters.
- 	(toggle_sz): New insn.
- 	(addsf3, subsf3, mulsf3, divsf3): Now define_expands.
- 	(addsf3_i, subsf3_i, mulsf3_i4, mulsf3_ie, divsf3_i): New insns.
- 	(macsf3): Make use of fpscr visible.  Disable for SH4.
- 	(floatsisf2): Make use of fpscr visible.
- 	(floatsisf2_i4): New insn.
- 	(floatsisf2_ie, fixsfsi, cmpgtsf_t, cmpeqsf_t): Disable for SH4.
- 	(ieee_ccmpeqsf_t): Likewise.
- 	(fix_truncsfsi2): Emit different code for SH4.
- 	(fix_truncsfsi2_i4, fix_truncsfsi2_i4_2, cmpgtsf_t_i4): New insns.
- 	(cmpeqsf_t_i4, ieee_ccmpeqsf_t_4): New insns.
- 	(negsf2, sqrtsf2, abssf2): Now expanders.
- 	(adddf3, subdf3i, muldf2, divdf3, floatsidf2): New expanders.
- 	(negsf2_i, sqrtsf2_i, abssf2_i, adddf3_i, subdf3_i): New insns.
- 	(muldf3_i, divdf3_i, floatsidf2_i, fix_truncdfsi2_i): New insns.
- 	(fix_truncdfsi2, cmpdf, negdf2, sqrtdf2, absdf2): New expanders.
- 	(fix_truncdfsi2_i4, cmpgtdf_t, cmpeqdf_t, ieee_ccmpeqdf_t): New insns.
- 	(fix_truncdfsi2_i4_2+1): New splitters.
- 	(negdf2_i, sqrtdf2_i, absdf2_i, extendsfdf2_i4): New insns.
- 	(extendsfdf2, truncdfsf2): New expanders.
- 	(truncdfsf2_i4): New insn.
- 	* t-sh (LIB1ASMFUNCS): Add _movstr_i4, _sdivsi3_i4, _udivsi3_i4.
- 	(MULTILIB_OPTIONS): Add m4-single-only/m4-single/m4.
- 	* float-sh.h: When testing for __SH3E__, also test for
- 	__SH4_SINGLE_ONLY__ .
- 	* va-sh.h (__va_freg): Define to float.
- 	(__va_greg, __fa_freg, __gnuc_va_list, va_start):
- 	Define for __SH4_SINGLE_ONLY__ like for __SH3E__ .
- 	(__PASS_AS_FLOAT, __TARGET_SH4_P): Likewise.
- 	(__PASS_AS_FLOAT): Use different definition for __SH4__ and
- 	 __SH4_SINGLE__.
- 	(TARGET_SH4_P): Define.
- 	(va_arg): Use it.
- 
- 	* sh.md (movdf_k, movsf_i): Tweak the condition so that
- 	init_expr_once is satisfied about the existence of load / store insns.
- 
- 	* sh.md (movsi_i, movsi_ie, movsi_i_lowpart, movsf_i, movsf_ie):
- 	Change m constraint in source operand to mr / mf.
- 
- 	* va-sh.h (__va_arg_sh1): Use __asm instead of asm.
- 
- 	* (__VA_REEF): Define.
- 	(__va_arg_sh1): Use it.
- 
- 	* va-sh.h (va_start, va_arg, va_copy): Add parentheses.
- 
- Sun Nov 22 21:34:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/dgux.c (struct option): Add new "description field".
- 	* m88k/m88k.c (struct option): Likewise.
- 
- Sun Nov 22 16:07:57 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Nov 22 13:40:02 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* regmove.c (regmove_profitable_p): Use return value of find_matches
- 	properly.
- 
- Sun Nov 22 02:47:37 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Nov 21 22:12:09 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (eliminate_regs): Do not lose if eliminate_regs is called
- 	without reload having been called earlier.
- 
- 	* v850.c (ep_memory_operand): Offsets < 0 are not valid for EP
- 	addressing modes.
- 	(v850_reorg): Similarly.
- 
- 	* loop.c (check_dbra_loop): Avoid using gen_add2_insn.
- 
- Sat Nov 21 02:18:38 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (move_movables): Start of libcall might be new loop start.
- 
- Fri Nov 20 12:14:16 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* hash.c (hash_table_init_n): Wrap prototype arguments in PARAMS().
- 
- Fri Nov 20 08:34:00 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* function.c (nonlocal_goto_handler_slots): Renamed from
- 	nonlocal_goto_handler_slot; now an EXPR_LIST chain.
- 	(push_function_context_to): Adjust for this change.
- 	(pop_function_context_from): Likewise.
- 	(init_function_start): Likewise.
- 	(expand_function_end): Likewise.
- 	* function.h (struct function): Likewise.
- 	* calls.c (expand_call): Likewise.
- 	* explow.c (allocate_dynamic_stack_space): Likewise.
- 	* expr.h (nonlocal_goto_handler_slots): Rename its declaration.
- 	* stmt.c (declare_nonlocal_label): Make a new handler slot for each
- 	label.
- 	(expand_goto): When doing a nonlocal goto, find corresponding handler
- 	slot for it.  Don't put the label address in the static chain register.
- 	(expand_end_bindings): Break out nonlocal goto handling code into
- 	three new functions.
- 	(expand_nl_handler_label, expand_nl_goto_receiver,
- 	expand_nl_goto_receivers): New static functions, broken out of
- 	expand_end_bindings and adapted to create one handler per nonlocal
- 	label.
- 	* function.c (delete_handlers): Delete insn if it references any of
- 	the nonlocal goto handler slots.
- 	* i960.md (nonlocal_goto): Comment out code that modifies
- 	static_chain_rtx.
- 	* sparc.md (nonlocal_goto): Likewise.
- 	(goto_handler_and_restore_v9): Comment out.
- 	(goto_handler_and_restore_v9_sp64): Comment out.
- 
- Thu Nov 19 23:44:38 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* expr.c (STACK_BYTES): Delete unused macro.
- 	* calls.c: Provide default for PREFERRED_STACK_BOUNDARY.
- 	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- 	(expand_call): Likewise.
- 	(emit_library_call): Likewise.
- 	(emit_library_call_value): Likewise.
- 	* function.c: Provide default for PREFERRED_STACK_BOUNDARY.
- 	(STACK_BYTES): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- 	* explow.c: Provide default for PREFERRED_STACK_BOUNDARY.
- 	(round_push): Use PREFERRED_STACK_BOUNDARY, not STACK_BOUNDARY.
- 	(allocate_dynamic_stack_space): Likewise.
- 	* tm.texi (PREFERRED_STACK_BOUNDARY): Document new macro.
- 	(STACK_BOUNDARY): Update description to reflect the new situation.
- 
- Thu Nov 19 22:20:51 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c (relax_delay_slots): When optimizing for code size, if a
- 	return with a filled delay slot is followed by a return with an
- 	unfilled delay slot, delete the first return and reemit the insn
- 	that was previously in its delay slot.
- 
- 	* i860.c (single_insn_src_p): Add missing parens.
- 	* ginclude/math-3300.h: Likewise.
- 
- Thu Nov 19 20:55:59 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* regclass.c (init_reg_sets_1): Add prototype.
- 	(init_reg_modes): Likewise.
- 
- 1998-11-19  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* c-common.c: Change warning messages to say `comparison is
- 	always true' or `comparison is always false' instead of the
- 	confusing `is always 0', `is always 1'.
- 
- Thu Nov 19 19:05:49 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* print-tree.c (print_node): After printing BLOCK or BIND_EXPR,
- 	break instead of return (which loses closing '>').
- 
- Thu Nov 19 19:34:13 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.h (LEGITIMATE_CONSTANT_P): Reject CONST_DOUBLEs that are not
- 	standard 387 constants.
- 
- 	* i386.md (jump): Explicitly set "memory" attribute.
- 	(indirect_jump, prologue_set_stack_ptr): Likewise.
- 	(prologue_get_pc_and_set_got, pop): Likewise.
- 	(allocate_stack_worder, blockage, return_internal): Likewise.
- 	(return_pop_internal, nop): Likewise.
- 	(epilogue_set_stack_ptr, leave): Likewise.
- 
- Thu Nov 19 15:42:54 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/coff.h: Set USER_LABEL_PREFIX to "_".
- 
- Thu Nov 19 23:20:59 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p):
- 	Early auto_inc reloads don't conflict with outputs.
- 
- Thu Nov 19 12:58:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Don't do AC_CHECK_HEADERS(wait.h sys/wait.h).
- 	Instead call AC_HEADER_SYS_WAIT.
- 
- 	* collect2.c: Don't provide defaults for sys/wait.h macros.
- 	* gcc.c: Likewise.
- 	* protoize.c: Likewise.  Also, don't include sys/wait.h.
- 
- 	* system.h: Include sys/wait.h and provide macro defaults.
- 
- 1998-11-19  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* Makefile.in (mandir): Set to @mandir@.
- 	(man1dir): New variable to hold the former value of $(mandir).
- 	Replace all uses of $(mandir) by $(man1dir).
- 
- Wed Nov 18 16:31:28 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (find_reloads_address_part): If have a CONST_INT, create
- 	a new one before passing it to force_const_mem.
- 
- 	* reload.c (find_reloads_toplev): Pass &x instead of NULL_PTR in
- 	find_reloads_address call.
- 
- Wed Nov 18 22:13:00 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (store_expr): Don't generate load-store pair
- 	if TEMP is identical (according to ==) with TARGET.
- 
- Tue Nov 17 22:25:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p): When considered reload
- 	has an output, matching inputs are not sufficient to avoid conflict.
- 
- Tue Nov 17 11:51:16 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* hash.h (hash_table_key): New type.
- 	(hash_entry): Change `string' field to generic `key'.
- 	(hash_table): Add `comp' and `hash' functions.
- 	(hash_table_init): Take them as input.
- 	(hash_table_init_n): Likewise.
- 	(hash_lookup): Modify for generic keys.
- 	(hash_newfunc): Likewise.
- 	(hash_traverse): Likewise.
- 	(string_hash): New function.
- 	(string_compare): Likewise.
- 	(string_copy): Likewise.
- 	* hash.c (hash_table_init_n): Modify for generic keys.
- 	(hash_table_init): Likewise.
- 	(hash_lookup): Likewise.
- 	(hash_newfunc): Likewise.
- 	(hash_traverse): Likewise.
- 	(string_hash): Split out from hash_lookup.
- 	(string_compare): New function.
- 	(string_copy): Split out from hash_lookup.
- 	* tlink.c (symbol_hash_newfunc): Modify for new interfaces to hash
- 	tables.
- 	(symbol_hash_lookup): Likewise.
- 	(file_hash_newfunc): Likewise.
- 	(file_hash_lookup): Likewise.
- 	(demangled_hash_newfunc): Likewise.
- 	(demangled_hash_lookup): Likewise.
- 	(tlink_int): Likewise.
- 	(read_repo_file): Likewise.
- 	(recompile_files): Likewise.
- 	(demangle_new_symbols): Likewise.
- 	(scan_linker_output): Likewise.
- 
- Tue Nov 17 17:13:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* flow.c (insn_dead_p): New argument NOTES.  Changed all callers.
- 
- Mon Nov 16 17:56:07 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (output_mi_thunk): Improve test for local branch.
- 
- Mon Nov 16 17:56:07 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.c (output_mi_thunk): Correct test for aggregate values.
- 
- Mon Nov 16 21:02:52 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_before_p): Delete.
- 	Changed all callers to use reload_reg_free_for_value_p instead.
- 	(reload_reg_free_for_value_p): Handle more reload types.
- 	A RELOAD_FOR_INPUT doesn't conflict with its
- 	RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS.
- 	Add special case for OUT == const0_rtx.
- 	Added ignore_address_reloads argument.  Changed all callers.
- 
- Mon Nov 16 02:22:29 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (compile_file): Don't pedwarn about undefined static
- 	functions just because we passed -Wunused.
- 
- Mon Nov 16 04:41:41 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* function.c (purge_addressof_1): Unshare rtl created by
- 	store_bit_field.
- 
- Mon Nov 16 04:23:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (regmove_optimize): Don't do anything but
- 	optimize_reg_copy[123] when flag_regmove is not set.
- 
- Sat Nov 14 15:05:07 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (addsi3, subsi3): Revise 5 Nov change to store DImode
- 	value in paradoxical SImode result, rather than truncating midpoint.
- 
- Fri Nov 13 22:19:23 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (reg_not_elim_operand): New.
- 	* alpha.h (PREDICATE_CODES): Add it.
- 	* alpha.md (s48addq, s48subq patterns): Use it as the predicate
- 	for the multiplicand.
- 
- Fri Nov 13 22:50:37 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movsf): Remove explicit secondary-reload-like
- 	functionality.  Only truncate SFmode store if in FPR.
- 	(movsf splitters): Combine const_double splitters.
- 	(movsf_hardfloat): Add GPR support.
- 
- Fri Nov 13 11:02:11 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* splet.h (SUBTARGET_OVERRIDE_OPTIONS): New to
- 	deprecate -mlive-g0 and -mbroken-saverestore.
- 	* t-splet (MULTILIB_OPTIONS): Likewise.
- 
- 	* sparc.c (sparc_flat_compute_frame_size): Correctly calc args_size
- 	in a leaf function.  Clarify total_size/extra_size relationship.
- 
- Thu Nov 12 19:20:57 1998  Geoffrey Noer  <noer@cygnus.com>
- 
- 	* i386/cygwin32.asm: Delete.
- 	* i386/cygwin.asm: New file, renamed from cygwin32.asm.
- 	* i386/cygwin32.h: Delete.
- 	* i386/cygwin.h: New file, renamed from cygwin32.h.
- 	* i386/t-cygwin32: Delete.
- 	* i386/t-cygwin: New file, renamed from t-cygwin32.  Include
- 	cygwin.asm instead of cygwin32.asm.  Remove "32" from comment.
- 	* i386/x-cygwin32: Delete.
- 	* i386/x-cygwin: New file, renamed from x-cygwin32.
- 	* i386/xm-cygwin32: Delete.
- 	* i386/xm-cygwin: New file, renamed from xm-cygwin32.  Use newly
- 	renamed cygwin_ funcs for path translations.
- 	* i386/win32.h: Define __CYGWIN__ when -mcygwin given.
- 	* i386/winnt.c: Remove "32" from comment about cygwin.
- 	* i386/mingw32.h: Fix references to cygwin32.h in light of above.
- 	* rs6000/cygwin32.h: Delete.
- 	* rs6000/cygwin.h: New file, renamed from cygwin32.h.  Add
- 	-D__CYGWIN__ to CPP_PREDEFINES.
- 	* rs6000/x-cygwin32: Delete.
- 	* rs6000/x-cygwin: New file, renamed from x-cygwin32.
- 	* rs6000/xm-cygwin32: Delete.
- 	* rs6000/xm-cygwin: New file, renamed from xm-cygwin32.
- 
- 	* configure.in: Check for cygwin* instead of cygwin32.  Account
- 	for the rename of cygwin-related config files to lose the "32"s.
- 	* configure: Regenerate.
- 
- 	* cccp.c, collect2.c, gcc.c, getpwd.c, libgcc2.c, protoize.c,
- 	toplev.c: Change all refs to __CYGWIN32__ to __CYGWIN__.
- 
- Wed Nov 11 12:25:19 1998  Tom Tromey  <tromey@cygnus.com>
- 
- 	* Makefile.in (JAVAGC): New macro.
- 	* configure: Rebuilt.
- 	* configure.in: Recognize --enable-java-gc argument.  Subst
- 	`JAVAGC' variable.
- 
- Thu Nov 12 03:32:16 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	Handle equivalences that have been obscured by gcse:
- 
- 	* reload1.c (reload): Handle equivalences set up in multiple places.
- 	* local-alloc.c (reg_equiv_init_insns): New variable.
- 	(no_equiv): New function.
- 	(update_equiv_regs): Handle equivalences set up in multiple places.
- 	Don't ignore an insn just because its destination is likely to be
- 	spilled.
- 
- Wed Nov 11 13:46:13 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* except.c (expand_eh_return): Readd force_operand call lost in
- 	Sept 15 change.
- 
- Tue Nov 10 17:04:11 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (LEGITIMIZE_ADDRESS): Add missing goto on last case.
- 
- 1998-11-09  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* dbxout.c: Check HAVE_STAB_H instead of HAVE_STABS_H.
- 
- Mon Nov  9 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* regmove.c (regmove_optimize): Fix error in last change.
- 
- Mon Nov  9 16:37:52 1998  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* mips.c (function_prologue): When TARGET_MIPS16, adjust the register
- 	offset in the .mask pseudo to compensate for frame pointer adjustments.
- 	(mips16_fp_args, build_mips16_call_stub): For little endian, do not
- 	word swap arguments moved to/from FP registers.
- 	* mips16.S (DFREVCMP): Reverse arguments to OPCODE.
- 
- Mon Nov  9 09:47:06 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Nov  9 02:14:14 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Nov  9 03:06:24 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (delete_output_reload_insn): If a pseudo is set multiple
- 	times, then it can not be completely replaced.
- 
- Mon Nov  9 00:39:02 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (call, call_value) [OSF]: Correct alt 3 insn length.
- 
- Sun Nov  8 17:50:30 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h: Prepend a "G" to the macro wrapping this file
- 	(to distinguish it from the macro wrapping ansidecl.h.)
- 	Include libiberty's ansidecl.h.  Remove all redundant definitions.
- 	Define the PROTO() style macros in terms of the PARAMS() ones.
- 
- 
- 	* calls.c (emit_library_call): Switch on ANSI_PROTOTYPES, not
- 	__STDC__, when deciding whether to use ANSI variable args.
- 	(emit_library_call_value): Likewise.
- 
- 	* cccp.c (error): Likewise.
- 	(warning): Likewise.
- 	(error_with_line): Likewise.
- 	(warning_with_line): Likewise.
- 	(pedwarn): Likewise.
- 	(pedwarn_with_line): Likewise.
- 	(pedwarn_with_file_and_line): Likewise.
- 	(fatal): Likewise.
- 
- 	* cexp.y (error): Likewise.
- 	(pedwarn): Likewise.
- 	(warning): Likewise.
- 
- 	* collect2.c (fatal_perror): Likewise.
- 	(fatal): Likewise.
- 	(error): Likewise.
- 
- 	* combine.c (gen_rtx_combine): Likewise.
- 
- 	* cpperror.c (cpp_message): Likewise.
- 	(cpp_fatal): Likewise.
- 
- 	* cpplib.c (cpp_error): Likewise.
- 	(cpp_warning): Likewise.
- 	(cpp_pedwarn): Likewise.
- 	(cpp_error_with_line): Likewise.
- 	(cpp_warning_with_line): Likewise.
- 	(cpp_pedwarn_with_line): Likewise.
- 	(cpp_pedwarn_with_file_and_line): Likewise.
- 
- 	* cpplib.h: Don't define PARAMS() macro.
- 
- 	* demangle.h: Likewise.
- 
- 	* doprint.c (checkit): Switch on ANSI_PROTOTYPES, not __STDC__,
- 	when deciding whether to use ANSI variable args.
- 
- 	* emit-rtl.c (gen_rtx): Likewise.
- 	(gen_rtvec): Likewise.
- 
- 	* final.c (asm_fprintf): Likewise.
- 
- 	* fix-header.c (cpp_message): Likewise.
- 	(fatal): Likewise.
- 	(cpp_fatal): Likewise.
- 
- 	* gcc.c (concat): Likewise.
- 	(fatal): Likewise.
- 	(error): Likewise.
- 
- 	* genattr.c (fatal): Likewise.
- 
- 	* genattrtab.c (attr_rtx): Likewise.
- 	(attr_printf): Likewise.
- 	(fatal): Likewise.
- 
- 	* gencodes.c (fatal): Likewise.
- 
- 	* genconfig.c (fatal): Likewise.
- 
- 	* genemit.c (fatal): Likewise.
- 
- 	* genextract.c (fatal): Likewise.
- 
- 	* genflags.c (fatal): Likewise.
- 
- 	* genopinit.c (fatal): Likewise.
- 
- 	* genoutput.c (fatal): Likewise.
- 	(error): Likewise.
- 
- 	* genpeep.c (fatal): Likewise.
- 
- 	* genrecog.c (fatal): Likewise.
- 
- 	* halfpic.h: Switch on ANSI_PROTOTYPES, not __STDC__, when
- 	deciding whether to declare `tree_node' and `rtx_def'.
- 
- 	* hash.h: Don't define stuff we get from gansidecl.h.
- 
- 	* mips-tfile.c: Likewise.  Define __proto() in terms of PARAMS().
- 	(fatal): Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
- 	whether to use ANSI variable args.
- 	(error): Likewise.
- 
- 	* prefix.c (concat): Likewise.
- 
- 	* scan.h: Likewise.
- 
- 	* system.h: Likewise.
- 
- 	* toplev.c (error_with_file_and_line): Likewise.
- 	(error_with_decl): Likewise.
- 	(error_for_asm): Likewise.
- 	(error): Likewise.
- 	(fatal): Likewise.
- 	(warning_with_file_and_line): Likewise.
- 	(warning_with_decl): Likewise.
- 	(warning_for_asm): Likewise.
- 	(warning): Likewise.
- 	(pedwarn): Likewise.
- 	(pedwarn_with_decl): Likewise.
- 	(pedwarn_with_file_and_line): Likewise.
- 	(sorry): Likewise.
- 	(really_sorry): Likewise.
- 
- 	* toplev.h: Switch on ANSI_PROTOTYPES, not __STDC__, when deciding
- 	whether to declare `tree_node' and `rtx_def'.
- 
- 	* tree.c (build): Switch on ANSI_PROTOTYPES, not __STDC__, when
- 	deciding whether to use ANSI variable args.
- 	(build_nt): Likewise.
- 	(build_parse_node): Likewise.
- 
- Sun Nov  8 13:10:55 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sat Nov  7 23:34:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (libcpp.a): Check RANLIB_TEST before runing RANLIB.
- 
- Sat Nov  7 22:26:19 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (main, case 'b'): Use else if.
- 
- Sat Nov  7 15:35:25 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (host_xm_file, build_xm_file, xm_file, tm_file):
- 	Arrange to include gansidecl.h in {ht}config.h & tm.h just
- 	before the config/ directory headers.
- 	(tm_file_list, host_xm_file_list, build_xm_file_list): Handle
- 	gansidecl.h in the list of dependencies.
- 
- 	* Makefile.in (RTL_BASE_H): Don't depend on gansidecl.h.
- 	(TREE_H, DEMANGLE_H, RECOG_H, REGS_H, libgcc2.a, stmp-multilib,
- 	mbchar.o, collect2.o, pexecute.o, vfprintf.o, splay-tree.o, gcc.o,
- 	gencheck.o, choose-temp.o, mkstemp.o, mkstemp.o, prefix.o,
- 	dyn-string.o, cexp.o, cccp.o, cppmain.o, cpplib.o, cpperror.o,
- 	cppexp.o, cppfiles.o, cpphash.o, cppalloc.o, scan-decls.o):
- 	Likewise.
- 
- 	* cccp.c: Don't include gansidecl.h.
- 	* cexp.y: Likewise.
- 	* collect2.c: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* cppalloc.c: Likewise.
- 	* cpperror.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpphash.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cppmain.c: Likewise.
- 	* cppulp.c: Likewise.
- 	* demangle.h: Likewise.
- 	* doprint.c: Likewise.
- 	* dyn-string.c: Likewise.
- 	* eh-common.h: Likewise.
- 	* fix-header.c: Likewise.
- 	* frame.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gen-protos.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* halfpic.h: Likewise.
- 	* hash.c: Likewise.
- 	* machmode.h: Likewise.
- 	* mbchar.c: Likewise.
- 	* prefix.c: Likewise.
- 	* protoize.c: Likewise.
- 	* recog.h: Likewise.
- 	* rtl.h: Likewise.
- 	* scan-decls.c: Likewise.
- 	* tree.h: Likewise.
- 	* varray.h: Likewise.
- 
- Sat Nov  7 11:37:53 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (call_value_pop): If we're not popping anything,
- 	defer to call_value.
- 	(call_pop): Likewise defer to call.
- 
- Sat Nov  7 02:49:56 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (purge_addressof): Clear purge_addressof_replacements
- 	only after processing the whole function.
- 
- Sat Nov  7 00:54:55 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload): If we can not perform a particular elimination
- 	when we thought we could earlier, then we must always iterate through
- 	the loop at least one more time.
- 
- Fri Nov  6 19:37:33 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (add_operand): Simplify the CONST_INT match.
- 	(sext_add_operand): Correct typo in comparison by using
- 	CONST_OK_FOR_LETTER_P.
- 	* alpha.md (s?addq): Use sext_add_operand to allow the negative
- 	constant alternatives to be generated.
- 	(mulsi3, muldi3, umuldi3_highpart): Loosen constraints to allow
- 	small constants, since the hw instructions do.
- 
- Fri Nov  6 20:15:19 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (emit_reload_insns): When rewriting the SET_DEST of a
- 	previous insn to store directly into our reload register, make sure
- 	that if the source of the previous insn is a reload register, its
- 	spill_reg_store and spill_reg_stored_to values are cleared.
- 
- Fri Nov  6 16:35:10 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (floatunssidf2_internal splitter): Use base register
- 	operand, not hard-coded SP.
- 
- Fri Nov  6 04:07:53 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* jump.c (calculate_can_reach_end): Fix thinko.
- 
- Fri Nov  6 00:16:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c (fill_simple_delay_slots): Fix typo.
- 
- 	* romp.h (LEGITIMIZE_ADDRESS): Fix typo.
- 
- Fri Nov  6 00:10:00 1998  Jan Hubicka  (hubicka@freesoft.cz)
- 
- 	* i386.md (extendsidi2): Use # in the output template.
- 	(extendsidi splitters): New splitters.
- 
- Thu Nov  5 11:13:27 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Use unknown-elf.h as tm_file for arm-elf
- 	configurations.
- 	* configure: Regenerate.
- 
- Thu Nov  5 07:59:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* jump.c (init_label_info, delete_barrier_successors,
- 	mark_all_labels, delete_unreferenced_labels,
- 	delete_noop_moves, calculate_can_reach_end): New functions broken
- 	out of jump_optimize.
- 	(jump_optimize): Use them.
- 
- Thu Nov  5 07:57:45 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.c (expand_fixup_region_end): Make sure outer context labels
- 	are not issued in an inner context during cleanups.
- 
- Thu Nov  5 04:03:06 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (addsi3, subsi3): No new temporaries once cse is
- 	no longer expected.
- 
- Thu Nov  5 03:29:19 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (addsi3, subsi3): Expand to a DImode temporary so as
- 	to expose this midpoint to CSE.
- 
- Thu Nov  5 03:42:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movdf_const_intreg_sp64): Enable again.
- 
- Thu Nov  5 10:53:01 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* configure.in: Bring over gcc2 change of Nov 19 1997.
- 
- Wed Nov  4 23:43:08 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* toplev.c (output_lang_identify): Make definition dependent on
- 	ASM_IDENTIFY_LANGUAGE.
- 
- 	* print-rtl.c (spaces): Make static.
- 
- Wed Nov  4 22:16:36 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* extend.texi: Clarify proper uses for register clobbers in asms.
- 
- Wed Nov  4 22:16:36 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* recog.h (enum op_type): Define.
- 	(constrain_operands): Adjust prototype.
- 	(recog_op_type): Declare new variable.
- 	* recog.c (recog_op_type): New variable.
- 	(insn_invalid_p): Allow modifying an asm statement after reload.
- 	(extract_insn): Set up recog_op_type.
- 	(constrain_operands): Lose INSN_CODE_NUM arg.  All callers changed.
- 	Don't compute operand types, use recog_op_type.
- 	Use the information computed by extract_insn instead of the previous
- 	method of finding it by insn code number.
- 	* caller-save.c (init_caller_save): Use extract_insn, not insn_extract.
- 	* reorg.c (fill_slots_from_thread): Likewise.
- 	* reload1.c (reload_as_needed): Likewise.
- 	(gen_reload): Likewise.
- 	(inc_for_reload): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	Use the information computed by extract_insn instead of the previous
- 	method of finding it by insn code number.
- 	* genattrtab.c (write_attr_case): Generate call to extract_insn, not
- 	insn_extract.
- 	* final.c (final_scan_insn): Use extract_insn, not insn_extract.
- 	(cleanup_operand_subregs): Use extract_insn, not insn_extract.
- 	Use the information computed by extract_insn instead of the previous
- 	method of finding it by insn code number.
- 	* regmove.c (find_matches): Likewise.  Change meaning of the return
- 	value to be nonzero if the optimization can be performed, zero if
- 	not.  All callers changed.
- 	Shorten some variable names to fix formatting problems.
- 	(regmove_optimize): Shorten some variable names to fix formatting
- 	problems.
- 	Use the information computed by extract_insn instead of the previous
- 	method of finding it by insn code number.
- 	* regclass.c (scan_one_insn): Likewise.
- 	(record_reg_classes): Don't compute operand types, use recog_op_type.
- 	* reload.c (find_reloads): Lose CONSTRAINTS1 variable; use
- 	recog_constraints instead.
- 
- Wed Nov  4 21:37:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.h (flow2_completed): Declare.
- 	* flow.c (flow2_completed): Definition.
- 	* toplev.c (rest_of_compilation): Set and clear flow2_completed
- 	as necessary.
- 
- Wed Nov  4 19:15:37 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
- 
- 	* Makefile.in (libcpp.a): Ranlib libcpp.a.
- 
- 	* cppulp.c (user_label_prefix): Initialize.
- 
- Wed Nov  4 19:07:08 1998  John Wehle  (john@feith.com)
- 
- 	* flow.c (mark_regs_live_at_end): Mark the stack pointer as live
- 	at a RETURN if current_function_sp_is_unchanging is set.
- 
- Wed Nov  4 18:16:29 1998  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* emit-rtl.c (try_split): Fixed error in Oct 10 patch.
- 
- Wed Nov  4 15:11:15 1998  Geoffrey Noer  <noer@cygnus.com>
- 
- 	* i386/cygwin32.h (MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS, MASK_DLL,
- 	TARGET_WIN32, TARGET_CYGWIN, TARGET_WINDOWS, TARGET_DLL): New.
- 	(SUBTARGET_SWITCHES): Add -mno-cygwin, -mcygwin, and -mdll options.
- 	(CPP_PREDEFINES): Don't define __CYGWIN32__ here.
- 	(STARTFILE_SPEC): Handle -mdll, -mno-cygwin options.
- 	(CPP_SPEC): Handle -mno-cygwin option.  Define __CYWIN__ in addition
- 	to __CYGWIN32__.
- 	(LIB_SPEC): Handle -mno-cygwin option.
- 	(LINK_SPEC): Handle -mdll.
- 
- Wed Nov  4 22:56:14 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): Fix test for usage by other reload
- 	to handle secondary reloads properly.
- 
- Wed Nov  4 17:25:10 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* reload1.c (ELIMINABLE_REGS, NUM_ELIMINABLE_REGS): Introduce an
- 	intermediate structure which has exactly the members provided by
- 	ELIMINABLE_REGS.  Define NUM_ELIMINABLE_REGS in terms of the
- 	static intermediate structure.
- 
- 	(init_elim_table): Xmalloc() `reg_eliminate', and initialize it
- 	from the intermediate structure.  Do the same analogous fix in
- 	the case where ELIMINABLE_REGS is not defined.
- 
- Tue Nov  3 20:50:03 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (SELECT_SECTION): Fix thinko.
- 
- Tue Nov  3 17:51:36 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Comments on last change.
- 
- Tue Nov  3 07:51:43 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (add_constant): When taking the address of an item in the
- 	pool, get the mode of the item addressed.
- 
- 	* arm.c (final_prescan_insn case INSN): If an insn doesn't
- 	contain a SET or a PARALLEL, don't consider it for conditional
- 	execution.
- 
- 	Restore ABI compatibility for NetBSD.
- 	* arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in
- 	arm.h.
- 	(RETURN_IN_MEMORY): Likewise.
- 
- Mon Nov  2 11:46:17 1998  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* m32r/m32r.c (m32r_expand_block_move): Fix byte count computations.
- 	(m32r_output_block_move): Rewrite bytes < 4 handling.
- 
- Mon Nov  2 10:10:35 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Call AC_FUNC_VFORK.
- 
- 	* collect2.c: Define VFORK_STRING as a printable string for
- 	error messages (either "vfork" or "fork".)  If HAVE_VFORK_H is
- 	defined, include vfork.h.  If VMS is defined, define vfork()
- 	appropriately.  Remove vfork check on USG, we're using autoconf.
- 	(collect_execute): Pass VFORK_STRING to fatal_perror instead of
- 	checking locally what string to pass.
- 	(scan_prog_file): Likewise.
- 	(scan_libraries): Likewise.
- 
- 	* gcc.c: Remove vfork check on USG, we're using autoconf.
- 	Besides, no calls to vfork/fork occur in this file.
- 
- 	* protoize.c: Likewise.
- 
- Mon Nov  2 07:52:28 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* configure.in (DEFAULT_LINKER): Renamed from LD.
- 	(DEFAULT_ASSEMBLER): Renamed from AS; reverted Schwab's patch.
- 	(gcc_cv_as): Try $DEFAULT_ASSEMBLER before $AS.
- 	* configure: Rebuilt.
- 
- Mon Nov  2 01:48:10 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* BUGS: Fix the regexp for `more' to find the appropriate node.
- 	Reported by Joerg Pietschmann  <joerg_pietschmann@zkb.ch>
- 
- 	* BUGS: Added link to the WWW FAQ.
- 
- Sun Nov  1 18:27:15 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Nov  1 11:04:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* From Christian Gafton:
- 	* i386/linux.h (CPP_PREDEFINES): Add -D__i386__.
- 	* sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__.
- 	* sparc/linux64.h (CPP_PREDEFINES): Add -D__sparc__.
- 
- Sat Oct 31 21:42:39 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* c-common.c (c_get_alias_set): Allow all type-punning through
- 	unions.  Don't get confused about the type of a bit-field, despite
- 	the antics of build_modify_expr.
- 
- Sat Oct 31 22:35:29 1998  Jean-Pierre Radley  <jpr@jpr.com>
- 
- 	* fixinc.sco: Parameterize #include_next values.
- 	* fixinc/fixinc.sco: Likewise.
- 
- Sat Oct 31 20:39:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (rest_of_compilation): No longer set reload_completed.
- 	* reload1.c (reload): Set it here.  Perform instruction splitting
- 	after reload has completed if we will be running the scheduler
- 	again.
- 
- Sat Oct 31 12:30:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (jump_optimize): Initialize mappings from INSN_UID to
- 	EH region if exceptions are enabled and we're performing cross
- 	jump optimizations.
- 	(find_cross_jump): Exit loop if the insns are in different EH regions.
- 
- Sat Oct 31 10:02:48 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Use
- 	ASM_OUTPUT_DWARF_DELTA4 for the CIE offset to match frame.c.
- 
- Sat Oct 31 10:23:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	Reinstall Apr 24th fix, lost during May 6th gcc2 merge:
- 	* c-common.c (check_format_info): Don't check for the 'x'
- 	format character twice, instead check for 'x' and 'X'
- 
- Fri Oct 30 14:50:25 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (assembler features): Also make gas is configured if
- 	we find it in the source tree.
- 
- Fri Oct 30 13:23:20 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (i386_comp_type_attributes): Compare whether the
- 	attributes are defined, not their tree nodes.
- 
- Fri Oct 30 11:39:47 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* configure.in (gxx_include_dir): Bitten by autoconf quoting
- 	characters.  :-(
- 	* configure: Rebuilt.
- 
- Fri Oct 30 10:43:29 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* configure.in: Ignore non-absolute value in $AS.
- 
- Fri Oct 30 00:54:25 1998  Peter Jakubek  <pjak@snafu.de>
- 
- 	* m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko.
- 
- Fri Oct 30 00:42:34 1998  Mark Elbrecht  <snowball3@usa.net>
- 
- 	* configure.in (msdosdjgpp): Set exeext and target_alias.
- 
- Thu Oct 29 23:55:43 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* flow.c (XNMALLOC): New macro.
- 	(flow_int_list_blocks, basic_block_succ, basic_block_pred): New
- 	static variables.
- 	(add_edge, add_edge_to_label): New static functions.
- 	(free_bb_memory): New function.
- 	(flow_delete_insn): Delete function.
- 	(basic_block_drops_in): Delete variable.
- 	(find_basic_blocks): Allocate and initialize basic_block_head,
- 	basic_block_succ.  Don't allocate basic_block_drops_in.
- 	Call free_bb_memory at the beginning.
- 	(find_basic_blocks_1): Don't do multiple passes.
- 	Delete code to compute basic_block_drops_in.
- 	After calling make_edges, mark blocks reached by current block live.
- 	Update test for unreachable live blocks.
- 	(mark_label_ref): Delete args X, CHECKDUP.  Add PRED arg.  All callers
- 	changed.
- 	Simplify to call add_edge_to_label when a LABEL_REF is found.
- 	(make_edges): Simplify to call add_edge_to_label instead of
- 	mark_label_ref most of the time.
- 	Compute here whether control drops into the next block.
- 	(delete_unreachable_blocks): Return void.  All callers changed.
- 	Delete unreachable blocks in reverse order.
- 	After deleting all unreachable blocks, renumber the remaining ones
- 	and update n_basic_blocks.
- 	(delete_block): Speed up deletion a bit.
- 	Don't set basic_block_drops_in for deleted blocks.
- 	(free_basic_block_vars): Don't free basic_block_drops_in.
- 	(life_analysis_1): Update to use new edge representation.
- 	(dump_flow_info): Delete code to print basic block info; call
- 	dump_bb_data instead.
- 	(compute_preds_succs): Delete code to recompute basic_block_drops_in
- 	and uid_block_number.
- 	Simply copy the previously computed cfg.
- 	(dump_bb_data): New arg LIVE_INFO.  All callers changed.
- 	Print register lifetime information if LIVE_INFO is nonzero.
- 	* basic-block.h (dump_bb_data): Adjust prototype.
- 	* gcse.c (gcse_main): Update call to dump_bb_data.
- 	* rtl.h (free_bb_memory): Declare.
- 	* toplev.c (rest_of_compilation): Call free_bb_memory.
- 
- 	* reload1.c (struct elim_table): Delete MAX_OFFSET member.
- 	(update_eliminable_offsets): Don't compute it.
- 	(set_initial_elim_offsets): Don't initialize it.
- 	Break out some code into set_initial_label_offsets so the rest of
- 	this function can be called from reload_as_needed.
- 	Assume that INITIAL_FRAME_POINTER_OFFSET is defined when
- 	ELIMINABLE_REGS isn't.
- 	(set_initial_label_offsets): New function, broken out of
- 	set_initial_elim_offsets.
- 	(set_offsets_for_label): New function, broken out of set_label_offsets
- 	and reload_as_needed.
- 	(reload): Call the two new functions.
- 	(reload_as_needed): Call set_initial_elim_offsets instead of
- 	duplicating the code.  Likewise for set_offsets_for_label.
- 
- 	* reload1.c (choose_reload_regs): Fix typo in Oct 17 change.
- 	(emit_reload_insns): Ensure that when we set reg_reloaded_valid for
- 	any hard reg, reg_reloaded_dead contains valid data.
- 
- Thu Oct 29 22:30:54 1998  Marcus Meissner  <Marcus.Meissner@informatik.uni-erlangen.de>
- 
- 	* i386.c (i386_comp_type_attributes): Return nonzero for mismatched
- 	"stdcall" and "cdecl" attributes.
- 
- Thu Oct 29 19:05:17 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sched.c (update_flow_info): Add code to ! found_orig_dest case to
- 	handle deleted no-op moves of hard registers.
- 	* haifa-sched.c (update_flow_info): Likewise.
- 
- Thu Oct 29 18:07:47 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.md (reload_{in,out}{si,di}): Emit a USE of HILO at the end
- 	of the sequences to reload the HILO register which do not actually
- 	reference HILO.
- 
- Thu Oct 29 12:39:35 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-common.c (c_get_alias_set): Handle ARRAY_REF of union field.
- 
- Thu Oct 29 14:10:22 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.c (emit_eh_context): Make the EH context register stay alive
- 	at -O0 so stupid.c doesn't get confused.
- 
- 1998-10-29  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* emit-rtl.c (try_split): Do not try to split a BARRIER.
- 
- Thu Oct 29 01:33:54 1998  Jan Hubicka  <hubicka@freesoft.cz>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md: Change ix86_cpu == PROCESSOR_PENTIUM to TARGET_PENTIUM.
- 	(zero_extendsidi2): Use # in output template and handle completely by
- 	splits.
- 	(zero_extend splitters): New define_splits.
- 	(ashiftrt_32): New pattern.
- 
- Wed Oct 28 22:58:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (append_random_chars): New fn.
- 	(get_file_function_name_long): Use it.
- 
- Wed Oct 28 22:27:05 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (cc1): Put C_OBJS, and thence @extra_c_objs@ last.
- 	(LIBCPP_OBJS): New.  Add cppulp.o.
- 	(cppmain, fix-header): Depend on and use libcpp.a.
- 	* configure.in (extra_c_objs, extra_cxx_objs): Use libcpp.a instead
- 	of the individual object files.
- 	* objc/Make-lang.in (cc1obj): Put OBJC_OBJS, and thence @extra_c_objs@,
- 	last.
- 
- 	* cccp.c (user_label_prefix): New.
- 	(main): Set it off -f*leading-underscore.
- 	(special_symbol): Use it.
- 	* cpplib.c (special_symbol): Likewise.
- 	(cpp_handle_option): Handle -f*leading-underscore.
- 	* cppulp.c: New file.
- 
- 	* output.h (user_label_prefix): Declare it.
- 	* dwarf2out.c (ASM_NAME_TO_STRING): Prepend user_label_prefix.
- 	* toplev.c (f_options, main): Handle -f*leading-underscore.
- 
- 	* defaults.h (ASM_OUTPUT_LABELREF): Use asm_fprintf instead of
- 	referencing USER_LABEL_PREFIX directly.
- 	* config/nextstep.h (ASM_OUTPUT_LABELREF): Likewise.
- 	* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
- 	* final.c (asm_fprintf): Use user_label_prefix instead.
- 	* arm/thumb.c (thumb_print_operand): Likewise.
- 
- 	* gcc.c (default_compilers): Pass -f*leading-underscore on to
- 	cpp wherever appropriate.
- 
- Wed Oct 28 23:09:25 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* sco5.h (SUBTARGET_SWITCHES): Add documentation for OpenServer-
- 	specific compiler switches.
- 
- Wed Oct 28 21:05:53 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (c-common.o): Depend on c-pragma.h.  Use $(RTL_H) instead
- 	of rtl.h.
- 
- Wed Oct 28 20:52:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (EXTRA_SPECS, extra_specs): Introduce an intermediate
- 	structure which has exactly the members provided by EXTRA_SPECS.
- 	Xmalloc() the real `extra_specs', and initialize it from this
- 	intermediate structure.
- 
- 	* alpha.h (EXTRA_SPECS): Revert change for missing initializers.
- 
- 	* mips.h  (EXTRA_SPECS): Likewise.
- 
- 	* sparc.h (EXTRA_SPECS): Likewise.
- 
- Wed Oct 28 16:46:07 1998  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* function.c (purge_addressof_1): Instead of aborting when a
- 	bitfield insertion as a replacement for (MEM (ADDRESSOF)) does not
- 	work just put the ADDRESSOF on stack.  Otherwise remember all such
- 	successful replacements, so that exactly the same replacements
- 	can be made on the REG_NOTEs.  Remove the special case for CALL
- 	insns again.
- 	(purge_addressof_replacements): New variable.
- 	(purge_addressof): Clear it at end.
- 
- 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* c-lang.c: Declare extern char *yy_cur if USE_CPPLIB.
- 	  (lang_init): Call check_newline always.
- 	* c-lex.c (init_parse) [USE_CPPLIB=1]: After calling
- 	  cpp_start_read, set yy_cur and yy_lim to read from
- 	  parse_in.token_buffer, so that we'll see the first #line
- 	  directive.
- 	* cpplib.c (cpp_start_read): finclude the main input file
- 	  before processing -include/-imacros.	 Process -imacros and
- 	  -include separately, and handle -include by stacking a
- 	  buffer for the file in question as if it'd been #included.
- 	* toplev.c (documented_lang_options): Recognize -H when
- 	  USE_CPPLIB is on.
- 
- 1998-10-28  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c: Merge do_once into do_pragma.  Break file handling
- 	  code out of do_include.
- 	  Move append_include_chain, deps_output,
- 	  file_cleanup, redundant_include_p, import_hash,
- 	  lookup_import, add_import, read_filename_string, read_name_map,
- 	  open_include_file, finclude, safe_read to cppfiles.c.
- 	  Move prototypes for deps_output, append_include_chain,
- 	  finclude to cpplib.h.  Move definition of struct
- 	  file_name_list there also.
- 
- 	* cppfiles.c: New file.  Contains all the above functions
- 	  broken out of cpplib.c; also hack_vms_include_specification
- 	  from cccp.c and find_include_file, a new function broken out of
- 	  do_include.
- 
- 	* Makefile.in (cppmain): Depend on cppfiles.o.
- 	  (fix-header): Likewise.
- 	  (cppfiles.o): New target.
- 	* configure.in (--enable-c-cpplib): Add cppfiles.o to
- 	  extra_c_objs.  Add ../cppfiles.o to extra_cxx_objs.
- 
- Wed Oct 28 14:06:49 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarfout.c (dwarfout_file_scope_decl): If DECL_CONTEXT, don't abort
- 	if pending_types is nonzero.
- 	(dwarfout_finish): Verify pending_types is zero before finishing.
- 
- Wed Oct 28 10:29:09 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* expr.c (convert_move): Use shifts to perform the move if a
- 	suitable extend pattern cannot be found.  Code written by
- 	Richard Henderson <rth@cygnus.com>.
- 
- Wed Oct 28 03:59:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* regclass.c (renumber, regno_allocated): New static variables, moved
- 	out of allocate_reg_info.
- 	(allocate_reg_info): Move these two variables outside the function.
- 	Move code to free memory into new function free_reg_info.
- 	(free_reg_info): New function, broken out of allocate_reg_info.
- 	* toplev.c (compile_file): Call free_reg_info, not allocate_reg_info.
- 	* rtl.h (allocate_reg_info): Don't declare.
- 	(free_reg_info): Declare.
- 
- 	* final.c (cleanup_subreg_operands): ASM_INPUTs need no treatment.
- 
- Wed Oct 28 02:38:12 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (compile_file): Temporarily revert last change.
- 
- Wed Oct 28 00:00:35 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-typeck.c (convert_for_assignment): Parenthesize.
- 
- 1998-10-28  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* reload1.c (delete_output_reload): Avoid ambigous else.
- 
- Wed Oct 28 00:10:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (compile_file): Call allocate_reg_info to free register
- 	table memory.
- 	* rtl.h (allocate_reg_info): Declare.
- 
- 	* PROJECTS: Remove entry for local spilling.
- 
- 	* final.c (cleanup_subreg_operands): New function.
- 	(final_scan_insn): Use it.
- 	(alter_subreg): Clear the "used" field when we turn a SUBREG into
- 	a REG.
- 	* reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG
- 	operands when reload has finished.
- 	* reload.h (cleanup_subreg_operands): Declare..
- 	* flow.c (life_analysis_1): No longer delete CLOBBER insns after
- 	reload.  Handled in reload itself.
- 
- Tue Oct 27 23:32:34 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (verify_initial_offsets): New function.
- 	(reload): Call it after reload_as_needed.  Also verify that the frame
- 	size stays constant during reload_as_needed.
- 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Undo Jul 26 change.
- 
- 	* reload.h (struct insn_chain): Add need_operand_change element.
- 	* reload1.c (new_insn_chain): Clear it.
- 	(calculate_needs_all_insns): Set it; don't overload need_reload.
- 	(reload_as_needed): Use it.
- 
- 	* reload.c (find_reloads_address): Use BASE_REG_CLASS instead of
- 	reload_address_base_reg_class throughout.  Similar for INDEX_REG_CLASS
- 	and reload_address_index_reg_class.
- 	(find_reloads_address_1): Likewise.
- 	* reload.h (reload_address_base_reg_class,
- 	reload_address_index_reg_class): Don't declare.
- 	* reload1.c (reg_old_renumber, pseudo_previous_regs,
- 	pseudo_forbidden_regs, bad_spill_regs_global): New static variables.
- 	(used_spill_regs): Now static.
- 	(reload_address_base_reg_class, reload_address_index_reg_class,
- 	regs_explicitly_used, counted_for_groups, counted_for_nongroups,
- 	basic_block_needs, max_needs, group_size, group_mode, max_groups,
- 	max_nongroups, max_needs_insn, max_groups_insn, max_nongroups_insn,
- 	forbidden_regs):
- 	Deleted variables.
- 	(init_reload): Delete code to compute base/index reg classes.
- 	(reload): Delete variable J.
- 	Delete code to manage basic_block_needs.
- 	Don't compute regs_explicitly_used.
- 	Allocate, initialize and free reg_old_renumber, pseudo_forbidden_regs,
- 	pseudo_previous_regs.
- 	Initialize bad_spill_regs_global.
- 	Don't call order_regs_for_reload here.
- 	Don't initialize spill_reg_order and n_spills.
- 	Don't forbid explicitly used regs to be used for spill regs.
- 	Change main loop to infinite loop, with explicit break statements.
- 	Make SOMETHING_CHANGED variable local to that loop.
- 	Don't initialize max_needs, max_groups, max_nongroups, max_needs_insn,
- 	max_groups_insn, max_nongroups_insn, group_size, group_mode.
- 	Make sure spilled_pseudos is cleared before calling spill_hard_reg or
- 	new_spill_reg.
- 	Don't call dump_needs.
- 	Delete code to reset potential_reload_regs.
- 	Delete code to terminate loop conditional on the global needs variables
- 	showing no further needs.
- 	(calculate_needs_all_insns): Return void.  All callers changed.
- 	Initialize something_needs_elimination here, not in reload.
- 	Delete avoid_return_reg kludge.
- 	(calculate_needs): Lose AVOID_RETURN_REG and GLOBAL args, return void.
- 	All callers changed.
- 	Initialize the group_mode and group_size elements of the arg CHAIN.
- 	Delete code to manage basic_block_needs.
- 	Operate on elements of CHAIN instead of global variables.
- 	Delete avoid_return_reg kludge.
- 	(find_tworeg_group): Lose GLOBAL arg, take CHAIN arg, return void.
- 	All callers changed.
- 	Operate on elements of CHAIN instead of global variables.
- 	Delete special SMALL_REGISTER_CLASSES code.
- 	Delete spill_failure code; now in new_spill_reg.
- 	(find_group): Lose GLOBAL arg, take CHAIN arg, return void.
- 	All callers changed.
- 	Operate on elements of CHAIN instead of global variables.
- 	(maybe_mark_pseudo_spilled): New static function.
- 	(find_reload_regs): Lose GLOBAL arg, take CHAIN arg, return void.
- 	All callers changed.
- 	Operate on elements of CHAIN instead of global variables.
- 	Call order_regs_for_reload here, not in reload.
- 	Initialize spill_reg_order and n_spills.
- 	Simplify test whether an asm insn is involved.
- 	Delete spill_failure code; now in new_spill_reg.
- 	Call maybe_mark_pseudo_spilled for everything marked as live in
- 	CHAIN.  Merge CHAIN's used_spill_regs into the global variable
- 	used_spill_regs.
- 	(dump_needs): Take CHAIN arg.  No longer static, to prevent the
- 	compiler from optimizing this function (now unused) away.
- 	Operate on elements of CHAIN instead of global variables.
- 	(possible_group_p): Lose MAX_GROUPS arg, take CHAIN arg.  All callers
- 	changed.
- 	Operate on elements of CHAIN instead of global variables.
- 	(count_possible_groups): Lose GROUP_SIZE, GROUP_MODE, MAX_GROUPS args,
- 	take CHAIN arg.  All callers changed.
- 	Operate on elements of CHAIN instead of global variables.
- 	(new_spill_reg): Lose MAX_NEEDS, MAX_NONGROUPS, GLOBAL args, take
- 	CHAIN, NONGROUP args.  Return void.  All callers changed.
- 	Verify caller isn't trying to spill a pseudo.
- 	Simplify test for illegal reg, just use bad_spill_regs.
- 	Generate better error messages.
- 	Operate on elements of CHAIN instead of global variables.
- 	Mark spilled register in CHAIN's used_spill_regs element.
- 	Don't call spill_hard_reg.
- 	(spill_hard_reg): Lose GLOBAL arg, return void.  All callers changed.
- 	Mark spilled hard regs in bad_spill_regs_global.
- 	Mark affected pseudos in spilled_pseudos, but don't spill them.
- 	(ior_hard_reg_set): New static function.
- 	(finish_spills): Return int.  All callers changed.
- 	Compute spill_reg_order, n_spills and spill_regs here.  Also update
- 	regs_ever_live for regs used as spills.
- 	For every pseudo in spilled_pseudos, spill it and mark the previous
- 	hard reg it had in pseudo_previous_regs.  Compute which hard regs
- 	are used as spills in insns during which it is live, and retry global
- 	register allocation.  Update all life information in the
- 	reload_insn_chain not to include pseudos without hard regs.
- 	Call alter_reg for all affected speudos.
- 
- 	(scan_paradoxical_subregs): Disable SMALL_REGISTER_CLASSES special
- 	case, it's not clear what it's supposed to do.
- 
- 	(hard_reg_use_compare): Take bad_spill_regs into account.
- 	(pseudos_counted): New static variable.
- 	(count_pseudo): New static function.
- 	(order_regs_for_reload): Take CHAIN arg.  All callers changed.
- 	Initialize bad_spill_regs from bad_spill_regs_global, then merge any
- 	hard registers explicitly used across the current insn into the set.
- 	Compute hard_reg_n_uses taking only pseudos live across this insn
- 	into account.
- 	Tweak sorting of potential_reload_regs.
- 	(compare_spill_regs): Delete function.
- 	(reload_as_needed): Don't sort the spill_regs array, it's computed
- 	in proper order in finish_spills.
- 	Delete avoid_return_reg kludge.
- 	Delete code to manage basic_block_needs.
- 	(allocate_reload_reg): Minor speed/readability tweaks.
- 	Operate on elements of CHAIN instead of global variables.
- 	(choose_reload_regs): Lose AVOID_RETURN_REG arg.  All callers changed.
- 	Delete avoid_return_reg kludge.
- 	Initialize reload_reg_used from CHAIN's used_spill_regs element.
- 	Delete unused label FAIL.
- 	(reload_combine): Replace reload_address_index_reg_class with
- 	INDEX_REGS.
- 	Don't use used_spill_regs to determine information about lifetime of
- 	hard regs.
- 
- Tue Oct 27 13:15:02 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (display_help): Ignore empty target specific
- 	options, and if -W is also specified on the command line then
- 	display undocumented options.
- 
- 	* config/arm/arm.c: Updated with changes in devo sources.
- 	* config/arm/arm.h: Updated with changes in devo sources.
- 	* config/arm/lib1funcs.asm: Updated with changes in devo sources.
- 	* config/arm/lib1thumb.asm: Add ELF support.
- 
- Tue Oct 27 16:11:43 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (aix64_flag): New variable.
- 	(main, case 'b'): Parse it.
- 	(GCC_CHECK_HDR): Object magic number must match mode.
- 	(scan_prog_file): Only check for shared object if valid header.
- 	Print debugging if header/mode mismatch.
- 
- Tue Oct 27 10:15:02 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	Added support for arm-elf-linux configuration, submitted by Philip
- 	Blundell <pb@nexus.co.uk>, and integrated this with the arm-elf
- 	code developed by Catherine Moore <clm@cygnus.com>.  The following
- 	files are affected:
- 
- 	* configure.in: Add arm-*-linux-gnu, armv2-*-linux and arm-*-elf
- 	targets.
- 
- 	* configure: Regenerated.
- 
- 	* config/arm/aout.h: Add default definitions of REGISTER_PREFIX,
- 	USER_LABEL_PREFIX and LOCAL_LABEL_PREFIX.  Make other macro
- 	definitions conditional on their not having been already defined.
- 
- 	* config/arm/lin1funcs.asm: Add ELF only macros to generate .size
- 	and .type directives, and add "(PLT)" qualification to function
- 	calls.
- 
- 	* config/arm/linux.h: Deleted.  This file is now superseded by
- 	either linux-elf.h or linux-aout.h.
- 
- 	* config/arm/linux-gas.h: Define `inhibit_libc' if cross-compiling.
- 	(CLEAR_INSN_CACHE): New macro, currently disabled (awaiting kernel
- 	support).
- 	Move definitions from old linux.h file here.
- 
- 	* config/arm/elf.h: New file.  Generic ARM/ELF support.
- 
- 	* config/arm/linux-aout.h: New file.  Support for Linux with a.out.
- 
- 	* config/arm/linux-elf.h: New file.  Support for Linux with ELF.
- 
- 	* config/arm/linux-elf26.h: New file.  Support for Linux with ELF
- 	using the 26bit APCS.
- 
- 	* config/arm/unknown-elf.h: New file.  Support for OS'es other
- 	than Linux with ELF.
- 
- 	* config/arm/t-arm-elf: New file.  makefile fragment for arm-elf
- 	builds.
- 
- 	* config/arm/coff.h: Include aout.h for basic assembler macros.
- 	Add support for -mstructure_size_boundary=<n> command line option.
- 
- 	* config/arm/arm.h: Add support for -mstructure_size_boundary=<n>
- 	command line option.  Make macro definitions conditional on their
- 	not having been already defined.
- 
- 	* config/arm/arm.c: Add support for -mstructure_size_boundary=<n>
- 	command line option.
- 
- 
- Tue Oct 27 08:56:46 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* dwarfout.c (ASM_OUTPUT_DWARF_STRING_NEWLINE): ASM_OUTPUT_DWARF_STRING
- 	has been changed to not include a newline. Use this macro instead.
- 	(output_enumeral_list, const_value_attribute, name_attribute,
- 	comp_dir_attribute, prototyped_attribute, producer_attribute,
- 	inline_attribute, pure_or_virtual_attribute, output_inheritance_die,
- 	dwarfout_file_scope_decl, generate_new_sfname_entry,
- 	generate_macinfo_entry, dwarfout_init, dwarfout_finish): Use
- 	ASM_OUTPUT_DWARF_STRING_NEWLINE macro.
- 
- Mon Oct 26 13:35:02 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (subst): Process the inputs to a parallel asm_operands
- 	only once.
- 
- Mon Oct 26 13:32:31 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Accept `=' or `+' at any position.
- 
- Mon Oct 26 12:53:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tm.texi (ASM_OUTPUT_MAX_SKIP_ALIGN): Document.
- 
- Mon Oct 26 00:36:58 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Oct 25 23:36:52 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* stmt.c (expand_fixup): Set fixup->before_jump to a
- 	NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG.
- 
- Sun Oct 25 15:49:57 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (recog.o): Depend on toplev.h.
- 	(insn-emit.o): Depend on recog.h.
- 	(insn-peep.o): Depend on recog.h and insn-config.h.
- 
- 	* combine.c (simplify_set): Remove unused variable `scratches'.
- 
- 	* final.c (final_scan_insn): Wrap declaration of variables `vlen'
- 	and `idx' in macro conditional controlling their use.
- 
- 	* genemit.c (main): Make the generated output file include
- 	recog.h.  Don't have it declare `insn_operand_constraint', since
- 	we get it from recog.h.
- 
- 	* genpeep.c (main): Make the generated output file include
- 	insn-config.h and recog.h.
- 
- 	* recog.c: Include toplev.h.
- 	(extract_insn): Remove unused variable `p'.
- 
- 	* regclass.c (fix_register): Add missing braces around initializer
- 	for `what_option'.
- 	(allocate_reg_info): Move variable `i' into the scope where it is
- 	used.  Change its type to `size_t'.
- 
- Sun Oct 25 13:10:15 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload.c (push_reload): When merging reloads, make sure
- 	that reload_in_reg and reload_in are from the same reload in
- 	all cases.
- 
- Sun Oct 25 12:07:00 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/crtdll.h (CPP_PREDEFINES): Fix typo.
- 	* i386/mingw32.h (CPP_PREDEFINES): Likewise.
- 
- Fri Oct 23 23:42:03 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* loop.c (loop_has_tablejump): New variable.
- 	(prescan_loop): Scan for it.
- 	(insert_bct): Replace explicit scan with use of it.
- 	* regclass.c (regclass): Restore loop variable j.
- 	(record_reg_classes): Deterine op_types modifiers and initialize
- 	classes[i] before matching constraints.  Handle matching
- 	constraints 5-9.
- 
- Fri Oct 23 13:55:48 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* m32r/m32r.c (gen_split_move_double): Call alter_subreg.  Delete
- 	subreg support.
- 
- Fri Oct 23 16:19:24 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (EXTRA_SPECS): Add missing initializers.
- 
- Fri Oct 23 16:08:39 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.h (EXTRA_SPECS): Add missing initializers.
- 	(sparc_defer_case_vector): Provide a prototype.
- 
- 	* svr4.h (ASM_OUTPUT_ASCII): Cast STRING_LIMIT to (long) when
- 	comparing it to the result of a pointer subtraction.
- 
- Fri Oct 23 15:34:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (override_options): Use ISDIGIT(), not isdigit().  Cast
- 	the argument to (unsigned char).
- 
- 	* alpha.h (EXTRA_SPECS): Add missing initializers.
- 	(ASM_GENERATE_INTERNAL_LABEL): Ensure the argument matches the
- 	format specifier.
- 
- Fri Oct 23 13:12:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (life_analysis_1): Enable "rescan" code after reload.
- 	(propagate_block): Delete dead code after reload.
- 
- 	* sched.c (update_flow_info): Revert Oct 19, 1998 change.  Brings
- 	back Oct 15, 1998 change.
- 	* haifa-sched.c (update_flow_info): Likewise.
- 	* flow.c (life_analysis_1): Delete CLOBBER insns after reload.
- 
- 	* mn10200.md (truncated shift): Accept constant inputs too.
- 
- Fri Oct 23 04:06:57 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* machmode.h (mode_mask_array): No longer const.
- 	* rtl.c (init_rtl): Fully initialize it if EXTRA_CC_MODES defined.
- 
- Fri Oct 23 11:19:06 1998  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* frame.c: Somewhat explain `FDE'.
- 	Suggested by Brendan Kehoe
- 
- Fri Oct 23 00:56:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (pending_chain): Move up.
- 	(save_expr_status): Do save pending_chain.
- 	(restore_expr_status): And restore it.
- 	* function.h (struct function): Add pending_chain.
- 
- 1998-10-23  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reorg.c (relax_delay_slots): Fixed test for mostly_true_jump. The
- 	did not match the code.
- 
- Fri Oct 23 00:07:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* regclass.c (regclass): Break out some code into new function
- 	scan_one_insn, and into regclass_init.
- 	(init_cost): New static variable, moved out of regclass.
- 	(regclass_init): Initialize it here, not in .
- 	(scan_one_insn): New static function, broken out of regclass.
- 	* recog.c (apply_change_group): Break out some code into new
- 	function insn_invalid_p.
- 	(insn_invalid_p): New static fn, broken out of apply_change_group.
- 
- Thu Oct 22 22:34:42 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload1.c (reload_as_needed): When rewrite POST_INC, verify
- 	reg_reloaded_contents matches incremented pseudo.
- 
- 	* v850/v850.c (v850_reorg): Call alter_subreg.  Delete subreg support.
- 
- Fri Oct 23 11:11:56 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* rtl.def (POST_MODIFY, PRE_MODIFY): New generalized operators for
- 	addressing modes with side effects.  These are currently
- 	placeholders for the C4x target.
- 
- Thu Oct 22 16:46:35 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* loop.c (express_from): Make sure that when generating a PLUS of
- 	a PLUS, any constant expression appears on the outermost PLUS.
- 
- Thu Oct 22 15:46:23 1998  Per Bothner  (bothner@cygnus.com)
- 
- 	* Makefile.in (distdir-cvs, distdir-start): Clean up so it
- 	works if "$(srcdir)" != ".".
- 
- Wed Oct 21 19:23:59 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expmed.c (store_bit_field): If need to add a SUBREG, then remove
- 	existing SUBREG if we can, otherwise abort.
- 
- Wed Oct 21 09:58:51 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* c-common.c (c_apply_type_quals_to_decl): Don't crash when
- 	`restrict' is applied to a non-pointer variable.
- 
- Wed Oct 21 09:18:58 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* invoke.texi: Document -flang-isoc9x.
- 
- 	* Makefile.in (OBJS): Add splay-tree.o.
- 	(c-common.o): Depend on rtl.h.
- 	(splay-tree.o): List dependencies and provide build rule.
- 
- 	* rtl.h (record_alias_subset): New function.
- 	* alias.c: Include splay-tree.h.
- 	(alias_set_entry): New type.
- 	(CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove.
- 	(DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p.
- 	(mems_in_disjoin_alias_sets_p): New function.
- 	(alias_set_compare): Likewise.
- 	(insert_subset_children): Likewise.
- 	(get_alias_set_entry): Likewise.
- 
- 	* tree.h (TYPE_RESTRICT): New macro.
- 	(TYPE_UNQUALIFIED): New manifest constant.
- 	(TYPE_QUAL_CONST): Likewise.
- 	(TYPE_QUAL_VOLATILE): Likewise.
- 	(TYPE_QUAL_RESTRICT): Likewise.
- 	(tree_type): Add restrict_flag.  Reduce count of free bits.
- 	(DECL_POINTER_ALIAS_SET): New macro.
- 	(DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise.
- 	(tree_decl): Add pointer_alias_set.
- 	(build_qualified_type): New function.
- 	(build_type_variant): Define in terms of build_qualified_type.
- 	* tree.c (set_type_quals): New function.
- 	(make_node): Initialize DECL_POINTER_ALIAS_SET.
- 	(build_type_attribute_variant): Use build_qualified_type and
- 	set_type_quals.
- 	(build_type_variant): Rename, and modify, to become...
- 	(build_qualified_type): New function.
- 	(build_complex_type): Use set_type_quals.
- 
- 	* c-tree.h (C_TYPE_OBJECT_P): New macro.
- 	(C_TYPE_FUNCTION_P): Likewise.
- 	(C_TYPE_INCOMPLETE_P): Likewise.
- 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
- 	(c_apply_type_quals_to_decl): New function.
- 	(c_build_qualified_type): New function.
- 	(c_build_type_variant): Define in terms of c_build_qualified_type.
- 	(flag_isoc9x): Declare.
- 	* c-typeck.c (qualify_type): Use c_build_qualified_type.
- 	(common_type): Change to use TYPE_QUALS.
- 	(comptypes): Likewise.
- 	(convert_for_assignment): Likewise.
- 	* c-aux-info.c (gen_type): Likewise.  Deal with `restrict'.
- 	* c-decl.c (flag_isoc9x): Define.
- 	(c_decode_option): Handle -flang-isoc9x.
- 	(grokdeclarator): Update to handle restrict.  Use TYPE_QUALS,
- 	c_build_qualified_type, etc.  Use c_apply_type_quals_to_decl.
- 	* c-lex.c (init_lex): Deal with restrict.
- 	(init_lex): Don't treat restrict as a reserved word in
- 	-traditional mode, or without -flang-isoc9x.
- 	* c-lex.h (rid): Add RID_RESTRICT.
- 	* c-parse.gperf (restrict, __restrict, __restrict__): Make
- 	equivalent to RID_RESTRICT.
- 	* c-parse.in (TYPE_QUAL): Update comment.
- 	* c-common.c: Include rtl.h.
- 	(c_find_base_decl): New function.
- 	(c_build_type_variant): Rename, and modify, to become ...
- 	(c_build_qualified_type): New function.
- 	(c_apply_type_quals_to_decl): Likewise.
- 	(c_get_alias_set): For INDIRECT_REFs, check to see if we can find
- 	a particular alias set for the reference.
- 	* toplev.c (documented_lang_options): Add -flang-isoc9x.
- 
- Wed Oct 21 09:15:06 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (TARGET_SWITCHES): Document arm specific
- 	command line switches.
- 
- Tue Oct 20 10:04:51 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* reload.c (loc_mentioned_in_p): Add missing braces to bind
- 	else to correct if.
- 
- Mon Oct 19 16:34:05 1998  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (option_map): Added --classpath and --CLASSPATH.
- 
- Tue Oct 20 10:59:02 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* regclass.c (fix_register): Add error message.
- 	* invoke.texi (-fcall-used-REG,-fcall-saved-REG): Note the
- 	  new error message.
- 
- Tue Oct 20 10:12:17 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (warn_missing_noreturn): New global variable.
- 	(c_decode_option): Check for new flags -W{no-}missing-noreturn.
- 	(finish_function): Implement missing noreturn warning.
- 
- 	* c-tree.h (warn_missing_noreturn): Declare extern.
- 
- 	* invoke.texi: Document new flags.
- 
- 	* toplev.c (documented_lang_options): Add description.
- 
- Tue Oct 20 22:16:11 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_parallel_process): Disable until BCT
- 	loop optimization stable for the C4x.
- 	(c4x_rptb_info_t, c4x_dump, c4x_rptb_in_range, c4x_rptb_unjumped_loop,
- 	c4x_rptb_find_comp_and_jump, c4x_rptb_loop_info_get,
- 	c4x_rptb_emit_init, c4x_rptb_process): Deleted (superseded by BCT
- 	loop optimization).
- 	(c4x_address_conflict): Be more paranoid when packing a volatile
- 	memref in a parallel load/store.
- 
- Tue Oct 20 21:56:05 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (repeat_block_top, repeat_block_end,
- 	repeat_block_filler): Deleted.
- 	(*ashlqi3_set, *ashrqi3_const_set, *ashrqi3_nonconst_clobber):
- 	Condition code not set if destination register from 'c' class.
- 	(*subbqi3_carry_clobber): Fix typo.
- 
- 1998-10-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reorg.c (steal_delay_list_from_target): Check for insns that
- 	modify the condition codes and effect the direction of the jump
- 	in the sequence.
- 
- Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* function.c (purge_addressof_1): Replace call to
- 	emit_insns_before() with emit_insn_before().
- 
- Mon Oct 19 19:34:03 1998  Mike Stump  <mrs@wrs.com>
- 
- 	* libgcc2.c (__pure_virtual): Call __terminate instead of _exit.
- 
- Mon Oct 19 13:26:24 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* jump.c (sets_cc0_p): Compile only if HAVE_cc0.
- 
- Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (compute_hash_table): Correctly identify hard regs which are
- 	clobbered across calls.
- 
- 	* loop.c (scan_loop): Be more selective about what invariants are
- 	moved out of a loop.
- 
- Mon Oct 19 10:46:58 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Oct 19 11:40:56 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* libgcc2.c (eh_context_static): Do not call malloc to allocate the
- 	static eh_context structure.
- 
- Mon Oct 19 10:45:40 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* combine.c (recog_for_combine): Lose PADDED_SCRATCHES arg.  All
- 	callers changed.
- 	(try_combine): Don't update max_scratch.
- 	* flow.c (max_scratch, num_scratch): Delete variables.
- 	(life_analysis_1): Don't initialize max_scratch.
- 	(propagate_block): Don't update max_scratch.
- 	(mark_set_1): Don't increment num_scratch.
- 	* regs.h (max_scratch): Delete declaration.
- 
- Mon Oct 19 10:28:15 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_reg_free_before_p): Hack.  Return 0 if EQUIV
- 	is nonzero.  This is temporary!
- 
- 	* sched.c (update_flow_info): Handle death notes made invalid by
- 	instruction splitting.  Partially reverts Oct 15, 1998 patch.
- 	* haifa-sched.c (update_flow_info): Likewise.
- 
- Sun Oct 18 17:31:26 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (uninitialized_vars_warning): Do not warn for a VAR_DECL
- 	if it has a nonzero DECL_INITIAL.
- 
- Sat Oct 17 23:18:08 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (flow.o): Depend on recog.h.
- 
- 	* cpplib.h (directive_table): Add missing initializiers.
- 	(finclude): Change type of variable `bsize' to size_t.
- 
- 	* cse.c (rtx_cost): Mark parameter `outer_code' with ATTRIBUTE_UNUSED.
- 
- 	* dwarfout.h (dwarfout_label): Wrap prototype in macro RTX_CODE.
- 
- 	* fix-header.c (lookup_std_proto): Cast the result of `strlen' to
- 	`int' when comparing against one.
- 	(cpp_file_line_for_message): Mark parameter `pfile' with
- 	ATTRIBUTE_UNUSED.
- 	(cpp_fatal): Mark parameter `pfile' with ATTRIBUTE_UNUSED.
- 
- 	* flow.c: Include recog.h.
- 	(sbitmap_copy): Cast arguments 1 & 2 of `bcopy' to (PTR).
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Mark parameter
- 	`f' with ATTRIBUTE_UNUSED.
- 	(reposition_prologue_and_epilogue_notes): Likewise.
- 
- 	* genopinit.c (gen_insn): Cast argument of ctype functions to
- 	`unsigned char'.
- 
- 	* haifa-sched.c: Include recog.h.
- 	(blockage_range): Cast result of UNIT_BLOCKED macro to (int) when
- 	comparing against one.
- 
- 	* libgcc2.a (__throw): Revert ATTRIBUTE_UNUSED change for now.
- 
- 	* mips-tfile.c (parse_end): Cast the argument of ctype function to
- 	`unsigned char'.
- 	(parse_ent): Likewise.
- 	(parse_input): Likewise.
- 
- 	* optabs.c (init_libfuncs): Likewise.
- 
- 	* protoize.c (find_rightmost_formals_list): Likewise.
- 
- 	* recog.h (const_double_operand): Fix typo in prototype.
- 
- 	* tlink.c (scan_linker_output): Cast the argument of ctype
- 	function to `unsigned char'.
- 
- 	* toplev.c (check_lang_option): Cast the result of `strlen' to
- 	`int' when comparing against one.
- 
- Sat Oct 17 13:09:09 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* gcse.c (dump_cuid_table): Correct typo.
- 
- Sat Oct 17 11:02:47 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (display_help): Prepend '-m' to target specific
- 	options.
- 	(check_lang_option): Ignore text after end of first word of a
- 	language specific option.
- 
- Sat Oct 17 02:26:03 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (reg_used_by_pseudo): New static variable.
- 	(choose_reload_regs): Initialize it.
- 	Use it instead of testing spill_reg_order to determine whether a
- 	pseudo is live in a hard register across the current insn.
- 	Fix a typo in a reference to reload_reg_rtx.
- 
- 	* flow.c (propagate_block): Replace code that computes and uses
- 	regs_sometimes_live with simpler code that just walks the set of
- 	currently live registers.
- 
- 	* Makefile.in (insn-extract.o): Fix dependencies.
- 	* genextract.c (main): Generate includes for insn-config.h and
- 	recog.h.
- 	Delete generation of declarations which are now in recog.h.
- 	* genrecog.c (main): Delete generation of definitions which are
- 	now in recog.c.
- 	* local-alloc.c (block_alloc): Use extract_insn and the variables
- 	it sets up instead of looking up values by insn_code.
- 	* recog.c (recog_operand, recog_operand_loc, recog_dup_loc,
- 	recog_dup_num): Define here instead of generating the definition in
- 	genrecog.c.
- 	(recog_n_operands, recog_n_dups, recog_n_alternatives,
- 	recog_operand_mode, recog_constraints, recog_operand_address_p):
- 	New variables.
- 	(extract_insn): New function.
- 	* recog.h (extract_insn): Declare function.
- 	(which_alternative, recog_n_operands, recog_n_dups,
- 	recog_n_alternatives, recog_operand_mode, recog_constraints,
- 	recog_operand_address_p): Declare variables.
- 	* regclass.c (n_occurrences): New static function.
- 	* reload.c (n_occurrences): Delete function.
- 	(find_reloads): Use extract_insn.
- 	* reload.h (n_occurrences): Delete declaration.
- 
- Sat Oct 17 01:17:51 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_as_needed): Fix test for when to call
- 	update_eliminable_offsets.
- 
- Fri Oct 16 20:40:50 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	Fix consistency problems with reg_equiv_{mem,address};
- 	Improve reload inheritance;
- 
- 	* reload.c (reload_out_reg): New variable.
- 	(loc_mentioned_in_p, remove_address_replacements): New functions.
- 	(remove_replacements): Deleted.
- 	(push_reload): Set reload_out_reg[i].
- 	When merging, also set reload_{in,out}_reg[i], and remove
- 	duplicate address reloads.
- 	(combine_reloads): Copy reload_out_reg[i].
- 	(find_reloads): Do make_memloc substitution also when
- 	reg_equiv_memory_loc[regno] and num_not_at_initial_offset
- 	are both nonzero.
- 	Include *recog_operand_loc in commutativity operand changes.
- 	Generate optional output reloads.
- 	Delete reference to n_memlocs.  Don't set *recog_operand_loc before
- 	processing operands.  Call make_memloc in reg_equiv_address code.
- 	Set *recog_operand_loc only after processing operands, and only
- 	if replace is true.  Return a value.
- 	When changing address reload types for operands that didn't get
- 	reloaded, use RELOAD_FOR_OPADDR_ADDRESS for
- 	RELOAD_FOR_INPADDR_ADDRESS / RELOAD_FOR_OUTADDR_ADDRESS reloads.
- 	Don't emit USEs for pseudo SUBREGs when not replacing.
- 	(find_reloads_address): Do make_memloc substitution also when
- 	reg_equiv_memory_loc[regno] and num_not_at_initial_offset
- 	are both nonzero.
- 	(find_reloads_toplev): Likewise.
- 	Call make_memloc in reg_equiv_address code.
- 	(debug_reload_to_stream): Add code to output reload_out_reg.
- 	(make_memloc): Delete local variable i, ifdefed out code, and
- 	references to memlocs and n_memlocs.
- 	(memlocs, n_memlocs): Delete.
- 	(push_secondary_reload): Clear reload_out_reg.
- 	(find_reloads_address_1): Provide memrefloc argument to all calls
- 	to find_reloads_address.
- 	In AUTO_INC code, handle non-directly addressable equivalences properly.
- 	* reload.h (reload_out_reg, num_not_at_initial_offset): Declare.
- 	(find_reloads): Add return type.
- 	(remove_address_replacements, deallocate_reload_reg): Declare.
- 	* reload1.c (num_not_at_initial_offset): No longer static.
- 	(delete_address_reloads, delete_address_reloads_1): Likewise.
- 	(deallocate_reload_reg): New function.
- 	(spill_reg_stored_to): New array.
- 	(eliminate_regs): Don't substitute from reg_equiv_memory_loc.
- 	(eliminate_regs_in_insn): Move assignments of previous_offset and
- 	max_offset fields, and recalculation of num_not_at_initial_offset
- 	into new static function:
- 	(update_eliminable_offsets) .
- 	(reload_as_needed): Call update_eliminable_offsets after calling
- 	find_reloads.
- 	Call forget_old_reloads_1 with contents of reloaded auto_inc
- 	expressions if the actual addressing can't be changed to match the
- 	auto_inc.
- 	(choose_reload_regs): For inheritance, replace
- 	reload_reg_free_before_p test with reload_reg_used_at_all test, and
- 	remove stand-alone reload_reg_used_at_all test.
- 	Use reload_out_reg to determine which reload regs have output reloads.
- 	Treat reload_override_in more similar to inherited reloads.
- 	Handle (subreg (reg... for inheritance.
- 	For flag_expensive_optimizations, add an extra pass to remove
- 	unnecessary reloads from known working inheritance.
- 	Delete obsolete code for pseudos replaced with MEMs.
- 	Handle inheritance from auto_inc expressions.
- 	(emit_reload_insns): If reload_in is a MEM, set OLD to
- 	reload_in_reg[j].
- 	Don't reload directly from oldequiv; if it's a pseudo with a
- 	stack slot, use reload_in[j].
- 	Check that reload_in_reg[j] is a MEM before replacing reload_in
- 	from reg_reloaded_contents.
- 	Include non-spill registers in reload inheritance processing.
- 	Also try to use reload_out_reg to set spill_reg_store /
- 	reg_last_reload_reg.
- 	In code to set new_spill_reg_store, use single_set to find out if
- 	there is a single set.
- 	Add code that allows to delete optional output reloads.
- 	Add code to allow deletion of output reloads that use no spill reg.
- 	At the end, set reload_override_in to oldequiv.
- 	Also call delete_output_reload if reload_out_reg is equal to old
- 	in oldequiv code.
- 	Add code to call delete_output_reload for stores with no matching load.
- 	Set / use spill_reg_stored_to.
- 	Handle case where secondary output reload uses a temporary, but
- 	actual store isn't found.
- 	When looking for a store of a value not loaded in order to call
- 	delete_output_reload, count_occurrences should return 0 for no
- 	loads; but discount inherited input reloadill_reg_stored_to.
- 	Do checks for extra uses of REG.  Changed all
- 	callers.
- 	Use delete_address_reloads.
- 	(reload): Take return value of find_reloads into account.
- 	If a no-op set needs more than one reload, delete it.
- 	(reload_reg_free_before_p): RELOAD_FOR_INPUT
- 	can ignore RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
- 	for the same operand.
- 	(clear_reload_reg_in_use): Check for other reloads that keep a
- 	register in use.
- 	(reload_reg_free_for_value_p): Handle RELOAD_FOR_OPERAND_ADDRESS /
- 	RELOAD_FOR_OPADDR_ADDR.
- 	Take into account when an address address reload is only needed
- 	for the address reload we are considering.
- 	(count_occurrences): Use rtx_equal_p for MEMs.
- 	(inc_for_reload): Return instruction that stores into RELOADREG.
- 	New argument two, IN, and rtx.  Changed all callers.
- 	(calculate_needs_all_insns, reload_as_needed):
- 	Don't clear after_call for a CLOBBER.
- 	Keep track of how many hard registers need to be copied from
- 	after_call, and don't clear after_call before we have seen
- 	that much copies, or we see a different instruction.
- 
- Fri Oct 16 10:58:23 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks_1): Do not delete unreachable blocks
- 	after reload has completed.
- 
- Fri Oct 16 17:26:10 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cpplib.c (cpp_get_token): Replace whitespace that occurs between
- 	a macro name and the next token with a single blank if that whitespace
- 	is in a macro buffer and the next token is not '('.
- 
- Fri Oct 16 15:44:02 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cccp.c (rescan): Handle multibyte characters ending in backslash.
- 	(rescan): Likewise.
- 	(skip_if_group): Likewise.
- 	(skip_to_end_of_comment): Likewise.
- 	(macarg1): Likewise.
- 	(discard_comments): Likewise.
- 	(change_newlines): Likewise.
- 
- Fri Oct 16 15:26:24 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* c-lex.c (yylex): Fix unaligned access of wchar_t.
- 
- Fri Oct 16 10:47:53 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (TARGET_SWITCHES): Add --help documentation.
- 	(TARGET_OPTIONS): Add --help documentation.
- 
- Fri Oct 16 11:49:01 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (sets_cc0_p): Revert Oct 14 ATTRIBUTE_NORETURN change.
- 
- Fri Oct 16 07:08:46 1998  Bruce Korb  <korb@datadesign.com>
- 
- 	* fixinc/* Moved in from ../contrib directory in preparation
- 	for integrating it into the normal build process.  In particular,
- 	fixinc/Makefile.in must be config-ed into the build directory
- 	as fixinc/Makefile.  Proposed patches to ./Makefile.in and
- 	./configure.in will be "in the mail" momentarily.
- 
- Fri Oct 16 08:13:46 1998  David S. Miller  <davem@pierdol.cobaltnet.com>
- 
- 	* cse.c (cse_basic_block): Fixup hash flushing loop so we do not
- 	accidently walk into the free list.  Comment how that can happen.
- 	(invalidate): Fix indentation.
- 
- Thu Oct 15 23:53:29 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (life_analysis_1): Do not clobber regs_ever_live after
- 	reload.  Never perform rescans of the insn chain after reload.
- 	(propagate_block): Do not delete insn or create new autoinc addressing
- 	modes after reload.
- 
- 	* jump.c (jump_optimize): Unconditionally use the code that was
- 	previously conditional on PRESERVE_DEATH_INFO_REGNO_P.
- 	* reload1.c (reload): When reloading is finished, delete all
- 	REG_DEAD and REG_UNUSED notes.
- 	(emit_reload_insns): Delete all code that was conditional on
- 	PRESERVE_DEATH_INFO_REGNO_P.
- 	(no_longer_dead_regs): Delete variable.
- 	(reload_cse_delete_death_notes): Delete function.
- 	(reload_cse_no_longer_dead): Delete function.
- 	(reload_cse_regs_1): Delete all code to handle deletion of death
- 	notes.
- 	(reload_cse_noop_set_p): Likewise.
- 	(reload_cse_simplify_set): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	(reload_cse_move2add): Likewise.
- 	* reorg.c (used_spill_regs): Delete declaration.
- 	(max_label_num_after_reload): Delete declaration.
- 	(find_dead_or_set_registers): Don't assume that spill regs are
- 	dead at a CODE_LABEL.
- 	* rtlanal.c (dead_or_set_regno_p): Death notes are always accurate,
- 	even after reload.
- 	* sched.c (sched_analyze_insn): Likewise.
- 	(update_flow_info): Likewise.
- 	* haifa-sched.c (sched_analyze_insn): Likewise.
- 	(update_flow_info): Likewise.
- 	* tm.texi (PRESERVE_DEATH_INFO_REGNO_P): Delete documentation.
- 	* toplev.c (max_label_num_after_reload): Delete variable.
- 	(rest_of_compilation): Don't set max_label_num_after_reload.
- 	Call life_analysis after reload_cse_regs if optimizing.
- 	* config/gmicro/gmicro.h: Delete comment referring to
- 	PRESERVE_DEATH_INFO_REGNO_P.
- 	* config/i386/i386.h: Likewise.
- 	* config/m88k/m88k.h: Likewise.
- 	* config/m32r/m32r.h (PRESERVE_DEATH_INFO_REGNO_P): Delete definition.
- 	* config/sh/sh.h: Likewise.
- 
- Thu Oct 15 19:48:41 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* loop.c (strength_reduce): Restore marking bct_p as
- 	ATTRIBUTE_UNUSED.
- 	* rs6000.c (optimization_options): Change #ifdef HAIFA to
- 	HAVE_decrement_and_branch_on_count.
- 	(small_data_operand): Remove TARGET_ELF condition for marking
- 	parameters ATTRIBUTE_UNUSED.
- 
- Thu Oct 15 11:45:51 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* config/i386/sco5.h (MAX_OFILE_ALIGNMENT): Define.
- 	(SELECT_SECTION): Resync with svr4.h.
- 
- Thu Oct 15 12:42:13 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* loop.c (strength_reduce): Undo Oct 14 change marking bct_p
- 	ATTRIBUTE_UNUSED.
- 
- Thu Oct 15 00:57:55 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* c-pragma.c (handle_pragma_token): Test for null tree before
- 	dereferencing TREE_CODE.
- 
- Thu Oct 15 17:36:48 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c: Convert to use GEN_INT.
- 	(c4x_parallel_process): Rework to handle new repeat loop structure.
- 
- 	* config/c4x/c4x.md: Convert to use GEN_INT.
- 	(rptb_end): Convert to use GE test.  Replace uses with clobbers.
- 	(decrement_and_branch_on_count): Likewise.
- 
- 	* config/c4x/c4x.h (REPEAT_BLOCK_PROCESS): Deleted hook now that
- 	loop.c has the desired functionality.
- 	(rc_reg_operand): New prototype.
- 
- 	* config/c4x/t-c4x: Can now build all front ends.
- 
- Wed Oct 14 23:27:08 1998  Didier FORT  (didier.fort@fedex.com)
- 
- 	* fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS.
- 
- Wed Oct 14 22:13:28 1998  Joel Sherrill  (joel@OARcorp.com)
- 
- 	* Makefile.in (stmp-fixinc): Do not install assert.h if not desired.
- 	* config/t-rtems: Do not install assert.h -- use newlib's.
- 
- Wed Oct 14 21:57:08 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* combine.c (combine_instructions): When finished, call init_recog.
- 	* regmove.c (optimize_reg_copy_3): Reject volatile MEMs.
- 
- Wed Oct 14 16:10:22 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* toplev.c: If flag_syntax_only, don't open or write assembler file.
- 
- Wed Oct 14 13:26:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppalloc.c (memory_full): Mark function prototype with
- 	ATTRIBUTE_NORETURN.
- 
- 	* demangle.h (collect_exit): Likewise.
- 
- 	* fix-header.c (v_fatal, fatal): Likewise.
- 
- 	* gcc.c (pfatal_with_name, pfatal_pexecute, fatal, fancy_abort):
- 	Likewise.
- 
- 	* gcov.c (print_usage): Likewise.
- 
- 	* genattr.c (fatal, fancy_abort): Likewise.
- 
- 	* genattrtab.c (fatal, fancy_abort): Likewise.
- 
- 	* gencodes.c (fatal, fancy_abort): Likewise.
- 
- 	* genconfig.c (fatal, fancy_abort): Likewise.
- 
- 	* genemit.c (fatal, fancy_abort): Likewise.
- 
- 	* genextract.c (fatal, fancy_abort): Likewise.
- 
- 	* genflags.c (fatal, fancy_abort): Likewise.
- 
- 	* genopinit.c (fatal, fancy_abort): Likewise.
- 
- 	* genoutput.c (fatal, fancy_abort): Likewise.
- 
- 	* genpeep.c (fatal, fancy_abort): Likewise.
- 
- 	* genrecog.c (fatal, fancy_abort): Likewise.
- 
- 	* libgcc2.c (__eprintf, __default_terminate, __sjthrow,
- 	__sjpopnthrow, __throw): Likewise.
- 
- 	* objc/objc-act.c (objc_fatal): Likewise.
- 
- 	* protoize.c (usage, aux_info_corrupted,
- 	declare_source_confusing): Likewise.
- 
- 	* rtl.c (dump_and_abort): Likewise.
- 
- 	* rtl.h (sets_cc0_p): Likewise.
- 
- 	* toplev.c (float_signal, pipe_closed): Likewise.
- 
- 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Look at all ranges
- 	when generating the decision tree for the general case.
- 
- 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Don't accept modes
- 	wider that 12 bytes in fpu regs or wider than 8 byte in fpa regs.
- 
- Wed Oct 14 11:14:02 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (sched.o): Depend on recog.h.
- 
- 	* alias.c (REG_BASE_VALUE): Cast the result of REGNO() macro to
- 	(unsigned) when comparing against one.
- 	(find_base_value): Likewise.
- 	(record_base_value): Cast variable `regno' to (unsigned) when
- 	comparing against one.  Cast the result of REGNO() macro to
- 	(unsigned) when comparing against one.
- 	(memrefs_conflict_p): Change type of variables `r_x' and `r_y'  to
- 	unsigned.
- 	(init_alias_analysis): Add unsigned variable `ui'.  Use it as loop
- 	variable where an unsigned index is needed.
- 
- 	* caller-save.c (init_caller_save): Cast `-1' to (enum insn_code)
- 	before comparing against one.
- 
- 	* collect2.c: Add prototypes for functions `error', `fatal' and
- 	`fatal_perror'.  Make these functions take variable arguments
- 	instead of faking it with a fixed number of args.
- 	(write_c_file_stat): Cast the argument of ctype macro to (unsigned
- 	char).
- 
- 	* combine.c (can_combine_p): Mark parameter `pred' with
- 	ATTRIBUTE_UNUSED.
- 	(find_split_point): Cast variable `src' to (unsigned
- 	HOST_WIDE_INT) when comparing against one.
- 	(simplify_rtx): Cast 1 to (unsigned HOST_WIDE_INT) in shift.
- 	(simplify_logical): Likewise.
- 	(force_to_mode): Cast result of INTVAL() macro to (unsigned
- 	HOST_WIDE_INT) when comparing against one.  Cast 1 to (unsigned
- 	HOST_WIDE_INT) in shift.
- 	(simplify_and_const_int): Cast result of INTVAL() macro to
- 	`unsigned HOST_WIDE_INT' when comparing against one.
- 	(merge_outer_ops): Cast variable const0 to `unsigned
- 	HOST_WIDE_INT' when comparing against the result of
- 	GET_MODE_MASK() macro.
- 	(simplify_comparison): Likewise for variable `c0'.  Cast variable
- 	`const_op' to `unsigned HOST_WIDE_INT' when comparing against
- 	one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast the
- 	result of `GET_MODE_MASK()/2' to `HOST_WIDE_INT' when comparing
- 	against one.  Cast `1' to `unsigned HOST_WIDE_INT' in shift.  Cast
- 	result of INTVAL() macro to `unsigned HOST_WIDE_INT' when
- 	comparing against one.
- 	(distribute_notes): Wrap variable `cc0_setter' in macro `HAVE_cc0'.
- 
- 	config/mips/mips.c (gen_int_relational): Cast result of INTVAL()
- 	macro to `unsigned HOST_WIDE_INT' when comparing against one.
- 	(output_block_move): Cast `sizeof' expression to (int) when
- 	comparing against one.
- 	(function_arg): Cast BITS_PER_WORD to `unsigned' when comparing
- 	against one.
- 	(save_restore_insns): Cast `base_offset' to `long' to match format
- 	specifier in fprintf.
- 
- 	* config/mips/mips.h (Pmode): Cast the result of `Pmode' macro
- 	to `enum machine_mode'.
- 
- 	* flow.c (life_analysis_1): Remove unused variable `insn'.
- 
- 	* gcc.c (translate_options): Move variables `j' and `k' into the
- 	scope in which they are used.  Change their types to `size_t'.
- 	(set_spec): Cast the argument of ctype macro to `unsigned char'.
- 	(read_specs): Likewise.
- 	(process_command): Cast `sizeof' to (int) when comparing against one.
- 	(do_spec_1): Cast the argument of ctype macro to `unsigned char'.
- 	(handle_braces): Cast both sides of `==' expression to `long' to
- 	ensure sign matching.
- 	(main): Cast variable `i' to `int' when comparing against one.
- 
- 	* gcov-io.h (__fetch_long): Change type of parameter `bytes' from
- 	int to size_t.  Cast variable `i' to size_t when comparing against
- 	one.
- 
- 	* genattrtab.c (convert_set_attr_alternative): Remove unused
- 	parameter `insn_code'.  All callers changed.
- 	(convert_set_attr): Likewise.
- 
- 	* genrecog.c (add_to_sequence): Cast result of XVECLEN() macro to
- 	size_t when comparing against one.  Likewise for variable `len'.
- 
- 	* global.c (global_alloc): Cast variable `max_regno' to size_t
- 	when comparing against one.  Likewise for variable `max_allocno'.
- 
- 	* jump.c (sets_cc0_p): Mark parameter `x' with ATTRIBUTE_UNUSED.
- 
- 	* local-alloc.c (validate_equiv_mem_from_store): Mark parameter
- 	`set' with ATTRIBUTE_UNUSED.
- 	(find_free_reg): Cast `sizeof' expression to (int) when comparing
- 	against one.
- 
- 	* loop.c (count_loop_regs_set): Remove unused variable `dest'.
- 	(strength_reduce): Mark parameter `bct_p' with ATTRIBUTE_UNUSED.
- 	(get_condition): Cast variable `const_val' to `unsigned
- 	HOST_WIDE_INT' when comparing against one.  Cast unsigned
- 	expression to HOST_WIDE_INT when comparing against one.
- 	(insert_loop_mem): Mark parameter `data' with ATTRIBUTE_UNUSED.
- 	(load_mems_and_recount_loop_regs_set): Cast variable `nregs' to
- 	`unsigned' when comparing against one.
- 
- 	* protoize.c (is_id_char): Change type of parameter `ch' to
- 	unsigned char.
- 	(munge_compile_params): Cast argument of ctype macro to (const
- 	unsigned char).
- 	(process_aux_info_file): Cast variable `aux_info_size' to int when
- 	comparing against one.
- 	(forward_to_next_token_char): Cast argument of ctype macro to
- 	`const unsigned char'.
- 	(edit_formals_lists): Likewise.
- 	(find_rightmost_formals_list): Likewise.
- 	(add_local_decl): Likewise.
- 	(add_global_decls): Likewise.
- 	(edit_fn_definition): Likewise.
- 	(do_cleaning): Likewise.
- 	(scan_for_missed_items): Likewise.
- 	(edit_file): Cast variable `orig_size' to (int) when comparing
- 	against one.
- 	(main): Cast argument of ctype macro to `const unsigned char'.
- 
- 	* recog.c (const_int_operand): Mark parameter `mode' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* regclass.c (record_reg_classes): Change type of variable `c' to
- 	`unsigned char'.  Cast `char' array index to `unsigned char'.
- 
- 	* reload.c (push_secondary_reload): Cast argument to
- 	REG_CLASS_FROM_LETTER() macro to `unsigned char'.
- 
- 	* reload1.c (calculate_needs): Cast `char' array index to
- 	`unsigned char'.
- 	(set_label_offsets): Change type of variable `i' to unsigned int.
- 	Cast result of XVECLEN() macro to unsigned when comparing against
- 	one.
- 	(mark_not_eliminable): Change type of variable `i' to unsigned.
- 	(order_regs_for_reload): Likewise.  Cast `max_regno' to unsigned
- 	when comparing against one.
- 	(reload_as_needed): Cast macro NUM_ELIMINABLE_REGS to (int) when
- 	comparing against one.
- 	(choose_reload_regs): Hide unused label `fail'.
- 	(reload_cse_simplify_operands): Cast `char' array index to
- 	`unsigned char'.
- 	(reload_combine_note_store): Mark parameter `set' with
- 	ATTRIBUTE_UNUSED.  Cast UNITS_PER_WORD to unsigned when comparing
- 	against one.
- 	(reload_cse_move2add): Remove unused variable `src2'.
- 
- 	* sched.c: Include recog.h.
- 	(sched_note_set): Remove unused parameter `b'.  All callers
- 	changed.
- 	(split_hard_reg_notes): Likewise for parameter `orig_insn'.
- 	(blockage_range): Cast result of UNIT_BLOCKED() macro to (int)
- 	when comparing against one.
- 
- 	* stupid.c (stupid_find_reg): Mark parameter `changes_size' with
- 	ATTRIBUTE_UNUSED.  Cast `sizeof' expression to (int) when
- 	comparing against one.
- 
- 	* unroll.c (precondition_loop_p): Remove unused parameter
- 	`loop_end'.  All callers changed.
- 
- Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* reload1.c (maybe_fix_stack_asms): New static function.
- 	(reload): Call it.
- 
- 	* reload.h (compute_use_by_pseudos): Declare.
- 
- 	* reload1.c (spilled_pseudos, insns_need_reload): New variables.
- 	(something_needs_reloads): Delete variable.
- 	(finish_spills): New function.
- 	(compute_use_by_pseudos): New function.
- 
- 	(delete_caller_save_insns): Lose argument FIRST.  All callers changed.
- 	Use the reload_insn_chain instead of walking the rtl directly.
- 
- 	(reload): Allocate and free spilled_pseudos.
- 	Ensure that all calls of spill_hard_reg are followed by a call to
- 	finish_spills.
- 	Use the insns_need_reload list instead of something_needs_reloads
- 	to find out if reload_as_needed must be called.
- 	Clear unused_insn_chains at the end.
- 
- 	(calculate_needs_all_insns): Lose FIRST parameter.  All callers
- 	changed.
- 	Delete code to keep track of current basic block.
- 	Walk reload_insn_chain instead of the rtl structure.  Build the
- 	insns_need_reload chain.
- 	Remember which insns need reloading/elimination by setting the
- 	appropriate fields in struct insn_chain, not by putting modes on the
- 	insn.
- 
- 	(calculate_needs): Lose THIS_BLOCK arg.  Accept arg CHAIN instead of
- 	arg INSN.  All callers changed.
- 	Delete declaration of struct needs.
- 	Don't set something_needs_reloads.
- 	Record insn needs in the CHAIN argument.
- 
- 	(spill_hard_reg): Record the affected pseudos in spilled_pseudos.
- 
- 	(reload_as_needed): Lose FIRST arg.  All callers changed.
- 	Walk the reload_insn_chain instead of the rtx structure.
- 	Delete code to keep track of current basic block.
- 	Rename one of the NEXT variables to OLD_NEXT.
- 
- 	(allocate_reload_reg): Accept arg CHAIN instead of arg INSN.  All
- 	callers changed.
- 	(choose_reload_regs): Likewise.
- 
- 	(emit_reload_insns): Replace INSN and BB args with arg CHAIN.  All
- 	callers changed.
- 
- 	* caller-save.c (MOVE_MAX_WORDS): New macro.  Use it throughout
- 	instead of (MOVE_MAX / UNITS_PER_WORD) computation.
- 	(hard_regs_live, hard_regs_need_restore): Delete variables.
- 	(n_regs_saved): Now static.
- 	(referenced_regs, this_insn_sets): New variables.
- 
- 	(setup_save_areas): Restructure the code a bit.
- 
- 	(restore_referenced_regs): Delete function.
- 	(mark_referenced_regs): New function, similar to the old
- 	restore_referenced_regs, but mark registers in referenced_regs.
- 
- 	(clear_reg_live): Delete function.
- 	(mark_set_regs): Renamed from set_reg_live.  All callers changed.
- 	Only mark registers in this_insn_sets.
- 
- 	(save_call_clobbered_regs): Rework this function to walk the
- 	reload_insn_chain instead of using the list of instructions directly.
- 	Delete code to keep track of register lives, compute live regs on the
- 	fly from information in the chain.
- 	Instead of calling restore_referenced_regs, use mark_referenced_regs,
- 	then walk the set it computes and call insert_restore as appropriate.
- 
- 	(insert_restore): Lose INSN and BLOCK args.  Add CHAIN arg.  All
- 	callers changed.
- 	Restructure the code a bit.  Test hard_regs_saved instead of
- 	hard_regs_need_restore.
- 	(insert_save): Lose INSN and BLOCK args.  Add CHAIN and TO_SAVE
- 	args.  All callers changed.
- 	Restructure the code a bit.  Use TO_SAVE to determine which regs to
- 	save instead of more complicated test.
- 	(insert_one_arg): Lose INSN and BLOCK args.  Add CHAIN arg.  All
- 	callers changed.
- 	Create a new insn_chain structure for the new insn and place it
- 	into the chain.
- 
- 	* rtl.texi: Update documentation to reflect that reload no longer
- 	puts modes on the insns.
- 
- 1998-10-14  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* function.c (purge_addressof_1): Force the first argument of a
- 	CALL insn to memory.
- 
- Wed Oct 14 00:38:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rtl.h: Delete duplicate prototypes.  Add some missing
- 	prototypes.
- 	* rtlanal.c (for_each_rtx): Formatting tweak.
- 
- 1998-10-13  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* real.c (emdnorm and etoasc): Disable round to even for c4x target
- 	to be compatible with TI compiler.
- 
- 	* Makefile.in (USER_H): Add va-c4x.h to definition.
- 
- Tue Oct 13 23:03:37 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (purge_addressof_1): Fix typo in inequality: do
- 	bitfield optimization for equal mode sizes.
- 	* expmed.c (store_bit_field): Don't take subregs of subregs in
- 	the movstrict case.  Tidy a potential problem in the multi-word case.
- 	(extract_bit_field): Likewise.
- 
- Tue Oct 13 22:12:11 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* flow.c (find_basic_blocks): Emit NOPs after normal calls in this
- 	function.
- 	Compute max_uid_for_flow by calling get_max_uid after the scan.
- 	(find_basic_blocks_1): Don't emit NOPs here.
- 
- Tue Oct 13 22:05:49 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (base_alias_check): Accept new args for the modes of the
- 	two references.  Use them to determine if an AND can overlap.  Update
- 	all callers.
- 	(memrefs_conflict_p): Assume sizes are aligned, and uses them
- 	to determine if an AND can overlap.
- 
- Tue Oct 13 17:51:04 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): For FP regs, add REGNO >= 16
- 	check.  Add comment to document problems with TARGET_SUN_FPA version
- 	of this macro.
- 	* config/m68k/m68k.md (movxf+1): Support 'r'/'r' moves.
- 
- Tue Oct 13 17:46:18 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gencheck.o): Depend on gansidecl.h.
- 
- 	* c-common.c (print_char_table): Add missing initializers.
- 	(scan_char_table): Likewise.
- 	(time_char_table): Likewise.
- 
- 	* c-decl.c (c_decode_option): Mark parameter `argc' with
- 	ATTRIBUTE_UNUSED.
- 	(declare_parm_level): Mark parameter `definition_flag' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* c-lex.c (readescape): Use `(unsigned)1' in shift.
- 	(yylex): Likewise.  Cast `sizeof' to an (int) when comparing
- 	against one.
- 
- 	* calls.c (store_one_arg): Remove unused parameter `fndecl'.  All
- 	callers changed.
- 	(emit_call_1): Mark parameters `fndecl' and `funtype' with
- 	ATTRIBUTE_UNUSED.
- 	(expand_call): Cast result of MIN() to (unsigned int) when
- 	comparing against an unsigned value.
- 
- 	* cccp.c (pcfinclude): Remove unused parameter `limit'.  All
- 	callers changed.
- 	(make_definition): Remove unused parameter `op'.  All callers
- 	changed.
- 	(create_definition): Cast REST_EXTENSION_LENGTH to (long) when
- 	comparing against the result of pointer arithmetic.
- 
- 	* config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned)
- 	when comparing against one.
- 
- 	* dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and
- 	HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against
- 	one.
- 	(output_die): Move variable `i' into the scope in which it is
- 	used.  Change its type to `unsigned'.
- 	(output_die): Cast the result of `strlen' to (int) when passing it
- 	to ASM_OUTPUT_ASCII().
- 	(output_pubnames): Likewise.
- 	(output_line_info): Likewise.
- 
- 	* emit-rtl.c (global_rtl): Add missing initializers.
- 
- 	* explow.c (promote_mode): Mark parameter `for_call' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to
- 	`unsigned HOST_WIDE_INT' when comparing against one.
- 	(synth_mult): Change type of variable `cost' to int.
- 	(emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift.
- 
- 	* expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned)
- 	when comparing against one.
- 	(get_inner_reference): Change variable `alignment' to unsigned.
- 	(expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned
- 	int) when comparing against one.
- 	(expand_builtin_setjmp): Change type of variable `i' to size_t.
- 
- 	* fold-const.c (div_and_round_double): Cast BASE to
- 	(HOST_WIDE_INT) when comparing against one.
- 
- 	* gencheck.c: Include gansidecl.h.
- 	(main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
- 
- 	* optabs.c (gen_cond_trap): Mark parameters `code', `op2' and
- 	`tcode' with ATTRIBUTE_UNUSED.
- 
- 	* real.c (edivm): Cast constant value to (unsigned long) in
- 	expression compared against an unsigned value.
- 
- 	* stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when
- 	comparing against one.
- 	(expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int)
- 	when comparing against one.
- 
- 	* stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to
- 	(unsigned int) when comparing against one.  Likewise for
- 	GET_MODE_BITSIZE.
- 	(smallest_mode_for_size): Likewise.
- 	(save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED.
- 	(restore_storage_status): Likewise.
- 
- 	* toplev.c (debug_args): Add missing initializer.
- 	(f_options): Spelling correction.  Add missing initializers.
- 	(documented_lang_options): Likewise.
- 	(debug_end_source_file): Mark parameter `lineno' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* tree.c (valid_machine_attribute): Mark parameters `attr_args',
- 	`decl' and `type' with ATTRIBUTE_UNUSED.
- 
- 	* varasm.c (decode_reg_name): Cast `sizeof' expression to (int)
- 	when comparing against one.
- 	(assemble_variable): Mark parameter `top_level' with
- 	ATTRIBUTE_UNUSED.
- 	(assemble_external_libcall): Mark parameter `fun' with
- 	ATTRIBUTE_UNUSED.
- 	(output_constant_pool): Mark parameters `fnname' and `fndecl' with
- 	ATTRIBUTE_UNUSED.
- 
- Tue Oct 13 12:51:04 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/lib1funcs.asm (_udivsi3): Add .type declaration.
- 	Replace use of r5 with use of r19.
- 
- 	* config/v850/v850.h (LINK_POINTER_REGNUM): Define.
- 
- 	* config/v850/v850.c (compute_register_save_size): Allow for the
- 	fact that helper functions save all registers, not just those used
- 	by the function.
- 
- 	Replace constant 31 with macro LINK_POINTER_REGNUM.
- 
- 	* config/v850/v850.md: Use 'indirect_operand' rather than
- 	'memory_operand' for bit test/set/clear patterns.
- 
- Tue Oct 13 11:49:14 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS): Call ASM_GLOBALIZE_LABEL.
- 	* varasm.c (assemble_start_function et al): Don't call
- 	ASM_GLOBALIZE_LABEL for weak symbols.
- 
- Tue Oct 13 11:37:45 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* cse.c (equiv_constant): Check for NULL return from
- 	gen_lowpart_if_possible().
- 
- Tue Oct 13 11:24:51 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (addsi3, subsi3, negsi2): Only allow register operands.
- 
- 	* collect2.c (main): Pass -EL/-EB through to the compiler.
- 
- 1998-10-12  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* expr.c (push_block): Handle targets where the stack grows
- 	to higher addresses, but args grow to lower addresses and
- 	ACCUMULATE_OUTGOING_ARGS is not defined.
- 
- Tue Oct 13 08:00:52 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/v850/v850.c (print_operand): Extend meaning
- 	of 'c' operands to support .vtinherit.
- 
- Tue Oct 13 21:38:35 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c: Convert to gen_rtx_FOO.
- 	Added ATTRIBUTE_UNUSED to unused function arguments.
- 	(rc_reg_operand): New predicate.
- 	(c4x_rptb_insert): New function.
- 	(c4x_rptb_nop_p): Recognize modified rptb_top pattern.
- 	(c4x_optimization_options): New function.
- 
- 	* config/c4x/c4x.md: Convert to gen_rtx_FOO.
- 	 (decrement_and_branch_on_count): New pattern.
- 	 (rptb_top): Modified pattern to work with BCT optimization.
- 
- 	* config/c4x/c4x.h (RC_REG): New register class.
- 	(rc_reg_operand): Define prototype.
- 	(IS_RC_REG): New macro.
- 	(IS_RC_OR_PSEUDO_REG): New macro.
- 	(IS_RC_OR_PSEUDO_REGNO): New macro.
- 	(OPTIMIZATION_OPTIONS): Define.
- 
- Mon Oct 12 19:57:34 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* collect2.c (extract_init_priority): No priority is 65535.
- 
- Mon Oct 12 12:10:37 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* Makefile.in (build_tooldir): New variable, same as old
- 	$(tooldir), but without depending on $(libdir)/$(unlibsubdir).
- 	(GCC_FOR_TARGET): Add -B$(build_tooldir)/bin/.
- 	(bootstrap, bootstrap2, bootstrap3, bootstrap4): Likewise.
- 
- 	* configure.in (gxx_include_dir): Set default based on unlibsubdir.
- 	* Makefile.in (tooldir): Likewise.
- 	(cccp.o, cpplib.o): Use unlibsubdir implicitly through
- 	gxx_include_dir, includedir and tooldir.
- 	(protoize.o, unprotoize.o): Likewise.
- 
- Mon Oct 12 10:50:44 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md: Replace (reg 24) with (reg:CC 24).
- 
- 	* config/arm/thumb.c (thumb_override_options): Add warning about
- 	PIC code not being supported just yet.
- 
- Sun Oct 11 16:49:15 1998  John Wehle  (john@feith.com)
- 
- 	* flow.c: Update comment.
- 	(notice_stack_pointer_modification): New static function.
- 	(record_volatile_insns): Use it.
- 	(mark_regs_live_at_end): Mark the stack pointer as alive
- 	at the end of the function if current_function_sp_is_unchanging
- 	is set.
- 	(life_analysis_1): Set current_function_sp_is_unchanging.
- 	* function.c: Define it.
- 	(init_function_start): Initialize it.
- 	* output.h: Declare it.
- 	* reorg.c (fill_simple_delay_slots, dbr_schedule): Mark
- 	the stack pointer as alive at the end of the function if
- 	current_function_sp_is_unchanging is set.
- 	* i386.c (ix86_epilogue): Optimize the restoring
- 	of the stack pointer.
- 
- Mon Oct 12 01:22:53 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Oct 11 23:04:30 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* c-pragma.c (handle_pragma_token): If passed a token instead
- 	of a tree, use that as the pack value.
- 
- Sun Oct 11 14:21:14 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* flow.c (find_basic_blocks_1): Fix prototype.
- 
- Sun Oct 11 05:03:41 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* tree.h (DECL_NO_CHECK_MEMORY_USAGE): New macros.
- 	(struct tree_decl): New fields no_check_memory_usage.
- 	* c-common.c (enum attrs): Add A_NO_CHECK_MEMORY_USAGE.
- 	(init_attributes): Register it as a new attribute.
- 	(decl_attributes): Set flags on functions given that attribute.
- 	* c-decl.c (duplicate_decls): Merge new attribute.
- 	* expr.h (current_function_check_memory_usage): Declare new var.
- 	* calls.c, expr.c, function.c, stmt.c, alpha.c, clipper.c, m88k.c,
- 	pa.c, sparc.c: Replace uses of flag_check_memory_usage with
- 	current_function_check_memory_usage.
- 	* function.h: Add field to struct function.
- 	* function.c (current_function_check_memory_usage): Define it.
- 	(push_function_context_to, pop_function_context_from): Save and
- 	restore it.
- 	(expand_function_start): Set it, based on global flag and function
- 	attribute.
- 
- 	* expr.c (expand_expr, case VAR_DECL): In memory-checking code, do
- 	check non-automatic variables, to permit detection of writes to
- 	read-only locations in embedded systems without memory management.
- 	* calls.c (store_one_arg): Use ARGS_SIZE_RTX to get size of argument
- 	when emitting chkr_set_right_libfunc call, even if the argument is
- 	BLKmode or variable-sized; don't abort.
- 
- 	* optabs.c (init_optabs): Create Checker and __cyg_profile_*
- 	symbols in Pmode, not VOIDmode.
- 
- Sun Oct 11 01:03:05 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cppexp.c: When forcing unsigned comparisons, cast both sides
- 	of the operation.
- 
- 	* cpphash.h: Move static declaration of hashtab[]...
- 	* cpphash.c: ...here.
- 
- 	* cpplib.c: Cast difference of two pointers to size_t before
- 	comparing it to size_t.  Cast signed to unsigned
- 	before comparing to size_t. (FIXME: struct argdata should use
- 	unsigned buffer sizes.)
- 	* cpplib.h (struct cpp_reader): Declare token_buffer_size as
- 	unsigned int. (CPP_WRITTEN): Cast return value to size_t.
- 	(CPP_RESERVE): Parenthesize N for evaluation order, cast to
- 	size_t before comparison.
- 
- Sun Oct 11 00:15:29 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_basic_blocks): Delete "live_reachable_p" argument.
- 	(find_basic_blocks_1): Similarly.
- 	* output.h (find_basic_blocks): Fix prototype.
- 	* gcse.c, toplev.c: Don't pass "live_reachable_p" argument to
- 	find_basic_blocks anymore.
- 
- Sat Oct 10 22:00:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (EXECUTE_IF_SET_IN_SBITMAP): New macro.
- 	(sbitmap_free, sbitmap_vector_free): New macros.
- 	* output.h (rtl_dump_file): Declare.
- 
- Sat Oct 10 17:01:42 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regmove.c (optimize_reg_copy_3): Honor TRULY_NOOP_TRUNCATION.
- 
- Fri Oct  9 22:08:05 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fp-bit.c (SFtype): Don't implicitly use int in declaration.
- 	(DFtype): Likewise.
- 	(_fpdiv_parts): Remove unused parameter `tmp', all callers changed.
- 	(divide): Remove unused variable `tmp'.
- 	(si_to_float): Cast numeric constant to (SItype) before comparing
- 	it against one.
- 
- Fri Oct  9 16:03:19 1998  Graham  <grahams@rcp.co.uk>
- 
- 	* flow.c (print_rtl_with_bb): Changed type of in_bb_p to match use.
- 	* gcc.c (add_preprocessor_option): Correct typo when allocating
- 	memory, sizeof() argument had one too many `*'.
- 	(add_assembler_option): Likewise.
- 	(add_linker_option): Likewise.
- 	* gcov.c (output_data): Likewise.
- 	* local-alloc.c (memref_used_between_p): Likewise.
- 	(update_equiv_regs): Likewise.
- 	* loop.c (strength_reduce): Likewise.
- 	* reg-stack.c (record_asm_reg_life): Likewise.
- 	(subst_asm_stack_reg): Likewise.
- 	* reorg.c (dbr_schedule): Likewise.
- 
- Fri Oct  9 15:57:51 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* flow.c (life_analysis_1): Break out some functions.
- 	(find_basic_blocks_1): Likewise.  Also move some variables out and
- 	make them static.
- 	Rename NONLOCAL_LABEL_LIST arg to NONLOCAL_LABELS and initialize
- 	new static var nonlocal_label_list with it.
- 	(active_eh_region, nested_eh_region, label_value_list,
- 	nonlocal_label_list): New static variables.
- 	(make_edges, delete_unreachable_blocks, delete_block): New static
- 	functions, broken out of find_basic_blocks_1.
- 	(record_volatile_insns, mark_regs_live_at_end, set_noop_p,
- 	noop_move_p): New static functions, broken out of life_analysis_1.
- 
- Fri Oct  9 15:49:29 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* expmed.c (store_bit_field): Pun non-integral str_rtx modes.
- 	Take extra care for op0 now possibly being a subreg.
- 	(extract_bit_field): Likewise.
- 	* function.c (purge_addressof_1): Revert Oct 4 change.  Drop
- 	the reg to memory if there is no equal sized integral mode.
- 	* stor-layout.c (int_mode_for_mode): New function.
- 	* machmode.h: Prototype it.
- 
- Fri Oct  9 14:26:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* global.c (build_insn_chain): Verify no real insns exist past the
- 	end of the last basic block, then exit the loop.
- 
- Fri Oct  9 11:44:47 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* loop.c (insert_bct): Ensure loop_iteration_var nonzero before use.
- 
- Thu Oct  8 21:59:47 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* emit-rtl.c (init_emit_once): Call INIT_EXPANDERS.
- 
- Thu Oct  8 22:03:45 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (RTX_COSTS): Add PROCESSOR_PPC604e cases.
- 
- Thu Oct  8 17:00:18 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Correctly determine when a call
- 	is within an exception region.
- 
- Thu Oct  8 17:15:04 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (output_file_directive): Use DIR_SEPARATOR, not '/'.
- 
- 	* cpplib.h: Protect from multiple inclusions.
- 	* cpplib.c: Fix minor formatting problems.
- 
- 	* i386/xm-cygwin32.h: Only define POSIX if it is not already defined.
- 
- 	* jump.c (jump_optimize): Revert accidental patch.
- 
- 	* Makefile.in (cpplib.o): Use unlibsubdir.
- 
- Thu Oct  8 12:50:47 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (get_condition): Allow combine when either compare is
- 	VOIDmode.
- 
- Thu Oct  8 11:31:01 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald  <richard@brainstorm.co.uk>
- 
- 	* c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.
- 	(init_lex): Initialize ridpointers[RID_BYREF].
- 	* c-lex.h (enum rid): Add RID_BYREF.
- 	* c-parse.gperf: Add RID_BYREF as a type qualifier.
- 	* objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF.
- 	(encode_type_qualifiers): Similarly.
- 	* c-gperf.h: Rebuilt.
- 
- Thu Oct  8 05:56:00 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-common.c (type_for_mode): Only return TItype nodes when
- 	HOST_BITS_PER_WIDE_INT is >= 64 bits.
- 	* c-decl.c (intTI_type_node, unsigned_intTI_type_node): Only declare
- 	when HOST_BITS_PER_WIDE_INT is >= 64 bits.
- 	(init_decl_processing): Only create TItype nodes when
- 	HOST_BITS_PER_WIDE_INT is >= 64 bits.
- 	* c-tree.h (intTI_type_node, unsigned_intTI_type_node): Only declare
- 	when HOST_BITS_PER_WIDE_INT is >= 64 bits.
- 
- Thu Oct  8 05:05:34 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* stmt.c (n_occurrences): New static function.
- 	(expand_asm_operands): Verify that all constrains match in the
- 	number of alternatives.
- 	Verify that '+' or '=' are at the beginning of an output constraint.
- 	Don't allow '&' for input operands.
- 	Verify that '%' isn't written for the last operand.
- 	* reload.c (find_reloads): Abort if an asm is found with invalid
- 	constraints; all possible problems ought to be checked for earlier.
- 
- Thu Oct  8 04:26:20 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* flags.h (flag_branch_on_count_reg): Always declare.
- 	* toplev.c (flag_branch_on_count_reg): Likewise.
- 	* toplev.c: Fix typos.
- 
- 	* real.c (c4xtoe): Remove unused variables.  Add some missing parens.
- 	(toc4x): Similarly.
- 
- Thu Oct  8 01:25:22 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Calc upper bound for extra nops in
- 	max_uids_for_flow.
- 	(find_basic_blocks_1): Add a nop to the end of a basic block when
- 	a trailing call insn does not have abnormal control flow.
- 	* gcse.c (pre_transpout): New variable.
- 	(alloc_pre_mem, free_pre_mem, dump_pre_data): Bookkeeping for it.
- 	(compute_pre_transpout): Calculate it.
- 	(compute_pre_ppinout): Use it to eliminate impossible placements
- 	due to abnormal control flow through calls.
- 	(compute_pre_data): Call compute_pre_transpout.
- 
- Wed Oct  7 21:40:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sol2-sld-64.h (ASM_CPU_SPEC): Fix typo.
- 
- Wed Oct  7 21:19:46 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* config/mips/mips.md (tablejump_internal3, tablejump_internal4
- 	and matching define_insns): Tack on a `use' of the table label, so
- 	flow analysis will recognize a tablejump.
- 
- Wed Oct  7 17:33:39 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcse.c (pre_insert_insn): Tweek to notice that calls do not
- 	always end basic blocks for abnormal edge reasons.
- 
- Wed Oct  7 14:40:43 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/i386/i386.h: Remove definition of
- 	HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* config/i386/go32.h: Add definition of
- 	HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* config/i386/win32.h: Add definition of
- 	HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* config/i386/cygwin32.h: Add definition of
- 	HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* c-pragma.c (insert_pack_attributes): Do not insert
- 	attributes unless #pragma pack(push,<n>) is in effect.
- 
- Wed Oct  7 12:10:46 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (emit_group_store): Handle a PARALLEL destination.
- 
- Wed Oct  7 10:07:29 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcse.c (pre_insert_insn): When a call ends a bb, insert
- 	the new insns before the argument regs are loaded.
- 
- Wed Oct  7 12:55:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-gperf.h): Add -L KR-C -F ', 0, 0' flags to gperf.
- 	(c-parse.gperf): Update comments describing invocation flags.
- 	(c-gperf.h): Regenerate using gperf 2.7.1 (19981006 egcs).
- 
- 1998-10-07  Manfred Hollstein  <manfred@s-direktnet.de>
- 
- 	* reload1.c (reload): Call free before clobbering the memory
- 	locations or constants pointers.
- 
- Wed Oct  7 02:05:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
- 	for efficiency by checking whether we need to modify the current
- 	stack permission at all.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
- 	__enable_execute_stack libcall here too if
- 	TRANSFER_FROM_TRAMPOLINE is defined.
- 	* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
- 	IN_LIBGCC2.
- 
- Wed Oct  7 02:27:52 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (DRIVER_DEFINES): Remove last change.
- 
- Wed Oct  7 01:08:43 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* jump.c (duplicate_loop_exit_test): Strip REG_WAS_0 notes off all
- 	insns we're going to copy.
- 	* regclass.c (reg_scan_mark_refs): Don't test X for NULL_RTX.
- 
- 	* loop.c (count_one_set): Add prototype.
- 
- 	* caller-save.c (restore_referenced_regs): Lose mode argument.
- 	(insert_save): Lose mode argument.
- 	(insert_restore): Lose mode argument.
- 	(insert_one_insn): Lose mode argument.
- 	(save_call_clobbered_regs): Lose mode argument.
- 	(setup_save_areas): Take no argument and return void.  All callers
- 	changed.
- 	Don't verify validity of memory addresses.
- 	* reload.h (setup_save_ares): Adjust prototype.
- 	(save_call_clobbered_regs): Likewise.
- 	* reload1.c (delete_caller_save_insns): New function.
- 	(caller_save_spill_class): Delete variable.
- 	(caller_save_group_size): Delete variable.
- 	(reload): Call setup_save_areas and save_call_clobbered_regs
- 	in the main loop, before calling calculate_needs_all_insns.
- 	Don't call save_call_clobbered_regs after the loop.
- 	Call delete_caller_save_insns at the end of an iteration if
- 	something changed.
- 	Delete code to manage caller_save_spill_class.
- 	Emit the final note before setting reload_first_uid.
- 	Simplify test that determines whether reload_as_needed gets run.
- 	(calculate_needs): Delete code to manage caller_save_spill_class.
- 
- Tue Oct  6 15:42:27 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* collect2.c (main): Initialize ld_file_name.
- 
- Tue Oct  6 15:45:15 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Don't
- 	check for flag_function_sections.
- 
- Tue Oct  6 20:02:31 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* cse.c (insert_regs): Fix bug in Sep 24 change.
- 
- Tue Oct  6 17:00:42 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* flags.h (flag_dump_unnumbered): Declare.
- 	* toplev.c (flag_dump_unnumbered): Don't declare.
- 	* print-rtl.c (flags.h): Include.
- 	(print_rtl_single): Add return value.
- 	* rtl.h (print_rtl_single): Update declaration.
- 	* flow.c (flag_dump_unnumbered): Don't declare.
- 	(print_rtl_with_bb): Use return value of print_rtl_single.
- 
- Tue Oct  6 01:36:00 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* loop.c (count_one_set): New static function, broken out of
- 	count_loop_regs_set.
- 	(count_loop_regs_set): Call it.
- 	* global.c (mark_reg_store): Handle clobbers here by not calling
- 	set_preference.
- 	(mark_reg_clobber): Just call mark_reg_store after ensuring SETTER
- 	is in fact a clobber.
- 	* integrate.c (process_reg_param): New function, broken out of
- 	expand_inline_function.
- 	(expand_inline_function): Call it.
- 
- 	* i386.md (addsidi3_1): Delete unused variable temp.
- 	(addsidi3_2): Likewise.
- 	(clstrstrsi): Delete unused variable addr1.
- 
- 	* rtl.h: Don't declare any functions also declared in recog.h.
- 
- 	* Makefile.in (stupid.o): Update dependencies.
- 	(global.o): Likewise.
- 
- 	* global.c: Include reload.h.
- 	(reg_becomes_live): New function.
- 	(reg_dies): New function.
- 	(build_insn_chain): New function.
- 	(global_alloc): Call build_insn_chain before calling reload.
- 
- 	* reload.h (struct needs): New structure definition.
- 	(struct insn_chain): Likewise.
- 	(reload_insn_chain): Declare variable.
- 	(new_insn_chain): Declare function.
- 
- 	* reload1.c (reload_startobj): New variable.
- 	(reload_insn_chain): New variable.
- 	(unused_insn_chains): New variable.
- 	(new_insn_chain): New function.
- 	(init_reload): Initialize reload_startobj, not reload_firstobj.
- 	(reload): Initialize reload_firstobj.
- 	Before returning, free everything on the reload_obstack.
- 
- 	* stupid.c: Include insn-config.h, reload.h and basic-block.h.
- 	(reg_where_dead_chain, reg_where_born_exact, reg_where_born_clobber,
- 	current_chain): New variables.
- 	(reg_where_born): Delete variable.
- 	(REG_WHERE_BORN): New macro.
- 	(find_clobbered_regs): New function.
- 	(stupid_life_analysis): Don't allocate/free reg_where_born.
- 	Allocate and free reg_where_born_exact, reg_where_born_clobber,
- 	reg_where_dead_chain.
- 	Use REG_WHERE_BORN instead of reg_where_born.
- 	While processing the insns, build the reload_insn_chain with
- 	information about register lifetimes.
- 	(stupid_reg_compare): Use REG_WHERE_BORN instead of reg_where_born.
- 	(stupid_mark_refs): Replace arg INSN with arg CHAIN.  All callers
- 	changed.
- 	Compute and information about birth and death of pseudo registers in
- 	reg_where_dead_chain, reg_where_born_exact and reg_where_born_clobber.
- 	Delete code to set elements of reg_where_born.
- 
- Mon Oct  5 22:34:30 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (GOTO_EXPR): Modified documentation.
- 	* expr.c (expand_expr): Expand GOTO_EXPR into a goto or a computed
- 	goto.
- 
- Mon Oct  5 22:43:36 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* unroll.c (loop_iteration_var, loop_initial_value, loop_increment
- 	loop_final_value, loop_comparison_code): No longer static.
- 	(unroll_loop): Delete loop_start_value update.
- 	* loop.h (loop_iteration_var, loop_initial_value, loop_increment,
- 	loop_final_value, loop_comparison_code): Extern.
- 	(loop_start_value): Delete extern.
- 	* loop.c (loop_can_insert_bct, loop_increment, loop_start_value,
- 	loop_comparison_value, loop_comparison_code): Delete.
- 	(loop_optimize): Remove initialization for deleted variables.
- 	(strength_reduce): Delete analyze_loop_iterations call.  Only call
- 	insert_bct if flag_branch_count_on_reg set.
- 	(analyze_loop_iterations): Delete.
- 	(insert_bct): Remove iteration count calculation.  Move checks for
- 	viable BCT optimization to here.  Obtain iteration count from
- 	loop_iterations and correct for unrolling.  Check for enough
- 	iteration to be beneficial.  Comment out runtime iteration count
- 	case.
- 	(insert_bct): Print iteration count in dump file.  Remove
- 	loop_var_mode and use word_mode directly.
- 
- 	* rs6000.h (processor_type): Add PROCESSOR_PPC604e.
- 	* rs6000.c (rs6000_override_options): Use it.
- 	(optimization_options): Enable use of flag_branch_on_count_reg.
- 	* rs6000.md (define_function_unit): Describe 604e.
- 
- 1998-10-05  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* loop.c (move_movables): Corrected threshold calculation for
- 	moved_once registers.
- 
- Mon Oct  5 21:18:45 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* loop.c (combine_givs_p): Fix test for identical givs.
- 
- Mon Oct  5 10:11:28 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* dwarf2out.c (gen_subprogram_die): If errorcount nonzero, don't
- 	call abort if the function is already defined.
- 
- Mon Oct  5 10:02:36 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (simplify_rtx): Do not replace TRUNCATE with a SUBREG if
- 	truncation is not a no-op.
- 
- Mon Oct  5 09:02:04 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Oct  5 08:19:55 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Oct  5 01:07:23 1998  Torbjorn Granlund  <tege@matematik.su.se>
- 
- 	* expmed.c (expand_divmod): Don't widen for computing remainder
- 	if we seem to have a divmod pattern for needed mode.
- 
- Mon Oct  5 01:01:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (macroexpand): Correct off-by-one error in handling
- 	of escapes.
- 
- Sun Oct  4 23:58:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (expand_field_assignment): Don't do bitwise operations
- 	on MODE_FLOAT; pun to MODE_INT if possible.
- 
- Sun Oct  4 18:33:24 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 			  scott snyder  <snyder@d0sgif.fnal.gov>
- 
- 	* tlink.c (scan_linker_output): Recognize errors from irix 6.2
- 	linker.  Recognize mangled names in quotes.
- 
- Sun Oct  4 02:58:20 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* config/sparc/sparc.md (ashldi3+1): Name it ashldi3_sp64.
- 	(ashlsi3_const1, ashldi3_const1): New combiner patterns.
- 	(ashrsi3_extend, ashrsi3_extend2): New combiner patterns.
- 	(lshrsi3_extend, lshrsi3_extend2): Likewise.
- 
- Sun Oct  4 00:23:00 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* function.c (purge_addressof_1): If trying to take a sub-word
- 	integral piece of a floating point mode, put it on the stack.
- 
- Sat Oct  3 19:01:03 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake.
- 
- Sat Oct  3 14:42:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* PROJECTS: Remove template friends.
- 
- 	* collect2.c (sort_ids): Remove unused variable.
- 
- 	* tm.texi (MATH_LIBRARY): Document.
- 	(NEED_MATH_LIBRARY): Remove.
- 
- 	* varasm.c (assemble_start_function, assemble_variable, weak_finish,
- 	assemble_alias): Do ASM_GLOBALIZE_LABEL for weak symbols, too.
- 
- Sat Oct  3 16:14:44 1998  John Carr  <jfc@mit.edu>
- 
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Initialize
- 	last_end to 0x7fffffff.
- 
- Fri Oct  2 19:14:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* function.c (purge_addressof_1): Do not perform endianness
- 	corrections on bitpos, who we call will do it for us.
- 
- Fri Oct  2 11:52:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.c (WORD_REG_USED): Fix typo.
- 	(initial_offset): Use WORD_REG_USED.
- 
- 	* h8300.c (handle_pragma): Fix typo.
- 
- Fri Oct  2 10:51:35 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* caller-save.c (insert_save_restore): Break this function up
- 	into new functions insert_restore, insert_save and insert_one_insn.
- 	All callers changed.
- 	(insert_restore): New function, mostly broken out of
- 	insert_save_restore.
- 	(insert_save): Likewise.
- 	(insert_one_insn): Likewise.
- 	(restore_referenced_regs): New argument BLOCK.  All callers changed.
- 	(save_call_clobbered_regs): Don't keep track of basic block boundaries
- 	in this function, do it in insert_one_insn instead.
- 
- 	* reload1.c (reload): Break out some more pieces into separate
- 	functions.
- 	(dump_needs): New function, broken out of reload.
- 	(set_initial_elim_offsets): Likewise.
- 	(init_elim_table): Likewise.
- 	(update_eliminables): Likewise.
- 
- 	* global.c (global_alloc): Delete code to manage the scratch_list.
- 	* local-alloc.c (qty_scratch_rtx): Delete.
- 	(scratch_block): Delete.
- 	(scratch_list): Delete.
- 	(scratch_list_length): Delete.
- 	(scratch_index): Delete.
- 	(alloc_qty_for_scratch): Delete.
- 	(local-alloc): Update initialization of max_qty.
- 	Delete code to manage the scratch list.
- 	Delete code to allocate/initialize qty_scratch_rtx.
- 	(block_alloc): Don't allocate quantities for scratches.
- 	Delete code to manage the scratch list.
- 	* regs.h (scratch_list): Delete declaration.
- 	(scratch_block): Delete declaration.
- 	(scratch_list_length): Delete declaration.
- 	* reload1.c (reload): Delete code to manage the scratch list.
- 	(spill_hard_reg): Likewise.
- 	(mark_scratch_live): Delete.
- 
- 	* recog.c (alter_subreg): Delete declaration.
- 
- 1998-10-02  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
- 
- 	* Makefile.in (cccp.o): Fix typo in last patch.
- 
- Fri Oct  2 16:13:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* t-sh (LIB1ASMFUNCS): Add _set_fpscr .
- 	* config/sh/lib1funcs.asm (___set_fpscr): Add.
- 
- Fri Oct  2 02:01:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c (reg_scan_mark_refs): Return immediately if passed a
- 	NULL_RTX as an argument.
- 
- 	* Makefile.in (unlibsubdir): Define.
- 	(DRIVER_DEFINES): Use unlibsubdir.
- 	(cccp.o, cpplib.o, protoize.o, unprotoize.o): Similarly.
- 	(stmp-fixinc): Similarly.
- 
- Thu Oct  1 19:58:30 1998  Bernd Schmidt  <crux@Pool.Informatik.RWTH-Aachen.DE>
- 
- 	* regmove.c (regmove_optimize): Add variable old_max_uid.
- 	At the end of the function, update basic_block_end.
- 
- Thu Oct  1 17:58:25 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Use
- 	FIRST_PSEUDO_REGISTER as upper bound for last_end, not an
- 	arbitrary constant.
- 
- Thu Oct  1 17:57:14 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Improve interworking support.
- 
- Thu Oct  1 18:43:35 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): Fix test if reload_reg_rtx[r] was
- 	copied from reload_out[r] .
- 
- Thu Oct  1 19:20:09 1998  John Carr  <jfc@mit.edu>
- 
- 	* dwarf2out.c (expand_builtin_dwarf_reg_size): Fix to work
- 	with more than three size ranges.
- 
- 	* flow.c (sbitmap_copy): Use bcopy to copy bitmap.
- 
- 	* rtl.c (mode_name): Add a null string at the end of the array.
- 	(mode_wider_mode): Change type to unsigned char.
- 	(mode_mask_array): New variable.
- 	(init_rtl): Update for mode_wider_mode type change.
- 
- 	* rtl.h (mode_wider_mode): Change type to unsigned char.
- 	(mode_mask_array): Declare.
- 	(GET_MODE_MASK): Use mode_mask_array.
- 
- Thu Oct  1 15:56:01 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* calls.c (expand_call) : Encapsulate code into
- 	copy_blkmode_from_reg.
- 	* expr.c (copy_blkmode_from_reg): New function.
- 	* expr.h (copy_blkmode_from_reg): New function.
- 	* integrate.c (function_cannot_inline_p): We can inline
- 	these now.
- 	(expand_inline_function): Use copy_blkmode_from_reg
- 	if needed.  Avoid creating BLKmode REGs.
- 	(copy_rtx_and_substitute): Don't try to SUBREG a BLKmode
- 	object.
- 
- Thu Oct  1 10:42:27 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.c: Add function prototypes.
- 	Add support for v850 special data areas.
- 
- 	* config/v850/v850.h: Add support for v850 special data areas.
- 
- 	* c-pragma.c: Add support for HANDLE_PRAGMA_PACK and
- 	HANDLE_PRAGMA_PACK_PUSH_POP.
- 	(push_alignment): New function: Cache an alignment requested
- 	by a #pragma pack(push,<n>).
- 	(pop_alignment): New function: Pop an alignment from the
- 	alignment stack.
- 	(insert_pack_attributes): New function: Generate __packed__
- 	and __aligned__ attributes for new decls whilst a #pragma pack
- 	is in effect.
- 	(add_weak): New function: Cache a #pragma weak directive.
- 	(handle_pragma_token): Document calling conventions.  Add
- 	support for #pragma pack(push,<n>) and #pragma pack (pop).
- 
- 	* c-pragma.h: If HANDLE_SYSV_PRAGMA or HANDLE_PRAGMA_PACK_PUSH_POP
- 	are defined enable HANDLE_PRAGMA_PACK.
- 	Move 'struct weak_syms' here (from varasm.c).
- 	Add pragma states for push and pop pragmas.
- 
- 	* c-common.c (decl_attributes): Call PRAGMA_INSERT_ATTRIBUTES
- 	if it is defined.
- 
- 	* c-lex.c: Replace occurrences of HANDLE_SYSV_PRAGMA with
- 	HANDLE_GENERIC_PRAGMAS.
- 
- 	* varasm.c: Move definition of 'struct weak_syms' into
- 	c-pragma.h.
- 	(handle_pragma_weak): Deleted.
- 
- 	* config/i386/i386.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* config/winnt/win-nt.h: Define HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* c-decl.c (start_function): Add invocation of
- 	SET_DEFAULT_DECL_ATTRIBUTES, if defined.
- 
- 	* tm.texi: Remove description of non-existent macro
- 	SET_DEFAULT_SECTION_NAME.
- 
- 	(HANDLE_SYSV_PRAGMA): Document.
- 	(HANDLE_PRAGMA_PACK_PUSH_POP): Document.
- 
- Wed Sep 30 22:27:53 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* config.sub: Recognize i[34567]86-pc-udk as new target.
- 	* configure.in: Likewise.
- 	* config/i386/t-udk: New file.
- 	* config/i386/udk.h: New file.
- 
- Wed Sep 30 19:33:07 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c (check_annul_list_true_false): Remove unused variables.
- 	(steal_delay_list_from_target): Add missing "used_annul" variable.
- 	(try_merge_delay_insns): Close out half formed comment.
- 
- Wed Sep 30 19:13:20 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* cpplib.c (macroexpand): If arg->raw_before or
- 	arg->raw_after, remove any no-reexpansion escape at the
- 	beginning of the pasted token.  Correct handling of whitespace
- 	markers and no-reexpand markers at the end if arg->raw_after.
- 
- 	* toplev.c (documented_lang_options): Recognize -include,
- 	-imacros, -iwithprefix, -iwithprefixbefore.
- 	* cpplib.c (cpp_start_read): Process -imacros and -include
- 	switches at the same time and in command-line order, after
- 	initializing the dependency-output code.  Emit properly nested
- 	#line directives for them.  Emit a #line for the main file
- 	before processing these switches, and don't do it again
- 	afterward.
- 
- Wed Sep 30 18:03:22 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (purge_addressof_1): Use bitfield manipulation
- 	routines to handle mem mode < reg mode.
- 
- Wed Sep 30 18:43:32 1998  Herman ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reorg.c (try_merge_delay_insns): Account for resources referenced
- 	in each instruction in INSN's delay list before trying to eliminate
- 	useless instructions.  Similarly when looking at a trial insn's delay
- 	slots.
- 
- 	* reorg.c (check_annul_list_true_false): New function.
- 	(steal_delay_list_from_{target,fallthrough}): Call it and also
- 	refine tests for when we may annul if already filled a slot.
- 	(fill_slots_from_thread): Likewise.
- 	(delete_from_delay_slot): Return newly-created thread.
- 	(try_merge_delay_isns): Use its new return value.
- 
- Wed Sep 30 18:29:26 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (check_dbra_loop): Use a vanilla loop reversal if the biv is
- 	used to compute a giv or as some other non-counting use.
- 
- Wed Sep 30 18:19:27 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* regs.h (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
- 	* local-alloc.c (find_free_reg): Use it.
- 	* global.c (find_reg): Likewise.
- 	* tm.texi: Document HARD_REGNO_CALL_PART_CLOBBERED.
- 
- 	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
- 	* caller-save.c (init_caller_save): Use it.
- 	* tm.texi: Document HARD_REGNO_CALLER_SAVE_MODE.
- 
- Wed Sep 30 12:57:30 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>
- 
- 	* configure.in: Add --enable-cpplib option which uses cpplib
- 	for cpp, but doesn't link cpplib into cc1.  Make help text
- 	capitalization consistent.
- 	* configure: Rebuilt.
- 
- Wed Sep 30 10:09:39 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* function.c (gen_mem_addressof): If the address REG is
- 	REG_USERVAR_P make the new REG be so also.
- 	* loop.c (scan_loop): Apply DeMorgan's laws and add documentation
- 	in an attempt to clarify slightly.
- 
- Wed Sep 30 09:57:40 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (expand_expr): Handle COMPONENT_REF, BIT_FIELD_REF ARRAY_REF
- 	and INDIRECT_REF in code to check MAX_INTEGER_COMPUTATION_MODE.
- 
- Wed Sep 30 10:13:39 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* toplev.c: Fix last patch.
- 
- Tue Sep 29 20:03:18 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (get_condition): Fix typo in May 9 change.
- 
- Tue Sep 29 11:11:38 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* invoke.texi (-fexceptions): Merge 2 different descriptions.
- 
- Mon Sep 28 22:08:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c (documented_lang_options): Spelling corrections.
- 
- Mon Sep 28 19:41:24 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* configure.in: New flags --with-ld and --with-as, equivalent
- 	to setting LD and AS environment variables.  Test whether
- 	specified arguments are GNU commands, and report them with
- 	checking messages.  Use the specified AS for configure
- 	tests too.
- 	* configure: Likewise.
- 	* acconfig.h: Add DEFAULT_ASSEMBLER and DEFAULT_LINKER.
- 	* config.in: Likewise.
- 	* gcc.c (find_a_file): When looking for `as' and `ld', return
- 	the DEFAULT program if it exists.
- 	* collect2.c (main): Use DEFAULT_LINKER if it exists.
- 
- 	* gcc.c (find_a_file): The test for existence of a full
- 	pathname was reversed.
- 
- Mon Sep 28 17:34:35 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h (ASM_OUTPUT_MI_THUNK): Only define on ELF systems.
- 	* rs6000.c (output_mi_thunk): Always use a raw jump for now.
- 
- Mon Sep 28 14:24:03 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* tree.h (TYPE_BINFO): Document.
- 
- Mon Sep 28 12:55:49 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* i386-coff.h (dbxcoff.h): Added.
- 
- Mon Sep 28 12:51:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* toplev.c: Fix bad patch around flag_data_sections.
- 
- Mon Sep 28 10:32:28 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* reload1.c (reload): Use reload_address_index_reg_class and
- 	reload_address_base_reg_class when setting
- 	caller_save_spill_class.  (Patch generated by Jim Wilson:
- 	wilson@cygnus.com).
- 
- Mon Sep 28 07:43:34 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* c-common.c (c_get_alias_set): Tighten slightly for FUNCTION_TYPEs
- 	and ARRAY_TYPEs.  Tidy up.  Improve support for type-punning.
- 	* expr.c (store_field): Add alias_set parameter.  Set the
- 	MEM_ALIAS_SET accordingly, if the target is a MEM.
- 	(expand_assignment): Use it.
- 	(store_constructor_field): Pass 0.
- 	(expand_expr): Likewise.
- 
- Mon Sep 28 07:54:03 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* flags.h: Add flag_data_sections.
- 	* toplev.c: Add option -fdata-sections.  Add flag_data_sections.
- 	(compile_file): Error if flag_data_sections not supported.
- 	* varasm.c (assemble_variable): Handle flag_data_sections.
- 	* config/svr4.h: Modify prefixes for UNIQUE_SECTION_NAME.
- 	* config/mips/elf.h: Likewise.
- 	* config/mips/elf64.h: Likewise.
- 	* invoke.texi: Describe -fdata-sections.
- 
- Mon Sep 28 04:15:44 1998  Craig Burley  <burley@melange.gnu.org>
- 
- 	* invoke.texi (-ffloat-store): Clarify that this option
- 	does not affect intermediate results -- only variables.
- 
- Mon Sep 28 04:11:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cpp.texi: Update for Fortran usage from Craig.
- 
- Fri Sep 25 22:09:47 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (function_arg_boundary): Revert accidental change on
- 	September 18.
- 
- Fri Sep 25 20:30:00 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h (ASM_OUTPUT_MI_THUNK): Declare, call output_mi_thunk.
- 	(output_mi_thunk): Declare.
- 
- 	* rs6000.c (output_mi_thunk): Function to create thunks for MI.
- 	(output_function_profiler): Use r12 for temp, instead of r11 so
- 	that we preserve the static chain register.
- 
- Fri Sep 25 14:18:33 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sdbout.c (sdbout_one_type): Don't look at TYPE_BINFO field of enums.
- 
- Fri Sep 25 19:30:19 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.c (gen_shl_sext): Fix case 5.
- 
- Fri Sep 25 17:35:23 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine): Re-add line that got accidentally lost.
- 
- Fri Sep 25 10:43:47 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (pedwarn_with_file_and_line): For !__STDC__ case, avoid
- 	accessing variables until they are initialized via va_arg().
- 
- Thu Sep 24 22:12:16 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* reload1.c (reload_combine): Initialize set before using.
- 
- Thu Sep 24 18:53:20 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* sdbout.c (sdbout_field_types): Don't emit the types of fields we
- 	won't be emitting.
- 
- Thu Sep 24 17:05:30 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md (insv): Add comment.  In CONST_INT case, and
- 	operand3 with mask before using it.  Patch provided by Jim Wilson.
- 
- Thu Sep 24 15:08:08 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* config/sparc/sparc.c (function_value): Perform the equivalent of
- 	PROMOTE_MODE for ARCH64.
- 	(eligible_for_epilogue_delay): Allow DImode operations in delay
- 	slot of a return for ARCH64.
- 
- Thu Sep 24 22:17:54 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.md (sqrtsf2): Fix mode of sqrt.
- 
- Thu Sep 24 21:48:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): Also try inheritance when
- 	reload_in is a stack slot of a pseudo, even if we already got a
- 	reload reg.
- 
- Thu Sep 24 21:22:39 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_cse_regs_1): Renamed from reload_cse_regs.
- 	(reload_cse_regs): New function body: call reload_cse_regs_1,
- 	reload_combine, reload_cse_move2add.
- 	When doing expensive_optimizations, call reload_cse_regs_1 a
- 	second time after reload_cse_move2add.
- 	(reload_combine, reload_combine_note_store): New functions.
- 	(reload_combine_note_use): New function.
- 	(reload_cse_move2add, move2add_note_store): New functions.
- 
- Thu Sep 24 18:48:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): In code to promote RELOAD_FOR_X_ADDR_ADDR
- 	reloads to RELOAD_FOR_X_ADDRESS reloads, test for reload sharing.
- 
- 	Properly keep track of first RELOAD_FOR_X_ADDRESS also for
- 	more than 3 such reloads.
- 
- 	If there is not more than one RELOAD_FOR_X_ADDRESS, don't change
- 	RELOAD_FOR_X_ADDR_ADDR reload.
- 
- Thu Sep 24 17:45:55 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (store_constructor): When initializing a field that is smaller
- 	than a word, at the start of a word, try to widen it to a full word.
- 
- 	* cse.c (cse_insn): When we are about to change a register,
- 	remove any invalid references to it.
- 
- 	(remove_invalid_subreg_refs): New function.
- 	(mention_regs): Special treatment for SUBREGs.
- 	(insert_regs): Don't strip SUBREG for call to mention_regs.
- 	Check if reg_tick needs to be bumped up before that call.
- 	(lookup_as_function): Try to match known word_mode constants when
- 	looking for a norrower constant.
- 	(canon_hash): Special treatment for SUBREGs.
- 
- Thu Sep 24 01:35:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
- 	* config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
- 	defined, emit libcall to __enable_execute_stack.  Also fix opcodes
- 	and offsets in actual stack trampoline code so they match the
- 	commentary and actually work.
- 
- Thu Sep 24 01:19:02 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
- 	tmake_file.
- 	(sparc64-*-linux): Use t-linux and sparc/t-linux64 for
- 	tmake_file.  Set extra_parts to needed crt objects.
- 	* configure: Rebuilt.
- 	* config/sparc/linux64.h (SPARC_BI_ARCH): Define.
- 	(TARGET_DEFAULT): Set if default is v9 or ultra.
- 	(STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
- 	(STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
- 	(ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
- 	(SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
- 	LINK_SPEC, LINK_ARCH_SPEC): Likewise.
- 	(TARGET_VERSION): Define.
- 	(MULTILIB_DEFAULT): Define.
- 	* config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
- 	mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
- 	(CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
- 	appropriately.
- 	(TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
- 	* config/sparc/sparc.c (sparc_override_options): If arch and
- 	pointer size disagree, emit diagnostic and fix it up.  If
- 	SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32.  Turn off
- 	V8PLUS in 64-bit mode.
- 	* config/sparc/t-linux64: New file.
- 	* config/sparc/t-sol2-64: New file.
- 	* config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
- 	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
- 	(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
- 	CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
- 	(ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
- 	(STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
- 	Define.
- 	(STARTFILE_SPEC): Set appropriately based upon those.
- 	(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
- 	disposition of DEFAULT_ARCH32_P.
- 	(LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
- 	(LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
- 	(CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
- 	(MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
- 	* config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
- 	arch64/v9.
- 	* config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
- 
- Wed Sep 23 22:32:31 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.h (init_virtual_regs): New function.
- 	* emit-rtl.c (init_virtual_regs): Define.
- 	(insn_emit): Use it.
- 	* integrate.c (save_for_inline_copying): Likewise.
- 
- Wed Sep 23 16:22:01 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.h: The following patches were made by Jim Wilson:
- 	(enum reg_class): Add NONARG_LO_REGS support.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
- 	PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Likewise.
- 	(GO_IF_LEGITIMATE_ADDRESS): Disable REG+REG addresses before reload
- 	completes.  Re-enable HImode REG+OFFSET addresses.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Define.
- 
- 	* expmed.c (extract_bit_field): Add comment from Jim Wilson.
- 
- Wed Sep 23 13:26:02 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (get_aligned_mem): Revert Sep 20 change.
- 	(alpha_set_memflags, alpha_set_memflags_1): Likewise.
- 	(alpha_align_insns): Properly calculate initial offset wrt max_align.
- 
- Wed Sep 23 10:45:44 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (find_barrier): Revert change of Apr 23.  Handle table
- 	jumps as a single entity, taking into account the size of the
- 	table.
- 
- Tue Sep 22 15:13:34 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (SWITCH_EXPR): New tree node definition.
- 
- Mon Sep 21 23:40:38 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 21 22:31:14 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 21 22:48:09 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Recognize i[34567]86-*-openbsd* and handle it like
- 	NetBSD.
- 
- Mon Sep 21 22:05:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Revert this patch.
- 	* reload.c (find_reloads): Do not replace a pseudo with
- 	(MEM (reg_equiv_addr)) in the initializing insn for the
- 	pseudo.
- 
- Mon Sep 21 20:19:41 1998  John Carr  <jfc@mit.edu>
- 
- 	* final.c (final_scan_insn): Disable tracking CC across branches.
- 
- Mon Sep 21 17:15:26 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* expr.h (eh_rtime_match_libfunc): New extern declaration.
- 	* optabs.c (init_optabs): Set eh_rtime_match_libfunc.
- 	* except.c (start_catch_handler): Use eh_rtime_match_libfunc.
- 	* libgcc2.c (__eh_rtime_match): Always return 0 if the matcher is
- 	NULL. Only include <stdio.h> if inhibit_libc is not defined.
- 
- Mon Sep 21 14:10:51 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Skip compiling anything with
- 	DECL_EXTERNAL set, not just if it has DECL_INLINE as well.
- 
- Mon Sep 21 13:51:05 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Delete check for in_libcall_block when
- 	prev_code is a CALL_INSN.  Change check for REG_RETVAL note to
- 	use in_libcall_block.
- 	(find_basic_blocks_1): Delete check for in_libcall_block when prev_code
- 	is a CALL_INSN.  If CALL_INSN and in_libcall_block, then change code
- 	to INSN.
- 
- Mon Sep 21 14:02:23 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* i386.h (TARGET_SWITCHES): Improve doc for align-double.  Fix
- 	typo in no-fancy-math-387 description.
- 
- Mon Sep 21 09:27:18 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 21 09:24:49 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* i386-coff.h (DBX_DEBUGGING_INFO): Added.
- 
- Mon Sep 21 09:14:49 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* i386.h (TARGET_SWITCHES): Add description fields for flags
- 	documented in install.texi.
- 	(TARGET_OPTIONS): Likewise.
- 
- Mon Sep 21 01:39:03 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 21 01:53:05 1998  Felix Lee  <flee@cygnus.com>
- 
- 	* c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().
- 	* cccp.c (main): Likewise.
- 
- 	* cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h:
- 	Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some
- 	macro-use bugs.
- 
- Mon Sep 21 00:52:12 1998  Per Bothner  <bothner@cygnus.com>
- 
- 	* Makefile.in (LIBS): Link in libiberty.a.
- 	* c-common.c, gcc.c, toplev.c: Replace (some) bcopy calls by memcpy.
- 
- Sun Sep 20 23:28:11 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (emit_reload_insns): Accept a new arg for the bb.  Use
- 	it to update bb boundaries.  Update caller.
- 	* function.c (reposition_prologue_and_epilogue_notes): Update
- 	bb boundaries wrt the moved note.
- 
- Sun Sep 20 20:57:02 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder
- 	problems.
- 	* configure: Regenerate.
- 
- Sun Sep 20 19:01:51 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_sr_alias_set): New variable.
- 	(override_options): Set it.
- 	(alpha_expand_prologue, alpha_expand_epilogue): Use it.
- 	(mode_mask_operand): Fix signed-unsigned comparison warning.
- 	(alpha_expand_block_move): Likewise.
- 	(print_operand): Likewise.
- 	(get_aligned_mem): Use change_address.
- 	(alpha_set_memflags, alpha_set_memflags_1): Set the alias set.
- 	(alphaev4_insn_pipe, alphaev4_next_group): New functions.
- 	(alphaev4_next_nop, alphaev5_next_nop): New functions.
- 	(alpha_align_insns): Remade from old alphaev5_align_insns
- 	to handle multiple processors.
- 	(alpha_reorg): Call alpha_align_insns for both ev4 and ev5.
- 	* output.h (label_to_alignment): Prototype.
- 
- 	* tree.c (new_alias_set): New function.
- 	* tree.h (new_alias_set): Declare it.
- 	* c-common.c (c_get_alias_set): Use it.
- 
- Sun Sep 20 12:35:55 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (fold): Yet another COND_EXPR bug: when folding
- 	to an ABS expr, convert an unsigned input to signed.
- 
- Sun Sep 20 12:14:45 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (fold): Fix another type in COND_EXPR handling code.
- 
- 1998-09-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* configure.in: Add support for c4x targets.
- 	* configure: Rebuilt.
- 
- Sun Sep 20 00:00:51 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (distribute_notes): If an insn is a cc0 user, only
- 	delete it if we can also delete the cc0 setter.
- 
- Sun Sep 20 00:22:23 1998  Michael Tiemann  <michael@impact.tiemann.org>
- 
- 	* fold-const.c (fold): Fix typo in COND_EXPR handling code.
- 	(invert_truthvalue): Enable truthvalue inversion for
- 	floating-point operands if -ffast-math.
- 
- Sat Sep 19 23:58:07 1998  Melissa O'Neill  <oneill@cs.sfu.ca>
- 
- 	* configure.in: Disable collect2 for nextstep.  Instead use
- 	crtbegin/crtend.
- 	* configure: Rebuilt.
- 	* config/nextstep.h (STARTFILE_SPEC): Add crtbegin.
- 	(ENDFILE_SPEC): Define.
- 	(OBJECT_FORMAT_MACHO): Define.
- 	(EH_FRAME_SECTION_ASM_OP): Define.
- 	* crtstuff.c: Handle MACHO.
- 
- Sun Sep 20 00:24:24 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* config/i386/sco5.h (TARGET_MEM_FUNCTIONS): Define.
- 
- 1998-09-19  Torbjorn Granlund  <tege@matematik.su.se>
- 
- 	* fp-bit.c (pack_d): Do not clear SIGN when fraction is 0.
- 	(_fpadd_parts): Get sign right for 0.
- 
- 1998-09-19  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* ginclude/varargs.h: Add support for C4x target.
- 	* ginclude/stdargs.h: Likewise.
- 
- Sat Sep 19 12:05:09 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_return_addr): SET should be VOIDmode.
- 	(alpha_emit_set_long_const): Rewrite to be callable from reload
- 	and 32-bit hosts.
- 	(alpha_expand_epilogue): Update for alpha_emit_set_long_const.
- 	* alpha.md (movdi): Likewise.
- 
- Sat Sep 19 07:33:36 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (add_constant): New parameter address_only, change caller.
- 	Set it nonzero if taking the address of an item in the pool.
- 	(arm_reorg): Handle cases where we need the address of an item in
- 	the pool.
- 
- 	* arm.c (bad_signed_byte_operand): Check both arms of a sum in
- 	a memory address.
- 	* arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle
- 	memory addresses that are not in standard canonical form.
- 
- Sat Sep 19 01:00:32 1998  Michael Hayes  (mph@elec.canterbury.ac.nz)
- 
- 	* README.C4X: New file with information about the c4x ports.
- 	* ginclude/va-c4x.h: New file for c4x varargs support.
- 	* config/c4x: New directory with c4x port files.
- 
- Fri Sep 18 22:52:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload.c (find_reloads): Do not replace a pseudo with
- 	(MEM (reg_equiv_addr)) in the initializing insn for the
- 	pseudo.
- 
- Fri Sep 18 23:50:56 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* toplev.c (rest_of_compilation): Set bct_p on second call to
- 	loop_optimize.
- 	* loop.c (loop_optimize, scan_loop, strength_reduce): New argument
- 	bct_p.
- 	(strength_reduce): Only call analyze_loop_iterations and
- 	insert_bct if bct_p set.
- 	(check_dbra_loop): Fix typo.
- 	(insert_bct): Use word_mode instead of SImode.
- 	(instrument_loop_bct): Likewise.  Do not delete iteration count
- 	condition code generation insn.  Initialize iteration count before
- 	loop start.
- 	* rtl.h (loop_optimize): Update prototype.
- 
- 	* ginclude/va-ppc.h (va_arg): longlong types in overflow area are
- 	not doubleword aligned.
- 
- 	* rs6000.c (optimization_options): New function.
- 	(secondary_reload_class): Only call true_regnum for PSEUDO_REGs.
- 	* rs6000.h (OPTIMIZATION_OPTIONS): Define.
- 	(REG_ALLOC_ORDER): Allocate highest numbered condition regsiters
- 	first; cr1 can be used for FP record condition insns.
- 
- Fri Sep 18 09:44:55 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.h (m32r_block_immediate_operand): Add to
- 	PREDICATE_CODES.
- 
- 	* config/m32r/m32r.md: Add "movstrsi" and "movstrsi_internal"
- 	patterns.
- 
- 	* config/m32r/m32r.c (m32r_print_operand): Add 's' and 'p'
- 	operators.
- 	(block_move_call): New function: Call a library routine to copy a
- 	block of memory.
- 	(m32r_expand_block_move): New function: Expand a "movstrsi"
- 	pattern into a sequence of insns.
- 	(m32r_output_block_move): New function: Expand a
- 	"movstrsi_internal" pattern into a sequence of assembler opcodes.
- 	(m32r_block_immediate_operand): New function: Return true if the
- 	RTL is an integer constant, less than or equal to MAX_MOVE_BYTES.
- 
- Thu Sep 17 16:42:16 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.c (start_catch_handler): Issue 'fatal' instead of 'error' and
- 	re-align some code.
- 	* libgcc2.c (__eh_rtime_match): fprintf a runtime error. Use <stdio.h>.
- 
- Thu Sep 17 12:24:33 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (copy_src_to_dest): Check that modes match.
- 
- Wed Sep 16 22:10:42 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* config/i386/sco5.h (SUPPORTS_WEAK): True only if targeting ELF.
- 
- Wed Sep 16 15:24:54 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (PREFERRED_RELOAD_CLASS): Respect an existing class
- 	narrower than FLOAT_REGS.
- 
- Wed Sep 16 17:51:00 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* cpplib.c: Removed OLD_GPLUSPLUS_INCLUDE_DIR.
- 	* cccp.c: Likewise.
- 	* Makefile.in (old_gxx_include_dir): Removed.
- 
- Wed Sep 16 12:29:22 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/sh/sh.h: Update definition of HANDLE_PRAGMA to match
- 	new specification.
- 
- 	* config/sh/sh.c (handle_pragma): Rename to sh_handle_pragma().
- 	(sh_handle_pragma): Change function arguments to match new
- 	specification for HANDLE_PRAGMA.
- 
- Wed Sep 16 12:43:19 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gen-protos.c (parse_fn_proto): Cast argument of ISALNUM to
- 	`unsigned char'.
- 	(main): Mark parameter `argc' with ATTRIBUTE_UNUSED.
- 	When generating output, initialize missing struct member to zero.
- 
- Wed Sep 16 14:47:43 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (copy_src_to_dest): Don't copy if that requires
- 	(a) new register(s).
- 
- Wed Sep 16 01:29:12 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* global.c (reg_allocno): Now static.
- 	* reload1.c (reg_allocno): Delete declaration.
- 	(order_regs_for_reload): Take no arguments.  Don't treat regs
- 	allocated by global differently than those allocated by local-alloc.
- 
- Wed Sep 16 01:09:01 1998  Kamil Iskra  <iskra@student.uci.agh.edu.pl>
- 
- 	* m68k/m68k.c (output_function_prologue): Reverse NO_ADDSUB_Q
- 	condition, fix format strings.
- 	(output_function_epilogue): Likewise.
- 
- 	* m68k/m68k.c: Don't include <stdlib.h> directly.
- 
- Wed Sep 16 00:30:56 1998  Geoff Keating  <geoffk@ozemail.com.au>
- 
- 	* gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set,
- 	mem_first_set, mem_last_set; because 0 can be a CUID.
- 	(oprs_unchanged_p): Use new definition.
- 	(record_last_reg_set_info): Likewise.
- 	(record_last_mem_set_info): Likewise.
- 	(compute_hash_table): Likewise.
- 
- Tue Sep 15 22:59:52 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.c (output_epilogue): Handle Chill.
- 
- 	* mn10200.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- 	* mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- 
- 	* combine.c (make_extraction): If no mode is specified for
- 	an operand of insv, extv, or extzv, default it to word_mode.
- 	(simplify_comparison): Similarly.
- 	* expmed.c (store_bit_field): Similarly.
- 	(extract_bit_field): Similarly.
- 	* function.c (fixup_var_regs_1): Similarly.
- 	* recog.c (validate_replace_rtx_1): Similarly.
- 	* mips.md (extv, extzv, insv expanders): Default modes for most
- 	operands.  Handle TARGET_64BIT.
- 	(movdi_uld, movdi_usd): New patterns.
- 
- 	* pa.c (emit_move_sequence): Do not replace a pseudo with its
- 	equivalent memory location unless we have been provided a scratch
- 	register.  Similarly do not call find_replacement unless a
- 	scratch register has been provided.
- 
- Tue Sep 15 19:23:01 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* i386.h (PREFERRED_RELOAD_CLASS): For standard 387 constants,
- 	return FLOAT_REGS.
- 
- Tue Sep 15 19:09:06 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.h (BUILT_IN_CALLER_RETURN_ADDRESS): Unused.  Kill.
- 	(BUILT_IN_FP, BUILT_IN_SP, BUILT_IN_SET_RETURN_ADDR_REG): Kill.
- 	(BUILT_IN_EH_STUB_OLD, BUILT_IN_EH_STUB, BUILT_IN_SET_EH_REGS): Kill.
- 	(BUILT_IN_EH_RETURN, BUILT_IN_DWARF_CFA): New.
- 	* c-decl.c (init_decl_processing): Update accordingly.
- 	* expr.c (expand_builtin): Likewise.
- 
- 	* rtl.h (global_rtl): Add cfa entry.
- 	(virtual_cfa_rtx, VIRTUAL_CFA_REGNUM): New.
- 	(LAST_VIRTUAL_REGISTER): Update.
- 	* emit-rtl.c (global_rtl): Add cfa entry.
- 	(init_emit): Initialize it.
- 	* function.c (cfa_offset): New.
- 	(instantiate_virtual_regs): Initialize it.
- 	(instantiate_virtual_regs_1): Instantiate virtual_cfa_rtx.
- 	(expand_function_end): Call expand_eh_return.
- 	* tm.texi (ARG_POINTER_CFA_OFFSET): New.
- 
- 	* except.c (current_function_eh_stub_label): Kill.
- 	(current_function_eh_old_stub_label): Likwise; update all references.
- 	(expand_builtin_set_return_addr_reg): Kill.
- 	(expand_builtin_eh_stub_old, expand_builtin_eh_stub): Kill.
- 	(expand_builtin_set_eh_regs): Kill.
- 	(eh_regs): Produce a third reg for the actual handler address.
- 	(eh_return_context, eh_return_stack_adjust): New.
- 	(eh_return_handler, eh_return_stub_label): New.
- 	(init_eh_for_function): Initialize them.
- 	(expand_builtin_eh_return, expand_eh_return): New.
- 	* except.h: Update prototypes.
- 	* flow.c (find_basic_blocks_1): Update references to the stub label.
- 	* function.h (struct function): Kill stub label elements.
- 
- 	* libgcc2.c (in_reg_window): For REG_SAVED_REG, check that the
- 	register number is one that would be in the previous window.
- 	Provide a dummy definition for non-windowed targets.
- 	(get_reg_addr): New function.
- 	(get_reg, put_reg, copy_reg): Use it.
- 	(__throw): Rely on in_reg_window, not INCOMING_REGNO.  Kill stub
- 	generating code and use __builtin_eh_return.  Use __builtin_dwarf_cfa.
- 
- 	* alpha.c (alpha_eh_epilogue_sp_ofs): New.
- 	(alpha_init_expanders): Initialize it.
- 	(alpha_expand_epilogue): Use it.
- 	* alpha.h: Declare it.
- 	* alpha.md (eh_epilogue): New.
- 
- 	* m68h.h (ARG_POINTER_CFA_OFFSET): New.
- 	* sparc.h (ARG_POINTER_CFA_OFFSET): New.
- 
- Tue Sep 15 19:31:58 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* i960.h (CONST_COSTS): Fix thinko.  Test flag, not the constant
- 	flag bit mask.
- 
- Tue Sep 15 14:10:54 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (struct eh_entry): Add false_label field.
- 	(end_catch_handler): Add prototype.
- 	* except.c (push_eh_entry): Set false_label field to NULL_RTX.
- 	(start_catch_handler): When using old style exceptions, issue
- 	runtime typematch code before continuing with the handler.
- 	(end_catch_handler): New function, generates label after handler
- 	if needed by older style exceptions.
- 	(expand_start_all_catch): No need to check for new style exceptions.
- 	(output_exception_table_entry): Only output the first handler label
- 	for old style exceptions.
- 	* libgcc2.c (__eh_rtime_match): New routine to lump runtime matching
- 	mechanism into one function, if a runtime matcher is provided.
- 
- Tue Sep 15 13:53:59 1998  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* config/i960/i960.h (SLOW_BYTE_ACCESS): Change definition to 1.
- 
- Tue Sep 15 09:59:01 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* integrate.c (copy_decl_list): Fix typo.
- 
- Tue Sep 15 04:18:52 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movdf_const_intreg_sp32): Fix length
- 	attribute.
- 
- Mon Sep 14 14:02:53 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 14 10:33:56 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Mon Sep 14 09:51:05 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Sep 13 22:10:18 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* invoke.texi (C Dialect Options): Put back missing @end itemize.
- 
- Mon Sep 14 02:33:46 1998  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* configure.in: Remove usage of `!' to negate the result of a
- 	command; some common shells do not support it.
- 
- Sun Sep 13 19:17:35 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* configure.in: In sparc9-sol2 config, use 'if test' not
- 	brackets.
- 	* configure: Rebuilt.
- 
- 	* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
- 	CM_MEDANY.
- 	(CPP_CPU_SPEC): Do not define _LP64, header files do this.
- 	(CPP_CPU_DEFAULT_SPEC): Likewise.
- 	* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
- 	for arch64 libfuncs.
- 
- 	* config/sparc/sparc.md (goto_handler_and_restore): Allow any mode
- 	for operand zero.
- 
- Sun Sep 13 09:11:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* acconfig.h (NEED_DECLARATION_STRSIGNAL): Provide a stub.
- 
- 	* collect2.c: Don't declare `sys_siglist' here.
- 	(my_strsignal): Prototype and define new function.  Use it in
- 	place of `sys_siglist' hacks.
- 
- 	* mips_tfile.c: Likewise.
- 
- 	* configure.in (AC_CHECK_FUNCS): Check for strsignal.
- 	(GCC_NEED_DECLARATIONS): Likewise.
- 
- 	* system.h (strsignal): Prototype it, if necessary.
- 	(sys_siglist): Declare it, if necessary.
- 
- Sun Sep 13 04:37:28 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* loop.c (move_movables): While removing insn sequences, preserve
- 	the next pointer of the most recently deleted insn when we skip
- 	over a NOTE.
- 
- Sun Sep 13 08:13:39 1998  Ben Elliston  <bje@cygnus.com>
- 
- 	* objc/config-lang.in: Do not output the name of the selected
- 	thread file when building the front-end.  The Makefile for the
- 	runtime library will do this.
- 
- 	* objc/Make-lang.in: Do not build the runtime library or install
- 	the Objective-C header files.  The Makefile for the runtime
- 	library will do this.
- 
- 	* objc/Makefile.in (all.indirect): Only build the front-end.
- 	(compiler): Rename to `frontend'.
- 	(obj-runtime): Remove target.
- 	(copy-headers): Likewise.
- 	(clean): No need to remove `libobjc.a' any longer.
- 
- Sat Sep 12 11:37:19 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
- 	supported with -mcpu=xxx.
- 
- Fri Sep 11 23:55:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* flow.c (mark_set_1): Recognize multi-register structure return
- 	values in CALL insns.
- 	(mark_used_regs): Likewise.
- 	(count_reg_sets_1): Likewise.
- 	(count_reg_references):	Likewise.
- 	* rtlanal.c (note_stores): Likewise.
- 	(reg_overlap_mentioned_p): Likewise.
- 	* haifa-sched.c (check_live_1): Likewise.
- 	(update_live_1): Likewise.
- 	(sched_analyze_1): Likewise.
- 	(sched_note_set): Likewise.
- 	(birthing_insn_p): Likewise.
- 	(attach_deaths): Likewise.
- 
- 	* config/sparc/sparc.md (movdf_const_intreg_sp64): Disable.
- 
- Fri Sep 11 22:57:55 1998  Eric Dumazet  <dumazet@cosmosbay.com>
- 
- 	* config/i386/sco5.h (ASM_WEAKEN_LABEL): Defined as in svr4.h.
- 
- Thu Sep 10 22:02:04 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* glimits.h (__LONG_MAX__): Recognize __sparcv9 too.
- 
- Thu Sep 10 21:19:10 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* configure.in: Add check for GAS subsection -1 support.
- 	* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add.
- 	* configure config.in: Rebuilt.
- 	* config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use
- 	SImode is subsection -1 works, else use DImode.
- 	(ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if
- 	subsection -1 works.
- 	* config/sparc/sparc.c (sparc_output_addr_vec,
- 	sparc_output_addr_diff_vec): Use them if defined.
- 
- Thu Sep 10 10:46:01 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* tree.h (DECL_ORIGIN): New macro.
- 	* integrate.c (copy_and_set_decl_abstract_origin): New function.
- 	(copy_decl_list): Use it.
- 	(integrate_parm_decls): Likewise.
- 	(integrate_decl_tree): Likewise.
- 	* dwarf2out.c (decl_ultimate_origin): Simplify.
- 	* dwarfout.c (decl_ultimate_origin): Likewise.
- 	* c-decl.c (duplicate_decls): Use DECL_ORIGIN.
- 	(pushdecl): Likewise.
- 
- Thu Sep 10 08:01:31 1998  Anthony Green  <green@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (output_epilog): Add Java support.
- 
- Thu Sep 10 14:48:59 1998  Martin von Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* invoke.texi (C++ Dialect Options): Document -fhonor-std.
- 
- Thu Sep 10 01:38:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reg-stack.c (straighten_stack): Do nothing if the virtual stack is
- 	empty or has a single entry.
- 
- 	* toplev.c (rest_of_compilation): Open up the dump file for reg-stack
- 	before calling reg_to_stack.
- 
- Thu Sep 10 00:03:34 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alphaev5_insn_pipe): Abort on default case.
- 	(alphaev5_next_group): Swallow CLOBBERs and USEs.
- 
- 	* c-tree.h (warn_long_long): Declare it.
- 
- Wed Sep  9 23:31:36 1998  (Stephen L Moshier)  <moshier@world.std.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Disable optimization of
- 	initialized float-int union if the value is a NaN.
- 
- Wed Sep  9 23:00:48 1998  Nathan Sidwell  <nathan@acm.org>
- 
- 	* c-lex.c (real_yylex): Don't warn about long long constants if
- 	we're allowing long long
- 
- Wed Sep  9 21:58:41 1998  Bernd Schmidt  <crux@pool.informatik.rwth-aachen.de>
- 
- 	* except.h (current_function_eh_stub_label): Declare.
- 	(current_function_eh_old_stub_label): Declare.
- 	* function.h (struct function): New members eh_stub_label and
- 	eh_old_stub_label.
- 	* except.c (current_function_eh_stub_label): New variable.
- 	(current_function_eh_old_stub_label): New variable.
- 	(init_eh_for_function): Clear them.
- 	(save_eh_status): Save them.
- 	(restore_eh_status): Restore them.
- 	(expand_builtin_eh_stub): Set current_function_eh_stub_label.
- 	(expand_builtin_eh_stub_old): Set current_function_eh_old_stub_label.
- 	* flow.c (find_basic_blocks_1): When handling a REG_LABEL note, don't
- 	make an edge from the block that contains it to the block starting
- 	with the label if this label is one of the eh stub labels.
- 	If eh stub labels exist, show they are reachable from the last block
- 	in the function.
- 
- 	* reload1.c (reload): Break out several subroutines and make some
- 	variables global.
- 	(calculate_needs_all_insns): New function, broken out of reload.
- 	(calculate_needs): Likewise.
- 	(find_reload_regs): Likewise.
- 	(find_group): Likewise.
- 	(find_tworeg_group): Likewise.
- 	(something_needs_reloads): New global variable, formerly in reload.
- 	(something_needs_elimination): Likewise.
- 	(caller_save_spill_class): Likewise.
- 	(caller_save_group_size): Likewise.
- 	(max_needs): Likewise.
- 	(group_size): Likewise.
- 	(max_groups): Likewise.
- 	(max_nongroups): Likewise.
- 	(group_mode): Likewise.
- 	(max_needs_insn): Likewise.
- 	(max_groups_insn): Likewise.
- 	(max_nongroups_insn): Likewise.
- 	(failure): Likewise.
- 
- 	* print-rtl.c (print_rtx): For MEMs, print MEM_ALIAS_SET.
- 
- Wed Sep  9 13:14:41 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (load_mems): Copy rtx for output mem.
- 
- Wed Sep  9 15:16:58 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* mips/abi64.h (LONG_MAX_SPEC): Don't set LONG_MAX for
- 	mips1 or mips2 either.
- 
- Wed Sep  9 12:31:35 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (pa_reorg): New marking scheme for jumps inside switch
- 	tables.
- 	(pa_adjust_insn_length): Update to work with new marking scheme
- 	for jumps inside switch tables.
- 	* pa.md (switch_jump): Remove pattern.
- 	(jump): Handle jumps inside jump tables.
- 
- 	* Makefile.in (profile.o): Depend on insn-config.h
- 
- Wed Sep  9 09:36:51 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* iris6.h (DWARF2_UNWIND_INFO): Undef.
- 
- Wed Sep  9 01:32:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	Add preliminary native sparcv9 Solaris support.
- 	* configure.in: Recognize sparv9-*-solaris2*
- 	* configure: Rebuilt.
- 	* config.sub: Recognize sparcv9 just like sparc64.
- 	* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
- 	config/sparc/sol2-cn.asm: Macroize so it can be shared between
- 	32-bit and 64-bit Solaris systems.
- 	* config/sparc/t-sol2: Assemble those with cpp.
- 	* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
- 	(*TF*_LIBCALL): If ARCH64 use V9 names.
- 	* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New	files.
- 
- Wed Sep  9 01:07:30 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* config/sparc/sparc.h (TARGET_CM_MEDMID): Fix documentation.
- 	(CASE_VECTOR_MODE): Set to SImode even if PTR64, when MEDLOW and
- 	not doing pic.
- 	(ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT): Check CASE_VECTOR_MODE not
- 	Pmode.
- 	* config/sparc/sparc.md (tablejump): Likewise, and sign extend op0
- 	to Pmode if CASE_VECTOR_MODE is something else.
- 
- Wed Sep  9 00:10:31 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* prefix.c (update_path): Correctly handle cases where PATH is
- 	a substring of the builtin prefix, but specifies a different
- 	directory location.
- 
- Tue Sep  8 23:46:04 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* expr.c: Corrected comment about what MOVE_RATIO does.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/1750a/1750a.h: Likewise.
- 	* config/clipper/clipper.h: Likewise.
- 	* config/i386/i386.h: Likewise.
- 
- Tue Sep  8 22:56:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (m68k-next-nextstep3*): Use collect2.
- 	Similarly for x86 NeXT configurations.
- 	* configure: Rebuilt.
- 
- Tue Sep  8 01:38:57 1998  Nathan Sidwell  <nathan@acm.org>
- 
- 	* configure.in: Don't assume srcdir is .../gcc.
- 	* configure: Rebuilt.
- 
- Sat Sep  5 16:34:34 1998  John Wehle  (john@feith.com)
- 
- 	* global.c: Update comments.
- 	(global_alloc): Assign allocation-numbers
- 	even for registers allocated by local_alloc in case
- 	they are later spilled and retry_global_alloc is called.
- 	(mark_reg_store, mark_reg_clobber,
- 	mark_reg_conflicts, mark_reg_death): Always record a
- 	conflict with a pseudo register even if it has been
- 	assigned to a hard register.
- 	(dump_conflicts): Don't list pseudo registers already assigned to
- 	a hard register as needing to be allocated, but do list their
- 	conflicts.
- 	* local-alloc.c: Update comment.
- 
- Mon Sep  7 23:38:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Check for bogus GCC_EXEC_PREFIX and LIBRARY_PATH.
- 	* configure: Rebuilt.
- 
- Mon Sep  7 22:41:46 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.c (rs6000_override_options): Fix name for ec603e, to add
- 	missing 'c'.
- 	* t-ppccomm (MULTILIB_MATCHES_FLOAT): Add support for -mcpu=xxx
- 	for all targets that set -msoft-float.
- 
- Mon Sep  7 23:30:07 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c (print_switch_values): Make static to match prototype.
- 
- Mon Sep  7 19:13:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: If we are unable to find the "gnatbind" program,
- 	then do not configure the ada subdir.
- 	* configure: Rebuilt.
- 
- Sun Sep  6 14:03:58 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Sep  6 13:28:07 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Sun Sep  6 08:54:14 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o): Depend on $(EXPR_H).
- 	(insn-extract.o, insn-attrtab.o): Depend on toplev.h.
- 
- 	* gansidecl.h: Define ATTRIBUTE_NORETURN.
- 
- 	* genattrtab.c: Have insn-attrtab.c include toplev.h.
- 
- 	* genextract.c: Have insn-extract.c include toplev.h.
- 
- 	* rtl.h: Don't prototype `fatal_insn_not_found' and `fatal_insn'.
- 
- 	* toplev.c: Include expr.h.
- 	(really_sorry, fancy_abort): Remove prototypes.
- 	(set_target_switch): Add argument in prototype.
- 	(vfatal): Mark prototype with ATTRIBUTE_NORETURN.
- 	(v_really_sorry): Likewise.
- 	(print_version, print_single_switch, print_switch_values): Make
- 	static and add prototype arguments.
- 	(decl_printable_name): Add prototype arguments.
- 	(lang_expand_expr_t): New typedef.
- 	(lang_expand_expr): Declare as a lang_expand_expr_t.
- 	(incomplete_decl_finalize_hook): Add prototype argument.
- 	(decl_name): Mark variable `verbosity' with ATTRIBUTE_UNUSED.
- 	(botch): Likewise for variable `s'.
- 	(rest_of_type_compilation): Mark variables `type' and `toplev'
- 	with ATTRIBUTE_UNUSED if none of DBX_DEBUGGING_INFO,
- 	XCOFF_DEBUGGING_INFO or SDB_DEBUGGING_INFO are defined.
- 	(display_help): Make variable `i' an `unsigned long'.
- 	(main): Remove unused parameter `envp'.
- 	Cast assignment to `lang_expand_expr' to a `lang_expand_expr_t'.
- 	Cast -1 when comparing it with a `size_t'.
- 
- 	* toplev.h (fatal, fatal_io_error, pfatal_with_name): Mark
- 	prototype with ATTRIBUTE_NORETURN.
- 	(fatal_insn_not_found, fatal_insn, really_sorry,
- 	push_float_handler, pop_float_handler): Add prototypes.
- 	(fancy_abort): Mark prototype with ATTRIBUTE_NORETURN.
- 	(do_abort, botch): Add prototypes.
- 
- Sat Sep  6 12:05:18 1998  John Carr  <jfc@mit.edu>
- 
- 	* final.c (final): If a label is reached only from a single jump,
- 	call NOTICE_UPDATE_CC on the jump and its predecessor before
- 	emitting the insn after the label.
- 
- 	* i386.h: Add AMD K6 support.
- 	Change TARGET_* macros to use table lookup.
- 	(INITIALIZE_TRAMPOLINE): Improve trampoline code.
- 	(ADJUST_COST): Change definition to call function in i386.c.
- 	(ISSUE_RATE): Define as 2 for anything newer than an 80486.
- 	* i386.c: Add AMD K6 support.
- 	Add constants for feature tests used by TARGET_* macros.
- 	(split_di): If before reload, call gen_lowpart and gen_highpart.
- 	(x86_adjust_cost): New function.
- 	(put_jump_code): New function.
- 	(print_operand): New codes 'D' and 'd'.
- 	* i386.md: New insn types.  New insn attribute "memory".
- 	Redefine scheduling parameters to use new types and add AMD K6
- 	support.  Explicitly set type of most insns.
- 	(move insns): K6 prefers movl $0,reg to xorl reg,reg.  Pentium
- 	Pro and K6 prefer movl $1,reg to incl reg.
- 	(adddi3, subdi3): Set cc_status.
- 	(DImode shift patterns): Change label counters from HOST_WIDE_INT
- 	to int; x86 can't have more than 2^31 DImode shifts per	file.
- 	(setcc): Combine all setcc patterns.  Allow writing memory.
- 	Combine all jump patterns using match_operator.
- 	(*bzero): Name pattern.  Emit multiple stos instructions when that
- 	is faster than rep stos.
- 	(xordi3, anddi3, iordi3): Simplify DImode logical patterns and
- 	add define_split.
- 
- Sun Sep  6 11:17:20 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* config/m68k/x-next (BOOT_LDFLAGS): Define suitably for f771
- 	linking.
- 
- Sat Sep  5 22:05:25 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence,
- 	not whatever we're generating now.
- 
- 	* alpha.c (set_frame_related_p, FRP): New.
- 	(alpha_expand_prologue): Mark frame related insns.
- 	(alpha_expand_epilogue): Likewise, but with a null FRP.
- 	* alpha.h (INCOMING_RETURN_ADDR_RTX): New.
- 	* alpha.md (exception_receiver): New.
- 	* alpha/crtbegin.asm (.eh_frame): New beginning.
- 	(__do_frame_setup, __do_frame_takedown): New.
- 	* alpha/crtend.asm (.eh_frame): New ending.
- 	* alpha/elf.h (DWARF2_DEBUGGING_INFO): Define.
- 	(ASM_SPEC): Don't emit both dwarf2 and mdebug.
- 	(ASM_FILE_START): Don't emit .file for dwarf2.
- 
- 	* rtl.h (enum reg_note): Add REG_FRAME_RELATED_EXPR.
- 	* rtl.c (reg_note_name): Likewise.
- 	* rtl.texi (REG_NOTES): Likewise.
- 	* dwarf2out.c (dwarf2out_frame_debug): Use it.  Recognize a store
- 	without an offset.
- 
- Sat Sep  5 14:47:17 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (PREFERRED_RELOAD_CLASS): Standard fp constants load to TOS.
- 	* i386.md (movsf, movdf, movxf): Validate memory address returned
- 	from force_const_mem.  Kill useless REG_EQUAL setting code.
- 
- Sat Sep  5 14:23:31 1998  Torbjorn Granlund  <tege@matematik.su.se>
- 
- 	* m68k.md (zero_extendsidi2): Fix typo.
- 
- Sat Sep  5 13:40:24 1998  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* configure.in: Removed references to the removed file.
- 	* config/xm-netbsd.h: Use ${cpu_type}/xm-netbsd.h for
- 	arm*-*-netbsd* and ns32k-*-netbsd*.
- 	* config/i386/xm-netbsd.h: Removed unnecessary file.
- 	* config/m68k/xm-netbsd.h: Likewise.
- 	* config/sparc/xm-netbsd.h: Likewise.
- 	* config/mips/xm-netbsd.h: Likewise.
- 
- Sat Aug 29 13:32:58 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32.h (BIGGEST_ALIGNMENT): Define.
- 	(PCC_BITFIELD_TYPE_MATTERS): Define to be 0.
- 
- 	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for
- 	for exact section attributions.
- 
- 	* i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc
- 	runtime.
- 	* i386/crtdll.h (CPP_PREDEFINES): Define.
- 
- Sat Sep  5 03:23:05 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (5200 movqi): Do not allow byte sized memory references
- 	using address regs.
- 	* m68k.c (output_move_qimode): Do not use byte sized operations on
- 	address registers.
- 
- 	* Makefile.in (pexecute.o): Use pexecute.c from libiberty.  Provide
- 	explicit rules for building.  Similarly for alloca, vfprintf,
- 	choose-temp and mkstemp, getopt, getopt1, and obstack.
- 	(INCLUDES): Add $(srcdir)/../include.
- 	* pexecute.c, alloca.c, vfprintf.c, choose-temp.c, mkstemp.c: Delete.
- 	* getopt.h, getopt.c getopt1.c, obstack.c, obstack.h: Likewise.
- 
- Fri Sep  4 11:57:50 1998  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (do_spec_1): [case 'o'] Account for
- 	lang_specific_extra_outfiles.
- 	(main): Correctly clear all slots in outfiles for
- 	lang_specific_extra_outfiles.  Set input_file_number before
- 	calling lang_specific_pre_link.
- 
- Fri Sep  4 10:37:07 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (load_mems): Fix JUMP_LABEL field after for_each_rtx call.
- 
- Fri Sep  4 02:01:05 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (output_double_int): In all V9 symbolic
- 	cases, use xword.
- 	(sparc_output_deferred_case_vectors): If no work to do, return.
- 	Fix thinko in Sept 1 change.
- 
- 1998-09-03  SL Baur  <steve@altair.xemacs.org>
- 
- 	* Makefile.in: Add semicolon in BISON definition for portability.
- 
- Thu Sep  3 13:34:41 1998  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* config/nextstep.c (handle_pragma): Correct name of third
- 	argument.
- 
- Tue Sep  1 11:30:33 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.md: Change (reg:CC 17) to (reg:SI 17).
- 	* config/m32r/m32r.h: Make register 17 be fixed.
- 	* config/m32r/m32r.c: Use SImode for cc operations.
- 
- Thu Sep  3 18:17:34 1998  Benjamin Kosnik  <bkoz@cygnus.com>
- 
- 	* invoke.texi (Warning Options): Add -Wnon-template-friend
- 	documentation.
- 
- Thu Sep  3 18:16:16 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.c (rs6000_override_options): Add -mcpu={401,e603e}.
- 
- Thu Sep  3 18:05:16 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movsf): Disable explicit secondary-reload-like
- 	functionality if TARGET_POWERPC64.
- 	(movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like
- 	functionality.
- 
- Thu Sep  3 11:41:40 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h
- 	and term.h from fixinc.wrap.
- 
- Thu Sep  3 09:47:31 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (GCC_HEADER_STRING): New macro to detect if it is
- 	safe to include both string.h and strings.h together.
- 	(GCC_NEED_DECLARATION): Test STRING_WITH_STRINGS when deciding
- 	which headers to search for function declarations.  Continue to
- 	prefer string.h over strings.h when both are not acceptable.
- 
- 	* acconfig.h (STRING_WITH_STRINGS): Add stub.
- 
- 	* configure.in: Call GCC_HEADER_STRING.
- 
- 	* system.h: Test STRING_WITH_STRINGS when deciding which headers
- 	to include.  Continue to prefer string.h over strings.h when both
- 	are not acceptable.
- 
- Wed Sep  2 23:56:29 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (output_double_int): If V9 and MEDLOW, do
- 	not assume top 32-bits of symbolic addresses are zero if
- 	flag_pic.
- 
- Thu Sep  3 00:23:21 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* ginclude/va-alpha.h: Protect entire second portion of the
- 	file against double inclusion.
- 
- Thu Sep  3 00:37:55 1998  Ovidiu Predescu  <ovidiu@aracnet.com>
- 
- 	Added support for the Boehm's garbage collector.
- 	* configure.in: Handle --enable-objc-gc.
- 	* configure: Rebuilt.
- 	* Makefile.in (CHECK_TARGETS): Add check-objc.
- 	(check-objc): New rule.
- 	* objc/Make-lang.in: Build a different Objective-C library that
- 	runs with the Boehm's collector.
- 	* objc/encoding.c (objc_round_acc_size_for_types): New function.
- 	* objc/encoding.c: Correctly compute the size of compound types in
- 	the presence of bitfields. Skip the variable name of the type if
- 	any. Added support for long long.
- 	* objc/encoding.h (_C_GCINVISIBLE): New specifier.
- 	(_F_GCINVISIBLE): New mask.
- 	* objc/gc.c: New file. Compute the type memory mask associated with
- 	a class based on the runtime information.
- 	* objc/misc.c: Added the hooks that use the Boehm's collector
- 	allocation functions.
- 	* objc/objc-act.c (build_class_template): Generate a new class
- 	member (gc_object_type) to hold the class' type memory mask.
- 	(build_shared_structure_initializer): Initialize the new member to
- 	NULL.
- 	(encode_complete_bitfield): New function. Generate the new
- 	encoding.
- 	(encode_field_decl): Generate the new encoding only for the GNU
- 	runtime.
- 	* objc/objc-api.h (_C_LNG_LNG, _C_ULNG_LNG): New specifiers for the
- 	long long types.
- 	(class_get_gc_object_type): New function to mark a pointer instance
- 	variable as a weak pointer.
- 	* objc/objc-features.texi: New file.
- 	* objc/objc.h (gc_object_type): New class member.
- 	* objc/objects.c (class_create_instance): Create a typed memory
- 	object when compiled with Boehm's collector support.
- 	* objc/sendmsg.c (__objc_init_install_dtable): Call
- 	__objc_send_initialize instead of setting the initialize flag.
- 	(__objc_send_initialize): Call __objc_generate_gc_type_description
- 	to generate the class type memory mask. Rewrite the code that
- 	sends the +initialize so that it is called only once (bug report
- 	and fix from Ronald Pijnacker <Ronald.Pijnacker@best.ms.philips.com>).
- 	* testsuite/objc: New testsuite for Objective-C type encoding.
- 	* testsuite/lib/objc-torture.exp: New file.
- 	* testsuite/lib/objc.exp: New file.
- 
- Wed Sep  2 14:47:36 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* jump.c (jump_optimize): In if/then/else transformations, add
- 	another call to modified_between_p for the jump insn.
- 
- Wed Sep  2 14:16:49 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fix-header.c (symlink): Treat like readlink.
- 
- Wed Sep  2 19:30:06 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* dwarfout.c (fundamental_type_code): Encode 32 bit floats/doubles
- 	as FT_float.
- 
- Wed Sep  2 10:06:07 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/nextstep.h:    Update HANDLE_PRAGMA macro.
- 	* config/h8300/h8300.h: Update HANDLE_PRAGMA macro.
- 	* config/i960/i960.h:   Update HANDLE_PRAGMA macro.
- 
- 	* config/nextstep.c (handle_pragma): Take three arguments, as per
- 	the new HANDLE_PRAGMA macro specification.
- 	* config/h8300/h8300.c (handle_pragma): Take three arguments, as
- 	per the new HANDLE_PRAGMA macro specification.
- 	* config/i960/i960.c (process_pragma): Take three arguments, as
- 	per the new HANDLE_PRAGMA macro specification.
- 
- Wed Sep  2 09:25:29 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* c-lex.c (check_newline): Call HANDLE_PRAGMA before
- 	HANDLE_SYSV_PRAGMA if both are defined.  Generate warning messages
- 	if unknown pragmas are encountered.
- 	(handle_sysv_pragma): Interpret return code from
- 	handle_pragma_token ().  Return success/failure indication rather
- 	than next unprocessed character.
- 	(pragma_getc): New function: retrieves characters from the
- 	input stream.  Defined when HANDLE_PRAGMA is enabled.
- 	(pragma_ungetc): New function: replaces characters back into the
- 	input stream.  Defined when HANDLE_PRAGMA is enabled.
- 
- 	* c-pragma.c (handle_pragma_token): Return success/failure status
- 	of the parse.
- 
- 	* c-pragma.h: Change prototype of handle_pragma_token().
- 
- 	* varasm.c (handle_pragma_weak): Only create this function if
- 	HANDLE_PRAGMA_WEAK is defined.
- 
- 	* c-common,c (decl_attributes): If defined call the expression
- 	contained within the INSERT_ATTRIBUTES macro before adding
- 	attributes to a decl.
- 
- 	* tm.texi (HANDLE_PRAGMA): Document the new version of
- 	HANDLE_PRAGMA, which takes three arguments.
- 	(INSERT_ATTRIBUTES): Document this new macro.
- 
- 	* LANGUAGES: Document the new version of HANDLE_PRAGMA and the
- 	new INSERT_ATTRIBUTES macro.
- 
- Wed Sep  2 02:03:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movdf): Only generate special RTL for
- 	LABEL_REFs when PIC.
- 	(move_label_di): Remove.
- 	(movdi_pic_label_ref, movdi_high_pic_label_ref,
- 	movdi_lo_sum_pic_label_ref): New patterns for 64-bit label
- 	references when PIC.
- 	* config/sparc/sparc.h (ASM_OUTPUT_ADDR_VEC_ELT,
- 	ASM_OUTPUT_ADDR_DIFF_ELT): Don't do anything special for MEDLOW,
- 	output an .xword for all 64-bit cases.
- 
- Tue Sep  1 15:55:17 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (finalize_pic): Don't output arbitrary
- 	alignment, use FUNCTION_BOUNDARY instead.
- 	(sparc_output_deferred_case_vectors): Likewise.
- 
- Mon Aug 31 17:25:41 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movsf_const_intreg): Kill warning.
- 	(movtf_insn_sp64, movtf_no_e_insn_sp64): Reorder alternatives.
- 
- Mon Aug 31 13:57:55 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/va_list.h: New file.
- 	* alpha/x-alpha (EXTRA_HEADERS): New.  Add va_list.h.
- 
- Mon Aug 31 14:55:02 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* NEWS: Add SCO Openserver and Unixware 7 notes.
- 
- 	* NEWS: Fix typos.
- 
- Mon Aug 31 15:42:18 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* varasm.c (compare_constant_1): Handle RANGE_EXPR.
- 	(record_constant_1): Handle RANGE_EXPR.
- 
- Mon Aug 31 10:54:03 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): NOTE_INSN_LIVE has an rtx not a bitmap.
- 	* haifa-sched.c (sched_analyze): Handle NOTE_INSN_RANGE_START
- 	and NOTE_INSN_RANGE_END specially.
- 	(reemit_notes): Likewise.
- 
- Mon Aug 31 10:18:52 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (TMASK, UMASK): Use `(unsigned)1' not `1U'.
- 	(ultrasparc_sched_init): Remove unneeded &.
- 
- Mon Aug 31 10:47:16 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040
- 	for m68020-60, to prevent the use of fintrz.
- 
- Sun Aug 30 22:17:20 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* configure.in: If the native compiler is GCC use $(WARN_CFLAGS)
- 	even in stage1.
- 	* Makefile.in: Likewise.
- 	* configure: Regenerated.
- 
- Sun Aug 30 22:15:41 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* configure.in (gxx_include_dir): Changed to
- 	'${prefix}/include/g++'-${libstdcxx_interface}.
- 	* configure: Rebuilt.
- 
- Sun Aug 30 20:19:43 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* expr.c (expand_expr): Change ">" to ">=" making MOVE_RATIO use
- 	consistent.
- 	* tm.texi (Costs): Say MOVE_RATIO is number of mem-mem move
- 	*sequences* *below* which scalar moves will be used.
- 
- Sun Aug 30 17:18:43 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* collect2.c (mktemp): Delete unused declaration.
- 
- 	* config/xm-netbsd.h: Remove unnecessary file.
- 	* config/*/xm-netbsd.h: Do not include the generic xm-netbsd.h
- 	file anymore, it is not needed.
- 
- Sun Aug 30 16:05:45 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* convert.c (convert_to_integer): Issue an error on conversions to
- 	incomplete types.
- 
- Sun Aug 30 16:47:20 1998  Martin von Lvwis  <loewis@informatik.hu-berlin.de>
- 
- 	* Makefile.in: Add lang_tree_files and gencheck.h.
- 	* configure.in: Generate them.
- 	* gencheck.c: Include gencheck.h.
- 
- Sat Aug 29 21:38:24 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (pic_lo_sum_di, pic_sethi_di): Rename to
- 	movdi_lo_sum_pic and movdi_high_pic and make visible.
- 	* config/sparc/sparc.c (legitimize_pic_address): For -fPIC,
- 	emit these when Pmode is not SImode.
- 	* config/sparc/linux64.h (SPARC_DEFAULT_CMODEL): Make CM_MEDLOW.
- 
- Sat Aug 29 14:59:32 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit
- 	.linkonce directive after the first time.
- 
- Sat Aug 29 12:39:56 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (beq0_di): Generate correct (and more efficient) code when
- 	the clobbered operand overlaps with an input.
- 	(bne0_di): Similarly.
- 
- 	* Makefile.in (INSTALL): Remove "--no-header" argument.
- 
- 	* NEWS: Various updates.
- 
- Fri Aug 28 19:00:44 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (arith_operand, const64_operand,
- 	const64_high_operand, arith_double_4096_operand): Mark mode as
- 	unused.
- 	(create_simple_focus_bits): Remove unused arg highest_bit_set, all
- 	callers changed.
- 	(sparc_emit_set_const64): Remove unused variable i.
- 	(sparc_splitdi_legitimate): Likewise for addr_part.
- 	(ultra_code_from_mask): Likewise for mask.
- 	(ultra_cmove_results_ready_p): Fixup entry modulo calc. and
- 	reverse return values so it matches usage and comments.
- 	(ultra_flush_pipeline): Likewise.
- 	(ultra_fpmode_conflict_exists): Likewise, remove unused variable
- 	this_type, and allow loads and stores of differing FP modes as
- 	they do not create a conflict.
- 	(ultra_find_type): Initialize fpmode to SFmode, fix
- 	parenthesization thinkos in large conditional.
- 	(ultrasparc_sched_init): Mark dump and sched_verbose as unused.
- 	Init free_slot_mask after ultra_cur_hist is reset, not before.
- 	(ultrasparc_rescan_pipeline_state): Remove unused variable ucode.
- 	(ultrasparc_sched_reorder): Don't bzero current pipeline state,
- 	use ultra_flush_pipeline instead, then re-init group pointer.
- 	Fix statement with no effect.  If no progress made in, and no
- 	instructions scheduled at all, advance to new pipeline cycle else
- 	we get into an endless loop.
- 	(ultrasparc_adjust_cost): Remove previous arg.
- 	* config/sparc/sparc.h (ADJUST_COST): Update to reflect that.
- 
- Fri Aug 28 13:52:35 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* sparc.md (DImode, DFmode, TFmode splits): Delete self_reference
- 	code.  Use reg_overlap_mentioned_p to detect when source and
- 	destination overlap.
- 	(negtf2_notv9+1): Use DFmode instead of SFmode in last two operands.
- 
- 1998-08-28  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* loop.c (check_dbra_loop): Pass COMPARISON_VALUE, not
- 	COMPARISON_VAL, into invariant_p.
- 
- Fri Aug 28 15:13:25 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (regclass_compatible_p): New function.
- 	(regmove_optimize): Use it.
- 
- 	Use NREGS parameter instead of calling max_reg_num.
- 
- 	(fixup_match_1): Don't use code = MINUS when later tieing with
- 	a hard register is likely.
- 
- Fri Aug 28 14:54:07 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (check_dbra_loop): Fix calculation of FINAL_VALUE when
- 	COMPARISON_VAL was normalized.
- 
- Thu Aug 27 20:10:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (check_dbra_loop): The loop ending comparison value
- 	must be an invariant or we can not reverse the loop.
- 
- 	* loop.c (scan_loop): Count down from max_reg_num - 1 to
- 	FIRST_PSEUDO_REGISTER to avoid calling max_reg_num each iteration
- 	of the loop.
- 	(load_mems_and_recount_loop_regs_set): Likewise.
- 
- 	* i386.c (print_operand): Remove obsolete 'c' docs.
- 
- Wed Aug 26 17:13:37 1998  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gthr.h: Document __GTHREAD_MUTEX_INIT_FUNCTION.
- 	* frame.c (init_object_mutex): New function.
- 	(init_object_mutex_once): Likewise.
- 	(find_fde): Call it.
- 	(__register_frame_info): Likewise.
- 	(__register_frame_info_table): Likewise.
- 	(__deregister_frame_info): Likewise.
- 
- Thu Aug 27 15:14:18 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (sched_analyze_insn): Fix thinko in last change.
- 
- Thu Aug 27 16:34:51 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (check_dbra_loop): Enable code for reversal
- 	of some loops without a known constant loop end.
- 
- Wed Aug 26 18:38:15 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (last_clock_var): New.
- 	(schedule_block): Initialize it.
- 	(schedule_insn): Use it to fill insn modes with issue information.
- 
- 	* alpha.c (alpha_handle_trap_shadows): Remove do-nothing exit.
- 	Tag trapb and next insn with TImode.
- 	(alphaev5_insn_pipe, alphaev5_next_group, alphaev5_align_insns): New.
- 	(alpha_reorg): Add conditional for alpha_handle_trap_shadows.
- 	Invoke alphaev5_align_insns as appropriate.
- 	* alpha.h (LABEL_ALIGN_AFTER_BARRIER): Was ALIGN_LABEL_AFTER_BARRIER.
- 	(MD_SCHED_VARIABLE_ISSUE): New.
- 	* alpha.md (attr type): Add multi.
- 	(define_asm_attributes): New.
- 	(prologue_stack_probe_loop, builtin_setjmp_receiver): Set type multi.
- 	(arg_home): Likewise.
- 	(fnop, unop, realign): New.
- 
- Wed Aug 26 15:55:41 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* iris5.h (PREFERRED_DEBUGGING_TYPE): Undef.
- 	* iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
- 
- 	* configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*.
- 	(rs6000-ibm-aix4.[12]*): Likewise.
- 	* configure: Regenerate.
- 
- Wed Aug 26 09:30:59 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c (thumb_exit): Do not move a4 into lr if it
- 	already contains the return address.
- 
- Wed Aug 26 12:57:09 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (expand_call): Use bitfield instructions to extract/deposit
- 	word sized hunks when loading unaligned args into registers.
- 
- 	* haifa-sched.c (sched_analyze_insn): Only create scheduling
- 	barriers for LOOP, EH and SETJMP notes on the loop_notes list.
- 
- 	* mn10300.h (RTX_COSTS): Handle UDIV and UMOD too.
- 
- Wed Aug 26 16:35:37 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* loop.c (check_dbra_loop): Add some code that would allow reversal
- 	of some loops without a known constant loop end if it were enabled.
- 
- Wed Aug 26 11:08:44 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* mips.md (lshrsi3_internal2+2): Fix type-o.
- 
- Wed Aug 26 10:53:03 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Include stdarg.h/varargs.h, make sure they are ordered
- 	correctly with regards to stdio.h.
- 
- 	* calls.c: Remove stdarg.h/varargs.h.
- 	* cccp.c: Likewise.
- 	* cexp.y: Likewise.
- 	* combine.c: Likewise.
- 	* cpperror.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* doprint.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* final.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* gcc.c: Likewise.
- 	* genattr.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* gencodes.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* prefix.c: Likewise.
- 	* protoize.c: Likewise.
- 	* regmove.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree.c: Likewise.
- 
- Wed Aug 26 05:09:27 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* config/sparc/sparc.c (sparc_override_options): If not
- 	TARGET_FPU, turn off TARGET_VIS.
- 	* config/sparc/sparc.h (TARGET_SWITCHES): Add no-vis.
- 	(LEGITIMATE_CONSTANT_P): Allow SF/DF mode zero when TARGET_VIS.
- 	* config/sparc/sparc.md (movsi_insn): Use fzeros not fzero.
- 	(movdi_insn_sp64): Add VIS fzero alternative.
- 	(clear_sf, clear_df): New VIS patterns.
- 	(movsf, movdf expanders): Allow fp_zero_operand flat out when
- 	TARGET_VIS.
- 	(one_cmpldi2_sp64): Provide new fnot1 VIS alternative.
- 
- Tue Aug 25 10:57:41 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* loop.c (n_times_set, n_times_used, may_not_optimize,
- 	reg_single_usage): Convert to varrays.  All uses changed.
- 	(insert_loop_mem): Return a value.
- 	(scan_loop): Tweak AVOID_CC_MODE_COPIES code.
- 	(load_mems_and_recount_loop_regs_set): Likewise.  Grow the arrays, if
- 	necessary.
- 
- Tue Aug 25 23:57:12 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* From Alexandre:
- 	* configure.in: Do not set thread_file to "irix" since no such
- 	support exists yet.
- 
- 	* sparc.md (float abs/neg splits): Check reload_completed before
- 	calling alter_subreg.
- 
- Tue Aug 25 19:17:59 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (sparc_absnegfloat_split_legitimate): New
- 	function.
- 	* config/sparc/sparc.h: Declare it.
- 	* config/sparc/sparc.md (float abs/neg splits): Use it.
- 	(all other splits): Handle SUBREGs properly where necessary.
- 	(unnamed (1<<x)-1 V8PLUS pattern): Disable for now.
- 
- Tue Aug 25 19:48:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reorg.c (fill_simple_delay_slots): Do not abort if we encounter
- 	an insn on the unfilled_slots_list that has no delay slots.
- 	(fill_eager_delay_slots): Similarly.
- 
- Tue Aug 25 13:35:20 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.c (movsi_source_operand): Treat CONSTANT_P_RTX
- 	as an ordinary operand.
- 
- Tue Aug 25 12:54:57 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (valid_machine_attribute): Don't apply attributes to both
- 	decl and type.
- 
- Tue Aug 25 12:23:20 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (operands_match_p): Handle rtvecs.
- 
- 	* i386.c (legitimate_pic_address_disp_p): New.
- 	(legitimate_address_p): Use it.
- 	(legitimize_pic_address): Use unspecs to represent @GOT and @GOTOFF.
- 	Handle constant pool symbols just like statics.
- 	(emit_pic_move): Use Pmode not SImode for clarity.
- 	(output_pic_addr_const) [SYMBOL_REF]: Remove @GOT and @GOTOFF hacks.
- 	[UNSPEC]: New, handling what we killed above.
- 	[PLUS]: Detect and abort on invalid symbol arithmetic.
- 	* i386.h (CONSTANT_ADDRESS_P): Remove HIGH.
- 
- Tue Aug 25 12:02:23 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* alias.c: Include output.h.
- 	(DIFFERENT_ALIAS_SETS_P): Don't treat alias sets as
- 	different if we're in a varargs function.
- 	* Makefile.in (alias.o): Depend on output.h
- 
- Tue Aug 25 19:20:12 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* sh.h (GIV_SORT_CRITERION): Delete.
- 
- Tue Aug 25 13:19:46 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* regclass.c (regclass): Use xmalloc/free instead of alloca.
- 	* stupid.c (stupid_life_analysis): Likewise.
- 	* reload1.c (reload): Likewise.
- 
- Tue Aug 25 05:48:18 1998  Jakub Jelinek  <jj@sunsite.ms.mff.cuni.cz>
- 
- 	* config/sparc/sparc.c (arith_4096_operand, arith_add_operand,
- 	arith_double_4096_operand, arith_double_add_operand): New
- 	predicates.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Add them, declare them.
- 	* config/sparc/sparc.md (adddi3, addsi3, subdi3, subsi3): Use
- 	them to transform add/sub 4096 into add/sub -4096.
- 
- Mon Aug 24 23:31:03 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* loop.c (scan_loop): Allocate some slop to handle pseudos
- 	generated by move_movables.
- 	(load_mems_and_recount_loop_regs_set): Honor AVOID_CC_MODE_COPIES
- 	here too.
- 
- Mon Aug 24 19:45:40 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* tree.def (DECL_RESULT): Correct documentation.
- 
- Tue Aug 25 01:15:27 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_before_p): New argument EQUIV;  Changed
- 	all callers.  Abort for RELOAD_FOR_INSN.  RELOAD_FOR_OUTADDR_ADDR:
- 	conflicts will all RELOAD_FOR_OUTPUT reloads.
- 
- 	* reload1.c (reload_cse_regs_1): When deleting a no-op move that
- 	loads the function result, substitute with a USE.
- 
- Mon Aug 24 15:20:19 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64
- 	when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode.
- 	(LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup.
- 	* rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4.
- 	(print_operand, cases 'O' and 'T'): Fix typos in lossage strings.
- 	* rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT
- 	operand.
- 	(movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change
- 	'o' to 'm' for GPR variant constraints.
- 
- Mon Aug 24 10:25:46 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (scan_loop): Honor AVOID_CC_MODE_COPIES.
- 
- 	* h8300.h (STRIP_NAME_ENCODING): Fix typo.
- 
- 	* sparc.md (TFmode splits): Use reg_overlap_mentioned_p to detect
- 	when the source and destination overlap.
- 
- 	* stmt.c (emit_case_nodes): Change rtx_function to rtx_fn to avoid
- 	clash with global type.
- 
- Mon Aug 24 00:53:53 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* fixinc.irix: Add curses.h handling from fixinc.wrap.
- 
- 	* c-common.c (combine_strings): Also set TREE_READONLY.
- 	Change warn_write_strings to flag_const_strings.
- 	* c-decl.c, c-tree.h: Likewise.
- 
- Sun Aug 23 18:39:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const32): If outputting a
- 	CONST_INT, not a symbolic reference, don't use a HIGH/LO_SUM
- 	sequence, use SET/IOR instead so CSE can see it.
- 	* config/sparc/sparc.md (movhi_const64_special,
- 	movsi_const64_special): New patterns necessitated by that change.
- 	(movhi_high): Remove.
- 	(movhi_lo_sum): Change to match an IOR.
- 	(movdf_insn_sp32): Test TARGET_V9 not TARGET_ARCH64.
- 	(movdf_insn_v9only): New pattern for when V9 but not ARCH64.
- 	(movdf_insn_sp64): Test both TARGET_V9 and TARGET_ARCH64.
- 	(movdf splits): Allow when not V9 or when not ARCH64 and integer
- 	registers are involved.
- 	(snesi_zero_extend split): Remove reload_completed test.
- 	(unnamed plus and minus zero_extend sidi splits): Add it.
- 
- Sun Aug 23 11:56:08 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* extend.texi: Remove description of extension to explicit
- 	instantiation that is now endorsed by standard C++.
- 
- Sun Aug 23 09:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/arc/arc.c (arc_initialize_pic): Remove.
- 	* config/arc/arc.h (INITIALIZE_PIC): Similarly, this routine does
- 	nothing on any platform and is invoked by no-one, it does not even
- 	appear in the documentation.
- 	* config/sparc/sparc.h (INITIALIZE_PIC): Likewise.
- 	* config/sparc/sparc.c (initialize_pic): Likewise.
- 	(find_addr_reg): Remove this as well, no longer referenced after
- 	my rewrite.
- 
- Sun Aug 23 00:17:14 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* recog.c (validate_replace_rtx_group): New function.
- 	* recog.h (validate_replace_rtx_group): Declare it.
- 	* regmove.c (optimize_reg_copy_3): If any substitution fails, then undo
- 	the entire group of substitutions.
- 
- Sat Aug 22 23:31:00 1998  Klaus-Georg Adams  (Klaus-Georg.Adams@chemie.uni-karlsruhe.de)
- 
- 	* loop.c (load_mems): Fix initializers.
- 
- Fri Aug 21 23:07:46 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (TFmode splits): Handle destination
- 	registers being referenced in the address correctly.
- 
- 	* expmed.c (make_tree) [CONST_INT]: Sign extend even if
- 	TREE_UNSIGNED, when bitsize of type's mode is larger than
- 	HOST_BITS_PER_WIDE_INT.
- 
- Fri Aug 21 19:31:31 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR): New tree nodes.
- 	* tree.h (LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
- 	EXIT_BLOCK_LABELED_BLOCK, EXIT_BLOCK_RETURN, LOOP_EXPR_BODY): New
- 	macros.
- 	* expr.c (expand_expr): Handle LABELED_BLOCK_EXPR and
- 	EXIT_BLOCK_EXPR.
- 
- Thu Aug 20 19:43:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.c (h8300_encode_label): Use '&' for tiny data items.
- 	* h8300.h (TINY_DATA_NAME_P): Likewise.
- 	(STRIP_NAME_ENCODING): Handle '&'.
- 
- 	* mn10200.h (REG_OK_FOR_INDEX_P): Do not check the mode of the
- 	register (it could be accessed via an outer SUBREG).
- 	(REG_OK_FOR_BASE_P): Likewise.
- 	(GO_IF_LEGITIMATE_ADDRESS): Consistently use REGNO_OK_FOR_BASE_P.
- 
- 	* remove.c (optimize_reg_copy_3): Abort instead of silently generating
- 	bogus rtl.
- 
- 	* jump.c (rtx_renumbered_equal_p): Do not consider PLUS commutative.
- 
- Thu Aug 20 17:35:20 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movtf_insn_sp32): All memory operands
- 	must be offsettable so the splits can be made.
- 
- Thu Aug 20 13:56:53 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* config/i386/winnt.c: Include system.h, not stdio.h to get
- 	sys/param.h pulled in before rtl.h in case the system defines MIN
- 	and MAX.
- 
- Thu Aug 20 13:44:20 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movqi, movhi): Add CONSTANT_P_RTX.
- 
- Thu Aug 20 13:15:11 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* stor-layout.c (layout_type): Compute TYPE_SIZE_UNIT correctly for
- 	arrays of bits.
- 	* cpplib.c (cpp_define): Handle macros with parameters.
- 
- Wed Aug 19 21:33:19 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
- 	(output_toc): Use single TOC slot or llong minimal-toc for DFmode
- 	and DImode 64-bit.  Use llong for minimal-toc SFmode and
- 	SYMBOL_REF / LABEL_REF 64-bit.
- 	(output_function_profiler): Use llong for profiler label and ld to
- 	load 64-bit label address.
- 
- Wed Aug 19 17:52:27 1998  Nick Clifton  (nickc@cygnus.com)
- 
- 	* config/arm/thumb.md (extendqisi2_insn): Cope with REG +
- 	OFFSET addressing.
- 
- Wed Aug 19 14:13:31 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Wed Aug 19 13:10:30 1998  Jeff Law  (law@cygnus.com)
- 
- 	* version.c: Bump for snapshot.
- 
- Wed Aug 19 13:06:47 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* collect2.c (extract_init_priority): Use atoi instead of strtoul.
- 
- Wed Aug 19 13:51:35 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* tm.texi (Misc): Fix typo "teh".
- 
- 	* tm.texi (PIC): Fix typo "PPIC".
- 
- 	* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
- 	effect when -O2 and higher.
- 	* invoke.texi (Optimize Options): Likewise for -fcaller-saves.
- 
- 1998-08-19  Michael Hayes  <michaelh@ongaonga.chch.cri.nz>
- 
- 	* regclass.c: Changed register set documentation to be consistent
- 	with GCC behavior.
- 
- 	* final.c (final_start_function): Removed redundant test for
- 	call_fixed_regs.
- 
- Wed Aug 19 13:28:41 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* rtl.h (rtx_function): New type.
- 	(for_each_rtx): New function.
- 	* rtlanal.c (for_each_rtx): Define it.
- 
- 	* recog.c (change_t): New type.
- 	(change_objects, change_old_codes, change_locs, change_olds):
- 	Replace with ...
- 	(changes): New variable.
- 	(validate_change): Dynamically allocate room for more changes, if
- 	necessary.  Uses changes array instead of change_objects, etc.
- 	(apply_change_group): Use changes array instead of
- 	change_objects, etc.
- 
- 	* loop.c (loop_mem_info): New type.
- 	(loop_mems): New variable.
- 	(loop_mems_idx): Likewise.
- 	(looop_mems_allocated): Likewise.
- 	(scan_loop): Remove nregs parameter.
- 	(next_insn_in_loop): New function.
- 	(load_mems_and_recount_loop_regs_set): Likewise.
- 	(load_mems): Likewise.
- 	(insert_loop_mem): Likewise.
- 	(replace_loop_mem): Likewise.
- 	(replace_label): Likewise.
- 	(INSN_IN_RANGE_P): New macro.
- 	(loop_optimize): Don't pass max_reg_num() to scan_loop.
- 	(scan_loop): Remove nregs parameter, compute it after any new
- 	registers are created by load_mems.  Use INSN_IN_RANGE_P and
- 	next_insn_in_loop rather than expanding them inline.  Call
- 	load_mems to load memory into pseudos, if appropriate.
- 	(prescan_loop): Figure out whether or not there are jumps from the
- 	loop to targets other than the label immediately following the
- 	loop.  Call insert_loop_mem to notice all the MEMs used in the
- 	loop, if it could be safe to pull MEMs into REGs for the duration
- 	of the loop.
- 	(strength_reduce): Use next_insn_in_loop.  Tweak comments.
- 
- Wed Aug 19 08:29:44 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (arm_override_options): Remove lie about ignoring PIC flag.
- 
- Wed Aug 19 07:08:15 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (finalize_pic): Check for the correct
- 	nonlocal_goto_receiver UNSPEC number.
- 	* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
- 	making note of this dependency existing in sparc.c.
- 	(negtf2_notv9 split): Give NEG SFmode.
- 	(negsf2): Fix insn output string.
- 
- Tue Aug 18 12:40:27 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-common.c (decl_attributes): Issue an error if the argument
- 	to alias is not a string.
- 
- Tue Aug 18 10:33:30 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last
- 	pending memory flush list.
- 
- 	* combine.c (can_combine_p): Allow combining insns with REG_RETVAL
- 	notes.
- 	(try_combine): Allow combining insns with REG_LIBCALL notes.
- 
- 	* expr.c (emit_block_move): Do not call memcpy as a libcall
- 	instead build up a CALL_EXPR and call it like any other
- 	function.
- 	(clear_storage): Similarly for memset.
- 
- 	* regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p
- 	on notes.
- 
- 	* Makefile.in (cplus-dem.o): Provide explicit rules for building
- 	cplus-dem.o.
- 
- 	* regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED
- 	and REG_LIVE_LENGTH as successful substitutions are made.
- 
- Tue Aug 18 07:15:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
- 	statement after end of loop label.
- 
- Tue Aug 18 07:13:27 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (ultra_types_avail): New variable.
- 	(ultra_build_types_avail): New function to record mask of insn
- 	types in ready list at this cycle.
- 	(ultrasparc_sched_reorder): Call it.
- 	(ultra_find_type): Use it to quicken the search.  Also simplif
- 	dependency check, don't use rtx_equal_p because we know exactly
- 	what we are looking for.
- 
- Tue Aug 18 03:20:53 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling
- 	for architecture v4.
- 
- Mon Aug 17 21:26:38 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (sltu, sgeu): Don't FAIL, call
- 	gen_compare_reg.
- 	(movsf_const_intreg, movsf_const_high, movsf_const_lo,
- 	movdf_const_intreg and helper splits): New patterns to move float
- 	constants into integer registers.
- 	(negtf2, negdf2, abstf2, absdf2): Rework using new patterns and
- 	splits.
- 
- Mon Aug 17 11:46:19 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* From Graham
- 	* tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype
- 	to itype.
- 	* c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem.
- 
- 	* rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that
- 	a BASE_REGS register is needed as an intermediate when copying
- 	a symbolic value into any register class other than BASE_REGS.
- 
- 	* expr.c (move_by_pieces): No longer static.  Remove prototype.
- 	* rtl.h (move_by_pieces): Add extern prototype.
- 	* mips.c (expand_block_move): Handle aligned straight line copy by
- 	calling move_by_pieces.
- 
- 	* expr.c (expand_expr): Allow assignments from TImode PARM_DECLs
- 	and VAR_DECLs.
- 
- Mon Aug 17 10:28:52 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* stmt.c (expand_end_loop): Tidy.  Allow unconditional
- 	jumps out of the loop to be treated as part of the exit test.
- 
- Mon Aug 17 10:06:11 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 			  Jeff Law  <law@cygnus.com>
- 
- 	* Makefile.in (cplus-dep.o): Use cplus-dem.c from libiberty.
- 	* cplus-dem.c: Delete.
- 
- 	* Makefile.in (fold-const.o): Depend on $(RTL_H).
- 
- 	* fold-const.c: Include rtl.h to get the prototype for
- 	`set_identifier_local_value'.
- 
- 	* loop.c (express_from_1): Remove unused variable `tmp'.
- 	(combine_givs): Cast the first argument of bzero to char *.
- 
- 	* toplev.c (display_help): Remove unused variable `looking_for_start'.
- 
- 	* c-decl.c (init_decl_processing): Remove unneeded &.
- 
- 	* alpha.h (alpha_initialize_trampoline): Provide prototype.
- 
- 	* except.c (set_exception_lang_code, set_exception_version_code):
- 	Change parameter from `short' to `int' to avoid using a gcc
- 	extension.
- 
- 	* except.h (set_exception_lang_code, set_exception_version_code):
- 	Likewise for prototypes.
- 
- 	* flow.c (count_reg_references): Remove unused variables `regno'
- 	and `i'.
- 
- 	* gcse.c (hash_scan_insn): Declare parameter `in_libcall_block'.
- 
- 	* prefix.c (translate_name): Cast the result of `alloca'.
- 
- 	* varray.h (VARRAY_FREE): Reimplement as a `do-while(0)' statement.
- 
- Mon Aug 17 09:23:42 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
- 
- 	* config/m68k/m68k.c: Include "system.h" instead of <stdio.h>.
- 	Include "toplev.h".
- 	(valid_dbcc_comparison_p): Mark mode argument as unused.
- 	(symbolic_operand): Likewise.
- 	(legitimize_pic_address): Likewise.
- 	(const_uint32_operand): Likewise.
- 	(const_sint32_operand): Likewise.
- 	* sched.c [!INSN_SCHEDULING]: Define only dummy function
- 	schedule_insns and comment out rest of file.
- 
- 	* m68k.c (output_move_simode_const): Use subl to move a zero into an
- 	address register.
- 	(output_move_[hq]imode): Likewise.
- 
- Mon Aug 17 09:15:47 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (main): Enable -fstrict-aliasing for -O2 and above.
- 	* invoke.texi: Corresponding changes.
- 
- Mon Aug 17 02:03:55 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* regclass.c (allocate_reg_info): Respect MIN when clearing data.
- 
- Sun Aug 16 17:37:06 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (ultra_code_from_mask,
- 	ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
- 	ultra_find_type, ultra_schedule_insn, ultra_flush_pipeline,
- 	ultrasparc_sched_init, ultrasparc_variable_issue,
- 	ultra_rescan_pipeline_state, ultrasparc_sched_reorder): New
- 	functions to describe UltraSPARC pipeline exactly to Haifa.
- 	(ultrasparc_adjust_cost): Indicate IMUL type insns have zero cost,
- 	as there is nothing the scheduler can do about it.  Indicate that
- 	REG_DEP_OUTPUT's collide.  Fixup formatting.
- 	* config/sparc/sparc.h (RTX_COSTS): Fixup integer multiply and
- 	divide costs on Ultra for DImode.
- 	(MD_SCHED_INIT, MD_SCHED_REORDER, MD_SCHED_VARIABLE_ISSUE):
- 	Define.
- 	* config/sparc/sparc.md (ieu_unnamed function unit): Rename to
- 	ieuN and add call_no_delay_slot to type list.
- 	(cti function unit): New unit for branches on UltraSPARC.
- 	(subx/addx insns): Set type to misc.
- 	(sidi zero/sign extension insns on arch64): Set type to shift.
- 	(sign_extendhidi2_insn): Set type to sload.
- 
- Sun Aug 16 13:52:00 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_stack_info): Use if == 0 for sizes.
- 	(output_epilog): Use if != 0 for offset.
- 	(rs6000_fatal_bad_address): Prepare for Intl.
- 	* rs6000.h (rs6000_fatal_bad_address): Declare.
- 	* rs6000.md (movsfcc, movdfcc): Use else if.
- 	(elf_high): Use {liu|lis}.
- 	(elf_low): Use {cal|la}.  Remove %a template from old mnemonics.
- 	(movsi): Use rs6000_fatal_bad_address.
- 
- Sun Aug 16 01:53:21 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (find_equiv_reg): Reject equivalences separated
- 	by a volatile instruction.
- 
- Sun Aug 16 00:21:44 1998  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define.
- 
- Sat Aug 15 20:51:35 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (movsicc): Fix mode mismatch.
- 
- Sat Aug 15 20:22:33 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated
- 	return type.
- 	* config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- Sat Aug 15 08:39:49 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (movsi_lo_sum_pic_label_reg): Remove
- 	write-only modifier from operand 1 constraint.
- 
- Sat Aug 15 06:28:19 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const64_quick1): If
- 	emitting a XOR of -1 at the end, emit a NOT instead for combine's
- 	sake.
- 	(sparc_emit_set_const64): Likewise, also when computing trailing
- 	bits do not negate low_bits and make fast_int an int.
- 
- Fri Aug 14 21:07:03 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (add_label_notes): Do not ignore references to labels
- 	before dispatch tables.  Mirrors Apr 8 change to mark_jump_label.
- 	* gcse.c (add_label_notes): Similarly.
- 
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding.
- 
- 	* m68k.md (adddi_dilshr32): One of the operands must be a register.
- 	(adddi_dishl32): Similarly.
- 
- Fri Aug 14 14:12:59 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* i386.h (MODES_TIEABLE_P): Reorganize to shut up warnings.
- 	* alias.c (memrefs_conflict_p): Add braces to shut up warnings.
- 	* cse.c (cse_basic_block): Add parens to shut up warnings.
- 
- Fri Aug 14 12:58:21 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const64_quick2,
- 	sparc_emit_set_const64_longway, const64_is_2insns,
- 	create_simple_focus_bits, sparc_emit_set_const64): Fix more bugs
- 	in 64-bit constant formation.
- 	* config/sparc/sparc.md (snesi_zero_extend split): Generate
- 	rtl for addx not subx.
- 	(define_insn movdi_const64_special): Make available even when
- 	HOST_BITS_PER_WIDE_INT is not 64.
- 	(movdi_lo_sum_sp64_cint, movdi_high_sp64_cint): Remove.
- 	(losum_di_medlow, sethm, setlo): Make op2 symbolic_operand.
- 	(cmp_siqi_trunc_set, cmp_diqi_trunc_set): Encapsulate both
- 	instances of operand 1 inside a QI subreg.
- 	(xordi3_sp64_dbl): Remove '%' constraint for op1.
- 	(one_cmpldi2_sp64): Fix output string.
- 	(one_cmplsi2_not_liveg0): Rewrite to remove unneeded extra
- 	alternative case.
- 	(unnamed arch64 ashift DI): Truncate shift count if greater than
- 	63, not 31.
- 
- Fri Aug 14 21:52:53 1998  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* expr.c (store_expr): Don't optimize away load-store pair
- 	when either source or destination have a side effect.
- 
- Fri Aug 14 16:50:10 1998  John Carr  <jfc@mit.edu>
- 
- 	* genrecog.c (add_to_sequence): Fatal error if the modes of the
- 	operands of SET are incompatible.
- 
- 	* alpha.md: Fix max and min patterns so modes of SET operands match.
- 
- Fri Aug 14 12:22:55 1998  Ian Lance Taylor  <ian@cygnus.com>
- 
- 	* configure.in: Avoid [[ by using test and changequote.
- 	* configure: Rebuild.
- 
- Fri Aug 14 01:22:31 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* rtl.def (CONSTANT_P_RTX): Fix typo in string name.
- 
- 	* config/sparc/sparc.md (seqdi_special_trunc, snedi_special_trunc,
- 	seqsi_special_extend, snesi_special_extend, snesi_zero_extend and
- 	split, snedi_zero_trunc and split, seqsi_zero_extend and split,
- 	seqdi_zero_trunc and split, pic_lo_sum_di, pic_sethi_di,
- 	movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc, addx_extend_sp32 and
- 	split, addx_extend_sp64, subx_extend_sp64, subx_extend and split):
- 	Fix mismatching modes in SET operands.
- 	(conditional move patterns): Fix formatting.
- 	(unnamed subx arch64 pattern): Remove duplicate insn.
- 
- Fri Aug 14 00:34:34 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (const64_operand, const64_high_operand):
- 	Get it right when HOST_BITS_PER_WIDE_INT is not 64.
- 	(input_operand): Fixup test for what we accept for constant
- 	integers.
- 	(sparc_emit_set_const32, sparc_emit_set_symbolic_const64): Give
- 	set VOIDmode.
- 	(safe_constDI): Remove.
- 	(sparc_emit_set_safe_HIGH64, gen_safe_SET64, gen_safe_OR64,
- 	gen_safe_XOR64): New functions.
- 	(sparc_emit_set_const64_quick1, sparc_emit_set_const64_quick2,
- 	sparc_emit_set_const64_longway, sparc_emit_set_const64): Use
- 	them.
- 	* config/sparc/sparc.md (define_insn xordi3_sp64_dbl): Only make
- 	available when HOST_BITS_PER_WIDE_INT is not 64.
- 	(define_insn movdi_sp64_dbl, movdi_const64_special): Likewise and
- 	move before movdi_insn_sp64 pattern.
- 	(define_insn movdi_lo_sum_sp64_dbl, movdi_high_sp64_dbl): Remove.
- 	(define_insn sethi_di_medlow, seth44, setm44, sethh): Use
- 	symbolic_operand as predicate for second operand.
- 	(DImode minus split on arch32, negsi2 expander, one_cmplsi2
- 	expander): Give set VOIDmode.
- 
- Fri Aug 14 01:45:06 1998  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin32 (DEFAULT_PCC_STRUCT_RETURN): Define.
- 
- Fri Aug 14 01:40:21 1998  Geoffrey Keating  <geoffk@ozemail.com.au>
- 
- 	* rs6000/linux.h (LINK_SPEC): Pass -G args to the linker.
- 
- Fri Aug 14 01:23:23 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm/netbsd.h (TARGET_DEFAULT): Default includes software floating
- 	point.
- 	(CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly.
- 
- Fri Aug 14 01:19:08 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* install.texi: Various SCO OpenServer tweaks.
- 
- Thu Aug 13 20:14:40 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload1.c (eliminate_regs_in_insn): Handle another case when
- 	eliminating the frame pointer to the hard frame pointer.  Add
- 	missing	ep->to_rtx check to one existing case.
- 
- 	* mips/mips.md (movhi_internal2+2): Fix typo mem:SI -> mem:HI.
- 
- Thu Aug 13 17:08:11 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.h: De-conditionalize init_priority code.
- 
- 	* mips.h (NM_FLAGS): Change from -Bp to -Bn.
- 	* collect2.c (NM_FLAGS): Change from -p to -n.
- 
- 	* configure.in: Turn on collect2 for mipstx39-elf.
- 	Handle use_collect2=no properly.
- 
- 	* c-common.c: De-conditionalize init_priority code.
- 	* collect2.c (extract_init_priority, sort_ids): New fns.
- 	(main): Call sort_ids.
- 	Move sequence_number to file scope.
- 
- 	* configure.in: Handle --enable-init-priority.
- 	* c-common.c (attrs): Add A_INIT_PRIORITY.
- 	(init_attributes, decl_attributes): Likewise.
- 	* tree.h (DEFAULT_INIT_PRIORITY, MAX_INIT_PRIORITY): New macros.
- 	* tree.c (get_file_function_name_long): Split out...
- 	(get_file_function_name): ...from here.
- 
- Thu Aug 13 16:09:53 1998  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* expr.c (safe_from_p): Change code to ERROR_MARK only when not
- 	accessing nodes.
- 
- Thu Aug 13 15:24:48 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (display_help): Add braces to shut up warnings.
- 	* tree.c (simple_cst_equal): Likewise.
- 
- 	* fold-const.c (non_lvalue): Don't deal with null pointer
- 	constants here.
- 	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
- 
- 	* c-typeck.c (initializer_constant_valid_p): Allow conversion of 0
- 	of any size to a pointer.
- 
- Thu Aug 13 12:53:13 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* i386/winnt.c (i386_pe_asm_file_end): Check TREE_SYMBOL_REFERENCED.
- 
- Wed Aug 12 17:25:18 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.c (REG_SAVE_BYTES): Only reserve space for registers
- 	which will be saved.
- 	* mn10300.md (prologue insn): Only save registers which need saving.
- 	(epilogue insn): Similarly.
- 
- 	* mn10300.c, mn10300.h, mn10300.md: Remove "global zero register"
- 	optimizations.
- 
- Wed Aug 12 12:39:16 1998  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* mips/mips.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG for
- 	VAR_DECL's in gp addressable sections.
- 
- Tue Aug 11 23:02:31 1998  John Carr  <jfc@mit.edu>
- 
- 	* sparc.c: Change return <exp> to <exp>; return; in functions
- 	returning void.
- 	* sparc.md: Add empty semicolon statement after final label in
- 	move expanders.
- 
- Tue Aug 11 22:42:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.md (define_insn addx_extend): Rename to
- 	addx_extend_sp64, only allow when TARGET_ARCH64.
- 	(define_insn addx_extend_sp32 and split): Version that works when
- 	not TARGET_ARCH64.
- 	(define_insn subx_extend): Likewise.
- 	(define_split adddi3 and subdi3 with zero extension): Fixup and
- 	correct bugs when not TARGET_ARCH64.
- 
- Tue Aug 11 16:04:34 1998  John Carr  <jfc@mit.edu>
- 
- 	* except.c (set_exception_lang_code, set_exception_version_code):
- 	Use prototype-style definition if __STDC__, to match declaration
- 	in except.h.
- 
- 	* genemit.c: Change FAIL and DONE macros not to use loops.
- 
- Tue Aug 11 12:27:03 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_ADDR_CONST): Use
- 	ASM_OUTPUT_DWARF2_ADDR_CONST if defined.
- 
- 	* mips/mips.md (reload_outsi): Use M16_REG_P when TARGET_MIPS16.
- 
- Tue Aug 11 18:12:53 1998  Dave Love  <d.love@dl.ac.uk>
- 
- 	* README.g77: Update from Craig.
- 
- Tue Aug 11 04:46:01 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const32): INTVAL is of
- 	type HOST_WIDE_INT.
- 	(safe_constDI sparc_emit_set_const64_quick1,
- 	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
- 	analyze_64bit_constant, const64_is_2insns,
- 	create_simple_focus_bits): Fix some bugs when compiled on real
- 	64-bit hosts.
- 	(function_arg_record_value_3, function_arg_record_value_2,
- 	function_arg_record_value): Add fully prototyped forward decls.
- 	* config/sparc/sparc.md (define_insn cmpsi_insn_sp32): Rename back
- 	to cmpsi_insn and use on both 64 and 32 bit targets.
- 	(define_insn cmpsi_insn_sp64): Remove.
- 	(define_expand zero_extendsidi2): Allow for 32-bit target too.
- 	(define_insn zero_extendsidi2_insn): Rename to
- 	zero_extendsidi2_insn_sp64.
- 	(define_insn zero_extendsidi2_insn_sp32): New pattern and
- 	associated forced split for it.
- 
- 	* config/sparc/sparc.c (const64_operand, const64_high_operand):
- 	New predicates.
- 	* config/sparc/sparc.h: Declare them.
- 	(PREDICATE_CODES): Add them.
- 	* config/sparc/sparc.md (movdi_lo_sum_sp64_dbl,
- 	movdi_high_sp64_dbl, xordi3_sp64_dbl): Use them.
- 
- Mon Aug 10 22:57:24 1998  John Carr  <jfc@mit.edu>
- 
- 	* config/sparc/sparc.md (define_insn jump): Output ba,pt not b,pt
- 	in v9 case as the latter makes the Solaris assembler crash.
- 
- Mon Aug 10 22:39:09 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* config/sparc/sparc.c (input_operand): Do not accept a LO_SUM MEM
- 	for TFmode when !v9.  We require offsettable memory addresses.
- 	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Handle TFmode to
- 	DFmode register number conversions.
- 	* config/sparc/sparc.md (define_split DFmode moves): If register
- 	is a SUBREG do alter_subreg on it before using.
- 	(define_expand movtf): Fixup comment about alignment on v9.
- 	(define_split TFmode moves): Don't use gen_{high,low}part, create
- 	explicit SUBREGs instead.
- 
- Mon Aug 10 19:02:55 1998  John Carr  <jfc@mit.edu>
- 
- 	* Makefile.in (mbchar.o): Depend on mbchar.c.
- 
- Mon Aug 10 04:28:13 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	Rewrite SPARC backend for better code generation and
- 	improved sparc64 support.
- 	* config/sparc/sp64-elf.h: Set JUMP_TABLES_IN_TEXT_SECTION to
- 	zero.
- 	* config/sparc/sysv4.h: Likewise.
- 	* config/sparc/sparc.c (v8plus_regcmp_p, sparc_operand,
- 	move_operand, v8plus_regcmp_op, emit_move_sequence,
- 	singlemove_string, doublemove_string, mem_aligned_8,
- 	output_move_double, output_move_quad, output_fp_move_double,
- 	move_quad_direction, output_fp_move_quad, output_scc_insn):
- 	Remove.
- 	(small_int_or_double): New predicate.
- 	(gen_compare_reg): Remove TARGET_V8PLUS cmpdi_v8plus emission.
- 	(legitimize_pic_address): Emit movsi_{high,lo_sum}_pic instead of
- 	old pic_{sethi,lo_sum}_si patterns.
- 	(mem_min_alignment): New generic function to replace
- 	mem_aligned_8, which uses REGNO_POINTER_ALIGN information when
- 	available and can test for arbitrary alignments.  All callers
- 	changed.
- 	(save_regs, restore_regs, build_big_number,
- 	output_function_prologue, output_cbranch, output_return,
- 	sparc_flat_save_restore, sparc_flat_output_function_prologue,
- 	sparc_flat_output_function_epilogue): Prettify
- 	insn output.
- 	(output_function_epilogue): Likewise and add code to output
- 	deferred case vectors.
- 	(output_v9branch): Likewise, add new arg INSN and use it to tack
- 	on branch prediction settings.  All callers changed.
- 	(print_operand): Likewise and output %l44 for LO_SUMs when
- 	TARGET_CM_MEDMID.
- 	(sparc_splitdi_legitimate): New function to make sure DImode
- 	splits can be run properly when !arch64.
- 	(sparc_initialize_trampoline, sparc64_initialize_trampoline):
- 	Reformat example code in comments.
- 	(set_extends): Remove UNSPEC/v8plus_clear_high case.
- 	(sparc_addr_diff_list, sparc_addr_list): New statics to keep track
- 	of deferred case vectors we need to output.
- 	(sparc_defer_case_vector): Record a case vector.
- 	(sparc_output_addr_vec, sparc_output_addr_diff_vec,
- 	sparc_output_deferred_case_vectors): New functions to output them.
- 	(sparc_emit_set_const32): New function to form 32-bit constants in
- 	registers when that requires more than one instruction.
- 	(safe_constDI, sparc_emit_set_const64_quick1,
- 	sparc_emit_set_const64_quick2, sparc_emit_set_const64_longway,
- 	analyze_64bit_constant, const64_is_2insns,
- 	create_simple_focus_bits, sparc_emit_set_const64): New functions
- 	which do the same for 64-bit constants when arch64.
- 	(sparc_emit_set_symbolic_const64): New function to emit address
- 	loading for all code models on v9.
- 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Do not make
- 	%g1 fixed when arch64, unfix %g0 when TARGET_LIVE_G0.
- 	(ALTER_HARD_SUBREG): Fix thinko, return REGNO + 1 not 1.
- 	(SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Fix
- 	inaccuracies in comments, add symbolic and text_segment operands
- 	when TARGET_CM_MEDANY and TARGET_CM_EMBMEDANY respectively.  Use
- 	GENERAL_REGS in these cases as a temp REG is needed to load these
- 	addresses into a register properly.
- 	(EXTRA_CONSTRAINT): Document more accurately, remove Q case as it
- 	is no longer used.
- 	(GO_IF_LEGITIMATE_ADDRESS): Allow TFmode for LO_SUM on v9 since fp
- 	quads are guaranteed to have 16-byte alignment.
- 	(LEGITIMIZE_ADDRESS): For SYMBOL_REF, CONST, and LABEL_REF use
- 	copy_to_suggested_reg instead of explicit LO_SUM and HIGH.
- 	(ASM_OUTPUT_ADDR_VEC, ASM_OUTPUT_ADDR_DIFF_VEC): New macros for
- 	deferred case vector implementation.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): Use fputc to output newline.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Parenthesize LABEL in macro calls.
- 	Generate "internal label - label" instead of "label - 1b".
- 	(PRINT_OPERAND_ADDRESS): For LO_SUM use %l44 on TARGET_CM_MEDMID.
- 	(PREDICATE_CODES): Remove sparc_operand, move_operand,
- 	v8plus_regcmp_op.  Add small_int_or_double, input_operand, and
- 	zero_operand.
- 	(doublemove_string, output_block_move, output_fp_move_double,
- 	output_fp_move_quad, output_move_double, output_move_quad,
- 	output_scc_insn, singlemove_string, mem_aligned_8, move_operand,
- 	sparc_operand, v8plus_regcmp_op, v8plus_regcmp_p): Remove externs.
- 	(sparc_emit_set_const32, sparc_emit_set_const64,
- 	sparc_emit_set_symbolic_const64, input_operand, zero_operand,
- 	mem_min_alignment, small_int_or_double): Add externs.
- 	* config/sparc/sparc.md: Document the many uses of UNSPEC and
- 	UNSPEC_VOLATILE in this backend.
- 	(define_function_unit ieu): Rename to ieu_unnamed.  Add move and
- 	unary to types which execute in it.
- 	(define_function_unit ieu_shift): Rename to ieu0.
- 	(define_function_unit ieu1): New, executes compare, call, and
- 	uncond_branch type insns.
- 	(define_function_units for type fdivs, fdivd, fsqrt): These
- 	execute in the fpu multiply unit not the adder on UltraSPARC.
- 	(define_expand cmpdi): Disallow TARGET_V8PLUS.
- 	(define_insn cmpsi_insn): Rename to cmpsi_insn_sp32.
- 	(define_insn cmpsi_insn_sp64): New, same as sp32 variant except it
- 	allows the arith_double_operand predicate and rHI constraint when
- 	TARGET_ARCH64.
- 	(define_insn cmpdi_sp64, cmpsf_fpe, cmpdf_fpe, cmptf_fpe,
- 	cmpsf_fp, cmpdf_fp, cmptf_fp, sltu_insn, neg_sltu_insn,
- 	neg_sltu_minux_x, neg_sltu_plus_x, sgeu_insn, neg_sgeu_insn,
- 	sltu_plus_x, sltu_plus_x, sltu_plus_x_plus_y, x_minus_sltu,
- 	sgeu_plus_x, x_minus_sgeu, movqi_cc_sp64, movhi_cc_sp64,
- 	movsi_cc_sp64, movdi_cc_sp64, movsf_cc_sp64, movdf_cc_sp64,
- 	movtf_cc_sp64, movqi_cc_reg_sp64, movhi_cc_reg_sp64,
- 	movsi_cc_reg_sp64, movdi_cc_reg_sp64, movsf_cc_reg_sp64,
- 	movdf_cc_reg_sp64, movtf_cc_reg_sp64, zero_extendhisi2_insn,
- 	cmp_siqi_trunc, cmp_siqi_trunc_set, sign_extendhisi2_insn,
- 	sign_extendqihi2_insn, sign_extendqisi2_insn,
- 	sign_extendqidi2_insn, sign_extendhidi2_insn,
- 	extendsfdf2, extendsftf2, extenddftf2, truncdfsf2, trunctfsf2,
- 	trunctfdf2, floatsisf2, floatsidf2, floatsitf2, floatdisf2,
- 	floatdidf2, floatditf2, fix_truncsfsi2, fix_truncdfsi2,
- 	fix_trunctfsi2, fix_truncsfdi2, fix_truncdfdi2, fix_trunctfdi2,
- 	adddi3_sp64, addsi3, cmp_ccx_plus, cmp_cc_plus_set, subdi_sp64,
- 	subsi3, cmp_minus_ccx, cmp_minus_ccx_set, mulsi3, muldi3,
- 	muldi3_v8plus, cmp_mul_set, mulsidi3, mulsidi3_v8plus,
- 	const_mulsidi3_v8plus, mulsidi3_sp32, const_mulsidi3,
- 	smulsi3_highpart_v8plus, unnamed subreg mult,
- 	const_smulsi3_highpart_v8plus, smulsi3_highpart_sp32,
- 	const_smulsi3_highpart, umulsidi3_v8plus, umulsidi3_sp32,
- 	const_umulsidi3, const_umulsidi3_v8plus, umulsi3_highpart_v8plus,
- 	const_umulsi3_highpart_v8plus, umulsi3_highpart_sp32,
- 	const_umulsi3_highpart, divsi3, divdi3, cmp_sdiv_cc_set, udivsi3,
- 	udivdi3, cmp_udiv_cc_set, smacsi, smacdi, umacdi, anddi3_sp64,
- 	andsi3, and_not_di_sp64, and_not_si, iordi3_sp64, iorsi3,
- 	or_not_di_sp64, or_not_si, xordi3_sp64, xorsi3, xor_not_di_sp64,
- 	xor_not_si, cmp_cc_arith_op, cmp_ccx_arith_op,
- 	cmp_cc_arith_op_set, cmp_ccx_arith_op_set, cmp_ccx_xor_not,
- 	cmp_cc_xor_not_set, cmp_ccx_xor_not_set, cmp_cc_arith_op_not,
- 	cmp_ccx_arith_op_not, cmp_cc_arith_op_not_set,
- 	cmp_ccx_arith_op_not_set, negdi2_sp64, cmp_cc_neg, cmp_ccx_neg,
- 	cmp_cc_set_neg, cmp_ccx_set_neg, one_cmpldi2_sp64, cmp_cc_not,
- 	cmp_ccx_not, cmp_cc_set_not, cmp_ccx_set_not, addtf3, adddf3,
- 	addsf3, subtf3, subdf3, subsf3, multf3, muldf3, mulsf3,
- 	muldf3_extend, multf3_extend, divtf3, divdf3, divsf3, negtf2,
- 	negdf2, negsf2, abstf2, absdf2, abssf2, sqrttf2, sqrtdf2, sqrtsf2,
- 	ashlsi3, ashldi3, unnamed DI ashift, cmp_cc_ashift_1,
- 	cmp_cc_set_ashift_1, ashrsi3, ashrdi3, unnamed DI ashiftrt,
- 	ashrdi3_v8plus, lshrsi3, lshrdi3, unnamed DI lshiftrt,
- 	lshrdi3_v8plus, tablejump_sp32, tablejump_sp64, call_address_sp32,
- 	call_symbolic_sp32, call_address_sp64, call_symbolic_sp64,
- 	call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
- 	call_address_untyped_struct_value_sp32,
- 	call_symbolic_untyped_struct_value_sp32, call_value_address_sp32,
- 	call_value_symbolic_sp32, call_value_address_sp64,
- 	call_value_symbolic_sp64, branch_sp32, branch_sp64,
- 	flush_register_windows, goto_handler_and_restore,
- 	goto_handler_and_restore_v9, goto_handler_and_restore_v9_sp64,
- 	flush, all ldd/std peepholes, return_qi, return_hi, return_si,
- 	return_addsi, return_di, return_adddi, return_sf, all call+jump
- 	peepholes, trap, unnamed trap insns): Prettify output strings.
- 	(define_insn anddi3_sp32, and_not_di_sp32, iordi3_sp32,
- 	or_not_di_sp32, xordi3_sp32, xor_not_di_sp32, one_cmpldi2):
- 	Likewise and force + implement splits for integer cases.
- 	(define_insn return_sf_no_fpu): Likewise and allow to match when
- 	no-fpu because of our subreg SFmode splits.
- 	(define_insn zero_extendqihi2, zero_extendqisi2_insn,
- 	zero_extendqidi2_insn, zero_extendhidi2_insn,
- 	zero_extendsidi2_insn, sign_extendsidi2_insn): Likewise and use
- 	input_operand for second operand.
- 	(cmp_minus_cc, cmp_minus_cc_set): Likewise and use
- 	reg_or_0_operand for operand 2 so new splits can use it.
- 	(cmp_zero_extendqisi2, cmp_zero_extendqisi2_set, cmp_cc_plus,
- 	cmp_cc_xor_not): Likewise and don't forget to check TARGET_LIVE_G0
- 	too.
- 	(cmp_zero_extract, cmp_zero_extract_sp64): Likewise and allow
- 	CONST_DOUBLEs for operand 2.
- 	(define_insn move_label_di): Likewise and label distance
- 	optimization because it no longer works with new deferred case
- 	vector scheme.  To be revisited.
- 	(define_insn x_minus_y_minus_sltu, x_minus_sltu_plus_y): Likewise
- 	and allow reg_or_0_operand and J constraint for second operand.
- 	(define_insn jump): Set branch predict taken on V9.
- 	(define_insn tablejump): Emit LABEL_REF + PLUS memory address for
- 	new deferred case vector scheme.
- 	(define_insn pic_tablejump_32, pic_tablejump_64): Remove.
- 	(define_insn negdi2_sp32): Force + implement splits.
- 	(define_insn negsi2, one_cmplsi2): Rename to negsi2_not_liveg0 and
- 	one_cmplsi2_not_liveg0 respectively, and create	expander of original
- 	names which emit special rtl for TARGET_LIVE_G0.
- 	(define_insn cmpdi_v8plus, scc_si, scc_di): Remove.
- 	(define_insn seq, sne, slt, sge, sle, sltu, sgeu): Don't do
- 	gen_compare_reg, FAIL instead.
- 	(define_insn sgtu, sleu): Likewise and check gen_s*() return
- 	values when trying to reverse condition codes, if they FAIL then
- 	do likewise.
- 	(define_insn snesi_zero, neg_snesi_zero, snesi_zero_extend,
- 	snedi_zero, neg_snedi_zero, snedi_zero_trunc, seqsi_zero,
- 	neg_seqsi_zero, seqsi_zero_extend, seqdi_zero, neg_seqdi_zero,
- 	seqdi_zero_trunc, x_plus_i_ne_0, x_minus_i_ne_0, x_plus_i_eq_0,
- 	x_minus_i_eq_0): Add new splits to perform these multi-insn cases,
- 	set output string to # to indicate they are mandatory splits.
- 	(define_insn pic_lo_sum_si, pic_sethi_si, pic_lo_sum_di,
- 	pic_sethi_di, move_pic_label_si): Remove.
- 	(define_insn movsi_low_sum, movsi_high, movsi_lo_sum_pic,
- 	movsi_high_pic, movsi_pic_label_reg): New patterns to take their
- 	place.
- 	(define_expand movsi_pic_label_ref, define_insn
- 	movsi_high_pic_label_ref, movsi_lo_sum_pic_label_ref): New
- 	expander and insns to handle PIC label references and deferred
- 	case vectors.
- 	(define_insn get_pc_via_rdpc): Comment out as it is no longer
- 	used.
- 	(define_expand movqi, movhi, movsi, movdi, movsf, movdf, movtf):
- 	Rewrite to not use emit_move_sequence, make use of new constant
- 	formation code, and new splits for all multi-insn cases.
- 	(define_insn movqi_insn): Remove sethi case, it can never happen.
- 	Use reg_or_zero_operand instead of const0_rtx explicit test,
- 	use input_operand instead of move_operand for source, and use
- 	general_operand now for dest.
- 	(define_insn movhi_insn): Similar but leave sethi case.
- 	(define_insn lo_sum_qi, store_qi, store_hi): Remove.
- 	(define_insn sethi_hi lo_sum_hi): Rename to movhi_high and
- 	movhi_lo_sum respectively, prettify output string.
- 	(define_insn movsi_zero_liveg0): New pattern to put zero into a
- 	register when needed on TARGET_LIVE_G0.
- 	(define_insn movsi_insn): Use general_operand and input_operand
- 	for dest and src respectively.  Simplify applicability test.
- 	Prettify output strings, and add clr alternative for J
- 	constraint.
- 	(define_insn movdi_sp32_v9, movdi_sp32, define_splits for
- 	deprecated std and reg-reg DI moves): Remove and...
- 	(define_insn movdi_insn_sp32, movdi_insn_sp64): Replace with new
- 	implementation which uses forced splits for all non-single insn
- 	cases.
- 	(define_split DI move cases on !arch64): New splits to handle all
- 	situations of 64-bit double register DImode on 32bit, and
- 	unaligned registers and memory addresses for all subtargets.
- 	(define_insn movsf_const_insn, movdf_const_insn, store_sf):
- 	Remove.
- 	(define_insn movsf_insn, movsf_no_f_insn): Use general_operand and
- 	input_operand for dest and src respectively, prettify output
- 	strings.
- 	(define_insn movdf_insn, movdf_no_e_insn, store_df,
- 	movtf_const_insn, movtf_insn, movtf_no_e_insn, store_tf): Remove
- 	and...
- 	(define_insn movdf_insn_sp32, movdf_no_e_insn_sp32,
- 	movdf_insn_sp64, movdf_no_e_insn_sp64, movtf_insn,
- 	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_sp64,
- 	movtf_no_e_insn_sp64): Replace with new
- 	implementation which uses forced splits for all non-single insn
- 	cases.
- 	(define_split DF move cases): New splits in similar vein to DI
- 	move counterparts.
- 	(define_insn sethi_di_medlow, sethi_di_medium_pic,
- 	sethi_di_embmedany_data, sethi_di_embmedany_text, sethi_di_sp64,
- 	movdi_sp64_insn): Remove old v9 code model and constant loading
- 	support insns and..
- 	(define_insn pic_lo_sum_di, pic_sethi_di,
- 	sethi_di_medlow_embmedany_pic, sethi_di_medlow, losum_di_medlow,
- 	seth44, setm44, setl44, sethh, setlm, sethm, setlo,
- 	embmedany_sethi, embmedany_losum, embmedany_brsum,
- 	embmedany_textuhi, embmedany_texthi, embmedany_textulo,
- 	embmedany_textlo, movdi_lo_sum_sp64_cint, movdi_lo_sum_sp64_dbl,
- 	movdi_high_sp64_cint, movdi_high_sp64_dbl): Replace with new
- 	scheme, using unspecs, secondary reloads, and one to one sparc
- 	insn to rtl insn mapping for better scheduling and code gen.
- 	(define_expand reload_indi, reload_outdi): Reload helpers for
- 	MEDANY and EMBMEDANY symbol address loading cases which require a
- 	temporary register.
- 	(define_expand movsicc): Remove v8plus_regcmp cases.
- 	(define_insn movdi_cc_sp64_trunc, movdi_cc_reg_sp64_trunc,
- 	cmp_zero_extendqidi2, cmp_zero_extendqidi2_set, cmp_qidi_trunc,
- 	cmp_diqi_trunc_set): New patterns used by some of the new scc
- 	splits on arch64.
- 	(define_insn xordi3_sp64_dbl): New pattern used for constant
- 	formation when crossing from 32-bit targets.
- 	(define_insn movsi_cc_reg_v8plus, v8plus_clear_high, and helper
- 	split): Remove.
- 	(define_insn addx, subx): Make visible and prettify.
- 	(define_insn adddi3_insn_sp32): Likewise and force split.
- 	(define_insn addx_extend, subx_extend, unnamed): New patterns for
- 	64bit scc split usage.
- 	(define_insn unnamed plusDI zero_extend, unnamed minusDI
- 	zero_extend, subdi3): Force and implement splits.
- 
- 	* final.c (final_scan_insn): Don't output labels if target
- 	specifies ASM_OUTPUT_ADDR_{DIFF}_VEC.  Do these macro operations
- 	instead.
- 
- 	* reorg.c (dbr_schedule): When taking on BR_PRED notes at the end,
- 	don't forget to walk inside SEQUENCESs too as these are what the
- 	delay slot scheduler will create.
- 
- Mon Aug 10 01:21:01 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (extxl+1,+2): New patterns to work around
- 	combine lossage.
- 
- Sat Aug  8 19:20:22 1998  Gary Thomas  (gdt@linuxppc.org)
- 
- 	* rs6000.c (rs6000_allocate_stack_space): Fix typo which
- 	caused bad assembly code to be generated.
- 
- Sat Aug  8 18:53:28 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* netbsd.h: Fix typo.
- 
- Mon Aug  3 00:06:42 1998  Robert Lipe  <robertl@dgii.com>
- 
- 	* config.sub: Fix typo.
- 
- Sun Aug  2 22:39:08 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* invoke.texi (Environment Variables): Typo: Change "ascpects"
- 	into "aspects".
- 	(Running Protoize): Typo: Change "ther" into "other".
- 
- Sun Aug  2 00:42:50 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO.
- 	* m68k/netbsd.h: Likewise.
- 	* ns32k/netbsd.h: Likewise.
- 	* sparc/netbsd.h: Likewise.
- 
- Sat Aug  1 17:59:30 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* ginclude/va-alpha.h (va_list): Use a typedef, not a define.
- 	* ginclude/va-clipper.h (va_list): Likewise.
- 
- Fri Jul 31 20:22:02 1998  Michael Meissner  <meissner@cygnus.com>
- 
- 	* rs6000.c (rs6000_override_options): If big endian and -Os, use
- 	load/store multiple instructions unless user overrides.
- 
- Fri Jul 31 17:08:59 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ns32k/netbsd.h: Fix typo.
- 
- Fri Jul 31 10:23:55 1998  Doug Evans  <devans@canuck.cygnus.com>
- 
- 	* m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Always output line number
- 	labels with .debugsym if no parallel insns.
- 
- Thu Jul 30 19:15:53 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN.
- 	(fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap.
- 
- Thu Jul 30 19:50:15 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete.
- 	(AR_FOR_TARGET): Define.
- 
- Thu Jul 30 12:29:12 1998  Mark Mitchell  <mark@markmitchell.com>
- 
- 	* dyn-string.h: New file.
- 	* dyn-string.c: Likewise.
- 	* Makefile.in (OBJS): Add dyn-string.o.
- 	(dwarf2out.o): Add dyn-string.h dependency.
- 	(dyn-string.o): List dependencies.
- 	* dwarf2out.c: Include dyn-string.h.
- 	(ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy.
- 	(addr_const_to_string): Take a dyn_string_t, not a char* as a
- 	prototype.  Use dyn_string_append rather than strcat, throughout.
- 	(addr_to_string): Use dyn_string_t.
- 
- Thu Jul 30 13:08:07 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	Function entry/exit profiling instrumentation:
- 	* expr.h (profile_function_entry_libfunc,
- 	profile_function_exit_libfunc): Declare new variables.
- 	* optabs.c: Define them here.
- 	(init_optabs): Initialize them.
- 	* tree.h (struct tree_decl): New flag
- 	no_instrument_function_entry_exit.
- 	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT): New accessor macro.
- 	* c-decl.c (duplicate_decls): Merge it.
- 	* c-common.c (enum attrs): New value A_NO_INSTRUMENT_FUNCTION.
- 	(init_attributes): Use it for "no_instrument_function".
- 	(decl_attributes): Handle it, for functions that have not yet been
- 	compiled.  Set decl flag.
- 	* flags.h (flag_instrument_function_entry_exit): Declare new
- 	variable.
- 	* toplev.c (flag_instrument_function_entry_exit): Define it here.
- 	(f_options): New option "instrument-functions".
- 	* function.h (struct function): New field instrument_entry_exit.
- 	* function.c (current_function_instrument_entry_exit): New
- 	variable.
- 	(push_function_context_to, pop_function_context_from): Save and
- 	restore.
- 	(expand_function_start): Set current_ variable, maybe emit return
- 	label and entry profile call.
- 	(expand_function_end): Maybe emit exit profile call.
- 
- Thu Jul 30 00:58:34 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md (movqi): When optimizing a load of (const_int 1) into a
- 	NON_QI_REG_P, pretend the register is SImode.
- 
- Wed Jul 29 23:49:23 1998  Todd Vierling  <tv@netbsd.org>
- 
- 	* configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist).
- 	Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any
- 	manufacturer id for ns32k.
- 	* configure: Regenerated.
- 	* config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too.
- 	* config/t-netbsd: Don't compile libgcc1-test as the fns are in libc.
- 	* config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0.
- 	* config/m68k/netbsd.h: Same.
- 	* config/ns32k/netbsd.h: Same.
- 	* config/sparc/netbsd.h: Same.
- 
- Wed Jul 29 22:39:21 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO
- 	or UNROLL_COMPLETELY loop that starts with a jump to its
- 	exit code.
- 
- Wed Jul 29 22:18:14 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS.
- 	* rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT.
- 	(print_operand, case 'B'): Don't fall through.
- 	(print_operand, case 'S'): Correct mask begin/end computation.
- 	Use HOST_BITS_PER_WIDE_INT.
- 	* rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG.
- 	(CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT.
- 	* rs6000/aix41.h (CPP_PREDEFINES): Same.
- 	* rs6000/aix43.h (CPP_PREDEFINES): Same.
- 
- Wed Jul 29 11:47:10 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.md (extendqisi2_insn): Remove earlyclobber
- 	constraint from second alternative.
- 
- Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* configure.in: Fix --without/--disable cases for local-prefix,
- 	gxx-include-dir and checking.
- 
- Tue Jul 28 22:01:23 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* configure.in (enable_haifa): Set by default for sparc64 too.
- 	configure: Rebuilt.
- 
- Tue Jul 28 23:29:04 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro.
- 	* i386/winnt.c (associated_type): New fn.
- 	(i386_pe_valid_type_attribute_p): New fn.
- 	(i386_pe_check_vtable_importexport): Remove.
- 	(i386_pe_dllexport_p): Use associated_type.
- 	(i386_pe_dllimport_p): Likewise.
- 
- 	From Antonio M. O. Neto <anmendes@cruzeironet.com.br>:
- 	* i386.c (i386_valid_type_attribute_p): Also accept
- 	attributes for METHOD_TYPEs.
- 
- Tue Jul 28 23:17:39 1998  Peter Gerwinski  <peter@gerwinski.de>
- 
- 	* tree.c (build_range_type): Copy TYPE_SIZE_UNIT.
- 
- Tue Jul 28 22:31:12 1998  Craig Burley  <burley@gnu.org>
- 
- 	* gcc.c: Fix commentary describing %g, %u, %U, and %O.
- 
- 	* gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent
- 	them from generating a new base name for each occurrence of
- 	a specific suffix.
- 
- 1998-07-28  Vladimir N. Makarov  <vmakarov@cygnus.com>
- 
- 	* cse.c (cse_insn): Enable substitution inside libcall only for REG,
- 	SUBREG, MEM.
- 	* rtlanal.c (replace_rtx): Prohibit replaces in	CONST_DOUBLE.
- 
- 	* cplus-dem.c (type_kind_t): New type.
- 	(demangle_template_value_parm): Add type_kind_t parameter.  Rely
- 	on this parameter, rather than demangling the type again.
- 	(demangle_integral_value): Pass tk_integral.
- 	(demangle_template_: Pass the value returned from do_type.
- 	(do_type): Return a type_kind_t.  Pass tk_integral to
- 	demangle_template_value_parm for array bounds.
- 	(demangle_fund_type): Likewise.
- 
- Mon Jul 27 00:54:41 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are
- 	identical.
- 
- Mon Jul 27 22:18:36 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (move_operand): Accept CONSTANT_P_RTX.
- 
- Mon Jul 27 17:18:52 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* stor-layout.c (layout_type): Handle arrays of bits, for Chill.
- 
- 	* expr.c (get_inner_reference): Handle zero-based, unsigned, array
- 	index conversion.
- 
- Mon Jul 27 14:51:33 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.h (DEBUGGER_AUTO_OFFSET): Define.
- 	(DEBUGGER_ARG_OFFSET): Likewise.
- 
- 	* mn10300.md (movsf): Remove last change.  Not needed.
- 
- Mon Jul 27 14:22:36 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* c-lex.c (yylex): Fix boundary conditions in character literal and
- 	string literal loops.
- 
- Mon Jul 27 11:43:54 1998  Stan Cox  <scox@cygnus.com>
- 
- 	* longlong.h (count_leading_zeros): SPARClite scan instruction was
- 	being invoked incorrectly.
- 
- 	* i386.c (ix86_prologue): Added SUBTARGET_PROLOGUE invocation.
- 	* i386/cygwin32.h (STARTFILE_SPEC, LIB_SPEC, SUBTARGET_PROLOGUE):
- 	Add -pg support.
- 	* i386/win32.h: New file.  Hybrid mingw32.h/cygwin32.h configuration.
- 	* configure.in: Added i[34567]86-*-win32.
- 	* config.sub: Likewise.
- 	* configure: Rebuilt.
- 
- Sun Jul 26 01:11:12 1998  H.J. Lu  (hjl@gnu.org)
- 
- 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating
- 	the frame pointer and compiling PIC code and reload has not completed.
- 
- 	* i386.c (output_to_reg): Add code to emulate non-popping DImode
- 	case.
- 
- Sun Jul 26 01:01:32 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head.
- 
- Sat Jul 25 23:29:23 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* Makefile.in (install-info): Only try to update the info
- 	directory file if it exists in the first place.
- 
- Fri Jul 24 18:58:37 1998  Klaus Espenlaub  <kespenla@student.informatik.uni-ulm.de>
- 
- 	* rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete.
- 
- Fri Jul 24 14:20:26 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.md (movqi, movhi, movsi, movsf): Correctly handle
- 	CONST_DOUBLE source.
- 
- Fri Jul 24 11:17:04 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c (thumb_print_operand): Decode %_ in asm
- 	strings as the insertion of USER_LABEL_PREFIX.
- 	* config/arm/thumb.h (PRINT_OPERAND_PUNCT_VALID_P): Accept _ as a
- 	valid code.
- 	* config/arm/thumb.md: Use %_ as a prefix to gcc library function
- 	calls.
- 
- Thu Jul 23 18:53:20 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dbxout.c (dbxout_range_type): Only call dbxout_type_index for
- 	already defined type.
- 
- Thu Jul 23 13:49:41 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (check_max_integer_computation_mode): Allow conversions
- 	of constant integers to MAX_INTEGER_COMPUTATION_MODE.
- 	(expand_expr): Likewise.
- 
- Thu Jul 23 11:12:06 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* expr.c (expand_expr): Expand RETURN_EXPR.
- 
- Thu Jul 23 11:00:29 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Call stripattributes on TEXT_SECTION.
- 
- Wed Jul 22 19:10:00 1998  Catherine Moore  <clm@cygnus.com>
- 
- 	* dwarf2out.c (output_aranges): Call stripattributes
- 	for TEXT_SECTION references.
- 	(output_line_info): Likewise.
- 
- Wed Jul 22 14:08:54 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* profile.c (branch_prob): Call allocate_reg_info after outputting
- 	profile rtl in instrument_arcs.
- 
- Wed Jul 22 12:47:49 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* fixinc.irix (math.h): Install wrapper instead of copying.
- 
- Wed Jul 22 12:37:14 1998  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (EXPR_WITH_FILE_LOCATION): Defined as an 'e' expression
- 	so WFL are expanded correctly when contained in a COMPOUND_EXPR.
- 	* tree.h (EXPR_WFL_EMIT_LINE_NOTE): Change macro not to use
- 	lang_flag_0. Added documentation in the flag table.
- 
- Tue Jul 21 23:28:35 1998  Klaus Kaempf  <kkaempf@rmi.de>
- 
- 	* cccp.c (do_include): Fix vax c style include handling.
- 
- Tue Jul 21 13:28:19 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
- 
- Sun Jul 12 01:27:05 1998  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* fold-const.c (non_lvalue): Don't deal with null pointer
- 	constants here.
- 	(fold, case COMPOUND_EXPR): Wrap a constant 0 in a NOP_EXPR.
- 
- Tue Jul 21 15:49:31 1998  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX.
- 	* rs6000.md (movsi, movdi): Add CONSTANT_P_RTX.
- 	* rs6000.c (short_cint_operand): Add CONSTANT_P_RTX.
- 	(u_short_cint_operand): Same.
- 	(reg_or_cint_operand): Same.
- 	(logical_operand): Same.
- 	(input_operand): Same.
- 	(reg_or_short_operand): Use u_short_cint_operand.
- 
- Tue Jul 21 08:56:42 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (fix_truncdfsi2, fix_truncsfsi2): Remove the define_expands,
- 	but keep the insns and splits.  Adjust so when the ultimate destination
- 	is memory, use cvtql.
- 
- Tue Jul 21 08:55:09 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (regno_uninitialized): Fixed regs are never uninitialized.
- 
- Tue Jul 21 00:31:01 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcc.c (do_spec): Call "error" not "warning".
- 
- 	* configure.in: Fix minor problems with gas feature detection code.
- 	* configure: Rebuilt.
- 
- 	* gcc.c (do_spec): Issue a warning for '%[]' usage.
- 
- 	* Undo this change.
- 	* gcc.c: Delete %[spec] support.
- 	(do_spec_1, case '('): Likewise.
- 	(do_spec_1, case '['): Call error.
- 
- Mon Jul 20 22:34:17 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (CPP_SPEC): Tidy.  Hook to cpp_cpu and cpp_subtarget.
- 	(CPP_SUBTARGET_SPEC): Default to empty string.
- 	(CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New.
- 	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New.
- 	* alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker).
- 	* alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New.
- 	(LIB_SPEC): Tidy.
- 	* alpha/linux.h (CPP_PREDEFINES): Tidy.
- 	* alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New.
- 	* alpha/netbsd.h (CPP_PREDEFINES): Tidy.
- 	* alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC.
- 	* alpha/win-nt.h (CPP_PREDEFINES): Likewise.
- 	* alpha/vsf.h (CPP_PREDEFINES): Likewise.
- 	(CPP_SUBTARGET_SPEC): New.  Do this instead of overriding CPP_SPEC.
- 	* alpha/vxworks.h: Likewise.
- 
- Mon Jul 20 22:51:57 1998  Ken Raeburn  <raeburn@cygnus.com>
- 
- 	* mips.md (reload_outsi): Added missing REGNO call.
- 	(smulsi3_highpart, umulsi3_highpart): Provide prototype for
- 	function pointer.
- 	(mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use
- 	another match_operator and compare the codes.
- 
- 	* mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero.
- 
- 	* MIPS multiply pattern fixes:
- 	* mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- 	Add union classes for HI, LO, or HILO plus general registers.
- 	(GENERATE_MADD): Deleted.
- 	* mips.md (mulsi3_mult3): Don't disparage output-LO alternative.
- 	Add TARGET_MAD to condition.
- 	(mulsi3): Test HAVE_mulsi3_mult3, not specific flags.
- 	(mul_acc_si): Expand GENERATE_MADD here; it's the only use.  Use
- 	"*d" for accumulator, to give preference to LO initially but not
- 	during reload.
- 
- Mon Jul 20 16:16:38 1998  Dave Brolley  <brolley@cygnus.com>
- 
- 	* configure.in (enable_c_mbchar): New configure option.
- 	(extra_cpp_objs): Always available now.
- 
- 	* cexp.y (mbchar.h): #include it.
- 	(yylex): Handle Multibyte characters in character literals.
- 
- 	* cccp.c (mbchar.h): #include it.
- 	(main): Set character set based on LANG environment variable.
- 	(rescan): Handle multibyte characters in comments.
- 	(skip_if_group): See above.
- 	(validate_else): See above.
- 	(skip_to_end_of_comment): See above.
- 	(macarg1): See above.
- 	(discard_comments): See above.
- 	(rescan): Handle multibyte characters in string and character literals.
- 	(collect_expansion): See above.
- 	(skip_quoted_string): See above.
- 	(macroexpand): See above.
- 	(macarg1): See above.
- 	(discard_comments): See above.
- 	(change_newlines): See above.
- 
- 	* c-lex.c (mbchar.h): #include it.
- 	(GET_ENVIRONMENT): New macro.
- 	(init_lex): Set character set based on LANG environment variable.
- 	(yylex): Handle multibyte characters in character literals.
- 	(yylex): Handle multibyte characters in string literals.
- 
- 	* Makefile.in (mbchar.o): New target.
- 	(cccp$(exeext)): @extra_cpp_objs@ is always available.
- 	(cppmain$(exeext)): @extra_cpp_objs@ is always available.
- 
- 	* mbchar.[ch]: New files for multibyte character handling.
- 
- Mon Jul 20 01:11:11 1998  David S. Miller  <davem@pierdol.cobaltmicro.com>
- 
- 	* jump.c (jump_optimize): When simplifying noop moves and
- 	PUSH_ROUNDING, fix thinko so we use same criterion for identifying
- 	the PUSHes to rewrite in second loop as we did in the first.
- 
- Sun Jul 19 08:23:53 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cplus-dem.c (demangle_nested_args): Make function definition
- 	static to match the prototype.
- 
- Fri Jul 17 14:58:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* alloca.c: Respect USE_C_ALLOCA.
- 	* gencheck.c (xmalloc): Ignore __GNUC__ for definition.
- 	* gengenrtl.c (xmalloc): Likewise.
- 
- Fri Jul 17 14:18:14 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.h (struct induction): Add no_const_addval.
- 	* loop.c (the_movables, reg_address_cost): New variables.
- 	(init_loop): Init reg_address_cost.
- 	(loop_optimize): Call end_alias_analysis.
- 	(scan_loop): Init the_movables.
- 	(record_giv): Init induction->no_const_addval.
- 	(basic_induction_var) [PLUS]: Use rtx_equal_p instead of ==.
- 	[REG]: Rearrange loop search test to catch more cases.
- 	(general_induction_var): Return success not benefit; take an extra
- 	argument for that.  Change all callers.
- 	(simplify_giv_expr) [PLUS]: Always combine invariants.  Use sge_plus.
- 	[MULT]: Use rtx_equal_p instead of ==.  Combine simple invariants.
- 	[default]: Search the_movables for additional combinations.
- 	(sge_plus_constant, sge_plus): New functions.
- 	(express_from_1): New function.
- 	(express_from): Always define.  Rewrite using express_from_1.
- 	(combine_givs_p): Handle more cases.  Ignore address cost.
- 	(cmp_combine_givs_stats): New function.
- 	(combine_givs_used_once, combine_givs_benefit_from): New functions.
- 	(combine_givs): Rewrite to do best-fit combination.
- 
- 	* fold-const.c (operand_equal_p): Handle RTL_EXPR.
- 	(fold): Do a complete (A*C)+(B*C) association check.
- 
- Fri Jul 17 11:21:55 1998  Jim Wilson  <wilson@cygnus.com>
- 
- 	* function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT.
- 
- Fri Jul 17 11:48:55 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.c (MODES_TIEABLE_P): Fix typo.
- 
- Fri Jul 17 03:26:12 1998  Rihcard Earnshaw  (rearnsha@arm.com)
- 
- 	* tree.c (valid_machine_attribute): Only create a new type variant if
- 	there is a decl to use it.
- 
- Thu Jul 16 14:48:04 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have
- 	a suffix.
- 
- Fri Jul 17 03:24:40 1998  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* extend.texi (Explicit Reg Vars): Typo: change "may deleted" into "may
- 	be deleted"
- 
- Thu Jul 16 14:48:47 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10300.c (count_tst_insns): New arg oreg_countp.  Callers changed.
- 	Simplify tests for clearing an address register.
- 	(expand_prologue): Corresponding changes.
- 
- 	* mn10300.md (movXX patterns): Make sure the destination is an
- 	ADDRESS_REG when substituting "zero_areg" for (const_int 0).
- 	(logical patterns): Split into expanders + patterns.
- 	(zero and sign extension patterns): Similarly.
- 	(shift patterns): Similarly.
- 
- Thu Jul 16 01:17:44 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (emit_iv_add_mult): Scan the entire insn list generated
- 	for the sequence, recording base values.
- 
- Wed Jul 15 10:49:55 1998  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (CPP_CPU_SPEC): Remove -Asystem(unix).
- 
- Tue Jul 14 14:15:30 1998  Nick Clifton  <nickc@cygnus.com>
- 
- 	* gcc.c: Remove ANSI-C ism from --help code.
- 
- 	* toplev.c: Support --help with USE_CPPLIB.
- 
- Tue Jul 14 14:46:08 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Rework gas feature code to work with symlink based
- 	source trees.
- 
- 	* extend.texi: Clarify some issues related to local variables
- 	assigned to explicit registers.
- 
- 	* mn10300.md (mulsi): Turn into expander + pattern.
- 
- 	* mn10300.md (movsi, movsf, movdi, movdf): Remove "x" from I -> a
- 	alternative.
- 
- Tue Jul 14 07:41:59 1998  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm/tcoff.h (USER_LABEL_PREFIX): Make it empty to match coff.h.
- 
- Tue Jul 14 03:02:44 1998  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump again to distinguish mainline tree from the
- 	egcs-1.1 branch.
- 
- See ChangeLog.0 for earlier changes.
- 
- Local Variables:
- add-log-time-format: current-time-string
- End:
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.10 gcc-4.1.0/gcc/ChangeLog.10
*** gcc-4.0.2/gcc/ChangeLog.10	Tue Mar  2 00:14:08 2004
--- gcc-4.1.0/gcc/ChangeLog.10	Thu Jan  1 00:00:00 1970
***************
*** 1,16352 ****
- 2003-12-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* print-rtl.c (print_rtx): For hard register, write out register
- 	number and register name instead of calling PRINT_REG.
- 	* defaults.h (PRINT_REG): Deleted.
- 	* config/i386/i386.c (print_reg): Remove handling of CODE of -1.
- 	Move comments here from i386.h.
- 	(print_operand, print_operand_address): Call print_reg directly.
- 	* config/i386/i386.h (PRINT_REG): Deleted.
- 
- 2003-12-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define
- 	_INCLUDE_LONGLONG.
- 
- 2003-12-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (init_spec): Add -lunwind to shared case too if
- 	USE_LIBUNWIND_EXCEPTIONS.
- 
- 2003-12-31  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/include/texinfo.tex: Update to version 2003-12-21.10.
- 	* doc/gcc.texi, doc/gccint.texi: Don't set font for
- 	@def... commands.
- 	* doc/invoke.texi: Don't use empty @opindex.
- 
- 2003-12-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (c_expand_expr): Remove code to return a value
- 	different from that returned by expand_expr.
- 	* expr.c (store_expr): Use the validity of a target MEM, rather
- 	than checking DECL_RTL (exp), to figure out if a copy is
- 	required.
- 
- 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/v850/lib1funcs.asm: Fix comment formatting.
- 	* config/v850/v850.c: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* config/v850/v850.md: Likewise.
- 
- 2003-12-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.md (*movqi_insv_2): Remove AND in the
- 	set source.
- 
- 2003-12-31  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config.gcc: Added m32r-linux m32rle-elf and m32le-linux targets.
- 	* doc/invoke.texi: Document -mflush-func, -mflush-trap options.
- 	Also add documentation for -mdebug, -malign-loops, -missue-rate,
- 	and -mbranch-cost options.
- 	* config/m32r/t-linux: New file: m32r-linux support.
- 	* config/m32r/xm-linux.h: Likewise.
- 	* config/m32r/xm-m32r.h: Likewise.
- 	* config/m32r/linux.h: Likewise.
- 	* config/m32r/little.h: New file: Little endian code generation
- 	support.
- 	* config/m32r/m32r-protos.h (m32r_legitimize_pic_address,
- 	m32r_legitimate_pic_operand_p, load_pic_register): Add
- 	prototypes.
- 	* config/m32r/m32r.c (m32r_init): Add options for cache-flush.
- 	(addr24_operand): Changes for PIC code generation.
- 	* config/m32r/m32r.h (LABEL_ALIGN): Define to calculate PNOP
- 	length at labels.
- 	(ASM_SPEC): Add PIC support.
- 	(FUNCTION_PROFILER): New define.
- 	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed to support
- 	trampoline.
- 	(CONDITIONAL_REGISTER_USAGE, CONSTANT_ADDRESS_P,
- 	 LEGITIMIZE_ADDRESS, JUMP_TABLES_IN_TEXT_SECTION,
- 	 PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC, LEGITIMATE_PIC_OPERAND_P,
- 	 ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE): Define for PIC.
- 	(move_src_operand, m32r_compute_frame_size, m32r_expand_prologue,
- 	 m32r_finalize_pic): Changes for PIC and profile support.
- 	(global_offset_table, load_pic_register, m32r_legitimate_pic_operand_p,
- 	 m32r_legitimize_pic_address): Add for PIC support.
- 	(m32r_file_start): Changed for little-endian-target.
- 	* config/m32r/m32r.md (mvqi, movhi, movsi, movdi, movsf, movdf,
- 	tablejump, tablejump_insn, call, call_value, call_value_via_label):
- 	Changes for PIC.
- 	(pic_load_addr, get_pc, builtin_setjmp_receiver): Added for PIC.
- 	(flush_icache): Changes for cache-flush trap.
- 
- 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.h: Remove an unnecessary #undef.
- 
- 2003-12-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cppfiles.c (pch_open_file): Minor tweak to work-around native
- 	HPPA compiler bug.
- 
- 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/rs6000/aix.h: Fix comment formatting.
- 	* config/rs6000/rs6000-modes.def: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 
- 2003-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386-protos.h: Remove prototype for
- 	const_int_1_operand.
- 	* config/i386/i386.c (const_int_1_operand): Remove.
- 	* config/i386/i386.h (PREDICATE_CODES): Remove
- 	const_int_1_operand.
- 	* config/i386/i386.md: Replace all uses of const_int_1_operand
- 	with const1_operand.
- 	* config/i386/pentium.md: Likewise.
- 
- 2003-12-30  Geoffrey Keating  <geoffk@greed.local>
- 
- 	* doc/tm.texi (PREFERRED_RELOAD_CLASS): Describe use of NO_REGS
- 	with constants.
- 
- 2003-12-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (layout_decl): Turn bitfields into ordinary
- 	fields, even if they are the first field in a structure.
- 
- 2003-12-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <COND_EXPR>: Don't require strict type
- 	equality, instead just prevent replacing a COND_EXPR of non-void
- 	type by one of its operands of void type.
- 
- 2003-12-30  Andreas Schwab  <schwab@suse.de>
- 
- 	* doc/c-tree.texi: Fix @item vs. @itemx.
- 	* doc/cpp.texi: Likewise.
- 	* doc/install.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 
- 2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
- 	change.
- 
- 2003-12-30  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/11936
- 	* i386.h (CLASS_LIKELY_SPILLED_P): Return true for
- 	FP_TOP_REG/FP_SECOND_REG.
- 
- 2003-12-30  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	Backport from tree-ssa (relevant changes only):
- 	2003-12-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* et-forest.h (et_forest_create, et_forest_delete,
- 	et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
- 	et_forest_remove_edge, et_forest_parent,
- 	et_forest_common_ancestor, et_forest_node_value,
- 	et_forest_enumerate_sons): Declarations removed.
- 	(struct et_node): New.
- 	(et_new_tree, et_free_tree, et_set_father, et_split, et_nca,
- 	et_below): Declare.
- 	* et-forest.c (struct et_forest_occurrence, struct et_forest,
- 	struct et_forest_node): Removed.
- 	(et_forest_create, et_forest_delete,
- 	et_forest_add_node, et_forest_add_edge, et_forest_remove_node,
- 	et_forest_remove_edge, et_forest_parent,
- 	et_forest_common_ancestor, et_forest_node_value,
- 	et_forest_enumerate_sons, splay, remove_all_occurrences,
- 	find_leftmost_node, find_rightmost_node, calculate_value): Removed.
- 	(struct et_occ): New.
- 	(et_nodes, et_occurences): New.
- 	(set_depth, set_depth_add, set_prev, set_next, et_recomp_min,
- 	et_check_occ_sanity, et_check_sanity, et_check_tree_sanity,
- 	record_path_before_1, record_path_before, check_path_after_1,
- 	check_path_after, et_splay, et_new_occ, et_new_tree,
- 	et_free_tree, et_set_father, et_split, et_nca, et_below): New.
- 	* basic-block.h (struct basic_block_def): New field dom.
- 	(struct dominance_info): Type removed.
- 	(calculate_dominance_info, free_dominance_info,
- 	nearest_common_dominator, set_immediate_dominator,
- 	get_immediate_dominator, dominated_by_p, get_dominated_by,
- 	add_to_dominance_info, delete_from_dominance_info,
- 	recount_dominator, redirect_immediate_dominators,
- 	iterate_fix_dominators, verify_dominators): Declarations
- 	changed.
- 	(enum dom_state): New.
- 	(dom_computed): New variable.
- 	(first_dom_son, next_dom_son): Declare.
- 	* dominance.c (struct dominance_info): Removed.
- 	(BB_NODE, SET_BB_NODE): Removed.
- 	(calculate_dominance_info, free_dominance_info,
- 	nearest_common_dominator, set_immediate_dominator,
- 	get_immediate_dominator, dominated_by_p, get_dominated_by,
- 	add_to_dominance_info, delete_from_dominance_info,
- 	recount_dominator, redirect_immediate_dominators,
- 	iterate_fix_dominators, verify_dominators,
- 	debug_dominance_info): Work over new datastructure.  Access
- 	dominance datastructures through CFG.
- 	(assign_dfs_numbers, compute_dom_fast_query, first_dom_son,
- 	next_dom_son): New.
- 	* bt-load.c (dom): Variable removed.
- 	(augment_live_range, combine_btr_defs, migrate_btr_def,
- 	migrate_btr_defs, branch_target_load_optimize): Updated for the
- 	new interface for dominance information.
- 	* cfg.c {exit_entry_blocks): Update initializer.
- 	* cfglayout.c (copy_bbs): Removed loops argument. Updated for
- 	the new interface for dominance information.
- 	* cfglayout.h (copy_bbs): Declaration changed.
- 	* cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump,
- 	flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated
- 	for the new interface for dominance information.
- 	(flow_loop_scan): Loops argument removed.
- 	(flow_loops_free): Don't release dominators.
- 	* cfgloop.h (struct cfg): Dom field removed.
- 	(flow_loop_scan, loop_split_edge_with, simple_loop_p,
- 	just_once_each_iteration_p, split_loop_bb): Declaration changed.
- 	* cfgloopanal.c (simple_loop_exit_p, simple_increment,
- 	just_once_each_iteration_p, simple_loop_p): Remove loops argument.
- 	Updated for the new interface for dominance information.
- 	* cfgloopmanip.c (remove_bbs, find_path, create_preheader,
- 	split_loop_bb, loopify, duplicate_loop_to_header_edge,
- 	force_single_succ_latches, loop_split_edge_with): Ditto.
- 	* gcse.c (dominators): Variable removed.
- 	(free_code_hoist_mem, compute_code_hoist_data, hoist_code):
- 	Updated for the new interface for dominance information.
- 	* ifcvt.c (post_dominators): Variable removed.
- 	(mark_loop_exit_edges, merge_if_block, find_if_header,
- 	find_cond_trap, find_if_case_1, find_if_case_2, if_convert):
- 	Updated for the new interface for dominance information.
- 	* loop-init.c (rtl_loop_optimizer_init,
- 	rtl_loop_optimizer_finalize): Ditto.
- 	* loop-unroll.c (decide_peel_simple, decide_peel_once_rolling,
- 	decide_peel_completely, decide_unroll_stupid,
- 	decide_unroll_constant_iterations,
- 	decide_unroll_runtime_iterations): Loops argument removed.
- 	Updated for the new interface for dominance information.
- 	(unroll_and_peel_loops, peel_loops_completely,
- 	unroll_loop_runtime_iterations): Updated for the new interface for
- 	dominance information.
- 	* loop-unswitch.c (may_unswitch_on_p, unswitch_loops,
- 	unswitch_single_loop, unswitch_loop): Updated for the new
- 	interface for dominance information.
- 	* predict.c (process_note_predictions, process_note_prediction,
- 	estimate_probability, note_prediction_to_br_prob): Ditto.
- 	* sched-rgn.c (find_rgns, init_regions): Ditto.
- 	* toplev.c (rest_of_handle_branch_prob): Free the dominators.
- 
- 2003-12-30  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/13456
- 	* i386.md (allocate_stack_worker):  Use different pattern for pre and
- 	post reload expansion.
- 	(allocate_stack_worker_1, allocate_stack_worker_rex64): Use
- 	match_scratch.
- 	(allocate_stack_worder_1_postreload,
- 	allocate_stack_worker_rex64_postreload): New.
- 
- 2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
- 	to the virtual incoming args pointer for downward stacks.
- 
- 2003-12-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR fortran/12632
- 	* fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition,
- 	if the type of the selected branch doesn't match its' parent.
- 
- 2003-12-29  Jan Hubicka  <jh@suse.cz>
- 
- 	* coverage.c (read_counts_file): Better error messages; cause corrupted
- 	profiles to produce hard errors, not just warnings
- 	(get_coverage_counts): Similarly.
- 
- 	* toplev.c (rest_of_handle_loop_optimize): Enable LOOP_AUTO_UNROLL.
- 
- 2003-12-29  Phil Edwards  <phil@codesourcery.com>
- 
- 	* doc/cppopts.texi:  Use of -idirafter, -iprefix, -iwithprefix, and
- 	-iwithprefixbefore is not discouraged.
- 
- 2003-12-28  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* sbitmap.c (sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg,
- 	sbitmap_a_xor_b_cg): Accumulate "changed" properly.
- 	(sbitmap_not): Zero all bits past n_bit.
- 
- 2003-12-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR opt/13159
- 	* cfgloopanal.c (mark_irreducible_loops): Fix the strongly connected
- 	components detection.
- 	* loop-unswitch.c (unswitch_loop): Preserve simple preheaders.
- 
- 2003-12-27  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/uclinux.h (LIB_SPEC): Add elf2flt magic required for
- 	correct linking of executables using id-based shared libraries.
- 
- 2003-12-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386-interix.h: Remove uses of "register"
- 	specifier in declarations of arguments and local variables.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386elf.h: Likewise.
- 	* config/i386/ptx4-i.h: Likewise.
- 	* config/i386/sysv4.h: Likewise.
- 
- 2003-12-26  Fariborz Jahanian <fjahanian@apple.com>
- 	    Geoffrey Keating <geoffk@apple.com>
- 	    David Edelsohn <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Do not
- 	restrict DFmode and TFmode to word alignment.
- 	* config/rs6000/rs6000.md (movdf_hardfloat64): Use 'o' constraint
- 	for ld/std and order before mr.
- 
- 2003-12-26  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin.h (LINK_COMMAND_SPEC): Arrange
- 	-fprofile-generate to imply -lgcov.
- 
- 2003-12-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (ldm_h8300s_2_normal): Use HImode for
- 	addresses.
- 
- 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Remove a constraint from a splitter.
- 
- 2003-12-25  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR C++/13429, C/11944
- 	* c-common.c (c_build_qualified_type): Return early when type is
- 	error_mark_node.
- 	(c_apply_type_quals_to_decl): Likewise.
- 
- 2003-12-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha-modes.def: Fix comment formatting.
- 	* config/alpha/alpha.c: Likewise.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/alpha/elf.h: Likewise.
- 	* config/alpha/lib1funcs.asm: Likewise.
- 	* config/alpha/openbsd.h: Likewise.
- 	* config/alpha/vms-cc.c: Likewise.
- 	* config/alpha/vms-crt0-64.c: Likewise.
- 	* config/alpha/vms-crt0.c: Likewise.
- 	* config/alpha/vms-ld.c: Likewise.
- 	* config/alpha/vms-psxcrt0-64.c: Likewise.
- 	* config/alpha/vms-psxcrt0.c: Likewise.
- 	* config/alpha/vms.h: Likewise.
- 	* config/arc/arc.c: Likewise.
- 	* config/arm/aof.h: Likewise.
- 	* config/arm/arm-modes.def: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/linux-elf.h: Likewise.
- 	* config/arm/vxworks.h: Likewise.
- 	* config/avr/avr.c: Likewise.
- 	* config/avr/avr.h: Likewise.
- 
- 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/xtensa/elf.h: Fix comment formatting.
- 	* config/xtensa/xtensa-protos.h: Likewise.
- 	* config/xtensa/xtensa.c: Likewise.
- 	* config/xtensa/xtensa.h: Likewise.
- 
- 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.c: Fix comment formatting.
- 	* config/avr/avr.md: Likewise.
- 
- 2003-12-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/12721.
- 	* config/avr/avr.c: Include ggc.h.
- 	(tmp_reg_rtx): Declare with GTY.
- 	(zero_reg_rtx): Likewise.
- 	(ldi_reg_rtx): Remove.
- 	(avr_override_options): Initialize zero_reg_rtx and
- 	ldi_reg_rtx.
- 	(avr_init): Remove.
- 	Include gt-avr.h.
- 	* config/avr/avr.h (LDI_REG_REGNO): Remove.
- 	Remove externs for tmp_reg_rtx, zero_reg_rtx, and ldi_reg_rtx.
- 
- 2003-12-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/md.texi: Document PowerPC vector register constraint letter.
- 
- 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (expand_call): Recognize calls to "sqrt" and create
- 	corresponding notes.
- 
- 2003-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/mips/mips.c (override_options): Use `inform' instead
- 	of `warning' for -g -mabi=32 and native assembler.
- 
- 	* config/mips/t-iris6 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
- 	Don't pass -Wno-error.
- 
- 2003-12-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* function.c (assign_parms): Update max_parm_reg and
- 	parm_reg_stack_loc when adding new parm reg.
- 
- 2003-12-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ns32k/ns32k.c: Convert to ISO-C.
- 
- 2003-12-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (ia64_va_arg): Pass pointer for
- 	variable-sized type through convert_memory_address.
- 	(ia64_in_small_data_p): Always return false for FUNCTION_DECLs.
- 
- 2003-12-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* common.opt (fprofile-generate,fprofile-use): Add.
- 	* gcc.c (LINK_COMMAND_SPEC): Arrange -fprofile-generate to imply -lgcov
- 	* opts.c (profile_arc_flag_set, flag_profile_values_set,
- 	flag_unroll_loops_set, flag_tracer_set,
- 	flag_value_profile_transformations_set,
- 	flag_peel_loops_set): New static variables.
- 	(common_handle_option): Deal with -fprofile-generate/-fprofile-use
- 	* invoke.texi (-fprofile-generate, -fprofile-use): Describe.
- 
- 2003-12-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (OBJS-common): Remove dwarfout.o.
- 	(dwarfout.o): Remove.
- 	* common.opt: Remove -gdwarf, -gdwarf+.
- 	* defaults.h (PREFERRED_DEBUGGING_TYPE): Do not check for
- 	DWARF_DEBUGGING_INFO.
- 	* dwarf2out.c: Fix typo in comment.
- 	* dwarfout.c: Remove.
- 	* opts.c (common_handle_option): Remove OPT_gdwarf, OPT_gdwarf_.
- 	* toplev.c (process_options): Remove check for
- 	DWARF_DEBUGGING_INFO.
- 	* config/elfos.h (DWARF_DEBUGGING_INFO): Do not #define it or
- 	#undef it.
- 	* config/netware.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/ptx4.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/vxworks.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/alpha/unicosmk.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/arc/arc.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/i386/sco5.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/i386/x86-64.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/m32r/m32r.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/mcore/mcore-elf.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/sparc/linux64.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/sparc/liteelf.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/sparc/sol26-sld.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* config/sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO): Likewise.
- 	* doc/invoke.texi: Do not mention -gdwarf, -gdwarf-1, -gdwarf-1+,
- 	or -gdwarf+.
- 	* doc/tm.texi: Likewise.
- 
- 	* c-common.c (flag_abi_version): Default to 2.
- 	* c-cppbuiltin.c (c_cpp_builtins): Define __GXX_ABI_VERSION
- 	uniformly for versions above 2.
- 	* doc/invoke.texi: Update documentation for -fabi-version.
- 
- 2003-12-22  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.md: Change many instances of '!
- 	TARGET_POWERPC64' to 'TARGET_32BIT' when the pattern being guarded
- 	was guarded only because it changed CR0 or the carry bit in XER.
- 
- 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13394
- 	* toplev.c (rest_of_compilation): Move call to
- 	check_function_return_warnings right after the sibcall
- 	optimization pass.
- 
- 2003-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/13382
- 	* c-typeck.c (convert_for_assignment): When converting from
- 	integral type to pointer type, always call convert.
- 
- 2003-12-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi: Deprecate -fwritable-strings.
- 
- 	* c-common.c (flag_external_templates): Remove.
- 	(flag_alt_external_templates): Likewise.
- 	* c-common.h (flag_external_templates): Remove.
- 	(flag_alt_external_templates): Likewise.
- 	* c-opts.c (c_common_handle_option): Unsupport
- 	-falt-external-templates and -ftemplates.
- 	* doc/invoke.texi: Remove mention of -fexternal-templates and
- 	-falt-external-templates.
- 
- 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/13466
- 	* config.gcc (powerpc-*-darwin): Remove overridden value of need_64bit_hwint.
- 
- 	* emit-rtl.c (copy_rtx_if_shared): Add comment about its use of
- 	copy_rtx_if_shared_1.
- 	(copy_rtx_if_shared_1): Add comment about what the function does.
- 
- 	* c-decl.c (finish_function): Change order of checks.
- 	(c_expand_body): Likewise.
- 
- 2003-12-22  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Correct
- 	check for the legitimate offset when memory of
- 	DImode/DFmode/TFmode/TImode mode is being referenced and target
- 	is TARGET_POWERPC64.
- 
- 2003-12-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* reload1.c:  Add reg_reloaded_call_part_clobbered.
- 	(reload_as_needed):  Use it.
- 	(forget_old_reloads_1):  Ditto.
- 	(emit_reload_insns):  Ditto.
- 
- 2003-12-22  Dale Johannesen  <dalej@apple.com>
- 
- 	PR optimization/12828
- 	* loop.c:  Add find_regs_nested to look inside CLOBBER(MEM).
- 	(scan_loop):  Call it.
- 	* regclass.c (reg_scan_mark_regs):  Look inside CLOBBER(MEM).
- 
- 2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/9163
- 	* c-decl.c (poplevel): Only set DECL_INITIAL of a current function
- 	if it is non-null.
- 	(finish_function): Check for error_mark_node or null on DECL_RESULT and
- 	DECL_RESULT of fndecl.
- 	(c_expand_body): Only expand when DECL_INITIAL of fndecl is not
- 	error_mark_node and not null.
- 
- 2003-12-21  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* rtl.h (dump_rtx_statistics): Declare it.
- 	* rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
- 	rtx_alloc_sizes): New static vars.
- 	(rtx_alloc, rtvec_alloc): Update them.
- 	(dump_rtx_statistics): New function.
- 	* toplev.c (finalize): Call it.
- 	* ggc-page.c (struct globals): Fix comments. Add new member
- 	total_allocated_per_order.
- 	(ggc_alloc): Keep track of the total allocated memory.
- 	(ggc_print_statistics): Clarify message. Print total allocated
- 	memory stats.
- 	* configure.in (gather-detailed-mem-stats): New flag.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 	* doc/install.texi (Configuration): Document
- 	--enable-gather-detailed-mem-stats.
- 
- 2003-12-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (CONVERT_HARD_REGISTER_TO_SSA_P): Poison.
- 	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Remove.
- 
- 2003-12-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Define _ILP32
- 	when compiling in ILP32 mode.
- 
- 2003-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Return early if
- 	TARGET_HAVE_TLS is false.
- 
- 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ip2k/ip2k-protos.h: Remove the prototype for
- 	asm_output_section_name.
- 	* config/ip2k/ip2k.c (asm_output_section_name): Remove.
- 
- 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Fix comment formatting.
- 	* alloc-pool.c: Likewise.
- 	* bitmap.c: Likewise.
- 	* bitmap.h: Likewise.
- 	* bt-load.c: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* c-pretty-print.c: Likewise.
- 	* caller-save.c: Likewise.
- 	* cfghooks.h: Likewise.
- 	* cgraph.c: Likewise.
- 	* collect2.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* final.c: Likewise.
- 	* function.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genemit.c: Likewise.
- 	* ggc.h: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* ifcvt.c: Likewise.
- 	* libgcc2.h: Likewise.
- 	* loop.c: Likewise.
- 	* predict.h: Likewise.
- 	* unwind-libunwind.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
- 	a warning.
- 
- 2003-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c: Convert to ISO-C.
- 	* config/avr/avr.h: Likewise.
- 	* config/fr30/fr30.c: Likewise.
- 	* config/ip2k/ip2k.c: Likewise.
- 	* config/mn10300/mn10300.c: Likewise.
- 
- 2003-12-20  Andrew Pinski  <pinskia@gcc.gnu.org>
- 	    Matt Thomas  <matt@3am-software.com>
- 
- 	PR target/12749
- 	* config/i386/i386.c (print_operand): Print only the first
- 	8 characters of the float in hex.
- 
- 2003-12-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (TRAMPOLINE_TEMPLATE): Shorten sequence when generating PA
- 	2.0 code.
- 	(TRAMPOLINE_CODE_SIZE, MIN_CACHELINE_SIZE): New defines.
- 	(INITIALIZE_TRAMPOLINE): Rework to pass line length, and aligned start
- 	and end addresses to I and D cache instruction patterns.
- 	* pa.md (anddi3, iordi3): Change predicates of operands 1 and 2 to
- 	and_operand and ior_operand, respectively.  When generating 64-bit
- 	code, only one operand needs to be a register operand.
- 	(xordi3): Change predicates of operands 1 and 2 to register_operand.
- 	(one_cmpldi2): Change predicate of operand 1 to register_operand.
- 	(dcacheflush, icacheflush): Revise to flush an arbitrary number of
- 	cache lines.
- 
- 2003-12-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR optimization/13430, PR optimization/12322
- 	* bb-reorder.c (copy_bb_p): Do not allow block with many successors to
- 	be copied.
- 	(find_traces_1_round): Surround check for fake edges by
- 	#ifdef ENABLE_CHECKING #endif.
- 
- 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR other/7956
- 	* genmultilib: New variable disable_multilib.  Set it to 'yes'
- 	if enable_multilib was set to 'no'.  Emit DISABLE_MULTILIB
- 	if disable_multilib was set to 'yes'.
- 	* gcc.c: Include multilib.h before tm.h.
- 	* config/sparc/sol2-bi.h (LINK_ARCH_SPEC): Emit an error
- 	message for multiarch options if DISABLE_MULTILIB is set.
- 	* config/sparc/sol2-gld-bi.h (LINK_ARCH_SPEC): Likewise.
- 
- 2003-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/12085
- 	* c-typeck.c (build_function_call): Issue a warning if a
- 	function is called through an incompatible prototype and
- 	replace the call by a trap in this case.
- 
- 2003-12-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* install.texi (ia64-*-linux): Document minimum libunwind version
- 	number.
- 
- 2003-12-19  Per Bothner  <per@bothner.com>
- 
- 	* langhooks.c (lhd_print_error_function):  Fix for PR c/13110.
- 	Don't do pp_newline; it causes an extra blank line.
- 	* pretty-print.c (pp_base_flush):  Clear pp_needs_newline.
- 
- 2003-12-19  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (get_unwidened): Decide whether to narrow a bitfield
- 	reference based on TYPE_SIZE, not TYPE_PRECISION.
- 
- 	* stmt.c (parse_output_constraint): Warn about in-out constraint
- 	that doesn't allow a register.
- 	(parse_input_constraint): Warn about matching constraint that
- 	doesn't allow a register.
- 
- 2003-12-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* flow.c (mark_set_regs, case PARALLEL): Scan loop forwards.
- 	Add case for ASM_OPERANDS.
- 	* global.c (global_alloc): Set regs_ever_live for regs_asm_clobbered
- 	registers.
- 
- 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (check_max_integer_computation_mode): Remove.
- 	* dojump.c (do_jump): Don't use MAX_INTEGER_COMPUTATION_MODE.
- 	* fold-const.c (fold): Likewise.
- 	* system.h (MAX_INTEGER_COMPUTATION_MODE): Poison.
- 	* doc/tm.texi (MAX_INTEGER_COMPUTATION_MODE): Remove.
- 
- 2003-12-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* configure.in: Delete libunwind_has_eh_support test.
- 	* configure: Regenerate.
- 	* config.gcc (ia64*-*-linux*): Delete reference to t-libunwind-no-eh
- 	and libunwind_has_eh_support check.
- 	* config/t-libunwind-no-eh: Delete.
- 
- 2003-12-19  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-format.c (print_char_table): Allow 'I' flag on floating point
- 	decimal formats.
- 
- 2003-12-19  Stuart Hastings  <stuart@apple.com>
- 
- 	* gcc/config/i386/i386.c (ix86_expand_call, x86_output_mi_thunk):
- 	Trivial fixes for i386.c on Darwin/x86.
- 
- 2003-12-19  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Add code to
- 	recognize macho-style lo_sum adrress patterns.
- 
- 2003-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dwarfout.c: Remove uses of "register" specifier in
- 	declarations of arguments and local variables.
- 	* gensupport.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* regclass.c: Likewise.
- 
- 2003-12-19  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* config.guess: Remove.
- 
- 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (ia64_copy_rbs): New function.
- 	(unw_access_gr): Only call ia64_rse_rnat_addr if addr is above
- 	regstk_top.
- 	(uw_frame_state_for): Handle locations inside bundles.
- 	(uw_init_context_1): Initialize context->rnat.
- 	Set context->regstk_top to lowest rbs address which has nat collection
- 	in context->rnat.
- 	(uw_install_context): Fix rnat restoring.
- 	Restore ar.rsc to previous state.
- 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR,
- 	MD_HANDLE_UNWABI): Handle unwinding through SA_ONSTACK frames.
- 
- 2003-12-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/13239
- 	* builtins.c (expand_builtin_expect_jump): Update
- 	TREE_VALUE (arglist) if unsave_expr_now langhook
- 	created a new tree.
- 
- 2003-12-19  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_base_register_rtx_p): Use regno in comparison against
- 	FIRST_PSEUDO_REGISTER.
- 
- 2003-12-18  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* gcc/config/rs6000/rs6000.c (USE_ALTIVEC_FOR_ARG_P): Don't check
- 	for SVR4 ABI.
- 
- 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/aix.h (OS_MISSING_POWERPC64): Define.
- 	(OS_MISSING_ALTIVEC): Define.
- 	* config/rs6000/darwin.h (ASM_SPEC): Be generous about supplying
- 	-force_cpusubtype_ALL.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Rearrange
- 	CPU information table; now always set all CPU-specific values.
- 	Also, use Altivec and powerpc64 when chip and OS supports them.
- 
- 2003-12-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* fixinc/inclhack.def (darwin_macho_dyldh): New.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-12-18  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	* version.c (version_string): Renumber as 3.4.0
- 	* doc/include/gcc-common.texi: Likewise
- 
- 2003-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (print_host_wide_int): New.
- 	(write_switch, write_cond): Use it.
- 
- 2003-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (check_bitfield_type_and_width): Remove enum special
- 	case suppression of pedwarn.
- 	* system.h (ENUM_BITFIELD): Use __extension__.
- 	(CHAR_BITFIELD): Likewise.
- 
- 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 	    Mark Dettinger  <dettinge@de.ibm.com>
- 
- 	* config/s390/s390.md (UNSPEC_SRST): New constant.
- 	("strlendi", "strlensi"): New expanders.
- 	("*strlendi", "*strlensi"): New insns.
- 
- 2003-12-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/sol2.h (LINK_ARCH32_SPEC): Define in terms of ...
- 	(LINK_ARCH32_SPEC_BASE): ... this new macro.
- 	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC): Define in terms of
- 	...
- 	(LINK_ARCH64_SPEC_BASE): ... this new macro.
- 	* config/sparc/sol2-gld-bi.h (LINK_ARCH32_SPEC): New macro.
- 	(LINK_ARCH64_SPEC): Likewise.
- 
- 2003-12-18  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/13234
- 	* tree-dump.c (dequeue_and_dump): Handle 'r' and 's' code
- 	classes.
- 
- 2003-12-18  Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (tracer.o, bb-reorder.o): Depend on timevar.h
- 	* toplev.c (rest_of_handle_reorder_blocks, rest_of_handle_tracer):
- 	Don't push and pop TV_REORDER_BLOCKS timevars, do it...
- 	* bb-reorder.c (reorder_basic_blocks): ...here, and...
- 	* tracer.c (tracer): here.
- 
- 2003-12-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* loop.c (move_movables): Handle combination of m->consec,
- 	m->move_insn_first, and m->insert_temp all nonzero correctly.
- 
- 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c (load_register_parameters): Don't use
- 	LOAD_ARGS_REVERSED.
- 	* system.h (LOAD_ARGS_REVERSED): Poison.
- 	* doc/tm.texi (LOAD_ARGS_REVERSED): Remove.
- 
- 2003-12-17  Per Bothner  <per@bothner.com>
- 
- 	* emit-rtl.c (set_new_first_and_last_label_num):  Remove function.
- 	* rtl.h (set_new_first_and_last_label_num):  Remove declaration.
- 
- 2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
- 	scratch insns of the then branch that clobber regs needed by the
- 	else branch.
- 
- 2003-12-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c (expand_call): Update comments.
- 	* system.h (PRETEND_OUTGOING_VARARGS_NAMED): Poison.
- 	* targhooks.c: Do not refer to PRETEND_OUTGOING_VARARGS_NAMED.
- 
- 2003-12-17  James E Wilson  <wilson@specifixinc.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	* Makefile.in (gcse.o): Add $(TREE_H) to dependencies.
- 	* gcse.c: Include tree.h.
- 	(implicit_set_cond_p): New.
- 	(find_implicit_sets): Call it.
- 
- 2003-12-17  Santiago Vila  <sanvila@unex.es>
- 
- 	* config/kfreebsdgnu.h (TARGET_OS_CPP_BUILTINS): Rename from
- 	TARET_OS_CPP_BUILTINS.
- 
- 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c: Fix signed/unsigned comparison warnings.
- 
- 2003-12-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* predict.c (struct block_info_def, struct edge_info_def): Change
- 	bit-fields of width 1 to unsigned int.
- 
- 2003-12-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 12480
- 	* c-pch.c (pch_init): Improve error message when precompiled
- 	header can't be written.
- 
- 	PR 12606
- 	* c-pch.c (pch_init): Make a PCH file appear invalid while it's
- 	being written.
- 	(c_common_write_pch): Make it valid once it's done.
- 
- 2003-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR target/11992
- 	* config/s390/s390.md ("*cmpmem_long_64"): Use CLCLE instruction
- 	instead of CLCL.
- 	("*cmpmem_long_31"): Likewise.
- 
- 2003-12-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c: Add more comments about insn bundling.
- 
- 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR optimization/10592
- 	* caller-save.c (mark_referenced_regs): Don't short-circuit a reg
- 	or subreg in SET_DEST if it isn't a hard register.
- 
- 2003-12-17  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (main): Add -fno-profile-arcs -fno-test-coverage
- 	-fno-branch-probabilities to arguments when compiling ctors and
- 	dtors.
- 
- 2003-12-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sol2.h: Set SUPPORTS_INIT_PRIORITY to 0.
- 	* config/sparc/sol2-gld.h: Set SUPPORTS_INIT_PRIORITY to 1.
- 
- 2003-12-17  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_base_register_rtx_p): Don't allow virtual registers
- 	as base registers for sub-word operations.
- 	(thumb_legitimate_address_p): Simplify REG+REG test.
- 
- 2003-12-17  Segher Boessenkool  <boessen@de.ibm.com>
- 
- 	* opts.c (wrap_help): Fix overflow.
- 
- 2003-12-17  Fred Fish  <fnf@redhat.com>
- 
- 	* configure.in: Remove code to examine linker scripts and set
- 	HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES.
- 	* configure, config.in: Regenerate.
- 
- 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/12218
- 	* varasm.c (initializer_constant_valid_p): Allow a conversion from
- 	an integral constant to an OFFSET_TYPE.
- 
- 2003-12-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/11012
- 	* config/m32r/m32r.c (gen_compare): Call gen_addsi3 instead of
- 	gen_cmp_ne_small_const_insn.
- 	* config/m32r/m32r.md (cmp_ne_small_const_insn): Remove.
- 
- 2003-12-17  Neil Booth  <neil@daikokuya.co.uk>
- 	    Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/3347
- 	* c-decl.c (enum_decl_context): Remove BITFIELD.
- 	(grokdeclarator): Take bit-field width as an input.
- 	Perform bit-field width validation with
- 	check_bitfield_type_and_width rather than waiting for
- 	finish_struct.
- 	(groktypename, groktypename_in_parm_context, start_decl,
- 	push_parm_decl, grokfield, start_function): Update calls to
- 	grokdeclarator.
- 	(check_bitfield_type_and_width): New function.
- 	(finish_struct): Move bit-field validation to grokdeclarator
- 	and check_bitfield_type_and_width.
- 
- 2003-12-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR bootstrap/13386
- 	* configure.in (gcc_cv_ld_hidden): Set to yes on hppa64*-*-hpux* when
- 	using HP native linker.
- 	* configure: Rebuilt.
- 
- 2003-12-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/13275
- 	* c-common.h (enum rid): Add RID_OFFSETOF.
- 	* c-parser.in (rid_to_yy): Ignore RID_OFFSETOF.
- 	* ginclude/stddef.h (offsetof): Reimplement for C++, using
- 	__offsetof__.
- 	* doc/extend.texi: Document __offsetof__.
- 
- 2003-12-16  Stan Cox  <scox@redhat.com>
- 
- 	* config/iq2000/iq2000.h: Formatting.
- 	(MAX_INT_TYPE_SIZE, MAX_INT_TYPE_SIZE, CONST_COSTS, RTX_COSTS)
- 	(ADDRESS_COST, ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL)
- 	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR, SLOW_ZERO_EXTEND): Remove
- 	* config/iq2000/iq2000.c: Formatting.
- 	(iq2000_rtx_costs): New.
- 
- 2003-12-16  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (addsi3_carryin_shift): Add missing register constraints.
- 
- 2003-12-16  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* testsuite/g++.old-deja/g++.eh/badalloc1.C: Tweak to
- 	pass with -pthread on FreeBSD systems.
- 
- 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_file_end): Only write symbols that have
- 	been referenced at some point.
- 
- 2003-12-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c: Include langhooks.h
- 	(mips_build_builtin_va_list): Use lang_hooks.types.make_type.
- 
- 2003-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13313
- 	* combine.c (make_extraction) [REG]: Do not use
- 	gen_lowpart_for_combine when POS is non-zero.
- 
- 2003-12-16  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* altivec.h (vec_cmple, vec_all_numeric): Fix typo.
- 	* testsuite/gcc.dg/altivec-10.c: Test for above.
- 
- 2003-12-15  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* Makefile.in (CPPFLAGS): Initialize from configure.
- 
- 2003-12-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/13400
- 	* ifcvt.c (noce_process_if_block): Disable unconditional write
- 	optimizations if we could introduce a store to trapping memory
- 	that wasn't present previously.
- 
- 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (DEFAULT_CALLER_SAVES): Poison.
- 	* toplev.c (flag_caller_saves): Always initialize with 0.
- 	* doc/tm.texi (DEFAULT_CALLER_SAVES): Remove.
- 
- 2003-12-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* flow.c (EXIT_IGNORE_STACK): Move to ...
- 	* defaults.h (EXIT_IGNORE_STACK): ... here.
- 	* dojump.c (clear_pending_stack_adjust): Don't use #ifdef
- 	EXIT_IGNORE_STACK.
- 	* function.c (expand_function_end): Likewise.
- 	* global.c (global_alloc): Likewise.
- 	* ra.c (init_ra): Likewise.
- 	* reload1.c (init_elim_table): Likewise.
- 	* reorg.c (fill_simple_delay_slots): Likewise.
- 	* resource.c (init_resource_info): Likewise.
- 	* doc/tm.texi (EXIT_IGNORE_STACK): Document that the default
- 	is 0.
- 
- 2003-12-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* reload.c (reg_overlap_mentioned_for_reload_p):
- 	When looking at a PLUS in X, avoid spuriously returning nonzero
- 	when IN is a REG or another simple PLUS, or a MEM containing one.
- 
- 	* loop.c (loop_invariant_p): Amend comment about where new registers
- 	might come from.
- 
- 2003-12-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Remove
- 	handling of obsolete language CHILL.
- 
- 2003-12-15  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
- 
- 	* tree.c (initializer_zerop): Add test for empty set.
- 	* integrate.c (function_cannot_inline_p): Forbid inlining
- 	functions calling `longjmp'.
- 
- 2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/11773
- 	* doc/gcov.texi (Gcov and Optimization): Document inline function
- 	behaviour. Fix some file suffixes.
- 
- 2003-12-14  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/i386.h (__amd64, __amd64__): Remove duplicates.
- 
- 2003-12-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (c_parse_error): Declare it.
- 	* c-common.c (c_parse_error): New function.
- 	* c-parse.y (yyerror): Use it.
- 
- 2003-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/13054
- 	* pa-protos.h (indexed_memory_operand, borx_reg_operand,
- 	move_dest_operand, move_src_operand): New protypes.
- 	(basereg_operand, move_operand, reg_or_nonsymb_mem_operand): Deleted.
- 	* pa.c (copy_reg_pointer, indexed_memory_operand, move_dest_operand,
- 	move_src_operand): New functions.
- 	(basereg_operand, reg_or_nonsymb_mem_operand, move_operand): Delete.
- 	(reg_or_0_or_nonsymb_mem_operand): Return false for unscaled indexed
- 	address until cse is not expected on targets with non-equivalent
- 	space registers.
- 	(hppa_legitimize_address): Canonicalize unscaled indexed addresses
- 	on targets non-equivalent space registers.
- 	(emit_move_sequence): Break out indexed addresses from destination
- 	operand.  Similarly, break out unscaled indexed addresses from
- 	source operand on targets with non-equivalent space registers.  Fix
- 	REG_POINTER flag when possible.  Mark register pointer when creating
- 	new pointers.
- 	(print_operand): Handle unscaled index addresses.
- 	* pa.h (IS_INDEX_ADDR_P, IS_LO_SUM_DLT_ADDR_P): New macro subroutines
- 	for EXTRA_CONSTRAINT.
- 	(EXTRA_CONSTRAINT): Rework to make more readable.
- 	(MODE_OK_FOR_SCALED_INDEXING_P, MODE_OK_FOR_UNSCALED_INDEXING_P): New
- 	subroutines for GO_IF_LEGITIMATE_ADDRESS.
- 	(GO_IF_LEGITIMATE_ADDRESS): Rework using new subroutines.  Allow scaled
- 	and unscaled addresses.  Canonicalize unscaled indexed addresses on
- 	targets with non-equivalent space registers.  Document issues in
- 	handling indexed address modes on PA-RISC.
- 	(PREDICATE_CODES): Update for new and deleted predicates.
- 	* pa.md (move_dest_operand, move_src_operand, indexed_memory_operand):
- 	Use new predicates in move patterns.
- 	Add peephole2 patterns to optimize floating point stores.  Fix
- 	constrain preferencing in move patterns.  Delete patterns for handling
- 	unscaled indexed memory loads.  Add missing load and store with
- 	base-register modification patterns.  Correct SFmode floating point
- 	store pattern.  Add missing zero extension loads.
- 
- 2003-12-13  Steven Bosscher  <stevenb@suse.de>
- 
- 	* ggc-zone.c (struct alloc_zone): Don't pre-declare, it already
- 	comes in with ggc.h.  Add a new bool field `dead'.
- 	(destroy_ggc_zone): Don't destroy a zone at once.  Instead, only
- 	set the `dead' flag for the dead zone.  Wrap a sanity check in
- 	ENABLE_CHECKING.
- 	(ggc_collect_1): Always mark and sweep if a zone has the `dead'
- 	flag set.
- 	(ggc_collect): Free dead zones after collecting.
- 
- 2003-12-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* coverage.c (get_coverage_counts):  Use inform instead of warning
- 	about missing profile.
- 
- 2003-12-12  Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (opts.o, explow.o): Depend on langhooks.h
- 
- 2003-12-12  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config.gcc <i[34567]86-*-darwin*>: Don't use fixproto.
- 	<powerpc-*-darwin*>: Likewise.
- 
- 2003-12-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/linux.h (IA64_GATE_AREA_END): Increase by 64K.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Set fpsr_loc, br_loc[6] and
- 	br_loc[7].  Update comment.
- 	(MD_HANDLE_UNWABI): Define.
- 	* config/ia64/unwind-ia64.c (struct unw_state_record): Add
- 	unwabi field.
- 	(struct _Unwind_Context): Increase br_loc array size to 8 entries.
- 	(desc_abi): Set unwabi.
- 	(uw_update_reg_address): Allow br up to 7.
- 	(uw_update_context): Invoke MD_HANDLE_UNWABI if defined.
- 	(uw_install_context): Load b1..b5 from correct locations.
- 	Fix insn loading ar.fpsr.
- 	* doc/tm.texi: Document MD_HANDLE_UNWABI.
- 
- 2003-12-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/13037
- 	* loop.c (update_giv_derive): Ignore redundant sets of a biv when
- 	calculating how to derive a giv from a biv.
- 
- 2003-12-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/12935 preprocessor/12952 preprocessor/13046
- 	* cpplib.c (prepare_directive_trad): Clear skipping only in
- 	#if and #elif directives.
- 	(do_undef): Call the handler even if the identifier is not a macro.
- 	* cpptrad.c (scan_parameters): Emit an error message.
- 	(_cpp_create_trad_definition): Remember the params list even on
- 	failure.
- 
- 2003-12-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* arm.c (ARM_ADDRESS_COST, THUMB_ADDRESS_COST): Convert macros
- 	to inline functions: arm_arm_address_cost, arm_thumb_address_cost
- 	respectively.
- 	(arm_address_cost): Use 'em.
- 
- 2003-12-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define
- 	__STDC_VERSION__ to ISO C94 for C++.
- 
- 	* fixinc/inclhack.def (alpha_wchar): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/wchar.h: New file.
- 
- 2003-12-11  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* unwind-libunwind.c (_Unwind_SetGR): Clear the NaT bit as
- 	required by C++ ABI for Itanium.
- 	* config/t-libunwind (LIB2ADDEH): Remove unwind-libunwind.c.
- 	* config/t-libunwind-no-eh: New file.
- 	* configure.in: Check libunwind for _Unwind_Resume() and if it's
- 	present, set libunwind_has_eh_support to "yes".
- 	* configure: Regenerate.
- 	* config.gcc (ia64*-*-linux*): If $libunwind_has_eh_support is
- 	set to yes, use t-libunwind, otherwise, use t-libunwind-no-eh.
- 
- 2003-12-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_global_pointer): Force functions with
- 	a nonlocal goto to set up $gp.
- 
- 2003-12-11  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/13132
- 	* function.c (gen_mem_addressof): When no decl, explicitly clear flag
- 	bits.
- 
- 2003-12-12  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/m32r/m32r.c: Convert to ISO-C
- 
- 2003-12-12  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* doc/invoke.texi: Replace Mitsubishi with Renesas.
- 	* config/m32r/m32r.h: Ditto.
- 	* config/m32r/m32r.c: Ditto.
- 	* config/m32r/m32r.md: Ditto.
- 
- 2003-12-11  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.
- 	(BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove.
- 	(basic_block_def): Rename `head' to `head_' and `end' to `end_'.
- 	(BB_HEAD, BB_END): New accessor macros for the `head_' and `end_'
- 	fields of a basic block.
- 	* bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c,
- 	cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c,
- 	cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c,
- 	final.c, flow.c, function.c, gcse.c, global.c, graph.c,
- 	haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c,
- 	loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c,
- 	ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c,
- 	regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c,
- 	sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c,
- 	config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of
- 	accessing the `head' and `end' fields of a basic block directly.
- 
- 	* gengtype.c: Teach about "void**" pointers and "void *" function
- 	types.  Fixes earlier commit.
- 
- 2003-12-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/extend.texi (Vector Extensions): Document that bitwise
- 	operations also work on vectors.
- 
- 2003-12-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md: New split patterns for optimizing bitfield accesses.
- 
- 2003-12-10  Steven Bosscher  <stevenb@suse.de>
- 
- 	* README.Portability: Remove K+R section.
- 
- 	* gengtype-lex.l: Teach about "void**" pointers and
- 	"void*" function types.
- 
- 2003-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/13354
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Load DELTA
- 	manually if one can do that with only one instruction.
- 
- 2003-12-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc (arm-linux): Include linux.h in tm_file so that
- 	LINUX_TARGET_OS_CPP_BUILTINS is defined.
- 	* config/arm/linux-elf.h (LIB_SPEC): Protect the definition.
- 
- 2003-12-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	* rtl.def (CODE_LABEL, NOTE): Correct operand numbers in comments.
- 
- 2003-12-09  Matt Austern  <austern@apple.com>
- 
- 	PR c/13134
- 	* c-decl.c (duplicate_decls): Copy visibility flag when appropriate.
- 
- 2003-12-09  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h: Add support for m32r2 processor.  Including
- 	a new command line option -m32r2 to select it.
- 	* config/m32r/m32r.c: Add support for the new processor variant.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/m32r/t-m32r: Add m32r2 multilibs.
- 	* doc/invoke.texi: Document the new command line switch.
- 
- 2003-12-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (LOCAL_REGNO): Give the default definition.
- 	* flow.c (LOCAL_REGNO): Remove.
- 	* reload1.c (LOCAL_REGNO): Likewise.
- 
- 2003-12-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR target/11848
- 	* rs6000.h (CANNOT_CHANGE_MODE_CLASS): Allow change of mode
- 	in floating-point registers between TFmode and DImode.
- 	* rs6000.c (rs6000_emit_move): Split moves early.
- 	(secondary_reload_class): Random Whitespace Change.
- 	(rs6000_split_multireg_move): Support moves involving FP registers.
- 	Emit instructions directly.
- 	* rs6000-protos.h (rs6000_split_multireg_move): Update prototype.
- 	* altivec.md: Update for changes to rs6000_split_multireg_move.
- 	* rs6000.md: Update for changes to rs6000_split_multireg_move.
- 	(movtf_internal): Support moves to/from GPRs.
- 
- 2003-12-08  Stuart Hastings  <stuart@apple.com>
- 
- 	* config/i386/i386.md: Typo in split of fp-valued if_then_else.
- 
- 2003-12-08  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/13132
- 	* expmed.c (extract_bit_field): Only call mode_for_size for scalar
- 	integer modes.
- 
- 2003-12-08  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/install.texi: Revert change of Dec 7; gcc is still a 2.13
- 	directory.
- 
- 2003-12-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.md (subdi2): Merge with _internal insn_and_split,
- 	by using match_scratch.
- 	(negdi2): New.
- 
- 2003-12-08  Jason Merrill <jason@redhat.com>
- 	    Daniel Berlin  <dberlin@dberlin.org>
- 
- 	PR debug/11114
- 	Support namespaces in DWARF 2 output.
- 	* dwarf2out.c (gen_namespace_die): New function.
- 	(force_namespace_die, setup_namespace_context): New fns.
- 	(declare_in_namespace): New fn.
- 	(gen_decl_die): Call declare_in_namespace.  Handle namespaces.
- 	(dwarf2out_decl): Handle namespaces.
- 	(scope_die_for): Pass through a namespace scope.
- 	(class_scope_p): Rename to class_or_namespace_scope_p.
- 	(gen_subprogram_die, gen_variable_die): Adjust.
- 	(gen_struct_or_union_die): Always emit a declaration
- 	if context_die is a namespace.
- 
- 2003-12-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* unwind-pe.h (read_uleb128): Fix handling of large values
- 	(read_sleb128): Fix handling of large values
- 
- 2003-12-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/10060
- 	* emit-rtl.c (copy_rtx_if_shared): Split out into ...
- 	(copy_rtx_if_shared_1): here and optimize the last one
- 	in the sequence into tail-recursion.
- 	(reset_used_flags): Optimize the last one
- 	in the sequence into tail-recursion.
- 
- 2003-12-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md: New split to transform ((X << y) - 1) into ~(~(X-1) << y)
- 	for constant X.
- 
- 2003-12-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* calls.c (expand_call): Don't try using tail or recursive calls
- 	after the function body has been expanded.
- 
- 2003-12-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cmpstr expander): Obey TARGET_INLINE_ALL_STRINGOPS
- 
- 2003-12-08  Arnaud Charlet  <charlet@act-europe.fr>
- 
- 	PR ada/13324, PR ada/12614
- 	* doc/install.texi: Update requirements for building Ada.
- 
- 2003-12-07  David Edelsohn  <edelsohn@gnu.org>
- 	    Graham Reed <greed@pobox.com>
- 
- 	* collect2.c (GCC_OK_SYMBOL): Add support for AIX C_WEAKEXT.
- 	(GCC_UNDEF_SYMBOL): Same.
- 
- 2003-12-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* final.c (final_scan_insn): Don't use FINAL_PRESCAN_LABEL.
- 	* system.h (FINAL_PRESCAN_LABEL): Poison.
- 	* doc/tm.texi (FINAL_PRESCAN_LABEL): Remove.
- 
- 2003-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (compare): Combine toplevel and $(SUBDIRS) cases.
- 
- 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in, aclocal.m4: Revert to pre-2.5x conversion status.
- 	* configure: Regenerate with autoconf 2.13.
- 
- 	* configure.in: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
- 	with modern equivalents.
- 	* configure: Regenerate.
- 
- 	* configure.in: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
- 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
- 	* configure: Regenerate.
- 
- 	* configure: Regenerate with (preferred) autoconf 2.57.
- 	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
- 
- 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12965
- 	* caller-save.c (save_call_clobbered_regs): Do not save/restore
- 	registers around no-return calls.
- 
- 2003-12-07  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Make minimum necessary changes for autoconf 2.5x.
- 	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
- 	* configure: Regenerate with autoconf 2.58.
- 
- 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13318
- 	* loop.c (express_from): Protect integer division from overflow.
- 
- 2003-12-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13060
- 	* function.c (fixup_var_refs_1) [SUBREG]: Recognize even if a
- 	replacement already exists.  Fix again the whole insn if that fails.
- 
- 2003-12-06  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (macho_branch_islands): Use
- 	HOST_WIDE_INT_PRINT_UNSIGNED.
- 
- 2003-12-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* varasm.c (incorporeal_function_p): New.
- 	(assemble_external): Use it as a filter.
- 	* config/mips/mips.c (mips_output_external): Don't check for builtin
- 	functions here.
- 
- 2003-12-06  Richard Earnshaw  <reanrsha@arm.com>
- 
- 	* arm.md (IOR (COMPARISON) (AND)): New define_splits.
- 
- 2003-12-06  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (program_transform_cross_name): Delete.
- 	(GCC_CROSS_NAME, CPP_CROSS_NAME): Delete.
- 	(PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Delete.
- 	(AR_FOR_TARGET, RANLIB_FOR_TARGET, NM_FOR_TARGET): Adjust for above.
- 	(install_cpp, install_driver, install-man, uninstall): Likewise.
- 
- 2003-12-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR 13169
- 	* basic-block.h (PROP_ASM_SCAN): Define.
- 	* final.c (regs_asm_clobbered): New array.
- 	* regs.h (regs_asm_clobbered): Declare.
- 	* flow.c (life_analysis): Init it.
- 	(mark_set_regs): Set PROP_ASM_SCAN for asms.
- 	(mark_set_1): Set regs_asm_clobbered.
- 	* global.c (global_alloc): Don't set eliminable_regset when
- 	regs_asm_clobbered.
- 
- 2003-12-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Define.
- 
- 	PR c++/13314
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Robustify.
- 
- 2003-12-05  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	PR driver/13211
- 	* gcc.c (execute) Increment execution_count when returning
- 	early because verbose_only_flag is true.
- 
- 2003-12-05  Per Bothner  <pbothner@apple.com>
- 
- 	* cppfiles.c (file_hash_hash):  New static function.
- 	(hash_string_eq):  Renamed static function to file_hash_eq.
- 	(_cpp_init_files):  Create file_hash table with above callbacks.
- 	(cpp_included):  Must use htab_find_with_hash insead of htab_find.
- 	(_cpp_find_find, make_cpp_dir):  Must use htab_find_slot_with_hash.
- 
- 2003-12-05  Per Bothner  <pbothner@apple.com>
- 
- 	* line-map.h (source_location):  New typedef.
- 	(fileline):  Redefined as source_location.
- 	(struct line_map, linemap_add, linemap_lookup):  Replace filefile
- 	by source_location.
- 	* line-map.c (linemap_add, linemap_lookup):  Use source_location.
- 
- 2003-12-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_build_builtin_va_list): Add dummy
- 	field to suppress -Wpadded warnings.
- 
- 2003-12-05  Stuart Hastings  <stuart@apple.com>
- 
- 	* config/rs6000/rs6000.md: Correct macro test of TARGET_MACHO.
- 
- 2003-12-05  Stuart Menefy <stuart.menefy@st.com>
- 	    J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR target/13302
- 	* sh.c (sh_build_builtin_va_list): Use (*lang_hooks.types.make_type).
- 
- 2003-12-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* dojump.c (do_jump): If the expression being compared against
- 	zero, is the subreg of a promoted variable, perform the comparison
- 	in the promoted mode.
- 	* simplify-rtx.c (simplify_unary_operation): Optimize sign and
- 	zero-extensions of subregs of promoted variables where the
- 	extension is identical to that used to promote the variable.
- 
- 2003-12-05  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/13256
- 	* resource.h (enum mark_resource_type): Remove member MARK_DEST.
- 	The only user changed as follows:
- 	* resource.c (mark_set_resources) <case SET>: Always recurse for
- 	SET_SRC (x).
- 	<case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
- 	operands.
- 	<case STRICT_LOW_PART>: Delete, deferring to default code.
- 
- 2003-12-05  Waldek Hebisch <hebisch@math.uni.wroc.pl>
- 
- 	* stmt.c (expand_nl_goto_receiver): Copy hard register clobbers
- 	and ASM_INPUT barrier from expand_builtin_setjmp_receiver.
- 
- 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_expand_call): Don't allow laziy binding
- 	for n32 & n64 abicalls.
- 
- 2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR bootstrap/13145
- 	* config/mips/mips.h (FIRST_PSEUDO_REGISTER): Adjust comment.
- 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Add $fcall.
- 	(mips_load_got): Always create a constant MEM.
- 	(mips_expand_call): Use load_callsi and load_calldi.
- 	* config/mips/mips.md (UNSPEC_LOAD_CALL, FAKE_CALL_REGNO): New consts.
- 	(load_callsi, load_calldi): New patterns.
- 
- 2003-12-05  Peter Gerwinski <peter@gerwinski.de>
- 
- 	* tree.def (PLACEHOLDER_EXPR): Clarify commentary.
- 
- 2003-12-05  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/d30v/d30v-protos.h , config/d30v/d30v.c,
- 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
- 	config/fr30/fr30-protos.h, config/fr30/fr30.c,
- 	config/i370/i370-protos.h, config/i370/i370.c,
- 	config/i960/i960-protos.h, config/i960/i960.c,
- 	config/ip2k/ip2k-protos.h, config/ip2k/ip2k.c,
- 	config/m32r/m32r-protos.h, config/m32r/m32r.c,
- 	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
- 	config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c:
- 	Convert to ISO C90 function declarations and definitions.
- 
- 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/extend.texi (Constructing Calls): Add warning about
- 	the limitations of the functions.
- 
- 2003-12-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/11151
- 	* function.h (struct function): New field 'x_naked_return_label'.
- 	* function.c (free_after_compilation): Set it to NULL.
- 	(expand_function_end): Emit 'naked_return_label' if it exists.
- 	* rtl.h (expand_naked_return): Declare.
- 	* stmt.c (expand_naked_return): New function to generate a
- 	jump to 'naked_return_label'.
- 	* builtins.c (expand_builtin_return): Call expand_naked_return
- 	instead of expand_null_return.
- 	* config/sparc/sparc.md (untyped_return): Likewise.
- 
- 2003-12-04  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/11322
- 	* config/sh/netbsd-elf.h (NO_PROFILE_COUNTERS): Define.
- 
- 	PR target/12467
- 	* config/rs6000/altivec.md (altivec_vmsummbm): Fix typo.
- 
- 2003-12-04  Stuart Hastings  <stuart@apple.com>
- 
- 	* rs6000.c (output_call, macho_branch_islands,
- 	add_compiler_branch_island, no_previous_def, get_previous_label)
- 	Revisions of xx_stub functions for branch islands,
- 	add -fPIC support for Darwin.
- 	* rs6000-protos.h (output_call) Prototype.
- 	* rs6000.md Use output_call.
- 	* invoke.texi Explain Darwin semantics of -longcall.
- 	* testsuite/gcc.dg/darwin-abi-1.c Revise testcase for -longcall/jbsr.
- 
- 2003-12-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (addqi3_carry): Use q not r constraints.
- 	(subqi3_carry): Likewise.
- 
- 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR optimization/13260
- 	* sh-protos.h (sh_expand_t_scc): Declare.
- 	* sh.h (PREDICATE_CODES): Add cmpsi_operand.
- 	* sh.c (cmpsi_operand, sh_expand_t_scc): New functions.
- 	* sh.md (cmpsi): Use cmpsi_operand.  If T_REG is compared to
- 	something that is not a CONST_INT, copy it into a pseudo register.
- 	(subc): Fix description of new T value.
- 	(slt, sgt, sge, sgtu): Don't clobber T after rtl generation is over.
- 	(sltu, sleu, sgeu): Likewise.
- 	(seq, sne): Likewise. Use sh_expand_t_scc.
- 
- 2003-12-04  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Generalize the CONFIG_HEADERS pattern under which
- 	we stamp cstamp-h.
- 	* configure: Regenerate.
- 
- 	* configure.in: Pull AC_CHECK_HEADER call out of shell if statement
- 	to avoid trouble when updating to autoconf 2.5x.
- 	* configure: Regenerate (with autoconf 2.13 still).
- 
- 2003-12-04  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (truncdiqi2): Use andi opcode for immediate.
- 	(reload_outdf+1,reload_outdf+2): Remove constraints.
- 	(movv16sf_i): Fxi multiplier for SUBREG_BYTE.
- 	(movv8qi_i+2): Zero-extend low byte before adding it to high byte.
- 	(fipr, ftrv): Add .s suffix to opcode.
- 
- 2003-12-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/13186
- 
- 	Revert all of the following patch, except the addition of
- 	hook_bool_machine_mode_true:
- 
- 	2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (targhooks.o, reload.o): Update dependencies.
- 	(GTFILES): Add targhooks.c.
- 	(gt-targhooks.h): New rule; depend on s-gtype.
- 	* target.h (direct_pool_load_p): New hook.
- 	* target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
- 	(TARGET_INITIALIZER): Include it.
- 	* targhooks.h (default_direct_pool_load_p): Declare.
- 	(hook_bool_machine_mode_true): Declare.
- 	* targhooks.c: Include insn-config.h, recog.h, ggc.h and
- 	gt-targhooks.h.
- 	(pool_symbol): New variable.
- 	(default_direct_pool_load_p): New function.
- 	(hook_bool_machine_mode_true): New function.
- 	* reload.c: Include target.h.
- 	(find_reloads): If an alternative will force a constant into memory,
- 	count an extra reload if constant pool symbols are not valid
- 	addresses.  If an alternative uses memory to move values between
- 	registers, count the move as two reloads rather than one.
- 	* config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
- 	* doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
- 
- 2003-12-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/ia64/hpux.h (TARGET_HAVE_TLS): Define it to false.
- 	* config/ia64/ia64.h (TARGET_HAVE_TLS): Define it to true if
- 	HAVE_AS_TLS is true.
- 	* config/ia64/ia64.c (TARGET_HAVE_TLS): Do not define it.
- 
- 2003-12-03  James E Wilson  <wilson@specifixinc.com>
- 
- 	* gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name.
- 
- 	* gcc-page.c (extra_order_size_tab): Correct comment.
- 
- 2003-12-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (push): Call gen_push_h8300hs_advanced
- 	instead of gen_push_h8300hs.
- 	(pop): Call gen_pop_h8300hs_advanced instead of
- 	gen_pop_h8300hs.
- 	* config/h8300/h8300.h (TRAMPOLINE_SIZE): Use Pmode.
- 	* config/h8300/h8300.md (*tablejump_h8300hs_advanced):
- 	Tighten the predicate.
- 	(*tablejump_h8300hs_normal): Tighten the predicate.
- 	(push_h8300hs): Change to
- 	push_h8300hs_advanced.
- 	(pop_h8300hs): Change to pop_h8300hs_advanced.
- 
- 2003-12-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* rtl.c: Fix typo.
- 	* config/mips/mips.h: Ditto. Fix formatting.
- 
- 2003-12-04  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* future.options: Remove. Move to gnu.org web pages.
- 
- 2003-12-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* c-parse.in (c_in_iteration_stmt, c_in_case_stmt): Move
- 	from here...
- 	* c-tree.h: to here.
- 
- 2003-12-03  Jan Hubicka  <jh@suse.cz>
- 
- 	PR optimization/12324
- 	* toplev.c  (rest_of_decl_compilation): Do not deffer when compiling
- 	in unit-at-a-time mode.
- 
- 2003-12-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (store_constructor): Only set RTX_UNCHANGING_P for
- 	read-only field if cleared is 0.
- 
- 2003-12-03  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Mark obsolete targets for GCC 3.4.
- 
- 2003-12-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (AM_ICONV): Add explicit check for iconv.h.
- 	* config.in, configure.in: Regenerate.
- 	* cpphash.h: Check both HAVE_ICONV and HAVE_ICONV_H before
- 	including iconv.h.
- 
- 2003-12-03  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/11229
- 	* cse.c (cse_insn): Set classp using src_const_elt if
- 	src_eqv_elt is NULL.
- 
- 2003-12-03  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* gcse.c (reg_clear_last_set): New function.
- 	(reg_set_info): If data is non-null, treat it as an sbitmap of
- 	registers, set the bit for the register being set.
- 	(compute_store_table): Allocate last_set_in with xcalloc.  Do not
- 	memset this array on each iteration.  Pass reg_set_in_block[bb->index]
- 	to note_stores while computing last_set_in instead of scanning
- 	last_set_in after the first pass through the insns.
- 	Clear last_set_in using reg_clear_last_set instead of explicitly
- 	rescanning after each insn.  If checking is enabled, assert that
- 	last_set_in is completely zeroed after each bb has been processed.
- 
- 2003-12-02  Geoffrey Keating  <geoffk@geoffk.org>
- 
- 	* df.c (df_uses_record) <MEM>: The argument of a MEM is read-only,
- 	never read-write.
- 	<REG>: Delete incorrect comment.
- 	<SET>: Remove 'use_flags' variable.
- 
- 2003-12-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* function.c (assign_parms): Make sure parm PARALLEL combined
- 	in reg is composed of more than one object and the mode really
- 	produces a reg.
- 
- 2003-12-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Make it 64bit clean.
- 
- 2003-12-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_output_external): Replace checks for
- 	specific builtin-in functions with a check for DECL_BUILTIN_IN.
- 
- 2003-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (PUT_CODE, PUT_MODE): Remove ENUM_BITFIELD cast.
- 	* tree.h (TREE_SET_CODE): Likewise.
- 	* recog.h (struct insn_operand_data): Move const after ENUM_BITFIELD.
- 
- 2003-12-02  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* dbxstclass.h: Rename from this ..
- 	* xcoff.h: .. to this.
- 	* xcoffout.c: Include xcoff.h.
- 
- 2003-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (GCC_CFLAGS): Add -Wold-style-definition.
- 
- 2003-12-01  James Lemke <jim@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
- 
- 2003-12-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/11634
- 	* recog.c (split_insn): Factor test of INSN_P and handling of
- 	set_noop_p out of here into the two callers.
- 	(split_all_insns): Add INSN_P test and set_noop_p handling here.
- 	If deleting a no-op set after reload that has a REG_UNUSED note,
- 	mark the basic block as changed and recalculate life information.
- 	(split_all_insns_noflow): Add INSN_P test and set_noop_p handling
- 	here.
- 
- 2003-12-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/12322
- 	* gcse.c (struct ls_expr): Change type of hash_index from int to
- 	unsigned int.
- 	(hash_expr): Document hash_table_size parameter and wrap long line.
- 	(ldst_entry): Calculate expression's hash_index and record in ptr.
- 	(trim_ld_motion_mems): Use hash_index to search a single bucket
- 	instead of scanning the entire hash_table.  Remove the "del" local
- 	variable and use the equivalent "expr == 0" instead.  Change last
- 	to be a pointer to the pointer to the current element, to simplify
- 	and speed-up deleting from a linked list.
- 
- 2003-12-01  James E Wilson  <wilson@specifixinc.com>
- 
- 	* doc/contrib.texi: Update David Mosberger.
- 
- 	* doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
- 	of missing fields.
- 
- 	PR target/8407
- 	* config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
- 	gen_rtx_REG to create new reg with argument mode.
- 
- 2003-12-01  Steven Bosscher  <stevenb@suse.de>
- 
- 	* ggc.h (struct alloc_zone): Move forward declaration up.
- 	(new_ggc_zone): New function prototype.
- 	(destroy_ggc_zone): Ditto.
- 	* ggc-simple.c (new_ggc_zone): New function, does nothing.
- 	(destroy_ggc_zone): Ditto.
- 	* ggc-page.c (new_ggc_zone): New function, does nothing.
- 	(destroy_ggc_zone): Ditto.
- 	* ggc-zone.c (struct page_entry): Fix comment.
- 	(ggc_alloc_typed): Use a switch statement instead of ifs.
- 	(new_ggc_zone): New function to set up a new GC zone.
- 	(destroy_ggc_zone): New function to remove a GC zone.
- 	init_ggc): Use new_ggc_zone to set up the default zones.
- 	(ggc_collect): Walk a list of zones, instead of just the
- 	default zones.  Report statistics using the zone name.
- 
- 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
- 
- 2003-12-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/12628
- 	* toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
- 	* regclass.c (reg_scan): Include allocate_reg_info time in
- 	TV_REG_SCAN.  Minor clean-ups.
- 	(reg_scan_update): Minor clean-ups.
- 
- 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config.gcc (s390x-ibm-tpf*): Add extra_parts.
- 
- 2003-12-01  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
- 	GR_ARG_FIRST.
- 
- 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* common.opt: Remove -fgnu-linker.
- 	* flags.h: Remove flag_gnu_linker.
- 	* opts.c: Don't handle OPT_fgnu_linker.
- 	* toplev.c: Don't initialize flag_gnu_linker.
- 	Remove gnu-linker entry from f_options.
- 	* config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
- 	Don't reset flag_gnu_linker.
- 	* config/mips/mips.c (override_options): Likewise.
- 	* doc/invoke.texi: Remove all mention of -fgnu-linker.
- 
- 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* ggc-zone.c (ggc_pch_write_object): Calculate object size using
- 	ggc_get_size (which accounts for large objects properly).
- 
- 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
- 
- 	PR optimization/13024
- 	* toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
- 	parameter.
- 	(rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
- 	declaration.  Rebuild jump labels following local_alloc if necessary.
- 	(rest_of_compilation): Remove rebuild_label_notes_after_reload
- 	declaration.  Don't pass rebuild_notes parameter to
- 	rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
- 	Don't rebuild jump labels.
- 
- 2003-12-01  Jeff Law  <law@redhat.com>
- 
- 	* flow.c (count_or_remove_death_notes_bb): New.  Extracted from
- 	count_or_remove_death_notes.
- 	(count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
- 
- 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* builtins.c (expand_builtin_longjmp): Added two memory clobbers.
- 
- 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads_address): Split addresses of type
- 	(plus (plus (reg) (reg)) (const_int)) only if one register
- 	is either a valid base register or else one of the stack
- 	frame related registers (sp/fp/ap).
- 
- 2003-12-01  Steven Bosscher  <stevenb@suse.de>
- 
- 	* function.c (update_epilogue_consts): Don't use PARAMS.
- 	* rtl.h (web_main): Ditto.
- 	* target.h (is_costly_dependence): Ditto
- 
- 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/7847
- 	* expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
- 	do not recheck that 'op0' is a MEM.  Move comment.  When testing for
- 	unaligned objects, take also into account the alignment of 'op0' and
- 	'mode1' if 'op0' is a MEM.
- 
- 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
- 
- 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/install.texi: Note that fastjar is built with automake 1.7.x
- 	and autoconf 2.57.
- 
- 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
- 	target_flags directly rather than using TARGET_* defines.
- 
- 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* doschk.c: Remove.
- 
- 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/12727
- 	* config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
- 	on 32-bit big-endian targets.
- 
- 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genemit.c (register_constraints): Remove.
- 
- 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
- 	"iordi3"): Insns now use multiple letter constraints.
- 	("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
- 	covered by "*movdi_64".
- 	("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
- 	covered by "*movsi_zarch" and "*movsi_esa".
- 	("*movsi_zarch", "*movsi_!zarch"): New insns.
- 	("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
- 	by "*andsi3_zarch" and "anddi3".
- 	("*anddi3_ni"): Insn merged with "anddi3".
- 	("*andsi3_ni"): Insn merged with "*andsi3_zarch".
- 	("*andsi3_zarch", "*andsi3_esa"): New insns.
- 	("*iordi3_oi"): Insn merged with "iordi3".
- 	("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
- 	("*iorsi3_zarch", "*iorsi3_esa"): New insns.
- 
- 	* config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
- 	merged to s390_single_part.
- 	(s390_single_part): New function.
- 	NOTE: Semantics have changed a bit. Now the value of the part must
- 	be different from the others to get a non-negative return value.
- 	(s390_extract_qi, s390_extract_hi): Functions merged to
- 	s390_extract_part.
- 	(s390_extract_part, s390_extra_constraint_str,
- 	s390_const_ok_for_constraint_p): New functions. The L constraint got a
- 	new meaning and the N constraint was added as a multiple letter
- 	constraint.
- 	(s390_extra_constraint): Function deleted.
- 	(print_operand): New output modifier 'i' and 'j' added.
- 	All uses of CONST_OK_FOR_LETTER_P were replaced by
- 	CONST_OK_FOR_CONSTRAINT_P.
- 
- 	* config/s390/s390-protos.h: Function prototypes adapted.
- 	* doc/md.texi: Documentation for new constraint letters added.
- 
- 2003-11-30  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
- 
- 2003-11-29  James E Wilson  <wilson@specifixinc.com>
- 
- 	* gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
- 	instead of in shared_name.
- 
- 	* final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
- 	* reload1.c (reload): Re-add it here.
- 
- 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
- 	set SECTION_WRITE on TARGET_RELOCATABLE.
- 
- 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
- 
- 2003-11-28  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (MOTOROLA): Move from here...
- 	* config/m68k/m68k.h (MOTOROLA): ... to here.
- 	(OUTPUT_JUMP): Use do {...} while (0).
- 	* config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
- 
- 2003-11-28  Gunther Nikl  <gni@gecko.de>
- 
- 	* config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
- 	m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
- 	MOTOROLA and USE_GAS.
- 	* config/m68k/rtemself.h (MOTOROLA): Delete.
- 	* config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
- 	* config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
- 
- 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
- 
- 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (install-info): Install gccinstall.info too.
- 
- 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
- 
- 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("movhi"): Do not emit extender pattern
- 	when loading from a (MEM (ADDRESSOF ...)).
- 	("movqi"): Likewise.
- 
- 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/10333
- 	* c-parse.in (typespec_reserved_nonattr): Reject typeof on
- 	bit-fields.
- 
- 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* stmt.c (expand_asm_operands): Check whether force_const_mem
- 	succeeded.
- 
- 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
- 	* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
- 
- 	* config/alpha/gnu.h, config/alpha/linux.h,
- 	config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
- 	config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
- 	config/i386/linux-aout.h, config/i386/linux.h,
- 	config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
- 	config/m68k/uclinux.h, config/mips/linux.h,
- 	config/mn10300/linux.h, config/pa/pa-linux.h,
- 	config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
- 	config/sparc/linux.h, config/sparc/linux64.h,
- 	config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
- 	HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
- 	all necessary assertions are included.
- 
- 2003-11-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (set_used_flags): New.
- 	(verify_rtx_sharing, verify_rtl_sharing): New.
- 	(unshare_all_rtl_1): Rename to....
- 	(unshare_all_rtl_in_chain): ... this one; make static.
- 	(copy_rtx_if_shared): LABEL_REF chan be shared.
- 	* ifcvt.c (unshare_ifcvt_sequence): New.
- 	(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
- 	noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
- 	noce_try_abs, noce_process_if_block, find_cond_trap
- 	* rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
- 	Declare.
- 
- 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Fix a comment typo.
- 
- 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*movsf_h8300h): Change to
- 	*movsf_h8300hs.
- 	(addsi_h8300): Change to *addsi_h8300.
- 	(addsi_h8300h): Change to *addsi_h8300hs.
- 	(subsi3_h8300): Change to *subsi3_h8300.
- 	(subsi3_h8300h): Change to *subsi3_h8300hs.
- 	(neghi2_h8300h): Change to *neghi2_h8300hs.
- 	(negsi2_h8300h): Change to *negsi2_h8300hs.
- 
- 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
- 	constraint.
- 	(*subhi3_h8300hs): Likewise.
- 
- 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (MASK_MFCRF): New.
- 	(TARGET_MFCRF): Test target_flags, not processor type.
- 	(TARGET_SWITCHES): Add mfcrf and no-mfcrf.
- 	Change Don't to Do not.
- 	* config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
- 	to power4, 970, G5.
- 
- 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cse.c (cse_set_around_loop): When changing a constant load
- 	to a register -register copy, add a REG_EQUAL note.
- 
- 2003-11-27  Randolph Chung  <tausq@debian.org>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (hppa_profile_hook): Split gen_call_profiler into separate
- 	insns.  Use the regular call expander for the call to the profiler.
- 	* pa.md (call_profiler): Delete.
- 	(load_offset_label_address): New insn to load the address of the
- 	current function for the profiler.
- 	(lcla1, lcla2): New insns to output a code label and load its address.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* final.c (final_scan_insn): Remove commented-out code.
- 
- 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/install.texi: Remove ADAC reference and make accurate.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
- 	(FUNCTION_VALUE_REGNO_P): Likewise.
- 	* config/h8300/h8300.md: Define R0_REG.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Fix formatting.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Give names to anonymous insns.
- 
- 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (extendqisi2): Remove constraints.
- 
- 2003-11-27  Gunther Nikl  <gni@gecko.de>
- 
- 	* doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
- 
- 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13041
- 	* final.c (frame_pointer_needed): Fix comment.
- 	* reload1.c (reload): Decrease alignment of the frame
- 	pointer if it was used for register allocation.
- 
- 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/12900
- 	* reg-stack (move_for_stack_reg): New prototype.  Return
- 	whether a control flow insn was deleted.
- 	(subst_stack_regs_pat): Likewise, using the information provided
- 	by move_for_stack_reg.
- 	(subst_stack_regs): Likewise, using the information provided
- 	by subst_stack_regs_pat.
- 	(convert_regs_1): Record whether a control flow insn was deleted,
- 	using the information provided by subst_stack_regs.  Purge dead
- 	edges only if a control flow insn was deleted.
- 
- 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/8028
- 	PR middle-end/9890
- 	PR middle-end/11151
- 	PR middle-end/12210
- 	PR middle-end/12503
- 	PR middle-end/12692
- 	* builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
- 	as the base address to copy the memory arguments to.
- 
- 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
- 	function aliases as functions.
- 
- 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
- 	of ADAC.
- 	* configure: Regenerate.
- 
- 	* Makefile.in: Remove references to ADAC.
- 
- 	* configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
- 	* configure: Regenerate.
- 
- 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Olivier Hainque  <hainque@act-europe.fr>
- 
- 	PR target/6466
- 	* config/sparc/sparc-protos.h (compute_frame_size): New prototype.
- 	(sparc_flat_compute_frame_size): Likewise.
- 	(sparc_flat_save_restore): Move prototype...
- 	* config/sparc/sparc.c (sparc_flat_save_restore): ...here.
- 	(save_regs): New prototype.
- 	(build_big_number): Likewise.
- 	(apparent_fsize): Change type to HOST_WIDE_INT.
- 	(actual_fsize): Likewise.
- 	(frame_base_offset): Likewise.
- 	(build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
- 	Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
- 	[TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
- 	to load a 64-bit constant.
- 	(sparc_nonflat_function_prologue): Change string descriptor to
- 	HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
- 	(output_restore_regs): Change offset type to HOST_WIDE_INT.
- 	(sparc_nonflat_function_epilogue): Change string descriptor to
- 	HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
- 	(output_sibcall): Change size type to HOST_WIDE_INT.  Use
- 	build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
- 	(sparc_frame_info): Change types for several components.
- 	(sparc_flat_compute_frame_size): Update types according to previous
- 	change.
- 	(sparc_flat_function_prologue): Change string descriptor to
- 	HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
- 	build_big_number.
- 	(sparc_flat_function_epilogue): Change offset type to int.
- 	Rename 'size1' into 'reg_offset1'.  Change string descriptor to
- 	HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
- 	limit to 4096 instead of 4095.
- 
- 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
- 	HOST_WIDE_INT.
- 
- 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
- 
- 	* function.c: Make outer_function-chain external.
- 	* function.h: Likewise.
- 
- 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
- 	using GNU ld.
- 	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
- 	whole of the previous STARTFILE_SPEC except crtbegin.o%s.
- 	(IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	* config/mips/iris6gld.h (LINK_SPEC): Change -init function
- 	to __gcc_init and -fini function to __gcc_fini.
- 	(STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
- 	(ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
- 	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
- 	* config/mips/t-iris6gld,
- 	* config/mips/irix6-crti.asm,
- 	* config/mips/irix6-crtn.asm: New files.
- 
- 2003-11-24  Eric Christopher  <echristo@redhat.com>
- 
- 	PR C/13014
- 	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
- 	(start_function): Use.
- 	(c_push_function_context): Ditto.
- 	(c-pop_function_context): Ditto.
- 	(language_function): Move...
- 	* c-tree.h: ... here. Add x_in_iteration_stmt, and
- 	x_in_case_stmt.
- 	* c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
- 	c_in_iteration_stmt, c_in_case_stmt for parser state. Move
- 	check for valid break or continue statment here...
- 	* c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
- 	here. Change original errors to abort.
- 
- 2003-11-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* fold-const.c (fold):  Do not return early when optimizing
- 	COMPONENT_REF and constant.
- 
- 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (tablejump_h8300): Change to
- 	*tablejump_h8300.
- 	(tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
- 	(tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
- 	(indirect_jump_h8300): Change to *indirect_jump_h8300.
- 	(indirect_jump_h8300h): Change to
- 	*indirect_jump_h8300hs_advanced.
- 	(indirect_jump_normal_mode): Change to
- 	*indirect_jump_h8300hs_normal.
- 
- 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Remove constraints from expanders.
- 
- 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: (stm_h8300s_2): Change the name to
- 	stm_h8300s_2_advanced.
- 	(stm_h8300s_2_normal): New.
- 	(stm_h8300s_2): Likewise.
- 	(stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
- 	(stm_h8300s_3_normal): New.
- 	(stm_h8300s_3): Likewise.
- 	(stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
- 	(stm_h8300s_4_normal): New.
- 	(stm_h8300s_4): Likewise.
- 	(ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
- 	(ldm_h8300s_2_normal): New.
- 	(ldm_h8300s_2): Likewise.
- 	(ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
- 	(ldm_h8300s_3_normal): New.
- 	(ldm_h8300s_3): Likewise.
- 	(ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
- 	(ldm_h8300s_4_normal): New.
- 	(ldm_h8300s_4): Likewise.
- 	(two peephole2's): Enable only with !TARGET_NORMAL_MODE.
- 	(two peephole2's): New.
- 
- 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* genattrtab.c (simplify_cond): Update indices correctly.
- 	(attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
- 	attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
- 	(check_attr_test, encode_units_mask, compute_alternative_mask,
- 	make_alternative_compare, simplify_and_tree,
- 	attr_rtx_cost, simplify_test_exp, gen_attr,
- 	write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
- 	* rtl.def (EQ_ATTR_ALT): New.
- 
- 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
- 	(length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
- 	New variables.
- 	(main): Initialize them.
- 	(find_attr): Canonicalize the attribute name string.
- 	(attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
- 	string arguments.
- 	(attr_printf, attr_eq): Use DEF_ATTR_STRING.
- 	(check_attr_test, check_attr_value, make_length_attrs,
- 	write_length_unit_log, simplify_by_exploding, gen_attr,
- 	write_test_expr, write_attr_value, write_eligible_delay,
- 	write_complex_function, make_internal_attr,
- 	write_const_num_delay_slots): Changed due to change of type of
- 	find_attr.
- 	(fill_attr, evaluate_eq_attr, simplify_and_tree,
- 	attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
- 	strcmp_check.
- 
- 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/13122
- 	* config/h8300/h8300.c (push): Call push_h8300hs_normal in
- 	normal mode.
- 	(pop): Call pop_h8300hs_normal in normal mode.
- 	* config/h8300/h8300.md: Likewise.
- 	(pushqi1_h8300hs_normal): New.
- 	(pushqi1): Call pushqi1_h8300hs_normal in normal mode.
- 	(pushhi1_h8300hs_normal): New.
- 	(pushhi1): Call pushhi1_h8300hs_normal in normal mode.
- 	(push_h8300hs_normal): New.
- 	(pop_h8300hs_normal): Likewise.
- 
- 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* genattrtab.c (count_sub_rtxs): Removed.
- 
- 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* recog.c (preprocess_constraints): Only zero those elements of
- 	recog_op_alt that are needed for this insn.
- 	* arm.c (note_invalid_constants): A function can't contain invalid
- 	constants if it has no constraints.
- 
- 2003-11-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Pass __float128 in memory.
- 	(ix86_return_in_memory): Likewise.
- 	(ix86_libcall_value): Likewsie.
- 
- 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (dosize): Convert to ISO-C.
- 
- 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* flow.c (update_life_info): Amend comment about when a register
- 	can become dead.
- 
- 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/.cvsignore: Delete.
- 
- 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* dwarf2out.c (add_location_or_const_value_attribute): Add support
- 	for PARALLEL.
- 
- 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
- 	(TARGET_LIBGCC2_CFLAGS): Define.
- 
- 	* crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
- 	(__do_global_ctors): Likewise.
- 
- 2003-11-21  Mark Wielaard  <mark@klomp.org>
- 
- 	* doc/invoke.texi (-O2): Doesn't enable -fweb.
- 
- 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Mention dV and dZ.
- 
- 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Update dump file names.
- 	Remove de, dW, and dX.
- 
- 2003-11-20  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR c/13133
- 	* reload1.c (reload): Delete special handling for setjmp.
- 
- 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* mklibgcc.in: Evaluate shlib_slibdir_qual during link
- 	step too.
- 	* config/t-slibgcc-darwin: Adjust install path.
- 	* config/rs6000/t-darwin: Revert multilib matches since
- 	it is not used on darwin.
- 
- 2003-11-20  Richard Henderson  <rth@redhat.com>
- 
- 	* ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
- 	* Makefile.in (OBJS-common, GTFILES): Don't reference them.
- 	(gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
- 	(ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
- 	* flow.c: Don't include ssa.h.
- 	(set_phi_alternative_reg): Remove.
- 	(calculate_global_regs_live): Don't call it.
- 	(mark_used_regs): Don't handle PHI.
- 	* gengtype.c (open_base_files): Don't reference ssa.h.
- 	* rtl.def (PHI): Remove.
- 	* timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
- 	* common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
- 	* opts.c (common_handle_option): Likewise.
- 	* toplev.c (f_options): Likewise.
- 	(DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
- 	(dump_file): Update to match.
- 	(flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
- 	(rest_of_handle_ssa): Remove.
- 	(rest_of_compilation): Don't call it.
- 	* toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
- 	* doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
- 	* doc/passes.texi (SSA optimizations): Remove.
- 
- 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
- 	* configure: Regenerate.
- 
- 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (Makefile): Pass along CONFIG_SHELL.
- 
- 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
- 	(SHLIB_LC): Define.
- 	* unwind-libunwind.c (_Unwind_GetCFA): Implement.
- 	(_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
- 
- 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* calls.c (expand_call): Allocate new temp in pass1.
- 	(store_one_arg): If PARALLEL, calculate excess using mode size of
- 	rtvec elt.
- 	* expr.c (emit_push_insn): If PARALLEL, calculate offset using
- 	mode size of rtvec elt.
- 	* function.c (assign_parms): Use parm in register, if available.
- 
- 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (MOVP): Remove.
- 	(ADDP): Likewise.
- 	(CMPP): Likewise.
- 
- 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (use_return_insn): New argument, SIBLING.  Support returning
- 	with a single instruction if the stack has been decremented by 4
- 	and we have a frame pointer.  Update all callers.
- 	(output_return_instruction): Likewise.
- 	(arm_output_epilogue): Change argument to SIBLING.  Calculate
- 	really_return from the new argument.  Update all callers.
- 	* arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
- 	* arm.md (sibcall_epilogue): Call use_return_insn directly, and
- 	pass the sibling call.
- 	* arm-protos.h (use_return_insn, arm_output_epilogue): Update
- 	prototypes.
- 
- 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* Makefile.in (extraclean): Delete.
- 	* configure.in (target_list): Remove extraclean.
- 	* configure: Regenerate.
- 	* doc/makefile.texi, doc/sourcebuild.texi: Update.
- 	* objc/Make-lang.in (objc.extraclean): Delete.
- 
- 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* Makefile.in (lang_checks): Add.
- 	(check-c++, check-f77, check-java, check-g++, check-g77,
- 	check-objc): Remove hardcoded targets.
- 	* doc/sourcebuild.texi: Document testsuite hooks.
- 	* objc/Make-lang.in (check-objc, lang_checks): Add.
- 
- 2003-11-19  Scott Snyder  <snyder@fnal.gov>
- 
- 	PR target/13131
- 	* dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
- 	flag, not a constant.
- 
- 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/arc/arc-protos.h: Update to C90 prototypes.
- 	* config/arc/arc.c: Likewise.
- 	* config/arc/initfini.c: Likewise.
- 
- 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* stmt.c (expand_goto): Memory clobbers added.
- 
- 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* reload.c (find_reloads): Added missing type casts.
- 
- 2003-11-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* combine.c (sets_function_arg_p): Delete unused function.
- 
- 2003-11-19  Eric Christopher  <echristo@redhat.com>
- 
- 	* reload1.c (reload): Revert 2 previous checkins.
- 
- 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* cpptrad.c (_cpp_scan_out_logical_line): Improve test for
- 	whether directive begins at the beginning of a line.
- 
- 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
- 
- 2003-11-19  Gerald Pfeifer  <gp@suse.de>
- 
- 	* doc/install.texi (Specific): Remove information on old versions
- 	of glibc versus old versions of GCC.
- 
- 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
- 	the register lowpart is a TRULY_NOOP_TRUNCATION.
- 
- 2003-11-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (print_reg): Handle QI and HI modes for
- 	non Q regs.
- 
- 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config/config.gcc (powerpc-*-darwin*): Add libgcc build
- 	specification file.
- 	* config/t-slibgcc-darwin: New file, libgcc build specification.
- 	* config/t-darwin: Add libgcc2 flag -fPIC.
- 	* config/rs6000/t-darwin: Multilib matches float.
- 	* libgcc-darwin.ver: New file, contains libgcc symbols.
- 
- 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/ns32k/ns32k.h: Remove obsolete comment.
- 
- 2003-11-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11821
- 	* config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
- 	size for calls to libgcc's div & mod subroutines when using -Os.
- 
- 2003-11-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
- 
- 2003-11-18  Marc Espie  <espie@openbsd.org>
- 
- 	* config/rs6000/sysv4.h: OpenBSD hooks.
- 
- 2003-11-18  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr): Don't look through constant arrays if
- 	they don't bind locally.
- 
- 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
- 	when seeing if truncation or extension.
- 
- 2003-11-17  Eric Christopher  <echristo@redhat.com>
- 
- 	* reload1.c (reload): Fix previous change.
- 
- 2003-11-17  Scott Snyder  <snyder@fnal.gov>
- 
- 	PR debug/11325
- 	* dwarf2out.c (struct die_struct): Add die_definition field.
- 	(add_AT_specification): New.
- 	(gen_subprogram_die, gen_variable_die,
- 	gen_struct_or_union_type_die): Use it.
- 	(prune_unused_types_mark): If we're marking a forward declaration,
- 	also mark the full definition, if it exists.
- 
- 2003-11-16  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
- 	* config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
- 	Remove prototype.
- 	* config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
- 	to xstormy16_build_builtin_va_list and make static.
- 	(TARGET_BUILD_BUILTIN_VA_LIST): Define.
- 
- 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add the prototype for
- 	same_cmp_following_p.
- 	* config/h8300/h8300.c (same_cmp_following_p): New.
- 	* config/h8300/h8300.md (peephole2): Use it.
- 
- 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Don't use REGNO when its operand is
- 	not guaranteed to be a REG.
- 
- 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (expr.o): Depend on $(TARGET_H).
- 	* target.h (return_in_msb): New target hook.
- 	* target-def.h (TARGET_RETURN_IN_MSB): New macro.
- 	(TARGET_CALLS): Include it.
- 	* calls.c (shift_returned_value): New function.
- 	(expand_call): Use it.
- 	* expr.c: Include target.h.
- 	(copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
- 	deciding what padding is needed.  Change the name of the local
- 	padding variable from big_endian_correction to padding_correction.
- 	* stmt.c (shift_return_value): New function.
- 	(expand_return): Use it.  Adjust memory->register copy in the same
- 	way as copy_blkmode_from_reg.  Only change the return register's
- 	mode if it was originally BLKmode.
- 	* doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
- 	* config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
- 	(mips_fpr_return_fields): New, split out from mips_function_value.
- 	(mips_return_in_msb, mips_return_fpr_pair): New functions.
- 	(mips_function_value): Rework to use the functions above.
- 	* config/mips/irix6-libc-compat.c: Delete.
- 	* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
- 
- 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/install.texi (--enable-checking): Update valgrind's URL.
- 
- 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Fix warnings by replacing -2147483648
- 	with -2147483647 - 1.
- 
- 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	Fix links in online manuals.
- 	* doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
- 	(Precompiled Headers): @pxref to cpp, not cpp.info.
- 
- 2003-11-16  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
- 	files in each directory and TAGS files that include them for each
- 	front end.
- 
- 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
- 	3 of S2L.
- 	(modnorm): Likewise.
- 	(exitdiv): Look at bit 3 of S2L only.
- 
- 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
- 	(DO_GLOBAL_DTORS_BODY): Likewise.
- 
- 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/install.texi (Prerequisites): Refine documentation of
- 	autoconf, automake and perl requirements.  Document required
- 	gettext version.
- 
- <2003-11-14  Jason Merrill  <jason@redhat.com>
- 
- 	* function.c (assign_parms): Use TREE_TYPE to determine the real
- 	type of the argument object.
- 
- 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
- 	iteration.
- 
- 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_move_block_from_reg):
- 	  New routine to save vararg registers on stack. Support for
- 	  -mpowerpc64 in mixed mode.
- 
- 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
- 	for MOTOROLA versus MIT syntax.  Improves readability and provides
- 	better compile-time error checking for both code paths.
- 
- 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/frv/frv-protos.h: Update for C90.
- 	* config/frv/frv.h: Likewise.
- 	* config/frv/frvbegin.c: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	(frv_adjust_field_align): Delete unused variable.
- 
- 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
- 	to each place where TARGET_LONG_DOUBLE_128 is used with
- 	DEFAULT_ABI == ABI_AIX.
- 
- 	* cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
- 	message comply with GNU standards.
- 
- 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	PR/6552
- 	* function.c (struct epi_info): New field const_equiv.
- 	(update_epilogue_consts): New function.
- 	(keep_stack_depressed): Clear new field and verify scratch register
- 	doesn't have it set.
- 	Call new function via note_stores.
- 	(handle_epilogue_set): Allow setting SP equiv reg in different mode.
- 	Allow PLUS where second operand is register known set to constant.
- 	(emit_equiv_load): Write load using proper mode if source different.
- 	* config/mips/mips.md (return_internal): Put (return) first.
- 
- 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
- 
- 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (modsi3): Don't save unused
- 	registers.
- 	(divsi3): Likewise.
- 	(reti): Don't restore unused registers.
- 
- 2003-11-14  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/fr30/fr30.c: Include toplev.h
- 
- 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
- 
- 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
- 	function definition syntax.
- 
- 2003-11-14  Eric Christopher  <echristo@redhat.com>
- 
- 	* reload1.c (reload): Revert previous patch. Make
- 	check for assignment into reg_equiv_address stricter.
- 
- 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
- 
- 	* Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
- 
- 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_in_small_data_p): Return false for unknown
- 	section names.
- 
- 2003-11-14  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/12526
- 	* tree.c (build): A CALL_EXPR has side-effects if its arguments do.
- 	* calls.c (call_expr_flags): New fn.
- 	* tree.h: Declare it.
- 
- 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (__udivsi3): Remove.
- 	(divmodsi3): Change the name to ___udivsi3.
- 	Update all callers.
- 
- 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
- 	__mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
- 	__ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
- 	__udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
- 	__fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
- 	__floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
- 	Const-ify and/or initialize automatic variables at declaration.
- 
- 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
- 	of er4 with er3.  Adjust all callers.
- 
- 2003-11-13  Andrew Pinski <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_output_possible_stub_label):
- 	Allow stub symbol be not defined when outputting possible
- 	stub label.
- 
- 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
- 	instead of exitdiv.
- 	(___umodsi3): Likewise.
- 	(exitdiv): Do not restore any register.
- 	(reti): Restore registers.
- 
- 2003-11-13  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
- 
- 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm: Fix comment typos.
- 
- 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
- 	unused registers.  Don't jump to exitdiv.
- 	(umodsi3): Likewise.
- 
- 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
- 	    Kean Johnston <jkj@sco.com>
- 
- 	PR c/13029
- 	* toplev.c (check_global_declarations): Do not warn about unused
- 	static consts.
- 
- 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
- 	    Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
- 	the approximate quotient method.
- 
- 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* combine.c (distribute_notes): When re-distributing the notes from
- 	an insn we are about to delete, ensure we can't end up with a cyclic
- 	list of notes.
- 
- 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12926
- 	* expr.c (expand_assignment) [COMPONENT_REF]: Don't put
- 	the UNCHANGING_RTX_P flag on memory references to read-only
- 	components that are not addressable.
- 
- 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
- 	DenHighNonZero.
- 
- 2003-11-13  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/12275
- 	* c-decl.c (finish_decl): Use change_decl_assembler_name.
- 	* c-pragma.c (handle_pragma_redefine_extname): Likewise.
- 	* varasm.c (make_decl_rtl): Likewise.
- 	* cgraph.c (change_decl_assembler_name): New function.
- 	* tree.h (set_decl_assembler_name): Kill dead declaration.
- 	(change_decl_assembler_name): Declare.
- 
- 	* decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
- 	* decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
- 
- 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
- 	an unused register.
- 
- 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR bootstrap/12752
- 	* config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
- 	(MULTILIB_OSDIRNAMES): Reorder accordingly.
- 
- 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rs6000-protos.h (rs6000_initial_elimination_offset): Add.
- 	(rs6000_stack_info): Remove.  (debug_stack_info): Remove.
- 	(rs6000_emit_eh_reg_restore): Add
- 	* rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
- 	of vars_size and total_size to HOST_WIDE_INT.
- 	(emit_frame_save): Change parameter size to HOST_WIDE_INT.
- 	(rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
- 	(debug_stack_info): Make static; change output format of HOST_WIDE_INT
- 	values.
- 	(rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
- 	(rs6000_initial_elimination_offset): New, with code formerly in
- 	INITIAL_ELIMINATION_OFFSET.
- 	* rs6000.h (rs6000_stack_t): Remove.
- 	(INITIAL_ELIMINATION_OFFSET): Replace code with call to function
- 	rs6000_initial_elimination_offset.
- 	* rs6000.md (UNSPECV_EH_RR split): Replace code with call to
- 	rs6000_emit_eh_reg_restore.
- 
- 2003-11-12  Mike Stump  <mrs@apple.com>
- 
- 	* c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
- 	is the argumnt we are processing so that warnings and errors
- 	will have that information.
- 	* c-tree.h (c_convert_parm_for_inlining): Add argnum.
- 	* lang-hooks-def.h
- 	(lhd_tree_inlining_convert_parm_for_inlining): Likewse.
- 	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
- 	* langhooks.h (convert_parm_for_inlining): Likewise.
- 	* tree-inline.c (initialize_inlined_parameters): Compute and
- 	pass argnum down.
- 
- 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/12953
- 	* tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
- 	before switch by FUNCTION_CODE.
- 
- 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (storehi): Avoid use of explicit subreg.
- 	(storehi_bigend, storeinthi, movhi_bigend): Likewise.
- 
- 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/sh.md (prefetch): New pattern.
- 
- 2003-11-11  Eric Christopher  <echristo@redhat.com>
- 
- 	* reload1.c (reload): Verify that addresses for
- 	reg_equiv_* are valid for the architecture.
- 
- 2003-11-11  Eric Christopher  <echristo@redhat.com>
- 
- 	* function.c (purge_addressof_1): Add libcall check.
- 	Remove test for cached replacements on fallback case.
- 	Simplify mode comparisons. Add libcall test for
- 	paradoxical subregs.
- 
- 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/t-h8300: Fix an obsolete comment.
- 
- 2003-11-11  James E Wilson  <wilson@specifixinc.com>
- 
- 	* expmed.c (store_bit_field, extract_bit_field): Revert last two
- 	changes.
- 
- 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm: Replace DenHighZero with
- 	DenHighNonZero.
- 
- 2003-11-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_function_possibly_inlined_p): Use
- 	really_no_inline.
- 
- 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
- 	generating 64-bit code.
- 
- 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
- 	accidental commit in previous change.
- 
- 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
- 	* config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
- 	address recognition.
- 	(macho_lo_sum_memory_operand): Routine to recognize macho-style
- 	address recognition.
- 
- 2003-11-10  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
- 
- 2003-11-10  Matt Austern  <austern@apple.com>
- 
- 	* config/darwin-protos.h (darwin_assemble_visibility): Declare.
- 	* config/darwin.c (darwin_assemble_visibility): Define.  Warn for
- 	anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
- 	* config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
- 	darwin_assemble_visibility instead of default.
- 
- 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
- 
- 	PR target/12865
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Call
- 	__enable_execute_stack only after writing onto the stack.
- 	(sparc64_initialize_trampoline): Likewise.
- 
- 2003-11-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* loop.c (check_dbra_loop): Try swapping the comparison operands
- 	of the loop condition to identify a suitable induction variable.
- 	* unroll.c (loop_iterations): Likewise.
- 
- 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
- 	sparc64 #cpu and #machine assertions.
- 
- 2003-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
- 
- 2003-11-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-optimize.c (tree_rest_of_compilation): Fix warning.
- 
- 	* cgraphunit.c (cgraph_expand_function): Use
- 	cgraph_possibly_inlined_p.
- 	* tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
- 
- 	* opts.c (common_handle_option): Do not set max-inline-insns.
- 	* params.def: Update comments.
- 	(PARAM_MAX_INLINE_INSNS): Kill.
- 	* invoke.texi (max-inline-insns): Kill.
- 
- 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/3190
- 	PR c/8714
- 	* c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
- 	* invoke.texi: Update.
- 
- 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR optimization/12630
- 	* pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
- 	Handle length computation 64-bit moves.
- 	(compute_clrstr_length, output_block_clear): Implement block clear.
- 	(output_block_move): Handle 64-bit moves.
- 	(pa_adjust_insn_length): Use compute_movstr_length and
- 	compute_clrstr_length.
- 	* pa.md (movstrsi): Revise operand order and comments.  Don't use
- 	match_scratch.
- 	(movstrsi_internal): Delete.
- 	(movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
- 	and peephole2 patterns to transform prereload to postreload form.
- 	(movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
- 	clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
- 	clrstrdi_postreload): New patterns for 64-bit block move, and block
- 	clear.
- 	* pa-protos.h (output_block_clear): New prototype.
- 
- 2003-11-08  Andreas Schwab  <schwab@suse.de>
- 
- 	* dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
- 	XCOFF_DEBUGGING_INFO.
- 
- 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
- 
- 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
- 	redundant parens.
- 
- 	* cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
- 	(find_file_in_dir): Likewise.
- 	(_cpp_find_file): Print message if no header file is found
- 	but an invalid PCH file was.
- 
- 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (pedantic_lvalue_warning): Deprecate compound
- 	expressions as lvalues.
- 	(internal_build_compound_expr): Remove special handling for
- 	non-pedantic case.
- 	* doc/extend.texi: Document that all extended lvalues are now
- 	deprecated.
- 
- 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 11654
- 	* dbxout.c (struct dbx_file): Do not save for PCH.
- 	(current_file): Likewise.
- 	(dbxout_init): Don't allocate struct dbx_file using GC.
- 	(dbxout_start_source_file): Likewise.
- 
- 2003-11-07  Falk Hueffner  <falk@debian.org>
- 
- 	* config/alpha/elf.h, config/alpha/unicosmk.h,
- 	config/alpha/vms.h: Convert to ISO C90.
- 
- 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/arm/pe.h: Convert to ISO C90.
- 
- 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh-protos.h (sh_pch_valid_p): Declare.
- 	* sh.c ("intl.h"): Include.
- 	(TARGET_PCH_VALID_P): Override.
- 	(sh_target_switches): New variable.
- 	(target_switches): Define.
- 	(sh_pch_valid_p): New function.
- 
- 	* sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
- 
- 2003-11-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_64_sign_extended_value):  Return false from tls variables.
- 	(x86_64_zero_extended_value):  likewise.
- 
- 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (loadgp): Take $25 as a second operand.
- 	* config/mips/mips.c (mips_expand_prologue): Modify accordingly.
- 
- 2003-11-06  Matt Austern <austern@apple.com>
- 
- 	* c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
- 	field instead of hanging an attribute object off the decl.
- 	* tree.h (DECL_VISIBLITY): New accessor macro for
- 	symbol_visibility field in struct tree_decl.
- 	(enum symbol_visibility): Move definition to before tree_decl.
- 	(struct tree_decl): Define new two-bit field, symbol_visibility.
- 	(decl_visibility): Remove declaration.
- 	* varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
- 	instead of decl_visibility.
- 	(default_binds_local_p_1):  Use DECL_VISIBILITY	instead of
- 	decl_visibility.
- 	(decl_visibility): Remove.
- 
- 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_epilogue): Recognize more cases
- 	where register 14 will be saved.
- 
- 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
- 	(USE_ALTIVEC_FOR_ARG_P): Likewise.
- 	* config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
- 	Take a pointer as the CUM parameter.  Update callers.
- 	(USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
- 	32-bit ABIs.
- 	(function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
- 	of vector parameters as named arguments of stdarg function.
- 	(function_arg): Likewise.
- 
- 	* config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
- 	-maltivec is specified, not the non-existent -faltivec.
- 
- 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_function_value): Declare.
- 	* config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
- 	(s390_return_in_memory): New function.
- 	(s390_function_value): New function.
- 	(s390_function_arg_float): Return false for all arguments larger
- 	than 8 bytes.
- 	(s390_function_arg_pass_by_reference): Likewise.  Return true for
- 	all vector arguments.
- 	(s390_function_arg_integer): New function.
- 	(s390_function_arg_advance): Call it.  Add sanity checks.
- 	(s390_function_arg): Likewise.
- 	* config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
- 	(LIBCALL_VALUE): Likewise.
- 	(RET_REG): Remove.
- 	(RETURN_IN_MEMORY): Remove.
- 
- 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_initial_elimination_offset): Change
- 	return type to HOST_WIDE_INT.
- 	* config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
- 	Make initialized a bool.  Make register masks unsigned ints.
- 	(compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
- 	where appropriate.
- 	(mips_initial_elimination_offset): Return a HOST_WIDE_INT.
- 	(mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
- 
- 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
- 	negation.
- 
- 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
- 
- 2003-11-06  Momchil Velikov  <velco@fadata.bg>
- 
- 	* config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
- 	for VR4111 too.
- 
- 2003-11-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
- 	missing casts.
- 
- 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c: Change the word "bitsize" to "precision" throughout.
- 	* machmode.def: Likewise.
- 	* machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
- 	(GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
- 	(GET_MODE_PRECISION): New macro.
- 	(mode_bitsize): Renamed mode_precision.
- 	* stor-layout.c (mode_for_size, smallest_mode_for_size):
- 	Use GET_MODE_PRECISION; clarify comments.
- 
- 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/install-old.texi: Remove old documentation of building
- 	cross-compilers.
- 	* doc/install.texi: Move some of it to here.
- 
- 2003-11-05  Per Bothner  <pbothner@apple.com>
- 
- 	PR preprocessor/12891
- 	* c-opts.c (finish_options):  Set include_cursor to disable premature
- 	calls to push_command_line_include from cpp_scan_nooutput.
- 	Fixes bug reported by DJ Delorie.
- 
- 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (setup_incoming_varargs): Remove
- 	code supporting old-style varargs.
- 
- 	* config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
- 	an intermediate register for better optimisation.
- 
- 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR optimization/10080
- 	* cfgloopanal.c (variable_initial_value, variable_initial_values,
- 	simple_loop_exit_p): Record the fact that initial value is extended
- 	from inner mode.
- 	(count_strange_loop_iterations, count_loop_iterations): Handle
- 	ivs that iterate in a narrower mode. Fix handling of overflows.
- 	Improve handling of NE conditions.
- 	(inverse, fits_in_mode_p): New static functions.
- 	(simple_increment): Detect variables that iterate in a narrower mode.
- 	* cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
- 
- 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
- 	error.
- 
- 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
- 	needs VRSAVE.
- 
- 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (pedantic_lvalue_warning): Deprecate use of
- 	conditional expressions as lvalues.
- 
- 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tsystem.h: Add the prototype of strlen.
- 	* unwind-pe.h (read_encoded_value_with_base): Add an
- 	appropriate cast to handle a case where the pointer size is
- 	smaller than sizeof (int).
- 
- 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
- 	(mips_delegitimize_address): Delete.
- 	(mips_gotoff_global, mips_load_got_page): Declare.
- 	(mips_load_got_global, mips_rewrite_small_data): Declare.
- 
- 	* config/mips/mips.h (FIND_BASE_TERM): Remove definition.
- 	(DANGEROUS_FOR_LA25_P): Use global_got_operand.
- 	(PREDICATE_CODES): Add global_got_operand, local_got_operand and
- 	small_data_pattern.  Remove CONST from const_arith_operand's entry.
- 
- 	* config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
- 	(UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
- 	(mips_constant_type): Delete.
- 	(mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
- 	SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
- 	(NUM_SYMBOL_TYPES): New macro.
- 	(mips_address_type): Remove ADDRESS_INVALID.
- 	(machine_function): Add has_gp_insn_p.
- 	(mips_constant_info): Delete.
- 	(mips_address_info): Add the address type as an extra field.  Replace
- 	the c field with symbol_type.
- 	(mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
- 	(TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
- 	(mips_reloc_offset_ok_p, mips_classify_constant): Delete.
- 	(mips_split_const, mips_symbolic_constant_p): New functions.
- 	(mips_symbolic_address_p): Take the symbol type and mode as arguments.
- 	(mips_classify_address): Return true if the address is valid, storing
- 	its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
- 	to test whether a LO_SUM address is allowed.
- 	(mips_symbol_insns): Return 0 for general mips16 symbols.
- 	Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
- 	Handle the new SYMBOL_GOTOFF_*s.
- 	(mips_address_insns): Update call to mips_classify_address.
- 	(mips_const_insns): Be more fussy about HIGH constants.  Remove use
- 	of mips_classify_constant.  Be more accurate about CONSTs.
- 	(mips_global_pic_constant_p): Delete.
- 	(const_arith_operand): Only accept CONST_INTs.
- 	(call_insn_operand): Remove call to mips_classify_constant.
- 	Let mips_symbolic_constant_p check for invalid offsets.
- 	(move_operand): Check for general_operands first.  Only accept symbolic
- 	constants if they satisfy mips_symbolic_constant_p and cannot be split.
- 	(symbolic_constant): Use mips_symbolic_constant_p.
- 	(global_got_operand, local_got_operand): New predicates.
- 	(stack_operand): Update call to mips_classify_address.
- 	(mips_legitimate_address_p): Likewise.
- 	(mips_reloc, mips_lui_reloc): Delete.
- 	(mips_force_temporary): Only use the given temporary if no_new_pseudos.
- 	Use emit_move_insn.
- 	(mips_split_symbol, mips_unspec_address): New functions.
- 	(mips_unspec_offset_high): New function.
- 	(mips_load_got): Replace reloc argument with a symbol_type.
- 	Use mips_unspec_address to create the address and put it in a
- 	LO_SUM with the base register.
- 	(mips_load_got16, mips_load_got32): Delete.
- 	(mips_emit_high, mips_legitimize_symbol): Delete.
- 	(mips_gotoff_global): New function.
- 	(mips_load_got_page, mips_load_got_global): New functions.
- 	(mips_legitimize_symbol): Inline handling of LO_SUM splits.
- 	(mips_legitimize_const_move): Likewise.  Remove HIGH handling.
- 	Inline code to handle constants plus invalid offsets.  Use
- 	mips_split_symbol to legitimize constant pool addresses.
- 	(mips_delegitimize_address): Delete.
- 	(mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
- 	a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
- 	(mips_subword): Pass memrefs through mips_rewrite_small_data.
- 	(mips_output_move): Remove use of mips_classify_constant.
- 	(mips_expand_call): Use mips_unspec_offset_high to calculate the
- 	high part of the GOT address for calls to global functions.
- 	(override_options): Initialize mips_split_p[], mips_lo_relocs[]
- 	and mips_hi_relocs[].
- 	(print_operand): Use print_operand_reloc to handle '%h' and '%R'.
- 	Remove use of mips_classify_constant.
- 	(mips_reloc_string): Delete.
- 	(print_operand_reloc): New function.
- 	(print_operand_address): Update call to mips_classify_address.
- 	(mips_rewrite_small_data_p, small_data_pattern_1): New functions.
- 	(small_data_pattern): New predicate.
- 	(mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
- 	(mips_function_has_gp_insn): New function.
- 	(mips_global_pointer): Use it.
- 	(mips_gp_insn): Delete.
- 	(mips_expand_prologue): When compiling for n32/n64 abicalls, use a
- 	single loadgp pattern to initialize $gp.  Pass it the offset of _gp
- 	from the start of the current function.
- 	(mips16_gp_pseudo_reg): Revert last patch.
- 
- 	* config/mips/mips.md (RELOC_*): Delete.
- 	(UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
- 	(got): New insn attribute.
- 	(type): Set to "load" if got == load.
- 	(length): Set to 4 if got == load, 8 if got == xgot_high.
- 	(lui[sd]i): Delete.
- 	(*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
- 	(*got_disp[sd]i, *got_page[sd]i): Likewise.
- 	(*low[sd]i): Change constraints to "d".  Add a new define_split to
- 	rewrite small data constants into LO_SUMs.
- 	(loadgp): New insns.
- 
- 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
- 
- 2003-11-04  DJ Delorie  <dj@redhat.com>
- 
- 	* config/v850/v850.md (mulhisi3): Expand the const_int case
- 	separately to avoid trying to sign extend the const.
- 
- 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
- 	addresses to be shared.
- 	(force_const_mem): Return a copy of the pool entry.
- 
- 2003-11-03  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
- 
- 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (cpp.dvi): New target split from cpp.info.
- 	(gcc.dvi):  New target split from gcc.info.
- 	(gccint.dvi): New target split from gccint.info.
- 	(cppinternals.dvi): New target split from cppinternals.info
- 	(gccinstall.info): New specific rule.
- 	(gccinstall.dvi): Likewise.
- 	(dvi): Move targets to $(docobjdir).
- 	($(docobjdir)/%.dvi): New implicit rule.
- 
- 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* doc/gty.texi (tag, desc): Say more about role of desc values in
- 	selecting between tags.
- 
- 2003-11-03  Alexander Kabaev  <ak03@gte.com>
- 
- 	* real.c (encode_ieee_single): Ensure proper promotion.
- 
- 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
- 	and Andrew Pinski.
- 
- 2003-11-03  Syd Polk  <spolk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
- 	marketing names to the list of supported processors.
- 	* config/rs6000/rs6000.h: Ditto.
- 	* doc/invoke.texi: Ditto.
- 	* config.gcc: Ditto.
- 
- 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
- 	Merge two substitutions.
- 	* fixinc/fixincl.x: Regenerate.
- 	Fixes PR bootstrap/12666.
- 
- 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/install-old.texi: Remove VMS documentation.
- 
- 2003-11-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (override_options):  Remove hack enabling 128bit long double
- 	commited by accident.
- 
- 2003-11-02  Per Bothner  <per@bothner.com>
- 
- 	* c-opts.c (needValue):  Do cpp_find_main_file before processing
- 	any imacros flags, so pfile->main_file is set for the latter.
- 
- 2003-11-03  Andreas Jaeger  <aj@suse.de>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
- 	(SYSCALLS.c.X-warn): Suppress warnings.
- 
- 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR optimization/12845
- 	* pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
- 
- 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
- 	* config/i386/i386.c (print_reg): Abort on a virtual register
- 	if code != -1; not if file == asm_out_file.
- 	* config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
- 	(DEBUG_PRINT_REG): Delete, unused.
- 
- 2003-11-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
- 	empty to avoid conflict with the definition from configure.
- 
- 2003-11-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/10817
- 	* ifcvt.c (noce_emit_move_insn): Improve documentation comment.
- 	(noce_try_move): New function to optimize an if-the-else into an
- 	unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
- 	(noce_process_if_block): Attempt simplification with noce_try_move.
- 
- 	* simplify-rtx.c (simplify_ternary_operation): Some minor fixes
- 	and improvements to the optimizations of IF_THEN_ELSE expressions.
- 	(simplify_subreg): Silence signed/unsigned comparison warning.
- 
- 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (targhooks.o, reload.o): Update dependencies.
- 	(GTFILES): Add targhooks.c.
- 	(gt-targhooks.h): New rule; depend on s-gtype.
- 	* target.h (direct_pool_load_p): New hook.
- 	* target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
- 	(TARGET_INITIALIZER): Include it.
- 	* targhooks.h (default_direct_pool_load_p): Declare.
- 	(hook_bool_machine_mode_true): Declare.
- 	* targhooks.c: Include insn-config.h, recog.h, ggc.h and
- 	gt-targhooks.h.
- 	(pool_symbol): New variable.
- 	(default_direct_pool_load_p): New function.
- 	(hook_bool_machine_mode_true): New function.
- 	* reload.c: Include target.h.
- 	(find_reloads): If an alternative will force a constant into memory,
- 	count an extra reload if constant pool symbols are not valid
- 	addresses.  If an alternative uses memory to move values between
- 	registers, count the move as two reloads rather than one.
- 	* config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
- 	* doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
- 
- 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12799
- 	* postreload.c (reload_cse_move2add): Generate the add2
- 	patterns manually.
- 
- 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
- 	Return 0 for all complex modes whose size is lesser or equal to
- 	a word.  Add a ??? comment for the condition used with 16-byte
- 	aligned modes.
- 
- 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* .cvsignore: Remove c-parse* and tradcif.c.
- 	* objc/.cvsignore: Delete.
- 
- 2003-11-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
- 	of NULL.
- 
- 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
- 
- 	* libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
- 
- 	* collect2.c (scan_libraries): Fix typos.
- 
- 	PR preprocessor/12847
- 	* cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
- 	cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
- 	c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
- 	DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
- 	"CPP_".
- 
- 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
- 	no_units calculation.
- 
- 2003-11-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
- 	enumeration list.
- 
- 2003-11-01  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
- 	prototypes.
- 	(SBSS_SECTION_FUNCTION): Likewise.
- 
- 2003-11-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
- 
- 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
- 	prototypes.
- 
- 2003-11-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
- 	(uw_frame_state_for): Constify variables.
- 	(extract_cie_info): Constify first argument.
- 
- 	* unwind-dw2-fde-darwin.c: Adjust prototype of
- 	_Unwind_Find_registered_FDE for recent changes.
- 	(examine_objects): Constify return value and local variable result.
- 	(_Unwind_Find_FDE): Constify return value and local variable ret.
- 
- 2003-10-31  Per Bothner  <pbothner@apple.com>
- 
- 	* c-opts.c (finish_options):  Change to returns boolean - false iff
- 	the call to cpp_find_main_file fails.
- 	(c_common_init):  Skip preprocess_file if finish_options failed.
- 	(c_common_parse_file):  Break if finish_options failed.
- 	Fixes PR preprocessor/12545.
- 
- 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* aclocal.m4: Blacklist ultrix* for mmap file.
- 	* configure: Rebuilt.
- 
- 	* function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
- 	reg_parm_stack_space.
- 	* toplev.c (default_get_pch_validity): Fix warning.
- 
- 	* vax.c: Include toplev.h.
- 	(vax_init_libfuncs): Fix typo (umod).
- 	* vax.h (ASM_COMMENT_START): Define.
- 	(PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
- 
- 2003-10-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11968
- 	* expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
- 	confusing comment; distributivity isn't handled in expand_expr.
- 	* fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
- 	in distributivity, if wrap-around semantics are specified with
- 	-fwrapv.
- 
- 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR 12315
- 	* final.c (profile_function): Allow for NULL svrtx.
- 
- 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_select_section): Use new style declaration.
- 	* som.h (readonly_data): Likewise.
- 
- 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/rs6000/rs6000.c: Update to C90 prototypes.
- 
- 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/7513
- 	* arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
- 	code.
- 
- 2003-10-31  Andreas Jaeger  <aj@suse.de>,
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 
- 	* crtstuff.c (__register_frame_info, __register_frame_info_bases)
- 	(__deregister_frame_info, __deregister_frame_info_bases):
- 	Constify void * argument.
- 	* unwind-dw2-fde.h (struct fde_vector):
- 	Constify 'orig_data' and 'array' fields.
- 	(__register_frame_info, __register_frame_info_bases)
- 	(__deregister_frame_info, __deregister_frame_info_bases):
- 	Constify void * argument.
- 	(get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
- 	return values, and casts of type fde *, struct dwarf_fde *,
- 	and struct dwarf_cie *.
- 	* unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
- 	(__deregister_frame_info, __deregister_frame_info_bases):
- 	Constify void * argument.
- 	(get_cie_encoding, ): Constify struct dwarf_cie * argument.
- 	(get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
- 	(fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
- 	fde_split, SWAP, frame_downheap, frame_heapsort)
- 	(classify_object_over_fdes, add_fdes, linear_search_fdes,
- 	binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
- 	binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
- 	Constify arguments, local variables, return values, and casts
- 	of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
- 	Use const pointer types in sizeof expressions, for clarity.
- 	* unwind-dw2-fde-glibc.c
- 	(_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
- 	(struct unw_eh_callback_data): Constify 'ret' field.
- 
- 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
- 	(function_arg): Call it.
- 	(rs6000_function_value): Widen integral return value to mode based
- 	on TARGET_32BIT, not word_mode.
- 	* config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
- 	(UNITS_PER_ARG): New.
- 	(RS6000_ARG_SIZE): Use it.
- 
- 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
- 	and gengtype-yacc.h.
- 
- 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR optimization/8896
- 	* postreload.c (reload_combine): Check that REGY doesn't die in an
- 	insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
- 
- 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/10239
- 	* cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
- 
- 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/11640
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Move jump
- 	immediatelly before BARRIER.
- 
- 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
- 
- 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/11271
- 	* reload.c (find_reloads_address): Handle any register in
- 	(PLUS (PLUS (REG) (REG)) (CONST_INT).
- 
- 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
- 	ENABLE_GC_CHECKING not in GGC_POISON.
- 
- 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR bootstrap/9863
- 	* configure.in: Bail out if awk is missing.
- 	* configure: Regenerate.
- 
- 	PR ada/12761
- 	* Makefile.in: Move default definitions of X_ADA_CFLAGS,
- 	T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
- 
- 2003-10-30  Richard Henderson  <rth@redhat.com>
- 
- 	* c-objc-common.c (c_tree_printer): Handle types correctly.
- 	Factor code a bit.
- 
- 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
- 
- 	* value-prof.c, web.c: Update to C90.
- 
- 2003-10-30  Eric Christopher  <echristo@redhat.com>
- 
- 	* function.c (purge_addressof_1): Add case for REG_RETVAL
- 	notes when modes are unequal.
- 
- 2003-10-31  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-modes.def: Add XFmode format adjustment.
- 
- 2003-10-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* real.c (encode_ieee_extended): Back out previous patch.
- 
- 2003-10-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* real.c (encode_ieee_extended): Initialize whole array.
- 	* reg-stack.c (move_for_stack_reg0: Use always XFmode.
- 	* i386-modes.def: Change definitions of TFmode and XFmode.
- 	* i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
- 	code.
- 	(construct_container): Allow constructing of TFmode integer containers.
- 	(ix86_return_in_memory):  XFmode is not returned in memory.
- 	(init_ext_80387_constants): Always use XFmode.
- 	(print_operand): Likewise.
- 	(ix86_prepare_fp_compare_regs): Likewise.
- 	(split_to_parts): Deal with TFmode.
- 	(split_long_move): Simplify.
- 	(ix86_init_mmx_sse_builtins): Add __float80, __float128.
- 	(ix86_memory_move_cost): Do not confuse TFmode.
- 	* i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
- 	(IS_STACK_MODE): TFmode is not stack mode.
- 	(HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
- 	(VALID_SSE_REG_MODE): Allow TFmode.
- 	(VALID_FP_MODE_P): Disallow TFmode.
- 	(VALID_INT_MODE_P): Allow TFmode in 64bit mode.
- 	* i386.md (TFmode patterns): Kill.
- 	(movtf, motf_rex64): New patterns.
- 
- 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
- 
- 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
- 	(mov_lwr, mov_swl, mov_swr): Likewise.
- 	(mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
- 
- 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_global_pointer): Don't try to use $25.
- 
- 2003-10-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.c (mips_build_builtin_va_list): Use runtime
- 	test for irix6 rather than preprocessor test.
- 
- 2003-10-30  Richard Henderson  <rth@redhat.com>
- 
- 	* cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
- 
- 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (struct machine_function): Use save_return_addr_p
- 	as a general flag that the return address register needs to be saved,
- 	not necessarily because of __builtin_return_addr (0).
- 	(s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
- 	remove special handling of zSeries machines.
- 	(s390_optimize_prolog): Remove TEMP_USED argument, treat the return
- 	register as a regular register on zSeries machines.
- 	(s390_reorg): Adjust calls to s390_split_branches and
- 	s390_optimize_prolog.
- 	(s390_frame_info): On zSeries machines, do not assume the return
- 	register is always used.  Update regs_ever_live with current data
- 	for the special registers.
- 	(s390_emit_epilogue): Use save_return_addr_p to determine whether
- 	the return register was saved.
- 	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
- 	RETURN_REGNUM fixed on zSeries machines.
- 	(REG_ALLOC_ORDER): Use RETURN_REGNUM last.
- 	* config/s390/s390.md ("*doloop_si"): Handle branch overflow
- 	via ahi-jgne pair on zSeries machines.
- 	("*doloop_di"): Likewise.
- 	("*doloop_di_long"): Remove.
- 
- 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_override_options): Revert change of arm_constant_limit
- 	when optimizing for size.
- 
- 2003-10-29  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (fold_single_bit_test): Convert the input to the
- 	operational intermediate type.
- 
- 2003-10-29  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_build_builtin_va_list): New.
- 	* expr.h (std_build_builtin_va_list): Declare.
- 	* defaults.h (BUILD_VA_LIST_TYPE): New.
- 	* system.h (BUILD_VA_LIST_TYPE): Poison.
- 	* target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
- 	* target.h (struct gcc_target): Add build_builtin_va_list.
- 	* tree.c (build_common_tree_nodes_2): Use it.
- 
- 	* config/alpha/alpha-protos.h, config/alpha/alpha.c,
- 	config/alpha/alpha.h, config/alpha/unicosmk.h,
- 	config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
- 	config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
- 	config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
- 	config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
- 	config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
- 	config/mips/mips.h, config/rs6000/rs6000-protos.h,
- 	config/rs6000/rs6000.c, config/rs6000/rs6000.h,
- 	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
- 	config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
- 	config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
- 	config/xtensa/xtensa.h: Rename foo_build_va_list to
- 	foo_build_builtin_va_list; make it static.  Define
- 	TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
- 	Update protos.
- 
- 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
- 	* config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
- 
- 2003-10-29  James E Wilson  <wilson@specifixinc.com>
- 
- 	* recog.c (asm_operand_ok): Add missing break after case 'X'.
- 	Change if statements to else if statements in default case.
- 	(extract_constrain_insn_cached): Fix misspelling of constrain_operands
- 	in comment.
- 	(constrain_operands_cached): Likewise.
- 	(constrain_operands): Change if statements to else if statements in
- 	default case.
- 	* reload.c (find_reloads): Likewise.
- 
- 2003-10-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m68k/m68k.c (notice_update_cc): Clear cc status for
- 	shifts and rotates.
- 
- 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: Remove duplicate pattern.
- 
- 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* real.c (do_divide): Initialize result with a 0.
- 
- 	* configure.in <enable-checking for valgrind>: Look for
- 	<valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
- 	if it exists.
- 	* configure, config.in: Regenerate.
- 	* ggc-common.c [ENABLE_VALGRIND_CHECKING &&
- 	HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
- 	#elif for other alternatives.
- 	* ggc-page.c: Ditto.
- 	* ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
- 	include structure from ggc-common.c.
- 
- 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
- 	* pa.c (pa_adjust_insn_length): Check for btable branches using
- 	attribute TYPE_BTABLE_BRANCH.
- 	(pa_reorg): Simplify.
- 	* pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): As above.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): As above.
- 	* pa.md (btable_branch): New instruction type.
- 	(in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
- 	btable branches.
- 	(define_delay): Add btable branches to insn types that may have an
- 	insn in the delay position.
- 	(Z2, Z3): Add btable branch to list.
- 	Simplify unamed pattern set copy pic_label_operand to register.  Add
- 	PA 2.0 variant.
- 	(short_jump): New jump for use in branch tables.
- 	(casesi, casesi0): Revise for new branch table formats.
- 	(casesi32, casesi32p, casesi64p): New casesi patterns.
- 	(indirect_jump): Move.
- 
- 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
- 	!TARGET_POWERPC64.
- 	(UNITS_PER_GPR_WORD): Delete.
- 	(HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
- 	(HARD_REGNO_MODE_OK): Same.
- 	(CLASS_MAX_NREGS): Same.
- 
- 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (ASM_COMMENT_START): Define.
- 
- 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
- 	MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
- 	component, not zero.
- 
- 2003-10-29  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
- 
- 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
- 	Never return 1 for complex integral modes whose size is lesser or
- 	equal to a word.
- 	(function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
- 	in the comment.
- 	(function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
- 	modes.
- 	(sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
- 	greater than 16 bytes by reference.
- 
- 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
- 	not TARGET_ILP32.
- 	(ia64_initialize_trampoline): Use globalize_label target call.
- 
- 2003-10-29  Andreas Schwab  <schwab@suse.de>
- 
- 	* doc/install.texi (Building): Add a sentence about building Ada
- 	for a canadian cross.
- 
- 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (cmptf_libfunc): New static.
- 	(ia64_expand_compare): Add logic to open-code calls to
- 	_U_Qfcmp for TFmode comparisons.
- 	(ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
- 	Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
- 	never be generated anymore.
- 	* config/ia64/ia64.md (cmptf): New expander.
- 
- 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
- 	(*sqrt_approx): New instruction pattern for approximate square roots.
- 	(*setf_exp_xf): New instruction pattern for exponentiation.
- 	(*maddxf4_alts_truncsf): New instruction pattern for truncation.
- 	(sqrtsf2_internal_thr): New define_and_split implementing
- 	throughput-optimized inline calculation of SFmode square root.
- 	(sqrtdf2_internal_thr): Likewise for DFmode.
- 	(sqrtxf2_internal_thr): Likewise for XFmode.
- 	(sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
- 	latency- and throughput-optimized square root algorithms.
- 	* ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
- 	TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
- 	New macros.
- 	(TARGET_SWITCHES): Add -minline-sqrt-min-latency and
- 	-minline-sqrt-max-throughput.
- 	* ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
- 	and -minline-sqrt-max-throughput are given, notify the user
- 	that both options cannot be used simultaneously.
- 	If -minline-sqrt-min-latency is given, notify the user that
- 	this mode is not yet implemented.
- 	(rtx_needs_barrier): Reformat initial comment to obey
- 	72-character width limit.  Support UNSPEC_SETF_EXP and
- 	UNSPEC_FR_SQRT_RECIP_APPROX.
- 
- 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
- 	moves.
- 
- 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR target/11598
- 	PR libgcj/10610
- 	* config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
- 
- 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_output_epilogue): When using a frame pointer, don't emit
- 	an extra stack adjustment insn if the stack pointer is already
- 	pointing at the right place.
- 	(use_return_insn): Allow a return insn to be used when we have a
- 	frame pointer if the stack pointer is in the right place.
- 	(output_return_instruction): Handle it.
- 
- 2003-10-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* ggc-zone.c (check_cookies): Add missing variable.
- 	Add void to prototypes.
- 
- 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
- 	* crtstuff.c (__do_global_ctors_1): Move prototype.
- 	* unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
- 	appropriate.
- 	* unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
- 	Mark parameter with __attribute__((unused)).
- 
- 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (pushdecl): Clarify comment.
- 
- 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
- 
- 	* doc/install.texi: Update instructions for Ada cross builds
- 
- 	PR ada/5909:
- 	* doc/sourcebuild.texi: Document Ada test suite.
- 
- 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c: Convert to ISO C90.
- 	* config/m68hc11/m68hc11-protos.h: Likewise.
- 
- 2003-10-27  Jan Hubicka  <jh@suse.cz>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* toplev.c (enum dump_file_index, dump_file): Fix ordering of
- 	webizer pass dump.
- 
- 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
- 	    Jan Hubicka  <jh@suse.cz>
- 
- 	* reload1.c (struct elim_table): Change offset, initial_offset and
- 	previous_offset fields to HOST_WIDE_INT.
- 	(offsets_at): Change from int to HOST_WIDE_INT.
- 	(reload): Adjust offsets_at initialization.
- 	(eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
- 	(verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
- 	* config/i386/i386.c (ix86_compute_frame_layout): Change offset type
- 	to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
- 	if TARGET_64BIT.
- 	(pro_epilogue_adjust_stack): New function.
- 	(ix86_expand_prologue, ix86_expand_epilogue): Use it.
- 	* config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
- 	(pro_epilogue_adjust_stack_1): Remove * in front of name.
- 	(pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
- 	(pro_epilogue_adjust_stack_rex64_2): New insn.
- 
- 	* config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
- 
- 	* config/i386/i386.c (ix86_expand_call): Replace 40 with
- 	FIRST_REX_INT_REG + 3 /* R11 */.
- 
- 2003-10-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (attr cannot_copy): New.
- 	(call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
- 	prologue_ldgp_er_2, prologue_ldgp_1): Set it.
- 	* config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
- 
- 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* ggc-zone.c:  New file, zone allocating collector.
- 	* configure: Accept zone option for --with-gc
- 	* configure.in: Ditto.
- 	* ggc.h (ggc_pch_count_object): Pass bool indicating
- 	stringiness. Update all callers.
- 	(ggc_pch_alloc_object): Ditto.
- 	(ggc_pch_write_object): Ditto.
- 	(ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
- 	type.
- 	(ggc_alloc_rtvec): Ditto.
- 	(ggc_alloc_tree): Use zone allocation, since some things using this macro
- 	aren't a single typecode.
- 	* ggc-none.c (ggc_alloc_typed): New function.
- 	(ggc_alloc_zone): Ditto.
- 	* ggc-page.c: Ditto on both functions.
- 
- 2003-10-26  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
- 	frame information is always valid.
- 	(m68k_output_function_prologue): Remove superfluous TARGET_68881
- 	test; fix formatting.
- 
- 2003-10-26  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
- 	reg_rev_mask computation.
- 	(m68k_output_function_prologue): Fix usage of current_frame (one typo
- 	and one missing); use reg_rev_mask not reg_mask.
- 	(m68k_output_function_epilogue): Fix usage of current_frame;
- 	use fpu_rev_mask not fpu_mask.
- 
- 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
- 	num_saved_regs, use current_frame.reg_no instead.
- 
- 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
- 	    Paul Dale  <pauli@snapgear.com>
- 
- 	* doc/extend.texi (interrupt_handler): Add m68k to the
- 	list of processors implementing it.
- 	* doc/invoke.texi (-msep-data): Document new m68k option.
- 	(-mno-sep-data): Likewise.
- 	(-mid-shared-library): Likewise.
- 	(-mno-id-shared-library): Likewise.
- 	(-mshared-library-id): Likewise.
- 
- 2003-10-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
- 	comparison.
- 	(_Unwind_SetGR): Likewise.
- 
- 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
- 
- 	PR target/12690
- 	* config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
- 
- 2003-10-26  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Move front
- 	comment from here to...
- 	(m68k_save_reg): ...here. Fix comment formatting.
- 	(m68k_output_function_prologue): Fix comment formatting.
- 	(m68k_output_function_epilogue): Likewise.
- 	(const_method): Likewise.
- 
- 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* toplev.c (default_get_pch_validity): Guard the use of
- 	target_options with #ifdef TARGET_OPTIONS.
- 	(default_pch_valid_p): Likewise.
- 
- 2003-10-26  Andreas Jaeger  <aj@suse.de>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 	    Andreas Tobler <toa@pop.agri.ch>
- 
- 	* dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
- 	(output_die): Likewise.
- 	(print_die): Likewise.
- 
- 2003-10-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
- 	dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
- 	dwarf2out.c change.
- 
- 	* toplev.c (default_pch_valid_p): Fix warning.
- 
- 2003-10-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
- 	RTL nodes.  If an operator's operands are unchanged, return the
- 	original argument unchanged.
- 
- 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
- 
- 	Fix bootstrap failure.
- 	* expmed.c (store_bit_field): Don't compare bitsize against
- 	modes with zero bit-size.
- 
- 	(extract_bit_field): Likewise
- 
- 2003-10-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
- 	(cfa_loc): Likewise.
- 	(reg_save, stack_adjust_offset, queue_reg_save): Replace long by
- 	HOST_WIDE_INT.
- 	(args_size, old_args_size): change type to HOST_WIDE_INT.
- 	(dwarf2out_def_cfa, dwarf2out_args_size,
- 	dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
- 	(dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
- 	(add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
- 	AT_offset): Use HOST_WIDE_INT.
- 	(based_loc_descr): offset is HOST_WIDE_INT.
- 	(add_data_member): Likewise.
- 	(add_const_value_attribute): Simplify.
- 
- 2003-10-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_eax_live_at_start_p): New.
- 	(ix86_expand_prologue): Save and restore eax around stack probe
- 	if it's live.
- 
- 2003-10-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
- 
- 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/12712
- 	* reg-stack.c (convert_regs_1): Create an arbitrary input stack
- 	if the block has no predecessors.
- 	(convert_regs_2): Document the problem with successors whose
- 	only predecessor is the block to be processed.
- 	(convert_regs): Don't create the arbitrary input stack here.
- 
- 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c (struct mode_data): Add contained and next_cont
- 	fields.
- 	(complete_mode): Maintain linked list of modes that have a
- 	given component.
- 	(emit_mode_unit_size): Delete.
- 	(emit_mode_nunits): New.
- 	(emit_insn_modes_c): Update to match.
- 	(emit_mode_adjustments): Propagate size and alignment
- 	adjustments from component modes to their containers.
- 	* machmode.h (mode_unit_size): Delete.
- 	(mode_nunits): New.
- 	(GET_MODE_NUNITS): Just return the value in the table.
- 	(GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
- 	GET_MODE_SIZE.
- 	* expmed.c (store_bit_field, extract_bit_field): Can use a
- 	plain move instruction if bitsize >= GET_MODE_BITSIZE of
- 	destination/source mode, respectively.
- 	* varasm.c (assemble_real): Write out the full size of the
- 	constant, not just its bitsize.
- 	(output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
- 
- 	* config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
- 	Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
- 	alignment of XF and TF modes in compliance with ia64 ABIs.
- 	Can now hardwire the format of both modes.
- 	* config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
- 	(general_tfmode_operand, destination_tfmode_operand)
- 	(tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
- 	general_xfmode_operand, destination_xfmode_operand,
- 	xfreg_or_fp01_operand, spill_xfmode_operand respectively.
- 	(ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
- 	and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
- 	not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
- 	__float128.
- 	* config/ia64/ia64.h: Default TARGET_HPUX to 0.
- 	Change TFmode to XFmode wherever appropriate.  Remove all
- 	references to INTEL_EXTENDED_IEEE_FORMAT.
- 	(LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
- 	(PREDICATE_CODES): Update to match function renames.
- 	* config/ia64/ia64.md: Change TF to XF throughout; rename all
- 	patterns to match.  Remove all references to
- 	INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
- 	function renames.
- 	* config/ia64/ia64-protos.c: Update all prototypes to match
- 	renamed functions.
- 	* config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
- 	Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
- 	* config/ia64/lib1funcs.asm: Add __divxf3 as new name for
- 	__divtf3; keep old name for backward compatibility.
- 	(L__compat): New section providing forwarding stubs for
- 	__fixtfti, __fixunstfti, __floattitf.
- 	* config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
- 
- 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 10757
- 	* c-pch.c: Include target.h.  Improve comments.
- 	(struct c_pch_validity): Add target_data_length.
- 	(pch_init): Add target's validity data.
- 	(c_common_valid_pch): Check target's validity data.
- 	* target-def.h (TARGET_GET_PCH_VALIDITY): New.
- 	(TARGET_PCH_VALID_P): New.
- 	(TARGET_INITIALIZER): Add new fields.
- 	* target.h: Include tm.h.
- 	(struct gcc_target): Add get_pch_validity, pch_valid_p.
- 	* toplev.h (default_get_pch_validity): New prototype.
- 	(default_pch_valid_p): New prototype.
- 	* toplev.c (default_get_pch_validity): New routine.
- 	(default_pch_valid_p): New routine.
- 	* Makefile.in (TARGET_H): Add TM_H.  Replace all users of
- 	target.h with $(TARGET_H).
- 	(c-pch.o): Add TARGET_H.
- 	* doc/tm.texi (PCH Target): New node.
- 	(TARGET_GET_PCH_VALIDITY): Document.
- 	(TARGET_PCH_VALID_P): Document.
- 
- 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
- 	and $(docdir)/include from any *.texi dependencies.
- 	($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
- 	($(docobjdir)/%.1): Depend on .pod instead of .texi.
- 	($(docobjdir)/%.7): Likewise.
- 	(%.pod): New implicit rule.
- 	(cpp.pod): New dependency only rule.
- 	(gcc.pod): New intermediate rule with dependencies and commands.
- 	(gfdl.pod): Likewise.
- 	(fsf-funding.pod): Likewise.
- 
- 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
- 	related code.
- 	* fixinc/fixinc.ptx: Remove.
- 	* fixinc/fixinc.svr4: Remove.
- 
- 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (load_multiple_operation): Allow both SImode
- 	and DImode if word_mode is DImode.
- 	(store_multiple_operation): Likewise.
- 	* config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
- 	("*load_multiple_di"): Allow only if word_mode == DImode.
- 	("movqi"): Use LLGC whenever TARGET_ZARCH.
- 	("fix_truncdfsi2"): Fix incorrect temporary size.
- 	("fix_truncsfsi2"): Likewise.
- 	("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
- 	string for function return value operand.
- 	("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
- 
- 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-parse.in (array_declarator): Use expr_no_commas.
- 	Fixes PR c/11943.
- 
- 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
- 	associated includes in #ifndef inhibit_libc.
- 
- 2003-10-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/libgcc.texi: Document some more of the libgcc API.
- 
- 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
- 	comparing a constant with small negative numbers and add costing
- 	for constants in conjunction with AND.
- 	(note_invalid_constants): Tidy previous change.
- 	(thumb_cmp_operand): Tidy.
- 	(thumb_cmpneg_operand): New function.
- 	* arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
- 	for size.
- 	(FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
- 	(PREDICATE_CODES): Add thumb_cmpneg_operand.
- 	* arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
- 	with a negative constant.
- 	(cbranchsi4_insn): Matcher for cbranchsi4.
- 	(cbranchsi4_scratch): Similar, but a scratch is available for
- 	handling negative constants.
- 	(movsi_cbranchsi4): New pattern.
- 	(tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
- 	and use the TST instruction.
- 	(andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
- 	(addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
- 	cannot see high regs or memory alternatives.
- 	(bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
- 
- 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (note_invalid_constants): Try to extract the constant
- 	pool value using avoid_constant_pool_reference; only use
- 	get_pool_constant if that returns the original reference.
- 
- 2003-10-24  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c++/12624
- 	* varasm.c (notice_global_symbol): Disqualify global registers.
- 
- 2003-10-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11414
- 	* loop.c (load_mems): Use redirect_jump to forward jumps from
- 	the original loop end label to the new "loop sink" block's label.
- 
- 2003-10-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/12705
- 	* optabs.c (expand_binop): When expanding complex operations
- 	inline, always calculate result into a new temporary register.
- 	Minor code clean-ups.
- 
- 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* objc/lang-specs.h: Handle -print-objc-runtime-info.
- 	* doc/invoke.texi (Objective-C Dialect Options): Document it.
- 
- 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.asm: Add copyright notice. Add comment
- 	on why this code is needed.
- 
- 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/clzhi2.c: Fix warnings.
- 	* config/h8300/ctzhi2.c: Likewise.
- 	* config/h8300/fixunssfsi.c: Likewise.
- 	* config/h8300/parityhi2.c: Likewise.
- 	* config/h8300/popcounthi2.c: Likewise.
- 
- 2003-10-23  James E Wilson  <wilson@specifixinc.com>
- 
- 	* gcc.c (option_map): Delete --target and --use-version.
- 
- 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
- 	TARGET_POWREPC64.
- 	(UNITS_PER_GPR_WORD): Define.
- 	(HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
- 	(HARD_REGNO_CALL_PART_CLOBBERED): Define.
- 	(HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
- 	(CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
- 	* config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
- 	DFmode and DImode in 32-bit ABI / 64-bit computation mode.
- 	(rs6000_emit_prologue): Select reg_mode and reg_size using
- 	TARGET_32BIT, not TARGET_POWERPC64.
- 	(rs6000_function_value): Generate PARALLEL for DImode in 32-bit
- 	ABI / 64-bit computation mode
- 
- 2003-10-22  Andrew Haley  <aph@redhat.com>
- 
- 	* toplev.c (output_file_directive): Allow for null input_name.
- 
- 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
- 
- 	* config/i386/i386.c (classify_argument): Handle SET_TYPE.
- 
- 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* configure.in: In --enable-generated-files-in-srcdir option
- 	handling, fix default case handling.
- 	* configure: Regenerate.
- 
- 2003-10-22  Phil Edwards  <phil@codesourcery.com>
- 
- 	* config.gcc:  Update *-*-vxworks* generic hook and comments.
- 	(arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
- 	mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
- 	* genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
- 	* config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
- 	* config/windiss.h:  New file.
- 	* config/arm/t-vxworks:  New file.
- 	* config/arm/vxworks.h:  New file.
- 	* config/i386/t-vxworks:  New file.
- 	* config/i386/vxworks.h:  New file.
- 	* config/mips/t-vxworks:  New file.
- 	* config/mips/vxworks.h:  New file.
- 	* config/mips/windiss.h:  New file.
- 	* config/sh/t-vxworks:  New file.
- 	* config/sh/vxworks.h:  New file.
- 
- 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
- 	(h8300_saveall_function_p): New.
- 	(h8300_insert_attributes): Insert the saveall attribute if
- 	#pragma saveall is specified.
- 	(h8300_attribute_table): Add saveall.
- 	(TARGET_ASM_FUNCTION_EPILOGUE): Remove.
- 	* doc/extend.texi: Mention the saveall attribute.
- 
- 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
- 	deprecation of casts as lvalues.
- 	* fixinc/inclhack.def (obstack_lvalue_cast): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/obstack.h: New test.
- 
- 2003-10-22  Andreas Schwab  <schwab@suse.de>
- 
- 	PR target/12676
- 	* config/m68k/m68k.c (output_addsi3): Fix range check to work on
- 	LP64 platforms.
- 
- 2003-10-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
- 	presence of DW_AT_inline.
- 	(gen_subprogram_die): Likewise; do not abort instead of emitting
- 	DW_AT_not_inline.
- 
- 2003-10-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
- 	global info is not ready.
- 
- 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
- 
- 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
- 	("*movstr_short"): ... into this insn pattern.
- 	("movstr_short"): New expander.
- 	("*movstr_long_64"): Rename from "movstr_long_64", simplify.
- 	("*movstr_long_31"): Rename from "movstr_long_31", simplify.
- 	("movstr_long"): New expander.
- 	("clrstr_short_64", "clrstr_short_31"): Merge ...
- 	("*clrstr_short"): ... into this insn pattern.
- 	("clrstr_short"): New expander.
- 	("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
- 	("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
- 	("clrstr_long"): New expander.
- 	("cmpmem_short_64", "cmpmem_short_31"): Merge ...
- 	("*cmpmem_short"): ... into this insn pattern.
- 	("cmpmem_short"): New expander.
- 	("*cmpmem_long_64"): Rename from "cmpmem_long_64".
- 	("*cmpmem_long_31"): Rename from "cmpmem_long_31".
- 	("cmpmem_long"): New expander.
- 	* config/s390/s390.c (s390_expand_movstr): Use new expanders.
- 	(s390_expand_clrstr): Likewise.
- 	(s390_expand_cmpmem): Likewise.
- 
- 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-pch.c (struct c_pch_validity): Add pch_init field.
- 	(pch_init): Set it.
- 	(c_common_valid_pch): Check it.
- 
- 2003-10-22  David Taylor <dtaylor@emc.com>
- 
- 	PR debug/12500
- 	* dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
- 
- 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
- 	alpha_return_in_memory if no VALTYPE specified.
- 
- 2003-10-22  Jan Hubicka  <jh@suse.cz>
- 
- 	PR debug/12389
- 	* Makefile.in (dwarf2out.o): Depend on cgraph.h.
- 	* cgraph.c (cgraph_function_possibly_inlined_p): New function.
- 	* cgraph.h (cgraph_function_possibly_inlined_p): Declare.
- 	(cgraph_global_info): Add flag inlined
- 	* dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
- 	cgraph_function_possibly_inded_p
- 	* cgraphunit.c (mark_inline): Set inlined flag.
- 	* toplev.c (rest_of_decl_compilation): Call outlining_inline_function
- 	only for possibly inlined functions.
- 	* c-decl.c (duplicate_decls): Never output abstract DIE representing old
- 	body of function.
- 
- 2003-10-22  Andrew Haley  <aph@redhat.com>
- 
- 	* varasm.c (output_constructor): Make constructor annotation
- 	conditional on ASM_COMMENT_START.
- 
- 2003-10-21  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
- 	(get_narrower): Likewise.
- 
- 	* stor-layout.c (layout_decl): Do packed field alignment for
- 	bit-fields, too.
- 
- 2003-10-21  Eric Christopher  <echristo@redhat.com>
- 
- 	* expr.c (convert_move): Use FLOAT_EXTEND for extensions.
- 
- 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-pch.c: Add comments in various places.
- 	(struct c_pch_validity): Add the lengths of various strings.
- 	(host_machine): New static.
- 	(target_machine): New static.
- 	(get_ident): Bump version number.
- 	(pch_init): Write out version, host, target validity data.
- 	(c_common_valid_pch): Check version, host, target.
- 	* Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
- 	TARGET_MACHINE.
- 
- 2003-10-21  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (IS_EXPR_CODE_CLASS): Use strchr.
- 	(EXPR_P): New macro.
- 
- 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
- 	* config/ia64/ia64.c (ia64_expand_fetch_and_op,
- 	ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
- 	DImode.   Use convert_move to load ar.ccv.
- 	(ia64_expand_compare_and_swap): Likewise.
- 	If expand_expr doesn't put 'old' and 'new' in the proper
- 	modes, run them through convert_to_mode.
- 
- 2003-10-21  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
- 	for too large bitfields.
- 
- 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
- 
- 2003-10-21  Andrew Haley  <aph@redhat.com>
- 
- 	* varasm.c (output_constructor): Annotate constructor.
- 
- 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
- 	on existence of destination file.
- 
- 2003-10-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* haifa-sched.c (choose_ready): Initialize index.
- 
- 2003-10-21  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (build1): Fix off-by-one error.
- 
- 2003-10-21  Robert Millan  <robertmh@gnu.org>
- 
- 	* config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
- 	* config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
- 	* config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
- 	* config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
- 
- 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* web.c: Fix various comments.
- 
- 2003-10-20  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/arm.c (arm_override_options): Set arm_constant_limit
- 	to 2 instead of 1 when optimize_size is true.  Gather code based on
- 	optimize_size together.  Add comment about XScale load latency.
- 
- 2003-10-21  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Remove
- 	obsolete comments.
- 
- 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Get parsedir and docobjdir from configure.
- 	* configure.in: Recogonize --enable-generated-files-in-srcdir.
- 	Pass along parsedir and docobjdir.
- 	* configure: Regenerate.
- 	* doc/install.texi: Document --enable-generated-files-in-srcdir.
- 
- 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Define $(docdir) before the Make-lang.in fragments are
- 	included.
- 
- 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.c (expand_tree_builtin): Ensure creal and cimag
- 	functions do not return lvalues.
- 
- 2003-10-20  Jason Merrill  <jason@redhat.com>
- 
- 	PR c/12553
- 	* tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
- 	appropriately.
- 
- 	PR c/11446
- 	* stor-layout.c (layout_decl): Fix alignment handling.
- 
- 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/extend.texi: Deprecate casts as lvalues.
- 
- 2003-10-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Fix webizer pass ordering.
- 
- 	* cgraphunit.c (decide_is_function_needed):  Fix test dealing
- 	with functions implicitly made inline.
- 
- 	* cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
- 	(cgraph_finalize_function): Use it.
- 	(cgraph_mark_inline): Allow incrmental decisions
- 	* invoke.texi (max-inline-slope, min-inline-insns): Kill.
- 	* params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
- 	* tree-inline.c (limits_allow_inlining): Kill.
- 	(expand_call_inline): Always use unit-at-a-time path.
- 
- 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* fixinc/inclhack.def (hpux11_snprintf): New edit.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
- 
- 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (install-info): Simplify.
- 	($(DESTDIR)$(infodir)/%.info): New rule.
- 	* configure.in (target_list): Remove install-info.
- 	* doc/.cvsignore (gcc.info*): Remove.
- 	(gccint.info*): Likewise.
- 	(gccinstall.info*): Likewise.
- 	(cpp.info*): Likewise.
- 	(cppinternals.info*): Likewise.
- 	(*.info*): Add it.
- 	* doc/sourcebuild.texi: Update description of install-info.
- 	* objc/Make-lang.in (objc.install-info): Remove.
- 
- 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
- 	Use it in _MIPS_SIM definition.
- 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
- 
- 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/i386/i386.c (print_reg): Abort if REGNO (x) is a
- 	virtual register, but only if file == asm_out_file.
- 	* config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
- 	for ARG_POINTER_REGNUM.
- 
- 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (registered_builtin_types): New static.
- 	(c_common_type_for_mode): Consult registered_builtin_types.
- 	(c_register_builtin_type): Add type to registered_builtin_types.
- 	* optabs.c (init_floating_libfuncs): Initialize libfuncs for
- 	all MODE_FLOAT modes, not just the ones corresponding to
- 	float_type_node, double_type_node, and long_double_type_node.
- 
- 2003-10-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
- 	* config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
- 
- 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
- 	support new flag -minsert-sched-nops.
- 	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
- 	* config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
- 	support new flag -minsert-sched-nops.
- 	(is_cracked_insn, is_microcoded_insn): New functions.
- 	(rs6000_sched_finish): New function.
- 	(rs6000_issue_rate): Return 5 for power4.
- 	(get_next_active_insn, insn_terminates_group_p): New
- 	functions.
- 	(is_costly_group, force_new_group): New functions.
- 	(redefine_groups, pad_groups): New functions.
- 	(rs6000_variable_issue): Use new functions.
- 	* doc/invoke.texi (-minsert-sched-nops): Document new
- 	option.
- 
- 2003-10-20  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (type attribute): Add new insn types
- 	fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
- 	(patterns emitting VIS insns): Use them.
- 	* config/sparc/ultra1_2.md: Add VIS scheduling rules.
- 	* config/sparc/ultra3.md: Likewise.
- 
- 2003-10-20  Falk Hueffner  <falk@debian.org>
- 
- 	PR target/12654
- 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
- 	comparison against constant by adjusting the argument except for
- 	EQ and NE.
- 
- 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
- 	arm1136jfs, and armv6j.
- 	* config/arm/arm.c (FL_ARCH6J): New macro.
- 	(FL_VFPV2): Likewise.
- 	(all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
- 	and arm1136jfs.
- 	(all_architectures): Add entry for armv6j.
- 	(arm_override_options): Add entries for arm926ejs, arm1026ejs,
- 	arm1136js, and arm1136jfs.
- 	* config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
- 	(TARGET_CPU_arm1026ej_s): Likewise.
- 	(TARGET_CPU_arm1136j_s): Likewise.
- 	(TARGET_CPU_arm1136jf_s): Likewise.
- 	* doc/invoke.texi: Document new ARM cores and architecture
- 	variants.
- 
- 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (toplev.o): Add value-prof.h dependency.
- 	(value-prof.o): Add REGS_H dependency.
- 	* common.opt (fprofile-values, fvpt): New.
- 	* flags.h (flag_value_profile_transformations): Declare.
- 	* opts.c (common_handle_option): Handle -fprofile_values and
- 	-fvpt.
- 	* profile.c (branch_prob): Don't remove death notes here.
- 	* timevar.def (TV_VPT): New.
- 	* value-prof.c: Include regs.h.
- 	(insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
- 	gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
- 	mod_subtract_transform, value_profile_transformations): New.
- 	(insn_values_to_profile): Call insn_divmod_values_to_profile.
- 	(find_values_to_profile): Add dumps.
- 	* value-prof.h (value_profile_transformations): Declare.
- 	* toplev.c: Include value-prof.h.
- 	(rest_of_handle_value_profile_transformations): New.
- 	(enum dump_file_index): Add DFI_vpt.
- 	(dump_file): Add vpt dump.
- 	(flag_value_profile_transformations): New.
- 	(lang_independent_options): Add flag_profile_values and
- 	flag_value_profile_transformations.
- 	(rest_of_compilation): Call
- 	rest_of_handle_value_profile_transformations.
- 	(process_options): Let -fvpt imply -fprofile-values.
- 	* doc/invoke.texi (-fvpt): Document.
- 
- 2003-10-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (print_reg): Do not abort on certain registers.
- 
- 	PR optimization/12612
- 	* reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
- 	* i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
- 	match_scratch; avoid bogus paralles.
- 
- 	PR target/12674
- 	* i386.c (ix86_function_regparm): Disable implicit register passing
- 	conventions when profiling.
- 
- 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/8178
- 	* config/i386/i386.md (*movsi_zero): Delete.
- 	(*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
- 
- 2003-10-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (fix_operator): New.
- 	(divmod_operator): Tidy.
- 	(alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
- 	* config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
- 	(fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
- 	(fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
- 	(fix_truncsfdi_ieee): Likewise.
- 	(fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
- 	(fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
- 	* config/alpha/alpha-protos.h: Update.
- 
- 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
- 	* config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
- 	* config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
- 	constant operands.
- 
- 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/extend.texi: Fix typos.
- 	* doc/invoke.texi: Likewise.
- 
- 2003-10-18  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
- 	XScale optimizations not arm_arch_xscale.
- 	* config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
- 
- 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (shift_count_operand): Add prototype.
- 	* config/s390/s390.c (shift_count_operand): New function.
- 	(s390_extra_constraint): Use it to implement 'Y' constraint.
- 	(print_shift_count_operand): New function.
- 	(print_operand): Use it to implement '%Y'.
- 	* config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
- 	(PREDICATE_CODES): Add shift_count_operand.
- 	* config/s390/s390.md ("rotldi3"): Merge alternatives,
- 	using "shift_count_operand" predicate and "Y" constraint,
- 	and "%Y" to output the combined shift count.
- 	("rotlsi3"): Likewise.
- 	("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
- 	("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
- 	"*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
- 	("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
- 	("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
- 	("lshrsi3"): Likewise.
- 
- 2003-10-18  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
- 	argument to asm_fprintf statement.
- 
- 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
- 	(ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
- 	a "long long" argument.
- 
- 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
- 	as well.
- 
- 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* rtl.h (rtl_size): Declare.
- 	(rtunion): Remove rtwint.
- 	(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
- 	(RTX_HDR_SIZE, RTX_SIZE): New macros.
- 	(RTL_CHECK1): Adjust for new rtx_def layout.
- 	(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
- 	(XWINT, XCWINT): Likewise.  Access the rtx structure directly.
- 	(X0WINT): Remove.
- 	(X0ANY): New macro.
- 	* rtl.def: Adjust comments for new rtx_def layout.
- 	* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
- 	number of slots.
- 	* rtl.c (rtx_size): New array.
- 	(rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
- 	(copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
- 	(shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
- 	* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
- 	* emit-rtl.c (copy_most_rtx): Likewise.
- 	(copy_rtx_if_shared): Use RTX_SIZE.
- 	(copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
- 	* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
- 	* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
- 	(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
- 	an array.  Adjust output for new rtx_def layout.
- 	* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
- 	* reload1.c (eliminate_regs): Use RTX_SIZE.
- 	* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
- 	* gdbinit.in (pi): Likewise.
- 
- 2003-10-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_decl_for_inlining): Revert previous patch.
- 
- 2003-10-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_decl_for_inlining): Fix copying of copies.
- 
- 2003-10-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* libgcc.texi: Group multi-word types, such as "long double" and
- 	"unsigned int", using braces in @deftypefn and @deftypefnx nodes.
- 	Document __unord?f2 as returning a non-zero value, not just one.
- 
- 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
- 	($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
- 
- 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
- 	match_operand.
- 
- 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_record_value_1): New fourth
- 	parameter packed_p.  Search for a DECL_PACKED field only if
- 	packed_p is false.  Pass packed_p recursively.
- 	(function_arg_record_value_2): Likewise.
- 	(function_arg_record_value): Update calls to
- 	function_arg_record_value_1 and function_arg_record_value_2.
- 
- 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* cse.c (cse_insn) [src_folded]: Check that the tentative replacement
- 	was successfully forced to memory before using the result.
- 
- 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/8178
- 	* config/i386/i386.md (*movsi_zero): New insn to set
- 	a register to zero on TARGET_USE_MOV0 targets.
- 
- 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
- 	(POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
- 
- 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/invoke.texi (gcse-las): Fix typo.
- 
- 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* doc/install.texi: Remove first part of the sentence for
- 	zsh not working.  Change gcc to GCC.
- 
- 	PR bootstrap/12546
- 	* doc/install.texi: Document that zsh does not work when
- 	configuring gcc.
- 
- 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/ptx4.h: Switch to DWARF 2; update comments.
- 
- 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
- 	    Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	PR 10404, partial 11591, partial 11601
- 	* config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
- 	"altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
- 	"altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
- 	"altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
- 	"altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
- 	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
- 	(altivec_expand_stv_builtin): Adjust for the memory_operand.
- 	(altivec_expand_builtin): Call altivec_expand_lv_builtin.
- 	(altivec_init_builtins): Use `long int' for memory offsets.
- 
- 2003-10-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* opts.c  (common_handle_option): Handle OPT_fweb
- 	* invoke.texi (-fweb): Add missing parts of documentation.
- 
- 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
- 	before redefinition.
- 
- 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* common.opt: Add description of the new -fgcse-las flag.
- 	* flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
- 	* gcse.c (hash_scan_set): Handle the case of store expression and
- 	insert the memory expression to the hash table, this way we make it
- 	possible to discover redundant loads after stores and remove them.
- 	(pre_insert_copy_insn): moved the call to update_ld_motion_stores,
- 	to pre_insert_copies, it is not the correct place to call it after
- 	adding stores to be in the available expression hash table.
- 	(pre_insert_copies): Added the call to update_ld_motion_stores when
- 	one or more copies were inserted.
- 	* opts.c (common_handle_option): Handle the -fgcse-las flag.
- 	* toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
- 
- 	* doc/invoke.tex: Document new -fgcse-las flag.
- 
- 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
- 	for posterity, then remove it.
- 
- 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
- 	    Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/arm/arm.c (use_return_insn): Not a single instruction, if
- 	there's a frame pointer.
- 	(arm_output_epilogue): Protect stack pointer from being corrupted
- 	on interrupt.
- 
- 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
- 
- 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (simplify_set): Do not clear out undobuf.other_insn
- 	already set elsewhere.
- 
- 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/i386/i386.c (ix86_expand_prologue):  Use
- 	gen_allocate_stack_worker.
- 
- 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
- 	without gas.
- 	(mips-sgi-irix6*): Likewise.
- 
- 	* config/mips/iris6gas.h: New file.
- 	* gcc/config.gcc (mips-sgi-irix6*): Use it.
- 
- 	* config/mips/mips.h (TARGET_IRIX): Provide default.
- 	(TARGET_IRIX5): Likewise.
- 	(TARGET_SGI_O32_AS): Likewise.
- 	* config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
- 	(TARGET_IRIX5): Likewise.
- 	* config/mips/iris6.h (TARGET_IRIX6): Remove.
- 	(TARGET_IRIX5): Redefine as 0.
- 
- 	* config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
- 	linker workaround with TARGET_IRIX and mips_abi instead of
- 	ASM_OUTPUT_UNDEF_FUNCTION.
- 	(mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
- 	testing TARGET_IRIX and mips_abi explicitly.
- 	* config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
- 	* config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
- 
- 	* config/mips/mips.c (irix_output_external_libcall): Renamed from
- 	mips_output_external_libcall.
- 	Use new TARGET_IRIX in guard.
- 	* config/mips/mips-protos.h (irix_output_external_libcall): Match
- 	this.
- 	* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
- 
- 	* config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
- 	Define as 0.
- 
- 	* config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
- 	depending on mips_abi.
- 	* config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
- 	* config/mips/mips.c (mips_output_function_prologue): Test
- 	FUNCTION_NAME_ALREADY_DECLARED at runtime.
- 	(mips_output_function_epilogue): Likewise.
- 	(build_mips16_function_stub): Likewise.
- 	(build_mips16_call_stub): Likewise.
- 	* config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
- 	default.
- 
- 	* config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
- 	IRIX 6 O32 assembler.
- 	(SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
- 	(TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
- 	_MIPS_SIM for O32 ABI.
- 	(DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
- 	(ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
- 	(ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
- 	Integrate O32 version.
- 	(SUBTARGET_ASM_SPEC): Handle -mabi=32.
- 	(SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
- 	O32 ABI.
- 	(BSS_SECTION_ASM_OP_32): Define.
- 	(BSS_SECTION_ASM_OP_64): Likewise.
- 	(BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
- 	using them.
- 	(TARGET_ASM_NAMED_SECTION): Reflect renaming.
- 	Move up to allow override for O32 ABI without GNU as.
- 	(EH_FRAME_SECTION_NAME): Define explicitly.
- 	(MUST_USE_SJLJ_EXCEPTIONS): Define.
- 	[_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP): Dummy definitions.
- 	(TARGET_ASM_NAMED_SECTION): Undef statically.
- 	(EH_FRAME_SECTION_NAME): Likewise.
- 	(ASM_OUTPUT_FILENAME): Integrate mips.h version.
- 	(LINK_SPEC): Only use default options -call_shared -no_unresolved
- 	without -r.
- 	Don't pass -init, -fini with -mabi=32.
- 	(COLLECT_PARSE_FLAG): Define.
- 
- 	* config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
- 	TARGET_IRIX.
- 	Renamed to use irix_ prefix.
- 	(iris6_asm_named_section): Likewise.
- 	(iris_section_align_entry_eq): Likewise.
- 	(iris_section_align_entry_hash): Likewise.
- 	(iris6_file_start): Likewise.
- 	(iris6_section_align_1): Likewise.
- 	(iris6_file_end): Likewise.
- 	(iris6_section_type_flags): Likewise.
- 	(iris_section_align_htab): Likewise.
- 	(iris_orig_asm_out_file): Likewise.
- 	[TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
- 	(TARGET_ASM_FILE_END): Likewise.
- 	(TARGET_SECTION_TYPE_FLAGS): Likewise.
- 
- 	* config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
- 	(TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
- 	override_options instead.
- 	(TARGET_ASM_UNALIGNED_SI_OP): Likewise.
- 	(TARGET_ASM_UNALIGNED_DI_OP): Likewise.
- 	* config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
- 	flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
- 	assemblers.
- 	Likewise for constructor/destructor handling.
- 	(override_options): Handle IRIX O32 assembler quirks.
- 	[TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
- 	without gas.
- 	(mips_file_start): Use new TARGET_IRIX.
- 	(mips_declare_object_name): No special processing for IRIX O32
- 	assembler.
- 	(mips_finish_declare_object): Likewise.
- 	(irix_asm_output_align): Renamed from iris6_asm_output_align.
- 	Don't record alignment for O32 ABI.
- 	(irix_file_start): Renamed from iris6_file_start.
- 	Return early for O32 ABI.
- 	(irix_file_end): Renamed from iris6_file_end.
- 	Don't emit .section directives for O32 ABI.
- 	* config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
- 	* config/mips/mips-protos.h (irix_asm_output_align): Likewise.
- 
- 	* config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
- 	(MULTILIB_OSDIRNAMES): Likewise.
- 
- 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* collect2.c (COLLECT_PARSE_FLAG): Provide default.
- 	(main): Use it.
- 	* doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
- 
- 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm-modes.def (CC_Nmode): New condition code mode.
- 	* arm.c (thumb_condition_code): Delete.
- 	(arm_select_cc_mode): Handle single-bit test for Thumb.
- 	(arm_print_operand, cases 'd' and 'D'): Don't special case the
- 	condition code logic for Thumb.
- 	(get_arm_condition_code): Handle CC_Nmode.
- 	(thumb_cbrch_target_operand): New function.
- 	* arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
- 	* arm-protos.h (thumb_cbrch_target_operand): Add prototype.
- 	* arm.md: Add Thumb split patterns for zero_extract and
- 	sign_extract.
- 	(tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
- 	(orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
- 	(xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
- 	(subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
- 	(cbranchne_decr1): Re-work to use CC_Nmode.
- 
- 	* arm.c (thumb_expand_epilogue): Add clobbers of registers restored
- 	by the return instruction.  Add a use of the link register if it
- 	wasn't stored.
- 
- 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (init_propagate_block_info): Don't abort if a conditional
- 	jump is not a comparison of a register.  Instead, just don't record
- 	conditional life information.
- 
- 2003-10-16  Jan Hubicka  <jh@suse.cz>
- 
- 	PR optimization/12630
- 	* pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
- 	for operands 7 and 8.
- 
- 2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
- 
- 2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
- 
- 	* config/i386/winnt.c (gen_stdcall_suffix): Make static
- 	(gen_fastcall_suffix): Likewise.
- 	(i386_pe_dllexport_p): Likewise.
- 	(i386_pe_dllimport_p): Likewise.
- 	(i386_pe_mark_dllexport): Likewise.
- 	(i386_pe_mark_dllimport): Likewise.
- 	(i386_pe_asm_named_section): Fix formatting.
- 
- 2003-10-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
- 	* system.h: Declare snprintf if necessary.
- 	* configure, config.in: Regenerate.
- 
- 2003-10-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
- 	arguments if TARGET_ALTIVEC_ABI.
- 
- 2003-10-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
- 	fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
- 	fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
- 	New functions.
- 	(expand_builtin_memcpy): Use integer_zerop instead of testing
- 	host_integerp and tree_low_cst directly.  Move misapplied hunk
- 	for optimization wher SRC and DEST point to the same location.
- 	(expand_builtin_mempcpy): From here.
- 	(expand_builtin_memmove): Use integer_zerop instead of testing
- 	host_integerp and tree_low_cst_directly.
- 	(expand_builtin_memset): Likewise.
- 	(expand_builtin_memcmp): Likewise (and for integer_onep).
- 	(expand_builtin_strncmp): Likewise.
- 	(fold_builtin): Call the appropriate fold_builtin_foo functions
- 	to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
- 	strcmp and strncmp.
- 
- 2003-10-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
- 	prototype.  Clean up some whitespace.
- 	* config/darwin.c: Use gen_rtx_FOO (...) rather than
- 	gen_rtx (FOO, ...).
- 	(machopic_non_lazy_ptr_name): Make static.
- 	(name_needs_quotes): Allow '.' and '$' unquoted.
- 	(machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
- 	case.
- 
- 2003-10-15  Gábor Lóki  <alga@rgai.hu>
- 
- 	* fold-const.c (tree_swap_operands_p): Disable some features
- 	when optimizing for size.
- 
- 2003-10-15  David Daney  <ddaney@avtrex.com>
- 
- 	* config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
- 	* config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
- 	from leaf functions.
- 	(DWARF_FRAME_RETURN_COLUMN): Ditto.
- 	(SIGNAL_UNWIND_RETURN_COLUMN): New, used
- 	by MD_FALLBACK_FRAME_STATE_FOR.
- 	* testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
- 
- 2003-10-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c: Include hashtab.h.
- 	(modes_by_name, hash_mode, eq_mode, struct mode_adjust)
- 	(adj_bytesize, adj_alignment, adj_format, new_adjust)
- 	(_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
- 	(print_maybe_const_decl, emit_mode_adjustments): New.
- 	(known_modes): Rename to modes.
- 	(find_mode): Kill class argument; look up in hash table.
- 	(new_mode): Insert into hash table also.
- 	(new_adjust): New.
- 	(reset_float_format, make_partial_integer_mode)
- 	(make_vector_mode): Tweak error reporting.
- 	(reset_float_format): Correct type of fourth argument.
- 	(emit_insn_modes_h): Add #defines to help make mode_size,
- 	mode_base_align, and real_format_for_mode conditionally const.
- 	(emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
- 	(emit_real_format_for_mode): Likewise, but temporarily disabled.
- 	(emit_insn_modes_c): Call emit_mode_adjustments.
- 	(main): Initialize modes_by_name.
- 	* Makefile.in: Update dependencies.
- 	* machmode.def: Document EXPR arguments and new ADJUST_* statements.
- 	* machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
- 	declarations of mode_size and mode_base_align.  Declare
- 	init_adjust_machine_modes.
- 	* toplev.c (backend_init): Call init_adjust_machine_modes.
- 
- 2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* genmodes.c (calc_wider_mode): Allocate enough room for all the
- 	entries we'll possibly assign in the sort buffer.
- 
- 2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config.gcc (s390x-ibm-tpf*): New target.
- 	* doc/install.texi: Document it.
- 	* config/s390/t-tpf: New file.
- 	* config/s390/tpf.h: New file.
- 
- 2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/12598
- 	* config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
- 	(define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
- 	Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
- 	("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
- 	(define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
- 	(define_split "*mov_sidesi_mem"+28, +29, +30): Use
- 	replace_equiv_address, not gen_rtx_MEM.
- 	* config/cris/cris.c (cris_mem_op): New match_operator function.
- 	(cris_notice_update_cc): Use replace_equiv_address, not
- 	gen_rtx_MEM.
- 	* config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
- 
- 2003-10-15  Bernardo Innocenti <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
- 	MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
- 	definitions after the other flags.
- 
- 2003-10-14  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (methoddef, methodproto): Call objc_add_method()
- 	instead of add_method().
- 	* objc/objc-act.c (objc_check_decl): Do not check for
- 	constant_string_type.
- 	(add_method): Rename to objc_add_method().
- 	(really_start_method): Call objc_add_method() instead of
- 	add_method().
- 	* objc/objc-act.h (add_method): Rename to objc_add_method().
- 
- 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
- 	(s390_slb_comparison): Likewise.
- 	* config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
- 	New functions.
- 	* config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
- 	and s390_slb_comparison.
- 	* config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
- 	zSeries machines.
- 	("*adddi3_31z", "*subdi3_31z"): New insns.
- 	("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
- 	"*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
- 	New insns.
- 
- 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Clean up some feedback echoes.
- 	* configure: Regenerate.
- 
- 	* aclocal.m4: Properly quote names of macros being defined.
- 
- 	* config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
- 
- 2003-10-14  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_call): Force function address
- 	to DImode.
- 	* config/ia64/ia64.md (call_gp): Put DImode on operand 0.
- 
- 2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
- 	"mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
- 	("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
- 	"*divsf3_ibm"): Likewise.
- 
- 2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
- 	target_alias with target_noncanonical.
- 
- 2003-10-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* expr.c (block_move_libcall_safe_for_call_parm): Clean up,
- 	and add case for machines where outgoing register parameters
- 	get stack space.
- 
- 	* config/darwin.c (machopic_indirect_data_reference): Use a scratch
- 	register when generating indirect address.
- 
- 2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_addimm_operand): MODE arguemnt is unused.
- 	* arm.md (cbranchne_decr1): Fix bootstrap warning.
- 
- 2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (alpha_pthread_gcc): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
- 	testcase.
- 	Fixes PR bootstrap/9330.
- 
- 2003-10-13  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/frv/frv.c (frv_adjust_field_align): Redo check for
- 	too wide bitfields.
- 	(frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
- 	* config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
- 	(SBSS_SECTION_ASM_OP): Remove.
- 	(EXTRA_SECTIONS): Remove in_sbss.
- 	(EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
- 	(SBSS_SECTION_FUNCTION, sbss_section): Remove.
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
- 	named_section.
- 
- 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in, configure.in, config.host, mkheaders.in: Replace
- 	uses of ${target_alias} for directory names (and other places which
- 	won't like the empty string) with ${target_noncanonical}.  Introduce
- 	call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
- 	available.
- 	* configure: Regenerate.
- 
- 2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
- 	* config/arm/arm.md: For splits which rely on conditional moves,
- 	remove ! TARGET_IWMMXT condition.
- 
- 2003-10-13  David S. Miller  <davem@redhat.com>
- 
- 	* ifcvt.c (num_removed_blocks): Rename to num_true_changes.
- 	(find_cond_trap): Always increment if we emit a conditional
- 	trap insn.
- 
- 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
- 	with min-insn-modes.o.
- 	(STAGESTUFF): Add min-insn-modes.c.
- 	(genobjs): Add genmodes.o.
- 	(print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
- 	(insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
- 	(min-insn-modes.c, min-insn-modes.o): New rules.
- 	(s-modes): Also generate min-insn-modes.c.
- 	($(BUILD_PREFIX_1)insn-modes.o): Kill.
- 	* genmodes.c (struct mode_data): Add format field.
- 	(blank_mode, validate_mode, complete_mode): Update to match.
- 	(make_scalar_mode): Separate into make_int_mode and make_float_mode.
- 	(_SCALAR_MODE): Kill.
- 	(FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
- 	(emit_insn_modes_c_header): Adjust.
- 	(emit_min_insn_modes_c_header, emit_real_format_for_mode)
- 	(emit_min_insn_modes_c): New functions.
- 	(emit_insn_modes_c): Call emit_real_format_for_mode.
- 	(main): Add -m option to generate min-insn-modes.c.
- 	* machmode.h: Update documentation.  Add format argument to
- 	all uses of FLOAT_MODE.
- 	* real.c: Don't define real_format_for_mode here.
- 
- 	* dwarfout.c: Move default definition of PRINT_REG...
- 	* defaults.h: ...here.
- 	* print-rtl.c: Include tm_p.h.
- 	(DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
- 	Kill.
- 	(print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
- 	this entire block with #ifndef GENERATOR_FILE.
- 	* regclass.c: Unconditionally define reg_names.
- 	* config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
- 	Don't define DEBUG_REGISTER_NAMES.
- 	* config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
- 	redefinition of REGISTER_NAMES.
- 	* config/i386/i386.h: Don't define DEBUG_PRINT_REG.
- 
- 	* combine.c: Change all preprocessor conditionals on
- 	EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
- 	for clarity.
- 	* genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
- 	* configure.in: Don't define EXTRA_CC_MODES.
- 	* configure, config.in: Regenerate.
- 	* doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
- 
- 	* config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
- 	May assume that GET_MODE_CLASS is accurate for extra CC modes
- 	at all times.
- 
- 	* config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
- 	number of arguments to aggregate_value_p.
- 
- 	* genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
- 	* machmode.def: Explain ARCH-modes.def.  Document
- 	RESET_FLOAT_FORMAT.  Improve commentary on various mode
- 	clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
- 	XF, or TF modes here.  Remove backward-compatibility
- 	definition of CC.
- 
- 	* config/alpha/alpha-modes.def: New file; define TF mode.
- 	* config/arc/arm-modes.def: Define XF mode.
- 	* config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
- 	float format for SF and DF modes.
- 	* config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
- 	* config/i386/i386-modes.def: Define XF and TF modes.
- 	* config/i960/i960-modes.def: Define TF mode.
- 	* config/ia64/ia64-modes.def: Define TF and OI modes.
- 	* config/m68k/m68k-modes.def: New file; define XF mode.
- 	* config/mips/mips-modes.def: New file; define TF mode, reset
- 	formats for SF and DF modes.
- 	* config/pa/pa-modes.def: Define TF mode.
- 	* config/rs6000/rs6000.c: Define TF and PSI modes.
- 	* config/s390/s390-modes.def: Define OI mode.
- 	* config/sh/sh-modes.def: New file; define PSI mode.
- 	* config/sparc/sparc-modes.def: Define TF mode.
- 	* config/vax/vax-modes.def: New file; reset formats for SF and
- 	DF modes.
- 
- 	* config/c4x/c4x.c (c4x_override_options): No need to mess
- 	with real_format_for_mode or set REAL_MODE_FORMATs.
- 	(c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
- 	variable.
- 	* config/i386/i386.c (override_options): No need to set
- 	REAL_MODE_FORMATs here.
- 	* config/i960/i960.c (i960_initialize): Likewise.
- 	* config/m68k/m68k.c (m68k_override_options): Likewise.
- 	* config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
- 	for TFmode only if not the default.
- 	* config/mips/mips.c (override_options): Likewise.
- 	* config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
- 	DFmode only if not the default.
- 
- 	* config/i370/i370.h (RET_REG): Don't consider TFmode.
- 	* config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
- 	* config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
- 	of modes that don't appear anywhere in the machine description.
- 
- 	* config/arc/arc-modes.def, config/arm/arm-modes.def
- 	* config/c4x/c4x-modes.def, config/frv/frv-modes.def
- 	* config/i386/i386-modes.def, config/i960/i960-modes.def
- 	* config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
- 	* config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
- 	* config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
- 	* config/sparc/sparc-modes.def: Convert to new style for
- 	declaring extra CC modes.
- 
- 2003-10-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplex.c (_cpp_clean_line): In the common case of a line
- 	with no trigraphs and no \-newline, avoid writing to memory.
- 	(_cpp_skip_block_comment): Use a local 'cur' pointer instead
- 	of the buffer member.  Make c an uchar to avoid unnecessary
- 	sign extensions.
- 
- 2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Remove unnecessary test.
- 	* configure: Regenerate.
- 
- 	* configure.in: Fix grammatical error.  Move UWIN host error to...
- 	* config.host: Here.
- 	* configure: Regenerate.
- 
- 2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
- 	"*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
- 	of flag_unsafe_math_optimizations.
- 	* config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
- 	"TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
- 	fused-madd and no-fused-madd.
- 	* doc/invoke.texi: Documented the new options fused-madd and
- 	no-fused-madd for S/390.
- 
- 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
- 	MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
- 	assign DEFAULT_ABI.
- 	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
- 	* config/rs6000/rs6000.c: Formatting.
- 	(rs6000_parse_alignment_option): Only set rs6000_alignment_flags
- 	when rs6000_alignment_string given.
- 
- 2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/12538
- 	* config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
- 	(sparc_flat_must_save_register_p): New function to decide whether
- 	a register must be saved/restored in the function prologue/epilogue.
- 	(sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
- 
- 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* config/avr/avr.c, config/avr/avr-protos.h: Convert to
- 	ISO C90 function declarations and definitions.
- 	* config/sh/sh.c, config/sh/sh-protos.h: Likewise.
- 
- 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (*-*-freebsd*): Use tm_defines instead of tiny
- 	config files which do the same thing.
- 	* config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
- 	config/freebsd6.h: Remove now unnecessary files.
- 
- 2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* c-common.c (c_common_truthvalue_conversion): Warn if the
- 	address of a non-weak function is used as a truth value.
- 
- 2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
- 	a literal.
- 	* config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
- 	instead of a literal.
- 
- 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/extend.texi (Function Attributes): Mention the exceptional
- 	path for noreturn-marked functions.
- 
- 2003-10-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_decide_inlining): Fix uninitialized variable
- 	warning.
- 
- 2003-10-12  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/i386.c (x86_this_parameter): Fix typo.
- 
- 203-10-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (web.o): New.
- 	* web.c: New file.
- 	* rtl.h (web_main): Declare.
- 	* timervar.def (TV_WEB): New.
- 	* toplev.c (dump_file_index, dump_file_info): Add DFI_web.
- 	(rest_of_hanle_web): New.
- 	(flag_web): New static variable.
- 	(lang_independent_options): Add "web".
- 	(rest_of_compilation): Call rest_of_handle_web.
- 	* invoke.texi (-fweb): Document.
- 	* common.opt (fweb): New.
- 	* flags.h (flag_web): New.
- 	* opts.c (decode_options): Set flag_web at -O3.
- 
- 	* passes.texi (web construction):  Document.
- 	* invoke.texi (-O3): Document that -fweb is enabled.
- 
- 	* regrename.c (regrename_optimize): Deal better with situation when
- 	replacement failed.
- 
- 	* sched-ebb.c: Include params.h and profile.h
- 	(schedule_ebbs):  Use tracer parameters to discover superblocks
- 	* Makefile.in (sched-ebb.o):  Add dependencies.
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_mathfn_p): New function to determine whether
- 	a built-in mathematical function is sign preserving, f(-x) == -f(x).
- 	Add support for BUILT_IN_ASIN, BUILT_IN_ASINF and BUILT_IN_ASINL.
- 	(tree_swap_operands_p): Change API to take an additional argument
- 	indicating that the swapped operands evaluate in reverse order.
- 	Canonicalize VAR_DECLs and PARM_DECLs last if we can, i.e. neither
- 	operand side-effects or we don't care about flag_evaluation_order.
- 	(reorder_operands_p): New function to check whether its safe to
- 	evaluate the given operands in reverse order.
- 	(negate_expr_p):  We can always negate integer constants unless
- 	we honor -ftrapv and the signed type would overflow.  Only allow
- 	-(A-B) into B-A if reorder_operands_p says that its OK.  Allow
- 	negation of COMPLEX_CST if both real and imaginary parts can be
- 	negated.  Allow negation through floating point extensions and
- 	sign-preserving built-in functions.
- 	(negate_expr):  Move the code to negate integers from "fold" to
- 	here.  Always negate integer constants unless we honor -ftrapv
- 	and the signed type would overflow.  Always negate real constants
- 	unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
- 	if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
- 	Optimize negation through floating point extensions and
- 	sign-preserving built-in functions (as defined by negate_mathfn_p).
- 	(fold): Adjust calls to tree_swap_operands_p.
- 	(fold <NEGATE_EXPR>): Move the remaining negation optimizations
- 	to negate_expr_p/negate_expr.
- 	(fold <MINUS_EXPR>): Use reorder_operands_p to check whether we're
- 	allowed to convert (-A) - B into (-B) - A.
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_strcmp): Defend against the possibility
- 	that gen_cmpstrsi may fail: Stabilize the argument list against
- 	re-evaluation and expand the library call directly using this saved
- 	argument list if a cmpstrsi sequence can't be generated.
- 	(expand_builtin_strncmp): Likewise.
- 
- 	* config/i386/i386.md (cmpstrsi, movstrsi): Disable with -Os.
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/12260
- 	* simplify-rtx.c (simplify_unary_operation): Simplify all unary
- 	operations through CONST nodes.  Optimize (neg (plus X C)) as
- 	(minus -C X) for constant values C.
- 	(simplify_binary_operation): Optimize (minus (neg X) C) as
- 	(minus -C X) for constant values C.
- 	(simplify_plus_minus): Avoid creating (neg (const (plus X C)),
- 	instead create (minus -C X).
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr <PLUS_EXPR>): Let expand_operands call
- 	safe_from_p for us, once it chooses an evaluation order.
- 	(expand_expr <MULT_EXPR>): Likewise.
- 	(expand_expr <MIN_EXPR> <MAX_EXPR>): Likewise.  If expand_operands
- 	places the second operand in "target", swap the operands.
- 	(do_store_flag): Let expand_operands call safe_from_p for us.
- 
- 2003-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12544
- 	* function.c (put_var_into_stack): Don't generate ADDRESSOFs
- 	for DECL_NONLOCAL decls.
- 
- 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c: Follow spelling conventions.
- 	* final.c: Likewise.
- 	* optabs.c: Likewise.
- 	* sched-deps.c: Likewise.
- 	* sdbout.c: Likewise.
- 
- Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* varasm.c (notice_global_symbol):  Fix handling of variables; avoid
- 	re-computing of variable.
- 
- 2003-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_return_in_memory): Rename from
- 	return_in_memory, make static, change signature to match target hook.
- 	(alpha_setup_incoming_varargs): Make static, change signature to
- 	match target hook, add code for vms and unicos.
- 	(TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
- 	TARGET_PROMOTE_PROTOTYPES, TARGET_STRUCT_VALUE_RTX,
- 	TARGET_RETURN_IN_MEMORY, TARGET_SETUP_INCOMING_VARARGS,
- 	TARGET_STRICT_ARGUMENT_NAMING,
- 	TARGET_PRETEND_OUTGOING_VARARGS_NAMED): New.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (PROMOTE_FUNCTION_ARGS,
- 	PROMOTE_FUNCTION_RETURN, RETURN_IN_MEMORY,
- 	SETUP_INCOMING_VARARGS): Remove.
- 	* config/alpha/unicosmk.h (SETUP_INCOMING_VARARGS): Remove.
- 	* config/alpha/vms.h (SETUP_INCOMING_VARARGS): Remove.
- 
- 2003-10-11  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_regno_class): Handle IWMMXT_GR_REGS.
- 
- 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68k/lb1sf68.asm: Follow spelling conventions.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m68k/m68k.md: Likewise.
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_memcpy): Optimize case when the two
- 	pointer arguments are the equal, non-volatile and side-effect free.
- 	(expand_builtin_mempcpy): Likewise.
- 	(expand_builtin_memmove): Likewise.
- 	(expand_builtin_strcpy): Likewise.
- 	(expand_builtin_memcmp): Likewise.
- 	(expand_builtin_strcmp): Likewise.
- 	(expand_builtin_strncmp): Likewise.
- 
- 2003-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (apply_distributive_law): Enable "distributive" floating
- 	point optimizations with -funsafe-math-optimizations.
- 
- 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
- 
- 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68k/m68k-protos.h: Remove the prototype for
- 	finalize_pic.
- 
- 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68k/m68k.c: Fix comment typos.
- 
- 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k-protos.h (use_return_insn): Change return type from
- 	int to bool.
- 	* config/m68k/m68k.c (struct m68k_frame): Add funcdef_no member.
- 	(current_frame): New global var.
- 	(m68k_compute_frame_layout): Cache computations in current_frame.
- 	(m68k_initial_elimination_offset): Use values from current_frame
- 	instead of recomputing them.
- 	(use_return_insn): Likewise.
- 	(m68k_output_function_prologue): Likewise.
- 	(m68k_output_function_epilogue): Likewise.
- 	* config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Fold __PIC__ handling
- 	inside the block for __pic__.
- 
- 2003-10-11  Peter Barada <peter@baradas.org>
- 	    Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c (m68k_frame): Move before protos referencing it.
- 	(m68k_save_reg): Add boolean parameter `interrupt_handler'.
- 	(m68k_interrupt_function_p): New function.
- 	(m68k_handle_fndecl_attribute): Ditto.
- 	(m68k_compute_frame_layout): Ditto.
- 	(m68k_attribute_table): Define back-end specific attributes.
- 	(m68k_output_function_epilogue): Emit RTE instruction for interrupt
- 	functions.
- 
- 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/t-uclinux: New target Makefile fragment.
- 	* config/m68k/uclinux.h: New target macro file.
- 	* config.gcc (m68k-*-uclinux): New target definition.
- 
- 2003-10-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (builtin_mathfn_code): Generalize to check whether
- 	the call is to any built-in function by comparing the call's
- 	argument list against the builtin decl's function type.
- 
- 2003-10-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (constant_pool_entries_regcost): New global variable to
- 	hold the register cost component of constant_pool_entries_cost.
- 	(fold_rtx): Calculate constant_pool_entries_regcost at the same
- 	time as constant_pool_entries_cost.
- 	(cse_insn): Set both src_folded_cost and src_folded_regcost from
- 	constant_pool_entries_cost and constant_pool_entries_regcost.
- 	(cse_main): Initialize constant_pool_entries_regcost to zero.
- 
- 	* optabs.c (expand_unop): Attach a REG_EQUAL note describing
- 	the semantics of the sequence of bit operations used to negate
- 	a floating-point value.
- 	(expand_abs_nojump): Likewise attach a REG_EQUAL note describing
- 	the semantics of the bit operations used to abs a floating point
- 	value.
- 
- 2003-10-11  Bernardo Innocenti  <bernie@develer.com>
- 	    Paul Dale  <pauli@snapgear.com>
- 
- 	* config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
- 	support.
- 	* config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
- 	-fpic, -fPIC, -msep-data and -mid-shared-library.
- 	* config/m68k/m68k.c (m68k_library_id_string): New global variable.
- 	(override_options): Add -msep-data and -mshared-library-id support.
- 	(m68k_output_function_prologue): Generate code to load A5 for
- 	TARGET_ID_SHARED_LIBRARY and TARGET_SEP_DATA.
- 	(m68k_output_mi_thunk): Emit indirect jump on TARGET_ID_SHARED_LIBRARY.
- 	(m68k_output_pic_call): New function.
- 	* gcc/config/m68k/m68k.h (TARGET_SEP_DATA): New target flag.
- 	(TARGET_ID_SHARED_LIBRARY): Ditto.
- 	(TARGET_SWITCHES): Add switches for -mid-shared-library and -msep-data.
- 	* gcc/config/m68k/m68k.md (call): Call m68k_output_pic_call().
- 	(call_value): Likewise.
- 
- 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gengenrtl.c (find_formats, genheader): Make i an unsigned
- 	int, remove cast of NUM_RTX_CODE.
- 	* machmode.h: Make the HAVE_MACHINE_MODES #ifdef encompass the
- 	entire file.  Remove the #ifs on GET_MODE_MASK etc and
- 	GET_MODE_WIDER_MODE etc.
- 
- 2003-10-10  Eric Christopher  <echristo@redhat.com>
- 
- 	* lcm.c (optimize_mode_switching): Change NORMAL_MODE
- 	to MODE_ENTRY and MODE_EXIT. Add MODE_AFTER for insns
- 	that set mode.
- 	* config/sh/sh.h (MODE_ENTRY): New macro.
- 	(MODE_EXIT): Ditto.
- 	(MODE_AFTER): Ditto.
- 	* config/sh/sh.md: Change for MODE_AFTER. Add
- 	fp_set attribute.
- 	* doc/tm.texi: Document MODE_AFTER, MODE_ENTRY, and MODE_EXIT.
- 
- 2003-10-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c, mode-classes.def: New files.
- 	* machmode.def: Rewritten to genmodes.c interface.
- 	* Makefile.in (extra_modes_file): New substitution variable.
- 	(MACHMODE_H): No longer includes machmode.def or
- 	@extra_modes_file@; instead, mode-classes.def and insn-modes.h.
- 	(BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
- 	(OBJS-common): Add insn-modes.o.
- 	(STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
- 	genmodes$(build_exeext).
- 	(insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
- 	genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
- 	(s-genrtl): Don't depend on $(RTL_BASE_H).
- 	(gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
- 	or $(RTL_BASE_H); just rtl.def.
- 	* gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
- 	real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
- 	substitute definition of NUM_RTX_CODE.  Add casts to avoid
- 	warnings.
- 	* machmode.h: Include insn-modes.h, not machmode.def.  Include
- 	mode-classes.def to define enum mode_class.  Tweak definitions
- 	of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
- 	GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
- 	(inner_mode_array): Renamed mode_inner.
- 	(mode_base_align): New.
- 	* rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
- 	mode_unit_size, mode_wider_mode, mode_mask_array,
- 	inner_mode_array, class_narrowest_mode): Delete definitions.
- 	* stor-layout.c (get_mode_alignment): Use mode_base_align.
- 	* real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
- 	and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
- 
- 	* config/ip2k/ip2k.h, config/iq2000/iq2000.h:
- 	No need to define BITS_PER_UNIT.
- 
- 2003-10-10  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/ia64/ia64.c (ia64_vms_init_libfuncs): New function.
- 	(ia64_output_function_prologue): Only write .prologue if --with-gnu-as.
- 	(ia64_initialize_trampoline): If not using GAS, declare trampoline
- 	as global.
- 	* config/ia64/ia64.h (ASM_APP_ON, ASM_APP_OFF): Add vers for not GAS.
- 	(ASM_OUTPUT_DEBUG_LABEL): Likewise.
- 
- 	* stor-layout.c (compute_record_mode): Don't force BLKmode if
- 	field is zero-length BLKmode.
- 	* expr.c (expand_expr, case COMPONENT_REF): Handle case of BLKmode
- 	zero-size references.
- 
- 	* combine.c (distribute_links): Properly test for REG being set.
- 
- 	* config/alpha/alpha.c (alpha_expand_block_mode): Don't use
- 	gen_lowpart and company except for REG.
- 
- 2003-10-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa64-hpux.h (LINK_SPEC): Use `-z' option with HP ld.
- 
- 2003-10-10  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (mips*-*-netbsd*): Remove content-free line.
- 
- 2003-10-10  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
- 
- 	* gcov-io.h: Check BITS_PER_UNIT when defining gcov_unsigned_t,
- 	gcov_position_t and gcov_type.
- 
- 2003-10-09  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
- 	* configure: Regenerate.
- 
- 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (define_asm_attributes): Specify
- 	the length of an asm insn more precisely.
- 
- 2003-10-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris6.h (SUBTARGET_CPP_SPEC): Define.
- 
- 2003-10-09  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
- 	FP register number to 48 and MAC16 accumulator to 0x210.
- 
- 2003-10-09  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Remove redundant thread_file setting clauses for
- 	various *-*-linux* targets.
- 
- 2003-10-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (define_asm_attributes): New.
- 
- 2003-10-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
- 	to the comparison, as emit_libcall_block calls copy_rtx on equiv.
- 
- 2003-10-09  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* haifa-sched.c (ok_for_early_schedule): New function.
- 	(early_queue_to_ready): New function.
- 	(schedule_block): Allow early removal of insns from Q.
- 	(schedule_insn): Update INSN_TICK in case of premature
- 	issue.
- 	* common.opt (sched_stalled_insns): New flag.
- 	(sched_stalled_insns_dep): New flag.
- 	* flags.h: Same above flags.
- 	* opts.c: Same as above.
- 	* toplev.c: Same as above.
- 	* target.h (targetm.sched.is_costly_dependence): New
- 	hook.
- 	* target-def.h: Same as above.
- 	* config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
- 	Support new flag -msched-costly-dep.
- 	(DEFAULT_SCHED_COSTLY_DEP): Define.
- 	* config/rs6000/rs6000.c:
- 	(rs6000_is_costly_dependence): New function.
- 	(is_load_insn, is_store_insn): New functions.
- 	(is_load_insn1, is_store_insn1, is_mem_ref): New
- 	functions.
- 	* doc/invoke.texi (-fsched-stalled-insns-dep)
- 	(-fsched-stalled-insns, -msched-costly-dep): Document
- 	options.
- 	* doc/tm.texi (is_costly_dependence): Define new
- 	scheduler target hook.
- 
- 2003-10-09  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/6392
- 	* c-common.c (c_build_qualified_type): Look through arrays first.
- 	(c_apply_type_quals_to_decl): Look through arrays.
- 
- 	* c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
- 	types with constructors.
- 
- 	* coverage.c (build_ctr_info_value): Use build_decl to make a
- 	VAR_DECL.
- 	(create_coverage): Likewise.
- 
- 	* stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
- 	here.
- 	(expand_asm_operands): Not here.
- 	(parse_input_constraint): No longer static.
- 	* tree.h: Declare it.
- 
- 2003-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/t-linux (SHLIB_LINK): Override to use a linker script
- 	libgcc_s.so.
- 	(SHLIB_INSTALL): Likewise.
- 
- 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/install.texi: Remove reference to removed 'pthreads' thread
- 	option.
- 
- 2003-10-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
- 	operand 2.
- 
- 2003-10-08  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Don't accept --enable-threads=pthreads.  Clean
- 	up related case statements.
- 	* configure.in: Don't accept --enable-threads=pthreads,
- 	decosf1, mach, or os2 (none of which work anyway).  Alphabetize
- 	supported thread files in case clause.
- 	* configure: Regenerate.
- 
- 2003-10-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
- 	definition to above SPARC_STACK_BOUNDARY_HACK.
- 
- 2003-10-08  Jason Merrill  <jason@redhat.com>
- 
- 	* c-pretty-print.c (pp_c_postfix_expression)
- 	<COMPOUND_LITERAL_EXPR>: Fix thinko.
- 
- 2003-10-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* mklibgcc.in: Don't hide undefined or typeless symbols.
- 
- 2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR optimization/12142
- 	* cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
- 	uses of the register in the SET_SRC.  Remove unnecessary argument.
- 	* pa.c (legitimize_pic_address): Before reload, use a scratch register
- 	for the intermediate result in loading the address of a SYMBOL_REF.
- 	Set the MEM_NOTRAP_P flag for the MEM.  Add a REG_EQUAL to the insn
- 	which loads the SYMBOL_REF address.
- 
- 2003-10-08  Timo Kokkonen  <tjko@iki.fi>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR bootstrap/12490
- 	* scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
- 	to define the size of the extern_C_braces array.  Set it to 200.
- 	(scan_decls): Abort when extern_C_braces_length is out-of-bounds.
- 
- 2003-10-08  Carlo Wood  <carlo@alinoe.com>
- 
- 	* Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
- 	a space after the -o option.  flex 2.5.31 understands both, with
- 	and without the space. Removed that space.
- 
- 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_frame_info): Add cprestore_size field.
- 	(compute_frame_size): Initialize it.  Remove the .cprestore slot
- 	from args_size.
- 	(mips_output_function_prologue): Simplify accordingly.
- 	(mips_debugger_offset): Change the mips16 frame pointer offset from
- 	current_function_outgoing_args to cfun->machine->frame.args_size.
- 	(mips_initial_elimination_offset): Likewise.
- 	(mips_expand_prologue): Likewise.
- 	(mips_expand_epilogue): Likewise.
- 
- 2003-10-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
- 	(EXTRA_MEMORY_CONSTRAINT): Define.
- 	(CAN_ELIMINATE): Remove lwu workaround.
- 	* config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
- 	Use a 'W' constraint for the source operand.
- 
- 2003-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genopinit.c (main): Output code to declare undefined
- 	variables.
- 
- 2003-10-07  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* gengtype-lex.l: Remove -Wtraditional cruft.
- 	* Makefile.in (gengtype-lex.c): Likewise.
- 
- 2003-10-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
- 
- 2003-10-07  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/12519
- 	* c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
- 	it isn't a decl.
- 
- 2003-10-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcc.c (cpp_options): Only pass -fworking-directory for -g* if
- 	not overridden.
- 	Fixes PR bootstrap/12173.
- 
- 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* errors.c: Don't include coretypes.h or tm.h.
- 	(trim_filename): Use IS_DIR_SEPARATOR.
- 	* Makefile.in: Update dependencies of errors.o and
- 	$(BUILD_PREFIX_1)errors.o.
- 
- 2003-10-07  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
- 	account	when aligning arguments.
- 	* calls.c (STACK_POINTER_OFFSET): Move default from here ...
- 	* defaults.h (STACK_POINTER_OFFSET): ... to here.
- 	* config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
- 	it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
- 	(SPARC_STACK_BOUNDARY_HACK): Define.
- 	* config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
- 	arrange for vector parameters to varargs functions to be passed
- 	in both memory and GPRs when appropriate.
- 	(rs6000_va_arg): Vector arguments passed in memory are 16-byte
- 	aligned.
- 
- 	* hooks.c (hook_bool_tree_true): New.
- 	(hook_rtx_tree_int_null): New.
- 	(hook_rtx_rtx_null): Use NULL, not 0.
- 	* hooks.h: Add 'extern' to everything.
- 	(hook_bool_tree_true): New.
- 	(hook_rtx_tree_int_null): New.
- 	* targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
- 	* targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
- 	* config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
- 	prototype.
- 	* config/rs6000/rs6000.c (rs6000_return_in_memory): New.
- 	(setup_incoming_varargs): Prototype.
- 	(TARGET_PROMOTE_FUNCTION_ARGS): Define.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Define.
- 	(TARGET_STRUCT_VALUE_RTX): Define.
- 	(TARGET_RETURN_IN_MEMORY): Define.
- 	(TARGET_SETUP_INCOMING_VARARGS): Define.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Define.
- 	(TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
- 	(init_cumulative_args): Use rs6000_return_in_memory.
- 	(setup_incoming_varargs): Make 'static'.
- 	* config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
- 	(PROMOTE_FUNCTION_RETURN): Delete.
- 	(STRUCT_VALUE): Delete.
- 	(RETURN_IN_MEMORY): Delete.
- 	(SETUP_INCOMING_VARARGS): Delete.
- 
- 2003-10-07  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* doc/invoke.texi (Warning Options): Simplify and clarify the
- 	descriptions of -Wnonnull and -Winit-self.
- 
- 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* optabs.c (init_intraclass_conv_libfuncs): Fix order of array
- 	indicees for floating-point conversersion libcalls.
- 
- 2003-10-07  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in: Add more comments separating large conceptually
- 	separate sections.
- 
- 	* configure.in: Clean up thread file logic.
- 	* configure: Regenerate.
- 
- 2003-10-07  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
- 	(switch_to_section): Handle in_readonly_data.
- 	* config/i386/winnt.c (i386_pe_asm_named_section): Handle
- 	readonly data.
- 
- 2003-10-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
- 	it.
- 	(cbranchne_decr1): New Thumb pattern.
- 	* arm.c (arm_addimm_operand): New insn predicate.
- 	* arm-protos.h: Add a prototype for it.
- 	* arm.h (PREDICATE_CODES): Add it.
- 
- 2003-10-07  Dorit Naishlos <dorit@il.ibm.com>
- 
- 	* sched-int.h (sched_info): New field
- 	sched_max_insns_priority.
- 	* sched-rgn.c (init_ready_list): Add invocations to
- 	targetm.sched.adjust_priority.
- 	(sched_max_insns_priority): Init new field.
- 	* sched-ebb.c (sched_max_insns_priority): Init new field.
- 	* haifa-sched.c (set_priorities): Set
- 	sched_info->sched_max_insns_priority.
- 	* config/rs6000/rs6000.h:
- 	(rs6000_sched_restricted_insns_priority_str): Support new
- 	flag -mprioritize-restricted-insns.
- 	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
- 	* config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
- 	function.
- 	(rs6000_adjust_priority): Change priority of restricted
- 	insns, using above new function and new flag.
- 	* doc/invoke.texi (-mprioritize-restricted-insns): Document
- 	new option.
- 
- 2003-10-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* expr.c (cmpstr_optab, cmpmem_optab): New.
- 	* genopinit.c: Initialize them.
- 	* optabs.h: Declare them.
- 	* optabs.c (init_optabs): Clear them.
- 	(prepare_cmp_insn):  Use cmpstr_optab and cmpmem_optab to find
- 	block memory compare insns, not conditional chains.  Restructure
- 	the fallback generation of a call to memcmp/bcmp for better
- 	readability.
- 
- 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
- 	(mips_save_restore_fn): New typedef.
- 	(mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
- 	(mips_set_frame_expr, mips_frame_set): Move above prologue code.
- 	(save_restore_insns): Remove, replacing with...
- 	(mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
- 	(mips_save_reg, mips_restore_reg): New function.
- 	(mips_expand_prologue, mips_expand_epilogue): Rework.
- 	* config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
- 	(MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
- 	(MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
- 
- 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_expand_prologue): Remove unused
- 	traversal of function arguments.
- 
- 2003-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Remove documentation of -mentry.
- 	* config/mips/mips.c (mips_entry_string, mips_entry): Remove.
- 	(override_options, mips_save_reg_p): Remove handling.
- 	(compute_frame_size, mips_output_function_prologue): Likewise.
- 	(mips_expand_prologue, mips_expand_epilogue): Likewise.
- 	* config/mips/mips.h (mips_entry_string): Remove declaration.
- 	(TARGET_OPTIONS): Remove -mentry.
- 	* config/mips/mips16.S: Remove mention of -mentry.
- 
- 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
- 	(LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
- 	(LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
- 	(LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
- 	(LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
- 	(LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
- 	(LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
- 	(LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
- 	(LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
- 	(LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
- 	(LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
- 	(extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
- 	(extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
- 	(truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
- 	(trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
- 	(floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
- 	(floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
- 	(floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
- 	(floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
- 	(fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
- 	(fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
- 	(fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
- 	(fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
- 	(fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
- 	(fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
- 	(fixunstfti_libfunc): Delete.
- 	* optabs.h (struct optab_handlers): Break out of struct optab.
- 	(struct convert_optab, convert_optab, enum convert_optab_index,
- 	convert_optab_table, sext_optab, zext_optab, trunc_optab,
- 	sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
- 	sfloat_optab, ufloat_optab): New.
- 	(set_conv_libfunc): Prototype.
- 	(GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
- 	(trunc_optab): Renamed btrunc_optab.
- 	* builtins.c (expand_builtin_mathfn): Update to match.
- 	* optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
- 	(convert_optab_table, new_convert_optab, init_convert_optab)
- 	(init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
- 	(set_conv_libfunc): New.
- 	(can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
- 	(expand_float, expand_fix): Use new conversion optabs,
- 	not old insn code tables or long chains of ifs.
- 	(init_optabs): No need to clear old insn code tables.
- 	Initialize the new optabs, not the old libfunc array entries.
- 	Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
- 	* genopinit.c: Initialize conversion optabs, not the
- 	former insn code tables.  Remove unnecessary casts.
- 	Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
- 	* expr.c (convert_move): Remove redundant check that
- 	to_real==from_real.  Use the conversion optabs instead
- 	of long chains of tests of modes.  Move partial-integer-mode
- 	interconversion above all integer conversion.  Do not recurse
- 	on a value forced into a register in the original mode.
- 
- 	* config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
- 	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
- 	* config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
- 	in new conversion optabs; do not reference the old libfunc
- 	array entries.  No need to include libfuncs.h.
- 
- 2003-10-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (ix86_expand_setcc): Annotate the floating
- 	point comparison sequence with a REG_EQUAL note that describes
- 	the comparison's semantics.
- 
- 2003-10-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
- 	of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
- 
- 2003-10-06  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
- 	instruction by using LCT_CONST and then calling emit_libcall_block
- 	ourselves.
- 
- 2003-10-06  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR optimization/11974
- 	* optabs.c (expand_unop): Promote libcall outmode according to
- 	hard_libcall_value.
- 
- 2003-10-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* real.h (REAL_MODE_FORMAT): New macro.
- 	* c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
- 	* config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
- 	* config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
- 	* config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
- 	* config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
- 	directly to real_format_for_mode array, wherever possible.
- 
- 2003-10-06  Devang Patel  <dpatel@apple.com>
- 
- 	* dwarf2out.c (is_main_source): Remove variable.
- 	(dwarf2out_start_source_file): Do not check is_main_source.
- 	Do not reset is_main_source.
- 	(dwarf2out_init): Do not initialize is_main_source.
- 
- 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
- 	(irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
- 	introduced some multi-line prototypes.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
- 	* config/mips/mips.c (stack_operand): New predicate.
- 	* config/mips/mips.md: Use it for the destination of mips16 insns
- 	that store $31.
- 
- 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*lowsi): Renamed from lowsi.
- 	(*lowdi): Likewise lowdi.
- 	(*lowsi_mips16, *lowdi_mips16): New patterns.
- 	* config/mips/mips.c (mips_const_insns, mips_output_move): Remove
- 	mips16 CONSTANT_RELOC handling.
- 	(mips_delegitimize_address): Adjust for new sdata representation.
- 
- 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
- 	skip any remaining register arguments.
- 
- 2003-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads_subreg_address): Use correct offset for
- 	paradoxical MEM subregs on big-endian targets.
- 
- 2003-10-06  Andrew Haley  <aph@redhat.com>
- 
- 	* tree.c (get_callee_fndecl): Call
- 	lang_hooks.lang_get_callee_fndecl.
- 	* langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
- 	(lhd_get_callee_fndecl): New.
- 
- 2003-10-06  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
- 	error in calculating the length of the string.
- 	(machopic_stub_name): Likewise.
- 
- 2003-10-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.c (prepare_float_lib_cmp):  Attach a REG_EQUAL note
- 	describing the return value of the comparison libcall to the
- 	REG_RETVAL instruction of the emitted sequence.
- 
- 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12215
- 	* cse.c (cse_set_around_loop): Emit the move at the beginning
- 	of the next basic block for trapping sets.
- 
- 2003-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11637
- 	* combine.c (adjust_for_new_dest): New function to adjust the
- 	notes and LOG_LINKS when the dest of an insn has changed.
- 	(try_combine): Use it when deleting the first insn of a two-insn
- 	parallel or splitting a two-load parallel.
- 
- 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
- 	if TARGET_EXPLICIT_RELOCS.
- 
- 2003-10-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR bootstrap/12512
- 	* Makefile.in (info): Use double-colon rules.
- 	(dvi): Likewise.
- 	(generated-manpages): Likewise.
- 	* configure.in: Do not create lang.info, lang.dvi, or
- 	lang.generated-manpages hooks.
- 	* configure: Regenerated.
- 	* objc/Make-lang.in (objc.info): Remove.
- 	(objc.dvi): Remove.
- 	(objc.generated-manpages): Remove.
- 	* doc/sourcebuild.texi: Update description of info, dvi, and
- 	generated-manpages hooks.
- 
- 2003-10-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
- 
- 2003-10-05  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
- 	errors in memcpy destinations.
- 	(machopic_stub_name): Likewise.
- 
- 2003-10-05  Andrew Pinski <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_non_lazy_ptr_name):
- 	Change strcat to memcpy and add length together.
- 	(machopic_stub_name): Likewise.
- 
- 2003-10-05  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
- 	signal trampoline codes.
- 
- 2003-10-05  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (*divsf3): Move description of
- 	SB-1 F2 erratum from here to...
- 	(divsf3): Here.  Disable if TARGET_FIX_SB1 is set and
- 	flag_unsafe_math_optimizations is not.
- 
- 2003-10-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
- 	TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
- 
- 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-pretty-print.c: Fix comment typos.
- 	* c-pretty-print.h: Likewise.
- 	* calls.c: Likewise.
- 	* cfgloopmanip.c: Likewise.
- 	* cgraphunit.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* final.c: Likewise.
- 	* function.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcse.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* loop.c: Likewise.
- 	* postreload.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* regmove.c: Likewise.
- 	* sched-int.h: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* config/m68hc11/m68hc11.h: Likewise.
- 	* config/mmix/mmix.c: Likewise.
- 	* config/mn10300/mn10300.md: Likewise.
- 	* config/sh/sh.h: Likewise.
- 
- 2003-10-05  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-inline.c (remap_type): New.
- 	(remap_decl): Use it.  Remap DECL_SIZE*.
- 	(copy_body_r): Use it.
- 	(walk_tree): Walk TREE_TYPE too.
- 	(copy_tree_r): Don't walk subtrees of types.
- 	* tree.c (variably_modified_type_p): Restructure.  Consider integer
- 	types with non-const bounds variably modified.
- 
- 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Fix typos.
- 
- 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c: Follow spelling conventions.
- 	* function.c: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/rs6000/aix.h: Likewise.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/xtensa/xtensa.c: Likewise.
- 
- 2003-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-pretty-print.c: Fix comment formatting.
- 	* cfglayout.c: Likewise.
- 	* cfgloopanal.c: Likewise.
- 	* cppcharset.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* ggc.h: Likewise.
- 	* target.h: Likewise.
- 
- 2003-10-04  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
- 
- 2003-10-04  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
- 	Convert to ISO C90 function declarations and definitions.
- 
- 2003-10-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* libfuncs.h
- 	(LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
- 	(LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
- 	(LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
- 	(LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
- 	(LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
- 	(LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
- 	(LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
- 	(eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
- 	(lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
- 	(nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
- 	(lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
- 	(gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
- 	(unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
- 	(gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
- 	(eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
- 	(lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
- 	Delete.
- 	* optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
- 	(OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
- 	(le_optab, unord_optab): New.
- 
- 	* optabs.c (prepare_float_lib_cmp): Rewrite.  Get the libfuncs
- 	from the code_to_optab table, not a giant switch; use
- 	swap_condition; do widening only if a comparison function that
- 	we can call exists in a wider mode, not if a cmp_optab insn or
- 	libfunc exists in a wider mode; call protect_from_queue
- 	exactly once on each operand.
- 	(init_optabs): Initialize the new optabs, not the deleted libfuncs.
- 
- 	* config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
- 	* config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
- 	Set floating point comparison libfuncs using set_optab_libfunc
- 	on the appropriate optab.
- 
- 	* config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
- 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
- 	selector conditionals.
- 
- 2003-10-04  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
- 	identical to m68hc12 as far as libraries are concerned.
- 
- 2003-10-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/12446
- 	* c-typeck.c (convert_for_assignment): Issue an error for
- 	array to pointer assignment after default conversion.
- 	(digest_init): Likewise.
- 
- 2003-10-04  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
- 
- 2003-10-03  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* doc/extend.texi (Function Attributes): Fix title of GNU C
- 	Preprocessor manual.
- 	(C++ Extensions): Fix reference to "Predefined Macros" in the
- 	GNU C Preprocessor manual.
- 
- 2003-10-04  Richard Earnshaw  <reanrsha@arm.com>
- 
- 	* doc/extend.texi: Document how GCC estimates and relies on the size
- 	of an asm.
- 
- 2003-10-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
- 	arguments downward for big-endian o64.
- 
- 2003-10-03  Robert Bowdidge <bowdidge@apple.com>
- 
- 	* ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
- 	PCH generation, avoiding too-frequent flushes when writing to NFS
- 	file system.
- 
- 2003-10-03  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (lookup_category): Mark as 'inline'.
- 
- 2003-10-03  Alexander Malmberg  <alexander@malmberg.org>
- 	    Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (add_method_to_hash_list, lookup_category):
- 	New functions.
- 	(lookup_method_in_hash_lists): New parameter indicating whether
- 	we are messaging 'Class' or 'id'.
- 	(check_duplicates): Likewise; do not assume all methods will
- 	be either class or instance methods.
- 	(generate_category, finish_class): Use lookup_category().
- 	(add_method): Use add_method_to_hash_list(); insert instance
- 	methods of root classes into the global class method hash table.
- 	(add_category): Use lookup_category(); avoid constructing
- 	duplicate categories.
- 	(really_start_method): Add method to corresponding @interface,
- 	if not already there (and if the @interface exists).
- 	(finish_message_expr, finish_objc): Adjust calls to
- 	check_duplicates().
- 
- 2003-10-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/9325, PR java/6391
- 	* fold-const.c (fold_convert): For floating point to integer
- 	conversions, return the maximum/minimum representable integer
- 	value if the real constant overflows the destination type.
- 	* tree.c (real_value_from_int_cst): Allow the type to be NULL,
- 	meaning don't truncate the result to a floating point mode.
- 	Simplify the logic by calling real_from_integer directly.
- 	* simplify-rtx.c (simplify_unary_operation):  Implement the
- 	same semantics for folding floating point to integer conversions
- 	in RTL.
- 
- 2003-10-03  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (mips_emit_prefetch): Restructure
- 	to avoid use of arrays, handle indexed prefetch.
- 	* config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
- 	(ISA_HAS_PREFETCHX): New deffine.
- 	* config/mips/mips.md ("type" attr): Add new "prefetchx" value,
- 	update comments.
- 	(prefetch_indexed_di, prefetch_indexed_si): New insns.
- 
- 2003-10-03  Jeff Sturm  <jsturm@one-point.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/12289
- 	* calls.c (emit_call_1): Pretend to have popped the arguments
- 	to noreturn and longjmp functions instead of ignoring them.
- 	(expand_call): Don't adjust stack_pointer_dela while
- 	inhibit_defer_pop is set.
- 
- 2003-10-03  Andreas Schwab  <schwab@suse.de>
- 
- 	PR bootstrap/12276
- 	* configure.in: Check for libunwind on the host only if building
- 	a native compiler.
- 	* configure: Regenerated.
- 
- 2003-10-03  Paolo Carlini  <pcarlini@unitus.it>
- 
- 	* unwind-pe.h (read_encoded_value_with_base): Constify u and
- 	its inizialization cast.
- 
- 2003-10-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/12485
- 	* config/mips/mips.c (mips_load_got): GOT accesses can't trap.
- 
- 2003-10-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR optimization/12180
- 	* tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
- 	functions containing calls to __builtin_next_arg.
- 
- 2003-10-02  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (mips_emit_prefetch): Use operand 3
- 	in instructions being output.
- 	* config/mips/mips.md (prefetch_si_address): Change third
- 	operand's constraint letter to 'I'.
- 	(prefetch_di_address): Likewise.
- 	(prefetch_si, prefetch_di): Set third operand to const0_rtx.
- 
- 2003-10-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* system.h: Poison macros obsoleted by earlier patch.
- 	* config/cris/cris.c: C90-ify a function definition.
- 
- 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/12292
- 	* combine.c (make_field_assignment): Check whether rtx's code
- 	is CONST_INT before using INTVAL.
- 
- 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cgraph.c (cgraph_node): Use INSERT instead of 1 in
- 	htab_find_slot_with_hash.
- 	(cgraph_node_for_identifier): Use NO_INSERT.
- 	(cgraph_remove_node): Use NO_INSERT.
- 	(cgraph_varpool_node): Use INSERT.
- 	(cgraph_varpool_node_for_identifier): Use NO_INSERT.
- 
- 2003-10-02  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	Waldek Hebisch <hebisch@math.uni.wroc.pl>
- 	PR/12072
- 	* varasm.c (compare_constant): Fix thinko.
- 
- 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_issue_rate): New function.
- 	(frv_pack_insns): Use it.
- 	(TARGET_SCHED_ISSUE_RATE): Define.
- 
- 2003-10-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
- 
- 	* config/mcore/mcore.c: Convert to ISO C90 function declarations
- 	and definitions.
- 	* config/mcore/mcore.h: Likewise.
- 	* config/mcore/mcore-protos.h: Likewise.
- 
- 2003-10-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_use_dfa_pipeline_interface): New function.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
- 
- 2003-10-01  Per Bothner  <pbothner@apple.com>
- 
- 	* c-lex.c (src_line):   Remove unneeded static variable.
- 	(cb_line_change):  Set input_line directly, instead of src_line.
- 	(get_non_padding_token):  We no longer need to compensate for the
- 	"horrible things" the C++ front-end does with the current line number,
- 
- 	* cpplib.c (_cpp_pop_buffer):  Do generate a _cpp_do_file_change
- 	callback even when popping the main file.
- 	* c-lex.c (fe_file_change):  Handle a NULL new_map.
- 	* fix-header.c (cb_file_change):  Likewise.
- 	* c-ppoutput.c (pp_file_change):  Likewise.
- 
- 	* cppinit.c (cpp_read_main_file):  Split into two functions:
- 	Distribute _cpp_stack_file call over the two functions.
- 	(cpp_find_main_file):  New function.
- 	Don't call _cpp_do_file_change even if working_directory flag set.
- 	(cpp_push_main_file):  New function.
- 	* cppfiles.c (_cpp_find_failed):  New helper function.
- 	(find_file):  Made non-static and renamed to _cpp_find_file.
- 	(_cpp_stack_file):  No longer needed.  But note the following.
- 	(stack_file):  Made non-static and renamed to _cpp_stack_file.
- 	* fix-header.c (cpp_read_main_file):  Replace cpp_read_main_file
- 	call with calls to cpp_find_main_file and cpp_push_main_file.
- 	(search_path_head):  If there is no current buffer, use main_file.
- 	* cpphash.h:  Update function declarations.
- 	* cpplib.h:  Update function declarations.
- 
- 	* c-opts.c (c_common_post_options):  Don't call cpp_find_main_file yet.
- 	(c_common_parse_file):  No longer need to call cpp_read_main_file
- 	when file_index > 0 (as in multi-file or server compiation).
- 	(finish_options):  Change to <built-in> is an LC_ENTER, not LC_RENAME
- 	as this now happens before cpp_push_main_file.
- 	(push_command_line_include):  When done with options, pass LC_LEAVE
- 	instead of LC_RENAME to cpp_change_file and finally cpp_push_main_file.
- 	(fe_file_change):  Handle NULL new_map, and simplify.
- 	* cpplex.c (_cpp_get_fresh_line):  Revert my no-longer-needed
- 	08-28 change, since we're never called with a NULL buffer.
- 	(_cpp_lex_direct):  Likewise.
- 	* cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
- 	Return false if buffer is NULL at end.
- 
- 	* cpplex.c (_cpp_get_fresh_line):  Return value now just depends on
- 	whether pfile->buffer is NULL after pop, ignoring return_at_eof.
- 	* cpphash.h (struct cpp_buffer):  Remove unused return_at_eof field.
- 	* cpplib.c (cpp_push_buffer):  Since we no longer set return_at_eof,
- 	remove the unused return_at_eof parameter.
- 	* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
- 	Update callers of cpp_push_buffer.
- 
- 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* target.h (init_libfuncs): New hook.
- 	* target-def.h: Default TARGET_INIT_BUILTINS and
- 	TARGET_INIT_LIBFUNCS to hook_void_void.  Add
- 	TARGET_INIT_LIBFUNCS to TARGET_INITIALIZER.
- 	* builtins.c (default_init_builtins): Delete.
- 	* expr.h (default_init_builtins): Delete prototype.
- 	* doc/tm.texi: Document TARGET_INIT_LIBFUNCS and US_SOFTWARE_GOFAST.
- 	Tweak documentation of TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL.
- 	Remove documentation of INIT_TARGET_OPTABS, MULSI3_LIBCALL,
- 	DIVSI3_LIBCALL, UDIVSI3_LIBCALL, MODSI3_LIBCALL, UMODSI3_LIBCALL,
- 	MULDI3_LIBCALL, DIVDI3_LIBCALL, UDIVDI3_LIBCALL, MODDI3_LIBCALL,
- 	and UMODDI3_LIBCALL,
- 
- 	* Makefile.in (optabs.o): Depends on target.h.
- 	* defaults.h: Provide default for FLOAT_LIB_COMPARE_RETURNS_BOOL.
- 	* optabs.c: Include target.h.
- 	(prepare_float_lib_cmp): No need for #ifdef around use of
- 	FLOAT_LIB_COMPARE_RETURNS_BOOL.
- 	(set_optab_libfunc): New function.
- 	(init_optabs): Delete use of all *_LIBCALL defines.
- 	Call targetm.init_libfuncs not INIT_TARGET_OPTABS.
- 	* optabs.h: Prototype set_optab_libfunc.
- 
- 	* config.gcc: Remove all references to pa/long_double.h,
- 	ia64/hpux_longdouble.h, and gofast.h.
- 	(mips-*-*): When --enable-gofast, just add US_SOFTWARE_GOFAST
- 	to tm_defines; don't set INIT_SUBTARGET_OPTABS or change tm_file.
- 
- 	* config/alpha/alpha.c, config/c4x/c4x.c, config/cris/cris.c
- 	* config/frv/frv.c, config/h8300/h8300.c, config/i860/i860.c
- 	* config/ia64/ia64.c, config/ip2k/ip2k.c, config/m68hc11/m68hc11.c
- 	* config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
- 	* config/sparc/sparc.c, config/vax/vax.c:
- 	Provide a definition for TARGET_INIT_LIBFUNCS.  Where
- 	necessary, include optabs.h, libfuncs.h, and/or config/gofast.h.
- 
- 	* config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.h
- 	* config/avr/avr.h, config/cris/cris.h, config/frv/frv.h
- 	* config/h8300/h8300.h, config/i860/i860.h, config/ip2k/ip2k.h
- 	* config/iq2000/iq2000.h, config/m68hc11/m68hc11.h, config/mips/mips.h
- 	* config/rs6000/aix.h, config/rs6000/sysv4.h, config/sparc/elf.h
- 	* config/sparc/lite.h, config/sparc/netbsd-elf.h, config/sparc/sol2.h
- 	* config/sparc/sparc.h, config/v850/v850.h, config/vax/vax.h
- 	* config/vax/elf.h: Don't define or use INIT_TARGET_OPTABS,
- 	INIT_SUBTARGET_OPTABS, or any *_LIBCALL macros.
- 
- 	* config/ia64/hpux.h: Redefine INTEL_EXTENDED_IEEE_FORMAT to 0.
- 	Set TARGET_INIT_LIBFUNCS and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
- 	* config/pa/pa-hpux.h: Define LONG_DOUBLE_TYPE_SIZE,
- 	HPUX_LONG_DOUBLE_LIBRARY, and FLOAT_LIB_COMPARE_RETURNS_BOOL here.
- 	* config/ia64/hpux_longdouble.h, config/pa/long_double.h: Delete.
- 
- 	* config/rs6000/xcoff.h: Don't define RS6000_ITRUNC nor RS6000_UITRUNC.
- 	* config/sparc/sparc.h: Default SUN_CONVERSION_LIBFUNCS and
- 	SUN_INTEGER_MULTIPLY_64 to 0.
- 	* config/sparc/sol2.h: Redefine SUN_CONVERSION_LIBFUNCS and
- 	SUN_INTEGER_MULTIPLY_64 to 1.
- 	* config/sparc/elf.h: Redefine SUN_CONVERSION_LIBFUNCS and
- 	SUN_INTEGER_MULTIPLY_64 to 0.
- 	* config/sparc/lite.h, config/sparc/liteelf.h, config/sparc/sp86x-elf.h:
- 	Define US_SOFTWARE_GOFAST.
- 	* config/vax/vax.h: Default TARGET_ELF to 0.
- 	* config/vax/elf.h: Redefine TARGET_ELF to 1.
- 
- 	* config/gofast.h: Don't define any macros here.  Provide one
- 	static function, gofast_maybe_init_libfuncs, which does what
- 	INIT_GOFAST_LIBFUNCS used to do but only if US_SOFTWARE_GOFAST
- 	is already defined.  Do not clear negation libfuncs.  Do
- 	not mess with HFmode, XFmode, or TFmode libfuncs.
- 
- 	* config/avr/avr.c (avr_init_once): #if 0 out; mark FIXME.
- 
- 2003-10-01  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	PR C/12466
- 	* c-parse.in (parmlist_2): Mark declaration with an ellipsis as ISO C.
- 
- 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/xm-iris5.h: Remove, unnecessary.
- 	* config.build (mips-sgi-irix5*): Remove.
- 	(mips-sgi-irix6*o32): Likewise.
- 	* config.gcc (mips-sgi-irix6*o32): Remove xm_file.
- 	(mips-sgi-irix5cross64): Likewise.
- 	(mips-sgi-irix5*): Likewise.
- 	* config.host (mips-sgi-irix5*): Remove.
- 	(mips-sgi-irix6*o32): Likewise.
- 
- 2003-10-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c (dbxout_fptype_value): Delete.
- 	(dbxout_type): Emit R3 for all COMPLEX_TYPEs.
- 
- 2003-10-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* output.h (compute_reloc_for_constant): Declare.
- 	* varasm.c (compute_reloc_for_constant): Extract from...
- 	(output_addressed_constants): ... here.  Adjust all callers.
- 
- 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* aclocal.m4: Add hpux10* and hpux11.00 to /dev/zero blacklist.
- 	* configure: Rebuilt.
- 
- 2003-10-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (make_range): When handling unsigned, don't reverse
- 	range if high bound is zero.
- 
- 2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.h (PREDICATE_CODES): Added
- 	condexec_si_media_operator, condexec_sf_add_operator and
- 	condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
- 	and condexec_sf_unary_operator.
- 
- 2003-10-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* aclocal.m4: Add ultrix* to /dev/zero blacklist.
- 	* configure: Rebuilt.
- 
- 2003-10-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Revert 2003-09-23 change.
- 	Allow override.
- 	* doc/tm.texi (MUST_USE_SJLJ_EXCEPTIONS): Document.
- 
- 2003-09-23  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefine
- 	before redefining.
- 	* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
- 
- 2003-10-01  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* config/cris/cris-protos.h, config/cris/cris.c: Convert to ISO
- 	C90 function declarations and definitions.
- 
- 2003-10-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (cris-*-linux*): Revert mistaken commit.
- 
- 2003-10-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11753
- 	* config/sparc/sparc.md (length attribute) [fcc branch]: Add 1 to
- 	the length in the non-V9 case.
- 
- 2003-09-30  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Honor
- 	DWARF_ALT_FRAME_RETURN_COLUMN.
- 	* unwind-dw2.c (dwarf_reg_size_table): Expand by one.
- 	(_Unwind_GetGR, _Unwind_SetGR): Validate lookup column.
- 	(uw_frame_state_for): Return end-of-stack for null return address.
- 	* doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Add.
- 
- 	* config/alpha/alpha.c (alpha_sa_mask): Add r31 for eh_return.
- 	(alpha_expand_prologue): Store a zero for it.
- 	(alpha_expand_epilogue): Don't reload it.
- 	* config/alpha/alpha.h (DWARF_ALT_FRAME_RETURN_COLUMN): New.
- 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use column 64
- 	for the sigframe return address.
- 
- 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
- 
- 	* sdbout.c: Convert to ISO C90 prototypes.
- 	* objc/objc-act.c: Likewise.
- 
- 2003-09-30  Kelley Cook  <kelleycoook@wideopenwest.com>
- 
- 	* config/i386/cygwin1.c: Convert to ISO C90 prototypes.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i386/cygming.h: Likewise.
- 
- 2003-09-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Fold (A & ~B) - (A & B) into
- 	(A ^ B) - B for any B.
- 
- 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
- 	powerpcle-*-kaos*, strongarm-*-kaos*): Disable fixproto.
- 
- 2003-09-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/ieee754-sf.S: Tidy formatting.
- 
- 2003-09-30  Nicolas Pitre  <nico@cam.org>
- 
- 	* arm/lib1funcs.asm (ARM_DIV_MOD_BODY): Split into ARM_DIV_BODY
- 	and ARM_MOD_BODY.
- 	(ARM_MOD_BODY): Rewritten. added clz insns for __ARM_ARCH__ >= 5.
- 	(ARM_DIV_BODY): Added clz insns for __ARM_ARCH__ >= 5,
- 	added better divisor alignment in the other case.
- 	(ARM_DIV2_ORDER): Added, finds the order of a single bit divisor.
- 	(__divsi3, __udivsi3, __modsi3, __umodsi3): rewritten using the
- 	macros above, add fast exits for divisor >= dividend, etc.
- 
- 2003-09-30  Nicolas Pitre  <nico@cam.org>
- 
- 	* arm/ieee754-df.S: Split compilation of fixunsdfsi from
- 	L_fixdfsi target.
- 	* arm/t-arm-elf (LIB1ASMFUNCS): Add _fixunsdfsi.
- 
- 2003-09-30  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Default use_fixproto to 'no'.
- 
- 2003-09-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR optimization/12345
- 	* config/mips/mips-protos.h (mips_restore_gp): Remove.
- 	(mips_gp_save_slot): Declare.
- 	* config/mips/mips.c (mips_restore_gp): Remove in favor of...
- 	(mips_gp_save_slot): ...this new function.
- 	* config/mips/mips.md (exception_receiver): Use mips_gp_save_slot
- 	and mips_output_move to generate the output template.
- 	(call_internal): Force splitting if TARGET_SPLIT_CALLS.  Don't emit
- 	a gp load after a noreturn call.  Load the gp using a move rather
- 	than an exception_receiver pattern.
- 	(call_value_internal, call_value_multiple_internal): Likewise.
- 	(call_split, call_value_split, call_value_multiple_split): Clobber $28.
- 
- 2003-09-30  Carlo Wood  <carlo@alinoe.com>
- 
- 	PR debug/12319
- 	* cfglayout.c (insn_scope):  Use prologue_locator and
- 	epilogue_locator; return the outer function scope for
- 	pro- and epilogue insns.
- 
- 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* objc/objc-act.c (encode_type): Encode INTEGER_TYPEs and
- 	REAL_TYPEs based on the bitsize of the type's mode, not the
- 	mode directly.
- 
- 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* dwarf2out.c (default_eh_frame_section): Split into ...
- 	(named_section_eh_frame_section, collect2_eh_frame_section): ... new
- 	functions.
- 	* output.h (named_section_eh_frame_section): Declare.
- 	(collect2_eh_frame_section): Likewise.
- 
- 2003-09-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* real.c (real_sqrt): Use get_canonical_qnan directly.
- 
- 	* dwarf2out.c (add_const_value_attribute): Use real_to_target.
- 
- 	* varasm.c (assemble_real): Use real_to_target directly,
- 	calculate the number of significant elements of the result
- 	array and write them out in a loop, instead of using a giant
- 	switch statement to pick the correct REAL_VALUE_TO_TARGET_*
- 	macro.
- 
- 2003-09-29  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c++/12175
- 	* varasm.c (notice_global_symbol): Discard external symbols.
- 
- 	PR optimization/12286
- 	* gcov-io.c (gcov_read_words): Fix memmove call.
- 	* profile.c (compute_branch_probabilities): Add extra sanity checks.
- 
- 2003-09-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (sparc-*-solaris2*): Handle Solaris 10 and up like
- 	Solaris 7-9.
- 
- 	* fixinc/inclhack.def (solaris_widec): Replace solaris2.[0-5]* by
- 	wildcards which explicitly match micro versions.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Fold (A & ~B) - (A & B) into
- 	(A ^ B) - B, where B is any power of 2 minus 1.
- 
- 2003-09-29  Jan Hubicka  <jh@suse.cz>
- 
- 	* libgcov.c (gcov_exit): Fix two pastos.
- 
- 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*tst_extzv_1_n): Combine with the
- 	define_split immediately below to form define_insn_and_split.
- 
- 2003-09-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*tstsi_variable_bit): New.
- 	(*tstsi_variable_bit_qi): Likewise.
- 
- 2003-09-28  Phil Edwards  <phil@codesourcery.com>
- 
- 	* doc/cppopts.texi:  Use 'dashMP' instead of '-MP' as a cross-
- 	reference name.
- 
- 2003-09-28  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Copy DECL_SOURCE_LOCATION, not
- 	file and line separately.
- 
- 2003-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*adddi3_carry1_cc", "*adddi3_carry1_cconly",
- 	"*adddi3_carry2_cc", "*adddi3_carry2_cconly", "*subdi3_borrow_cc",
- 	"*subdi3_borrow_cconly"): New insns.
- 	("*addsi3_sub", "*subsi3_sub"): Remove.
- 	("*subdi3_cc", *subdi3_cconly"): Use only if TARGET_64BIT.
- 	("*subsi3_cc"): Fix op_type attribute.
- 
- 2003-09-28  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (expand_asm_operands): Take a location_t, instead of
- 	individual file and line.
- 	* c-typeck.c (c_expand_asm_operands): Likewise.
- 	* tree.h (expand_asm_operands): Update decl.
- 	* c-common.h (c_expand_asm_operands): Likewise.
- 	* c-semantics (genrtl_asm_stmt): Update call.
- 
- 2003-09-28  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (legitimize_pic_address): Check
- 	SYMBOL_REF_LOCAL_P, not ENCODED_SHORT_CALL_ATTR_P.
- 	(arm_assemble_integer): Likewise.
- 
- 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
- 	config/c4x/c4x-c.c, config/c4x/c4x-protos.h, config/c4x/c4x.c,
- 	config/c4x/c4x.h:
- 	Convert to ISO C90 function declarations and definitions.
- 
- 2003-09-28  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	*  config/stormy16/stormy16.c, config/stormy16/stormy16-protos.h:
- 	Convert to ISO C90 function declarations and definitions.
- 
- 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_constant_info): Add reloc field.
- 	(mips_classify_constant): Initialize it.  Always set SYMBOL to the
- 	underlying symbol, not to an unspec.
- 	(mips_delegitimize_address, print_operand): Clean up accordingly.
- 
- 2003-09-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips16_gp_pseudo_reg): Remove.
- 	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Remove orphaned comment.
- 	* config/mips/mips.c (mips_reloc_offset_ok_p): New function.
- 	(mips_classify_constant): Use it.
- 	(mips_splittable_symbol_p): Add an offset argument.
- 	(mips_classify_address): Adjust call accordingly.
- 	(mips_legitimize_symbol): Handle sdata references with LO_SUM rather
- 	than a relocation unspec.  Update call to mips_splittable_symbol_p.
- 	Generalize the code that copes with symbols + invalid offsets.
- 	(print_operand): Allow '%R' to be applied to small data addresses.
- 	(mips_reloc_string): Remove RELOC_GPREL16.
- 	(mips_sdata_pointer): Renamed from mips16_gp_pseudo_reg.  Return $gp
- 	for TARGET_EXPLICIT_RELOCS.  Return null if we can't use gp-relative
- 	relocation operators.
- 	* config/mips/mips.md (RELOC_GPREL16): Remove.  Shuffle other reloc
- 	constants accordingly.
- 
- 2003-09-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* toplev.c (flag_evaluation_order): New global variable.
- 	* flags.h (flag_evaluation_order): Prototype here.
- 	* expr.c (expand_operands): If we need to preserve observable
- 	evaluation order, protect exp1 from clobbering exp0's result.
- 
- 2003-09-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-decl.c (finish_function): Convert definition to ISO C90.
- 	* ifcvt.c (mark_loop_exit_edges): Likewise.
- 	* ra-rewrite.c (emit_colors): Likewise.
- 
- 2003-09-27  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (alpha*-dec-osf[45]*): Disable fixproto.
- 	* config.gcc (arm*-*-uclinux*): Disable fixproto.
- 	* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
- 	powerpc-*-eabialtivec*): Disable fixproto.
- 
- 2003-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/12340
- 	* loop.h (struct induction): Document the new semantics
- 	of the 'same' field for bivs.
- 	* unroll.c (biv_total_increment): Don't count the same
- 	biv increment several times.
- 	(loop_iterations) [GENERAL_INDUCT]: Likewise.
- 
- 2003-09-27  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* unroll.c (loop_interations)[GT]: Add missing break.
- 
- 2003-09-27  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/chorus.h, config/darwin-c.c, config/darwin-protos.h,
- 	config/darwin.c, config/darwin.h, config/dbx.h, config/dbxcoff.h,
- 	config/dbxelf.h, config/elfos.h, config/fp-bit.h,
- 	config/freebsd-nthr.h, config/freebsd-spec.h, config/freebsd.h,
- 	config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
- 	config/freebsd6.h, config/netbsd-aout.h, config/netbsd-elf.h,
- 	config/netbsd.h, config/netware.h, config/openbsd-oldgas.h,
- 	config/openbsd.h, config/ptx4.h, config/alpha/alpha-protos.h,
- 	config/alpha/alpha.c, config/alpha/alpha.h, config/alpha/alpha.md,
- 	config/alpha/elf.h, config/alpha/ev4.md, config/alpha/ev5.md,
- 	config/alpha/ev6.md, config/alpha/freebsd.h, config/alpha/linux-elf.h,
- 	config/alpha/linux.h, config/alpha/netbsd.h, config/alpha/openbsd.h,
- 	config/alpha/osf.h, config/alpha/osf5.h, config/alpha/unicosmk.h,
- 	config/alpha/vms-cc.c, config/alpha/vms-crt0-64.c,
- 	config/alpha/vms-crt0.c, config/alpha/vms-dwarf2.asm,
- 	config/alpha/vms-dwarf2eh.asm, config/alpha/vms-ld.c,
- 	config/alpha/vms-psxcrt0-64.c, config/alpha/vms-psxcrt0.c,
- 	config/alpha/vms.h, config/alpha/vms64.h, config/alpha/vms_tramp.asm,
- 	config/alpha/xm-vms.h, config/arc/arc-modes.def,
- 	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
- 	config/arc/arc.md, config/arc/initfini.c, config/arc/lib1funcs.asm,
- 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
- 	config/avr/avr.md, config/d30v/d30v-protos.h, config/d30v/d30v.h,
- 	config/d30v/d30v.md, config/fr30/fr30-protos.h, config/fr30/fr30.c,
- 	config/fr30/fr30.h, config/fr30/fr30.md, config/fr30/lib1funcs.asm,
- 	config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
- 	config/frv/frv-abi.h, config/frv/frv-asm.h, config/frv/frv-modes.def,
- 	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
- 	config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
- 	config/frv/lib1funcs.asm, config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
- 	config/h8300/parityhi2.c, config/h8300/popcounthi2.c,
- 	config/i370/i370-c.c, config/i370/i370-protos.h, config/i370/i370.c,
- 	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
- 	config/i370/mvs.h, config/i370/oe.h, config/i386/darwin.h,
- 	config/i960/i960-c.c, config/i960/i960-coff.h,
- 	config/i960/i960-modes.def, config/i960/i960-protos.h,
- 	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
- 	config/i960/rtems.h, config/ia64/elf.h, config/ia64/ia64.h,
- 	config/m32r/initfini.c, config/m32r/m32r-protos.h, config/m32r/m32r.c,
- 	config/m32r/m32r.h, config/m32r/m32r.md, config/m68hc11/larith.asm,
- 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
- 	config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
- 	config/m68hc11/m68hc12.h, config/m68k/coff.h, config/m68k/crti.s,
- 	config/m68k/crtn.s, config/m68k/hp320.h, config/m68k/hp320base.h,
- 	config/m68k/lb1sf68.asm, config/m68k/linux.h, config/m68k/m68020-elf.h,
- 	config/m68k/m68k-aout.h, config/m68k/m68k-none.h,
- 	config/m68k/m68k-protos.h, config/m68k/m68k.c, config/m68k/m68k.h,
- 	config/m68k/m68k.md, config/m68k/m68kelf.h, config/m68k/m68kv4.h,
- 	config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
- 	config/m68k/rtemself.h, config/m68k/sgs.h, config/mcore/lib1.asm,
- 	config/mcore/mcore-elf.h, config/mcore/mcore-pe.h,
- 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
- 	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
- 	config/mips/elforion.h, config/mips/iris5.h, config/mips/iris6.h,
- 	config/mips/iris6gld.h, config/mips/irix6-libc-compat.c,
- 	config/mips/linux.h, config/mips/mips-protos.h, config/mips/mips.c,
- 	config/mips/mips.h, config/mips/mips.md, config/mips/netbsd.h,
- 	config/mips/openbsd.h, config/mips/r3900.h, config/mips/rtems.h,
- 	config/mips/vr.h, config/mn10300/linux.h,
- 	config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
- 	config/mn10300/mn10300.h, config/mn10300/mn10300.md,
- 	config/ns32k/__unorddf2.c, config/ns32k/__unordsf2.c,
- 	config/ns32k/netbsd.h, config/ns32k/ns32k-protos.h,
- 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/ns32k/ns32k.md,
- 	config/pdp11/2bsd.h, config/pdp11/pdp11-modes.def,
- 	config/pdp11/pdp11-protos.h, config/pdp11/pdp11.c,
- 	config/pdp11/pdp11.h, config/pdp11/pdp11.md, config/rs6000/biarch64.h,
- 	config/rs6000/default64.h, config/sh/coff.h, config/sh/crt1.asm,
- 	config/sh/crti.asm, config/sh/crtn.asm, config/sh/elf.h,
- 	config/sh/embed-elf.h, config/sh/linux.h, config/sh/little.h,
- 	config/sh/netbsd-elf.h, config/sh/rtems.h, config/sh/rtemself.h,
- 	config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
- 	config/sh/sh.md, config/sh/sh64.h, config/sh/shmedia.h,
- 	config/sh/sshmedia.h, config/sh/ushmedia.h, config/sparc/pbd.h,
- 	config/sparc/sparc.h, doc/install-old.texi, fixinc/fixinc.ptx,
- 	fixinc/fixinc.svr4: GNU CC -> GCC.
- 
- 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* objc/objc-act.c (tm_p.h): Tweak order.
- 	* objc/Make-lang.in (objc/objc-act.o): Add $(TM_P_H).
- 
- 2003-09-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (hppa*64*-*-linux* | parisc*64*-*-linux*):
- 	Include t-slibgcc-elf-ver and t-linux in tmake_file.
- 	* config.gcc (hppa*64*-*-linux* | parisc*64-*-linux*):
- 	Disable fixproto.
- 	* config.gcc (i960-*-coff*, m68k-*-aout*, sparclite-*-coff*):
- 	Disable fixproto.
- 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*,
- 	sparcv9-*-solaris2*, sparc-*-solaris2*): Disable fixproto.
- 
- 	* config/i386/unix.h: Remove (unused) DEFAULT_ASSEMBLER_DIALECT.
- 
- 2003-09-26  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/i386/i386.h (ix86_return_in_memory): Revert my last patch.
- 	* objc/objc-act.c (tm_p.h): Include.
- 
- 2003-09-26  Per Bothner  <pbothner@apple.com>
- 
- 	* dbxout.c (dbxout_typedefs):  Output typedefs in forward order.
- 	No longer any need to reverse by recursion.
- 
- 2003-09-26  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/11741
- 	* gcse.c (pre_insert_copy_insn): Tweak the logic for finding the
- 	appropriate set to match that in hash_scan_insn.  Fall back to
- 	the original copy method, if we can't validate changing insn.
- 	(pre_delete): Only delete instructions that have a single_set,
- 	instead of aborting when we encounter an PARALLEL insn with more
- 	then one SET.
- 
- 2003-09-26  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("builtin_setjmp_setup"): Insn deleted.
- 	("builtin_longjmp"): Insn deleted.
- 	("save_stack_nonlocal"): Save literal pool base pointer behind
- 	backchain and stack pointer.
- 	("restore_stack_nonlocal"): Restore literal pool base pointer.
- 	* config/s390/s390.h (STACK_SAVEAREA_MODE): Double size of
- 	the stack save area for the nonlocal goto case.
- 
- 2003-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR bootstrap/12358
- 	* pa.c (output_bvb): Fix typo.
- 
- 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* expmed.c (store_bit_field): Don't search for an integer mode
- 	unless we need the result.
- 
- 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* expr.c (emit_move_insn_1): If there is no move pattern for the
- 	original mode, try using a pattern for the corresponding integer mode.
- 
- 2003-09-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR middle-end/9200
- 	* combine.c (if_then_else_cond): Tighten mode check.
- 
- 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* cppcharset.c, cpphash.h: Rename 'struct strbuf' to
- 	'struct _cpp_strbuf'.
- 
- 	* config/i386/netbsd-elf.h, config/i386/netbsd64.h,
- 	config/i386/netware.h, config/i386/nto.h, config/i386/openbsd.h,
- 	config/i386/pentium.md, config/i386/pmmintrin.h, config/i386/ppro.md,
- 	config/i386/ptx4-i.h, config/i386/rtemself.h, config/i386/sco5.h,
- 	config/i386/sol2.h, config/i386/svr3gas.h, config/i386/sysv3.h,
- 	config/i386/sysv4-cpp.h, config/i386/sysv4.h, config/i386/sysv5.h,
- 	config/i386/unix.h, config/i386/uwin.h, config/i386/vsta.h,
- 	config/i386/xm-cygwin.h, config/i386/xm-djgpp.h,
- 	config/i386/xm-mingw32.h, config/i386/xmmintrin.h: Replace
- 	"GNU CC", "GNU compiler", and "GNU C-compiler" with "GCC".
- 	* config/i386/i386-aout.h, config/i386/i386-coff.h,
- 	config/i386/i386-interix.h, config/i386/i386-interix3.h,
- 	config/i386/i386-modes.def, config/i386/i386-protos.h,
- 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
- 	config/i386/i386elf.h, config/i386/k6.md, config/i386/kaos-i386.h,
- 	config/i386/linux-aout.h, config/i386/linux.h, config/i386/linux64.h,
- 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
- 	config/i386/mmintrin.h, config/i386/moss.h: GNU CC -> GCC.
- 	"GNU compiler" -> GCC.
- 	* config/i386/att.h, config/i386/beos-elf.h, config/i386/biarch64.h,
- 	config/i386/bsd.h, config/i386/crtdll.h, config/i386/cygming.h,
- 	config/i386/cygwin.h, config/i386/cygwin1.c, config/i386/cygwin2.c,
- 	config/i386/darwin.h, config/i386/djgpp.h, config/i386/emmintrin.h,
- 	config/i386/freebsd-aout.h, config/i386/freebsd.h,
- 	config/i386/freebsd64.h, config/i386/gas.h: GNU CC -> GCC.
- 
- 2003-09-25  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* cgraph.c (dump_cgraph):  Don't output newline before dump.  Add in
- 	"local" to the callgraph dump.  Output "after inlining" earlier.
- 	* cgraphunit.c: Fix dumpfile whitespace and commonize headers of the
- 	callgraph dumps.  Correct misspellings.
- 	(cgraph_decide_inlining):  Output number of insns before inlining.
- 	Output the calling function into which a function is inlined.
- 	(cgraph_decide_small_functions): Format dump file like always_inline.
- 
- 2003-09-25  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/i386/i386.h (ix86_return_in_memory): Add prototype.
- 
- 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Simplify accesses to
- 	FPR slots in the save area.
- 	(s390_emit_epilogue): Likewise.
- 
- 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* cgraph.h (cgraph_remove_edge): Declare.
- 	* cgraph.c (cgraph_remove_edge): Make extern.
- 	* cgraphunit.c (cgraph_finalize_function): Call cgraph_remove_edge
- 	instead of cgraph_remove_call.
- 
- 2003-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* objc/objc-act.c (gen_declaration_1): Fix printf format.
- 
- 2003-09-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (all_cores): arm710t, arm720t and arm740t are all based on the
- 	arm7tdmi core.
- 
- 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/darwin-protos.h (objc_image_info_section):
- 	New prototype.
- 
- 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* Makefile.in (stub-objc.o): Depend on $(GGC_H).
- 
- 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Get rid of more gratuitious 'x'es.  Actually allow
- 	tsc701 as a --with-cpu, --with-tune setting for sparc.
- 
- 2003-09-25  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (objc_try_stmt): Do not specify a %type.
- 
- 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: New 'widely ported system' clause for rtems.
- 	Set thread file there, not in individual clauses.
- 
- 2003-09-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/6222
- 	* config/mips/mips.c (mips_va_arg): Handle arguments that must be
- 	passed on the stack.
- 
- 2003-09-25  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (widely ported systems section): Mostly alphabetize
- 	by system.  Comment the case where we can't.
- 	* config.gcc (widely ported systems section): Reindent and clean up.
- 
- 	* config.gcc: Remove some unnecessary uses of 'x' in case statements.
- 	Actually allow ep9312 as an arm --with-arch setting.
- 
- 	* config.gcc (*-hpux11): Disable fixproto.
- 
- 2003-09-24  Phil Edwards  <phil@codesourcery.com>
- 
- 	PR pch/12112
- 	* gcc/cppfiles.c (pch_open_file): Return based on combined
- 	result of all files.
- 	(validate_pch): Return validate flag for current file.
- 
- 2003-09-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR bootstrap/12358
- 	* fold-const.c (tree_swap_operands_p): Only reorder operands when
- 	one of the operands is constant.
- 
- 2003-09-24  Ziemowit Laski  <zlaski@apple.com>
- 
- 	MERGE OF objc-improvements-branch into MAINLINE:
- 	* Makefile.in (C_OBJS): Add in stub-objc.o.
- 	(c-parse.y): Change sed demarcations to begin with '@@'.
- 	(stub-objc.o): New rule.
- 	* c-common.c (flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
- 	flag_replace_objc_classes): New flags.
- 	* c-common.h (RID_AT_THROW, RID_AT_TRY, RID_AT_CATCH, RID_AT_FINALLY,
- 	RID_AT_SYNCHRONIZED): New keywords.
- 	(flag_nil_receivers, flag_objc_exceptions, flag_zero_link,
- 	flag_replace_objc_classes): New flags.
- 	(lookup_interface, is_class_name, objc_is_object_ptr, objc_check_decl,
- 	objc_comptypes, objc_message_selector, lookup_objc_ivar,
- 	get_current_scope, objc_mark_locals_volatile): New prototypes,
- 	some moved from c-tree.h.
- 	* c-decl.c (get_current_scope, objc_mark_locals_volatile): New functions.
- 	(finish_decl): Adjust where objc_check_decl() gets called.
- 	* c-lang.c (lookup_interface, is_class_name, objc_is_id,  objc_check_decl,
- 	objc_comptypes, objc_message_selector, lookup_objc_ivar): Remove stubs.
- 	* c-opts.c (c_common_handle_option): Add handling for  flag_nil_receivers,
- 	flag_objc_exceptions, flag_replace_objc_classes and flag_zero_link.
- 	* c-parse.in: Replace 'ifc' and 'end ifc' sed markers with '@@ifc' and
- 	'@@end_ifc', respectively.
- 	(AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY, AT_SYNCHRONIZED): New %tokens.
- 	(objc_try_stmt, superclass, class_ivars, objc_try_catch-stmt,
- 	objc_finally_block): New rules.
- 	(component_decl_list2): Clean up semantic action for @defs construct.
- 	(component_decl, c99_block_start): Remove call to add_objc_decls().
- 	(poplevel): Add call to objc_clear_super_receiver().
- 	(stmt): Add rules for @throw, @try..@catch..@finally and @synchronized
- 	constructs.
- 	(classdef, methodprotolist): Clean up/simplify.
- 	(methodprotolist2): Eliminate.
- 	(methodproto): Call add_method() instead of add_class_method() and
- 	add_instance_method().
- 	(receiver): Add TYPENAME production.
- 	(reswords): Add "throw", "try", "catch", "finally" and "synchronized".
- 	(rid_to_yy): Add AT_THROW, AT_TRY, AT_CATCH, AT_FINALLY and
- 	AT_SYNCHRONIZED.
- 	* c-tree.h (lookup_interface, is_class_name, objc_is_id, objc_check_decl,
- 	objc_comptypes, objc_message_selector)
- 	* c-typeck.c (comptypes): In ObjC mode, call objc_comptypes() for
- 	struct and pointer types.
- 	(build_c_cast): Do not discard ObjC protocol qualifiers.
- 	(convert_for_assignment): Cache result of comp_target_types() instead
- 	of calling it more than once.
- 	* c.opt (fnext-runtime): Update description string.
- 	(fnil-receivers, fobjc-exceptions, freplace-objc-classes, fzero-link):
- 	New ObjC/ObjC++-specific flags.
- 	* function.h (GCC_FUNCTION_H): Header guard.
- 	* gengtype-lex.l: Teach lexer about new @@... sed demarcations.
- 	* stub-objc.c: New file, to be used to satisfy references to ObjC
- 	functions by the C and C++ front-ends.
- 	* config/darwin.c (_OBJC_IMAGE_INFO): New global metadata.
- 	* config/darwin.h (FUNCTION): Add in_objc_image_info.
- 	(SECTION_FUNCTION): Add objc_image_info_section.
- 	* doc/invoke.texi: Link to GCC web site for Objective-C information.
- 	(-fconstant-string-class): Update documentation.
- 	(-fno-nil-receivers, -fobjc-exceptions, -freplace-objc-classes,
- 	-fzero-link): New documentation.
- 	* objc/Make-lang.in (objc-parse.y): Change sed demarcations to begin
- 	with '@@'.
- 	* objc/lang-specs.h (@objective-c-header): Fix -E spec.
- 	* objc/objc/objc-act.c: Replace TYPE_NAME with OBJC_TYPE_NAME
- 	throughout; provide casts for return values from memory allocation
- 	functions (xmalloc, alloca, ggc_alloc, etc.).
- 	(OBJC_VOID_AT_END): New macro.
- 	(rtl.h): Do not #include any more.
- 	(STRING_OBJECT_GLOBAL_NAME): Replaced with STRING_OBJECT_GLOBAL_FORMAT.
- 	(TAG_MSGSEND_STRET, TAG_MSGSENDSUPER_STRET, TAG_MSGSEND_NONNIL,
- 	TAG_MSGSEND_NONNIL_STRET, TAG_EXCEPTIONEXTRACT, TAG_EXCEPTIONTRYENTER,
- 	TAG_EXCEPTIONTRYEXIT, TAG_EXCEPTIONMATCH, TAG_EXCEPTIONTHROW,
- 	TAG_SYNCENTER, TAG_SYNCEXIT): New NeXT runtime entry points.
- 	(struct val_stack, catch_count_stack, exc_binding_stack,  val_stack_push,
- 	val_stack_pop): New.
- 	(objc_check_decl): Fix precondition for error message, along with
- 	the message itself.
- 	(lookup_and_install_protocols): Remove nonexistent protocols from
- 	protocol list instead of returning error_mark_node.
- 	(create_builtin_decl): Use DECL_ARTIFICIAL only for VAR_DECLs.
- 	(setup_string_decl): Generalize to use STRING_OBJECT_GLOBAL_FORMAT.
- 	(synth_module_prologue): General clean-up; construct NeXT-specific
- 	runtime API prototypes if needed.
- 	(build_string_class_template): Remove.
- 	(check_string_class_template, string_layout_checked): New.
- 	(build_objc_string_object): Generalize to work with
- 	-fconstant-string-class.
- 	(build_objc_symtab_template): Fix layout for the NeXT runtime.
- 	(build_metadata_decl): New.
- 	(forward_declare_categories): Call build_metadata_decl() instead of
- 	create_builtin_decl() et al.
- 	(build_module_descriptor): Use OBJC_VOID_AT_END instead of
- 	void_list_node_1.
- 	(build_selector_reference_decl, build_class_reference_decl,
- 	build_objc_string_decl): Do not set TREE_READONLY.
- 	(get_proto_encoding): Do not call hack_method_prototype().
- 	(get_class_reference): Add failure mode for invalid class names;
- 	support -fzero-link; defer if in an ObjC++ template declaration.
- 	(objc_declare_alias, objc_declare_class): Fix up duplicate name
- 	lookup; check for global scope if in ObjC++.
- 	(is_class_name): Generalize to work with various tree nodes (TYPE_DECL,
- 	RECORD_TYPE, IDENTIFIER_NODE, etc.)
- 	(objc_is_id): Removed.
- 	(objc_is_object_ptr): New function.
- 	(get_class_ivars_from_name): New function, used for @defs construct.
- 	(get_class_ivars): Add option to return raw ivars; create a
- 	ClASS_OWN_IVARS list for each class as needed.
- 	(objc_enter_block, objc_exit_block, objc_declare_variable,
- 	objc_build_throw_stmt, val_stack_push, val_stack_pop,
- 	objc_build_try_enter_fragment, objc_build_extract_expr,
- 	objc_build_try_exit_fragment, objc_build_extract_fragment,
- 	objc_build_try_prologue, objc_build_try_epilogue,
- 	objc_build_catch_stmt, objc_build_catch_epilogue,
- 	objc_build_finally_prologue, objc_build_finally_epilogue,
- 	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
- 	objc_build_synchronized_epilogue, build_objc_exception_stuff):
- 	New functions.
- 	(_JBLEN): _setjmp jmpbuf size (needs to be made a target hook in
- 	the future).
- 	(build_private_template): Fix up calls to get_class_ivars().
- 	(offset_is_register, forwarding_offset): Remove.
- 	(objc_method_parm_type, objc_encoded_type_size): New functions.
- 	(encode_method_prototype): Simplify to no longer depend on
- 	back-end information.
- 	(build_tmp_function_decl_xxx, build_tmp_function_decl,
- 	hack_method_prototype): Removed.
- 	(generate_protocol_references): Remove calls to
- 	build_tmp_function_decl().
- 	(generate_protocols): Adjust calls to encode_method_prototype().
- 	(build_class_template): Generate sel_id' and 'gc_object_type' fields
- 	for the NeXT runtime.
- 	(synth_forward_declarations): Call build_metadata_decl().
- 	(check_ivars): Check that the number of ivars matches also.
- 	(build_super_template): Modify super_type directly; disable debugging
- 	output while generating decl.
- 	(build_ivar_list_initializer): Skip list elements that are not
- 	FIELD_DECLs.
- 	(ivar_list_length): New function.
- 	(generate_ivar_lists): Call ivar_list_length() instead of list_length()
- 	and encode_method_prototype() instead of encode_method_def().
- 	(build_shared_structure_initializer): Generate 'sel_id' field for
- 	the NeXT runtime.
- 	(generate_category): Do not set TREE_USED.
- 	(build_keyword_selector): Ditto; transform into a function argument
- 	chain.
- 	(get_arg_type_list): If there are no user-specified arguments, use
- 	'...'; use OBJC_VOID_AT_END.
- 	(check_duplicates): Add a parameter indicating whether methods or
- 	selectors are being checked.
- 	(receiver_is_class_object): Add parameters indicating whether
- 	receiver is 'self' or 'super'; robustify.
- 	(build_message_expr): Defer call to finish_message_expr() if
- 	inside an ObjC++ template.
- 	(lookup_method_in_hash_lists): New function.
- 	(finish_message_expr): Complete rewrite/fix.
- 	(build_objc_method_call): Ditto; factor out commonalities between
- 	the GNU and NeXT runtimes; acccommodate ..._stret and ...NonNil
- 	messenger variants on the NeXT.
- 	(lookup_instance_method_static, lookup_class_method_static):
- 	Fold into a single lookup_method_static() function with an
- 	additional parameter.
- 	(add_class_method, add_instance_method): Fold into a single
- 	add_method() function with an additional parameter.
- 	(add_category): Make duplicate categories a hard error in ObjC++.
- 	(add_instance_variable): Properly handle unnamed ivars, arrays of
- 	zero or no size and bitfields.  In ObjC++, check for nontrivial
- 	C++ class instances.
- 	(is_public): Allow C functions to access non-@public ivars, with
- 	a warning.
- 	(start_class): Move common initializations to
- 	synth_module_prologue(); check for global scope if in ObjC++.
- 	(continue_class): Fix calls to finish_struct().
- 	(objc_declare_protocols, start_protocol): Check for global scope
- 	if in ObjC++.
- 	(encode_pointer): Encode 'BOOL *' specially on the NeXT.
- 	(encode_aggregate_within): Rewrite to properly distinguish
- 	struct tags from typedefs in both ObjC and ObjC++.
- 	(encode_bitfield, encode_complete_bitfield): Remove.
- 	(encode_next_bitfield, encode_gnu_bitfield): New functions.
- 	(encode_field_decl): Call encode_next_bitfield() or
- 	encode_gnu_bitfield() as needed.
- 	(synth_self_and_ucmd_args): New function.
- 	(start_method_def): Use it.
- 	(objc_types_are_equivalent): New function.
- 	(comp_proto_with_proto): Use it instead of comptypes(), since
- 	we need symmetry.
- 	(really_start_method): Use lookup_method_static() instead of
- 	lookup_class_method_static() and lookup_instance_method_static();
- 	Emit 'extern "C"' if in ObjC++ mode.
- 	(add_objc_decls): Removed.
- 	(UOBJC_SUPER_scope): New variable.
- 	(get_super_receiver): Move construction of 'super' from
- 	add_objc_decls(); remove dependency on struct objc_class.
- 	(encode_method_def): Removed; encode_method_prototype() is
- 	used instead.
- 	(objc_clear_super_receiver): New function.
- 	(objc_expand_function_end): Do not do anything for ordinary
- 	C functions.
- 	(finish_method_def): Mark ObjC methods as un-inlinable.
- 	(gen_declaration_1): Emit widths of bitfields.
- 	(finish_objc): Call generate_objc_image_info() if needed;
- 	use check_duplicates() when checking for selector duplicates.
- 	(generate_objc_image_info): New function.
- 	* objc/objc-act.h (add_instance_method, add_class_method,
- 	get_class_ivars): Remove prototypes.
- 	(objc_build_throw_stmt, objc_build_try_catch_finally_stmt,
- 	objc_build_synchronized_prologue, objc_build_synchronized_epilogue,
- 	objc_build_catch_stmt, objc_build_catch_epilogue,
- 	objc_build_finally_prologue, objc_build_finally_epilogue,
- 	add_method, get_class_ivars_from_name): New prototypes.
- 	(CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): New.
- 	(TYPE_PROTOCOL_LIST): Robustify to distinguish from
- 	TRANSLATION_UNIT_DECLs.
- 	(OBJC_TYPE_NAME): New.
- 	(objc_tree_code): Ensure that either <c-tree.h> or <cp/cp-tree.h>
- 	got included.
- 	(IS_SUPER): Robustify.
- 	(umsg_stret_decl, umsg_super_stret_decl, umsg_nonnil_decl,
- 	umsg_nonnil_stret_decl, objc_storage_class, objc_exception_extract_decl,
- 	objc_exception_try_enter_decl, objc_exception_try_exit_decl,
- 	objc_exception_match_decl, objc_exception_throw_decl,
- 	objc_sync_enter_decl, objc_sync_exit_decl, objc_exception_data_template,
- 	objc_setjmp_decl, objc_stack_exception_data, objc_caught_exception,
- 	objc_rethrow_exception, objc_eval_once, objc_exception_block_stack,
- 	objc_catch_type): New ObjC/ObjC++ roots.
- 	* objc/objc-tree.def (MESSAGE_SEND_EXPR, CLASS_REFERENCE_EXPR): New
- 	ObjC/ObjC++ tree node codes.
- 
- 2003-09-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cpplib.c (do_pragma): Reintroduce cb_line_change call in the
- 	code path that calls a handler.
- 
- 2003-09-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):
- 	Disable fixproto.
- 
- 	* config.gcc: Clean up and reindent $with_cpu=yes|no clause and
- 	the section giving $with_cpu defaults by target.
- 
- 	* config.gcc (arm-*-coff*, armel-*-coff*, arm*-*-ecos-elf,
- 	arm*-*-elf, ep9312-*-elf, arm*-wince-pe*, arm*-*-pe*, arm*-*-pe*,
- 	rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*,
- 	rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*,
- 	rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*,
- 	i[34567]86-pc-msdosdjgpp*): Disable fixproto.
- 
- 2003-09-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movti_power): Collapse case 1 and 2
- 	together.  Protect load string instruction with TARGET_STRING.
- 	(movti_string): Collapse case 1 and 2 together.
- 
- 2003-09-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.c (c_common_type_for_mode): Check for VOIDmode.
- 
- 2003-09-24  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Wrap in
- 	do...while(0)
- 
- 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Move use_fixproto=no from generic vxworks clause to
- 	specific one.
- 
- 	* config.gcc (powerpc-*-gnu-gnualtivec*): Disable fixproto
- 	(accidentally missed in last pass).
- 
- 2003-09-23  Andrew Pinski  <apinski@apple.com>
- 
- 	PR bootstrap/12383
- 	* configure: Regenerate.
- 
- 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (x86_64-*-freebsd*): Disable fixproto (accidentally
- 	missed in last pass).
- 
- 2003-09-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md (andsi3): Fix cut&pasto in 0xfffffffe
- 	constant.
- 
- 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Move vax-*-vms* unsupported notice up with the rest.
- 
- 	* config.gcc (alpha64*-dec-*vms*, alpha*-dec-*vms*,
- 	powerpc-*-eabisim*, powerpc-*-eabi*, powerpcle-*-eabisim*,
- 	powerpcle-*-eabi*): Disable fixproto.
- 
- 	* config.gcc: Move use_fixproto=no from generic FreeBSD clause to
- 	specific FreeBSD clauses.
- 	* config.gcc: Move use_fixproto=no from generic NetBSD clause to
- 	specific NetBSD clauses.
- 	* config.gcc: Move use_fixproto=no from generic OpenBSD clause
- 	to specific OpenBSD clauses.
- 
- 2003-09-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (hppa_expand_prologue): Do pic register save in frame marker
- 	without adding a frame note.
- 	* pa.md (allocate_stack): Save pic register in new frame marker when
- 	generating pic code.
- 
- 2003-09-23  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* cgraphunit.c (cgraph_expand_all_functions): Renamed from
- 	cgraph_expand_functions.
- 
- 2003-09-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gnucompare*): Merge into ...
- 	(slowcompare*): ... here.
- 	(fastcompare*): New targets.
- 	* aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): Add checks for
- 	other "fast" cmp programs.
- 	* configure: Regenerate.
- 
- 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* targhooks.c: Include output.h.
- 	* Makefile.in (targhooks.o): Add output.h to dependency list.
- 
- 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.host: Removed superfluous newline.
- 
- 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Use ${target}, not $machine.
- 	* configure.in: Don't set $machine.
- 	* configure: Regenerate.
- 
- 2003-09-23  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/t-darwin (crt2.o): Add stmp-int-hdrs to dependencies.
- 
- 	* config/rs6000/rs6000.c (function_arg_pass_by_reference): Don't
- 	pass zero-size arrays by reference.
- 	(rs6000_va_arg): Likewise.
- 
- 2003-09-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Set use_fixproto=no in each specific *-gnu*
- 	configuration, rather than the generic one.
- 
- 2003-09-23  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-inline.c (remap_save_expr): Map new save_expr to identity
- 	rather than to error_mark_node.
- 
- 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (HAVE_GAS_SHF_MERGE): Always define to test result.
- 	Update description.
- 	* configure: Regenerate.
- 	* config.in: Likewise.
- 	* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test for
- 	HAVE_GAS_SHF_MERGE value.
- 	* varasm.c (mergeable_string_section): Likewise.
- 	(mergeable_constant_section): Likewise.
- 
- 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Test for DWARF2_UNWIND_INFO
- 	value.
- 
- 2003-09-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* target.h (struct gcc_target): New member external_libcall.
- 	* target-def.h (TARGET_ASM_EXTERNAL_LIBCALL): Provide default.
- 	(TARGET_ASM_OUT): Use it.
- 	* doc/tm.texi (TARGET_ASM_EXTERNAL_LIBCALL): Document.
- 	* targhooks.c: Convert to ISO C 90.
- 	(default_external_libcall): New function.
- 	* targhooks.h (default_external_libcall): Declare.
- 	* varasm.c (assemble_external_libcall): Use
- 	targetm.asm_out.external_libcall instead of
- 	ASM_OUTPUT_EXTERNAL_LIBCALL.
- 	* config/mips/mips-protos.h [TARGET_IRIX5 || TARGET_IRIX 6]
- 	(mips_output_external_libcall): Declare.
- 	* config/mips/mips.c (mips_output_external_libcall): Change
- 	definition guard.
- 	Change to match TARGET_ASM_EXTERNAL_LIBCALL.
- 	Only operate for O32 ABI.
- 	* config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Define
- 	instead of ASM_OUTPUT_EXTERNAL_LIBCALL.
- 	* config/mips/iris6.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Don't undef,
- 	superceded by TARGET_ASM_EXTERNAL_LIBCALL.
- 
- 2003-09-22  Nathnael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Do per-target disabling of fixproto here in clauses,
- 	not in t- fragments.
- 	* configure.in: Adjust to set STMP_FIXPROTO correctly.
- 	* configure: Regenerate.
- 	* config/arm/t-semi, config/cris/t-cris, config/i386/t-beos,
- 	config/i386/t-cygming, config/i386/t-nto, config/ia64/t-hpux,
- 	t-freebsd, t-linux, t-netbsd, t-openbsd, t-rtems, t-vxworks,
- 	xtensa/t-xtensa: Remove setting of STMP_FIXPROTO.
- 	* config/i370/t-oe, config/i386/t-netware, config/pa/t-bsd,
- 	t-interix, t-linux-aout:  Delete files consisting only of
- 	setting of STMP_FIXPROTO.
- 
- 	* config.host: Allow unknown hosts (not targets).  Allow
- 	ns32k-*-netbsdelf* as a host (not a target).  Remove redundant
- 	empty clauses.  Remove useless obsolete-configuration clause.
- 	Prune unsupported configuration list.  Collapse identical
- 	clauses for closely related systems.  Rewrite comment for
- 	unsupported hosts list.  Reorganize a little.
- 
- 2003-09-22  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (c_common_signed_or_unsigned_type): Examine mode,
- 	not precision.
- 
- 2003-09-22  David Edelsohn  <edelsohn@gnu.org>
- 	    Hartmut Penner  <hpenner@de.ibm.com>
- 	    Segher Boessenkool  <boessen@de.ibm.com>
- 
- 	* config/rs6000/rs6000.c (altivec_in_gprs_p): Rename to ...
- 	(gpr_or_gpr_p): Test INT_REGNO_P and convert to boolean.
- 	(rs6000_split_altivec_in_gprs): Rename to ...
- 	(rs6000_split_multireg_move): Add support for update addressing.
- 	* config/rs6000/rs6000-protos.h: Same.
- 	* config/rs6000/altivec.md: Same.
- 	* config/rs6000/rs6000.md (movdi_internal32): Use new splitter for
- 	multiple GPRs.
- 	(movti): Remove TARGET_STRING || TARGET_POWERPC64 final condition.
- 	(movti_power): Use new splitter for multiple GPRs.
- 	(movti_string): Same.
- 	(movti_ppc64): Same.
- 
- 2003-09-22  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h: Convert to ISO C90.
- 	* config/xtensa/xtensa.c: Convert to ISO C90.  Minor formatting fixes.
- 
- 2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md: Revert 2003-09-17's patch.
- 	(andsi3): Set attr cc to set_zn when using shifts or adds.
- 
- 2003-09-22  Bernardo Innocenti <bernie@develer.com>
- 
- 	* doc/contrib.texi: Add Peter Barada, Paul Dale and myself.
- 
- 2003-09-22  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (MASK_RTD, TARGET_RTD, RETURN_POPS_ARGS):
- 	Resurrect -mrtd option.
- 
- 2003-09-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/12281
- 	* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Call
- 	mark_referenced instead of setting TREE_SYMBOL_REFERENCED.
- 
- 2003-09-22  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	PR target/9786
- 	* reg-stack.c (convert_regs_1): Purge possible dead eh edges
- 	after potential deletion of trapping insn. Avoids later ICE
- 	from call to fixup_abnormal_edges.
- 	(convert_regs_2): Stack the current block successors before
- 	processing this block, that is, before the potential deletion of
- 	dead edges by convert_regs_1, because these edges have been used
- 	to initialize the predecessors count.
- 
- 2003-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* real.c: Fix several nits in the head comment.
- 
- 2003-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.h c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
- 	diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
- 	print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
- 	tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
- 	config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Revert.
- 
- 2003-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.h (TREE_LOCUS): Rename from DECL_SOURCE_LOCATION; make const.
- 	(TREE_FILENAME, TREE_LINENO): Likewise.
- 	(set_tree_locus, copy_tree_locus, set_tree_file_line): New.
- 	(TREE_LOCUS_SET_P): New.
- 	* c-aux-info.c, c-decl.c, c-parse.in, coverage.c, dbxout.c,
- 	diagnostic.c, dwarf2out.c, dwarfout.c, function.c, integrate.c,
- 	print-tree.c, stmt.c, toplev.c, tree-dump.c, tree-inline.c,
- 	tree-optimize.c, tree.c, tree.def, xcoffout.c, config/alpha/alpha.c,
- 	config/mips/mips.c, doc/c-tree.texi, objc/objc-act.c: Update to match.
- 
- 2003-09-21  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/vax/vax-protos.h: Convert to ISO C90.
- 	* config/vax/vax.c: Convert to ISO C90.
- 
- 2003-09-21  Graham Stott  <grahams@btinternet.com>
- 
-        PR target/12353
-        * config/i386/i386.md(ffs_no_cmove): Fix operand 2 constraint.
- 
- 2003-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/12301
- 	* reorg.c (stop_search_p): Return 1 for insns that can
- 	throw internally.
- 
- 2003-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-format.c (gcc_diag_char_table): Add %J.
- 	(gcc_cdiag_char_table, gcc_cxxdiag_char_table): Likewise.
- 	(check_format_types): Fix wanted_type name lookup.
- 	(init_dynamic_diag_info): Setup %J.
- 	* diagnostic.c (text_specifies_location): Implement %J.
- 	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c, calls.c,
- 	dwarfout.c, expr.c, function.c, stmt.c, stor-layout.c, toplev.c,
- 	tree-inline.c, tree-optimize.c, varasm.c, config/arm/pe.c,
- 	config/i386/winnt.c, config/ia64/ia64.c, config/mcore/mcore.c,
- 	config/v850/v850.c, objc/objc-act.c: Use %J in diagnostics.
- 
- 	* tree-inline.c: Include intl.h
- 	(inline_forbidden_p_1): Fix i18n of inline_forbidden_reason.
- 	* Makefile.in (tree-inline.o): Update.
- 
- 2003-09-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Fix
- 	transformation of a>=0 into (unsigned)a<0x80000000.
- 
- 2003-09-20  Andrew Pinski <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_select_rtx_section): Fix check for PIC code.
- 
- 2003-09-20  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in: Don't set (unused) DLLTOOL.
- 
- 	* config/arm/t-linux, config/arm/t-netbsd, config/arm-t-semi:
- 	Remove obsolete references to ENQUIRE.
- 
- 2003-09-19  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Remove --with-elf, which doesn't work.
- 	* configure: Regenerate.
- 	* config.gcc: Remove references to $elf, which does nothing.
- 
- 	* config/i386/xm-vsta.h: Remove xm-file believed useless.
- 	* config.build (i386-vsta): Remove reference to it.
- 	* config.host (i386-vsta): Remove reference to it.
- 
- 2003-09-19  Phil Edwards  <phil@codesourcery.com>
- 
- 	* doc/install.texi:  Document the multiple testsuite options.
- 
- 2003-09-19  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* doc/install.texi (Specific): Add the specific versions of GCC
- 	where support for FreeBSD 1, HP-UX version 9 and older, and AIX
- 	version 3 and older was discontinued.
- 
- 2003-09-19	Joel Sherrill <joel@oarcorp.com>
- 
- 	* config/m68k/t-m68kbare, config/m68k/t-rtems: Change 68681 to
- 	68881.
- 
- 2003-09-19  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (TARGET_CPU_CPP_PREDEFINES): Add predefines
- 	for -m68030, -m68020-60 and -m68020-40.
- 	* config/m68k/m68k.h (TARGET_68030): New target flag.
- 	* config/m68k/m68k.h (MASK_RTD, TARGET_RTD, MASK_REGPARM,
- 	TARGET_REGPARM): Remove.
- 	* config/m68k/m68k.h: Regroup and renumber target flags.
- 	* config/m68k/m68k.h (TARGET_SWITCHES): Fix some tabulations.
- 	* config/m68k/m68k.h (RETURN_POPS_ARGS): Always evaluate to 0.
- 	* config/m68k/m68k.h (FUNCTION_ARG): Likewise.
- 	* config/m68k/m68k.h (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
- 	* config/m68k/m68k-none.h: Use MASK_xxx values in M68K_CPU_xxx macros.
- 
- 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- 
- 	* config/m68k/t-rtems (m68k-*-rtems*): New.
- 	* config.gcc: Use config/m68k/t-rtems.
- 
- 2003-09-19  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- 
- 	* config/mips/t-rtems: New.
- 	* config.gcc (mips*-*-rtems*): Use config/mips/t-rtems.
- 
- 2003-09-19  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* cgraph.c: Fix typo in debugging output.
- 
- 2003-09-19  T. Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 	    Eric Botcazou <ebotcazou@libertysurf.fr>
- 
- 	PR target/12166
- 	* config/sparc/sol2-c1.asm (start): Set __Argv if GCRT1.
- 
- 2003-09-18  Mike Stump  <mrs@apple.com>
- 
- 	* c-ppoutput.c (print):  Use fileline typedef for field 'line'.
- 	(print_line, maybe_print_line, cb_define, cb_undef, cb_include,
- 	cb_ident, cb_def_pragma):  Use fileline typedef.
- 	* cpphash.h (struct cpp_reader):  Likewise for field out.first_line.
- 
- 2003-09-18  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (gen_stdcall_suffix): Quit summation of
- 	total parm size if a parm has incomplete type.
- 	(gen_fastcall_suffix): Likewise.
- 
- 2003-09-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* except.c (output_function_exception_table): Adjust last change
- 	to handle TYPE of INTEGER_CST.
- 
- 2003-09-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR target/11184
- 	* builtins.c (expand_builtin_apply): Use convert_memory_address
- 	before returning the value.
- 
- 	* alias.c (find_base_value): Simplify use of
- 	convert_memory_address.
- 	(find_base_term): Likewise.
- 	* builtins.c (expand_builtin_stejmp_setup): Likewise.
- 	(expand_builtin_longjmp): Likewise.
- 	(expand_builtin_prefetch): Likewise.
- 	(get_memory_rtx): Likewise.
- 	(expand_builtin_return): Likewise.
- 	(expand_builtin_memcpy): Likewise.
- 	(expand_builtin_strncpy): Likewise.
- 	(expand_builtin_memset): Likewise.
- 	(expand_builtin_va_arg): Likewise.
- 	(expand_builtin_va_copy): Likewise.
- 	(expand_builtin_alloca): Likewise.
- 	* calls.c (expand_call): Likewise.
- 	* except.c (expand_builtin_extract_return_addr): Likewise.
- 	(expand_builtin_eh_return): Likewise.
- 	* explow.c (convert_memory_address): Define even when
- 	POINTER_EXTEND_UNSIGNED is not defined.  Do nothing if the address
- 	is already in the right mode.
- 	* explow.c (memory_address): Simplify use of convert_memory_address.
- 	(probe_stack_range): Likewise.
- 	* expmed.c (make_tree): Likewise.
- 	* expr.c (emit_block_move_in_libcall): Likewise.
- 	(expand_assignment): Likewise.
- 	(expand_expr): Likewise.
- 	* function.c (assign_parms): Likewise.
- 	(expand_function_end): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* stmt.c (expand_computed_goto): Likewise.
- 
- 2003-09-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_unary_operation): Only transform
- 	(not (eq X Y)) into (ne X Y) when mode is BImode or STORE_FLAG_VALUE
- 	is -1.  RTL "not" is a bit-wise not, "~", not a logical not "!".
- 
- 2003-09-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR target/11674
- 	* config/i386/i386.c (x86_emit_floatuns): Also handle SImode operand.
- 
- 2003-09-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.def (FFS_EXPR, CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR,
- 	PARITY_EXPR): Delete unused tree codes.
- 	* c-common.c (c_common_truthvalue_conversion): Delete references
- 	to FFS_EXPR and POPCOUNT_EXPR.
- 	* c-pretty-print.c (pp_c_postfix_expression): Remove FFS_EXPR.
- 	(pp_c_expression): Likewise.
- 	* expr.c (expand_expr): Delete RTL expansion of FFS_EXPR, CLZ_EXPR,
- 	CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.
- 	* fold-const.c (tree_expr_nonnegative_p): Remove FFS_EXPR, CLZ_EXPR,
- 	CTZ_EXPR, POPCOUNT_EXPR and PARITY_EXPR.  Add support for calls to
- 	BUILT_IN_FFS, BUILT_IN_PARITY and BUILT_IN_POPCOUNT and their long
- 	and long long variants.
- 
- 2003-09-18  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-pretty-print.h (pp_type_specifier_seq): Fix thinko.
- 	* c-pretty-print.c: Fix formatting.
- 	(pp_c_integer_constant): Append type annotation to literals.  Tidy.
- 	(pp_c_type_specifier): Tidy.
- 	(pp_c_compound_literal): New function.
- 	(pp_c_initializer): Simplify..
- 	(pp_c_initializer_list): Likewise.
- 	(pp_c_brace_enclosed_initializer_list): New function.
- 	(pp_c_postfix_expression): Simplify.
- 
- 2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md (andsi3, iorsi3, xorsi3,
- 	one_complsi2, bit-clear, bit-set, iorqi3): Make them set_zn.
- 
- 2003-09-17  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-optimize.c (tree_rest_of_compilation): Save and restore
- 	input_location.
- 
- 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/rs6000/sysv4.h (LIB_LINUX_SPEC): Give -lpthread before -lc.
- 
- 2003-09-17  Richard Henderson  <rth@redhat.com>
- 
- 	* cfg.c (dump_flow_info): Skip register dump if reg_n_info null.
- 
- 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_ld_hidden): Don't test gnu_ld_flag.
- 	* configure: Regenerate.
- 
- 2003-09-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR debug/12066
- 	* dbxout.c (dbxout_init): Use a langhook to find builtin types.
- 	* langhooks-def.h (lhd_return_null_tree_v): New function.
- 	(LANG_HOOKS_BUILTIN_TYPE_DECLS): New macro.
- 	(LANG_HOOKS_DECLS): Add it to the intializer.
- 	* langhooks.c (lhd_return_null_tree_v): New function.
- 	* langhooks.h (lang_hooks_for_decls): Add builtin_type_decls.
- 
- 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* configure.in: Quote gcc_config_arguments for configargs.h.
- 	* configure: Regenerated.
- 	* gccbug.in: Don't shell-expand gcc_config_arguments.
- 
- 2003-09-17  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	PR c++/11357
- 	* c-pretty-print.c (pp_c_floating_constant): Append
- 	type-annotation to floating constants.
- 
- 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5.h (TARGET_OS_CPP_BUILTINS): Define _LONGLONG.
- 	Define _ABIO32.
- 	Use it for _MIPS_SIM.
- 	* config/mips/iris6-o32.h (TARGET_OS_CPP_BUILTINS): Removed.
- 
- 	* config/mips/iris6-o32-as.h (SUBTARGET_ASM_OPTIMIZING_SPEC):
- 	Moved ...
- 	* config/mips/iris5.h (SUBTARGET_ASM_OPTIMIZING_SPEC): ... here,
- 	updating comment.
- 	Fixes PR target/10190.
- 
- 2003-09-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/rs6000/sysv4.h (LIB_LINUX_SPEC): Make -pthread apply
- 	to shared libraries.
- 
- 2003-09-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11646
- 	* cfgrtl.c (purge_dead_edges) [JUMP_INSN]: Rematerialize the
- 	EDGE_ABNORMAL flag for EH edges.
- 	* toplev.c (rest_of_handle_cse): Delete unreachable blocks
- 	if dead edges were purged.
- 
- 2003-09-16  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add target predefines.
- 	* config/m68k/m68k-none.h (CPP_CPU_DEFAULT_SPEC): Kill all definitions.
- 	* config/m68k/m68k-none.h (CPP_FPU_SPEC): Remove.
- 	* config/m68k/m68k-none.h (CPP_SPEC): Likewise.
- 
- 2003-09-16  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* cfgcleanup.c (label_is_jump_target_p): Correct use of table
- 	returned by tablejump_p.
- 
- 2003-09-16  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2asm.c (dw2_asm_output_nstring): Add comment.
- 
- 2003-09-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR bootstrap/12269
- 	* simplify-rtx.c (simplify_gen_relational): Allow the cmp_mode
- 	argument to be VOIDmode, taking the mode of the comparison from
- 	the operands.  Only call simplify_relational_operation if we
- 	know the mode of the comparison.  Honor FLOAT_STORE_FLAG_VALUE
- 	if comparison has a floating point result.  Ensure that the
- 	result is always of the specified mode.
- 	(simplify_replace_rtx): Simplify call to simplify_gen_relational.
- 	(simplify_unary_operation): Ensure the correct mode and cmp_mode
- 	are always passed to simplify_gen_relational.  Simplify NOT of
- 	comparison operator in any mode, not just BImode.
- 	(simplify_ternary_operation): Correct tests on the return value
- 	of simplify_relational_operation to use const_true_rtx, not
- 	const1_rtx.  Abort if it ever returns a non-constant result.
- 
- 	* cfgloopanal.c (count_strange_loop_iterations): Use the function
- 	simplify_relational_operation, not simplify_gen_relational, if
- 	we're only interested in constant comparisons and will ignore
- 	non-constant results.
- 
- 2003-09-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (tree_swap_operands_p): New function to determine
- 	the prefered ordering of operands.
- 	(fold): Numerous clean-ups.  Use tree_swap_operands_p when swapping
- 	operands to commutative, comparison or ternary operators.  Replace
- 	uses of TREE_SET_CODE with recursive call to fold.  Remove duplicate
- 	transformation of A ? B : C into !A ? C : B.
- 
- 2003-09-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/alpha/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/arm/linux-elf.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/rs6000/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/sh/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/sparc/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 	* config/sparc/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 
- 2003-09-16  Jason Merrill  <jason@redhat.com>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-common.c (handle_warn_unused_result_attribute): New function.
- 	(c_common_attribute_table): Add warn_unused_result.
- 	(c_expand_expr): Issue warning when result of inlined function
- 	with warn_unused_result attribute is ignored.
- 	* calls.c (expand_call): Issue warning when result of function
- 	with warn_unused_result attribute is ignored.
- 	* c-common.h (STMT_EXPR_WARN_UNUSED_RESULT): Define.
- 	* expr.c (expr_wfl_stack): Define.
- 	(expand_expr) <case EXPR_WITH_FILE_LOCATION>: If ignore,
- 	pass const0_rtx as target.  Chain locations into expr_wfl_stack.
- 	* tree-inline.c (expand_call_inline): Set STMT_EXPR_WARN_UNUSED_RESULT
- 	bit if inlined function has warn_unused_result attribute.
- 	* input.h (expr_wfl_stack): Declare.
- 	* doc/extend.texi: Document warn_unused_result attribute.
- 
- 2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cpplib.c (do_pragma): Remove unnecessary cb_line_change.
- 
- 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Add
- 	ATTRIBUTE_UNUSED.
- 	(call_insn_operand): For PIC, don't allow a direct call to a
- 	function in a different section than the current one.
- 
- 2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/invoke.texi (Warning Options): Add missing hyphen before
- 	"Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
- 	Move "-Wold-style-definition" to the C-only section.
- 	Fix the ordering of the warning options.
- 
- 2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* gcse.c (remove_reachable_equiv_notes): New.
- 	replace_store_insn): Call it.  Update antic list.
- 	(store_killed_in_insn): Take REG_EQUAL notes into account.
- 	(build_store_vectors, delete_store): Add parameter to
- 	replace_store_insn call.
- 
- 2003-09-15  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
- 	SYMBOL_REF_LOCAL_P.
- 
- 2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
- 	(FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
- 	* config/ia64/ia64.c (ia64_hpux_function_arg_padding):
- 	Likewise.
- 	* config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
- 	Likewise.
- 	* config/rs6000/rs6000.c (function_arg_padding): Likewise.
- 	* config/sparc/sparc.c (function_arg_padding): Likewise.
- 
- 2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (schedule_block): Use ready_remove_first instead
- 	of choose_ready for non-dfa insn scheduling.
- 
- 2003-09-15  Andreas Jaeger  <aj@suse.de>
- 	    Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- 
- 	* doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
- 	* c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
- 	* c-parse.in: Warn about old-style parameter definition.
- 	* c-common.c: Define warn_old_style_defintion.
- 	* c-common.h: Declare it.
- 	* c.opt: Add Wold-style-defintion.
- 
- 2003-09-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/rs6000/altivec.h: Convert () prototypes to ISO C90.
- 	* config/rs6000/rs6000.c: Likewise.
- 
- 2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR optimization/10914
- 	* expr.h (get_condition, canonicalize_condition): Declaration changed.
- 	* cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
- 	and canonicalize_condition calls.
- 	* gcse.c (fis_get_condition, delete_null_pointer_checks_1,
- 	delete_null_pointer_checks): Ditto.
- 	* ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
- 	* predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
- 	* loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
- 	(canonicalize_condition, get_condition): Allow to return comparisons
- 	of cc mode registers.
- 	* loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
- 	cc mode registers comparison in condition.
- 
- 2003-09-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* coverage.c (create_coverage): Do not call pushlevel/poplevel.
- 	* langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
- 	function.
- 	* langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
- 
- 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_comparison): Convert
- 	(ne (and (lshiftrt (xor X CST) Y) 1) 0) into
- 	(eq (and (lshiftrt X Y) 1) 0).
- 
- 2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Follow spelling conventions.
- 	* cpphash.h: Likewise.
- 	* fold-const.c: Likewise.
- 
- 2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
- 	* c-lex.c (cb_line_change): Skip line changing whenever
- 	c-ppoutput.c would.
- 
- 2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* ra.c: Convert to ISO C90 prototypes.
- 	* ra-build.c: Likewise.
- 	* ra-colorize.c: Likewise.
- 	* ra-debug.c: Likewise.
- 	* ra-rewrite.c: Likewise.
- 
- 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (%.dvi): Remove excess $(docdir).
- 
- 2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* function.c (STACK_BYTES): Move definition to head of file.
- 	(assign_parms): Don't pass current_function_pretend_args_size
- 	directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
- 	round current_function_pretend_args_size up to STACK_BYTES.  Skip any
- 	excess before laying out the argument.
- 
- 2003-09-14  Andreas Jaeger  <aj@suse.de>
- 
- 	* objc/objc-act.c: Convert to ISO C90 prototypes.
- 	* objc/objc-act.h: Likewise.
- 
- 2003-09-14  Olaf Hering  <olh@suse.de>
- 
- 	* config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
- 
- 2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	PR target/12021
- 	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
- 	as they already are done in config/m68k/m68k.h.
- 	* config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
- 
- 	* config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
- 	(machopic_output_stub): Only generate pic base symbols when using pic
- 	and generate them in the form L00000000$spb.
- 
- 2003-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraphunit.c (cgraph_assemble_pending_functions): Export.
- 	(cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
- 	* cgraph.h: Update.
- 
- 2003-09-12  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c: Fix typos in previous.
- 
- 2003-09-12  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
- 	when allocating pp->buffer.
- 
- 2003-09-12  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.c (machopic_select_rtx_section): Use
- 	const_data_section for things that might require relocation.
- 
- 2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR bootstrap/12264
- 	* tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
- 
- 2003-09-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
- 	* config/xtensa/linux.h (ASM_SPEC): Likewise.
- 	* config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
- 	-mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
- 	-m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
- 	-m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
- 	-m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
- 	-m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
- 	and redefine corresponding TARGET_* macros with constants from the
- 	xtensa-config.h header.
- 	* doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
- 	for the options listed above.
- 
- 2003-09-12  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000-protos.h:  Use C90 prototypes.
- 	* config/rs6000/rs6000-c.c:  Ditto.
- 	* config/rs6000/rs6000.c:  Ditto.
- 	* config/rs6000/ sysv4.h:  Ditto.
- 
- 2003-09-12  Chris Lattner <sabre@nondot.org>
- 
- 	* loop.c: Move comments describing BIV's and GIV's to top of file
- 
- 2003-09-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/8967
- 	* alias.c (write_dependence_p): Modify to take an additional constp
- 	argument that controls whether the UNCHANGING_RTX_P flags are used.
- 	(anti_dependence, output_dependence): Adjust write_dependence_p
- 	callers to pass this additional argument, to return the same result.
- 	(unchanging_anti_dependence): New variant of anti_dependence that
- 	ignores the UNCHANGING_RTX_P property on memory references.
- 	* rtl.h (unchaning_anti_dependence): Prototype here.
- 	* flow.c (init_propagate_block): Place fake constant mem writes on
- 	the mem_set_list so that dead writes to const variables are deleted.
- 	(insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
- 	(mark_used_regs): Likewise.
- 
- 2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
- 	(mcore_secondary_reload_class): Declare.
- 	(mcore_output_inline_const_forced): Remove.
- 	* config/mcore/mcore.md (movsi): Remove the code that forced
- 	non-inlineable constants into a register if the target was r15
- 	or the stack pointer.  Remove constant restrictions from the main
- 	define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
- 	of an r <- P alternative.  Remove fallback define_insn for reload.
- 	(movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
- 	define_insn.  Use mcore_output_move in the remaining define_insn.
- 	Adjust condition and constraints in the way as for movsi.
- 	(movdi): Always split unacceptable constants into two.  Use
- 	simplify_gen_subreg instead of operand_subword{,_force}.
- 	* config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
- 	(mcore_output_move): Support HImode and QImode moves as well.
- 	(mcore_m15_operand_p): New function.
- 	(mcore_reload_class): Use it to detect cases where LRW_REGS are better.
- 	(mcore_secondary_reload_class): New function.
- 	* config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
- 	terms of mcore_secondary_reload_class.
- 
- 2003-09-11  Mike Stump  <mrs@apple.com>
- 
- 	* c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
- 
- 2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin_logarithm): if N can't be truncated to
- 	MODE exactly, then only convert logN(N) -> 1.0 if
- 	flag_unsafe_math_optimizations is set.
- 
- 	* builtins.c (builtin_dconsts_init, dconstpi, dconste,
- 	init_builtin_dconsts): Delete.
- 	* emit-rtl.c (dconstpi, dconste): Define.
- 	(init_emit_once): Initialize dconstpi & dconste.
- 	* real.h (dconstpi, dconste): Declare.
- 
- 2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR fortran/11522
- 	* dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
- 	for ultimate origin even if block is abstract.
- 
- 2003-09-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (combine_simplify_rtx): Move several NOT and NEG
- 	optimizations from here...
- 	* simplify-rtx.c (simplify_unary_operation): to here.  Recursively
- 	simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
- 
- 2003-09-11  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraphunit.c (cgraph_finalize_function): Add nested arg.
- 	Tweek tests for function already generated.
- 	(cgraph_expand_function): Don't double announce in !unit-at-a-time.
- 	* cgraph.h (cgraph_finalize_function): Update for extra arg.
- 	* c-decl.c (finish_function): Likewise.
- 
- 2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
- 
- 	* c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
- 
- 2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* real.c: Update URL to VAX floating point docs.
- 	(decode_vax_d): Extract 8 exponent bits instead of 7.
- 
- 2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* combine.c (force_to_mode): Set fuller_mask based only on mask,
- 	not op_mode.
- 
- 2003-09-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Warn
- 	on why function is not inlinable; do not check
- 	the body.
- 	(inline_forbidden_p): Move to...
- 	* tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
- 	deal with alloca, longjmp.
- 	(inline_forbidden_p): New static function.
- 	(find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
- 	find_builtin_longjmp_call): Kill.
- 
- 2003-09-10  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraph.h (struct cgraph_node): Rename lowered to analyzed.
- 	* cgraphunit.c: Update to match.
- 	(record_call_1): Rearrange.  Call lang hook for language nodes.
- 	(cgraph_analyze_function): Don't call lower_function.
- 	* langhooks.h (struct lang_hooks_for_callgraph): Replace
- 	lower_function with analyze_expr.
- 	* langhooks-def.h: Update to match.
- 	* langhooks.c (lhd_callgraph_analyze_expr): New.
- 
- 2003-09-10  Martin Husemann  <martin@duskware.de>
- 
- 	PR target/11965
- 	* config/sparc/sparc.c (sparc_v8plus_shift): Protect against
- 	constants greater than 63.
- 	* config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
- 	against constants greater than 31.
- 	(*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
- 	constants greater than 63.
- 
- 2003-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraphunit.c (cgraph_finalize_function): Remove unused argument.
- 	* cgraph.h (cgraph_finalize_function): Update.
- 	* c-decl.c (finish_function): Update.
- 
- 2003-09-09  Devang Patel  <dpatel@apple.com>
- 
- 	* config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
- 	* doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
- 
- 2003-09-09  Eric Christopher  <echristo@redhat.com>
- 
- 	* configure.in: Change usage of 'head' to 'sed 1q'.
- 	* configure: Regenerate.
- 
- 2003-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c: Include cgraph.h.
- 	(output_function_exception_table): Invoke
- 	cgraph_varpool_mark_needed_node.
- 	* Makefile.in (except.o): Update.
- 
- 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
- 	and use it throughout.
- 
- 2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (real_dconstp, fold_builtin_logarithm,
- 	fold_builtin_exponent): New, split out from fold_builtin.  Also
- 	generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
- 	* emit-rtl.c (dconst3, dconst10, dconstthird): New.
- 	(init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
- 	of hardcoded array size.
- 	* fold-const.c (fold): Add cases for exp2, exp10 and pow10.
- 	(tree_expr_nonnegative_p): Likewise.
- 	* real.h (dconst3, dconst10, dconstthird): New.
- 
- 2003-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_finalize_function): Fix handling of extern
- 	inline functions.
- 	(cgraph_finalize_compilation_unit): Fix crash when dealing with lost
- 	DECL_SAVED_TREE.
- 
- 2003-09-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_cabs): Protect the complex argument
- 	against multiple evaluation when optimizing cabs* into sqrt*.
- 
- 2003-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* varasm.c (notice_global_symbol):  Properly deal with weak symbols.
- 
- 2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in: Revert yesterday's change.
- 
- 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
- 	    Peter Barada <peter@baradas.org>
- 
- 	* config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
- 	* config/m68k/hp320.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
- 	* gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
- 	* config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
- 	(m68k_compute_frame_layout): New function.
- 	(m68k_initial_elimination_offset): New function.
- 	(m68k_output_function_prologue): ColdFire-specific movem handling.
- 	(m68k_output_function_epilogue): Likewise.
- 	* config/m68k/m68k.h (FIRST_PSEUDO_REGISTER): Make room for argptr reg.
- 	(ARG_POINTER_REGNUM): Add new definition.
- 	(INITIAL_FRAME_POINTER_OFFSET): Remove macro.
- 	(ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
- 	(CAN_ELIMINATE): Likewise.
- 	(INITIAL_ELIMINATION_OFFSET): Likewise.
- 
- 2003-09-08  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Simplify
- 	by removing redundant variable cfa_store_offset.
- 
- 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* langhooks-def.h (lhd_register_builtin_type): New function.
- 	(LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
- 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
- 	* langhooks.h (lang_hooks_for_types): Add register_builtin_type.
- 	* langhooks.c (lhd_register_builtin_type): New function.
- 	* c-common.h (c_register_builtin_type): Declare.
- 	* c-common.c (c_register_builtin_type): New function.
- 	* c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
- 	c_register_builtin_type.
- 	* config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
- 	__float80, and __float128 macros.
- 	* config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
- 	__float80, and __float128 types.
- 
- 2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def
- 	(BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
- 	BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
- 	BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
- 	* builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
- 	BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
- 	BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
- 	BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
- 	BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
- 	BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
- 	BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
- 	BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
- 	BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
- 	BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
- 	BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
- 	BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
- 	BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
- 	BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
- 	New.
- 	* doc/extend.texi: Document new builtins.
- 
- 2003-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
- 	finalization.
- 	* cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
- 	functions, check for COMDAT.
- 	(cgraph_assemble_pending_functions): Break out from...
- 	(cgraph_finalize_function): ... here; allow redefinig of extern inline
- 	functions.
- 	(record_call_1): Record function references only in non-unit-at-a-time
- 	mode.
- 	(cgraph_analyze_function): Reset current_function_decl.
- 	(cgraph_finalize_compilation_unit):  Assemble pending functions.
- 
- 2003-09-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* mklibgcc.in (libcc.a): Depend on stmp-dirs.
- 	(libgov.a): Likewise.
- 	(libgcc_eh.a): Likewise.
- 
- 2003-09-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (operand_equal_p): Clarify documentation.
- 
- 2003-09-08  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (c_expand_body_1): Push and pop function context here.
- 	* tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
- 	nested argument instead of computing nesting ourselves.
- 
- 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
- 	regstack if optimizing but not scheduling after reload.
- 
- 2003-09-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (struct machine_function): New type.
- 	(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
- 	(sparc_override_options): Initialize init_machine_status.
- 	(tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
- 	tie_symbolic_operand, tle_symbolic_operand): New functions.
- 	(symbolic_operand): Disallow tls_symbolic_operand.
- 	(symbolic_memory_operand): Likewise.
- 	(tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
- 	constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
- 	New functions.
- 	(sparc_tls_symbol): New variable.
- 	(sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
- 	legitimize_address): New functions.
- 	(print_operand): Handle %&.
- 	(sparc_init_machine_status, get_some_local_dynamic_name,
- 	get_some_local_dynamic_name_1): New functions.
- 	(sparc_output_dwarf_dtprel): New function.
- 	* config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
- 	constant_address_p.
- 	(LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
- 	(LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
- 	(GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
- 	(LEGITIMIZE_ADDRESS): Moved into legitimize_address.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
- 	(TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
- 	(ASM_OUTPUT_DWARF_DTPREL): Define.
- 	(PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
- 	tie_symbolic_operand, tle_symbolic_operand.
- 	* config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
- 	UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
- 	(tls_call_delay): New attribute.
- 	(in_call_delay): Use it.
- 	(movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
- 	(tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
- 	tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
- 	tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
- 	tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
- 	tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
- 	(tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
- 	tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
- 	tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
- 	tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
- 	tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
- 	tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
- 	tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
- 	tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
- 	insns.
- 	* config/sparc/sparc-protos.h (legitimate_constant_p,
- 	constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
- 	legitimize_tls_address, legitimize_address, tls_symbolic_operand,
- 	tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
- 	* config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
- 	* config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
- 	* configure.in (sparc*-*-*): Add TLS check.
- 	* configure: Rebuilt.
- 
- 2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/11689
- 	* config/i386/i386.c (memory_address_length): Fix computation when
- 	the base is esp or ebp.
- 
- 2003-09-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/11852
- 	* varasm.c (initializer_constant_valid_p): Correct logic for
- 	CONSTRUCTORs.
- 
- 2003-09-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_operands): New function to expand an operand pair.
- 	(expand_expr): Call expand_operands whenever we need to expand both
- 	operands of a binary operator.
- 	(do_store_flag): Likewise for operands of comparison operations.
- 
- 2003-09-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (combine_simplify_rtx): Don't convert -(A*B) into
- 	(-A)*B if we care about sign-dependent rounding.
- 
- 2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
- 
- 	* c-pretty-print.h (pp_c_left_brace): Declare.
- 	(pp_c_right_brace): Likewise.
- 	* c-pretty-print.c (pp_c_left_brace): Now a function
- 	(pp_c_right_brace): Likewise.
- 
- 2003-09-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
- 
- 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (warn_deprecated_use): Move to toplev.c
- 
- 2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* langhooks.c (lhd_print_error_function): Move from diagnostic.c.
- 	* Makefile.in (langhooks.o): Depend on diagnostic.h
- 
- 2003-09-06  James E Wilson  <wilson@tuliptree.org>
- 
- 	* loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
- 	simplify.
- 
- 2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
- 	and use it throughout.
- 
- 2003-09-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
- 
- 	* toplev.c  (rest_of_decl_compilation):  Do not finalize external
- 	virables.
- 
- 	* cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
- 	functions.
- 	(cgraph_varpool_finalize_decl): Notice global symbol when needed.
- 
- 2003-09-06  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/12070
- 	* calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
- 
- 	PR opt/12082
- 	* cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
- 
- 2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (announce_function): Move to toplev.c.
- 
- 2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (expr_equiv_p): Don't consider anything to be equal to
- 	volatile mem.
- 
- 2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ggc-common.c (init_ggc_heuristics): Don't use the heuristics
- 	when gc checking is enabled.
- 
- 2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	PR c/9862
- 	* c-decl.c (c_expand_body_1): Move return warning from here...
- 	(finish_function): ...to here.
- 
- 2003-09-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
- 	a subset of the input class.
- 
- 2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i860/i860.c: Follow spelling conventions.
- 	* config/i860/i860.h: Likewise.
- 	* config/sh/sh.h: Likewise.
- 
- 2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
- 
- 	* config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
- 	* config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
- 	* config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
- 
- 2003-09-05  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/1823
- 	* expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
- 	multiplication to implement division by constant integer.
- 
- 2003-09-05  Jan Hubicka  <jh@suse.cz>
- 
- 	* opts.c (decode_options): Enable unit-at-a-time at -O2.
- 	* params.def (max-inline-insns-single): Set to 500
- 	(max-inline-insns-auto): Set to 150
- 	* invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
- 
- 2003-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraph.c (cgraph_mark_reachable_node): Split out from ...
- 	(cgraph_mark_needed_node): Remove needed argument.
- 	* cgraph.h: Update to match.
- 	* cgraphunit.c (decide_is_function_needed): Split out from ...
- 	(cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
- 	if we generated the function.
- 	(record_call_1): Update for cgraph_mark_reachable_node.
- 	* varasm.c (mark_referenced): Likewise.
- 	* objc/objc-act.c (mark_referenced_methods): Likewise.
- 
- 2003-09-04  DJ Delorie  <dj@redhat.com>
- 
- 	* targhooks.c: Add comment explaining the migration process.
- 
- 2003-09-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/frv/t-frv: Fix path for frv-abi.h.
- 	* config/frv/frv-asm.h: Fix string concatenation.
- 
- 2003-09-04  DJ Delorie  <dj@redhat.com>
- 
- 	* builtins.c (apply_args_size): Guard against a NULL cfun.
- 	(expand_builtin_apply_args_1): Likewise.
- 	(expand_builtin_apply): Likewise.
- 	Fixes PR bootstrap/12172.
- 
- 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
- 	assembler supports Sun syntax for cmov.
- 	* configure: Regenerate.
- 	* config.in: Likewise.
- 	* config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
- 	HAVE_AS_IX86_CMOV_SUN_SYNTAX.
- 	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
- 	Fixes PR target/12101.
- 
- 2003-09-04  Matt Austern  <austern@apple.com>
- 
- 	* c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
- 	with verbosity 0, instead of DECL_NAME, for human-readable string.
- 
- 2003-09-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* targhooks.c (default_return_in_memory): Allow
- 	unconverted ports.
- 
- 2003-09-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* targhooks.c (default_return_in_memory): Fix typo
- 	in last checkin.
- 
- 2003-09-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* targhooks.c (default_return_in_memory): Fix default
- 	definition.
- 
- 2003-09-04  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c (m68k_coff_asm_named_section): Restore
- 	deleted function.
- 	* config/m68k/coff.h (M68K_TARGET_COFF): Add flag used to
- 	enable coff-only code in m68k.c.
- 
- 2003-09-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add v850e1 target.  Allow --with-cpu to accept
- 	v850e1.
- 	* config/v850/v850.h: Accept v850e1 as a default CPU.
- 	Accept -mv850e1 as a command line option.
- 	* doc/invoke.texi: Document new -mv850e1 command line switch.
- 	* config/v850/t-v850: Treat -mv850e1 as a multilib alias for
- 	-mv850e.
- 
- 2003-09-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc (v850e-*-*): Use t-v850e makefile fragment.
- 	* config/v850/t-v850: Only produce one extra multilib - for
- 	the v850e.
- 	* config/v850/t-v850e: New file: Only produce one extra
- 	multilib - for the v850.
- 
- 2003-09-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
- 	* config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
- 	* unwind.h (_Unwind_GetBSP): New prototype.
- 	* libgcc-std.ver: Add empty GCC_3.3.2 version.
- 	* mkmap-symver.awk: For symbol versions with no exported symbols,
- 	don't put anything into version script, just change all symbol
- 	versions which inherit from it to inherit from its ancestor.
- 
- 2003-09-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (mips_expand_prologue): Convert to
- 	calls.struct_value_rtx hook.
- 	(reg_or_const_float_1_operand): New.
- 	* config/mips/mips.h: Update Comments.
- 	(mips_arg): Add reg_or_const_float_1_operand.
- 	* config/mips/mips.md (divdf3); Convert to expander.
- 	(divsf3): Ditto.
- 	(*divdf3): New pattern.
- 	(*divsf3): Ditto.
- 
- 2003-09-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (wrapup_global_declarations): Fix final pass in
- 	unit-at-atime mode.
- 
- 2003-09-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/extend.texi: Document removal of cast-as-lvalue extension in
- 	C++.
- 
- 2003-09-04  Nicolas Roche  <roche@act-europe.fr>
- 
- 	* gcc.c (process_command): Fix typo.
- 
- 2003-09-03  David O'Brien  <obrien@FreeBSD.org>
- 
- 	optimization/11980
- 	* config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
- 	(PTRDIFF_TYPE): Likewise.
- 	(WCHAR_TYPE_SIZE): Likewise.
- 
- 2003-09-03  DJ Delorie  <dj@redhat.com>
- 
- 	* targhooks.c: New file.
- 	* targhooks.h: New file.
- 	* Makefile.in: Add targhooks.o support.
- 	(function.o): Depend on$(TARGET_H).
- 	(stmt.o): Likewise.
- 	(combine.o): Depend on $(TREE_H) and $(TARGET_H).
- 	* builtins.c (apply_args_size, expand_builtin_apply_args_1,
- 	expand_builtin_apply): Convert to calls.struct_value_rtx hook.
- 	(expand_builtin_saveregs): Convert to
- 	calls.expand_builtin_saveregs hook.
- 	* c-decl.c (start_decl): Handle new calls.promote_prototypes hook
- 	here, instead of ...
- 	(get_parm_info) ... here.
- 	(store_parm_decls_oldstyle): Convert to calls.promote_prototypes
- 	hook.
- 	(finish_function): Handle calls.promote_prototypes hook here too.
- 	* c-typeck.c (convert_arguments): Convert to
- 	calls.promote_prototypes hook.
- 	(c_convert_parm_for_inlining): Likewise.
- 	* calls.c (initialize_argument_information): Convert to
- 	calls.promote_function_args hook.
- 	(expand_call): Convert to calls.struct_value_rtx,
- 	calls.strict_argument_naming,
- 	calls.pretend_outgoing_varargs_named, and
- 	calls.promote_function_return hooks.  Pass fndecl to
- 	aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
- 	hooks, so they can use that.
- 	(emit_library_call_value_1): Likewise.
- 	* combine.c (setup_incoming_promotions): Convert to
- 	calls.promote_function_args hook.
- 	* emit-rtl.c: Convert to calls.struct_value_rtx hook.
- 	* expr.c (expand_assignment): Pass call to aggregate_value_p.
- 	(expand_expr): Likewise.
- 	* expr.h: Remove support for SETUP_INCOMING_VARARGS,
- 	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
- 	RETURN_IN_MEMORY macro defaults.
- 	* final.c (profile_function): Convert to calls.struct_value_rtx
- 	hook.
- 	* function.c (aggregate_value_p): Accept function type tree as
- 	second parameter; try to deduce fntype from it.  Convert to
- 	calls.return_in_memory hook.
- 	(assign_parms): Convert to calls.setup_incoming_varargs,
- 	calls.strict_argument_naming, calls.promote_function_args,
- 	calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
- 	aggregate_value_p.
- 	(expand_function_start): Likewise.  Convert to
- 	calls.struct_value_rtx hook.
- 	(expand_function_end): Convert to calls.promote_function_return hook.
- 	(allocate_struct_function): Pass fndecl to aggregate_value_p.
- 	* hard-reg-set.h: Update comments to new hook names.
- 	* integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
- 	* reg-stack.c (stack_result): Likewise.
- 	* rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
- 	* stmt.c (expand_value_return): Convert to
- 	calls.promote_function_return hook.
- 	* target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
- 	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
- 	TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
- 	TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
- 	TARGET_STRICT_ARGUMENT_NAMING,
- 	TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
- 	* target.h: Likewise.
- 	* tree.h (aggregate_value_p): Also takes a tree to deduce function
- 	attributes from (for target hooks).
- 	* doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
- 	PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
- 	STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
- 	EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
- 	STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
- 	to hooks.
- 
- 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
- 	to aggregate_value_p.
- 	* config/arm/arm.c (arm_init_cumulative_args,
- 	arm_output_mi_thunk): Likewise.
- 	* config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
- 	Likewise.
- 	* config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
- 	mips_can_use_return_insn): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
- 	* config/s390/s390.c (s390_output_mi_thunk): Likewise.
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
- 	aggregate_value_p.
- 	* config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
- 	function to aggregate_value_p.
- 	* objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
- 	aggregate_value_p.
- 
- 	* config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
- 	(sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
- 	sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
- 	(sh_handle_renesas_attribute, sh_promote_prototypes,
- 	sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
- 	sh_setup_incoming_varargs, sh_strict_argument_naming,
- 	sh_pretend_outgoing_varargs_named): New decls.
- 	(targetm): Add new hooks.
- 	(calc_live_regs): Save MACL and MACH if the function has the
- 	renesas attribute.
- 	(sh_expand_prologue): Support renesas attribute.
- 	(sh_builtin_saveregs): Make static.
- 	(sh_build_va_list): Support renesas attribute.
- 	(sh_va_start): Likewise.
- 	(sh_va_arg): Likewise.
- 	(sh_promote_prototypes): New.
- 	(sh_function_arg): New, moved from sh.h.  Support renesas
- 	attribute.
- 	(sh_function_arg_advance): Likewise.
- 	(sh_return_in_memory): Likewise.
- 	(sh_strict_argument_naming): Likewise.
- 	(sh_pretend_outgoing_varargs_named): Likewise.
- 	(sh_struct_value_rtx): New.
- 	(sh_attribute): Add renesas attribute.
- 	(sh_handle_renesas_attribute): New.
- 	(sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
- 	(sh_ms_bitfield_layout_p): Support renesas attribute also.
- 	(sh_output_mi_thunk): Pass function to aggregate_value_p.  *
- 	config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
- 	-mhitachi.
- 	(STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
- 	target hooks.
- 	(sh_args): Add renesas_abi flag.
- 	(INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
- 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
- 	(PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
- 	stack for the renesas abi.
- 	(STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
- 	SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
- 	PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
- 	call cookie to indicate renesas calls.
- 
- 2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* gcse.c (replace_one_set): New function.
- 	(pre_insert_copy_insn): Change the order of copying
- 	to make copy propagation discover additional PRE opportunities.
- 
- 2003-09-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/11700.
- 	* simplify-rtx.c (simplify_subreg): Check that the subreg offset
- 	of a hard register is representable before trying to simplify it
- 	using subreg_hard_regno.
- 
- 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
- 	* configure: Regenerate.
- 
- 2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* intl.h (N_): Remove parentheses.
- 
- 2003-09-03  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
- 	* config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
- 	definition and code blocks compiled when not defined.
- 	* config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
- 	* config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
- 	* config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
- 	* config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
- 
- 2003-09-03  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* cgraphunit.c (visited_nodes): New static variable.
- 	(record_call_1): Use walk_tree with visited_nodes.
- 	(cgraph_create_edges): Use walk_tree with visited_nodes.
- 	Setup/teardown visited_nodes hashtable.
- 
- 2003-09-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* toplev.c (flag_rounding_math): New global variable.
- 	(f_options): Add to the list of language independent options.
- 	* flags.h (flag_rounding_math): Prototype here.
- 	(HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
- 	* common.opt (frounding-math): New common command line option.
- 	* opts.c (common_handle_option): Handle OPT_frounding_math.
- 	(set_fast_math_flags): -ffast-math clears flag_rounding_math.
- 
- 	* doc/invoke.texi: Document this new command line option.
- 
- 2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
- 
- 2003-09-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
- 	* c-decl.c (finish_function):  Kill arguments, always use cgraph path.
- 	* c-objc-common.c: Kill include of gt-c-objc-common.h
- 	(expand_deferred_fns, deffer_fn): Kill function.
- 	(deferred_fns): Kill variable.
- 	(finish_cdtor): Update finish_function call.
- 	(c_objc_common_finish_file): Always call cgraph code.
- 	* c-parse.c: Regenerate.
- 	* c-parse.y: Regenerate.
- 	* c-tree.h (finish_function): Update prototype.
- 	* objc-acct.c (build_module_descriptor, finish_method_def):
- 	Update call of finish_function.
- 	* cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
- 	forward prototype.
- 	(cgraph_finalize_function): In non-unit-at-a-time mode analyze the
- 	function and assemble it if needed.
- 	(cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
- 	mode.
- 	(cgraph_optimize): Likewise.
- 	(cgraph_expand_function): In non-unit-at-a-time mode keep function body
- 	even when it has no inline callees.
- 	* c-parse.in: Update calls to finish_function.
- 
- 2003-09-03  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
- 	Use #error to generate the message if TARGET_DEFAULT is not
- 	recognised.
- 
- 2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_UNUSED1): Remove.
- 	(MASK_XGOT, TARGET_XGOT): Define.
- 	(TARGET_SWITCHES): Add an entry for -mxgot.
- 	(ASM_SPEC): Map -mxgot to -xgot.
- 	* config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
- 	whether we're using a big-GOT sequences.
- 	(mips_legitimize_const_move, mips_expand_call): Likewise.
- 	(override_options): Revert 2003-01-09 change.
- 	* doc/invoke.texi: Document -mxgot.
- 
- 2003-09-02  Jason Merrill  <jason@redhat.com>
- 
- 	* config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
- 	* config/sparc/sol2.h: Not here.
- 
- 2003-09-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr): The code following both_summands performs
- 	the same task as simplify_gen_binary.  Replace all gotos to
- 	both_summands with a call to simplify_gen_binary and delete the
- 	now unused label.
- 
- 2003-09-02  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/7327
- 	* config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
- 
- 2003-09-02  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
- 	(cgraph_optimize_function): Set current_function_decl to the
- 	fndecl we're integrating from.
- 
- 2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: Break out _Complex math functions into their
- 	own category.
- 
- 2003-09-02  Andreas Jaeger  <aj@suse.de>
- 
- 	* langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
- 
- 2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
- 	finding the note again.
- 
- 2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Remove host-specific rewrites of target_alias.
- 
- 2003-09-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (genprogs): Fix typo.
- 
- 	* Makefile.in (gencheck.o): Remove build commands.
- 	(dummy-conditions.o): Likewise.
- 	(read-rtl.o): Likewise.
- 	(gensupport.o): Likewise.
- 	(genconfig$(build_exeext)): Remove rule.
- 	(genconfig.o): Remove build commands.
- 	(genflags$(build_exeext)): Remove rule.
- 	(genflags.o): Remove build commands.
- 	(gencodes$(build_exeext)): Remove rule.
- 	(gencodes.o): Remove build commands.
- 	(genconstants.o): Remove build commands.
- 	(genemit$(build_exeext)): Remove rule.
- 	(genemit.o): Remove build commands.
- 	(genrecog$(build_exeext)): Remove rule.
- 	(genrecog.o): Remove build commands.
- 	(genextract$(build_exeext)): Remove rule.
- 	(genextract.o): Remove build commands.
- 	(genpeep$(build_exeext)): Remove rule.
- 	(genpeep.o): Remove build commands.
- 	(genattr$(build_exeext)): Remove rule.
- 	(genattr.o): Remove build commands.
- 	(genprognames): New variable.
- 	(genprogs): Likewise.
- 	(genobjs): Likewise.
- 	(genprogs): New rule.
- 	(genobjs): Likewise.
- 	(genattrtab.o): Remove build commands.
- 	(genautomata.o): Likewise.
- 	(genoutput$(build_exeext)): Remove rule.
- 	(genoutput.o): Remove build commands.
- 	(gengenrtl.o): Likewise.
- 	(genpreds.o): Likewise.
- 	(gengtype.o): Likewise.
- 	(genconditions.o): Likewise.
- 	(gen-protos.o): Likewise.
- 	(scan.o): Likewise.
- 	(fix-header.o): Likewise.
- 	(scan-decls.o): Likewise.
- 	(check-g++): Combine with other check targets.
- 	(check-gcc): Likewise.
- 	(check-g77): Likewise.
- 	(check-objc): Likewise.
- 
- 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Remove host-specific stuff which is unused here
- 	since the introduction of config.host.
- 
- 	* doc/fragments.texi: Mention config.host.
- 	* doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
- 	of config.build, config.host, and config.gcc.
- 
- 2003-09-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (pushdecl): Don't put variables on
- 	C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
- 	incomplete.
- 
- 2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.host: New file.
- 	* config.gcc: Remove some host-specific stuff and some
- 	logic needed only for repeated invocation.
- 	* configure.in: Use config.host.
- 	* configure: Regenerate.
- 
- 2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
- 	* convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
- 	* fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
- 	(fold): Kill BIT_ANDTC_EXPR and label bit_and.
- 	* tree.def (BIT_ANDTC_EXPR): Kill.
- 
- 2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Remove uses of "for x in .. ${foo}" idiom.
- 	* configure: Regenerate.
- 
- 	* config.gcc:  Remove references to install_headers_dir, now unused
- 	since introduction of config.build.
- 	* config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
- 
- 	* doc/fragments.texi, doc/sourcebuild.texi: Mention new file
- 	config.build.
- 
- 	* config.build: New file.
- 	* config.gcc: Remove some build-specific stuff.
- 	* configure.in: Use config.build.
- 	* configure: Regnerate.
- 
- 2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11823
- 	* stmt.c (expand_end_case_type): Only use jump tables for dense
- 	switch statements when optimizing for size.
- 
- 2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
- 	the != 0 case, which ensures pending stack adjustments are flushed.
- 
- 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.frag: Delete file.
- 	* configure.in: Rename the substitution variables
- 	dep_host_xmake_file and dep_tmake_file to xmake_file and
- 	tmake_file respectively.  Do not expand $srcdir in the
- 	value of these; leave that for Make.  Introduce a new
- 	substitution varaible, all_lang_makefrags, which lists
- 	subdirectory Make-lang.in files; exclude these from
- 	all_lang_makefiles, which is now only for subdirectory
- 	outputs.  Do not invoke configure.frag.  Do not set nor
- 	AC_SUBST_FILE target_overrides, host_overrides, or
- 	language_fragments. Create build subdirectories in
- 	config.status extra commands.
- 	* configure: Regenerate.
- 	* Makefile.in: Update substitutions to match changes to
- 	configure.  Use include directives instead of @-insertions
- 	to read in host, target, and language fragments.
- 	(Makefile rule): Do not invoke configure.frag.  Do not copy
- 	config.status to config.run before executing it.  Set
- 	CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
- 	regenerated.
- 	(cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
- 
- 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
- 	* c-typeck.c (same_translation_unit_p): New function.
- 	(comptypes): Use it instead of flags parameter to identify
- 	structure types from different translation units.
- 	* c-decl.c (duplicate_decls): Always call comptypes with
- 	COMPTYPE_STRICT flags argument.
- 	(c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
- 	to file_scope_decl.
- 
- 2003-08-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
- 	* c-decl.c (struct c_scope): Remove "incomplete" field.
- 	(pushdecl): Attach variables with incomplete types to
- 	the TYPE_MAIN_VARIANT of the incomplete type in question.
- 	(finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
- 	to complete, not at current_scope->incomplete.  All such
- 	variables do need completion.
- 
- 2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
- 	Nicolas Pitre <nico@cam.org>
- 
- 	* arm/lib1funcs.asm (RETCOND): Delete.
- 	(RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
- 	(ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
- 	(__ARM_ARCH__): Move here from ieee754-?f.S.
- 	(RET, RETc): Clean up definitions.
- 	(DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
- 	(FUNC_END): New macro that marks the end of any function.
- 	(ARM_FUNC_START): New macro that allows an assembler routine to be
- 	implemented in ARM code even if a Thumb-only build.
- 	Unconditionally include ieee754-?f.S.
- 	* arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
- 	Mark ends of functions.
- 	Split into separate conditionally-compiled units.
- 	Use RETLDM to return from routines.
- 	* arm/ieee754-sf.S: Similarly.
- 	* t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
- 	Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
- 	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
- 	_fixsfsi and _fixunssfsi.
- 
- 	* arm/ieee754-df.S (__muldf3): Fix bug when result of a
- 	multiplication underflows to zero.
- 	(__adddf3): Fix bug when using VFP ordering on little-endian
- 	processors.
- 	(__fixdfsi): Use rrx to extract the carry into a register instead of
- 	MRS instruction.  Optimize later use of result.
- 	* arm/ieee754-sf.S (__fixsfsi): Likewise.
- 	(__fixunssfsi): Use a better sequence for handling negative-or-zero.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-optimize.c: New file.
- 	* Makefile.in (OBJS-archive): Add tree-optimize.o.
- 	(tree-optimize.o): New.
- 	* c-decl.c (store_parm_decls): Use allocate_struct_function.
- 	(finish_function): Don't free_after_parsing or free_after_compilation.
- 	(set_save_expr_context): Move to tree-optimize.c.
- 	(c_expand_body_1): Use tree_rest_of_compilation.
- 	* c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
- 	* objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
- 	* c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
- 	iterate until closure.
- 	* langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
- 	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
- 	(LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
- 	* langhooks.h (struct lang_hooks_for_rtl_expansion): New.
- 	* toplev.h (tree_rest_of_compilation): Declare it.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Add rtl_inline_init, saved_for_inline.
- 	* integrate.c (save_for_inline): Set saved_for_inline.
- 	* c-semantics.c (genrtl_scope_stmt): Check it.
- 	* toplev.c (wrapup_global_declarations): Check it.
- 	(rest_of_handle_inlining): Set and check rtl_inline_init.
- 	(rest_of_compilation): Remove out of date comment.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (allocate_struct_function): New, split out of ...
- 	(prepare_function_start, init_function_start): ... here.
- 	* expr.c (init_expr): Use ggc_alloc_cleared.
- 	* stmt.c (init_stmt_for_function): Likewise.
- 	* tree.h (allocate_struct_function): Declare.
- 
- 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Don't use negated character class in shell case
- 	clause.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Move function_frequency and
- 	max_jumptable_ents before start of bit field members.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
- 	(fold_builtin_constant_p) ... not here.
- 
- 2003-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* c-tree.h (C_DECL_FILE_SCOPE): Move ...
- 	* tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
- 	* c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
- 
- 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: Fix typos.
- 	(ATTR_MATHFN_FPROUNDING_STORE): New macro.
- 	(BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
- 	BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
- 	BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
- 	BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
- 
- 	* builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
- 	Use ATTR_MATHFN_FPROUNDING_ERRNO.
- 
- 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (i386-*-vsta): Fix obvious bogosity.
- 
- 	* fixinc/inclhack.def:  Remove special cases for unsupported
- 	PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-08-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (cpp.info): Just state dependencies.
- 	(gcc.info): Likewise.
- 	(gccint.info): Likewise.
- 	(gccinstall.info): Likewise.
- 	(cppinternals.info): Likewise.
- 	(cpp.dvi): Likewise.
- 	(gcc.dvi): Likewise.
- 	(gccint.dvi): Likewise.
- 	(gccinstall.dvi): Likewise.
- 	(cppinternals.dvi): Likewise.
- 	(gcov.1): Likewise.
- 	(cpp.1): Likewise.
- 	(gcc.1): Likewise.
- 	(gfdl.7): Likewise.
- 	(gpl.7): Likewise.
- 	(fsf-funding.7): Likewise.
- 	($(objdir)/%.info): New pattern rule.
- 	(%.dvi): Likewise.
- 
- 2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
- 	(restage2): Likewise.
- 	(restage3): Likewise.
- 	(restage4): Likewise.
- 	(restageprofile): Likewise.
- 	(restagefeedback): Likewise.
- 	(bubblestrap): Likewise.
- 
- 2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Narrow unsupported target match to avoid clobbering
- 	i?86-sequent-sysv4*.
- 
- 2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (mathfn_built_in): Handle new math builtins.
- 
- 2003-08-28  Per Bothner  <per@bothner.com>
- 
- 	Fix (hopefully temporary) for breakage caused by my 08-21 patch.
- 	* cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
- 	(_cpp_lex_buffer):  Likewise.
- 	* cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
- 
- 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*mulsi3_sign"): New insn.
- 	("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
- 	("mulsidi3"): ... this new insn.
- 	("umulsidi3"): New insn.
- 	("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
- 	mixed-mode matching constraints.
- 	("udivmodsi4", "udivmoddisi3"): New insns.
- 	("udivsi3", "umodsi3"): Use only in ESA/390 mode.
- 
- 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
- 	BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
- 	BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
- 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
- 	BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
- 	BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
- 	BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
- 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
- 	BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
- 	BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
- 	BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
- 	* builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
- 	BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
- 	BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
- 	BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
- 	* tree.c: Assign new type_nodes.
- 	* tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
- 	TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
- 	(float_ptr_type_node, double_ptr_type_node,
- 	long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
- 
- 	* doc/extend.texi: Document new builtins.
- 
- 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
- 	BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
- 
- 	* builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
- 	BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
- 	BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
- 	BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
- 	BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
- 	BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
- 	BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
- 	BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
- 	BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
- 	BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
- 
- 	* doc/extend.texi: Document new builtins.
- 
- 2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Remove special case code for unsupported
- 	variants of i?86, powerpcle, and thumb.
- 	* fixinc/mkfixinc.sh: Remove special case code for unsupported
- 	arm and hppa variants.
- 
- 2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
- 	BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
- 	BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
- 	BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
- 	BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
- 	BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
- 	BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
- 	BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
- 	BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
- 	BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
- 
- 	* builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
- 	BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
- 	BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
- 	BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
- 	BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
- 	BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
- 	BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
- 	BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
- 	BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
- 	BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
- 	BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
- 	BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
- 	BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
- 	BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
- 	BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
- 	BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
- 	BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
- 	BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
- 	BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
- 	BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
- 	BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
- 	BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
- 	BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
- 	BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
- 	BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
- 	BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
- 	BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
- 	BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
- 	BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
- 	BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
- 	BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
- 
- 	* doc/extend.texi: Document new builtins.
- 
- 2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitmate_constant_p): Use LARL on
- 	zSeries machines even in 31-bit addressing mode.
- 	(legitimate_reload_constant_p): Likewise.
- 	(legitimize_pic_address): Likewise.
- 	(legitimize_tls_address): Likewise.
- 	(s390_split_branches): Likewise.
- 	(s390_dump_pool): Likewise.
- 	(s390_mainpool_finish): Likewise.
- 	(s390_chunkify_start): Likewise.
- 	(s390_select_rtx_section): Likewise.
- 	* config/s390/s390.md ("doloop_si"): Likewise.
- 	("pool_start_31", "pool_end_31"): Likewise.
- 	("pool_start_64", "pool_end_64"): Likewise.
- 	("main_base_31_small", "main_base_31_large"): Likewise.
- 	("main_base_64"): Likewise.
- 	("reload_base_31", "reload_base_64"): Likewise.
- 	("*movsi_larl"): New insn.
- 	("cjump", "icjump"): Use long branches on zSeries machines.
- 	("jump"): Likewise.
- 	("call"): Use BRASL on zSeries machines.
- 	("call_value", "call_value_tls"): Likewise.
- 	("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
- 	and replace by ...
- 	("*bras", "*brasl", "*basr") ... these new insns.
- 	("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
- 	"bas_31_r"): Remove and replace by ...
- 	("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
- 	("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
- 	"bas_64_tls", "bas_31_tls"): Remove and replace by ...
- 	("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
- 	("*return_si", "*return_di"): Remove and replace by ...
- 	("*return"): ... this new insn.
- 	("rotlsi3"): Allow on zSeries machines.
- 
- 	* config/s390/s390.c (legitimize_reload_constant_p): Use
- 	LL/LH type instructions in z/Architecture mode.
- 	* config/s390/s390.md ("*movsi_lli"): Likewise.
- 	("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
- 	("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
- 	("*extendqisi2"): Use LB in z/Architecture mode.
- 	("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
- 	z/Architecture mode.
- 	("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
- 	Likewise.
- 
- 	* config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
- 	and 31-bit mode.
- 	("ptr_extend"): Allow only in 64-bit mode.
- 
- 2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
- 	(TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
- 	definitions.
- 	(main): Only use standard_startfile_prefix if native.
- 	* doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
- 
- 2003-08-27  Per Bothner  <pbothner@apple.com>
- 
- 	* cpperror.c (print_location):  Don't check for !pfile->buffer.  That
- 	test fails following my 08-21 change, and it seems unnecessary anyway.
- 	(cpp_error):  Likewise.
- 
- 2003-08-27  Jason Merrill  <jason@redhat.com>
- 
- 	* real.c (do_multiply): Initialize with memset.
- 
- 2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcov.c (typedef struct arc_info): New field cs_count.
- 	(accumulate_line_counts): Find cycles correctly.
- 
- 2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (struct machine_function): Remove member
- 	literal_pool_label.
- 	(s390_optimize_prolog): Replace TEMP_REG argument with
- 	TEMP_USED and BASE_USED.  Do not check get_pool_size ().
- 	(general_s_operand): Accept all immediates before reload if
- 	ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
- 	references.
- 	(s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
- 	(find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
- 	(s390_alloc_pool): New function.
- 	(s390_new_pool): Call it.
- 	(s390_dump_pool): Add REMOTE_LABEL argument.
- 	(s390_chunkify_start): Add BASE_REG argument.  Do not check
- 	get_pool_size ().
- 	(s390_chunkify_finish): Add BASE_REG argument.  Adapt
- 	s390_dump_pool call.
- 	(s390_pool_count, s390_nr_constants): Remove.
- 	(s390_output_constant_pool): Remove.
- 	(s390_mainpool_start): New function.
- 	(s390_mainpool_finish): New function.
- 	(s390_mainpool_cancel): New function.
- 	(s390_reorg): Implement main literal pool handling.
- 	(s390_emit_prologue): Emit main_pool placeholder instead of
- 	literal_pool_31 / literal_pool_64 insns.
- 	* config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
- 	(ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
- 	* config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
- 	("main_base_31_small", "main_base_31_large"): New insns.
- 	("main_base_64",  "main_pool"): New insns.
- 	("literal_pool_31", "literal_pool_64"): Remove.
- 
- 2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
- 	fixinc.ptx.
- 	* fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
- 	Prettify a little.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
- 	(L_ieee754_dp): New.  Include ieee754-df.S.
- 	* arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
- 	and compilation in apcs-26 mode.
- 	* arm/ieee754-df.S: Likewise.
- 	* t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
- 	(LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
- 
- 2003-08-27  Nicolas Pitre  <nico@cam.org>
- 
- 	* arm/ieee754-sf.S: New.
- 	* arm/ieee754-df.S: New.
- 
- 2003-08-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
- 	and restore it if returning NULL.
- 
- 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* calls.c (initialize_argument_information): If an argument has no
- 	stack space associated with it, and BLOCK_REG_PADDING is defined,
- 	use it to decide at which end the argument should be padded.
- 	* function.c (assign_parms): Allocate BLKmode stack slots.
- 	* config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
- 	(mips_pad_reg_upward): Declare.
- 	* config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
- 	(CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
- 	(FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
- 	(BLOCK_REG_PADDING): Use mips_pad_reg_upward.
- 	* config/mips/mips.c (struct mips_arg_info): Remove struct_p.
- 	(mips_expand_call): Remove code for generating structure shifts.
- 	(mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
- 	types unless using the EABI.
- 	(function_arg_advance): Don't generate shift instructions.
- 	(function_arg): Don't return them.  Don't short-circuit the
- 	check for double structure chunks for DFmode arguments.
- 	(mips_pad_arg_upward, mips_pad_reg_upward): New functions.
- 	(mips_expand_prologue): Remove code to emit structure shifts.
- 	* config/mips/irix6-libc-compat.c: Remove workarounds for buggy
- 	structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
- 	comments to say that only structure returns are a problem.
- 
- 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
- 	Fix to match produced versions.
- 	* fixinc/inclhack.def (longlong_t): New disabled test, ported
- 	from fixinc.svr4.
- 	* fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
- 	from fixinc.ptx.
- 	* fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
- 	ported from fixinc.ptx.
- 
- 2003-08-26  Per Bothner  <pbothner@apple.com>
- 
- 	* cpplib.h (struct cpp_token):  Change type of field line to fileline.
- 	(cpp_error_with_line):  Use fileline for appropriate parameter.
- 	* cpphash.h (struct cpp_macro):  Change type of field line to fileline.
- 	(struct cpp_reader):  Likewise for fields line and directive_line.
- 	(_cpp_begin_message):  Use fileline for appropriate parameter.
- 	* cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
- 	cpp_error):  Use fileline for appropriate parameters and variables.
- 	(print_location):  New local lin, since it is not a fileline.
- 
- 2003-08-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/12002
- 	* tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
- 	(FLOAT_TYPE_P): Define in terms of these two new macros.
- 	* fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
- 	for complex floating point types.
- 
- 2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (emit_prologue): Don't check literal pool size.
- 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
- 	s390_output_pool_entry.
- 
- 2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (svr4_preproc_lint_on,
- 	svr4_preproc_lint_off, svr4_preproc_machine): New disabled
- 	fixes, ported from fixinc.svr4.
- 
- 2003-08-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/install.texi (Prerequisites): Mention GNU make requirement.
- 
- 	* Makefile.in (AR_FOR_TARGET): Export it.
- 	(AR_CREATE_FOR_TARGET): Likewise.
- 	(AR_FLAGS_FOR_TARGET): Likewise.
- 	(AR_EXTRACT_FOR_TARGET): Likewise.
- 	(AWK): Likewise.
- 	(BUILD_PREFIX): Likewise.
- 	(BUILD_PREFIX_1): Likewise.
- 	(DESTDIR): Likewise.
- 	(GCC_FOR_TARGET): Likewise.
- 	(INCLUDES): Likewise.
- 	(INSTALL_DATA): Likewise.
- 	(LIB1ASMSRC): Likewise.
- 	(LIBGCC2_CFLAGS): Likewise.
- 	(MACHMODE_H): Likewise.
- 	(NM_FOR_TARGET): Likewise.
- 	(RANLIB_FOR_TARGET): Likewise.
- 	(libsubdir): Likewise.
- 	(slibdir): Likewise.
- 	(ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
- 	exporting.
- 	(libgcc.a): Don't pass them here.
- 	(stmp-multilib): Or here.
- 	(install-libgcc): Or here.
- 	(install-multilib): Or here.
- 	(POSTSTAGE1_FLAGS_TO_PASS): Or here.
- 	(stage1_build): Or here.
- 
- 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
- 	"*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
- 
- 2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("*fmadddf", "*fmsubdf",
- 	"*fmaddsf", "*fmsubsf"): New insns.
- 
- 2003-08-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
- 	(C1*C2)/X when unsafe math optimizations are allowed.
- 	(fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
- 	math optimizations.  Minor code clean-ups.  Recursively call
- 	fold when constructing sub-expressions.
- 
- 2003-08-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_bitop): New function to perform constant
- 	folding of ffs, clz, ctz, popcount and parity builtin functions
- 	and their long and long long variants (such as ffsl and ffsll).
- 	(fold_builtin): fold_builtin_bitop when appropriate.
- 	* simplify-rtx.c (simplify_unary_operation): Honor both
- 	CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
- 	evaluating clz and ctz at compile-time, for operands wider
- 	than HOST_WIDE_INT.
- 
- 2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (build_function_call_expr): Don't set
- 	TREE_SIDE_EFFECTS here.
- 	* expr.c (emit_block_move_via_libcall): Likewise.
- 	(clear_storage_via_libcall): Likewise.
- 	* tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
- 	CALL_EXPRs.
- 
- 	* gcse.c (is_too_expensive): New function.
- 	(gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
- 
- 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
- 	commented-out logic to use DCE threads (if present), add
- 	support for POSIX threads.
- 	* config/ia64/hpux.h: Define CPP_SPEC to set appropriate
- 	#defines for -pthread.  Add -lpthread to LIB_SPEC when
- 	-pthread.  In both cases take -mt as a synonym for -pthread
- 	for acc compatibility.
- 	Define GTHREAD_USE_WEAK to 0.
- 	* config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC.
- 	Remove old logic for DCE threads from LIB_SPEC.
- 	* config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0.
- 
- 2003-08-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_mathfn):  Rearrange so that we only
- 	return 0 for invalid argument types.  Instead drop through to a
- 	call of expand_call at the bottom of function.  If op is SQRT,
- 	try attaching a SQRT rtx as the REQ_EQUAL note of the libcall.
- 
- 2003-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
- 	result when op0 is SImode.
- 
- 2003-08-25  Nathanael Nerode  <neroden@twcny.rr.com>
- 
- 	* fixinc/inclhack.def (svr4_sighandler_type): New fix, ported
- 	from fixinc.svr4.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/sys/signal.h: Regenerate.
- 
- 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (simplify_comparison): Re-enable widening of comparisons
- 	with non-paradoxical subregs of non-REG expressions.
- 
- 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
- 
- 2003-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (combine_simplify_rtx): Fix RTL sharing bug.
- 
- 2003-08-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* pretty-print.h (pp_maybe_newline_and_indent): New macro.
- 	* c-pretty-print.h (c_pretty_printer): Now typedef to the
- 	structure.  Be consistent with pretty-print.h abd cxx-pretty-print.h
- 	(struct c_pretty_print_info): Document.  Add new fields.
- 	(pp_type_specifier_seq): Rename from pp_c_type_specifier.
- 	(pp_direct_abstract_declarator): New macro.
- 	(pp_ptr_operator): Likewise.
- 	(pp_simple_type_specifier): Likewise.
- 	(pp_expression): Likewise.
- 	(pp_parameter_list): Rename from pp_parameter_declaration.
- 	* c-pretty-print.c (pp_c_whitespace): Now a function.
- 	(pp_c_left_paren): Likewise.
- 	(pp_c_right_paren): Likewise.
- 	(pp_c_dot): Likewise.
- 	(pp_c_ampersand): Likewise.
- 	(pp_c_arrow): Likewise.
- 	(pp_c_semicolon): Likewise.
- 	(pp_c_type_cast): New function.
- 	(pp_c_space_for_pointer_operator): Likewise.
- 	(pp_c_call_argument_list): Likewise.
- 	(pp_c_cv_qualifier): Adjust prototype.
- 	(pp_c_type_qualifier_list): Likewise.
- 	(pp_c_pointer): Likewise.  Handle REFERENCE_TYPE here.
- 	(pp_c_type_specifier): Rename from pp_c_simple_type_specifier.
- 	Adjust to follow standard grammar.
- 	(pp_c_specifier_qualifier_list): Adjusr prototype.  Handle
- 	REFERENCE_TYPE.  Tidy.
- 	(pp_c_parameter_type_list): Adjust prototype.  Tidy.
- 	(pp_c_parameter_declaration): Remove.
- 	(pp_c_abstract_declarator): Adjust prototype.
- 	(pp_c_direct_abstract_declarator): Likewise.
- 	(pp_c_type_id): Likewise.
- 	(pp_c_storage_class_specifier): Likewise.
- 	(pp_c_function_specifier): Likewise.
- 	(pp_c_declaration_specifiers): Likewise.
- 	(pp_c_direct_declarator): Likewise.
- 	(pp_c_declarator): Likewise.
- 	(pp_c_declarator): Likewise.
- 	(pp_c_declaration): Likewise.
- 	(pp_c_attributes): Likewise.  Tidy.
- 	(pp_c_function_definition): Adjust prototype.
- 	(pp_c_char): Likewise.
- 	(pp_c_string_literal): Likewise.
- 	(pp_c_integer_constant): Likewise.
- 	(pp_c_character_constant): Likewise.
- 	(pp_c_bool_constant): Likewise.
- 	(pp_c_enumeration_constant): Likewise.
- 	(pp_c_floating_constant): Likewise.
- 	(pp_c_constant): Likewise.
- 	(pp_c_identifier): Likewise.
- 	(pp_c_primary_expression): Likewise.  Remove TARGET_EXPR case.  Tidy.
- 	(pp_c_initializer): Adjust prototype.
- 	(pp_c_init_declarator): Likewise.
- 	(pp_c_initializer_list): Likewise.
- 	(pp_c_id_expression): Likewise.
- 	(pp_c_postfix_expression): Likewise.
- 	(pp_c_expression_list): Likewise.
- 	(pp_c_unary_expression): Likewise.
- 	(pp_c_cast_expression): Likewise.
- 	(pp_c_multiplicative_expression): Likewise.
- 	(pp_c_additive_expression): Likewise.
- 	(pp_c_shift_expression): Likewise.
- 	(pp_c_relational_expression): Likewise.
- 	(pp_c_equality_expression): Likewise.
- 	(pp_c_and_expression): Likewise.
- 	(pp_c_exclusive_or_expression): Likewise.
- 	(pp_c_inclusive_or_expression): Likewise.
- 	(pp_c_logical_and_expression): Likewise.
- 	(pp_c_logical_or_expression): Likewise.
- 	(pp_c_conditional_expression): Likewise.
- 	(pp_c_assignment_expression): Likewise.
- 	(pp_c_expression): Likewise.  Tidy.
- 	(pp_c_statement): Likewise.  Document.
- 	(pp_c_pretty_printer_init): Adjust prototype. Tidy.
- 
- 	* c-lang.c (c_initialize_diagnostics): Update.
- 	* c-common.h (strip_pointer_operator): Declare.
- 	* c-common.c (strip_pointer_operator): Define.
- 
- 2003-08-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/8795
- 	* tree.h (build_method_type_directly): Declare.
- 	* c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs.
- 	(vector_size_helper): Likewise.
- 	* tree.c (build_method_type_directly): New function.
- 	(build_method_type): Use it.
- 
- 2003-08-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386.i386.c (ix86_return_in_memory): Reformat.  Return true
- 	for 16-byte vector modes if sse not enabled; warn for abi change.
- 	(ix86_value_regno): Only return xmm0 for 16-byte vector types.
- 
- 2003-08-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* rtlanal.c (may_trap_p): Simplify an integer comparison.
- 
- 2003-08-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (AAB_svr4_replace_byteorder):  Enhance
- 	comment.  Enable for DYNIX/ptx systems (when they switch to
- 	regular fixincludes).
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-08-23  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/t-i860: New.
- 	* config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file.
- 
- 2003-08-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (pushdecl): Only put decls which finish_struct will do
- 	something about onto incomplete chain.
- 	(finish_struct): If not removing type from incomplete
- 	list, update prev.
- 
- 2003-08-20  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/11369
- 	* i386.c (ix86_expand_carry_flag_compare): Validate operand.
- 
- 	PR target/11031
- 	* i386.c (const_0_to_3_operand, const_0_to_7_operand,
- 	const_0_to_15_operand, const_0_to_255_operand): New predicates.
- 	* i386.h (PREDICATE_CODES): Add these.
- 	* i386.c (pinsrw and pextrw patterns): Use them.
- 
- 	PR target/10984
- 	* i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes.
- 
- 	PR target/8869
- 	* expr.c (convert_modes): Deal properly with integer to vector
- 	constant conversion.
- 
- 	PR target/8871
- 	* i386.md (zero_extendsidi2*): Add MMX and SSE alternatives.
- 
- 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (LOAD_EXTEND_OP): Remove.
- 	* config/s390/s390.md ("movhi"): New expander; old insn renamed to ...
- 	("*movhi"): ... this.
- 	("movqi", "*movqi"): Likewise.
- 	("movqi_64"): Remove.
- 	("*zero_extendhisi2_31"): Change predicate to s_operand.
- 
- 2003-08-23  Dale Johannesen  <dalej@apple.com>
- 	* calls.c (emit_library_call_value_1): Fix obvious errors in
- 	arguments to emit_group_store.
- 
- 2003-08-23  Jason Eckhardt  <jle@rice.edu>
- 
- 	* calls.c (emit_library_call_value_1): Remove code related
- 	to LIBGCC_NEEDS_DOUBLE.
- 	* config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE.
- 	* doc/tm.texi: Likewise.
- 	* system.h: Poison the LIBGCC_NEEDS_DOUBLE macro.
- 
- 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
- 
- 2003-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64
- 	as well.  Put memory references in the varargs alias set.
- 	(mips_expand_prologue): Remove varargs handling from here.
- 
- 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
- 	s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list,
- 	s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax
- 	for function pointer calls.
- 	* config/s390/s390.md ("*negdi2_31"): Likewise.
- 
- 2003-08-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (apply_distributive_law): Correct comment.
- 
- 2003-08-23  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860.c (i860_build_va_list): Create the va_decl
- 	declaration.  Document the va_list structure.
- 	(i860_va_start): Initialize the va_list structure.
- 	(i860_va_arg): Rewrite completely.
- 	* config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define.
- 	* config/i860/varargs.asm: Do not allocate or initialize
- 	a va_list.  Return the address of the register save area.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/iq2000/iq2000.c: Fix comment typos.
- 	* config/iq2000/iq2000.md: Likewise.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/iq2000/iq2000.c: Follow spelling conventions.
- 	* config/iq2000/iq2000.h: Likewise.
- 	* config/mn10300/mn10300.c: Likewise.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860.c (output_move_double): Don't set latehalf
- 	to zero for CONST_INT (since it could be, e.g., -1).
- 
- 	* config/i860/i860.h (REMSI3_LIBCALL): Replace this macro...
- 	(MODSI3_LIBCALL): ...with this one.
- 	(UREMSI3_LIBCALL): Replace this macro...
- 	(UMODSI3_LIBCALL): ...with this one.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860-protos.h (output_delay_insn): Remove prototype.
- 	(output_delayed_branch): Remove prototype.
- 	(single_insn_src_p): Remove prototype.
- 	* config/i860/i860.c (single_insn_src_p): Remove function.
- 	(output_delayed_branch): Remove function.
- 	(output_delay_insn): Remove function.
- 	(va_start): Remove unconditional test and dead code, re-format.
- 	Fix coding style and spelling problems in various comments.
- 	* config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant...
- 	(blockage pattern): ...and use it here.
- 	(all define_peephole patterns related to delayed branches): Remove.
- 	Fix coding style and spelling problems in various comments.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'.
- 	Remove all uses of the PARAMS macro.  Remove superflous prototypes.
- 	Convert all function definitions from traditional to ISO C90 syntax.
- 	* config/i860/i860-protos.h: Replace all occurrences of 'GNU CC'
- 	with 'GCC'.  Remove all uses of the PARAMS macro.
- 	* config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'.
- 	* config/i860/i860.md: Likewise.
- 	* config/i860/sysv4.h: Likewise.
- 	* config/i860/varargs.asm: Likewise.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p'
- 	argument.
- 	(tdesc_section): Add prototype.
- 	Update copyright dates.
- 	* config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h.
- 	(TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file.
- 	(TARGET_ASM_FUNCTION_EPILOGUE): Likewise.
- 	(targetm): Likewise.
- 	(i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC
- 	for '%d' where necessary.
- 	(i860_va_start): Remove 'stdarg_p' argument.  Make conditional checks
- 	on 'stdarg_p' unconditional.  Divide current_function_args_info.ints
- 	by UNITS_PER_WORD when referencing (likewise for .floats).
- 	(I860_SVR4_VARARGS): Rename...
- 	(I860_SVR4_VA_LIST): ...to this.
- 	Call build() with 't' rather than 'field'.
- 	(i860_rtx_costs): New function.
- 	(TARGET_RTX_COSTS): Define.
- 	(i860_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Define.
- 	(i860_file_start): New function.
- 	Update copyright dates.
- 	* config/i860/i860.h (CPP_PREDEFINES): Remove.
- 	(TARGET_CPU_CPP_BUILTINS): Define.
- 	(EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument.
- 	(CONST_COSTS): Remove (and move code to i860_rtx_costs).
- 	(ASM_FILE_START): Remove.
- 	(ASM_FILE_START_1): Remove.
- 	(ASM_GLOBALIZE_LABEL): Remove.
- 	(ASM_OUTPUT_INTERNAL_LABEL): Remove.
- 	(ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL
- 	with targetm.asm_out.internal_label.
- 	Update copyright dates.
- 	* config/i860/sysv4.h (USER_LABEL_PREFIX): Define.
- 	(CPP_PREDEFINES): Remove.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	(GLOBAL_ASM_OP): Define.
- 	(ASM_FILE_START): Remove.
- 	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define.
- 	(TARGET_ASM_FILE_START): Define.
- 	Update copyright dates.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* gcc/config.gcc (i860-*-sysv4*): Add target.
- 	* config/i860/i860-protos.h: New.
- 	* config/i860/i860.c: New.
- 	* config/i860/i860.h: New.
- 	* config/i860/i860.md: New.
- 	* config/i860/sysv4.h: New.
- 	* config/i860/varargs.asm: New.
- 	* config/i860/x-sysv4: New.
- 
- 2003-08-22  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/pa/pa.c: Replace 'GNU CC' with 'GCC'.
- 	Remove all uses of PARAMS macro.
- 	Convert all function definitions to ISO C90 syntax.
- 	* config/pa/elf.h: Replace 'GNU CC' with 'GCC'.
- 	* config/pa/fptr.c: Likewise.
- 	* config/pa/lib2funcs.asm: Likewise.
- 	* config/pa/long_double.h: Likewise.
- 	* config/pa/milli64.S: Likewise.
- 	* config/pa/pa-64.h: Likewise.
- 	* config/pa/pa-hpux.h: Likewise.
- 	* config/pa/pa-hpux10.h: Likewise.
- 	* config/pa/pa-hpux11.h: Likewise.
- 	* config/pa/pa-linux.h: Likewise.
- 	* config/pa/pa-modes.def: Likewise.
- 	* config/pa/pa-osf.h: Likewise.
- 	* config/pa/pa-pro-end.h: Likewise.
- 	* config/pa/pa.md: Likewise.
- 	* config/pa/pa32-linux.h: Likewise.
- 	* config/pa/pa64-linux.h: Likewise.
- 	* config/pa/pa64-hpux.h: Likewise.
- 	* config/pa/pa64-regs.h: Likewise.
- 	* config/pa/quadlib.c: Likewise.
- 	* config/pa/rtems.h: Likewise.
- 	* config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove
- 	all uses of the PARAMS macro.
- 	* config/pa/pa.h: Likewise.
- 	* config/pa/som.h: Likewise.
- 
- 	* config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'.
- 	Remove all uses of PARAMS macro.
- 	Convert all function definitions to ISO C90 syntax.
- 	* config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'.
- 	Remove all uses of PARAMS macro.
- 	* config/iq2000.h: Remove all uses of PARAMS macro.
- 	* config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
- 
- 2003-08-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
- 	* config/s390/s390.c (gen_consttable): Remove.
- 	(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
- 	(s390_output_pool_entry): New function.
- 	* config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
- 	UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
- 	UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
- 	(UNSPECV_POOL_ENTRY): ... this new constant.
- 	("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
- 	"consttable_ti", "consttable_sf", "consttable_df"): Remove ...
- 	("*pool_entry"): ... and replace by this new insn.
- 	("literal_pool_31"): Do not emit anchor label if pool empty.
- 
- 	* config/s390/s390.c (struct machine_function): Add save_return_addr_p.
- 	(s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
- 	(s390_fixup_clobbered_return_reg): Remove.
- 	(s390_reorg): Don't call s390_fixup_clobbered_return_reg.
- 	(s390_return_addr_rtx): Always retrieve return address from save area
- 	slot.  Use save_return_addr_p to force slot to be filled.
- 	(s390_emit_prologue): Remove has_hard_reg_initial_val test.
- 
- 2003-08-22  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines.
- 	(TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1.
- 	* config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work
- 	around SB-1 errata if TARGET_FIX_SB1 is set.
- 	(recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise.
- 	* doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1.
- 
- 2003-08-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* hashtable.c (ht_expand): Avoid calculating rehash for the common
- 	case that the first probe hits an empty hash table slot.
- 
- 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0.
- 
- 2003-08-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ...
- 	(ptr_extend_plus_imm): ... this.
- 	* config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4
- 	optimization in C++.
- 	(ia64_output_mi_thunk): Support ILP32 mode.
- 
- 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
- 	function.
- 	* gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.c (const_int_1_operand): Simplify an
- 	integer comparison.
- 
- 2003-08-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/fp-bit.c: Specify config/ dir for include of fp-bit.h.
- 	* config/rs6000/ppc64-fp.c: Likewise.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgcleanup.c: Fix comment typos.
- 	* emit-rtl.c: Likewise.
- 	* optabs.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* tree.h: Likewise.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c: Fix comment formatting.
- 	* cfgrtl.c: Likewise.
- 	* combine.c: Likewise.
- 	* convert.c: Likewise.
- 	* dominance.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* expmed.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcov.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* regmove.c: Likewise.
- 
- 2003-08-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtin-attrs.def: Fix comment formatting.
- 	* c-pretty-print.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* langhooks.h: Likewise.
- 	* recog.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* tree.def: Likewise.
- 
- 2003-08-22  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k-protos.h: Convert to ISO C90.
- 	* config/m68k/m68k.c: Likewise.
- 
- 2003-08-21  Bernardo Innocenti  <bernie@develer.com>
- 	    Paul Dale  <pauli@snapgear.com>
- 	    Peter Barada <peter@baradas.org>
- 
- 	* config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
- 	ColdFire cores.
- 
- 2003-08-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (INCLUDES): Remove -I$(srcdir)/config.
- 	* config.gcc (*-*-openbsd): Don't set tm_file.
- 	(alpha*-*-openbsd, arm*-*-coff*, arm*-wince-pe*,
- 	arm-*-pe*, avr-*-*, h8300-*-rtems*, h8300-*-elf*,
- 	h8300-*-*, hppa*-*-osf*, hppa*-*-bsd*, hppa*-*-hpux*,
- 	i370-*-opened*, i370-*-mvs*, i370-*-linux*, i?86-*-openbsd*,
- 	i?86-*-lynxos, i?86-*-nto-qnx*, iq2000*-*-elf*, m68000-hp-hpux*,
- 	m68k-hp-hpux*, m68k-*-aout*, m68k-*-coff*, m68020-*-elf*,
- 	m68k-*-elf*, m68k*-*-netbsd*, m68k*-*-openbsd*, m68k-*-sysv4*,
- 	m68k-*-linux*, m68k-*-rtems*, mcore-*-pe*, mips*-*-netbsd*,
- 	mips*-*-openbsd*, rs6000-*-lynxos*, sh*-*-elf*, sh*-*-ka,
- 	sh-*-rtemself, sparc-*-openbsd*, strongarm-*-pe, vax-*-openbsd*,
- 	xscale-*-coff): Use explicit and complete lists of target headers
- 	to include.  Move definitions to tm_defines where appropriate.
- 	(hppa*-*-openbsd*, powerpc-*-openbsd*): Comment out stanza for
- 	not-yet-contributed configuration.
- 
- 	* config/lynx.h, config/alpha/openbsd.h, config/arm/coff.h
- 	* config/avr/avr.h, config/frv/frv.h, config/h8300/elf.h
- 	* config/i370/linux.h, config/i370/mvs.h, config/i370/oe.h
- 	* config/i386/nto.h, config/iq2000/iq2000.h,
- 	* config/m68k/coff.h, config/m68k/hp310.h, config/m68k/hp320.h
- 	* config/m68k/linux.h, config/m68k/m68k-aout.h
- 	* config/m68k/m68k-none.h, config/m68k/m68kv4.h
- 	* config/m68k/netbsd.h, config/m68k/openbsd.h
- 	* config/m68k/sgs.h, config/mcore/mcore-pe.h,
- 	* config/mips/netbsd.h, config/mips/openbsd.h, config/pa/pa.h,
- 	* config/rs6000/lynx.h, config/sh/embed-elf.h, config/sparc/openbsd.h:
- 	Remove includes of other target config headers, and
- 	definitions of macros moved to tm_defines lists.  Add #undefs
- 	where now necessary to prevent redefinition warnings.
- 
- 	* config/h8300/coff.h: New file split out of...
- 	* config/h8300/elf.h: ...here.
- 	* config/m68k/hp320base.h: New file split out of...
- 	* config/m68k/hp320.h: ...here.
- 	* config/rs6000/lynxbase.h: New file split out of...
- 	* config/rs6000/lynx.h: ...here.
- 
- 	* config/m68k/hp310g.h, config/m68k/hp320g.h, config/m68k/hpux7.h
- 	* config/m68k/m68k-coff.h, config/mips/openbsd-be.h: Delete file.
- 
- 	* config/sol2.h: Remove #if 0-ed #include of sys/mman.h.
- 	* config/m68k/m68kelf.h: Remove commented out #include of m68k/sgs.h.
- 	* config/mcore/mcore.h: Don't include hwint.h nor machmode.h.
- 	Remove unnecessary #ifndef.
- 	* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
- 	[under IN_LIBGCC2] with config/.
- 
- 2003-08-21  Per Bothner  <pbothner@apple.com>
- 
- 	* cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
- 	to cpp_push_buffer.
- 	* cpplex.c (_cpp_get_fresh_line):  Don't buffer->prev - handled
- 	by return_at_eof check.  Always call _cpp_pop_buffer at end.
- 
- 2003-08-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/11805
- 	* config/h8300/h8300.md (two anonymous patterns): Remove.
- 
- 2003-08-21  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove BLKmode clause.
- 	* config/mips/mips.c (function_arg_pass_by_reference): Never return
- 	true for n32 & n64.
- 
- 2003-08-21  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* fold-const.c (fold): Fix bug in (A & C) == D where D & ~C != 0
- 	and similarly in (A | C) == D where C & ~D != 0.
- 
- 2003-08-20  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 8180
- 	* configure.in: When testing with_libs and with_headers, treat
- 	'no' as unset.  Based on a patch by Dan Kegel <dank@kegel.com>.
- 	* configure: Regenerate.
- 
- 2003-08-20  Peter Barada <peter@baradas.org>
- 
- 	* longlong.h (umul_ppmm): Add ColdFire support.
- 
- 2003-08-20  Peter Barada <peter@baradas.org>
- 	    Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k-none.h: Introduce new ColdFire archs.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m68k/lb1sf68.asm: Rename __mcf5200__ to __mcoldfire__.
- 	* config/m68k/coff.h: Rename TARGET_5200 to TARGET_COLDFIRE.
- 	* config/m68k/linux.h: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/m68k/m68k.md: Likewise.
- 	* config/m68k/m68kelf.h: Likewise.
- 	* config/m68k/netbsd-elf.h: Likewise.
- 	* config/m68k/t-m68kelf: Add multilib targets for new ColdFire archs.
- 
- 2003-08-20  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c: Strip away code depending on NO_ADDSUB_Q definition.
- 	* config/m68k/m68k.md: Likewise.
- 
- 2003-08-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR java/11996
- 	Revert this change:
- 	2003-08-19  Mark Mitchell  <mark@codesourcery.com>
- 	* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
- 	types with precisions other than those given by native machine
- 	modes.
- 
- 2003-08-20  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.md (anonymous define_insn): remove obsolete code
- 	selected by FSGLMUL_USE_S and FSGLDIV_USE_S
- 	* config/m68k/m68k.c (output_move_himode): remove SGS_NO_LI check
- 	* config/m68k/m68k.md (anonymous define_insn): Likewise
- 	* config/m68k/m68k.md (anonymous define_insn): remove ISI_OV check
- 	* config/m68k/m68k.c (standard_68881_constant_p): remove obsolete
- 	code selected by NO_ASM_FMOVECR
- 
- 2003-08-20  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (output_move_const_into_data_reg,
- 	output_move_himode): unify MOTOROLA/MIT handling of moveq
- 	* config/m68k/m68k.md (movsi_const0, anonymous define_insn):
- 	Likewise
- 
- 2003-08-20  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): use %U in
- 	label name
- 	* config/m68k/m68k.c (m68k_output_function_epilogue): replace
- 	HOST_WIDE_INT_PRINT_DEC with %wd
- 
- 2003-08-20  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
- 	redefine warning.
- 
- 2003-08-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11984
- 	* fold-const.c (fold <PLUS_EXPR>): Check for integer constant
- 	operands before calling tree_int_cst_lt when performing associative
- 	transformations.
- 
- 2003-08-20  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
- 	(EXPR_CHECK): Don't check for 'r' or 's' if we're
- 	checking IS_EXPR_CODE_CLASS.
- 	* calls.c (calls_function_1): Likewise.
- 	* fold-const.c (fold): Likewise.
- 	* tree.c (iterative_hash_expr): Likewise.
- 	* tree-inline.c (walk_tree, copy_tree_r): Likewise.
- 
- 2003-08-20  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
- 	depending on MOTOROLA_BSR
- 	* config/m68k/m68k.md (anonymous define_insn): Likewise
- 
- 2003-08-20  Jason Merrill  <jason@redhat.com>
- 
- 	* builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
- 	(expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code,
- 	fold_trunc_transparent_mathfn, fold_builtin): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* fold-const.c (operand_equal_p, fold): Likewise.
- 	(tree_expr_nonnegative_p): Likewise.
- 
- 	* stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
- 	TYPE_USER_ALIGN for FIELD_DECLs.
- 
- 	* attribs.c (decl_attributes): Rebuild the function pointer type after
- 	changing the target type.
- 	* tree.c (get_qualified_type): Also check that the attributes match.
- 
- 2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
- 	* objc/config-lang.in (stagestuff): ... to here.
- 
- 2003-08-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/11946
- 	* convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
- 	NOP_EXPR) when necessary.
- 	* c-common.c (c_common_signed_or_unsigned_type): Correctly handle
- 	types with precisions other than those given by native machine
- 	modes.
- 
- 2003-08-19  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* cpppch.c (cpp_valid_state): Re-add warning about PCH not used
- 	because some macro is defined.
- 
- 	* config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
- 	options.
- 	* config/i386/darwin.h (ASM_SPEC): New.
- 	(SUBTARGET_EXTRA_SPECS): New.
- 	* config/rs6000/darwin.h (ASM_SPEC): New.
- 	(SUBTARGET_EXTRA_SPECS): New.
- 	* configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
- 	a cross-compiler between two different processors on Darwin.
- 	* configure: Regenerate.
- 
- 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Fix comment typos.
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-pretty-print.c: Likewise.
- 	* cfgbuild.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfgloopanal.c: Likewise.
- 	* cgraphunit.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* expr.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcse.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* pretty-print.c: Likewise.
- 	* tree.c: Likewise.
- 	* tree.h: Likewise.
- 	* value-prof.c: Likewise.
- 
- 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c: Follow spelling conventions.
- 	* cppfiles.c: Likewise.
- 
- 2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c: Fix comment formatting.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* input.h: Likewise.
- 	* line-map.h: Likewise.
- 	* opts.c: Likewise.
- 	* opts.h: Likewise.
- 	* simplify-rtx.c: Likewise.
- 
- 2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* unwind-c.c: Add libgcc-style exception.
- 	* unwind-dw2.c: Likewise.
- 	* unwind-pe.h: Likewise.
- 	* unwind-sjlj.c: Likewise.
- 	* unwind.inc: Likewise.
- 
- 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/5582 PR c++/10538
- 	* langhooks-def.h (lhd_decl_uninit): Declare.
- 	(LANG_HOOKS_DECL_UNINIT): New macro.
- 	(LANG_HOOKS_INITIALIZER): Adjust.
- 	* langhooks.h (struct lang_hooks): Add new field
- 	decl_uninit.
- 	* langhooks.c (lhd_decl_uninit): Define.
- 	* c-common.c (c_decl_uninit_1): New function.
- 	(c_decl_uninit): New function.
- 	(warn_init_self): Define.
- 	* c-common.h (c_decl_uninit): Declare.
- 	(warn_init_self): Declare.
- 	* c.opt: Introduce -Winit-self.
- 	* c-opts.c (c_common_handle_options): Set warn_init_self.
- 	* c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
- 	* objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
- 	* function.c (uninitialized_vars_warning): Call the language hook.
- 	* doc/invoke.texi: Document -Winit-self.
- 
- 2003-08-19  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md: Adjust SI-mode "trap_if" instruction
- 	to use better predicates and constraints.  Define new
- 	instruction to handle "trap_if" with DI-mode arguments.
- 	(conditional_trap): FAIL if trap code is not 0.
- 
- 2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/i386/i386.c (legitimate_pic_address_disp_p): Change the
- 	strstr with $pb to a strcompare with "<pic base>"
- 	(ix86_output_addr_diff_elt): Output the real pic base.
- 
- 2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
- 	(LANG_HOOKS_INITIALIZER): Correct.
- 	* c-lang.c: Likewise.
- 
- 2003-08-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
- 	(cgraph_varpool_mark_needed_node): Likewise.
- 	* cgraph.h (notice_global_symbol): Declare
- 	* varasm.c (notice_global_symbol): Break out from ...
- 	(assemble_start_function): ... here; update for variables.
- 	(assemble_variable): Use notice_global_symbol.
- 
- 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
- 	expect SFmode and DFmode arguments to be passed in FPRs,
- 	regardless of the underlying type.
- 
- 2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/11924
- 	* config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
- 	(mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
- 
- 2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	PR c/11207
- 	* c-typeck.c (set_init_index): Check for negative index.
- 
- 2003-08-18  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/crti.asm (_init, _fini): Add alternate code for new
- 	call0 ABI.
- 	* config/xtensa/crtn.asm (_init, _fini): Likewise.
- 	* config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
- 	__umodsi3, __modsi3): Likewise.
- 	* config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
- 	$(INCLUDES).
- 
- 2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md ("*nabssf2_gpr"): New.
- 
- 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Quote C code in braces.  Remove use of
- 	fake const0_rtx operands.  Remove double backslashes.  Use \;.
- 	Remove workarounds for bogus warnings.
- 
- 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
- 	(muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
- 	rather than TARGET_MIPS4300.
- 	(mulsf3_internal, mulsf3_r4300): Likewise.
- 
- 2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Renumber unspecs.  Clean up comments.
- 
- 2003-08-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (associative_constant_p): New function to test
- 	whether an RTX expression is an immediate constant.
- 	(simplify_associative_operation): New function to perform some
- 	reassociation optimizations of associative binary expressions.
- 	(simplify_binary_operation): Use simplify_associative_operation
- 	to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
- 	Floating point expressions are only reassociated when unsafe
- 	math optimizations are permitted.
- 
- 2003-08-17  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/alpha/alpha.md: Remove usage of PARAMS.
- 
- 	* config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i386/cygming.h: Likewise.
- 	* config/i386/cygwin2.c: Likewise.
- 	* config/darwin.c: Likewise.
- 	* config/darwin-c.c: Likewise.
- 	* config/darwin-protos.h: Likewise.
- 	* config/darwin.h: Likewise.
- 	* config/s390/s390-protos.h: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/ia64/ia64.c: Likewse
- 	* config/ia64/ia64-protos.h: Likewise.
- 	* config/ia64/ia64-c.c: Likewise.
- 
- 2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/sparc/sparc.c: Convert to ISO C.
- 
- 	* config/sparc/sparc-protos.h: Don't use the PARAMS macro.
- 	* config/sparc/sparc.c: Likewise.
- 
- 2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/11512
- 	* stmt.c (expand_expr_stmt_value): Don't warn about any void
- 	typed expression.
- 
- 2003-08-16  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_fntype_regparm): Rename from ...
- 	(ix86_function_regparm): ... this one; add fastcall and local
- 	functions.
- 	(ix86_function_ok_for_sibcall): Update.
- 	(ix86_return_pops_args): Likewise.
- 	(init_cumulative_args): Likewise.
- 	(x86_can_output_mi_thunk): Likewise.
- 	(function_arg): Fix formating.
- 	(x86_this_parameter): Fix fastcall.
- 	(x86_output_mi_thunk): Likewise.
- 
- 	* cgraph.c (cgraph_mark_needed_node): Do not mark functions without
- 	body as reachable; mark nested functions as needed too.
- 	(dump_cgraph): Do not output global.calls.
- 	* cgraph.h (cgraph_global_info): Kill.
- 	* cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
- 	(record_call_1): Speedup.
- 	(cgraph_analyze_function): Break out from ...; compute inlining
- 	parameters.
- 	(cgraph_finalize_compilation_unit): ... here.
- 	(cgraph_mark_inline): Kill computation of calls.
- 	(cgraph_decide_inlining): Do not compute most of initial values.
- 
- 2003-08-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
- 	to negate if either operand is easy to negate, if we don't care
- 	about sign-dependent rounding.
- 	(negate_expr): Make the logic to negate a REAL_CST explicit.
- 	Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
- 	that's easy to negate, if we don't honor sign-dependent rounding.
- 	(fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
- 	negate, and the symmetric A * -B as -A * B if A is easy to negate.
- 	(fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
- 	-C/D if B and C are cheap to negate.  Add an explicit rule to
- 	optimize X/-1.0 as -X when we don't care about signaling NaNs.
- 
- 2003-08-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (tm_file): Rename tm_include_list.
- 	(tm_p_file): Rename tm_p_include_list.
- 	(build_xm_file): Rename build_xm_include_list.
- 	(host_xm_file): Rename host_xm_include_list.
- 	(xm_file): Rename xm_include_list.
- 	(xm_file_list): Add to be substituted.
- 	(cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
- 	Update to match.
- 	(bt-load.o): Add missing dependency on $(TM_H).
- 	* configure.in: Prefix value of EXTRA_MODES_FILE with config/.
- 	For each of tm_file, tm_p_file, xm_file, host_xm_file, and
- 	build_xm_file, generate both *_file_list and *_include_list
- 	values from it.  (xm_file_list was formerly not being generated.)
- 	In *_include_list, prefix the names of all headers found in
- 	$(srcdir)/config with config/.  In each loop, consider only
- 	the special case files that can actually appear in that list.
- 	AC_SUBST all *_file_list and all *_include_list variables; do
- 	not AC_SUBST the plain *_file variables.
- 	* configure: Regenerate.
- 
- 2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfg.c (dump_edge_info): Add name of loop_exit edge flag.
- 
- 2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
- 	direct calls.
- 	(attr_length_call): Include it here.  Improve length estimate for
- 	local calls.
- 	(output_call): Use targetm.binds_local_p.
- 
- 2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (CASE_MATHFN): New helper macro.
- 	(mathfn_built_in): Simplify and sort.
- 
- 	* protoize.c (substr): Delete, callers changed to `strstr'.
- 
- 2003-08-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc (iq2000*-*-elf*): Don't set xm_file.
- 	* config/iq2000/xm-iq2000.h: Delete file.
- 
- 2003-08-13  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (walk_type): Process a subobject before processing
- 	the pointer that points to the subobject.
- 
- 2003-08-13  Per Bothner  <pbothner@apple.com>
- 
- 	* regclass.c (init_reg_modes):  Make non-static.
- 	Rename to init_reg_modes_once per new naming convention.
- 	(init_regs):  Don't call init_reg_modes here.
- 	* emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
- 	* rtl.h (init_reg_modes_once):  New declaration.
- 	* toplev.c (backend_init):  Call init_regs after init_emit_once.
- 
- 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
- 	special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
- 
- 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
- 	* sh.md (load_ra): Change insn predicate to TARGET_SH1.
- 
- 2003-08-13  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.md (ctrsi, ctrdi):  Reenable
- 	handling of decrement-and-branch farther than 32 bits.
- 
- 2003-08-12  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* configure.in (make_compare_target): Move test to ...
- 	* aclocal.m4 (gcc_AC_PROG_CMP_IGNORE_INITIAL): here.
- 	* configure: Regenerate.
- 
- 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/iris6.h: Convert to C90 prototypes.
- 	* config/mips/irix6-libc-compat.c: Likewise.
- 	* config/mips/mips-protos.h: Likewise.
- 	* config/mips/mips.c: Likewise.
- 
- 2003-08-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	fixinc/inclhack.def (svr4_krnl): Rename from svr4_kernel.  Enable
- 	for selected machines.  Comment heavily.
- 	fixinc/fixincl.x: Rebuild.
- 	fixinc/tests/base/fs/rfs/rf_cache.h: New file.
- 
- 2003-08-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h: Tweak various comments.
- 	* config/mips/mips.c: Likewise.
- 
- 2003-08-11  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR optimization/11319
- 	PR target/10021
- 	* alias.c (find_base_value, case REG): Return 0 not src if no base
- 	found.
- 
- 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcse.c (gmalloc): Fix last change.
- 
- 2003-08-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Replace calls to
- 	gen_rtx_NEG and gen_rtx_NOT with calls to simplify_gen_unary,
- 	and calls to gen_rtx_PLUS, gen_rtx_MULT, gen_rtx_LSHIFTRT,
- 	gen_rtx_ASHIFT and gen_rtx_AND with calls to simplify_gen_binary.
- 
- 2003-08-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr): If an ABS_EXPR has a complex type, abort.
- 	* c-typeck.c (build_unary_op): COMPLEX_TYPE is not a valid
- 	typecode for an ABS_EXPR.
- 
- 	* doc/c-tree.texi: Document ABS_EXPR.
- 
- 2003-08-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold): Optimize any associative floating point
- 	operator with -funsafe-math-optimizations, not just MULT_EXPR.
- 
- 2003-08-11  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/lib1funcs.asm (__udivdi3): Add .type and .size
- 	information in SHmedia case too.
- 	(__divdi3, __umoddi3, __moddi3, __init_trampoline, __ic_invalidate):
- 	Likewise.
- 	(__set_fpscr): Use an access via GOT for PIC case.
- 
- 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* configure.in (intermodule): Make switch test more portable.
- 	* configure: Regenerate.
- 
- 2003-08-11  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in (cleanstrap): Pass BOOT_CFLAGS to bootstrap.
- 	(restrap): Likewise.
- 
- 2003-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcse.c (gmalloc): Argument is a size_t.  Add ATTRIBUTE_MALLOC.
- 	(grealloc): Size argument is a size_t.
- 	(gcalloc): New function.  Use throughout in lieu of
- 	gmalloc/memset.
- 
- 	* config/avr/avr.c (avr_init_once): Use xcalloc in lieu of
- 	xmalloc/memset.
- 	* config/ia64/ia64.c (ia64_reorg): Likewise.
- 	* conflict.c (conflict_graph_new): Likewise.
- 	* fixinc/fixincl.c (run_compiles): Likewise.
- 	* genattrtab.c (optimize_attrs): Likewise.
- 	* genrecog.c (new_decision): Likewise.
- 	* haifa-sched.c (schedule_block): Likewise.
- 	* hashtable.c (ht_create): Likewise.
- 
- 2003-08-11  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib2funcs.S: Fix whitespace.
- 	* config/xtensa/xtensa.md (all insns and expanders): Use brace block
- 	syntax where appropriate.  Remove unnecessary backslash escapes.
- 	Reformat comments and fix some code formatting.
- 	(extendqisi2): Rearrange conditional.
- 	(*btrue, *bfalse, *ubtrue, *ubfalse, *bittrue, *bitfalse, *masktrue,
- 	*maskfalse, movsicc_internal0, movsfcc_internal0): Call abort instead
- 	of fatal_insn.
- 
- 2003-08-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c: Various formatting fixes.
- 	(override_options): Resync -mtune handling with gas.
- 	(mips_issue_rate): Rearrange like mips_use_dfa_pipeline_interface.
- 	* config/mips/mips.h: More formatting fixes.
- 	(mips_abi): Move declaration.
- 	* config/mips/mips.md (exception_receiver): Add mode to
- 	unspec_volatile.
- 
- 2003-08-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (spe_init_builtins): Handle evsplati and
- 	evsplatfi here.
- 	(bdesc_1arg): Remove evsplati and evsplatfi.
- 
- 2003-08-11  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* dwarf2asm.c (dw2_output_indirect_constant_1): Take user_label_prefix
- 	into account.
- 
- 2003-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strcat): Optimize constant strings.
- 
- 2003-08-10  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* pretty-print.c (pp_base_indent): Rename from pp_indent.
- 	* c-pretty-print.h (pp_c_pretty_print_flag)s: New datatype.
- 	(struct c_pretty_print_info): Add more fields.
- 	(pp_c_left_paren): Move to c-pretty-print.c.
- 	(pp_c_right_paren): Likewise.
- 	(pp_c_left_brace): Likewise.
- 	(pp_c_right_brace): Likewise.
- 	(pp_c_left_bracket): Likewise.
- 	(pp_c_right_bracket): Likewise.
- 	(pp_c_declarator): Declare.
- 	(pp_c_direct_declarator): Likewise.
- 	(pp_c_specifier_qualifier_list): Likewise.
- 	(pp_c_type_id): Likewise.
- 	* c-pretty-print.c (pp_c_cv_qualifier): Change prootype. Rework..
- 	(pp_c_type_qualifier_list): New.
- 	(pp_c_pointer): Likewise.
- 	(pp_c_parameter_type_list): Likewise.
- 	(pp_c_function_definition): Likewise.
- 	(pp_c_id_expression): Likewise.
- 	(pp_c_simple_type_specifier): Tidy.
- 	(pp_c_unary_expression): Likewise.
- 	(pp_c_expression): Likewise.
- 	(pp_c_pretty_printer_init): Likewise.
- 	(pp_c_specifier_qualifier_list): Rework..
- 	(pp_c_abstract_declarator): Likewise.
- 	(pp_c_postfix_expression): Likewise.
- 	(pp_c_primary_expression): Likewise.
- 	(pp_c_cast_expression): Likewise.
- 	(pp_c_direct_abstract_declarator): Likewise.
- 	(pp_c_storage_class_specifier): Likewise.
- 	(pp_c_function_specifier): Likewise.
- 	(pp_c_declaration_specifiers): Likewise.
- 	(pp_c_direct_declarator): Likewise.
- 	(pp_c_declarator): Likewise.
- 	(pp_c_declaration): Likewise.
- 	(pp_c_statement): Likewise.
- 	(pp_c_integer_constant): Rename from pp_c_integer_literal.
- 	(pp_c_character_constant): Rename from pp_c_character_literal.
- 	(pp_c_bool_constant): Rename from pp_c_bool_literal.
- 	(pp_c_enumeration_constant): Rename from pp_c_enumerator.
- 	(pp_c_floating_constant): Rename from pp_c_real_literal.
- 	(pp_c_constant): Rename from pp_c_literal.
- 	* c-lang.c: Include diagnostic.h and c-pretty-print.h
- 	(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): Define.
- 	(c_initialize_diagnostics): New.
- 	* Makefile.in (c-lang.o): Update dependency.
- 
- 2003-08-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-typeck.c (digest_init): Add conversion for VECTOR_TYPEs.
- 
- 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_no_mips16_string): Remove.
- 	(override_options): Don't handle -mips16 as part of -mipsN.
- 	* config/mips/mips.h (mips_no_mips16_string): Remove declaration.
- 	(TARGET_SWITCHES): Add -mips16 and -mno-mips16 entries.
- 	(TARGET_OPTIONS): Remove -mno-mips16.
- 
- 2003-08-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (coprocessor_operand): Remove declaration.
- 	(coprocessor2_operand): Likewise.
- 	* config/mips/mips.c (STAB_CODE_TYPE): Remove.
- 	(lookup_name): Remove declaration.
- 	(abort_with_insn): Remove.  Replace all uses with fatal_insn.
- 	(mips16, mips_abicalls): Remove.
- 	(mips_char_to_class): Remove initialiser: all entries are NO_REGS.
- 	(arith32_operand, large_int, true_reg_or_0_operand): Remove.
- 	(coprocessor_operand, coprocessor2_operand): Remove.
- 	(override_options): Don't set mips16 or mips_abicalls.
- 	(print_operand): Don't expect SIGN_EXTEND operands.
- 	(mips_secondary_reload_class): Likewise.
- 	(mips_output_conditional_branch): Remove disabled long-branch code.
- 	* config/mips/mips.h (call_used_regs): Remove declaration.
- 	(may_call_alloca): Likewise.
- 	(mips_cpu_attr, mips_abicalls_type, mips_abicalls_attr): Remove.
- 	(mips_abicalls, mips16): Remove declarations.
- 	(ASM_FINAL_SPEC, LIB_SPEC): Remove.
- 	(CC1_SPEC): Remove outdated comment.
- 	(MIPS_VERSION, MACHINE_TYPE): Remove.
- 	(TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
- 	(PC_REGNUM, STACK_POINTER_OFFSET): Remove disabled definitions.
- 	(STRUCT_VALUE_RETURN_REGNUM, STACK_DYNAMIC_OFFSET): Likewise.
- 	(PUSH_ROUNDING): Likewise.
- 	(ASSEMBLER_SCRATCH_REGNUM): Remove.
- 	* config/mips/mips.md: Replace mips_cpu_attr with mips_tune
- 	and mips16 with TARGET_MIPS16.
- 
- 2003-08-09  Per Bothner  <pbothner@apple.com>
- 
- 	* cppinit.c (cpp_read_main_file):  Split out source-independent
- 	initialization to separate function ...
- 	(cpp_post_options):  New function.
- 	* cppfiles.c (cpp_stack_file):  Rename public name to ...
- 	(_cpp_stack_file):  New internal function name.
- 	* cpplib.h:  Update accordingly.
- 	* cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
- 	(cpp_read_main_file):  Don't initialize line here.
- 	* c-opts.c (c_common_post_options):  Call cpp_post_options.
- 	(c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
- 	* fix-header.c (read_scan_file):  Call cpp_post_options.
- 
- 2003-08-09  Per Bothner  <per@bothner.com>
- 
- 	* c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
- 
- 2003-08-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_asm_output_mi_thunk): Fix typo.
- 
- 2003-08-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/11839
- 	* cppfiles.c (open_file): Handle ENOTDIR.
- 
- 2003-08-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/11699
- 	* config/mips/mips.c (override_options): Reject -mabi=eabi -mabicalls.
- 
- 2003-08-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md (extzv, extv, insv): Fix operand limit checks.  Fail if
- 	source/destination is not a register operand.
- 
- 2003-08-08  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/11535
- 	* config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
- 	RETURN_ADDRESS_POINTER_REGNUM.
- 	(ia64_expand_prologue): Don't frob it.
- 	(ia64_output_function_epilogue): Likewise.
- 	(ia64_return_addr_rtx): New.
- 	(ia64_split_return_addr_rtx): New.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
- 	(RETURN_ADDRESS_POINTER_REGNUM): Remove.
- 	(GENERAL_REGNO_P): Don't check it.
- 	(AR_*_REGNUM): Renumber.
- 	(FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
- 	(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
- 	(REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
- 	(ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
- 	(RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
- 	* config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
- 	(movdi_ret_addr): New.
- 
- 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config.gcc (powerpc-*-darwin*): Don't build a soft-float multilib.
- 
- 2003-08-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.h (get_identifier) Define a macro form of get_identifier
- 	that calls get_identifier_with_length when the string is constant.
- 	(get_identifier_with_length): Change type of second argument to
- 	size_t in prototype.
- 	* stringpool.c (get_identifier): Undefine the macro before giving
- 	the function definition.
- 	(get_identifier_with_length): Change  type of second argument to
- 	size_t in function definition.
- 	* hashtable.c (calc_hash): Change type of second argument to size_t.
- 	(ht_lookup): Change type of third argument to size_t.  Reorganize
- 	to speed-up the cases where the hash table slot is empty, or the
- 	first probe matches (i.e. there isn't a collision).
- 	* hashtable.h (ht_lookup): Adjust function prototype.
- 
- 2003-08-08  Bernardo Innocenti  <bernie@develer.com>
- 
- 	PR target/9697
- 	PR target/11777
- 	* longlong.h (count_leading_zeros): Exclude on __mcpu32__.
- 
- 2003-08-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* common.opt: Add debug switches.
- 	* flags.h (use_gnu_debug_info_extensions): Boolify.
- 	* opts.c (write_symbols, debug_info_level,
- 	use_gnu_debug_info_extensions): Move from toplev.c.
- 	(set_debug_level): New.
- 	(common_handle_options): Handle debug switches.
- 	(print_help): Display target options directly.
- 	* toplev.c (debug_hooks): Don't initialize.
- 	(write_symbols, debug_info_level,
- 	use_gnu_debug_info_extensions): Move to opts.c.
- 	(debug_args, display_help, decode_g_option): Remove.
- 	(process_options): Set no debug if level zero here,
- 	and no-debug-hooks.  Error here if impossible debug format selected.
- 	* toplev.h (display_help, decode_g_option): Remove.
- 
- 2003-08-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* tree.c (get_file_function_name_long): Fix size of alloca() area.
- 
- 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
- 	and gcc_cv_prog_cmp_skip.
- 	* configure: Regenerate.
- 
- 2003-08-08  Stan Cox  <scox@redhat.com>
- 
- 	* config/iq2000: New port.
- 	* config.gcc (iq2000-*-elf): Added.
- 	* doc/install.texi (Specific):  Add iq2000 description.
- 
- 2003-08-08  Andreas Schwab  <schwab@suse.de>
- 
- 	* configure.in (gcc_cv_as_ia64_ltoffx_ldxmov_relocs): Fix quoting
- 	and insert missing empty argument.
- 	* configure: Regenerate.
- 
- 2003-08-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (update_total_code_bytes): Use new macro IN_NAMED_SECTION_P.
- 	(attr_length_millicode_call): Likewise.
- 	(attr_length_call): Likewise.  Revise some maximum insn lengths.
- 	(attr_length_indirect_call): Likewise.
- 	(output_call): Fix thinko that added extra nop.
- 	* pa.h (IN_NAMED_SECTION_P): Define.
- 
- 	PR c++/11712
- 	* pa-hpux.h, pa-hpux10.h, pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define
- 	__STDC_EXT__ when using C++ dialect.
- 
- 2003-08-07  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (calc_live_regs): If the return address pointer is live,
- 	force pr live.
- 	(sh5_schedule_saves): Exclude PR_MEDIA_REG from being a temp register
- 	for saves / restores.
- 	(sh_expand_epilogue): If sh_media_register_for_return returns a
- 	register number, flag the instructions that restores PR_MEDIA_REG
- 	as possibly dead.
- 	Remove dead update of offset.
- 	(sh_get_pr_initial_val): Use UNSPEC_RA if we don't know yet if
- 	we can use the result of get_hard_reg_initial_val.
- 	* sh.md (UNSPEC_RA): New constant.
- 	(movsi_i_lowpart+1): Changed into a define_insn_and_split, named:
- 	(load_ra).  Handle UNSPEC_RA.
- 	(sibcall_media): Use PR_MEDIA_REG.
- 
- 	* sh.h (CALL_USED_REGISTERS): Include PR_REG and PR_MEDIA_REG.
- 	* sh.c (calc_live_regs): Use sh_pr_n_sets to determine if pr
- 	needs saving on SHmedia.
- 
- 2003-08-07  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md: Replace all occurrences of \\t with \t.
- 
- 2003-08-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* local-alloc.c (combine_regs): Fix comment typo.
- 
- 2003-08-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (builtin_decls): Replace with first_builtin_decl
- 	and last_builtin_decl.
- 	(c_init_decl_processing): Initialize both.
- 	(c_reset_state): Iterate from first_builtin_decl to
- 	last_builtin_decl inclusive to reintroduce builtins.
- 
- 2003-08-06  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* doc/extend.texi (Function Attributes): Document the IA-64 version
- 	of the "model" attribute.
- 
- 	* config/ia64/ia64.h (SYMBOL_FLAG_SMALL_ADDR): New macro.
- 	(SYMBOL_REF_SMALL_ADDR_P): Ditto.
- 	(PREDICATE_CODES): Mention "small_addr_symbolic_operand".
- 
- 	* config/ia64/ia64.c (ia64_handle_model_attribute): New function.
- 	(ia64_encode_section_info): Likewise.
- 	(ia64_attribute_table): Add "model" attribute.
- 	(TARGET_ENCODE_SECTION_INFO): Define.
- 	(small_addr_symbolic_operand): New function.
- 	(got_symbolic_operand): Return 0 for a symbolref to an object
- 	in the small address area.
- 	(enum ia64_addr_area): New type.
- 	(small_ident1): New variable.
- 	(small_ident2): Likewise.
- 	(init_idents): New function.
- 	(ia64_get_addr_area): Likewise.
- 	(ia64_encode_addr_area): Likewise.
- 	(ia64_encode_section_info): Likewise.
- 	(ia64_expand_load_address): For symbolic references to objects in
- 	the small-address-area, load the address via gen_rtx_SET() (which,
- 	eventually, will expand into "addl").
- 
- 2003-08-06  Per Bothner  <pbothner@apple.com>
- 
- 	* line-map.h (fileline):  New typedef.
- 	(struct line_map, linemap_add, linemap_lookup):  Use it.
- 	* input.h (struct location_s):  Comment notes that long-term we want
- 	to replace it by fileline.
- 
- 2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	Fix SHcompact exception handling:
- 	* sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
- 	by the prologue, return a MEM with return_address_pointer_rtx
- 	as address.
- 	* sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
- 	(RETURN_ADDR_OFFSET): Don't define.
- 	(SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
- 	registers that are visible in compact mode.  Show that SHmedia
- 	registers still exist in compact mode, even if there are not
- 	readily accessible.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
- 	if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
- 	and DW_EH_PE_pcrel for pic data.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
- 	set SYMBOL_FLAG_FUNCTION in symbol, and actually use
- 	DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
- 	(ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
- 	* sh.md (movsi_media-1): New splitter.
- 
- 2003-08-06  Graeme Peterson <gp@qnx.com>
- 
- 	* config/i386/nto.h: New.
- 	* config/i386/t-nto: New.
- 	* config.gcc (i[34567]86-*-nto-qnx*): New.
- 
- 2003-08-06  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* doc/install.texi (*-*-solaris2*):  Refine configure instructions.
- 
- 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (load_register_parameters): Arrange for call_fusage to
- 	report the whole register as used when shifting to the msb.
- 
- 2003-08-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin): When not optimizing, call the library
- 	function for all builtins that have library functions (except alloca).
- 
- 2003-08-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c.opt: Introduce -fworking-directory.
- 	* doc/cpp.texi, doc/invoke.texi, doc/cppopts.texi: Document it.
- 	* c-common.h (flag_working_directory): Declare.
- 	* c-common.c (flag_working_directory): Define.
- 	* c-opts.c (c_common_handle_options): Set it.
- 	(sanitize_cpp_opts): Set...
- 	* cpplib.h (struct cpp_options): ... working_directory option.
- 	(struct cpp_callbacks): Add dir_change.
- 	* cppinit.c (read_original_filename): Call...
- 	(read_original_directory): New.  Look for # 1 "directory//"
- 	and process it.
- 	(cpp_read_main_file): Call dir_change callback if working_directory
- 	option is set.
- 	* gcc.c (cpp_unique_options): Pass -g*.
- 	* c-lex.c (cb_dir_change): New.
- 	(init_c_lex): Set dir_change callback.
- 	* toplev.c (src_pwd): New static variable.
- 	(set_src_pwd, get_src_pwd): New functions.
- 	* toplev.h (get_src_pwd, set_src_pwd): Declare.
- 	* dbxout.c (dbxout_init): Call get_src_pwd() instead of getpwd().
- 	* dwarf2out.c (gen_compile_unit_die): Likewise.
- 	* dwarfout.c (output_compile_unit_die, dwarfout_init): Likewise.
- 
- 2003-08-05  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* pretty-print.h (pp_set_line_maximum_length): Make macro.
- 	(pp_set_prefix): Likewise.
- 	(pp_destroy_prefix): Likewise.
- 	(pp_remaining_character_count_for_line): Likewise.
- 	(pp_clear_output_area): Likewise.
- 	(pp_formatted_text): Likewise.
- 	(pp_last_position_in_text): Likewise.
- 	(pp_emit_prefix): Likewise.
- 	(pp_append_text): Likewise.
- 	(pp_flush): Likewise.
- 	(pp_format_text): Likewise.
- 	(pp_format_verbatim): Likewise.
- 	(pp_tree_identifier): Tidy.
- 	* pretty-print.c (pp_base_format_text): Rename from pp_format_text.
- 	(pp_base_format_verbatim): Rename from pp_format_verbatim.
- 	(pp_base_flush): Rename from pp_flush.
- 	(pp_base_set_line_maximum_length): Rename from
- 	pp_set_line_maximum_length.
- 	(pp_base_clear_output_area): Rename from pp_clear_output_area.
- 	(pp_base_set_prefix): Rename from pp_set_prefix.
- 	(pp_base_destroy_prefix): Rename from pp_destroy_prefix.
- 	(pp_base_emit_prefix): Rename from pp_emit_prefix.
- 	(pp_base_append_text): Rename from pp_append_text.
- 	(pp_base_formatted_text): Rename from pp_formatted_text.
- 	(pp_base_last_position_in_text): Rename from pp_last_position_in_text.
- 	(pp_base_remaining_character_count_for_line): Rename from
- 	pp_remaining_character_count_for_line.
- 	* diagnostic.h (diagnostic_format_decoder): Tidy.
- 	(diagnostic_flush_buffer): Likewise.
- 	* c-pretty-print.h: (pp_c_string_literal): Declare.
- 	(pp_c_real_literal): Likewise.
- 	(pp_c_integer_literal): Likewise.
- 	* c-pretty-print.c (pp_c_char): Use pp_string in lieu of
- 	pp_identifier.
- 	(pp_c_character_literal): Tidy.
- 	(pp_c_string_literal): Make public.
- 	(pp_c_bool_literal): Likewise.
- 	(pp_c_integer_literal): Likewise.
- 	(pp_c_real_literal): Likewise.
- 
- 	* Makefile.in (C_PRETTY_PRINT_H): New variable.
- 	(c-pretty-print.o): Update dependence.
- 
- 2003-08-05  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (fix_truncdfsi2_macro): Properly restore
- 	".set nomacro" state.
- 	(fix_truncsfsi2_macro): Likewise.
- 
- 2003-08-05  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* tree.h (DID_INLINE_FUNC): Remove macro.
- 	(DECL_DECLARED_INLINE_P): Move from c-tree.h and cp/cp-tree.h,
- 	add tree check for FUNCTION_DECL.
- 	(DECL_ESTIMATED_INSNS): Move from c-common.h and java/java-tree.h.
- 	(struct tree_decl): Rename inlined_function_flag to
- 	declared_inline_flag.
- 	* c-common.h (c_lang_decl): Remove.
- 	(DECL_ESTIMATED_INSNS): Remove.
- 	* c-tree.h (struct lang_decl): Don't include c_lang_decl.
- 	(DECL_DECLARED_INLINE_P): Remove.
- 	* c-decl.c (grokdeclarator): Update comment.  With -finline-functions,
- 	do not reset DECL_DECLARED_INLINE_P.  Don't use DID_INLINE_FUNC.
- 	(finish_function): Make uninlinable a bool.  Fixup call to
- 	tree_inlinable_function_p() and fix some code style issues.
- 	* cgraph.h (disgread_inline_limits): Fix spelling: `disregard'.
- 	* cgraph.c (dump_cgraph): Likewise.
- 	* cgraphunit.c (cgraph_decide_inlining): Likewise
- 	(cgraph_finalize_compilation_unit): Likewise.
- 	Also update call to tree_inlinable_function_p().
- 	(cgraph_default_inline_p): Don't use DID_INLINE_FUNC.  Instead
- 	look at DECL_DECLARED_INLINE and reverse logic.
- 	* print-tree.c (print_node): Likewise.
- 	* toplev.c (rest_of_handle_inlining): Don't use DID_INLINE_FUNC.
- 	* tree-inline.h (tree_inlinable_function_p): Make a bool.  Update
- 	prototype.
- 	* tree-inline.c (inlinable_function_p): Split up in this function to
- 	check for basic inlining inhibiting conditions, and new
- 	limits_allow_inlining() function.  Warn if inlining is impossible
- 	because the inline candidate calls alloca or uses sjlj exceptions.
- 	(limits_allow_inlining): this new function to check if the inlining
- 	limits are satisfied.  Throttle from currfn_max_inline_insns, not from
- 	MAX_INLINE_INSNS_SINGLE.  The latter only makes sense if
- 	MAX_INLINE_INSNS_AUTO and MAX_INLINE_INSNS_SINGLE are equal.
- 	Update prototypes.
- 	(tree_inlinable_function_p): Make a bool.  Update call to
- 	inlinable_function_p
- 	(expand_call_inline): Use limits_allow_inlining() when not in
- 	unit-at-a-time mode to decide on inlining.  Don't use DID_INLINE_FUNC,
- 	instead see if the function was declared `inline'.
- 
- 2003-08-05  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* gcse.c (try_replace_reg): Fix updating of note.
- 
- 2003-08-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11771
- 	* fold-const.c (negate_expr_p <MINUS_EXPR>): Change to match the
- 	logic in negate_expr, i.e. we don't invert (A-B) for floating
- 	point types unless flag_unsafe_math_optimizations.
- 
- 2003-08-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold <PLUS_EXPR>): Transform x+x into x*2.0.
- 	Optimize x*c+x and x+x*c into x*(c+1) and x*c1+x*c2 into x*(c1+c2)
- 	for floating point expressions with -ffast-math.
- 	(fold <MULT_EXPR>): Don't transform x*2.0 into x+x.
- 	* expmed.c (expand_mult): Wrap long line.  Expand x*2.0 as x+x.
- 
- 2003-08-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-common.c (flag_noniso_default_format_attributes): Delete.
- 	(built_in_attribute): Don't define/undefine DEF_FN_ATTR.
- 	(c_attrs_initialized): Delete.
- 	(c_common_nodes_and_builtins): Don't test c_attrs_initialized,
- 	always call c_init_attributes.
- 	(c_init_attributes): Don't define/undefine DEF_FN_ATTR.  Don't
- 	set c_attrs_initialized when done.
- 	(c_common_insert_default_attributes): Delete.
- 	* c-common.h (flag_noniso_default_format_attributes): Delete.
- 	(c_coomon_insert_default_attributes): Delete prototype.
- 	* c-opts.c (set_std_c89, set_std_c99, set_std_cxx98): Dont set
- 	flag_noniso_default_format_attributes.
- 
- 	* c-decl.c (c_insert_default_attributes): Delete.
- 	* c-tree.h (c_insert_default_attributes): Delete prototype.
- 
- 	* attribs.c (decl_attributes): Don't call insert_default_attributes
- 	langhook.  Update function description comment.
- 	* langhooks.h (lang_hooks): Remove insert_default_attributes field.
- 	* langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Delete.
- 	* c-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't define.
- 	* system.h: Poison LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES macro.
- 
- 	* objc/objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Don't
- 	define.
- 
- 2003-08-04  Richard Sandiford  <rsandif@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Disable -G on targets that
- 	have no .section support.
- 	(mips_select_section): Use default_select_section for such targets.
- 
- 2003-08-04  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (svr4_undeclared_getrnge): Introduce and enable.
- 	* fixinc/inclhack.def (static_getrnge): Remove disabled hack.
- 	* fixinc/fixincl.x: Rebuild.
- 	* fixinc/tests/base/regexp.h: New test.
- 
- 2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-ppoutput.c (cb_line_change): Don't skip line changing while
- 	parsing macro arguments in the top-level context.
- 
- 2003-08-04  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config.in: Remove HAVE_LSTAT.
- 	* configure, configure.in: Don't test for lstat.
- 
- 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* opts.c (decode_options): Do language-specific initialization for
- 	the global diagnostic context.
- 	* langhooks-def.h (lhd_initialize_diagnostics): Declare.
- 	(LANG_HOOKS_INITIALIZE_DIAGNOSTITCS): New macro.
- 	(LANG_HOOKS_INITIALIZER): Adjust.
- 	* langhooks.h (struct lang_hooks): Add new field
- 	initialize_diagnostics.
- 	* langhooks.c (lhd_initialize_diagnostics): Define.
- 
- 2003-08-03  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* pretty-print.h:   Adjust macro definitions.
- 	* pretty-print.c (pp_newline): Rename to pp_base_newline.
- 	(pp_character): Rename to pp_base_character.
- 	(pp_string): Rename to pp_base_string.
- 	* c-pretty-print.c (pp_buffer): Move to pretty-print.h
- 	(pp_newline):  Likewise.  Adjust.
- 	(pp_c_char): Adjust.
- 
- 2003-08-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
- 	BUILT_IN_LLABS): Move to miscellaneous section.
- 
- 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/11534
- 	* cppexp.c (parse_defined): Warn only if -pedantic.
- 
- 2003-08-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (stack_file): Use file path.
- 
- 2003-08-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtin-types.def (BT_SSIZE): New primitive type.
- 	(BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
- 	BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
- 	BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
- 	BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
- 	* builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
- 	BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
- 	BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
- 	* builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
- 	few functions that define default attributes using it.
- 	* c-common.c (c_common_insert_default_attributes): Do nothing.
- 
- 	* doc/extend.texi: Document these "new" builtins.
- 
- 2003-08-02  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (SUBTARGET_LINK_SPEC): Don't set rpath.
- 	(LIB_SPEC): Set -lpthread always when -pthread set.  Set -lieee
- 	when -mieee-fp set and -shared not set.
- 	(SH_FALLBACK_FRAME_FLOAT_STATE): Don't define for SH5.
- 
- 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (struct _cpp_file): Rename once_only_next to
- 	next_file.  Remove import and pragma_once, add once_only.
- 	(find_file): Add new file structures to the all_files list.
- 	(should_stack_file): Mark #import-ed files once-only, and
- 	don't stack them if the file has already been stacked.
- 	(_cp_mark_file_once_only): Simplify.
- 	* cpphash.h (struct cpp_reader): Rename once_only_files
- 	to all_files.  Rename saw_pragma_once to seen_once_only.
- 	(_cpp_mark_file_once_only): Update prototype.
- 	* cpplib.c (do_pragma_once): Update.
- 
- 2003-08-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (ENOTDIR): Remove.
- 	(open_file_in_dir): Rename find_file_in_dir.  Handle errors
- 	other than ENOENT here.
- 	(once_only_file_p): Rename should_stack_file.
- 	(find_file, open_file_failed, read_file_guts): Report errors
- 	with full path name.
- 	(read_file): Move pch handling to should_stack_file.
- 	(should_stack_file): Handle PCH and once-only issues, and
- 	reading the file.
- 	(stack_file): Don't do file reads.
- 
- 2003-08-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* libgcov.c (gcov_exit): Cleanup and fix.
- 	* profile.c (compute_value_histograms): Don't try to read profiles
- 	that are not present.
- 
- 2003-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: Categorize.
- 
- 	* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
- 	Mind fp rounding.
- 	(BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
- 
- 2003-08-02  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config.gcc: Enable posix threads by default on darwin.
- 
- 2003-08-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION notes
- 	even if nehedges1 is 0.
- 
- 2003-08-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/fixfixes.c, fixinc/fixlib.c, fixinc/fixlib.h,
- 	fixinc/fixtests.c, fixinc/procopen.c, fixinc/server.c,
- 	fixinc/server.h, fixinc/fixincl.c: ANSIfy function prototypes
- 	and defintions.
- 
- 	* fixinc/inclhack.def (broken_cabs): Make matching more generous.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/math.h: Regenerate to match test_text change.
- 
- 2003-08-01  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* ggc-common.c (gt_pch_restore): Case MAP_FAILED to void *.
- 
- 2003-08-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* except.c (sjlj_emit_dispatch_table): Use ptr_mode, not Pmode,
- 	for accesses to exc_ptr.
- 
- 2003-08-01  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/sourcebuild.texi (Front End Directory): Don't make references
- 	to libsubdir, it's not part of the interface to frontends.
- 	* doc/install.texi (Configuration): Help users read faster by saying
- 	that GCC's configure options are the standard autoconf ones.
- 	Mention --libdir.  Update the default rules for finding the
- 	assembler.  Don't use libsubdir since we haven't said what it means.
- 	(Specific): In the Solaris 7 notes, update the place to put the
- 	assembler.
- 	* doc/invoke.texi: Update lib/gcc-lib to lib/gcc.
- 	* doc/cpp.texi (Search Path): Actually, the search path
- 	depends on libdir, which can relocate with cpp.
- 	* doc/tm.texi (Driver): Don't document STANDARD_EXEC_PREFIX, it's
- 	now a private interface between the Makefile and the driver.
- 
- 2003-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* system.h: Poison ASM_SIMPLIFY_DWARF_ADDR.
- 
- 	* varasm.c (lookup_constant_def): New function.
- 	* rtl.h (lookup_constant_def): Declare it.
- 	* dwarf2out.c (loc_descriptor_from_tree): Use it.
- 	Use targetm.delegitimize_address, not ASM_SIMPLIFY_DWARF_ADDR.
- 
- 2003-08-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (gettags, pushdecl_function_level): Delete.
- 	(last_function_parm_vars): Rename last_function_parm_others.
- 	(current_function_parm_vars): Rename current_function_parm_others.
- 	(struct c_scope): Rewrite comment explaining this data structure.
- 	Add names_last, blocks_last, parms_last fields.  Rename
- 	incomplete_list to incomplete.
- 	(SCOPE_LIST_APPEND, SCOPE_LIST_CONCAT): New macros.
- 	(poplevel): Ignore second argument.  No need to nreverse
- 	anything.  Restructure such that each list is processed
- 	exactly once.  Use 'const location_t *locus' syntactic sugar
- 	variable where useful.  Issue unused variable warnings
- 	ourselves, do not rely on function.c.
- 	(insert_block, pushdecl, bind_label): Use SCOPE_LIST_APPEND.
- 	(pushdecl_top_level): Likewise.  Don't call duplicate_decls.
- 	(implicitly_declare): decl cannot be error_mark_node.
- 	(undeclared_variable): Manipulate scope structure directly.
- 	(c_make_fname_decl): Likewise.
- 	(getdecls, c_init_decl_processing): Fix comment.
- 	(mark_forward_parm_decls): Use SCOPE_LIST_CONCAT.  No need
- 	for 'last' variable.
- 	(grokparms): No need to nreverse parms list.
- 	(store_parm_decls_newstyle): Set up the parms_last and
- 	names_last fields of the new scope too.
- 	(store_parm_decls_oldstyle): Can assume DECL_WEAK is not set
- 	on parms to begin with; check this under ENABLE_CHECKING.  Set
- 	up parms_last.
- 	(check_for_loop_decls): Refer directly to current_scope->tags.
- 	Use consistent quote style in diagnostics.
- 	(c_write_global_declarations): The names list is not backward.
- 
- 	* c-common.h: Don't prototype gettags.
- 	* c-parse.in: Call poplevel with second argument 0 always.
- 
- 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: Resort builtins.
- 
- 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
- 	DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
- 	Prepend "__builtin_" onto NAME with string concatenation.  Remove
- 	explicit "__builtin_" from each macro call.
- 
- 	Reformat entire file.
- 
- 2003-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
- 	ATTR_MATHFN_FPROUNDING_ERRNO): New macros.  Use throughout.
- 
- 2003-08-01  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_select_ccmode): Do not attempt to use CCL,
- 	CCL1, or CCL2 modes with floating point operations.
- 
- 	* config/s390/s390.md ("*addsf3_cc", "*addsf3_cconly", "*adddf3_cc",
- 	"*adddf3_cconly", "*subsf3_cc", "*subsf3_cconly", "*subdf3_cc",
- 	"*subdf3_cconly"): New insns.
- 	("*negabssi2", "*negabsdi2", "*negabsdf2", "*negabssf2"): Likewise.
- 
- 2003-08-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Refine dependencies.
- 	* c-opts.c (c_common_handle_option): Do nothing for -Wimport.
- 	* c.opt: Update help for -Wimport.
- 	* cppfiles.c: Include hashtab.h.  Update comments.
- 	(stack_file): Read the file before updating dependencies.
- 	(once_only_file_p): Be smarter about marking once-only files.
- 	(_cpp_mark_file_once_only): Correct the check for existence on
- 	the list.
- 	(open_file_failed): Use name not path, which is NULL.
- 	* cpphash.h: Don't include hashtab.h.
- 	(struct _cpp_file): Remove.
- 	(struct cpp_reader): Update.
- 	* cppinit.c (cpp_create_reader): Don't initialize warn_import.
- 	* cpplib.h (struct cpp_options): Remove warn_import.
- 	(cpp_simplify_path): Remove.
- 
- 2003-08-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/11295
- 	* doc/extend.texi (Statement Expressions): Document C++ semantics.
- 
- 2003-07-31  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
- 
- 	* config.gcc (sh-*-linux*): Do not override sh/t-linux with sh/t-le.
- 
- 2003-07-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
- 	throughout.
- 	* builtins.def: Likewise.
- 
- 2003-07-31  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (bubblestrap): Don't require a previous full
- 	bootstrap.
- 
- 	* expr.c (mostly_zeros_p): No longer static.
- 	* tree.h: Declare it.
- 	* stmt.c (resolve_asm_operand_names): Don't copy the pattern
- 	unless we need to do substitutions.
- 
- 2003-07-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold <MULT_EXPR>): Optimize both x*pow(x,c) and
- 	pow(x,c)*x as pow(x,c+1) for constant values c.  Optimize x*x
- 	as pow(x,2.0) when the latter will be expanded back into x*x.
- 	(fold <RDIV_EXPR>): Optimize pow(x,c)/x as pow(x,c-1).
- 	* builtins.c (expand_builtin_pow): Ignore flag_errno_math as
- 	pow can never set errno when used with an integer exponent.
- 	Always use expand_powi when exponent is -1, 0, 1 or 2.
- 	(fold_builtin): Don't rewrite pow(x,2.0) as x*x nor pow(x,-2.0)
- 	as 1.0/(x*x).  This avoids unbounded recursion as we now prefer
- 	the pow forms of these expressions.
- 
- 2003-07-31  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (libexecdir): New.
- 	(libsubdir): Use gcc instead of gcc-lib.
- 	(libexecsubdir): New.
- 	(ORDINARY_FLAGS_TO_PASS): Add libexecsubdir.
- 	(DRIVER_DEFINES): Add STANDARD_LIBEXEC_PREFIX, use gcc instead of
- 	gcc-lib.
- 	(installdirs): Make libexecsubdir.
- 	(install-common): Put executables in libexecsubdir.
- 	(itoolsdir): Use libexecsubdir.
- 	(itoolsdatadir): New.
- 	(install-mkheaders): Separate data files and executables.
- 	(install-collect2): Put executables in libexecsubdir.
- 	(uninstall): Remove libexecsubdir.
- 	* mkheaders.in: Update for new arrangement of files.
- 	(libexecdir): New.
- 	(libexecsubdir): New.
- 	(itoolsdir): Use libexecsubdir.
- 	(itoolsdatadir): New.
- 	* gcc.c (gcc_libexec_prefix): New.
- 	(STANDARD_LIBEXEC_PREFIX): Use gcc instead of gcc-lib.
- 	(standard_exec_prefix_1): Use libexec.
- 	(standard_exec_prefix_2): New.
- 	(standard_libexec_prefix): New.
- 	(process_command): Update for new arrangement of files.  Compute
- 	gcc_libexec_prefix.  Update for change from gcc-lib to gcc.
- 
- 2003-07-31  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* inclhack.def (stdio_va_list): Avoid bogus replacement which
- 	triggers on Interix.
- 	* fixincl.x: Regenerate.
- 
- 2003-07-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (legitimate_pic_address_disp_p): Disallow TLS
- 	SYMBOL_REFs not inside UNSPEC even in PLUS rtx.
- 
- 2003-07-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree, case CONSTRUCTOR): New case.
- 
- 2003-07-31  Per Bothner  <pbothner@apple.com>
- 
- 	* opts.c (in_fnames, num_in_fnames):  Moved here from c-opts.
- 	(add_input_filename):  New function.
- 	(handle_options):  Call add_input_filename directly instead of
- 	with a lang hook.
- 	* opts.h (in_fnames, num_in_fnames):  Moved here.
- 	(add_input_filename):  Declare.
- 	* c-decl.c:  Need to #include opts.h.
- 	* Makefile.in (c-decl.o):  Also depends on opts.h.
- 	* c-opts.c (in_fnames, num_in_fnames):  Moved to opts.c.
- 	(c_common_handle_filename):  Replaced by add_input_filename.
- 	* c-common.h (in_fnames, num_in_fnames, c_common_handle_filename):
- 	Remove.
- 	* langhooks.h (struct lang_hooks):  Remove handle_filename hook.
- 	* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
- 	(LANG_HOOKS_INITIALIZER):  Remove use of LANG_HOOKS_HANDLE_FILENAME.
- 	* c-lang.c (LANG_HOOKS_HANDLE_FILENAME):  Remove macro.
- 
- 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* combine.c (try_combine): Set JUMP_LABEL for newly created
- 	unconditional jump.
- 
- 2003-07-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* fold-const.c (fold): Fold some comparisons of bit operations.
- 
- 2003-07-31  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (create_edge): Fix typo.
- 	* i386.c (pic_symbolic_operand): Reorder tests.
- 
- 2003-07-31  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/gcov.texi (Invoking Gcov): Describe output name mangling
- 	more fully.
- 	(Gcov Data Files): Update.
- 
- 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (alpha*-dec-osf[45]*): Enable POSIX thread support by
- 	default.
- 
- 	* gthr-posix.c: New file.
- 	* gthr-posix.h: Define _REENTRANT if missing.
- 	Make _LIBOBJC #pragma weak visible with _LIBOBJC_WEAK.
- 
- 	* config/alpha/t-osf4 (SHLIB_LINK): Hide dummy functions provided
- 	by gthr-posix.o.
- 	* config/alpha/t-osf-pthread: New file.
- 
- 	* fixinc/inclhack.def (alpha_pthread): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/pthread.h [ALPHA_PTHREAD_CHECK]: New testcase.
- 
- 	* doc/install.texi (alpha*-dec-osf*): Remove --enable-threads
- 	warning.
- 	Fixes PR bootstrap/9330.
- 
- 2003-07-31  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_ld_hidden): Also disable on mips-sgi-irix5*
- 	without GNU ld.
- 	Update comment.
- 	* configure: Regenerate.
- 
- 2003-07-31  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* sched-deps.c (sched_analyze_2): Prevent interblock move of CC0
- 	setter.
- 
- 2003-07-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def: Alphabetize.
- 
- 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/c-tree.texi: Normalize spellings of "lowercase" and
- 	"uppercase".
- 	* doc/cpp.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2003-07-30  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* objc/Make-lang.in (objc.stage1, objc.stage2, objc.stage3)
- 	(objc.stage4, objc.stageprofile, objc.stagefeedback): Remove moves
- 	of cc1obj.
- 
- 2003-07-30  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Undef these
- 	macros before defining them.
- 
- 2003-07-31  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (UNSPEC_ROUND, UNSPEC_SETHIGH,
- 	UNSPECV_BLOCKAGE): New constants.
- 	("*sethighqisi", "*sethighhisi", "*sethiqidi_64", "*sethiqidi_31",
- 	"*extractqi", "*extracthi", "*extendqidi2" splitter, "*extendqisi2"
- 	splitter, "fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee",
- 	"fix_truncsfdi2", "fix_truncsfsi2", "blockage"): Use them.
- 
- 	(all insns and expanders): Write output control string as brace block
- 	where appropriate.  Remove \-escapes for doublequote characters.
- 
- 2003-07-31  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (insert_store): Fix typo in previous patch.
- 
- 2003-07-30  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (stack_file, open_file_failed): Use path for deps.
- 
- 2003-07-30  Andi Kleen  <ak@muc.de>
- 
- 	* loop.c (check_dbra_loop): Allow LTU in the loop condition.
- 
- 2003-07-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
- 	* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
- 	GCOV_N_VALUE_COUNTERS): New.
- 	* profile.c (compute_value_histograms): New static function.
- 	(branch_prob): Read back the value histograms.
- 	* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
- 	* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
- 	* value-prof.c: Add comment on reading the profile.
- 	* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
- 	* doc/invoke.texi (-fprofile-values): Document behavior with
- 	-fbranch-probabilities.
- 
- 2003-07-30  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* longlong.h (PowerPC umul_ppmm): Do not test __vxworks__.
- 
- 2003-07-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (EH_RETURN_HANDLER_RTX): Compute offset
- 	symbolically.
- 
- 2003-07-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (insert_store): Ignore fake edges.
- 
- 	* c-common.c (flag_vtable_gc): Kill.
- 	* c-common.g (flag_vtable_gc): Kill.
- 	* c-opts (c_common_handle_option): Kill.
- 	* c.opt (fvtable-gc): Kill.
- 	* final.c (final_scan_insn): Do not call assemble_vtable_entry.
- 	* output.h (assemble_vtable_entry, assemble_vtable_inherit): Kill.
- 	* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): Kill.
- 
- 	* invoke.texi (-ftable-gc): Kill documentation.
- 
- 	* tree-inline.c (inlinable_function_p): Don't set DECL_UNINLINABLE
- 	just because function body is missing.
- 
- 	* i386.c (pic_symbolic_operand): Properly detect RIP relative unspecs.
- 
- 2003-07-30  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	* unwind-sjlj.c: Fix typo in file description.
- 
- 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (load_register_parameters): When shifting reg sized values
- 	to the msb, move the value to a reg first.
- 
- 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* cppfiles.c (stack_file): Leave filename as "" rather than "<stdin>".
- 	* line-map.h (linemap_add): Update comments.
- 	* line-map.c (linemap_add): Update comments, interpret zero-length
- 	filename as "<stdin>".
- 
- 2003-07-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* mkinstalldirs: Import autoconf 2.57 / automake 1.7 version.
- 
- 2003-07-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (last_function_parm_vars, current_function_parm_vars):
- 	New static variables.
- 	(struct c_scope): Add parms and warned_forward_parm_decls
- 	fields; remove parm_order.
- 	(storedecls, storetags): Delete.
- 	(poplevel): Also clear bindings on the parms chain.
- 	(pushdecl): Handle forward declarations of parameters, and
- 	chain PARM_DECLs on the parms list, not the names list.
- 	(lookup_name_current_level): Check for PARM_DECLs on the parms
- 	list too.
- 	(push_parm_decl): Don't update parm_order.
- 	(clear_parm_order): Rename mark_forward_parm_decls.  Issue the
- 	warning, only once per parameter list, and set TREE_ASM_WRITTEN
- 	on the decls here.  Then move the forward decls to the names list.
- 	(grokparms): Set last_function_parm_vars.
- 	(get_parm_info): Don't use gettags or getdecls.  No need to
- 	extract non-parms from the parms list, or reorganize the parms
- 	list.  Feed nonparms back in the TREE_TYPE of the list node
- 	returned.  Issue only one error per parameter list for "void"
- 	appearing more than once in said parameter list.  Collapse
- 	parmlist_tags_warning into this function to avoid double scan
- 	of tags list.
- 	(start_function): Set current_function_parm_vars.
- 	(store_parm_decls_newstyle): Bypass pushdecl, manipulate scope
- 	directly.  Get non-parms from current_function_parm_vars; no
- 	need to extract them from the parms chain.  Properly bind tags
- 	in the new scope.
- 	(store_parm_decls_oldstyle): No need to extract non-parameters
- 	from the parms chain, nor to store them back afterward.  Move
- 	declaration to top of function, restructure code reordering
- 	DECL_ARGUMENTS.
- 	(store_parm_decls): No need to save and restore warn_shadow.
- 	* c-parse.in: Don't call parmlist_tags_warning nor
- 	clear_parm_order.  Call mark_forward_parm_decls when forward
- 	parm decls are encountered.
- 	* c-tree.h: Prototype mark_forward_parm_decls; not
- 	clear_parm_order or parmlist_tags_warning.
- 
- 2003-07-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-common.c (allow_pch): Remove.
- 	* c-common.h (allow_pch): Remove.
- 	(c_common_no_more_pch): Declare.
- 	* c-lex.c (c_lex): Call c_common_no_more_pch when appropriate.
- 	* c-pch.c: Include hosthooks.h.
- 	(c_common_valid_pch): Don't check allow_pch.
- 	(c_common_read_pch): Clear valid_pch to prevent reading PCH files.
- 	(c_common_no_more_pch): New.
- 	* ggc-common.c: Include hosthooks.h.
- 	(gt_pch_save): Call gt_pch_get_address.
- 	(gt_pch_restore): Call gt_pch_use_address.
- 	* hooks.c (hook_voidp_size_t_null): New.
- 	(hook_bool_voidp_size_t_false): New.
- 	* hooks.h (hook_voidp_size_t_null): New.
- 	(hook_bool_voidp_size_t_false): New.
- 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New.
- 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): New.
- 	(HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS,
- 	HOST_HOOKS_GT_PCH_USE_ADDRESS.
- 	* hosthooks.h (struct host_hooks): Add gt_pch_get_address,
- 	gt_pch_use_address.
- 	* doc/hostconfig.texi (Host Common): Document
- 	HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS.
- 	* Makefile.in (c-pch.o): Depend on hosthooks.h.
- 	(ggc-common.o): Likewise.
- 
- 	* config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define.
- 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Define.
- 	(pch_address_space): New.
- 	(darwin_rs6000_gt_pch_get_address): New.
- 	(darwin_rs6000_gt_pch_use_address): New.
- 
- 2003-07-29  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/11569
- 	PR preprocessor/11649
- 	* Makefile.in (LIBCPP_DEPS): Add HASHTAB_H.
- 	* cppfiles.c: Completely rewritten.
- 	* c-incpath.c (free_path, remove_duplicates, heads, tails, add_path):
- 	struct cpp_path is now struct cpp_dir.
- 	(remove_duplicates): Don't simplify path names.
- 	* c-opts.c (c_common_parse_file): cpp_read_next_file renamed
- 	cpp_stack_file.
- 	* cpphash.h: Include hashtab.h.
- 	(_cpp_file): Declare.
- 	(struct cpp_buffer): struct include_file is now struct _cpp_file,
- 	and struct cpp_path is now struct cpp_dir.  Rename members.
- 	(struct cpp_reader): Similarly.  New members once_only_files,
- 	file_hash, file_hash_entries, quote_ignores_source_dir,
- 	no_search_path, saw_pragma_once.  Remove all_include_files and
- 	max_include_len.  Make some members bool.
- 	(_cpp_mark_only_only): Renamed from _cpp_never_reread.
- 	(_cpp_stack_file): Renamed from _cpp_read_file.
- 	(_cpp_stack_include): Renamed from _cpp_execute_include.
- 	(_cpp_init_files): Renamed from _cpp_init_includes.
- 	(_cpp_cleanup_files): Renamed from _cpp_cleanup_includes.
- 	* cppinit.c (cpp_create_reader): Initialize no_search_path.  Update.
- 	(cpp_read_next_file): Rename and move to cppfiles.c.
- 	(cpp_read_main_file): Update.
- 	* cpplib.c (run_directive): Update for renamed members.
- 	(do_include_common, _cpp_pop_buffer): Update.
- 	(do_import): Undeprecate #import.
- 	(do_pragma_once): Undeprecate.  Use _cpp_mark_file_once_only.
- 	* cpplib.h: Remove file_name_map_list.
- 	(cpp_options): Remove map_list.
- 	(cpp_dir): Rename from cpp_path.  New datatype for name_map.
- 	(cpp_set_include_chains, cpp_stack_file, cpp_included): Update.
- 
- 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* Makefile.in:  Make stamp-objdir safe for parallel builds.
- 
- 2003-07-29  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* Makefile.in (stmp-docobjdir):  New target; ensure $docobjdir exists.
- 	(info):  Depend on stmp-docobjdir.
- 
- 2003-07-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure: Regenerate.
- 
- 2003-07-29  Jan Hubicka  <jh@suse.cz>
- 
- 	PR C++/11131
- 	* tree-inline.c (expand_call_inline): Always call inlinable_function_p
- 	in !unit-at-a-time mode.
- 
- 2003-07-28  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-decl.c (c_expand_body_1): Use C_DECL_FILE_SCOPE to detect
- 	main function.
- 
- 2003-07-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/11667
- 	* c-common.c (shorten_compare): Take into account differences
- 	between C and C++ representation for enumeration types.
- 	* tree.h (set_min_and_max_values_for_integral_type): Declare.
- 	* stor-layout.c (set_min_and_max_values_for_integral_type): New
- 	function, broken out from ...
- 	(fixup_signed_type): ... here and ...
- 	(fixup_unsigned_type): ... here.
- 
- 2003-07-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c: Update commentary, adjust blank lines throughout.
- 	(struct c_scope): Fix indentation.  Reorder members so
- 	outer-context pointers come first, booleans last.
- 	(duplicate_decls, define_label): Use a 'locus' variable for
- 	diagnostic locations in a few more places.
- 	(warn_if_shadowing): Un-split a conditional that fits on one line.
- 	(c_init_decl_processing): No need to clear current_scope and
- 	current_function_scope.
- 	(start_decl): Merge if/else if statements with same action.
- 	(push_parm_decl): Rename old_immediate_size_expand to use
- 	save_foo convention; save/restore around entire function.
- 	(grokdeclarator): Remove unnecessary braces.
- 
- 2003-07-28  Hans-Peter Nilsson  <hp@bitrange.com>
- 	    Michael Culbertson  <Michael.J.Culbertson@wheaton.edu>
- 
- 	* c-parse.in (lineno_stmt_decl_or_labels_ending_decl): Also warn
- 	when warn_declaration_after_statement.  Call pedwarn_c90, not
- 	pedwarn.  Correct message: it's "ISO C90", not "ISO C89".
- 	* c-common.c (warn_declaration_after_statement): Define.
- 	* c-common.h (warn_declaration_after_statement): Declare.
- 	* c.opt (Wdeclaration-after-statement): New.
- 	* c-errors.c (pedwarn_c90): New function.
- 	* c-opts.c (c_common_handle_option) <case
- 	OPT_Wdeclaration_after_statement>: New.
- 	* c-tree.h (pedwarn_c90): Declare.
- 	* doc/invoke.texi (Option Summary): Document
- 	-Wdeclaration-after-statement.
- 	(Warning Options): Ditto.
- 
- 2003-07-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (memory attribute) Avoid accessing uninitialized memory
- 	for ishift1 type instructions.
- 
- 2003-07-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (--enable-checking): Add fold category.
- 	(ENABLE_FOLD_CHECKING): Define if requested.
- 	* configure: Rebuilt.
- 	* config.in: Rebuilt.
- 	* doc/install.texi: Document it.
- 	* fold-const.c: Include md5.h.
- 	[ENABLE_FOLD_CHECKING] (fold): Define to fold_1.
- 	[ENABLE_FOLD_CHECKING] (fold, fold_checksum_tree, fold_check_failed,
- 	print_fold_checksum): New functions.
- 
- 	* fold-const.c (fold): Never modify argument passed to fold, instead
- 	change a copy and return it.
- 	* convert.c (convert_to_integer): Likewise.
- 
- 2003-07-27  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/fixinc.svr4: Remove dead code.  Remove now-unnecessary
- 	cleanup of junk after #else and #endif directives.  Collapse repeated
- 	clauses into for statment.
- 
- 	* fixinc/fixincl.sh: GNU C -> GCC.  Add usage comment.
- 
- 2003-07-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (struct c_scope): Remove keep_if_subblocks field.
- 	(keep_next_if_subblocks): Rename next_is_function_body.
- 	(pushlevel): Adjust commentary.  Always set ->keep on the
- 	outermost level of a function.  Don't set ->keep_if_subblocks.
- 	(poplevel): Adjust commentary.  Don't look at ->keep_if_subblocks.
- 	(store_parm_decls): Adjust to match.
- 	(finish_function): Adjust to match.
- 	Call poplevel with all three arguments zero.
- 
- 	* c-decl.c (store_parm_decls_newstyle, store_parm_decls_oldstyle):
- 	New functions split out of store_parm_decls.
- 	Avoid unnecessary work. Use local variables consistently.
- 	(store_parm_decls): Likewise.
- 
- 	(finish_function): No need to set functionbody flag on call to
- 	poplevel.
- 	(struct language_function): Remove scope field.
- 	(c_push_function_context, c_pop_function_context): No need to
- 	save and restore current_scope.
- 
- 2003-07-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/extend.texi (Deprecated Features): Implicit typename is
- 	gone. Default args on types is going.
- 
- 2003-07-26  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* Makefile.in (ifcvt.o): Depend on target.h
- 	* ifcvt.c (target.h): Include.
- 	(if_convert): Don't call mark_loop_exit_edges if we can't
- 	modify jumps.
- 
- 2003-07-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Testing): Adjust required versions of DejaGnu.
- 
- 2003-07-26  Richard Henderson  <rth@redhat.com>
- 
- 	PR inline-asm/11676
- 	* cse.c (count_reg_usage): Handle asm_operands properly.
- 
- 2003-07-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (DEF_FALLBACK_BUILTIN): Delete.
- 	(DEF_EXT_FALLBACK_BUILTIN): Delete.
- 	(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
- 	the regular DEF_EXT_LIB_BUILTIN macro.
- 	(BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
- 	the regular DEF_LIB_BUILTIN macro.
- 	(BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
- 	BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
- 	BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
- 	DEF_EXT_LIB_BUILTIN macro.
- 
- 	* c-decl.c (duplicate_decls): Remove code to handle builtin
- 	functions prototyped without an argument list.
- 
- 2003-07-26  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c: Revert 2003-07-08 change.
- 	(i386_pe_section_type_flags): Remove error_with_decl here too.
- 
- 2003-07-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* config/arm/pe.c (arm_mark_dllimport): Don't use xxx_with_decl.
- 	* config/mcore/mcore.c (mcore_mark_dllimport): Likewise.
- 	* config/v850/v850.c (v850_handle_data_area_attribute): Likewise.
- 	(v850_handle_data_area_attribute): Likewise.
- 
- 2003-07-26  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* varasm.c (output_constant_def_contents): Use
- 	ASM_DECLARE_CONSTANT_NAME if defined.
- 	* doc/tm.texi (Label Output): Document ASM_DECLARE_CONSTANT_NAME.
- 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Ensure zero-sized
- 	objects get at least one byte to prevent assembler problems.
- 	(ASM_DECLARE_CONSTANT_NAME): New.
- 
- 	* Makefile.in (libbackend.o): Remove options_.h.
- 	(mostlyclean): Likewise.
- 
- 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Don't
- 	insert a label at the end of an function under Mach-O.
- 
- 	* c-decl.c (c_static_assembler_name): Remove TREE_STATIC test.
- 
- 2003-07-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (is_ev64_opaque_type): Only check pointer
- 	equality.
- 	(spe_init_builtins): Declare __ev64_opaque__ as a builtin type.
- 
- 	* config/rs6000/spe.h: Remove __ev64_opaque__ definition.
- 
- 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* doc/passes.texi (Passes): Mention pretty-printing and
- 	diagnostic files.
- 
- 2003-07-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/extend.texi (Function Attributes): GNU C++ does now allow
- 	unused parameter decls.
- 	(Attribute Syntax): GNU C++ does not allow label attributes to be
- 	after the ':'.
- 
- 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* objc/objc-act.c (objc_check_decl): Don't use xxx_with_decl.
- 	(objc_declare_class): Likewise.
- 	(error_with_ivar): Likewise.
- 	(start_class): Likewise.
- 	(warn_with_method): Likewise.
- 
- 2003-07-25  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	Remove pedwarn_with_decl, warning_with_decl and error_with_decl
- 	from GCC.
- 	* calls.c (try_to_integrate): Don't use xxx_with_decl.
- 	(expand_call): Likewise.
- 	* dwarfout.c (output_reg_number): Likewise.
- 	* expr.c (expand_expr): Likewise.
- 	* function.c (assign_temp): Likewise.
- 	(uninitialized_vars_warning): Likewise.
- 	(setjmp_args_warning): Likewise.
- 	(expand_function_end): Likewise.
- 	* stmt.c (fixup_gotos): Likewise.
- 	(warn_about_unused_variables): Likewise.
- 	(expand_end_bindings): Likewise.
- 	* stor-layout.c (layout_decl): Likewise.
- 	(place_field): Likewise.
- 	* toplev.c (check_global_declarations): Likewise.
- 	(rest_of_handle_inlining): Likewise.
- 	(default_tree_printer): New function.
- 	(general_init): Initialize diagnostic machinery before routing
- 	signals to the ICE machinery.  Set default tree printer.
- 	* toplev.h (pedwarn_with_decl): Remove declaration.
- 	(warning_with_decl): Likewise.
- 	(error_with_decl): Likewise.
- 	(pedwarn): Remove attribute for the time being.
- 	* tree-inline.c (expand_call_inline): Don't use xxx_with_decl.
- 	* varasm.c (named_section): Likewise.
- 	(make_decl_rtl): Likewise.
- 	(assemble_variable): Likewise.
- 	(merge_weak): Likewise.
- 	(declare_weak): Likewise.
- 
- 	* diagnostic.h: Move non-diagnostic stuff into pretty-print.h.
- 	* diagnostic.c: Move non-diagnostic stuff into pretty-print.c.
- 	(format_with_decl): Remove.
- 	(diagnostic_for_decl): Likewise.
- 	(pedwarn_with_decl): Likewise.
- 	(warning_with_decl): Likewise.
- 	(error_with_decl): Likewise.
- 	(diagnostic_initialize): Adjust.
- 	(diagnostic_count_diagnostic): Likewise.
- 	(announce_function): Likewise.
- 	(lhd_print_error_function): Likewise.
- 	(diagnostic_report_current_module): Likewise.
- 	(default_diagnostic_starter): Likewise.
- 	(diagnostic_report_diagnostic): Likewise.
- 	(default_diagnostic_finalizer): Likewise.
- 	(verbatim): Likewise.
- 	(error): Likewise.
- 	(warning): Likewise.
- 	* opts.c (common_handle_option): Likewise.
- 	* pretty-print.c: New file.
- 	* c-pretty-print.h (pp_base): Override.
- 	* c-pretty-print.c: Adjust use of macros throughout.
- 	(pp_buffer): New macro.
- 	(pp_newline): Likewise.
- 	* c-objc-common.c (c_tree_printer): Adjust prototype. Tidy.
- 	* Makefile.in (DIAGNOSTIC_H): New variable.
- 	(c-errors.o): Use it.
- 	(c-objc-common.o): Likewise.
- 	(c-common.o): Likewise.
- 	(c-opts.o): Likewise.
- 	(c-format.o): Likewise.
- 	(diagnostic.o): Likewise.
- 	(opts.o): Likewise.
- 	(toplev.o): Likewise.
- 	(rtl-error.o): Likewise.
- 	(dwarf2out.o): Likewise.
- 	(jump.o): Likewise.
- 	(pretty-print.o): New rule.
- 
- 2003-07-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
- 	front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
- 	(BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
- 	from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
- 	(DEF_FRONT_END_LIB_BUILTIN): Delete.
- 	(DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
- 	(BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
- 
- 	* builtins.c (build_string_literal): New function to construct
- 	a char* pointer to a string literal.
- 	(expand_builtin_fputs): Change 2nd argument from "int ignore" to
- 	"rtx target" to be consistent with other expand_builtin_* functions.
- 	Change 3rd argument from "int unlocked" to "bool unlocked".
- 	(expand_builtin_printf): Rewrite of c_expand_builtin_printf from
- 	c-common.c to avoid front-end dependencies.  Optimize printf("")
- 	as a no-op when the result isn't required.  Handle embedded NULs
- 	in format string.
- 	(expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
- 	from c-common.c to avoid front-end dependencies.  Likewise, optimize
- 	fprintf(fp,"") as a no-op when the result isn't required, evaluating
- 	fp for side-effects.  Handle embedded NULs in format string.
- 	(expand_builtin_sprintf): Fix typo.
- 	(expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
- 	optimizing.  Adjust calls of expand_builtin_fputs to match the API
- 	change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
- 	expand_builtin_printf.  Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
- 	and BUILT_IN_FPRINTF using expand_builtin_fprintf.
- 
- 	* c-common.c (is_valid_printf_arglist): Delete.
- 	(c_expand_builtin): Delete.
- 	(c_expand_builtin_printf): Moved to builtins.c. Delete.
- 	(c_expand_builtin_fprintf): Moved to builtins.c.  Delete.
- 	(c_expand_expr): No longer treat CALL_EXPRs specially.
- 	(CALLED_AS_BUILT_IN): Delete.
- 
- 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR optimization/11631
- 	* gcse.c (store_motion): Connect infinite loops to exit.
- 
- 2003-07-24  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (boolean_type_node): Move from C/C++/Java frontends.
- 	(boolean_true_node, boolean_false_node): Likewise.
- 	(enum tree_index): Add TI_BOOLEAN_{TYPE,FALSE,TRUE}.
- 	* tree.c (build_common_tree_nodes): Init boolean_type_node.
- 	(build_common_tree_nodes_2): Init boolean_{true,false}_node.
- 	* stor-layout.c (set_sizetype): Handle an early BOOLEAN_TYPE.
- 	* c-common.h (truthvalue_type_node): Renamed from boolean_type_node.
- 	(truthvalue_true_node): Renamed from boolean_true_node.
- 	(truthvalue_false_node): Renamed from boolean_false_node.
- 	* c-decl.c: Just set truthvalue_* to integer_*.
- 	* c-*.[ch]: s/boolean/truthvalue/.  s/c_bool/boolean/.
- 
- 2003-07-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-decl.c (match_builtin_function_types): New subroutine of
- 	duplicate_decls to test whether a redeclaration of a builtin
- 	function is suitably close, i.e. the return type and all of
- 	the argument types have the same modes as the builtin expects.
- 	(duplicate_decls): Fuzzy type matching for builtin functions
- 	moved to match_builtin_function_types.
- 
- 2003-07-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Update irreducible
- 	flag correctly.
- 
- 2003-07-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c: Search-and-replace change 'binding level' to
- 	'scope' in commentary.
- 	(struct binding_level): Now struct c_scope.
- 	(current_binding_level): Now current_scope.
- 	(free_binding_level): Now scope_freelist.
- 	(current_function_level): Now current_function_scope.
- 	(global_binding_level): Now global_scope.
- 	(make_binding_level): Now make_scope.
- 	(pop_binding_level): Now pop_scope.
- 
- 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (libgcc_visibility): Add missing whitespace.
- 
- 2003-07-24  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc-std.ver (GCC_3.3.1): Export __gcc_personality_sj0,
- 	__gcc_personality_v0.
- 
- 2003-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in: Replace pwd by ${PWD_COMMAND}.
- 
- 2003-07-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/invoke.texi (-fprofile-arcs, -ftest-coverage): Update
- 	documentation missed from my 2003-07-09 patch.
- 
- 2003-07-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Set patch level to 0 if
- 	it's not provided.
- 	* configure: Rebuild.
- 
- 2003-07-24  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	PR c/10602
- 	* c-typeck.c (type_lists_compatible_p): Do not compare
- 	arguments if one of them is an error_mark_node
- 
- 2003-07-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Save fp regs inline
- 	if current_function_calls_eh_return.
- 
- 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/c-tree.texi (OFFSET_TYPE): Update description.
- 
- 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/crti.asm (_init, _fini): Increase frame size to 64.
- 	* config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
- 	__umodsi3, __modsi3): Increase frame size to 32.
- 
- 2003-07-23  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/host-darwin.c: ANSIfy, update comment for sigaltstack
- 	prototype.
- 
- 2003-07-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/c-tree.texi (Types): Update documentation for OFFSET_TYPE.
- 
- 	PR optimization/10679
- 	* tree-inline.c (inlinable_function_p): Honor MIN_INLINE_INSNS.
- 
- 2003-07-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/11607 and PR target/11516
- 	* pa.md (extzv, extv, insv): Revert latter half of last patch.
- 
- 2003-07-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (force_fit_type): Handle OFFSET_TYPE.
- 	* varasam.c (output_constant): Likewise.
- 
- 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Fix comment formatting.
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* combine.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* diagnostic.c: Likewise.
- 	* dojump.c: Likewise.
- 	* final.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcse.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* jump.c: Likewise.
- 	* loop.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* recog.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* tree.c: Likewise.
- 	* tree.h: Likewise.
- 
- 2003-07-22  Per Bothner  <pbothner@apple.com>
- 
- 	* line-map.c (add_line_map):  Handle invalid LEAVE request.
- 	Fixes PR preprocessor/11361.
- 
- 2003-07-22  Per Bothner  <pbothner@apple.com>
- 
- 	* diagnostic.c.(diagnostic_report_current_module):  Update to match
- 	2003-06-05 changes to push_srcloc and pop_srcloc.
- 
- 2003-07-22  Wolfgang Bangerth  <bangerth@dealii.org>
- 
- 	* doc/trouble.texi: Better document two-stage name lookup.
- 
- 2003-07-22  Eric Christopher <echristo@redhat.com>
- 
- 	* config/s390.c (s390_valid_pointer_mode): New.
- 	(TARGET_VALID_POINTER_MODE): Use.
- 	(s390_emit_prologue): Add tpf profiling hooks.
- 	(s390_emit_epilogue): Ditto.
- 	* config/s390.h (MASK_TPF): New.
- 	(TARGET_TPF): Use.
- 	(POINTERS_EXTEND_UNSIGNED): Define.
- 	* config/s390.md (ptr_extend): New pattern.
- 
- 2003-07-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* hashtable.c (approx_sqrt): Make static.
- 	* hashtable.h: Don't prototype approx_sqrt.
- 	* line-map.c (init_line_maps): Rename linemap_init.
- 	(free_line_maps): Rename linemap_free.
- 	(add_line_map): Rename linemap_add.
- 	(lookup_line): Rename linemap_lookup.
- 	(print_containing_files): Rename linemap_print_containing_files.
- 	* linemap.h: Update to match.
- 
- 	* cpperror.c, cppinit.c, cpplib.c, cppmacro.c: Update calls to
- 	linemap routines to use new names.
- 
- 2003-07-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.c (handle_packed_attribute): Don't pack a struct via a
- 	typedef. Propagate packedness from a main variant.
- 
- 2003-07-22  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in (install-common): Add dependency on installdirs.
- 
- 2003-07-21  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-common.c (c_common_type_for_mode): Return integer types for
- 	pointer modes.
- 
- 2003-07-22  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-decl.c (start_decl): Don't call maybe_apply_pragma_weak here.
- 	(finish_decl): Call maybe_apply_pragma_weak here.
- 	(grokdeclarator): Check that DECL_ASSEMBLER_NAME isn't set before
- 	TREE_PUBLIC and TREE_STATIC are decided.
- 	(start_function): Move call to maybe_apply_pragma_weak.  Check that
- 	DECL_ASSEMBLER_NAME isn't set too early.
- 
- 	* cpplex.c (_cpp_process_line_notes): Mention option name in
- 	trigraphs warning.
- 
- 2003-07-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (if_then_else_cond): Simplify the comparison of
- 	rtx against -1, 0, and 1.
- 	* loop.c (check_dbra_loop): Likewise.
- 	* optabs.c (emit_conditional_move): Likewise.
- 	(emit_conditional_add): Likewise.
- 	* config/i386/i386.md (*movsi_or): Likewise.
- 	(*movdi_or_rex6): Likewise.
- 
- 2003-07-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_finalize_compilation_unit): Remove redundant if.
- 
- 2003-07-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (open_file_pch): Don't put unused entries in the
- 	splay tree.  Remove dead code.
- 
- 2003-07-21  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-common.h (num_in_fnames): Declare.
- 	(c_static_assembler_name): Move from here...
- 	* c-tree.h (c_static_assembler_name): ... to here.
- 	* c-opts.c: Don't include langhooks-def.h.
- 	(c_static_assembler_name): Move to c-decl.c.
- 	(num_in_fnames): Make externally visible.
- 	* c-decl.c: Include langhooks-def.h.
- 	(c_static_assembler_name): Move from c-opts.c.
- 	* Makefile.in (c-decl.o): Add $(LANGHOOKS_DEF_H).
- 	(c-opts.o): Remove $(LANGHOOKS_DEF_H).
- 
- 	* c-pragma.c (maybe_apply_pragma_weak): Don't get DECL_ASSEMBLER_NAME
- 	when it's not needed.
- 
- 2003-07-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.h (machine_function): Add ra_need_lr.
- 	* config/rs6000/rs6000.c (rs6000_return_addr): Set it.
- 	(rs6000_emit_prologue): Save FPRs inline if set.
- 
- 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
- 
- 	* config/ia64/ia64.md (prefetch): Support predicate.
- 
- 2003-07-21  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Use tablejump_p.
- 	* rtlanal.c (tablejump_p): Use next_active_insn for finding the jump
- 	table.
- 
- 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11536
- 	* unroll.c (loop_iterations): Do not replace a register holding
- 	the final value by its equivalent before the loop if it is not
- 	invariant.
- 
- 2003-07-21  Dave Fluri  <dave.fluri@onlink.net>
- 
- 	* doc/extend.texi: Fixes to spelling, grammar, and diction.
- 
- 2003-07-21  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* doc/invoke.texi (Optimize Options): Replace "it's" with "its".
- 	(V850 Options): Spelling fixes.
- 
- 2003-07-20  Lisa M. Goldstein  <opus@gnu.org>
- 
- 	* doc/invoke.texi: Fixes to style, grammar and diction.
- 
- 2003-07-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
- 	* system.h (SMALL_STACK): Poison obsolete target macro.
- 	* doc/tm.texi (SMALL_STACK): Remove target macro documentation.
- 
- 2003-07-20  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* configure.in:  Cache the results of testing for cmp's capabilities.
- 	* configure:  Regenerate.
- 
- 2003-07-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR debug/11279
- 	* dwarf2out.c (gen_enumeration_type_die): Remember that
- 	enumerators can be unsigned.
- 
- 2003-07-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (named_labels, shadowed_labels, label_level_chain)
- 	(push_label_level, pop_label_level): Kill.
- 	(struct binding_level): Rename level_chain to outer.
- 	Add outer_function field.  Change parm_flag, function_body,
- 	keep, keep_if_subblocks to 1-bit bitfields of type bool.
- 	(current_function_level): New variable.
- 	(keep_next_level_flag, keep_next_if_subblocks): Change type to bool.
- 	(keep_next_level, declare_parm_level, warn_if_shadowing):
- 	Update to match.
- 	(struct language_function): Kill named_labels, shadowed_labels fields.
- 	(c_init_decl_processing, start_function, c_push__function_context)
- 	(c_pop_function_context): No need to muck with named_labels nor
- 	shadowed_labels.
- 
- 	(make_binding_level): No need to clear the structure here.
- 	(pop_binding_level): Always operate on current_binding_level.
- 	Update current_function_level if necessary.
- 	(pushlevel): Don't clear named_labels.  Update current_function_level
- 	if necessary.  Use "true" and "false" where appropriate.
- 	(poplevel): Diagnose labels defined but not used, or vice
- 	versa, and clear out label-meanings leaving scope, while
- 	walking down the decls list, for all binding levels.
- 	Handle LABEL_DECLs appearing in the shadowed list.
- 	pop_binding_level takes no arguments.
- 	(pushdecl_function_level): Use current_function_level.
- 
- 	(make_label, bind_label): New static functions.
- 	(declare_label): New exported function.
- 	(lookup_label, define_label): Rewritten for new data structure.
- 	(shadow_label): Kill.
- 
- 	* c-tree.h: Prototype declare_label; don't prototype
- 	push_label_level, pop_label_level, nor shadow_label.
- 	* c-parse.in: Remove all calls to push_label_level and
- 	pop_label_level.  Use declare_label for __label__ decls.
- 
- 	* doc/extend.texi: Clarify that __label__ can be used to
- 	declare labels with local scope in any nested block, not
- 	just statement expressions.  Cross-reference nested functions
- 	section from local labels section.
- 
- 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* sched-rgn.c (find_rgns): Initialize current_edge correctly.
- 
- 2003-07-19  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* doc/makefile.texi (restrap, profiledbootstrap):  Document targets.
- 
- 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/fixfixes.c fixinc/fixincl.c fixinc/fixlib.c
- 	fixinc/server.c objc/objc-act.c: Remove unnecessary casts.
- 
- 2003-07-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimize_pic_address): Access local symbols
- 	relative to the GOT instead of relative to the literal pool base.
- 	(s390_output_symbolic_const): Handle new GOT-relative accesses.
- 	* config/s390/s390.md ("call"): Access local functions and PLT stubs
- 	relative to the GOT instead of relative to the literal pool base.
- 	("call_value"): Likewise.
- 	("call_value_tls"): Likewise.
- 
- 	* config/s390/s390.c (s390_chunkify_start): Remove pool anchor
- 	reloading.  Support LTREL_BASE / LTREL_OFFSET construct.
- 	(s390_chunkify_finish): Likewise.
- 	(s390_chunkify_cancel): Likewise.
- 	(s390_reorg): Adapt caller.
- 	(find_base_register_in_addr,
- 	find_base_register_ref, replace_base_register_ref): Delete.
- 	(find_ltrel_base, replace_ltrel_base): New functions.
- 	(find_constant_pool_ref): Handle LTREL_BASE unspecs.
- 	(s390_decompose_address): Handle LTREL_BASE unspecs.  Optimize
- 	base vs. index register usage.
- 	(struct constant_pool): Remove 'anchor'.
- 	(s390_add_anchor): Delete.
- 	(s390_dump_pool): Remove anchor handling.
- 	* config/s390/s390.md ("reload_anchor"): Remove.
- 
- 	* config/s390/s390.c (s390_split_branches): Use LTREL_BASE/OFFSET.
- 	(s390_load_got): New function.  Use LTREL_BASE/OFFSET.
- 	(s390_emit_prologue): Use it.
- 	* config/s390/s390.md ("builtin_longjmp", "builtin_setjmp_setup",
- 	"builtin_setjmp_receiver"): Cleanup.  Use s390_load_got.  Do not
- 	hard-code register 14.
- 	* config/s390/s390-protos.h (s390_load_got): Declare.
- 
- 	* config/s390/s390.c (NR_C_MODES, constant_modes, gen_consttable):
- 	Support TImode constants.
- 	* config/s390/s390.md ("consttable_ti"): New.
- 	("consttable_si", "consttable_di"): Handle TLS symbols correctly.
- 
- 	* config/s390/s390.md (UNSPEC_LTREL_OFFSET, UNSPEC_LTREL_BASE,
- 	UNSPEC_GOTENT, UNSPEC_GOT, UNSPEC_GOTOFF, UNSPEC_PLT, UNSPEC_PLTOFF,
- 	UNSPEC_RELOAD_BASE, UNSPECV_POOL, UNSPECV_POOL_START, UNSPECV_POOL_END,
- 	UNSPECV_POOL_QI, UNSPECV_POOL_HI, UNSPECV_POOL_SI, UNSPECV_POOL_DI,
- 	UNSPECV_POOL_TI, UNSPECV_POOL_SF, UNSPECV_POOL_DF, UNSPECV_MAIN_POOL):
- 	New symbolic constants.
- 	("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
- 	"consttable_sf", "consttable_df", "pool_start_31", "pool_end_31",
- 	"pool_start_64", "pool_end_64", "reload_base_31", "reload_base_64",
- 	"pool", "literal_pool_31", "literal_pool_64"): Cleanup.  Use
- 	symbolic UNSPEC values.
- 	* config/s390/s390.c (larl_operand, s390_short_displacement,
- 	bras_sym_operand, s390_cannot_force_const_mem,
- 	s390_delegitimize_address, s390_decompose_address,
- 	legitimize_pic_address, s390_output_symbolic_const,
- 	s390_function_profiler): Use symbolic UNSPEC values.
- 
- 2003-07-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c
- 	c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in
- 	c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c
- 	collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c
- 	cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c
- 	cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c
- 	dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c
- 	fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c
- 	gcse.c genattr.c genattrtab.c genautomata.c genconditions.c
- 	genemit.c genextract.c genoutput.c genrecog.c gensupport.c
- 	ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c
- 	integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c
- 	loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c
- 	postreload.c prefix.c print-tree.c protoize.c ra-build.c
- 	ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c
- 	regmove.c regrename.c reload.c reload1.c reorg.c resource.c
- 	sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c
- 	simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c
- 	tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c
- 	varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary
- 	casts.
- 
- 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-pragma.c (apply_pragma_weak): Don't use warning_with_decl.
- 	* toplev.h (warning): Remove attribute.
- 
- 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-decl.c (c_finish_incomplete_decl): Don't use xxx_with_decl.
- 	(pop_label_level): Likewise.
- 	(duplicate_decls): Likewise.
- 	(implicitly_declare): Likewise.
- 	(shadow_label): Likewise.
- 	(start_decl): Likewise.
- 	(finish_decl): Likewise.
- 	(grokdeclarator): Likewise.
- 	(get_parm_info): Likewise.
- 	(detect_field_duplicates): Likewise.
- 	(finish_struct): Likewise.
- 	(start_function): Likewise.
- 	(store_parm_decls): Likewise.
- 	(finish_function): Likewise.
- 	(c_expand_body_1): Likewise.
- 	(check_for_loop_decls): Likewise.
- 	(merge_translation_unit_decls): Likewise.
- 
- 2003-07-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* common.opt:  Document --param.
- 	* opts.c (columns, undocumented_msg): New.
- 	(print_help): Get number of columns from environment.  Print
- 	--param help.  Tweak newline handling.
- 	(print_param_help): New.
- 	(print_filtered_help): Better handling of duplicates.  Complain
- 	about undocumented switches.
- 	(print_switch): New.
- 	(wrap_help): Improve wrapping, use COLUMNS.
- 	* opts.sh: Ignore comments in records.
- 	* params.def: Fix typos and remove trailing periods.
- 	* toplev.c (display_help): Don't dump --param help.
- 	* doc/sourcebuild.texi: Update.
- 
- 2003-07-18  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/11556
- 	* optabs.c (prepare_operand): Fail gracefully instead of abort
- 	if the predicate doesn't satisfy.
- 	(gen_cond_trap): Allow prepare_operand to fail.
- 
- 2003-07-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-common.c: Don't undefine GCC_DIAG_STYLE.
- 	(fname_decl): Don't use xxx_with_decl.
- 	(c_add_case_label): Likewise.
- 	(handle_section_attribute): Likewise.
- 	(handle_alias_attribute): Likewise.
- 	(handle_no_instrument_function_attribute): Likewise.
- 	(handle_no_limit_stack_attribute): Likewise.
- 	* c-objc-common.c (c_tree_printer): Print IDENTIFIER_NODEs.
- 	* c-format.c (gcc_cdiag_char_table): Add '%E' format-specifier.
- 
- 2003-07-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (ifcvt.o): Add cfgloop.h.
- 	* basic-block.h (EDGE_LOOP_EXIT): New flag.
- 	* cfgrtl.c (rtl_verify_flow_info_1): Handle it correctly.
- 	* ifcvt.c: Include cfgloop.h.
- 	(mark_loop_exit_edges): New static function.
- 	(if_convert): Call it.
- 	(find_if_header): Ignore branches out of loops.
- 
- 2003-07-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_comparison): Don't share rtx when converting
- 	(ne (and (not X) 1) 0) to (eq (and X 1) 0).
- 
- 2003-07-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix.h (AGGREGATE_PADDING_FIXED): Define.
- 	(AGGREGATES_PAD_UPWARD_ALWAYS): Define.
- 	(MUST_PASS_IN_STACK): Define.
- 	(BLOCK_REG_PADDING): Define.
- 
- 2003-07-18  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
- 	to skip the addr_vec.
- 
- 2003-07-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (combinable_i3pat): Don't forbid occurrences of
- 	i2dest or i1dest in inner_dest if inner_dest is a mem.
- 
- 2003-07-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_remove_node): Clear the hash table slot.
- 
- 2003-07-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/11087
- 	* loop.c (basic_induction_var): Check if convert_modes emitted any
- 	instructions. Remove them and return 0 if so.
- 
- 2003-07-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11083
- 	* toplev.c (rest_of_handle_addresof): Rename into
- 	rest_of_handle_addressof.  Delete unreachable blocks
- 	if dead edges were purged after the addressof pass.
- 
- 2003-07-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in, configure, configure.in: Remove handling of
- 	lang-options.h and options_.h.
- 	* toplev.c (struct lang_opt, documented_lang_options): Remove.
- 	(display_help): Don't use documented_lang_options.
- 
- 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (pushdecl_function_level): Make static, return nothing.
- 	(kept_level_p): Fold into poplevel.
- 	(undeclared_variable): Moved here from c-typeck.c.  Export.
- 	* c-tree.h (KEEP_YES, KEEP_NO, KEEP_MAYBE): New #defines.
- 	(undeclared_variable): Prototype here.  Don't prototype
- 	kept_level_p nor pushdecl_function_level.
- 	* c-parse.in: Change first argument to poplevel from
- 	"kept_level_p()" to "KEEP_MAYBE".
- 	* c-typeck.c (undeclared_variable): Moved to c-decl.c.
- 
- 2003-07-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_rtx): Use simplify_gen_binary to swap
- 	commutative operands instead of modifying the RTL in-place.
- 
- 2003-07-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR optimization/11557
- 	* calls.c (flags_from_decl_or_type): Do not set ECF_LIBCALL_BLOCK
- 	unless we know which function is being called.
- 
- 2003-07-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (fold_rtx): Use swap_commutative_operands_p to determine
- 	whether to reorder the operands of a commutative binary operator.
- 
- 2003-07-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (const_binop): Avoid performing the FP operation at
- 	compile-time, if either operand is NaN and we honor signaling NaNs,
- 	or if we're dividing by zero and either flag_trapping_math is set
- 	or the desired mode doesn't support infinities.
- 	(fold_initializer): New function to fold an expression ignoring any
- 	potential run-time exceptions or traps.
- 	* tree.h (fold_initializer): Prototype here.
- 	* c-typeck.c (build_binary_op): Move to the end of the file so
- 	that intializer_stack is in scope.  If constructing an initializer,
- 	i.e. when initializer_stack is not NULL, use fold_initializer to
- 	fold expressions.
- 	* simplify-rtx.c (simplify_binary_operation): Likewise, avoid
- 	performing FP operations at compile-time, if they would raise an
- 	exception at run-time.
- 
- 2003-07-17  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 11498
- 	* Makefile.in (c-opts.o): Add $(LANGHOOKS_DEF_H).
- 	(langhooks.o): Add $(GGC_H), gt-langhooks.h.
- 	(GTFILES): Add langhooks.c.
- 	(gt-langhooks.h): New.
- 	* c-common.h (c_static_assembler_name): Prototype.
- 	* c-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
- 	* objc/objc-lang.c (LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): Define.
- 	* c-opts.c: Include langhooks-def.h.
- 	(c_static_assembler_name): New.
- 	* langhooks.c: Include ggc.h.  Include gt-langhooks.h.
- 	(var_labelno): New.
- 	(lhd_set_decl_assembler_name): Give static objects with context
- 	unique names.
- 	* varasm.c (var_labelno): Delete.
- 	(make_decl_rtl): Don't change the assembler name once it's set.
- 
- 	* c-opts.c (this_input_filename): New.
- 	(finish_options): Take new parameter, name of file being compiled.
- 	Update callers.  Set this_input_filename.
- 	(push_command_line_include): Use this_input_filename not
- 	main_input_filename.
- 
- 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Depend .pot generation on options.c.
- 	* po/exgettext: Add an extra_files variable containing additional
- 	files to scan.
- 
- 2003-07-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* objc/objc-lang.c: Override LANG_HOOKS_WRITE_GLOBALS to
- 	c_write_global_declarations.
- 
- 	* c-decl.c: Fix typos in several comments.  Remove all
- 	#if 0 blocks; reindent as needed.  Remove unused argument
- 	to declare_parm_level; all callers changed.
- 	* c-parse.in: Update calls to declare_parm_level.  Avoid
- 	issuing a double warning in some circumstances.
- 	* c-typeck.c: Update calls to declare_parm_level.
- 	* c-tree.h: Update prototype of declare_parm_level.
- 
- 	* c-pragma.c (apply_pragma_weak): Don't complain about a
- 	redundant #pragma weak.
- 
- 	* objc/objc-act.c (forward_declare_categories,
- 	build_selector_reference_decl, build_class_reference_decl,
- 	build_objc_string_decl, synth_forward_declarations,
- 	build_protocol_reference): Set TREE_PUBLIC on synthetic
- 	forward decl to 0, consistent with eventual definition.
- 	Correct comments to match.
- 
- 	* fixinc/inclhack.def (solaris_mutex_init_2): Escape braces
- 	in regexp that don't form a range expression.
- 	* fixinc/fixincl.def: Regenerate.
- 
- 2003-07-17  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/10907
- 	* config/ia64/ia64.c (ia64_epilogue_uses): GP is live at end
- 	even with !TARGET_CONST_GP.
- 	(ia64_function_ok_for_sibcall): Reject non-local functions.
- 
- 2003-07-17  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* c-common.c (c_estimate_num_insns_1): Don't handle
- 	METHOD_CALL_EXPR.
- 	* expr.c (safe_from_p): Likewise.
- 	* gengtype.c (adjust_field_tree_exp): Likewise.
- 	* stmt.c (warn_if_unused_value): Likewise
- 	* tree.c (first_rtl_op): Likewise.
- 	* tree.def: Don't define METHOD_CALL_EXPR.
- 	* java/lang.c (java_estimate_num_insns_1): Don't handle
- 	METHOD_CALL_EXPR.
- 
- 2003-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR other/11466
- 	* doc/invoke.texi (SPARC Options): Document "-mlittle-endian"
- 	and its restrictions for the SPARC64 port.
- 	Move the entry of "-mimpure-text" before that of "-mv8".
- 
- 2003-07-17  Eric Botcazou <ebotcazou@libertysurf.fr>
- 	    Phil Edwards <phil@jaj.com>
- 
- 	* doc/install.texi (*-*-solaris2*): Document the step-by-step
- 	procedure to bootstrap and install.
- 	Document the preference for the legacy Sun tools in /usr/bin
- 	over the POSIX tools in /usr/xpg4/bin for the build process.
- 
- 2003-07-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c.opt: Document Uncodumented; use it.  Document ObjC options.
- 	* opts.c (print_filtered_help): Skip undocumented switches.
- 	* opts.h (CL_UNDOCUMENTED): New.
- 	* opts.sh: Handle Undocumented.
- 	* toplev.c (documented_lang_options): Prevent its becoming empty.
- objc:
- 	* lang-options.h: Remove.
- 
- 2003-07-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* loop.c (check_ext_dependent_givs): Pass const struct loop *
- 	instead of struct loop_info * as argument.  Accept BIVs with
- 	increment +/- 1 provided there is a friendly exit test against
- 	a loop-invariant value.
- 	(strength_reduce): Adapt call to check_ext_dependent_givs.
- 
- 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
- 	    Con Bradley <con.bradley@superh.com>
- 
- 	* sh-protos.h (sh_get_pr_initial_val): Declare.
- 	* sh.c (regno_reg_class): Make its elements type enum reg_class.
- 	(output_stack_adjust): Remove emit_fn argument.  Add epilogue_p
- 	and live_regs_mask arguments.  Changed all callers.
- 	(save_schedule_s): New structure.
- 	(save_schedule): New typedef.
- 	(scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions.
- 	(calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p.
- 	In interrupts handlers, also save registers that are usually
- 	partially saved, and make sure there is at least one general purpose
- 	register saved if a target register needs saving.
- 	Add casts in comparisons to avoid warnings.
- 	(sh_media_register_for_return): return -1 for interrupt handlers.
- 	(MAX_SAVED_REGS, MAX_TEMPS): New defines.
- 	(sh_expand_prologue): Use sh5_schedule_saves.  Check that any temp
- 	registers used are available.
- 	Set RTX_FRAME_RELATED_P where appropriate.
- 	Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing.
- 	(sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves.
- 	(initial_elimination_offset): Likewise.
- 	* sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4.
- 	(LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings.
- 	(FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO.
- 	(XD_REGISTER_P, TARGET_REGISTER_P): Likewise.
- 	(HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15,
- 	and for target registers.
- 	(RETURN_IN_MEMORY): Add parentheses to avoid warnings.
- 	(regno_reg_class): Make its elements type enum reg_class.
- 	(CONSTRAINT_LEN): Don't use isdigit.
- 	(FUNCTION_ARG_REGNO_P): Add casts to avoid warnings.
- 	(FUNCTION_ARG): Add parentheses to avoid warnings.
- 	(RETURN_ADDR_RTX): Use sh_get_pr_initial_val.
- 	(RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5.
- 	(SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings.
- 	(EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings.
- 	* sh.md (xordi3+1): Remove unused variable regno.
- 	(return_media): Check that tr0 is available before using it.
- 
- 2003-07-16  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c.opt: Document more options.
- 
- 2003-07-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (subst): Also handle (subreg (const_double ...)) case
- 	if created by a substitution, by using the original inner mode.
- 
- 2003-07-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Convert constant comparisons
- 	to MODE_FLOAT constants if FLOAT_STORE_FLAG_VALUE is defined.
- 	(simplify_rtx): Likewise.  Simplify (lo_sum (high X) X) as X.
- 
- 2003-07-16  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* doc/install.texi (--without-headers): New.
- 
- 	Partial Fix PR/10129
- 	* config/darwin.c (machopic_function_base_name): Only Return "<pic base>".
- 	(machopic_output_function_base_name): New; print the true pic label.
- 	(machopic_classify_ident): Pic Base is always a defined data.
- 	* config/darwin.h (ASM_OUTPUT_LABELREF): Support the pic base label.
- 	* config/darwin-proto.h (machopic_output_function_base_name): Prototype.
- 
- 	* gcse.c (gcse_constant_p): COMPARE of the same registers is a constant
- 	if they are not floating point registers.
- 
- 	PR c/10962
- 	* ggc.h: Add header guards.
- 	* c-decl.c (finish_struct): Sort fields if
- 	number greater than 15 and there are no
- 	anonymous structs/unions.
- 	* c-common.h: Include ggc.h.
- 	(sorted_fields_type): New struct.
- 	(field_decl_cmp): New prototype.
- 	(resort_sorted_fields): New prototype.
- 	(DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
- 	* c-tree.h: (lang_type): Use pointer to sorted_fields_type
- 	as s, removing other fields.
- 	* c-typeck.c (lookup_field): Use s in lang_type.
- 	These were mostly moved from cp/class.c:
- 	* c-common.c (field_decl_cmp): New static function.
- 	(field_decl_cmp): New function.
- 	(resort_sorted_fields): New function.
- 
- 2003-07-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.c (machopic_select_section): Use decl_readonly_section
- 	to do most of the work.
- 
- 2003-07-16  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
- 	* config/mmix/mmix.c: Convert functions to ISO C90.
- 	(mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
- 	formatting.
- 	(mmix_get_hard_reg_initial_val): Tweak section head comment.
- 
- 2003-07-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Always define to SUPPORTS_WEAK.
- 
- 2003-07-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unwind-dw2.c (MD_FROB_UPDATE_CONTEXT): Define.
- 	(uw_update_context_1): Use it.
- 	* config/rs6000/rs6000.c (insn_after_throw): Remove.
- 	(rs6000_aix_emit_builtin_unwind_init): Save $r2 to its location
- 	in parent frame if _Unwind_* called directly instead of through
- 	.plt.
- 	(rs6000_emit_eh_toc_restore): Remove.
- 	(rs6000_emit_prologue): Update stack pointer before doing any saving
- 	if current_function_calls_eh_return.  Generate unwind info for $r2.
- 	(rs6000_emit_epilogue): Restore stack pointer after doing all
- 	restoring if current_function_calls_eh_return.  Restore $r2.
- 	* config/rs6000/rs6000-protos.h (rs6000_emit_eh_toc_restore): Remove.
- 	* config/rs6000/rs6000.md (eh_return): Remove call to
- 	rs6000_emit_eh_toc_restore.
- 	* config/rs6000/linux64.h (MD_FROB_UPDATE_CONTEXT): Define.
- 	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Define.
- 
- 2003-07-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (emit_block_move): Don't move anything if size is const 0.
- 	(clear_storage): Test against const0_rtx instead of comparing INTVAL
- 	against 0.
- 
- 2003-07-15  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Only
- 	emit nop if the last real insn is CALL_INSN.
- 
- 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/xm-mingw32.h (HOST_BIT_BUCKET): Define
- 	as "nul".
- 	* config/i386/xm-mingw32.h: Change GNU CC to GCC.
- 
- 2003-07-16  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (associated_type): Artificial methods are not
- 	affected by the import/export status of their class unless they are
- 	COMDAT.
- 	(i386_pe_dllimport_p): Do not mark artificial methods as dllimport.
- 
- 	* config/i386/winnt.c: Fix GCC copyright comment.
- 
- 2003-07-16  Gabriel Dos Reis  <gcc@integrable-solutions.net>
- 
- 	PR c++/11531
- 	* diagnostic.c (diagnostic_report_diagnostic): Don't ICE if we're
- 	not recursing on hard error.
- 	(diagnostic_for_decl): Likewise.
- 	* diagnostic.def: Rearrange.
- 
- 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
- 	If DWARF_FRAME_RETURN_COLUMN doesn't have a register mode, use Pmode.
- 
- 2003-07-15  J"orn Rennecke <joern.rennecke@superh.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2.c (_Unwind_GetGR): Use dwarf_reg_size_table
- 	to decide if to access a _Unwind_Ptr or a _Unwind_Word.
- 	(_Unwind_SetGR): Likewise.
- 	(_Unwind_GetPtr, _Unwind_SetSpColumn): New functions.
- 	(Unwind_SpTmp): New typedef.
- 	(uw_update_context_1): Use _Unwind_SetSpColumn and _Unwind_GetPtr.
- 	(uw_update_context): Use _Unwind_GetPtr.
- 	(init_dwarf_reg_size_table): Move above uw_init_context_1.
- 	(uw_init_context_1): Initialize dwarf_reg_size_table if necessary.
- 	Use _Unwind_SetSpColumn.
- 	(uw_install_context_1): Don't initialize dwarf_reg_size_table.
- 	Use _Unwind_GetPtr.
- 
- 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c.opt: Document more options.
- 	* toplev.c (documented_lang_options): Remove all local help strings.
- 
- 2003-07-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR debug/11473
- 	* dbxout.c (dbxout_type): Use TYPE_SIZE to determine the sizes of
- 	base classes.
- 
- 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/10795
- 	* config/i386/i386.c (ix86_expand_carry_flag_compare): Don't
- 	swap comparison operands if doing so would generate an
- 	unrecognizable insn.
- 
- 2003-07-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11320
- 	* sched-int.h (struct deps) [reg_conditional_sets]: New field.
- 	(struct sched_info) [compute_jump_reg_dependencies]: New prototype.
- 	* sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
- 	current_sched_info->compute_jump_reg_dependencies. Record which
- 	registers are used and which registers are set by the jump.
- 	Clear deps->reg_conditional_sets after a barrier.
- 	Set deps->reg_conditional_sets if the insn is a COND_EXEC.
- 	Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
- 	(init_deps): Initialize reg_conditional_sets.
- 	(free_deps): Clear reg_conditional_sets.
- 	* sched-ebb.c (compute_jump_reg_dependencies): New prototype.
- 	Mark registers live on entry of the fallthrough block and conditionally
- 	set as set by the jump. Mark registers live on entry of non-fallthrough
- 	blocks as used by the jump.
- 	* sched-rgn.c (compute_jump_reg_dependencies): New prototype.
- 	Mark new parameters as unused.
- 
- 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Resync MIPS -march documentation.
- 
- 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PROCESSOR_R9000): New processor_type.
- 	(TARGET_MIPS9000, TUNE_MIPS9000): New macros.
- 	(GENERATE_MULT3_SI): True for TARGET_MIPS9000.
- 	* config/mips/mips.c (mips_cpu_info_table): Add rm9000 entry.
- 	(mips_rtx_costs): Adjust integer multiplication costs for the rm9000.
- 	(mips_issue_rate): Handle PROCESSOR_R9000.
- 	(mips_use_dfa_pipeline_interface): Likewise.
- 	* config/mips/9000.md: New file.
- 	* config/mips/mips.md: Include it.
- 	(define_attr cpu): Add r9000.
- 	(mulsi3_mult3): Use "mul" for rm9000 code.
- 
- 2003-07-15  Stan Cox  <scox@redhat.com>
- 
- 	* config/mips/mips.h (PROCESSOR_R7000): New processor_type.
- 	(TARGET_MIPS7000, TUNE_MIPS7000): New macros.
- 	(GENERATE_MULT3_SI): True for TARGET_MIPS7000.
- 	* config/mips/mips.c (mips_cpu_info_table): Add rm7000 entry.
- 	(mips_rtx_costs): Adjust integer multiplication costs for the rm7000.
- 	(mips_issue_rate): Handle PROCESSOR_R7000.
- 	(mips_use_dfa_pipeline_interface): Likewise.
- 	* config/mips/7000.md: New file.
- 	* config/mips/mips.md: Include it.
- 	(define_attr cpu): Add r7000.
- 	(mulsi3_mult3): Use "mul" for rm7000 code.
- 
- 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (define_attr type): Add condmove.  Use it for
- 	the conditional move patterns.
- 	* config/mips/5400.md (ir_vr54_move): Rename to ir_vr54_condmove.
- 	Check for condmove type.
- 	(ir_vr54_arith): Add move type.
- 	* config/mips/5500.md (ir_vr55_move, ir_vr55_arith): Likewise.
- 	* config/mips/sr71k.md (ir_sr70_move, ir_sr70_arith): Likewise.
- 
- 2003-07-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (print_help): Remove.
- 	(c_common_handle_option): Don't handle --help.
- 	* c.opt: Document some options.
- 	(--help): Remove.
- 	* opts.c (print_filtered_help): New.
- 	(print_help): Use it.
- 
- 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-common.c (c_common_type_for_mode): Handle V4DFmode.
- 	* tree.c: (build_common_tree_nodes_2): Likewise.
- 	* tree.h (enum tree_index): Add TI_V4DF_TYPE.
- 	(V4DF_type_node): New.
- 
- 	* c-opts.c (push_command_line_include): Don't free deferred_opts,
- 	we'll need it.
- 	(finish_options): Reset init_cursor.
- 
- 2003-07-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_assignment): Remove an unused argument
- 	SUGGEST_REG.
- 	* expr.h: Update the prototype.
- 	* function.c: Update the callers.
- 	* stmt.c: Likewise.
- 
- 2003-07-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR debug/11098
- 	* integrate.c (copy_decl_for_inlining): Do not mark copied decls
- 	as DECL_ABSTRACT.
- 
- 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (avoid_bool_define, avoid_bool_type): Bypass
- 	with __cplusplus, not "we must use the C++ compiler's type"
- 	* fixinc/inclhack.def (void_null): Note that Interix needs this.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-07-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* unwind-dw2-fde-darwin.c (live_image_destructor): Get seen_objects
- 	and unseen_objects from the global data before calling
- 	__deregister_frame_info_bases.
- 	(examine_objects): Insert objects into the seen_objects list,
- 	not unseen_objects.
- 	(_Unwind_Find_FDE): Always unlock the global object lists, even if
- 	we couldn't allocate a data structure to put in it.
- 
- 	* objc/objc-act.h (CLASS_SUPER_NAME): Add a little typechecking.
- 	(TYPE_PROTOCOL_LIST): Share use of type.context with C frontend.
- 	(SET_TYPE_PROTOCOL_LIST): New.
- 	* objc/objc-act.c (get_static_reference): Use SET_TYPE_PROTOCOL_LIST.
- 	(get_object_reference): Likewise.
- 
- 2003-07-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (locator_file): Break out from ....
- 	(insn_file): ... here.
- 	(locator_line): Break out from ....
- 	(insn_line): ... here.
- 	* rtl.h (locator_file, locator_line): Declare.
- 	(final_start_function): Set proper line/file info.
- 
- 2003-07-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-pretty-print.c (pp_c_unary_expression): A CONVERT_EXPR is
- 	handled by pp_c_cast_expression.
- 
- 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_expand_prologue): Use a single insn to
- 	allocate 32768 bytes of stack.  Use addition rather than subtraction
- 	when a single insn is enough.
- 	* config/mips/mips.md: Remove insns and splitters for subtracting
- 	constants.
- 	(subsi3): Only accept register operands.
- 	(subsi3_internal): Likewise.  Use for TARGET_MIPS16 as well.
- 	(subdi3_internal_3, subsi3_internal_2): Likewise.
- 	(casesi): Use expand_binop to subtract the lower bound.
- 
- 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_in_small_data_p): Don't handle
- 	TARGET_MIPS16 specially.
- 
- 2003-07-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Use
- 	mips_output_aligned_bss.
- 	* config/mips/linux.h: Likewise.
- 	* config/mips/mips-protos.h (mips_output_aligned_bss): Declare.
- 	* config/mips/mips.c (mips_output_aligned_bss): New function.
- 
- 	* config/mips/elf.h (DBX_DEBUGGING_INFO): Delete.
- 	* config/mips/elf64.h: Likewise.
- 
- 	* config/mips/elf.h (ASM_DECLARE_OBJECT_NAME): Use
- 	mips_declare_object_name.
- 	(ASM_FINISH_DECLARE_OBJECT): Likewise mips_finish_declare_object.
- 	* config/mips/elf64.h: As for elf.h.
- 	* config/mips/iris6.h: Likewise.
- 	* config/mips/linux.h (ASM_DECLARE_OBJECT_NAME): As for elf.h.
- 	* config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Remove unnecessary
- 	do...while (0) block.
- 	* config/mips/mips-protos.h (mips_declare_object_name): Declare.
- 	(mips_finish_declare_object): Declare.
- 	* config/mips/mips.c (mips_declare_object_name): New function.
- 	(mips_finish_declare_object): New function.
- 
- 	* config/mips/elf.h (SBSS_SECTION_ASM_OP): Delete.
- 	* config/mips/linux.h: Likewise.
- 
- 	* config/mips/mips.c (inside_function): Delete.
- 	(file_in_function_warning, ignore_line_number): Delete.
- 	(mips_output_filename): Don't warn about changing filenames within
- 	a function.
- 	(mips_output_lineno): Update accordingly.
- 	(mips_output_function_prologue): Don't reset the deleted variables.
- 	* config/mips/mips.h (inside_function): Delete.
- 	(file_in_function_warning, ignore_line_number): Delete.
- 
- 	* config/mips/elf.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Remove undefs.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/openbsd.h: Likewise.
- 	* config/mips/iris5.h (OBJECT_FORMAT_COFF): Remove undefs.
- 	* config/mips/linux.h: Likewise.
- 	* config/mips/mips.h (OBJECT_FORMAT_COFF, EXTENDED_COFF): Delete.
- 	(CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, MIPS_UNMARK_STAB): Delete.
- 
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Add mips/sdb.h
- 	to the list of include files when using gas.
- 	(mips*el-*-openbsd*, mips*-*-openbsd*): Add mips/sdb.h unconditionally.
- 	* config/mips/elf.h: Remove #undef SDB_DEBUGGING_INFO.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/iris5.h: Likewise.
- 	* config/mips/linux.h: Likewise.
- 	* config/mips/iris5gas.h (SDB_DEBUGGING_INFO): Remove definition.
- 	* config/mips/mips.h (PREFERRED_DEBUGGING_TYPE): Likewise.
- 	(SDB_DEBUGGING_INFO, sdb*, SDB_ALLOW_*, PUT_SDB*): Move to...
- 	* config/mips/sdb.h: ...this new file.
- 
- 2003-07-14  Douglas Rupp  <rupp@gnat.com>
- 
- 	* fixinc/server.c (server_setup): Don't use non-POSIX NULL first
- 	argument to getcwd; use fixed buffer instead.
- 
- 2003-07-14  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Treat OpenBSD normally.
- 	* fixinc/fixinc.wrap: Delete.
- 
- 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* ggc-page.c (extra_order_size_table): Insns have 9 slots. Regs
- 	don't have 2.
- 
- 2003-07-14  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* ggc-page.c (struct globals): Add new fields to keep track of the
- 	total allocated memory and overhead.
- 	(ggc_print_statistics): Print them.
- 	(ggc_alloc): Keep track of the total allocated memory and the
- 	overhead.
- 
- 	* tree.c (dump_tree_statistics): Increase spacing.
- 	(enum tree_node_kind): Move to ...
- 	* tree.h (enum tree_node_kind): ... here.
- 	(tree_node_counts, tree_node_sizes): Declare.
- 
- 2003-07-14  James A. Morrison  <ja2morri@student.math.uwaterloo.ca>
- 
- 	* doc/include/texinfo.tex: Upgrade to texinfo 4.6.
- 
- 2003-07-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR optimization/11440
- 	* gcse.c (try_replace_reg): Don't attach notes to ZERO_EXTRACT or
- 	SIGN_EXTRACT SETs.
- 
- 2003-07-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doc/tm.texi (BLOCK_REG_PADDING): Describe.
- 	* expr.h (struct locate_and_pad_arg_data): Add where_pad.
- 	(emit_group_load, emit_group_store): Adjust declarations.
- 	Remove most occurrences of #ifdef TREE_CODE.
- 	* expr.c (emit_group_load): Add "type" param, and use
- 	BLOCK_REG_PADDING to determine need for a shift.  Optimize non-
- 	aligned accesses if !SLOW_UNALIGNED_ACCESS.
- 	(emit_group_store): Likewise.
- 	(emit_push_insn, expand_assignment, store_expr, expand_expr): Adjust
- 	emit_group_load and emit_group_store calls.
- 	* calls.c (store_unaligned_arguments_into_pseudos): Tidy.  Use
- 	BLOCK_REG_PADDING to determine whether we need endian_correction.
- 	(load_register_parameters): Localize vars.  Handle shifting of
- 	small values to the correct end of regs.  Adjust emit_group_load
- 	call.
- 	(expand_call, emit_library_call_value_1): Adjust emit_group_load
- 	and emit_group_store calls.
- 	* function.c (assign_parms): Set mem alignment for stack slots.
- 	Adjust emit_group_store call.  Store values at the "wrong" end
- 	of regs to the stack.  Use BLOCK_REG_PADDING.
- 	(locate_and_pad_parm): Save where_pad.
- 	(expand_function_end): Adjust emit_group_load call.
- 	* stmt.c (expand_value_return): Adjust emit_group_load call.
- 	* Makefile.in (calls.o): Depend on $(OPTABS_H).
- 	* config/rs6000/linux64.h (TARGET_LITTLE_ENDIAN): Redefine as 0.
- 	(AGGREGATE_PADDING_FIXED, AGGREGATES_PAD_UPWARD_ALWAYS): Define.
- 	(MUST_PASS_IN_STACK): Define.
- 	(BLOCK_REG_PADDING): Define.
- 	* config/rs6000/rs6000.h (struct rs6000_args): Remove orig_nargs.
- 	(PAD_VARARGS_DOWN): Define in terms of FUNCTION_ARG_PADDING.
- 	* config/rs6000/rs6000.c (init_cumulative_args): Don't set orig_nargs.
- 	(function_arg_padding): !AGGREGATE_PADDING_FIXED compatibility code.
- 	Act on AGGREGATES_PAD_UPWARD_ALWAYS.
- 
- 2003-07-13  Aaron W. LaFramboise  <awlaframboise@aol.com>
- 
- 	* config/i386/gthr-win32.c (__GTHREAD_HIDE_WIN32API): Define to 1.
- 
- 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): If reg, copy OP0 to MEM
- 	both if OFFSET specified and if result BLKmode for ARRAY_RANGE_REF.
- 
- 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR other/11123
- 	* toplev.c: Don't cut off option names.
- 
- 2003-07-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-decl.c (link_hash_hash): Avoid warning about casting pointer
- 	to integer of different size.
- 
- 2003-07-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_comparison): Convert (ne (and (not X) 1) 0)
- 	to (eq (and X 1) 0).
- 
- 2003-07-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* config.gcc: Add pmmintrin.h for x86_64-*-*.
- 
- 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (LIBCPP_DEPS): Remove coretypes.h and $(TM_H).
- 	(hashtable.o, line-map.o, mkdeps.o): Likewise, from dependency
- 	list.  Move these all together down by cpplib.
- 
- 	* cpplib.h: Don't refer to MAX_WCHAR_TYPE_SIZE when determining
- 	definition of CPPCHAR_SIGNED_T.
- 
- 	* cppcharset.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c, cppinit.c
- 	* cpplex.c, cpplib.c, cppmacro.c, cpppch.c, cpptrad.c, hashtable.c
- 	* line-map.c, mkdeps.c: Don't include coretypes.h or tm.h.
- 
- 	* cpphash.c (_cpp_init_hashtable): Don't use gcc_obstack_init.
- 	* cppinit.c (cpp_create_reader): Likewise.
- 
- 	* cpphash.h (scan_out_logical_line): Rename _cpp_scan_out_logical_line.
- 	* cpptrad.c: Likewise.  All callers changed.
- 	* cpplib.c: All callers changed.
- 	* c-ppoutput.c: Replace 'uchar' with 'unsigned char' throughout.
- 	* hashtable.h: Define GTY(x) to nothing here too.
- 
- 2003-07-13  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (compute_record_mode): Remove very obsolete test
- 	that forces BLKmode for records with fields crossing word boundary.
- 
- 2003-07-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in: Remove orphan reference to acconfig.h.
- 
- 2003-07-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* cgraphunit.c: Convert prototypes to ISO C90.
- 
- 2003-07-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (avoid_wchar_t_type): Use __cplusplus bypass
- 	(for OpenBSD).
- 	* fixinc/fixincl.x: Rebuild.
- 
- 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Always define HAVE_AS_GOTOFF_IN_DATA for
- 	i?86-*-*.  Use correct name of cache variable.
- 	* configure: Regenerate.
- 
- 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c: Fix comment typos.
- 	* config/alpha/alpha.md: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/lib1funcs.asm: Likewise.
- 	* config/avr/avr.md: Likewise.
- 	* config/arm/README-interworking: Fix typos.
- 
- 2003-07-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-format.c: Fix comment formatting.
- 	* c-typeck.c: Likewise.
- 	* coverage.c: Likewise.
- 	* cppcharset.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* toplev.c: Likewise.
- 
- 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (alpha_sbrk): Note that OpenBSD needs this
- 	fix.
- 
- 2003-07-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Clone of AC_CHECK_TYPE,
- 	uses three-argument AC_DEFINE so no acconfig.h entries are
- 	needed.
- 	(_gcc_COMPUTE_GAS_VERSION): Also provide gcc_cv_gas_vers
- 	which contains the GAS version number as a scaled integer.
- 	(gcc_GAS_VERSION_GTE_IFELSE): Use gcc_cv_gas_vers.  Add
- 	ability to check for ELF assembler.
- 	(gcc_GAS_CHECK_FEATURE): New macro.
- 	* configure.in: Use gcc_AC_CHECK_TYPE.  Rewrite all
- 	assembler feature checks using gcc_GAS_CHECK_FEATURE.
- 	Use three-argument AC_DEFINE everywhere.
- 	* acconfig.h: Deleted.
- 	* config.in, configure: Regenerate.
- 
- 2003-07-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/inclhack.def (struct_sockaddr): Avoid "fixing" sockaddr_in
- 	(on OpenBSD).
- 	* fixinc/fixincl.x: Regenerate.
- 
- 	* fixinc/inclhack.def (gnu_types): Improve comment.
- 
- 2003-07-12  Andreas Jaeger  <aj@suse.de>
- 
- 	* fp-test.c (main): Use ISO C90 prototype.
- 
- 	* version.c: Remove unneded include of ansidecl.h.
- 
- 	* cgraph.h: Convert prototypes to ISO C90.
- 	* cgraph.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* ra.h: Likewise.
- 	* protoize.c: Likewise.
- 
- 2003-07-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_inlined_into, cgraph_inlined_calees): Fix
- 	warning.
- 
- 2003-07-12  Jan Hubicka  <jh@suse.cz>
- 			       Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* cgraph.c (cgraph_max_uid): New global variable.
- 	(cgraph_node): Set uid field.
- 	(create_edge): Keep inline flags consistent.
- 	(dump_cgraph): Dump more info.
- 	* cgraph.h (struct cgraph_local_info): Remove inline_many and
- 	can_inline_once; add inlinable, disgread_inline_limits, and self_insn
- 	(struct cgraph_global_info): Add insns, calls, cloned_times,
- 	will_be_output.
- 	(struct cgraph_node): Add uid.
- 	(struct cgraph_edge): Add inline_call.
- 	(cgraph_max_uid, cgraph_inline_p): Declare.
- 	* cgraph.c: Include params.h and fibheap.h
- 	(cgraph_mark_functions_to_inline_once): Kill.
- 	(INSNS_PER_CALL): New constant.
- 	(ncalls_inlined, nfunctions_inlined, initial_insns, overall_insns): New
- 	static variables.
- 	(cgraph_finalize_function): Do not analyze inlining.
- 	(cgraph_finalize_compilation_unit): Set inlining attributes.
- 	(cgraph_mark_functions_to_output): More consistency checks.
- 	(cgraph_optimize_function): Set current_function_decl to NULL.
- 	(cgraph_expand_function): Use new inline flags.
- 	(cgraph_postorder): Expand from cgraph_expand_functions.
- 	(INLINED_TIMES, SET_INLINED_TIMES): New macros.
- 	(cgraph_inlined_into, cgraph_inlined_callees,
- 	cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
- 	cgraph_mark_inline, cgraph_check_inline_limits,
- 	cgraph_default_inline_p, cgraph_decide_inling_of_small_functions,
- 	cgraph_decide_inlining, cgraph_inline_p): New functions.
- 	* params.def (PARAM_LARGE_FUNCTION_INSNS, PARAM_LARGE_FUNCTION_GROWTH,
- 	PARAM_INLINE_UNIT_GROWTH): New parameters.
- 	* tree-inline.c (struct inline_data): New field current_decl.
- 	(expand_call_inline): Avoid forward declarations; use
- 	inlinable_function_p.
- 	(optimize_inline_calls): Set id.current_decl.
- 
- 2003-07-11  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* configure.in: Remove wrongly added definition of
- 	local_prefix.
- 	* configure: Regenerate.
- 
- 2003-07-11  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* rtl.def (NOTE): Do not use padding.
- 
- 2003-07-11  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	* doc/install.tex: Update required binutils for i?86-*-linux*
- 
- 2003-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (stage1_build): Force OBJS-onestep=OBJS.
- 
- 2003-07-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (make_decl_rtl): Treat decls with a DECL_CONTEXT of
- 	TRANSLATION_UNIT_DECL as top_level.
- 
- 2003-07-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* optabs.c (prepare_cmp_insn): Try cmpmemM first if it exists,
- 	then fall back to cmpstrM.
- 	* builtins.c (expand_builtin_memcmp): Likewise.
- 	* config/s390/s390-protos.h (s390_expand_cmpstr): Rename to...
- 	(s390_expand_cmpmem): ... this.
- 	* config/s390/s390.md (cmpmemdi, cmpmemsi, cmpmem_short_64,
- 	cmpmem_short_31, cmpmem_long_64, cmpmem_long_31): Renamed
- 	from cmpstr* patterns.  Rename call to s390_expand_cmpstr
- 	to s390_expand_cmpmem.
- 	* config/s390/s390.c (s390_expand_cmpstr): Rename to...
- 	(s390_expand_cmpstr): ... this.  Rename cmpstr* instructions
- 	to cmpmem*.
- 	* config/i370/i370.md (cmpmemsi, cmpmemsi_1): Renamed from
- 	cmpstr* patterns.
- 	* doc/md.texi (cmpstrM): Describe as String compare insn, not
- 	Block compare insn.
- 	(cmpmemM): Add.
- 
- 2003-07-11  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/i386/freebsd.h (SET_ASM_OP): Remove.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Handle TARGET_64BIT case.
- 	(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, DBX_REGISTER_NUMBER
- 	 MCOUNT_NAME, SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE_SIZE): Whitespace.
- 
- 2003-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (assign_parms): Don't recombine complex args if
- 	fnargs is unchanged from orig_fnargs.
- 	(split_complex_args): Return args without complex before copying.
- 	Re-layout the modified parameters.
- 
- 2003-07-11  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* regclass.c (choose_hard_reg_mode): Add third argument.
- 	Changed all callers.
- 	* rtl.h (choose_hard_reg_mode): Update declaration.
- 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes):
- 	Take HARD_REGNO_CALL_PART_CLOBBERED into account.
- 
- 2003-07-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-decl.c (finish_decl): Handle 'used' here...
- 	* cgraphunit.c (cgraph_finalize_function): ... and here ...
- 	* c-common.c: (handle_used_attribute): ... not here.
- 
- 	* configure.in (onstep): Support --enable-intermodule.
- 	* Makefile.in (OBJS-common): New.
- 	(OBJS-md): New.
- 	(OBJS-archive): New.
- 	(OBJS): Build from OBJS-common, OBJS-md, OBJS-archive.
- 	(OBJS-onestep): New.
- 	(libbackend.a): Support @onestep@.
- 	(libbackend.o): New.
- 	* configure: Regenerate.
- 
- 	* c-common.h (c_reset_state): New prototype.
- 	(c_parse_file): New prototype.
- 	(finish_file): Move prototype from c-tree.h.
- 	* c-decl.c: Include <hashtab.h>.
- 	(builtin_decls): New.
- 	(current_file_decl): New.
- 	(duplicate_decls): Add extra parameter. Change all callers.  Don't
- 	output duplicate common symbols.
- 	(link_hash_hash): New.
- 	(link_hash_eq): New.
- 	(poplevel): Handle popping of the top level.
- 	(warn_if_shadowing): Handle TRANSLATION_UNIT_DECL.
- 	(pushdecl): Set DECL_CONTEXT to TRANSLATION_UNIT_DECL if appropriate.
- 	(pushdecl_top_level): Likewise.
- 	(redeclaration_error_message): Handle TRANSLATION_UNIT_DECL.
- 	(c_init_decl_processing): Create TRANSLATION_UNIT_DECL.
- 	(finish_decl): Handle TRANSLATION_UNIT_DECL.
- 	(merge_translation_unit_decls): New.
- 	(c_write_global_declarations): New.
- 	(c_reset_state): New.
- 	(implicitly_declare): Handle TRANSLATION_UNIT_DECL.
- 	* c-lang.c (LANG_HOOKS_WRITE_GLOBALS): New.
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Handle
- 	TRANSLATION_UNIT_DECL.
- 	(c_objc_common_finish_file): Call merge_translation_unit_decls.
- 	* c-opts.c (in_fnames): Rename from in_fname.
- 	(c_common_decode_option): Handle multiple input filenames.
- 	(c_common_post_options): Likewise.
- 	(c_common_parse_file): Likewise; also, call c_parse_file rather than
- 	yyparse.
- 	* c-parse.in: Move cleanup code to c_parse_file.
- 	(free_parser_stacks): Move contents to c_parse_file.
- 	(c_parse_file): New.
- 	* c-tree.h (union lang_tree_node): Chain along TYPE_NEXT_VARIANT
- 	for integer types.
- 	(C_DECL_FILE_SCOPE): New.
- 	(finish_file): Move prototype to c-common.h.
- 	(merge_translation_unit_decls): New prototype.
- 	(comptypes): Add extra parameter to prototype.
- 	(c_write_global_declarations): New prototype.
- 	* c-typeck.c (tagged_types_tu_compatible_p): New.
- 	(function_types_compatible_p): Add extra parameter, change all callers.
- 	(type_lists_compatible_p): Likewise.
- 	(comptypes): Likewise.
- 	(struct tagged_tu_seen): New.
- 	(tagged_tu_seen_base): New.
- 	(build_unary_op): Handle TRANSLATION_UNIT_DECL.
- 	(c_mark_addressable): Remove #if 0 code.
- 	* calls.c (special_function_p): Handle TRANSLATION_UNIT_DECL, add
- 	comment explaining why it shouldn't have to.
- 	* cgraph.h (struct cgraph_node): Add chain_next and chain_prev GTY
- 	options.
- 	* cppinit.c (cpp_read_next_file): New.
- 	(cpp_read_main_file): Use it.
- 	* cpplib.c (undefine_macros): New.
- 	(cpp_undef_all): New.
- 	* cpplib.h (cpp_read_next_file): Prototype.
- 	(cpp_undef_all): Prototype.
- 	* langhooks-def.h (write_global_declarations): Remove prototype.
- 	* toplev.h (write_global_declarations): Add prototype.
- 	* tree.c (decl_type_context): Use switch statement, handle
- 	TRANSLATION_UNIT_DECL.
- 	* tree.def: Update documentation for TRANSLATION_UNIT_DECL.
- 	(TRANSLATION_UNIT_DECL): New kind of tree.
- 	* tree.h: Update documentation for TRANSLATION_UNIT_DECL.
- 	* Makefile.in (c-decl.o): Add $(HASHTAB_H) to dependencies.
- 	* doc/invoke.texi: Make attempt to document new functionality.
- 
- 	2003-05-19  Per Bothner <bothner@apple.com>
- 
- 	* gcc.c (combine_inputs): New.
- 	(process_command): Set combine_inputs.
- 	(do_spec_1): Handle combine_inputs.
- 	(main): Likewise.
- 
- 2003-07-10  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR optimization/9745
- 	* loop.c (loop_iv_add_mult_emit_before): Call loop_regs_update before
- 	loop_insn_emit_before.
- 	(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
- 
- 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppcharset.c: Fix comment.
- 	(iconv_close [!HAVE_ICONV]): #define to (void)0 to prevent warning.
- 	(EILSEQ): #define to EINVAL if not already defined.
- 	(convert_using_iconv): #if out when !HAVE_ICONV.
- 	(init_iconv_desc): Handle !HAVE_ICONV here...
- 	(cpp_init_iconv): ...not here.
- 
- 2003-07-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* common.opt: More --help messages.
- 	* opts.c (print_help): Use puts().
- 	* toplev.c (f_options): Remove help text.
- 	(display_help): Don't dump f_options.
- 
- 2003-07-11  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Drop reference to unsupported alpha-*-interix*.
- 	Move i?86-*-interix* to the don't-fix list.
- 	* fixinc/fixinc.interix: Delete with extreme prejudice.
- 
- 2003-07-10  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	PR bootstrap/10758
- 	* doc/install.texi: Document requirements for ia64-*-hpux* target.
- 
- 2003-07-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/ia64/hpux.h (TARGET_C99_FUNCTIONS): Define.
- 
- 2003-07-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppcharset.c (one_utf8_to_cppchar, one_cppchar_to_utf8,
- 	one_utf8_to_utf32, one_utf32_to_utf8, one_utf8_to_utf16,
- 	one_utf16_to_utf8, conversion_loop, convert_utf8_utf16,
- 	convert_utf8_utf32, convert_utf16_utf8,	convert_utf32_utf8,
- 	convert_no_conversion, convert_using_iconv): New functions.
- 	(APPLY_CONVERSION): New macro.
- 	(struct conversion, conversion_tab): New data structure.
- 	(init_iconv_desc): Check conversion_tab for a custom conversion
- 	primitive before trying to use iconv.
- 	(convert_cset): Deleted.
- 	(cpp_init_iconv): Use UTF- terminology, not UCS-.
- 	(_cpp_destroy_iconv): Update to match.
- 	(_cpp_valid_ucn): We don't need iconv to implement UCNs.
- 	(convert_ucn): Use one_cppchar_to_utf8 and APPLY_CONVERSION.
- 	(convert_escape, cpp_interpret_string): Use APPLY_CONVERSION.
- 	(_cpp_interpret_string_notranslate): New function, moved here
- 	from cpplib.c.
- 
- 	* cpphash.h (convert_f, struct cset_converter): New types.
- 	(struct cpp_reader): narrow_cset_desc and wide_cset_desc
- 	are now struct cset_converter, not bare iconv_t.
- 	Update prototypes.
- 	* cpplib.c (interpret_string_notranslate): Moved to cppcharset.c;
- 	all callers changed.
- 
- 2003-07-10  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* Makefile.in (options.h): Depend on Makefile.  Add move-if-change
- 	to opts.sh command line.
- 	* opts.sh: Write to temporary files with a move-if-change at the end.
- 
- 2003-07-10  Denis Chertykov  <denisc@overta.ru>
- 	    Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (gen_binary): Handle the CLOBBER rtx and
- 	don't build a binary operation with it.
- 
- 2003-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (load_kills_store, find_loads, store_killed_in_insn,
- 	store_killed_after, store_killed_before): Keep track of the correct
- 	dependency function to use.
- 
- 2003-07-10  Steven Bosscher  <steven@gcc.gnu.org>
- 	* toplev.c (do_compile): Don't try to open dump files before
- 	lang_dependent_init initializes dump_base_name.
- 
- 2003-07-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/arm/arm.c (arm_init_iwmmxt_builtins, arm_expand_builtin):
- 	Use ARRAY_SIZE.
- 	* config/frv/frv.c (frv_expand_builtin): Likewise.
- 	* config/sh/sh.c (sh_media_init_builtins): Likewise.
- 
- 2003-07-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/10032
- 	* doc/invoke.texi (C++ Dialect Options): Change documentation of
- 	-fpermissive.
- 
- 2003-07-10  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* tm.texi (RETURN_ADDR_OFFSET): Document.
- 
- 2003-07-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h: Update documentation.
- 	(GCOV_UNSIGNED2STRING): New.
- 	(GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
- 	GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
- 	GCOV_TAG_SUMMARY_LENGTH): Adjust.
- 	(GCOV_TAG_BLOCKS_NUM, GCOV_TAG_ARCS_NUM,
- 	GCOV_TAG_COUNTER_NUM): New.
- 	(GCOV_BLOCK_SIZE): Number of words.
- 	(gcov_var): Adjust buffer type.
- 	* gcov-io.c (gcov_write_bytes, gcov_read_bytes): Rename to ...
- 	(gcov_write_words, gcov_read_words): ... here. Take a 4-byte word
- 	count, not byte count.
- 	(gcov_open): Adjust overread init.
- 	(gcov_allocate, gcov_write_unsigned, gcov_write_counter,
- 	gcov_write_string, gcov_write_tag, gcov_write_length,
- 	gcov_write_tag_length): Adjust.
- 	(gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
- 	(gcov_sync, gcov_seek): Adjust.
- 	* gcov-dump.c (print_usage): Show gcc version only.
- 	(dump_file): Use GCOV_UNSIGNED2STRING.
- 	(tag_blocks, tag_arcs, tag_counters): Use GCOV_TAG_*_NUM macros.
- 	* gcov.c (print_version): Show gcc version only.
- 	(read_graph_file): Use GCOV_UNSIGNED2STRING. Use
- 	GCOV_TAG_*_NUM macros.
- 	(read_count_file): Use GCOV_UNSIGNED2STRING. Use
- 	GCOV_TAG_COUNTER_LENGTH.
- 	* coverage.c (read_counts_file): Use GCOV_UNSIGNED2STRING.
- 	Use GCOV_TAG_COUNTER_NUM.
- 	* libgcov.c (gcov_version): Use GCOV_UNSIGNED2STRING.
- 	(__gcov_merge_single, __gcov_merge_delta): Use GCOV_CHECK.
- 
- 2003-07-10  Andreas Schwab  <schwab@suse.de>
- 
- 	* gcov-dump.c (dump_file): Fix missing address operator.
- 
- 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR c/11449
- 	* fold-const.c (sign_bit_p): Return EXP if VAL is the sign bit
- 	of HOST_WIDE_INT.
- 	(fold_single_bit_test): If sign_bit_p() fails, assume that the
- 	bit being tested is not a sign bit.
- 
- 2003-07-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/linux.h (LINK_SPEC): Rename the dynamic linker
- 	from ld-linux.so.2 to ld.so.1.
- 	2001-11-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/linux.h (LINK_SPEC): -lpthread, not -lthread.
- 	* config/mn10300/linux.h (LINK_SPEC): Don't handle -Wl,-rpath
- 	nor -Wl,-rpath-link.
- 	(LIB_SPEC): Add -rpath-link if !static.
- 	2001-08-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.c (mn10300_protect_label): New
- 	variable.
- 	* config/mn10300/linux.h (PRINT_OPERAND,
- 	PRINT_OPERAND_ADDRESS): Set it during their execution.
- 	(ASM_OUTPUT_LABELREF): Output `+' before symbol name if
- 	mn10300_protect_label is set.
- 	* config/mn10300/linux.h (LINK_SPEC): Recognize -Wl,-rpath and
- 	-Wl,-rpath-link.
- 	(LIB_SPEC, STARTFILE_SPEC): Define.
- 	2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/t-linux (dp-bit.c, fp-bit.c): Don't define
- 	FLOAT_BIT_ORDER_MISMATCH.
- 	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc (am33_2.0-*-linux*): Added.
- 	* config/mn10300/linux.h: New.
- 	* config/mn10300/t-linux: New.
- 
- 2003-07-10  Andreas Jaeger  <aj@suse.de>
- 
- 	* fold-const.c: Properly wrap prototypes.
- 
- 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	2003-06-16  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.c (mn10300_unspec_int_label_counter):
- 	Moved from...
- 	* config/mn10300/mn10300.md (GOTaddr2picreg): ... here.
- 	* config/mn10300/mn10300.h: GTY-declare it.
- 	2003-06-11  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.c (mn10300_encode_section_info): Fix
- 	prototype.  Use incoming RTL argument.
- 	2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.md (int_label): Move C statements...
- 	(GOTaddr2picreg): ... here.
- 	2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.h (ENCODE_SECTION_INFO): Move...
- 	* config/mn10300/mn10300.c (mn10300_encode_section_info):
- 	... here.  New function.
- 	(TARGET_ENCODE_SECTION_INFO): Define to it.
- 	2001-11-04  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.md (builtin_setjmp_receiver): Fix typo in
- 	pattern name.
- 	(mn10300_loadPC): Define as insn splittable after reload.
- 	2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/mn10300.h (JUMP_TABLES_IN_TEXT_SECTION): Let them
- 	be defined in .rodata even in PIC, now that the assembler
- 	supports that.
- 	2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.h (GOT_SYMBOL_NAME): Don't let the
- 	symbol take an underscore prefix.
- 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300-protos.h (legitimate_pic_operand_p,
- 	legitimize_pic_address): Declare.
- 	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Mark
- 	the PIC register as fixed.
- 	(EXTRA_CONSTRAINT): Match UNSPEC_PLT and UNSPEC_PIC for 'S'.
- 	(GO_IF_LEGITIMATE_ADDRESS): Require legitimate_pic_operand for
- 	PIC.
- 	(LEGITIMATE_PIC_OPERAND_P): Define.
- 	(PIC_OFFSET_TABLE_REGNUM): Define.
- 	(GOT_SYMBOL_NAME): Define.
- 	(SYMBOLIC_CONST_P): Define.
- 	(ENCODE_SECTION_INFO): Use SYMBOL_REF_FLAG to mark local
- 	symbols.
- 	(MN10300_GLOBAL_P): Test it.
- 	(OUTPUT_ADDR_CONST_EXTRA): Handle PIC-related unspecs.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Enable for PIC.
- 	* config/mn10300/mn10300.c (print_operand): Handle unspec.
- 	(expand_prologue): Set PIC register.
- 	(call_address_operand): Don't match SYMBOL_REFs in PIC.
- 	(legitimize_address): Call legitimize_pic_address.
- 	(legitimize_pic_address): New fn.
- 	(legitimate_pic_operand_p): New fn.
- 	* config/mn10300/mn10300.md (PIC_REG, SP_REG): New constants.
- 	(UNSPEC_INT_LABEL, UNSPEC_PIC, UNSPEC_GOT, UNSPEC_GOTOFF,
- 	UNSPEC_PLT): New constants.
- 	(pop_pic_reg): New insn.
- 	(movsi): Adjust non-PIC addresses.
- 	(builtin_setjmp_receiver): Restore the PIC register.
- 	(casesi): New insn.
- 	(call): Adjust non-PIC addresses.
- 	(int_label, GOTaddr2picreg): New expands.
- 	(am33_loadPC): New insn.
- 	(mn10300_loadPC): New expand.
- 	(call_next_insn): New insn.
- 	(add_GOT_to_pic_reg): New expand.
- 	(symGOT2reg, symGOT2reg_i): New expands.
- 	(symGOTOFF2reg, symGOTOFF2reg_i): New expands.
- 	(sym2PIC, sym2PLT): New expands.
- 
- 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.h (PREDICATE_CODES): Define.
- 	2001-05-01  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.md (sqrtsf2): flag_fast_math was renamed
- 	to flag_unsafe_math_optimizations.
- 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.c (expand_prologue): Mark
- 	FP-register-saving insns as frame-related.
- 	2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.c
- 	(mn10300_get_live_callee_saved_regs): Don't search past
- 	LAST_EXTENDED_REGNUM.
- 	(mn10300_gen_multiple_store, store_multiple_operation): Likewise.
- 	* config/mn10300/mn10300.md: Remove excessive line breaks from
- 	`@' output patterns that were accounted as additional
- 	alternatives.
- 	* config/mn10300/mn10300.md, config/mn10300/mn10300.c:
- 	Re-introduce changes accidentally removed in Richard Sandiford's
- 	2000-12-05's patch.
- 	* config/mn10300/t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
- 	Re-instate am33-2 lost in merge from net GCC.
- 	2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Added
- 	floating-point registers.
- 	2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/mn10300/mn10300.md (movdf): Revert some am33-specific
- 	pessimizations that had gone in on 2000-05-08.
- 	2000-06-28  Graham Stott  <grahams@cygnus.co.uk>
- 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Fix typo.
- 	2000-06-22  Graham Stott  <grahams@cygnus.co.uk>
- 	* config/mn10300/mn10300.md (movqi): Use nonimmediate_operand for
- 	operand 0.
- 	* (movhi): Likewise.
- 	* (movsi): Likewise.
- 	* (movsf): Likewise.
- 	* (movdi): Likewise.
- 	* (movdf): Likewise.
- 	2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.c (fp_regs_to_save): New function.
- 	(can_use_return_insn, initial_offset): Add fp_regs_to_save.
- 	(expand_prologue, expand_epilogue): Save and restore FP regs.
- 	2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
- 	2000-05-13  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2, addsf3,
- 	subsf3, mulsf3, divsf3, fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4):
- 	Do not clobber cc0.
- 	2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (abssf2, negsf2, rsqrtsf2):
- 	Discourage the two-argument, longer opcodes.
- 	(addsf3, subsf3, mulsf3, divsf3): Likewise for three-argument
- 	ones.
- 	* config/mn10300/mn10300.h (struct mn10300_cc_status_mdep): New.
- 	(CC_STATUS_MDEP, CC_STATUS_MDEP_INIT): Define.
- 	* config/mn10300/mn10300.md (cmpsf): New pattern.
- 	(branch): Test mdep.fpCC and output fbCC.
- 	* config/mn10300/mn10300.c (print_operand): Output conditions.
- 	(notice_cc_update): Recognize fcmp and set mdep.fpCC.
- 	2000-05-10  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (movsf, movdf, addsf3, subsf3,
- 	mulsf3, divsf3): Use the `F' constraint for FP values.
- 	* config/mn10300/mn10300.c (const_1f_operand): New function.
- 	* config/mn10300/mn10300-protos.h (const_1f_operand): Declare.
- 	* config/mn10300/mn10300.md (sqrtsf2): New expand.
- 	(rsqrtsf2): New insn.
- 	2000-05-09  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (movdf): Oops, I missed it in my
- 	previous check-in.
- 	2000-05-08  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.md (abssf2, negdf2): On
- 	TARGET_AM33_2, expand to...
- 	(abssf2_am33_2, negdf2_am33_2): New insns.
- 	(addsf3, subsf3, mulsf3, divsf3): Likewise.
- 	(fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4): Likewise.
- 	* config/mn10300/mn10300.md (movqi, movhi, movsi, movsf,
- 	movdi, movdf): Added FP regs.
- 	* invoke.texi (-mam33-2, -mno-am33-2): Document.
- 	2000-04-29  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.h (FIRST_FP_REGNUM, LAST_FP_REGNUM):
- 	New macros.
- 	(REGNO_AM33_2_FP_P): Renamed to...
- 	(REGNO_FP_P): Redefine in terms of FIRST_* and LAST_*.
- 	(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
- 	2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Remove FP
- 	regs from GENERAL_REGS.
- 	2000-04-27  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.h (REGNO_AM33_2_FP_P): New macro.
- 	* config/mn10300/mn10300.c (mn10300_address_cost): Added FP_REGS.
- 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Added FP_REGS.
- 	2000-04-23  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.h (CLASS_CANNOT_CHANGE_SIZE): Defined
- 	as FP_REGS.
- 	2000-04-21  Alexandre Oliva  <aoliva@cygnus.com>
- 	* config/mn10300/mn10300.h (OK_FOR_Q): New macro.
- 	(EXTRA_CONSTRAINT): Added OK_FOR_Q.
- 	* config/mn10300/mn10300.c (secondary_reload_class): Adjust.
- 	* config/mn10300/mn10300.c (print_operand): Support `D' for doubles.
- 	* config/mn10300/mn10300.h (FIRST_PSEUDO_REGISTER): Adjust.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER): Added
- 	AM33/2.0 floating-point registers.
- 	(CONDITIONAL_REGISTER_USAGE): Adjust.
- 	(enum reg_class, REG_CLASS_NAMES): Added FP_REGS and FP_ACC_REGS.
- 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust.
- 	(REG_CLASS_FROM_LETTER): Added `f' and `A'.
- 	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Adjust.
- 	* config/mn10300/t-mn10300 (MULTILIB_OPTIONS): Added am33-2.
- 	(MULTILIB_DIRNAMES): Likewise.
- 	* config/mn10300/mn10300.h (CPP_SPEC): Define `__AM33__=2' and
- 	`__AM33_2__' when `-mam33-2' is given.
- 	(TARGET_AM33_2): Define.
- 	(TARGET_SWITCHES): Adjust.
- 	* config/mn10300/mn10300.c (asm_file_start): Print `.am33_2'
- 	when appropriate.
- 
- 2003-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi: Add missing @.
- 
- 2003-07-09  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (CRT_CALL_STATIC_FUNCTION): Define.
- 
- 2003-07-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR/11144
- 	* config/i386/i386.c (ix86_function_arg_boundary): Remove abort.
- 
- 2003-07-09  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR bootstrap/11043
- 	* config/arc/t-arc: Replace bogus references to "x-crtinit.o",
- 	"x-crtfini.o" with "crtinit.o", "crtfini.o".
- 
- 	* fixinc/inclhack.def (limits_ifndefs): Add select test.
- 	* fixinc/fixincl.x: Rebuild.
- 
- 	* fixinc/inclhack.def (math_exception):  Improve bypass and comment.
- 	* fixinc/fixincl.x: Rebuild.
- 
- 2003-07-09  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/install.texi (Configuration): Document the valgrind option
- 	to --enable-checking.
- 
- 2003-07-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* objc-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
- 
- 2003-07-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* c-lex.c (cb_ident): Cast cstr.text to const char *.
- 
- 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h: Update documentation.
- 	(GCOV_GRAPH_SUFFIX, GCOV_GRAPH_MAGIC): Rename to GCOV_NOTE_SUFFIX,
- 	GCOV_NOTE_MAGIC.
- 	(GCOV_DATA_SUFFIX, GCOV_NOTE_SUFFIX): Update.
- 	(GCOV_DATA_MAGIC, GCOV_NOTE_MAGIC): Make non-palindromic.
- 	(struct gcov_var): Change buffer's type. Add endian flag.
- 	(gcov_open): Remove mode in libgcov.
- 	(gcov_magic): Prototype.
- 	* gcov-io.c (from_file): New.
- 	(gcov_open): Clear endian flag.
- 	(gcov_magic): New.
- 	(gcov_write_bytes, gcov_read_bytes): Return gcov_unsigned_t
- 	pointers.
- 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string,
- 	gcov_write_tag, gcov_write_length, gcov_write_tag_length): Update.
- 	(gcov_read_unsigned, gcov_read_counter, gcov_read_string): Update.
- 	* gcov-iov.c (main): Correct cast.
- 	* coverage.c (read_counts_file): Use gcov_magic. Remove endianness
- 	conversion.
- 	(gcov_begin_output): Use GCOV_NOTE_MAGIC.
- 	(coverage_init): Use GCOV_NOTE_SUFFIX.
- 	* libgcov.c (gcov_version_mismatch): Remove endianness conversion.
- 	Rename to gcov_version, and return flag.
- 	(gcov_exit): Use gcov_version.
- 	(__gcov_init): Use gcov_version.
- 	* Makefile.in (coverageexts): Update.
- 	* gcov.c (print_version): Remove endianness conversion.
- 	(create_file_names): Use GCOV_NOTE_SUFFIX.
- 	(read_graph_file): Use gcov_magic.
- 	(read_count_file): Likewise.
- 	* gcov-dump.c (dump_file): Remove endianness conversion, use
- 	gcov_magic.
- 
- 2003-07-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (BUILD_PREFIX, BUILD_PREFIX_1): Set if enable
- 	coverage is on.
- 	* configure: Regenerated.
- 	* Makefile.in (ALL_CFLAGS): Correct its comment.
- 
- 2003-07-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (make_range): Do not access operand 1 for a
- 	zero-operand operator.
- 
- 2003-07-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* toplev.c (warn_dummy, W_options): Die.
- 	(display_help): Don't print W_options.
- 	* common.opt: Add W_options help from toplev.c.
- 
- 2003-07-09  Andreas Jaeger  <aj@suse.de>
- 
- 	* opts.c (wrap_help): Only pass int arguments as arguments to
- 	printf's '*' modifier.  Change argument of function.
- 
- 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/invoke.texi: Fix misspelling of "@item".
- 
- 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.md: Remove an old comment about
- 	NOTICE_UPDATE_CC.
- 
- 2003-07-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_node_name): New function.
- 	(dump_cgraph): Use it.
- 	* cgraph.h (cgraph_dump_file): Declare.
- 	(cgraph_node_name): Declare.
- 	* cgraphunit.c: Include timevar.h
- 	(cgraph_finalize_compilation_unit): Use timevar; reorganize dumps.
- 	(cgraph_optimize_function): Use TV_INTEGRATION.
- 	(cgraph_mark_local_functions): reorganize dumps.
- 	(cgraph_mark_functions_to_inline_once): Likewise.
- 	(cgraph_optimize): Likewise; use timevar.
- 	* timevar.def (TV_CGRAPH, TV_CGRAPHOPT): New.
- 	* toplev.c (dump_file_index): Add DFI_cgraph.
- 	(dump_file_info): Likewise.
- 	(cgraph_dump_file): New global variable.
- 	(do_compile): Open and close cgraph dump.
- 	* invoke.texi (-d): Document new flag; renumber.
- 
- 2003-07-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/11370
- 	* calls.c (emit_call_1): Don't bother popping the arguments off of
- 	the stack after a noreturn function call;  The adjustment is dead.
- 	(expand_call): Likewise.
- 
- 2003-07-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* expr.c (MOVE_MAX_PIECES): Move from here...
- 	* defaults.h (MOVE_MAX_PIECES): ... to here.
- 
- 2003-07-08  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* Makefile.in (stage1-start): Handle an empty SUBDIRS.
- 
- 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (internal_dfa_insn_code): Don't prototype.
- 	* genattrtab.c (attr_desc): Add `static_p' field.
- 	(expand_units): Make blockage range and ready cost functions
- 	static.
- 	(write_attr_get): Don't add extern prototypes in C file.  Mark
- 	static functions as appropriate.
- 	(find_attr, make_internal_attr): Initialize static_p.
- 	* genattrtab.h (ATTR_STATIC): New macro.
- 	* genautomata.c (output_internal_reset_func): Mark output function
- 	as inline.
- 	(make_internal_dfa_insn_code_attr): Mark output function as static.
- 
- 2003-07-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattrtab.h: Add new macros for attr `special' flags.
- 	* genattrtab.c (attr_desc): Reorder/resize fields better.
- 	Use attr `special' macros in all calls to make_internal_attr.
- 	* genautomata.c: Likewise.
- 
- 2003-07-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-common.c (c_estimate_num_insns_1): New static function.
- 	(c_estimate_num_insns): New global function.
- 	* c-common.h (DECL_NUM_STMTS): Rename to...
- 	(DECL_ESTIMATED_INSNS): ... this.
- 	(c_estimate_num_insns): Declare.
- 	* c-decl.c (duplicate_decls): Use DECL_ESTIMATED_INSNS.
- 	* c-lang.c (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): New.
- 	* c-semantics.c (add_stmt): Do not account statements.
- 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS):
- 	New.
- 	* langhooks.h (lang_hooks_for_tree_inlining): Add
- 	estimate_num_insns
- 	* params.def (max-inline-insns-auto, max-inline-insns-auto): set
- 	to 100.
- 	(max-inline-insns): set to 300.
- 	(min-inline-insns): set to 10.
- 	* tree-inline.c (struct inline_data): Rename inlined_stmts to
- 	inlined-insns.
- 	(INSNS_PER_STMT): Kill.
- 	(inlinable_function_p): Compute and store body size.
- 	(expand_call_inline): Likewise.
- 	(optimize_inline_calls): Likewise.
- 
- 2003-07-08  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR target/10021
- 	* emit-rtl.c (set_mem_attribute_minus_bitpos): When handle ARRAY_REF,
- 	loop over new variable t2 instead of t.
- 
- 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR bootstrap/11455
- 	* config/i386/winnt.c: Replace use of error(), warning() with
- 	error_with_decl(), warning_with_decl(),  throughout.
- 
- 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.c (wrap_help): Use unsigned int, not size_t.
- 
- 2003-07-08  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define
- 	as .file/.loc directives are incompatible with linker relaxation.
- 
- 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies.
- 	* fixinc/Makefile.in: Remove all references to gnu-regex.[och].
- 	* fixinc/fixfixes.c, fixinc/fixincl.c, fixinc/fixlib.c
- 	* fixinc/fixtests.c: Use xregexec not regexec, xregcomp not regcomp.
- 	* fixinc/fixlib.h: Include xregex.h not gnu-regex.h.
- 	* fixinc/inclhack.def (hpux10_cpp_pow_inline, hpux11_cpp_pow_inline):
- 	Escape { and } characters which are not part of range expressions.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/gnu-regex.c, fixinc/gnu-regex.h: Delete file.
- 
- 2003-07-08  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	PR c/1687
- 	* tree-inline.c (find_alloca_call): Use
- 	walk_tree_without_duplicates, instead of walk_tree.
- 	(find_builtin_longjmp_call): Likewise.
- 	* c-objc-common.c (c_cannot_inline_fn): Likewise.
- 	* c-semantics.c (find_reachable_label): Likewise.
- 
- 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/11420
- 	* config/i386/i386.c (ix86_check_movabs): New function.
- 	* config/i386/i386-protos.h (ix86_check_movabs): New prototype.
- 	* config/i386/i386.md (movabs[shqd]i_1_rex64): Kill broken alternative.
- 	(movabs[shqd]i_[12]_rex64): Add ix86_check_movabs check to conditions.
- 
- 2003-07-08  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* Makefile.in (install-po): Cope with empty CATALOGS.
- 
- 2003-07-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/elf64.h (TARGET_ASM_UNIQUE_SECTION): Delete.
- 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
- 	(SECTION_FUNCTION_TEMPLATE): Delete.
- 	* config/mips/elf.h: As for elf64.h.
- 	(ASM_OUTPUT_ALIGNED_BSS): Use named_section rather than sbss_section.
- 	* config/mips/linux.h: As for elf.h
- 	* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
- 	* config/mips/iris6.h (EXTRA_SECTIONS): Delete.
- 	(EXTRA_SECTION_FUNCTIONS): Remove sdata_section.  Remove the handling
- 	of in_sdata from current_section_name and current_section_flags.
- 	* config/mips/iris6gld.h (TARGET_ASM_UNIQUE_SECTION): Delete.
- 	* config/mips/mips.h (sdata_section, sbss_section): Remove prototypes.
- 	(MASK_GP_OPT, TARGET_GP_OPT): Delete.
- 	(MASK_NO_FUSED_MADD): Use MASK_GP_OPT's old value.
- 	(TARGET_SWITCHES): Neuter gpOPT, gpopt, no-gpOPT and no-gpopt.
- 	(SMALL_DATA_SECTION, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
- 	* config/mips/mips.c (TARGET_IN_SMALL_DATA_P): Override.
- 	(TARGET_SECTION_TYPE_FLAGS): Override if TARGET_IRIX6.
- 	(mips_classify_symbol): Use SYMBOL_REF_SMALL_P.
- 	(override_options): Remove setting of MASK_GPOPT.
- 	(mips_output_external): Use mips_in_small_data_p to check whether a
- 	symbol needs an .extern directive.  Don't emit such directives for
- 	TARGET_EXPLICIT_RELOCS.
- 	(mips_declare_object): Update accordingly.
- 	(mips_select_rtx_section): Call named_section rather than
- 	SMALL_DATA_SECTION.
- 	(mips_select_section): Use default_elf_section_section for everything
- 	except .text string constants.
- 	(mips_in_small_data_p): New function.
- 	(mips_encode_section_info): Remove small data handling.
- 	(mips_unique_section): Delete.
- 	(iris6_section_type_flags): New function.
- 	* doc/tm.texi: Remove documentation of -mgpopt and -mhalf-pic.
- 
- 2003-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR Target/11453
- 	* pa.md: Disparage all mtsar constraints.
- 	(extzv, extv, insv): Don't fail on length of {32|64}.
- 
- 2003-07-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* system.h: Poison MAP_CHARACTER.
- 	* config/i370/i370-protos.h (mvs_map_char): Delete.
- 	* config/i370/i370.c (ascebc, ebcasc, mvs_map_char): Delete.
- 	* config/i370/i370.h (MAP_CHARACTER): Delete definition.
- 	(ASM_OUTPUT_ASCII): Don't use MAP_CHARACTER.
- 
- 2003-07-08  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* toplev.c (randomize): Correct call to time().
- 
- 2003-07-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unroll.c (reg_dead_after_loop): Check for reg in REG_EQUAL and
- 	REG_EQUIV notes as well.
- 
- 2003-07-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/md.texi: Fix the description of addmodecc.
- 
- 2003-07-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (top_builddir): Set to "..", not ".".
- 	(INTLLIBS, INTLDEPS): Delete.
- 	(LIBINTL, LIBINTL_DEP, LIBICONV_DEP): New variables to be substituted.
- 	(LIBDEPS): Add $(LIBICONV_DEP).
- 	(LIBS): Take out $(INTLLIBS), add $(LIBINTL) and $(LIBICONV).
- 	(INCLUDES): Replace -I../intl with @INCINTL@.
- 	($(top_builddir)/intl/libintl.a): Delete rule.
- 	(stage2-start, stage3-start, stage4-start, stageprofile-start,
- 	stagefeedback-start): Use $$ for variable to be evaluated by
- 	shell, not make.
- 	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT,
- 	HAVE_LC_MESSAGES, HAVE_STPCPY): Delete.
- 	* aclocal.m4: sinclude ../config/progtest.m4.  Add
- 	contents of lcmessage.m4 from gettext distro.
- 	* configure.in: Check for wchar.h and setlocale.  Set
- 	LIBICONV_DEP to the empty string and substitute it.
- 	Call AM_LC_MESSAGES.  Delete AC_ARG_ENABLE for --enable-nls;
- 	this is handled elsewhere.  Use ZW_GNU_GETTEXT_SISTER_DIR,
- 	not CY_GNU_GETTEXT.  Clear $LIBICONV if its text is included
- 	in $LIBINTL, to avoid linking it twice.
- 	* configure, config.in: Regenerate.
- 
- 2003-07-08  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Remove winnt support.
- 	* fixinc/fixinc.winnt: Delete with extreme prejudice.
- 
- 2003-07-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-opts.c (c_common_handle_option): opt_text now contains the '-'.
- 	* c.opt: Update documentation.
- 	* common.opt: Add some help text.
- 	* opts.c: Include intl.h.
- 	(wrap_help, print_help): New.
- 	(find_opt, handle_option, common_handle_option): opt_text now
- 	contains the '-'.  Use print_help to output help.
- 	* opts.h (struct cl_option): New member "help".
- 	* opts.sh: Update to handle help text output and to prepend
- 	options with '-'.
- 	* toplev.c (display_help): Remove some help text.
- 
- 2003-07-07  David Edelsohn  <edelsohn@gnu.org>
- 	    Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* configure.in: Test for PowerPC mfcr field support in assembler.
- 	* config.in, configure: Regenderated.
- 
- 	* config/rs6000/power4.md: Add mfcrf reservation.
- 	* config/rs6000/rs6000-protos.h (mfcr_operation): Declare.
- 	* config/rs6000/rs6000.c (mfcr_operation): Define.
- 	(print_operand): Add 'Q' case for mfcrf.
- 	* config/rs6000/rs6000.h (TARGET_MFCRF): New.
- 	* config/rs6000/rs6000.md (attribute "type"): Add mfcrf.
- 	(movcc_internal1): Emit optional field operand for mfcr and set
- 	"type" attribute appropriately.
- 	(mfcr SCC): Likewise.
- 	(movesi_from_cr_one): New.
- 
- 2003-07-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.md: Correct check-in of incorrect version.
- 
- 2003-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.c (debug_bitmap_file): Merge uses of HOST_PTR_PRINTF with
- 	adjacent stdio calls.
- 	* c-decl.c (c_print_identifier): Likewise.
- 	* mips-tfile.c (write_varray, write_object, allocate_cluster): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* print-tree.c (print_node_brief, print_node): Likewise.
- 	* system.h (HOST_PTR_PRINTF): Ensure we have a literal string.
- 
- 	* configure.in (AC_COMPILE_CHECK_SIZEOF): Check for `void *'.
- 	* config.in, configure: Regenerated.
- 
- 2003-07-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/10979
- 	* config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
- 	Changed to define_expand patterns that copy operand[1] to prevent
- 	it from being clobbered before emitting an atan2?f3_1 insn.
- 	(atan2df3_1, atan2sf3_1, atan2xf_1, atan2tf3_1): New define_insn
- 	patterns that actually specify the behaviour of x87's FPATAN.
- 
- 2003-07-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Remove bogus
- 	clearing of SYMBOL_FLAG_LOCAL bit.
- 	If vcall_offset fits into signed 16-bit immediate, use
- 	one instruction for both addition and load.
- 
- 2003-07-07  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.c (common_handle_option): Correct handling of the
- 	-falign- switches that do and don't take an argument.
- 
- 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (pushqi1_h8300hs): Revert my patch
- 	today.
- 	(pushhi1_h8300hs): Likewise.
- 
- 2003-07-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* genextract.c: Convert remaining prototypes to ISO C90.
- 
- 	* cpplex.c (_cpp_free_buff): Convert prototype to ISO C90.
- 	* fold-const.c (fold_single_bit_test): Likewise.
- 	* diagnostic.c (default_diagnostic_finalizer): Likewise.
- 	* cfgrtl.c (rtl_redirect_edge_and_branch): Likewise.
- 
- 	* gengtype.c (write_array): Generate ISO C90 prototypes.
- 
- 	* genflags.c (gen_proto): Generate ISO C90 prototypes.
- 
- 2003-07-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/11059
- 	* expr.c (can_store_by_pieces): Return true if length is zero.
- 	(store_by_pieces): If length is zero and endp is two, abort,
- 	othwerise, if length is zero and endp is not two, return "to".
- 	(clear_by_pieces): Do nothing if length is zero.
- 	(clear_storage): Do nothing if length is zero.
- 	(store_constructor): Simplify code when size is zero, or the
- 	target has already been cleared.  This avoids emitting a
- 	blockage instruction when initializing empty structures.
- 
- 2003-07-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* mips-tfile.c: Convert prototypes to ISO C90.
- 	* mips-tdump.c: Convert prototypes to ISO C90.
- 
- 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* rtl.h (emit_line_note): Take a location_t.
- 	(emit_line_note_force): Remove.
- 	(set_file_and_line_for_statement): Take a location_t.
- 	* tree.g (emit_line_note): Take a location_t.
- 	* emit-rtl.c (emit_line_note): Take a location_t.
- 	(emit_line_note_force): Remove.
- 	* function.c (init_function_start): Adjust emit_line_note call.
- 	(expand_function_end): Use force_next_line_note, not
- 	emit_line_note_force.
- 	* c-parse.in (maybe_type_qual): Adjust emit_line_note calls.
- 	* c-semantics.c (genrtl_do_pushlevel, genrtl_goto_stmt,
- 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
- 	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_return_stmt,
- 	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
- 	genrtl_continue_stmt, genrtl_switch_stmt,
- 	genrtl_asm_stmt): Likewise.
- 	* expr.c (expand_expr): Likewise.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* stmt.c (set_file_and_line_for_stmt): Take a location_t.
- 	(expand_decl_init): Adjust emit_line_note call.
- 
- 2003-07-07  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/darwin-tramp.asm:  Fix trampolines.  PR 10900.
- 
- 2003-07-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386-protos.h: Convert prototypes to ISO C90.
- 	* config/i386/i386.c: Likewise.
- 
- 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Use gen_int_mode instead of
- 	GEN_INT (trunc_int_for_mode (...)).
- 
- 2003-07-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (pushqi1_h8300hs): Optimize by pushing
- 	2 bytes and then subtract 2 from the stack pointer.
- 	(pushhi1_h8300hs): Likewise.
- 
- 2003-07-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (enable_coverage): Remove -DSELF_COVERAGE, add
- 	-frandom-seed.
- 	* configure: Regenerated.
- 	* Makefile.in: Remove extraneous comment.
- 	* toplev.c (randomize): Protect against potential multiple calls.
- 	* doc/invoke.texi (-frandom-seed): Document use for in coverage
- 	files.
- 
- 2003-07-07  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11198
- 	* alias.c (objects_must_conflict_p): Return 1 if the types have
- 	the same alias set, not if the alias sets only conflict.
- 
- 2003-07-07  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* cppcharset.c (ICONV_CONST): Define iff !HAVE_ICONV.
- 	(convert_cset): Change inbuf to type ICONV_CONST char.
- 	* Makefile.in (LIBS): Add LIBICONV.
- 
- 	* doc/invoke.texi (-falign-functions): Document that
- 	when n is zero then a machine-dependent default is used.
- 	(-falign-labels): Document that when n is zero then a
- 	machine-dependent default is used and that -falign-labels =1
- 	is equivalent to -fno-align-labels.
- 	(-falign-loops): Likewise.
- 	(-falign-jumps): Likewise.
- 
- 2003-07-06  Art Haas  <ahaas@airmail.net>
- 
- 	* f/global.c (ffeglobal_type_string_): Fix obsolete GCC array
- 	initializer syntax.
- 
- 2003-07-06  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR optimization/9812
- 	* rtl.h (mem_for_const_double): Delete prototype.
- 	* varasm.c (mem_for_const_double): Delete function.
- 	* config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68kelf.h,
- 	config/m68k/m68kv4.h, config/m68k/netbsd-elf.h
- 	(LEGITIMATE_PIC_OPERAND_P): Delete duplicate definitions.
- 	* config/m68k/m68k.h (LEGITIMATE_CONSTANT_P): Disallow XFmode.
- 	(LEGITIMATE_PIC_OPERAND_P): Delete CONST_DOUBLE tests.
- 	* config/m68k/m68k.md (movxf): Add reload_in_progress guard.  Add
- 	comment about confused support for XFmode constants.
- 
- 2003-07-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (fixup_reorder_chain): Call delete_dead_jumptables.
- 
- 2003-07-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Fix comment typos.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/i386/athlon.md: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/pentium.md: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/itanium1.md: Likewise.
- 	* config/ia64/itanium2.md: Likewise.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/m68hc11/m68hc11.c: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mips/sr71k.md: Likewise.
- 	* config/mips/t-iris5-as: Likewise.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/ns32k/NOTES: Fix a typo.
- 
- 2003-07-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* stmt.c: Convert remaining prototypes to ISO C90.
- 	* cfglayout.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* gcc.c: Likewise.
- 	* genemit.c: Likewise.
- 
- 	* basic-block.h: Convert prototypes to ISO C90.
- 	* c-parse.in: Likewise.
- 	* c-pragma.h: Likewise.
- 	* c-typeck.c: Likewise.
- 	* cfghooks.h: Likewise.
- 	* cfgloopanal.c: Likewise.
- 	* dbxout.h: Likewise.
- 	* debug.h: Likewise.
- 	* dwarf2asm.h: Likewise.
- 	* gcov.c: Likewise.
- 	* gengtype-lex.l: Likewise.
- 	* sched-int.h: Likewise.
- 	* timevar.c: Likewise.
- 
- 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.h (c_comon_handle_filename,
- 	c_common_missing_arguement): New.
- 	* c-lang.c (LANG_HOOKS_HANDLE_FILENAME,
- 	LANG_HOOKS_MISSING_ARGUMENT): New.
- 	* c-opts.c (missing_arg): Rename c_common_missing_argument,
- 	update to be an appropriate langhook.
- 	(c_common_handle_option): Don't handle filenames.
- 	(c_common_handle_filename): New.
- 	* hooks.c (hook_void_constcharptr,
- 	hook_bool_constcharptr_size_t_false): New.
- 	* hooks.h (hook_void_constcharptr,
- 	hook_bool_constcharptr_size_t_false): New.
- 	* langhooks-def.h (LANG_HOOKS_HANDLE_FILENAME,
- 	LANG_HOOKS_MISSING_ARGUMENT): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): Add handle_filename and
- 	missing_argument.
- 	* opts.c (handle_option): Don't handle filenames here, but ...
- 	(handle_options): ... here.
- 	(common_handle_option): Don't handle missing arguments here.
- 	* objc/objc-lang.c (LANG_HOOKS_HANDLE_FILENAME,
- 	LANG_HOOKS_MISSING_ARGUMENT): New.
- 
- 2003-07-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makfile.in: Remove traces of mbchar.
- 	* c-parse.in (MULTIBYTE_CHARS): Remove.
- 	* config.in (MULTIBYTE_CHARS): Remove.
- 	* configure: Remove --enable-mbchar.
- 	* configure.in: Remove --enable-mbchar.
- 	* mbchar.c, mbchar.h: Remove.
- 	* system.h: Poison MULTIBYTE_CHARS.
- 	* config/linux-aout.h (MULTIBYTE_CHARS): Remove.
- 	* config/linux.h (MULTIBYTE_CHARS): Remove.
- 	* config/svr4.h (MULTIBYTE_CHARS): Remove.
- 	* config/sparc/linux.h (MULTIBYTE_CHARS): Remove.
- 
- 2003-07-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* varray.c (varray_check_failed): Fix typo.
- 
- 	* unroll.c: Convert prototypes to ISO C90.
- 	* varasm.c: Likewise.
- 	* varray.c: Likewise.
- 	* varray.h: Likewise.
- 	* vmsdbgout.c: Likewise.
- 	* xcoffout.c: Likewise.
- 	* xcoffout.h: Likewise.
- 
- 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h: Add a local time stamp.
- 	(struct gcov_info): Add stamp field.
- 	(gcov_truncate): New.
- 	* coverage.c (read_counts_file): Skip the stamp.
- 	(coverage_begin_output): Write the stamp.
- 	(build_gcov_info): Declare and init the stamp.
- 	(coverage_finish): Only unlink data file, if stamp is zero.
- 	* gcov-dump.c (dump_file): Dump the stamp.
- 	* gcov.c (bbg_stamp): New.
- 	(release_structures): Clear bbg_stamp.
- 	(read_graph_file): Read stamp.
- 	(read_count_file): Check stamp.
- 	* libgcov.c (gcov_exit): Check stamp and truncate if needed.
- 
- 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (default_flag_random_seed): Remove.
- 	* toplev.h (local_tick): Declare.
- 	* tree.c (flag_random_seed, default_flag_random_seed): Move to
- 	toplev.c.
- 	(append_random_chars): Don't call default_flag_random_seed.
- 	* toplev.c (flag_random_seed): Define here. Set local_tick.
- 	(local_tick): Define.
- 	(randomize): New, moved from tree.c.
- 	(print_switch_values): Adjust.
- 	(toplev_main): Call randomize.
- 
- 2003-07-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (crc32_string): Declare.
- 	* tree.c (append_random_chars): Remove.
- 	(crc32_string): New.
- 	(get_file_function_name_long): Use crc32_string here.
- 
- 2003-07-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* gcc.c: Convert prototypes to ISO C90.
- 	* gcc.h: Likewise.
- 	* gcov-dump.c: Likewise.
- 	* gcov-iov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattrtab.h: Likewise.
- 	* ggc.h: Likewise.
- 	* global.c: Likewise.
- 	* graph.c: Likewise.
- 	* graph.h: Likewise.
- 	* hosthooks.h: Likewise.
- 	* hooks.h: Likewise.
- 	* hooks.c: Likewise.
- 	* hashtable.h: Likewise.
- 	* hashtable.c: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* integrate.h: Likewise.
- 	* integrate.c: Likewise.
- 	* input.h: Likewise.
- 	* ifcvt.c: Likewise.
- 	* jump.c: Likewise.
- 	* langhooks-def.h: Likewise.  Add extern to prototypes.
- 	* langhooks.c: Likewise.
- 	* langhooks.h: Likewise.
- 	* lcm.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop-init.c: Likewise.
- 	* loop-unroll.c: Likewise.
- 	* loop-unswitch.c: Likewise.
- 	* loop.c: Likewise.
- 	* loop.h: Likewise. Add extern to prototypes.
- 	* machmode.h: Likewise.
- 	* main.c: Likewise.
- 	* mbchar.c: Likewise.
- 	* mbchar.h: Likewise.
- 	* mkdeps.c: Likewise.
- 	* mkdeps.h: Likewise.
- 	* optabs.c: Likewise.
- 	* optabs.h: Likewise.
- 	* output.h: Likewise.
- 	* gccspec.c: Likwise.
- 	* postreload.c: Likewise.
- 	* prefix.c: Likewise.
- 	* prefix.h: Likewise.
- 	* print-rtl.c: Likewise.
- 	* print-tree.c: Likewise.
- 	* profile.c: Likewise.
- 	* read-rtl.c: Likewise.
- 	* real.c: Likewise.
- 	* real.h: Likewise.
- 	* recog.c: Likewise.
- 	* recog.h: Likewise.
- 	* reg-stack.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* regrename.c: Likewise.
- 	* regs.h: Likewise.
- 	* reload.c: Likewise.
- 	* reload.h: Likewise.
- 	* reload1.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.c: Likewise.
- 	* resource.h: Likewise.
- 	* rtl-error.c: Likewise.
- 	* rtl.c: Likewise.
- 	* rtl.h: Likewise.
- 	* rtlanal.c: Likewise.
- 	* sbitmap.c: Likewise.
- 	* sbitmap.h: Likewise.
- 	* scan-decls.c: Likewise.
- 	* scan.c: Likewise.
- 	* sched-deps.c: Likewise.
- 	* sched-ebb.c: Likewise.
- 	* sched-int.h: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* sched-vis.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* sreal.c: Likewise.
- 	* sreal.h: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* ssa-dce.c: Likewise.
- 	* ssa.c: Likewise.
- 	* ssa.h: Likewise.
- 	* stack.h: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* stringpool.c: Likewise.
- 	* target.h: Likewise.
- 	* timevar.c: Likewise.
- 	* timevar.h: Likewise.
- 	* tlink.c: Likewise.
- 	* tracer.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* tree-inline.h: Likewise.
- 	* tree.c: Likewise.
- 	* tree.h: Likewise.
- 
- 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (nonzero_bits1): Fix a warning.
- 
- 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_mov_length): Correct the
- 	length of loading CONST0_RTX (SFmode).
- 
- 2003-07-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* toplev.c (output_clean_symbol_name): Remove.
- 	* toplev.h (output_clean_symbol_name): Remove.
- 	* config/alpha/alpha.c (unicosmk_output_module_name): Use
- 	lbasename & clean_symbol_name.
- 
- 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ggc.h: Follow spelling conventions.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 
- 2003-07-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bt-load.c: Fix comment typos.
- 	* c-incpath.c: Likewise.
- 	* cfg.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfgloop.h: Likewise.
- 	* cfgloopmanip.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* et-forest.c: Likewise.
- 	* et-forest.h: Likewise.
- 	* expr.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattr.c: Likewise.
- 	* jump.c: Likewise.
- 	* langhooks.h: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop-unroll.c: Likewise.
- 	* loop-unswitch.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* rtl.def: Likewise.
- 	* rtlanal.c: Likewise.
- 	* sched-ebb.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* ssa.c: Likewise.
- 	* tracer.c: Likewise.
- 	* tree.c: Likewise.
- 
- 2003-07-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppcharset.c: Use the correct return type for the fallback iconv
- 	macro.
- 
- 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	Blame to Jan Hubicka  <jh@suse.cz>
- 	* cfglayout.c (record_effective_endpoints): Split insns before
- 	first basic block correctly.
- 
- 2003-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): When seeing if should use
- 	bitfield operations, use STRICT_ALIGNMENT, not SLOW_UNALIGNED_ACCESS
- 	if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
- 
- 2003-07-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* genattrtab.c (write_attr_get): Revert part of last patch to
- 	always write out a prototype.
- 
- 	* genemit.c (gen_split): Readd lost unused attributes in last
- 	patch.
- 
- 2003-07-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopmanip.c (force_single_succ_latches): Force latch to be
- 	different from header.
- 
- 2003-07-05  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c: Remove code protected by CRDS.
- 	* config/m68k/m68k.md: Likewise.
- 
- 2003-07-05  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR driver/11417
- 	* c-opts.c (permit_fortran_options): New.
- 	(c_common_init_options): Accept fortran front end options if
- 	it looks like we might be preprocessing Fortran.
- 	(c_common_handle_option): Don't reject switch if permit_fotran_options.
- 
- 2003-07-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (internal_dfa_insn_code): Output prototype.
- 	* genattrtab.c: Don't output unnecessary decls, output in ISO C.
- 	* genautomata.c: Likewise.
- 	* genconditions.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 
- 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplib.h (CPP_AT_NAME, CPP_OBJC_STRING): New token types.
- 	(struct cpp_options): Add narrow_charset, wide_charset,
- 	bytes_big_endian fields.  Remove EBCDIC field.
- 	(cpp_init_iconv, cpp_interpret_string): New external interfaces.
- 
- 	* cpphash.h: Include <iconv.h> if we have it, otherwise
- 	provide a dummy definition of iconv_t.
- 	(struct cpp_reader): Add narrow_cset_desc and wide_cset_desc fields.
- 	(_cpp_valid_ucn): Update prototype.
- 	(_cpp_destroy_iconv): New prototype.
- 
- 	* doc/cpp.texi: Document character set handling.
- 	* doc/cppopts.texi: Document -fexec-charset= and -fexec-wide-charset=.
- 	* doc/extend.texi: Delete entire section on multiline strings.
- 	Rewrite section on __FUNCTION__ etc now that these are
- 	variables in C.
- 
- 	* cppucnid.tab, cppucnid.pl: New files.
- 	* cppucnid.h: New generated file.
- 	* cppcharset.c: Include cppucnid.h.  Lots of commentary added.
- 	(iconv_open, iconv, iconv_close): Provide dummy definitions
- 	if !HAVE_ICONV.
- 	(SOURCE_CHARSET, struct strbuf, init_iconv_desc, cpp_init_iconv,
- 	_cpp_destroy_iconv, convert_cset, width_to_mask, convert_ucn,
- 	emit_numeric_escape, convert_hex, convert_oct, convert_escape,
- 	cpp_interpret_string, narrow_str_to_charconst,
- 	wide_str_to_charconst): New.
- 	(ucn_valid_in_identifier): Use a binary search through the
- 	ucnranges table defined in cppucnid.h, not a long chain of if
- 	statements.
- 	(_cpp_valid_ucn): Add a limit pointer.  Downgrade "universal
- 	character names are only valid in C++ and C99" to a warning.
- 	Issue the "meaning of \[uU] is different in traditional C"
- 	warning here.  Take care not to let iconv see an invalid UCS
- 	value if we get a malformed UCN.  Issue an error if we don't
- 	have iconv.
- 	(cpp_interpret_charconst): Moved here from cpplex.c.  Use
- 	cpp_interpret_string to do the heavy lifting.
- 
- 	* cppinit.c (cpp_create_reader): Initialize bytes_big_endian,
- 	narrow_charset, wide_charset fields of options structure.
- 	(cpp_destroy): Call _cpp_destroy_iconv.
- 	* cpplex.c (forms_identifier_p): Adjust call to _cpp_valid_ucn.
- 	(maybe_read_ucn, hex_digit_value, cpp_parse_escape): Delete.
- 	(cpp_interpret_charconst): Moved to cppcharset.c.
- 	* cpplib.c (dequote_string): Delete.
- 	(interpret_string_notranslate): New.
- 	(do_line, do_linemarker): Use interpret_string_notranslate.
- 
- 	* Makefile.in (cppcharset.o): Depend on cppucnid.h.
- 
- 	* c-common.c (fname_string, combine_strings): Delete.
- 	* c-common.h (fname_string, combine_strings): Delete prototypes.
- 	* c-lex.c (ignore_escape_flag): Delete.
- 	(cb_ident): Use cpp_interpret_string, not lex_string.
- 	(get_nonpadding_token): New function.
- 	(c_lex): Handle Objective-C @-prefixed identifiers and strings here.
- 	Adjust calls to lex_string.  Don't write *value twice.
- 	(lex_string): Now handles string constant concatenation.
- 	Most of the work handed off to cpp_interpret_string.
- 	Call fix_string_type here.
- 	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): Replace with
- 	FUNC_NAME, throughout.
- 	(OBJC_STRING): New token type.
- 	(primary:STRING): No need to call fix_string_type here.
- 	(primary:objc_string): Make that OBJC_STRING.
- 	(objc_string nonterminal): Delete.
- 	(yylexname): Delete code to handle fake string constants.
- 	(yylexstring): Delete entirely.
- 	(_yylex): Handle CPP_AT_NAME and CPP_OBJC_STRING.  No need
- 	to handle CPP_ATSIGN.
- 
- 	* c.opt (-fexec-charset=, -fwide-exec-charset=): New options.
- 	* c-opts.c (missing_arg, c_common_handle_option): Handle
- 	OPT_fexec_charset_ and OPT_fwide_exec_charset_.
- 	(c_common_init): Set cpp_opts->bytes_big_endian, not
- 	cpp_opts->EBCDIC.  Call cpp_init_iconv.
- 	(print_help): Document -fexec-charset= and -fexec-wide-charset=.
- 	(TARGET_EBCDIC): Delete default definition.
- 
- 	* objc/objc-act.c (build_objc_string_object): No need to
- 	handle string constant concatenation.
- 
- 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/install.texi: Fix typos.
- 	* doc/invoke.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2003-07-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/pa/fptr.c: Fix comment typos.
- 	* config/pa/pa-64.h: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pa/pa.h: Likewise.
- 	* config/rs6000/603.md: Likewise.
- 	* config/rs6000/7xx.md: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 	* config/rs6000/freebsd.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/rs6000/spe.h: Likewise.
- 
- 2003-07-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/2064.md: Change GNU CC to GCC.
- 	* config/s390/2084.md: Likewise.
- 	* config/s390/fixdfdi.h: Likewise.
- 	* config/s390/linux.h: Likewise.
- 	* config/s390/s390-modes.def: Likewise.
- 	* config/s390/s390-protos.h: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/s390/s390.h: Likewise.
- 	* config/s390/s390.md: Likewise.
- 	* config/s390/s390x.h: Likewise.
- 
- 2003-07-04  Jeff Law  <law@redhat.com>
- 
- 	PR c/11428
- 	* expr.c (do_store_flag): Pass in the correct result type
- 	when calling fold_single_bit_test.
- 	* fold-const.c (fold_single_bit_test): Use result_type for the
- 	result when folding a sign bit test.
- 
- 2003-07-04  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.c (common_handle_options): Negate sense of -falign- switches.
- 
- 2003-07-04  H.J. Lu <hongjiu.lu@intel.com>
- 
- 	* Makefile.in: Replace PWD with PWD_COMMAND.
- 
- 2003-07-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopanal.c (count_strange_loop_iterations): New static function.
- 	(constant_iterations, count_loop_iterations, simple_loop_exit_p):
- 	Handle strange loops.
- 
- 2003-07-04  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* install.texi: Even the g77 manpage is derived from
- 	the full g77 manual.
- 
- 2003-07-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ABOUT-NLS: Delete.
- 	* intl: Delete entire directory.
- 	* aclocal.m4: Include ../config/gettext.m4.  Delete
- 	AC_ISC_POSIX, AM_LANGINFO_CODESET, jm_GLIBC21, AM_LC_MESSAGES,
- 	AM_PATH_PROG_WITH_TEST, AM_WITH_NLS, and AM_GNU_GETTEXT.
- 	* configure.in: Use CY_GNU_GETTEXT, not AM_GNU_GETTEXT.
- 	Remove intl/Makefile from all_outputs.
- 	* configure, config.in: Regenerate.
- 	* Makefile.in: Expunge all references to intl subdirectory.
- 	Add -I../intl to INCLUDES.
- 	* intl.h: Include libintl.h if and only if ENABLE_NLS is defined.
- 
- 2003-07-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Define.
- 	* config/rs6000/aix52.h (TARGET_C99_FUNCTIONS): Likewise.
- 
- 2003-07-04  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR c++/5287, PR c++/7910, PR c++/11021
- 	* config/i386/winnt.c (ix86_handle_dll_attribute): Don't add
- 	dllimport attribute if function is defined at declaration, but
- 	report error instead. Likewise for dllimport'd variable
- 	definitions.  Set implicit TREE_PUBLIC for dllimport'd variables
- 	declared within functions, Report error if dllimport or dllexport
- 	symbol is not global.
- 	(i386_pe_dllimport_p): Ignore dllimport attribute of functions
- 	if defined after declaration or if inlined. Don't allow definition
- 	of static data members of C++ classes. Don't dllimport virtual
- 	methods.
- 	(i386_pe_mark_dllexport): Warn about inconsistent dll attributes.
- 	(i386_pe_mark_dllimport): Remove unnecessary checks.
- 	(i386_pe_encode_section_info): Warn if the dllimport attribute
- 	and symbol prefix have been instantiated and then overridden.
- 
- 	* doc/extend.texi: Document dllimport and dllexport attributes.
- 
- 	* config/i386/winnt.c (i386_pe_output_labelref): Fix indents.
- 
- 2003-07-03 Uwe Stieber <uwe@kaos-group.de>
- 
- 	* config/kaos.h (CPP_PREDEFINES): Delete.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 
- 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c: Include toplev.h after c-tree.h.
- 	* c-common.c: Likewise.
- 	(GCC_DIAG_STYLE): Undef.
- 	* c-semantics.c (GCC_DIAG_STYLE): Define.
- 	* c-tree.h (GCC_DIAG_STYLE): Likewise.
- 	* diagnostic.h (inform): Move prototype to toplev.h.
- 	* jump.c: Include diagnostic.h before toplev.h.
- 	* toplev.h (GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG): Define.
- 	(warning, error, fatal_error, pedwarn, sorry, inform,
- 	error_for_asm, warning_for_asm): Mark with ATTRIBUTE_GCC_CXXDIAG.
- 
- 2003-07-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfglayout.c (cfg_layout_duplicate_bb): Do not update frequencies
- 	at all if edge is not specified.
- 	(can_copy_bbs_p, copy_bbs): New.
- 	* cfglayout.h (can_copy_bbs_p, copy_bbs): Declare.
- 	* cfgloop.c (get_loop_body): Comment more precisely.
- 	* cfgloopmanip.c (copy_bbs, record_exit_edges): Removed.
- 	(scale_bbs_frequencies): Fix comment typo.
- 	(can_duplicate_loop_p): Use can_copy_bbs_p.
- 	(duplicate_loop_to_header_edge): Simplify by using copy_bbs.
- 
- 2003-07-03  Devang Patel <dpatel@apple.com>
- 
- 	* c-opts.c (c_common_parse_file): Remove extra
- 	debug_hooks->start_source_file call.
- 
- 2003-07-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_trunc, real_floor, real_ceil): New functions
- 	to implement trunc, floor and ceil respectively.
- 	* real.h (real_trunc, real_floor, real_ceil): Prototype here.
- 	* builtins.c (integer_valued_real_p): New function to test if
- 	a floating point expression has an integer valued result.
- 	(fold_trunc_transparent_mathfn): Optimize foo(foo(x)) as
- 	foo(x) where foo is an integer rounding function.  Similarly,
- 	optimize foo(bar(x)) as bar(x), and foo((double)(int)x) as
- 	(double)(int)x when both foo and bar are integer rounding
- 	functions and we don't need to honor errno.
- 	(fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil):
- 	New functions to fold trunc, floor and ceil.
- 	(fold_builtin): Use fold_builtin_trunc to fold BUILT_IN_TRUNC*,
- 	fold_builtin_floor to fold BUILT_IN_FLOOR* and fold_builtin_ceil
- 	to fold BUILT_IN_CEIL*.
- 	* fold-const.c (tree_expr_nonnegative_p): Handle FLOAT_EXPR and
- 	the remaining integer rounding functions.
- 
- 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_partial_nregs): Use
- 	SPARC_INT_ARG_MAX to determine where to split unnamed
- 	complex FP arguments.
- 
- 2003-07-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (create_basic_block, merge_blocks_nomove): Kill.
- 	* cfgcleanup.c (merge_blocks): Rename to merge_blocks_move.
- 	(merge_blocks_move_predecessor_nojumps,
- 	 merge_blocks_move_successor_nojumps): Use merge_blocks.
- 	(try_optimize_cfg): Use merge_blocks_move.
- 	* cfgrtl.c (create_basic_block): Rename to rtl_create_basic_block.
- 	(merge_blocks_nomove): Rename to rtl_merge_blocks.
- 	(cfg_layout_create_basic_block): New.
- 	(rtl_can_merge_blocks): New.
- 	(cfg_layout_split_block): Do not alloc aux by hand.
- 	* cfghooks.h (cfg_hooks): Add create_basic_block, can_merge_blocks_p,
- 	merge_blocks.
- 	(create_basic_block, can_merge_blocks_p, merge_blocks): New macros.
- 	* cfglayout.c (cfg_layout_duplicate_bb): Do not allocate aux by hand.
- 	* cfgloopmanip.c (loop_split_edge_with): Likewise.
- 	* ifcvt.c (merge_if_block): Use merge_blocks_nomove.
- 
- 	* basic-block.h (basic_block_def): Add field 'rbi'.
- 	* bb-reorder.c (find_traces, rotate_loop, mark_bb_visited,
- 	find_traces_1_round, copy_bb, connect_traces): Update use of rbi.
- 	* cfg.c (entry_exit_blocks): Add new field.
- 	* cfglayout.c: Include alloc-pool.h;
- 	(cfg_layout_pool): New.
- 	(record_effective_endpoints, fixup_reorder_chain,
- 	fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update use
- 	of rbi.
- 	(cfg_layout_initialize_rbi): New function.
- 	(cfg_layout_initialize): Use it.
- 	(cfg_layout_finalize): Clear rbi fields.
- 	* cfglayout.h (RBI): Kill.
- 	(cfg_layout_initialize_rbi): Declare.
- 	* cfgloopmanip.c (copy_bbs): Use rbi.
- 	(record_exit_edges): Likewise.
- 	(duplicate_loop_to_header_edge): Likewise.
- 	* cfgrtl.c (cfg_layout_create_basic_block): Use
- 	cfg_layout_initialize_rbi.
- 	(cfg_layout_split_block): Use rbi.
- 	(cfg_layout_delete_block): Likewise.
- 	* loop-init.c (loop_optimizer_finalize): Likewise.
- 	* loop-unswitch.c (unswitch_loop): Likewise.
- 	* tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
- 
- 	* cfgrtl.c: Update comments.
- 	(try_redirect_by_replacing_jump): New argument.
- 	(redirect_branch_edge): Break out from ...
- 	(rtl_redirect_edge_and_branch): ... this one.
- 	(update_cfg_after_block_merging): Break out from ...
- 	(rtl_merge_blocks): ... this one.
- 	(cfg_layout_split_edge): New.
- 	(cfg_layout_merge_blocks): New.
- 	(cfg_layout_can_merge_blocks_p): New.
- 	(cfg_layout_redirect_edge_and_branch): Reorganize.
- 	(cfg_layout_rtl_cfg_hooks): Fill in.
- 	(cfg_layout_delete_block): Kill barriers.
- 	* cfganal.c (can_fallthru): Deal with exit blocks
- 	* cfglayout.c (cfg_layout_function_header): New function
- 	(record_effective_endpoints): Record function header.
- 	(fixup_reorder_chain): Fixup dead jumptables; place header
- 
- 	* basic-block.h (CLEANUP_CFGLAYOUT): New flag.
- 	* bb-reorder.c (cfg_layout_initialize): Update call.
- 	* cfgcleanup.c (try_optimize_cfg): Supress optimizations of fallthru
- 	edges in cfglayout mode.
- 	* cfglayout.c (cleanup_unconditional_jumps): Kill.
- 	(cfg_layout_initialize): Kill agrument loops; use cfgcleanup.
- 	* cfglayout.h (cfg_layout_initialize): Update prototype.
- 	* cfgloop.h (CP_INSIDE_CFGLAYOUT): Kill.
- 	* cfgloopmanip.c (loop_split_edge_with): Use split_edge.
- 	* flow.c (propagate_block): Do not crash when basic block ends
- 	by first insn in the chain.
- 	* loop-init.c (loop_optimizer_init):  First enter cfglayout mode; later
- 	do loop discovery.
- 	* tracer.c (tracer): Update call of cfg_layout_initialize.
- 
- 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in: Use dependency variables in lieu of explicit
- 	files throughout.
- 
- 2003-07-03  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* rtl.h (ECF_*, flags_from_decl_or_type): Move from here...
- 	* tree.h: ...to here.
- 
- 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/s390/2064.md: Fix comment typos.
- 	* config/s390/2084.md: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/s390/s390.md: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sh/sh.md: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/stormy16/stormy-abi: Fix a typo.
- 
- 2003-07-03  Kelley Cook  <kelleycook@wideopenwest.org>
- 
- 	* Makefile.in (ifcvt.o): Depend on OPTABS_H.
- 
- 2003-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/mips/mips.h (save_argv): Delete.
- 
- 2003-07-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/10700
- 	* fold-const.c (extract_muldiv_1): There's nothing that can be done
- 	if the expression is a SAVE_EXPR.
- 
- 2003-07-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.c: Fix comment typos.
- 	* config/m68hc11/m68hc11.c: Likewise.
- 	* config/m68hc11/m68hc11.h: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mcore/mcore.h: Likewise.
- 	* config/mcore/mcore.md: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/mips/netbsd.h: Likewise.
- 	* config/mn10300/mn10300.c: Likewise.
- 
- 2003-07-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* dbxout.c (pending_bincls): Move decl down inside
- 	DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO section.
- 
- 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* rtl.h (NOTE_DATA): Refer to whole union.
- 	* emit-rtl.c (emit_note): Use memset to clear NOTE_DATA.
- 
- 2003-07-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11381
- 	* simplify-rtx.c (simplify_relational_operation): Check that
- 	two equal operands have no side-effects before simplifying
- 	the comparison.
- 
- 2003-07-02  Jeff Law  <law@redhat.com>
- 
- 	* expr.c (do_store_flag): Remove special case folding for
- 	single bit tests.  Instead call back into the commonized folder
- 	routine.
- 	* fold-const.c (fold_single_bit_test): New function, mostly
- 	extracted from do_store_flag, with an additional case extracted
- 	from fold.
- 	(fold): Call fold_single_bit_test appropriately.
- 	* tree.h (fold_single_bit_test): Prototype.
- 
- 2003-07-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* system.h: Include filenames.h.
- 	(IS_DIR_SEPARATOR, IS_ABSOLUTE_PATHNAME): Don't define.
- 	(DIR_SEPARATOR, DIR_SEPARATOR_2): If not already defined,
- 	define based on HAVE_DOS_BASED_FILE_SYSTEM.
- 	* config/i386/xm-cygwin.h, config/i386/xm-djgpp.h
- 	* config/i386/xm-mingw32.h: Don't define
- 	HAVE_DOS_BASED_FILE_SYSTEM,
- 	DIR_SEPARATOR, or DIR_SEPARATOR_2.
- 	* doc/hostconfig.texi: Update to match.
- 
- 	* cppfiles.c, gcc.c, gensupport.c, protoize.c,
- 	config/i386/cygwin.h:
- 	Use IS_ABSOLUTE_PATH throughout.
- 	* gcc.c (DIR_UP): Delete, unused.
- 	* protoize.c (IS_SAME_PATH): Define in terms of
- 	FILENAME_CMP.
- 	(is_abspath): Delete.
- 
- 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/emmintrin.h: Fix comment typos.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/itanium2.md: Likewise.
- 
- 2003-07-02  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* dbxout.c (pending_bincls): Replace DBX_USE_BINCLS with
- 	DBX_USE_BINCL.
- 	(emit_bincl_stab): Same.
- 	(emit_pending_bincls): Same.
- 
- 2003-07-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_mov_length): Fix the length of
- 	loading CONST0_RTX (SFmode).
- 	* config/h8300/h8300.h (CONST_DOUBLE_OK_FOR_LETTER_P): Change
- 	'G' to CONST0_RTX (SFmode).
- 	* config/h8300/h8300.md (movsf_h8300): Change the first
- 	constraint to 'G'.
- 	(movsf_h8300h): Likewise.
- 
- 2003-07-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.h (c_common_init_options): New prototype.
- 	* c-opts.c (deferred_size): Remove.
- 	(defer_opt): Array is now pre-allocated.
- 	(c_common_init_options): Pre-allocate deferred_opts.  Make
- 	lang_flags unsigned.
- 	(push_command_line_options): Free deferred_opts.
- 	* hooks.c (hook_uint_uint_constcharptrptr_0): New.
- 	* hooks.h (hook_uint_uint_constcharptrptr_0): New.
- 	* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): Update.
- 	* langhooks.h (struct lang_hooks): New prototype for init_options.
- 	* main.c (main): Cast argv.
- 	* opts.c (handle_option, handle_options): Update prototypes.
- 	(decode_options): save_argc, save_argv are not global.  Constify.
- 	* opts.h (decode_options): New prototype.
- 	* toplev.c (general_init): New protoype.
- 	(save_argv): Make static.
- 	(save_argc): Remove.
- 	(print_switch_values, general_init): Constify.
- 	(toplev_main): Save argv.
- 	* toplev.h (toplev_main): Update prototype.
- 	(save_argc, save_argv): Remove.
- 
- 2003-07-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* dbxout.c (pending_bincls): Guard with DBX_USE_BINCLS.
- 	(emit_bincl_stab): Same.
- 	(emit_pending_bincls): Same.
- 
- 2003-07-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/11072
- 	* ginclude/stddef.h (offsetof): Remove cast to 'char &'. Explain why.
- 
- 2003-07-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* dbxout.c (pending_bincls): Only define if DBX_DEBUGGING_INFO.
- 
- 2003-07-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11210
- 	* expr.c (handled_component_p) [NOP_EXPR]: Add ??? note
- 	about the behaviour with regard to bitfields.
- 	* fold-const (decode_field_reference): Record outermost type in
- 	case the expression is a NOP. Strip all NOPs. Set the signedness
- 	to that of the outermost type (if any) when the bitsize is equal
- 	to the size of the type.
- 
- 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (addsi3): Remove workaround for adds of -32768.
- 	(addsi3_internal, adddi3, adddi3_internal_2): Likewise.
- 	(adddi3_internal_3, addsi3_internal_2): Likewise.
- 
- 2003-07-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (machine_function): Add new fields:
- 	ignore_hazard_length_p and all_noreorder_p.
- 	(mips_flag_delayed_branch): New variable.
- 	(override_options): Treat '/' as an operand punctuation character.
- 	Set up mips_flag_delayed_branch.
- 	(print_operand): Handle '/'.
- 	(mips_output_function_prologue): Put the whole function in
- 	.set noreorder and .set nomacro if all_noreorder_p is true.
- 	(mips_output_function_epilogue): End the noreorder/nomacro sequence.
- 	(mips16_optimize_gp): Remove "first insn" parameter.
- 	(mips16_lay_out_constants): New function, split out from mips_reorg.
- 	(mips_avoid_hazard, mips_avoid_hazards): New functions.
- 	(mips_reorg): For mips16 code, call mips16_lay_out_constant
- 	and (optionally) mips16_optimize.  If TARGET_EXPLICIT_RELOCS,
- 	do delayed-branch scheduling followed by hazard detection.
- 	(mips_adjust_insn_length): Only account for hazards if
- 	!ignore_hazard_length_p.
- 	(mips_output_load_label): Add a nop to the o32 sequence if
- 	the target suffers from load delays.
- 	(mips_output_conditional_branch): Add %/ to the end of branches.
- 	(mips_output_division): Fill the branch delay slot with %#.
- 	* config/mips/mips.md: Remove redundant '%*' from mips16 branch
- 	instructions.  End all other %* branches with %/.
- 	(ffssi2, ffsdi2): Fix lengths.
- 	(truncdisi2, truncdihi2, truncdiqi2): Add store attributes.
- 	(fix_truncdfsi2_macro): Turn off .set nomacro if appropriate.
- 	(fix_truncsfsi2_macro): Likewise.
- 	(mov_lwl): Set hazard to "none".
- 	(ashldi3_internal): Fill the branch delay slot with %#.
- 	(ashrdi3_internal, lshrdi3_internal): Likewise.
- 	(exception_receiver): Explicitly set $28.
- 	(hazard_nop): New pattern.
- 
- 2003-07-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_finalize_unit): Set current_function_decl
- 	before calling tree_inlinable_function_p.
- 
- 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (irix_stdio_va_list): Apply to IRIX 6.5
- 	<internal/stdio_core.h> too.
- 	(stdio_va_list): Apply to IRIX 6.5 <internal/stdio_core.h> and
- 	<internal/wchar_core.h> too.
- 	Substitute va_list uses in inline definition.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5.h (SET_FILE_NUMBER): Moved here from iris3.h.
- 	Undef before redefinition.
- 	(LABEL_AFTER_LOC): Likewise.
- 	(DEFAULT_SIGNED_CHAR): Likewise.
- 	(ASM_OUTPUT_ASCII): Moved here from iris4.h.
- 	Fix IRIX spelling.
- 
- 	* config/mips/iris3.h: Remove, unused.
- 	* config/mips/iris4.h: Likewise.
- 
- 	* config/mips/mips.h (STACK_ARGS_ADJUST): Remove, unused.
- 
- 	* config/mips/iris5.h (TARGET_DEFAULT): Move ...
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here to
- 	target_cpu_default.
- 
- 	* config/mips/iris5.h: Move explicit includes ...
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): ... here.
- 
- 	* config/mips/iris6.h (MIPS_ISA_DEFAULT, MIPS_ABI_DEFAULT): Move ...
- 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
- 	tm_defines.
- 
- 	* config/mips/iris6.h (TARGET_DEFAULT): Move ...
- 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here to
- 	target_cpu_default.
- 
- 	* config/mips/iris6.h: Fix IRIX spelling.
- 	(MULTILIB_DEFAULTS): Undef before redefinition.
- 
- 	* config/mips/iris6.h: Move explicit includes ...
- 	* config.gcc (mips-sgi-irix6*, mips-sgi-irix5cross64): ... here.
- 
- 2003-07-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
- 	cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
- 	Use next_needed field instead of aux to maintain the queue.
- 	* cgraph.h (cgraph_node): Add next_needed.
- 	(cgraph_varpool_node): Add next_needed; remove aux.
- 	* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
- 
- 2003-07-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_finalize_function): Set finalized.
- 	(cgraph_finalize_function): Do not examine inlinablility.
- 	(cgraph_finalize_compilation_unit): Do it here.
- 	* cgraph.h (cgraph_local_info): Add finalized field.
- 
- 2003-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* ggc-common.c (gt_pch_save): Cast MAP_FAILED to void *.
- 	(gt_pch_restore): Likewise.
- 
- 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c: Fix comment typos.
- 	* config/alpha/elf.h: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/t-arm-coff: Likewise.
- 	* config/arm/t-strongarm-pe: Likewise.
- 	* config/arm/xscale-elf.h: Likewise.
- 	* config/avr/avr.h: Likewise.
- 
- 2003-07-01  Jeff Law  <law@redhat.com>
- 
- 	* stmt.c (any_pending_cleanups): Remove another redundant test.
- 
- 2003-07-01  David Edelsohn  <edelsohn@gnu.org>
- 	    J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/rs6000/rs6000.md (ctr{s,d}i_internal?): Add earlyclobber
- 	for MEM case.
- 
- 2003-07-01  Devang Patel  <dpatel@apple.com>
- 
- 	* dbxout.c (DBXOUT_DECR_NESTING): Emit pending bincls, if required.
- 	(binclstatus): New.
- 	(struct dbx_file): New members - bincl_status, pending_bincl_name and
- 	prev.
- 	(pending_bincls): New.
- 	(dbxout_init): Initialize new dbx_file members.
- 	(dbxout_start_source_file): Same.
- 	(emit_bincl_stab): New function.
- 	(emit_pending_bincls): Same.
- 	(emit_pending_bincls_if_required): Same.
- 	(dbxout_end_source_file): Emit EINCL stab only if BINCL is  already
- 	processed.
- 	(dbxout_begin_block): Emit pending BINCL stabs.
- 	(dbxout_end_block): Same.
- 	(dbxout_function_decl): Same.
- 	(dbxout_continue): Same.
- 	(dbxout_type): Same.
- 	(dbxout_class_name_qualifiers): Same.
- 	(dbxout_symbol): Same.
- 	(dbxout_symbol_location): Same.
- 	(dbxout_parms): Same.
- 
- 2003-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-semantics.c (genrtl_case_label): Fix format specifier bug.
- 	* cfgrtl.c (rtl_verify_flow_info_1): Likewise.
- 
- 2003-07-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* fold-const.c: Convert prototypes to ISO C90.
- 	* function.c: Likewise.
- 	* function.h: Likewise.
- 
- 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/contrib.texi: Fix typos.
- 	* doc/invoke.texi: Likewise.
- 	* doc/passes.texi: Likewise.
- 	* doc/sourcebuild.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2003-07-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Fix comment typos.
- 	* bb-reorder.c: Likewise.
- 	* c-format.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfghooks.h: Likewise.
- 	* cfgloop.c: Likewise.
- 	* cfgloopmanip.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 	* cgraph.h: Likewise.
- 	* cgraphunit.c: Likewise.
- 	* combine.c: Likewise.
- 	* convert.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* df.c: Likewise.
- 	* df.h: Likewise.
- 	* diagnostic.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* et-forest.h: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.h: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* loop-unroll.c: Likewise.
- 	* loop-unswitch.c: Likewise.
- 	* loop.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* optabs.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* ra-colorize.c: Likewise.
- 	* ra-rewrite.c: Likewise.
- 	* ra.h: Likewise.
- 	* regmove.c: Likewise.
- 	* reload.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* sched-ebb.c: Likewise.
- 	* sched-int.h: Likewise.
- 	* sched-vis.c: Likewise.
- 	* sreal.c: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* ssa.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* value-prof.c: Likewise.
- 	* value-prof.h: Likewise.
- 
- 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* rtl.h (emit_line_note_after): Remove.
- 	(emit_note_copy_after, emit_note_copy): New.
- 	* emit-rtl.c (reorder_insns_with_line_notes): Replace
- 	emit_line_note_after with emit_note_copy_after.
- 	(emit_insn_after_with_line_notes): Likewise.
- 	(emit_line_note_after): Kill.
- 	(emit_note_copy_after): New.
- 	(emit_note_copy): New.
- 	* function.c (emit_return_into_block): Use emit_note_copy_after.
- 	(thread_prologue_and_epilogue_insns): Likewise.
- 	* integrate.c (expand_inline_function): Use emit_note_copy.
- 	(copy_insn_list): Likewise.
- 	* unroll.c (copy_loop_body): Likewise.
- 	* cfglayout.c (duplicate_insn_chain): Likewise.
- 
- 2003-07-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-tree.h (define_label): Replace filename and lineno arguments
- 	with a location_t.
- 	* c-decl.c (poplevel): Adjust define_label call.
- 	(pop_label_level): Likewise.
- 	(define_label): Replace filename and lineno arguments with a
- 	location_t.
- 	(store_parm_decls): Use DECL_SOURCE_LOCATION.
- 	* c-parse.in (label): Adjust define_label call.
- 
- 2003-07-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/sol2.h, config/alpha/alpha.h, config/alpha/linux.h,
- 	config/i386/i386-interix.h, config/ia64/hpux.h, config/mips/iris6.h,
- 	config/mips/linux.h, config/mips/mips.h, config/pa/pa-hpux.h,
- 	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h, config/pa/pa-pro-end.h,
- 	config/pa/pa.h, config/pa/rtems.h: Use c_dialect_ macros.
- 
- 2003-07-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* final.c: Convert prototypes to ISO C90.
- 	* flow.c: Likewise.
- 	* flags.h: Likewise.
- 	* gcov-io.c: Likewise.
- 	* gcov-io.h: Likewise.
- 
- See ChangeLog.9 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.11 gcc-4.1.0/gcc/ChangeLog.11
*** gcc-4.0.2/gcc/ChangeLog.11	Thu Jul  1 12:47:14 2004
--- gcc-4.1.0/gcc/ChangeLog.11	Thu Jan  1 00:00:00 1970
***************
*** 1,21016 ****
- 2004-06-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a
- 	constant as a sequence of additions depending upon the rtx_costs.
- 	(synth_mult): Update the "observed" cost of a shift, based upon
- 	the above optimization.
- 
- 2004-06-28  Geoffrey Keating  <geoffk@apple.com>
- 	    Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	PR 15813
- 	* dwarf2out.c (reg_save): Output DW_CFA_same_value when a
- 	register is saved in itself.
- 	(initial_return_save): If the return address is a register,
- 	it's already there, don't bother to mention it in the CFI.
- 	(struct queued_reg_save): Add field saved_reg.
- 	(struct reg_saved_in_data): New.
- 	(regs_saved_in_regs): New.
- 	(num_regs_saved_in_regs): New.
- 	(queue_reg_save): Add extra parameter to specify register saved
- 	in register.  Remove duplicate entries from queue.  Add comment
- 	for function.
- 	(flush_queued_reg_saves): Handle registers saved in registers.
- 	Update regs_saved_in_regs.  Add comment for function.
- 	(clobbers_queued_reg_save): Add comment for function.  Allow
- 	for regs_saved_in_regs.
- 	(reg_saved_in): New.
- 	(dwarf2out_frame_debug_expr): Handle saving registers in other
- 	registers.
- 	(dwarf2out_frame_debug): Reset regs_saved_in_regs.
- 	* unwind-dw2.c (execute_cfa_program): Correct handling of
- 	DW_CFA_same_value.  Add FIXME comment about incorrect implementation
- 	of DW_CFA_restore_extended.
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Let
- 	dwarf2out_frame_debug_expr see instructions that save registers
- 	in other registers or save those other registers in memory.
- 
- 	* unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h.
- 	(_Unwind_FrameState): Likewise.
- 	* unwind-dw2.h: New.
- 	* Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h.
- 	* config/rs6000/darwin-fallback.c: New file.
- 	* config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
- 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o.
- 
- 2004-07-01  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
- 	(function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
- 	calculating gpr size for altivec.  Simplify and correct
- 	rs6000_mixed_function_arg calls.  Call rs6000_mixed_function_arg
- 	for ABI_V4 gpr case too.  Fix off-by-one error in long double
- 	reg test.  Generate the correct PARALLEL to handle long double
- 	for ABI_AIX 32-bit.  Use this for -m32 -mpowerpc64 fpr case too.
- 	(function_arg_partial_nregs): Align before calculating regs left.
- 	Don't return info on partial fprs when we need info on gprs.
- 	Correct long double fpr off-by-one error.
- 
- 2004-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-protos.h (prefetch_operand): Add prototype.
- 	* pa.c (prefetch_operand): New function.
- 	* pa.h (prefetch_operand): Add to PREDICATE_CODES.
- 	* pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns.
- 
- 2004-06-30  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Remove x_whole_function_mode_p.
- 	* c-decl.c (store_parm_decls): Don't set it.
- 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
- 	* passes.c (rest_of_compilation): Don't check it.
- 	* stmt.c (expand_fixup): Likewise.
- 	* function.c (fixup_var_refs_insn): Remove unused variable.
- 
- 2004-06-30  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.h (immediate_size_expand): Delete.
- 	* stor-layout.c (immediate_size_expand): Delete.
- 	(variable_size): Don't look at it.
- 	* c-decl.c (push_parm_decl): Don't frob immediate_size_expand.
- 	(start_function): Likewise.
- 	* cfgexpand.c (construct_exit_block): Likewise.
- 	* function.c (init_function_start, expand_function_end): Likewise.
- 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
- 
- 2004-06-30  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (gimplify_compound_lval): Take fallback argument
- 	instead of want_lvalue.
- 	(gimplify_call_expr): Take want_value argument instead of test
- 	function.  Gimplify arguments to val only if reg_type; otherwise
- 	allow lvalue forms.
- 	(gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr
- 	calls.
- 	* tree-gimple.c: Update GIMPLE grammer.  Use true/false not 1/0.
- 	Tidy commentary globally.
- 	(get_call_expr_in): Remove RETURN_EXPR handling.  Tidy.
- 	* tree-gimple.h (is_gimple_call_addr): Mark extern.
- 
- 	* gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo.
- 
- 2004-06-30  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-gimple.c (right_assocify_expr): Kill
- 	(rationalize_compound_expr): Kill.
- 	* tree-gimple.h: Likewise.
- 	* tree-inline.c (expand_call_inline): Don't call it.
- 
- 	* function.h (struct function): Remove x_last_parm_insn,
- 	inl_last_parm_insn.
- 	(last_parm_insn): Remove.
- 	* function.c (free_after_compilation): Don't clear them.
- 	(fixup_var_refs_insn, assign_parms): Don't set them.
- 
- 	* function.c, rtl.h (get_first_nonparm_insn): Remove.
- 
- 2004-06-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.h (check_function_format): Remove first parameter.
- 	* c-format.c (format_check_context): Remove status.
- 	(check_format_info, check_format_info_main,
- 	maybe_read_dollar_number, avoid_dollar_number,
- 	finish_dollar_format_checking, check_format_types,
- 	check_function_format): Remove first parameter.  Don't use
- 	status_warning.
- 	(check_format_arg): Don't use status_warning.
- 	(status_warning): Remove.
- 	* c-common.c (check_function_arguments): Update call to
- 	check_function_format.
- 
- 2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc-protos.h (output_cbranch): Constify return
- 	value.
- 	(output_v9branch): Likewise.
- 	(sparc_v8plus_shift): Likewise.  Rename into output_v8plus_shift.
- 	* config/sparc/sparc.c (output_cbranch): Constify return value.
- 	Prettify output for delay slots.
- 	(output_v9branch): Likewise.
- 	(sparc_v8plus_shift): Constify return value.  Rename into
- 	output_v8plus_shift.
- 	* config/sparc/sparc.md (ashldi3_v8plus): Adjust call to
- 	sparc_v8plus_shift.
- 	(ashrdi3_v8plus): Likewise.
- 	(lshrdi3_v8plus): Likewise.
- 	(call_address_struct_value_sp32): Prettify output for delay slots.
- 	(call_symbolic_struct_value_sp32): Likewise.
- 	(call_address_untyped_struct_value_sp32): Likewise.
- 	(call_symbolic_untyped_struct_value_sp32): Likewise.
- 
- 2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* common.opt (ftree-loop-optimize): New flag.
- 	* tree-flow.h (kill_redundant_phi_nodes): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Add pass_loop.
- 	* tree-pass.h (pass_loop_init, pass_loop_done): Declare.
- 	* tree-ssa-loop.c (current_loops): New variable.
- 	(tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init,
- 	tree_ssa_loop_done): New functions.
- 	(pass_loop, pass_loop_init, pass_loop_done): New passes.
- 	* tree-ssa.c (kill_redundant_phi_nodes): Export.
- 	* doc/invoke.texi (-ftree-loop-optimize): Document.
- 
- 2004-06-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-ch.c: New file.
- 	* Makefile.in (tree-ssa-loop-ch.o): Add.
- 	(tree-into-ssa.o): Add GGC_H dependency.
- 	* tree-cfg.c (tree_duplicate_bb): Copy virtual arguments.
- 	* tree-flow.h (rewrite_into_ssa): Declaration changed.
- 	(rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name):
- 	Declare.
- 	* tree-into-ssa.c: Include ggc.h.
- 	(struct def_blocks_d): Add phi_blocks field.
- 	(struct mark_def_sites_global_data): Add names_to_rename field.
- 	(struct ssa_name_info): New.
- 	(compute_global_livein): Export.
- 	(set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block,
- 	insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for,
- 	register_new_def, get_reaching_def, def_blocks_free,
- 	get_def_blocks_for, rewrite_into_ssa): Modified to work with
- 	rewrite_ssa_into_ssa.
- 	(get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def,
- 	set_current_def, ssa_mark_def_sites_initialize_block,
- 	ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name,
- 	ssa_register_new_def, ssa_rewrite_initialize_block,
- 	ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block,
- 	ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New
- 	functions.
- 	(pass_build_ssa): Call rewrite_all_into_ssa.
- 	* tree-optimize.c (execute_todo, execute_one_pass,
- 	tree_rest_of_compilation): Allocate vars_to_rename only once.
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter
- 	to rewrite_into_ssa.
- 	* tree-ssa-loop.c (should_duplicate_loop_header_p,
- 	mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p,
- 	copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c.
- 	Use rewrite_ssa_into_ssa.
- 	* tree-ssa-operands.c (copy_virtual_operands): New function.
- 	* tree-ssa-operands.h (copy_virtual_operands): Declare.
- 	* tree.h (struct tree_ssa_name): Add aux field.
- 	(SSA_NAME_AUX): New macro to access it.
- 
- 2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
- 
- 	* prefix.c (lookup_key): Cast buffer to LPBYTE.
- 
- 2004-06-30  Per Bothner  <per@bothner.com>
- 
- 	Conditionally compile support for --enable-mapped_location.
- 	* input.h:  #include line-map.h for source_location typedef.
- 	(BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location,
- 	LOCATION_FILE, LOCATION_LINE):  New macros and functions.
- 	(expanded_location, source_locus):  New typedefs.
- 	(push_srcloc):  Change parameter list if USE_MAPPED_LOCATION.
- 	* rtl.def (NOTE, ASM_OPERANDS):  Modify specifcation, if
- 	USE_MAPPED_LOCATION.
- 	* rtl.h (NOTE_DELETED_LABEL_NAME):  New macro.
- 	(NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED):
- 	New conditional macros.
- 	(ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE):  Replace
- 	by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION.
- 	* tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION,
- 	EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO,
- 	DECL_IS_BUILTIN):  New macros, most depending on USE_MAPPED__LOCATION.
- 	(tree_exp):  Change type of locus to use new source_locus typedef.
- 	* tree.c (build1_stat):  Use SET_EXPR_LOCATION.
- 	(annotate_with_locus, annotate_with_file_line):  Conditionalize.
- 	(expand_location):  New function.
- 	* toplev.c (unknown_location):  New static, when USE_MAPPED_LOCATION.
- 	(push_srcloc, pop_loc):  Adjust parameter handling.
- 	(process_options):  Don't set input_filename by itself.
- 	(lang_dependent_init):  Save, set input_location to <built-in>.
- 	(warn_deprecated_use):  Use expand_location.
- 
- 	* basic-block.h (struct edge_def):  Use new source_locus typedef.
- 	* c-common.c (fname_decl):  Update save/clear/store of input_location.
- 	(c_do_switch_warnings):  Update for USE_MAPPED_LOCATION case.
- 	* c-decl.c:  Likewise.
- 	* c-dump.c (dump_stmt):  Likewise.
- 	* c-gimplify.c (c-gimplify.c):  Generalize using SET_EXPR_LOCATION.
- 	* c-lex.c (cb_line_change):  If USE_MAPPED_LOCATION use token's	src_loc
- 	to set input_location direction, rather than using linemap_lookup.
- 	(fe_file_change, cb_def_pragma):  Again use source_location directly.
- 	* c-opts.c (saved_lineno):  Remove static variable.
- 	(c_common_post_options, c_common_init):  Don't bothner to save,
- 	clear and restore input_Location - now handled by lang_dependent_init.
- 	* function.c (init_function_start):  Use new DECL_IS_BUILTIN macro.
- 	* xcoffout.c (xcoff_assign_fundamental_type_number):  Likewise.
- 	* tree-mudflap.c (mf_file_function_line_tree):  Take a location_t
- 	rather than a pointer to one.  Use expand_location.
- 	(mf_varname_tree):  Use expand_location.
- 	* tree-dump.c:  Use expand_location on DECL_SOURCE_LOCATION.
- 	* coverage.c:  Likewise.
- 	* print-tree.c:  Likewise.
- 	* c-aux-info.c (gen_aux_info_record):  Likewise.
- 	* c-parse.in:  Use SET_EXPR_LOCATION macro.
- 	* gimple-low.c:  Likewise.
- 	* tree-mudflap.c:  Likewise.
- 	* gimplify.c:  Likewise.  Also use EXPR_LOCATION and EXPR_HAS_LOCATION.
- 	* c-ppoutput.c:  Use new source_location typedef instead of fileline.
- 	* c-semantics.c:  Use new macros.
- 	* c-typeck.c:  Likewise.
- 	* cfgexpand.c:  Handle USE_MAPPED_LOCATION case for function_end_locus.
- 	* cfglayout.c (insn_locators_initialize):  Const cleanup.  New macros.
- 	* cfgrtl.c (delete_insn):  Use new NOTE_DELETED_LABEL_NAME macro.
- 	* print-rtl.c (print_rtx):  Likewise.
- 	* emit-rtl.c:  Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION.
- 	* combine.c:  Use new SET_INSN_DELETED macro.
- 	* flow.c:  Likewise.
- 	* haifa-sched.c:  Likewise.
- 	* ifcvt.c:  Likewise.
- 	* recog.c:  Likewise.
- 	* reload1.c:  Likewise.
- 	* diagnostic.c:  Use expand_location macro.
- 	* pretty-print.c (pp_base_format_text):  Likewise.
- 	* profile.c:  Likewise.
-  	* dwarf2out.c:  Likewise.  Also use expand_location, DECL_IS_BUILTIN.
-  	* dwarf2out.c (dwarf2out_decl:  Use BUILTINS_LOCATION.
- 	* emit-rtl.c (emit_line_note):  Simplify if USE_MAPPED_LOCATION.
- 	(force_next_line_note, insn_emit):  Handle USE_MAPPED_LOCATION case.
- 	* final.c (final):  Likewise.
- 	* haifa-sched.c:  Likewise.
- 	* integrate.c:  Likewise.
- 	* jump.c:  Likewise.
- 	* rtl-error.c:  Likewise.
- 	* stmt.c (check_seenlabel):  Likewise.
- 	* tree-pretty-print.c:  Likewise.
- 	* gengtype-lex.l:  Temporary kludge to avoid duplicate typedef.
- 	* gengtype.c:  Update for now typdefs in input.h.  More kludges.
- 	* modulo-sched.c (sms_schedule):  Use NOTE_EXPANDED_LOCATION macro.
- 	* ra-debug.c (ra_print_rtl):  Likewise.
- 	* sched-rgn.c:  Likewise.
- 	* sched-vis.c:  Likewise.
- 	* rtl.h (gen_rtx_ASM_OPERANDS):  Redefine if USE_MAPPED_LOCATION.
- 	* stmt.c (expand_asm_operands):  Adjust calls to gen_rtx_ASM_OPERANDS.
- 	* tree-cfg.c:  Use new macros and typedefs.
- 	* tree-flow-inline.h:  Likewise.
- 
- 2004-06-30  Richard Sandiford  <rsandifo@redhat.com>
- 	    Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/3000.md: Improve description.
- 
- 2004-06-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn,
- 	cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads.
- 
- 2004-06-30  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* Makefile.in (OBJS-common): Add tree-chrec.o.
- 	(tree-chrec.o): New rule.
- 	(GTFILES): Add tree-chrec.h.
- 	* gengtype.c (open_base_files): Add tree-chrec.h.
- 	* tree-chrec.c: New file.
- 	* tree-chrec.h: New file.
- 	* tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes.
- 
- 2004-06-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c: Include "output.h" to define dump_file.
- 	(uid_insn_cost, last_insn_cost): New global variables.
- 	(combine_insn_cost): New function to estimate cost of an insn.
- 	(combine_validate_cost): New function to determine whether a
- 	try_combine replacement sequence is cheaper than the original.
- 	(combine_instructions): Allocate and populate uid_insn_cost
- 	array at the start of the combine pass, and deallocate it after.
- 	(try_combine): Check combine_validate_cost to determine whether
- 	a "recombination" should be rejected as being more expensive.
- 	* Makefile.in (combine.o): Add dependency upon output.h.
- 
- 2004-06-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle
- 	subtractions identically to additions, always COSTS_N_INSNS (1).
- 
- 2004-06-30  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* expmed.c (expand_smod_pow2): Fix sign of mask.
- 
- 2004-06-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant
- 	to check for constants.
- 	(set_remove): Likewise.
- 	(value_replace_in_set): Likewise.
- 	(find_leader): Likewise.
- 	* tree-vn.c (set_value_handle): Likewise.
- 	(vn_lookup): Likewise.
- 	(vn_lookup_or_add): Likewise.
- 
- 2004-06-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	RTL prologue/epilogue for SPARC
- 	* config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete.
- 	(sparc_skip_caller_unimp): Likewise.
- 	(load_pic_register): Likewise.
- 	(leaf_return_peephole_ok): Likewise.
- 	(compute_frame_size): Rename into sparc_compute_frame_size.
- 	(sparc_expand_prologue): New prototype.
- 	(sparc_expand_epilogue): Likewise.
- 	(output_return): Likewise.
- 	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
- 	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to
- 	compute_frame_size.  Move comment up.
- 	(DELAY_SLOTS_FOR_EPILOGUE): Delete.
- 	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
- 	(EPILOGUE_USES): Return true for %g1 if the function uses EH return.
- 	* config/sparc/sparc.md (UNSPECV_SAVEW): New constant.
- 	(type attribute): Add 'return' and 'savew'.
- 	(eligible_for_return_delay): New attribute.
- 	(return): New delay_slot.
- 	(sibcall_epilogue): Call sparc_expand_epilogue.
- 	(prologue): Likewise.  Move up.
- 	(save_register_window): New expander.
- 	(save_register_windowsi): New pattern.
- 	(save_register_windowdi): Likewise.
- 	(epilogue): New expander.
- 	(return_internal): New pattern.
- 	(Return peepholes): Delete.
- 	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro.
- 	(sparc_emitting_epilogue): Delete.
- 	(sparc_skip_caller_unimp): Likewise.
- 	(sparc_sr_alias_set): New global variable.
- 	(frame_base_name): Delete.
- 	(frame_base_reg): New global variable.
- 	(sparc_override_options): Get new alias set for save/restore.
- 	(leaf_return_peephole_ok): Delete.
- 	(eligible_for_epilogue_delay): Rename into eligible_for_return_delay.
- 	Factor out code into eligible_for_restore_insn_delay.
- 	(eligible_for_restore_insn_delay): New function extraced from above.
- 	Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE.
- 	(eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P.
- 	Factor out code into eligible_for_restore_insn_delay.
- 	(load_pic_register): Make static.  Remove check.
- 	(save_regs): Delete.
- 	(restore_regs): Likewise.
- 	(compute_frame_size): Rename into sparc_compute_frame_size.
- 	Rename leaf_function into leaf_function_p.
- 	(build_big_number): Delete.
- 	(save_or_restore_regs): New function.
- 	(emit_save_regs): Likewise.
- 	(emit_restore_regs): Likewise.
- 	(emit_stack_pointer_increment ): Likewise.
- 	(emit_stack_pointer_decrement): Likewise.
- 	(sparc_expand_prologue): Likewise.
- 	(sparc_function_prologue): Rename into sparc_asm_function_prologue.
- 	Remove all code to emit instructions.
- 	(sparc_expand_epilogue): New function.
- 	(sparc_function_epilogue): Rename into sparc_asm_function_epilogue.
- 	Remove all code to emit instructions.
- 	(output_restore): New function.
- 	(output_return): Likewise.
- 	(output_sibcall): Factor out code into output_restore.
- 	(print_operand): Adjust for frame_base_reg.
- 	* target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'.
- 	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define.
- 	(TARGET_INITIALIZER): Add it.
- 	* passes.c (rest_of_compilation): Set the conditional predicate
- 	'current_function_uses_only_leaf_regs' before sched2.  If target
- 	has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right
- 	before sched2.
- 	* reorg.c (return_insn_p): New predicate.
- 	(find_end_label): Use it.
- 	(relax_delay_slots): Do not thread an unconditional jump that points
- 	to the end return label.
- 	* doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity
- 	domain of 'current_function_uses_only_leaf_regs'.
- 	(Stack and Calling) <Function Entry>: Document new target hook
- 	TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
- 
- 2004-06-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Simplify
- 	((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and
- 	N has at least all bits in M set as well.
- 
- 	PR tree-optimization/15310
- 	* expr.c (expand_assignment): Optimize += or -= on a bit field in
- 	most significant bits.
- 
- 2004-06-30  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/c4x/c4x.md: Fix comment.
- 
- 2004-06-30  Akos Kiss  <akiss@inf.u-szeged.hu>
- 
- 	* arm.md (cond_return_inverted): Add "length" attribute.
- 
- 2004-06-29  Per Bothner  <per@bothner.com>
- 
- 	* config/i386/winnt.c (i386_pe_encode_section_info):  Smash rtlname's
- 	XSTR in place, so we don't lose SYMBOL_REF_DECL info.
- 
- 2004-06-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/hpux.h: Target does too support thread-local storage.
- 
- 2004-06-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* combine.c (distribute_notes): Don't look at global_regs for
- 	pseudos.
- 
- 2004-06-29  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (gimplify_modify_expr_rhs): Move immediately before
- 	gimplify_modify_expr.
- 	(gimplify_init_constructor): Likewise.  Gimplify the null
- 	CONSTRUCTOR assignment.
- 	(gimplify_modify_expr_to_memcpy): New.
- 	(gimplify_modify_expr_to_memset): New.
- 	(gimplify_modify_expr): Use them.
- 
- 2004-06-29  Roman Zippel <zippel@linux-m68k.org>
- 
- 	* web.c (union_defs): use all defs of an instruction to create a
- 	union with a read/write use
- 
- 2004-06-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/16216
- 	* builtins.c (gimplify_va_arg_expr): Check for valist being
- 	an error_mark_node.
- 
- 2004-06-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/16195
- 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
- 	r30 fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
- 	(first_reg_to_save): Pretend call_used_regs[30] is 0 if
- 	TARGET_TOC && TARGET_MINIMAL_TOC.
- 	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
- 
- 2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	Fix gcc.dg/builtin-apply2.c failures:
- 	* sh.h (TARGET_VARARGS_PRETEND_ARGS): Define.
- 	* sh.c (extra_push): Delete.
- 	(sh_expand_prologue): Don't do extra stack adjustment for
- 	current_function_pretend_args_size if it comes from varargs setup.
- 	Use TARGET_VARARGS_PRETEND_ARGS.  Don't set extra_push.
- 	(sh_expand_epilogue): Don't use extra_push.
- 	(sh_setup_incoming_varargs): Set pretend_arg_size when necessary.
- 
- 2004-06-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (expand_smod_pow2): Provide alternate implementations
- 	that avoid conditional jumps, and choose between them based upon
- 	the target's rtx_costs.
- 
- 2004-06-29  Andrew Pinski  <apinski@apple.com>
- 
- 	* tree-sra.c: Include expr.h for definition of MOVE_RATIO.
- 	* Makefile.in (tree-sra.c): Update dependencies.
- 
- 2004-06-29  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-sra.c: Rewrite from scratch.  Handle nested aggregates.
- 
- 2004-06-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_T_safe_push, VEC_T_safe_insert): Tweak for when
- 	size_t is bigger than int.
- 
- 2004-06-29  Paul Brook  <paul@codesourcery.com>
- 
- 	* target-def.h (TARGET_CXX_GET_COOKIE_SIZE,
- 	TARGET_CXX_COOKIE_HAS_SIZE): Define.
- 	(TARGET_CXX): Use them.
- 	* target.h (struct gcc_target): Add cxx.get_cookie_size and
- 	cxx.cookie_has_size.
- 	* targhooks.c (default_cxx_get_cookie_size): New fucntion.
- 	* targhooks.h (default_cxx_get_cookie_size): Add prototype.
- 	* config/arm/arm.c (TARGET_CXX_GET_COOKIE_SIZE,
- 	TARGET_CXX_COOKIE_HAS_SIZE): Define.
- 	(arm_get_cookie_size, arm_cookie_has_size): New functions.
- 	* Make-lang.in (cp/init.o): Add dependency on $(TARGET_H).
- 	* doc/tm.texi: Document TARGET_CXX_GET_COOKIE_SIZE and
- 	TARGET_CXX_COOKIE_HAS_SIZE.
- 
- 2004-06-29  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cfglayout.c (fixup_reorder_chain): Don't do anything for
- 	e_fall->dest == EXIT_BLOCK_PTR.
- 
- 2004-06-28  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-cfg.c (verify_stmt): Add last_in_block parameter.  Verify
- 	that eh stmts can throw.
- 	(verify_stmts): Update verify_stmt call.
- 	(tree_purge_dead_eh_edges, tree_purge_all_dead_eh_edges): New.
- 	* tree-eh.c (remove_stmt_from_eh_region): New.
- 	(lower_eh_constructs): Fix throw_stmt_table delete routine.
- 	(tree_could_trap_p): Match may_trap_p.
- 	(maybe_clean_eh_stmt): New.
- 	* tree-flow.h: Update decls.
- 	* tree-ssa-ccp.c (pass_ccp): Add TODO_verify_stmts.
- 	(substitute_and_fold): Clean eh edges.
- 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Handle
- 	empty basic blocks.
- 	* tree-ssa-dom.c (need_eh_cleanup): New.
- 	(tree_ssa_dominator_optimize): Allocate it.  Cleanup eh edges.
- 	(optimize_stmt): Cleanup eh stmts; set need_eh_cleanup.
- 
- 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* function.c (assign_parms): Don't abort with zero size stack
- 	parm failing the PARM_BOUNDARY check.
- 
- 2004-06-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* common.opt (ftree-fre): New flag.
- 	* flags.h (flag_tree_fre): Declare.
- 	* opts.c (decode_options): Set.
- 	* timevar.def (TV_TREE_FRE): Define.
- 	* tree-flow-inline.h (may_propagate_copy): Re-arrange for
- 	readability.  Handle destinations that are not SSA_NAMEs.
- 	* tree-flow.h (struct ptr_info_def): Move from tree.h
- 	(cprop_into_stmt, cprop_into_successor_phis): Remove.
- 	(vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add
- 	vuse_optype parameter.
- 	* tree-pass.h (pass_fre): Declare.
- 	* tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c
- 	(cprop_into_stmt): Likewise.
- 	(cprop_into_successor_phis): Likewise.
- 	* tree-ssa-dom.c (eliminate_redundant_computations): Fix
- 	argument ordering in call to may_propagate_copy.
- 	* tree-ssa-pre.c (is_undefined_value): Assume hard registers
- 	to be always defined.
- 	(add_to_sets): New local function.
- 	(create_value_expr_from): New local function.
- 	(compute_avail): Call them.
- 	(eliminate): Don't ignore statements with virtual operands.
- 	(init_pre): New local function.
- 	(fini_pre): New local function.
- 	(execute_pre): Call them.
- 	Add argument DO_FRE.  Don't do insertion if DO_FRE is true.
- 	(do_pre): New function.
- 	(do_fre): New function.
- 	(gate_fre): New function.
- 	(pass_fre): Declare.
- 	* tree-ssa.c (init_tree_ssa): Don't call vn_init.
- 	(delete_tree_ssa): Don't call vn_delete.
- 	* tree-vn.c (val_expr_pair_d): Add documentation.
- 	(vn_compute): Add VUSES argument to incorporate in computing
- 	hash values.  Update all callers.
- 	(expressions_equal_p): Call operand_equal_p with
- 	OEP_PURE_SAME.
- 	(vn_add): Add VUSES argument.  Update all callers.
- 	(vn_lookup): Likewise.
- 	(vn_lookup_or_add): Likewise.
- 	* doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre.
- 
- 2004-06-28  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/m32r/m32r.c (m32r_sched_odd_word_p, m32r_adjust_cost,
- 	m32r_sched_init, m32r_sched_reorder, m32r_variable_issue): Remove.
- 	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
- 	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Don't define.
- 	* config/m32r/m32r.md: Rewrite the pipeline description as a DFA.
- 
- 2004-06-28  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.def (REALPART_EXPR, IMAGPART_EXPR): Change class to 'r'.
- 	* fold-const.c (operand_equal_p <case 'r'>): Add REALPART_EXPR,
- 	IMAGPART_EXPR.
- 	* tree-dump.c (dequeue_and_dump): Handle REALPART_EXPR and
- 	IMAGPART_EXPR explicitly.
- 	* tree-inline.c (estimate_num_insns_1): Don't handle REALPART_EXPR
- 	and IMAGPART_EXPR specially.
- 	* tree.c (build1_stat): Copy TREE_THIS_VOLATILE into class 'r'.
- 
- 2004-06-28  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config.gcc (sh*-*elf*): Remove dead assignment of sh_multilibs.
- 
- 2004-06-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* builtins.def (execl, execlp, execle, execv, execvp, execve,
- 	fork): Change to DEF_EXT_LIB_BUILTIN.
- 
- 2004-06-28  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (expand_smod_pow2): New function to expand signed
- 	remainder by a constant power of 2, such as "x % 16".
- 	(expand_divmod): Call new expand_smod_pow2 when appropriate.
- 	Minor corrections to comments, e.g. wrapping long lines.
- 
- 2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* Makefile.in (vec.o): Fix dependencies.
- 
- 2004-06-28  Andreas Tobler <a.tobler@schweiz.ch>
- 
- 	* Makefile.in: Fix parallel make dependency problem on vec.o.
- 
- 2004-06-28  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
- 
- 	PR target/14041
- 	* config/h8300/h8300.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- 
- 2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (tree_check_failed): Make varadic.
- 	(tree_not_check_failed): New prototype.
- 	(tree_check2_failed, tree_check3_failed,
- 	tree_check4_failed, tree_check5_failed): Remove.
- 	(TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4,
- 	TREE_CHECK5): Adjust.
- 	(TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4,
- 	TREE_NOT_CHECK5): New.
- 	(TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE,
- 	TREE_RTL_OPERAND_CHECK): Adjust.
- 	* tree.c (tree_check_failed): Make varadic.
- 	(tree_not_check_failed): New.
- 	(tree_check2_failed, tree_check3_failed,
- 	tree_check4_failed, tree_check5_failed): Remove.
- 
- 2004-06-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (can_combine_p): Do not prevent building insns that use
- 	and clobber the same fixed hard register.
- 	(reg_dead_at_p): Likewise.
- 
- 2004-06-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-sra.c (is_sra_candidate_ref): Remove second arg; all callers
- 	changed.
- 	(is_sra_candidate_complex_ref): New function.
- 	(scalarize_modify_expr): Call it and check for LHS also.
- 
- 	* tree-pretty-print.c (dump_function_declaration): New.
- 	(dump_generic_node, case FUNCTION_TYPE): Call it.
- 	(dump_generic_node, case RECORD_TYPE): Don't output dup semicolon.
- 	(dump_generic_node, case DECL_EXPR): New case.
- 	(dump_generic_node, case PLACEHOLDER_EXPR): Handle.
- 	(print_declaration): Handle type and function declarations.
- 
- 	* tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE.
- 	(convert_nonlocal_reference, convert_local_reference): Properly
- 	convert nest of handled component references.
- 
- 2004-06-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h, vec.c: New, type safe vector API.
- 	* Makefile.in (OBJS-common): Add vec.o.
- 	(vec.o): New target.
- 	(gengtype-lex.o): Depend on vec.h.
- 
- 2004-06-28  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* fold-const.c (fold_cond_expr_with_comparison): Add ARG1
- 	parameter.  Use it instead of ARG00 to produce the result.
- 
- 2004-06-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300-protos.h (legitimate_address_p): Declare.
- 	* config/mn10300/mn10300.c (legitimate_address_p): New.  Test that
- 	index is legitimate, compared with code moved from...
- 	* config/mn10300/mn10300.h (GO_IF_LEGITIMATE_ADDRESS): here.
- 	(REG_STRICT): Define, according to REG_OK_STRICT.
- 	(REGNO_IN_RANGE_P, REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P,
- 	REGNO_EXTENDED_P, REGNO_AM33_P, REGNO_FP_P): Introduce strict
- 	argument.
- 	(REGNO_STRICT_OK_FOR_BASE_P, REGNO_STRICT_OK_FOR_BIT_BASE_P,
- 	REGNO_STRICT_OK_FOR_INDEX_P): New.
- 	(REGNO_OK_FOR_BASE_P, REG_OK_FOR_BASE_P, REGNO_OK_FOR_BIT_BASE_P,
- 	REG_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P,
- 	RTX_OK_FOR_BASE_P): Use them.
- 
- 2004-06-28  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/cfg.texi (Basic Blocks): Define dominators.
- 
- 2004-06-27  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c++/16205
- 	* c-common.c (warn_for_collisions_1): Warn for only decls which
- 	have a name.
- 
- 	PR c++/15145
- 	* c.opt (Wsequence-point): Enable for C++ and ObjC++.
- 
- 	PR c/14963
- 	* c-decl.c (start_decl): Check for null types.
- 
- 2004-06-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
- 	Accept TOC addresses.
- 
- 2004-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_load_got): Update prototype.
- 	* config/s390/s390.c (struct machine_function): Add member base_reg.
- 	(s390_decompose_address): Accept UNSPEC_LTREF.  Simplify logic.
- 	(s390_split_branches): Annotate late pool references.
- 	(annotate_constant_pool_refs): New function.
- 	(find_constant_pool_ref): Work on annotated pool references.
- 	(replace_constant_pool_ref): Likewise.  Use explicit base.
- 	(replace_ltrel_base): Use explicit base.
- 	(s390_mainpool_start): Reflect main_pool pattern change.
- 	(s390_mainpool_finish): Use base register from main_pool.
- 	Update calls to replace_ltrel_base and replace_constant_pool_ref.
- 	(s390_chunkify_start): Use base_reg from struct machine_function.
- 	(s390_chunkify_finish): Remove base_reg argument.  Update calls
- 	to replace_ltrel_base and replace_constant_pool_ref.
- 	(s390_reorg): Don't decide upon base register.  Update calls.
- 	(s390_load_got): Remove MAYBE_DEAD handling.  Do not emit insns
- 	but return sequence instead.
- 	(s390_emit_prologue): Decide upon base register to use.  Annotate
- 	all literal pool references.  Adapt to main_pool pattern change.
- 	Update s390_load_got call; move MAYBE_DEAD handling here.
- 	(s390_emit_epilogue): Annotate late literal pool references.
- 	Remove barrier before register restore instruction.
- 	* config/s390/s390.md (UNSPEC_LTREF): New constant.
- 	("builtin_setjmp_receiver"): Update s390_load_got call.
- 	("main_pool"): Explicitly reference base register.
- 
- 2004-06-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <BIT_IOR_EXPR>: Optimize ~X|X and X|~X as -1.
- 	<BIT_XOR_EXPR>: Optimize ~X|X and X|~X as -1.
- 	<BIT_AND_EXPR>: Optimize ~X&X and X&~X as 0.
- 	<TRUTH_AND_EXPR, TRUTH_ANDIF_EXPR>: Optimize !X&&X and X&&!X as false.
- 	<TRUTH_OR_EXPR, TRUTH_ORIF_EXPR>: Optimize !X||X and !X||X as true.
- 	<TRUTH_XOR_EXPR>: Optimize !X^X and X^X! as true.  Now that
- 	TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0
- 	is a constant.
- 
- 2004-06-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-common.c (c_safe_from_p, c_walk_subtrees): Deleted.
- 	* c-common.def (DECL_STMT): Remove.
- 	* c-common.h (DECL_STMT_DECL): Deleted.
- 	(COMPOUNT_LITERAL_EXPR_DECL): Use DECL_EXPR_DECL.
- 	(c_safe_from_p, c_walk_subtrees): Deleted.
- 	* c-decl.c, c-parse.in, c-pretty-print.c: DECL_STMT now DECL_EXPR.
- 	* c-dump.c (c_dump_tree, case DECL_STMT): Deleted.
- 	* c-gimplify.c (gimplify_decl_stmt): Deleted.
- 	(gimplify_compound_literal_expr): Use DECL_EXPR_DECL
- 	and gimplify_and_add.
- 	(c_gimplify_expr, case DECL_EXPR): New case.
- 	(c_gimplify_expr, case DECL_STMT): Deleted.
- 	* c-lang.c (LANG_HOOKS_SAFE_FROM_P): Likewise.
- 	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
- 	* expr.c (safe_from_p, case 's'): New case.
- 	* gimplify.c (gimplify_decl_expr): New function.
- 	(gimplify_expr, case DECL_EXPR): New case.
- 	* tree-inline.c (walk_tree): Walk into all fields of a type and
- 	decl only if they are in a DECL_EXPR.
- 	(mark_local_for_remap_r): Minor code cleanup.
- 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Add else.
- 	* tree.c (has_cleanups, case DECL_EXPR): New case.
- 	* tree.def (DECL_EXPR): New code.
- 	* tree.h (DECL_EXPR_DECL): New macro.
- 
- 	* objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted.
- 
- 2004-06-26  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR 13334
- 	* doc/install.texi: Document non-standard CFLAGS and bootstrap
- 	failures and warnings.
- 
- 2004-06-26  Andrew Haley  <aph@redhat.com>
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Check
- 	TREE_THIS_NOTRAP when setting MEM_NOTRAP_P.
- 	* tree-eh.c (tree_could_trap_p): Check TREE_THIS_NOTRAP.
- 	* tree.h (TREE_THIS_NOTRAP): New.
- 
- 2004-06-26  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* genattrtab.c (write_test_expr): Put a unsigned cast before
- 	the first operand for GEU, GTU, LEU and LTU.
- 
- 2004-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-typeck.c, cfgexpand.c, ddg.c, ddg.h, df.c, fold-const.c,
- 	gcov.c, gimplify.c, modulo-sched.c, passes.c, tree-cfg.c,
- 	tree-mudflap.c, tree-nrv.c, tree-outof-ssa.c, tree-ssa-dom.c,
- 	tree-ssa-dse.c, tree-ssa-operands.c, tree-ssa-pre.c,
- 	tree-tailcall.c: Fix comment typos.  Follow spelling
- 	conventions.
- 
- 2004-06-25  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md: Add back scheduling exclusion info.
- 
- 2004-06-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* ifcvt.c (seq_contains_jump): Delete function.
- 	(end_ifcvt_sequence): Replace call to seq_contains_jump with an
- 	inline test for a jump instruction in the existing "insn" loop.
- 	(block_fallthru): Document function.
- 
- 2004-06-25  Philip Blundell  <philb@gnu.org>
- 
- 	PR wrong-code/15089
- 	* loop.c (scan_loop): Do not move user-specified register
- 	assignments.
- 
- 2004-06-25  DJ Delorie  <dj@redhat.com>
- 
- 	* c-common.h (warn_cast_qual, warn_missing_format_attribute,
- 	warn_pointer_arith, warn_missing_prototypes, warn_parentheses,
- 	warn_missing_braces, warn_sign_compare, warn_long_long,
- 	warn_redundant_decls, warn_float_equal, warn_char_subscripts,
- 	warn_conversion, warn_format_y2k, warn_format_extra_args,
- 	warn_format_zero_length, warn_format_nonliteral,
- 	warn_format_security, mesg_implicit_function_declaration,
- 	warn_bad_function_cast, warn_traditional,
- 	warn_declaration_after_statement, warn_strict_prototypes,
- 	warn_missing_declarations, warn_nested_externs,
- 	warn_sequence_point, warn_init_self, warn_div_by_zero,
- 	warn_implicit_int, warn_nonnull, warn_old_style_definition,
- 	warn_selector, warn_undeclared_selector, warn_protocol,
- 	warn_abi, warn_invalid_offsetof, warn_ctor_dtor_privacy,
- 	warn_overloaded_virtual, warn_nonvdtor, warn_reorder,
- 	warn_synth, warn_pmf2ptr, warn_ecpp, warn_sign_promo,
- 	warn_old_style_cast, warn_nontemplate_friend,
- 	warn_deprecated): Remove explicit declarations.
- 	* c-common.c: Likewise, remove explicit definitions.
- 	* c-opts.c: Likewise, remove explicit assignments.
- 	* c.opts: Likewise, add implicit declare/define/assign.
- 
- 2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gimplify.c (lookup_tmp_var): Set TREE_READONLY in is_formal case.
- 	(build_addr_expr_with_type): Deleted.
- 	(build_addr_expr): Deleted; callers changed to build_fold_addr_expr.
- 	(gimplify_compound_lval): Make two passes over reference nest.
- 
- 	* tree-nested.c (build_addr): Merge real/imagpart with
- 	handled_component_p.
- 	(convert_nonlocal_reference, convert_local_reference): Process extra
- 	args to COMPONENT_REF and ARRAY_REF.
- 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Check for
- 	lower bound and field offset being constant.
- 
- 2004-06-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR wrong-code/16129
- 	* alias.c (get_alias_set): Adjust setting of
- 	DECL_POINTER_ALIAS_SET for pointers to aggregates.
- 
- 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-inline.c (remap_type): Arrange to have just one pointer type
- 	for each type, mode, and 'can alias' value.
- 	(setup_one_parameter): Remap type when making VAR_DECL for PARM_DECL.
- 	(estimate_num_insns_1): Minor code reformatting.
- 	(inline_forbidden_p_1): Likewise; add; missing return statement.
- 
- 2004-06-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/15825
- 	* ifcvt.c (unshare_ifcvt_sequence): Rename to end_ifcvt_sequence.
- 	Use get_isns and end_sequence instead of accepting a seq argument.
- 	Scan the instruction sequence for unrecognizable or jump insns.
- 	(noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
- 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
- 	noce_try_sign_mask): Use end_ifcvt_sequence to factor common code.
- 
- 2004-06-24  Jeff Law  <law@redhat.com>
- 
- 	* gimplify.c (gimplify_compound_lval): Reset TREE_SIDE_EFFECTS
- 	after gimplifying the innermost component.
- 
- 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16176
- 	* config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
- 	register for the destination of the lwl or ldl.
- 
- 2004-06-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-dfa.c (get_virtual_var): Merge real/imaginary parts with
- 	handled_component_p handling.
- 	* tree-gimple.c (get_base_address): Likewise and fix typo that
- 	caused both recursion and looping.
- 
- 	* tree-cfg.c (verify_expr): Add macro CHECK_OK.
- 	Properly test for nest of handled_components in LHS context.
- 
- 2004-06-25  Devang Patel  <dpatel@apple.com>
- 
- 	* doc/tree-ssa.texi: Document info about MODIFY_EXPR's type
- 
- 2004-06-25  Paul Brook  <paul@codesourcery.com>
- 
- 	* target-def.h (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT,
- 	TARGET_CXX): Define.
- 	(TARGET_INITIALIZER): Use TARGET_CXX.
- 	* target.h (struct gcc_target): Add struct cxx.
- 	* targhooks.h (default_cxx_guard_type): Add prototype.
- 	* targhooks.c (default_cxx_guard_type): New function.
- 	* config/arm/arm.c (TARGET_CXX_GUARD_TYPE, TARGET_CXX_GUARD_MASK_BIT):
- 	Define.
- 	(arm_cxx_guard_type, arm_cxx_guard_mask_bit): New functions.
- 	* doc/tm.texi: Document TARGET_CXX_GUARD_TYPE and
- 	TARGET_CXX_GUARD_MASK_BIT.
- 
- 2004-06-25  Devang Patel  <dpatel@apple.com>
- 
- 	* config/rs6000/darwin.h (CC1_SPEC): Handle -gused and -gfull.
- 	* config/i386/darwin.h (CC1_SPEC): Same.
- 
- 2004-06-25  Mark G. Adams  <mark.g.adams@sympatico.ca>
- 
- 	* dbxout.h: Add include guards
- 
- 2004-06-25  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_EABI__.
- 
- 2004-06-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_arch4t): New variable.
- 	(arm_override_options): Initialize it.  If compiling for armv5 or
- 	higher clear TARGET_INTERWORK.
- 	(output_call): Abort if called for armv5.  Use BX if it's available.
- 	(output_call_mem): Use BLX if available and ensure that all armv5
- 	code is interworking safe.
- 	(output_return_instruction): Always use BX in preference to MOV if
- 	it's available.
- 	(arm_output_epilogue): Likewise.
- 	(arm_final_prescan_insn): Never conditionally call a subroutine
- 	on armv5.
- 	* arm.h (arm_arch4t): Declare.
- 	* arm.md (call_reg_armv5, call_value_reg_armv5): New.
- 	(call_reg_arm, call_value_reg_arm): Renamed from call_reg and
- 	call_value_reg respectively.
- 	(call_reg_thumb_v5, call_value_reg_thumb_v5): New.
- 	(call_reg_thumb, call_value_reg_thumb): Renamed from call_indirect
- 	and call_value_indirect respectively.
- 
- 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (reg_or_const_float_1_operand): Reimplement
- 	in terms of const_float_1_operand.
- 
- 2004-06-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16144
- 	* config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
- 	is 1.0; force it into a register instead.
- 
- 2004-06-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h: Restore valid comment removed by mistake with
- 	the recent m68k comments cleanup.
- 
- 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-gimplify.c (gimplify_for_stmt): Use gimplify_and_add.
- 	* gimplify.c (internal_get_tmp_var, gimplify_return_expr): Likewise.
- 	(gimplify_loop_expr, gimplify_init_constructor): Likewise.
- 	(gimplify_self_mod_expr, gimplify_cond_expr): Likewise.
- 
- 	PR/16131
- 	* gimplify.c (voidify_wrapper_expr): Allow TARGET_EXPR.
- 
- 	* gimplify.c: Remove unneeded forward declarations.
- 
- 	* gimplify.c (append_to_compound_expr): Deleted.
- 	* tree-gimple.h (append_to_compound_expr): Deleted.
- 
- 	* fold-const.c (fold_addr_expr_with_type): Look through all
- 	valid LHS modifiers to find a base to mark addressable.
- 
- 	* tree.h (debug_find_tree): Add declaration.
- 	* tree-inline.c (debug_find_tree): Remove extern declaration.
- 
- 2004-06-24  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Apply change mistakenly
- 	deleted with 2004-06-22 patch.
- 
- 2004-06-24  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (c_in_iteration_stmt, c_in_case_stmt): Remove.
- 	(c_break_label, c_cont_label): New.
- 	(start_function): Update initializations.
- 	(c_push_function_context): Update saves.
- 	(c_pop_function_context): Update restores.
- 	* c-parse.in: Update expected conflicts.
- 	(stmt_count, compstmt_count): Remove.  Remove all updates.
- 	(if_prefix, simple_if, do_stmt_start): Remove.
- 	(lineno_labeled_stmt): Remove.
- 	(lineno_labels): New.
- 	(c99_block_lineno_labeled_stmt): Use it.
- 	(lineno_stmt, lineno_label): Don't clear EXPR_LOCUS before calling
- 	annotate_with_locus.
- 	(select_or_iter_stmt): Replace by ...
- 	(condition, if_statement_1, if_statement_2, if_statement,
- 	start_break, start_continue, while_statement, do_statement,
- 	for_cond_expr, for_incr_expr, for_statement, switch_statement): New.
- 	(stmt): Split out ...
- 	(stmt_nocomp): ... this.  Use c_finish_bc_stmt, c_finish_goto_label,
- 	c_finish_goto_ptr.
- 	* c-semantics.c (add_stmt): Don't add line numbers to labels.
- 	* c-tree.h: Update prototypes.
- 	(struct language_function): Remove x_in_iteration_stmt, x_in_case_stmt;
- 	add x_break_label, x_cont_label, x_switch_stack.
- 	(c_switch_stack): Declare.
- 	* c-typeck.c (c_finish_goto_label, c_finish_goto_ptr): New.
- 	(c_finish_return): Return the statement.
- 	(c_switch_stack): Rename from switch_stack; export.
- 	(if_elt, if_stack, if_stack_space, if_stack_pointer): Remove.
- 	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_begin_else,
- 	c_finish_else): Remove.
- 	(c_finish_if_stmt): Rewrite to perform the entire operation.
- 	(c_begin_while_stmt, c_finish_while_stmt_cond, c_finish_while_stmt,
- 	c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
- 	c_finish_for_stmt_incr, c_finish_for_stmt): Remove.
- 	(c_finish_loop): New.
- 	(c_finish_bc_stmt): New.
- 	(c_finish_expr_stmt): Return the statement.  Split out...
- 	(c_process_expr_stmt): ... this.  Don't add locus to error marks.
- 	* gimplify.c (gimplify_cond_expr): Accept NULL type statements.
- 	* tree-gimple.c (is_gimple_stmt): Likewise.
- 	* tree-pretty-print.c (dump_generic_node <COND_EXPR>): Likewise.
- 	(print_struct_decl): Delete empty compound statement.
- 	* objc/objc-act.c (objc_build_throw_stmt): Return the statement.
- 	* objc/objc-act.h: Update decl.
- 
- 2004-06-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-pretty-print.c (dump_generic_node, case TYPE_DECL):
- 	Don't look at TYPE_METHODS unless RECORD_TYPE or UNION_TYPE.
- 
- 2004-06-24  Andrew Pinski  <apinski@apple.com>
- 
- 	* objc-act.c (build_objc_method_call): Save the lookup_object
- 	so we do not call it twice.
- 
- 2004-06-24  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-dom.c (real_avail_expr_hash): New.
- 	(tree_ssa_dominator_optimize): Use it in the htab.
- 
- 2004-06-24  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mx_register_decls): Add third (type) argument
- 	to synthesized __mf_unregister call.
- 
- 2004-06-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/15239
- 	* expmed.c (expand_mult): Remove artificial restriction on the
- 	maximum cost of a synthetic multiplication sequence.
- 
- 2004-06-24  Eric Christopher  <echristo@redhat.com>
- 
- 	* combine.c (distribute_notes): Don't delete sets to
- 	global register variables.
- 
- 2004-06-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (ffsdi2, clzdi2): New expanders.
- 	(ffs_rex64): New splitter.
- 	(ffsdi_1, ctzdi2, bsr_rex64): New instructions.
- 
- 2004-06-24  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin7.h (MATH_LIBRARY): Remove.
- 	(LIB_SPEC): Define.
- 	* config/darwin.h (MATH_LIBRARY): Define always to empty.
- 	(LIB_SPEC): Only define if not already defined.
- 
- 2004-06-24  Revital Eres  <eres@il.ibm.com>
- 
- 	* loop-iv.c (iv_analyze, simple_set_p): Support for identifying
- 	shifts of induction variable.
- 	(iv_shift): New function.
- 
- 2004-06-24  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (gimplify_body): Watch for body vanishing.
- 
- 2004-06-24  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (record_dominating_conditions): New function.
- 	(dom_opt_finalize_block, get_eq_expr_value): Use it.
- 
- 2004-06-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* calls.c (shift_returned_value): Fix handling of non-integer
- 	TYPE_MODEs.
- 
- 2004-06-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* c-decl.c (finish_function): Do not check for DEFAULT_MAIN_RETURN.
- 	* system.h (DEFAULT_MAIN_RETURN): Poison.
- 	* doc/tm.texi (DEFAULT_MAIN_RETURN): Remove documentation.
- 
- 2004-06-24  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/cfg.texi (Edges): Fix typo.
- 
- 2004-06-24  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Remove excess checks.
- 
- 2004-06-23  Andrew Pinski  <apinski@apple.com>
- 
- 	PR middle-end/15988
- 	* fold-const.c (fold_convert): Types which are compatible
- 	can be converted with only a NOP_EXPR.
- 
- 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
- 	pass raw n_named_args to it.
- 	* targhooks.c: Formatting.
- 	(hook_bool_CUMULATIVE_ARGS_false): Correct comment.
- 
- 2004-06-23  Richard Henderson  <rth@redhat.com>
- 
- 	* c-gimplify.c (gimplify_decl_stmt): Push gimplify_one_sizepos inside
- 	non-constant size check.  Gimplify the type too.  Tidy building
- 	BUILT_IN_STACK_ALLOC call.
- 
- 2004-06-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-common.c (expand_unordered_cmp): Delete.
- 	(expand_tree_builtin): Delete.
- 	* c-common.h (expand_tree_builtin): Delete function prototype.
- 	* c-typeck.c (build_function_call): Don't call expand_tree_builtin.
- 
- 2004-06-23  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (gimplify_compound_lval): Don't set ARRAY_REF or
- 	COMPONENT_REF variable fields unless they're non-constant.
- 
- 2004-06-23  Robert Millan  <robertmh@gnu.org>
- 
- 	* config.gcc: Merge kfreebsd*-gnu with linux* and add knetbsd*-gnu.
- 	* config/i386/linux.h: Allow overriding of LINK_EMULATION,
- 	  DYNAMIC_LINKER and register names in sc_ structure.
- 	* config/kfreebsd-gnu.h: New. kfreebsd-gnu followup for linux.h.
- 	* config/i386/kfreebsd-gnu.h: New. Ditto for i386-kfreebsd-gnu.
- 	* config/knetbsd-gnu.h: New. Ditto for knetbsd-gnu.
- 	* config/i386/knetbsd-gnu.h: New. Ditto for i386-knetbsd-gnu.
- 
- 	* config/kfreebsdgnu.h: Remove.
- 	* config/t-kfreebsd-gnu: Likewise.
- 	* config/i386/kfreebsdgnu.h: Likewise.
- 
- 2004-06-23  Eric Christopher  <echristo@redhat.com>
- 
- 	* fold-const.c (make_range): Cleanup type checking through function.
- 	Remove orig_type. Replace with checks to exp_type and arg0_type.
- 	Clarify comment when converting from unsigned to signed.
- 
- 2004-06-23  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Add R3000.
- 	* config/mips/mips.md: Remove R3000 scheduling description.
- 	* config/mips/3000.md: New file.
- 
- 2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_emit_compare): Add prototype.
- 	(s390_emit_jump): Likewise.
- 	* config/s390/s390.c (s390_emit_compare): New function.
- 	(s390_emit_jump): Likewise.
- 	* config/s390/s390.md ("beq", "bne", "bgt", "bgtu", "blt", "bltu",
- 	"bge", "bgeu", "ble", "bleu", "bunordered", "bordered", "buneq",
- 	"bungt", "bunlt", "bunge", "bunle", "bltgt"): Use s390_emit_compare
- 	and s390_emit_jump.
- 	("cjump"): Remove, replace by ...
- 	("*cjump_64", "*cjump_31"): ... these insns.  Improve length default.
- 	("icjump", "*icjump_64", "*icjump_31"): Likewise.
- 	("trap"): Fix type attribute.
- 	("conditional_trap"): Use s390_emit_compare.
- 	("doloop_si"): Remove, replace by ...
- 	("doloop_si64", "doloop_si31"): ... these new insn_and_split.
- 	Merge existing splitter into insn_and_split.  Improve length default.
- 	("doloop_di"): Merge with existing splitter into insn_and_split.
- 	("doloop"): Adapt.
- 	("jump"): Convert to expander.  Use s390_emit_jump.
- 	("*jump_64", "*jump_31"): New insns.  Improve length default.
- 
- 2004-06-23  Wu Yongwei  <adah@sh163.net>
- 
- 	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
- 	(__gthr_i486_lock_cmp_xchg): New inline assembly function.
- 	(__GTHR_W32_InterlockedCompareExchange): New macro to choose a
- 	suitable function for interlocked compare-and-exchange.
- 	(__gthread_mutex_trylock): Use
- 	__GTHR_W32_InterlockedCompareExchange.
- 	(__gthread_mutex_init_function, __gthread_mutex_lock,
- 	__gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
- 	initial counter value to work correctly under Windows 95.
- 	* config/i386/gthr-win32.c: Adjust include order.
- 	Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
- 	gthr-win32.h.
- 	(__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
- 	__gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
- 	to match inline versions in gthr-win32.h.
- 
- 2004-06-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_use_dfa_pipeline_interface): Delete.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Redefine a hook_int_void_1.
- 	(insvdi_rshift_rlwimi_p): New function.
- 	* config/rs6000/rs6000.md (insvdi_internal2/3): New patterns.
- 	(extendsfdf2): Convert to define_insn_and_split.
- 	* config/rs6000/rs6000-protos.h (insvdi_rshift_rlwimi_p): Prototype.
- 
- 2004-06-23  Andrew Pinski  <apinski@apple.com>
- 
- 	* c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
- 	type qualifiers at all.
- 	If both of the type domains are null and the new element type is
- 	the same as one of the, return the one which the element type.
- 	matches.
- 	Do not call qualify_type on the new type.
- 
- 2004-06-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.
- 
- 2004-06-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* convert.c (strip_float_extension): Skip both NOP_EXPR and
- 	CONVERT_EXPR floating point extensions.
- 
- 2004-06-23  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* Makefile.in (tree-vn.o): New.
- 	(tree-ssa-pre.o): Don't depend on RTL_H.
- 	* tree-dfa.c (find_referenced_vars): Don't call init_tree_ssa.
- 	* tree-flow.h (struct var_ann_d): Remove field expr_set.
- 	(add_to_value, expressions_equal_p, get_value_handle, vn_compute,
- 	vn_lookup_or_add, vn_add, vn_lookup, vn_init, vn_delete): Declare.
- 	* tree-optimize.c (execute_init_datastructures): New local function.
- 	(pass_init_datastructures): New local variable.
- 	(init_tree_optimization_passes): Sequence pass_init_datastructures.
- 	* tree-pretty-print.c (MASK_POINTER): Remove.
- 	(dump_generic_node): Handle VALUE_HANDLE.
- 	* tree-ssa-pre.c: Move all value numbering routines to tree-vn.c.
- 	Update callers to use new function names.
- 	Use VALUE_HANDLE_ID and VALUE_HANDLE_EXPR_SET instead of
- 	variable annotations.
- 	* tree-ssa.c (init_tree_ssa): Call vn_init.
- 	(delete_tree_ssa): Call vn_delete.
- 	* tree-vn.c: New file.
- 	* tree.c (tree_size): Handle VALUE_HANDLE.
- 	(tree_node_structure): Likewise.
- 	(iterative_hash_expr): Likewise.
- 	* tree.def (VALUE_HANDLE): New code.
- 	* tree.h (struct tree_value_handle): New.
- 	(VALUE_HANDLE_ID): Define.
- 	(VALUE_HANDLE_EXPR_SET): Define.
- 	(enum tree_node_structure_enum): Add TS_VALUE_HANDLE.
- 	(union tree_node): Add struct tree_value_handle.
- 
- 2004-06-23  Andrew Pinski  <apinski@apple.com>
- 
- 	* c-typeck.c (composite_type):
- 	<case POINTER_TYPE>: Build a qualified type of
- 	the new type.
- 	<case ARRAY_TYPE>: Likewise.
- 	<case FUNCTION_TYPE>: Likewise.
- 
- 2004-06-23  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	PR optimization/15633
- 	* value-prof.c (divmod_fixed_value_transform): Compute probability
- 	of taking optimal path and pass along to gen_ routine.
- 	(mod_pow2_value_transform): Same.
- 	(mod_subtract_transform): Same.
- 	(gen_divmod_fixed_value): Add new probability parameter.
- 	Add probability to newly created jump.
- 	(gen_mod_pow2): Same.
- 	(gen_mod_subtract): Same.
- 
- 2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* PR target/15948
- 	* arm.md (bicsi3_cbranch): Add alternative to handle tying operands
- 	one and two.
- 
- 2004-06-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/15927
- 	* arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
- 	reload if CLASS is BASE_REGS.
- 
- 2004-06-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gengtype-yacc.y (option): Avoid use of non-constant struct
- 	initializer.
- 
- 2004-06-23  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/extend.texi (Function Attributes): Alphabetize.
- 
- 2004-06-23  Richard Henderson  <rth@redhat.com>
- 
- 	* c-gimplify.c (gimplify_decl_stmt): Update gimplify_type_sizes call.
- 	Use gimplify_and_add.
- 	* c-typeck.c (c_finish_if_stmt): Use NULL instead of empty stmt.
- 	* gimplify.c (build_and_jump, gimplify_exit_expr,
- 	gimplify_init_constructor, gimplify_save_expr, gimple_push_cleanup,
- 	gimplify_stmt, gimplify_expr): Likewise.
- 	(shortcut_cond_expr): Handle NULL arms of COND_EXPR.
- 	(gimplify_statement_list): Remove NULL entries.
- 	(gimplify_to_stmt_list): Handle NULL results.
- 	(gimplify_type_sizes): Add list_p argument.
- 	(gimplify_one_sizepos): Don't use internal pre/post queue.
- 	* tree-gimple.h (gimplify_type_sizes): Update.
- 
- 2004-06-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/rs6000/rs6000.md (*insvsi_internal5/6): New patterns.
- 
- 2004-06-22  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	* cfghooks.c (make_forwarder_block): Decrement count on fallthru edge
- 	when redirecting back edges.
- 
- 	* cfghooks.c (split_block): Call make_single_succ_edge so that edge
- 	count/probability are set correctly.
- 
- 2004-06-22  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (emit_side_effect_warnings): Ignore error marks.
- 	(c_finish_stmt_expr): Likewise.
- 
- 	* config/i386/i386.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(ix86_return_in_memory): Move SSE vector return warning ...
- 	(ix86_struct_value_rtx): ... here.  New.
- 
- 2004-06-22  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.def (VTABLE_REF): Remove.
- 	(OBJ_TYPE_REF): New.
- 	(TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
- 	* expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
- 	* fold-const.c (non_lvalue): Likewise.
- 	* gimplify.c (gimplify_expr): Likewise.
- 	(gimplify_call_expr): Use is_gimple_call_addr.
- 	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
- 	* langhooks.h (fold_obj_type_ref): New.
- 	* tree-gimple.c (is_gimple_call_addr): New.
- 	* tree-gimple.h (is_gimple_call_addr): Declare.
- 	* tree-inline.c (inlinable_function_p): Fix merge error.
- 	(estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	(print_call_name): Handle OBJ_TYPE_REF.
- 	* tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
- 	* tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
- 	* tree.h (OBJ_TYPE_REF_EXPR): New.
- 	(OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
- 	* doc/c-tree.texi (VTABLE_REF): Remove.
- 	* objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
- 
- 2004-06-22  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/16026
- 	* function.c (assign_parms): Don't abort for overaligned PARALLEL.
- 
- 2004-06-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* Makefile.in (distclean): Don't try to remove empty directories.
- 
- 2004-06-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/15869
- 	* config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
- 
- 2004-06-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md (movdi, movdf): Use high/low for movu
- 	operands.
- 
- 2004-06-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (legitimate_offset_address_p): Make
- 	global, rename rs6000_legitimate_offset_address_p.
- 	(rs6000_legitimate_address_p): Adjust calls to it.
- 	(lmw_operation): Ditto.
- 	(stmw_operation): Ditto.
- 	* config/rs6000/rs6000-protos.h: Declare it.
- 	* config/rs6000/rs6000.md (*movdf_hardfloat32): Use it
- 	instead of offsettable_memref_p.
- 
- 2004-06-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
- 	[reg+reg] mode for TFmode memory accesses.
- 	(rs6000_eliminate_indexed_memrefs): New.
- 	(rs6000_emit_move): Call preceding for TImode and TFmode.
- 
- 2004-06-22  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-cfg.c (pass_warn_function_return): It needs
- 	CFG, not SSA.
- 
- 2004-06-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/invoke.texi (Machine Dependent Options): Alphabetize.
- 	(Submodel Options): Likewise.
- 
- 2004-06-21  Andrew Pinski  <apinski@apple.com>
- 
- 	Radar #: 3701874
- 	* c-decl.c (push_file_scope): Return early if we already
- 	have a file scope.
- 
- 2004-06-21  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-opts.c (c_common_handle_option): Handle -fpch-preprocess.
- 	* c-common.h (flag_pch_preprocess): Declare.
- 	(c_common_pch_pragma): Likewise.
- 	* c-common.c (flag_pch_preprocess): New.
- 	* c-pch.c (c_common_read_pch): Support -fpreprocess-only.
- 	(c_common_pch_pragma): New.
- 	* c-ppoutput.c (cb_read_pch): New.
- 	(init_pp_output): Support -fpch-preprocess.
- 	* c-pragma.c (init_pragma): Support #pragma GNUC pch_preprocess.
- 	* c.opt (fpch-preprocess): New.
- 	* gcc.c (cpp_options): When save-temps, pass -fpch-preprocess.
- 	* doc/cppopts.texi: Document -fpch-preprocess.
- 	* doc/invoke.texi (Precompiled Headers): Mention that
- 	-fpreprocessed is safe for PCH.  Mention that if an option is
- 	listed as safe that doesn't mean it does what you expect.
- 
- 2004-06-22  Ben Elliston  <bje@au.ibm.com>
- 
- 	* tree-ssa.c (ssa_redirect_edge): Correct leading comment.
- 
- 2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (gimplify.o): Add cgraph.h.
- 	* alias.c (adjust_offset_for_component_ref): Use
- 	component_ref_field_offset.
- 	* c-decl.c (build_array_declarator): Add news args for ARRAY_REF.
- 	* c-gimplify.c (gimplify_expr_stmt): Use alloc_stmt_list.
- 	(gimplify_decl_stmt): Call gimplify_type_sizes for type.
- 	For decl, call gimplify_one_sizepos and use statement list.
- 	(gimplify_compound_literal_expr): New arg PRE_P.
- 	Add statement to PRE_P list and return DECL.
- 	(c_gimplify_expr, case COMPOUND_LITERAL_EXPR): Add arg to
- 	gimplify_compound_literal_expr.
- 	* c-tree.h (getdecls): Deleted.
- 	* c-typeck.c (build_component_ref): Add operand for COMPONENT_REF.
- 	(build_array_ref): Add two operands for ARRAY_REF.
- 	(build_unary_op): Set TREE_INVARIANT and TREE_CONSTANT for
- 	COMPOUND_LITERAL_EXPR.
- 	* coverage.c (tree_coverage_counter_ref): Add new operands
- 	for ARRAY_REF.
- 	* emit-rtl.c (component_ref_for_mem_expr): Add new operand
- 	for COMPONENT_REF.
- 	(set_mem_attributes_minus_bitpos): Use array_ref_low_bound
- 	and array_ref_element_size.
- 	(widen_memory_access):Use component_ref_field_offset.
- 	* explow.c (update_nonlocal_goto_save_area): Add two operands
- 	for ARRAY_REF.
- 	* expr.c (array_ref_element_size, array_ref_low_bound): New functions.
- 	(component_ref_field_offset): Likewise.
- 	(get_inner_reference): Use them.
- 	(expand_expr_real_1, case ARRAY_REF): Use array_ref_low_bound.
- 	* fold-const.c (fold, case EQ_EXPR): Properly handle DECL_SIZE.
- 	(fold_read_from_constant_string): Use array_ref_low_bound.
- 	Verify that result is a character type.
- 	(build_fold_indirect_ref): Add two operands for ARRAY_REF.
- 	* function.c (expand_function_start): Likewise.
- 	* gimple-low.c (expand_var_p): Delete duplicated line.
- 	* gimplify.c: Add static decls for local functions.
- 	(cgraph.h): Now included.
- 	(create_tmp_var): Remove check for ARRAY_TYPE.
- 	(copy_if_shared_r): Look at bounds and sizes of types.
- 	(build_and_jump): Return alloc_stmt_list instead of build_empty_stmt.
- 	(gimplify_exit_expr, shortcut_cond_expr): Likewise.
- 	(gimplify_save_expr, gimple_push_cleanup): Likewise.
- 	(gimplify_init_constructor): Likewise.
- 	WANT_VALUE now bool.
- 	If empty list with no result wanted, return GS_UNHANDLED.
- 	Add additional operands for ARRAY_REF and COMPONENT_REF.
- 	(canonicalize_component_ref): Convert to &array[L].
- 	(gimplify_array_ref_to_plus): Use array_ref_element_size and
- 	array_ref_lower_bound.
- 	(build_addr_expr_with_type, build_addr_expr): New functions.
- 	(gimplify_compound_lval): WANT_LVALUE now bool.
- 	Major rework to allow handle_component_p and initialize and
- 	gimplify new operands for ARRAY_REF, ARRAY_RANGE_REF, and
- 	COMPONENT_REF.
- 	(gimplify_array_ref): Deleted.
- 	(gimplify_self_mod_expr): WANT_VALUE now bool.
- 	(gimplify_modify_expr): Gimplify to_p and from_p later.
- 	Factor out code into gimplify_modify_expr_rhs and call twice.
- 	Move variable-size code earlier and handle PLACEHOLDER_EXPR.
- 	(gimplify_modify_expr_rhs, gimplify_variable_sized_compare): New fns.
- 	(gimplify_addr_expr, case VIEW_CONVERT_EXPR): New case.
- 	(gimplify_expr, case ARRAY_REF): Delete special case.
- 	Instead handle like COMPONENT_REF; also do ARRAY_RANGE_REF,
- 	IMAGPART, and REALPART the same way.
- 	(gimplify_expr, case VIEW_CONVERT_EXPR): New case.
- 	(gimplify_expr): Call gimplify_variable_sized_compare if applicable.
- 	Call alloc_stmt_list instead of build_empty_stmt.
- 	Deal with _REF that's volatile.
- 	(gimplify_type_sizes, gimplify_one_sizepos): New functions.
- 	(unshare_body, unvisit_body): New functions.
- 	(gimplify_body): Call them.
- 	* stmt.c (expand_stack_alloc): Don't expand TYPE_MAX_VALUE.
- 	* stor-layout.c (get_pending_sizes): Don't change SAVE_EXPR_CONTEXT.
- 	* tree-alias-common.c (get_alias_var): Also skip ARRAY_RANGE_REF.
- 	* tree-cfg.c (tree_node_can_be_shared): Treat ARRAY_RANGE_REF
- 	like ARRAY_REF.
- 	(verify_expr, case ADDR_EXPR): Use handled_component_p.
- 	* tree-dfa.c (get_virtual_var): Likewise.
- 	* tree-dump.c (dequeue_and_dump, case COMPONENT_REF, ARRAY_REF):
- 	New cases to dump new operands; likewise for ARRAY_RANGE_REF.
- 	* tree-eh.c (tree_could_trap, case ARRAY_RANGE_REF): Like ARRAY_REF.
- 	* tree-gimple.c (is_gimple_addr_expr_arg): Add ARRAY_RANGE_REF
- 	and INDIRECT_REF.
- 	(get_base_address): Use handled_component_p.
- 	* tree-gimple.h (gimplify_type_sizes, gimplify_one_sizepos): New.
- 	* tree-inline.c (walk_tree): Walk more things for types and decls.
- 	* tree-mudflap.c (mf_build_check_statement_for): Add new operands
- 	for ARRAY_REF and COMPONENT_REF.
- 	(mx_xform_derefs_1): Clean up usage of decl sizes.
- 	* tree-nested.c (build_addr): Use handled_component_p.
- 	(walk_stmts, case CATCH_EXPR): Add missing "break".
- 	(get_static_chain, get_frame_field): Add new operand for COMPONENT_REF.
- 	(finalize_nesting_tree_1): Likewise.
- 	(convert_nonlocal_reference, case ARRAY_RANGE_REF): Like ARRAY_REF
- 	and process additional operands.
- 	(convert_local_reference): Likewise.
- 	* tree-outof-ssa.c (discover_nonconstant_array_refs_r): Treat
- 	ARRAY_RANGE_REF similarly to ARRAY_REF.
- 	* tree-pretty-print.c (dump_generic_node, case QUAL_UNION_TYPE): Handle
- 	like RECORD_TYPE.
- 	(dump_generic_node, case COMPONENT_REF): Print offset operand.
- 	(dump_generic_node, case ARRAY_RANGE_REF): Treat like ARRAY_REF
- 	and print lower bound and element size for both.
- 	(op_prio, case ARRAY_RANGE_REF): Like ARRAY_REF.
- 	* tree-sra.c (csc_build_component_ref): Add new operand.
- 	(scalarize_call_expr): Use get_base_address.
- 	* tree-ssa-ccp.c (widen_bitfield): Clean up size handling.
- 	(maybe_fold_offset_to_array_ref): Rework to handle input having an
- 	ARRAY_REF, refine handling of lower bound, and add new operands
- 	for ARRAY_REF.
- 	(maybe_fold_to_component_ref): Add new operand for COMPONENT_REF.
- 	(maybe_fold_stmt_indirect): Only fold *&B to B if types match.
- 	(maybe_fold_stmt_addition): Only handle constant lower bound.
- 	* tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
- 	Treat ARRAY_REF and ARRAY_RANGE_REF the same; look at extra operands.
- 	Look at new offset operand of COMPONENT_REF.
- 	* tree-ssa.c (set_is_used): Use handled_component_p.
- 	* tree.c (substitute_in_expr, case COMPONENT_REF): Add new operand.
- 	(stabilize_reference, case COMPONENT_REF): Likewise.
- 	(stabilize_reference, case ARRAY_RANGE_REF, ARRAY_REF): Similarly.
- 	(recompute_tree_invariant_for_addr_expr): Completely rework to
- 	be more precise.  Also set TREE_SIDE_EFFECTS.
- 	(build1_stat, case ARRAY_EXPR): Don't handle TREE_SIDE_EFFECTS here.
- 	(build2_stat, build3_stat, build4_stat): For references,
- 	propagate TREE_THIS_VOLATILE.
- 	(get_unwidened): Add new operand for COMPONENT_REF.
- 	(get_narrower): Likewise; use host_integerp for DECL_SIZE.
- 	* tree.def (COMPONENT_REF): Add new operand.
- 	(ARRAY_REF, ARRAY_RANGE_REF): Add two new operands.
- 	* tree.h (array_ref_element_size, array_ref_low_bound): New decls.
- 	(component_ref_field_offset): Likewise.
- 	* config/alpha/alpha.c (alpha_va_start): Add new op for COMPONENT_REF.
- 	(alpha_gimplify_va_arg): Likewise.
- 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
- 	* config/i860/i860.c (i860_va_start, i860_va_arg): Likewise.
- 	* config/iq2000/iq2000.c (iq2000_va_arg): Likewise.
- 	* config/mips/mips.c (mips_va_start, mips_va_arg): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
- 	Likewise.
- 	* config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
- 	* config/sh/sh.c (sh_va_start, sh_va_arg): Likewise.
- 	* config/stormy16/stormy16.c (xstormy1_expand_builin_va_start):
- 	Likewise.
- 	(xstormy16_expand_builtin_va_arg): Likewise.
- 	* config/xtensa/xtensa.c (xtensa_va_start, xtensa_va_arg): Likewise.
- 	* objc/objc-act.c (generate_static_references): Likewise.
- 	(generate_strings, build_method_prototype_list_template): Likewise.
- 	(generate_protocol_list): Likewise.
- 
- 2004-06-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR rtl-optimization/14782
- 	* pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
- 	the address checks for secondary reloads for loads from and stores
- 	to floating-point registers.
- 	* pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
- 	in the address check.  Move work around for ELF32 targets to
- 	GO_IF_LEGITIMATE_ADDRESS.
- 	(GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
- 	correctly aligned for DImode loads and stores.  Don't allow long
- 	SFmode displacements on ELF32.
- 
- 2004-06-21  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/16114
- 	* cse.c (merge_equiv_classes): Also rehash in response to
- 	delete_reg_equiv changes.
- 	(rehash_using_reg): Don't exclude REGs from rehashing.
- 
- 2004-06-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (RETURN_STMT): Remove.
- 	* c-common.h (RETURN_STMT_EXPR): Remove.
- 	(c_expand_return, build_return_stmt): Remove.
- 	(c_common_stmt_codes): Remove RETURN_STMT.
- 	* c-dump.c (dump_next_stmt): Remove.
- 	(c_dump_tree): Remove RETURN_STMT.
- 	* c-decl.c (finish_function): Use c_finish_return.
- 	* c-parse.in (stmt): Likewise.
- 	* c-gimplify.c (gimplify_return_stmt): Remove.
- 	(c_gimplify_expr): Remove RETURN_STMT.
- 	* c-pretty-print.c (pp_c_statement): Likewise.
- 	* c-semantics.c (build_return_stmt): Remove.
- 	* c-tree.h (c_finish_return): Declare.
- 	* c-typeck.c (c_finish_return): Rename from c_expand_return.
- 	Return void.  Build RETURN_EXPR directly.
- 	* tree-dump.h (dump_next_stmt): Remove.
- 
- 2004-06-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (start_function): Don't call make_decl_rtl.  Don't
- 	look at TREE_ADDRESSABLE of symbol name.
- 
- 2004-06-21  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR target/15551
- 	* config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
- 	(allocate_stack_worker): Make unspec_volatile.
- 	(allocate_stack_worker_rex64):  Likewise.
- 	(allocate_stack_worker_postreload):  Likewise.
- 	(allocate_stack_worker_rex64_postreload):  Likewise.
- 
- 2004-06-21  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR optimization/15982
- 	* tree-ssa-pre.c: Update a few comments and todos to
- 	reflect constants change.
- 	(get_value_handle): Constants now value number to themselves.
- 	(lookup): Constants lookup to themselves.
- 	(add_to_value): Adjust to always be on.
- 	(set_contains_value): Adjust for constants change.
- 	(find_leader): Ditto.
- 	(phi_translate): 'r' nodes are never ANTIC right now.
- 	(valid_in_set): Ditto.
- 	(get_expr_set): New function.
- 	(find_or_generate_expression): New function, broken out from
- 	insert_aux.
- 	(create_expression_by_pieces): Ditto, plus additional
- 	machinery to handle complex values.
- 	(compute_avail): Remove dead RETURN_EXPR handling.
- 
- 2004-06-21  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/i386/i386.c: Include insn-codes.h
- 	* config/i386/i386.h (FLAGS_REG, FPSR_REG, DIRFLAG_REG): Don't
- 	define here.
- 	* config/i386/i386.md (BP_REG, SP_REG, FLAGS_REG, FPSR_REG,
- 	DIRFLAG_REG): New define_constants.  Use them everywhere.
- 
- 2004-06-21  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/t-linux (MULTILIB_OPTIONS): Remove.
- 
- 2004-06-21  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4): Conditionally define.
- 	(SUPPORT_SH4_SINGLE): Likewise.
- 	(TARGET_SWITCHES): Break out switches for cpu subtargets:
- 	(TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E): Define.
- 	(TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E): Likewise.
- 	(TARGET_SWITCH_SH4_SINGLE_ONLY, TARGET_SWITCH_SH4_SINGLE): Likewise.
- 	(TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4): Likewise.
- 	(TARGET_SWITCH_SH5_64MEDIA, TARGET_SWITCH_SH5_64MEDIA_NOFPU): Likewise.
- 	(TARGET_SWITCHES_SH5_32MEDIA): Likewise.
- 	(TARGET_SWITCHES_SH5_32MEDIA_NOFPU): Likewise.
- 	(SELECT_SH5_64, SELECT_SH5_64_NOFPU): Rename to:
- 	(SELECT_SH5_64MEDIA, SELECT_SH5_64MEDIA_NOFPU)
- 	(SELECT_SH5_32, SELECT_SH5_32_NOFPU): Rename to:
- 	(SELECT_SH5_32MEDIA, SELECT_SH5_32MEDIA_NOFPU).
- 	(SH_MULTILIB_CPU_DEFAULT, MULTILIB_DEFAULTS): Define.
- 	(ASM_ISA_SPEC_DEFAULT, ASM_ISA_DEFAULT_SPEC): Likewise.
- 	* sh64.h (ASM_SPEC, LINK_DEFAULT_CPU_EMUL): Don't redefine.
- 	(TARGET_DEFAULT): Likewise.
- 	* config/sh/t-elf: Amend comment.
- 	* config/sh/t-1e, config/sh/t-mlib-sh1: New files.
- 	* config/sh/t-mlib-sh2, config/sh/t-mlib-sh2e: Likewise.
- 	* config/sh/t-mlib-sh3, config/sh/t-mlib-sh3e: Likewise.
- 	* config/sh/t-mlib-sh4, config/sh/t-mlib-sh4-nofpu: Likewise.
- 	* config/sh/t-mlib-sh4-single: Likewise.
- 	* config/sh/t-mlib-sh4-single-only: Likewise.
- 	* config/sh/t-mlib-sh5-32media: Likewise.
- 	* config/sh/t-mlib-sh5-32media-nofpu: Likewise.
- 	* config/sh/t-mlib-sh5-64media: Likewise.
- 	* config/sh/t-mlib-sh5-64media-nofpu: Likewise.
- 	* config/sh/t-mlib-sh5-compact: Likewise.
- 	* config/sh/t-mlib-sh5-compact-nofpu: Likewise.
- 	* config/sh/t-sh: (MULTILIB_ENDIAN): Add mb.
- 	(MULTILIB_CPUS): Define.
- 	(MULTILIB_OPTIONS): Use MULTILIB_CPUS.
- 	(MULTILIB_MATCHES): Use some shell code to calculate it.
- 	(MULTILIB_EXCEPTIONS): Change to ml/m1.
- 	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Use ASM_ISA_DEFAULT_SPEC.
- 	* config/sh/netbsd-elf.h: Update code which sets TARGET_VERSION_CPU.
- 	(LINK_DEFAULT_CPU_EMUL): Don't redefine.
- 	(NO_PROFILE_COUNTERS): Define to 1.
- 	* config/sh/t-netbsd (MULTILIB_OPTIONS): Don't append to.
- 	(MULTILIB_DIRNAMES, MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
- 	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Don't redefine.
- 	(MULTILIB_MATCHES): Don't zap.
- 	(MULTILIB_DIRNAMES): Use MULTILIB_RAW_DIRNAMES.
- 	* config/sh/t-sh64 (MULTILIB_OPTIONS): Don't redefine.
- 	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Don't zap.
- 	(MULTILIB_RAW_DIRNAMES): Define.
- 	(MULTILIB_DIRNAMES): Use it.
- 	* config.gcc: Also set cpu_type / need_64bit_hwint for sh[be]*-*-*.
- 	(sh*linux configurations): Merge into:
- 	(sh*elf / sh*kaos configurations).  Support --with-endian, --with-cpu,
- 	--with-multilib-list options.  Support sh-superh-elf configuration.
- 	(sh*-netbsd*): Use SELECT_SH* macros.
- 	(supported_defaults): sh[123456ble]-*-* | sh-*-* support "cpu".
- 	Merge sh*-*-netbsd* configurations into sh-elf configurations.
- 	* config/sh/t-netbsd-sh5, config/sh/t-be, config/sh/t-le: Delete.
- 	* config/sh/t-monolib: Likewise.
- 
- 2004-06-21  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Soft-float need
- 	not imply FPA.
- 
- 2004-06-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (operand_equal_p): Pass flags in recursive calls for
- 	binary and relational operations.  Add support for TRUTH_ANDIF_EXPR,
- 	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR and TRUTH_XOR_EXPR.
- 	* tree.c (commutative_tree_code): Also list UNORDERED_EXPR,
- 	ORDERED_EXPR, UNEQ_EXPR, LTGT_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR
- 	and TRUTH_XOR_EXPR.
- 
- 2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* rtlanal.c (may_trap_p): Mark LTGT as trapping.
- 
- 2004-06-21  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* tree-alias-common.h (struct tree_alias_ops): Change ip and
- 	ip_partial to unsigned int.
- 
- 2004-06-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (verify_sequence_points): Export.
- 	(c_expand_expr_stmt): Move to c-typeck.c.
- 	* c-common.h (c_expand_expr_stmt): Remove.
- 	(verify_sequence_points): Declare.
- 	* c-mudflap.c (mflang_flush_calls): Use c_finish_expr_stmt.
- 	* c-parse.in (for_init_stmt, stmt): Likewise.
- 	* c-tree.h (c_finish_expr_stmt): Declare.
- 	(c_tree_expr_nonnegative_p): Remove.
- 	* c-typeck.c (c_tree_expr_nonnegative_p): Remove.
- 	(build_conditional_expr, build_binary_op): Use tree_expr_nonnegative_p.
- 	(emit_side_effect_warnings): New.
- 	(c_finish_expr_stmt): Rename from c_expand_expr_stmt.  Use it.
- 	(c_finish_stmt_expr): Work without EXPR_STMT.  Handle eh regions.
- 	Use emit_side_effect_warnings.
- 	(push_cleanup): Copy STATEMENT_LIST_STMT_EXPR.
- 	* fold-const.c (tree_expr_nonnegative_p): Handle TARGET_EXPR.
- 	* gimplify.c (gimplify_modify_expr): Don't discard TARGET_EXPR
- 	with void initializer.
- 	(gimplify_target_expr): Handle void BIND_EXPR initializer.
- 	* tree-inline.c (estimate_num_insns_1): Fix type lookup for
- 	INIT_EXPR and MODIFY_EXPR.
- 	* objc/objc-act.c (build_module_descriptor): Use add_stmt
- 	instead of c_expand_expr_stmt.
- 
- 2004-06-21  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* fold-const.c (fold_cond_expr_with_comparison):
- 	New function, extracted from fold.
- 	(fold): Extract code to fold A op B ? A : C, use
- 	it to fold A op B ? C : A.  Really optimize
- 	A & N ? N : 0 where N is a power of two.  Avoid
- 	relying on canonicalization and recursion for
- 	foldings of COND_EXPR to happen.
- 
- 2004-06-20  David Ayers  <d.ayers@inode.at>
- 
- 	* objc/objc-act.h (get_object_reference): Rename to
- 	get_protocol_reference.
- 	(super_type): Rename to objc_super_type.
- 	(selector_type): Rename to objc_selector_type.
- 	(id_type): Rename to objc_id_type.
- 	(instance_type): Rename to objc_instance_type.
- 	(protocol_type): Rename to objc_protocol_type.
- 	(IS_ID): Update reference to id_type.
- 	* objc/objc-act.c (get_object_reference): Rename to
- 	get_protocol_reference; add documentation; update references to
- 	id_type.
- 	(lookup_method_in_protocol_list): Rename class_meth to
- 	is_class; add documentation.
- 	(finish_message_expr): Rename is_class to class_tree.
- 	(synth_module_prologue, objc_is_object_ptr, objc_build_exc_ptr,
- 	next_sjlj_build_try_catch_finally, objc_begin_catch_clause,
- 	build_next_objc_exception_stuff, get_arg_type_list,
- 	build_objc_method_call): Update references to id_type.
- 	(synth_module_prologue, build_objc_symtab_template,
- 	build_selector_reference_decl, build_selector,
- 	build_selector_translation_table, build_typed_selector_reference,
- 	get_arg_type_list, synth_self_and_ucmd_args, get_arg_type_list,
- 	synth_self_and_ucmd_args): Update references to selector_type.
- 	(build_private_template, build_ivar_reference):	Update references
- 	to instance_type.
- 	(synth_module_prologue, build_protocol_reference,
- 	build_protocol_expr, start_protocol): Update references to
- 	protocol_type.
- 	(synth_module_prologue, get_arg_type_list, build_objc_method_call):
- 	Update references to super_type.
- 	* c-parse.in: (typespec_nonreserved_nonattr): Update
- 	references to get_object_reference.
- 	* objc/objc-tree.def: Add C mode identifier sequence.
- 
- 2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop-invariant.c: New file.
- 	* Makefile.in (loop-invariant.o): New.
- 	* cfgloop.h (global_cost_for_size, init_set_costs,
- 	move_loop_invariants): Declare.
- 	* cfgloopanal.c (seq_cost, init_set_costs, global_cost_for_size): New
- 	functions.
- 	(avail_regs, res_regs, small_cost, pres_cost, spill_cost): New
- 	variables.
- 	* common.opt (floop-optimize2, fmove-loop-invariants): New options.
- 	* loop-init.c (loop_optimizer_init): Call init_set_costs.
- 	* passes.c (rest_of_handle_loop2): Call move_loop_invariants.
- 	(rest_of_compilation): Check flag_loop_optimize2.
- 	* toplev.c (process_options): Handle flag_loop_optimize2.
- 	* doc/invoke.texi (-floop-optimize2, -fmove-loop-invariants): Document.
- 	* doc/passes.texi (loop-invariant.c): Document.
- 
- 2004-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-pre.c (compute_antic): Keep BB_VISITED flag zeroed.
- 
- 2004-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (warn_if_unused_value): Add locus argument.
- 	* tree.h (warn_if_unused_value): Update decl.
- 	* c-typeck.c (internal_build_compound_expr): Update call.
- 	* c-gimplify.c (gimplify_expr_stmt): Likewise.
- 
- 2004-06-20  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/16089
- 	* builtins.c (entry_of_function): Move to ...
- 	* cfgrtl.c (entry_of_function): Here and make non-static.
- 	* integrate.c (emit_initial_value_sets): Use entry_of_function.
- 	* rtl.h (entry_of_function): Prototype.
- 
- 2004-06-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (pentium4_cost): Increase "lea" cost from 1 to 3.
- 	(ix86_rtx_costs) <ASHIFT, PLUS>: Consider ix86_cost->lea even when
- 	TARGET_DECOMPOSE_LEA.
- 
- 2004-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (add_decl_stmt): Move to cp-tree.h.
- 	* c-decl.c (finish_decl): Don't use add_decl_stmt.
- 	* c-parse.in: Likewise.
- 	* c-gimplify.c (gimplify_expr_stmt): Don't build CLEANUP_POINT_EXPR.
- 	(gimplify_c_loop, gimplify_return_stmt, gimplify_decl_stmt): Likewise.
- 	* c-semantics.c (add_decl_stmt): Move to cp/semantics.c.
- 
- 2004-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (IF_STMT, CLEANUP_STMT): Move to cp-tree.def.
- 	* c-common.h (IF_COND, THEN_CLAUSE, ELSE_CLAUSE, CLEANUP_BODY,
- 	CLEANUP_EXPR, CLEANUP_DECL): Move to cp-tree.h.
- 	(c_common_stmt_codes): Remove IF_STMT, CLEANUP_STMT.
- 	* c-dump.c (c_dump_tree): Move IF_STMT, CLEANUP_STMT to cp_dump_tree.
- 	* c-pretty-print.c (pp_c_statement): Similarly.
- 	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts,
- 	gimplify_if_stmt): Move to cp-gimplify.c.
- 	(c_genericize, c_gimplify_expr): Don't call them.
- 	* c-semantics.c (push_cleanup): Move to cp/semantics.c.
- 	* c-typeck.c (push_cleanup): New.
- 	(c_begin_if_stmt, c_finish_if_cond, c_finish_then, c_finish_else,
- 	c_finish_if_stmt): Use COND_EXPR.
- 	* tree.h (CLEANUP_EH_ONLY): Update documentation.
- 
- 2004-06-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.h (has_c_linkage): New interface.
- 	* c-cppbuiltin.c: Include target.h.
- 	(c_cpp_builtins): Define __PRAGMA_REDEFINE_EXTNAME and
- 	__PRAGMA_EXTERN_PREFIX when appropriate.
- 	* c-pragma.c: Include target.h.
- 	Document clarified semantics of symbol-renaming #pragmas.
- 	(handle_pragma_redefine_extname, handle_pragma_extern_prefix)
- 	(maybe_apply_renaming_pragma): Rewrite according to clarified
- 	semantics.  Always recognize, but do not necessarily execute.
- 	(init_pragma): Unconditionally register symbol-renaming pragmas.
- 	* system.h: Poison HANDLE_PRAGMA_REDEFINE_EXTNAME
- 	and HANDLE_PRAGMA_EXTERN_PREFIX.
- 	* target.h (struct gcc_target): Add handle_pragma_redefine_extname
- 	and handle_pragma_extern_prefix flags.
- 	* target-def.h: Add defaults for TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME
- 	and TARGET_HANDLE_PRAGMA_EXTERN_PREFIX.
- 	* Makefile.in (c-pragma.o, c-cppbuiltin.o): Update dependencies.
- 	* config/sol2.h: Define TARGET_HANDLE_PRAGMA_REDEFINE_EXTNAME,
- 	not HANDLE_PRAGMA_REDEFINE_EXTNAME.
- 	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_REDEFINE_EXTNAME.
- 	(TRANSFER_FROM_TRAMPOLINE): Prototype mprotect.
- 	* config/alpha/osf.h: Define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX,
- 	not HANDLE_PRAGMA_EXTERN_PREFIX.
- 	(TARGET_OS_CPP_BUILTINS): No need to define __PRAGMA_EXTERN_PREFIX.
- 	* doc/extend.texi (Solaris Pragmas, Tru64 Pragmas): Combine
- 	into one section "Symbol-Renaming Pragmas"; clarify; document
- 	adjusted semantics.
- 
- 	* builtins.c (expand_builtin): Do not issue error for a builtin
- 	with no special case code and no DECL_ASSEMBLER_NAME; just do the
- 	library call.
- 	* c-decl.c (builtin_function): Don't call make_decl_rtl.
- 	* c-objc-common.c (has_c_linkage): Stub implementation.
- 	* cgraphunit.c (cgraph_expand_function)
- 	(cgraph_remove_unreachable_nodes): Don't clear DECL_ARGUMENTS.
- 
- 2004-06-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_unordered_cmp): Take an EXP argument
- 	instead of both an ARGLIST and a result TYPE.  Handle these C99
- 	comparison functions as "polymorphic" builtins.  Also handle
- 	lowering of BUILT_IN_ISUNORDERED to an UNORDERED_EXPR tree node.
- 	(fold_builtin_1): Update calls to fold_builtin_unordered_cmp.
- 	Move handling of BUILT_IN_ISUNORDERED from here to there.
- 
- 2004-06-19  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c, c-common.h (lang_gimplify_stmt): Remove.
- 	* c-gimplify.c: Remove unnecessary prototypes.
- 	(c_gimplify_stmt): Merge into ...
- 	(c_gimplify_expr): ... here.  Don't play with prep_stmt.
- 	* c-semantics.c (prep_stmt): Remove.
- 	* gimplify.c (annotate_one_with_locus): Break out from ...
- 	(annotate_all_with_locus): ... here.
- 	(gimplify_expr): Add locus to expressions even if pre/post queues
- 	are not present.
- 
- 2004-06-19  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/15941
- 	* function.c (assign_parms): If not padding upward or intentionally
- 	forcing upward padding, take offset_rtx into account when determining
- 	the alignment for stack_parm.
- 
- 2004-06-19  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/15550
- 	* ifcvt.c (noce_try_move): Recognize all generated instructions.
- 
- 2004-06-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (free_after_compilation): Do not free computed_goto_common*.
- 	* function.h (struct function): Kill computed_goto_common*.
- 	* stmt.c (expand_computed_goto): Do not commonize the computed gotos.
- 	* tree-cfg.c (disband_implicit_edges): Do not forward across the
- 	commonized computed goto.
- 
- 2004-06-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* doc/invoke.texi: Remove obsolete comment regarding PA 2.0 support
- 	in binutils.
- 
- 2004-06-19  Andrew Pinski  <apinski@apple.com>
- 
- 	PR c++/15721
- 	* toplev.c (wrapup_global_declarations): Do not check
- 	TREE_SYMBOL_REFERENCED of the DECL_ASSEMBLER_NAME but check
- 	cgraph_varpool_node's needed field.
- 
- 2004-06-19  Jan Hubicka  <jh@suse.cz>
- 	    Steven Bosscher  <stevenb@suse.de>
- 
- 	CFG transparent RTL expansion:
- 	* Makefile.in (cfgexpand.o): New object file.
- 	(builtins.o): Add dependency on basic-block.h
- 	* builtins.c: Include basic-block.h
- 	(entry_of_function): New function.
- 	(expand_builtin_apply_args, expand_builtin_saveargs): Use it.
- 	* cfgexpand.c: New file.
- 	* expr.c (execute_expand, pass_expand): Kill.
- 	* pass.c (rest_of_compilation): Do not build CFG unless called from
- 	coverage code.
- 	* tree-cfg.c (delete_tree_cfg): Rename to..
- 	(delete_tree_cfg_annotations): ... this one; Do not remove the CFG itself.
- 	* tree-flow.h (delete_tree_cfg_annotations): Declare.
- 	(dleete_tree_cfg): Kill.
- 	* tree-optimize.c (execute_rebuild_bind, pass_rebuild_bind): Kill.
- 	(execute_del_cfg): Rename to...
- 	(execute_free_datastructures): This one...
- 	(pass_del_cfg): Rename to...
- 	(pass_free_datastructures): ... this one; Do not kill PROP_cfg.
- 	(init_tree_optimization_passes): Make cfg build and profiling to happen
- 	unconditionally.
- 
- 2004-06-19  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-mudflap.c (mf_decl_cache_locals): Skip labels before
- 	inserting the cache variables.
- 
- 	* tree-mudflap.c: Include headers to make basic_block available.
- 	Move functions around such that related functions are near each
- 	other.  Add prototypes for all static functions.  Add comments
- 	briefly explaining what IR the mudflap1 and mudflap2 work on and
- 	what they do.
- 	(mudflap_function_decls): Rename to execute_mudflap_function_decls.
- 	(mudflap_function_ops): Rename to execute_mudflap_function_ops.
- 	(pass_mudflap_1, pass_mudflap_2): Update.
- 	(mf_decl_cache_locals): Make it work on the CFG instead of the saved
- 	function tree.
- 	(mf_build_check_statement_for): Make it work on the CFG.
- 	(mf_xform_derefs_1): Likewise.  Cleanup code style.
- 	(mf_xform_derefs): Likewise.
- 
- 2004-06-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-cfg.c (label_to_block): Invent the label destination for
- 	undefined labels.
- 	(cleanup_dead_labels): Update table in the case label_to_block added
- 	new label.
- 
- 2004-06-18  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/16036
- 	* gimple-low.c (lower_function_body): Generate return statement for
- 	fall off the end of the function here ...
- 	* tree-cfg.c (make_edges): ... instead of here.
- 	* gimplify.c (gimplify_return_expr): Mark return temp TREE_NO_WARNING.
- 
- 2004-06-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa.c (raise_value): Removed.
- 	(get_eq_name, check_phi_redundancy): New functions.
- 	(kill_redundant_phi_nodes): Use standard ssa minimalization algorithm.
- 
- 2004-06-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <UNORDERED_EXPR, ORDERED_EXPR, UNLT_EXPR,
- 	UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR>: Add
- 	constant folding for unordered comparison tree nodes.  If both
- 	operands are real constants, call fold_relational_const.  If either
- 	operand is a NaN, evaluate the other for side-effects and return a
- 	constant.  Optimize (double)float1 CMP (double)float2 into the
- 	equivalent float1 CMP float2.
- 	(nondestructive_fold_binary_to_constant) <UNORDERED_EXPR,
- 	ORDERED_EXPR, UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR,
- 	LTGT_EXPR>: Call fold_relational_const for constant operands.
- 	(fold_relational_const): Add support for unordered comparison tree
- 	nodes.  Don't constant fold "ordered" floating point comparisons
- 	against NaN if when flag_trapping_math is set.
- 
- 2004-06-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (build_range_check): If !in_p and recursive call
- 	fails, exit immediately.  If high - low overflows and etype is
- 	a signed type, retry with unsigned etype.
- 	(merge_ranges): If !in0_p and !in1_p, handle even range2 adjacent
- 	to range1 at TYPE_MAX_VALUE and TYPE_MIN_VALUE.
- 
- 2004-06-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-gimplify.c (gimplify_condition): Remove.
- 	(gimplify_c_loop, gimplify_if_stmt, gimplify_switch_stmt): Don't
- 	call it.
- 
- 2004-06-18  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-eh.c (decide_copy_try_finally): Fix scaling of copy and
- 	switch estimates.
- 
- 2004-06-18  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/i386/darwin.h (HOT_TEXT_SECTION_NAME): Define.
- 	(NORMAL_TEXT_SECTION_NAME): Define.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
- 	(SECTION_FORMAT_STRING): Define.
- 
- 2004-06-18  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/xtensa/xtensa.c
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
- 	* xtensa.md: Replace the old pipeline description with a DFA model.
- 
- 2004-06-18  Steven Bosscher  <stevenb@suse.de>
- 	    Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- 
- 	* config/s390/s390.md: Remove the generic pipeline description.
- 	* config/s390/2064.md: Make all insn reservations apply to
- 	the z900, g5 and g6.
- 	* config/s390/s390.c (s390_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
- 	Define to hook_int_void_1.
- 	(s390_adjust_cost): Cleanup.  Don't check address dependency here.
- 	(s390_first_cycle_multipass_dfa_lookahead): Always return 4.
- 
- 2004-06-18  Daniel Berlin  <dberlin@dberlin.org>
- 			Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-dfa.c (create_var_ann): tree_ann -> tree_ann_t.
- 	(create_stmt_ann): Ditto.
- 	(create_tree_ann): New function.
- 	(create_cst_ann): Remove.
- 	(create_expr_ann): Ditto.
- 
- 	* tree-flow-inline.h (cst_ann): Remove.
- 	(get_cst_ann): Ditto.
- 	(get_expr_ann): Ditto.
- 	(expr_ann): Ditto.
- 	(get_tree_ann): New function.
- 	(tree_ann): Ditto.
- 	(ann_type): tree_ann -> tree_ann_t.
- 	* tree-flow.h (tree_ann_type): CST_ANN, EXPR_ANN removed.
- 	(struct cst_ann_d): Removed.
- 	(struct expr_ann_d): Ditto.
- 	(union tree_ann_d): Removed cst and expr.
- 	(tree_ann): Renamed to tree_ann_t.
- 	* tree-ssa-ccp.c (set_rhs): tree_ann -> tree_ann_t.
- 	* tree-ssa-pre.c (get_value_handle): Rewrite for single common
- 	annotation.
- 	(set_value_handle): Ditto.
- 	(phi_translate): Ditto.
- 	* tree-tailcall.c (adjust_return_value): tree_ann -> tree_ann_t.
- 
- 2004-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/t-linux64: New file.
- 	* config.gcc: Add it to tmake_file for sh64*-*-linux*.
- 
- 2004-06-18  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* emit-rtl.c (unshare_all_rtl_1): New name of unshare_all_rtl.
- 	(unshare_all_rtl_again): Call unshare_all_rtl_1.
- 	(unshare_all_rtl): New.
- 	* function.c (instantiate_virtual_regs): Remove parameters.
- 	* function.h (instantiate_virtual_regs): Add prototype.
- 	* rtl.h (unshare_all_rtl): Add prototype.
- 	* tree.h (instantiate_virtual_regs, unshare_all_rtl): Remove
- 	prototype.
- 	* passes.c: Remove assertions on the parameters to
- 	rest_of_handle_* functions.  Remove the parameters to
- 	the functions, replacing decl with current_function_decl
- 	and insns with get_insns ().
- 
- 2004-06-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (constant_boolean_node): Handle boolean_type_node
- 	directly, return either boolean_true_node or boolean_false_node.
- 
- 2004-06-18  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* opts.sh: Delete.  Break out generated code to next four files.
- 	* opt-gather.awk: New file.
- 	* optc-gen.awk: New file.
- 	* opth-gen.awk: New file.
- 	* opt-functions.awk: New common file.
- 	* Makefile.in: Update for above.
- 	* configure.ac: Update comment.
- 	* configure: Regenerate.
- 
- 2004-06-17  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (flag_objc_sjlj_exceptions): New.
- 	* c-common.h (flag_objc_sjlj_exceptions): Declare.
- 	* c-opts.c (c_common_handle_option): Set it.
- 	(c_common_post_options): Handle interation of different
- 	objective-c exception and runtime switches.
- 	* c-decl.c (c_eh_initialized_p): New.
- 	(finish_decl): Use it instead of local eh_initialized_p.
- 	* c-parse.in (nested_function, notype_nested_function): Record
- 	the result of compstmt.
- 	(compstmt_or_error): Likewise.
- 	(compstmt): Don't add_stmt the result.
- 	(stmt): Don't return anything.  Rewrite objc try and sync rules.
- 	(objc_try_stmt, objc_catch_list): Remove.
- 	(objc_catch_block, objc_finally_block): Remove.
- 	(objc_catch_prefix, objc_catch_clause, objc_opt_catch_list): New.
- 	(objc_try_catch_clause, objc_finally_clause): New.
- 	(objc_try_catch_stmt): Rewrite.
- 	* c-tree.h (c_eh_initialized_p): Declare.
- 	* c-opt (fobjc-sjlj-exceptions): New.
- 	* except.c (output_function_exception_table): Don't call cgraph
- 	on non-decls.
- 	* objc/objc-act.c (UTAG_EXCDATA_VAR, UTAG_CAUGHTEXC_VAR,
- 	UTAG_RETHROWEXC_VAR, UTAG_EVALONCE_VAR, struct val_stack,
- 	catch_count_stack, exc_binding_stack, if_nesting_count,
- 	blk_nesting_count, objc_enter_block, objc_exit_block,
- 	objc_declare_variable, val_stack_push, val_stack_pop,
- 	objc_build_try_enter_fragment, objc_build_extract_expr,
- 	objc_build_try_exit_fragment, objc_build_extract_fragment,
- 	objc_build_try_prologue, objc_build_try_epilogue,
- 	objc_build_catch_stmt, objc_build_catch_epilogue,
- 	objc_build_finally_prologue, objc_build_finally_epilogue,
- 	objc_build_try_catch_finally_stmt, objc_build_synchronized_prologue,
- 	objc_build_synchronized_epilogue): Remove.
- 	(objc_create_temporary_var, struct objc_try_context, cur_try_context,
- 	objc_eh_runtime_type, objc_init_exceptions, objc_build_exc_ptr,
- 	next_sjlj_build_try_exit, next_sjlj_build_enter_and_setjmp,
- 	next_sjlj_build_exc_extract, next_sjlj_build_catch_list,
- 	next_sjlj_build_try_catch_finally, objc_begin_try_stmt,
- 	objc_begin_catch_clause, objc_finish_catch_clause,
- 	objc_build_finally_clause, objc_finish_try_stmt,
- 	objc_build_synchronized): New.
- 	(objc_is_object_id, objc_is_class_id): New.
- 	(objc_comptypes): Use them.
- 	(build_next_objc_exception_stuff): Break NeXT sjlj out from
- 	build_objc_exception_stuff.
- 	(synth_module_prologue): Update to match.
- 	(objc_build_throw_stmt): Use cur_try_context to decide if
- 	we're in a @catch.
- 	* objc/objc-act.h: Update prototypes.
- 	(OCTI_EXCEPTION_BLK_STACK, objc_exception_block_stack): Remove.
- 
- 2004-06-17  Andrew Pinski <apinski@apple.com>
- 
- 	* c-typeck.c (tagged_types_tu_compatible_p <case UNION_TYPE>):
- 	Use TYPE_FIELDS instead of TYPE_VALUES.
- 
- 2004-06-17  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/16015
- 	* gimplify.c (gimplify_target_expr): Handle void initializer.
- 	* expr.c (expand_expr_real_1) [TARGET_EXPR]: Likewise.
- 	* doc/c-tree.texi (Expression trees): Update TARGET_EXPR
- 	and AGGR_INIT_EXPR.
- 
- 2004-06-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_relational_const): Use constant_boolean_node.
- 
- 2004-06-17  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/15433
- 	* i386.md (SSE SF cmov 0 splitter): The conditional is VOIDmode; fix
- 	operand numbering in the output template.
- 	(SSE DF cmov 0 splitter): The conditional is VOIDmode.
- 
- 2004-06-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* except.c (can_throw_internal): Recognize RESX expresisons.
- 
- 2004-06-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgbuild.c (make_edges): Do not use label_value_list.
- 	(find_basic_blocks_1): Do not collect label_value_list.
- 	(find_sub_basic_blocks): Update call of make_edges.
- 
- 2004-06-17  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* tree-cfg.c (tree_make_forwarder_block):  Use SET_PHI_RESULT.
- 	* tree-flow-inline.h (get_use_op_ptr):  Return a use_operand_p.
- 	(get_use_from_ptr, get_def_from_ptr):  New.  Return operand pointers.
- 	(get_def_op_ptr):  Return a def_operand_p instead of a 'tree *'.
- 	(get_v_may_def_result_ptr):  Return a def_operand_p.
- 	(get_v_may_def_op_ptr, get_vuse_op_ptr):   Return a use_operand_p.
- 	(get_v_must_def_op_ptr):  Return a def_operand_p.
- 	(get_phi_result_ptr):  New.  Return a pointer to the result of a PHI.
- 	(get_phi_arg_def_ptr):  New.  Return a pointer to an argument of a PHI.
- 	(phi_element_for_edge):  Remove.
- 	* tree-flow.h (propagate_value, replace_exp):  Change prototype.
- 	(propagate_tree_value):  Add new prototype.
- 	(phi_element_for_edge):  Remove prototype.
- 	* tree-into-ssa.c (mark_def_sites):  Use new operand types.
- 	(prepare_operand_for_rename):  Split into two functions.
- 	(prepare_use_operand_for_rename):  Prepare use operands.
- 	(prepare_def_operand_for_rename):  Prepare def operands.
- 	(rewrite_stmt):  Use new operand types.
- 	(rewrite_operand):  Use new operand types, change parameter type.
- 	* tree-outof-ssa.c (replace_variable):  Split into two functions.
- 	(replace_use_variable):  Rewrite uses.
- 	(replace_def_variable):  Rewrite defs.
- 	(rewrite_trees, rewrite_vars_out_of_ssa):  Use new operand types.
- 	* tree-phinodes.c (make_phi_node, resize_phi_node):  Use new types.
- 	(add_phi_arg, remove_phi_arg_num):  Use new operand types.
- 	* tree-ssa-ccp.c (substitute_and_fold):  Use new operand types.
- 	(ccp_fold, replace_uses_in):  Use new operand types.
- 	* tree-ssa-copy.c (replace_ssa_names):  Rename to replace_ssa_names_ann
- 	and no longer set the value, change parameter type.
- 	(replace_exp_1):  Use new operand types.
- 	(propagate_value):  Change parameter type, use new operand types.
- 	(propagate_tree_value):  Propagate_value without SSA operands.
- 	(replace_exp, cprop_operand, cprop_into_stmt):  Use new operand types.
- 	(cprop_into_successor_phis):  Use new operand types.
- 	* tree-ssa-dom.c (thread_across_edge):  Use new operand types.
- 	(eliminate_redundant_computations):  Use new operand types.
- 	* tree-ssa-dse.c (fix_phi_uses):  Use new operand_types.
- 	(fix_stmt_v_may_defs):  Use new operand_types.
- 	* tree-ssa-live.c (create_ssa_var_map):  Use new operand_types.
- 	(build_tree_conflict_graph):  Use new operand_types.
- 	* tree-ssa-loop.c (duplicate_blocks):  Use PHI_ARG_DEF_FROM_EDGE.
- 	* tree-ssa-operands.c (struct freelist_d):  Remove.
- 	(check_optype_freelist, add_optype_freelist):  Remove.
- 	(allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
- 	allocate_vuse_optype, allocate_v_must_def_optype):  Call ggc_alloc.
- 	(free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
- 	Call ggc_free instead of add_optype_freelist.
- 	(init_ssa_operands, fini_ssa_operands):  Remove free list code.
- 	(finalize_ssa_defs, finalize_ssa_uses):  Set new use/def operands.
- 	* tree-ssa-operands.h (struct def_optype_d):  Change underlying type.
- 	(struct use_optype_d):  Change underlying type.
- 	(def_operand_p, use_operand_p):  New types for pointers to operands.
- 	(USE_OP, DEF_OP, V_MAY_DEF_RESULT, V_MAY_DEF_OP, VUSE_OP,
- 	V_MUST_DEF_OP):  Use new pointer type instead of dereferencing directly.
- 	(USE_FROM_PTR, DEF_FROM_PTR):  New macros to "dereference" operand
- 	pointer types.
- 	(SET_USE, SET_DEF):  New macros to set operands from their pointer.
- 	(SET_USE_OP, SET_DEF_OP, SET_V_MAY_DEF_RESULT, SET_V_MAY_DEF_OP,
- 	SET_VUSE_OP, SET_V_MUST_DEF_OP): New SET routines for operands.
- 	(PHI_RESULT_PTR, PHI_RESULT, SET_PHI_RESULT):  Macros to manage the
- 	PHI result as an operand.
- 	(PHI_ARG_DEF_PTR, PHI_ARG_DEF, SET_PHI_ARG_DEF, PHI_ARG_DEF_FROM_EDGE,
- 	PHI_ARG_DEF_PTR_FROM_EDGE):  Macros to manage the PHI arguments.
- 	* tree-ssa-pre.c (eliminate):  Call propagate_tree_value.
- 	* tree-tailcall.c (independent_of_stmt_p, propagate_through_phis):  Use
- 	PHI_ARG_DEF_FROM_EDGE.
- 	* tree.h (PHI_RESULT):  Renamed to PHI_RESULT_TREE.
- 	(PHI_ARG_DEF):  Renamed to PHI_ARG_DEF_TREE.
- 
- 2004-06-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/15991
- 	* tree-cfg.c (tree_block_label): Export.
- 	* tree-flow-inline.h (bsi_after_labels): New function.
- 	* tree-flow.h (bsi_after_labels, tree_block_label): Declare.
- 	* tree-ssa.c (propagate_into_addr): New function.
- 	(replace_immediate_uses): Handle propagation of pointer constants.
- 	(raise_value): Do not restrict propagation of pointer constants.
- 	* tree-ssanames.c (duplicate_ssa_name): New function.
- 	* tree.h (duplicate_ssa_name): Declare.
- 
- 2004-06-17  David Ayers  <d.ayers@inode.at>
- 
- 	* c-parse.in: Unify Objective-C token names.
- 
- 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	Bug 14610
- 	* Makefile.in (min-insn-modes.o): Correct dependencies.
- 	* real.c (encode_ieee_extended, decode_ieee_extended): Always
- 	produce/consume 12-byte little-endian Intel format.
- 	(encode_ieee_extended_128, decode_ieee_extended_128): Delete.
- 	(encode_ieee_extended_motorola, decode_ieee_extended_motorola)
- 	(encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
- 	(encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
- 	New functions which convert between 12-byte little-endian Intel
- 	format and the desired format.
- 	(ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
- 	(ieee_extended_intel_96_format, ieee_extended_intel_128_format):
- 	Update.
- 
- 2004-06-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* expmed.c (expand_mult_const): In sanity check, compare only
- 	the bits of val and val_so_far that are significant in the
- 	result mode.
- 
- 2004-06-17  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c:  Update comments.
- 	(val_expr_pair_eq): Factor code from here.
- 	(expr_pred_trans_eq): and here.
- 	(expressions_equal_p): To here.
- 	(print_value_set): Print value for expression.
- 	(phi_trans_lookup): Rename some variables.
- 	(lookup): Ditto.
- 	(value_exists_in_set_bitmap): Ditto.
- 	(value_remove_from_set_bitmap): Ditto.
- 	(value_insert_into_set_bitmap): Ditto.
- 
- 2004-06-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-modes.def (CCL3mode): New machine mode.
- 	* config/s390/s390.c (s390_match_ccmode_set): Support CCL3mode.
- 	(s390_alc_comparison, s390_slb_comparison): Likewise.
- 	(s390_branch_condition_mask): Likewise.
- 	* config/s390/s390.md ("*subdi3_cc2", "*subdi3_cconly2"): New.
- 	("*subsi3_cc2", "*subsi3_cconly2"): New.
- 
- 	* config/s390/s390.h (PREDICATE_CODE): Accept SIGN_EXTEND and
- 	ZERO_EXTEND for s390_alc_comparison and s390_slb_comparison.
- 	* config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
- 	Handle SIGN_EXTEND and ZERO_EXTEND.
- 
- 	* config/s390/s390-protos.h (s390_expand_addcc): New prototype.
- 	* config/s390/s390.c (s390_expand_addcc): New function.
- 	* config/s390/s390.md ("adddicc", "addsicc"): New expanders.
- 	("*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg"): New insns.
- 	("sltu", "sgtu", "sleu", "sgeu"): New expanders.
- 
- 2004-06-17  Ben Elliston  <bje@au.ibm.com>
- 
- 	* tree-alias-common.c: Add whitespace.
- 	* tree-inline.c: Correct comment about this file's purpose.
- 	* tree-optimize.c: Likewise.
- 	* tree-tailcall.c: Likewise.
- 
- 	* tree-alias-ander.h: Add standard top-of-file comment.
- 	* tree-alias-common.h: Likewise.
- 	* tree-alias-type.h: Likewise.
- 
- 2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (compute_avail): Value number uses as well.
- 	Strip useless type conversions.
- 	Casts have to be treated slightly different than normal unaries.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (COMPOUND_STMT): Remove.
- 	* c-common.c (finish_fname_decls): Don't look through it.
- 	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
- 	* c-common.h (COMPOUND_BODY): Remove.
- 	(c_common_stmt_codes): Remove COMPOUND_STMT.
- 	* c-dump.c (c_dump_tree): Likewise.
- 	* c-gimplify.c (c_gimplify_stmt): Likewise.
- 	* c-pretty-print.c (pp_c_statement): Likewise.
- 	* tree.h (DECL_SAVED_TREE): Update commentary.
- 	* doc/c-tree.texi (ASM_EXPR): Rename from ASM_STMT.
- 	(CASE_LABEL_EXPR): Rename from CASE_LABEL.
- 	(GOTO_EXPR): Rename from GOTO_STMT.
- 	(GOTO_FAKE_P): Remove.
- 	(COMPOUND_STMT): Remove.
- 	(HANDLER): Update wrt COMPOUND_STMT.
- 	(STMT_EXPR): Likewise.
- 	(LABEL_EXPR): Rename from LABEL_STMT.
- 	(SCOPE_STMT): Remove.
- 	* objc/objc-act.c (objc_build_try_catch_finally_stmt): Don't look
- 	through COMPOUND_STMT.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (c_begin_if_stmt, c_begin_while_stmt,
- 	c_finish_while_stmt_cond): Remove decls.
- 	* c-parse.in (if_prefix): Don't save c_begin_if_stmt result.
- 	* c-typeck.c (c_begin_if_stmt): Return void.
- 	(c_begin_else): Tidy.  Save stmt_count.
- 	* c-tree.h (c_begin_if_stmt): Update decl.
- 
- 	* objc/objc-act.c (objc_build_try_enter_fragment,
- 	objc_build_extract_fragment, objc_build_try_epilogue,
- 	objc_build_catch_stmt, objc_build_catch_epilogue,
- 	objc_build_finally_prologue, objc_build_finally_epilogue): Update
- 	for if builder function changes.
- 
- 2004-06-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (struct machine_function):  New member
- 	last_restore_gpr.
- 	(s390_frame_info): Add BASE_USED and RETURN_ADDR_USED parameters.
- 	Do not modify machine->save_return_addr_p or regs_ever_live.
- 	Fill in machine->last_restore_gpr.
- 	(s390_optimize_prolog): Use s390_frame_info to compute registers
- 	to save/restore, remove duplicated code.
- 	(s390_arg_frame_offset): Use s390_frame_info to compute frame
- 	size, remove duplicated code.
- 	(s390_emit_prologue): Adapt s390_frame_info call.  Update
- 	machine->save_return_addr_p and regs_ever_live.
- 	(s390_emit_epilogue): Use machine->last_restore_gpr instead of
- 	machine->last_save_gpr.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (if_stmt_locus): Remove.
- 	(if_prefix): Increment stmt_count; pass it to c_finish_if_cond.
- 	(select_or_iter_stmt): Move empty if warnings to c-typeck.c.
- 	* c-typeck.c (if_elt): Sort by expected size.  Rename locus to
- 	empty_locus.  Add stmt_count, saw_else.
- 	(c_begin_if_stmt): Push if_stack here.
- 	(c_finish_if_cond): Rename from c_expand_end_cond.  Record stmt_count.
- 	(c_finish_then, c_finish_else): Record empty_locus.
- 	(c_begin_else): Rename from c_expand_start_else.  Record stmt_count.
- 	(c_finish_if_stmt): Rename from c_expand_end_cond.  Warn for empty
- 	if or else body.
- 	* c-tree.h: Update prototypes.
- 
- 2004-06-16  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree.h (PHI_CHAIN): New.
- 	* (tree-cfg.c, tree-dfa.c, tree-flow-inline.h, tree-into-ssa.c,
- 	tree-outof-ssa.c, tree-phinodes.c, tree-pretty-print.c,
- 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-dse.c,
- 	tree-ssa-live.c, tree-ssa-loop.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
- 	tree-ssa.c, tree-tailcall.c): Use PHI_CHAIN instead of TREE_CHAIN
- 	when traversing a list of PHI_NODEs.
- 
- 2004-06-16  Bernardo Innocenti  <bernie@develer.com>
- 
- 	PR target/13292
- 	* config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
- 	on -msoft-float.
- 	(TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
- 	68040 and soft-float.
- 	* config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
- 	in the TARGET_68040_ONLY case.
- 
- 2004-06-16 Peter Barada  <peter@the-baradas.com>
- 
- 	* config/m68k/m68k.md (movsi_cfv4): New pattern to allow mov3q.
- 	(movsi_cf): Make named, don't match TARGET_CFV4.
- 	(pushexthisi_const): Use mov3q if possible.
- 	(extendhisi2, cvf4_extendhisi2): Split extendhisi2 pattern
- 	to special case mvz.w for ColdFire V4.
- 	(extendqisi2, cvf4_extendqisi2): Split extendhisi2 pattern
- 	to special case mvz.b for ColdFire V4.
- 	(udivmodhi4, divmodhi4): Use mvz to zero extend arg for
- 	divide.
- 	(iorsi3, xorsi3, andsi3): Use bitfield instructions if possible.
- 	* config/m68k/m68k.c(valid_mov3q_const):  New function.
- 	(const_method): SWAP is valid for ColdFire.
- 	(MULL_COST, MULW_COST): Fix costs for ColdFire V3/V4.
- 	* config/m68k/m68k-protos.h (valid_mov3q_const): Prototype here.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (CASE_LABEL): Remove.
- 	* c-common.c (c_add_case_label): Use CASE_LABEL, not CASE_LABEL_DECL.
- 	(match_case_to_enum_1): Likewise.
- 	* c-common.h (c_common_stmt_codes): Remove CASE_LABEL.
- 	* c-dump.c (c_dump_tree): Likewise.
- 	* c-gimplify.c (c_gimplify_stmt): Likewise.
- 	* c-pretty-print.c (pp_c_statement): Likewise.
- 	* c-semantics.c (build_case_label): Use CASE_LABEL_EXPR.
- 	* tree.h (CASE_LOW): Update commentary.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (ASM_STMT): Remove.
- 	* c-common.h (c_common_stmt_codes): Remove ASM_STMT.
- 	* c-dump.c (c_dump_tree): Likewise.
- 	* c-gimplify.c (c_gimplify_stmt): Likewise.
- 	* c-pretty-print.c (pp_c_statement): Likewise.
- 	* c-typeck.c (build_asm_expr): Use ASM_EXPR.
- 	* tree.h: Fix commentary.
- 
- 2004-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.def (GOTO_STMT, LABEL_STMT): Remove.
- 	* c-common.c (c_add_case_label): Use LABEL_EXPR.
- 	* c-common.h (GOTO_FAKE_P, LABEL_STMT_LABEL): Remove.
- 	(c_common_stmt_codes): Remove GOTO_STMT, LABEL_STMT.
- 	* c-dump.c (c_dump_tree): Likewise.
- 	* c-gimplify.c (c_gimplify_stmt): Likewise.
- 	* c-pretty-print.c (pp_c_statement): Likewise.
- 	* c-parse.in (stmt): Use GOTO_EXPR.
- 	(label): Use LABEL_EXPR.
- 	* c-semantics.c (build_stmt): Set TREE_TYPE to void.
- 	* tree-inline.c (copy_body_r): Don't build empty BLOCKs.
- 
- 2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cfgcleanup.c (try_simplify_condjump): Update test to make
- 	sure we have a conditional branch around am unconditional branch.
- 
- 2004-06-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-cfg.c (pass_split_crit_edge): Give it a name and a dump file.
- 
- 2004-06-16  Dale Johannesen  <dalej@apple.com>
- 
- 	* loop.c (loop_givs_reduce): Avoid miscompilation of
- 	loops entered at bottom.
- 
- 2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cfglayout.c (fixup_reorder_chain): Handle case where the
- 	destination of E_FALL is EXIT_BLOCK_PTR.
- 
- 2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/15653
- 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
- 	after shifts before asm.
- 
- 2004-06-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/15993
- 	* tree-ssa-dom.c (thread_across_edge): Do not thread edge if its
- 	destination is unchanged.
- 
- 2004-06-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/install.texi (Configuration): Update description for
- 	--enable-version-specific-runtime-libs.
- 
- 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/install.texi: boehm-gc now uses automake 1.8.5.
- 
- 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* toplev.h (rest_of_compilation): Adjust prototype.
- 
- 2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* coverage.c: Remove argument to rest_of_compilation.
- 	* expr.c (execute_expand, set_save_expr_context, pass_expand): New.
- 	* passes.c (rest_of_compilation): Remove argument.
- 	(pass_rest_of_compilation): New.
- 	(rest_of_handle_final, rest_of_handle_delay_slots,
- 	rest_of_handle_stack_regs, rest_of_handle_variable_tracking
- 	rest_of_handle_machine_reorg, rest_of_handle_regrename
- 	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2
- 	rest_of_handle_regmove, rest_of_handle_tracer
- 	rest_of_handle_if_conversion, rest_of_handle_if_after_combine
- 	rest_of_handle_web, rest_of_handle_branch_prob
- 	rest_of_handle_value_profile_transformations, rest_of_handle_cfg
- 	rest_of_handle_addressof, rest_of_handle_jump_bypass
- 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2):
- 	Check that the two arguments are actually superfluous.
- 	* tree-optimize.c (register_dump_files): Add properties argument.
- 	Track validity of passes.  Only initialize dump files for
- 	tree-based passes.  Store the full set of provided passes in
- 	the pass.
- 	(init_tree_optimization_passes): Register pass_expand and
- 	pass_rest_of_compilation.
- 	(execute_one_pass): Do not track the presence of required properties
- 	here.  Set in_gimple_form.  Do not update current_properties.
- 	(current_properties): Remove.
- 	(set_save_expr_context): Remove.
- 	(tree_rest_of_compilation): Do not set in_gimple_form.  Do not
- 	expand to RTL here, and do not call rest_of_compilation.  Push
- 	GGC context even before gimplification.
- 	* tree-pass.h (PROP_rtl, PROP_trees): New flags.
- 	(pass_expand, pass_rest_of_compilation): Declare.
- 
- 2004-06-15  Jeff Law  <law@redhat.com>
- 
- 	* fold-const.c (swap_tree_comparison): No longer static.
- 	(tree_swap_operands_p): Similarly.  Return true if both operands
- 	are SSA_NAMEs and the first operand has a higher version number than
- 	the second operand.
- 	* tree.h (swap_tree_comparison): Prototype.
- 	(tree_swap_operands_p): Prototype.
- 	* tree-ssa-operands.c (get_expr_operands): For commutative
- 	operators and relational comparisons, canonicalize the
- 	order of the operands.
- 
- 2004-06-15  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (lang_gimplify_stmt): Remove next_p argument.
- 	(if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
- 	c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
- 	c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
- 	(finish_fname_decls, fname_decl): Use statement_lists.
- 	(c_expand_expr_stmt): Don't set last_expr_type.
- 	(c_type_hash): Fix indentation.
- 	(c_safe_from_p): Don't follow TREE_CHAIN.
- 	(c_tree_chain_matters_p): Remove.
- 	* c-common.def (SCOPE_STMT): Remove.
- 	(CLEANUP_STMT): Redefine to contain its own body.
- 	* c-common.h (struct stmt_tree_s): Remove x_last_stmt,
- 	x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
- 	Add x_cur_stmt_list.
- 	(last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
- 	(cur_stmt_list): New.
- 	(STATEMENT_LIST_STMT_EXPR): New.
- 	(SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
- 	SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
- 	(CLEANUP_BODY): New.
- 	(CLEANUP_DECL): Move to operand 2.
- 	(c_common_stmt_codes): Remove SCOPE_STMT.
- 	(COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
- 	* c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
- 	(c_push_function_context, c_pop_function_context): Don't save it.
- 	(finish_decl): Set TREE_USED on the decl for a cleanup.
- 	Use push_cleanup.
- 	(store_parm_decls): Use statement lists.
- 	(finish_function): Remove compstmt rule workaround.  Use statement
- 	lists.  Call finish_fname_decls after finalizing the body.
- 	(c_begin_compound_stmt): Move to c-typeck.c.
- 	* c-dump.c (c_dump_tree): Remove SCOPE_STMT.
- 	* c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
- 	(c_genericize): Invoke them.
- 	(c_gimplify_stmt): Don't look through TREE_CHAIN.  Kill SCOPE_STMT.
- 	(c_build_bind_expr): Export.
- 	(gimplify_block, gimplify_cleanup): Remove.
- 	(gimplify_condition): Use gimplify_stmt.
- 	(gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
- 	(gimplify_if_stmt): Remove recursion hack.
- 	(c_gimplify_expr): Remove STMT_EXPR handling.
- 	(stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
- 	(is_last_stmt_of_scope): Remove.
- 	* c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
- 	* c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
- 	c_end_compound_stmt.
- 	* c-objc-common.c (build_cdtor): Likewise.
- 	* c-parse.in (primary): Use c_finish_stmt_expr.
- 	(push_scope, pop_scope): Remove.
- 	(c99_block_start, compstmt_start): Use c_begin_compound_stmt.
- 	(c99_block_end, compstmt): Use c_end_compound_stmt.
- 	(c99_block_lineno_labeled_stmt): Likewise.
- 	(compstmt_primary_start): Use c_begin_stmt_expr.
- 	(simple_if, select_or_iter_stmt): Update calls to stmt builders.
- 	(do_stmt_start): Fill in body directly.
- 	(lineno_stmt): Avoid setting lineno on constants.
- 	* c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
- 	Remove SCOPE_STMT.
- 	* c-semantics.c (begin_stmt_tree): Remove.
- 	(push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
- 	(add_stmt): Use statement lists.
- 	(add_scope_stmt, finish_stmt_tree): Remove.
- 	(push_cleanup): New.
- 	* c-tree.h: Move some decls from c-common.h.
- 	* c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
- 	(do_case, c_finish_case): Likewise.
- 	(c_finish_then): Take body for then as argument.
- 	(c_finish_else): Similarly.
- 	(c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
- 	c_finish_for_stmt_incr, c_finish_for_stmt): New.
- 	(c_begin_stmt_expr, c_finish_stmt_expr): New.
- 	(c_begin_compound_stmt): Do scope management.
- 	(c_end_compound_stmt): New.
- 	* fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
- 	* gimplify.c (voidify_wrapper_expr): Accept temporary argument.
- 	Look through exception handling constructs.
- 	(gimplify_bind_expr): Accept temporary argument.
- 	(gimplify_target_expr): Special case BIND_EXPR bodies.
- 	(gimplify_expr): Handle fallback == fb_none like a statement.
- 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
- 	* langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
- 	* langhooks.h (tree_chain_matters_p): Remove.
- 	* stub-objc.c (objc_clear_super_receiver): New.
- 	* tree-gimple.h (voidify_wrapper_expr): Update decl.
- 	(append_to_statement_list, append_to_statement_list_force): Move
- 	to tree-iterator.h.
- 	* tree-inline.c (expand_call_inline): Update call.
- 	(clone_body): Use statement lists.
- 	(walk_tree): Don't check tree_chain_matters_p.
- 	(copy_tree_r): Likewise.
- 	* tree-iterator.c (alloc_stmt_list): Clear lang bits.
- 	(tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
- 	* tree-iterator.h (append_to_statement_list,
- 	append_to_statement_list_force): Moved from tree-gimple.h.
- 	* tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
- 	* objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
- 	(objc_enter_block): Likewise.
- 	(objc_exit_block): Use c_end_compound_stmt.
- 	(objc_build_try_enter_fragment): Add #error and comment for
- 	rewriting for OBJCPLUS.
- 	(objc_build_extract_fragment, objc_build_try_epilogue,
- 	objc_build_catch_stmt, objc_build_finally_prologue,
- 	objc_build_finally_epilogue): Update for C statement builders.
- 	* objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
- 	Remove.
- 
- 2004-06-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* df.c (df_reg_clobber_gen): Removed.
- 	(df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
- 	Make more effective for hard regs.
- 	* ra-build.c (livethrough_conflicts_bb): Check contains_call.
- 
- 2004-06-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-pragma.h (c_lex_string_translate): Change type to int.
- 	* c-parse.in: Change all assignments of c_lex_string_translate
- 	to true and false to 1 and 0.
- 	* c-lex.c (c_lex_string_translate): Likewise.
- 	(lex_string): Convert string without translation in the -1
- 	case.
- 
- 2004-06-15  Mark G. Adams  <mark.g.adams@sympatico.ca>
- 
- 	* convert.h: Add include guards
- 
- 2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-flow-inline.h: Document all functions.
- 
- 2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-flow-inline.h (stmt_ann): Remove use of is_essa_node.
- 	* tree-dfa.c (create_stmt_ann): Ditto.
- 	* tree-pretty-print.c (dump_generic_node): Remove E* node handling.
- 	* tree-inline.c (estimate_num_insns_1): Ditto.
- 	* tree.c (tree_size): Ditto.
- 	(make_node_stat): Ditto.
- 	(tree_node_structure): Ditto.
- 	(ephi_node_elt_check_failed): Remove.
- 	(is_essa_node): Ditto.
- 	* tree.def (EPHI_NODE): Ditto.
- 	(EEXIT_NODE): Ditto.
- 	(EUSE_NODE): Ditto.
- 	(EKILL_NODE): Ditto.
- 	* tree.h (EREF_NODE_CHECK): Remove.
- 	(EPHI_NODE_ELT_CHECK): Ditto.
- 	(struct tree_eref_common): Ditto.
- 	(struct tree_euse_node): Ditto.
- 	(struct ephi_arg_d): Ditto.
- 	(struct tree_ephi_node): Ditto.
- 	(ephi_node_elt_check_failed): Remove prototype.
- 	(is_essa_node): Ditto.
- 	(enum tree_node_structure_enum): Remove TS_E*_NODE.
- 	(union tree_node): Remove E*_NODE uses.
- 
- 2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* alias.c (record_set, record_base_value, canon_rtx, get_addr,
- 	nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
- 	* bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
- 	Likewise.
- 	* builtins.c (expand_builtin_setjmp, expand_builtin_apply,
- 	expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
- 	expand_builtin_strcmp, expand_builtin_strncmp,
- 	expand_builtin_frame_address): Likewise.
- 	* caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
- 	insert_one_insn): Likewise.
- 	* calls.c (prepare_call_address, precompute_register_parameters,
- 	precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
- 	* cfganal.c (flow_active_insn_p): Likewise.
- 	* combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
- 	combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
- 	subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
- 	make_extraction, recog_for_combine, gen_lowpart_for_combine,
- 	simplify_comparison, record_dead_and_set_regs_1,
- 	record_dead_and_set_regs, record_promoted_value,
- 	check_promoted_subreg, get_last_value_validate, get_last_value,
- 	reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
- 	unmentioned_reg_p_1): Likewise.
- 	* conflict.c (mark_reg): Likewise.
- 	* cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
- 	mention_regs, insert_regs, lookup, lookup_for_remove, insert,
- 	merge_equiv_classes, flush_hash_table, invalidate,
- 	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
- 	invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
- 	cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
- 	record_jump_cond, cse_insn, addr_affects_sp_p,
- 	invalidate_from_clobbers, cse_process_notes, cse_around_loop,
- 	cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
- 	cse_cc_succs, cse_condition_code_reg): Likewise.
- 	* cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
- 	cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
- 	cselib_record_set, cselib_record_sets): Likewise.
- 	* dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
- 	dbxout_block): Likewise.
- 	* df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
- 	is_based_loc, rtl_for_decl_location): Likewise.
- 	* emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
- 	set_decl_incoming_rtl, mark_user_reg): Likewise.
- 	* explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
- 	copy_to_suggested_reg, allocate_dynamic_stack_space,
- 	probe_stack_range, hard_function_value): Likewise.
- 	* expmed.c (store_bit_field, store_fixed_bit_field,
- 	store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
- 	extract_split_bit_field, expand_divmod, emit_store_flag_force):
- 	Likewise.
- 	* expr.c (convert_move, convert_modes,
- 	block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
- 	use_group_regs, emit_move_insn, emit_move_insn_1,
- 	compress_float_constant, push_block, emit_single_push_insn,
- 	emit_push_insn, get_subtarget, expand_assignment, store_expr,
- 	store_constructor, store_field, force_operand, safe_from_p,
- 	expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
- 	Likewise.
- 	* final.c (profile_function, final_scan_insn, alter_subreg,
- 	get_mem_expr_from_op, output_asm_operand_names, output_operand,
- 	only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
- 	* flow.c (verify_wide_reg_1, mark_regs_live_at_end,
- 	find_regno_partial, propagate_one_insn, init_propagate_block_info,
- 	insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
- 	attempt_auto_inc, find_auto_inc, mark_used_regs,
- 	count_or_remove_death_notes_bb): Likewise.
- 	* function.c (find_temp_slot_from_address, update_temp_slot_address,
- 	preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
- 	fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
- 	put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
- 	purge_single_hard_subreg_set, instantiate_decl,
- 	instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
- 	promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
- 	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
- 	expand_function_start, diddle_return_value, clobber_return_register,
- 	expand_function_end, keep_stack_depressed, handle_epilogue_set,
- 	update_epilogue_consts): Likewise.
- 	* genemit.c (gen_exp, gen_insn): Likewise.
- 	* genrecog.c (make_insn_sequence): Likewise.
- 	* global.c (global_conflicts, expand_preferences, mark_reg_store,
- 	mark_reg_conflicts, set_preference, reg_becomes_live,
- 	build_insn_chain, mark_reg_change): Likewise.
- 	* haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
- 	Likewise.
- 	* ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
- 	Likewise.
- 	* integrate.c (copy_rtx_and_substitute, try_constants,
- 	subst_constants, mark_stores, allocate_initial_values): Likewise.
- 	* jump.c (reversed_comparison_code_parts, delete_prior_computation,
- 	delete_computation, rtx_renumbered_equal_p, true_regnum,
- 	reg_or_subregno): Likewise.
- 	* lcm.c (reg_dies, reg_becomes_live): Likewise.
- 	* local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
- 	update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
- 	wipe_dead_reg, no_conflict_p): Likewise.
- 	* loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
- 	iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
- 	simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
- 	* loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
- 	move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
- 	find_single_use_in_loop, count_one_set, loop_bivs_init_find,
- 	loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
- 	valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
- 	loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
- 	maybe_eliminate_biv_1, record_initial, update_reg_last_use,
- 	canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
- 	try_swap_copy_prop): Likewise.
- 	* optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
- 	expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
- 	Likewise.
- 	* postreload.c (reload_cse_simplify, reload_cse_simplify_set,
- 	reload_cse_simplify_operands, reload_combine,
- 	reload_combine_note_store, reload_combine_note_use,
- 	reload_cse_move2add, move2add_note_store): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* ra-build.c (copy_insn_p, remember_move, init_one_web_common,
- 	contains_pseudo, handle_asm_insn): Likewise.
- 	* ra-debug.c (ra_print_rtx_object, dump_constraints,
- 	dump_static_insn_cost): Likewise.
- 	* ra-rewrite.c (slots_overlap_p, emit_colors,
- 	remove_suspicious_death_notes): Likewise.
- 	* recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
- 	register_operand, scratch_operand, nonmemory_operand,
- 	constrain_operands): Likewise.
- 	* reg-stack (check_asm_stack_operands, remove_regno_note,
- 	emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
- 	subst_asm_stack_regs): Likewise.
- 	* regclass.c (scan_one_insn, record_reg_classes, copy_cost,
- 	record_address_regs, reg_scan_mark_refs): Likewise.
- 	* regmove.c (discover_flags_reg, replacement_quality,
- 	copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
- 	fixup_match_1): Likewise.
- 	* regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
- 	kill_set_value, copyprop_hardreg_forward_1): Likewise.
- 	* reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
- 	reload_inner_reg_of_subreg, can_reload_into, push_reload,
- 	combine_reloads, find_dummy_reload, hard_reg_set_here_p,
- 	operands_match_p, decompose, find_reloads, find_reloads_toplev,
- 	find_reloads_address, subst_indexed_address, find_reloads_address_1,
- 	find_reloads_subreg_address, find_replacement,
- 	refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
- 	refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
- 	* reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
- 	find_reg, delete_dead_insn, alter_reg, eliminate_regs,
- 	elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
- 	forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
- 	emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
- 	do_output_reload, emit_reload_insns, gen_reload,
- 	delete_address_reloads_1, inc_for_reload): Likewise.
- 	* reorg.c (update_reg_dead_notes, fix_reg_dead_note,
- 	update_reg_unused_notes, fill_slots_from_thread): Likewise.
- 	* resource.c (update_live_status, mark_referenced_resources,
- 	mark_set_resources, mark_target_live_regs): Likewise.
- 	* rtlanal.c (nonzero_address_p, get_jump_table_offset,
- 	global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
- 	reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
- 	note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
- 	find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
- 	parms_set, find_first_parameter_load, keep_with_call_p,
- 	hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
- 	num_sign_bit_copies1): Likewise.
- 	* rtlhooks.c (gen_lowpart_general): Likewise.
- 	* sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
- 	sched_analyze): Likewise.
- 	* sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
- 	Likewise.
- 	* sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
- 	* simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
- 	simplify_binary_operation, simplify_const_relational_operation,
- 	simplify_subreg): Likewise.
- 	* stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
- 	expand_end_stmt_expr, expand_return, expand_decl,
- 	expand_anon_union_decl): Likewise.
- 	* unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
- 	find_splittable_regs, find_splittable_givs, find_common_reg_term,
- 	loop_iterations): Likewise.
- 	* var-tracking.c (variable_union, variable_part_different_p,
- 	variable_different_p, count_uses, add_uses, add_stores,
- 	compute_bb_dataflow, set_variable_part, delete_variable_part,
- 	emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
- 	Likewise.
- 	* varasm.c (assemble_variable): Likewise.
- 
- 2004-06-15  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
- 	definition.
- 	* config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
- 	#undef and #if 0'd definition.
- 
- 2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* combine.c (distribute_notes): Comment typo fix.
- 
- 2004-06-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (synth_mult): Mask bits of the multiplier to the
- 	machine mode of the multiplication.  Don't consider shifts
- 	by more than (or equal to) the width of the operation's mode.
- 
- 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/install.texi: Yet another update for autoconf
- 	and automake versions.
- 
- 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* function.h (struct function): Remove cannot_inline field.
- 	(current_function_cannot_inline): Remove.
- 	* passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT.
- 	Simplify conditionals to ignore warn_return_type.
- 	* tree-optimize.c (tree_rest_of_compilation): Do not reset
- 	DECL_DEFER_OUTPUT.
- 	* objc/objc-act.c (build_module_descriptor, finish_method_def):
- 	Do not set current_function_cannot_inline.
- 
- 2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cfglayout.c (fixup_reorder_chain): Handle case where the
- 	destination of E_TAKEN is EXIT_BLOCK_PTR.
- 
- 2004-06-15  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-copy.c (cprop_into_successor_phis): Fix typo.
- 
- 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* fold-const.c (operand_equal_p): Update comment.
- 
- 2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
- 	(INCOMING_RETURN_ADDR_RTX): Define.
- 	* config/m32r/m32r-protos.h (m32r_return_addr): Added.
- 	* config/m32r/m32r.c (m32r_exppand_prologue): Changed for
- 	__builtin_return_address(0).
- 	(m32r_return_addr): Added for __builtin_return_address(0).
- 	(m32r_reload_lr): Ditto.
- 
- 	* longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
- 
- 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/install.texi (Prerequisites): Update libbanshee,
- 	fastjar, libcpp, libjava/libltdl entries to
- 	automake 1.8.5.
- 
- 2004-06-15  Eric Botcazou  <ebotcazou@act-europe.fr>
- 	    Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* function.c (fixup_var_refs): Also adjust the start of sequence
- 	after fixing up the insns.
- 
- 2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	* gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
- 
- 2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* doc/install.texi (Prerequisites): Update libstdc++ entry to
- 	automake 1.8.5.
- 
- 2004-06-14  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf)
- 	to -mtpf-trace (-mno-tpf-trace).
- 	* doc/invoke.texi (S/390 and zSeries Options): Add tpf option
- 	documentation.
- 
- 2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* real.c: Fix bit count in head comment.
- 
- 2004-06-14  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa.c (kill_redundant_phi_nodes): More correctly handle
- 	PHIs where the destination or an argument is marked with
- 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
- 
- 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/15945
- 	* simplify-rtx.c (simplify_binary_operation): Don't optimize out
- 	Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
- 
- 2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* opts.sh (var_args): Fix regexp.
- 
- 2004-06-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/15178
- 	* config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
- 
- 2004-06-14  Paul Brook  <paul@codesourcery.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
- 
- 2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (FLAGS_H): New.
- 	(flags.h): Replace by FLAGS_H.
- 	* c.opt: Document Var, VarExists, Init and Report attributes.
- 	* common.opt: Fill the values of the attributes.
- 	* diagnostic.c (flag_fatal_errors): Do not define.
- 	* except.c (flag_non_call_exceptions): Do not define.
- 	* flags.h: Include options.h.  Remove declarations conflicting with
- 	the automatically defined ones.
- 	* opts.c: Remove automatically defined variables.
- 	(handle_option): Perform default initialization.
- 	(common_handle_option): Do not handle options covered by the
- 	default initialization.
- 	* opts.h (struct cl_option): Add flag_var, has_set_value and set_value
- 	fields.
- 	(CL_REPORT): New.
- 	* opts.sh: Generate variable declarations, handle CL_REPORT.
- 	* toplev.c: Remove automatically defined variables.
- 	(f_options): Removed.
- 	(print_switch_values): Use cl_options instead of f_options.
- 	* toplev.h (version_flag): Declaration removed.
- 
- 2004-06-14  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/sparc/sparc.h: Correct comment about availability of
- 	little endian option.
- 
- 	* config.gcc: Remove sparc64-*-aout*.
- 	* config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
- 	* config/sparc/sp64-aout.h: Remove.
- 	* config/sparc/aout.h: Remove.
- 
- 2004-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c: Include "tree-gimple.h".
- 	(s390_gimplify_va_arg): New function.
- 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 	(s390_va_arg): Remove.
- 	* config/s390/s390-protos.h (s390_va_arg): Remove.
- 	* config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
- 
- 2004-06-14  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* basic-block.h (could_fall_through): Declare.
- 	* cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
- 	Fail if the source already has a fallthrough edge to the exit
- 	block pointer.
- 	(could_fall_through): New function.
- 	* cfgbuild.c (make_edges): Check if we already have a fallthrough
- 	edge to the exit block pointer.
- 	* cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
- 	not called before reload has completed.
- 	Handle special case of first block having a fall-through exit edge.
- 	(cfg_layout_finalize): Don't call it before reload or if we have
- 	rtl epilogues.
- 	(fixup_reorder_chain): A fall through to the exit block does not
- 	require the block to come last.  Add sanity checks.
- 	* cfgrtl.c (rtl_split_edge): Add special handling of fall through
- 	edges to the exit block.
- 	* function.c (cfglayout.h): #include.
- 	(thread_prologue_and_epilogue_insns): If we have neither return nor
- 	epilogue, but a fall through to the exit block from mid-function,
- 	force a non-fall-through exit.
- 	* Makefile.in (function.o): Depend on CFGLAYOUT_H.
- 
- 2004-06-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
- 	for power5 and rs64a.  Correct condition for default.  Correct power3,
- 	620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
- 
- 2004-06-13  Steven Bosscher <stevenb@suse.de>
- 
- 	* gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
- 	Revert previous change, don't use CALL_P.
- 
- 2004-06-13  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h: Move std_gimplify_va_arg_expr protoype here.
- 	* tree-gimple.h: From here.
- 
- 2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/15979
- 	Fix PR tree-optimization/15981
- 	* tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
- 	try to insert values undefined along some path.
- 
- 2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
- 	are available everywhere too.
- 
- 2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* fold-const.c (fold_checksum_tree <case 't'>): Only
- 	look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
- 	Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
- 	EXPR is an INTEGERAL_TYPE or a scalar float type.
- 
- 2004-06-13  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-sra.c (tree_sra): Update documentation.
- 
- 2004-06-13  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (comptypes, tagged_types_tu_compatible_p,
- 	function_types_compatible_p, type_lists_compatible_p): Remove
- 	flags parameter.
- 	* c-tree.h (comptypes): Likewise.
- 	(COMPARE_STRICT): Remove.
- 	* c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
- 	callers changed.
- 
- 2004-06-13  Eric Christopher  <echristo@redhat.com>
- 
- 	* c-decl.c (diagnose_mismatched_decls): Improve error message.
- 	Remove unused code.
- 	* c-typeck.c (comptypes): Add location in standard we're checking.
- 
- 2004-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
- 	version 3.3.4.
- 
- 2004-06-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
- 	index by machine mode.
- 	(init_expmed): Initialize shift_cost, shiftadd_cost and shiftsub_cost
- 	tables inside the loop over machine modes.
- 	(synth_mult, expand_mult_highpart_optab, expand_mult_highpart,
- 	expand_divmod): Index shift*_cost by the appropriate machine mode.
- 
- 2004-06-12  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/s390/s390.h: Rename TARGET_TPF to TARGET_TPF_PROFILING.
- 	* config/s390/s390.md: Ditto.
- 	* config/s390/s390.c: Ditto.
- 	(s390_frame_info): Conditionalize frame and setup info on
- 	TARGET_TPF_PROFILING.
- 	(s390_arg_frame_offset): Ditto.
- 
- 2004-06-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (omit_two_operands): New function.
- 	* tree.h (omit_two_operands): Prototype here.
- 	* builtins.c (fold_builtin_unordered_cmp): New function to lower
- 	C99 unordered comparison builtins to the appropriate tree nodes.
- 	(fold_builtin_1): Use fold_builtin_unordered_cmp to lower
- 	BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
- 	BUILT_IN_ISLESSEQUAL and BUILT_IN_ISLESSGREATER.  Manually lower
- 	BUILT_IN_ISUNORDERED comparisons to an UNORDERED_EXPR tree node.
- 	(simplify_builtin_memcmp, simplify_builtin_strncmp,
- 	simplify_builtin_strncat, simplify_builtin_strspn): Use the new
- 	omit_two_operands function to build the required COMPOUND_EXPRs.
- 
- 2004-06-12  Steven Bosscher <stevenb@suse.de>,
- 	    Andreas Jaeger  <aj@suse.de>
- 
- 	* gcse.c (record_set_info): Use predicates like REG_P.
- 	(mems_conflict_for_gcse_p): Likewise.
- 	(load_killed_in_block_p): Likewise.
- 	(hash_expr_1): Likewise.
- 	(insert_set_in_table): Likewise.
- 	(gcse_constant_p): Likewise.
- 	(hash_scan_set): Likewise.
- 	(hash_scan_insn): Likewise.
- 	(canon_list_insert): Likewise.
- 	(record_last_mem_set_info): Likewise.
- 	(record_last_set_info): Likewise.
- 	(compute_hash_table_work): Likewise.
- 	(mark_set): Likewise.
- 	(mark_clobber): Likewise.
- 	(mark_oprs_set): Likewise.
- 	(compute_transp): Likewise.
- 	(find_avail_set): Likewise.
- 	(cprop_insn): Likewise.
- 	(do_local_cprop): Likewise.
- 	(cprop): Likewise.
- 	(find_implicit_sets): Likewise.
- 	(find_bypass_set): Likewise.
- 	(bypass_conditional_jumps): Likewise.
- 	(insert_insn_end_bb): Likewise.
- 	(pre_insert_copy_insn): Likewise.
- 	(compute_transpout): Likewise.
- 	(next_ls_expr): Likewise.
- 	(invalidate_any_buried_refs): Likewise.
- 	(compute_ld_motion_mems): Likewise.
- 	(reg_set_info): Likewise.
- 	(reg_clear_last_set): Likewise.
- 	(find_moveable_store): Likewise.
- 	(compute_store_table): Likewise.
- 	(find_loads): Likewise.
- 	(store_killed_in_insn): Likewise.
- 	(insert_insn_start_bb): Likewise.
- 	(reg_set_between_after_reload_p): Likewise.
- 	(reg_used_between_after_reload_p): Likewise.
- 	(is_jump_table_basic_block): Likewise.
- 	(gcse_after_reload): Likewise.
- 	(hash_scan_set_after_reload): Likewise.
- 	(compute_hash_table_after_reload): Likewise.
- 
- 2004-06-12  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.h (MEM_P, NONJUMP_INSN_P, CALL_INSN_P): New predicates.
- 	(INSN_P): Don't look at the rtx code class, just explicitly
- 	check for one of the tree RTX_INSN codes.
- 
- 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-typeck.c (default_function_array_conversion): Use
- 	build_pointer_type not TYPE_POINTER_TO.
- 
- 2004-06-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.ac: Don't invoke ACX_HEADER_STDBOOL.
- 	* configure, config.in: Regenerate.
- 	* system.h: Unconditionally define bool as unsigned char,
- 	BOOL_BITFIELD as unsigned int.
- 	* domwalk.h: Use BOOL_BITFIELD.
- 
- 2004-06-12  Andreas Jaeger  <aj@suse.de>
- 
- 	* libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
- 	* libgcc-darwin.ver: Likewise.
- 
- 2004-06-12  Peter Jakubek  <peter@laseranimation.com>
- 
- 	* reload.c (find_reloads): Force reload for pseudo registers on big
- 	endian machines.
- 
- 2004-06-11  Steven Bosscher <stevenb@suse.de>
- 
- 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary):
- 	Don't try to mark anything control dependent on the entry or
- 	exit blocks.
- 
- 2004-06-11  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix Bug 15899
- 	Fix Bug 15460
- 	* tree.h (SSA_NAME_VALUE): New macro.
- 	(struct tree_ssa_name): Add value_handle member.
- 	* tree-ssa-pre.c: Replaced.
- 	* tree-flow.h (tree_ann_type): Add CST_ANN, EXPR_ANN.
- 	(struct cst_ann_d): New.
- 	(struct expr_ann_d): New.
- 	(union tree_ann_d): Add cst_ann, expr_ann.
- 	* tree-dfa.c (create_cst_ann): New function.
- 	(create_expr_ann): Ditto.
- 	* tree-flow-inline.h (cst_ann): New function.
- 	(expr_ann): Ditto.
- 	(get_cst_ann): Ditto.
- 	(get_expr_ann): Ditto..
- 
- 2004-06-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_hpux_init_libfunc): Add support for unord_optab.
- 	* pa/quadlib.c (enum qfcmp_magic): Define magic values for call to
- 	_U_Qfcmp library function.
- 	(_U_Qfltgt, _U_Qfunle, _U_Qfunlt, _U_Qfunge, _U_Qfungt, _U_Qfuneq,
- 	_U_Qfunord, _U_Qford): Add more TFmode builtin compare functions.
- 
- 	* pa.c (legitimize_pic_address): Use UNSPEC_DLTIND14R to identify
- 	unspec used for loading address from DLT.
- 	* pa.md: Define constants for the uses of UNSPEC and UNSPEC_VOLATILE.
- 	Change all users of UNSPEC and UNSPEC_VOLATILE to use new constants.
- 	Don't use short code sequence when loading the address of a nonlocal
- 	label.
- 	(nonlocal_goto): New expander.
- 	(indirect_goto): New jump pattern for nonlocal gotos.
- 	(short_jump): Remove extra whitespace.
- 	(builtin_longjmp): Clobber memory and hard frame pointer.  Restore
- 	frame pointer via virtual_stack_vars_rtx when we have a nonlocal goto
- 	pattern.
- 
- 2004-06-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (synth_mult): Add an additional MODE argument for the
- 	machine mode of the multiplication.  Update recursive calls.  Use
- 	mode instead of word_mode for determining operation costs.
- 	(choose_mult_variant): Update calls to synth_mult with "mode".
- 
- 2004-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-operands.c (get_stmt_operands): Clear makes_aliased_loads
- 	and makes_aliased_stores.
- 
- 2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* doc/install.text (--enable-shared): Fix typo.
- 
- 2004-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Remove post_p
- 	argument.  Use internal post for call to gimplify_expr.  Tidy
- 	rounded type size computation.
- 	(alpha_gimplify_va_arg): Use get_formal_tmp_var and
- 	get_initialized_tmp_var.
- 
- 2004-06-11  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* doc/install.texi (--enable-shared): Update libobjc's shared library
- 	status.  Remove reference to libf2c.
- 
- 2004-06-11  Jason Merrill  <jason@redhat.com>
- 
- 	* config/i386/i386.h (EXPAND_BUILTIN_VA_ARG): Just abort.
- 	* config/i386/i386.c (ix86_va_arg): Remove.
- 	* config/rs6000/rs6000.h (EXPAND_BUILTIN_VA_ARG): Just abort.
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Remove.
- 	* config/alpha/alpha.h (EXPAND_BUILTIN_VA_ARG): Just abort.
- 	* config/alpha/alpha.c (alpha_va_arg): Remove.
- 	* config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Just abort.
- 	* config/sparc/sparc.c (sparc_va_arg): Remove.
- 
- 	* tree-ssa-operands.c (get_stmt_operands): Use a V_MAY_DEF if the
- 	assignment might throw.
- 	* tree-eh.c (tree_could_throw_p): Support non-call exceptions in
- 	expressions.
- 
- 2004-06-11  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR 15886:
- 	* sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
- 
- 2004-06-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/install.texi (Prerequisites): Update documentation of
- 	required versions of autoconf and automake.  Remove mention of
- 	libf2c.
- 
- 2004-06-11  Jason Merrill  <jason@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_gimplify_va_arg): New fn.
- 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 
- 2004-06-11  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* typeclass.h: Add GPL plus exception license.  Add include
- 	guard.
- 
- 2004-06-10  Jason Merrill  <jason@redhat.com>
- 
- 	* gimplify.c (gimplify_modify_expr): Don't force a temporary
- 	of an aggregate_value_p type.
- 
- 2004-06-10  Jeff Law  <law@redhat.com>
- 
- 	* fold-const.c (fold_inf_compare): Avoid creating non-gimple
- 	code when we are in gimple form.
- 
- 2004-06-10  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* Makefile.in (tree-ssanames.o): Depend on TREE_FLOW_H.
- 	* tree-flow.h (ssa_names, num_ssa_names, ssa_name): Declare.
- 	(highest_ssa_version): Remove.
- 	* tree-outof-ssa.c (new_temp_expr_table): Replace
- 	highest_ssa_version with num_ssa_names.
- 	(dump_replaceable_exprs): Likewise.
- 	(rewrite_vars_out_of_ssa): Likewise.
- 	* tree-ssa-ccp.c (initialize): Likewise
- 	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
- 	* tree-ssa-dce.c (tree_dce_init): Likewise.
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
- 	* tree-ssa-live.c (create_ssa_var_map): Likewise.
- 	(dump_var_map): Likewise.
- 	* tree-ssa.c (verify_ssa): Likewise.
- 	(kill_redundant_phi_nodes): Likewise.
- 	Do not build a local array of SSA_NAMEs.  Use the ssa_names table.
- 	* tree-ssanames.c: Include tree-flow.h
- 	(ssa_names): New varray.
- 	(init_ssa_names): Initialize ssa_names.
- 	Reserve the first slot of the ssa_names table.
- 	(make_ssa_name): Push the newly created SSA_NAME into ssa_names.
- 	Assign version numbers using num_ssa_names.
- 
- 2004-06-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/sourcebuild.texi (Front End): Add details of more
- 	installation documentation required.
- 
- 2004-06-10  Brian Booth  <bbooth@redhat.com>
- 
- 	* doc/tree-ssa.texi: Remove references to VDEF and add descriptions
- 	of V_MAY_DEF and V_MUST_DEF.
- 	* tree-dfa.c (dfa_stats_d): Add num_v_must_defs and rename
- 	num_vdefs to num_v_may_defs.
- 	(compute_immediate_uses_for_stmt): Rename occurences of vdef
- 	to v_may_def.
- 	(redirect_immediate_uses): Ditto.
- 	(dump_dfa_stats): Ditto. Also added code to dump num_v_must_defs.
- 	(collect_dfa_stats_r): Rename occurences of vdef to v_may_def.
- 	Also add code to sum up the number of v_must_defs.
- 	(vdefs_disappeared_p): Replace with...
- 	(v_may_defs_disappeared_p): This.
- 	(v_must_defs_disappeared_p): New function.
- 	(mark_new_vars_to_rename): Rename occurences of vdef to v_may_def.
- 	Also add code to mark new variables found in V_MUST_DEFs for
- 	renameing.
- 	* tree-flow.h (stmt_ann_d): Add v_must_def_ops and replace
- 	vdef_ops to v_may_def_ops.
- 	(get_vdef_ops): Replace with...
- 	(get_v_may_def_ops): This.
- 	* tree-flow-inline.h (get_vdef_ops): Replace with...
- 	(get_v_may_def_ops): This.
- 	(get_v_must_def_ops): New function.
- 	(get_vdef_result_ptr): Replace with...
- 	(get_v_may_def_result_ptr): This.
- 	(get_vdef_op_ptr): Ditto with...
- 	(get_v_may_def_op_ptr); This.
- 	(get_v_must_def_op_ptr): New function.
- 	* tree-into-ssa.c (mark_def_sites): Rename occurences of vdef
- 	to v_may_def. Also add code to mark statements with
- 	V_MUST_DEFs as definition sites.
- 	(rewrite_stmt): Rename occurences of vdef to v_may_def. Also
- 	add code to register new V_MUST_DEFs made by the statement.
- 	* tree-outof-ssa.c (VIRTUAL_PARTITION): Update comments.
- 	(check_replaceable): Rename occurences of vdef to v_may_def. Also
- 	add check for V_MUST_DEFs.
- 	(find_replaceable_in_bb): Ditto.
- 	* tree-pretty-print.c (dump_vops): Rename occurences of vdef
- 	to v_may_def. Also add code to dump V_MUST_DEFs.
- 	* tree-sra.c (mark_all_vdefs): Replace with...
- 	(mark_all_v_may_defs): This.
- 	(mark_all_v_must_defs): New function.
- 	(create_scalar_copies): Replace call to mark_all_vdefs with
- 	calls to mark_all_v_may_defs and mark_all_v_must_defs.
- 	(scalarize_structures): Rename occurences of vdef to v_may_def.
- 	Also add a check for V_MUST_DEFs.
- 	(scalarize_modify_expr): Rename occurences of vdef to v_may_def.
- 	* tree-ssa-alias.c (global_var): Update comment.
- 	(compute_may_aliases): Ditto.
- 	(compute_points_to_and_addr_escape): Rename occurences of vdef
- 	to v_may_def. Also add code to mark variables in V_MUST_DEF
- 	operands as being written to.
- 	(group_aliases): Update comment.
- 	(maybe_create_global_var): Ditto.
- 	* tree-ssa.c (verify_ssa): Rename occurences of vdef to v_may_def.
- 	Also add a check for V_MUST_DEFs on GIMPLE registers.
- 	(replace_immediate_uses): Rename occurences of vdef to v_may_def.
- 	* tree-ssa-ccp.c (visit_stmt): Rename occurences of vdef
- 	to v_may_def. Also add code to mark all V_MUST_DEF operands
- 	VARYING.
- 	(initialize): Ditto.
- 	(set_rhs): Rename occurences of vdef to v_may_def. Also add
- 	code to update SSA_NAMEs in V_MUST_DEFs.
- 	* tree-ssa-copy.c (cprop_into_stmt): Rename occurences of vdef
- 	to v_may_def.
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Rename
- 	occurences of vdef to v_may_def. Also add code to mark statements
- 	with V_MUST_DEFs as necessary.
- 	(propagate_necessity): Rename occurences of vdef to v_may_def.
- 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Rename
- 	occurences of vdef to v_may_def. Also add code to mark operands
- 	in V_MUST_DEFs for renaming.
- 	(eliminate_redundant_computations): Rename occurences of vdef
- 	to v_may_def.
- 	(record_equivalences_from_stmt): Rename occurences of vdef
- 	to v_may_def. Also add code to record VUSEs for V_MUST_DEFs.
- 	(optimize_stmt): Remove unnesessary variable vdefs. Update
- 	comment.
- 	(register_definitions_for_stmt): Rename occurences of vdef
- 	to v_may_def. Also add code to register definitions made with
- 	V_MUST_DEFs.
- 	* tree-ssa-dse.c (fix_stmt_vdefs): Replace with...
- 	(fix_stmt_v_may_defs): This.
- 	(fix_phi_uses): Rename occurences of vdef to v_may_def.
- 	(dse_optimize_stmt): Ditto.
- 	* tree-ssa-live.c (create_ssa_var_map): Rename occurences of vdef
- 	to v_may_def. Also add code to mark V_MUST_DEF operands as being
- 	used in virtual operators.
- 	* tree-ssa-loop.c (mark_defs_for_rewrite): Rename occurences of
- 	vdef to v_may_def. Also add code to mark V_MUST_DEF operands for
- 	renaming.
- 	* tree-ssa-operands.c (opf_kill_def): New flag for killing
- 	definitions.
- 	(build_vdefs): Renamed to...
- 	(build_v_may_defs): This.
- 	(build_v_must_defs): New variable.
- 	(voperands_d): Add v_must_def_ops and replace vdef_ops with
- 	v_may_def_ops.
- 	(append_vdef): Replace with...
- 	(append_v_may_def): This.
- 	(append_v_must_def): New function.
- 	(NUM_FREE): Increment for V_MUST_DEF
- 	(optype_freelist): Increment its size for V_MUST_DEF
- 	(allocate_vdef_optype): Replace with...
- 	(allocate_v_may_def_optype): This.
- 	(allocate_v_must_def_optype): New function.
- 	(free_vdefs): Replace with...
- 	(free_v_may_defs): This.
- 	(free_v_must_defs): New function.
- 	(remove_vdefs): Replace with...
- 	(remove_v_may_defs): This.
- 	(remove_v_must_defs): New function.
- 	(init_ssa_operands): Rename occurences of vdef to v_may_def. Also
- 	add code to initialize build_v_must_defs.
- 	(finalize_ssa_vdefs): Replace with...
- 	(finalize_ssa_v_may_defs): This.
- 	(finalize_ssa_vuses): Rename occurences of vdef to v_may_def.
- 	(finalize_ssa_v_must_defs): New function.
- 	(finalize_ssa_stmt_operands): Replace call to finalize_ssa_vdefs
- 	with calls to finalize_ssa_v_may_defs and finalize_ssa_v_must_defs.
- 	(verify_start_operands): Rename occurences of vdef to v_may_def.
- 	Also add check for build_v_must_defs.
- 	(get_stmt_operands): Rename occurences of vdef to v_may_def.
- 	Also add code to handle V_MUST_DEFs and to use opf_kill_def for
- 	killing definitions.
- 	(get_expr_operands): Update comment and use opf_kill_def for
- 	killing definitions.
- 	(add_stmt_operand): Replace code that appends VDEFs with code
- 	that appends V_MUST_DEFs when opf_kill_def is set and V_MAY_DEFs
- 	otherwise.
- 	(add_call_clobber_ops): Update comments.
- 	* tree-ssa-operands.h (vdef_optype_d): Replace with...
- 	(v_may_def_optype_d): This.
- 	(v_must_def_optype_d): New structure.
- 	(VDEF_OPS): Replace with...
- 	(V_MAY_DEF_OPS): This.
- 	(STMT_VDEF_OPS): Same with...
- 	(STMT_V_MAY_DEF_OPS): This.
- 	(NUM_VDEFS): And...
- 	(NUM_V_MAY_DEFS): This.
- 	(VDEF_RESULT_PTR): As well as...
- 	(V_MAY_DEF_RESULT_PTR): This.
- 	(VDEF_RESULT): Same goes for...
- 	(V_MAY_DEF_RESULT): This.
- 	(VDEF_OP_PTR): And...
- 	(V_MAY_DEF_OP_PTR): This.
- 	(VDEF_OP): And...
- 	(V_MAY_DEF_OP): This.
- 	(V_MUST_DEF_OPS): New macro.
- 	(STMT_V_MUST_DEF_OPS): Ditto.
- 	(NUM_V_MUST_DEFS): Ditto.
- 	(V_MUST_DEF_OP_PTR): Ditto.
- 	(V_MUST_DEF_OP): Ditto.
- 	(remove_vdefs): Replace signature with...
- 	(remove_v_may_defs): This.
- 	(remove_v_must_defs): New function signature.
- 	* tree-ssa-pre.c (subst_phis): Replace call to remove_vdefs
- 	with calls to remove_v_may_defs and remove_v_must_defs.
- 	(process_left_occs_and_kills): Rename occurences of vdef to v_may_def.
- 	Also add code that marks left occurences of operands in V_MUST_DEFs.
- 	* tree-tailcall.c (find_tail_calls): Rename occurences of vdef
- 	to v_may_def. Also add check for V_MUST_DEFs.
- 	(eliminate_tail_call):Rename occurences of vdef to v_may_def.
- 
- 2004-06-10  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/15653
- 	* haifa-sched.c (schedule_block): Finish cycle after issuing asm
- 	insn.
- 
- 2004-06-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	PR web/15263
- 	* doc/install.texi: Remove superfluous linebreak.
- 
- 2004-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin): Fall back to library function call for
- 	conj, conjf, conjl, creal, crealf, creall, cimag, cimagf and cimagl.
- 	(fold_builtin_1): Lower built-ins BUILT_IN_CONJ{,F,L} to CONJ_EXPR,
- 	BUILT_IN_CREAL{,F,L} to REALPART_EXPR, and BUILT_IN_CIMAG{,F,L} to
- 	IMAGPART_EXPR respectively.
- 
- 2004-06-10  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (dump_table): New argument start.  Changed caller.
- 	(fixup_mova): New function.
- 	(find_barrier): Use it.
- 	(sh_reorg): Likewise.  Check for CODE_FOR_casesi_worker_2.
- 	If the label a mova refers to is above the mova itself, change
- 	the mova into a load.
- 	* sh.md (*casesi_worker): Rename to:
- 	(casesi_worker_1).
- 	(casesi_worker_2): New insn.
- 
- 2004-06-10  Jason Merrill  <jason@redhat.com>
- 
- 	* target.h (struct gcc_target): Change gimplify_va_arg_expr
- 	hook signature.
- 	* tree-gimple.h: Adjust.
- 	* config/alpha/alpha.c (alpha_gimplify_va_arg): Adjust.
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Adjust.
- 	Use fold_convert.
- 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Adjust.
- 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust.
- 	Use COMPLEX_EXPR for complex numbers.  Use fold_convert.
- 	* builtins.c (std_gimplify_va_arg_expr): Adjust.  Use fold_convert.
- 	(gimplify_va_arg_expr): Return GS_ERROR in error case.
- 	Gimplify valist rather than calling stabilize_va_list.
- 
- 2004-06-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (df.o): Remove fibheap dependency.
- 	* df.h: Do not include sbitmap.h.
- 	(struct ref): New field "data".
- 	(DF_REF_DATA): New accessor macro.
- 	(struct df): Field "dom" removed.
- 	(df_analyze_subcfg): New function.
- 	(transfer_function_sbitmap, transfer_function_bitmap): Replaced by ...
- 	(transfer_function): ... new type.
- 	(iterative_dataflow_sbitmap, iterative_dataflow_bitmap): Replaced by ...
- 	(iterative_dataflow): ... new function.
- 	(enum set_representation, struct dataflow): New.
- 	* df.c: Do not include fibheap.h.
- 
- 	(df_reg_def_chain_clean, df_reg_use_chain_clean,
- 	(df_bb_table_realloc, df_analyse_subcfg, free_reg_ref_chain,
- 	prune_to_subcfg, df_bb_modify): New functions.
- 	(df_bitmaps_alloc, df_reg_def_chain_create, df_reg_use_chain_create,
- 	df_refs_update, df_reg_table_realloc, df_ref_create,
- 	df_bb_reg_def_chain_create, df_bb_reg_use_chain_create,
- 	df_bb_rd_local_compute, df_bb_ru_local_compute, df_bb_lr_local_compute,
- 	df_analyse_1, df_insn_modify): Support analysing only a part of the cfg.
- 
- 	(dataflow_set_a_op_b, dataflow_set_copy): New functions.
- 	(df_rd_transfer_function, df_ru_transfer_function,
- 	df_lr_transfer_function): Type of bitmaps changed to void *.
- 	(hybrid_search_bitmap, hybrid_search_sbitmap): Merge into ...
- 	(hybrid_search): ... new function.
- 	(iterative_dataflow_bitmap, iterative_dataflow_sbitmap): Merge into ...
- 	(iterative_dataflow): ... new function. Avoid use of fibheaps for
- 	a worklist.  Do not process basic blocks unnecessarily.
- 
- 2004-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_abs_const): Make extern.
- 	* tree.h (fold_abs_const): Prototype here.
- 	* builtins.c (fold_builtin_fabs): New function to transform
- 	fabs, fabsf and fabsl builtins into ABS_EXPR tree nodes.
- 	(fold_builtin_abs): New function to transform abs, labs, llabs
- 	and imaxabs builtins into ABS_EXPR tree nodes.
- 	(expand_builtin): Fall back to a function call for abs, labs,
- 	llabs and imaxabs builtins that survive constant folding.
- 	(fold_builtin_1): Call fold_builtin_fabs for FABS, FABSF and
- 	FABSL, and fold_builtin_abs for ABS, LABS, LLABS and IMAXABS.
- 
- 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
- 	leaf function without unwind info at RP 0.
- 
- 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/14791
- 	* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
- 	(fileptr_type_node): Define.
- 	* tree.c (build_common_tree_nodes_2): Initialize
- 	fileptr_type_node to ptr_type_node.
- 	* c-common.c (c_common_nodes_and_builtins): For C++, make
- 	fileptr_type_node a distinct type copy.
- 	* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
- 	BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
- 	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
- 	BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
- 	(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
- 	BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
- 	BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
- 	* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
- 	BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
- 	BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
- 	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
- 	the above *FILEPTR* types instead of *PTR*.
- 
- 2004-06-09  Daniel Berlin <dberlin@dberlin.org>
- 
- 	* tree-ssa.c (verify_ssa): Verify that vdefs/makes_aliased_stores
- 	match.
- 
- 2004-06-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_not_const): New function.
- 	(fold) <ABS_EXPR>: Don't bother testing wins.
- 	(fold) <BIT_NOT_EXPR>: Call fold_not_const.
- 	(nondestructive_fold_unary_to_constant) <BIT_NOT_EXPR>: Likewise.
- 
- 2004-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/15228
- 	* function.c (assign_parms): Always set_mem_align with the computed
- 	FUNCTION_ARG_BOUNDARY.  Don't clear stack_parm if !STRICT_ALIGNMENT.
- 
- 2004-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/15108
- 	* tree-tailcall.c (find_tail_calls): Don't check early for
- 	tail_recursion failure.
- 
- 2004-06-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	Move SSA_NAME annotations into tree_ssa_name.
- 
- 	* tree-dfa.c (create_ssa_name_ann): Remove.
- 	* tree-flow-inline.h (ssa_name_ann, get_ssa_name_ann): Remove.
- 	* tree-flow.h (enum tree_ann_type): Remove SSA_NAME_ANN.
- 	(struct ssa_name_ann_d): Remove.
- 	(union tree_ann_d): Update.
- 	(ssa_name_ann_t): Remove.
- 	* tree-ssa-alias.c: (get_ptr_info): New local function.
- 	Replace references to ssa_name_ann_t with struct ptr_info_def.
- 	* tree-ssa-operands.c (get_expr_operands): Likewise.
- 	* tree.h (SSA_NAME_PTR_INFO): Define.
- 	(struct ptr_info_def): Declare.
- 	(struct tree_ssa_name): Add field 'ptr_info'.
- 
- 2004-06-09  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (i386_pe_output_labelref): Correct
- 	misplaced ')'.
- 
- 2004-06-09  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/i386/k6.md: Rewrite using the DFA model.
- 	* config/i386/i386.c (ix86_adjust_cost): Don't increase the
- 	cost of load-operation insns for the K6.
- 	(ia32_use_dfa_pipeline_interface): Add TARGET_K6.
- 	(ia32_multipass_dfa_lookahead): Likewise.
- 
- 2004-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1,
- 	alpha_gimplify_va_arg, TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 
- 2004-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (emit_store_flag): Cope with FLOAT_STORE_FLAG_VALUE.
- 
- 2004-06-09  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (CPPLIB_H): Put files in order of inclusion.
- 	(CPP_ID_DATA_H): New.
- 	(gtype-desc.o): Update dependencies.
- 	(GTFILES): Use CPP_ID_DATA_H.
- 
- 2004-06-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert:
- 	PR c++/15815
- 	2004-06-07  Mark Mitchell  <mark@codesourcery.com>
- 	* doc/extend.texi: Deprecate #pragma interface and #pragma
- 	implementation.
- 
- 2004-06-09  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.h (MOVE_RATIO): New definition.
- 
- 2004-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	* basic-block.h (struct edge_def): Add goto_locus.
- 	* tree-cfg.c (make_goto_expr_edges): Set it.
- 	(disband_implicit_edges): Use it.
- 	* tree-pretty-print.c (dump_implicit_edges): Print it.
- 
- 2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
- 
- 	* h8300.md (ldm_h8300s_4): Fix condition for expander.
- 
- 2004-06-08  Jason Merrill  <jason@redhat.com>
- 
- 	Gimplify VA_ARG_EXPR into simpler forms.
- 	* target.h: Add gimplify_va_arg_expr hook.
- 	* target-def.h: Add TARGET_GIMPLIFY_VA_ARG_EXPR.
- 	* fold-const.c (build_fold_addr_expr)
- 	(build_fold_addr_expr_with_type): Move from gimplify.c.
- 	* tree.h: Declare them.
- 	* gimplify.c (gimplify_and_add): New fn.
- 	(build_addr_expr, build_addr_expr_with_type): Move to fold-const.c.
- 	(gimplify_array_ref_to_plus, gimplify_modify_expr)
- 	(gimplify_expr): Use build_fold_*.
- 	(copy_if_shared_r): Only mark VA_ARG_EXPR volatile if we
- 	don't know how to gimplify it.
- 	* builtins.c (std_gimplify_va_arg_expr): New fn.
- 	(dummy_object): New static fn.
- 	(gimplify_va_arg_expr): New fn.
- 	(stabilize_va_list): Use build_fold_*.
- 	* tree-gimple.h: Declare new fns.
- 	* config/i386/i386.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 	(ix86_gimplify_va_arg): New fn.
- 	* config/ia64/ia64.c (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 	(ia64_gimplify_va_arg): New fn.
- 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): New fn.
- 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 	* alias.c (get_varargs_alias_set): Just return 0 for now.
- 
- 	* c-objc-common.c (c_tree_printer): Improve handling of %T.
- 
- 2004-06-09  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-complex.c (expand_complex_comparison): Use fold_convert instead
- 	of convert.
- 	* tree-inline.c (setup_one_parameter): Likewise.
- 	* tree-sra.c (csc_build_component_ref): Likewise.
- 	* tree-ssa-ccp.c (ccp_fold): Likewise.
- 	* tree-ssa-copy.c (cprop_operand): Likewise.
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
- 	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
- 
- 2004-06-09  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR rtl-optimization/15521:
- 	* sched-int.h (in_post_call_group_p): Change type to enum.
- 	* sched-deps.c (sched_analyze_insn):
- 	(sched_analyze): When in_post_call_group_p is post_call_initial,
- 	don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
- 	and also reset in_post_call_group_p to post_call.
- 	(sched_analyze): When the previous basic block ended in a CALL_INSN,
- 	initialize in_post_call_group_p as post_call_initial.
- 	(init_deps): initialize in_post_call_group_p to not_post_call.
- 
- 2004-06-09  Arnaud Charlet  <charlet@act-europe.fr>
- 
- 	PR ada/6637
- 	* doc/install.texi: List ada, libada as options to --enable-shared
- 
- 2004-06-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* aclocal.m4 (gcc_AC_PROG_LN): Remove.
- 	(gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
- 	config.in entries.
- 	* configure.ac: Call ACX_PROG_LN, falling back to $LN_S
- 	if hard links are not available.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 2004-06-08  Per Bothner  <per@bothner.com>
- 
- 	* configure.ac:  New --enable-mapped-location sets USE_MAPPED_LOCATION.
- 
- 2004-06-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
- 	Correct formatting.
- 
- 2004-06-08  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/15790
- 	* config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
- 
- 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* fold-const.c (fold_convert): Treat OFFSET_TYPE like
- 	POINTER_TYPE and INTEGER_TYPE.
- 
- 2004-06-08  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* modulo-sched.c: Compile only when INSN_SCHEDULING is
- 	defined.
- 
- 2004-06-08  Jeff Law  <law@redhat.com>
- 
- 	* doc/contrib.texi: Add entries for Stefan Olsson and
- 	Ola Ronnerup.
- 
- 2004-06-08  DJ Delorie  <dj@redhat.com>
- 
- 	* toplev.c (floor_log2_wide): Replace loop with faster bit
- 	operations.
- 	(exact_log2_wide): Define in terms of the above.
- 	* toplev.h (floor_log2): Use _builtin_clz family of builtins if
- 	available.
- 
- 2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (print_operand, <case 'z'>):
- 	Make sure that we are in INDIRECT mode when getting the
- 	stub name.
- 
- 2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
- 
- 	* h8300.md (extendqisi2_h8300): Add constraints.
- 	(ldm_h8300s_4_normal): Fix typo.
- 
- 2004-06-08  Richard Henderson  <rth@redhat.com>
- 
- 	* gimple-low.c (struct lower_data): Replace the_return_label and
- 	one_return_stmt with return_statements.
- 	(lower_function_body): Process the entire list of return_statements.
- 	(lower_return_expr): Check source value before unifying return_exprs.
- 	* gimplify.c (gimplify_return_expr): Force the use of a temporary
- 	for !aggregate_value_p.
- 	* tree-gimple.c: Update RETURN_EXPR grammer.
- 
- 2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/15598
- 	* config/ia64/ia64.c (bundling): Add missed TYPE_A.
- 
- 2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR rtl-optimization/15717
- 	* config/i386/i386.c (legitimate_constant_p): Do not allow
- 	x - symbol_ref.
- 
- 2004-06-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gimplify.c (copy_if_shared_r): Revert:
- 	2004-05-21  Richard Henderson  <rth@redhat.com>
- 	* gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
- 
- 2004-06-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
- 	Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
- 	(init_expmed): Initialize these cost arrays as appropriate.
- 	(store_bit_field, extract_bit_field): Correct whitespace.
- 	(synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
- 	expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
- 	neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
- 	word_mode or compute_mode as appropriate.
- 
- 2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/15783
- 	* config/sparc/sparc.c (function_arg_union_value): Add 'mode'
- 	parameter.  Enumerate the registers inside the PARALLEL.
- 	(function_arg): Adjust call to function_arg_union_value.
- 	(function_value): Likewise.
- 
- 	* config/sparc/sparc.c (sparc_function_epilogue): Properly format.
- 
- 2004-06-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_copysign): New function to implement libm's copysign.
- 	* real.h (real_copysign): Prototype here.
- 	* fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
- 	and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
- 	* builtins.c (fold_builtin_isascii, fold_builtin_toascii,
- 	fold_builtin_isdigit): Add function prototypes.
- 	(fold_builtin_copysign): New function to fold copysign, copysignf
- 	and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
- 	constant arguments at compile-time using real_copysign.  Fold
- 	copysign(X,Y) as fabs(X) if Y is always non-negative.
- 	(fold_builtin_1): Correct minor whitespace/style issues.  Call
- 	fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
- 
- 2004-06-07  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* tree.c (iterative_hash_expr): Use real_hash.
- 
- 2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/14765
- 	* c-parse.in (compstmt_primary_start): Set last_expr_type to
- 	NULL_TREE.
- 
- 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/15815
- 	* doc/extend.texi: Deprecate #pragma interface and #pragma
- 	implementation.
- 
- 2004-06-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR middle-end/15666
- 	* c-decl.c (finish_decl): Use change_decl_assembler_name for the
- 	builtin decl as well.
- 
- 2004-06-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/14649
- 	* c-typeck.c (require_constant_value, require_constant_elements):
- 	Move declarations to the top of the file.
- 	(build_function_call): If we require a constant value, fold with
- 	fold_initializer.  If the result is a constant, and the function
- 	wasn't called using __builtin_foo, issue a pedantic warning.
- 	(build_unary_op): If we require a constant value, fold tree with
- 	fold_initializer.
- 	(build_binary_op): Use require_constant_value to determine whether
- 	to call fold or fold_initializer.
- 
- 2004-06-07  Richard Henderson  <rth@redhat.com>
- 
- 	* gimple-low.c (struct lower_data): Add the_return_label and
- 	one_return_stmt.
- 	(lower_function_body): Initialize and use them.
- 	(lower_return_expr): New.
- 	(lower_stmt): Call it.
- 	* gimplify.c (gimplify_return_expr): Force the argument to be either
- 	null or a result_decl.
- 	* tree-gimple.c: Update gimple grammer to match.
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
- 	coalescing of result_decls.
- 
- 2004-06-07  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/15193
- 	* expmed.c (extract_bit_field): Fix vector_extract return.
- 
- 	* config/i386/i386.md (negv4sf2): New pattern.
- 
- 2004-06-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/15337
- 	* c-common.c (c_sizeof_or_alignof_type): Use more detailed error
- 	message.
- 
- 2004-06-06  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config.in: Regenerate.
- 
- 2004-06-06  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-cfg.c (tree_verify_flow_info): Make sure that labels in
- 	SWITCH_LABELS are always sorted.
- 
- 2004-06-06  Steven Bosscher  <stevenb@suse.de>
- 
- 	* hooks.c (hook_int_void_1): New generic hook.
- 	* hooks.h (hook_int_void_1): Add prototype.
- 	* config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
- 	Define to hook_int_void_1.
- 	* config/c4x/c4x.md: Replace dummies for the old pipeline model
- 	with dummies for the new one.
- 
- 2004-06-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.h (lvalue_or_else): Delete function prototype.
- 	* c-typeck.c (lvalue_or_else): Make static.  Add static prototype.
- 
- 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR target/14542
- 	* config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
- 	a live change of a register after peephole replacement.
- 
- 2004-06-06  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/13519
- 	* c-typeck.c (composite_type, common_pointer_type): New functions.
- 	(common_type): Split parts into composite_type and
- 	common_pointer_type.  Ensure that arithmetic operations return
- 	unqualified types without attributes.  Don't make composite type
- 	of signed enum and compatible integer be unsigned.
- 	(build_conditional_expr, build_binary_op): Use
- 	common_pointer_type.
- 	* c-decl.c (merge_decls): Use composite_type.
- 	* c-tree.h (composite_type): Declare.
- 
- 2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR target/14457
- 	* config/m68hc11/m68hc11.c (splitable_operand): New predicate.
- 	* config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
- 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
- 	(inhibit_libc): Must define.
- 	* config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
- 	("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
- 	("xorhi3"): Likewise.
- 
- 2004-06-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
- 	always_inline pass.
- 
- 2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
- 	* config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
- 
- 2004-06-05  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* regclass.c (init_reg_sets): Check for missing registers in target
- 	initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
- 
- 2004-06-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (MKDEPS_H): New shorthand.
- 	(c-opts.o): Update dependencies.
- 	* c-opts.c: Include mkdeps.h.
- 	(handle_deferred_opts): Use cpp_get_deps and deps_add_target,
- 	not cpp_add_dependency_target.
- 
- 2004-06-05  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
- 	* config/v850/v850.md: Convert to DFA scheduler description.
- 
- 2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
- 
- 	PR fortran/15478
- 	* doc/install.texi: Document GMP as prerequisite. Document
- 	--with-gmp and --with-gmp-dir configure options.
- 	* fortran/gfortran.texi: Remove section "Compiling and testing",
- 	remove TOC reference to it.
- 
- 2004-06-05  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* combine.c(simplify_shift_const): Check shift amount is a
- 	CONST_INT.
- 
- 2004-06-05  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* toplev.c (init_asm_output): Add explicit 'b' to mode when
- 	opening asm_out_file.
- 	* c-pch.c (c_common_write_pch): Remove unnecessary fflush before
- 	reading asm_out_file. Replace fflush after reading asm_out_file
- 	with fseek.
- 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
- 	default and add to HOST_HOOKS_INITIALIZER.
- 	* hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
- 	* ggc-common.c (default_gt_pch_alloc_granularity): New function.
- 	(gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
- 	to set mmi.offset padding.
- 	 * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
- 	$(srcdir)/config/i386/winnt.c.
- 	(i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
- 	(i[34567]86-*-uwin*): Likewise.
- 	*i[34567]86-*-interix3*): Likewise.
- 	* config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
- 	* config/i386/host-mingw32.c: New file.
- 	* config/i386/x-mingw32: Add rule for host-mingw32.o.
- 	* config/i386/winnt.c: (struct extern_list) Tag as GTY.
- 	(extern_head): Likewise.
- 	(struct export_list) Likewise.
- 	(export_head): Likewise.
- 	(i386_pe_record_external_function): Use ggc_alloc.
- 	(i386_pe_record_exported_symbol): Likewise.
- 	Include "gt-winnt.h" at end.
- 	* doc/hostconfig.texi: Document
- 	HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
- 
- 2004-06-04  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h: Remove comments copied over from tm.texi.
- 	Rename 68000 and 68k to m68k for consistency in comments.  Remove
- 	trailing whitespace before EOLs and before TABs.
- 	(MAX_CODE_ALIGN): Remove unused macro.
- 	(CALL_USED_REGISTERS): Reformat and add comments.
- 
- 2004-06-04  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* gcc.c (MFLIB_SPEC): Remove library references, to require users
- 	to enumerate -lmudflap* and dependencies when linking.
- 
- 2004-06-04  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR target/15822
- 	* dojump.c (do_jump): Fix uninitialized variable tcode1.
- 
- 2004-06-04  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* Makefile.in (insn-conditions.o): Back out removal of reload.h.
- 	* genconditions.c (write_header): Back out removal of reload.h.
- 
- 2004-06-04  Jan Hubicka  <jh@suse.cz>
- 
- 	Re-apply hopefully fixed patch:
- 	* i386.md (UNSPECV_EH_RETURN): Kill.
- 	(eh_return): Use jump_insn.
- 	(eh_return_si, eh_return_di): Change pattern to jump instruction.
- 
- 2004-06-04  Jeff Law  <law@redhat.com>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Fix return value.
- 
- 2004-06-04  Steven Bosscher  <stevenb@suse.de>
- 
- 	* except.c (for_each_eh_region): New function.
- 	* except.h (for_each_eh_region): Add a prototype for it.
- 	* tree-cfg.c (update_eh_labels): New function, callback for
- 	for_each_eh_region.
- 	(label_for_bb): Make global static, unfortunately.
- 	(cleanup_dead_labels): Also update label references for
- 	exception regions.
- 
- 2004-06-03  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (struct irix_section_align_entry): Fix
- 	GTY marker.
- 
- 2004-06-03  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* toplev.c (check_global_declarations): Don't ask for
- 	DECL_ASSEMBLER_NAME unless the function really is declared
- 	static and not defined.
- 
- 2004-06-03  Matt Austern  <austern@apple.com>
- 
- 	PR c++/15428
- 	* default.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New name
- 	for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
- 	* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
- 	* doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
- 	documentation to reflect the new macro name and to clarify its
- 	meaning.
- 
- 2004-06-03  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.def (VAR_LOCATION): Make RTX_EXTRA.
- 
- 2004-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin.c (machopic_indirect_data_reference): Copy
- 	the SYMBOL_REF_DECL from the original RTX for the new
- 	non-lazy pointer RTX.
- 
- 2004-06-03  Mark G. Adams  <mark.g.adams@sympatico.ca>
- 
- 	* tree.h: Remove include of version.h
- 	* c-cppbuiltin.c: Include version.h
- 	* diagnostic.c: Include version.h
- 	* dwarf2out.c: Include version.h
- 	* toplev.c: Include version.h
- 	* vmsdbgout.c: Include version.h
- 	* Makefile.in: Remove dependency on version.h from TREE_H, and
- 	add dependencies to required .o targets
- 
- 2004-06-03  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* Makefile.in (RA_H, RESOURCE_H, SCHED_INT_H, CFGLAYOUT_H,
- 	CFGLOOP_H, DF_H, DDG_H, TREE_SSA_LIVE_H): New.
- 	(TARGET_H): Add insn-modes.h.
- 	(tree-ssa.o, tree-cfg.o, tree-ssa-loop.o, toplev.o, passes.o,
- 	loop.o, loop-doloop.o, unroll.o, cfgloop.o, cfgloopanal.o,
- 	loop-iv.o, cfgloopmanip.o, loop-init.o, loop-unswitch.o,
- 	loop-unroll.o, ddg.o, modulo-sched.o, predict.o,
- 	cfglayout.o, ifcvt.o): Replace cfgloop.h with CFGLOOP_H.
- 	(toplev.o, passes.o, cfghooks.o, cfgloopmanip.o, loop-init.o,
- 	loop-unswitch.o, loop-unroll.o, ddg.o, modulo-sched.o,
- 	bb-reorder.o, tracer.o, cfglayout.o): Replace cfglayout.h with
- 	CFGLAYOUT_H.
- 	(ra.o, ra-build.o, ra-colorize.o, ra-debug.o, ra-rewrite.o):
- 	Replace ra.h with RA_H.
- 	(resource.o, regrename.o, insn-conditions.o, insn-emit.o,
- 	insn-recog.o): Replace resource.h with RESOURCE_H.
- 	(ddg.o, modulo-sched.o, haifa-sched.o, sched-deps.o, sched-rgn.o,
- 	sched-ebb.o, sched-vis.o, out_object_file):  Replace sched-int.h
- 	with SCHED_INT_H.
- 	(web.o, lcm.o, df.o, ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
- 	ra-rewrite.o): Replace df.h with DF_H.
- 	(ddg.o, modulo-sched.o): Replace ddf.h with DDG_H.
- 	(tree-outof-ssa.o, tree-ssa-live.o, tree-ssa-copyrename.o):
- 	Replace tree-ssa-live.h with TREE_SSA_LIVE_H.
- 	(insn-conditions.o): Remove unused reload.h.
- 	* cfglayout.h: Add include guard.  Include basic-block.h.
- 	* cfgloop.h: Add include guard.  Include basic-block.h, rtl.h.
- 	* ddg.h: Include sbitmap.h, basic-block.h, df.h.
- 	* df.h: Add include guard.  Include bitmap.h, sbitmap.h,
- 	basic-block.h.
- 	* genconditions.c:  Remove reload.h.
- 	* ra.h: Add include guard.  Include bitmap.h, sbitmap.h,
- 	hard-reg-set.h, insn-modes.h.
- 	* resource.h: Add include guard.  Include hard-reg-set.h.
- 	* sched-int.h:  Add include guard.  Include insn-attr.h,
- 	basic-block.h, rtl.h.
- 	* target.h: Add include guard.  Include insn-modes.h.
- 	* tree-ssa-live.h: Include partition.h.
- 
- 2004-06-03  Daniel Berlin  <dberlin@dberlin.org>
- 		Kenneth Zadeck <zadeck@naturalbridge.com>
- 
- 	* tree-ssa-ccp.c (varying_ssa_edges): New worklist.
- 	(add_var_to_ssa_edges_worklist): Add value argument.
- 	Update callers.
- 	Use new worklist.
- 	(process_ssa_edge_worklist): New function.
- 	(tree_ssa_ccp): Move worklist processing core to
- 	process_ssa_edge_worklist, and just call that for the two worklists.
- 
- 2004-06-03  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.c (tail_recursion_label_list): Don't declare.
- 	(CLEANUP_PRE_SIBCALL): Remove.  Renumber the other CLEANUP_*
- 	accordingly.
- 	* cfgbuild.c (find_label_refs): Remove.
- 	(find_basic_blocks_1): Don't handle CALL_PLACEHOLDER insns.
- 	* cfgcleanup.c (tail_recursion_label_p): Remove.
- 	(merge_blocks_move): Do not check for tail recursion.
- 	(try_optimize_cfg): Likewise.
- 	(cleanup_cfg): Never handle CLEANUP_PRE_SIBCALL.
- 	* cfgrtl.c (tail_recursion_label_list): Remove.
- 	* except.c (remove_unreachable_regions): Don't handle
- 	CALL_PLACEHOLDER insns.
- 	(convert_from_eh_region_ranges_1, can_throw_internal,
- 	can_throw_external): Likewise.
- 	* function.c (free_after_compilation): Don't clear
- 	x_tail_recursion_label.
- 	(fixup_var_refs_insns): Don't handle CALL_PLACEHOLDER insns.
- 	(identify_blocks_1): Don't recurse for CALL_PLACEHOLDER insns.
- 	(reorder_blocks_1): Likewise.
- 	* function.h (struct function): Remove x_tail_recursion_label
- 	member.  Don't define tail_recursion_label.
- 	* jump.c (mark_all_labels): Don't handle CALL_PLACEHOLDER insns.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* rtl.def (CALL_PLACEHOLDER): Remove.
- 	* rtl.h (sibcall_use_t): Remove enum.
- 	(optimize_sibling_and_tail_recursive_calls,
- 	replace_call_placeholder): Remove function prototypes.
- 	* stmt.c (tail_recursion_args): Remove.
- 	(optimize_tail_recursion): Remove.
- 	(expand_return): Don't check for possible tail recursion.
- 	* tree.h (optimize_tail_recursion): Remove prototype.
- 
- 2004-06-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-cfg.c (tree_find_edge_insert_loc):  Allow inserting before
- 	return_stmt.
- 
- 2004-06-02  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (TAGS): Don't mess with c-parse.[ch].
- 	Do include c-parse.in.
- 
- 2004-06-02  Eric Christopher  <echristo@redhat.com>
- 
- 	* c-typeck.c (common_type): Don't lose type qualifiers
- 	when creating new variants.
- 
- 2004-06-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-optimization/14042
- 	PR tree-optimization/14729
- 	PR tree-optimization/14736
- 	* tree-ssa.c (tree_ssa_useless_type_conversion_1):
- 	Check the type which the pointer points to
- 	instead of the pointer types.
- 
- 2004-06-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/15738.
- 	* builtins.c (fold_builtin_strchr): Transform
- 	strrchr (s, '\0') to strchr (s, '\0').
- 
- 2004-06-02  Steven Bosscher  <stevenb@suse.de>
- 
- 	* i386.c (ix86_adjust_cost): Don't increase the cost for
- 	load+operation for PROCESSOR_PENTIUMPRO, it is already
- 	modelled in the DFA description
- 
- 2004-06-01  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* Makefile.in (EXPR_H): Add insn-config.h, function.h,
- 	$(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
- 	(ALIAS_H, EMIT_RTL_H): New.
- 	(cselib.o): Replace EXPR_H with EMIT_RTL_H.
- 	(cfgcleanup.o): Add EMIT_RTL_H.
- 	(alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
- 	* alias.c: Replace expr.h with emit-rtl.h and alias.h.
- 	* attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
- 	* cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
- 	* expr.h: Add include guard.  Include function.h, rtl.h, flags.h,
- 	tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
- 	(get_varargs_alias_set, get_frame_alias_set, record_base_value,
- 	record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
- 	(set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
- 	set_mem_size): Move to emit-rtl.h.
- 	* emit-rtl.h: New.
- 	* alias.h: New.
- 
- 2004-06-01  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* function.c (walk_fixup_memory_subreg): New parameter 'var'.
- 	Call fixup_memory_subreg only if the MEM is equal to 'var'.
- 	Adjust recursive calls to self.
- 	(fixup_var_refs_insn): Pass 'var' to walk_fixup_memory_subreg.
- 
- 2004-06-01  Richard Henderson  <rth@redhat.com>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-parse.in (OFFSETOF, offsetof_member_designator): New.
- 	(primary): Handle offsetof.  Add error productions for faux functions.
- 	Move component_ref objc checking to build_component_ref.
- 	(reswords): Add offsetof.
- 	(rid_to_yy): Add offsetof.
- 	* c-tree.h (build_offsetof): Declare.
- 	* c-common.h (objc_is_public): Declare.
- 	* c-typeck.c (build_component_ref): Check objc_is_public.
- 	(build_offsetof): New.
- 	* stub-objc.c (objc_is_public): New.
- 	* objc/objc-act.c, objc/objc-act.h (objc_is_public): Rename
- 	from is_public.
- 	* ginclude/stddef.h (offsetof): Use __builtin_offsetof.
- 	* doc/extend.texi (Offsetof): Move from C++ section to C section
- 	and rewrite for __builtin_offsetof.
- 
- 2004-06-01  Peter Barada  <peter@the-baradas.com>
- 	    Peter Jakubek  <peter@laseranimation.com>
- 
- 	* config/m68k/m68k.c(m68k_output_mi_thunk):  For ColdFire, use %d0 as
- 	a scratch to perform an add to memory.
- 
- 2004-06-01  Bernardo Innocenti  <bernie@develer.com>
- 
- 	PR target/14018
- 	* config/m68k/m68k.c (m68k_align_loops_string, m68k_align_jumps_string,
- 	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
- 	m68k_align_funcs): Remove.
- 	(override_options): Remove code to handle -malign-* options.
- 	* config/m68k/m68k.h (TARGET_OPTIONS): Remove -malign-* options.
- 	(FUNCTION_BOUNDARY, LOOP_ALIGN, LOOP_ALIGN_AFTER_BARRIER): Remove.
- 	(m68k_align_loops_string, m68k_align_jumps_string,
- 	m68k_align_funcs_string, m68k_align_loops, m68k_align_jumps,
- 	m68k_align_funcs): Remove definitions.
- 
- 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
- 
- 	PR target/15626
- 	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
- 	by the Sun linker in conjunction with the Sun assembler.
- 	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
- 
- 2004-06-01  Jeff Law  <law@redhat.com>
- 
- 	* stmt.c (expand_decl): Be more selective about calling
- 	mark_reg_pointer.
- 
- 2004-06-01  Nicola Pero  <nicola@brainstorm.co.uk>
- 
- 	PR objc/7993
- 	* objc-act.c (is_private): Do not emit the 'instance variable %s
- 	is declared private' error.
- 	(is_public): Emit the error after calling is_private.
- 	(lookup_objc_ivar): If the instance variable is private, return 0
- 	- the instance variable is invisible here.
- 
- 2004-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (-static-libgcc): Explicitly mention
- 	non-GNU linkers.
- 
- 2004-06-01  Bernardo Innocenti  <bernie@develer.com>
- 
- 	PR target/12968
- 	* doc/invoke.texi: Document stack alignment side-effect of -mshort.
- 
- 2004-05-31  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/15749
- 	* c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
- 	misuses of structures with flexible array members if
- 	in_system_header.
- 
- 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/15693
- 	* config/sparc/sparc.c (compare_operand): New predicate.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Add it.
- 	* config/sparc/sparc.md (cmpsi expander): Use it.  If the first
- 	operand is a ZERO_EXTRACT and the second operand is not zero,
- 	force the former to a register.
- 	(cmpdi expander): Likewise.
- 
- 2004-05-31  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype-lex.l: Catch stray GTY markers in the files gengtype
- 	looks at.
- 	* alias.c (alias_invariant_size): Make alias_invariant_size
- 	static, fix GTY marker.
- 
- 2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/15743.
- 	* builtins.c (fold_builtin_1): Fold index() and rindex().
- 
- 2004-05-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/15069
- 	* fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
- 	into "X < 0" (where C is the signbit) if X's type is a full mode.
- 
- 2004-05-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md: Disable the peephole2 patterns that generate indexed
- 	floating-point stores when indexing is disabled.
- 
- 2004-05-31  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-pretty-print.c (pp_c_left_bracket): Make a function.
- 	(pp_c_right_bracket): Likewise.
- 	(pp_c_star): Likewise.
- 	(pp_c_ampersand): Define.
- 	* c-pretty-print.h (pp_c_left_bracket): Declare.
- 	(pp_c_right_bracket): Likewise.
- 	(pp_c_star): Likewise.
- 	(pp_c_ampersand): Likewise.
- 
- 2004-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sol2.h (__enable_execute_stack): ANSIfy function
- 	definition.
- 
- 2004-05-31  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* c-incpath.c (add_path): Canonicalize paths to use '/' if
- 	HAVE_DOS_BASED_FILESYSTEM.
- 
- 2004-05-31  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
- 	Only look at case labels if the immediate dominator is also
- 	the only predecessor.  Don't look for more case labels if the
- 	first seen is a case range.
- 
- 2004-05-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Add a prototype for fold_builtin_strchr().
- 
- 2004-05-31  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Revert this patch:
- 	2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (gen_binary): Remove.
- 	(known_cond, simplify_shift_const
- 	find_split_point, combine_simplify_rtx,
- 	simplify_if_then_else, simplify_set,
- 	simplify_logical, expand_field_assignment,
- 	extract_left_shift, force_to_mode,
- 	if_then_else_cond, apply_distributive_law,
- 	simplify_and_const_int, simplify_shift_const,
- 	gen_lowpart_for_combine, simplify_comparison,
- 	reversed_comparison): Replace with
- 	simplify_gen_binary, simplify_gen_relational or
- 	distribute_and_simplify_rtx.
- 	(distribute_and_simplify_rtx): New function.
- 
- 2004-05-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
- 	when generating PIC code.
- 
- 2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-decl.c (c_expand_body_1): Remove and fold back into ...
- 	(c_expand_body): here.
- 	(c_expand_decl): Move to ...
- 	* c-common.c (c_expand_decl): Here and remove check for nested
- 	functions.
- 	* c-common.h (c_expand_decl): Add prototype.
- 	* c-tree.h (c_expand_decl): Remove.
- 
- 2004-05-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (combine_comparisons, optimize_bit_field_compare,
- 	range_binop, fold_truthop, fold_binary_op_with_conditional_arg,
- 	fold_mathfn_compare, fold_inf_compare, fold,
- 	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
- 	Use constant_boolean_node where appropriate.  Don't bother using
- 	fold_convert on the second argument to omit_one_operand.
- 
- 2004-05-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/c-tree.texi (Expressions): Document FLOOR_DIV_EXPR,
- 	CEIL_DIV_EXPR, ROUND_DIV_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR,
- 	ROUND_MOD_EXPR, EXACT_DIV_EXPR.  Improve documentation of
- 	TRUNC_DIV_EXPR, TRUNC_MOD_EXPR and comparison operations.
- 	Add missing (but documented) tree nodes to the index.
- 
- 2004-05-30  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/14819
- 	* builtins.c (fold_builtin_strchr): New.
- 	(fold_builtin_1): Handle BUILT_IN_STRCHR and BUILT_IN_STRRCHR
- 	with fold_builtin_strchr().
- 
- 2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bb-reorder.c, builtins.c, c-common.c, c-gimplify.c,
- 	c-incpath.c, cgraphunit.c, ddg.c, defaults.h, dwarf2out.c,
- 	expmed.c, flags.h, gcc.c, gensupport.c, gimplify.c, global.c,
- 	passes.c, reg-stack.c, target.h, toplev.c, tree-alias-ander.c,
- 	tree-alias-common.c, tree-cfg.c, tree-complex.c, tree-dfa.c,
- 	tree-eh.c, tree-mudflap.c, tree-mudflap.h, tree-outof-ssa.c,
- 	tree-phinodes.c, tree-pretty-print.c, tree-ssa-alias.c,
- 	tree-ssa-ccp.c, tree-ssa-live.c, tree-ssa-live.h,
- 	tree-ssa-pre.c, tree.h, value-prof.h, varasm.c: Fix comment
- 	formatting.
- 
- 2004-05-30  Steven Bosscher  <stevenb@suse.de>
- 
- 	* gimplify.c (sort_case_labels): New.  Split out from...
- 	(gimplify_switch_expr): ...here.  Use it.
- 	* tree-eh.c (lower_try_finally_switch): Sort the labels of
- 	the SWITCH_EXPR created here before leaving the function.
- 	* tree.c (sort_case_labels): Add prototype.
- 
- 2004-05-30  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* fold-const.c (fold) [case TRUTH_NOT_EXPR]: Make sure the type is
- 	of BOOLEAN_TYPE.
- 
- 2004-05-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, calls.c, cfgcleanup.c, cgraph.c, cgraphunit.c,
- 	ddg.c, ddg.h, df.c, df.h, except.c, expr.c, flags.h,
- 	fold-const.c, gcc.c, gimplify.c, haifa-sched.c,
- 	modulo-sched.c, tree-inline.c, tree-into-ssa.c, tree-nested.c,
- 	tree-nrv.c, tree-ssa-ccp.c, tree-ssa-dom.c, tree-ssa-live.c,
- 	tree-ssa-loop.c, tree-ssa-pre.c, tree-tailcall.c, tree.h: Fix
- 	comment typos.  Follow spelling conventions.
- 
- 2004-05-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype-yacc.y: Add NESTED_PTR token.
- 	(option): Record `nested_ptr' option.
- 	* gengtype-lex.l: Handle `nested_ptr' keyword.
- 	* gengtype.c (walk_type): Process `nested_ptr' option.
- 	* gengtype.h (struct nested_ptr_data): New.
- 	* doc/gty.texi (GTY Options): Document `nested_ptr' option.
- 	* stringpool.c (struct string_pool_data): Make 'entries' point to
- 	ht_identifier instead of tree.
- 	(gt_pch_save_stringpool): Don't adjust pointers.
- 	(gt_pch_restore_stringpool): Call ht_load.
- 
- 2004-05-29  Jason Merrill  <jason@redhat.com>
- 
- 	* gimplify.c (gimplify_expr): Don't build a statement list
- 	if no gimplification was necessary.
- 
- 2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* pretty-print.c (pp_base_format_text): Support %< instead of %`
- 	and %> as well as %'.
- 	* c-format.c: Use %< and %>.
- 	(gcc_diag_char_table, gcc_cdiag_char_table,
- 	gcc_cxxdiag_char_table): Update.
- 
- 2004-05-29  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (common_type): Correct comment.
- 
- 2004-05-29  Peter Barada  <peter@the-baradas.com>
- 
- 	* config/m68k/m68k.c (CONST_METHOD): Add MVZ, MVS.
- 	* config/m68k/m68k.c (const_method): Likewise.
- 	* config/m68k/m68k.c (const_int_cost): Likewise.
- 	* config/m68k/m68k.c (const_int_cost): Likewise.
- 	* config/m68k/m68k.c (output_move_const_into_data_reg): Likewise.
- 
- 2004-05-29  Peter Barada  <peter@the-baradas.com>
- 
- 	* config/m68k/m68k.h (EXTRA_CONSTRAINT): add 'U' for register offset
- 	addressing.
- 	* config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
- 	movsi,movhi,movqi insn patterns.
- 
- 2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-semantics.c (emit_local_var): Remove code for DECL_INITIAL.
- 
- 	PR target/15720
- 	* config/darwin.c (machopic_indirect_call_target): Copy
- 	the SYMBOL_REF_DECL from the original RTX for the new
- 	stub RTX.
- 
- 2004-05-28  DJ Delorie  <dj@redhat.com>
- 
- 	* stor-layout.c (place_field): Revert erroneous commit.
- 
- 2004-05-28  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/rs6000/altivec.h (vec_ctf, vec_vcfsx, vec_vcfux, vec_cts,
- 	vec_ctu, vec_dss, vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_ld,
- 	vec_ldl, vec_lvsl, vec_lvsr, vec_sld, vec_splat, vec_vspltw,
- 	vec_vsplth, vec_vspltb, vec_splat_s8, vec_splat_s16, vec_splat_s32,
- 	vec_splat_u8, vec_splat_u16, vec_splat_u32, vec_st, vec_stl,
- 	vec_ste): Remove type checks for integral parameters and literals
- 	from '..._args_eq' macros.
- 
- 2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-common.c (fname_as_string): Fix xcalloc to xmalloc.
- 
- 2004-05-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/g++.dg/charset/function.cc: New.
- 
- 	* testsuite/gcc.dg/charset/function.c: New.
- 
- 	* c-decl.c (c_make_fname_decl): Free return value from
- 	fname_as_string.
- 
- 	* cp/decl.c (cp_make_fname_decl): Free return value from
- 	fname_as_string.
- 
- 	* c-common.c (fname_as_string): Translate if necessary.
- 
- 2004-05-28  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* stringpool.c: Add comments to PCH saving/restoring routines.
- 
- 2004-05-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-common.c (c_estimate_num_insns_1): Kill.
- 	(c_estimate_num_insns): Kill.
- 	* c-common.h (c_estimate_num_insns): Kill.
- 
- 	* gthr-posix.h: Check for _POSIX_PRIORITY_SCHEDULING
- 	when checking for _POSIX_THREAD_PRIORITY_SCHEDULING.
- 	Remove comment about not checking for
- 	_POSIX_PRIORITY_SCHEDULING.
- 	* gthr-posix.c: Likewise.
- 
- 2004-05-28  Paolo Bonzini  <bonzini@gnu.org>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR rtl-optimization/15649
- 	Add LTGT_EXPR and improve pretty-printing of unordered
- 	comparisons.
- 	* c-common.c (c_common_truthvalue_conversion):
- 	Handle LTGT_EXPR.
- 	* c-typeck.c (build_binary_op): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* expr.c (expand_expr_real_1, do_store_flag): Likewise.
- 	* predict.c (tree_predict_by_opcode): Likewise.
- 	* real.c (real_compare): Likewise.
- 	* tree-cfg.c (verify_expr): Likewise.
- 	* tree-inline.c (estimate_num_insns_1): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	Handle ORDERED_EXPR, UNORDERED_EXPR.
- 	(op_symbol): Print unordered comparisons differently
- 	than ordered ones.
- 	* tree.def (LTGT_EXPR): New '<' tree code.
- 	* doc/c-tree.texi (Expressions): Document floating-point
- 	comparison nodes.
- 
- 	Fold comparisons between floating point values.
- 	* fold-const.c (enum comparison_code): New, from
- 	#define'd constants.  Define compcodes for unordered
- 	comparisons and for invalid transformations.
- 	(invert_tree_comparison): Add "honor_nans" parameter.
- 	(fold_truthop): Revamp to work on floating-point types too.
- 	(comparison_to_compcode): Support unordered comparisons.
- 	Use new enum comparison_code.
- 	(compcode_to_comparison): Likewise.
- 	(combine_compcodes): New function.
- 	(invert_truthvalue): Let invert_tree_comparison decide
- 	whether it is valid to fold the comparison.  Fold ORDERED
- 	and UNORDERED even if flag_unsafe_math_optimizations is off,
- 	and the remaining even if flag_unsafe_math_optimizations
- 	is off but we are under -fno-trapping-math.
- 	(fold_relational_const): Integer modes do not honor NaNs.
- 
- 2004-05-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Remove redundant code.
- 
- 2004-05-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (thumb_force_lr_save): New function.
- 	(arm_get_frame_offsets, thumb_unexpanded_epilogue,
- 	thumb_output_function_prologue): Use it.
- 	(thumb_expand_prologue): Set lr_save_eliminated.
- 
- 2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (extendsidi2): Tie the source and destination
- 	of the register alternative.  Split it into nothing.
- 
- 2004-05-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* rtl.h (skip_consecutive_labels): Declare.
- 	* emit-rtl.c (skip_consecutive_labels): New function.
- 	* reorg.c (relax_delay_slots, dbr_schedule): Use it.
- 	* jump.c (follow_jumps): Say what null return values mean.
- 
- 2004-05-28  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR target/13250
- 	* config/sh/sh.md (rotlsi3): Use emit_move_insn.
- 
- 2004-05-27  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
- 	libgcc-std.ver.
- 	* config/sh/libgcc-std.ver: New file.
- 
- 2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
- 
- 	* except.c: Revert change of 2004-05-26.
- 	* config/i386/i386.md: Revert change of 2004-05-27.
- 
- 2004-05-27  Bryce McKinlay  <mckinlay@redhat.com>
- 
- 	* configure.ac: Remove --enable-tree-browser option.
- 	Define TREEBROWSER when ac_tree_checking is defined.
- 	* configure: Rebuilt.
- 
- 2004-05-27  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* expr.c (store_constructor): Restore sanity check on
- 	the size of the type before clearing.
- 
- 2004-05-27  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgbuild.c (control_flow_insn_p):  Notice noreturn call
- 
- 2004-05-27  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (gen_binary): Remove.
- 	(known_cond, simplify_shift_const
- 	find_split_point, combine_simplify_rtx,
- 	simplify_if_then_else, simplify_set,
- 	simplify_logical, expand_field_assignment,
- 	extract_left_shift, force_to_mode,
- 	if_then_else_cond, apply_distributive_law,
- 	simplify_and_const_int, simplify_shift_const,
- 	gen_lowpart_for_combine, simplify_comparison,
- 	reversed_comparison): Replace with
- 	simplify_gen_binary, simplify_gen_relational or
- 	distribute_and_simplify_rtx.
- 	(distribute_and_simplify_rtx): New function.
- 	* simplify-rtx.c (simplify_binary_operation):
- 	Use nonzero_bits to simplify ANDs where we are
- 	turning off bits already known to be off in OP0.
- 
- 2004-05-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/14478
- 	* config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
- 
- 2004-05-27  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR middle-end/14084
- 	* emit-rtl.c (gen_rtx_REG_offset): Adjust the offset according
- 	to size of decl.
- 
- 2004-05-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR/14924
- 	* config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
- 
- 2004-05-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.h: Fix comment typo.
- 
- 2004-05-27  Steven Bosscher  <stevenb@suse.de>
- 
- 	* gimplify.c (compare_case_labels): New function.
- 	(gimplify_switch_expr): Sort case labels, and make sure the
- 	last label in the label vector is the default case.
- 	* tree-cfg.c (group_case_labels): New function.
- 	(build_tree_cfg): Cleanup redundant labels and group case labels
- 	before creating edges.
- 	(cleanup_dead_labels): Handle GOTO_EXPRs.
- 	(find_case_label_for_value): Use a binary search to find the
- 	case label for the given value.
- 	* tree-gimple.c: Mention that labels are sorted, and that the
- 	last label must be the default.
- 
- 2004-05-27  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_optimize_cfg): Do not merge across jumptables.
- 
- 2004-05-27  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (UNSPECV_EH_RETURN): Kill.
- 	(eh_return): Use jump_insn.
- 	(eh_return_si, eh_return_di): Change pattern to jump instruction.
- 
- 2004-05-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_forward_edges):  Do not check loop structure when
- 	not loop optimizing.
- 
- 2004-05-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* except.c (can_throw_internal):  Notice RESX instructions.
- 
- 2004-05-26  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* varasm.c (output_constant) <INTEGER_TYPE>: Pass the minimum
- 	of the two sizes to assemble_integer.
- 
- 2004-05-25  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (thumb_exit, thumb_unexpanded_epilogue): Remove
- 	pointless #ifdef.
- 
- 2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* Makefile.in (top_builddir): Define to .
- 
- 2004-05-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.ac (gcc_cv_ld): Prefer in-tree ld over whatever the
- 	top-level detects, except when in-tree ld is being cross-built.
- 	(gcc_cv_as): Likewise for as.  Use AS_FOR_TARGET otherwise, and
- 	then AS only if target is host.
- 	* configure: Rebuilt.
- 
- 2004-05-25  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* global.c (global_alloc): Call make_accurate_live_analysis.
- 	(record_one_conflict): Remove dead code.
- 	(mark_reg_clobber): Remove ATTRIBUTE_UNUSED for parameter data.
- 	(bb_info): New structure.
- 	(BB_INFO, BB_INFO_BY_INDEX): New macros.
- 	(allocate_bb_info, free_bb_info, mark_reg_change,
- 	calculate_local_reg_bb_info, set_up_bb_rts_numbers, rpost_cmp,
- 	modify_bb_reg_pav, calculate_reg_pav,
- 	make_accurate_live_analysis): New functions.
- 
- 2004-05-25  Devang Patel  <dpatel@apple.com>
- 
- 	* alias.c (init_alias_analysis): Use ggc_calloc instead of
- 	xrealloc.
- 	(end_alias_analysis): Use ggc_free instead fo free.
- 
- 2004-05-25  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/15546
- 	* config/ia64/ia64.h (ASM_OUTPUT_FDESC): Mark the DECL
- 	as needed to be outputted.
- 
- 2004-05-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.def (__builtin_expect):  Mark the function as const&nothrow.
- 
- 2004-05-25  Ayal Zaks  <zaks@il.ibm.com>
- 	Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* Makefile.in (modulo-sched.o, ddg.o): New.
- 	* ddg.h, ddg.c, modulo-sched.c: New files.
- 	* cfglayout.c (duplicate_insn_chain): Remove "static" and push
- 	internals to "dupicate_insn".
- 	(duplicate_insn): New function.
- 	* cfglayout.h (duplicate_insn_chain, duplicate_insn): New
- 	declarations.
- 	* common.opt (fmodulo-sched): New flag.
- 	* df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find):
- 	Remove static and forward declaration.
- 	(df_find_def, df_reg_used, df_bb_regno_last_def_find): New
- 	functions.
- 	* df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find,
- 	df_bb_regno_last_def_find, df_find_def, df_reg_used): New
- 	declarations.
- 	* flags.h (flag_modulo_sched): New flag.
- 	* opts.c (common_handle_option): Handle modulo-sched flag.
- 	* params.def (max-sms-loop-number, sms-max-ii-factor,
- 	sms-dfa-history, sms-loop-average-count-threshold): New
- 	parameters.
- 	* params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR,
- 	SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New
- 	parameters.
- 	* passes.c ("sms", "sms-vcg"): New dumps.
- 	(rest_of_handle_sched): Call sms_schedule.
- 	* rtl.h (sms_schedule): New declaration.
- 	* timevar.def (TV_SMS): New.
- 	* toplev.c (flag_modulo_sched): Initialize.
- 	(f_options): Handle -fmodulo-sched option.
- 	* docs/invoke.texi: Document -fmodulo-sched & -dm options.
- 	* docs/passes.texi: Document new SMS pass.
- 
- 2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* Makefile.in (OBJS): Add rtlhooks.o.
- 	(rtlanal.o): Depend on function.h.
- 	(cse.o): Depend on rtlhooks-def.h.
- 	(combine.o): Depend on rtlhooks-def.h.
- 	(rtlhooks.o): New rule.
- 	* combine.c: Include rtlhooks-def.h.
- 	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
- 	num_sign_bit_copies, cached_num_sign_bit_copies,
- 	num_sign_bit_copies1): Move most of the code to rtlanal.c.
- 	(reg_nonzero_bits_for_combine,
- 	reg_num_sign_bit_copies_for_combine): New functions holding
- 	the remnants of the above.
- 	(combine_rtl_hooks): New.
- 	(combine_instructions): Set rtl_hooks instead of gen_lowpart.
- 	* cse.c: Include rtlhooks-def.h.
- 	(cse_rtl_hooks): New.
- 	(cse_main): Set rtl_hooks instead of gen_lowpart.
- 	* emit-rtl.c (gen_lowpart): Remove.
- 	(gen_lowpart_general): Move to rtlhooks.c.
- 	* rtl.h (nonzero_bits, num_sign_bit_copies,
- 	struct rtl_hooks, rtl_hooks, general_rtl_hooks): New.
- 	(gen_lowpart_general): Remove.
- 	(gen_lowpart): Temporarily redefine as a macro.
- 	* rtlanal.c: Include function.h.
- 	(nonzero_bits, cached_nonzero_bits, nonzero_bits1,
- 	num_sign_bit_copies, cached_num_sign_bit_copies,
- 	num_sign_bit_copies1): New, from combine.c.
- 	* rtlhooks.c: New file.
- 	* rtlhooks-def.h: New file.
- 
- 2004-05-25  Svein E. Seldal  <Svein.Seldal@solidas.com>
- 
- 	* config/avr/avr.h (LONG_LONG_TYPE_SIZE): Changed long long type
- 	to support 32-bit -mint8 mode.
- 
- 	* doc/invoke.texi (-mint8): Added documentation for the -mint8
- 	option in the AVR architecture.
- 
- 2004-05-24  Mike Stump  <mrs@apple.com>
- 
- 	* doc/install.texi: Document that dejagnu 1.4.4 is required.
- 
- 2004-05-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* intl.h (open_quote, close_quote): New.
- 	* intl.c (open_quote, close_quote): New.
- 	(gcc_init_libintl): Set them.
- 	* pretty-print.c: Include "intl.h".
- 	(pp_base_format_text): Support 'q' format flag and %` and %'
- 	formats.  Use ' instead of ` in comments.
- 	* c-format.c (gcc_diag_flag_specs, gcc_cxxdiag_flag_specs,
- 	gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table,
- 	foramt_types_orig): Describe these new formats.
- 	(decode_format_attr, check_function_format,
- 	check_format_info_main): Use these new formats.
- 	(status_warning): Use ATTRIBUTE_GCC_DIAG.
- 	* toplev.c (ATTRIBUTE_GCC_DIAG): Increase required GCC version to
- 	check these formats to 3.5.
- 
- 2004-05-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in (CPPLIBS): Renamed to CPPLIB.
- 	(BACKEND): Reflect this.
- 	(LIBDEPS): Move CPPLIB before LIBIBERTY.
- 	(LIBS): Likewise.
- 
- 2004-05-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR tree-optimization/14197
- 	* builtins.c: Include "tree-gimple.h"
- 	(readonly_data_expr): Use get_base_address.  Make sure to call
- 	decl_readonly_section only on trees it can handle.
- 	* tree-gimple.c (get_base_address): Accept STRING_CST and
- 	CONSTRUCTOR expressions.
- 	* Makefile.in: Update dependencies.
- 
- 2004-05-23  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Move libcpp to the toplevel.
- 	* Makefile.in: Remove references to libcpp files,
- 	use CPPLIBS instead of libcpp.a.  Define SYMTAB_H
- 	and change hashtable.h to that.
- 	* aclocal.m4 (gcc_AC_HEADER_STDBOOL,
- 	gcc_AC_HEADER_STRING, gcc_AC_C__BOOL): Remove.
- 	* configure.ac (gcc_AC_C__BOOL, HAVE_UCHAR): Remove tests.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 	* c-ppoutput.c: Include ../libcpp/internal.h instead of cpphash.h.
- 	* cppcharset.c: Removed.
- 	* cpperror.c: Removed.
- 	* cppexp.c: Removed.
- 	* cppfiles.c: Removed.
- 	* cpphash.c: Removed.
- 	* cpphash.h: Removed.
- 	* cppinit.c: Removed.
- 	* cpplex.c: Removed.
- 	* cpplib.c: Removed.
- 	* cpplib.h: Removed.
- 	* cppmacro.c: Removed.
- 	* cpppch.c: Removed.
- 	* cpptrad.c: Removed.
- 	* cppucnid.h: Removed.
- 	* cppucnid.pl: Removed.
- 	* cppucnid.tab: Removed.
- 	* hashtable.c: Removed.
- 	* hashtable.h: Removed.
- 	* line-map.c: Removed.
- 	* line-map.h: Removed.
- 	* mkdeps.c: Removed.
- 	* mkdeps.h: Removed.
- 	* stringpool.h: Include symtab.h instead of hashtable.h.
- 	* tree.h: Include symtab.h instead of hashtable.h.
- 	* system.h (O_NONBLOCK, O_NOCTTY): Do not define.
- 
- 2004-05-23 Paolo Bonzini <bonzini@gnu.org>
- 
- 	* gcc.c (struct prefix_list): Add forward declaration.
- 	(do_spec_path): New function, extracted from...
- 	(do_spec_1) <'D'>: ... here.  Drop support for
- 	SPACE_AFTER_L_OPTION.
- 	(do_spec_1) <'I'>: Use do_spec_path.
- 	(process_command): Do not store the 'include' suffix
- 	in include_prefixes.
- 	* system.h: Poison SPACE_AFTER_L_OPTION.
- 
- 2002-05-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (non_lvalue): Explicitly list the tree codes that
- 	need to be wrapped by NON_LVALUE_EXPR, instead of those that don't.
- 
- 2004-05-23  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
- 	Update based on printed manual.  Enable setting of offsets for
- 	FSFPRINT and move it to gcc-common.texi.
- 	* doc/gcc.texi: Update FSF printing details.
- 	* doc/gccint.texi: Remove FSF printing details.
- 
- 2004-05-23  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/t-rs6000: Remove the disabling -Werror.
- 
- 2004-05-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
- 	expand_builtin_strrchr, expand_builtin_strpbrk,
- 	expand_builtin_mempcpy, expand_builtin_memcmp,
- 	expand_builtin_strcmp, expand_builtin_strncmp,
- 	expand_builtin_strcat, std_expand_builtin_va_start,
- 	std_expand_builtin_va_arg, expand_builtin_va_copy,
- 	expand_builtin_signbit, fold_builtin_cabs,
- 	fold_builtin_logarithm, fold_builtin_mempcpy,
- 	fold_builtin_signbit, fold_builtin_isascii,
- 	fold_builtin_toascii, fold_builtin_isdigit,
- 	fold_builtin_1, build_function_call_expr,
- 	simplify_builtin_strchr, simplify_builtin_strrchr,
- 	simplify_builtin_strpbrk, simplify_builtin_strncpy,
- 	simplify_builtin_memcmp, simplify_builtin_strcmp,
- 	simplify_builtin_strncmp, simplify_builtin_strncat,
- 	simplify_builtin_strspn, simplify_builtin_strcspn,
- 	simplify_builtin_fputs, simplify_builtin_sprintf): Replace calls
- 	to build with calls to build2, build3 or omit_one_operand.
- 
- 2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_file_start): Emit a .gcc_compiled_longXX
- 	section when generating EABI code.
- 
- 2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR 15546
- 	* config/i386/i386.c (output_pic_addr_const <case SYMBOL_REF>):
- 	Call mark_decl_referenced on the SYMBOL_REF_DECL.
- 
- 2004-05-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-common.c (c_common_truthvalue_conversion): Handle
- 	UNEQ_EXPR, UNLE_EXPR, UNGE_EXPR, UNLT_EXPR, UNGT_EXPR,
- 	ORDERED_EXPR, and UNORDERED_EXPR as comparison operators,
- 	i.e. set the type to truthvalue_type_node and return.
- 
- 2004-05-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h (struct tree_decl): Add possibly_inlined bit.
- 	(DECL_POSSIBLY_INLINED): New accessor macro.
- 	* cgraph.h: Remove declaration of cgraph_inline_hash.
- 	* cgraph.c: Remove definition of cgraph_inline_hash.
- 	(hash_node): Revert to hashing DECL_UID.
- 	(eq_node): Take two pointers to cgraph_node structures.
- 	Compare DECL_UIDs.
- 	(cgraph_remove_node): Pass the node directly to htab_find_slot.
- 	(cgraph_varpool_hash_node): Rename hash_varpool_node;
- 	hash on DECL_UID.
- 	(eq_cgraph_varpool_node): Rename eq_varpool_node; take two
- 	pointers to cgraph_varpool_node structures; compare DECL_UIDs.
- 	(cgraph_node): Allocate a temporary node on the stack, fill in
- 	its DECL field, and pass that to htab_find_slot.
- 	(cgraph_varpool_node): Likewise.
- 	(cgraph_function_possibly_inlined_p): If global info is ready,
- 	return the DECL_POSSIBLY_INLINED bit.
- 	* cgraphunit.c (cgraph_mark_inline_edge): Set DECL_POSSIBLY_INLINED
- 	instead of mucking with cgraph_inline_hash.
- 
- 2004-05-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/contrib.texi: Add g77 contributors.
- 
- 2004-05-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* calls.c (initialize_argument_information): Forbid sibcalls if a
- 	callee-copied argument is stored in the current function's frame.
- 
- 2004-05-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* fix-header.c (read_scan_file): Update for add_path change.
- 
- 2004-05-22  Ben Elliston  <bje@au.ibm.com>
- 
- 	* c.opt (Wmissing-include-dirs): New.
- 	* c-opts.c (c_common_handle_option): Pass true for user_supplied_p
- 	to add_path () for -I, but false for OPT_idirafter, OPT_iquote and
- 	OPT_isystem. Handle case OPT_Wmissing_include_dirs.
- 	* c-incpath.h (add_path): Add fourth (bool) argument.
- 	* c-incpath.c (add_env_var_paths): Pass false to add_path ().
- 	(add_standard_paths): Likewise.
- 	(remove_duplicates) [REASON_NOENT]: Warn if -Wmissing-include-dirs
- 	is used and the directory was user-supplied via -I.
- 	(add_path): Set p->user_supplied_p.  Remove duplicated code by
- 	using add_cpp_dir_path ().
- 	* cpplib.h (struct cpp_options): Add warn_missing_include_dirs.
- 	(struct cpp_dir): Add user_supplied_p.
- 	* doc/invoke.texi (Warning Options): Document new option.
- 
- 2004-05-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* fold-const.c (fold_read_from_constant_string): Convert result to
- 	requested type.
- 
- 2004-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
- 	(copy_if_shared_r): Don't copy decls, types, constants, BINDs.
- 	Don't mark VA_ARG_EXPRs volatile here.
- 	(gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
- 
- 2004-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (tree-dump.o): Depend on tree-iterator.h.
- 	* tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
- 
- 2004-05-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold, fold_relational_hi_lo,
- 	nondestructive_fold_binary_to_constant,
- 	fold_read_from_constant_string): Use fold_convert instead of convert.
- 	* builtins.c (simplify_builtin, simplify_builtin_strstr,
- 	simplify_builtin_strchr, simplify_builtin_strrchr,
- 	simplify_builtin_strpbrk): Use fold_convert instead of convert.
- 
- 2004-05-21  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-flow-inline.h (num_immediate_uses): Don't abort if DF
- 	is NULL.
- 
- 2004-05-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
- 	override sparc.h definition.
- 
- 2004-05-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.c (array_type_nelts, save_expr, substitute_in_expr,
- 	get_unwidened, get_narrower): Replace build with build2.
- 	* fold-const.c (negate_expr, associate_trees, size_binop,
- 	fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
- 	pedantic_omit_one_operand, distribute_bit_expr,
- 	make_bit_field_ref, optimize_bit_field_compare,
- 	decode_field_reference, range_binop, make_range,
- 	build_range_check, fold_range_test, fold_truthop,
- 	optimize_minmax_comparison, extract_muldiv_1,
- 	fold_binary_op_with_conditional_arg, fold_mathfn_compare,
- 	fold_inf_compare, fold_single_bit_test, fold,
- 	fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
- 	Likewise replace build with either build2 or build3.
- 
- 2004-05-20  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* system.h: Poison NO_RECURSIVE_FUNCTION_CSE.
- 	* calls.c (prepare_call_address): Don't test
- 	NO_RECURSIVE_FUNCTION_CSE.
- 	* config/arc/arc.h (NO_RECURSIVE_FUNCTION_CSE): Don't define.
- 	* config/arm/arm.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/avr/avr.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/frv/frv.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/i386/i386.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/ip2k/ip2k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/iq2000/iq2000.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/m32r/m32r.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/m68k/m68k.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/mcore/mcore.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/mips/mips.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/stormy16/stormy16.h (NO_RECURSIVE_FUNCTION_CSE):
- 	Likewise.
- 	* config/xtensa/xtensa.h (NO_RECURSIVE_FUNCTION_CSE): Likewise.
- 	* config/sh/sh.h: Remove NO_RECURSIVE_FUNCTION_CSE comment.
- 	* doc/tm.texi (Costs): Remove documentation for
- 	NO_RECURSIVE_FUNCTION_CSE.
- 
- 2004-05-20  Paul Brook  <paul@codesourcery.com>
- 
- 	* unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
- 	* unwind-dw2.c (extract_cie_info): Ditto.
- 	(_Unwind_FrameState): Change retaddr_column to word type.
- 
- 2004-05-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/3074
- 	* fold-const.c (strip_compound_expr): Delete function.
- 	(count_cond): Delete function.
- 	(fold_binary_op_with_conditional_arg): Only perform transformations
- 	"a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
- 	when a is constant.  This greatly simplifies this routine.
- 
- 	* tree.c (saved_expr_p): Delete function.
- 	* tree.h (saved_expr_p): Delete function prototype.
- 
- 2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* common.opt (ftree-loop-optimize): Remove.
- 
- 2004-05-20  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
- 	(NM_FOR_TARGET): Use := and $(shell).
- 	(mainversion): Remove unused variable.
- 
- 2004-05-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* reorg.c (delete_from_delay_slot): If we have a barrier after the
- 	sequence containing the insn to be deleted, always reemit it.
- 
- 2004-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR 15454
- 	* tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
- 	* function.c (expand_function_start): Expand static_chain_decl by hand.
- 	* gimplify.c (create_tmp_var_name): Export.
- 	* tree-gimple.h (create_tmp_var_name): Declare.
- 
- 2004-05-20  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* rs6000.c (print_operand) <case 'z'>: Call
- 	mark_decl_referenced before assemble_name.
- 
- 2004-05-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
- 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
- 	(cgraph_varpool_node): Hash on the pointer to the decl, not
- 	the DECL_UID.  Fixes 64-bit bootstrap failure.
- 
- 2004-05-20  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
- 	we don't earlyclobber operands used in the second insn.
- 
- 2004-05-20  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-mudflap.c: Formatting fixes.
- 
- 2004-05-20  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* Makefile.in (GTFILES): Add $(srcdir)/reload.h.
- 	* gengtype.c (open_base_files): Include reload.h in ifiles.
- 	* reload.h (reg_equiv_memory_loc_varray): Declare.
- 	* reload1.c (reg_equiv_memory_loc_varray): New variable.
- 	(init_reload): Initialize it.
- 	(reload): Instead of freeing reg_equiv_memory_loc, 'grow'
- 	reg_equiv_memory_loc_varray to size 0.
- 	* ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
- 	growing reg_equiv_memory_loc_varray to the desired size.
- 	* passes.c (rest_of_handle_old_regalloc): Likewise.
- 	* reload.c: Amend comment on calling init_reload.
- 
- 2004-05-20  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
- 	with 'TRAMP' in the body of the macro definition.
- 
- 2004-05-19  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/15383
- 	* config/ia64/ia64.c (ia64_expand_compare): Don't check
- 	TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
- 	cmptf_libfunc isn't set.
- 	(ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
- 	conventions.
- 	(ia64_sysv4_init_libfuncs): New.
- 
- 	* config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
- 	ia64_sysv4_init_libfuncs.
- 
- 2004-05-20  Falk Hueffner  <falk@debian.org>
- 
- 	PR other/15526
- 	* libgcc2.c (__mulvsi3): Fix overflow test.
- 
- 2004-05-19  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/14171
- 	* reg-stack.c (nan): Rename to ...
- 	(not_a_num): Here.
- 	(reg_to_stack): Rename nan to not_a_num.
- 	(subst_stack_regs_pat): Likewise.
- 	(convert_regs_entry): Likewise.
- 	(convert_regs_1): Likewise.
- 
- 	* tree-cfg.c (find_case_label_for_value): Replace call to
- 	simple_cst_equal with tree_int_cst_equal.
- 
- 2004-05-19  Jeff Law <law@redhat.com>
- 
- 	* tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
- 	If the operand is for a use, then strip away the SSA_NAME, do not
- 	strip away the SSA_NAME for a set.  Never call release_ssa_name.
- 	(mark_def_sites): Appropriately pass additional argument to
- 	prepare_operand_for_rename.  If a VDEF_RESULT is not an SSA_NAME,
- 	then set the VDEF_RESULT to the VDEF_OP.
- 	(set_def_block): Strip away any SSA_NAME to get to the real
- 	underlying variable.
- 
- 	* tree-ssa-phiopt.c (value_replacement): Handle the case where
- 	the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
- 	BB directly.
- 
- 2004-05-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR c++/15463
- 	* loop-iv.c (iv_number_of_iterations):  Use trunc_int_for_mode on
- 	result of inverse.
- 
- 	PR rtl-optimization/15274
- 	* loop-iv.c (determine_max_iter, shorten_into_mode,
- 	iv_number_of_iterations): Handle constants correctly.
- 	* rtl.h (get_mode_bounds): Declaration changed.
- 	* stor-layout.c (get_mode_bounds): Return a constant suitable for
- 	the target mode.
- 
- 	PR rtl-optimization/14692
- 	* loop-unswitch.c (may_unswitch_on): Try folding the result.
- 	(unswitch_single_loop): Work correctly when may_unswitch_on
- 	returns a folded constant.
- 
- 	* loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
- 	* simplify-rtx.c (simplify_const_relational_operation): Optimize
- 	comparisons with mode bounds.
- 
- 	* function.c (struct temp_slot): Add new field prev.
- 	(free_after_compilation, init_temp_slots): Free new fields.
- 	(cut_slot_from_list, insert_slot_to_list,
- 	temp_slots_at_level, max_slot_level, move_slot_to_level,
- 	make_slot_available): New functions.
- 	(assign_stack_temp_for_type, combine_temp_slots,
- 	find_temp_slot_from_address, preserve_temp_slots,
- 	preserve_rtl_expr_result, free_temp_slots,
- 	free_temps_for_rtl_expr, pop_temp_slots): Work with
- 	the new structure of lists.
- 	(mark_all_temps_used): Removed.
- 	* function.h (struct function): Field x_temp_slots
- 	replaced by x_used_temp_slots and x_avail_temp_slots.
- 	(temp_slots): Replaced by ...
- 	(used_temp_slots, avail_temp_slots): New.
- 	* tree.h (mark_all_temps_used): Declaration removed.
- 
- 	* loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
- 	simplify_using_assignment): Take the expression out of
- 	the expr_list wrapper.
- 
- 	* loop-iv.c (iv_number_of_iterations): Improve clasification of
- 	infinite loops.
- 
- 2004-05-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
- 	costs should be based on code size when optimizing for size.
- 
- 2004-05-19  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* fold-const.c: Remove non-printable character 160.
- 
- 2004-05-19  Nick Clifton  <nickc@redhat.com>
- 
- 	* doc/invoke.texi (ARM Options): Fix typo.
- 	Remove descrption of -mshort-load-bytes and
- 	-mno-short-load-bytes.
- 
- 	* config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
- 	missing parenthesis.
- 	* config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
- 	* config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
- 
- 2004-05-19  Steven Bosscher  <stevenb@suse.de>
- 
- 	* expr.c (store_constructor): Build loop start and end by hand
- 	instead of via loop functions from stmt.c.
- 	(expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
- 	Remove the code to expand them.
- 
- 	* stmt.c (loop_stack): Remove this and everything related.
- 	(struct nesting, enum nesting_desc): Update.
- 	(expand_fixup): Likewise.
- 	(expand_loop_start, expand_start_loop_continue_elsewhere,
- 	expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
- 	expand_end_null_loop, expand_continue_loop, expand_exit_loop,
- 	expand_exit_loop_if_false, expand_exit_loop_top_cond,
- 	expand_exit_something): Remove.
- 	* tree.h: Remove prototypes.
- 
- 2004-05-18  Mike Stump  <mrs@apple.com>
- 	    Devang Patel  <dpatel@apple.com>
- 
- 	* doc/tm.texi (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument to indicate
- 	if this label is for eh.
- 	* config/darwin-protos.h (darwin_emit_unwind_label): Likewise.
- 	* config/darwin.c (darwin_emit_unwind_label): Likewise.
- 	* dwarf2out.c (output_call_frame_info): Likewise.
- 	* output.h (default_emit_unwind_label): Likewise.
- 	* target.h (unwind_label): Likewise.
- 	* varasm.c (default_emit_unwind_label): Likewise.
- 
- 	* config/darwin.h (DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
- 	DEBUG_FRAME_SECTION, DEBUG_INFO_SECTION, DEBUG_ABBREV_SECTION,
- 	DEBUG_ARANGES_SECTION, DEBUG_MACINFO_SECTION, DEBUG_LINE_SECTION,
- 	DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_STR_SECTION,
- 	DEBUG_RANGES_SECTION): Define.
- 
- 2004-05-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
- 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node)
- 	(cgraph_varpool_node):
- 	Use DECL_UID for the key, not DECL_ASSEMBLER_NAME.
- 	(cgraph_function_possibly_inlined_p): Use the decl itself for
- 	the key, not DECL_ASSEMBLER_NAME.
- 	(change_decl_assembler_name): No need to muck with the hash tables.
- 	(cgraph_node_for_identifier, cgraph_varpool_node_for_identifier):
- 	Delete.
- 	* cgraphunit.c (cgraph_mark_inline_edge): Use the decl itself
- 	for the key, not DECL_ASSEMBLER_NAME.
- 	* cgraph.h: Remove prototypes of deleted functions.
- 	* varasm.c (mark_referenced): Just set TREE_SYMBOL_REFERENCED.
- 	(mark_decl_referenced): New function.
- 	* tree.h: Prototype mark_decl_referenced.
- 	* final.c (output_addr_const) <case SYMBOL_REF>: Call
- 	mark_decl_referenced before assemble_name.
- 	* c-decl.c (finish_decl): Use mark_decl_referenced.
- 
- 2004-05-18  Andrew Pinski  <pinskia@physics.uc.edu>
- 	    Jeff Law <law@redhat.com>
- 
- 	* tree-ssa-phiopt.c (abs_replacement): New function.
- 	(empty_block_p): New function extracted from...
- 	(candidate_bb_for_phi_optimization): Break out empty block test.
- 	(conditional_replacement): Use empty_block_p.
- 	(value_replacement): Similarly.
- 
- 	* Makefile.in (tree-ssa-phiopt.o): Depends on flags.h.
- 	* tree-ssa-phiopt.c: Include flags.h.
- 	(conditional_replacement): Remove argument names from prototype.
- 	Minor formatting and comment fixes.
- 	(tree_ssa_phiopt): If conditional_replacement returns false, then
- 	call value_replacement.
- 	(value_replacement): New function.
- 
- 2004-05-18  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-phiopt.c (replace_phi_with_stmt): New function extracted
- 	from conditional_replacement.
- 	(candidate_bb_for_phi_optimization): Similarly.
- 	(conditional_replacement): Use replace_phi_with_stmt and
- 	candidate_bb_for_phi_optimization.
- 
- 	* tree-ssa-phiopt.c: Fix various formatting issues.
- 
- 2004-05-18  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr,
- 	s390_expand_cmpmem): Do not use expand_start_loop and
- 	expand_end_loop, instead build the loop manually.
- 
- 2004-05-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (ctrsi_internal3): Delete.
- 	(ctrsi_internal4, ctrdi_internal3, ctrdi_internal4): Delete.
- 
- 2004-05-17  Jeff Law  <law@redhat.com>
- 
- 	* toplev.h (flag_delete_null_pointer_checks): Move from here to...
- 	* flags.h (flag_delete_null_pointer_checks): Here.
- 	* tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
- 	* tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
- 	(add_phi_arg, remove_phi_arg_num): Similarly.
- 	* tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
- 	property into PHI nodes.
- 	* tree-ssa-dom.c: Remove redundant inclusion of flags.h.
- 	(record_equivalences_from_phis): If all PHI arguments are known to be
- 	nonzero, then the result must be nonzero as well.
- 	(cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis.
- 	(record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
- 	appropriately.  Walk the USE-DEF chains and propagate nonzero property
- 	as appropriate.
- 	* tree.h (PHI_ARG_NONZERO): Define.
- 	(phi_arg_d): Add nonzero flag.
- 
- 2004-05-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* f: Entire directory removed
- 
- 	* c-common.h (CTI_G77_INTEGER_TYPE, CTI_G77_UINTEGER_TYPE)
- 	(CTI_G77_LONGINT_TYPE, CTI_G77_ULONGINT_TYPE)
- 	(g77_integer_type_node, g77_uinteger_type_node)
- 	(g77_longint_type_node, or g77_ulongint_type_node): Delete.
- 	* c-common.c (c_common_nodes_and_builtins): Do not initialize
- 	the above set of variables.
- 
- 	* config/i386/uwin.h: No need to define WIN32_UWIN_TARGET.
- 	* doc/invoke.texi, doc/standards.texi: Remove cross-references
- 	to g77 manual.
- 
- 2004-05-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/15438
- 	* tree-ssa-operands.c (get_expr_operands): Do not treat malloc
- 	attributed functions as pure or const.
- 
- 2004-05-17  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mx_register_decls): Tolerate decl trees resulting
- 	from source code with errors.
- 
- 2004-05-17  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	Enable tree browser for all front ends.
- 	* Makefile.in (cc1): Moved @TREEBROWSER@ from here...
- 	(BACKEND): ...to here.
- 
- 2004-05-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (construct_container): Do not produce BLKmode registers.
- 	(classify_argument): Properly compute alignment of complex types.
- 
- 2004-05-17  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/15084
- 	* config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
- 	and renamed to movdi_insv_1_rex64.
- 	(insv): Support SImode for 32bit and DImode for 64bit.
- 
- 2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_DEBUG_G, TARGET_DEBUG_G_MODE): Delete.
- 	(TARGET_SWITCHES): Remove debugg.
- 	* config/mips/mips.md (adddi3, ashldi3, ashrdi3, lshrdi3): Only handle
- 	TARGET_64BIT.
- 	(subdi3): Replace the define_expand with a define_insn, the latter
- 	renamed from subdi3_internal_3.
- 	(negdi2): Likewise negdi2_internal_2.
- 	(adddi3_internal_[12], subdi3_internal, ashldi3_internal{,2,3})
- 	(ashrdi3_internal{,2,3}, lshrdi3_internal{,2,3}): Remove patterns
- 	and associated define_splits.
- 	(adddi3_internal): Renamed from adddi3_internal_3.
- 	(ashldi3_internal): Likewise ashldi3_internal4.
- 	(ashrdi3_internal): Likewise ashrdi3_internal4.
- 	(lshrdi3_internal): Likewise lshrdi3_internal4.
- 
- 2004-05-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* optabs.c (expand_unop): Try implementing negation using subtraction
- 	from zero.
- 
- 2004-05-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md:  Fix typo from last change.  Remove DFmode move to and from
- 	SAR register.
- 
- 2004-05-16  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/10982
- 	* arm.md (ne_zeroextractsi): Convert to insn-and-split.
- 	(ne_zeroextractsi_shifted): New pattern.
- 	(ite_ne_zeroextractsi): New pattern.
- 	(ite_ne_zeroextractsi_shifted): New pattern.
- 
- 2004-05-15  Steven Bosscher  <stevenb@suse.de>
- 
- 	* c-gimplify.c (c_genericize):
- 	Replace calls via (*lang_hooks.foo) with lang_hooks.foo.
- 	* c-parse.in <expr_no_commas>: Likewise.
- 	<if_prefix>: Likewise.
- 	<select_or_iter_stmt>: Likewise.
- 	* expr.c (expand_var, expand_expr_real_1): Likewise.
- 	* expr.h (expand_expr): Make it a static inline function.
- 	Move prototype for expand_expr_real up before this.
- 	* fold-const.c (fold_relational_hi_lo, fold_relational_const):
- 	Likewise.
- 	* gimplify.c (gimple_boolify, gimplify_addr_expr,
- 	gimplify_asm_expr, gimplify_expr): Likewise.
- 	* tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg,
- 	dump_function_to_file): Likewise.
- 	* tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise.
- 	* tree-inline.c (remap_block, save_body, walk_tree): Likewise.
- 	* tree-into-ssa.c (dump_tree_ssa): Likewise.
- 	* tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree):
- 	Likewise.
- 	* tree-optimize.c (execute_one_pass): Likewise.
- 	* tree-pretty-print.c (dump_generic_bb_buff): Likewise.
- 	* tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise.
- 
- 	* objc/objc-act.c (objc_build_try_enter_fragment,
- 	objc_build_try_epilogue, objc_build_catch_stmt,
- 	objc_build_finally_prologue): Replace calls via (*lang_hooks.foo)
- 	with lang_hooks.foo ().
- 
- 2004-05-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (simplify_builtin_strcpy): Avoid use of chainon, so
- 	that simplify_builtin doesn't destructively modify its argument.
- 
- 2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
- 
- 	* arm/lib1funcs.asm (_lshrdi3, _ashrdi3, _ashldi3): Add ASM
- 	implementations for ARM and Thumb.
- 	* arm/t-arm-elf (LIB1ASMFUNCS): Use them.
- 
- 2004-05-15  Thomas Quinot  <quinot@act-europe.fr>
- 
- 	* prefix.c (update_path): Replace PREFIX with KEY only
- 	when it matches a full directory name in PATH.
- 
- 2004-05-15  Richard Earnshaw  <reanrsha@arm.com>
- 
- 	* arm.h (TARGET_APCS_32): Delete.
- 	(TARGET_MMU_TRAPS): Delete.
- 	(TARGET_CPU_CPP_BUILTINS): Unconditionally define __APCS_32__.  Never
- 	define __APCS_26__.
- 	(CPP_SPEC): Remove checking of -mapcs-{26,32}.
- 	(ARM_FLAG_APCS_32, ARM_FLAG_MMU_TRAPS): Delete.
- 	(TARGET_SWITCHES): Remove alignment_traps and apcs-{26,32} switches.
- 	(prog_mode_type): Delete.
- 	(PROMOTE_MODE): Always promote unsigned for HImode.
- 	(SECONDARY_INPUT_RELOAD_CLASS): Simplify.
- 	(MASK_RETURN_ADDR): Simplify.
- 	* arm.c (arm_prgmode): Delete.
- 	(arm_override_options, arm_gen_rotated_half_load): Simplify.
- 	(print_multi_reg, output_return_instruction): Simplify.
- 	(arm_output_epilogue, arm_final_prescan_insn): Simplify.
- 	(arm_return_addr): Simplify.
- 	* arm.md (prog_mode): Delete.
- 	(conds): Simplify.
- 	(zero_extendhisi2, extendhisi2, movhi, movhi_bytes): Simplify.
- 	(rotated_loadsi, movhi_insn_littleend, movhi_insn_bigend): Delete.
- 	(loadhi_si_bigend, loadhi_preinc, loadhi_shiftpreinc): Delete.
- 	(loadhi_shiftpredec): Delete.
- 	(peephole for post-increment on HImode load): Delete.
- 	* arm/crtn.asm: (FUNC_END): Simplify.
- 	* arm/lib1funcs.asm: Remove APCS-26 return macros.
- 	* arm/aof.h, arm/coff.h arm/elf.h arm/linux-elf.h arm/netbsd-elf.h
- 	* arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h arm/unknown-elf.h
- 	* arm/vxworks.h arm/wince-pe.h: Tidy TARGET_DEFAULTS and
- 	MULTILIB_DEFAULTS as required.
- 	* arm/t-arm-elf arm/t-linux arm/t-pe arm/t-semi arm/t-wince-pe
- 	* arm/t-xscale-coff arm/t-xscale-elf arm/uclinux-elf: Tidy MULTILIB
- 	variables as required.
- 	* doc/invoke.texi (ARM Options): Remove obsolete flags.
- 
- 2004-05-15  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
- 	UNITS_PER_WORD to calculate gpr size.  Re-instate code to set reg
- 	count to 8 to handle n_reg > 2.
- 
- 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/extend.texi: Update WG14 URL.
- 
- 2004-05-15  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.h (life_analysis, delete_noop_moves):
- 	Update prototypes.
- 	* bt-load.c (branch_target_load_optimize): Don't take the
- 	insns stream as an argument.  Update the life_analysis calls.
- 	* combine.c (combine_instructions): Update delete_noop_moves
- 	calls.
- 	* flow.c (notice_stack_pointer_modification): Don't take the
- 	insns stream as an argument.  Work on the flow graph.
- 	(life_analysis): Likewise.
- 	(delete_noop_moves): Likewise.
- 	* passes.c (rest_of_handle_stack_regs): Update reg_to_stack call.
- 	(rest_of_handle_life): Update life_analysis call.
- 	(rest_of_compilation): Likewise, and also update
- 	branch_target_load_optimize call.
- 	* ra.c (reg_alloc): Update life_analysis call.
- 	* reg-stack.c (reg_to_stack): Likewise.  Also, don't take
- 	the insns stream as an argument.
- 	* regrename.c (copyprop_hardreg_forward): Update delete_noop_moves
- 	call.
- 	* rtl.c (branch_target_load_optimize, reg_to_stack): Update
- 	prototypes.
- 	* value-profile.c (branch_prob): Update life_analysis call.
- 	* web.c (web_main): Work on the CFG, not on the insns stream.
- 
- 	* config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls.
- 	* config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise.
- 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
- 
- 2004-05-15  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/15444
- 	* c-format.c (avoid_dollar_number): New function.
- 	(check_format_info_main): Call avoid_dollar_number when operand
- 	numbers might occur but has_operand_number == 0.
- 
- 2004-05-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (all peephole2 patterns): Use predicates that validate
- 	register classes as appropriate.
- 
- 2004-05-14  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR opt/14472
- 	* tree-tailcall.c (process_assignment): Use STRIP_NOPS to
- 	ignore type conversions that do not inhibit tail calling.
- 	(find_tail_calls): Likewise.
- 
- 2004-05-14  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't even
- 	bother marking bypassed virtuals for out-of-ssa.  Instead merge
- 	bypassed virtuals into vars_to_rename just before into-ssa pass.
- 
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Reorganize
- 	so that it picks up more opportunities to eliminate ABS expressions
- 	or turn them into negations.
- 
- 2004-05-14  Steven Bosscher  <stevenb@suse.de>
- 
- 	* passes.c (rest_of_handle_null_pointer): Remove.
- 	(rest_of_handle_cse): Don't call rest_of_handle_null_pointer.
- 	(rest_of_compilation): Likewise.
- 	* rtl.h (delete_null_pointer_checks): Remove prototype.
- 	* gcse.c (rd_kill, rd_gen, reaching_defs, rd_out, ae_in, ae_out):
- 	Remove declarations.
- 	(get_bitmap_width, alloc_rd_mem, free_rd_mem, handle_rd_kill_set,
- 	compute_kill_rd, compute_rd, alloc_avail_expr_mem,
- 	free_avail_expr_mem, compute_ae_gen, expr_killed_p, compute_ae_kill,
- 	expr_reaches_here_p, computing_insn, def_reaches_here_p,
- 	can_disregard_other_sets, handle_avail_expr, classic_gcse,
- 	one_classic_gcse_pass, invalidate_nonnull_info,
- 	delete_null_pointer_checks_1, delete_null_pointer_checks,
- 	expr_reached_here_p_work): Remove.
- 	(gcse_main): Do not perform classic GCSE when optimizing for size.
- 	(alloc_pre_mem, free_pre_mem): Don't touch ae_in and ae_out, they
- 	are never used.
- 
- 2004-05-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR optimization/14466
- 	* tree-complex.c (make_temp): Remove.
- 	(gimplify_val): Replace make_temp with make_rename_temp
- 	and add NULL as the second argument.
- 	(expand_complex_div_wide): Likewise.
- 	* tree-dfa.c (make_rename_temp): New function.
- 	* tree-flow.h (make_rename_temp): Declare.
- 	* tree-sra.c (make_temp): Remove.
- 	(lookup_scalar): Replace make_temp with make_rename_temp.
- 	(create_scalar_copies): Likewise.
- 	* tree-ssa-phiopt.c (conditional_replacement): When we
- 	get non gimple create a temporary variable to hold the
- 	casted expression.
- 
- 2004-05-14  Paul Brook  <paul@codesourcery.com>
- 
- 	* stor-layout.c (update_alignment_for_field): Use
- 	targetm.align_anon_bitfield.
- 	* target-def.h (TARGET_ALIGN_ANON_BITFIELD): Define.
- 	(TARGET_INITIALIZER): Use it.
- 	* target.h (struct gcc_target): Add align_anon_bitfield.
- 	* config/arm/arm.c (arm_align_anon_bitfield):  New function.
- 	(TARGET_ALIGN_ANON_BITFIELD): Define.
- 	* doc/tm.texi: Document TARGET_ALIGN_ANON_BITFIELD.
- 
- 2004-05-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.def (documentation): Remove mention of class 'b'.
- 	(BLOCK): Now in class 'x'.
- 	* c-common.c (verify_tree): Remove case 'b'.
- 	* c-typeck.c (same_translation_unit_p): Change 'b' to 'x'.
- 	* calls.c (calls_function_1): Control cannot get past the switch
- 	when exp is a BLOCK.
- 	* print-tree.c (print_node): Move code for class 'b' to the class
- 	'c'/'x' switch, as case BLOCK.
- 	* tree.c (tree_size, make_node_stat, tree_node_structure): Likewise.
- 	(unsafe_for_reeval, substitute_placeholder_in_expr)
- 	(stabilize_reference_1): Remove case 'b'.
- 	* tree-browser.c (browse_tree): Change all tests for TREE_CODE_CLASS
- 	of something being 'b' to tests for TREE_CODE of something being
- 	BLOCK.
- 	* tree-ssa-operands.c (get_expr_operands): Likewise.
- 
- 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-gimple.c: Rename from tree-simple.c.
- 	* tree-gimple.h: Rename from tree-simple.h.
- 	* c-gimplify.c: Rename from c-simplify.c
- 	* Makefile.in, c-decl.c, gimple-low.c, gimplify.c,
- 	langhooks.c, tree-alias-ander.c, tree-alias-common.c,
- 	tree-complex.c, tree-dfa.c, tree-flow.h, tree-inline.c,
- 	tree-into-ssa.c, tree-iterator.c, tree-mudflap.c,
- 	tree-nested.c, tree-nomudflap.c, tree-outof-ssa.c, tree-sra.c,
- 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-copyrename.c,
- 	tree-ssa-dce.c, tree-ssa-live.c, tree-ssa-pre.c, tree-ssa.c:
- 	Update.
- 
- 2004-05-14  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	* doc/sourcebuild.texi: Mention libbanshee and libmudflap.
- 
- 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-ssa.c (delete_tree_ssa): XFREE
- 	bitmaps allocated with BITMAP_XMALLOC.
- 
- 	* tree-ssa-pre.c (execute_pre): Free ephi_use_pool and
- 	idfs_cache at the end of the function.
- 
- 	* tree-ssa-live.c (calculate_live_on_entry): Free saw_def
- 	at the end of the function.
- 
- 	* tree-ssa-dce.c (perform_tree_ssa_dce): Free
- 	el at the end of the function.
- 
- 	* tree-into-ssa.c (insert_phi_nodes_for): XFREE
- 	bitmaps allocated with BITMAP_XMALLOC.
- 
- 	* loop-unswitch.c (unswitch_single_loop): Free bbs at
- 	the end.
- 
- 	* final.c (shorten_branches): Free uid_shuid before
- 	reallocating it.
- 
- 	* bb-reoder.c (connect_traces): Free cold_traces at the end.
- 
- 2004-05-13  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-live.c (calculate_live_on_entry): Ignore virtual
- 	variables.  Simplify slightly by using USE_OP/DEF_OP instead
- 	of USE_OP_PTR/DEF_OP_PTR and dereferencing the result.
- 
- 	* tree-into-ssa.c (compute_global_livein): Use EXECUTE_IF_SET_IN_BITMAP
- 	rather than iterating through the blocks testing each bit in
- 	livein to initialize the worklist.
- 	(mark_def_sites): Remove useless checks of KILLS for virtual
- 	operands.
- 
- 	* tree-ssa-forwprop.c (record_single_argument_cond_exprs): Accept
- 	new parameters for the statement and variable worklist as well
- 	as a bitmap of interesting SSA_NAMEs.  Walk over the statement
- 	worklist recording interesting variables in the variable worklist
- 	and bitmap.  Handle casts between integral and boolean types.
- 	(substitute_single_use_vars): Accept new parameters for the statement
- 	and variable worklist.  When a substitution is made add a new
- 	entry to the statement worklist.  Handle casts between integral
- 	and boolean types.
- 	(tree_ssa_forward_propagate_single_use_vars): Rework to pass
- 	worklists to children.  Iterate until the statement worklist
- 	is empty.
- 
- 2004-05-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-outof-ssa.c (rewrite_vars_out_of_ssa): Free map at
- 	the end of the block.
- 
- 	* tree-into-ssa.c (def_blocks_free): XFREE bitmaps allocated
- 	with BITMAP_XMALLOC.
- 
- 	* tree-ssa-alias.c (delete_alias_info): XFREE bitmaps allocated
- 	with BITMAP_XMALLOC.
- 
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
- 	Free nonzero_vars at the end of the function.
- 
- 	* convert.c (convert_to_integer): Make a CONVERT_EXPR when there is a
- 	need to generate code instead of a NOP_EXPR.
- 
- 2004-05-13  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* gcc.c (default_compilers): Fill out initializers for new Fortran
- 	entries.
- 
- 2004-05-13  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.h (PCC_BITFIELD_TYPE_MATTERS): Define.
- 
- 2004-05-13  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_default_short_enums): New function.
- 	(TARGET_DEFAULT_SHORT_ENUMS): Define.
- 
- 2004-05-13  Diego Novillo  <dnovillo@redhat.com>
- 
- 	Merge from tree-ssa-20020619-branch.
- 
- 	* Makefile.in (reload1.o-warn): Add.
- 	(tree-alias-ander.o-warn): Add.
- 	(GMPLIBS): Define.
- 	(GMPINC): Define.
- 	(BANSHEELIB): Define.
- 	(BANSHEEINC): Define.
- 	(TREE_DUMP_H): Define.
- 	(TREE_SIMPLE_H): Define.
- 	(TREE_FLOW_H): Define.
- 	(LIBDEPS): Add BANSHEELIB.
- 	(INCLUDES): Add BANSHEEINC and GMPINC.
- 	(C_AND_OBJC_OBJS): Add c-simplify.o, tree-mudflap.o,
- 	c-mudflap.o and c-pretty-print.o.
- 	(C_OBJS): Remove c-pretty-print.o.
- 	(OBJS-common): Remove sibcall.o.
- 	Add tree-cfg.o, tree-dfa.o, tree-eh.o,
- 	tree-ssa.o, tree-optimize.o, tree-simple.o,
- 	tree-alias-type.o, gimplify.o, tree-pretty-print.o,
- 	tree-into-ssa.o, tree-outof-ssa.o, tree-alias-common.o,
- 	tree-ssa-ccp.o, @ANDER@, tree-ssa-dce.o, tree-ssa-copy.o,
- 	tree-nrv.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
- 	tree-ssa-live.o, tree-ssa-operands.o, tree-ssa-alias.o,
- 	tree-ssa-phiopt.o, tree-ssa-forwprop.o, tree-nested.o,
- 	tree-ssa-dse.o, tree-ssa-dom.o, domwalk.o,
- 	tree-tailcall.o, gimple-low.o, tree-iterator.o,
- 	tree-phinodes.o, tree-ssanames.o, tree-sra.o,
- 	tree-complex.o, tree-ssa-loop.o, rtl-profile.o and
- 	tree-profile.o.
- 	(OBJC-archive): Add tree-nomudflap.o.
- 	(cc1): Add dependency on @TREEBROWSER@.
- 	(c-decl.o): Add dependency on TREE_DUMP_H.
- 	(c-dump.o): Likewise.
- 	(c-common.o): Add dependency on tree-iterator.h
- 	(c-pretty-print.o): Add dependency on DIAGNOSTIC_H.
- 	(gtype-desc.o): Add dependency on TREE_FLOW_H.
- 	(tree.o): Add dependency on tree-iterator.h,
- 	BASIC_BLOCK_H and TREE_FLOW_H.
- 	(tree-dump.o): Depend on TREE_DUMP_H instead of tree-dump.h.
- 	(langhooks.o): Add dependency on TREE_SIMPLE_H.
- 	(tree-alias-type.o, tree-alias-ander.o,
- 	tree-alias-common.o, tree-ssa.o, tree-into-ssa.o,
- 	tree-outof-ssa.o, tree-ssa-dse.o, tree-ssa-forwprop.o,
- 	tree-ssa-phiopt.o, tree-nrv.o, tree-ssa-copy.o,
- 	tree-ssa-dom.o, tree-ssanames.o, tree-phinodes.o,
- 	domwalk.o, tree-ssa-live.o, tree-ssa-copyrename.o,
- 	tree-ssa-pre.o, tree-cfg.o, tree-tailcall.o,
- 	tree-nested.o, tree-iterator.o, tree-dfa.o,
- 	tree-ssa-operands.o, tree-eh.o, tree-ssa-loop.o,
- 	tree-ssa-alias.o, tree-optimize.o, c-simplify.o,
- 	gimplify.o, gimple-low.o, tree-browser.o, tree-simple.o,
- 	tree-mudflap.o, c-mudflap.o, tree-nomudflap.o,
- 	tree-pretty-print.o, tree-ssa-dce.o, tree-ssa-ccp.o,
- 	tree-sra.o, tree-complex.o, tree-profile.o,
- 	rtl-profile.o): New rules.
- 	(function.o): Add dependency on basic-block.h
- 	(expr.o): Add dependency on tree-iterator.h.
- 	(sibcall.o): Remove.
- 	(profile.o): Depend on TREE_FLOW_H instead of TREE_H.
- 	(cfg.o): Add dependency on TIMEVAR_H.
- 	(cfghooks.o): Add dependency on TREE_FLOW_H.
- 	(reg-stack.o): Add dependency on basic-block.h.
- 	(GTFILES): Add hwint.h, tree-mudflaph.c, tree-flow.h,
- 	c-objc-common.c, c-common.c, c-parse.in, tree-ssanames.c,
- 	tree-eh.c, tree-phinodes.c, tree-cfg.c, tree-dfa.c,
- 	tree-ssa-ccp.c, tree-iterator.c, gimplify.c,
- 	tree-alias-type.h, tree-alias-common.h,
- 	tree-alias-type.c, tree-alias-common.c,
- 	tree-ssa-operands.h, tree-ssa-operands.c, tree-profile.c,
- 	rtl-profile.c and tree-nested.c.
- 	(gt-tree-alias-common.h, gt-tree-mudflap.h,
- 	gt-tree-ssa-ccp.h, gt-tree-eh.h, gt-tree-ssanames.h,
- 	gt-tree-iterator.h, gt-gimplify.h, gt-tree-phinodes.h,
- 	gt-tree-cfg.h, gt-tree-nested.h): New rules.
- 	(TEXI_GCCINT_FILES): Add cfg.texi and tree-ssa.texi.
- 	* basic-block.h: Include predict.h
- 	(struct edge_def): Add GTY marker.
- 	Change field 'insns' to be a union of tree and rtx.
- 	(EDGE_TRUE_VALUE): Define.
- 	(EDGE_FALSE_VALUE): Define.
- 	(EDGE_EXECUTABLE): Define.
- 	(struct bb_ann_d): Forward declare.
- 	(struct basic_block_def): Add GTY marker.
- 	Remove fields head_tree and end_tree.
- 	Add fields stmt_list, rbi and tree_annotations.
- 	(struct reorder_block_def): Define.
- 	(basic_block_info): Add GTY marker.
- 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Change to global
- 	variables instead of macros.
- 	(flow_call_edges_add): Remove declaration.
- 	(make_eh_edge): Remove declaration.
- 	(brief_dump_cfg, find_edge, tree_predicted_by_p,
- 	rtl_predicted_by_p, tree_predict_edge, rtl_predict_edge,
- 	predict_edge_def, rtl_make_eh_edge, find_basic_blocks,
- 	cleanup_cfg, delete_unreachable_blocks, merge_seq_blocks,
- 	alloc_rbi_pool, initialize_bb_rbi, free_rbi_pool): Declare.
- 	(try_redirect_by_replacing_jump): Modfiy return type to
- 	edge instead of bool.
- 	* bb-reorder.c (copy_bb): Call duplicate_block
- 	instead of cfg_layout_duplicate_bb.
- 	(copy_bb_p): Call can_duplicate_block_p instead of
- 	cfg_layout_can_duplicate_bb_p.
- 	* bitmap.c (bitmap_first_set_bit): Abort if word
- 	wasn't found.
- 	(bitmap_last_set_bit): Likewise.
- 	* builtin-types.def (DEF_FUNCTION_TYPE_2): Add
- 	(DEF_FUNCTION_TYPE_3): Add.
- 	* builtins.c (c_strlen): Make extern.
- 	(builtin_save_expr): New.
- 	(expand_builtin_nonlocal_goto): New.
- 	(expand_builtin_constant_p): Remove.
- 	(expand_builtin_mathfn): Call builtin_save_expr instead
- 	of save_expr.
- 	(expand_builtin_mathfn_2): Likewise.
- 	(expand_builtin_strcmp): Likewise.
- 	(expand_builtin_strncmp): Likewise.
- 	(expand_builtin_strcat): Likewise.
- 	(fold_builtin_cabs): Likewise.
- 	(expand_builtin_alloca): Don't trigger if -fmudflap is
- 	given.
- 	(build_string_literal): Set TREE_INVARIANT on new node.
- 	(expand_builtin_profile_fun): New.
- 	(round_trampoline_addr): New.
- 	(expand_builtin_init_trampoline): New.
- 	(expand_builtin_adjust_trampoline): New.
- 	(expand_builtin) <BUILT_IN_NEXT_ARG>: Call simplify_builtin_next_arg.
- 	<BUILT_IN_CONSTANT_P>: Return const0_rtx;
- 	<BUILT_IN_STACK_ALLOC, BUILT_IN_STACK_SAVE,
- 	BUILT_IN_STACK_RESTORE, BUILT_IN_NONLOCAL_GOTO,
- 	BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT,
- 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE>:
- 	Handle.
- 	(fold_builtin_expect): New.
- 	(fold_builtin_isascii): Don't return non-constant results
- 	in GIMPLE form.
- 	(fold_builtin_isdigit): Likewise.
- 	(fold_builtin_1): New.
- 	(fold_builtin): Call it.
- 	(build_function_call_expr): Update call to build a new
- 	CALL_EXPR.
- 	(purge_builtin_constant_p): Remove.
- 	(simplify_builtin, simplify_builtin_memcmp,
- 	simplify_builtin_strcmp, simplify_builtin_strncmp,
- 	simplify_builtin_strpbrk, simplify_builtin_strstr,
- 	simplify_builtin_strchr, simplify_builtin_strrchr,
- 	simplify_builtin_strcat, simplify_builtin_strncat,
- 	simplify_builtin_strspn, simplify_builtin_strcspn,
- 	simplify_builtin_next_arg, simplify_builtin_va_start,
- 	simplify_builtin_sprintf): New.
- 	* builtins.def (BUILT_IN_STACK_ALLOC,
- 	BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE,
- 	BUILT_IN_INIT_TRAMPOLINE, BUILT_IN_ADJUST_TRAMPOLINE,
- 	BUILT_IN_NONLOCAL_GOTO, BUILT_IN_PROFILE_FUNC_ENTER,
- 	BUILT_IN_PROFILE_FUNC_EXIT): Define.
- 	* c-common.c: Include tree-iterator.h and hashtab.h.
- 	(lang_statement_code_p): Declare.
- 	(lang_gimplify_stmt): Declare.
- 	(fix_string_type): Set TREE_INVARIANT for value.
- 	(pointer_int_sum): Rely on build to set TREE_CONSTANT.
- 	(c_type_hash): New.
- 	(c_common_get_alias_set): Handle multiple type nodes
- 	referring to "the same" type, currently for C90 only.
- 	(c_add_case_label): Use create_artificial_label.
- 	(finish_label_address_expr): Don't set TREE_CONSTANT on
- 	result.
- 	(c_expand_expr): Don't handle STMT_EXPR.
- 	(handle_alias_attribute): Marke aliased variables to be
- 	TREE_STATIC.
- 	(handle_nonnull_attribute): Initialize arg_num.
- 	(check_function_nonnull): Likewise.
- 	(c_walk_subtrees): New.
- 	(c_estimate_num_insns_1): Don't handle
- 	EXPR_WITH_FILE_LOCATION nor FILE_STMT.
- 	(c_decl_uninit_1): Remove.
- 	(c_decl_uninit): Remove.
- 	(c_warn_unused_result): New.
- 	* c-common.def (ASM_STMT): Change number of operands
- 	to 4.
- 	(FILE_STMT): Remove.
- 	* c-common.h (lang_expand_stmt, lang_expand_decl_stmt):
- 	Remove.
- 	(lang_gimplify_stmt): Add.
- 	(expand_stmt): Remove.
- 	(ASM_CV_QUAL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
- 	ASM_CLOBBERS, STMT_EXPR_WARN_UNUSED_RESULT,
- 	ASM_VOLATILE_P, FILE_STMT_FILENAME_NODE,
- 	FILE_STMT_FILENAME, STMT_LINENO, STMT_LINENO_FOR_FN_P,
- 	ASM_INPUT_P, DECL_C_HARD_REGISTER): Remove.
- 	(genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
- 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
- 	genrtl_while_stmt, genrtl_do_stmt, genrtl_return_stmt,
- 	genrtl_for_stmt, genrtl_break_stmt, genrtl_continue_stmt,
- 	genrtl_scope_stmt, genrtl_switch_stmt, genrtl_case_label,
- 	genrtl_compound_stmt, genrtl_asm_stmt,
- 	genrtl_cleanup_stmt, c_decl_uninit): Remove.
- 	(c_do_switch_warnings, c_gimplify_expr, c_walk_subtrees,
- 	c_tree_chain_matters_p, c_warn_unused_result,
- 	c_genericize, c_gimplify_stmt, stmt_expr_last_stmt):
- 	Declare.
- 	* c-convert.c (convert): Make convert work when
- 	converting to compatible types across translation unit.
- 	* c-decl.c: Include langhooks.h, tree-mudflap.h,
- 	tree-simple.h, diagnostic.h and tree-dump.h
- 	(merge_decls): Initialize oldtype to NULL.
- 	(finish_decl): Use DECL_HARD_REGISTER instead of
- 	DECL_C_HARD_REGISTER.
- 	(check_bitfield_type_and_width): Check for null
- 	lang_type_specific when check the precision of an enum.
- 	(grokdeclarator): Immediately layout an ARRAY_TYPE used
- 	in a pointer-to-array declarator.
- 	(finish_struct): Clear allocated struct lang_type.
- 	(finish_enum): Set enum_min and enum_max.  Set
- 	TYPE_MIN/MAX_VALUE to the limits of the compatible type,
- 	not to the enumerators.
- 	(set_decl_nonlocal): New.
- 	(store_parm_decls): Use it via walk_tree.
- 	(c_finalize): New.
- 	(finish_function): When !targetm.have_ctors_dtors,
- 	record static constructors and destructors here...
- 	(c_expand_body_1): ... not here.
- 	(c_expand_decl): Rename from c_expand_decl_stmt.
- 	Handle all C-specific expansion semantics.
- 	* c-dump.c (dump_stmt): Use EXPR_LOCUS instead of
- 	STMT_LINENO.
- 	* c-format.c (handle_format_arg_attribute): Initialize
- 	format_num.
- 	* c-lang.c: Include tree-inline.h
- 	(LANG_HOOKS_EXPAND_DECL,
- 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
- 	LANG_HOOKS_TREE_INLINING_WALK_SUBTREES,
- 	LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P,
- 	LANG_HOOKS_GIMPLIFY_EXPR, LANG_HOOKS_TYPES_COMPATIBLE_P): Define.
- 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
- 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS): Remove.
- 	(c_types_compatible_p): New.
- 	* c-mudflap.c: New file.
- 	* c-objc-common.c: Include tree-mudflap.h
- 	(start_cdtor, finish_cdtor): Collapse
- 	together into
- 	(build_cdtor): ...here.  Update to construct a complete tree
- 	for the function.  No need to call push_scope, pop_scope, or
- 	clear_last_expr, or set current_function_cannot_inline.
- 	(c_missing_noreturn_ok_p): Change prototype to return
- 	bool.
- 	(c_objc_common_init): Don't set lang_missing_noreturn_ok_p.
- 	* c-opts.c (c_common_handle_option): Move handling of -fdump- to
- 	opts.c.
- 	(c_common_post_options): Don't ever use rtl inlining.
- 	* c-parse.in: Use EXPR_LOCUS instead of STMT_LINENO.
- 	* c-pragma.c (handle_pragma_redefine_extname): Define
- 	always.
- 	(init_pragma): Activate #pragma redefine_extname for mudflap.
- 	* c-pretty-print.c (pp_c_statement): Remove FILE_STMT.
- 	(pp_c_initializer): Accept any type CONSTRUCTOR.
- 	(pp_c_initializer_list): Fix code expectations for VECTOR_TYPE and
- 	COMPLEX_TYPE.
- 	(decl_name_str): New local function.
- 	(pp_c_direct_declarator): Call it.
- 	(pp_c_primary_expression): Call it.
- 	(pp_c_id_expression): Call it.
- 	(pp_c_statement): Call it.
- 	(print_c_tree): Create new pp object.
- 	* c-pretty-print.h (pp_c_tree_decl_identifier,
- 	print_c_tree): Declare.
- 	* c-semantics.c: Include langhooks.h
- 	(lang_expand_stmt, lang_expand_decl_stmt,
- 	find_reachable_label_1, find_reachable_label,
- 	expand_unreachable_if_stmt, expand_unreachable_stmt,
- 	genrtl_do_stmt_1): Remove.
- 	(begin_stmt_tree): Don't check for changed filename.
- 	Call annotate_with_locus.
- 	(finish_stmt_tree): Don't set line for end of function.
- 	(build_stmt): Don't check type nodes for
- 	side effects.
- 	(build_stmt): Set TREE_SIDE_EFFECTS.
- 	Set EXPR_LOCUS instead of STMT_LINENO.
- 	(lang_expand_stmt, lang_expand_decl_stmt,
- 	expand_cond, genrtl_do_pushlevel, genrtl_goto_stmt, genrtl_expr_stmt,
- 	genrtl_expr_stmt_value, genrtl_decl_stmt, genrtl_if_stmt,
- 	genrtl_while_stmt, genrtl_do_stmt_1, genrtl_do_stmt,
- 	genrtl_return_stmt, genrtl_for_stmt, genrtl_break_stmt,
- 	genrtl_continue_stmt, genrtl_scope_stmt, genrtl_switch_stmt,
- 	genrtl_case_label, genrtl_compound_stmt, genrtl_asm_stmt,
- 	genrtl_cleanup_stmt, expand_stmt, find_reachable_label,
- 	find_reachable_label_1, expand_unreachable_if_stmt,
- 	expand_unreachable_stmt): Remove.
- 	(prep_stmt): Use EXPR_LOCUS instead of STMT_LINENO.
- 	* c-simplify.c: New file.
- 	* c-tree.h (C_LANG_TREE_NODE_CHAIN_NEXT): Define.
- 	(struct lang_type): Add fields enum_min and enum_max.
- 	(c_expand_decl_stmt, c_missing_noreturn_ok_p): Remove.
- 	(c_expand_decl, c_missing_noreturn_ok_p,
- 	c_types_compatible_p): Declare.
- 	* c-typeck.c (tagged_types_tu_compatible_p): Allow for
- 	compiler-generated TYPE_DECLs without a DECL_ORIGINAL_TYPE.
- 	(default_function_array_conversion): Rely on build to
- 	set TREE_CONSTANT.
- 	(parser_build_binary_op, pointer_diff): Likewise.
- 	(build_unary_op, build_binary_op): Likewise.
- 	(build_array_ref):
- 	(build_external_ref): Set TREE_INVARIANT.
- 	(build_c_cast, pop_init_level): Likewise.
- 	(process_init_element): Use ASM_VOLATILE_P.
- 	(build_asm_expr): Adapt to GENERIC/GIMPLE syntax.
- 	(c_finish_case): Call c_do_switch_warnings.
- 	* c.opt (fdump-): Remove.
- 	* calls.c (try_to_integrate): Remove.
- 	(prepare_call_address): Replace fndecl arg with a
- 	precomputed static chain value.
- 	(emit_call_1): New argument for full call expr.
- 	(flags_from_decl_or_type): Call special_function_p.
- 	(initialize_argument_information): Add argument
- 	may_tailcall.
- 	(purge_reg_equiv_notes): New.
- 	(expand_call): Do not try to expand calls inline.
- 	(fixup_tail_calls): New.
- 	* cfg.c: Include timevar.h and ggc.h.
- 	(bb_pool, edge_pool): Remove.
- 	(ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR): Declare.
- 	(entry_exit_blocks): Remove.
- 	(rbi_pool): Declare.
- 	(init_flow): Do not create pools.
- 	Allocate entry/exit block.
- 	(free_edge, alloc_block, expunge_block, unchecked_make_edge): Use GGC.
- 	(alloc_rbi_pool, free_rbi_pool, initialize_bb_rbi): New.
- 	(unlink_block): Clear b->prev_bb and b->next_bb.
- 	(compact_blocks): Clear all slots of BASIC_BLOCK array.
- 	(dump_flow_info): Work on trees too.
- 	(dump_cfg_bb_info): New.
- 	(brief_dump_cfg): New.
- 	* cfganal.c (need_fake_edge_p, flow_call_edges_add): Remove.
- 	(find_edge): New.
- 	* cfgbuild.c (rtl_make_eh_edge): Rename from
- 	make_eh_edge.  Update all users.
- 	(find_basic_blocks): Don't call VARRAY_FREE on
- 	basic_block_info.
- 	* cfgcleanup.c (outgoing_edges_match): Initialize newpos1
- 	and newpos2.
- 	(delete_unreachable_blocks): Return changed status.
- 	(merge_seq_blocks): New.
- 	* cfghooks.c: Include tree-flow.h
- 	(tree_register_cfg_hooks, ir_type): New.
- 	(redirect_edge_and_branch): Change return type to edge.
- 	(predict_edge, predicted_by_p, can_duplicate_block_p,
- 	duplicate_block, block_ends_with_call_p,
- 	block_ends_with_condjump_p, flow_call_edges_add): New.
- 	* cfghooks.h (redirect_edge_and_branch): Change return
- 	type to edge.
- 	(predict_edge, predicted_by_p, can_duplicate_block_p,
- 	duplicate_block, block_ends_with_call_p,
- 	block_ends_with_condjump_p, flow_call_edges_add): Declare.
- 	(redirect_edge_and_branch): Change return type to edge.
- 	(struct cfg_hooks): Add fields block_ends_with_call_p,
- 	block_ends_with_condjump_p, flow_call_edges_add,
- 	predict_edge, predicted_by_p, can_duplicate_block_p and
- 	duplicate_block.
- 	(tree_cfg_hooks, ir_type, tree_register_cfg_hooks): Declare.
- 	* cfglayout.c (cfg_layout_pool, cfg_layout_initialize_rbi): Removed.
- 	(fixup_reorder_chain): Use initialize_bb_rbi.
- 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Hookized.
- 	(cfg_layout_initialize): Use cfg.c rbi pool manipulation functions.
- 	(can_copy_bbs_p, copy_bbs): Use cfghooks for bb duplication.
- 	(insn_locators_initialize): Use new info about blocks.
- 	* cfglayout.h (typedef struct reorder_block_def): Moved to
- 	basic_block.h.
- 	(cfg_layout_can_duplicate_bb_p, cfg_layout_duplicate_bb): Declaration
- 	removed.
- 	* cfgloop.c: Include tree.h and tree-flow.h.
- 	* cfgloop.h (create_loop_notes): Declare.
- 	* cfgloopmanip.c (create_loop_notes): New.
- 	* cfgrtl.c (cfg_layout_create_basic_block): Use initialize_bb_rbi.
- 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Fill in can_duplicate_block_p
- 	and duplicate_block fields.
- 	(create_basic_block_structure): Don't look at
- 	RTX_INTEGRATED_P.
- 	(rtl_block_ends_with_call_p): New.
- 	(rtl_block_ends_with_condjump_p): New.
- 	(need_fake_edge_p): Moved from cfganal.c.
- 	(rtl_flow_call_edges_add): Moved from cfganal.c (flow_call_edges_add).
- 	(rtl_cfg_hooks): Add rtl_block_ends_with_call_p,
- 	rtl_block_ends_with_condjump_p, rtl_flow_call_edges_add.
- 	(cfg_layout_rtl_cfg_hooks): Ditto.
- 	* cgraph.c (cgraph_mark_reachable_node): Don't force nested
- 	functions to be reachable.
- 	* cgraphunit.c (decide_is_function_needed):
- 	* cgraphunit.c (decide_is_function_needed): Nested functions of extern
- 	inline functions don't need to be output.
- 	(cgraph_assemble_pending_functions): Don't do anything
- 	special for nested functions.
- 	(cgraph_mark_functions_to_output): Likewise.
- 	(cgraph_finalize_function): Don't zap DECL_STRUCT_FUNCTION.
- 	(cgraph_analyze_function): Use estimate_num_insns.
- 	(cgraph_mark_functions_to_output): Likewise.
- 	(cgraph_estimate_growth, cgraph_clone_inlined_nodes): Likewise.
- 	(cgraph_expand_function): Allow functions to not be
- 	emitted.
- 	(cgraph_remove_unreachable_nodes):
- 	(cgraph_recursive_inlining_p): Simplify.
- 	(lookup_recursive_calls,
- 	cgraph_decide_recursive_inlining): New.
- 	(cgraph_decide_inlining_*): Update calls of
- 	cgraph_mark_inline.
- 	* combine.c (get_pos_from_mask): Always set *plen.
- 	* common.opt (fdump-, fmudflap, fmudflapth, fmudflapir,
- 	ftree-based-profiling, ftree-ccp, ftree-ch,
- 	ftree-combine-temps, ftree-copyrename, ftree-dce,
- 	ftree-dominator-opts, ftree-dse, ftree-loop-optimize,
- 	ftree-points-to, ftree-pre, ftree-sra, ftree-ter,
- 	ftree-lrs): Add.
- 	* config.in (HAVE_LD_PIE, HAVE_BANSHEE, PREFIX_INCLUDE_DIR):
- 	Undefine.
- 	* configure.ac: Add --enable-tree-browser option.
- 	Add --with-libbanshee option.
- 	Add GMPLIBS and GMPINC.
- 	* configure: Regenerate.
- 	* coverage.c (tree_ctr_tables): New.
- 	(coverage_counter_alloc): Use it.
- 	(build_ctr_info_value): Ditto.
- 	(coverage_counter_ref): Ditto.  Rename to rtl_coverage_counter_ref.
- 	(tree_coverage_counter_ref): New.
- 	* coverage.h (coverage_counter_ref): Remove declaration.
- 	(rtl_coverage_counter_ref): Declare.
- 	(tree_coverage_counter_ref): Declare.
- 	* cppexp.c (append_digit): Rearrange unsignedp/overflow setting.
- 	(eval_token, num_binary_op, num_part_mul, num_div_op): Likewise.
- 	* cse.c (fold_rtx): Do not handle CONSTANT_P_RTX.
- 	(struct cse_basic_block_data): Rename enum values to not
- 	conflict with profile.h; update all uses.
- 	* dbxout.c (dbxout_symbol_location): Don't mention integrate.c
- 	in comments.
- 	* defaults.h (TRAMPOLINE_ALIGNMENT): Move from function.c.
- 	* diagnostic.h (debug_output_buffer, dump_generic_node,
- 	print_generic_stmt, print_generic_stmt_indented,
- 	print_generic_expr, print_generic_decl,
- 	debug_generic_expr, debug_generic_stmt, debug_c_tree):
- 	Declare.
- 	* dominance.c: Cache immediate dominators.
- 	* domwalk.c: New file.
- 	* domwalk.h: New file.
- 	* dwarf2out.c (is_fortran): Support DW_LANG_Fortran95.
- 	(gen_subprogram_die): Generate a DIE for a named
- 	return value.
- 	(loc_descriptor_from_tree): Treat RESULT_DECL like VAR_DECL.
- 	(add_location_or_const_value_attribute): Likewise.
- 	(add_bound_info): Likewise.
- 	(gen_decl_die): Likewise.
- 	* emit-rtl.c (maybe_set_first_label_num): New.
- 	(copy_most_rtx): Don't copy the integrated flag.
- 	Copy the new return_val flag.
- 	* et-forest.c (MAX_NODES): Define.
- 	(record_path_before_1): Abort if len is greater than
- 	MAX_NODES.
- 	* except.c (gen_eh_region, gen_eh_region_cleanup, gen_eh_region_try,
- 	gen_eh_region_catch, gen_eh_region_allowed,
- 	gen_eh_region_must_not_throw, get_eh_region_number,
- 	get_eh_region_may_contain_throw, get_eh_region_tree_label,
- 	set_eh_region_tree_label, expand_resx_expr): New.
- 	(expand_eh_region_start, expand_start_catch): Use them.
- 	(expand_end_catch): Tidy.
- 	(note_eh_region_may_contain_throw): Take region argument.
- 	(note_current_region_may_contain_throw): New.
- 	(get_exception_filter): Export.
- 	(collect_eh_region_array): Export.
- 	(remove_unreachable_regions): Check ERT_TRY based on reachability
- 	of catches, not reachability of continue_label.  Never remove
- 	ERT_MUST_NOT_THROW regions.
- 	(collect_rtl_labels_from_trees): New.
- 	(convert_from_eh_region_ranges): Use it.
- 	(connect_post_landing_pads): Handle dying cleanups.
- 	(struct reachable_info): Add callback data.
- 	(add_reachable_handler): Invoke the callback.
- 	(foreach_reachable_handler): New.
- 	(reachable_handlers): Use it.
- 	(arh_to_landing_pad, arh_to_label): New.
- 	(can_throw_internal_1): Split out from can_throw_internal.
- 	(can_throw_external_1): Similarly.
- 	* except.h: Update.
- 	* explow.c (emit_stack_save): Remove savearea mode check.
- 	(update_nonlocal_goto_save_area): New.
- 	(allocate_dynamic_stack_space): Use it.
- 	(probe_stack_range): Never emit loop notes.
- 	* expmed.c (extract_fixed_bit_field): Always propagate the
- 	target for the shift if it is a REG.
- 	* expr.c: Include tree-iterator.h
- 	(is_zeros_p): Remove.
- 	(categorize_ctor_elements_1, categorize_ctor_elements): New.
- 	(count_type_elements): New.
- 	(mostly_zeros_p): Use them.
- 	(expr_wfl_stack): Remove.
- 	(convert_move): Do nothing if to and from are the same.
- 	(emit_block_move_via_loop): Don't emit LOOP notes.
- 	(emit_move_insn): Don't handle CONSTANT_P_RTX.
- 	(emit_move_insn_1): Don't generate inline warnings.
- 	(expand_vars, expand_var): Split from ...
- 	(expand_expr_1): ... here.
- 	(expand_expr_real, expand_expr_real_1):  Use new macros
- 	EXPR_LOCATION and EXPR_HAS_LOCATION.
- 	* expr.h (simplify_builtin_fputs,
- 	simplify_builtin_strcpy, simplify_builtin_strncpy,
- 	expand_var, fixup_tail_calls,
- 	update_nonlocal_goto_save_area): Declare.
- 	(lookup_static_chain, expand_inline_function,
- 	mark_seen_cases): Remove.
- 	(prepare_call_address): Change type of 2nd argument to
- 	rtx.
- 	* final.c (profile_function): Update static chain test.
- 	(final): Don't look at RTX_INTEGRATED_P.
- 	* flags.h (flag_mudflap, flag_mudflap_threads,
- 	flag_mudflap_ignore_reads, flag_tree_pre, flag_tree_ccp,
- 	flag_tree_dce, flag_tree_combine_temps,
- 	flag_tree_live_range_split, flag_tree_dom, flag_tree_ch,
- 	flag_tree_dse, flag_tree_sra, flag_tree_copyrename,
- 	flag_tree_points_to): Declare.
- 	(enum pta_type): Declare.
- 	* flow.c (lang_missing_noreturn_ok_p): Remove.
- 	(check_function_return_warnings): Remove.
- 	(update_life_info): Update comments.
- 	(free_basic_block_vars): Don't call VARRAY_FREE for
- 	basic_block_info.
- 	(regno_uninitialized): Remove.
- 	* fold-const.c (int_const_binop): Make extern.
- 	(non_lvalue): Rely on build to set TREE_CONSTANT.
- 	(operand_equal_p): Replace only_const argument with
- 	flags.  Allow pure functions if OEP_PURE_SAME.
- 	(fold): Use OEP_ONLY_CONST.
- 	(invert_truthvalue) <NOP_EXPR> Break if argument is of
- 	boolean type.
- 	(fold_relational_hi_lo,
- 	nondestructive_fold_binary_to_constant,
- 	nondestructive_fold_unary_to_constant,
- 	fold_read_from_constant_string): New.
- 	* function.c (struct function): Remove calls_constant_p.
- 	(current_function_calls_constant_p): Remove.
- 	(inline_function_decl): Remove.
- 	(put_var_into_stack): Don't use it.
- 	(fix_lexical_addr): Likewise.
- 	(inline_function_decl): Remove extern declaration.
- 	(TRAMPOLINE_ALIGNMENT): Move to defaults.h.
- 	(trampolines_created): Move to varasm.c.
- 	(free_after_compilation): Update for removed fields.
- 	(allocate_struct_function): Likewise.
- 	(delete_handlers, lookup_static_chain): Remove.
- 	(fix_lexical_addr): Don't consider non-local variable refs.
- 	(trampoline_address): Remove.
- 	(round_trampoline_addr): Move to builtins.c.
- 	(adjust_trampoline_addr): Remove.
- 	(expand_function_start): Update for changes to static chain
- 	and nonlocal goto handling.
- 	(initial_trampoline): Move to varasm.c.
- 	(expand_function_end): Don't build trampolines or kill
- 	unreferenced nonlocal goto labels.
- 	(free_after_compilation): Don't set it.
- 	(expand_function_end): Likewise.
- 	(setjmp_vars_warning): Rename from
- 	uninitialized_vars_warning, remove uninitialized vars warning.
- 	(uninitialized_vars_warning): Remove old comment
- 	and check for DECL_INITIAL, replace with a check of TREE_NO_WARNING
- 	and do not call the langhook.
- 	(expand_function_start, expand_function_end): Don't do
- 	function instrumentation here.
- 	(clear_block_marks): Rename from reorder_blocks_0, export.
- 	(blocks_nreverse): Export.
- 	(uninitialized_vars_warning): Use DECL_RTL_SET_P to test for presence
- 	of rtl.
- 	(reset_block_changes, record_block_change, finalize_block_changes,
- 	check_block_change, free_block_changes): New functions.
- 	(assign_parms): Setting of current_function_stdarg
- 	moved ...
- 	(allocate_struct_function): ... here.
- 	* function.h (struct function): Remove x_nonlocal_labels,
- 	x_nonlocal_goto_handler_slots, x_nonlocal_goto_stack_level,
- 	x_context_display, x_trampoline_list, needs_context.
- 	Add static_chain_decl, nonlocal_goto_save_area.
- 	(struct function): Remove x_clobber_return_insn.
- 	Add tail_call_emit field, last_label_uid,
- 	unexpanded_var_list, dont_emit_block_notes,
- 	ib_boundaries_block, function_end_locus and saved_tree/saved_args.
- 	(clear_block_marks): Declare.
- 	* gcc.c (MFWRAP_SPEC, MFLIB_SPEC): Add -fmudflapth support.
- 	(mfwrap_spec, mflib_spec): Declare.
- 	(cpp_unique_options, cc1_options): Ditto.
- 	(default_compilers): Add .F and .f90.
- 	(static_specs): Add mfwrap and mflib.
- 	* gcse.c (want_to_gcse_p, gcse_constant_p): Don't handle
- 	CONSTANT_RTX_P.
- 	(reg_used_on_edge, reg_killed_on_edge, bypass_block):
- 	Update to match insns field in struct edge_def.
- 	* gdbinit.in (pgs, pge): Define.
- 	* genattrtab.c (ATTR_PERMANENT_P): Use the return_val flag
- 	instead of the integrated flag.
- 	* gengtype-lex.l (IWOrD): Add HOST_WIDEST_INT
- 	* gengtype-yacc.y (bitfieldlen): Add empty action.
- 	(struct_fields): Accept unnamed bitfields.
- 	(bitfieldlen): Split from ...
- 	(bitfieldopt): ... here.
- 	* gengtype.c (ifiles): Add tree-alias-type.h and
- 	tree-flow.h.
- 	* genrecog.c (validate_pattern): Do not handle
- 	CONSTANT_P_RTX.
- 	* gimple-low.c: New file.
- 	* gimplify.c: New file.
- 	* haifa-sched.c (priority): Do not handle CONSTANT_P_RTX.
- 	(restore_line_notes): Do not set RTX_INTEGRATED_P.
- 	* ifcvt.c (dead_or_predicable): Initialize local variable
- 	'earliest'.
- 	* input.h (expr_wfl_stack): Remove.
- 	* integrate.c (INTEGRATE_THRESHOLD): Remove.
- 	(setup_initial_hard_reg_value_integration): Likewise.
- 	(initialize_for_inline): Likewise.
- 	(note_modified_parmregs): Likewise.
- 	(integrate_parm_decls): Likewise.
- 	(process_reg_param): Likewise.
- 	(save_parm_insns): Likewise.
- 	(copy_insn_list): Likewise.
- 	(copy_insn_notes): Likewise.
- 	(compare_blocks): Likewise.
- 	(find_block): Likewise.
- 	(inlining): Likewise.
- 	(function_cannot_inline_p): Likewise.
- 	(parmdecl_map): Likewise.
- 	(in_nonparam_insns): Likewise.
- 	(save_for_inline): Likewise.
- 	(FIXED_BASE_PLUS): Likewise.
- 	(expand_inline_function): Likewise.
- 	(copy_rtx_and_substitute): Don't look at map->integrating,
- 	map->inline_target, and inlining, since we are never copying
- 	for integrating.
- 	Don't abort on RTX_INTEGRATED_P.
- 	(old_fun): Remove.
- 	(output_inline_function): Remove.
- 	* integrate.h (struct inline_map): Remove fields integrating,
- 	block_map, leaf_reg_map, inline_target, and local_return_label.
- 	* jump.c (next_nonnote_insn_in_loop, duplicate_loop_exit_test,
- 	copy_loop_headers, never_reached_warning): Removed.
- 	(any_uncondjump_p): Reject nonlocal goto.
- 	* langhooks-def.h (lhd_types_compatible_p,
- 	lhd_expand_decl, lhd_gimplify_expr): Declare.
- 	(LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
- 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
- 	LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P,
- 	LANG_HOOKS_GIMPLIFY_EXPR,
- 	LANG_HOOKS_GIMPLE_BEFORE_INLINING,
- 	LANG_HOOKS_EXPAND_DECL, LANG_HOOKS_TYPES_COMPATIBLE_P,
- 	LANG_HOOKS_GIMPLIFY_EXPR,
- 	LANG_HOOKS_GIMPLE_BEFORE_INLINING): Define.
- 	(LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_START,
- 	LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED,
- 	LANG_HOOKS_RTL_EXPAND_INITIALIZER,
- 	LANG_HOOKS_DECL_UNINIT,
- 	LANG_HOOKS_RTL_EXPAND_INITIALIZER): Remove.
- 	* langhooks.c: Include tree-simple.h.
- 	(lhd_expand_decl): New.
- 	(lhd_types_compatible_p): New.
- 	(lhd_decl_uninit): Remove.
- 	(lhd_gimplify_expr): New.
- 	* langhooks.h (struct lang_hooks_for_rtl_expansion):
- 	Remove.
- 	(struct lang_hooks_for_functions): Add field
- 	missing_noreturn_ok_p.
- 	(struct lang_hooks): Add field expand_decl,
- 	types_compatible_p, gimplify_expr and
- 	gimple_before_inlining.
- 	Remove fields decl_uninit and rtl_expand
- 	* opts.c (decode_options): Set flag_tree_ccp,
- 	flag_tree_dce, flag_tree_dom, flag_tree_dse,
- 	flag_tree_pre, flag_tree_ter,
- 	flag_tree_live_range_split, flag_tree_sra,
- 	flag_tree_copyrename and flag_tree_ch at -O1 and higher.
- 	(common_handle_option): Handle OPT_fdump_, OPT_fmudflap,
- 	OPT_fmudflapth, OPT_fmudflapir,
- 	OPT_ftree_based_profiling, OPT_ftree_ccp, OPT_ftree_dce,
- 	OPT_ftree_combine_temps, OPT_ftree_ter, OPT_ftree_lrs,
- 	OPT_ftree_dominator_opts, OPT_ftree_copyrename,
- 	OPT_ftree_ch, OPT_ftree_dse, OPT_ftree_sra,
- 	OPT_ftree_points_to_ and OPT_ftree_pre.
- 	* output.h (regno_uninitialized, find_basic_blocks,
- 	cleanup_cfg, delete_unreachable_blocks,
- 	check_function_return_warnings): Remove.
- 	* params.def (PARAM_MAX_INLINE_INSNS_RECURSIVE,
- 	PARAM_MAX_INLINE_INSNS_RECURSIVE_AUTO,
- 	PARAM_MAX_INLINE_RECURSIVE_DEPTH,
- 	PARAM_MAX_INLINE_RECURSIVE_DEPTH_AUTO,
- 	PARAM_GLOBAL_VAR_THRESHOLD, PARAM_MAX_ALIASED_VOPS):
- 	* params.h (GLOBAL_VAR_THRESHOLD, MAX_ALIASED_VOPS):
- 	Define.
- 	* passes.c (rest_of_decl_compilation):
- 	(rest_of_handle_sibling_calls): Remove.
- 	(rest_of_handle_inlining): Remove.
- 	(rest_of_handle_gcse): Do not run
- 	purge_builtin_constant_p.
- 	(rest_of_compilation): Update.
- 	Do not call copy_loop_headers.
- 	Do rtl-based profiling only when
- 	!flag_tree_based_profiling.  Register rtl-based profiling
- 	hooks.
- 	* predict.c:  Include tree-flow.h, ggc.h, tree-dump.h
- 	(predicted_by_p): Rename to ...
- 	(rtl_predicted_by_p): .. this one; make global
- 	(tree_predicted_by_p): New.
- 	(dump_prediction): Add FILE argument.
- 	(predict_edge): Rename to ...
- 	(rtl_predict_edge): .. this one.
- 	(tree_predict_edge): New.
- 	(combine_predictions_for_insn): Update calls of predict_edge.
- 	(predict_loops): Break out from ...
- 	(estimate_probability): ... here; update comments; move updating
- 	of unknown probabilities from ...
- 	(estimate_bb_frequencies): ... here.
- 	(combine_predictions_for_bb): New.
- 	(tree_predict_by_opcode): New.
- 	(tree_estimate_probability): New.
- 	* predict.def (PRED_TREE_POINTER, PRED_TREE_OPCODE_POSITIVE,
- 	PRED_TREE_OPCODE_NONEQUAL, PRED_TREE_FPOPCODE): New predictors.
- 	* predict.h: Add include guard.
- 	(predict_edge, predict_edge_def): Move prototypes to basic_block.h
- 	* pretty-print.c (pp_write_text_to_stream): Make extern.
- 	* pretty-print.h (pp_write_text_to_stream): Declare.
- 	* print-rtl.c (print_rtx): Don't print the integrated flag.
- 	Print the return_val flag.
- 	* print-tree.c: Use TREE_FILENAME and TREE_LINENO instead
- 	of DECL_SOURCE_FILE and DECL_SOURCE_LINE respectively.
- 	Remove support for EXPR_WITH_FILE_LOCATION nodes.
- 	(print_node): Print TREE_INVARIANT and TREE_VISITED.
- 	* profile.c: Include cfghooks.h, tree-flow.h.
- 	(profile_hooks): New.
- 	(profile_dump_file): New.
- 	(instrument_edges): Use hooks instead of RTL-specific code.
- 	(instrument_values): Ditto.
- 	(get_exec_counts): Ditto.
- 	(compute_branch_probabilities): Ditto.
- 	(compute_value_histograms): Ditto.
- 	(branch_prob): Ditto.
- 	(find_spanning_tree): Ditto.
- 	(end_branch_prob): Ditto.
- 	(gen_edge_profiler): Move to rtl-profile.c (rtl_gen_edge_profiler).
- 	(gen_interval_profiler): Ditto (rtl_gen_interval_profiler).
- 	(gen_pow2_profiler): Ditto (rtl_gen_pow2_profiler).
- 	(gen_one_value_profiler): Ditto (rtl_gen_one_value_profiler).
- 	(tree_register_profile_hooks): New.
- 	(rtl_register_profile_hooks): New.
- 	* ra-rewrite.c (rewrite_program): Clear variable info.
- 	* recog.c (immediate_operand): Do not handle CONSTANT_P_RTX.
- 	* regs.h: Add include guards.
- 	* reload.c (decompose): Clear val using memset.
- 	* rtl.def (CONSTANT_P_RTX): Remove.
- 	* rtl.h (CONSTANT_P): Do not handle CONSTANT_P_RTX.
- 	(copy_loop_headers): Remove.
- 	(struct rtx_def): Replace the integrated flag with the
- 	return_val flag.
- 	(maybe_set_first_label_num): Declare.
- 	(init_branch_prob): Move declaration to value-prof.h.
- 	(end_branch_prob): Ditto.
- 	(branch_prob): Ditto.
- 	(never_reached_warning): Don't declare it.
- 	* rtlanal.c (get_related_value): Initialize get_jump_table_offset
- 	(hoist_insn_to_edge): Update to match field insns in
- 	struct edge_def.
- 	* sbitmap.c (sbitmap_realloc): New.
- 	* sbitmap.h (sbitmap_realloc): Declare.
- 	* sibcall.c: Remove file.
- 	* simplify-rtx.c (simplify_rtx): Do not handle
- 	CONSTANT_P_RTX.
- 	* stmt.c (parse_output_constraint): Don't warn for read-write
- 	memory operand.
- 	(tail_recursion_args): Use types_compatible_p langhook.
- 	(force_label_rtx): Don't look at inline_function_decl.
- 	(label_rtx): Set LABEL_PRESERVE_P appropriately.
- 	(expand_label): Handle DECL_NONLOCAL and FORCED_LABEL.
- 	(declare_nonlocal_label): Remove.
- 	(expand_goto): Don't handle nonlocal gotos.
- 	(expand_nl_handler_label): Remove.
- 	(expand_nl_goto_receivers): Remove.
- 	(expand_end_bindings): Don't expand_nl_goto_receivers.  Use
- 	update_nonlocal_goto_save_area.
- 	(expand_expr_stmt_value): Check TREE_NO_WARNING.
- 	(warn_if_unused_value): Likewise.
- 	(expand_start_loop, expand_loop_continue_here,
- 	expand_end_loop): Don't create loop notes.
- 	(all_cases_count, BITARRAY_TEST, BITARRAY_SET,
- 	mark_seen_cases, check_for_full_enumeration_handling): Remove.
- 	(expand_end_case_type): Don't do warn_switch handling.
- 	(pushcase, pushcase_range) Update add_case_node calls.
- 	(add_case_node): Add dont_expand_label argument.
- 	(same_case_target_p): Don't search rtl.
- 	(expand_start_bindings_and_block, expand_end_bindings):
- 	Don't emit block notes when dont_emit_block_notes.
- 	(using_eh_for_cleanups_p): Export.
- 	(expand_return): Allow any typed rhs.
- 	(expand_stack_alloc): New.
- 	(expand_stack_save, expand_stack_restore): New.
- 	(containing_blocks_have_cleanups_or_stack_level): New
- 	function.
- 	(asm_op_is_mem_input): New fn.
- 	(expand_asm_expr): New fn.
- 	(warn_if_unused_value): Check operand 0 of SAVE_EXPR
- 	nodes.
- 	* stor-layout.c (layout_type): Just return if type is
- 	error_mark_node.
- 	(update_alignment_for_field): Export.
- 	(variable_size): We don't care about global_bindings_p if
- 	the frontend doesn't want a list of the expressions.
- 	* system.h: Poison INTEGRATE_THRESHOLD.
- 	* timevar.def (TV_TREE_GIMPLIFY, TV_TREE_EH, TV_TREE_CFG,
- 	TV_TREE_CLEANUP_CFG, TV_TREE_PTA, TV_TREE_MAY_ALIAS,
- 	TV_TREE_INSERT_PHI_NODES, TV_TREE_SSA_REWRITE_BLOCKS,
- 	TV_TREE_SSA_OTHER, TV_TREE_OPS,
- 	TV_TREE_SSA_DOMINATOR_OPTS, TV_TREE_SRA, TV_TREE_CCP,
- 	TV_TREE_SPLIT_EDGES, TV_TREE_PRE, TV_TREE_PHIOPT,
- 	TV_TREE_FORWPROP, TV_TREE_DCE, TV_TREE_CD_DCE,
- 	TV_TREE_DSE, TV_TREE_LOOP, TV_TREE_CH,
- 	TV_TREE_SSA_TO_NORMAL, TV_TREE_SSA_TO_NORMAL,
- 	TV_TREE_NRV, TV_TREE_COPY_RENAME, TV_TREE_SSA_VERIFY,
- 	TV_TREE_STMT_VERIFY, TV_DOM_FRONTIERS,
- 	TV_CONTROL_DEPENDENCES): Define.
- 	* toplev.c: Include tree-alias-common.h
- 	(current_file_decl, flag_mudflap, flag_mudflap_threads,
- 	flag_mudflap_ignore_reads, flag_tree_based_profiling,
- 	flag_tree_gvn, flag_tree_points_to, flag_tree_ccp,
- 	flag_tree_dce, flag_tree_ch, flag_tree_sra,
- 	flag_tree_combine_temps, flag_tree_ter,
- 	flag_tree_live_range_split, flag_tree_dom,
- 	flag_tree_copyrename, flag_tree_dse): Declare.
- 	(f_options): Add tree-based-profiling, tree-gvn,
- 	tree-pre, tree-ccp, tree-dce,
- 	tree-dominator-opts, tree-copyrename, tree-dse,
- 	tree-combine-temps, tree-ter, tree-lrs and tree-ch.
- 	(wrapup_global_declarations): Don't output nested inlined functions.
- 	(general_init): Call init_tree_optimization_passes.
- 	(process_options): Sorry for -ftree-based-profiling plus
- 	-ftest-coverage or -fprofile-values.
- 	* toplev.h (init_tree_optimization_passes,
- 	flag_tree_based_profiling): Declare.
- 	* tracer.c (tail_duplicate): Use cfghooks for bb duplication.
- 	* tree-alias-ander.c: New file.
- 	* tree-alias-ander.h: New file.
- 	* tree-alias-common.c: New file.
- 	* tree-alias-common.h: New file.
- 	* tree-alias-type.c: New file.
- 	* tree-alias-type.h: New file.
- 	* tree-browser.c: New file.
- 	* tree-browser.def: New file.
- 	* tree-cfg.c: New file.
- 	* tree-complex.c: New file.
- 	* tree-dfa.c: New file.
- 	* tree-dump.c (dump_enable_all): New.
- 	(dequeue_and_dump): Do not handle EXPR_WITH_FILE_LOCATION.
- 	(dump_node): Remove const from field suffix and swtch.
- 	(dump_files): Add null entry, .generic, .nested, .vcg,
- 	.xml and a match-all entry.
- 	(extra_dump_files, extra_dump_files_in_use,
- 	extra_dump_files_alloced): Declare
- 	(dump_option_value_info): Add raw, details, stats,
- 	blocks, vops, lineno, uid and all.
- 	(dump_register): New.
- 	(get_dump_file_info): New.
- 	(dump_begin): Call it.
- 	Do nothing for TDI_none.
- 	(dump_begin): Include phase number in dump filename.
- 	(dump_enable_all): New.
- 	(dump_switch_p_1): Split out from dump_switch_p.
- 	(dump_switch_p): Handle extra_dump_files.
- 	Start our scan at TDI_none + 1.
- 	If -fdump-tree-all was given, call dump_enable_all.
- 	* tree-dump.h: Include splay-tree.h.
- 	(dump_function, dump_function_to_file, dump_register):
- 	Declare.
- 	* tree-eh.c: New file.
- 	* tree-flow-inline.h: New file.
- 	* tree-flow.h: New file.
- 	* tree-inline.c: Re-write to handle inlining on GIMPLE.
- 	* tree-inline.h (walk_tree,
- 	walk_tree_without_duplicates): Move to tree.h.
- 	(estimate_num_insns): Declare.
- 	* tree-into-ssa.c: New file.
- 	* tree-iterator.c: New file.
- 	* tree-iterator.h: New file.
- 	* tree-mudflap.c: New file.
- 	* tree-mudflap.h: New file.
- 	* tree-nested.c: New file.
- 	* tree-nomudflap.c: New file.
- 	* tree-nrv.c: New file.
- 	* tree-optimize.c (dump_flags, vars_to_rename,
- 	in_gimple_form, all_passes, pass_gimple,
- 	pass_rebuild_bind, pass_all_optimizations, pass_del_cfg): Declare.
- 	(execute_gimple, execute_rebuild_bind,
- 	gate_all_optimizations, execute_del_cfg,
- 	register_one_dump_file, register_dump_files, dup_pass_1,
- 	init_tree_optimization_passes, execute_todo,
- 	execute_one_pass, execute_pass_list): New.
- 	(clear_decl_rtl): Remove.
- 	(tree_rest_of_compilation): Update to use tree
- 	optimizers.
- 	* tree-outof-ssa.c: New file.
- 	* tree-pass.h: New file.
- 	* tree-phinodes.c: New file.
- 	* tree-pretty-print.c: New file.
- 	* tree-profile.c: New file.
- 	* tree-simple.c: New file.
- 	* tree-simple.h: New file.
- 	* tree-sra.c: New file.
- 	* tree-ssa-alias.c: New file.
- 	* tree-ssa-ccp.c: New file.
- 	* tree-ssa-copy.c: New file.
- 	* tree-ssa-copyrename.c: New file.
- 	* tree-ssa-dce.c: New file.
- 	* tree-ssa-dom.c: New file.
- 	* tree-ssa-dse.c: New file.
- 	* tree-ssa-forwprop.c: New file.
- 	* tree-ssa-live.c: New file.
- 	* tree-ssa-live.h: New file.
- 	* tree-ssa-loop.c: New file.
- 	* tree-ssa-operands.c: New file.
- 	* tree-ssa-operands.h: New file.
- 	* tree-ssa-phiopt.c: New file.
- 	* tree-ssa-pre.c: New file.
- 	* tree-ssa.c: New file.
- 	* tree-ssanames.c: New file.
- 	* tree-tailcall.c: New file.
- 	* tree.c: Include tree-iterator.h, basic-block.h and
- 	tree-flow.h.
- 	(tree_node_kind): Add phi_nodes and ssa names.
- 	(tree_size): Handle PHI_NODE, EPHI_NODE, SSA_NAME,
- 	EUSE_NODE, EKILL_NODE, EEXIT_NODE and STATEMENT_LIST.
- 	(make_node_stat): Handle PHI_NODE and SSA_NAME.
- 	<'c'> Set TREE_INVARIANT.
- 	(copy_node_stat): Abort if trying to copy a
- 	STATEMENT_LIST.
- 	Clear TREE_VISITED.
- 	Clear annotation field.
- 	(build_constructor): Copy TREE_INVARIANT from vals.
- 	Don't clear TREE_CONSTANT.
- 	(expr_first, expr_last, expr_length): Remove.
- 	(staticp): Pass unknown component references to the language.
- 	(save_expr): Check TREE_INVARIANT instead of TREE_CONSTANT.
- 	(skip_simple_arithmetic): Likewise.
- 	(stabilize_reference_1): Likewise.
- 	(tree_node_structure): Handle PHI_NODE, EPHI_NODE,
- 	EUSE_NODE, EKILL_NODE, EEXIT_NODE, SSA_NAME and
- 	STATEMENT_LIST.
- 	(lhd_unsave_expr_now): Remove.
- 	(unsafe_for_reeval): Handle LABEL_EXPR and BIND_EXPR.
- 	(recompute_tree_invarant_for_addr_expr): New.
- 	(build1_stat): Clear EXPR_LOCUS and TREE_BLOCK.
- 	Call recompute_tree_invarant_for_addr_expr.
- 	Set TREE_INVARIANT accordingly.
- 	(build2_stat): Don't handle CALL_EXPR.
- 	(build3_stat): Don't call build2_stat for CALL_EXPRs.
- 	(build_expr_wfl): Remove.
- 	(annotate_with_file_line, annotate_with_locus): New.
- 	(simple_cst_equal): Call simple_cst_list_equal to compare
- 	CONSTRUCTOR_ELTS pointers.
- 	(iterative_hash_expr): Don't hash types associated
- 	with conversions.  Instead hash on the signedness of the
- 	toplevel object and the operand of the conversion.
- 	(dump_tree_statistics): Call ssanames_print_statistics
- 	and phinodes_print_statistics.
- 	(ephi_node_elt_check_failed, phi_node_elt_check_failed,
- 	add_var_to_bind_expr, build_empty_stmt, is_essa_node,
- 	needs_to_live_in_memory): New.
- 	(initializer_zerop): Handle VECTOR_CST.  Don't check
- 	AGGREGATE_TYPE_P for CONSTRUCTOR.
- 	* tree.def (FILTER_EXPR, CASE_LABEL_EXPR, RESX_EXPR,
- 	SSA_NAME, EUSE_NODE, EKILL_NODE, EPHI_NODE, EEXIT_NODE,
- 	PHI_NODE, CATCH_EXPR, EH_FILTER_EXPR, STATEMENT_LIST): Define.
- 	(GOTO_SUBROUTINE_EXPR): Change type to 's'.
- 	(CALL_EXPR): Add another operand.
- 	(EXPR_WITH_FILE_LOCATION): Remove.
- 	(SWITCH_EXPR): Add another operand.
- 	* tree.h: Update various comments.
- 	(union tree_ann_d): Forward declare.
- 	(struct tree_common): Add fields nowarning_flag,
- 	invariant_flag and visited.
- 	(EREF_NODE_CHECK, EPHI_NODE_ELT_CHECK,
- 	PHI_NODE_ELT_CHECK, EREF_NODE_CHECK, PHI_NODE_ELT_CHECK,
- 	EPHI_NODE_ELT_CHECK, TREE_BLOCK,
- 	STRIP_USELESS_TYPE_CONVERSION, CALL_EXPR_TAILCALL,
- 	TREE_NO_WARNING, FORCED_LABEL, TREE_INVARIANT,
- 	IS_EMPTY_STMT, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME,
- 	EXPR_LINENO, EXPR_LOCATION, EXPR_HAS_LOCATION,
- 	EXIT_EXPR_COND, SWITCH_COND, SWITCH_BODY, SWITCH_LABELS,
- 	CASE_LOW, CASE_HIGH, CASE_LABEL, BIND_EXPR_VARS,
- 	BIND_EXPR_BODY, BIND_EXPR_BLOCK, GOTO_DESTINATION,
- 	ASM_STRING, ASM_OUTPUTS, ASM_INPUTS, ASM_CLOBBERS,
- 	ASM_INPUT_P, ASM_VOLATILE_P, COND_EXPR_COND,
- 	COND_EXPR_THEN, COND_EXPR_ELSE, LABEL_EXPR_LABEL,
- 	CATCH_TYPES, CATCH_BODY, EH_FILTER_TYPES,
- 	EH_FILTER_FAILURE, EH_FILTER_MUST_NOT_THROW,
- 	SSA_NAME_VAR, SSA_NAME_DEF_STMT, SSA_NAME_VERSION,
- 	SSA_NAME_OCCURS_IN_ABNORMAL_PHI, SSA_NAME_IN_FREE_LIST,
- 	PHI_RESULT, PHI_REWRITTEN, PHI_NUM_ARGS,
- 	PHI_ARG_CAPACITY, PHI_ARG_ELT, PHI_ARG_EDGE, PHI_ARG_DEF,
- 	EREF_PROCESSED, EREF_ID, EREF_NAME, EREF_STMT,
- 	EREF_RELOAD, EREF_SAVE, EREF_CLASS, EREF_INJURED,
- 	EREF_TEMP, EUSE_DEF, EUSE_PHIOP, EUSE_INSERTED,
- 	EUSE_LVAL, EPHI_NUM_ARGS, EPHI_ARG_CAPACITY,
- 	EPHI_ARG_ELT, EPHI_ARG_EDGE, EPHI_ARG_PRED, EPHI_ARG_DEF,
- 	EPHI_ARG_INJURED, EPHI_ARG_DELAYED_RENAME,
- 	EPHI_ARG_HAS_REAL_USE, EPHI_ARG_STOPS,
- 	EPHI_ARG_PROCESSED2, EPHI_IDENTITY, EPHI_IDENT_INJURED,
- 	EPHI_REP_OCCUR_KNOWN, EPHI_IDENTICAL_TO, EPHI_DOWNSAFE,
- 	EPHI_CANT_BE_AVAIL, EPHI_DEAD, EPHI_USES, EPHI_STOPS,
- 	TREE_VISITED, SSA_VAR_P, DECL_NUM_STMTS,
- 	DECL_HARD_REGISTER, DECL_PTA_ALIASVAR, LABEL_DECL_UID,
- 	DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL,
- 	STATEMENT_LIST_HEAD, STATEMENT_LIST_TAIL, TDF_RAW,
- 	TDF_DETAILS, TDF_STATS, TDF_BLOCKS, TDF_VOPS, TDF_LINENO,
- 	TDF_UID,): Define.
- 	(TREE_NO_UNUSED_WARNING, EXPR_WFL_EMIT_LINE_NOTE,
- 	EXPR_WFL_NODE, EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME,
- 	EXPR_WFL_LINECOL, EXPR_WFL_LINENO, EXPR_WFL_COLNO,
- 	EXPR_WFL_SET_LINECOL): Remove.
- 	(phi_node_elt_check_failed, ephi_node_elt_check_failed,
- 	make_phi_node, init_phinodes, fini_phinodes,
- 	release_phi_node, phinodes_print_statistics,
- 	init_ssanames, fini_ssanames, make_ssa_name,
- 	release_ssa_name, ssanames_print_statistics,
- 	annotate_with_file_line, build_empty_stmt,
- 	annotate_with_locus, expr_only, categorize_ctor_elements,
- 	count_type_elements, add_var_to_bind_expr, is_essa_node,
- 	expand_stack_alloc, expand_stack_save,
- 	expand_stack_restore, add_case_node, operand_equal_p,
- 	nondestructive_fold_unary_to_constant,
- 	nondestructive_fold_binary_to_constant,
- 	fold_read_from_constant_string, int_const_binop,
- 	strip_float_extensions, simplify_builtin, c_strlen,
- 	recompute_tree_invarant_for_addr_expr,
- 	needs_to_live_in_memory, make_vector,
- 	setjmp_vars_warning, update_alignment_for_field,
- 	expand_asm_expr, asm_op_is_mem_input,
- 	containing_blocks_have_cleanups_or_stack_level,
- 	create_artificial_label, gimplify_function_tree,
- 	get_name, unshare_expr, walk_tree,
- 	walk_tree_without_duplicates, in_gimple_form): Declare.
- 	(struct tree_exp): Add fields locus and block.
- 	(struct tree_ssa_name, struct edge_def, struct
- 	tree_phi_node, struct tree_eref_common, struct
- 	tree_euse_node, struct ephi_arg_d, struct tree_ephi_node,
- 	union alias_var_def, struct tree_statement_list_node,
- 	struct tree_statement_list, enum operand_equal_flag): Declare.
- 	(enum tree_node_structure_enum): Add TS_SSA_NAME,
- 	TS_PHI_NODE, TS_EPHI_NODE, TS_EUSE_NODE, TS_EREF_NODE,
- 	TS_STATEMENT_LIST.
- 	(union tree_node): Add fields ssa_name, phi, eref, ephi,
- 	euse and stmt_list.
- 	(function_cannot_inline_p, uninitialized_vars_warning,
- 	save_for_inline, output_inline_function, all_cases_count,
- 	check_for_full_enumeration_handling,
- 	declare_nonlocal_label): Remove.
- 	(enum tree_dump_index): Add TDI_none, TDI_tu,
- 	TDI_generic, TDI_nested, TDI_vcg, TDI_xml.
- 	* unroll.c (unroll_loop): Don't clear map->inline_target.
- 	* unwind-sjlj.c (uw_install_context): Make a proper static inline
- 	function.
- 	* value-prof.c (value_prof_hooks): New.
- 	(find_values_to_profile): Rename to rtl_find_values_to_profile.
- 	Move rtl-specific bits in from branch_prob.
- 	(value_profile_transformations): Rename to
- 	rtl_value_profile_transformations.
- 	(struct value_prof_hooks): New.
- 	(rtl_value_prof_hooks): New.
- 	(rtl_register_value_prof_hooks): New.
- 	(tree_find_values_to_profile): New stub.
- 	(tree_value_profile_transformations): New stub.
- 	(tree_value_prof_hooks): New stub.
- 	(tree_register_value_prof_hooks): New stub.
- 	(find_values_to_profile): New.
- 	(value_profile_transformations): New.
- 	* value-prof.h: Add multiple inclusion guard.
- 	(struct histogram_value): Change rtx fields to void *.
- 	(rtl_register_value_prof_hooks): New declaration.
- 	(tree_register_value_prof_hooks): New declaration.
- 	(find_values_to_profile): New declaration.
- 	(free_profiled_values): New declaration.
- 	(value_profile_transformations): New declaration.
- 	(struct profile_hooks): New declaration.
- 	(init_branch_prob): Declaration moved from rtl.h.
- 	(branch_prob): Declaration moved from rtl.h.
- 	(end_branch_prob): Declaration mooved from rtl.h.
- 	(tree_register_profile_hooks): New declaration.
- 	(rtl_register_profile_hooks): New declaration.
- 	(tree_profile_hooks): New declaration.
- 	(rtl_profile_hooks): New declaration.
- 	* varasm.c: Include tree-mudflap.h.
- 	(TRAMPOLINE_ALIGNMENT): Remove.
- 	(make_decl_rtl): Call mudflap_enqueue_decl.
- 	(assemble_static_space):
- 	(assemble_trampoline_template): Set and return
- 	TRAMPOLINE_ALIGNMENT.
- 	* varray.c (element): Add GENERIC_PTR_NOGC entry.
- 	Add entry for 'tree *'.
- 	Add entry for struct edge_def *.
- 	(varray_copy): New.
- 	* varray.h (enum varray_data_enum): Add
- 	VARRAY_DATA_GENERIC_NOGC, VARRAY_DATA_EDGE and
- 	VARRAY_DATA_TREE_PTR.
- 	(union varray_data_tag): Corresponding changes.
- 	(VARRAY_GENERIC_PTR_NOGC_INIT, VARRAY_EDGE_INIT,
- 	VARRAY_TREE_PTR_INIT, VARRAY_GENERIC_PTR_NOGC,
- 	VARRAY_EDGE, VARRAY_TREE_PTR,
- 	VARRAY_PUSH_GENERIC_PTR_NOGC, VARRAY_PUSH_EDGE,
- 	VARRAY_PUSH_TREE_PTR, VARRAY_TOP_GENERIC_PTR_NOGC,
- 	VARRAY_TOP_EDGE, VARRAY_TOP_TREE_PTR): Define.
- 
- 	* config/*/*: Various updates for changed macros, tree
- 	codes, etc.  Check ChangeLog.tree-ssa.
- 
- 	* doc/cfg.texi: New file.
- 	* doc/tree-ssa.texi: New file.
- 	* doc/c-tree.texi: Document new codes.
- 	* doc/gccint.texi: Include new files.
- 	* doc/install.texi: Document new features.
- 	* doc/invoke.texi: Document new switches.
- 	* doc/passes.texi: Document new passes.
- 	* doc/rtl.texi: Update changed RTL codes.
- 	* doc/sourcebuild.texi: Update build instructions.
- 	* doc/standards.texi: Document Fortran changes.
- 	* doc/tm.texi: Update.
- 
- 2004-05-12  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Replace several arrays with a struct of arrays.
- 	* combine.c (struct reg_stat): New.
- 	(init_reg_last_arrays): Renamed to...
- 	(init_reg_last): ...this.  Callers adjusted.
- 	(reg_stat): New.
- 	(combine_instructions): Allocate it and use it.
- 	(reg_last_death, reg_last_set, reg_last_set_value,
- 	reg_last_set_label, reg_last_set_table_tick,
- 	reg_last_set_invalid, reg_nonzero_bits, reg_sign_bit_copies,
- 	reg_last_set_mode, reg_last_set_nonzero_bits,
- 	reg_last_set_sign_bit_copies): Replace throughout
- 	with items of reg_stat.
- 
- 2004-05-11  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR optimization/15100
- 	* combine.c (distribute_notes): Don't create a dangling
- 	REG_LIBCALL/REG_RETVAL note.
- 
- 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
- 
- 	* config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
- 	negv2si2.
- 
- 2004-05-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/md.texi (Standard Names): Fix typo in vec_init description.
- 
- 2004-05-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/gty.texi (GTY Options): Clarify example.
- 
- 2004-05-11  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
- 	Add const qualifier to altivec vector type if one is needed.
- 
- 2004-05-11  Paul Brook  <paul@codesourcery.com>
- 
- 	* flags.h (flag_short_enums): Update comment.
- 	* opts.c (decode_options): Set flag_short_enums to 2.
- 	* toplev.c (flag_short_enums): Update comment.
- 	(process_options): Call default_short_enums target hook.
- 
- 2004-05-11  Andrew Pinski  <pinskia@gcc.gnu.org>
- 
- 	PR target/14063
- 	* config/rs6000/altivec.md (altivec_dssall):
- 	Change to unspec_volatile.
- 	(altivec_dss): Likewise.
- 
- 2004-05-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.md ("one_cmplv16qi2"): Change vnot to
- 	vnor.
- 	("one_cmplv8hi2"): Same.
- 	("one_cmplv4si2"): Same.
- 
- 2004-05-10  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR target/15130
- 	* config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
- 	* config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
- 	into account.  Compute the correct number of general registers
- 	for the return value.  Generate a special push/pop sequence when
- 	failing to get a temporary register for non SHmedia epilogue.
- 	(sh_expand_epilogue): Add an argument to show whether it's for
- 	sibcall or not.  Set the 3rd argument of output_stack_adjust to
- 	-1 if needed.
- 	(sh_need_epilogue): Call sh_expand_epilogue with 0.
- 	* config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
- 	with 1.
- 	(epilogue): Call sh_expand_epilogue with 0.
- 
- 2004-05-10  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* gcse.c (eliminate_partially_redundant_loads): Instead of returning early,
- 	goto a cleanup label.  After the cleanup, free the allocated memory.
- 
- 2004-05-10  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/rs6000/altivec.h (vec_sld): Add overloads for
- 	argument/return types of 'vector bool int', 'vector bool short'
- 	and 'vector bool char'.
- 
- 2004-05-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (store_parm_decls_newstyle): Correct test for a
- 	nested function.
- 
- 2004-05-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* read-rtl.c (read_rtx): Allow 's' and 'T' strings to be omitted,
- 	treating missing ones as "".
- 	* config/mips/mips.md: Remove constraints from match_operands and
- 	match_scratches if they appear in define_expands (except reload*),
- 	define_peephole2s, define_splits or attribute specifications.
- 	* config/mips/7000.md, config/mips/sb1.md: Remove match_operand
- 	constraint strings.
- 
- 2004-05-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (function_arg_boundary): Always align
- 	AltiVec vectors.
- 	(function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
- 	vectors by refererence.  Align the same for TARGET_64BIT to a 16
- 	byte boundary.  Remove useless code.  Add function comment.
- 	(function_arg): Similarly.  Move gpr rs6000_mixed_function_arg
- 	call to where it belongs.
- 	(function_arg_partial_nregs): Return true for all TARGET_32BIT
- 	-mabi=no-altivec AltiVec vectors.  Fix debug output.
- 	(rs6000_va_arg): Adjust for AltiVec change.
- 
- 2004-05-10  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
- 	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
- 	(TARGET_DOUBLEWORD_ALIGN): Use it.
- 	(WCHAR_TYPE): Define.
- 	(WCHAR_SIZE_TYPE): Define.
- 	(SIZE_TYPE): Define.
- 
- 2004-05-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
- 	when size is 8 bytes.
- 	(function_arg_advance): Account for stack space used by AltiVec
- 	args when -mabi=altivec.  Simplify alignment calculations.  For
- 	ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
- 	(function_arg): Similarly.
- 	(function_arg_pass_by_reference): True for ABI_V4 AltiVec when
- 	not AltiVec ABI.
- 	(rs6000_va_arg): Correct fp arg test.  Adjust for AltiVec change.
- 	Correct alignment, and align before testing reg count.  Remove
- 	TREE_THIS_VOLATILE from reg.  Don't emit unused labels.
- 	(rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
- 	TARGET_FPRS here..
- 	(rs6000_function_value): .. not here before call.
- 
- 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
- 
- 2004-05-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 15007
- 	* c-decl.c (current_file_decl): Rename to all_translation_units,
- 	adjust comment.
- 	(pop_scope): If popping file_scope, construct a
- 	TRANSLATION_UNIT_DECL and make it the context of all the
- 	symbols in the scope.
- 	(push_file_scope): Don't construct a TRANSLATION_UNIT_DECL here.
- 	(pushdecl): Clarify comment.  Do not set DECL_CONTEXT of
- 	anything to current_file_decl.
- 	(pushdecl_top_level): Likewise.
- 	(store_parm_decls_newstyle): Adjust check for nested function.
- 	(c_write_global_declarations): Update for renamed variable.
- 
- 2004-05-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h
- 	(rs6000_conditional_register_usage): Protoize.
- 
- 	* config/rs6000/rs6000.c (rs6000_conditional_register_usage): New.
- 
- 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Call
- 	function.
- 
- 2004-05-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_div_compare): New function to optimize X/C1 op C2
- 	where op is a comparison operator and C1 and C2 are integer constants
- 	into a range check.
- 	(fold): Call fold_div_compare.
- 
- 2004-05-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (sparc-sun-solaris2*): Document bootstrap
- 	problems with earlier versions of the GNU compiler.
- 
- 2004-05-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h (rs6000_hard_regno_mode_ok_p):
- 	Declare.
- 
- 	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok_p): New.
- 	(rs6000_hard_regno_mode_ok): New.
- 	(rs6000_init_hard_regno_mode_ok): New.
- 	(rs6000_override_options): Call rs6000_init_hard_regno_mode_ok.
- 
- 	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Use precomputed
- 	result.
- 
- 2004-05-07  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/rs6000/altivec.h (vector, pixel, bool): Do not
- 	define as macros #ifdef __APPLE_ALTIVEC__.
- 
- 2004-05-07  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_mixed_function_arg):
- 	Generate appropriate parallels for vector arguments
- 	passed to vararg functions. (function_arg): make the call
- 	to rs6000_mixed_function_arg for vector args as needed.
- 
- 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_va_arg): Fix calculation of osize for
- 	EABI_FLOAT_VARARGS_P.
- 
- 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_BRANCHLIKELY): Remove TARGET_MIPS5500.
- 	* config/mips/mips.c (override_options): Disable branch likely
- 	instructions if TUNE_MIPS5500.
- 
- 2004-05-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Allow the hi and lo registers
- 	to store any integral mode, not just MODE_INTs.
- 
- 2004-05-07  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
- 	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
- 	(TARGET_DOUBLEWORD_ALIGN): Use it.
- 	(WCHAR_TYPE): Define.
- 	(WCHAR_SIZE_TYPE): Define.
- 	(SIZE_TYPE): Define.
- 
- 2004-05-07  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.c (ix86_emit_fp_unordered_jump): Use
- 	testb $4, %ah insn instead of sahf insn if !TARGET_USE_SAHF.
- 
- 2004-05-07  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* loop-doloop.c (doloop_valid_p): Make sure that body
- 	gets freed.
- 
- 2004-05-07  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* config/sparc/sparc-protos.h (sparc_skip_caller_unimp): New
- 	declaration.
- 	* config/sparc/sparc.c (SKIP_CALLERS_UNIMP_P): Delete.
- 	(sparc_skip_caller_unimp): New global variable.
- 	(sparc_function_epilogue): Set 'sparc_skip_caller_unimp'.
- 	Use it instead of SKIP_CALLERS_UNIMP_P.
- 	* config/sparc/sparc.md (call expander): Add sanity check.
- 	(call_address_struct_value_sp32): Re-sync with expander.
- 	(call_symbolic_struct_value_sp32): Likewise.
- 	(return peepholes): Use 'sparc_skip_caller_unimp' instead
- 	of custom predicate.
- 
- 2004-05-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c++/14962
- 	* c-pragma.c (handle_pragma_redefine_extname): Only change
- 	the assembler name of FUNCTION_DECLs and VAR_DECLs.
- 
- 2004-05-07  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_log1p.
- 	(log1p_optab): Define corresponding macro.
- 	* optabs.c (init_optabs): Initialize log1p_optab.
- 	* genopinit.c (optabs): Implement log1p_optab using log1p?f2
- 	patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG1P{,F,L}
- 	using log1p_optab.
- 	(expand_builtin): Expand BUILT_IN_LOG1P{,F,L} using
- 	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2XP1.
- 
- 	* config/i386/i386.c (ix86_emit_i387_log1p): New function.
- 	* config/i386/i386-protos.h (ix86_emit_i387_log1p):
- 	Prototype here.
- 	* config/i386/i386.md (UNSPEC_FYL2XP1): New unspec to represent
- 	x87's fyl2xp1 instruction.
- 	(*fyl2x_xf3): Rename insn definition to fyl2x_xf3.
- 	(fyl2xp1_xf3): New pattern to implement fyl2xp1 x87 instruction.
- 	(log1psf2, log1pdf2, log1pxf2): New expanders to implement log1pf,
- 	log1p  and log1pl built-ins as inline x87 intrinsics.
- 
- 2004-05-07  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
- 	* config/arm/freebsd.h: Likewise.
- 	* config/ia64/freebsd.h: Likewise.
- 	* config/sparc/freebsd.h: Likewise.
- 
- 2004-05-07  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR optimization/15296
- 	* reorg.c (fill_simple_delay_slots): Use next_real_insn when
- 	getting last consecutive label at a branch.
- 	(relax_delay_slots): Similar, near top of loop.
- 
- 2004-05-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/15202
- 	* pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
- 	register to general register.
- 
- 2004-05-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
- 	TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
- 	* config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
- 	(STACK_BOUNDARY): Delete.
- 
- 2004-05-06  Stuart Hastings  <stuart@apple.com>
- 
- 	* gcc/doc/invoke.texi: Restore -fgcse-after-reload doc from 1.421,
- 	mistakenly clobbered by 1.423.
- 
- 2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Document -mvr4130-align.
- 	* config/mips/mips.h (MASK_VR4130_ALIGN, TARGET_VR4130_ALIGN)
- 	(TUNE_MIPS4120, TUNE_MIPS4130): New macros.
- 	(TUNE_MACC_CHAINS): Include TUNE_MIPS4120 and TUNE_MIPS4130.
- 	(TARGET_SWITCHES): Add -mvr4130-align and -mno-vr4130-align.
- 	* config/mips/mips.md: Include sched-int.h.
- 	(USEFUL_INSN_P, SEQ_BEGIN, SEQ_END, FOR_EACH_SUBINSN): New macros.
- 	(mips_rtx_costs): Set integer multiplication costs for TUNE_MIPS4130.
- 	(override_options): Enable -mvr4130-align at -O3 and above.
- 	(mips_sim_insn): New variable.
- 	(mips_sim): New structure.
- 	(mips_sim_reset, mips_sim_init, mips_sim_next_cycle, mips_sim_wait_reg)
- 	(mips_sim_wait_regs_2, mips_sim_wait_regs_1, mips_sim_wait_regs)
- 	(mips_sim_wait_units, mips_sim_wait_insn, mips_sim_record_set)
- 	(mips_sim_issue_insn, mips_sim_issue_nop, mips_sim_finish_insn)
- 	(vr4130_avoid_branch_rt_conflict, vr4130_align_insns): New functions.
- 	(mips_reorg): Call vr4130_align_insns.
- 	(vr4130_last_insn): New variable.
- 	(vr4130_true_reg_dependence_p_1, vr4130_true_reg_dependence_p)
- 	(vr4130_swap_insns_p, vr4130_reorder): New functions.
- 	(mips_sched_reorder, mips_variable_issue): Hook in vr4130 code.
- 	(mips_issue_rate): Return 2 for PROCESSOR_R4130.
- 	(mips_use_dfa_pipeline_interface): Return true for the same.
- 	* config/mips/4130.md: New file.
- 	* config/mips/mips.md: Include it.  Add a peephole2 to convert
- 	"mult;mflo" into "mtlo;macc".
- 	(*macc, *umul_acc_di, *smul_acc_di): Use $1 rather than $0 as the
- 	target of maccs.
- 	(*msac_using_macc): New pattern.
- 
- 2004-05-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/5500.md (ir_vr55_store): Set latency to 0.
- 	(ir_vr55_hilo): Split into...
- 	(ir_vr55_mfhilo, ir_vr55_mthilo): ...these new reservations.
- 	(ir_vr55_imul_si, ir_vr55_imadd): Change latency to 5.
- 	(ir_vr55_imul_di): Change latency to 9.  Reserve vr55_mac for 4 cycles.
- 	Add various multiplication bypasses.
- 	* config/mips/mips.c (mips_rtx_costs): Adjust VR5500 costs for integer
- 	multiplication.
- 
- 2004-05-06  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*fscalexf4): Correct insn "mode"
- 	attribute to "XF".
- 
- 2004-05-05  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_fmod and OTI_drem.
- 	(fmod_optab, drem_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize fmod_optab and drem_optab.
- 	* genopinit.c (optabs): Implement fmod_optab and drem_optab
- 	using fmod?f3 and drem?f3 patterns.
- 	* builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_FMOD{,F,L}
- 	using fmod_optab and BUILT_IN_DREM{,F,L} using drem_optab.
- 	(expand_builtin): Expand BUILT_IN_FMOD{,F,L} and
- 	BUILT_IN_DREM{,F,L} using expand_builtin_mathfn_2 if
- 	flag_unsafe_math_optimizations is set.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FPREM_F,
- 	UNSPEC_FPREM_U, UNSPEC_FPREM1_F and UNSPEC_FPREM1_U.
- 
- 	* config/i386/i386.c (ix86_emit_fp_unordered_jump): New function.
- 	* config/i386/i386-protos.h (ix86_emit_fp_unordered_jump):
- 	Prototype here.
- 	* config/i386/i386.md (UNSPEC_FPREM_F, UNSPEC_FPREM_U,
- 	UNSPEC_FPREM1_F, UNSPEC_FPREM1_U): New unspecs to represent x87's
- 	fprem and fprem1 instructions.
- 	(*x86_fnstsw_1): Change input parameter to (reg:CCFP 18).
- 	Rename insn definition to x86_fnstsw_1.
- 	(fpremxf4, fprem1xf4): New patterns to implement fprem and fprem1
- 	x87 instructions.
- 	(fmodsf3, fmoddf3, fmodxf3): New expanders to implement fmodf, fmod
- 	and fmodl built-ins as inline x87 intrinsics.
- 	(dremsf3, dremdf3, dremxf3): New expanders to implement dremf, drem
- 	and dreml built-ins as inline x87 intrinsics.
- 
- 2004-05-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* reload1.c (inherit_piecemeal_p): Mark parameters potentially unused.
- 
- 2004-05-05  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR driver/9822
- 	* doc/invoke.texi (Spec Files): Remove documentation of %c.
- 
- 2004-05-05  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md: Update the msub define_split for new mflo/mfhi
- 	representation.
- 
- 2004-05-06  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm-protots.h (vfp_mem_operand): Rename ...
- 	(arm_coproc_mem_operand): ... To this.
- 	* config/arm/arm.c (arm_legitimate_address_p): Allow ldrd modes.
- 	(arm_legitimate_index_p): Ditto.
- 	(vfp_mem_operand): Rename ...
- 	(arm_coproc_mem_operand): ... To this.  Handle writeback modes.
- 	(vfp_secondary_reload_class): Use it.
- 	(output_move_double): Use doubleword load/store instructions.
- 	(arm_hard_regno_mode_ok): Only allow even reg pairs for ldrd.
- 	* config/arm/arm.h (TARGET_LDRD): Define.
- 	(EXTRA_CONSTRAINT_STR_ARM): Add 'Uy'.
- 	* config/gcc/arm/arm.md (arm_movdi): Allow all valid memory operands.
- 	New splitter for invalid doubleword loads.
- 	* config/arm/iwmmxt.md (iwmmxt_arm_movdi): Use Uy constraint.
- 	* config/arm/vfp.md (arm_movdi_vfp): Allow all valid memory operands.
- 	* doc/md.texi: Document Uy constraint.
- 
- 2004-05-05  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/14980
- 	* cgraphunit.c (cgraph_remove_unreachable_nodes): Deal properly with
- 	inline clones.
- 
- 2004-05-05  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/15290
- 	* config/i386/i386.c (ix86_split_to_parts): Use real_to_target
- 	instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
- 
- 2004-05-05  Mike Stump  <mrs@apple.com>
- 
- 	* config/darwin-c.c (add_framework): Copy the directory name as it
- 	can be freed later.  Also, ensure we always allocate enough room
- 	for the cached framework information.
- 	(find_subframework_header): Keep track of the directory where the
- 	subframework header was found.
- 	(framework_construct_pathname): Speed up by not trying to re-add a
- 	framework.
- 	* cppfiles.c (search_path_exhausted): Arrange for the missing
- 	header callback to be able to set the directory where the header
- 	was found.
- 	(cpp_get_dir): Add.
- 	* cpplib.h (missing_header_cb): Add a parameter.
- 	(cpp_get_dir): Add.
- 
- 2004-05-03  Mike Stump  <mrs@apple.com>
- 
- 	* doc/invoke.texi (Directory Options): Document -iquote.
- 	* doc/cpp.texi: Likewise.
- 	* doc/cppopts.texi: Likewise.
- 	* c-opts.c (c_common_missing_argument): Add -iquote processing.
- 	(c_common_handle_option): Likewise.
- 	* c.opt (iquote): Add.
- 	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -iquote.
- 	* c-incpath.c (merge_include_chains): Update comment to use -iquote.
- 
- 	* c-opts.c (case OPT_I): Deprecate -I- support.
- 	* doc/invoke.texi: Likewise.
- 	* doc/cpp.texi: Likewise.
- 	* doc/cppopts.texi: Likewise.
- 
- 2004-05-05  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.h (free_basic_block_vars): Update prototype.
- 	* flow.c (free_basic_block_vars): Remove the keep_head_end_p
- 	argument.
- 	(life_analysis): Update call.
- 	* ifcvt.c (if_convert): Likewise.
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
- 	* passes.c (rest_of_handle_final): Likewise.
- 	(rest_of_compilation): Likewise.
- 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
- 
- 	* emit-rtl.c (next_real_insn): Use INSN_P.
- 	(prev_real_insn): Likewise.
- 
- 2004-05-05  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md: Update the madd define_split for new mflo/mfhi
- 	representation.
- 
- 2004-05-05  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/rs6000/rs6000.c (build_opaque_vector_type):
- 	New function.
- 	(rs6000_init_builtins): Use it.
- 
- 2004-05-04  Bernard Giroud  <bgiroud2@free.fr>
- 
- 	* gcc/gcc/vmsdbgout.c (vms_func_node, vms_func_ref): New.
- 	(func_table): Change type from char ** to vms_func_ref.
- 	(write_rtnbeg):  Update to reflect func_table change.  Use
- 	fde->funcdef_number instead of rtnnum in output.
- 	(write_rtnend, vmxdbgout_begin_function, vmsdbgout_init): Likewise.
- 
- 2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR target/14899
- 
- 	* c-common.c (vector_types_convertible_p): New function.
- 	* c-typeck.c (comptypes): Recurse on vector types.
- 	(convert_for_assignment): Use vector_types_convertible_p.
- 	(digest_init): Use vector_types_convertible_p to check
- 	validness of constant vector initializers; otherwise treat
- 	them as scalars.
- 	* tree.c (make_or_reuse_type): New.
- 	(build_common_tree_nodes): Use it.
- 	* cp/call.c (standard_conversion): Likewise.
- 	* cp/typeck.c (comptypes): Recurse on vector types.
- 	(convert_for_assignment): Use vector_types_convertible_p.
- 
- 2004-05-04  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (override_options): Default to no
- 	generation of branch-likely operations when tuning for
- 	CPUs where they tend to have a negative performance impact
- 	(e.g., SB-1).
- 
- 2004-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor_field): Don't call store_constructor
- 	if bitsize is not a multiple of a byte.
- 
- 2004-05-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* reload1.c (inherit_piecemeal_p): New function.
- 	(emit_reload_insns): When reloading a group of hard registers, use
- 	inherit_piecemeal_p to decide whether the values of individual hard
- 	registers can be inherited.
- 
- 2004-05-04  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* config/ia64/t-ia64 (LIB2ADDEH): Remove gthr-gnat.c.
- 	* config/s390/t-tpf (LIB2ADDEHDEP): Likewise.
- 	* config/t-linux (LIB2ADDEHDEP): Likewise.
- 
- 2004-05-04  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/crti.asm: Push an even number of registers.
- 	* config/arm/crtn.asm: And restore them.  Load via sp.
- 
- 2004-05-04  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* ggc-zone.c (ggc_alloc_zone_1): Add MEM_STAT_DECL parameter.
- 	Collect overhead information.
- 	(ggc_alloc_stat): New name of ggc_alloc.  Add MEM_STAT_DECL
- 	parameter and pass it through.
- 	(ggc_alloc_typed_stat): New name of ggc_alloc_typed.  Add
- 	MEM_STAT_DECL parameter and pass it through.
- 	(ggc_alloc_zone_stat): New name of ggc_alloc_zone.  Add
- 	MEM_STAT_DECL parameter and pass it through.
- 
- 2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h: Protoize rs6000_hard_regno_nregs.
- 
- 	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): New.
- 
- 	* config/rs6000/rs6000.h (HARD_REGNO_NREGS): Call
- 	rs6000_hard_regno_nregs.
- 
- 2004-05-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Call unspec tpf
- 	prologue insn instead of setting up call.
- 	(s390_emit_epilogue): Ditto.
- 	* config/s390/s390.md (prologue_tpf, epilogue_tpf): New patterns.
- 	(define_constants): Add numbers for above patterns.
- 
- 2004-05-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Move body...
- 	* config/s390/s390.c (s390_conditional_register_usage): ...here.
- 	* config/s390/s390-protos.h: Prototype.
- 
- 2004-05-03  Joe Buck <jbuck@welsh-buck.org>
- 
- 	* cppfiles.c (pchf_adder): Eliminate use of |= in d->have_once_only
- 	assignment.
- 
- 2004-05-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md: Fix branch length attribute definition.
- 
- 2004-05-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Remove --enable-altivec support.
- 
- 	* config/rs6000/altivec-defs.h: Remove.
- 
- 2004-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2004-05-03  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*fyl2x_sfxf3, *fyl2x_dfxf3): Remove insn
- 	definition.
- 	(log?f2, log10?f2, log2?f2): Reimplement expanders with
- 	float_truncate insn.
- 	(*fxtractsf3, *fxtractdf3): Remove insn definition.
- 	(logb?f2): Reimplement expanders with float_truncate insn.
- 
- 2004-05-03  Graham Stott  <graham.stott@btinternet.com>
- 
- 	PR 14718
- 	* dwarf2out.c (dwarf2out_imported_module_or_decl): Use
- 	force_type_die for CONST_DECL.
- 
- 2004-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (sparc64-*-solaris2*, sparcv9-*-solaris2*): Add
- 	tm-dwarf2.h to tm_file.
- 	(sparc-*-solaris2*): Add tm-dwarf2.h to tm_file for Solaris 7+.
- 	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Delete.
- 	(ASM_DEBUG_SPEC): Delete.
- 
- 2004-05-03  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_expm1.
- 	(expm1_optab): Define corresponding macro.
- 	* optabs.c (init_optabs): Initialize expm1_optab.
- 	* genopinit.c (optabs): Implement expm1_optab using expm1?f2
- 	patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXPM1{,F,L}
- 	using expm1_optab.
- 	(expand_builtin): Expand BUILT_IN_EXPM1{,F,L} using
- 	expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* config/i386/i386.md (expm1df2, expm1sf2, expm1xf2): New expanders
- 	to implement expm1, expm1f and expm1l built-ins as inline x87
- 	intrinsics.
- 
- 2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv.md (*return_true, *return_false): New patterns.
- 
- 2004-05-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* rtl.h (PHI_NODE_P): Remove.
- 
- 2004-05-02  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	PR middle-end/14988
- 	* function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
- 	when passed -2 as 'align'.
- 	(put_var_into_stack): Use 'bool' as the type for the three local
- 	predicates.  Adjust calls to put_reg_into_stack.
- 	When passed a CONCAT, instruct put_reg_into_stack to use
- 	a consecutive stack slot for the second part.
- 	(put_reg_into_stack): Remove 'promoted_mode' parameter, add
- 	'consecutive_p' parameter.  Turn the three predicates into 'bool'
- 	parameters.  Retrieve the register mode from 'reg'.
- 	When consecutive_p is true, instruct assign_stack_local_1 to use
- 	BITS_PER_UNIT alignment.
- 	(put_addressof_into_stack): Use 'bool' as the type for the two
- 	local predicates. Adjust call to put_reg_into_stack.
- 
- 2004-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (fold_convert_const, fold): Add missing
- 	FIX_ROUND_EXPR case.
- 
- 2004-05-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.ac (FLEX, BISON): Only use tools from the build tree
- 	if build equals host.
- 	* configure: Rebuilt.
- 
- 	* config/frv/frv-protos.h (frv_expand_epilogue,
- 	frv_expand_fdpic_call): Add bool argument.
- 	* config/frv/frv.c (frv_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Define to it.
- 	(frv_expand_epilogue): Use new argument to decide whether to emit
- 	return instruction or copy the return address to LR.
- 	(frv_expand_fdpic_call): Inline PLT entry when emitting direct
- 	sibcalls.
- 	(sibcall_operand): New.
- 	* config/frv/frv.h (PREDICATE_CODES): call_operand doesn't match
- 	PLUS nor LABEL_REF.  Add sibcall_operand.
- 	* config/frv/frv.md (call, call_value): Pass false to
- 	frv_expand_fdpic_call.
- 	(call_fdpicdi, call_value_fdpicdi): Insert %i0 in calll.
- 	(sibcall, sibcall_internal, sibcall_fdpicdi, sibcall_value,
- 	sibcall_value_internal, sibcall_value_fdpicdi): New.
- 	(return_unsigned_true, return_unsigned_false): New.
- 	(epilogue): Adjust call to frv_expand_epilogue.
- 	(sibcall_epilogue): New.
- 
- 	* config/frv/frv.h (ASM_SPEC): Pass -mno-fdpic as -mnopic.
- 	(CPP_SPEC, CPP_SIMPLE_SPEC): Undefine __FRV_ACC__ and __FRV_FPR__
- 	before redefining them.
- 
- 2004-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_fixed_mathfn): New function.
- 	(fold_builtin_lround, fold_builtin): Use it.
- 
- 2004-05-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
- 	also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
- 
- 2004-05-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/cris/cris.h: Revert my "fix comment typos" patch.
- 
- 2004-05-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (TUNE_MACC_CHAINS): Fix comment.
- 
- 2004-05-01  Falk Hueffner  <falk@debian.org>
- 
- 	* config/alpha/alpha.md (builtin_insbl, builtin_inswl,
- 	builtin_insll): Disallow 0 as first input operand.
- 
- 2004-05-01  Falk Hueffner  <falk@debian.org>
- 
- 	* config/alpha/alpha.c (alpha_rtx_costs): Fix shiftadd costs.
- 
- 2004-05-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR middle-end/15054
- 	* expr.c (expand_expr_real): Do not call preserve_temp_slots
- 	on a TARGET_EXPR temp.
- 	* function.c (assign_stack_temp_for_type): Set 'keep' flag for
- 	TARGET_EXPR temp slots.
- 
- 2004-05-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* simplify-rtx.c (simplify_ternary_operation): When
- 	converting an IF_THEN_ELSE to a relational op, return
- 	correct mode.
- 
- 2004-04-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin_round): Fix comment typo.
- 	(fold_builtin_lround): New function.
- 	(fold_builtin): Use it.
- 
- 2004-04-20  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/11608
- 	* config/sh/elf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Update and make it
- 	more like the one in config/dbxelf.h.
- 
- 2004-04-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h (SET_ARRAY_OR_VECTOR_CHECK): Rename to SET_OR_ARRAY_CHECK
- 	and adjust definition accordingly.
- 	(TYPE_DOMAIN): Allow only SET_TYPE and ARRAY_TYPE.
- 	(TYPE_DEBUG_REPRESENTATION_TYPE): Allow only VECTOR_TYPE.
- 	* expr.c (store_constructor): Do not access TYPE_DOMAIN of a
- 	VECTOR_TYPE.
- 
- 2004-04-30  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/14587
- 	* config/i386/winnt.c (associated_type): Look for attributes on
- 	the TYPE_MAIN_VARIANT of *this.
- 	* attribs.c (decl_attributes): If ATTR_FLAG_TYPE_IN_PLACE, also
- 	apply the attributes to the variants.
- 
- 2004-04-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc: Simplify arm --with-{cpu,tune} test.
- 	* config/arm/arm-cores.def: Document whitespace restrictions.
- 
- 2004-04-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	PR other/1963
- 	* config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
- 
- 2004-04-30  Brian Ford  <ford@vss.fsi.com>
- 	    DJ Delorie  <dj@redhat.com>
- 
- 	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
- 	(DWARF2_DEBUGGING_INFO): Define to enable.
- 	(DBX_REGISTER_NUMBER): Define to use the svr4 register map for
- 	DWARF2.
- 	* configure.ac (Target-specific assembler checks)
- 	<i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
- 	relocs.
- 	* configure: Regenerate.
- 	* config.in: Likewise.
- 
- 	* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
- 	(ASM_OUPUT_DWARF_OFFSET): Define.
- 
- 2004-04-29  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_emit_epilogue): Parameter added.
- 	(s390_emit_call): New function prototype added.
- 	(s390_tls_get_offset): Function removed.
- 	* config/s390/s390.c (s390_function_ok_for_sibcall,
- 	s390_call_saved_register_used_p): New functions.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Definition of target macro added.
- 	(s390_tls_get_offset): Function merged into s390_emit_tls_call_insn.
- 	(s390_emit_tls_call_insn): New function.
- 	(legitimize_tls_address): Call s390_emit_tls_call_insn instead of
- 	emit_call_insn.
- 	(s390_emit_prologue): Use s390_emit_call instead of emit_call_insn.
- 	(s390_emit_epilogue): Like s390_emit_prologue. Parameter for sibcalls
- 	added.
- 	* config/s390/s390.h (SIBCALL_REGNUM): New macro representing the
- 	register number used to hold the target address for sibcalls.
- 	* config/s390/s390.md ("sibcall", "sibcall_value", "sibcall_epilogue"):
- 	New expanders.
- 	("*sibcall_br", "*sibcall_brc", "*sibcall_brcl", "*sibcall_value_br",
- 	"*sibcall_value_brc", "*sibcall_value_brcl"): New insns.
- 	("call_exp", "call_value_exp", "call_value_tls", "call_value_tls_exp"):
- 	Expanders removed.
- 	("call", "call_value"): Call s390_emit_call to emit the call patterns.
- 	("*bras", "*brasl", "*bras_r", "*brasl_r", "*bras_tls", "*brasl_tls",
- 	"*basr", "*basr_r", "*basr_tls"): Added constraint: !SIBLING_CALL_P.
- 	("epilogue"): Changed the call to s390_emit_epilogue to use the
- 	new parameter.
- 
- 2004-04-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c,
- 	cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c,
- 	reg-stack.c, varasm.c, config/alpha/ev4.md,
- 	config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c,
- 	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c,
- 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
- 	config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c,
- 	config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c,
- 	config/ia64/itanium2.md, config/ip2k/ip2k.c,
- 	config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md,
- 	config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix
- 	comment typos.
- 
- 2004-04-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc: Default ep9312 to hard-float.
- 	* config/arm/arm-cores.def: Add ARCH field.
- 	* config/arm/arm.c (FL_FOR_ARCH*): Define.
- 	(arm_arch_cirrus): New variable.
- 	(all_cores): Set and use arch.
- 	(all_architectures): Ditto.
- 	(arm_arch_name): New variable.
- 	(arm_override_options): Set it. Use [SUB]TARGET_CPU_DEFAULT.
- 	Set and use arm_arch_cirrus.
- 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set arch defines.
- 	(enum processor_type): Update ARM_CORE define.
- 	(enum target_cpus): Add.  Replaces TARGET_CPU_* defines.
- 	(CPP_SPEC): Remove %(cpp_cpu_arch).
- 	(CPP_ARCH_DEFAULT_SPEC): Remove.
- 	(CPP_CPU_ARCH_SPEC): Remove.
- 	(EXTRA_SPECS): Don't use CPP_*ARCH*_SPEC.
- 	(FPUTYPE_DEFAULT): Don't define here.
- 
- 2004-04-30  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* flow.c (propagate_one_insn): Call mark_set_regs for stack pointer
- 	updates too.
- 
- 2004-04-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* arm.c (arm_needs_doubleword_align): Use mode alignment.
- 
- 2004-04-30  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename to
- 	vec_sububs.
- 	[__cplusplus] (vec_subsuhs): Rename to vec_subuhs, without
- 	duplicates.
- 
- 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (atansf2, atandf2, atanxf2): Move near
- 	atan2?f3 expanders.
- 
- 2004-04-29  Nick Clifton  <nickc@redhat.com>
- 
- 	Bug 14093
- 	* config/sh/sh-protos.h (sh_promote_prototypes): Declare.
- 	* config/sh/sh.c (sh_promote_prototypes): Remove declaration.
- 	Delete static from definition.
- 	* config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
- 
- 2004-04-30  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* reg-stack.c (subst_stack_regs_pat): <UNSPEC_SIN, UNSPEC_COS,
- 	UNSPEC_FRNDINT, UNSPEC_F2XM1>: abort() if src1 dies.
- 	<UNSPEC_SINCOS_COS, UNSPEC_TAN_ONE, UNSPEC_XTRACT_FRACT>: Same.
- 	<UNSPEC_SINCOS_SIN, UNSPEC_TAN_TAN, UNSPEC_XTRACT_EXP>: Same.
- 
- 2004-04-29  Richard Guenther  <richard.guenther@uni-tuebingen.de>
- 
- 	* commom.opt (Wfatal-errors): Add it.
- 	* diagnostic.c (flag_fatal_errors): Define it.
- 	(diagnostic_action_after_output): Check for flag_fatal_errors.
- 	* flags.h (flag_fatal_errors): Declare it.
- 	* opts.c (common_handle_option): Add OPT_Wfatal_errors.
- 	* doc/invoke.texi (Warning Options): Document -Wfatal-errors.
- 
- 2004-04-30  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* gcse.c (remove_reachable_equiv_notes): Delete notes also in
- 	blocks which have kill flag set.
- 
- 2004-04-29  Ben Elliston  <bje@au.ibm.com>
- 
- 	* configure.ac (--with-as): Abort if user-supplied assembler
- 	cannot be executed.
- 	(--with-ld): Likewise for the linker.
- 	* configure: Regenerate.
- 
- 2004-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* convert.c (convert_to_integer): Ensure `long_integer_type_node'
- 	isn't NULL before using it.
- 
- 2004-04-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/15189
- 	* config/mips/mips.md (load_df_low): Use default length.
- 	(load_df_high, store_df_high): Likewise.
- 
- 2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mips/mips.md, config/mips/sb1.md,
- 	config/rs6000/rs6000.c: Fix comment typos.
- 
- 2004-04-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c:
- 	Fix comment typos.
- 
- 2004-04-29  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* gcc.c (DELETE_IF_ORDINARY): New macro default definition.
- 	(delete_if_ordinary): Use above macro.
- 	* config/alpha/xm-vms.h (DELETE_IF_ORDINARY): New macro VMS definition.
- 	Update copyright.
- 	* doc/hostconfig.texi (DELETE_IF_ORDINARY): Document new macro.
- 
- 2004-04-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* c-decl.c (get_parm_info): Use the correct tag keywords when
- 	warning about type declarations in prototypes.
- 
- 2004-04-29  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc: Pull list of cores from arm-cores.def.
- 
- 2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (combine_simplify_rtx): Adjust call to use
- 	simplify_relational_operation.  Do not use SELECT_CC_MODE
- 	when a comparison already has a MODE_CC mode.
- 
- 2004-04-29  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	(simplify_set): simplify_relational_operation may now
- 	return another relational expression.
- 	* cse.c (fold_rtx): simplify_relational_operation now
- 	takes of computing the comparison mode.
- 	* dojump.c (compare_from_rtx): Use simplify_relational_operation,
- 	remove dead code.
- 	(do_compare_rtx_and_jump): Likewise.
- 	* integrate.c (subst_constants): simplify_relational_operation
- 	may now return another relational expression.
- 	* simplify-rtx.c (simplify_gen_relational): Move most code to
- 	the new simplify_relational_operation and
- 	simplify_relational_operation_1 functions.
- 	(simplify_relational_operation): Rewritten.
- 	(simplify_relational_operation_1): New function.
- 	(simplify_ternary_operation): simplify_relational_operation
- 	may now return another relational expression.
- 	(simplify_rtx): Remove unnecessary temp variable.
- 
- 2004-04-29  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* reg-stack.c (swap_to_top): New function.
- 	(subst_stack_regs_pat): UNSPEC_FPATAN, UNSPEC_FYL2X: Use
- 	swap_to_top().
- 	(subst_stack_regs_pat): UNSPEC_FSCALE: Remove.
- 	(subst_stack_regs_pat): Handle UNSPEC_FSCALE_FRACT and
- 	UNSPEC_FSCALE_EXP.
- 
- 	* config/i386/i386.md (UNSPEC_FSCALE): Remove.
- 	(*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): Remove insn pattern.
- 	(UNSPEC_FSCALE_FRACT, UNSPEC_FSCALE_EXP): New unspecs to represent
- 	x87's fscale insn.
- 	(*fscalexf4: Define new insn pattern to implement x87 fscale insn.
- 	(exp?f2, exp10?f2, exp2?f2): Use *fscalexf4 and float_truncate
- 	patterns.
- 
- 2004-04-28  Serge Belyshev  <1319@bot.ru>
- 
- 	PR 14944
- 	* coverage.c (read_counts_file): Fix usage of warning () call.
- 	* pretty-print.c (pp_base_format_text): Fix typo in the comment.
- 
- 2004-04-28  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/invoke.texi (Objective-C Dialect Options): Don't prefix
- 	options with "-" in the option index.
- 	(SPARC Options): Likewise.
- 	(M32R/D Options): Likewise.
- 
- 2004-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* convert.c (convert_to_integer): Convert (long)round -> lround,
- 	etc.
- 
- 2004-04-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (registers_ok_for_quad_peep):
- 	Return false if we do not have fp register.
- 	(addrs_ok_for_quad_peep): Rename to ...
- 	(mems_ok_for_quad_peep): this.
- 	Add check for volatile memory.
- 	* config/rs6000/rs6000-protos.h (addrs_ok_for_quad_peep):
- 	Rename to ...
- 	(mems_ok_for_quad_peep): this.
- 	* config/rs6000/rs6000.md: Change peephole's for lfq/stq
- 	to peephole2's.
- 	(lfq_power2): New instruction.
- 	(stfq_power2): Likewise.
- 
- 2004-04-28  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c/15004
- 	* function.c (do_warn_unused_parameter): Break out form ...
- 	(expand_function_end): ... here; warn only when not using cgraphunit.
- 	* function.h (do_warn_unused_parameter): Declare.
- 	* cgraphunit.c: Include function.h.
- 	(cgraph_finalize_function): Do unused parameter warning.
- 	* Makefile.in (cgraphunit.o): Depend on function.h
- 
- 2004-04-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
- 	calling install-info on $(DESTDIR)$(infodir)/dir already being
- 	present.
- 
- 2004-04-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor): Handle shifts.
- 
- 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* gcse.c (find_moveable_store): Do not accept store insns with
- 	REG_EH_REGION note.
- 
- 2004-04-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* calls.c (precompute_arguments): Remove PROMOTE_FOR_CALL_ONLY.
- 	* function.c (assign_temp): Ditto.
- 	* system.h (PROMOTE_FOR_CALL_ONLY): Poison.
- 
- 2004-04-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/lib1funcs.asm: Recognize armv5tej and armv6.
- 
- 2004-04-28  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c (variable_different_p): Add a parameter
- 	compare_current_location, compare current location of variable parts
- 	if it is true.
- 	(dataflow_set_different_1): Pass compare_current_location == false.
- 	(dataflow_set_different_2): Pass compare_current_location == false.
- 	(emit_notes_for_differences_1): Pass compare_current_location == true.
- 
- 2004-04-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("casesi"): Mark jump table access as
- 	non-trapping and unchanging.
- 
- 2004-04-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR debug/14829
- 	* dwarf2out.c (reg_number): Rename to dbx_reg_number.  Adjust all
- 	callers.
- 	(multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
- 	number for indexing hard_regno_nregs array.
- 
- 2004-04-27  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (STARTFILE_SPEC): Use %s to find crt2.o.
- 	* config/darwin-crt2.c: Only have contents on __ppc__.
- 
- 2004-04-27  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (call_insn_operand): Check
- 	SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
- 	* config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
- 	* config/xtensa/xtensa.md (call, call_value): Likewise.
- 
- 2004-04-27  Wu Yongwei  <adah@sh163.net>
- 
- 	* gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
- 	(__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
- 	(__gthread_mutex_init_function): Replace CreateMutex with
- 	initialization of custom mutex using CreateSemaphore.
- 	(__gthread_mutex_lock): Use InterlockedIncrement.
- 	(__gthread_mutex_trylock): Use InterlockedCompareExchange.
- 	(__gthread_mutex_unlock): Use InterlockedDecrement and
- 	ReleaseSemaphore to unlock
- 	* config/i386/gthr-win32.c (__gthread_mutex_init_function,
- 	__gthread_mutex_lock, __gthread_mutex_trylock,
- 	__gthread_mutex_unlock): Adjust to match inline versions in
- 	gthr-win32.h.
- 
- 2004-04-27  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_promote_prototypes): New function.
- 	(TARGET_PROMOTE_PROTOTYPES): Use it.
- 
- 2004-04-27  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_expand_epilogue): Count blocks of 4 regs.
- 
- 2004-04-26  Bernard Giroud  <bgiroud@free.fr>
- 
- 	* config/alpha.c (alpha_end_function): For OpenVMS gas,
- 	correctly output .pdesc directive before .end.
- 
- 2004-04-26  James E Wilson  <wilson@specifixinc.com>
- 
- 	Bug 14927
- 	* config/ia64/ia64.md (movxf): New local op0.  Handle case where
- 	operands[0] is a SUBREG.  Handle case where operands[1] is a GR reg.
- 
- 2004-04-26  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
- 	* config/pa/pa-hpux10.h: Likewise.
- 	* config/pa/pa-hpux11.h: Likewise.
- 
- 2004-04-26  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi (Overall Options): Document default for -o
- 	for PCH files.
- 
- 2004-04-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (expand_builtin_update_setjmp_buf): New function.
- 	(expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
- 	* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
- 
- 2004-04-26  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_legitimate_index_p): Correct iwmmxt offsets.
- 
- 2004-04-26  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
- 
- 2004-04-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to
- 	fold (build1 (NEGATE_EXPR, ...)).  Optimize X / -1 as -X and
- 	X % -1 as 0.
- 
- 2004-04-26  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR bootstrap/15141
- 	* except.c (connect_post_landing_pads): Delete insns after the
- 	barrier when generating a unwind_resume_libfunc call.
- 
- 2004-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	PR/c++ 15119
- 	* tree.c (substitute_placeholder_in_expr, case 4): New case,
- 	for TARGET_EXPR.
- 
- 2004-04-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
- 	__gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
- 	inhibit_libc is defined.
- 
- 2004-04-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_linked_macc_p): Declare.
- 	* config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
- 	* config/mips/mips.c (TARGET_SCHED_REORDER): Define.
- 	(TARGET_SCHED_VARIABLE_ISSUE): Define.
- 	(mips_adjust_cost): Move later in file, next to other sched hooks.
- 	(mips_macc_chains_last_hilo): New variable.
- 	(mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
- 	(mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
- 	* config/mips/mips.md (may_clobber_hilo): New attribute.
- 
- 2004-04-24  Roger Sayle  <roger@eyesopen.com>
- 	    Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def (aix_syswait_2): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/sys/wait.h: Update for new test.
- 
- 2004-04-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/14960
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
- 	to non_fixed_size, and leave out fixed_size from the sum.
- 	(generate_set_vrsave): Correct clobbers.
- 	(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
- 	(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
- 	(rs6000_libcall_value): Likewise.
- 	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
- 	(FUNCTION_ARG_REGNO_P): Likewise.
- 
- 2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expmed.c (expand_mult_highpart_adjust): Do not assume OP1
- 	is a CONST_INT.
- 	(expand_mult_highpart_optab): Call expand_mult_highpart_adjust
- 	with NARROW_OP1 instead of OP1.
- 
- 2004-04-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __s390__
- 	and __s390x__ hosts.
- 
- 2004-03-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
- 	_gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
- 	* builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
- 	BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
- 	BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
- 	* builtins.c (expand_builtin_fork_or_exec): New.
- 	(expand_builtin): Call it.
- 	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
- 	BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
- 	* c-common.c (PID_TYPE): New macro.
- 	(c_common_nodes_and_builtins): Initialize pid_type_node.
- 	* calls.c (special_function_p): Do not handle fork and exec.
- 	(expand_call): Do not handle ECF_FORK_OR_EXEC.
- 	* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
- 	__gcov_execv, __gcov_execvp, __gcov_execve): Declare.
- 	* libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
- 	__gcov_execv, __gcov_execvp, __gcov_execve): New.
- 	* tree.h (enum tree_index): Add TI_PID_TYPE.
- 	(pid_type_node): New macro.
- 	(ECF_FORK_OR_EXEC): Removed.
- 
- 2004-04-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/13985
- 	* cfgloopmanip.c (fix_loop_placements): New prototype.
- 	Call fix_bb_placements on the preheader of loops that have
- 	been reparented.
- 	(remove_path): Adjust call to fix_loop_placements.
- 
- 2004-04-23  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin7.h: New file.
- 	* config.gcc (*-*-darwin*): Add darwin7.h if the
- 	version is greater than 6.
- 	* config/darwin.h (TARGET_C99_FUNCTIONS): Define.
- 	(MATH_LIBRARY): Wrap in ifdefs.
- 
- 2004-04-23  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Reverse the order of
- 	loading iWMMXt registers with a frame pointer.  Use post-increment
- 	without a frame pointer.
- 	(arm_expand_prologue): Reverse the order of saving iWMMXt registers.
- 
- 2004-04-23  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
- 	mode" rather than "-funit-at-a-time" since -O2 enables it
- 	without requiring -f* options.	Refer to -fprofile-generate and
- 	-fprofile-use correctly.  Move -funit-at-a-time among options
- 	enabled by -O.	Add information about unit-at-a-time caveats.
- 
- 2004-04-22  Per Bothner  <per@bothner.com>
- 
- 	* line-map.h (struct line_maps):  New field highest_line.
- 	(linemap_position_for_column):  Make non-inline function.
- 	(LINEMAP_POSITION_FOR_COLUMN):  New macro.
- 	* line-map.c (linemap_init):  Clear highest_line field.
- 	(linemap_add):  Set highest_line field.
- 	(linemap_line_start):  Minor optimization - use highest_line field.
- 	Reduce maximum column hint to 10000.  Update highest_line field.
- 	(linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
- 	* cpphash.h (struct cpp_reader):  Remove line field - instead use
- 	line_table->highest_line.
- 	(saved_line):  Remove unused field.
- 	(CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
- 	Use  line_table's highest_line field instead of cpp_reader's line.
- 	* cpplib.c (start_directive):  Likewise use highest_line field.
- 	(do_line, do_linemarker):  Likewise just use newest map.
- 	(_cpp_do_file_change):  Don't need to set cpp_reader's line field.
- 	* cpperror.c (cpp_error):  Likewise use highest_line field.
- 	* cppfiles.c (open_file_failed:  Likewise.
- 	(cpp_make_system_header):  Likewise use newest map and highest_line.
- 	* cppinit.c (cpp_create_reader):  Don't initialize removed field.
- 	* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
- 	skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
- 	_cpp_lex_direct):  Likewise use highest_line.
- 	(_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
- 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
- 	and use newest map.
- 	* cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
- 	* cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
- 	(copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.
- 
- 2004-04-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR bootstrap/14992
- 	* gcc.c (init_gcc_specs): Test USE_LD_AS_NEEDED, not HAVE_LD_AS_NEEDED.
- 	* config/linux.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/alpha/linux.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/arm/linux-elf.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/rs6000/linux.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/rs6000/linux64.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/sh/linux.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/sparc/linux.h (USE_LD_AS_NEEDED): Define.
- 	* gcc/config/sparc/linux64.h (USE_LD_AS_NEEDED): Define.
- 
- 2004-04-22  Per Bothner  <per@bothner.com>
- 
- 	* cppinit.c (cpp_read_main_file):  Return NULL rather than false.
- 	Fixes PR preprocessor/15067.
- 
- 2004-04-23  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64intrin.h: Add intermediate cast to void * to
- 	avoid aliasing warning.
- 
- 2004-04-22  Jan Hubicka  <jh@suse.cz>
- 	    Mostafa Hagog <mustafa@il.ibm.com>
- 
-       * cfgloopmanip.c (scale_bbs_frequencies): Use RDIV macro
-       * cfgloopanal.c (expected_loop_iterations): Change the return value
- 
- 2004-04-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cselib.h (struct elt_loc_list): Remove canon_loc field.
- 	* cselib.c (new_elt_loc_list): Remove canon_loc initialization.
- 	(cselib_invalidate_mem): Remove all canon_loc and canon_x
- 	traces.
- 
- 2004-04-22  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	Revert
- 	2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 		* var-tracking.c (variable_part_different_p): Variable parts
- 		differ when the most recent locations differ.
- 
- 2004-04-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Remove the MIPS -membedded-pic option.
- 	* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): Delete.
- 	(embedded_pic_offset): Delete.
- 	* config/mips/mips.h (MASK_EMBEDDED_PIC): Delete.  Shuffle other
- 	MASK_* constants.
- 	(TARGET_EMBEDDED_PIC): Delete.
- 	(TARGET_SWITCHES): Remove -m{no-,}embedded-pic.
- 	(ASM_SPEC): Remove -membedded-pic.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Remove embedded-pic handling.
- 	(ASM_OUTPUT_CASE_LABEL): Likewise.
- 	* config/mips/vxworks.h (ASM_SPEC): Remove -membedded-pic.
- 	* config/mips/windiss.h (ASM_SPEC): Likewise.
- 	* config/mips/mips.c (struct machine_function): Remove
- 	embedded_pic_fnaddr_rtx.
- 	(TARGET_ENCODE_SECTION_INFO): Remove override.
- 	(embedded_pic_fnaddr_reg, embedded_pic_offset): Delete.
- 	(override_options): Remove -membedded-pic handling.
- 	(print_operand): Remove handling of '%S'.
- 	(mips_select_section: Remove -membedded-pic handling.
- 	(mips_encode_section_info): Delete.
- 	(mips_output_conditional_branch): Remove mention of -membedded-pic.
- 	* config/mips/mips.md (define_attr length, movsi, movdi, jump): Remove
- 	-membedded-pic handling.
- 	(casesi, casesi_internal, casesi_internal_di, get_fnaddr): Delete.
- 
- 2004-04-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* var-tracking.c (frame_base_decl): Remove useless GTY.
- 
- 2004-04-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Error when
- 	user wants altivec and e500 instructions.
- 
- 2004-04-21  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/14813
- 	* config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
- 	in .init_array section to ...
- 	* config/ia64/crtbegin.asm: Here.
- 
- 	* config/ia64/crtend.asm: Mark __do_global_ctors_aux global
- 	and hidden if HAVE_INITFINI_ARRAY is defined.
- 
- 2004-04-21  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips-protos.h (fp_register_operand, lo_operand): Declare.
- 	* config/mips/mips.c (mips_multipass_dfa_lookahead): Declare.
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): New.
- 	(fp_register_operand, lo_operand): New.
- 	(mips_rtx_costs): Add TUNE_SB1 support.
- 	(mips_issue_rate): Add comment.  Add PROCESSOR_SB1 support.
- 	(mips_use_dfa_pipeline_interface): Add PROCESSOR_SB1 support.
- 	(mips_multipass_dfa_lookahead): New.
- 	* config/mips/mips.h (MASK_FP_EXCEPTIONS, TARGET_FP_EXCEPTIONS,
- 	TUNE_SB1): New.
- 	(TARGET_SWITCHES): Add -mfp-exceptions support.
- 	(TARGET_FP_EXCEPTIONS_DEFAULT): New.
- 	(BRANCH_COST): Fix whitespace.
- 	* config/mips/mips.md: Include sb1.md.
- 	* config/mips/sb1.md: New file.
- 	* doc/invoke.texi: Document -mfp-exceptions.
- 
- 	* Makefile.in (fixinc.sh): Don't set or export WARN_CFLAGS.  Fix
- 	comment.
- 	* fixinc/Makefile.in (FL_LIST): Don't mention WARN_CFLAGS.
- 	(fixincl.o-warn): Delete.
- 
- 2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000 (print_operand) ['z']:
- 	Change ifdef of TARGET_MACHO to if TARGET_MACHO.
- 
- 2004-04-21 Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Support --with-arch=iwmmxt for ARM.
- 
- 2004-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expmed.c (expand_mult_highpart_optab): Use narrower version of OP1
- 	in two more places; remove unneeded force_reg
- 
- 2004-04-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
- 	for TARGET_MACHO.
- 	(print_operand): For TARGET_MACHO check to see if we need a stub
- 	and output one if we need it.
- 
- 	PR debug/15033
- 	* dwarf2out.c (rtl_for_decl_location): Check for NULL
- 	rtl.
- 
- 2004-04-20  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
- 	(vall_value_gp): Likewise.
- 
- 2004-04-20  DJ Delorie  <dj@redhat.com>
- 
- 	* dwarf2out.c (rtl_for_decl_location): Adjust rtl for byte
- 	variables stored in word registers, then in memory.
- 
- 2004-04-20  Eric Christopher  <echristo@redhat.com>
- 
- 	* cp/parser.c (cp_parser_declaration): Move translate
- 	up before tokens are lexed.
- 
- 2004-04-20  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_asin and OTI_acos.
- 	(asin_optab, acos_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize asin_optab and acos_optab.
- 	* genopinit.c (optabs): Implement asin_optab and acos_optab
- 	using asin?f2 and acos?f2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_ASIN{,F,L}
- 	using asin_optab, and BUILT_IN_ACOS{,F,L} using acos_optab.
- 	(expand_builtin): Expand BUILT_IN_ASIN{,F,L} and BUILT_IN_ACOS{,F,L}
- 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* config/i386/i386.md (asindf2, asinsf2, asinxf2, acosdf2,
- 	acossf2, acosxf2): New expanders to implement asin, asinf, asinl,
- 	acos, acosf and acosl built-ins as inline x87 intrinsics.
- 
- 2004-04-20  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
- 
- 2004-04-20  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Fix size calculation.
- 
- 2004-04-20  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Revert part of 2004-04-17 change that moved -frename-registers
- 	to -O1.  -frename-registers is buggy.
- 
- 	* toplev.c (flag_rename_registers): Initialize to 0.
- 	* doc/invoke.texi (Optimize options): Move -frename-registers
- 	to "Not triggered by any -O level" section.  Adjust commentary
- 	accordingly.
- 
- 2004-04-20  Anil Paranjpe <anilp1@kpitcummins.com>
- 
- 	* toplev.c (compile_file): Move targetm.asm_out.file_end call to end.
- 
- 2004-04-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_legitimize_move): Generate special patterns
- 	for mflo and mfhi instructions.
- 	(mips_output_move): Remove mflo and mfhi handling.
- 	* config/mips/mips.md (UNSPEC_MFHILO): New unspec.
- 	(*mulsidi3_64bit): Update for new mfhi/mflo representation.
- 	Likewise various define_peephole2s.
- 	(*movdi_32bit, *movdi_64bit, *movsi_internal): Merge x<-J and x<-d
- 	alternatives.
- 	(*movdi_64bit, *movdi_64bit_mips16, *mov[shq]i_internal)
- 	(*mov[shq]i_mips16): Remove mflo and mfhi alternatives.
- 	(mfhilo_di, mfhilo_si): New patterns.
- 
- 2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* function.c (assign_parms): Force
- 	MEM_EXPR (DECL_INCOMING_RTL (parm)) == parm.
- 
- 2004-04-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c (variable_part_different_p): Variable parts differ
- 	when the most recent locations differ.
- 
- 2004-04-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* rtl.h (reg_set_last): Delete declaration.
- 	* rtlanal.c (reg_set_last): Delete.
- 
- 2004-04-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_convert): Make function extern/public.
- 	* tree.h (fold_convert): Prototype here.
- 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
- 	expand_builtin_strrchr, expand_builtin_strpbrk,
- 	expand_builtin_mempcpy, expand_builtin_bcopy,
- 	expand_builtin_bzero, expand_builtin_memcmp,
- 	expand_builtin_strcmp, expand_builtin_strncmp,
- 	stabilize_va_list, expand_builtin_sprintf,
- 	fold_trunc_transparent_mathfn, fold_builtin_logarithm,
- 	fold_builtin_exponent, fold_builtin_mempcpy,
- 	fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp,
- 	fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer
- 	fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))".
- 
- 2004-04-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
- 	(move_from_CR_gt_bit): New.
- 	(cceq_ior_compare): Name previously unnamed pattern.  Disable for
- 	E500.
- 	(cceq_rev_compare): Name previously unnamed pattern.  Allow for
- 	E500.
- 
- 	* config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
- 	(tstsfeq_gpr): Same.
- 	(cmpsfgt_gpr): Same.
- 	(tstsfgt_gpr): Same.
- 	(cmpsflt_gpr): Same.
- 	(tstsflt_gpr): Same.
- 	(e500_cceq_ior_compare): New.
- 	(e500_flip_gt_bit): New.
- 
- 	* config/rs6000/rs6000.c (ccr_bit): Remove E500 specific code.
- 	(print_operand): Add 'c' and 'D'.
- 	(rs6000_generate_compare): Rewrite to generate correct rtl.
- 	(rs6000_emit_sCOND): Handle E500.
- 	(output_cbranch): Adjust for changes in rs6000_generate_compare.
- 	(output_e500_flip_gt_bit): New.
- 
- 	* config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
- 	Protoize.
- 
- 2004-04-19  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (DWARF2_ADDR_SIZE): New.
- 
- 2004-04-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
- 	fix information.
- 
- 2004-04-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
- 	download URL.
- 
- 2004-04-19  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* stor-layout.c (layout_decl): Check DECL_PACKED before calling
- 	ADJUST_FIELD_ALIGN.  Check maximum_field_alignment after.
- 
- 2004-04-19  Andrew PInski  <pinskia@physics.uc.edu>
- 
- 	* builtins.c (fold_builtin_cabs): Remove fndecl parameter.
- 	(fold_builtin): Update caller to match.
- 
- 	PR bootstrap/15009
- 	* bb-reorder.c (fix_up_fall_thru_edges): Init cond_jump.
- 
- 	PR bootstrap/14999
- 	* builtins.c (fold_builtin_cabs): Mark fndecl as unused.
- 
- 2004-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* varasm.c (compare_constant, case VIEW_CONVERT_EXPR): Add case.
- 
- 	* expmed.c (expand_mult_highpart_adjust): Make OP1 valid for MODE.
- 	(expand_mult_highpart_optab): Likewise.
- 	(expand_mult_highpart): Make OP1 valid for WIDER_MODE, not MODE.
- 
- 2004-04-19  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.md (fixuns_truncsfsi2, fixuns_truncdfsi2,
- 	floatunssisf2, floatunssidf2): New patterns.
- 
- 2004-04-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR other/14918
- 	* doc/invoke.texi (-fprofile-generate): Document requirement to
- 	use -fprofile-generate when linking.
- 
- 	* doc/extend.texi (Strong Using): Warn users against using this
- 	feature.
- 
- 2004-04-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (m16_usym8_4, m16_usym5_4): Delete.
- 	* config/mips/mips.h (mips_entry, mips_string_length): Delete.
- 	(CONSTANT_POOL_BEFORE_FUNCTION, ASM_OUTPUT_POOL_EPILOGUE): Undefine.
- 	* config/mips/mips.c (struct mips16_constant): Renamed from struct
- 	constant.  Propogate change throughout file.
- 	(struct machine_function): Remove insns_len.
- 	(mips_string_length, mips16_strings, string_constants): Delete.
- 	(mips_classify_symbol): Return SYMBOL_CONSTANT_POOL for LABEL_REFs
- 	when generating mips16 code.  Remove special mips16 treatment of
- 	string constants.
- 	(mips_symbolic_constant_p): Allow mips16 constant pool accesses
- 	to have the form LABEL+CONSTANT.
- 	(mips_symbolic_address_p): Fix comment.
- 	(m16_usym8_4, m16_usym5_4): Delete.
- 	(mips_output_function_epilogue): Remove mips16 string handling.
- 	(mips_output_mi_thunk): Call mips16_lay_out_constants.
- 	(mips_select_section, mips_encode_section_info): Remove mips16
- 	string handling.
- 	(struct mips16_constant_pool): New.
- 	(add_constant): Take a mips16_constant_pool structure.  Keep pool
- 	sorted into order of ascending mode size.  Keep track of the highest
- 	possible start address, taking padding and the masking of the base PC
- 	value into account.
- 	(dump_constants_1): New function, split out from dump_constants.
- 	Handle vector constants.  Use gen_consttable_{int,float} rather than
- 	separate functions for each mode.
- 	(dump_constants): Simplify.  Use GET_MODE_ALIGNMENT.  Use gen_align
- 	rather than separate functions for each alignment.
- 	(mips_find_symbol): Delete.
- 	(mips16_insn_length): New function, split out from
- 	mips16_lay_out_constants.
- 	(mips16_rewrite_pool_refs): New function.
- 	(mips16_lay_out_constants): Rework. Remove string handling.
- 	Always create an inline constant pool.
- 	* config/mips/mips.md (UNSPEC_CONSTTABLE_INT, UNSPEC_CONSTTABLE_FLOAT)
- 	(UNSPEC_ALIGN): New constants.
- 	(UNSPEC_CONSTTABLE_[QHSD]I, UNSPEC_CONSTTABLE_[SD]F): Delete.
- 	(UNSPEC_ALIGN_[248]): Delete.
- 	(consttable_int, consttable_float, align): New patterns.
- 	(consttable_[qhsd]i, consttable_[sd]f, align_[248]): Delete.
- 
- 2004-04-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_any_numeric): Correct typo in
- 	__unn_args_eq.
- 
- 2004-04-17  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/14715
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
- 	with STARTING_FRAME_OFFSET.
- 
- 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PREDICATE_CODES): Add macc_msac_operand.
- 	* config/mips/mips.c (macc_msac_operand): New function.
- 	* config/mips/mips.md (*msac): Move after *macc.
- 	(*msac2): New.  Generalize macc-related peepholes so that they apply
- 	to msac too.
- 
- 2004-04-17  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* opts.c (decode_options): Do not enable flag_rename_registers
- 	and flag_web at -O3.
- 	* toplev.c (flag_rename_registers): Initialize
- 	flag_rename_registers and flag_web to
- 	AUTODETECT_FLAG_VAR_TRACKING.
- 	(default_debug_hooks): New global.
- 	(process_options): Initialize default_debug_hooks.  Warn if
- 	-fvar-tracking specified but not supported by the current
- 	debug format.  Do not run var tracking at -O0 or if not
- 	supported by the current debug format, even if
- 	-fvar-tracking was given.  If -fno-rename-registers
- 	is not specified, always run register renaming if var
- 	tracking is supported by the default debugging information
- 	format for the target, and we are at -O1 or higher; similarly
- 	for -fweb, but only at -O2 or higher.
- 	* doc/invoke.texi (Optimize Options): Document this.
- 
- 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
- 	* configure: Regenerate.
- 
- 2004-04-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcc.c (used_arg): Check whether an option has been removed.
- 
- 2004-04-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
- 	debugging on Solaris 7 and up.
- 
- 2004-04-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific, mips-sgi-irix5): Reflect working
- 	IRIX 5 port.
- 	Remove -save-temps workaround, handled automatically.
- 	Require GNU binutils 2.15 for debugging.
- 	Remove SGI make warnings since GNU make is now required.
- 	(Specific, mips-sgi-irix6): Some markup fixes.
- 	Describe MIPSpro C problems and workarounds.
- 	Mention working O32 ABI support.
- 	Recommend GNU as 2.15 for O32 with debugging.
- 	Remove description of fixed structure pass/return bug.
- 
- 2004-04-16  DJ Delorie  <dj@redhat.com>
- 
- 	* sdbout.c (sdbout_one_type): Use TYPE_VALUES for enums, not
- 	TYPE_FIELDS.
- 	(sdbout_finish): Don't free deferred_global_decls; it's GC'd.
- 
- 2004-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md: Remove unnecessary declarations for asm_out_file.
- 
- 	* pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
- 	SAR register.  Fix comment.
- 	(ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
- 	(%cr11).
- 
- 	* pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
- 
- 2004-04-16  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_override_options): Revert previous patch.
- 	* config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
- 	be safely built.
- 
- 2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
- 	bug.
- 	(TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
- 	TARGET_DEFAULT): Changed. Ditto.
- 	(LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
- 	TARGET_ENDIAN_DEFAULT): Added. Ditto.
- 	* config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
- 	(TARGET_ENDIAN_DEFAULT): Added.
- 
- 2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
- 	ATTR_CONST_NOTHROW_LIST.
- 
- 2004-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	PR/middle-end 14915
- 	* builtins.c (expand_builtin_signbit): Test BYTES_BIG_ENDIAN, not
- 	BITS_BIG_ENDIAN.
- 
- 2004-04-15  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	* ra-debug.c (ra_print_rtx): Add break's to case legs.
- 
- 2004-04-14  James E Wilson  <wilson@specifixinc.com>
- 
- 	* Makefile.in (fixinc.sh): Set WARN_CFLAGS to empty string.
- 
- 2004-04-14  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* libada-mk.in: New file.
- 	* configure.ac: Create libada-mk from libada-mk.in.
- 	* configure: Regenerate.
- 
- 2004-04-14  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_logb and OTI_ilogb.
- 	(logb_optab, ilogb_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize logb_optab and ilogb_optab.
- 	* genopinit.c (optabs): Implement logb_optab and ilogb_optab
- 	using logb?f2 and ilogb?i2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOGB{,F,L}
- 	using logb_optab, and BUILT_IN_ILOGB{,F,L} using ilogb_optab.
- 	(expand_builtin): Expand BUILT_IN_LOGB{,F,L} and BUILT_IN_ILOGB{,F,L}
- 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_XTRACT_FRACT
- 	and UNSPEC_XTRACT_EXP.
- 
- 	* config/i386/i386.md (*fxtractdf3, *fxtractsf3, *fxtractxf3): New
- 	patterns to implement fxtract x87 instruction.
- 	(logbdf2, logbsf2, logbxf2, ilogbsi2): New expanders to implement
- 	logb, logbf, logbl, ilogb, ilogbf and ilogbl built-ins as inline x87
- 	intrinsics.
- 	(UNSPEC_XTRACT_FRACT, UNSPEC_XTRACT_EXP): New unspecs to represent
- 	x87's fxtract insn.
- 
- 2004-04-14  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/t-elf: Enable multilibs by default.
- 
- 2004-04-14  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* bb-reorder.c (fix_crossing_conditional_branches): Adjust the
- 	previous fix to check HAVE_return at runtime too.
- 
- 2004-04-14  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_override_options): If the user has not
- 	specified an ABI, then default to AAPCS for the iWMMXt processor.
- 	* config/arm/t-xscale-elf: Remove redundant multilib specifications.
- 	* config/arm/t-xscale-coff: Likewise.
- 
- 2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin_isdigit): New.
- 	(fold_builtin): Handle BUILT_IN_ISDIGIT.
- 	* defaults.h: Add TARGET_DIGIT0 and sort.
- 	* doc/tm.texi: Add TARGET_BS and TARGET_DIGIT0.
- 
- 2004-04-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin_cabs, fold_builtin): Use
- 	`mathfn_built_in' to determine the new builtin.
- 	* fold-const.c (fold): Likewise.
- 
- 2004-04-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Rename MIPS's -mfix-vr4122-bugs to -mfix-vr4120.
- 	* config/mips/mips.h (MASK_FIX_VR4120): Renamed from MASK_FIX_VR4122.
- 	(TARGET_FIX_VR4120): Likewise TARGET_FIX_VR4122.
- 	(TARGET_SWITCHES): Replace -mfix-vr4122-bugs with -mfix-vr4120.
- 	(ASM_SPEC): Update accordingly.
- 	* config/mips/mips.c: Update after above renaming.
- 	* config/mips/mips.md, config/mips/t-vr, config/mips/vr.h: Likewise.
- 	* config/mips/vr4120-div.S: Renamed from vr4122-div.S.
- 
- 2004-04-13  James E Wilson  <wilson@specifixinc.com>
- 
- 	* c-opt.c (c_common_post_options): If this_input_filename is NULL,
- 	increment errorcount and return false instead of true.
- 
- 2004-04-13  Uros Bizjak  <uros@kss-loka.si>:
- 
- 	* optabs.c (expand_twoval_unop): Reorder function arguments.
- 	* builtins.c (expand_builtin_mathfn_3): Update calls to
- 	expand_twoval_unop.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_TAN_ONE
- 	and UNSPEC_TAN_TAN. Add missing comment.
- 
- 	* config/i386/i386.md (*tandf3_1, *tansf3_1, *tanxf3_1): New
- 	patterns to implement fptan x87 instruction.
- 	(tandf2, tansf2, tanxf2): New expanders to implement tan, tanf
- 	and tanl built-ins as inline x87 intrinsics. Define corresponding
- 	peephole2 optimizers for 'fptan; fstp %st(0); fld1' sequence.
- 	(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): New unspecs to represent
- 	x87's fptan insn.
- 
- 2004-03-13  Richard Henderson  <rth@redhat.com>
- 
- 	* bb-reorder.c (fix_crossing_unconditional_branches): Use Pmode
- 	for LABEL_REFs.
- 
- 	* defaults.h (HOT_TEXT_SECTION_NAME): Add leading dot.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Likewise.
- 	* doc/invoke.texi: Update to match.
- 
- 	* varasm.c (unlikely_text_section): Use assemble_align instead of
- 	ASM_OUTPUT_ALIGN.  Use it in the correct place with an approximately
- 	correct alignment argument.
- 
- 2004-04-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload1.c (emit_reload_insns): Set reg_has_output_reload to one
- 	after setting reg_last_reload_reg for optional output reloads.
- 
- 2004-04-12  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/altivec.h (vec_mergeh, vec_mergel):
- 	Definition of these two macros are corrected by adding
- 	matchine right paren.
- 
- 2004-04-12  Jonathan Larmour  <jifl@eCosCentric.com>
- 
- 	* fix-header.c: kill(), putenv() and tzset() are POSIX not ANSI.
- 
- 2004-04-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (output_387_reg_move): New function.
- 	* config/i386/i386-protos.h (output_387_reg_move): Prototype here.
- 	* config/i386/i386.md (*movsf_1, *movsf1_nointerunit,
- 	*movdf_nointeger, *movdf_integer, *movxf_nointeger, *movxf_integer,
- 	*extendsfdf2_1,  *extendsfxf2_1, *extenddfxf2_1, truncdfsf2_noop,
- 	truncxfsf2_noop, truncxfdf2_noop): Call output_387_reg_move.
- 
- 2004-04-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-decl.c (finish_decl): Make a decl_stmt for a variable-sized
- 	TYPE_DECL.
- 	* c-semantics.c (genrtl_decl_stmt): Handle TYPE_DECL.
- 	* stmt.c (expand_decl): Remove redundant expansion of TYPE_DOMAIN.
- 	* stor-layout.c (variable_size): Don't check for MINUS_EXPR.
- 	Use skip_simple_arithmetic to find SAVE_EXPR.
- 	(force_type_save_exprs, force_type_save_exprs_1): New functions.
- 	* tree-inline.c (remap_type, case POINTER_TYPE, case REFERENCE_TYPE):
- 	Properly chain multiple pointers.
- 	(copy_tree_r): Copy a TYPE_DECL.
- 	* tree.c (variably_modified_type_p): Add some missing tests and
- 	make some other minor changes.
- 	* tree.h (force_type_save_exprs): New declaration.
- 
- 2004-04-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation) <UDIV, DIV, UMOD, MOD>:
- 	Remove fall throughs.  Convert 0/x and 0%x into x&0 when x has
- 	side-effects.  Don't convert x/1.0 into x if we honor signaling NaNs.
- 	Convert x/-1.0 into -x if we don't honor signaling NaNs.  Convert
- 	x/-1 into -x.  Optimize x%1 into x&0 if x has side-effects.  Optimize
- 	x%-1 into 0 (or x&0 if x has side-effects).
- 
- 2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Document why a pattern is not
- 	available.
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
- 	of floats on the E500.
- 	(branch_positive_comparison_operator): Do not allow NE even on the
- 	E500.
- 
- 2004-04-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Change
- 	in_text_unlikely_section to in_unlikely_text_section.
- 
- 2004-04-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_binary_op_with_conditional_arg):  Tweak
- 	calling convention to allow a NULL_TREE to be returned.  Factor
- 	sanity checks from callers, return NULL_TREE when appropriate.
- 	(fold): Handle COMPOUND_EXPR operands of binary expressions
- 	before COND_EXPR operands.  Use reorder_operands_p(a,b) to check
- 	whether a op (b,c) can be rewritten as (b, a op c).  Simplify
- 	calls to fold_binary_op_with_conditional_arg.
- 
- 2004-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/mips/iris5.h (current_section_flags):  Add
- 	in_unlikely_executed_text and default case.
- 
- 2004-04-11  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* bb-reorder.c (fix_crossing_conditional_branches): Fix bootstrap
- 	failure on solaris. Place ifdef HAVE_return around gen_ret call.
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Remove ifdef
- 	HAVE_return and place it around the place where it is needed.
- 
- 2004-04-11  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* varasm.c (text_section): Use TEXT_SECTION_ASM_OP and
- 	ASM_OUTPUT_ALIGN instead of SECTION_FORMAT_STRING
- 	and NORMAL_TEXT_SECTION_NAME.
- 	(unlikely_text_section): Check targetm.have_named_sections
- 	instead of TARGET_ASM_NAMED_SECTION and use TEXT_SECTION_ASM_OP
- 	instead of SECTION_FORMAT_STRING.
- 	* config/mips/iris5.h (current_section_name): Add
- 	in_unlikely_executed_text case and move the abort into the switch.
- 	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME): Remove.
- 	(NORMAL_TEXT_SECTION_NAME): Remove.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
- 	(SECTION_FORMAT_STRING): Remove.
- 	* defaults.h (SECTION_FORMAT_STRING): Remove.
- 	* tm.texi (NORMAL_TEXT_SECTION_NAME): Remove.
- 	(SECTION_FORMAT_STRING): Remove.
- 
- 2004-04-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (common_type): Prefer long long to long when same
- 	precision.
- 
- 2004-04-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 14887
- 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
- 	mode argument.
- 	* config/ia64/ia64.c (ia64_hpux_file_end): Check
- 	TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
- 
- 2004-04-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (mode_signbit_p): New function to check whether
- 	an RTX is an immediate constant that represents the most significant
- 	bit of a given machine mode.
- 	(simplify_unary_operation) <NOT>: Optimize ~(X+C) as X ^ ~C, where
- 	C is the sign bit.
- 	(simplify_binary_operation) <PLUS>: Optimize (X^C1) + C2 as X^(C1^C2)
- 	when C2 is the sign bit.
- 	(simplify_binary_operation) <XOR>: Canonicalize X^C as X+C when C
- 	is the sign bit.  Optimize (X+C1) ^ C2 as X^(C1^C2) when C1 is the
- 	sign bit.
- 
- 2004-04-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (mathfn_built_in): Check TYPE_MAIN_VARIANT, not
- 	TYPE_MODE.
- 
- 2004-04-09  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-common.c (handle_noreturn_attribute): Use TYPE_READONLY instead
- 	of TREE_READONLY for types.
- 
- 2004-04-09  Caroline Tice  <ctice@apple.com>
- 
- 	* basic-block.h (struct edge_def):  Add new field, crossing_edge.
- 	(struct basic_block_def):  Add new field, partition.
- 	(UNPARTITIONED, HOT_PARTITION, COLD_PARTITION):  New constant macro
- 	definitions.
- 	(partition_hot_cold_basic_blocks): Add extern function
- 	declaration.
- 	* bb-reorder.c (function.h, obstack.h, expr.h, regs.h):  Add four new
- 	include	statements.
- 	(N_ROUNDS): Increase the maximum number of rounds by 1.
- 	(branch_threshold): Add array value for new round.
- 	(exec_threshold): Add array value for new round.
- 	(push_to_next_round_p): New function.
- 	(add_unlikely_executed_notes): New function.
- 	(find_rarely_executed_basic_blocks_and_crossing_edges): New function.
- 	(mark_bb_for_unlikely_executed_section): New function.
- 	(add_labels_and_missing_jumps): New function.
- 	(add_reg_crossing_jump_notes): New function.
- 	(fix_up_fall_thru_edges): New function.
- 	(find_jump_block): New function.
- 	(fix_crossing_conditional_branches): New function.
- 	(fix_crossing_unconditional_branches): New function.
- 	(fix_edges_for_rarely_executed_code): New function.
- 	(partition_hot_cold_basic_blocks): New function.
- 	(find_traces):  Add an extra round for partitioning hot/cold
- 	basic blocks.
- 	(find_traces_1_round): Add a parameter.  Modify to push all cold blocks,
- 	and only cold blocks, into the last (extra) round of collecting traces.
- 	(better_edge_p): Add a parameter.  Modify to favor non-crossing edges
- 	over crossing edges.
- 	(bb_to_key):  Add code to correctly identify cold blocks when
- 	doing partitioning.
- 	(connect_traces): Modify to connect all the non-cold traces first, then
- 	go back and connect up all the cold traces.
- 	(reorder_basic_blocks):  Add call to add_unlikely_executed_notes.
- 	* cfg.c (entry_exit_blocks): Add initialization for partition field in
- 	entry and exit blocks.
- 	* cfgbuild.c (make_edges): Update current_function_has_computed_jump
- 	if we are doing hot/cold partitioning.
- 	* cfgcleanup.c (cfglayout.h): Add new include statement.
- 	(try_simplify_condjump): Modify to not attempt on blocks with jumps
- 	that cross section boundaries.
- 	(try_forward_edges): Likewise.
- 	(merge_blocks_move_predecessor_nojumps): Likewise.
- 	(merge_blocks_move_successor_nojumps): Likewise.
- 	(merge_blocks_move): Likewise.
- 	(try_crossjump_to_edge): Modify to not attempt after we have done
- 	the block partitioning.
- 	(try_crossjump_bb): Modify to not attempt on blocks with jumps that
- 	cross section boundaries.
- 	(try_optimize_cfg): Likewise.
- 	* cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
- 	jumps that cross section boundaries.
- 	* cfglayout.c (flags.h): Add new include statement.
- 	(update_unlikely_executed_notes):  New function.
- 	(fixup_reorder_chain):  Add code so when a new jumping basic block is
- 	added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
- 	updated appropriately.
- 	(duplicate_insn_chain):  Add code to duplicate the new NOTE insn
- 	introduced by this optimization.
- 	* cfglayout.h (scan_ahead_for_unlikely_executed_note):  Add new
- 	extern function declaration.
- 	* cfgrtl.c (can_delete_note_p):  Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
- 	list of notes that can be deleted.
- 	(create_basic_block_structure):  Add initialization for partition field.
- 	(rtl_can_merge_blocks):  Modify to test blocks for jumps that cross
- 	section boundaries.
- 	(try_redirect_by_replacing_jump):  Modify to not attempt on jumps that
- 	cross section boundaries.
- 	(commit_one_edge_insertion): Add code so newly created basic block
- 	ends up in correct (hot or cold) section.  Modify to disallow
- 	insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
- 	(rtl_verify_flow_info_1):  Add code to verify that no fall_thru edge
- 	crosses section boundaries.
- 	(cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
- 	cross section boundaries.
- 	(force_nonfallthru_and_redirect): Modify to make sure new basic block
- 	ends up in correct section, with correct notes attached.
- 	* common.opt (freorder-blocks-and-partition):  Add new flag for this
- 	optimization.
- 	* dbxout.c (dbx_function_end):  Add code to make sure scope labels at
- 	the end of functions are written into the correct (hot or cold)
- 	section.
- 	(dbx_source_file): Add code so writing debug file information
- 	doesn't incorrectly change sections.
- 	* defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
- 	in partitioning hot/cold basic blocks into separate sections.
- 	(SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
- 	section partitioning.
- 	(HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
- 	conditional branches can span all of memory.
- 	(HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
- 	unconditional branches can span all of memory.
- 	* final.c (scan_ahead_for_unlikely_executed_note):  New function.
- 	(final_scan_insn):  Add code to check for NOTE instruction indicating
- 	whether basic block belongs in hot or cold section, and to make sure
- 	the current basic block is being written to the appropriate section.
- 	Also added code to ensure that jump table basic blocks end up in the
- 	correct section.
- 	* flags.h (flag_reorder_blocks_and_partition):  New flag.
- 	* ifcvt.c (find_if_case_1):  Modify to not attempt if conversion if
- 	one of the branches has a jump that crosses between sections.
- 	(find_if_case_2): Likewise.
- 	(ifcvt): Modify to not attempt to mark loop exit edges after
- 	hot/cold partitioning has occurred.
- 	* opts.c (decode_options): Code to handle new flag,
- 	flag_reorder_blocks_and_partition; also to turn it off if
- 	flag_exceptions is on.
- 	(common_handle_option): Code to handle new flag,
- 	flag_reorder_blocks_and_partition.
- 	* output.h (unlikely_text_section): New extern function declaration.
- 	(in_unlikely_text_section): New extern function declaration.
- 	* passes.c (rest_of_handle_stack_regs):  Add
- 	flag_reorder_blocks_and_partition as an 'or' condition for calling
- 	reorder_basic_blocks.
- 	(rest_of_handle_reorder_blocks):  Add flag_reorder_blocks_and_partition
- 	as an 'or' condition for calling reorder_basic_blocks.
- 	(rest_of_compilation):  Add call to partition_hot_cold_basic_blocks.
- 	* print-rtl.c (print_rtx): Add code for handling new note,
- 	NOTE_INSN_UNLIKELY_EXECUTED_CODE
- 	* rtl.c  (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
- 	(REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
- 	cross between section boundaries.
- 	* rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE):  New note instruction,
- 	indicating the basic block containing it belongs in the cold section.
- 	(REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
- 	between hot and cold sections.
- 	* toplev.c (flag_reorder_blocks_and_partition):  Add code to
- 	initialize this flag, and to tie it to the command-line option
- 	freorder-blocks-and-partition.
- 	* varasm.c (cfglayout.h):  Add new include statement.
- 	(unlikely_section_label_printed):  New global variable, used for
- 	determining when to output section name labels for cold sections.
- 	(in_section):  Add in_unlikely_executed_text to enum data structure.
- 	(text_section):  Modify code to use SECTION_FORMAT_STRING and
- 	NORMAL_TEXT_SECTION_NAME macros.
- 	(unlikely_text_section):  New function.
- 	(in_unlikely_text_section):  New function.
- 	(function_section):  Add code to make sure beginning of function is
- 	written into correct section (hot or cold).
- 	(assemble_start_function):  Add code to make sure stuff is written to
- 	the correct section.
- 	(assemble_zeros):  Add in_unlikely_text_section as an 'or' condition
- 	to an if statement that was checking 'in_text_section'.
- 	(assemble_variable):  Add 'in_unlikely_text_section' as an 'or'
- 	condition to an if statement that was checking 'in_text_section'.
- 	(default_section_type_flags_1):  Add check: if in cold section
- 	flags = SECTION_CODE.
- 	* config/darwin.c (darwin_asm_named_section):  Modify to use
- 	SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
- 	* config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
- 	specifically for the i386.
- 	(HAS_LONG_UNCOND_BRANCH):  Defined this macro specifically for the i386.
- 	* config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
- 	text string to something more informative.
- 	(NORMAL_TEXT_SECTION_NAME): Add new definition.
- 	(SECTION_FORMAT_STRING):  Add new definition.
- 	* config/rs6000/rs6000.c (rs6000_assemble_integer):  Add
- 	'!in_unlikely_text_section' as an 'and' condition to an if statement
- 	that was already checking '!in_text_section'.
- 	* config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
- 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
- 	sure these are properly defined for linux on ppc.
- 	* doc/invoke.texi  (freorder-blocks-and-partition): Add documentation
- 	for this new flag.
- 	* doc/rtl.texi (REG_CROSSING_JUMP):  Add documentation for new
- 	reg_note.
- 	* doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
- 	HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
- 	these new macros.
- 
- 2004-04-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* function.c (gen_mem_addressof): When changing the RTX from a REG
- 	to a MEM, clear MEM_VOLATILE_P which was formerly REG_USERVAR_P.
- 
- 2004-04-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/14888
- 	* config/i386/i386.md (truncdfsf2_noop, truncxfsf2_noop,
- 	truncxfdf2_noop): Provide dummy "fmov" implementations.
- 
- 2004-04-08  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* gcc.c (default_compilers): Add missing initializers.
- 
- 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
- 	Return 1 if file was successfully mapped.
- 
- 2004-04-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR pch/13419
- 	PR pch/14137
- 	Radar #: 3315288
- 	* doc/invoke.texi (Precompiled Headers): Suggest -o
- 	to put an output file in a particular place.  Be more detailed
- 	about which options affect PCH validity and which options
- 	might not work.
- 	* c-pch.c (pch_matching): New.
- 	(MATCH_SIZE): New.
- 	(struct c_pch_validity): New field 'match'.
- 	(pch_init): Handle pch_matching.
- 	(c_common_valid_pch): Check pch_matching.
- 
- 	* explow.c: Fix typo defining default of PROMOTE_FUNCTION_MODE.
- 
- 2004-04-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi (Precompiled Headers): Warn about known
- 	problems.
- 
- 2004-04-08  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR c++/14808
- 	* defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
- 	to 1 if ASM_OUTPUT_DEF is defined.
- 	* doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
- 	* config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
- 	Set to non-zero iff not a one_only decl.
- 
- 2004-04-08  Paul Brook  <paul@codesourcery.com>
- 
- 	* arm.h (CLASS_LIKELY_SPILLED_P): Define.
- 
- 2004-04-08  Paul Brook  <paul@codesourcery.com>
- 
- 	* explow.c (promote_mode): Use PROMOTE_FUNCTION_MODE instead of
- 	PROMOTE_FOR_CALL_ONLY.
- 	* config/arm/arm-protos.h (arm_function_value): Declare.
- 	* config/arm/arm.h (TARGET_PROMOTE_FUNCTION_ARGS): Define.
- 	(TARGET_PROMOTE_PROTOTYPES): Return false.
- 	(arm_function_value): New function.
- 	* config/arm/arm.h (PROMOTE_FUNCTION_MODE): Define.
- 	(FUNCTION_VALUE): Call arm_function_value.
- 	* config/cris/cris.h (PROMOTE_MODE): Rename ...
- 	(PROMOTE_FUNCTION_MODE): ... to this.
- 	(PROMOTE_FOR_CALL_ONLY): Remove.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/s390/s390.h: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sparc.c: Update comments about PROMOTE_MODE.
- 	* doc/tm.texi (PROMOTE_FUNCTION_MODE): Document.
- 	(TARGET_PROMOTE_FUNCTION_MODE, TARGET_PROMOTE_FUNCTION_RETURN): Update.
- 	(PROMOTE_FOR_CALL_ONLY): Remove.
- 
- 2004-04-08  Joel Sherrill <joel@oarcorp.com>
- 
- 	PR ada/14538
- 	* ada/5rosinte.adb: Remove fake mprotect() body.
- 	* ada/5rosinte.ads: Add SA_SIGINFO.
- 	* ada/5rtpopsp.adb: Rewrite to use new interface.
- 	* ada/init.c: Reorder so the simple single OS conditional __rtems__
- 	is tested before more complex ones which mix UNIX and embedded
- 	systems in the conditional.
- 
- 2004-04-08  Joel Sherrill  <joel@oarcorp.com>
- 
- 	PR ada/14665
- 	* ada/osint.adb (Find_Program_Name): Rework to properly handle
- 	filenames which end in .exe or have versioning suffixes like VMS.
- 
- 2004-04-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/10129
- 	* config/darwin.c (darwin_encode_section_info): When the decl has
- 	a DECL_INITIAL, it is only defined also when it is not a common.
- 
- 2004-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin_isascii, fold_builtin_toascii): New.
- 	(fold_builtin): Handle BUILT_IN_ISASCII and BUILT_IN_TOASCII.
- 
- 2004-04-07  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Don't prod
- 	global register variables.
- 
- 2004-04-07  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
- 	rpc_xdr_lvalue_cast_b): New fixes.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/rpc/xdr.h: Add new tests.
- 
- 2004-04-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
- 	to power4 and power5 entries.
- 
- 2004-04-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-common.h (pending_lang_change): Mark for PCH.
- 
- 2004-04-07  Caroline Tice  <ctice@apple.com>
- 
- 	* gcc.c (main): Move 'break' in main loops (on an error)
- 	to wait until error processing has occurred.
- 
- 2004-04-06  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Stop changing enable_threads midstream.
- 	Replace uses of enable_threads_flag with enable_threads.
- 	* configure.ac: Replace uses of enable_threads_flag with
- 	enable_threads.  Improve autoconf quotation in one place.
- 	* configure: Regenerate.
- 
- 2004-04-06  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* builtins.c: Implement support for sincos function.
- 	(expand_builtin_mathfn): Remove BUILT_IN_SIN{,F,L} and
- 	BUILT_IN_COS{,F,L}.
- 	(expand_builtin_mathfn_3): New function.
- 	(expand_builtin): Expand BUILT_IN_SIN{,F,L} and
- 	BUILT_IN_COS{,F,L} using expand_builtin_mathfn_3 if
- 	flag_unsafe_math_optimization is set.
- 
- 	* optabs.h (enum optab_index): Add new OTI_sincos.
- 	(sincos_optab): Define corresponding macro.
- 
- 	* optabs.c (init_optabs): Initialize sincos_optab.
- 	(expand_twoval_unop): New function.
- 
- 	* genopinit.c (optabs): Implement sincos_optab using sincos?f3
- 	patterns.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_SINCOS_COS
- 	and UNSPEC_SINCOS_SIN.
- 
- 	* config/i386/i386.md (sincosdf3, sincossf3, *sincosextendsfdf3,
- 	sincosxf3): New patterns to implement sincos, sincosf and sincosl
- 	built-ins as inline x87 intrinsics. Define splits for
- 	sindf2, sinsf2, *sinextendsfdf2, sinxf2, cosdf2,
- 	cossf2, *cosextendsfdf2 and cosxf2 patterns from corresponding
- 	sincos patterns.
- 	(sindf2, sinsf2, sinxf2): Rename to *sindf2, *sinsf2, *sinxf2.
- 	(cosdf2, cossf2, cosxf2): Rename to *cosdf2, *cossf2, *cosxf2.
- 
- 	(UNSPEC_SINCOS_SIN, UNSPEC_SINCOS_COS): New unspecs to represent
- 	x87's fsincos insn.
- 
- 2004-04-06  Devang Patel  <dpatel@apple.com>
- 
- 	PR 14467
- 	* config/darwin.h (LINK_COMMAND_SPEC): Use c++filt instead of c++filt3.
- 
- 2004-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* doc/install.texi: Update HP-UX 11 installation procedure.
- 
- 2004-04-06  Paul Brook  <paul@codesourcery.com>
- 
- 	* doc/sourcebuild.texi: Remove obsolete contraint on testcases.
- 
- 2004-04-05  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
- 	when the TLS address is generated by a function call.
- 	* config/sh/sh.md (tls_global_dynamic): Use a call expression.
- 	(tls_local_dynamic): Likewise.
- 
- 2004-04-05  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree.c (reconstruct_complex_type): Use TYPE_READONLY
- 	and TYPE_VOLATILE.
- 
- 2004-04-05  Caroline Tice  <ctice@apple.com>
- 
- 	* gcc.c (combine_flag): New global variable, for new driver option.
- 	(struct compiler): Add two new fields, to be used when
- 	combining multiple input files in a single pass (IMA).
- 	(default_compilers):  Add values for the new fields to all
- 	compiler entries. Modify the "@c" compiler entry for doing IMA
- 	properly with "-save-temps" and the "combine" flag.
- 	(option_map):  Add new driver option, "--combine", to tell driver
- 	to pass multiple input files to compiler at one time.
- 	(have_o_argbuf_index): New global variable.
- 	(store_arg): Modify to assign value to have_o_argbuf_index.
- 	(struct infile):  Add three new fields, to help with IMA.
- 	(display_help): Add help for new "combine" option.
- 	(process_command): Remove local variable have_o; add code to check
- 	for new "combine" option; remove assignment to combine_inputs.
- 	(do_spec_1):  Modify to deal with IMA better.
- 	(main): Make variable 'lang_n_infiles' local to entire function
- 	rather than to a single block.  Use flag combine_flag to
- 	determine whether to do IMA or not; Modify loop initializing
- 	infiles to deal properly with linker files.
- 	Add code for doing preprocessing in presence of
- 	IMA with "-save-temps" flag.  Modify "main" loop to handle
- 	multiple input files, in multiple languages, with or without
- 	preprocessing,  gracefully.
- 	* toplev.c (set_src_pwd): Modify to not complain if attempting to
- 	re-set it to same directory it's previously been set to (avoid
- 	irritating, meaningless warning messages when doing IMA with
- 	save-temps).
- 	* doc/invoke.texi: Add "-combine" to list of Overall Options;
- 	remove documentation about IMA that is no longer accurate; Add
- 	documentation explaining what "-combine" does.
- 	* ada/lang-specs.h: Add initialization values for new fields in
- 	"struct compiler".
- 	* cp/lang-specs.h: Likewise.
- 	* f/lang-specs.h: Likewise.
- 	* java/lang-specs.h: Likewise.
- 	* objc/lang-specs.h: Likewise.
- 	* treelang/lang-specs.h: Likewise.
- 
- 2004-04-05  David Edelsohn
- 
- 	* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
- 	symbol handling.
- 
- 2004-04-05  Jakub Jelinek  <jakub@redhat.com>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR optimization/13424 (hppa), bootstrap/14462, c/14828
- 	* pa.md: Use replace_equiv_address to retain the attributes of the
- 	memory operands used in the split and peephole2 patterns for optimizing
- 	the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
- 
- 2004-04-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-decl.c (build_compound_literal): Use TYPE_READONLY.
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- 	* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
- 	* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
- 	PARM_DECL.
- 	* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
- 	for a type.
- 	* print-tree.c (print_node): Properly handle side-effects, readonly,
- 	and constant flags.
- 	* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
- 	and TREE_CONSTANT if not a type.
- 	* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
- 	(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
- 	(NON_TYPE_CHECK): New macro.
- 	(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
- 
- 2004-04-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
- 	to DWARF2_DEBUG unconditionally.
- 	(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
- 
- 2004-04-04  Ian Lance Taylor  <ian@wasabisystems.com>
- 	    Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR target/14548
- 	* config.host: Set the shell variable host_can_use_collect2.
- 	Set it to yes by default, and to no for alpha*-dec-*vms*,
- 	i[34567]86-*-mingw32*, and powerpc-*-beos*.
- 	* configure.ac: Set and substitute the shell variable collect2.
- 	Give an error if use_collect2 is yes and host_can_use_collect2 is
- 	no.
- 	* Makefile.in (COLLECT2): Rename from USE_COLLECT2.  Change all
- 	uses.  Initialize to @collect2@.
- 	(STAGESTUFF): Remove $(USE_COLLECT2).
- 	* config/alpha/x-vms (USE_COLLECT2): Don't set.
- 	* config/i386/t-mingw32 (USE_COLLECT2): Likewise.
- 	* config/rs6000/t-beos (USE_COLLECT2): Likewise.
- 	* config/pa/t-pa64: Remove commented out USE_COLLECT2.
- 	* configure: Regenerate.
- 
- 2004-04-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Constant fold
- 	DIV, MOD, UDIV and UMOD using div_and_round_double.
- 
- 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/14804
- 	* varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
- 	RECORD_TYPEs.
- 
- 2004-04-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi (-mabi=o64): Create link to O64 ABI
- 	documentation.
- 
- 2004-04-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (cse_insn): Correct usage of simplify_replace_rtx when
- 	updating the REG_EQUAL note on an insn's libcall_insn.
- 
- 2004-04-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* df.h: Tidy up whitespace in the definitions of the DF_ flags.
- 
- 2004-04-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation
- 	with reorder_operands_p.
- 
- 2004-04-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* md.texi (vec_set, vec_extract, vec_init): Document.
- 
- 2004-04-02  Gabor Loki <loki@inf.u-szeged.hu>
- 
-        * opts.c (decode_options): Do function inlining with very small
-        max-inline-insns-* parameters when optimizing for size.
- 
- 2004-04-02  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/i386/i386.h (TARGET_NOCONA): New macro.
- 	(TARGET_CPU_CPP_BUILTINS): Add code for Nocona.
- 	(processor_type): Add PROCESSOR_NOCONA.
- 
- 	* config/i386/i386.md (cpu): Add nocona to the attribute values.
- 
- 	* config/i386/i386.c (nocona_cost): New variable.
- 	(m_NOCONA): New macro.
- 	(x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
- 	x86_branch_hints, x86_use_sahf, x86_single_stringop,
- 	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8,
- 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
- 	x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
- 	x86_decompose_lea, x86_arch_always_fancy_math_387,
- 	x86_sse_partial_reg_dependency, x86_sse_load0_by_pxor,
- 	x86_ext_80387_constants, x86_four_jump_limit):
- 	(override_options): Add nocona_cost to processor_target_table.
- 	Set up PROCESSOR_NOCONA for Nocona entry in processor_alias_table.
- 	(incdec_operand): Prevent inc/dec generation for Nocona too.
- 	(ix86_issue_rate): Add PROCESSOR_NOCONA.
- 
- 2004-04-01  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* rtlanal.c (find_reg_note): Manually
- 	unswitch the loop.
- 
- 2004-04-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* genemit.c (gen_split): Change prototype of generated code.
- 	* genrecog.c (write_action): Adjust prototype for and calls to
- 	gen_split_*.
- 	* gensupport.c (struct queue_elem): Add split field.
- 	(queue_pattern): Return a value.  Clear the split field.
- 	(process_rtx): Maintain an association between an insn and the
- 	split generated from it for a define_insn_and_split.
- 	(process_one_cond_exec): Generate a new split for a
- 	define_insn_and_split.
- 	* config/arm/arm-protos.h (arm_split_constant): Add insn
- 	parameter.
- 	(emit_constant_insn): New function.
- 	(arm_gen_constant): Use it.
- 	* config/arm/arm.md: Adjust calls to arm_split_constant.
- 
- 2004-04-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c: Add overall comment.
- 	(cgraph_inline_hash): New global variable.
- 	(cgraph_create_node): Break out from ...
- 	(cgraph_node): ... here.
- 	(cgraph_edge): New function.
- 	(cgraph_create_edge): New CALL_EXPR argument; some sanity checking.
- 	(cgraph_remove_edge): Accept edge, intead of source and destination.
- 	(cgraph_redirect_edge_callee): New.
- 	(cgraph_remove_node): Update all new datastructures.
- 	(cgraph_record_call, cgraph_remove_call): Kill.
- 	(dump_cgraph_node): Break out from ... ; dump new datastructures.
- 	(dump_cgraph): ... here.
- 	(cgraph_function_possibly_inlined_p): Use new hashtable.
- 	(cgraph_clone_edge, cgraph_clone_node): New.
- 	* cgraph.h: Include hashtab.h
- 	(struct cgraph_global_info): Kill cloned_times, inline_once, will_be_output
- 	fields, add inlined_to pointer.
- 	(cgraph_node): Add pointer to next_clone.
- 	(cgraph_remove_edge, cgraph_create_edge): Update prototype.
- 	(cgraph_remove_call, cgraph_record_call): Kill.
- 	(cgraph_inline_hash): Declare.
- 	(dump_cgraph_node, cgraph_edge, cg4raph_clone_edge, cgraph_clone_node,
- 	cgraph_redirect_edge_callee): Declare.
- 	(cgraph_create_edges, cgraph_inline_p): Update prorotype.
- 	(cgraph_preserve_function_body_p, verify_cgraph, verify_cgraph_node,
- 	cgraph_mark_inline_edge, cgraph_clone_inlined_nodes): Declare.
- 	* cgraphunit.c: Add overall comment.
- 	(cgraph_optimize_function): Kill.
- 	(cgraph_assemble_pending_functions): Do not assemble inline clones.
- 	(cgraph_finalize_function): Update call of cgraph_remove_node
- 	(record_call_1): Record call sites.
- 	(cgraph_create_edges): Accept node instead of decl argument.
- 	(error_found): New static variable.
- 	(verify_cgraph_node_1, verify_cgraph_node, verify_cgraph): New functions.
- 	(cgraph_analyze_function): Update for new datastructures.
- 	(cgraph_finalize_compilation_unit): Plug memory leak.
- 	(cgraph_optimize_function): Kill.
- 	(cgraph_expand_function): Do not use cgraph_optimize_function.
- 	(INLINED_TIMES, SET_INLINED_TIMES, cgraph_inlined_into,
- 	cgraph_inlined_callees): Kill.
- 	(cgraph_remove_unreachable_nodes): Verify cgraph; update handling of
- 	clones.
- 	(estimate_growth): Simplify.
- 	(cgraph_clone_inlined_nodes): New function.
- 	(cgraph_mark_inline_edge): Re-implement.
- 	(cgraph_mark_inline): Likewise.
- 	(cgraph_check_inline_limits): Simplify.
- 	(cgraph_recursive_inlining_p): New.
- 	(update_callee_keys): Break out from ...
- 	(cgraph_decide_inlining_of_small_functions): ... here; simplify.
- 	(cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
- 	Likewise.
- 	(cgraph_expand_all_functions):  Remove inline clones from the ordered
- 	list.
- 	(cgraph_preserve_function_body_p): New predicate.
- 	(cgraph_optimize): Verify cgraph.
- 	* function.h (struct function): Add fields saved_tree/saved_args.
- 	* timevar.def (TV_CGRAPH_VERIFY): Use verifier.
- 	* toplev.c (rest_of_compilation): Do not free cfun.
- 	* tree-inline.c: Include function.h
- 	(struct inline_data): Add saving_p field; replace decl/current_decl by
- 	node/current_node.
- 	(insert_decl_map): New function.
- 	(copy_body_r): Handle saving; update cgraph datastructure.
- 	(copy_body): Handle recursive inlining.
- 	(initialize_inlined_parameters): Likewise.
- 	(expand_call_inline): Propagate node attributes; update cgraph.
- 	(optimize_inline_calls): Verify that datastructure still match.
- 	(save_body): New function.
- 	* tree-inline.h (save_body): New.
- 	* tree-optimize.c (tree_rest_of_compilation): preserve function body; do inlining.
- 	* langhooks-def.c (LANG_HOOKS_UPDATE_DECL_AFTER_SAVING): New.
- 	* langhooks.c (lang_hooks): Add update_decl_after_saving.
- 
- 2004-04-01  Serge Belyshev  <1319@bot.ru>
- 
- 	PR target/14702
- 	* config/i386/i386.md: fix source operand constraints in
- 	mmx_pshufw, sse2_pshufd, sse2_pshuflw, sse2_pshufhw
- 
- 2004-04-01  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
- 
- 	* fold-const.c (folda): Preserve types of comparisons.
- 
- 2004-04-01  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (backend_init): Move init_optimization_passes call ...
- 	(lang_dependent_init): ... here.
- 
- 2004-04-01  Alan Modra  <amodra@bigpond.net.au>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
- 	-lgcc --as-needed -lgcc_s --no-as-needed by default.
- 	* configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
- 	* configure: Rebuilt.
- 	* config.in: Rebuilt.
- 	* Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
- 	(stage2-start, stage3-start, stage4-start): Likewise.
- 	(stageprofile-start, stagefeedback-start): Likewise.
- 
- 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
- 	* config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
- 	* config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
- 	* config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
- 	(SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
- 	* config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
- 	with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
- 	* config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
- 	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
- 	* config/sparc/t-linux: Removed.
- 
- 2004-04-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/14755
- 	* fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
- 	"bitfld++ == const" to "++bitfld == const + incr" transformations.
- 
- 2004-04-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.
- 	* stor-layout.c (layout_decl): Likewise.
- 	* tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED.
- 	* fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED.
- 	* print-tree.c (print_node): Handle various used of unsigned_flag.
- 	* tree.def (BIT_FIELD_REF): Update comment.
- 	* tree.h (TREE_UNSIGNED): Deleted.
- 	(DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros.
- 
- 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c:
- 	Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.
- 	* c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise.
- 	* calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise.
- 	* expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise.
- 	* optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise.
- 	* tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise.
- 	* config/mips/mips.c, config/rs6000/rs6000.c: Likewise.
- 	* config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise.
- 	* stor-layout.c (layout_type, case COMPLEX_TYPE): Test for
- 	REAL_TYPE, not INTEGER_TYPE.
- 	(layout_type, case VECTOR_TYPE): Simplify code.
- 	* tree.c (build_vector_type_for_mode): Remove dup unsigned setting.
- 	* tree.h: Update comments.
- 	(STRIP_NOPS): Use TYPE_UNSIGNED.
- 	(TYPE_UNSIGNED): New macro.
- 	(TYPE_TRAP_SIGNED): Remove now redundant check.
- 	(SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED.
- 
- 2004-03-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (put_var_into_stack): Properly set orig_reg for indirect.
- 
- 2004-03-31  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
- 	Add darwin-fpsave.asm, darwin-vecsave.asm,
- 	and darwin-world.asm.
- 	(TARGET_LIBGCC2_CFLAGS): Add -Wa,-force_cpusubtype_ALL
- 	as the asm files contain altivec instructions.
- 	* config/rs6000/darwin-fpsave.asm: New file.
- 	* config/rs6000/darwin-vecsave.asm: New file.
- 	* config/rs6000/darwin-world.asm: New file.
- 
- 2004-03-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gengtype-yacc.y (option, stringseq): Add missing
- 	terminating semicolon.
- 
- 2004-03-30  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (tls_gd_32, tls_gd_64,
- 	tls_ld_32, tls_ld_64, tls_dtprel_32, tls_dtprel_64,
- 	tls_dtprel_ha_32, tls_dtprel_ha_64,
- 	tls_dtprel_lo_32, tls_dtprel_lo_64,
- 	tls_got_dtprel_64, tls_tprel_32, tls_tprel_64,
- 	tls_tprel_ha_32, tls_tprel_ha_64,
- 	tls_tprel_lo_32, tls_tprel_lo_64,
- 	tls_got_tprel_32, tls_got_tprel_64,
- 	tls_tls_32, tls_tls_64): Replace register_operand with
- 	gpc_reg_operand.
- 
- 2004-03-30  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* config/rs6000/rs6000.md (*ctrsi_internal1, *ctrsi_internal2,
- 	*ctrdi_internal1, *ctrdi_internal2, *ctrsi_internal3,
- 	*ctrsi_internal4, *ctrdi_internal3, *ctrdi_internal4,
- 	*ctrsi_internal5, *ctrsi_internal6, *ctrdi_internal5,
- 	*ctrdi_internal6): Replace register_operand with
- 	nonimmediate_operand.
- 
- 2004-03-29  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* fold-const.c (fold): Reassociate multiply expression
- 	with an adjacent non-multiply expression to use
- 	architecture's multiply-add instruction.
- 
- 2004-03-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gengtype.c (create_option): New function.
- 	* gengtype.h: Prototype it.
- 	* gengtype-yacc.y (stringseq): New rule.
- 	(option): Use create_option.  Add new bare ID production.  Use
- 	stringseq, not STRING directly.
- 
- 	* alias.c, bitmap.c, c-decl.c, cgraph.h, cpplib.h, cselib.h
- 	* dwarf2out.c, emit-rtl.c, function.h, lists.c, tree.h
- 	* varray.h, config/alpha/alpha.c:
- 	Use new shorter form of GTY markers.
- 
- 	* doc/gty.texi: Rewrite.
- 
- 2004-03-30  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin.c (machopic_function_base_name):
- 	Remove current_name and getting the name of the
- 	current function.
- 
- 2004-03-30  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (thumb_jump): Reduce the backward branch
- 	range, and increase the forward branch range, to allow for
- 	the fact that the PC will be off by 4.
- 
- 2004-03-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* .cvsignore: Add GPATH, GRTAGS, GSYMS and GTAGS (GNU GLOBAL)
- 
- 2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/rs6000/rs6000.c (output_vec_const_move):
- 	Find all cases of EASY_VECTOR_15_ADD_SELF.
- 	(easy_vector_constant_add_self): Accept
- 	all vector constant loadable by vsplt* and vadd*.
- 	(easy_vector_same): Use easy_vector_splat_const.
- 	(easy_vector_const): Use easy_vector_splat_const.
- 	(easy_vector_splat_const): New function.
- 	(gen_easy_vector_constant_add_self): New function.
- 
- 	* config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
- 	New prototype.
- 
- 	* config/rs6000/altivec.md (movv4si splitter): Change to
- 	emit move insn with halfed vector constant.
- 	(*movv8hi splitter): Likewise.
- 	(*movv16qi splitter): Likewise.
- 
- 2004-03-30  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	PR 11591
- 	* config/rs6000/rs6000.c (rs6000_legitimate_address):
- 	Allow any offset to argument pointer in no-strict case.
- 
- 2004-03-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (backend_init): Add missing call to inint_optimization_passes.
- 	* passes.c (init_optimization_passes, finish_optimization_passes): Output cgraph
- 	dump file in non-unit-at-a-time mode.
- 
- 2004-03-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h: Correct #ifdef to test for
- 	HAVE_AS_NO_MUL_BUG_ABORT_OPTION, not
- 	HAVE_AS_MUL_BUG_ABORT_OPTION.
- 
- 2004-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (put_var_into_stack): If old RTL was ADDRESSOF, update
- 	the address inside the old RTL.
- 
- 2004-03-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c: Verify that C_SIZEOF_STRUCT_LANG_IDENTIFIER is correct.
- 	(struct c_binding, struct c_scope): Add chain_next
- 	attributes to GTY markers.
- 	(struct lang_identifier, struct lang_tree_node): Define
- 	here...
- 	* c-tree.h: ... not here.  No longer need to declare struct
- 	c_binding either.  Do define C_SIZEOF_STRUCT_LANG_IDENTIFIER.
- 	* c-lang.c, objc/objc-lang.c: Set LANG_HOOKS_IDENTIFIER_SIZE
- 	to C_SIZEOF_STRUCT_LANG_IDENTIFIER.
- 
- 	PR 14734, 11944
- 	* c-decl.c (get_parm_info): If error_mark_node is encountered
- 	in the bindings chain, unbind and discard it; don't abort.
- 
- 2004-03-28  Olga Golovonevsky <olga@il.ibm.com>
- 	    Dorit Naishlos <dorit@il.ibm.com>
- 
- 	* config/rs6000/altivec.md: (andvv16qi3, andv8hi3, one_cmplv16qi2,
- 	one_cmplv8hi2, one_cmplv4si2, iorv16qi3, iorv8hi3,): New modelling.
- 
- 2004-03-28  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_page0_symbol_p): Declare.
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute): New.
- 	(m68hc11_attribute_table): New attribute "page0" to mark a global
- 	variable as being allocated from within page0 section.
- 	(m68hc11_encode_label): New function.
- 	(m68hc11_strip_name_encoding): New function.
- 	(m68hc11_page0_symbol_p): New function.
- 	(m68hc11_indirect_p): Accept global variables marked in page0.
- 	(m68hc11_encode_section_info): Lookup "page0" attribute.
- 
- 	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): 'R' constraint also
- 	represents access to page0 variables.
- 
- 	* config/m68hc11/m68hc11.md ("*logicalsi3_zexthi"): Use gen_rtx_REG.
- 	("*logicalsi3_silshl16_zext"): Likewise.
- 	("*ashldi3_const32"): Likewise.
- 	(peephole2 ashift): Likewise.
- 
- 2004-03-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (C_DECL_REGISTER): New.
- 	* c-aux-info.c (gen_decl), c-decl.c (objc_mark_locals_volatile,
- 	finish_decl, grokdeclarator, get_parm_info), c-typeck.c
- 	(build_array_ref, c_mark_addressable): Set and use it.
- 	* c-decl.c (grokdeclarator), c-typeck.c (c_mark_addressable):
- 	Allow structures with volatile fields to be declared register.
- 	Don't check TREE_ADDRESSABLE before warning about taking address
- 	of register.
- 	* c-decl.c (finish_decl): Don't allow structures with volatile
- 	fields to be placed in named register.
- 	* doc/trouble.texi: Remove reference to structures with volatile
- 	fields in registers.
- 
- 2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* function.c (thread_prologue_and_epilogue): Move
- 	NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
- 	before the epilogue.
- 
- 2004-03-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (store_constructor): Use gen_int_mode to correctly
- 	sign-extend CONST_INT value.
- 
- 2004-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
- 	* builtins.def (DEF_C94_BUILTIN): New.  Add wctype builtins.
- 	* doc/extend.texi: Likewise.
- 
- 2004-03-26  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* c-typeck.c (comptypes): Replace calls to TYPE_DOMAIN
- 	  with TYPE_ORIG_SIZE_TYPE.
- 
- 2004-03-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR 14219
- 	* c-typeck.c (build_binary_op): Do not allow comparisons of
- 	vectors.
- 
- 2004-03-26  James A. Morrison  <ja2morri@uwaterloo.ca>
- 
- 	* config.gcc: Remove sparc-tti-*.
- 	* config/sparc/pbd.h: Delete.
- 
- 	* config/sparc/sol2.h: Remove note about Sun OS 4.x.
- 	* config/sparc/aout.h: Likewise.
- 
- 	* config/sparc/sparc.h: Remove if 0'd code.
- 	* config/sparc/sparc.md (call): Remove if 0'd code.
- 	(call_value): Likewise.
- 	(nonlocal_goto): Likewise.
- 	(unimp_insn): Delete.
- 
- 2004-03-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like
- 	BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative.
- 
- 2004-03-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR 11527
- 	* c-typeck.c (pop_init_level): Emit pending init elements earlier
- 	rather than later.
- 
- 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin): Fix error in last change.
- 
- 2004-03-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h: Formatting fix.
- 
- 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: Add ctype builtins.
- 	* doc/extend.texi: Likewise.
- 
- 2004-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (fold_builtin): Add new builtin optimizations for
- 	sqrt and/or cbrt.
- 	* fold-const.c (fold): Likewise.
- 
- 2004-03-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_always_hint): New variable.
- 	(rs6000_sched_groups): New variable.
- 	(processor_target_table): Add power5.
- 	(rs6000_override_options): Set rs6000_sched_insert_nops,
- 	rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
- 	from rs6000_sched_groups.
- 	(output_cbranch): Use rs6000_always_hint.
- 	(rs6000_variable_issue): Use rs6000_sched_groups.
- 	(rs6000_adjust_cost): Add CPU_POWER5.
- 	(is_microcoded_insn): Use rs6000_sched_groups.
- 	(is_dispatch_slot_restricted): Use rs6000_sched_groups.
- 	Return 2 for POWER5 cracked instructions.
- 	(is_cracked_insn): Use rs6000_sched_groups.
- 	(is_branch_slot_insn): Use rs6000_sched_groups.
- 	(rs6000_issue_rate): Add CPU_POWER5.
- 	(rs6000_sched_finish): Use rs6000_sched_groups.
- 	(rs6000_rtx_costs): Add PROCESSOR_POWER5.
- 	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
- 	(DEFAULT_SCHED_COSTLY_DEP): Delete.
- 	(DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
- 	(DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
- 	* config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
- 	* config/rs6000/power5.md: New file.
- 	* doc/invoke.texi: Add power5 option.
- 
- 2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgrtl.c, dbxout.c, tree.def, config/darwin.h,
- 	config/arm/arm.c, objc/objc-act.c: Fix comment typos.
- 	* doc/invoke.texi: Fix a typo.
- 
- 2004-03-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR optimization/9707.
- 	* stmt.c (emit_case_nodes): Emit equality comparisons instead
- 	of recursing if both children are single-valued cases with no
- 	children.
- 
- 2004-03-25  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (vfp_print_multi): Remove.
- 	(arm_output_fldmx): New function.
- 	(vfp_emit_fstmx): Return block size, not insn. Add ARM10 VFPr1 bugfix.
- 	(arm_expand_prologue): Update to match.
- 	(arm_get_vfp_saved_size): New Function.
- 	(arm_get_frame_offsets): Use it.
- 	(arm_output_epilogue): Use new functions.
- 
- 2004-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (alias_invariant, alias_invariant_size): Mark GTY.
- 	(reg_known_value, reg_known_value_size): Likewise; make static.
- 	(reg_known_equiv_p): Make static.
- 	(clear_reg_alias_info): Update for new indexing.
- 	(get_reg_known_value, set_reg_known_value): New.
- 	(get_reg_known_equiv_p, set_reg_known_equiv_p): New.
- 	(canon_rtx): Use them.
- 	(init_alias_analysis): Likewise.  Allocate reg_known_value with gc.
- 	Don't play queer offsetting games with reg_known_value and
- 	reg_known_equiv_p.
- 	(end_alias_analysis): Free reg_known_value with gc.
- 	* rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
- 	* sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
- 	(deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
- 	functions instead.
- 
- 2004-03-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dwarf2asm.c, loop.h, pretty-print.c, pretty-print.h,
- 	config/i386/mmintrin.h: Update copyright.
- 
- 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Add --enable-werror-always (for top level bootstrap
- 	support).
- 	* configure: Regenerate.
- 
- 2004-03-24  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (objc_comptypes): Treat comparisons
- 	between 'Class' and '<class> *' as explicitly invalid.
- 
- 2004-03-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/invoke.texi (-frename-registers): Add enabled at -O3.
- 	(-fprofile-values): Add enabled with profile-{generate,use}.
- 	(-fvpt): Same.
- 	(-ftracer): Add enabled with profile-use.
- 	(-funit-at-a-time): Add enabled at -O2,-O3.
- 	(-funroll-loops): Add enabled with profile-use.
- 	(-funswitch-loops): Add enabled with profile-use.  Remove duplicates.
- 	(max-gcse-passes): Mention default.
- 	(max-cse-path-length): Mention default.
- 
- 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in (STRICT2_WARN): Reorder.
- 	* configure.ac: Check for -Wold-style-definition, and use it
- 	in strict1_warn if it's available.
- 	* configure: Regnerate.
- 
- 2004-03-24  Paul Brook  <paul@nowt.org>
- 
- 	* config.gcc <arm>: Add --with-abi=
- 	* config/arm/arm-protos.h (arm_get_frame_size, thumb_get_frame_size,
- 	thumb_far_jump_used): Remove prototypes.
- 	(arm_needs_doubleword_align): Add prototype.
- 	(thumb_compute_initial_elimination_offset): Ditto.
- 	* config/arm/arm.c (arm_get_frame_offsets): New function.
- 	(use_return_insn, output_return_instruction, arm_output_epilogue,
- 	arm_output_function_epilogue, arm_compute_initial_elimination_offset,
- 	arm_expand_prologue, thumb_expand_epilogue): Use it.
- 	(arm_abi, target_abi_name, all_arm_abis): New variables.
- 	(arm_override_options): Set them.  Set structure padding for AAPCS.
- 	(arm_return_in_memory): Update ABI check.
- 	(arm_init_cumulative_args): Initialize can_split.
- 	(arm_needs_doubleword_align): New function.
- 	(arm_function_arg): Don't split args after pushing to stack. Handle
- 	doubleword/even reg alignment.
- 	(arm_va_arg): Handle all doubleword aligned args.
- 	(add_minpoolforward ref, dump_minpool, push_minpool_fix): Align based
- 	on ABI, not CPU.
- 	(arm_compute_save_reg0_reg12_mask): Fix comment.
- 	(thumb_get_frame_size, thumb_get_frame_size): Remove.
- 	(thumb_jump_far_used_p): Remove superfluous argument.  Return save
- 	value for alignment.
- 	(thumb_unexpanded_epilogue, thumb_output_function_prologue): Change
- 	to match.
- 	(thumb_compute_initial_elimination_offset): New function.
- 	(thumb_expand_prologue): Use arm_get_frame_offsets.  Remove
- 	unneccessary rounding.
- 	* config/arm/arm.h (target_abi_name): Declare.
- 	(ARM_DOUBLEWORD_ALIGN, DOUBLEWORD_ALIGNMENT, TARGET_IWMMXT_ABI,
- 	arm_abi_type, ARM_DEFAULT_ABI): Define.
- 	(ARM_FLAG_ATPCS): Remove.
- 	(TARGET_OPTIONS, OPTION_DEFAULT_SPECS): Add -mabi=.
- 	(BIGGEST_ALIGNMENT, PREFERRED_STACK_BOUNDARY, STACK_BOUNDARY): Use it.
- 	(ADJUST_FIELD_ALIGN, DATA_ALIGNMENT, LOCAL_ALIGNMENT,
- 	TYPE_NEEDS_IWMMXT_ALIGNMENT): Remove.
- 	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, FUNCTION_ARG_REGNO_P):
- 	Contitionalize on ABI, not CPU.
- 	(struct arm_stack_offsets): Define.
- 	(struct machine_function): Add stack_offsets.  Remove frame_size.
- 	(FUNCTION_ARG_PARTIAL_NREGS): Don't split if previous args have been
- 	pushed.
- 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_BOUNDARY): Handle general
- 	doubleword alignment.
- 	(THUMB_INITIAL_ELIMINATION_OFFSET,
- 	ARM_INITIAL_ELIMINATION_OFFSET): Remove.
- 	(INITIAL_ELIMINATION_OFFSET): Call functions directly.
- 	* config/arm/arm.md (align_8): Enable for all targets.
- 	* config/arm/netbsd-elf.h (TARGET_DEFAULT): Remove TARGET_ATPCS.
- 	(ARM_DEFAULT_ABI): Define.
- 	* doc/invoke.texi <ARM>: Document -mabi=. Update documentation for
- 	-mstructure-size-boundary.
- 
- 2004-03-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Check for -Wno-variadic-macros; don't use
- 	-pedantic (in stage 1 or a simple 'make all') unless it's available,
- 	and if it's available, use it.  Also, clean up check for
- 	-Wno-long-long.
- 	* configure: Regenerate.
- 
- 2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Remove tm_defines.
- 	* config/mips/vr.h (DEFAULT_VR_ARCH): New macro, defined to vr4130.
- 	(MULTILIB_DEFAULTS): Use it.
- 	(MIPS_CPU_STRING_DEFAULT): Remove.
- 	(MIPS_ABI_DEFAULT, MIPS_MARCH_CONTROLS_SOFT_FLOAT): Define.
- 	(DRIVER_SELF_SPECS): Make -mfix-vr4122-bugs imply -march=vr4120.  Make
- 	EABI64 -mlong32 the default ABI.  Enforce the default architecture.
- 	* config/mips/t-vr (MULTILIB_OPTIONS): Add mfix-vr4122-bugs,
- 	march=vr4130, march=vr4300, march=vr5000 and march=vr5500.
- 	(MULTILIB_MATCHES): Use -mfix-vr4122-bugs multilibs for -march=vr4120.
- 	(MULTILIB_EXCEPTIONS): Change choice of multilibs.  Update comments
- 	accordingly.
- 
- 2004-03-24  DJ Delorie  <dj@redhat.com>
- 	    Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_FIX_VR4122, TARGET_FIX_VR4122): New macros.
- 	(TARGET_SWITCHES): Add -mfix-vr4122-bugs and -mno-fix-vr4122-bugs.
- 	(ASM_SPEC): Pass down -mfix-vr4122-bugs.
- 	* config/mips/mips.c (mips_avoid_hazards): Don't emit whole functions
- 	in .set noreorder and .set nomacro if TARGET_FIX_VR4122.
- 	(mips_init_libfuncs): Use special functions for divsi3 and modsi3
- 	if TARGET_FIX_VR4122.
- 	* config/mips/mips.md (define_attr length): Account for nops inserted
- 	after macc and dmult when using -mfix-vr4122-bugs.
- 	(umuldi3_highpart, divmodsi4, divmoddi4): Disable if TARGET_FIX_VR4122.
- 	* config/mips/t-vr (LIB2FUNCS_STATIC_EXTRA): Define instead of
- 	LIB2FUNCS_EXTRA.  Add config/mips/vr4122-div.S.
- 	* config/mips/vr4122-div.S: New file.
- 	* doc/invoke.texi: Document -mfix-vr4122-bugs.
- 
- 2004-03-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PROCESSOR_R4130): New processor_type.
- 	(TARGET_MIPS4130): New macro.
- 	(ISA_HAS_MACC): Return true if TARGET_MIPS4130 && !TARGET_MIPS16.
- 	* config/mips/mips.c (mips_cpu_info_table): Add a vr4130 entry.
- 	(override_options): Extend MIPS_MARCH_CONTROLS_SOFT_FLOAT to deal
- 	with PROCESSOR_R4130.
- 	* config/mips/mips.md (define_attr cpu): Add r4130.
- 	* doc/invoke.texi: Document vr4130 as a supported MIPS architecture.
- 
- 2004-03-24  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 	    Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Apply missed hunk from 2004-03-03 change.
- 
- 2004-03-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR preprocessor/14438
- 	* cpplib.c (do_pragma): Remove line_change call after pragma
- 	handler.
- 
- 2004-03-23  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* doc/extend.texi (ARM Built-in Functions): Replace with correct
- 	declarations.
- 
- 2004-03-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* reg-stack.c (get_true_reg): Handle FLOAT_TRUNCATE like FLOAT_EXTEND
- 	if flag_unsafe_math_optimizations.
- 	* config/i386/i386.md (truncdfsf2): If flag_unsafe_math_optimizations
- 	and TARGET_80387 expand using truncdfsf2_noop pattern.
- 	(truncxfsf2): Likewise using truncxfsf2_noop.
- 	(truncxfdf2): Likewise using truncxfdf2_noop.
- 	(truncdfsf2_noop, truncxfsf2_noop, truncxfdf2_noop): New patterns.
- 
- 2004-03-23  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* hooks.c (hook_constcharptr_tree_null): New hook.
- 	* hooks.h (hook_constcharptr_tree_null): New prototype.
- 	* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
- 	* target.h (mangle_fundamental_type): New target hook.
- 	* config/rs6000/rs6000.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point
- 	target hook at rs6000_mangle_fundamental_type.
- 	(rs6000_mangle_fundamental_type): New function.
- 	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
- 
- 2004-03-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 12267, 12391, 12560, 13129, 14114, 14133
- 	* c-tree.h: Forward declare struct c_binding.  Declare
- 	c_override_bindings_to_false.  Update prototypes.
- 	(struct lang_identifier): Update comments.  Change fields to be
- 	struct c_binding *.
- 	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE)
- 	(IDENTIFIER_LABEL_VALUE, C_DECL_INVISIBLE)
- 	(KEEP_NO, KEEP_YES, KEEP_MAYBE): Delete.
- 	(C_DECL_IN_EXTERNAL_SCOPE, C_DECL_DECLARED_BUILTIN): New.
- 	* c-common.h: Update prototypes.
- 	* c-decl.c (struct c_scope): Update commentary.  Remove names,
- 	names_last, parms, parms_last, tags, and shadowed fields.  Add
- 	bindings and depth fields.
- 	(scope_freelist): Move to more appropriate location.
- 	(c_print_identifier): Update for changes to struct lang_identifier.
- 	(objc_mark_locals_volatile): Update for new bindings structures.
- 	(global_bindings_p): Honor c_override_global_bindings_to_false.
- 	(pushlevel): Rename to push_scope; take no arguments; use the
- 	scope_freelist; initialize scope->depth and check for overflow.
- 	(poplevel): Rename to pop_scope; totally rewritten for new bindings
- 	structures.
- 	(diagnose_mismatched_decls): Use C_DECL_DECLARED_BUILTIN, not
- 	C_DECL_INVISIBLE, for certain decisions.  Adjust some diagnostics.
- 	Improve some commentary.  Adjust handling of forward parm decls.
- 	(merge_decls): Set C_DECL_DECLARED_BUILTIN when appropriate.
- 	Preserve C_DECL_IN_EXTERNAL_SCOPE.
- 	(warn_if_shadowing): Correct indentation.  Improve diagnostics.
- 	(pushdecl): Remove unnecessary assertion.  Short-circuit anonymous
- 	decls.  Rewrite for new bindings structures.  Improve commentary.
- 	Eliminate the copy_node call.
- 	(implicit_decl_warning): Use the "diag" idiom (as seen in
- 	locate_old_decl) to reduce code duplication; call locate_old_decl
- 	if appropriate.  Relocate to remove need for forward declaration.
- 	(implicitly_declare): Adjust for new bindings structures.  Kludge
- 	around Objective-C not-really-builtin functions.
- 	(undeclared_variable): Improve diagnostics.  If current_function_decl
- 	is nonnull but current_function_scope is null, use current_scope.
- 	Use bind.
- 	(lookup_tag): Adjust for new bindings structures.  Kludge around
- 	Objective-C's tag declarations that wind up in the external scope.
- 	(lookup_name): Adjust for new bindings structures.  Kludge around
- 	c-common.c's pseudo-typedefs that wind up in the external scope.
- 	(lookup_name_current_level): Rename lookup_name_in_scope; take a
- 	second argument indicating the scope to examine; rewrite for
- 	new bindings structures.
- 	(c_init_decl_processing): Adjust for renamed functions.  Do not
- 	initialize current_file_decl, first_builtin_decl, last_builtin_decl.
- 	First scope pushed is the external scope, not the global scope.
- 	(builtin_function): Use bind, not pushdecl.  Adjust other bits
- 	for new data structures.  Keep track of builtins that should be
- 	made visible automatically.
- 	(start_decl): Adjust diagnostics.  Remove unnecessary call to
- 	expand_decl.
- 	(grokparms): Return 0 if arg_types is error_mark_node.
- 	(get_parm_info): Rename "void_at_end" argument to "ellipsis", with
- 	reversed sense.  Rewrite for new bindings structures.  Do not
- 	leave any decls in the scope, to prevent pop_scope from doing
- 	contradictory things with them.
- 	(finish_struct, finish_enum): Remove redundant diagnostics.
- 	(build_enumerator): Don't cascade diagnostics for error_mark_node.
- 	Mark location where -pedantic changes the meaning of the program.
- 	(store_parm_decls_newstyle, store_parm_decls_oldstyle): Load the
- 	parameter decls into the function's scope structure using bind.
- 	Warn here about function definitions in the wrong style.
- 	Adjust diagnostics.
- 	(store_parm_decls): Correct the determination of whether a
- 	function was defined with a prototype.
- 	(c_write_global_declarations): Operate on all file decls and on
- 	the external scope.  Split body of the loop to...
- 	(c_write_global_declarations_1): ... this new function, to avoid
- 	code duplication.
- 	(truly_local_externals, first_builtin_decl, last_builtin_decl)
- 	(make_scope, pop_scope, in_parm_level_p, set_block)
- 	(any_external_decl, record_external_decl, bind_label, getdecls)
- 	(link_hash_hash, link_hash_eq, merge_translation_unit_decls)
- 	(c_reset_state): Delete.
- 	(visible_builtins, c_override_global_bindings_to_false)
- 	(c_binding, I_SYMBOL_BINDING, I_SYMBOL_DECL, I_TAG_BINDING)
- 	(I_TAG_DECL, I_LABEL_BINDING, I_LABEL_DECL, file_scope)
- 	(external_scope, binding_freelist, bind, free_binding_and_advance)
- 	(push_file_scope, pop_file_scope): New.
- 	(pushtag, pushdecl_top_level, lookup_label, declare_label)
- 	(define_label, c_make_fname_decl, finish_decl)
- 	(mark_forward_parm_decls, build_compound_literal)
- 	(grokdeclarator, start_function, check_for_loop_decls)
- 	(identifier_global_value, record_builtin_type): Minor adjustments
- 	for new bindings structures.  Improve diagnostics and commentary.
- 	* c-objc-common.c (start_cdtor, finish_cdtor): Adjust calls to
- 	pushlevel/poplevel respectively.
- 	(c_objc_common_finish_file): Don't call merge_translation_unit_decls.
- 	* c-opts.c (c_common_parse_file): Remove spurious ATTRIBUTE_UNUSED.
- 	Warn about YYDEBUG not being defined only if -dy.  Remove no-longer-
- 	correct loop over multiple translation units; call fatal_error if
- 	requested to compile more than one file at once.  (This disables
- 	IMA temporarily - an up-front error being preferable to a crash.)
- 	* c-parse.in (pushlevel, poplevel rules): Rename push_scope, pop_scope.
- 	(all actions): Adjust calls to pushlevel/poplevel.
- 	(parsing_iso_function_signature): Delete.
- 	(extdef_1): Fold into extdef.
- 	(old_style_parm_decls_1): Fold into old_style_parm_decls.  Don't
- 	warn here about function definitions in the wrong style.
- 	(after_tyle_declarator, parm_declarator_starttypename)
- 	(parm_declarator_nostarttypename, notype_declarator): Remove
- 	commented-out productions.
- 	(parmlist_1, parmlist_2): Use make_node, not tree_cons, to create
- 	an empty TREE_LIST node.  Adjust calls to get_parm_info.
- 	(parmlist_2 : ELLIPSIS): Tag the arg-info block with error_mark_node
- 	to suppress -Wold-style-definition after this error.
- 	(c_parse_file): Don't clear the binding stack or call
- 	finish_fname_decls here.  Correct comment.
- 	* c-typeck.c (same_translation_unit_p): Export.
- 	(common_type): Use c_override_global_bindings_to_false, not
- 	pushlevel/poplevel/declare_parm_level.
- 	* c-lang.c: Override LANG_HOOKS_CLEAR_BINDING_STACK,
- 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK,
- 	and LANG_HOOKS_GETDECLS with do-nothing stubs.
- 	* objc/objc-lang.c: Likewise.
- 	* objc/objc-act.c: Adjust all calls to pushlevel, poplevel,
- 	get_parm_info.
- 	(OBJC_VOID_AT_END): Delete; replace all uses
- 	with void_list_node.
- 	(generate_forward_declaration_to_string_table): Delete.
- 	* objc/objc-act.h (OCTI_STRG_DECL, UOBJC_STRINGS_decl): Delete.
- 
- 	* coverage.c (create_coverage): Don't pushdecl anything.
- 	* langhooks.c (lhd_clear_binding_stack): Call
- 	lang_hooks.decls.poplevel, not poplevel.
- 	* tree.c (list_length): If ENABLE_TREE_CHECKING, abort on a
- 	circular list rather than going into an infinite loop.
- 
- 2004-03-23  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* optabs.c (expand_binop): When synthesizing double word rotates
- 	from single word shifts, use a new register target if the provided
- 	target is not a REG already.
- 
- 2004-03-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (get_alias_set): Add support for TYPE_REF_CAN_ALIAS_ALL.
- 	* c-common.c (handle_mode_attribute): Add extra arg to
- 	build_pointer_type_for_mode and build_reference_type_for_mode.
- 	* c-typeck.c (build_c_cast): Only look at TREE_CONSTANT_OVERFLOW
- 	for INTEGER_CST.
- 	* tree.c (build_pointer_type_for_mode): Add arg CAN_ALIAS_ALL.
- 	Chain pointers via TYPE_NEXT_PTR_TO.
- 	(build_reference_type_for_mode): Similarly.
- 	(build_type_no_quals): Add extra arg to build_pointer_type_for_mode
- 	and build_reference_type_for_mode.
- 	(tree_check4_failed): New function.
- 	* tree.h (TREE_CHECK4, PTR_OR_REF_CHECK): New macros.
- 	(TYPE_REF_CAN_ALIAS_ALL, TYPE_NEXT_PTR_TO, TYPE_NEXT_REF_TO): Likewise.
- 	(TREE_NO_UNSUED_WARNING, TREE_VIA_VIRTUAL, TREE_CONSTANT_OVERFLOW):
- 	Add check.
- 
- 2004-03-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
- 	A is nonnegative or B is nonnegative.  Similarly A|B is nonnegative
- 	when both A and B are nonnegative.
- 	(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
- 	nonzero.
- 
- 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST,
- 	VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR.
- 
- 2004-03-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR optimization/14669
- 	* fold-const.c (fold): Only unwiden integer comparisons for equality
- 	and inequality operators, or when the signedness doesn't change.
- 
- 2004-03-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
- 	* config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
- 	* config/sparc/t-linux: New file.
- 
- 2004-03-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcse.c (can_assign_to_reg_p): New function, split out from...
- 	(want_to_gcse_p): ...here.
- 	(compute_ld_motion_mems): Use can_assign_to_reg_p to validate
- 	the rhs of a store.
- 
- 2004-03-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* c-typeck.c (same_translation_unit_p): Fix pasto.
- 
- 2004-03-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* params.def (PARAM_MAX_SCHED_REGION_BLOCKS): New.
- 	(PARAM_MAX_SCHED_REGION_INSNS): New.
- 	* sched-rgn.c: Include params.h
- 	(MAX_RGN_BLOCKS): Delete.
- 	(MAX_RGN_INSNS): Delete.
- 	(too_large): Return bool.  Convert to PARAM_VALUE.
- 	* Makefile.in (sched-rgn.o): Depend on $(PARAMS_H).
- 	* doc/invoke.texi (param): Document max-sched-region-blocks and
- 	max-sched-region-insns.
- 
- 2004-03-22  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (is_subrange_type): Do not emit a subrange_type DIE
- 	for base types.
- 
- 2004-03-22  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (is_subrange_type): Minor code rework. No behavior
- 	change.
- 
- 2004-03-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/14069
- 	* c-decl.c (finish_struct): Change type of incorrect flexible array
- 	field into error_mark_node.
- 
- 2004-03-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/14580
- 	* config/rs6000/rs6000.c (symbol_ref_operand): Reject symbols
- 	who are not local for Darwin PIC.
- 
- 2004-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* regrename.c (regrename_optimize): Set regs_ever_live for all
- 	registers introduced as replacement.
- 
- 2004-03-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/14470
- 	* expr.c (mark_queue): New function.
- 	(emit_insns_enqueued_after_mark): New function replacing
- 	emit_queue.  Clear the body of emitted queued insns.
- 	(emit_queue): Call emit_insns_enqueued_after_mark.
- 	(store_expr): Mark the increment queue on entry.  Emit
- 	only the incrementations queued when expanding the source.
- 
- 2004-03-22  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Allow --disable-coverage-flags (for the future benefit
- 	of top level bootstrap, and consistency).  Reindent.
- 	* configure: Regenerate.
- 
- 2004-03-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c,
- 	ggc-page.c, integrate.c, var-tracking.c, web.c: Remove
- 	unnecessary casts.
- 
- 2004-03-22  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR target/14291
- 	* gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
- 	__MINGW32__.
- 
- 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*doloop_si"): Change predicate for operand 2
- 	to nonimmediate_operand.
- 	("*doloop_di"): Likewise.
- 
- 2004-03-21  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* real.h (struct real_value): Use the same type for all
- 	bitfields.  Rename exp to uexp.
- 	(REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
- 	Adjust all uses of exp...
- 	* builtins.c: ... here, ...
- 	* emit-rtl.c: ... here, and ...
- 	* real.c: ... and here.
- 
- 2004-03-21  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* pretty-print.c (pp_base_maybe_space): New function.
- 	* pretty-print.h (pp_base_maybe_space): Declare.
- 	(pp_maybe_space): New macro.
- 
- 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("addti3", "subti3"): New insns and splitters.
- 
- 2004-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
- 	of using register multiplication cost.
- 	(expand_mult): Adapt choose_mult_variant call.
- 	(expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
- 	of MODE; pass appropriate cost bound.  Adjust result when
- 	performing signed multiplication by a negative constant.
- 	Don't use intermediate modes larger than word_mode.
- 
- 2004-03-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.
- 	* emit-rtl.c (component_ref_for_mem_expr): Likewise.
- 	(set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR.
- 	* explow.c (expr_size): Likewise.
- 	* expr.h (placeholder_list, find_placeholder): Deleted.
- 	* expr.c (store_constructor): Likewise.
- 	(get_inner_reference): Likewise.  Also don't call find_placeholder.
- 	(placeholder_list, find_placeholder): Deleted.
- 	(is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR.
- 	(expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise.
- 	(highest_pow2_factor, case WITH_RECORD_EXPR): Remove.
- 	* dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise.
- 	* dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR):
- 	Likewise.
- 	* fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise.
- 	(extract_muldiv, case WITH_RECORD_EXPR): Likewise.
- 	* tree.c (expr_align, case WITH_RECORD_EXPR): Likewise.
- 	(contains_placeholder_p): Don't handle WITH_RECORD_EXPR.
- 	Clean up by using first_rtl_op.
- 	(substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call.
- 	(substitute_placeholder_in_expr): New function.
- 	* tree.def (WITH_RECORD_EXPR): Deleted.
- 	* tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New.
- 	(substitute_placeholder_in_expr): New.
- 
- 2004-03-21  Andrew Pinski  <pinskia@gcc.gnu.org>
- 
- 	* dojump.c (prefer_and_bit_test): Fix which part of
- 	the and_test is replaced.
- 
- 2004-03-21  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* frontends.texi: Add missing line.
- 
- 2004-03-21  Zack Weinberg  <zack@codesourcery.com>
- 	    Chris Devers  <cdevers@pobox.com>
- 	    Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/frontends.texi: Rewrite.
- 	* doc/gcc.texi: Update last modification date.
- 
- 2004-03-21  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
- 	message before redirecting the edge.
- 
- 2004-03-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
- 	flag.
- 	* explow.c (force_not_mem): Set REG_POINTER flag according to
- 	MEM_POINTER one.
- 	* rtl.h (MEM_POINTER): New macro.
- 	(struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
- 	for MEM_POINTER.
- 
- 2004-03-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/13889
- 	* cse.c (fold_rtx): Avoid substituting constants into unary
- 	conversion operations.
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Replace "expr" with "t".
- 
- 2004-03-20  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR c/12373
- 	* c-typeck.c (tagged_types_tu_compatible_p): Don't use
- 	DECL_ORIGINAL_TYPE if there isn't one.
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Replace "final_type" with "type".
- 	Remove variable "final_type".
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Constify "type".
- 	Replace "TREE_TYPE (t)" with "type".
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c,
- 	dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls
- 	via (*targetm.foo) () with targetm.foo ().
- 
- 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR other/14630
- 	* doc/install.texi: Add info directory category and entry.
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Replace "t" with "tem" where it is used
- 	as a temporary variable.  Remove "orig_t" and all of its uses.
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Remove variable "invert".
- 	Move the handling of relational expressions that can be folded
- 	to a constant ...
- 	(fold_relational_const): ... here.
- 	(tree_expr_nonzero_p): New.
- 
- 2004-03-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/14635
- 	* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
- 	DEF_GCC_BUILTIN.
- 
- 2004-03-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
- 	(GTFILES): Add $(srcdir)/dojump.h.
- 	(gt-dojump.h): New dependency.
- 	* dojump.c (and_reg, and_test, shift_test): New static variables.
- 	(prefer_and_bit_test): New function.
- 	(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
- 
- 2004-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, cfgcleanup.c, cgraphunit.c, c-pretty-print.c,
- 	expmed.c, ggc-common.c, jump.c, passes.c, recog.c, regmove.c,
- 	reorg.c, tree.h: Fix comment typos.
- 
- 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c, attribs.c, bt-load.c, builtins.c, c-common.c,
- 	c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c,
- 	cse.c, dbxout.c, dwarf2out.c, except.c, final.c,
- 	haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c,
- 	sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c,
- 	vmsdbgout.c: Replace calls via (*targetm.foo) () with
- 	targetm.foo ().
- 
- 2004-03-19  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
- 	vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
- 	always_inline attribute.
- 	* config/rs6000/rs6000.c (altivec_expand_dst_builtin):
- 	Treat expansion as completed even if literal argument is
- 	invalid (so that other expansions are not tried in vain).
- 
- 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* loop-doloop.c (add_test): Replace GEN_INT (0) with
- 	const0_rtx.
- 
- 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold) <ABS_EXPR>: Move the handling of constants
- 	...
- 	(fold_abs_const): ... here.
- 
- 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (TYPE_ARRAY_MAX_SIZE): Use type.maxval directly.
- 
- 2004-03-19  Denis Chertykov  <denisc@overta.ru>
- 
- 	PR target/11520
- 	* config/avr/avr.md ("call_insn"): Handle explicit integer
- 	specially.
- 	(call_value_insn): Likewise.
- 
- 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (substitute_in_expr): Rewrite to simplify and be more generic.
- 
- 2004-03-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (negate_expr): Move the handling of constants
- 	...
- 	(fold_negate_const): ... here.
- 
- 2004-03-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
- 	* langhooks.h (struct lang_hooks_for_types): New field hash_types.
- 	* tree.c (debug_no_type_hash): Deleted.
- 	(type_hash_canon): Abort if passed a variant.
- 	Check lang_hooks.types.hash_types.
- 	(build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE.
- 	(build_array_type): Remove unnecessary allocation of pointer type.
- 	(build_complex_type): Properly qualify resulting type.
- 
- 2004-03-19  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo.
- 
- 2004-03-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* expmed.c (choose_mult_variant, expand_mult_const): New, split from...
- 	(expand_mult): ...here.
- 	(extract_high_half): New, split out from expand_mult_highpart.
- 	(expand_highpart_optab): Likewise.  Don't clobber target prematurely.
- 	(expand_highpart): Evaluate the cost of a shift/add sequence,
- 	then see if any of the specialized optabs are cheaper.
- 
- 2004-03-18  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* mklibgcc.in: Remove obsolete MAYBE_USE_COLLECT2.
- 
- 2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* convert.c (convert_to_real): Add more math builtins.
- 
- 2004-03-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* convert.c (convert_to_real): Reformat using switch stmt.
- 
- 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (pointer_int_sum): Do not complain about using
- 	pointers to pointers-to-members.
- 
- 2004-03-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (MD_ASM_CLOBBERS): Move to "Old target macros that
- 	have moved to the target hooks structure".
- 
- 2004-03-18  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.md (type): Split move into arith and fmove.  Split
- 	hilo into mthilo and mfhilo.  Add trap.  Delete icmp.  Fix all uses.
- 	* config/mips/5400.md (ir_vr54_hilo, ir_vr54_arith, ir_vr54_fabs):
- 	Likewise.
- 	* config/mips/5500.md (ir_vr55_hilo, ir_vr55_arith, ir_vr55_fabs):
- 	Likewise.
- 	* config/mips/7000.md (rm7_int_other, rm7_mthilo, rm7_mfhilo,
- 	rm7_fp_quick): Likewise.
- 	* config/mips/9000.md (rm9k_int, rm9k_mfhilo, rm9k_mthilo,
- 	rm9k_fquick): Likewise.
- 	* config/mips/sr71k.md (ir_sr70_hilo, ir_sr70_arith, ir_sr70_fabs):
- 	Likewise.
- 	(ir_sr70_icmp): Delete.
- 
- 2004-03-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (TREE_CHECK2, TREE_CHECK3, TREE_CHECK5): New macros.
- 	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New decl.
- 	(FUNC_OR_METHOD_CHECK, SET_ARRAY_OR_VECTOR_CHECK): New macros.
- 	(REC_OR_UNION_CHECK, NUMERICAL_TYPE_CHECK): Likewise.
- 	(TYPE_VALUES, TYPE_DOMAIN, TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD):
- 	Protect with proper check.
- 	(TYPE_ARG_TYPES, TYPE_METHOD_BASETYPE, TYPE_OFFSET_BASETYPE): Likewise.
- 	(TYPE_MIN_VALUE, TYPE_MAX_VALUE): Likewise.
- 	* tree.c (type_hash_eq): Rewrite to access proper fields for each type.
- 	(tree_check2_failed, tree_check3_failed, tree_check5_failed): New.
- 	* c-typeck.c (build_array_ref): Use TYPE_DOMAIN, not TYPE_VALUES.
- 	* dwarf2out.c (gen_enumeration_type_die): Use TYPE_VALUES,
- 	not TYPE_FIELDS.
- 	* stor-layout.c (set_sizetype): Use TYPE_ORIG_SIZE_TYPE.
- 
- 2004-03-18  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* gcse.c (eliminate_partially_redundant_loads): Reject change if
- 	dest is set between beginning and current insn.
- 
- 2004-03-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-decl.c (grokdeclarator): Do not complain about redeclaring
- 	visible "static" identifiers "extern" in a local scope.
- 	* dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
- 	post-increments/decrements.
- 
- 2004-03-18  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (current_function_arg_words): Delete.
- 	(xtensa_builtin_saveregs): Use current_function_args_info.arg_words.
- 	(xtensa_va_start): Remove assignment to current_function_arg_words.
- 
- 2004-03-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* alias.c (record_set): Detect the case where a register is assigned
- 	a new value that has the same base term as the old one.
- 
- 2004-03-18  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* doloop.c: Removed.
- 	* loop-doloop.c: New file.
- 	* Makefile.in (doloop.o): Remove.
- 	(loop-doloop.o): New.
- 	* cfgloop.h (get_loop_level, doloop_optimize_loops): Declare.
- 	* cfgloopanal.c (get_loop_level): New function.
- 	* loop-iv.c (iv_number_of_iterations): Handle case when loop
- 	is leaved immediatelly.
- 	* loop.c (strength_reduce): Do not call doloop optimization.
- 	* loop.h (LOOP_BCT): Removed.
- 	* passes.c (rest_of_handle_loop_optimize): Do not use LOOP_BCT.
- 	(rest_of_handle_loop2): Call doloop_optimize_loops.
- 	(rest_of_compilation): Test for optimizations moved to
- 	rest_of_handle_loop2.
- 
- 2004-03-17  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
- 	for mixed mode.
- 	(rs6000_emit_prologue): Ditto.
- 	(rs6000_emit_epilogue): Ditto.
- 	* config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
- 	macro for mixed mode.
- 
- 2004-03-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (propagate_freq): Compute correctly frequency of
- 	EXIT_BLOCK.
- 
- 2004-03-17  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c (apply_args_size): Use reg_raw_mode.
- 	(apply_result_size): Ditto.
- 
- 2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- 
- 	PR target/14620
- 	* config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
- 
- 2004-03-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
- 	32-bit builds when defaulting to 32-bit.
- 
- 2004-03-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (rtl_create_basic_block): Pre-allocate basic_block_info
- 	array.
- 
- 2004-03-17  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.md (zero_extendsidi2): Add length attribute.
- 	(hazard_nop): Change type to nop.
- 	(type): Split arith into arith, shift, slt, clz.  Delete darith.
- 	Fix all uses.  Change arith to multi if more than one insn emitted.
- 	* config/mips/5400.md (ir_vr54_arith): Likewise.
- 	* config/mips/5500.md (ir_vr55_arith): Likewise.
- 	* config/mips/7000.md (rm7_int_other): Likewise.
- 	* config/mips/9000.md (rm9k_int): Likewise.
- 	* config/mips/sr71k.md (ir_sr70_arith): Likewise.
- 
- 2004-03-17  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (subrange_type_die): Define new variable "subtype"
- 	to hold the subtype tree instead of recomputing it several times.
- 
- 2004-03-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300.c (notice_update_cc): Don't handle
- 	CC_INVERT.
- 	* config/mn10300/mn10300.md (cc): Remove "invert".
- 
- 2004-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (integer_valued_real_p): Add builtin rint.
- 	(fold_builtin): Likewise.
- 	* convert.c (convert_to_real): Likewise.
- 
- 	* convert.c (convert_to_real): Fix typos in `long double'
- 	builtins.
- 
- 2004-03-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/14481
- 	* fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
- 	generated COMPOUND_EXPRs.
- 
- 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- 
- 	* config/h8300/t-rtems (h8300-*-rtems*): New.
- 
- 2004-03-16  Eric Christopher  <echristo@redhat.com>
- 
- 	* doc/cppopts.texi(fwide-exec-charset): Fix typo.
- 
- 2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386-protos.h: Add a prototype for
- 	ix86_reverse_condition.
- 	* config/i386/i386.c (ix86_reverse_condition): New.
- 	* config/i386/i386.h (REVERSE_CONDITION): Use
- 	ix86_reverse_condition.
- 	* config/i386/i386.md: Use ix86_reverse_condition instead of
- 	REVERSE_CONDITION.
- 
- 2004-03-16  J. Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Add handling for MIN_EXPR.
- 
- 2004-03-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR bootstrap/12974
- 	* Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
- 
- 2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c-common.c (c_common_type_for_mode): Build vector types on
- 	demand.
- 	(handle_mode_attribute): Deprecate using the mode attribute
- 	to create vector types.  Fix indentation.
- 	(vector_type_node_list): Remove.
- 	(handle_vector_size_attribute): Create vector types on demand.
- 	Strip a NON_LVALUE_EXPR from the attribute if there is one.
- 	* c-typeck.c (comptypes): Make vector types compatible if they
- 	have the same underlying mode.
- 	(convert_for_assignment): Use comptypes to convert between
- 	vector types.
- 	* tree.c (build_common_tree_nodes_2): Do not create vector types.
- 	* config/arm/arm.c (arm_init_iwmmxt_builtins): Create necessary
- 	vector types.
- 	* tree.h: Remove vector types.
- 	* config/i386/i386.c (i386_init_mmx_sse_builtins): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_init_builtins): Likewise.
- 	(V16QI_type_node, V2SI_type_node, V2SF_type_node, V4HI_type_node,
- 	V4SI_type_node, V4SF_type_node, V8HI_type_node): New globals.
- 	* doc/extend.texi (Vector Types): Document how to use the
- 	vector_size attribute to create vectors, rather than mode.
- 
- 	* config/arm/mmintrin.h: Use vector_size attribute, not mode.
- 	* config/i386/emmintrin.h: Likewise.
- 	* config/i386/mmintrin.h: Likewise.
- 	* config/i386/xmmintrin.h: Likewise.
- 	* config/sh/ushmedia.h: Likewise.
- 
- 2004-03-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/freebsd-spec.h, config/arc/arc-protos.h,
- 	config/arm/aout.h, config/arm/elf.h, config/arm/freebsd.h,
- 	config/arm/linux-gas.h, config/arm/semi.h,
- 	config/cris/cris-protos.h, config/i386/xm-djgpp.h,
- 	config/ia64/freebsd.h, config/mips/7000.md,
- 	config/mips/9000.md, config/ns32k/ns32k-protos.h,
- 	config/sparc/pbd.h: Update copyright.
- 
- 2004-03-16  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- 
- 	PR target/14577
- 	* config.gcc: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff.
- 
- 2004-03-16  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (combine_simplify_rtx): Remove the "last"
- 	parameter and its documentation.  Adjust recursive calls.
- 	(simplify_logical): Always perform the only simplification
- 	controlled by "last", if the simplified expression is
- 	actually different.
- 	(try_combine): Do not pass the "last" parameter to
- 	combine_simplify_rtx.
- 
- 2004-03-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/14599
- 	* config/mips/mips.md (UNSPEC_GP): New constant.
- 	* config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
- 	an UNSPEC instead of (reg $gp).
- 	(mips16_gp_pseudo_reg): Change accordingly.
- 	(print_operand): Print $gp directly when handling CONST_GP_P.
- 
- 2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
- 
- 	* config.gcc, config/m68k/linux.h: Implement with-cpu for m68k-linux.
- 	* longlong.h: Make code 68060 clean when compiling for m68060.
- 
- 2004-03-16  Richard Zidlicky  <rz@linux-m68k.org>
- 
- 	* config/m68k/m68k.md: Fix constraints for bitfield instructions.
- 	* doc/md.texi: Clarify description of "i" constraint.
- 
- 2004-03-15  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.md (type): Split load into load, fpload, fpidxload.
- 	Split store into store, fpstore, fpidxstore.  Fix all uses.
- 	* config/mips/5400.md (ir_vr54_load, ir_vr54_store, ir_vr54_fstore):
- 	Likewise.
- 	* config/mips/5500.md (ir_vr55_load, i5_vr55_store): Likewise.
- 	* config/mips/7000.md (rm7_ld, rm7_st): Likewise.
- 	* config/mips/9000.md (rm9k_load, rm9k_store): Likewise.
- 	* config/mips/sr71k.md (ir_sr70_load, ir_sr70_store, ir_sr70_fload,
- 	ir_sr70_fstore): Likewise.
- 
- 2004-03-15  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/14535
- 	* except.c (collect_one_action_chain): Record action for cleanup
- 	outer of exception spec.
- 
- 2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
- 	Fix the check for abort and only do the mmap if we can.
- 
- 2004-03-15  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* config/sparc/sparc.h: Rework comments about the code model
- 	in 64-bit environment and the mode 'Pmode'.
- 	* doc/invoke.texi (SPARC options): Rework description of the
- 	different code models supported in 64-bit environment.
- 
- 2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (REVERSIBLE_CC_MODE): Define.
- 	* jump.c (reversed_comparison_code_parts): Don't check if
- 	REVERSIBLE_CC_MODE is defined.
- 
- 2004-03-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c,
- 	et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h,
- 	hosthooks.h, params.h, ra-colorize.c, web.c,
- 	config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c,
- 	config/avr/avr-protos.h, config/avr/avr.md,
- 	config/fr30/fr30-protos.h, config/fr30/fr30.md,
- 	config/h8300/fixunssfsi.c, config/i386/darwin.h,
- 	config/i386/freebsd.h, config/i386/freebsd64.h,
- 	config/ia64/hpux.h, config/ia64/unwind-ia64.c,
- 	config/ip2k/libgcc.S, config/m32r/xm-m32r.h,
- 	config/mmix/mmix-modes.def, config/ns32k/netbsd.h,
- 	config/ns32k/ns32k.md, config/pa/pa64-hpux.h,
- 	config/pa/pa64-regs.h, config/rs6000/aix41.h,
- 	config/rs6000/aix43.h, config/rs6000/host-darwin.c,
- 	config/sparc/aout.h, config/sparc/freebsd.h,
- 	config/sparc/litecoff.h, config/vax/vax-protos.h,
- 	doc/hostconfig.texi, doc/include/gcc-common.texi: Update
- 	copyright.
- 
- 2004-03-15  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (thumb_expand_prologue): Tie prologue insns to fp.
- 
- 2004-03-15  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-pretty-print.c (pp_c_semicolon): Fix formatting.
- 	(pp_c_cv_qualifier): Document.
- 	(pp_c_space_for_pointer_operator): Likewise.
- 	(pp_c_integer_constant): Likewise.
- 	(pp_c_identifier): Likewise.
- 	(pp_c_init_declarator): Don't print function body.
- 
- 2004-03-14  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
- 	doc/install.texi, doc/invoke.texi, doc/makefile.texi,
- 	doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
- 	"gcc", "g++" and "g77" or mark up with appropriate markup.  Adjust
- 	wording and grammar.
- 
- 2004-03-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* alias.c (get_alias_set): Replace calls via (*lang_hooks.foo) ()
- 	with lang_hooks.foo ().
- 	* builtins.c (expand_builtin_va_arg): Likewise.
- 	* c-common.c (fname_as_string, c_common_truthvalue_conversion,
- 	c_common_type_for_mode, c_common_nodes_and_builtins,
- 	handle_mode_attribute, handle_vector_size_attribute): Likewise.
- 	* c-convert.c (convert): Likewise.
- 	* c-format.c (check_format_types): Likewise.
- 	* c-objc-common.c (c_tree_printer): Likewise.
- 	* c-typeck.c (build_unary_op, build_conditional_expr,
- 	build_binary_op): Likewise.
- 	* calls.c (try_to_integrate, expand_call,
- 	emit_library_call_value_1): Likewise.
- 	* cgraph.c (cgraph_node_name, cgraph_function_possibly_inlined_p):
- 	Likewise.
- 	* cgraphunit.c (record_call_1, cgraph_analyze_function,
- 	cgraph_expand_function): Likewise.
- 	* convert.c (convert_to_pointer, convert_to_integer): Likewise.
- 	* coverage.c (build_fn_info_type, build_ctr_info_type,
- 	build_gcov_info, create_coverage): Likewise.
- 	* dbxout.c (dbxout_init): Likewise.
- 	* diagnostic.c (diagnostic_report_current_function): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* dwarf2out.c (dwarf2_name): Likewise.
- 	* except.c (init_eh): Likewise.
- 	* explow.c (expr_size, int_expr_size): Likewise.
- 	* expmed.c (make_tree, const_mult_add_overflow_p, expand_mult_add):
- 	Likewise.
- 	* expr.c (store_expr, store_constructor, safe_from_p,
- 	expand_expr_real, do_store_flag, try_casesi): Likewise.
- 	* function.c (push_function_context_to, pop_function_context_from,
- 	free_after_parsing, assign_stack_local_1, assign_stack_temp_for_type,
- 	put_var_into_stack, allocate_struct_function, current_function_name):
- 	Likewise.
- 	* integrate.c (copy_decl_for_inlining, expand_inline_function):
- 	Likewise.
- 	* langhooks.c (lhd_clear_binding_stack, write_global_declarations,
- 	lhd_print_error_function): Likewise.
- 	* opts.c (handle_option, decode_options): Likewise.
- 	* passes.c (open_dump_file): Likewise.
- 	* print-tree.c (print_node): Likewise.
- 	* stmt.c (expand_fixup, fixup_gotos, expand_asm_operands,
- 	expand_decl_cleanup, emit_case_nodes): Likewise.
- 	* stor-layout.c (variable_size): Likewise.
- 	* toplev.c (announce_function, wrapup_global_declarations,
- 	check_global_declarations, compile_file, default_tree_printer,
- 	process_options, lang_dependent_init, finalize): Likewise.
- 	* tree-dump.c (dequeue_and_dump): Likewise.
- 	* tree-inline.c (remap_decl, remap_block, copy_body_r,
- 	initialize_inlined_parameters, declare_return_variable,
- 	inlinable_function_p, expand_call_inline, optimize_inline_calls,
- 	walk_tree, copy_tree_r): Likewise.
- 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
- 	* tree.c (decl_assembler_name, tree_size, size_in_bytes, staticp,
- 	unsafe_for_reeval, get_unwidened, get_narrower, get_callee_fndecl,
- 	variably_modified_type_p, dump_tree_statistics): Likewise.
- 	* varasm.c (assemble_variable, compare_constant, copy_constant,
- 	force_const_mem, compute_reloc_for_constant, output_constant,
- 	output_addressed_constants, initializer_constant_valid_p): Likewise.
- 
- 2004-03-14  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/install.texi: Make autoconf 2.13 the exception, not the rule.
- 
- 2004-03-14  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* doc/install.texi: Reflect autoconf and automake version for
- 	libffi. Update autoconf version to 2.59.
- 
- 2004-03-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_expr, operand_equal_for_comparison_p,
- 	optimize_bit_field_compare, decode_field_reference, all_ones_mask_p,
- 	make_range, build_range_check, fold_range_test, unextend,
- 	constant_boolean_node, fold_binary_op_with_conditional_arg,
- 	fold_truthop, fold_mathfn_compare, fold_inf_compare,
- 	fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) ()
- 	with lang_hooks.foo ().
- 
- 2004-03-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Update comment.
- 
- 2004-03-13  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	* doc/install.texi: Note status of -fnew-ra.
- 
- 2004-03-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/14470
- 	* expr.c (store_expr): Call emit_queue before generating the move
- 	from the temporary to the original target.  Protect the temporary
- 	from emit_queue.
- 
- 2004-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/14533
- 	* config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
- 	other than UNSPEC_GOTOFF.
- 
- 2004-03-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_legitimate_address_p): New argument, OUTER.  Pass through
- 	to arm_legitimate_index_p.  Update all callers with SET as default
- 	value.
- 	(arm_legitimate_index_p): New argument, OUTER.  Restrict the index
- 	range if OUTER is a sign-extend operation on QImode.  Correctly
- 	reject shift operations on sign-extended QImode addresses.
- 	(bad_signed_byte_operand): Delete.
- 	(arm_extendqisi_mem_op): New function.
- 	* arm.h (EXTRA_CONSTRAINT_ARM): Delete.  Replace with...
- 	(EXTRA_CONSTRAINT_STR_ARM): ... this.  Handle extended address
- 	constraints.
- 	(CONSTRAINT_LEN): New.
- 	(EXTRA_CONSTRAINT): Delete.  Replace with...
- 	(EXTRA_CONSTRAINT_STR): ... this.
- 	(PREDICATE_CODES): Remove bad_signed_byte_operand.
- 	* arm.md (extendqihi_insn): Use new constraint Uq.  Rework.  Length
- 	is now always default.
- 	(define_splits for bad sign-extend loads): Delete.
- 	(arm_extendqisi, arm_extendqisi_v5): Likewise.
- 	* arm/vfp.md (arm_movsi_vfp, arm_movdi_vfp, movsf_vfp, movdf_vfp):
- 	Rework 'U' constraint to 'Uv'.
- 	* arm-protos.h: Remove bad_signed_byte_operand.  Add
- 	arm_extendqisi_mem_op.
- 	* doc/md.texi (ARM constraints): Rename VFP constraint (now Uv).
- 	Add Uq constraint.
- 
- 2004-03-13  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Replace SPLIT_COMPLEX_ARGS
- 	with targetm version.
- 
- 	PR target/14567
- 	* config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
- 	(HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
- 	* config/rs6000/rs6000.c (rs6000_arg_size): New function.
- 	Update all users of RS6000_ARG_SIZE.
- 	(function_arg_advance): Count fregno using mode size.
- 	(function_arg): Handle long double split over regs and memory.
- 	(function_arg_partial_nregs): Likewise.
- 	(rs6000_va_arg): Repackage complex args.
- 
- 2004-03-13  Dean Ferreyra <dferreyra@igc.org>
- 
- 	PR target/14047
- 	* config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
- 	(avr_insert_attributes): Pass "attributes" to avr_progmem_p.
- 	* config/avr/avr-protos.h (avr_progmem_p): Change prototype.
- 
- 2004-03-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
- 	prototype.
- 	* config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
- 
- 2004-03-12  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
- 	Use ret instead of result. Use addr instead of base.
- 
- 2004-03-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Document assembler and achiver
- 	fixes required by libstdc++ and update installation instructions
- 	for libstdc++.a.
- 
- 2004-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (i386_pe_strip_name_encoding_full): Strip
- 	leading '@' on fastcall symbols before stripping suffix.
- 
- 2004-03-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (unmentioned_reg_p): New function to check whether an
- 	expression is a "specialization" of another, i.e. that there are
- 	no registers or memory references mentioned in the first that don't
- 	appear in the second.
- 	(unmentioned_reg_p_1): New helper subroutine of unmentioned_reg_p.
- 	(combine_instructions): Also try combining instructions using the
- 	REG_EQUAL note from a preceding log-linked instruction.
- 
- 2004-03-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
- 
- 2004-03-12  Matt Austern  <austern@apple.com>
- 
- 	* target.h (struct gcc_target): New target hook, unwind_label.
- 	* target-def.h (TARGET_ASM_EMIT_UNWIND_LABEL): New hook.
- 	* output.h (default_emit_unwind_label): New function.
- 	* default.h (TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): New macro.
- 	(TARGET_USES_WEAK_UNWIND_INFO): New target macro.
- 	(TARGET_SUPPORTS_HIDDEN): New target macro.
- 	* dwarf2out.c (struct dw_fde_struct): Add field for function decl
- 	that corresponds to this FDE.
- 	(FRAME_BEGIN_LABEL): Allow target to override default label.
- 	(output_call_frame_info): If FDEs are linknonce, then use extra
- 	indirection for FDE encoding, output a label for each FDE, and
- 	output an empty label for each function without an FDE.
- 	(dwarf2out_begin_prologue): Set up decl field when creating an FDE.
- 	* varasm.c (globalize_decl): Call ASM_MAKE_LABEL_LINKONCE for
- 	decls with DECL_ONE_ONLY set, if that macro is defined.
- 	(make_decl_one_only): Don't use DECL_COMMON if we're compiling
- 	for a SUPPORTS_ONE_ONLY target.
- 	* config/darwin-protos.h (darwin_unique_section): Declare.
- 	(darwin_asm_named_section): Likewise.
- 	(darwin_section_type_flags): Likewise.
- 	(darwin_non_lazy_pcrel): Likewise.
- 	(darwin_emit_unwind_label): Likewise.
- 	(darwin_make_decl_one_only): Likewise.
- 	* config/darwin.c (machopic_finish): Get rid of tweak that
- 	eliminate stubs for symbols that are defined.
- 	(darwin_encode_section_info): Don't treat weak functions as defined.
- 	(darwin_make_decl_one_only): Define.
- 	(darwin_asm_named_section): Likewise.
- 	(darwin_section_type_flags): Likewise.
- 	(darwin_unique_section): Likewise.
- 	(darwin_emit_unwind_label): Likewise.
- 	(darwin_non_lazy_pcrel): Likewise.
- 	(darwin_asm_output_dwarf_delta): Difference between two labels is
- 	local only if both labels are local.
- 	* config/darwin.h (MAKE_DECL_ONE_ONLY): Define.
- 	(ASM_MAKE_LABEL_LINKONCE): Likewise.
- 	(TARGET_SUPPORTS_HIDDEN): Likewise.
- 	(TARGET_USES_WEAK_UNWIND_INFO): Likewise.
- 	(TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY): Likewise.
- 	(FRAME_BEGIN_LABEL): Likewise.
- 	(ASM_DECLARE_OBJECT_NAME): Make references to weak symbols indirect.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(darwin_eh_frame_section): Give __eh_frame section the coalesced flag.
- 	(TARGET_ASM_UNIQUE_SECTION): Define.
- 	(EH_FRAME_SECTION_NAME): Define.
- 	(EH_FRAME_SECTION_ATTR): Likewise.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
- 	(TARGET_ASM_NAMED_SECTION): Likewise.
- 	(TARGET_SECTION_TYPE_FLAGS): Likewise.
- 	* doc/tm.texi: Document TARGET_USES_WEAK_UNWIND_INFO,
- 	TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, TARGET_SUPPORTS_HIDDEN,
- 	TARGET_ASM_EMIT_UNWIND_LABEL.
- 
- 2004-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_mathfn): Add pow10* to the
- 	existing exp10* case.
- 	(expand_builtin): Likewise.
- 
- 2004-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/tm.texi (registers) <Values in Registers>: Add
- 	entry for REGMODE_NATURAL_SIZE.
- 
- 2004-03-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/14547
- 	* target.h (struct gcc_target): Move calls substructure before
- 	booleans.  Add split_complex_arg.
- 	* function.c (assign_parms, split_complex_args): Use it.
- 	* calls.c (expand_call): Likewise.
- 	(split_complex_values): Likewise.  Check for splittable types
- 	before allocating memory.
- 	(split_complex_types): Likewise.
- 	* system.h (SPLIT_COMPLEX_ARGS): Poison.
- 	* expr.h (SPLIT_COMPLEX_ARGS): Remove.
- 	* target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
- 	* config/alpha/alpha.c (alpha_split_complex_arg): New.
- 	(TARGET_SPLIT_COMPLEX_ARG): New.
- 	* config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
- 	* config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
- 	(rs6000_override_options): Zap it for non-AIX.
- 	(rs6000_function_value): Use targetm.calls.split_complex_arg.
- 	* config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
- 	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
- 	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
- 	* doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
- 	SPLIT_COMPLEX_ARGS entry.
- 
- 2004-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (xfloating_ops, vax_cvt_ops): New.
- 	(alpha_lookup_xfloating_lib_func): Use them, return rtx.
- 	(alpha_emit_xfloating_arith): Update to match.
- 	(alpha_emit_xfloating_compare): Likewise.
- 	(alpha_emit_xfloating_cvt): Likewise.
- 	(alpha_emit_xfloating_libcall): Take already built symbol,
- 	mark call const.
- 	* config/alpha/alpha.md (extendsftf2, extenddftf2): Take
- 	op1 in a register.
- 
- 2004-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/14539
- 	* config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
- 
- 	* simplify-rtx.c (simplify_relational_operation): Fix typo.
- 
- 2004-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/14477
- 	* except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
- 
- 2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR target/14262
- 	* calls.c (load_register_parameters): If BLOCK_REG_PADDING is not
- 	defined, pass small BLKmode values in registers in the low-order part.
- 
- 2004-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (if_then_else_cond): Check for NULL return value of
- 	simplify_gen_subreg.
- 
- 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/14496
- 	* config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
- 	TARGET_SINGLE_FLOAT.
- 
- 2004-03-11  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (TARGET_INIT_LIBFUNCS): Add undef.
- 	* config/ia64/ia64.h (TARGET_INIT_LIBFUNCS): Add define.
- 	* config/ia64/ia64.c (ia64_init_libfuncs): New.
- 	(ia64_hpux_init_libfuncs): Add call to ia64_init_libfuncs.
- 
- 2004-03-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize
- 	-((int)X>>C) where C is an integer constant one bit less than the
- 	size of X into (unsigned)X>>C.  Similarly for unsigned->signed.
- 	(negate_expr) <RSHIFT_EXPR>: Implement the above transformations.
- 
- 	* simplify-rtx.c (simplify_unary_operation): Also implement the
- 	above transformations at the RTL level.
- 
- 2004-03-11  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* real.c (encode_ibm_extended): Do round low word.
- 
- 2004-03-11  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/arm.md (is_xscale): Comment this attribute and move
- 	it a bit further up in the file, closer to related attributes.
- 
- 2004-03-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/host-solaris.c (sol_gt_pch_use_address): Add
- 	missing terminating marker to comment.
- 
- 2004-03-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Use move_operand in splitters for 64-bit moves.
- 	(movdi, movsi, movhi, movqi, movsf, movdf): Remove predicates.
- 	(*movdi_32bit_mips16, *movsi_mips16, *movhi_mips16, *movqi_mips16)
- 	(*movsf_mips16, *movdf_mips16):  Name unnamed patterns.  Use
- 	move_operand as source predicate in all cases.
- 	(*movdi_32bit): Renamed from movdi_internal.  Remove 'F' constraint.
- 	Test reg_or_0_operand.  Use move_operand as source predicate.
- 	(*movdi_64bit): Renamed from movdi_internal2.  Test reg_or_0_operand.
- 	(*movdi_64bit_mips16): Renamed from movdi_internal2_mips16.
- 	(*movsi_internal): Renamed from movsi_internal.  Test reg_or_0_operand.
- 	(movhi, movqi, movsf, movdf): Use mips_legitimize_move.
- 	(*movhi_internal): Renamed from movhi_internal.  Test reg_or_0_operand.
- 	Use move_operand as source predicate.  Remove 'K' constraint.
- 	(*movqi_internal): Likewise movqi_internal.
- 	(*movsf_hardfloat): Renamed from movsf_internal1.  Test
- 	reg_or_0_operand.  Use move_operand as source predicate.
- 	(*movsf_softfloat): Likewise movsf_internal2.
- 	(*movdf_hardfloat_64bit): Likewise movsf_internal1a.
- 	(*movdf_hardfloat_32bit): Likewise movsf_internal1b.
- 	(*movdf_softfloat): Likewise movdf_internal2.
- 	* config/mips/mips.c (move_operand): Match arbitrary CONST_INTs
- 	for DImode if !TARGET_64BIT.
- 	(mips_legitimize_move): Simplify accordingly.
- 
- 2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/14362
- 	* var-tracking.c (struct variable_def): Added field refcount.
- 	(variable_htab_free): Decrease the refcount and delete variable
- 	only if there are no more references.
- 	(unshare_variable): New function.
- 	(vars_copy_1): Increase refcount instead of copying the variable.
- 	(variable_union): Share the variables where possible, unshare
- 	the variables if needed.
- 	(variable_different_p): Return false if var1 and var2 are
- 	the same structure.
- 	(variable_was_changed): Init the refcount of new variable.
- 	(set_frame_base_location): Unshare variable if needed.
- 	(set_variable_part): Init the refcount of new variable.
- 	Unshare the variables if needed.
- 	(delete_variable_part): Unshare the variables if needed.
- 	(emit_notes_for_differences_1): Init the refcount of new variable.
- 	(vt_add_function_parameters): Do not add function parameters to
- 	IN set of ENTRY_BLOCK_PTR because it is unused anyway.
- 	(vt_initialize): Do not add frame_base_decl to IN set of
- 	ENTRY_BLOCK_PTR because it is unused anyway.
- 
- 2004-03-11  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c (vars_copy_1): Cleanup and speedup chain operations.
- 	(vars_copy): Likewise.
- 	(variable_union): Likewise.
- 	(set_variable_part): Likewise.
- 	(delete_variable_part): Likewise.
- 
- 2004-03-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-typeck.c, combine.c, cse.c, dominance.c, et-forest.h,
- 	ggc-page.c, var-tracking.c, config/fp-bit.c, config/c4x/c4x.c,
- 	config/cris/cris.c, config/i386/ppro.md, config/i860/i860.c,
- 	config/i860/i860.h, config/m32r/m32r.h, config/m32r/xm-m32r.h,
- 	config/m68hc11/m68hc11.h, config/m68hc11/m68hc11.md,
- 	config/mips/mips.c, config/mmix/mmix.c, config/ns32k/ns32k.h,
- 	config/pa/pa.c, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
- 	config/pdp11/pdp11.h, config/rs6000/rs6000.c,
- 	config/stormy16/stormy16.c: Fix comment typos and formatting.
- 
- 2004-03-11  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure: Regenerate, since I forgot to while committing Paolo's
- 	changes.
- 
- 2004-03-08  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR ada/14131
- 	Move language detection to the top level.
- 	* configure.ac: Remove code to detect languages,
- 	it now lives exclusively in the top level.
- 	* aclocal.m4 (gcc_AC_PROG_GNAT): Moved to the
- 	top level, renamed to ACX_PROG_GNAT.
- 
- 2004-03-10  Richard Henderson  <rth@redhat.com>
- 
- 	* c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
- 	extra arguments.
- 	* config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj
- 	and host_xmake_file fragments.
- 	* ggc-common.c (gt_pch_save): Update for gt_pch_get_address change.
- 	(gt_pch_restore): Similarly for gt_pch_use_address.
- 	(default_gt_pch_get_address): New.
- 	(mmap_gt_pch_get_address): Split out of gt_pch_save.
- 	(default_gt_pch_use_address): Split out of gt_pch_restore.
- 	(mmap_gt_pch_use_address): Likewise.
- 	* hooks.c (hook_voidp_size_t_null): Remove.
- 	(hook_bool_voidp_size_t_false): Remove.
- 	* hooks.h: Likewise.
- 	* hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the
- 	default_ or mmap_ definitions.
- 	(HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise.
- 	* hosthooks.h (struct host_hooks): Update gt_pch_get_address
- 	and gt_pch_use_address.
- 	* config/host-linux.c, config/host-solaris.c: New files.
- 	* config/x-linux, config/x-solaris: New files.
- 	* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_get_address):
- 	Update for changed definition.
- 	(darwin_rs6000_gt_pch_use_address): Likewise.
- 	* doc/hostconfig.texi: Update docs.
- 
- 2004-03-10  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/14517
- 	* c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
- 	except for pedantic c90 mode.
- 
- 2004-03-10  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* configure.ac: Bump AC_PREREQ to 2.59.
- 	* configure: Regenerate.
- 
- 2004-03-10  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_exp10 and OTI_exp2.
- 	(exp10_optab, exp2_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize exp10_optab and exp2_optab.
- 	* genopinit.c (optabs): Implement exp10_optab and exp2_optab
- 	using exp10?f2 and exp2?f2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP10{,F,L}
- 	using exp10_optab, and BUILT_IN_EXP2{,F,L} using exp2_optab.
- 	(expand_builtin): Expand BUILT_IN_EXP10{,F,L} and BUILT_IN_EXP2{,F,L}
- 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* config/i386/i386.md (exp10sf2, exp10df2, exp10xf2, exp2sf2,
- 	exp2df2, exp2xf2): New patterns to implement exp10, exp10f, exp10l,
- 	exp2, exp2f and exp2l built-ins as inline x87 intrinsics.
- 
- 2004-03-10  Anthony Green  <green@redhat.com>
- 
- 	* doc/invoke.texi (ARM Options): Fix -mpfu typo.
- 
- 2004-03-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix.h (TARGET_OS_CPP_BUILTINS): Rename to ...
- 	(TARGET_OS_AIX_CPP_BUILTINS): this.  Conditionally define
- 	__LONGDOUBLE128.
- 	* config/rs6000/aix41.h (TARGET_OS_CPP_BUILTINS): Use
- 	TARGET_OS_AIX_CPP_BUILTINS.
- 	* config/rs6000/aix43.h (TARGET_OS_CPP_BUILTINS): Same.
- 	* config/rs6000/aix51.h (TARGET_OS_CPP_BUILTINS): Same.
- 	* config/rs6000/aix52.h (TARGET_OS_CPP_BUILTINS): Same.
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Revert
- 	previous change.
- 
- 2004-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.
- 
- 2004-03-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- 	__LONGDOUBLE128 on AIX.
- 
- 2004-03-10  Andrew Haley  <aph@redhat.com>
- 
- 	PR optimization/14381
- 	* function.c (expand_function_end): Emit a blockage insn before
- 	the epilogue when -fnon-call-exceptions is used.
- 
- 	* except.c (expand_start_all_catch): Make comment more accurate.
- 
- 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
- 
- 	PR target/14480
- 	* config/rs6000/t-rtems: Add missing file on branch.
- 
- 2004-03-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* dbxout.c (dbxout_symbol_location): Do not output references
- 	to optimized-out constant pool symbols.
- 
- 2004-03-10  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
- 	twon34_r.
- 
- 2004-03-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	* alias.c (alias_sets_might_conflict_p): New.
- 	* c-typeck.c (build_c_cast): Call it if warn_strict_aliasing > 1.
- 	* common.opt (Wstrict-aliasing=): New.
- 	* flags.h (warn_strict_aliasing): Change type to int.
- 	* opts.c (warn_strict_aliasing): Change type to int.
- 	(common_handle_option): Handle OPT_Wstrict_aliasing_.
- 	* tree.h (alias_sets_might_conflict_p): Declare it.
- 	* doc/invoke.tex (-Wstrict-aliasing=2): Document it.
- 
- 2004-03-10  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	PR bootstrap/12371
- 	* config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
- 	(CALL_USED_REGISTERS): Likewise.
- 	(REG_CLASS_CONTENTS): Likewise.
- 	(REG_ALLOC_ORDER): New.
- 	(REGNO_REG_CLASS): Use regno_reg_class.
- 	* config/m68k/m68k.c: Add regno_reg_class array.
- 
- 2004-03-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.md (divsi3): Fix algorithm.
- 	  (udivsi3): Ditto.
- 	  (setf_exp_xf): Remove '*' from name.
- 	* testsuite/gcc.dg/20040309-1.c: New test.
- 
- 2004-03-09  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* system.h (SUNOS4_SHARED_LIBRARIES): Poison.
- 	* collect2.c: Remove SUNOS4_SHARED_LIBRARIES code.
- 	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): Don't define.
- 	* config/sparc/sparc.c (sparc_aout_select_section): Remove.
- 	(sparc_aout_select_rtx_section): Don't check
- 	SUNOS4_SHARED_LIBRARIES.
- 	* config/sparc/sparc.h (SUNOS4_SHARED_LIBRARIES): Don't define.
- 
- 2004-03-10  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR other/14474
- 	* doc/md.texi (Pattern Ordering, Dependent Patterns)
- 	(Jump Patterns, Looping Patterns): Wrap in separate "@ifset
- 	INTERNALS".
- 
- 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
- 	(LIBGCC_SPEC): Update to match.
- 
- 2004-03-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (last_function_parms, last_function_parm_tags)
- 	(last_function_parm_others, current_function_parms)
- 	(current_function_parm_tags, current_function_parm_others):
- 	Delete.
- 	(ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES, ARG_INFO_OTHERS):
- 	New macros.
- 	(grokdeclarator): For function definitions, save the arg-info
- 	block from the declarator in DECL_ARGUMENTS.
- 	(grokparms): Do not write to last_function_parm*.  Use ARG_INFO_*
- 	macros to operate on arg-info block.  Can assume ARG_INFO_PARMS
- 	contains only PARM_DECLs.  Improve diagnostics.
- 	(get_parm_info): Use ARG_INFO_* macros.  Improve comments and
- 	diagnostics.  Disable some expensive checks if not ENABLE_CHECKING.
- 	(store_parm_decls_newstyle): Take the function to operate on,
- 	and an arg-info block, as arguments; don't get anything from
- 	current_function_* globals.
- 	(store_parm_decls_oldstyle): Likewise.
- 	(store_parm_decls): Pass fndecl and its arg-info block down to
- 	store_parm_decls_newstyle/oldstyle.  Send functions with empty
- 	argument lists through store_parm_decls_newstyle to reduce
- 	overhead.
- 	(pushdecl): Comment on the problems with the call to copy_node.
- 	Clear DECL_ARGUMENTS of the old node after copying it, if it
- 	is an arg-info block instead of a chain of decls.
- 	(start_function): Do not manipulate current_function_parm* or
- 	last_function_parm*.
- 
- 2004-03-09  Roger Sayle  <roger@eyesopen.com>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* ifcvt.c (noce_try_sign_mask): New function to transform
- 	"x = (y < 0) ? z : 0" into the equivalent "x = (y >> C) & z".
- 	(noce_process_if_block): Call noce_try_sign_mask.
- 
- 2004-03-09  Andrew Pinski  <apinski@apple.com>
- 
- 	* c-typeck.c (tagged_types_tu_compatible_p):
- 	Fix typo.
- 
- 2004-03-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_const_relational_operation): New function
- 	renamed from simplify_relational_operation.
- 	(simplify_relational_operation): Change prototype to accept an
- 	additional mode argument.  Call simplify_const_relational_operation.
- 	(simplify_gen_relational): Update simplify_relational_operation call.
- 	(simplify_ternary_operation): Update simplify_relational_operation
- 	subroutine call to use simplify_const_relational_operation instead.
- 
- 	* rtl.h (simplify_const_relational_operation): Prototype here.
- 	(simplify_relational_operation): Add addtional mode argument.
- 
- 	* combine.c (combine_simplify_rtx): Update calls to
- 	simplify_relational_operation.
- 	(simplify_set): Likewise.
- 	(gen_binary): Likewise.
- 	* cse.c (fold_rtx): Likewise.
- 	* dojump.c (compare_from_rtx): Likewise.
- 	(do_compare_rtx_and_jump): Likewise.
- 	* integrate.c (subst_constants): Likewise.
- 	* unroll.c (simplify_cmp_and_jump_insns): Likewise.
- 
- 2004-03-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Remove all define_peephole's.
- 
- 2004-03-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: Remove trailing whitespace.
- 
- 2004-03-08  Eric Christopher  <echristo@redhat.com>
- 
- 	* Makefile.in (site.exp): Add libiconv variable definition.
- 
- 2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* configure: Regenerate for config/accross.m4 correction.
- 
- 2004-03-08  Joel Sherrill  <joel@oarcorp.com>
- 
- 	PR target/14480
- 	* config/rs6000/t-rtems: Add missing file on branch.
- 
- 2004-03-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/14289
- 	* c-typeck.c (c_mark_addressable): A register variable should
- 	be considered global if its not automatic, i.e. TREE_PUBLIC,
- 	TREE_STATIC or DECL_EXTERNAL.
- 	* function.c (put_var_into_stack): Call abort when placing a
- 	hard register into the stack, if x_parm_reg_stack_loc is NULL.
- 
- 2004-03-08  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
- 	("*extendqisi2_short_displ"): Likewise.
- 
- 2004-03-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/pdp11/pdp11.c (comparison_operator_index): Remove.
- 	(comp_operator): Likewise.
- 	* config/pdp11/pdp11-protos.h: Remove corresponding
- 	prototypes.
- 
- 2004-03-08  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* expr.c (highest_pow2_factor_for_type): Rename into
- 	highest_pow2_factor_for_target.  Use DECL_ALIGN instead of
- 	TYPE_ALIGN when the target is a COMPONENT_REF.
- 	(expand_assignment): Ajust call to highest_pow2_factor_for_type.
- 
- 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c: Formatting fix.
- 	(legitimate_offset_address_p): Correct offset range check.
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
- 	-msoft-float by -mcpu.  Consolidate similar code for MASK_MULTIPLE
- 	and MASK_STRING.
- 
- 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
- 	for little endian.
- 	("ashrdi3_no_power"): Disable for little endian.
- 	(ashrdi3): Same.
- 
- 2004-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Reformat checks for
- 	builtins.
- 
- 2004-03-08  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/14471
- 	* configure.ac (Target-specific assembler checks) <cris-*-*>: New
- 	case, checking for -no-mul-bug-abort option.
- 	* configure, config.in: Regenerate.
- 	* doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
- 	and -mno-mul-bug-workaround.
- 	* config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
- 	("mulsidi3", "umulsidi3"): Prefix output template with "%!".
- 	("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
- 	Ditto.  Make attribute "slottable" dependent on TARGET_MUL_BUG.
- 	* config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
- 	sure mulu.d is not last on cache-line.
- 	* config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
- 	into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
- 	(TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
- 	(TARGET_SWITCHES): New options -mmul-bug-workaround and
- 	-mno-mul-bug-workaround.
- 	(TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
- 	* config/cris/cris.c (cris_operand_extend_operator): Clarify
- 	relation to MULT in head comment.
- 	(cris_op_str): Abort for MULT.
- 	(cris_print_operand) <case '!'>: New case.
- 
- 2004-03-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR debug/11983
- 	* dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
- 	dw_val_class_vec.  Replace use throughout file.
- 	(dw_float_const): Delete.
- 	(dw_vec_const): New.
- 	(dw_val_struct_union): Rename val_float to val_vec.  Replace use
- 	throughout file.
- 	(add_AT_vec): Rename from add_AT_float.  Add elt_size param.
- 	(same_dw_val_p): Adjust vec comparison.  Use memcmp.
- 	(size_of_die): Adjust dw_val_class_vec sizing.
- 	(output_die): Output dw_val_class_vec.
- 	(insert_int, extract_int, insert_float): New functions.
- 	(add_const_value_attribute): Use insert_float for CONST_DOUBLE.
- 	Handle CONST_VECTOR.
- 	(add_location_or_const_value_attribute): Handle CONST_VECTOR.
- 
- 2004-03-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
- 	AltiVec abi cannot co-exist.
- 
- 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
- 
- 2004-03-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* except.c (emit_to_new_bb_before):  Break fallthru edges.
- 
- 2004-03-07  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
- 	("*lshrsi3"): Also accept an immediate for 68HC12.
- 	("*ashrsi3_const"): Likewise.
- 	("*ashrsi3"): Likewise.
- 	("*ashlsi3_const"): Likewise.
- 	("*ashlsi3"): Likewise.
- 	("cmphi_1_hc12"): Compare two hard register by pushing them and
- 	comparing with a pop; don't use a split for that.
- 	("cmphi split"): Disable compare split for 68HC12.
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
- 	the status operands if they have side effects.
- 
- 2004-03-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (LEGITIMIZE_ADDRESS): Provide a default
- 	definition.
- 	* config/arc/arc.h, config/fr30/fr30.h, config/frv/frv.h,
- 	config/h8300/h8300.h, config/ia64/ia64.h,
- 	config/mcore/mcore.h, config/mmix/mmix.h,
- 	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
- 	config/stormy16/stormy16.h, config/v850/v850.h,
- 	config/vax/vax.h (LEGITIMIZE_ADDRESS): Remove.
- 	* doc/tm.texi (LEGITIMIZE_ADDRESS): Mention the default
- 	definition.
- 
- 2004-03-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <IOR_EXPR>: Fold x | x as x.
- 	<XOR_EXPR>: Fold x ^ x as zero.
- 	<AND_EXPR>: Fold x & x as x.
- 
- 2004-03-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
- 	"foo++ == const" into "++foo == const+incr".
- 
- 2004-03-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_in_small_data_p): Return false if
- 	TARGET_ABICALLS.
- 
- 2004-03-06  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
- 	the stack register.
- 	(expand_prologue): Don't make an interrupt or a trap handler a far
- 	symbol.
- 	(m68hc11_initial_elimination_offset): Likewise.
- 
- 2004-03-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
- 
- 2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ns32k/ns32k-protos.h: Add a prototype for
- 	ns32k_notice_update_cc.
- 	* config/ns32k/ns32k.c (ns32k_notice_update_cc): New.
- 	* config/ns32k/ns32k.h (NOTICE_UPDATE_CC): Call
- 	ns32k_notice_update_cc.
- 
- 2004-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("load_multiple", "*load_multiple_di",
- 	"*load_multiple_si"): Allow only if reload_completed.
- 	("store_multiple", "*store_multiple_di", "*store_multiple_si"):
- 	Likewise.
- 
- 2004-03-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/vax/vax-protos.h: Add a prototype for
- 	vax_notice_update_cc.
- 	* config/vax/vax.c (vax_notice_update_cc): New.
- 	* config/vax/vax.h (NOTICE_UPDATE_CC): Call
- 	vax_notice_update_cc.
- 
- 2004-03-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (main): Only export initfunc and finifunc if
- 	LD_INIT_SWITCH not defined.
- 	(scan_prog_file): Only export constructors and destructors if
- 	LD_INIT_SWITCH not defined.  Only export symbols not found in
- 	shared objects.
- 
- 2004-03-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md (icacheflush): Reorder operands to make match_scratch operand
- 	last.
- 	* pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
- 	from calls to gen_icacheflush.
- 
- 2004-03-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
- 	(TARGET_LONG_DOUBLE_128): New.
- 	(TARGET_SWITCHES): Add long-double-{128,64}.
- 	(TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
- 	(LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
- 	(WIDEST_HARDWARE_FP_SIZE): New.
- 	(TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
- 	* config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
- 	if TARGET_VAX_FLOAT.
- 	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
- 	(TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
- 
- 2004-03-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_swapped_comparison_operator): Fix
- 	botched rtx class conversion.
- 
- 2004-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P,
- 	BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros.
- 
- 	* builtins.c (fold_builtin_logarithm, fold_builtin): Use new
- 	macros.
- 	* fold-const.c (fold_mathfn_compare, fold): Likewise.
- 
- 2004-03-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/14343
- 	* config/i386/i386.md (movv2di_internal): Conditionalize on
- 	TARGET_SSE, not TARGET_SSE2.
- 
- 2004-03-05  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mips64orion-*-elf*, mips64orionel-*-elf*): Delete
- 	duplicated line.
- 
- 2004-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c: Consistently use logN not log* in comments.
- 
- 2004-03-05  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* rtl.h (mem_expr_equal_p): Function prototype added.
- 	* cfgcleanup.c (merge_memattrs): New function.
- 	(flow_find_cross_jump): Call merge_memattrs for matching insns.
- 	* emit-rtl.c (mem_expr_equal_p): New function.
- 
- 2004-03-05  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (synth_module_prologue): Const-qualify
- 	objc_selector type if using the GNU runtime; fix generated
- 	signatures for objc_msg_lookup and objc_msg_lookup_super
- 	to match what GNU ObjC headers provide; reformat and clean up.
- 	(synth_self_and_ucmd_args): Use previously constructed (and
- 	hence possibly const-qualified) objc_selector type.
- 
- 2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi (HARD_REGNO_RENAME_OK): Document.
- 
- 2004-03-05  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (TYPE_HASH): Use TYPE_UID.
- 	(TREE_HASH): New macro with old definition of TYPE_HASH.
- 	* tree.c (build_type_attribute_variant): Use iterative_hash_object.
- 	(build_array_type, build_function_type): Likewise.
- 	(build_method_type_directly): Likewise.
- 	(build_offset_type, build_complex_type): Likewise.
- 	(type_hash_list, attribute_hash_list): Likewise. Now static.
- 	* except.c: s/TYPE_HASH/TREE_HASH/.
- 
- 2004-03-05  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
- 	(xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32).  Adjust
- 	__va_ndx by 2 words when referencing an argument on the stack.
- 	(xtensa_va_arg): Handle 16-byte aligned args.  Adjust __va_ndx by 2
- 	words when an arg on the stack is first seen.
- 
- 2004-03-05  Paul Brook  <paul@codesourcery.com>
- 
- 	* arm.h (ARM_FLAG_VFP): Remove.
- 	(ARM_FLAG_ATPCS, CIRRUS_FIX_INVALID_INSNS): Renumber.
- 	* netbsd-elf.h (ARM_FLAG_VFP): Remove.
- 
- 2004-03-05  Paul Brook  <paul@codesourcery.com>
- 
- 	* function.c (assign_parms): Include pretend alignment offset.
- 
- 2004-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_type, case FUNCTION_TYPE): Make size
- 	FUNCTION_BOUNDARY, not POINTER_SIZE * 2.
- 
- 2004-03-05  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* configure.ac: When passing --enable-languages to subdir
- 	configure when host != build, make sure we don't pass an empty
- 	value.
- 	* configure: Regenerate.
- 
- 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR 13577
- 	* gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
- 	options.
- 
- 2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* simplify-rtx.c (simplify_relational_operation): If
- 	flag_wrapv is set, do not move terms between the two
- 	side of a relational operator.
- 
- 2004-03-05  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* rtlanal.c: Include target.h and output.h
- 	(rtx_cost, address_cost, default_address_cost): Move from...
- 	* cse.c (rtx_cost, address_cost, default_address_cost):
- 	... this file.
- 	* rtl.h (rtx_cost, address_cost): Move under rtlanal.c.
- 	* Makefile.in: Adjust dependencies.
- 
- 2004-03-05  Paolo Bonzini <bonzini@gnu.org>
- 
- 	* cse.c (cse_end_of_basic_block): Make static.
- 	* local-alloc.c (function_invariant_p): Move to
- 	reload1.c.
- 	* loop.c (libcall_other_reg, record_excess_regs):
- 	Make static.
- 	* reload1.c (function_invariant_p): Moved here
- 	from local-alloc.c, made static.
- 	* rtl.h (cse_end_of_basic_block, function_invariant_p,
- 	libcall_other_reg, record_excess_regs): Remove
- 	declarations.
- 
- 2004-03-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.c (signed_comparison_operator): Add a
- 	missing parenthesis.
- 
- 2004-03-04  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* ggc-common.c (gt_pch_restore): Don't unmap addr unless we are
- 	going to call mmap again.  Read the file into the right place.
- 	Give a fatal error if we have to relocate.
- 
- 2004-03-04  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
- 	(TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
- 
- 2004-03-05  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR other/14354
- 	* config/fp-bit.c (_fpdiv_parts): Do not round when pack_d would
- 	round the same.  When rounding, clear bits that would cause a
- 	second rounding in pack_d.
- 	(_fpmul_parts): Ditto.  Remove #if 0:d code.
- 
- 2004-03-04  Ziemowit Laski  <zlaski@apple.com>
- 
- 	PR c++/14425, c++/14426
- 	* config/rs6000/altivec.h (vec_splat_s8, vec_splat_s16,
- 	vec_splat_s32, vec_splat_u8, vec_splat_u16, vec_splat_u32):
- 	Change C++ definitions to accept a 'const int' argument;
- 	the prototypes already do.
- 	* config/rs6000/rs6000.c (rs6000_common_init_builtins):
- 	Rename v4si_ftype_char, v8hi_ftype_char, v16qi_ftype_char,
- 	v4sf_ftype_v4si_char, v4si_ftype_v4sf_char, v4si_ftype_v4si_char,
- 	v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
- 	v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
- 	v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
- 	end in ..._int; change them to accept an int instead of a char
- 	as the last parameter.
- 
- 2004-03-04  Phil Edwards  <phil@codesourcery.com>
- 
- 	* genmultilib:  Change '=' to '-' when translating option names
- 	to directory names.
- 
- 2004-03-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr_real, case COMPONENT_REF): Get proper type of
- 	stack slot for temp used for result of BLKmode but in integral mode.
- 
- 2004-03-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload.c (find_reloads): Reorganize if seqeunce to switch.
- 
- 	* cfgrtl.c (rtl_redirect_edge_and_branch):  Set the source BB as dirty.
- 	(cfglayout_redirect_edge_and_branch):  Set the source BB as dirty.
- 
- 2004-03-04  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.md (divdf3_internal_thr): Fix algorithm.
- 	* testsuite/gcc.dg/20040303-1.c: New test.
- 
- 2004-03-04  Steven Bosscher  <stevenb@suse.de>
- 
- 	* ppro.md: Rewrite as a DFA pipeline description.
- 	* i386.md: Remove all uses of the ppro_uops attribute.
- 	* i386.c: (ix86_safe_ppro_uops, ix86_dump_ppro_packet,
- 	ix86_reorder_insn, ix86_sched_reorder_ppro, ix86_sched_init,
- 	ix86_sched_reorder, ix86_variable_issue,
- 	struct ix86_sched_data, TARGET_SCHED_VARIABLE_ISSUE,
- 	TARGET_SCHED_INIT, TARGET_SCHED_REORDER): Remove.
- 	(ia32_use_dfa_pipeline_interface): Add TARGET_PENTIUMPRO.
- 	(ia32_multipass_dfa_lookahead): Add TARGET_PENTIUMPRO.
- 	* athlon.md (athlon_ssecmp_load): Fix comment
- 
- 2004-03-04  Stuart Hastings  <stuart@apple.com>
- 
- 	* gcc/doc/invoke.texi: Document -mlongcall for Darwin/PPC.
- 
- 2004-03-04  Stuart Hastings  <stuart@apple.com>
- 
- 	* gcc/config/i386/darwin.h: Darwin/x86 doesn't support CPUs before
- 	686, tell Darwin assembler to allow prefetch insns, non-empty def
- 	of SUBTARGET_OPTION_TRANSLATE_TABLE.
- 
- 2004-03-04  DJ Delorie  <dj@redhat.com>
- 
- 	PR optimization/14282
- 	* sched-deps.c (sched_analyze_insn): Allow a stack adjustment
- 	between a call and the assignment of its return value.
- 
- 2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Put a comment for every function.
- 
- 2004-03-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Add comments about peephole2's.
- 
- 2004-03-04  Steven Bosscher  <stevenb@suse.de>
- 
- 	* i386.h (TARGET_CPU_DEFAULT_nocona): Fix value.
- 
- 2004-03-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (thread_jump): Update call of cselib_init.
- 	* cselib.c (cselib_record_memory): New static variable.
- 	(cselib_lookup_mem, cselib_record_set, cselib_record_sets):
- 	Give up on memories when asked for.
- 	(cselib_init): Accept new argument.
- 	* cselib.h (cselib_init): Update prototype.
- 	* gcse.c (local_cprop_pass): Update call of cselib_init.
- 	* loop.c (load_mems): Update call of cselib_init.
- 	* postreload.c (reload_cse_regs_1): Update call of cselib_init.
- 	* sched-deps.c (sched_analyze): Update call of cselib_init.
- 
- 2004-03-04  David Edelsohn  <edelsohn@gnu.org>
- 	    GP <gp@qnx.com>
- 
- 	* config/rs6000/rs6000.c (output_function_profiler): Append @plt
- 	when compiling PIC.
- 
- 2004-03-04  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/14362
- 	* var-tracking.c (track_expr_p): Do not track variables which
- 	should be ignored for debugging purposes.
- 
- 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* real.c (encode_ibm_extended): Don't bother rounding low double.
- 	* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
- 	when fmt->pnan < fmt->p.
- 
- 2004-03-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
- 	only range of valid arg registers and fixed_regs.
- 
- 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/14406
- 	* config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
- 	(abstf2, abstf2_internal): New define_expand.
- 
- 2004-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/14235
- 	* expr.c (convert_move): Copy the source to a new pseudo
- 	when converting from a sub-word source to a larger-than-word
- 	register which conflicts with the source.
- 
- 2004-03-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 13728
- 	* c-decl.c (diagnose_mismatched_decls): Issue an error for two
- 	parameters with the same name, unless one is a forward decl.
- 	Do not issue a redundant-redeclaration warning for forward
- 	decls of parameters.
- 
- 2004-03-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
- 	configuration.
- 
- 2004-03-03  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* ggc-zone.c (ggc_pch_write_object): Don't align file pointer.
- 
- 2004-03-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* target-def.h (TARGET_OPTF): Delete.
- 	* c-opts.c (TARGET_OPTF): Define.
- 
- 2004-03-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (cselib_finish): Fix another miss-application of my previous
- 	patch.
- 
- 2004-03-03  Mike Stump  <mrs@apple.com>
- 
- 	Add framework support for darwin.
- 
- 	* c-incpath.c: Include target.h and machmode.h.
- 	(add_path): Use a consistent style for cpp_dir.  Initialize
- 	p->construct to 0.
- 	(add_cpp_dir_path): New.
- 	(register_include_chains): Add use of extra_includes callback.
- 	(hook_void_int): Add.
- 	(target_c_incpath): Add.
- 	* c-incpath.h (add_cpp_dir_path): New.
- 	(target_c_incpath_s): Add.
- 	(target_c_incpath): Add.
- 	(C_INCPATH_INIT): Add.
- 	* c-opts.c (c_common_missing_argument,
- 	c_common_handle_option): Add -F argument processing.
- 	* c.opt: Add -F argument processing.
- 	* gcc.c (trad_capable_cpp): Add -F argument processing.
- 	* cppfiles.c (find_file_in_dir): Update to use construct
- 	callback.
- 	(search_path_exhausted, cpp_get_path, cpp_get_buffer,
- 	cpp_get_prev): New.
- 	(_cpp_find_file): Use search_path_exhausted.
- 	(make_cpp_dir): Initialize construct to 0.
- 	* cpplib.h (missing_header_cb
- 	cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
- 	(cpp_callbacks): Add missing_header
- 	(cpp_dir): Add construct.
- 	* target-def.h: (TARGET_OPTF): New.
- 	* hooks.c (hook_void_int, hook_void_charptr): Add.
- 	* hooks.h (hook_void_int, hook_void_charptr): Add.
- 	* Makefile.in (c-incpath.o) : Add $(TARGET_H) and
- 	$(MACHMODE_H) dependencies.
- 	* doc/invoke.texi (Darwin Options): Document -F.
- 	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
- 	(TARGET_OPTF): Add.
- 	* fix-header.c (target_c_incpath): Add.
- 
- 	* config/darwin-c.c: Add c-incpath.h include.
- 	(using_frameworks, find_subframework_file,
- 	find_subframework_header, add_system_framework_path,
- 	frameworks_in_use, num_frameworks, max_frameworks,
- 	add_framework, find_framework, struct framework_header,
- 	framework_header_dirs, framework_construct_pathname,
- 	find_subframework_file, add_system_framework_path,
- 	add_framework_path, framework_defaults,
- 	darwin_register_frameworks, find_subframework_header): Add.
- 	* config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
- 	(TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
- 	(CPP_SPEC): Add __APPLE_CC__ support.
- 	* t-darwin (darwin-c.o): Add c-incpath.h dependency.
- 
- 2004-03-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (cselib_finish): Fix miss-application of my previous
- 	patch.
- 
- 2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* hooks.c (hook_tree_tree_identity): New.
- 	* hooks.h: Add a prototype for hook_tree_tree_identity.
- 	* stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
- 	instead of MD_ASM_CLOBBERS.
- 	* system.h (MD_ASM_CLOBBERS): Poison.
- 	* target-def.h (TARGET_MD_ASM_CLOBBERS): New.
- 	(TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
- 	* target.h (gcc_target): Add md_asm_clobbers.
- 	* config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
- 	(ix86_md_asm_clobbers): New.
- 	* config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
- 	* doc/tm.texi (MD_ASM_CLOBBERS): Change to
- 	TARGET_MD_ASM_CLOBBERS.
- 
- 2004-03-03  Stuart Hastings  <stuart@apple.com>
- 
- 	* gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
- 
- 2004-03-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (noov_compare64_op): Fix typo.
- 
- 	* config/sparc/sparc.h (ASM_FLOAT): Delete.
- 	(ASM_DOUBLE): Likewise.
- 	(ASM_LONGDOUBLE): Likewise.
- 	* config/sparc/pbd.h (ASM_INT_OP): Delete.
- 
- 2004-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/13862
- 	* cselib.c (cselib_record_sets): Don't record multiple sets in
- 	asm insns.
- 
- 2004-03-03  Mostafa Hagog  <mustafa@il.ibm.com>
- 
- 	* common.opt: Add description of the new -fgcse-after-reload flag.
- 
- 	* flags.h (flag_gcse_after_reload): Declaration of global variable.
- 
- 	* gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
- 	reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
- 	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
- 	get_bb_avail_insn, hash_scan_set_after_reload,
- 	compute_hash_table_after_reload, eliminate_partially_redundant_loads,
- 	gcse_after_reload, get_bb_avail_insn): New functions to implement
- 	gcse-after-reload.
- 	(gcse_after_reload_main): New function, the main entry point to
- 	gcse-after-reload.
- 
- 	* rtl.h (gcse_after_reload_main): Declaration of the new function.
- 
- 	* opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
- 
- 	* toplev.c (flag_gcse_after_reload): Initialization.
- 
- 	* passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
- 
- 	* params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
- 	PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
- 	the gcse after reload optimization.
- 
- 	* params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
- 	GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
- 	parameters.
- 
- 	* doc/invoke.texi: Documentation for the new flag gcse-after-reload.
- 
- 2004-03-03  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
- 	small negative values.
- 
- 2004-03-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (hash_table):  Remove GTY marker.
- 	(reg_values): Turn into array.
- 	(used_regs): Likewise.
- 	(n_used_regs): New static variable.
- 	(reg_values_old): Kill.
- 	(clear_table): Update uses of arrays.
- 	(cselib_lookup): Likewise.
- 	(cselib_record_set): Likewise.
- 	(cselib_init): Likewise.
- 	(cselib_finish): Likewise.
- 	(cselib_udpate_varray_sizes): Kill.
- 	* cselib.h (cselib_update_varray_sizes): Kill.
- 
- 2004-03-03  Paul Brook  <paul@codesourcery.com>
- 
- 	* flow.c (ior_reg_cond, and_reg_cond): Remove stray ")".
- 
- 2004-03-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
- 	Rename from ...; make statistics transparent.
- 	(ggc_alloc_cleared, ggc_realloc_stat): ... these.
- 	(loc_descriptor): New structure.
- 	(hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
- 	add_statistics):
- 	New static function.
- 	(ggc_record_overhead, dump_statistics): New global function.
- 	* ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
- 	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
- 	from ...; accept locations
- 	(ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
- 	ggc_realloc, ggc_alloc_typed):  ... this one.
- 	from ...; accept locations
- 	* ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
- 	ggc_alloc_stat): Rename from ... ; pass locations
- 	* ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
- 	... this one.
- 	(ggc_alloc_stat): Record overehead.
- 	* ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
- 	ggc_realloc, ggc_alloc_typed):  Turn to macros
- 	(ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
- 	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
- 	(dump_ggc_loc_satistics, ggc_record_overehead): Declare.
- 	* langhooks.h (lhd_make_node): Declare.
- 	(LANG_HOOKS_MAKE_TYPE): Default to new function,
- 	* langhooks.c (lhd_make_node): New.
- 	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
- 	locations.
- 	(rtx_alloc, swallow_copy_rtx): ... this one.
- 	* rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
- 	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
- 	* toplpev.c (finalize): Dump stats.
- 	* tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
- 	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
- 	Rename from ... ; pass locators.
- 	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
- 	build?,  build_decl): Declare.
- 	* tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
- 	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
- 	Declare.
- 	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
- 	build?,  build_decl): New macros.
- 	* Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
- 	* statistics.h: New file.
- 
- 2004-03-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 	    Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_FIX_SB1): Bump.
- 	(MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
- 	(TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
- 	* config/mips/mips.c (mips_output_division): Fill the branch delay
- 	slot with a nop if TARGET_FIX_R4000.  Extend R4000 workarounds to
- 	TARGET_FIX_R4400.
- 	(mips_output_division): Adjust accordingly.
- 	(override_options): Make -march=r4400 imply -mfix-r4400 by default.
- 	* doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
- 
- 2004-03-03  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* alias.c (rtx_equal_for_memref_p): Use predicates
- 	to test rtx classes and new rtx class codes, possibly
- 	splitting conditionals that tested against '<' and 'o'.
- 	* caller-save.c (save_call_clobbered_regs): Likewise.
- 	* combine.c (contains_muldiv, find_split_point, subst,
- 	combine_simplify_rtx, simplify_if_then_else,
- 	simplify_set, simplify_logical, expand_compound_operation,
- 	make_compound_operation, if_then_else_cond, known_cond,
- 	apply_distributive_law, cached_nonzero_bits,
- 	cached_num_sign_bit_copies, simplify_shift_const,
- 	gen_binary, simplify_comparison, update_table_tick,
- 	record_value_for_reg, get_lsat_value_validate): Likewise.
- 	* cse.c (mention_regs, find_best_addr, find_comparison_args,
- 	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
- 	Likewise.
- 	* emit-rtl.c (copy_insn_1): Likewise.
- 	* expr.c (force_operand): Likewise.
- 	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
- 	* flow.c (notice_stack_pointer_modification_1,
- 	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
- 	and_reg_cond, elim_reg_cond): Likewise.
- 	* function.c (update_epilogue_consts): Likewise.
- 	* genattrtab.c (attr_rtx_1): Likewise.
- 	* genopinit.c (gen_insn): Likewise.
- 	* integrate.c (subst_constants): Likewise.
- 	* jump.c (reversed_comparison_code_parts,
- 	reversed_comparison_code, delete_related_insns,
- 	rtx_renumbered_equal_p): Likewise.
- 	* local-alloc.c (block_alloc): Likewise.
- 	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
- 	canonicalize_condition): Likewise.
- 	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
- 	Likewise.
- 	* optabs.c (add_equal_node, expand_binop): Likewise.
- 	* predict.c (estimate_probability): Likewise.
- 	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
- 	* recog.c (validate_replace_rtx_1, comparison_operator,
- 	offsettable_address_p, constrain_operands): Likewise.
- 	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
- 	Likewise.
- 	* regclass.c (scan_one_insn): Likewise.
- 	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
- 	* regrename.c (kill_autoinc_value): Likewise.
- 	* reload.c (find_reusable_reload, find_reloads,
- 	reg_overlap_mentioned_for_reload_p): Likewise.
- 	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
- 	* rtl.c (copy_rtx): Likewise.
- 	* rtl.h (CONSTANT_P, INSN_P): Likewise.
- 	* rtlanal.c (commutative_operand_precedence): Likewise.
- 	* sched-deps.c (conditions_mutex_p): Likewise.
- 	* sched-rgn.c (is_cfg_nonregular): Likewise.
- 	* simplify-rtx.c (simplify_gen_binary,
- 	simplify_gen_relational, simplify_replace_rtx,
- 	simplify_unary_operation, simplify_binary_operation,
- 	simplify_ternary_operation, simplify_rtx): Likewise.
- 	* unroll.c (reg_dead_after_loop): Likewise.
- 	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
- 	print_operand): Likewise.
- 	* config/arc/arc.c (proper_comparison_operator): Likewise.
- 	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
- 	Likewise.
- 	* config/avr/avr.c (_reg_unused_after): Likewise.
- 	* config/frv/frv.c (frv_ifcvt_modify_tests,
- 	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
- 	* config/i386/i386.c (ix86_comparison_operator,
- 	ix86_carry_flag_operator, fcmov_comparison_operator,
- 	arith_or_logical_operator, print_operand,
- 	ix86_expand_binary_operator, ix86_binary_operator_ok):
- 	Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/ia64/ia64.c (not_postinc_memory_operand,
- 	ia64_print_operand, update_set_flags, errata_emit_nops):
- 	Likewise.
- 	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
- 	CONSTRAINT_OK_FOR_S): Likewise.
- 	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
- 	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
- 	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
- 	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
- 	Likewise.
- 	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
- 	eqne_comparison_operator, signed_comparison_operator):
- 	Likewise.
- 	* config/mips/mips.c (cmp_op, symbolic_expression_p):
- 	Likewise.
- 	* config/mmix/mmix (mmix_foldable_comparison_operator,
- 	mmix_comparison_operator): Likewise.
- 	* config/pa/pa.c (hppa_legitimize_address): Likewise.
- 	* config/rs6000/rs6000.c (stmw_operation,
- 	branch_comparison_operator, trap_comparison_operator,
- 	ccr_bit): Likewise.
- 	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
- 	* config/s390/s390.c (s390_alc_comparison,
- 	s390_slb_comparison):L Likewise.
- 	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
- 	Likewise.
- 	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
- 	noov_compare_op, noov_compare64_op, v9_regcmp_op,
- 	emit_hard_tfmode_operation, reg_unused_after)
- 	* doc/md.texi, doc/rtl.texi: Likewise.
- 
- 	* ra-debug.c: Add 2004 to list of copyright years.
- 	* unroll.c: Likewise.
- 
- 	* combine.c (simplify_logical): Remove dummy test,
- 	(apply_distributive_law): Fix typo in comment.
- 	GET_CODE (x) == AND so x is a commutative binary op.
- 	* jump.c (delete_related_insns): simplify loop
- 	condition, move testing of RTX codes inside the loop.
- 	(rtx_renumbered_equal_p): do not use RTX_CODE.
- 	* rtl.c (rtx_class): Declare as enum rtx_class.
- 	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
- 	Move to RTX_COMM_COMPARE class.
- 	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
- 	Move to RTX_CONST_OBJ class.
- 	* rtl.h (enum rtx_class): New declaration,
- 	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
- 	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
- 	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
- 	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
- 	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
- 	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
- 	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
- 	OBJECT_P): New macros.
- 	* config/sparc/sparc.c (noov_compare_op): Remove register
- 	from parameter.
- 
- 2004-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* target.h: Remove texi jargons in comments.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
- 	threshold to 0x4f.
- 
- 	Revert:
- 	2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
- 	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
- 	as well.
- 	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
- 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/md.texi (cbranchmode4): New.
- 
- 2004-03-02  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips16.S: Change fixsfsi and fixdfsi to
- 	fix_trunc.
- 	* config/mips/mips.c (mips_init_libfuncs): Change accordingly.
- 	* config/mips/t-elf (LIB1ASMFUNCS): Ditto.
- 	* config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
- 	* config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
- 
- 2004-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/11767
- 	* coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
- 	* optabs.c (prepare_cmp_insn): Force trapping memories to registers
- 	before the compare, if flag_non_call_exceptions.
- 
- 2004-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/14327
- 	* stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
- 	emitting the label, not after.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
- 	(m68hc11_mov_addr_mode): Likewise.
- 	(m68hc11_override_options): Initialize them based on target.
- 	(register_indirect_p): Allow a MEM for indirect addressing modes and
- 	use flags to control what is allowed.
- 	(m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
- 	supported addressing modes.
- 	(m68hc11_register_indirect_p): Use m68hc11_addr_mode.
- 	(go_if_legitimate_address_internal): Likewise.
- 	(m68hc11_indirect_p): Likewise and check the mode.
- 	(print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c (BUILTIN_SETJMP_FRAME_VALUE): Remove.
- 	(expand_builtin_setjmp_setup): Use
- 	targetm.builtin_setjmp_frame_value instead of
- 	BUILTIN_SETJMP_FRAME_VALUE.
- 	* system.h (BUILTIN_SETJMP_FRAME_VALUE): Poison.
- 	* target-def.h (TARGET_BUILTIN_SETJMP_FRAME_VALUE): New.
- 	(TARGET_INITIALIZER): Add TARGET_BUILTIN_SETJMP_FRAME_VALUE.
- 	* target.h (gcc_target): Add builtin_setjmp_frame_value.
- 	* targhooks.c (default_builtin_setjmp_frame_value): New.
- 	* targhooks.h: Add a prototype for
- 	default_builtin_setjmp_frame_value.
- 	* doc/tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Change to
- 	TARGET_BUILTIN_SETJMP_FRAME_VALUE.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
- 	sequences of moves.
- 	(add peepholes): New peepholes to optimize sequences adding small
- 	constants.
- 	(bset peepholes): New peepholes to transform an OR in a bset form
- 	(bclr peepholes): Likewise for bclr form.
- 	(cmp peepholes): New peepholes to avoid register copies when comparing.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
- 	to separate push from moves.
- 	("*pushdf_internal"): Likewise.
- 	("*pushsf_internal"): Likewise.
- 	("*pushsi_internal"): Likewise.
- 	("movdi_internal"): Use define_insn_and_split; non push operand.
- 	("movdf_internal"): Likewise.
- 	("movsf_internal"): Likewise.
- 	("movsi_internal"): Likewise.
- 	("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
- 	("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
- 	("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
- 	("cmphi_z_used", "cmpqi_z_used"): Likewise.
- 	("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
- 	("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
- 	("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
- 	("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
- 	("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
- 	("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
- 	("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
- 	("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
- 	("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
- 	(SOFT_XY_REGNUM): Define.
- 	(cmp split): Use the above instead of hard coded numbers.
- 	(8-bit op split): No need to check the mode; allow Q_REG.
- 	(ashift split): Adjust the first operand if it uses the SP and we
- 	are pushing the shifted value.
- 	(plus shift split): Fix when a source is in register D+X.
- 	("doloop_end"): Pass dummy arguments to gen_rtx_NE.
- 
- 2004-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
- 	comparing with Z register.
- 
- 2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.h (struct loop_desc): Removed.
- 	(struct loop): Fields simple, desc and has_desc removed.
- 	(simple_loop_p, count_loop_iterations): Declaration removed.
- 	* cfgloopanal.c (struct unmark_altered_insn_data): Removed.
- 	(unmark_altered, blocks_invariant_registers, unmark_altered_insn
- 	blocks_single_set_registers, invariant_rtx_wrto_regs_p_helper,
- 	invariant_rtx_wrto_regs_p, test_for_iteration, constant_iterations,
- 	simple_loop_exit_p, variable_initial_value, variable_initial_values,
- 	simple_condition_p, simple_increment, count_strange_loop_iterations,
- 	inverse, fits_in_mode_p, simple_loop_p, count_loop_iterations):
- 	Removed.
- 	* loop-iv.c (check_simple_exit, find_simple_exit): Update comments.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genattrtab.c: Don't handle MATCH_INSN.
- 	* genrecog.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* rtl.def (match_insn): Remove.
- 	* doc/md.texi (match_insn, match_insn2): Remove.
- 
- 2004-03-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/c-tree.texi (DECL_ASSEMBLER_NAME): Mention that using this
- 	macro results in memory allocation.
- 
- 2004-03-02  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
- 	* config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
- 	%(fbsd_dynamic_linker),
- 	(LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
- 	config/i386/freebsd.h
- 	* config/arm/freebsd.h: Ditto.
- 	* config/i386/freebsd.h: Ditto.
- 	* config/i386/freebsd64.h: Ditto.
- 	* config/ia64/freebsd.h: Ditto.
- 	* config/rs6000/sysv4.h: Ditto.
- 	* config/sparc/freebsd.h: Ditto.
- 
- 2004-03-02  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* gcc/doc/install.texi (*-*-freebsd*): Update target information.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* rtl.def (define_combine): Remove.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Tweak formatting.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*cmphi_h8300): Rename to
- 	*cmphi_h8300_znvc.
- 	(*cmphi_h8300hs): Rename to *cmphi_h8300hs_znvc.
- 
- 2004-03-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR bootstrap/14356
- 	* gcc.c (process_command): Remove const-qualification from argv.
- 	(main): Likewise.
- 
- 2004-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (pushqi1_h8300hs): Rename to
- 	pushqi1_h8300hs_advanced.  Adjust its caller.
- 	(pushhi1_h8300hs): Rename to pushhi1_h8300hs_advanced.
- 	Adjust its caller.
- 
- 2004-03-02  Nicolas Roche  <roche@act-europe.fr>
- 
- 	* Makefile.in (install-libgcc, install-multilib): Pass
- 	mkinstalldirs var to libgcc.mk.
- 
- 2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (DBX_OUTPUT_STANDARD_TYPES): Poison.
- 	* doc/tm.texi (DBX_OUTPUT_STANDARD_TYPES): Remove.
- 
- 2004-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (gtle_operator): Accept GT and LE.
- 	* config/h8300/h8300.md: Split several peephole2's, each into
- 	two.
- 
- 2004-03-02  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* dominance.c (recount_dominator): Handle postdominators.
- 
- 2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (enum mips_symbol_type): Move from mips.h.
- 	(NUM_SYMBOL_TYPES): Likewise.
- 	(SYMBOL_64_HIGH, SYMBOL_64_MID, SYMBOL_64_LOW): New symbol types.
- 	(mips_unspec_address): Declare.
- 	(mips_gotoff_page, mips_gotoff_global): Delete.
- 	* config/mips/mips.h (PREDICATE_CODES): Add general_symbolic_operand.
- 	* config/mips/mips.c (enum mips_symbol_type, NUM_SYMBOL_TYPES): Delete.
- 	(mips_symbolic_constant_p, mips_symbolic_address_p)
- 	(mips_symbol_insns): Handle new symbol types.
- 	(general_symbolic_operand): New predicate.
- 	(mips_unspec_address): Make extern.
- 	(mips_gotoff_page, mips_gotoff_global): Delete.
- 	(override_options): Allow -mabi=64 -mno-abicalls -mexplicit-relocs.
- 	Handle new symbol types.
- 	* config/mips/mips.md (*lea_high64, *lea64): New patterns.
- 	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_disp[sd]i): Call
- 	mips_unspec_address directly.
- 	* doc/invoke.texi: Remove the -mabi=64 -mno-abicalls exception from
- 	the documentation of -mexplicit-relocs.
- 
- 2004-03-01  Jeff Law  <law@redhat.com>
- 
- 	* fold-const.c (fold): An equality comparison of a non-weak object
- 	against zero has a known result.  Similarly an equality comparison
- 	of the address of two non-weak, unaliased symbols has a known result.
- 
- 	* ggc-page.c (struct page_entry): New field PREV.
- 	(ggc_alloc): Update PREV field appropriately.
- 	(sweep_pages): Likewise.
- 	(ggc_free): Likewise.  Use PREV field rather than loop to
- 	improve ggc_free performance.
- 
- 2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_output_division): Use the division
- 	instruction to fill the delay slot of a zero check.
- 	(mips_idiv_insns): Adjust accordingly.
- 
- 2004-03-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Create a default tmake_file for linux, and use
- 	it in all but two linux clauses.  Comment those two.
- 
- 2004-03-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (try_combine):  Do not refer to is_replaced.
- 	(gen_lowpart_for_combine):  Perverse subregs now have a
- 	more politically correct name.
- 	* cse.c (cse_insn): Likewise.
- 	* jump.c: Fix bogus reference to delete_insn.
- 
- 2004-02-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR debug/14328
- 	* dwarf2out.c (gen_enumeration_type_die): Output all enumeration
- 	constants as signed values.
- 
- 	PR middle-end/13448
- 	* c-tree.h (readonly_warning): Rename to ...
- 	(readonly_error): ... this.
- 	* c-typeck.c (build_unary_op): Adjust accordingly.
- 	(readonly_warning): Rename to ...
- 	(readonly_error): ... this and issue errors, not warnings.
- 	(build_modify_expr): Call readonly_error, not readonly_warning.
- 	(c_expand_asm_operands): Likewise.
- 	* tree-inline.c (optimize_inline_calls): Do not inline functions
- 	after errors have occurred.
- 
- 2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Rearrange some threading code for clarity;
- 	add section comment.
- 	* configure: Regenerate.
- 
- 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* passes.c, config/frv/frv.c, config/sh/sh.c: Fix comment
- 	typos.
- 	* doc/cppopts.texi: Fix a typo.
- 
- 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.md: Fix formatting.
- 
- 2004-02-29  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Add some comments delineating sections of code.
- 
- 	* doc/install.texi: Note that libada uses autoconf 2.57 also.
- 
- 	* doc/install.texi: Fix idiot typo in previous commit.
- 
- 	* doc/install.texi: Update for conversion of intl to autoconf 2.57.
- 
- 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Add comments about peephole2's.
- 
- 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Tweak operand numbers of some
- 	peephole2's.
- 
- 2004-02-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Tweak comments about peephole2's.
- 
- 2004-02-29  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
- 
- 	PR middle-end/14203
- 	* function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
- 	instead of testing whether DECL_RTL is not NULL.
- 
- 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh.c: Fix formatting.
- 
- 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh.c: Convert to ISO-C.
- 
- 2004-02-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-typeck.c (tagged_types_tu_compatible_p): Fix pasto in
- 	my previous patch.
- 
- 	* config/darwin.h (machopic_finish): Output stub even if the
- 	symbol is already defined.
- 
- 2004-02-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
- 
- 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genattr.c (main): Don't define
- 	TRADITIONAL_PIPELINE_INTERFACE or DFA_PIPELINE_INTERFACE.
- 	* system.h (TRADITIONAL_PIPELINE_INTERFACE): Poison.
- 	(DFA_PIPELINE_INTERFACE): Likewise.
- 	* doc/tm.texi (TRADITIONAL_PIPELINE_INTERFACE): Remove.
- 	(DFA_PIPELINE_INTERFACE): Likewise.
- 
- 2004-02-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (tstsi, tstdi): Delete.
- 
- 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 
- 	* config/mips/mips.c (override_options): Remove an obsolete
- 	duplicate definition of the "e" constraint.
- 	* config/mips/mips.h: Update a comment accordingly.
- 
- 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 
- 	* config/mips/mips.md: Complete the unfinished R4000
- 	multiply/shift errata workaround.  Improve documentation.
- 	(hazard): Use TARGET_FIX_R4000 to decide whether an "imul" instruction
- 	has a hilo hazard.
- 	(mulsi3, mulsi3_internal, mulsi3_r4000): Use TARGET_FIX_R4000.
- 	(muldi3, muldi3_internal): Likewise.
- 	(muldi3_internal2): Remove, replacing with...
- 	(muldi3_mult3, muldi3_r4000): ...these new patterns.
- 	(mulsidi3): Take the errata into account.
- 	(mulsidi3_32bit): Remove, replacing with...
- 	(mulsidi3_32bit_internal, mulsidi3_32bit_r4000): ...these new patterns.
- 	(mulsidi3_64bit, mulsidi3_64bit_parts): Disable if TARGET_FIX_R4000.
- 	(umulsidi3): Take the errata into account.
- 	(umulsidi3_32bit): Remove, replacing with..
- 	(umulsidi3_32bit_internal, umulsidi3_32bit_r4000): ...these patterns.
- 	(umulsi3_highpart, umulsi3_highpart_internal): Disable if
- 	TARGET_FIX_R4000.
- 	(smulsi3_highpart, smulsi3_highpart_internal): Likewise.
- 	(smuldi3_highpart, umuldi3_highpart): Likewise.
- 	* doc/invoke.texi: Document the errata workaround.
- 
- 2004-02-28  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 
- 	* config/mips/mips-protos.h (mips_idiv_insns): Declare.
- 	* config/mips/mips.h (MASK_FIX_SB1): Bump.
- 	(MASK_FIX_R4000, TARGET_FIX_R4000): New macros.
- 	(TARGET_SWITCHES): Add -mfix-r4000 and -mno-fix-r4000.
- 	* config/mips/mips.c (mips_idiv_insns): New function.
- 	(override_options): Make -march=r4000 imply -mfix-r4000 by default.
- 	(mips_output_division): Add a workaround for the R4000 divide/shift
- 	errata.
- 	* config/mips/mips.md (length): Use mips_idiv_insns() to calculate
- 	the length of an "idiv" instruction.
- 	* doc/invoke.texi: Document the new switches.
- 
- 2004-02-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi (IS_COSTLY_DEPENDENCE): Change to
- 	TARGET_SCHED_IS_COSTLY_DEPENDENCE.
- 
- 2004-02-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR optimization/14229
- 	* cfgrtl.c (rtl_tidy_fallthru_edge): Do not fail for !onlyjump jump.
- 
- 2004-02-28  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* fold-const.c (fold): Strip NOPs that change the signedness
- 	for RSHIFT too.  Expand comment.
- 
- 2004-02-27  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR optimization/7871
- 	* flow.c (mark_set_1): Don't add LOG_LINKS for global registers
- 	from or to call insns.
- 
- 2004-02-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/7871
- 	* flow.c (propagate_one_insn): Interpret calls as setting global
- 	registers, not merely clobbering them.
- 
- 2004-02-27  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.c (machopic_output_possible_stub_label):  Remove.
- 	config/darwin-protos.h:  Ditto.
- 	config/darwin.h:  Remove call to it.
- 	* combine.c (distribute_notes): Do not place a REG_DEAD note
- 	when value is both set and used.
- 
- 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
- 	as well.
- 	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
- 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
- 
- 2004-02-27  Andrew Pinski  <apinski@apple.com>
- 
- 	* c-typeck.c (tagged_types_tu_compatible_p) <ENUMERAL_TYPE>:
- 	Speedup common case of the type values being in the same order.
- 
- 2004-02-27  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (no-inline-float-divide): New option.
- 	* config/ia64/ia64.h (no-inline-int-divide): New option.
- 	* config/ia64/ia64.h (no-inline-sqrt): New option.
- 	(TARGET_DEFAULT): Add MASK_INLINE_FLOAT_DIV_THR to define.
- 	* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
- 	* config/ia64/ia64.c (ia64_override_options): Modify error
- 	checking for inlined division/sqrt.
- 
- 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bb-reorder.c, cfgbuild.c, diagnostic.c, explow.c, profile.c,
- 	ra-build.c, read-rtl.c, tracer.c, unwind-dw2-fde-glibc.c,
- 	value-prof.c, config/darwin-protos.h, config/frv/frv-abi.h,
- 	config/i386/pmmintrin.h, config/pa/pa-hpux.h: Update
- 	copyright.
- 
- 2004-02-27  Paul Brook  <paul@codesourcery.com>
- 
- 	* function.c (assign_parms): Don't count pretend args for alignment.
- 
- 2004-02-27  Richard Henderson  <rth@redhat.com>
- 
- 	* passes.c: New file.
- 	* Makefile.in (OBJS-common): Add it.
- 	* diagnostic.c (rtl_dump_and_exit): Move decl ...
- 	* flags.h (rtl_dump_and_exit): ... here.
- 	* output.h (size_directive_output, last_assemble_variable_decl):
- 	Move from toplev.c.
- 	* rtl.h (reg_alloc): Move from toplev.c.
- 	* toplev.c (HAVE_conditional_execution, DUMPFILE_FORMAT,
- 	struct dump_file_info, enum dump_file_index, dump_file_tbl,
- 	open_dump_file, close_dump_file, rest_of_decl_compilation,
- 	rest_of_type_compilation, rest_of_handle_final,
- 	rest_of_handle_delay_slots, rest_of_handle_stack_regs,
- 	rest_of_handle_variable_tracking, rest_of_handle_machine_reorg,
- 	rest_of_handle_new_regalloc, rest_of_handle_old_regalloc,
- 	rest_of_handle_regrename, rest_of_handle_reorder_blocks,
- 	rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_regmove,
- 	rest_of_handle_tracer, rest_of_handle_if_conversion,
- 	rest_of_handle_if_after_combine, rest_of_handle_web,
- 	rest_of_handle_branch_prob,
- 	rest_of_handle_value_profile_transformations, rest_of_handle_cfg,
- 	rest_of_handle_addressof, rest_of_handle_sibling_calls,
- 	rest_of_handle_jump_bypass, rest_of_handle_inlining,
- 	rest_of_handle_null_pointer, rest_of_handle_combine,
- 	rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
- 	rest_of_handle_gcse, rest_of_handle_loop_optimize,
- 	rest_of_handle_loop2, rest_of_compilation): Move to passes.c.
- 	(decode_d_option): Use enable_rtl_dump_file.
- 	(compile_file, finalize, do_compile): Move profile+combine+graph
- 	cleanup to finish_optimization_passes.
- 	* toplev.h (init_optimization_passes, finish_optimization_passes,
- 	enable_rtl_dump_file): Declare.
- 
- 2004-02-27  Eric Botcazou  <ebotcazou@act-europe.fr>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold): Revert 2004-02-25 change.  Use the original
- 	operands to build a tree with swapped operands.
- 	* expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
- 	'unsignedp' predicate to specify the signedness.
- 
- 2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c,
- 	expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c,
- 	params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix
- 	comment typos and formatting.  Follow spelling conventions.
- 
- 2004-02-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
- 	fix_truncsfsi2.
- 
- 	* config/rs6000/spe.md: Delete spe_efsctuiz.
- 	Add spe_fixuns_truncsfsi2.
- 	Add spe_fix_truncsfsi2.
- 
- 2004-02-26  Eric Christopher  <echristo@redhat.com>
- 
- 	* c-lex.c (c_lex_string_translate): New variable.
- 	(lex_string): Use to determine string translation.
- 	* c-pragma.h: Prototype.
- 	* c-parse.in (start_string_translation): New. Set above.
- 	(stop_string_translation): Ditto.
- 	(attribute, attribute_list, asm_def, asm_stmt,
- 	asm_operand): Use above functions.
- 	* cp/parser.c (cp_parser_declaration): Translate strings
- 	unless token is RID_EXTERN. Set c_lex_string_translate
- 	for recursive use.
- 	(cp_parser_asm_definition): Only translate argument strings
- 	to asms.
- 	(cp_parser_asm_operand_list): Ditto.
- 	(cp_parser_attribute_list): Do not translate attribute strings.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_start_case_dummy): Remove.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c (apply_args_register_offset): Remove.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stor-layout.c (is_pending_size): Remove.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* recog.c (validate_replace_src): Remove.
- 	* recog.h: Remove the corresponding prototype.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c: Don't reference FINAL_REG_PARM_STACK_SPACE or
- 	MAYBE_REG_PARM_STACK_SPACE.
- 	* function.c: Likewise.
- 	* system.h (FINAL_REG_PARM_STACK_SPACE): Poison.
- 	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
- 	* doc/tm.texi (FINAL_REG_PARM_STACK_SPACE): Remove.
- 	(MAYBE_REG_PARM_STACK_SPACE): Likewise.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c (c_expand_deferred_function): Remove.
- 	* c-tree.h: Remove the corresponding prototype.
- 
- 2004-02-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* postreload.c (reload_cse_move2add): Generate just a PLUS
- 	instead of an entire SET.
- 
- 2004-02-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* config.gcc: Add support for nocoma/prescott/pentium-m/pentium3m
- 	/pentium4m.
- 	* i386.c (override_options): Add support for new CPUs.
- 	* i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
- 	(TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
- 	constants.
- 	* invoke.texi: Extend documentation of -mtune/-march for new CPUs.
- 
- 2004-02-26  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
- 
- 2004-02-26  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* config/sparc/sparc-protos.h (sparc_emit_floatunsdi): Add 'mode'.
- 	(sparc_emit_fixunsdi): New prototype.
- 	* config/sparc/sparc.c (sparc_emit_floatunsdi): Use 'mode' argument.
- 	(sparc_emit_fixunsdi): New function.
- 	* config/sparc/sparc.md (floatunsdisf2): Use 'general_operand' for
- 	operand 1.  Pass SFmode to sparc_emit_floatunsdi.
- 	(floatunsdidf2): Use 'general_operand' for operand 1.  Pass DFmode
- 	to sparc_emit_floatunsdi.
- 	(fixuns_truncsfdi2): New expander.
- 	(fixuns_truncdfdi2): Likewise.
- 
- 2004-02-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Do not delete CC setter
- 	unless HAVE_cc0.
- 
- 2004-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	* explow.c (force_reg): Call mark_reg_pointer as appropriate.
- 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
- 	use (op0-op1) == 0 if op0 is a pointer.
- 	* config/alpha/alpha.md (cmpdi): Use some_operand.
- 	(three comparison combine splits): Remove.
- 
- 2004-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/12794
- 	* c-common.c (handle_alias_attribute): Reject the attribute if
- 	current_function_decl is set.
- 
- 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config.gcc: Add comment describing extra_gcc_objs.
- 	i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
- 	* configure.ac (extra_gcc_objs): New substitution variable.
- 	(host_extra_gcc_objs): Don't substitute.
- 	* configure: Regenerate.
- 	* Makefile.in: Use extra_gcc_objs.
- 
- 2004-02-25  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/contrib.texi: Add an entry for myself.
- 
- 2004-02-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (make_eh_edge, break_superblocks): Declare.
- 	* cfgbuild.c (make_eh_edge):  Make global.
- 	* cfglayout.c (break_superblocks): Likewise; fix memory leak.
- 	* except.c (build_post_landing_pads, connect_post_landing_pads,
- 	dw2_build_landing_pads, sjlj_emit_function_enter,
- 	sjlj_emit_function_exit, sjlj_emit_dispatch_table,
- 	sjlj_build_landing_pads): Update CFG.
- 	(emit_to_new_bb_before): New function.
- 	(finish_eh_generation): Do not rebuild the CFG.
- 
- 2004-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* config.gcc (hppa*-*-*, parisc*-*-*): Add MASK_BIG_SWITCH to all
- 	target_cpu_default defines.
- 	* pa-hpux.h (TARGET_DEFAULT): Add MASK_BIG_SWITCH to define.
- 	* pa.h (TARGET_DEFAULT): Likewise.
- 
- 2004-02-25  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
- 	comparisons with regard to signedness.
- 
- 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_legitimize_address): New function.
- 	* arm-protos.h: Prototype it.
- 	* arm.h (THUMB_LEGITIMIZE_ADDRESS): Define.
- 	(LEGITIMIZE_ADDRESS): Use it.
- 
- 2004-02-25  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* reload1.c (reload): Only spill eliminable register with multiple
- 	adjacent elimination alternatives if all alternatives fail.
- 
- 2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_legitimate_index_p): For QImode the range of an offset
- 	is -4095...+4095 inclusive.
- 
- 2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (sparc-sun-solaris2* specific notes): Document
- 	the bootstrap failure with Sun CC 5.4 and 5.5.
- 
- 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cse.c (cse_change_cc_mode_insns): Stop at any instruction
- 	which modifies NEWREG.
- 	(cse_condition_code_reg): Update the mode of CC_REG in
- 	CC_SRC_INSN on our own.
- 
- 2004-02-24  Michael Matz  <matz@suse.de>
- 
- 	* config/i386/i386.c (ix86_comp_type_attributes): Check for
- 	regparm attributes.
- 
- 2004-02-24  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (dump_file_tbl): Rename from dump_file.
- 	* bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c,
- 	cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c,
- 	config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c,
- 	config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c,
- 	loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c,
- 	ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c,
- 	toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c:
- 	s/rtl_dump_file/dump_file/g.
- 
- 2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
- 	(spe_fixuns_truncsfsi2): Delete.
- 
- 	* config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
- 	(fixuns_truncsfsi2): Delete.
- 
- 2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/14240
- 	* rtlanal.c (replace_label): Fix replacing labels in constant pool.
- 
- 2004-02-24  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (TARGET_HAS_F_SETLKW): Define.
- 
- 2004-02-24  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (check_qualified_type): New fn.
- 	(get_qualified_type): Use it.  If type already has the desired
- 	quals, just return it.
- 	* tree.h: Declare it.
- 
- 2004-02-24  Sanjiv Kumar Gupta  <sanjivg@noida.hcltech.com>
- 
- 	* target-def.h (TARGET_SCHED_INIT_GLOBAL,
- 	TARGET_SCHED_FINISH_GLOBAL): New macros.
- 
- 	* target.h (md_init_global, md_finish_global): Function
- 	declarations corresponding to new target macros.
- 
- 	* haifa-sched.c (sched_init, sched_finish): Allow target to
- 	call the new schedular hooks.
- 
- 	* flow.c (recompute_reg_usage): Add PROP_DEATH_NOTES flag in
- 	call to update_life_info.
- 
- 	* config/sh/sh.h (OVERRIDE_OPTIONS): Re-enable
- 	flag_schedule_insns for SH4.
- 
- 	* config/sh/sh.c (sh_md_init_global, sh_md_finish_global,
- 	find_set_regmode_weight, find_insn_regmode_weight,
- 	find_regmode_weight), sh_md_init, sh_dfa_new_cycle,
- 	sh_variable_issue, high_pressure, ready_reorder,
- 	rank_for_reorder, swap_reorder, sh_reorder, sh_reorder2): New
- 	functions used to throttle the insn movement in first
- 	scheduling pass for SH.
- 
- 	* gcc/doc/tm.texi: Document TARGET_SCHED_INIT_GLOBAL and
- 	TARGET_SCHED_FINISH_GLOBAL.
- 
- 2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	Implement FR-V FDPIC ABI support for frv-uclinux and frv-linux.
- 	2004-02-05  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_emit_movsi): Use GOT relocations for
- 	symbols in sections named by the user.
- 	2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/linux.h (TARGET_OS_CPP_BUILTINS): New.
- 	2004-01-27  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc (frv-*-*linux*): Handle like *-*-linux*.
- 	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove, obviated by
- 	the above.
- 	2004-01-20  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.md (symGOT2reg_hilo, symGOTOFF2reg_hilo): Add
- 	one more pseudo to further improve code generation.
- 	2004-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.md (movdi_ldd): Introduce explicit indirection
- 	inside UNSPEC.
- 	2004-01-16  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_legitimate_address_p): Added
- 	allow_double_reg_p argument.  Adjust all callers.  Use it to
- 	decide whether to enable double-register indirect addressing.
- 	(frv_funcdesc_alias_set): Remove.
- 	(frv_expand_fdpic_call): Force non-SYMBOL_REF operand into
- 	register.  Emit movdi_ldd.
- 	(ldd_address_operand): New.
- 	* config/frv/frv-protos.h (frv_legitimate_address_p): Adjust.
- 	* config/frv/frv.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
- 	(PREDICATE_CODES): Add ldd_address_operand.
- 	* config/frv/frv.md (movdi_ldd): New.
- 	(symGOT2reg_hilo, symGOTOFF2reg_hilo): Use separate pseudo for
- 	intermediate computations if possible.
- 	(symGOTOFF2reg_i): Fix harmless typo.
- 	2003-12-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Cast
- 	relocated p_vaddr to vaddr type.
- 	* config/frv/frv-protos.h (frv_expand_fdpic_call): Return void.
- 	* config/frv/frv.c (frv_get_funcdesc_alias_set): New.
- 	(frv_expand_fdpic_call): Propagate incoming MEM's expr to funcdesc
- 	MEM, or use a funcdesc alias set.  Use regular move instead of
- 	ldd.
- 	(dbl_memory_one_insn_operand): Recognize function descriptors by
- 	type or by alias set, and don't split them.
- 	* config/frv/frv.md (call, call_value): Never use call_internal
- 	for fdpic.
- 	(call_internal, call_value_internal): Never match for FDPIC.
- 	(call_fdpicdi, call_fdpicsi, call_value_fdpicdi,
- 	call_value_fdpicsi): Require FDPIC.
- 	(ldd): Removed.
- 	2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.h (CRT_GET_RFIB_DATA): Define for __FRV_FDPIC__.
- 	* unwind-dw2-fde-glibc.c: Don't include elf-fdpic.h any more.
- 	(_Unwind_IteratePhdrCallback): Adjust type of load_base for FRV
- 	FDPIC.  Compute data base address.
- 	* config/frv/linux.h (SUBTARGET_DRIVER_SELF_SPECS): Enable -mfdpic
- 	before the other self-specs are processed.
- 	* config/frv/t-linux (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS):
- 	Build with -fPIC.
- 	2003-12-15  Alexandre Oliva  <aoliva@redhat.com>
- 	* unwind-dw2-fde-glibc.c: Don't include bits/elf-fdpic.h if
- 	inhibit_libc is defined.
- 	2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
- 	* unwind-dw2-fde-glibc.c: Include bits/elf-fdpic.h for
- 	__FRV_FDPIC__.
- 	(__RELOC_POINTER): Define.
- 	(_Unwind_IteratePhdrCallback): Use it.
- 	* config/frv/frv.h (Twrite): Define.
- 	(TRANSFER_FROM_TRAMPOLINE): Use it.
- 	* config/frv/linux.h (INVOKE__main): Undefine.
- 	(Twrite): Override.
- 	2003-12-05  Richard Sandiford  <rsandifo@redhat.com>
- 	* doc/invoke.texi (-mlong-calls, -mlinked-fp): Document FRV options.
- 	(-mlibrary-pic): Emphasize that this option generates EABI code.
- 	(-mcpu): Add fr550.
- 	(-mpack): Remove.
- 	2003-11-30  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (int_2word_operand): Reject LABELs, SYMBOL_REFs
- 	and CONSTs in FDPIC mode.
- 	* gcc/config.gcc (with_cpu): Default to fr400 on frv-*-*linux*.
- 	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv.c (move_source_operand): Don't accept symbolic
- 	constants.
- 	* config/frv/frv.md (*movhi_internal, *movsi_internal): Use an 'n'
- 	rather than 'i' constraint for the 2-instruction alternative.
- 	(*movsi_2word): New, incorporating existing int_2word_operand splitter.
- 	2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Q): Renamed from
- 	EXTRA_CONSTRAINT_FOR_Y.
- 	(EXTRA_CONSTRAINT): Remove handling of 'Y'.
- 	* config/frv/frv.md (*movsi_internal): Remove 'Q' constraint.
- 	(addsi3): Change 'Y' constraint to 'Q'.
- 	2003-11-27  Richard Sandiford  <rsandifo@redhat.com>
- 	* reload.c (CONST_POOL_OK_P): New macro.
- 	(find_reloads): Use it to decide whether a constant can be forced
- 	into memory.
- 	* config/frv/frv.h (LEGITIMATE_PIC_OPERAND_P): Return true if the
- 	constant satisfies got12_operand.
- 	(frv_cannot_force_const_mem): Always return true for TARGET_FDPIC.
- 	(frv_legitimate_address_p): Check for valid unspec offsets using
- 	got12_operand rather than frv_legitimate_fdpic_operand_p.
- 	(frv_legitimate_fdpic_operand_p): Delete.
- 	(frv_emit_movsi): Abort if we try to use the FDPIC register during
- 	or after reload.
- 	(frv_legitimate_constant_p): Return LEGITIMATE_PIC_OPERAND_P if
- 	TARGET_FDPIC.
- 	* config/frv/frv.md (*movdf_double): Add alternatives for CONST_DOUBLE.
- 	2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv-protos.h (fdpic_operand, fdpic_got12_operand)
- 	(frv_fdpic_fptr_operand): Don't declare here.
- 	* config/frv/frv.h (EXTRA_CONSTRAINT_FOR_Y): Call got12_operand
- 	rather than fdpic_got12_operand.
- 	(PREDICATE_CODES): Remove symbolic_operand entry.  Add entries for
- 	got12_operand and const_unspec_operand.
- 	* config/frv/frv.c (got12_operand): Renamed from fdpic_got12_operand.
- 	(gpr_or_int12_operand, dbl_memory_one_insn_operand): Update calls.
- 	(symbolic_operand): Remove.
- 	(const_unspec_operand): New predicate.
- 	* config/frv/frv.md (*movsi_got): Use got12_operand.
- 	(*movsi_high_got, *movsi_lo_sum_got): Use const_unspec_operand.
- 	2003-11-18  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv-protos.h (frv_output_addr_const_extra): Remove.
- 	* config/frv/frv.h (OUTPUT_ADDR_CONST_EXTRA): Remove definition.
- 	* config/frv/frv.c (frv_unspec): New structure.
- 	(frv_small_data_reloc_p, frv_const_unspec_p): New functions.
- 	(frv_print_operand_memory_reference): Use frv_const_unspec_p to
- 	validate CONST indices.  Use frv_output_const_unspec to print them.
- 	(frv_print_operand): Update call to unspec_got_name.  Use
- 	frv_output_const_unspec to print constant unspecs.
- 	(frv_legitimate_fdpic_operand_p): Return true if frv_const_unspec_p.
- 	Reject UNSPECs otherwise.
- 	(unspec_got_name): Take the relocation number as argument, not an
- 	rtx containing it.
- 	(frv_output_addr_const_extra): Remove, replacing with...
- 	(frv_output_const_unspec): ...this new function.
- 	(frv_find_base_term): Use frv_const_unspec_p & frv_small_data_reloc_p.
- 	(gpr_or_int12_operand): Use fdpic_got12_operand.
- 	(dbl_memory_one_insn_operand): Likewise.
- 	(fdpic_got12_operand): Use frv_const_unspec_p.
- 	(frv_emit_movsi): Use frv_const_unspec_p to check for CONSTs that
- 	are already legitimate.  Use frv_small_data_reloc_p when deciding
- 	whether to use HIGH/LO_SUM for R_FRV_GOTOFF12 and R_FRV_GPREL12.
- 	2003-11-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/t-linux (SHLIB_MAPFILES): Override so as to export...
- 	* config/frv/libgcc-frv.ver: ... frv-specific symbols.  New file.
- 	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
- 	label, for real this time.
- 	* config/frv/frv.c (frv_local_funcdesc_p): Update to new
- 	representation of visibility.
- 	(fdpic_got12_operand, symbolic_operand): Mark unused arguments as
- 	such.
- 	2003-11-17  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv.h (MASK_LINKED_FP, TARGET_LINKED_FP): New macros.
- 	(TARGET_SWITCHES): Add -mlinked-fp and -mno-linked-fp.
- 	* config/frv/frv.c (frv_override_options): Set MASK_LINKED_FP unless
- 	it was explicitly disabled.
- 	(frv_stack_info): There is no need to save the link register in every
- 	frame unless TARGET_LINKED_FP is true.
- 	(frv_frame_pointer_required): If !TARGET_LINKED_FP, only require a
- 	frame pointer if the stack pointer might change value.
- 	(frv_return_addr_rtx): Check and process "count" argument.
- 	2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/frv/frv-protos.h (frv_legitimize_address): Remove.
- 	(frv_find_base_term): Declare.
- 	* config/frv/frv.h (LEGITIMIZE_ADDRESS): Do nothing.
- 	(FIND_BASE_TERM): Define.
- 	(PREDICATE_CODES): Remove pic_register_operand, pic_symbolic_operand,
- 	small_data_register_operand, small_data_symbolic_operand.  Add
- 	symbolic_operand.
- 	* config/frv/frv.c (const_small_data_p, plus_small_data_p): Delete.
- 	(frv_print_operand_memory_reference, output_move_single): Remove
- 	special handling for unlegitimized sdata addresses.
- 	(frv_legitimate_address_p): Don't allow sums of SDA_BASE_REG
- 	and symbolic addresses.
- 	(frv_legitimize_address, frv_legitimize_fdpic_address): Delete.
- 	(frv_find_base_term): New function.
- 	(int_2word_operand): Check specifically for symbolic address constants.
- 	(pic_register_operand, pic_symbolic_operand): Delete.
- 	(small_data_register_operand, small_data_symbolic_operand): Delete.
- 	(dbl_memory_one_insn_operand): Don't call plus_small_data_p.
- 	Allow UNSPEC_GOT constants if !TARGET_FDPIC.
- 	(move_source_operand): Only accept CONSTs if they're a two-insn
- 	symbolic constant.
- 	(fdpic_got12_operand): Don't require TARGET_FDPIC.
- 	(frv_emit_movsi): Legitimize sdata and -mlibrary-pic addresses
- 	using gen_symGOTOFF2reg*.
- 	(frv_ifcvt_rewrite_mem): Remove (plus gr16 ...) special cases.
- 	(frv_rtx_costs): Give all MEM addresses a cost of 0.  Give MEMs
- 	themselves a cost of 3 insns.
- 	* config/mips/mips.md (*movsi_got): Allow for !TARGET_FDPIC too.
- 	Change predicate to symbolic_operand.
- 	(*movsi_high_got, *movsi_lo_sum_got): Likewise.
- 	(*movsi_lda_sdata): Delete.
- 	(*movsi_pic, movsi_high_pic, movsi_lo_sum_pic): Delete.
- 	2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc: Add t-slibgcc-elf-ver and support --with-cpu for
- 	frv-*-*linux*.
- 	* config/frv/frv-abi.h (CREATE_DOUBLE_SHIFT): Use branch to local
- 	label.
- 	* config/frv/frv.h (DRIVER_SELF_SPECS): Add blank before
- 	-multilib-library-pic.
- 	(LINK_SPEC): Add -z text for -mfdpic.
- 	* config/frv/frvbegin.c (__ROFIXUP_LIST__): Don't define on FDPIC.
- 	* config/frv/frvend.c (__ROFIXUP_END__): Likewise.
- 	* config/frv/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC):
- 	Override.
- 	(OPTION_DEFAULT_SPECS, HAS_INIT_SECTION, INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION): Define.
- 	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Use
- 	crtstuff-generated files.
- 	2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc: Add frv-*-*linux*.
- 	* config/frv/linux.h, config/frv/t-linux: New.
- 	2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.h (LINK_SPEC): Pass -melf32frvfd to the linker
- 	when -mfdpic even if a linker script is explicitly listed.
- 	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_override_options): Clear asm_out
- 	unaligned_op for SImode on FDPIC.
- 	(frv_emit_movsi): Use compute_reloc_for_constant to compute the
- 	argument passed to decl_readonly_section.
- 	(frv_assemble_integer): Revert 2003-09-30's change, but make the
- 	whole block run with FDPIC even with -fno-PIC.
- 	2003-10-02  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_cannot_force_const_mem): Don't force
- 	symbol or label plus offset to memory.
- 	(frv_emit_movsi): Emit GPREL only if -mgprel-ro.  Emit 32-bit
- 	GOTOFF and GPREL for LABEL_REF.
- 	* config/frv/frv.h (DRIVER_SELF_SPECS): Add -mgprel-ro with
- 	-mfdpic unless -mno-gprel-ro, -fpic or -fpie.
- 	(MASK_GPREL_RO, TARGET_GPREL_RO): New.
- 	(TARGET_SWITCHES): Added gprel-ro and no-gprel-ro.
- 	* doc/invoke.texi: Document them.
- 	2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv-protos.h (frv_gen_GPsym2reg): Declare.
- 	(frv_splittable_got_operand): Removed.
- 	* config/frv/frv.c (frv_cannot_force_const_mem): Reject HIGH and
- 	LO_SUM.  Add comments.
- 	(frv_override_options): Moved enabling of FDPIC to
- 	DRIVER_SELF_SPECS.  Don't enable MASK_DWORD.
- 	(frv_local_funcdesc_p): Remove unnecessary heck for flag_pie.
- 	(frv_legitimize_fdpic_address): Don't duplicate logic in
- 	frv_emit_movsi.
- 	(frv_gen_GPsym2reg): New.
- 	(unspec_got_name): Added gprel.
- 	(frv_expand_fdpic_call): Add support for inlining PLTs.
- 	(fdpic_fptr_operand): Renamed from frv_fdpic_fptr_operand.
- 	(gpr_or_int12_operand): Added GPREL12.
- 	(pic_symbolic_operand): Match even if !flag_pic for FDPIC.
- 	(small_data_symbolic_operand): Fail if FDPIC.
- 	(fdpic_splittable_got_operand): Removed.
- 	(fdpic_got12_operand): Added GPREL12.
- 	(frv_emit_movsi): Reorganize to avoid duplication.  Emit GPREL
- 	when appropriate.  Fix sdata GOTOFF.
- 	(frv_legitimate_constant_p): Require legitimate PIC operand for
- 	FDPIC with pic, but only a legitimate fdpic operand for non-pic.
- 	(frv_assemble_integer): Move FDPIC funcdesc handling out of
- 	flag_pic case.
- 	(frv_asm_out_constructor, frv_asm_out_destructor): Abort if
- 	frv_assemble_integer fails.
- 	* config/frv/frv.h (DRIVER_SELF_SPECS): New.
- 	(SUBTARGET_DRIVER_SELF_SPECS): New.
- 	(ASM_SPEC): Don't pass -mno-fdpic.
- 	(LINK_SPEC): Pass -melf32frvfd for FDPIC.
- 	(MASK_INLINE_PLT, TARGET_INLINE_PLT): New.
- 	(TARGET_SWITCHES): Add -minline-plt, -mno-inline-plt and
- 	-multilib-library-pic.
- 	(PREDICATE_CODES): Added fdpic_operand, fdpic_fptr_operand,
- 	condexec_si_media_operator, condexec_sf_add_operator and
- 	condexec_sf_conv_operator.  Removed condexec_sf_binary_operator
- 	and condexec_sf_unary_operator.
- 	* config/frv/frv.md (R_FRV_GPREL12, R_FRV_GPRELHI, R_FRV_GPRELLO):
- 	New.
- 	(movsi_got, movsi_high_got, movsi_lo_sum_got): Move before
- 	movsi_internal.  Give them internal names.  movsi_got has type
- 	int.
- 	(fdpic got splitters): Remove.
- 	(symGPREL2reg, symGPREL2reg_hilo): New.
- 	* config/frv/t-frv (MULTILIB_MATCHES): Don't map -fpic and -fPIC
- 	to -mlibrary-pic.  Map -multilib-library-pic to it.
- 	* doc/invoke.texi: -mfdpic, -minline-plt, -multilib-library-pic:
- 	Document.
- 	2003-09-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_function_symbol_referenced_p): Declare.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): Define to...
- 	(frv_cannot_force_const_mem): New function.
- 	(const_small_data_p, plus_small_data_p): Update comments on sdata
- 	on FDPIC.
- 	(frv_override_options): Set flag_pie for FDPIC too.
- 	(frv_conditional_register_usage): Mark gr16 and gr17 as non-fixed,
- 	call-saved registers on FDPIC.
- 	(frv_stack_info): Don't preserve the PIC register on FDPIC, and
- 	don't force LR to be preserved.
- 	(frv_expand_prologue): Likewise.
- 	(frv_asm_output_mi_thunk): Use 12-bit funcdesc gotoff for -fpic.
- 	(frv_frame_pointer_required): Don't force it just because the
- 	FDPIC register is used.
- 	(frv_legitimate_address_p) <CONST>: Accept a legitimate FDPIC
- 	operand only if !condexec_p.
- 	(frv_legitimize_address): Return the FDPIC-legitimized address.
- 	Don't match small data here on FDPIC.
- 	(frv_legitimate_fdpic_operand_p): Don't accept unadorned function
- 	symbols.  Use TRUE/FALSE instead of 1/0.
- 	(frv_local_funcdesc_p): New.
- 	(frv_legitimize_fdpic_address): Rewrite to use GOTOFF and 12-bit
- 	immediates when possible.
- 	(pic_symbolic_operand): Accept SYMBOL_REFs and CONSTs in FDPIC.
- 	(dbl_memory_one_insn_operand): Accept addresses that add a REG and
- 	an UNSPEC_GOT.
- 	(frv_emit_movsi): Handle FDPIC before small data.  Use GOTOFF and
- 	12-bit immediates when possible.
- 	(frv_legitimate_constant_p): In FDPIC, reject SImode operands that
- 	are not legitimate pic operands.
- 	(frv_in_small_data_p): Re-enable for FDPIC.
- 	* config/frv/frv.h (SDA_BASE_REG): Remove comment about FDPIC.
- 	(FRV_GLOBAL_P): Removed.
- 	* config/frv/frv.md: Add modes to CONSTs.
- 	(movsi_got): New.
- 	(movsi_lo_sum_got): Use separate matches instead of match_dup.
- 	(movsi_high_pic, movsi_lo_sum_pic): Match on non-FDPIC only.
- 	(fdpic splittable operations): Match on flag_pic != 1.
- 	2003-09-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_asm_out_constructor,
- 	frv_asm_out_destructor): Pass to frv_assemble_integer the size in
- 	bytes, not bits.
- 	2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/frv/frv.c (frv_assemble_integer): Reject complex
- 	expressions referencing function SYMBOL_REFs.
- 	* config/frv/frv.c (frv_function_symbol_referenced_p): New.
- 	(move_source_operand): Reject CONSTs that reference function
- 	SYMBOL_REFs on FDPIC.
- 	(frv_emit_movsi): If we get such a CONST, break it up.
- 	* config/frv/frv.h (CPP_SPEC): Define __FRV_FDPIC__ for -mfdpic.
- 	(TRANSFER_FROM_TRAMPOLINE): Use different definitions for FDPIC.
- 	* config/frv/frv.c (frv_print_operand) <I>: Recognize PLUS without
- 	MEM.
- 	(frv_assemble_integer): Don't use funcdesc for LABEL_REFs.
- 	(frv_trampoline_size): Increase for FDPIC.
- 	* config/frv/frv.h (TRAMPOLINE_ALIGNMENT): Bump to 64 for FDPIC.
- 	(TRANSFER_FROM_TRAMPOLINE): Handle FDPIC trampolines.
- 	* config/frv/frv.c (frv_legitimize_fdpic_address, frv_emit_movsi):
- 	Disable use of GOTOFF for now.
- 	(const_small_data_p, plus_small_data_p, frv_in_small_data_p):
- 	Disable use of small data in FDPIC for now.
- 	(frv_asm_output_mi_thunk): Implement for FDPIC.
- 	* config/frv/frv.h (SDA_BASE_REG): Set to -1 with FDPIC.
- 	* config/frv/frv.c (frv_asm_out_constructor): Use
- 	frv_assemble_integer for FDPIC pointers.
- 	(frv_asm_out_destructor): Likewise.
- 	* config/frv/frv.md (ldd): Fix order of operands.  Use
- 	address_operand for input.
- 	2003-09-18  DJ Delorie  <dj@redhat.com>
- 	* config/frv/frv.c (frv_legitimate_fdpic_operand_p): Remove UNSPEC_PIC.
- 	(unspec_got_name): Correct typo.
- 	(frv_emit_movsi): Pre-expand splittable GOTs.
- 	(frv_expand_fdpic_call): Rename gen_lddi to gen_ldd.
- 	* config/frv/frv.md (lddi): Fix syntax error, rename to ldd.
- 	(symGOT2reg_hilo, symGOTOFF2reg_hilo): New.
- 	* config/frv/t-frv: Add -mfdpic multilibs.
- 	* config/frv/frv.h (ASM_SPEC): Pass -mfdpic/-mno-fdpic.
- 	(TARGET_SWITCHES): Add -mno-fdpic, fix documentation.
- 	* config/frv/frv.c (frv_override_options): -mfdpic assumes
- 	flag_pic, default to 32-bit pics, require DWORD ops.
- 	(frv_override_options): Add W and Z constraints.
- 	(frv_expand_prologue): No pic prologue for -mfdpic.
- 	(frv_asm_output_mi_thunk): Support -mfdpic (soon).
- 	(frv_print_operand_memory_reference): Handle GOT constants.
- 	(frv_legitimate_address_p): Allow GOT constants.
- 	(frv_legitimize_address): Handle GOT addresses too.
- 	(frv_legitimate_fdpic_operand_p): New.
- 	(frv_legitimize_fdpic_address): New.
- 	(unspec_got_name): New.
- 	(frv_output_addr_const_extra): New.
- 	(frv_expand_fdpic_call): New.
- 	(frv_fdpic_fptr_operand): New.
- 	(gpr_or_int12_operand): Handle GOT operands.
- 	(int_2word_operand): Handle GOT operands.
- 	(fdpic_operand): New.
- 	(fdpic_splittable_got_operand): New.
- 	(fdpic_got12_operand): New.
- 	(frv_emit_movsi): Handle GOT operands.
- 	(frv_assemble_integer): -mfdpic doesn't use rofixups.
- 	(frv_print_operand): Support 'g' code for GOT operands.
- 	* config/frv/frv-protos.h: Add prototypes as needed.
- 	* config/frv/frv.md (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
- 	R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
- 	R_FRV_FUNCDESC_GOTLO, R_FRV_FUNCDESC_VALUE,
- 	R_FRV_FUNCDESC_GOTOFF12, R_FRV_FUNCDESC_GOTOFFHI,
- 	R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12, R_FRV_GOTOFFHI,
- 	R_FRV_GOTOFFLO): New.
- 	(movsi_high_got, movsi_lo_sum_got): New.
- 	(*movsi_pic): Don't use this splitter for -mfdpic.
- 	(addsi3): Allow GOT references also.
- 	(call, call_value): Handle -mfdpic separately.
- 	(call_fdpicdi, call_fdpicsi, lddi, call_value_fdpicdi,
- 	call_value_fdpicsi): New.
- 	(symGOT2reg, symGOT2reg_i, got splitters, symGOTOFF2reg,
- 	symGOTOFF2reg_i): New.
- 	* config/frv/frv.h (MASK_FDPIC): New.
- 	(TARGET_FDPIC): New.
- 	(TARGET_SWITCHES): Add -mfdpic.
- 	(FDPIC_FPTR_REGNO): New.
- 	(FDPIC_REGNO): New.
- 	(OUR_FDPIC_REG): New.
- 	(enum reg_class): Add FDPIC_REGS, FDPIC_FPTR_REGS, and
- 	FDPIC_CALL_REGS.
- 	(REG_CLASS_NAMES): Likewise.
- 	(REG_CLASS_CONTENTS): Likewise.
- 	(EXTRA_CONSTRAINT_FOR_Y): New, for 12-bit GOTs.
- 	(EXTRA_CONSTRAINT): Add it here.
- 	(FRV_GLOBAL_P): New.
- 	(OUTPUT_ADDR_CONST_EXTRA): New.
- 
- 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sparc/sparc.h: Remove commented-out definitions of
- 	TARGET_EDOM and GEN_ERRNO_RTX.
- 
- 2004-02-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* df.c, df.h, ra-build.c, ra-rewrite.c, ra.c, web.c: Replace
- 	df_analyse with df_analyze.
- 
- 2004-02-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
- 	beginning of block.
- 
- 2004-02-23  James E Wilson  <wilson@specifixinc.com>
- 
- 	* calls.c (precompute_arguments): Update comment.
- 
- 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* et-forest.c: Replace et_occurences with et_occurrences.
- 
- 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgloop.h, loop-iv.c, loop-unswitch.c: Replace iv_analyse
- 	with iv_analyze.
- 
- 2004-02-23  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* config/i386/i386.c: Rename pni to sse3.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i386/pmmintrin.h: Likewise.
- 	* doc/extend.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 
- 2004-02-23  Zack Weinberg  <zack@codesourcery.com>
- 	    Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	Remove -fwritable-strings.
- 	* c-common.c (fix_string_type): Don't check
- 	flag_writable_strings.
- 	(fix_string_type): Likewise.
- 	* c-opts.c (set_std_c89): Don't initialize
- 	flag_writable_strings.
- 	(set_std_c99): Likewise.
- 	* common.opt (fwritable-strings): Remove.
- 	* flags.h: Remove the external declaration of
- 	flag_writable_strings.
- 	* opts.c (common_handle_option) <OPT_fwritable_strings>:
- 	Remove.
- 	* toplev.c (flag_writable_strings): Remove.
- 	(f_options): Remove an entry for writable-strings.
- 	* varasm.c (const_hash_1) <STRING_CST>: Don't check
- 	flag_writable_strings.
- 	(compare_constant) <STRING_CST>: Likewise.
- 	(build_constant_desc): Likewise.
- 	* config/darwin.c (machopic_select_section): Likewise.
- 	* config/arm/arm.c (AOF_ASSEMBLER): Likewise.
- 	* config/arm/pe.c (arm_pe_encode_section_info): Likewise.
- 	* config/iq2000/iq2000.c (iq2000_select_section): Likewise.
- 	* config/mips/mips.c (mips_select_section): Likewise.
- 	(mips_encode_section_info): Likewise.
- 	* config/pa/pa.c (pa_select_section): Likewise.
- 	* config/pa/pa.h (TEXT_SPACE_P): Likewise.
- 	* config/v850/v850.c (v850_select_section): Likewise.
- 	* doc/invoke.texi (-fwritable-strings): Remove.
- 	(-fno-const-strings): Don't mention -fwritable-strings.
- 	* doc/trouble.texi: Don't mention -fwritable-strings.
- 
- 2004-02-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/install.texi: Update for switch of boehm-gc to autoconf 2.57.
- 
- 2004-02-23  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000.md (movsf_hardfloat): Add POWER form of nop.
- 	(movdf_hardfloat64):  Ditto.
- 	(movdf_softfloat64):  Ditto.
- 
- 2004-02-23  Fariborz Jahanian <fjahanian@apple.com>
- 	* config/rs6000/rs6000.c (function_arg): call to
- 	rs6000_mixed_function_arg for DFmode moved to allow
- 	normal DFmode incoming register assignment.
- 
- 2004-02-23  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000.md (movsf_hardfloat): Accept CTR-to-CTR copy.
- 	(movdf_hardfloat64):  Ditto.
- 
- 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* convert.c, gcov-io.c, libgcov.c, sched-int.h, sibcall.c,
- 	config/rs6000/linux.h, config/rs6000/rs6000-c.c: Update
- 	copyright.
- 
- 2004-02-23  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/14156
- 	* c-typeck.c (c_expand_return): Change check for VAR_DECL
- 	to use DECL_P instead.
- 
- 	* config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
- 	* config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
- 
- 2004-02-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* Makefile.in (opts.o): Depend on target.h.
- 	* opts.c (decode_options): Use targetm.default_short_enums
- 	instead of DEFAULT_SHORT_ENUMS.
- 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
- 	* target-def.h (TARGET_DEFAULT_SHORT_ENUMS): New.
- 	(TARGET_INITIALIZER): Add TARGET_DEFAULT_SHORT_ENUMS.
- 	* target.h (gcc_target): Add default_short_enums.
- 	* config/cris/cris.h: Remove a comment about
- 	DEFAULT_SHORT_ENUMS.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Change to
- 	TARGET_DEFAULT_SHORT_ENUMS.  Update the description.
- 
- 2004-02-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Falk Hueffner  <falk@debian.org>
- 
- 	PR c/14188
- 	* builtins.c (expand_builtin_va_arg): Emit an informative message
- 	if a trap is generated.
- 	* c-typeck.c (build_function_call): Likewise.
- 
- 2004-02-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
- 	fopen.
- 	* libgcov.c: Include sys/stat.h.
- 	* config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
- 	* config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
- 	* config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
- 	* config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
- 
- 2004-02-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reorg.c: Remove comments about dead ports.
- 
- 2004-02-22  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
- 	extra host object file when targetting cygwin rather than generic
- 	object files.
- 
- 2004-02-22  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	Merge from tree-ssa:
- 	2003-11-20  Richard Henderson  <rth@redhat.com>
- 
- 		* tree-inline.c (insert_decl_map): New.
- 		(remap_decl, remap_type, remap_block, copy_body_r,
- 		initialize_inlined_parameters, declare_return_variable,
- 		remap_save_expr): Use it.
- 
- 	* function.c (copy_body_r): Add mapping from id->ret_label to
- 	id->ret_label.  Revert test for ret_label.
- 
- 2004-02-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* genoutput.c (process_template): Strip trailing whitespace in @
- 	templates and issue a warning if there was any.
- 
- 2004-02-21  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
- 	object file when targetting cygwin.
- 	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
- 	overridden by top-level Makefile.
- 
- 2004-02-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (standard_80387_constant_p): Also prefer
- 	the x87's load constant instructions when optimizing for size.
- 
- 2004-02-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (SHIFT_COUNT_TRUNCATED): Remove.
- 	* defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default.
- 	* expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined.
- 	* fold-const.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 
- 2004-02-21  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* combine.c (can_combine_p): Don't ignore SETs marked with
- 	REG_EH_REGION notes.
- 	(try_combine): When attemting to fix unrecognized insns, don't
- 	split a PARALLEL that contains the original i2.
- 
- 2004-02-21  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
- 	SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
- 	* config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
- 	* config/rs6000/altivec.h: #error out if '-maltivec' not specified.
- 	(vector, pixel, bool): #define to __vector, __pixel and __bool.
- 	(__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
- 	portion of header.
- 	(__altivec_link_error_invalid_argument): Remove prototype; will use
- 	__builtin_altivec_compiletime_error("vec_*") instead.
- 	(vec_*): Fix/complete set of available operation overloads given the
- 	existence of distinct 'vector bool ...' and 'vector pixel' types; tighten
- 	cv-correctness of pointer arguments; in C, always check for correct
- 	argument types before macro expansion.
- 	* config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
- 	defining Darwin/PowerPC-specific '-f[no-]altivec' and
- 	'-W[no-]altivec-long-deprecated' switches.
- 	* config/rs6000/rs6000-c (rs6000_cpu_cpp_builtins): Pre-define
- 	'__vector', '__pixel' and '__bool' macros using
- 	'__attribute__((altivec(...)))' types.
- 	* config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
- 	bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
- 	bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
- 	New type nodes.
- 	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
- 	handling '-W[no-]altivec-long-deprecated'.
- 	(rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
- 	(rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
- 	altivec_expand_dst_builtin): Remove casts from integer literals.
- 	(altivec_expand_builtin): Likewise; handle expansion of new
- 	'__builtin_altivec_compiletime_error' function.
- 	(rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
- 	types, and make them distinct from other vector types; register
- 	'__builtin_altivec_compiletime_error' function.
- 	(print_operand): For 'P', print a full target register name instead of
- 	merely its number.
- 	(rs6000_attribute_table): Add "altivec" attribute.
- 	(rs6000_handle_altivec_attribute): New function.
- 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
- 	'-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
- 	maps to).
- 	(rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
- 	declare.
- 	(ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
- 
- 2004-02-20  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/ia64.md (shift_mix4left+1): Delete reload_completed
- 	check.
- 	(shift_mix4left+2): Delete redundant pattern.
- 
- 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c (OUTGOING_REGNO): Don't define the default.
- 	* builtins.c (OUTGOING_REGNO): Likewise.
- 	(INCOMING_REGNO): Likewise.
- 	(apply_args_register_offset): Always use OUTGOING_REGNO.
- 	* combine.c (OUTGOING_REGNO): Likewise.
- 	* sibcall.c (OUTGOING_REGNO): Likewise.
- 	* defaults.h (INCOMING_REGNO): Provide the default.
- 	(OUTGOING_REGNO): Likewise.
- 
- 2004-02-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* params.def (max-peeled-insns, max-completely-peeled-insns,
- 	max-once-peeled-insns): Set to 400.
- 
- 2004-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR c++/12007
- 	* dbxout.c (dbxout_parms): Check that DECL_RTL and DECL_INCOMING_RTL
- 	are set for parameters before outputing debugging information.
- 
- 2004-02-20  Falk Hueffner  <falk@debian.org>
- 
- 	PR target/14201
- 	* config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
- 	numbers.
- 
- 2004-02-20  Per Bothner  <per@bothner.com>
- 
- 	* input.h:  Don't #include line-map.h.  It may cause link problems
- 	with undefined linemap_line_start when line-map.h is included but
- 	line-map.o is not linked, as currently happens with gengtype on
- 	compilers that don't support inline.
- 	* toplev.c:  So we do have to explicitly #include line-map.h here.
- 
- 2004-02-20  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/invoke.texi: Add -Wvariadic-macros.
- 
- 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* haifa-sched.c (sched_emit_insn): Remove.
- 	* sched-int.h: Remove the corresponding prototype.
- 
- 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	Revert:
- 	2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
- 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
- 	* config/cris/cris.h: Remove a comment about
- 	DEFAULT_SHORT_ENUMS.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
- 
- 2004-02-20  Mohan Embar  <gnustuff@thisiscool.com>
- 	    Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/install.texi: Moved --disable-libgcj and
- 	--with-system-zlib documentation to new section for
- 	Java-specific options.
- 	Added explicit Cross-Compiler-Specific Options subheading.
- 	Added section for Java-specific options.
- 
- 2004-02-20  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi (Building the Ada compiler): Remove
- 	example.
- 
- 2004-02-20  James E Wilson  <wilson@specifixinc.com>
- 
- 	* toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
- 
- 2004-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcc.c (process_command): Allow translation of the copyright
- 	symbol but not the rest of the copyright message.
- 	* gcov.c (print_version): Likewise.  Allow translation of the
- 	message about warranty.
- 
- 2004-02-20  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.md ("*andsi_movu"): Correct parentheses in
- 	predicate.
- 	("*andsi_clear"): Tweak constraints to not match postincrement.
- 	Adjust the predicate to exclude a volatile memory reference.
- 	("*andhi_clear"): Ditto.  Rename from "*andhi_clear_signed".
- 	("*andhi_clear_unsigned"): Remove, non-matching pattern.
- 
- 2004-02-19  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* move-if-change: Remove.
- 	* Makefile.in (s-mlib, c-parse.y, s-check, s-gencheck)
- 	(s-specs, s-options, s-config, s-conditions, s-flags, s-codes)
- 	(s-constants, s-emit, s-recog, s-opinit, s-extract, s-peep)
- 	(s-attr, s-attrtab, s-output, s-genrtl, s-modes, s-preds)
- 	(s-gtyp-gen, s-iov): Use the top level move-if-change.
- 	* objc/Make-lang.in (objc/objc-parse.y): Likewise.
- 
- 2004-02-19  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/i386/i386.md (doloop_end_internal): Use nonimmediate_operand
- 	for operand2.  Add condition that requires register_operand operand2
- 	before reload.
- 
- 2004-02-19  Richard Sandiford  <rsandifo@redhat.com>
- 	    Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 
- 	* config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
- 	* config/mips/mips.md: Expand comment above unaligned loads and stores.
- 
- 2004-02-19  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (STRICT2_WARN): Add -Wno-variadic-macros.
- 	* tree.c (build0, build1, build2, build3, build4): Split out from...
- 	(build): ... here.  Call them.
- 	* tree.h (build, _buildN1, _buildN2, _buildC1, _buildC2): New.
- 
- 	* convert.c (convert_to_integer): Remove extra build argument.
- 	* tree-inline.c (expand_call_inline): Likewise.
- 
- 2004-02-19  Richard Henderson  <rth@redhat.com>
- 
- 	* c-opts.c (warn_variadic_macros): New.
- 	(c_common_handle_option): Set it.
- 	(sanitize_cpp_opts): Copy it to cpp_opts.
- 	* c.opt (Wvariadic-macros): New.
- 	* cpplib.h (struct cpp_options): Add warn_variadic_macros.
- 	* cppinit.c (cpp_create_reader): Initialize it.
- 	* cppmacro.c (parse_params): Check it.
- 
- 2004-02-19  David Daney <ddaney@avtrex.com>
- 
- 	PR preprocessor/14198
- 	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
- 	builtin_assert ("machine=mips")
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* opts.c (decode_options): Don't use DEFAULT_SHORT_ENUMS.
- 	* system.h (DEFAULT_SHORT_ENUMS): Poison.
- 	* config/cris/cris.h: Remove a comment about
- 	DEFAULT_SHORT_ENUMS.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* doc/tm.texi (DEFAULT_SHORT_ENUMS): Remove.
- 
- 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
- 	when passing single SFmode quantities in general registers,
- 	put them in the high half.
- 
- 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/md.texi (Standard Names): Document additional dependency on
- 	fix pattern.
- 
- 	* optabs.c (ftruncify): Remove.
- 	(expand_fix): Manually inline ftruncify above.
- 	(can_fix_p): Add FIXME note.
- 
- 2004-02-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md (spe_fixunssfsi2): Rename to
- 	spe_fixuns_truncsfsi2.
- 
- 	* config/rs6000/rs6000.md (fixunssfsi2): Rename to
- 	fixuns_truncsfsi2.
- 
- 2004-02-19  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
- 	* testsuite/gcc.dg/20040219-1.c: New test.
- 
- 2004-02-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
- 	"*subsf3_cconly"): Subtraction is not commutative.
- 
- 2004-02-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* sdbout.c (preinit_symbols, sdbout_initialized): New statics.
- 	(sdbout_symbol): If called before sdbout_init, queue DECL for
- 	later and return.
- 	(sdbout_init): Set sdbout_initialized true, process decls
- 	queued earlier by sdbout_symbol.
- 	(sdbout_finish): Use size_t for index variable.
- 
- 2004-02-19  Jeff Law  <law@redhat.com>
- 
- 	* fold-const.c (invert_truthvalue): Do not call invert_tree_comparison
- 	for unordered comparison codes.
- 
- 2004-02-19  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* reload1.c (reload): Correct comment.
- 	(scan_paradoxical_subregs): Remove #if 0 and old comment.
- 	* doc/extend.texi (Local Reg Vars): Remove obsolete comment that
- 	register variables are not used by reload.
- 
- 2004-02-19  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/14209
- 	* config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
- 	constraints to not match postincrement.  Adjust the predicate to
- 	exclude a volatile memory reference.
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mcore/mcore.h (ASM_OUTPUT_EXTERNAL): Remove.
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* hooks.c (hook_void_tree_int): Remove.
- 	(hook_void_constcharptr): Likewise.
- 	(hook_int_void_0): Likewise.
- 	* hooks.h: Remove the prototypes for the above three
- 	functions.
- 	* targhooks.c (hook_bool_machine_mode_true): Remove.
- 	* targhooks.h: Remove the prototype for
- 	hook_bool_machine_mode_true.
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (subreg_realpart_p): Remove.
- 	(reorder_insns_with_line_notes): Likewise.
- 	(end_full_sequence): Likewise.
- 	* rtl.h: Remove the prototype for the above functions.
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc.h, config/arm/arm.h, config/frv/frv.h,
- 	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
- 	config/iq2000/iq2000.h, config/m32r/m32r.h,
- 	config/pdp11/pdp11.h, config/sparc/sparc.h,
- 	config/xtensa/xtensa.h: Remove commented-out or useless
- 	definitions of CASE_VECTOR_PC_RELATIVE.
- 
- 2004-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* loop.c (all_sets_invariant_p): Remove.
- 
- 2004-02-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/12916
- 	* config/sparc/sparc.h (NPARM_REGS): Delete.
- 	(BASE_RETURN_VALUE_REG): Likewise.
- 	(BASE_OUTGOING_VALUE_REG): Likewise.
- 	(BASE_PASSING_ARG_REG): Likewise.
- 	(BASE_INCOMING_ARG_REG): Likewise.
- 	* config/sparc/sparc.c (sparc_strict_argument_naming): Test
- 	TARGET_ARCH64, not TARGET_V9.
- 	(function_arg_slotno): Dispatch based on the mode class.
- 	Handle vector modes like floating-point modes.
- 	(function_arg_record_value_1): Handle vector types like
- 	floating-point types.
- 	(function_arg_record_value_2): Likewise.
- 	Calculate regno after mode transformation.
- 	(function_arg): Handle vector modes like floating-point modes.
- 	(function_arg_partial_nregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX.
- 	If ARCH64, do not recheck alignment.
- 	(function_arg_pass_by_reference): Reorder the conditions.
- 	(sparc_return_in_memory): Move after function_arg_padding.
- 	Implement calling conventions for vector modes.
- 	(sparc_struct_value_rtx): Move after sparc_return_in_memory.
- 	(function_value): Move scope of 'regbase'.
- 	Implement calling conventions for vector modes.
- 	(sparc_builtin_saveregs): Replace NPARM_REGS by SPARC_INT_ARG_MAX
- 	and BASE_INCOMING_ARG_REG by SPARC_INCOMING_INT_ARG_FIRST.
- 	(sparc_va_arg): Use function_arg_pass_by_reference to test whether
- 	the argument is passed by reference.
- 	(sparc_type_code): Handle vector types.
- 
- 2004-02-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* function.c (assign_parms): When building decl_rtl for
- 	SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
- 
- 2004-02-19  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* expr.c (is_aligning_offset): Check if we are aligning the
- 	expressions's address over BIGGEST_ALIGNMENT in bytes, not
- 	in bits.
- 
- 2004-02-18  Matt Austern  <austern@apple.com>
- 
- 	* gcc.c (LIBGCC_SPEC): If REAL_LIBGCC_SPEC is defined, and
- 	LIBGCC_SPEC isn't, set LIBGCC_SPEC to REAL_LIBGCC_SPEC.
- 	(init_gcc_spec): Don't define or call if REAL_LIBGCC_SPEC is
- 	defined.  Instead use REAL_LIBGCC_SPEC, unmodifed, as the libgcc
- 	spec string.
- 	* doc/tm.texi (REAL_LIBGCC_SPEC): Document.
- 
- 2004-02-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dwarf2out.c (loclabel_num): Move outside #ifdef
- 	DWARF2_DEBUGGING_INFO and mark with GTY(()).
- 	* config/ia64/ia64.c (struct extern_func_list,extern_func_head):
- 	Mark with GTY(()).
- 	(ia64_hpux_add_extern_decl): Save the decl, not the name string.
- 	Allocate memory with ggc_alloc.  No need to copy anything.
- 	(ia64_hpux_file_end): Update to match.
- 
- 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
- 	by default.
- 
- 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("divmodtidi3"): Use canonical RTL.
- 	("divmodtisi3"): Likewise.
- 	("udivmoddi4", "udivmodtidi3"): Likewise.
- 	("divmodsi4", "divmoddisi3"): Likewise.
- 	("udivmodsi4", "udivmoddisi3"): Likewise.
- 	("udivsi3", "umodsi3"): Likewise.
- 
- 2004-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_mainpool_start): Delete the main pool
- 	placeholder insn when chunkifying the pool.
- 
- 2004-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
- 	generating PIC code.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_expand_branch.
- 	* config/h8300/h8300.c (h8300_expand_branch): New.
- 	* config/h8300/h8300.md (ble, bleu, bge, bgeu, blt, bltu, bgt,
- 	bgtu, beq, bne): Call h8300_expand_branch().
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add prototypes for
- 	h8300_hard_regno_nregs and h8300_hard_regno_mode_ok.
- 	* config/h8300/h8300.c (h8300_hard_regno_nregs): New.
- 	(h8300_hard_regno_mode_ok): Likewise.
- 	* config/h8300/h8300.h (HARD_REGNO_NREGS): Call
- 	h8300_hard_regno_nregs().
- 	(HARD_REGNO_MODE_OK): Call h8300_hard_regno_mode_ok().
- 
- 2004-02-18  Per Bothner  <per@bothner.com>
- 
- 	* cpphash.h (struct cpp_buffer):  Restore return_at_eof field.  This
- 	partly reverts my 2003-10-01 change, because we're back to logically
- 	including <command line> inside the main line.
- 	* cpplex.c (_cpp_get_fresh_line):  Check return_at_eof field.
- 	* cppmacro.c (cpp_scan_nooutput):  Set return_at_eof of current buffer.
- 	Fixes PR preprocessor/14103.
- 
- 	* cppfiles.c (_cpp_stack_include):  When appropriate decrement
- 	line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
- 	(cpp_push_include):  Don't need to increment pfile's line field.
- 	* line-map.h (LAST_SOURCE_LINE_LOCATION):  Only decrement by 1.
- 
- 	* c-ppoutput.c (print struct):  New first_time field.
- 	(init_pp_output):  Set print.first_time.
- 	(pp_file_change):  Use print.first_time, rather than MAIN_FILE_P,
- 	which is set also for (say) <command line>.  Clear print.first_time.
- 
- 	* cppfiles.c (struct _cpp_file):  Comment and type for pch field
- 	does not match the code, so fix both.
- 	(should_stack_file):  Inline include_pch_p function.
- 	(include_pch_p):  Remove pointless function.
- 
- 	* cpphash.h (struct cpp_buffer):  Remove unused search_cached field.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (four define_peephole2's): Use
- 	h8300_regs_ok_for_stm().
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	expand_a_rotate().
- 	* config/h8300/h8300.c (expand_a_rotate): Remove the first
- 	argument.
- 	* config/h8300/h8300.md: Update all callers.
- 
- 2004-02-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_unary_operation): Deal with logicals on
- 	floats.
- 	(simplify_binary_operation): Deal with logicals on floats.
- 
- 	* i386.md (SSE fabs splitters): Emit new patterns.
- 	(SSE cmov splitters): Likewise.
- 	(sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
- 	(sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
- 	subregs.
- 	(sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
- 	(sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (expand_a_rotate): Don't generate insns
- 	by hand.
- 	(output_a_rotate): Tweak a comment.
- 	* config/h8300/h8300.md (*rotlqi3_1): Change to rotlqi3_1.
- 	(*rotlhi3_1): Change to rotlhi3_1.
- 	(*rotlsi3_1): Change to rotlsi3_1.
- 
- 2004-02-18  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/13866
- 	* arm.c (load_multiple_operation): Don't insist that the source reg
- 	of a post-increment component is the same as the destination.
- 	(store_multiple_operation): Likewise.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Move movsf patterns into one section
- 	of the file.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgloop.h, cfgloopanal.c, cpplex.c, except.h, loop-init.c,
- 	loop-unroll.c, scan-decls.c, scan.h, stor-layout.c,
- 	xcoffout.c, xcoffout.h, config/arm/mmintrin.h,
- 	config/mips/linux64.h, config/pa/pa-64.h,
- 	config/rs6000/aix51.h, config/rs6000/aix52.h,
- 	config/rs6000/spe.md, config/sparc/linux.h,
- 	config/sparc/linux64.h: Update copyright.
- 
- 2004-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Move push patterns into one
- 	section of the file.
- 
- 2004-02-18  Mark Mitchell <mark@codesourcery.com>
- 
- 	PR c++/11326
- 	* config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
- 	fntype.
- 
- 2004-02-18  Paul Brook  <paul@codesourcery.com>
- 
- 	* rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
- 
- 2004-02-18  Paul Brook  <paul@codesourcery.com>
- 
- 	PR debug/12934
- 	* dwarf2out.c (loc_descriptor_from_tree): Handle
- 	EXPR_WITH_FILE_LOCATION.
- 
- 2004-02-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (zero_extendqidi2, zero_extendqidi2,
- 	testdi_1_rex64, anddi_2, xordi_1_rex64, xordi_2_rex64): Remove
- 	trailing whitespace from instructions.
- 
- 2004-02-17  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* configure.ac: When generating auto-build.h, pass
- 	--enable-languages to the sub-configure.
- 	Put quotes around ${program_transform_name} when generating
- 	name of as, ld, nm, objdump.
- 	* configure: Regenerate.
- 
- 2004-02-17  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* Makefile.in (s-check, s-config, s-conditions, s-flags)
- 	(s-codes, s-constants, s-emit, s-recog, s-opinit, s-extract)
- 	(s-peep, s-attr, s-attrtab, s-output, s-genrtl, s-modes)
- 	(s-preds, s-iov): Do not depend on move-if-change.
- 
- 2004-02-17  James E Wilson  <wilson@specifixinc.com>
- 
- 	* caller-save.c (insert_restore): Pass mem through copy_rtx.
- 	(insert_save): Likewise.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_emit_stack_adjustment): Fix a
- 	warning.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*one_complsi2_h8300): Change to
- 	*one_cmplsi2_h8300.
- 	(*one_complsi2_h8300hs): Change to *one_cmplsi2_h8300hs.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype of
- 	fix_bit_operand().
- 	* config/h8300/h8300.c (fix_bit_operand): Remove the second
- 	argument "what".
- 	* config/h8300/h8300.md: Update all callers.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (fix_bit_operand): Change the name of
- 	the last argument to "code" from "type".
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Remove an extern declaration of
- 	rtx_equal_function_value_matters.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (fix_bit_operand): Don't generate insns
- 	by hand.
- 	* config/h8300/h8300.md (*andqi3_1): Change to andqi3_1.
- 	(*iorqi3_1): Change to iorqi3_1.
- 	(*xorqi3_1): Change to xorqi3_1.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, cfghooks.c, rtlanal.c, varasm.c: Fix comment
- 	typos.
- 
- 2004-02-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_prologue_using_move, x86_epilogue_using_move): Disable for P4.
- 
- 2004-02-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR optimization/14119
- 	* combine.c (try_combine): When attemting to fix unrecognized insns,
- 	don't delete SETs marked with REG_EH_REGION notes.
- 
- 2004-02-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (simplify_if_then_else): Do not replace
- 	(if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
- 	modes differ.
- 
- 2004-02017  Steven Bosscher  <stevenb@suse.de>
- 
- 	* (c-decl.c, c-semantics.c, calls.c, cgraph.c, cgraphunit.c,
- 	function.c, integrate.c, print-tree.c, toplev.c, tree-optimize.c,
- 	tree.h): Replace DECL_SAVED_INSNS with DECL_STRUCT_FUNCTION.
- 	* ada/utils.c: Likewise.
- 	* cp/decl.c: Likewise.
- 	* f/com.c: Likewise.
- 	* java/class.c: Likewise.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Fix comment typos.
- 
- 2004-02-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/t-iris6gld: Renamed to ...
- 	* config/mips/t-irix-gld: ... this.
- 	* config.gcc (mips-sgi-irix6*): Reflect this
- 	(mips-sgi-irix5*): Use it with GNU ld.
- 
- 	* config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
- 	to ...
- 	* config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
- 	* config/mips/t-irix-gld: Reflect this.
- 	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 
- 	* config/mips/iris5gld.h: New file.
- 	* config.gcc (mips-sgi-irix5*): Use it with GNU ld.
- 	Only use collect2 without gas.
- 
- 	* config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
- 	Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
- 	(STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
- 	* config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 
- 	* config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
- 	* config/mips/iris5.h: ... here.
- 
- 	* config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
- 	IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Define.
- 
- 	* config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
- 	using irix_startfile_spec, irix_endfile_spec.
- 
- 2004-02-16  Gunther Nikl  <gni@gecko.de>
- 
- 	* config/m68k/m68k.c: Remove obsolete support for HPUX_ASM.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_expand_prologue): Don't generate
- 	insns by hand.
- 
- 2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfghooks.c (split_edge): Speed up updating of dominators.
- 
- 2004-02-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/11326
- 	* c-common.c (flag_abi_version): Remove.
- 	* c-common.h (flag_abi_version): Likewise.
- 	* c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
- 	* c.opt (fabi-version): Remove.
- 	* calls.c (expand_call): Always pass a function type to
- 	struct_value_rtx.  Use convert_memory_address.
- 	* common.opt (fabi-version): Add it.
- 	* flags.h (flag_abi_version): Likewise.
- 	(abi_version_at_least): New macro.
- 	* opts.c (common_handle_option): Add OPT_fabi_version.
- 	* toplev.c (flag_abi_version): Define it.
- 	* config/ia64/ia64.c (ia64_struct_retval_addr_is_first_parm_p):
- 	New function.
- 	(ia64_output_mi_thunk): Use it.
- 	(ia64_struct_value_rtx): Likewise.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_emit_stack_adjustment):
- 	Don't generate insns by hand.
- 
- 2004-02-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c++/14178
- 	* doc/invoke.texi (fabi-version): The default is 2 now.
- 
- 2004-02-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop-iv.c: New file.
- 	* Makefile.in (loop-iv.o): New.
- 	* basic_block.h (FOR_BB_INSNS, FOR_BB_INSNS_REVERSE): New macros.
- 	* cfgloop.c (fill_sons_in_loop, get_loop_body_in_dom_order,
- 	num_loop_branches): New functions.
- 	* cfgloop.h (get_loop_body_in_dom_order, num_loop_branches,
- 	iv_analysis_loop_init, iv_get_reaching_def, iv_analyse, get_iv_value,
- 	find_simple_exit, iv_number_of_iterations, iv_analysis_done,
- 	get_simple_loop_desc, free_simple_loop_desc): Declare.
- 	(simple_loop_desc): New inline function.
- 	(struct rtx_iv, struct niter_desc): New.
- 	* cfgloopmanip.c (loopify): Specify semantics more precisely.
- 	* expr.c (force_operand): Handle subregs of expressions created by
- 	loop unroller.
- 	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Move
- 	parts of the initialization to toplev.c
- 	* loop-unroll.c (loop_exit_at_end_p): New.
- 	(unroll_and_peel_loops): Call iv_analysis_done.
- 	(decide_peel_once_rolling, decide_peel_completely,
- 	decide_unroll_stupid, decide_unroll_constant_iterations,
- 	decide_unroll_runtime_iterations, decide_peel_simple,
- 	peel_loop_simple, unroll_loop_stupid, unroll_loop_constant_iterations,
- 	unroll_loop_runtime_iterations): Use new simple loop analysis.
- 	* loop-unswitch.c (compare_and_jump_seq): New.
- 	(may_unswitch_on_p): Renamed to ...
- 	(may_unswitch_on): Use new iv analysis.
- 	(reversed_condition): Export.
- 	(unswitch_single_loop, unswitch_loop): Use new iv analysis.
- 	* predict.c (estimate_probability): Use new simple loop analysis.
- 	* rtl.h (get_mode_bounds, reversed_condition,compare_and_jump_seq,
- 	canon_condition, simplify_using_condition): Declare.
- 	* stor-layout.c (get_mode_bounds): New.
- 	* toplev.c (rest_of_handle_loop2): Some parts of
- 	initialization/finalization moved here from loop-init.c.
- 
- 2004-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (FIXED_REGISTERS): Add the soft frame
- 	pointer.
- 	(CALL_USED_REGISTERS): Likewise.
- 	(REG_ALLOC_ORDER): Likewise.
- 	(REG_CLASS) <GENERAL_REGS>: Likewise.
- 
- 2004-02-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/md.texi (Insn Canonicalizations): Document left-chaining
- 	in associative operators.
- 	* rtlanal.c (commutative_operand_precedence): Create some new
- 	variables.  Prefer a commutative operand on the left, then
- 	binary expressions, then NEG and NOT.
- 
- 2004-02-16  Matthias Klose  <doko@debian.org>
- 
- 	* config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
- 	in terms of SHLIB_SOVERSION.
- 	* config/m68k/t-slibgcc-elf-ver: New file.
- 	* config/pa/t-slibgcc-elf-ver: New file.
- 	* config.gcc (m68k-linux, parisc-linux): Use them when not
- 	sjlj exceptions are not configured.
- 
- 2004-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
- 
- 2004-02-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* sdbout.c (sdb_debug_hooks): Correct the type_decl entry.
- 
- 2004-02-16  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/sourcebuild.texi: Mention backends.html.
- 
- 2004-02-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c, c-ppoutput.c, cpphash.h, cpplib.h, dbxout.c,
- 	line-map.c, line-map.h, var-tracking.c: Fix comment
- 	formatting.
- 
- 2004-02-16  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
- 
- 	* fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.
- 
- 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Remove unnecessary parallels from
- 	all define_insn and define_split patterns.
- 
- 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Remove explicit (set_attr "cc"
- 	"clobber").
- 
- 2004-02-15  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
- 	'%#'.
- 
- 2004-02-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ia64/ia64.c, config/mips/mips.c,
- 	config/mmix/mmix-modes.def: Fix comment typos.
- 
- 2004-02-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-common.h (GET_DIRECTIVE_LINE): Remove unused macro.
- 	(get_directive_line): Remove unused function prototype.
- 
- 2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* tree-inline.c (copy_body_r): Do not replace ret_label.
- 
- 2004-02-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_four_jump_limit): New variable.
- 	(k8_avoid_jump_misspredicts): Rename to ...
- 	(ix86_avoid_jump_misspredicts): .. this one.
- 	(ix86_pad_returns): Break out from ...
- 	(ix86_reorg): ... this one; do ix86_avoid_jump_misspredicts when asked
- 	to.
- 	* i386.h (TARGET_FOUR_JUMP_LIMIT): New macro.
- 
- 2004-02-14  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* emit-rtl.c (set_decl_incoming_rtl): Check whether the 0th element of
- 	PARALLEL is NULL.
- 
- 2004-02-14  Per Bothner  <per@bothner.com>
- 
- 	* fix-header.c (line_table):  Move local variable in main to global.
- 	* scan.h (line_table):  Use it.
- 	* scan-decls.c (scan_decls):  Need to call linemap_lookup on token's
- 	line (recently renamed to src_loc) before calling recognized_function.
- 
- 2004-02-14  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* Makefile.in: Fix comment typos.
- 
- 2004-02-14  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
- 	for start_value when it is directly moved into reg, and factorize
- 	the retrieval of GET_MODE (reg).
- 
- 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_load_got_page): Delete.
- 	(mips_load_got_global): Delete.
- 	(mips_gotoff_page): Declare.
- 	* config/mips/mips.md (UNSPEC_LOAD_GOT): New constant.
- 	(*xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i): Build an
- 	UNSPEC_LOAD_GOT pattern rather than a MEM.
- 	(*load_got[sd]i): New patterns.
- 	* config/mips/mips.c (mips_got_alias_set, mips_load_got): Delete.
- 	(mips_load_got_page, mips_load_got_global): Delete.
- 	(mips_gotoff_page): New function.
- 	(override_options): Don't initialize mips_got_alias_set.
- 
- 2004-02-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_DEBUG_[ABEFI], TARGET_DEBUG_[ABEFI]_MODE)
- 	(TARGET_MIPS4100, TARGET_MIPS4300, TARGET_MIPS4KC, TARGET_MIPS5KC)
- 	(TARGET_SB1, TUNE_SB1, TUNE_SR71K, BIGGEST_MAX_ARGS_IN_REGISTERS)
- 	(GO_PRINTF, GO_PRINTF2, GO_DEBUG_RTX, DFMODE_NAN, SFMODE_NAN): Delete.
- 	(TARGET_SWITCHES): Remove MASK_DEBUG_[ABEFI].
- 	* config/mips/mips.c: Fix some overly-long lines.
- 	(SINGLE_WORD_MODE_P, PIC_OFFSET_TABLE_MASK): Delete.
- 	(init_cumulative_args): Remove TARGET_DEBUG_E_MODE handling.
- 
- 2004-02-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.ac: Search for as, ld below libexec/gcc.
- 	* configure: Regenerate.
- 
- 2004-02-14  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/mmintrin.h (_mm_setwcx): Reverse arguments in call to
- 	__builtin_arm_setwcx ().
- 	* config/arm/arm.c (arm_expand_builtin): Generate operands
- 	correctly and reverse their order in call to gen_iwmmxt_tmcr ().
- 
- 2004-02-14  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/arm.c (bdesc_2arg): Correct builtin names "wmulsh"
- 	and "wmuluh" to "wmulsm" and "wmulum", respectively.
- 	* config/arm/arm.h (enum arm_builtins): Rename enumerators to
- 	ARM_BUILTIN_WMULSM and ARM_BUILTIN_WMULUM.
- 	* config/arm/mmintrin.h (_mm_mulhi_pi16): Update intrinsic call.
- 	(_mm_mulhi_pu16): Likewise.
- 
- 2004-02-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* xcoffout.c (xcoff_assign_fundamental_type_number): Check
- 	DECL_NAME != 0 before dereferencing.
- 
- 2004-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_output_symbolic_const): Remove.
- 	(s390_output_addr_const_extra): Declare.
- 	(s390_output_pool_entry): Remove FILE * argument.
- 	* config/s390/s390.c (s390_output_symbolic_const): Remove.
- 	(s390_output_addr_const_extra): New function.
- 	(print_operand_address): Call output_addr_const instead of
- 	s390_output_symbolic_const.
- 	(print_operand): Likewise.
- 	(s390_output_pool_entry): Use assemble_integer for symbolic constants.
- 	Remove FILE * argument.
- 	* config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Define.
- 	* config/s390/s390.md ("*pool_entry"): Adapt s390_output_pool_entry
- 	call.
- 
- 2004-02-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopanal.c (mark_irreducible_loops): Rewriten.
- 	(struct edge, struct vertex, struct graph): New.
- 	(dump_graph, new_graph, add_edge, dfs, check_irred, for_each_edge,
- 	free_graph): New functions.
- 
- 2004-02-12  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (casesi_internal, casesi_internal_di):
- 	Use ".set macro" to avoid warnings about multi-instruction
- 	macros, since they're intentional.
- 
- 2004-02-12  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h: Add include guards.  Remove old, now incorrect,
- 	comment about STANDARD_EXEC_PREFIX.
- 
- 	* Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
- 	$(GCOV_INSTALL_NAME) to install manpages.  Remove generic rule
- 	for installing .1 manpages.  Add rules for installing cpp
- 	and gcov manpages under their installed names.
- 
- 2004-02-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.ac (gcc_cv_ld): Don't set to LD if target is not
- 	host, but try LD_FOR_TARGET first.
- 	* configure: Rebuilt.
- 
- 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c: Move declaration of dbxout_type_decl outside
- 	#ifdef DBX_DEBUGGING_INFO.
- 	* c-parse.in: Don't give the asmdef production a type.
- 
- 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* debug.h (struct gcc_debug_hooks): Add type_decl field.
- 	(debug_nothing_tree_int): Prototype.
- 	(dwarf_debug_hooks): Delete, unused.
- 	* debug.c (do_nothing_debug_hooks): Update.
- 	(debug_nothing_tree_int): New function.
- 	* langhooks.h (struct lang_hooks_for_decls):
- 	Remove builtin_type_decls field.
- 	* langhooks-def.h (LANG_HOOKS_BUILTIN_TYPE_DECLS): Delete.
- 	(LANG_HOOKS_DECLS): Update.
- 	* toplev.c (rest_of_decl_compilation, rest_of_type_compilation):
- 	Use debug_hooks->type_decl.
- 	* dbxout.c (preinit_symbols): New static.
- 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
- 	(dbxout_init): Don't call DBX_OUTPUT_STANDARD_TYPES or
- 	lang_hooks.decls.builtin_type_decls.  Do scan preinit_symbols
- 	for symbols to output.
- 	(dbxout_type_decl): New function.
- 	(dbxout_symbol): If called before dbxout_init has run, queue
- 	the symbol for later.  Apply DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER
- 	to TYPE_DECLs before emitting them.
- 	* xcoffout.c (assign_type_number): Delete.
- 	(xcoff_type_numbers): New static table.
- 	(xcoff_assign_fundamental_type_number): New function.
- 	* xcoffout.h: Define DBX_ASSIGN_FUNDAMENTAL_TYPE_NUMBER, not
- 	DBX_OUTPUT_STANDARD_TYPES.  Remove unnecessary #ifdefs.
- 	* sdbout.c: Include varray.h.
- 	(deferred_global_decls): New static.
- 	(sdb_debug_hooks): Update.
- 	(sdbout_global_decl): If we can't emit something right now,
- 	remember it in deferred_global_decls.
- 	(sdbout_finish): Just scan deferred_global_decls; don't call getdecls.
- 	(sdbout_init): Initialize deferred_global_decls.
- 	* Makefile.in: Update dependencies of sdbout.o.
- 	* dwarf2out.c (dwarf2out_type_decl): New function.
- 	(dwarf2_debug_hooks): Update.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Update.
- 	* c-decl.c (getdecls): Just return 0.
- 	(check_for_loop_decls): Don't use getdecls.
- 	(record_builtin_type): Call debug_hooks->type_decl on the TYPE_DECL.
- 	* c-objc-common.c (c_objc_common_finish_file): Don't use getdecls.
- 
- 2004-02-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_sched_reorder2): Remove.
- 	(TARGET_SCHED_REORDER2): Do not redefine.
- 
- 2004-02-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-parse.in (maybe_type_qual): Delete.
- 	(maybe_volatile, simple_asm_expr, asmdef, asm_stmt)
- 	(asm_argument): New grammar rules.
- 	(extdef_1): Use asmdef.
- 	(maybeasm): Move down with other asm rules; use simple_asm_expr.
- 	(xexpr): Move up with other expression rules.
- 	(stmt): Use asm_stmt.
- 
- 	* c-typeck.c (build_asm_expr): New function - body mostly
- 	pulled from build_asm_stmt.
- 	(build_asm_stmt): Just handle tacking on the volatile qualifier.
- 	* c-tree.h (build_asm_expr, build_asm_stmt): Update prototypes.
- 
- 2004-02-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR bootstrap/13617
- 	* config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
- 	(mips_declare_object): Make variadic.
- 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
- 	mips_output_aligned_decl_common.
- 	* config/mips/mips.c (mips_output_aligned_decl_common): New function.
- 	(mips_declare_object): Make variadic.
- 
- 2004-02-12  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (update_epilogue_consts): Teach about binary operations.
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill
- 	previous MEM_VOLATILE in REF.
- 	* function.c (fixup_var_refs): Save volatile_ok and set to 1.
- 	* expr.c (emit_block_move_via_movstr): Save and restore volatile_ok.
- 
- 2004-02-12  Gunther Nikl  <gni@gecko.de>
- 
- 	* config.gcc: Restore support for m68k-openbsd.
- 
- 2004-02-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-optimize.c (tree_rest_of_compilation): Do not release
- 	DECL_ARGUMENTS.
- 
- 2004-02-11  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi: Fix the spelling of "explicitly".
- 
- 2004-02-11  Eric Christopher  <echristo@redhat.com>
- 
- 	* cppcharset.c (_cpp_interpret_string_notranslate): Rename and
- 	duplicate argument structure of cpp_interpret_string.
- 	* cpphash.h: Move prototype...
- 	* cpplib.h: Here.
- 	* cpplib.c: Fix calls to match new function signature.
- 
- 2004-02-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/456
- 	* cppexp.c (num_binary_op): Don't allow comma operators in #if
- 	constant expressions at all outside C99 mode if pedantic.
- 
- 2004-02-11  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* optabs.h (enum optab_index): Add new OTI_log10 and OTI_log2.
- 	(log10_optab, log2_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize log10_optab and log2_optab.
- 	* genopinit.c (optabs): Implement log10_optab and log2_optab
- 	using log10?f2 and log2?f2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LOG10{,F,L}
- 	using log10_optab, and BUILT_IN_LOG2{,F,L} using log2_optab.
- 	(expand_builtin): Expand BUILT_IN_LOG10{,F,L} and BUILT_IN_LOG2{,F,L}
- 	using expand_builtin_mathfn if flag_unsafe_math_optimizations is set.
- 
- 	* config/i386/i386.md (log10sf2, log10df2, log10xf2, log2sf2,
- 	log2df2, log2xf2): New patterns to implement log10, log10f, log10l,
- 	log2, log2f and log2l built-ins as inline x87 intrinsics.
- 
- 2004-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/1532
- 	* flow.c (insn_dead_p): A clobber of a dead hard register is a
- 	dead insn after reload.
- 
- 2004-02-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* tree.h (frame_base_decl): Add GTY marker.
- 	* var-tracking.c (frame_base_decl): Likewise.
- 
- 2004-02-11  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* dwarf2out.c (output_loc_list): Remove no longer necessary, and now
- 	incorrect, hunk.
- 	(add_location_or_const_value_attribute): Use text_section_label,
- 	not TEXT_SECTION_NAME.
- 
- 2004-02-11  Per Bothner  <per@bothner.com>
- 
- 	Represent column numbers using line-map's source_location.
- 	The "next available source_location" is now managed internally by
- 	line-maps.c rather than by clients.
- 	* line-map.h (struct line_map):  New field column_bits.
- 	<from_line>:  Rename field to start_location.
- 	(struct line_maps):  New fields highest_location and max_column_hint.
- 	(linemap_check_files_exited):  New declaration.
- 	(linemap_line_start):  New declaration.
- 	(linemap_add):  Remove from_line parameter; use highest_location field.
- 	(SOURCE_LINE, LAST_SOURCE_LINE):  Modify to use column_bits.
- 	(SOURCE_COLUMN, LAST_SOURCE_LINE_LOCATION):  New macros.
- 	(CURRENT_LINE_MAP):  Remove macro.
- 	(linemap_position_for_column):  New inline function.
- 	* line-map.c (linemap_init):  Clear new fields.
- 	(linemap_check_files_exited):  New function, extracted from ...
- 	(linemap_free):  Use linemap_check_files_exited.
- 	(linemap_add):  Remove from_line parameter.  Various updates.
- 	(linemap_line_start):  New function.
- 	(linemap_lookeup):  Update for new field names.
- 	* cpphash.h (struct cpp_reader) <map>:  Field removed.  Because
- 	linemap_position_for_column may unpredictably change the current map,
- 	it is cleaner and simpler for us to not cache it in cpp_reader.
- 	(struct cpp_buffer):  New sysp field.
- 	Changed warned_cplusplus_comments and from_stage3 to bitfields.
- 	* cppinit.c (cpp_read_min_file):  pfile->map no longer exists.
- 	* cpplib.c (do_line, do_linemarker, _cpp_do_file_change):  Get
- 	current map using linemap_lookup.
- 	(do_linemarker):  Also set buffer's sysp field.
- 	(destringize_and_run):  No longer need to decrement current line.
- 	* cppfiles.c (_cpp_stack_file):  Set sysp from and in buffer.
- 	(search_path_head, open_file_failed):  Use buffer's sysp.
- 	(cpp_make_system_header):  Get current map using linemap_lookup.
- 	Also set buffer's sysp flag.
- 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise use linemap_lookup.
- 	* cpphash.h (CPP_INCREMENT_LINE):  New macro.
- 	(struct cpp_buffer):  Moved fields saved_cur, saved_rlimit to ...
- 	(struct cpp_reader):  ... and adding saved_line_base field.
- 	* cpptrad.c (_cpp_overlay_buffer, _cpp_remove_overlay):
- 	Update accordingly.  Don't adjust line.
- 	(_cpp_scan_out_logical_line):  Use CPP_INCREMENT_LINE.
- 	* cpphash.c (CPP_IN_SYSTEM_HEADER):  Replaced macro by ...
- 	(cpp_in_system_header):  ... new inline function, using buffer's sysp.
- 	* cpperror.c (_cpp_begin_message):  Update to use cpp_in_system_header.
- 	* cpplex.c (_cpp_lex_direct):  Likewise.
- 	* cppmacro.c (_cpp_builtin_macro_text):  Likewise.
- 	* cppmacro.c (_cpp_create_definition):  Use buffer's sysp field.
- 	* cpplib.h (struct cpp_token):  Rename line field to src_loc.
- 	Remove col field as it is now subsumed by src_loc.
- 	* cpperror.c:  Update various field, parameter, and macro names.
- 	(print_location):  If col==0, try SOURCE_COLUMN of line.
- 	(cpp_error):  Use cur_token's src_loc field, rather than line+col.
- 	* cpplib.c (do_diagnostic):  Token's src_loc fields replaces line+col.
- 	* cpplex.c (_cpp_process_line_notes, _cpp_lex_direct,
- 	_cpp_skip_block_comment):  Use CPP_INCREMENT_LINE.
- 	(_cpp_temp_token):  Replace cpp_token's line+col fields by src_loc.
- 	(_cpp_get_fresh_line):  Don't need to adjust line for missing newline.
- 	(_cpp_lex_direct):  Use linemap_position_for_column.
- 	* c-ppoutput.c (maybe_print_line, print_line):  Don't take map
- 	parameter.  Instead get it from the line_table global.  Adjust callers.
- 	(print):  Remove map field.  Replace line field to src_line.
- 	(init_pp_output, account_for_newlines, maybe_print_line):  Adjust.
- 	(cb_line_change):  Use SOURCE_COLUMN.  Minor optimizations.
- 	(pp_file_change):  Use MAIN_FILE_P since we cannot checked print.map.
- 	Use LAST_SOURCE_LINE_LOCATION to "catch up" after #include.
- 	* cpptrad.c (copy_comment):  Rename variable.
- 	* c-lex.c (map):  Remove static variable, for same reason we removed
- 	cpp_reader's map field.
- 	(cb_line_change, cb_def_pragma, cb_define, cb_undef):  Hence we need
- 	to call linemap_lookup.
- 	(cb_line_change):  Token's line field replaced by src_loc.
- 	(fe_file_change):  Use MAINFILE_P and LAST_SOURCE_LINE macros.
- 	Don't save new_map.
- 
- 	* cpphash.h, cpperror.c, cpplib.h:  Some renames of fileline to
- 	source_location.
- 
- 2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/rs6000/altivec.md (*movv4si_internal): At least one
- 	operand must be register_operand.
- 	(*movv8hi_internal1): Likewise.
- 	(*movv16qi_internal1): Likewise.
- 	(*movv4sf_internal1): Likewise.
- 
- 2004-02-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md ("*movv2si_internal"): Check for register
- 	operand.
- 	(movv4hi_internal): Same.
- 	(movv2sf_internal): Same.
- 	(movv1di_internal): Same.
- 
- 2004-02-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
- 
- 	* config/mips/mips.h (TARGET_OLDABI): Define. Use TARGET_NEWABI and
- 	TARGET_OLDABI consistently.
- 	* config/mips/mips.c (function_arg,mips_setup_incoming_varargs,
- 	mips_va_arg,override_options,compute_frame_size,
- 	mips_initial_elimination_offset,mips16_fp_args,build_mips16_call_stub
- 	,mips_return_in_memory,mips_strict_argument_naming): Use TARGET_NEWABI
- 	and TARGET_OLDABI consistently.
- 	* config/mips/mips.md (exception_receiver): Likewise.
- 	* config/mips/linux64.h: Likewise.
- 
- 2004-02-11  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* gcc/config/rs6000/rs6000.c (rs6000_override_options)
- 	Set AltiVec ABI and vrsave as default for ppc64 linux.
- 	(init_cumulative_args): Post error, if try to return
- 	value in AltiVec register without enable AltiVec.
- 	(function_arg_advance): Ditto for passing arguments.
- 
- 2004-02-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
- 	a label before updating its usage count.
- 
- 2004-02-10  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi: Remove extra cd.
- 
- 2004-02-10  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.c (vector_size_helper): Remove; call
- 	reconstruct_complex_type() instead.
- 	* tree.c (reconstruct_complex_type): New function
- 	(formerly vector_size_helper() in c-common.c).
- 	(make_vector): Make externally visible.
- 	* tree.h (reconstruct_complex_type, make_vector): Add prototypes.
- 
- 2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_regs_ok_for_stm.
- 	* config/h8300/h8300.c (h8300_regs_ok_for_stm): New.
- 	* config/h8300/h8300.md (stm_h8300s_2_advanced,
- 	stm_h8300s_2_normal, stm_h8300s_2, stm_h8300s_3_advanced,
- 	stm_h8300s_3_normal, stm_h8300s_3, stm_h8300s_4_advanced,
- 	stm_h8300s_4_normal, stm_h8300s_4, ldm_h8300s_2_advanced,
- 	ldm_h8300s_2_normal, ldm_h8300s_2, ldm_h8300s_3_advanced,
- 	ldm_h8300s_3_normal, ldm_h8300s_3, ldm_h8300s_4_advanced,
- 	ldm_h8300s_4_normal, ldm_h8300s_4): Use
- 	h8300_regs_ok_for_stm().
- 
- 2004-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR c/14088
- 	* real.c (real_from_string): Look for 'X' as well as 'x' in
- 	hexfloat strings.
- 
- 2004-02-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Remove an incorrect comment about
- 	peephole2.  Add comments.
- 
- 2004-02-10  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	PR/14058
- 	* emit-rtl.c (set_decl_incoming_rtl): New.
- 	* tree.h (set_decl_incoming_rtl): New.
- 	* function.c (assign_parms): Use set_decl_incoming_rtl for setting
- 	DECL_INCOMING_RTL.
- 	* ada/misc.c (adjust_decl_rtl): Likewise.
- 
- 2004-02-10  Per Bothner  <per@bothner.com>
- 
- 	* c-opts.c (c_common_post_options):   Don't emit working directory
- 	in cpp output if -P was specified.
- 
- 2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR c/14092
- 	* fold-const.c (fold) <NEGATE_EXPR>: Convert result of
- 	negate_expr back to the original type.
- 
- 2004-02-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
- 	bump retaddr here.
- 
- 2004-02-10  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
- 	gen_lowpart_SUBREG): Move under the file in which they
- 	are actually declared.
- 
- 2004-02-10  Arnaud Charlet  <charlet@act-europe.fr>
- 
- 	* doc/sourcebuild.texi: Add libada documentation.
- 
- 	* doc/install.texi: Update documentation on Ada build, now
- 	that the GNAT lib and tools are built automatically.
- 
- 2004-02-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
- 	&& TARGET_IRIX.
- 
- 2004-02-09  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
- 	boundaries outside build_component_ref() call (a macro in ObjC++).
- 
- 2004-02-09  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
- 	(init_cumulative_args): Likewise.
- 	(a7_overlap_mentioned_p): Delete prototype.
- 	* config/xtensa/xtensa.c (struct machine_function): Replace
- 	incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
- 	Add set_frame_ptr_insn field.
- 	(xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
- 	(xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
- 	if the operand is an argument in a7.  If so, copy a7 to a new pseudo
- 	at the function entry and replace the operand with the pseudo.
- 	(init_cumulative_args): Remove unused arguments.  Add new "incoming"
- 	argument and record this flag in CUMULATIVE_ARGS.
- 	(function_arg): Remove result_mode and special-case code to handle
- 	arguments in a7.  Instead, set need_a7_copy flag when there is an
- 	incoming argument in a7.
- 	(xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
- 	and use the value recorded in cfun->machine->set_frame_ptr_insn.
- 	(xtensa_builtin_saveregs): Check for negative gp_left value.  Set
- 	need_a7_copy and vararg_a7 flags.  Use move_block_from_reg instead of
- 	special-case code.
- 	(a7_overlap_mentioned_p): Delete.
- 	* config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
- 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
- 	arguments to init_cumulative_args and pass "incoming" flag instead.
- 	(BLOCK_REG_PADDING): Delete.
- 	* config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
- 	checks for reload_in_progress and reload_completed.  Update calls to
- 	xtensa_copy_incoming_a7.
- 	(ashlsi3): Rename existing insn to ashlsi3_internal.  Add expander
- 	to call xtensa_copy_incoming_a7.
- 
- 2004-02-09  DJ Delorie  <dj@redhat.com>
- 
- 	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
- 	longer modify standard_exec_prefix, standard_bindir_prefix, or
- 	standard_startfile_prefix.
- 
- 2004-02-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR c++/11295
- 	* c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
- 	to expand_expr_real call, and pass in alt_rtl as last argument.
- 
- 	PR libstdc++/5625
- 	* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
- 	* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
- 	* builtins.def (BUILT_IN_EXTEND_POINTER): New.
- 	* except.c (expand_builtin_extend_pointer): New.
- 	* except.h (expand_builtin_extend_pointer): Declare.
- 
- 2004-02-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
- 	unaligned loads and stores.
- 
- 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
- 	* config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
- 
- 	* config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
- 	* config/mips/iris5.h: ... here.
- 	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
- 
- 	* config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
- 	* config/mips/iris5.h: ... here.
- 
- 2004-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.ac: Remove default executable files before AC_PROG_CC.
- 	* configure: Regenerate.
- 
- 2004-02-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/13721
- 	* config/h8300/h8300.c (byte_reg): Call abort() if asked to
- 	print a operand other than a register.
- 
- 2004-02-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
- 	tree code rather than call fold_convert, which doesn't specify a
- 	default floating point to integer conversion.
- 
- 2004-02-08  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
- 	code to support SGS assembler.  Reformat adjacent code where possible.
- 	* config/m68k/m68k.c (switch_table_difference_label_flag): Remove
- 	definition.
- 	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
- 	for '%#'.
- 	* config/m68k/linux.h, config/m68k/m68k.c,
- 	* config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
- 	macros and asm_printf() format strings.
- 	* config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
- 	* config/m68k/linux.h: Update copyright.
- 	* config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
- 
- 2004-02-08  Andreas Schwab  <schwab@suse.de>
- 	    Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
- 	REGISTER_PREFIX.
- 	* (M68K_FP_REG_NAME): New macro to specify an alternate name for the
- 	frame pointer register, overridable by OS targets.
- 	* (M68K_REGNAME): Macro to obtain register name for asm output,
- 	eventually replacing %a6 with M68K_FP_REG_NAME.
- 	* config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
- 	* config/m68k/linux.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
- 	* config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
- 
- 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
- 	hook_rtx_tree_int_null.
- 	* targhooks.c (default_struct_value_rtx): Remove.
- 	* targhooks.h: Remove the prototype for
- 	default_struct_value_rtx.
- 	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
- 	config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
- 	config/ip2k/ip2k.c, config/iq2000/iq2000.c,
- 	config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
- 	config/mn10300/mn10300.c, config/pdp11/pdp11.c,
- 	config/rs6000/rs6000.c, config/s390/s390.c,
- 	config/stormy16/stormy16.c, config/v850/v850.c,
- 	config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
- 	* doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
- 
- 2004-02-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* README.Portability: Change "ISO C89" to "ISO C90".
- 	* c-parse.in (primary, initelt): Likewise.
- 
- 2004-02-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* real.c (encode_ibm_extended): Normalize the input value before
- 	converting it to a double.  Handle the case where a normal value
- 	rounds to infinity.
- 
- 2004-02-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
- 	warning.
- 	* cse.c (preferrable): Change to preferable. Update all of its
- 	callers.
- 	* genautomata.c (ainsn): Change
- 	first_ainsn_with_given_equialence_num to
- 	first_ainsn_with_given_equivalence_num.  Update all of its
- 	references.
- 
- 2004-02-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
- 
- 2004-02-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* function.c (assign_parms): Fix formatting.
- 
- 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* default.h (PROMOTE_PROTOTYPES): Remove.
- 	* system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
- 	STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
- 	EXPAND_BUILTIN_SAVEREGS): Poison.
- 	* target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
- 	hook_bool_tree_false.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	* target.h: Replace SETUP_INCOMING_VARARGS with
- 	targetm.calls.setup_incoming_varargs().
- 	* targhooks.c (default_promote_function_return): Remove.
- 	(default_promote_prototypes): Likewise.
- 	(default_struct_value_rtx): Always abort().
- 	(default_expand_builtin_saveregs): Always print an error
- 	message.
- 	(default_setup_incoming_varargs): Do nothing.
- 	(default_pretend_outgoing_varargs_named): Don't depend on
- 	SETUP_INCOMING_VARARGS.
- 	* targhooks.h: Remove the prototype for
- 	default_promote_function_return and
- 	default_promote_prototypes.
- 
- 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (SHARED_SECTION_ASM_OP): Poison.
- 	* varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
- 	* doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
- 
- 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	Bug 13856
- 	* c-decl.c (diagnose_mismatched_decls): Only give special
- 	treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
- 	is also true.
- 	(merge_decls): Don't clear DECL_BUILT_IN_CLASS and
- 	DECL_FUNCTION_CODE when defining a built-in function.
- 	Don't update DECL_ESTIMATED_INSNS.
- 	* dwarf2out.c (dwarf2out_decl): Don't ignore built-in
- 	FUNCTION_DECLs.
- 	* tree.h: Delete DECL_ESTIMATED_INSNS.
- 	* tree-inline.c (struct inline_data): Delete inlined_insns field.
- 	(expand_call_inline, optimize_inline_calls): Don't update
- 	DECL_ESTIMATED_INSNS nor inlined_insns.
- 	* cgraphunit.c (cgraph_analyze_function): Don't update
- 	DECL_ESTIMATED_INSNS.
- 
- 2004-02-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (shadow_warning): Delete.
- 	* c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
- 	* c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
- 	* c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
- 	* c-parse.in (free_parser_stacks): Delete.
- 
- 2004-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
- 	config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
- 	Use the top level mkinstalldirs, not the one in the gcc subdir.
- 	* mkinstalldirs: Remove (from the gcc subdir).
- 
- 2004-02-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/13696
- 	* fold-const.c (fold_convert): New function to provide type
- 	conversion to the middle-end without using convert.
- 	(negate_expr, associate_trees, size_diffop, omit_one_operand,
- 	operand_equal_for_comparison_p, pedantic_omit_one_operand,
- 	invert_truthvalue, optimize_bit_field_compare, range_binop,
- 	decode_field_reference, make_range, build_range_check, unextend,
- 	fold_truthop, extract_muldiv_1, fold_mathfn_compare,
- 	fold_binary_op_with_conditional_arg, fold_inf_compare,
- 	fold_single_bit_test, fold, multiple_of_p): Replace all calls to
- 	convert with calls to fold_convert.
- 
- 2004-02-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* genrecog.c (find_operand): add extra argument stop.
- 	(validate_pattern): Verify that mach_dup is duplicating operand
- 	defined lexically earlier.
- 
- 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
- 	* system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
- 	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
- 	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
- 	config/ia64/ia64.h, config/ip2k/ip2k.h,
- 	config/iq2000/iq2000.h, config/mips/iris5.h,
- 	config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
- 	config/rs6000/aix51.h, config/rs6000/aix52.h,
- 	config/rs6000/darwin.h, config/rs6000/rs6000.h,
- 	config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
- 	config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/netbsd-elf.h, config/sparc/sparc.h,
- 	config/xtensa/xtensa.h: Remove the definitions of
- 	MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
- 	MAX_WCHAR_TYPE_SIZE.
- 	* doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
- 	MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
- 
- 2004-02-07  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR bootstrap/13990
- 	* config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
- 	gen_rtx_NE.
- 
- 2004-02-07  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c (vt_add_function_parameters): Surround checkings by
- 	#ifdef ENABLE_CHECKING and #endif.
- 
- 2004-02-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
- 	either (-A)-B or (-B)-A, if A or B is easily negated respectively.
- 	(fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
- 	integer types and floating point with unsafe_math_optimizations.
- 	Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
- 	Optimize A - B as A + (-B), if B is easily negated.
- 
- 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
- 	config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
- 	config/m32r/linux.h, config/rs6000/ppc64-fp.c,
- 	config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
- 	Update copyright.
- 
- 2004-02-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-ppoutput.c, var-tracking.c: Fix comment typos.
- 
- 2004-02-06  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
- 	glibc 2.3 or better.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
- 	to FLOAT_LIB_COMPARE_RETURNS_BOOL.
- 
- 2004-02-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
- 	(SHLIB_MAPFILES): Add libgcc-ppc64.ver.
- 	(SHLIB_MKMAP_OPTS): Delete.
- 	(TARGET_LIBGCC2_CFLAGS): Add -specs.
- 	(bispecs): Add rule.
- 	* config/rs6000/libgcc-ppc64.ver: New file.
- 	* config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
- 	(__floatdidf, __floatdisf): Optimize multiply.
- 	(__fixunstfdi): New function.
- 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
- 	real and imag parts larger than one register.
- 	(function_arg): Correct type of reg used when fp arg split partially
- 	to stack.
- 	* config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
- 	and __MACH__ or __powerpc64__.
- 
- 2004-02-06  Roger Sayle  <roger@eyesopen.com>
- 	    Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* builtins.c (expand_builtin_signbit): Use extract_bit_field instead
- 	of gen_highpart or gen_lowpart when the floating point format is
- 	wider than the result mode.
- 
- 2004-02-06  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* dwarf2out.c (loclabel_num): Move into #ifdef
- 	DWARF2_DEBUGGING_INFO.
- 
- 2004-02-06  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (build_super_template) the 'class' field of
- 	'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
- 	(get_super_receiver): Likewise.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (check_eliminable_occurrences): Optimize the reset
- 	of can_eliminate.
- 	(eliminate_regs_in_insn): Likewise.
- 
- 2004-02-06  Daniel Berlin <dberlin@dberlin.org>
- 	    Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
- 	at the beginning of function, call dwarf2out_var_location for
- 	NOTE_INSN_VAR_LOCATION note.
- 	(struct var_loc_node, struct var_loc_list_def, loclabel_num,
- 	decl_loc_table): New.
- 	(lookup_decl_loc): New function.
- 	(add_var_loc_to_decl): New function.
- 	(based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
- 	only if can_use_fbreg.
- 	(mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
- 	functions.
- 	(loc_descriptor): Likewise. Process VAR_LOCATION.
- 	(concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
- 	(loc_descriptor_from_tree): Call mem_loc_descriptor with
- 	can_use_fbreg == true.
- 	(add_location_or_const_value_attribute): Added parameter enum
- 	dwarf_attribute attr, generate attribute ATTR.  Create the location list.
- 	(add_bound_info): Call loc_descriptor with can_use_fbreg == true.
- 	(gen_formal_parameter_die): Call add_location_or_const_value_attribute
- 	with attr == DW_AT_location.
- 	(gen_subprogram_die): Generate the location list for DW_AT_frame_base
- 	if frame_base_decl is defined and has a location list.
- 	(gen_variable_die): Call add_location_or_const_value_attribute with
- 	attr == DW_AT_location.
- 	(dwarf2out_var_location): New function.
- 	(dwarf2out_begin_function): New function.
- 	(dwarf2out_init): Create decl_loc_table.
- 
- 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* loop.c (force_movables): Transitively increase the priorities of
- 	all insns forces by an insn, not just the first one.
- 
- 2004-02-06  Josef Zlomek  <zlomekj@suse.cz>
- 	    Daniel Berlin <dberlin@dberlin.org>
- 
- 	Josef Zlomek  <zlomekj@suse.cz>
- 	* Makefile.in (var-tracking.o): New.
- 	* common.opt (fvar-tracking): New.
- 	* flags.h (flag_var_tracking): New.
- 	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
- 	* opts.c (common_handle_option): Add OPT_fvar_tracking.
- 	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
- 	* rtl.c (note_insn_name): Likewise.
- 	* rtl.def (VAR_LOCATION): New.
- 	* rtl.h (NOTE_VAR_LOCATION): New.
- 	(NOTE_VAR_LOCATION_DECL): New.
- 	(NOTE_VAR_LOCATION_LOC): New.
- 	(enum insn_note): NOTE_INSN_VAR_LOCATION was added.
- 	(variable_tracking_main): New exported function.
- 	* timevar.def (TV_VAR_TRACKING): New.
- 	* toplev.c (enum dump_file_index): Added DFI_vartrack.
- 	(dump_file): "vartrack" was added (-dV).
- 	(flag_var_tracking): New.
- 	(f_options): "var-tracking" was added.
- 	(rest_of_handle_variable_tracking): New function.
- 	(rest_of_compilation): Run variable tracking.
- 	(process_options): If user has not specified flag_var_tracking set it
- 	according to optimize, debug_info_level and debug_hooks.
- 	* tree.h (frame_base_decl): New.
- 	* var-tracking.c: New file.
- 	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
- 	(ia64_override_options): Set flags to run variable tracking in machine
- 	dependent reorg instead of toplev.c.
- 	(ia64_reorg): Run variable tracking if wanted.
- 	* doc/invoke.texi: Mention variable tracking in -dV,
- 	add and -fvar-tracking.
- 	* doc/passes.texi: Added variable tracking pass.
- 
- 	Daniel Berlin <dberlin@dberlin.org>
- 	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
- 	* dbxout.c (dbx_debug_hooks): Likewise.
- 	(xcoff_debug): Likewise.
- 	* debug.c (do_nothing_debug_hooks): Likewise.
- 	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
- 	* dwarfout.c (dwarf_debug_hooks): Likewise.
- 	* sdbout.c (sdb_debug_hooks): Likewise.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
- 	* final.c (final_scan_insn): Call var_location debug hook for each
- 	NOTE_INSN_VAR_LOCATION.
- 
- 2004-02-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (update_life_info): Allocate reg_deaths when called from
- 	scheudler.
- 	(attempt_auto_inc):  Update life ranges accordingly.
- 
- 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR debug/11816
- 	* dwarf2out.c (gen_decl_die): Handle anonymous struct members.
- 
- 2004-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* cfganal.c (flow_call_edges_add): Never split a libcall block.
- 
- 2004-02-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* dwarf2out.c (output_loc_list): Don't use deltas if we have
- 	a separate line info table in use.
- 	Use the correct size for terminators.
- 	(output_die): Use offset, not delta.
- 
- 2004-02-06  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* doc/invoke.texi: Remove the pni option from -mfpmath=.
- 
- 2004-02-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (split_all_insns): Do not update reg info.
- 	* regrename.c (regrename_optimize): Likewise.
- 	* toplev.c (rest_of_handle_reorder_blocks): Likewise.
- 	* flow.c (struct propagate_block_info): Add insn_num field.
- 	(reg_deaths): New array.
- 	(life_analysis): Free reg_deaths info.
- 	(allocate_reg_life_data): Allocate reg_deaths array.
- 	(propagate_one_insn): Use new array.
- 	(init_propagate_block): Initialize it.
- 	(free_propagate_block_info): Finish compuation of
- 	REG_LIVE_LENGTH
- 	(attempt_auto_inc): Sanity check that REG_INFO is not
- 	computed at same time.
- 	(mark_used_regs): Update new array.
- 
- 	* reg-stack.c (subst_stack_regs): Unshare clobbers before
- 	substitution.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/s390/s390.md (*extendsiqi2_short_displ): Change to
- 	*extendqisi2_short_displ.
- 
- 2004-02-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
- 	* calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
- 	(emit_library_call_value_1): Likewise pass nargs.
- 	* expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
- 	* function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
- 	* config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
- 	parameter instead of scanning TYPE_ARGS_TYPES to count args.
- 	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
- 	prototype.
- 	* config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
- 	(INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
- 	(INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
- 	* config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
- 	INIT_CUMULATIVE_ARGS.
- 	* config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
- 	* config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
- 	config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
- 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
- 	config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
- 	config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
- 	config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
- 	config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
- 	config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
- 	config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
- 	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
- 	config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
- 	possible.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
- 	note containing (plus (reg) (const_int)), where reg is an
- 	eliminable reg, then perform the register elimination without
- 	depending on eliminate_regs().
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc.c (arc_return_in_memory): Check the return
- 	value of int_size_in_bytes against -1.  Don't check
- 	TREE_ADDRESSABLE.
- 	* config/avr/avr.c (avr_return_in_memory): Check the return
- 	value of int_size_in_bytes against -1.
- 	* config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
- 	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
- 	Likewise.
- 	* config/mcore/mcore.c (mcore_return_in_memory): Likewise.
- 	* config/stormy16/stormy16.c (xstormy16_return_in_memory):
- 	Likewise.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/frv/frv-protos.h: Remove the prototype for
- 	frv_setup_incoming_varargs.
- 	* config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
- 	(frv_setup_incoming_varargs): Make it static.
- 	* config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fr30/fr30-protos.h: Remove the prototype for
- 	fr30_setup_incoming_varargs.
- 	Update the prototypes for fr30_num_arg_regs and
- 	fr30_function_arg_partial_nregs.
- 	* config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(fr30_setup_incoming_varargs): Make it static.
- 	Add argument second_time.  Don't do anything when second_time
- 	is nonzero.
- 	(fr30_num_arg_regs): Change the type of the first argument to
- 	enum machine_mode.
- 	(fr30_function_arg_partial_nregs): Change the type of the
- 	second argument to enum machine_mode.
- 	* config/fr30/fr30.h (STRUCT_VALUE): Remove.
- 	(SETUP_INCOMING_VARARGS): Remove.
- 
- 2004-02-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc-protos.h: Remove the prototype for
- 	arc_setup_incoming_varargs.
- 	* config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(arc_setup_incoming_varargs): Make it static.
- 	(arc_external_libcall): Likewise.
- 	* config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
- 	Remove the commented-out definition of
- 	ASM_OUTPUT_EXTERNAL_LIBCALL.
- 
- 2004-02-05  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
- 
- 	* config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
- 	to $$(slibdir) in the installation commands.
- 
- 2004-02-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
- 	with inner_regno, not regno.
- 	* rtlanal.c (refers_to_regno_p): Same.
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config.gcc: Remove i370 support.
- 
- 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/install.texi:  Update automake and autoconf version
- 	requirements.  Note where to find gcj automake version.
- 
- 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (generate-manpages): Move dependencies to ...
- 	(man): here.
- 	* doc/makefile.texi: Document new targets.
- 	* doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
- 
- 2004-02-05  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR/13485
- 	Makefile.in (srcextra):  Add a level of indirection to ...
- 	(gcc.srcextra): ... here.
- 	(po-generated): Delete.
- 	(po/$(PACKAGE).pot: Use srcextra instead of po-generated.  Depend on
- 	options.c.
- 	(start.encap): Remove superfluous lang.srcextra dependency.
- 	objc/Make-lang.in (po-generated):  Delete.
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ia64/ia64.c (REG_GP): Remove.
- 
- 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
- 
- 2004-02-05  Devang Patel  <dpatel@apple.com>
- 
- 	* dwarf2out.c (force_type_die): Look up input type itself
- 	instead of root_type() of type.
- 
- 2004-02-05  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("*tmqidi_ext"): New insn.
- 	("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
- 	pre-reload splitters are transformed to post-reload
- 	define_insn_and_split patterns.
- 	("*tmqisi_ext"): Renamed old "*tmqi_ext".
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
- 	TARGET_PROMOTE_PROTOTYPES.
- 
- 2004-02-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	PR middle-end/13750
- 	Revert:
- 	2004-01-15  Geoffrey Keating  <geoffk@apple.com>
- 	PR pch/13361
- 	* c-typeck.c (constructor_asmspec): Delete.
- 	(struct initializer_stack): Delete field 'asmspec'.
- 	(start_init): Delete saving of asmspec.
- 	(finish_init): Don't update constructor_asmspec.
- 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
- 	* stmt.c (expand_asm): Duplicate strings from tree.
- 	(expand_asm_operands): Likewise.
- 	* tree.c (tree_size): Update computation of size of STRING_CST.
- 	(make_node): Don't make STRING_CST nodes.
- 	(build_string): Allocate string with tree node.
- 	* tree.def (STRING_CST): Update comment.
- 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
- 	(tree_string): Place contents of string in tree node.
- 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
- 	from tree.
- 
- 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
- 	msgid.
- 
- 2004-02-05  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* config/rs6000/altivec.md (*movv4si_internal): At least one
- 	operand must be altivec_register_operand.
- 	(*movv8hi_internal1): Likewise.
- 	(*movv16qi_internal1): Likewise.
- 	(*movv4sf_internal1): Likewise.
- 
- 2004-02-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
- 	* configure: Regenerate.
- 
- 2004-02-05  Jonathan Wakely  <redi@gcc.gnu.org>
- 
- 	* doc/install.texi: Update description of --gxx-include-dir to
- 	give correct default value.
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
- 	8 with MAC_REG.
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
- 	gen_rtx_PARALLEL.
- 
- 2004-02-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c: Update the comment about the file.
- 
- 2004-02-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* sourcebuild.texi (Test Idioms): Update testcase naming
- 	conventions.
- 
- 2004-02-04  Per Bothner  <per@bothner.com>
- 
- 	Partially revert/redo 2003-10-01 change; fix -fworking-directory.
- 	* c-ppoutput.c (pp_dir_change):  New function.
- 	* c-common.h (pp_dir_change):  New declaration.
- 	* cpplib.h (struct cpp_options):  Remove working_directory field.
- 	* cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
- 	(cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
- 	Don't handle -fworking_directory here, but in c_common_post_options.
- 	(read_original_directory): Don't back up when done.
- 	Don't clear no-longer used working_directory flag.
- 	* cpplib.h:  Update declarations to match.
- 	* c-lex.c (cb_dir_change):  Move to c-opts.c.
- 	(init_c_lex):  Don't set dir_change callback here, since we want
- 	to set it even if flag_preprocess_only.
- 	* c-opts.c (cb_dir_change):  Function moved from c-lex.c.
- 	(c_common_post_options):  Set dir_change callback.
- 	Call pp_dir_change if approporiate.
- 	(finish_options):  Don't call cpp_find_main_file here.	Hence remove
- 	unneeded parameter and result. Do LC_RENAME for <built-in>.
- 	(c_common_post_options):  Call cpp_read_main_file here instead.
- 	(c_common_init):  Update accordingly.
- 	(push_command_line_include):  Don't cpp_push_main_file.
- 	Do LC_RENAME rather than LC_LEASE to get back to main file.
- 	Compared to pre-10-01 version, inline cpp_rename_to_main_file.
- 	(c_common_parse_file):  Call cpp_read_main_file for subsequent main
- 	files, but call finish_options for all files.
- 	* c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
- 	* fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
- 	cpp_find_main_file + cpp_push_main_file.
- 	* c-lex.c (fe_file_change):  Don't set main_input_filename here.
- 	* opts.c (handle_options):  Only set main_input_filename first time.
- 
- 2004-02-05  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
- 
- 2004-02-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* reload.c (find_equiv_reg): When checking for register overlap,
- 	don't index hard_regno_nregs with a pseudo-reg.
- 
- 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
- 
- 2004-02-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
- 	against FIRST_PSEUDO_REGISTER.
- 
- 2004-02-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in: Move target, host overrides after per-language
- 	fragments.
- 
- 	* config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
- 	(GNATLIBCFLAGS): Remove -g.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
- 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
- 	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
- 	config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
- 	config/pdp11/pdp11.c, config/rs6000/rs6000.c,
- 	config/sparc/sparc.c, config/vax/vax.c: Revert the
- 	replacements of "FALLTHRU" with "Fall through" done in the
- 	previous patch.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/darwin.c, config/darwin.h, config/freebsd-spec.h,
- 	config/arm/arm.c, config/arm/arm.md,
- 	config/cris/cris-protos.h, config/fr30/fr30.c,
- 	config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
- 	config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
- 	config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
- 	config/ip2k/ip2k.md, config/ip2k/libgcc.S,
- 	config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
- 	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
- 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
- 	config/ns32k/netbsd.h, config/ns32k/ns32k.c,
- 	config/ns32k/ns32k.h, config/pdp11/pdp11.h,
- 	config/rs6000/darwin-ldouble.c, config/s390/s390.h,
- 	config/s390/s390.md, config/sparc/netbsd-elf.h,
- 	config/sparc/openbsd.h, config/sparc/sparc.c,
- 	config/xtensa/lib2funcs.S: Fix comment formatting.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c, config/arc/arc.c,
- 	config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
- 	config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
- 	config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
- 	config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
- 	config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
- 	config/ia64/ia64.c, config/ia64/unwind-ia64.c,
- 	config/iq2000/iq2000.c, config/m32r/m32r.c,
- 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
- 	config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
- 	config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.h, config/sparc/sparc.c,
- 	config/vax/vax.c: Fix comment typos.  Follow spelling
- 	conventions.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
- 	caller-save.c, df.h, genconfig.c, global.c, lcm.c,
- 	ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
- 	sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
- 	config/arm/fpa.md, config/arm/iwmmxt.md,
- 	config/arm/netbsd-elf.h, config/arm/netbsd.h,
- 	config/m68hc11/m68hc11.md, config/mips/iris5.h,
- 	config/mn10300/mn10300.md, config/rs6000/altivec.md,
- 	config/sparc/netbsd-elf.h: Update copyright.
- 
- 2004-02-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
- 	for all modes whose size is greater than 8 bytes if ARCH32.
- 	(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
- 	by reference if ARCH32.
- 
- 2004-02-04  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* cgraphunit.c (cgraph_postorder): Fix typo in comment.
- 
- 2004-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
- 	to before adddi3 insn patterns.
- 	("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
- 	"reload_insi"): Move to before addsi3 insn patterns.
- 
- 2004-02-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
- 	parameter.  Use it instead of current_function_is_thunk.
- 	* function.h (struct function): Update documentation for is_thunk.
- 	* tree.h (CALL_FROM_THUNK_P): New macro.
- 	* config/alpha/alpha.c (alpha_sa_mask): Do not check
- 	no_new_pseudos when testing current_function_is_thunk.
- 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi: Replace SETUP_INCOMING_VARARGS with
- 	TARGET_SETUP_INCOMING_VARARGS.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (gen_rtx): Remove.
- 	* genattrtab.c: Don't mention gen_rtx in a comment.
- 	* rtl.h: Remove the prototype for gen_rtx.
- 	* doc/md.texi: Replace gen_rtx with gen_rtx_REG.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc.h, config/fr30/fr30.h
- 	(SETUP_INCOMING_VARARGS): Remove the target-independent
- 	comments.
- 	* doc/tm.texi: Don't mention deprecated target macros.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fr30/fr30.h (FUNCTION_VALUE): Remove the
- 	target-independent comment.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
- 	mention deprecated target macros.
- 
- 2004-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config.gcc: Remove obsolete ports and configurations.
- 	* config/linux-aout.h, config/netware.h,
- 	config/t-linux-gnulibc1, config/d30v/abi,
- 	config/d30v/d30v-protos.h, config/d30v/d30v.c,
- 	config/d30v/d30v.h, config/d30v/d30v.md,
- 	config/d30v/libgcc1.asm, config/d30v/t-d30v,
- 	config/dsp16xx/dsp16xx-modes.def,
- 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
- 	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md,
- 	config/i370/README, config/i370/i370-c.c,
- 	config/i370/i370-protos.h, config/i370/i370.c,
- 	config/i370/i370.h, config/i370/i370.md, config/i370/linux.h,
- 	config/i370/mvs.h, config/i370/oe.h, config/i370/t-i370,
- 	config/i386/freebsd-aout.h, config/i386/linux-aout.h,
- 	config/i386/moss.h, config/i386/netware.h,
- 	config/i386/svr3.ifile, config/i386/svr3dbx.h,
- 	config/i386/svr3gas.h, config/i386/svr3z.ifile,
- 	config/i386/t-udk, config/i386/udk.h, config/i386/vsta.h,
- 	config/i960/i960-c.c, config/i960/i960-coff.h,
- 	config/i960/i960-modes.def, config/i960/i960-protos.h,
- 	config/i960/i960.c, config/i960/i960.h, config/i960/i960.md,
- 	config/i960/rtems.h, config/i960/t-960bare,
- 	config/m68k/hp310.h, config/m68k/hp320.h,
- 	config/m68k/hp320base.h, config/m68k/m68kv4.h,
- 	config/m68k/netbsd.h, config/m68k/sgs.h, config/m68k/t-hp320:
- 	Remove.
- 	* doc/extend.texi, doc/install.texi, doc/invoke.texi,
- 	doc/md.texi: Remove mentions of obsolete ports.
- 
- 2004-02-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (find_base_term, get_addr):  Do not dereference NULL
- 	pointer when all VALUE's locations has been invalidated.
- 	(rtx_equal_for_memref_p): Simplify checking of VALUEs.
- 
- 2004-02-03  Wolfgang Bangerth  <bangerth@dealii.org>
- 
- 	* doc/invoke.texi (x86 options): Fix spelling/wording.
- 
- 2004-02-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
- 	put the original string in a comment.
- 	* config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
- 	* config/mips/mips.c (mips_output_ascii): Likewise.
- 	* config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
- 
- 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (GIV_SORT_CRITERION): Poison.
- 	* config/avr/avr.h (GIV_SORT_CRITERION): Remove.
- 	* config/ip2k/ip2k.h (GIV_SORT_CRITERION): Likewise.
- 
- 2004-02-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/9348
- 	* expr.c (expand_expr_real) <MULT_EXPR>:  When performing widening
- 	multiplies with a multiplication of the wrong signedness, its the
- 	signedness of the multiplication that we've performed that needs to
- 	be passed to expand_mult_highpart_adjust.  Avoid emitting a nop-move
- 	if expand_mult_highpart_adjust places the result in target.
- 
- 2004-02-03  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (const_desc_rtx_sym_eq): Compare symbol strings.
- 
- 2004-02-03  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config.gcc (sh[234]l): Use little endian fragments.
- 
- 2004-02-03  Paul Koning  <pkoning@equallogic.com>
- 
- 	* config/pdp11/pdp11-modes.def: Add RESET_FLOAT_FORMAT calls.
- 	* config/pdp11/pdp11-protos.h (legitimate_const_double_p): Add.
- 	* config/pdp11/pdp11.c (encode_pdp11_f, decode_pdp11_f,
- 	encode_pdp11_d, decode_pdp11_d): New functions to handle PDP11
- 	floating point format.
- 	(pdp11_f_format, pdp11_d_format): New real_format descriptors for
- 	the above functions.
- 	(output_move_quad): Output float values in correct target format.
- 	(legitimate_const_double_p): New function.
- 	* config/pdp11/pdp11.h: Fix typos.
- 	(FLOAT_WORDS_BIG_ENDIAN): Add definition.
- 	(TARGET_FLOAT_FORMAT): Ditto.
- 	(pdp11_f_format, pdp11_d_format): Add external declarations.
- 	(MAX_REGS_PER_ADDRESS): Corrected.
- 	(LEGITIMATE_CONSTANT_P): Use legitimate_const_double_p().
- 	(PRINT_OPERAND): Output float literals in target format.
- 
- 2004-02-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/13975
- 	* tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
- 	TI_PRIVATE.
- 	(access_public_node): Redefine.
- 	(access_protected_node): Likewise.
- 	(access_private_node): Likewise.
- 	* tree.c (build_common_tree_nodes): Create access_public_node,
- 	access_protected_node, and access_private_node.
- 
- 2004-02-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (MASK_INLINE_INT_DIV_LAT): Change value.
- 	(MASK_INLINE_INT_DIV_THR): Ditto.
- 	(MASK_INLINE_SQRT_LAT): Ditto.
- 	(MASK_INLINE_SQRT_THR): Ditto.
- 	(MASK_DWARF2_ASM): Ditto.
- 	(MASK_EARLY_STOP_BITS): Ditto.
- 
- 2004-02-02  Paul Brook  <paul@codesourcery.com>
- 
- 	Merge from csl-arm-branch.
- 
- 	2004-01-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* aof.h (REGISTER_NAMES): Add vfp reg names
- 	(ADDITIONAL_REGISTER_NAMES): Ditto.
- 	* aout.h (REGISTER_NAMES): Ditto.
- 	(ADDITIONAL_REGISTER_NAMES): Ditto.
- 	* arm-protos.h: Update/Add Prototypes.
- 	* arm.c (init_fp_table): Rename from init_fpa_table. Update users.
- 	Only allow 0.0 for VFP.
- 	(fp_consts_inited): Rename from fpa_consts_inited.  Update users.
- 	(values_fp): Rename from values_fpa.  Update Users.
- 	(arm_const_double_rtx): Rename from const_double_rtx_ok_for_fpa.
- 	Update users.  Only check valid constants for this hardware.
- 	(arm_float_rhs_operand): Rename from fpa_rhs_operand.  Update Users.
- 	Only allow consts for FPA.
- 	(arm_float_add_operand): Rename from fpa_add_operand.  Update users.
- 	Only allow consts for FPA.
- 	(use_return_insn): Check for saved VFP regs.
- 	(arm_legitimate_address_p): Handle VFP DFmode addressing.
- 	(arm_legitimize_address): Ditto.
- 	(arm_general_register_operand): New function.
- 	(vfp_mem_operand): New function.
- 	(vfp_compare_operand): New function.
- 	(vfp_secondary_reload_class): New function.
- 	(arm_float_compare_operand): New function.
- 	(vfp_print_multi): New function.
- 	(vfp_output_fstmx): New function.
- 	(vfp_emit_fstm): New function.
- 	(arm_output_epilogue): Output VPF reg restore code.
- 	(arm_expand_prologue): Output VFP reg save code.
- 	(arm_print_operand): Add 'P'.
- 	(arm_hard_regno_mode_ok): Return modes for VFP regs.
- 	(arm_regno_class): Return classes for VFP regs.
- 	(arm_compute_initial_elimination_offset): Include space for VFP regs.
- 	(arm_get_frame_size): Ditto.
- 	* arm.h (FIXED_REGISTERS): Add VFP regs.
- 	(CALL_USED_REGISTERS): Ditto.
- 	(CONDITIONAL_REGISTER_USAGE): Enable VFP regs.
- 	(FIRST_VFP_REGNUM): Define.
- 	(LAST_VFP_REGNUM): Define.
- 	(IS_VFP_REGNUM): Define.
- 	(FIRST_PSEUDO_REGISTER): Include VFP regs.
- 	(HARD_REGNO_NREGS): Handle VFP regs.
- 	(REG_ALLOC_ORDER): Add VFP regs.
- 	(enum reg_class): Add VFP_REGS.
- 	(REG_CLASS_NAMES): Ditto.
- 	(REG_CLASS_CONTENTS): Ditto.
- 	(CANNOT_CHANGE_MODE_CLASS) Handle VFP Regs.
- 	(REG_CLASS_FROM_LETTER): Add 'w'.
- 	(EXTRA_CONSTRAINT_ARM): Add 'U'.
- 	(EXTRA_MEMORY_CONSTRAINT): Define.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Handle VFP regs.
- 	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
- 	(REGISTER_MOVE_COST): Ditto.
- 	(PREDICATE_CODES): Add arm_general_register_operand,
- 	arm_float_compare_operand and vfp_compare_operand.
- 	* arm.md (various): Rename as above.
- 	(divsf3): Enable when TARGET_VFP.
- 	(divdf3): Ditto.
- 	(movdfcc): Ditto.
- 	(sqrtsf2): Ditto.
- 	(sqrtdf2): Ditto.
- 	(arm_movdi): Disable when TARGET_VFP.
- 	(arm_movsi_insn): Ditto.
- 	(movsi): Only split with general regs.
- 	(cmpsf): Use arm_float_compare_operand.
- 	(push_fp_multi): Restrict to TARGET_FPA.
- 	(vfp.md): Include.
- 	* vfp.md: New file.
- 	* fpa.md (various): Rename as above.
- 	* doc/md.texi: Document ARM w and U constraints.
- 
- 	2004-01-15  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc: Add with_fpu.  Allow with-float=softfp.
- 	* config/arm/arm.c (arm_override_options): Rename *-s to *s.
- 	Break out of loop when we find a float-abi.  Fix typo.
- 	* config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "fpu".
- 	Set -mfloat-abi=.
- 	* doc/install.texi: Document --with-fpu.
- 
- 	2003-01-14  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc (with_arch): Add armv6.
- 	* config/arm/arm.h: Rename TARGET_CPU_*_s to TARGET_CPU_*s.
- 	* config/arm/arm.c (arm_overrride_options): Ditto.
- 
- 	2004-01-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (FL_ARCH3M): Renamed from FL_FAST_MULT.
- 	(FL_ARCH6): Renamed from FL_ARCH6J.
- 	(arm_arch3m): Renamed from arm_fast_multiply.
- 	(arm_arch6): Renamed from arm_arch6j.
- 	* arm.h: Update all uses of above.
- 	* arm-cores.def: Likewise.
- 	* arm.md: Likewise.
- 
- 	* arm.h (CPP_CPU_ARCH_SPEC): Emit __ARM_ARCH_6J__ define for armV6j,
- 	not arm6j.  Add entry for arch armv6.
- 
- 	2004-01-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_emit_extendsi): Delete.
- 	* arm-protos.h (arm_emit_extendsi): Delete.
- 	* arm.md (zero_extendhisi2): Also handle zero-extension of
- 	non-subregs.
- 	(zero_extendqisi2, extendhisi2, extendqisi2): Likewise.
- 	(thumb_zero_extendhisi2): Only match if not v6.
- 	(arm_zero_extendhisi2, thumb_zero_extendqisi2, arm_zero_extendqisi2)
- 	(thumb_extendhisi2, arm_extendhisi2, arm_extendqisi)
- 	(thumb_extendqisi2): Likewise.
- 	(thumb_zero_extendhisi2_v6, arm_zero_extendhisi2_v6): New patterns.
- 	(thumb_zero_extendqisi2_v6, arm_zero_extendqisi2_v6): New patterns.
- 	(thumb_extendhisi2_insn_v6, arm_extendhisi2_v6): New patterns.
- 	(thumb_extendqisi2_v6, arm_extendqisi_v6): New patterns.
- 	(arm_zero_extendhisi2_reg, arm_zero_extendqisi2_reg): Delete.
- 	(arm_extendhisi2_reg, arm_extendqisi2_reg): Delete.
- 	(arm_zero_extendhisi2addsi): Remove subreg.  Add attributes.
- 	(arm_zero_extendqisi2addsi, arm_extendhisi2addsi): Likewise.
- 	(arm_extendqisi2addsi): Likewise.
- 
- 	2003-12-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert this change:
- 	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
- 	+ REG addressing modes.
- 
- 	* config/arm/arm.h (THUMB_LEGTITIMIZE_RELOAD_ADDRESS): Reload REG
- 	+ REG addressing modes.
- 
- 	2003-12-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept
- 	CONSTANT_P_RTX.
- 
- 	2003-30-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* longlong.h: protect arm inlines with !defined (__thumb__)
- 
- 	2003-30-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Always define __arm__.
- 
- 	2003-12-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (expand_builtin_apply_args_1): Fix typo in previous
- 	change.
- 
- 	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (expand_builtin_apply_args_1): Add pretend args size
- 	to the virtual incoming args pointer for downward stacks.
- 
- 	2003-12-29  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm-cores.def: Add cost function.
- 	* config/arm/arm.c (arm_*_rtx_costs): New functions.
- 	(arm_rtx_costs): Remove
- 	(struct processors): Add rtx_costs field.
- 	(all_cores, all_architectures): Ditto.
- 	(arm_override_options): Set targetm.rtx_costs.
- 	(thumb_rtx_costs): New function.
- 	(arm_rtx_costs_1): Remove cases handled elsewhere.
- 	* config/arm/arm.h (processor_type): Add COSTS parameter.
- 
- 	2003-12-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/arm/arm.md (generic_sched): arm926 has its own scheduler.
- 	(arm926ejs.md): Include it.
- 	* config/arm/arm926ejs.md: New pipeline description.
- 
- 	2003-12-24  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_arch6j): New variable.
- 	(arm_override_options): Set it.
- 	(arm_emit_extendsi): New function.
- 	* config/arm/arm-protos.h (arm_emit_extendsi): Add prototype.
- 	* config/arm/arm.h (arm_arch6j): Declare.
- 	* config/arm/arm.md: Add sign/zero extend insns.
- 
- 	2003-12-23  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (all_architectures): Add armv6.
- 	* doc/invoke.texi: Document it.
- 
- 	2003-12-19  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.md: Add load1 and load_byte "type" attrs.  Modify
- 	insn patterns to match.
- 	* config/arm/arm-generic.md: Ditto.
- 	* config/arm/cirrus.md: Ditto.
- 	* config/arm/fpa.md: Ditto.
- 	* config/amm/iwmmxt.md: Ditto.
- 	* config/arm/arm1026ejs.md: Ditto.
- 	* config/arm/arm1135jfs.md: Ditto.  Add insn_reservation and bypasses
- 	for 11_loadb.
- 
- 	2003-12-18  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/arm/arm-protos.h (arm_no_early_alu_shift_value_dep): Declare.
- 	* config/arm/arm.c (arm_adjust_cost): Check shift cost for
- 	TYPE_ALU_SHIFT and TYPE_ALU_SHIFT_REG.
- 	(arm_no_early_store_addr_dep, arm_no_early_alu_shift_dep,
- 	arm_no_early_mul_dep): Correctly deal with conditional execution,
- 	parallels and single shift operations.
- 	(arm_no_early_alu_shift_value_dep): Define.
- 	* arm.md (attr type): Replace 'normal' with 'alu',
- 	'alu_shift' and 'alu_shift_reg'.
- 	(attr core_cycles): Adjust.
- 	(*addsi3_carryin_shift, andsi_not_shiftsi_si, *arm_shiftsi3,
- 	*shiftsi3_compare0, *notsi_shiftsi, *notsi_shiftsi_compare0,
- 	*not_shiftsi_compare0_scratch, *cmpsi_shiftsi, *cmpsi_shiftsi_swp,
- 	*cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0,
- 	*arith_shiftsi_compare0_scratch, *sub_shiftsi,
- 	*sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch,
- 	*if_shift_move, *if_move_shift, *if_shift_shift): Set type
- 	attribute appropriately.
- 	* config/arm/arm1026ejs.md (alu_op): Adjust.
- 	(alu_shift_op, alu_shift_reg_op): New.
- 	* config/arm/arm1136.md: Add better bypasses for early
- 	registers. Remove load[234] and store[234] bypasses.
- 	(11_alu_op): Adjust.
- 	(11_alu_shift_op, 11_alu_shift_reg_op): New.
- 
- 	2003-12-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/arm/arm-protos.h (arm_no_early_store_addr_dep,
- 	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Declare.
- 	* config/arm/arm.c (arm_no_early_store_addr_dep,
- 	arm_no_early_alu_shift_dep, arm_no_early_mul_dep): Define.
- 	* config/arm/arm1026ejs.md: Add load-store bypass.
- 	* config/arm/arm1136jfs.md (11_alu_op): Take 2 cycles.
- 	Add bypasses between instructions.
- 
- 	2003-12-10  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_fpu_model): New variable.
- 	(arm_fload_abi): New variable.
- 	(target_fpe_name): Rename from target_fp_name.
- 	(target_fpu_name): New variable.
- 	(arm_is_cirrus): Remove.
- 	(fpu_desc): New struct.
- 	(all_fpus): Define.
- 	(pf_model_for_fpu): Define.
- 	(all_loat_abis): Define.
- 	(arm_override_options): Set fp arch flags based on -mfpu=
- 	and -float-abi=.
- 	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
- 	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
- 	(*): Use new TARGET_* flags.
- 	* config/arm/arm.h (TARGET_ANY_HARD_FLOAT): Remove.
- 	(TARGET_HARD_FLOAT): No longer implies TARGET_FPA.
- 	(TARGET_SOFT_FLOAT): Ditto.
- 	(TARGET_SOFT_FLOAT_ABI): New.
- 	(TARGET_MAVERICK): Rename from TARGET_CIRRUS.  No longer implies
- 	TARGET_HARD_FLOAT.
- 	(TARGET_VFP): No longer implies TARGET_HARD_FLOAT.
- 	(TARGET_OPTIONS): Add -mfpu=.
- 	(FIRST_FPA_REGNUM): Rename from FIRST_ARM_FP_REGNUM.
- 	(LAST_FPA_REGNUM): Rename from LAST_ARM_FP_REGNUM.
- 	(arm_pf_model): Define.
- 	(arm_float_abi_type): Define.
- 	(fputype): Add FPUTYPE_VFP.  Change SOFT_FPA->NONE
- 	* config/arm/arm.md: Use new TARGET_* flags.
- 	* config/arm/cirrus.md: Ditto.
- 	* config/arm/fpa.md: Ditto.
- 	* config/arm/elf.h (ASM_SPEC): Pass -mfloat-abi= and -mfpu=.
- 	* config/arm/semi.h (ASM_SPEC): Ditto.
- 	* config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Specify vfp.
- 	(FPUTYPE_DEFAULT): Set to VFP.
- 	* doc/invoke.texi: Document -mfpu= and -mfloat-abi=.
- 
- 	2003-11-22  Phil Edwards  <phil@codesourcery.com>
- 
- 	PR target/12476
- 	* config/arm/arm.c (arm_output_mi_thunk):  In Thumb mode, use
- 	'bx' instead of 'b' to avoid branch range restrictions.  Output
- 	the thunk immediately before the thunked-to function.
- 	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME):  Do not emit
- 	.thumb_func if a thunk is being generated.  Emit .code 16 along
- 	with .thumb_func if a thunk is not being generated.
- 
- 	2003-11-15  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/arm.md (ashldi3, arm_ashldi3_1bit, ashrdi3,
- 	arm_ashrdi3_1bit, lshrdi3, arm_lshrdi3_1bit): New patterns.
- 	* config/arm/iwmmxt.md (ashrdi3_iwmmxt): Renamed from ashrdi3.
- 	(lshrdi3_iwmmxt): Renamed from lshrdi3.
- 	* config/arm/arm.c (IWMMXT_BUILTIN2): Renamed argument accordingly.
- 
- 	2003-11-12  Steve Woodford  <scw@wasabisystems.com>
- 	    Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/lib1funcs.asm (ARM_DIV_BODY, ARM_MOD_BODY): Add new
- 	code for __ARM_ARCH__ >= 5 && ! defined (__OPTIMIZE_SIZE__).
- 
- 	2003-11-05  Phil Edwards  <phil@codesourcery.com>
- 
- 	* config/arm/arm.md (insn):  Add new V6 instruction names.
- 	(generic_sched):  New attr.
- 	* config/arm/arm-generic.md:  Use generic_sched here.
- 	* config/arm/arm1026ejs.md:  Do not model fetch/issue/decode
- 	stages of pipeline.  Adjust latency counts accordingly.
- 	* config/arm/arm1136jfs.md:  New file.
- 
- 	2003-10-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/arm.h (processor_type): New enumeration type.
- 	(CPP_ARCH_DEFAULT_SPEC): Set appropriately for ARM 926EJ-S,
- 	ARM1026EJ-S, ARM1136J-S, and ARM1136JF-S processor cores.
- 	(CPP_CPU_ARCH_SPEC): Likewise.
- 	* config/arm/arm.c (arm_tune): New variable.
- 	(all_cores): Use cores.def.
- 	(all_architectures): Add representative processor.
- 	(arm_override_options): Restructure way in which tuning
- 	information is deduced.
- 	* arm.md: Update "insn" and "type" attributes throughout.
- 	(insn): New attribute.
- 	(type): Compute "mult" from "insn" attribute.  Add load2,
- 	load3, load4 alternatives.
- 	(arm automaton): Move to arm-generic.md.
- 	* config/arm/arm-cores.def: New file.
- 	* config/arm/arm-generic.md: Likewise.
- 	* config/arm/arm1026ejs.md: Likewise.
- 
- 2004-02-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (SPARC options): Remove -mflat and
- 	all -mxxx (xxx:chip) options.
- 	* config/sparc/aout.h (DBX_REGISTER_NUMBER): Delete.
- 	* config/sparc/litecoff.h (DBX_REGISTER_NUMBER): Likewise.
- 	* config/sparc/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
- 	* config/sparc/sol2.h (DBX_REGISTER_NUMBER): Likewise.
- 	* config/sparc/sparc-protos.h: Delete sparc_flat_* prototypes.
- 	* config/sparc/sparc.c: Likewise.
- 	(sparc_output_function_prologue): Remove TARGET_FLAT handling.
- 	(sparc_nonflat_function_prologue): Rename into sparc_function_prologue.
- 	(sparc_output_function_epilogue): Remove TARGET_FLAT handling.
- 	(sparc_nonflat_function_epilogue): Rename into sparc_function_epilogue.
- 	(struct sparc_frame_info, current_frame_info, zero_frame_info): Delete.
- 	(sparc_flat_must_save_register_p): Likewise.
- 	(sparc_flat_compute_frame_size): Likewise.
- 	(sparc_flat_save_restore): Likewise.
- 	(sparc_flat_function_prologue): Likewise.
- 	(sparc_flat_function_epilogue): Likewise.
- 	(sparc_flat_epilogue_delay_slots): Likewise.
- 	(sparc_flat_eligible_for_epilogue_delay): Likewise.
- 	(sparc_function_ok_for_sibcall): Remove TARGET_FLAT handling.
- 	* config/sparc/sparc.h (MASK_FLAT, TARGET_FLAT): Delete.
- 	(TARGET_SWITCHES): Remove -mflat and all -mxxx (xxx:chip) options.
- 	(SPARC_INCOMING_INT_ARG_FIRST): Remove TARGET_FLAT handling.
- 	(CONDITIONAL_REGISTER_USAGE): Likewise.
- 	(FRAME_POINTER_REQUIRED): Likewise.
- 	(INITIAL_ELIMINATION_OFFSET): Likewise.
- 	(BASE_RETURN_VALUE_REG): Likewise.
- 	(BASE_OUTGOING_VALUE_REG): Likewise.
- 	(BASE_PASSING_ARG_REG): Likewise.
- 	(BASE_INCOMING_ARG_REG): Likewise.
- 	(INCOMING_REGNO): Likewise.
- 	(OUTGOING_REGNO): Likewise.
- 	(LOCAL_REGNO): Likewise.
- 	(DELAY_SLOTS_FOR_EPILOGUE): Likewise.
- 	(ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise.
- 	(EPILOGUE_USES): Likewise.
- 	* config/sparc/sparc.md ("isa" attribute): Change "v6" into "v7".
- 	("flat" attribute): Delete.
- 	(do_builtin_setjmp_setup): Remove TARGET_FLAT and "flat" attribute
- 	handling.
- 	(call followed by jump define_peephole's): Delete.
- 	(exception_receiver): Likewise.
- 	(builtin_setjmp_receiver): Likewise.
- 	* config/sparc/t-sparclite (MULTILIB_OPTIONS): Remove -mflat.
- 
- 2004-02-03  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR c/11658
- 	PR c/13994
- 	* Makefile.in (c-parse.o, c-convert.o, c-typeck.o): Depend
- 	on langhooks.h.
- 	* objc/Make-lang.in (objc-parse.o): Depend on langhooks.h.
- 	* c-parse.in, c-convert.c, c-typeck.c, objc/objc-act.c:
- 	Include langhooks.h.  Replace c_common_truthvalue_conversion
- 	with the truthvalue_conversion language hook throughout.
- 	(expr_no_commas): Call default_conversion before save_expr
- 	for the first term of the production 'x ? : y'.
- 	* c-common.c (c_common_truthvalue_conversion): Remove
- 	obsolete block.  Invoke recursively the hook instead
- 	of this function.
- 	* c-convert.c (convert): handle ERROR_MARK_NODE.
- 	* c-typeck.c (build_binary_op): handle ERROR_MARK_NODE
- 	returned by the truthvalue_conversion language hook.
- 	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
- 	c_objc_common_truthvalue_conversion.
- 	* c-objc-common.c (c_objc_common_truthvalue_conversion):
- 	New function.
- 	* c-tree.h (c_objc_common_truthvalue_conversion): Declare it.
- 	* objc/objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Use
- 	c_objc_common_truthvalue_conversion.
- 
- 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/c4x/c4x.h (FUNCTION_VALUE): Use gen_rtx_REG instead
- 	of gen_rtx.
- 	(LIBCALL_VALUE): Likewise.
- 	* config/ip2k/ip2k.c (mdr_try_propagate_clr_sequence): Use
- 	gen_rtx_CC0 instead of gen_rtx.
- 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use
- 	gen_rtx_fmt_e and gen_rtx_fmt_ee instead of gen_rtx.
- 	(m68hc11_expand_compare): Use gen_rtx_fmt_ee instead of
- 	gen_rtx.
- 	(m68hc11_emit_logical): Likewise.
- 
- 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c, config/arm/arm.c, config/c4x/c4x.c,
- 	config/fr30/fr30.md, config/frv/frv.c, config/frv/frv.md,
- 	config/h8300/h8300.c, config/ia64/ia64.c, config/ip2k/ip2k.md,
- 	config/m32r/m32r.md, config/m68hc11/m68hc11.c,
- 	config/mips/mips.md, config/mmix/mmix.c,
- 	config/mn10300/mn10300.c, config/mn10300/mn10300.md,
- 	config/ns32k/ns32k.c, config/pa/pa.md, config/pdp11/pdp11.c,
- 	config/rs6000/altivec.md, config/s390/s390.c,
- 	config/s390/s390.h, config/s390/s390.md, config/sh/sh.c,
- 	config/sh/sh.h, config/sh/sh.md, config/stormy16/stormy16.c:
- 	Use const0_rtx instead of GEN_INT (0).  Do the same for other
- 	constants that are readily available.
- 
- 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doloop.c, optabs.c, regmove.c, sched-deps.c,
- 	config/i386/i386.c, config/i386/i386.md: Use const0_rtx
- 	instead of GEN_INT (0).  Do the same for other constants that
- 	are readily available.
- 
- 2004-02-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_set): Use gen_rtx_fmt_e instead of
- 	gen_rtx.
- 	* emit-rtl.c (init_emit_once): Use gen_rtx_PC and gen_rtx_CC0
- 	instead of gen_rtx.
- 	* reload1.c (init_elim_table): Use gen_rtx_fmt_e instead of
- 	gen_rtx.
- 	* config/ns32k/ns32k.md (udivmodhi4): Use gen_rtx_IOR and
- 	gen_rtx_ASHIFT instead of gen_rtx.
- 	(udivmodqi4): Likewise.
- 
- 2004-02-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/13789
- 	* expr.c (store_expr): Use force_operand before emit_move_insn.
- 
- 2004-02-02  Jeff Law  <law@redhat.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.c (commutative_tree_code, associative_tree_code): New
- 	functions.
- 	(iterative_hash_expr): Use commutative_tree_code.
- 	* tree.h (commutative_tree_code, associative_tree_code): Declare.
- 	* fold-const.c (operand_equal_p): Use commutative_tree_code
- 	rather than inlining the commutativity check.
- 	(fold): Likewise.
- 
- 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Poison.
- 	* config/frv/frv-protos.h: Remove the prototype for
- 	frv_function_arg_keep_as_reference.
- 	* config/frv/frv.c (frv_function_arg_keep_as_reference):
- 	Remove.
- 	* config/frv/frv.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Likewise.
- 	* config/stormy16/stormy16.h: Remove the commented-out
- 	definition of FUNCTION_ARG_KEEP_AS_REFERENCE.
- 
- 2004-02-03  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/13914
- 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
- 	for retaddr_column.
- 
- 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genemit.c (gen_exp): Generate gen_rtx_fmt_e* instead of
- 	gen_rtx.
- 
- 2004-02-02  Eric Christopher  <echristo@redhat.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-opts.c (c_common_handle_option): Add -finput-charset.
- 	* c.opt: Ditto.
- 	* cppcharset.c (one_iso88591_to_utf8): Remove.
- 	(convert_iso88591_utf8): Ditto.
- 	(conversion_tab): Remove 8859-1 converter.
- 	(_cpp_input_to_utf8): Remove.
- 	(_cpp_init_iconv_buffer): Ditto.
- 	(_cpp_close_iconv_buffer): Ditto.
- 	(_cpp_convert_input): New function.
- 	(_cpp_default_encoding): Ditto.
- 	* cpphash.h: Add/remove prototypes for above.
- 	* cppfiles.c (read_file_guts): Use _cpp_convert_input.
- 	* cppinit.c (cpp_create_reader): Use _cpp_default_encoding
- 	for narrow execution and input character sets.
- 	* cpplib.c (cpp_push_buffer): Delete uses of removed functions.
- 	* doc/cppopts.texi: Document -finput-charset.
- 
- 2004-02-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rtlanal.c (refers_to_regno_p): Test regno, not inner_regno,
- 	against FIRST_PSEUDO_REGISTER.
- 
- 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (SPARC options): Further improve.
- 
- 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.md, config/c4x/c4x.md, config/cris/cris.md,
- 	config/h8300/h8300.c, config/ip2k/ip2k.md,
- 	config/iq2000/iq2000.c, config/mips/mips.c,
- 	config/rs6000/rs6000.c, config/rs6000/rs6000.md,
- 	config/sh/sh.c, config/sh/sh.md, config/stormy16/stormy16.c,
- 	config/v850/v850.md: Fix indentation.
- 
- 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_slotno): Align TImode
- 	arguments on a 16-byte boundary in the parameter array if ARCH64.
- 	Split handling of TFmode.
- 
- 2004-02-02  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* rtlanal.c (reg_overlap_mentioned_p) [!ENABLE_CHECKING]:
- 	Don't test CONSTANT_P (x).
- 	(reg_overlap_mentioned_p): Merge check for STRICT_LOWPART,
- 	ZERO_EXTRACT, SIGN_EXTRACT with the switch statement.
- 	Fix misindentation.
- 
- 2004-02-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
- 
- 2004-02-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc.md, config/arm/arm.c, config/arm/arm.md,
- 	config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.md,
- 	config/frv/frv.c, config/h8300/h8300.c, config/ip2k/ip2k.md,
- 	config/iq2000/iq2000.c, config/m32r/m32r.c,
- 	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.md,
- 	config/mn10300/mn10300.c, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.md, config/sh/sh.c, config/sh/sh.md,
- 	config/stormy16/stormy16.c, config/v850/v850.md,
- 	config/xtensa/xtensa.c: Replace gen_rtx with gen_rtx_fmt_e*.
- 
- 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mcore/mcore.c (block_move_sequence): Replace
- 	gen_rtx_CONST_INT with GEN_INT.
- 
- 2004-02-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (record_set): Use hard_regno_nregs.
- 	* bt-load.c (find_btr_reference, note_btr_set): Likewise.
- 	* builtins.c (apply_args_size): Likewise.
- 	* caller-save.c (setup_save_areas, save_call_clobbered_regs,
- 	mark_set_regs, add_stored_regs, mark_referenced_regs,
- 	insert_restore, insert_save, insert_one_insn): Likewise.
- 	* cfgcleanup.c: Include regs.h
- 	(mark_effect, mentions_nonequal_regs): Likewise.
- 	* cfgrtl.c (mark_killed_regs): Likewise
- 	* combine.c (update_table_tick, record_value_for_reg,
- 	record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p,
- 	reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths,
- 	reg_bitfield_target_p, distribute_notes): Likewise.
- 	* cse.c (mention_regs, insert, invalidate, invalidate_for_call,
- 	exp_equiv_p, cse_insn): Likewise.
- 	* cselib.c (cselib_lookup): Likewise.
- 	(cselib_invalidate_regno, cselib_record_set): Likewise.
- 	* df.c (df_ref_record): Likewise.
- 	* dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor):
- 	Likewise.
- 	* flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg,
- 	count_or_remove_death_notes_bb): Likewise.
- 	* function.c (aggregate_value_p, keep_stack_depressed): Likewise.
- 	* gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts,
- 	mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise.
- 	* integrate.c (mark_stores): Likewise.
- 	* jump.c (delete_prior_computation): Likewise.
- 	* lcm.c (reg_dies, reg_becomes_live): Likewise.
- 	* local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise.
- 	* loop.c (LOOP_REGNO_NREGS): Likewise.
- 	* postreload.c (reload_combine, reload_combine_note_store,
- 	reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise.
- 	* ra-colorize.c (combine, color_usable_p, get_free_reg,
- 	calculate_dont_begin, calculate_dont_begin, colorize_one_web,
- 	try_recolor_web, insert_coalesced_conflicts, check_colors,
- 	break_precolored_alias): Likewise.
- 	* ra-debug.c: Include regs.h
- 	(ra_print_rtx_object): Likewise.
- 	* ra-rewrite (choose_spill_colors): Likewise.
- 	(spill_same_color_p, update_spill_colors, spill_is_free): Likewise.
- 	* ra.c (init_ra): Likewise.
- 	* recog.c (reg_fits_class_p, peep2_reg_dead_p,
- 	peep2_find_free_register): Likewise.
- 	* reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise.
- 	* regclass.c (hard_regno_nregs): New array.
- 	(init_reg_modes_once): Initialize it.
- 	(choose_hard_reg_mode): Use it.
- 	(record_reg_classes): Likewise.
- 	* regmove.c (mark_flags_life_zones): Likewise.
- 	* regrename.c (note_sets, clear_dead_regs, regrename_optimize,
- 	scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno,
- 	copy_value, maybe_mode_change, find_oldest_value_reg,
- 	copyprop_hardreg_forward_1):
- 	* regs.h (hard_regno_nregs): Declare.
- 	* realod.c (reload_inner_reg_of_subreg): Use it.
- 	(push_reload, combine_reloads, find_dummy_reload,
- 	hard_reg_set_here_p, operands_match_p, decompose, find_reloads,
- 	refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p,
- 	reload_adjust_reg_for_mode): Likewise.
- 	* reload1.c (compute_use_by_pseudos, count_pseudo,
- 	count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live,
- 	spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use,
- 	clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p
- 	allocate_reload_reg, choose_reload_regs, emit_reload_insns,
- 	delete_output_reload): Likewise.
- 	* resource.c (update_live_status, mark_referenced_resources,
- 	mark_set_resources, mark_target_live_regs): Likewise.
- 	* rtlanal.c:  Include regs.h
- 	(refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p,
- 	dead_or_set_regno_p, find_regno_note, find_reg_fusage,
- 	subreg_regno_offset, subreg_offset_representable_p,
- 	hoist_test_store): Likewise.
- 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
- 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
- 	* stmt.c: Include regs.h
- 	(decl_conflicts_with_clobbers_p): Likewise.
- 	* varasm.c (make_decl_rtl): Likewise.
- 	* Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy.
- 
- 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
- 	config/arm/linux-gas.h, config/arm/netbsd-elf.h,
- 	config/arm/netbsd.h, config/arm/pe.c, config/avr/avr.c,
- 	config/avr/avr.h, config/avr/avr.md, config/c4x/c4x.h,
- 	config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c,
- 	config/frv/frv.h, config/ip2k/ip2k.c, config/iq2000/iq2000.c,
- 	config/iq2000/iq2000.h, config/m32r/m32r.c,
- 	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
- 	config/m68hc11/m68hc11.md, config/m68k/m68k.md,
- 	config/mcore/mcore.c, config/mcore/mcore.h,
- 	config/mcore/mcore.md, config/mips/mips.c,
- 	config/ns32k/ns32k.h, config/ns32k/ns32k.md,
- 	config/rs6000/rs6000.c, config/s390/s390.c,
- 	config/s390/s390.md, config/sparc/sparc.c, config/v850/v850.c,
- 	config/xtensa/xtensa.h, config/xtensa/xtensa.md: Replace
- 	"gen_rtx (FOO, " with "gen_rtx_FOO (".
- 
- 2004-02-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two peephole2's): New.
- 
- 2004-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
- 	(CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
- 	(ASM_CPU_SPEC): Likewise
- 	* config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
- 	(ASM_CPU_SPEC): Remove -mcpu=v8plus.  Handle -mcpu=ultrasparc3.
- 
- 2004-02-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_pow): If flag_unsafe_math_optimizations
- 	isn't set, don't call expand_builtin_mathfn_2 to use the pow optab.
- 	(expand_builtin): Always call expand_builtin_pow.
- 
- 2004-02-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
- 	BUILT_IN_SIGNBITL): New GCC builtins.
- 	* builtins.c (expand_builtin_signbit): New function to RTL expand
- 	calls to signbit, signbitf and signbitl as inline intrinsics.
- 	(expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
- 	(fold_builtin_signbit): New function to perform constant folding
- 	of signbit, signbitf and signbitl.
- 	(fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
- 
- 	* doc/extend.texi: Document new signbit{,f,l} builtins.
- 
- 2004-02-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
- 
- 2004-02-01  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (PREDICATE_CODES): Remove entries for
- 	"mips_const_double_ok" and "simple_memory_operand", which were
- 	removed from the MIPS port with the mips-3_4-rewrite branch merge.
- 	* config/mips/mips.c (mips16_lay_out_constants): Update comment
- 	for removal of simple_memory_operand.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/c4x/c4x.md: Use GEN_INT instead of
- 	gen_rtx (CONST_INT, ...).
- 
- 2004-01-31  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (output_constant_pool): Don't zap the pool.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genrecog.c (decision_type): Add DT_const_int.
- 	(write_cond) [DT_const_int]: Print a comparison against small
- 	constant.
- 	(write_node): Simplify comparisons against small constants
- 	before printing tests.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.c (m32r_load_pic_register): Use GEN_INT
- 	instead of gen_rtx_CONST_INT.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/xtensa/xtensa.h (DYNAMIC_CHAIN_ADDRESS): Use GEN_INT
- 	instead of gen_rtx_CONST_INT.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* target-def.h (TARGET_STRICT_ARGUMENT_NAMING): Define as
- 	hook_bool_CUMULATIVE_ARGS_false.
- 	* targhooks.c (default_strict_argument_naming): Rename to
- 	hook_bool_CUMULATIVE_ARGS_false.
- 	* targhooks.h: Update the prototype for
- 	default_strict_argument_naming.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
- 	* config/sh/sh.h: Likewise.
- 	* config/sh/sh.md: Likewise.
- 
- 2004-01-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (SPARC options): Restructure and update.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (PROMOTE_FUNCTION_ARGS, STRUCT_VALUE_INCOMING, and
- 	STRICT_ARGUMENT_NAMING): Poison.
- 	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS): Define as
- 	hook_bool_tree_false.
- 	* targhooks.c (default_promote_function_args): Remove.
- 	(default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING.
- 	Don't check incoming.
- 	(default_strict_argument_naming): Don't use
- 	STRICT_ARGUMENT_NAMING.
- 	* targhooks.h: Remove the prototype for
- 	default_promote_function_args.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386-protos.h: Remove the prototype for
- 	ix86_setup_incoming_varargs.
- 	* config/i386/i386.c (TARGET_SETUP_INCOMING_VARARGS): New.
- 	(ix86_setup_incoming_varargs): Make it static.
- 	* config/i386/i386.h (SETUP_INCOMING_VARARGS): Remove.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alloc-pool.c: Fix comment typos.
- 	* builtin-types.def: Likewise.
- 	* builtins.def: Likewise.
- 	* c-pretty-print.c: Likewise.
- 	* df.h: Likewise.
- 	* reload1.c: Likewise.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Follow spelling conventions.
- 	* doc/tm.texi: Likewise.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/install.texi: Fix typos.
- 	* doc/invoke.texi: Likewise.
- 
- 2004-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_decompose_address): Do not treat virtual
- 	registers as pointers.
- 	* config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
- 
- 2004-01-31  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine
- 	and restore it to gen_lowpart_general on exit.
- 	(gen_lowpart_for_combine): Adjust all callers to go through
- 	gen_lowpart.
- 	* cse.c (cse_main): Set gen_lowpart to gen_lowpart_if_possible
- 	and restore it to gen_lowpart_general on exit.
- 	(gen_lowpart_if_possible): Adjust all callers to go through
- 	gen_lowpart.
- 	* emit-rtl.c (gen_lowpart_general): New name of gen_lowpart.
- 	(gen_lowpart): Declare as pointer to function, initialized to
- 	gen_lowpart_general.
- 	* rtl.h (gen_lowpart): Declare as pointer to function.
- 
- 2004-01-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".
- 	* calls.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* function.c: Likewise.
- 	* reload1.c: Likewise.
- 	* config/i386/cygming.h: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 
- 2004-01-30  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	PR bootstrap/9249
- 	* doc/install.texi: document --enable-__cxa_atexit option.
- 	* configure.ac: Disable __cxa_atexit if not supported.
- 	* configure: Regenerate.
- 
- 2004-01-30  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* ggc-zone.c (ggc_free): New function.
- 
- 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	alloc-pool.c, c-lex.c, c-pragma.h, c-semantics.c, cfghooks.c,
- 	cfghooks.h, cfglayout.c, cfgloopmanip.c, debug.c, debug.h,
- 	flow.c, genextract.c, ggc-common.c, ggc-page.c, ggc.h,
- 	ifcvt.c, jump.c, loop-unswitch.c, timevar.c, timevar.def,
- 	tree-optimize.c, vmsdbgout.c, config/fp-bit.c,
- 	config/alpha/alpha.c, config/alpha/alpha.h,
- 	config/alpha/alpha.md, config/alpha/unicosmk.h,
- 	config/alpha/vms.h, config/arm/linux-elf.h, config/avr/avr.c,
- 	config/c4x/c4x-protos.h, config/c4x/c4x.md,
- 	config/d30v/d30v.h, config/frv/frv.md, config/frv/frvbegin.c,
- 	config/frv/frvend.c, config/i386/cygming.h,
- 	config/i386/djgpp.h, config/i386/emmintrin.h,
- 	config/i386/gthr-win32.c, config/i386/i386-interix.h,
- 	config/i386/i386-protos.h, config/i386/openbsd.h,
- 	config/i386/winnt.c, config/i386/xm-mingw32.h,
- 	config/i386/xmmintrin.h, config/ia64/ia64.md,
- 	config/iq2000/iq2000.md, config/m32r/m32r.md,
- 	config/m68k/m68k.md, config/mcore/mcore-elf.h,
- 	config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
- 	config/mips/iris5gas.h, config/mips/iris6.h,
- 	config/mips/iris6gas.h, config/mips/linux.h,
- 	config/mips/mips.md, config/mips/netbsd.h,
- 	config/mips/openbsd.h, config/mips/windiss.h,
- 	config/pa/fptr.c, config/rs6000/aix.h,
- 	config/rs6000/altivec.h, config/rs6000/darwin.h,
- 	config/rs6000/xcoff.h, config/s390/s390-protos.h,
- 	config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
- 	config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
- 	config/sparc/sol2.h: Update copyright.
- 
- 2004-01-30  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (abs_docdir, abs_srcdir): Define.
- 	(doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
- 
- 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genconfig.c (main): Have CC0_P check its operand even on a
- 	target without cc0.
- 
- 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c: Remove mentions of deprecates macros
- 	in comments, remove some target-independent comments about target
- 	macros, and/or add minimal function comments for target hook
- 	implementations.
- 	* config/avr/avr.c: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ip2k/ip2k.c: Likewise.
- 	* config/iq2000/iq2000.c: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m68hc11/m68hc11.c: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mmix/mmix.c: Likewise.
- 	* config/mn10300/mn10300.c: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pdp11/pdp11.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/xtensa/xtensa.c: Likewise.
- 
- 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR optimization/12147
- 	* reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
- 	RELOAD_FOR_OPADDR_ADDR.
- 	(reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
- 	might be reused as RELOAD_FOR_OPADDR_ADDR register.
- 
- 2004-01-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload.c (get_secondary_mem): Fix updating of
- 	secondary_memlocs_elim_used.
- 
- 2004-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (struct rtx_const, struct pool_constant): Remove.
- 	(MAX_RTX_HASH_TABLE): Remove.
- 	(const_rtx_hash_table, const_rtx_sym_hash_table): Remove.
- 	(first_pool, last_pool, pool_offset): Remove.
- 	(struct rtx_constant_pool): Split out from ...
- 	(struct varasm_status): ... here.  Reference one via pointer.
- 	(struct constant_descriptor_rtx): Merge struct pool_constant.
- 	(SYMHASH): Remove.
- 	(decode_rtx_const): Remove.
- 	(const_hash_rtx, compare_constant_rtx): Remove.
- 	(record_constant_rtx): Remove.
- 	(const_desc_rtx_hash, const_desc_rtx_eq): New.
- 	(const_desc_rtx_sym_hash, const_desc_rtx_sym_eq): New.
- 	(const_rtx_hash_1, const_rtx_hash): New.
- 	(init_varasm_status): Allocate a rtx_constant_pool, and its hashes.
- 	(simplify_subtraction): Use simplify_rtx.
- 	(force_const_mem): Rewrite to use new data structures.
- 	(find_pool_constant): Likewise.
- 	(get_pool_constant, get_pool_constant_mark,
- 	get_pool_constant_for_function, get_pool_mode,
- 	get_pool_mode_for_function, get_pool_offset, get_pool_size): Likewise.
- 	(output_constant_pool_2): Split out from output_constant_pool.
- 	(output_constant_pool_1): Likewise.  Use new pool datastructures.
- 	(output_constant_pool): Zap entire pool datastructure.
- 	(mark_constant): Use new pool datastructures.
- 	(mark_constants): Use for_each_rtx.
- 	(mark_constant_pool): Use new pool datastructures.
- 
- 2004-01-30  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
- 	Copy operands[1] to pseudo for simplify_gen_subreg.
- 
- 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (bypass_block): Fix a typo in the previous check-in
- 	to the file.
- 
- 2004-01-30  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* toplev.c: Include alloc-pool.h.
- 	* Makefile.in (toplev.c): Update dependencies.
- 
- 2004-01-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (simplify_shift_const, case XOR): Be careful when
- 	commuting XOR with ASHIFTRT.
- 
- 2004-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc-protos.h: Remove the prototype for
- 	sparc_builtin_saveregs.
- 	* config/sparc/sparc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- 	(sparc_builtin_saveregs): Make it static.
- 	(sparc_promote_prototypes): New.
- 	(sparc_struct_value_rtx): Likewise.
- 	(sparc_return_in_memory): Likewise.
- 	* config/sparc/sparc.h: (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(STRUCT_VALUE_INCOMING): Likewise.
- 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 
- 	* config/sparc/sparc.h (PROMOTE_MODE): Use word_mode.
- 
- 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/12818
- 	* varasm.c (const_hash_1) <STRING_CST>: Use the
- 	address to compute the hash value if flag_writable_strings.
- 	(compare_constant) <STRING_CST>: Compare the addresses
- 	if flag_writable_strings.
- 	(build_constant_desc): Do not copy the expression for a
- 	STRING_CST if flag_writable_strings.
- 
- 2004-01-30  Jan Hubicka  <jh@suse.cz>
- 
- 	* alloc-pool.c: Include hashtab.h
- 	(alloc_pool_descriptor): New structure
- 	(alloc_pool_hash): New global variable.
- 	(hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
- 	(create_alloc_pool): Update statistics.
- 	(free_alloc_pool): Likewise.
- 	(pool_alloc): Likewise.
- 	(output_info): New structure
- 	(print_statistics, dump_alloc_pool_statistics): New function.
- 	* alloc-pool.h (alloc_pool_def): Turn name to be constant.
- 	(dump_alloc_pool_statistics): Declare.
- 	* toplev.c (finalize):  Dump statistics.
- 
- 	* reload.c (secondary_memlocs_elim_used): New static variable.
- 	(get_secondary_mem): Update it.
- 	(find_reloads): Use it.
- 
- 2004-01-30  Steven Bosscher <s.bosscher@student.tudelft.nl>
- 
- 	* toplev.c: Fix broken checkin of 2003-12-30, again.
- 
- 2004-01-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
- 	s390*-*-* targets by specifying a 'nop' insn.
- 	* configure: Regenerate.
- 
- 2004-01-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/11475
- 	* config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
- 
- 2004-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* emit-rtl.c (change_address): Use XEXP (memref, 0) instead
- 	of addr when creating MEM copy.
- 
- 2004-01-29  Devang Patel  <dpatel@apple.com>
- 
- 	* dwarf2out.c (gen_field_die): Do not equate decl number to die.
- 
- 2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR inline-asm/6162
- 	* reload.c (find_reloads): Only support one pair of commutative
- 	operands.
- 
- 2004-01-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR java/13824
- 	* tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
- 	as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
- 	recursion.
- 
- 2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/frv/frv.c: Don't mention deprecated macros in
- 	comments.  Remove some target-independent comments about
- 	target macros.
- 	* config/frv/frv.h: Likewise.
- 
- 2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfghooks.c (split_block): Set probability and count of the
- 	new edge.
- 
- 2004-01-29  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* dwarf2out.c (struct die_struct): Added field decl_id.
- 	(decl_die_table): Changed to hash table.
- 	(decl_die_table_allocated): Deleted.
- 	(decl_die_table_in_use): Deleted.
- 	(DECL_DIE_TABLE_INCREMENT): Deleted.
- 	(decl_die_table_hash): New function.
- 	(decl_die_table_eq): New function.
- 	(lookup_decl_die): Lookup in a hash table.
- 	(equate_decl_number_to_die): Insert into a hash table.
- 	(dwarf2out_init): Init hash table decl_die_table.
- 
- 2004-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/13424
- 	* expr.c (store_constructor): Revert 2003-12-03 change.
- 
- 	* emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
- 	expected before returning early.  Avoid sharing RTL if they
- 	need to be changed.
- 
- 	* config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
- 	handling so that memory attributes are preserved.  Don't call
- 	ix86_set_move_mem_attrs.
- 	(ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
- 	(ix86_expand_clrstr): Rename src argument to
- 	dst.  Rework rep_stos and strset handling so that memory attributes
- 	are preserved.
- 	(ix86_expand_strlen): Pass src argument to
- 	ix86_expand_strlensi_unroll_1.  Rework strlenqi_1 handling so that
- 	memory attributes are preserved.
- 	(ix86_expand_strlensi_unroll_1): Add src argument.  Use
- 	change_address instead of gen_rtx_MEM.
- 	* config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
- 	expanders.
- 	(strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
- 	strmovqi, strmovqi_rex64): Remove.
- 	(rep_mov*, strmov*): Prefix insn names with *.
- 	(strset, strset_singleop, rep_stos): New expanders.
- 	(strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
- 	strsetqi, strsetqi_rex64): Remove.
- 	(rep_stos*, strset*): Prefix insn names with *.
- 	(rep_stosqi_rex64): Likewise.  Fix mode of dirflag reg from DImode
- 	to SImode.
- 	(cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
- 	are preserved.
- 	(cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
- 	Prefix insn names with *.
- 	(cmpstrqi_nz_1, cmpstrqi_1): New expanders.
- 	(strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
- 	(strlenqi_1): New expander.
- 	* config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
- 
- 2004-01-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (cfghooks.o): Add TIMEVAR_H and toplev.h dependency.
- 	* basic-block.h (tidy_fallthru_edge, tidy_fallthru_edges, dump_bb,
- 	verify_flow_info): Declaration removed.
- 	* cfg.c (verify_flow_info, dump_bb): Moved to cfghooks.c.
- 	(debug_bb, debug_bb_n): Add argument to dump_bb call.
- 	* cfgcleanup.c (try_simplify_condjump, try_crossjump_to_edge,
- 	try_optimize_cfg, delete_unreachable_blocks): Use delete_basic_block
- 	instead of delete_block.
- 	* cfghooks.c: Include timevar.h and toplev.h.
- 	(cfg_hooks): Define here.
- 	(verify_flow_info, dump_bb): Moved from cfg.c.
- 	(redirect_edge_and_branch, redirect_edge_and_branch_force,
- 	split_block, split_block_after_labels, move_block_after,
- 	delete_basic_block, split_edge, create_basic_block,
- 	create_empty_bb, can_merge_blocks_p, merge_blocks,
- 	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
- 	New functions.
- 	* cfghooks.h (struct cfg_hooks): Added fields name,
- 	make_forwarder_block, tidy_fallthru_edge and
- 	move_block_after. Changed type of verify_flow_info, dump_bb,
- 	split_block fields. Renamed cfgh_split_edge and delete_block
- 	fields.
- 	(redirect_edge_and_branch, redirect_edge_and_branch_force,
- 	split_block, delete_block, split_edge, create_basic_block,
- 	can_merge_blocks_p, merge_blocks): Macros removed.
- 	(cfg_hooks): Do not export.
- 	(verify_flow_info, dump_bb, redirect_edge_and_branch,
- 	redirect_edge_and_branch_force, split_block, split_block_after_labels,
- 	move_block_after, delete_basic_block, split_edge, create_basic_block,
- 	create_empty_bb, can_merge_blocks_p, merge_blocks,
- 	make_forwarder_block, tidy_fallthru_edge, tidy_fallthru_edges):
- 	Declare.
- 	(cfg_layout_rtl_cfg_hooks): Declare.
- 	* cfgloop.c (update_latch_info, mfb_keep_just, mfb_keep_nonlatch):
- 	New functions.
- 	(canonicalize_loop_headers): Use new semantics of make_forwarder_block.
- 	(redirect_edge_with_latch_update): Removed.
- 	(make_forwarder_block): Moved to cfghooks.c, semantics changed.
- 	* cfgloopmanip.c (remove_bbs): Do not update dominators here.
- 	* cfgrtl.c (cfg_layout_split_block, rtl_split_block, rtl_dump_bb,
- 	rtl_delete_block, rtl_split_block, rtl_merge_blocks,
- 	tidy_fallthru_edge, rtl_split_edge, cfg_layout_delete_block,
- 	cfg_layout_merge_blocks, cfg_layout_split_edge): Partly moved to
- 	cfghooks.c.
- 	(rtl_create_basic_block): Coding style fix.
- 	(rtl_tidy_fallthru_edge, rtl_move_block_after,
- 	rtl_make_forwarder_block): New functions.
- 	(update_cfg_after_block_merging): Removed.
- 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Fill in new entries.
- 	* flow.c (verify_wide_reg, verify_local_live_at_start): Add argument
- 	to dump_bb.
- 	* ifcvt.c (merge_if_block, find_cond_trap, find_if_case_1,
- 	find_if_case_2): Don't update dominators.
- 	* timevar.def (TV_CFG_VERIFY): New.
- 	* loop-unswitch.c (unswitch_loop): Don't call add_to_dominance_info.
- 	* cfglayout.c (copy_bbs): Don't call add_to_dominance_info.
- 	* cfgloopmanip.c (split_loop_bb): Don't update dominators.
- 	(remove_bbs): Don't call remove_bbs.
- 	(create_preheader): Use make_forwarder_block.
- 	(mfb_keep_just, mfb_update_loops): New static functions.
- 
- 2004-01-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.h: Remove target-independent comments about
- 	target macros.
- 
- 2004-01-28  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* timevar.c (timevar_print): Mention when checking is enabled.
- 
- 2004-01-28  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	* c-lex.c (c_lex): Rename to...
- 	(c_lex_with_flags): Add new parameter to get CPP flags.
- 	(c_lex): Thunk to c_lex_with_flags while keeping the old interface.
- 	* c-pragma.h (c_lex_with_flags): Declare.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mcore/mcore.c (mcore_external_libcall): Add a
- 	comment.
- 	(mcore_return_in_memory): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mcore/mcore-protos.h: Remove the prototype for
- 	mcore_setup_incoming_varargs.
- 	* config/mcore/mcore.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
- 	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(mcore_setup_incoming_varargs): Make it static.  Receive the
- 	first argument by reference.  Add argument second_time.
- 	(mcore_external_libcall): New.
- 	(mcore_return_in_memory): Likewise.
- 	* config/mcore/mcore.h (PROMOTE_FUNCTION_ARGS): New.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r-protos.h: Remove the prototype for
- 	m32r_setup_incoming_varargs.
- 	* config/m32r/m32r.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(m32r_return_in_memory): New.
- 	(m32r_setup_incoming_varargs): Make it static.
- 	* config/m32r/m32r.h: Remove #undef of
- 	ASM_OUTPUT_EXTERNAL_LIBCALL.  Remove the commented-out
- 	definitions of PROMOTE_FUNCTION_ARGS and
- 	PROMOTE_FUNCTION_RETURN.
- 	(PROMOTE_PROTOTYPES): Remove.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(m68k_struct_value_rtx): Likewise.
- 	* config/m68k/m68k.h (STRUCT_VALUE_REGNUM): Rename to
- 	STRUCT_VALUE_REGNUM.
- 	(PROMOTE_PROTOTYPES): Remove.
- 	* config/m68k/m68kelf.h (STRUCT_VALUE_REGNUM): Rename to
- 	STRUCT_VALUE_REGNUM.
- 	* config/m68k/m68kv4.h (STRUCT_VALUE_REGNUM): Likewise.
- 	* config/m68k/netbsd-elf.h (STRUCT_VALUE_REGNUM): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/stormy16/stormy16.c
- 	(TARGET_BUILD_BUILTIN_VA_LIST_TYPE): Rename to
- 	TARGET_BUILD_BUILTIN_VA_LIST.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/v850/v850.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(v850_return_in_memory): Likewise.
- 	(v850_setup_incoming_varargs): Likewise.
- 	* config/v850/v850.h (PROMOTE_PROTOTYPES): Remove.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fr30/fr30.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(fr30_setup_incoming_varargs): Don't use
- 	STRICT_ARGUMENT_NAMING.
- 	* config/fr30/fr30.h (PROMOTE_PROTOTYPES): Remove.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/frv/frv-protos.h: Remove the prototype for
- 	frv_expand_builtin_saveregs.
- 	* config/frv/frv.c (TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(frv_stack_info): Use FRV_STRUCT_VALUE_REGNUM instead of
- 	STRUCT_VALUE_REGNUM.
- 	(frv_expand_builtin_saveregs): Make it static.
- 	(frv_struct_value_rtx): New.
- 	* config/frv/frv.h (EXPAND_BUILTIN_SAVEREGS): Remove.
- 
- 2004-01-29  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c++/12850
- 	* cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
- 	initial pointers.
- 	* cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
- 	for functions that will be only inlined.
- 	(cgraph_mark_function_to_output): Likewise.
- 	(cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
- 	do not clear function body.
- 	* tree-optimize.c (clear_decl_rtl): Use decl_function_context.
- 	(tree_rest_of_compilation): Reorganize the logic releasing function
- 	body to use callgraph datastructure.
- 
- 2004-01-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
- 	to register_operand.
- 
- 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
- 	(cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
- 	match_operand expressions so that all match_dups appear
- 	lexically after their corresponding match_operands.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (WORD_REG_USED): Use
- 	HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
- 	(compute_saved_regs): Likewise.
- 	(h8300_expand_prologue): Likewise.  Allocate locals after
- 	saving registers.
- 	(h8300_expand_epilogue): Use HARD_FRAME_POINTER_REGNUM instead
- 	of FRAME_POINTER_REGNUM.  Deallocate locals before saving
- 	registers.
- 	(h8300_initial_elimination_offset): Adjust for the new frame
- 	layout, which swaps flips the order of locals and saved
- 	registers.
- 	* config/h8300/h8300.h (FIRST_PSEUDO_REGISTER): Change to 12.
- 	(HARD_FRAME_POINTER_REGNUM): New.
- 	(ELIMINABLE_REGS): Add an elimination rule from
- 	FRAME_POINTER_REGNUM to HARD_FRAME_POINTER_REGNUM.
- 	(REGISTER_NAMES): Add fp.
- 	* config/h8300/h8300.md (FP_REG): Change to 11.
- 	(HFP_REG): New.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genrecog.c (write_node): Remove a useless local variable.
- 
- 2004-01-28  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* Makefile.in (options.c options.h): Use stamp file s-options to
- 	avoid unnecessary rebuilds.
- 	(options.o): New target listing dependencies.
- 	(gtyp-gen.h): Use stamp file s-gtyp-gen.
- 	(STAGESTUFF): Add s-gtyp-gen.
- 
- 2004-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* ggc.h (ggc_free): Declare.
- 	* ggc-common.c (ggc_realloc): Use it.
- 	* ggc-page.c: Remove lots of inline markers.
- 	(globals): Add free_object_list.
- 	(ggc_alloc): Tidy.
- 	(ggc_free, validate_free_objects): New.
- 	(poison_pages): Provide default.
- 	(ggc_collect): Call validate_free_objects; emit markers to
- 	the debug file.
- 
- 2004-01-28  Zack Weinberg  <zack@codesourcery.com>
- 	    Jim Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
- 	Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
- 	scratch pointer.
- 	(ia64_secondary_reload_class): Delete case GR_REGS.
- 	* config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
- 	Do not allocate a scratch register.
- 	(reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
- 
- 2004-01-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (bypass_block): Prevent edges to be unified when we are
- 	about to emit compenstation code.
- 
- 2004-01-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_expand_builtin): Force second argument of
- 	the setcwx insn into a register.
- 
- 2004-01-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/fp-bit.c (pack_d): When using paired doubles to implement
- 	a long double, round the high part separately.
- 	(unpack_d): Fix the case in which the high part is a power of two
- 	and the low part is a nonzero value of the opposite sign.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/c4x/c4x.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(c4x_external_libcall): Likewise.
- 	(c4x_struct_value_rtx): Likewise.
- 	* config/c4x/c4x.h: Remove.
- 	(STRUCT_VALUE_REGNUM): Likewise.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
- 
- 2004-01-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	* config/i386/i386.h (STRUCT_VALUE_INCOMING): Remove.
- 	(STRUCT_VALUE): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 
- 2004-01-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/pa/pa.c (emit_move_sequence): Check that operand1 is a
- 	CONST_INT before using INTVAL.
- 
- 2004-01-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
- 	* config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
- 	frame if !TARGET_BACKCHAIN.
- 	* config/s390/s390.md ("allocate_stack"): Use pattern only if
- 	TARGET_BACKCHAIN.
- 	* doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
- 
- 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ia64.c (ia64_function_arg): When placing HFAs in integer
- 	registers, do not special case the mode used for complex
- 	types.  Do not advance int_regs until the current register
- 	is full.
- 
- 2004-01-27  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/7297
- 	* except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
- 
- 2004-01-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
- 	slow, unaligned loads and stores while debugging.  Fix formatting.
- 
- 2004-01-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
- 	of computing wmode.
- 	(restore_stack_nonlocal): Same.
- 
- 2004-01-27  Devang Patel <dpatel@apple.com>
- 
- 	* Makefile.in (dwarf2out.o): Depend on input.h
- 	* dbxout.c (dbx_debug_hooks): Add new empty hook for
- 	imported_module_or_decl.
- 	(xcoff_debug_hooks): Same.
- 	* sdbout.c (sdb_debug_hooks): Same.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Same.
- 	* debug.c (do_nothing_debug_hooks): Same.
- 	(debug_nothing_tree_tree): New function.
- 	* debug.h (gcc_debug_hooks): New hook, imported_module_or_decl.
- 	* dwarf2out.c: Include input.h.
- 	(dwarf2_debug_hooks): Add new hook for imported_module_or_decl.
- 	(remove_child_TAG): New function.
- 	(dwarf_tag_name): Handle DW_TAG_imported_module.
- 	(gen_subprogram_die): Equate decl number to declaration die. Do not
- 	remove all children dies while reusing declaration die for definition.
- 	Instead, selectively remove only formal parameters.
- 	(gen_variable_die): Equate variable decl to declaration die.
- 	(gen_field_die): Equate field decl to line number.
- 	(force_namespace_die): Replace it with ...
- 	(force_decl_die): ... this.
- 	(force_type_die): New function.
- 	(setup_namespace_context): Replace use of force_namespace_die() with
- 	force_decl_die().
- 	(gen_namespace_die): Same.
- 	(dwarf2out_imported_module_or_decl): New function.
- 
- 2004-01-27  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
- 	on CQImode and CHImode incoming arguments in register a7.
- 	(function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
- 	* config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
- 	* config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
- 	xtensa_copy_incoming_a7 before reload.
- 
- 2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* coverage.c (get_coverage_counts): Give a different message
- 	if flag_guess_branch_prob is set.
- 	* predict.c (counts_to_freqs): Return an int.
- 	(estimate_bb_frequencies): If counts_to_freqs returns zero,
- 	calculate estimates.
- 
- 2004-01-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/iq2000/iq2000-protos.h: Remove the prototype for
- 	iq2000_setup_incoming_varargs.
- 	* config/iq2000/iq2000.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- 	(iq2000_return_in_memory): Likewise.
- 	(iq2000_setup_incoming_varargs): Make it static.  Receive the
- 	first argument by reference.
- 	* config/iq2000/iq2000.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 
- 2004-01-24  James A. Morrison  <ja2morri@uwaterloo.ca>
- 
- 	* fixinc/fixinc.c (test_test): Initialize res.
- 	(start_flexer): Initialize pz_cmd_save.
- 
- 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/rtl.texi (Arithmetic): Rewrite entries for PLUS,
- 	SS_PLUS, US_PLUS, LO_SUM, MINUS, SS_MINUS, US_MINUS.
- 
- 2004-01-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 7198
- 	* config/ia64/ia64.md (*nmaddsf4, *nmadddf4, *nmadddf4_alts)
- 	(*nmadddf4_trunc, *nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf)
- 	(*nmaddxf4_alts, *nmaddxf4_truncdf_alts):
- 	Rewrite pattern as (minus (op 3) (mult (op 1) (op 2))).
- 	Possibly rename pattern for consistency.
- 	Remove ??? comments suggesting that this be done.
- 	(*nmaddsf4_alts, *nmadddf4_truncsf_alts, *nmaddxf4_truncsf_alts):
- 	New patterns.
- 	(divsi3_internal, divdi3_internal_lat, divdi3_internal_thr)
- 	(divsf3_internal_lat, divsf3_internal_thr, sqrtsf2_internal_thr)
- 	(divdf3_internal_lat, divdf3_internal_thr, sqrtdf2_internal_thr)
- 	(divxf3_internal_lat, divxf3_internal_thr, sqrtxf2_internal_thr):
- 	Update to match.
- 
- 2004-01-27  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/arm.c (output_return_instruction): Only restore IP
- 	into SP if frame_pointer_needed.
- 
- 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
- 	for SCmode and DCmode if ARCH32.
- 	(sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
- 	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
- 	if ARCH32.
- 	(BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
- 	if ARCH32.
- 	(BASE_OUTGOING_VALUE_REG): Likewise.
- 
- 2004-01-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/10904
- 	PR target/13058
- 	* config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
- 	Forbid mode changes from SImode for lower FP regs if ARCH64.
- 
- 2004-01-27  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* Makefile.in (bt-load.o): Depend on except.h.
- 	* bt-load.c (except.h): #include.
- 	(compute_defs_uses_and_gen): If insn at end of BB can throw
- 	within this function, consider registers used by it unavailable for
- 	btr migration.
- 	(move_btr_def): If insn at end of BB can throw, insert before rather
- 	than after.
- 
- 	* flags.h (flag_btr_bb_exclusive): Declare.
- 	* toplev.c (flag_btr_bb_exclusive): New variable.
- 	(f_options): Add btr-bb-exclusive.
- 	* bt-load.c (augment_live_range): Restore old behaviour if
- 	flag_btr_bb_exclusive is set.
- 	* common.opt: Add entry for -fbtr-bb-exclusive.
- 	* opts.c (common_handle_options): Same.
- 	* doc/invoke.texi: Document -fbtr-bb-exclusive.
- 
- 	* bt-load.c (btrs_live_at_end): New variable.
- 	(compute_defs_uses_and_gen): Compute its pointed-to array.
- 	(clear_btr_from_live_range, add_btr_to_live_range): Update it.
- 	(augment_live_range): When augmenting with a new dominator,
- 	use only its btrs_live_at_end set, but also add in the full set
- 	of the old dominator.
- 	(btr_def_live_range): Use btrs_live_at_end.
- 	(move_btr_def): Set other_btr_uses_before_def, and move new set
- 	to the end of the basic block, if appropriate.
- 	(migrate_btr_defs): Allocate and free btrs_live_at_end.
- 
- 	* bt-load.c (basic_block_freq): Remove outdated comment.
- 
- 2004-01-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h: Correct target_flags free bits comment.
- 	(PREDICATE_CODES): Remove duplicate.
- 	* config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
- 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
- 	(MASK_PROFILE_KERNEL): Adjust define.
- 
- 2004-01-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_constant_alignment): Decrease alignment
- 	of long string literals from 32 bytes to sizeof (void *) when !-Os
- 	and to 1 with -Os.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept
- 	constant addresses in the normal mode.
- 
- 2004-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (CHAR_BITFIELD): Delete.
- 	(BOOL_BITFIELD): New.
- 	* c-decl.c (c_scope): Use BOOL_BITFIELD.
- 	* gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(arc_return_in_memory): Likewise.
- 	* config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 
- 2004-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (extension): Use itype.
- 	(SAVE_EXT_FLAGS): Don't allocate a tree.
- 	(RESTORE_EXT_FLAGS): Don't read a tree.
- 
- 2004-01-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (discard_useless_values):  Clear out value pointer pointing
- 	to datastructure to be recycled.
- 
- 2004-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* genextract.c (main): Do not output the memset when not checking.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a
- 	switch statement instead of a chain of if statements.
- 
- 2004-01-26  Jeff Law  <law@redhat.com>
- 
- 	* doc/contrib.texi: Minor cleanup for Paolo Carlini's entry.  Add
- 	acute accents for Petur Runolfsson's entry.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	* config/pdp11/pdp11.h (STRUCT_VALUE): Remove.
- 	(RETURN_IN_MEMORY): Likewise.
- 
- 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	 * config/rs6000/rs6000.c (rs6000_emit_move): split slow
- 	 unaligned load/store into smaller loads and stores.
- 
- 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* function.c (assign_parms): Do not assign
- 	long long argument to memory in prologue if
- 	is it loaded into register.
- 
- 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	 PR middle-end/13779
- 	 * expr.c (emit_group_load): split constant
- 	 correctly into register components of PARALLEL insn.
- 
- 2004-01-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* gcc/config/rs6000/rs6000.md (save_stack_nonlocal):
- 	Use adjust_address_nv directly with appropriate mode.
- 	(restore_stack_nonlocal): Ditto.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/xtensa/xtensa-protos.h: Remove the prototype for
- 	xtensa_builtin_saveregs.
- 	* config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(xtensa_builtin_saveregs): Make it static.
- 	(xtensa_return_in_memory): New.
- 	* config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New.
- 	(arm_setup_incoming_varargs): Likewise.
- 	* config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New.
- 	(cris_setup_incoming_varargs): Likewise.
- 	* config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(ns32k_struct_value_rtx): Likewise.
- 	* config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to
- 	NS32K_STRUCT_VALUE_REGNUM.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(arm_struct_value_rtx): Likewise.
- 	* config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(STRUCT_VALUE): Likewise.
- 	(STRUCT_VALUE_REGNUM): Likewise.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 
- 2004-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ia64/ia64-protos.h: Remove the prototype for
- 	ia64_setup_incoming_varargs and ia64_return_in_memory.
- 	* config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- 	(ia64_setup_incoming_varargs): Adjust the arguments to meet
- 	the requirement of TARGET_SETUP_INCOMING_VARARGS.
- 	(ia64_return_in_memory): Make it static.  Change the return
- 	type to bool from int.  Add an argument.
- 	(ia64_struct_value_rtx): New.
- 	* config/ia64/ia64.h: Remove commented-out definitions of
- 	PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and
- 	PROMOTE_PROTOTYPES.
- 	(RETURN_IN_MEMORY): Remove.
- 	(STRUCT_VALUE_REGNUM): Likewise.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 
- 2004-01-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/13666
- 	* config/sparc/sparc.c (function_arg_union_value): New function.
- 	(function_arg): Use it to deal with unions.
- 	(function_value): Likewise.  Define 'regbase' only for ARCH64.
- 	Replace a conditional statement by a simpler one.
- 
- 2004-01-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips16_optimize_gp): Delete.
- 	(mips_reorg): Don't call it.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (addqi3_noclobber): Move up pecking order.
- 	(floatunsqihf2): Remove operand 6.
- 	(fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other
- 	fix patterns.
- 	(ldi_conditional, ldf_conditional): Validate operands.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove.
- 	(HAVE_GAS_HIDDEN): Undefine as interim measure.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_legitimate_address_p):  Invalidate direct
- 	memory references if TARGET_EXPOSE_LDP nonzero.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_valid_operands): More aggressively reject
- 	invalid operand combinations.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_check_legit_addr): Rename to
- 	c4x_legitimate_address_p.  Fix post_modify check.
- 
- 	* config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust.
- 	* config/c4x/c4x.h (c4x_check_legit_addr): Adjust.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/pa/pa-protos.h: Remove the prototype for
- 	hppa_builtin_saveregs.  Add a prototype for
- 	pa_return_in_memory.
- 	* config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(pa_struct_value_rtx): Likewise.
- 	(pa_return_in_memory): Likewise.
- 	* config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to
- 	PA_STRUCT_VALUE_REGNUM.
- 	(INIT_CUMULATIVE_ARGS): Use pa_return_in_memory.
- 	(EXPAND_BUILTIN_SAVEREGS): Remove.
- 	(PROMOTE_PROTOTYPES): Likewise.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(vax_struct_value_rtx): Likewise.
- 	* config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to
- 	VAX_STRUCT_VALUE_REGNUM.
- 	(PROMOTE_PROTOTYPES): Remove.
- 
- 2004-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS):  Handle symref.
- 
- 2004-01-25  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2,
- 	and MIPS64 have HI/LO interlocks.  Update comment.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/stormy16/stormy16-protos.h: Remove the prototype for
- 	xstormy16_setup_incoming_varargs.
- 	* config/stormy16/stormy16.c
- 	(xstormy16_setup_incoming_varargs): Remove.
- 	(xstormy16_return_in_memory): New.
- 	(TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	* config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise
- 	(PROMOTE_PROTOTYPES): Likewise
- 	(RETURN_IN_MEMORY): Likewise
- 	(STRUCT_VALUE): Likewise
- 	(SETUP_INCOMING_VARARGS): Likewise
- 
- 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_offset_within_object_p): New function.
- 	(mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
- 	SYMBOL_CONSTANT_POOL cases.  Also use it for SYMBOL_GENERAL if the
- 	ABI has 64-bit pointers and the object file only allows 32-bit symbols.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300-protos.h: Remove the prototype for
- 	mn10300_builtin_saveregs.
- 	* config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	(mn10300_return_in_memory): Likewise.
- 	(mn10300_builtin_saveregs): Make it static.
- 	* config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(EXPAND_BUILTIN_SAVEREGS): Likewise.
- 
- 2004-01-25  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	PR bootstrap/13853
- 	* cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by
- 	using ccr.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i860/i860-protos.h: Remove the prototype for
- 	i860_saveregs.
- 	* config/i860/i860.c (i860_saveregs): Make it static.
- 	(i860_struct_value_rtx): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	* config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to
- 	I860_STRUCT_VALUE_REGNUM.
- 	(EXPAND_BUILTIN_SAVEREGS): Remove.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(m68hc11_struct_value_rtx): Likewise.
- 	(m68hc11_return_in_memory): Likewise.
- 	* config/m68hc11/m68hc11.h: Remove a commented-out definition
- 	of PROMOTE_PROTOTYPES.
- 	(RETURN_IN_MEMORY): Remove.
- 	(STRUCT_VALUE_REGNUM): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mmix/mmix-protos.h: Remove the prototype for
- 	mmix_setup_incoming_varargs.
- 	* config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(mmix_setup_incoming_varargs): Make it static.
- 	(mmix_struct_value_rtx): New.
- 	* config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	Remove a commented-out definition of PROMOTE_FUNCTION_RETURN.
- 	(STRUCT_VALUE_REGNUM): Remove.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mips/mips-protos.h: Remove the prototypes for
- 	mips_setup_incoming_varargs and mips_return_in_memory.
- 	* config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_PROMOTE_PROTOTYPES): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- 	(mips_setup_incoming_varargs): Match the prototype for
- 	TARGET_SETUP_INCOMING_VARARGS.
- 	(mips_return_in_memory): Make it static.  Add argument fntype.
- 	(mips_strict_argument_naming): New.
- 	* config/mips/mips.h (PROMOTE_PROTOTYPES): Remove.
- 	(PROMOTE_FUNCTION_ARGS): Likewise.
- 	(PROMOTE_FUNCTION_RETURN): Likewise.
- 	(STRUCT_VALUE): Likewise.
- 	(RETURN_IN_MEMORY): Likewise.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_SETUP_INCOMING_VARARGS): Likewise.
- 	(ip2k_return_in_memory): Likewise.
- 	(ip2k_setup_incoming_varargs): Likewise.
- 	* config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove.
- 	(STRUCT_VALUE): Likewise.
- 	(STRUCT_VALUE_INCOMING): Likewise.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 
- 2004-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	(TARGET_STRICT_ARGUMENT_NAMING): Likewise.
- 	(avr_return_in_memory): Remove.
- 	* config/avr/avr.h (RETURN_IN_MEMORY): Remove.
- 	(STRUCT_VALUE): Likewise.
- 	(STRUCT_VALUE_INCOMING): Likewise.
- 	(STRICT_ARGUMENT_NAMING): Likewise.
- 
- 2004-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
- 
- 2004-01-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
- 	(mips_regno_mode_ok_for_base_p): Declare.
- 	* config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
- 	(FRAME_POINTER_REGNUM): Renumber to 78.
- 	(FIRST_PSEUDO_REGISTER): Update comment accordingly.
- 	(BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
- 	(GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
- 	(REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
- 	(REG_MODE_OK_FOR_BASE_P): Likewise.
- 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
- 	entry for 77 to "$arg" and entry for 78 to "$frame".
- 	(mips_regno_to_class): Map 77 and 78 to ALL_REGS.
- 	(mips_reg_mode_ok_for_base_p): Remove.
- 	(mips_regno_mode_ok_for_base_p): New function, derived from old
- 	BASE_REG_P macro.  Don't enforce the mips16 stack pointer
- 	restrictions unless we're being strict.
- 	(mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.h: Fix comment typos.
- 	* c-decl.c: Likewise.
- 	* cgraphunit.c: Likewise.
- 	* combine.c: Likewise.
- 	* et-forest.c: Likewise.
- 	* flow.c: Likewise.
- 	* function.c: Likewise.
- 	* ifcvt.c: Likewise.
- 	* integrate.c: Likewise.
- 	* jump.c: Likewise.
- 	* postreload.c: Likewise.
- 	* varray.c: Likewise.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/frontends.texi: Update copyright.
- 	* doc/gcov.texi: Likewise.
- 	* doc/gty.texi: Likewise.
- 	* doc/sourcebuild.texi: Likewise.
- 	* doc/standards.texi: Likewise.
- 
- 2004-01-24  Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
- 
- 	PR target/12978
- 	* c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
- 	Remove movstrqi_small because it conflicts with movstrqi_large.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(cris_struct_value_rtx): Likewise.
- 	* config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of
- 	STRUCT_VALUE_REGNUM.
- 	(STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM.
- 
- 2004-01-24  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR bootstrap/13848
- 	* cse.c (cse_cc_succs): Change the mode of the source expression
- 	as soon as decide we need a new mode.  Don't permit changing modes
- 	if we found a match in a successor block.
- 	(cse_condition_code_reg): Save original mode of source expression
- 	so that we know whether we have to change the mode in other
- 	insns.
- 
- 2004-01-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (change_address, adjust_address_1, offset_address,
- 	widen_memory_access):  Return early when there is nothing to change.
- 
- 2004-01-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Don't
- 	simplify address == constant into address + -constant == 0.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcc.c (process_command): Don't internationalize the
- 	Copyright message.
- 	* mips-tfile.c (main): Likewise.
- 
- 2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* cse.c: (cse_cc_succs) Fix comparison warning.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Remove extraneous USE in expanders.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Provide prototypes for
- 	h8300_legitimate_constant_p and h8300_legitimate_address_p.
- 	* config/h8300/h8300.c (h8300_legitimate_constant_p): New.
- 	(h8300_rtx_ok_for_base_p): Likewise.
- 	(h8300_legitimate_address_p): Likewise.
- 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use
- 	h8300_legitimate_constant_p.
- 	(RTX_OK_FOR_BASE_P): Remove.
- 	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p.
- 
- 2004-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New.
- 	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
- 	(REG_OK_FOR_INDEX_STRICT_P): Likewise.
- 	(REG_OK_FOR_BASE_STRICT_P): Likewise.
- 	(REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P.
- 	(REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P.
- 	(REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P.
- 	(REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P.
- 
- 2004-01-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (remove_useless_values):  Do not access discarded values.
- 
- 2004-01-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (build_conditional_expr): Do not allow non-lvalue
- 	arrays.
- 
- 2004-01-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* recog.c: Fix a typo in copyright.
- 
- 2004-01-23  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/rs6000.md (call): Fix misappiled patch.
- 	(call_value): Likewise.
- 
- 2004-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/12941
- 	* combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
- 	(simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
- 	if SHIFT_COUNT_TRUNCATED is set.
- 
- 2004-01-23  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
- 	separate real and imaginary parts.
- 	* config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
- 
- 2004-01-23  Hartmut Penner <hpenner@de.ibm.com>
- 
- 	PR target/13674
- 	* config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
- 	loading into GPR.
- 
- 2004-01-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (change_address_1):  Do not re-generate the RTX if nothing
- 	change.
- 
- 	* alloc-pool.c (align_four): Kill.
- 	(create_alloc_pool): Align size to eight.
- 	(free_alloc_pool, free_pool): Invalidate deallocated data.
- 
- 2004-01-23  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	PR gcc/1532
- 	* cse.c (cse_change_cc_mode): New static function.
- 	(cse_change_cc_mode_insns, cse_cc_succs): Likewise.
- 	(cse_condition_code_reg): New function.
- 	* rtl.h (cse_condition_code_reg): Declare.
- 	* toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
- 	* target.h (struct gcc_target): Add fixed_condition_code_regs and
- 	cc_modes_compatible.
- 	* target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
- 	(TARGET_CC_MODES_COMPATIBLE): Define.
- 	(TARGET_INITIALIZER): Add new initializers.
- 	* targhooks.c (default_cc_modes_compatible): New function.
- 	* targhooks.c (default_cc_modes_compatible): Declare.
- 	* hooks.c (hook_bool_intp_intp_false): New function.
- 	* hooks.h (hook_bool_intp_intp_false): Declare.
- 	* config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
- 	(TARGET_CC_MODES_COMPATIBLE): Define.
- 	(ix86_fixed_condition_code_regs): New static function.
- 	(ix86_cc_modes_compatible): Likewise.
- 	* doc/tm.texi (Condition Code): Document new hooks.
- 
- 2004-01-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (bad_lval): Renamed to ...
- 	(alpha_bad_lval): ... this.
- 	Removed file list.
- 	Restrict to alpha*-dec-osf*.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/dirent.h: Remove, moving test ...
- 	* fixinc/tests/base/testing.h: ... here, reflecting new name.
- 
- 2004-01-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR c/13814
- 	* c-decl.c (diagnose_mismatched_decls): Also discard a
- 	built-in if we encounter an old-style definition with the
- 	same name.
- 
- 2004-01-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
- 	set to default{32,64}.
- 
- 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
- 	[!__powerpc64__]: Corrected to handle kernels with changed ucontext.
- 
- 2004-01-23  Eric Botcazou  <ebotcazou@act-europe.fr>
- 	    Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* fold-const.c (fold_binary_op_with_conditional_arg): Only
- 	build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
- 
- 2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
- 	size for minipool references.
- 
- 2004-01-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_floor, real_ceil): Tweak to allow input and output
- 	arguments to overlap.
- 	(real_round): New function to implement round(3m) semantics.
- 	* real.h (real_round): Prototype here.
- 	* builtins.c (fold_builtin_round): New function to constant fold
- 	round, roundf and roundl.
- 	(fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}.
- 
- 2004-01-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR optimization/13819
- 	* config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs
- 	introduced by 2004-01-20's Jan Hubicka's copy_insn change.
- 	(sh_handle_sp_switch_attribute): Remove warning.
- 
- 2004-01-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_emit_restore_regs_using_mov):  Deal with large offsets.
- 
- 2004-01-23  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
- 	may or may not return non-NIL.
- 	* postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
- 	check CANNOT_CHANGE_MODE_CLASS
- 
- 2004-01-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (PROP_POSTRELOAD): New macro.
- 	(CLEANUP_LOG_LINKS): New.
- 	* cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
- 	* toplev.c (rest_of_handle_life):  Preserve LOG_LINKS trought cleanup_cfg.
- 
- 	* cselib.c (value_pool): New.
- 	(new_cselib_val): Use pool.
- 	(cselib_init): Initialize value_pool
- 	(cselib_finish): Free pool.
- 
- 2004-01-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (scan_record_type): New function.
- 	(function_arg_slotno): Use it to determine which kinds of
- 	registers the record can be passed in.
- 
- 2004-01-22  James A. Mmorrison  <ja2morri@uwaterloo.ca>
- 
- 	* config/pa/fptr.c: Fix old-style definition.
- 
- 2004-01-22  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR optimization/13724
- 	* cse.c (fold_rtx) <SUBREG>:  Fold a SUBREG to zero if it
- 	represents the zero bits produced by a ZERO_EXTEND operation.
- 
- 2004-01-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/13821
- 	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to
- 	correctly calculate the lowpart offset of the contracted subreg.
- 
- 2004-01-22  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* doc/invoke.texi (Optimize Options): Note that --param arguments
- 	are subject to change without notice.
- 
- 2004-01-22  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (mips-sgi-irix6*o32): Removed.
- 	* config/mips/iris6-o32-as.h: Likewise.
- 	* config/mips/iris6-o32-gas.h: Likewise.
- 	* config/mips/iris6-o32.h: Likewise.
- 
- 2004-01-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (first_pass): New static variable.
- 	(try_forward_edges):  Add work limiting check for threading.
- 	(try_crossjump_bb):  Add work limiting check for crossjumping.
- 	(try_optimize_cfg):  Maintain first pass variable.
- 
- 2004-01-22  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (function_arg): Generalize logic so that it
- 	handles complex and vector modes.
- 
- 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove.
- 	(REG_OK_FOR_BASE_P_STRICT): Likewise.
- 	(STRICT): Likewise.
- 
- 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
- 	(genrtl_for_stmt): Remove emit_nop calls.
- 
- 2004-01-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/13713
- 	PR target/13324
- 	* pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
- 	movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
- 	clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
- 
- 2004-01-22  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/arm/arm.c: Include "debug.h".
- 	(thumb_pushpop): Take two new arguments.  Add some commentary.
- 	Output frame information when pushing.
- 	(thumb_exit, thumb_unexpanded_epilogue): Update calls to
- 	thumb_pushpop.
- 	(thumb_output_function_prologue): Likewise.  Accumulate a CFA
- 	offset, and pass it to thumb_pushpop.  Output CFI information.
- 	(thumb_expand_prologue): Add some frame-related markers and notes.
- 
- 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_frame_info): Allow large frame sizes
- 	for TARGET_64BIT.
- 	(s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
- 	* config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
- 
- 2004-01-22  Roger Sayle  <roger@eyesopen.com>
- 	    Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb.
- 	(subreg_lsb): Change to call new subreg_lsb_1 helper function.
- 	* rtl.h (subreg_lsb_1): Prototype here.
- 	* simplify-rtx.c (simplify_subreg): Optimize subregs of zero and
- 	sign extensions.
- 
- 2004-01-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
- 	macro need not be defined if jump-tables should contain
- 	relative addresses only when -fPIC or -fPIC is in effect.
- 
- 2004-01-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (reg_base_value): Turn into varray.
- 	(reg_base_value_size): Kill.
- 	(old_reg_base_value): New deletable varray.
- 	(alias_invariant_size): New variable.
- 	(REG_BASE_VALUE): Update to use varray.
- 	(find_base_value): Likewise.
- 	(record_set): Likewise.
- 	(record_base_value): Likewise.
- 	(memrefs_conflict_p): Likewise.
- 	(record_set): Likewise
- 	(record_base_value): Likewise.
- 	(memrefs_conflict_p): Use alias_invariant_size.
- 	(init_alias_analysis): Use varray; set alias_invariant_size;
- 	rescale other arrays to be sized by maxreg.
- 	(end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
- 
- 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_slotno): Use
- 	FLOAT_TYPE_P to detect FP fields in structures.
- 	(function_arg_record_value_1): Likewise.
- 	(function_arg_record_value_2): Likewise.
- 
- 2004-01-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (allocate_struct_function): Do not initialize expr, emit
- 	and varasm.
- 	(prepare_function_start): Do it here.
- 	* c-parse.in (maybe_type_qual): Do not produce line number notes.
- 
- 2004-01-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/13559
- 	* config/sparc/sparc.c (function_arg_record_value_3): Revert
- 	to 'word_mode' once the first slot has been filled.
- 
- 2004-01-22  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* config/sparc/sparc.c (function_arg_record_value_1): Fix
- 	computation of the number of integer registers required.
- 
- 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386.md: Simplify certain comparisons of
- 	const_int.
- 
- 2004-01-21  Andrew Pinski  <apinski@apple.com>
- 
- 	PR target/13785
- 	* config/rs6000/rs6000.md (call_value): Force operand
- 	1 not operand 0 into a register.
- 
- 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def,
- 	unwind-dw2-fde.h: Update copyright.
- 
- 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-protos.h: Update copyright.
- 	* pa.h: Likewise.
- 	* pa.md: Likewise.
- 
- 2004-01-21  Caroline Tice  <ctice@apple.com>
- 
- 	PR target/12308
- 	* config/i386/i386.md (fix_truncxfdi2): Add clause to clobber
- 	flags register.
- 	(fix_truncdfdi2): Likewise.
- 	(fix_truncsfdi2): Likewise.
- 	(*fix_truncdi_1): Likewise.
- 	(fix_truncxfsi2): Likewise.
- 	(fix_truncdfsi2): Likewise.
- 	(fix_truncsfsi2): Likewise.
- 	(*fix_truncsi_1): Likewise.
- 	(fix_truncxfhi2): Likewise.
- 	(fix_truncdfhi2): Likewise.
- 	(fix_truncsfhi2): Likewise.
- 	(*fix_trunchi_1): Likewise.
- 
- 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c, basic-block.h, c-common.c, c-common.h,
- 	c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c,
- 	calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
- 	combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c,
- 	cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h,
- 	defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
- 	expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c,
- 	genautomata.c, genconditions.c, genemit.c, genflags.c,
- 	gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c,
- 	ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c,
- 	langhooks-def.h, langhooks.c, langhooks.h, line-map.c,
- 	line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
- 	ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
- 	rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
- 	target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h,
- 	unwind.h, varray.c, varray.h: Update copyright.
- 
- 2004-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/coff.h: Update copyright.
- 	* config/h8300/elf.h: Likewise.
- 	* config/h8300/h8300-protos.h: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2004-01-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
- 	ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
- 	ultrix_unistd): New hacks.
- 	* fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
- 	ULTRIX_CONST2_CHECK): Add checks.
- 	* fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
- 	* fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
- 	* fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
- 	* fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
- 	* fixinc/tests/base/locale.h: New file.
- 	* fixinc/fixincl.x: Rebuilt.
- 
- 2004-01-21  Andreas Jaeger  <aj@suse.de>
- 	    Michael Matz  <matz@suse.de>
- 
- 	* doc/extend.texi (Extended Asm): Clarify memory clobber.
- 
- 2004-01-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* crtstuff.c (frame_dummy, __do_global_ctors_1): Call
- 	_Jv_RegisterClasses through a function pointer.
- 
- 2004-01-21  Falk Hueffner  <falk@debian.org>
- 
- 	PR target/12898
- 	* config/alpha/alpha.c (alpha_emit_set_const_1): If
- 	no_new_pseudos, use gen_rtx_SET directly for SImode constants
- 	which need multiple instructions to emit.
- 
- 2004-01-21  Inaoka Kazuhiro  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (CPP_SPEC): Define.
- 
- 2004-01-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (merge_decls): Kill different_binding_level and
- 	different_tu arguments; simplify throughout.
- 	(duplicate_decls): Likewise.
- 	(pushdecl, merge_translation_unit_decls): Update calls to
- 	duplicate_decls.
- 
- 2004-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
- 	$(SYSTEM_H).
- 	(print-rtl1.o): Depend on $(SYSTEM_H).
- 
- 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR bootstrap/12730
- 	* configure.ac: Delete definition and subsitution of docdir.
- 	Add info, man, srcman and srcinfo to target hooks. Create doc/
- 	directory.
- 	* configure: Regenerate.
- 	* Makefile.in: Don't substitute docdir and delete all references
- 	throughout.
- 	(MAKEINFOFLAGS): Define.
- 	(stmp-docobjdir): Delete.
- 	(INFOFILES, MANFILES): Define.
- 	(info): Call lang.info, srcinfo and lang.srcinfo.
- 	(generated-manpages): Call lang.man, srcman and lang.srcman.
- 	(srcinfo, srcman): New rules to copy back files to source directory.
- 	(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
- 	(install-man): Revamp rule.
- 	(clean): Update dvi directory.
- 	(distclean): Delete TAGS from front end directorys.
- 	(maintainer-clean): Delete all document files in source directory.
- 
- 	objc/Make-lang.in (objc.man, objc.info): Dummy entries.
- 	(objc.srcman, objc.srcinfo): Likewise.
- 
- 2004-01-20  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(math_exception): bypass only for glibc.
- 	(matherr_decl): rename & relocate as exception_structure.
- 	This fix must precede the math_exception fix.
- 
- 2004-01-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_convert): Rename to fold_convert_const.
- 	(fold_convert_const): Change arguments to take a tree_code,
- 	a type and the operand/expression to be converted.  Return
- 	NULL_TREE if no simplification is possible.  Add support for
- 	FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
- 	(fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
- 	Adjust call to fold_convert to match new fold_convert_const.
- 	Avoid modifying the tree passed to fold in-place.
- 
- 2004-01-21  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
- 	* dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
- 	* doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
- 
- 2004-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
- 	* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
- 	Likewise.  Handle frames larger than 0x7fffffff on 64-bit ports.
- 	(emit_move_sequence): Check scratch_reg first in various if statements.
- 	Extend source simplification to handle all 64-bit CONST_INTs.
- 	(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
- 	frame size.
- 	(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
- 	frame offset calculations.
- 	* pa.h (NEW_HP_ASSEMBLER): Add comment.
- 	(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
- 	LEGITIMATE_64BIT_CONST_INT_P): Define.
- 	(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P.  Treat
- 	any CONST_INT as legitimate during and after reload.
- 	(VAL_32_BITS_P, INT_32_BITS): Define.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
- 
- 2004-01-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
- 	emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
- 	containing hard regs are shared.
- 	(gen_hard_reg_clobber): New function.
- 	(hard_reg_clobbers): New array.
- 	* genemit.c (gen_exp): Use gen_hard_reg_clobber.
- 	(copy_rtx): Do not copy clobbers containing hard regs.
- 	* rtl.h (gen_hard_reg_clobber): Declare.
- 
- 2004-01-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* varray.c:  Include hashtab.h
- 	(varray_descriptor): New structure.
- 	(hash_descriptor, eq_descriptor, varray_descriptor,
- 	print_statistics): New static functions
- 	(varray_init, varray_grow): Update statistics
- 	(dump_varray_statistics): New function.
- 	* varray.h (dump_varray_statistics): Declare.
- 	* toplev.c (finalize): Call it.
- 	* Makefile.in (varray.o): Add dependency.
- 
- 2004-01-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c: Include alloc-pool.h
- 	(empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
- 	(elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
- 	(new_elt_list, new_elt_loc_list, unchain_one_elt_list,
- 	unchain_one_elt_loc_list_pool, unchain_one_value,
- 	new_cselib_val): Simplify using allocpool.
- 	(cselib_init): Initialize allocpools.
- 	(cselib_finish): Finish allocpools.
- 	* Makefile.in (cselib.o): Depend on alloc-pool.h
- 
- 2004-01-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_load_call_address): Make the call insn
- 	use $gp if it could be calling a lazy binding stub.
- 
- 2004-01-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define.
- 	(TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	* config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove.
- 	(PROMOTE_FUNCTION_RETURN): Remove.
- 	(STRUCT_VALUE): Remove.
- 
- 2004-01-20  Denis Chertykov  <denisc@overta.ru>
- 
- 	PR bootstrap/13735
- 	* config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
- 	register as pointer after reload.
- 
- 2004-01-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR optimization/12440
- 	* loop.c: Include ggc.h.
- 	(loop_optimize): Run garbage collector between optimization of loops.
- 	* Makefile.in (loop.o): Add GGC_H dependency.
- 
- 2004-01-20  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* gcc/config/rs6000/rs6000.c (function_arg) Handle
- 	vector register special in function without prototype.
- 	(function_arg_advance): Vector parameters get always
- 	GPRs allocated for the linux64 target.
- 
- 2004-01-20  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
- 	not TARGET_M32RX_MASK.
- 
- 2004-01-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/13557
- 	* config/sparc/sparc.c (function_arg): Reorder the cases.
- 
- 2004-01-19  Per Bothner  <per@bothner.com>
- 
- 	Move cpp_reader's line_maps field to a shared global.
- 	* cpphash.h (cpp_reader):  Rename line_maps field to line_table
- 	and change the type to a pointer rather than a struct.
- 	* cppinit.c (cpp_push_main_field):  Adjust accordingly.
- 	* cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks):
- 	Likewise.
- 	* cppfiles.c (validate_pch):  Likewise.
- 	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text):
- 	Likewise.
- 	* cpperror.c (print_location):  Likewise.
- 	* cpplib.h (cpp_create_reader):  New line_maps pointer parameter.
- 	* cppinit.c (cpp_create_reader):  Handle new parameter.
- 	(cpp_destroy):  Don't free line_maps - that's no longer our job.
- 	* input.h (line_table):  New variable.
- 	* toplev.c (line_table):  Declare variable.
- 	(general_init):  Initialize line_table.
- 	* c-opts.c (c_common_init_options):  Pass line_table to
- 	cpp_create_reader.
- 	* fix-header.c (read_scan_file):  New local variable line_table.
- 	Initialize, and pass it to cpp_create_reader.
- 	* Makefile.in (LIBS, LIBDEPS):  Add libcpp.a.
- 	(C_AND_OBJC_OBJS, fix-header):  Remove redundant libcpp.a.
- 
- 2004-01-19  Per Bothner  <per@bothner.com>
- 
- 	Implement a cache for linemap_lookup.
- 	* line-map.h (struct_line_maps):  Add cache field.
- 	* line-map.c (linemap_init):  Zero cache field.
- 	(linemap_add):  Set cache field to offset of newly allocated map.
- 	(linemap_lookup):  Use and set cache field.
- 
- 2004-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR optimization/13567
- 	* cse.c (cse_basic_block): Call cse_insn with a non-null
- 	libcall_insn for the last SET insn of a no-confilict block.
- 
- 2004-01-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (target_noncanonical, program_transform_name): Use
- 	immediate define instead of deferred.
- 	(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
- 	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
- 	GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
- 	deferred backquote.
- 
- 2004-01-20  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
- 	true unconditionally.
- 	* c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
- 	Remove.
- 	(build_unary_op, build_modify_expr): Don't handle extended
- 	lvalues.
- 	(build_component_ref, build_conditional_expr): Call non_lvalue
- 	instead of pedantic_non_lvalue.
- 	(build_c_cast): Don't condition use of non_lvalue on pedantic.
- 	* fold-const.c (fold): Don't check pedantic directly for
- 	COMPOUND_EXPR.  Ensure that results for COMPOUND_EXPR are
- 	passed to pedantic_non_lvalue.
- 	* doc/extend.texi: Remove documentation of extended lvalues.
- 
- 2004-01-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/5263
- 	* simplify-rtx.c (associative_constant_p): Delete.
- 	(simplify_associative_operation): Rewrite to linearize terms, and
- 	attempt to simplify new term against both left and right subterms.
- 	(simplify_binary_operation): Call swap_commutative_operands_p on
- 	op0 and op1, not trueop0 and trueop1.  Move the initialization of
- 	trueop0 and trueop1 down to where first needed.
- 	(simplify_relational_operation): Likewise.
- 	* rtlanal.c (commutative_operand_precedence): Also order constant
- 	operands using avoid_constant_pool_reference.
- 
- 2004-01-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
- 	don't check memory mode.
- 	(unaligned_memory_operand): Likewise.
- 	(reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
- 	abort for op0 not MEM.
- 
- 	* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
- 	is not a reg, copy to a scratch first.
- 	(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
- 	unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
- 	unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
- 	(reload_inqi, reload_inhi): Fix mode of op0.
- 	(reload_inqi_help, reload_inhi_help, reload_outqi_help,
- 	reload_outhi_help): Likewise.  Use define_insn_and_split.
- 
- 	* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
- 	as well as $29 dead.
- 
- 2004-01-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New.  Emit
- 	"tls_object" for thread-local objects.
- 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
- 	"#tls" for thread-local sections.
- 	* configure.ac (thread-local checks): Specify --fatal-warnings in
- 	every binutils-specific checks.  For sparc*-*-*, test whether the
- 	OS is Solaris and the tools are native and act accordingly.
- 	* configure: Rebuild.
- 
- 2004-01-19  Jeff Law  <law@redhat.com>
- 
- 	* contrib.texi: Update Paolo Carlini's entry.  New entries for
- 	Jerry Quinn and Petur Runolfsson.
- 
- 2004-01-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for
- 	size, don't use the larger zero-extending loads.
- 
- 2004-01-19  Richard Henderson  <rth@redhat.com>
- 
- 	* alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
- 	* alpha.md (UNSPEC_NT_LDA): Remove.
- 	(UNSPEC_CVTLQ, cvtlq): New.
- 	(extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
- 	(extendsidi2_fix): Remove.
- 	(extendsidi2 splitter): Use cvtlq.
- 	(extendsidi2 fp peepholes): Remove.
- 	(cvtql): Use SFmode instead of SImode.
- 	(fix_trunc?fsi): Update to match.
- 	(floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
- 	(movsi): Rename from movsi_nofix, remove f alternatives.
- 	(movsi_nt_vms): Similarly.
- 	(movsi_fix, movsi_nt_vms_fix): Remove.
- 	(nt_lda): Remove.
- 	* alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
- 
- 2004-01-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_remove_node): Fix removal from linked list.
- 	* cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
- 	list.
- 	(cgraph_remove_unreachable_nodes): New function
- 	(cgraph_decide_inlining_of_small_function): Fix pasto.
- 	(cgraph_decide_inlining_incrementally): Fix pasto.
- 	(cgrpah_decide_inlining): Likewise; remove unreachable nodes.
- 
- 2004-01-19  Steven Bosscher  <stevenb@suse.de>
- 
- 	* gengtype.c (header_file): Make it static.
- 	(write_types_process_field, write_enum_defn): Minor whitespace fixes.
- 	* gengtype.h (header_file): No longer extern.
- 
- 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default.
- 	* expr.c (CASE_VECTOR_PC_RELATIVE): Remove.
- 	* stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise.
- 
- 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (HAVE_casesi): Define it not already defined.
- 	(HAVE_tablejump): Likewise.
- 	(expand_end_case_type): Resort to the binary tree method if
- 	neither casesi or tablejump is available.
- 
- 2004-01-18  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* final.c (final_scan_insn): Make non-static again.
- 	* output.h (final_scan_insn): Re-add prototype.
- 	* config/arc/arc.c (arc_output_function_epilogue): Add NULL
- 	to final_scan_insn call.
- 	* config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
- 	* config/mips/mips.c (mips_output_conditional_branch): Likewise.
- 	* config/pa/pa.c (output_lbranch, output_call): Likewise.
- 	* config/sh/sh.c (print_slot): Likewise.
- 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
- 	(output_sibcall, sparc_flat_function_epilogue): Likewise.
- 
- 2004-01-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (try_redirect_by_replacing_jump): Declare.
- 	* cfgcleanup.c (try_optimize_cfg): Use it.
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Export.
- 	(rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
- 	Kill hack.
- 	(cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
- 
- 	Revert:
- 	2004-01-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 		* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
- 		even after reload, just don't remove the actual jump tables.
- 
- 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove.
- 
- 2004-01-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of
- 	the size of a pointer in bytes.
- 
- 2004-01-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
- 	live "next" variable, which could lead to an infinite loop.
- 
- 2004-01-18  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
- 	block.
- 
- 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
- 	Check for NULL in the chain and remove repeated code.
- 
- 2004-01-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* coverage.c (checksum_string): Rename to ...
- 	(coverage_checksum_string): ... this one, Use crc32_string; recognize
- 	names containing random number and zero the number out in order to get
- 	match.
- 
- 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_got_alias_set): Mark for PCH.
- 
- 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
- 	doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
- 	doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
- 	doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
- 	doc/trouble.texi: Remove trailing whitespace.
- 
- 2004-01-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/7618
- 	* config/mips/mips.c: Include cfglayout.h.
- 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
- 	(mips_unspec_offset_high): Add temporary register argument.
- 	(mips_load_call_address): New function, split out from...
- 	(mips_expand_call): ...here.
- 	(mips_output_cplocal): New function.
- 	(mips_output_function_prologue, mips_output_function_epilogue): Use it.
- 	(mips_emit_loadgp): New function, split out from...
- 	(mips_expand_prologue): ...here.
- 	(mips_output_mi_thunk): New function.
- 
- 2004-01-17  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040,
- 	mcpu32): Remove redundant checks for implied target predefines.
- 
- 2004-1-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
- 	Return type is unsigned int not int.
- 	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
- 	Likewise.
- 
- 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
- 	doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
- 	"GNU/Linux" and "Microsoft Windows" terminology.
- 
- 2004-01-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
- 	doc/cppopts.texi, doc/extend.texi, doc/install.texi,
- 	doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
- 	doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
- 	@smallexample instead of @example.
- 
- 2004-01-17  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (build_objc_method_call): Use target
- 	hooks instead of macros to determine if ..._stret
- 	dispatchers should be used (NeXT runtime only).
- 
- 2004-01-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_expect_jump): Fix mistake in my
- 	last patch.  Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
- 
- 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
- 	(emit_call_insn_before_sameloc, emit_insn_after_sameloc)
- 	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
- 	macros.
- 	* reload1.c (emit_reload_insns): Use them.
- 	* emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
- 	(emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
- 	for NULL PATTERN.
- 
- 2004-01-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
- 	(final_scan_insn): Update to take an additional SEEN argument.  Emit
- 	a line note after the prologue.  Make static.
- 	(line_note_exists): Remove.
- 	(final): Don't initialize line_note_exists.  Update call to
- 	final_scan_insn.
- 	* output.h (final_scan_insn): Remove prologue.
- 	* function.c (set_insn_locators): Update comment.
- 	(thread_prologue_and_epilogue_insns): Add a comment.
- 
- 2004-01-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/10781
- 	* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
- 	Prototype.
- 	* config/rs6000/rs6000.c (rs6000_special_round_type_align):
- 	New function.
- 	* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
- 	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
- 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
- 
- 2004-01-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
- 	commit.
- 
- 	* toplev.c (HAVE_conditional_execution): Provide default.
- 	(rest_of_handle_reorder_blocks): For conditional_execution target
- 	update liveness once after all transformations
- 	(rest_of_compilation): Do crossjumping before ce3.
- 
- 2004-01-17  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* alias.c (new_alias_set): Mark last_alias_set for PCH.
- 	(get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
- 	for PCH.
- 	(get_frame_alias_set): Likewise, except rename it to 'frame_set'.
- 	* config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
- 	(get_TOC_alias_set): Mark 'set' for PCH.
- 
- 2004-01-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps
- 	even after reload, just don't remove the actual jump tables.
- 
- 2004-01-17  J. Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
- 	Remove checks for is_ada() and TREE_UNSIGNED.
- 	(subrange_type_die): Emit a byte_size attribute if the subrange
- 	type size is different from the base type size.
- 	(modified_type_die): Replace call to is_ada_subrange_type() by
- 	call to is_subrange_type().
- 
- 2004-01-16  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/sh/sh.c: Include ggc.h.
- 
- 2004-01-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (MD5_H): New.
- 	(fold-const.o): Depend on md5.h.
- 	(dwarf2out.o): Likewise.
- 	(cppfiles.o): Likewise.
- 	* cppfiles.c: Include md5.h.
- 	(should_stack_file): Check against list read from PCH file.
- 	(struct pchf_data): New.
- 	(pchf): New variable.
- 	(struct pchf_adder_info): New.
- 	(pchf_adder): New.
- 	(pchf_save_compare): New.
- 	(_cpp_save_file_entries): New.
- 	(_cpp_read_file_entries): New.
- 	(struct pchf_compare_data): New.
- 	(pchf_compare): New.
- 	(check_file_against_entries): New.
- 	* cpphash.h (_cpp_save_file_entries): Prototype.
- 	(_cpp_read_file_entries): Prototype.
- 	* cpppch.c (cpp_write_pch_state): Write the list of headers.
- 	(cpp_read_state): Read the list of headers.
- 
- 2004-01-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
- 	builtin_expect specially.
- 	* params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
- 	(PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
- 	* invoke.texi (max-inline-insns-single): Set to 100.
- 	(large-function-insns): Set to 3000.
- 
- 2004-01-16  Eric Christopher  <echristo@redhat.com>
- 	    Chandrakala Chavva <cchavva@redhat.com>
- 
- 	* cppcharset.c (one_iso88591_to_utf8): New function.
- 	(convert_iso88591_utf8): Ditto. Use.
- 	(conversion_tab): Use.
- 	(_cpp_input_to_utf8): New function.
- 	(_cpp_init_iconv_buffer): Ditto.
- 	(_cpp_close_iconv_buffer): Ditto.
- 	* cpphash.h: Prototype new functions.
- 	(cpp_buffer): Add input_cset_desc.
- 	* cppinit.c: Add input_charset default.
- 	* cpplib.c (cpp_push_buffer): Support init and
- 	close of iconv.
- 	* cpplib.h (cpp_options): Add input_charset.
- 
- 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (ASM_OUTPUT_SECTION_NAME): Poison.
- 	* config/alpha/unicosmk.h: Remove a commented-out definition
- 	of ASM_OUTPUT_SECTION_NAME.
- 	* config/stormy16/stormy16.h: Likewise.
- 
- 2004-01-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
- 	(alpha___extern_prefix_sys_stat): ... this.
- 	Apply to <sys/mount.h>, too.
- 	Tweak to match more variations.
- 	* fixinc/tests/base/sys/stat.h: Adapt for new hackname.
- 
- 	* fixinc/inclhack.def (alpha___extern_prefix,
- 	alpha___extern_prefix_standards): New hacks to obey
- 	__PRAGMA_EXTERN_PREFIX.
- 	* fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
- 	test.
- 	* fixinc/tests/base/standards.h: Likewise.
- 
- 	* fixincl/inclhack.def (alpha_pthread): Tweak to match more
- 	variations.
- 	New testcase.
- 	* fixinc/tests/base/pthread.h: Handle it.
- 
- 	* fixincl/inclhack.def (bad_lval): Sort file list.
- 	Add many missing files up to Tru64 UNIX V5.1B.
- 	* gcc/fixinc/tests/base/libgen.h: Renamed to ...
- 	* gcc/fixinc/tests/base/dirent.h: ... this to match new file list
- 	order.
- 
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2004-01-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* version.c (version_string): Change to 3.5.0.
- 	* doc/include/gcc-common.texi (version-GCC): Likewise.
- 
- 2004-01-16  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (load_tp_di): Fix pasto.
- 
- 	PR opt/13608
- 	* i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
- 
- 	* c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
- 	pp_c_character_constant, pp_c_floating_constant,
- 	pp_c_additive_expression, pp_c_shift_expression,
- 	pp_c_equality_expression, pp_c_and_expression,
- 	pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
- 	pp_c_logical_and_expression): Remove inline modifier.
- 	* dwarf2out.c (get_AT): Likewise.
- 	* et-forest.c (et_splay): Likewise.
- 	* ra.h (ra_alloc, ra_calloc): Likewise
- 
- 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/frv/frv-protos.h: Fix comment formatting.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/frv/frvbegin.c: Likewise.
- 	* config/frv/frvend.c: Likewise.
- 
- 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
- 	* doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
- 	LINKER_DOES_NOT_WORK_WITH_DWARF2.
- 	(LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
- 
- 2004-01-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR 11864
- 	* postreload.c (reload_cse_simplify_operands): Don't remove
- 	implicit extension from LOAD_EXTEND_OP.
- 
- 2004-01-16  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/11350
- 	* cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
- 	after reload.
- 	* cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
- 	rtl_try_redirect_by_replacing_branch): Likewise.
- 
- 2004-01-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR pch/13689
- 	* alias.c (struct alias_set_entry): Mark for GC.
- 	(alias_sets): Make static, mark for GC.
- 	(record_alias_subset): Use GC to allocate alias structures.
- 	* varray.c (element): Make generic varrays GCed.
- 
- 	PR pch/13361
- 	* c-typeck.c (constructor_asmspec): Delete.
- 	(struct initializer_stack): Delete field 'asmspec'.
- 	(start_init): Delete saving of asmspec.
- 	(finish_init): Don't update constructor_asmspec.
- 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
- 	* stmt.c (expand_asm): Duplicate strings from tree.
- 	(expand_asm_operands): Likewise.
- 	* tree.c (tree_size): Update computation of size of STRING_CST.
- 	(make_node): Don't make STRING_CST nodes.
- 	(build_string): Allocate string with tree node.
- 	* tree.def (STRING_CST): Update comment.
- 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
- 	(tree_string): Place contents of string in tree node.
- 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
- 	from tree.
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
- 	altivec operands.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.h: Fix comment formatting.
- 	* c-cppbuiltin.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* calls.c: Likewise.
- 	* collect2.c: Likewise.
- 	* cppcharset.c: Likewise.
- 	* cpptrad.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* defaults.h: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* genconditions.c: Likewise.
- 	* genflags.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* integrate.c: Likewise.
- 	* loop.c: Likewise.
- 	* predict.c: Likewise.
- 	* sdbout.c: Likewise.
- 
- 2004-01-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.md (*movti_internal): C output template
- 	extracted to ia64.c.
- 	(*movti_internal_reg): Delete.
- 	(reload_inti, reload_outti): Use the correct mode on operand 2
- 	in the first place, don't fix it up in the output template.
- 	(movtf, reload_ointf, reload_outtf): New expanders.
- 	(*movtf_internal): New define_insn_and_split.
- 	* config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
- 	make static; do not hand TFmode CONST_DOUBLEs to split_double.
- 	(ia64_split_tmode_move): New function, body mostly pulled
- 	from ia64.md:*movti_internal.
- 	(ia64_function_arg_words): New function, extracted common
- 	logic from ia64_function_arg et seq.
- 	(ia64_function_arg_offset): Likewise.  Handle correctly the
- 	case of a scalar quantity 16 bytes wide with only 8-byte alignment.
- 	(ia64_function_arg, ia64_function_arg_partial_nregs)
- 	(ia64_function_arg_advance): Use ia64_function_arg_words and
- 	ia64_function_arg_offset.
- 	(ia64_function_value): TCmode does not go in float regs.
- 	(ia64_secondary_reload_class): Also handle TFmode.
- 	* config/ia64/ia64-protos.h: Remove prototype for
- 	ia64_split_timode; add prototype for ia64_split_tmode_move.
- 
- 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (MAINT): Make it an immediate assignment.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Remove useless calls to gen_lowpart.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/coff.h: Replace Hitachi with Renesas.
- 	* config/h8300/elf.h: Likewise.
- 	* config/h8300/h8300-protos.h: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 
- 2004-01-15  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
- 	around it.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_return_in_memory): New.
- 	(TARGET_STRUCT_VALUE_RTX): Likewise.
- 	(TARGET_RETURN_IN_MEMORY): Likewise.
- 	* config/h8300/h8300.h (STRUCT_VALUE): Remove.
- 	(RETURN_IN_MEMORY): Likewise.
- 
- 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR optimization/13375
- 	* gcse.c (handle_avail_expr): Just return if the source is not a
- 	single set.
- 
- 2004-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 	    Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
- 	(EQUIV): Define.
- 	(ARM_FUNC_ALIAS): New macro.
- 	* arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
- 	* arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
- 
- 2004-01-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR optimization/12372
- 	* calls.c (expand_call): Add call_fusage data for stack arguments in
- 	constant calls.
- 
- 2004-01-15  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (uses_TOC): Correct comment.  Make static.
- 	(rs6000_elf_declare_function_name): Formatting.
- 	* config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
- 
- 2004-01-15  Jan Hubicka  <jh@suse.cz>
- 
- 	PR bootstrap/13692
- 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
- 	previous patch.
- 
- 2004-01-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
- 	integer regs of the same call-savedness.
- 
- 2004-01-15  Andreas Schwab  <schwab@suse.de>
- 
- 	PR bootstrap/13562
- 	* config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
- 	status for NOTB/NOTW/NEGW methods.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Update dump file names.  Fix a typo.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c (expand_builtin_va_end): Don't use
- 	EXPAND_BUILTIN_VA_END.
- 	* system.h (EXPAND_BUILTIN_VA_END): Poison.
- 	* config/d30v/d30v.h: Remove a commented-out definition of
- 	EXPAND_BUILTIN_VA_END.
- 	* config/stormy16/stormy16.h: Likewise.
- 
- 2004-01-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
- 	* targhooks.c (default_struct_value_rtx): Don't use
- 	STRUCT_VALUE_INCOMING_REGNUM.
- 
- 2004-01-15  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR bootstrap/12744
- 	* configure.in: Revamp enable-generated-files-in-srcdir rule to define
- 	GENINSRC and not parsedir.  Define srcextra as a langhook.
- 	* configure: Regenerate.
- 	* Makefile.in: Suppress default .l.c rule.  Don't substitute
- 	parsedir and delete all references throughout.  Conditionally define
- 	rule for srcextra dependent on GENINSRC.
- 	(stmp-docobjdir): Delete.
- 	(c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
- 	(srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
- 	and gengtype-yacc.h back to source directory.
- 	(maintainer-clean): Delete all parse files in source directory.
- 	(distclean): Delete generated files.
- 
- 	* objc/Make-lang.in (objc-parse.o): Use implicit build rule.
- 	(objc-parse.c, objc-parse.y): Don't use parsedir.
- 	(objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
- 	directory if requested.
- 	(po-generated): Don't use parsedir.
- 	(objc.maintainer-clean): Delete above files from source directory.
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi (FUNCTION_VALUE): Fix a typo.
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi: Replace RETURN_IN_MEMORY with
- 	TARGET_RETURN_IN_MEMORY.
- 
- 2004-01-15  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (std_expand_builtin_va_arg): Align operand when needed.
- 	* i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
- 	functions accepting SSE arguments
- 	(function_arg): Warn only when asked to warn.
- 	* i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
- 
- 2004-01-14  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-parse.in (stmts_and_decls): Make label at end of compound
- 	statement a hard error.
- 
- 2004-01-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (create_edge): Use local.redefined_extern_inline.
- 	* cgraph.h (cgraph_local_info): Sort fields by size; add
- 	redefined_extern_inline
- 	(cgraph_global_info): Sort fields by size.
- 	(cgraph_node): Likewise.
- 	* cgraphunit.c (cgraph_finalize_function): Se
- 	local.redefined_extern_inline on redefinition.
- 	(cgraph_analyze_function): Use it; fix formating.
- 
- 2004-01-14  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c++/10776
- 	* sched-deps.c (trye_dependency_cache, anti_dependency_cache,
- 	outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
- 	bitmaps
- 	(cache_size): New variable
- 	(add_dependence): Update use; canonize early memory locations
- 	(sched_analyze_1): Likewise.
- 	(sched_analyze_2): Likewise.
- 	(init_dependency_caches): Initialize bitmaps.
- 	(free_dependency_caches): Free bitmaps
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
- 	targetm.calls.strict_argument_naming().
- 	* target.h: Likewise.
- 
- 2004-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR debug/13231
- 	* dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
- 	instructions.
- 
- 2004-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/12491
- 	* except.c (struct eh_region): Add u.fixup.resolved.
- 	(resolve_one_fixup_region): Split out from ...
- 	(resolve_fixup_regions): ... here.
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.h (STRUCT_VALUE): Remove.
- 	* config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
- 	(STRUCT_VALUE): Remove.
- 
- 2004-01-14  Steven Bosscher  <stevenb@suse.de>
- 
- 	* system.h: Poison PROMOTED_MODE
- 	* integrate.c (expand_inline_function): Don't mention the
- 	PROMOTED_MODE.
- 	* loop.c (update_giv_derive): Same.
- 	* tree.h (DECL_RTL): Same.
- 
- 2004-01-14  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR target/9365
- 	* sh.c (gen_block_redirect): Add special handling of RETURN.
- 	(gen_far_branch) Don't call gen_stuff_delay_slot if there is no
- 	far branch target (i.e. it's a return).
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* regrename.c (find_oldest_value_reg): Fix a warning.
- 
- 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR bootstrap/12527
- 	* config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
- 	Move linux-gas.h and linux-elf.h before aout.h.
- 	* arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
- 	* arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
- 
- 2004-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
- 	(CONST_INT, VOIDmode, ...).
- 
- 2004-01-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* regrename.c (find_oldest_value_reg): If the replacement uses
- 	multiple hard registers, check that all of them are in CLASS.
- 
- 2004-01-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (get_alias_set):  Initialize alias set to 0 when subset is
- 	impossible.
- 
- 2004-01-14  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Define MAINT from --enable-maintainer-mode.
- 
- 2004-01-14  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* gcc/config/rs6000/rs6000.c (rs6000_stack_info)
- 	Calculate always vrsave_mask if TARGET_ALTIVEC.
- 	(rs6000_emit_prologue): Emit code for vrsave
- 	only if TARGET_ALTIVEC_VRSAVE.
- 	(rs6000_emit_epilogue): Likewise.
- 
- 2004-01-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.md (tie_add32): Fix pasto.
- 	(tie_add64): Likewise.
- 
- 2004-01-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/iq2000/iq2000-protos.h: Fix comment formatting.
- 	* config/iq2000/iq2000.c: Likewise.
- 	* config/iq2000/iq2000.md: Likewise.
- 
- 2004-01-14  J. Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
- 	(subrange_type_die): Add handle for nameless subrange types.
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Replace do_movsi with
- 	h8300_expand_movsi.
- 	* config/h8300/h8300.c (do_movsi): Change to
- 	h8300_expand_movsi.
- 	* config/h8300/h8300.md (movsi): Replace do_movsi with
- 	h8300_expand_movsi.
- 	(movsf): Likewise.
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (dosize): Change to
- 	h8300_emit_stack_adjustment.  Update callers.
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (movstrictqi): Add an alternative with
- 	the source being post_inc.  Tighten the predicate for the
- 	destination to register_operand.
- 	(movstricthi): Likewise.
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
- 	* varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
- 	* doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
- 
- 2004-01-14  Jan Hubicka  <jh@suse.cz>
- 
- 	Partial fix PR c++/12850
- 	* cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
- 	at zero nest level.
- 
- 2004-01-13  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
- 	pseudo-register.
- 
- 2004-01-13  Devang Patel <dpatel@apple.com
- 
- 	PR debug/7078
- 	* dbxout.c (dbxout_symbol_name): Emit mangled names for
- 	NAMESPACE_DECL memebers.
- 
- 2004-01-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c++/12709
- 	* c-common.c (finish_fname_decls): Use the chain only if the
- 	tree is an expr_stmt.
- 
- 2004-01-13  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def: Add comment about new option in automata_option.
- 
- 	* genautomata.c (PROGRESS_OPTION): New macro.
- 	(progress_flag): New global variable.
- 	(gen_automata_option): Process `progress'.
- 	(transform_insn_regexps, check_unit_distributions_to_automata,
- 	make_automaton, NDFA_to_DFA, build_automaton, create_automata,
- 	expand_automata, write_automata): Print about the progress only if
- 	progress_flag.  Remove fflush.
- 	(initiate_automaton_gen): Process command line flag `-progress'.
- 
- 	* doc/md.texi: Describe the new option.
- 
- 2004-01-13  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfg.c (dump_bb): Dump entry edges.
- 
- 2004-01-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_legitimate_address_p): Only allow constant pool
- 	references from SImode.
- 	* arm.md (thumb_movhi_insn): Don't allow minipool references.
- 
- 2004-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (TEXT_SECTION): Poison.
- 	* varasm.c (text_section): Don't use TEXT_SECTION.
- 	* config/sh/sh.c (sh_file_start): Fix a comment typo.
- 	* doc/tm.texi (TEXT_SECTION): Remove.
- 
- 2004-01-13  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
- 
- 2004-01-12  James E Wilson  <wilson@specifixinc.com>
- 
- 	* unwind-libunwind.c: Delete.
- 
- 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 13656
- 	* c-decl.c (diagnose_mismatched_decls): Whenever newtype or
- 	oldtype is set, set *newtypep or *oldtypep too.  Do not set
- 	them at the very end.
- 	(validate_proto_after_old_defn): Restructure for comprehensibility;
- 	make error messages clearer.
- 
- 2004-01-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
- 	(VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
- 	* varray.c: No need to prototype error.
- 	(varray_check_failed): Wrap long string onto two lines.
- 	(varray_underflow): New function.
- 
- 2004-01-13  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR c++/13376
- 	* function.h (struct function): Kill `name' field.
- 	(current_function_name): Make it an extern function.
- 	* function.c (current_function_name): New function.
- 	* graph.c: Update all uses of current_function_name.
- 	* gcse.c: Likewise.
- 	* config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
- 	config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
- 	* config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
- 	instead of a strcmp with "main".
- 
- 2004-01-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-decl.c (diagnose_mismatched_decls):  Fix warning calls.
- 
- 	* cgraphunit.c (cgraph_optimize_function):  Always do
- 	optimize_inline_calls when there is always_inline callee.
- 	(cgraph_decide_inlining): Fix formating.
- 	* tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
- 	functions.
- 	(expand_call_inline): Likewise.
- 	* toplev.h (sorry): Fix prototype.
- 
- 2004-01-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
- 	conditional jumps that drop through to unconditional jumps or the
- 	end of the sequence.
- 
- 2004-01-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (new_alias_set): Construct the alias_set varray.
- 	(init_alias_once): Don't do it here.
- 
- 2004-01-12  Marc Espie <espie@openbsd.org>
- 
- 	* system.h: handle YYBYACC like YYBISON.
- 
- 2004-01-12  Jonathan Merriman <jonm@dualitymedia.com>
- 
- 	PR target/10847
- 	* config.gcc: No longer includes conflicting header sparc/sol2.h when
- 	building on sparc64-*-openbsd*.
- 
- 2004-01-12  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR debug/13539
- 	* dbxout.c (dbxout_type): Protected inheritance is not
- 	private but protected.
- 
- 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
- 
- 2004-01-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR optimization/12508.
- 	* combine.c (try_combine): Remove a dead set in a parallel
- 	even if its destination is a subreg.
- 
- 	Revert:
- 	2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
- 	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
- 	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
- 
- 2004-01-12  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* real.c: Update copyright date.
- 	* emit-rtl.c: Likewise.
- 	* rtl.h: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* config/rs6000/darwin-ldouble.c: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 
- 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
- 	TFmode to SImode libfuncs.
- 
- 2004-01-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/11397
- 	* varasm.c (assemble_alias): Remove weak aliases from weak_decls.
- 
- 2004-01-12  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/12826
- 	* loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
- 	stored.
- 
- 	PR opt/12863
- 	* cfgcleanup.c (label_is_jump_target_p): Move to...
- 	* rtlanal.c (label_is_jump_target_p): ... here.
- 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch):  Fix redirecting of fallthru
- 	edges unified with branch edges.
- 
- 2004-01-12  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* simplify-rtx.c (simplify_immed_subreg): Correctly extract the
- 	high word of an integral CONST_DOUBLE.
- 
- 2004-01-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
- 
- 2004-01-12  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR target/13585
- 	* sh-protos.h (check_use_sfunc_addr): Declare.
- 	* sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
- 	* sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
- 
- 2004-01-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c:  Invlude varray.h
- 	(alias_sets): Turn into varray.
- 	(get_alias_set_entry): Use VARRAY; mark inline.
- 	(mems_in_disjoint_alias_sets_p): Mark inline.
- 	(record_alias_subset): Use varray.
- 	(init_alias_once): Initialize varray.
- 	(new_alias_set): Grow array.
- 	* varray.c: Make VARRAY_GENERIC_PTR non GTYized.
- 
- 2004-01-12  Jan Hubicka  <jh@suse.cz>
- 
- 	Partial fix for PR opt/10776 II
- 	* cselib.c: Include params.h
- 	(cselib_invalidate_mem):  Limit amount of nonconflicting memory
- 	locations.
- 	* params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
- 	* Makefile.in (cselib.o): Depend on params.h
- 
- 2004-01-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): Don't pass VOIDmode to
- 	simplify_unary_operation if the operand has a known mode.
- 
- 2004-01-12  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	PR target/13534
- 	* gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
- 	predicate to handle 'ld' conform addresses.
- 	* gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
- 	contraint.
- 	(EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
- 	are memory contraints.
- 	* gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
- 	New prototype.
- 	* gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
- 	Change 'o' to 'Y' constraint.
- 	(*movdf_softfloat64): Ditto.
- 
- 2004-01-12  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
- 	brace-enclosed syntax in all C output statements.
- 
- 2004-01-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/13401
- 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
- 	Objective-C language type value is 14.
- 
- 2004-01-12  Markus F.X.J. Oberhumer  <markus@oberhumer.com>
- 
- 	PR c/12148
- 	* config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
- 	`int' in a number of places to make sure we always have a SImode
- 	and not a HImode.  Add a 'L' suffix to a number of constants.
- 
- 2004-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c: Don't include obstack.h.
- 
- 	* pa.md: Correct constraint in pattern for loading PIC label address.
- 
- 2004-01-11  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
- 	 before defining.
- 
- 2004-01-11  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR fortran/9972
- 	* toplev.c (rest_of_handle_inline): Also consider functions
- 	for deferral if the language is GNU F77.
- 
- 2004-01-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (diagnose_arglist_conflict): Add missing space to
- 	diagnostic messages.
- 
- 2004-01-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/13392
- 	* builtins.c (expand_builtin_expect_jump): Handle conditional jumps
- 	to drop through label.  Don't fall back to SCC even when conditional
- 	jump has not been found.
- 
- 2004-01-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* invoke.texi: Fix syntax error in previous patch.
- 
- 	Partial fix for PR opt/10776
- 	* Makefile.in (reload.o): Include param.h
- 	* params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
- 	* reload.c: Include params.h.
- 	(find_equiv_reg): Work limiting check.
- 	* invoke.texi: Document.
- 
- 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_symbolic_constant_p): Don't allow
- 	out-of-bounds accesses to string constants.  Simplify mips16
- 	case accordingly.
- 
- 2004-01-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR optimization/13469
- 	* toplev.c (rest_of_compilation): Call purge_all_dead_edges after
- 	reload_cse_regs (-fnon-call-exceptions only).
- 
- 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mcore/lib1.asm: Fix comment formatting.
- 	* config/mcore/mcore-elf.h: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mcore/mcore.h: Likewise.
- 	* config/mcore/mcore.md: Likewise.
- 
- 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (duplicate_decls): Break apart into...
- 	(diagnose_arglist_conflict, validate_proto_after_old_defn)
- 	(locate_old_defn, diagnose_mismatched_decls, merge_decls):
- 	... these new functions.  Restructure for comprehensibility.
- 	Remove various archaic special cases.  Always report the
- 	location of the previous declaration when a diagnostic is issued.
- 	(redeclaration_error_message): Fold into diagnose_mismatched_decls.
- 	(match_builtin_function_types): Delete unnecessary forward declaration.
- 
- 2004-01-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genautomata.c (make_automaton, NDFA_to_DFA):
- 	Print progress bars with '.' characters instead of '*'.
- 	(build_automaton): Change notes to match.
- 
- 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Use define_constants for unspec and
- 	unspec_volatile.
- 
- 2004-01-10  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/11635
- 	* expr.c (expand_expr_real):  More curefully expand union casts.
- 
- 2004-01-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md (flush_icache): Use 1 for
- 	unspec_volatile.
- 
- 2004-01-10  David Edelsohn  <edelsohn@gnu.org>
- 	    James E Wilson  <wilson@specifixinc.com>
- 
- 	PR debug/12860
- 	* dbxout.c (dbxout_symbol): Remove initialization of
- 	current_sym_code, current_sym_value, and current_sym_addr.
- 	(dbxout_symbol_location): Same.
- 	(dbxout_prepare_symbol): Zero current_sym_code,
- 	current_sym_value, and current_sym_addr.
- 
- 2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* tree.c (get_unwidened): Reorder conditions so that the null pointer
- 	check is done first.
- 
- 2004-01-09  Eric Christopher  <echristo@redhat.com>
- 
- 	* toplev.c (rest_of_handle_cfg): Add reg_scan pass
- 	if we're running mark_constant_function.
- 
- 2004-01-09  Jeff Bailey  <jbailey@nisa.net>
- 
- 	PR target/12561
- 	* config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
- 
- 2004-01-09  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	PR debug/11231
- 	* dbxout.c (dbxout_type_fields): Return if any item is
- 	error_mark_node or the type is error_mark_node.
- 
- 2004-01-09  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/darwin-ldouble.c: Add big comment explaining
- 	exactly what is expected as a 'long double'.
- 	(_xlqadd): When a value to be returned is representable as a
- 	'double', just return it directly, do not construct it using a union.
- 	Also, correct final fixup.
- 	(_xlqmul): Likewise.
- 	(_xlqdiv): Likewise.
- 	* real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
- 
- 	* config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
- 
- 2004-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (constrain_operands): Validate mem operands.
- 
- 2004-01-09   James E Wilson  <wilson@specifixinc.com>
- 
- 	* gcc.c (init_spec): Remove -lunwind from shared case.
- 	* conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
- 
- 2004-01-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
- 	* configure: Regenerate
- 
- 2004-01-09  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/11234
- 	* c-typeck.c (build_c_cast): If pedantic, warn for conversions
- 	between function and object pointers.
- 	(digest_init): When comparing a pointer to function type to the
- 	target type, only apply TREE_TYPE once to the pointer to function
- 	type.
- 	* except.c (for_each_eh_label_1): Treat data as a pointer to a
- 	function pointer rather than casting it to a function pointer.
- 	(for_each_eh_label): Update caller.
- 	* recog.h (struct insn_data): Use a struct or union for output.
- 	* genoutput.c (output_insn_data): Update.
- 	* final.c (get_insn_template): Update.
- 
- 2004-01-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.h (expand_expr): Make it a macro, not a function.
- 	(expand_expr_real): New function.
- 	* expr.c (store_expr): Adjust logic for deciding whether or not to
- 	copy the value returned by expand_expr.
- 	(expand_expr): Rename to ...
- 	(expand_expr_real): ... this.  Add alt_rtl parameter.  Adjust
- 	calls to language hooks.
- 	* c-common.h (c_expand_expr): Adjust prototype.
- 	* c-common.c (c_expand_expr): Add alt_rtl parameter.
- 	* langhooks-def.h (lhd_expand_expr): Change prototype.
- 	* langhooks.c (lhd_expand_expr): Add all_rtl parameter.
- 	* langhooks.h (lang_hooks): Change type of expand_expr.
- 	* stmt.c (stmt_status): Add x_last_expr_alt_rtl.
- 	(last_expr_alt_rtl): Likewise.
- 	(expand_expr_stmt_value): Set last_expr_alt_rtl.
- 	(clear_last_expr): Clear it.
- 	(expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
- 	(expand_end_bindings): Save and restor last_expr_alt_rtl.
- 	* tree.def (RTL_EXPR): Give it an additional operand.
- 	* tree.h (RTL_EXPR_ALT_RTL): New macro.
- 
- 2004-01-09  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
- 	* config/m32r/m32r.c (call26_operand): Allow in PIC mode.
- 
- 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR target/13380.
- 	* config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
- 	or (ne:SI (reg:CC 17) (const_int 0)).
- 	Be specific about modes wherever possible.
- 
- 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.c (m32r_expand_block_move): Call
- 	gen_movestrsi_internal with two more arguments.
- 	(m32r_output_block_move): Adjust operand numbers.
- 	Properly update the source and destination pointers.
- 	* config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
- 	'r+'.  Change the set detinations to match_operand.
- 
- 2004-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* final.c (FIRST_INSN_ADDRESS): Remove.
- 	(shorten_branches): Don't use FIRST_INSN_ADDRESS.
- 	* system.h (FIRST_INSN_ADDRESS): Poison.
- 	* config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
- 	* config/m32r/m32r-protos.h: Remove the prototype for
- 	m32r_first_insn_address.
- 	* config/m32r/m32r.c (m32r_first_insn_address): Remove.
- 	* config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
- 	* doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
- 
- 2004-01-09  J. Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (gen_enumeration_type_die): Return the DIE that
- 	we just created.
- 	(is_ada_subrange_type): DIEs for enumeration subtypes should be
- 	emitted as subrange types too.
- 	(subrange_type_die): Add handling of enumeration subtypes.
- 
- 2004-01-08  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/12441
- 	Revert: Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
- 	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
- 	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
- 	(ix86_address_cost): Be prepared for SUBREGed registers.
- 	(legitimate_address_p): Accept SUBREGed registers.
- 
- 2004-01-08  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Rename configure.in to configure.ac
- 	* doc/sourcebuild.texi: Likewise.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 2004-01-08  Stuart Hastings  <stuart@apple.com>
- 
- 	* config/i386/i386.md: Typos in MMX/SSE immediate shifts.
- 
- 2004-01-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_decide_inlining):  Fix typo.
- 
- 2004-01-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
- 	(UNSPEC_FIX_TRUNC_TF): New constant.
- 	(movtf_internal): Make splitter active only when insn is active.
- 	(extenddftf2): Rewrite to properly load zero into low part.
- 	(extenddftf2_internal): New.
- 	(extendsftf2): Rewrite.
- 	(truncdftf2): Correct length.
- 	(floatditf2): Delete.
- 	(fix_trunc_helper): New.
- 	(fix_trunctfdi2): Use fix_trunc_helper.
- 	(fix_trunctfsi2): Likewise.fix_trunc
- 	(fix_trunctfsi2_internal): New.
- 
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
- 	addresses are legitimate on Darwin even when flag_pic.
- 	(rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
- 	non-offsettable addresses for loads of TFmode constants.
- 
- 2004-01-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
- 	variables in the appropriate bss section.
- 
- 2004-01-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
- 	target_flags has MASK_POWERPC64 when -m64.
- 	* config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
- 	to 620, 630, power3, power4 and rs64a entries.
- 	* config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
- 
- 2004-01-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* simplify-rtx.c (simplify_immed_subreg): Fix construction of
- 	floating-point constants.
- 
- 2004-01-08  J. Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (subrange_type_die): Add context_die parameter.
- 	Create the subrange_type DIE using the given context DIE.
- 	(modified_type_die): Update call to subrange_type_die.
- 
- 2004-01-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
- 	Add multiple-include guard.
- 
- 2004-01-08  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
- 	all vector constant loadable by vsplt*.
- 	(output_vec_const_move): Likewise.
- 
- 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/6024
- 	* c-typeck.c (comptypes): Only treat enumerated types in the same
- 	translation unit as compatible with each other when they are the
- 	same type.
- 	* doc/extend.texi: Update.
- 
- 2004-01-07  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/12165
- 	* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
- 	array type from the array element type.
- 
- 2004-01-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
- 	* config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
- 	* config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
- 	(DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
- 	* config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
- 
- 2004-01-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
- 	(DWARF2_DEBUGGING_INFO): Define.
- 	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
- 	* config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
- 	* config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
- 	for irix as.
- 	(SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
- 	* config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
- 	* config/mips/iris5gas.h: Ditto.
- 	(DBX_DEBUGGING_INFO): Remove.
- 	(DWARF2_DEBUGGING_INFO): Ditto.
- 	(MIPS_DEBUGGING_INFO): Ditto.
- 	(PREFERRED_DEBUGGING_TYPE): Ditto.
- 	* config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
- 	(PREFERRED_DEBUGGING_TYPE): Ditto.
- 	(SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
- 	* config/mips/elf64.h: Ditto.
- 
- 2004-01-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
- 	(STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
- 
- 2004-01-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
- 	(TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
- 	* config/rs6000/darwin-ldouble.c: New.
- 
- 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
- 	for constants.
- 	(constant_subword): Delete.
- 	* rtl.h (constant_subword): Delete prototype.
- 	(immed_double_const): Is not in varasm.c.
- 	* simplify-rtx.c (simplify_immed_subreg): New.
- 	(simplify_subreg): Use simplify_immed_subreg.
- 
- 	* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
- 	than trying to generate RTL directly.
- 	(fix_trunctfsi2): Use expand_fix rather than trying to generate
- 	RTL directly.
- 
- 	* dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
- 
- 2004-01-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
- 	function into a separate macro.
- 	(read_only_data_section): Add void argument.
- 	(private_data_section): Same.
- 	(read_only_private_data_section): Same.
- 	(toc_section): Same.
- 
- 2004-01-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* invoke.texi:  Remove typo in last change.
- 
- 	PR target/10301
- 	* config.gcc: Accept opteron and athlon-64 as variants
- 	of k8.
- 	* i386.c (override_options): Likewise.
- 	* invoke.texi (i386 -mtune): Expand documentation.
- 
- 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Fix comment typos.
- 	* builtins.c: Likewise.
- 	* cfg.c: Likewise.
- 	* df.c: Likewise.
- 	* dominance.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* expr.c: Likewise.
- 	* final.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* ggc-zone.c: Likewise.
- 	* integrate.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* recog.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reorg.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* rtl.h: Likewise.
- 	* sched-ebb.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* toplev.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2004-01-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/install.texi: Fix typos.
- 	* doc/invoke.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 
- 2004-01-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
- 
- 2004-01-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (init_cumulative_args):  Add handling of MMX_REGPARM.
- 	(function_arg_advance):  Do not pass aggregates in SSE; deal handling
- 	of MMX_REGPARM.
- 	(function_arg): Add new warnings about ABI changes;  fix SSE_REGPARM;
- 	add MMX_REGPARM.
- 	* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
- 	(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
- 	(MMX_REGPARM_MAX): Similarly for -mmmx.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/linux.h: Fix comment formatting.
- 	* config/sh/netbsd-elf.h: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sh/vxworks.h: Likewise.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
- 	* toplev.c (output_file_directive): Don't use
- 	ASM_OUTPUT_MAIN_SOURCE_FILENAME.
- 
- 2004-01-05  Steven Bosscher <s.bosscher@student.tudelft.nl>
- 
- 	* toplev.c: Fix broken checkin of 2003-12-30.
- 
- 2004-01-05  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
- 	(USING_MMAP): We don't support non-mmap.
- 	(struct alloc_chunk): Steal 1 bit from typecode, use it to mark
- 	large objects.
- 	(struct page_entry): Remove bytes_free.
- 	(struct page_table_chain): Remove.
- 	(struct globals): Remove page_table member.
- 	(loookup_page_table_entry): Function deleted.
- 	(set_page_table_entry): Ditto.
- 	(ggc_allocated_p): No longer need page table lookups.
- 	(ggc_marked_p): Ditto.
- 	(alloc_small_page): Don't care about bytes_free anymore.
- 	(alloc_large_page): Round up size.
- 	(ggc_alloc_zone_1): Mark large objects as such, and calculate
- 	their size the new way.
- 	Remove page table lookups and setting.
- 	(ggc_get_size): Calculate large object size the new way.
- 	(sweep_pages): Redo to account for fact that we no longer have
- 	bytes_free.
- 	(ggc_collect): No longer need to reincrement bytes_free.
- 	(ggc_pch_alloc_object): Handle new large objects properly.
- 	(ggc_pch_read): Put PCH stuff into it's own uncollected zone.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Remove a page break.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.c (avr_output_function_prologue): Remove an
- 	extra pair of curly braces.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300.c: Fix comment formatting.
- 	* config/mn10300/mn10300.h: Likewise.
- 
- 2004-01-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h: Update documentation on nothrow_flag.
- 	* print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
- 	types.
- 
- 2004-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Remove traces of dead ports.
- 
- 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
- 	option.
- 
- 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/12945
- 	* coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
- 	counter labels.
- 	* config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
- 	(mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
- 	string constants if TARGET_MIPS16.  Use SYMBOL_REF_DECL to check
- 	the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
- 	(mips_symbol_insns): Don't trust the local/global classification.
- 	(m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
- 	(override_options): Make -mabicalls -fno-unit-at-a-time imply
- 	-mno-explicit-relocs.
- 	(mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
- 	between local and global symbols.
- 
- 2004-01-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
- 	(mips_preferred_reload_class): Declare.
- 	* config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
- 	(EXTRA_CONSTRAINT): Update accordingly.
- 	(PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
- 	* config/mips/mips.c (mips_dangerous_for_la25_p): New function.
- 	(mips_preferred_reload_class): New function.  Prefer LEA_REGS if
- 	mips_dangerous_for_la25_p.
- 	(mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
- 	if mips_dangerous_for_la25_p.
- 
- 2004-01-05  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
- 	warning.
- 
- 2004-01-04  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Use AC_PROG_CPP_WERROR.
- 	* configure: Regenerate.
- 
- 2004-01-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* .cvsignore: Add autom4te.cache.
- 
- 2004-01-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Revamp documentation of MIPS options.  Remove
- 	-mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
- 	-m4650, -mfix7000 and -(m)no-crt0.  Put endianness options first,
- 	then architecture options, then ABI options.  General rewording.
- 
- 2004-01-04  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/3414
- 	* doc/extend.texi: Clarify definition of malloc attribute.
- 
- 2004-01-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
- 	* cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
- 	* cgraph.h (cgraph_edge): Replace inline_call by inline_failed
- 	(cgraph_inline_p): Add extra argument reason.
- 	* cgraphunit.c: Minor formating fixes.
- 	cgraph_first_inlined_callee): New functions.
- 	(record_call_1): Record builtins too.
- 	(cgraph_analyze_function): Update inline_failed messages.
- 	(cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
- 	cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
- 	(cgraph_check_inline_limits): Likewise; Add argument reason.
- 	(cgraph_set_inline_failed): New static function.
- 	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
- 	reasons.
- 	(cgraph_inline_p): Add new argument reason.
- 	* tree-inline.c (expand_call_inline):  Update warning.
- 
- 2004-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
- 	with modern equivalents.
- 	* configure: Regenerate.
- 
- 	* configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
- 	* aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
- 	* configure: Regenerate.
- 
- 	* doc/install.texi: Note that 'gcc' is now a 2.57 directory.
- 
- 	* configure.in: Rename to configure.ac.
- 	* configure.ac: Renamed from configure.in; make minimum necessary
- 	changes for autoconf 2.5x.
- 	* aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
- 	* configure: Regenerate with autoconf 2.57.
- 
- 2004-01-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mips/linux.h: Fix comment formatting.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/mips/netbsd.h: Likewise.
- 	* config/mips/windiss.h: Likewise.
- 
- 2004-01-02  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (fp constant pool splitter): Reorg suppression
- 	for sse and 387; add suppression for mmx.
- 
- 2004-01-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* loop.c (loop_optimize): Free all loops_info's mems.
- 
- 	* c-typeck.c (finish_init): Free spelling_base before
- 	setting it again.
- 
- 	* cfgloop.c (flow_loops_find): Always free the sbitmap
- 	headers.
- 
- 	* predict.c (estimate_probability): Free bbs after being
- 	done with it.
- 
- 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/mn10300/mn10300.h (PREDICATE_CODES): Add
- 	const_8bit_operand and call_address_operand.
- 
- 2004-01-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraphunit.c (cgraph_optimize_function):  Call optimize_inline_calls
- 	when there is nothing to inline but warnings are requested.
- 	(cgraph_decide_inlining):  Fix memory leak.
- 
- 2004-01-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (store_constructor):  Fix pasto in previous patch.
- 
- 2004-01-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/cygming.h: Fix comment formatting.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/gthr-win32.c: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/openbsd.h: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i386/xm-mingw32.h: Likewise.
- 
- 2004-01-02  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
- 	copyright and last modification dates.
- 
- 2004-01-02  Andreas Jaeger  <aj@suse.de>, Gerald Pfeifer  <gp@suse.de>
- 
- 	* doc/install.texi (Specific): Mention x86_64.
- 
- 2004-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
- 	Call force_operand on plus_constant result.
- 
- 2004-01-01  Jan Hubicka  <jh@suse.cz>
- 
- 	* expmed.c (store_bit_field, extract_bit_field): Use new named patterns
- 	* expr.c (store_constructor): Use vec_init pattern.
- 	* genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
- 	* optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
- 	(vec_set_optab, vec_extract_optab, vec_init_optab): New.
- 	* i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
- 	New patterns.
- 	(sse2_unpc?pd): Fix pattern.
- 	(sse2_movlpd): Kill.
- 	(sse2_movsd): Deal with movlpd too.
- 	* i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
- 	(ix86_expand_vector_init): New.
- 	* emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
- 	* md.texi (vec_set, vec_extract): Document
- 
- 2003-12-31  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/13473
- 	* recog.c (validate_replace_rtx_1):  Take care for RTL sharing inside
- 	ASM input operands
- 
- 	PR opt/12617
- 	* toplev.c (dump_file_index): Reorder ce3 and bbro.
- 	(dump_file): Likewise.
- 	(rest_of_compilation): Likewise.
- 
- 	PR debug/13367
- 	* cgraph.c (cgraph_function_possibly_inlined):  Even with
- 	flag_really_no_inline we inline always_inline functions.
- 	* cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
- 	for non-always_inline functions when there is flag_really_no_inline.
- 	(cgraph_decide_inlining): Limit work done when not inlining.
- 	(cgraph_decide_inlining_incrementally): Likewise.
- 	(cgraph_optimize_function): Check whether something got inlined.
- 	* c-objc-common.c (c_disregard_inline_limits): Do not always inline
- 	extern inline functions when not inlining.
- 
- 	* opts.c (decode_options):  Disable crossjumping at -O1
- 	* invoke.texi (-O1): Document change.
- 
- See ChangeLog.10 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.12 gcc-4.1.0/gcc/ChangeLog.12
*** gcc-4.0.2/gcc/ChangeLog.12	Tue Jan 18 13:42:43 2005
--- gcc-4.1.0/gcc/ChangeLog.12	Thu Jan  1 00:00:00 1970
***************
*** 1,26890 ****
- 2004-12-31  Richard Henderson  <rth@redhat.com>
- 
- 	PR tree-opt/19042
- 	* tree-sra.c (decide_block_copy): Force use_block_copy false
- 	for complex values.
- 
- 2004-12-31  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17799
- 	* function.c (use_register_for_decl): Check DECL_IGNORED_P instead
- 	of DECL_ARTIFICIAL.
- 	(assign_parms_augmented_arg_list): Set DECL_IGNORED_P.
- 	* c-decl.c (build_compound_literal): Likewise.
- 	* dwarf2asm.c (dw2_force_const_mem): Likewise.
- 	* gimplify.c (create_artificial_label): Likewise.
- 	* tree-inline.c (expand_call_inline): Likewise.
- 	* var-tracking.c (vt_initialize): Likewise.
- 	* tree-outof-ssa.c (create_temp): Copy DECL_IGNORED_P.
- 
- 2004-12-31  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/19211
- 	* config/darwin.c (machopic_legitimize_pic_address): If the orig
- 	is subregister return orig.
- 
- 2004-12-31  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-scalar-evolution.c (instantiate_parameters_1): Copy the
- 	expression only if needed.
- 
- 2004-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-hpux.h (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 
- 2004-12-31  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR target/18701
- 	* combine.c (combine_simplify_rtx): Do not allow paradoxical
- 	subregs of MEM.
- 
- 	PR target/18701
- 	* combine.c (gen_lowpart_for_combine): When stripping SUBREG of
- 	MEM, adjust imode and isize.
- 
- 2004-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (hfa_element_mode): Return false for 
- 	zero-sized top-level aggregates.
- 
- 2004-12-30  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/18019
- 	* i386.md (movqi_1): Fix -Os instruction choice.
- 
- 2004-12-30  Steven Bosscher  <stevenb@suse.de>
- 
- 	* global.c (regclass_intersect): Remove.
- 	(mark_reg_use_for_earlyclobber): Use reg_classes_intersect_p instead.
- 
- 2004-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_function_value): Use PARALLEL for 
- 	aggregates with XF/XCmode.
- 
- 2004-12-29  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (targetm.calls.arg_partial_bytes): New.
- 	* target-def.h (TARGET_ARG_PARTIAL_BYTES): New.
- 	* calls.c (store_unaligned_arguments_into_pseudos): Update for
- 	partial in bytes.
- 	(load_register_parameters): Likewise.
- 	(store_one_arg): Likewise.
- 	(initialize_argument_information): Use targetm.calls.arg_partial_bytes.
- 	(emit_library_call_value_1): Likewise.
- 	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
- 	(emit_push_insn): Update for partial in bytes.
- 	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* function.c (assign_parm_find_entry_rtl): Use
- 	targetm.calls.arg_partial_bytes.  Update for result in bytes.
- 	(locate_and_pad_parm): Update for partial in bytes.
- 	* system.h (FUNCTION_ARG_PARTIAL_NREGS): Poison.
- 	* targhooks.c (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): New.
- 	* targhooks.h (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Declare.
- 	* doc/tm.texi (TARGET_ARG_PARTIAL_BYTES): Rename and update from
- 	FUNCTION_ARG_PARTIAL_NREGS.
- 
- 	* config/arc/arc.h, config/c4x/c4x.h, config/i386/i386.h,
- 	config/i860/i860.h, config/m68hc11/m68hc11.h, config/m68k/m68k.h,
- 	config/pdp11/pdp11.h, config/s390/s390.h, config/stormy16/stormy16.h, 
- 	config/xtensa/xtensa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 
- 	* config/alpha/alpha.c (alpha_arg_partial_bytes): New.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/alpha/alpha.h, config/alpha/unicosmk.h,
- 	config/alpha/vms.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 
- 	* config/arm/arm.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
- 	* config/arm/arm.c (arm_arg_partial_bytes): ... here.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 
- 	* config/cris/cris.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
- 	* config/cris/cris.c (cris_arg_partial_bytes): ... here.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 
- 	* config/fr30/fr30.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/fr30/fr30.c (fr30_arg_partial_bytes): Rename from
- 	fr30_function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/fr30/fr30-protos.h: Update.
- 
- 	* config/frv/frv.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/frv/frv.c (frv_arg_partial_bytes): Rename from 
- 	frv_function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/frv/frv-protos.h: Update.
- 
- 	* config/ia64/ia64.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/ia64/ia64.c (ia64_arg_partial_bytes): Rename from
- 	ia64_function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/ia64/ia64-protos.h: Update.
- 
- 	* config/iq2000/iq2000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/iq2000/iq2000.c (iq2000_arg_partial_bytes): Rename from
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/iq2000/iq2000-protos.h: Update.
- 
- 	* config/m32r/m32r.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/m32r/m32r.c (m32r_arg_partial_bytes): Rename from
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/m32r/m32r-protos.h: Update.
- 
- 	* config/mcore/mcore.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/mcore/mcore.c (mcore_arg_partial_bytes): Rename from
- 	mcore_function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/mcore/mcore-protos.h: Update.
- 
- 	* config/mips/mips.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/mips/mips.c (mips_arg_partial_bytes): Rename from
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/mips/mips-protos.h: Update.
- 
- 	* config/mn10300/mn10300.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/mn10300/mn10300.c (mn10300_arg_partial_bytes): Rename from	
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/mn10300/mn10300-protos.h: Update.
- 
- 	* config/ns32k/ns32k.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
- 	* config/ns32k/ns32k.c (ns32k_arg_partial_bytes): ... here.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 
- 	* config/pa/pa.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/pa/pa.c (pa_arg_partial_bytes): Rename from 
- 	function_arg_partial_nregs.  Handle 32-bit.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/pa/pa-protos.h: Update.
- 
- 	* config/rs6000/rs6000.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Rename from 
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/rs6000/rs6000-protos.h: Update.
- 
- 	* config/sh/sh.h (FUNCTION_ARG_PARTIAL_NREGS): Move ...
- 	* config/sh/sh.c (sh_arg_partial_bytes): ... here.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 
- 	* config/sparc/sparc.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/sparc/sparc.c (sparc_arg_partial_bytes): Rename from
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 	* config/v850/v850.h (FUNCTION_ARG_PARTIAL_NREGS): Remove.
- 	* config/v850/v850.c (v850_arg_partial_bytes): Rename from
- 	function_arg_partial_nregs.  Adjust to return bytes.
- 	(TARGET_ARG_PARTIAL_BYTES): New.
- 	* config/v850/v850-protos.h: Update.
- 
- 2004-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
- 	* config/mmix/mmix.c (mmix_asm_output_internal_label): New
- 	function.
- 	* config/mmix/mmix-protos.h (mmix_asm_output_internal_label):
- 	Prototype.
- 
- 2003-12-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): True.
- 
- 2004-12-29  Jeff Law  <law@redhat.com>
- 
- 	* tree-outof-ssa.c (insert_backedge_copies): New function.
- 	(rewrite_out_of_ssa): Use it.
- 
- 2004-12-29  Ira Rosen  <irar@il.ibm.com>
- 
- 	PR tree-optimization/18179
- 	* tree-vectorizer.c (vect_get_base_and_offset): Call get_inner_reference
- 	and vect_analyze_offset_expr.
- 	(vect_create_addr_base_for_vector_ref): Build address_base by combining 
- 	base and initial_offset fields of vect_stmt_info.
- 	(vect_update_inits_of_dr): Update offset of data-ref instead of its
- 	access-fn. Remove argument.
- 	(vect_update_inits_of_drs): Call vect_update_inits_of_dr with new
- 	arguments.
- 	(vect_compute_data_ref_alignment): Check misalignment info in 
- 	vect_stmt_info. Remove argument.
- 	(vect_compute_data_refs_alignment): Call vect_compute_data_ref_alignment
- 	with correct argument.
- 	(vect_analyze_data_ref_access): Check access info in vect_stmt_info.
- 	(vect_analyze_pointer_ref_access): Update step and initial_offset fields
- 	of vect_stmt_info.
- 	(vect_get_memtag_and_dr): Call vect_get_base_and_offset and set the 
- 	fields of stmt_vec_info.
- 	(vect_analyze_data_refs): Find vectype and pass it to 
- 	vect_get_memtag_and_dr.
- 	(vect_get_first_index): Remove.
- 	(vect_compute_array_base_alignment): Remove.
- 	(vect_compute_array_ref_alignment): Remove
- 	(vect_create_data_ref_ptr): Use TYPE_SIZE_UNIT instead GET_MODE_SIZE.
- 	(vect_gen_niters_for_prolog_loop): Use TREE_CONSTANT instead 
- 	host_integerp.
- 	(vectorizable_load): Use size arithmetics.
- 
- 2004-12-29  Ira Rosen  <irar@il.ibm.com>
- 
- 	PR tree-optimization/18179
- 	* tree-vectorizer.c (vect_get_base_and_offset): Rename (previous name
- 	vect_get_base_and_bit_offset).
- 	(vect_get_memtag_and_dr): Rename (previous name vect_get_symbl_and_dr).
- 
- 2004-12-29  Ira Rosen  <irar@il.ibm.com>
- 
- 	PR tree-optimization/18179
- 	* tree-vectorizer.h (struct _stmt_vec_info): Add new fields:
- 	initial_offset, step, misalignment and base_aligned_p and macros
- 	to access them.
- 	* tree-vectorizer.c (vect_analyze_offset_expr): New function.
- 	(new_stmt_vec_info): Initialize the new fields of stmt_vec_info.
- 
- 	(vect_create_data_ref_ptr): Fix printings.
- 
- 2004-12-29  Ira Rosen  <irar@il.ibm.com>
- 
- 	PR tree-optimization/18179
- 	* tree-vectorizer.c (vect_get_symbl_and_dr): Reorganize. Add memtag 
- 	retrieval.
- 	(vect_analyze_data_refs): Remove memtag retrieval.
- 
- 2004-12-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR inline-asm/15740
- 	* gimplify.c (gimplify_asm_expr): Move resolve asm names ...
- 	* c-typeck.c (build_asm_expr): ... here.  Validate input
- 	constraints.  Mark memory inputs addressable.
- 
- 2004-12-28  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR target/18321
- 	* config/mmix/mmix.c (mmix_expand_epilogue): Change type of
- 	variable offset to HOST_WIDE_INT.  Remove obsolete comment.  Fix
- 	spacing.
- 
- 2004-12-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* fold-const.c (fold_build_cleanup_point_expr): For a RETURN_EXPR,
- 	we only need a cleanup point expression when the expression on the
- 	left hand side of the MODIFIY_EXPR inside the return has side
- 	effects.
- 
- 2004-12-28  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_mark_relevant) First argument changed from
- 	varray_type to varray_type*.
- 	(vect_mark_stmts_to_be_vectorized): Pass &worklist instead of worklist
- 	when calling vect_mark_relevant.
- 
- 2004-12-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
- 	generate non-offsettable DImode lo_sum addresses.
- 
- 2004-12-28  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/19103
- 	* loop-iv.c (iv_number_of_iterations): Fix typo.
- 
- 2004-12-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* genrecog.c (compute_predicate_codes): Avoid warning.
- 
- 2004-12-27 John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
- 	(vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
- 
- 2004-12-27  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (thread_across_edge): Remove broken code to
- 	avoid threading into a loop.
- 
- 2004-12-27  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/17406
- 	* config/i386/i386.c (ix86_expand_prologue): Add REG_FRAME_RELATED_EXPR
- 	note for allocate_stack_worker insn.
- 
- 2004-12-27  Jason Merrill  <jason@redhat.com>
- 
- 	* doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
- 	* target.h (struct gcc_target): Add relaxed_ordering field.
- 	* target-def.h (TARGET_RELAXED_ORDERING): Define default.
- 	(TARGET_INITIALIZER): Add it.
- 	* config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
- 	* config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
- 	* config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
- 	* config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
- 
- 2004-12-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR driver/16118
- 	* doc/invoke.texi: Document the interaction between -save-temps
- 	and -x.
- 
- 2004-12-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_eliminate_indexed_memrefs):
- 	Do not break apart constant pool addresses.
- 	(rs6000_emit_move): Only force source into REG if target is MEM.
- 
- 2004-12-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/19148
- 	* gimplify.c (gimplify_cond_expr): Add post_p parameter.
- 	(gimplify_modify_expr_rhs): Adjust call to gimplify_cond_expr.
- 	(gimplify_expr): Likewise.
- 
- 2004-12-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Don't use MMX/3DNOW.
- 
- 2004-12-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Also pass the result
- 	of type_natural_mode to examine_argument.
- 
- 	* config/i386/i386.md (mov<MMXMODEI>_internal_rex64): New.
- 	(movv2sf_internal_rex64): New.
- 	(mov<MMXMODEI>_internal): Use no register preferences at all.
- 	(movv2sf_internal): Likewise.
- 
- 2004-12-26  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_relational_operation_1): Don't simplify
- 	plus/minus across EQ for floating-point.
- 
- 2004-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/17643
- 	* pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
- 	generating code for the portable runtime.
- 
- 2004-12-25  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (clear_storage): Validate CONST0_RTX extant.  Special case
- 	complex modes.
- 
- 2004-12-25  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/19078
- 	* tree-ssa-loop-ivopts.c (determine_use_iv_cost_generic,
- 	determine_use_iv_cost_outer): Fix computing of cost for the original
- 	bivs.
- 	(dump_use): Handle case related_cands == NULL.
- 
- 2004-12-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	PR target/19059
- 	* config/avr/avr.c (avr_mcu_types): Move attiny{13,2313} from avr4
- 	to avr2.
- 	* config/avr/avr.h (LINK_SPEC): Ditto.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
- 
- 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/19137
- 	* config/rs6000/rs6000.md (movti_power, movti_string): Relax
- 	operand[1] predicate to input_operand, and add r<-n alternative.
- 	Move TImode const_double_operand splitter to where it belongs.
- 
- 2004-12-25  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/19147
- 	* config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
- 
- 2004-12-24  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*fix_trunc{d,s,h}i_1):
- 	Rename to *fix_trunc{d,s,h}i_i387.
- 	(fix_trunc{d,s}fdi2): Reorder tests.
- 
- 2004-12-24  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR debug/14638
- 
- 	* tree.h (DECL_DEBUG_ALIAS_OF): New macro.
- 	* var-tracking.c (track_expr_p): Don't disqualify tracking of variables
- 	that are aliases of variables we want to track, unless the
- 	original variable is also ignored for debugging purposes.
- 	(VARIABLE_HASH_VAL): Use DECL_UID, so that this is deterministic.
- 	* tree-outof-ssa.c (create_temp): Note who we are a debug alias of.
- 	* dwarf2out.c (dwarf2out_var_location): Add us to the location of
- 	the decl we are an alias of.
- 
- 2004-12-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/19142
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Allow
- 	DFmode for 32-bit again.
- 
- 2004-12-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* reload.c (regno_clobbered_p): Add a gcc_assert that regno
- 	refers to a hard register.
- 
- 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* gimplify.c (gimplify_modify_expr_rhs): Use types_compatible_p.
- 
- 2004-12-23  DJ Delorie  <dj@redhat.com>
- 
- 	* genrecog.c (did_you_mean_codes): New.
- 	(compute_predicate_codes): Fail unmatched codes.
- 
- 2004-12-23  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add
- 	assert for machine=mips for !TARGET_IRIX.
- 	* config/mips/linux.h: Remove machine=mips assert.
- 	* config/mips/netbsd.h: Ditto.
- 	* config/mips/openbsd.h: Ditto.
- 
- 2004-12-23  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree.c (iterative_hash_expr):  Canonicalize builtins.
- 
- 2004-12-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR target/16819
- 	* calls.c (load_register_parameters): Don't call use_regs when
- 	nregs is zero.
- 
- 2004-12-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/17746
- 	* expr.c (get_inner_reference): Add 'keep_aligning' parameter.
- 	Break on aligning VIEW_CONVERT_EXPR nodes on STRICT_ALIGNMENT
- 	platforms only if keep_aligning is true.
- 	(expand_assignment): Adjust call to get_inner_reference.
- 	(expand_expr_addr_expr_1): Likewise.
- 	(expand_expr_real_1): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* dwarf2out.c (loc_descriptor_from_tree_1): Likewise.
- 	* fold-const.c (optimize_bit_field_compare): Likewise.
- 	(decode_field_reference): Likewise.
- 	(split_address_to_core_and_offset): Likewise.
- 	* tree-ssa-loop-ivopts.c (split_address_cost): Likewise.
- 	* tree.h (get_inner_reference): Adjust prototype.
- 
- 2004-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Revert last change
- 	wrt fancy 387 math.
- 
- 2004-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (one_cmpl<mode>2, and<mode>3, andnot<mode>3,
- 	ior<mode>3, iornot<mode>3, xor<mode>3, xornot<mode>3): New macroized
- 	vector operate patterns.
- 
- 2004-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_vector_move): Tidy.
- 	(ix86_expand_vector_move_misalign): New.
- 	(ix86_misaligned_mem_ok): Remove.
- 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/i386.md (SSEMODEI): Rename from SSEINT16.
- 	(MMXMODEI): Rename from MMXINT8.
- 	(SSEMODE, MMXMODE, movmisalign<mode>): New.
- 
- 2004-12-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/16405
- 	* gimplify.c (gimplify_modify_expr_rhs): Handle
- 	INDIRECT_REF/ADDR_EXPR combinations.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_mov): Split out ...
- 	(alpha_expand_movmisalign): ... misaligned vector support.
- 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.md (VEC): New macro.
- 	(movv8qi, movv4hi, movv2si): Compress with VEC.
- 	(movv8qi_fix, movv4hi_fix, movv2si_fix): Likewise.
- 	(movv8qi_nofix, movv4hi_nofix, movv2si_nofix): Likewise.
- 	(movmisalign<mode>): New.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.h (OTI_movmisalign, movmisalign_optab): New.
- 	* optabs.c (init_optabs): Create it.
- 	* genopinit.c (optabs): Initialize it.
- 	* expr.c (expand_expr_real_1) <MISALIGNED_INDIRECT_REF>: Use it.
- 	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
- 	* target-def.h (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
- 	* target.h (vectorize.misaligned_mem_ok): Remove.
- 	* targhooks.c (default_vect_misaligned_mem_ok): Remove.
- 	* doc/md.texi (movmisalign): New.
- 	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): Remove.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/emmintrin.h (_mm_loadh_pd): Don't cast pointer arg
- 	to __v2si.
- 	(_mm_storeh_pd, _mm_loadl_pd, _mm_storel_pd): Likewise.
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use double* or
- 	const double* for __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
- 	__builtin_ia32_storehpd, __builtin_ia32_storelpd.
- 	(ix86_expand_builtin): Update to match.
- 	(ix86_expand_vector_init): Use sse2_loadlpd.
- 	* config/i386/i386.md (vec_setv2df): Use sse2_loadlpd, sse2_loadhpd.
- 	(vec_extractv2df): Use sse2_storelpd, sse2_storehpd.
- 	(sse2_storehpd, sse2_loadhpd, sse2_storelpd, sse2_loadlpd): New.
- 	(sse2_movhpd): Remove.
- 
- 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/18751
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Return
- 	false for anything larger than 32 bits in 32-bit code.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (btsq, btrq, btcq): Fix modes.
- 	(bt peepholes): Likewise.
- 
- 	* varasm.c (force_const_mem): Call set_mem_align.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/predicates.md (sse_comparison_operator): Fix
- 	typo in ieee test.
- 	(arith_or_logical_operator): Downcase codes.
- 
- 2004-12-23  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR target/18511
- 	* reload1.c (emit_output_reload_insns): Check if OLD is a hard
- 	register before calling regno_clobbered_p.
- 	* reload.c: Update comment for regno_clobbered_p.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Respect user disable of
- 	fancy 387 math, sse, mmx.
- 	(construct_container): Generate error if we need an sse regster
- 	and sse has been disabled.
- 	* config/i386/i386.h (TARGET_SWITCHES): Disabling sse also disables
- 	later sse generations.  Disabling mmx also disables 3dnow.
- 
- 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-inline.c (struct inline_data): Remove inlined_fns.
- 	(expand_call_inline): Remove dead code setting
- 	inlined_fns.
- 	(optimize_inline_calls): Remove dead code setting DECL_INLINED_FNS.
- 	* tree.h (struct tree_decl): Remove inlined_fns.
- 
- 2004-12-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree-browser.c: Remove obsolete #ifdef HOST_EBCDIC code.
- 
- 2004-12-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/18896
- 	* function.c (split_complex_args): Set DECL_ARTIFICIAL, DECL_IGNORED_P
- 	for real and imaginary parts if the parm is addressable.
- 	(assign_parms_unsplit_complex): If parm addressable, save real
- 	and imaginary parts to a stack temp.  Pass assign_parm_data_all.
- 	(assign_parms): Adjust assign_parms_unsplit_complex call.
- 
- 2004-12-22  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree.h (DECL_PTA_ALIASVAR): Dead.
- 	(struct tree_decl): Remove alias_var field.
- 
- 2004-12-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* system.h (IN_RANGE): Restore HOST_WIDE_INT cast.
- 	* tree.h (IS_EXPR_CODE_CLASS): Do not use IN_RANGE.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 	    Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (truncdfsf2): Don't create stack temp when
- 	using sse math only.  Use truncdfsf2_with_temp.
- 	(truncdfsf2_with_temp): New.
- 	(truncdfsf_fast_i387): Rename from truncdfsf2_noop.  Add memory
- 	output alternative.
- 	(truncdfsf_mixed): Rename from truncdfsf2_1_sse.  Compress duplicate
- 	alternatives.
- 	(truncdfsf_fast_sse): Rename from truncdfsf2_2.  Remove f alternative.
- 	(truncdfsf2_3, truncdfsf2_sse_only): Remove.
- 	(truncdfsf_i387): Rename from truncdfsf2_1.  Compress duplicates.
- 	(truncdfsf_fast_mixed): New.
- 	(truncdfsf splitters): Remove all except the 387 load/store split.
- 	(truncxfsf2_1, truncxfdf2_1): Unify enable constraint with
- 	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH and
- 	TARGET_MIX_SSE_I387.
- 	(*truncxf{s,d}f2_1): Rename to *truncxf{s,d}f2_mixed.
- 	(truncxf{s,d}f2_noop) Rename to truncxf{d,s}f2_i387_noop.
- 	(*truncxf{s,d}f2_i387): New patterns.
- 	(*truncxf{s,d}f2_2): Rename to *truncxf{s,d}f2_i387_1.
- 	(truncxf{s,d}f2, fmod{s,d}f3, drem{s,d}f3, log1p{s,d}f2,
- 	rint{s,d}f2, floor{s,d}f2, ceil{s,d}f2, btrunc{s,d}f2,
- 	nearbyint{s,d}f2): Use renamed patterns.
- 
- 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (TYPE_SIZES_GIMPLIFIED): New.
- 	* function.c (gimplify_parm_type): Don't gimplify type if already done.
- 	* gimplify.c (gimplify_decl_expr): Likewise.
- 	(gimplify_type_sizes): Set TYPE_SIZES_GIMPLIFIED.  Examine nested
- 	array types.
- 
- 2004-12-22  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (eval_save_expr): Remove.
- 	(gimplify_one_sizepos): Unshare expr before gimplifying.
- 	* stor-layout.c (variable_size): Revert 2004-12-19 change.
- 	(layout_decl): Revert 2004-12-18 change.
- 	(layout_type): Revert 2004-12-21 change.
- 
- 2004-12-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-sra.c (type_can_be_decomposed_p): Reject variable sized types.
- 
- 2004-12-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (install-common): Remove special-case code for when
- 	SPECS is defined.
- 
- 2004-12-22  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config.gcc: Add dbxelf.h to NetWare's tm_file.
- 	* config/i386/netware-crt0.c: Prototype __init_environment and
- 	__deinit_environment prior to their definition.
- 	(__init_environment): Correct invokation of constructor function.
- 	* config/i386/netware.h (TARGET_OS_CPP_BUILTINS): Use
- 	builtin_define_std rather than builtin_define on IAPX386.
- 	* config/i386/nwld.h: Disable stabs debugging info with the linker
- 	this file supports.
- 	* config/i386/t-nwld (SHLIB_LINK): Do not use a temporary file for
- 	the output. Add -posix to the options as that is the more compatible
- 	mode.
- 	* gthr-nks.h: Formatting.
- 	(__gthread_mutex_init_function): Kill the dubious use of
- 	NX_MUTEX_RECURSIVE as it is now clear that the traditional mutexes
- 	were not meant to be recursive.
- 	(__gthread_recursive_mutex_t, __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION,
- 	__gthread_recursive_mutex_init_function,
- 	__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
- 	__gthread_recursive_mutex_unlock): New.
- 
- 2004-12-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/t-linux64: Remove code that messed with $(SPECS).
- 	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Move
- 	n32 to the front.
- 	(MULTILIB_EXTRA_OPTS, CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
- 	Removed.
- 	* config/mips/linux64.h (DRIVER_SELF_SPECS): Don't handle
- 	-mabi-fake-default.
- 	(SUBTARGET_TARGET_SWITCHES): Likewise.
- 
- 2004-12-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c++/18984
- 	* pointer-set.c (pointer_set_contains): Add back.
- 	* pointer-set.h (pointer_set_contains): Add back.
- 
- 2004-12-21  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (eval_save_expr): New.
- 	(gimplify_one_sizepos): Use it.
- 	* stor-layout.c (layout_type): Unshare TYPE_MIN/MAX_VALUE.
- 
- 2004-12-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* system.c (IN_RANGE): Use plain unsigned, not unsigned
- 	HOST_WIDE_INT.
- 	* tree.def (VOID_TYPE, INTEGER_TYPE, REAL_TYPE, COMPLEX_TYPE,
- 	VECTOR_TYPE, OFFSET_TYPE, ENUMERAL_TYPE, BOOLEAN_TYPE, CHAR_TYPE,
- 	POINTER_TYPE, REFERENCE_TYPE, METHOD_TYPE, FUNCTION_TYPE,
- 	FILE_TYPE, ARRAY_TYPE, RECORD_TYPE, UNION_TYPE,
- 	QUAL_UNION_TYPE): Reorder for better code efficiency.
- 	(CONST_DECL, TYPE_DECL, VAR_DECL, FIELD_DECL, PARM_DECL): Likewise.
- 	(INDIRECT_REF, ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF): Likewise.
- 	* tree.h (INDIRECT_REF_P): Reorder checks for better optimization.
- 	(IS_EXPR_CODE_CLASS): Use IN_RANGE.
- 	(INTEGRAL_TYPE_P, FLOAT_TYPE_P): Reorder checks for better
- 	optimization.
- 
- 2004-12-21  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd-spec.h:  Use KSE pthread lib for -pthread.
- 
- 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR c/18963
- 	* c-decl.c (pushdecl): Remove block trying to merge static function
- 	declarations at block scope to file scope declarations.
- 
- 2004-12-21  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR c/18596
- 	* c-parse.in (initdcl): Don't process a declaration if start_decl fails.
- 	(notype_initdcl):  Don't process a declaration if start_decl fails.
- 	* c-decl.c (start_decl): Fail if grokdeclarator fails.
- 	(grokdeclarator): Fail if a function definition has an invalid storage
- 	class.
- 	* c-typeck.c (start_init): Treat error_mark_node the same as 0.
- 
- 2004-12-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (x86_sse_split_regs): Rename from
- 	x86_sse_partial_regs.
- 	* config/i386/i386.h (x86_sse_split_regs): Likewise.
- 	(TARGET_SSE_SPLIT_REGS): Rename from TARGET_SSE_PARTIAL_REGS.
- 	* config/i386/i386.md (*): Update to match.  Remove two
- 	floatsisf splitters that use it.
- 
- 	* config/i386/i386.h (x86_sse_partial_regs_for_cvtsd2ss): Remove.
- 
- 	* config/i386/i386.c (x86_sse_partial_regs_for_cvtsd2ss): Remove.
- 	* config/i386/i386.h (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): Remove.
- 	* config/i386/i386.md (truncdfsf2_1_sse): Don't test it.
- 	(truncdfsf2_2, truncdfsf2_sse_only): Likewise.
- 	(truncdfsf2_1_sse_nooverlap, truncdfsf2_2_nooverlap): Remove.
- 	(truncdfsf2_sse_only_nooverlap): Remove.
- 
- 	* config/i386/i386.h (TARGET_SSE_TYPELESS_LOAD0): Remove.
- 
- 2004-12-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* expr.c (emit_group_load_1): Return the source if the move
- 	is a regular move between complex values.
- 
- 2004-12-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18683
- 	* config/rs6000/rs6000.c (current_file_function_operand): Only check
- 	current_function_decl's DECL_RTL if it has already been set.
- 
- 2004-12-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18683
- 	* function.c (pop_function_context_from): Don't reset reg_renumber.
- 
- 2004-12-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/18776
- 	* expr.c (write_complex_part): Use a subreg if the original object
- 	is a hard reg that spans an even number of regs or a MEM.
- 	(read_complex_part): Likewise.
- 
- 2004-12-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (install-common): Do not install the specs file
- 	unless SPECS is defined.
- 
- 2004-12-20  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/18942
- 	* simplify-rtx.c (simplify_relational_operation_1): Simplify
- 	x + cst1 == cst2 to x == cst2 - cst1.  Made static.
- 
- 2004-12-20  Matt Austern  <austern@apple.com>
- 
- 	PR c++/19044
- 	* c-common.c (set_builtin_user_assembler_name): New.
- 	* c-common.h (set_builtin_user_assembler_name): Declare.
- 	* c-decl.c (finish_decl): Use set_builtin_user_assembler_name
- 
- 2004-12-20  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/19080
- 
- 	Merge from tree-cleanup-branch
- 
- 	* tree-flow-inline.h (clear_call_clobbered): New function.
- 	* tree-ssa-alias.c (init_alias_info): Call it.
- 
- 2004-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (sse2_movsd): Remove ix86_binary_operator_ok
- 	check.
- 
- 2004-12-20  Steven Bosscher  <stevenb@suse.de>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/18191
- 	PR middle-end/18965
- 	PR middle-end/18999
- 	* expr.c (categorize_ctor_elements_1): Count the total number
- 	of elements in the constructor.
- 	(categorize_ctor_elements): Return it in a new argument.
- 	* tree.h (categorize_ctor_elements): Adjust prototype.
- 	* gimplify.c (gimplify_init_ctor_eval_range): New.
- 	(gimplify_init_ctor_eval): Gimplify RANGE_EXPR.
- 	(gimplify_init_constructor): Block clear the object if the
- 	constructor has fewer elements than the object type.  Only try
- 	to add assignments to individual elements when we have to.
- 
- 2004-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
- 	long_long_integer_type_node in building V2DI_type_node.
- 
- 	* config/i386/emmintrin.h: Use __vector_size__ instead of vector_size.
- 	* config/i386/mmintrin.h, config/i386/xmmintrin.h: Likewise.
- 
- 2004-12-20  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/md.texi (Expander Definitions): Use @emph instead of @strong
- 	around Note: text to workaround a limitation of the Info format.
- 	* doc/cpp.texi (Invocation): Likewise.
- 	* doc/cppopts.texi: Likewise.
- 
- 2004-12-19  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p):  Don't
- 	reference operand 1 of ADDR_EXPRs.
- 
- 2004-12-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): New macro.
- 	* output.h (assemble_name_raw): Declare it.
- 	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Do not poison it.
- 	* varasm.c (assemble_name_raw): New function.
- 	(assemble_name): Use it.
- 	(default_internal_label): Likewise.
- 	* config/darwin.c (darwin_asm_output_dwarf_delta): Likewise.
- 	* doc/tm.texi (ASM_OUTPUT_INTERNAL_LABEL): Document.
- 
- 2004-12-19  Richard Henderson  <rth@redhat.com>
- 
- 	PR 18067
- 	* stor-layout.c (variable_size): Force creation of a SAVE_EXPR.
- 
- 2003-12-19  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/i386/i386.c (ix86_split_to_parts): Use an array with
- 	four elements for decoding a CONST_DOUBLE on 64 bits targets.
- 
- 2004-12-19  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* config/m68k/m68kemb.h (TARGET_OS_CPP_BUILTINS): Remove redundant
- 	definition of mc68000, already present in TARGET_CPU_CPP_BUILTINS.
- 
- 2004-12-18  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (can_convert_to_perfect_nest): Make checking
- 	match up with what perfect_nestify can actually handle.
- 	(perfect_nestify): Don't return false in the phi node loop.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (SSEINT16): New.
- 	(movv16qi, movv8hi, movv4si, movv2di): Compress via macros.
- 	(movv16qi_internal, movv8hi_internal, movv4si_internal,
- 	movv2di_internal): Compress via macros.  Add SSE zero alternative.
- 	Fix pure SSE alternatives to use 'x' instead of 'Y'.
- 	(MMXINT8): New.
- 	(movv8qi, movv4hi, movv2si, movv8qi_internal, movv4hi_internal,
- 	movv2si_internal): Compress via macros.
- 	(SSEPUSH, MMXPUSH): New.
- 	(pushv18qi, pushv8hi, pushv4si, pushv2di, pushti, pushv4sf, pushv2df,
- 	pushv8qi, pushv4hi, pushv2si, pushv2sf): Compress via macros.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/16417
- 	* c-decl.c (store_parm_decls): Clarify get_pending_sizes insertion
- 	comment.
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Remove pending sizes
- 	checks.
- 	* c-tree.h (struct lang_decl): Remove pending_sizes.
- 	* function.c: Include tree-gimple.h
- 	(assign_parm_setup_reg): Remove callee-copies code.
- 	(gimplify_parm_type, gimplify_parameters): New functions.
- 	(expand_pending_sizes): Remove.
- 	(expand_function_start): Don't call it.
- 	* gimplify.c (gimplify_expr): Examine DECL_VALUE_EXPR for PARM_DECL.
- 	(gimplify_body): Add do_parms argument.  Use gimplify_parameters.
- 	(gimplify_function_tree): Setup cfun.  Update gimplify_body call.
- 	* tree-gimple.h (gimplify_body): Update decl.
- 	* tree-inline.c (initialize_inlined_parameters): Update gimplify_body
- 	call.
- 	* tree.h (gimplify_parameters): Declare.
- 	* Makefile.in (function.o): Depend on TREE_GIMPLE_H.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (finish_struct): Add DECL_EXPR for variable sized
- 	structures seen inside functions.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Save variable array size before
- 	subtracting 1, rather than after.
- 
- 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/15486
- 	* varasm.c (asm_emit_uninitialised): Return early if
- 	a custom section is requested.
- 	(assemble_variable): Revert 2002-03-15 patch.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (layout_decl): Use unshare_expr, not unsave_expr.
- 
- 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/18800
- 	* params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
- 	* tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
- 	(ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
- 	(iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
- 	(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
- 	New functions.
- 	(iv_ca_extend): Return number of candidates in the set.
- 	(try_add_cand_for): Add argument to iv_ca_extend calls.
- 	(try_improve_iv_set): Use iv_ca_prune.
- 	* doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
- 
- 2004-12-18  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/19001
- 	* loop-iv.c (iv_number_of_iterations): Record assumptions for loops
- 	with power of two step to 'infinite' field.
- 
- 2004-12-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* Makefile.in (stor-layout.o): Depend upon gt-stor-layout.h.
- 	(tree-ssa-propagate.o): Depend upon gt-tree-ssa-propagate.h.
- 	(tree-ssa-operands.o): Depend upon gt-tree-ssa-operands.h.
- 	(tree-mudflap.o): Depend upon gt-tree-mudflap.h.
- 	(expr.o): Depend upon gt-expr.h.
- 	(regclass.o): Depend upon gt-regclass.h.
- 	(bitmap.o): Depend upon gt-bitmap.h.
- 	(lists.o): Depend upon gt-lists.h.
- 
- 	(cfgexpand.o): Don't depend upon gt-tree-cfg.h.
- 
- 	(GTFILES): Remove fold-const.c.
- 	(gt-stmt.h, gt-fold-const.h, gt-input.h, gt-tree-ssa-ccp.h):
- 	Remove rules.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (layout_decl): Unshare size expressions copied
- 	from the type.
- 
- 	* fold-const.c (multiple_of_p): Handle BIT_AND_EXPR when
- 	BOTTOM is a power of two.
- 
- 2004-12-18  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-nested.c (save_tmp_var): New.
- 	(struct walk_stmt_info): Add is_lhs.
- 	(walk_stmts) <MODIFY_EXPR>: Be more accurate with setting of
- 	val_only; set is_lhs.
- 	(convert_nonlocal_reference): Use save_tmp_var when is_lhs;
- 	clear is_lhs when appropriate.
- 	(convert_local_reference): Likewise.
- 
- 2004-12-18  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/ieee754-sf.S (floatdisf): Fix label definition in FPA
- 	compatibility code.
- 
- 2004-12-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* ifcvt.c (total_bb_rtx_cost): Rename function to cheap_bb_rtx_cost_p.
- 	Take a max_cost argument to avoid scanning large blocks, by returning
- 	a Boolean instead of a total.  Include the cost of a "fstp %st(0)"
- 	instruction required to pop dead values off of a register stack.
- 
- 2004-12-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18548
- 	* expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
- 	and op1 are all registers (or constants) before expanding the RTL
- 	comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
- 
- 2004-12-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR rtl-optimization/16968
- 	* loop.c (scan_loop): Stop scanning the loop for movable
- 	insns as soon as an optimization barrier is encountered.
- 
- 2004-12-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 18897
- 	* toplev.c (compile_file): Call process_pending_assemble_externals
- 	just before targetm.asm_out.file_end.
- 
- 2004-12-17  Diego Novillo  <dnovillo@redhat.com>
- 
- 	tree-optimization/18501
- 	* tree-optimize.c (init_tree_optimization_passes): Run
- 	pass_late_warn_uninitialized before the last DCE run.
- 
- 2004-12-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (x86_64_reg_class_name): Re-indent.
- 	(classify_argument, examine_argument, construct_container,
- 	merge_classes): Remove prototypes.
- 	(type_natural_mode): Split out from ...
- 	(function_arg): ... here.
- 	(gen_reg_or_parallel): Remove alt_mode argument.  Update callers.
- 	Use orig_mode unless it's BLKmode.
- 	(construct_container): Add orig_mode argument.  Update callers.
- 	Use gen_reg_or_parallel for SSE registers.
- 	(ix86_function_value): Use type_natural_mode.
- 	(ix86_gimplify_va_arg): Likewise.
- 	(ix86_hard_regno_mode_ok): Always accept all SSE, MMX, 3DNOW modes in
- 	SSE registers; always accept all MMX, 3DNOW modes in MMX registers.
- 	* config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
- 	VALID_MMX_REG_MODE.
- 	* config/i386/i386.md (attribute mode): Add V1DF.
- 	(movsi_1): Use 'x' instead of 'Y' constraints.
- 	(movsi_1_nointernunit, movdi_2, movdi_1_rex64): Likewise.
- 	(movdi_1_rex64_nointerunit): Likewise.
- 	(movdf_nointeger, movdf_integer): Likewise.  Handle SSE1.
- 	(movsf_1, movsf_1_nointerunit): Line up constraint alternatives.
- 	(swapsf): Use fp_register_operand, don't disable for TARGET_SSE.
- 	(swapdf): Likewise.
- 	(swapxf): Enable only for TARGET_80387.
- 	(movv2sf, movv2sf_internal, pushv2sf): Enable for MMX.
- 	(movtf): Remove double-check for TARGET_64BIT.
- 	(movv2df_internal): Enable for SSE1.
- 	(movv8hi_internal, movv16qi_internal): Likewise.
- 	(movv2df, movv8hi, movv16qi): Likewise.
- 	(pushv2di, pushv8hi, pushv16qi, pushv4si): Likewise.
- 	(pushdi2_rex64, movv4sf_internal, movv4si_internal, movv2di_internal,
- 	movv8qi_internal, movv4hi_internal, movv2sf_internal,
- 	movv2df_internal, movv8hi_internal, movv16qi_internal,
- 	movti_internal): Add leading '*' to name.
- 
- 2004-12-17  Dale Johannesen  <dalej@apple.com>
- 
- 	* c-decl.c (diagnose_mismatched_decls):  Accept mismatched
- 	function types: void with previous implicit int.
- 
- 2004-12-17  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_gimplify_va_arg): Set alias set to
- 	s390_sr_alias_set.
- 
- 2004-12-17  Jan Beulich  <jbeulich@novell.com>
- 
- 	PR target/17603
- 	* config/i386/i386.c (enum x86_64_reg_class): Define
- 	X86_64_COMPLEX_X87_CLASS.
- 	(x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
- 	(merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
- 	(classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
- 	(examine_argument): X86_64_COMPLEX_X87_CLASS requires two
- 	registers when dealing with a return value.
- 	(construct_container): Handle X86_64_COMPLEX_X87_CLASS.
- 	Eliminate impossible case of two X87/X87UP pairs (this now is
- 	being expressed by a single COMPLEX_X87).
- 	(x86_libcall_value): XCmode gets returned in st0/st1.
- 
- 2004-12-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree.c (type_contains_placeholder_1): Always return false
- 	for VECTOR_TYPE if its TREE_TYPE does not contain a placeholder.
- 
- 2004-12-17  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (extendsfdf2, *extendsfdf2_1,
- 	*extendsfdf2_1_sse_only): Unify enable constraint with
- 	respect to TARGET_SSE2, TARGET_80387, TARGET_SSE_MATH
- 	and TARGET_MIX_SSE_I387.
- 	(*extendsfdf2_i387): New insn pattern.
- 	(*extendsfdf2_1): Rename to *extendsfdf2_mixed. Fix
- 	register constraint for operand 0.
- 	(*extendsfdf2_1_sse_only): Rename to *extendsfdf2_sse.
- 	(*extend{s,d}fxf2_1): Rename to *extend{s,d}fxf2_i387.
- 
- 2004-12-16  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/19041
- 	* config/darwin.c (machopic_symbol_defined_p): Return false
- 	if the binds local and is a common symbol.
- 
- 2004-12-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (extv, extzv, insv): Revalidate the
- 	operand with ext_register_operand.
- 
- 2004-12-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* global.c: Fix a comment typo.
- 
- 2004-12-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR tree-optimization/18707
- 	* cfgloopmanip.c (create_preheader): Move the preheader
- 	only if the latch was falling through to the header.
- 
- 2004-12-16  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR target/18997
- 	* config/i386/cygwin.h (GTHREAD_USE_WEAK): Define to 0.
- 
- 2004-12-16  Richard Henderson  <rth@redhat.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Do not blindly replace
- 	hard registers.
- 
- 2004-12-16  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR other/18508
- 	* config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
- 	to back up the existing shared library.
- 	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
- 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
- 	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
- 	* config/sh/t-linux (SHLIB_LINK): Likewise.
- 	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
- 	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
- 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
- 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
- 
- 	* config/i386/t-nwld (SHLIB_LINK): Don't use the temporary
- 	file.
- 
- 2004-12-16  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (MD_DEPS, s-mddeps): New.
- 	(s-config, s-conditions, s-flags, s-codes, s-constants, s-emit,
- 	s-recog, s-opinit, s-extract, s-peep, s-attr, s-attrtab, s-output,
- 	s-preds): Depend on MD_DEPS instead of md_file.
- 	(genobjnames): Add genmddeps.o
- 	(build/genmddeps, build/genmddeps.o): New.
- 	(mostlyclean): Remove mddeps.mk.
- 	* genmddeps.c: New file.
- 	* gensupport.c (include_callback): New.
- 	(process_include): Call it.
- 	* gensupport.h (include_callback): Declare.
- 
- 2004-12-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* local-alloc.c (block_alloc): Replace IN_RANGE with simple
- 	comparison.
- 
- 	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
- 
- 2004-12-16  Mark Dettinger  <dettinge@de.ibm.com>
- 
- 	* config/s390/s390.c (struct processor_costs): Two new fields:
- 	madbr, maebr.
- 	(s390_rtx_costs): Added handling of multipy and add in SFmode.
- 	More precise values for cost of multiply and add.
- 
- 2004-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/19028
- 	* config/i386/i386.md (sse compare splitter): Test for SF and DFmode
- 	explicitly instead of using VALID_SSE_REG_MODE.
- 
- 2004-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/19005
- 	* config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
- 	optimize_size.
- 	(swapqi_1): Rename from swapqi.  Enable only for no partial reg
- 	stall and optimize_size.
- 	(swapqi_2): New.
- 	(swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
- 	(swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
- 
- 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*floathisf2_i387, *floathidf2_i387):
- 	Also enable for TARGET_MIX_SSE_I387.
- 
- 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (sqrt{s,d}f2_1, sqrt{s,d}f2_1_sse_only,
- 	sqrt{s,d}f2_i387): Unify enable constraint with respect to
- 	TARGET_SSE, TARGET_SSE2, TARGET_USE_FANCY_MATH_387,
- 	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
- 	(sqrt{s,d}f2_1): Rename to *sqrt{s,d}f2_mixed.
- 	(sqrt{s,d}f2_1_sse_only): Rename to *sqrt{s,d}f2_sse.
- 	(sqrt{s,d}f2_i387): Rename to *sqrt{s,d}f2_i387.
- 	(*sqrtextendsfdf2): Also enable for TARGET_MIX_SSE_I387.
- 	(*sqrtextend?f?f2): Rename to *sqrtextendsfdf2_i387.
- 
- 2004-12-16  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*fop_?f_comm_{,sse,nosse},
- 	*fop_?f_1_{,sse,nosse}, *fop_{d,x}f_{2,3,4,5,6}): Unify enable
- 	constraint with respect to TARGET_80387, TARGET_SSE, TARGET_SSE2,
- 	TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
- 	(*fop_?f_{comm,1}): Rename to *fop_?f_{comm,1}_mixed.
- 	(*fop_?f_{comm,1}_nosse): Rename to *fop_?f_{comm,1}_i387.
- 	(*fop_{d,x}f_{2,3,4,5,6}): Rename to *fop_{d,x}f_{2,3,4,5,6}_i387.
- 
- 2004-12-15  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/18153
- 	* configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
- 	-Bstatic/-Bdynamic option.
- 	* config.in: Regenerated.
- 	* configure: Likewise.
- 
- 	* gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
- 	-lunwind if possible.
- 
- 2004-12-15  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* cfgloop.c (flow_loops_dump): Don't print out levels.
- 	(flow_loops_find): Don't set loop->levels.
- 	(flow_loops_level_compute): Make void.
- 	* cfgloop.h (struct loops): Remove levels member.
- 	Add comment about loops in parray possibly being NULL.
- 
- 2004-12-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload.c (SMALL_REGISTER_CLASS_P): New.
- 	(push_secondary_reload, find_reusable_reload, find_reloads): Use
- 	it instead of testing only the class size.
- 
- 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c++/17972
- 	* tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
- 	on the STMT_EXPR wrapping up the inlined body.
- 
- 2004-12-15  Vladimir Makarov  <vmakarov@redhat.com>
- 	    Steven Bosscher  <stevenb@suse.de>
- 	PR middle end/17340
- 
- 	* global.c: Update comments in a few places.
- 	(check_earlyclobber): Return true if there are early clobber
- 	classes.
- 	(calculate_local_reg_bb_info): Do not try to mark earlyclobber
- 	regs if there are none.
- 	(bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
- 	make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
- 	live_pavout.
- 	(modify_bb_reg_pav): Remove.
- 	(calculate_reg_pav): Use code from modify_bb_reg_pav.
- 	(temp_bitmap): New variable.
- 	(calculate_reg_pav): Allocate/deallocate temp_bitmap.
- 
- 2004-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/19010
- 	* config/i386/i386.c (ix86_must_pass_in_stack): Don't return true
- 	for TImode vectors.
- 	(gen_reg_or_parallel): New.
- 	(function_arg): Use it.
- 	(ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
- 	MMX and 3DNOW separately.
- 	(ix86_rtx_costs): Simplify FLOAT_EXTEND case.
- 	(ix86_vector_mode_supported_p): Test SSE1 and SSE2 separately.
- 	* config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
- 	(VALID_SSE_REG_MODE): ... here.
- 
- 2004-12-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* xcoffout.c (xcoffout_declare_function): Change strncpy to memcpy.
- 
- 2004-12-15  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
- 	COMPARE of MULT.
- 	* config/arm/arm.md (mulsi3_compare0): Don't check
- 	arm_arch_xscale.
- 	(mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
- 	(mulsi3addsi_compare0_scratch): Likewise.
- 
- 2004-12-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR other/18665
- 	* libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
- 	Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
- 	* libgcc2.c (__addvsi3): Rename to __addvSI3.
- 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(__addvdi3): Rename to __addvDI3.
- 	(__subvsi3): Rename to __subvSI3.  Use word type for the result.
- 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(__subvdi3): Rename to __subvDI3.
- 	(_mulvsi3): Rename to _mulvSI3.
- 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(_mulvdi3): Rename to _mulvDI3.
- 	(__negvsi2): Rename to __negvSI2.
- 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(__negvdi2): Rename to __negvDI2.
- 	(__absvsi2): Rename to __absvSI2.
- 	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(__absvdi2): Rename to __absvDI2.
- 	* libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 	(__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
- 	__addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
- 	symbol and declare.
- 	(__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
- 	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- 
- 2004-12-15  Kazuhiro Inaoka <inaoka.kazuhiro@reneasas.com>
- 
- 	* config/m32r/m32r.h (PREFERRED_DEBUGGING_TYPE):
- 	Use DWARF2_DEBUG.
- 
- 	* config/m32r.c (m32r_legitimize_pic_address): Changed
- 	to support GOTOFF relocation.
- 	* config/m32r.md (UNSPEC_GOTOFF): New.
- 	(gotoff_load_addr): New.
- 
- 2004-12-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_arg_info): Use FUNCTION_ARG_BOUNDARY to
- 	decide whether an argument is double-word aligned.
- 
- 2004-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: Fix missing modes on cmove splitters.
- 
- 2004-12-15 Jan Beulich  <jbeulich@novell.com>
- 
- 	* mklibgcc.in (libgcc2_c_dep): Add dependency on libgcc2.h.
- 
- 2004-12-15  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (floathisf2, *floathisf2_1, floatsisf2,
- 	*floatsisf2_i387, *floatsisf2_sse, floatdisf2,
- 	*floatdisf2_i387_only, *floatdisf2_i387, *floatdisf2_sse,
- 	floathidf2, *floathidf2_1, *floatsidf2_i387, *floatsidf2_sse,
- 	floatdidf2, *floatdidf2_i387_only, *floatdidf2_i387,
- 	*floatdidf2_sse, floatunssisf2, floatunsdisf2, floatunsdidf2):
- 	Unify enable constraint with respect to TARGET_80387, TARGET_SSE,
- 	TARGET_SSE2, TARGET_64BIT, TARGET_SSE_MATH and TARGET_MIX_SSE_I387.
- 	(*float?i?f_i387): Rename to *float?i?f2_mixed.
- 	(*float?i?f2_1): Rename to *float?i?f2_i387.
- 	(*float?i?f2_i387_only): Rename to *float?i?f2_i387.
- 	(float?ixf2): Penalize integer register operand.
- 
- 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR c++/17242
- 	* configure.ac: Add GAS check for HP-UX .nsubspa comdat.
- 	* configure, config.in: Rebuilt.
- 	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY): Delete
- 	defines.
- 	* config/pa/pa.c (pa_select_section): Allow uninitialized variables in
- 	one-only (comdat) subspaces.
- 	* config/pa/som.h (SUPPORTS_SOM_COMDAT): New define.
- 	(SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT are
- 	true.
- 	(MAKE_DECL_ONE_ONLY): Place uninitialized variables in common.
- 
- 2004-12-14  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* combine.c (combine_validate_cost): Consider cost of
- 	undobuf.other_insn rather than always allowing the recombination
- 	if it is set.
- 
- 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-host.c (MAP_FAILED): Define if not defined.
- 	(pa_gt_pch_use_address): Handle short reads.
- 
- 2004-12-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/17990
- 	* config/i386/i386.c (x86_use_bt): New.
- 	(ix86_expand_unary_operator): Use MEM_P.
- 	(ix86_expand_fp_absneg_operator): New.
- 	* config/i386/i386.h (x86_use_bt): Declare.
- 	(TARGET_USE_BT): New.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/i386.md (negsf2): Use ix86_expand_fp_absneg_operator.
- 	(negdf2, negxf2, abssf2, absdf2, absxf2): Likewise.
- 	(negsf2_memory, negsf2_ifs, negsf2_if, negdf2_memory, negdf2_ifs,
- 	negdf2_ifs_rex64, negdf2_if, negdf2_if_rex64, negxf2_if,
- 	abssf2_memory, abssf2_ifs, abssf2_if, absdf2_memory, absdf2_ifs,
- 	absdf2_ifs_rex64, absdf2_if, absxf2_if): Remove.
- 	(absnegsf2_mixed, absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed,
- 	absnegdf2_sse, absnegdf2_i387, absnegxf2_i387): New.  Merge all
- 	neg and abs splitters.  Handle DFmode in general regs in 64-bit mode.
- 	(negextendsfdf2, absextendsfdf2): Disable for non-mixed sse math.
- 	(btsq, btrq, btcq): New.  Add peepholes as well.
- 	(movv4sf_internal splitter): Postpone til after reload.
- 	(movv2di_internal splitter): Likewise.
- 	* config/i386/predicates.md (const_0_to_63_operand): New.
- 	(absneg_operator): New.
- 
- 2004-12-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P):
- 	Check register number and that reg_renumber is nonzero before using it.
- 
- 2004-12-14  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* doc/invoke.texi (IA-64 options): Add existing options that
- 	weren't already listed.
- 
- 2004-12-14  Jeff Law  <law@redhat.com>
- 
- 	* tree-outof-ssa.c (coalesce_abnormal_edges): Pass the correct target
- 	partition to conflict_graph_merge_regs.
- 
- 2004-12-14  Uttam Pawar  <uttamp@us.ibm.com>
- 	    Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rs6000.c (rs6000_handle_altivec_attribute_tree): Report errors
- 	for vector types with invalid component types.
- 
- 2004-12-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/18951
- 	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2,
- 	expand_builtin_mathfn_3): Avoid using arguments passed to
- 	save_expr after that call.
- 
- 	* fold-const.c (fold_single_bit_test): If flag_syntax_only, pretend
- 	LOAD_EXTEND_OP is not defined.
- 	(fold): Likewise.  If flag_syntax_only, don't depend on BITS_PER_WORD.
- 
- 2004-12-14  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
- 
- 	* tree.def, doc/c-tree.texi: Correctly document restrictions on the
- 	shift width.
- 
- 2004-12-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.h (expand_modifier): Define EXPAND_STACK_PARM as 1.
- 
- 2004-12-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/18973
- 	arm-cores.def (arm926ej-s, arm1026ej-s, arm1136j-s, arm1136-jfs)
- 	(arm1176jz-s, arm1176jzf-s, mpcorenovfp, mpcore): Add load-scheduling
- 	property to flags.
- 
- 2004-12-14  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-gimple.c (get_base_address): Update documentation.
- 
- 2004-12-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17930
- 	* passes.c (rest_of_clean_state): Fix computation of
- 	preferred_incoming_stack_boundary.
- 
- 2004-12-13  Wolfgang Bangerth <bangerth@dealii.org>
- 
- 	* reload.h: Remove struct needs and its only use.
- 
- 2004-12-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR rtl-optimization/18928
- 	* simplify_rtx.c (plus_minus_operand_p): New function to encode
- 	the test for suitable operands for calls to simplify_plus_minus.
- 	Only allow (CONST (PLUS x y)) if both x and y are CONSTANT_P.
- 	(simplify_binary_operation): Use plus_minus_operand_p.
- 
- 2004-12-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	PR tree-opt/16951
- 	* tree-inline.c (setup_one_parameter): Don't directly map a
- 	parameter to the address of another variable of the same
- 	function.
- 
- 2004-13-12  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.h (PROP_POSTRELOAD): Do not include PROP_AUTOINC, we
- 	can never create autoinc insns after reload.
- 
- 2004-12-13  Jeff Law  <law@redhat.com>
- 	    Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/18694
- 	* tree-ssa-dom.c (thread_across_edge): Do not thread jumps if a
- 	PHI argument is set from a PHI_RESULT in the same block and the
- 	PHI argument is not the same as the PHI result.
- 
- 2004-12-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* xcoffout.c (xcoffout_declare_function): Always strip storage
- 	class encoding.
- 
- 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/18964
- 	* config/darwin.c (darwin_assemble_visibility): Fix minor diagnostic
- 	problem, adding a space at the end of the string before concatenation.
- 
- 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c (fname_as_string): Free namep if we are returning
- 	cstr.text.
- 
- 	* tree-ssa-dom.c (record_edge_info): Fix memory leak.
- 
- 2004-12-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-cfg.c (remove_useless_stmts_cond): Call fold on COND_EXPR_COND.
- 
- 2004-12-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dom.c (record_equivalences_from_phis): Speed up by
- 	doing a pointer comparison.
- 
- 	* tree-ssa-dom.c (record_equivalences_from_phis): Add a
- 	comment.
- 
- 	* defaults.h, stmt.c, tree-cfg.c, tree-ssa-dce.c: Fix comment
- 	typos.
- 
- 2004-12-13  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/t-linux (SHLIB_MAPFILES): Add libgcc-glibc.ver to
- 	the list rather than replacing the existing value.
- 
- 2004-12-13  Richard Henderson  <rth@redhat.com>
- 
- 	* cfg.c (dump_flow_info): Don't dump pseudo info after reload.
- 
- 2004-12-13  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (insn-preds.o): Depend on REGS_H.
- 	* genpreds.c (write_insn_preds_c): Include regs.h.
- 	* config/i386/predicates.md (index_register_operand): Use
- 	REG_OK_FOR_INDEX_STRICT_P and REG_OK_FOR_INDEX_NONSTRICT_P.
- 
- 	* config/i386/i386.h (REG_CLASS_FROM_LETTER): Add 'l'.
- 	* config/i386/i386.md (lea_general_1, lea_general_1_zext,
- 	lea_general_2, lea_general_2_zext, lea_general_3, lea_general_3_zext,
- 	adddi_1_rex64, addsi_1, addsi_1_zext, addhi_1_lea, addqi_1_lea,
- 	ashldi3_1_rex64, ashlsi3_1, ashlsi3_1_zext, ashlhi3_1_lea,
- 	ashlqi3_1_lea): Use 'l' for index register operand.
- 	(ashldi3_1_rex64 splitter): Use index_register_operand.
- 	(ashlsi3_1 splitter): Be more careful with modes.
- 
- 2004-12-13  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR target/18459
- 	* defaults.h (TARGET_USE_JCR_SECTION): New macro.
- 	* doc/tm.texi (TARGET_USE_JCR_SECTION): Document it.
- 	* config/i386/cygming.h (TARGET_USE_JCR_SECTION): Override
- 	default.
- 
- 2004-12-13 Uros Bizjak <uros@kss-loka.si>
- 
- 	PR target/14941
- 	PR target/18503
- 	* config/i386/i386.md (sse_movss, sse2_movsd, sse2_movhpd):
- 	Fix wrong vec_merge selector bitmask.
- 
- 2004-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/17186
- 	* reg-stack.c (move_nan_for_stack_reg): New.
- 	(subst_stack_regs_pat): Use it.
- 	(move_for_stack_reg): Handle source register not live with a nan.
- 
- 2004-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatch
- 	errors across operations.
- 
- 2004-12-12  Di-an Jan  <dianj@freeshell.org>
- 
- 	* doc/passes.texi (Pass Manager): Correct list of source files.
- 
- 2004-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (emit_move_change_mode): New.
- 	(emit_move_via_alt_mode): Use it.
- 
- 2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR middle-end/17564
- 	* dojump.c (do_compare_and_jump): Only canonicalize function pointers
- 	in a comparison if both sides are function pointers.
- 
- 2004-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/18932
- 	* config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
- 	and compare_operator to propagate the input CC mode to the output.
- 	* config/i386/predicates.md (compare_operator): New.
- 
- 2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18040
- 	* expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
- 	CONVERT_EXPR cases.
- 	(handled_component_p): Likewise.
- 
- 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reg-stack.c (convert_regs_2): Free stack.
- 
- 	* tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
- 	comment typos.
- 
- 2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
- 	* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
- 	inner loop.
- 
- 2004-12-12  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-gimple.c (get_base_address): Update documentation.
- 
- 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* lcm.c (optimize_mode_switching): Free ptr even when mode_set
- 	is NULL_RTX.
- 
- 2004-12-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* reg-stack.c (change_stack): Avoid placing the new top-of-stack in
- 	its correct location during popping if we need to permute the stack
- 	afterwards.  Attempt to preserve the original stack ordering.
- 
- 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* lcm.c (optimize_mode_switching): Free insert and delete in
- 	the "for" loop.
- 
- 2004-12-11  David Edelsohn  <edelsohn@gnu.org>
- 	    Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR target/18641
- 	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Reload all
- 	constants into all register classes intersecting with FLOAT_REGS
- 	via memory.
- 	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Same.
- 	* config/rs6000/rs6000.md (movdi_internal32): Ignore FPRs when
- 	choosing register preferences.
- 	(movdi_internal64): Same.
- 
- 2004-12-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-into-ssa.c (rewrite_ssa_into_ssa): Free SSA_NAME_AUX
- 	before we release an SSA_NAME.
- 
- 2004-12-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18921
- 	* fold-const.c (fold_unwidened_comparison): Use omit_one_operand
- 	instead of constant_boolean_node as arg0 may have side-effects.
- 
- 2004-12-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-host.c (pa_gt_pch_use_address): Use lseek and read to copy PCH
- 	file to anonymous private map.
- 
- 2004-12-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/18002
- 	PR middle-end/18424
- 	* dojump.c (do_jump): When attempting to reverse the effects of
- 	fold_single_bit_test, we need to STRIP_NOPS and narrowing type
- 	conversions, and handle BIT_XOR_EXPR that's used to invert the
- 	sense of the single bit test.
- 
- 2004-12-10  Devang Patel  <dpatel@apple.com>
- 
- 	PR 18732
- 	* gcc.c (main): Do not break out of loop when error is reported while
- 	processing one source file.
- 
- 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-into-ssa.c (REWRITE_THIS_STMT): Define.
- 	(mark_def_sites): Clear REWRITE_THIS_STMT for statements that
- 	don't need any operands rewritten.
- 	(rewrite_stmt): Ignore statements that don't need to be
- 	rewritten.
- 	(rewrite_operand): Validate that an existing SSA_NAME is
- 	identical to the current reaching definition of the operand.
- 
- 2004-12-10  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-dfa.c (mark_call_clobbered_vars_to_rename): New function.
- 	* tree-vectorizer.c (vectorizable_load): Call it.
- 	* tree-flow.h (mark_call_clobbered_vars_to_rename): Declare.
- 	* tree-sra.c (mark_all_v_defs): Also mark VUSEs for renaming.
- 
- 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* regmove.c (combine_stack_adjustments_for_block): Free
- 	memlist if it hasn't been freed.
- 
- 2004-12-10  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-typeck.c (lookup_field): Check if a TYPE_LANG_SPECIFIC
- 	pointer field is set before dereferencing it.
- 
- 2004-12-10  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/18903
- 	* tree-cfg.c (remove_bb): Put the moved label at the beginning
- 	of the basic block.
- 
- 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-data-ref.c (free_data_refs): Free each data_reference
- 	object.
- 
- 	* tree-ssa-dom.c (thread_across_edge): Speed up by avoiding a
- 	call to is_gimple_min_invariant if we know the result.
- 
- 2004-12-10  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
- 	redundant test of v_ann->mem_tag_kind.
- 
- 	* tree-ssa-operands.c (get_indirect_ref_operands): Remove
- 	redundant conditional clearing opf_kill_def.
- 
- 2004-12-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv-modes.def: Fix comment typos.
- 	(CC_NZ): Define new mode.
- 	* config/frv/frv-protos.h (frv_select_cc_mode): Declare.
- 	(condexec_intop_cmp_operator): Delete.
- 	* config/frv/frv.c (comparison_string): New function.
- 	(frv_print_operand): Use it to handle 'c' and 'C'.
- 	(relational_operator): Redefine in terms of integer_relational_operator
- 	and float_relational_operator.
- 	(signed_relational_operator, unsigned_relational_operator): Delete.
- 	(integer_relational_operator): New predicate, combining the above.
- 	Check the mode of the first operand but leave frv.md to check the rest.
- 	(float_relational_operator): Just check the mode of the first operand
- 	and leave frv.md to check the rest.
- 	(intop_compare_operator): Assume the result is compared with zero
- 	in mode CC_NZmode.  Allow PLUS and MINUS.  Leave frv.md to check
- 	the operand predicates.
- 	(condexec_intop_cmp_operator): Delete.
- 	(frv_ifcvt_modify_tests, frv_ifcvt_modify_multiple_tests)
- 	(frv_hard_regno_mode_ok): Handle CC_NZmode.
- 	(frv_select_cc_mode): New function.
- 	* config/frv/frv.h (SELECT_CC_MODE): Use frv_select_cc_mode.
- 	(REVERSIBLE_CC_MODE): Include CC_NZmode.
- 	(PREDICATE_CODES): Replace entries for signed_relational_operand and
- 	unsigned_relational_operator with one for integer_relational_operator.
- 	Delete entry for condexec_intop_cmp_operator.
- 	* config/frv/frv.md (movcc_nz, *internal_movcc_nz, reload_incc_nz)
- 	(reload_outcc_nz, *cmpsi_cc_nz, *cond_exec_cmpsi_cc_nz): New patterns.
- 	(*combo_intop_compare2, *combo_intop_compare4): Delete.
- 	(*combo_intop_compare1): Change mode to CC_NZ.
- 	(*combo_intop_compare2): Likewise.  Renamed from *combo_intop_compare3.
- 	(branch_{un,}signed_true, branch_{un,}signed_false)
- 	(*scc_{un,}signed, *scc_neg1_{un,}signed, *ck_{un,}signed)
- 	(*movqicc_internal1_{un,}signed, *movqicc_internal2_{un,}signed)
- 	(*movhicc_internal1_{un,}signed, *movhicc_internal2_{un,}signed)
- 	(*movsicc_internal1_{un,}signed, *movsicc_internal2_{un,}signed)
- 	(*movsfcc_has_fprs_{un,}signed, *movsfcc_no_fprs_{un,}signed)
- 	(*return_{unsigned_,}true, *return_{unsigned_,}false): Merge these
- 	pattern pairs.  Use integer_relational_operator.  Remove mode from
- 	icc_operand.
- 
- 2004-12-10  Mark Dettinger  <dettinge@de.ibm.com>
- 
- 	* config/s390/s390.c (struct processor_costs): New fields ml,
- 	sqdbr, sqebr.
- 	(s390_rtx_costs): Added the missing handling of multiply & add,
- 	square root, and umulsidi.
- 
- 2004-12-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expmed.c (synth_mult): Initialize new_limit.latency before
- 	making a recursive call.
- 
- 2004-12-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mn10300/mn10300.c (legitimate_address_p): Reject address
- 	whose index is itself the sum of two other parts.
- 
- 2004-12-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
- 
- 2004-12-10  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
- 
- 2004-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/18282
- 	* attribs.c (decl_attributes): Use relayout_decl.
- 	* c-common.c (handle_mode_attribute): Copy all relevant type
- 	parameters from the new underlying integral type.
- 
- 2004-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (shorten_compare): Don't special-case min/maxval
- 	for C enumerations.
- 
- 2004-12-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
- 	the request subreg is entirely contained in the requested component.
- 	(simplify_gen_subreg): Return null for CONCATs that are rejected
- 	by simplify_subreg.
- 	* expmed.c (store_bit_field): Create a temporary when changing the
- 	value to an integer mode.
- 
- 2004-12-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* real.c (ibm_extended): Correct comment.
- 
- 2004-12-09  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
- 	formerly in darwin-tramp.asm.
- 	* config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
- 	* config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
- 	* config/rs6000/t-darwin: Add dependencies.
- 
- 2004-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/17025
- 	* config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
- 	(test_qi_1, andqi_2): Do not promote to simode.
- 
- 2004-12-09  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18904
- 	* tree-chrec.c (chrec_convert): Use fold_convert
- 	instead of convert.
- 
- 2004-12-09  Matt Rice  <ratmice@yahoo.com>
- 
- 	PR preprocessor/18102
- 	* c-incpath.c (remove_duplicates): Check for construct
- 	equality.
- 
- 2004-12-09  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* genopinit.c (vec_realign_store_optab): Initialization removed.
- 	* optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
- 	* optabs.h (optab_index): OTI_vec_realign_store Removed.
- 	(vec_realign_store_optab): Removed.
- 	* target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
- 	* target.h (builtin_mask_for_store): Removed.
- 	* tree.def (REALIGN_STORE_EXPR): Removed.
- 	* config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
- 	(altivec_builtin_mask_for_store): Removed.
- 	(altivec_init_builtins): Removed initialization of
- 	altivec_builtin_mask_for_store.
- 
- 	* doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
- 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
- 
- 2004-12-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/c-tree.texi (CONSTRUCTOR): Mention RANGE_EXPRs.
- 
- 	* tree.def (SET_TYPE): Remove.
- 	(CONSTRUCTOR): Update description.
- 	* builtins.c (type_to_class) Remove SET_TYPE case.
- 	* dbxout.c (dbxout_type): Likewise.
- 	* dwarf2out.c (is_base_type): Likewise.
- 	(gen_set_type_die): Remove.
- 	(gen_type_die): Remove SET_TYPE case.
- 	* expr.c (count_type_elements): Likewise.
- 	(mostly_zeroes_p): Likewise.
- 	(store_constructor): Likewise.
- 	* print_tree.c (print_node): Likewise.
- 	* stor-layout.c (layout_type): Likewise.
- 	* tree-browser.c (browse_tree): Likewise.
- 	* tree-inline.c (remap_type): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	* tree.c (type_contains_plaeholder_1, type_hash_eq,
- 	variably_modified_type_p, initializer_zerop): Likewise.
- 	* tree.h (SET_OR_ARRAY_CHECK): Remove.
- 	(AGGREGATE_TYPE_P): Remove SET_TYPE check.
- 	(TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
- 	* typeclass.h (enum type_class): Remove set_type_class.
- 	* varasm.c (const_hash_1): Remove SET_TYPE case.
- 	(compare_constant, copy_constant, output_constant): Likewise.
- 	* config/i386/i386.c (classify_argument): Likewise.
- 	* config/ia64/ia64.c (hfa_element_mode): Likewise.
- 	* config/sparc/sparc.c (sparc_type_code): Likewise.
- 
- 	PR c++/16681
- 	* tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
- 
- 2004-12-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: Use FLAGS_REG everywhere.
- 
- 2004-12-08  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
- 	to avoid call to default function.
- 
- 2004-12-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 17982
- 	* varasm.c (pending_assemble_externals): New static.
- 	(assemble_external_real): Meat of assemble_external split out
- 	to this new function.
- 	(process_pending_assemble_externals): New function.
- 	(assemble_external): Use gcc_assert.  If flag_unit_at_a_time
- 	is true and the basic test passes, merely cons the decl onto
- 	the pending list to be handled later.
- 	* tree.h: Declare process_pending_assemble_externals.
- 	* cgraphunit.c (cgraph_optimize): Call it.
- 
- 	* config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
- 
- 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgloopmanip.c (create_preheader): Speed up by "unrolling"
- 	and simplifying FOR_EACH_EDGE.
- 
- 2004-12-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (frv_sort_insn_group): Always initialize
- 	packet_group->nop.
- 
- 2004-12-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/18672
- 	* gimplify.c (canonicalize_addr_expr): Cope with array of
- 	incomplete type.
- 	(gimplify_conversion): Remove redundant checks.
- 
- 	* doc/trouble.texi (Non-bugs): Clarify empty loop removal.
- 
- 2004-12-08  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.c (output_387_binary_op,
- 	ix86_prepare_fp_compare_args): Fix is_sse condition.
- 
- 2004-12-07  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
- 	argument.
- 
- 	* config/i386/i386.c (output_fp_compare): Fix is_sse condition.
- 	Use EFLAGS_P only when fcomi insn should be used. Fix handling
- 	of eflags_p variable. Change alt table accordingly. For non-fcomi
- 	compare insn always use trailing fnstsw insn. Fix intmode
- 	calculation for ficom insn.
- 	(ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
- 	ix86_free_from_memory when "pushed" is specified.
- 	(ix86_expand_branch): Change call to ix86_split_fp_branch.
- 
- 	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
- 	Change eflags_p parameter in call to output_fp_compare.
- 	(*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
- 	(*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
- 	*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.	Change eflags_p
- 	parameter in call to output_fp_compare.
- 	(*cmpfp_2_u): Remove.
- 	(*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
- 	in call to output_fp_compare.
- 	(*ficom_1): Remove insn definition and corresponding define_split.
- 	(*cmpfp_si): New insn definition.
- 	(*fp_jcc_8): New insn definition. Add new splitters for
- 	"memory_operand" and "register_operand".
- 	(define_split): Add new parameter in call to ix86_split_fp_branch.
- 
- 	config/i386/predicates.md (float_operator): New predicate.
- 
- 2004-12-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c (verify_tree): Don't check code length if we know
- 	we are handling tcc_unary.
- 	* print_tree.c (print_node): Remove code to handle RTL
- 	appearing as a part of a tree node.
- 	* tree-gimple.c (recalculate_side_effects): Rename fro as len.
- 	* tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
- 	(PROCESS_ARG): Don't refer to fro.
- 	(build2_stat, build3_stat, build4_stat): Don't compute fro.
- 
- 2004-12-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18293
- 	* expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
- 	(expand_mult): Special case powers of two to avoid synth_mult.
- 	* loop.c (product_cheap_p): Handle case where expand_mult does
- 	require/generate any instructions (i.e. multiplication by zero).
- 
- 2004-12-07  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-pretty-print.c (dump_array_domain): Split out from
- 	dump_generic_node; fix off-by-one error on zero-based array bounds.
- 	(dump_generic_node): Use it.
- 	(print_declaration): Likewise.
- 
- 2004-12-08  Richard Guenther <richard.guenther@uni-tuebingen.de>
- 
- 	* doc/invoke.texi: Adjust default values for
- 	large-function-growth and inline-unit-growth to match
- 	params.def.  Clarify used algorithm.
- 
- 2004-12-07  David Mosberger  <davidm@hpl.hp.com>
- 
- 	PR target/18443
- 	* config/ia64/ia64.c (ia64_assemble_integer): Add support for
- 	emitting unaligned pointer-sized integers.
- 
- 2004-12-07  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR c/18867
- 	* c-typeck.c (c_start_case): Set orig_type to error_mark_node
- 	when the type of the controlling expression is not a valid type.
- 
- 2004-12-07  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/17340
- 	* tree-ssa-pre.c (compute_antic): Fix comment.
- 	(compute_avail): Do not recurse, instead do a DFS using a stack
- 	and a loop.
- 	(execute_pre): Adjust.
- 
- 2004-12-07  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-tree.h (struct lang_type): Rename 'objc_protocols' field
- 	to 'objc_info'.
- 
- 2004-12-07  Eric Christopher  <echristo@redhat.com>
- 
- 	PR target/16317
- 	* config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
- 
- 2004-12-07  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_valid_pointer_mode): Move
- 	prototype...
- 	* config/mips/mips.c: ... here. Make static.
- 
- 2004-12-07  Eric Christopher  <echristo@redhat.com>
- 
- 	PR target/18442
- 	* config/mips/mips.c (mips_vector_mode_supported_p): New function.
- 	(TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
- 
- 2004-12-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, expr.c, fold-const.c, print-tree.c,
- 	tree-gimple.c, tree-inline.c, tree-pretty-print.c,
- 	tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
- 	first_rtl_op with TREE_CODE_LENGTH.
- 	* tree.c (first_rtl_op): Remove.
- 	Replace uses of first_rtl_op with TREE_CODE_LENGTH.
- 	* tree.h: Remove the prototype for first_rtl_op.
- 
- 2004-12-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
- 	Revert 2004-12-01 change.
- 
- 2004-12-06  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-tree.h (struct lang_type): Add 'objc_protocols' field.
- 
- 2004-12-06  DJ Delorie  <dj@redhat.com>
- 
- 	* reload.c (find_valid_class): Fix logic to test inner mode as well.
- 	(push_reload): Pass inner mode.
- 
- 2004-12-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
- 
- 2004-12-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
- 
- 2004-12-06  Zdenek Dvorak  <dvorakz@suse.cz>
- 	    Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/18601
- 	* tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
- 	(tree_forwarder_block_p): Do not consider blocks that are its own
- 	successors forwarders.
- 	(cleanup_forwarder_blocks, remove_forwarder_block): New functions.
- 	(cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
- 	thread_jumps.
- 	* tree-flow.h (bb_ann_d): Remove forwardable.
- 
- 2004-12-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_expr_real_1): Remove an "if" whose condition
- 	is always false.
- 
- 2004-12-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-gimplify.c (gimplify_c_loop): Improve initial implementations
- 	for loops whose conditions are known at compile-time.
- 	* gimplify.c (append_to_statement_list_1): Remove side_effects
- 	parameter, this function should never be called if its false.
- 	(append_to_statement_list): Only call append_to_statement_list_1
- 	if t is non-NULL tree with side-effects.
- 	(append_to_statement_list_force):  Likewise, if t is not NULL.
- 
- 2004-12-06  J"orn Rennecke <joern.rennecke@st.com>
- 
- 	* bt-load.c (btr_def_s): New member own_end;
- 	(add_btr_to_live_range): Add second parameter.  Changed caller.
- 	(clear_btr_from_live_range): Clear btrs_live_at_end bit
- 	for the register its definition basic block if own_end is set.
- 	(augment_live_range): Also take btrs_live_at_end into account.
- 	(combine_btr_defs): Don't bother with
- 	other_def->other_btr_uses_after_use if it pertains to a different
- 	register.
- 	(move_btr_def): Set def->other_btr_uses_before_def after
- 	calling combine_btr_defs."
- 
- 	* bt-load.c (augment_live_range): New argument full_range.
- 	Changed all callers.
- 
- 	* bt-load.c (move_tr_def): Set other_tr_uses_before_def
- 	taking new btr assignment into account.
- 
- 2004-12-05  Daniel Berlin <dberlin@dberlin.org>
- 
- 	* tree-ssa-alias.c (create_global_var): Use void_type_node,
- 	not size_type_node.
- 
- 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_expr_real_1): Abort on COND_EXPR of
- 	VOID_TYPE.
- 
- 2004-12-05  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/18841
- 	* config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
- 	(builtin_setjmp_receiver_er_sl_1): Use it.
- 	(builtin_setjmp_receiver_er_1): Likewise.
- 	(builtin_setjmp_receiver_er, exception_receiver_er): Remove.
- 	(builtin_setjmp_receiver): Don't split for explicit relocs until
- 	after reload.
- 	(exception_receiver): Likewise.
- 
- 2004-12-05  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* mklibgcc.in (vis_hide): Add the prototype for the test.
- 
- 2004-12-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-typeck.c (c_finish_loop): Improve initial implementations
- 	for loops whose conditions are known at compile-time.
- 
- 2004-12-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Fix comment typos.
- 
- 2004-12-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR middle-end/18730
- 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
- 	the first/last insn is a sequence, return the first/last insn of the
- 	sequence.
- 
- 	PR bootstrap/18804
- 	* mklibgcc.in (vis_hide): Use implementation instead of declaration
- 	for test function.
- 
- 2004-12-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
- 	use ofs in BWX two byte special case.
- 	(alpha_expand_unaligned_store): Likewise.
- 
- 2004-12-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (gcse_main): Add a comment.
- 
- 2004-12-04  Andrew  Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17909
- 	* builtins.c (fold_builtin_next_arg): Export and return true
- 	when there is a warning or an error.
- 	(expand_builtin_va_start): When fold_builtin_next_arg returns true,
- 	return const0_rtx.
- 	(expand_builtin): Likewise.
- 	* gimplify.c (gimplify_call_expr): Error out if there is not
- 	enough arguments to va_start. Call fold_builtin_next_arg also
- 	on the second argument.
- 	* tree.h (fold_builtin_next_arg): Prototype.
- 
- 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
- 	Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
- 	SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
- 	* config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
- 	shlib_dir and shlib_so_name.
- 	* config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
- 	* config/t-libunwind-elf (SHLIB_NAME): Likewise.
- 	* config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
- 	* config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
- 	* config/t-slibgcc-sld (SHLIB_NAME): Likewise.
- 	(SHLIB_LINK): Don't use shlib_dir when creating symlink.
- 
- 2004-12-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
- 
- 2004-12-03  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (component_uses_parent_alias_set): Rename from
- 	can_address_p.  Return bool.  Reverse the sense of the result.
- 	Reinstate the check for alias set zero.
- 	(get_alias_set): Update to match.
- 	* alias.h (component_uses_parent_alias_set): Likewise.
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- 	* expr.c (expand_assignment): Likewise.
- 	* expr.h: Remove commented out prototypes that were moved to alias.h.
- 
- 2004-12-03  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
- 
- 2004-12-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR middle end/18718
- 	* sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
- 	in pairs.
- 	* sched-ebb.c (schedule_ebb): Likewise.
- 
- 2004-12-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (HOSTHOOKS_DEF_H): Define.
- 	(ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
- 	(host-default.o): Likewise.
- 
- 2004-12-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/stormy16/stormy16.md (pushqi, popqi, pushhi,
- 	pophi): Add number of arguments to name so that the
- 	pattern is recognized as a named pattern.
- 
- 2004-12-03  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/extend.texi (AltiVec Builtins): Fix info about signedness.
- 
- 2004-12-03  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Protect
- 	darwin_one_byte_bool with #if.
- 
- 2004-12-03  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
- 
- 2004-12-03  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
- 
- 2004-12-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* configure.ac: Move TL_AC_GCC_VERSION into initialization section.
- 	Set libstdcxx_incdir directly.
- 	* configure: Regenerate.
- 
- 2004-12-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dom.c (record_equivalences_from_phis): Remove an
- 	"if" whose condition is always true.
- 
- 	* cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
- 	INSN_P.
- 
- 2004-12-02  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
- 	Darwin default to one-byte bools.
- 
- 2004-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR 18774
- 	* simplify-rtx.c (simplify_immed_subreg): Fail complex modes.
- 
- 2004-12-03  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/cfg.texi (Edges): Update. Document the edge_iterator data
- 	type and its methods.
- 
- 2004-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (write_complex_part): Use simplify_gen_subreg when the
- 	submode is at least as large as a word.
- 	(read_complex_part): Likewise.
- 
- 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR bootstrap/18532
- 	* mklibgcc.in: Build one set of EXTRA_MULTILIB_PARTS for
- 	multilib at a time. Don't build the default set. Don't add
- 	EXTRA_MULTILIB_PARTS to shared libunwind nor libgcc. Remove
- 	filter for shared libunwind and libgcc.
- 
- 2004-12-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/18759
- 	* config/i386/i386.c (override_options): If -fomit-frame-pointer has
- 	already been specified, ignore the -momit-leaf-frame-pointer option.
- 
- 2004-12-02  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* varasm.c (make_decl_rtl): Add the missing `;'.
- 
- 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree.c (is_attribute_p): Split out to ..
- 	(is_attribute_with_length_p): Here.  Use IDENTIFIER_LENGTH instead
- 	of strlen and compare the string lengths before calling strcmp.
- 	(lookup_attribute): Call is_attribute_with_length_p instead of
- 	is_attribute_p.
- 
- 2004-12-02  Devang Patel  <dpatel@apple.com>
- 
- 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
- 	* config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
- 	* config/i386/darwin.h (CC1_SPEC): Same.
- 
- 2004-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (lowpart_subreg_maybe_copy): New.
- 	(expand_unop, expand_abs_nojump): Use it.
- 
- 2004-12-02  J"orn Rennecke <joern.rennecke@st.com>
- 
- 	* sh.md (extv, extzv): Add pattern predicate.
- 
- 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
- 	is not null.
- 
- 	* tree-cfg.c (phi_alternatives_equal): Check that PHI_ARG_DEF
- 	is not null.
- 
- 	* tree-cfg.c (thread_jumps): Reduce the size of WORKLIST.
- 
- 2004-12-02  Jeff Law  <law@redhat.com>
- 
- 	* tree-eh.c: Revert yesterday's change.
- 
- 2004-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* varasm.c (decode_reg_name): Revert change to check for zero
- 	length strings.
- 	(make_decl_rtl): Make sure that we call decode_reg_name only
- 	when needed.
- 
- 2004-12-02  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-opt/18716
- 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Properly set
- 	then and else labels.
- 
- 2004-12-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (WERROR_FLAGS): Renamed from WERROR.
- 	(STRICT2_WARN): Use $(WERROR_FLAGS) instead of $(WERROR).
- 	(STAGE2_FLAGS_TO_PASS): Likewise.
- 
- 	* config/i386/x-mingw32: Set WERROR_FLAGS instead of WERROR.
- 
- 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.  Remove
- 	now-redundant AC_SUBSTs.
- 	* aclocal.m4: Include ../config/gcc-version.m4.
- 	* configure: Regenerate.
- 
- 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
- 	#ifdef RELOCATABLE_NEEDS_FIXUP.
- 
- 2004-12-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/9908
- 	* config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
- 	Intel assembler syntax by using %A1 instead of %*%1.
- 
- 2004-12-01  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_assignment): Handle CONCAT both as a final
- 	destination and as a middle point.
- 
- 2004-12-01  Jeff Law  <law@redhat.com>
- 
- 	* tree-eh.c (save_eptr, save_filt): Now file scoped statics.
- 	(honor_protect_cleanup_actions): Only create save_eptr and
- 	save_filt if they do not already exist.
- 	(lower_eh_constructs): Wipe all knowledge of save_eptr and
- 	save_filt before returning.
- 
- 2004-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (remove_phi_arg_num): Fix a comment.
- 
- 2004-12-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/16952
- 	* config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
- 	#ifdef RELOCATABLE_NEEDS_FIXUP with if.
- 	* config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
- 	of target_flags_explicit.
- 	* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
- 	case.  Define as 0 for non-biarch.
- 
- 2004-12-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
- 	Change temporary file tag from a prefix to an infix.
- 
- 2004-12-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* gcc.c (struct option_map): Add entry for "--pass-exit-codes".
- 
- 2004-12-01  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18763
- 	PR tree-opt/18746
- 	* tree-ssa-alias.c (init_alias_info): Get statement operands for all
- 	the statements if aliases_computed_p is true.
- 
- 2004-12-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (WERROR): New variable.
- 	(STRICT2_WARN): Use it.
- 	(STAGE2_FLAGS_TO_PASS): Likewise.
- 	* config/i386/x-mingw32 (WERROR): Add -Wno-format.
- 
- 2004-12-01  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (get_inner_reference): Fix thinko in REAL/IMAGPART_EXPR
- 	offsetting.
- 
- 2004-12-01  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/18291
- 	* tree-ssa-copy.c (merge_alias_info): Fix merging of
- 	flow-sensitive alias information.  If the new pointer has no
- 	name tag, copy it from the original pointer.  Otherwise, make
- 	sure that the pointed-to sets have a common intersection.
- 
- 2004-12-01  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/15289
- 	* emit-rtl.c (gen_complex_constant_part): Remove.
- 	(gen_realpart, gen_imagpart): Remove.
- 	* rtl.h (gen_realpart, gen_imagpart): Remove.
- 	* expmed.c (extract_bit_field): Remove CONCAT hack catering to
- 	gen_realpart/gen_imagpart.
- 	* expr.c (write_complex_part, read_complex_part): New.
- 	(emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
- 	emit_move_complex_push, emit_move_complex, emit_move_ccmode,
- 	emit_move_multi_word): Split out from ...
- 	(emit_move_insn_1): ... here.
- 	(expand_expr_real_1) <COMPLEX_EXPR>: Use write_complex_part.
- 	<REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
- 	* function.c (assign_parm_setup_reg): Hard-code transformations
- 	instead of using gen_realpart/gen_imagpart.
- 
- 	* expr.c (optimize_bitfield_assignment_op): Split out from ...
- 	(expand_assignment): ... here.  Use handled_component_p to gate
- 	get_inner_reference code.  Simplify MEM handling.  Special case
- 	CONCAT destinations.
- 
- 	* expmed.c (store_bit_field): Use simplify_gen_subreg instead
- 	of gen_rtx_SUBREG directly.
- 
- 2004-12-01  David Edelsohn  <edelsohn@gnu.org>
- 	    Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR target/17107
- 	* config/rs6000/rs6000.md (sge): Enable for non-TARGET_POWER.
- 	(sgt): Same.
- 	(sle): Same.
- 	(slt): Same.
- 
- 2004-12-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR middle-end/18667
- 	* params.c (set_param_value): Add range check.
- 	* params.def: Add min and max values. Reformat long strings.
- 	* params.h (struct param_info): Add min and max fields.
- 	(enum compiler_param): Adjust DEFPARAM.
- 	* toplev.c (lang_independent_params): Likewise.
- 
- 2004-12-01  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/12817
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
- 
- 2004-12-01  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* doc/standards.texi: Update for C99 TC2.
- 
- 2004-11-30  Jeff Law  <law@redhat.com>
- 
- 	* sbitmap.c (sbitmap_any_common_bits): New function.
- 	* sbitmap.h (sbitmap_any_common_bits): Prototype.
- 	* modulo-sched.c (sms_schedule_by_order): Use sbitmap_any_common_bits
- 	No longer allocate/free "psp", "pss" sbitmaps.
- 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Similarly for
- 	the "res" sbitmap.
- 	(group_aliases): Similarly.
- 
- 2004-11-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree-vectorizer.c (vect_analyze_data_refs): Reformat and avoid
- 	uninitialized variable.
- 
- 2004-11-30  Eric Christopher  <echristo@redhat.com>
- 
- 	* fold-const.c (fold_widened_comparison): Make sure that we're
- 	passing an INTEGER_TYPE to int_fits_type_p.
- 	(fold): Clean up comment.
- 
- 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mklibgcc.in: Correct calculation of libgcc_s_soname and
- 	libunwind_soname.  Use $out, not $outS, in commands for
- 	no-shared-library case.  Move EXTRA_MULTILIB_PARTS rules above
- 	library build rules, make $libunwind_so and $libgcc_s_so
- 	depend on them in the normal fashion, and filter those objects
- 	out of @shlib_objs@.
- 
- 2004-11-30  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/altivec.h (vec_step_help): Support const vector types.
- 
- 2004-11-30  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18298
- 	* tree-optimize.c (init_tree_optimization_passes): Add a may_alias
- 	pass right after fold builtins.
- 
- 2004-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390-modes.def: Added cc modes documentation.
- 	* config/s390/s390.c: (s390_tm_ccmode, s390_select_ccmode,
- 	s390_expand_addcc): Added cc mode comments.
- 	* config/s390/s390.md: Removed old cc mode documentation.
- 
- 2004-11-30  Mark Dettinger  <dettinge@de.ibm.com>
- 
- 	* config/s390/s390.c (struct processor_costs): New data type.
- 	(s390_cost, z900_cost, z990_cost): New global variables.
- 	(override_options): Initialize s390_cost.
- 	(s390_rtx_costs): Reimplement.
- 
- 2004-11-29  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/18673
- 
- 	* tree-ssa-pre.c: Remove splay-tree.h include.
- 	(bitmap_value_replace_in_set): Fix to add if it does not exist.
- 	(find_or_generate_expression): Remove now-wrong condition.
- 	(create_expression_by_pieces): Fix condition and comment reason
- 	for it.
- 	(insert_aux): Fix condition and comment reasons for it.
- 	Factor insertion code from here.
- 	(insert_into_preds_of_block): To here.  Fix conditions in factored
- 	function and comment reasons for them.
- 
- 2004-11-30  Ira Rosen  <irar@il.ibm.com>
- 
- 	PR tree-opt/18607
- 	* tree-vectorizer.c (vect_analyze_data_refs): Use temporary
- 	variable for data_reference when looking for memtag.
- 
- 2004-11-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-opts.c (check_deps_environment_vars): If spec != NULL, set
- 	deps_seen.
- 
- 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_gen_niters_for_prolog_loop): Use
- 	tree_low_cst instead of TREE_INT_CST_LOW.
- 
- 2004-11-30  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR target/18173
- 	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
- 	decls that are assembled before vectorization takes place.
- 	(vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
- 
- 2004-11-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
- 	if local_alloc modified jumps.
- 
- 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* varasm.c (default_encode_section_info): Don't set SYMBOL_FLAG_SMALL
- 	on TLS symbols.
- 	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Remove TLS
- 	check.
- 
- 2004-11-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h
- 	* unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
- 
- 	* mklibgcc.in: Drastic restructure for comprehensibility.
- 	Remove the old hidden-directive hack.
- 	Eliminate support for .txt files in LIB2ADD etc (never used).
- 	Eliminate support for assembly source files in LIB2ADDEH* and
- 	LIBUNWIND (also never used).
- 	Build up dependency lists for libraries incrementally.
- 	If we have SHLIB_LINK, compile each file twice, once for the
- 	static and once for the shared library; also probe for
- 	-fvisibility=hidden in the generated libgcc.mk.  If found,
- 	pass that and -DHIDE_EXPORTS to the compilation of every C
- 	source file going into the static library.  If found, generate
- 	hidden-directive lists for every assembly source file going
- 	into the static library, but incorporate them with -include
- 	instead of ld -r.
- 	Write comments into generated libgcc.mk to facilitate debugging.
- 	* Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
- 	* config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
- 
- 	* config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
- 	-Zdynamiclib case.
- 
- 2004-11-29  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR.
- 	(handled_component_p): Likewise.
- 	* alias.c (can_address_p): Reformat and simplify.  Handle
- 	REAL/IMAGPART_EXPR.  Do not disable addressability based on
- 	alias set zero.
- 	* fold-const.c (build_fold_addr_expr_with_type): Remove duplicate
- 	check for REAL/IMAGPART_EXPR.
- 	* gimplify.c (gimplify_compound_lval): Likewise.
- 	* tree-cfg.c (verify_expr): Likewise.
- 	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
- 	* tree-nested.c (build_addr, convert_nonlocal_reference): Likewise.
- 	(convert_local_reference): Likewise.
- 	* tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise.
- 
- 2004-11-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* expr.c (emit_group_load_1): Don't die on const_int orig_src.
- 
- 2004-11-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR pch/14940
- 	* config/pa/pa-host.c, config/pa/x-hpux, config/pa/x-linux: New files.
- 	* config.host (hppa*-*-hpux*, hppa*-*-linux): Define out_host_hook_obj
- 	and host_xmake_file using new host configuration files.
- 
- 2004-11-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	* reg-stack.c (change_stack): Improve algorithm used to pop regs
- 	off the stack to maximize ffreep usage and reduce fxch count.
- 
- 2004-11-30  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR middle-end/18596
- 	* c-decl.c (grokdeclarator): Reset DECL_INTIAL to error_mark_node
- 	on errors.
- 
- 2004-11-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr_real_1, case NOP_EXPR): Properly handle
- 	REDUCE_BIT_FIELD by applying it to result, not input, of conversion.
- 
- 2004-11-30  Ben Elliston  <bje@au.ibm.com>
- 
- 	* Makefile.in (REGS_H): Depend on $(BASIC_BLOCK_H).
- 
- 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/18479
- 	* c-common.c (handle_visibility_attribute): When the type decl
- 	is really a identifier node, warn about being ignored and return.
- 
- 2004-11-29  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-cfg.c (tree_node_can_be_shared): Fix typo'd error_mark_node.
- 
- 2004-11-29  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge):
- 	Remove CASE_DROPS_THROUGH checks, it is never defined.
- 	* cfglyout.c (fixup_reorder_chain): Likewise.
- 	* cfgrtl.c (rtl_verify_flow_info): Likewise.
- 	* stmt.c (expand_case): Likewise.
- 	* cfgbuild.c (make_edges): Likewise.  Also remove force_fallthru,
- 	it is now always 0.
- 	* system.h (CASE_DROPS_THROUGH): Poison.
- 	* doc/md.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
- 	* doc/tm.texi (casesi): Remove documentation of CASE_DROPS_THROUGH.
- 
- 	* config/v850/v850.h: Remove commented out CASE_DROPS_THROUGH.
- 
- 2004-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/18725
- 	* tree-cfg.c (tree_node_can_be_shared): Error_mark_node can be
- 	shared always.
- 
- 2004-11-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/18712
- 	* tree-into-ssa.c (insert_phi_nodes_for): Pass argument
- 	WORK_STACK by reference.
- 	Call VEC_safe_push instead of VEC_quick_push.
- 	Update all users.
- 
- 2004-11-29  Daniel Jacobowitz  <dan@codesourcery.com>
- 
- 	PR c/7544
- 	* Makefile.in (c-lang.o): Update dependencies.
- 	* c-lang.c: Include "c-pragma.h".
- 	(finish_file): Call maybe_apply_pending_pragma_weaks.
- 	* c-pragma.c (maybe_apply_pending_pragma_weaks): New function.
- 	* c-pragma.h (maybe_apply_pending_pragma_weaks): New prototype.
- 
- 2004-11-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/17224
- 	* config/ia64/predicates.md (sdata_symbolic_operand): Deny offsets
- 	outside the referenced object.
- 
- 2004-11-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-if-conv.c (replace_phi_with_cond_modify_expr): Use
- 	EDGE_PRED instead of PHI_ARG_EDGE.
- 	* tree-ssa-live.c: Likewise.
- 	* tree-ssa-loop-manip.c: Likewise.
- 	* tree-ssa.c: Likewise.
- 
- 	* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Speed up by
- 	simplifying edge manipulation.
- 
- 	* cfgrtl.c (rtl_tidy_fallthru_edge): Speed up by using
- 	EDGE_COUNT.
- 
- 	* tree-cfg.c (tree_redirect_edge_and_branch): Call find_edge
- 	only when needed.
- 
- 	* cfg.c (flow_obstack): Remove.
- 	(flow_firstobj): Likewise.
- 	(init_flow): Remove all uses of flow_obstack.
- 
- 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* varasm.c (default_elf_select_section_1): Only pass DECL_P decl
- 	to named_section.
- 
- 2004-11-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* opts.c (decode_options): Do not set max-inline-insns-rtl.
- 	(common_handle_option): Likewise.
- 	* params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove.
- 	* params.h (MAX_INLINE_INSNS_RTL): Remove.
- 	* doc/invoke.texi (max-inline-insns-rtl): Remove.
- 
- 2004-11-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/9571
- 	* varasm.c (default_elf_select_section_1): Pass decl to named_section.
- 
- 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/18164
- 	* gimplify.c (gimplify_asm_expr): If the length of an output operand
- 	is zero, do not process it, just let it go through.
- 
- 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	    Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR/18662, also backported from tree-cleanup-branch.
- 	* tree-ssa-ccp.c (substitute_and_fold): If replaced anything,
- 	always call maybe_clean_eh_stmt and modify_stmt.
- 
- 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	PR/18664
- 	* tree-ssa-operands.c (build_ssa_operands, case MODIFY_EXPR):
- 	Ignore a VIEW_CONVERT_EXPR on LHS when deciding if must or may def.
- 	* tree-ssa-ccp.c (visit_assignment): If LHS is a VIEW_CONVERT_EXPR,
- 	add an inverse VIEW_CONVERT_EXPR to const_val.
- 
- 	PR/18657
- 	* tree-nested.c (check_for_nested_with_variably_modified): New.
- 	(create_nesting_tree): Call it.
- 
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escapes): Remove
- 	special code for assigning to non-pointer.
- 	(is_escape_site): If RHS is a conversion between pointer and integer
- 	types,	this is an escape site.
- 
- 	* gcse.c (insert_store): Error if try to insert store on abnormal edge.
- 	(store_motion): Don't move store if any edge we'd want to move it
- 	to is abnormal.
- 
- 	* expr.c (expand_expr_real_1, case ARRAY_REF): Properly fold with
- 	non-zero lower bound.
- 
- 	* expr.c (categorize_ctor_elements_1, case STRING_CST): New case.
- 
- 2004-11-28  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	PR diagnostic/17594
- 	* opts.c (find_opt): Require that the input match a switch exactly
- 	or that the switch take a joined option to be interpreted as a
- 	match for another language.
- 
- 2004-11-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* timevar.def (TV_TREE_REDPHI): New timevar.
- 	* tree-ssa.c (pass_redundant_phi): Use TV_TREE_REDPHI for the tv id.
- 
- 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR preprocessor/17651
- 	* c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
- 	flag_no_line_commands.
- 	* c-ppoutput.c (pp_file_change): Remove now-redundant check of
- 	flag_no_output.
- 
- 2004-11-28  Theodore A. Roth  <troth@openavr.org>
- 
- 	* config/avr/avr.c (avr_handle_fndecl_attribute): Generate a
- 	warning if the function name does not begin with "__vector" and the
- 	function has either the 'signal' or 'interrupt' attribute.
- 
- 2004-11-28  Theodore A. Roth  <troth@openavr.org>
- 
- 	* config/avr/avr.c (avr_mcu_types): Add entries for atmega48,
- 	atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165,
- 	atmega325, atmega3250, atmega645 and atmega6450.
- 	* config/avr/avr.h (LINK_SPEC): Ditto.
- 	(LIB_SPEC): Ditto.
- 	(LIBGCC_SPEC): Ditto.
- 	(CRT_BINUTILS_SPECS): Ditto.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Ditto.
- 
- 2004-11-28  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR preprocessor/17610
- 	* testsuite/gcc.dg/cpp/empty-include.c: New testcase.
- 
- 2004-11-28  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-alias.c (count_calls_and_maybe_create_global_var): New.
- 	(pass_maybe_create_global_var): New.
- 	* tree-pass.h (pass_maybe_create_global_var): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Link in
- 	pass_maybe_create_global_var.
- 
- 2004-11-28  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-inline.c (inline_forbidden_p_1, case RECORD_TYPE): Add comment.
- 
- 2004-11-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR rtl-optimization/18420
- 	* simplify-rtx.c (simplify_gen_subreg): Revert 2004-10-28 change.
- 
- 2004-11-28  Steven Bosscher  <stevenb@suse.de>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
- 	* config/vax/vax.md (casesi): Emit a test-and-branch to make sure
- 	that the case is in range, to make sure the casesi insn is always
- 	in range and never falls through.
- 	(casesi1): Add comment to explain why casesi never falls through.
- 	Remove the unnamed special case casesi pattern.
- 
- 2004-11-28  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR target/18331
- 	* config/mmix/mmix.md ("*movdicc_real_reversible"): Rename from
- 	"*movdicc_real".  Only match reversible comparisons.
- 	("*movdicc_real_nonreversible"): New pattern, split from
- 	"*movdicc_real".  Match only nonreversible comparisons.  Exclude
- 	reversed alternatives.
- 	("*movdfcc_real_reversible", "*movdfcc_real_nonreversible"):
- 	Similar.
- 
- 2004-11-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md: Move all define_predicate's ...
- 	* config/ia64/predicates.md: ... here.  New file.
- 
- 2004-11-27  Per Bothner  <per@bothner.com>
- 
- 	PR bootstrap/18142
- 	Re-applied following, with two modifications: add a URL for the
- 	fixed cctools; only exit if $build = $target.
- 
- 	2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
- 	* configure.ac (powerpc-*-darwin*): Require assembler to support
- 	.machine directive.
- 	* configure: Regenerate.
- 
- 2004-11-28  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/16800
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve accuracy of
- 	EQ, GTU, and LTU costs.  Add costs for GT, LT, and UNORDERED.
- 	Distinguish between SImode and DImode CONST_INT.
- 
- 2004-11-28  Andreas Fischer <a_fisch@gmx.de>
- 	    Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/16343
- 	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
- 	functions, strings and thread-local vars.
- 
- 2004-11-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (WORLD_SAVE_P): Define.
- 	* config/rs6000/darwin.h (WORLD_SAVE_P): Define.
- 	* config/rs6000/rs6000.c (compute_save_world_info): Use WORLD_SAVE_P
- 	to allow non-darwin ABIs to optimize away code.
- 	(rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
- 
- 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree.c (operand_equal_for_phi_arg_p): New.
- 	* tree.h: Add a prototype for operand_equal_for_phi_arg_p.
- 	* tree-cfg.c, tree-ssa-dom.c, tree-ssa-phiopt.c, tree-ssa.c:
- 	Replace operand_equal_p with operand_for_phi_arg_p
- 	appropriately.
- 
- 	* bb-reorder.c (find_traces_1_round): Speed up by using
- 	EDGE_COUNT instead of FOR_EACH_EDGE.
- 
- 	* fold-const.c, config/i386/linux64.h: Fix comment typos.
- 
- 2004-11-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR pch/14940
- 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Revert 2004-11-22 change.
- 
- 2004-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/linux.h: Fix a comment typo.
- 	* doc/extend.texi: Fix a typo.
- 
- 2004-11-27  Jeff Law  <law@redhat.com>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Also return true if blocks
- 	are merged.
- 
- 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/linux64.h (REG_NAME): Define.
- 
- 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
- 	unsigned and type signed, build ABS_EXPR with signed_type (ctype)
- 	and only afterwards convert to ctype.
- 
- 2004-11-27  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (function_arg_boundary): Declare.
- 	* config/mips/mips.h (PARM_BOUNDARY): Simplify definition.
- 	(STACK_BOUNDARY, MIPS_STACK_ALIGN): Likewise.
- 	(FUNCTION_ARG_BOUNDARY): Use new function_arg_boundary function.
- 	* config/mips/mips.c (function_arg_boundary): New function.
- 	Impose a maximum alignment of STACK_BOUNDARY.
- 
- 2004-11-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR rtl-optimization/17825
- 	* combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
- 	or not.
- 
- 2004-11-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/12769
- 	* config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
- 	from rs6000_default_long_calls for libcalls.
- 
- 2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expmed.c (extract_bit_field): When extracting from non-integer mode,
- 	force a SUBREG into a register because we may be taking a further
- 	SUBREG of it.
- 
- 2004-11-27  Di-an Jan  <dianj@freeshell.org>
- 
- 	* doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
- 
- 2004-11-26  Robert Millan  <robertmh@gnu.org>
- 
- 	Changes for k*bsd-gnu support.
- 	* config/i386/linux.h: Define REG_NAME to allow overriding of
- 	register names in sc structure.
- 	* config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
- 	of sc->reg.
- 	* config.gcc: Detect x86_64-k*bsd-gnu systems.
- 
- 2004-11-26  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): Don't
- 	retrieve annotations or pointer info before it's necessary.
- 	Reorder tests for early continue of the loop.  Manually CSE
- 	SSA_NAME_VAR.
- 
- 2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
- 	* target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
- 	(TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
- 	to a fixed reg if the source is the Return Address register.
- 	Implement new Rule 15.
- 	* doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
- 	* config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
- 	sparc_dwarf_handle_frame_unspec.
- 	(gen_save_register_window): New function.
- 	(emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
- 	(emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
- 	(expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
- 	Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
- 	(sparc_asm_function_prologue): Do not emit call frame debugging info.
- 	(emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
- 	(sparc_expand_epilogue): Likewise.
- 	(sparc_dwarf_handle_frame_unspec): New function.
- 	* config/sparc/sparc.md (save_register_window): Remove.
- 	(save_register_windowdi): Rewrite modelled on the callframe debug info.
- 	(save_register_windowsi): Likewise.
- 
- 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv-protos.h: Guard ifcvt functions declarations with
- 	BB_HEAD, not BLOCK_HEAD.
- 
- 2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
- 	scratch insns that set a register live at the join point.
- 
- 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cse.c, tree-ssa-operands.c: Fix comment typos.
- 
- 	* tree-cfg.c (tree_split_edge): Speed up by using find_edge.
- 
- 2004-11-26  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR target/18510
- 	* doc/extend.texi (SPARC VIS Built-in Functions): New section.
- 
- 2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
- 	check that tests if all edges go to the same destination.
- 
- 	* bitmap.c (bitmap_find_bit): Speed up by traversing from
- 	head->first if that seems profitable.
- 
- 2004-11-25  Jeff Law  <law@redhat.com>
- 
- 	* timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
- 	* tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
- 	(pass_loop_done): Use TV_TREE_LOOP_FINI.
- 
- 2004-11-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR rtl-optimization/16356
- 	* config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
- 	separate output register and one less jump.  Enable for powerpc64.
- 	(floatdisf2): Adjust for above.
- 
- 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
- 	(GCC_DRIVER_HOST_INITIALIZATION): Define.
- 
- 2004-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17957
- 	* tree-complex.c (vector_inner_type): New variable moved from
- 	build_word_mode_vector_type.
- 	(vector_last_type): Likewise.
- 	(vector_last_nunits): Likewise.
- 	(build_word_mode_vector_type): Use the new variables.
- 	* Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
- 	(GTFILES): Add tree-complex.c.
- 	(gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
- 
- 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
- 	__XTENSA_WINDOWED_ABI__.
- 
- 2004-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument.  Save
- 	args_size adjustments for calls even with cfa as stack pointer.
- 	Search calls for stack adjustments after the insn is issued.
- 	(dwarf2out_frame_debug): Add after_p argument; pass it on.
- 	* dwarf2out.h (dwarf2out_frame_debug): Update to match.
- 	* final.c (final_start_function, final_scan_insn): Likewise.
- 
- 2004-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/6764
- 	* reload1.c (set_initial_eh_label_offset): New.
- 	(set_initial_label_offsets): Use it.
- 
- 2004-11-25  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
- 	before calling life_analysis and release them after.
- 
- 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-forwprop.c (substitute_single_use_vars): Remove
- 	duplicate code.
- 
- 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
- 	BITMAP_OBSTACK_ALLOC.
- 	(BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
- 
- 2004-11-25  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	parts of PR rtl-opt/18463, rtl-opt/17647
- 	* cse.c (canon_for_address): New function.
- 	(find_best_addr): Call canon_for_address before getting the
- 	address's cost when checking if we should take that address.
- 
- 2004-11-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (add_phi_arg): Take "tree" instead of
- 	"tree *" as the first argument.
- 	* tree-flow.h: Update the prototype of add_phi_arg.
- 	* lambda-code.c, tree-cfg.c, tree-into-ssa.c,
- 	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
- 	tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
- 	tree-vectorizer.c: Update all call sites of add_phi_arg.
- 
- 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
- 	* bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
- 	(BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
- 	(BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
- 
- 2004-11-25  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	PR tree-optimization/18587
- 	* tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
- 	call clobbered caches as invalid.
- 	* tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
- 	indicating whether the call clobbered operand cache is valid.
- 	(ssa_ro_call_cache_valid): New.  Flag indicating whether the
- 	pure/const call operand cache is valid.
- 	(clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached
- 	list of operands for cached call virtual operands.
- 	(clobbered_aliased_loads, clobbered_aliased_stores,
- 	ro_call_aliased_load): New.  flags caching whether alias bits are
- 	to be set in call stmt's.
- 	(fini_ssa_operands): Remove call operand caches if present.
- 	(get_expr_operands, get_asm_expr_operands,
- 	get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
- 	(get_call_expr_operands): Add call clobbered variables first.
- 	(add_stmt_operand): Take stmt annotation rather than stmt as a param.
- 	(add_call_clobber_ops, add_call_read_ops): Use the call operand cache
- 	if it is valid, otherise fill the cache.
- 	* tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
- 	* tree-flow.h (struct var_ann_d): Add in_vuse_list and
- 	in_v_may_def_list bits.
- 	* tree-ssa-operands.c (cleanup_v_may_defs): New.  Clear the
- 	in_list bits for the v_may_def elements and empty the operand
- 	build array
- 	(finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
- 	VUSES by checking the in_v_may_def_list bit.
- 	(append_v_may_def, append_vuse): Use the in_list bit rather than
- 	scanning the array for duplicates.
- 
- 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
- 	displacements are not short.
- 
- 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimize_pic_address): Use s390_load_address
- 	to load addresses.
- 
- 2004-11-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/18001
- 	* c-common.h (lvalue_use): Move here from c-ctypeck.c.
- 	(lvalue_or_else): Declare.
- 	* c-common.c (lvalue_or_else): Move here from c-typeck.c.
- 	* c-typeck.c (lvalue_use): Remove.
- 	(lvalue_or_else): Remove.
- 
- 	PR c++/18556
- 	* toplev.c (check_global_declarations): Set DECL_IGNORED_P on
- 	unemitted variables with static storage duration.
- 
- 2004-11-25  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* tree-cfg.c (tree_verify_flow_info): Do not terminate error()
- 	message with \n.
- 
- 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/rs6000/altivec.md (VIshort): New mode macro.
- 	(altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
- 	with ...
- 	(altivec_vaddu<VI_char>s): ... this.
- 	(altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
- 	with ...
- 	(altivec_vadds<VI_char>s): ... this.
- 	(altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
- 	with ...
- 	(altivec_vsubu<VI_char>s): ... this.
- 	(altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
- 	with ...
- 	(altivec_vsubs<VI_char>s): ... this.
- 	(altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
- 	with ...
- 	(altivec_vavgu<VI_char>): ... this.
- 	(altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
- 	with ...
- 	(altivec_vavgs<VI_char>): ... this.
- 	(altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
- 	(altivec_vmsumu<VI_char>m): ... this.
- 	(altivec_vmsummbm, altivec_vmsummhm): Replace
- 	with ...
- 	(altivec_vmsumm<VI_char>m): ... this.
- 	(altivec_vandc): Remove.
- 	(*andc<mode>3): Renamed to ...
- 	(andc<mode>3): ... here. Swap operand 1 and 2 numbering.
- 	(altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
- 	with ...
- 	(altivec_vrl<VI_char>): ... this.
- 	(altivec_vslb, altivec_vslh, altivec_vslw): Replace
- 	with ...
- 	(altivec_vsl<VI_char>): ... this.
- 	(altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
- 	with ...
- 	(altivec_vsr<VI_char>): ... this.
- 	(altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
- 	with ...
- 	(altivec_vsra<VI_char>): ... this.
- 	(altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
- 	(altivec_vsum4s<VI_char>s): ... this.
- 	(altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
- 	with ...
- 	(altivec_vperm_<mode>): ... this.
- 	(altivec_vsel_4sf): Rename to ...
- 	(altivec_vsel_v4sf): ... here.
- 	(altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
- 	with ...
- 	(altivec_vsel_<mode>): ... this.
- 	(altivec_vsldoi_4si, altivec_vsldoi_8hi,
- 	altivec_vsldoi_16qi): Rename to ...
- 	(altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
- 	altivec_vsldoi_v16qi): ... here.
- 	(altivec_vsldoi_4sf): Rename to ...
- 	(altivec_vsldoi_v4sf): ... here.
- 	(altivec_predicate_v4si, altivec_predicate_v8hi,
- 	altivec_predicate_v16qi): Replace with ...
- 	(altivec_predicate_<mode>): ... this.
- 	(altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
- 	with ...
- 	(altivec_lve<VI_char>x): ... this.
- 	(altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
- 	with ...
- 	(altivec_stve<VI_char>x): ... this.
- 	(absv16qi2, absv8hi2, absv4si2): Replace
- 	with ...
- 	(abs<mode>2): ... this.
- 	(altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
- 	with ...
- 	(altivec_abss_<mode>): ... this.
- 	(vec_realign_load_v16qi, vec_realign_load_v8hi,
- 	vec_realign_load_v4si): Replace with ...
- 	(vec_realign_load_<mode>): ... this.
- 	* config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
- 	insn names.
- 	(rs6000_expand_ternop_builtin): Likewise.
- 
- 2004-11-25  Andrew Haley  <aph@redhat.com>
- 
- 	* gcc.c (process_command): Don't supply -v to linker.
- 
- 2004-11-25  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
- 	instead of `%s' in diagnostic.
- 
- 2004-11-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
- 	(FREE_REG_SET): Adjust.
- 	* bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
- 	* bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
- 	(BITMAP_ALLOC): ... here.
- 	(BITMAP_OBSTACK_FREE): Rename to ...
- 	(BITMAP_FREE): Don't check for NULL bitmap here.
- 	* tree-ssa-pre.c (value_insert_into_set_bitmap,
- 	bitmap_set_new): Use new names.
- 
- 	* bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
- 	* df.c (df_free): Likewise.
- 	* ra-build.c (ra_build_free, ra_build_free_all): Likewise.
- 	* tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
- 
- 	* basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
- 	(ALLOC_REG_SET): ... here.
- 	(FREE_REG_SET): Adjust.
- 	(XMALLOC_REG_SET, XFREE_REG_SET): Remove.
- 	* bb-reorder.c (fix_crossing_conditional_branches): Adjust.
- 	* cfglayout.c (cfg_layout_duplicate_bb): Adjust.
- 	* cfgrtl.c (rtl_split_block, rtl_split_edge,
- 	safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
- 	* flow.c (update_life_info, calculate_global_regs_live,
- 	allocate_bb_life_data, init_propagate_block_info): Adjust.
- 	* global.c (build_insn_chain): Adjust.
- 	* ifcvt.c (dead_or_predicable): Adjust.
- 	* loop-iv.c (simplify_using_initial_values): Adjust.
- 	* recog.c (peephole2_optimize): Adjust.
- 	* sched-deps.c (init_deps_global): Adjust.
- 
- 2004-11-25  Ralf Corsepius <ralf.corsepius@rtems.org>
- 
- 	* config.gcc (avr-*-rtems*): Fix typo.
- 
- 2004-11-25  J"orn Rennecke <joern.rennecke@st.com>
- 
- 	* sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
- 
- 2004-11-24  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
- 	the number of queries to random elements in the ai->written_vars
- 	bitmap.
- 
- 2004-11-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (override_options): Disable x87 fancy math
- 	intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
- 
- 2004-11-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
- 	system header conflict on AIX 5.2.
- 	* configure: Regenerate.
- 
- 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
- 	instead of calling phi_arg_from_edge.
- 
- 	* tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
- 	with e->dest_idx.
- 
- 2004-11-24  Ben Elliston  <bje@au.ibm.com>
- 
- 	* config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
- 	* config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
- 	* config/i386/i386-protos.h (i386_dwarf_output_addr_const):
- 	Likewise.
- 
- 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
- 
- 	* tree-inline.c (copy_body_r): Explicitly copy a constant if the
- 	type will be remapped.
- 
- 2004-11-24  Steven Bosscher  <stevenb@suse.de>
- 
- 	* c-opts.c (c_common_post_options): Don't clear
- 	flag_inline_functions.
- 	* dojump.c (clear_pending_stack_adjust): Remove check on
- 	flag_inline_functions, it's always true.
- 	* config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
- 	that can never trigger.
- 	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
- 	flag_inline_trees, now that flag_inline_functions is never
- 	cleared.
- 	* config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
- 	flag_inline_functions at optimization levels greater than
- 	or equal to 3.  This is already done by default.
- 
- 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
- 	instead to find the PHI argument.  Do not take I as an
- 	argument.
- 	(eliminate_phi): Adjust the call to eliminate_build.  Do not
- 	take I as an argument.
- 	(rewrite_trees): Adjust the call to eliminate_phi.
- 
- 2004-11-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* optabs.h (force_expand_binop): Declare.
- 	* optabs.c (force_expand_binop): Export.
- 	* stmt.c (shift_return_value): Delete.
- 	(expand_return): Don't call it.
- 	* expr.h (shift_return_value): Declare.
- 	* calls.c (shift_returned_value): Delete in favor of...
- 	(shift_return_value): ...this new function.  Leave the caller to check
- 	for non-BLKmode values passed in the msb of a register.  Take said mode
- 	and a shift direction as argument.  Operate on the hard function value,
- 	not a pseudo.
- 	(expand_call): Adjust accordingly.
- 	* function.c (expand_function_start): If a non-BLKmode return value
- 	is padded at the last significant end of the return register, use the
- 	return value's natural mode for the DECL_RESULT, not the mode of the
- 	padded register.
- 	(expand_function_end): Shift the same sort of return values left by
- 	the appropriate amount.
- 
- 2004-11-24  Matt Austern  <austern@apple.com>
- 
- 	* recog.c (recog_memoized_1): Remove.
- 	* recog.h (recog_memoized_1): Remove declaration.
- 	(recog_memoized): Change from macro to inline function.
- 
- 2004-11-24  Devang Patel  <dpatel@apple.com>
- 
- 	PR/18555
- 	* gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
- 	* config/darwin-c.c (darwin_register_frameworks): Use sysroot.
- 
- 2004-11-24  Devang Patel  <dpatel@apple.com>
- 
- 	* gcc.c (process_command): Supply -v to linker.
- 
- 2004-11-24  David Edelsohn  <edelsohn@gnu.org>
- 	    Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
- 	vector modes without ALTIVEC_ABI.  Use GCC vector instead of
- 	synthetic vector.
- 	(rs6000_pass_by_reference): Split conditional into pieces.  Use
- 	GCC vector instead of synthetic vector.
- 
- 2004-11-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* tree.c (recompute_tree_invarant_for_addr_expr): The address of a
- 	thread-local variable is invariant.
- 
- 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
- 	Handle TYPE_REF_CAN_ALIAS_ALL.
- 	(print_declaration): Print array dimensions like dump_generic_node.
- 
- 	* fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
- 	ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
- 
- 2004-11-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.c (INLINE): Do not define.
- 	(bitmap_elem_to_freelist, bitmap_element_free,
- 	bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
- 	bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
- 
- 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
- 	find the index of a PHI argument.  Use e->dest_idx instead.
- 	Replace hint with index.
- 
- 	* tree-ssa-dom.c (cprop_into_successor_phis): Replace index
- 	with indx.
- 
- 2004-11-24  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (merge_pointed_to_info): Fix comment
- 	regarding PT_MALLOC.
- 
- 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
- 
- 	* config/i386/i386.c (optimization_options): Use
- 	SUBTARGET_OPTIMIZATION_OPTIONS.
- 	* config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
- 	(TARGET_SUBTARGET_DEFAULT): Don't include
- 	MASK_OMIT_LEAF_FRAME_POINTER.
- 
- 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
- 	Define to false.
- 
- 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
- 
- 	* config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
- 	Use amd64 instead of 64.
- 
- 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
- 	    Joseph Myers  <joseph@codesourcery.com>
- 
- 	* crtstuff.c (IN_LIBGCC2): Define it.
- 	(EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
- 	instead of HAVE_LD_RO_RW_SECTION_MIXING.
- 	* defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
- 	* dwarf2out.c (named_section_eh_frame_section): Check
- 	EH_TABLES_CAN_BE_READ_ONLY.
- 	* except.c (default_exception_section): Likewise.
- 	* config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
- 	* doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
- 
- 2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-pre.c (phi_translate): Use find_edge to find the
- 	index of a PHI argument.
- 
- 	* tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use
- 	find_edge to find the index of a PHI argument.
- 
- 2004-11-24  Steven Bosscher  <stevenb@suse.de>
- 
- 	* expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
- 	and LABELED_BLOCK_EXPR.
- 	* gimplify.c (gimplify_labeled_block_expr): Remove.
- 	(gimplify_exit_block_expr): Remove.
- 	(gimplify_expr): Don't call them.
- 	* tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
- 	and LABELED_BLOCK_EXPR.
- 	(estimate_num_insns_1): Likewise.
- 	(walk_tree): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Don't handle
- 	EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
- 	* tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
- 	(LABELED_BLOCK_EXPR): Likewise.
- 	* tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
- 	(LABELED_BLOCK_BODY): Likewise.
- 	(EXIT_BLOCK_LABELED_BLOCK): Likewise.
- 	(EXIT_BLOCK_RETURN): Removed.
- 
- 2004-11-24  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgrtl.c (rtl_delete_block): Fix comment.
- 	* emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG
- 	or BLOCK_END insn notes.
- 	* jump.c (squeeze_notes): Likewise.
- 	* haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and
- 	EH_REGION_END notes, we never have them to begin with.
- 	* sched-deps.c (sched_analyze_insn): When updating loop notes,
- 	verify that we have indeed only recorded loop notes.
- 	(sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes.
- 	Only record loop notes.
- 
- 	* cfgexpand.c (tree_expand_cfg): Fix comment.
- 
- 	* passes.c (rest_of_compilation): Don't do a second call to
- 	convert_from_eh_region_ranges from here, it's already called
- 	from cfgexpand.c.
- 	* except.c (resolve_fixup_regions): Remove.
- 	(remove_fixup_regions): Remove.
- 	(convert_from_eh_region_ranges_1): Remove.
- 	(convert_from_eh_region_ranges): Remove the case where EH is
- 	not already lowered at the tree level.  We always lower there.
- 
- 2004-11-24  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR c++/16882
- 	* tree.c (make_vector_type): Move qualifiers to the vector type,
- 	use the inner type's main variant and build a main variant for
- 	the vector type if necessary.
- 	(type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS.
- 
- 2004-11-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* target.h (late_rtl_prologue_epilogue): Remove.
- 	* target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
- 	* system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
- 	* passes.c (rest_of_handle_prologue_epilogue): Remove and move
- 	remaining bits to...
- 	(rest_of_handle_flow2): ...here.
- 	(rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
- 	* doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
- 
- 2004-11-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* hwint.h (HOST_LONG_LONG_FORMAT): New macro.  Use it throughout.
- 	* config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
- 	* doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
- 
- 2004-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
- 
- 	* config/i386/i386.c (override_options): Move
- 	SUBTARGET_OVERRIDE_OPTIONS before defaulting
- 	flag_omit_frame_pointer.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (validate_subreg): Declare.
- 	* emit-rtl.c (validate_subreg): New.
- 	(gen_rtx_SUBREG): Use it.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	(simplify_gen_subreg): Likewise.  Remove duplicate asserts.
- 	* expr.c (emit_move_insn_1): Tidy complex move code.  Use memory
- 	fallback whenever gen_realpart/gen_imagpart would not be able to
- 	create SUBREGs.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (extract_bit_field): Use simplify_gen_subreg instead of
- 	hard-coding avoiding calls to gen_rtx_SUBREG.  Split complex return
- 	modes to CONCAT.
- 
- 2004-11-23  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/18618
- 	* tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare.
- 	(insert_phi_nodes_for): Change third argument to VEC(basic_block).
- 	* tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap).
- 	Update all users.
- 	(stmts_to_rescan): Likewise.
- 	(const_and_copies_stack): Likewise.
- 	(nonzero_vars_stack): Likewise.
- 	(vrp_variables_stack): Likewise.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (record_jump_cond_subreg): New.
- 	(record_jump_cond): Use it instead of gen_lowpart.
- 
- 2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
- 	    Joseph Myers  <joseph@codesourcery.com>
- 
- 	* config/sol2-c.c (solaris_register_pragmas): Use
- 	c_register_pragma_with_expansion.
- 	* config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
- 	* c-pragma.c (c_register_pragma): Update call to
- 	cpp_register_pragma.
- 	(c_register_pragma_with_expansion): New function.
- 	(init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
- 	* c-pragma.h (c_register_pragma_with_expansion): New prototype.
- 	* doc/extend.texi (Solaris Pragmas): Mention macro expansion for
- 	#pragma align.
- 	* doc/tm.texi (c_register_pragma_with_expansion,
- 	HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (gen_lowpart_for_combine): Factor out mode of x as well
- 	as mode sizes into local temporaries.  Unify failure path.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
- 	* caller-save.c (mark_set_regs): Use subreg_regno instead.
- 	* final.c (alter_subreg): Likewise.
- 	* local-alloc.c (reg_is_born): Likewise.
- 
- 2004-11-23  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
- 	instead of using a SUBREG temporary.
- 
- 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
- 	two checks.
- 
- 2004-11-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* function.h (struct function): Remove calls_longjmp.
- 	(current_function_calls_longjmp): Delete.
- 	* tree.h (ECF_LONGJMP): Delete.
- 	(ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
- 	(ECF_LIBCALL_BLOCK): Everybody slide down one.
- 	(ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
- 	* builtins.c (expand_builtin_longjmp): Don't set
- 	current_function_calls_longjmp.
- 	* calls.c (special_function_p): Mark longjmp and siglongjmp
- 	with ECF_NORETURN, not ECF_LONGJMP.
- 	(emit_call_1, expand_call, emit_library_call_value_1):
- 	Don't check for ECF_LONGJMP.
- 	* tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
- 	(need_fake_edge_p): Likewise.
- 
- 	* config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
- 	* system.h: Poison NON_SAVING_SETJMP.
- 	* function.c (use_register_for_decl)
- 	* gcse.c (compute_hash_table_work, compute_store_table)
- 	* postreload-gcse.c (record_opr_changes)
- 	* reload.c (find_equiv_reg)
- 	* reload1.c (reload)
- 	* config/i386/i386.c (ix86_can_use_return_insn_p):
- 	Remove code conditional on NON_SAVING_SETJMP.
- 	* doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
- 
- 	* config/i386/sysv3.h: Delete file.
- 	* config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
- 
- 2004-11-23  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_analyze_operations): Don't vectorize if
- 	the vectorization factor is greater than the iteration count.
- 	(vect_gen_niters_for_prolog_loop): No need to calculate min if the
- 	iteration count is known.
- 
- 	(vect_build_symbol_bound): Removed. Its functionality moved to
- 	vect_generate_tmps_on_preheader.
- 	(vect_generate_tmps_on_preheader): Moved content of
- 	vect_build_symbol_bound here instead of calling it.  Changed some
- 	variables names.
- 
- 	(vect_build_loop_niters): We don't expect a new_bb to be generated -
- 	use gcc_assert.
- 	(vect_gen_niters_for_prolog_loop): Likewise.
- 	(vect_gen_niters_for_prolog_loo): Likewise.
- 
- 	(slpeel_make_loop_iterate_ntimes): Use buildN instead of build.
- 	(slpeel_add_loop_guard): Likewise.
- 	(slpeel_tree_peel_loop_to_edge): Likewise.
- 	(vect_do_peeling_for_alignment): Likewise.
- 
- 	(vect_get_first_index): Missing space.
- 
- 2004-11-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*iordi3"): Mark commutative.
- 	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
- 
- 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinode.c (resize_phi_node): Abort when LEN is strictly
- 	greater than PHI_ARG_CAPACITY.
- 	(reserve_phi_args_for_new_edge): Initialize the new PHI
- 	argument to NULL_TREE.  Increment PHI_NUM_ARGS.
- 	(add_phi_arg): Add a PHI argument to the slot given by
- 	E->dest_idx.
- 	(remove_phi_arg_num): Do not write to PHI_ARG_EDGE.
- 	* tree-flow-inline (phi_arg_from_edge): Return E->dest_idx.
- 	* tree-ssa.c (ssa_redirect_edge): Check for a missing PHI
- 	argument by looking at PHI_ARG_DEF.
- 	(verify_phi_args): Check for a missing PHI argument.  Remove
- 	the check for duplicate PHI arguments.
- 	* tree.h (PHI_ARG_EDGE): Redefine in terms of EDGE_PRED.
- 	(phi_arg_d): Remove e.
- 
- 	* tree-cfg.c (tree_try_redirect_by_replacing_jump): Speed up
- 	by restricting to the case with two outgoing edges.
- 
- 2004-11-23  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_backchain_string): Removed.
- 	(s390_return_addr_rtx, s390_back_chain_rtx, s390_frame_info)
- 	(s390_emit_prologue, s390_va_start, s390_gimplify_va_arg):
- 	Changed users of TARGET_BACKCHAIN, TARGET_NO_BACKCHAIN and
- 	TARGET_KERNEL_BACKCHAIN to reflect the new options.
- 	* config/s390/s390.h (MASK_BACKCHAIN, MASK_PACKED_STACK): New macros.
- 	(TARGET_KERNEL_BACKCHAIN): Removed.
- 	(TARGET_BACKCHAIN): Former triple state option change to a target flag.
- 	(TARGET_PACKED_STACK): New macro.
- 	(TARGET_SWITCHES): New switches added.
- 	(TARGET_OPTIONS): "backchain", "no-backchain" and "kernel-backchain"
- 	removed.
- 	(DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK.
- 	* config/s390/s390.md ("allocate_stack", "restore_stack_block")
- 	("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect
- 	the change in target switch semantics.
- 	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed.
- 	(TARGET_DEFAULT): MASK_BACKCHAIN added.
- 	* doc/invoke.texi: Added documentation for the new/changed options.
- 
- 2004-11-23  Uros Bizjak  <uros@kss-loka.si>
- 
- 	PR rtl-optimization/18614
- 	* simplify-rtx.c (simplify_binary_operation): Do not
- 	simplify inner elements of constant arguments of
- 	VEC_CONCAT insn.
- 
- 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* gthr-solaris.h (__gthread_recursive_mutex_init_function): Use
- 	0 instead of NULL.
- 
- 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinode.c (make_phi_node): Use a new variable,
- 	capacity, to receive the return value of ideal_phi_node_len.
- 
- 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* gthr-solaris.h (__gthread_recursive_mutex_t): New type.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Define to
- 	__gthread_recursive_mutex_init_function.
- 	(__gthread_key_create): Properly cast -1.
- 	(__gthread_recursive_mutex_init_function): New function.
- 	(__gthread_recursive_mutex_lock): Rewrite.
- 	(__gthread_recursive_mutex_trylock): Likewise.
- 	(__gthread_recursive_mutex_unlock): Likewise.
- 
- 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
- 
- 	* config/c4x/t-rtems: New.
- 	* config.gcc: Reflect having added c4x/t-rtems.
- 
- 2004-11-23  Dorit Naishlos <dorit@il.ibm.com>
- 
- 	PR tree-opt/18403
- 	PR tree-opt/18505
- 	* tree-vectorizer.c (vect_create_data_ref_ptr): Use
- 	lang_hooks.types.type_for_size instead of integer_type_node for the
- 	type of ptr_update.
- 
- 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
- 
- 	* config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
- 
- 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
- 
- 	* config/arm/t-rtems: New.
- 	* config.gcc: Reflect having added arm/t-rtems.
- 
- 2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (tree_execute_on_growing_pred): New.
- 	(tree_cfg_hooks): Add tree_execute_on_growing_pred.
- 	* tree-flow.h: Add a prototype for
- 	reserve_phi_args_for_new_edge.
- 	* tree-phinodes.c (reserve_phi_args_for_new_edge): New.
- 	(add_phi_arg): Don't resize a PHI array.
- 
- 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
- 
- 	* config.gcc: Add avr-*-rtems*.
- 	* config/avr/t-rtems: New.
- 	* config/avr/rtems.h: New.
- 
- 2004-11-22  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* df.c (dataflow_set_a_op_b): Remove reslt parameter, since it's
- 	always the same as op1.  Use bitmap_ior_into and bitmap_and_into.
- 	Add comment to function.
- 
- 2004-11-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR pch/14940
- 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __hppa__.
- 
- 	PR rtl-optimization/14838
- 	* emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
- 	note.
- 	(get_last_nonnote_insn): Don't assume last insn is a note.
- 
- 2004-11-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (nondestructive_fold_binary_to_constant): Rename
- 	to fold_binary_to_constant.
- 	(nondestructive_fold_unary_to_constant): Likewise, rename to
- 	fold_unary_to_constant.
- 	(fold_relational_hi_lo): Update call to fold_binary_to_constant.
- 	* tree.h (nondestructive_fold_binary_to_constant): Update prototype.
- 	(nondestructive_fold_unary_to_constant): Likewise.
- 	* tree-ssa-ccp.c (ccp_fold): Update calls to fold_unary_to_constant
- 	and fold_binary_to_constant.
- 	* tree-ssa-loop-niter.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
- 	(inverse, number_of_iterations_cond): Replace uses of EXEC_BINARY
- 	and EXEC_UNARY with calls to fold_*nary_to_constant.
- 	* tree-ssa-loop-ivopts.c (EXEC_BINARY, EXEC_UNARY): Delete macros.
- 	(idx_find_step): Replace uses of EXEC_BINARY with calls to
- 	fold_binary_to_constant.
- 
- 2004-11-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
- 	initialisation of 'e'.
- 
- 2004-11-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro.
- 	* config/i386/i386.c (override_options):  Set MASK_NO_FANCY_MATH_387
- 	automatically for targets without TARGET_80387.
- 	* config/i386/i386.md (sqrtsf2, sqrtsf2_1, sqrtsf2_i387, sqrtdf2,
- 	sqrtdf2_1, sqrtdf2_i387, *sqrtextendsfdf2, sqrtxf2,
- 	*sqrtextenddfxf2, *sqrtextendsfxf2, fpremxf4, fmodsf3, fmoddf3,
- 	fmodxf3, fprem1xf4, dremsf3, dremdf3, dremxf3, *sindf2, *sinsf2,
- 	*sinextendsfdf2, *sinxf2, *cosdf2, *cossf2, *cosextendsfdf2,
- 	*cosxf2, sincosdf3, sincossf3, *sincosextendsfdf3, sincosxf3,
- 	*tandf3_1, tandf2, *tansf3_1, tansf2, *tanxf3_1, tanxf2,
- 	atan2df3_1, atan2df3, atandf2, atan2sf3_1, atan2sf3, atansf2,
- 	atan2xf3_1, atan2xf3, atanxf2, asindf2, asinsf2, asinxf2,
- 	acosdf2, acossf2, acosxf2, fyl2x_xf3, logsf2, logdf2, logxf2,
- 	log10sf2, log10df2, log10xf2, log2sf2, log2df2, log2xf2,
- 	fyl2xp1_xf3, log1psf2, log1pdf2, log1pxf2, *fxtractxf3, logbsf2,
- 	logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2,
- 	expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2,
- 	exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2,
- 	rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2,
- 	floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2,
- 	frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2,
- 	frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2):
- 	Simplify conditionals using TARGET_USE_FANCY_MATH_387.
- 
- 2004-11-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION):  Conditionalize
- 	properly and comment.
- 
- 2004-11-22  James A. Morrison  <phython@gcc.gnu.org
- 
- 	* config/sparc/sparc.c: Include insn-codes.h and langhooks.h.
- 	(sparc_init_builtins): New function.
- 	(sparc_init_vis_builtins): Create builtin functions for VIS
- 	instructions.
- 	(sparc_expand_builtin): Expand builtin functions for VIS instructions.
- 	(TARGET_INIT_BUILTINS): Define to sparc_init_builtins.
- 	(TARGET_EXPAND_BUILTIN): Define to sparc_expand_builtin.
- 	(def_builtin): New macro for creating builtin functions.
- 	* config/sparc/sparc.md (P): New mode macro for pointer types.
- 	(UNSPEC_FPACK16, UNSPEC_FPACK32, UNSPEC_FPACKFIX, UNSPEC_FEXPAND,
- 	UNSPEC_FPMERGE, UNSPEC_MUL16AL, UNSPEC_MUL8UL, UNSPEC_MULDUL,
- 	UNSPEC_ALIGNDATA, UNSPEC_ALIGNADDR, UNSPEC_PDIST): New constants.
- 	(fpack16_vis, fpackfix_vis, fpack32_vis, fexpand_vis, fpmerge_vis,
- 	fmul8x16_vis, fmul8x16au_vis, fmul8x16al_vis, fmul8sux16_vis,
- 	fmul8ulx16_vis, fmuld8sux16_vis, fmuld8ulx16_vis, pdist_vis,
- 	faligndata<V64:mode>_vis, alignaddr<P:mode>_vis): New patterns.
- 
- 2004-11-22  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (clean_predicate_lists): Clean all basic blocks.
- 
- 2004-11-22  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (if_convertable_phi_p): Rename to ...
- 	(if_convertible_phi_p): ... new name.
- 	(if_convertable_modify_expr_p): Rename to ...
- 	(if_convertible_modify_expr_p): ... new name.
- 	(if_convertable_stmt_p): Rename to ...
- 	(if_convertible_stmt_p): ... new name.
- 	(if_convertable_bb_p): Rename to ...
- 	(if_convertible_bb_p): ... new name.
- 	(if_convertable_loop_p): Rename to ...
- 	(if_convertible_loop_p): ... new name.
- 
- 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/18444
- 	* configure.ac (threading): Accept 'posix95'.
- 	* configure: Regenerate.
- 	* config.gcc (i[34567]86-*-solaris2*): On Solaris up to 2.6,
- 	include sol26.h and default to posix95 threads if have_pthread_h.
- 	(sparc-*-solaris2*): Likewise.
- 	* gthr.h: Include gthr-posix95.h if _PTHREADS95 is defined.
- 	* gthr-posix95.h: New file.
- 	* config/sol26.h: New file.
- 	* doc/install.texi (--enable-threads): Document 'posix95'.
- 
- 2004-11-23  Ben Elliston  <bje@au.ibm.com>
- 
- 	* pointer-set.h (pointer_set_contains): Remove.
- 	* pointer-set.c (pointer_set_contains): Likewise.
- 
- 2004-11-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* calls.c (expand_call): Do not call preserve_temp_slots.
- 
- 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-flow.h: Remove the prototype for remove_phi_arg.
- 	Add a prototype for remove_phi_args.
- 	* tree-phinodes.c (remove_phi_arg): Remove.
- 	(remove_phi_args): New.
- 	* tree-ssa.c (ssa_remove_edge): Call remove_phi_args instead
- 	of remove_phi_arg.
- 
- 	* cfg.c (unchecked_make_edge): Call execute_on_growing_pred
- 	after making an edge.
- 	(remove_edge): Call execute_on_shrinking_pred before removing
- 	an edge.
- 	(redirect_edge_succ): Call execute_on_growing_pred and
- 	execute_on_shrinking_pred.
- 	* cfghooks.c (execute_on_growing_pred): New.
- 	(execute_on_shrinking_pred): Likewise.
- 	* cfghooks.h (cfg_hooks): Add execute_on_growing_pred and
- 	execute_on_shrinking_pred.
- 	Add prototypes for execute_on_growing_pred and
- 	execute_on_shrinking_pred.
- 	* cfgrtl.c (rtl_cfg_hooks): Add NULL hooks to
- 	execute_on_growing_pred and execute_on_shrinking_pred.
- 	(cfg_layout_rtl_cfg_hook): Likewise.
- 	* tree-cfg.c (tree_cfg_hooks): Likewise.
- 
- 	* tree-cfg.c (tree_execute_on_shrinking_pred): New.
- 	(tree_cfg_hooks): Use it.
- 	* tree-ssa.c (ssa_remove_edge): Don't call remove_phi_args.
- 	(ssa_redirect_edge): Don't call remove_phi_arg_num.
- 
- 	* tree-phinodes.c (remove_phi_arg_num): Make it static.
- 	* tree-flow.h: Remove the corresponding prototype.
- 
- 	* tree-ssa.c (ssa_remove_edge): Remove.
- 	* tree-flow.h: Remove the corresponding prototype.
- 	* tree-cfg.c: Replace ssa_remove_edge with remove_edge.
- 	* basic-block.h: Likewise.
- 	* tree-if-conv.c: Likewise.
- 	* tree-ssa-threadupdate.c: Likewise.
- 
- 2004-11-23  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/cfg.texi (Maintaining the CFG): Use @ftable instead of
- 	@table to list the BSI methods.  Use individual @findex directives
- 	instead of one with a comma-separated list of index entries.
- 
- 2004-11-22  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/18529
- 	* fold-const.c (fold_to_nonsharp_ineq_using_bound): New function.
- 	(simple_operand_p): Use STRIP_NOPS.  Consider SSA names simple.
- 	(fold): Call fold_to_nonsharp_ineq_using_bound.
- 	* tree-ssa-loop-niter.c (simplify_replace_tree): New function.
- 	(number_of_iterations_cond): Fold the expressions before futher
- 	processing.
- 	(tree_simplify_using_condition): Handle case when cond or expr is
- 	an EQ_EXPR specially.
- 
- 2004-11-22 Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
- 	SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes.
- 
- 2004-11-22  David Edelsohn  <edelsohn@gnu.org>
- 	    Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Test
- 	TARGET_ALTIVEC_ABI.
- 	(function_arg_boundary): Align 8 to 16 byte vectors like SPE.
- 	Align 16 byte and larger vectors like Altivec.
- 	(function_arg_advance): Pass any 16 byte vector like Altivec vector.
- 	(function_arg): Same.
- 	(rs6000_pass_by_references): Test TARGET_ALTIVEC_ABI.
- 
- 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18572
- 	* tree-sra.c (scalarize_init): Unshare the rhs before gimplifying
- 	it.
- 
- 2004-11-22  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (assign_parm_setup_block): Revert 11-13 change to
- 	forcably re-mode a (possibly BLKmode) hard register.
- 
- 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (mem_min_alignment): Check MEM_ALIGN.
- 
- 2004-11-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md: Remove delay between dispatch and issue
- 	associated with dispatch group slots 3 and 4.
- 	* config/rs6000/power5.md: Same.
- 
- 2004-11-21  Jeff Law  <law@redhat.com>
- 
- 	* cfg.c (cached_make_edge): Use find_edge rather than an inlined
- 	variant.
- 	* cfgbuild.c (make_edges): Likewise.
- 	* cfghooks.c (can_duplicate_block_p): Likewise.
- 	* cfgloop.c (loop_latch_edge): Likewise.
- 	* cfgloopmanip.c (force_single_succ_latches): Likewise.
- 	* cfgrtl.c (rtl_flow_call_edges_add): Likewise.
- 	* predict.c (predict_loops, propagate_freq): Likewise.
- 	* tracer.c (tail_duplicate): Likewise.
- 	* tree-cfg.c (disband_implicit_edges): Likewise.
- 	(tree_forwarder_block_p, tree_flow_call_edges_add): Likewise.
- 
- 2004-11-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* sbitmap.c (sbitmap_union_of_preds): Remove redundant
- 	initialisation of 'e'.
- 
- 2004-11-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR rtl-optimization/18599
- 	* regrename.c (copyprop_hardreg_forward): Speed up by putting
- 	BB_VISITED flags on basic blocks as we process them.
- 
- 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR target/18531
- 	* config/rs6000/altivec.md (VI_char): New mode attribute.
- 	(addv16qi3, addv8hi3, addv4ai3): Replace with ...
- 	(add<mode>3): ... this.
- 	(subv16qi3, subv8hi3, subv4ai3): Replace with ...
- 	(sub<mode>3): ... this.
- 	(smaxv16qi3, smaxv8hi3, smaxv4ai3): Replace with ...
- 	(smax<mode>3): ... this.
- 	(sminv16qi3, sminv8hi3, sminv4ai3): Replace with ...
- 	(smin<mode>3): ... this.
- 	(umaxv16qi3, umaxv8hi3, umaxv4ai3): Replace with ...
- 	(umax<mode>3): ... this.
- 	(uminv16qi3, uminv8hi3, uminv4ai3): Replace with ...
- 	(umin<mode>3): ... this.
- 	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
- 	(and<mode>3): ... this.
- 	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
- 	(ior<mode>3): ... this.
- 	(xorv16qi3, xorv8hi3, xorv4ai3): Replace with ...
- 	(xor<mode>3): ... this.
- 	(andv16qi3, andv8hi3, andv4ai3): Replace with ...
- 	(and<mode>3): ... this.
- 	(iorv16qi3, iorv8hi3, iorv4ai3): Replace with ...
- 	(ior<mode>3): ... this.
- 	(altivec_vnor): Replace with ...
- 	(altivec_nor<mode>): ... this.
- 	(one_cmplv16qi2, one_cmplv8hi2, one_complv4ai2): Replace with ...
- 	(one_cmpl<mode>2): ... this.
- 	(altivec_vandc): New expander.
- 	(*andc<mode>3): New insn.
- 	* config/rs6000/rs6000.c (bdesc_2arg): Adjust for new insn names.
- 
- 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-opt/18536
- 	* tree-vectorizer.c (make_loop_iterate_ntimes): Use type of niters when
- 	creating iv instead of integer_type.
- 	(vect_build_loop_niters): Remove redundant code.
- 	(vect_transform_loop_bound): Removed (duplicates functionality of
- 	make_loop_iterate_ntimes.
- 	(vect_gen_niters_for_prolog_loop): Add documentation. Call
- 	lang_hooks.types.type_for_size to create a type of the required size.
- 	Use that type instead of integer_type. Remove redundant code.
- 	(vect_update_niters_after_peeling): Use type of niters instead of
- 	integer_type.
- 	(vect_transform_loop): Unify handling of known and unknown loop bound
- 	cases. Call make_loop_iterate_ntimes instead of
- 	vect_transform_loop_bound.
- 
- 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/18217
- 	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Move darwin-fallback.c to
- 	(LIB2ADDEH): Here.
- 
- 2004-11-22  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-opt/18544
- 	* tree-vectorizer.c (vect_analyze_data_refs): Fail if memtag not found.
- 
- 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
- 	m32r*linux.
- 	* config/m32r/t-linux (SHLIB_MAPFILES): Override to use
- 	m32r/libgcc-glibc.ver.
- 	* config/m32r/libgcc-glibc.ver: Add New file.
- 
- 2004-11-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.h (struct bitmap_obstack): New obstack type.
- 	(struct bitmap_head_def): Replace using_obstack with obstack
- 	pointer.
- 	(bitmap_default_obstack): New.
- 	(bitmap_initialize): Make inline, does not do allocation.
- 	(bitmap_release_memory): Remove.
- 	(bitmap_obstack_initialize, bitmap_obstack_release): Declare.
- 	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
- 	bitmap_obstack_free, bitmap_malloc_free): Declare.
- 	(BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust.
- 	(BITMAP_FREE): Replace with ...
- 	(BITMAP_OBSTACK_FREE): ... this.
- 	(BITMAP_XFREE): Adjust.
- 	(BITMAP_INIT_ONCE): Remove.
- 	* bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove.
- 	(bitmap_default_obstack): New.
- 	(bitmap_elem_to_freelist): Adjust.
- 	(bitmap_element_allocate): Adjust. Break initialization into ...
- 	(bitmap_obstack_initialize): ... here.
- 	(bitmap_release_memory): Replace with ...
- 	(bitmap_obstack_release): ... this.
- 	(bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc,
- 	bitmap_obstack_free, bitmap_malloc_free): New.
- 	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use
- 	bitmap_initialize.
- 	(bitmap_initialize): Move to bitmap.h.
- 	* gengtype.c (open_base_files): Add obstack.h to ifiles.
- 	* Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h.
- 	* basic-block.h (INIT_REG_SET): Allocate from reg_obstack.
- 	(INITIALIZE_REG_SET): Remove.
- 	(FREE_REG_SET): Use BITMAP_OBSTACK_FREE.
- 	(INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove.
- 	(flow_obstack): Do not declare.
- 	(reg_obstack): Declare.
- 	* regs.h: Include obstack.h.
- 	* tree-optimize.c (tree_rest_of_compilation): Initialize and
- 	release bitmap obstack here.
- 	* bb-reorder.c: #include regs, not basic-block.
- 	(fix_crossing_conditional_branches): Allocate regsets from
- 	reg_obstack.
- 	* bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or
- 	obstack.h.
- 	* caller-save.c: Include regs.h earlier.
- 	* cfg.c: Do not include basic-block.h or obstack.h.
- 	(reg_obstack): Define.
- 	* cfganal.c: Include obstack.h
- 	* cfgcleanyp.c: Do not include basic-block.h. Include regs.h
- 	earlier.
- 	* cfglayout.c: Do not include obstack.h.
- 	(flow_obstack): Remove declaration.
- 	(cfg_layout_duplicate_bb): Use reg_obstack.
- 	* cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h.
- 	* cfgrtl.c (rtl_split_block): Use reg_obstack.
- 	(force_nonfallthru_and_redirect, rtl_split_edge): Likewise.
- 	(safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust.
- 	(cfg_layout_split_edge): Use reg_obstack.
- 	* cse.c: Include regs.h earlier.
- 	* ddg.c: Do not include basic-block.h.
- 	* dominance.c: Inlude obstack.h.
- 	* flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust.
- 	(calculate_global_regs_live): Likewise.
- 	(allocate_bb_life_data): Use reg_obstack.
- 	(init_propagate_block_info): Use OBSTACK_ALLOC_REGSET.
- 	* global.c: Do not include basic-block.h.
- 	(build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust.
- 	* graph.c: Include obstack.h.
- 	* haifa-sched.c: Do not include basic-block.h.
- 	* ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust.
- 	* local-alloc.c: Do not include basic-block.h.
- 	* loop-init.c, loop-invariant.c: Include obstack.h.
- 	* loop-iv.c: Likewise.
- 	(simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET,
- 	adjust.
- 	* loop-unroll.c, loop-unswitch.c: Inlude obstack.h.
- 	* modulo-sched.c: Do not include basic-block.h.
- 	* passes.c (rest_of_handle_final): Do not call
- 	regset_release_memory.
- 	* ra-debug.c: Include regs.h earlier. Do not include
- 	basic-block.h.
- 	* recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust.
- 	* regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET.
- 	(allocate_reg_info): Do not call MAX_REGNO_REG_SET.
- 	(regset_release_memory): Remove.
- 	* resource.c: Do not include basic-block.h.
- 	* rtlanal.c: Do not include basic-block.h.
- 	* sbitmap.c: Include obstack.h.
- 	* sched-deps.c: Do not include basic-block.h.
- 	(reg_pending_sets_head, reg_pending_clobbers_head,
- 	reg_pending_uses_head): Remove.
- 	(init_deps_global): Use OBSTACK_ALLOC_REG_SET.
- 	* sched-ebb.c: Do not include basic-block.h.
- 	* sched-rgn.c: Likewise.
- 	* tree-if-conv.c (get_loop_body_in_if_conv_order): Use
- 	BITMAP_XFREE.
- 	* tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE.
- 	* tree-sra.c (decide_instantiations): Adjust bitmap
- 	initialization.
- 	* tree-ssa-dce.c: Include obstack.h.
- 	* tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack.
- 	(value_insert_into_set_bitmap): Remove useless bitmap_clear.
- 	(bitmap_set_new): Likewise.
- 	(init_pre): Initialize bitmap obstack.
- 	(fini_pre): Release bitmap obstack.
- 	* tree-ssanames.c (ssa_names_to_rewrite): Make static.
- 	(marked_for_rewrite_p): ssa_names_to_rewrite is never NULL.
- 	(mark_for_rewrite, unmark_for_rewrite): Likewise.
- 	(marked_ssa_names): Likewise.
- 	(init_ssanames): Use BITMAP_XMALLOC.
- 	(fini_ssanames): Use BITMAP_XFREE.
- 	* web.c: Include obstack.h
- 
- 2004-11-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* sbitmap.c (sbitmap_union_of_preds): Set 'e' to the next edge
- 	predecessor in the first for-loop.
- 
- 2004-11-21  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c: (rs6000_darwin64_function_arg): Add
- 	UNION_TYPE case.
- 	(function_arg): Move darwin test up, sniff mode first for
- 	efficiency, test for union type.
- 
- 2004-11-21  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION):  Define.
- 
- 2004-11-21  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa.c (verify_use): Fix comment.
- 	(verify_phi_args): Check that the number of incoming edges matches
- 	the number of PHI arguments.  Check that each PHI argument is
- 	either an SSA_NAME or an invariant.  Coalesce tests for PHIs for
- 	dead or duplicated edges.  Clear e->aux earlier and avoid separate
- 	loop to clear e->aux and test for missed edges.
- 	(verify_ssa): Remove first walk over statements.  Move checking
- 	of PHI args into verify_phi_args.  Move checking of statements
- 	with aliased stores and V_MAY_DEFS into the remaining loop over
- 	the statements.  Register defs by walking through the formal
- 	SSA_NAME table.
- 
- 2004-11-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18520
- 	* dojump.c (compare_from_rtx): Clarify mode argument in function
- 	description.  Correct order of mode/cmp_mode arguments in call to
- 	simplify_relational_operation.  Check "tem" for COMPARISON_P.
- 
- 2004-11-21  Paolo Bonzini  <bonzini@gnu.org>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/17836
- 	* config/rs6000/rs6000.c (rs6000_return_in_memory): Return
- 	synthetic vectors in memory.
- 	(function_arg_boundary): Align large synthetic vectors.
- 	(rs6000_pass_by_reference): Pass synthetic vectors in memory.
- 
- 2004-11-21  Jeff Law  <law@redhat.com>
- 
- 	* cfg.c (update_bb_profile_for_threading): Do not rescale the
- 	successor probabilities if they are not going to change.  Pull
- 	division out of loop if we do need to rescale successor probabilities.
- 
- 	* tree-ssa-threadupdate.c (redirection_data_hash): Use the
- 	index of the destination block for the hash value rather than
- 	hashing a pointer.
- 
- 2004-11-20  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-typeck.c (build_array_ref): Don't check for index == 0.  Make
- 	checks for neither argument being an array or pointer (swapping
- 	the arguments if necessary), the array argument being a pointer to
- 	or array of functions and for -Wchar-subscripts warnings upfront.
- 
- 2004-11-20  Jeff Law  <law@redhat.com>
- 
- 	* regrename.c (copyprop_hardreg_forward): Only search for a
- 	previously processed block if the current block only has one
- 	predecessor.
- 
- 2004-11-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment
- 	typos.
- 	* config/arm/arm.c: Follow spelling conventions.
- 
- 2004-11-20  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_override_options): Use arm_ld_sched rather than testing
- 	a bit in tune_flags.
- 	(const_double_needs_minipool): Likewise.  Split most of the code out
- 	into ...
- 	(arm_const_double_inline_cost): ... new function here.
- 	* arm-protos.h (arm_const_double_inline_cost): Add prototype.
- 	* arm.h (EXTRA_CONSTRAINT_STR_ARM): Add D[abc] constraints for double-
- 	word constants of length 2, 3 and 4 insns respectively.
- 	(CONSTRAINT_LEN): The 'D' prefix is a 2-letter constraint.
- 	* arm.md (arm_movdi, movdf_soft_insn): Add alternatives for D[abc]
- 	constraints.  Set insn lenghts accordingly.
- 
- 2004-11-19  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-threadupdate.c: Replace REDIRECTION_DATA varray with
- 	a hash table.  Extensive modifications throughout to support
- 	that change.
- 	(struct el): New.
- 	(struct local_info): New.
- 	(struct redirection_data): Add new INCOMING_EDGES and DO_NOT_DUPLICATE
- 	fields.
- 	(redirection_data): Now a hashtable.
- 	(redirection_data_hash, redirection_data_eq): New.
- 	(lookup_redirection_data, create_duplicates): New.
- 	(create_edge_and_update_destionation_phis): New.
- 	(fixup_template_block, redirect_edges): New.
- 	(thread_block): Use hash table traversals instead of loops over
- 	varray entries or incoming edge vectors.
- 
- 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h (edge_def): Add dest_idx.
- 	* cfg.c (unchecked_make_edge): Initialize dest_idx.
- 	(remove_edge): Simplify the disconnection of an edge from its
- 	destination.
- 	(redirect_edge_succ): Likewise.
- 	* cfghooks.c (verify_flow_info): Check the consistency of
- 	dest_idx for each edge.
- 
- 2004-11-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* simplify-rtx.c (simplify_ternary_operation): Use
- 	gen_int_mode.
- 
- 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (reinstall_phi_args): New.
- 	(tree_split_edge): Use it after redirecting an edge.  Don't
- 	modify PHI_ARG_EDGE.
- 
- 2004-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* tree-vectorizer.c (slpeel_verify_cfg_after_peeling): Define only
- 	if checking is enabled.
- 
- 2004-11-19  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-decl.c (push_scope): Remove "\n" from end of diagnostic for
- 	too many nested scopes.
- 
- 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-opt/18181
- 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Peeling scheme
- 	changed to suppoer uses-after-loop and to void creating flow paths
- 	that shouldn't exist.
- 	(slpeel_update_phi_nodes_for_guard): Takes additional two arguments.
- 	Modified to fit the new peeling scheme. Avoid quadratic behavior.
- 	(slpeel_add_loop_guard): Takes additional argument.
- 	(slpeel_verify_cfg_after_peeling): New function.
- 	(vect_update_ivs_after_vectorizer): Takes additional argument. Updated
- 	documentation. Use 'exit-bb' instead of creating 'new-bb'.
- 	(rename_variables_in_bb): Don't update phis for BBs out of loop, to fit
- 	the new peeling scheme.
- 	(copy_phi_nodes): Function removed. Its functionality moved to
- 	update_phis_for_duplicate_loop.
- 	(slpeel_update_phis_for_duplicate_loop): Functionality of copy_phi_nodes
- 	moved here. Added documentation. Modified to fit the new peeling scheme.
- 	(slpeel_make_loop_iterate_ntimes): Setting loop->single_exit not not
- 	needed - done in slpeel_tree_peel_loop_to_edge.
- 	(slpeel_tree_duplicate_loop_to_edge_cfg): Debug printouts compacted.
- 	(vect_do_peeling_for_loop_bound): Add documentation. Call
- 	slpeel_verify_cfg_after_peeling. Call vect_update_ivs_after_vectorizer
- 	with additional argument.
- 	(vect_do_peeling_for_alignment): Call slpeel_verify_cfg_after_peeling.
- 
- 	(vect_finish_stmt_generation): Avoid 80 column oveflow.
- 
- 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Last two
- 	arguments removed.
- 	(slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
- 	without last two arguments. Update single_exit of loops.
- 	(vect_update_niters_after_peeling): Removed. Its functionality was
- 	moved to vect_do_peeling_for_alignment.
- 	(vect_do_peeling_for_loop_bound): New name for function previously
- 	called vect_transform_for_unknown_loop_bound.
- 	(vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
- 	instead of code that duplicates the same functionality.
- 	(vect_do_peeling_for_alignment): Functionality of
- 	vect_update_niters_after_peeling moved here.
- 	(vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
- 	previously named vect_transform_for_unknown_loop_bound - for both known
- 	and unknown loop bound cases.
- 
- 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): New name for function
- 	previously called verify_loop_for_duplication. All conditions compacted
- 	into one compound condition. Removed debug dumps.
- 	(vect_analyze_loop_with_symbolic_num_of_iters): Removed. Some of the
- 	functionality moved to vect_can_advance_ivs_p, and some to
- 	vect_analyze_loop_form.
- 	(vect_can_advance_ivs_p): New function. Contains functionality that was
- 	taken out of vect_analyze_loop_with_symbolic_num_of_iters.
- 	(slpeel_tree_peel_loop_to_edge): Call slpeel_can_duplicate_loop_p.
- 	(vect_analyze_operations): Call vect_can_advance_ivs_p and
- 	slpeel_can_duplicate_loop_p.
- 	(vect_get_loop_niters): Added documentation.
- 	(vect_analyze_loop_form): Check the loop entry always - not only in case
- 	of unknown loop bound. Create preheader and exit bb if necessary. Apply
- 	a check that used to take place in
- 	vect_analyze_loop_with_symbolic_num_of_iters.
- 	(vectorize_loops): Call verify_loop_closed_ssa under ENABLE_CHECKING.
- 	Remove redundant call to rewrite_into_loop_closed_ssa.
- 	(vect_compute_data_refs_alignment): Removed obsolete comment.
- 
- 2004-11-19  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): New name for
- 	function previously called tree_duplicate_loop_to_edge.
- 	(slpeel_tree_duplicate_loop_to_edge_cfg): New name for function
- 	previously called tree_duplicate_loop_to_edge_cfg.
- 	(slpeel_update_phis_for_duplicate_loop): Prefix 'slpeel' added to
- 	function name.
- 	(slpeel_update_phi_nodes_for_guard): Likewise.
- 	(slpeel_make_loop_iterate_ntimes): Likewise.
- 	(slpeel_add_loop_guard): Likewise.
- 	(allocate_new_names, free_new_names): Function declaration moved to top
- 	of file.
- 	(rename_use_op, rename_def_op): Likewise.
- 	(rename_variables_in_bb, rename_variables_in_loop): Likewise.
- 	(vect_generate_tmps_on_preheader): Function declaration moved.
- 	(vect_transform_for_unknown_loop_bound): Added missing function
- 	declaration.
- 
- 2004-11-19  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18507
- 	* tree-flow.h (tree_on_heap): Typedef because there is already a VEC(tree).
- 	Define a VEC(tree_on_heap) for head.
- 	(register_new_def): Change second argument to be a VEC(tree_on_heap).
- 	* tree-ssa-dom.c (block_defs_stack): Change to be a VEC(tree_on_heap).
- 	(tree_ssa_dominator_optimize): Initialize block_defs_stack with
- 	the VEC(tree_on_heap) function.  Also free it before returning.
- 	(dom_opt_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
- 	for block_defs_stack.
- 	(restore_currdefs_to_original_value): Use VEC_length instead of
- 	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
- 	(dom_opt_finalize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
- 	for block_defs_stack.
- 	* tree-into-ssa.c (block_defs_stack): Change to be a VEC(tree_on_heap).
- 	(rewrite_initialize_block): Use VEC_safe_push instead of VARRAY_PUSH_TREE
- 	for block_defs_stack.
- 	(ssa_register_new_def): Likewise.
- 	(ssa_rewrite_initialize_block): Likewise.
- 	(rewrite_finalize_block): Use VEC_length instead of
- 	VARRAY_ACTIVE_SIZE. VEC_pop instead of VARRAY_TOP_TREE/VARRAY_POP.
- 	(ssa_rewrite_finalize_block): Likewise.
- 	(register_new_def): Change second argument to be a VEC(tree_on_heap).
- 	Use VEC_safe_push instead of VARRAY_PUSH_TREE.
- 	(rewrite_blocks): Initialize block_defs_stack with
- 	the VEC(tree_on_heap) function.  Also free it before returning.
- 	(rewrite_ssa_into_ssa): Likewise.
- 
- 2004-11-19  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/darwin.c (machopic_data_defined_p): return 1 for
- 	MACHOPIC_DEFINED_FUNCTION.
- 
- 2004-11-19  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa.c (verify_ssa): Remove redundant checking of PHI
- 	arguments.
- 
- 2004-11-19  Paul Brook  <paul@codesourcery.com>
- 
- 	PR target/17735
- 	* varasm.c (default_assemble_integer): Allow pointer-sized values.
- 	Expand comment.
- 
- 2004-11-19  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/stormy16.c (combine_bnp): Add code to handle
- 	zero_extension and lshiftrt insns.
- 	Replace uses of XEXP(...) with either SET_DEST() or SET_SRC()
- 	where appropriate.
- 	* config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns
- 	to handle bp and bn insn patterns with a zero_extend rtx
- 	inside them.
- 
- 2004-11-19  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* config/arm/arm.md (generic_sched): Make const.
- 
- 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (classify_insn): Make it static.
- 	* rtl.h: Remove the corresponding prototype.
- 
- 	* integrate.c (has_func_hard_reg_initial_val,
- 	get_func_hard_reg_initial_val): Make them static.
- 	* integrate.h: Remove the corresponding prototypes.
- 
- 2004-11-19  Ben Elliston  <bje@au.ibm.com>
- 
- 	* dwarf2asm.h (dw2_asm_output_pcel): Stub out with #if 0.
- 	(dw2_asm_output_delta_sleb128): Likewise.
- 	* dwarf2asm.c (dw2_asm_output_pcrel): Likewise.
- 	(dw2_asm_output_delta_sleb128): Likewise.
- 
- 2004-11-19  Adam Nemet  <anemet@lnxw.com>
- 
- 	* tree-ssa-alias.c: Fix comment.
- 
- 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-outof-ssa.c: Fix a comment typo.
- 
- 2004-11-19  Ben Elliston  <bje@au.ibm.com>
- 
- 	* predict.h (predict_insn): Remove extern declaration.
- 	* predict.c (predict_insn): Make static.
- 
- 2004-11-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (function_arg): Don't return BLKmode regs.
- 
- 2004-11-18  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/arm.c (const_double_needs_minipool): New function to
- 	determine if a CONST_DOUBLE should be pushed to the minipool.
- 	(note_invalid_constants): Use it.
- 
- 2004-11-18  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (target_float_switch): New variable..
- 	(arm_override_options): Use TARGET_DEFAULT_FLOAT_ABI and
- 	target_float_switch.
- 	* config/arm/arm.h (target_float_switch): Declare.
- 	(ARM_FLAG_SOFT_FLOAT): Remove.
- 	(TARGET_SWITCHES): Remove hard-float and soft-float.
- 	(TARGET_OPTIONS): Add hard-float and soft-float.
- 	(TARGET_DEFAULT_FLOAT_ABI): Define.
- 	* config/arm/coff.h (TARGET_DEFAULT_FLOAT_ABI): Define
- 	(TARGET_DEFAULT): Don't use ARM_FLAG_SOFT_FLOAT.
- 	* config/arm/elf.h: Don't use ARM_FLAG_SOFT_FLOAT.
- 	* config/arm/netbsd-elf.h: Ditto.
- 	* config/arm/netbsd.h: Ditto.
- 	* config/arm/pe.h: Ditto.
- 	* config/arm/unknown-elf.h: Ditto.
- 	* config/arm/wince-pe.h: Ditto.
- 	* config/arm/linux-elf.h (TARGET_DEFAULT_FLOAT_ABI): Define.
- 	* config/arm/semi.h (TARGET_DEFAULT_FLOAT_ABI): Define.
- 	* config/arm/semiaof.h (TARGET_DEFAULT_FLOAT_ABI): Define.
- 
- 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/rs6000/altivec.md (VI, VF, V): New mode macros.
- 	(altivec_lvx_4si, altivec_lvx_8hi, altivec_lvx_16qi,
- 	altivec_lvx_4sf): Rename and replace with ...
- 	(altivec_lvx_<mode>): ... mode macro version.
- 	(altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
- 	altivec_stvx_4sf): Rename and replace with ...
- 	(altivec_stvx_<mode>): ... mode macro version.
- 	(movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
- 	(mov<mode>): ... mode macro version.
- 	(*movv4si_internal, *movv8hi_internal1, *movv16qi_internal1,
- 	*movv4sf_internal1): Replace with ...
- 	(*mov<mode>_internal): ... mode macro version.
- 	(get_vrsave_internal, *set_vrsave_internal, *save_world,
- 	*restore_world): Unquote output statements.
- 	* config/rs6000/rs6000.c (altivec_expand_ld_builtin,
- 	altivec_expand_st_builtin): Adjust insn names.
- 
- 2004-11-18  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Revert
- 	previous change.
- 	(rs6000_override_options): Likewise.
- 	(spe_build_register_parallel): Handle complex doubles on e500v2.
- 	(rs6000_spe_function_arg): Likewise.
- 	(function_arg): Likewise.
- 	(rs6000_function_value): Likewise.
- 	(rs6000_libcall_value): Likewise.
- 
- 2004-11-18  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* ifcvt.c (find_if_block): Move the check for the number of edges
- 	above the loops checking for complex edges.
- 	Remove the counting of edges as we use EDGE_COUNT now.
- 
- 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
- 
- 	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
- 	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.3
- 
- 2004-11-18  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/i386/i386.md (define_peephole2): Revert last change.
- 
- 2004-11-18  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.comn>
- 
- 	* config/m32r/linux.h (TARGET_ASM_FILE_END): Set
- 	TARGET_ASM_FILE_END to file_end_indicate_exec_stack.
- 
- 2004-11-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-propagate.c (ssa_prop_init): Use FOR_ALL_BB instead
- 	of FOR_EACH_BB.
- 
- 2004-11-18  Jon Grimm <jgrimm2@us.ibm.com>
- 
- 	* Makefile.in (macro_list): Depend on s-macro_list.
- 	(s-macro_list): New target.
- 
- 2004-11-18  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR target/17107
- 	* fold-const.c (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
- 	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
- 	(fold_range_test): Adjust.
- 	(fold_truthop): Use it.
- 	* config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Rename to ...
- 	(LOGICAL_OP_NON_SHORT_CIRCUIT): ... here.
- 
- 2004-11-18  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
- 	insn split constraint.
- 	(define_peephole2): Remove unneeded "&& 1" from peephole2
- 	constraints.
- 
- 2004-11-18  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/cfg.texi (Maintaining the CFG): Remove duplicated @item
- 	element for bsi_prev; use @findex instead.
- 
- 2004-11-18  Ben Elliston  <bje@au.ibm.com>
- 
- 	* opts.h (add_input_filename): Remove extern declaration.
- 	* opts.c (add_input_filename): Make static.
- 
- 2004-11-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/i386.c (i386_solaris_elf_named_section): Mark with
- 	ATTRIBUTE_UNUSED.
- 
- 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.
- 	* system.h: Poison it.
- 	* doc/tm.texi: Delete its documentation.
- 
- 2004-11-18  Daniel Jacobowitz  <dan@codesourcery.com>
- 	    Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/sol2-10.h, config/i386/t-sol2-10: New files.
- 	* config/i386/i386.c (i386_solaris_elf_named_section): New
- 	function.
- 	* config.gcc (i[34567]86-*-solaris2*): Handle Solaris 2.10.
- 	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Handle
- 	64-bit.
- 	(ASM_QUAD): Don't undefine for biarch targets.
- 	* config/i386/t-sol2: Introduce multilib support.
- 
- 2004-11-18  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cgraphunit.c: Replace "it's" with "its" and fix a typo.
- 
- 2004-11-18  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cgraph.h: Replace "it's" with "its" throughout.
- 
- 2004-11-18  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/rtl.texi (Flags): Grammar fix.
- 
- 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expmed.c (alg_code): Add alg_unknown.
- 	(alg_hash_entry): New.
- 	(NUM_ALG_HASH_ENTRIES): Likewise.
- 	(alg_hash): Likewise.
- 	(synth_mult): Cache the result into alg_hash.
- 
- 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/t-darwin: Augment SHLIB_MAPFILES with
- 	config/rs6000/libgcc-ppc64.ver.
- 
- 2004-11-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgrtl.c (rtl_verify_flow_info): Don't use INSN_P when
- 	checking if an unconditional return is followed by a barrier.
- 
- 	* jump.c (condjump_p): Remove unreachable code.
- 
- 	* basic-block.h, c-common.h, df.h, expr.h, output.h, rtl.h,
- 	tree-chrec.h, tree-flow.h, tree-scalar-evolution.h,
- 	tree-ssa-live.h, tree.h: Remove unused prototypes.
- 
- 2004-11-17  Jeff Law  <law@redhat.com>
- 
- 	* tree-cfg.c (edge_to_cases): Renamed from edge_to_case_leader.
- 	(edge_to_cases_elt): Renamed from edge_to_case_leader.
- 	(edge_to_cases_hash): Renamed from edge_to_case_leader_hash.
- 	(edge_to_cases_eq): Renamed from edge_to_case_leader_eq.
- 	(edge_to_cases_cleanup, recording_case_labels_p): New functions.
- 	(get_cases_for_edge): New function.
- 	(start_recording_case_labels, end_recording_case_labels): Similarly.
- 	(record_switch_edge): Don't muck with the CASE_LABEL.  Instead
- 	chain equivalent CASE_LABEL_EXPRs together.
- 	(get_case_leader_for_edge, get_case_leader_for_edge_hash): Kill.
- 	(make_switch_expr_edges): Do not record edge/cases here.
- 	(cleanup_tree_cfg): Record cases around the call to thread_jumps.
- 	(split_critical_edges): Record cases around the edge splitting code.
- 	(cleanup_dead_labels): Use CASE_LABEL again.
- 	(tree_redirect_edge_and_branch): If we have a mapping from edge
- 	to cases, use it to handle redirections.  Else do it the slow way.
- 	* tree.h (CASE_LEADER_OR_LABEL): Kill.
- 	(CASE_LABEL): Revert to just looking at the tree's second operand.
- 	* tree.c (get_case_label): Kill.
- 
- 2004-11-17  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/18307
- 	* tree-ssa-alias.c (merge_pointed_to_info): ICE if 'dest' and
- 	'orig' are the same node.
- 	(collect_points_to_info_r): Do not call merge_pointed_to_info
- 	when the PHI argument is identical to the LHS.
- 
- 2004-11-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-ssa-propagate.c (cfg_blocks_add): Assert we're not trying
- 	to insert the exit or entry block.
- 	(ssa_prop_init): Use add_control_edge to seed the algorithm.
- 
- 2004-11-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mkmap-flat.awk, mkmap-symver.awk: If the last version
- 	assigned to a symbol was '%exclude', do not emit it anywhere.
- 	If leading_underscore is true, prefix all symbols from the
- 	version scripts with a leading underscore before comparing
- 	them with nm output or emitting them.  Remove support for dot
- 	symbols.
- 	* config/t-slibgcc-darwin (SHLIB_LINK): Use mkmap-flat.awk.
- 	(SHLIB_MAPFILES): Use libgcc-std.ver.
- 	(SHLIB_MKMAP_OPTS): Enable leading-underscore mode.
- 	(SHLIB_LINK): Add -Wl,-exported_symbols_list,$(SHLIB_MAP).
- 	* config/sh/t-linux: Use the normal libgcc-std.ver, plus
- 	libgcc-excl.ver and libgcc-glibc.ver.
- 
- 	* config/sh/libgcc-excl.ver: New file.
- 	* config/sh/libgcc-std.ver, libgcc-darwin.ver: Delete.
- 
- 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Swap
- 	the test when the edge has the opposite meaning, not when
- 	the first argument is invariant.
- 
- 2004-11-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Split e500v2
- 	doubles.
- 	(rs6000_complex_function_value): Handle e500 v2 variant.
- 
- 2004-11-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/18519
- 
- 	* tree-optimize (execute_todo): Add case for TODO_cleanup_cfg.
- 	* tree-pass.h: Add TODO_cleanup_cfg.
- 	* tree-ssa-ccp.c (pass_ccp): Use TODO_cleanup_cfg.
- 	(ccp_finalize): Remove call to cleanup_cfg.
- 	* tree-ssa-dce.c (pass_dce): Use TODO_cleanup_cfg and TODO_dump_func.
- 	(pass_cd_dce): Ditto.
- 	(perform_tree_ssa_dce): Remove call to cleanup_cfg,
- 	dump_function_to_file.
- 	* tree-ssa-loop-ch.c (copy_loop_headers): Remove call
- 	to cleanup_cfg.
- 	(pass_ch): Add TODO_cleanup_cfg.
- 	* tree-ssa-loop.c (tree_ssa_loop_done): Remove call to
- 	cleanup_cfg.
- 	(pass_loop_done): Add TODO_cleanup_cfg.
- 	* tree-ssa-phiopt.c (pass_phiopt): Ditto.
- 	(tree_ssa_phiopt): Remove call to cleanup_cfg.
- 
- 2004-11-16  Devang Patel  <dpatel@apple.com>
- 
- 	* optabs.c (vector_compare_rtx): Fix COMPARISON_CLASS_P use.
- 
- 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expmed.c, ra-colorize.c: Fix comment typos.
- 
- 	* doc/tm.texi: Fix typos.
- 
- 2004-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
- 	    Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR target/6123
- 	* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __PIC__ and
- 	__pic__ if PIC.
- 
- 2004-11-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* regmove.c (regmove_optimize): Use lowpart_subreg instead of
- 	gen_rtx_SUBREG with incorrect offset to compute SRC_SUBREG.
- 
- 2004-11-16  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (clean_predicate_lists): Update gcc_assert check.
- 
- 2004-11-16  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c: Use rtl _P predicates.
- 	* config/mips/mips.h: Ditto.
- 	* config/mips/mips.md: Ditto.
- 
- 2004-11-16  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/altivec.md (altivec_vandc): Canonicalize
- 	the pattern.
- 
- 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_cc_modes_compatible): New function.
- 	(TARGET_CC_MODES_COMPATIBLE): Target macro defined.
- 
- 2004-11-16  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR target/18447
- 	* config/sh/sh.c (prepare_move_operands): Emit blockage insns
- 	before and after the insns for getting GOT address in non-PIC
- 	TLS_MODEL_INITIAL_EXEC tls sequence when the first scheduling
- 	is enabled.
- 
- 2004-11-16  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* gcc/cse.c (struct change_cc_mode_args): New structure.
- 	(cse_change_cc_mode_insn): New function.
- 	(cse_change_cc_mode): Use validate_change to perfom changes.
- 	(cse_change_cc_mode_insns, cse_condition_code_reg):
- 	Call cse_change_cc_mode_insn.
- 
- 2004-11-16  Steven Bosscher  <stevenb@suse.de>
- 
- 	* stack.h: Remove.
- 
- 2004-11-16  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/i386/i386.c (x86_schedule): Fix typo, m_K6 intead of m_K8.
- 
- 2004-11-15  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree-flow.h (add_referenced_temp_var):  Remove name from prototype.
- 
- 2004-11-15  Dale Johannesen  <dalej@apple.com>
- 
- 	* profile.c (compute_branch_probabilities):  Prevent
- 	crash with EH in RTL-based profiling.
- 
- 2004-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (verify_expr): Replace TREE_OPERAND with
- 	COND_EXPR_COND.
- 	* tree-if-conv.c (tree_if_convert_cond_expr): Likewise.
- 	* tree-ssa-dom.c (thread_across_edge): Likewise.
- 	* tree-vectorizer.c (vect_transform_loop_bound): Replace
- 	TREE_OPERAND with COND_EXPR_COND, COND_EXPR_THEN, or
- 	COND_EXPR_ELSE.
- 
- 	* tree-cfg.c (bsi_commit_edge_inserts): Remove an argument.
- 	(tree_flow_call_edges_add): Update the call to
- 	bsi_commit_edge_inserts.
- 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
- 	* profile.c (branch_prob): Likewise.
- 	* tree-mudflap.c (mf_decl_cache_locals): Likewise.
- 	* tree-sra.c (scalarize_function): Likewise.
- 	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
- 	* tree-ssa-pre.c (fini_pre): Likewise.
- 	* tree-flow.h: Update the prototype for
- 	bsi_commit_edge_inserts.
- 
- 2004-11-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* sched-deps.c (set_sched_group_p): Delete.
- 	(delete_all_dependencies): New function.
- 	(fixup_sched_groups): Use. New function.
- 	(sched_analyze_insn): Use.
- 
- 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-common.c (binary_op_error): Don't allow LROTATE_EXPR,
- 	RROTATE_EXPR or unknown code.
- 	* c-typeck.c (build_binary_op): Don't allow RROTATE_EXPR,
- 	LROTATE_EXPR, MAX_EXPR, MIN_EXPR, UNORDERED_EXPR, ORDERED_EXPR,
- 	UNLT_EXPR, UNLE_EXPR, UNGT_EXPR, UNGE_EXPR, UNEQ_EXPR, LTGT_EXPR
- 	or unknown code.
- 
- 2004-11-15  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	PR c/18498
- 	* c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
- 	after processing the declarator.
- 
- 2004-11-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.md ("altivec_vsplth"): Rewrite with
- 	vec_duplicate.
- 	(altivec_vspltb): Same.
- 	(altivec_vspltw): Same.
- 	(altivec_vspltisb): Same.
- 	(altivec_vspltish): Same.
- 	(altivec_vspltisw): Same.
- 	(altivec_vspltisw_v4sf): Same.
- 	(define_constants): Remove UNSPEC_VSPLTISB, UNSPEC_VSPLTISW,
- 	UNSPEC_VSPLTISH.
- 	Move "End of vector xor's" comment to the right place.
- 
- 2004-11-15  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.md (*movtf_internal):  Use destination_operand
- 	instead of nonimmediate_operand.
- 
- 2004-11-15  Mark Mitchell <mark@codesourcery.com>
- 
- 	* config/i386/sol2.h (ASM_OUTPUT_CALL): Use print_operand.
- 	* config/sparc/sol2.h (ASM_OUTPUT_CALL): Likewise.
- 	* config/sol2.c (solaris_output_init_fini): Update calls to
- 	ASM_OUTPUT_CALL.  Include "rtl.h".
- 
- 2004-11-15  Mark Mitchell <mark@codesourcery.com>
- 
- 	* config/sol2-c.c (cmn_err_char_table): Add "p".
- 
- 2004-11-15  Mark Mitchell <mark@codesourcery.com>
- 
- 	* config/sparc/sol2.h (SUPPORTS_INIT_PRIORITY): Remove.
- 	* config/sol2.h (SUPPORTS_INIT_PRIORITY): Define here.
- 
- 2004-11-15  Mark Mitchell <mark@codesourcery.com>
- 
- 	* config/t-slibgcc-sld (SHLIB_LINK): Make symlinks entirely
- 	within the multilib directory.
- 
- 2004-11-15  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Add
- 	builtin assert of cpu=xstormy16.
- 
- 2004-11-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree-ssa-pre.c (bitmap_print_value_set): Fix uninitialized
- 	variable.
- 
- 2004-11-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR 18480
- 	* calls.c (struct arg_data): Add parallel_value.
- 	(precompute_register_parameters): Set it.
- 	(load_register_parameters): Use it.
- 	(store_one_arg): Also set it here.
- 
- 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/18431
- 	* fold-const.c (associate_trees): Do not produce x + 0.
- 	(fold_widened_comparison, fold_sign_changed_comparison): New functions.
- 	(fold): Use them.
- 	* tree-ssa-loop-niter.c (upper_bound_in_type, lower_bound_in_type):
- 	Moved ...
- 	* tree.c (upper_bound_in_type, lower_bound_in_type): Here.
- 	* tree.h (upper_bound_in_type, lower_bound_in_type): Declare.
- 
- 2004-11-14  Eric Botcazou <ebotcazou@libertysurf.fr>
- 
- 	* doc/rtl.texi (SUBREG): Adjust BYTENUM value in example.
- 
- 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgrtl.c, global.c, tree-ssa-copy.c, tree-ssa-loop-ivopts.c,
- 	value-prof.c: Fix comment typos.
- 
- 2004-11-14  Stan Shebs  <shebs@apple.com>
- 
- 	Basic ABI changes for passing structs by value in 64-bit Darwin.
- 	* config/rs6000/rs6000.c (rs6000_darwin64_abi): New flag.
- 	(rs6000_override_options): Set it for 64-bit Darwin.
- 	(rs6000_parse_abi_options): Add testing options to change it.
- 	(rs6000_return_in_memory): Test whether the type is one
- 	that can be passed in registers.
- 	(darwin64_function_arg_advance): New.
- 	(function_arg_advance): Call it, plus add recursion depth
- 	argument and test when counting off arguments.
- 	(rs6000_darwin64_function_arg): New.
- 	(function_arg): Call it.
- 	(setup_incoming_varargs): Add argument to function_arg_advance.
- 	(rs6000_darwin64_function_value): New.
- 	(rs6000_function_value): Call it.
- 	* config/rs6000/rs6000.h (FUNCTION_ARG_ADVANCE): Pass depth arg.
- 	* config/rs6000/rs6000-protos.h: Update decl of
- 	function_arg_advance.
- 
- 2004-11-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/17279
- 	* c-common.c (c_common_nodes_and_builtins): Ask the back-end if we
- 	support TImode before adding __int128_t and __uint128_t types.
- 
- 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-opt/18400
- 	* tree-vectorizer.c (make_loop_iterate_ntimes): Set loop->nb_iterations.
- 	(vect_transform_loop_bound): Set loop->nb_iterations.
- 
- 2004-11-14  Dorit Naishlos  <dorit@il.ibm.com>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18425
- 	* tree-vectorize.c (vect_build_loop_niters): Do not insert
- 	NULL into the instruction stream. Initialize new_bb to NULL.
- 	(vect_update_ivs_after_vectorizer): Likewise.
- 	(vect_gen_niters_for_prolog_loop): Likewise.
- 
- 2004-11-14  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/18431
- 	* tree-flow.h (stmt_references_memory_p): Declare.
- 	* tree-ssa-loop-im.c (stmt_cost): Use stmt_references_memory_p.
- 	* tree-ssa.c (stmt_references_memory_p): New function.
- 
- 2004-11-14  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (lambda-code.o, tree-loop-linear.o): Depend on
- 	$(EXPR_H).
- 
- 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c (walk_stmt_tree): Remove.
- 	* c-common.h: Remove the corresponding prototype.
- 
- 	* emit-rtl.c (push_to_full_sequence): Remove.
- 	* rtl.h: Remove the corresponding prototype.
- 
- 	* cselib.c, expr.c: Fix comment typos.
- 
- 2004-11-13  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (precompute_register_parameters): Force all PARALLELs
- 	into pseudo registers.
- 	(load_register_parameters): Copy PARALLELs into hard registers.
- 	* function.c (assign_parm_setup_block): Copy PARALLELS into
- 	pseudo registers.  Do emit_group_store in conversion_insns.
- 	* expr.c (emit_group_load_1): Rename from emit_group_load, take
- 	tmps as an argument.  Move final copy loop ...
- 	(emit_group_load): ... here.  New function.
- 	(emit_group_load_into_temps, emit_group_move_into_temps): New.
- 	* expr.h: Declare them.
- 
- 2004-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c, tree-if-conv.c, tree-ssa-loop-ivopts.c,
- 	tree-ssa-loop-manip.c, tree-vectorizer.c: Replace TREE_CHAIN
- 	with PHI_CHAIN where appropriate.
- 
- 2004-11-13  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree-flow.h (bsi_commit_one_edge_insert): Remove name from prototype.
- 	(tree_block_label): Ditto.
- 	(flush_pending_stmts): Ditto.
- 	(insert_edge_copies): Ditto.
- 	(expr_invariant_in_loop_p): Ditto.
- 	(TDF_USE_OPS): Parenthesize definition.
- 	(TDF_USE_VOPS): Ditto.
- 
- 2004-11-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix51.h (ASM_CPU_SPEC): Add 970 and G5.
- 	* config/rs6000/aix52.h (ASM_CPU_SPEC): Same.
- 	(atoll): Declare.
- 	* config/rs6000/t-aix52 (BOOT_LDFLAGS): Define.
- 
- 2004-11-14  Joseph Myers  <joseph@codesourcery.com>
- 
- 	* config/i386/i386.c (override_options): Move loop to set default
- 	tuning to correct place.
- 
- 2004-11-13  Zak Kipling  <zak@transversal.com>
- 
- 	PR target/18300
- 	* config/i386/i386.c (classify_argument): Fix infinite loop when
- 	passing object with 3 or more base classes by value.
- 
- 2004-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/md.texi (constraints) <% modifier>: Mention that it is
- 	useless when the two alternatives are strictly identical.
- 
- 2004-11-13  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (extract_split_bit_field): Temporarily disable call to
- 	extract_force_align_mem_bit_field.
- 
- 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bitmap.c, bitmap.h, expmed.c, tree-cfg.c: Fix comment
- 	formatting.
- 
- 	* c-cppbuiltin.c, cgraph.c, domwalk.h, except.c, gimplify.c,
- 	lambda-code.c, postreload.c, predict.c, tree-sra.c,
- 	tree-ssa-loop-manip.c, tree.c: Fix comment typos.
- 
- 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/install.texi (automake): Correctly document that everything now
- 	will use automake 1.9.3.
- 
- 2004-11-13  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR target/18347
- 	* config/mmix/mmix.c (mmix_function_outgoing_value): Handle
- 	TImode.  Sorry for other non-complex larger-than-64-bit modes.
- 	* config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
- 
- 2004-11-13  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* doc/install.texi (automake): Document that everything now uses 1.9.
- 
- 2004-11-13  Bernd Schmidt  <bernd.schmidt@analog.com>
- 
- 	* cse.c (cse_insn): Stores in a libcall sequence can invalidate
- 	previous loads.
- 
- 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree.h: Fix comment typos.
- 
- 2004-11-13  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cse.c (CHEAP_REGNO): Redefine using REGNO_PTR_FRAME_P and
- 	HARD_REGISTER_NUM_P.
- 
- 	* cselib.c (new_cselib_val): Make comment correct and more detailed.
- 	* flow.c (mark_set_1): Likewise.
- 
- 	* except.c (duplicate_eh_region_1, duplicate_eh_region_2,
- 	duplicate_eh_regions): Remove.
- 	* except.h (duplicate_eh_regions): Remove prototype.
- 	* integrate.c (get_label_from_map, copy_rtx_and_substitute,
- 	global_const_equiv_varray): Remove.
- 	* integrate.h (get_label_from_map, copy_rtx_and_substitute,
- 	global_const_equiv_varray, set_label_in_map): Remove prototypes,
- 	extern declaration, and #define.
- 	(MAYBE_EXTEND_CONST_EQUIV_VARRAY, SET_CONST_EQUIV_DATA): Remove.
- 	(struct inline_remap): Remove.
- 	* varray.c (struct element): Remove entry for const_equiv_data.
- 	* varray.h (struct const_equiv_data): Remove.
- 	(enum varray_data_enum) <VARRAY_DATA_CONST_EQUIV>: Remove.
- 	(union varray_data_tag) <const_equiv>: Remove.
- 	(VARRAY_CONST_EQUIV_INIT, VARRAY_CONST_EQUIV,
- 	VARRAY_PUSH_CONST_EQUIV, VARRAY_TOP_CONST_EQUIV): Remove.
- 
- 	* regstack.c (record_label_references): Remove unused function.
- 
- 	* rtl.def (VALUE): Update comment.
- 	(LABEL_REF): Remove unused operand 2.
- 	* rtl.h (struct rtx_def): Update for removed accessor macros.
- 	(XCADVFLAGS, INSN_DEAD_CODE_P, LINE_NUMBER, CONTAINING_INSN,
- 	REG_LOOP_TEST_P): Remove.
- 	(ADDR_DIFF_VEC_FLAGS, CSELIB_VAL_PTR, LABEL_NEXTREF): Add comments.
- 	* web.c (entry_register): Don't copy REG_LOOP_TEST_P.
- 	* doc/rtl.texi (INSN_DEAD_CODE_P, REG_LOOP_TEST_P): Remove.
- 
- 2004-11-13  James A. Morrison  <phython@gcc.gnu.org>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/18230
- 	* config/sparc/sparc.c (sparc_rtx_costs): Handle the NAND vector
- 	patterns.
- 	* config/sparc/sparc.md (V64I): New macro for 64-bit modes.
- 	(V32I): New macro for 32-bit modes.
- 	(anddi3, anddi_sp32, anddi_sp64, and_not_di_sp32, and_not_di_sp64,
- 	iordi3, iordi3_sp32, iordi_sp64, or_not_di_sp32, or_not_di_sp64,
- 	xordi3, xordi3_sp32, xordi3_sp64, {AND, IOR, XOR} DI splitter,
- 	xor_not_di_sp32, xordi_not_di_sp64, one_cmpldi2, one_cmpldi_sp32,
- 	one_cmpldi_sp64): Use V64I instead of DI.
- 	(andsi3, andsi_sp32, andsi_sp64, and_not_si, iorsi3, or_not_si,
- 	xorsi3, xor_not_si, one_cmplsi2): Use V32I instead of SI.
- 	(addv2si3, addv4hi3, addv2hi3): Remove % modifier.
- 	(nandv64i_vis, nandv32i_vis): New patterns.
- 
- 2004-11-12  Mike Stump  <mrs@apple.com>
- 
- 	* Makefile.in: Add html support.
- 	* java/Make-lang.in: Likewise.
- 	* fortran/Make-lang.in: Likewise.
- 	* treelang/Make-lang.in: Likewise.
- 	* doc/install.texi: Likewise.
- 	* doc/makefile.texi: Likewise.
- 	* doc/sourcebuild.texi: Likewise.
- 
- 2004-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-loop-manip.c: Fix a comment typo.
- 
- 2004-11-12  Mike Stump  <mrs@apple.com>
- 
- 	* doc/cppinternals.texi (Index): Fix html generation with makeinfo by
- 	renaming this node to Concept Index.
- 	* doc/gccint.texi (Index): Likewise.  Also minor formatting tweaks
- 	to more closely match gcc.texi.
- 
- 2004-11-12  Jeff Law  <law@redhat.com>
- 
- 	* tree-cfg.c (hashtab.h): Include.
- 	(struct edge_to_case_leader_elt): New structure.
- 	(edge_to_case_leader): New.
- 	(edge_to_case_leader_hash): New hashtable hasing function.
- 	(edge_to_case_leader_eq): New hashtable equality function.
- 	(record_switch_edge): New function.
- 	(get_case_leader_for_edge, get_case_leader_for_edge): New functions.
- 	(make_switch_expr_edges): Build the edge-to-case-leader
- 	hash table.  Tear down the hash table when we're done.
- 	(cleanup_dead_labels): Use CASE_LEADER_OR_LABEL instead of
- 	CASE_LABEL.
- 	(tree_node_can_be_shared): Allow sharing of CASE_LABEL_EXPR nodes.
- 	(tree_redirect_edge_and_branch, case SWITCH_EXPR): Update
- 	to use new concept of case leaders to reduce overhead of
- 	redirecting outgoing edges from switch statements.
- 	* tree.c (get_case_label): New function.
- 	* tree.h (CASE_LABEL): Define in terms of get_case_label.
- 	(CASE_LEADER_OR_LABEL): Define.
- 
- 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* varasm.c (output_addressed_constants): For CONST_DECLs,
- 	output the initializer if present.
- 
- 2004-11-12  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/rs6000/darwin.h: Fix confusing typo in comment.
- 
- 2004-11-12  Devang Patel  <dpatel@apple.com>
- 
- 	* optabs.c (vector_compare_rtx): Use COMPARISON_CLASS_P.
- 
- 2004-11-12  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (clean_predicate_lists): Use loop header
- 	and latch directly.
- 
- 2004-11-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17778
- 	* config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
- 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
- 	(TARGET_96_ROUND_53_LONG_DOUBLE): New.
- 	* config/i386/i386-modes.def (XF): Use it.
- 
- 2004-11-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (macro_list): Use move-if-change to avoid spurious
- 	rebuilds.
- 
- 2004-11-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/18416
- 	* passes.c (rest_of_decl_compilation): Do not look at DECL_RTL
- 	when deciding whether to pass a variable to
- 	cgraph_varpool_finalize_decl or assemble_variable.
- 	* toplev.c (check_global_declarations): Do not clear DECL_RTL.
- 
- 2004-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-vectorizer.c: Fix a comment typo.
- 
- 2004-11-12  Bernd Schmidt  <bernd.schmidt@analog.com>
- 
- 	* genconfig.c (walk_insn_part): Look at match_dups inside a label_ref.
- 
- 2004-11-12  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-scalar-evolution.c (analyzable_condition): Remove
- 	superfluous TREE_THIS_VOLATILE checks on SSA_NAMEs.
- 
- 2004-11-12  Ralf Corsepius  <ralf.corsepius@rtems.org>
- 
- 	* config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
- 	Remove m505/roe multilib variant.
- 
- 2004-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* expr.c (emit_group_load) <CONCAT>: Use extract_bit_field
- 	to load from the stack.
- 
- 2004-11-12  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (floor_log2): Rename from floor_log2_wide, use CLZ_HWI.
- 	(exact_log2): Rename from exact_log2_wide, use CTZ_HWI.
- 	* toplev.h (FL2T__): Remove.
- 	(CLZ_HWI): Rename from FL2T_CLZ__.
- 	(CTZ_HWI): New.
- 	(floor_log2): Simplify.
- 	(exact_log2): New.
- 
- 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree-data-ref.c (analyze_subscript_affine_affine): Correctly
- 	compute the first overlapping iterations.
- 
- 2004-11-12  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	PR middle-end/18005
- 	* tree-data-ref.c (estimate_niter_from_size_of_data): Ensure
- 	that arguments of EXACT_DIV_EXPR are INTEGER_CST.
- 
- 2004-11-12  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/18419
- 	* tree-ssa.c (walk_use_def_chains_1): Make the visited map a
- 	pointer set instead of a bitmap.
- 	(walk_use_def_chains): Create, pass and clean up that pointer_set.
- 
- 	* tree-ssa-alias.c (struct alias_info): Make the ssa_names_visited
- 	field an sbitmap.
- 	(init_alias_info): Allocate and zero it here.
- 	(delete_alias_info): Delete it here.
- 	(collect_points_to_info_for): Use it.
- 
- 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c (record_alias_subset, addr_side_effect_eval):
- 	Make them static.
- 	* alias.h: Remove the prototype for record_alias_subset.
- 	* expr.h: Remove the commented-out prototype for
- 	record_alias_subset.
- 	* rtl.h: Remove the prototype for addr_side_effect_eval.
- 
- 	* cfglayout.c (choose_inner_scope): Make it static.
- 	* rtl.h: Remove the corresponding prototype.
- 
- 	* cfgloopmanip.c (update_single_exits_after_duplication,
- 	unloop): Make them static.
- 	* cfgloop.h: Remove the corresponding prototypes.
- 
- 	* c-typeck.c (c_size_in_bytes, record_maybe_used_decl):
- 	Make them static.
- 	* c-tree.h: Remove the corresponding prototypes.
- 
- 	* explow.c (round_push): Make it static.
- 	* expr.h: Remove the corresponding prototype.
- 
- 	* varasm.c (get_named_section_flags, decl_tls_model): Make
- 	them static.
- 	* output.h: Remove the prototype for get_named_section_flags.
- 	* tree.h: Remove the prototype for decl_tls_model.
- 
- 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* function.c (expand_function_end): Remove an "if" statement
- 	that always triggers.
- 	* stmt.c (expand_null_return_1): Likewise.
- 
- 2004-11-11  James E. Wilson  <wilson@specifixinc.com>
- 
- 	* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle XCmode.
- 	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P, SECONDARY_MEMORY_NEEDED,
- 	CLASS_MAX_NREGS): Likewise.
- 
- 2004-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17742
- 	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs): Handle
- 	MINUS_EXPR correctly.
- 
- 2004-11-11  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree-scalar-evolution.c (follow_ssa_edge_in_condition_phi):
- 	Give up as soon as the evolution is known not computable.
- 
- 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR target/16457
- 	* config/rs6000/rs6000.c (mask64_2_operand): Stub to call
- 	mask64_1or2_operand.
- 	(mask64_1or2_operand): Broken out of mask64_2_operand, add flag
- 	to spot rlwinm opportunities.
- 	(and64_2_operand): Use mask_1or2_operand.
- 	* config/rs6000/rs6000.md (anddi3): Use rlwinm when possible.
- 
- 2004-11-11  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (update_phi_nodes_for_guard): Call reverse_phis.
- 	(vect_update_ivs_after_vectorizer): Update function documentation.
- 	Avoid quadratic behavior and direct write to PHI_ARG_DEF.
- 
- 2004-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c: Fix a comment typo.
- 
- 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.h (nBITMAP_WORD_BITS): Remove.
- 	(BITMAP_WORD_BITS): Force unsigned by use of 1u.
- 	(BITMAP_ELEMENT_WORDS, BITMAP_ELEMENT_ALL_BITS): Remove
- 	unnecessary casts.
- 	(bitmap_first_set_bit): Return unsigned, use ctzl.
- 	(bitmap_last_set_bit): Remove.
- 	* bitmap.c (bitmap_element_zerop, bitmap_copy): Make iterator
- 	unsigned.
- 	(bitmap_first_set_bit): Return unsigned, require non-empty bitmap,
- 	remove special case code for two word elements.
- 	(bitmap_last_set_bit): Remove.
- 	* ra-build.c (livethrough_conflicts_bb): Replace unnecessary use of
- 	bitmap_first_set_bit with bitmap_empty_p.
- 	* tree-outof-ssa.c (analyze_edges_for_bb): Likewise.
- 	* tree-ssa-pre.c (bitmap_print_value): Use simple flag rather than
- 	bitmap_last_bit_set.
- 
- 2004-11-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR target/16796
- 	* config/rs6000/rs6000.md: Add DF & SF reg move peepholes.
- 
- 	PR target/16458
- 	* config/rs6000/rs6000.c (rs6000_generate_compare): Generate an
- 	unsigned equality compare when we know the operands are unsigned.
- 
- 2004-11-10  Peter S. Mazinger  <ps.m@gmx.net>
- 
- 	* config/mips/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Define
- 	__PIC__ and __pic__ only if TARGET_ABICALLS.
- 	(SUBTARGET_CPP_SPECS): Don't define or undefine __PIC__ and __pic__.
- 	(SUBTARGET_ASM_SPECS): Don't pass -non_shared to assembler; pass
- 	-KPIC only if not -mno-abicalls.
- 
- 	* config/alpha/linux.h, config/arm/linux-elf.h, config/pa/pa-linux.h
- 	* config/sparc/linux.h, config/sparc/linux64.h
- 	(TARGET_OS_CPP_BUILTINS): Define __PIC__ and __pic__ if flag_pic.
- 
- 	* config/arm/linux-gas.h (CPP_SPEC): Don't define __PIC__ or __pic__.
- 	* config/pa/pa/linux.h (CPP_SPEC): Likewise.
- 	* config/sparc/linux.h (CPP_SUBTARGET_SPEC): Likewise.
- 	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC): Likewise.
- 
- 2004-11-11  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask): Save PIC
- 	register if current_function_uses_pic_offset_table is set.
- 
- 2004-11-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (define_attr "type"): Add two and three.
- 	Change multi-instruction sequences to new attribute.
- 	* config/rs6000/{40x.md,440.md,603.md,6xx.md,
- 	7450.md,7xx.md,8540.md,mpc.md,power4.md,power5.md,
- 	rios1.md,rios2.md,rs64.md}: Add descriptions for two and three.
- 
- 2004-11-10  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-data-ref.c (build_classic_dist_vector): If either loop
- 	is outside of the nest we asked about, the dependence can't
- 	matter.
- 	(build_classic_dir_vector): Ditto.
- 
- 2004-11-10  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (get_address_cost): Add address elements in
- 	right order.
- 	(force_var_cost): Determine cost of addition and multiplication more
- 	precisely.
- 	(get_computation_cost_at): Add cost for computing address elements to
- 	the final cost.
- 
- 	* fold-const.c (fold): Attempt to use ptr_difference_const whenever
- 	one of the arguments of MINUS_EXPR is an address.
- 	(split_address_to_core_and_offset): New function.
- 	(ptr_difference_const): Handle case when one of the operands is a
- 	pointer.
- 	* tree-ssa-loop-ivopts.c (determine_base_object): Fold &*addr.
- 	(ptr_difference_cost): Pass addresses instead of objects to
- 	ptr_difference_const.
- 
- 2004-11-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.c (tree_check_failed): Emit general error if the list of
- 	node types is empty.
- 
- 2004-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_union_value): New 'slotno'
- 	argument.  When the union is passed in the 6th slot, build a
- 	PARALLEL with only one element.
- 	(function_arg): Adjust call to function_arg_union_value.
- 	(function_value): Likewise.
- 
- 2004-11-10  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	PR tree-optimization/17892
- 	* tree-ssa-dom.c (unsafe_associative_fp_binop): Add test for
- 	MINUS_EXPR operator.
- 
- 2004-11-10  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR target/18230
- 	config/sparc/sparc.md (addsi3, subsi3): Set "fptype" attribute.
- 	(addv2si, addv4hi, addv2hi, subv2si, subv4hi, subv2hi): New patterns.
- 
- 2004-11-10  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.h (XMALLOC_REG_SET, XFREE_REG_SET): New.
- 	(struct basic_block_def): Remove local_set and cond_local_set
- 	fields.  Update comment for global_live_at_start.
- 	* flow.c (calculate_global_regs_live): Allocate local_sets and
- 	cond_local_sets here as arrays of bitmaps previously stored in
- 	bb->local_set and bb->cond_local_set.  Use xmalloc instead of
- 	obstack allocated bitmaps.
- 
- 2004-11-09  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/18380
- 	* config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
- 	hidden.
- 
- 	* unwind-dw2.c (_Unwind_FindTableEntry): Removed.
- 
- 2004-11-09  Jeff Law  <law@redhat.com>
- 
- 	* cfganal.c (flow_dfs_compute_reverse_execute): Accept new
- 	argument holding last unvisited block.  Start search for
- 	unvisited blocks at LAST_UNVISITED rather than EXIT_BLOCK.
- 	(connect_infinite_loops_to_exit): Supply last unvisited block
- 	to flow_dfs_compute_reverse_execute.
- 
- 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (fix_truncdfsi2): Handle e500
- 	doubles.
- 	(floatunssidf2): Same.
- 	(floatsidf2): Same.
- 	("extendsfdf2"): New expander.
- 	(*extendsfdf2_fpr): Rename.
- 	(*truncdfsf2_fpr): Same.
- 	(*negdf2_fpr): Same.
- 	(*absdf2_fpr): Same.
- 	(*nabsdf2_fpr): Same.
- 	(*adddf3_fpr): Same.
- 	(*subdf3_fpr): Same.
- 	(*muldf3_fpr): Same.
- 	(*divdf3_fpr): Same.
- 
- 	* config/rs6000/spe.md ("spe_extendsfdf2"): Remove FIXME comment.
- 	("spe_fix_truncdfsi2"): Same.
- 	(spe_floatunssidf2): Same.
- 	(spe_floatsidf2): Same.
- 
- 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	PR c/18322
- 	* c-common.c (fname_decl): Don't use line number of decl in
- 	diagnostic.
- 
- 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_pool_operand): Remove.
- 	* config/s390/s390.c (s390_pool_operand): Likewise.
- 	(s390_extra_constraint_str): Handle 'B' constraints.
- 	* config/s390/s390.h (CONSTRAINT_LEN): Handle 'B' constraints.
- 	* config/s390/s390.md: Document 'B' constraints.
- 	("*cmpdi_cct", "*cmpsi_cct"): Use 'B' constraint instead of
- 	s390_pool_operand to prevent insns with two literal pool
- 	references.  Make pattern commutative.
- 	("*cmpdi_ccu", "*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use
- 	'B' constraint instead of s390_pool_operand.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (create_bb): Remove unnecessary memset.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-threadupdate.c (copy_phis_to_block): Remove.
- 	(thread_block): Call flush_pending_stmt instead of
- 	copy_phis_to_block.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* loop-iv.c (iv_number_of_iterations): Make it static.
- 	* cfgloop.h: Remove the corresponding prototype.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* function.c (combine_temp_slots, assign_parms,
- 	expand_pending_sizes): Make them static.
- 	* tree.h: Remove the corresponding prototypes.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (copy_most_rtx): Remove.
- 	* rtl.h: Remove the corresponding prototype.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgloop.c (flow_loops_update): Remove.
- 	* cfgloop.h: Remove the corresponding prototype.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* conflict.c (mark_reg, conflict_graph_compute): Remove.
- 	* basic-block.h: Remove the prototype for
- 	conflict_graph_compute.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-if-conv.c (add_to_dst_predicate_list): Change the
- 	second argument to basic_block.
- 	(tree_if_convert_cond_expr): Update call sites.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (pedantic_non_lvalue): Make it static.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c (prepare_operand): Make it static.
- 	* optabs.h: Remove the corresponding prototype.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reloads_conflict, gen_reload): Make them static.
- 	* reload.h: Remove the corresponding prototypes.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload.c (refers_to_mem_for_reload_p,
- 	refers_to_regno_for_reload_p): Make them static.
- 	* reload.h: Remove the corresponding prototypes.
- 
- 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/18230
- 	* doc/md.texi (SPARC constraints): Document 'Y' constraint.
- 	* config/sparc/sparc-modes.def: Add vector modes of 4 and 8 bytes.
- 	* config/sparc/sparc.c (sparc_vector_mode_supported_p): New function.
- 	(TARGET_VECTOR_MODE_SUPPORTED_P): Set to sparc_vector_mode_supported_p.
- 	(fp_zero_operand): Accept MODE_VECTOR_INT modes.
- 	(input_operand): Accept CONST_VECTOR with MODE_VECTOR_INT modes.
- 	(sparc_cannot_force_const_mem): Return false for CONST_VECTOR.
- 	(sparc_init_modes): Set sparc_mode_class to SF_MODE or DF_MODE for
- 	MODE_VECTOR_INT modes.
- 	(sparc_extra_constraint_check): Add new constraint 'Y'.
- 	* config/sparc/sparc.h: Define UNITS_PER_SIMD_WORD to 8 for TARGET_VIS.
- 	* config/sparc/sparc.md (V32): New mode macro for 32-bit modes.
- 	(V64): New mode macro for 64-bit modes.
- 	(movsf): Use V32 for mode instead of SF.
- 	(movsf_insn_vis): Use V32 for mode instead of SF.  Add 'Y' constraint
- 	alongside 'G' constraint.
- 	(movdf): Use V64 for mode instead of DF.
- 	(movdf_insn_v9only_vis, modf_insn_sp64_vis): Use V64 for mode instead
- 	of DF.  Add 'Y' constraint alongside 'G' constraint.
- 	(multi-isn and misaligned mems DFmode splitters): Use V64 for mode
- 	instead of DF.
- 
- 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_select_ccmode): Return CCAPmode for
- 	integer NEG and ABS.
- 	* config/s390/s390.md ("*negdi2_64"): Fix op_type attribute.
- 	("*negdi2_31"): Reimplement using a splitter.
- 	("*negdi2_cc", "*negdi2_cconly"): New insns.
- 	("*negdi2_sign", "*negdi2_sign_cc"): Likewise.
- 	("*negsi2_cc", "*negsi2_cconly"): Likewise.
- 	("*negdf2_cc", "*negdf2_cconly"): Likewise.
- 	("*negsf2_cc", "*negsf2_cconly"): Likewise.
- 	("*absdi2_cc", "*absdi2_cconly"): New insns.
- 	("*absdi2_sign", "*absdi2_sign_cc"): Likewise.
- 	("*abssi2_cc", "*abssi2_cconly"): Likewise.
- 	("*absdf2_cc", "*absdf2_cconly"): Likewise.
- 	("*abssf2_cc", "*abssf2_cconly"): Likewise.
- 	("*negabsdi2_cc", "*negabsdi2_cconly"): New insns.
- 	("*negabsdi2_sign", "*negabsdi2_sign_cc"): Likewise.
- 	("*negabssi2_cc", "*negabssi2_cconly"): Likewise.
- 	("*negabsdf2_cc", "*negabsdf2_cconly"): Likewise.
- 	("*negabssf2_cc", "*negabssf2_cconly"): Likewise.
- 
- 2004-11-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_canonicalize_comparison): Reverse condition
- 	when eliminating an UNSPEC_CMPINT.
- 	(s390_secondary_input_reload_class): Fix test for CC register reload.
- 	(s390_secondary_output_reload_class): Likewise.
- 	(s390_expand_cmpmem): Swap operands.  Use gen_cmpint.
- 	* config/s390/s390.md ("*cmpint_si", "*cmpint_di"): Remove.
- 	("cmpint", "*cmpint_cc", "*cmpint_sign", "*cmpint_sign_cc"): New
- 	insn patterns with splitters.
- 
- 2004-11-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Add EQ, GTU, and LTU.
- 	* config/rs6000/rs6000.md (sCC): Split GTU and LTU patterns.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (phi_reverse): New.
- 	* tree-cfg.c (tree_make_forwarder_block, tree_duplicate_bb):
- 	Use it.
- 	* tree-flow.h: Add a prototype for phi_reverse.
- 
- 2004-11-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-loop-ivopts.c: Fix a comment typo.
- 
- 2004-11-09  James A. Morrison  <phython@gcc.gnu.org>
- 
- 	PR pch/14940
- 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __sparc__
- 	definitions.
- 
- 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* builtins.c, c-common.c, c-decl.c, c-format.c: Say "argument"
- 	instead of "arg" in diagnostics.
- 
- 2004-11-09  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
- 	c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
- 	gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
- 	tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
- 	config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
- 	config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
- 	config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
- 	config/iq2000/iq2000.c, config/m32r/m32r.c,
- 	config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
- 	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
- 	config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
- 	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
- 	config/sh/symbian.c, config/stormy16/stormy16.c,
- 	config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
- 	and %> as appropriate.  Use %' as apostrophe in diagnostics where
- 	applicable.  Use %< and %> in place of '' quotes where applicable.
- 	Use %qs in place of %<%s%>.  Consistently quote __builtin function
- 	names.
- 
- 2004-11-09  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* gdbinit.in (pbb, pbm): New macros.
- 
- 2004-11-08 Jeff Law  <law@redhat.com>
- 
- 	* cfg.c (redirect_edge_succ_nodup): Use find_edge rather than
- 	implementing it inline.
- 
- 	* cfganal.c (find_edge): Search pred->succs or succ->preds,
- 	whichever is shorter.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* passes.c (rest_of_handle_jump): Remove dead code.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Speed up by keeping a pointer to
- 	the last used element in the worklist.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-inline.c (remap_save_expr): Make it static.
- 	* tree-inline.h: Remove the corresponding prototype.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-loop-niter.c (upper_bound_in_type,
- 	lower_bound_in_type): Make them static.
- 	* tree.h: Remove the corresponding prototypes.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-live.c (tpa_init, pop_best_coalesce): Make them
- 	static.
- 	* tree-ssa-live.h: Remove the corresponding prototypes.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-if-conv.c (tree_if_conversion): Make it static.
- 	* tree-flow.h: Remove the corresponding prototype.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-operands.c (build_ssa_operands): Make it static.
- 	* tree-flow.h: Remove the corresponding prototype.
- 
- 2004-11-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18299
- 	* tree-inline.c (copy_body_r): Change "t = t" to empty
- 	statement instead of "t".
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* modulo-sched.c (create_partial_schedule,
- 	free_partial_schedule, reset_partial_schedule,
- 	ps_add_node_check_conflicts, rotate_partial_schedule): Make
- 	them static.
- 
- 2004-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (extract_force_align_mem_bit_field): Correct handling at
- 	the end of a page.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* sched-deps.c (add_insn_mem_dependence): Make it static.
- 	* sched-int.h: Remove the corresponding prototypes.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* flow.c (allocate_bb_life_data): Make it static.
- 	* basic-block.h: Remove the corresponding prototype.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c (split_complex_values, split_complex_types): Make
- 	them static.
- 	* expr.h: Remove the corresponding prototypes.
- 
- 2004-11-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_handle_notshared_attribute): Wrap declaration and use
- 	with #if TARGET_DLLIMPORT_DECL_ATTRIBUTES.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-if-conv.c (tree_if_convert_cond_expr): Remove two "if"
- 	statements that always trigger.
- 
- 2004-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c, tree-if-conv.c, tree-into-ssa.c,
- 	tree-scalar-evolution.c, tree-ssa-loop-im.c,
- 	tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa.c,
- 	tree-vectorizer.c: Replace TREE_CHAIN with PHI_CHAIN where
- 	appropriate.
- 
- 2004-11-08  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cgraph.h (cgraph_calls_p): Remove.
- 	* cgraph.c (cgraph_calls_p): Likewise.
- 
- 	* varray.h (varray_copy): Remove.
- 	* varray.c (varray_copy): Likewise.
- 
- 2004-11-07  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/18269
- 	* config/darwin.c (machopic_indirect_data_reference):
- 	Call gen_macho_high and gen_macho_low instead of
- 	checking the mode and calling gen_macho_high_di directly.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
- 	* config/rs6000/rs6000.md: Move most of TARGET_MACHO expand/insns
- 	to darwin.md.
- 	(movdf_low, movsf_low, movsf_low_st, movsi_low, macho_correct_pic,
- 	load_macho_picbase, macho_low, macho_high): Removed.
- 	(builtin_setjmp_receiver): Call gen_macho_high and
- 	gen_macho_low instead of checking the mode and calling
- 	gen_macho_high_di directly.
- 	* config/rs6000/darwin.md (load_macho_picbase_di): Use the MD constant.
- 	(movdf_low_si, movsf_low_si, movsf_low_st_si, movsi_low_st):
- 	Moved from rs6000.md.
- 	(macho_high): New expander.
- 	(macho_high_si): Renamed version of macho_high from rs6000.md.
- 	(macho_low): New expander.
- 	(macho_low_si): Renamed version of macho_low from rs6000.md.
- 	(load_macho_picbase): New expander.
- 	(load_macho_picbase_si): Renamed version of load_macho_picbase
- 	from rs6000.md.
- 	(macho_correct_pic): New expander.
- 	(macho_correct_pic_si): Renamed version of macho_correct_pic
- 	from rs6000.md.
- 
- 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-decl.c (finish_struct): Use complete sentences for diagnostic
- 	for structures or unions with no members or named members.
- 
- 2004-11-07  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-typeck.c (build_unary_op): Replace unreachable diagnostic for
- 	taking address of bit-field by assertion.
- 
- 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (attribute "op_type"): Default to "NN".
- 	(attribute "atype"): Default to "agen".
- 	(attribute "length"): Default to 6.
- 	(define_asm_attibutes): Remove.
- 	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
- 	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf",
- 	"*clc", "*mvc", "*nc", "*oc", "*xc", "*xc_zero"):
- 	Do not set type attribute to "cs" where already default.
- 	("*cmpint_si", "*cmpint_di", "fix_truncdfsi2_ibm", "floatsidf2_ibm",
- 	"*negdi2_31"):
- 	Do not set type attribute to "other" where already default.
- 	("movti", "*movdi_64", "*movdi_31", "*movdf_31",
- 	"*strlendi", "*strlensi",
- 	"*movmem_long_64", "*movmem_long_31",
- 	"*clrmem_long_64", "*clrmem_long_31",
- 	"*cmpmem_long_64", "*cmpmem_long_31",
- 	"*cmpint_si", "*cmpint_di",
- 	"addti3", "*adddi3_31z", "*adddi3_31",
- 	"subti3", "*subdi3_31z", "*subdi3_31", "*negdi2_31",
- 	"*sconddi", "*scondsi", "*sconddi_neg", "*scondsi_neg",
- 	"fix_truncdfsi2_ibm", "floatsidf2_ibm", "extendsfdf2_ibm",
- 	"*pool_entry", "pool_align", "pool_section_start",
- 	"pool_section_end", "main_pool", "reload_base_31", "pool"):
- 	Do not set op_type attribute to "NN" where already default.
- 	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
- 	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
- 	"fix_truncdfsi2_ibm", "floatsidf2_ibm"):
- 	Do not set atype attribute to "agen" where already default.
- 	("*movmem_short", "*clrmem_short", "*cmpmem_short"): Don't set op_type.
- 
- 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/t-iris6 (tp-bit.c): Fix target filename.
- 
- 2004-11-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16830
- 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define the
- 	R3000 and R4000 macros on IRIX.
- 
- 2004-11-06  Andreas Schwab  <schwab@suse.de>
- 
- 	PR target/16286
- 	* config/rs6000/altivec.h: Replace bool by __bool and pixel by
- 	__pixel.
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-copyrename.c (rename_ssa_copies): Make it static.
- 
- 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
- 	matches no insns already matched by other reservations.
- 	* config/s390/2084.md ("x_int", "x_agen"): Ensure the condition
- 	matches no insns already matched by other reservations.
- 	("x_ss"): Remove, replace by ...
- 	("x_cs"): ... this new reservation.  Check type instead of op_type.
- 	Update bypasses to use x_cs instead of x_ss.
- 	("x_nn"): Remove, replace by ...
- 	("x_other"): ... this new reservation.  Check type instead of op_type.
- 	Add x_other and x_branch to bypasses.
- 	("x_vs"): New reservation.
- 	* config/s390/s390.md (attribute "type"): Default according to op_type.
- 	("*execute"): Set type to "cs".
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (non_lvalue): Don't construct NON_LVALUE_EXPR
- 	if we are in GIMPLE.
- 
- 2004-11-06  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR rtl-optimization/17933
- 	* rtlanal.c (dead_or_set_regno_p): Break out common code to...
- 	(covers_regno_p): New function.  Handle SETs of PARALLEL,
- 	and defer the rest to...
- 	(covers_regno_no_parallel_p): New function.
- 
- 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (function_arg_record_value_1): Skip
- 	fields with zero length.
- 	(function_arg_record_value_2): Likewise.
- 	(function_arg_record_value_3): Use smallest_mode_for_size
- 	instead of mode_for_size.
- 	(function_arg_union_value): Return naked register for unions
- 	with zero length.
- 
- 2004-11-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (scan_record_type): Handle vector types.
- 	(function_arg_slotno): Handle vector types specially.
- 	(function_arg_record_value_1): Split fields with vector type and
- 	BLKmode into their subparts.
- 	(function_arg_record_value_2): Likewise.  Be prepared to handle
- 	more than 2 registers per field.
- 	(function_arg_union_value): Increment regno inside the loop.
- 	(function_arg_vector_value): New function.
- 	(function_arg): Use it to split fields with vector type and
- 	BLKmode into their subparts and build a PARALLEL.  Treat
- 	other vector types like floats.
- 	(function_value): Likewise.
- 	(sparc_pass_by_reference): Handle vector types.
- 	(sparc_return_in_memory): Likewise.
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (find_taken_edge_cond_expr): Remove an "if"
- 	statement that never triggers.
- 
- 2004-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/2064.md ("z_o2", "z_o3"): Remove.
- 	* config/s390/2084.md ("x_o2", "x_o3"): Remove.
- 	("x_fdivd"): Use also for fsqrtd type.
- 	("x_fdivs"): Use also for fsqrts type.
- 	* config/s390/s390.md (attribute "type"): Remove "o2" and "o3" types.
- 	("fix_truncdfsi2_ieee"): Set type to "ftoi".
- 	("fix_truncdfsi2_ibm"): Set type to "other".
- 	("floatdidf2", "floatdisf2"): Do not clobber CC.
- 	("floatsidf2", "floatsidf2_ieee"): Likewise.
- 	("floatsisf2", "floatsisf2_ieee"): Likewise.
- 	("truncdfsf2", "truncdfsf2_ieee"): Only allow "register_operand".
- 	("truncdfsf2_ibm"): Only allow "nonimmediate_operand".  Use LER
- 	instead of LRER.
- 	("extendsfdf2_ibm"): Do not set atype.  Set type to "floads".
- 	("sqrtdf2"): Set type to "fsqrtd".
- 	("sqrtsf2"): Set type to "fsqrts".
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (remove_all_phi_nodes_for): Speed up using a
- 	pointer to the last PHI node in the new PHI chain.
- 
- 2004-11-06  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (prepare_move_operands): Emit a use of r12
- 	for non-PIC TLS_MODEL_INITIAL_EXEC case.
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expmed.c: Fix a comment typo.
- 
- 2004-11-06  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
- 
- 	PR target/18106
- 	* config/i386/cygming.h
- 	[HAVE_GAS_WEAK] (ASM_WEAKEN_LABEL): Macro defined.
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh4a.md: Fix copyright.
- 
- 2004-11-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/rs6000/darwin.md, config/sh/sh4a.md: Replace GNU CC
- 	with GCC.
- 
- 2004-11-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (scc patterns): Replace subfc with subf
- 	when carry not used.  Suggested by Torbjorn Granlund.
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Don't force_reg
- 	operand[1] unnecessarily.  Suggested by Eric Christopher.
- 	(rs6000_adjust_cost): Increase latency of store to wider load.
- 	(rs6000_rtx_costs): mulli only allows 16-bit constants.
- 
- 2004-11-05  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (machopic_output_stub): Output
- 	ldu instead of lwzu for 64-bit stubs.
- 
- 2004-11-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Special case
- 	size 2 with BWX.
- 	(alpha_expand_unaligned_store): Likewise.
- 
- 2004-11-05  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (extract_force_align_mem_bit_field): New.
- 	(extract_split_bit_field): Call it.
- 
- 2004-11-05  Richard Henderson  <rth@redhat.com>
- 
- 	* ia64.md (UNSPEC_SHRP): New.
- 	(dshift_count_operand): New.
- 	(ashrti3, ashrti3_internal, lshrti3, lshrti3_internal, shrp): New.
- 	* ia64.c (rtx_needs_barrier): Handle UNSPEC_SHRP.
- 
- 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* c-typeck.c (output_init_element): Return early if value is
- 	error_mark_node.
- 
- 2004-11-05  James E Wilson  <wilson@specifixinc.com>
- 
- 	* invoke.texi (-fno-guess-branch-probability): Rewrite.
- 
- 	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC_GR_SPILL): Change
- 	1 to UNSPEC_GR_SPILL.
- 
- 2004-11-05  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_fixed_condition_code_regs): New function.
- 	(TARGET_FIXED_CONDITION_CODE_REGS): Macro defined.
- 
- 2004-11-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.h (enum bitmap_bits): Remove.
- 	(bitmap_operation): Remove.
- 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
- 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
- 	bitmap_xor_into): Prototype.
- 	* bitmap.c (bitmap_elt_insert_after, bitmap_elt_clear_from): New.
- 	(bitmap_operation): Remove.
- 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
- 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
- 	bitmap_xor_into): New.
- 	(bitmap_ior_and_compl, bitmap_ior_and_compl_into): Adjust.
- 
- 	PR tree-optimization/18307
- 	* tree-ssa-alias.c (merge_pointed_to_info): Protected against DEST
- 	and ORIG being the same node.
- 
- 2004-11-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
- 	(install-mkheaders): Install the version built for the
- 	host, not for the build machine.
- 	* configure.ac: Always run fixincludes.
- 	(all_outputs): Remove mkheaders.
- 	* configure: Regenerate.
- 	* fixinc.in: Move to fixincludes/.
- 	* mkfixinc.sh: Likewise.
- 	* mkheaders.in: Likewise.
- 	* README-fixinc: Likewise.
- 
- 2004-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
- 
- 	PR target/18263
- 	* config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
- 	equivalent on the A4.
- 
- 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,
- 	doc/cppopts.texi, doc/extend.texi, doc/fragments.texi,
- 	doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi,
- 	doc/implement-c.texi, doc/install.texi, doc/invoke.texi,
- 	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
- 	doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi,
- 	doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi,
- 	doc/trouble.texi: Correct end-of-sentence markup and markup of
- 	"etc.", "e.g." and "i.e.".  Use @code in various places where
- 	appropriate.
- 
- 2004-11-05  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,
- 	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi,
- 	doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing
- 	whitespace.
- 
- 2004-11-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_handle_notshared_attribute): New function.
- 	* doc/extend.texi: Document "notshared" attribute.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (make_phi_node): Make it static.
- 	* tree.h: Remove the prototypes for make_phi_node.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_asm, expand_asm_operands): Make them static.
- 	* tree.h: Remove the prototypes for expand_asm and
- 	expand_asm_operands.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* passes.c (rest_of_compilation): Make it static.
- 	* toplev.h: Remove the prototype for rest_of_compilation.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* jump.c (cleanup_barriers): Use delete_insn instead of
- 	delete_barrier.
- 	(delete_barrier): Remove.
- 	* rtl.h: Remove the corresponding prototype.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (mostly_zero_p): Make it static.
- 	* tree.h: Remove the prototype for mostly_zeros_p.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Make it static.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c (expand_builtin_return_addr,
- 	expand_builtin_longjmp, expand_builtin_trap): Make them static.
- 	* expr.h: Remove the prototypes for expand_builtin_longjmp and
- 	expand_builtin_trap.
- 	* tree.h: Remove the prototype for expand_builtin_return_addr.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (find_taken_edge): Reject VAL begin NULL.
- 	* tree-ssa-ccp.c (visit_cond_stmt): Don't call find_taken_edge
- 	with VAL being NULL.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfghooks.c (delete_basic_block): Remove code to truncate
- 	edge vectors.
- 
- 2004-11-04  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* flow.c (init_propagate_block_info): Change the type of i to
- 	unsigned.
- 
- 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR tree-optimization/18184
- 	* c-typeck.c (comptypes): Do not treat pointers of different
- 	modes or alias-all flags as equivalent.
- 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Likewise.
- 
- 2004-11-04  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* doc/gty.texi, doc/makefile.texi, doc/sourcebuild.texi: Don't
- 	reference specific C parser files in examples.
- 
- 2004-11-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/15342
- 	* regrename.c (scan_rtx): Treat the destinations of SETs and CLOBBERs
- 	as OP_INOUT if the instruction is predicated.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bitmap.h: Fix a comment typo.  Follow spelling conventions.
- 	* tree-vectorizer.c: Fix a comment typo.
- 
- 2004-11-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* sdbout.c (SDB_GENERATE_FAKE): Remove.
- 	(gen_fake_label): Don't use SDB_GENERATE_FAKE.
- 	* system.h: Poison SDB_GENERATE_FAKE.
- 	* doc/tm.texi (SDB_GENERATE_FAKE): Remove.
- 
- 2004-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*addsi3_sign"): Use canonical RTL.
- 
- 2004-11-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR other/18277
- 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Revert
- 	2004-10-29 patch
- 
- 2004-11-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* predict.c (propagate_freq): Make bitno unsigned. Move
- 	npredecessors update out of loop.
- 
- 	* bitmap.h (bitmap_iterator): Remove word_bit and bit
- 	fields. Rename others.
- 	(bmp_iter_common_next_1, bmp_iter_single_next_1,
- 	bmp_iter_single_init, bmp_iter_end_p, bmp_iter_single_next,
- 	bmp_iter_and_not_next_1, bmp_iter_and_not_init,
- 	bmp_iter_and_not_next, bmp_iter_and_next_1, bmp_iter_and_init,
- 	bmp_iter_and_next): Remove.
- 	(bmp_iter_set_init, bmp_iter_and_init, bmp_iter_and_compl_init,
- 	bmp_iter_next, bmp_iter_set, bmp_iter_and, bmp_iter_and_compl):
- 	New.
- 	(EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_IN_BITMAP,
- 	EXECUTE_IF_AND_COMPL_IN_BITMAP): Adjust.
- 
- 	* bitmap.h (bitmap_a_or_b, bitmap_a_and_b): Remove.
- 	* df.c (dataflow_set_a_op_b): Use bitmap_and, bitmap_ior,
- 	bitmap_and_into, bitmap_ior_into as appropriate.
- 	* except.c (remove_eh_handler):	Likewise.
- 	* global.c (modify_bb_reg_pav, make_accurate_live_analysis): Likewise.
- 	* tree-dfa.c (mark_new_vars_to_rename): Likewise.
- 	* tree-ssa-alias.c (merge_pointed_to_info): Likewise.
- 	* tree-ssa-live.h (live_merge_and_clear): Likewise.
- 	* tree-ssa-loop-ivopts.c (find_best_candidate, try_add_cand_for):
- 	Likewise.
- 
- 	* bitmap.c (bitmap_print): Make bitno unsigned.
- 	* bt-load.c (clear_btr_from_live_range,
- 	btr_def_live_range): Likewise.
- 	* caller-save.c (save_call_clobbered_regs): Likewise.
- 	* cfganal.c (compute_dominance_frontiers_1): Likewise.
- 	* cfgcleanup.c (thread_jump): Likewise.
- 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
- 	* conflict.c (conflict_graph_compute): Likewise.
- 	* ddg.c (add_deps_for_use): Likewise.
- 	* df.c (df_refs_update): Likewise.
- 	* except.c (remove_eh_handler): Likewise.
- 	* flow.c (verify_local_live_at_start, update_life_info,
- 	initialize_uninitialized_subregs, propagate_one_insn,
- 	free_propagate_block_info, propagate_block, find_use_as_address,
- 	reg_set_to_hard_reg_set): Likewise.
- 	* gcse.c (clear_modify_mem_tables): Likewise.
- 	* global.c (global_conflicts, build_insn_chain): Likewise.
- 	* ifcvt.c (dead_or_predicable): Likewise.
- 	* local-alloc.c (update_equiv_regs): Likewise.
- 	* loop.c (load_mems): Likewise.
- 	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs):
- 	Likewise.
- 	* ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill):
- 	Likewise.
- 	* reload1.c (order_regs_for_reload, finish_spills): Likewise.
- 	* sched-deps.c (sched_analyze_insn, free_deps): Likewise.
- 	* sched-rgn.c (propagate_deps
- 	* tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise.
- 	* tree-dfa.c (dump_dfa_stats
- 	tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
- 	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags):
- 	Likewise.
- 	* tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars,
- 	free_temp_expr_table, find_replaceable_exprs): Likewise.
- 	* tree-sra.c (scan_function, scalarize_parms): Likewise.
- 	* tree-ssa-alias.c (init_alias_info,
- 	compute_points_to_and_addr_escape,
- 	compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise.
- 	* tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise.
- 	* tree-ssa-live.c (new_tree_live_info, live_worklist,
- 	calculate_live_on_entry, calculate_live_on_exit, compare_pairs,
- 	sort_coalesce_list, build_tree_conflict_graph, dump_live_info
- 	tree-ssa-loop-manip.c (add_exit_phis_var): Likewise.
- 	tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
- 	add_call_read_ops): Likewise.
- 	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise.
- 	* tree-ssa-live.h (num_var_partitions): Return unsigned.
- 
- 2004-11-03  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	PR tree-optimization/18009
- 	* tree-vectorizer.h (enum dr_alignment_support): New type.
- 	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): Removed.
- 	(LOOP_UNALIGNED_DR): replaced with LOOP_VINFO_UNALIGNED_DR and holds a
- 	single data_reference (instead of a varray of references).
- 	* tree-vectorizer.c (new_loop_vec_info): Likewise.
- 	(vect_gen_niters_for_prolog_loop): Likewise.
- 	(vect_update_inits_of_drs): Likewise.
- 
- 	(vect_update_inits_of_drs): Setting of DR_MISALIGNMENT moved to
- 	vect_enhance_data_refs_alignment.
- 	(vect_do_peeling_for_alignment): Likewise.
- 	(vect_enhance_data_refs_alignment): Decide if and by how much to peel;
- 	this functionality used to be in vect_analyze_data_refs_alignment.
- 	Also update DR_MISALIGNMENT due to peeling; this functionality used to
- 	be in vect_update_inits_of_drs and vect_do_peeling_for_alignment).
- 	(vect_analyze_data_refs_alignment): Decision on whether and by how much
- 	to peel moved to vect_enhance_data_refs_alignment. Call
- 	vect_supportable_dr_alignment.
- 
- 	(vect_compute_data_ref_alignment): Set STMT_VINFO_VECTYPE.
- 	(vect_compute_data_refs_alignment): Return bool. Consider return value
- 	of vect_compute_data_ref_alignment and return true/false accordingly.
- 	(vect_enhance_data_refs_alignment): Consider return value of
- 	vect_compute_data_refs_alignment and return true/false accordingly.
- 
- 	(vect_supportable_dr_alignment): New function.
- 	(vectorizable_store): Call vect_supportable_dr_alignment.
- 	(vectorizable_load): Call vect_supportable_dr_alignment. Alignment
- 	support checks moved from here to vect_supportable_dr_alignment.
- 
- 	(vect_transform_loop): Avoid 80 columns overflow.
- 
- 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* timevar.c (timevar_enable): Change from
- 	static.
- 	(timevar_push): Rename to ...
- 	(timevar_push_1): this and remove the
- 	enabled check.
- 	(timevar_pop): Rename to ...
- 	(timevar_pop_1): this and remove the
- 	enabled check.
- 	* timevar.h (POP_TIMEVAR_AND_RETURN): Use do/while loops.
- 	(timevar_pop): New macro.
- 	(timevar_push): New macro.
- 	(timevar_enable): Declare.
- 
- 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin.h (REAL_LIBGCC_SPEC): Define to use shared
- 	libgcc for shared libraries.
- 
- 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_split_access_reg): Add prototype.
- 	* config/s390/s390.c (s390_split_access_reg): New function.
- 	(regclass_map): Add access registers.
- 	(get_thread_pointer): Use access register instead of UNSPEC_TP.
- 	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Set to 38.
- 	(ACCESS_REGNO_P, ACCESS_REG_P): New macros.
- 	(TP_REGNUM): New define.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
- 	REG_ALLOC_ORDER): Add access registers.
- 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
- 	CANNOT_CHANGE_MODE_CLASS): Support access registers.
- 	(enum reg_class): Add ACCESS_REGS.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
- 	(REG_CLASS_FROM_LETTER): Add 't' constraint.
- 	(REGISTER_NAMES): Add access registers.
- 	* config/s390/s390.md (UNSPEC_TP): Remove.
- 	("*movdi_64"): Add access register alternatives.  Provide splitters
- 	to split DImode access register <-> GPR moves into SImode moves.
- 	("*movsi_zarch", "*movsi_esa"): Add access register alternatives.
- 	("movstrictsi"): Likewise.
- 	("get_tp_64", "get_tp_31"): Reimplement using access registers.
- 	("set_tp_64", "set_tp_31"): Likewise.
- 	("*set_tp"): New insn.
- 
- 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (resize_phi_node): Copy only a portion of
- 	the PHI node currently in use.
- 
- 2004-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/18231
- 	* tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
- 	also.
- 
- 2004-11-03  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	PR tree-optimization/18270
- 	* tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
- 	abnormal edges, commit all pending stmts on incoming edges.
- 
- 2004-11-03  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
- 	cause extra costs.  Generate canonical RTL.
- 
- 2004-11-02  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (lambda_compute_auxillary_space): Update comments.
- 	(lambda_compute_target_space). Ditto.
- 	* lambda.h (lambda_trans_matrix): Ditto.
- 	(lambda_linear_expression): Ditto.
- 	(lambda_body_vector): Ditto.
- 	(lambda_loopnest): Ditto.
- 	* tree-loop-linear.c (gather_interchange_stats): Combine tests,
- 	update comments, and remove pointless addition of 0.
- 	(linear_transform_loops): Update comments.
- 
- 2004-11-03  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
- 	CEIL_MOD_EXPR.
- 
- 2004-11-03 Jeff Law  <law@redhat.com>
- 
- 	* predict.c (struct block_info_def): Kill "tovisit" field.
- 	(propagate_freq): Accept new "tovisit" parameter.  Change
- 	read/write access methods for "tovisit" to check the "tovisit"
- 	bitmap instead of a bit in block_info_def.
- 	(estimate_loops_at_level): Allocate "tovisit" bitmap.  Pass
- 	it to propagate_freq.
- 
- 	* stmt.c (expand_case): Speed up code to detect duplicate case
- 	label targets and count unique case label targets.
- 
- 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cppdefault.c, cppdefault.h, timevar.h: Update copyright.
- 
- 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bitmap.h, dbxout.c, tree-mudflap.c: Fix comment formatting.
- 
- 2004-11-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (find_taken_edge): Abort if we are given a
- 	statement that is neither COND_EXPR nor SWITCH_EXPR.
- 
- 2004-11-02  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* fold-const.c (fold): Reassociate also (x - mult) + mult and
- 	(mult - x) + mult.  Cast operands of expression after applying
- 	distributive law to the correct types.  Apply distributive law
- 	to a * c - b * c for all non-float types.
- 
- 2004-11-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* configure.ac: Don't clear STMP_FIXINC or STMP_FIXPROTO just
- 	because we don't want to run them now; instead, set them to
- 	stmp-install-fixproto or stmp-install-fixinc.
- 	* Makefile.in (stmp-install-fixproto): New.
- 	(stmp-install-fixinc): New.
- 	* configure: Regenerate.
- 
- 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* flow.c (init_propagate_block_info): Use bitmap_empty_p on result
- 	of bitmap_xor.
- 
- 2004-11-02  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
- 	(c_types_compatible_p): Move function definition...
- 	* c-objc-common.c (c_types_compatible_p): ...here.
- 	* c-objc-common.h (LANG_HOOKS_TYPES_COMPATIBLE_P): Moved here from
- 	c-lang.c.
- 
- 2004-11-02  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgloop.h (struct loop): Update comment.
- 	* cse.c (cse_main): Remove obsolete comment.
- 
- 	* expr.h (gen_cond_trap): Move prototype under functions provided
- 	by optabs.c.
- 	(canonicalize_condition, get_condition): Move to...
- 	* rtl.h (canonicalize_condition, get_condition): ...here.
- 	(branch_target_load_optimize): Add comment that this function is
- 	in bt-load.c.
- 	* loop.c (canonicalize_condition, get_condition): Move to...
- 	* rtlanal.c (canonicalize_condition, get_condition): ...here.
- 	* sched-deps.c (get_condition): Rename to sched_get_condition.
- 	(add_dependence): Update this caller.
- 
- 2004-11-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/16808
- 	* tree-ssa.c (replace_immediate_uses): If we call fold_stmt, make sure
- 	that the vops get marked for renaming.
- 
- 2004-11-02  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("movcc"): Set type attribute.
- 
- 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (add_phi_arg): Add an assertion that the
- 	edge already exists.
- 
- 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (remove_phi_arg_num): Do not zero the
- 	element that's being removed.
- 
- 2004-11-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI
- 	arguments using PENDING_STMT.
- 	(thread_block): Call copy_phis_to_block after redirecting an
- 	edge.
- 
- 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.h (bitmap_and, bitmap_and_into, bitmap_and_compl,
- 	bitmap_and_compl_into, bitmap_ior, bitmap_iot_into,
- 	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): Produce void.
- 	(bitmap_ior_and_compl_into): Produce bool.
- 	(bitmap_union_of_diff): Rename to ...
- 	(bitmap_ior_and_compl): ... here. Produce bool.
- 	* bitmap.c (bitmap_ior_and_compl_into): Return bool. Use
- 	bitmap_operation directly.
- 	(bitmap_union_of_diff): Rename to ...
- 	(bitmap_ior_and_compl): ... here. Return bool, use
- 	bitmap_operation directly.
- 	* df.c (df_rd_transfer_function): Use bitmap_ior_and_compl.
- 	(df_ru_transfer_function, df_lr_transfer_function): Likewise.
- 	* global.c (modify_bb_reg_pav): Likewise.
- 
- 	* bitmap.h (bitmap_equal_p): Return bool.
- 	(bitmap_intersect_p, bitmap_intersect_compl_p): Declare.
- 	* bitmap.c (bitmap_equal_p): Return bool. Compare directly.
- 	(bitmap_intersect_p, bitmap_intersect_compl_p): New.
- 	* flow.c (calculate_global_regs_live): Use bitmap_intersect_p and
- 	bitmap_intersect_compl_p.
- 	* ifcvt (dead_or_predicable): Likewise.
- 
- 2004-11-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR rtl-optimization/17104
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Don't wrap small
- 	loads in zero_extend.
- 
- 2004-11-02  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR debug/18242
- 	* toplev.c (debug_type_names): Remove "dwarf-1".
- 
- 2004-11-02  Ben Elliston  <bje@au.ibm.com>
- 
- 	* timevar.h (timevar_get): Remove.
- 	* timevar.c (timevar_get): Remove unused function.
- 
- 2004-11-02  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* doc/include/texinfo.tex: Update from Texinfo CVS.
- 
- 2004-11-02  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cppdefault.h (cpp_SYSROOT): Remove.
- 	* cppdefault.c (cpp_SYSROOT): Likewise.
- 
- 2004-11-01  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	PR tree-optimization/16447
- 	* tree-cfg.c (bsi_commit_one_edge_insert): Rename from
- 	bsi_commit_edge_inserts_1, and make funtion external.  Return new block.
- 	(bsi_commit_edge_inserts): Use renamed bsi_commit_one_edge_insert.
- 	* tree-optimize.c (pass_cleanup_cfg_post_optimizing): Enable listing.
- 	* tree-flow.h (bsi_commit_one_edge_insert): Extern decl.
- 	* tree-outof-ssa.c (rewrite_trees): Don't commit edges here.
- 	(same_stmt_list_p): New.  Return TRUE if edge is to be forwarded.
- 	(identical_copies_p): New.  Return true is two copies are the same.
- 	(identical_stmt_lists_p): New.  Return true if stmt lists are the same.
- 	(analyze_edges_for_bb): New.  Determine how best to insert edge stmts
- 	for a basic block.
- 	(perform_edge_inserts): New.  Determine what to do with all stmts that
- 	have been inserted on edges.
- 	(remove_ssa_form):  Analyze and commit edges from here.
- 
- 2004-11-01  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR bootstrap/18232
- 	* bitmap.h (bmp_iter_end_p): Take a const pointer instead of a struct.
- 	(EXECUTE_IF_SET_IN_BITMAP): Update call to bmp_iter_end_p.
- 	(EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
- 	(EXECUTE_IF_AND_IN_BITMAP): Likewise.
- 
- 2004-11-01  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	PR c/18239
- 	* c-decl.c (get_parm_info): Allow FUNCTION_DECLs to appear amongst
- 	parameter declarations.
- 
- 2004-11-01  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (regclass_map): Put reg 33 (cc) to CC_REGS group.
- 	(s390_secondary_input_reload_class)
- 	(s390_secondary_output_reload_class): Use GENERAL_REGS to reload a cc
- 	register.
- 	(s390_expand_cmpmem): Enable cmpmem implementation.
- 	* config/s390/s390.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- 	Added three new classes: CC_REGS, ADDR_CC_REGS, GENERAL_CC_REGS.
- 	(REG_CLASS_FROM_LETTER): New constraint 'c' added.
- 	* config/s390/s390.md ("movcc"): New insn pattern.
- 	* doc/md.texi: Document 'c' constraint for s390.
- 
- 2004-11-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/18064
- 	* doc/extend.texi (Deprecated Features): Deprecate G++ covariant
- 	extension.
- 
- 2004-10-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/17672
- 	Fix PR tree-optimization/18168
- 
- 	* lambda-code.c (lambda_lattice_compute_base): Fix reversed
- 	assert test.
- 	(gcc_tree_to_linear_expression): Add extra to existing constant.
- 	(depth_of_nest): Factor out function used in various places.
- 	(gcc_loop_to_lambda_loop): Clean up code a little bit. No
- 	functional changes.
- 	(find_induction_var_from_exit_cond): Stop guessing, and just
- 	get the right answer :).
- 	(gcc_loopnest_to_lambda_loopnest): Remove useless pre-allocation.
- 	Print out message about result of attempt to create perfect nest.
- 	(lbv_to_gcc_expression): Add type argument, use it to do math
- 	and induction variable creation.
- 	(lle_to_gcc_expression): Ditto.
- 	(lambda_loopnest_to_gcc_loopnest): Create new iv with same type as
- 	oldiv. Pass type argument to lle_to_gcc_expression and
- 	lbv_to_gcc_expression.
- 	Reset number of iterations after transformation.
- 	(perfect_nestify): Remove useless pre-allocation, and cleanup
- 	a small amount.
- 
- 	* tree-data-ref.c (build_classic_dist_vector): Return false for
- 	dependences completely outside of the loop nest we asked about.
- 	(build_classic_dir_vector): Ditto.
- 	(compute_data_dependences_for_loop): Only add dependence relations
- 	inside the loop we asked about.
- 
- 	* tree-loop-linear.c (linear_transform_loops): Use DDR_SIZE_VECT.
- 	Compute immediate uses.
- 
- 	* tree-optimize.c: Move linear_transform_loops to before ivcanon.
- 
- 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Fix a comment typo.
- 
- 2004-11-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Fix a comment typo.
- 
- 2004-10-31  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/ieee754-sf.S (floatdisf): Fix regression with
- 	values smaller than 2^32.
- 
- 2004-10-31 Jeff Law  <law@redhat.com>
- 
- 	* cfgloop.h (struct loop): Remove unused "nodes" field.
- 	* timevar.def (TV_TREE_LOOP_BOUNDS): New.
- 	* tree-data-ref.c (find_data_references_in_loop): Use get_loop_body
- 	instead of calling flow_bb_inside_loop_p for every basic block
- 	in the function.
- 	* tree-ssa-loop.c (pass_record_bounds): Use TV_TREE_LOOP_BOUNDS.
- 
- 2004-10-31  Graham Stott <graham.stott@btinternet.com>
- 
- 	* config/pa/pa.md: (prefetch_64, prefetch_32): Fix typo.  Use
- 	INT_5_BITS instead of VAL_5_BITS_P.
- 
- 2004-10-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/14521
- 	* tree-inline.c (inline_forbidden_p_1): Use %qF instead of '%F'
- 	for consistent quoting in diagnostic messages.
- 	(expand_call_inline): Likewise.
- 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
- 	* tree-ssa.c (warn_uninitialized_var): Likewise.
- 	(warn_uninitialized_phi): Likewise.
- 
- 2004-10-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_cannot_change_mode_class): Use a stricter
- 	mode check.
- 
- 2004-10-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c: Fix a comment typo.
- 
- 2004-10-31  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/17526
- 	* tree-gimple.c (is_gimple_mem_rhs): Also require a val for
- 	aggregate types that are not BLKmode.
- 
- 2004-10-30  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.h (objc_lookup_ivar): Add second parameter to
- 	prototype.
- 	* c-typeck.c (build_external_ref): After looking up symbol,
- 	pass it to objc_lookup_ivar() to decide whether it or the
- 	ivar should be used, rather than deciding the issue locally.
- 	* stub-objc.c (objc_lookup_ivar): Add an OTHER parameter,
- 	which is simply returned in the non-ObjC case.
- 
- 2004-10-30  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* sdbout.c (sdbout_symbol): Do not output type .def statements
- 	for builtin types.
- 
- 2004-10-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-common.c (catenate_strings): New.
- 	(c_parse_error): Use it.  Don't over-escape.
- 
- 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (calc_live_regs): Declare reg as unsigned and
- 	modify the for loop expressions for it.  Remove unnecessary casts.
- 	(sh_expand_prologue): Declare reg as unsigned.
- 	(sh_gimplify_va_arg_expr): Initinalize lab_over.
- 	(sh_handle_sp_switch_attribute): Add const qualifier appropriately.
- 
- 2004-10-30  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi (Darwin Options): Improve description of
- 	how the subtype is chosen.
- 
- 2004-10-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/18096
- 	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
- 	the stack adjustment, "size", is valid for Pmode.  If the stack
- 	frame is too large, generate a trap insn and issue a warning.
- 
- 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dom.c: Fix comment typos.
- 
- 2004-10-30  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (prepare_move_operands): Use operands[0]
- 	for the output rtl if no_new_pseudos is set.  Remove redundant
- 	line.
- 
- 2004-10-30  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	PR c/16666
- 	* c-decl.c (start_function): Don't check for DECL_BUILT_IN when
- 	determining whether to copy parameter types from a previous
- 	prototype declaration.
- 
- 2004-10-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR rtl-optimization/17581
- 	* cselib.c (cselib_process_insn): The last instruction of a libcall
- 	block, with the REG_RETVAL note, should be considered in the libcall.
- 	* gcse.c (do_local_cprop): Allow constants to be propagated outside
- 	of libcall blocks.
- 	(adjust_libcall_notes): Use simplify_replace_rtx instead of
- 	replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
- 
- 2004-10-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (create_phi_node): Don't zero PHI_REWRITTEN.
- 
- 2004-10-29 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (struct edge_info): New structure holding
- 	edge equivalences and edge redirection information.
- 	(get_eq_expr_value, record_dominating_conditions): Kill.
- 	(propagate_to_outgoing_edges): Renamed from cprop_into_phis.
- 	Call record_edge_info.
- 	(allocate_edge_info, free_edge_info): New.
- 	(tree_ssa_dominator_optimize): Use propagate_to_outgoing_edges
- 	rather than cprop_into_phis.  Free all edge infos before threading
- 	jumps.
- 	(thread_across_edge): Allocate new edge info structures as needed
- 	and store the redirection target into the edge info structure
- 	instead of the edge's AUX field.
- 	(dom_opt_initialize_block): Mark unused argument with ATTRIBUTE_UNUSED.
- 	(record_equivalence_from_incoming_edge): Lose unnecessary argument.
- 	Revamp code which finds and records equivalences associated with
- 	edges to use saved data in the edge_info structure.
- 	(record_equivalencs_from_phis): Similarly.
- 	(dom_opt_finalize_block): Revamp code which finds and records
- 	equivalences associated with edges to use saved data in the
- 	edge_info structure.
- 	(build_and_record_new_cond): New function.
- 	(record_conditions): Use build_and_record_new_cond to record
- 	dominating conditions.
- 	(record_edge_info): New function.
- 	(record_range): Tighten test for conditions which create
- 	useful range records.
- 
- 2004-10-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/i386/darwin.h (ASM_SPEC): Simplify.
- 	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
- 	* config/rs6000/darwin.h (DARWIN_SUBARCH_SPEC): New.
- 	(SUBTARGET_EXTRA_SPECS): Add darwin_subarch spec.
- 	* config/darwin.h (LINK_COMMAND_SPEC): Don't pass -arch here.
- 	(LINK_SPEC): Do pass -arch here.  Handle -force_cpusubtype_ALL
- 	in all cases.  Pass the right -arch or -arch_only based on -mcpu.
- 	(ASM_SPEC): Handle -force_cpusubtype_ALL.
- 	* doc/invoke.texi (Darwin Options): Improve documentation for
- 	Darwin linker (and libtool) switches.
- 
- 	* config/rs6000/darwin-fallback.c: Include <mach/thread_status.h>.
- 
- 2004-10-29  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin-tramp.asm: Make more 64-bit-friendly.
- 
- 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (allocate_phi_node): New.
- 	(make_phi_node, resize_phi_node): Use it.
- 
- 2004-10-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/sysv4.h (TARGET_POWER): Define as 0.
- 	* config/rs6000/darwin.h (TARGET_POWER): Define as 0.
- 
- 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
- 	the whole PHI node.
- 	* tree.h (tree_phi_node): Tell the garbage collector to chase
- 	num_args arguments.
- 
- 2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* opts.c (decode_options): Lower the crossjump threshold for -Os.
- 
- 2004-10-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree.h (struct tree_ssa_name): Remove field 'equiv'.
- 
- 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* bitmap.h (bitmap_empty_p): New.
- 	(bitmap_and, bitmap_and_into, bitmap_and_compl,
- 	bitmap_and_compl_into, bitmap_ior, bitmap_ior_into,
- 	bitmap_ior_compl, bitmap_xor, bitmap_xor_into): New bitmap
- 	operation macros.
- 	(bitmap_ior_and_compl): Rename to ...
- 	(bitmap_ior_and_compl_into): ... here.
- 	* bitmap.c (bitmap_equal_p): Use bitmap_xor.
- 	(bitmap_ior_and_compl): Rename to ...
- 	(bitmap_ior_and_compl_into): ... here. Adjust. Return changed
- 	flag.
- 	(bitmap_union_of_diff): Use renamed bitmap functions.
- 	* basic-block.h (AND_REG_SET, AND_COMPL_REG_SET, IOR_REG_SET,
- 	XOR_REG_SET, IOR_AND_COMPL_REG_SET): Likewise.
- 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
- 	* df.c (df_bb_rd_local_compute)
- 	* flow.c (calculate_global_regs_live,
- 	init_propagate_block_info): Likewise.
- 	* ifcvt.c (find_if_case_1, find_if_case_2,
- 	dead_or_predicable): Likewise.
- 	* ra-build.c (union_web_part_roots, livethrough_conflicts_bb,
- 	reset_conflicts, conflicts_between_webs): Likewise.
- 	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
- 	detect_web_parts_to_rebuild): Likewise.
- 	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
- 	* tree-int-ssa.c (insert_phi_nodes_for, rewrite_into_ssa): Likewise.
- 	* tree-sra.c (decide_instantiations): Likewise.
- 	* tree-ssa-alias.c (create_name_tags,
- 	merge_pointed_to_info): Likewise.
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
- 	* tree-ssa-loop-im.c (move_computations): Likewise.
- 	* tree-ssa-operands.c (get_call_expr_operands): Likewise.
- 	* tree-ssa-pre.c (fini_pre): Likewise.
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
- 	* tree-ssanames.c (any_marked_for_rewrite_p): Likewise.
- 	* tree-vectorizer.c (vectorize_loops): Likewise.
- 
- 2004-10-29  Nick Clifton  <nickc@redhat.com>
- 
- 	config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): When
- 	adding the PIC register to the fixed_regs array, also add it
- 	to the call_used_regs array.
- 
- 2004-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* gthr-posix.h (__gthread_recursive_mutex_init_function): Guard
- 	with #ifdef PTHREAD_MUTEX_RECURSIVE/#endif pairs.
- 
- 2004-10-28  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-into-ssa.c (rewrite_virtual_phi_arguments): New function.
- 	(rewrite_blocks): Modify argument, and use it to decide which
- 	function to call.
- 	(rewrite_def_def_chains): Call rewrite_blocks with true here.
- 	(rewrite_into_ssa): and call it with false here.
- 
- 2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c (add_phi_arg): Turn an "if" that always
- 	triggers into gcc_assert.
- 
- 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16728
- 	* tree-flow.h (get_ptr_info): Declare.
- 	* tree-ssa-alias.c (get_ptr_info): Make extern.
- 	* tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
- 	alias information.
- 
- 2004-10-28  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin.h (SUBTARGET_EXTRA_SPECS): Handle -m64.
- 	* config/rs6000/rs6000.c (rs6000_darwin_file_start): Add ppc64
- 	case.
- 
- 2004-10-28  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mudflap_init): Mark cache-lookup decls to
- 	prevent their later unnecessary registration.
- 	(mf_build_check_statement_for): Remove "addr" argument, and
- 	related "__mf_value" generated code.  Update callers.
- 	(mf_decl_eligible_p): New function, factored from mx_register_decls.
- 	(mx_register_decls): Call it.
- 	(mf_xform_derefs_1): Rewrite COMPONENT_REF and ARRAY_REF cases
- 	to restore support for complex nested expressions.
- 	(mudflap_enqueue_decl): Simplify.  Move registration call emission
- 	out ...
- 	(mudflap_finish_file): ... to here.
- 	(mudflap_enqueue_constant): Remove dump code.
- 
- 2004-10-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 18199
- 	* dbxout.c (dbxout_begin_complex_stabs_noforcetext): New function.
- 	(DBX_FINISH_STABS): Add (unused by default) SYM parameter.
- 	(dbxout_finish_complex_stabs): Update to match.
- 	(dbxout_symbol_location): Call emit_pending_bincls_if_required
- 	and FORCE_TEXT before DBX_STATIC_BLOCK_START.  Use
- 	dbxout_begin_complex_stabs_noforcetext.
- 	* xcoffout.h (DBX_FINISH_STABS): Restore special case for
- 	N_GSYM, using new SYM parameter.  Correct logic for special
- 	cases for N_FUN.
- 
- 	* varasm.c (function_section): If DECL is NULL_TREE, don't try
- 	to do anything else.  Do not call get_insns if cfun or
- 	cfun->emit are NULL.
- 
- 2004-10-28  Adam Nemet  <anemet@lnxw.com>
- 
- 	PR middle-end/18160
- 	* c-typeck.c (c_mark_addressable): Issue error if address of a
- 	register variable is taken.  Use "%qD" to print DECL_NAME.
- 
- 2004-10-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* opts.c (decode_options): Don't run PRE at -Os.
- 
- 2004-10-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (movqicc_internal): Allow exactly one
- 	zero in the conditional.
- 	(movhicc_internal, movsicc_internal, movdicc_internal): Likewise.
- 
- 2004-10-28  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (memory_extend_rtx): Remove.
- 	(cse_main): Don't set it.
- 	(cse_insn): Use a local buffer instead.
- 
- 2004-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* profile.c (branch_prob): Call to init_edge_profiler added.
- 	* rtl-profile.c (rtl_init_edge_profiler): New function.
- 	(rtl_gen_edge_profiler): Replaced call to insert_insn_on_edge with
- 	call to safe_insert_insn_on_edge.
- 	(rtl_profile_hooks): rtl_init_edge_profiler added.
- 	* tree-profile.c (tree_init_edge_profiler): New function.
- 	(tree_profile_hooks): tree_init_edge_profiler added.
- 	* value-prof.h (profile_hooks) init_edge_profiler prototype added.
- 
- 2004-10-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/iq2000/iq2000.c (iq2000_expand_epilogue): Use
- 	emit_jump_insn() to generate the return instruction.
- 
- 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-phinodes.c: Remove trailing whitespace.
- 
- 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-loop-ivopts.c: Fix a comment typo.
- 	* doc/invoke.texi: Fix a typo.
- 
- 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* Makefile.in (OBJS-common): Remove duplicates.
- 
- 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* lambda-code.c (nestify_update_pending_stmts): Remove.
- 	(perfect_nestify): Use flush_pending_stmts instead of
- 	nestify_update_pending_stmts.
- 	* tree-cfg.c (tree_make_forwarder_block): Use
- 	flush_pending_stmts.
- 	* tree-flow.h: Add a prototype for flush_pending_stmts.
- 	* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge):
- 	Use flush_pending_stmts.
- 	(lv_update_pending_stmts): Remove.
- 	(tree_ssa_loop_version): Use flush_pending_stmts instead of
- 	lv_update_pending_stmts.
- 	* tree-ssa.c (flush_pending_stmts): New.
- 
- 2004-10-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR target/15286
- 	* final.c (alter_subreg): Compute correct offset to use with
- 	paradoxical SUBREGs of memory operands.
- 	* recog.c (general_operand): Allow paradoxical SUBREGs of
- 	memory operands after reload.
- 	* simplify-rtx.c (simplify_gen_subreg): Fail if simplify_subreg
- 	has failed when passed a hard register.
- 
- 2004-10-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* function.c (assign_parm_setup_block): Handle parallels correctly.
- 
- 2004-10-28  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* final.c (shorten_branches): Initialize flags structure.
- 
- 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.c (int_cst_node, int_cst_hash_table): New variables.
- 	(init_ttree): Initialize them.
- 	(int_cst_hash_hash, int_cst_hash_eq): New hashing functions.
- 	(build_int_cst_wide): Use hash table for oversized integers.
- 
- 2004-10-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Define
- 	begin_label.
- 
- 2004-10-27  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/18163
- 	* expr.c (emit_group_load): Don't go force temporary for memory
- 	or concat source.
- 	(emit_group_store): Similarly.
- 
- 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR other/18186
- 	* common.opt (--param): Fix spelling of parameter.
- 
- 2004-10-27  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/17529
- 	* tree-cfg.c (remove_useless_stmts_1) <case SWITCH_EXPR>:
- 	Don't fold statement.
- 	<case ASM_EXPR>: Fold the statement.
- 
- 2004-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
- 	<COND_EXPR>: Use EDGE_COUNT instead of GOTO_DESTINATION.
- 
- 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,
- 	doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
- 	doc/libgcc.texi, doc/md.texi, doc/passes.texi,
- 	doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting.
- 
- 2004-10-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,
- 	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put
- 	punctuation outside quotes.
- 
- 2004-10-27  David Mosberger  <davidm@hpl.hp.com>
- 	    James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/13158
- 	* config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
- 	sibcall alloc instruction.
- 	(process_set): Handle sibcall alloc instruction.
- 
- 2004-10-27  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_attribute_table): Add
- 	SUBTARGET_ATTRIBUTE_TABLE.
- 	* config/darwin.h (ASM_WEAKEN_DECL): Handle weak_import.
- 	(SUBTARGET_ATTRIBUTE_TABLE): Define.
- 	* config/darwin.c (darwin_handle_weak_import_attribute): New.
- 	(HAVE_DEAD_STRIP): Delete.
- 	(no_dead_strip): Don't test HAVE_DEAD_STRIP.
- 	* config/darwin-protos.h (darwin_handle_weak_import_attribute):
- 	Prototype.
- 
- 	* doc/tm.texi (USE_SELECT_SECTION_FOR_FUNCTIONS): Document.
- 
- 	* config/darwin.h (GTHREAD_USE_WEAK): Define.
- 
- 2004-10-28  Ben Elliston  <bje@au.ibm.com>
- 
- 	* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.
- 	(PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise.
- 	* params.h (SRA_MAX_STRUCTURE_SIZE): New.
- 	(SRA_FIELD_STRUCTURE_RATIO): Likewise.
- 	* tree-sra.c: Include "params.h".
- 	(decide_block_copy): Use new parameters.
- 	* doc/invoke.texi (Optimize Options): Document new SRA pass
- 	parameters sra-max-structure-size and sra-field-structure-ratio.
- 
- 2004-10-27  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/ieee754-df.S (floatdidf): Fix regression with big values.
- 
- 2004-10-27  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/18048
- 	* fold-const.c (try_move_mult_to_index): New function.
- 	(fold): Use try_move_mult_to_index.
- 	* tree-ssa-loop-ivopts.c (try_add_cand_for): Prefer common candidates.
- 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Produce
- 	an all-ones unsigned constant without extra bits.
- 	* tree.c (build_low_bits_mask): New function.
- 	* tree.h (build_low_bits_mask): Declare.
- 
- 2004-10-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/17956
- 	* config/rs6000/rs6000.md (maxsf3): Add !flag_trapping_math to
- 	final condition.
- 	(minsf3): Same.
- 	(maxdf3): Same.
- 	(mindf3): Same.
- 
- 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Speed up by reordering the two
- 	conditions for entering basic blocks into worklist.
- 
- 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Speed up by pretending to have
- 	ENTRY_BLOCK_PTR in worklist.
- 
- 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
- 	<GOTO_EXPR>: Don't let an explicit GOTO_EXPR slip through.
- 
- 2004-10-27  Daniel Berlin <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/17133
- 
- 	* tree-cfg.c (rewrite_to_new_ssa_names_bb): Also rewrite must
- 	def kill operand.
- 
- 	* tree-flow-inline.h: V_MUST_DEF_OP became V_MUST_DEF_RESULT.
- 	(get_v_must_def_result_ptr): Modify for new structure of
- 	v_must_defs array.
- 	(get_v_must_def_kill_ptr): New.
- 	(op_iter_next_use): Add support for the kill that occurs in V_MUST_DEFs.
- 	(op_iter_next_tree): Ditto. Also V_MAY_DEF_OP became V_MAY_DEF_RESULT.
- 	(op_iter_next_def): V_MAY_DEF_OP became V_MAY_DEF_RESULT.
- 	(op_iter_init): Initialize new mustu members.
- 	(op_iter_next_mustdef): New function.
- 	(op_iter_init_mustdef): Ditto.
- 
- 	* tree-flow.h (rewrite_def_def_chains): New function.
- 
- 	* tree-into-ssa.c (mark_def_sites): Handle mustdefkill operands.
- 	(ssa_mark_def_sites): Ditto.
- 	(rewrite_stmt): Ditto.
- 	(ssa_rewrite_stmt): Ditto.
- 	(rewrite_blocks): Factor out from rewrite_into_ssa.
- 	(mark_def_block_sites): Ditto.
- 	(rewrite_def_def_chains): New function, just rewrites def-def
- 	chains without phi node insertion.
- 
- 	* tree-pass.h (TODO_fix_def_def_chains): New todo flag.
- 
- 	* tree-optimize.c (execute_todo): Handle TODO_fix_def_def_chains.
- 
- 	* tree-pretty-print.c (dump_vops): Print out MUST_DEF's so that
- 	they include the rhs now.
- 
- 	* tree-ssa-ccp.c (visit_assignment): V_MUST_DEF_OP became
- 	V_MUST_DEF_RESULT.
- 
- 	* tree-ssa-dce.c (mark_operand_necessary): Add phionly argument.
- 	Update callers.
- 	(mark_really_necessary_kill_operand_phis): New function.
- 	(perform_tree_ssa_dce): Call it.
- 	(pass_dce): Add TODO_fix_def_def_chains.
- 	(pass_cd_dce): Ditto.
- 
- 	* tree-ssa-loop-im.c (determine_max_movement): Look at kills as
- 	well.
- 	(rewrite_mem_refs): Ditto.
- 
- 	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Look at kills
- 	as well.
- 
- 	* tree-ssa-operands.c (allocate_v_may_def_optype):
- 	v_may_def_operand_type_t became v_def_use_operand_type_t.
- 	(allocate_v_must_def_optype) Ditto.
- 	(finalize_ssa_v_must_defs): Update for new operand type, as well
- 	as setting the use portion as well.
- 	(copy_virtual_operands): Copy the kill operand as well.
- 	(create_ssa_artficial_load_stmt): V_MUST_DEF_OP became
- 	V_MUST_DEF_RESULT.
- 
- 	* tree-ssa-operands.h (v_may_def_operand_type): Renamed to
- 	v_def_use_operand_type.
- 	(v_must_def_optype_d): Use v_def_use_operand_type.
- 	(V_MUST_DEF_OP_*): Renamed to V_MUST_DEF_RESULT_*
- 	(V_MUST_DEF_KILL_*): New macros.
- 	(struct ssa_operand_iterator_d): Add num_v_mustu and v_mustu_i
- 	members.
- 	Rename existing must_i and num_v_must members to mustd_i and
- 	num_v_mustd.
- 	(SSA_OP_VMUSTDEFKILL): New flag.
- 	(SSA_OP_VIRTUAL_KILLS): New flag.
- 	(SSA_OP_ALL_OPERANDS): Add in SSA_OP_ALL_KILLS.
- 	(SSA_OP_ALL_KILLS): New flag.
- 	(FOR_EACH_SSA_MUSTDEF_OPERAND): New macro.
- 
- 	* tree-ssa.c (verify_ssa): Verify virtual kills as well.
- 
- 	* tree-vectorizer.c (vect_create_data_ref_ptr): V_MUST_DEF_OP
- 	became V_MUST_DEF_RESULT.
- 	(rename_variables_in_bb): Rename kill pointer as well.
- 
- 	* tree-dfa.c (compute_immediate_uses_for_stmt): Add kills into the
- 	immediate uses.
- 
- 2004-10-27  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* dbxout.c (dbxout_source_line): Move declaration of begin_label to
- 	the block that needs it.
- 
- 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c (dbxout_finish_complex_stabs): Mark 'line' variable
- 	ATTRIBUTE_UNUSED.
- 
- 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-lex.c (cb_def_pragma): Clean up code for making location
- 	palatable to diagnostic.c.
- 
- 2004-10-27  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/17757
- 	* tree-phinodes.c (remove_phi_arg_num): Don't remove PHIs
- 	without any PHI arguments left.  Make sure the argument that
- 	we're supposed to remove exists at all.
- 
- 2004-10-27  Paul Brook  <paul@codesourcery.com>
- 
- 	* configure.ac: Don't test for [build] __cxa_atexit when building a
- 	cross compiler.
- 	* configure: Regenerate.
- 
- 2004-10-27  Paul Brook  <paul@codeosurcery.com>
- 
- 	* configure.ac: Use build_exeext not host_exeext when lookin for
- 	target tools.
- 	* configure: Regenerate.
- 
- 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
- 
- 2004-10-27  Andreas Krebbel  <krebbel1@de.ibm.com>
- 	    patch originally created by Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR middle-end/14684
- 	* opts.c (OPT_fprofile_generate): Default to -funroll-loops
- 	to match -fprofile-use.
- 
- 2004-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/rs6000/rs6000.c: Fix a comment typo.
- 
- 2004-10-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Increment line
- 	counter.
- 
- 2004-10-27  Andreas Schwab  <schwab@suse.de>
- 
- 	* varasm.c (default_stabs_asm_out_destructor): Mark symbol as
- 	unused.
- 	(default_stabs_asm_out_constructor): Likewise.
- 
- 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* builtins.c (fold_builtin_unordered_cmp): Always bring both
- 	operands to the same type.
- 
- 2004-10-26  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/18010
- 	* emit-rtl.c (emit_copy_of_insn_after): Copy RTX_FRAME_RELATED_P.
- 
- 2004-10-26  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c: Include obstack.h.
- 	(ASM_STABS_OP): Take XCOFF_DEBUGGING_INFO into account in
- 	default definition.
- 	(ASM_STABD_OP, NO_DBX_MAIN_SOURCE_DIRECTORY, DBX_CONTIN_CHAR):
- 	Default-define here.
- 	(DBX_CONTIN_LENGTH): Move definition with others.
- 	(DBX_FINISH_STABS): New target macro.
- 	(current_sym_code, current_sym_value, current_sym_addr)
- 	(current_sym_nchars, CHARS, dbxout_continue)
- 	(print_int_cst_octal, print_octal, print_wide_int)
- 	(dbxout_prepare_symbol, dbxout_finish_symbol): Delete.
- 	(stabstr_ob, stabstr_last_contin_point): New variables.
- 	(NUMBER_FMT_LOOP): New improper macro.
- 	(dbxout_int, dbxout_stab_value_zero, dbxout_stab_value_label)
- 	(dbxout_stab_value_label_diff, dbxout_stab_value_internal_label)
- 	(dbxout_stab_value_internal_label_diff, dbxout_stabd)
- 	(dbxout_begin_stabn, dbxout_begin_stabn_sline)
- 	(dbxout_begin_simple_stabs, dbxout_begin_simple_stabs_desc)
- 	(dbxout_begin_complex_stabs, dbxout_finish_complex_stabs)
- 	(stabstr_C, stabstr_S, stabstr_I, stabstr_D, stabstr_U, stabstr_O)
- 	(stabstr_continue, DECL_ACCESSIBILITY_CHAR)
- 	New functions and/or proper function-like macros.
- 	(CONTIN): Use stabstr_continue, unconditionally.
- 	(get_lang_number): Define unconditionally, with ATTRIBUTE_UNUSED.
- 	(dbxout_init): Initialize stabstr_ob.  Check
- 	NO_DBX_MAIN_SOURCE_DIRECTORY.  Only write out the Ltext label
- 	if it was used.  Use the new interfaces.
- 	(dbxout_source_file): Remove file argument; always write to
- 	asm_out_file.  Use the new interfaces.
- 	(dbxout_type_method_1): Remove second argument which is always
- 	DECL_ASSEMBLER_NAME of the first argument.  Use the new interfaces.
- 	(dbxout_type_methods): Remove write-only variables.  Use the
- 	new interfaces.
- 	(dbxout_parms): Refactor to remove code duplicated in each of
- 	several successive if-else-if blocks.  Use the new interfaces.
- 	(dbxout_function_end, emit_bincl_stab, dbxout_end_source_file)
- 	(dbxout_source_line, dbxout_finish, dbxout_type_index)
- 	(dbxout_type_fields, dbxout_range_type, dbxout_type, dbxout_type_name)
- 	(dbxout_class_name_qualifiers, dbxout_symbol, dbxout_symbol_location)
- 	(dbxout_symbol_name, dbxout_reg_parms, dbxout_args)
- 	(dbx_output_lbrac, dbx_output_rbrac, dbxout_block):
- 	Use the new interfaces.
- 	* Makefile.in (dbxout.o): Update dependencies.
- 
- 	* defaults.h: Don't define ASM_STABD_OP.
- 	* output.h: Prototype new dbxout_* interfaces.
- 	* system.h: Poison DBX_OUTPUT_GCC_MARKER and DBX_FINISH_SYMBOL.
- 	* varasm.c: Don't define ASM_STABS_OP.
- 	(default_stabs_asm_out_constructor, default_stabs_asm_out_destructor):
- 	Use the new dbxout.c interfaces.  Call sorry if neither
- 	DBX_DEBUGGING_INFO nor XCOFF_DEBUGGING_INFO is defined.
- 
- 	* xcoffout.h: Don't define ASM_STABS_OP.
- 	(DBX_FINISH_SYMBOL): Rewrite and rename DBX_FINISH_STABS.
- 	(DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_GCC_MARKER): Delete.
- 	(NO_DBX_MAIN_SOURCE_DIRECTORY, NO_DBX_GCC_MARKER): Define.
- 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END): Change bare block to
- 	do { ... } while (0) idiom.
- 
- 	* config/alpha/alpha.c (num_source_filenames): Export.
- 	* config/alpha/alpha.h (num_source_filenames): Declare.
- 	(DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
- 	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
- 	* config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
- 	Always use .debugsym.  Update commentary.
- 	* config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Use new interfaces.
- 	(SDB_OUTPUT_SOURCE_LINE): Add missing newline.
- 	* config/rs6000/linux64.h (DBX_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC):
- 	Use new interfaces.
- 	* config/rs6000/rs6000.c: If TARGET_MACHO, include gstab.h.
- 	(macho_branch_islands): Use new interfaces.
- 
- 	* doc/tm.texi: Update.
- 
- 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expr.c (emit_group_store): Do not treat floats as BLKmode.
- 	(emit_group_load): Same.
- 
- 2004-10-26  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-parse.in (datadef): Use pedwarn rather than error and warning
- 	for diagnostic in case of no declaration specifiers.
- 
- 2004-10-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR bootstrap/15747
- 	* doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
- 	reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
- 	can be used to work around this.
- 
- 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Adjust for e500
- 	doubles.
- 
- 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_case): Update a comment.
- 
- 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_case): Put an assertion that index_expr is
- 	never INTEGER_CST.  Don't special case for constant
- 	index_expr.
- 
- 2004-10-26  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR 18162
- 	* c-parse.in (designator): Finish with a semi-colon.
- 
- 2004-10-26  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.md (andsi3_internal8): Set CR when splitting
- 	into rotlsi3.
- 
- 2004-10-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_case): Remove code to handle SWITCH_EXPR with
- 	a default case only.
- 
- 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_hard_regno_nregs): Adjust for
- 	e500 doubles.
- 	(spe_build_register_parallel): New.
- 	(rs6000_spe_function_arg): Handle e500 doubles.
- 	(function_arg): Same.
- 	(spe_func_has_64bit_regs_p): Same.
- 	(rs6000_function_value): Same.
- 	(rs6000_libcall_value): Same.
- 	(legitimate_lo_sum_address_p): Return false for e500 doubles.
- 
- 	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT): Adjust for e500
- 	doubles.
- 	(DATA_ALIGNMENT): Same.
- 	(CANNOT_CHANGE_MODE_CLASS): Same.
- 
- 2004-10-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expr.c (emit_group_load): Handle floats.
- 	(emit_group_store): Same.
- 
- 2004-10-26  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-lex.c (get_nonpadding_token): Remove.
- 	(c_lex_with_flags): Push timevar and eat padding here.  Improve
- 	stray token diagnostic.
- 	(lex_string): Replace logic with switch statement, eat padding
- 	token here.
- 
- 2004-10-26  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 18149
- 	* config/i386/darwin.h (ASM_SPEC): Undef it before defining.
- 
- 2004-10-25  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (LINK_SPEC): Default weak_reference_mismatches
- 	to 'non-weak'.
- 	(MAKE_DECL_ONE_ONLY): Set DECL_WEAK.
- 	(ASM_MAKE_LABEL_LINKONCE): Delete.
- 	(ASM_WEAKEN_DECL): New.
- 	(ASM_DECLARE_OBJECT_NAME): Look at DECL_WEAK not DECL_ONE_ONLY.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(TEXT_SECTION_ASM_OP): Add a tab.
- 	(DATA_SECTION_ASM_OP): Likewise.
- 	(SECTION_FUNCTION): Add a tab.  Use fputs.  Don't call
- 	data_section on every section change.
- 	(EXTRA_SECTIONS): Add a bunch of new extra sections.
- 	(EXTRA_SECTION_FUNCTIONS): Likewise.
- 	(USE_SELECT_SECTION_FOR_FUNCTIONS): Define.
- 	(JCR_SECTION_NAME): Define.
- 	(TARGET_SECTION_TYPE_FLAGS): Don't define.
- 	* config/darwin.c (darwin_encode_section_info): A symbol is defined
- 	in this file if it is not weak.
- 	(textcoal_section): Delete.
- 	(datacoal_section): Delete.
- 	(darwin_make_decl_one_only): Delete.
- 	(machopic_select_section): Handle functions.
- 	(darwin_asm_named_section): Add a tab.
- 	(darwin_section_type_flags): Delete.
- 	(darwin_unique_section): Delete contents.
- 	(darwin_emit_unwind_label): Add a tab.  Make decls weak if
- 	DECL_WEAK is set.
- 	* config/darwin-protos.h (darwin_section_type_flags): Delete.
- 	(darwin_make_decl_one_only): Delete.
- 	(text_coal_section): New.
- 	(text_unlikely_section): New.
- 	(text_unlikely_coal_section): New.
- 	(const_coal_section): New.
- 	(data_coal_section): New.
- 	(const_data_coal_section): New.
- 	* varasm.c (function_section): Honour
- 	USE_SELECT_SECTION_FOR_FUNCTIONS.
- 	* dwarf2out.c (output_call_frame_info): Look at DECL_WEAK when
- 	TARGET_USES_WEAK_UNWIND_INFO is in effect.
- 	* dbxout.c (dbxout_source_file): Don't change sections while
- 	a function is being output.
- 
- 2004-10-25  David Ayers  <d.ayers@inode.at>
- 
- 	* c-common.h: Remove RID_ID.
- 	* c-parse.in: Remove OBJECTNAME and references to RID_ID.
- 	(typespec_reserved_attr): Add rule for TYPENAME
- 	non_empty_protocolrefs.
- 	(yylexname): Remove special handling of RID_ID.
- 
- 2004-10-25  James E Wilson  <wilson@specifixinc.com>
- 
- 	* doc/invoke.texi (-fcrossjumping): Not enabled at -O.
- 
- 2004-10-25  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/16667
- 	* c-parse.in (array_designator): New.
- 	(designator): Use it.
- 	(initelt): Only permit array_designator without '=', not ".foo".
- 
- 2004-10-25  Kenneth Zadeck <zadeck@naturalbridge.com>
- 	* gcc/Makefile.in: removed ggc for cgraphunit.
- 	* gcc/cgraph.c.dump_cgraph_node: removed static var analysis.
- 	* gcc/cgraph.h: removed static var analysis data structures and calls.
- 	* gcc/cgraphunit.c:
- 	cgraph_mark_local_and_external_functions:changed name to
- 		cgraph_mark_local_functions
- 	(print_order,convert_UIDs_in_bitmap,new_static_vars_info,
- 	cgraph_reset_static_var_maps,get_global_static_vars_info,
- 	get_global_statics_not_read,get_global_statics_not_written,searchc,
- 	cgraph_reduced_inorder,has_proper_scope_for_analysis,check_rhs_var,
- 	check_lhs_var,get_asm_expr_operands,process_call_for_static_vars,
- 	scan_for_static_refs,cgraph_characterize_statics_local,
- 	clear_static_vars_maps,cgraph_propagate_bits,cgraph_characterize_statics):
- 	removed.
- 	(cgraph_optimize,init_cgraph): removed calls to static vars analysis
- 	* gcc/tree-dfa.c find_referenced_vars: removed call to static vars
- 	analysis
- 	* gcc/tree-flow.h static_vars_info: removed
- 	* gcc/tree-ssa-operands.c (add_call_clobber_ops,add_call_read_ops):
- 	removed calls to static vars analysis.
- 	get_call_expr_operands: removed callee variable.
- 
- 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfg.c (unchecked_make_edge, redirect_edge_succ,
- 	redirect_edge_pred): Use VEC_safe_push instead of
- 	VEC_safe_insert.
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
- 
- 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgloopmanip.c (loopify): Take two more arguments true_edge
- 	and false_edge.
- 	* cfgloop.h: Adjust the corresponding prototype.
- 	* loop-unswitch.c (unswitch_loop): Adjust a call to loopify.
- 	* tree-ssa-loop-manip.c (tree_ssa_loop_version): Likewise.
- 
- 2004-10-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2out.c (rtl_for_decl_location): Avoid segfault if
- 	DECL_INCOMING_RTL is NULL.
- 
- 2004-10-25  Steven Bosscher  <stevenb@suse.de>
- 
- 	* timevar.def (TV_FIND_REFERENCED_VARS): New.
- 	* tree-dfa.c (pass_referenced_var): Use it.
- 
- 2004-10-25  Roger Sayle  <roger@eyesopen.com>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* cse.c: Change encoding of quantity numbers to avoid undefined
- 	pointer arithmetic on qty_table.
- 	(REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
- 	(get_cse_reg_info): Initialize reg_qty to a unique negative value.
- 	(new_basic_block): Assign "real" quantity numbers from zero.
- 	(delete_reg_equiv): Do nothing if quantity is invalid.  Reset the
- 	REG_QTY to its unique negative value.
- 	(merge_equiv_classes): Calculate need_rehash if quantity is valid.
- 	(cse_main): Don't include max_reg when determining max_qty.
- 	(cse_basic_block): Avoid subtracting a large offset from qty_table,
- 	which causes undefined C99 behaviour.  Only allocate needed memory.
- 
- 2004-10-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_case): Remove an obsolete comment.
- 
- 2004-10-25  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17407
- 	* c-decl.c (grokdeclarator) <case cdk_array>: Remove the call
- 	layout_type as it is already done by build_array_type.
- 	* tree.c (build_array_type): Layout the type even
- 
- 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/linux.h (TARGET_C99_FUNCTIONS): Define to 0.
- 
- 2004-10-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.md (movdi, movdf): Handle wide-constant splits
- 	with wider-than-32-bit HOST_WIDE_INTs.
- 
- 2004-10-25  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* config/mips/mips.c(mips_output_filename): Remove unused
- 	array ltext_label_name
- 
- 2004-10-24  Geoffrey Keating  <geoffk@geoffk.org>
- 
- 	* config/rs6000/darwin.h (BLOCK_REG_PADDING): Define.
- 
- 2004-10-25  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cfgcleanup.c (outgoing_edges_match): Fix typo in dump output.
- 
- 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* predict.c (predict_loops): Call scev_finalize instead of
- 	scev_reset.
- 
- 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/dbxcoff.h, config/dbxelf.h, config/libgloss.h,
- 	config/openbsd.h, config/mips/r3900.h, config/pdp11/pdp11.md,
- 	config/sh/ushmedia.h, config/sparc/elf.h,
- 	config/sparc/sp64-elf.h: Update copyright.
- 
- 2004-10-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_case): Handle the default label outside of
- 	the for loop.  Remove code to handle a missing default label.
- 
- 2004-10-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dbxout.c (dbxout_function_decl): Don't use
- 	DBX_OUTPUT_FUNCTION_END.
- 	* system.h: Poison DBX_OUTPUT_FUNCTION_END.
- 	* doc/tm.texi (DBX_OUTPUT_FUNCTION_END): Remove.
- 
- 2004-10-23  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17967
- 	* tree-cfg.c (remove_usless_stmts_cond):  Don't Fold statement.
- 
- 2004-10-23  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-dom.c (record_equality): Use loop depth to determine
- 	which way to record the equality as well.
- 	(loop_depth_of_name): New function.
- 
- 2004-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/17793
- 	* gimplify.c (gimplify_addr_expr) <VIEW_CONVERT_EXPR>: Look
- 	through the operand if it is a useless type conversion.
- 
- 2004-10-23  Ben Elliston  <bje@au.ibm.com>
- 
- 	* cfg.c (remove_edge): Use VEC_unordered_remove.
- 	(redirect_edge_succ): Likewise.
- 	(redirect_edge_pred): Likewise.
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Likewise.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Don't access PTR
- 	beyond its end.
- 
- 2004-10-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
- 	saves.
- 
- 2004-10-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md (spe_extendsfdf2): New.
- 	(movdf_e500_double): New.
- 	(spe_truncdfsf2): New.
- 	(spe_absdf2): New.
- 	(spe_nabsdf2): New.
- 	(spe_negdf2): New.
- 	(sub_adddf3): New.
- 	(spe_subdf3): New.
- 	(spe_muldf3): New.
- 	(spe_floatsidf2): New.
- 	(spe_floatunssidf2): New.
- 	(fix_truncdfsi2): New.
- 	(spe_fixuns_truncdfsi2): New.
- 
- 	* config/rs6000/rs6000.md (truncdfsf2): Change to expander.
- 	(fpr_truncdfsf2): New.
- 	(negdf2): Change to expander.
- 	(fpr_negdf2): New.
- 	(fpr_nabsdf2): Name pattern.
- 	(adddf3): Change to expander.
- 	(fpr_adddf3): Nem.
- 	(subdf3): Change to expander.
- 	(fpr_subdf3): New.
- 	(muldf3): Change to expander.
- 	(fpr_muldf3): New.
- 	(divdf3): Change to expander.
- 	(fpr_divdf3): New.
- 	(movdf_softfloat32): Change !TARGET_FPRS to TARGET_E500_SINGLE.
- 	(cmpdf): Allow for TARGET_E500_DOUBLE.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-semantics.c (re_push_stmt_list): Remove.
- 	* c-common.h: Remove the corresponding prototype.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (asm_op_is_mem_input): Remove.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-gimple.c (is_gimple_constructor_elt): Remove.
- 	* tree-gimple.h: Remove the corresponding prototype.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* varasm.c (get_pool_mode_for_function, get_pool_offset):
- 	Remove.
- 	* rtl.h: Remove the corresponding prototypes.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps_from_bb): Speed up by extracting
- 	edge information when we commit ourselves to threading a
- 	particular jump.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Speed up by putting basic blocks
- 	into worklist instead of their indexes.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c, basic-block.h, cgraphunit.c, combine.c, domwalk.h,
- 	final.c, gengtype.c, genpreds.c, ggc-page.c, insn-notes.def,
- 	lambda-code.c, loop-unroll.c, modulo-sched.c, pointer-set.c,
- 	pretty-print.c, ra-colorize.c, sbitmap.c, tree-complex.c,
- 	tree-data-ref.c, tree-dfa.c, tree-inline.c, tree-into-ssa.c,
- 	tree-scalar-evolution.c, tree-ssa-dom.c,
- 	tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
- 	tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-threadupdate.c,
- 	tree-vectorizer.c, vec.h: Fix comment formatting.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
- 	libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
- 
- 2004-10-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ptx4.h, config/mcore/mcore-pe.h,
- 	config/rs6000/eabi.h, config/vax/elf.h: Update copyright.
- 
- 2004-10-22  Peter Barada <peter@the-baradas.com>
- 
- 	* config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
- 	* config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
- 	renaming of non-live registers in interrupt functions.
- 	* config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
- 
- 2004-10-22  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-ssa-loop-niter.c (inverse): Count in HOST_WIDE_INT if possible.
- 	Use integer for loop counter.
- 	(num_ending_zeros): New function.
- 	(number_of_iterations_cond): Use num_ending_zeros.
- 
- 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Add support for --enable-e500_double.
- 
- 	* config/rs6000/e500-double.h: New file.
- 
- 	* config/rs6000/rs6000.h: Define TARGET_E500_SINGLE and
- 	TARGET_E500_DOUBLE.
- 
- 	* config/rs6000/eabi.h: Define TARGET_E500_SINGLE and
- 	TARGET_E500_DOUBLE.
- 
- 	* config/rs6000/linuxspe.h: Same.
- 
- 	* doc/invoke.texi (Option Summary): Document new options for
- 	mfloat-gprs.
- 	(RS/6000 and PowerPC Options): Same.
- 
- 	* config/rs6000/rs6000.c (rs6000_parse_float_gprs_option): New
- 	function.
- 	(rs6000_override_options): Use it.  Use
- 	SUB3TARGET_OVERRIDE_OPTIONS.
- 	Add 8548 to processor_target_table.
- 	(rs6000_legitimate_address): Handle e500 doubles.
- 	(rs6000_legitimize_address): Same.
- 	(rs6000_legitimize_reload_address): Same.
- 	(rs6000_hard_regno_nregs): Same.
- 	(spe_func_has_64bit_regs_p): Same.
- 	(emit_frame_save): Same.
- 	(gen_frame_mem_offset): Same.
- 	(rs6000_dwarf_register_span): Same.
- 	(rs6000_generate_compare): Same.
- 	(easy_fp_constant): Same.
- 	(legitimate_offset_address_p): Same.
- 
- 	* config/rs6000/spe.md: (cmdfeq_gpr): New.
- 	(tstdfeq_gpr): New.
- 	(cmpdfgt_gpr): New.
- 	(tstdfgt_gpr): New.
- 	(tstdfgt_gpr): New.
- 	(cmpdflt_gpr): New.
- 	(tstdflt_gpr): New.
- 	Add new constants.
- 
- 2004-10-21  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	* config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
- 
- 2004-10-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c: Remove unnecessary #undefs.
- 	(GDB_INV_REF_REGPARM_STABS_LETTER, DBX_MEMPARM_STABS_LETTER)
- 	(FILE_NAME_JOINER, STABS_GCC_MARKER): Remove; fold sole
- 	definition into use sites.
- 	(cwd): Make local to dbxout_init.
- 	(dbxout_init): Restructure cwd-using logic for clarity.  Use
- 	IS_DIR_SEPARATOR.
- 	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Definition of
- 	STABS_GCC_MARKER folded in here.
- 	* system.h: Poison now-unused macros.
- 	* doc/tm.texi: Remove documentation of now-unused macros.
- 
- 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/17538
- 	* c-opts.c (push_command_line_include): Use the current file
- 	name instead of the main one.
- 
- 2004-10-21  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR objc/17923
- 	* tree.c (staticp): A CONST_DECL has static storage if either
- 	TREE_STATIC or DECL_EXTERNAL is set.
- 	* c-decl.c (pushdecl_top_level): Accept CONST_DECLs which can
- 	have null names.
- 
- 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (store_expr): Remove dont_store_target.
- 
- 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Speed up by using a worklist.
- 
- 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Move a part of it to ...
- 	(thread_jumps_from_bb): ... here.
- 
- 2004-10-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* dbxout.c (DBX_FINISH_SYMBOL): Add asm_out_file argument.
- 	* xcoffout.h (DBX_FINISH_SYMBOL): Change asmfile to (ASMFILE).
- 
- 2004-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (store_expr): Clean up by renaming want_value to
- 	call_param_p.
- 
- 2004-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux-unwind.h (sh_fallback_frame_state): Don't
- 	fixup pc here.
- 
- 2004-10-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR 18004.
- 	* expmed.c (store_bit_field): Pass original 'value' before
- 	recursing.
- 
- 2004-10-21  Nicolas Pitre <nico@cam.org>
- 
- 	* config/arm/ieee754-sf.S: Large speed improvements. Fix NAN handling.
- 	* config/arm/ieee754-df.S: Ditto.
- 
- 2004-10-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c (asmfile): Delete.  All uses changed to asm_out_file.
- 	(DBX_BLOCKS_FUNCTION_RELATIVE, DBX_LINES_FUNCTION_RELATIVE):
- 	Default to 0.
- 	(dbxout_source_line): Use DBX_OUTPUT_SOURCE_LINE when defined.
- 	When it is not, but DBX_LINES_FUNCTION_RELATIVE is true, emit
- 	an internal label and an N_SLINE .stabn whose value is the
- 	difference between that label and the function entry label.
- 	(dbxout_finish): If DBX_OUTPUT_MAIN_SOURCE_FILE_END is not defined,
- 	but DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END is, emit a
- 	label and an N_SO stab with an empty string referring to it.
- 	(dbx_output_lbrac, dbx_output_rbrac): Use if statement instead
- 	of #ifdef directive to test DBX_BLOCKS_FUNCTION_RELATIVE.
- 	(dbxout_type_methods, dbxout_symbol): Remove #if 0 block.
- 	(dbxout_prepare_symbol): Remove #ifdef WINNING_GDB block, this
- 	macro is never defined.
- 	* sdbout.c (sdbout_source_line_counter): Delete.
- 	(PUT_SDB_SRC_FILE): Delete.  Uses replaced with sole definition.
- 	(sdbout_source_line): Use SDB_OUTPUT_SOURCE_LINE, which takes
- 	only two arguments.
- 	* xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Rename ASM_OUTPUT_LINE.
- 
- 	* config/dbxcoff.h, config/dbxelf.h: Remove unncessary #undefs.
- 	* config/c4x/c4x.h, config/pa/pa.h: Remove unnecessary macro
- 	definitions (identical to default).
- 	* config/darwin.h, config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
- 	* config/h8300/coff.h, config/pa/som.h, config/sh/elf.h:
- 	Define DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END, not
- 	DBX_OUTPUT_MAIN_SOURCE_FILE_END.
- 	* config/dbxcoff.h, config/dbxelf.h, config/ptx4.h
- 	* config/mcore/mcore-pe.h, config/pa/som.h, config/sh/elf.h:
- 	Define DBX_LINES_FUNCTION_RELATIVE, not ASM_OUTPUT_SOURCE_LINE.
- 	* config/alpha/alpha-protos.h: Don't prototype alpha_output_lineno.
- 	* config/alpha/alpha.c: Move declaration of num_source_filenames up.
- 	(alpha_start_function): Use SDB_OUTPUT_SOURCE_LINE.
- 	(sym_lineno): Delete.
- 	(alpha_output_filename): Do not emit N_SOL stabs here.  Remove
- 	now-unused variable.
- 	(alpha_output_lineno): Delete.
- 	* config/mips/mips-protos.h: Don't prototype mips_output_lineno.
- 	* config/mips/mips.c (mips_output_filename): Don't use
- 	ASM_OUTPUT_FILENAME. Don't emit N_SOL stabs here.
- 	(mips_output_lineno): Delete.
- 	(mips_output_function_prologue: Use SDB_OUTPUT_SOURCE_LINE.
- 	* config/alpha/alpha.h: Define DBX_OUTPUT_SOURCE_LINE and
- 	SDB_OUTPUT_SOURCE_LINE, not ASM_OUTPUT_SOURCE_LINE.
- 	* config/mips/mips.h: Likewise.  Don't define ASM_OUTPUT_FILENAME.
- 	* config/mips/sdb.h: Use SDB_OUTPUT_SOURCE_LINE.
- 	* config/avr/avr.h: Don't define ASM_OUTPUT_SOURCE_LINE.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/mmix/mmix.c (mmix_asm_output_source_line): Delete.
- 	* config/mmix/mmix-protos.h: Don't prototype it.
- 	* config/alpha/unicosmk.h: Also #undef PREFERRED_DEBUGGING_TYPE;
- 	no need to #undef ASM_OUTPUT_SOURCE_LINE.
- 	* config/arm/aout.h: Remove RISCiX-specific definition of
- 	DBX_OUTPUT_MAIN_SOURCE_FILENAME.
- 	* config/m32r/m32r.h: Define DBX_OUTPUT_SOURCE_LINE, not
- 	ASM_OUTPUT_SOURCE_LINE.
- 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Rename to
- 	DBX_OUTPUT_SOURCE_LINE.  Don't use current_function_func_begin_label.
- 	* config/vax/elf.h: No need to define DBX_OUTPUT_FUNCTION_END.
- 
- 	* doc/tm.texi: Update.
- 
- 2004-10-20  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-sra.c (instantiate_element): Copy DECL_IGNORED_P also.
- 
- 2004-10-20  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* configure.ac: Revert my previous patch.
- 	* configure: Regenerate.
- 
- 2004-10-20  Ben Elliston  <bje@au.ibm.com>
- 
- 	* config/rs6000/rs6000.c
- 	(rs6000_va_start): Use build_va_arg_indirect_ref.
- 	(rs6000_gimplify_va_arg): Likewise.
- 
- 2004-10-20  Bryce McKinlay  <mckinlay@redhat.com>
- 
- 	PR java/15575
- 	* configure.ac: Declare AM_LANGINFO_CODESET.
- 	* aclocal.m4: Define AM_LANGINFO_CODESET.
- 	* configure, config.in: Rebuilt.
- 
- 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (store_expr): Remove code that is run when
- 	want_value & 1 is nonzero.
- 
- 2004-10-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* gthr-posix.h (__gthread_active_p): Use __extension__ around cast
- 	from function pointer to void *.
- 
- 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	PR target/18032
- 	* config/sh/sh.c (sh_expand_epilogue): Emit a blockage insn before
- 	the frame pointer adjustment when exception handling is enabled.
- 
- 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stor-layout.c: Fix a comment typo.
- 
- 2004-10-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (store_field): Remove two arguments value_mode and
- 	unsignedp.
- 	(expand_assignment, store_constructor_field,
- 	expand_expr_real_1): Adjust calls to store_field.
- 
- 2004-10-18  Ramana Radhakrishnan  <ramana.radhakrishnan@codito.com>
- 
- 	* config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
- 
- 	PR target/17317
- 	* config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
- 	REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
- 	base and index register for loads.
- 
- 	* config/arc/t-arc: Fix multilib handling.
- 
- 2004-10-20  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
- 	don't inspect BLOCK_FOR_INSN for barriers.
- 	* emit-rtl.c (emit_barrier_before): Revert last change.
- 	(emit_barrier_after, emit_barrier): Ditto.
- 
- 	* doc/extend.texi (Extended Asm): Warn and provide example
- 	solution for using a call-clobbered asm register.
- 	(Local Reg Vars): Similar.  Cross-reference example.
- 
- 2004-10-19  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-cfg.c (group_case_labels): Look at the second to last
- 	case statement for combing with the default case.
- 
- 2004-10-19  Richard Hendeson  <rth@redhat.com>
- 
- 	PR 17962
- 	* stor-layout.c (layout_type): Set TYPE_ALIGN for vectors.
- 
- 2004-10-19  Richard Hendeson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_memmove): If fold_builtin_memmove
- 	succeeds, only expand the result.
- 
- 2004-10-19  Richard Hendeson  <rth@redhat.com>
- 
- 	PR middle-end/17885
- 	* tree.c (recompute_tree_invarant_for_addr_expr): Always poll address
- 	of INDIRECT_REF.
- 
- 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Use a do-while loop instead of a
- 	loop with goto.
- 
- 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_assignment): Remove the last argument.
- 	Change the return type to void.
- 	* expr.h: Update the prototype of expand_assignment.
- 	* function.c (assign_parm_setup_reg): Update a call to
- 	expand_assignment.
- 	* stmt.c (expand_asm_expr): Likewise.
- 
- 2004-10-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_expr_real_1) <MODIFY_EXPR>: Remove
- 	unnecessary assignments to temp.  Return const0_rtx.
- 
- 2004-10-19  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (sh5_schedule_saves): Fix typo.
- 
- 2004-10-18  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* configure.ac (powerpc-*-darwin*): Require assembler to support
- 	.machine directive.
- 	* configure: Regenerate.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (ior_hard_reg_set): Remove.
- 	(finish_spills): Use IOR_HARD_REG_SET instead of
- 	ior_hard_reg_set.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Speed up by shifting
- 	the currently visited word to right.
- 
- 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/18045
- 	* expmed.c (expand_smod_pow2): Handle modes whose size
- 	is greater than that of HOST_WIDE_INT.
- 
- 2004-10-18  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (reservedwords): Add OBJC_TYPE_QUAL as alternative.
- 
- 2004-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17813
- 	* dojump.c (discard_pending_stack_adjust): New function.
- 	(clear_pending_stack_adjust): Call it.
- 	* expr.h (discard_pending_stack_adjust): Declare it.
- 	* explow.c (emit_stack_save): Emit pending stack adjustments
- 	before saving the stack pointer.
- 	(emit_stack_restore): Discard pending stack adjustments before
- 	restoring the stack pointer.
- 
- 2004-10-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (handle_mode_attribute): Allow scalar->vector
- 	type changes yet.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_expr_real_1) [MODIFY_EXPR]: Don't request a
- 	value to expand_assignment.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Don't iterate on
- 	thread_jumps.
- 	(thread_jumps): Iterate until no new forwarder block arises.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (tree_forwarder_block_p): Don't set forwardable.
- 	(thread_jumps): Use forwardable as cache of
- 	tree_forwarder_block_p throughout the function.
- 
- 2004-10-18  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* cfg.c (dump_flow_info): Remove redundant dump of reg life info.
- 
- 2004-10-18  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/15014
- 	PR middle-end/16973
- 	* tree-cfg.c (remove_bb): If we have a label expression in the
- 	basic block and the label we have taken the address, move the
- 	label expression to the basic block which is previous in the
- 	linked list.
- 	(tree_verify_flow_info): Fix printing out the label name of the
- 	problematic label expression.
- 
- 2004-10-18  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	PR rtl-optimization/18002
- 	* simplify-rtx.c (mode_signbit_p): Externalize function...
- 	* rtl.h (mode_signbit_p): ... to here.
- 	* combine.c (simplify_shift_const): Recognize PLUS signbit as
- 	canonical form of XOR signbit and move to outer op.
- 
- 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-cfg.c (bsi_for_stmt): Rename from stmt_for_bsi.
- 	Update all callers.
- 	* tree-ssa.c (replace_immediate_uses): Call bsi_for_stmt.
- 	Don't call fold_stmt more than once, use bsi_replace.
- 
- 2004-10-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/17656
- 	* tree-ssa.c (replace_immediate_uses): When replacing a
- 	constant, if the call to fold_stmt produced a different
- 	statement, get an appropriate statement pointer by scanning
- 	STMT's basic block.
- 
- 2004-10-18  Richard Henderson  <rth@redhat.com>
- 
- 	* pointer-set.c (hash1): Don't use libm functions in fallback case.
- 
- 2004-10-18  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR bootstrap/17684
- 	* Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
- 	(stage1-start): Remove and copy libunwind.a and
- 	libunwind*$(SHLIB_EXT) instead of libunwind*.
- 	(stage2-start): Likewise.
- 	(stage3-start): Likewise.
- 	(stage4-start): Likewise.
- 	(stageprofile-start): Likewise.
- 	(stagefeedback-start): Likewise.
- 
- 	* config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
- 	the shared library to be created and don't remove the existing
- 	shared library.
- 	* config/arm/t-netbsd (SHLIB_LINK): Likewise.
- 	* config/i386/t-nwld (SHLIB_LINK): Likewise.
- 	* config/mips/t-slibgcc-irix (SHLIB_LINK): Likewise.
- 	* config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
- 	* config/sh/t-linux (SHLIB_LINK): Likewise.
- 	* config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
- 	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
- 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
- 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
- 
- 	* mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
- 	files.
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h (reg_set_iterator): New.
- 	(EXECUTE_IF_SET_IN_REG_SET): Make it iterator style.
- 	(EXECUTE_IF_AND_COMPL_IN_REG_SET): Likewise.
- 	(EXECUTE_IF_AND_IN_REG_SET): Likewise.
- 	* caller-save.c (save_call_clobbered_regs): Adjust to the new
- 	style.
- 	* cfgcleanup.c (thread_jump): Likewise.
- 	* cfgrtl.c (safe_insert_insn_on_edge): Likewise.
- 	* conflict.c (conflict_graph_compute): Likewise.
- 	* flow.c (verify_local_live_at_start, update_life_info,
- 	initialize_uninitialized_subregs, propagate_one_insn,
- 	init_propagate_block_info, free_propagate_block_info,
- 	propagate_block, dump_regset): Likewise.
- 	* global.c (global_conflicts): Likewise.
- 	* graph.c (start_bb): Likewise.
- 	* local-alloc.c (update_equiv_regs): Likewise.
- 	* loop.c (load_mems): Likewise.
- 	* reload1.c (compute_use_by_pseudos, order_regs_for_reload,
- 	find_reg, finish_spills): Likewise.
- 	* resource.c (mark_target_live_regs): Likewise.
- 	* sched-deps.c (sched_analyze_insn): Likewise.
- 	* sched-rgn.c (sched-rgn.c): Likewise.
- 	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
- 
- 2004-10-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (addqi_1_slp): Test for incdec_operand
- 	operand 1 instead of 2
- 
- 2004-10-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* loop-unroll.c: Fix comment typos.
- 
- 2004-10-18  Revital Eres  <eres@il.ibm.com>
- 
- 	* Makefile.in (loop-unroll.o): Add VARRAY_H dependency.
- 	* loop-unroll.c: Include varray.h.
- 	(struct var_to_expand, struct opt_info): Rename split_ivs_info to
- 	opt_info and expand it to support variable expansion.
- 	(analyze_insns_in_loop): Rename analyze_ivs_to_split and
- 	expand it to support variable expansion.
- 	(pt_info_start_duplication): Rename si_info_start_duplication.
- 	(apply_opt_in_copies): Rename split_ivs_in_copies and add support
- 	to the variable expansion optimization.
- 	(free_opt_info): Rename free_si_info.
- 	(analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p,
- 	expand_var_during_unrolling, insert_var_expansion_initialization,
- 	combine_var_copies_in_loop_exit, release_var_copies,
- 	get_expansion): New functions.
- 	(peel_loop_completely, unroll_loop_constant_iterations,
- 	unroll_loop_runtime_iterations, peel_loop_simple,
- 	unroll_loop_stupid): Change uses of struct si_info
- 	to struct opt_info
- 	and add uses of fvariable-expansion-in-unroller flag.
- 	* params.def: Add parameter to restrict the number of expansions.
- 	* params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict
- 	the number of expansions.
- 	* common.opt: (fvariable-expansion-in-unroller): New flag.
- 	* doc/invoke.texi: (fvariable-expansion-in-unroller): Document.
- 
- 2004-10-18  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Define
- 	__GXX_MERGED_TYPEINFO_NAMES to 0.
- 
- 2004-10-17  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* cfgrtl.c (rtl_verify_flow_info_1): When checking insns in a bb,
- 	handle barriers in a bb by checking that it points to a NULL bb.
- 	* emit-rtl.c (emit_barrier_before): Set BLOCK_FOR_INSN to NULL.
- 	(emit_barrier_after, emit_barrier): Ditto.
- 
- 2004-10-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/extend.texi (Attribute Syntax): Clarify details of
- 	attributes on parameters.
- 
- 2004-10-17  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Move checking out of
- 	loop.
- 
- 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	Revert:
- 	2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-typeck.c (default_function_array_conversion): Always create
- 	&a[0] for array types.
- 	(build_unary_op): Do not fold &a[x] into a + x.
- 
- 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17925
- 	* cfgexpand.c (expand_gimple_cond_expr): Emit line notes for next basic
- 	block if there is a goto with a locus.
- 
- 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/elfos.h, config/gofast.h, config/interix.h,
- 	config/netbsd.h, config/svr3.h, config/vxworks.h,
- 	config/alpha/alpha-modes.def, config/alpha/alpha-protos.h,
- 	config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
- 	config/alpha/netbsd.h, config/arm/arm-modes.def,
- 	config/arm/unknown-elf.h, config/c4x/c4x-modes.def,
- 	config/cris/aout.h, config/frv/frv-modes.def,
- 	config/i386/beos-elf.h, config/i386/gas.h,
- 	config/i386/i386-coff.h, config/i386/i386-modes.def,
- 	config/i386/linux.h, config/i386/linux64.h,
- 	config/i386/mingw32.h, config/i386/netbsd-elf.h,
- 	config/i386/netbsd64.h, config/i386/sco5.h,
- 	config/i386/sol2.h, config/i386/uwin.h, config/i860/i860.md,
- 	config/ia64/ia64-modes.def, config/ia64/itanium1.md,
- 	config/ia64/itanium2.md, config/m68k/m68k-modes.def,
- 	config/mips/mips-modes.def, config/mips/sdb.h,
- 	config/mips/vr.h, config/mips/vxworks.h,
- 	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
- 	config/pa/pa32-linux.h, config/rs6000/40x.md,
- 	config/rs6000/7450.md, config/rs6000/8540.md,
- 	config/rs6000/linuxspe.h, config/rs6000/power4.md,
- 	config/rs6000/rs6000-modes.def, config/rs6000/rtems.h,
- 	config/rs6000/spe.h, config/s390/2064.md, config/s390/linux.h,
- 	config/s390/s390-modes.def, config/sh/elf.h,
- 	config/sh/sh-modes.def, config/sh/sh64.h,
- 	config/sparc/ultra1_2.md, config/sparc/ultra3.md,
- 	config/stormy16/stormy16.md, config/v850/v850-protos.h,
- 	config/vax/vax.md: Update copyright.
- 
- 2004-10-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (expand_expr_real_1): Remove an obsolete comment.
- 
- 2004-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* c-typeck.c (default_function_array_conversion): Always create
- 	&a[0] for array types.
- 	(build_unary_op): Do not fold &a[x] into a + x.
- 
- 2004-10-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* pointer-set.c (hash1): Use integer part of 2^64 / phi
- 	instead 2^32 / phi if long is 64-bit.
- 
- 2004-10-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.h (enum rid): Remove RID_PTRBASE, RID_PTREXTENT and
- 	RID_PTRVALUE.
- 	* c-parse.in (PTR_VALUE, PTR_BASE, PTR_EXTENT): Remove %token
- 	declarations.
- 	(reswords): Remove __ptrbase, __ptrbase__, __ptrextent,
- 	__ptrextent__, __ptrvalue and __ptrvalue__.
- 	(rid_to_yy): Remove RID_PTRBASE, RID_PTREXTENT and RID_PTRVALUE
- 	entries.
- 
- 2004-10-16  Dale Johannesen  <dalej@apple.com>
- 
- 	* c-common.c (c_common_get_alias_set):  Use GGC for type_hash_table.
- 
- 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17766
- 	* basic-block.h (enum dom_state): DOM_CONS_OK removed.
- 	(dom_info_available_p): Declare.
- 	* cfghooks.c (split_block, make_forwarder_block): Use
- 	dom_info_available_p.
- 	* dominance.c (compute_dom_fast_query, calculate_dominance_info,
- 	free_dominance_info, verify_dominators): Ditto.
- 	(dom_info_available_p): New function.
- 	* tree-cfg.c (cleanup_control_expr_graph): Free dominance information.
- 	(thread_jumps): Use dom_info_available_p.
- 	* tree-complex.c (expand_complex_div_wide): Ditto.
- 	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
- 
- 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (struct ivopts_data): New field important_candidates.
- 	(find_best_candidate): Take also important candidates into account.
- 	(find_optimal_iv_set): Initialize important_candidates bitmap.
- 
- 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17560
- 	* predict.c (tree_estimate_probability): Mark irreducible
- 	loops.
- 
- 2004-10-16  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/17723
- 	* cfgcleanup.c (merge_memattrs): Handle case when
- 	MEM_SIZE == NULL_RTX.
- 
- 2004-10-15  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* toplev.c (dump_file_name): Change type to be const.
- 
- 2004-10-15  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (build_compound_expr, build_c_cast): Don't try to use
- 	non_lvalue to stop something being a null pointer constant.
- 
- 2004-10-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): FPRs are only
- 	available for TARGET_FPRS.
- 	(FUNCTION_VALUE_REGNO_P): Same.
- 
- 2004-10-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
- 	-maltivec in same style as other ISA options.
- 
- 2004-10-15  Jon Grimm <jgrimm2@us.ibm.com>
- 
- 	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Add __powerpc__
- 	definition.
- 
- 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bitmap.c, bitmap.h, builtin-attrs.def, cfglayout.h,
- 	collect2.h, conflict.c, coretypes.h, coverage.h, errors.h,
- 	gcc.h, gcov-dump.c, gen-protos.c, gencheck.c, gencodes.c,
- 	genconstants.c, gengenrtl.c, genmodes.c, genpeep.c,
- 	gensupport.h, graph.h, gthr-gnat.c, gthr-gnat.h, gthr-posix.c,
- 	gthr-posix.h, hard-reg-set.h, hwint.h, integrate.h, libgcc2.c,
- 	lists.c, machmode.def, mips-tdump.c, opts.h, params.c,
- 	predict.def, predict.h, protoize.c, reload.h, resource.h,
- 	rtl-error.c, sbitmap.c, sbitmap.h, sreal.c, tlink.c,
- 	tree-dump.h, tree-inline.h, unwind-dw2-fde.c, unwind-dw2.c,
- 	unwind-sjlj.c, value-prof.h: Update copyright.
- 
- 2004-10-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* pointer-set.c, tree-vectorizer.c: Fix comment typos.
- 
- 2004-10-15  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-optimize.c (execute_one_pass): Stop timer right after
- 	executing the pass.
- 
- 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	Revert:
- 	2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 	PR middle-end/17967
- 	Revert:
- 		* tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
- 		(remove_useless_stmts_1):  Fold trees we know how to fold.
- 
- 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* configure.ac: Add .machine power4 directive when testing for
- 	mfcr field.
- 	* configure: Regenerate.
- 
- 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Don't define.
- 
- 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-vectorizer.c (vect_transform_loop): Declare vectorization_factor
- 	always.
- 
- 2004-10-14  Daniel Jacobowitz  <dan@codesourcery.com>
- 
- 	* config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Return NO_REGS
- 	for 'f' if !TARGET_FPRS.
- 
- 2004-10-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR debug/14492
- 	* dwarf2out.c (loc_descriptor_from_tree_1): Handle FIX_*_EXPR.
- 
- 2004-10-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/17023
- 	* c-decl.c (store_parm_decls_oldstyle): Care for parameter type
- 	as error_mark_node.
- 	* c-parse.in (compstmt_primary_start): Check cur_stmt_list non-null
- 	instaed of current_function_decl non-null.
- 
- 2004-10-14  Matt Austern  <austern@apple.com>
- 
- 	* pointer-set.c: New file, special-purpose hash table.
- 	* pointer-set.h: New file.
- 	* tree.h (struct pointer_set_t): Declare as opaque type.
- 	(tree_walk): Last argument is pointer_set_t* now.
- 	* tree-inline.c (WALK_SUBTREE): Convert from htab to pset.
- 	(walk_type_fields):
- 	(walk_tree): Convert from htab_t to pointer_set_t for keeping
- 	track of which nodes have already been visited.
- 	(walk_tree_without_duplicates): Convert from htab_t to pointer_set_t.
- 	* cgraphunit.c (cgraph_create_edges): Likewise.
- 	(cgraph_characterize_statics_local): Likewise.
- 	* tree-dfa.c (collect_dfa_stats): Likewise.
- 	* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Last arg is
- 	pointer_set_t* now.
- 	* langhooks.c (lhd_tree_inlining_walk_subtrees): Likewise.
- 	* langhooks.h (struct lang_hooks_for_tree_inlining): Last arg type
- 	of walk_subtrees is pointer_set_t* now.
- 	* Makefile.in (OBJS-common): add pointer-set.o
- 	(tree-inline.o): Depends on pointer-set.h
- 	(tree-dfa.o): Likewise
- 	(cgraphunit.o): Likewise
- 
- 2004-10-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/darwin.h (ASM_SPEC): Delete.
- 	(TARGET_ASM_FILE_START): Define.
- 	* config/darwin.h (ASM_SPEC): Define.
- 	* config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Don't supply
- 	-mlong-double-128, it's the default.  Update comment about reason
- 	for force_cpusubtype_ALL.
- 	* config/rs6000/darwin-vecsave.asm: Supply .machine.
- 	* config/rs6000/darwin-world.asm: Likewise.
- 	* config/rs6000/rs6000.c (rs6000_darwin_file_start): New.
- 	(symbolic_operand): Delete #if 0ed code.
- 
- 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* stmt.c (add_case_node): Make sure that we have integer
- 	constant before calling tree_int_cst_compare.
- 
- 2004-10-14  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17967
- 	Revert:
- 		* tree-cfg.c (remove_usless_stmts_cond):  Fold statement.
- 		(remove_useless_stmts_1):  Fold trees we know how to fold.
- 
- 2004-10-14  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS),
- 	config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow
- 	-m64.
- 
- 2004-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads): When reloading a PLUS with constant
- 	operand, make sure the constant is pushed to the constant pool
- 	if required.
- 	* config/s390/s390.c (s390_secondary_input_reload_class): Remove
- 	reload bug workaround.
- 	(s390_expand_plus_operand): Likewise.
- 
- 2004-10-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* opts.c (common_handle_option): Do not enable
- 	flag_speculative_prefetching for -fprofile-generate/use.
- 
- 2004-10-14  Devang Patel  <dpatel@apple.com>
- 
- 	PR 17635
- 	* tree-if-conv.c (process_phi_nodes): Process latch block.
- 	(combine_blocks): Process latch block and update loop structure.
- 
- 2004-10-14  Olga Golovanevsky  <olga@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_generate_tmps_on_preheader):
- 	(vect_update_ivs_after_vectorizer):
- 	(vect_transform_for_unknown_loop_bound):
- 	(tree_duplicate_loop_to_edge):
- 	(allocate_new_names):
- 	(rename_use_op):
- 	(rename_def_op):
- 	(rename_variables_in_bb):
- 	(free_new_names):
- 	(rename_variables_in_loop):
- 	(copy_phi_nodes):
- 	(update_phis_for_duplicate_loop):
- 	(update_phi_nodes_for_guard):
- 	(make_loop_iterate_ntimes):
- 	(tree_duplicate_loop_to_edge_cfg):
- 	(add_loop_guard):
- 	(vect_analyze_loop_with_symbolic_num_of_iters):
- 	(verify_loop_for_duplication):
- 	(vect_gen_niters_for_prolog_loop):
- 	(vect_update_niters_after_peeling):
- 	(vect_update_inits_of_dr):
- 	(vect_update_inits_of_drs):
- 	(vect_build_loop_niters):
- 	(vect_do_peeling_for_alignment): New functions.
- 	(vect_transform_loop): Add unknown and known but indivisible loop
- 	bound support; add peeling for unalignment support.
- 	(vect_analyze_loop_form): Support symbolic number of iterations.
- 	(vect_transform_loop_bound): New input parameter.
- 	(vect_get_loop_niters): Change input parameter type.
- 	(new_loop_vec_info): LOOP_VINFO_NITERS is tree now.
- 	(vectorizable_store): Allow unaligned access.
- 	(vectorize_loops): Add rewrite_into_loop_closed_ssa.
- 	(vect_analyze_data_refs_alignment): Allowed one unaligned
- 	store.
- 	* tree-vectorizer.h (LOOP_VINFO_NITERS_KNOWN_P): Redefined
- 	to use tree.
- 	(LOOP_VINFO_INT_NITERS): New macro.
- 	(MAX_NUMBER_OF_UNALIGNED_DATA_REFS): New define.
- 	(do_peeling_for_alignment):
- 	(unaligned_drs): New members of _loop_vec_info.
- 	(LOOP_DO_PEELING_FOR_ALIGNMENT): New macro.
- 
- 2004-10-14  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	* tree.h (TREE_STRING_POINTER): Wrap in "const char *".
- 	(struct tree_string): Remove "const" qualifier for "str".
- 
- 2004-10-14  Ira Rosen  <irar@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_analyze_data_refs): Call
- 	vect_get_base_and_bit_offset to get memory tag for array ref.
- 	(vect_create_addr_base_for_vector_ref): Remove redundant checks.
- 
- 2004-10-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* configure.ac: Use $LN_S for creating symlinks (not $LN).
- 	* configure: Regenerate.
- 
- 2004-10-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* doc/install.texi (*-*-solaris2*): Update with info about kernel
- 	patches to solve spurious testsuite failures.
- 
- 2004-10-14  Dorit Naishlos  <dorit@il.bim.com>
- 
- 	* tree-vectorizer.c (get_vectype_for_scalar_type): Added debug prinouts.
- 	Added check that vectype is VECTOR_MODE_P, instead of check for BLKmode.
- 	(vect_analyze_operations): Make sure the vectorization factor > 1. Add
- 	gcc_assert under ENABLE_CHECKING.
- 	(vectorizable_operation): Remove check for VECTOR_MODE_P (moved to
- 	get_vectype_for_scalar_type).
- 
- 	(vect_get_vec_def_for_operand): Remove redundant variables.
- 	(vect_transform_loop): Likewise.
- 
- 2004-10-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Make r11 fixed and
- 	global for -mcaller-super-interworking.
- 	(CALLER_INTERWORKING_SLOT_SIZE): New macro.
- 	* config/arm/arm.c (thumb_compute_save_reg_mask): Save r11 if
- 	CALLER_INTERWORKING_SLOT_SIZE is nonzero and the function does
- 	not need a frame pointer.
- 	(arm_get_frame_offsets): Add CALLER_INTERWORKING_SLOT_SIZE bytes to
- 	the soft frame pointer offset.
- 	(thumb_expand_prologue): Set up r11 for -mcaller-super-interworking.
- 	* config/arm/arm.md (*call_reg_thumb, *call_value_reg_thumb): Use
- 	_interwork_{r7,r11}_call_via_rN if some arguments are passed on
- 	the stack.  Use frame_pointer_needed to choose between them.
- 	* config/arm/lib1funcs.asm (_arm_return_{r7,r11}): New functions.
- 	(interwork_with_frame): New macro.
- 	(interwork): Add _interwork_{r7,r11}_call_via_rN().
- 
- 2004-10-14  Ben Elliston  <bje@au.ibm.com>
- 
- 	PR other/17900
- 	* diagnostic.c (trim_filename): Fix logic bug in walking backwards
- 	up the filename looking for a previous directory separator.
- 
- 2004-10-14  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (enum c_typespec_kind, struct c_typespec,
- 	parser_xref_tag): New.
- 	(struct c_declspecs): Add tag_defined_p.  Adjust definition of
- 	typedef_p.
- 	(declspecs_add_type): Adjust prototypes.
- 	* c-parse.in (%union): Add tstype.
- 	(typespec_nonattr, typespec_attr, typespec_reserved_nonattr,
- 	typespec_reserved_attr, typespec_nonreserved_nonattr,
- 	structsp_attr, structsp_nonattr): Change to tstype.  Update
- 	actions.
- 	* c-decl.c (build_null_declspecs): Initialize tag_defined_p.
- 	(declspecs_add_type): Update to take struct c_typespec argument.
- 	Set tag_defined_p and typedef_p as appropriate.
- 	(xref_tag): Rename to parser_xref_tag and replace by wrapper.
- 	Update to return struct c_typespec.
- 	(shadow_tag_warned): Don't let empty declarations with qualifiers
- 	or storage class specifiers redeclare a tag if a previous
- 	declaration is visible.
- 
- 2004-10-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR debug/15860
- 	* dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
- 	for DECL_INCOMING_RTL.
- 
- 2004-10-14  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/17984
- 	* config/cris/cris.md (asrandb, asrandw, lsrandb, lsrandw): Apply
- 	trunc_int_for_mode for constants used in shortened mode.
- 
- 2004-10-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/17384
- 	* c-common.c (handle_mode_attribute): Disallow mode changes that
- 	alter the CODE of the top-level type.
- 
- 	* crtstuff.c (__FRAME_END__): Remove mode attribute.  Find 32-bit
- 	integer from internal limits macros.
- 	* config/i386/mm3dnow.h (__v2sf): Fix base type.
- 
- 2004-10-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR debug/13841
- 	* function.c (instantiate_decl): Recurse for CONCAT.
- 
- 2004-10-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (andsi3): Add attribute "compare" for
- 	andi./andis.
- 	(anddi3): Same.
- 	(extzvdi_internal1): Add attribute "compare".
- 	(extzvdi_internal2): Same.
- 
- 2004-10-12  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/md.texi (Insn Canonicalizations): Removed extraneous quote.
- 
- 2004-10-13  Dale Johannesen  <dalej@apple.com>
- 
- 	* doc/extend.texi (Extended Asm):  Rewrite asm volatile description.
- 
- 2004-10-13  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* toplev.c (compile_file): Call mudflap_finish_file from here ...
- 	* c-decl.c (c_write_global_declarations): ... instead of here ...
- 	* cp/decl.c (cp_finish_file): ... and here.
- 	* tree-mudflap.c (mudflap_enqueue_decl): Reword a warning message.
- 
- 2004-10-13  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-ssa-dom.c (record_range): Free the element if we are not
- 	going to use it.
- 
- 2004-10-13  Tom Tromey  <tromey@redhat.com>
- 
- 	PR java/15578:
- 	* gcc.c (option_map): Added --extdirs and --encoding.
- 
- 2004-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/14454
- 	* config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
- 	sparc_can_output_mi_thunk.
- 	(sparc_output_mi_thunk): Simplify handling of delta offset.  Add
- 	handling of vcall offset.
- 	(sparc_can_output_mi_thunk): New predicate.
- 	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
- 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
- 
- 	* config/sparc/sparc.c (emit_and_preserve): Preserve stack alignment.
- 
- 	* config/sparc/sparc.md (movdi): Remove redundant test.
- 
- 2004-10-13  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-dump.c (dump_options): Remove TDF_TREE, TDF_RTL,
- 	TDF_IPA from -fdump-tree-*-all.
- 
- 2004-10-13  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm-protos.h (arm_load_pic_register): Update prototype.
- 	* config/arm/arm.c (thumb_find_work_register): Update comments.
- 	(arm_load_pic_register): Add argument for scratch register.
- 	(arm_expand_prologue, thumb_expand_prologue): Pass extra argument.
- 	* config/arm/arm.md (builtin_setjmp_receiver): Ditto.
- 
- 2004-10-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-data-ref.c: Fix comment typos.
- 
- 2004-10-13  Jakub Jelinek  <jakub@redhat.com>
- 	    Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17724
- 	* tree-cfg.c (tree_purge_dead_eh_edges): Free dominance info.
- 
- 2004-10-13  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* rs6000.c (altivec_builtin_mask_for_load): Made static GTY(()).
- 	(altivec_builtin_mask_for_store): Likewise.
- 	(altivec_init_builtins): Use lang_hooks.builtin_function to
- 	create the decls for builtin_altivec_mask_for_load/store.
- 
- 2004-10-13  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/c4x/c4x.c: Remove inclusion of loop.h.
- 
- 2004-10-12  Ben Elliston  <bje@au.ibm.com>
- 
- 	* basic-block.h (edge_iterator): Keep the address of VEC(edge) *.
- 	(ei_container): New; renamed.
- 	(ei_start, ei_last): New macros.
- 	(ei_start_1, ei_last_1): Renamed from ei_start.
- 	(ei_last_1, ei_end_p): Use ei_container() where applicable.
- 	(ei_one_before_end_p, ei_next, ei_edge): Likewise.
- 	* gcse.c (remove_reachable_equiv_notes): Use ei_container().
- 
- 2004-10-11  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* Makefile.in (tree-ssa-loop-niter.o): Depends on tree-data-ref.h.
- 	* cfgloop.c (initialize_loops_parallel_p): New.
- 	(flow_loops_find): Initialize the parallel_p field to true for all
- 	the loops.
- 	* tree-ssa-loop-niter.c: Include "tree-data-ref.h".
- 	(estimate_numbers_of_iterations_loop): Infers the loop bounds from
- 	the size of the data accessed in the loop.
- 	(struct nb_iter_bound): Moved...
- 	* cfgloop.h (struct nb_iter_bound): ... here.
- 	(estimated_nb_iterations, parallel_p): New fields in struct loop.
- 	(record_estimate): Declare extern here.
- 	* tree-chrec.c: Fix comments.
- 	(nb_vars_in_chrec): New function.
- 	* tree-chrec.h (nb_vars_in_chrec): Declared here.
- 	* tree-data-ref.c: Don't include lambda.h, that is already included
- 	in tree-data-ref.h.
- 	(tree_fold_divides_p): Don't check for integer_onep.
- 	(tree_fold_bezout): Removed.
- 	(gcd): New static duplicated function.
- 	(int_divides_p, dump_subscript): New.
- 	(dump_data_dependence_relation): Use dump_subscript.
- 	(dump_dist_dir_vectors, dump_ddrs, compute_estimated_nb_iterations,
- 	estimate_niter_from_size_of_data): New.
- 	(analyze_array_indexes, analyze_array): Call
- 	estimate_niter_from_size_of_data during	the detection of array
- 	references.  Pass in a pointer to the statement that contains the
- 	array reference.
- 	(all_chrecs_equal_p): New.
- 	(compute_distance_vector): Renamed compute_subscript_distance.
- 	Deal with multivariate conflict functions.
- 	(initialize_data_dependence_relation): Initialize DDR_AFFINE_P,
- 	DDR_SIZE_VECT, DDR_DIST_VECT, and DDR_DIR_VECT.
- 	(non_affine_dependence_relation): New.
- 	(analyze_ziv_subscript, analyze_siv_subscript_cst_affine,
- 	analyze_siv_subscript, analyze_miv_subscript,
- 	analyze_overlapping_iterations, subscript_dependence_tester):
- 	Initialize and return last_conflicts function.
- 	(initialize_matrix_A, FLOOR, compute_overlap_steps_for_affine_univar,
- 	compute_overlap_steps_for_affine_1_2): New.
- 	(analyze_siv_subscript_affine_cst): Removed.
- 	(analyze_subscript_affine_affine): Disprove dependences based on the
- 	iteration domains.  Solve the univariate dependence case as before,
- 	but use lambda_matrix_right_hermite instead of tree_fold_bezout.
- 	Implement the multivariate case of 2 versus 1 variables.
- 	(build_classic_dist_vector, build_classic_dir_vector): Implement some
- 	unhandled cases.
- 	(find_data_references_in_loop): Compute and initialize
- 	loop->estimated_nb_iterations and loop->parallel_p.
- 	(analyze_all_data_dependences): Modify the debug dump order.
- 	* tree-data-ref.h (SUB_LAST_CONFLICT_IN_A, SUB_LAST_CONFLICT_IN_B,
- 	subscript->last_conflict_in_a, subscript->last_conflict_in_b): Removed.
- 	(SUB_LAST_CONFLICT, subscript->last_conflict,
- 	data_dependence_relation->affine_p, data_dependence_relation->size_vect,
- 	DDR_AFFINE_P, DDR_SIZE_VECT): New.
- 	(find_data_references_in_loop, initialize_data_dependence_relation,
- 	dump_subscript, dump_ddrs, dump_dist_dir_vectors): Declared here.
- 
- 2004-10-12  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* configure: Regenerate.
- 
- 2004-10-12  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	PR 17892
- 	* tree-ssa-dom.c (unsafe_associative_fp_binop): New function.
- 	(simplify_rhs_and_lookup_avail_expr): Disallow associativity
- 	and constant folding of floating point MULT_EXPR/PLUS_EXPR
- 	expressions.
- 
- 2004-10-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_va_start): Use build_va_arg_indirect_ref.
- 	(s390_gimplify_va_arg): Likewise.
- 
- 2004-10-12  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* defaults.h (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P)
- 	(MODE_BASE_REG_REG_CLASS, REGNO_MODE_OK_FOR_REG_BASE_P)
- 	(REG_MODE_OK_FOR_REG_BASE_P): Provide default definitions.
- 	* regclass.c (record_address_regs): Remove ifdef.  Use
- 	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
- 	* regrename.c (REG_MODE_OK_FOR_BASE_P): Remove unnecessary
- 	definition.
- 	(scan_rtx_address, replace_oldest_value_addr): Use
- 	REG_MODE_OK_FOR_REG_BASE_P and MODE_BASE_REG_REG_CLASS.
- 	* reload.c (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Remove
- 	unnecessary definitions.
- 	(find_reloads_address_1): Support REG_MODE_OK_FOR_REG_BASE_P
- 	and MODE_BASE_REG_REG_CLASS.
- 	* config/arm/arm.h (MODE_BASE_REG_CLASS): Don't check reload_completed.
- 	(MODE_BASE_REG_REG_CLASS): Define.
- 	(REGNO_MODE_OK_FOR_REG_BASE_P): Define.
- 	(REG_MODE_OK_FOR_REG_BASE_P): Define.
- 	* doc/tm.texi (Register Classes): Document MODE_BASE_REG_REG_CLASS,
- 	REG_MODE_OK_FOR_REG_BASE_P, and REGNO_MODE_OK_FOR_REG_BASE_P.
- 
- 2004-10-12  Daniel Berlin <dberlin@dberlin.org>
- 
- 	* tree-ssa-alias.c (verify_name_tags): New function.
- 	(verify_flow_sensitive_alias_info): Remove code that used to check name tags.
- 	(verify_alias_info): Call verify_name_tags.
- 
- 2004-10-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR rtl-optimization/17931
- 	* config/i386/i386.c (ix86_rtx_costs): Handle COMPARE with
- 	ZERO_EXTRACT in it.
- 
- 2004-10-12  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_print_operand): Use output_operand_lossage where possible
- 	rather than aborting.
- 
- 2004-10-12  Paul Brook  <paul@coudesourcery.com>
- 
- 	* config.gcc: Add armv6{k,z,zk}
- 	* config/arm/arm-cores.def: Add arm1176 and mpcore.
- 	* config/arm/tune.md: Regenerate.
- 	* config/arm/arm.c (FL_FOR_ARCH6K, FL_FOR_ARCH6Z, FL_FOR_ARCH6ZK):
- 	Define.
- 	(all_architectures): Add armv6k, armv6z, armv6zk.
- 	* config/arm/lib1funcs.asm: Recognise new arm arcitectures.
- 	* doc/invoke.texi: Document new arch and cpu values.
- 
- 2004-10-12  Paul Brook  <paul@coodesourcery.com>
- 
- 	* config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Change meabi=3 to
- 	meabi=4.
- 
- 2004-10-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.md (addsi3_cbranch_scratch): Correct constraints.
- 	Handle negative constants.
- 
- 2004-10-12  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17301
- 	* c-typeck.c (convert_arguments): Return error_mark_node if there
- 	are too few arguments.
- 	(build_function_call): Handle error_mark_node return from
- 	convert_arguments.
- 
- 2004-10-06  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* configure.ac (symbolic_link): Replace with $LN_S.
- 	(Assembler/Linker): Hard link from gas and binutils trees.
- 	* aclocal.m4 (gcc_AC_PROG_LN_S): Try "cp -p" before cp.
- 	* configure: Regenerate.
- 
- 2004-10-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* configure.ac: Don't look for host assembler when building a canadian
- 	cross.
- 	* configure: Regenerate.
- 
- 2004-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR other/17361
- 	* c-opts.c (permit_fortran_options): Delete/obsolete global variable.
- 	(c_common_init_options): Remove #ifdef CL_F77 code.  Scan command
- 	line options for "-lang-asm" and if found allow any of the C-family
- 	front-end options.
- 	(c_common_handle_option): Remove last use of permit_fortran_options.
- 
- 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (print_operand): Support 'S' format flag.
- 	* config/s390/s390.md ("*tmqi_mem"): Use 'S' format flag.
- 	("*tstsi", "*tstsi_cconly", "*tstsi_cconly2"): Likewise.
- 	("*tsthiCCT", "*tsthiCCT_cconly", "*tsthi", "*tsthi_cconly"): Likewise.
- 	("*tstqiCCT", "*tstqiCCT_cconly", "*tstqi", "*tstqi_cconly"): Likewise.
- 	("*cmphi_ccu", "*cmpqi_ccu", "*clc"): Likewise
- 	("movti", "*movdi_31", "*movqi", "*movdf_31", "*mvc"): Likewise.
- 	("*movstricthi"): Likewise.
- 	("*load_multiple_di", "*load_multiple_si"): Likewise.
- 	("*store_multiple_di", "*store_multiple_si"): Likewise.
- 	("*sethiqisi", "*sethihisi"): Likewise.
- 	("*sethiqidi_64", "*sethiqidi_31"): Likewise.
- 	("*andqi3_zarch", "*andqi3_esa", "*nc"): Likewise.
- 	("*iorqi3_zarch", "*iorqi3_esa", "*oc"): Likewise.
- 	("*xorqi3", "*xc", "*xc_zero"): Likewise.
- 	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Likewise.
- 
- 	("*tmhi_full"): Fix incorrect op_type attribute.
- 
- 	("*adddi3_alc_cc", "*adddi3_alc"): Remove double backslash.
- 	("*subdi3_slb_cc", "*subdi3_slb"): Likewise.
- 	("*addsi3_alc_cc", "*addsi3_alc"): Likewise.
- 	("*subsi3_slb_cc", "*subsi3_slb"): Likewise.
- 
- 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu
- 
- 	PR middle-end/16266
- 	* function.c (temp_slots_at_level): Fix typo which creates too
- 	many temp stack slots levels.
- 
- 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_trampoline_template): Generate shorter
- 	trampoline code.
- 	(s390_trampoline_instantiate): Adapt.
- 	* config/s390/s390.h (TRAMPOLINE_SIZE): Adapt to new code.
- 
- 2004-10-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17657
- 	* stmt.c (add_case_node): Add additional type argument.  Declare
- 	as static to match prototype.  Convert the upper and lower bounds
- 	to the specified index type.  Optimize away case ranges/values
- 	that are outside the index type's bounds.  Truncate case ranges
- 	that span the index type's bounds.
- 	(expand_case): Avoid unnessary computation and memory allocation
- 	when index type is error_mark_node.  Pass index_type as required
- 	by change to add_case_node API.  No need to convert case range
- 	bounds to index_type, this is now done by add_case_node.
- 
- 2004-10-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_offset_p): Add prototype.
- 	* config/s390/s390.c (s390_offset_p): New function.
- 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct", "*cmpdi_ccu",
- 	"*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu"): Use splitter to
- 	transform Q->Q alternatives to *clc pattern.
- 	("*clc"): Move.
- 	("movti", "*movdi_64", "*movdi_31", "*movsi_zarch", "*movsi_esa",
- 	"*movhi", "*movqi", "*movdf_64", "*movdf_31", "movsf"): Use splitter
- 	to transform Q->Q alternatives to *mvc pattern.
- 	("*mvc"): Move.  Add peephole to merge adjacent MVCs.
- 	("*anddi3", "*andsi3_zarch", "*andsi3_esa", "*andhi3_zarch",
- 	"*andhi3_esa", "*andqi3_zarch", "*andqi3_esa"): Use splitter to
- 	transform Q->Q alternatives to *nc pattern.
- 	("*nc"): New insn.  New peephole to merge adjacent NCs.
- 	("*iordi3", "*iorsi3_zarch", "*iorsi3_esa", "*iorhi3_zarch",
- 	"*iorhi3_esa", "*iorqi3_zarch", "*iorqi3_esa"): Use splitter to
- 	transform Q->Q alternatives to *oc pattern.
- 	("*oc"): New insn.  New peephole to merge adjacent OCs.
- 	("*xordi3", "*xorsi3", "*xorhi3", "*xorqi3"): Use splitter to
- 	transform Q->Q alternatives to *xc pattern.
- 	("*xc"): New insn.  New peephole to merge adjacent XCs.
- 	("*xc_zero"): Move.  Add peephole to merge adjacent XCs.
- 
- 2004-10-11  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* gimplify.c (gimple_push_condition): Make sure that we don't
- 	have any saved condition cleanup if we were at the top level.
- 
- 2004-10-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.md (*adddi3_internal): Change name to...
- 	(adddi3): ...replacing the exisiting define_expand.  Combine
- 	alternatives.  Fix the range of the constant constraints ('J' instead
- 	of 'NOP').  Remove bogus operands[2] check.  Use simplify_gen_subreg
- 	to extract the lower and upper halves of the DImode operands.
- 	Always use addi3_lower and adddi3_upper, not the subdi3 forms.
- 	(adddi3_lower): Fix the range of the constant constraints and
- 	remove the bogus operands[2] check.
- 	(adddi3_upper): Use gpr_or_int10_operand as the predicate for
- 	operand 2.  Use addxi to handle constant operands.
- 	(subdi3_lower, subdi3_upper): Don't handle constant operands.
- 
- 2004-10-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gengtype-lex.l: Add commented } & ) characters to unconfuse
- 	editor's paren matching. Allow #define inside a struct.
- 
- 2004-10-10  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17703
- 	part of PR c++/17657
- 	* fold-const.c (fold_build_cleanup_point_expr): New function.
- 	* tree.h (fold_build_cleanup_point_expr): Prototype.
- 
- 2004-10-10  Eric Christopher  <echristo@redhat.com>
- 
- 	* dwarf2out.c: Move attribute to subprogram declaration
- 	instead of subroutine type.
- 
- 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Remove the prototypes for can_hoist_insn_p,
- 	hoist_insn_after, and hoist_insn_to_edge.
- 	* rtl.h: Remove the prototypes for reg_referenced_between_p,
- 	no_jumps_between_p, and insn_dependent_p.
- 	* rtlanal.c (no_jumps_between_p, reg_referenced_between_p,
- 	insn_dependent_p, insn_dependent_p_1, hoist_test_store,
- 	can_hoist_insn_p, hoist_update_store, hoist_insn_after,
- 	hoist_insn_to_edge): Remove.
- 
- 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17881
- 	* c-decl.c (grokparms): Don't warn for parameters of incomplete
- 	type in declarations that are not definitions except for the case
- 	of parameters of void type.
- 
- 2004-10-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c: Fix comment typos.
- 
- 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17301
- 	* builtins.c (expand_builtin_va_start): Check for too few
- 	arguments to va_start.
- 
- 2004-10-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17189
- 	* c-decl.c (grokfield): Make diagnostic for bad cases of unnamed
- 	fields a pedwarn.  Pedwarn here for unnamed structs/unions if
- 	pedantic.
- 	* c-parse.in (component_decl): Don't pedwarn here for unnamed
- 	fields.
- 
- 2004-10-09  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17906
- 	* tree-tailcall.c (tree_optimize_tail_calls_1): Do not attempt to
- 	copy non-gimple reg arguments.
- 
- 2004-10-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR rtl-optimization/17853
- 	* simplify-rtx.c (simplify_relational_operation): Correct comment.
- 	Reorganize handling of comparison operations with floating point
- 	results (always return 0.0 even without FLOAT_STORE_FLAG_VALUE).
- 	Likewise, introduce support for comparison operations with vector
- 	result types, introducing a new VECTOR_STORE_FLAG_VALUE target macro.
- 
- 	* doc/rtl.texi: Document new VECTOR_STORE_FLAG_VALUE target macro.
- 	* doc/tm.texi: Likewise.
- 
- 2004-10-09  Steven Bosscher  <stevenb@suse.de>
- 
- 	* regs.h (struct reg_info_def): Remove the last_node_uid and
- 	changes_mode fields.
- 	(REGNO_LAST_NOTE_UID): Don't define.
- 	* regclass.c (reg_scan_mark_refs): Don't set REGNO_LAST_NOTE_UID.
- 	* regmove.c (copy_src_to_dest): Likewise.
- 
- 2004-10-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17894
- 	* fold-const.c (fold_div_compare): When optimizing X/C1 op C2, the
- 	relational comparison operator op needs to be swapped/reversed when
- 	C1 is negative.  i.e. X/-10 < 1 becomes X >= -9, not X < -9.
- 
- 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/17902
- 	* tree-ssa-phiopt.c (conditional_replacement): Use bsi_after_labels
- 	instead of bsi_start.
- 	(value_replacement): Likewise.
- 	(abs_replacement): Likewise
- 
- 2004-10-09  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgexpand.c (maybe_dump_rtl_for_tree_stmt): New function.
- 	(expand_gimple_cond_expr, expand_gimple_tailcall,
- 	expand_gimple_basic_block): Use it to dump RTL for each stmt.
- 	(tree_expand_cfg): Announce full RTL function dump.
- 	* tree-optimize.c (execute_one_pass): Use normal RTL printing,
- 	not the graph version.
- 	* tree-pretty-print.c (dump_generic_node): Allow empty statements
- 	in the arms of a COND_EXPR for lowered nodes.
- 
- 2004-10-08  Joseph S. Myers  <joseph@codesourcery.com>
- 
- 	* config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
- 	atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
- 	strtoufix16, strtoufix32, strtoufix64): Declare.
- 
- 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-lex.c (interpret_float): Give a pedwarn rather than a warning
- 	for an out-of-range floating point constant.
- 	* builtins.c (fold_builtin_inf): Give a pedwarn rather than a
- 	warning if the target format does not support infinities.
- 
- 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (last_label_num, base_label_num): Remove.
- 	(max_label_num): Always return label_num.
- 	(set_new_last_label_num, restore_emit_status): Remove.
- 	(init_emit): Don't initialize last_label_num.
- 	* function.c (pop_function_context_from): Don't call
- 	restore_emit_status.
- 	* function.h: Remove the prototype for restore_emit_status.
- 	* rtl.h: Remove the prototype for set_new_last_label_num.
- 
- 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (expand_decl_init): Remove.
- 	* tree.h: Remove the corresponding prototype.
- 
- 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* integrate.c (try_constants, subst_constants, mark_stores):
- 	Remove.
- 	* integrate.h: Remove the prototype for try_constants.
- 
- 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (enum impl_conv): Add ic_argpass_nonproto.
- 	(convert_for_assignment): Handle ic_argpass_nonproto.  Add
- 	comments about its relevance to errors.
- 	(c_convert_parm_for_inlining): Use ic_argpass_nonproto.
- 
- 2004-10-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/16999
- 	* c-ppoutput.c (cb_ident): Don't quote string as it is already
- 	quoted.
- 
- 2004-10-08  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-pre.c (init_pre): Use size of ARRAY_REF to allocate
- 	reference_node_pool.
- 
- 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c: Fix a comment typo.
- 
- 2004-10-08  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_register_info): Don't save fprs for
- 	-msoft-float.
- 	(s390_conditional_register_usage): Make fprs 'fixed' for -msoft-float.
- 
- 2004-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (TARGET_DEFAULT_BACKCHAIN): New define.
- 	(TARGET_DEFAULT): Use symbolic values.
- 	* config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Redefine.
- 	(TARGET_DEFAULT): Use symbolic values.
- 	* config/s390/s390.c (s390_backchain_string): Initialize to
- 	TARGET_DEFAULT_BACKCHAIN.
- 
- 2004-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_mempcpy): Move tree handling code to
- 	fold_builtin_mempcpy.  Accept a type parameter.  Delete duplicate
- 	code.
- 	(expand_builtin_strcat): Accept a type parameter.
- 	(fold_builtin_mempcpy): Accept a type and endp parameter.
- 
- 	* builtins.c (expand_builtin_strncpy): Delete duplicate code.
- 	Accept an `exp' instead of an `arglist'.
- 
- 2004-10-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree-tailcall.c (tree_optimize_tail_calls_1): Use fold_convert,
- 	reverting my 2004-09-07 patch to use build_int_cst.
- 
- 2004-10-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/17245
- 	* config/sparc/sparc.c (input_operand): Remove redundant code
- 	for handling LO_SUM.
- 	(legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
- 	<LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
- 	Otherwise only accept it for TFmode if quad move insns are available.
- 
- 2004-10-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (tree_forwarder_block_p): Reorder checks so that
- 	common cases will be caught earlier than others.
- 
- 2004-10-08  Michael Matz  <matz@suse.de>
- 
- 	* loop-doloop.c (doloop_optimize): Extend count.
- 
- 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.md (prefetch_media, prefetch_i4): New insns.
- 	(prefetch): Convert to expander.
- 
- 2004-10-08  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.md (tls_global_dynamic): Use MEM pattern for the
- 	first argument of CALL.
- 	(tls_local_dynamic): Likewise.
- 
- 2004-10-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (enum impl_conv): New.
- 	(convert_for_assignment): Use it.  Take tree for function called
- 	instead of its name.  Handle ObjC selectors for diagnostics at
- 	start of function.  Select diagnostic text within the function
- 	using full sentences for diagnsotics.  Use %qE to name functions
- 	in diagnostics.
- 	(convert_arguments, build_modify_expr,
- 	c_convert_parm_for_inlining, digest_init, c_finish_return): Update
- 	callers to convert_for_assignment.
- 	(warn_for_assignment): Remove.
- 
- 2004-10-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sh/symbian.c (symbian_possibly_export_base_class):
- 	Replace use of deleted TYPE_USES_VIRTUAL_BASECLASSES macro with
- 	TYPE_CONTAINS_VPTR_P.
- 
- 2004-10-08  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
- 	fixed registers form all_used_regs. Update call_really_used_regs.
- 	(CALL_REALLY_USED_REGISTERS): Define.
- 	* config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
- 	with call_really_used_regs.
- 
- 2004-10-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o
- 	for -profile as well as -p and -pg.
- 
- 2004-10-07  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* libgcc2.c (__moddi3): Cast &w to UDWtype*.
- 
- 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (tree_block_forwards_to): Remove.
- 	* tree-flow.h: Remove the corresponding prototype.
- 
- 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-flow-inline.h (phi_nodes): Remove an unnecessary check
- 	for ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.
- 
- 2004-10-07  Geoffrey Keating  <geoffk@apple.com>
- 
- 	Radar 3813796
- 	* config/rs6000/rs6000.c (rs6000_generate_compare): When
- 	flag_trapping_math is in effect, don't generate subtract
- 	instructions.
- 
- 2004-10-07  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_narrow_logical_operator): Add.
- 	* config/s390/s390.c (s390_narrow_logical_operator): New function.
- 	(s390_extra_constraint_str): Add 'A' constraints.
- 	(s390_const_ok_for_constraint_p): Add 'Nx' constraints.
- 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'A' constraint.
- 	(CONSTRAINT_LEN): Likewise.
- 	* config/s390/s390.md ("*anddi3"): Add NI alternative and splitter.
- 	("*andsi3_zarch", "*andsi3_esa"): Likewise.
- 	("*andhi3_zarch", "*andhi3_esa"): Likewise.
- 	("*iordi3"): Add OI alternative and splitter.
- 	("*iorsi3_zarch", "*iorsi3_esa"): Likewise.
- 	("*iorhi3_zarch", "*iorhi3_esa"): Likewise.
- 	("*xordi3"): Add XI alternative and splitter.
- 	("*xorsi3", "*xorhi3"): Likewise.
- 
- 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_function_rodata_section): New function.
- 	(TARGET_ASM_FUNCTION_RODATA_SECTION): Use it.
- 
- 2004-10-07  Devang Patel  <dpatel@apple.com>
- 
- 	* rs6000/altivec.md (UNSPEC_VCMPBFP, UNSPEC_VCMPEQUB, UNSPEC_VCMPEQUH,
- 	UNSPEC_VCMPEQUW, UNSPEC_VCMPGEFP, UNSPEC_VCMPGTUB, UNSPEC_VCMPGTSB,
- 	UNSPEC_VCMPGTUH, UNSPEC_VCMPGTSH, UNSPEC_VCMPGTUW, UNSPEC_VCMPGTSW,
- 	UNSPEC_VCMPGTFP, UNSPEC_VSEL4SI, UNSPEC_VSEL4SF, UNSPEC_VSEL8HI,
- 	UNSPEC_VSEL16QI, UNSPEC_VCOND_V4SI, UNSPEC_VCOND_V4SF, UNSPEC_VCOND_V8HI,
- 	UNSPEC_VCOND_V16QI, UNSPEC_VCONDU_V4SI, UNSPEC_VCONDU_V8HI,
- 	UNSPEC_VCONDU_V16QI): New constant defines.
- 	(vcondv4si, vcondv4sf, vcondv8hi, vcondv16qi, vconduv4si, vconduv8hi,
- 	vconduv16qi): New patterns.
- 	* rs6000/rs6000-protos.h (rs6000_emit_vector_cond_expr): New function.
- 	* rs6000/rs6000.c (rs6000_emit_vector_cond_expr): New function.
- 	(get_vec_cmp_insn): Same.
- 	(get_vsel_insn): Same.
- 	(rs6000_emit_vector_compare): Same.
- 	(rs6000_emit_vector_select): Same.
- 	(INSN_NOT_AVAILABLE): New.
- 
- 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17749
- 	* tree-tailcall.c (find_tail_calls): Check that parameter is
- 	a gimple_reg.
- 
- 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ia64/ia64.c: Fix a comment typo.
- 
- 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (*-*-solaris2*): Fix marker for URL.
- 
- 2004-10-07  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	PR c++/17115
- 	* tree-inline.c (expand_call_inline): Do not warn for functions
- 	marked with attribute noinline.
- 
- 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/17862
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Set
- 	current_function_uses_only_leaf_regs as well as sparc_leaf_function_p.
- 
- 	* config/sparc/sparc.c (sparc_gimplify_va_arg): Pass 'false' instead
- 	of 0 as 4th argument to pass_by_reference.
- 	Call build_va_arg_indirect_ref instead of build_fold_indirect_ref.
- 
- 2004-10-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/sh/sh.c (sh_dwarf_calling_convention): Fix renesas dwarf
- 	attribute.
- 
- 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/17770
- 	* config/mips/mips.md (mov_<load>l): Remove hazard=none attribute.
- 
- 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR rtl-optimization/17791
- 	* loop-doloop.c (doloop_modify): Take number of iterations as
- 	argument.
- 	(doloop_optimize): Extend or shorten the number of iterations
- 	when changing mode of counter register.
- 	* loop-iv.c (lowpart_subreg): Export.
- 	* rtl.h (lowpart_subreg): Declare.
- 
- 2004-10-07  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	PR tree-optimization/17806
- 	* cfghooks.c (split_edge): Update IRREDUCIBLE_LOOP flags.
- 	* cfgloopmanip.c (loop_split_edge_with): Updating of IRREDUCIBLE_LOOP
- 	flags moved to split_edge.
- 
- 2004-10-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/17835
- 	* expmed.c (expand_sdiv_pow2): Force a stack adjustment
- 	before tentatively building the conditional move sequence.
- 
- 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16815
- 	* function.c (assign_parm_setup_block_p): Tighten BLOCK_REG_PADDING
- 	check.
- 	* config/pa/pa.h (BLOCK_REG_PADDING): Define in terms of
- 	function_arg_padding.
- 
- 2004-10-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR bootstrap/17857
- 	* Makefile.in (stmp-fixproto): Pass FIX_HEADER=build/... to fixproto.
- 
- 2004-10-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* hooks.c (hook_int_void_1, hook_void_int): Remove.
- 	* hooks.h: Remove the corresponding prototypes.
- 
- 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR middle-end/17849
- 	* tree-nested.c (walk_stmt_info): Add changed field.
- 	(convert_nonlocal_reference): Set changed to when we
- 	change a decl to unnested decl.
- 	<case ADDR_EXPR>: Instead of checking if the immediate part
- 	of the ADDR_EXPR changed, check the field changed.
- 	Use recompute_tree_invarant_for_addr_expr instead of unsetting
- 	TREE_INVARIANT.
- 	(convert_local_reference):  Set changed to when we
- 	change a decl to unnested decl.
- 	<case ADDR_EXPR>: Instead of checking if the immediate part
- 	of the ADDR_EXPR changed, check the field changed.
- 	Also call recompute_tree_invarant_for_addr_expr on the ADDR_EXPR.
- 
- 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
- 	* dwarf2out.c (dwarf2out_init): Remove references to
- 	DWARF2_GENERATE_TEXT_SECTION_LABEL.
- 	* system.h: Poison DWARF2_GENERATE_TEXT_SECTION_LABEL.
- 	* doc/tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Remove.
- 
- 2004-10-06  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (convert_arguments): Take expression for called
- 	function rather than its name.  Handle ObjC selectors directly
- 	rather than relying on warn_for_assignment to do so.  Call warning
- 	directly rather than warn_for_assignment.  Use %qE in diagnostics.
- 	Say "argument" rather than "arg" in diagnostics.
- 	(build_function_call): Update call to convert_arguments.
- 
- 2004-10-06  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR debug/17787
- 	* dbxout.c (dbxout_symbol): Really handle RECORD, UNION, and
- 	ENUMs specially instead of just saying we do.
- 
- 2004-10-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* dwarf2.h: Sync with include/elf/dwarf2.h
- 
- 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-pretty-print.c (dump_generic_node): Fix printing of BINFO
- 	and TREE_VEC nodes.
- 
- 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Convert
- 	to use FOR_EACH_SSA_USE_OPERAND iterator, and propagate_value.
- 
- 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (compute_nest_using_fourier_motzkin): New
- 	function.
- 	(lambda_compute_auxillary_space): Split from here.
- 
- 2004-10-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop): Make non-static.
- 	* tree-flow.h: Add prototype.
- 	* lambda-code.c (invariant_in_loop_and_outer_loops): Use
- 	expr_invariant_in_loop.
- 
- 2004-10-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Remove a duplicate check for
- 	EXIT_BLOCK_PTR.
- 
- 2004-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s_imm_operand): Remove.
- 	(s390_pool_operand): Add prototype.
- 	* config/s390/s390.c (general_s_operand): Remove.
- 	(s_imm_operand): Remove.
- 	(s_operand): Merge contents of general_s_operand.
- 	(s390_pool_operand): New function.
- 	* config/s390/s390.h (PREDICATE_CODES): Remove s_imm_operand.
- 	* config/s390/s390.md ("*cmpdi_cct", "*cmpsi_cct"): New insns.
- 	("*cmpdi_ccu"): Merge Q->Q alternative.
- 	("*cmpsi_ccu", "*cmphi_ccu"): Likewise.
- 	("*cmpqi_ccu"): Merge Q->Q, n->Q, n->S alternatives.
- 	("*cli"): Remove.
- 	("*cmpdi_ccu_mem", "*cmpsi_ccu_mem"): Likewise.
- 	("*cmphi_ccu_mem", "*cmpqi_ccu_mem"): Likewise.
- 	("*movstricthi"): Use memory_operand instead of s_imm_operand.
- 
- 2004-10-06  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Change macro to
- 	call ia64_function_arg_boundary.
- 	* config/ia64/ia64-protos.h (ia64_function_arg_boundary): New.
- 	* config/ia64/ia64.c (ia64_function_arg_boundary): New.
- 	(ia64_function_arg_advance): Do not put 128 bit floats into
- 	FP registers.
- 
- 2004-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strcpy): Delete duplicate code.
- 	Accept an expression instead of an arglist.
- 	(expand_builtin_stpcpy): Accept an expression instead of an
- 	arglist.
- 
- 2004-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16007
- 	* doc/install.texi (*-*-solaris2*): Mention potential problem
- 	with Sun assembler + GNU linker and C++ programs.
- 	Document status of binutils 2.15 release.
- 
- 2004-10-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (cse_main): Kill push/pop context.
- 
- 2004-10-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* pretty-print.c: Include tree.h.
- 	(pp_base_prepare_to_format): New function, logic from
- 	text_specifies_location.
- 	(pp_base_format_text): Use gcc_assert.
- 	* pretty-print.h (pp_prepare_to_format): New macro.
- 	(pp_base_prepare_to_format): Prototype.
- 	* diagnostic.c (text_specifies_location): Delete.
- 	(bug_report_request): Delete.
- 	(diagnostic_set_info): Don't call text_specifies_location.
- 	(diagnostic_action_after_output): Put text from
- 	bug_report_request inline here.  Use gcc_unreachable.
- 	(diagnostic_report_current_function): Fix comment.
- 	(diagnostic_report_diagnostic): Clarify logic for error recursion.
- 	Call pp_prepare_to_format before diagnostic_starter.
- 	(trim_filename): Use IS_DIR_SEPARATOR.
- 	(fatal_error, internal_error): Use gcc_unreachable.
- 	(error_recursion): Call diagnostic_action_after_output to
- 	issue the bug_report_request message and exit.
- 	* Makefile.in (diagnostic.o, pretty-print.o): Update dependencies.
- 
- 	* c-parse.in: Add list of diagnostic messages to insulate
- 	translation template from version of yacc/bison used to
- 	compile the grammar.
- 
- 2004-10-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR 16406
- 	* doc/tm.texi (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Remove the prototype for
- 	flow_preorder_transversal_compute.
- 	* cfganal.c (dfst_node): Remove.
- 	(flow_preorder_transversal_compute): Likewise.
- 	* rtl.h: Remove the prototype for get_jump_table_offset.
- 	* rtlanal.c (get_jump_table_offset): Remove.
- 
- 2004-10-05  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17756
- 	* tree-ssa-operands.c (get_expr_operands): Handle CONST_DECL.
- 
- 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	PR bootstrap/17817
- 	* Makefile.in: Stage the build directory too.
- 
- 2004-10-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/frv/frv.h (LEGITIMIZE_ADDRESS): New.
- 
- 	* config/frv/frv-protos.h (frv_legitimize_address): Protoize.
- 	(frv_emit_move): Same.
- 
- 	* config/frv/frv.c (frv_emit_move): New.
- 	(frv_legitimize_address): New.
- 
- 	* config/frv/frv.md ("movsi"): Call frv_emit_move.
- 	("movqi"): Same.
- 	("movhi"): Same.
- 	("movdi"): Same.
- 	("movsf"): Same.
- 	("movdf"): Same.
- 
- 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (declspecs_add_type): Don't pedwarn for _Complex in
- 	system headers.
- 
- 2004-10-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (pushdecl): When an extern declaration at block scope
- 	refers to a visible entity with internal linkage, use the old DECL
- 	rather than the new one.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Remove extra parentheses in
- 	comments.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Remove a duplicate check for
- 	an infinite loop.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (thread_jumps): Iterate with FOR_EACH_BB instead
- 	of FOR_BB_BETWEEN.  Remove a useless check for unreachable
- 	blocks.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Don't call
- 	delete_unreachable_blosk() after thread_jumps().
- 	(thread_jumps): Always remove basic blocks as they become
- 	unreachable.
- 
- 2004-10-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Remove variable
- 	something_changed.  Simplify the while loop.
- 
- 2004-10-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memmove): Delete duplicate code
- 	and accept a tree type for the result.
- 	(expand_builtin_bcopy): Accept a tree type for the result.
- 	(fold_builtin_memmove): Accept an arglist and tree type for
- 	the result.
- 
- 2004-10-05  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_dump_pool): Remove return value.
- 	Use gen_pool_align, gen_pool_section_start/end instead of
- 	gen_pool_start/end_31/64.
- 	* config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
- 	(UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
- 	("pool_start_31", "pool_end_31"): Remove.
- 	("pool_start_64", "pool_end_64"): Likewise.
- 	("pool_align", "pool_section_start", "pool_section_end": New insns.
- 
- 	* config/s390/s390.c (s390_cannot_copy_insn_p): New function.
- 	(TARGET_CANNOT_COPY_INSN_P): Define.
- 	(s390_cannot_force_const_mem): Handle UNSPEC_INSN.
- 	(struct constant_pool): New member 'execute'.
- 	(s390_add_execute, s390_find_execute): New functions.
- 	(s390_execute_label, s390_execute_target): Likewise.
- 	(s390_dump_pool): Output in-pool execute target templates.
- 	(s390_dump_execute): New function.
- 	(s390_alloc_pool, s390_free_pool): Handle execute templates.
- 	(s390_mainpool_start, s390_mainpool_finish): Likewise.
- 	(s390_chunkify_start, s390_chunkify_finish): Likewise.
- 	* config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
- 	("*execute"): New insn pattern.
- 	("movmem_short", "*movmem_short"): Use splitters to generate
- 	explicit execute pattern, remove embedded execute.
- 	("clrmem_short", "*clrmem_short"): Likewise.
- 	("cmpmem_short", "*cmpmem_short"): Likewise.
- 
- 2004-10-05  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa.c (verify_ssa): Verify phi arguments only
- 	contain renamed names.
- 
- 2004-10-05  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux.h: Formatting, whitespace.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/rs6000/rs6000-protos.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	(easy_vector_splat_const): Add fall thru comments.
- 	(output_vec_const_move): Likewise.
- 
- 2004-10-05  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in: Update -Wno-error exceptions for move to build dir.
- 
- 2004-10-05  Chao-Ying Fu  <fu@mips.com>
- 	    Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi (-mpaired-single): Link to the new description of the
- 	built-in functions.  Document dependencies.
- 	(-mips3d): Add link here too.
- 	* doc/extend.texi (MIPS Paired-Single Support): New section.
- 
- 2004-10-04  Chao-ying Fu  <fu@mips.com>
- 
- 	* config/mips/mips.h (UNITS_PER_SIMD_WORD): Define.
- 
- 2004-10-04  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize):
- 	Initialize OPT_STATS to 0.
- 
- 2004-10-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-data-ref.c: Fix comment typos.
- 
- 2004-10-04  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree-data-ref.c (array_base_name_differ_p): Fix comments.  When
- 	the predicate cannot be computed, don't initialize the result to
- 	false.
- 
- 2004-10-01  Eric Christopher  <echristo@redhat.com>
- 
- 	* dwarf2.h (dwarf_calling_convention): Add GNU prefix to
- 	locally defined enum.
- 	* dwarf2out.c (add_calling_convention_attribute): Don't
- 	emit DW_CC_normal.
- 
- 2004-10-03  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR c/17178, PR c/17820
- 	* c-decl.c (pop_scope): Do not warn about unused static
- 	variables as they warned in the middle-end.
- 
- 2004-10-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memcpy): Delete duplicate code
- 	and make the first parameter the expression not the arglist.
- 
- 2004-10-03  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (expand_expr_addr_expr): Only accept Pmode or ptr_mode
- 	as valid modes to expand address expressions.
- 
- 2004-10-03  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-aux-info.c, c-common.c, c-common.h, c-cppbuiltin.c, c-decl.c,
- 	c-format.c, c-incpath.c, c-lex.c, c-objc-common.c, c-opts.c,
- 	c-parse.in, c-pch.c, c-ppoutput.c, c-pragma.c, c-typeck.c: Follow
- 	code formatting conventions.
- 
- 2004-10-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (<u>mulsidi3_32bit_r4000): Fix unsigned case.
- 
- 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/16632
- 	* fold-const.c (fold) [EQ_EXPR]: When seeing if D & ~C != 0 to
- 	fold (A & C) == D into 0, fold ~C.  Similarly, for the case
- 	where | is used instead of &.
- 
- 2004-10-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ginclude/stddef.h: Fix a comment typo.
- 
- 2004-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/17443
- 	* config.gcc (i?86-*-solaris2*): Restore correct logic
- 	for --enable-threads option.
- 	(sparc64-*-solaris2*): Likewise.
- 	(sparc-*-solaris2*): Likewise.
- 
- 2004-10-03  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
- 	(OS_MISSING_POWERPC64): Move, and comment.
- 	* config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
- 	(OS_MISSING_POWERPC64): Move, and comment.
- 
- 2004-10-02  Ian Lance Taylor  <ian@wasabisystems.com>
- 
- 	* arm.c (output_call_mem): Add missing \t.
- 
- 2004-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp,
- 	expand_builtin_strncmp): Delete duplicate code.
- 
- 2004-10-02  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mf_build_check_statement_for): Reorganize to
- 	take check-base and -limit arguments.
- 	(mf_xform_derefs_1): Reorganize slightly to pass proper base/limit
- 	check ranges for ARRAY_REF and COMPONENT_REF.
- 	(execute_mudflap_fnction_ops, ..._decls): Limit unnecessary
- 	instrumentation.
- 
- 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-objc-common.c (c_tree_printer): Correct description of %E.
- 	Don't fall through after printing an expression.
- 
- 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c, config/s390/tpf-unwind.h: Fix comment typos.
- 
- 2004-10-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Speed up by calling
- 	delete_unrechable_blocks() only when necessary.
- 
- 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
- 
- 	* gthr-tpf.h (__gthread_recursive_mutex_t): New type.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT): Define.
- 	(__gthread_recursive_mutex_lock, __gthread_recursive_mutex_trylock,
- 	__gthread_recursive_mutex_unlock): New functions.
- 
- 2004-10-02  P.J. Darcy  <darcypj@us.ibm.com>
- 
- 	* config/s390/t-tpf (LIB2ADDEH): Remove tpf-eh.c.
- 	* config/s390/tpf-eh.c: Remove file.
- 	* config/s390/tpf-unwind.h: New file.
- 	* config/s390/tpf.h (MD_FALLBACK_FRAME_STATE_FOR): Remove.
- 	(MD_UNWIND_SUPPORT): Define.
- 
- 2004-10-02  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (warn_for_assignment): Don't permit argnum == 0.
- 
- 2004-10-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_comparison): Add prototype.
- 	* config/s390/s390.c (s390_comparison): New function.
- 	(s390_branch_condition_mask): Return -1 for invalid comparisons.
- 	(s390_branch_condition_mnemonic): Assert valid comparison.
- 	* config/s390/s390.h (PREDICATE_CODES): Add s390_comparison.
- 	* config/s390/s390.md ("*cjump_64", "*cjump_31", "*cjump_long",
- 	"*icjump_64", "*icjump_31", "*icjump_long", "*trap"): Use
- 	s390_comparison instead of comparison_operator.
- 
- 	* config/s390/s390.md (UNSPEC_CMPINT): New constant.
- 	("cmpmemdi"): Remove.
- 	("cmpmem_short", "*cmpmem_short"): Use CCUmode instead of CCSmode.
- 	("cmpmem_long", "*cmpmem_long_64", "*cmpmem_long_31"): Likewise.
- 	("cmpint_si"): Rename to ...
- 	("*cmpint_si"): ... this.  Use UNSPEC_CMPINT.
- 	("cmpint_di", "*cmpint_di"): Likewise.
- 	* config/s390/s390.c (s390_canonicalize_comparison): Remove
- 	redundant UNSPEC_CMPINT conversions.
- 	(s390_expand_cmpmem): Adapt to cmpint pattern changes.
- 
- 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* collect2.c (COLLECT_PARSE_FLAG): Remove.
- 	(main): Remove a reference to COLLECT_PARSE_FLAG
- 	* system.h: Poison COLLECT_PARSE_FLAG.
- 	* doc/tm.texi (COLLECT_PARSE_FLAG): Remove.
- 
- 2004-10-01  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/crti.asm: Give _init and _fini function type.
- 
- 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* common.opt (ftree-loop-ivcanon): Enable by default.
- 	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
- 	Enable complete loop unrolling.
- 	(canonicalize_induction_variables, tree_unroll_loops_completely):
- 	Reset scev info.
- 
- 2004-10-01  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
- 	not register number.
- 	(thumb_find_work_register): Search full register range.
- 
- 2004-10-01  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/17343
- 	* tree-cfg.c (group_case_labels): Get the label and not
- 	the case expr for the default case.
- 	When the label we looking at is the default, decrement the
- 	new_size.
- 
- 2004-10-01  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-decl.c (c_expand_body): Update call tree_rest_of_compilation.
- 	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
- 	* toplev.h (tree_rest_of_compilation): Update prototype.
- 	* tree-optimize.c (tree_rest_of_compilation):  Kill nested_p argument.
- 
- 2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-cfg.c (cleanup_tree_cfg): Pull a call to
- 	cleanup_control_flow() out of the while loop.
- 
- 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-vectorizer.c (vectorizable_operation): Fail unless
- 	the mode for the vector type is indeed a vector mode.
- 
- 2004-10-01  Zdenek Dvorak  <dvorakz@suse.cz>
- 
- 	* tree-chrec.c (chrec_fold_plus_poly_poly, chrec_fold_plus_1,
- 	chrec_fold_multiply): Use fold_convert or build_int_cst_type instead
- 	of convert.
- 	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
- 	add_to_evolution, set_nb_iterations_in_loop, follow_ssa_edge_in_rhs,
- 	follow_ssa_edge_in_rhs): Ditto.
- 	* tree-ssa-loop-ivopts.c (struct iv): Add base_object field.
- 	(dump_iv): Dump base_object.
- 	(dump_use, dump_cand): Use dump_iv.
- 	(determine_base_object): New function.
- 	(alloc_iv): Initialize base_object field.
- 	(record_use): Clear the ssa_name field of iv.
- 	(get_computation_cost_at): Do not use difference of addresses of
- 	two different objects.
- 	(may_eliminate_iv): Do not require the loop to have just single exit.
- 	* tree-ssa-loop-niter.c (zero_p): Do not check for overflows.
- 	(nonzero_p): New function.
- 	(inverse, number_of_iterations_cond, simplify_using_outer_evolutions,
- 	tree_simplify_using_condition, simplify_using_initial_conditions,
- 	loop_niter_by_eval, find_loop_niter_by_eval,
- 	estimate_numbers_of_iterations_loop, compare_trees,
- 	upper_bound_in_type, lower_bound_in_type,
- 	can_count_iv_in_wider_type_bound): Use buildN instead of build.  Use
- 	fold_convert or build_int_cst_type instead of convert.  Use (non)zero_p
- 	instead of integer_(non)zerop.
- 
- 2004-10-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	Revert
- 	2004-09-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
- 	and TI_VA_LIST_FPR_COUNTER_FIELD.
- 	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
- 	* tree-pass.h (pass_stdarg): Add.
- 	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
- 	* tree-stdarg.c: New file.
- 	* Makefile.in (OBJS-common): Add tree-stdarg.o.
- 	(tree-stdarg.o): Add dependencies.
- 	* function.h (struct function): Add va_list_gpr_size and
- 	va_list_fpr_size fields.
- 	* function.c (allocate_struct_function): Initialize them.
- 
- 	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
- 	va_list_{g,f}pr_counter_field.
- 	(ix86_setup_incoming_varargs): Don't do anything if reg_save
- 	area will not be used.  Only save registers that tree-stdarg.c
- 	detected they need saving.
- 	(ix86_va_start): Don't set up fields that won't be used.
- 
- 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
- 	va_list_{g,f}pr_counter_field.
- 	(setup_incoming_varargs): Don't do anything if reg_save
- 	area will not be used.  Only save registers that tree-stdarg.c
- 	detected they need saving.
- 	(rs6000_va_start): Don't set up fields that won't be used.
- 
- 2004-09-30  Eric Christopher  <echristo@redhat.com>
- 
- 	* dwarf2.h (dwarf_calling_convention): Add enum for renesas
- 	sh abi.
- 	* dwarf2out.c (add_calling_convention_attribute): New function.
- 	(gen_subroutine_type_die): Use.
- 	* target-def.h (TARGET_DWARF_CALLING_CONVENTION): New hook.
- 	* target.h (gcc_target): Add dwarf_calling_convention.
- 	* hooks.c (hook_int_tree_0): New function.
- 	* hooks.h: Prototype.
- 	* config/sh/sh.c: Include dwarf2.h.
- 	(sh_dwarf_calling_convention): New function.
- 	(TARGET_DWARF_CALLING_CONVENTION): Use.
- 	* doc/tm.texi (TARGET_DWARF_CALLING_CONVENTION): Document.
- 
- 2004-09-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strstr, expand_builtin_strchr,
- 	expand_builtin_strrchr, expand_builtin_strpbrk,
- 	expand_builtin_strncat, expand_builtin_strspn,
- 	expand_builtin_strcspn, expand_builtin_fputs): Eliminate duplicate
- 	code.
- 
- 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_expand_logical_operator): Add
- 	prototype.
- 	(s390_logical_operator_ok_p): Likewise.
- 	* config/s390/s390.c (s390_expand_logical_operator): New function.
- 	(s390_logical_operator_ok_p): Likewise.
- 	* config/s390/s390.md ("anddi3"): New expander.
- 	("*anddi3"): Rename from old anddi3 pattern, add Q->Q alternative.
- 	("*anddi3_ss", "*anddi3_ss_inv"): Remove.
- 	("andsi3"): Use s390_expand_logical_operator.
- 	("*andsi3_esa", "*andsi3_zarch"): Add Q->Q alternative.
- 	("*andsi3_ss", "*andsi3_ss_inv"): Remove.
- 	("andhi3"): New expander.
- 	("*andhi3_zarch", "*andhi3_esa"): New patterns.
- 	("andhi3", "*andhi3_ni", "*andhi3_ss", "*andhi3_ss_inv"): Remove.
- 	("andqi3"): New expander.
- 	("*andqi3_zarch", "*andqi3_esa"): New patterns.
- 	("andqi3", "*andqi3_ni", "*andqi3_ss", "*andqi3_ss_inv"): Remove.
- 	("iordi3"): New expander.
- 	("*iordi3"): Rename from old iordi3 pattern, add Q->Q alternative.
- 	("*iordi3_ss", "*iordi3_ss_inv"): Remove.
- 	("iorsi3"): Use s390_expand_logical_operator.
- 	("*iorsi3_esa", "*iorsi3_zarch"): Add Q->Q alternative.
- 	("*iorsi3_ss", "*iorsi3_ss_inv"): Remove.
- 	("iorhi3"): New expiorer.
- 	("*iorhi3_zarch", "*iorhi3_esa"): New patterns.
- 	("iorhi3", "*iorhi3_ni", "*iorhi3_ss", "*iorhi3_ss_inv"): Remove.
- 	("iorqi3"): New expiorer.
- 	("*iorqi3_zarch", "*iorqi3_esa"): New patterns.
- 	("iorqi3", "*iorqi3_ni", "*iorqi3_ss", "*iorqi3_ss_inv"): Remove.
- 	("xordi3"): New expander.
- 	("*xordi3"): Rename from old xordi3 pattern, add Q->Q alternative.
- 	("*xordi3_ss", "*xordi3_ss_inv"): Remove.
- 	("xorsi3"): New expander.
- 	("*xorsi3"): Rename from old xorsi3 pattern, add Q->Q alternative.
- 	("*xorsi3_ss", "*xorsi3_ss_inv"): Remove.
- 	("xorhi3"): New expander.
- 	("*xorqi3"): Rename from old xorhi3 pattern, add Q->Q alternative.
- 	("*xorhi3_ss", "*xorhi3_ss_inv"): Remove.
- 	("xorqi3"): New expander.
- 	("*xorqi3"): Rename from old xorqi3 pattern, add Q->Q alternative.
- 	("*xorqi3_ss", "*xorqi3_ss_inv"): Remove.
- 
- 2004-09-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (force_to_mode) <NE_EXPR>: Only convert the expression
- 	(AND (NE FOO 0) CONST) into (AND FOO CONST) if FOO has the same
- 	machine mode as the result.
- 
- 2004-09-30  Ben Elliston  <bje@au.ibm.com>
- 
- 	PR bootstrap/17761
- 	* lcm.c (optimize_mode_switching): Update to use EDGE_SUCC and
- 	FOR_EACH_EDGE macros.
- 
- 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (readonly_error): Remove.
- 	* c-typeck (enum lvalue_use): New.
- 	(lvalue_or_else, readonly_error): Use it.  All callers changed.
- 	(readonly_error): Make static.
- 
- 2004-09-30  Jan Hubicka  <jh@suse.cz>
- 
- 	PR debug/13974
- 	* cfgrtl.c (try_redirect_by_replacing_jump,
- 	force_nonfallthru_and_redirect, commit_one_edge_insertion,
- 	cfg_layout_merge_blocks):  Do not attach any line number information
- 	to newly inserted instructions.
- 	* emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
- 	emit_insn_*_noloc.
- 	(emit_*insn_before, emit_insn*_after): New.
- 	(emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
- 	existing locators.
- 	* rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
- 	(emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
- 
- 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
- 	(s390_return_address_offset): Remove.
- 	(s390_can_eliminate): Add prototype.
- 	(s390_initial_elimination_offset): Add prototype.
- 	* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
- 	(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
- 	* config/s390/s390.c (s390_arg_frame_offset): Remove.
- 	(s390_return_address_offset): Remove.
- 	(s390_can_eliminate, s390_initial_elimination_offset): New functions.
- 	(struct machine_function): New member split_branches_pending_p.
- 	(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
- 	(s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
- 	(s390_optimize_prologue): Remove base_used argument.  Call
- 	s390_update_frame_layout instead of s390_register_info.  Handle
- 	prologue/epilogue insns that touch only RETURN_REGNUM.
- 	(s390_reorg): Remove base_used.  Clear split_branches_pending_p.
- 	(s390_register_info): Remove base_used and return_addr_used
- 	arguments, compute special register usage inline.  Return live
- 	register data to caller.
- 	(s390_frame_info): Remove arguments, do not call s390_register_info.
- 	(s390_init_frame_layout): New function.
- 	(s390_update_frame_layout): Likewise.
- 	(s390_emit_prologue): Call s390_update_frame_layout; some code
- 	move to there.  Do not emit pool placeholder insn if unnecessary.
- 
- 2004-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimate_reload_constant_p): Remove
- 	floating point constant workaround.
- 	(s390_secondary_input_reload_class): Handle PLUS reloads
- 	with too-large constant.
- 	(s390_expand_plus_operand): Likewise.
- 	* config/s390/s390.md ("movdi"): Do not call force_const_mem.
- 	("movsi"): Likewise.  Also, remove workaround for non-general
- 	operands.
- 	("movdf"): Do not call force_const_mem.
- 	("movsf"): Likewise.  Merge expander with *movsf insn.
- 	("*movsf"): Remove, merge with movsf expander.
- 
- 2004-09-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/symbian.h (STARTFILE_SPEC): Remove crt*.o.
- 	(ENDFILE_SPEC): Define.
- 	* config/arm/t-symbian.h (EXTRA_MULTILIB_PARTS): Set.
- 
- 2004-09-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/qrnnd.asm: Mark for noexecstack.
- 
- 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* protoize.c, tree-cfg.c: Fix comment typos.
- 
- 2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17730
- 	* c-typeck.c (lvalue_or_else): Pass msgid directly to error.
- 
- 2004-09-30  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
- 	expressions...
- 	(add_pointed_to_expr): ... here.
- 	Call add_pointed_to_expr for variables with DECL_INITIAL set.
- 	* tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
- 	pointer variable, if set.
- 
- 2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/sh.c: Follow spelling conventions.
- 
- 2004-09-29  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
- 	* doc/tm.texi (DWARF_ZERO_REG): New.
- 
- 	* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
- 	alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
- 	* config/alpha/alpha.h (DWARF_ZERO_REG): New.
- 
- 2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* builtins.c (expand_builtin_strlen): Do not call emit_move_insn
- 	with a PLUS as source operand.
- 	(expand_movstr): Likewise.
- 	(expand_builtin_stpcpy): Likewise.
- 
- 2004-09-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17739
- 	* tree-gimple.c (is_gimple_reg): Reject hard registers.
- 	(is_gimple_asm_val): New.
- 	* tree-gimple.h (is_gimple_asm_val): Declare.
- 	* gimplify.c (gimplify_asm_expr): Use it.
- 	* tree-pretty-print.c (print_declaration): Dump hard regs.
- 	* tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
- 	* tree-ssa-pre.c (is_undefined_value): Likewise.
- 	* tree-ssa-copy.c (may_propagate_copy): Likewise.
- 	(may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
- 	* tree-ssa.c (warn_uninit): Likewise.
- 	* tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
- 
- 2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* c-decl.c (merge_decls): Use comptype when comparing
- 	types to decide on DECL_SIZE save of olddecl.
- 
- 2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree.h (INDIRECT_REF_P): New macro.
- 	* alias.c (get_alias_set): Use it
- 	(nonoverlapping_memrefs_p): Ditto.
- 	* emit-rtl.c (mem_expr_equal_p): Ditto.
- 	(set_mem_attributes_minus_bitpos): Ditto.
- 	(is_gimple_addressable): Ditto.
- 	(get_base_address): Ditto.
- 	* tree-ssa-alias.c (find_ptr_derefernece): Ditto.
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
- 	* tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
- 	* tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
- 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
- 	(add_address_candidates): Ditto.
- 	(rewrite_address_base): Ditto.
- 
- 2004-09-30  Ben Elliston  <bje@au.ibm.com>
- 
- 	* tree-flow.h (struct bb_ann_d): Remove num_preds member.
- 	* tree-into-ssa.c (rewrite_into_ssa): Don't set it.
- 	(rewrite_ssa_into_ssa): Likewise.
- 	* tree-phinodes.c (create_phi_node): Access the number of
- 	predecessor edges using EDGE_COUNT() and not num_preds.
- 
- 2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/7425
- 	* c-decl.c (merge_decls): Merge TREE_DEPRECATED.
- 
- 2004-09-29  Eric Christopher  <echristo@redhat.com>
- 
- 	* fold-const.c (tree_swap_operands_p): Remove duplicated code.
- 
- 2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.md (moverside, movemside): With MEM, make sure
- 	the address is (plus reg mem).
- 
- 2004-09-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
- 
- 2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.c (make_node_stat): Fix uninitialized warning.  Replace
- 	cascaded if ... else if with a switch.
- 
- 2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
- 
- 	* read-rtl.c (apply_macro_to_string): Replace index with strchr.
- 
- 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
- 	and TI_VA_LIST_FPR_COUNTER_FIELD.
- 	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
- 	* tree-pass.h (pass_stdarg): Add.
- 	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
- 	* tree-stdarg.c: New file.
- 	* Makefile.in (OBJS-common): Add tree-stdarg.o.
- 	(tree-stdarg.o): Add dependencies.
- 	* function.h (struct function): Add va_list_gpr_size and
- 	va_list_fpr_size fields.
- 	* function.c (allocate_struct_function): Initialize them.
- 
- 	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
- 	va_list_{g,f}pr_counter_field.
- 	(ix86_setup_incoming_varargs): Don't do anything if reg_save
- 	area will not be used.  Only save registers that tree-stdarg.c
- 	detected they need saving.
- 	(ix86_va_start): Don't set up fields that won't be used.
- 
- 	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
- 	va_list_{g,f}pr_counter_field.
- 	(setup_incoming_varargs): Don't do anything if reg_save
- 	area will not be used.  Only save registers that tree-stdarg.c
- 	detected they need saving.
- 	(rs6000_va_start): Don't set up fields that won't be used.
- 
- 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
- 	BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
- 	BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
- 	BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
- 	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
- 	ATTR_NONNULL_1_4): New.
- 
- 2004-09-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR tree-optimization/17697
- 	* tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
- 	cfg if needed.
- 
- 2004-09-28  Per Bothner  <per@bothner.com>
- 
- 	* profile.c (branch_prob): Pass correct value to output_location,
- 	even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
- 
- 2004-09-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR 15089
- 	* tree-ssa-copy.c (may_propagate_copy_into_asm): New.
- 	* tree-flow.h (may_propagate_copy_into_asm): Declare.
- 	* tree-ssa-ccp.c (replace_uses_in): Use it.
- 	* tree-ssa-dom.c (cprop_operand): Likewise.
- 
- 2004-09-28 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-threadupdate.c (create_block_for_threading):  Request
- 	that no outgoing edges be left in the duplicate block.  Do no
- 	update information on outgoing edges or PHI nodes in target
- 	blocks here.
- 	(remove_ctrl_stmt_and_useless_edges): Renamed from
- 	remove_last_stmt_and_useless_edges.  Handle case where the
- 	block is empty or has no control statements.  Do not update edge
- 	flags here.
- 	(thread_block): Create a template block rather than copying the
- 	original block every time.  Create outgoing edges from the
- 	duplicate blocks and update PHIs at the target of the outgoing
- 	edges here.  Fix edge flags for the original block if necessary.
- 	* cfghooks (duplicate_block): No longer assert that the original
- 	block has incoming edges.
- 
- 2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/extend.texi (Extended Asm): Add blurb about using Explicit
- 	Reg Vars to enforce register allocation with general constraints.
- 	(Explicit Reg Vars): Clarify relation to asm statements.
- 	(Local Reg Vars): Similar.
- 
- 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
- 	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
- 	build_control_flow, new_edge): Remove.
- 	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
- 	(bitlst, bitlst_table_last, bitlst_table): Remove.
- 	(bblst): Store basic_block pointer instead of block index.
- 	(bblst_table): Likewise.
- 	(edgelst): Store edge pointer instead of edge index.
- 	(edgelst_table, edgelst_last): New variables.
- 	(extract_bitlst): Rename to ...
- 	(extract_edgelst): ... this.  Return edge pointers, not indices.
- 	(split_edges): Update call.
- 	(rgn_edges): Store edge pointers instead of indices.
- 	(edge_to_bit): Remove.
- 	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
- 	(SET_EDGE_TO_BIT): New macro.
- 	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
- 	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
- 	data structures instead of haifa_edge et al.  Use edge pointers
- 	instead of edge indices everywhere.
- 	(compute_dom_prob_ps): Use standard CFG data structures.  Account
- 	for exit edges.
- 	(compute_trg_info): Likewise.
- 	(propagate_deps): Likewise.
- 	(debug_candidate): Account for bblst data structure change.
- 	(check_live_1, update_live_1, is_pfree): Likewise.
- 	(IS_REACHABLE): Use standard CFG data structures.
- 	(init_ready_list): Update bblst_table/edgelst_table allocation.
- 	(schedule_region): Update alloc/cleanup code to data structure
- 	changes.  Use edge->aux to store per-region edge index.
- 	(init_regions): No longer call build_control_flow.  Do not
- 	create edge list any more.
- 
- 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* cse.c (cse_insn): Avoid creating direct non-local jumps.
- 	* combine.c (can_combine_p): Likewise.
- 	* local-alloc. (update_equiv_regs): Likewise.
- 
- 2004-09-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17531
- 	* expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
- 	Don't check VOIDmode here.  Force PLUS operands to common type.
- 	(expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
- 	Pmode if given a non pointer type.
- 
- 2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR 17531
- 	* optabs.c (expand_binop): Force constants to the correct mode.
- 
- 2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_adjust_cost): Remove.
- 	(TARGET_SCHED_ADJUST_COST): Do not redefine.
- 	(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
- 	* config/s390/s390.md ("main_pool"): Use "larl" type
- 	attribute if TARGET_CPU_ZARCH.
- 
- 2004-09-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
- 	variable.
- 
- 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-loop.c (pass_record_bounds): Do not assign a
- 	name to the pass.
- 
- 2004-09-28  Steven Bosscher  <stevenb@suse.de>
- 
- 	* common.opt (flag_gcse_sm): Disable by default.
- 	(flag_gcse_las): Likewise.
- 	(flag_web): Likewise.  Create from this file.
- 	* flags.h: Remove flag_web declaration.
- 	* toplev.c (flag_web): Likewise.
- 	(process_options): Never set flag_web.
- 
- 2004-09-28  Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
- 	* tree-ssa-propagate.c: Include vec.h.
- 	(interesting_ssa_edges, varying_ssa_edges): Make these VECs
- 	instead of varrays.
- 	(cfg_blocks_add): Assert the block is not already in the worklist.
- 	Update uses of interesting_ssa_edges and varying_ssa_edges.
- 	(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
- 	ssa_propagate): Likewise.
- 
- 2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/16409
- 	* c-decl.c (start_decl): Check for initializing incomplete array
- 	of VLAs.
- 	(build_compound_literal): Check for TYPE being error_mark_node.
- 	* c-parse.in (primary): Check for VLA compound literals.
- 
- 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
- 	with --disable-checking.
- 
- 2004-09-28  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-pretty-print.c (dump_generic_node): Print vector types.
- 
- 2004-09-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
- 	invocation of the function sh_init_cumulative_args.
- 	(INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
- 	(INIT_CUMULATIVE_INCOMING_ARGS): Delete.
- 	* config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
- 	* config/sh/sh.c (sh_init_cumulative_args): New function based
- 	on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
- 	heuristic added to determine the setting of force_mem when a
- 	library function is being called.
- 
- 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
- 	Skip constant arguments.
- 
- 2004-09-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (create_name_tags): If PTR points to a
- 	volatile type, mark the tag volatile.
- 	(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
- 	volatile.
- 
- 2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree.def (vec_cond_expr): Fix. Change 'e'
- 	to tcc_expression.
- 
- 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Fix a comment typo.
- 
- 2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c, optabs.h: Fix comment typos.
- 
- 2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* config/sparc/sparc.md (call_address_struct_value_sp32):
- 	Properly mask the immediate field of the 'unimp' instruction.
- 	(call_symbolic_struct_value_sp32): Likewise.
- 
- 2004-09-28  Ben Elliston  <bje@au.ibm.com>
- 	    Steven Bosscher  <stevenb@suse.de>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	Merge from edge-vector-branch:
- 	* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
- 	(struct edge_def): Remove pred_next, succ_next members.
- 	(struct basic_block_def): Remove pred, succ members.  Add preds
- 	and succs members of type VEC(edge).
- 	(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
- 	(BRANCH_EDGE): Likewise.
- 	(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
- 	(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
- 	(edge_iterator): New.
- 	(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
- 	(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
- 	(FOR_EACH_EDGE): New.
- 	* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
- 	where applicable.
- 	(rotate_loop): Likewise.
- 	(find_traces_1_route): Likewise.
- 	(bb_to_key): Likewise.
- 	(connect_traces): Likewise.
- 	(copy_bb_p): Likewise.
- 	(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
- 	(add_labels_and_missing_jumps): Likewise.
- 	(fix_up_fall_thru_edges): Likewise.
- 	(find_jump_block): Likewise.
- 	(fix_crossing_conditional_branches): Likewise.
- 	(fix_crossing_unconditional_branches): Likewise.
- 	(add_reg_crossing_jump_notes): Likewise.
- 	* bt-load.c (augment_live_range): Likewise.
- 	* cfg.c (clear_edges): Likewise.
- 	(unchecked_make_edge): Likewise.
- 	(cached_make_edge): Likewise.
- 	(make_single_succ_edge): Likewise.
- 	(remove_edge): Likewise.
- 	(redirect_edge_succ_nodup): Likewise.
- 	(check_bb_profile): Likewise.
- 	(dump_flow_info): Likewise.
- 	(alloc_aux_for_edges): Likewise.
- 	(clear_aux_for_edges): Likewise.
- 	(dump_cfg_bb_info): Likewise.
- 	* cfganal.c (forwarder_block_p): Likewise.
- 	(can_fallthru): Likewise.
- 	(could_fall_through): Likewise.
- 	(mark_dfs_back_edges): Likewise.
- 	(set_edge_can_fallthru_flag): Likewise.
- 	(find_unreachable_blocks): Likewise.
- 	(create_edge_list): Likewise.
- 	(verify_edge_list): Likewise.
- 	(add_noreturn_fake_exit_edges): Likewise.
- 	(connect_infinite_loops_to_exit): Likewise.
- 	(flow_reverse_top_sort_order_compute): Likewise.
- 	(flow_depth_first_order_compute): Likewise.
- 	(flow_preorder_transversal_compute): Likewise.
- 	(flow_dfs_compute_reverse_execute): Likewise.
- 	(dfs_enumerate_from): Likewise.
- 	(compute_dominance_frontiers_1): Likewise.
- 	* cfgbuild.c (make_edges): Likewise.
- 	(compute_outgoing_frequencies): Likewise.
- 	(find_many_sub_basic_blocks): Likewise.
- 	(find_sub_basic_blocks): Likewise.
- 	* cfgcleanup.c (try_simplify_condjump): Likewise.
- 	(thread_jump): Likewise.
- 	(try_forward_edges): Likewise.
- 	(merge_blocks_move): Likewise.
- 	(outgoing_edges_match): Likewise.
- 	(try_crossjump_to_edge): Likewise.
- 	(try_crossjump_bb): Likewise.
- 	(try_optimize_cfg): Likewise.
- 	(merge_seq_blocks): Likewise.
- 	* cfgexpand.c (expand_gimple_tailcall): Likewise.
- 	(expand_gimple_basic_block): Likewise.
- 	(construct_init_block): Likewise.
- 	(construct_exit_block): Likewise.
- 	* cfghooks.c (verify_flow_info): Likewise.
- 	(dump_bb): Likewise.
- 	(delete_basic_block): Likewise.
- 	(split_edge): Likewise.
- 	(merge_blocks): Likewise.
- 	(make_forwarder_block): Likewise.
- 	(tidy_fallthru_edges): Likewise.
- 	(can_duplicate_block_p): Likewise.
- 	(duplicate_block): Likewise.
- 	* cfglayout.c (fixup_reorder_chain): Likewise.
- 	(fixup_fallthru_exit_predecessor): Likewise.
- 	(can_copy_bbs_p): Likewise.
- 	(copy_bbs): Likewise.
- 	* cfgloop.c (flow_loops_cfg_dump): Likewise.
- 	(flow_loop_entry_edges_find): Likewise.
- 	(flow_loop_exit_edges_find): Likewise.
- 	(flow_loop_nodes_find): Likewise.
- 	(mark_single_exit_loops): Likewise.
- 	(flow_loop_pre_header_scan): Likewise.
- 	(flow_loop_pre_header_find): Likewise.
- 	(update_latch_info): Likewise.
- 	(canonicalize_loop_headers): Likewise.
- 	(flow_loops_find): Likewise.
- 	(get_loop_body_in_bfs_order): Likewise.
- 	(get_loop_exit_edges): Likewise.
- 	(num_loop_branches): Likewise.
- 	(verify_loop_structure): Likewise.
- 	(loop_latch_edge): Likewise.
- 	(loop_preheader_edge): Likewise.
- 	* cfgloopanal.c (mark_irreducible_loops): Likewise.
- 	(expected_loop_iterations): Likewise.
- 	* cfgloopmanip.c (remove_bbs): Likewise.
- 	(fix_bb_placement): Likewise.
- 	(fix_irreducible_loops): Likewise.
- 	(remove_path): Likewise.
- 	(scale_bbs_frequencies): Likewise.
- 	(loopify): Likewise.
- 	(unloop): Likewise.
- 	(fix_loop_placement): Likewise.
- 	(loop_delete_branch_edge): Likewise.
- 	(duplicate_loop_to_header_edge): Likewise.
- 	(mfb_keep_just): Likewise.
- 	(create_preheader): Likewise.
- 	(force_single_succ_latches): Likewise.
- 	(loop_split_edge_with): Likewise.
- 	(create_loop_notes): Likewise.
- 	* cfgrtl.c (rtl_split_block): Likewise.
- 	(rtl_merge_blocks): Likewise.
- 	(rtl_can_merge_blocks): Likewise.
- 	(try_redirect_by_replacing_jump): Likewise.
- 	(force_nonfallthru_and_redirect): Likewise.
- 	(rtl_tidy_fallthru_edge): Likewise.
- 	(commit_one_edge_insertion): Likewise.
- 	(commit_edge_insertions): Likewise.
- 	(commit_edge_insertions_watch_calls): Likewise.
- 	(rtl_verify_flow_info_1): Likewise.
- 	(rtl_verify_flow_info): Likewise.
- 	(purge_dead_edges): Likewise.
- 	(cfg_layout_redirect_edge_and_branch): Likewise.
- 	(cfg_layout_can_merge_blocks_p): Likewise.
- 	(rtl_flow_call_edges_add): Likewise.
- 	* cse.c (cse_cc_succs): Likewise.
- 	* df.c (hybrid_search): Likewise.
- 	* dominance.c (calc_dfs_tree_nonrec): Likewise.
- 	(calc_dfs_tree): Likewise.
- 	(calc_idoms): Likewise.
- 	(recount_dominator): Likewise.
- 	* domwalk.c (walk_dominator_tree): Likewise.
- 	* except.c (emit_to_new_bb_before): Likewise.
- 	(connect_post_landing_pads): Likewise.
- 	(sjlj_emit_function_enter): Likewise.
- 	(sjlj_emit_function_exit): Likewise.
- 	(finish_eh_generation): Likewise.
- 	* final.c (compute_alignments): Likewise.
- 	* flow.c (calculate_global_regs_live): Likewise.
- 	(initialize_uninitialized_subregs): Likewise.
- 	(init_propagate_block_info): Likewise.
- 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
- 	* gcse.c (find_implicit_sets): Likewise.
- 	(bypass_block): Likewise.
- 	(bypass_conditional_jumps): Likewise.
- 	(compute_pre_data): Likewise.
- 	(insert_insn_end_bb): Likewise.
- 	(insert_store): Likewise.
- 	(remove_reachable_equiv_notes): Likewise.
- 	* global.c (global_conflicts): Likewise.
- 	(calculate_reg_pav): Likewise.
- 	* graph.c (print_rtl_graph_with_bb): Likewise.
- 	* ifcvt.c (mark_loop_exit_edges): Likewise.
- 	(merge_if_block): Likewise.
- 	(find_if_header): Likewise.
- 	(block_jumps_and_fallthru_p): Likewise.
- 	(find_if_block): Likewise.
- 	(find_cond_trap): Likewise.
- 	(block_has_only_trap): Likewise.
- 	(find_if_case1): Likewise.
- 	(find_if_case_2): Likewise.
- 	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
- 	(perfect_nestify): Likewise.
- 	* lcm.c (compute_antinout_edge): Likewise.
- 	(compute_laterin): Likewise.
- 	(compute_available): Likewise.
- 	(compute_nearerout): Likewise.
- 	* loop-doloop.c (doloop_modify): Likewise.
- 	* loop-init.c (loop_optimizer_init): Likewise.
- 	* loop-invariant.c (find_exits): Likewise.
- 	* loop-iv.c (simplify_using_initial_values): Likewise.
- 	(check_simple_exit): Likewise.
- 	(find_simple_exit): Likewise.
- 	* loop-unroll.c (peel_loop_completely): Likewise.
- 	(unroll_loop_constant_iterations): Likewise.
- 	(unroll_loop_runtime_iterations): Likewise.
- 	* loop-unswitch.c (may_unswitch_on): Likewise.
- 	(unswitch_loop): Likewise.
- 	* modulo-sched.c (generate_prolog_epilog): Likewise.
- 	(sms_schedule): Likewise.
- 	* postreload-gcse.c (eliminate_partially_redundant_load):
- 	Likewise.
- 	* predict.c (can_predict_insn_p): Likewise.
- 	(set_even_probabilities): Likewise.
- 	(combine_predictions_for_bb): Likewise.
- 	(predict_loops): Likewise.
- 	(estimate_probability): Likewise.
- 	(tree_predict_by_opcode): Likewise.
- 	(tree_estimate_probability): Likewise.
- 	(last_basic_block_p): Likewise.
- 	(propagate_freq): Likewise.
- 	(estimate_loops_at_level): Likewise.
- 	(estimate_bb_frequencies): Likewise.
- 	* profile.c (instrument_edges): Likewise.
- 	(get_exec_counts): Likewise.
- 	(compute_branch_probabilities): Likewise.
- 	(branch_prob): Likewise.
- 	* ra-build.c (live_in): Likewise.
- 	* ra-rewrite.c (rewrite_program2): Likewise.
- 	* ra.c (reg_alloc): Likewise.
- 	* reg-stack.c (reg_to_stack): Likewise.
- 	(convert_regs_entry): Likewise.
- 	(compensate_edge): Likewise.
- 	(convert_regs_1): Likewise,
- 	(convert_regs_2): Likewise.
- 	(convert_regs): Likewise.
- 	* regrename.c (copyprop_hardreg_forward): Likewise.
- 	* reload1.c (fixup_abnormal_edges): Likewise.
- 	* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
- 	(sbitmap_insersection_of_preds): Likewise.
- 	(sbitmap_union_of_succs): Likewise.
- 	(sbitmap_union_of_preds): Likewise.
- 	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
- 	(fix_basic_block_boundaries): Likewise.
- 	(sched_ebbs): Likewise.
- 	* sched-rgn.c (build_control_flow): Likewise.
- 	(find_rgns): Likewise.
- 	* tracer.c (find_best_successor): Likewise.
- 	(find_best_predecessor): Likewise.
- 	(tail_duplicate): Likewise.
- 	* tree-cfg.c (make_edges): Likewise.
- 	(make_ctrl_stmt_edges): Likewise.
- 	(make_goto_expr_edges): Likewise.
- 	(tree_can_merge_blocks_p): Likewise.
- 	(tree_merge_blocks): Likewise.
- 	(cfg_remove_useless_stmts_bb): Likewise.
- 	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
- 	(tree_block_forwards_to): Likewise.
- 	(cleanup_control_expr_graph): Likewise.
- 	(find_taken_edge): Likewise.
- 	(dump_cfg_stats): Likewise.
- 	(tree_cfg2vcg): Likewise.
- 	(disband_implicit_edges): Likewise.
- 	(tree_find_edge_insert_loc): Likewise.
- 	(bsi_commit_edge_inserts): Likewise.
- 	(tree_split_edge): Likewise.
- 	(tree_verify_flow_info): Likewise.
- 	(tree_make_forwarder_block): Likewise.
- 	(tree_forwarder_block_p): Likewise.
- 	(thread_jumps): Likewise.
- 	(tree_try_redirect_by_replacing_jump): Likewise.
- 	(tree_split_block): Likewise.
- 	(add_phi_args_after_copy_bb): Likewise.
- 	(rewrite_to_new_ssa_names_bb): Likewise.
- 	(dump_function_to_file): Likewise.
- 	(print_pred_bbs): Likewise.
- 	(print_loop): Likewise.
- 	(tree_flow_call_edges_add): Likewise.
- 	(split_critical_edges): Likewise.
- 	(execute_warn_function_return): Likewise.
- 	(extract_true_false_edges_from_block): Likewise.
- 	* tree-if-conv.c (tree_if_conversion): Likewise.
- 	(if_convertable_bb_p): Likewise.
- 	(find_phi_replacement_condition): Likewise.
- 	(combine_blocks): Likewise.
- 	* tree-into-ssa.c (compute_global_livein): Likewise.
- 	(ssa_mark_phi_uses): Likewise.
- 	(ssa_rewrite_initialize_block): Likewise.
- 	(rewrite_add_phi_arguments): Likewise.
- 	(ssa_rewrite_phi_arguments): Likewise.
- 	(insert_phi_nodes_for): Likewise.
- 	(rewrite_into_ssa): Likewise.
- 	(rewrite_ssa_into_ssa): Likewise.
- 	* tree-mudflap.c (mf_build_check_statement_for): Likewise.
- 	* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
- 	(rewrite_trees): Likewise.
- 	* tree-pretty-print.c (dump_bb_header): Likewise.
- 	(dump_implicit_edges): Likewise.
- 	* tree-sra.c (insert_edge_copies): Likewise.
- 	(find_obviously_necessary_stmts): Likewise.
- 	(remove_data_stmt): Likewise.
- 	* tree-ssa-dom.c (thread_across_edge): Likewise.
- 	(dom_opt_finalize_block): Likewise.
- 	(single_incoming_edge_ignoring_loop_edges): Likewise.
- 	(record_equivalences_from_incoming_edges): Likewise.
- 	(cprop_into_successor_phis): Likewise.
- 	* tree-ssa-live.c (live_worklist): Likewise.
- 	(calculate_live_on_entry): Likewise.
- 	(calculate_live_on_exit): Likewise.
- 	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
- 	(copy_loop_headers): Likewise.
- 	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
- 	(fill_always_executed_in): Likewise.
- 	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
- 	* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
- 	(compute_phi_arg_on_exit): Likewise.
- 	* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
- 	(get_loops_exit): Likewise.
- 	(split_loop_exit_edge): Likewise.
- 	(ip_normal_pos): Likewise.
- 	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
- 	Likewise.
- 	* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
- 	(replace_phi_with_stmt): Likewise.
- 	(value_replacement): Likewise.
- 	* tree-ssa-pre.c (compute_antic_aux): Likewise.
- 	(insert_aux): Likewise.
- 	(init_pre): Likewise.
- 	* tree-ssa-propagate.c (simulate_stmt): Likewise.
- 	(simulate_block): Likewise.
- 	(ssa_prop_init): Likewise.
- 	* tree-ssa-threadupdate.c (thread_block): Likewise.
- 	(create_block_for_threading): Likewise.
- 	(remove_last_stmt_and_useless_edges): Likewise.
- 	* tree-ssa.c (verify_phi_args): Likewise.
- 	(verify_ssa): Likewise.
- 	* tree_tailcall.c (independent_of_stmt_p): Likewise.
- 	(find_tail_calls): Likewise.
- 	(eliminate_tail_call): Likewise.
- 	(tree_optimize_tail_calls_1): Likewise.
- 	* tree-vectorizer.c (vect_transform_loop): Likewise.
- 	* var-tracking.c (prologue_stack_adjust): Likewise.
- 	(vt_stack_adjustments): Likewise.
- 	(vt_find_locations): Likewise.
- 	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
- 	* config/i386/i386.c (ix86_pad_returns): Likewise.
- 	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
- 
- 2004-09-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16532
- 	* config/sparc/sparc.c (struct machine_function): New field
- 	'leaf_function_p' and 'prologue_data_valid_p'.
- 	(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
- 	to conveniently access the above fields.
- 	(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
- 	(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
- 	of the generic flavor 'current_function_uses_only_leaf_regs'.
- 	(eligible_for_sibcall_delay): Likewise.
- 	(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
- 	'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
- 	(sparc_asm_function_prologue): Add sanity check for the assumption
- 	made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
- 	(sparc_can_use_return_insn_p): New function.
- 	(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
- 	(output_restore): Likewise.
- 	(output_sibcall): Likewise.
- 	(sparc_output_mi_thunk): Likewise.
- 	* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
- 	* config/sparc/sparc.md (return): New expander.
- 
- 	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
- 
- 2004-09-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/17642
- 	* stor-layout.c (layout_decl): Use fold_convert, not convert.
- 	(bit_from_pos): Likewise.
- 	(byte_from_pos): Likewise.
- 	(pos_from_bit): Likewise.
- 	(normalize_offset): Likewise.
- 	(place_field): Likewise.
- 	(finalize_type_size): Likewise.
- 	(layout_type): Likewise.
- 	* tree.c (build_index_type): Likewise.
- 
- 2004-09-27  Devang Patel  <dpatel@apple.com>
- 
- 	* expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
- 	* genopinit.c (optabs): New entry for vcond_gen_code and
- 	vcondu_gen_code.
- 	* optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
- 	(get_rtx_code): New function.
- 	(vector_compare_rtx): New function.
- 	(init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
- 	(expand_vec_cond_expr_p): New function.
- 	(expand_vec_cond_expr): New function.
- 	(get_vcond_icode): New function.
- 	* optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
- 	(vcond_gen_code, vcondu_gen_code): Same.
- 
- 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (STAGESTUFF): Split into ...
- 	(STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
- 	(mostlyclean): Update.
- 	(stage1-start, stage2-start, stage3-start, stage4-start,
- 	stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
- 	Move the STAGEMOVESTUFF.
- 
- 2004-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* system.h (getpagesize): Return 'int' instead of 'long'.
- 
- 2004-09-27  Michael Matz <matz@suse.de>
- 
- 	PR bootstrap/17698
- 	PR bootstrap/17702
- 	* bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
- 	bmp_iter_and_init): Shift by bit_in_word.
- 
- 2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
- 	* configure.ac: Don't sinclude it here.
- 	* configure: Regenerate.
- 
- 2004-09-27  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
- 	Handle AND pattern
- 
- 2004-09-27  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/13804
- 	* c-typeck.c (build_component_ref): Name type involved in
- 	diagnostic for structure or union without a member of the given
- 	name.
- 
- 2004-09-27  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
- 	.comm alignment is bytes, not bits.
- 
- 2004-09-27  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
- 	(print_call_name): Do not print VEC_COND_EXPR.
- 
- 2004-09-27  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
- 
- 2004-09-27  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
- 
- 2004-09-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bitmap.h: Fix a comment typo.
- 
- 2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
- 
- 	* libgcc2.c (getpagesize): Change type of return value to int.
- 
- 2004-09-26  Matt Austern  <austern@apple.com>
- 
- 	* ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
- 	using mmap.
- 
- 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
- 	EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
- 	(bitmap_iterator): New type.
- 	(bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
- 	bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
- 	bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
- 	bmp_iter_and_init, bmp_iter_and_next): New functions.
- 	* basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
- 	EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
- 	use iterator-style EXECUTE_IF_IN_BITMAP macros.
- 	* bitmap.c (bitmap_print): Ditto.
- 	* bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
- 	btr_def_live_range): Ditto.
- 	* cfganal.c (compute_dominance_frontiers_1) Ditto.
- 	* cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
- 	Ditto.
- 	* ddg.c (build_inter_loop_deps): Ditto.
- 	* df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
- 	Ditto.
- 	* except.c (remove_eh_handler): Ditto.
- 	* flow.c (reg_set_to_hard_reg_set): Ditto.
- 	* gcse.c (clear_modify_mem_tables): Ditto.
- 	* global.c (build_insn_chain): Ditto.
- 	* ifcvt.c (dead_or_predicable): Ditto.
- 	* loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
- 	Ditto.
- 	* ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
- 	* ra-rewrite.c (reloads_to_loads, rewrite_program2,
- 	detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
- 	* tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
- 	tree_purge_all_dead_eh_edges): Ditto.
- 	* tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
- 	insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
- 	rewrite_ssa_into_ssa): Ditto.
- 	* tree-outof-ssa.c (find_replaceable_exprs): Ditto.
- 	* tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
- 	Ditto.
- 	* tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
- 	compute_flow_sensitive_aliasing, maybe_create_global_var,
- 	dump_points_to_info_for): Ditto.
- 	* tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
- 	* tree-ssa-dse.c (dse_finalize_block): Ditto.
- 	* tree-ssa-live.c (live_worklist, calculate_live_on_entry,
- 	calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
- 	Ditto.
- 	* tree-ssa-loop-ivopts.c (find_induction_variables,
- 	find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
- 	determine_use_iv_costs, determine_set_costs, find_best_candidate,
- 	set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
- 	Ditto.
- 	* tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
- 	* tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
- 	add_call_read_ops): Ditto.
- 	* tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
- 
- 2004-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
- 	UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
- 
- 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
- 	reflect size of memory regions being compared.
- 
- 2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
- 	expressions.  Always clear MEM_SIZE and alias set.
- 
- 2004-09-26  Roger Sayle  <roger@eyesopen.com>
- 	    Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	PR middle-end/17112
- 	* stor-layout.c (compute_record_mode): For records with a single
- 	field, only use the field's mode if its size matches what we'd
- 	have choosen for the record ourselves.  This forces the use of
- 	BLKmode for packed records that don't completely fill a mode.
- 
- 2004-09-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17151
- 	* combine.c (force_to_mode): Remove dubious early return test that
- 	inhibits further optimization.
- 
- 2004-09-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* profile.c: Fix a comment typo.
- 
- 2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR bootstrap/17591
- 	* tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
- 	with varying offset.
- 	* tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
- 	(idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
- 	ARRAY_REFS.
- 	(expr_invariant_in_loop_p): New function.
- 	(idx_find_step): Handle step and lower bound for ARRAY_REFs.  Handle
- 	component_ref_field_offset for COMPONENT_REFs.  Do not allow
- 	ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
- 	(add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
- 	MISALIGNED_INDIRECT_REFs.
- 	(idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
- 	(rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
- 	MISALIGNED_INDIRECT_REFs.
- 
- 2004-09-26  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/11459
- 	* gcc.c (cpp_options, cc1_options): Preserve relative order of
- 	-std and -ansi options.
- 
- 2004-09-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
- 	for nested functions whose proper parent has not been output.
- 
- 	* profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
- 	when re-constructing profile previously invalidated by loop.
- 
- 2004-09-25  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree-gimple.c:  Move GIMPLE definition...
- 	* doc/tree-ssa.texi:  here.
- 
- 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-vectorizer.c: Fix a comment typo.
- 
- 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
- 	gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
- 	lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
- 	tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
- 
- 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-loop-unswitch.c: Fix a comment typo.
- 
- 2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/passes.texi: Fix a typo.
- 
- 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-optimize.c (init_tree_optimization_passes): Add
- 	pass_record_bounds.
- 	* tree-pass.h (pass_record_bounds): Declare.
- 	* tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
- 	New pass.
- 
- 2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/17474
- 	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
- 	offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
- 
- 2004-09-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (counts_to_freqs): Make global.
- 	* predict.h (counts_to_freqa): Declare.
- 	* profile.c (compute_branch_probabilities): Compute frequencies
- 	* tree-profile.c (do_tree_profiling): Refine conditional on when
- 	tree profiling pass is needed.
- 
- 	* passes.c (rest_of_handle_cfg): Disable const/pure function
- 	detection when doing tree based profiling.
- 
- 	* tree-inline.c (expand_call_inline): Fix incorrectly reversed
- 	conditional.
- 
- 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (struct mips_args): Clarify comments.
- 	* config/mips/mips.c (struct mips_arg_info): Likewise.
- 	(mips_arg_info): Don't allow fpr_p to affect the register or
- 	stack alignment.  Remove o64 silliness.
- 	(function_arg): Deal with the o32 float,float case specially.
- 
- 2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (loadx, storex): Define for V2SF.
- 
- 2004-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
- 	* config/s390/s390.c (s390_back_chain_rtx): New function.
- 	* config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
- 	Call anti_adjust_stack.
- 	("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
- 	only if compiling with back chain.
- 	("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
- 	back chain only if back chain enabled.  Use s390_back_chain_rtx.
- 
- 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/trouble.texi: Remove obsolete information.  Update
- 	information on how to regenerate fixincluded headers.
- 
- 2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/12951
- 	* doc/invoke.texi: Document that
- 	-Wno-error-implicit-function-declaration is not accepted.
- 
- 2004-09-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
- 	* config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
- 	on TARGET_MAX.
- 	(alpha_expand_mov): Allow unaligned vectors.
- 	(alpha_expand_unaligned_store): Use CONST0_RTX.
- 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
- 
- 2004-09-24 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
- 	aliasing rules.
- 	(simplify_cond_and_lookup_avail_expr): Likewise.
- 
- 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/12802
- 	* doc/extend.texi (Unnamed Fields): Remove "." from end of long
- 	title.  Document interaction with -fms-extensions.
- 	* doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
- 	section.
- 
- 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/12713
- 	* doc/extend.texi: Document interaction of attribute noreturn and
- 	longjmp.
- 
- 2004-09-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/17503
- 	* regclass.c (subregs_of_mode): Turn into an htab.  Make static.
- 	(som_hash, som_eq): New.
- 	(init_subregs_of_mode, record_subregs_of_mode): New.
- 	(cannot_change_mode_set_regs): Rewrite for htab implementation.
- 	(invalid_mode_change_p): Likewise.
- 	* combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
- 	* flow.c (mark_used_regs): Likewise.
- 	(life_analysis): Use init_subregs_of_mode.
- 	* regs.h (subregs_of_mode): Remove.
- 	* rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
- 
- 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* tree-ssa-phiopt.c (conditional_replacement): Use the correct
- 	type with the copy of the conditional.
- 
- 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/16954
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
- 	Prevent renaming if the aliasing sets of the type which the
- 	pointer points to are different.
- 
- 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17188
- 	* c-decl.c (diagnose_mismatched_decls): Check for duplicate
- 	declarations of enumerators.
- 	(start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
- 	for redefinition.  Check for nested redefinition.
- 	(finish_struct): Don't check for nested redefinition.
- 	(start_enum): Check for nested redefinition.
- 
- 2004-09-24  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
- 	only when necesssary.
- 	(combine_blocks): Combine loop header and exit block.
- 
- 2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* hooks.c (hook_tree_tree_bool_null): New.
- 	* hooks.h (hook_tree_tree_bool_null): Declare it.
- 	* target-def.c (TARGET_FOLD_BUILTIN): Point to it.
- 	* targhooks.c (default_fold_builtin): Remove.
- 	* targhooks.h (default_fold_builtin): Remove.
- 
- 2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR rtl-optimization/17625
- 	* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
- 
- 2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/17624
- 	* tree-ssa-forwprop.c (record_single_argument_cond_exprs):
- 	Reject if any of the operands occur in an abnormal PHI.
- 
- 2004-09-24  Andreas Schwab  <schwab@suse.de>
- 
- 	* tree-ssa-dom.c (record_range): Fix violation of strict aliasing
- 	rules.
- 
- 2004-09-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config.gcc (sparc64-*-solaris2*): Include sparc/sol2-gas.h
- 	if the GNU assembler is used.
- 	(sparc-*-solaris2*): Likewise.
- 	* dbxout.c (NO_DBX_BNSYM_ENSYM): Default to zero.
- 	(dbxout_function_end): Protect N_ENSYM with it.
- 	(dbxout_begin_prologue): Protect N_BNSYM with it.
- 	* doc/tm.texi (NO_DBX_BNSYM_ENSYM): Document it.
- 	* config/sparc/sol2.h (NO_DBX_BNSYM_ENSYM): Define to 1.
- 	* config/sparc/sol2-gas.h: New file.
- 
- 2004-09-23  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR bootstrap/17369
- 	* Makefile.in (@set_gcc_lib_path@): Added.
- 
- 	* configure.ac: Include ../config/gcc-lib-path.m4. Use
- 	TL_AC_GNU_MAKE_GCC_LIB_PATH.
- 	* configure: Regenerated.
- 
- 2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/6980
- 	* c-typeck.c (build_c_cast): Improve wording of
- 	-Wbad-function-cast diagnostic.
- 
- 2004-09-23  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/17626
- 	* config/cris/cris.md (moverside, movemside): Rename variable
- 	"reg" to "otherop".  To generate canonical RTX, check that otherop
- 	isn't constant instead of checking that operand 1 is a register.
- 
- 2004-09-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree-ssa-propagate.c (set_rhs): Fail if EXPR is COMPOUND_EXPR.
- 
- 2004-09-23  Diego Novillo  <dnovillo@redhat.com>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree-flow.h (find_new_referenced_vars): Add prototype.
- 	* tree-sra.c (find_new_referenced_vars_1, find_new_referenced_vars):
- 	Move to...
- 	* tree-dfa.c (find_new_referenced_vars_1, find_new_referenced_vars):
- 	... here.
- 	(mark_new_vars_to_rename): Walk through all operands.
- 	* tree-ssa-ccp.c (convert_to_gimple_builtin): New function.
- 	(execute_fold_all_builtins): Use it.
- 	(pass_fold_builtins): Add TODO_rename_vars to todo_flags_finish.
- 
- 2004-09-23  P.J. Darcy  <darcypj@us.ibm.com>
- 
- 	* gthr-tpf.h: New file.
- 	* config.gcc (s390x-ibm-tpf*): Add thread_file='tpf'.
- 	* gthr.h: Use gthr-tpf.h on TPF OS.
- 
- 2004-09-23 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-ccp.c (get_default_value): Use SSA_NAME_VALUE rather
- 	than SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
- 	(substitute_and_fold):  Likewise.
- 	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Remove everything
- 	except invariants from SSA_NAME_VALUE.
- 	(thread_across_edge): Use SSA_NAME_VALUE rather than SSA_NAME_EQUIV
- 	and SET_SSA_NAME_EQUIV.
- 	(restore_vars_to_original_value, record_const_or_copy): Likewise.
- 	(record_equivalences_from_phis, record_const_or_copy_1): Likewise.
- 	(record_equality, cprop_into_successor_phis): Likewise.
- 	(record_equivalences_from_stmt, cprop_operand): Likewise.
- 	(lookup_avail_expr): Likewise.
- 	* tree-ssa-pre.c (fini_pre): Remove everything except invariants
- 	from SSA_NAME_VALUE.
- 	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): Kill.
- 	(struct tree_ssa_name):  Kill EQUIV field.  Remove GGC skip
- 	annotation from the VALUE_HANDLE field.
- 
- 2004-09-21 Fariborz Jahanian <fjahanian@apple.com>
- 
- 	PR c++/13989
- 	PR c++/9844
- 	* tree.c (reconstruct_complex_type): Remove extra "this".
- 	* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
- 	Add V4SFmode to case statement.
- 
- 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/16833
- 	* doc/extend.texi, doc/invoke.texi: Document interaction of
- 	-fno-builtin with format checks.  Note that built-in functions
- 	have effects beyond generating code that avoids calls to those
- 	functions.
- 
- 2004-09-23  Frank Ch. Eigler <fche@redhat.com>
- 
- 	PR tree-optimization/17533
- 	* dominance.c (verify_dominators): Tolerate even more incorrect
- 	dominance data during error message printing.
- 	* tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
- 	and edges more correctly.
- 
- 2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
- 
- 	* tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):
- 	New tree-codes.
- 	* tree.h (REF_ORIGINAL): Consider ALIGN_INDIRECT_REF and
- 	MISALIGNED_INDIRECT_REF.
- 	* alias.c (get_alias_set, nonoverlapping_memrefs_p): Likewise.
- 	* emit-rtl.c (mem_expr_equal_p, set_mem_attributes_minus_bitpos):
- 	Likewise.
- 	* expr.c (safe_from_p, expand_expr_real_1, rewrite_address_base)
- 	(find_interesting_uses_address): Likewise.
- 	* fold-const.c (non_lvalue, operand_equal_p): Likewise.
- 	(build_fold_addr_expr_with_type): Likewise.
- 	* gimplify.c (gimplify_addr_expr, gimplify_expr): Likewise.
- 	* print-rtl.c (print_mem_expr): Likewise.
- 	* tree-dump.c (dequeue_and_dump): Likewise.
- 	* tree-eh.c (tree_could_trap_p): Likewise.
- 	* tree-gimple.c (is_gimple_addressable, get_base_address): Likewise.
- 	* tree-pretty-print.c (op_prio, op_symbol, dump_generic_node): Likewise.
- 	* tree-ssa-alias.c (find_ptr_dereference, ptr_is_dereferenced_by):
- 	Likewise.
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
- 	* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
- 	* tree-ssa-loop-im.c (for_each_index, is_call_clobbered_ref): Likewise.
- 	* tree-ssa-loop-ivopts.c (find_interesting_uses_address): Likewise.
- 	(add_address_candidates, rewrite_address_base): Likewise.
- 	* tree-ssa-operands.c (get_expr_operands, get_indirect_ref_operands):
- 	Likewise.
- 	* tree.c (staticp, build1_stat): Likewise.
- 
- 	* tree.def (REALIGN_LOAD_EXPR, REALIGN_STORE_EXPR): New tree-codes.
- 	* tree-pretty-print.c (dump_generic_node): Consider REALIGN_LOAD_EXPR.
- 	* tree-ssa-operands.c (get_expr_operands): Likewise.
- 	* expr.c (expand_expr_real_1): Likewise.
- 
- 	* optabs.h (vec_realign_store_optab, vec_realign_load_optab): New
- 	optabs.
- 	(OTI_vec_realign_store, OTI_vec_realign_load): New optab_index values
- 	for the new optabs.
- 	(expand_ternary_op): New function.
- 	* genopinit.c (optabs): Handle the new optabs.
- 	* optabs.c (optab_for_tree_code): Add cases for the new tree-codes.
- 	(init_optabs): Initialize vec_realign_load_optab.
- 	(expand_ternary_op): New functions.
- 
- 	* target-def.h (TARGET_VECTORIZE): New member for struct gcc_target.
- 	(TARGET_VECTORIZE_MISALIGNED_MEM_OK): New member for targetm.vectorize.
- 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): Likewise.
- 	(TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Likewise.
- 	* target.h (struct vectorize): New member for struct gcc_target.
- 	(misaligned_mem_ok): New member for targetm.vectorize.
- 	(builtin_mask_for_load): Likewise.
- 	(builtin_mask_for_store): Likewise.
- 	* targethooks.c (default_vect_misaligned_mem_ok): New function.
- 	* targethooks.h (default_vect_misaligned_mem_ok): New function.
- 
- 	* config/rs6000/altivec.md (build_vector_mask_for_load): New
- 	define_expand.
- 	(vec_realign_load_v4si, vec_realign_load_v4sf, vec_realign_load_v8hi)
- 	(vec_realign_load_v16qi): New define_insn.
- 	* config/rs6000/rs6000.h (ALTIVEC_BUILTIN_MASK_FOR_LOAD):
- 	(ALTIVEC_BUILTIN_MASK_FOR_STORE): New target builtins.
- 	* config/rs6000/rs6000.c (altivec_builtin_mask_for_load):
- 	(altivec_builtin_mask_for_store): New variables.
- 	(rs6000_builtin_mask_for_load): New function. Implements
- 	TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD.
- 	(rs6000_builtin_mask_for_store): New function. Implements
- 	TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE.
- 	(rs6000_expand_builtin): Expand the target builtins
- 	builtin_mask_for_load and builtin_mask_for_store.
- 	(altivec_init_builtins): Initialize the new target builtins.
- 	* config/i386/i386.c (ix86_misaligned_mem_ok): New function.
- 	Implements the target hook TARGET_VECTORIZE_MISALIGNED_MEM_OK.
- 
- 	* tree-vectorizer.c (vect_create_data_ref): Renamed to
- 	vect_create_data_ref_ptr. Returns a pointer instead of an array-ref.
- 	(vect_create_addr_base_for_vector_ref): Additional argument (offset).
- 	(vectorizable_store): Call vect_create_data_ref_ptr with additional
- 	arguments, and create an indirect_ref with its return value data_ref.
- 	Check aligned_access_p.
- 	(vectorizable_load): Handle misaligned loads, using software-pipelined
- 	scheme with REALIGN_LOAD_EXPR and ALIGN_INDIRECT_REF if
- 	vec_realign_load_optab is supported, or using a scheme without
- 	software-pipelining with MISALIGNED_INDIRECT_REF if the target hook
- 	misaligned_mem_ok is supported.
- 
- 	(vect_finish_stmt_generation): Typo.
- 	(vect_enhance_data_refs_alignment): Rename loop_vinfo to loop_info.
- 	(vect_analyze_data_refs_alignment): Don't fail vectorization in the
- 	presence of misaligned loads.
- 	(vect_analyze_data_ref_access): Add check for constant init.
- 	(vect_get_symbl_and_dr): Remove duplicate line.
- 	* tree-vectorizer.h (DR_MISALIGNMENT): Add comment.
- 
- 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Fix a comment typo.
- 
- 2004-09-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* profile.c (branch_prob): Do not verify flow info in the middle of the
- 	pass.
- 
- 2004-09-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.h (update_single_exits_after_duplication): Declare.
- 	(loopify, split_loop_bb): Declaration changed.
- 	* cfgloopmanip.c (split_loop_bb): Take void * as an argument instead
- 	of rtx.
- 	(loopify): Added redirect_all_edges argument.
- 	(update_single_exits_after_duplication): Export.
- 	* loop-unswitch.c (unswitch_loop): Changed due to loopify change.
- 	* tree-flow.h (tree_duplicate_loop_to_header_edge,
- 	tree_ssa_loop_version): Declare.
- 	* tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables,
- 	set_phi_def_stmts, tree_duplicate_loop_to_header_edge,
- 	lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge,
- 	lv_update_pending_stmts, tree_ssa_loop_version): New functions.
- 
- 	* tree-ssa-loop-unswitch.c: New file.
- 	* Makefile.in (tree-ssa-loop-unswitch.o): Add.
- 	* timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar.
- 	* tree-flow.h (tree_ssa_unswitch_loops): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch.
- 	* tree-pass.h (pass_unswitch): Declare.
- 	* tree-ssa-loop.c (tree_ssa_loop_unswitch,
- 	gate_tree_ssa_loop_unswitch, pass_unswitch): New pass.
- 	* doc/passes.texi: Documen tree level loop unswitching.
- 
- 2004-09-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgexpand.c, config/s390/tpf-eh.c: Fix comment typos.
- 
- 2004-09-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c (simplify_builtin_va_start): Remove.
- 	(simplify_builtin): Ditto.
- 	(fold_builtin_strchr): Ditto.
- 	(simplify_builtin_*): Rename remainders to fold_builtin_*.
- 	(expand_builtin): Fix up for above changes.
- 	(fold_builtin_1): Add new folders. Change for above.
- 	(expand_builtin_va_start): Call fold_builtin_next_arg.
- 	* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
- 	* tree.h: Remove prototype for simplify_builtin.
- 
- 2004-09-23  Jan Hubicka  <jh@suse.cz>
- 
- 	PR debug/17389
- 	* dwarf2out.c (dwarf2out_finish): Deal with nested functions
- 	of fully inlined functions.
- 	* tree-inline.c (inline_forbidden_p_1): Nested functions can be
- 	inlined.
- 
- 	* cfgexpand.c (add_reg_br_prob_note): New function.
- 	(expand_gimple_cond_expr): Use it.
- 	(tree_expand_cfg): No longer kill the profile.
- 	* cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
- 	only if it is present.
- 	* passes.c (rest_of_handle_loop_optimize): Kill the profile.
- 	* predict.c (combine_predictions_for_insn): Set the probabilities
- 	based on REG_BR_PROB note if present.
- 	* predict.c (branch_prob): Profile is read only with
- 	flag_branch_probabilities.
- 
- 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* aclocal.m4: Add in gettext's m4 includes.
- 	(AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
- 	* configure.ac: Add in check for iconv.h
- 	* configure: Regenerate.
- 
- 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* aclocal.m4: Update for rename of gettext-sister.m4.
- 
- 2004-09-22  Daniel Berlin <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/17587
- 	* tree-ssa-pre.c (fini_pre): Commit edge inserts here.
- 	(insert_aux): Instead of here.
- 
- 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16721
- 	* tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
- 	* tree-ssa-alias.c (create_memory_tag): Move setting of
- 	TREE_THIS_VOLATILE ...
- 	(get_tmt_for): ... here.
- 
- 2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.md (cmove splitter): Fix formatting.
- 	(conditional_trap expander): Reject inappropriate CCmodes.
- 	(conditional trap insn): Use V9 syntax if possible.
- 
- 2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/16566
- 	* c-typeck.c (build_component_ref): Don't special-case
- 	COMPOUND_EXPR.
- 
- 2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* dominance.c (verify_dominators): Don't SEGV if recount_dominator
- 	returns NULL.
- 
- 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
- 	TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
- 	TRUTH_XOR_EXPR): Mention the restriction on types.
- 
- 2004-09-22  Matt Austern  <austern@apple.com>
- 
- 	* config/darwin.c (darwin_make_decl_one_only):
- 	Allow coalesced symbol to appear in static archive's table of contents
- 
- 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	PR tree-optimization/17512
- 	* convert.c (convert_to_integer): Don't handle TRUTH_*_EXPR as
- 	special cases.
- 
- 2004-09-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* dbxout.c (get_lang_number): Do not define if
- 	DBX_OUTPUT_MAIN_SOURCE_DIRECTORY is defined.
- 
- 2004-09-22  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
- 
- 	PR target/15583
- 	* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
- 	builtin_define ("__USE_INIT_FINI__").
- 
- 2004-09-22  P.J. Darcy  <darcypj@us.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_emit_tpf_eh_return): Add prototype.
- 	* config/s390/s390.c (s390_emit_tpf_eh_return): New function.
- 	* config/s390/s390.h (TARGET_TPF): New macro.
- 	* config/s390/s390.md ("eh_return"): New expander.
- 	* config/s390/t-tpf (LIB2ADDEH): Use unwind-dw2-fde.c rather than
- 	unwind-dw2-fde-glibc.c.  Add config/s390/tpf-eh.c.
- 	(LIB2ADDEHDEP): Remove unwind-dw2-fde.c.
- 	* config/s390/tpf.h (TARGET_TPF): Define to 1.
- 	(STACK_POINTER_OFFSET): Increase to 448.
- 	(TARGET_DEFAULT): Set -mtpf-trace on as default.
- 	(TPF_LOC_DIFF_OFFSET): New macro.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Redefine to always use absolute
- 	encoding.
- 	(__isPATrange): Add prototype.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Define.
- 	* config/s390/tpf-eh.c: New file.
- 
- 2004-09-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* fold-const.c (fold): Avoid non INTEGER_TYPEs when widening
- 	operands in an integer comparison.
- 	* tree-cfg.c (find_taken_edge): Call fold() to determine
- 	whether the predicate is known.
- 
- 2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* aclocal.m4: Import AM_PROG_CC_C_O and AM_AUX_DIR_EXPAND.
- 	* configure.ac: Call AM_PROG_CC_C_O instead of AC_PROG_CC_C_O.
- 	Create build and doc directories along with the language directories.
- 	Don't create doc directory separately.
- 	* configure: Regenerate.
- 	* Makefile.in: Create all object and executables files built
- 	with the build compiler in a build/ directory.
- 	(genobjnames): Add missing build objects.
- 	(STAGESTUFF): Don't stage the gen* programs.
- 	(ggc-none.o): Define dependencies for the target compiler.
- 	(build-print-rtl.o): Rename to build/print-rtl.o.
- 	(build-errors.o): Rename to build/errors.o.
- 	(build-varray.o): Rename to build/varray.o.
- 	(maintainerclean): Delete the contents of the build directory.
- 	($(genobjs): %.o): Explicitly use -o.
- 	(build/insn-conditions.o): Delete specfic rule to use generic rule.
- 	(build/gengtype-lex.o): Likewise.
- 	(build/gengtype-yacc.o): Likewise.
- 	(build/gcov-iov.o): Likewise.
- 
- 2004-09-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_space): Return true if there _is_ space.
- 	(VEC_reserve): Adjust.
- 
- 2004-09-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_function_value): For o32, o64, n32 and n64,
- 	use FPRs for scalar, complex and vector types only.
- 
- 2004-09-21 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (opt_stats): Move so that it lives just after
- 	the opt_stats_d structure.
- 	(vrp_data): Change from a varray into a hash table.
- 	(vrp_hash_elt): New structure for elements in the vrp hash table.
- 	(vrp_hash, vrp_eq):New functions for hashing and testing equality
- 	in the vrp hash table.
- 	(tree_ssa_dominator_optimize): Initialize VRP_DATA.  Reorganize
- 	initialization slightly to make it easier to read.  No longer need
- 	to grow/clear the varray.  Instead empty and delete the hash table.
- 	(dom_opt_finalize_block): Update due to change of VRP_DATA from
- 	a varray to a hash table.
- 	(simplify_cond_and_loop_avail_expr, record_range): Similarly.
- 
- 	* tree-ssa-ccp.c (get_default_value): If we have a constant
- 	value recorded for an SSA_NAME, then use that constant as
- 	the initial lattice value.
- 	(substitute_and_fold): Transfer equivalences discovered into
- 	SSA_NAME_EQUIV.
- 
- 	* tree.h (SSA_NAME_EQUIV): Add comments.
- 	(SET_SSA_NAME_EQUIV): Similarly.
- 
- 2004-09-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Default to POWER4.
- 
- 	* config/rs6000/rs6000.c (rs6000_adjust_cost): dep_insn is used.
- 
- 2004-09-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-decl.c (implicityl_declare): Call maybe_apply_renaming_pragma.
- 	(finish_decl): Likewise.
- 
- 2004-09-21  Devang Patel  <dpatel@apple.com>
- 
- 	* tree.def (VEC_COND_EXPR): New tree node.
- 	* tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
- 
- 2004-09-21  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
- 	* config/rs6000/darwin-world.asm: Likewise.
- 
- 2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa.c (verify_def): Use print_generic_stmt,
- 	not debug_generic_stmt.
- 	(verify_use): Ditto.
- 	(verify_phi_args): Ditto.
- 	(verify_ssa): Ditto.
- 
- 2004-09-21  Paul Brook  <paul@codesourcery.com>
- 
- 	* varasm.c (default_assemble_integer): Return false for values wider
- 	than the target word size.  Works around GAS bug.
- 
- 2004-09-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* reg-notes.def (REG_DEP_TRUE): New entry, place first so it
- 	gets value 0.
- 	* print-rtl.c (print_rtx): Print the name of a REG_NOTE even
- 	if it has value 0.
- 
- 2004-09-21  Daniel Berlin <dberlin@dberlin.org>
- 
- 	* c-typeck.c (build_function_call): Give name of object
- 	we are attempting to call in error message.
- 	* c-objc-common.c (c_tree_printer): Call pp_expression,
- 	not return false, for 'E' case.
- 
- 2004-09-21  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR rtl-optimization/17482
- 	* postreload-gcse.c (reg_avail_info, oprs_unchanged_p,
- 	load_killed_in_block_p): Clarify comments.
- 	(record_last_reg_set_info): Make static inline.
- 	(mark_call, mark_set, mark_clobber, mark_oprs_set): Remove.
- 	(record_opr_changes): New function to replace the above.
- 	(compute_hash_table): Clarify comments.  Use record_opr_changes.
- 	(reg_set_between_after_reload_p): Clean up.
- 	(reg_used_between_after_reload_p): Likewise.
- 	(eliminate_partially_redundant_load): Clarify comments.
- 
- 2004-09-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR rtl-optimization/17266
- 	* regmove.c (optimize_reg_copy_3): Make a new SUBREG for each insn.
- 
- 2004-09-21  Uros Bizjak  <uros@kss-loka.si>
- 
- 	PR rtl-optimization/14851
- 	* rtlanal.c (commutative_operand_precedence): Calculate
- 	precedence of stripped constant.
- 
- 2004-09-20 Jeff Law  <law@redhat.com>
- 	   Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssanames.c (make_ssa_name): No longer need to clear, then
- 	initialize key elements here.
- 	(release_ssa_name): Zero the released SSA_NAME here.
- 	* tree.h (SSA_NAME_EQUIV, SET_SSA_NAME_EQUIV): New macros.
- 	(struct tree_ssa_name): Add new "equiv" field.
- 	* tree-ssa-dom.c (const_and_copies): Kill the global varray.
- 	(tree_ssa_dominator_optimize): No longer allocate, resize or
- 	clear CONST_AND_COPIES.
- 	(get_value_for, set_value_for): Kill.
- 	(thread_across_edge): Get/set the equivalency using
- 	SSA_NAME_EQUIV and SET_SSA_NAME_EQUIV.
- 	(restore_vars_to_original_value): Likewise.
- 	(record_equivalences_from_phis): Likewise.
- 	(record_dominating_conditions): Likewise.
- 	(record_const_or_copy, record_equality): Likewise.
- 	(lookup_avail_expr): Likewise.
- 	(record_equivalences_from_stmt, cprop_operand): Likewise.
- 	(cprop_into_successor_phis): No longer need to pass around
- 	CONST_AND_COPIES.  Callers updated. Get equivalences via
- 	SSA_NAME_EQUIV.
- 	(cprop_into_phis): Likewise.
- 
- 2004-09-20  Matt Austern <austern@apple.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (fix_string_type): Build the unqualified array
- 	type unconditionally, then use c_build_qualified_type to get
- 	the proper const-qualified variant, and set its
- 	TYPE_MAIN_VARIANT to refer to the unqualified type.
- 	* c-lex.c (c_lex_return_raw_string): New global.
- 	(c_lex_with_flags): Honor it.
- 	* c-pragma.h: Declare it.
- 
- 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in: Fix flags.h dependencies to be $(FLAGS_H).
- 
- 2004-09-21  Jan Hubicka  <jh@suse.cz>
- 
- 	PR middle-end/17126
- 	* tree-optimize.c (update_inlined_to_pointers): Fix the recursion.
- 	(tree_rest_of_compilation): Cleanup.
- 
- 2004-09-20  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_select_rtx_section): Remove.
- 	(TARGET_ASM_SELECT_RTX_SECTION): Do not redefine.
- 
- 2004-09-20  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (sh_expand_prologue): Add a REG_FRAME_RELATED_EXPR
- 	note to pretend a direct save from the original register when an
- 	intermediate register is used for the save.
- 
- 2004-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tsystem.h (alloca): Provide a default definition.
- 
- 	Revert:
- 	2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 	    * unwind-dw2.c: Call __builtin_alloca, not alloca.
- 
- 2004-09-20  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR tree-opt/17558
- 	* tree-ssa-copy.c (may_propagate_copy): Only allow if the
- 	aliasing sets are the same rather than just conflicting.
- 
- 2004-09-20  Jan Hubicka  <jh@suse.cz>
- 
- 	PR middle-end/16460
- 
- 	* cgraph.c (cgraph_unnest_node): New function.
- 	(c_finalize): Rename to ....
- 	(c_warn_unused_result_recursivly): ... this one; do only the warning
- 	(finish_function): Finalize the toplevel function; do not lower nested tree.
- 	* cgraph.h (cgraph_unnest_node): Declare.
- 	* cgraphunit.c (decide_is_function_needed): Do not use cgraph
- 	nestedness datastructure.
- 	* cse.c (cse_insn): Do not cprop nonlocal LABEL_REFs.
- 	* reload1.c (set_label_offsets): Fix call of set_label_offsets.
- 	* tree-nested.c (finlize_nesting_tree_1):  Use un-nesting code.
- 
- 2004-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (some_small_symbolic_operand_int): Rename
- 	from some_small_symbolic_operand_1; export.
- 	(some_small_symbolic_operand): Remove.
- 	* config/alpha/alpha.md (some_small_symbolic_operand splitter): Remove
- 	extra C check.
- 	* config/alpha/predicates.md (some_small_symbolic_operand): New.
- 
- 2004-09-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (return_prediction): New function.
- 	(apply_return_prediction): Likewise.
- 	(tree_bb_level_predictions): Likewise.
- 	(tree_estimate_probability): Add noreturn exit edges; call
- 	bb_level_predictions; fix logic of return heuristics.
- 	(predict_paths_leading_to):  Rescuesce from old CVS version of
- 	process_note_prediction function.
- 	* predict.def (PRED_TREE_EARLY_RETURN): New predictor.
- 
- 2004-09-20  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_frame_info): Added alignment statement for
- 	floating point register area on stack.
- 
- 2004-09-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* predict.c (expr_expected_value): Use *_CLASS_P macros.
- 
- 2004-09-20  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (compute_antic_aux): Use malloc'd worklist, to avoid
- 	generating useless garbage.
- 
- 2004-09-20  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* builtins.c (fold_builtin): Call the new omonymous
- 	target hook for machine-dependent built-ins.
- 	* target-def.h (TARGET_FOLD_BUILTIN): New.
- 	* target.h (struct gcc_target): Add the fold_builtin hook.
- 	* targhooks.c (default_fold_builtin): New.
- 	* targhooks.h (default_fold_builtin): Declare it.
- 
- 2004-09-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfg.c, tree-ssa-threadupdate.c, tree-vectorizer.c: Fix
- 	comment typos.
- 
- 2004-09-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/17565
- 	* config/mips/mips.md (define_asm_attributes): Set can_delay to no.
- 
- 2004-09-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Remove unnecesary code.
- 
- 2004-09-19  Ira Rosen  <irar@il.ibm.com>
- 
- 	* tree-vectorizer.h (stmt_vec_info): Add vect_dr_base field.
- 	(STMT_VINFO_VECT_DR_BASE): Declare.
- 	(VECT_SMODULO): Declare.
- 	* tree-vectorizer.c (vect_compute_array_ref_alignment): New function.
- 	(vect_compute_array_base_alignment): New function.
- 	(vect_analyze_data_ref_access): Check array indices. Remove one
- 	dimensional arrays restriction.
- 	(vect_get_ptr_offset): New function.
- 	(vect_get_symbl_and_dr): New function.
- 	(vect_get_base_and_bit_offset): Support additional data refs. Renamed
- 	(former name vect_get_base_decl_and_bit_offset).
- 	(vect_create_index_for_array_ref): Removed.
- 	(vect_create_index_for_vector_ref): New function.
- 	(vect_create_addr_base_for_vector_ref): New function.
- 	(vect_create_data_ref): Handle additional data refs. Call
- 	vect_create_index_for_vector_ref and vect_create_addr_base_for_vector_ref.
- 	(vect_compute_data_ref_alignment): Support the changes. Call
- 	vect_get_base_and_bit_offset.
- 	(vect_analyze_data_refs): Call vect_get_symbl_and_dr. Support additional
- 	data refs. Store vect_dr_base.
- 	(vect_analyze_data_ref_accesses): Support nonconstant init.
- 	(new_stmt_vec_info): Initialize vect_dr_base field.
- 	(vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
- 	(get_vectype_for_scalar_type): Check for BLKmode.
- 	* tree-chrec.h (initial_condition_in_loop_num): Declare.
- 	* tree-chrec.c (initial_condition_in_loop_num): New function.
- 	(chrec_component_in_loop_num): New function.
- 	(evolution_part_in_loop_num): Call chrec_component_in_loop_num.
- 	* tree-data-ref.c (analyze_array_indexes): Change parameter (access_fns)
- 	to be pointer to varray_type.
- 
- 2004-09-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (update_bb_profile_after_threading): Declare.
- 	* cfg.c (update_bb_profile_after_threading): Break out from ...
- 	* cfgcleanup.c (try_forward_edges): ... here; use it.
- 	* tree-ssa-dom.c (thread_across_edge): Use it.
- 	* tree-ssa-threadupdate.c (create_block_for_threading): Zero out
- 	profile of the new BB.
- 
- 2004-09-19  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (insert_into_set): Don't put
- 	is_gimple_min_invariant values into the set.
- 
- 2004-09-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* tree-ssa-dom.c (restore_nonzero_vars_to_original_value): Fix
- 	prototype.
- 
- 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/cris/cris.h: Preserve the original spelling in a
- 	quote.
- 
- 2004-09-18 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (nonzero_vars_stack, vrp_variables_stack): New
- 	global varrays to replace the block local varrays.
- 	(struct dom_walk_block_data): Remove, no longer used.
- 	(get_eq_expr_value): No longer need to pass around pointers to local
- 	varrays.  Callers updated.  Unused markers added to unused parameters.
- 	(record_range, record_equivalences_from_stmt): Likewise.
- 	(record_equivalences_from_incoming_edge): Likewise.
- 	(record_var_is_nonzero): Likewise.  Update now that we have a
- 	single global varray of SSA_NAMEs that need restoring.
- 	(dom_opt_initialize_block_local_data): Kill, no longer used.
- 	(tree_ssa_dominator_optimize): Initialize new global varrays.
- 	Update callbacks in dominator walker structure.
- 	(dom_opt_initialize_block): Add markers to NONZERO_VAR_STACK and
- 	VRP_VARIABLES_STACK.
- 	(restore_nonzero_vars_to_original_value): Update now that we have
- 	a single global varray of SSA_NAMEs that need restoring.
- 	(dom_opt_finalize_block): Similarly for VRP_VARIABLES_STACK.
- 	Remove unused variables.
- 	(optimize_stmt): Remove unused variable.
- 
- 2004-09-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-cfg.c (thread_jumps):  Fix updating of the profile.
- 
- 	* tree-optimize.c (tree_rest_of_compilation): Kill forgotten
- 	verify_cgraph call.
- 
- 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c, crtstuff.c, dbxout.c, domwalk.c, domwalk.h, gcc.c,
- 	gcse.c, global.c, lambda-code.c, loop.c, mips-tdump.c,
- 	optabs.h, predict.c, reg-stack.c, regclass.c, sched-rgn.c,
- 	tree-optimize.c, tree-ssa-dom.c, tree-ssa-forwprop.c,
- 	tree-ssa-operands.c, tree-ssa-phiopt.c,
- 	tree-ssa-threadupdate.c: Fix comment typos.
- 
- 2004-09-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/darwin-c.c, config/arc/arc.c, config/arc/arc.md,
- 	config/arm/README-interworking, config/arm/arm-cores.def,
- 	config/arm/arm.c, config/arm/arm.h, config/arm/pe.c,
- 	config/arm/vfp.md, config/c4x/c4x.c, config/c4x/c4x.h,
- 	config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.c,
- 	config/fr30/fr30.h, config/fr30/fr30.md, config/frv/frv.c,
- 	config/frv/frv.md, config/i386/winnt.c,
- 	config/ia64/unwind-ia64.c, config/iq2000/iq2000.c,
- 	config/iq2000/iq2000.h, config/m68hc11/m68hc11.c,
- 	config/m68hc11/m68hc11.md, config/m68k/m68k.c,
- 	config/mcore/mcore.c, config/mips/mips.h,
- 	config/mn10300/mn10300.md, config/pa/pa.c,
- 	config/pa/pa64-regs.h, config/pdp11/pdp11.c,
- 	config/rs6000/rs6000.c, config/sh/symbian.c,
- 	config/sparc/sparc.h: Fix comment typos.  Follow spelling
- 	conventions.
- 
- 2004-09-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/17424
- 	* c-typeck.c (c_expr_sizeof_expr): Check for error_mark_node.
- 
- 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (setup_pointers_and_addressables): Don't
- 	remove TREE_ADDRESSABLE from RESULT_DECL.
- 
- 2004-09-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (dump_alias_info): Ignore NULL SSA_NAMEs.
- 
- 2004-09-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-into-ssa.c (rewrite_ssa_into_ssa):  Expect ssa_name to return
- 	NULL.
- 	* tree-ssa-alias.c (init_alias_info): Likewise.
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): Likewise.
- 	(verify_ssa): Likewise.
- 	* tree-ssanames.c (make_ssa_name): Clear out ssa_names arrays.
- 
- 2004-09-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (legitimize_pic_address): Fix splitting of PLUS with
- 	huge offset.
- 
- 2004-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove.
- 	* config/sh/sh.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
- 	DW_EH_PE_sdata* for data.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
- 
- 2004-09-17  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree-inline.c (copy_tree_r): Don't duplicate constants, they're
- 	shared anyway.
- 
- 	PR pch/13361
- 	* c-typeck.c (constructor_asmspec): Delete.
- 	(struct initializer_stack): Delete field 'asmspec'.
- 	(start_init): Delete saving of asmspec.
- 	(finish_init): Don't update constructor_asmspec.
- 	* dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
- 	* stmt.c (expand_asm): Duplicate strings from tree.
- 	(expand_asm_operands): Likewise.
- 	* tree.c (tree_size): Update computation of size of STRING_CST.
- 	(make_node): Don't make STRING_CST nodes.
- 	(build_string): Allocate string with tree node.
- 	(tree_code_size): Clean up assertions, don't allow requests
- 	for "the size of a STRING_CST".
- 	* tree.def (STRING_CST): Update comment.
- 	* tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
- 	(tree_string): Place contents of string in tree node.
- 	* config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
- 	from tree.
- 
- 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (c-parse.o): Depend on $(C_PRAGMA_H).
- 	* objc/Make-lang.in (objc/objc-parse.o): Likewise.
- 
- 2004-09-17  Jones Desougi  <jones@ingate.com>
- 
- 	* configure.ac: Replace AC_COMPILE_CHECK_SIZEOF with AC_CHECK_SIZEOF.
- 	* configure, config.in: Regenerate.
- 
- 2004-09-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c, tree.h (tree_class_strings): Make array const.
- 	Reindent per coding convention.  Move asterisk to proper place
- 	per coding convention.
- 
- 2004-09-18  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (gimple-low.o): Depend on $(EXPR_H).
- 	(tree-vectorizer.o): Likewise.
- 	(targhooks.o): Likewise.
- 
- 2004-09-17  Jeffrey D. Oldham  <oldham@codesourcery.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* alias.c (find_base_decl): Remove unreachable case '3' block.
- 	* expr.c (safe_from_p): Abort if passed a type.
- 	* tree-gimple.c (recalculate_side_effects): Abort if passed
- 	anything other than an expression.
- 	* tree-ssa-pre.c (phi_translate): Return expr immediately if
- 	is_gimple_min_invariant is true for it.  Reorder cases for clarity.
- 	Abort on un-handled tree classes.
- 	(valid_in_set): Likewise.
- 	* tree.c (tree_code_class_strings): New static data.
- 
- 	* tree.h (enum tree_code_class): New.
- 	(tree_code_class_strings): Declare.
- 	(TREE_CODE_CLASS_STRING, EXCEPTIONAL_CLASS_P, CONSTANT_CLASS_P)
- 	(REFERENCE_CLASS_P, COMPARISON_CLASS_P, UNARY_CLASS_P, BINARY_CLASS_P)
- 	(STATEMENT_CLASS_P, EXPRESSION_CLASS_P, IS_TYPE_OR_DECL_P): New macros.
- 	(TYPE_P, DECL_P, IS_NON_TYPE_CODE_CLASS, IS_EXPR_CODE_CLASS)
- 	(checking macros, EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_LOCUS): Update.
- 
- 	* tree.def, c-common.def, objc/objc-tree.def: Use
- 	tree_code_class enumeration constants instead of code letters.
- 
- 	* alias.c, builtins.c, c-common.c, c-format.c, c-lang.c, c-pragma.c
- 	* c-typeck.c, cgraphunit.c, convert.c, dbxout.c, dwarf2out.c
- 	* emit-rtl.c expr.c, fold-const.c, gimplify.c, lambda-code.c
- 	* langhooks.c, langhooks.h, predict.c, print-tree.c, reload1.c, stmt.c
- 	* tree-browser.c, tree-cfg.c, tree-chrec.c, tree-complex.c, tree-dfa.c
- 	* tree-dump.c, tree-eh.c, tree-gimple.c, tree-inline.c, tree-nested.c
- 	* tree-outof-ssa.c, tree-pretty-print.c, tree-sra.c, tree-ssa-ccp.c
- 	* tree-ssa-dce.c, tree-ssa-dom.c, tree-ssa-forwprop.c, tree-ssa-live.c
- 	* tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-operands.c
- 	* tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-propagate.c
- 	* tree-ssa.c, tree-ssanames.c, tree-tailcall.c, tree.c, varasm.c
- 	* config/sol2-c.c, config/arm/arm.c, config/i386/winnt.c
- 	* config/pa/pa.c, config/pa/pa.h, config/sh/sh.c, objc/objc-lang.c
- 	Update to match.
- 
- 	* LANGUAGES: Add note about change.
- 
- 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/17319
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Also
- 	examine pointers on the LHS of an assignment.
- 	(collect_points_to_info_r): Handle RETURN_EXPR.
- 
- 2004-09-17 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (const_and_copies_stack): New.
- 	(dom_walk_block_data): Remove const_and_copies field.
- 	(record_const_or_copy): No longer need to pass in varray_type *.
- 	Use CONST_AND_COPIES_STACK rather than passed in block local stack.
- 	Callers updated.
- 	(record_equality): Similarly.
- 	(restore_vars_to_original_value): Similarly.  Revamp to use new
- 	single global stack rather than per-block stacks.
- 	(tree_ssa_dominator_optimize): Initialize the CONST_AND_COPIES_STACK.
- 	(thread_across_edge): Remove now unused parameters.
- 	(dom_opt_initialize_block_local_data): No longer test the block
- 	local CONST_AND_COPIES.
- 	(dom_opt_initialize_block): Push a marker on CONST_AND_COPIES_STACK.
- 
- 2004-09-17  Jan Hubicka  <jh@suse.cz>
- 
- 	PR tree-optimization/17509
- 	* tree-optimize.c (update_inlined_to_pointers): New function.
- 	(tree_rest_of_compilation): Use it.
- 
- 2004-09-17  Devang Patel  <dpatel@apple.com>
- 
- 	* dbxout.c (get_lang_number): New.
- 	(dbxout_init): Include lang number in N_SO  stab.
- 	* dbxout.h (N_SO_AS, N_SO_C, N_SO_ANSI_C, N_SO_CC, N_SO_FORTRAN,
- 	N_SO_PASCAL, N_SO_FORTRAN90, N_SO_OBJC, N_SO_OBJCPLUS): New #define.
- 
- 2004-09-17  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/17273
- 	* tree-ssa.c (replace_immediate_uses): Call fold_stmt if the
- 	replacement is a constant.
- 
- 2004-09-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (enum c_typespec_keyword): New.
- 	(struct c_declspecs): Adjust description of "type".  Remove
- 	specbits, explicit_int_p and explicit_char_p.  Rename
- 	typedef_signed_p to explicit_signed_p.  Add default_int_p, long_p,
- 	short_p, signed_p, unsigned_p and complex_p.
- 	(finish_declspecs): New.
- 	* c-parse.in (datadef, datadecl, setspecs, decl, component_decl,
- 	typename): Call finish_declspecs.
- 	* c-decl.c (finish_declspecs): New.
- 	(declspecs_add_type): Check for combinations which cannot occur in
- 	valid specifier lists.  Update comments.
- 	(shadow_tag_warned): Remove checks done in finish_declspecs.
- 	Don't report useless type name if type defaulted to int.
- 	(grokdeclarator): Remove checks and actions done in
- 	finish_declspecs.  Don't allow for type being NULL.  Update for
- 	datastructures changes.  Initialize decl_attr.
- 	(build_null_declspecs, quals_from_declspecs): Update for
- 	datastructures changes.
- 
- 2004-09-17  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
- 
- 	* doc/extend.texi: Fix duplicated word.
- 
- 2004-09-17  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* doc/invoke.texi: Remove stray explanation on
- 	-freduce-all-givs and -fmove-all-movables.
- 
- 2004-09-17  James Morrison  <phython@gcc.gnu.org>
- 
- 	* doc/cfg.texi: Use @smallexample.
- 	* doc/md.texi: Likewise.
- 	* doc/tree-ssa.texi: Likewise.
- 	* doc/extend.texi: Likewise.  Use @r{} in comments.
- 	* doc/trouble.texi: Use @r{} in comments.
- 
- 2004-09-17  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* configure.ac (gcc_cv_gld_version): Handle whitespace before
- 	"VERSION=".
- 	* aclocal.m4 (_gcc_COMPUTE_GAS_VERSION): Ditto.
- 	* configure: Regenerate.
- 
- 2004-09-17  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_gimplify_va_arg_expr): Don't call pass_by_reference.
- 	(sh_pass_by_reference): Work around std_gimplify_va_arg_expr bug.
- 	* t-sh (MULTILIB_CPUS): s/ML_m/ML_sh/g .
- 	* t-sh64 (MULTILIB_CPU_DIRS): Likewise.  Match dashes and trailing
- 	slashes in substitutions.
- 	(MULTILIB_DIRNAMES): Remove defunct removal of /media32.
- 
- 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h, c-decl.c, c-parse.in, cgraphunit.c, ddg.c,
- 	gimplify.c, lambda-code.c, optabs.c, predict.c,
- 	tree-scalar-evolution.c, tree-sra.c, tree-ssa-loop-ch.c,
- 	tree-ssa.c, vec.h: Fix comment typos.  Follow spelling
- 	conventions.
- 
- 2004-09-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/compat.texi, doc/cpp.texi, doc/cppopts.texi,
- 	doc/extend.texi, doc/install.texi, doc/invoke.texi,
- 	doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi,
- 	doc/trouble.texi: Use @option around options.
- 
- 2004-09-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* Makefile.in (gen-protos.o): Depend on errors.h.
- 
- 2004-09-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR tree-optimization/17513
- 	* cfgexpand.c (construct_init_block): Clear EDGE_EXECUTABLE
- 	for successors of the entry block.
- 
- 2004-09-17  Uros Bizjak  <uros@kss-loka.si>
- 
- 	PR rtl-optimization/15187
- 	* ifcvt.c (noce_try_cmove_arith): Exit early if total
- 	insn_rtx_cost of both branches > BRANCH_COST
- 
- 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/17528
- 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): Do not
- 	erase the may-alias set for a tag when merging it with
- 	another.
- 
- 2004-09-16  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.md (call): Extend 32-bit addresses to DImode
- 	for 32-bit TARGET_SHMEDIA.
- 	(call_value): Likewise.
- 
- 2004-09-16  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
- 	test apply only to TREE_STATIC and DECL_EXTERNAL.
- 
- 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.
- 	* basic-block.h (get_dominated_by_region): Declare.
- 	* dominance.c (get_dominated_by_region): New function.
- 	* tree-cfg.c: Include cfglayout.h.
- 	(tree_duplicate_bb): Duplicate also phi nodes.
- 	(struct ssa_name_map_entry): New type.
- 	(add_phi_args_after_copy_bb, add_phi_args_after_copy,
- 	ssa_name_map_entry_hash, ssa_name_map_entry_eq,
- 	allocate_ssa_names, rewrite_to_new_ssa_names_def,
- 	rewrite_to_new_ssa_names_use, rewrite_to_new_ssa_names_bb,
- 	rewrite_to_new_ssa_names, tree_duplicate_sese_region): New functions.
- 	* tree-flow.h (tree_duplicate_sese_region, add_phi_args_after_copy_bb,
- 	add_phi_args_after_copy, rewrite_to_new_ssa_names_bb,
- 	rewrite_to_new_ssa_names, allocate_ssa_names,
- 	rewrite_into_loop_closed_ssa, verify_loop_closed_ssa): Declare.
- 	* tree-ssa-loop-ch.c (duplicate_blocks): Removed.
- 	(copy_loop_headers): Use tree_duplicate_sese_region.
- 
- 2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
- 
- 2004-09-16 Jeff Law  <law@redhat.com>
- 
- 	* tree-into-ssa.c (block_defs_stack): New toplevel varray.
- 	(rewrite_block_data): Remove, no longer used.
- 	(rewrite_initialize_block_local_data): Remove, no longer used.
- 	(rewrite_initialize_block): Mark parameters as unused as needed.
- 	Change references to the block local block_defs to be block_defs_stack.
- 	Push a marker onto the block_defs_stack.
- 	(ssa_rewrite_initialize_block): Similarly.
- 	(rewrite_stmt, ssa_rewrite_stmt): Similarly.
- 	(ssa_register_new_def): No longer needs varray argument.  Use
- 	block_defs_stack instead.  No longer handle possibly null block_defs
- 	varray.  Reverse order of items we push on the stack to make it
- 	easier to identify our marker.
- 	(register_new_def): No longer handle possibly null block_defs
- 	varray.
- 	(rewrite_finalize_block): Revamp to look for markers in the global
- 	block_defs_stack varray rather than wiping a block local varray.
- 	Mark arguments as unused as needed.
- 	(ssa_rewrite_finalize_block): Similarly.
- 	(rewrite_into_ssa): Update initialization of dom walker structure
- 	to reflect that we don't need block local data anymore.  Initialize
- 	the block_defs_stack varray.
- 	(rewrite_ssa_into_ssa): Similarly.
- 	* tree-ssa-dom.c (block_defs_stack): New toplevel varray.
- 	(struct dom_walk_data): Kill block_defs field.
- 	(tree_ssa_dominator_optimize): Initialize block_defs_stack.
- 	(thread_across_edge): Use the global block_defs_stack instead of
- 	the old block_defs varray.
- 	(dom_opt_initialize_block_local_data): Update now that we don't have
- 	block_defs field to check anymore.
- 	(dom_opt_initialize_block): Push a marker onto block_defs_stack.
- 	(restore_currdefs_to_original_value): Use the new block_defs_stack
- 	instead of a block local varray.
- 	(dom_opt_finalize_block): Similarly.
- 	(record_equivalencs_from_phis): Similarly.
- 	(optimize_stmt, register_definitions_for_stmt): Similarly.
- 
- 2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	PR tree-optimization/17517
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
- 	coalesce same-root variables without checking for abnormal PHI usage.
- 
- 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* cfgloop.h (duplicate_loop):  Add prototype.
- 	* cfgloopmanip.c (duplicate_loop): Make non-static.
- 	* lambda-code.c (perfect_nestify): Factor out test whether
- 	we can handle this loop into separate function.
- 	Call it.
- 	(can_convert_to_perfect_nest): New function.
- 	(replace_uses_of_x_with_y): Add modify_stmt call.
- 	* tree-loop-linear.c (linear_transform_loops): Call
- 	rewrite_into_loop_closed_ssa and free_df.
- 
- 2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
- 	loop invariant as well.
- 	(perfect_nestify): new function.
- 	(gcc_loop_to_lambda_loop): New parameters to track lower bounds,
- 	upper bounds, and steps.
- 	Set outerinductionvar properly.
- 	(gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
- 	parameters.
- 	Return NULL if we need a perfect loop and can't make one.
- 	(lambda_loopnest_to_gcc_loopnest): Correct algorithm.
- 	(not_interesting_stmt): New function.
- 	(phi_loop_edge_uses_def): Ditto.
- 	(stmt_uses_phi_result): Ditto.
- 	(stmt_is_bumper_for_loop): Ditto.
- 	(perfect_nest_p): Ditto.
- 	(nestify_update_pending_stmts): Ditto.
- 	(replace_uses_of_x_with_y): Ditto.
- 	(stmt_uses_op): Ditto.
- 	(perfect_nestify): Ditto.
- 	* lambda-mat.c (lambda_matrix_id_p): New function.
- 	* lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
- 	* lambda.h: Update prototypes.
- 	* tree-loop-linear (linear_transform_loop): Use new
- 	perfect_nest_p. Detect and ignore identity transform.
- 	* tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
- 
- 2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree-loop-linear.c (gather_interchange_stats): Add more comments.
- 	Gather also strides of accessed data.  Pass in the data references
- 	array.
- 	(try_interchange_loops): Add a new heuristic for handling the temporal
- 	locality.  Pass in the data references array.
- 	(linear_transform_loops): Pass the data references array to
- 	try_interchange_loops.
- 
- 2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Fix typos.  Follow spelling conventions.
- 
- 2004-09-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/c-tree.texi (Classes): Remove index entries for
- 	TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
- 
- 2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* fold-const.c (fold): Fold difference of addresses.
- 	(ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
- 	get_inner_reference.
- 	* tree-ssa-loop-ivopts.c (peel_address): Removed.
- 	(ptr_difference_const): Moved to fold-const.c.
- 	(split_address_cost): Use get_inner_reference instead of peel_address.
- 	(ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
- 	* tree.h (ptr_difference_const): Export.
- 
- 	* tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
- 	variable type to the dump.  Fix indentation.
- 	(idx_find_step): Handle nonconstant array_ref_element_size and
- 	array_ref_low_bound.
- 	(idx_record_use): Handle array_ref_element_size and
- 	array_ref_low_bound.
- 	(find_interesting_uses_stmt): Handle memory = nontrivial_expression
- 	statements correctly.
- 	(get_computation_at, iv_value): Do not unshare expressions here.
- 	(rewrite_use_outer): Unshare the expression before it is emitted
- 	to code.
- 	* tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
- 	Moved to tree.c.
- 	* tree.c (unsigned_type_for, signed_type_for): Moved from
- 	tree-ssa-loop-niter.c.  Use langhooks.
- 	* tree.h (signed_type_for): Export.
- 
- 2004-09-16  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
- 	prototype.
- 
- 2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/11572
- 	* c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
- 	Add two parameters to extra_includes.
- 	(C_INCPATH_INIT): Remove.
- 	* c-incpath.c (register_include_chains): Call extra_pre_includes
- 	before adding the standard include directory.
- 	Update call to extra_includes.
- 	(!defined TARGET_EXTRA_INCLUDES): Update
- 	hook_void_charptr_charptr_int and add !define
- 	TARGET_EXTRA_PRE_INCLUDES.
- 	(!define TARGET_EXTRA_INCLUDES): Define as
- 	hook_void_charptr_charptr_int.
- 	(!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
- 	(target_c_incpath): Always declare.
- 	* fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
- 	empty function.
- 	(define TARGET_EXTRA_PRE_INCLUDES): Likewise.
- 	* config/darwin.h: (darwin_register_frameworks): Update for
- 	the two new parameters.
- 	(darwin_register_objc_includes): Add prototype.
- 	(TARGET_EXTRA_PRE_INCLUDES): Define.
- 	* config/darwin-c.c (darwin_register_objc_includes): New function.
- 	(darwin_register_frameworks): Update for the two new parameters.
- 	(target_c_incpath): Remove.
- 	* config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
- 	the compile line.
- 	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
- 	parameters.
- 	(TARGET_EXTRA_PRE_INCLUDES): Document.
- 
- 	* gcc.c (spec_function): Add replace-outfile.
- 	(replace_outfile_spec_function): New function.
- 	* config/darwin.h (LINK_SPEC): Add replace
- 	-lobjc with -lobjc-gnu if -fgnu-runtime is
- 	supplied.
- 	* invoke.texi (replace-outfile): Document.
- 
- 2004-09-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (expr_expected_value, strip_builtin_expect): New function.
- 	(tree_predict_by_opcode): Use it.
- 	(tree_estimate_probability): Add, for now disabled,
- 	strip_builtin_expect call.
- 
- 2004-09-15  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/17455
- 	* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
- 	if current_function_decl is a sibcall.
- 
- 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (default_function_rdodata_section): Make sure to pass
- 	along a decl for a link-once section.
- 
- 2004-09-15  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
- 	warning with code disable.  Fix formatting.
- 
- 2004-09-15  Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
- 	* tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
- 	after propagating into an ADDR_EXPR.
- 
- 2004-09-15  Andrew Pinski  <apinski@apple.com>
- 
- 	PR rtl-opt/17427
- 	* gcse.c (process_insert_insn): insn_invalid_p has side effects.
- 	Move it out of gcc_assert.
- 
- 2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
- 	except.c, fold-const.c, function.c, langhooks.c, params.c,
- 	reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
- 	tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
- 	for quoting in diagnostics going through pretty-print.c.  Use ''
- 	for quoting in other diagnostic text.
- 	* langhooks.c: Include intl.h.  Mark text locating diagnostics for
- 	translation.
- 	* Makefile.in (langhooks.o): Update dependencies.
- 	* pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
- 	formats.
- 
- 2004-09-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.ac: Check for COMDAT support.  Robustify check for
- 	SHF_MERGE support.
- 	* configure: Regenerated.
- 	* config.in: Likewise.
- 	* langhooks-def.h (lhd_comdat_group): New function.
- 	(LANG_HOOKS_COMDAT_GROUP): New macro.
- 	(LANG_HOOKS_DECLS): Use it.
- 	* langhooks.c (lhd_comdat_group): Define.
- 	* langhooks.h (lang_hooks_for_decls): Add comdat_group.
- 	* output.h (named_section_flags): Make it a macro.
- 	(named_section_real): New function.
- 	(default_no_named_section): Add decl parameter.
- 	(default_elf_asm_named_section): Likewise.
- 	(default_coff_asm_named_section): Likewise.
- 	(default_pe_asm_named_section): Likewise.
- 	* target.h (gcc_target): Adjust type of named_section.
- 	* varasm.c (named_section_flags): Rename to named_section_real.
- 	Add decl parameter.
- 	(default_no_named_section): Add decl parameter.
- 	(default_elf_asm_named_section): Use COMDAT, if available.  Deal
- 	with the case that ASM_COMMENT_START is "@".
- 	(default_coff_asm_named_section): Add decl parameter.
- 	(default_pe_asm_named_section): Likewise.
- 	* config/alpha/alpha.c (vms_asm_named_section): Add decl
- 	parameter.
- 	(unicosmk_asm_named_section): Likewise.
- 	* config/arm/arm.c (arm_elf_asm_named_section): Remove.
- 	* config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
- 	* config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
- 	* config/cris/cris-protos.h (cris_target_asm_named_section):
- 	Likewise.
- 	* config/cris/cris.c (cris_target_asm_named_section):
- 	Likewise.
- 	* config/darwin/darwin-protos.h (darwin_asm_named_section):
- 	Likewise.
- 	* config/darwin/darwin.c (darwin_asm_named_section): Likewise.
- 	* config/h8300/h8300.c (h8300_asm_named_section): Likewise.
- 	* config/i386/i386-protos.h (i386_pe_asm_named_section):
- 	Likewise.
- 	* config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
- 	* config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
- 	* config/mcore/mcore.c (mcore_asm_named_section): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
- 	Likewise.
- 	* config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
- 	* cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
- 	* cp/cp-tree.h (cxx_comdat_group): Declare.
- 	* cp/decl.c (cxx_comdat_group): New function.
- 
- 2004-09-15  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
- 	* tree-tailcall.c (eliminate_tail_call): Release SSA name.
- 
- 	* tree-cfg.c (remove_bb): Release SSA defs.
- 
- 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi: Follow spelling conventions.
- 
- 2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree-ssa-dom.c: Fix comment typos.
- 
- 2004-09-15  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
- 	include ccr.
- 	(ppc_fallback_frame_state): Save location of CR.
- 
- 2004-09-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (string_constant): Handle also read-only variables
- 	initialized to string literals.
- 
- 	* builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
- 	into memcpy (x, y, 1) if memcpy can be expanded inline.
- 
- 2004-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/17468
- 	* tree-ssa.c (verify_use, verify_phi_args, verify_ssa):  Verify that
- 	definition inside a block precede uses.
- 	* tree-tailcall.c (adjust_return_value): Emit statements in the
- 	correct order.
- 
- 2004-09-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
- 
- 2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (sparc-sun-solaris2*): Properly format warning.
- 
- 2004-09-14 Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (avail_exprs_stack): New global varray.
- 	(struct dom_walk_block_data): Remove avail_exprs member.
- 	(tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
- 	(lookup_avail_expr): No longer need to pass in address of
- 	the block local available exprs stack.  All callers changed.
- 	(simplify_cond_and_lookup_avail_expr): Similarly.
- 	(simplify_switch_and_lookup_avail_expr): Similarly.
- 	(get_eq_expr_value, record_cond): Likewise.
- 	(record_dominating_conditions): Likewise.
- 	(update_rhs_and_lookup_avail_expr): Likewise.
- 	(record_equivalences_from_stmt): Likewise.
- 	(dom_opt_initialize_block_local_data): No longer test state of
- 	block local avail_exprs.
- 	(dom_opt_initialize_block): Mark unwind point in the global
- 	avail_expr stack.
- 	(remove_expressions_from_table): Update to unwind to the
- 	most recent unwind marker in the global avail_expr stack.
- 	All callers changed.
- 	(dom_opt_finalize_block): Mark unwind point in the global
- 	avail_expr stack as needed.
- 	(record_cond): Push elements into the global avail_exprs stack.
- 
- 	* tree-dfa.c (free_df_for_stmt): No longer static.
- 	(free_df): Update comments.
- 	* tree-flow.h (free_df_for_stmt): Prototype.
- 	* tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
- 	call release_defs.
- 
- 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/17252
- 	* tree-ssa-alias.c (may_alias_p): Don't assume that a
- 	pointer may not point to itself when using relaxed
- 	aliasing rules.
- 
- 2004-09-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17397
- 	* gimplify.c (gimplify_addr_expr): Don't inadvertently change types
- 	while folding <ADDR_EXPR <INDIRECT_REF X>>.
- 
- 2004-09-14  Andrew Pinski  <apinski@apple.com>
- 
- 	* tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
- 	sets of the pointers but the aliasing sets of what they point to.
- 
- 2004-09-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR rtl-optimization/9771
- 	* regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
- 	conditional compilation in init_reg_sets_1.
- 	(init_reg_sets_1): Let global_regs[i] take priority over the frame
- 	(but not stack) pointer exceptions to regs_invalidated_by_call.
- 	(globalize_reg): Globalizing a fixed register may need to update
- 	regs_invalidated_by_call.
- 
- 2004-09-14  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/15262
- 	* tree-dfa.c (dump_variable): Also print the type of the
- 	variable.
- 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
- 	memory tags are of conflicting alias sets but have no aliased
- 	symbols in common, add one tag to the alias set of the other.
- 	(setup_pointers_and_addressables): Remove hack to deal with
- 	programs with no aliased symbols.
- 	(may_alias_p): Don't special case aggregate types.
- 
- 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/15498
- 	* doc/invoke.texi (Environment Variables): Correct example locale.
- 
- 2004-09-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfg.c (expunge_block): Revert previous change adding ggc_free call.
- 
- 2004-09-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc: Do not build a shared libgcc for arm-none-eabi.
- 
- 2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (struct c_declspecs): Add const_p, volatile_p and
- 	restrict_p.
- 	(struct c_declarator): Change u.array.quals and pointer_quals to
- 	int.  Add u.array.attrs.
- 	(quals_from_declspecs): New.
- 	* c-decl.c (quals_from_declspecs): New.
- 	(shadow_tag_warned): Give more specific message for useless type
- 	qualifiers.
- 	(build_array_declarator, set_array_declarator_inner,
- 	grokdeclarator, make_pointer_declarator, build_null_declspecs,
- 	declspecs_add_qual): Update for changed structures.
- 
- 2004-09-14  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
- 	to a global varray.
- 	(tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
- 	(dom_opt_initialize_block_local_data): No longer test state
- 	of stmts_to_rescan.
- 	(dom_opt_finalize_block): Update due to change in scope of
- 	stmts_to_rescan.
- 	(optimize_stmt): Similarly.
- 
- 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
- 	lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
- 	comment typos.  Follow spelling conventions.
- 
- 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
- 	config/i386/predicates.md, config/sparc/sparc.c: Follow
- 	spelling conventions.
- 
- 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 	    Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
- 	* basic-block.h (struct reorder_block_def): Add copy_number field.
- 	* cfgloop.h (biv_p): Declare.
- 	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
- 	* common.opt (fsplit-ivs-in-unroller): New flag.
- 	* loop-iv.c (biv_p): New function.
- 	* loop-unroll.c: Include hashtab.h and recog.h.
- 	(struct iv_to_split, struct split_ivs_info): New types.
- 	(analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
- 	free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
- 	determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
- 	insert_base_initialization, split_iv): New functions.
- 	(peel_loop_completely, unroll_loop_constant_iterations,
- 	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
- 	Use them.
- 	* doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
- 
- 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-cfg.c (thread_jumps): Update dominators correctly in
- 	case destination of threaded edge dominates its source.
- 
- 2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* unroll.c: Removed.
- 	* loop.h: Removed.
- 	* Makefile.in (LOOP_H, unroll.o): Removed.
- 	(toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
- 	dependency.
- 	* alias.c (init_alias_analysis): Remove flag_old_unroll_loops
- 	reference.
- 	* cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
- 	* common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
- 	* loop.c: Do not include loop.h.
- 	(LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
- 	REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
- 	struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
- 	REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
- 	struct loop_regs, struct loop_movables, struct loop_info): Moved
- 	from loop.h.
- 	(back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
- 	reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
- 	find_common_reg_term, loop_iterations, final_giv_value): Moved
- 	from unroll.c.
- 	(uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
- 	loop_dump_stream, for_each_insn_in_loop, express_from,
- 	extend_value_for_giv, loop_iv_add_mult_emit_before,
- 	loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
- 	loop_insn_first_p, get_condition_for_loop,
- 	loop_insn_emit_before, loop_insn_hoist,
- 	loop_insn_sink): Made static.
- 	(loop_invariant_p): Made static.  Removed flag_old_unroll_loops
- 	reference.
- 	(strength_reduce): Do not call unroller.
- 	(record_giv): Do not initialize unrolled field.
- 	(prescan_loop): Do not set loop_info->preconditioned.
- 	* passes.c: Do not include loop.h.
- 	(rest_of_handle_loop_optimize): Do not call unroller.
- 	* predict.c: Do not include loop.h.
- 	* rtl.h (NOTE_PRECONDITIONED): Removed.
- 	* stmt.c: Do not include loop.h.
- 	* toplev.c: Do not include loop.h.
- 	(process_options): Do not handle flag_old_unroll_loops.
- 
- 	* doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
- 	Documentation removed.
- 	* doc/passes.texi (unroll.c, loop.h): Documentation removed.
- 
- 2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (STAGE1_CHECKING): New variable.
- 	(stage1_build): Use it.
- 	* tree-ssa.c (verify_ssa): Preserve state of dominance
- 	information.
- 
- 2004-09-14  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.c (output_fp_compare): Add generation
- 	of ftst instruction.
- 	* config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
- 	Use output_fp_compare () function.
- 	(cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
- 	(fix_truncdi_memory): Remove operands[5] copy.
- 
- 2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md, config/m68k/m68kelf.h,
- 	config/mcore/mcore.md, config/rs6000/linux64.h,
- 	config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
- 	typos.
- 
- 2004-09-13  James E Wilson  <wilson@specifixinc.com>
- 
- 	* Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
- 	* gen-protos.c: Include errors.h.
- 	(progname): Delete.
- 
- 2004-09-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (predict.o): Depend on tree-scalar-evolution.h
- 	* predict.c: Include tree-scalar-evolution.h and cfgloop.h
- 	(predict_loops): Use number_of_iterations_exit to predict
- 	number of iterations on trees.
- 
- 2004-09-13  Dale Johannesen  <dalej@apple.com>
- 
- 	PR 17408
- 	PR 17409
- 	* c-decl.c (start_decl): Repair TREE_STATIC for initialized
- 	objects declared extern.
- 
- 2004-09-14  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Make args_to_push a
- 	HOST_WIDE_INT.
- 
- 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
- 	Only use TYPE_BINFO for aggregates.
- 
- 2004-09-13  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* expmed.c (synth_mult): Initialize latency.  Check cost before
- 	checking ops count.
- 
- 2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
- 
- 	* tree-ssa-operands.c (get_call_expr_operands): Added parm to
- 	add_call_clobber_ops and add_call_read_ops.
- 	(add_call_clobber_ops, add_call_read_ops): Added code to reduce
- 	the number of vdefs and vuses inserted based on analysis of global
- 	variables across calls.  * tree-dfa.c (find_referenced_vars):
- 	Needed to reset static var maps before each function is compiled.
- 	* cgraphunit.c:
- 	(static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
- 	static_vars_info,functions_to_static_vars_info,module_statics_escape,
- 	all_module_statics,searchc_env,dfs_info): New fields to support
- 	analysis of static global variables.
- 	(print_order, convert_UIDs_in_bitmap, new_static_vars_info,
- 	cgraph_reset_static_var_maps, get_global_static_vars_info,
- 	get_global_statics_not_read, get_global_statics_not_written,
- 	searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
- 	check_rhs_var, check_lhs_var, get_asm_expr_operands,
- 	process_call_for_static_vars, scan_for_static_refs,
- 	cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
- 	clear_static_vars_maps, cgraph_propagate_bits,
- 	cgraph_characterize_statics): New. Functions to support analysis
- 	of static global variables.
- 	(cgraph_mark_local_and_external_functions): Renamed from:
- 	(cgraph_mark_local_functions)
- 	(cgraph_expand_all_functions): Remove call to
- 	cgraph_mark_local_and_external_functions.
- 	(cgraph_optimize): Added driver to analyze static variables whose
- 	scope is within the compilation unit.  * cgraph.h (struct
- 	cgraph_local_info, GTY): Added statics_read, statics_written,
- 	local, calls_read_all, calls_write_all, for_functions_valid.
- 	(struct cgraph_node): Added next_cycle.  * cgraph.c
- 	(dump_cgraph_node): Added print routines for new fields.  *
- 	makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
- 	list.
- 
- 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (grokdeclarator): Correct comments about where storage
- 	class specifiers are rejected by grammar and add corresponding
- 	asserts.  Diagnose typedefs and parameters declared inline.
- 	Change warning for inline main to a pedwarn.  Only diagnose inline
- 	main if hosted.
- 	(declspecs_add_scspec): Allow duplicate "inline".
- 
- 2004-09-13  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
- 	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
- 
- 2004-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17436
- 	* tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
- 	(tree_type): Replace spare with contains_placeholder_bits.
- 	(type_contains_placeholder_1): Rename from type_contains_placeholder_p,
- 	make static.  Remove seen_types list.
- 	(type_contains_placeholder_p): New.
- 
- 2004-09-13  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
- 	(sb1_bdesc, bdesc_map, bdesc_arrays): New.
- 	(mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
- 	bdesc_arrays instead of mips_bdesc.
- 	(mips_init_builtins): Likewise.
- 	* config/mips/mips.h (TARGET_SB1): New.
- 	(HAVE_SQRT_P): Delete.
- 	* config/mips/mips.md (divide_condition): Support V2SF.
- 	(sqrt_condition, recip_condition): New.
- 	(div<mode>3): Use ANYF instead of SCALARF.
- 	(*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
- 	MODE.
- 	(*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
- 	instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
- 	instead of MODE.
- 	(sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
- 	instead of SCALARF.  Use UNITMODE instead of MODE.
- 
- 2004-09-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.in: Regenerate after removal of libbanshee.
- 
- 2004-09-13  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	PR tree-optimization/17400
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
- 	coalesce partitions when one occurs in an abnormal PHI.
- 
- 2004-09-13  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
- 	name to _new_size.
- 
- 2004-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR inline-asm/6806
- 	* cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
- 	(cselib_invalidate_rtx_note_stores): New.
- 	(cselib_record_sets, cselib_process_insn): Update to match.
- 	* cselib.h (cselib_invalidate_rtx): Declare.
- 	* postreload.c (reload_cse_simplify): Invalidate asm clobbers.
- 
- 2004-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	PR tree-opt/10528
- 	* tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
- 	after copying its argument.
- 
- 2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
- 	c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
- 	in diagnostics.  Use %' for English apostrophes.
- 	* c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
- 	(pedwarn_c90, pedwarn_c99): Use it.
- 	* c-decl.c (lookup_label): Quote label name in diagnostic.
- 	* c-parse.in (yyprint): Use ' instead of ` for left quote.
- 	* c-typeck.c (warn_for_assignment): Likewise.
- 
- 2004-09-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_schedule): New global variable.
- 	(override_options): Disable scheduling when not supported.
- 	* i386.h (x86_schedule): Declare.
- 	(TARGET_SCHEDULE): New macro.
- 
- 2004-09-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/16254
- 	* fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
- 	* tree.c, tree.h (has_cleanups): Remove.
- 
- 2004-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
- 	arguments of the phi nodes correctly.
- 
- 2004-09-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* ggc-common.c (cmp_statistics): Fix sorting.
- 
- 2004-09-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/16795
- 	* expmed.c (expand_divmod): If cheap power of 2 divide is
- 	available, use it for negative constant as well.
- 
- 2004-09-12  Andrew Pinski  <apinski@apple.com>
- 
- 	* darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
- 	size of 0.
- 
- 	* tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
- 
- 2004-09-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
- 	or minus one.
- 	(ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
- 	post-reload, and scratch NULL.
- 	* config/i386/i386.md (testqi_1): Use FLAGS_REG name.
- 	(x86_shift_adj_2): Use ix86_expand_clear.
- 	(ashldi3): Remove CMOVE expansion difference.
- 	(ashldi3_1): Remove.
- 	(*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
- 	add constraints for immediates.  New peephole for split-with-temp.
- 	Run splitter after peep2 pass.
- 	(ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
- 	(lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
- 	(setcc_2): Rename with *.
- 	* config/i386/predicates.md (reg_or_pm1_operand): New.
- 	(ashldi_input_operand): New.
- 
- 2004-09-12  Richard Henderson  <rth@redhat.com
- 
- 	* print-rtl.c (print_decl_name): New.
- 	(print_mem_expr): Use it.
- 
- 2004-09-12  Richard Henderson  <rth@redhat.com
- 
- 	PR 17186, part deux
- 	* except.c (sjlj_emit_function_exit): Fix logic locating
- 	sjlj_exit_after in final block.
- 
- 2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* common.opt: Remove flags -fmove-all-movables and
- 	-freduce-all-givs.
- 	* loop-invariant.c (find_invariants_to_move):
- 	Remove all uses of flag_move_all_movables.
- 	* loop.c (move_movables): Remove all uses of
- 	flag_move_all_movables.
- 	(strength_reduce): Remove all uses of
- 	flag_reduce_all_givs.
- 	* doc/invoke.texi: Remove documentation of flags
- 	-fremove-all-movables and -freduce-all-givs.
- 
- 2004-09-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17411
- 	* tree-sra.c (generate_element_zero): Revert recent build_int_cst
- 	change. elt->type may be a floating point type, so use fold_convert.
- 
- 2004-09-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
- 	the thing referenced as used, not the stub itself.
- 
- 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (enum c_storage_class): New.
- 	(struct c_declspecs): Add storage_class, inline_p and thread_p.
- 	* c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
- 	declarations and "auto" or "register" in file scope empty
- 	declarations.  Give more specific warnings for other cases of
- 	storage class specifiers in empty declarations.
- 	(grokdeclarator): Update for new structures.  Don't check for
- 	multiple storage classes.  Diagnose file-scope "register" if
- 	pedantic.
- 	(build_null_declspecs): Update.
- 	(declspecs_add_scspec): Update.  Diagnose multiple storage class
- 	specifiers and invalid uses of "__thread".
- 
- 2004-09-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c (tree_code_size): New function, bulk of code from tree_size.
- 	(tree_size, make_node): Use it.
- 	* tree-ssa-pre.c (init_pre): Use it.
- 	* tree.h: Prototype it.
- 
- 2004-09-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
- 	* tree-dfa.c (compute_immediate_uses, add_immediate_use,
- 	redirect_immediate_use): Use PHI_DF.
- 	* tree-flow-inline.h (stmt_ann): Abort on phi nodes.
- 	(bb_for_stmt): Use PHI_BB.
- 	(get_immediate_uses): Use PHI_DF.
- 	* tree-ssa-dse.c (max_stmt_uid): New variable.
- 	(get_stmt_uid): New function.
- 	(dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
- 	node annotations.
- 	* tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
- 	(max_uid): Renamed to max_stmt_uid.
- 	(get_stmt_uid): New function.
- 	(maybe_queue_var, single_reachable_address, determine_lsm): Do not use
- 	phi node annotations.
- 	* tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
- 	* tree.h (PHI_BB, PHI_DF): New accessor functions.
- 	(struct tree_phi_node): Add bb and df fields.
- 
- 2004-09-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17416
- 	* cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
- 	in conflict loop.
- 
- 2004-09-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
- 	(EMIT_MODE_SET): UNINITIALIZED mode needs no set.
- 	* i386.md (i387_cw): Add 'uninitialized' mode.
- 
- 	* profile.c (BB_TO_GCOV_INDEX): move more to the front.
- 	(output_location): Break out from ....
- 	(branch_prob): ... here; handle gcov output on trees.
- 	* toplev.c (process_options): No longer be sorry about coverage for
- 	trees.
- 
- 2004-09-11  Steven Bosscher  <stevenb@suse.de>
- 
- 	PR c++/17412
- 	* fold-const.c (fold): Do not try to fold the operand of a
- 	CLEANUP_POINT_EXPR if that operand does itself not have any
- 	operands.
- 
- 	PR middle-end/17417
- 	* langhooks.c (lhd_decl_printable_name): Make sure that this
- 	function is called with is a decl node that has an identifier.
- 	* tree-pretty-print.c (dump_function_name): New function to
- 	wrap PRINT_FUNCTION_NAME and dump_decl_name.
- 	(print_call_name): Use it.
- 
- 2004-09-11  Mohan Embar  <gnustuff@thisiscool.com>
- 
- 	* ggc-none.c: Include "bconfig.h" if -DGENERATOR_FILE,
- 	"config.h" if not.
- 
- 2004-09-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree-ssa-alias.c (collect_points_to_info_r): Handle
- 	pointing to PTR + OFFSET as PTR, not as pointing to PTR or pointing
- 	to OFFSET.
- 
- 2004-09-11  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr_addr_expr_1) Rename from expand_expr_addr_expr.
- 	(expand_expr_addr_expr): New function.  Take ADDR_EXPR instead of the
- 	operand of the ADDR_EXPR.
- 	(expand_expr_real_1): Update to match.
- 
- 2004-09-11  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/17277
- 	* config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
- 	choose 64-bit version.
- 
- 2004-09-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/17396
- 	* c-typeck.c (build_unary_op): Add legacy offsetof hack.
- 
- 2004-09-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/cfg.texi, doc/hostconfig.texi, doc/install.texi,
- 	doc/invoke.texi, doc/md.texi, doc/tm.texi, doc/tree-ssa.texi:
- 	Insert @: after i.e. or e.g.
- 
- 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree-pretty-print.c (dump_decl_name): Print unnamed decls as
- 	D.xxx rather than <Dxxx>.
- 
- 2004-09-10  Adam Nemet  <anemet@lnxw.com>
- 
- 	* configure.ac (AC_MSG_CHECKING(what linker to use)):
- 	in_tree_ld_is_elf should be true for LynxOS.
- 	* configure: Regenerate.
- 
- 2004-09-10  Adam Nemet  <anemet@lnxw.com>
- 
- 	* Makefile.in (all.cross): Add srcextra.
- 
- 2004-09-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17024
- 	* fold-const.c (fold_cond_expr_with_comparison): Handle unordered
- 	floating point comparison operators.  Change aborts to gcc_asserts.
- 
- 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* final.c (output_asm_insn): Correct problem with -fverbose-asm.
- 
- 2004-09-10  James E Wilson  <wilson@specifixinc.com>
- 
- 	* Makefile.in (LIBGCC_DEPS): Delete duplicate stmp-int-hdrs reference.
- 	(stmp-fixproto): Change stmp-int-headers to stmp-int-hdrs in comment.
- 
- 	* convert.c (convert_to_vector): Replace recursive call with
- 	error_mark_node.
- 
- 	* emit-rtl.c (gen_const_vector): Renamed from gen_const_vector_0.
- 	Add integer argument named constant.  Use const_tiny_rtx instead of
- 	CONST0_RTX.
- 	(gen_rtx_CONST_VECTOR): Rewrite to handle checks for both CONST0_RTX
- 	and CONST1_RTX.
- 	(init_emit_once): Fix users of gen_const_vector.  Set CONST1_RTX for
- 	vector types.
- 	* expr.c (const_vector_from_tree): Call gen_rtx_CONST_VECTOR instead
- 	of gen_rtx_raw_CONST_VECTOR.
- 
- 2004-09-10  Eric Christopher  <echristo@redhat.com>
- 
- 	PR c/16046
- 	* c-parse.in (attribute): Add NULL_TREE for error case
- 	for error recovery.
- 
- 2004-09-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.h (struct c_fileinfo): Comment moved here from cp-tree.h.
- 	(extract_interface_info): Delete prototype.
- 	* c-decl.c (extract_interface_info): Delete stub.
- 	* c-lex.c (get_fileinfo): Initialize file_info_tree here, if
- 	it's not already been done ...
- 	(init_c_lex): ... not here.
- 	(fe_file_change): Don't call extract_interface_info.
- 
- 2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (struct c_declspecs): Remove typedef_decl.  Add
- 	typedef_p and typedef_signed_p.
- 	* c-decl.c (shadow_tag_warned): Check typedef_p, not typedef_decl.
- 	(grokdeclarator): Don't use typedef_decl for warn_deprecated_use.
- 	Check typedef_p and typedef_signed_p, not typedef_decl.
- 	(grokfield): Check typedef_p, not typedef_decl.
- 	(build_null_declspecs): Initialize typedef_p and typedef_signed_p,
- 	not typedef_decl.
- 	(declspecs_add_type): Set typedef_p and typedef_signed_p, not
- 	typedef_decl.
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/tm.texi, doc/tree-ssa.texi: Fix typos.
- 
- 2004-09-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gimplify.c (create_tmp_var_raw): Don't name otherwise-nameless
- 	temporary variables.
- 
- 	* dbxout.c (dbxout_block): Update for
- 	current_function_func_begin_label a string.
- 	* dwarf2out.c (dwarf2out_begin_prologue): Likewise.
- 	* except.c (dw2_output_call_site_table): Likewise.
- 	* toplev.c (current_function_func_begin_label): Likewise.
- 	* tree.h (current_function_func_begin_label): Likewise.
- 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Likewise.
- 
- 	* final.c (output_asm_insn): Use strtoul instead of atoi, save a
- 	loop.
- 
- 	* config/darwin.c: Include target.h.
- 	(struct machopic_indirection): Make ptr_name a string.
- 	(machopic_indirection_hash): Update for ptr_name a string.
- 	(machopic_indirection_eq): Likewise.
- 	(machopic_indirection_name): Likewise.
- 	(machopic_output_indirection): Likewise.
- 	(machopic_validate_stub_or_non_lazy_ptr): Update for ptr_name a
- 	string.  Don't expect stub names to be in the identifier hash table.
- 	Do call strip_name_encoding before looking up entry in ID hash table.
- 	* config/t-darwin (darwin.o): Add target.h to dependencies.
- 
- 	* gcc/config/rs6000/rs6000.c (print_operand): Use fputs instead
- 	of fprintf for register names.
- 
- 	* output.h (unlikely_section_label): Delete declaration.
- 	(unlikely_text_section_name): Likewise.
- 	* varasm.c (unlikely_section_label_printed): Make static.
- 	(unlikely_section_label): Likewise.
- 	(unlikely_text_section_name): Likewise.
- 	(assemble_start_function): Use reconcat.
- 
- 	* rtl.def (REG): Add comment to describe third field.
- 
- 2004-09-10  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_mcount_stub_name): Call
- 	machopic_indirection_name instead of making the string
- 	ourselves.
- 
- 2004-09-10  Diego Novillo  <dnovillo@redhat.com>
- 
- 	Revert
- 
- 	2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
- 
- 	    * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
- 	    memory tag is call clobbered, so are its aliases.
- 	    (group_aliases): When two memory tags being grouped, if one is
- 	    call clobbered, so are the other and its aliases.
- 	    (add_may_alias): Remove call-clobbering stuff.
- 	    (replace_may_alias): Likewise.
- 	    (merge_pointed_to_info): Merge pt_global_mem
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bb-reorder.c, c-common.c, c-incpath.c, c-typeck.c,
- 	genrecog.c, lambda-code.c, mips-tdump.c, mips-tfile.c,
- 	passes.c, tree-data-ref.c, tree-data-ref.h, tree-mudflap.c,
- 	tree-scalar-evolution.c, tree-ssa-copyrename.c,
- 	tree-ssa-live.c, tree-ssa-live.h: Fix comment typos.
- 
- 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.md (UNSPEC_MASACCS, UNSPEC_MDASACCS): New constants.
- 	(maddaccs, msubaccs, *maddacc): Turn operand 0 into a single ACC/ACCG
- 	pair.  Remove match_dup from inputs.  Remove masaccs handling.
- 	(mdaddaccs, mdsubaccs, *mdaddacc): Likewise a dual ACC/ACCG pair.
- 	(masaccs, mdasaccs): Turn into define_insns.
- 
- 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* tree-tailcall.c (process_assignment): Only do accumulator transforms
- 	for floating-point types if flag_unsafe_math_optimizations.
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/darwin.c, config/alpha/alpha.h, config/arm/arm.c,
- 	config/arm/arm.h, config/arm/arm.md, config/arm/bpabi.h,
- 	config/arm/predicates.md, config/frv/frv.c, config/frv/frv.md,
- 	config/h8300/h8300.md, config/i386/gmm_malloc.h,
- 	config/ia64/ia64.md, config/ip2k/libgcc.S,
- 	config/mips/mips-ps-3d.md, config/mips/mips.c,
- 	config/rs6000/rs6000.c, config/s390/s390.c,
- 	config/sh/symbian.c: Fix comment typos.
- 
- 2004-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Added missing
- 	"{}" brackets.
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fix
- 	typos.  Follow spelling conventions.
- 
- 2004-09-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* toplev.c (warn_deprecated_use): Correct logic for saying "type"
- 	in diagnostic.  Don't dereference NULL TYPE_NAME.
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, c-pch.c, defaults.h, lambda-code.c, passes.c,
- 	tree-data-ref.c, tree-flow.h, tree-ssa-operands.c,
- 	tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
- 	value-prof.c: Fix comment typos.  Follow spelling conventions.
- 
- 2004-09-10  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-dce.c (remove_dead_stmt): Update profile.
- 	* tree-split_edge.c (tree_split_edge): Likewise.
- 	(thread_jumps): Likewise.
- 
- 2004-09-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cgraphunit.c, predict.c, tree-ssa-loop-ivopts.c: Fix comment
- 	typos.
- 
- 2004-09-10  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* cgraph.h (cgraph_dump_file): Do not declare.
- 	* cgraphunit.c (cgraph_dump_file): Declare as static.
- 	(init_cgraph): New.
- 	* toplev.c (cgraph_dump_file): Do not declare.
- 	(compile_file): Call init_cgraph.
- 	* tree-dump.c (dump_files): Add IPA dump file, remove
- 	XML dump of call graph.
- 	(get_dump_file_name): Support IPA dump file naming scheme.
- 	* tree.h (enum tree_dump_index): Add IPA dump file, remove
- 	XML dump of call graph.
- 	* doc/invoke.texi (Debugging Options): Document the new options.
- 
- 2004-09-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/extend.texi: Document the FR-V built-in functions.
- 
- 2004-09-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	* doc/sourcebuild.texi: Delete libbanshee reference.
- 
- 2004-09-10  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* Makefile.in (s-gtype): Add $(build_exeext) to gengtype command.
- 
- 2004-09-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	* c-typeck.c (convert_for_assignment): Check that rhs has VECTOR_TYPE
- 	before calling vector_types_convertible_p.
- 	(digest_init): Check that inside_init has VECTOR_TYPE before calling
- 	vector_types_convertible_p.  Don't give another error if
- 	convert_for_assignment returns error_mark_node.
- 
- 2004-09-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/17055
- 	* fold-const.c (build_zero_vector): New function to construct a
- 	vector (either floating point or integer) of zeros.
- 	(fold_convert): Internally, enable conversions of integer zero
- 	to arbitrary vector types, using the new build_zero_vector.
- 
- 2004-09-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (ix86_expand_ashlsi3_const): New function to
- 	expand a left shift by an immediate constant as either an ashl or
- 	a sequence of additions.
- 	(ix86_split_ashldi): Use new ix86_expand_ashlsi3_const function
- 	instead of calling gen_ashlsi3 with a constant directly.
- 
- 2004-09-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (ix86_split_long_move): When optimizing for
- 	size, and the low and high parts of a DImode constant are equal,
- 	copy one register to another instead of loading the same immediate
- 	value twice.
- 
- 2004-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17367
- 	* function.c (assign_parm_setup_block): Only put PARALLELs into
- 	a register if use_register_for_decl.
- 
- 2004-09-09  Eric Christopher  <echristo@redhat.com>
- 
- 	* ra-colorize.c (reset_lists): Move variable declaration inside
- 	ENABLE_CHECKING to avoid unused variable warnings when
- 	not --enable-checking.
- 	(check_colors): Ditto.
- 
- 2004-09-09  Mike Stump  <mrs@apple.com>
- 
- 	* version.c (version_string): Bump to 4.0.0.
- 	* doc/include/gcc-common.texi (version-GCC): Likewise.
- 
- 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* doc/extend.texi (nothrow attribute): The attribute is not
- 	implemented in 3.2 and earlier.
- 
- 2004-09-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* genrecog.c (compute_predicate_codes): Use op0_codes
- 	instead of codes.
- 
- 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* ra-colorize.c (hardregset_to_string): Adapt to HARD_REG_SET
- 	implementation changes.
- 
- 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* combine.c (try_combine): When swapping i2 and i3, newi2pat may be
- 	a PARALLEL instead of a SET due to added clobbers.
- 
- 2004-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads_address): Pass correct operand to
- 	maybe_memory_address_p.
- 
- 2004-09-09  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in: Remove libbanshee, tree-alias-*.
- 	Remove tree-alias-common.h dependencies.
- 	* common.opt: Remove -ftree-points-to.
- 	* configure.ac: Remove libbanshee.
- 	* flags.h: Remove pta_type, flag_tree_points_to.
- 	* gengtype.c (open_base_files): Remove tree-alias-type.h.
- 	* opts.c (OPT_ftree_points_to): Remove.
- 	* toplev.c: Remove tree-alias-common.h, flag_tree_points_to.
- 	* tree-dfa.c: Remove tree-alias-common.h
- 	* tree-into-ssa.c: Ditto.
- 	* tree-outof-ssa.c: Ditto.
- 	* tree-ssa-copyrename.c: Ditto.
- 	* tree-ssa-live.c: Ditto.
- 	* tree-optimize.c: Ditto.
- 	* tree-ssa.c: Ditto.
- 	Remove pass_build_pta, pass_del_pta.
- 	* tree-pass.h: Ditto.
- 	* tree-ssa-alias.c: Remove tree-alias-common.h.
- 	(struct alias_stats_d):	Remove pta_queries, pta_resolved.
- 	(pass_may_alias): Remove PROP_pta requirement.
- 	(may_alias_p): Remove pta_queries, pta_resolved, use of andersens.
- 	(get_tmt_for): Ditto.
- 	(dump_alias_stats): Ditto.
- 	* doc/passes.texi: Remove blurb about points-to analysis.
- 	* fortran/Make-lang.in: Remove tree-alias-*.o.
- 
- 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* genattrtab.c (write_insn_cases): New function, split out from
- 	write_attr_case.  Correctly handle define_peepholes when printing
- 	the instruction name.
- 	(write_attr_case, write_const_num_delay_slots): Use write_insn_cases.
- 
- 2004-09-09  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/17377
- 	* config/cris/cris-protos.h (cris_return_address_on_stack): Declare.
- 	* config/cris/cris.c (cris_return_address_on_stack): New function.
- 	* config/cris/cris.md ("return"): For location of return address,
- 	also check cris_return_address_on_stack.
- 
- 2004-09-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-outof-ssa.c (coalesce_abnormal_edges): Fix typo in
- 	calling phi_ssa_name_p.
- 
- 2004-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/17322
- 	* c-typeck.c (valid_compound_expr_initializer): Use only
- 	initializer_constant_valid_p, and not TREE_CONSTANT.
- 	(digest_init): Likewise.
- 	(output_init_element): Likewise.
- 
- 2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 
- 	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
- 	live_out_1, prune_hardregs_for_mode, init_one_web_common,
- 	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
- 	record_conflict, compare_and_free_webs, init_webs_defs_uses,
- 	parts_to_webs_1, parts_to_webs, reset_conflicts,
- 	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
- 	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
- 	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
- 	put_move, remove_move, combine, select_spill, colorize_one_web,
- 	try_recolor_web, insert_coalesced_conflicts, check_colors,
- 	break_precolored_alias, restore_conflicts_from_coalesce,
- 	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
- 	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
- 	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
- 	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
- 	check_df): Likewise.
- 	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
- 	real_arithmetic, real_compare, real_exponent, real_ldexp,
- 	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
- 	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
- 	real_digit, real_nan, real_maxval, round_for_format, real_convert,
- 	real_to_target, real_from_target, real_hash, encode_ieee_single,
- 	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
- 	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
- 	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
- 	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
- 	extract_insn, peep2_next_insn, peep2_reg_dead_p,
- 	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
- 	if_test_bypass_p): Likewise.
- 	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
- 	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
- 	emit_swap_insn, swap_to_top, move_for_stack_reg,
- 	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
- 	compensate_edge, convert_regs_1): Likewise.
- 	* regclass.c (init_reg_sets, init_reg_sets_1,
- 	memory_move_secondary_cost): Likewise.
- 	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
- 	Likewise.
- 	* reload.c (push_secondary_reload, find_valid_class, push_reload,
- 	operands_match_p, decompose, immune_p, find_reloads,
- 	find_reloads_toplev, find_reloads_address_1, subst_reloads,
- 	copy_replacements, refers_to_regno_for_reload_p,
- 	reg_overlap_mentioned_for_reload_p): Likewise.
- 	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
- 	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
- 	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
- 	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
- 	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
- 	do_output_reload, fixup_abnormal_edges): Likewise.
- 	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
- 	fill_slots_from_thread, relax_delay_slots): Likewise.
- 	* resource.c (mark_referenced_resources, mark_set_resources):
- 	Likewise.
- 	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
- 	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
- 	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
- 	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
- 	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
- 	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
- 	* rtlhooks.c (gen_lowpart_general): Likewise.
- 	* sbitmap.c (sbitmap_difference): Likewise.
- 	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
- 	sched_analyze, add_forward_dependence): Likewise.
- 	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
- 	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
- 	schedule_insns): Likewise.
- 	* sched-vis.c (print_pattern): Likewise.
- 	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
- 	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
- 	simplify_const_relational_operation, simplify_ternary_operation,
- 	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
- 	Likewise.
- 	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
- 	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
- 	resolve_operand_name_1, expand_return, expand_decl,
- 	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
- 	* stor-layout.c (put_pending_size, smallest_mode_for_size,
- 	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
- 	set_sizetype, get_mode_bounds): Likewise.
- 
- 2004-09-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* defaults.h (MULTIPLE_SYMBOL_SPACES): Provide default.
- 	* config/arm/pecoff.h, config/i386/beos-elf.h
- 	* config/i386/cygming.h, config/i386/i386-interix.h:
- 	Define MULTIPLE_SYMBOL_SPACES to 1, not nothing.  Remove
- 	comment cloned from manual.
- 	* doc/tm.texi: Update description of MULTIPLE_SYMBOL_SPACES.
- 
- 2004-09-09  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* builtins.c (build_va_arg_indirect_ref): New function.
- 	(std_gimplify_va_arg_expr): Call it instead of mudflap check and
- 	build_fold_indirect_ref.
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
- 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Ditto.
- 	* tree.h: Declare new function.
- 
- 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cgraphunit.c (cgraph_mark_functions_to_output): Renable node
- 	dumping for development builds.
- 	* emit-rtl.c (verify_rtx_sharing): Give verbose failure for
- 	development builds only.
- 	* genattrtab.c (write_eligible_delay): Fix typo in previous
- 	commit.
- 	* tree.c (iterative_hash_expr): Replace gcc_unreachable with
- 	gcc_assert.
- 
- 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcse.c (INSN_CUID, insert_set_in_table, find_avail_set,
- 	cprop_insn, do_local_cprop, local_cprop_pass, find_bypass_set,
- 	process_insert_insn, insert_insn_end_bb, pre_insert_copy_insn,
- 	hoist_code, extract_mentioned_regs_helper, compute_store_table,
- 	insert_store): Use gcc_assert and gcc_unreachable.
- 	* ggc-common.c (ggc_splay_alloc, ggc_splay_dont_free,
- 	gt_pch_note_object, gt_pch_note_reorder, relocate_ptrs,
- 	ggc_record_overhead): Likewise.
- 	* ggc-page.c (alloc_page, free_page, ggc_set_mark, ggc_marked_p,
- 	init_ggc, ggc_push_context, ggc_recalculate_in_use_p,
- 	ggc_pop_context, clear_marks, validate_free_objects,
- 	ggc_pch_read): Likewise.
- 	* ggc-zone.c (ggc_allocated_p, free_chunk, ggc_set_mark,
- 	ggc_marked_p, ggc_get_size, init_ggc, destroy_ggc_zone,
- 	ggc_push_context, check_cookies, ggc_collect,
- 	ggc_print_statistics): Likewise.
- 	* gimple-low.c (lower_function_body, lower_stmt,
- 	lower_bind_expr): Likewise.
- 	* gimplify.c (gimple_tree_eq, push_gimplify_context,
- 	pop_gimplify_context, gimple_pop_condition, create_tmp_var,
- 	declare_tmp_vars, gimple_add_tmp_var, annotate_all_with_locus,
- 	mostly_copy_tree_r, gimplify_return_expr, gimplify_switch_expr,
- 	gimplify_case_label_expr, gimplify_exit_block_expr,
- 	canonicalize_component_ref, gimplify_compound_lval,
- 	gimplify_self_mod_expr, gimplify_call_expr,
- 	gimplify_init_ctor_eval, gimplify_init_constructor,
- 	gimplify_modify_expr, gimplify_save_expr, gimplify_target_expr,
- 	gimplify_expr, check_pointer_types_r,
- 	force_gimple_operand): Likewise.
- 	* global.c (global_alloc, build_insn_chain): Likewise.
- 	* graph.c (clean_graph_dump_file,
- 	finish_graph_dump_file): Likewise.
- 	gcov-io.c (gcov_open): Use GCOV_CHECK.
- 
- 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/frv/frv.c (acc_operand, accg_operand): Use REGNO.
- 
- 2004-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	middle-end/17128
- 	* tree-inline.c (expand_call_inline): Make overactive sanity check
- 	happy.
- 
- 2004-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (peel_address): Fix abort on
- 	VIEW_CONVERT_EXPR.
- 
- 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (gengtype): Use $(BUILD_ERRORS).
- 	(gengtype.o): Depend on errors.h.
- 	* genattrtab.c (strcmp_check): Use gcc_assert and gcc_unreachable.
- 	(attr_rtx_1, attr_printf, attr_copy_rtx, evaluate_eq_attr,
- 	attr_alt_subset_p, attr_alt_subset_of_compl_p,
- 	attr_alt_intersection, attr_alt_union, optimize_attrs, gen_insn,
- 	write_test_expr, write_attr_value, write_eligible_delay,
- 	make_internal_attr, make_numeric_value): Likewise.
- 	* genautomata.c (regexp_name, get_str_vect,
- 	gen_presence_absence_set, automaton_decl_hash,
- 	automaton_decl_eq_p, insn_decl_hash, insn_decl_eq_p, decl_hash,
- 	decl_eq_p, process_regexp, loop_in_regexp, check_loops_in_regexps,
- 	process_regexp_cycles, reserv_sets_cmp, set_unit_reserv,
- 	test_unit_reserv, it_is_empty_reserv_sets,
- 	reserv_sets_are_intersected, reserv_sets_shift, reserv_sets_or,
- 	reserv_sets_and, output_cycle_reservs, get_free_state,
- 	intersected_state_reservs_p, states_union, remove_arc,
- 	copy_insn_regexp, transform_1, transform_2, transform_3,
- 	regexp_transform_func, store_alt_unit_usage,
- 	check_regexp_units_distribution, process_seq_for_forming_states,
- 	process_alts_for_forming_states, make_automaton,
- 	form_arcs_marked_by_insn, create_composed_state,
- 	set_out_arc_insns_equiv_num, partition_equiv_class,
- 	process_insn_equiv_class, set_insn_equiv_classes,
- 	units_to_automata_heuristic_distr, form_regexp,
- 	longest_path_length, output_dfa_max_issue_rate, add_vect,
- 	out_state_arcs_num, add_vect_el, output_trans_table,
- 	output_state_alts_table, output_dead_lock_vect,
- 	output_max_insn_queue_index_def,
- 	output_min_insn_conflict_delay_func,
- 	output_internal_insn_latency_func, output_print_reservation_func,
- 	output_cpu_unit_reservation_p, output_state_arcs,
- 	make_insn_alts_attr, make_internal_dfa_insn_code_attr,
- 	make_default_insn_latency_attr,
- 	form_important_insn_automata_lists): Likewise.
- 	* genemit.c (gen_exp, output_add_clobbers,
- 	output_added_clobbers_hard_reg_p): Likewise.
- 	* genextract.c (print_path, main): Likewise.
- 	* genflags.c (gen_macro): Likewise.
- 	* gengenrtl.c: Include errors.h
- 	(type_from_format, accessor_from_format): Likewise.
- 	* gengtype.c (get_file_basename, output_mangled_typename,
- 	walk_type, write_types_process_field,
- 	write_types_local_process_field): Likewise.
- 	* genmodes.c (complete_mode): Likewise.
- 	* genopinit.c (gen_insn): Likewise.
- 	* genoutput.c (output_insn_data, check_constraint_len,
- 	constraint_len): Likewise.
- 	* genpreds.c (add_mode_tests):Likewise.
- 	* gen-protos.c (add_hash): Likewise.
- 	* genrecog.c (find_operand, find_matching_operand,
- 	validate_pattern, add_to_sequence, maybe_both_true,
- 	nodes_identical_1, merge_trees, write_switch, write_cond,
- 	write_action, is_unconditional, make_insn_sequence,
- 	debug_decision_2): Likewise.
- 	* gensupport.c (is_predicable, collect_insn_data,
- 	alter_predicate_for_insn, maybe_eval_c_test): Likewise.
- 
- 2004-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (guess_outgoing_edge_probabilities): Declare.
- 	* cfgbuild.c (compute_outgoing_frequencies): When probability is
- 	missing, guess it.
- 	(find_many_sub_basic_blocks): Do update profile only when it is
- 	present.
- 	* predict.c (set_even_probabilities): Break out from ...
- 	(combine_predictions_for_insn): ... here; deal with
- 	!can_predict_insn_p insns.
- 	(combine_predictions_for_bb): Use set_even_probabilities.
- 	(bb_estimate_probability_locally): Break out from ....
- 	(estimate_probability): ... here.
- 	(guess_outgoing_edge_probabilities): New entry point.
- 
- 2004-09-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcc.c (add_sysrooted_prefix, execute, do_self_spec, do_spec_1,
- 	handle_braces, process_brace_body, main, used_arg,
- 	set_multilib_dir, print_multilib_info): Use fatal, not abort.
- 
- 	* tree-nested.c (create_tmp_var_for): Correct missinverted assert.
- 
- 	* tree-outof-ssa.c (free_temp_expr_table): Add missed assert.
- 	* tree-ssa-ccp.c (set_lattice_value): Correct missapplied de
- 	Morgan's theorem in last checkin.
- 
- 2004-09-09  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
- 	    Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* targhooks.c (default_unwind_emit, default_scalar_mode_supported_p):
- 	Use gcc_assert, gcc_unreachable & internal_error instead of abort.
- 	* timevar.c (timevar_push, timevar_pop, timevar_start,
- 	timevar_stop): Likewise.
- 	* toplev.c (default_pch_valid_p): Likewise.
- 	* tracer.c (tail_duplicate): Likewise.
- 	* tree-alias-common.c (get_alias_var_decl,
- 	get_values_from_constructor, create_alias_var, delete_alias_vars,
- 	empty_points_to_set, same_points_to_set, ptr_may_alias_var):
- 	Likewise.
- 	* tree.c (tree_size, make_node_stat, copy_node_stat,
- 	build_int_cst_wide, integer_all_onesp, list_length, chainon,
- 	tree_node_structure, type_contains_placeholder_p, substitute_in_expr,
- 	substitute_placeholder_in_expr, tabilize_reference_1, build0_stat,
- 	build1_stat, build2_stat, build3_stat, build4_stat, is_attribute_p,
- 	lookup_attribute, type_hash_canon, host_integerp, iterative_hash_expr,
- 	build_method_type_directly, decl_type_context, get_callee_fndecl,
- 	get_set_constructor_bits, build_vector_type_for_mode, int_cst_value,
- 	tree_fold_gcd): Likewise.
- 	* tree-cfg.c (create_bb, make_ctrl_stmt_edges, make_exit_edges,
- 	make_cond_expr_edges, group_case_labels, tree_merge_blocks,
- 	cleanup_control_expr_graph, find_taken_edge,
- 	find_taken_edge_switch_expr, phi_alternatives_equal,
- 	is_ctrl_altering_stmt, disband_implicit_edges, set_bb_for_stmt,
- 	stmt_for_bsi, tree_find_edge_insert_loc, bsi_insert_on_edge_immediate,
- 	tree_split_edge, tree_verify_flow_info, thread_jumps,
- 	tree_redirect_edge_and_branch, tree_flow_call_edges_add): Likewise.
- 	* tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
- 	chrec_fold_multiply_poly_poly): Likewise.
- 	* tree-complex.c (extract_component, expand_complex_division,
- 	expand_complex_comparison, expand_complex_operations_1,
- 	build_replicated_const, expand_vector_operations_1): Likewise.
- 	* tree-data-ref.c (tree_fold_bezout, build_classic_dist_vector,
- 	build_classic_dir_vector): Likewise.
- 	* tree-dfa.c (compute_immediate_uses_for_phi,
- 	compute_immediate_uses_for_stmt, create_var_ann, create_stmt_ann,
- 	create_tree_ann, collect_dfa_stats, get_virtual_var): Likewise.
- 	* tree-dump.c (dequeue_and_dump): Likewise.
- 	* tree-eh.c (record_stmt_eh_region, add_stmt_to_eh_region,
- 	record_in_finally_tree, replace_goto_queue_1,
- 	maybe_record_in_goto_queue, verify_norecord_switch_expr,
- 	do_return_redirection): Likewise.
- 	* tree-if-conv.c (tree_if_convert_stmt, tree_if_convert_cond_expr,
- 	add_to_dst_predicate_list, find_phi_replacement_condition,
- 	replace_phi_with_cond_modify_expr, get_loop_body_in_if_conv_order):
- 	Likewise.
- 	* tree-inline.c (remap_decl, remap_type, remap_decls, copy_body_r,
- 	initialize_inlined_parameters, declare_return_variable,
- 	estimate_num_insns_1, expand_call_inline, expand_calls_inline,
- 	optimize_inline_calls, copy_tree_r): Likewise.
- 	* tree-into-ssa.c (rewrite_initialize_block_local_data, rewrite_stmt,
- 	ssa_rewrite_stmt, rewrite_into_ssa): Likewise.
- 	* tree-iterator.c (alloc_stmt_list, tsi_link_before, tsi_link_after,
- 	tsi_split_statement_list_after, tsi_split_statement_list_before):
- 	Likewise.
- 	* tree-mudflap.c (mf_varname_tree): Likewise.
- 	* tree-nested.c (create_tmp_var_for, lookup_field_for_decl,
- 	lookup_tramp_for_decl, convert_all_function_calls): Likewise.
- 	* tree-optimize.c (tree_rest_of_compilation): Likewise.
- 	* tree-outof-ssa.c (create_temp, eliminate_build, eliminate_phi,
- 	coalesce_abnormal_edges, coalesce_ssa_name, eliminate_virtual_phis,
- 	free_temp_expr_table, add_dependance, finish_expr, rewrite_trees):
- 	Likewise.
- 	* tree-phinodes.c (resize_phi_node, add_phi_arg,
- 	remove_all_phi_nodes_for): Likewise.
- 	* tree-pretty-print.c (op_prio, print_call_name): Likewise.
- 	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
- 	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Likewise.
- 	* tree-sra.c (type_can_instantiate_all_elements, sra_hash_tree,
- 	sra_elt_eq, sra_walk_expr, instantiate_missing_elements,
- 	generate_one_element_ref, generate_element_copy,
- 	generate_element_zero, scalarize_copy, scalarize_init,
- 	scalarize_ldst): Likewise.
- 	* tree-ssa-alias.c (delete_alias_info, group_aliases, may_alias_p,
- 	add_may_alias, add_pointed_to_expr, add_pointed_to_var,
- 	collect_points_to_info_r, get_tmt_for, get_ptr_info): Likewise.
- 	* tree-ssa.c (walk_use_def_chains, check_phi_redundancy): Likewise.
- 	* tree-ssa-ccp.c (dump_lattice_value, get_default_value, get_value,
- 	set_lattice_value, likely_value, ccp_visit_phi_node, visit_assignment,
- 	widen_bitfield, ccp_fold_builtin): Likewise.
- 	* tree-ssa-copy.c (may_propagate_copy, merge_alias_info,
- 	replace_exp_1, propagate_tree_value): Likewise.
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
- 	* tree-ssa-dce.c (set_control_dependence_map_bit,
- 	find_control_dependence, find_pdom, mark_operand_necessary,
- 	mark_stmt_if_obviously_necessary,
- 	mark_control_dependent_edges_necessary, remove_dead_stmt): Likewise.
- 	* tree-ssa-dom.c (dom_opt_initialize_block_local_data,
- 	simplify_switch_and_lookup_avail_expr, cprop_into_successor_phis,
- 	eliminate_redundant_computations, avail_expr_eq): Likewise.
- 	* tree-ssa-dse.c (fix_stmt_v_may_defs): Likewise.
- 	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p,
- 	duplicate_blocks): Likewise.
- 	* tree-ssa-loop-im.c (for_each_index, set_level,
- 	is_call_clobbered_ref): Likewise.
- 	* tree-ssa-loop-ivopts.c (dump_use, divide, stmt_after_ip_normal_pos,
- 	stmt_after_increment, set_iv, contains_abnormal_ssa_name_p,
- 	find_interesting_uses_outer_or_nonlin, add_derived_ivs_candidates,
- 	peel_address, ptr_difference_cost, may_replace_final_value,
- 	determine_use_iv_cost, rewrite_use_nonlinear_expr, rewrite_use_outer,
- 	rewrite_use, rewrite_uses): Likewise.
- 	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
- 	check_loop_closed_ssa_use): Likewise.
- 	* tree-ssanames.c (make_ssa_name): Likewise.
- 	* tree-ssa-operands.c (finalize_ssa_defs, finalize_ssa_uses,
- 	finalize_ssa_v_must_defs, finalize_ssa_stmt_operands,
- 	get_stmt_operands, get_expr_operands, get_asm_expr_operands,
- 	get_indirect_ref_operands, add_stmt_operand): Likewise.
- 	* tree-ssa-pre.c (value_exists_in_set_bitmap,
- 	value_remove_from_set_bitmap, bitmap_insert_into_set, insert_into_set,
- 	phi_translate, valid_in_set, compute_antic,
- 	find_or_generate_expression, create_expression_by_pieces, insert_aux,
- 	create_value_expr_from, eliminate): Likewise.
- 	* tree-ssa-propagate.c (cfg_blocks_get): Likewise.
- 	* tree-ssa-threadupdate.c (remove_last_stmt_and_useless_edges):
- 	Likewise.
- 	* tree-tailcall.c (independent_of_stmt_p, adjust_return_value,
- 	eliminate_tail_call): Likewise.
- 	* tree-vectorizer.c (vect_create_index_for_array_ref,
- 	vect_align_data_ref, vect_create_data_ref,
- 	vect_create_destination_var, vect_get_vec_def_for_operand,
- 	vect_finish_stmt_generation, vect_transform_stmt,
- 	vect_transform_loop_bound, vect_transform_loop,
- 	vect_analyze_operations): Likewise.
- 	* tree-vn.c (vn_compute, set_value_handle, get_value_handle):
- 	Likewise.
- 	* tree-flow-inline.h (var_ann, get_var_ann, get_def_from_ptr,
- 	get_use_op_ptr, immediate_use, phi_ssa_name_p, bsi_start,
- 	bsi_after_labels, bsi_last): Likewise.
- 	* tree-ssa-live.c (var_union, change_partition_var,
- 	create_ssa_var_map, calculate_live_on_entry, root_var_init,
- 	type_var_init, add_coalesce, sort_coalesce_list, pop_best_coalesce):
- 	Likewise.
- 	* tree-ssa-live.h (partition_is_global, live_entry_blocks,
- 	tpa_find_tree): Likewise.
- 	(register_ssa_partition_check): Declare.
- 	(register_ssa_partition): use it.
- 	* tree-ssa-live.c: Include errors.h.
- 	(register_ssa_partition_check): New.
- 	* tree-ssa-operands.c: Include errors.h.
- 	* Makefile.in (tree-ssa-operands.o): Depend on errors.h.
- 
- 2004-09-09  Richard Sandiford  <rsandifo@redhat.com>
- 	    Catherine Moore  <clm@redhat.com>
- 
- 	* config/frv/frv-protos.h (FRV_CPU_FR550, FRV_CPU_FR450)
- 	(FRV_CPU_FR405): New processor enums.
- 	(frv_issue_rate, frv_acc_group): Declare.
- 	* config/frv/frv.h (CPP_SPEC, CPP_FRV_SPEC, CPP_FR500_SPEC): Delete.
- 	(CPP_FR400_SPEC, CPP_SIMPLE_SPEC): Delete.
- 	(MASK_DEFAULT_FR550, MASK_DEFAULT_FR450): New macros.
- 	(SUBTARGET_EXTRA_SPECS, EXTRA_SPECS, CPP_CPU_DEFAULT_SPEC): Delete.
- 	(TARGET_CPU_CPP_BUILTINS): Define the macros that were previously
- 	handled by CPP_SPEC.
- 	(MASK_LONG_CALLS, TARGET_LONG_CALLS): New macros.
- 	(MASK_ALIGN_LABELS, TARGET_ALIGN_LABELS): New macros.
- 	(ACC_MASK): New macro.
- 	(TARGET_MEDIA_REV2): Include FRV_CPU_{FR405,FR450,FR550}.
- 	(TARGET_MEDIA_FR450): New macro.
- 	(TARGET_FR500_FR550_BUILTINS, TARGET_FR405_BUILTINS): New macros.
- 	(TARGET_SWITCHES): Add -m{no-,}align-labels and -m{no-,}long-calls.
- 	(LABEL_ALIGN_AFTER_BARRIER): Define.
- 	(ACC_LAST, ACCG_LAST): Add four new accumulator registers.
- 	(IACC_FIRST, IACC_LAST): New pair of SPRs.
- 	(ACCG_FIRST, AP_FIRST, SPR_FIRST, SPR_LAST): Adjust accordingly.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
- 	(REGISTER_NAMES): Add entries for new registers.
- 	(REG_CLASS_CONTENTS): Update for new register ranges.
- 	(EXTRA_CONSTRAINT_FOR_S): Redefine in terms of call_operand.
- 	(ISSUE_RATE, CLEAR_VLIW_START, SET_VLIW_START): Delete.
- 	(PACKING_FLAG_USED_P): Delete.
- 	(FRV_BUILTIN_MQLCLRHS, FRV_BUILTIN_MQLMTHS, FRV_BUILTIN_MQSLLHI)
- 	(FRV_BUILTIN_MQSRAHI, FRV_BUILTIN_SMUL, FRV_BUILTIN_UMUL)
- 	(FRV_BUILTIN_PREFETCH0, FRV_BUILTIN_PREFETCH, FRV_BUILTIN_SMASS)
- 	(FRV_BUILTIN_SMSSS, FRV_BUILTIN_SMU, FRV_BUILTIN_SCUTSS)
- 	(FRV_BUILTIN_ADDSS, FRV_BUILTIN_SUBSS, FRV_BUILTIN_SLASS)
- 	(FRV_BUILTIN_IACCread{l,ll}, FRV_BUILTIN_IACCset{ll,l})
- 	(FRV_BUILTIN_SCAN): New members of frv_builtin_enum.
- 	(FRV_BUILTIN_FIRST_NONMEDIA): New macro.
- 	(CPU_UNITS_QUERY): Define to 1.
- 	* config/frv/frv.c: Include gt-frv.h
- 	(NUM_NOP_PATTERNS, NTH_UNIT, UNIT_NUMBER, PACKING_FLAG_P): New macros.
- 	(SET_PACKING_FLAG, CLEAR_PACKING_FLAG, FOR_EACH_REGNO): New macros.
- 	(frv_insn_group): New enumeration.
- 	(frv_unit_names, frv_unit_groups, frv_unit_codes): New variables.
- 	(frv_type_to_unit, frv_nops, frv_num_nops): New variables.
- 	(REGSTATE_DEAD, REGSTATE_LIVE, REGSTATE_UNUSED, REGSTATE_MASK)
- 	(REGSTATE_CONDJUMP): Delete.  Shuffle other numbers to cover the
- 	gap left by REGSTATE_LIVE.
- 	(regstate_t): New typedef.
- 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(frv_default_flags_for_cpu): Handle FRV_CPU_{FR550,FR450,FR405}.
- 	(frv_override_options): Check for -mcpu={fr550,fr450,fr405}.
- 	Initialize frv_unit_codes[] and frv_type_to_unit[].
- 	(frv_conditional_register_usage): Remove redundant fixing of
- 	accumulator registers.
- 	(frv_insn_packing_flag): Update specification.
- 	(frv_function_prologue): Don't set frv_insn_packing_flag here.
- 	Zero out frv_nops[].
- 	(frv_expand_epilogue): Remove comments about the no-longer-present
- 	SIBCALL_P argument.
- 	(frv_asm_output_mi_thunk): Check frv_issue_rate() rather than
- 	PACKING_FLAG_USED_P() when deciding whether to pack instructions.
- 	(frv_asm_output_opcode, frv_final_prescan_insn): Simplify in light
- 	of the new meaning of frv_insn_packing_flag.  Emit an mnop.p if
- 	packing is disabled and if INSN can only issue to M1.
- 	(call_operand): Check TARGET_LONG_CALLS.
- 	(acc_operand, even_acc_operand, quad_acc_operand)
- 	(accg_operand): Simplify.  Don't accept pseudo registers.
- 	(output_move_single): Handle SPR<-zero moves.
- 	(frv_issue_rate): Make non-static.  Handle FRV_CPU_{FR550,FR450,FR405}.
- 	(frv_registers_update, frv_registers_used_p): Delete.
- 	(frv_registers_set_p): Delete.
- 	(frv_acc_group_1, frv_acc_group, frv_insn_unit): New functions.
- 	(frv_issues_to_branch_unit_p): New function.
- 	(frv_packet): New structure.
- 	(frv_cond_flags, frv_regstate_conflict_p): New functions.
- 	(frv_registers_conflict_p_1, frv_registers_conflict_p): New functions.
- 	(frv_registers_update_1, frv_registers_update): New functions.
- 	(frv_start_packet, frv_start_packet_block, frv_finish_packet)
- 	(frv_pack_insn_p, frv_add_insn_to_packet, frv_insert_nop_in_packet)
- 	(frv_for_each_packet, frv_sort_insn_group_1, frv_compare_insns)
- 	(frv_sort_insn_group, frv_reorder_packet): New functions.
- 	(frv_pack_insns): Use frv_reorder_packet.
- 	(frv_packet_address): New variable.
- 	(frv_fill_unused_units, frv_align_label, frv_reorg_packet)
- 	(frv_register_nop, frv_reorg): New functions.
- 	(bdesc_1arg): Add __SCUTSS.
- 	(bdesc_2arg): Add __MQLCLRHS, __MQLMTHS, __SMUL, __UMUL, __ADDSS,
- 	__SUBSS, __SLASS and __SCAN.
- 	(bdesc_2argimm): Add __MQSLLHI and __MQSRAHI.
- 	(bdesc_int_void2arg, bdesc_prefetches): New arrays.
- 	(frv_init_builtins): Register the above builtins.
- 	(frv_int_to_acc): Use ACC_MASK to check for valid accumulator
- 	registers.  Turn the referenced accumulators into global registers.
- 	(frv_read_iacc_argument): New function.
- 	(frv_expand_int_void2arg, frv_expand_prefetches): New functions.
- 	(frv_split_iacc_move): New function.
- 	(frv_expand_builtin): Handle the new builtins.
- 	* config/frv/frv.md: Replace old schedulers with new order-independent
- 	ones.  Add schedulers for the FR405, FR450 and FR550.  Describe new
- 	packing algorithm.
- 	(cpu): Add fr550, fr450 and fr405.
- 	(type): Add macc, scan, cut, fnop, fscmp, fdcmp, mnop, mqlimh and
- 	mqshift.  Replace fmas with fsmadd and fmad with fdmadd.  Delete m7.
- 	(*muladd[sd]f4, *mulsub[sd]f4): Fix types.
- 	(*cmp[sd]f_cc_fp): Use new f[sd]cmp types.
- 	(fnop, mnop): New patterns.
- 	(UNSPEC_MQLCLRHS, UNSPEC_MQLMTHS, UNSPEC_MQSLLHI, UNSPEC_MQSRAHI):
- 	New constants.
- 	(mexpdhw, *cond_exec_mexpdhw): Fix destination operands.
- 	(mclracca8): Use ACC_MASK to determine the upper set of accumulator
- 	registers.
- 	(mqlclrhs, mqlmths, mqsllhi, mqsrahi): New patterns.
- 	(UNSPEC_SMUL, UNSPEC_UMUL, UNSPEC_SMU, UNSPEC_ADDSS, UNSPEC_SUBSS)
- 	(UNSPEC_SLASS, UNSPEC_SCAN, UNSPEC_INTSS, UNSPEC_SCUTSS)
- 	(UNSPEC_PREFETCH0, UNSPEC_PREFETCH, UNSPEC_IACCreadll)
- 	(UNSPEC_IACCreadl, UNSPEC_IACCsetll, UNSPEC_IACCsetl, UNSPEC_SMASS)
- 	(UNSPEC_SMSSS, UNSPEC_IMUL, IACC0_REG): New constants.
- 	(smul, umul, smass, smsss, smu, addss, subss, slass, scan, scutss)
- 	(frv_prefetch0, frv_prefetch): New patterns.
- 	* config/frv/t-frv (MULTILIB_OPTIONS): Remove -mcpu=frv and
- 	-mcpu=simple.  Add -mcpu=fr550.
- 	(MULTILIB_DIRNAMES): Update accordingly.
- 	(MULTILIB_MATCHES): Use the fr400 multilibs for -mcpu=fr405 and
- 	-mcpu=fr450.
- 	* doc/invoke.texi: Document the new -mcpu={fr550,fr450,fr405},
- 	-mlong-calls and -malign-labels options for FR-V.
- 
- 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/8420
- 	* c-tree.h (struct c_declspecs): New.
- 	(struct c_declarator, struct c_type_name, struct c_parm): Update
- 	element types.
- 	(build_array_declarator, grokfield, shadow_tag, shadow_tag_warned,
- 	start_function, start_decl, build_c_parm,
- 	make_pointer_declarator): Update prototypes.
- 	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
- 	declspecs_add_scspec, declspecs_add_attrs): New.
- 	(split_specs_attrs): Remove.
- 	* c-parse.in (%union): Add dsptype.
- 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
- 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
- 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
- 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
- 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
- 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
- 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
- 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
- 	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
- 	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
- 	maybe_type_quals_attrs): Change to dsptype.
- 	(struct c_declspec_stack): New.
- 	(current_declspecs, declspec_stack): Change type.
- 	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): Update to new
- 	structures.
- 	(extdefs): Likewise.
- 	(setspecs): Likewise.
- 	(fndef): Use current_declspecs for empty declspecs list.
- 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
- 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
- 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
- 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
- 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
- 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
- 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
- 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea): Update to new
- 	structures and helper functions.  Update comments.
- 	(typespec_nonattr): Correct comment.
- 	(maybe_type_quals_attrs, typename): Update to new structures.
- 	* c-decl.c (grokdeclarator, build_array_declarator, grokfield,
- 	shadow_tag, shadow_tag_warned, start_function, start_decl,
- 	build_c_parm, make_pointer_declarator,
- 	set_array_declarator_inner, groktypename): Update to new
- 	structures.
- 	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
- 	declspecs_add_scspec, declspecs_add_attrs): New.
- 	(split_specs_attrs): Remove.
- 	(shadow_tag_warned): Make warning for useless type names a
- 	pedwarn.  Give hard error for long, short, signed, unsigned or
- 	_Complex used with struct, union or enum in empty declaration.
- 	Make found_tag a bool.
- 	(grokdeclarator): Remove checks now done at parse time.
- 
- 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (enum c_declarator_kind, struct c_arg_info, struct
- 	c_declarator, struct c_type_name, struct c_parm): New.
- 	(build_array_declarator, set_array_declarator_inner,
- 	get_parm_info, grokfield, groktypename, grokparm, push_parm_decl,
- 	start_function, start_decl, build_c_parm, build_attrs_declarator,
- 	build_function_declarator, make_pointer_declarator, c_cast_expr,
- 	store_parm_decls_newstyle, c_expr_sizeof_type): Update prototypes.
- 	(build_id_declarator): New.
- 	* c-typeck.c (c_cast_expr, c_expr_sizeof_type): Update to new
- 	structures.
- 	* c-decl.c (ARG_INFO_PARMS, ARG_INFO_TAGS, ARG_INFO_TYPES,
- 	ARG_INFO_OTHERS): Remove.
- 	(build_id_declarator): New.
- 	(build_array_declarator, set_array_declarator_inner, groktypename,
- 	start_decl, grokparm, push_parm_decl, grokparms, get_parm_info,
- 	grokfield, start_function, store_parm_decls_newstyle,
- 	store_parm_decls_oldstyle, store_parm_decls,
- 	build_c_parm, build_attrs_declarator, build_function_declarator,
- 	make_pointer_declarator, grokdeclarator): Update to new
- 	structures.
- 	* c-parse.in (%union): Add arginfotype, dtrtype, typenametype and
- 	parmtype.
- 	(declarator, notype_declarator, after_type_declarator,
- 	parm_declarator, parm_declarator_starttypename,
- 	parm_declarator_nostarttypename, array_declarator, typename,
- 	absdcl, absdcl1, absdcl1_ea, absdcl1_noea, direct_absdcl1,
- 	absdcl_maybe_attribute, parm, firstparm, parms, parmlist,
- 	parmlist_1, parmlist_2, parmlist_or_identifiers,
- 	parmlist_or_identifiers_1): Use these types.
- 	(primary, after_type_declarator, parm_declarator_starttypename,
- 	notype_declarator, component_decl, component_declarator,
- 	component_notype_declarator, typename, absdcl,
- 	absdcl_maybe_attribute, absdcl1_ea, direct_absdcl1, parmlist_1,
- 	parmlist_2, parmlist_or_identifiers_1): Update to new structures.
- 
- 2004-09-09  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (C_DECL_USED, parser_obstack, in_alignof, in_sizeof,
- 	in_typeof, record_maybe_used_decl, pop_maybe_used,
- 	c_expr_sizeof_expr, c_expr_sizeof_type): New.
- 	* c-decl.c (parser_obstack): New.
- 	(c_init_decl_processing): Initialize parser_obstack.
- 	(c_write_global_declarations_1): Check for used but undefined
- 	static functions.
- 	* c-parse.in (%union): Add otype.
- 	(save_obstack_position): New.
- 	(extdefs): Use it.
- 	(unary_expr): Update in_sizeof and in_alignof.  Use
- 	c_expr_sizeof_expr and c_expr_sizeof_type.
- 	(sizeof): Update in_sizeof.
- 	(alignof): Update in_alignof.
- 	(typeof): Update in_typeof.
- 	(typespec_nonreserved_nonattr): Call pop_maybe_used.
- 	* c-typeck.c (in_alignof, in_sizeof, in_typeof, struct
- 	maybe_used_decl, maybe_used_decls, record_maybe_used_decl,
- 	pop_maybe_used, c_expr_sizeof_expr, c_expr_sizeof_type): New.
- 	(build_external_ref): Set C_DECL_USED or call
- 	record_maybe_used_decl if appropriate.
- 	* toplev.c (check_global_declarations): Check TREE_NO_WARNING.
- 
- 2004-09-08  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c: Fix prototype for fold_builtin_atan.
- 
- 2004-09-08  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c (fold_builtin_strlen, fold_builtin_sqrt, fold_builtin_cbrt,
- 	fold_builtin_pow, fold_builtin_sin, fold_builtin_cos, fold_builtin_tan,
- 	fold_builtin_atan): New functions. Migrate function bodies...
- 	(fold_builtin_1): ... from here.
- 
- 2004-09-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
- 	save_size.
- 
- 2004-09-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md (power4-lmul): du4 feeds iu1.
- 	* config/rs6000/power5.md (power5-lmul): Same.
- 
- 2004-09-08  Richard Henderson  <rth@redhat.com>
- 
- 	PR rtl-opt/17186
- 	* function.c (expand_function_end): Have fall-off-the-end
- 	return path jump around return register setup.
- 
- 2004-09-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (sparc_indent_opcode): New variable.
- 	(output_return): Do not test for the presence of the 'unimp' insn.
- 	Use 'current_function_uses_only_leaf_regs' and 'final_sequence'
- 	as predicates instead of custom ones.  Return raw strings when
- 	possible.
- 	(output_sibcall): Likewise.  Concatenate strings.
- 	(output_ubranch): Remove kludge for TurboSPARC.
- 	(output_cbranch): Remove 'noop' parameter.  Do not output 'nop'.
- 	(output_v9branch): Likewise.
- 	(print_operand): Use 'final_sequence' instead of 'dbr_sequence_length'.
- 	<#>: Set sparc_indent_opcode if the delay slot is filled.
- 	<(>: Likewise.
- 	<)>: New operand to emit the displacement from the saved PC on return.
- 	<@>: Remove.
- 	* config/sparc/sparc.h (sparc_indent_opcode): Declare it.
- 	(ASM_OUTPUT_OPCODE): New macro.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Remove '^' and add ')'.
- 	* config/sparc/sparc.md (normal_branch, inverted_branch,
- 	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
- 	inverted_fpe_branch): Adjust call to output_cbranch.
- 	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust
- 	call to output_v9branch.
- 	* config/sparc/sparc-protos.h (output_cbranch): Adjust.
- 	(output_v9branch): Likewise.
- 
- 2004-09-08  Devang Patel  <dpatel@apple.com>
- 
- 	* config/darwin.h  (TARGET_OPTION_TRANSLATE_TABLE): Add -segaddr,
- 	-segs_read_only_addr and -segs_read_write_addr.
- 	(WORD_SWITCH_TAKES_ARG): Same.
- 	(LINK_SPEC): Same.
- 	* doc/invoke.texi: Document -segaddr, -segs_read_only_addr and
- 	-segs_read_write_addr.
- 
- 2004-09-08  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (reference_callee_copied): New.
- 	(assign_parm_setup_reg): Use it.
- 	* calls.c (initialize_argument_information): Likewise.
- 	(emit_library_call_value_1): Likewise.
- 	* function.h (reference_callee_copied): Declare.
- 
- 	* target.h (struct gcc_target): Add callee_copies.
- 	* target-def.h (TARGET_CALLEE_COPIES): New.
- 	(TARGET_PASS_BY_REFERENCE): Update default.
- 	* expr.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* targhooks.c (hook_callee_copies_named): New.
- 	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Rename from
- 	hook_pass_by_reference_false.
- 	(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): New.
- 	* targhooks.h: Update decls.
- 	* config/arc/arc.c (TARGET_CALLEE_COPIES): New.
- 	* config/arc/arc.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/frv/frv-protos.h (frv_function_arg_callee_copies): Remove.
- 	* config/frv/frv.c (frv_function_arg_callee_copies): Remove.
- 	* config/frv/frv.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/iq2000/iq2000.c (TARGET_CALLEE_COPIES): New.
- 	* config/iq2000/iq2000.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/m68hc11/m68hc11.c (TARGET_CALLEE_COPIES): New.
- 	* config/m68hc11/m68hc11.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/mips/mips.c (TARGET_CALLEE_COPIES): New.
- 	(mips_callee_copies): New.
- 	* config/mips/mips.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/mmix/mmix.c (TARGET_CALLEE_COPIES): New.
- 	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/mn10300/mn10300.c (TARGET_CALLEE_COPIES): New.
- 	* config/mn10300/mn10300.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/pa/pa.c (TARGET_CALLEE_COPIES): New.
- 	* config/pa/pa.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/sh/sh.c (sh_callee_copies): New.
- 	(TARGET_CALLEE_COPIES): New.
- 	* config/sh/sh.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* config/v850/v850.c (TARGET_CALLEE_COPIES): New.
- 	* config/v850/v850.h (FUNCTION_ARG_CALLEE_COPIES): Remove.
- 	* doc/tm.texi (TARGET_CALLEE_COPIES): Replace documentation
- 	for FUNCTION_ARG_CALLEE_COPIES.
- 	* doc/rtl.texi (CALL_INSN_FUNCTION_USAGE): Update.
- 
- 2004-09-08  Devang Patel  <dpatel@apple.com>
- 
- 	* tree-if-conv.c (find_phi_replacement_condition): Return true
- 	edge block.
- 	(replace_phi_with_cond_modify_expr): Select conditional expr args
- 	based on true edge basic block.
- 
- 2004-09-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-operands.c (add_stmt_operand): Use V_MUST_DEF even for
- 	variables being alias set.
- 
- 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* final.c (shorten_branches, final, get_insn_template,
- 	output_alternate_entry_point, final_scan_insn, alter_subreg,
- 	alter_cond, output_operand, asm_fprintf, final_forward_branch_p,
- 	leaf_renumber_regs_insn): Use gcc_assert and gcc_unreachable.
- 	* fix-header.c (lookup_std_proto): Likewise.
- 	* flow.c (first_insn_after_basic_block_note, verify_wide_reg,
- 	verify_local_live_at_start, update_life_info, mark_reg,
- 	calculate_global_regs_live, allocate_reg_life_data,
- 	init_propagate_block_info, mark_set_regs, flush_reg_cond_reg_1,
- 	ior_reg_cond, not_reg_cond, and_reg_cond, elim_reg_cond,
- 	attempt_auto_inc, mark_used_reg, mark_used_regs): Likewise.
- 	* fold-const.c (force_fit_type, div_and_round_double,
- 	may_negate_without_overflow_p, int_const_binop, const_binop,
- 	size_binop, size_diffop, fold_convert_const, fold_convert,
- 	invert_tree_comparison, swap_tree_comparison,
- 	comparison_to_compcode, compcode_to_comparison, invert_truthvalue,
- 	range_binop, make_range, fold_cond_expr_with_comparison,
- 	fold_div_compare, fold, fold_checksum_tree, fold_negate_const,
- 	fold_abs_const, fold_not_const, fold_relational_const, round_up,
- 	round_down): Likewise.
- 	* function.c (find_function_data, assign_stack_temp_for_type,
- 	instantiate_virtual_regs_lossage, aggregate_value_p,
- 	assign_parm_find_entry_rtl, assign_parm_setup_block,
- 	expand_function_start, expand_function_end, keep_stack_depressed,
- 	handle_epilogue_set, thread_prologue_and_epilogue_insns): Likewise.
- 
- 2004-09-08  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (tree-loop-linear.o): Added.
- 	(OBJS-common): Add tree-loop-linear.o
- 	* common.opt: New flag, ftree-loop-linear.
- 	* timevar.def: New timevar, TV_TREE_LOOP_LINEAR.
- 	* tree-flow.h: Add prototype for linear_transform_loops.
- 	* tree-optimize.c: Add linear transform after vectorization.
- 	* tree-pass.h: Add struct pass_linear_transform.
- 	* tree-ssa-loop.c: Add pass_linear_transform.
- 	* tree-loop-linear.c: New file.
- 	* lambda-code.c: gcc_assertify.
- 	(gcc_loop_to_lambda_loop): Handle all exit tests.
- 	Handle case where we have (invariant >= induction var).
- 	(find_induction_var_from_exit_cond): Ditto.
- 
- 2004-09-08  Jie Zhang  <zhangjie@magima.com.cn>
- 
- 	* tree-ssa-alias.c (compute_flow_insensitive_aliasing): If type
- 	memory tag is call clobbered, so are its aliases.
- 	(group_aliases): When two memory tags being grouped, if one is
- 	call clobbered, so are the other and its aliases.
- 	(add_may_alias): Remove call-clobbering stuff.
- 	(replace_may_alias): Likewise.
- 	(merge_pointed_to_info): Merge pt_global_mem
- 
- 2004-09-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_remove_node): Free DECL_INITIAL field of node.
- 	* cgraphunit.c (verify_cgraph): Don't verify on syntax errors.
- 	(cgraph_expand_function): Remove stale cgraph edges of currently
- 	compiled function; fix non-unit-at-a-time code copying function
- 	node for later reuse.
- 
- 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.c (vec_p_reserve, vec_o_reserve): Rename to ...
- 	(vec_gc_p_reserve, vec_gc_o_reserve): ... here. Clone to
- 	(vec_heap_p_reserve, vec_heap_o_reserve): ... here, adjust.
- 	(vec_gc_free, vec_heap_free): New.
- 	* vec.h (DEF_VEC_GC_P, DEF_VEC_MALLOC_P): New.
- 	(DEF_VEC_P): Add allocator argument. Adjust.
- 	(DEF_VEC_GC_O, DEF_VEC_MALLOC_O): New.
- 	(DEF_VEC_O): Add allocator argument. Adjust.
- 	(VEC(free)): New.
- 
- 	* tree.h (tree): Define a GC'd vector.
- 	* lamba-code.c (lambda_loop): Likewise.
- 	* value-prof.h (histogram_value): Likewise.
- 
- 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* emit-rtl.c (immed_double_const): Use gcc_assert and gcc_unreachable.
- 	(gen_rtx_SUBREG, gen_reg_rtx, mark_user_reg, subreg_hard_regno,
- 	gen_lowpart_common, gen_highpart, gen_highpart_mode,
- 	subreg_highpart_offset, operand_subword, operand_subword_force,
- 	mem_expr_equal_p, set_mem_attributes_minus_bitpos,
- 	set_mem_alias_set, change_address_1, verify_rtx_sharing,
- 	copy_most_rtx, set_first_insn, set_last_insn, prev_cc0_setter,
- 	try_split, add_insn_after, add_insn_before, remove_insn,
- 	remove_unnecessary_notes, emit_insn_before, emit_jump_insn_before,
- 	emit_call_insn_before, emit_insn_after, emit_jump_insn_after,
- 	emit_call_insn_after, emit_insn, emit_jump_insn, emit_call_insn,
- 	set_unique_reg_note, emit, push_to_full_sequence, copy_insn_1,
- 	gen_const_vector_0, emit_copy_of_insn_after): Likewise.
- 	* et-forest.c (set_prev, set_next, et_check_occ_sanity,
- 	record_path_before_1, check_path_after_1, check_path_after): Likewise.
- 	* except.c (gen_eh_region, resolve_one_fixup_region,
- 	remove_unreachable_regions, convert_from_eh_region_ranges_1,
- 	add_ehl_entry, duplicate_eh_region_1, build_post_landing_pads,
- 	connect_post_landing_pads, sjlj_emit_function_exit,
- 	remove_exception_handler_label, remove_eh_handler,
- 	reachable_next_level, collect_one_action_chain,
- 	output_function_exception_table): Likewise.
- 	* explow.c (trunc_int_for_mode, copy_to_mode_reg,
- 	optimize_save_area_alloca, allocate_dynamic_stack_space,
- 	probe_stack_range, hard_function_value): Likewise.
- 	* expmed.c (mode_for_extraction, store_bit_field,
- 	store_fixed_bit_field, extract_bit_field, expand_shift,
- 	expand_mult_const, expand_mult, choose_multiplier,
- 	expand_mult_highpart, expand_divmod, emit_store_flag,
- 	do_cmp_and_jump): Likewise.
- 	* expr.c (convert_move, convert_modes, move_by_pieces,
- 	move_by_pieces_ninsns, move_by_pieces_1, emit_block_move,
- 	move_block_from_reg, gen_group_rtx, emit_group_load,
- 	emit_group_move, emit_group_store, use_reg, use_regs,
- 	can_store_by_pieces, store_by_pieces, store_by_pieces_1,
- 	emit_move_insn, emit_move_insn_1, emit_push_insn,
- 	expand_assignment, store_expr, count_type_elements,
- 	store_constructor, store_field, safe_from_p, expand_var,
- 	expand_expr_addr_expr, expand_expr_real_1, do_store_flag): Likewise.
- 
- 2004-09-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* dbxout.c (dbxout_type, dbxout_type_name, dbxout_symbol): Use
- 	gcc_assert and gcc_unreachable.
- 	* ddg.c (create_ddg_dependence, add_deps_for_def,
- 	add_deps_for_use, create_ddg, add_edge_to_ddg): Likewise.
- 	* df.c (df_ref_unlink, df_ref_record, df_uses_record,
- 	df_reg_def_chain_create, df_reg_use_chain_create, df_analyze,
- 	df_insn_delete, df_refs_reg_replace, df_ref_reg_replace,
- 	df_insns_modify, df_pattern_emit_before, df_bb_reg_live_start_p,
- 	df_bb_reg_live_end_p, df_bb_regs_lives_compare,
- 	df_bb_single_def_use_insn_find, dataflow_set_a_op_b,
- 	dataflow_set_copy, hybrid_search, diagnostic.c,
- 	diagnostic_build_prefix, diagnostic_count_diagnostic): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree,
- 	compute_dom_fast_query, calculate_dominance_info,
- 	free_dominance_info, get_immediate_dominator,
- 	set_immediate_dominator, get_dominated_by,
- 	redirect_immediate_dominators, nearest_common_dominator,
- 	dominated_by_p, verify_dominators, recount_dominator,
- 	iterate_fix_dominators, add_to_dominance_info,
- 	delete_from_dominance_info): Likewise.
- 	* dwarf2asm.c (size_of_encoded_value, eh_data_format_name,
- 	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
- 	dw2_force_const_mem, dw2_asm_output_encoded_addr_rtx): Likewise.
- 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes, reg_save,
- 	initial_return_save, stack_adjust_offset, dwarf2out_stack_adjust,
- 	flush_queued_reg_saves, dwarf2out_frame_debug_expr,
- 	dwarf2out_frame_debug, dw_cfi_oprnd1_desc, output_cfi,
- 	output_call_frame_info, output_loc_operands, build_cfa_loc,
- 	decl_ultimate_origin, AT_flag, AT_int, AT_unsigned, AT_string,
- 	AT_string_form, add_AT_specification, AT_ref, set_AT_ref_external,
- 	AT_loc, AT_loc_list, AT_addr, AT_lbl, add_child_die,
- 	splice_child_die, attr_checksum, same_dw_val_p,
- 	break_out_includes, build_abbrev_table, size_of_die, mark_dies,
- 	unmark_dies, value_format, output_loc_list, output_die,
- 	output_pubnames, output_aranges, base_type_die, is_base_type,
- 	modified_type_die, dbx_reg_number, multiple_reg_loc_descriptor,
- 	mem_loc_descriptor, loc_descriptor, loc_descriptor_from_tree_1,
- 	field_byte_offset, add_data_member_location_attribute,
- 	add_const_value_attribute, rtl_for_decl_location,
- 	add_location_or_const_value_attribute, add_byte_size_attribute,
- 	add_bit_offset_attribute, add_bit_size_attribute,
- 	add_abstract_origin_attribute, pop_decl_scope, scope_die_for,
- 	decl_start_label, gen_formal_parameter_die,
- 	gen_type_die_for_member, gen_subprogram_die, gen_label_die,
- 	gen_typedef_die, gen_type_die, gen_tagged_type_instantiation_die,
- 	force_decl_die, force_type_die, gen_decl_die,
- 	dwarf2out_imported_module_or_decl, prune_unused_types_prune,
- 	dwarf2out_finish): Likewise.
- 
- 2004-09-08  Andreas Tobler  <toa@pop.agri.ch>
- 
- 	* Makefile.in (builtins.o): Depend on tree-mudflap.h.
- 	* builtins.c: Include tree-mudflap.h.
- 
- 2004-09-08  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* config/i386/i386.c (ix86_prepare_fp_compare_args): Do not
- 	force operand 0.0 into register in XFmode. Also do not force
- 	operand 0.0 into register if !TARGET_CMOVE.
- 	* config/i386/i386.md (*cmpfp_0): Delete. Remove comment.
- 	(*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf): New patterns to
- 	implement ftst x87 instruction.
- 	(*fp_jcc_7): New insn pattern. Change corresponding split
- 	pattern to handle "general_operand" instead of
- 	"nonimmediate_operand".
- 
- 2004-09-08  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/rtl.texi (Insns): Document NOTE_INSN_FUNCTION_BEG.
- 
- 2004-09-07  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Mark INDIRECT_REF nodes
- 	generated from standard va_arg expansion.
- 	* tree-mudflap.c (mx_xform_derefs_1): Omit instrumentation from
- 	marked nodes.
- 	(mf_varname_tree, mf_file_function_line_tree): Add some support
- 	for column numbers if compiled with USE_MAPPED_LOCATION.
- 
- 2004-09-07  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-decl.c (groktypename_in_parm_context): Remove function.
- 	* c-tree.h (groktypename_in_parm_context): Remove prototype.
- 
- 2004-09-07  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* Makefile.in (c-parse.o): Depend on $(C_COMMON_H).
- 	* c-parse.in: Include c-common.h instead of objc-act.h.
- 	(ivar_decl_list, ivar_decls, ivar_decl, ivars, ivar_declarator,
- 	myparms, myparm): Remove %type declarations.
- 	(methodtype, optparms, OBJC_TYPE_QUAL, objc_quals, objc_qual,
- 	objc_typename, objc_try_catch_stmt, optellipsis): Add %type
- 	declarations.
- 	(objc_inherit_code, objc_public_flag): Remove.
- 	(typespec_nonreserved_nonattr): Call
- 	objc_get_protocol_qualified_type() instead of get_static_reference()
- 	and get_protocol_reference().
- 	(stmt_nocomp): Call grokparm() on @catch parameter.
- 	(objcdef): Move semantic action to objc_finish_implementation().
- 	(classdef): Move semantic action to objc_start_class_interface(),
- 	objc_continue_interface(), objc_finish_interface(),
- 	objc_start_class_implementation(), objc_continue_implementation(),
- 	objc_start_category_interface() and
- 	objc_start_category_implementation().
- 	(protocoldef): Move semantic actions to objc_start_protocol() and
- 	objc_finish_interface().
- 	(ivar_decl_list): Remove nonterminal.
- 	(visibility_spec): Move semantic actions to objc_set_visibility().
- 	(ivar_decls): Remove assignment to $$.
- 	(ivar_decl): Rephrase in terms of component_decl; call
- 	objc_add_instance_variable().
- 	(ivars, ivar_declarator): Remove nonterminals.
- 	(opt_semi): New nonterminal.
- 	(methodtype): Remove semantic actions.
- 	(methoddef): Move semantic actions to objc_set_method_type(),
- 	objc_start_method_definition() and objc_finish_method_definition().
- 	(methodproto): Move semantic actions to objc_set_method_type() and
- 	objc_add_method_declaration().
- 	(methoddecl): Use objc_typename instead of typename; move semantic
- 	actions to objc_build_method_signature().
- 	(optarglist, myxdecls, mydecl, myparms, myparm): Remove nonterminals.
- 	(optparmlist): Express in terms of optparms and optellipsis.
- 	(optparms, optellipsis, objc_qual, objc_quals, objc_typename): New
- 	nonterminals.
- 	(keyworddecl): Use objc_typename instead of typename.
- 	(rid_to_yy): Mark RID_IN, RID_OUT, RID_INOUT, RID_BYCOPY, RID_BYREF
- 	and RID_ONEWAY as returning OBJC_TYPE_QUAL to yyparse().
- 
- 2004-09-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doc/tm.texi (MD_UNWIND_SUPPORT): Document.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Update.
- 	* unwind-dw2.c (MD_UNWIND_SUPPORT): #include if defined.
- 	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
- 	(MD_FROB_UPDATE_CONTEXT): Remove default.
- 	(uw_update_context_1): Instead #ifdef invocation.
- 	* config/ia64/unwind-ia64.c (MD_UNWIND_SUPPORT): #include if defined.
- 	(uw_frame_state_for): Adjust MD_FALLBACK_FRAME_STATE_FOR invocation.
- 	* config/alpha/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Don't undef.
- 	(MD_UNWIND_SUPPORT): Undefine this instead.
- 	* config/i386/gnu.h: Likewise.
- 	* config/alpha/linux-unwind.h: New file, macro converted to
- 	function, extracted from..
- 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): ..this.
- 	(MD_UNWIND_SUPPORT): Define.
- 	* config/alpha/vms-unwind.h, config/alpha/vms.h: Likewise.
- 	* config/i386/linux-unwind.h, config/i386/linux.h,
- 	config/i386/linux64.h: Likewise.
- 	* config/ia64/linux-unwind.h, config/ia64/linux.h: Likewise.
- 	MD_HANDLE_UNWABI too.
- 	* config/mips/linux-unwind.h, config/mips/linux.h: Likewise.
- 	* config/pa/linux-unwind.h, config/pa/pa32-linux.h: Likewise.
- 	* config/rs6000/darwin-unwind.h, config/rs6000/darwin.h: Likewise.
- 	* config/s390/linux-unwind.h, config/s390/linux.h: Likewise.
- 	* config/sparc/linux-unwind.h, config/sparc/linux.h,
- 	config/sparc/linux64.h: Likewise.
- 	* config/sh/linux-unwind.h, config/sh/linux.h: Likewise, but merge
- 	SH_FALLBACK_FRAME_FLOAT_STATE into sh_fallback_frame_state.
- 	* config/rs6000/linux-unwind.h, config/rs6000/linux.h,
- 	config/rs6000/linux64.h: Likewise.  Split out get_sigcontext
- 	function.  Use ARG_POINTER_REGNUM for 32-bit temp reg too.
- 
- 2004-09-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (fold_rtx):  Avoid building of
- 	(CONST (MINUS (CONST_INT) (SYMBOL_REF)))
- 
- 	* tree-ssa-pre.c (grand_bitmap_obstack): New.
- 	(value_insert_into_set_bitmap, bitmap_set_new): Use the obstack.
- 	(init_pre): Initialize obstack.
- 	(fini_pre): Free obstack.
- 
- 2004-09-07  David Daney  <ddaney@avtrex.com>
- 
- 	* config.gcc: Added support for --with-divide=[breaks|traps] for
- 	mips targets.
- 	* config/mips/mips.h (MASK_DIVIDE_BREAKS): New target_flags bit.
- 	(TARGET_DIVIDE_TRAPS): New macro.
- 	(TARGET_SWITCHES): Added -mdivide-traps and -mdivide-breaks.
- 	(OPTION_DEFAULT_SPECS): Added --with-divide= support.
- 	* config/mips/mips.c (mips_idiv_insns): Generate proper count on
- 	GENERATE_DIVIDE_TRAPS.
- 	(mips_output_division): Emit conditional trap if
- 	GENERATE_DIVIDE_TRAPS is set.
- 	* doc/install.texi: Document --with-divide.
- 	* doc/invoke.texi: Document -mdivide-traps and -mdivide-breaks.
- 
- 2004-09-07  Caroline Tice  <ctice@apple.com>
- 
- 	* cfgrtl.c (rtl_verify_flow_info_1):  Add new edge flag,
- 	EDGE_CROSSING, to flags test case.
- 
- 2004-09-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Deal with '<'
- 	class too.
- 
- 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cfganal.c (flow_depth_first_order_compute, dfs_enumerate_from,
- 	cfgbuild.c, inside_basic_block_p, control_flow_insn_p,
- 	make_label_edge, make_edges, find_basic_blocks_1): Use gcc_assert
- 	or gcc_unreachable.
- 	* cfg.c (clear_edges, initialize_bb_rbi, compact_blocks,
- 	remove_edge, alloc_aux_for_blocks, free_aux_for_blocks,
- 	alloc_aux_for_edges, free_aux_for_edges): Likewise.
- 	* cfgcleanup.c (try_forward_edges,
- 	merge_blocks_move_predecessor_nojumps,
- 	merge_blocks_move_successor_nojumps): Likewise.
- 	* cfgexpand.c (expand_gimple_cond_expr,
- 	expand_gimple_tailcall): Likewise.
- 	* cfghooks.c (duplicate_block): Likewise.
- 	* cfglayout.c (record_effective_endpoints,
- 	insn_locators_initialize, change_scope, fixup_reorder_chain,
- 	verify_insn_chain, fixup_fallthru_exit_predecessor,
- 	duplicate_insn_chain, cfg_layout_finalize): Likewise.
- 	* cfgloopanal.c (check_irred): Likewise.
- 	* cfgloop.c (superloop_at_depth, flow_loops_free,
- 	flow_loop_entry_edges_find, flow_loops_find,
- 	flow_loop_outside_edge_p, get_loop_body,
- 	get_loop_body_in_dom_order, get_loop_body_in_bfs_order,
- 	get_loop_exit_edges, num_loop_branches, cancel_loop,
- 	verify_loop_structure): Likewise.
- 	cfgloopmanip.c (find_path, remove_path, loop_delete_branch_edge,
- 	duplicate_loop_to_header_edge, create_preheader,
- 	create_loop_notes): Likewise.
- 	* cfgrtl.c (delete_insn, try_redirect_by_replacing_jump,
- 	edirect_branch_edge, force_nonfallthru_and_redirect,
- 	rtl_split_edge, insert_insn_on_edge, commit_one_edge_insertion,
- 	commit_edge_insertions, commit_edge_insertions_watch_calls,
- 	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
- 	cfg_layout_redirect_edge_and_branch_force,
- 	cfg_layout_merge_blocks, rtl_flow_call_edges_add): Likewise.
- 	* cgraph.c (cgraph_node, cgraph_create_edge, cgraph_remove_edge,
- 	cgraph_redirect_edge_callee, cgraph_global_info, cgraph_rtl_info,
- 	cgraph_varpool_node): Likewise.
- 	* cgraphunit.c (cgraph_finalize_function,
- 	cgraph_finalize_compilation_unit, cgraph_mark_functions_to_output,
- 	cgraph_expand_function, cgraph_remove_unreachable_nodes,
- 	cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
- 	cgraph_mark_inline, cgraph_expand_all_functions,
- 	cgraph_build_static_cdtor): Likewise.
- 	* combine.c  (do_SUBST, try_combine, subst, combine_simplify_rtx,
- 	simplify_logical, distribute_notes, insn_cuid): Likewise.
- 	* conflict.c (conflict_graph_add, print_conflict): Likewise.
- 	* coverage.c (rtl_coverage_counter_ref, tree_coverage_counter_ref,
- 	coverage_checksum_string): Likewise.
- 	* cse.c (make_new_qty, make_regs_eqv, insert, invalidate,
- 	hash_rtx, exp_equiv_p, cse_basic_block, count_reg_usage,
- 	cse_cc_succs, cse_condition_code_reg): Likewise.
- 	* cselib.c (entry_and_rtx_equal_p, remove_useless_values,
- 	rtx_equal_for_cselib_p, wrap_constant, cselib_hash_rtx,
- 	new_cselib_val, cselib_subst_to_values, cselib_invalidate_regno,
- 	cselib_record_set): Likewise.
- 
- 2004-09-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-loop-ivopts.c (iv_value): Avoid invalid sharing on niter.
- 
- 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* builtins.c (fold_builtin_strchr): Use build_int_cst, not
- 	fold_convert.
- 	(fold_builtin_strpbrk): Likewise.
- 	* expr.c (array_ref_low_bound): Likewise.
- 	* tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
- 	interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
- 	* tree-sra.c (generate_element_zero): Likewise.
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
- 	* tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
- 	add_old_iv_candidates, add_iv_candidates): Likewise.
- 	* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
- 
- 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
- 	* c-common.c (c_type_hash, c_common_nodes_and_builtins,
- 	c_expand_expr, boolean_increment, nonnull_check_p,
- 	check_function_arguments_recurse, fold_offsetof_1): Likewise.
- 	* c-cppbuiltin.c (define__GNUC__, builtin_define_stdint_macros,
- 	builtin_define_type_max): Likewise.
- 	* c-decl.c (bind, pop_scope, merge_decls, pushdecl_top_level,
- 	implicit_decl_warning, builtin_function, build_compound_literal,
- 	complete_array_type, grokdeclarator, get_parm_info,
- 	start_function, store_parm_decls_oldstyle,
- 	c_write_global_declarations): Likewise.
- 	* c-format.c (get_constant, decode_format_attr,
- 	maybe_read_dollar_number, get_flag_spec, check_format_arg,
- 	check_format_types, format_type_warning,
- 	find_char_info_specifier_index, init_dynamic_asm_fprintf_info,
- 	init_dynamic_diag_info, handle_format_attribute): Likewise.
- 	* c-gimplify.c (push_context, pop_context, finish_bc_block):
- 	* c-lex.c (c_lex_with_flags, lex_string): Likewise.
- 	* c-objc-common.c (c_tree_printer): Likewise.
- 	* c-pch.c (pch_init): Likewise.
- 	* c-pragma.c (maybe_apply_pragma_weak): Likewise.
- 	* c-pretty-print.c (pp_c_tree_decl_identifier): Likewise.
- 	* c-typeck.c (c_incomplete_type_error, composite_type,
- 	common_pointer_type, common_type, same_translation_unit_p,
- 	tagged_types_tu_compatible_p, finish_init, pop_init_level,
- 	set_designator, set_nonincremental_init_from_string,
- 	process_init_element, c_finish_if_stmt): Likewise.
- 	* caller-save.c (init_caller_save, save_call_clobbered_regs,
- 	insert_restore, insert_save, insert_one_insn): Likewise.
- 	* calls.c (emit_call_1, compute_argument_block_size,
- 	precompute_arguments, expand_call, emit_library_call_value_1,
- 	store_one_arg): Likewise.
- 
- 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.ac (enable-checking): Add release option. Reorganize
- 	to avoid repetition.
- 	* configure: Rebuilt.
- 	* doc/install.texi (enable-checking): Amend documentation.
- 
- 2004-09-06  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR bootstrap/17313
- 	* Makefile.in (specs.ready): Depend on cc1$(exeext).
- 
- 2004-09-06  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.md (movsf_hardfloat, movdf_hardfloat_64bit,
- 	movdf_hardfloat_32bit): Split fG into two alternatives.
- 	(movv2sf_hardfloat_64bit): Split fYG into two alternatives.
- 
- 	* emit-rtl.c (try_split): Check INSN_P before may_trap_p call.
- 
- 2004-09-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* final.c (output_in_slot): Delete.
- 	(final_scan_insn): Revert 2004-09-03 change.
- 	(output_asm_insn): Likewise.
- 	* config/sparc/sparc.c (output_return): Likewise.
- 	(output_sibcall): Likewise.
- 
- 2004-09-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (loop_dump_aux): Do not print RTL when not available.
- 	* tree-ssa-loop-ivopts.c (add_standard_iv_candidates): Do not use
- 	frontend specific type nodes.
- 	(produce_memory_decl_rtl): Break out from ...
- 	(prepare_decl_rtl): ... here.  Handle ADDR_EXPR correctly.
- 	(get_computation_at): Avoid random tree sharing.
- 	(tree_ssa_iv_optimize): Verify tree sharing; dump loops.
- 
- 2004-09-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (rtl.o, bitmap.o): Correct dependencies, remove
- 	unnecessary commands.
- 
- 2004-09-06  Mohan Embar  <gnustuff@thisiscool.com>
- 
- 	* Makefile.in (rtl.o): Remove -DGENERATOR_FILE.
- 	(bitmap.o): Likewise.
- 
- 2004-09-06  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Unify the management of RTL and tree-level dump files.
- 
- 	* cfgexpand.c (tree_expand_cfg): Fix incorrect comment.
- 	Don't print function name to the dump file, the pass manager
- 	would do this for us. Add code from the top of
- 	rest_of_compilation, up to the initial RTL dump.
- 	* passes.c (rest_of_handle_jump): Call fixup_tail_calls and
- 	close the DFI_sibling dump file.
- 	(rest_of_compilation): Don't do that here.  Remove code up to the
- 	initial RTL dump.
- 	(init_optimization_passes): Remove.
- 	(pass_rest_of_compilation): Change pass name to NULL.
- 	* toplev.c (lang_dependent_init): Do not use an empty dump file prefix.
- 	Do not call init_optimization_passes.
- 	* toplev.h (init_optimization_passes): Remove.
- 
- 	* graph.c (print_rtl_graph_with_bb, clean_graph_dump_file,
- 	finish_graph_dump_file): Remove SUFFIX parameter.
- 	* graph.h (print_rtl_graph_with_bb, clean_graph_dump_file,
- 	finish_graph_dump_file): Likewise.
- 
- 	* tree-pass.h (struct tree_opt_pass): Add `letter' field.
- 	* cfgexpand.c (pass_expand): Adjust.
- 	* gimple-low.c (pass_lower_cf, pass_remove_useless_vars): Adjust.
- 	* passes.c (pass_rest_of_compilation): Adjust.
- 	* predict.c (pass_profile): Adjust.
- 	* tree-alias-common.c (pass_build_pta, pass_del_pta): Adjust.
- 	* tree-cfg.c (pass_build_cfg, pass_remove_useless_stmts,
- 	pass_split_crit_edges, pass_warn_function_return): Adjust.
- 	* tree-complex.c (pass_lower_vector_ssa, pass_pre_expand): Adjust.
- 	* tree-dfa.c (pass_referenced_vars): Adjust.
- 	* tree-eh.c (pass_lower_eh): Adjust.
- 	* tree-if-conv.c (pass_build_ssa): Adjust.
- 	* tree-into-ssa.c (pass_build_ssa): Adjust.
- 	* tree-mudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
- 	* tree-nomudflap.c (pass_mudflap_1, pass_mudflap_2): Adjust.
- 	* tree-nrv.c (pass_nrv): Adjust.
- 	* tree-optimize.c (pass_gimple, pass_all_optimizations,
- 	pass_cleanup_cfg_post_optimizing, pass_free_datastructures,
- 	pass_init_datastructures): Adjust.
- 	* tree-outof-ssa.c (pass_del_ssa): Adjust.
- 	* tree-profile.c (pass_tree_profile): Adjust.
- 	* tree-sra.c (pass_sra): Adjust.
- 	* tree-ssa-alias.c (pass_may_alias): Adjust.
- 	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Adjust.
- 	* tree-ssa-copyrename.c (pass_rename_ssa_copies): Adjust.
- 	* tree-ssa-dce.c (pass_dce, pass_cd_dce): Adjust.
- 	* tree-ssa-dom.c (pass_dominator): Adjust.
- 	* tree-ssa-dse.c (pass_dse): Adjust.
- 	* tree-ssa-forwprop.c (pass_forwprop): Adjust.
- 	* tree-ssa-if-conv.c (pass_if_conversion): Adjust.
- 	* tree-ssa-loop-ch.c (pass_ch): Adjust.
- 	* tree-ssa-loop.c (pass_loop, pass_loop_init, pass_lim,
- 	pass_loop_done, pass_complete_unroll, pass_iv_canon,
- 	pass_iv_optimize, pass_vectorize): Adjust.
- 	* tree-ssa-phiopt.c (pass_phiopt): Adjust.
- 	* tree-ssa-pre.c (pass_pre, pass_fre): Adjust.
- 	* tree-ssa.c (pass_redundant_phi, pass_early_warn_uninitialized,
- 	pass_late_warn_uninnitialized): Adjust.
- 	* tree-tailcall.c (pass_tail_recursion, pass_tail_calls): Adjust.
- 
- 	* Makefile.in (tree-dump.o): Add new dependencies.
- 	* cgraph.c (cgraph_remove_node): TDF_all -> TDF_tree_all.
- 	* cgraphunit.c (cgraph_preserve_function_body_p, cgraph_optimize):
- 	Likewise.
- 	* toplev.c (dump_file_name): New.
- 	* tree-dump.c (dump_enable_all): Add LETTER parameter.
- 	(struct dump_file_info): Add NUM and LETTER fields.
- 	(dump_files): Adjust and add RTL dump files.
- 	(dump_register): Add NUM and LETTER fields.
- 	(get_dump_file_name, dump_initialized_p, enable_rtl_dump_file): New.
- 	(dump_begin): Use get_dump_file_name.
- 	(dump_switch_p_1): Adjust call to dump_enable_all.
- 	* tree-dump.h (dump_register): Adjust prototype.
- 	* tree-optimize.c (register_one_dump_file): Take dump file index.
- 	Support flags for RTL dumps.
- 	(register_dump_files): Fill in NUM field of struct dump_file_info.
- 	Track properties both when the gate is executed and when it is not.
- 	(execute_todo): Dump RTL.  Add PROPERTIES parameter.
- 	(execute_one_pass): Pass properties to execute_todo.  Handle VCG
- 	dumps of RTL.
- 	* tree-pass.h (dump_file_name): New.
- 	* tree.h (TDF_TREE, TDF_RTL, get_dump_file_name, dump_initialized_p):
- 	New.
- 
- 	* Makefile.in (passes.o): Add new dependencies.
- 	* passes.c (struct dump_file_info, enum dump_file_index,
- 	dump_file_tbl, init_optimization_passes): Remove.
- 	(open_dump_file, close_dump_file): Use tree-dumping infrastructure.
- 	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc): Use
- 	dump_enabled_p.
- 	(finish_optimization_passes): Update finish_graph_dump_file loop.
- 	(enable_rtl_dump_file): Remove.
- 	* tree-dump.c (dump_files): Adjust and add RTL dump files.
- 	(enable_rtl_dump_file): Add here.
- 	* tree.h (enum tree_dump_index): Add RTL dump file indices.
- 	* doc/invoke.texi (Debugging options): Document new RTL debugging
- 	options.  Update.
- 
- 2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, c-decl.c, combine.c, defaults.h, fold-const.c,
- 	gimplify.c, gthr-nks.h, hooks.c, lambda-code.c, lambda-mat.c,
- 	stor-layout.c, target.h, tree-cfg.c, tree-chrec.c,
- 	tree-if-conv.c, tree-inline.c, tree-into-ssa.c,
- 	tree-mudflap.c, tree-optimize.c, tree-scalar-evolution.c,
- 	tree-ssa-alias.c, tree-ssa-ccp.c, tree-ssa-dce.c,
- 	tree-ssa-pre.c, tree-vectorizer.c, tree-vectorizer.h, tree.h,
- 	vec.h: Fix comment formatting.
- 
- 2004-09-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.c, cfgexpand.c, cgraphunit.c, defaults.h,
- 	et-forest.c, expr.c, gimplify.c, global.c, gthr-lynx.h,
- 	hard-reg-set.h, modulo-sched.c, optabs.c, postreload-gcse.c,
- 	tree-data-ref.c, tree-flow.h, tree-if-conv.c, tree-inline.c,
- 	tree-sra.c, tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
- 	tree-ssa-loop-niter.c, tree-ssa-operands.c,
- 	tree-ssa-operands.h, tree-ssa-propagate.c,
- 	tree-ssa-propagate.h, tree-ssa-threadupdate.c, value-prof.c,
- 	vec.c, vec.h: Fix comment typos.  Follow spelling conventions.
- 
- 2004-09-05  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-if-conv.c (gate_tree_if_conversion): Enable only if the
- 	vectorizer is enabled.
- 
- 2004-09-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* tree-if-conv.c: Spell check comments and clean up whitespace.
- 
- 2004-09-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-ivopts.c: New file.
- 	* Makefile.in (tree-ssa-loop-ivopts.c): Add.
- 	* cfgloop.h (target_avail_regs, target_res_regs, target_small_cost,
- 	target_pres_cost, target_spill_cost): Declare.
- 	* cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost,
- 	spill_cost): Renamed to ...
- 	(target_avail_regs, target_res_regs, target_small_cost,
- 	target_pres_cost, target_spill_cost): ... and exported.
- 	(init_set_costs, global_cost_for_size): Work with renamed variables.
- 	* common.opt (flag_ivopts): New flag.
- 	* expr.c (expand_expr_real_1): Handle SSA_NAME case.  Handle
- 	REF_ORIGINAL.
- 	* gimplify.c (struct gimplify_ctx): Add into_ssa field.
- 	(internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support
- 	generating SSA form.
- 	(force_gimple_operand): New function.
- 	* timevar.def (TV_TREE_LOOP_IVOPTS): New timevar.
- 	* tree-cfg.c (stmt_bsi): New function.
- 	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
- 	PARAM_IV_MAX_CONSIDERED_USES): New.
- 	* tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge,
- 	bsi_insert_on_edge_immediate_loop. standard_iv_increment_position,
- 	ip_end_pos, ip_normal_pos, force_gimple_operand): Declare.
- 	* tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names.
- 	* tree-nested.c (build_addr): Export.
- 	* tree-optimize.c (init_tree_optimization_passes): Add
- 	pass_iv_optimize.
- 	* tree-pass.h (pass_iv_optimize): Declare.
- 	* tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and
- 	IMAGPART_EXPR.
- 	* tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable
- 	as a phi node argument.
- 	(split_loop_exit_edge, bsi_insert_on_edge_immediate_loop,
- 	ip_end_pos, ip_normal_pos, standard_iv_increment_position): New
- 	functions.
- 	* tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export.
- 	* tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts,
- 	pass_iv_optimize): New pass.
- 	* tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL.
- 	* tree-ssanames.c (release_ssa_name): Allow calling with var = NULL.
- 	* tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions.
- 	* tree.h (REF_ORIGINAL): New macro.
- 	(build_int_cst_type, unsigned_type_for, zero_p,
- 	cst_and_fits_in_hwi, build_addr): Declare.
- 	* doc/invoke.texi (-fivopts): Document.
- 	(PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND,
- 	PARAM_IV_MAX_CONSIDERED_USES): Document.
- 	* doc/passes.texi: Document induction variable optimizations pass.
- 
- 2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
- 	* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
- 	* c-common.c (c_common_attribute_table): Accept parameters to
- 	sentinel attribute.
- 	(check_function_sentinel, handle_sentinel_attribute): Likewise.
- 	* doc/extend.texi: Update accordingly.
- 
- 2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
- 	New.
- 	* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
- 	attribute.
- 	* c-common.c (handle_sentinel_attribute, check_function_sentinel):
- 	New functions.
- 	(c_common_attribute_table): Add `sentinel' attribute.
- 	(check_function_arguments): Handle `sentinel' attribute.
- 	* doc/extend.texi: Document `sentinel' attribute.
- 
- 2004-09-04  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* configure: Regenerated.
- 
- 2004-09-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gimplify.c (internal_get_tmp_var): Remove unused var CLASS.
- 
- 	* tree.c (save_expr): No longer TREE_READONLY.
- 
- 2004-09-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* passes.c (rest_of_clean_state):  Fix merge conflict made during
- 	commiting the patch.
- 
- 2004-09-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* passes.c (rest_of_clean_state):  Decompose the instruction stream.
- 
- 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/md.texi (shift patterns): New anchor.  Add reference to
- 	TARGET_SHIFT_TRUNCATION_MASK.
- 	* doc/tm.texi (TARGET_SHIFT_TRUNCATION_MASK): Document.
- 	* target.h (shift_truncation_mask): New target hook.
- 	* targhook.h (default_shift_truncation_mask): Declare.
- 	* targhook.c (default_shift_truncation_mask): Define.
- 	* target-def.h (TARGET_SHIFT_TRUNCATION_MASK): Define.
- 	(TARGET_INITIALIZER): Include it.
- 	* simplify-rtx.c (simplify_binary_operation): Combine ASHIFT, ASHIFTRT
- 	and LSHIFTRT cases.  Truncate arg1 if SHIFT_COUNT_TRUNCATED, otherwise
- 	reject all out-of-range values.  Fix sign-extension code for modes
- 	whose width is smaller than HOST_BITS_PER_WIDE_INT.
- 	* optabs.c (simplify_expand_binop, force_expand_binop): New functions.
- 	(expand_superword_shift, expand_subword_shift): Likewise.
- 	(expand_doubleword_shift_condmove, expand_doubleword_shift): Likewise.
- 	(expand_binop): Use them to implement double-word shifts.
- 	* config/arm/arm.c (arm_shift_truncation_mask): New function.
- 	(TARGET_SHIFT_TRUNCATION_MASK): Define.
- 
- 2004-09-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree.c (iterate_hash_expr): Optimize, avoid use of iterative_hash_object.
- 	(mix): New macro copied from hashtab.c
- 	(iterative_hash_hashval_t, iterative_hash_pointer,
- 	iterative_hash_host_wide_int): New functions based on hashtab.c
- 	implementation.
- 
- 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (mask): New mode attribute.
- 	(zero_extendsidi2): Add memory alternative.
- 	(*zero_extendsidi2_mem): Delete.
- 	(zero_extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.  Use
- 	memory_operand in the TARGET_MIPS16 check.
- 	(*zero_extend[qh]i[sd]i2{,_mips16}): Name previously unnamed patterns.
- 	Redefine using :GPR and :SHORT.
- 	(zero_extendqihi2): Use memory_operand in the TARGET_MIPS16 check.
- 
- 2004-09-04  Uros Bizjak  <uros@kss-loka.si>
- 
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_RINT{,F,L}
- 	using rint_optab.
- 	(expand_builtin): Expand BUILT_IN_RINT{,F,L} using
- 	expand_builtin_mathfn.
- 	* genopinit.c (optabs): Rename trunc_optab to btrunc_optab. Use
- 	btrunc?f patterns for btrunc_optab. Implement rint_optab using
- 	rint?f patterns.
- 	* optabs.c (init_optabs): Initialize rint_optab.
- 	* optabs.h (enum optab_index): Rename OTI_trunc to OTI_btrunc.
- 	Add new OTI_rint.
- 	(btrunc_optab): Rename macro from trunc_optab.
- 	(rint_optab): Define corresponding macro.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT_FLOOR,
- 	UNSPEC_FRNDINT_CEIL, UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM.
- 
- 	* config/i386/i386-protos.h (emit_i387_cw_initialization):
- 	Change prototype. Add new int parameter.
- 	* config/i386/i386.c (emit_i387_cw_initialization):
- 	Handle new rounding modes.
- 
- 	* config/i386/i386.h (enum fp_cw_mode): Delete.
- 	(MODE_NEEDED): Handle new rounding modes.
- 	(EMIT_MODE_SET): Change condition to handle new rounding modes.
- 
- 	* config/i386/i386.md (UNSPEC_FRNDINT_FLOOR, UNSPEC_FRNDINT_CEIL,
- 	UNSPEC_FRNDINT_TRUNC, UNSPEC_FRNDINT_MASK_PM): New unspecs to
- 	represent different rounding modes of frndint insn.
- 	(type): Add frndint type.
- 	(i387, length, memory): Handle this type.
- 	(i387_cw): New attribute definition.
- 	(*fix_truncdi_1, fix_truncdi_nomemory, fix_truncdi_memory,
- 	*fix_truncsi_1, fix_truncsi_nomemory, fix_truncsi_memory,
- 	*fix_trunchi_1, fix_trunchi_nomemory, fix_trunchi_memory):
- 	Add "i387_cw" attribute defined to "trunc".
- 	(x86_fnstcw_1): Remove comment.
- 	(*frndintxf2): Rename insn definition to frndintxf2. Move
- 	insn definition near rint?f2 expanders.
- 	(rintdf2, rintsf2, rintxf2): New expanders to implement rint,
- 	rintf and rintl built-ins as inline x87 intrinsics.
- 	(frndintxf2_floor): New pattern to implement floor rounding
- 	mode with frndint x87 instruction.
- 	(floordf2, floorsf2, floorxf2): New expanders to implement floor,
- 	floorf and floorl built-ins as inline x87 intrinsics.
- 	(frndintxf2_ceil): New pattern to implement ceil rounding
- 	mode with frndint x87 instruction.
- 	(ceildf2, ceilsf2, ceilxf2): New expanders to implement ceil,
- 	ceilf and ceill built-ins as inline x87 intrinsics.
- 	(frndintxf2_trunc): New pattern to implement trunc rounding
- 	mode with frndint x87 instruction.
- 	(btruncdf2, btruncsf2, btruncxf2): New expanders to implement trunc,
- 	truncf and truncl built-ins as inline x87 intrinsics.
- 	(frndintxf2_mask_pm): New pattern to implement rounding
- 	mode with exceptions with frndint x87 instruction.
- 	(nearbyintdf2, nearbyintsf2, nearbyintxf2): New expanders to
- 	implement nearbyint, nearbyintf and nearbyintl built-ins as
- 	inline x87 intrinsics.
- 
- 2004-09-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (SHORT): New mode macro.
- 	(size): New mode attribute.
- 	(extend[qh]i[sd]i2): Redefine using :GPR and :SHORT.
- 	(*extend[qh]i[sd]i2): New define_insn_and_split, combining previous
- 	*extend[qh]i[sd]i2 and *extend[qh]i[sd]i2_mem patterns.  Use only if
- 	!ISA_HAS_SEB_SEH.
- 	(*extend[qh]i[sd]i2_se[bh]): New pattern, combining previous
- 	*extend[qh]isi2_hw patterns and extending them to di.
- 	(extendqihi2): Implement as define_insn_and_split that produces
- 	extendqisi2 after reload.
- 
- 2004-09-03  Devang Patel  <dpatel@apple.com>
- 
- 	* Makefile.in (OBJS-common): Add tree-if-conv.o
- 	(tree-if-conv.o): New rule.
- 	* cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
- 	(get_loop_body_in_bfs_order): New.
- 	* cfgloop.h (get_loop_body_in_bfs_order): New.
- 	* tree-flow.h (enum move_pos): Move here from ..
- 	* tree-ssa-loop-im.c (enum move_pos): here.
- 	(movement_possibility): Make externally visible.
- 	* tree-optimize.c (init_tree_optimization_passes): New entry for
- 	if conversion pass.
- 	* tree-pass.h (pass_if_conversion): New.
- 	* tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
- 	* tree-if-conv.c: New file.
- 	* doc/passes.texi: Document tree if-conversion pass.
- 	* doc/tree-ssa.texi: Same.
- 
- 2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/14925:
- 	Makefile.in (LIB2ADDEHSTATIC): New.
- 	(LIB2ADDEHSHARED): New.
- 	(LIBUNWIND): New.
- 	(LIBUNWINDDEP): New.
- 	(SHLIBUNWIND_LINK): New.
- 	(SHLIBUNWIND_INSTALL): New.
- 	(libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
- 	LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
- 	(clean): Remove libunwind*
- 	(stage1-start): Remove and copy stage1/libunwind*.
- 	(stage2-start): Remove and copy stage2/libunwind*.
- 	(stage3-start): Remove and copy stage3/libunwind*.
- 	(stage4-start): Remove and copy stage4/libunwind*.
- 	(stageprofile-start): Remove and copy stageprofile/libunwind*.
- 	(stagefeedback-start): Remove and copy stagefeedback/libunwind*.
- 
- 	* config.gcc (ia64*-*-linux*): Always add t-libunwind to
- 	tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
- 	tmake_file if --with-system-libunwind isn't used.
- 
- 	* config/ia64/t-glibc-libunwind: New file.
- 	* config/t-libunwind-elf: Likewise.
- 	* unwind-compat.c: Likewise.
- 	* unwind-compat.h: Likewise.
- 	* unwind-dw2-fde-compat.c: Likewise.
- 
- 	* config/ia64/t-glibc (LIB2ADDEH): Updated.
- 	* config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
- 
- 	* config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
- 	aliases if needed.
- 	* unwind-dw2-fde-glibc.c: Likewise.
- 	* unwind-dw2.c: Likewise.
- 
- 	* config/t-libunwind (LIB2ADDEH): Updated.
- 	(LIB2ADDEHSTATIC): New.
- 	(T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
- 	(TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
- 
- 	* configure.ac: Change --enable-libunwind-exceptions to
- 	--with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
- 	* configure: Regenerated.
- 	* config.in: Updated.
- 
- 	* doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
- 	above and mention --with-system-libunwind.
- 	(ia64-*-hpux*): Mention --enable-libunwind-exceptions is
- 	removed in gcc 3.4.3 and later.
- 
- 	* gcc.c (init_spec): Add -lunwind to -lgcc_s if
- 	USE_LIBUNWIND_EXCEPTIONS is defined.
- 
- 	* mklibgcc.in: Support libunwind.
- 
- 2004-09-03  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* config/i386/i386.c (x86_branch_hints): Remove m_PENT4 and
- 	m_NOCONA.
- 
- 2004-09-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/9997
- 	* cfgexpand.c (LOCAL_ALIGNMENT): Provide default.
- 	(STACK_ALIGNMENT_NEEDED, FRAME_GROWS_DOWNWARD): Likewise.
- 	(struct stack_var, EOC, stack_vars, stack_vars_alloc, stack_vars_num,
- 	stack_vars_sorted, stack_vars_conflict, stack_vars_conflict_alloc,
- 	frame_phase, get_decl_align_unit, add_stack_var, triangular_index,
- 	resize_stack_vars_conflict, add_stack_var_conflict,
- 	stack_var_conflict_p, add_alias_set_conflicts, stack_var_size_cmp,
- 	union_stack_vars, partition_stack_vars, dump_stack_var_partition,
- 	expand_one_stack_var_at, expand_stack_vars, expand_one_stack_var,
- 	expand_one_static_var, expand_one_hard_reg_var,
- 	expand_one_register_var, expand_one_error_var, defer_stack_allocation,
- 	expand_one_var, expand_used_vars_for_block, clear_tree_used): New.
- 	(expand_used_vars): Rewrite.
- 	* Makefile.in (cfgexpand.o): Update dependencies.
- 
- 2004-09-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfg.c (free_edge): Use ggc_free.
- 	(expunge_block): Use ggc_free.
- 	* passes.c (rest_of_clean_state): Free after compilation.
- 	* tree-ssa.c (delete_tree_ssa): Free annotations; call release_defs
- 	* tree-ssanames.c (release_defs): Ignore non-SSA_NAME arguments.
- 
- 2004-09-03  James E Wilson  <wilson@specifixinc.com>
- 
- 	* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
- 	DECL_EXTERNAL check.
- 
- 2004-09-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* final.c (output_in_slot): New global variable.
- 	(final_scan_insn): Add new state '2' to the 'nopeepholes' parameter.
- 	Pass 2 as 'nopeepholes' to self for insns in a SEQUENCE.  Set
- 	'output_in_slot' before invoking output_asm_insn.
- 	(output_asm_insn): Add a space after the tab if 'output_in_slot'
- 	is set.
- 	* config/sparc/sparc.c (output_return): Pass 2 as 'nopeepholes' to
- 	final_scan_insn.
- 	(output_sibcall): Likewise.
- 
- 2004-09-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* tree-ssa-operands.c (fini_ssa_operands): ggc_free unused arrays.
- 	* tree-ssanames (init_ssanames): Likewise.
- 
- 2004-09-03  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* stub-objc.c (objc_is_id, objc_declare_alias, objc_declare_class,
- 	objc_declare_protocols, objc_start_protocol,
- 	objc_start_class_interface, objc_start_category_interface,
- 	objc_continue_interface, objc_finish_interface,
- 	objc_add_instance_variable, objc_set_visibility, objc_set_method_type,
- 	objc_start_class_implementation, objc_start_category_implementation,
- 	objc_continue_implementation, objc_finish_implementation,
- 	objc_add_method_declaration, objc_start_method_definition,
- 	objc_finish_method_definition, objc_build_keyword_decl,
- 	objc_build_method_signature, objc_build_encode_expr,
- 	objc_build_protocol_expr, objc_build_selector_expr,
- 	objc_build_message_expr, objc_build_string_object,
- 	objc_get_class_reference, objc_get_protocol_qualified_type,
- 	objc_static_init_needed_p, objc_generate_static_init_call): New stubs.
- 
- 2004-09-03  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Add __mips3d.
- 
- 	* config/mips/generic.md (generic_frecip_fsqrt_step): New.
- 	* config/mips/mips-ps-3d.md (mips_rsqrt1_<fmt>): Use frsqrt1 type.
- 	(mips_rsqrt2_<fmt>): Use frsqrt2 type.
- 	(mips_recip1_<fmt>): Use frdiv1 type.
- 	(mips_recip2_<fmt>): Use frdiv2 type.
- 	* config/mips/mips.md (type): Add frdiv1, frdiv2, frsqrt1, frsqrt2.
- 	* config/mips/sb1.md (ir_sb1_fpu_2pipes, ir_sb1_fpu_1pipe): Add frdiv1
- 	and frsqrt1.
- 	(ir_sb1_fpu_step2_2pipes, ir_sb1_fpu_step2_1pipe): New.
- 
- 2004-09-03  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* reload.c (find_reloads): Swap operand_loc pointers for
- 	find_dummy_reload if we have swapped two operands.
- 
- 2004-09-03  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h (ASM_OUTPUT_CASE_END): Use prev_nonnote_insn
- 	to get the tablejump-insn before the jump-table label.
- 
- 2004-09-03  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.h (objc_is_id, objc_declare_alias, objc_declare_class,
- 	objc_declare_protocols, objc_build_message_expr,
- 	objc_finish_message_expr, objc_build_selector_expr,
- 	objc_build_protocol_expr, objc_build_encode_expr,
- 	objc_build_string_object, objc_get_protocol_qualified_type,
- 	objc_get_class_reference, objc_get_class_ivars,
- 	objc_start_class_interface, objc_start_category_interface,
- 	objc_start_protocol, objc_continue_interface, objc_finish_interface,
- 	objc_start_class_implementation, objc_start_category_implementation,
- 	objc_continue_implementation, objc_finish_implementation,
- 	objc_set_visibility, objc_set_method_type, objc_build_method_signature,
- 	objc_add_method_declaration, objc_start_method_definition,
- 	objc_finish_method_definition, objc_add_instance_variable,
- 	objc_build_keyword_decl, objc_build_throw_stmt, objc_begin_try_stmt,
- 	objc_finish_try_stmt, objc_begin_catch_clause,
- 	objc_finish_catch_clause, objc_build_finally_clause,
- 	objc_build_synchronized, objc_static_init_needed_p,
- 	objc_generate_static_init_call): New prototypes.
- 
- 2004-09-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL even if there
- 	is only one reg.
- 	(ia64_function_value): Ditto.
- 
- 2004-09-03  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config.gcc: Resurrect NetWare as a target. Handle special case of
- 	Novell linker to be used (specified through --with-ld=) and threading
- 	model of either Posix (default) or NKS.
- 	* config/i386/i386.c (ix86_return_pops_args): Conditionalize popping
- 	of incoming hidden argument on KEEP_AGGREGATE_RETURN_POINTER.
- 	* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): New.
- 	* config/i386/netware.c, config/i386/netware.h: New.
- 	* config/i386/nwld.c, config/i386/nwld.h: New.
- 	* config/i386/netware-crt0.c: New.
- 	* config/i386/netware-libgcc.c: New.
- 	* config/i386/netware-libgcc.def: New.
- 	* config/i386/netware-libgcc.exp: New.
- 	* config/i386/t-netware, config/i386/t-nwld: New.
- 	* gthr-nks.h: New.
- 	* doc/install.texi: Document NKS threading model.
- 
- 2004-09-03  Jan Beulich  <jbeulich@novell.com>
- 
- 	PR c/7054
- 	* defaults.h (TARGET_DEFAULT_PACK_STRUCT): Provide default.
- 	* tree.h (initial_max_fld_align): Declare
- 	* stor-layout.c (initial_max_fld_align): Define and initialize.
- 	(maximum_field_alignment): Initialize to the same value.
- 	* common.opt: Add -fpack-struct= variant of switch.
- 	* opts.c: Handle -fpack-struct= variant of switch.
- 	* c-pragma.c: Change #pragma pack() handling so that it becomes
- 	compatible to other compilers: accept individual 'push' argument,
- 	make final pop restore (command line) default, correct interaction
- 	of push/pop and sole specification of a new alignment (so that the
- 	sequence #pragma pack(push) - #pragma pack(<n>) becomes identical
- 	to #pragma pack(push, <n>).
- 	* doc/extend.texi: New node "Structure-Packing Pragmas" under
- 	"Pragmas", describing #pragma pack.
- 	* doc/invoke.texi: Document -fpack-struct=<n> variant of switch.
- 	* doc/tm.texi: Adjust description for HANDLE_PRAGMA_PACK_PUSH_POP.
- 	Document new TARGET_DEFAULT_PACK_STRUCT.
- 
- 2004-09-03  Devang Patel  <dpatel@apple.com>
- 
- 	* dwarf2out.c (gen_field_die). Equate decl number to die.
- 
- 2004-09-03  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/15832
- 	* global.c (modify_reg_pav): New function.
- 	(make_accurate_live_analysis): Call the new function.  Move pavin
- 	modification by earlyclobber set into the new function.
- 
- 2004-09-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c (output_andsi3): Use -1 instead of
- 	(HOST_WIDE_INT)0xffffffff since CONST_INT value are always sign
- 	extended.
- 
- 2004-09-02  Jan Beulich  <jbeulich@novell.com>
- 
- 	* Makefile.in (LIB2ADDEHDEP): Add unwind.h and unwind-pe.h.
- 	* mklibgcc.in (libgcc_dep): New, covering general dependencies, but
- 	not unwind code specific ones.
- 	(libgcc2_c_dep): Replace general dependencies with use of libgcc_dep.
- 	Remove unwind code specific dependencies.
- 	(libgcov_c_dep): Replace general dependencies with use of libgcc_dep.
- 	Remove gbl-ctors.h.
- 	Add libgcc_dep to output generated for LIB2ADD, LIB2ADDEH, and
- 	LIB2ADD_ST. Add LIB2ADDEHDEP to output generated for LIB2ADDEH.
- 	* tsystem.h: Declare memcpy and memset when inhibit_libc.
- 
- 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* combine.c (try_combine): Delay modifying of insns which cannot
- 	be easily undone.
- 
- 2004-09-02  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* gcc/common.opt: Rename ivcanon to tree-loop-ivcanon, tree-lim to
- 	tree-loop-im.
- 	* gcc/tree-ssa-loop.c: Ditto
- 	* gcc/tree-ssa-loop-ivcanon.c: Ditto
- 	* gcc/doc/invoke.texi: Ditto.
- 
- 2004-09-02  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-decl.c (store_parm_decls_newstyle): Make static.
- 	(store_parm_decls_from): New function.
- 	* c-tree.h (store_parm_decls_newstyle): Remove prototype.
- 	(store_parm_decls_from): New prototype.
- 
- 2004-09-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (expand_block_move): Use SImode and
- 	HImode with STRICT_ALIGNMENT.
- 
- 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/bpabi.h (TARGET_BPABI_CPP_BUILTINS): Define.
- 	(TARGET_OS_CPP_BUILTINS): Likewise.
- 	* config/arm/symbian.h (TARGET_OS_CPP_BUILTINS): Include
- 	TARGET_BPABI_CPP_BUILTINS.
- 
- 2004-09-02  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* combine.c (distribute_notes): Don't add REG_LABEL to jump insn.
- 
- 2004-09-02  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c (expand_builtin_cabs): Delete.
- 	(expand_builtin): If unable to fold the values do a normal
- 	library call for builtin_cab*.
- 	(fold_builtin_cabs): Depend on optimize and optimize_size.
- 	* optabs.c (expand_cmplxdiv_straight): Delete.
- 	(expand_cmplxdiv_wide): Ditto.
- 	(expand_vector_binop): Ditto.
- 	(expand_vector_unop): Ditto.
- 	(expand_complex_abs): Delete.
- 	(expand_binop): Remove calls to above functions.
- 	Remove open coding of complex arithmetic.
- 	(expand_unop): Ditto.
- 	* optabs.h: Remove prototypes.
- 
- 2004-09-02  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-decl.c (store_parm_decls_newstyle): Make externally visible.
- 	* c-tree.h (store_parm_decls_newstyle): New prototype.
- 
- 2004-09-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (expand_block_clear): Use vector
- 	instructions if available.
- 	(expand_block_move): Likewise.
- 
- 2004-09-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtl.def (RANGE_INFO, RANGE_REG, RANGE_VAR, RANGE_LIVE): Kill.
- 
- 2004-09-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/symbian.h (LIB_SPEC): Define to empty.
- 	* config/arm/t-symbian (SHLIB_LC): Likewise.
- 
- 2004-09-02  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/bpabi.c (__aeabi_ul2d, __aeabi_ul2f): Remove.
- 
- 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_classify_symbol, mips_fetch_insns):
- 	(mips_restore_gp, mips_set_return_address, mips_expand_prologue)
- 	(mips16_fp_args, mips_avoid_hazard): Replace abort with gcc_assert.
- 	(build_mips16_call_stub): Likewise.  Remove daft CALL_INSN checks.
- 	(mips_issue_rate): Remove unreachable abort.
- 	(mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
- 	(mips_output_move, mips_relational_operand_ok_p, mips_arg_info)
- 	(mips_block_move_straight, print_operand_address, mips_file_start)
- 	(mips_initial_elimination_offset, mips16_fp_args, dump_constants_1)
- 	(mips_output_conditional_branch, mips_expand_builtin_direct)
- 	(mips_expand_builtin_compare): Replace abort with gcc_unreachable.
- 	* config/mips/mips.md (rotr<mode>3, consttable_float): Replace abort
- 	with gcc_assert.
- 
- 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*lea_high64): Change split condition to
- 	flow2_completed.  Add a peephole2 to generate a more parallel version.
- 
- 2004-09-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* gimplify.c (gimplify_compound_lval): Move "stack" varray out of
- 	GGC.
- 
- 	* ggc-page.c: include tree-flow.h.
- 	(extra_order_size_table): Add stmt_ann_d.
- 	(STAT_LABEL): Rename from ....
- 	(LABEL): ... this one.
- 	* Makefile.in (ggc-page.o): Add dependency.
- 
- 	* ggc-common.c (ggc_force_collect): New global variable.
- 	(loc_description): Add fields "freed", "collected"
- 	(ptr_hash): New static hash
- 	(ptr_hash_entry): New structure.
- 	(hash_ptr,eq_ptr,ggc_prune_ptr): New static functions.
- 	(ggc_record_overhead): Take ptr argument, record it
- 	(ggc_prune_overhead_list, ggc_free_overhead): New functions.
- 	(cmp_statistics): Imrove sorting.
- 	(dump_ggc_loc_statistics): Output newly collected statistics
- 	* ggc-page.c (ggc_alloc): Update call of ggc_record_overhead
- 	(ggc_free): Call ggc_free_overhead.
- 	(ggc_collect): Force collection when asked to be forced.
- 	(ggc_collect): Call ggc_prune_overhead_list.
- 	* ggc.h (ggc_force_collect): Declare
- 	(ggc_record_overhead): Update prototype.
- 	(ggc_free_overhead, ggc_prune_overhead_list): Declare.
- 
- 2004-09-02  James E Wilson  <wilson@specifixinc.com>
- 
- 	* common.opt (ftrapping-math): Default to on.
- 
- 2004-09-02  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/predicates.md (arm_reload_memory_operand): Allow MEM.
- 
- 2004-09-02  Denis Chertykov  <denisc@overta.ru>
- 
- 	PR target/16884
- 	* config/avr/avr.md ("movmemhi"): Substitute match_dup to
- 	match_scratch.
- 	(*movmemqi_insn): Likewise.
- 	(*movmemhi): Likewise.
- 	(clrmemhi): Likewise.
- 	(*clrmemqi): Likewise.
- 	(*clrmemhi): Likewise.
- 
- 2004-09-02  Paul Brook  <paul@codesourcery.com>
- 
- 	* config.gcc (arm*-*-eabi* | arm*-*-symbianelf*): Set
- 	default_use_cxa_atexit=yes.
- 
- 2004-09-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h: Don't include signal.h or sys/ucontext.h.
- 	(struct kernel_old_ucontext): Delete.
- 	(struct gcc_pt_regs, gcc_sigcontext, gcc_ucontext): New.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Use gcc_* structs.  Only define
- 	when IN_LIGGCC2.
- 
- 2004-09-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* toplev.c (process_options): Fix typo.
- 
- 2004-09-01  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/17258
- 	* calls.c (initialize_argument_information): Tighten pass-through
- 	conditions for pass-by-reference.  Remove dead TARGET_EXPR code.
- 	Use build_fold_addr_expr.
- 	(emit_library_call_value_1): Use build_fold_addr_expr.  Remove code
- 	that assumes ADDR_EXPR allocates stack space.
- 	* fold-const.c (build_fold_addr_expr_with_type): Look through
- 	WITH_SIZE_EXPR.
- 
- 2004-09-01  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* gengenrtl.c (gendef): Use rtx_alloc, don't do PUT_CODE.
- 	* ggc.h (ggc_alloc_rtx): Delete.
- 
- 2004-09-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (enum alg_code): Remove long unused enumeration values.
- 	(struct mult_cost): New structure to hold the "score" of a synthetic
- 	multiply sequence, including both a rtx_cost and a latency field.
- 	(MULT_COST_LESS): New macro to compare mult_cost to a constant.
- 	(CHEAPER_MULT_COST): New macro to compare two mult_costs.
- 	(struct algorithm): Change type of cost field to be mult_cost.
- 	(synth_mult): Change type of cost_limit argument to be a
- 	pointer to a mult_cost.  Update all cost comparisons to use the
- 	new mult_cost infrastructure.  For alg_add_factor and
- 	alg_sub_factor operations, latency is lower than the rtx_cost.
- 	(choose_mult_variant):  Update calls to synth_mult.  Perform
- 	cost comparisons using the new mult_cost infrastructure.
- 	(expand_mult_highpart): Use alg.cost.cost instead of alg.cost
- 	to optain the total rtx_cost of a synth_mult "algorithm".
- 
- 2004-09-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md: Increase store latency to 12.
- 	* config/rs6000/power5.md: Same.
- 
- 2004-09-01  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/14064
- 	* config/avr/avr.c (avr_unique_section): Delete prototype and
- 	definition.
- 	(TARGET_ASM_UNIQUE_SECTION): Delete.
- 
- 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (primary): Call objc_build_message_expr(),
- 	objc_build_selector_expr(), objc_build_protocol_expr(),
- 	objc_build_encode_expr() and objc_build_string_object() instead of
- 	build_message_expr(), build_selector_expr(), build_protocol_expr(),
- 	build_encode_expr() and build_objc_string_object(), respectively.
- 	(component_decl_list2): Call objc_get_class_ivars() instead of
- 	get_class_ivars_from_name().
- 	(keyworddecl): Call objc_build_keyword_decl() instead of
- 	build_keyword_decl().
- 	(receiver): Call objc_get_class_reference() instead of
- 	get_class_reference().
- 	(reswords): Add blank line before @@ifobjc section, for clarity.
- 
- 2002-09-01  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Restrict alignment
- 	to Altivec vetors.
- 
- 2004-09-01  Wu Yongwei  <adah@sh163.net>
- 	    Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* gthr-win32.h (__gthread_recursive_mutex_t): Use 'unsigned long',
- 	not Windows 'DWORD'.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Correct typo.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
- 	(__gthr_win32_recursive_mutex_init_function): Add prototype for
- 	__GTHREAD_HIDE_WIN32API case..
- 	(__gthr_win32_recursive_mutex_lock): Likewise.
- 	(__gthr_win32_recursive_mutex_trylock): Likewise.
- 	(__gthr_win32_recursive_mutex_unlock): Likewise.
- 	(__gthread_recursive_mutex_init_function); Add definition for
- 	__GTHREAD_HIDE_WIN32API case.
- 	(__gthread_recursive_mutex_lock): Correct call to InterlockedDecrement.
- 	* config/i386/grthr-win32.c (__gthread_recursive_mutex_lock): Correct
- 	call to InterlockedDecrement.
- 
- 2004-09-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-tailcall.c (find_tail_calls): Also fail is statement has
- 	volatile operands.
- 
- 	* tree-ssa.c (propagate_into_addr): Properly test for LHR.
- 
- 	* doc/c-tree.texi: Document new operands for ARRAY_REF and
- 	COMPONENT_REF.
- 
- 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency.
- 	* common.opt (fspeculative-prefetching): New.
- 	* flags.h (flag_speculative_prefetching_set): Declare.
- 	* gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative
- 	values.
- 	* opts.c (flag_sepculative_prefetching_set): New variable.
- 	(common_handle_option): Handle -fspeculative-prefetching.
- 	* passes.c (rest_of_compilation): Ditto.
- 	* profile.c (instrument_values, compute_value_histograms, branch_prob):
- 	Use vectors instead of arrays.
- 	* toplev.c (process_options): Handle -fspeculative-prefetching.
- 	* rtl-profile.c: Include ggc.h.
- 	(rtl_gen_interval_profiler, rtl_gen_pow2_profiler,
- 	rtl_gen_one_value_profiler_no_edge_manipulation,
- 	rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of
- 	argument changed.
- 	* tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler,
- 	tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of
- 	argument changed.
- 	* value-prof.c: Include ggc.h.
- 	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New
- 	macros.
- 	(insn_prefetch_values_to_profile, find_mem_reference_1,
- 	find_mem_reference_2, find_mem_reference, gen_speculative_prefetch,
- 	speculative_prefetching_transform): New.
- 	(value_profile_transformations): Call speculative_prefetching_transform.
- 	(insn_values_to_profile): Call insn_prefetch_values_to_profile.
- 	(insn_divmod_values_to_profile, rtl_find_values_to_profile,
- 	tree_find_values_to_profile, find_values to profile): Use vectors
- 	instead of arrays.
- 	(free_profiled_values): Removed.
- 	* value-prof.h (struct histogram_value): Renamed to
- 	struct histogram_value_t.
- 	(histogram_value, histogram_values): New types.
- 	(find_values_to_profile): Declaration changed.
- 	(free_profiled_values): Removed.
- 	(struct profile_hooks): Type of argument of the hooks changed to
- 	histogram_value.
- 	* doc/invoke.texi (-fspeculative-prefetching): Document.
- 
- 2004-09-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR rtl-optimization/16408
- 	* gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
- 
- 2004-09-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
- 	(TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
- 
- 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
- 
- 2004-09-01  Mike Stump  <mrs@apple.com>
- 
- 	* config/darwin.c (machopic_symbol_defined_p): In addition to
- 	being SYMBOL_REF_LOCAL_P, a symbol must also be
- 	! SYMBOL_REF_EXTERNAL_P, as only those are _always_ locally
- 	defined in this output file, or translation unit in the case
- 	of IMA not being used.
- 	(machopic_output_indirection): SYMBOL_REF_LOCAL_P symbols
- 	never need .indirect_symbol when indirecting.
- 
- 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* Makefile.in (bb-reorder.o): Add several dependencies.
- 
- 2004-09-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (operand_equal_p): Require equal sign also for
- 	FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
- 
- 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config.gcc (--with-cpu on ARM): Preserve the canonical cpu name
- 	for use in configargs.h.  Put the cname in a separate variable.  Use
- 	that to set target_cpu_default2.
- 
- 2004-09-01  J"orn Rennecke <joern.rennecke@superh.com>
- 	    Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sh/sh.md ("length"): Increase branch length when
- 	SH1 pic code to 18: 12 bytes of instructions, 4 byte for the
- 	constant, 2 byte for aligning the constant.
- 
- 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/arm-cores.def (ARM_CORE): Add new field for the real name of the
- 	CPU.
- 	(arm7tdmi-s): New CPU name.
- 	* arm/arm.c (ARM_CORE): Update for new format.
- 	* arm/arm.h (ARM_CORE): Likewise.
- 	* arm/gentune.sh: Update for extra field.
- 	* config.gcc: Likewise.
- 	* arm/arm-tune.md: Regenerate.
- 	* doc/invoke.texi: Document the real processor names for ARM cpus.
- 
- 2004-09-01  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/ieee754-df.S (aeabi_ul2d, aeabi_l2d, floatundidf)
- 	(floatdidf): New functions.
- 	* arm/ieee754-sf.S (aeabi_ul2f, aeabi_l2f, floatundisf)
- 	(floatdisf): New functions.
- 	* t-arm-elf: Use them.
- 
- 2004-09-01  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.h (lookup_interface): Remove prototype.
- 	(is_class_name): Rename to objc_is_class_name.
- 	(lookup_objc_ivar): Rename to objc_lookup_ivar.
- 	(get_current_scope): Rename to objc_get_current_scope.
- 	* c-decl.c (get_current_scope): Rename to objc_get_current_scope.
- 	* c-parse.in (parmlist_or_identifiers_1): Get rid of unused variable.
- 	(yylexname): Call objc_is_class_name() instead of is_class_name().
- 	* c-typeck.c (build_external_ref): Call objc_lookup_ivar()
- 	instead of lookup_objc_ivar().
- 	* stub-objc.c (lookup_interface): Remove stub.
- 	(is_class_name): Rename to objc_is_class_name.
- 	(lookup_objc_ivar): Rename to objc_lookup_ivar.
- 
- 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc (arm*-*-symbianelf*): Do not include t-bpabi.
- 	* config/arm/lib1funcs.asm: Do not include supplemental .S files
- 	when compiling for Symbian.
- 	* config/arm/symbian.h (RENAME_LIBRARY): New macro.
- 	(TARGET_OS_CPP_BUILTINS): Likewise.
- 	* config/arm/t-symbian (LIB1ASMFUNCS): Define.
- 
- 2004-08-31  Stan Shebs  <shebs@apple.com>
- 
- 	* toplev.c (process_options): Ensure debug_hooks is initialized.
- 
- 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* target-def.h (TARGET_CXX): Add TARGET_CXX_EXPORT_CLASS_DATA.
- 	* target.h (cxx): Add export_class_data.
- 	* config/arm/arm.c (arm_cxx_export_class_data): New function.
- 	(TARGET_CXX_EXPORT_CLASS_DATA): Use it.
- 	* doc/tm.texi (TARGET_CXX_EXPORT_CLASS_DATA): Document it.
- 
- 2004-08-31  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (output_branch): Check the insn length possibly
- 	in the delayed slot.
- 
- 2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-pretty-print.c (dump_generic_node, case CONVERT_EXPR): Add
- 	blank after ')'.
- 	(op_symbol, case *_{DIV,MOD}_EXPR): Say what rounding is being used.
- 
- 	* c-common.c (c_alignof_expr): Use DECL_ALIGN_UNIT and TYPE_ALIGN_UNIT.
- 	(c_sizeof_of_alignof_type): Likewise.
- 	* expr.c (array_ref_element_size): Likewise.
- 	(highest_pow2_factor_for_target): Likewise.
- 	* gimplify.c (canonicalize_addr_expr): Likewise.
- 	(gimplify_compound_lval): Likewise.
- 	* stor-layout.c (finalize_record_size, finalize_type_size): Likewise.
- 	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
- 	* varasm.c (assemble_variable): Likewise.
- 	(output_constant_def_contents): Alignments are unsigned.
- 
- 2004-08-31  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* tree-cfg.c (cfg_remove_useless_stmts_bb): Also invalidate if VAL
- 	gets modified.
- 
- 2004-08-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* hooks.c (hook_bool_void_true): New function.
- 	* hooks.h (hook_bool_void_true): Declare.
- 	* target-def.h (TARGET_CXX): Add
- 	TARGET_CXX_KEY_METHOD_MAY_BE_INLINE.
- 	* target.h (struct cxx): Add key_method_may_be_inline.
- 	* config/arm/arm.c (arm_cxx_key_method_may_be_inline): New
- 	function.
- 	(TARGET_CXX_KEY_METHOD_MAY_BE_INLINE): New macro.
- 	* config/arm/bpabi.h: Use __THUMB_INTERWORK__ instead of
- 	__THUMB_INTERWORK.
- 
- 2004-08-31  Denis Chertykov  <denisc@overta.ru>
- 
- 	PR target/15417
- 	* config/avr/avr.c (avr_hard_regno_mode_ok): Enable usage of
- 	frame pointer register only in Pmode while reload in progress.
- 
- 2004-08-31  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR target/15334
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
- 	because it breaks the 32-bit shift patterns that rely on a match_dup.
- 
- 2004-08-31  Matt Austern  <austern@apple.com>
- 
- 	* config/darwin.c (darwin_make_decl_one_only): Allocate section
- 	names once per compilation, instead of once per symbol.
- 
- 2004-08-31  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* Makefile.in (build_subdir): New substitution.
- 	(fixinc.sh): Simplify heavily since fixincludes is already built.
- 	(stmp-fixinc): Depend on specs.ready.
- 	(install-mkheaders): Use new location of fixincludes.
- 	(clean): Do not descend into fixinc.
- 	(FORBUILD): Replace with ../$(build_subdir).
- 	* configure.ac (build_subdir): Substitute.
- 	(FORBUILD): Do not set.
- 	(all_outputs): Remove fixinc/Makefile.
- 	(default commands): Do not create links in fixinc.
- 	* mkfixinc.sh: New, from fixinc/mkfixinc.sh without
- 	the fixincludes configuration steps and substituting
- 	@FIXINCL@ in fixinc.in.
- 	* fixinc.in: New, from fixinc/fixincl.sh.
- 
- 	* fixinc/*: Removed.
- 
- 2004-08-31  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* attribs.c (strip_attrs): Remove.
- 	(split_specs_attrs): Move ...
- 	* c-decl.c: ... to here.
- 	* tree.h (split_specs_attrs, strip_attrs): Remove.
- 	* c-tree.h (split_specs_attrs): Declare.
- 
- 2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* read-rtl.c: Disable RTL checking.
- 	(apply_macro_to_rtx): Use XTMPL to access 'T' fields.
- 
- 2004-08-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (fcond): New code macro and attribute.
- 	(sunordered_[sd]f, suneq_[sd]f, sunlt_[sd]f, sunle_[sd]f)
- 	(seq_[sd]f, slt_[sd]f, sle_[sd]f): Redefine using :SCALARF and fcond.
- 	(sgt_[sd]f, sge_[sd]f): Redefine using :SCALARF.
- 
- 2004-08-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert:
- 	2004-08-29  Mark Mitchell  <mark@codesourcery.com>
- 	PR rtl-optimization/16590
- 	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
- 
- 2004-08-30  Andrew Pinski  <apinski@apple.com>
- 
- 	* hard-reg-set.h:
- 	s/HOST_BITS_PER_WIDES_FAST_INT/HOST_BITS_PER_WIDEST_FAST_INT.
- 	* ChangeLog: Fix previous ChangeLog entry.
- 
- 	PR rtl-opt/13987
- 	* config.host (use_long_long_for_widest_fast_int): New, default is
- 	off.
- 	(ia64-*-hpux*): Enable use_long_long_for_widest_fast_int.
- 	* configure.ac: If use_long_long_for_widest_fast_int, then
- 	define USE_LONG_LONG_FOR_WIDEST_FAST_INT.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 	* hwint.h (HOST_WIDEST_FAST_INT, HOST_BITS_PER_WIDEST_FAST_INT):
- 	New: widest integer type supported efficiently in hardware for the
- 	host.
- 	* sbitmap.h (SBITMAP_ELT_BITS): Define based on
- 	HOST_BITS_PER_WIDEST_FAST_INT.
- 	(SBITMAP_ELT_TYPE): Define based on HOST_WIDEST_FAST_INT.
- 	* hard-reg-set.h (HARD_REG_ELT_TYPE): Define based on
- 	HOST_WIDEST_FAST_INT
- 	instead of HOST_WIDE_INT.
- 	(HARD_REG_SET_LONGS): Likewise.
- 	(UHOST_BITS_PER_WIDE_INT): Likewise.
- 	Change the checks for the fast cases to be based on
- 	HOST_BITS_PER_WIDEST_FAST_INT instead of HOST_BITS_PER_WIDE_INT.
- 
- 2004-08-30  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgcleanup.c (merge_memattrs): Look at the value of MEM_SIZE,
- 	not the pointers.
- 
- 2004-08-30  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 12738
- 	PR 17205
- 	Radar 3460526
- 	Radar 3775729
- 	* c-decl.c (grokdeclarator): Produce error for 'static' on local
- 	function declaration.
- 
- 2004-08-30  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (array_ref_element_size): Force aligned_size back to
- 	sizetype.
- 	(component_ref_field_offset): Similarly for aligned_offset.
- 	* tree.c (recompute_tree_invarant_for_addr_expr): Mark raw
- 	low-bound, element-size, field-offset fields rather than
- 	computed values.
- 
- 2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-parse.in (parmlist_or_identifiers_1): Remove unreachable and
- 	redundant code.
- 
- 2004-08-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (struct language_function): Add arg_info element.
- 	* c-decl.c (current_function_arg_info): New.
- 	(grokdeclarator, store_parm_decls): Use it instead of
- 	DECL_ARGUMENTS.
- 	(c_push_function_context, c_pop_function_context): Save and
- 	restore it.
- 
- 2004-08-30  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (build_unary_op): Don't expand ADDR_EXPR of a
- 	COMPONENT_REF to pointer arithmetic.
- 	* varasm.c (initializer_constant_valid_p): Allow "&(*c).f", for
- 	constant "c" as a valid constant initializer.  Allow narrowing of
- 	differences against the same base object, for any base object.
- 
- 2004-08-30  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr_addr_expr): New.
- 	(expand_expr_real_1) <case ADDR_EXPR>: Use it.
- 
- 2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (MIPS_FP_CONDITIONS): New macro.
- 	(mips_fp_condition): New enum.
- 	(mips_fp_conditions): New array.
- 	(print_fcc_operand): Delete.
- 	(print_operand): Remove %V, %v and %Q.  Redefine %Z so that it prints
- 	the operand and comma if and only if ISA_HAS_8CC.  Add %Y.
- 	(builtin_description): Add "cond" field.
- 	(DIRECT_BUILTIN): Initialize it.
- 	(CMP_{SCALAR,PS,4S}_BUILTINS, MOVTF_BUILTINS): Split INSN parameter
- 	into INSN and CODE.  Initialize the "cond" field.
- 	(CMP_BUILTINS): Update accordingly.
- 	(mips_bdesc): Use MIPS_FP_CONDITIONS to invoke CMP_BUILTINS.
- 	(mips_expand_builtin_movtf, mips_expand_builtin_compare): Take the
- 	mips_fp_condition as argument.  Make it the final operand of the
- 	comparison instruction.
- 	(mips_expand_builtin): Update accordingly.
- 	* config/mips/mips.md (UNSPEC_C_*, UNSPEC_CABS_*): Delete.
- 	(UNSPEC_C, UNSPEC_CABS): New constants.  Shuffle others to fill
- 	the gaps.
- 	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps, bc1any[24][ft]):
- 	Don't use the 'Q' operand prefix; just print the operand normally.
- 	(mips_cabs_*, mips_c_*): Delete, replacing with...
- 	(mips_c_cond_{ps,4s}, mips_cabs_cond_{s,d,ps,4s}): ...these new
- 	patterns.  Split the 4s versions into 2 ps patterns after reload.
- 
- 2004-08-30  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (tree_expr_nonzero_p): Use get_base_address before
- 	assuming an ADDR_EXPR is non-null.
- 
- 2004-08-30  Jason Merrill  <jason@redhat.com>
- 
- 	* gthr-posix.h, gthr-dce.h: Add #pragma weaks.
- 
- 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset,
- 	record_set, rtx_equal_for_memref_p, init_alias_analysis): Use
- 	gcc_assert and gcc_unreachable instead of abort.
- 	* alloc-pool.c (abort, fancy_abort): Remove.
- 	(create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use
- 	gcc_assert or gcc_unreachable.
- 	* attribs.c (init_attributes, decl_attributes): Likewise.
- 	* bb-reorder.c (FREE, find_traces_1_round, copy_bb,
- 	mark_bb_for_unlikely_executed_section,
- 	add_labels_and_missing_jumps, fix_crossing_conditional_branches,
- 	fix_crossing_unconditional_branches):  Likewise.
- 	* bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit,
- 	bitmap_operation):  Likewise.
- 	* bt-load.c (insn_sets_btr_p, augment_live_range,
- 	move_btr_def):  Likewise.
- 	* builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size,
- 	apply_result_size, expand_builtin_apply, expand_builtin_mathfn,
- 	expand_builtin_mathfn_2, expand_builtin_mathfn_3,
- 	builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy,
- 	expand_builtin_memcmp, expand_builtin_args_info,
- 	std_gimplify_va_arg_expr, expand_builtin_unop,
- 	expand_builtin_fputs, expand_builtin_profile_func,
- 	expand_builtin_fork_or_exec, fold_builtin_bitop,
- 	fold_builtin_classify, fold_builtin_fputs): Likewise.
- 
- 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.c (GCOV_CHECK): Use gcc_assert when available.
- 	* gcov.c (abort): Remove undef.
- 
- 	* tree.h (BINFO_PRIMARY_BASE_OF): Remove.
- 	(struct tree_binfo): Remove primary field.
- 
- 2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* fixinc/Makefile.in (machname.h): Remove.
- 	(fixincl.x): Do not pass $@ to genfixes.
- 	* fixinc/genfixes: Remove code to produce machname.h.
- 	* fixinc/fixincl.sh: Move it here instead.
- 	* fixinc/fixlib.c: Do not conditionalize on MN_NAME_PAT's presence,
- 	instead check if pz_mn_name_pat is NULL.  Make mn_get_regexps
- 	return a bool indicating whether pz_mn_name_pat is NULL.
- 	* fixinc/fixlib.h: Do not conditionalize on MN_NAME_PAT's presence.
- 	Declare extern C variables for the ENV_TABLE.
- 	* fixinc/fixfixes.c: Do not conditionalize on MN_NAME_PAT's presence,
- 	instead use the result of mn_get_regexps.
- 	* fixinc/fixtests.c: Likewise.
- 
- 2004-08-30  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* configure.ac: Do not run fixincludes after stage1 during
- 	toplevel bootstrap.
- 	* configure: Regenerate.
- 
- 2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* sched-deps.c (get_condition): Partially revert previous, by never
- 	trying to extract the condition from a condjump.
- 
- 2004-08-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.c (c_sizeof_or_alignof_type): Use gcc_assert.
- 	(handle_visibility_attribute, c_determine_visibility): Likewise.
- 	* c-common.h (my_friendly_assert): Remove.
- 
- 2004-08-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (UNSPEC_{RSQRT,RECIP}[12]_{S,D,PS}): Delete.
- 	(UNSPEC_{RSQRT,RECIP}[12]): New constants.
- 	(UNSPEC_MOVE_TF_PS): Renumber to avoid gaps.
- 	* config/mips/mips-ps-3d.md (*movcc_v2sf_[sd]i): Use :GPR.
- 	(mips_{rsqrt,recip}[12]_{s,d,ps}): Use :ANYF.
- 
- 2004-08-30  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-pretty-print.c (dump_generic_node): Handle VALUE_HANDLE
- 	in COMPONENT_REF nodes.
- 
- 2004-08-29  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	PR c++/15378
- 	* c-opts.c (c_common_handle_option): <case OPT_Werror> set
- 	global_dc->warning_as_error_requested.
- 	* diagnostic.c (diagnostic_initialize): Tidy.
- 	* diagnostic.h (diagnostic_context::x_data): Remove
- 	(diagnostic_context::issue_warnings_are_errors_message): Rename
- 	from warnings_are_errors_message.
- 	(diagnostic_context::warning_as_error_requested): New.
- 
- 2004-08-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* sched-deps.c (get_condition): Fix breakage in previous patch.
- 
- 2004-08-30  Paul Brook  <paul@codesourcery.com>
- 
- 	* doc/install.texi: Fix broken mpfr link.
- 
- 2004-08-29  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
- 	other FreeBSD platforms.
- 
- 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (REVERSE_CONDITION): Define.
- 	(REVERSIBLE_CC_MODE): All comparisons are now reversible.
- 
- 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (REVERSE_CONDEXEC_PREDICATES_P): Use the whole comparison, not
- 	just the codes, call reversed_comparison_code ().
- 	(ior_reg_cond): Update arguments to REVERSE_CONDEXEC_PREDICATES_P.
- 	(not_reg_cond): Use reversed_comparison_code.
- 	(and_reg_cond): Likewise.
- 	* ifcvt.c (cond_exec_process_if_block): Likewise.
- 	* doc/tm.texi (REVERSE_CONDEXEC_PREDICATES_P): Update documentation.
- 
- 2004-08-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* sched-deps.c (get_condition): Rewrite using jump support functions.
- 	Use reversed_comparison_code.
- 	(conditions_mutex_p): Use reversed_comparison_code.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Disable hot/cold partitioning
- 	for MIPS16.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (mips_builtins, mips_cmp_choice): Delete.
- 	(mips_function_type): Move to mips.c.
- 	* config/mips/mips.c (mips_builtin_type): New enum.
- 	(builtin_description): Replace code and ftype with builtin_type
- 	and function_type.
- 	(DIRECT_BUILTIN, CMP_SCALAR_BUILTINS, CMP_PS_BUILTINS, CMP_4S_BUILTINS)
- 	(MOVTF_BUILTINS, CMP_BUILTINS): New macros.
- 	(CODE_FOR_mips_abs_ps): Define.
- 	(mips_bdesc): Use new macros.
- 	(mips_expand_builtin): Use builtin_type.  Update calls to subroutines.
- 	(mips_init_builtins): Use the mips_bdesc[] index as the function code.
- 	(mips_expand_builtin_direct): New function.
- 	(mips_expand_builtin_movtf): Renamed from mips_expand_ps_cond_move_
- 	builtin.  Replace boolean parameter with builtin_type.
- 	(mips_expand_compare_builtin, mips_expand_scalar_compare_builtin)
- 	(mips_expand_4s_compare_builtin): Delete, replacing with...
- 	(mips_expand_builtin_compare): ...this new function.
- 
- 2004-08-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR rtl-optimization/16590
- 	* gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
- 
- 2004-08-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-ccp.c (ccp_visit_stmt): Remove #if 0 guards.
- 	* tree-ssa-propagate.c: Fix documentation.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*mov[sd]f_on_*): Redefine using :SCALARF.
- 	(mov[sd]fcc): Likewise.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (cmp[sd]f): Redefine using :SCALARF.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (divide_condition): New mode attribute.
- 	(div[sd]f3, *div[sd]f3): Use it.  Redefine using :SCALARF.
- 	(sqrt[sd]f3): Redefine using SCALARF.
- 	(*recip[sd]f3, *rsqrt<mode>[ab]): Likewise.  Name formerly unnamed
- 	patterns.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (ANYF, SCALARF): New mode macros.
- 	(loadx, storex, fmt, UNITMODE): New mode attributes.
- 	(add{sf,df,v2sf}3, sub{sf,df,v2sf}3): Redefine using :ANYF.
- 	(mul[sd]f3): Redefine using :SCALARF.
- 	(*mul[sd]f3): Renamed from mul[sd]f3_internal.  Use :SCALARF.
- 	(*mul[sd]3_r4300): Likewise mul[sd]f3_r4300.
- 	(*m{add,sub}{sf,df,v2sf}3): Name formerly unnamed patterns.  Use :ANYF.
- 	Check TARGET_FUSED_MADD for V2SF too.
- 	(*nm{add,sub}{sf,df,v2sf}3{,_fastmath}): Likewise, except v2sf patterns
- 	were already named.
- 	(abs{sf,df,v2sf}3, neg{sf,df,v2sf}3): Redefine using :ANYF.
- 	(*[sl][wd]xc1_[sd]i): Redefine using :ANYF.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_init_builtins): Simplify.  Only create
- 	V2SF_type_node if it will be needed.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MIPS_CMP_MOVT, MIPS_CMP_MOVF): Delete.
- 	* config/mips/mips.c (mips_prepare_builtin_arg): New function.
- 	(mips_prepare_builtin_target): New function.
- 	(mips_expand_builtin): Use them.  Update calls to subroutines.
- 	(mips_expand_ps_cond_move_builtin): Use the new functions.  Replace
- 	cmp_choice with a boolean argument to select between movt and movf.
- 	Take the comparison's icode as an argument, not the function's fcode.
- 	(mips_expand_compare_builtin): New function.  Rename existing function
- 	to mips_expand_scalar_compare_builtin.
- 	(mips_expand_scalar_compare_builtin, mips_expand_4s_compare_builtin)
- 	(mips_expand_ps_compare_builtin): Use the new functions.  Take the
- 	comparison's icode as an argument, not the builtin's fcode.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (print_operand): Remove '%Y' and '%y'.
- 	(mips_expand_4s_compare_builtin): Redefine CCV4 to be 0 if all
- 	registers are false and -1 if all registers are true.
- 	(mips_expand_ps_compare_builtin): Likewise CCV2.  Use subregs for
- 	MIPS_CMP_UPPER and MIPS_CMP_LOWER.
- 	* config/mips/mips.md (mips_cond_move_tf_ps): Use %Q rather than %y.
- 	(bc1any4t, bc1any4f): Adjust for new CCV4 interpretation.
- 	(bc1any2t, bc1any2f): Likewise CCV2.
- 	(bc1upper2t, bc1lower2t, bc1upper2f, bc1lower2f): Delete.
- 
- 2004-08-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (UNSPEC_MOVE_TF_PS): New.
- 	* config/mips/mips-ps-3d.md (mips_cond_move_tf_ps): Express as an
- 	UNSPEC rather than an IF_THEN_ELSE.
- 	* config/mips/mips.c (mips_expand_ps_cond_move_builtin): Emit
- 	mips_cond_move_tf_ps by name.
- 
- 2004-08-29  Chao-ying Fu  <fu@mips.com>
- 	    James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips-modes.def (V2SF, CCV2, CCV4): New modes. Give CCV2
- 	8 byte size and alignment.  Give CCV4 16 byte size and alignment.
- 	* config/mips/mips-ps-3d.md: New file.
- 	* config/mips/mips.c (TARGET_VECTOR_MODE_SUPPORTED_P,
- 	TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
- 	(mips_const_insns): Handle CONST_VECTOR the same as CONST_DOUBLE.
- 	(mips_output_move): Emit "mov.ps" for V2SFmode.
- 	(mips_arg_info): Add checks for VECTOR_FLOAT_TYPE_P and
- 	MODE_VECTOR_FLOAT.
- 	(override_options): Check if TARGET_MIPS3D and there was an explicit
- 	!TARGET_PAIRED_SINGLE_FLOAT.  Set MASK_PAIRED_SINGLE, if TARGET_MIPS3D.
- 	Check if TARGET_FLOAT64 and TARGET_HARD_FLOAT are both true, when
- 	TARGET_PAIRED_SINGLE_FLOAT is true.  Check if the ISA supports
- 	TARGET_PAIRED_SINGLE_FLOAT.  Allow MODE_VECTOR_FLOAT in fp registers,
- 	and allow CCV2 and CCV4 to occupy two and four CC registers.
- 	(print_fcc_operand): New function.
- 	(print_operand): Add %Y, %y, %V, %v, %Q for CCV2, CCV4, CC.  Modify
- 	%Z to call print_fcc_operand.
- 	(mips_function_value): Handle MODE_VECTOR_FLOAT.
- 	(mips_class_max_nregs): Check for ST_REGS, and handle CCmodes.
- 	(mips_vector_mode_supported_p): New function.
- 	(mips_hard_regno_nregs): Check for ST_REG_P, and handle CCmodes.
- 	(builtin_description): New struct.
- 	(mips_bdesc): New array of struct builtin_description.
- 	(mips_expand_builtin, mips_init_builtins,
- 	mips_expand_ps_cond_move_builtin, mips_expand_4s_compare_builtin,
- 	mips_expand_compare_builtin, mips_expand_ps_compare_builtin): New
- 	functions.
- 	* config/mips/mips.h (MASK_PAIRED_SINGLE, MASK_MIPS3D): New defines.
- 	(TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D): New defines.
- 	(TARGET_CPU_CPP_BUILTINS): Add __mips_paired_single_float.
- 	(TARGET_SWITCHES): Added "-mpaired-single", "-mno-paired-single",
- 	"-mips3d", and "-mno-mips3d".
- 	(ASM_SPEC): Map -mips3d to -mips3d in gas.
- 	(EXTRA_CONSTRAINT_Y): New macro.
- 	(EXTRA_CONSTRAINT_STR): Renamed from EXTRA_CONSTRAINT.  Add new
- 	multi-letter constraint 'Y'.
- 	(CONSTRAINT_LEN): New macro.
- 	(enum mips_builtins): New for MIPS builtin functions.
- 	(enum mips_function_type): New for the types of MIPS builtin functions.
- 	(enum mips_cmp_choice): New for the MIPS comparison builtin functions.
- 	* config/mips/mips.md: New constants for paired single and MIPS-3D
- 	instructions.  Include the new mips-ps-3d.md file.
- 	(addv2sf3, subv2sf3, mulv2sf3, absv2sf2, negv2sf2, movv2sf,
- 	movv2sf_hardfloat_64bit): New named patterns.
- 	(madd.ps, msub.ps, nmaddv2sf, nmaddv2sf_fastmath, nmsubv2sf,
- 	nmsubv2sf_fastmath, ldxc1_v2sf_si, ldxc1_v2sf_di, sdxc1_v2sf_si,
- 	sdxc1_v2sf_di): New unnamed patterns.
- 	* config/mips/predicates.md (const_0_operand, const_1_operand): Add
- 	const_vector support.
- 	(const_0_or_1_operand): New predicate.
- 	* doc/invoke.texi (MIPS Options): Add -mpaired-single and -mips3d.
- 
- 2004-08-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* Makefile.in (OBJS-common): Add tree-ssa-propagate.o
- 	(tree-ssa-propagate.o): New rule.
- 	(GTFILES): Add tree-ssa-propagate.c.
- 	* tree-flow.h (struct stmt_ann_d): Remove field
- 	in_ccp_worklist.
- 	* tree-ssa-propagate.c: New file.
- 	* tree-ssa-propagate.h: New file.
- 	* tree-ssa-ccp.c: Re-write to use the routines from
- 	tree-ssa-propagate.c.
- 
- 2004-08-28  Andrew Pinski  <apinski@apple.com>
- 
- 	* tree-ssa-loop.c: Remove extra include of basic-block.h.
- 
- 2004-08-28  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.h: Update comments about ObjC/ObjC++ entry points.
- 	(objc_is_reserved_word): New prototype.
- 	(get_current_scope, objc_mark_locals_volatile): Move prototypes to
- 	separate section; these are call-backs.
- 	* c-lex.c (c_lex_with_flags): Call objc_is_reserved_word() to detect
- 	ObjC/ObjC++ "@" keywords.
- 	* c-tree.h (get_current_scope, objc_mark_locals_volatile): Remove
- 	prototypes; they already live in c-common.h.
- 	* stub-objc.c: Update copyright notice.
- 	(objc_is_reserved_word): New stub.
- 
- 2004-08-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* system.h (gcc_assert): Remove __builtin_expect.  Evaluate EXPR
- 	even when not checking.
- 
- 2004-08-27  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/13684
- 	* gimplify.c (gimplify_cleanup_point_expr): Handle CLEANUP_EH_ONLY.
- 	(gimple_push_cleanup): Add eh_only parm.
- 	(gimplify_target_expr): Pass it.
- 	* c.opt (-fno-threadsafe-statics): New option.
- 	* c-opts.c (c_common_handle_option): Handle it.
- 	* c-common.h (flag_threadsafe_statics): Declare it.
- 	* c-common.c (flag_threadsafe_statics): Record it.
- 	* doc/invoke.texi: Document it.
- 	* tsystem.h (_GNU_SOURCE): Define.
- 	* gthr-posix.h (__gthread_recursive_mutex_t): New typedef.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT): New macro.
- 	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): New macro.
- 	(__gthread_recursive_mutex_init_function): New fn.
- 	(__gthread_recursive_mutex_lock): New fn.
- 	(__gthread_recursive_mutex_trylock): New fn.
- 	(__gthread_recursive_mutex_unlock): New fn.
- 	* gthr-solaris.h, gthr-single.h, gthr-dce.h: Likewise.
- 	* gthr-win32.h, gthr-vxworks.h: Likewise.
- 	* gthr.h: Document.
- 
- 2004-08-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Increase
- 	maximum skip to 15.  Set function alignment, jump alignment, and
- 	loop alignment to 16 for processors that form dispatch groups.
- 	(rs6000_rtx_costs): outer_code is used.
- 
- 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* stor-layout.c (sizetype_set): Remove.
- 	(set_sizetype): Don't test or set it.
- 
- 	* tree.h (size_int_type): Remove.
- 	* fold-const.c: Do not #include gt-fold-const.h.
- 	(size_htab_hash, size_htab_eq): Remove.
- 	(size_int_kind): Use build_int_cst.
- 	(new_const, size_htab): Remove.
- 	(size_int_type): Remove.
- 	(round_up): Use build_int_cst.
- 	(round_down): Likewise. Remove spurious constant build.
- 
- 2004-08-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.ac: Add ENABLE_ASSERT_CHECKING control.
- 	Add is_release variable, use it for --enable-werror and
- 	--enable-checking defaults.
- 	* system.h (gcc_assert, gcc_unreachable): New.
- 	* doc/install.texi (--enable-checking): Update.
- 	* configure, config.in: Rebuilt.
- 
- 2004-08-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* rtl.h (read_rtx): Change prototype.
- 	* read-rtl.c (read_rtx): Provide the caller with both an rtx and a
- 	line number.  Return true on success.
- 	* gensupport.c (process_include, init_md_reader_args_cb): Adjust
- 	callers accordingly.
- 
- 2004-08-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (build_offsetof): Remove.
- 	* c-tree.h (build_offsetof): Remove.
- 	* c-common.c (fold_offsetof_1, fold_offsetof): New.
- 	* c-common.h (fold_offsetof): Declare.
- 	* c-parse.in (offsetof_base): New.
- 	(offsetof_member_designator): Use it.  Build references, not just
- 	a tree list.
- 	(primary): Use fold_offsetof, not build_offsetof.
- 
- 2004-08-26  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.c (staticp): Return the static object.
- 	* tree.h (staticp): Update decl.
- 	* langhooks.h (struct lang_hooks): Change staticp return type to tree.
- 	* langhooks.c (lhd_staticp): Return NULL_TREE.
- 	* langhooks-def.h (lhd_staticp): Update decl.
- 	* c-common.c (c_staticp): Return the static object.
- 	* c-common.h (c_staticp): Update decl.
- 
- 2004-08-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
- 	modes.
- 
- 2004-08-26  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/13801
- 	* c-decl.c (struct c_binding): Add type and inner_comp fields.
- 	(bind): Set type and inner_comp fields.
- 	(pop_scope): Restore type of decl to the correct type from an
- 	outer scope.  Give error when popping file scope for incomplete
- 	arrays completed incompatibly with default initialization in an
- 	inner scope.
- 	(diagnose_mismatched_decls): Handle externs with initializers at
- 	block scope.
- 	(pushdecl): Set type of external declaration at block scope based
- 	only on the visible declarations.  Save type when changing the
- 	type of a declaration.  Merge an external declaration at block
- 	scope with a visible static declaration at file scope.
- 	(implicitly_declare): Give recycled old declaration the new type
- 	except for incompatible declarations of built-in functions, saving
- 	the old type.
- 
- 2004-08-26  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (OBJC_TYPE_QUAL): New %token for ObjC use.
- 
- 2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-alias-common.c (gate_pta): New function.
- 	(pass_build_pta): Use it.
- 	(pass_del_pta): Use it.
- 	(delete_alias_vars): Don't check flag_tree_points_to.
- 
- 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.h (HARD_REGNO_CALL_PART_CLOBBERED): Added
- 	TFmode as additional register mode cloberred by call.
- 
- 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_libcall_value): Generate
- 	parallel pattern for library call returning DImode in
- 	mixed mode.
- 
- 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Generate parallel
- 	pattern for more split args.
- 
- 2004-08-26  Fariborz Jahanian  <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Call
- 	either gen_movdi_di_update or gen_movdi_si_update depending on
- 	target mode.
- 	* config/rs6000/rs6000.md (movdi_update): Changed to movdi_<mode>_update,
- 	to generate two versions.
- 
- 2004-08-26  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (lambda-code.o): New.
- 	(lambda-trans.o): Ditto.
- 	(TREE_DATA_REF_H): Ditto.
- 	(LAMBDA_H): Ditto.
- 	(lambda-mat.o): Use LAMBDA_H.
- 	(tree-data-ref.o): Ditto.
- 	* lambda-code.c: New file.  Lambda code generation algorithm.
- 	* lambda-trans.c: Ditto. Lambda transformation matrix support.
- 	* lambda.h: Add lambda loop structures.
- 	Add lambda loopnest structures.
- 	Add lambda body vector structure.
- 	Add lambda linear expression structures.
- 	Add prototypes for functions in new files.
- 	* lambda-mat.c: Include tree.h
- 
- 2004-08-26  Daniel Berlin <dberlin@dberlin.org>
- 	    Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* tree-data-ref.h: Include lambda.h
- 	(free_dependence_relation): Declared here.
- 	(free_dependence_relations): Ditto.
- 	(free_data_refs): Ditto.
- 	* tree-data-ref.c (free_dependence_relation): New function.
- 	(free_dependence_relations): Ditto.
- 	(free_data_refs): Ditot.
- 	(analyze_all_data_dependences): Free datarefs and dependence_relations.
- 	(build_classic_dist_vector): Store in the dependence_relations the
- 	information. Each arc in the dependence_relations graph is labelled
- 	with the distance and direction vectors.
- 	(build_classic_dir_vector): Ditto.
- 	(compute_rw_wr_ww_dependences): Renamed again compute_all_dependences.
- 	Now computes again the whole dependence graph including read-read
- 	relations.
- 	(compute_data_dependences_for_loop): Now dependence_relations contains
- 	all the data, and thus it doesn't need to initialize the classic_dir
- 	and classic_dist vectors.
- 	(analyze_all_data_dependences): Adjusted for using the new interface of
- 	compute_data_dependences_for_loop.  Remove the statistics dump.
- 
- 2004-08-26  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_ld_opcodes, xtensa_st_opcodes): Delete.
- 	(xtensa_expand_block_move): Update comment.
- 	(override_options): Remove initialization of xtensa_{ld,st}_opcodes.
- 
- 2004-08026  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/13506
- 	* toplev.c (crash_signal): If we crashed while emitting
- 	a user asm, then die more gracefully.
- 
- 2004-08-26  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	PR target/17119.
- 	* config/m32r.c (gen_compare): Use reg_or_int16_operand when
- 	checking for a valid constant, regardless of sign.
- 
- 2004-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/16974
- 	* config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
- 	if the constant satisfies add_operand.
- 
- 2004-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR debug/10695
- 	* config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
- 	(alpha_expand_prologue): Handle >32-bit frames.  Generate proper
- 	unwind info for >16-bit frames.
- 
- 2004-08-25  Richard B. Kreckel  <richard.kreckel@framatome-anp.com>
- 
- 	PR target/17171
- 	* config/i386/gas.h (ASM_COMMENT_START): Define to "#".
- 
- 2004-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
- 
- 2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* doc/tree-ssa.texi: Document new operand iterator.
- 
- 2004-08-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/16480
- 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
- 	on "(mem (symbol_ref ..))" rtl.  Look at LO_SUM base regs as well
- 	as PLUS base regs.
- 
- 2005-08-28  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/symbian.h (SUBTARGET_ASM_FLOAT_SPEC): Default to
- 	-mfpu=vfp -march=armv5t
- 	* config/arm/t-symbian: Change multilib to mfloat-abi=softfp.
- 
- 2004-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	* target-def.h (TARGET_SCALAR_MODE_SUPPORTED_P): New.
- 	* target.h (struct gcc_target): Add scalar_mode_supported_p.
- 	* targhooks.c (default_scalar_mode_supported_p): New.
- 	* targhooks.h (default_scalar_mode_supported_p): Declare.
- 	* doc/tm.texi (TARGET_SCALAR_MODE_SUPPORTED_P): Document.
- 
- 	* c-common.c (handle_mode_attribute): Query scalar_mode_supported_p
- 	before attempting to create types.  Tidy.
- 	* expr.c (vector_mode_valid_p): Use scalar_mode_supported_p.
- 
- 	* config/alpha/alpha.c (alpha_scalar_mode_supported_p): New.
- 	(TARGET_SCALAR_MODE_SUPPORTED_P): New.
- 
- 2004-08-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Don't
- 	set REAL_MODE_FORMAT for TFmode.
- 
- 2004-08-25  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-decl.c (grokparm): New function.
- 	* c-tree.h (grokparm): New prototype.
- 
- 2004-08-25  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* tree-ssa-operands.h (struct ssa_operand_iterator_d): New.  SSA operand
- 	iterator controlling structure.
- 	(SSA_OP_USE, SSA_OP_DEF, SSA_OP_VUSE, SSA_OP_VMAYUSE, SSA_OP_VMAYDEF,
- 	SSA_OP_VMUSTDEF, SSA_OP_VIRTUAL_USES, SSA_OP_VIRTUAL_DEFS,
- 	SSA_OP_ALL_USES, SSA_OP_ALL_DEFS, SSA_OP_ALL_OPERANDS): New.  Operand
- 	iterator flags.
- 	(FOR_EACH_SSA_TREE_OPERAND): New.  Iterate over operands as trees.
- 	(FOR_EACH_SSA_USE_OPERAND): New.  Iterate over operands as uses.
- 	(FOR_EACH_SSA_DEF_OPERAND): New.  Iterate over operands as defs.
- 	(FOR_EACH_SSA_MAYDEF_OPERAND): New.  Iterate over V_MAY_DEFs.
- 	* tree-ssa-operands.c (NULL_DEF_OPERAND_P, NULL_USE_OPERAND_P): New.
- 	Empty operand pointers.
- 	* tree-flow-inline.h (op_iter_done): New.  Return true if finished.
- 	(op_iter_next_use): New.  Return next use_operand_p.
- 	(op_iter_next_def): New.  Return next def_operand_p.
- 	(op_iter_next_tree): New.  Return next operands as a tree.
- 	(op_iter_init): New.  Initialize an iterator structure.
- 	(op_iter_init_use): New.  Initialize structure and get the first use.
- 	(op_iter_init_def): New.  Initialize structure and get the first def.
- 	(op_iter_init_tree): New.  Initialize structure and get the first tree.
- 	(op_iter_next_maydef): New.  Return next V_MAY_DEF operands.
- 	(op_iter_init_maydef): New.  Initialize structure and get the first
- 	V_MAY_DEF operands.
- 	* tree-cfg.c (tree_duplicate_bb): Use new operand iterator.
- 	* tree-dfa.c (compute_immediate_uses_for_stmt,
- 	redirect_immediate_uses): Use new operand iterator.
- 	(v_may_defs_disappeared_p, v_must_defs_disappeared_p): Delete.
- 	(mark_new_vars_to_rename): Use new operand iterator.  Count virtual
- 	operands instead of using *_disappeared_p routines.
- 	* tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites, rewrite_stmt,
- 	ssa_rewrite_stmt): Use new operand iterator.
- 	* tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
- 	rewrite_trees): Use new operand iterator.
- 	* tree-pretty-print.c (dump_vops): Use new operand iterator.
- 	* tree-sra.c (mark_all_v_defs): Use new operand iterator.
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escape,
- 	dump_points_to_info): Use new operand iterator.
- 	* tree-ssa-ccp.c (cp_lattice_meet, visit_stmt, initialize,
- 	replace_uses_in, replace_vuse_in, likely_value, set_rhs): Use new
- 	operand iterator.
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary,
- 	propagate_necessity): Use new operand iterator.
- 	* tree-ssa-dom.c (cprop_into_stmt, optimize_stmt): Use operand iterator.
- 	(register_definitions_for_stmt): Use new operand iterator.  Take stmt as
- 	a parameter instead of a stmt_ann_t.
- 	* tree-ssa-live.c (create_ssa_var_map, calculate_live_on_entry,
- 	build_tree_conflict_graph): Use new operand iterator.
- 	* tree-ssa-loop-im.c (determine_max_movement, single_reachable_address,
- 	rewrite_mem_refs): Use new operand iterator.
- 	* tree-ssa-loop-manip.c (find_uses_to_rename_stmt,
- 	check_loop_closed_ssa_use): Use new operand iterator.
- 	* tree-ssa.c (verify_ssa, replace_immediate_uses): Use operand iterator.
- 	* tree-ssanames.c (release_defs): Use new operand iterator.
- 	* tree-vectorizer.c (vect_create_data_ref): Use new operand iterator.
- 
- 2004-08-25  Adam Nemet  <anemet@lnxw.com>
- 
- 	* tlink.c (initial_cwd): New variable.
- 	(tlink_init): Initialize it.
- 	(recompile_files): Use tlink_execute() instead of system().  Don't
- 	duplicate verbose output of collect_execute.  Restore initial_cwd.
- 	Update comment before the function.
- 
- 2004-08-25  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-typeck.c (build_c_cast): In ObjC, always preserve (and silently
- 	accept) a cast from one Objective-C pointer type to another.
- 
- 2004-08-25  Paolo Carlini  <pcarlini@suse.de>
- 
- 	* doc/install.texi: Document that libstdc++-v3 requires
- 	now automake 1.9.1.
- 
- 2004-08-25  Caroline Tice  <ctice@apple.com>
- 
- 	* bb-reorder.c (partition_hot_cold_basic_blocks):  Add more details
- 	to comments at start of function.
- 	* cfgbuild.c (make_edges):  Add more details to hot/cold partitioning
- 	comment.
- 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
- 	merge_blocks_move_predecessor_nojumps,
- 	merge_blocks_move_successor_nojumps, merge_blocks_move,
- 	try_crossjump_to_edge, try_crossjump_bb): Likewise.
- 	* cfglayout.c (fixup_reorder_chain): Likewise.
- 	* cfgrtl.c (rtl_can_merge_blocks, try_redirect_by_replacing_jump,
- 	cfg_layout_can_merge_blocks_p):  Likewise.
- 	* ifcvt.c (find_if_case_1, find_if_case_2): Likewise.
- 	* passes.c (rest_of_compilation): Update comments for calling
- 	optimization that partitions hot/cold basic blocks.
- 	* doc/invoke.texi:  Update documentation of
- 	freorder-blocks-and-partition flag.
- 
- 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (reg): Renamed mode attribute from ccreg.
- 	(*mov*_on_*): Adjust accordingly.  Add an explicit MOVECC: prefix.
- 
- 2004-08-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (any_shift): New code macro.
- 	(optab, insn): New code attributes.
- 	({ashl,ashr,lshr}[sd]i3): Redefine using :GPR and any_shift.
- 	Use the standard rather than internal patterns for the MIPS16
- 	double-shift optimization.
- 	(*{ashl,ashr,lshr}[sd]i3): New names for the non-mips16 shift patterns.
- 	Redefine using :GPR and any_shift.
- 	(*{ashl,ashr,lshr}si3_extend): Generalize ashlsi3_internal1_extend
- 	to cover all three shifts.
- 	(*{ashl,ashr,lshr}si3_mips16): New names for the mips16 SImode shifts.
- 	Redefine using any_shift.  Use :GPR and any_shift to combine splitters.
- 	(*{ashl,ashr,lshr}di3_mips16): New names for the mips16 DImode shifts.
- 
- 2004-08-24  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gimplify.c (lookup_tmp_var): Separate temporaries when not
- 	optimizing.
- 
- 2004-08-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR libstdc++/17005 (fix for HP-UX 11.11)
- 	* config.gcc (hppa*-*-*): Move MASK_BIG_SWITCH to target_cpu_default2.
- 	(hppa*-*-hpux*): Consolidate hppa1.0-*-* code.  Rework handling of
- 	tm_file including pa-hpux1010.h or pa-hpux1111.h when appropriate.
- 	* config/pa/pa-hpux1010.h, config/pa/pa-hpux1111.h: New files.
- 	* config/pa/pa-hpux.h (TARGET_HPUX): Define.
- 	(LINK_SPEC): Handle march=1.0 option.
- 	* config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
- 	and _XOPEN_SOURCE_EXTENDED for UNIX 95.
- 	(SUBTARGET_OPTIONS): New define.
- 	(LINK_SPEC): Handle march=1.0 option.
- 	(STARTFILE_SPEC): New define.
- 	* config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Predefine _XOPEN_UNIX
- 	and _XOPEN_SOURCE_EXTENDED for UNIX 95.  Additionally, predefine
- 	_INCLUDE__STDC_A1_SOURCE and _INCLUDE_XOPEN_SOURCE_500 for UNIX 98.
- 	(SUBTARGET_OPTIONS): New define.
- 	(LINK_SPEC): Handle march=1.0 option.
- 	(STARTFILE_SPEC): New define.
- 	* config/pa/pa.c (override_options): Add code to process -munix= option.
- 	* config/pa/pa.h (pa_unix_string, flag_pa_unix): Declare.
- 	(TARGET_HPUX, TARGET_HPUX_10_10, TARGET_HPUX_11_11): Provide default
- 	defines.
- 	(TARGET_OPTIONS): Add SUBTARGET_OPTIONS to option list.
- 	(SUBTARGET_OPTIONS): Provide default define.
- 	* config/pa/pa64-hpux.h (STANDARD_STARTFILE_PREFIX_1,
- 	STANDARD_STARTFILE_PREFIX_2): New defines.
- 	(STARTFILE_SPEC): Provide unix95.o or unix98.o startfiles as necessary.
- 	(ENDFILE_SPEC): Use %O.
- 	* doc/install.texi (hppa*-*-hpux*): Reword paragraph on -g and gas.
- 	Mention issue caused by changing namespace and runtime to UNIX 95/98.
- 	* doc/invoke.texi (HPPA options): Move misplaced text to FRV options.
- 	Document -munix=std option.
- 
- 2004-08-25  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cse.c (cse_around_loop, cse_check_loop_start,
- 	cse_set_around_loop): Remove.
- 	(cse_basic_block): Remove the around_loop argument.
- 	(cse_end_of_basic_block): Remove the after_loop argument.
- 	(cse_main): Likewise.
- 	* rtl.h (cse_main): Update prototype.
- 	* passes.c (rest_of_handle_cse, rest_of_handle_cse2,
- 	rest_of_handle_gcse): Update cse_main calls.
- 
- 2004-08-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h  (build_int_cst): New, sign extended constant.
- 	(build_int_cstu): New, zero extended constant.
- 	(build_int_cst_wide): Renamed from build_int_cst.
- 	* tree.c (build_int_cst, build_int_cstu): New.
- 	(build_int_cst_wide): Renamed from build_int_cst.
- 	(make_vector_type, build_common_tree_nodes,
- 	build_common_tree_nodes_2): Adjust build_int_cst calls.
- 	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
- 	expand_builtin_strpbrk, expand_builtin_fputs,
- 	build_string_literal, expand_builtin_printf,
- 	expand_builtin_sprintf, fold_builtin_classify_type,
- 	fold_builtin_lround, fold_builtin_bitop, fold_builtin_isascii,
- 	fold_builtin_toascii, fold_builtin_isdigit,
- 	simplify_builtin_strstr, simplify_builtin_strpbrk,
- 	fold_builtin_fputs, simplify_builtin_sprintf): Likewise.
- 	* c-common.c (start_fname_decls, fix_string_type, shorten_compare,
- 	DEF_ATTR_INT): Likewise.
- 	* c-decl.c (complete_array_type, check_bitfield_type_and_width):
- 	Likewise.
- 	* c-lex.c (interpret_integer, lex_charconst): Likewise.
- 	* c-parse.in (primary) <TYPES_COMPATIBLE_P> Likewise.
- 	* c-pretty-print.c (pp_c_integer_constant): Likewise.
- 	* c-typeck.c (really_start_incremental_init, push_init_level,
- 	set_nonincremental_init_from_string): Likewise.
- 	* calls.c (load_register_parameters): Likewise.
- 	convert.c (convert_to_pointer): Likewise.
- 	coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
- 	build_fn_info_type, build_fn_info_value, build_ctr_info_value,
- 	build_gcov_info): Likewise.
- 	* except.c (init_eh, assign_filter_values): Likewise.
- 	* expmed.c (store_fixed_bit_field, extract_bit_field,
- 	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
- 	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
- 	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
- 	* expr.c (convert_move, emit_group_load, emit_group_store,
- 	expand_assignment, store_constructor, store_field,
- 	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
- 	fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
- 	invert_truthvalue, optimize_bit_field_compare,
- 	decode_field_reference, all_ones_mask_p, constant_boolean_node,
- 	fold_div_compare, fold, fold_read_from_constant_string,
- 	fold_negate_const, fold_abs_const, fold_not_const, round_up,
- 	round_down): Likewise.
- 	* function.c (assign_parm_setup_block): Likewise.
- 	* stmt.c (shift_return_value, expand_case, estimate_case_costs):
- 	Likewise.
- 	* stor-layout.c (layout_type, initialize_sizetypes,
- 	set_min_and_max_values_for_integral_type): Likewise.
- 	* tree-chrec.c (chrec_fold_multiply_poly_poly,
- 	reset_evolution_in_loop): Likewise.
- 	* tree-chrec.h (build_polynomial_chrec): Likewise.
- 	* tree-complex.c (build_replicated_const): Likewise.
- 	* tree-eh.c (honor_protect_cleanup_actions,
- 	lower_try_finally_onedest, lower_try_finally_copy,
- 	lower_try_finally_switch): Likewise.
- 	* tree-mudflap.c (mf_build_string, mx_register_decls,
- 	mudflap_register_call, mudflap_enqueue_constant): Likewise.
- 	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
- 	Likewise.
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
- 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
- 	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
- 	Likewise.
- 	* tree-ssa-loop-ivcanon.c (create_canonical_iv,
- 	canonicalize_loop_induction_variables): Likewise.
- 	* tree-vectorizer.c (vect_create_index_for_array_ref,
- 	vect_transform_loop_bound, vect_compute_data_ref_alignment):
- 	Likewise.
- 
- 	* config/alpha/alpha.c (alpha_initialize_trampoline, alpha_va_start,
- 	alpha_gimplify_va_arg_1): Likewise.
- 	* config/arm/arm.c (arm_get_cookie_size): Likewise.
- 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
- 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
- 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
- 	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
- 	mips_gimplify_va_arg_expr): Likewise.
- 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
- 	add_compiler_branch_island): Likewise.
- 	* config/s390/s390.c (s390_va_start): Likewise.
- 	* config/sh/sh.c (sh_va_start): Likewise.
- 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- 	Likewise.
- 	* config/xtensa/xtensa.c (xtensa_va_start,
- 	xtensa_gimplify_va_arg_expr): Likewise.
- 
- 	* objc/objc-act.c (build_objc_string_object,
- 	build_objc_symtab_template, init_def_list, init_objc_symtab,
- 	init_module_descriptor, generate_static_references,
- 	build_selector_translation_table, get_proto_encoding,
- 	build_typed_selector_reference, build_selector_reference,
- 	build_next_objc_exception_stuff,
- 	build_method_prototype_list_template, generate_descriptor_table,
- 	generate_protocols, build_protocol_initializer,
- 	build_ivar_list_template, build_method_list_template,
- 	build_ivar_list_initializer, generate_ivars_list,
- 	generate_dispatch_table, generate_protocol_list,
- 	build_category_initializer, build_shared_structure_initializer,
- 	generate_shared_structures, handle_impent,
- 	generate_objc_image_info): Likewise.
- 
- 2004-04-25  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* cfglayout.c (duplicate_insn_chain): Remove references to
- 	NOTE_INSN_LOOP_VTOP and NOTE_INSN_LOOP_CONT.
- 	* cfgloop.h (struct loop): Remove fields vtop, cont and cont_dominator.
- 	* cfgrtl.c (rtl_delete_block): Remove handling of NOTE_INSN_LOOP_CONT.
- 	* final.c (final_scan_insn): Remove references to NOTE_INSN_LOOP_VTOP
- 	and NOTE_INSN_LOOP_CONT.
- 	* insn-notes.def (NOTE_INSN_LOOP_VTOP, NOTE_INSN_LOOP_CONT): Remove.
- 	* jump.c (squeeze_notes): Remove references to NOTE_INSN_LOOP_VTOP
- 	and NOTE_INSN_LOOP_CONT.
- 	* loop.c (scan_loops, find_and_verify_loops, for_each_insn_in_loop,
- 	check_dbra_loop, loop_dump_aux): Remove references to removed notes
- 	and fields.
- 	* reorg.c (mostly_true_jump): Do not rely on NOTE_INSN_LOOP_VTOPs.
- 	* unroll.c (unroll_loop, copy_loop_body, loop_iterations): Remove
- 	references to removed notes and fields.
- 	(subtract_reg_term, ujump_to_loop_cont): Remove.
- 
- 2004-08-25  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* doc/install.texi: Document that libcpp does not require
- 	Automake any longer.  Document that Automake 1.9.1 should
- 	work everywhere.
- 
- 2004-08-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* flags.h (enum debug_info_type): Remove DWARF_DEBUG.
- 	* defaults.h (PREFERRED_DEBUGGING_TYPE): Remove check for
- 	DWARF_DEBUGGING_INFO from choice-of-definition chain;
- 	restructure using C89 features (#elif, #error).
- 	* c-lex.c, final.c, opts.c, config/cris/cris.c, config/frv/frv.c
- 	* config/sh/sh.h: Remove references to DWARF_DEBUG.
- 	* doc/invoke.texi: Remove references to DWARF version 1;
- 	clarify why -gdwarf-2<n> doesn't work.
- 
- 2004-08-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* basic-block.h (BB_SET_PARTITION): Clear old value first.
- 	* cfg.c (clear_bb_flags): Don't clear partition setting.
- 	* ifcvt.c (find_if_case_1): Remove ??? comment.
- 
- 2004-08-25  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/17052
- 	* config/rs6000/rs6000.h (machine_function): Remove sysv_varargs_p.
- 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
- 	current_function_stdarg in place of sysv_varargs_p.
- 	* config/rs6000/rs6000.c (setup_incoming_varargs): Don't set
- 	sysv_varargs_p.
- 
- 2004-08-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/16298
- 	* config/i386/i386.c (legitimate_constant_p): Rework to not accept
- 	random codes within CONST.
- 
- 2004-08-24  James E Wilson  <wilson@specifixinc.com>
- 
- 	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS): Remove
- 	-freorder-blocks-and-partition.
- 
- 2004-08-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR middle-end/17044
- 	* tree-ssa-threadupdate.c (redirection_data): Make static.
- 	(thread_block): Use ggc_alloc_cleared to allocate struct
- 	redirection_data.  Don't free elements in redirection_data.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/predicates.md (small_data_pattern): Match prefetches.
- 
- 2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/17016
- 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
- 	number_of_iterations_exit): Use POINTER_TYPE_P instead
- 	of testing for POINTER_TYPE.
- 
- 2004-08-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-ivcanon.c: New file.
- 	* tree-ssa-loop-manip.c (create_iv): New function.
- 	* Makefile.in (tree-ssa-loop-ivcanon.o): Add.
- 	(tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency.
- 	* cfgloop.c (mark_single_exit_loops): New function.
- 	(verify_loop_structure): Verify single-exit loops.
- 	* cfgloop.h (struct loop): Add single_exit field.
- 	(LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant.
- 	(mark_single_exit_loops): Declare.
- 	(tree_num_loop_insns): Declare.
- 	* cfgloopmanip.c (update_single_exits_after_duplication): New function.
- 	(duplicate_loop_to_header_edge): Use it.
- 	* common.opt (fivcanon): New flag.
- 	* timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars.
- 	* tree-cfg.c (tree_find_edge_insert_loc): Return newly created block.
- 	(bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc.
- 	(bsi_insert_on_edge_immediate): New function.
- 	* tree-flow.h (bsi_insert_on_edge_immediate,
- 	canonicalize_induction_variables, tree_unroll_loops_completely,
- 	create_iv): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Add
- 	pass_iv_canon and pass_complete_unroll.
- 	* tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare.
- 	* tree-scalar-evolution.c (get_loop_exit_condition,
- 	get_exit_conditions_rec, number_of_iterations_in_loop,
- 	scev_initialize): Use single_exit information.
- 	* tree-ssa-loop-niter.c (number_of_iterations_cond): Record
- 	missing assumptions.
- 	(loop_niter_by_eval):  Return number of iterations as unsigned
- 	int.
- 	* tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops.
- 	(tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon,
- 	tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll):
- 	New passes.
- 	(tree_ssa_loop_done): Call free_numbers_of_iterations_estimates.
- 	* tree-ssanames.c (make_ssa_name): Allow creating ssa name before
- 	the defining statement is ready.
- 	* tree-vectorizer.c (vect_create_iv_simple): Removed.
- 	(vect_create_index_for_array_ref, vect_transform_loop_bound):
- 	Use create_iv.
- 	(vect_transform_loop_bound): Use single_exit information.
- 	(vect_analyze_loop_form): Cleanup bogus tests.
- 	(vectorize_loops): Do not call flow_loop_scan.
- 	* tree.h (may_negate_without_overflow_p): Declare.
- 	* fold-const.c (may_negate_without_overflow_p): Split out from ...
- 	(negate_expr_p): ... this function.
- 	(tree_expr_nonzero_p): Handle overflowed constants correctly.
- 	* doc/invoke.texi (-fivcanon): Document.
- 	* doc/passes.texi: Document canonical induction variable creation.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): Delete.
- 	* config/mips/mips.c (print_operand): Fold %B/%b handling into %T/%t,
- 	using the mode of the operand to decide between them.
- 	* config/mips/mips.md (MOVECC): New mode macro.
- 	(ccreg): New mode attribute.
- 	(*mov{si,di,sf,df}_on_{cc,si,di}): Name formerly unnamed patterns.
- 	Redefine using :GPR and :MOVECC.  Use %T and %t for the condition.
- 	(mov[sd]icc): Redefine using :GPR.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_emit_prefetch): Delete.
- 	(mips_prefetch_cookie): New function.
- 	* config/mips/mips.c (print_operand_address): Fix handling of
- 	ADDRESS_CONST_INT.
- 	(mips_emit_prefetch): Delete.
- 	(mips_prefetch_cookie): New function.
- 	* config/mips/mips.md (prefetch): Turn into a define_insn.  Use a
- 	mode of QImode for the address_operand.  Use mips_prefetch_cookie
- 	to calculate the first "pref" operand.
- 	(prefetch_[sd]i, prefetch_[sd]i_address): Delete.
- 	(prefetch_indexed_[sd]i): Redefine using :P.  Use mips_prefetch_cookie.
- 
- 2004-08-24  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md: Include predicates.md.
- 	* predicates.md: New file.
- 	* arm.c (s_register_operand, arm_hard_register_operand)
- 	(arm_general_register_operand, f_register_operand, reg_or_int_operand)
- 	(arm_immediate_operand, arm_neg_immediate_operand)
- 	(arm_not_immediate_operand, arm_rhs_operand, arm_rhsm_operand)
- 	(arm_add_operand, arm_addimm_operand, arm_not_operand)
- 	(offsettable_memory_operand, alignable_memory_operand)
- 	(arm_reload_memory_operand, arm_float_rhs_operand)
- 	(arm_float_add_operand, vfp_compare_operand, arm_float_compare_operand)
- 	(index_operand, shiftable_operator, logical_binary_operator)
- 	(shift_operator, equality_operator, arm_comparison_operator)
- 	(minmax_operator, cc_register, dominant_cc_register)
- 	(arm_extendqisi_mem_op, power_of_two_operand, nonimmediate_di_operand)
- 	(di_operand, nonimmediate_soft_df_operand, soft_df_operand)
- 	(const_shift_operand, load_multiple_operation)
- 	(store_multiple_operation, multi_register_push, thumb_cmp_operand)
- 	(thumb_cmpneg_operand, thumb_cbrch_target_operand)
- 	(cirrus_register_operand, cirrus_fp_register)
- 	(cirrus_shift_const): Delete, replaced with equivalents in
- 	predicates.md.
- 	(shift_op): Handle ROTATE.
- 	* arm-protos.h: Delete declarations for above.
- 	* arm.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
- 	* t-arm (MD_INCLUDES): Add predicates.md.
- 	(s-preds): Depends on MD_INCLUDES.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_gen_conditional_trap): Fix mode.
- 	* config/mips/mips.md (*conditional_trap[sd]i): Name previously unnamed
- 	patterns.  Redefine using :GPR.  Give the match_operator a mode.
- 	Use '%2' rather than '%z2' for operand 2.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (load_call[sd]i): Redefine using :P.  Add mode
- 	attribute.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (indirect_jump): Use force_reg.  Adjust names
- 	of internal patterns.
- 	(indirect_jump[sd]i): Renamed from indirect_jump_internal[12].
- 	Redefine using :P.
- 	(tablejump): Use expand_binop to calculate address.  Adjust names
- 	of internal patterns.
- 	(tablejump[sd]i): Renamed from tablejump_internal[12].
- 	Redefine using :P.
- 	(tablejump_mips16[12]): Delete.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*seq_[sd]i, *seq_[sd]i_mips16, *sne_[sd]i)
- 	(*sgt_[sd]i, *sgt_[sd]i_mips16, *sge_[sd]i, *slt_[sd]i)
- 	(*slt_[sd]i_mips16, *sle_[sd]i, *sle_[sd]i_mips16, *sgtu_[sd]i)
- 	(*sgtu_[sd]i_mips16, *sge_[sd]i, *sltu_[sd]i, *sltu_[sd]i_mips16)
- 	(*sleu_[sd]i, *sleu_[sd]i_mips16): Redefine using :GPR.
- 
- 2004-08-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (cmpsi, cmpdi): Redefine using :GPR.
- 	(*branch_zero[sd]i): Renamed from branch_zero{,_di}.  Redefine
- 	using :GPR.
- 	(*branch_zero[sd]i_inverted): Likewise branch_zero{,_di}_inverted.
- 	(*branch_equality[sd]i): Likewise branch_equality{,_di}.
- 	(*branch_equality[sd]i_inverted): Likewise
- 	branch_equality{,_di}_inverted.
- 	(*branch_equality[sd]i_mips16): Name formerly unnamed patterns.
- 	Redefine using :GPR.
- 
- 2004-08-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.def: Reorganize, placing all codes used only in machine
- 	descriptions at the end.
- 
- 	* rtl.def: Wrap MD-only codes in #ifdef GENERATOR_FILE.
- 	* gengtype.c: Don't include rtl.h.  Define enum rtx_code and
- 	rtx_name, rtx_format arrays by direct reference to rtl.def,
- 	first undefining GENERATOR_FILE.  Define enum insn_note and
- 	note_insn_name array by direct reference to insn-notes.def.
- 	(adjust_field_rtx_def): Remove local definition of rtx_name.
- 	Use symbolic names for insn notes.
- 	* Makefile.in (gengtype.o): Update dependencies.
- 
- 2004-08-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* basic-block.h (struct basic_block_def): Reorder fields to
- 	eliminate interior padding.  Remove 'partition' field.
- 	(BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION)
- 	(BB_UNPARTITIONED, BB_PARTITION, BB_SET_PARTITION)
- 	(BB_COPY_PARTITION): New macros.
- 	* bb-reorder.c, cfgcleanup.c, cfglayout.c, cfgrtl.c, ifcvt.c
- 	Replace all references to the 'partition' field of a basic
- 	block with new macros.
- 
- 	* insn-notes.def: Delete NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
- 	* final.c (final_scan_insn): Don't handle it.
- 	* modulo-sched.c: Set BB_DISABLE_SCHEDULE flag on g->bb
- 	instead of emitting a NOTE_INSN_DISABLE_SCHED_OF_BLOCK note.
- 	* sched-rgn.c (sched_is_disabled_for_current_region_p):
- 	Look for a BB_DISABLE_SCHEDULE flag on the block instead of a note.
- 
- 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-decl.c (c_init_decl_processing): Adjust
- 	build_common_tree_nodes call.
- 	* expmed.c (const_mult_add_overflow_p): Use
- 	build_distinct_type_copy.
- 	* stor-layout.c (early_type_list): Remove.
- 	(layout_type): Don't append to early_type_list.
- 	(initialize_sizetypes): Add signed_p argument.
- 	(set_sizetype): Overwrite the stub type nodes directly.
- 	* tree.c (copy_node_stat): Clear a type's value cache here ...
- 	(build_distinct_type): ... not here.
- 	(build_common_tree_nodes): Add signed_sizetype argument. Adjust.
- 	* tree.h (initialize_sizetypes): Add signed_p argument.
- 	(build_common_tree_nodes): Likewise.
- 
- 	* objc/objc-act.c (get_static_reference): Use
- 	build_variant_type_copy.
- 	(get_protocol_reference): Likewise.
- 	* objc/objc-act.h (TREE_STATIC_TEMPLATE): Use TREE_PRIVATE.
- 
- 2004-08-24  Richard Henderson  <rth@redhat.com>
- 	    Andrew Pinski  <apinski@apple.com>
- 
- 	* gimplify.c (gimplify_array_ref_to_plus): Delete.
- 	(gimplify_addr_expr): Do not call gimplify_array_ref_to_plus
- 	for ARRAY_REF.
- 
- 	* config/rs6000/rs6000.c (altivec_expand_builtin): Go passed
- 	ARRAY_REF also to get to the STRING_CST.
- 
- 2004-08-24  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (arm_override_options): Update error message.
- 	* config/arm/arm.h (TARGET_HARD_FLOAT): Rename to
- 	TARGET_HARD_FLOAT_ABI.
- 	(TARGET_SOFT_FLOAT_ABI): Rename to TARGET_HARD_FLOAT.
- 	(LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Use TARGET_HARD_FLOAT_ABI.
- 
- 2004-08-24  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	PR target/17093
- 	* config/m32r.md (movsi_sda): Add SI mode specification to
- 	UNSPEC.
- 
- 2004-08-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/m32r/m32r.h (PREDICATE_CODES): Remove duplicate definition
- 	of seth_add3_operand.
- 
- 2004-08-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (PROTO_OBJS): Add errors.o.
- 	* protoize.c (fancy_abort): Remove.
- 	* mips-tfile.c (fancy_abort): Add parameters.
- 
- 2004-08-24  Jonathan Wakely  <redi@gcc.gnu.org>
- 
- 	* doc/trouble.texi (C++ misunderstandings): Fix example code.
- 
- 2004-08-24  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* Makefile.in (HOOKS_H): Add dependency on MACHMODE_H.
- 	(host-default.o): Add dependency on HOOKS_H.
- 	* config/x-linux: Likewise.
- 	* config/x-solaris: Likewise.
- 	* config/i386/x-mingw32: Likewise.
- 	* config/rs6000/x-darwin: Likewise.
- 
- 2004-08-23  James E Wilson  <wilson@specifixinc.com>
- 
- 	* reg-notes.def (REG_NOTE): In comment, change DEF_INSN_NOTE to
- 	DEF_REG_NOTE.
- 
- 2004-08-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c/14492
- 	* dwarf2out.c (loc_descriptor_from_tree): Robustify.
- 
- 2004-08-23  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* cfg.c (check_bb_profile): Fix typos.
- 	* function.c (assign_parm_is_stack_parm): Likewise.
- 	* tree-nested.c: Likewise.
- 
- 2004-08-23  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* ggc-zone.c (struc alloc_chunk): Rearrange flag bits and SIZE.
- 	Remove TYPECODE.
- 	(ggc_alloc_zone_1): Mark TYPE as unused.  Don't save it in the chunk.
- 
- 2004-08-23  Eric Christopher  <echristo@redhat.com>
- 
- 	* defaults.h (VECTOR_MODE_SUPPORTED_P): Remove macro.
- 	* system.h (VECTOR_MODE_SUPPORTED_P): Poison.
- 	* target-def.h (TARGET_VECTOR_MODE_SUPPORTED_P): Define.
- 	* target.h: Ditto.
- 	* hooks.h: Include machmode.h.
- 	(hook_bool_mode_false): Declare.
- 	* hooks.c (hook_bool_mode_false): Define.
- 	* expr.c (vector_mode_valid_p): Use targetm.vector_mode_supported_p.
- 	* stor-layout.c (layout_type): Ditto.
- 	* config/alpha/alpha.c (alpha_vector_mode_supported_p): New function.
- 	Define to target macro.
- 	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): Delete.
- 	* config/arm/arm.c: Ditto. Use.
- 	* config/arm/arm.h: Ditto.
- 	* config/arm/arm-protos.h: Ditto.
- 	* config/i386/i386.c: Ditto.
- 	* config/i386/i386.h: Ditto.
- 	* config/rs6000/rs6000.c: Ditto.
- 	* config/rs6000/rs6000.h: Ditto.
- 	* config/sh/sh.c: Ditto.
- 	* config/sh/sh.h: Ditto.
- 	* config/sh/sh-protos.h: Ditto.
- 	* config/sh/sh.md: Use.
- 	* doc/tm.texi: Move documentation for VECTOR_MODE_SUPPORTED_P
- 	to TARGET_VECTOR_MODE_SUPPORTED_P.
- 
- 2004-08-23  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (BUILD_ERRORS): Set to build-errors.
- 	(errors.o): New target for host.
- 	(build-errors.o): New target for build.
- 	(genobjs): Replace errors.o with build-errors.
- 	(gengenrtl$(buildexeext)): Add $(BUILD_ERRORS).
- 	(GCOV_OBJS, GCOV_DUMP_OBJS): Add errors.o.
- 	(fix-headers$(build_exeext)): Add $(BUILD_ERRORS).
- 	(fix-header.o): Add errors.h
- 	* collect2.c (fancy_abort): Add parameters.
- 	* collect2.h (fancy_abort): Don't declare.
- 	* errors.h (fancy_abort): Don't declare.
- 	* errors.c: Include either bconfig.h or config.h.
- 	(fancy_abort): Trim filename.
- 	* fix-header.c (v_fatal, fatal): Remove.
- 	(progname): Remove definition.
- 	(main): Set progname here.
- 	* gcc.c (fancy_abort): Add parameters.
- 	* gcc.h (fancy_abort): Remove declaration.
- 	* gcov.c (fancy_abort): Remove.
- 	* rtl.h (fancy_abort): Don't declare.
- 	(abort): Don't define.
- 	* tree.h (fancy_abort): Don't declare.
- 	(abort): Don't define.
- 	* system.h (fancy_abort): Declare.
- 	(abort): Define to fancy_abort.
- 	* fixinc/Makefile.in (ALLOBJ): Add ../build-errors.o
- 
- 	* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
- 	(usize_type, ubitsizetype): Remove.
- 	* stor-layout.c (set_sizetype): Don't initialize usizetype,
- 	ubitsizetype.
- 	* fold-const.c (size_diffop): TYPE can never be ubitsizetype.
- 
- 	* tree.h (build_distinct_type_copy): New.
- 	(build_type_copy): ... here.  Rename to ...
- 	(build_variant_type_copy): ... here.
- 	* tree.c (build_qualified_type): Rename build_type_copy call.
- 	(build_distinct_type_copy): New, broken out of ...
- 	(build_type_copy): ... here.  Rename to ...
- 	(build_variant_type_copy): ... here.  Use
- 	build_distinct_type_copy.
- 	(build_common_tree_nodes_2): Rename build_type_copy call.
- 	* c-common.c (c_common_nodes_and_builtins): Rename build_type_copy
- 	call.
- 	(handle_packed_attribute, handle_unused_attribute,
- 	handle_transparanet_union_attribute, handle_aligned_attribute,
- 	handle_deprecated_attribute): Likewise.
- 	* c-decl.c (clone_underlying_type, store_parm_decls_oldstyle):
- 	Likewise.
- 	* config/arm/arm.c (arm_handle_isr_attribyte): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_init_builtins): Use
- 	build_distinct_type_copy.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (mfhilo_[sd]i): Redefine using :GPR.  Add mode
- 	attribute.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (length): Don't use mips_fetch_insns for indexed
- 	loads and stores.
- 	(*lwxc1_<mode>, *ldxc1_<mode>, *swxc1_<mode>, *sdxc1_<mode>): Name
- 	formerly unnamed patterns.  Redefine using :P for the address.  Remove
- 	explicit length attributes.
- 
- 2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-im.c (fem_single_reachable_address, for_each_memref):
- 	New functions.
- 	(single_reachable_address): Use them.
- 	(schedule_sm): Add dump.
- 	(is_call_clobbered_ref): New function.
- 	(determine_lsm_reg): Check whether the reference is call clobbered.
- 	Only work for gimple_reg_type values.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*mov<mode>_ra): Name previously unnamed MIPS16
- 	$31 store insns.  Redefine using :GPR.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (P): New mode macro.
- 	(*xgot_hi[sd]i, *xgot_lo[sd]i, *got_disp[sd]i, *got_page[sd]i)
- 	(*load_got[sd]i, *low[sd]i, *low[sd]i_mips16): Redefine using :P.
- 	Add mode attributes.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (UNSPEC_[LS][WD][LR]): Delete in favor of...
- 	(UNSPEC_{LOAD,STORE}_{LEFT,RIGHT}): ...these new constants.  Shuffle
- 	later constants to cover the gap.
- 	(load, store): New mode attributes.
- 	(mov_l[wd]l, mov_l[wd]r, mov_s[wd]l, mov_s[wd]r): Redefine using :GPR.
- 	Use new unspec constants.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (one_cmpl[sd]i2): Redefine using :GPR.
- 	(and[sd]3, ior[sd]i3, xor[sd]i3): Likewise.  Change 32-bit patterns
- 	to use register_operand rather than uns_arith_operand as the predicate
- 	for operand 1.  Remove redundant MIPS16 force_reg() for operand 1.
- 	(*and[sd]i3, *ior[sd]i3, *xor[sd]i3): Name formerly unnamed patterns.
- 	Redefine using :GPR.  Make same predicate change here.  Extend the
- 	commutativity of operands 1 and 2 from the SImode version to the
- 	DImode one.
- 	(*and[sd]i3_mips16, *ior[sd]i3_mips16, *xor[sd]i3_mips16): Likewise,
- 	but with no predicate changes.
- 	(*nor[sd]i3): Redefine using :GPR.
- 
- 2004-08-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-operands.c (get_call_expr_operands): Add VUSE operands for
- 	noreturn functions.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_DCLZ_DCLO): Delete.
- 	* config/mips/mips.md (abs[sd]i2): Redefine using :GPR.  Only use
- 	branch-likely insns for absdi2 if GENERATE_BRANCHLIKELY.  Use "%."
- 	rather than "%z2" (with a fake const0_rtx for operand 2).
- 	(ffs[sd]i2): Redefine using :GPR.
- 	(clz[sd]i2): Likewise.  Use ISA_HAS_CLO_CLZ for the 64-bit case.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md ({,u}divmod[sd]i4): Redefine using :GPR.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (any_extend): New code macro.
- 	(u, su): New code attributes.
- 	({,u}mulsidi3, {,u}mulsidi3_32bit_internal, {,u}mulsidi3_32bit_r4000)
- 	({u,s}mulsi3_highpart, {u,s}mulsi3_highpart_internal)
- 	({u,s}mulsi3_highpart_mulhi_internal, {s,u}muldi3_highpart)
- 	(*{s,u}mul_acc_di): Redefine using any_extend.
- 	(*{,u}muls_di, *{s,u}msac_di): Likewise.  Change names of patterns
- 	to reflect real insn names.
- 	(*mulsidi3_64bit, *mulsidi3_64bit_parts): Replace use of match_operator
- 	with an any_extend template.
- 	({u,s}mulsi3_highpart_neg_mulhi_internal): Redefine using any_extend.
- 	Add '*' to name.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (GENERATE_MULT3_SI): Check TARGET_MAD.
- 	* config/mips/mips.md (mul[sd]i3, mul[sd]i3_internal)
- 	(mul[sd]i3_r4000): Redefine using :GPR.
- 	(mulsi3_mult3): Don't check TARGET_MAD separately.
- 	(muldi3_mult3): Moved after mulsi_mult3.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips-*-*): Remove definitions of MASK_GAS and
- 	OBJECT_FORMAT_ELF.  Set MASK_SPLIT_ADDR by default if using GNU ld.
- 	* config/mips/mips.h (MASK_GAS): Delete.  Shuffle later masks down.
- 	(TARGET_GAS, TARGET_MIPS_AS): Delete.
- 	(TARGET_GPWORD): Define to true for n32 on IRIX.
- 	(TARGET_SWITCHES): Remove -mmips-as.  Turn -mgas into a no-op.
- 	(MIPS_AS_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC): Delete.
- 	(GAS_ASM_SPEC): Delete, folding into ASM_SPEC.
- 	(ASM_ABI_DEFAULT_SPEC, TARGET_ASM_SPEC): Delete.
- 	(MDEBUG_ASM_SPEC): Delete, folding into...
- 	(SUBTARGET_ASM_DEBUGGING_SPEC): ...here.
- 	(ASM_SPEC): Inline old GAS_ASM_SPEC.  Use GNU names for ABI switches.
- 	(EXTRA_SPECS): Remove mips_as_asm_spec, gas_asm_spec, target_asm_spec,
- 	subtarget_mips_as_asm_spec, mdebug_asm_spec.  Use MULTILIB_ABI_DEFAULT
- 	to define asm_abi_default_spec.
- 	(ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Delete.
- 	(TARGET_ASM_SELECT_SECTION): Delete.
- 	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Define to 0x7ff0
- 	for non-mips16 code, removing previous workaround for SGI assemblers.
- 	(TARGET_ASM_INTEGER, mips_assemble_integer): Delete.
- 	(TARGET_ASM_ALIGNED_DI_OP): Define this instead.
- 	(override_options): Remove !TARGET_GAS and !have_named_sections code.
- 	(print_operand): Fold TARGET_GAS conditionals into asm strings.
- 	(mips_output_filename): Remove !TARGET_GAS code.  Replace use of
- 	ASM_STABS_OP and ASM_STABN_OP.
- 	(mips_file_start): Remove TARGET_MIPS_AS/TARGET_GAS checks.
- 	(mips_output_aligned_decl_common): Remove mention of SGI o32 assembler.
- 	(mips_output_function_prologue): Remove !TARGET_GAS code.
- 	(mips_select_rtx_section): Remove !have_named_sections code.
- 	(mips_select_section): Delete.
- 	* config/mips/mips.md (trap): Remove !TARGET_GAS check.
- 	* config/mips/linux.h (TARGET_DEFAULT): Remove use of MASK_GAS.
- 	* config/mips/sdb.h (PUT_SDB_DEF, PUT_SDB_PLAIN_DEF): Delete.
- 	(PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END): Fold TARGET_GAS conditional.
- 	* config/mips/vxworks.h (ASM_SPEC): As for mips.h.
- 	* config/mips/windiss.h (ASM_SPEC): Likewise.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* read-rtl.c (map_value, mapping, macro_group): New structures.
- 	(BELLWETHER_CODE): New macro.
- 	(modes, codes, bellwether_codes): New variables.
- 	(find_mode, uses_mode_macro_p, apply_mode_macro, find_code)
- 	(uses_code_macro_p, apply_code_macro, apply_macro_to_string)
- 	(apply_macro_to_rtx, uses_macro_p, add_condition_to_string)
- 	(add_condition_to_rtx, apply_macro_traverse, add_mapping)
- 	(add_map_value, initialize_macros): New functions.
- 	(def_hash, def_hash_eq_p): Generalize to anything that points to,
- 	or starts with, a char * field.
- 	(find_macro, read_mapping, check_code_macro): New functions.
- 	(read_rtx_1): New, split out from read_rtx.  Handle the new
- 	define_{mode,code}_{macro,attr} constructs.  Use find_macro
- 	to parse the name of a code or mode.  Use BELLWETHER_CODE to
- 	extract the format and to choose a suitable code for rtx_alloc.
- 	Modify recursive invocations to use read_rtx_1.
- 	(read_rtx): Call initialize_macros.  Apply code and mode macros
- 	to the rtx returned by read_rtx_1.  Cache everything after the
- 	first macro expansion for subsequent read_rtx calls.
- 	* doc/md.texi: Document new .md constructs.
- 	* config/mips/mips.md (GPR): New mode macro.
- 	(d, si8_di5): New mode attributes.
- 	(any_cond): New code macro.
- 	(add[sd]i3): Redefine using :GPR.
- 	(*add[sd]i3): Likewise, renaming from add[sd]i3_internal.
- 	(*add[sd]i3_sp[12], *add<mode>3_mips16): Redefine using :GPR, naming
- 	previously unnamed MIPS16 patterns.
- 	(*addsi3_extended): Renamed from addsi3_internal_2.  Fix overly long
- 	lines.  Don't match (plus (const_int 0) ...).
- 	(*addsi3_extended_mips16): Name previously unnamed MIPS16 pattern.
- 	Use a define_split to generate the addition.
- 	(sub[sd]i3): Redefine using :GPR.  Turn subsi3 into a define_insn.
- 	(subsi3_internal): Delete.
- 	(*subsi3_extended): Renamed from subsi3_internal_2.
- 	(bunordered, bordered, bunlt, bunge, buneq, bltgt, bunle, bungt)
- 	(beq, bne, bgt, bge, blt, ble, bgtu, bgeu, bltu, bleu): Redefine
- 	using an any_cond template.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* read-rtl.c (read_rtx): Tidy use of format_ptr.
- 
- 2004-08-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* read-rtl.c (string_obstack): New file-scope variable.
- 	(read_string, read_quoted_string, read_braced_string)
- 	(read_escape): Remove obstack parameter and use string_obstack instead.
- 	(read_rtx): Remove function-local rtl_obstack and initialize
- 	string_obstack instead.  Update call to read_string.
- 
- 2004-08-22  Andrew Pinski  <apinski@apple.com>
- 
- 	PR c/15262
- 	* c-typeck.c (build_unary_op): Use &a.b if the foldded lowered
- 	expression is not constant.
- 	(c_finish_return): Do not go through INDIRECT_REF when looking
- 	for the inner expression of an ADDR_EXPR for warning about.
- 
- 2004-08-22  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17075
- 	* cfgexpand.c (expand_gimple_tailcall): Detect when we can both
- 	create new blocks and fall through.
- 	(expand_gimple_basic_block): Update to match.
- 
- 2004-08-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads_address): Make return value tri-state.
- 	Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
- 	(find_reloads): Assume that reloaded addresses match 'o' or
- 	EXTRA_MEMORY_CONSTRAINT constraints only if find_reloads_address
- 	returned 1 (not -1).  Omit optional reloads for address operands
- 	only if find_reloads_address returned 1 (not -1).
- 
- 	* config/s390/s390.c (legitimize_reload_address): New function.
- 	* config/s390/s390-protos.h (legitimize_reload_address): Declare.
- 	* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Define.  Call
- 	legitimize_reload_address.
- 
- 2004-08-22  Richard Hendersion  <rth@redhat.com>
- 
- 	* tree.h (SAVE_EXPR_RESOLVED_P): New.
- 	* gimplify.c (gimplify_save_expr): Use it.
- 	* expr.c (expand_expr_real_1): Likewise.  Also set DECL_IGNORED_P
- 	on the temporary variable.
- 
- 2004-08-22  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* fold-const.c (rtl_expr_nonnegative_p): Delete.
- 	* tree.h (rtl_expr_nonnegative_p): Remove.
- 
- 2004-08-22  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/i386/ppro.md (ppro_complex_insn): Add missing check
- 	for cpu==pentiumpro.
- 
- 	* combine.c (struct reg_stat): Fix comment typo.
- 
- 2004-08-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (c_sizeof_nowarn): Remove.
- 
- 2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (set_array_declarator_type): Rename to
- 	set_array_declarator_inner.
- 	(build_c_parm, build_attrs_declarator, build_function_declarator):
- 	New functions.
- 	(make_pointer_declarator): Call build_attrs_declarator.
- 	* c-tree.h (set_array_declarator_type): Rename to
- 	set_array_declarator_inner.
- 	(build_c_parm, build_attrs_declarator, build_function_declarator):
- 	New prototypes.
- 	* c-parse.in (after_type_declarator,
- 	parm_declarator_starttypename, parm_declarator_nostarttypename,
- 	notype_declarator, absdcl_maybe_attribute, direct_absdcl1, parm,
- 	firstparm): Use these functions
- 
- 2004-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (build_array_declarator, set_array_declarator_type,
- 	start_decl, grokdeclarator, grokparms): Change boolean parameters
- 	to type bool.
- 	* c-tree.h (build_array_declarator, set_array_declarator_type,
- 	start_decl): Update prototypes.
- 	* c-decl.c, c-parse.in: All callers changed.
- 
- 2004-08-21  Mike Stump  <mrs@apple.com>
- 
- 	* config/rs6000/darwin.h (SUBTARGET_OPTIONS): Move from here, to...
- 	(darwin_fix_and_continue): Likewise.
- 	(darwin_fix_and_continue_switch): Likewise.
- 	* config/darwin.h (SUBTARGET_OPTIONS): ...here, to fix -mone-byte-bool.
- 	(darwin_fix_and_continue): Likewise.
- 	(darwin_fix_and_continue_switch): Likewise.
- 
- 2004-08-21  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR  c++/16030
- 	* config/i386/winnt/c (gen_stdcall_suffix, gen_fastcall_suffix):
- 	Remove, merging into ...
- 	(gen_stdcall_or_fastcall_suffix): New function, returning tree
- 	rather than const char*, and accepting additional parameter.
- 	Don't add suffix to '*'-prefixed symbols or variadic functions.
- 	(i386_pe_encode_section_info): Adjust for call to new function.
- 	Call change_decl_assembler_name.
- 
- 2004-08-20  Mike Stump  <mrs@apple.com>
- 
- 	* config/darwin.c (machopic_indirect_data_reference): Mark
- 	stubs as defined.
- 	* config/386/386.c (darwin_local_data_pic): Add.
- 	(legitimate_constant_p): Reorder so that PLUS handling runs
- 	before darwin_local_data_pic to match the ordering in
- 	legitimate_pic_address_disp_p and so that MINUS runs after
- 	darwin_local_data_pic as otherwise the darwin_local_data_pic
- 	logic can be skipped, which would be very bad.
- 	(legitimate_pic_address_disp_p): Move from from here to
- 	darwin_local_data_pic so it can be reused.
- 
- 2004-08-21  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (DOT_SYMBOLS): Define.
- 	(CRT_CALL_STATIC_FUNCTION): Define !DOT_SYMBOLS version.
- 	(ASM_DECLARE_FUNCTION_SIZE): Modify for !DOT_SYMBOLS.
- 	(ASM_OUTPUT_SOURCE_LINE, DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Likewise.
- 	(RS6000_ABI_NAME): Define as "linux".
- 	(SUBSUBTARGET_OVERRIDE_OPTIONS): Set dot_symbols.
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Select
- 	ABI_AIX when rs6000_abi_name is "linux" and TARGET_64BIT.
- 	* config/rs6000/rs6000-protos.h (rs6000_output_function_entry): Decl.
- 	* config/rs6000/rs6000.c (dot_symbols): New global var.
- 	(rs6000_output_function_entry): New function, modified for
- 	!DOT_SYMBOLS..
- 	(print_operand <case 'z'>): ..extracted from here.
- 	(rs6000_assemble_visibility): Modify for !DOT_SYMBOLS.
- 	(rs6000_output_function_epilogue): Likewise.
- 	(rs6000_elf_declare_function_name): Likewise.
- 	* config/rs6000/rs6000.h (DOT_SYMBOLS): Define.
- 	(ASM_WEAKEN_DECL, ASM_OUTPUT_DEF_FROM_DECLS): Modify for !DOT_SYMBOLS.
- 	* configure.ac (HAVE_LD_NO_DOT_SYMS): Add new AC_DEFINE.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 2004-08-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* reload.c (find_reloads_address): Fix thinko in previous change.
- 
- 	* reload.c (find_reloads_address): Reload the sum of a LO_SUM and
- 	a CONST_INT.
- 
- 2004-08-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR rtl-optimization/17099
- 	* combine.c (force_to_mode): Check if inner_mask has any bits set
- 	outside of GET_MODE (x) instead of op_mode.
- 
- 2004-08-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc (arm*-*-symbianelf*): Add t-symbian Makefile
- 	fragment.
- 	* config/arm/bpabi.h (RENAME_LIBRARY_SET): Fix typo.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=3 to the assembler.
- 	* config/arm/symbian.h (SUBTARGET_CPU_DEFAULT): Assume ARMV5
- 	architecture.
- 	(SUBTARGET_ASM_FLOAT_SPEC): Default to -mfpu=vfp for hard-float
- 	configurations.
- 	* config/arm/t-symbian: New file.
- 
- 2004-08-20  Andrew Pinski  <apinski@apple.com>
- 
- 	* regrename.c (kill_value_regno): ANSIfy.
- 
- 2004-08-20  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Improve DIV/MOD.
- 
- 2004-08-20  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* regrename.c (kill_value_one_regno): Renamed from kill_value_regno.
- 	(kill_value_regno): New function, derived from kill_value.
- 	(kill_value): Update.
- 	(copyprop_hardreg_forward_1): Update call to kill_value_regno.
- 
- 2004-08-20  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	Fix PR tree-optimization/17111
- 	* tree-ssa-pre.c (create_value_expr_from): Don't change the types
- 	of non-value_handles.
- 	(bitmap_set_contains): All constants are in every set.
- 
- 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* fold-const.c (round_up, round_down): Use build_int_cst.
- 	Optimize common case.
- 
- 2004-08-20  Zack Weinberg  <zack@codesourcery.com>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* config/pa/pa-protos.h (readonly_data, one_only_readonly_data_section,
- 	one_only_data_section): Rename to som_readonly_data_section,
- 	som_one_only_readonly_data_section and som_one_only_data_section.
- 	* config/pa/pa.c (ONE_ONLY_TEXT_SECTION_ASM_OP,
- 	NEW_TEXT_SECTION_ASM_OP, DEFAULT_TEXT_SECTION_ASM_OP): Delete
- 	conditional defines.
- 	(som_text_section_asm_op): Replace ONE_ONLY_TEXT_SECTION_ASM_OP,
- 	NEW_TEXT_SECTION_ASM_OP and DEFAULT_TEXT_SECTION_ASM_OP with actual
- 	string values.
- 	(pa_select_section): Use renamed section functions.
- 	* config/pa/pa.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
- 	SOM_READONLY_DATA_SECTION_FUNCTION,
- 	SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
- 	SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION):
- 	Define here ...
- 	* config/pa/som.h: ... not here.
- 	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
- 	ONE_ONLY_TEXT_SECTION_ASM_OP, READONLY_DATA_ASM_OP,
- 	ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
- 	ONE_ONLY_DATA_SECTION_ASM_OP): Delete.
- 	(READONLY_DATA_SECTION): Use som_readonly_data_section.
- 
- 2004-08-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* fold-const.c (int_const_binop): Don't generate non-overflowing
- 	size-types specially.
- 	(fold_convert_const): Likewise.
- 
- 	* stor-layout.c (initialize_sizetypes): Set SIZETYPE earlier,
- 	clear cache on copied sizetype.
- 
- 2004-08-20  Ben Elliston  <bje@au.ibm.com>
- 
- 	* configure.ac: Don't escape apostrophe in --enable-coverage help.
- 	* configure: Regenerate.
- 
- 2004-08-20  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR 5620
- 	* gcc.c (struct stat input_stat): Don't define if
- 	HOST_LACKS_INODE_NUMBERS
- 	(do_spec_1): If HOST_LACKS_INODE_NUMBERS, use lrealpath rather
- 	than stat to determine if temp file is same as input file.
- 	* doc/hostconfig.texi: Document HOST_LACKS_INODE_NUMBERS.
- 	* config/i386/xm-mingw32.h: Define HOST_LACKS_INODE_NUMBERS
- 
- 2004-08-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* configure.ac (mips*-*-*): Print an error if not using GAS.
- 	* configure: Regenerated.
- 	* doc/install.texi: Remove irix5 bullet from --with-gnu-as.  Remove
- 	comments about buggy MIPSpro assemblers.
- 	* config.gcc (mips-sgi-irix[56]*): Combine stanzas.  Include elfos.h
- 	before mips.h and iris.h after it.  Use t-iris and t-slibgcc-irix.
- 	Use iris5.h only for IRIX 5 configs.  Use iris6.h and t-iris6 for
- 	IRIX 6 configs.  Define IRIX_USING_GNU_LD if using GNU ld.
- 	* config/mips/iris5.h (TARGET_IRIX, SWITCHES_NEED_SPACES)
- 	(DEFAULT_SIGNED_CHAR, WORD_SWITCH_TAKES_ARG, SUBTARGET_CC1_SPEC)
- 	(NO_IMPLICIT_EXTERN_C, MIPS_DEFAULT_GVALUE)
- 	(TARGET_ASM_EXTERNAL_LIBCALL): Move to iris.h.
- 	(WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS): Delete in favor
- 	of more general IRIX 6 definitions.
- 	(OBJECT_FORMAT_ELF, ASM_OUTPUT_ASCII, ASM_WEAKEN_LABEL)
- 	(HANDLE_SYSV_PRAGMA): Delete in favor of elfos.h definitions.
- 	(TARGET_IRIX5, ABICALLS_ASM_OP, BSS_SECTION_ASM_OP, HAS_INIT_SECTION)
- 	(LD_INIT_SWITCH, LD_FINI_SWITCH, SUBTARGET_ASM_OPTIMIZING_SPEC)
- 	(ASM_FINAL_SPEC, DBX_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
- 	(PREFERRED_DEBUGGING_TYPE, DWARF2_UNWIND_INFO, SET_FILE_NUMBER)
- 	(LABEL_AFTER_LOC, DOLLARS_IN_IDENTIFIERS, NO_DOLLAR_IN_LABEL)
- 	(TARGET_ASM_NAMED_SECTION, EXTRA_SECTION_FUNCTIONS)
- 	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_WEAK_ALIAS)
- 	(SUBTARGET_EXTRA_SPECS): Delete definitions or undefs.
- 	(LINK_SPEC): Move most of definition to iris.h.
- 	(SUBTARGET_LINK_SPEC): New macro.
- 	(IRIX_STARTFILE_SPEC): Fold into...
- 	(STARTFILE_SPEC): ...here.
- 	(IRIX_ENDFILE_SPEC): Fold into...
- 	(ENDFILE_SPEC): ...here.
- 	* config/mips/iris6.h (TARGET_IRIX5): Remove override.
- 	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE)
- 	(DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE, SET_ASM_OP)
- 	(LINK_ELIMINATE_DUPLICATE_LDIRECTORIES, ASM_DECLARE_OBJECT_NAME)
- 	(ASM_FINISH_DECLARE_OBJECT, LOCAL_LABEL_PREFIX): Move to iris.h.
- 	(TARGET_OS_CPP_BUILTINS): Likewise.  Guard IRIX6-specific bits.
- 	(DWARF2_UNWIND_INFO, DWARF2_GENERATE_TEXT_SECTION_LABEL)
- 	(SUBTARGET_CPP_SPEC, DWARF2_DEBUGGING_INFO, MIPS_DEBUGGING_INFO)
- 	(PREFERRED_DEBUGGING_TYPE, DWARF2_FRAME_INFO, MD_EXEC_PREFIX)
- 	(ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_FUNCTION_SIZE)
- 	(FUNCTION_NAME_ALREADY_DECLARED, SUPPORTS_INIT_PRIORITY)
- 	(POPSECTION_ASM_OP, SUBTARGET_ASM_SPEC, SUBTARGET_MIPS_AS_ASM_SPEC)
- 	(SUBTARGET_ASM_DEBUGGING_SPEC, SUBTARGET_ASM_OPTIMIZING_SPEC)
- 	(BSS_SECTION_ASM_OP*, READONLY_DATA_SECTION_ASM_OP*)
- 	(EH_FRAME_SECTION_NAME, MUST_USE_SJLJ_EXCEPTIONS, CTORS_SECTION_ASM_OP)
- 	(DTORS_SECTION_ASM_OP, TARGET_ASM_NAMED_SECTION, EH_FRAME_SECTION_NAME)
- 	(ASM_OUTPUT_ALIGN, ASM_OUTPUT_FILENAME, ASM_OUTPUT_ALIGNED_LOCAL)
- 	(ASM_OUTPUT_ALIGNED_BSS): Remove definitions or undefs.
- 	(TARGET_IRIX6): Define to 1.
- 	(DRIVER_SELF_SPECS): Define.
- 	(DWARF2_FRAME_INFO): Define to 1 rather than !TARGET_SGI_O32_AS.
- 	(SUBTARGET_CC1_SPEC): Remove in favor of DRIVER_SELF_SPECS.
- 	(SUBTARGET_LINK_SPEC): New macro.
- 	(IRIX_STARTFILE_SPEC): Fold into...
- 	(STARTFILE_SPEC): ...here.  Remove !mabi=* case.
- 	(SUBTARGET_{,DONT_}WARN_UNUSED_SPEC): New macros.
- 	(LIB_SPEC, LIBGCC_SPEC): Use them.
- 	(LIB_SPEC): Remove !mabi=* case.
- 	(IRIX_ENDFILE_SPEC): Fold into...
- 	(ENDFILE_SPEC): ...here.  Remove !mabi=* case.
- 	* config/mips/mips-protos.h (irix_output_external_libcall): Delete.
- 	* config/mips/mips.h (TARGET_IRIX5, TARGET_SGI_O32_AS): Delete.
- 	(TARGET_IRIX6): New macro.
- 	(ASM_ABI_DEFAULT_SPEC): Remove !ELF definition.
- 	(MD_EXEC_PREFIX, MD_STARTFILE_PREFIX, SET_FILE_NUMBER)
- 	(LABEL_AFTER_LOC): Delete.
- 	* config/mips/mips.c (TARGET_ASM_FILE_START, TARGET_ASM_FILE_END)
- 	(TARGET_SECTION_TYPE_FLAGS): Remove TARGET_IRIX versions.
- 	(mips_build_builtin_va_list): Check TARGET_IRIX6.
- 	(override_options): Remove TARGET_SGI_O32_AS-related code.
- 	(irix_output_external_libcall): Make static.
- 	(mips_output_filename): Avoid use of SET_FILE_NUMBER and
- 	LABEL_AFTER_LOC.
- 	(mips_file_start): Tidy guard for ABI sections.  Remove use of
- 	ABICALLS_ASM_OP; use .abicalls instead.
- 	(mips_output_aligned_decl_common, mips_declare_object_name)
- 	(mips_finish_declare_object): Remove use of TARGET_SGI_O32_AS.
- 	(mips_output_function_prologue): Set TREE_ASM_WRITTEN if emitting
- 	.globl foo .text directives.
- 	(irix_asm_named_section_1, irix_asm_named_section)
- 	(irix_section_align_entry, irix_section_align_htab)
- 	(irix_orig_asm_out_file, irix_section_align_entry_eq)
- 	(irix_section_align_entry_hash, irix_asm_output_align)
- 	(irix_file_start, irix_section_align_1, copy_file_data)
- 	(irix_file_end, irix_section_type_flags): Delete.
- 	* config/mips/irix-crti.asm (__gcc_init): Move to .gcc_init section.
- 	Use standard section syntax.  Remove protective "jr $31".
- 	(__gcc_fini): Likewise .gcc_fini.
- 	* config/mips/irix-crtn.asm: Adjust sections accordingly.
- 	* config/mips/sdb.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Moved from
- 	iris5gas.h.
- 	* config/mips/t-iris (irix-crti.o, irix-crtn.o): New rules, moved
- 	from t-irix-gld.
- 	(EXTRA_MULTILIB_PARTS): Define.
- 	* config/mips/t-iris6: Remove bogus comment.
- 	(EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS): Delete.
- 	* config/mips/iris5gas.h, config/mips/iris5gld.h,
- 	config/mips/iris6gas.h, config/mips/iris6gld.h,
- 	config/mips/t-iris5-as, config/mips/t-iris5-gas
- 	config/mips/t-irix-gld: Delete.
- 	* config/mips/iris.h: New file.
- 	* config/mips/t-slibgcc-irix: Renamed from t-iris5-6.
- 
- 2004-08-20  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* postreload.c (reload_cse_move2add): Allow any condjump, but check
- 	that the implicit set isn't clobbered in the jump insn.
- 
- 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* defaults.h (TARGET_LIBGCC_LIBFUNCS): Remove.
- 	* optabs.c (init_optabs): Don't check it.
- 	* config/arm/bpabi.h (TARGET_LIBGCC_LIBFUNCS): Do not define.
- 	* doc/tm.texi (TARGET_LIBGCC_FUNCS): Remove.
- 
- 2004-08-18  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md (s390_warn_framesize_string)
- 	(s390_warn_dynamic_string, s390_stack_size_string)
- 	(s390_stack_guard_string): New global string variables.
- 	(s390_warn_framesize, s390_warn_dynamicstack_p, s390_stack_size)
- 	(s390_stack_guard): New global variables.
- 	(override_options): Added checks for the new options.
- 	(s390_emit_prologue): Emit stack check and trap code and perform
- 	compile time stack size checking.
- 
- 	* config/s390/s390.h (TARGET_OPTIONS): Added new options
- 	"warn-framesize", "warn-dynamicstack", "stack-size" and
- 	"stack-guard".
- 
- 	* doc/invoke.texi: Added documentation for the new options.
- 
- 2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen
- 	to eliminate warning.
- 	(linear_search_fdes): Declare p as unsigned.
- 	(binary_search_mixed_encoding_fdes): Likewise.
- 	* unwind-dw2.c (get_cie_encoding): Cast argument to strlen
- 	to eliminate warning.
- 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing
- 	type cast.
- 
- 2004-08-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype.
- 	* config/s390/s390.c (preferred_la_operand_p): Accept two operands
- 	instead of one.  Check for strictly legitimate address.
- 	* config/s390/s390.md ("*la_31"/"*la_64" peepholes): Adapt call
- 	to preferred_la_operand_p, do not call gen_rtx_PLUS in predicate.
- 
- 2004-08-19  Eric Christopher  <echristo@redhat.com>
- 
- 	* langhooks-def.h (LANG_HOOKS_UNSAVE_EXPR_NOW): Remove.
- 	* langhooks.h (unsave_expr_now): Ditto.
- 	* tree.h (unsave_expr_1): Remove prototype.
- 	(lhd_unsave_expr_now): Rename to unsave_expr_now.
- 	* tree-inline.c (unsave_expr_1): Move here
- 	from tree.c. Make static.
- 	(unsave_expr_now): Rename from lhd_unsave_expr_now.
- 	* tree-sra.c: Fix up for rename.
- 	* tree-ssa-copy.c: Ditto.
- 	* tree-eh.c: Ditto.
- 	* tree.c (unsave_expr_1): Move to tree-inline.c.
- 
- 2004-08-19  Caroline Tice  <ctice@apple.com>
- 
- 	* config/i386/cygming.h (switch_to_section):  Fix typo (change
- 	in_unlikely_text_section to in_unlikely_executed_text).
- 
- 2004-08-19  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* vec.h (VEC_lower_bound): New macro.
- 
- 2004-08-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16446
- 	* config/mips/mips.c (struct mips_arg_info): Delete num_bytes.
- 	(mips_arg_info): Update accordingly.  Remove common treatment of fpr_p;
- 	treat each ABI separately.  Deal with n32/n64 complex float arguments.
- 	(function_arg): Add associated complex handling here.
- 
- 2004-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/arm/arm.c (arm_gen_load_multiple): Use
- 	adjust_automodify_address.  Take base memory and offset instead
- 	of unchanging/struct/scalar bits.
- 	(arm_gen_store_multiple): Likewise.
- 	(arm_gen_movmemqi): Use adjust_automodify_address.
- 	* config/arm/arm-protos.h: Update decls.
- 	* config/arm/arm.md (load_multiple): Update arm_gen_load_multiple call.
- 	(store_multiple): Similarly.
- 
- 2004-08-19  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* regclass.c (globalize_reg): Update call_really_used_regs.
- 
- 2004-08-19  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/invoke.texi (integer-share-limit): Document.
- 
- 	* tree.h (TYPE_CACHED_VALUES_P): New.
- 	(TYPE_CACHED_VALUES): New.
- 	(TYPE_ORIG_SIZE_TYPE): Adjust.
- 	* tree.def (INTEGER_CST): Update documentation.
- 	* tree.c: Inlcude params.h.
- 	(build_int_cst): Cache small values.
- 	(build_type_copy): Do not copy the value cache.
- 	* c-common.c (c_common_nodes_and_builtins): Add comment, remove
- 	unneeded zeroing.
- 	* c-typeck.c (build_c_cast): Add comment about OVERFLOW setting.
- 	* expmed.c (const_mult_add_overflow_p): Clear type copy's value
- 	cache.
- 	* fold-const.c (force_fit_type): Copy value when setting
- 	overflows.
- 	(int_const_binop): Likewise.
- 	* stor-layout.c: Include params.h
- 	(set_sizetype): Create values cache.
- 	(fixup_unsigned_type): Set UNSIGNED_P before caching any values.
- 	* params.def (PARAM_INTEGER_SHARE_LIMIT): New.
- 	* params.h (INTEGER_SHARE_LIMIT): New.
- 	* Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H.
- 
- 2004-08-19  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* gimplify.c (gimplify_minimax_expr): Remove.
- 	(gimplify_expr) <MIN_EXPR, MAX_EXPR>: Remove special handling.
- 
- 2004-08-19  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
- 	STACK_BOUDARY with PREFERRED_STACK_BOUNDARY.
- 
- 2004-08-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* bpabi.h (FPUTYPE_DEFAULT): Set it to FPUTYPE_VFP.
- 
- 2004-08-18  Andrew Pinski  <apinski@apple.com>
- 
- 	* varasm.c (ecode_reg_name): Do nothing if the asmspec is empty.
- 
- 2004-08-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/bpabi.c (__aeabi_ul2d): Give it default visibility.
- 	(__aeabi_ul2f): Likewise.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/xtensa/xtensa.c (xtensa_expand_block_move): Expand block
- 	move to rtl completely.
- 	(struct meminsnbuf, xtensa_emit_block_move): Remove.
- 	(xtensa_find_mode_for_size): Remove.
- 	* config/xtensa/xtensa-protos.h (xtensa_emit_block_move): Remove.
- 	* config/xtensa/xtensa.md (movmemsi_internal): Remove.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mcore/mcore.c (mode_from_align): Remove DImode.
- 	(block_move_sequence): Rewrite to use adjust_address.
- 	(mcore_expand_block_move): Cleanup logic.  Accept only operands.
- 	Return boolean indicating success/failure.
- 	* config/mcore/mcore-protos.h (mcore_expand_block_move): Update decl.
- 	* config/mcore/mcore.md (movmemsi): Update to match.
- 
- 2004-08-18  Mike Stump  <mrs@apple.com>
- 
- 	* doc/invoke.texi (-mfix-and-continue): Add support for
- 	fast turn around debugging.
- 	(-ffix-and-continue): Likewise.
- 	(-mindirect-data): Likewise.
- 	(-findirect-data): Likewise.
- 	* config/darwin.c (TARGET_FIX_AND_CONTINUE): Likewise.
- 	(indirect_data): Likewise.
- 	(machopic_data_defined_p): Likewise.
- 	(machopic_output_indirection): Likewise.
- 	(darwin_encode_section_info): Likewise.
- 	(darwin_fix_and_continue): Likewise.
- 	(darwin_fix_and_continue_switch): Likewise.
- 	* config/darwin.h (MACHO_SYMBOL_STATIC): Likewise.
- 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- 	(SUBTARGET_OPTION_TRANSLATE_TABLE): Likewise.
- 	(SUBTARGET_OPTIONS): Likewise.
- 	(darwin_fix_and_continue): Likewise.
- 	(darwin_fix_and_continue_switch): Likewise.
- 	(TARGET_FIX_AND_CONTINUE): Likewise.
- 	* config/rs6000.c (rs6000_emit_prologue): Likewise.
- 
- 2004-08-19  Steven Bosscher  <stevenb@suse.de>
- 
- 	* basic-block.h (struct edge_def): Remove crossing_edge.
- 	(EDGE_CROSSING): New define.
- 	(EDGE_ALL_FLAGS): Update.
- 	* bb-reorder.c (find_traces_1_round, better_edge_p,
- 	find_rarely_executed_basic_blocks_and_cr, fix_up_fall_thru_edges,
- 	find_jump_block, fix_crossing_conditional_branches,
- 	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
- 	Replace all occurences of crossing_edge with an edge flag check
- 	or set/reset.
- 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
- 	try_crossjump_bb): Likewise.
- 	* cfglayout.c (fixup_reorder_chain): Likewise.
- 	* cfgrtl.c (force_nonfallthru_and_redirect,
- 	commit_one_edge_insertion): Likewise.
- 
- 	* Makefile.in (cfganal.o): Depend on TIMEVAR_H.
- 	* tree-flow.h (compute_dominance_frontiers): Move prototype...
- 	* basic-block.h:  ...here.
- 	* tree-cfg.c (compute_dominance_frontiers_1,
- 	compute_dominance_frontiers): Move from here...
- 	* cfganal.c: ...to here.  Include timevar.h.
- 
- 2004-08-18  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.h (ASM_SPEC): In comment, change -meabi= to -mabi=.
- 	* config/mips/sb1.md (ir_sb1_divsf_1pipe): Renamed from ...1pipes.
- 
- 	* config/mips/mips.md (type): Add frdiv.
- 	(divsf3+1, divsf3+2): Change type to frdiv.
- 	* config/mips/sb1.md (ir_sb1_recipsf_2pipes, ir_sb1_recipsf_1pipe,
- 	ir_sb1_recipdf_2pipes, ir_sb1_recipdf_1pipe): New.
- 
- 	* config/mips/3000.md (r3k_fdiv_single, r3k_fdiv_double): Add frdiv.
- 	* config/mips/4300.md (r4300_fdiv_single, r4300_fdiv_double): Likewise.
- 	* config/mips/4600.md (r4600_fdiv_single, f4600_fdiv_double): Likewise.
- 	* config/mips/5000.md (r5k_fdiv_single): Likewise.
- 	* config/mips/5400.md (ir_vr54_fdiv_sf, ir_vr54_fdiv_df): Likewise.
- 	* config/mips/5500.md (ir_vr55_fdiv_sf, ir_vr55_fdiv_df): Likewise.
- 	* config/mips/6000.md (r6k_fdiv_single, r6k_fdiv_double): Likewise.
- 	* config/mips/7000.md (rm7_fp_divsqrt_df, rm7_fp_divsqrt_sf): Likewise.
- 	* config/mips/9000.md (rm8k_fdivs, rm9k_fdivd): Likewise.
- 	* config/mips/generic.md (generic_fdiv_single, generic_fdiv_double):
- 	Likewise.
- 	* config/mips/sr71k.md (ir_sr70_fdiv_sf, ir_sr70_fdiv_df): Likewise.
- 
- 2004-08-18  Robert Bowdidge <bowdidge@apple.com>
- 
- 	* config/rs6000/x-darwin: Remove XCFLAGS -mdynamic-no-pic to
- 	get regression tester working again.
- 
- 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* insn-notes.def, reg-notes.def: New files.
- 	* rtl.h: Use them to define enum insn_note and enum reg_note.
- 	* rtl.c: Use them to define note_insn_name and reg_note_name.
- 	* Makefile.in (RTL_BASE_H): Update.
- 
- 	* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
- 	renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
- 
- 2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_size_rtx_costs): New function.
- 	(arm_override_options): Use it if optimizing for space.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (gen_const_mem): New.
- 	* rtl.h (gen_const_mem): Declare.
- 	* expr.c (do_tablejump): Use it.
- 	* varasm.c (force_const_mem): Likewise.
- 	* config/darwin.c (machopic_indirect_data_reference): Likewise.
- 	(machopic_legitimize_pic_address): Likewise.
- 	* config/arm/arm.c (legitimize_pic_address): Likewise.
- 	* config/i386/i386.c (legitimize_pic_address): Likewise.
- 	(legitimize_tls_address): Likewise.
- 	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
- 	* config/ia64/ia64.md (load_fptr): Likewise.
- 	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
- 	* config/pa/pa.c (legitimize_pic_address): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
- 	(rs6000_emit_move): Likewise.
- 	* config/s390/s390.c (legitimize_pic_address): Likewise.
- 	(legitimize_tls_address): Likewise.
- 	* config/s390/s390.md (casesi): Likewise.
- 	* config/sh/sh.c (sh_reorg): Likewise.
- 	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
- 	* config/v850/v850.md (casesi): Likewise.
- 
- 	* config/darwin.c (machopic_indirect_call_target): Set MEM_NOTRAP_P.
- 	* config/sh/sh.c (prepare_move_operands): Remove incorrect
- 	use of MEM_READONLY_P.
- 
- 2004-08-18  Steven Bosscher  <stevenb@suse.de>
- 
- 	* Makefile.in (OBJS-common): Add postreload-gcse.c.
- 	Add new postreload-gcse.o.
- 	* cse.c (SAFE_HASH): Define as wrapper around safe_hash.
- 	(lookup_as_function, insert, rehash_using_reg, use_related_value,
- 	equiv_constant): Use SAFE_HASH instead of safe_hash.
- 	(exp_equiv_p): Export.  Add for_gcse argument when comparing
- 	for GCSE.
- 	(lookup, lookup_for_remove, merge_equiv_classes, find_best_addr,
- 	find_comparison_args, fold_rtx, cse_insn): Update callers.
- 	(hash_rtx): New function derived from old canon_hash and bits
- 	from gcse.c hash_expr_1.
- 	(canon_hash_string): Rename to hash_rtx_string.
- 	(canon_hash, safe_hash): Make static inline.  Call hash_rtx.
- 	* cselib.c (hash_rtx): Rename to cselib_hash_rtx.
- 	(cselib_lookup): Update this caller.
- 	* gcse.c (modify_mem_list_set, canon_modify_mem_list_set):
- 	Make static.
- 	(hash_expr): Call hash_rtx.
- 	(ldst_entry): Likewise.
- 	(expr_equiv_p): Call exp_equiv_p.
- 	(struct unoccr, hash_expr_1, hash_string_1, lookup_expr,
- 	reg_used_on_edge, reg_set_between_after_reload_p,
- 	reg_used_between_after_reload_p, get_avail_load_store_reg,
- 	is_jump_table_basic_block, bb_has_well_behaved_predecessors,
- 	get_bb_avail_insn, hash_scan_set_after_reload,
- 	compute_hash_table_after_reload,
- 	eliminate_partially_redundant_loads, gcse_after_reload,
- 	get_bb_avail_insn, gcse_after_reload_main): Remove.
- 	* postreload-gcse.c: New file, reincarnating most of the above.
- 	* rtl.h (exp_equiv_p, hash_rtx): New prototypes.
- 	(gcse_after_reload_main): Update prototype.
- 	* timevar.def (TV_GCSE_AFTER_RELOAD): New timevar.
- 	* passes.c (rest_of_handle_gcse2): Use it.
- 
- 2004-08-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-loop.c (pass_loop_init): Add TODO_dump_func.
- 	(pass_loop_done): Likewise.
- 
- 2004-08-18  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/darwin.md: Delete the altivec patterns which are
- 	handled differently now.
- 	(load_macho_picbase_di): Make sure that is only happens for TARGET_64BIT
- 	(macho_correct_pic_di): Likewise.
- 	(call_indirect_nonlocal_darwin64): Likewise.
- 	Delete the save world/saveFP/saveVec patterns.
- 
- 	Revert the reversion of: 2004-08-16  Stan Shebs  <shebs@apple.com>
- 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
- 	* config/rs6000/rs6000.md: Include darwin.md.
- 	(builtin_setjmp_receiver): Add DImode case.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
- 	Darwin bits.
- 
- 2004-08-18  Matt Austern  <austern@apple.com>
- 
- 	Dead code stripping
- 	* darwin.h (EH_FRAME_SECTION_ATTR): Mark so it doesn't get stripped.
- 	* darwin.c (darwin_file_end): Mark file as potentially strippable.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (readonly_fields_p): Remove.
- 	(objects_must_conflict_p): Don't call it.
- 	* tree.h (readonly_fields_p): Remove.
- 	* langhooks.h (struct lang_hooks): Remove honor_readonly.
- 	* langhooks-def.h (LANG_HOOKS_HONOR_READONLY): Remove.
- 
- 2004-08-18  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-dfa.c (add_referenced_var): Only global variables are
- 	call-clobbered.
- 	* tree-flow.h (struct ptr_info_def): Add field pt_global_mem.
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Mark
- 	all pointers dereferenced if the statement dereferences them.
- 	(create_name_tags): Do not create memory tags for pointers
- 	that have PT_ANYTHING set.
- 	Also check if PT_VARS is not empty before creating a name tag.
- 	(compute_flow_sensitive_aliasing): Don't mark call-clobbered
- 	variables that share the same alias set with a pointer that
- 	may point anywhere.
- 	(add_may_alias): Add FIXME comment to remove clobbering
- 	aliased variables and tags.
- 	(replace_may_alias): Likewise.
- 	(set_pt_anything): Do not clear PT_VARS nor IS_DEREFERENCED.
- 	(merge_pointed_to_info): If the original variable has not
- 	points-to information, call set_pt_anything.
- 	(add_pointed_to_var): Do not prevent adding a pointed-to
- 	variable if the pointers is PT_ANYTHING.
- 	If the variable is a global, set PT_GLOBAL_MEM.
- 	(collect_points_to_info_r): Don't assume that PLUS_EXPRs of
- 	pointer type only come in PTR+OFFSET flavours.
- 	Always call merge_pointed_to_info on PHI arguments that are
- 	SSA_NAMEs.
- 	(get_nmt_for): Mark call-clobbered tags whose pointer points
- 	to global memory.
- 	* tree-ssa-operands.c (opf_kill_def, opf_no_vops): Switch
- 	values.
- 	(get_indirect_ref_operands): Always clear OPF_KILL_DEF from
- 	FLAGS.
- 	(add_stmt_operand): Abort if the caller tried to add a killing
- 	definition for a memory tag.
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): Remove
- 	unnecessary checks.
- 
- 2004-08-18  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers
- 	from call_used_regs.  Update call_really_used_regs.
- 	(CALL_REALLY_USED_REGISTERS): Define.
- 	* sh.c (output_stack_adjust, shmedia_target_regs_stack_space):
- 	Replace call_used_regs with call_really_used_regs.
- 	(calc_live_regs, sh_media_register_for_return): Likewise.
- 	(sh5_schedule_saves, sh_expand_prologue, reg_unused_after): Likewise.
- 	* sh.md (return_media): Likewise.
- 
- 2004-08-18  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_legitimize_pic_address): Only set
- 	MEM_READONLY_P in the non TARGET_TOC case.
- 
- 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.def (NIL): Delete.
- 	* read-rtl.c (read_rtx): Handle (nil) like (define_constants).
- 	Tighten the syntax a little.
- 
- 	* cfgloop.h, combine.c, cse.c, loop-iv.c, postreload.c, reload.c
- 	* config/alpha/alpha.c, config/alpha/alpha.h, config/arc/arc.h
- 	* config/arm/arm.h, config/frv/frv.h, config/i386/i386.c
- 	* config/i386/predicates.md, config/m32r/m32r.h
- 	* config/m68hc11/m68hc11.c, config/mcore/mcore.h, config/mips/mips.c
- 	* config/mmix/mmix.c, config/pa/pa.h, config/sh/sh.h
- 	* config/sparc/sparc.h, doc/tm.texi:
- 	Replace all occurrences of NIL with UNKNOWN.
- 
- 2004-08-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dojump.c (do_jump <unordered_bcc>): Do not recursively call
- 	self with a TRUTH_ORIF_EXPR; generate the appropriate jump
- 	sequence inline.  Move drop_through_label code into this
- 	block, being the only place it is used.  Adjust comments.
- 
- 2004-08-18  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/altivec.md: Add new patterns for calls to
- 	save_world/rest_world functions.
- 
- 	* config/rs6000/rs6000-protos.h: (save_world_operation,
- 	restore_world_operation) new declarations.
- 
- 	* config/rs6000/rs6000.c: (struct rs6000_stack) new world_save_p
- 	field added.
- 	(rs6000_stack_info): Set world_save_p field.
- 	(save_world_operation): New function.
- 	(restore_world_operation): New function.
- 	(compute_save_world_info): New function.
- 	(rs6000_stack_info): Call compute_save_world_info.
- 	(rs6000_emit_prologue): Check for world_save_p and generate
- 	pattern to call save_world for saving all non-volatile and
- 	special registers.
- 	(rs6000_emit_epilogue): Check for world_save_p and generate
- 	pattern to call rest_world to restore saved registers.
- 
- 	config/rs6000/rs6000.h: macros FIRST_SAVED_ALTIVEC_REGNO,
- 	FIRST_SAVED_FP_REGNO, FIRST_SAVED_GP_REGNO defined.
- 	(rs6000_reg_names): New entries added for save_world_operation and
- 	restore_world_operation.
- 
- 2004-08-18  Caroline Tice  <ctice@apple.com>
- 
- 	* Makefile.in (STAGEFEEDBACK_FLAGS_TO_PASS) Add
- 	"-freorder-blocks-and-partition" to the flags used in second
- 	stage of profiledbootstrap.
- 	* bb-reorder.c (push_to_next_round_p): Add new variable,
- 	next_round_is_last; set and use variable to make sure, when
- 	partitioning, that the last trace construction round consists
- 	of all (and only) cold basic blocks.
- 	(rotate_loop): Don't copy blocks that end in a section
- 	crossing jump.
- 	(copy_bb): Correctly initialize "partition" of duplicated bb.
- 	(add_unlikely_executed_notes): Add a comment.
- 	(find_rarely_executed_basic_blocks_and_crossing_edges): Modify
- 	to make sure, if function contains hot blocks, that the
- 	successors of ENTRY_BLOCK_PTR are hot; also, only look for
- 	crossing edges if the architecture supports named sections.
- 	(mark_bb_for_unlikely_executed_section): Modify to always
- 	insert the NOTE_INSN_UNLIKELY_EXECUTED_CODE immediately after
- 	the basic block note insn.
- 	(fix_crossing_unconditional_branches): Remove extra space.
- 	(fix_edges_for_rarely_executed_code): Modify to only do
- 	partitioning work if the architecture supports named sections.
- 	(reorder_basic_blocks): Modify to only add
- 	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes if the architecture
- 	supports named sections.
- 	* c-common.c (handle_section_attribute): Initialize new global
- 	variable, user_defined_section_attribute, to true if user has
- 	specified one.
- 	* cfgcleanup.c (try_forward_edges): Modify to not attempt to
- 	forward edges that cross section boundaries.
- 	* cfglayout.c (fixup_reorder_chain): Modify to only fix up
- 	partitioning information if the architecture supports named
- 	sections.
- 	* cfgrtl.c (target.h): Add statement to include this.
- 	(rtl_split_block): Make sure newly created bb gets correct
- 	partition.
- 	(try_redirect_by_replacing_jump): Make sure redirection isn't
- 	attempting to cross section boundaries.
- 	(force_nonfallthru_and_redirect): Only do partition fix up if
- 	architecture supports named sections.
- 	(rtl_split_edge): Make sure newly created bb ends up in
- 	correct partition.
- 	(commit_one_edge_insertion): Remove code that incorrectly
- 	updated basic block partition; Make sure partition fix up only
- 	happens if architecture supports named sections and it's not
- 	already done.
- 	(rtl_verify_flow_info_1): Fix if-condition on test/error
- 	condition that fallthru edges are not allowed to cross section
- 	boundaries.
- 	* defaults.h (NORMAL_TEXT_SECTION_NAME): Remove this.
- 	* final.c (final_scan_insn): Remove redundant test from if-statement;
- 	change calls to text_section into calls to function_section; add code
- 	to only to partitioning fix up if architecture supports named
- 	sections.
- 	* ifcvt.c (find_if_case_1): Make sure newly created bb has correct
- 	partition.
- 	(if_convert): Add targetm.have_named_sections to test.
- 	* output.h (unlikely_section_label): Extern declaration for new global
- 	variable.
- 	(unlikely_text_section_name): Likewise.
- 	* opts.c (decode_options): If both partitioning and DWARF debugging
- 	are turned on, issue a warning that this doesn't work, and change
- 	partitiong to basic block reordering (without hot/cold partitions).
- 	* passes.c (rest_of_handle_final): Re-set new global variable,
- 	user_defined_section_attribute, to false.
- 	(rest_of_compilation): Change options for calling partitioning
- 	function: Don't call if the user defined the section attribute, and
- 	don't call if DECL_ONE_ONLY is true for the current function.
- 	* predict.c (choose_function_section): Return immediately if we
- 	are doing hot/cold partitioning (i.e. let the basic block partitioning
- 	determine where the function belongs).
- 	* reg-stack.c (emit_swap_insn): Add condition to step over
- 	NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
- 	* toplev.c (user_defined_section_attribute): New global variable.
- 	* toplev.h (user_defined_section_attribute): Extern declaration
- 	for new global variable.
- 	* varasm.c (unlikely_section_label): New global variable.
- 	(unlikely_text_section_name): New global variable.
- 	(unlikely_text_section): Add code to initialize
- 	unlikely_text_section_name if necessary; modify to use
- 	unlikely_text_section_name and unlikely_section_label; also to use
- 	named_section properly.
- 	(in_unlikely_text_section):  Modify to work correctly with
- 	named_section and to use unlikely_text_section_name.
- 	(named_section):  Add code to work properly with cold section.
- 	(function_section): Clean up if-statement.
- 	* config/darwin.c (darwin_asm_named_section): Return to original
- 	code, removing use of SECTION_FORMAT_STRING.
- 	* config/arm/pe.h (switch_to_section):  Add case for
- 	in_unlikely_executed_text to switch statement.
- 	* config/i386/cygming.h (switch_to_section): Likewise.
- 	* config/i386/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
- 	(SECTION_FORMAT_STRING): Likewise.
- 	* config/mcore/mcore.h (switch_to_section): Likewise.
- 	* config/rs6000/darwin.h (NORMAL_TEXT_SECTION_NAME): Remove.
- 	(SECTION_FORMAT_STRING): Remove.
- 
- 2004-08-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.h (FIXED_REGISTERS): Update encoding to be
- 	-ffixed-reg safe, by preserving the meanings of zero and one.
- 	(CALL_USED_REGISTERS): Likewise.
- 	(CONDITIONAL_REGISTER_USAGE): Update to process new encodings.
- 
- 2004-08-18  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (split_branches): Check the result of
- 	next_active_insn.
- 	(sh_output_mi_thunk): Call init_flow if basic_block_info is null.
- 	Call rtl_register_cfg_hooks.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
- 	* alias.c (true_dependence): Update to match new semantics.
- 	(canon_true_dependence, write_dependence_p): Likewise.
- 	(anti_dependence, output_dependence): Update write_dependence_p args.
- 	(unchanging_anti_dependence): Remove.
- 	* calls.c (purge_mem_unchanging_flag): Remove.
- 	(fixup_tail_calls): Don't call it.
- 	(expand_call): Don't add unchanging memory to function usage.
- 	* expr.c (emit_block_move_via_libcall): Likewise.
- 	(clear_storage_via_libcall): Don't clobber RTX_UNCHANGING_P mems.
- 	(get_subtarget): Don't use RTX_UNCHANGING_P.
- 	(expand_assignment, store_constructor, expand_expr_real_1): Likewise.
- 	(do_tablejump): Set MEM_READONLY_P, not RTX_UNCHANGING_P.
- 	* combine.c (get_last_value_validate): Use MEM_READONLY_P.
- 	* cse.c (insert): Don't use RTX_UNCHANGING_P.
- 	(cse_insn, canon_hash): Use MEM_READONLY_P.
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Use MEM_READONLY_P
- 	instead of RTX_UNCHANGING_P.
- 	* explow.c (maybe_set_unchanging): Remove.
- 	* expr.h (maybe_set_unchanging): Remove.
- 	* flow.c (insn_dead_p, mark_used_regs): Use anti_dependence.
- 	* function.c (assign_stack_temp_for_type): Don't use RTX_UNCHANGING_P.
- 	(assign_parm_setup_reg, expand_function_start): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* ra-rewrite.c (emit_colors): Likewise.
- 	* regmove.c (copy_src_to_dest, regmove_optimize): Likewise.
- 	(fixup_match_1): Likewise.
- 	* reload1.c (reload, alter_reg): Likewise.
- 	* local-alloc.c (validate_equiv_mem): Check MEM_READONLY_P,
- 	not RTX_UNCHANGING_P.
- 	(equiv_init_varies_p): Likewise.
- 	* loop-invariant.c (check_maybe_invariant): Likewise.
- 	* resource.c (mark_referenced_resources, mark_set_resources): Likewise.
- 	* loop.c (note_addr_stored): Likewise.
- 	(prescan_loop): Likewise. Don't check function usage for clobbered
- 	unchanging memory.
- 	* rtlanal.c (rtx_unstable_p): Check MEM_READONLY_P,
- 	not RTX_UNCHANGING_P.
- 	(rtx_varies_p, modified_between_p, modified_in_p): Likewise.
- 	* varasm.c (force_const_mem): Likewise.
- 	* stmt.c (expand_decl): Don't set RTX_UNCHANGING_P.
- 	* web.c (entry_register): Likewise.
- 	* tree-gimple.h (get_base_address): Move decl ...
- 	* tree.h: ... here.
- 	* doc/rtl.texi (MEM_READONLY_P): Replace RTX_UNCHANGING_P.
- 
- 	* config/alpha/alpha.c (alpha_set_memflags_1): Rewrite to be
- 	called via for_each_rtx.  Copy MEM_SCALAR_P, MEM_NOTRAP_P too.
- 	(alpha_set_memflags): Update to match.
- 
- 	* config/darwin.c (machopic_indirect_data_reference): Set
- 	MEM_READONLY_P instead of RTX_UNCHANGING_P.
- 	(machopic_indirect_call_target): Likewise.
- 	(machopic_legitimize_pic_address): Likewise.
- 	* config/arm/arm.c (legitimize_pic_address, arm_gen_load_multiple,
- 	arm_gen_store_multiple, arm_gen_movmemqi): Likewise.
- 	* config/arm/arm.md (load_multiple, store_multiple): Likewise.
- 	* config/frv/frv.md (symGOT2reg): Likewise.
- 	* config/i386/i386.c (legitimize_pic_address,
- 	legitimize_tls_address, ix86_split_to_parts): Likewise.
- 	* config/ia64/ia64.c (ia64_expand_tls_address): Likewise.
- 	* config/ia64/ia64.md (load_fptr): Likewise.
- 	* config/m32r/m32r.c (m32r_legitimize_pic_address): Likewise.
- 	* config/m68k/m68k.c (legitimize_pic_address): Likewise.
- 	* config/mcore/mcore.c (block_move_sequence): Likewise.
- 	* config/mn10300/mn10300.md (symGOT2reg): Likewise.
- 	* config/pa/pa.c (legitimize_pic_address): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Likewise.
- 	(rs6000_emit_move): Likewise.
- 	* config/s390/s390.c (legitimize_pic_address): Likewise.
- 	(legitimize_tls_address): Likewise.
- 	* config/s390/s390.md (casesi): Likewise.
- 	* config/sh/sh.c (prepare_move_operands, sh_reorg): Likewise.
- 	* config/sh/sh.md (symGOT2reg): Likewise.
- 	* config/sparc/sparc.c (legitimize_pic_address): Likewise.
- 	* config/v850/v850.md (casesi): Likewise.
- 
- 	* config/ia64/ia64.c (gen_thread_pointer): Don't set RTX_UNCHANGING_P.
- 	* config/iq2000/iq2000.c (save_restore_insns): Likewise.
- 	* config/mips/mips.c (mips_restore_gp): Likewise.
- 	(mips_save_restore_reg, mips16_gp_pseudo_reg): Likewise.
- 	* config/sh/sh.c (sh_reorg): Likewise.
- 
- 2004-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.h (struct tree_decl): Add gimple_formal_temp.
- 	(DECL_GIMPLE_FORMAL_TEMP_P): New.
- 	* gimplify.c (pop_gimplify_context): Clear it.
- 	(lookup_tmp_var): Set it, if is_formal.
- 	(gimplify_init_constructor): Use rhs_predicate_for for COMPLEX.
- 	Use is_gimple_val for VECTOR.  Simplify return value.
- 	(gimplify_save_expr): Use and set DECL_GIMPLE_FORMAL_TEMP_P.
- 	(gimplify_expr): Likewise.
- 	* tree-gimple.c (is_gimple_formal_tmp_rhs): Rename from
- 	is_gimple_tmp_rhs for clarity.  Update all callers.
- 	(is_gimple_reg_rhs): Simplify logic.
- 	(is_gimple_formal_tmp_var): Rename from is_gimple_tmp_var for
- 	clarity; use DECL_GIMPLE_FORMAL_TEMP_P.
- 	(is_gimple_formal_tmp_reg): Similarly.
- 	* tree-gimple.h: Update decls.
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Use
- 	DECL_IGNORED_P, not DECL_ARTIFICIAL.  Tidy formatting.
- 	* tree-ssa-live.c (var_union, type_var_init): Likewise.
- 
- 2004-08-18  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c4x.c (legitimize_operands): Remove calls to
- 	preserve_subexpressions_p.
- 
- 2004-08-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* varasm.c (MAX_OFILE_ALIGNMENT): Move ...
- 	* defaults.h (MAX_OFILE_ALIGNMENT): ... here.
- 
- 2004-08-18  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* gcc.c (default_compilers): Add info about ".mm", ".M" and ".mii"
- 	Objective-C++ extensions.
- 	* gengtype.c (get_file_basename): Match entire subdirectory name
- 	('cp', 'objc', 'objcp') rather than just its suffix.
- 	(get_base_file_bitmap): Allow for files to belong to more than one
- 	language.
- 	(get_output_file_with_visibility): Treat objc/objc-act.h as a header
- 	used by more than one front-end.
- 
- 2004-08-18  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (addsi3, subsi3, andsi3, iorsi3, movsi, movhi): Rework to
- 	avoid use of preserve_subexpressions_p.
- 
- 2004-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	PR 17051
- 	* tree-sra.c (scalarize_use): Mark all v_defs for !is_output too.
- 
- 2004-08-17  DJ Delorie  <dj@redhat.com>
- 
- 	* doc/extend.texi: Document new xstormy16 attribute.
- 
- 	* config/stormy16/stormy16.c (xstormy16_splittable_below100_operand): New.
- 	(xstormy16_splittable_below100_or_register): New.
- 	(combine_bnp): New.
- 	(xstormy16_reorg): New.
- 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
- 
- 	* config/stormy16/stormy16.md (movqi_internal): Make name public.
- 	(movhi_internal): Likewise.
- 	(cbhranchhi): Likewise.
- 	(cbhranchhi_neg): Likewise.
- 	(andhi3): Only allow splittable below100 operands.
- 	(iorhi3): Likewise.
- 	(peephole2): New and/zero_extend->and peephole.
- 	(peephole2): New load/ior/save->set1 peephole.
- 	(peephole2): New load/and/save->clr1 peephole.
- 	(bclrx, bclrx2, bclr7, bclr15): New.
- 	(bsetx, bsetx2, bset7, bset15): New.
- 
- 	* config/stormy16/stormy16.c (xstormy16_print_operand): Be more
- 	liberal about acceptable 'B' masks.
- 
- 	* config/stormy16/stormy16-protos.h
- 	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
- 	xstormy16_below100_operand, xstormy16_below100_or_register,
- 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
- 	(PREDICATE_CODES): Add new predicates.
- 
- 	* config/stormy16/stormy16.c
- 	(xstormy16_asm_output_aligned_common, xstormy16_below100_symbol,
- 	xstormy16_below100_operand, xstormy16_below100_or_register,
- 	xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand): New.
- 	(xstormy16_expand_iorqi3, xstormy16_expand_andqi3): New.
- 	(xstormy16_legitimate_address_p): Allow below100 symbols.
- 	(xstormy16_extra_constraint_p): Add 'W' for below100 operands.
- 	(xstormy16_expand_move): Leave below100 operands as-is.
- 	(xstormy16_encode_section_info): Encode below100 symbols.
- 	(xstormy16_strip_name_encoding): New.
- 	(xstormy16_print_operand): Print 'b' as shift mask.
- 	(xstormy16_attribute_table): Add below100 attributes.
- 	(xstormy16_handle_below100_attribute): New.
- 
- 	* config/stormy16/stormy16.h (EXTRA_SECTIONS): add in_bss100.
- 	(XSTORMY16_SECTION_FUNCTION): New.
- 	(EXTRA_SECTION_FUNCTIONS): Define using the above.
- 	(ASM_OUTPUT_ALIGNED_DECL_COMMON, ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
- 	(ASM_OUTPUT_SYMBOL_REF): Handle encoded symbols.
- 	(ASM_OUTPUT_LABELREF): Define.
- 
- 	* config/stormy16/stormy16.md (movqi_internal): Add below100 support.
- 	(movhi_internal): Add below100 support.
- 	(andhi3): Add below100 support.
- 	(iorhi3): Add below100 support.
- 	(iorqi3, iorqi3_internal, andqi3, andqi3_internal): New.
- 
- 2004-08-17  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/mips.c (gen_conditional_move): Use GET_MODE (op0) instead
- 	of VOIDmode for comparison code mode.
- 	* config/mips/mips.md: For conditional move patterns, use mode of
- 	first compare operand for comparison mode, instead of VOIDmode.
- 
- 	* config/mips/mips.md: Add canonical nmadd and nmsub patterns for both
- 	normal and -ffast-math code.
- 
- 2004-08-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/15871
- 	* doc/invoke.texi (-fkeep-inline-functions): Update documentation.
- 
- 2004-08-17  Robert Bowdidge  <bowdidge@apple.com>
- 
- 	* config/rs6000/x-darwin: Add -mdynamic-no-pic to gcc build flags.
- 
- 2004-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config/rs6000/darwin.md (*call_nonlocal_darwin64): Add #else clause
- 	for non Darwin targets.
- 	(*call_value_nonlocal_darwin64): Likewise.
- 
- 2004-08-17  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_function_value): Check for
- 	altivec mode for altivec return register.
- 
- 2004-08-17  David Edelsohn  <edelsohn@gnu.org>
- 
- 	Revert 2004-08-16  Stan Shebs  <shebs@apple.com>
- 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
- 	* config/rs6000/rs6000.md: Include darwin.md.
- 	(builtin_setjmp_receiver): Add DImode case.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Add DImode case to
- 	Darwin bits.
- 
- 2004-08-17  Dorit Naishlos  <dorit@il.ibm.com>
- 
- 	* tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE
- 	trees.
- 	* tree-vectorizer.h: New File: Same.
- 	* Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files.
- 	* common.opt (ftree-vectorize): New flag to enable vectorization.
- 	* timevar.def (TV_TREE_VECTORIZATION): New dump file for
- 	vectorization pass.
- 	* tree-data-ref.h (init_data_ref): Additional argument.
- 	(array_base_name_differ_p): Moved to tree-data-ref.c.
- 	* tree-data-ref.c (array_base_name_differ_p): Revised.
- 	(initialize_data_dependence_relation): Call array_base_name_differ_p
- 	with an extra argument.
- 	(analyze_all_data_dependences): Same.
- 	(init_data_ref): Additional argument is_read to set DR_IS_READ.
- 	* tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this
- 	file.
- 	* tree-flow.h (vectorize_loops, empty_block_p): Add declaration.
- 	* tree-optimize.c (pass_vectorize): Schedule the vectorization pass.
- 	* tree-pass.h (tree_opt_pass pass_vectorize): Declare the new
- 	vectorization pass.
- 	* tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize.
- 	(tree_ssa_loop_done): Call scev_finalize.
- 	(tree_vectorize): Define the new vectorization pass.
- 	* defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the
- 	size of the vector they support (until support for multiple vector
- 	sizes is added to the vectorizer).
- 	* config/i386/i386.h (UNITS_PER_SIMD_WORD): Define.
- 	* config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define.
- 	* invoke.texi (fdump-tree-vect, ftree-vectorize): Add
- 	documentation.
- 
- 2004-08-17  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* objc/objc-act.c (build_protocol_initializer): Fix build_int_cst
- 	usage.
- 	(generate_protocol_list, handle_impent): Likewise.
- 
- 2004-08-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* regclass.c (init_reg_sets_1): Add ENABLE_CHECKING sanity tests to
- 	ensure that call_used_regs is a superset of both fixed_regs and
- 	call_really_used_regs.
- 
- 2004-08-17  Daniel Bornstein  <danfuzz@milk.com>
- 
- 	PR target/17019
- 	* arm.md (addsi3_cbranch_scratch): Correct case labels.
- 
- 2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR middle-end/17036
- 	* fold-const.c (fold): Check for integer operand when
- 	folding (A >> N) & 1 ? (1 << N) : 0.  Fix from Andrew
- 	Pinski  <pinskia@physics.uc.edu>.
- 
- 2004-08-17  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* configure.ac: Trust toplevel's notion of BISON/FLEX/MAKEINFO.
- 	No need to check if in a cross configuration.
- 	* configure: Regenerate.
- 
- 	* calls.c (precompute_register_parameters):
- 	Inline preserve_subexpressions_p ().
- 	* expmed.c (expand_mult_const, emit_store_flag): Likewise.
- 	* optabs.c (expand_binop, expand_twoval_binop, prepare_cmp_insn):
- 	Likewise.
- 	* expr.c (get_subtarget): Likewise.
- 	* rtl.h (preserve_subexpressions_p): Remove.
- 	* stmt.c (preserve_subexpressions_p): Remove.
- 
- 	* dojump.c (do_jump) <COND_EXPR, EQ_EXPR, NE_EXPR,
- 	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, COMPOUND_EXPR>:
- 	Abort on gimplified cases.
- 
- 2004-08-16  James E Wilson  <wilson@specifixinc.com>
- 
- 	* tree.h (VECTOR_FLOAT_TYPE_P): New.
- 	(FLOAT_TYPE_P): Use it.
- 	* c-typeck.c (build_binary_op): After convert calls, check for
- 	check for ERROR_MARK operands.
- 
- 2004-08-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
- 	(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
- 	(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
- 	(genobjs static pattern rule): Remove %.c dependency.
- 	($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
- 	Rename rules; delete commands; fix dependencies.
- 	(mostlyclean): Do not delete temporary source copies.
- 	* configure.ac: Delete all references to BUILD_PREFIX and
- 	BUILD_PREFIX_1.
- 	* configure: Regenerate.
- 
- 	* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
- 	Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
- 	basic-block.h #ifdef GENERATOR_FILE.  Surround some more code
- 	with #ifndef GENERATOR_FILE so that nothing from those headers
- 	is used.
- 
- 	* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
- 
- 2004-08-16  Adam Nemet  <anemet@lnxw.com>
- 
- 	* Makefile.in (LIBS): Move $(LIBIBERTY) after $(BANSHEELIB).
- 
- 2004-08-16  Andrew Pinski  <apinski@apple.com>
- 
- 	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): Remove
- 	extraneous semicolon.
- 
- 2004-08-16  Devang Patel  <dpatel@apple.com>
- 
- 	* c-common.c (handle_used_attribute): Set DECL_PRESERVE_P.
- 	* print-tree.c (print_node): Print DECL_PRESERVE_P.
- 	* target-def.h (TARGET_ASM_MARK_DECL_PRESERVED): New #define.
- 	(TARGET_ASM_OUT): New member, TARGET_ASM_MARK_DECL_PRESERVED
- 	* target.h (struct gcc_target): New member, mark_decl_preserved.
- 	* hooks.c (hook_void_charptr): Rename to ...
- 	(hook_void_constcharptr): ... new name.
- 	* hooks.h (hook_void_charptr): Rename to ..
- 	(hook_void_constcharptr): ... new name.
- 	* tree.h (DECL_PRESERVE_P): New #define.
- 	(struct tree_decl): New member, preserve_flag.
- 	* varasm.c (assemble_start_function): Mark decl preserved.
- 	(assemble_variable): Same.
- 	* darwin.c (darwin_mark_decl_preserved): New function.
- 	* darwin.h (TARGET_ASM_MARK_DECL_preserved): New #define.
- 	* darwin-protos.h (darwin_mark_decl_preserved): New decl.
- 	* doc/tm.texi (TARGET_ASM_MARK_DECL_PRESERVED): Document.
- 
- 2004-08-16  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (grokdeclarator): Allow for function definition where
- 	innermost declarator has attributes.
- 
- 2004-08-16  Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* except.c (get_exception_filter, build_post_landing_pads,
- 	dw2_build_landing_pads): Use target-specific mode for 'filter'.
- 	* target-def.h (TARGET_EH_RETURN_FILTER_MODE): macro defined and used.
- 	* target.h (eh_return_filter_mode): New field added.
- 	* targhooks.c (default_eh_return_filter_mode): Defined.
- 	* targhooks.h (default_eh_return_filter_mode): Declared.
- 	* config/rs6000/rs6000.c (rs6000_eh_return_filter_mode): Defined.
- 
- 2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.ac: Replace _GCC_TOPLEV_NONCANONICAL_TARGET with
- 	ACX_NONCANONICAL_TARGET; remove now-unneeded AC_SUBST.
- 	* configure: Regenerate.
- 
- 2004-08-16  Stan Shebs  <shebs@apple.com>
- 
- 	Basic support for 64-bit Darwin.
- 	* config/darwin.c (macho_indirect_data_reference): Add DImode case.
- 	(machopic_legitimize_pic_address): Similarly, plus use Pmode
- 	instead of SImode.
- 	* config/rs6000/darwin.h (PTRDIFF_TYPE): Be "long int" if 64-bit.
- 	(TARGET_OS_CPP_BUILTINS): Add 64-bit preprocessor macro.
- 	(SUBTARGET_SWITCHES): Add -m32 and -m64 flags.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Require 64-bit processor if -m64.
- 	(PROCESSOR_DEFAULT64): Define.
- 	* config/rs6000/darwin.md: New file, patterns specific to 64-bit
- 	Darwin.
- 	* config/rs6000/rs6000.md: Include darwin.md.
- 	(builtin_setjmp_receiver): Add DImode case.
- 	* config/rs6000/rs6000.c (TARGET_ASM_UNALIGNED_DI_OP): Define for
- 	Darwin.
- 	(TARGET_ASM_ALIGNED_DI_OP): Ditto.
- 	(rs6000_emit_move): Add DImode case to Darwin bits.
- 	(machopic_output_stub): Use .quad if 64-bit.
- 	* invoke.texi: Document -m32 and -m64.
- 
- 2004-08-16  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/extend.texi (AltiVec builtins): Document additional differences
- 	from the Motorola AltiVec PIM.
- 
- 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-typeck.c (build_c_cast): Only copy overflow from expr nodes.
- 	* tree.h (IS_NON_TYPE_CODE_CLASS): Simplify.
- 	(struct tree_common): Update public_flag documentation.
- 
- 2004-08-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
- 	Check for artificial variables, not is_gimple_tmp_var.
- 	* tree-ssa-live.c (var_union): Likewise.
- 
- 2004-08-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* calls.c (load_register_parameters): Remove spurious FIXME token.
- 
- 2004-08-15  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* Makefile.in (C_PRETTY_PRINT_H): Add c-pretty-print.h.
- 	(c-lang.o): Depend on c-objc-common.h.
- 	(c-objc-common.o): Depend on $(C_PRETTY_PRINT_H) and
- 	c-objc-common.h; remove duplicate $(C_TREE_H) dependency.
- 	* c-lang.c: Include c-objc-common.h.
- 	(LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS,
- 	LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION,
- 	LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS,
- 	LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P,
- 	LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE,
- 	LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION,
- 	LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL,
- 	LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME,
- 	LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL,
- 	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL,
- 	LANG_HOOKS_DECL_UNINIT, LANG_HOOKS_RTL_EXPAND_STMT,
- 	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
- 	LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
- 	LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
- 	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
- 	LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING,
- 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
- 	LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN,
- 	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION, LANG_HOOKS_TYPE_FOR_MODE,
- 	LANG_HOOKS_TYPE_FOR_SIZE, LANG_HOOKS_SIGNED_TYPE,
- 	LANG_HOOKS_UNSIGNED_TYPE, LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE,
- 	LANG_HOOKS_INCOMPLETE_TYPE_ERROR, LANG_HOOKS_TYPE_PROMOTES_TO,
- 	LANG_HOOKS_REGISTER_BUILTIN_TYPE, LANG_HOOKS_WRITE_GLOBALS):
- 	Move to c-objc-common.h.
- 	* c-objc-common.c: Include c-objc-common.h.
- 	* c-objc-common.h: New file.
- 
- 2004-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
- 	    Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/14931
- 	* config/rs6000/darwin-tramp.asm (L_abort$stub): Change to new stub
- 	style.
- 
- 2004-08-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (build_int_cst): New.
- 	(build_int_2): Remove.
- 	* tree.c (build_int_2): Remove.
- 	(build_int_cst): New.
- 	(make_vector_type, build_common_tree_nodes,
- 	build_common_tree_nodes_2): Use build_int_cst.
- 	* builtins.c (expand_builtin_prefetch, expand_builtin_strstr,
- 	expand_builtin_strpbrk, expand_builtin_fputs,
- 	build_string_literal, expand_builtin_printf,
- 	expand_builtin_sprintf, fold_builtin_lround, fold_builtin_bitop,
- 	fold_builtin_bitop, fold_builtin_isascii, fold_builtin_toascii,
- 	fold_builtin_isdigit, simplify_builtin_strstr,
- 	simplify_builtin_strpbrk, fold_builtin_fputs,
- 	simplify_builtin_sprintf): Use build_int_cst.
- 	* c-common.c (start_fname_decls, fix_string_type,
- 	c_common_nodes_and_builtins, c_init_attributes,
- 	shorten_compare): Likewise.
- 	* c-decl.c (complete_array_type,
- 	check_bitfield_type_and_width): Likewise.
- 	* c-lex.c (interpret_integer, lex_charconst): Likewise.
- 	* c-parse.in (primary): <TYPES_COMPATIBLE_P> Likewise.
- 	* c-pretty-print.c (pp_c_integer_constant): Likewise.
- 	* c-typeck.c (really_start_incremental_init, push_init_level,
- 	set_nonincremental_init_from_string): Likewise.
- 	* calls.c (load_register_parameters): Likewise.
- 	* convert.c (convert_to_pointer): Likewise.
- 	* coverage.c (coverage_counter_alloc, tree_coverage_counter_ref,
- 	build_fn_info_type, build_ctr_info_value, build_gcov_info):
- 	Likewise.
- 	* except.c (init_eh, assign_filter_values, assign_filter_values):
- 	Likewise.
- 	* expmed.c (store_fixed_bit_field, extract_bit_field,
- 	extract_fixed_bit_field, extract_split_bit_field, expand_shift,
- 	expand_mult_const, expand_mult_highpart_adjust, extract_high_half,
- 	expand_sdiv_pow2, expand_divmod, make_tree): Likewise.
- 	* expr.c (convert_move, emit_group_load, emit_group_store,
- 	expand_assignment, store_constructor, store_field,
- 	expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
- 	* fold-const.c (force_fit_type, int_const_binop, fold_convert_const,
- 	invert_truthvalue, optimize_bit_field_compare,
- 	decode_field_reference, all_ones_mask_p, constant_boolean_node,
- 	fold_div_compare, fold, fold_read_from_constant_string,
- 	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
- 	* function.c (assign_parm_setup_block): Likewise.
- 	* stmt.c (shift_return_value, expand_end_case_type,
- 	estimate_case_costs): Likewise.
- 	* stor-layout.c (layout_type, initialize_sizetypes,
- 	set_min_and_max_values_for_integral_type): Likewise.
- 	* tree-chrec.c (chrec_fold_multiply_poly_poly,
- 	reset_evolution_in_loop): Likewise.
- 	* tree-chrec.h (build_polynomial_chrec): Likewise.
- 	* tree-complex.c (build_replicated_const): Likewise.
- 	* tree-eh.c (honor_protect_cleanup_actions,
- 	lower_try_finally_onedest, lower_try_finally_copy,
- 	lower_try_finally_switch): Likewise.
- 	* tree-mudflap.c (mf_build_string, mx_register_decls,
- 	mudflap_register_call, mudflap_enqueue_constant): Likewise.
- 	* tree-nested.c (get_trampoline_type, get_nl_goto_field): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	* tree-ssa-ccp.c (widen_bitfield, maybe_fold_offset_to_array_ref):
- 	Likewise.
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
- 	* tree-ssa-loop-niter.c (number_of_iterations_cond,
- 	loop_niter_by_eval, upper_bound_in_type, lower_bound_in_type):
- 	Likewise.
- 
- 	* config/alpha/alpha.c (alpha_initialize_trampoline,
- 	alpha_va_start, alpha_gimplify_va_arg_1): Use build_int_cst.
- 	* config/arm/arm.c (arm_get_cookie_size): Likewise.
- 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
- 	* config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
- 	* config/i860/i860.c (i860_va_start): Likewise.
- 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
- 	* config/mips/mips.c (mips_build_builtin_va_list, mips_va_start,
- 	mips_gimplify_va_arg_expr): Likewise.
- 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg,
- 	add_compiler_branch_island): Likewise.
- 	* config/s390/s390.c (s390_va_start): Likewise.
- 	* config/sh/sh.c (sh_va_start): Likewise.
- 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- 	Likewise.
- 	* config/xtensa/xtensa.c (xtensa_va_start,
- 	xtensa_gimplify_va_arg_expr): Likewise.
- 
- 	* objc/objc-act.c (build_objc_string_object,
- 	build_objc_symtab_template, init_def_list, init_objc_symtab,
- 	init_module_descriptor, generate_static_references,
- 	build_selector_translation_table, get_proto_encoding,
- 	build_typed_selector_reference, build_selector_reference,
- 	build_next_objc_exception_stuff,
- 	build_method_prototype_list_template, generate_descriptor_table,
- 	generate_protocols, build_protocol_initializer,
- 	build_ivar_list_template, build_method_list_template,
- 	build_ivar_list_initializer, generate_ivars_list,
- 	generate_dispatch_table, generate_protocol_list,
- 	build_category_initializer, build_shared_structure_initializer,
- 	generate_shared_structures, handle_impent,
- 	generate_objc_image_info): Use build_int_cst.
- 
- 2004-08-15  Ben Elliston  <bje@au.ibm.com>
- 
- 	* vec.h: Comment improvements.
- 
- 2004-08-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-common.c (shorten_compare, pointer_int_sum,
- 	c_common_truthvalue_conversion, boolean_increment): Replace calls
- 	to build with calls to buildN.
- 	* c-decl.c (complete_array_type, grokdeclarator): Likewise.
- 	* c-gimplify.c (c_build_bind_expr, gimplify_c_loop,
- 	gimplify_switch_stmt): Likewise.
- 	* c-typeck.c (default_function_array_conversion,
- 	build_component_ref, build_array_ref, build_function_call,
- 	pointer_diff, build_unary_op, build_conditional_expr,
- 	build_compound_expr, build_modify_expr, c_finish_goto_label,
- 	c_finish_goto_ptr, c_finish_return, c_finish_loop,
- 	c_finish_bc_stmt, c_finish_stmt_expr, c_end_compound_stmt,
- 	build_binary_op): Likewise.
- 
- 2004-08-15  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.c (note_insn_name): Add NOTE_DISABLE_SCHED_OF_BLOCK.
- 
- 2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* fixinc/inclhack.def (stdio_va_list): Also fix com_err.h, cps.h,
- 	curses.h, krb5.h, lc_core.h, pfmt.h, wchar.h and curses_colr/curses.h.
- 	* fixinc/fixincl.x: Rebuilt.
- 
- 2004-08-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_symbolic_constant_p)
- 	(mips_atomic_symbolic_constant_p, mips_stack_address_p)
- 	(mips_small_data_pattern_p): Declare.
- 	* config/mips/mips.h (CONST_GP_P): Moved from mips.c.
- 	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Delete.
- 	* config/mips/mips.c (mips_symbolic_constant_p): Make global.
- 	(mips_atomic_symbolic_constant_p, mips_stack_address_p): New functions.
- 	(uns_arith_operand, const_arith_operand, arith_operand, sle_operand)
- 	(sleu_operand, small_int, reg_or_0_operand, const_float_1_operand)
- 	(reg_or_const_float_1_operand, hilo_operand, extend_operator)
- 	(macc_msac_operand, equality_op, cmp_op, trap_cmp_op)
- 	(pc_or_label_operand, call_insn_operand, move_operand)
- 	(consttable_operand, symbolic_operand, general_symbolic_operand)
- 	(global_got_operand, local_got_operand, stack_operand)
- 	(fp_register_operand, lo_operand, fcc_register_operand): Delete.
- 	(mips_small_data_pattern_1): Renamed from small_data_pattern_1.
- 	(mips_small_data_pattern_p): Replace previous small_data_pattern
- 	predicate.  Turn into a bool () (rtx) function.
- 	* config/mips/predicates.md: New file.
- 	* config/mips/mips.md: Include it.  Use the target-independent
- 	comparison_operator instead of cmp_op.  Rename trap_cmp_op to
- 	trap_comparison_operator and equality_op to equality_operator.
- 	Replace uses of small_int with the equivalent const_arith_operand.
- 	Rename reg_or_const_float_1_operand to reg_or_1_operand.  Rename
- 	const_float_1_operand to const_1_operand.  Rename fcc_register_operand
- 	to fcc_reload_operand.
- 	* config/mips/sb1.md: Rename fp_register_operand to fpr_operand.
- 
- 2004-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR libstdc++/17005 partial fix.
- 	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _INCLUDE__STDC_A1_SOURCE
- 	except when generating ANSI/C89 code.
- 
- 2004-08-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.c (shorten_compare): Use force_fit_type directly.
- 
- 2004-08-14  Gerald Pfeifer  <gerald@pfeifer.com>
- 	    Dimitri Papadopoulos-Orfanos  <papadopo@shfj.cea.fr>
- 	    Dave Korn  <dk@artimi.com>
- 
- 	* doc/install.texi (Building): Avoid duplicate reference to GNU
- 	make requirement.
- 	(*-*-solaris2*): Do not recommend GNU make any longer.  Simplify.
- 
- 2004-08-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (PROMOTE_MODE): Don't promote vector types.
- 	* config/alpha/alpha.c (function_value): Use PROMOTE_MODE.
- 
- 2004-08-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (call_1, sibcall_1, call_1_rex64): Use Pmode
- 	for constant_call_address_operand.
- 	(call_value_pop_1, call_value_1): Likewise.
- 	(sibcall_value_1, call_value_1_rex64): Likewise.
- 
- 2004-08-13  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/mips/sb1.md (ir_sb1_divdf_2pipes, ir_sb1_divdf_1pipe):
- 	Correct mode from SFmode to DFmode.
- 
- 2004-08-13  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/darwin.h (EXTRA_SECTION_FUNCTIONS): Mark the __sel_fixup,
- 	__cstring_object and __image_info sections with the no_dead_strip
- 	attribute.
- 
- 2004-08-13  Roger Sayle  <roger@eyesopen.com>
- 	    David Billinghurst  <David.Billinghurst@riotinto.com>
- 
- 	PR libgfortran/15930
- 	* fixinc/inclhack.def (irix___generic1, irix___generic2): New.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/internal/math_core.h: New file.
- 
- 2004-08-13  Richard Henderson  <rth@redhat.com>
- 
- 	* dbxout.c (NO_DBX_FUNCTION_END): Default to zero.
- 	(dbxout_function_end): Remove ifdefs for it.
- 	(dbxout_begin_prologue): Protect N_BNSYM with it, and gdb extensions.
- 
- 2004-08-13  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (insn-preds.o): Depend on TREE_H.
- 	* genpreds.c (write_insn_preds_c): Include tree.h.
- 	* config/alpha/alpha.c (reg_or_0_operand, reg_or_6bit_operand,
- 	reg_or_8bit_operand, cint8_operand, add_operand, sext_add_operand,
- 	const48_operand, and_operand, or_operand, mode_width_operand,
- 	mode_mask_operand, mul8_operand, const0_operand,
- 	hard_fp_register_operand, hard_int_register_operand,
- 	reg_or_cint_operand, some_operand, some_ni_operand, input_operand,
- 	samegp_function_operand, direct_call_operand, small_symbolic_operand,
- 	global_symbolic_operand, call_operand, symbolic_operand,
- 	dtp16_symbolic_operand, dtp32_symbolic_operand,
- 	gotdtp_symbolic_operand, tp16_symbolic_operand, tp32_symbolic_operand,
- 	gottp_symbolic_operand, alpha_comparison_operator,
- 	alpha_zero_comparison_operator, alpha_swapped_comparison_operator,
- 	signed_comparison_operator, alpha_fp_comparison_operator,
- 	divmod_operator, fix_operator, aligned_memory_operand,
- 	unaligned_memory_operand, reg_or_unaligned_mem_operand,
- 	any_memory_operand, reg_not_elim_operand, normal_memory_operand,
- 	reg_no_subreg_operand, addition_operation): Move to predicates.md.
- 	(reg_or_const_int_operand): Remove.  Replace all users with
- 	reg_or_cint_operand.
- 	(tls_symbolic_operand_1): Export.  Don't check mode or for CONST.
- 	(resolve_reload_operand): Split out of aligned_memory_operand.
- 	* config/alpha/alpha-protos.h: Update for exports.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Remove.
- 	* config/alpha/alpha.md: Include predicates.md.
- 	* config/alpha/predicates.md: New file.
- 
- 2004-08-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* genattrtab.c (insn_ent): Replace insn_code, insn_index and lineno
- 	fields with a pointer to the instruction definition.
- 	(get_attr_value, fill_attr, make_length_attrs, remove_insn_ent)
- 	(insert_insn_ent, simplify_test_exp, optimize_attrs, write_attr_get)
- 	(write_attr_case, write_const_num_delay_slots): Update accordingly.
- 	(write_attr_case, write_const_num_delay_slots): Write the name of
- 	an insn next to its case statement.
- 	* genoutput.c (data): Add a filename field.
- 	(gen_insn, gen_peephole, gen_expand, gen_split): Set it.
- 	(output_insn_data): Print the location of each insn definition.
- 	* genrecog.c (write_action): Print the name of an insn above
- 	the statement that returns its code.
- 
- 2004-08-12  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/darwin-c.c (find_subframework_file): Fix spelling of cannot.
- 	* config/libgloss.h: Likewise.
- 	* config/arm/arm.c (arm_gen_load_multiple): Likewise.
- 	* c4x/c4x-modes.def: Likewise.
- 	* config/c4x/c4x.c (c4x_hard_regno_rename_ok): Likewise.
- 	(c4x_rptb_nop_p): Likewise.
- 	(c4x_rptb_valid_p): Likewise.
- 	(c4x_rptb_insert): Likewise.
- 	(c4x_address_conflict): Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/i386/athlon.md: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i386/predicates.md: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/itanium1.md: Likewise.
- 	* config/ia64/itanium2.md: Likewise.
- 	* config/iq2000/iq2000.md: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/r3900.h: Likewise.
- 	* config/mips/sb1.md: Likewise.
- 	* config/pa/milli64.S: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pa/pa.h: Likewise.
- 	* config/rs6000/8540.md: Likewise.
- 
- 2004-08-13  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (BOOT_CFLAGS): Remove accidental addition of -dU.
- 
- 2004-08-13  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (cbranch define_delay) Use cond_delay_slot for
- 	non-anulled condition too.
- 
- 2004-08-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (any_parallel_operand): New predicate.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
- 	any_parallel_operand, lmw_operation, stmw_operation,
- 	mfcr_operation, mtcrf_operation.  Remove PARALLEL from any_operand.
- 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Use
- 	any_parallel_operand.
- 	(return_and_restore_fpregs_{si,di}): Same.
- 
- 2004-08-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genrecog.c (add_to_sequence): When processing a MATCH_PARALLEL,
- 	if pred->singleton != PARALLEL, issue a warning and pretend it was.
- 	Also issue a warning for any predicate we don't know about.
- 
- 2004-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (internal_label_prefix): Export.
- 	(internal_label_prefix_len, struct ix86_address,
- 	ix86_decompose_address, maybe_get_pool_constant,
- 	ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes,
- 	memory_address_length): Export.
- 	(any_fp_register_operand, fp_register_operand,
- 	register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand,
- 	x86_64_general_operand, x86_64_szext_general_operand,
- 	x86_64_nonmemory_operand, x86_64_movabs_operand,
- 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
- 	x86_64_zext_immediate_operand, const_int_1_31_operand,
- 	symbolic_operand, pic_symbolic_operand, local_symbolic_operand,
- 	tls_symbolic_operand, global_dynamic_symbolic_operand,
- 	local_dynamic_symbolic_operand, initial_exec_symbolic_operand,
- 	local_exec_symbolic_operand, call_insn_operand, sibcall_insn_operand,
- 	constant_call_address_operand, const0_operand, const1_operand,
- 	const248_operand, const_0_to_3_operand, const_0_to_7_operand,
- 	const_0_to_15_operand, const_0_to_255_operand, incdec_operand,
- 	shiftdi_operand, reg_no_sp_operand, mmx_reg_operand,
- 	general_no_elim_operand, nonmemory_no_elim_operand,
- 	index_register_operand, q_regs_operand, flags_reg_operand,
- 	non_q_regs_operand, zero_extended_scalar_load_operand,
- 	vector_move_operand, no_seg_address_operand, sse_comparison_operator,
- 	ix86_comparison_operator, ix86_carry_flag_operator,
- 	fcmov_comparison_operator, promotable_binary_operator,
- 	cmp_fp_expander_operand, ext_register_operand, binary_fp_operator,
- 	mult_operator, div_operator, arith_or_logical_operator,
- 	memory_displacement_operand, cmpsi_operand, long_memory_operand,
- 	aligned_operand): Move to predicates.md as define_predicates.
- 	(tls_symbolic_operand_1): Remove.
- 	(x86_64_sign_extended_value): Merge into x86_64_immediate_operand.
- 	(x86_64_zero_extended_value): Merge into x86_64_zext_immediate_operand.
- 	(legitimize_address): Merge tls_symbolic_operand contents.
- 	(ix86_expand_move): Likewise.
- 	* config/i386/i386-protos.h: Update for exports.
- 	* config/i386/i386.h (EXTRA_CONSTRAINT): Update for renames.
- 	(PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Remove.
- 	* config/i386/i386.md: Include predicates.md.
- 	* config/i386/predicates.md: New file.
- 
- 2004-08-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/16924
- 	* config/i386/winnt.c (i386_pe_mark_dllexport): Set
- 	SYMBOL_REF_DECL.
- 	(i386_pe_mark_dllimport): Likewise.
- 	(i386_pe_encode_section_info): Likewise, when overriding
- 	dllimport attribute.
- 
- 2004-08-12  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* configure.ac: When testing for flex, nm, ar, and bison, check
- 	that they will actually be built.
- 	* configure: Regenerate.
- 
- 2004-08-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (MAX_FIXED_MODE_SIZE): Define.
- 	(MOVE_MAX_PIECES): Define.
- 
- 2004-08-12  Devang patel  <dpatel@apple.com>
- 
- 	* dbxout.c (dbxout_begin_prologue): New function.
- 	(dbx_debug_hooks): Use new begin prologue hook.
- 	(dbxout_function_end): Emit N_ENSYM.
- 	* stab.def (N_BNSYM, N_ENSYM): Define and document these two new stabs.
- 
- 2004-08-12  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/altivec.h (vec_dst): Fix C++ functions whose first
- 	argument is float*.
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Fix argument type
- 	for vec_dss.
- 
- 	* doc/extend.texi (AltiVec builtins): Fix description for recent
- 	changes.  Update operation list to match current support.
- 
- 2004-08-12  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.c (struct s390_frame_layout): New struct as element
- 	of struct machine_function.
- 	(cfun->machine->frame_size): Moved into cfun->machine->frame_layout and
- 	changed all uses.
- 	(cfun->machine->save_fprs_p): Replaced by cfun_save_high_fprs and
- 	changed all uses.
- 	(cfun_frame_layout, cfun_save_high_fprs_p, cfun_gprs_save_area_size)
- 	(cfun_set_fpr_bit, cfun_fpr_bit_p): New macros.
- 	(s390_frame_area, s390_register_info): New functions.
- 	(s390_optimize_prolog): Renamed to s390_optimize_prologue.  Added check
- 	for base register.
- 	(s390_return_addr_rtx, s390_return_address_offset)
- 	(s390_va_start, s390_gimplify_va_arg)
- 	(s390_emit_prologue, s390_emit_epilogue): Adjusted for new stack
- 	layouts.
- 	(s390_frame_info): Functionality partly moved to s390_register_info.
- 	Made adaptions for new stack layout.
- 	(save_gprs, restore_gprs): Changed meaning of second parameter and
- 	adapted all callers.
- 
- 	* config/s390/s390.h (s390_backchain_string): New global variable.
- 	(MASK_BACKCHAIN): Removed definition.
- 	(TARGET_BACKCHAIN): Changed check.
- 	(TARGET_KERNEL_BACKCHAIN): New macro.
- 	(TARGET_SWITCHES): Removed entries of "backchain" and "no-backchain".
- 	(TARGET_OPTIONS): Added "backchain", "no-backchain" and
- 	"kernel-backchain".
- 	(DYNAMIC_CHAIN_ADDRESS): Adjusted for new stack layouts.
- 
- 	* config/s390/s390.md ("allocate_stack"): Added TARGET_KERNEL_BACKCHAIN
- 	as condition.  Adjusted for new stack layout.
- 
- 	* doc/invoke.texi: Added documentation for new option
- 	"-mkernel-backchain" and adjusted documentation of "-mbackchain" and
- 	"-mno-backchain".
- 
- 2004-08-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/lib1funcs.asm (ARM_FUNC_ALIAS): Also alias _L__name.
- 	(aeabi_uidivmod, aeabi_idivmod): Provide thumb implementation.
- 
- 2004-08-12  David Daney  <ddaney@avtrex.com>
- 
- 	* java/gcj.texi:  Add subsection on signal usage.
- 
- 2004-08-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expr.c (move_by_pieces): Set alignment for move to minimum of
- 	MOVE_MAX_PIECES mode alignment and the largest non-slow mode
- 	alignment, but not less than the original alignment.
- 	(move_by_pieces_ninsns): Same.
- 	(can_store_by_pieces): Similar for store with STORE_MAX_PIECES.
- 	(store_by_pieces_1): Same.
- 
- 2004-08-12  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16867
- 	* tree.c (is_global_var): New function.
- 	(needs_to_live_in_memory): Check for TREE_ADDRESSABLE.
- 	Call is_global_var.
- 	* tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove.
- 	Update all users.
- 	(is_global_var): Declare.
- 	* tree-dfa.c (dump_variable): Display global and addressable
- 	attributes.
- 	(add_referenced_var): Clarify documentation when marking
- 	variables call-clobbered.
- 	* tree-flow-inline.h (is_call_clobbered): Call is_global_var
- 	instead of needs_to_live_in_memory.
- 	(mark_call_clobbered): If the variable is a tag, mark it
- 	DECL_EXTERNAL.
- 	* tree-gimple.c (is_gimple_reg): Don't check for
- 	TREE_ADDRESSABLE.
- 	(is_gimple_non_addressable): Likewise.
- 	* tree-ssa-alias.c (get_nmt_for): Always check whether the tag
- 	needs to be marked call-clobbered.
- 	(setup_pointers_and_addressables): Call is_global_var instead
- 	of needs_to_live_in_memory.
- 	* tree-ssa-dce.c (need_to_preserve_store): Remove.
- 	Update all users with is_global_var.
- 	(mark_stmt_if_obviously_necessary): Fix processing of aliased
- 	stores.  Don't check the virtual definitions.  Rather, check
- 	whether the store is going into global memory.
- 	(find_obviously_necessary_stmts): Get the symbol from the PHI
- 	result.
- 	* tree-ssa-operands.c (get_call_expr_operands): Do not add
- 	clobbering may-defs if the call does not have side effects.
- 
- 2004-08-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/16276
- 	* output.h (default_function_rodata_section,
- 	default_no_function_rodata_section): New prototypes.
- 	* target.h (struct gcc_target): Add asm_out.function_rodata_section.
- 	* target-def.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
- 	(TARGET_ASM_OUT): Add it.
- 	* varasm.c (default_function_rodata_section,
- 	default_no_function_rodata_section): New functions.
- 	* final.c (final_scan_insn): Call
- 	targetm.asm_out.function_rodata_section instead of
- 	readonly_data_section.
- 	* config/darwin.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Define.
- 	* config/mcore/mcore.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
- 	* config/ip2k/ip2k.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
- 	* config/rs6000/xcoff.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
- 	Likewise.
- 	* config/alpha/alpha.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
- 	* config/i386/cygming.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
- 	Likewise.
- 	* config/i386/i386-interix.h (TARGET_ASM_FUNCTION_RODATA_SECTION):
- 	Likewise.
- 	* config/arm/pe.h (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
- 	* config/avr/avr.c (TARGET_ASM_FUNCTION_RODATA_SECTION): Likewise.
- 	* doc/tm.texi (TARGET_ASM_FUNCTION_RODATA_SECTION): Document.
- 
- 2004-08-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* dwarf2out.h (dwarf2out_frame_finish): Conditionalize outputting eh
- 	frame info.
- 	* doc/tm.texi: Document interaction between TARGET_UNWIND_INFO and
- 	DWARF2_UNWIND_INFO.
- 
- 2004-08-12  Ben Elliston  <bje@au.ibm.com>
- 
- 	PR target/16286
- 	* config/rs6000/altivec.h: Change vector to __vector throughout.
- 	(Except for the `vector' macro itself).
- 
- 2004-08-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genpreds.c: Add capability to generate predicate bodies as
- 	well as function prototypes.  Write function prototypes for
- 	the generic predicates too.
- 	(process_define_predicate, write_tm_preds_h, write_insn_preds_c)
- 	(write_predicate_subfunction, mark_mode_tests, add_mode_tests)
- 	(write_match_code, write_predicate_expr, write_one_predicate_function)
- 	(parse_option): New functions.
- 	(output_predicate_decls): Delete.
- 	(main): Read the machine description, process DEFINE_PREDICATE or
- 	DEFINE_SPECIAL_PREDICATE patterns, write tm-preds.h or insn-preds.c
- 	as appropriate.
- 
- 	* genrecog.c (struct decision_test): Replace index with
- 	struct pred_data pointer.
- 	(next_index): Remove, unused.
- 	(pred_table, preds, special_mode_pred_table): Delete.
- 	(compute_predicate_codes, process_define_predicate): New functions.
- 	(validate_pattern, add_to_sequence, write_switch): Update for
- 	new data structures.
- 	(main): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
- 	Check both error_count and have_error.
- 
- 	* gensupport.c (in_fname, first_predicate): New globals.
- 	(define_pred_queue, define_pred_tail): New RTL-pattern queue.
- 	(predicate_table, last_predicate, old_pred_table)
- 	(old_special_pred_table): New statics.
- 	(hash_struct_pred_data, eq_struct_pred_data, lookup_predicate)
- 	(add_predicate, init_predicate_table): New functions.
- 	(process_rtx): Handle DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE.
- 	(init_md_reader_args_cb): Use the global in_fname.  No need to zero
- 	it or max_include_len.  Call init_predicate_table.
- 	(read_rtx): Run the predicate queue after the attribute queue
- 	but before all the others.
- 	* gensupport.h (in_fname, struct pred_data, first_predicate)
- 	(lookup_predicate, add_predicate, FOR_ALL_PREDICATES): Declare.
- 	* rtl.def (MATCH_CODE, MATCH_TEST, DEFINE_PREDICATE)
- 	(DEFINE_SPECIAL_PREDICATE): New RTL codes.
- 	* dummy-conditions.c: Don't include bconfig.h, system.h,
- 	coretypes.h, tm.h, or system.h.  Do include stddef.h.
- 	Duplicate declaration of struct c_test from gensupport.h.
- 
- 	* Makefile.in (OBJS-common): Add insn-preds.o.
- 	(STAGESTUFF, .PRECIOUS): Add insn-preds.c.
- 	(insn-preds.c, insn-preds.o): New rules.
- 	(s-preds): Also generate insn-preds.c.
- 	(dummy-conditions.o, genpreds$(build_exeext), genpreds.o):
- 	Update dependencies.
- 	(print-rtl.o, print-rtl1.o): Correct dependencies.
- 
- 	* recog.h: Delete prototypes of predicate functions.
- 
- 	* doc/md.texi (Predicates): New section with complete
- 	documentation of operand/operator predicates.  Remove some
- 	incomplete documentation of predicates from other places.
- 	* doc/tm.texi (Misc): Move SPECIAL_MODE_PREDICATES next to
- 	PREDICATE_CODES; indicate that both are deprecated in favor
- 	of define_predicate/define_special_predicate.
- 
- 	* config/ia64/ia64.c: All predicate function definitions moved
- 	to ia64.md, except
- 	(small_addr_symbolic_operand, tls_symbolic_operand): Delete.
- 	(ia64_expand_load_address, ia64_expand_move):
- 	Check SYMBOL_REF_TLS_MODEL directly, don't use tls_symbolic_operand.
- 
- 	* config/ia64/ia64.md: All predicates now defined here.
- 	(symbolic_operand): Is now a special predicate.
- 
- 	* config/ia64/ia64.h: Declare ia64_section_threshold.
- 	(PREDICATE_CODES): Delete.
- 
- 2004-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (STATEMENT_LIST_HAS_LABEL): New.
- 	* c-semantics.c (add_stmt): Set it.
- 	* c-decl.c (finish_decl): Use it to create a new BIND_EXPR
- 	before instantiating a variable sized type.
- 
- 2004-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (round_up, round_down): Move ...
- 	* fold-const.c (round_up, round_down): ... here.  Use
- 	multiple_of_p to avoid any arithmetic at all.
- 
- 2004-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (struct gimplify_init_ctor_preeval_data): New.
- 	(gimplify_init_ctor_preeval_1): New.
- 	(gimplify_init_ctor_preeval): New.
- 	(gimplify_init_ctor_eval): New.
- 	(gimplify_init_constructor): Use them.  Always gimplify the LHS
- 	object first.
- 
- 2004-08-12  Ziemowit Laski  <zlaski@apple.com>
- 
- 	(This patch is part of merge of objc-improvements-branch
- 	into mainline.)
- 
- 	* doc/frontends.texi: Mention Objective-C++ in addition to
- 	Objective-C.
- 	* doc/install.texi: Add 'obj-c++' to list of configurable
- 	languages.
- 	* doc/invoke.texi: Rename Objective-C option headings to
- 	indicate they also apply to Objective-C++.  List file
- 	extensions for Objective-C++ sources.  Mention that
- 	ObjC and ObjC++ compilations may also use C and C++ options,
- 	respectively.  Point users to doc/standards.texi for
- 	further info on ObjC and ObjC++.
- 	* doc/sourcebuild.texi: Mention the objcp/ directory and
- 	the Objective-C++ sources it contains.
- 	* doc/standards.texi: Update link to Apple ObjC site;
- 	add link to gcc readings.html WWW doc.
- 
- 2004-08-12  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28
- 	and 2004-07-14 changes.
- 
- 2004-08-12  Paul Brook  <paul@codesourcery.com>
- 
- 	* doc/invoke.texi: Fix typo.
- 
- 2004-08-11 Devang Patel  <dpatel@apple.com>
- 
- 	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -dead_strip
- 	and -no_dead_strip_inits_and_terms.
- 	(LINK_SPEC): Same.
- 	* doc/invoke.texi (Darwin Options): Document -dead_strip and
- 	-no_dead_strip_inits_and_terms.
- 
- 2004-08-11  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm-protos.h (arm_finalize_pic) Rename ...
- 	(arm_load_pic_register): ... to this.
- 	* config/arm/arm.c (arm_finalize_pic): Rename ...
- 	(arm_load_pic_register): ... to this.  Always output insns at the
- 	current location.  Load via low reg in thumb mode.
- 	(arm_expand_prologue): Call arm_load_pic_register.
- 	(thumb_expand_prologue): Ditto.
- 	* config/arm/arm.h (FINALIZE_PIC): Remove.
- 	* config/arm/arm.md (builtin_setjmp_receiver): Call
- 	arm_load_pic_register.
- 
- 2004-08-11  Paul Brook  <paul@codesourcery.com>
- 
- 	* arm.c (thumb_force_lr_save): Add prototype.
- 	(thumb_compute_save_reg_mask): New function.
- 	(thumb_find_work_register): New function.
- 	(arm_get_frame_offsets): Use thumb_compute_save_reg_mask.
- 	(thumb_unexpanded_epilogue): Ditto.  Remove redundant code.
- 	Don't clobber r3 when removing pretend args.
- 	(thumb_expand_prologue): Use thumb_compute_save_reg_mask.
- 	(thumb_output_function_prologue): Use new functions.
- 	(thumb_set_return_address): Use thumb_compute_save_reg_mask.
- 	* arm.h (THUMB_REG_PUSHED_P): Remove.
- 
- 2004-08-11  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR rtl-optimization/16490
- 	* cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
- 	global_live_at_end for new basic block if already set for other blocks.
- 
- 2004-08-11 David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (MAX_FIXED_MODE_SIZE): Define.
- 
- 	* config/rs6000/rs6000.md (mfcr rlwinm patterns): Set length to 8.
- 	(mfcr rlwinm rlwinm patterns): Set length to 12.
- 
- 2004-08-11  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* tree-flow-inline.h (get_def_ops, get_use_ops, get_v_may_def_ops,
- 	get_vuse_ops,get_v_must_def_ops): Add operand structure reference.
- 	(get_v_may_def_result_ptr, get_v_may_def_op_ptr): New access struct.
- 	(start_ssa_stmt_operands): Delete.
- 	* tree-flow.h (struct stmt_ann_d): Replace operand vectors with new
- 	struct stmt_operands_d.
- 	(build_ssa_operands): New extern entry point.
- 	* tree-ssa-dom.c (record_equivalences_from_stmt): Remove operand
- 	building code, replace with create_ssa_artficial_load_stmt().
- 	* tree-ssa-operands.c (struct voperands_d): Delete.
- 	(allocate_v_may_def_optype): Allocate v_may_def_operand_type_t vector.
- 	(allocate_v_must_def_optype): Use sizeof (tree), not sizeof (tree *).
- 	(free_uses, free_defs, free_vuses, free_v_may_defs,
- 	free_v_must_defs): Remove dealloc parameter.
- 	(remove_vuses, remove_v_may_def, remove_v_must_defs): Delete.
- 	(finalize_ssa_defs, finalize_ssa_uses, finalize_ssa_v_may_defs,
- 	finalize_ssa_vuses, finalize_ssa_v_must_defs): Perform all operand
- 	vector comparisons, ssa_name reuse, and allocations here.
- 	(verify_start_operands): Delete.
- 	(finalize_ssa_stmt_operands): Set new operands by calling finalize
- 	routines.
- 	(start_ssa_stmt_operands): Move from tree-flow-inline.h.
- 	(append_def, append_usei): Simplify to simple accumulation.
- 	(append_v_may_def, append_vuse, append_v_must_def): Simplify to avoiding
- 	duplicates and simple accumulation.
- 	(free_ssa_operands): Free vectors in a stmt_operand structure.
- 	(build_ssa_operands): New. Create a new stmt_operand structure from
- 	a stmt and an old set of stmt_operands.
- 	(get_stmt_operands): Simplify and call build_ssa_operands.
- 	(get_expr_operands, get_asm_expr_operands, get_indirect_ref_operands,
- 	get_call_expr_operands, add_stmt_operand, add_call_clobber_ops,
- 	add_call_read_ops): Don't pass prev_vops around anymore.
- 	(note_addressable): Return if no stmt annotation.
- 	(copy_virtual_operands): Access v_may_def operands through a struct.
- 	(create_ssa_artficial_load_stmt): New.  Create a load stmt for DOM's
- 	hash tables without treating the stmt as a real stmt.
- 	* tree-ssa-operands.h (struct v_may_def_operand_type): New.  Access
- 	v_may_def def and use through a struct instead of 2 array elements.
- 	(struct v_may_def_optype_d): Use v_may_def_operand_type.
- 	(struct stmt_operands_d): New.  Struct for storing all operand vectors.
- 
- 2004-08-11  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_is_longcall_p): Update comment describing
- 	this funciton's behaviour.  Return true when the current function
- 	has a section attribute and -mlong-calls is in effect.
- 	* config/arm/arm.h (ARM_DECLARE_FUNCTION_SIZE): Do not set the
- 	short-call marker when -mlong-calls is in effect and the function
- 	has a section attribute.
- 
- 2004-08-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* stmt.c (expand_return): If asked to return the RESULT_DECL,
- 	just call expand_value_return on result_rtl.
- 
- 2004-08-10  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
- 	* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
- 	* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
- 	(add_location_or_const_value_attribute): ... not here.  Use
- 	loc_descriptor_from_tree if possible.
- 	(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
- 	Simplify address handling.  Handle DECL_VALUE_EXPR.  Handle register
- 	values specially.
- 	(loc_descriptor_from_tree): New.  Update callers.
- 	* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
- 	* gimplify.c (gimplify_decl_expr): Lower variable sized types to
- 	pointer plus dereference.  Set DECL_VALUE_EXPR.  Set save_stack.
- 	(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
- 	and BUILT_IN_STACK_RESTORE.
- 	(gimplify_expr): Lower DECL_VALUE_EXPR decls.
- 	* stmt.c (expand_stack_alloc): Remove.
- 	* tree-mudflap.c (mx_register_decls): Don't look for
- 	BUILT_IN_STACK_ALLOC.
- 	* tree-nested.c (convert_local_reference): Likewise.
- 	* tree.h (DECL_VALUE_EXPR): New.
- 
- 2004-08-10  Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (round_up): Check for 0/1 before dividing.
- 	(round_down): Likewise.
- 
- 	* tree-tailcall.c (suitable_for_tail_opt_p): Also check DECL_EXTERNAL.
- 
- 2004-08-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc (arm*-*-eabi*): New target.
- 	* defaults.h (TARGET_LIBGCC_FUNCS): New macro.
- 	(TARGET_LIB_INT_CMP_BIASED): Likewise.
- 	* expmed.c (expand_divmod): Try a two-valued divmod function as a
- 	last resort.
- 	* gthr.h: Remove bogus tokens at end of #pragma.
- 	* optabs.c (expand_twoval_binop_libfunc): New function.
- 	(prepare_cmp_insn): Handle the !TARGET_LIB_INT_CMP_BIASED case.
- 	(prepare_float_lib_cmp): Try reversing the condition.
- 	(debug_optab_libfuncs): New function.
- 	* optabs.h (expand_twoval_binop_libfunc): Declare.
- 	* config/arm/arm.c (arm_init_libfuncs): New function.
- 	(arm_compute_initial_eliminatino_offset): Return HOST_WIDE_INT.
- 	(TARGET_INIT_LIBFUNCS): Define it.
- 	* config/arm/arm.h (TARGET_BPABI): New macro.
- 	* config/arm/arm-protos.h
- 	(arm_compute_initial_elimination_offset): Return HOST_WIDE_INT.
- 	* config/arm/bpabi.S: New file.
- 	* config/arm/bpabi.c: Likewise.
- 	* config/arm/bpabi.h: Likewise.
- 	* config/arm/ieee754-df.S (__aeabi_dneg): New function or alias.
- 	(__aeabi_drsub): Likewise.
- 	(__aeabi_dsub): Likewise.
- 	(__aeabi_dadd): Likewise.
- 	(__aeabi_ui2d): Likewise.
- 	(__aeabi_i2d): Likewise.
- 	(__aeabi_f2d): Likewise.
- 	(__aeabi_dmul): Likewise.
- 	(__aeabi_ddiv): Likewise.
- 	(__aeabi_cdrcmple): Likewise.
- 	(__aeabi_cdcmpeq): Likewise.
- 	(__aeabi_cdcmple): Likewise.
- 	(__aeabi_dcmpeq): Likewise.
- 	(__aeabi_dcmplt): Likewise.
- 	(__aeabi_dcmple): Likewise.
- 	(__aeabi_dcmpge): Likewise.
- 	(__aeabi_dcmpgt): Likewise.
- 	(__aeabi_dcmpun): Likewise.
- 	(__aeabi_d2iz): Likewise.
- 	(__aeabi_d2uiz): Likewise.
- 	(__aeabi_d2f): Likewise.
- 	* config/arm/ieee754-sf.S (__aeabi_fneg): New function or alias.
- 	(__aeabi_frsub): Likewise.
- 	(__aeabi_fsub): Likewise.
- 	(__aeabi_fadd): Likewise.
- 	(__aeabi_ui2f): Likewise.
- 	(__aeabi_i2f): Likewise.
- 	(__aeabi_fmul): Likewise.
- 	(__aeabi_fdiv): Likewise.
- 	(__aeabi_cfrcmple): Likewise.
- 	(__aeabi_cfcmpeq): Likewise.
- 	(__aeabi_cfcmple): Likewise.
- 	(__aeabi_fcmpeq): Likewise.
- 	(__aeabi_fcmplt): Likewise.
- 	(__aeabi_fcmple): Likewise.
- 	(__aeabi_fcmpge): Likewise.
- 	(__aeabi_fcmpgt): Likewise.
- 	(__aeabi_fcmpun): Likewise.
- 	(__aeabi_f2iz): Likewise.
- 	(__aeabi_f2uiz): Likewise.
- 	* config/arm/lib1funcs.asm (ARM_CALL): New macro.
- 	(__aeabi_uidivmod): New function or alias.
- 	(__aeabi_idivmod): Likewise.
- 	(__aeabi_idiv0): Likewise.
- 	(__aeabi_ldiv0): Likewise.
- 	(__aeabi_llsr): Likewise.
- 	(__aeabi_lasr): Likewise.
- 	(__aeabi_llsl): Likewise.
- 	(bpabi.S): Include it.
- 	* config/arm/libgcc-bpabi.ver: New file.
- 	* config/arm/symbian.h (ARM_DEFAULT_ABI): Remove.
- 	(LINK_SPEC): Remove.
- 	* config/arm/t-arm-elf (LIB1ASMFUNCS): Add __aeabi_lcmp and
- 	__aeabi_ulcmp.
- 	* config/arm/t-bpabi: New file.
- 	* doc/tm.texi (TARGET_LIBGCC_FUNCS): New entry.
- 	(TARGET_LIB_INT_CMP_BIASED): Likewise.
- 
- 2004-08-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000-protos.h (expand_block_clear): Declare.
- 	* config/rs6000/rs6000.md (clrmemsi): New pattern.
- 	* config/rs6000/rs6000.c (expand_block_clear): New function.
- 	(expand_block_move): Convert alignment to bits.  Use SImode and
- 	HImode for unaligned addresses if not STRICT_ALIGNMENT.
- 
- 2004-08-10  Caroline Tice  <ctice@apple.com>
- 
- 	* varasm.c (unlikely_section_label): New global variable.
- 	(unlikely_text_section_name): New global variable.
- 	(text_section):  Remove alignment statement.
- 	(unlikely_text_section): Remove alignment statement; use
- 	unlikely_section_label rather than hard-coded string.
- 	(assemble_start_function): Initialize unlikely_section_label and
- 	unlikely_text_section_name;  make sure cold section is properly
- 	aligned at start of function; output unlikely_section_label if
- 	appropriate.
- 
- 2004-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_canonicalize_comparison): Declare.
- 	* config/s390/s390.c (s390_canonicalize_comparison): New function.
- 	* config/s390/s390.h (CANONICALIZE_COMPARISON): Define.
- 	* config/s390/s390.md ("*tmdi_ext", "*tmsi_ext", "*tmqisi_ext",
- 	"*tmqidi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem"): Remove.
- 	("*tmqi_mem"): Remove SUBREG from pattern.
- 	("*anddi3_cconly"): Prevent accidentally matching TM pattern.
- 	("*andsi3_cconly"): Likewise.
- 
- 2004-08-10  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/16909
- 	* config/i386/i386.md (*strsetdi_rex_1): Use DI instead of SI.
- 
- 2004-08-10  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/sourcebuild.texi (compat testing): Document available test
- 	framework commands.  Use the preferred spelling of DejaGnu.
- 
- 2004-08-10  Daniel Berlin <dberlin@dberlin.org>
- 
- 	* lambda.h: Add matrix type, and prototypes for remainder of
- 	matrix and vector functions.
- 	(lambda_vector_mult_const): New function.
- 	(lambda_vector_negate): Ditto.
- 	(lambda_vector_add): Ditto.
- 	(lambda_vector_add_mc): Ditto.
- 	(lambda_vector_copy): Ditto.
- 	(lambda_vector_zerop): Ditto.
- 	(lambda_vector_equal): Ditto.
- 	(lambda_vector_min_nz): Ditto.
- 	(lambda_vector_first_nz): Ditto.
- 	(lambda_vector_matrix_mult): Ditto.
- 	* lambda-mat.c: New file.
- 	* Makefile.in (lambda-mat.o): New.
- 
- 2004-08-10  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* tree-cfg.c (bsi_insert_before, bsi_insert_after): Call modify_stmt
- 	after linking stmt into the program.
- 	(bsi_remove): Don't call modify_stmt.
- 	* tree-complex.c (update_complex_assignment,
- 	expand_complex_comparison): Call modify_stmt after changing the stmt.
- 	* tree-outof-ssa.c (rewrite_trees): Call modify_stmt only if not
- 	removing the stmt.
- 	* tree-ssa-ccp.c (substitute_and_fold): Call modify_stmt after changing
- 	the stmt, and only if needed.
- 	* tree-ssa-dom.c (thread_across_edge): Pass no annotation for a dummy
- 	expression.
- 	(simplify_rhs_and_lookup_avail_expr): Don't take an annotation param.
- 	(simplify_cond_and_lookup_avail_expr): Use modify_stmt.
- 	(simplify_switch_and_lookup_avail_expr): Don't take an annotation param.
- 	(eliminate_redundant_computations): Don't pass an annotation. Call
- 	modify_stmt rather than setting the annotation directly.
- 	(record_equivalences_from_stmt): Remove unused local 'j'.
- 	(cprop_operand): Take a stmt rather than an annotation as a parameter.
- 	Call modify_stmt.
- 	(cprop_into_stmt): Pass stmt rather than annotation.
- 	(update_rhs_and_lookup_avail_expr): Call modify_stmt.
- 	* tree-ssa-loop-im.c (schedule_sm): Call get_stmt_ann rather than
- 	modify_stmt.
- 	* tree-ssa.c (propagate_into_addr): Dont call modify_stmt.
- 
- 2004-08-10  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/16948
- 	* function.c (expand_function_start): Handle DECL_BY_REFERENCE on
- 	the RESULT_DECL.
- 
- 2004-08-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree-vn.c (val_expr_pair_expr_eq): Compare vuses, to match the
- 	hash function.
- 
- 2004-08-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/mips/mips.md: New reciprocal square root patterns that
- 	match sqrt(1.0/x) in addition to the existing 1.0/sqrt(x) insns.
- 
- 2004-08-10  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm-protos.h (arm_set_return_address,
- 	thumb_set_return_address): Add prototypes.
- 	* config/arm/arm.h (ARM_FT_EXCEPTION_HANDLER): Remove.
- 	* config/arm/arm.c (arm_compute_func_type,
- 	use_return_insn, arm_compute_save_reg0_reg12_mask,
- 	arm_compute_save_reg_mask, arm_output_function_prologue,
- 	arm_output_epilogue): Replace ARM_FT_EXCEPTION_HANDLER with
- 	current_function_calls_eh_return.
- 	(thumb_exit, thumb_pushpop, thumb_unexpanded_epilogue): Replace
- 	old eh code.
- 	(arm_set_return_address, thumb_set_return_address): New functions.
- 	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS, DWARF2_UNWIND_INFO,
- 	ARM_EH_STACKADJ_REGNUM, EH_RETURN_STACKADJ_RTX): Define.
- 	* config/arm/arm.md (VUNSPEC_EH_RETURN): Add.
- 	(epilogue): Use the stackadj register.
- 	(eh_return, arm_eh_return, thumb_eh_return): New pattern.
- 
- 2004-08-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/3144
- 	* expr.c (move_by_pieces_ninsns): Add max_size argument.
- 	(MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1 to it.
- 	(CLEAR_BY_PIECES_P): Pass STORE_MAX_PIECES + 1 to it.
- 	(STORE_BY_PIECES_P): Define similarly to CLEAR_BY_PIECES_P,
- 	but using MOVE_RATIO.
- 	(move_by_pieces): Pass max_size to move_by_pieces_ninsns.
- 	(can_store_by_pieces): Change max_size type to unsigned int.
- 	(store_by_pieces_1): Likewise.  Pass max_size to
- 	move_by_pieces_ninsns.
- 	* config/s390/s390.h (STORE_BY_PIECES_P): Define.
- 	* config/sh/sh.c (MOVE_BY_PIECES_P): Pass MOVE_MAX_PIECES + 1
- 	to move_by_pieces_ninsns.
- 	(STORE_BY_PIECES_P): Define.
- 	* config/ns32k/ns32k.h (STORE_BY_PIECES_P): Pass STORE_MAX_PIECES + 1
- 	to move_by_pieces_ninsns.
- 	* doc/tm.texi (STORE_BY_PIECES_P): Document changed default.
- 
- 	* config/i386/i386.h (CLEAR_RATIO): Define.
- 
- 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expr.c (expand_expr_real_1): Add back code that was not dead.
- 
- 2004-08-09  Andrew Pinski  <apinski@apple.com>
- 
- 	* c-common.c (c_common_get_alias_set): Set the aliasing set of the type
- 	which is found to be compatible before returning the aliasing set.
- 
- 2004-08-09  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* ggc-zone.c (struct alloc_zone): Add statistics counters.
- 	(always_collect): New flag.
- 	(ggc_alloc_zone_1): Update statistics support.  Don't include
- 	overhead in allocated counter.
- 	(sweep_pages): Update allocated counter for large pages.  Don'y
- 	include overhead.
- 	(ggc_collect_1): Always collect.
- 	(ggc_collect): Honor always_collect flag.  Sum all zones to decide
- 	whether to collect.
- 	(SCALE, LABEL): New macros.
- 	(ggc_print_statistics): Add statistics support.
- 
- 2004-08-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (sdiv_pow2_cheap, smod_pow2_cheap): Change type to bool.
- 	(init_expmed): Fix potential overrun problem with "all.reg".
- 	(expand_sdiv2_pow2): Add an alternate implementation for signed
- 	division, if the target provides a suitable conditional move insn.
- 
- 2004-08-09  Paul Brook  <paul@codesourcery.com>
- 	Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2.c (uw_install_context_1): Update target saved stack
- 	pointer.
- 
- 2004-08-09  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-common.c (ggc_rlimit_bound): Don't check RSS limit.
- 	Check DATA limit only if there's no AS limit.  Ignore insanely
- 	low DATA limits.
- 	(ggc_min_heapsize_heuristic): Don't divide AS or RSS limits by 8,
- 	but take care that the AS limit isn't overrun.
- 	* doc/invoke.texi: Update documentation of min-heapsize parameter.
- 
- 2004-08-09  Jeff Law  <law@redhat.com>
- 
- 	* Makefile.in (OBJC-common): Add tree-ssa-threadupdate.c
- 	(tree-ssa-threadupdate.o): Add dependencies.
- 	* tree-ssa-threadupdate.c: New file.
- 	* tree-flow.h (incoming_edge_threaded): New flag in block annotation.
- 	(rewrite_vars_out_of_ssa): Remove prototype.
- 	(cleanup_tree_cfg): Returns a bool.
- 	* tree.h (thread_through_all_blocks): Prototype.
- 	* tree-outof-ssa.c  (SSANORM_*): Move into here.
- 	(remove_ssa_form): Now static.
- 	(rewrite_vars_out_of_ssa): Kill.
- 	* tree-ssa-live.c (register_ssa_partitions_for_vars): Kill.
- 	* tree-ssa-live.h (SSANORM_*): Moved into tree-outof-ssa.c.
- 	(remove_ssa_form, register_partitions_for_vars): Kill declarations.
- 	* tree-cfg.c (cleanup_tree_cfg): Return a value indicating if
- 	anything was changed.
- 	* tree-phinodes.c (add_phi_arg): Get the block for the PHI
- 	from the PHI's annotation rather than the edge associated with
- 	the new argument.
- 	* tree-ssa-dom.c (redirection_edges): Kill.
- 	(redirect_edges_and_update_ssa_graph): Kill.
- 	(tree_ssa_dominator_optimize): Do not reset forwardable flag
- 	for blocks anymore.  Do not initialize redirection_edges.
- 	Call thread_through_all_blocks.  Simplify code for cleanup
- 	of the CFG and iterating.  No longer call cleanup_tree_cfg
- 	outside the iteration loop.
- 	(thread_across_edge): No longer mess with forwardable blocks.
- 
- 2004-08-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* explow.c (memory_address): Use memory_address_p.
- 	* recog.c (general_operand): Likewise.
- 	* regrename.c: No need to define REG_OK_STRICT.
- 
- 2004-08-09  Steven Bosscher  <stevenb@suse.de>
- 
- 	* timevar.def (TV_CPROP1, TV_CPROP2, TV_PRE, TV_HOIST, TV_LSM):
- 	New timers.
- 	* gcse.c: Include timevar.h.
- 	(const_prop_count, copy_prop_count): Rename to global_const_prop_count
- 	and global_copy_prop_count.
- 	(local_const_prop_count, local_copy_prop_count): New static globals.
- 	(gcse_main): Set the right timevar for each pass.
- 	(cprop_jump): Increment global_const_prop_count when a constant is
- 	propagated.  Add "GLOBAL" to dump output.
- 	(cprop_insn): Increment global_const_prop_count when a constant is
- 	propagated, or global_copy_prop_count when a copy is propagated.
- 	(do_local_cprop): Likewise for local_const_prop_count and
- 	local_copy_prop_count.
- 	(one_cprop_pass): Initialize const/cprop counters to zero.
- 	Print out results of local and global const/cprop separately.
- 	(bypass_block): Break over-length line.
- 	* Makefile.in (gcse.o): Add TIMEVAR_H dependency.  Fix dependencies
- 	for bb-reorder.o and tracer.o.
- 
- 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* Makefile.in (GTFILES): Remove stmt.c
- 	(stmt.o): Do not depend on gt-stmt.h.
- 	* emit-rtl.c (emit_line_note): Do not call
- 	set_file_and_line_for_stmt.
- 	* expr.c (expand_expr_real_1) <SWITCH_EXPR>: Let expand_case
- 	do everything.
- 	* function.c (free_after_parsing): Do not free STMT field.
- 	(allocate_struct_function): Do not call init_stmt_for_function.
- 	(assign_stack_temp_for_type): Do not accept values of keep
- 	other than 0 or 1.
- 	(init_temp_slots): Do not initialize removed variables.
- 	* function.h (struct function): Remove STMT, X_TARGET_TEMP_SLOT_LEVEL
- 	and X_VAR_TEMP_SLOT_LEVEL fields.
- 	* rtl.h (set_file_and_line_for_stmt): Remove.
- 	* stmt.c (struct nesting, ALLOC_NESTING, POPSTACK,
- 	struct stmt_status, cond_stack, case_stack, nesting_stack,
- 	nesting_depth, emit_locus, set_file_and_line_for_stmt,
- 	same_case_target_p, init_stmt_for_function, emit_nop,
- 	expand_start_cond, expand_start_elseif, expand_start_else,
- 	expand_elseif, expand_end_cond): Remove.
- 	(preserve_subexpressions_p): Remove references to CFUN->STMT.
- 	(expand_start_case, expand_end_case_type): Remove, merge into...
- 	(expand_case): ... this one, including other bits from
- 	expand_expr_real_1.  Inline same_case_target_p.  Turn members
- 	of CASE_STACK into local variables.
- 	(emit_case_bit_tests): Inline same_case_target_p.
- 	(add_case_node): Add HEAD argument, return new head of the list,
- 	do not handle default label here.
- 	* tree.h (expand_start_cond, expand_end_cond, expand_start_else,
- 	expand_start_elseif, current_nesting_level, expand_start_case,
- 	expand_end_case_type, expand_end_case, add_case_node,
- 	init_stmt_for_function, expand_elseif): Remove prototypes.
- 	(expand_case): Add prototype.
- 
- 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expr.c (expand_expr_real_1): Use optab_for_tree_code.
- 
- 2004-08-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expr.c (var_rtx): Remove.
- 	(expand_expr_real_1) <LOOP_EXPR, EXIT_EXPR,
- 	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, TRUTH_ANDIF_EXPR,
- 	TRUTH_ORIF_EXPR, COMPOUND_EXPR, CONJ_EXPR, INIT_EXPR>:
- 	Abort.
- 	(expand_expr_real_1) <COND_EXPR>: Remove most special cases.
- 	* optabs.c (emit_clr_insn, emit_0_to_1_insn): Remove.
- 	* optabs.h (emit_clr_insn, emit_0_to_1_insn): Remove.
- 
- 2004-08-08  Mostafa Hagog  <mustafa@il.ibm.com>
- 	Ayal Zaks <zaks@il.ibm.com>
- 
- 	* common.opt (freschedule-modulo-scheduled-loops): New flag.
- 	* final.c (final_scan_insn): Handle NOTE_DISABLE_SCHED_OF_BLOCK.
- 	* modulo-sched.c (sms_schedule): Emit a note to disable scheduling
- 	when -freschedule-modulo-scheduled-loops flag is not specified.
- 	(sms_schedule_by_order, ps_insn_advance_column, add_node_to_ps,
- 	add_node_to_ps, ps_has_conflicts, ps_add_node_check_conflicts):
- 	More accurate placing of insn in row of partial schedule.
- 	(ps_insn_find_column): New function.
- 	* rtl.h (NOTE_DISABLE_SCHED_OF_BLOCK): New note.
- 	* sched-rgn.c (sched_is_disabled_for_current_region_p): New.
- 	(schedule_region): Use sched_is_disabled_for_current_region_p.
- 	* docs/invoke.texi: Document -freschedule-modulo-scheduled-loops.
- 
- 2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* config/i386/i386.c (ix86_expand_clrmem): Revert the last
- 	change.
- 
- 2004-08-07  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* config/i386/i386.c (ix86_expand_clrmem): Properly call
- 	gen_strset for 64bit target.
- 
- 2004-08-07  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* config/vxworks.h (HANDLE_SYSV_PRAGMA): Remove definition.
- 
- 2004-08-07  Jason Merrill  <jason@redhat.com>
- 
- 	Make return in memory explicit.
- 	* function.c (aggregate_value_p): Check DECL_BY_REFERENCE.
- 	(assign_parm_find_data_types): Remove code for old front end
- 	invisible reference handling.
- 	(assign_parms): Handle DECL_BY_REFERENCE on the RESULT_DECL.
- 	(expand_function_end): Likewise.
- 	* gimplify.c (gimplify_return_expr): Handle a dereferenced
- 	RESULT_DECL.
- 	* tree-inline.c (copy_body_r): Don't bother looking for &* anymore.
- 	(declare_return_variable): Handle DECL_BY_REFERENCE.
- 	* cp/cp-gimplify.c (is_invisiref_parm): Also handle RESULT_DECL.
- 	(cp_genericize_r): Use convert_from_reference.
- 	Don't dereference a RESULT_DECL directly inside a RETURN_EXPR.
- 	(cp_genericize): Handle the RESULT_DECL.  Unset TREE_ADDRESSABLE.
- 
- 	* c-common.c (c_warn_unused_result): Check TREE_USED before
- 	warning about a CALL_EXPR with an unused value.
- 
- 2004-08-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/symbian.h (CC1_SPEC): Avoid passing duplicate options
- 	to the compiler.  Use -fshort-wchar by default.
- 
- 2004-08-06  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	* params.def (PARAM_MIN_CROSSJUMP_INSNS): New.
- 	* cfgcleanup.c (try_crossjump_to_edge): Add minimum insn match
- 	threshhold.
- 	* doc/invoke.texi (param): Document min-crossjump-insns.
- 
- 2004-08-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR c/13282
- 	* c.opt (Wmissing-field-initializers): New option.
- 	* c-opts.c (c_common_post_options): Make -Wextra turn it on by default.
- 	* c-typeck.c (pop_init_level): Guard the missing field warning with
- 	warn_missing_field_initializers rather than extra_warnings.
- 	* doc/invoke.texi (-Wmissing-field-initializers): Document, moving
- 	some of the explanation from...
- 	(-Wextra): ...here.  Say that the missing field warning can be
- 	seperately controlled by -Wmissing-field-initializers.
- 
- 2004-08-06  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expr.c (expand_expr_real_1) <ENTRY_VALUE_EXPR>: Remove.
- 	* tree-inline.c (estimate_num_insns_1) <ENTRY_VALUE_EXPR>: Remove.
- 	* tree-pretty-print.c (dump_generic_node) <ENTRY_VALUE_EXPR>: Remove.
- 	* tree.def (ENTRY_VALUE_EXPR): Remove.
- 
- 2004-08-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_clrmem): Move gen_cld down to
- 	the places where it is actually needed.  Don't use repz; stosb
- 	for -Os with sufficiently small constant sizes.
- 	For sufficiently small repz; stos{l,q} repeat counts use a sequence
- 	of stos{l,q} instructions instead.
- 
- 2004-08-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/16807
- 	* loop-iv.c (dump_iv_info): Dump invariants correctly.
- 	(iv_subreg, iv_extend): Express value of invariant purely in
- 	base field.
- 
- 2004-08-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/arm/symbian.h (CC1_SPEC): Add -fno-short-enums.
- 	(CC1PLUS_SPEC): Define it to be the same as CC1_SPEC.
- 
- 2004-08-06  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.c (post_inc_operand,pre_dec_operand): New.
- 	* config/m68k/m68k.h (PREDICATE_CODES): add post_inc_operand,
- 	pre_dec_operand.
- 	* config/m68k/m68k.md (zero_extend*2): delay the splitting of the
- 	pattern until reload is finished to allow better code generation
- 	and split them completely into separate instrunctions.
- 	(*andsi3_split): New pattern.
- 
- 2004-08-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (handle_dll_attribute): Move here from i383/winnt.c.
- 	Replace use of DECL_INLINE with DECL_DECLARED_INLINE_P.  Set
- 	DECL_VISIBLITY.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
- 	* tree.h (handle_dll_attribute): Declare.  Test
- 	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
- 	* c-common.h (c_determine_visibility): Declare.
- 	* c-common.c (c_determine_visibility): New function.
- 	* c-decl.c (finish_decl): Use it.
- 	(finish_function): Likewise.
- 	* defaults.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define it to
- 	zero, by default.  Use #if, not	#ifdef, to test it.
- 	* config/arm/arm.c (arm_attribute_table): Use
- 	handle_dll_attribute.  Test TARGET_DLLIMPORT_DECL_ATTRIBUTES with
- 	#if.
- 	* config/arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define to 1.
- 	* config/i386/cygming.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
- 	to 1.
- 	* config/i386/i386-protos.h (ix86_handle_dll_attribute): Remove.
- 	* config/i386/i386.c (ix86_attribute_table): Use
- 	handle_dll_attribute for dllimport/dllexport.  Test
- 	TARGET_DLLIMPORT_DECL_ATTRIBUTES with #if.
- 	* config/i386/winnt.c (ix86_handle_dll_attribute): Remove.
- 	* config/mcore/mcore.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
- 	it to 1.
- 	* config/mcore/mcore.c (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Test it
- 	with #if.
- 	* config/sh/symbian-pre.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define
- 	it to 1.
- 	* doc/extend.texi (dllexport): Clarify and correct documentation.
- 	(dllimport): Likewise.
- 	* doc/tm.texi (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Mention
- 	handle_dll_attribute.
- 
- 2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-manip.c: New file.
- 	* Makefile.in (tree-ssa-loop-manip.o): Add.
- 	* tree-flow.h (rewrite_into_loop_closed_ssa, verify_loop_closed_ssa):
- 	Declare.
- 	* tree-ssa-loop.c (tree_loop_optimizer_init): Create loop closed ssa
- 	form.
- 	(tree_ssa_loop_done): Verify loop closed ssa form.
- 	* tree-ssa-loop-im.c (move_computations): Update loop closed ssa form.
- 
- 2004-08-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_asm_output_aligned_bss, pa_asm_output_aligned_common,
- 	pa_asm_output_aligned_local): New functions.
- 	* pa-protos.h: Add prototypes for pa_asm_output_aligned_bss,
- 	pa_asm_output_aligned_common and pa_asm_output_aligned_local.
- 	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Use
- 	pa_asm_output_aligned_common.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
- 	* pa.h (ASM_OUTPUT_ALIGNED_BSS): New macro.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
- 	* pa64-hpux.h (MAX_OFILE_ALIGNMENT): New macro.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Use pa_asm_output_aligned_common.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Use pa_asm_output_aligned_local.
- 	* som.h (MAX_OFILE_ALIGNMENT): Provide maximum alignment of global
- 	common data.
- 
- 2004-08-05  Andrew Pinski  <apinski@apple.com>
- 
- 	* objc/objc-act.c (build_objc_string_object): Mark the address
- 	expression as constant.
- 
- 2004-08-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Fix mask_operand
- 	and mask64_operand thinkos.  Handle ZERO_EXTRACT.  Handle
- 	SIGN_EXTEND / ZERO_EXTEND of MEM.  Handle rlwinm patterns.
- 
- 2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* config/linux.h, config/i386/linux.h, config/sparc/linux.h:
- 	Remove definitions conditioned on USE_GNULIBC_1 or conditioned
- 	out, and associated obsolete comments.
- 
- 2004-08-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (force_fit_type): Return a tree, take three flags.
- 	* fold-const.c (force_fit_type): Set TREE_OVERFLOW and
- 	TREE_CONSTANT_OVERFLOW here.
- 	(int_const_binop, const_binop): Adjust.
- 	(size_int_type): Do sign extension here.
- 	(fold_convert_const, optimize_bit_field_compare,
- 	decode_field_reference, all_ones_mask_p, fold_div_compare, fold,
- 	fold_negate_const, fold_abs_const, fold_not_const): Adjust.
- 	* tree.c (size_in_bytes, int_fits_type_p): Adjust.
- 
- 2004-08-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/16864
- 	* tree-tailcall.c (eliminate_tail_call): Do not create phi nodes
- 	for ssa names without default_def.
- 
- 2004-08-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_prologue): If the function uses a
- 	frame pointer, restore eax with an ebp-relative address.
- 
- 2004-08-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	PR 14516
- 	* c-common.c (c_expand_decl): Don't special-case static VAR_DECLs.
- 	* c-common.h (make_rtl_for_local_static): Delete.
- 	* c-decl.c (shadow_tag_warned): Clean up comment.
- 	(finish_decl): Clean up spacing.  Use set_user_assembler_name when
- 	appropriate.  Don't pass asmspec to rest_of_decl_compilation.
- 	* c-semantics.c (make_rtl_for_local_static): Delete.
- 	* expr.c (init_block_move_fn): Use set_user_assembler_name.
- 	(init_block_clear_fn): Likewise.
- 	* passes.c (rest_of_decl_compilation): Remove asmspec parameter,
- 	expect it to be in DECL_ASSEMBLER_NAME.  Update callers in many files.
- 	* toplev.h (rest_of_decl_compilation): Remove asmspec parameter.
- 	* tree.h (make_decl_rtl): Remove second parameter.
- 	(set_user_assembler_name): New.
- 	* varasm.c (set_user_assembler_name): New.
- 	(make_decl_rtl): Remove second parameter.  Update callers in many
- 	files.
- 
- 2004-08-05  Adam Nemet  <anemet@lnxw.com>
- 
- 	* config.gcc (case i[34567]86-*-lynxos*): Update to LynxOS 4.0.
- 	(case rs6000-*-lynxos*): Rename it to powerpc-*-lynxos*.  Update
- 	to LynxOS 4.0.
- 	* gthr-lynx.h: New file.
- 	* config/lynx-ng.h: Remove file.
- 	* config/lynx.h: Update to LynxOS 4.0.
- 	* config/t-lynx: New file.
- 	* config/i386/lynx-ng.h: Remove file.
- 	* config/i386/lynx.h: Update to LynxOS 4.0.
- 	* config/rs6000/lynxbase.h: Remove file.
- 	* config/rs6000/lynx.h: Update to LynxOS 4.0.
- 	* config/rs6000/t-lynx: New file.
- 	* doc/install.texi (Options specification): Remove reference to
- 	LynxOS from systems where --with-gnu-as makes a difference.
- 
- 2004-08-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.c (c_stddef_cpp_builtins): Define __INTMAX_TYPE__ and
- 	__UINTMAX_TYPE__.
- 	* c-cppbuiltin.c (builtin_define_stdint_macros): New.  Define
- 	__INTMAX_MAX__.
- 	(c_cpp_builtins): Call it.
- 	* doc/cpp.texi: Update.
- 
- 2004-08-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): LABEL_REFs are zero
- 	cost.
- 
- 2004-08-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (profile_staus): New global variable.
- 	* cfg.c (profile_status): Declare.
- 	(check_bb_profile): Break out from ....; use profile_status
- 	(dump_flow_info): ... here.
- 	* cfgbuild.c (find_basic_blocks): Set profile_status.
- 	* cfgexpand.c (tree_expand_cfg): Likewise.
- 	* predict.c (estimate_probability): Likewise.
- 	* profile.c (branch_prob): Likewise.
- 	* tree-cfg.c (build_tree_cfg): Likewise.
- 	(dump_function_to_file): Use check_bb_profile.
- 	* tree-pretty-print (dump_bb_header): Likewise.
- 	* tree-profile.c (do_tree_profiling): Cleanup.
- 
- 2004-08-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (RTL_BASE_H, RTL_H): Correct.
- 	(BUILD_RTL): Remove $(BUILD_PREFIX) from ggc-none.o.
- 	(genobjs): Add errors.o, ggc-none.o, and min-insn-modes.o.
- 	(read-rtl.o, gensupport.o, genconfig.o, genflags.o, gencodes.o)
- 	(genconstants.o, genemit.o, genopinit.o, genrecog.o, genextract.o)
- 	(genpeep.o, genattr.o, genattrtab.o, genautomata.o, genoutput.o)
- 	(genconditions.o): Depend on $(RTL_BASE_H) not $(RTL_H).
- 	(ggc-none.o, errors.o): Move rule to generators section;
- 	correct dependencies.
- 	(min-insn-modes.o): Move rule to generators section; remove
- 	unnecessary explicit command; correct dependencies.
- 	(print-rtl.o, print-rtl1.o): Correct dependencies.
- 	($(BUILD_PREFIX_1)errors.o. $(BUILD_PREFIX_1)ggc-none.o): Delete rule.
- 	(mostlyclean): Update.
- 
- 	* errors.c: Include bconfig.h not config.h.  Correct comment.
- 	* gengtype.c, genpreds.c: Don't define NO_GENRTL_H.
- 	* ggc-none.c: Include bconfig.h; not config.h or tm.h.
- 	* print-rtl.c: Don't include tm_p.h.
- 
- 	* rtl.h: Move forward-decl of struct function down where it's
- 	needed.  Include genrtl.h #ifndef GENERATOR_FILE, not
- 	#ifndef NO_GENRTL_H.  Remove unnecessary #ifdef BUFSIZ statements.
- 
- 2004-08-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* tree-cfg.c (tree_duplicate_bb): Mark duplicated definitions.
- 	* tree-flow.h (rewrite_ssa_into_ssa): Declaration changed.
- 	* tree-into-ssa.c (rewrite_ssa_into_ssa): Use new interface to
- 	manipulate the duplicated ssa names.
- 	* tree-ssanames.c (ssa_names_to_rewrite): New variable.
- 	(marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite,
- 	unmark_all_for_rewrite, marked_ssa_names, release_ssa_name_force):
- 	New functions.
- 	(release_ssa_name): Do not release ssa names that may have multiple
- 	definitions.
- 	* tree.h (release_ssa_name_force, mark_for_rewrite,
- 	unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p,
- 	marked_ssa_names): Declare.
- 	* tree-ssa-loop-ch.c (mark_defs_for_rewrite): Remove.
- 	(duplicate_blocks): Remove call to mark_defs_for_rewrite.
- 	Update call to rewrite_ssa_into_ssa.
- 
- 2004-08-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* defaults.h (TARGET_DECLSPEC): New macro.
- 	* c-cppbuiltin.c (c_cpp_builtins): Handle TARGET_DECLSPEC.
- 	* config/arm/pe.h (SUBTARGET_CPP_SPEC): Remove __declspec support.
- 	* config/arm/symbian.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
- 	* config/i386/beof-elf.h (TARGET_OS_CPP_BUILTINS): Remove
- 	__declspec support.
- 	(TARGET_DECLSPEC): Define.
- 	* config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Remove
- 	__declspec support.
- 	* config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS): Remove
- 	__declspec support.
- 	(TARGET_DECLSPEC): Define.
- 	* config/mcore/mcore.h (TARGET_CPU_CPP_BUILTINS): Remove
- 	__declspec support.
- 	* config/sh/symbian-pre.h (SUBTARGET_CPP_SPEC): Remove __declspec
- 	support.
- 	* doc/tm.texi (TARGET_DECLSPEC): Document.
- 
- 	* doc/extend.texi: Fix typo in comment.
- 
- 2004-08-04  Paul Brook  <paul@codesourcery.com>
- 
- 	* target-def.h (TARGET_CXX_CDTOR_RETURNS_THIS): Define.
- 	(TARGET_CXX): Use it.
- 	* target.h (struct gcc_target): Add cdtor_returns_this.
- 	* config/arm/arm.c (arm_cxx_cdtor_returns_this): New function.
- 	(TARGET_CXX_CDTOR_RETURNS_THIS): Define.
- 	* doc/tm.texi: Document TARGET_CXX_CDTOR_RETURNS_THIS.
- 
- 2004-08-03  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-lex.c (narrowest_unsigned_type, narrowest_signed_type): Take
- 	low/high pair. Do range checking directly.
- 	(interpret_integer): Adjust.
- 
- 2004-08-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sh/sh.h (TARGET_SWITCHES): Add no-renesas to select the
- 	GCC ABI.
- 	* doc/invoke.texi: Document this new switch and also the -mrenesas
- 	switch.
- 
- 2004-08-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cfglayout.c (insn_locators_initialize): Update the current
- 	location before initializing a location.
- 
- 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c (dbxout_function_decl): Always call dbxout_function_end.
- 	(dbxout_function_end): Return after emitting the "Lscope" symbol
- 	under the same conditions that this function formerly wasn't called.
- 	Add explanatory comments.
- 
- 	PR 14860
- 	* c-decl.c (record_builtin_type): Call debug_hooks->type_decl
- 	on the new decl.
- 
- 	PR 13956
- 	* dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
- 	functions, broken out of dbxout_block.
- 	(dbxout_block): The block at depth 0 should get LBRAC/RBRAC
- 	stabs too, if it contains symbols.  Use the begin_label and
- 	the Lscope label (emitted by dbxout_function_end) for the
- 	range of this block.
- 
- 2004-08-03  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/install.texi: Update autoconf version requirements.
- 
- 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
- 	* recog.c (general_operand, immediate_operand, nonmemory_operand)
- 	(asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
- 	* regclass.c (record_reg_classes): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* reload1.c (reload): Likewise.
- 
- 2004-08-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gensupport.c (init_md_reader_args_cb): Renamed from
- 	init_md_reader_args.  Add third option, callback function for
- 	parsing program-specific options.  Add diagnosis of incorrect
- 	number of input files.
- 	(init_md_reader): Fold into init_md_reader_args_cb.
- 	(init_md_reader_args): Now a thin wrapper around
- 	init_md_reader_args_cb.
- 	* gensupport.h: Update prototypes.
- 
- 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c
- 	* genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c
- 	* genrecog.c: No need to diagnose lack of an input file;
- 	init_md_reader_args will handle it.
- 	* genconditions.c: Likewise, and use init_md_reader_args.
- 	* genconstants.c: Likewise, and no need to call read_md_rtx.
- 
- 2004-08-03  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (implicitly_declare): Diagnose incompatible implicit
- 	declarations.
- 
- 2004-08-03  Mike Stump  <mrs@apple.com>
- 
- 	* config/darwin-c.c: Don't search in "/Local/Library/Frameworks"
- 	for frameworks.
- 	* doc/invoke.texi (Darwin Options): Update to reflect above.
- 
- 2004-08-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/16790
- 	* fold-const.c (extract_muldiv_1) <NOP_EXPR>: Disallow local
- 	truncations, not just global truncations.
- 
- 2004-08-03  Andrew Pinski  <apinski@apple.com>
- 
- 	PR bootstrap/16865
- 	* loop-iv.c (simplify_using_assignment): Initialize lhs.
- 
- 2004-08-03  Paul Brook  <paul@codesourcery.com>
- 
- 	* gcc/doc/install.texi: Document MPFR requirement.
- 
- 2004-08-03  Maciej W. Rozycki  <macro@linux-mips.org>
- 
- 	* aclocal.m4 (gcc_AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
- 	and mmap() explicitly instead of relying on preset autoconf cache
- 	variables.
- 	* configure: Regenerate.
- 
- 2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	PR target/16570
- 	* config.gcc (i[34567]86-*-* | x86_64-*-*): Add i386/t-gmm_malloc
- 	to tmake_file.
- 	(i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1): Likewise.
- 	(i[34567]86-*-linux* | x86_64-*-linux*): Add i386/t-pmm_malloc
- 	to tmake_file.
- 
- 	* config/i386/t-gmm_malloc: New file.
- 	* config/i386/t-pmm_malloc: Likewise.
- 
- 	* config/i386/xmmintrin.h: Include <mm_malloc.h>.
- 
- 2004-08-03  H.J. Lu  <hongjiu.lu@intel.com>
- 	    Tanguy FautrÃ  <tfautre@pandora.be>
- 
- 	* config/i386/pmm_malloc.h: New file.
- 
- 2004-08-03  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/gmm_malloc.h: New file.
- 
- 2004-08-03  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (machopic_output_stub):  Align Darwin stubs.
- 	* c-common.c: Include opts.h.
- 	(c_common_get_alias_set): Fix check for a single input file.
- 	* toplev.c: Remove current_file_decl.
- 	* tree.h: Ditto.
- 
- 2004-08-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc (arm*-*-symbianelf*): New target.
- 	* config/arm/symbian.h: New file.
- 
- 	* gthr-gnat.c: Add visibility #pragmas.
- 	* gthr-gnat.h : Likewise.
- 	* gthr.h: Likewise.
- 	* libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
- 	(__ffsDI2): Likewise.
- 	(__clzSI2): Likewise.
- 	(__ctzSI2): Likewise.
- 	(__ctzDI2): Likewise.
- 	(__popcountSI2): Likewise.
- 	(__popcountDI2): Likewise.
- 	(__paritySI2): Likewise.
- 	(__parityDI2): Likewise.
- 	* libgcc2.h: Add visibility #pragmas.
- 	(__clzDI2): Add prototype.
- 	(__clzSI2): Likewise.
- 	(__ctzSI2): Likewise.
- 	(__ffsDI2): Likewise.
- 	(__ffsSI2): Likewise.
- 	(__ctzDI2): Likewise.
- 	(__popcountSI2): Likewise.
- 	(__popcountDI2): Likewise.
- 	(__paritySI2): Likewise.
- 	(__parityDI2): Likewise.
- 	* unwind-dw2-fde.h: Add visibility #pragmas.
- 	* unwind.h: Likewise.
- 
- 2004-08-03  David Edelsohn  <edelsohn@gnu.org>
- 	    Dale Johannesen  <dalej@apple.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Calculate cost of
- 	constants more accurately.  Adjust costs for FMA instructions.
- 	Add cases for most logical and float operations.  Recurse into
- 	most operands.
- 
- 2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config.gcc (strongarm-*, xscale-*): Add t-arm to tmake_files.
- 
- 2004-08-03  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	* ra-build.c (conflicts_between_webs): For webs that cross a call add
- 	conflicts to regs_invalidated_by_call.
- 
- 2004-08-03  Paul Brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (emit_sfm): Only emit a single frame adjustment.
- 
- 2004-08-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* coverage.c (tree_coverage_counter_ref): Fix computation of the new
- 	ARRAY_REF argument.
- 
- 2004-08-03  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm-cores.def: Sort by architecture.  Add arm946es, arm966es,
- 	arm968es, arm10e, arm1020e, arm1022e.
- 	* invoke.texi: Update list of ARM cores.
- 	* arm-tune.md: Regenerate.
- 
- 2004-08-03  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm/gentune.sh: New file.
- 	* arm/t-arm: New file.
- 	* arm/arm-tune.md: New file (autogenerated).
- 	* config.gcc (arm*-*-*): Add t-arm to tmake_file for all variants.
- 	* arm.md (attribute tune): Delete.  Include arm-tune.md.
- 
- 2004-08-03  Paolo Bonzini <bonzini@gnu.org>
- 
- 	* gcc.c (add_prefix, add_sysrooted_prefix): Remove
- 	penultimate parameter.  All callers adjusted.
- 	(struct prefix_list): Remove used_flag_ptr.
- 	(find_a_file): Do not set *pl->used_flag_ptr.
- 	(warn_B, warn_std_ptr): Remove.
- 
- 2004-08-03  Yossi Markovich <yossim@il.ibm.com>
- 	    Mostafa Hagog <mustafa@il.ibm.com>
- 
- 	* config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
- 
- 2004-08-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Don't change data format
- 	due to TARGET_USES_WEAK_UNWIND_INFO.  Always refer to the local
- 	label.  Use 'true' not '1'.
- 	* doc/install.texi (powerpc-*-darwin*): Mention cctools version
- 	required.
- 
- 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* gdbinit.in: Reflect previous changes to rtunion_def.
- 
- 2004-08-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <TRUNC_MOD_EXPR>: The transformation "X % -Y"
- 	-> "X % Y" is only valid for TRUNC_MOD_EXPR.
- 
- 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* vec.h (DEF_VEC_P): Add proper cast to uses of vec_o_reserve and
- 	vec_p_reserve.
- 	* langhooks.h (lang_hooks::builtin_function): Rename parameter
- 	from "class" to "bt_class".
- 
- 2004-08-02  Paul Brook  <paul@codesourcery.com>
- 
- 	PR rtl-optimization/15068
- 	* flow.c (init_propagate_block_info): Check condition is reversible.
- 
- 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* gengtype.h (options::info): Change type to const char *.
- 	(enum gc_used_enum): Move out of struct type scope.
- 	* gengtype.c (create_option): Convert initializer for option::info to
- 	appropiate type.
- 	(adjust_field_type, walk_type, write_func_for_structure,
- 	write_root, write_roots): Remove pointless cast.
- 
- 2004-08-02  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* genopinit.c (gen_insn): Check for MODE_COMPLEX_FLOAT patterns for $F.
- 
- 2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* rtl.h (union rtunion_def): Have all members  start with the
- 	prefix "rt_".
- 	(XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE, XBBDEF, XTMPL,
- 	X0INT, X0UINT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
- 	X0MEMATTR, X0BBDEF, X0REGATTR, XCINT, XCUINT, XCSTR, XCEXP,
- 	XCVEC, XCMODE, XCBITMAP, XCTREE, XCBBDEF, XC2EXP): Adjust members
- 	access.
- 	* gengtype.c (adjust_field_rtx_def): Likewise.
- 	* rtlanal.c (loc_mentioned_in_p): Likewise.
- 
- 2004-08-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips*-*-elf*, mips*-*-rtems*): Add elfos.h to tm_file.
- 	Replace uses of mips/elf64.h with mips/elf.h
- 	* config/mips/elf.h (MAX_OFILE_ALIGNMENT, TARGET_ASM_NAMED_SECTION)
- 	(TYPE_OPERAND_FMT, TYPE_ASM_OP, SIZE_ASM_OP, BSS_SECTION_ASM_OP)
- 	(ASM_OUTPUT_ALIGNED_BSS, ASM_WEAKEN_LABEL, ASM_OUTPUT_WEAK_ALIAS)
- 	(MAKE_DECL_ONE_ONLY, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP)
- 	(HANDLE_SYSV_PRAGMA): Delete.
- 	(ASM_OUTPUT_DEF): Fix formatting.
- 	* config/mips/elf64.h: Delete.
- 
- 2004-08-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (got_symbolic_operand): Do require a
- 	symbol+offset operand to have its offset be zero mod 0x3fff
- 	when GOT entries are in use.  Clarify logic in SYMBOL_REF
- 	case.  Clarify comments.
- 	(ia64_expand_load_address): Split a symbol+offset load when
- 	the offset is nonzero mod 0x3fff, not 0x1fff.
- 
- 2004-08-01  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
- 	if trying to *store* to a non-offsettable address.
- 	* config/rs6000/rs6000.md (movtf_internal): Don't move GPRs to
- 	a nonoffsettable address.
- 	(movdi_internal32): Don't move GPRs to a nonoffsettable address.
- 	Clean up.
- 	(movti_string): Don't move GPRs to a nonoffsettable address.
- 	(movti_ppc64): Don't move GPRs to a nonoffsettable address.  Clean up.
- 
- 2004-08-02  Ben Elliston  <bje@au.ibm.com>
- 
- 	PR target/16155
- 	* config/rs6000/altivec.h: Replace typeof with __typeof__.
- 
- 2004-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr_real_1) <normal_inner_ref>: Fix crash with
- 	variable sized types.
- 
- 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: In the MIPS options section, remove the passage
- 	saying that -mexplicit-relocs is usually disabled for -mabicalls
- 	-fno-unit-at-a-time.
- 	* config/mips/mips.c (override_options): Remove the code that enforced
- 	this rule.
- 
- 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (cprestore): Provide two alternatives, one for
- 	an in-range offset and one for an out-of-range offset.  Wrap the latter
- 	in .set macro/.set nomacro if it's inside a .set nomacro block.
- 
- 2004-08-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_gp_save_slot): Remove.
- 	(mips_restore_gp): Declare.
- 	* config/mips/mips.c (mips_add_offset): Add a scratch register
- 	argument.  Reimplement in rtl only, reusing MIPS16 logic from
- 	mips_output_mi_thunk.
- 	(mips_legitimize_address, mips_legitimize_const_move): Adjust calls
- 	to mips_add_offset.
- 	(mips_gp_save_slot): Delete.
- 	(mips_restore_gp): New function.
- 	(mips_set_return_address, mips_output_mi_thunk): Use mips_add_offset.
- 	* config/mips/mips.md (exception_receiver): Turn into a
- 	define_insn_and_split.  Use mips_restore_gp to do the split.
- 	(call_internal, call_value_internal, call_value_multiple_internal): Use
- 	mips_restore_gp to restore $gp.
- 
- 2004-07-31  Andrew Pinski  <apinski@apple.com>
- 
- 	PR other/16842
- 	* mkheaders.in (libsubdir): s/gcc-lib/gcc/.
- 
- 2004-07-31  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (diagnose_mismatched_decls): Give error for external
- 	redeclaration of identifier declared with no linkage, not just
- 	warning with -Wtraditional.  Do not check DECL_CONTEXT to give
- 	error for redeclaration with no linkage.
- 
- 2004-07-30  Geoffrey Keating  <geoffk@apple.com>
- 	    Fariborz Jahanian <fjahanian@apple.com>
- 
- 	* config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Permit
- 	non-offsettable addresses even for DImode.
- 	(rs6000_split_multireg_move): Cope with non-offsettable addresses
- 	being moved into multiple GPRs.
- 
- 	* config/rs6000/rs6000.c (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Default
- 	to 64.
- 	(rs6000_override_options): Use RS6000_DEFAULT_LONG_DOUBLE_SIZE.
- 	* config/rs6000/darwin.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Define
- 	to 128.
- 	* config/rs6000/darwin-ldouble.c (isless): New macro.
- 	(inf): New macro.
- 	(nonfinite): New macro.
- 	(FPKINF): Delete.
- 	(_xlqadd): Completely rewrite.
- 	(_xlqmul): Correct overflow handling.
- 	(_xlqdiv): Correct overflow handling.
- 	* config/rs6000/darwin-ldouble-format: New file.
- 
- 2004-07-30  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: New peephole2's to convert imul by 3, 5 or
- 	9 into the equivalent lea instruction.
- 
- 2004-07-30  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (gimplify_expr) <case CONST_DECL>: Don't replace
- 	with DECL_INITIAL if fb_lvalue.
- 	* tree-gimple.c (is_gimple_id): Add CONST_DECL.
- 	* tree-pretty-print.c (dump_decl_name): Dump unnamed CONST_DECL
- 	with <Cxxx>.
- 	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Fold CONST_DECL.
- 
- 2004-07-30  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): If a
- 	pointer escapes through a function call, assume that the
- 	callee will dereference it.
- 	(add_pointed_to_var): Assume that VALUE is always an
- 	ADDR_EXPR.
- 	(collect_points_to_info_r): Only call add_pointed_to_var if
- 	the value is an ADDR_EXPR.
- 
- 2004-07-30  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (create_alias_map_for): Do not get the
- 	alias set of the inner type of ARRAY_TYPEs.
- 
- 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-ccp.c (visit_assignment): Move code to prevent
- 	setting a non-register to UNDEFINED right before the call to
- 	set_lattice_value.
- 
- 2004-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/lib1funcs.asm: Make aliases movstr* for movmem*.
- 
- 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa.c (verify_flow_sensitive_alias_info): When
- 	comparing points-to sets of different pointers, make sure the
- 	second pointer is actually referenced in the code.
- 
- 2004-07-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (setjmp_operand): Delete, unused.
- 	(got_symbolic_operand): Remove unreachable code.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Remove entry for
- 	setjmp_operand; add entry for tls_symbolic_operand.
- 	* config/ia64/ia64-protos.h: Remove all prototypes of
- 	predicate functions.
- 
- 2004-07-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (lang_post_pch_load): New variable.
- 	* c-pch.c (lang_post_pch_load): Define it.
- 	(c_common_read_pch): Use it.
- 	* cgraphunit.c (record_call_1): Give the front end a chance to
- 	record additional needed entities when a variable is marked as
- 	needed.
- 	* tlink.c (recompile_files): Robustify.
- 	(scan_linker_output): If a symbol is assigned to a file,
- 	but after recompilation is not present there, issue an error
- 	message.
- 
- 2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-im.c (force_move_till_expr, force_move_till):
- 	Take orig_loop argument and pass it to set_level.
- 	(schedule_sm): Pass the correct orig_loop to force_move_till.
- 
- 2004-07-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.c (update_latch_info): Update dominator of the new block.
- 	(canonicalize_loop_headers, flow_loops_find): Do not free dominance
- 	info.
- 	* dominance.c (verify_dominators): Check that the dominance tree is
- 	connected.
- 	(recount_dominator): Ignore unreachable blocks.
- 	(iterate_fix_dominators): Cleanup old dominance information before
- 	recomputing it.
- 
- 2004-07-29  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-operands.c (get_expr_operands): Revert changes
- 	to ADDR_EXPR processing introduced by:
- 	    2004-06-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	    * tree-ssa-operands.c (get_expr_operands): Minor rearrangements.
- 
- 2004-07-29  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/implement-c.texi: Add C90 subclause references.  Point to
- 	preprocessor documentation instead of duplicating it.  Add points
- 	only present in C90.  Fill in documentation for all points.
- 
- 2004-07-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (output_movb): Correct typo.
- 
- 2004-07-29  Pat Haugen  <pthaugen@us.ibm.com>
- 
- 	* ra.h (single_reg_in_regclass): Declare.
- 	* ra.c (single_reg_in_regclass): Define.
- 	(first_hard_reg): New.
- 	(init_ra): Initialize single_reg_in_regclass.
- 	* ra-colorize.c (ok_class): New.
- 	(coalesce, aggressive_coalesce, extended_coalesce_2): Use it.
- 
- 2004-07-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h: Allow zero tag as EOF indicator.
- 	(gcov_is_eof): Remove.
- 	(gcov_truncate): Remove.
- 	* gcov-io.c (gcov_seek): Always SEEK_SET.
- 	* libgcov.c (gcov_exit): Don't use gcov_truncate.  Write explicit
- 	EOF tag.
- 	* coverage.c (read_counts_file): Don't use gcov_is_eof.
- 	* gcov-dump.c (dump_file): Likewise.
- 	* gcov.c (read_graph_file, read_count_file): Likewise.
- 
- 	* c-decl.c (complete_array_type): Don't gratuitously copy
- 	maxindex.  Check it always has a type.
- 
- 2004-07-29  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.c (currently_expanding_to_rtl): New.
- 	* rtl.h (currently_expanding_to_rtl): Export it.
- 	* cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
- 
- 	* config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
- 	inliner hack.
- 	* config/sh/sh.c: Replace rtx_equal_function_value_matters
- 	with currently_expanding_to_rtl.
- 	* config/sh/sh.md: Likewise.
- 	* config/ia64/ia64.c (got_symbolic_operand): Likewise.
- 
- 2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	Introduce sh2a support.
- 	2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc: Build multilibs for sh2a and sh2a-single by
- 	default.
- 	* config/sh/sh.h (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Define by
- 	default.  Split their tests out of the corresponding SH4
- 	multilibs.
- 	* config/sh/t-sh (MULTILIB_MATCHES): Don't ever use SH4 or SH4a
- 	multilibs for SH2a.
- 	2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc: Handle sh2a multilibs and cpu selection.
- 	* config/sh/sh.h: Likewise.  Handle sh2a command line flags.
- 	* config/sh/t-mlib-sh2a: New.
- 	* config/sh/t-mlib-sh2a-nofpu: New.
- 	* config/sh/t-mlib-sh2a-single: New.
- 	* config/sh/t-mlib-sh2a-single-only: New.
- 	2004-07-09  Nick Clifton  <nickc@redhat.com>
- 	Issue 43400
- 	* config/sh/sh.h (DRIVER_SELF_SPECS): Issue an error message if
- 	-ml and -m2a are used together.
- 	2004-03-23  DJ Delorie  <dj@redhat.com>
- 	* config/sh/sh.c (sh_builtin_saveregs): Use the double code only
- 	when we have a double-sized FPU.
- 	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
- 	* config/sh/lib1funcs.asm (set_fpscr): Don't build if __SH2A_NOFPU__
- 	is set.
- 	* config/sh/elf.h (SUBTARGET_ASM_ISA_SPEC): Add cases for -msh2a-nofpu,
- 	-msh2a-single and -msh2a-single-only
- 	2004-02-24  Corinna Vinschen <vinschen@redhat.com>
- 	* config/sh/crt1.asm: Don't generate FPU instructions if __SH2A_NOFPU__
- 	is set.
- 	2004-02-20  DJ Delorie  <dj@delorie.com>
- 	* config/sh/sh.md (movsf_i, movsf_ie, movsf, ble, bge): Disable for sh2a-nofpu.
- 	2004-02-20  Fred Fish <fnf@redhat.com>,
- 	Corinna Vinschen <vinschen@redhat.com>
- 	* config/sh/t-sh (MULTILIB_OPTIONS): Add 2a-nofpu.
- 	(MULTILIB_EXCEPTIONS): Don't build littel-endian on sh2a.
- 	2004-02-18  DJ Delorie  <dj@redhat.com>
- 	* config/sh/sh.c (broken_move): Add support for movi20.
- 	* config/sh/sh.h: Likewise.
- 	(SHIFT_COUNT_TRUNCATED): Set for sh2a.
- 	* config/sh/sh.md (udivsi3_sh2a): New.
- 	(udivsi3): Call it.
- 	(divsi3_sh2a): New.
- 	(divsi3): Call it.
- 	(mul_r): New.
- 	(ashlsi3_sh2a): New.
- 	(ashrsi3_sh2a): New.
- 	(lshrsi3_sh2a): New.
- 	(movsi_i): Disable for sh2a.
- 	(movsi_ie): Add movi20.
- 	(movsf_i, movsf_ie, movsf, ble, untyped_call): Explicitly enable
- 	sh2a, for -m2a-nofpu mode.
- 	2004-02-13  DJ Delorie  <dj@redhat.com>
- 	* config/sh/lib1funcs.asm: Handle double vs single better.
- 	* config/sh/sh.h: Likewise.
- 	2004-02-09  DJ Delorie  <dj@redhat.com>
- 	* config/sh/crt1.asm: Add support for sh2a.
- 	* config/sh/elf.h: Likewise.
- 	* config/sh/lib1funcs.asm: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.md: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sh/t-sh: Likewise.
- 
- 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/frv/frv.md (movqi_internal, movhi_internal,
- 	movsi_internal): Add backup alternatives for memory inputs.
- 
- 2004-07-28  Matt Austern  <austern@apple.com>
- 
- 	* config/darwin.c (darwin_one_byte_bool): New global variable.
- 	* config/darwin.h (darwin_one_byte_bool): Declare.
- 	(SUBTARGET_OPTIONS): Define macro.  (for -mone-byte-bool flag.)
- 	* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Conditionalize on
- 	value of darwin_one_byte_bool.
- 	* doc/invoke.texi: Document -mone-byte-bool flag.
- 
- 2004-07-28  Eric Christopher  <echristo@redhat.com>
- 
- 	* c-common.c (c_common_unsafe_for_reeval): Delete.
- 	* c-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete use.
- 	* c-pretty-print.c (pp_c_expression): Delete UNSAVE_EXPR case.
- 	* calls.c (fix_unsafe_tree): Delete.
- 	(expand_call): Delete code which used above.
- 	* dojump.c (do_jump): Delete UNSAVE_EXPR case.
- 	* expr.c (expand_expr_real_1): Ditto.
- 	* fold-const.c (non_lvalue): Ditto.
- 	* langhooks-def.h (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
- 	(lhd_unsafe_for_reeval): Ditto.
- 	* langhooks.c (lhd_unsafe_for_reeval): Ditto.
- 	* langhooks.h (unsafe_for_reeval): Ditto.
- 	(unsave_expr_now): Adjust comment.
- 	* tree-inline.c (copy_body_r): Delete UNSAVE_EXPR bits.
- 	(estimate_num_insns_1): Ditto.
- 	* tree-pretty-print.c (dump_generic_node): Ditto.
- 	* tree.c (expr_align): Ditto.
- 	(unsave_expr): Delete.
- 	(unsafe_for_reeval): Ditto.
- 	* tree.h (unsafe_for_reeval, unsave_expr): Ditto.
- 	* tree.def (UNSAVE_EXPR): Delete.
- 	* objc/objc-lang.c (LANG_HOOKS_UNSAFE_FOR_REEVAL): Delete.
- 
- 2004-07-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h (enum tls_model): Move ...
- 	* coretypes.h: ... here.
- 
- 2004-07-28  Richard Sandiford <rsandifo@redhat.com>
- 
- 	* config/frv/frv.h (EPILOGUE_USES): New.  Use LR.
- 
- 2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* cse.c (validate_canon_reg): New function, split out from...
- 	(canon_reg): ...here.  Use validate_canon_reg for both 'e' and 'E'.
- 
- 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (maybe_create_global_var): Don't just
- 	return if .GLOBAL_VAR has been created.
- 
- 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa.c (verify_flow_insensitive_alias_info): Process
- 	every variable that may have aliases, not just tags.
- 
- 2004-07-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
- 	move_from_CR_eq_bit.
- 	Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
- 
- 
- 	* config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
- 	e500_flip_eq_bit.
- 
- 	* config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
- 	output_e500_flip_eq_bit.
- 
- 	* config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
- 	output_e500_flip_eq_bit.
- 	(rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
- 	output_e500_flip_eq_bit.
- 	Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
- 	(print_operand): case D.  Get to EQ bit.
- 
- 2004-07-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcov.c (function_summary): Add missing \n.
- 
- 2004-07-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	Introduce sh4a support.
- 	* config.gcc: Handle sh4a multilibs and cpu selection.
- 	* config/sh/sh.h: Likewise.  Handle sh4a command line flags.
- 	* config/sh/t-mlib-sh4a: New.
- 	* config/sh/t-mlib-sh4al: New.
- 	* config/sh/t-mlib-sh4a-nofpu: New.
- 	* config/sh/t-mlib-sh4a-single: New.
- 	* config/sh/t-mlib-sh4a-single-only: New.
- 	2004-02-20  DJ Delorie  <dj@redhat.com>
- 	* config/sh/sh.md ("movua"): Change constraint from "m" to "Sua".
- 	* config/sh/sh.h (EXTRA_CONSTRAINT_S): Add "Sua" support.
- 	2003-08-22  Eric Christopher  <echristo@redhat.com>
- 	* config/sh/sh4a.md: Update for chip errata.
- 	2003-08-07  Eric Christopher  <echristo@redhat.com>
- 	* config/sh/sh4a.md: New file. sh4a processor description.
- 	2003-07-08  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (TARGET_SWITCHES): Added 4al.  Adjust description
- 	of -m4a-nofpu.
- 	(SH_ASM_SPEC): Pass -dsp for -m4al, not -m4a-nofpu.
- 	* config/sh/t-sh (MULTILIB_MATCHES): Map -m4al to -m4a-nofpu.
- 	* doc/invoke.texi (SH Options): Document -m4al.
- 	2003-07-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (expand_block_move): Remove commented-out code
- 	checked in by mistake.
- 	(sh_cannot_change_mode_class): Enable SUBREGs to be used to select
- 	single elements from SFmode vectors.
- 	* config/sh/sh.md (fsca): Use VEC_CONCAT to initialize the output
- 	register.
- 	(sinsf2, cossf2, sindf2, cosdf2): Don't emit CLOBBER.
- 	2003-07-01  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (sh_fsca_sf2int, sh_fsca_df2int,
- 	sh_fsca_int2sf): Remove variable declarations.
- 	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
- 	sh_fsca_int2sf): New functions.
- 	(sh_fsca_sf2int_rtx, sh_fsca_df2int_rtx,
- 	sh_fsca_int2sf_rtx): New static variables.
- 	* config/sh/sh-protos.h (sh_fsca_sf2int, sh_fsca_df2int,
- 	sh_fsca_int2sf): Declare.
- 	* config/sh/sh.md: Adjust.
- 	* doc/invoke.texi (SH Options): Document new options.
- 	* config/sh/lib1funcs.asm (ic_invalidate): Remove SH4a forward
- 	compatibility from SH4 code.
- 	2003-06-27  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (expand_block_move): Don't emit POST_INC too
- 	early.
- 	(memory_movsrc_operand): Renamed to...
- 	(unaligned_load_operand): ... this.  Simplified.
- 	* config/sh/sh.h (PREDICATE_CODES): Adjust.
- 	* config/sh/sh.md (movua, extv, extzv): Likewise.  Change movua's
- 	input operand to SImode, and adjust the others.  Introduce
- 	post-increment by peephole.
- 	* config/sh/sh.c (expand_block_move): Give the target address the
- 	same mode as the temp reg.
- 	* config/sh/sh.c (expand_block_move): Use a temp reg for unaligned
- 	copying.
- 	2003-06-26  Alexandre Oliva  <aoliva@redhat.com>
- 	Introduce support for SH4a.
- 	* config/sh/lib1funcs.asm (ic_invalidate): Use icbi if
- 	__SH4A__.  Emit 4 4kb blocks and touch all of them otherwise.
- 	* config/sh/sh.c (sh_fsca_sf2int, sh_fsca_df2int,
- 	sh_fsca_int2sf): New.
- 	(sh_init_builtins): Initialize them.
- 	(print_operand): Support `d'.
- 	(expand_block_move): Use movua if src is misaligned.
- 	(memory_movsrc_operand): New.
- 	* config/sh/sh.h (TARGET_CPU_CPP_BUILTINS): Define __SH4A__
- 	and one of the SH4 macros.
- 	(SH4A_BIT, TARGET_SH4A_ARCH, TARGET_SH4A_FP,
- 	SELECT_SH4A_NOFPU, SELECT_SH4A_SINGLE_ONLY, SELECT_SH4A,
- 	SELECT_SH4A_SINGLE): New.
- 	(TARGET_NONE): Add SH4A_BIT.
- 	(TARGET_SWITCHES): Add 4a-single-only, 4a-single, 4a-nofpu and 4a.
- 	(SH_ASM_SPEC): Pass -dsp if -m4a-nofpu.
- 	(sh_fsca_sf2int, sh_fsca_df2int, sh_fsca_int2sf): Declare.
- 	(OVERRIDE_OPTIONS): Set cpu to CPU_SH4A when appropriate.
- 	(enum processor_type): Added PROCESSOR_SH4A.
- 	(PREDICATE_CODES): Add memory_movsrc_operand.
- 	* config/sh/sh.md: Removed unused variables.
- 	(attr cpu): Add sh4a.
- 	(attr type): Add movua, fsrra and fsca.
- 	(prefetch): New, for SH4.
- 	(ic_invalidate_line, ic_invalidate_line_sh4a): Use icbi.
- 	(toggle_sz): Set type to fp.
- 	(toggle_pr, rsqrtsf2, fsca, sinsf2, cossf2, sindf2, cosdf2): New.
- 	(movua, extv, extzv): New.
- 	* config/sh/t-sh: Add multilibs for 4a, 4a-nofpu, 4a-single
- 	and 4a-single-only.
- 
- 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-optimize.c (init_tree_optimization_passes): Schedule
- 	pass_may_alias right after the program is renamed into SSA.
- 	* tree-pass.h (PROP_alias): Define.
- 	* tree-outof-ssa.c (pass_del_ssa): Require PROP_alias.
- 	* tree-sra.c (pass_sra): Likewise.
- 	* tree-ssa-ccp.c (pass_ccp): Likewise.
- 	* tree-ssa-copyrename.c (pass_rename_ssa_ccp): Likewise.
- 	* tree-ssa-dce.c (pass_dce): Likewise.
- 	* tree-ssa-dom.c (pass_dominator): Likewise.
- 	* tree-ssa-dse.c (pass_dse): Likewise.
- 	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
- 	* tree-ssa-loop-ch.c (pass_ch): Likewise.
- 	* tree-ssa-phiopt.c (pass_phiopt): Likewise.
- 	* tree-ssa-pre.c (pass_pre): Likewise.
- 	* tree-tailcall.c (pass_tail_recursion): Likewise.
- 	* tree-ssa.c (pass_redundant_phi): Likewise.
- 	* tree-ssa-alias.c (aliases_computed_p): Remove.
- 	Update all users.
- 	(init_alias_info): Do not mark all type tags for renaming
- 	unconditionally.
- 	Clear may_aliases from every symbol.
- 	(setup_pointers_and_addressables): If a pointer has not been
- 	dereferenced and it had a type tag, clear it and mark the old
- 	tag for renaming.
- 
- 2004-07-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16705
- 	* tree-ssa-alias.c (create_global_var): Set DECL_EXTERNAL on
- 	.GLOBAL_VAR.
- 
- 2004-07-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr_real_1, case PARM_DECL): Remove obsolete error
- 	check.
- 
- 	* gimplify.c (maybe_with_size_expr): If already have WITH_SIZE_EXPR,
- 	don't make another one.
- 
- 	PR optimization/15077
- 	* function.h (struct function): Add field saved_static_chain_decl.
- 	Fix comment for static_chain_decl.
- 	* tree-inline.c (save_body): Add new arg and handle static_chain_decl.
- 	* tree-inline.h (save_body): Add new arg.
- 	* tree-optimize.c (tree_rest_of_compilation): Handle saving
- 	static_chain_decl.
- 
- 2004-07-27  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (is_gimple_addr_expr_arg_or_indirect): Remove.
- 	(gimplify_modify_expr, gimplify_addr_expr, gimplify_expr): Use
- 	is_gimple_addressable.
- 	* tree-gimple.c (is_gimple_addressable): Rename from
- 	is_gimple_addr_expr_arg; accept INDIRECT_REF.
- 	(is_gimple_lvalue): Don't test INDIRECT_REF directly.
- 	* tree-gimple.h, tree-sra.c, tree-ssa-loop-im.c: Update for
- 	rename to is_gimple_addressable.
- 
- 2004-07-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
- 
- 2004-07-27  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
- 	before rounding.
- 
- 2004-07-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* libgcc2.c: Change all conditionals testing
- 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
- 	* libgcc2.h: Likewise.
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
- 	TYPE_PRECISION of float80_type to 80.
- 	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
- 	of fpreg_type and float80_type to 80.
- 	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
- 	* config/m68k/netbsd-elf.h:
- 	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
- 	to evaluate to 80 whenever they would formerly have evaluated to 96.
- 	* config/i386/sco5.h: Remove unnecessary redefinition of
- 	LONG_DOUBLE_TYPE_SIZE.
- 	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
- 	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
- 	XFmode, with a bitsize of 80.  Update commentary.
- 	* config/ia64/ia64-modes.def: Likewise.
- 	* config/m68k/m68k-modes.def: Likewise.
- 
- 2004-07-27  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgexpand.c (tree_expand_cfg): Fix comment.
- 
- 	* calls.c (expand_call): Ignore rtx_equal_function_value_matters.
- 	* function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
- 	Remove.
- 	(prepare_function_start): Don't set rtx_equal_function_value_matters.
- 	* integrate.c (copy_rtx_and_substitute): Don't test for it.
- 	* passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
- 	Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
- 	here again.  Update leading comment.
- 	* rtl.c (rtx_equal_function_value_matters): Remove.
- 	(rtx_equal_p): Don't test for it.
- 	* simplify-rtx.c (simplify_binary_operation, simplify_subreg):
- 	Likewise.
- 
- 	* rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
- 	* rtl.c (note_insn_name): Likewise.
- 	* emit-rtl.c (remove_unnecessary_notes): Don't handle it.
- 	* final.c (final_scan_insn): Likewise.
- 
- 	* except.c (finish_eh_generation): Don't call cfg_cleanup from here.
- 	* passes.c (rest_of_handle_eh): Do it here.
- 
- 	* stmt.c (struct nesting): Remove struct nesting block member.
- 	(struct stmt_status): Remove x_block_start_count field.
- 	(current_block_start_count): Remove.
- 
- 2004-07-27  Brian Booth  <bbooth@redhat.com>
- 
- 	* tree-optimize.c (register_one_dump_file): Update condition that uses
- 	static_pass_number.
- 	(dup_pass_1): Replace with...
- 	(next_pass_1): This.
- 	(NEXT_PASS): Call next_pass_1.
- 	(DUP_PASS): Remove.
- 	(init_tree_optimization_passes): Remove uses of DUP_PASS.
- 	(execute_one_pass): Update condition that uses
- 	static_pass_number.
- 	* tree-pass.h (tree_opt_pass): Declare static_pass_number as a signed
- 	integer.
- 
- 2004-07-27  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/m32r/m32r.c: Include integrate.h in order to get the
- 	prototype for get_hard_reg_initial_val().
- 
- 	* config/m32r/m32r.md (m32rpipeline): Remove unused value "m32r"
- 	and tidy up indentation.
- 	(final_presence_set): Use absence_set instead, so that if there is
- 	nothing in the "o" pipe the "s" pipe can be scheduled.
- 
- 2004-07-27  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-alias.c (create_name_tags): Ignore pointers that
- 	don't have PT_VARS nor PT_MALLOC set.
- 	Clear name tag from pointers that have not been dereferenced.
- 	(set_pt_anything, set_pt_malloc): Forward declare.
- 	* tree-ssa-copy.c (may_propagate_copy): Compare alias sets,
- 	not type compatibility when determining if a pointer can be
- 	copy propagated.
- 
- 2004-07-27  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* expr.h (canonicalize_condition, get_condition): Add an int argument.
- 	* gcse.c (fis_get_condition): Reimplement using get_condition, leaving
- 	it to check whether the condition is still valid at the jump insn.
- 	* ifcvt.c (noce_get_condition): Likewise.
- 	(noce_get_alt_condition): Update call to canonicalize_condition.
- 	* loop-iv.c (simplify_using_initial_values): Update call to
- 	get_condition.  Remove FIXME.
- 	(check_simple_exit): Update call to get_condition.
- 	* loop-unswitch.c (may_unswitch_on): Likewise.
- 	* loop.c (check_dbra_loop): Likewise.
- 	(canonicalize_condition, get_condition): Add an argument to say whether
- 	the condition must still be valid at INSN.
- 	(get_condition_for_loop): Update call to get_condition.  Require that
- 	the condition be valid at INSN.
- 	* predict.c (estimate_probability): Update call to get_condition.
- 	Remove unused earliest parameter.
- 	(expected_value_to_br_prob): Update call to canonicalize_condition.
- 
- 2004-07-26  Eric Christopher  <echristo@redhat.com>
- 
- 	* tree-dfa.c (add_referenced_var): Register initializers of global
- 	variables.
- 
- 2004-07-26  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/i386/i386.c (function_arg): Always treat 8-
- 	and 16-byte wide vectors the same, even if MMX/SSE
- 	are disabled.
- 	(contains_128bit_aligned_vector_p): Add comment.
- 
- 2004-07-26  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* ra.h (enum node_type): Rename to:
- 	(enum ra_node_type).
- 	* ra-colorize.c: Likewise.
- 
- 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* cfgcleanup.c (try_simplify_condjump): Call update_forwarder_flag
- 	after simplifying the jump.
- 
- 2004-06-26  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (combine_pending_stack_adjustment_and_call): Make
- 	preferred_unit_stack_boundary argument unsigned.  Make
- 	unadjusted_alignment unsigned.
- 	(expand_call): Make preferred_stack_boundary and
- 	preferred_unit_stack_boundary variables unsigned.
- 	* function.c (assign_stack_local_1): Make alignment unsigned.
- 	* function.h (struct function): Make stack_alignment_needed,
- 	preferred_stack_boundary unsigned.
- 	* config/i386/i386.c (ix86_preferred_stack_boundary): Make unsigned.
- 	(ix86_compute_frame_layout): Make stack_alignment_needed,
- 	preferred_alignment variables unsigned.
- 	* config/i386/i386.h (ix86_preferred_stack_boundary): Make unsigned.
- 
- 2004-07-26  Tom Tromey  <tromey@redhat.com>
- 
- 	* tree.h: Fix typo in comment.
- 
- 2004-07-26  Daniel Jacobowitz  <dan@debian.org>
- 
- 	PR bootstrap/12804
- 	* ggc-zone.c (struct alloc_chunk): Remove attribute packed.
- 	(MAX_FREE_BIN_SIZE): Increase on 64-bit targets.
- 	(ggc_free): Remove incorrect freeing.
- 	(sweep_pages): Advance PP for large pages.  Fix indentation.
- 
- 2004-07-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR rtl-optimization/16643
- 	* cfglayout.h (cfg_layout_initialize): Add a flags parameter.
- 	* cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
- 	* basic-block.h (reorder_basic_blocks): Add a flags parameter.
- 	* cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
- 	(partition_hot_cold_basic_blocks): Pass 0 to cfg_layout_initialize.
- 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
- 	* rtl.h (tracer): Add a flags parameter.
- 	* tracer.c (tracer): Pass it to cfg_layout_initialise.
- 	* passes.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
- 	(rest_of_handle_reorder_blocks): Update calls to tracer and
- 	reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
- 	(rest_of_handle_tracer): Pass 0 to tracer.
- 	(rest_of_handle_loop2): Pass 0 to cfg_layout_initialize.
- 
- 2004-07-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/16239
- 	* config/rs6000/rs6000.md (movdi_internal64): Further disparage
- 	f->f.
- 
- 2004-07-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (BINFO_BASE_ACCESSES): Accesses are a VEC(tree).
- 	(BINFO_BASE_ACCESS): Adjust.
- 	(BINFO_BASE_ACCESS_APPEND): New.
- 	(struct tree_binfo): Make base_accesses a VEC(tree) pointer.
- 	* dbxout.c (dbxout_type): Adjust binfo access accessing.
- 	* dwarf2out.c (gen_member_die): Likewise.
- 	* tree-dump.c (deque_and_dump): Likewise.
- 
- 2004-07-26  Falk Hueffner  <falk@debian.org>
- 
- 	* config/alpha/alpha.c (alpha_rtx_cost_data): Tweak int_div
- 	costs.
- 
- 2004-07-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (output_fp_compare): Use ffreep to pop top
- 	value off of the stack if TARGET_USE_FFREEP.
- 
- 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* gengtype.c (oprintf): Replace xrealloc () with XRESIZEVEC ().
- 	* gengtype-yacc.y: Likewise.  Replace free() with XDELETE ().
- 	* c-typeck.c (PUSH_SPELLING): Remove redundant NULL-pointer
- 	check on invocation of XRESIZEVEC ().
- 
- 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.c (disable_builtin_function): Rename variable n to
- 	new_disabled_builtin.
- 	* c-decl.c (duplicate_decls): Rename parameter decl to new_decl.
- 	Rename local variable old to old_decl.
- 	* gensupport.c (shift_output_template): Rename parameter old to src.
- 	* simplify-rtx.c (simplify_replace_rtx): Rename parameter oldx to
- 	old_rtx and newx to new_rtx.
- 
- 2004-07-26  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* Makefile.in (C_PRAGMA_H): New variable to track dependencies
- 	of c-pragma.h.
- 	* c-pragma.h (c_lex, c_lex_with_flags): Change returntype to
- 	enum cpp_ttype.
- 	* c-lex.c: Likewise.
- 
- 2004-07-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (constant_boolean_node): Make extern.
- 	(make_range): Wrap long lines.
- 	(fold_cond_expr_with_comparison): Remove unnecessary call to
- 	pedantic_non_lvalue.  Add missing calls to fold_convert.
- 	(fold_truthop): Add missing calls to fold_convert.
- 	(fold): Likewise.
- 	* tree.h (constant_boolean_node): Add prototype here.
- 	* builtins.c (expand_builtin_strncmp): Add missing calls to
- 	fold_convert.
- 	* tree-ssa-dom.c (record_equivalences_from_incoming_edge):
- 	Call fold_convert and constant_boolean_node to correct types.
- 	* tree-ssa-forwprop.c (substitute_single_use_vars): Add
- 	missing call to fold_convert to correct types.
- 
- 2004-07-26  Niall Douglas  <s_fsfeurope2@nedprod.com>
- 	    Brian Ryner  <bryner@brianryner.com>
- 
- 	PR c++/9283
- 	PR c++/15000
- 	* c-common.c (c_common_attribute_table): Allow
- 	handle_visibility_attribute to be called for types.
- 	(handle_visibility_attribute) When given a type, set the visibility
- 	bits on the TYPE_NAME.  When given a decl, don't set no_add_attrs
- 	so that we can check later whether the attribute was present. Added
- 	warning if attribute applied to non class type.
- 	* c-decl.c (diagnose_mismatched_decls): Updated rules for merging
- 	decls and checking that they are consistent.
- 	* common.opt: Added -fvisibility.
- 	* c.opt, c-opts.c: Added -fvisibility-inlines-hidden.
- 	* c-pragma.h, c-pragma.c: Added handle_pragma_visibility().
- 	* flags.h, tree.h: Added assorted support defines for overall patch
- 	* opts.c: Added parsing support for -fvisibility.
- 	* tree.c (build_decl): Set visibility for all decls to be whatever
- 	is in force at that time.
- 	* varasm.c (default_binds_local_p_1): Reworked logic determining
- 	when to make a symbol locally bound.
- 	* doc/invoke.texi: Added documentation for -fvisibility and
- 	-fvisibility-inlines-hidden.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
- 	* c-common.c: Add missing casts from void * to other types.
- 	* c-decl.c: Likewise.
- 	* c-format.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* c-typeck.c: Likewise.
- 	* defaults.h: Likewise.
- 	* genconstants.c: Likewise.
- 	* gengtype-lex.l: Likewise.
- 	* genmodes.c: Likewise.
- 	* read-rtl.c: Likewise.
- 	* rtl.c: Likewise.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* bitmap.c: Use type-safe memory allocation macros from libiberty.
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-lang.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* c-parse.in: Likewise.
- 	* c-typeck.c: Likewise.
- 	* genconditions.c: Likewise.
- 	* gengtype-lex.l: Likewise.
- 	* gengtype-yacc.y: Likewise.
- 	* gengtype.c: Likewise.
- 	* genmodes.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* read-rtl.c: Likewise.
- 	* read-rtl.c (read_constants): Use INSERT instead of TRUE in call to
- 	htab_find_slot().
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-decl.c (groktypename, groktypename_in_param_context): Rename
- 	variable typename to type_name.
- 	* c-lex.c (interpret_float): Likewise.
- 
- 2004-07-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* convert.c (convert_to_real, convert_to_integer,
- 	convert_to_complex): Replace calls to build with calls to buildN.
- 	* coverage.c (tree_coverage_counter_ref): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
- 	* emit-rtl.c (component_ref_for_mem_expr,
- 	set_mem_attributes_minus_bitpos): Likewise.
- 	* explow.c (update_nonlocal_goto_save_area): Likewise.
- 	* expmed.c (expand_shift, make_tree, const_mult_add_overflow_p,
- 	expand_mult_add): Likewise.
- 	* expr.c (emit_block_move_via_libcall, clear_storage_via_libcall,
- 	store_constructor, get_inner_reference, expand_expr_real_1,
- 	try_casesi, try_tablejump): Likewise.
- 	* function.c (expand_function_start): Likewise.
- 	* stmt.c (emit_case_bit_tests, expand_end_case_type,
- 	node_has_low_bound, node_has_high_bound, emit_case_nodes): Likewise.
- 	* stor-layout.c (place_union_field, layout_type): Likewise.
- 	* tree.c (substitute_in_expr, tree_fold_gcd): Likewise.
- 	* varasm.c (copy_constant): Likewise.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.c: Rename all identifiers named `new'.
- 	* c-decl.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* c-common.c (disable_builtin_function): Replace a call to xmalloc()
- 	with XNEW().
- 	* gensupport.c (alter_output_for_insn): Replace two calls to xmalloc()
- 	with XNEWVEC().
- 
- 2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/15360
- 	* c-decl.c (start_decl): Do not set DECL_EXTERNAL for initialized
- 	declarations until after calling pushdecl.
- 	(grokdeclarator): Set DECL_EXTERNAL for variables based on use of
- 	"extern" and not on whether the declaration is initialized.
- 
- 2004-07-25  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
- 	(sparc-*-solaris2*): Include sol2.o and sol2-protos.h.
- 	* config/sol2-c.c: Include "tm.h", "tm_p.h", "toplev.h",
- 	"cpplib.h", "c-pragma.h", "c-common.h".
- 	(solaris_pragma_align, solaris_pragma_init, solaris_pragma_fini)
- 	(solaris_register_pragmas): New functions.
- 	* config/sol2-protos.h: New file.
- 	* config/sol2.c: New file.
- 	* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE, ASM_DECLARE_FUNCTION_SIZE)
- 	(REGISTER_TARGET_PRAGMAS): New macros.
- 	(solaris_pending_aligns, solaris_pending_inits)
- 	(solaris_pending_finis): New variables.
- 	* config/t-sol2 (sol2-c.o): Update dependencies.
- 	(sol2.o): New rule.
- 	* config/i386/i386.c (TARGET_INSERT_ATTRIBUTES): Define in terms of
- 	SUBTARGET_INSERT_ATTRIBUTES.
- 	(ix86_attribute_table): Include SUBTARGET_ATTRIBUTE_TABLE.
- 	* config/i386/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
- 	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
- 	* config/sparc/elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
- 	* config/sparc/sp64-elf.h (ASM_DECLARE_FUNCTION_SIZE): Redefine.
- 	* config/sparc/sol2.h (SUBTARGET_INSERT_ATTRIBUTES)
- 	(SUBTARGET_ATTRIBUTE_TABLE, ASM_OUTPUT_CALL): Define.
- 	* config/sparc/sparc.c (sparc_attribute_table): New.
- 	(TARGET_INSERT_ATTRIBUTES): Define in terms of
- 	SUBTARGET_INSERT_ATTRIBUTES.
- 	(TARGET_ATTRIBUTE_TABLE): Define if SUBTARGET_ATTRIBUTE_TABLE
- 	is defined.
- 	* doc/extend.texi (Solaris Pragmas): New section.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.c: Rename all identifiers named `class' to `cl'.
- 	* c-common.h: Likewise.
- 	* c-parse.in: Likewise.
- 	* c-typeck.c: Likewise.
- 	* genmodes.c: Likewise.
- 	* real.c: Likewise.
- 	* real.h: Likewise.
- 	* recog.c: Likewise.
- 	* recog.h: Likewise.
- 	* regrename.c: Likewise.
- 	* tree.h: Likewise.
- 	* c-common.c (builtin_function_2): Change type of 5th parameter from
- 	int to enum built_in_function. Change type of 8th parameter from int
- 	to bool.
- 	* c-decl (builtin_function): Replace call to ggc_alloc_cleared ()
- 	with GGC_CNEW().
- 	* c-typeck.c (convert_arguments): Change type of formal_prec from
- 	int to unsigned int.
- 	* genmodes.c (blank_mode): Make a few negative constants unsigned.
- 	(complete_all_modes, calc_wider_mode, emit_insn_modes_h,
- 	emit_mode_name, emit_mode_class, emit_mode_precision, emit_mode_size,
- 	emit_mode_nunits, emit_mode_wider, emit_mode_mask, emit_mode_inner,
- 	emit_mode_base_align, emit_class_narrowest_mode): Pass an integer
- 	iterator to for_all_modes () instead of an enum because enums can't
- 	be incremented in C++.
- 
- 
- 2004-07-25  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* regmove.c (optimize_reg_copy_1): Don't try to replace call-used
- 	hard registers.
- 
- 2004-07-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-ssa-operands.c (get_stmt_operands, get_expr_operands):
- 	Handle ARRAY_RANGE_REF like ARRAY_REF.
- 
- 2004-07-25  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (digest_init): Don't allow arrays of signed or
- 	unsigned variants of wchar_t to be initialized by wide string
- 	constants.  Do allow arrays of enumerated types compatible with
- 	wchar_t to be initialized by wide string constants.  Refine tests
- 	distinguishing wide and narrow strings and arrays.  Give specific
- 	error for arrays of other integer types initialized by string
- 	constants.
- 	(output_init_element, process_init_element): Check for
- 	INTEGRAL_TYPE_P rather than just for INTEGER_TYPE when
- 	initializing with string constants.
- 
- 2004-07-25  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (start_function): Set DECL_ARTIFICIAL and DECL_IGNORED_P
- 	on the RESULT_DECL.
- 	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
- 	* integrate.c (copy_decl_for_inlining): Copy DECL_ARTIFICIAL and
- 	DECL_IGNORED_P to new decl.
- 
- 2004-07-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ia64/ia64.c (general_xfmode_operand)
- 	(destination_xfmode_operand): Delete.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Remove them.
- 	* config/ia64/ia64.md (*movxf_internal): Use general_operand
- 	and destination_operand.
- 
- 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
- 
- 	* config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
- 	(EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
- 
- 2004-07-24  Alexander Kabaev  <kan@freebsd.org>
- 	    Zack Weinberg  <zack@codesourcery.com
- 
- 	PR 16684
- 	* c-decl.c (diagnose_mismatched_decls): Don't issue a
- 	redundant-declaration warning the first time a builtin is
- 	declared explicitly.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* tree.h (staticp): Change return type to bool.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.c (c_staticp): Last episode of the staticp saga.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.h (c_staticp): Change return type from int to bool.
- 	* tree.c (staticp): Likewise.
- 	* langhooks.h (staticp): Likewise.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* langhooks-def.h (lhd_staticp): Change return type from int to
- 	bool in prototype to match definition.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* system.h (bool, true, false): Don't redefine as preprocessor macros
- 	in C++.
- 
- 2004-07-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (init_expmed): A signed modulus by a power of two is
- 	considered cheap if its less than or equal to four instructions.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* ggc.h (GGC_NEW, GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR,
- 	GGC_CNEWVAR): New macros.
- 
- 2004-07-25  Bernardo Innocenti  <bernie@develer.com>
- 
- 	* c-common.c: Convert ATTRIBUTE_UNUSED to ARG_UNUSED in parameter
- 	lists.
- 	* c-decl.c: Likewise.
- 	* c-format.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* c-typeck.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* genconditions.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genflags.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* ggc-none.c: Likewise.
- 	* langhooks.c: Likewise.
- 	* statistics.h: Likewise.
- 	* stub-objc.c: Likewise.
- 	* java/decl.c: Likewise.
- 
- 2004-07-24  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.c (output_scc_di): Fix coding style.
- 	(symbolic_operand): Fix prototype.
- 	* config/m68k/m68k.h (PREDICATE_CODES): Add symbolic_operand.
- 	* config/m68k/m68k.md: Add constants for registers a0 and sp and
- 	use them, change from the "{...}" syntax to the simpler {...}
- 	syntax.
- 	(*cfv4_extendqisi2): Fix destination predicate.
- 	* config/m68k/m68k-protos.h: Remove various declarations also
- 	generated via PREDICATE_CODES.
- 
- 2004-07-23  Mike Stump  <mrs@apple.com>
- 
- 	* c-typeck.c (convert_for_assignment): Tightened up pointer
- 	converstions that differ in signedness.
- 
- 2004-07-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genmodes.c (make_vector_modes): Mark with ATTRIBUTE_UNUSED.
- 
- 2004-07-23  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.def (VIEW_CONVERT_EXPR): Change to class 'r'.
- 	* tree-ssa-operands.c (get_expr_operands, case VIEW_CONVERT_EXPR): New.
- 
- 	* gimplify.c (gimplify_compound_lval): Check for no handled
- 	operations, rather than checking for explicit list of nodes.
- 	(is_gimple_addr_expr_arg_or_indirect): New function.
- 	(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
- 	redundant setting of TREE_INVARIANT.
- 	(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
- 	* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
- 
- 2004-07-23  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16688
- 	PR tree-optimization/16689
- 	* tree-ssa-alias.c (setup_pointers_and_addressables): Remove
- 	unnecessary initialization of 'tag'.
- 	(get_tmt_for): Check that the new type tag has the same alias
- 	set as the pointed-to type.
- 	(group_aliases): Only regular variables need to be removed
- 	from the alias set of a name tag.
- 	* tree-ssa-copy.c (may_propagate_copy): Do not allow copy
- 	propagation if the two types are not compatible.
- 	(merge_alias_info): Rename from replace_ssa_names_ann.
- 	Add more checking.
- 	(replace_exp_1): If both arguments are SSA_NAMEs, check that
- 	the propagation can be done.
- 	Only call merge_alias_info on pointers.
- 	(propagate_value): Likewise.
- 	* tree-ssa-copyrename.c: Include langhooks.h.
- 	(copy_rename_partition_coalesce): Call replace_ssa_name_symbol
- 	to do the merging.
- 	Do not coalesce variables with incompatible types.
- 	(rename_ssa_copies): Call replace_ssa_name_symbol.
- 	* tree-ssa.c (verify_ssa_name): Verify that the SSA_NAME has
- 	the same type as the underlying _DECL.
- 	* tree-ssanames.c (replace_ssa_name_symbol): New function.
- 	* tree.h (replace_ssa_name_symbol): Declare.
- 
- 2004-07-23  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/16277
- 	* gimplify.c (gimplify_cond_expr): Gimplify TARGET to a min_lval;
- 	unshare it properly.
- 	(gimplify_modify_expr_rhs): Push assignment from a conditional into
- 	the conditional for all non-register types.
- 
- 2004-07-23  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr_real_1): Don't handle non-local variables.
- 	* expr.h (fix_lexical_addr): Remove.
- 	* function.c (NEED_SEPARATE_AP): Remove.
- 	(fix_lexical_addr): Remove.
- 	* tree-alias-common.c (get_alias_var_decl): Check TREE_STATIC,
- 	not null decl_function_context.
- 	(create_alias_vars): Likewise.
- 	* tree-cfg.c (make_ctrl_stmt_edges): Don't check for non-local labels.
- 	(simple_goto_p): Likewise.
- 	* tree-dfa.c (add_referenced_var): Don't check for non-local variables.
- 	* tree-ssa-ccp.c (get_default_value): Likewise.
- 	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
- 	* tree.c (needs_to_live_in_memory): Likewise.
- 	* tree-flow-inline.h (may_be_aliased): Move...
- 	* tree-ssa-alias.c (may_be_aliased): ... here.  Enhance check for
- 	when TREE_STATIC variables may be addressable.
- 
- 2004-07-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* Makefile.in (site.exp): Add HOSTCC and HOSTCFLAGS to site.exp.
- 
- 2004-07-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* print-rtl.c (print_rtx <case 'b'>): Don't attempt to print
- 	bitmap contents if GENERATOR_FILE is defined.
- 	* Makefile.in (BUILD_RTL): Remove $(BUILD_PREFIX)bitmap.o.
- 	($(BUILD_PREFIX_1)bitmap.o): Delete rule.
- 
- 2004-07-23  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (start_function): Form composite type of function types
- 	rather than copying type from previous prototype declaration.
- 
- 2004-07-23  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/altivec.h (vec_lvewx, vec_lvehx, vec_lvwbx): Remove
- 	the const qualifier for the second argument in the C++ functions.
- 
- 	* config/rs6000/altivec.h (vec_stvewx, vec_stvehx, vec_stvebx): Use
- 	specific pointer types.
- 
- 	* config/rs6000/altivec.h (vec_vadduwm): (vec_vadduwm, vec_vadduhm,
- 	vec_vaddubm, vec_vsubuwm, vec_vsubuhm, vec_vsububm): Fix types used
- 	for vector bool and/or vector pixel, add C++ and C missing support.
- 	(vec_vaddsws, vec_vaddshs, vec_vaddsbs, vec_vmaxsw, vec_vmaxsh,
- 	vec_vmaxsb, vec_vmrghw, vec_vmrghh, vec_vmrghb, vec_vmrglw, vec_vmrglh,
- 	vec_vmrglb, vec_vminsw, vec_vminsh, vec_vminsb, vec_vpkuwum,
- 	vec_vpkuhum, vec_vspltw, vec_vsplth, vec_vspltb, vec_vsubsws,
- 	vec_vsubshs, vec_vsubsbs, vec_vupklsh, vec_vupkhsh, vec_vupklsb): Add
- 	missing C++ and C support for vector bool and/or vector pixel.
- 	(vec_vadduws, vec_vadduhs, vec_vaddubs, vec_vcmpeqfp, vec_vcmpequw,
- 	vec_vcmpequh, vec_vcmpequb, vec_vcmpgtfp, vec_vcmpgtsw, vec_vcmpgtuw,
- 	vec_vcmpgtsh, vec_vcmpgtuh, vec_vcmpgtsb, vec_vcmpgtub, vec_vmaxuw,
- 	vec_vmaxuh, vec_vmaxub, vec_vminuw, vec_vminuh, vec_vminub,
- 	vec_vsubuws, vec_vsubuhs, vec_vsububs, vec_vupkhpx, vec_vupklpx): Fix
- 	C++ and C types used for vector bool and/or vector pixel.
- 	(vec_st, vec_stl): Add C++ support for vector pixel.
- 	(vec_unpackh, vec_unpackl, vec_any_ge): Fix C++ support for vector bool.
- 	(vec_all_ne): Add C++ support for vector pixel.
- 
- 	* config/rs6000/altivec.h (vec_vcmpgtsh): Fix C++ function name.
- 	(vec_vmulesb): Add missing C++ function.
- 	(vec_perm): Fix type of third argument in C++ function.
- 	(vec_vsum4shs): Fix C++ function name.
- 	(vec_any_ge): Remove C++ functions for unsupported arg combinations.
- 	(vec_vcmpgtsw, vec_vcmpgtuw, vec_minsb, vec_vmsummbm): Fix the
- 	argument passed to the error handler in C macro.
- 	(vec_nmsub): Remove extra parens around argument names in C macro.
- 	(vec_packpx): Add missing parens in C macro.
- 
- 2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* machmode.def: Remove vector modes.
- 	* config/alpha/alpha-modes.def: Add supported vector modes.
- 	* config/arm/arm-modes.def: Likewise.
- 	* config/frv/frv-modes.def: Likewise.
- 	* config/i386/i386-modes.def: Likewise.
- 	* config/rs6000/rs6000-modes.def: Likewise.
- 	* config/sh/sh-modes.def: Likewise.
- 
- 2004-07-23  Matthias Klose  <doko@debian.org>
- 
- 	* intl.c (gcc_init_libintl): Use PACKAGE for the text domain.
- 	* configure.ac: Add AC_DEFINE_UNQUOTED for PACKAGE.
- 	* config.h: Regenerate.
- 	* configure: Likewise.
- 
- 2004-07-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Set SYMBOL_FLAG_LOCAL on
- 	generated SYMBOL_REFs for labels.
- 	* config/darwin-protos.h (machopic_validate_stub_or_non_lazy_ptr):
- 	Change prototype.
- 	(machopic_stub_name): Remove.
- 	(machopic_indirection_name): New function.
- 	(machopic_mcount_stub_name): Likewise.
- 	(machopic_classify_name): Remove.
- 	(machopic_function_base_sym): New function.
- 	(machpoic_classify_symbol): Likewise.
- 	(machopic_classify_ident): Remove.
- 	(machopic_define_ident): Likewise.
- 	(machopic_define_name): Likewise.
- 	(machopic_name_defined_p): Likewise.
- 	(machopic_ident_defined_p): Likewise.
- 	(darwin_strip_name_encoding): Likewise.
- 	(machopic_define_symbol): New function.
- 	* config/darwin.c (hashtab.h): Include.
- 	(machopic_defined_list): Remove.
- 	(machopic_classify_ident): Likewise.
- 	(machopic_classify_name): Likewise.
- 	(machopic_ident_defined_p): Likewise.
- 	(machopic_define_ident): Likewise.
- 	(machopic_define_name): Likewise.
- 	(machopic_symbol_defined_p): New function.
- 	(machopic_classify_symbol): Likewise.
- 	(machopic_data_defined_p): Use machopic_classify_symbol.
- 	(machopic_define_symbol): New function.
- 	(machopic_function_base_sym): New function.
- 	(machopic_non_lazy_pointers): Remove.
- 	(machopic_non_lazy_ptr_name): Likewise.
- 	(machopic_stubs): Likewise.
- 	(machopic_stub_name): Likewise.
- 	(NON_LAZY_POINTER_SUFFIX): New macro.
- 	(STUB_SUFFIX): Likewise.
- 	(machopic_indirection): New structure.
- 	(machopic_indirections): New variable.
- 	(machopic_indirection_hash): New function.
- 	(machopic_indirection_eq): Likewise.
- 	(machopic_indirection_name): Likewise.
- 	(machopic_mcount_stub_name): New function.
- 	(machopic_validate_stub_or_non_lazy_pointer): Reimplement to use
- 	hash table.
- 	(machopic_indirect_data_reference): Rework to use new functions.
- 	(machopic_indirect_call_target): Likewise.
- 	(machopic_legitimize_pic_address): Likewise.
- 	(machopic_output_indirection): New function.
- 	(machopic_finish): Use it.
- 	(machopic_operand_p): Rework to use new functions.
- 	(darwin_encode_seciton_info): Use SYMBOL_REF_FLAGS.
- 	(darwin_strip_name_encoding): Remove.
- 	(update_non_lazy_ptrs): Remove.
- 	(update_stubs): Likewise.
- 	(darwin_non_lazy_pcrel): Use new functions.
- 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(ASM_OUTPUT_LABELREF): Likewise.
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
- 	(MACHO_SYMBOL_FLAG_VARIABLE): New macro.
- 	(MACHO_SYMBOL_FLAG_DEFINED): Likewise.
- 	(TARGET_STRIP_NAME_ENCODING): Do not use
- 	darwin_strip_name_encoding.
- 	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Do not use
- 	darwin_strip_name_encoding.
- 	* config/i386/darwin.h (FUNCTION_PROFILER): Use
- 	machopic_mcount_stub_name.
- 	* config/i386/i386.c (x86_output_mi_thunk): Use
- 	machopic_indirection_name, not machopic_stub_name.
- 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Use
- 	machopic_function_base_sym.
- 	(print_operand): Use machopic_classify_symbol.
- 	(rs6000_emit_prologue): Use machopic_function_base_sym.
- 	(output_profile_hook): Do not use machopic_stub_name.
- 	(macho_branch_isalnds): Do not use darwin_strip_name_encoding.
- 
- 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/7284
- 	* fold-const.c (extract_muldiv_1): Do not treat signed left shift
- 	as multiplication.
- 
- 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/implement-c.texi: New file.
- 	* doc/extend.texi (C Implementation): Move to there.
- 	* doc/gcc.texi: Include implement-c.texi.
- 	* Makefile.in (TEXI_GCC_FILES): Add implement-c.texi.
- 
- 2004-07-22  Jason Merrill  <jason@redhat.com>
- 
- 	* integrate.c (copy_decl_for_inlining): Remove invisible reference
- 	handling.
- 	* tree-inline.c (setup_one_parameter): Likewise.
- 
- 2004-07-22  Brian Booth  <bbooth@redhat.com>
- 
- 	* tree-ssa-ccp.c (latticevalue): Add UNKNOWN_VAL.
- 	(substitute_and_fold): Propigate into VUSE operands when possible.
- 	(visit_phi_node): Handle UNKNOWN_VAL latticevalue.
- 	(cp_lattice_meet): Handle merging of latticevalues when
- 	UNKNOWN_VAL is present.
- 	(visit_stmt): Visit assignments with V_MUST_DEFs.
- 	(visit_assignment): Gather ccp information for V_MUST_DEF operands.
- 	(ccp_fold): Deal with RHS' that are constant and virtual.
- 	(evaluate_stmt): Handle UNKNOWN_VAL likely values.
- 	(dump_lattice_value): Dump UNKNOWN_VAL latticevalues.
- 	(initialize): Mark statements with V_MUST_DEFs as VARYING only if the
- 	V_MUST_DEF operand is VARYING. Fix comment and include VOPS when
- 	computing immediate uses.
- 	(set_lattice_value): Disallow a UNKNOWN_VAL->UNDEFINED state
- 	transition.
- 	(replace_vuse_in): New function.
- 	(likely_value): Add check of vuse operands.
- 	(get_default_value): Set the default value of virtually defined
- 	variables to UKNOWN_VAL instead of VARYING.
- 
- 2004-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (emit_push_insn): Don't use set_mem_attributes.
- 
- 2004-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-live.c (create_ssa_var_map): Avoid defined-but-not-used
- 	variables due to conditional compilation.
- 
- 2004-07-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-into-ssa.c (set_livein_block): Fix typo in comment.
- 	(rewrite_ssa_into_ssa): Start iterating over SSA names at 1.
- 	Release SSA names that have been re-renamed.
- 	* tree-phinodes.c (make_phi_node): Set same TREE_TYPE as the
- 	variable.
- 	* tree-ssa-alias.c (init_alias_info): If aliases have been
- 	computed before, clear existing alias information.
- 	(create_name_tags): Do no fixup PT_ANYTHING pointers.
- 	If the new name tag for a pointer is different than the one it
- 	had before, mark the old tag for renaming.
- 	(replace_may_alias): New function.
- 	(group_aliases): Call it.
- 	(setup_pointers_and_addressables): Always call get_tmt_for.
- 	(maybe_create_global_var): Don't create .GLOBAL_VAR more than
- 	once.
- 	(set_pt_anything): New local function.
- 	(set_pt_malloc): New local function.
- 	(merge_pointed_to_info): Don't merge pointed-to variables from
- 	the original pointer if the destination is pointing to an
- 	unknown location.
- 	(add_pointed_to_expr): Call set_pt_anything and set_pt_malloc.
- 	(add_pointed_to_var): Do not add a variable to the points-to
- 	set if the pointer is already pointing to anywhere.
- 	(collect_points_to_info_r): If the defining statement is a PHI
- 	node, only merge pointed-to information if the argument has
- 	already been visited.
- 	(get_tmt_for): Only create a new tag if the pointer didn't
- 	have one already.
- 	(dump_alias_info): Emit more information.
- 	(dump_points_to_info_for): Likewise.
- 	* tree-ssa-dom.c (redirect_edges_and_update_ssa_graph): Don't
- 	try to get the annotation of an SSA_NAME.
- 	* tree-ssa-operands.c (add_stmt_operand): Only check for empty
- 	alias sets when checking is enabled.
- 	* tree-ssa-pre.c (need_eh_cleanup): New local variable.
- 	(eliminate): Mark basic blocks that will need
- 	EH information cleaned up.
- 	(init_pre): Split ENTRY_BLOCK->0 if block 0 has more than one
- 	predecessor.
- 	Initialize need_eh_cleanup.
- 	(fini_pre): Call tree_purge_all_dead_eh_edges and
- 	cleanup_tree_cfg if needed.
- 	Free need_eh_cleanup.
- 	* tree-ssa.c (verify_ssa_name): New function.
- 	(verify_def): Call it.
- 	Re-arrange to avoid printing too many error messages.
- 	(verify_use): Likewise.
- 	(verify_phi_args): Likewise.
- 	(verify_flow_insensitive_alias_info): New function.
- 	(verify_flow_sensitive_alias_info): New function.
- 	(verify_alias_info): New function.
- 	(verify_ssa): Call verify_alias_info.
- 	Clear TREE_VISITED on all the SSA_NAMEs before scanning the
- 	program.
- 	Re-arrange to avoid printing too many error messages.
- 	* tree-ssanames.c (make_ssa_name): Clear
- 	SSA_NAME_IN_FREE_LIST.
- 	(release_ssa_name): Never release a default definition.
- 	(release_defs): New function.
- 	* tree.h: Declare it.
- 	* tree-ssa-dce.c (remove_dead_stmt): Call it.
- 
- 2004-07-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa.c (walk_use_def_chains_1): Add new argument IS_DFS.
- 	If true, do a depth-first search.  Do a breadht-first search,
- 	otherwise.
- 	(walk_use_def_chains): Add new argument IS_DFS.
- 	Update all users.
- 	* tree-flow.h (walk_use_def_chains): Update prototype.
- 
- 2004-07-22  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.md: Tweak formatting.
- 	(asrandb, asrandw, lsrandb, lsrandw, moversideqi, movemsideqi)
- 	(mover2side, moverside, movemside, movei, op3, andu): Replace
- 	live define_peephole:s with define_peephole2 near-equivalents.
- 	Delete the rest.
- 	("*mov_sidesisf_biap"): Rename from "*mov_sidesi_biap".  Match all
- 	word-size modes.
- 	("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
- 	Similar for "*mov_sidesi", "*mov_sidesi_biap_mem" and
- 	"*mov_sidesi_mem" respectively.
- 
- 2004-07-22  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-cfg.c (gimplify_val): Move from tree-complex.c.
- 	(gimplify_build1): Move from tree-complex.c do_unop.
- 	(gimplify_build2): Move from tree-complex.c do_binop.
- 	(gimplify_build3): New.
- 	* tree-complex.c (gimplify_val, do_unop, do_binop): Remove.
- 	Adjust throughout to call the functions above.
- 	* tree-flow.h: Declare the functions above.
- 	* tree-nested.c (gimplify_val): Rename to...
- 	(tsi_gimplify_val): ... this.
- 
- 	* Makefile.in (tree_complex.o): Update dependencies.
- 	(stor-layout.o): Depend on regs.h.
- 	* c-common.c (handle_vector_size_attribute): Update for
- 	vector types without corresponding vector modes.
- 	* expr.c (expand_expr): Treat VECTOR_CST's like CONSTRUCTORS if
- 	a corresponding vector mode is not available.
- 	* print-tree.c (print_node): Print nunits for vector types
- 	* regclass.c (have_regs_of_mode): New.
- 	(init_reg_sets_1): Initialize it and use it instead
- 	of allocatable_regs_of_mode.
- 	* regs.h (have_regs_of_mode): Declare it.
- 	* stor-layout.c (layout_type): Pick a mode for vector types.
- 	* tree-complex.c (build_word_mode_vector_type, tree_vec_extract,
- 	build_replicated_const, do_unop, do_binop, do_plus_minus,
- 	do_negate, expand_vector_piecewise, expand_vector_parallel,
- 	expand_vector_addition, expand_vector_operations_1,
- 	expand_vector_operations, tree_lower_operations,
- 	pass_lower_vector_ssa, pass_pre_expand): New.
- 	(expand_complex_operations, pass_lower_complex): Remove.
- 	* tree-optimize.c (init_tree_optimization_passes): Adjust
- 	pass ordering for changes in tree-complex.c.
- 	* tree-pass.h: Declare new passes.
- 	* tree.c (finish_vector_type): Remove.
- 	(make_vector_type): New.
- 	(build_vector_type_for_mode, build_vector_type): Rewritten.
- 	* tree.def (VECTOR_TYPE): Document where the number of
- 	subparts is stored.
- 	* tree.h (TYPE_VECTOR_SUBPARTS): Use TYPE_PRECISION field.
- 	(make_vector): Remove declaration.
- 
- 2004-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* gimple-low.c (expand_var_p): Don't look at TREE_ADDRESSABLE,
- 	TREE_THIS_VOLATILE, may_aliases, or optimization level.
- 	(remove_useless_vars): Dump debugging info.
- 	(expand_used_vars): Move ...
- 	* cfgexpand.c (expand_used_vars): ... here.  Make static.
- 	* tree-flow-inline.h (set_is_used): New.
- 	(set_default_def): Use get_var_ann.
- 	* tree-flow.h: Update decls.
- 	* tree-ssa-live.c (mark_all_vars_used_1, mark_all_vars_used): New.
- 	(create_ssa_var_map): Use it.
- 	* tree-ssa.c (set_is_used): Remove.
- 
- 2004-07-22  Ben Elliston  <bje@au.ibm.com>
- 
- 	* gdbinit.in: Set a breakpoint on internal_error.
- 
- 2004-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgexpand.c (expand_gimple_tailcall): Fix case where we need
- 	to create a new basic block.
- 
- 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/15052
- 	* c-decl.c (grokdeclarator): Only pedwarn for qualified void
- 	return type on function definitions.  Move other warnings for
- 	qualified return type to -Wreturn-type.  Do not condition any such
- 	warnings on -pedantic.  Update comments.
- 	(start_function): Only copy function type from previous prototype
- 	declaration if return types are compatible.
- 	* c-typeck.c (function_types_compatible_p): Don't condition
- 	warning for incompatibility of volatile qualifiers on the return
- 	type on -pedantic.  Update comment.
- 	* doc/invoke.texi (-Wreturn-type, -Wextra): Update.
- 
- 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (set_init_index): Require designator to be of integer
- 	type.
- 
- 2004-07-22  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/11250
- 	* c-parse.in (init): Change to exprtype.
- 	(primary): Set original_code for STRING to STRING_CST.
- 	Call maybe_warn_string_init for compound literals.
- 	(initdcl, notype_initdcl): Call maybe_warn_string_init.
- 	(initval): Update.
- 	* c-tree.h (maybe_warn_string_init): New.
- 	(pop_init_level, process_init_element): Use struct c_expr.
- 	(struct c_expr): Update comment.
- 	* c-typeck.c (maybe_warn_string_init): New function.
- 	(digest_init): Call it.  Additional parameter strict_string.  All
- 	callers changed.
- 	(output_init_element): Likewise.
- 	(struct constructor_stack): Use struct c_expr for
- 	replacement_value.
- 	(really_start_incremental_init, push_init_level): Update.
- 	(pop_init_level): Update.  Return struct c_expr.
- 	(process_init_level): Update.  Take struct c_expr argument.
- 
- 2004-07-21  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.c (sparc_rtx_costs): Fix typo in previous
- 	commit.
- 
- 2004-07-21  Eric Christopher  <echristo@redhat.com>
- 
- 	* builtins.c (expand_builtin_setjmp_receiver): Fix comment for code
- 	removal.
- 	* c-decl.c (pop_scope): Ditto.
- 	* calls.c (expand_call): Remove call to current_nesting_level,
- 	update comment accordingly. Remove calls to expand_start_target_temps
- 	and expand_end_target_temps.
- 	* cfgexpand.c (construct_init_block): Remove call to
- 	expand_start_bindings_and_block.
- 	(construct_exit_block): Remove call to expand_end_bindings.
- 	* expr.c (safe_from_p): Remove BIND_EXPR handling.
- 	(expand_expr_real_1): Ditto. Fix formatting.
- 	(expand_vars): Delete.
- 	* stmt.c (POPSTACK): Remove block_stack.
- 	(stmt_status): Remove x_block_stack.
- 	(block_stack): Delete.
- 	(expand_start_bindings_and_block): Ditto.
- 	(expand_start_target_temps): Ditto.
- 	(expand_end_target_temps): Ditto.
- 	(current_nesting_level): Ditto.
- 	(warn_about_unused_variables): Ditto.
- 	(expand_end_bindings): Ditto.
- 	* tree.h: Remove declarations for above.
- 
- 2004-07-21  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.h (insn_note): Remove NOTE_INSN_PREDICTION.
- 	* rtl.c (note_insn_name): Likewise.
- 	* print-rtl.c (print_rtx): Don't print it.
- 	* cfgrtl.h (can_delete_note_p): Don't handle it.
- 	(rtl_delete_block): Likewise.
- 	* passes.c (rest_of_handle_guess_branch_prob): Remove.
- 	(rest_of_compilation): Don't call it.
- 	* predict.c (process_note_predictions, process_note_prediction,
- 	note_prediction_to_br_prob): Remove.
- 	* basic-block.c (note_prediction_to_br_prob): Remove prototype.
- 	* stmt.c (return_prediction): Remove.
- 	(expand_value_return): Don't call it.  Don't add prediction
- 	notes for return statements.
- 
- 2004-07-21  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c (vt_find_locations): Set the in_pending bitmap at
- 	once.
- 
- 2004-07-21  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c-common.c (vector_types_convertible_p): Use vector types'
- 	TYPE_SIZE and TREE_TYPE instead of their mode.
- 	* convert.c (convert_to_integer): Likewise.
- 	(convert_to_vector): Likewise.
- 	* fold-const.c (fold_convert): Likewise.
- 	* varasm.c (output_constant): Likewise.
- 	* expr.c (store_constructor): Split ARRAY_TYPE and VECTOR_TYPE.
- 	Allow a VECTOR_TYPE initializer to be made of several vectors.
- 	For ARRAY_TYPEs and VECTOR_TYPES, simplify a bit the handling
- 	of cleared and need_to_clear, and use fold_convert.
- 	* c-typeck.c (build_binary_op): Do not use RDIV_EXPR for
- 	integer vectors.
- 
- 2004-07-20  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgexpand.c (expand_gimple_cond_expr, expand_gimple_tailcall): Split,
- 	(expand_gimple_basic_block): out from here.  Renamed from expand_block.
- 
- 2004-07-20  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.c (sparc_rtx_costs case MULT): Emit
- 	enormous cost if not TARGET_HARD_MUL.
- 
- 2004-07-20  Andrew Pinski  <apinski@apple.com>
- 
- 	PR target/16557
- 	* config/i386/darwin.h (CC1_SPEC): Move the -g SPECs from ...
- 	(ASM_SPEC): here.
- 
- 2004-07-21  Paul brook  <paul@codesourcery.com>
- 
- 	* config/arm/arm.c (thumb_expand_prologue): Remove bogus GEN_INT.
- 
- 2004-07-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (operand_equal_p): Temporarily support NULL args.
- 	(operand_equal_p, case ARRAY_REF): Compare args 2 and 3.
- 	(operand_equal_p, case COMPONENT_REF): Likewise, for arg 2.
- 
- 2004-07-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.h (plus_constant): Delete.
- 	(plus_constant_wide): Rename to plus_constant.
- 	(plus_constant_for_output_wide): Delete vestigial prototype.
- 	(GEN_INT): Remove unnecessary cast.
- 	* tree.h (build_int_2, size_int_type): Delete.
- 	(build_int_2_wide): Rename to build_int_2.
- 	(size_int_wide): Rename to size_int_kind.
- 	(size_int_type_wide): Rename to size_int_type.
- 	(size_int, ssize_int, bitsize_int, sbitsize_int): Use size_int_kind.
- 	Remove unnecessary cast.
- 	* tree.c (build_int_2_wide): Rename build_int_2; update comment.
- 	* explow.c (plus_constant_wide): Rename plus_constant; update comment.
- 	* fold-const.c (size_int_wide): Rename size_int_kind. Use size_int_type.
- 	(size_int_type_wide): Rename size_int_type.
- 	(int_const_binop): Use size_int_type.
- 	* c-lex.c (interpret_integer): Use build_int_2.
- 	* final.c (split_double): Remove unnecessary casts.
- 	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use build_int_2.
- 
- 2004-07-20  Richard Henderson  <rth@redhat.com>
- 
- 	* gimplify.c (is_gimple_tmp_var): Move to tree-gimple.c.
- 	(gimplify_compound_lval): Use is_gimple_tmp_reg.
- 	* tree-gimple.c (is_gimple_tmp_var): Move from gimplify.c.
- 	(is_gimple_tmp_reg): New.
- 	* tree-gimple.h (is_gimple_tmp_reg): Declare.
- 
- 2004-07-20  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-pretty-print.c (dump_generic_node): Dump
- 	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
- 
- 2004-07-20  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mf_set_options_fndecl): New tree.
- 	(mudflap_init): Set it.
- 	(mudflap_register_call): Remove __mf_init call.
- 	(mudflap_finish_file): Emit call to __mf_init here.  Emit a call to
- 	to pass "-ignore-reads" option to libmudflap if needed.
- 
- 2004-07-20  John David Anglin  <dava.anglin@nrc-cnrc.gc.ca>
- 
- 	PR c++/14607
- 	* config/pa/pa-hpux10.h (SUPPORTS_ONE_ONLY): Define.
- 	(MAKE_DECL_ONE_ONLY): Undefine.
- 	* pa-protos.h (som_text_section_asm_op, one_only_readonly_data_section,
- 	readonly_data, one_only_data_section, forget_section): New prototypes.
- 	* pa.c (pa_init_machine_status, som_text_section_asm_op): New
- 	functions.
- 	(pa_select_section): Add one-only (COMDAT) support.
- 	* pa.h (struct machine_function): Define.
- 	* som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
- 	(TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
- 	(DEFAULT_TEXT_SECTION_ASM_OP, NEW_TEXT_SECTION_ASM_OP,
- 	ONE_ONLY_TEXT_SECTION_ASM_OP, ONE_ONLY_READONLY_DATA_SECTION_ASM_OP,
- 	ONE_ONLY_DATA_SECTION_ASM_OP): New defines.
- 	(EXTRA_SECTIONS): Add in_one_only_readonly_data and in_one_only_data.
- 	(EXTRA_SECTION_FUNCTIONS): Rework to use individual function macros.
- 	(READONLY_DATA_FUNCTION, ONE_ONLY_READONLY_DATA_SECTION_FUNCTION,
- 	ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New defines
- 	for EXTRA_SECTION_FUNCTIONS.
- 	* doc/install.texi: Update binutils requirements.
- 
- 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_T_length, VEC_T_index, VEC_T_iterate, VEC_T_truncate,
- 	VEC_T_replace, VEC_T_quick_insert, VEC_T_safe_insert,
- 	VEC_T_ordered_remove, VEC_T_unordered_remove): Use unsigned, not
- 	size_t.
- 	(struct VEC): Use unsigned for num and alloc.
- 	* vec.c (struct vec_prefix): Likewise.
- 	(vec_o_reserve): Adjust.
- 
- 	* dbxout.c (dbxout_type): Fix printf format.
- 
- 	* tree.h (binfo_member): Remove.
- 	* tree.c (binfo_member): Remove.
- 
- 2004-07-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h: Include vec.h
- 	(DEF_VEC_P(tree)): New type.
- 	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): Adjust.
- 	(BINFO_BASE_APPEND, BINFO_BASE_ITERATE): New.
- 	(BINFO_LANG_SLOT): Remove.
- 	(BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX, BINFO_PRIMARY_BASE_OF): New.
- 	(struct tree_binfo): Turn base_binfos into a trailing
- 	VEC(tree). Add vtt_subvtt, vtt_vptr, primary fields.
- 	(binfo_lang_slots): Remove.
- 	* tree.c (binfo_lang_slots): Remove.
- 	(make_tree_binfo_stat): Take a base binfo count, not a
- 	lang slot count.  Adjust.
- 	* Makefile.in (TREE_H): Add vec.h
- 	* alias.c (record_component_aliases): Adjust BINFO access.
- 	* dbxout.c (dbxout_type): Likewise.
- 	* dwarf2out.c (gen_member_die): Likewise.
- 	* sdbout.c (sdbout_one_type): Likewise.
- 	* tree-dump.c (deque_and_dump): Likewise.
- 	* config/i386/i386.c (classify_argument,
- 	contains_128bit_aligned_vector_p): Likewise.
- 	* config/sh/symbian.c (symbian_export_vtable_and_rtti_p): Likewise.
- 	* doc/c-tree.texi (Classes): Update BINFO documentation.
- 
- 2004-07-20  Steven Bosscher  <stevenb@suse.de>
- 
- 	* c-common.h (check_case_value): Remove prototype.
- 	(c_add_case_label): Adjust prototype.
- 	* c-common.c (check_case_value): Make static.
- 	(check_case_bounds): New function.
- 	(c_add_case_label): Use it.  Take new argument orig_type.
- 	* c-typeck.c (struct c_switch): New orig_type field.
- 	(c_start_case): Set it.
- 	(do_case): Pass it to c_add_case_label.
- 	* expr.c (expand_expr_real_1): Don't warn for out-of-bounds
- 	cases from here.  Add the labels in reverse order.
- 	* stmt.c (struct case_node): Adjust comment.  Remove balance field.
- 	(add_case_node): Return nothing, don't check for duplicate cases.
- 	Insert new case nodes in a list, not in an AVL tree.
- 	(expand_end_case_type): Don't turn a case tree into a case list.
- 	(case_tree2list): Remove.
- 	* tree.h (add_case_node): Adjust prototype.
- 
- 2004-07-19  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* genattr.c (struct range, struct function_unit,
- 	write_units, extend_range, init_range): Remove them.
- 	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
- 	Output "#define INSN_SCHEDULING" here.
- 	* genattrtab.c (struct range, struct function_unit_op,
- 	struct function_unit, struct dimension, enum operator,
- 	operate_exp, expand_units, simplify_knowing,
- 	encode_units_mask, simplify_by_exploding,
- 	find_and_mark_used_attributes, unmark_used_attributes,
- 	add_values_to_cover, increment_current_value,
- 	test_for_current_value, simplify_with_current_value,
- 	simplify_with_current_value_aux, gen_unit,
- 	write_unit_name, write_function_unit_info,
- 	write_complex_function, write_toplevel_expr,
- 	find_single_value, extend_range): Remove.
- 	(write_attr_get): Do not handle common_av->value
- 	being an FFS.
- 	(struct attr_desc): Remove func_units_p and blockage_p.
- 	(write_attr_valueq): Do not handle them.
- 	(find_attr): Do not clear them.
- 	(make_internal_attr): Do not initialize them.
- 	(main): Remove code dealing with DEFINE_FUNCTION_UNIT.
- 	* sched-vis.c (init_target_units, insn_print_units,
- 	init_block_visualization, print_block_visualization,
- 	visualize_scheduled_insns, visualize_no_unit,
- 	visualize_stall_cycles, visualize_alloc,
- 	visualize_free, target_units, get_visual_tbl_length,
- 	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines,
- 	visual_tbl_line_length, visual_tbl, n_vis_no_unit,
- 	MAX_VISUAL_NO_UNIT, vis_no_unit): Remove.
- 	* haifa-sched.c (blockage_range, clear_units,
- 	schedule_unit, actual_hazard, potential_hazard,
- 	insn_unit, unit_last_insn, unit_tick,
- 	actual_hazard_this_instance, potential_hazard,
- 	schedule_unit, max_insn_queue_index_value): Remove.
- 	(MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to
- 	max_insn_queue_index.
- 	* rtl.def (DEFINE_FUNCTION_UNIT): Remove.
- 	* doc/md.texi (Processor pipeline description): Remove
- 	references to old pipeline descriptions.
- 	(Automaton pipeline description): Merge with the above.
- 	(Old pipeline description, Comparison of the two descriptions):
- 	Remove.
- 
- 	* bt-load.c (migrate_btr_def): Remove references to
- 	use_pipeline_interface.
- 	* haifa-sched.c (insn_cost, schedule_insn,
- 	schedule_block, advance_one_cycle, sched_init,
- 	queue_to_ready, sched_finish): Likewise.
- 	* modulo-sched.c (sms_schedule, advance_one_cycle,
- 	ps_has_conflicts): Likewise.
- 	* sched-rgn.c (init_ready): Likewise.
- 	(debug_dependencies): Likewise, and remove an "if (1)".
- 	* target.h (use_dfa_pipeline_interface): Remove.
- 	* config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 	* doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove.
- 
- 2004-07-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* rtlanal.c (reg_set_p): Add check for regs_invalidated_by_call.
- 
- 2004-07-19  Jeff Law  <law@redhat.com>
- 
- 	* tree-ssa-dom.c (single_incoming_edge_ignoring_loop_edges): New.
- 	(get_eq_expr_value): Use it.  Simplify slightly.
- 
- 2004-07-19  Maciej W. Rozycki  <macro@linux-mips.org>
- 
- 	* config/mips/mips.md (mulsidi3_32bit_r4000): Fix the clobber list.
- 	(umulsidi3_32bit_r4000): Likewise.
- 
- 2004-07-19  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h: Propagate location information properly.
- 	(VEC_T_iterate): Add result pointer parameter.
- 	(VEC_T_space): New.
- 	(VEC_T_reserve): Use it.
- 
- 2004-07-19  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* Makefile.in (c-format.o): Depend on c-format.h.
- 	* c-format.h: New file.
- 	(struct format_char_info): Add CHAIN member.
- 	* c-format.c: Move some types and constants to c-format.h.
- 	(format_type_error): Set to -1.
- 	(struct function_format_info): Use an int for format_type.
- 	(decode_format_type): Return an int.  Return format_type_error
- 	on error.
- 	(print_char_table, asm_fprintf_char_table, gcc_diag_char_table)
- 	(gcc_diag_char_table, gcc_cdiag_char_table, gcc_cxxdiag_char_table)
- 	(scan_char_table, time_char_table, monetary_char_table): Initialize
- 	CHAIN to NULL.
- 	(n_format_types): New variable.
- 	(check_format_info_main): Handle CHAIN in format_char_info.
- 	(handle_format_attribute): Handle TARGET_FORMAT_TYPES and
- 	TARGET_N_FORMAT_TYPES.
- 	* config.gcc (i[34567]86-*-solaris2*, sparc64-*-solaris2*)
- 	(sparc-*-solaris2*): Include config/t-sol2 and config/sol2-c.c.
- 	* config/sol2-c.c: New file.
- 	* config/t-sol2: New file.
- 	* config/sol2.h (TARGET_N_FORMAT_TYPES, TARGET_FORMAT_TYPES): Define.
- 	* config/sparc/elf.h, config/sparc/sp64-elf.h: Undefine
- 	TARGET_N_FORMAT_TYPES and TARGET_FORMAT_TYPES.
- 
- 	* doc/extend.texi (Target Format Checks): New section.
- 	(Function Attributes): Mention it.
- 	* doc/invoke.texi: Mention target format checks.
- 	* doc/sourcebuild.texi: Mention target format checks.
- 	* dc/tm.texi (Misc): Document TARGET_N_FORMAT_TYPES and
- 	TARGET_FORMAT_TYPES.
- 
- 2004-07-19  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_return_address_offset): Prototype
- 	added.
- 	* config/s390/s390.c (regclass_map initializer): Register 35 added to
- 	ADDR_REGS.
- 	(load_multiple_operation, store_multiple_operation): Removed
- 	pointless sanity check.
- 	(s390_decompose_address): Added check for return_address_pointer_rtx.
- 	(s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0.
- 	(s390_return_address_offset): New function.
- 	* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36.
- 	(FRAME_REGNO_P): Added check for register 35.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
- 	REG_ALLOC_ORDER): Appended entry for register 35.
- 	(REG_CLASS_CONTENTS): Adjusted class masks for register 35.
- 	(EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx.
- 	(RETURN_ADDRESS_POINTER_REGNUM): New macro.
- 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer
- 	is eliminable using stack pointer or hard frame pointer.
- 	(REGISTER_NAMES): Added name for register 35.
- 	* config/s390/s390.md ("load_multiple", "store_multiple"): Removed
- 	pointless sanity check.
- 
- 2004-07-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (tree_expr_nonzero_p): Add function prototype.
- 	(fold) <EQ_EXPR>: Move tree_expr_nonzero_p optimization from
- 	fold_relational_const to here, i.e. "(x | 5) == 0" -> false.
- 	(fold) (UNEQ_EXPR>: Add optimizations for unordered comparisons
- 	of the form "x op x" where op is UNLE, UNGE, UNEQ or LTGT.
- 	(fold_relational_const): Tidy up handling of floating point
- 	comparisons by calling real_compare.  Remove tree_expr_nonzero_p
- 	transformation; fold_relational_const assumes constant operands.
- 
- 2004-07-19  Gabriel Dos Reis  <gdr@integrable-solution.net>
- 
- 	* doc/sourcebuild.texi: Add libcpp, now that CPP has its own
- 	directory.
- 
- 2004-07-19  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-tree.h (struct c_expr): Define.
- 	(C_SET_EXP_ORIGINAL_CODE): Remove.
- 	(parser_build_binary_op, build_compound_expr): Update prototypes.
- 	* c-parse.in (%union): Add exprtype.
- 	(FUNC_NAME): Mark as ttype.
- 	(expr, expr_no_commas, cast_expr, unary_expr, primary): Change to
- 	exprtype.
- 	(expr): Update.  Define directly in terms of expr_no_commas
- 	instead of using nonnull_exprlist.
- 	(nonnull_exprlist, unary_expr, cast_expr, expr_no_commas, primary,
- 	offsetof_member_designator, typespec_nonreserved_nonattr, init,
- 	initval, designator, component_declarator,
- 	component_notype_declarator, enumerator, array_declarator,
- 	condition, exexpr, switch_statement, stmt_nocomp, stmt,
- 	nonnull_asm_operands, ivar_declarator, receiver): Update.  Don't
- 	set C_EXP_ORIGINAL_CODE.  Use TREE_NO_WARNING for assignments
- 	where appropriate.
- 	* c-common.h (C_EXP_ORIGINAL_CODE): Remove.
- 	* c-common.c (c_common_truthvalue_conversion): Don't check
- 	C_EXP_ORIGINAL_CODE.
- 	* c-typeck.c (parser_build_binary_op): Use c_expr structures.
- 	Don't use C_EXP_ORIGINAL_CODE.
- 	(default_conversion, default_function_array_conversion): Don't use
- 	C_EXP_ORIGINAL_CODE.  Preserve TREE_NO_WARNING.
- 	(internal_build_compound_expr): Merge into build_compound_expr.
- 	(build_compound_expr): Take two operands instead of a TREE_LIST.
- 	* objc/objc-act.c (get_super_receiver): Update calls to
- 	build_compound_expr.
- 
- 2004-07-18  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/sh/sh.c (sh_use_dfa_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Set to
- 	hook_int_void_1.
- 	* config/sh/sh.md: Extract pipeline descriptions
- 	into separate files.
- 	* config/sh/sh1.md: New file, extracted from sh.md.
- 	* config/sh/sh4.md: New file, extracted from sh.md.
- 	* config/sh/shmedia.md: New file, extracted from sh.md
- 	and rewritten using new-style pipeline description.
- 
- 2004-07-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/pa/pa.md: Delete the two remaining define_peephole
- 	patterns.
- 
- 2004-07-18  Steven Bosscher  <stevenb@suse.de>
- 	    Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-common.c (c_common_truthvalue_conversion): Don't warn if
- 	TREE_NO_WARNING is set.
- 
- 2004-07-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (simplify_builtin_memcmp, simplify_builtin_strcmp,
- 	simplify_builtin_strncmp): Delete.
- 	(fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
- 	Change argument to accept an arglist instead of an "exp".  Assume
- 	that the return type is always integer_type_node.  Copy missing
- 	transformations from their now obsolete simplify_builtin_*
- 	equivalents.
- 	(fold_builtin_1): Pass arglist instead of exp to fold_builtin_memcmp,
- 	fold_builtin_strcmp and fold_builtin_strncmp.
- 	(simplify_builtin): Call fold_builtin_memcmp, fold_builtin_strcmp
- 	and fold_builtin_strncmp instead of simplify_builtin_memcmp,
- 	simplify_builtin_strcmp and simplify_builtin_strncmp respectively.
- 
- 2004-07-18  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* Makefile.in (tree-alias-common.o): Update dependencies.
- 
- 2004-07-17  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* cfgloop.c (flow_loop_nested_p): Fix comment.
- 
- 2004-07-17  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/16115
- 	* stor-layout.c (relayout_decl): New fn.
- 	* tree.h: Declare it.
- 	(DECL_BY_REFERENCE): New macro.
- 
- 2004-07-17  Eric Botcazou  <ebotcazou@act-europe.fr>
- 
- 	* libgcc2.c (__enable_execute_stack): New symbol.
- 	* libgcc-std.ver (GCC_3.4.2): New version.  Inherit from GCC_3.4
- 	and declare __enable_execute_stack.
- 	* mklibgcc.in (lib2funcs): Add _enable_execute_stack.
- 	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
- 	* config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
- 	ENABLE_EXECUTE_STACK.
- 	* config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
- 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
- 	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
- 	ENABLE_EXECUTE_STACK.
- 	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
- 	* config/i386/i386.c (x86_initialize_trampoline): Conditionalize
- 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
- 	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
- 	ENABLE_EXECUTE_STACK.
- 	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
- 	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
- 	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
- 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
- 	on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
- 	(sparc64_initialize_trampoline): Likewise.
- 	* doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
- 
- 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* langhooks.h (builtin_function): New langhook.
- 	* langhooks-def.h (LANG_HOOKS_BUILTIN_FUNCTION): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* tree.h (builtin_function): Remove.
- 	* doc/tm.texi: Update.
- 	* c-tree.h (builtin_function): Declare.
- 	* c-common.c, config/alpha/alpha.c, config/arm/arm.c,
- 	config/c4x/c4x.c, config/frv/frv.c, config/i386/i386.c,
- 	config/ia64/ia64.c, config/iq2000/iq2000.c,
- 	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
- 	config/stormy16/stormy16.c: All callers of builtin_function
- 	changed.
- 
- 2004-07-17  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/16556
- 	* config/i386/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
- 	Remove white space after the backslash.
- 
- 2004-07-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR rtl-optimization/16294
- 	* resource.c (return_insn_p): New predicate.
- 	(mark_target_live_regs): Use it.  Special-case return insns.
- 	(init_resource_info): Use it.  Don't scan the epilogue past
- 	a return.
- 
- 2004-07-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize): Do not
- 	destroy dominance information.
- 	* passes.c (rest_of_handle_loop2):  Free dominance information.
- 	* tree-cfg.c (cleanup_tree_cfg): Remove unreachable blocks before
- 	jump threading.
- 	(thread_jumps): Update dominance information and remove unreachable
- 	blocks.
- 	* tree-ssa-phiopt.c (replace_phi_with_stmt):  Update dominance
- 	information and remove the unreachable block.
- 
- 2004-07-17  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* emit-rtl.c (reorder_insns): Don't set BB for a BARRIER insn.
- 
- 2004-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* doc/sourcebuild.texi: Remove libf2c entry.
- 
- 2004-07-17  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/i386/i386.md (movv16qi_internal): Fix typo.
- 
- 2004-07-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	* final.c (final_scan_insn): Fix broken commit from previous
- 	patch.
- 
- 2004-07-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-typeck.c (parser_build_binary_op): Condition warnings for
- 	X<=Y<=Z on -Wparentheses instead of -Wextra.
- 	* doc/invoke.texi: Update.  Document that most of -Wparentheses is
- 	supported for C only.
- 
- 2004-07-17  Steven Bosscher  <stevenb@suse.de>
- 
- 	* cfgcleanup.c (try_simplify_condjump): Don't remove line
- 	notes to avoid unreachable code warnings.
- 	* toplev.c (backend_init): Don't emit line notes for
- 	unreachable code warnings.
- 
- 	* combine.c (distribute_notes): Don't distribute a
- 	REG_VTABLE_REF note.
- 	* final.c (final_scan_insn): Don't handle it.
- 	* rtl.c (reg_note_name): Remove it.
- 	* rtl.h (enum reg_node): Dito.
- 
- 	* emit-rtl.c (force_line_numbers, restore_line_number_status):
- 	Remove.
- 	* rtl.h (force_line_numbers, restore_line_number_status):
- 	Remove prototypes.
- 
- 	* stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
- 	* tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
- 	(using_eh_for_cleanups): Also moved here.
- 
- 	* expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
- 	<SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
- 	to expand_start_case and add_case_node.
- 	* stmt.c (struct nesting): Cleanup unused fields condition_code,
- 	last_unconditional_cleanup, nominal_type, printname, and
- 	line_number_status.
- 	(struct fixup_goto): Remove.
- 	(struct stmt_status): Remove x_goto_fixup_chain field.
- 	(goto_fixup_chain): Remove.
- 	(strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
- 	pushcase, pushcase_range): Remove.
- 	(expand_start_bindings_and_block): Don't set unused fields in
- 	the nesting stack.
- 	(expand_start_case, add_case_node): Cleanup unused formal arguments.
- 	(expand_end_case_type): Don't simplify the case-list.  Use emit_jump
- 	instead of emit_jump_if_reachable.
- 	(emit_case_nodes): Likewise.
- 	* tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
- 	static.
- 	(update_eh_label): Work around left-over exception handing regions.
- 	* tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
- 	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
- 	(pass_cleanup_cfg_post_optimizing): New pass.
- 	(init_tree_optimization_passes): Run the new pass after all
- 	optimizations.
- 	* tree.h (pushcase, pushcase_range): Remove prototypes.
- 	(expand_start_case, add_case_node): Update prototypes.
- 
- 2004-07-16  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* tree-inline.c (estimate_num_insns_1): Correct increase of count.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_expand_builtin_va_arg): Remove.
- 	(expand_builtin_va_arg): Remove.
- 	* expr.h: Don't declare them.
- 	* gimplify.c (mark_decls_volatile_r): Remove.
- 	(copy_if_shared_r): Don't call it.
- 	* target-def.h: Don't test EXPAND_BUILTIN_VA_ARG.
- 	* expr.c (expand_expr_real_1): Don't handle VA_ARG_EXPR.
- 	* gimple-low.c (lower_stmt): Likewise.
- 	* tree-cfg.c (cfg_remove_useless_stmts_bb): Likewise.
- 	* tree-gimple.c (is_gimple_tmp_rhs, is_gimple_stmt): Likewise.
- 	* tree-ssa-operands.c (get_expr_operands): Likewise.
- 	* doc/tm.texi (TARGET_GIMPLIFY_VA_ARG_EXPR): Don't mention
- 	EXPAND_BUILTIN_VA_ARG.
- 	* system.h (EXPAND_BUILTIN_VA_ARG): Poison.
- 	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/i386/i386.h,
- 	config/ia64/ia64.h, config/rs6000/rs6000.h, config/s390/s390.h,
- 	config/sparc/sparc.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (insert_aux): Break out if we hit
- 	a critical edge.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* basic-block.h (remove_fake_exit_edges): Declare.
- 	* cfganal.c (remove_fake_predecessors): Rename from
- 	remove_fake_successors; iterate over predecessors.
- 	(remove_fake_exit_edges): New.
- 	* cfgcleanup.c (try_optimize_cfg): Use it.
- 	* gcse.c (one_pre_gcse_pass, store_motion): Likewise.
- 	* predict.c (estimate_probability): Likewise.
- 	(tree_estimate_probability, note_prediction_to_br_prob): Likewise.
- 	* tree-cfg.c (make_edges): Likewise.
- 	* tree-ssa-pre.c (fini_pre): Likewise.
- 	* profile.c (instrument_edges): Don't remove_fake_edges.
- 	(branch_prob): Do it earlier here.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
- 	switchification wrt CONSTRUCTOR.  Document the reason.
- 
- 2004-07-16  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* tree-mudflap.c (mf_file_function_line_tree): Correct typo
- 	that prevented descriptive __mf_check source location strings.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-def (WITH_SIZE_EXPR): New.
- 	* explow.c (expr_size, int_expr_size): Handle WITH_SIZE_EXPR.
- 	* expr.c (expand_expr_real_1): Likewise.
- 	* gimplify.c (maybe_with_size_expr): New.
- 	(gimplify_arg, gimplify_modify_expr): Use it.
- 	(gimplify_modify_expr_to_memcpy): Take size parameter.
- 	(gimplify_modify_expr_to_memset): Likewise.
- 	(gimplify_expr): Handle WITH_SIZE_EXPR.
- 	* tree-alias-common.c (find_func_aliases): Likewise.
- 	* tree-eh.c (tree_could_trap_p): Likewise.
- 	(tree_could_throw_p): Likewise.
- 	* tree-gimple.c (is_gimple_lvalue): Likewise.
- 	(get_call_expr_in): Likewise.
- 	* tree-inline.c (estimate_num_insns_1): Likewise.
- 	(expand_calls_inline): Likewise.
- 	* tree-nested.c (convert_call_expr): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	* tree-sra.c (sra_walk_expr): Likewise.
- 	* tree-ssa-alias.c (add_pointed_to_expr): Likewise.
- 	* tree-ssa-ccp.c (get_rhs, set_rhs): Likewise.
- 	* tree-ssa-operands.c (get_expr_operands): Likewise.
- 	* tree-tailcall.c (find_tail_calls): Likewise.
- 
- 	* calls.c (expand_call): Reset old_stack_allocated after
- 	calling emit_stack_restore.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_COPY_RES_DECL_FOR_INLINING,
- 	lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
- 	* langhooks.c (lhd_tree_inlining_copy_res_decl_for_inlining): Remove.
- 	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
- 	copy_res_decl_for_inlining.
- 
- 	* tree-inline.c (declare_return_variable): New modify_dest argument.
- 	Use it as the return value, when possible or manditory.  Handle
- 	TREE_ADDRESSABLE types.
- 	(expand_call_inline): Extract MODIFY_EXPR lhs for call.  Simplify
- 	replacement of CALL_EXPR.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-flow.h (struct var_ann_d): Remove has_hidden_use.
- 	* gimple-low.c (expand_var_p): Don't check it.
- 	* tree-ssa-alias.c (setup_pointers_and_addressables): Likewise.
- 	* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
- 	* tree-ssa-operands.c (add_stmt_operand): Likewise.
- 	* tree-dfa.c (find_hidden_use_vars, find_hidden_use_vars_r): Kill.
- 	(find_referenced_vars): Don't call them.
- 	* tree-flow-inline.h (has_hidden_use, set_has_hidden_use): Kill.
- 
- 2004-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (pass_by_reference): True for all variable sized types.
- 
- 2004-07-16  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* Makefile.in (tree-pretty-print.o): Depend on tree-chrec.h.
- 	* tree-pretty-print.c: Include tree-chrec.h.
- 	(dump_generic_node): Pretty print SCEV_KNOWN, SCEV_NOT_KNOWN
- 	and POLYNOMIAL_CHREC nodes.
- 
- 2004-07-16  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* builtins.c (expand_builtin_stpcpy): Do not create temporary
- 	reg with VOIDmode.
- 
- 2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
- 
- 	* config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
- 
- 2004-07-16  Andreas Krebbel  <krebbel1@de.ibm.com>
- 
- 	* config/s390/s390.md: Changed every occurence of BASE_REGISTER
- 	to BASE_REGNUM.
- 	* config/s390/s390.c: Likewise.
- 	* config/s390/s390.h: Likewise.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (addsi3, adddi3): Remove special handling
- 	of $sp adds.  Remove REGNO checks from mips16 patterns.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Delete outdated comment.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (get_float_compare_codes): Delete.
- 	(mips_emit_compare): New function, mostly extracted from
- 	get_float_compare_codes and gen_conditional_branch.
- 	(gen_conditional_branch, gen_conditional_move): Use it.
- 
- 2004-07-16  Segher Boessenkool  <segher@kernel.crashing.org>
- 
- 	* genautomata.c (add_vect): Speedup by using integers as
- 	bit-vectors for walking through the comb_vect and finding
- 	a match.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_zero_if_equal): Only use XORs if the second
- 	operand is an uns_arith_operand; use subtraction otherwise.
- 	* config/mips/mips.md (cmpsi, cmpdi): Allow any nonmemory_operand,
- 	not just arith_operands.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (gen_int_relational): Delete.
- 	(mips_emit_scc): Declare.
- 	* config/mips/mips.c (internal_test): Delete.
- 	(sle_operand, sleu_operand): New functions.
- 	(map_test_to_internal_test, gen_int_relational): Delete.
- 	(mips_emit_binary, mips_relational_operand_ok_p)
- 	(mips_emit_int_relational, mips_zero_if_equal)
- 	(mips_emit_scc): New functions.
- 	(gen_conditional_branch): Rework to use mips_emit_int_relational.
- 	* config/mips/mips.h (PREDICATE_CODES): Add sle_operand and
- 	sleu_operand.
- 	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
- 	(sltu, sleu): Use mips_emit_scc.
- 	(*sge_[sd]i, *sgeu_[sd]i): New patterns.
- 	(*sle_[sd]i, *sle_[sd]i_mips16): Use sle_operand.
- 	(*sleu_[sd]i, *sleu_[sd]i_mips16): Use sleu_operand.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*sgt_di_mips16): Fix destination constraint.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (*seq_[sd]i): Renamed from seq_[sd]i_zero.
- 	(*sne_[sd]i): Likewise sne_[sd]i_zero.
- 	(*sgt_[sd]i): ...and sgt_[sd]i.
- 	(*slt_[sd]i): ...and slt_[sd]i.
- 	(*sgtu_[sd]i): ...and sgtu_[sd]i.
- 	(*sltu_[sd]i): ...and sltu_[sd]i.
- 	(*sleu_[sd]i): ...and sleu_[sd]i_const.
- 	Name previously unnamed mips16 patterns.  Formatting fixes.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (cmp_operands): Renamed from branch_cmp.
- 	(branch_type): Delete.
- 	(gen_conditional_branch, gen_conditional_move)
- 	(mips_gen_conditional_trap): Update after name change.  Get the
- 	comparison mode from cmp_operands[0].
- 	* config/mips/mips.h (cmp_type, branch_type): Delete.
- 	(cmp_operands): Renamed from branch_cmp.
- 	* config/mips/mips.md (cmpsi, cmpdi, cmpsf, cmpdf): Update after
- 	name change.  Don't set branch_type.
- 	(seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu): Check the
- 	mode class of cmp_operands[0] rather than branch_type.  Update after
- 	name change.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_rtx_costs): In mips16 code, set the cost
- 	of 0...255 to 0 when inside a SET.
- 
- 2004-07-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Remove mips16 define_peepholes.
- 
- 2004-07-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (init_pre): Connect infinite loops to exit.
- 	(fini_pre): Remove fake edges.
- 
- 2004-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-operands.c (get_expr_operands): Use a switch.  Split out...
- 	(get_indirect_ref_operands, get_call_expr_operands): ... these.
- 
- 2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_address): New function.
- 
- 2004-07-14  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/15885
- 	* gimplify.c (gimplify_arg): New fn, split out from...
- 	(gimplify_call_expr): Here.  Special-case BUILT_IN_VA_START.
- 
- 2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.c (output_move_qimode): Abort on an attempt to
- 	generate code which is generated by pushqi1 now
- 	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Remove.
- 
- 2004-07-15  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* combine.c (simplify_set): match the mode of the constant 0 with
- 	the tested operand to match the compare behaviour and the
- 	simplify_relational_operation() expectation.
- 
- 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("bunordered"): Disable for e500.
- 	("bordered"): Same.
- 
- 2004-07-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
- 	unconditionally.
- 	* config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
- 
- 2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_adjust_insn_length): Fix handling of
- 	calls in mips16 code.
- 
- 2004-07-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: In the mips16 li/neg splitter, use SImode for
- 	the destination of the li as well as for the neg.
- 
- 2004-07-15  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	g++/15861
- 	* cgraphunit.c (cgraph_build_static_cdtor): Add priority argument.
- 	* cgraph.h: Update declaration.
- 	* c-decl.c (build_cdtor): Update call with default priority.
- 	* coverage.c (create_coverage): Ditto.
- 	* tree-mudflap.c (mf_init_fndecl): New tree.
- 	(mudflap_init): Set it.
- 	(mudflap_register_call): Arrange to call __mf_init before the first
- 	__mf_register call.
- 	(mudflap_finish_file): Mark the mudflap static initializer as extra
- 	high priority, to beat all C++ static constructors.
- 
- 2004-07-15  Jeff Law  <law@redhat.com>
- 
- 	* loop.c (check_insn_for_givs): Restore check for code labels that was
- 	accidentally deleted by a recent checkin.
- 
- 2004-07-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_T_truncate): Allow truncation of an empty vector.
- 	(VEC_T_quick_insert, VEC_T_ordered_remove): Fix sizeof(T) thinko.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* print-tree.c (print_node): Fix casts last change.
- 
- 2004-07-15  Paul Brook	<paul@codesourcery.com>
- 
- 	* dwarf2out.c (dwarf2out_begin_prologue): Rename IA64_UNWIND_INFO
- 	to TARGET_UNWIND_INFO.
- 	* except.c (output_function_exception_table): Ditto.
- 	* except.h: Ditto.
- 	* opts.c (decode_options): Ditto.
- 	* passes.c (rest_of_handle_final): Ditto.
- 	* final.c (final_start_function): Ditto.
- 	(final_scan_insn, final_scan_insn): Replace IA64_UNWIND_EMIT with
- 	target hook.
- 	* targhooks.h (default_unwind_emit): Declare.
- 	* targhooks.c (default_unwind_emit): New function.
- 	* target-def.h: Define and use TARGET_UNWIND_EMIT.
- 	* target.h (struct gcc_target): Add unwind_emit.
- 	* config/ia64/ia64.c (TARGET_UNWIND_EMIT): Define.
- 	* config/ia64/ia64.h: Rename IA64_UNWIND_INFO to TARGET_UNWIND_INFO.
- 	Remove IA64_UNWIND_EMIT.
- 	* doc/tm.texi: Document TARGET_UNWIND_EMIT and TARGET_UNWIND_INFO.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* print-tree.c (print_node): Handle SSA_NAME.
- 
- 2004-07-14  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/16325
- 	* config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
- 	and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
- 
- 2004-07-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_assignment): Reenable bitfield += optimizations.
- 	Use alias set 0 for memory, do proper mode calculations and adjust
- 	address for memories.
- 
- 2004-07-14  Per Bothner	 <per@bothner.com>
- 
- 	* input.h:  If USE_MAPPED_LOCATION, define separate expanded_location
- 	structure with extra column field.
- 	* tree.c (expand_location):  Also fill in column field.
- 	* gengtype-lex.l:  Ignore expanded_location typedef, sinze gengtype
- 	gets confused by the two conditionally-compiled definitions.
- 
- 2004-07-14  Eric Christopher  <echristo@redhat.com>
- 
- 	* calls.c (expand_call): Fix typo in comment.
- 
- 2004-07-14  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_compare): Allow ORDERED
- 	comparision of TFmode.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_gimplify_va_arg_1): Move indirect ...
- 	(alpha_gimplify_va_arg): ... handling here.  Use pass_by_reference.
- 	* config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Use pass_by_reference.
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
- 	* config/i860/i860.c (i860_gimplify_va_arg_expr): Likewise.
- 	* config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
- 	* config/sh/sh.c (sh_gimplify_va_arg_expr): Likewise.
- 	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Likewise.
- 
- 2004-07-14  Mike Stump	<mrs@apple.com>
- 
- 	* config/darwin.h (WINT_TYPE): Define to be int to match
- 	system header files.
- 
- 2004-07-14  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (function_arg_advance): Check for args
- 	that must be passed in the stack.
- 	(xtensa_gimplify_va_arg_expr): Skip special-case padding for small
- 	arguments if the size is not a constant.
- 
- 2004-07-14  Per Bothner  <per@bothner.com>
- 
- 	* c-typeck.c (emit_side_effect_warnings):  Use EXPR_HAS_LOCATION
- 	instead of EXPR_LOCUS in a boolean context, which is always true
- 	if --enable-mapped-location.
- 	* stmt.c (warn_if_unused_value):  Likewise.  Also use EXPR_LOCATION.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* dominance.c (struct dom_info): Add fake_exit_edge.
- 	(init_dom_info): Allocate it.
- 	(free_dom_info): Free it.
- 	(calc_dfs_tree): Set it.  Handle noreturn and infinite loops
- 	in two passes.
- 	(calc_idoms): Honor fake_exit_edge.
- 
- 2004-07-13  Jason Merrill  <jason@redhat.com>
- 
- 	* tree-gimple.c (is_gimple_reg_rhs, is_gimple_mem_rhs): New fns.
- 	(rhs_test_for): New fn.
- 	(is_gimple_tmp_rhs): Rename from is_gimple_rhs.
- 	* tree-gimple.h: Declare them.
- 	* gimplify.c (gimplify_modify_expr): Use the new fns.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/arm/arm-protos.h (arm_va_arg): Remove.
- 	* config/arm/arm.c (arm_va_arg): Remove.
- 	(arm_init_expanders): Fix alignment of arg_pointer_rtx.
- 	* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (fix_range): New function to mark a range(s) of registers as
- 	fixed registers.
- 	(override_options): Call fix_range if the -mfixed-range option string
- 	is not empty.
- 	* pa.h (TARGET_OPTIONS): Add -mfixed-range option.
- 	* doc/invoke.texi (-mfixed-range): Document new option.
- 
- 2004-07-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (function_arg_padding): Do not pad SFmode
- 	for TARGET_64BIT.
- 	(rs6000_gimplify_va_arg): Use size_int instead of build_int_2.
- 
- 2004-07-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expmed.c (expand_sdiv_pow2): New function to expand signed division
- 	by a positive power of two, split out from expand_divmod.  Provide
- 	an alternate implementation when shifts are expensive.  Lower the
- 	threshold for using a branchless implementation to BRANCH_COST >= 2.
- 	(expand_divmod): Call expand_sdiv_pow2 for suitable divisions.
- 
- 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-dfa.c (make_rename_temp): *Really* work just
- 	like create_tmp_var if called while outside SSA form.
- 
- 2004-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("udivsi3"): Ensure trap is generated
- 	for division by zero.
- 	("umodsi3"): Likewise.
- 
- 2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_output_move): When generating mips16 code,
- 	force loads of negative constants to be split.
- 	* config/mips/mips.md (*movhi_mips16, *movqi_mips16): Likewise.
- 	Generalize SImode li/neg splitter to cope with other modes.
- 
- 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expmed.c: Remove more references to QUEUED in the comments.
- 	* expr.c: Likewise.
- 
- 2004-07-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	Revert:
- 	2004-07-13  Richard Henderson  <rth@redhat.com>
- 	* config/mips/mips.c (mips_pass_by_reference): Handle mode sizes
- 	correctly.
- 
- 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* tree-dfa.c (make_rename_temp): Work just like
- 	create_tmp_var if called while outside SSA form.
- 
- 2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* expr.c (enqueue_insn, finish_expr_for_function,
- 	protect_from_queue, queued_subexp_p, mark_queue,
- 	emit_insns_enqueued_after_mark, emit_queue,
- 	expand_increment): Remove.
- 	(store_constructor): Expand increment as an assignment.
- 	(expand_expr_real_1 <case PREINCREMENT_EXPR,
- 	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
- 	case POSTDECREMENT_EXPR>): Abort.
- 	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
- 	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
- 	protect_from_queue, emit_queue, queued_subexp_p): Remove.
- 	* function.h (pending_chain, x_pending_chain): Remove.
- 	* rtl.def (QUEUED): Remove.
- 
- 	* emit-rtl.c (copy_insn_1, copy_most_rtx,
- 	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
- 	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
- 	encode_units_mask): Likewise.
- 	* local-alloc.c (equiv_init_varies_p): Likewise.
- 	* rtl.c (copy_rtx): Likewise.
- 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
- 	* simplify-rtx.c (simplify_gen_subreg): Likewise.
- 	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
- 
- 	* builtins.c (expand_builtin, expand_builtin_apply,
- 	expand_builtin_mathfn, expand_builtin_mathfn_2,
- 	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
- 	Remove calls to emit_queue and protect_from_queue.
- 	* calls.c (expand_call, precompute_arguments,
- 	precompute_register_parameters, rtx_for_function_call,
- 	store_one_arg): Likewise.
- 	* dojump.c (do_compare_and_jump, do_jump): Likewise.
- 	* explow.c (memory_address): Likewise.
- 	* expmed.c (clear_by_pieces_1, clear_storage,
- 	clear_storage_via_libcall, emit_group_load,
- 	emit_group_store, emit_store_flag,
- 	expand_expr_real_1, store_by_pieces,
- 	store_constructor, store_expr, try_casesi,
- 	try_tablejump): Likewise.
- 	* function.c (expand_pending_sizes): Likewise.
- 	* optabs.c (emit_cmp_and_jump_insns,
- 	emit_conditional_add, emit_conditional_move,
- 	expand_fix, expand_float, prepare_cmp_insn): Likewise.
- 	* stmt.c (emit_case_bit_tests,
- 	expand_asm_expr, expand_computed_goto,
- 	expand_decl_init, expand_end_case_type,
- 	expand_end_stmt_expr, expand_expr_stmt_value,
- 	expand_return, expand_start_case,
- 	optimize_tail_recursion): Likewise.
- 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
- 	* config/s390/s390.c (s390_expand_cmpmem): Likewise.
- 
- 2004-07-14  Ben Elliston  <bje@au.ibm.com>
- 
- 	* vec.h: Comment fix.
- 
- 2004-07-13  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (struct gcc_target): Add calls.pass_by_reference.
- 	* target-def.h (TARGET_PASS_BY_REFERENCE): New.
- 	* function.c (pass_by_reference): Use the hook.
- 	* system.h (FUNCTION_ARG_PASS_BY_REFERENCE): Poison.
- 	* targhooks.c, targhooks.h (hook_pass_by_reference_false): New.
- 	(hook_pass_by_reference_must_pass_in_stack): New.
- 	* config/alpha/alpha.c (function_arg): Don't query pass-by-ref.
- 	(alpha_pass_by_reference): New.
- 	(TARGET_PASS_BY_REFERENCE): New.
- 	* config/alpha/alpha.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/arc/arc.c (arc_pass_by_reference): New.
- 	(TARGET_PASS_BY_REFERENCE): New.
- 	* config/arc/arc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): True.
- 	* config/arm/arm-protos.h (arm_function_arg_pass_by_reference): Remove.
- 	* config/arm/arm.c (TARGET_PASS_BY_REFERENCE): New.
- 	(arm_pass_by_reference): Rename from arm_function_arg_pass_by_reference.
- 	* config/arm/arm.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/c4x/c4x.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/cris/cris.c (cris_pass_by_reference): New.
- 	(TARGET_PASS_BY_REFERENCE): New.
- 	* config/cris/cris.h (FUNCTION_ARG): Don't query pass-by-ref.
- 	(FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): Likewise.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/fr30/fr30.c (TARGET_PASS_BY_REFERENCE): New.
- 	* config/fr30/fr30.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/frv/frv-protos.h (frv_function_arg_pass_by_reference): Kill.
- 	* config/frv/frv.c (TARGET_PASS_BY_REFERENCE): New.
- 	(frv_function_arg_pass_by_reference): Remove.
- 	* config/frv/frv.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/i386/i386-protos.h (function_arg_pass_by_reference): Remove.
- 	* config/i386/i386.c (TARGET_PASS_BY_REFERENCE): New.
- 	(ix86_pass_by_reference): Rename from function_arg_pass_by_reference.
- 	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/ia64/ia64-protos.h (ia64_function_arg_pass_by_reference): Kill.
- 	* config/ia64/ia64.c (TARGET_PASS_BY_REFERENCE): New.
- 	(ia64_pass_by_reference): Rename from
- 	ia64_function_arg_pass_by_reference.
- 	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/ip2k/ip2k.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/iq2000/iq2000-protos.h (function_arg_pass_by_reference): Kill.
- 	* config/iq2000/iq2000.c (TARGET_PASS_BY_REFERENCE): New.
- 	(iq2000_pass_by_reference): Rename from function_arg_pass_by_reference.
- 	* config/iq2000/iq2000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
- 	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Remove.
- 	* config/m32r/m32r.c (TARGET_PASS_BY_REFERENCE): New.
- 	(m32r_pass_by_reference): Adjust prototype.  Make static.
- 	Handle mode sizes correctly.
- 	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c
- 	(m68hc11_function_arg_pass_by_reference): Remove.
- 	* config/m68hc11/m68hc11.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
- 	* config/mcore/mcore.c (TARGET_PASS_BY_REFERENCE): New.
- 	* config/mcore/mcore.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/mips/mips-protos.h (function_arg_pass_by_reference): Remove.
- 	* config/mips/mips.c (TARGET_PASS_BY_REFERENCE): New.
- 	(mips_va_arg): Use pass_by_reference.
- 	(mips_pass_by_reference): Rename from function_arg_pass_by_reference.
- 	Handle mode sizes correctly.
- 	* config/mips/mips.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): Don't reference pass-by-ref.
- 	* config/mmix/mmix-protos.h (mmix_function_arg_pass_by_reference): Kill.
- 	* config/mmix/mmix.c (TARGET_PASS_BY_REFERENCE): New.
- 	(mmix_pass_by_reference): Rename from
- 	mmix_function_arg_pass_by_reference.
- 	* config/mmix/mmix.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): True.
- 	* config/mn10300/mn10300.c (TARGET_PASS_BY_REFERENCE): New.
- 	(mn10300_pass_by_reference): New.
- 	* config/mn10300/mn10300.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): True.
- 	* config/pa/pa.c (pa_pass_by_reference): New.
- 	(TARGET_PASS_BY_REFERENCE): New.
- 	* config/pa/pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): True.
- 	* config/rs6000/rs6000-protos.h (function_arg_pass_by_reference): Kill.
- 	* config/rs6000/rs6000.c (TARGET_PASS_BY_REFERENCE): New.
- 	(rs6000_pass_by_reference): Rename from function_arg_pass_by_reference.
- 	* config/rs6000/rs6000.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/s390/s390-protos.h (s390_function_arg_pass_by_reference): Kill.
- 	* config/s390/s390.c (TARGET_PASS_BY_REFERENCE): New.
- 	(s390_pass_by_reference): Rename from
- 	s390_function_arg_pass_by_reference.
- 	(s390_function_arg_advance): Don't query pass-by-ref.
- 	(s390_function_arg): Likewise.
- 	(s390_gimplify_va_arg): Use pass_by_reference.
- 	(s390_call_saved_register_used): Likewise.
- 	* config/s390/s390.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/sh/sh.c (TARGET_PASS_BY_REFERENCE): New.
- 	(shcompact_byref, sh_pass_by_reference): New.
- 	* config/sh/sh.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(SHCOMPACT_BYREF): Remove.
- 	* config/sparc/sparc-protos.h (function_arg_pass_by_reference): Kill.
- 	* config/sparc/sparc.c (TARGET_PASS_BY_REFERENCE): New.
- 	(sparc_pass_by_reference): Rename from function_arg_pass_by_reference.
- 	(sparc_gimplify_va_arg): Use pass_by_reference.
- 	* config/sparc/sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/stormy16/stormy16.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* config/v850/v850.c (TARGET_PASS_BY_REFERENCE): New.
- 	(v850_pass_by_reference): New.
- 	* config/v850/v850.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	(FUNCTION_ARG_CALLEE_COPIES): True.
- 	* doc/tm.texi (TARGET_PASS_BY_REFERENCE): Update from
- 	FUNCTION_ARG_PASS_BY_REFERENCE docs.
- 
- 2004-07-14  Richard Henderson  <rth@redhat.com>
- 	    Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_va_arg): Delete.
- 	* config/mips/mips.h (EXPAND_BUILTIN_VA_ARG): Delete.
- 	* config/mips/mips.c: Include tree-gimple.h.
- 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
- 	(mips_arg_info): Remove special handling of must_pass_in_stck args.
- 	(mips_gimplify_va_arg_expr): Rewritten from mips_va_arg.
- 	(function_arg_pass_by_reference): Return true if must_pass_in_stack.
- 
- 2004-07-13  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_gimplify_va_arg_expr): Swap
- 	arguments for COND_EXPR in big-endian adjustment code.
- 
- 2004-07-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-64.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Delete.
- 	* pa.h (ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Modify for hppa64.
- 	* pa32-regs.h (REG_ALLOC_ORDER): Reorder caller-saved registers.
- 	* pa64-regs.h (REG_ALLOC_ORDER): Likewise.
- 
- 2004-07-13  Diego Novillo  <dnovillo@redhat.com>
- 
- 	PR tree-optimization/16443
- 	* tree-ssa-alias.c: Add more description for
- 	CALL_CLOBBERED_VARS and ADDRESSABLE_VARS.
- 	* tree-ssa-operands.c (get_asm_expr_operands): Re-order the
- 	clobbering of call-clobbered and addressable variables.  If
- 	there are any before aliases have been computed, add them.
- 
- 2004-07-13  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-optimize.c (execute_todo): Flush DUMP_FILE before
- 	verification.
- 
- 2004-07-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_gimplify_va_arg): Use size_int instead
- 	of build_int_2.  Convert both operands of PLUS_EXPR and MULT_EXPR
- 	to the same type.
- 
- 2004-07-13  Per Bothner  <per@bothner.com>
- 
- 	* collect2.c (main):  Handle --no-demangle and --demangle flags.
- 
- 2004-07-13  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* Makefile.in (OBJS-common): Add tree-data-ref.o.
- 	(tree-scalar-evolution.o): Add missing dependences on tree-pass.h flags.h.
- 	(tree-data-ref.o): New rule.
- 	* lambda.h: New file.
- 	* tree-data-ref.c: New file.
- 	* tree-data-ref.h: New file.
- 	* tree.c (int_cst_value, tree_fold_gcd): New functions.
- 	* tree.h (int_cst_value, tree_fold_gcd): Declared here.
- 
- 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/13926
- 	* config/sparc/sparc-protos.h (output_ubranch): New prototype.
- 	* config/sparc/sparc.c (output_ubranch): New function.
- 	* config/sparc/sparc.md (jump pattern): Use it.
- 
- 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16494
- 	* config/sparc/sparc.c (output_cbranch): Properly guard
- 	the code handling far branches with TARGET_V9.
- 	* config/sparc/sparc.md (length attribute): Document the
- 	side-effect of having a length greater or equal to 3.
- 
- 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Lloyd Parkes  <lloyd@must-have-coffee.gen.nz>
- 
- 	PR target/15186
- 	* config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
- 	/usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
- 
- 2004-07-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Martin Sebor  <sebor@roguewave.com>
- 
- 	PR target/12602
- 	* doc/invoke.texi (SPARC options): Document -threads
- 	and -pthreads on Solaris.
- 
- 2004-07-13  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Handle types passed
- 	by reference.
- 	(ind_gimplify_va_arg_expr): Remove.
- 	* tree.h (ind_gimplify_va_arg_expr): Remove.
- 	* config/pa/pa.c (hppa_gimplify_va_arg_expr): Don't use it.
- 	* config/mmix/mmix.c (mmix_function_arg_pass_by_reference): Allow
- 	argsp to be null.
- 
- 	* config/arc/arc.c (arc_gimplify_va_arg_expr): Remove.
- 	(TARGET_GIMPLIFY_VA_ARG_EXPR): Remove.
- 	* config/cris/cris.c, config/fr30/fr30.c, config/frv/frv.c,
- 	config/iq2000/iq2000.c, config/m32r/m32r.c, config/mmix/mmix.c,
- 	config/mn10300/mn10300.c, config/v850/v850.c: Similarly.
- 
- 2004-07-13  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (pass_by_reference): New.
- 	(assign_parm_find_data_types): Use it.
- 	* calls.c (initialize_argument_information): Likewise.
- 	(emit_library_call_value_1): Likewise.
- 	* expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove.
- 	* function.h (pass_by_reference): Declare.
- 
- 2004-07-13  Richard Henderson  <rth@redhat.com>
- 
- 	* target-def.h (TARGET_MUST_PASS_IN_STACK): New.
- 	* target.h (struct gcc_target): Add calls.must_pass_in_stack.
- 	* expr.h (MUST_PASS_IN_STACK): Remove.
- 	* system.h (MUST_PASS_IN_STACK): Poison.
- 	* tree.h (must_pass_in_stack_var_size): Declare.
- 	(must_pass_in_stack_var_size_or_pad): Declare.
- 	* calls.c (must_pass_in_stack_var_size): New.
- 	(must_pass_in_stack_var_size_or_pad): Rename from
- 	default_must_pass_in_stack.
- 	* config/alpha/alpha.c (unicosmk_must_pass_in_stack): New.
- 	(TARGET_MUST_PASS_IN_STACK): New.
- 	* config/alpha/unicosmk.h (MUST_PASS_IN_STACK): Remove.
- 	* config/fr30/fr30.c (fr30_must_pass_in_stack): New.
- 	(TARGET_MUST_PASS_IN_STACK): New.
- 	* config/fr30/fr30.h (MUST_PASS_IN_STACK): Remove.
- 	* config/frv/frv.c (frv_must_pass_in_stack): New.
- 	(TARGET_MUST_PASS_IN_STACK): New.
- 	* config/frv/frv.h (MUST_PASS_IN_STACK): Remove.
- 	* config/i386/i386-protos.h (ix86_must_pass_in_stack): Remove.
- 	* config/i386/i386.c (TARGET_MUST_PASS_IN_STACK): New.
- 	(ix86_must_pass_in_stack): Make static.
- 	* config/i386/i386.h (MUST_PASS_IN_STACK): Remove.
- 	* config/ia64/ia64.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/ia64/ia64.h (MUST_PASS_IN_STACK): Remove.
- 	* config/m32r/m32r.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/m32r/m32r.h (MUST_PASS_IN_STACK): Remove.
- 	* config/mcore/mcore-protos.h (mcore_must_pass_on_stack): Remove.
- 	* config/mcore/mcore.c (TARGET_MUST_PASS_IN_STACK): New.
- 	(mcore_must_pass_on_stack): Remove.
- 	* config/mcore/mcore.h (MUST_PASS_IN_STACK): Remove.
- 	* config/mips/mips.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/mips/mips.h (MUST_PASS_IN_STACK): Remove.
- 	* config/pa/pa.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/pa/pa.h (MUST_PASS_IN_STACK): Remove.
- 	* config/rs6000/aix.h (MUST_PASS_IN_STACK): Remove.
- 	* config/rs6000/linux64.h (MUST_PASS_IN_STACK): Remove.
- 	* config/rs6000/rs6000.c (rs6000_must_pass_in_stack): New.
- 	(TARGET_MUST_PASS_IN_STACK): New.
- 	* config/sh/sh.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/sh/sh.h (MUST_PASS_IN_STACK): Remove.
- 	* config/sparc/sparc.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/sparc/sparc.h (MUST_PASS_IN_STACK): Remove.
- 	* config/xtensa/xtensa.c (TARGET_MUST_PASS_IN_STACK): New.
- 	* config/xtensa/xtensa.h (MUST_PASS_IN_STACK): Remove.
- 	* doc/tm.texi (TARGET_MUST_PASS_IN_STACK): Update from
- 	MUST_PASS_IN_STACK.
- 
- 	* calls.c, function.c, config/alpha/alpha.c, config/alpha/alpha.h,
- 	config/alpha/unicosmk.h, config/alpha/vms.h, config/c4x/c4x.c,
- 	config/cris/cris.h, config/fr30/fr30.c, config/fr30/fr30.h,
- 	config/frv/frv.c, config/i386/i386.c, config/iq2000/iq2000.c,
- 	config/mcore/mcore.c, config/mcore/mcore.h, config/mips/mips.c,
- 	config/mmix/mmix.c, config/mmix/mmix.h, config/rs6000/rs6000.c,
- 	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
- 	config/xtensa/xtensa.c: Use target hook.
- 
- 2004-07-13  Anthony Heading  <aheading@jpmorgan.com>
- 
- 	* configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
- 	* configure: Rebuilt.
- 
- 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Remove documentation for MIPS -mrnames option.
- 	* config/mips/mips.h (mips_reg_names): Don't declare.
- 	(MASK_NAME_REGS): Delete.  Shuffle other MASK_* values down.
- 	(TARGET_NAME_REGS): Delete.
- 	(TARGET_SWITCHES): Remove -mrnames.
- 	(REGISTER_NAMES): Initialise with the old contents of mips_reg_names[].
- 	(ADDITIONAL_REGISTER_NAMES): Remove entries for names mentioned
- 	in REGISTER_NAMES.
- 	* config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Delete.
- 	(override_options): Remove handling of TARGET_NAME_REGS.
- 
- 2004-07-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (TARGET_*): Boolify.
- 
- 2004-07-12  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add sh-*-symbianelf target.
- 	* config/sh/sh.c: Add new target macros:
- 	TARGET_ENCODE_SECTION_INFO, TARGET_STRIP_NAME_ENCODING,
- 	TARGET_CXX_IMPORT_EXPORT_CLASS.
- 	(sh_file_start): Create a definition of the .directive section.
- 	(sh_attribute): Add dllimport and dllexport attributes.
- 	* config/sh/symbian-pre.h: New file.
- 	* config/sh/symbian-post.h: New file.
- 	* config/sh/symbian.c: New file. Contains Symbian specific
- 	functions.
- 	* config/sh/sh-protos.h: Add prototypes for new functions
- 	provided by symbian.c.
- 	* config/sh/t-symbian: New file.
- 	* doc/extend.texi: Document support for dllimport and dllexport
- 	attributes by the sh-symbianelf target.
- 
- 2004-07-12  James E Wilson  <wilson@specifixinc.com>
- 
- 	* Makefile.in (AR): Use @AR@ not ar.
- 	(NM): New.
- 	(AR_FOR_TARGET): Use $(AR) not ar for native.
- 	(NM_FOR_TARGET): Use $(NM) not nm for native.
- 	* configure.ac: Add AC_CHECK_PROG calls for NM and AR.
- 	* configure: Regenerate.
- 
- 2004-07-12  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.md (ashlsi3): Eliminate const 1
- 	special case.
- 	(ashldi3_sp64): Likewise.
- 
- 2004-07-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/16477
- 	* pa.c (function_arg): Update comment.
- 	* pa.h (BLOCK_REG_PADDING): Define.
- 
- 2004-07-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/16461
- 	* tree-tailcall.c (independent_of_stmt_p): Handle non-SSA name
- 	arguments of phi nodes.
- 
- 2004-07-12  Devang Patel  <dpatel@apple.com>
- 
- 	* doc/invoke.texi (Darwin Options): Document -gused and -gfull.
- 
- 2004-07-12  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* function.c (expand_function_start): Ensure r_save is in Pmode.
- 	* calls.c (prepare_call_address): Ensure static_chain_value is
- 	in Pmode.
- 	* builtins.c (expand_builtin_nonlocal_goto): Ensure r_label and
- 	r_save_area are in Pmode.
- 	* config/ia64/ia64.c (ia64_initialize_trampoline): Ensure addr,
- 	fnaddr, and static_chain are in Pmode.
- 
- 2004-07-12  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/16445
- 	* config/ia64/ia64.c (bundling): Don't count ignored insns.
- 
- 2004-07-12  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (struct gcc_target): Move gimplify_va_arg_expr
- 	next to build_builtin_va_list.
- 	* target-def.h (TARGET_GIMPLIFY_VA_ARG_EXPR): Update to match.
- 	* builtins.c (gimplify_va_arg_expr): Likewise.
- 	* gimplify.c (copy_if_shared_r): Likewise.
- 
- 2004-07-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* passes.c (rest_of_decl_compilation): Don't defer call of
- 	assemble_variable if its DECL_RTL is already set.
- 
- 2004-07-12  Sebastian Pop  <pop@cri.ensmp.fr>
- 
- 	* cfgloop.h (struct loop): Add nb_iterations field.
- 	(current_loops): Declare.
- 	* tree-chrec.c (chrec_not_analyzed_yet,
- 	chrec_dont_know, chrec_known, count_ev_in_wider_type,
- 	chrec_contains_symbols_defined_in_loop): Remove the temporary
- 	hooks.
- 	* tree-flow-inline.h (loop_containing_stmt): New function.
- 	* tree-scalar-evolution.c: Add implementation.
- 	* tree-scalar-evolution.h: Add declarations.
- 
- 2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
- 
- 	PR rtl-optimization/15921
- 	* Makefile.in (global.o): Add recog.h.
- 
- 	* global.c (recog.h): Add the include-clause.
- 	(bb_info): New member earlyclobber.
- 	(allocate_bb_info, free_bb_info): Initialize/finish the new
- 	member.
- 	(earlyclobber_regclass, earlyclobber_regclass_length): The new
- 	global variables.
- 	(check_earlyclobber, regclass_intersect,
- 	mark_reg_use_for_earlyclobber, mark_reg_use_for_earlyclobber_1):
- 	New functions.
- 	(calculate_local_reg_bb_info): Calculate value of earlyclobber.
- 	(make_accurate_live_analysis): Modify pavin.
- 
- 2004-07-12  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-cfg.c (find_taken_edge): Statically compute the truth
- 	value of a predicate comparing an SSA_NAME to itself.
- 
- 2004-07-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Indicate that the
- 	rs6000 doesn't have shift-and-add or shift-and-sub instructions
- 	by returning the cost of a multiplication plus an addition.
- 
- 2004-07-12  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR tree-optimization/14107
- 	* gimplify.c (gimplify_return_expr): Accept a
- 	RETURN_EXPR with an error argument.
- 	* tree-optimize.c (init_tree_optimization_passes):
- 	Run pass_warn_function_return at -O0.
- 
- 2004-07-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/invoke.texi: Correct -fasynchronous-unwind-tables option
- 	index entry.
- 
- 2004-07-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_use_dfa_pipeline_interface): Delete.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/mips/3000.md: Add copyright notice.  Remove automota and
- 	function units; use generic ones instead.  Only define reservations
- 	for things that are different from generic.md.  Extend each clause
- 	to include r3900.
- 	* config/mips/{4000,4100,4300,4600,5000,6000,generic}.md: New files.
- 	* config/mips/mips.md: Include them. Remove define_function_units.
- 	(alu, imuldiv): New automata and units.
- 
- 2004-07-12  Ben Elliston  <bje@au.ibm.com>
- 
- 	* doc/invoke.texi (Optimize Options): Document -frename-registers
- 	not being enabled by default at -O3.
- 
- 2004-07-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <PLUS_EXPR>: Canonicalize X + -C as X - C for
- 	floating point additions, to keep real immediate constant positive.
- 	<MINUS_EXPR>:  For floating point subtractions, only transform X - -C
- 	into X + C, and leave positive real constants as X - C.
- 
- 2004-07-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (hppa_gimplify_va_arg_expr): Remove comment.
- 
- 2004-07-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR tree-optimization/15654
- 	* tree-tailcall.c (eliminate_tail_call): Remove unreachable code.
- 
- 2004-07-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_fputs): Don't bother converting the
- 	return type to integer_type_node, as we've already checked that
- 	the result will be ignored.
- 
- 	* tree-eh.c (tree_could_trap_p): Add support for -ftrapv such
- 	that signed addition, subtraction, multiplication, division,
- 	remainder, negation and absolute value may potentially trap.
- 
- 	* fold-const.c (fold_ignored_result): New function to strip
- 	non-side-effecting tree nodes from an expression whose result
- 	is ignored.
- 	(fold_convert): Call fold_ignored_result when casting a value
- 	to VOID_TYPE.
- 	(omit_one_operand):  Call fold_ignored_result on the "omitted"
- 	operand when building a COMPOUND_EXPR.
- 	(pedantic_omit_one_operand): Likewise.
- 	* tree.h (fold_ignored_result): Prototype here.
- 	* tree-ssa-ccp.c (ccp_fold_builtin): Call fold_ignored_result
- 	when we're going to ignore the result.
- 
- 2004-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR tree-opt/16383
- 	* tree-ssa-ccp.c (fold_stmt_r): Split out...
- 	* tree.c (fields_compatible_p, find_compatible_field): ... new.
- 	* tree.h (fields_compatible_p, find_compatible_field): Declare.
- 	* tree-sra.c (sra_hash_tree): Hash fields by offset.
- 	(sra_elt_eq): Use fields_compatible_p.
- 	(generate_one_element_ref): Use find_compatible_field.
- 
- 2004-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR tree-opt/16422
- 	* tree-sra.c (generate_one_element_init): New.
- 	(generate_element_init): Use it.
- 	(scalarize_init): Push/pop gimplify context around it.
- 	(find_new_referenced_vars_1, find_new_referenced_vars): New.
- 	* gimplify.c (gimplify_expr): Allow SSA_NAME.
- 
- 2004-07-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* rtlanal.c (insn_rtx_cost): New function, moved and renamed from
- 	combine.c's combine_insn_cost.
- 	* rtl.h (insn_rtx_cost): Prototype here.
- 	* combine.c (combine_insn_cost): Delete function.
- 	(combine_validate_cost): Update callers of combine_insn_cost to
- 	call insn_rtx_cost instead.
- 	(combine_instructions): Likewise.  Use NONJUMP_INSN_P to avoid
- 	requesting the rtx_cost of call and/or jump instructions.
- 
- 	* ifcvt.c (total_bb_rtx_cost): Use insn_rtx_cost instead of calling
- 	rtx_cost directly.  Don't request/use the cost of call or jump
- 	instructions.  Return -1 if the cost of any instruction can't be
- 	determined (or the BB contains a function call).
- 	(find_if_case_1): Abort transformation if total_bb_rtx_cost returns
- 	-1 (i.e. can't determine the cost of any instruction or the basic
- 	block contains a subroutine call).
- 	(find_if_case_2): Likewise.
- 
- 2004-07-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* rs6000.c (struct processor_costs): Change semantics of fields to
- 	include the COST_N_INSNS scaling, and update all initializers.
- 	(rs6000_rtx_costs): Don't use COSTS_N_INSNS on rs6000_cost fields.
- 	Use COSTS_N_INSNS(1) for NOT, SIGN_EXTEND, ZERO_EXTEND and COMPARE.
- 	Use rs6000_cost->fp for both FLOAT_TRUNCATE and UNSPEC_FRSP.  When
- 	optimizing for size, use COSTS_N_INSNS(1) for CALL and IF_THEN_ELSE.
- 
- 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* LANGUAGES: Remove obsolete information.
- 
- 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): For SIGSEGV and
- 	SIGBUS signal frames, the PSW address points *to* the faulting
- 	instruction, not after it.
- 
- 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimize_tls_address): Handle constant offsets
- 	added to TLS symbol addresses.
- 
- 2004-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (init_expmed): Use stack-local structures for
- 	temporary rtl.  Don't recognize shifts.
- 
- 2004-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (store_expr): Don't fiddle subreg promotion for types
- 	with precision smaller than the mode.
- 
- 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* tree.h (all_types_permanent): Remove.
- 
- 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* langhooks.h (estimate_num_insns, pushlevel, poplevel, set_block,
- 	maybe_build_cleanup, update_decl_after_saving): Remove hooks.
- 	* langhooks.c (lhd_clear_binding_stack): Remove.
- 	* langhooks-def.h (lhd_clear_binding_stack,
- 	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
- 	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING,
- 	LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS, LANG_HOOKS_PUSHLEVEL,
- 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
- 	(LANG_HOOKS_CLEAR_BINDING_STACK): Define to lhd_do_nothing.
- 	* system.h (LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS,
- 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_SET_BLOCK,
- 	LANG_HOOKS_MAYBE_BUILD_CLEANUP,
- 	LANG_HOOKS_UPDATE_DECL_AFTER_SAVING, LANG_HOOKS_POPLEVEL): Poison.
- 	* tree.h (poplevel): Don't declare.
- 	* c-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK, LANG_HOOKS_PUSHLEVEL,
- 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK): Remove.
- 	* objc/objc-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK,
- 	LANG_HOOKS_PUSHLEVEL, LANG_HOOKS_POPLEVEL, LANG_HOOKS_SET_BLOCK):
- 	Remove.
- 
- 2004-07-11  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR tree-optimization/16437
- 	* c-common.c (shorten_compare): Don't mark result of conversion to
- 	narrower signed type as overflowing.
- 	* fold-const.c (decode_field_reference): Determine whether
- 	signedness comes from outer type using precision rather than size.
- 
- 2004-07-11  Phil Edwards  <phil@codesourcery.com>
- 
- 	* configure.ac:  Alphabetize --enable-checking list, add
- 	missing valgrind entry.
- 	* configure:  Regenerate.
- 
- 2004-07-11  Phil Edwards  <phil@codesourcery.com>
- 
- 	* doc/install.texi (Testing):  Fix syntax in "make check" example.
- 
- 2004-07-10  James E Wilson  <wilson@specifixinc.com>
- 
- 	* config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
- 
- 2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR rtl-optimization/16001
- 	* loop-iv.c (iv_number_of_iterations): Prevent copy propagation in
- 	niter_expr.
- 
- 2004-07-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (LINK_COMMAND_SPEC): Don't call c++filt.
- 
- 2004-07-10  Steve Kargl  <sgk@troutmask.apl.washington.edu>
- 	    James Morrison  <phython@gcc.gnu.org>
- 
- 	* doc/contrib.texi (Contributors): Add gfortran contributors and
- 	fix a couple of typos.
- 
- 2004-07-10  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR rtl-optimization/15387
- 	* calls.c (check_sibcall_argument_overlap_1): Handle pointers
- 	to incoming args space correctly.
- 
- 2004-07-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (output_indirect_call): Only use %r2 as the link register in
- 	indirect calls with the long PA 2.0 pc-relative branch.
- 
- 2004-07-10  Daniel Jacobowitz  <dan@debian.org>
- 
- 	* config/i386/i386.c (override_options): Pick a 64-bit CPU
- 	for the default tuning if TARGET_64BIT.
- 
- 2004-07-10  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
- 	to HOST_WIDE_INT.  Fold pad-args-down arithmetic.
- 
- 2004-07-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.h (store_bit_field, extract_bit_field): Remove last argument.
- 	* expmed.c (store_bit_field, extract_bit_field): Remove last
- 	argument.
- 	* builtins.c (expand_builtin_signbit): Adjust callers.
- 	* optabs.c (expand_vector_binop, expand_vector_unop): Likewise.
- 	* calls.c (store_unaligned_arguments_into_pseudos): Likewise.
- 	* ifcvt.c (noce_emit_move_insn): Likewise.
- 	* stmt.c (expand_return): Likewise.
- 	* expr.c (emit_group_load, emit_group_store, copy_blkmode_from_reg,
- 	store_field, expand_expr_real_1): Likewise.
- 
- 2004-07-10  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Fix borked BIT_AND_EXPR.
- 
- 2004-07-09  Mike Stump  <mrs@apple.com>
- 
- 	* config/darwin.c (no_dead_strip): Add.
- 	(HAVE_DEAD_STRIP): Add.
- 	(darwin_emit_unwind_label): Ensure that we don't dead code strip
- 	the .eh label.
- 
- 2004-07-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-ssa-loop-im.c: New file.
- 	* Makefile.in (tree-ssa-loop-im.o): Add.
- 	* cfgloop.c (superloop_at_depth): New function.
- 	* cfgloop.h (superloop_at_depth): Declare.
- 	* common.opt (ftree-lim): New flag.
- 	* expr.c (array_ref_up_bound): New function.
- 	* params.def (PARAM_LIM_EXPENSIVE): New parameter.
- 	* timevar.def (TV_LIM): New timevar.
- 	* tree-dfa.c (compute_immediate_uses): Respect TDFA_USE flags when
- 	computing immediate uses of a phi node.
- 	* tree-flow.h (struct tree_ann_common_d): Add aux field.
- 	(loop_commit_inserts, for_each_index, tree_ssa_lim): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Add pass_lim.
- 	* tree-pass.h (pass_lim): Declare.
- 	* tree-ssa-loop.c (tree_ssa_loop_im, gate_tree_ssa_loop_im): New
- 	functions.
- 	(pass_lim): New pass structure.
- 	* tree-eh.c (tree_could_trap_p): Handle ARRAY_REFs correctly.
- 	* tree.c (in_array_bounds_p): New function.
- 	* tree.h (TREE_THIS_NOTRAP): Define also for ARRAY_REFs.
- 	(in_array_bounds_p, array_ref_up_bound): Declare.
- 	* doc/invoke.texi (-ftree-lim, --param lim-expensive): Document.
- 	* doc/passes.texi (tree-ssa-loop-im.c): Document.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_stpcpy): Don't modify len.
- 
- 	* tree-ssa-ccp.c (ccp_fold_builtin): Strip conversion exprs
- 	with prejudice.
- 
- 2004-07-10  Kelley Cook  <kcook@gcc.gnu.org>
- 
- 	* flags.h: Delete redundant prototypes that are being generated
- 	in options.h from common.opt.
- 	* common.opt: Add in the expository comments formerly in flags.h.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config/i386/i386.c (init_cumulative_args): Set mmx/sse registers
- 	available for use only when TARGET_MMX/_SSE is set, and check for
- 	variable argument function if any register count is non-zero.
- 	(function_arg): Correctly suppress repeated warnings for passing SSE
- 	vectors are arguments without SSE enabled.
- 	(ix86_function_arg_boundary): Without SSE enabled, the use of what
- 	would be SSE register modes does no longer influence the alignment.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Deny ARGS_GROW_DOWNWARD.
- 	Always align upward to arg boundary.  Use size_in_bytes/round_up.
- 	Maintain type-correctness of constants.
- 	* stor-layout.c (round_up, round_down): Special-case powers of 2.
- 
- 2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.c (*_costs): Scale instruction costs
- 	by COSTS_N_INSNS.
- 	(sparc_rtx_costs): Adjust as appropriate.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config/i386/mm3dnow.h: New.
- 	* config.gcc: Add mm3dnow.h to extra_headers for i?86 and x86-64.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_const_relational_operation): Only
- 	look at bounds of scalar integers.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config/i386/i386.md (sse2_clflush): Use correct operand for clflush.
- 
- 2004-07-09  Andrew Pinski  <apinski@apple.com>
- 
- 	* objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as
- 	always referenced.
- 	(synth_forward_declarations): Likewise for UOBJC_CLASS_decl and
- 	UOBJC_METACLASS_decl.
- 
- 2004-07-09  James E Wilson  <wilson@specifixinc.com>
- 
- 	PR target/16364
- 	* config/ia64/ia64.c (ia64_function_arg): For a single element HFA,
- 	do return a parallel if hfa_mode == XFmode and mode == TImode.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* c-typeck.c (build_unary_op): include VECTOR_TYPE in set of codes
- 	permissible for unary plus.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
- 	(BT_FN_UINT): Rename from BT_FN_UNSIGNED.
- 	(BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED.
- 	(BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG,
- 	BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New.
- 	* builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx,
- 	BUILTIN_POPCOUNTxxx): Arguments are unsigned.
- 	(BUILTIN_xxxIMAX): New.
- 	* builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX,
- 	BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and
- 	BUILT_IN_PARITYIMAX.
- 
- 2004-07-09  David S. Miller  <davem@nuts.davemloft.net>
- 
- 	* config/sparc/sparc.h (processor_costs): Define.
- 	(sparc_costs): Declare.
- 	* config/sparc/sparc.c (cypress_costs, supersparc_costs,
- 	hypersparc_costs, sparclet_costs, ultrasparc_costs,
- 	ultrasparc3_costs): New.
- 	(sparc_override_options): Set sparc_costs as appropriate.
- 	(sparc_rtx_costs): Use sparc_costs instead of messy
- 	conditionals.
- 
- 2004-07-09  Steven Bosscher  <stevenb@suse.de>
- 
- 	* doc/md.texi (Processor pipeline description): Mention that
- 	the old pipeline description is deprecated.
- 
- 	* config/rs6000/7450.md (automaton ppc7450): Split up, move
- 	mciu_7450 function unit to...
- 	(automaton ppc7450mciu): ...new automaton.
- 
- 	* haifa-sched.c (insert_schedule_bubbles_p): Remove.
- 	(schedule_block): Don't consider inserting bubbles.
- 	(sched_init): Don't initialize DFA bubbles.
- 	* target-def.h (TARGET_SCHED_INIT_DFA_BUBBLES,
- 	TARGET_SCHED_DFA_BUBBLE): Remove.
- 	* target.h (init_dfa_bubbles, dfa_bubble): Remove hooks.
- 	* doc/tm.texi (TARGET_SCHED_INIT_DFA_BUBBLES,
- 	TARGET_SCHED_DFA_BUBBLE): Remove documentation.
- 
- 	* stmt.c (conditional_context): Remove prototype.
- 	* tree.h (conditional_context): Remove.
- 	* tree-cfg.c (pre_insert_on_edge): Remove.
- 
- 	* c-common.h (c_expand_asm_operands): Remove prototype.
- 	* c-typeck.c (c_expand_asm_operands): Remove.
- 
- 2004-07-09  Jan Beulich  <jbeulich@novell.com>
- 
- 	* config/i386/i386.c (classify_argument): Treat V1xx modes the same as
- 	their base modes. CTImode, TCmode, and XCmode must be passed in memory.
- 	TFmode (__float128) must be is an SSE/SSEUP pair. V2SImode, V4HImode,
- 	and V8QI are class SSE. All sufficiently small remaining vector modes
- 	must be passed in one or two integer registers.
- 	(ix86_libcall_value): TFmode must be returned in xmm0, XCmode must be
- 	returned in memory.
- 	(bdesc_2arg, ix86_init_mmx_sse_builtins): __builtin_ia32_pmuludq and
- 	__builtin_ia32_pmuludq128 have non-uniform argument and return types
- 	and must thus be handled explicitly.
- 	* config/i386/i386.md (*movdi_1_rex64): Add cases for moving between
- 	MMX and XMM regs.
- 	(movv8qi_internal, movv4hi_internal, movv2si_internal,
- 	movv2sf_internal): Permit moving between MMX and XMM registers (since
- 	MMX areguments and return values are passed in XMM registers).
- 	(sse2_umulsidi3): Correct type and mode.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-cfg.c (dump_cfg_stats): Fix 64-bit format mismatch errors.
- 
- 2004-07-09  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/rs6000/40x.md: Split into two automatons.
- 
- 2004-07-09  Zack Weinberg  <zack@codesourcery.com>
- 	    Andrew Pinski  <apinski@apple.com>
- 
- 	* c-opts.c (c_common_post_options): Force unit-at-a-time mode
- 	on when we have more than one input file.
- 	(c_common_parse_file): Restore loop over all input files.
- 	Clarify diagnostic for -dy when YYDEBUG wasn't defined.
- 
- 	* c-decl.c (set_type_context): New function.
- 	(pop_scope): Use it to set context of types.  When we
- 	encounter a TYPE_DECL, set the context of the attached type too.
- 	(pop_file_scope): Don't call cpp_undef_all here.
- 	(diagnose_mismatched_decls): Do not complain about a second
- 	definition of an 'extern inline' function if it's not in the
- 	same translation unit.  Do not complain about inline
- 	declaration after use if the use was in a different
- 	translation unit.
- 	(merge_decls): Don't clobber olddecl's DECL_CONTEXT.
- 	(pushdecl): Do not put DECL_EXTERNAL, !TREE_PUBLIC decls in
- 	the external scope.
- 	(pushdecl_top_level): Likewise.
- 	(grokdeclarator): Clarify what is going on with setting
- 	DECL_EXTERNAL on function types, a little.
- 	(c_write_global_declarations): Don't do anything if
- 	-fsyntax-only or errors have been encountered.
- 
- 2004-07-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* vec.c, vec.h (vec_assert_fail): Use unsigned int for LINE argument.
- 
- 2004-07-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/16459
- 	* pa.c (output_indirect_call): Use %r2 as the link register when
- 	calling $$dyncall with a pc-relative branch.
- 
- 2004-07-08  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* doc/install.texi (Binaries): Mention OpenPKG.
- 
- 2004-07-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	Fix PR tree-optimization/15555
- 	* tree-dfa.c (dump_variable): If the variable is a pointer
- 	SSA_NAME, also dump its points-to information.
- 	* tree-flow.h (struct ptr_info_def): Add field
- 	is_dereferenced.
- 	(dump_points_to_info_for): Declare.
- 	(debug_points_to_info_for): Declare.
- 	* tree-optimize.c (init_tree_optimization_passes): Add a
- 	second alias analysis pass after DOM2.
- 	Move pass_del_pta to a later spot.
- 	* tree-ssa-alias.c (compute_points_to_and_addr_escape): Do not
- 	create a name tags when we find a dereferenced pointer.  Just
- 	mark the pointer dereferenced.
- 	(collect_points_to_info_for): Move code to clear points-to
- 	information to create_name_tags.
- 	(create_name_tags): New function.
- 	(compute_flow_sensitive_aliasing): Call it.
- 	(setup_pointers_and_addressables): Mark type tags for renaming
- 	here instead of ...
- 	(create_memory_tag): ... here.
- 	(merge_pointed_to_info): Do not merge PT_MALLOC attributes.
- 	(dump_points_to_info_for): Declare extern.
- 	(debug_points_to_info_for): New function.
- 
- 2004-07-09  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* config/arc/arc.md: Switch to DFA-based scheduler description.
- 	* config/arc/arc.c: Switch to DFA-based scheduler description.
- 
- 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/unknown-elf.h (TARGET_DEFAULT): Don't require an APCS frame
- 	pointer.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/xtensa/xtensa-protos.h (xtensa_va_arg): Remove.
- 	* config/xtensa/xtensa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(xtensa_gimplify_va_arg_expr): Rewrite from xtensa_va_arg.
- 	* config/xtensa/xtensa.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/v850/v850-protos.h (v850_va_arg): Remove.
- 	* config/v850/v850.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(v850_gimplify_va_arg_expr): Rewrite from v850_va_arg.
- 	* config/v850/v850.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE): Handle variable size types.
- 	(FUNCTION_ARG_CALLEE_COPIES): Use FUNCTION_ARG_PASS_BY_REFERENCE.
- 
- 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/12133
- 	* arm.c (arm_legitimate_index_p) Allow DFmode for soft-float
- 	and DImode to use +/-4k offset.
- 
- 2004-07-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_arg):
- 	Remove.
- 	* config/stormy16/stormy16.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(xstormy16_gimplify_va_arg_expr): Rewrite from
- 	xstormy16_expand_builtin_va_arg.
- 	* config/stormy16/stormy16.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/sparc/sparc-protos.h (sparc_va_arg): Remove.
- 	* config/sparc/sparc.c (sparc_gimplify_va_arg): Mark static.
- 
- 	* config/sh/sh-protos.h (sh_va_arg): Remove.
- 	* config/sh/sh.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(sh_gimplify_va_arg_expr): Rewrite from sh_va_arg.
- 	* config/sh/sh.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/pa/pa-protos.h (hppa_va_arg): Remove.
- 	* config/pa/pa.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(hppa_gimplify_va_arg_expr): Rewrite from hppa_va_arg.
- 	* config/pa/pa.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/mn10300/mn10300-protos.h (mn10300_va_arg): Remove.
- 	* config/mn10300/mn10300.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(mn10300_gimplify_va_arg_expr): Rewrite from mn10300_va_arg.
- 	* config/mn10300/mn10300.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.md (return): Rewrite length formula.
- 	* config/sparc/sparc.c (output_return): Pass 1 as 5th
- 	argument to final_scan_insn when in a delay slot.
- 	(output_sibcall): Likewise.
- 
- 2004-07-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_cpp_interwork): New variable.
- 	(arm_override_options): Set it if TARGET_INTERWORK was on the command
- 	line.
- 	* arm.h (arm_cpp_interwork): Declare it.
- 	(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
- 	__THUMB_INTERWORK__ in the preprocessor.
- 
- 2004-07-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
- 
- 2004-07-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16416
- 	* config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
- 	Override default settings to account for -m32 and -m64.
- 
- 2004-07-08  Randolph Chung  <tausq@debian.org>
- 
- 	* pa32-linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
- 
- 2004-07-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* builtins.c (fold_builtin_strncpy): Make sure len is a constant
- 	before comparing it as such.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (std_gimplify_va_arg_expr): Hoist valist into a
- 	temporary.  Use bit arithmetic to align.
- 
- 2004-07-08  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p,
- 	nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P,
- 	NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P.
- 	* bb-reorder.c (mark_bb_for_unlikely_executed_section,
- 	add_labels_and_missing_jumps, find_jump_block,
- 	fix_crossing_unconditional_branches, add_reg_crossing_jump_notes):
- 	Likewise.
- 	* bt-load.c (btr_referenced_p, compute_defs_uses_and_gen,
- 	link_btr_uses, move_btr_def): Likewise.
- 	* builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto,
- 	expand_builtin_expect_jump): Likewise.
- 	* caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise.
- 	* calls.c (expand_call, emit_library_call_value_1): Likewise.
- 	* cfganal.c (forwarder_block_p): Likewise.
- 	* cfgbuild.c (inside_basic_block_p, count_basic_blocks,
- 	make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1,
- 	find_bb_boundaries): Likewise.
- 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
- 	merge_blocks_move_predecessor_nojumps,
- 	merge_blocks_move_successor_nojumps, insns_match_p,
- 	flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
- 	try_optimize_cfg): Likewise.
- 	* cfgexpand.c (expand_block, construct_exit_block): Likewise.
- 	* cfglayout.c (skip_insns_after_block, label_for_bb,
- 	record_effective_endpoints, insn_locators_initialize,
- 	fixup_reorder_chain, update_unlikely_executed_notes): Likewise.
- 	* cfgmainloop.c (create_loop_notes): Likewise.
- 	* cfgrtl.c (delete_insn, delete_insn_chain,
- 	create_basic_block_structure, rtl_delete_block, free_bb_for_insn,
- 	update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks,
- 	block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
- 	redirect_branch_edge, force_nonfallthru_and_redirect,
- 	rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p,
- 	rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb,
- 	update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info,
- 	purge_dead_edges, cfg_layout_redirect_edge_and_branch,
- 	cfg_layout_delete_block, cfg_layout_can_merge_blocks_p,
- 	cfg_layout_merge_blocks, rtl_block_ends_with_call_p,
- 	need_fake_edge_p, rtl_flow_call_edges_add): Likewise.
- 	* combine.c (combine_instructions, can_combine_p, try_combine,
- 	find_split_point, record_dead_and_set_regs, reg_dead_at_p,
- 	distribute_notes, distribute_links, insn_cuid): Likewise.
- 	* cse.c (fold_rtx, cse_insn, cse_around_loop,
- 	invalidate_skipped_block, cse_set_around_loop,
- 	cse_end_of_basic_block, cse_main, cse_basic_block,
- 	cse_condition_code_reg): Likewise.
- 	* cselib.c (cselib_process_insn): Likewise.
- 	* ddg.c (create_ddg): Likewise.
- 	* df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify):
- 	Likewise.
- 	* dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug,
- 	gen_label_die, dwarf2out_var_location): Likewise.
- 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn,
- 	next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn,
- 	last_call_insn, active_insn_p, next_label, prev_label,
- 	link_cc0_insns, next_cc0_user, try_split, add_insn_after,
- 	add_insn_before, remove_insn, add_function_usage_to,
- 	reorder_insns, find_line_note, remove_unnecessary_notes,
- 	emit_insn_after_1, classify_insn): Likewise.
- 	* except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before,
- 	connect_post_landing_pads, sjlj_mark_call_sites,
- 	sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers,
- 	can_throw_internal, can_throw_external, set_nothrow_function_flags,
- 	convert_to_eh_region_ranges): Likewise.
- 	* explow.c (optimize_save_area_alloca): Likewise.
- 	* expr.c (expand_expr_real): Likewise.
- 	* final.c (insn_current_reference_address, compute_alignments,
- 	shorten_branches, final, scan_ahead_for_unlikely_executed_note,
- 	final_scan_insn, output_asm_label, leaf_function_p): Likewise.
- 	* flow.c (first_insn_after_basic_block_note, delete_dead_jumptables,
- 	propagate_block_delete_insn, propagate_one_insn,
- 	init_propagate_block_info, propagate_block, libcall_dead_p,
- 	mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment):
- 	Likewise.
- 	* function.c (instantiate_virtual_regs,	reorder_blocks_1,
- 	expand_function_start, expand_function_end, contains,
- 	thread_prologue_and_epilogue_insns,
- 	reposition_prologue_and_epilogue_notes): Likewise.
- 	* gcse.c (constprop_register, bypass_conditional_jumps,
- 	insert_insn_end_bb, gcse_after_reload): Likewise.
- 	* genemit.c (gen_expand, gen_split): Likewise.
- 	* genpeep.c (gen_peephole, main): Likewise.
- 	* global.c (build_insn_chain): Likewise.
- 	* graph.c (node_data, print_rtl_graph_with_bb): Likewise.
- 	* haifa-sched.c (unlink_other_notes, unlink_line_notes,
- 	get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes,
- 	restore_line_notes, rm_redundant_line_notes, rm_other_notes,
- 	ok_for_early_queue_removal, set_priorities, sched_init): Likewise.
- 	* ifcvt.c (count_bb_insns, first_active_insn, last_active_insn,
- 	cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block,
- 	merge_if_block, block_jumps_and_fallthru_p, find_if_block,
- 	dead_or_predicable): Likewise.
- 	* integrate.c (try_constants): Likewise.
- 	* jump.c (rebuild_jump_labels, cleanup_barriers,
- 	purge_line_number_notes, init_label_info, mark_all_labels,
- 	squeeze_notes, get_label_before, get_label_after,
- 	reversed_comparison_code_parts, simplejump_p, pc_set,
- 	returnjump_p, onlyjump_p, follow_jumps, mark_jump_label,
- 	delete_barrier, delete_prior_computation, delete_computation,
- 	delete_related_insns, delete_for_peephole, redirect_jump):
- 	Likewise.
- 	* lcm.c (optimize_mode_switching): Likewise.
- 	* local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc):
- 	Likewise.
- 	* loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise.
- 	* loop-invariant.c (find_exits, find_invariants_bb): Likewise.
- 	* loop-iv.c (simplify_using_assignment): Likewise.
- 	* loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg,
- 	libcall_benefit, skip_consec_insns, move_movables, prescan_loop,
- 	find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop,
- 	loop_bivs_init_find, strength_reduce, check_insn_for_bivs,
- 	check_insn_for_givs, check_final_value, update_giv_derive,
- 	basic_induction_var, product_cheap_p, check_dbra_loop,
- 	loop_insn_first_p, last_use_this_basic_block,
- 	canonicalize_condition, get_condition, loop_regs_scan, load_mems,
- 	try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise.
- 	* modulo-sched.c (doloop_register_get, find_line_note, sms_schedule,
- 	sms_schedule_by_order): Likewise.
- 	* optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise.
- 	* postreload.c (reload_cse_simplify_operands, reload_combine,
- 	reload_cse_move2add): Likewise.
- 	* predict.c (can_predict_insn_p, estimate_probability,
- 	expected_value_to_br_prob, process_note_predictions): Likewise.
- 	* print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise.
- 	* profile.c (branch_prob): Likewise.
- 	* ra-build.c (live_out_1, livethrough_conflicts_bb,
- 	detect_webs_set_in_cond_jump): Likewise.
- 	* ra-debug.c (ra_print_rtx_object, ra_debug_insns,
- 	ra_print_rtl_with_bb): Likewise.
- 	* ra-rewrite.c (insert_stores, rewrite_program2): Likewise.
- 	* recog.c (next_insn_tests_no_inequality, find_single_use,
- 	split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise.
- 	* reg-stack.c (next_flags_user, record_label_references,
- 	emit_swap_insn, swap_rtx_condition, subst_stack_regs,
- 	compensate_edge, convert_regs_1): Likewise.
- 	* regclass.c (scan_one_insn): Likewise.
- 	* regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2,
- 	regmove_optimize, fixup_match_1, single_set_for_csa,
- 	combine_stack_adjustments_for_block): Likewise.
- 	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise.
- 	* reload.c (find_reloads, find_reloads_address_1, subst_reloads,
- 	find_equiv_reg): Likewise.
- 	* reload1.c (reload, calculate_needs_all_insns, set_label_offsets,
- 	reload_as_needed, emit_input_reload_insns, do_output_reload,
- 	delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges):
- 	Likewise.
- 	* reorg.c (find_end_label, emit_delay_sequence,
- 	delete_from_delay_slot, delete_scheduled_jump, optimize_skip,
- 	get_jump_flags, rare_destination, mostly_true_jump,
- 	try_merge_delay_insns, redundant_insn, own_thread_p,
- 	fill_simple_delay_slots, fill_slots_from_thread,
- 	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
- 	dbr_schedule): Likewise.
- 	* resource.c (find_basic_block, next_insn_no_annul,
- 	find_dead_or_set_registers, mark_target_live_regs): Likewise.
- 	* rtl.h (RTX_PREV): Likewise.
- 	* rtlanal.c (global_reg_mentioned_p, no_labels_between_p,
- 	no_jumps_between_p, reg_used_between_p, reg_referenced_between_p,
- 	reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage,
- 	find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1,
- 	tablejump_p, computed_jump_p, insns_safe_to_move_p,
- 	find_first_parameter_load, can_hoist_insn_p): Likewise.
- 	* sched-deps.c (get_condition, add_dependence, sched_analyze_2,
- 	sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise.
- 	* sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns,
- 	schedule_ebbs): Likewise.
- 	* sched-rgn.c (is_cfg_nonregular, find_conditional_protection,
- 	is_conditionally_protected, can_schedule_ready_p,
- 	add_branch_dependences, debug_dependencies): Likewise.
- 	* stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable):
- 	Likewise.
- 	* unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p,
- 	reg_dead_after_loop, loop_find_equiv_value, loop_iterations,
- 	set_dominates_use, ujump_to_loop_cont): Likewise.
- 	* var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise.
- 	* varasm.c (output_constant_pool_1): Likewise.
- 
- 2004-07-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* tree-scalar-evolution.c: New file.
- 	* tree-scalar-evolution.h: New file.
- 	* tree-ssa-loop-niter.c: New file.
- 	* Makefile.in (SCEV_H): New.
- 	(tree-scalar-evolution.o, tree-ssa-loop-niter.o): Add new files.
- 	* cfgloop.h (struct loop): Add bounds field.
- 	* tree-flow.h (struct tree_niter_desc): New type.
- 	(number_of_iterations_cond, number_of_iterations_exit,
- 	loop_niter_by_eval, find_loop_niter_by_eval,
- 	estimate_numbers_of_iterations, can_count_iv_in_wider_type,
- 	free_numbers_of_iterations_estimates): Declare.
- 	* tree.h (lower_bound_in_type, upper_bound_in_type): Declare.
- 	* params.def (PARAM_MAX_ITERATIONS_TO_TRACK): New parameter.
- 	* doc/invoke.texi (max-iterations-to-track): Document.
- 
- 2004-07-08  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (sh_va_arg): Initinalize lab_over.
- 	* config/sh/sh.h (CONST_OK_FOR_J16): Use parentheses.
- 	(MODE_AFTER): Add cast appropriately.
- 	* config/sh/sh.md (movdi splitter): Likewise.
- 	(casesi_worker_2): Add const qualifier appropriately.
- 	(eh_return): Remove unused variable.
- 	(insv): Initialize v;
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mmix/mmix-protos.h (mmix_expand_builtin_va_arg): Remove.
- 	* config/mmix/mmix.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(mmix_gimplify_va_arg_expr): Rewrite from mmix_expand_builtin_va_arg.
- 	* config/mmix/mmix.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 	(FRAME_POINTER_REQUIRED): Use current_function_has_nonlocal_label.
- 
- 	* config/m32r/m32r-protos.h (m32r_va_arg): Remove.
- 	* config/m32r/m32r.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(m32r_gimplify_va_arg_expr): Rewrite from m32r_va_arg.
- 	* config/m32r/m32r.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/iq2000/iq2000-protos.h (iq2000_va_arg): Remove.
- 	* config/iq2000/iq2000.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(iq2000_gimplify_va_arg_expr): Rewrite from iq2000_va_arg.
- 	* config/iq2000/iq2000.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/frv/frv-protos.h (frv_expand_builtin_va_arg): Remove.
- 	* config/frv/frv.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(frv_gimplify_va_arg_expr): Rewrite from frv_expand_builtin_va_arg.
- 	* config/frv/frv.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/i860/i860-protos.h (i860_va_arg): Remove.
- 	* config/i860/i860.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(i860_gimplify_va_arg_expr): Rewrite from i860_va_arg.
- 	* config/i860/i860.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-05-31  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
- 
- 	* system.h: Prototype getpagesize if missing.
- 	* configure.ac: Add getpagesize to gcc_AC_CHECK_DECLS.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/fr30/fr30-protos.h (fr30_va_arg): Remove.
- 	* config/fr30/fr30.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(fr30_gimplify_va_arg_expr): New.
- 	(fr30_pass_by_reference, fr30_pass_by_value, fr30_va_arg): Remove.
- 	* config/fr30/fr30.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-08  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/16414
- 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
- 	of asm_noperands result.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/cris/cris-protos.h (cris_expand_builtin_va_arg): Remove.
- 	* config/cris/cris.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(cris_gimplify_va_arg_expr): Rewrite from cris_expand_builtin_va_arg.
- 	* config/cris/cris.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (ind_gimplify_va_arg_expr): New.
- 	* tree.h (ind_gimplify_va_arg_expr): Declare.
- 	* config/arc/arc.c (arc_gimplify_va_arg_expr): Use it.
- 
- 2004-07-08  Jan Beulich  <jbeulich@novell.com>
- 
- 	* expmed.c (extract_bit_field): Correct condition to use vec_extract
- 	patterns also on vector elements other than the first one.
- 	* config/i386/i386.md (vec_extractv2df, vec_extractv4sf): Add missing
- 	break statements.
- 
- 2004-07-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/darwin-ldouble.c: Correct reference
- 	to the Linnainmaa paper.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/arc/arc-protos.h (arc_va_arg): Remove.
- 	* config/arc/arc.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(arc_gimplify_va_arg_expr): Rewrite from arc_va_arg.
- 	* config/arc/arc.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 	* config/c4x/c4x-protos.h (c4x_va_arg): Remove.
- 	* config/c4x/c4x.c (TARGET_GIMPLIFY_VA_ARG_EXPR): New.
- 	(c4x_gimplify_va_arg_expr): Rewrite from c4x_va_arg.
- 	* config/c4x/c4x.h (EXPAND_BUILTIN_VA_ARG): Remove.
- 
- 2004-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md (prefetch_32, prefetch_64): Simplify constraint checks.
- 
- 2004-07-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (static_ctors, static_dtors): Make static.
- 	(pop_file_scope): Call c_common_write_pch and
- 	cgraph_finalize_compilation_unit here.
- 	(build_cdtor): Moved here from c-objc-common.c; simplify.
- 	(c_write_global_declarations_1): Clarify comment.
- 	(c_write_global_declarations): Close the external scope before
- 	doing anything else.  Call build_cdtor, cgraph_optimize, and
- 	mudflap_finish_file here.
- 	* c-lang.c (finish_file): Don't call c_objc_common_finish_file.
- 	Clarify comment.
- 	* c-objc-common.c: No need to include cgraph.h.
- 	(build_cdtor): Moved to c-decl.c.
- 	(c_objc_common_finish_file): Delete.
- 	* c-tree.h: Update to match.
- 	* objc/objc-act.c (finish_file): Don't call c_objc_common_finish_file.
- 	(generate_static_references): Set TREE_USED before calling finish_decl.
- 	Eliminate unnecessary dummy declaration.  Call rest_of_decl_compilation
- 	on the static_instances_decl.
- 
- 2004-07-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (pop_scope): Do not set DECL_CONTEXT on file-scope
- 	decls when there is only one input translation unit.
- 	* langhooks.c (lhd_set_decl_assembler_name): Partially revert
- 	change of 2004-07-05; do not treat declarations with
- 	DECL_CONTEXT a TRANSLATION_UNIT_DECL specially.
- 	* opts.c (cur_in_fname): Delete.
- 	* opts.h: Likewise.
- 	* tree.c: Revert changes of 2004-07-05; no special treatment
- 	for TRANSLATION_UNIT_DECLs.
- 	* Makefile.in (tree.o): Update dependencies.
- 
- 2004-07-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin_strcpy): Merge functionality from
- 	simplify_builtin_strcpy.  Add additional len argument.  No longer
- 	static.  Remove function prototype.
- 	(fold_builtin_strncpy): Likewise integrate functionality from
- 	simplify_builtin_strncpy.  Add additional slen argument.  No
- 	longer static.  Remove function prototype.
- 	(simplify_builtin_strcy, simplify_builtin_strncpy): Delete.
- 	(simplify_builtin_fputs): Rename to fold_builtin_fputs.  Change
- 	types of "ignore" and "unlocked" parameters to bool.
- 	(fold_builtin_1):  Add additional ignore argument.  Call renamed
- 	fold_builtin_fputs to simplify GCC "fputs" and "fputs_unlocked"
- 	builtins.  Update arguments to fold_builtin_strncpy and
- 	fold_builtin_strcpy.  Add function prototype.
- 	(fold_builtin): Add additional Boolean ignore argument to pass
- 	to fold_builtin_1.
- 	(simplify_builtin): Call fold_builtin_fputs, fold_builtin_strcpy
- 	and fold_builtin_strncpy instead of simplify_builtin_fputs,
- 	simplify_builtin_strcpy and simplify_builtin_strncpy respectively.
- 
- 	* expr.h (simplify_builtin_fputs, simplify_builtin_strcpy,
- 	simplify_builtin_strncpy): Delete function prototypes.
- 	* tree.h (fold_builtin_fputs, fold_builtin_strcpy,
- 	fold_builtin_strncpy): Add function prototypes here.
- 	(fold_builtin): Update function prototype with new "bool ignore".
- 
- 	* tree-ssa-ccp.c (ccp_fold): Update call to fold_builtin.
- 	(ccp_fold_builtin):  Update call to fold_builtin.  Call
- 	fold_builtin_fputs, fold_builtin_strcpy and fold_builtin_strncpy
- 	instead of simplify_builtin_fputs, simplify_builtin_strcpy and
- 	simplify_builtin_strncpy respectively.
- 	* fold-const.c (fold): Update call to fold_builtin.
- 
- 2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* builtins.c (expand_builtin_stpcpy): Un-simplify decay of stpcpy
- 	to strcpy.
- 
- 	* expr.h (FUNCTION_ARG_PARTIAL_NREGS): Default to 0.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE): Likewise.
- 	(FUNCTION_ARG_CALLEE_COPIES): Likewise.
- 	* calls.c: Remove ifdefs of macros above.
- 	* functions.c: Likewise.
- 	* expr.c: Likewise.
- 
- 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.md (UNSPECV_GOTO_V9): Delete.
- 	(arch attribute): Delete.
- 	(current_function_calls_alloca attribute): Rename into calls_alloca.
- 	(calls_eh_return): New attribute.
- 	(leaf_function): Likewise.
- 	(length attribute): Fix formula for sibcalls.
- 	(return insn): Correctly compute the 'length' attribute.
- 	(do_builtin_setjmp_setup): Adjust use of current_function_calls_alloca.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-cfg.c (make_exit_edges): Use get_call_expr_in.
- 	(remove_useless_stmts_1, is_ctrl_altering_stmt): Likewise.
- 	(tree_block_ends_with_call_p, need_fake_edge_p): Likewise.
- 	* tree-eh.c (lower_eh_constructs_1): Likewise.
- 	* tree-sra.c (sra_walk_modify_expr): Likewise.
- 	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
- 	(eliminate_unnecessary_stmts): Likewise.
- 	* tree-ssa-dse.c (dse_optimize_stmt): Likewise.
- 	* tree-tailcall.c (optimize_tail_call): Likewise.
- 	* tree-ssa-ccp.c (get_rhs, set_rhs): Reorg to use switch.
- 
- 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Enable
- 	SSE prefetches with -mtune, as long as we are
- 	compiling for i686 or higher.  All i686 processors
- 	accept SSE prefetches as NOPS, some i586's don't.
- 
- 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/10567
- 	* config/sparc/sparc.md (update_return): Honor flag_delayed_branch.
- 
- 2004-07-08  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-ssa-operands.c (get_asm_expr_operands): Fix thinkos in
- 	the handling of clobbering ASM_EXPRs.
- 
- 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16430
- 	* config/sparc/sparc.c (function_value): In 64-bit mode,
- 	return the aggregates larger than 16 bytes like unions.
- 
- 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/16199
- 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
- 	'temp' is zero, generate new pseudos as needed and emit the
- 	sequence of insns in single-assignment form.  Resync comments
- 	with code.
- 	(sparc_emit_set_const64): Pass zero as 'temp' argument to above
- 	function before reload.
- 
- 2004-07-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.c (vec_assert_fail): Remove duplicate 'function'.
- 
- 	* vec.c (vec_p_reserve, vec_o_reserve): Allocation is signed.
- 
- 	* vec.h (VEC_alloc, VEC_embedded_size, VEC_embedded_init):
- 	Allocation is signed.
- 	(VEC_reserve): Return flag, allocation is signed.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-ccp.c (fold_stmt): Get type directly from
- 	OBJ_TYPE_REF_OBJECT.
- 
- 2004-07-08  Joseph S. Myers  <jsm@polyomino.org.uk>
- 	    Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR c/2511
- 	PR c/3325
- 	* c-decl.c (finish_struct): Ensure bit-fields are given the
- 	correct type.
- 	* c-common.c (c_common_signed_or_unsigned_type): For C, require
- 	the precision to match as well as the mode.
- 	* expr.c (reduce_to_bit_field_precision): New function.
- 	(expand_expr_real_1): Reduce expressions of bit-field type to
- 	proper precision.
- 	* langhooks.h (reduce_bit_field_operations): New hook.
- 	* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS):
- 	Define.
- 	* c-lang.c, objc/objc-lang.c
- 	(LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Define.
- 	* objc/objc-act.c (check_ivars): Convert types to bit-field types
- 	before checking.
- 	* tree.c (build_nonstandard_integer_type): New function.
- 	* tree.h (build_nonstandard_integer_type): New prototype.
- 	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Don't treat
- 	conversions between integer and boolean types as useless.
- 
- 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Do not
- 	create __builtin_ptrdiff_t and __builtin_size_t.
- 
- 2004-07-08  Andrew Pinski  <apinski@apple.com>
- 
- 	* Makefile.in (libbackend.o): Add -combine to the gcc
- 	command line.
- 
- 2004-07-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Define.
- 	Set to -Os.
- 
- 2004-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (expand_eh_region_start, expand_eh_region_end,
- 	expand_eh_handler, expand_eh_region_end_cleanup,
- 	expand_start_all_catch, expand_start_catch, expand_end_catch,
- 	expand_end_all_catch, expand_eh_region_end_allowed,
- 	expand_eh_region_end_must_not_throw, expand_eh_region_end_throw,
- 	expand_eh_region_end_fixup): Remove.
- 	* stmt.c (struct nesting): Remove stack_level, innermost_stack_block,
- 	cleanups, outer_cleanups, label_chain, exception_region.
- 	(struct goto_fixup): Remove stack_level, cleanup_list_list.
- 	(struct label_chain): Remove.
- 	(struct stmt_status): Remove x_stack_block_stack.
- 	(stack_block_stack, expand_goto_internal, expand_fixup, expand_fixups,
- 	fixup_gotos, save_stack_pointer, expand_decl_cleanup,
- 	expand_decl_cleanup_eh, expand_cleanups, start_cleanup_deferral,
- 	end_cleanup_deferral, last_cleanup_this_contour,
- 	containing_blocks_have_cleanups_or_stack_level,
- 	any_pending_cleanups): Remove.
- 	(expand_null_return_1): Take no arguments.
- 	(expand_label, expand_naked_return, expand_return,
- 	expand_start_bindings_and_block, expand_end_bindings, expand_decl,
- 	expand_anon_union_decl, expand_start_case, pushcase, pushcase_range,
- 	expand_end_case_type): Don't use any of them.
- 	* calls.c (expand_call): Likewise.
- 	* dojump.c (do_jump): Likewise.
- 	* function.c (expand_function_end): Likewise.
- 	* expr.c (store_expr, expand_expr_real_1): Likewise.
- 	(safe_from_p): Don't handle WITH_CLEANUP_EXPR, CLEANUP_POINT_EXPR.
- 	(expand_expr_real_1): Don't handle WITH_CLEANUP_EXPR,
- 	CLEANUP_POINT_EXPR, TARGET_EXPR, TRY_CATCH_EXPR, CATCH_EXPR,
- 	EH_FILTER_EXPR, TRY_FINALLY_EXPR, GOTO_SUBROUTINE_EXPR.
- 	* fold-const.c (fold_checksum_tree): Use first_rtl_op.
- 	* gengtype.c (adjust_field_tree_exp): Remove rtl op handling.
- 	* gimplify.c (gimplify_cleanup_point_expr): Renumber operands
- 	for WITH_CLEANUP_EXPR.
- 	(gimple_push_cleanup): Likewise.
- 	* integrate.c (copy_decl_for_inlining): Don't DECL_TOO_LATE.
- 	* print-tree.c (print_node): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Remove GOTO_SUBROUTINE_EXPR.
- 	* tree.c (first_rtl_op): Always just TREE_CODE_LENGTH.
- 	(has_cleanups): Remove GOTO_SUBROUTINE_EXPR.
- 	* tree.def (WITH_CLEANUP_EXPR): Remove op1 and op2.
- 	(GOTO_SUBROUTINE_EXPR): Remove.
- 	* tree.h (WITH_CLEANUP_EXPR_RTL): Remove.
- 	(DECL_TOO_LATE): Remove.
- 	* except.h, tree.h: Update decls.
- 
- 2004-07-08  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* explow.c (optimize_save_area_alloca): Do not accept parameters.
- 	* passes.c (rest_of_handle_final): Handle symout.
- 	(rest_of_handle_new_regalloc, rest_of_handle_old_regalloc):
- 	Push timevar here.
- 	(rest_of_handle_sched): Break out SMS.  Remove ifs for
- 	flag_schedule_insns and flag_modulo_sched.
- 	(rest_of_handle_addressof, rest_of_handle_cse2): Garbage
- 	collect at the end.
- 	(rest_of_handle_gcse2): Put under timevar TV_RELOAD_CSE_REGS.
- 	(rest_of_handle_partition_blocks, rest_of_handle_sms,
- 	rest_of_handle_if_after_reload, rest_of_handle_peephole2,
- 	rest_of_handle_mode_switching, rest_of_handle_jump,
- 	rest_of_handle_guess_branch_prob, rest_of_handle_eh,
- 	rest_of_handle_jump2, rest_of_handle_postreload,
- 	rest_of_handle_flow2, rest_of_clean_state,
- 	rest_of_handle_shorten_branches,
- 	rest_of_handle_prologue_epilogue,
- 	rest_of_handle_branch_target_load_optimize): New.
- 	(rest_of_compilation): Call the above.  Remove ggc_collect
- 	calls moved to rest_of_handle_*.
- 	* rtl.h (optimize_save_area_alloca): Do not accept parameters.
- 
- 	* dwarf2out.c (dwarf2out_begin_prologue): Use TREE_NOTHROW.
- 	* except.c (set_nothrow_function_flags): Set TREE_NOTHROW.
- 	* except.h (set_nothrow_function_flags): Update comment.
- 	* function.c (current_function_nothrow): Remove.
- 	* output.h (current_function_nothrow): Remove.
- 	* passes.c (rest_of_compilation): Do not set TREE_NOTHROW.
- 	* config/arm/arm.c (arm_compute_func_type): Use TREE_NOTHROW.
- 
- 2004-07-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR bootstrap/16326
- 	* reorg.c: Revert 2004-06-30 change.
- 	(find_end_label): If HAVE_epilogue and !HAVE_return,
- 	return 0 instead of creating a label at the end of the insn chain.
- 	(optimize_skip): Account for the failure mode of find_end_label.
- 	(fill_simple_delay_slots): Likewise.
- 	(fill_slots_from_thread): Likewise.
- 	(relax_delay_slots): Likewise.
- 
- 2004-07-08  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-flow.h (addressable_vars): Declare.
- 	* tree-ssa-alias.c (addressable_vars): Define.
- 	(setup_pointers_and_addressables): Add addressable variables
- 	to addressable_vars.
- 	* tree-ssa-operands.c (get_stmt_operands): Move
- 	handling of ASM_EXPRs ...
- 	(get_asm_expr_operands): ... here.
- 	When the ASM_EXPR clobbers memory, also clobber addressable
- 	variables.
- 	* tree-ssa.c (init_tree_ssa): Initialize addressable_vars.
- 	(delete_tree_ssa): Reset addressable_vars.
- 
- 2004-07-07  Jan Beulich  <jbeulich@novell.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_variable): Use assemble_zeros for
- 	zero-initialized variables.
- 	(categorize_decl_for_section): Honor flag_zero_initialized_in_bss
- 	for SECCAT_BSS and SECCAT_TBSS.
- 
- 2004-07-07  Jan Beulich  <jbeulich@novell.com>
- 
- 	* varasm.c (asm_output_bss): Don't declare unless BSS_SECTION_ASM_OP.
- 
- 	* expmed.c (emit_store_flag): Also special-case double-word
- 	(in-)equality comparison against -1.
- 
- 	* config/i386/i386.c (ix86_gimplify_va_arg): Don't need temporary for
- 	passing arguments the containers for which are registers.
- 
- 	* calls.c (emit_library_call_value_1): Use mode of function parameter
- 	rather than that of argument since constants have none.
- 
- 2004-07-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	Introduce H8SX support.
- 	* expr.c (expand_strcpy): Renamed and moved to...
- 	* builtins.c (expand_movstr): ... here.  Tweak.
- 	(expand_builtin_strcpy): Adjust.  Use movstr if len can't be
- 	computed or has side effects.
- 	(expand_builtin_stpcpy): Likewise.  Use strcpy if return value is
- 	unused, or if mempcpy fails.  Adjust the return value in the
- 	latter case.  Use movstr if everything else fails.
- 	* doc/md.texi (movstr): Document.
- 	(movmemM, clrmemM): Fix explanation of memory block operands.
- 	* config/h8300/h8300.md (stpcpy): Renamed to...
- 	(movstr): ... this.  Adjust.
- 	2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.md: Rename movstr*, except for movstrict*, to
- 	movmem* and clrstr* to clrmem*.
- 	2004-06-27  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (h8300_reg_class_from_letter): Map 'D' to
- 	GENERAL_REGS, always.
- 	(h8300_swap_into_er6, h8300_swap_into_er6): Handle the case of
- 	getting the stack pointer as addr.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Remove constant rtxes
- 	from general_operand_dst.
- 	* config/h8300/h8300.md (movmd_internal_normal): New, normal-mode
- 	variant of...
- 	(movmd_internal): ... this.  Add modes to operands.  Disparage `D'
- 	instead of requiring it to match only before reload.
- 	(stpcpy_internal_normal): New, normal-mode variant of...
- 	(stpcpy_internal): ... this.  Add modes to operands.  Disparage
- 	`D' instead of requiring it to match only before reload.
- 	* config/h8300/h8300-protos.h (h8300_legitimate_address_p): Add
- 	mode argument.
- 	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Pass it to...
- 	* config/h8300/h8300.c (h8300_legitimate_address_p): Pass it to
- 	h8300_get_index.
- 	* config/h8300/h8300.md (attr type): Add call.
- 	(attr can_delay): If type is call, set it no.
- 	(call, call_value): Set type to call.
- 	2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.md (logicalhi3_sn, logicalsi3_sn): New.
- 	2004-06-16  Alexandre Oliva  <aoliva@redhat.com>
- 	* tree.c (get_narrower): Don't narrow integral types into
- 	non-integral types.
- 	* config/h8300/h8300.c (h8300_expand_epilogue): Initialize
- 	frame_size *before* the first use.
- 	* config/h8300/h8300.md (movstrictqi): Reintroduce post-increment
- 	on input.
- 	(peephole2): Don't widen instructions that push SP.  Move
- 	decrement of SP to the end of all stm-generating peepholes.
- 	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (insv): Prefer to use AND to clear a bitfield
- 	and OR to set it to all ones.
- 	2003-07-24  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (can_delay): Default to "no" for bit branches.
- 	(call, call_value): Set can_delay to "no".
- 	2003-07-22  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (extzv): Make subreg check more robust.
- 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (*brabit): Remove.
- 	* config/h8300/h8300.md (*brabc, *brabs): Remove mode from
- 	zero_extract.  Use bit_memory_operand as the predicate for
- 	operand 1 and 'WU' as the constraint.  Check the difference
- 	between the base length and the final one when deciding which
- 	type of branch to use.
- 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (extzv): Remove mode from operands 0 and 1.
- 	Use convert_move to extend the result for TARGET_H8300SX.  Check
- 	for QImode memory references.  Optimize the case where the
- 	destination is a paradoxical subreg.
- 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md (*movsf_h8sx): Add an r <- G alternative.
- 	* config/h8300/h8300.md (andqi): Remove bclr from h8sx version.
- 	2003-07-21  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.md: Include mova.md
- 	(length_table): Add mova and mova_zero.
- 	* config/h8300/h8300.c (print_operand): Handle '%o'.  Print a length
- 	after all constant addresses for '%R', '%X', '%T' and '%S'.
- 	(h8300_mova_length): New function.
- 	(h8300_insn_length_from_table): Use it to handle mova and mova_zero.
- 	* config/h8300/t-h8300 (mova.md): Generate from genmova.sh.  Add to
- 	dependencies for s-config, etc.
- 	* config/h8300/gemova.sh: New file.
- 	* config/h8300/mova.md: Generated.
- 	2003-07-20  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (h8300_bitfield_length): New.
- 	(nibble_operand): Adjust.
- 	(h8300_binary_length): Handle conditional binary op.
- 	(h8300_insn_length_from_table): Handle bitfield and bitbranch.
- 	* config/h8300/h8300.h: Change constraints W# and Y# to P#>X and
- 	P#<X, respectively.  The original P is now IP4>X.  Introduced P#>0
- 	and P#<0, unused so far.  W and Y are now prefixes to multi-letter
- 	constraints.  WU is introduced as a variant of U that requires a
- 	mem, and is therefore considered an EXTRA_MEMORY_CONSTRAINT.
- 	* config/h8300/h8300.md (attr type): Added bitbranch.
- 	(attr length_table): Added bitfield and bitbranch.
- 	(attr length): Compute bitbranch length.
- 	(andqi): Separate pattern for H8300SX.  Use bfld for loading the
- 	least-significant bit of a byte.
- 	(brabit, brabc, brabs): New.
- 	(insv, extzv): Emit bfst and bfld on H8300SX.
- 	(bfld, bfst, seq, sne): New.
- 	(bstzhireg, cmpstz, bstz, bistz): New.
- 	(cmpcondbset, condbset, cmpcondbclr, condbclr): New.
- 	(cmpcondbsetreg, condbsetreg, cmpcondbclrreg, condbclrreg): New.
- 	2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c (h8sx_binary_memory_operator): New function.
- 	(h8sx_unary_memory_operator): New function.
- 	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Disable.
- 	(PREDICATE_CODES): Add h8sx_{unary,binary}_memory_operator.
- 	* config/h8300/h8300.md: Add peepholes to combine reloads and
- 	arithmetic insns.
- 	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h830.md (cmpqi): Use 'i' rather than 'n' in constraints.
- 	(*cmphi_h8300hs, *addqi3, *addhi3_h8sx, subhi3): Likewise.
- 	(and?i, ior?i, xor?i): Likewise.
- 	2003-07-10  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c: Move enums and prototypes to head of file.
- 	Various whitespace fixes.
- 	(h8300_constant_length): New function, split out from...
- 	(h8300_displacement_size): ...here.  Rename h8300_displacement_length.
- 	(h8300_classify_operand): Use IN_RANGE.
- 	(h8300_classify_operand): Use h8300_constant_length.
- 	(h8300_short_move_mem_p): Tighten size check.
- 	(h8sx_mergeable_memrefs_p): Tighten equality check.
- 	2003-06-30  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Define __H8300SX__
- 	for -msx.
- 	* config/h8300/crti.asm: Use .h8300sx or .h8300sxn for -msx code.
- 	* config/h8300/crtn.asm: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.  Use 32-bit pointers
- 	if __H8300SX__ is defined.
- 	2003-06-27  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300-protos.h (h8300_get_index): Add mode parameter.
- 	* config/h8300/h8300.h (GO_IF_LEGITIMATE_ADDRESS): Update accordingly.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS): Treat POST_DEC, PRE_INC and indexed
- 	addresses as mode-dependent.
- 	* config/h8300/h8300.c (print_operand_address): Update call to
- 	h8300_get_index.
- 	(h8300_get_index): Take a mode argument.  Rework to fix an
- 	earlier misunderstanding.
- 	2003-06-26  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c (zero_extendqisi2): Force the source operand
- 	into a register if TARGET_H8300SX.
- 	(*zero_extendqisi2_h8300hs, *extendqisi2_h8300): Disable for
- 	TARGET_H8300SX.  Also disable related define_splits.
- 	(*zero_extendqisi2_h8sx, *extendqisi2_h8sx): New patterns.
- 	2003-06-23  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c (h8300_rtx_costs): Add h8sx handling.
- 	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.h (OK_FOR_Z): New macro.
- 	(EXTRA_CONSTRAINT_STR): Check it.
- 	* config/h8300/h8300.c (h8300_classify_operand): Accept null
- 	class arguments.
- 	(h8300_insn_length_from_table): Handle LENGTH_TABLE_MOV_IMM4.
- 	* config/h8300/h8300.md (length_table): Add mov_imm4.
- 	(movqi, movhi): Add Z <- W4 alternatives to h8sx patterns.
- 	2003-06-20  Richard Sandiford  <rsandifo@redhat.com>
- 	* genattrtab.c (write_eligible_delay): Allow candidate_insn to
- 	be a label.
- 	* config/h8300/h8300.h (DELAY_SLOT_LENGTH): New macro.
- 	* config/h8300/h8300.c (h8300_reorg): New function.
- 	(TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	* config/h8300/h8300.md (length): Subtract the length of the
- 	delay slot from (pc) when checking the range of forward branches.
- 	(delay_slot, can_delay): New attributes.
- 	(define_delay): Add bra/s handling.
- 	(movmd_internal, return_h8sx, *return_1): Set can_delay to no.
- 	(jump): Add delayed-branch handling.
- 	2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
- 	* expr.c (expand_strcpy): New function.
- 	* builtins.c (expand_builtin_strcpy): Fall back on expand_strcpy.
- 	(expand_builtin_stpcpy): Likewise.
- 	* config/h8300/h8300-protos.h (h8sx_split_movmd): Remove.
- 	(h8300_swap_into_er6, h8300_swap_out_of_er6): Declare.
- 	* config/h8300/h8300.c (h8300_reg_class_from_letter): Tweak 'd'
- 	handling to improve register allocation for -fno-omit-frame-pointer.
- 	(h8sx_split_movmd): Delete, moving er6 handling into...
- 	(h8300_swap_into_er6, h8300_swap_out_of_er6): ...these new functions.
- 	* config/h8300/h8300.md (UNSPEC_STPCPY): New unspec constant.
- 	(movmd): Add calls to copy_rtx.
- 	(movmd_internal): In the second alternative, allow the initial and
- 	final destination registers to be different .  Update the splitter
- 	accordingly.  Call h8300_swap_into_er6 and h8300_swap_out_of_er6
- 	instead of h8sx_split_movmd.
- 	(stpcpy, movsd): New expanders.
- 	(movsd_internal): New define_insn.
- 	2003-06-13  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Declare.
- 	(h8sx_emit_movmd, h8sx_split_movmd): Declare.
- 	* config/h8300/h8300.h (reg_class): Add COUNTER_REGS, SOURCE_REGS
- 	and DESTINATION_REGS.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
- 	(REGNO_REG_CLASS): Map er4, er5 and er6 to the new classes.
- 	(REG_CLASS_FROM_LETTER): Use h8300_reg_class_from_letter.
- 	(h8300_move_ratio): Declare.
- 	(MOVE_RATIO): Use it.
- 	* config/h8300/h8300.c (h8300_move_ratio): New variable.
- 	(h8300_init_once): Initialize it.
- 	(h8300_reg_class_from_letter): New function.
- 	(print_operand): Add an 'm' prefix for printing ".b", ".w" or ".l".
- 	(h8sx_emit_movmd, h8sx_split_movmd): New functions.
- 	* config/h8300/h8300.md (UNSPEC_MOVMD): New unspec constant.
- 	(COUNTER_REG, SOURCE_REG, DESTINATION_REG): New register constants.
- 	(movstrsi, movmd): New expanders.
- 	(movmd_internal): New insn.
- 	2003-06-06  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.h (EXTRA_MEMORY_CONSTRAINT): Define.
- 	2003-06-04  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxnelf for -msx -mn.
- 	* config/h8300/h8300.c (asm_file_start): Use .h8300sxn likewise.
- 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c (nibble_operand): Fix warning.
- 	* config/h8300/h8300.md (movstricthi): Set adjust_length to no.
- 	(movsi_h8sx): Likewise here and the normal h8sx movhi pattern.
- 	(movsf_h8300h): Disable for TARGET_H8300SX.
- 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.h (PREDICATE_CODES): Add h8300_ldm_parallel,
- 	h8300_stm_parallel and h8300_return_parallel.
- 	* config/h8300/h8300.c (h8300_push_pop, h8300_stack_offset_p,
- 	h8300_ldm_stm_regno, h8300_ldm_stm_parallel, h8300_ldm_parallel,
- 	h8300_stm_parallel, h8300_return_parallel): New functions.
- 	(h8300_expand_prologue): Don't enforce ldm/stm register alignment
- 	if TARGET_H8300SX.  Use h8300_push_pop.
- 	(h8300_expand_epilogue): Likewise.  Try to merge the return insn
- 	and final pop when generating h8sx code.  Always emit some form
- 	of return insn.
- 	* config/h8300/h8300.md: Don't enforce register alignment in
- 	stm peepholes if TARGET_H8300SX.
- 	(ldm_h8300s, stm_h8300s, return_h8sx): New patterns.
- 	(ldm_h8300s_[234], stm_h8300_[234]): Disable.
- 	(epilogue): Expect h8300_expand_epilogue to emit a return insn.
- 	2003-06-03  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/t-h8300 (MULTILIB_OPTIONS): Add a -msx multilib.
- 	(MULTILIB_DIRNAMES): Add a directory for it.
- 	(MULTILIB_MATCHES): Delete.
- 	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
- 	* final.c (walk_alter_subreg): Handle addresses with subregs
- 	inside a ZERO_EXTEND or AND.
- 	* config/h8300/h8300-protos.h (h8300_get_index): Declare.
- 	* config/h8300/h8300.h (INDEX_REG_CLASS): Set to GENERAL_REGS
- 	if TARGET_H8300SX.
- 	(GO_IF_LEGITIMATE_ADDRESS): Use h8300_get_index.
- 	* config/h8300/h8300.c (print_operand_address): Handle @(dd,RnL.b),
- 	@(dd,Rn.w) and @(dd,ERn.L).
- 	(h8300_displacement_size): Take the whole address as argument.
- 	(h8300_classify_operand, h8300_short_move_mem_p): Adjust accordingly.
- 	2003-05-28  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/mips/mips-protos.h (h8300_operands_match_p): Declare.
- 	(h8sx_mergeable_memrefs_p): Declare.
- 	* config/h8300/h8300.h (HAVE_POST_DECREMENT): Define to TARGET_H8300SX.
- 	(HAVE_PRE_INCREMENT): Likewise.
- 	(GO_IF_LEGITIMATE_ADDRESS): Accept pre/post increment/decrement
- 	addresses for TARGET_H8300SX,
- 	* config/h8300/h8300.c (print_operand_address): Deal with PRE_INC
- 	and POST_DEC.
- 	(movb_length_table, movl_length_table): New tables.
- 	(movw_length_table): Define to movb_length_table.
- 	(h8300_displacement_size): New, split out from...
- 	(h8300_classify_address): ...here.  Handle pre/post inc/dec.
- 	(h8300_short_immediate_length): Allow H8OP_MEM_COMPLEX operands.
- 	(h8300_insn_length_from_table): Add cases for movb, movw and movl.
- 	(h8sx_mergeable_memrefs_p, h8300_operands_match_p): New functions.
- 	(output_plussi): Use add.l #xx:3,Rn and sub.l #xx:3,Rn for h8sx.
- 	(compute_plussi_length, compute_plussi_cc): Update accordingly.
- 	(h8sx_unary_shift_operator): Get the mode from the operator.
- 	(binary_shift_operator): Likewise.
- 	* config/h8300/h8300.md: If a peephole2 applies gen_lowpart to
- 	a memory reference, check whether the reference is offsettable.
- 	(length_table): Add movb, movw and movl.
- 	(movqi): Add new h8sx pattern.  Don't force one operand to be a
- 	register when generating h8sx code.
- 	(movhi, movsi, movsf): Likewise.
- 	(movstrictqi): Use the length_table attribute.
- 	(movstricthi): Likewise.  Add h8sx alternative for mov.w #xx:3,Rn.
- 	(addqi3): Split into a define_expand and define_insn.  Don't accept
- 	memory operands in the expander.  Use h8300_operands_match_p to
- 	check for matching operands in the define_insn.
- 	(subqi3, negqi2, one_cmplqi2): Likewise.
- 	(add[hs]i3): Don't accept memory operands in the expander.  Likewise
- 	in any patterns that are unused in h8sx code.  In the h8sx patterns,
- 	use h8300_operands_match_p to check whether operands match.
- 	(sub[hs]i3, and[hi]3, ior[hs]i3, xor[hs]i3, neg[hsi]3,
- 	one_cmpl[hs]i3): Likewise.
- 	(andqi3, iorqi3, xorqi3): Likewise.  Don't call fix_bit_operand
- 	in the expander.
- 	2003-05-23  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300-protos.h (expand_a_shift): Return a bool.
- 	(h8300_insn_length_from_table): Add a second parameter.
- 	(output_h8sx_shift): Declare.
- 	* config/h8300/h8300.h (OK_FOR_W, OK_FOR_Y): New macros.
- 	(EXTRA_CONSTRAINT): Replace with...
- 	(EXTRA_CONSTRAINT_STR): ...this.  Use OK_FOR_W and OK_FOR_Y.
- 	(CONSTRAINT_LEN): Define, returning 2 for 'W' and 'Y'.
- 	(PREDICATE_CODES): Add entries for h8sx_unary_shift_operator
- 	and h8sx_binary_shift_operator.
- 	* config/h8300/h8300.c (two_insn_adds_subs_operand): Return false
- 	for TARGET_H8300SX.
- 	(bit_operand): Replace use of EXTRA_CONSTRAINT with OK_FOR_U.
- 	(bit_memory_operand, fix_bit_operand): Likewise.
- 	(h8300_length_table_for_insn): Remove.
- 	(h8300_classify_operand): Fix check for 16-bit operands in 32-bit
- 	instructions.
- 	(h8300_short_immediate_length, h8300_binary_length): New functions.
- 	(h8300_insn_length_from_table): Add an opcodes parameter.  Rework.
- 	(output_plussi): Use sub to add negative constants.
- 	(compute_plussi_length): Adjust accordingly.
- 	(h8sx_single_shift_type): New enum.
- 	(h8sx_single_shift, h8sx_unary_shift_operator,
- 	h8sx_binary_shift_operator, output_h8sx_shift): New functions.
- 	(expand_a_shift, expand_a_rotate): Emit nothing if the shift is a
- 	single h8sx instruction.  Return false in this case.
- 	* config/h8300/h8300.md (length_table): Add short_immediate.
- 	(length): Pass the operand array to h8300_insn_length_from_table.
- 	(adjust_length): Assume "no" for insns with a length_table attribute.
- 	(*cmphi_h8300hs, cmpsi): Add alternatives for #xx:3.
- 	(*addhi3_h8300hs): Don't use for h8sx.
- 	(*addhi3_h8sx): New pattern, with alternatives for add.w #xx:3
- 	and sub.w #xx:3.
- 	(ashl[qhs]i3, lshr[qhs]i3, ashr[qhs]i3, rotl[qhs]i3): Change operand
- 	1's predicate to nonimmediate_operand.  Only skip default expansion
- 	if expand_a_shift or expand_a_rotate returns true.  Add new patterns
- 	for single h8sx shift instructions.
- 	2003-05-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (nibble_operand): Split out of...
- 	(reg_or_nibble_operand): ... this.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Added nibble_operand.
- 	* config/h8300/h8300.md: (mulqihi3, mulhisi3, umulqihi3,
- 	umulhisi3): Introduce expand, and introduce separate insns for
- 	sign- or zero-extended REG and already-extended CONST_INT.
- 	2003-05-20  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.c (h8300_unary_length): Fix miscounting.
- 	* config/h8300/h8300.md (subqi3): Generalize for h8sx.
- 	(subhi3): Likewise.  Don't accept immediates for operand 1.
- 	Remove the early clobber from second alternative of the h8300s pattern.
- 	(subsi3): Generalize for h8sx.  Force operand 2 into a register
- 	on plain h8300 targets.
- 	(subsi3_h8300): Use h8300_dst_operand for consistency with expander.
- 	(subsi3_h8300h): Generalize for h8sx.
- 	(one_cmplqi2, one_cmplhi2, one_cmplsi2): Likewise.
- 	2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (reg_or_nibble_operand): New.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
- 	(TARGET_H8300SXMUL): New.
- 	(CONST_OK_FOR_P): New.
- 	(CONST_OK_FOR_LETTER_P): Adjust.
- 	* config/h8300/h8300.md (mulqihi3, mulhisi3, umulqihi3,
- 	umulhisi3): Accept 4-bit immediate on H8SX.
- 	(mulhi3, mulsi3, smulsi3_highpart, umulsi3_highpart): New.
- 	(udivsi3, divhi3, udivsi3, divsi3): New.
- 	2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300-protos.h (h8300_insn_length_from_table): Declare.
- 	* config/h8300/h8300.h (OK_FOR_Q): New macro.
- 	(EXTRA_CONSTRAINT): Use it to check the 'Q' constraint.
- 	(PREDICATE_CODES): Add h8300_src_operand and h8300_dst_operand.
- 	Add ADDRESSOF to the bit_operand entry.
- 	* config/h8300/h8300.c (h8300_dst_operand): New predicate.
- 	(h8300_src_operand): Likewise.
- 	(bit_operand): Check nonimmediate_operand rather than general_operand.
- 	Accept any nonimmediate_operand in h8sx code.
- 	(h8300_and_costs): Initialize operands[1].
- 	(h8300_rtx_costs) <AND>: Return false if the operands aren't valid.
- 	(h8300_operand_class): New enum.
- 	(h8300_length_table): New typedef.
- 	(addb_length_table, addw_length_table, addl_length_table,
- 	logicl_length_table): New tables.
- 	(logicb_length_table, logicw_length_table): New macros.
- 	(h8300_classify_operand, h8300_length_from_table,
- 	h8300_length_table_for_insn, h8300_unary_length,
- 	h8300_insn_length_from_table): New functions.
- 	(output_plussi): Only use adds and subs for register destinations.
- 	Disable redundant clause.
- 	(compute_plussi_cc): Likewise.
- 	(compute_plussi_length): Likewise.  Use h8300_length_from_table
- 	to work out the length of an insn.
- 	(output_logical_op): Only use narrower immediate instructions
- 	if the destination is a register.
- 	(compute_logical_op_cc): Likewise.
- 	(compute_logical_op_length): Likewise.  Use h8300_length_from_table.
- 	(h8300_adjust_insn_length): Tighten check for reg<->mem moves.
- 	* config/h8300/h8300.md (length_table): New attribute.
- 	(length): When an instruction has a length_table attribute, use
- 	h8300_insn_length_from_table to calculate its default length.
- 	(cmpqi): Use h8300_dst_operand for the first operand and
- 	h8300_src_operand for the second.
- 	(cmphi, *cmphi_h8300hs, cmpsi, negqi2, neghi2, neghi2_h8300h, negsi2,
- 	negsi2_h8300h, addqi3, addhi3, *addhi3_h8300, *addhi3_h8300hs, addsi3,
- 	addsi_h8300, addsi_h8300h, andhi3, andsi3, iorhi3,
- 	iorsi3, xorhi3, xorsi3): Likewise.
- 	(andqi3): Use h8300_src_operand for operand 2.  Adjust the condition
- 	so that it allows any combination of operands for TARGET_H8300SX.
- 	(iorqi3, xorqi3): Likewise.
- 	(cmpqi): Use the length_table attribute.
- 	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, andqi3, iorqi3,
- 	xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
- 	(cmpqi): Add 'Q' constraint.
- 	(*cmphi_h8300hs, cmpsi, addqi, *addhi3_h8300hs, addsi_h8300h, andqi3,
- 	iorqi3, xorqi3, negqi2, neghi2_h8300h, negsi2_h8300h): Likewise.
- 	2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
- 	* config/h8300/h8300.h (MASK_H8300SX): New macro.
- 	(TARGET_H8300S): True for both -ms and -msx.
- 	(TARGET_H8300SX): New macro.
- 	(TARGET_SWITCHES): Add entries for -msx and -mno-sx.
- 	* config/h8300/h8300.c (asm_file_start): Write .h8300sx for -msx.
- 	* config/h8300/elf.h (LINK_SPEC): Use -m h8300sxelf for -msx.
- 	* config/h8300/t-h8300 (MULTILIB_MATCHES): Use -ms multilibs for -msx.
- 	[Temporary change.]
- 	2003-02-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.h (SIZE_TYPE, PTRDIFF_TYPE): Use short with
- 	16-bit pointers and 32-bit ints.
- 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Accept
- 	CONST_DOUBLE with mode no wider than SImode.
- 	* config/h8300/h8300.md (extendqisi2_h8300): Add constraints for
- 	output operand.
- 	2003-02-27  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (general_operand_src): Match CONSTANT_P_RTX
- 	or SUBREG thereof.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Adjust.
- 	2003-02-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/h8300/h8300.c (dosize): Truncate sign * size to Pmode.
- 
- 2004-05-28  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
- 
- 	* config.gcc (i[34567]86-*-mingw32*): Enable threads by default.
- 
- 2004-07-07  Per Bothner  <per@bothner.com>
- 
- 	* flow.c (attempt_auto_inc):  Remove now-redundant PUT_CODE.
- 
- 2004-07-07  Mike Stump  <mrs@apple.com>
- 
- 	* darwin.h (ASM_OUTPUT_LABELREF): Fix -fno-leading-underscore.
- 	* darwin.c (machopic_non_lazy_ptr_name, machopic_stub_name)
- 	(machopic_finish): Likewise.
- 
- 2004-07-07  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Look
- 	through any value-preserving cast.
- 
- 2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* function.c (assign_parm_find_data_types): Call
- 	FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined.
- 
- 2004-07-07  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-cfg.c (group_case_labels): Remove case labels that have
- 	the same target as the default case.
- 
- 2004-07-07  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-inline.c (optimize_inline_calls): Set DECL_INLINED_FNS
- 	regardless of DECL_LANG_SPECIFIC being present or not.
- 	* tree.h (DECL_NUM_STMTS): Purge.
- 
- 2004-07-07  Andrew Pinski  <apinski@apple.com>
- 
- 	* configure: Regenerate with the right autoconf.
- 
- 2004-07-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* ifcvt.c (total_bb_rtx_cost): New function.
- 	(find_if_case_1): Compare rtx_cost of basic block to cost of
- 	BRANCH_COST insns.
- 	(find_if_case_2): Same.
- 
- 2004-07-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/10567
- 	* config/sparc/sparc.c (load_pic_register): Honor flag_delayed_branch.
- 	(output_return): Likewise.
- 	(output_sibcall): Abort if !flag_delayed_branch.
- 	(sparc_function_ok_for_sibcall): Return 0 if !flag_delayed_branch.
- 	(emit_and_preserve): New function.
- 	(sparc_output_mi_thunk): Use it.  Honor flag_delayed_branch.  Emit an
- 	indirect jump to the thunked-to function if !flag_delayed_branch.
- 	* config/sparc/sparc.md (delayed_branch): New attribute.
- 	(load_pcrel_sym): Honor flag_delayed_branch.  Use above
- 	attribute to compute the length of the insn.
- 	(goto_handler_and_restore): Likewise.
- 
- 2004-07-07  Andrew Pinski  <apinski@apple.com>
- 
- 	PR tree-optimization/15777
- 	* fold-const.c (fold_single_bit_test): Fold the x^1 expression.
- 
- 	* expr.c (expand_expr_real_1): Fix formating.
- 	BUFFER_REF and IN_EXPR are dead.
- 	* fold-const.c (non_lvalue): BUFFER_REF is dead.
- 	* tree-inline.c (estimate_num_insns_1): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): BUFFER_REF,
- 	IN_EXPR, SET_LE_EXPR, and CARD_EXPR are dead.
- 	* tree.def (BUFFER_REF, IN_EXPR, SET_LE_EXPR, CARD_EXPR): Kill.
- 
- 2004-07-07  H.J. Lu  <hongjiu.lu@intel.com>
- 
- 	* collect2.c (dump_file): Don't call cplus_demangle if
- 	HAVE_LD_DEMANGLE is defined.
- 	(main): Pass "--demangle" to ld if no_demangle is not 0 and
- 	HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style
- 	if HAVE_LD_DEMANGLE is defined.
- 
- 	* configure.ac (--with-demangler-in-ld): Added
- 	(HAVE_LD_DEMANGLE): Define if ld supports --demangle when
- 	--with-demangler-in-ld is used.
- 	* config.in: Regenerated.
- 	* configure: Likewise.
- 
- 2004-07-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/rs6000.c (struct processor_costs): Add new fields
- 	for simple floating point operations "fp", double precision
- 	multiplication "dmul", and single and double precision division
- 	"sdiv" and "ddiv".  Update all CPU variant tables as appropriate.
- 	(ppc630_cost): New table split from ppc620_cost, to distinguish
- 	differences in floating point latencies.
- 	(rs6000_override_options): Use ppc630_cost for PROCESSOR_PPC630.
- 	(rs6000_rtx_costs): Add support for single and double precision
- 	floating point addition, subtraction, multiplication, division,
- 	fused-multiply-add, fused-multiply-sub, negation, absolute value
- 	and negative absolute value.  Tweak MEM case to use prefered idiom.
- 
- 2004-07-07  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-flow-inline.h (may_propagate_copy): Move...
- 	* tree-ssa-copy.c (may_propagate_copy): ... here.  Fail if we
- 	attempt to copy between types requiring conversion.
- 	* tree-flow.h (may_propagate_copy): Update decl.
- 	* tree-ssa-dom.c (cprop_operand): Tidy redundant tests.
- 
- 2004-07-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Don't set x86_prefetch_sse
- 	from -mtune= option.
- 
- 2004-07-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* builtins.c: Rename movstr*, except for movstrict*, to
- 	movmem* and clrstr* to clrmem*.
- 	* expr.c: Likewise.
- 	* expr.h: Likewise.
- 	* genopinit.c: Likewise.
- 	* integrate.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* optabs.c: Likewise.
- 	* optabs.h: Likewise.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/alpha/alpha.md: Likewise.
- 	* config/arm/arm-protos.h: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/avr/avr.md: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/i386/i386-protos.h: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i860/i860.c: Likewise.
- 	* config/i860/i860.md: Likewise.
- 	* config/ip2k/ip2k.md: Likewise.
- 	* config/ip2k/libgcc.S: Likewise.
- 	* config/ip2k/t-ip2k: Likewise.
- 	* config/m32r/m32r.c: Likewise.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/mcore/mcore.md: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/ns32k/ns32k.c: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/ns32k/ns32k.md: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pa/pa.md: Likewise.
- 	* config/pdp11/pdp11.h: Likewise.
- 	* config/pdp11/pdp11.md: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/s390/s390-protos.h: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/s390/s390.md: Likewise.
- 	* config/sh/lib1funcs.asm: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.md: Likewise.
- 	* config/sh/t-sh: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/vax/vax.md: Likewise.
- 	* config/xtensa/xtensa.c: Likewise.
- 	* config/xtensa/xtensa.md: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 
- 2004-07-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16407
- 	* config/mips/mips-protos.h (mips_declare_common_object): Declare.
- 	* config/mips/mips.c (mips_declare_common_object): New function,
- 	mostly split out from...
- 	(mips_output_aligned_decl_common): ...here.
- 	* config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
- 	(ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
- 	* config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
- 	rather than ASM_OUTPUT_LOCAL.  Call mips_declare_common_object.
- 
- 2004-07-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR c/16392
- 	* function.c (assign_parms): Fix typo from previous change.
- 
- 2004-07-07  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/15815
- 	* doc/extend.texi (C++ Interface): Correct information and
- 	discourage use.
- 
- 2004-07-07  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR target/16130
- 	PR target/16142
- 	PR target/16143
- 	* config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
- 	insn.
- 
- 2004-07-06  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	PR target/1679.
- 	* config/m32r/m32r.c (m32r_function_symbol): New function:
- 	Generate a symbol name RTX with the correct m32r specific flags
- 	set.
- 	(block_move_call): Use new function to generate correct symbol.
- 	* config/m32r/m32r-protos.h: Add prototype for new funcion.
- 	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
- 	function.
- 
- 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (TYPE_BINFO_OFFSET, TYPE_BINFO_VTABLE,
- 	TYPE_BINFO_VIRTUALS, TYPE_BINFO_BASETYPES,
- 	TYPE_BINFO_BASETYPE): Remove.
- 	(BINFO_BASETYPES, BINFO_N_BASETYPES, BINFO_BASETYPE): Rename
- 	to ...
- 	(BINFO_BASE_BINFOS, BINFO_N_BASE_BINFOS, BINFO_BASE_BINFO): ...
- 	here.
- 	(BINFO_BASEACCESSES, BINFO_BASEACCESS): Rename to ...
- 	(BINFO_BASE_ACCESSES, BINFO_BASE_ACCESS): ... here.
- 	(BINFO_INHERITANCE_CHAIN): Redocument as it is actually used.
- 	(struct tree_binfo): Rename base_types to base_binfos.
- 	* alias.c (record_component_aliases): Adjust BINFO macros.
- 	* dbxout.c (dbxout_type): Likewise.
- 	* dwarf2out.c (gen_member_die): Likewise.
- 	* sdbout.c (sdbout_one_type): Likewise.
- 	* tree-dump.c (deque_and_dump): Likewise.
- 	* config/i386/i386.c (classify_argument,
- 	contains_128bit_aligned_vector_p): Likewise.
- 
- 2004-07-07  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/fr30/fr30.c (fr30_setup_incoming_varargs): Change
- 	arguments to match TARGET_SETUP_INCOMING_VARARGS prototype.
- 
- 2004-07-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h: Fix the example use.
- 
- 2004-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* langhooks-def.h (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Remove.
- 	* langhooks.h (struct lang_hooks): Remove gimple_before_inlining.
- 	* tree-inline.c (copy_body_r, setup_one_parameter,
- 	initialize_inlined_parameters, expand_call_inline,
- 	declare_inline_vars): Don't check it.
- 	(expand_calls_inline): Remove old version, rename new version
- 	from gimple_expand_calls_inline.
- 	* tree-optimize.c (execute_gimple): Remove.
- 	(pass_gimple): Don't run anything.
- 
- 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/sourcebuild.texi: Use semicolons instead of commas in
- 	section title.
- 
- 2004-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-sra.c (struct sra_walk_fns): Revert 2004-07-05 change.
- 	(sra_walk_modify_expr, scan_init): Likewise.
- 	(generate_element_zero): Check visited before scanning children.
- 	(generate_element_init): Set visited on error.
- 	(scalarize_init): Handle generate_element_init failure similar
- 	to use_block_copy.
- 
- 2004-07-06  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Define.
- 	(warning, error, pedwarn, sorry): Use ATTRIBUTE_GCC_FE_DIAG.
- 
- 2004-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (legitimize_pic_address): Make static.
- 	(legitimize_address): Handle CONST with TLS operand.
- 	(ix86_expand_move): Don't call legitimize_pic_address directly.
- 	* config/i386/i386-protos.h (legitimize_pic_address): Remove.
- 
- 2004-07-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* ifcvt.c (struct noce_if_info): Add a Boolean b_unconditional field.
- 	(noce_try_sign_mask): Tweak rtx_cost check if t is evaluated anyway.
- 	(noce_process_if_block): Initialize if_info.b_unconditional if insn_b
- 	is currently executed unconditionally, i.e. not in "else_bb".
- 
- 2004-07-06  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/alpha/alpha.c (alpha_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/frv/frv.c (frv_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/i386/i386.c (ia32_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/ia64/ia64.c (ia64_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/pa/pa.c (hhpa_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/sparc/sparc.c (sparc_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 	* config/v850/v850.c (v850_use_dfa_pipeline_interface): Remove.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define to hook_int_void_1.
- 
- 2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* dojump.c (do_jump): REFERENCE_EXPR is dead.
- 	* expr.c (expand_expr_real_1): Ditto.
- 	* tree-inline.c (estimate_num_insns_1): Ditto.
- 	* tree-pretty-print.c (dump_generic_node): Ditto.
- 	(op_symbol): Ditto.
- 	* tree.def: Ditto.
- 
- 2004-07-06  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (reference_node_pool): New pool.
- 	(find_or_generate_expression): Class 'r' is okay too.
- 	(create_value_expr_from): Ditto.
- 	(add_to_sets): LHS should not include vuses.
- 	(eliminate): Ditto.
- 	(compute_avail): Reverse ordering of tests.
- 	Valuize INDIRECT_REF as well.
- 
- 2004-07-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR rtl-optimization/16380
- 	* loop.c (check_dbra_loop): Sink comparison instructions if they
- 	do something other than set cc0.
- 
- 2004-07-06  James E Wilson  <wilson@specifixinc.com>
- 
- 	* doc/interface.texi (longjmp and automatic variables): Delete
- 	paragraph recommending taking the address of a variable.
- 
- 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* vec.h (VEC_embedded_alloc): Remove.
- 	(VEC_embedded_size, VEC_embedded_init): New.
- 	(VEC_alloc, VEC_reserve, VEC_safe_push, VEC_safe_insert): Add
- 	MEM_STAT_INFO.
- 	(VEC_truncate): New.
- 	(vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL.
- 	(vec_embedded_alloc): Remove.
- 	* vec.c (vec_p_reserve, vec_o_reserve): Add MEM_STAT_DECL, adjust.
- 	(vec_embedded_alloc): Remove.
- 
- 2004-07-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (langhooks.o): Do not depend on gt-langhooks.h.
- 	(gt-langhooks.h): Remove.
- 
- 2004-07-06  George Helffrich <george@gly.bris.ac.uk>
- 
- 	* xcoffout.h (DBX_FINISH_SYMBOL): Fix typo.
- 
- 2004-07-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (get_pc_symbol): Rename into
- 	add_pc_to_pic_symbol.
- 	(get_pc_symbol_name): Rename into add_pc_to_pic_symbol_name.
- 	(load_pic_register): Account for previous changes.
- 	Use reg_names.  Don't create the label twice.
- 	* config/sparc/sparc.md (UNSPEC_GET_PC): Rename into
- 	UNSPEC_LOAD_PCREL_SYM.
- 	(get_pc): Rename into load_pcrel_sym.  Add predicate to
- 	operands.  Remove condition.
- 
- 2004-07-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* dbxout.c (dbxout_type): Don't test whether the binfo slot of
- 	RECORD, UNION & QUAL_UNION is actually a binfo.
- 
- 	* tree.h (TREE_VIA_VIRTUAL): Rename to ...
- 	(BINFO_VIRTUAL_P): ... here. Require TREE_BINFO only.
- 	(BINFO_MARKED, BINFO_FLAG_[16]): New binfo flags.
- 	* dbxout.c (dbxout_type): Use BINFO_VIRTUAL_P.
- 	* dwarf2out.c (add_data_member_location_attribute): Likewise.
- 	(gen_inheritance_die): Likewise.
- 	* tree-dump.c (deque_and_dump): Likewise.
- 	* doc/c-tree.texi (Binfos): Add under reconstruction note.
- 
- 2004-07-06  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/mcore/mcore.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
- 	Define.
- 	* config/mcore/mcore.md: Model memory latency with a simple DFA
- 	pipeline description instead of a define_function_unit.
- 
- 2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Extra arg.
- 	* langhooks.h (var_mod_type_p): Likewise.
- 	* c-decl.c (finish_decl): Add extra arg to variably_modified_type_p.
- 	* expr.c (count_type_elements): Properly handle return from
- 	array_type_nelts and properly test for overflow.
- 	* gimplify.c (gimplify_init_constructor): Properly handle return
- 	from array_type_nelts.
- 	(gimplify_addr_expr): Remove redundant clear of TREE_SIDE_EFFECTS.
- 	* integrate.c (copy_decl_for_inlining): Correct comments.
- 	* tree-inline.c (remap_decl): Update comments, remove dead code,
- 	and copy DECL_FIELD_OFFSET and DECL_QUALIFIER, if they exist.
- 	(remap_type): Only remap if variably modified by vars in function
- 	being inlined.
- 	(copy_body_r): Use compatible_type langhooks to see when can fold.
- 	(setup_one_parameter): Don't remap type.
- 	(inline_forbidden_p_1): Add arg to variably_modified_type_p.
- 	* tree.c (recompute_tree_invarant_for_addr_expr): Properly
- 	compute TREE_INVARIANT for decl case.
- 	(find_var_from_fn): New function.
- 	(variably_modified_type_p): Add arg and call new function.
- 	* tree.h (variably_modified_type_p): Add extra arg.
- 
- 2004-07-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.md (nonlocal_goto): Remove disabled code.
- 	(goto_handler_and_restore_v9): Delete disabled insn.
- 	(goto_handler_and_restore_v9_sp64): Likewise.
- 
- 2004-07-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* calls.c (load_register_parameters): Call expand_shift instead
- 	of expand_binop with ashl_optab (or other shift optab) directly.
- 	* expr.c (emit_group_load, emit_group_store): Likewise.
- 	* function.c (assign_parm_setup_block): Likewise.
- 	* stmt.c (shift_return_value): Likewise.
- 
- 2004-07-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_assignment): Disable the bitfield += optimizations.
- 
- 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/sourcebuild.texi: Revert previous patch.
- 
- 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c, config/m32r/m32r.c, expr.c, optabs.c: Don't check
- 	TARGET_MEM_FUNCTIONS.
- 	* system.h: Poison TARGET_MEM_FUNCTIONS.
- 	* libfuncs.h (LTI_bcopy, LTI_bcmp, LTI_bzero, bcopy_libfunc,
- 	bcmp_libfunc, bzero_libfunc): Remove.
- 	* optabs.c (init_obtabs): Don't set bcopy_libfunc, bcmp_libfunc or
- 	bzero_libfunc.
- 	* doc/tm.texi (TARGET_MEM_FUNCTIONS): Remove.
- 	* doc/standards.texi: Don't mention calling BSD string functions.
- 	* doc/invoke.texi: Likewise.  Mention that memmove may be called.
- 	* config/vax/t-memfuncs: New.
- 	* config/memcmp.c, config/memcpy.c, config/memmove.c,
- 	config/memset.c: New.
- 	* config/pdp11/t-pdp11 (LIB2FUNCS_EXTRA): Use these files.
- 	* config.gcc (vax-*-bsd*, vax-*-sysv*, vax-*-ultrix*): Use
- 	vax/t-memfuncs.
- 	* config/alpha/alpha.h, config/arc/arc.h, config/arm/arm.h,
- 	config/avr/avr.h, config/c4x/c4x.h, config/cris/aout.h,
- 	config/elfos.h, config/gnu.h, config/h8300/h8300.h,
- 	config/i386/gas.h, config/ia64/ia64.h, config/interix.h,
- 	config/ip2k/ip2k.h, config/lynx-ng.h, config/m32r/m32r.h,
- 	config/mcore/mcore.h, config/mips/mips.h, config/mmix/mmix.h,
- 	config/netbsd.h, config/openbsd.h, config/pa/pa.h,
- 	config/rs6000/rs6000.h, config/rtems.h, config/s390/s390.h,
- 	config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
- 	config/svr3.h: Don't define TARGET_MEM_FUNCTIONS.
- 
- 2004-07-05  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (assign_parm_setup_reg): Properly rename variables in
- 	FUNCTION_ARG_CALLEE_COPIES section.
- 
- 2004-07-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree-mudflap.c: Include cgraph.h.
- 	(mf_init_extern_trees): Rename to mudflap_init.  Export.
- 	Rewrite to create synthetic declarations instead of looking
- 	up declarations from mf-runtime.h.
- 	(mf_make_builtin, mf_make_cache_struct_type): New functions.
- 	(mf_cache_shift_decl, mf_cache_mask_decl, mf_unregister_fndecl):
- 	Correct commentary.
- 	(execute_mudflap_function_decls, mudflap_register_call):
- 	Don't call mf_init_extern_trees.
- 	(mudflap_finish_file): Use cgraph_build_static_cdtor.
- 
- 	* tree-mudflap.h: Update prototypes.
- 	* c-mudflap.c: Delete file.
- 	* c-common.c: Include tree-mudflap.h.
- 	(c_common_nodes_and_builtins): Call mudflap_init if appropriate.
- 	* Makefile.in: Remove all references to c-mudflap.o.
- 	Update dependencies.
- 
- 2004-07-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md (prefetch, prefetch_32, prefetch_64): Only allow short
- 	displacements with the spatial-locality cache-control completer.
- 
- 2004-07-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* langhooks.c: Don't include gt-langhooks.h.
- 	(var_labelno): Delete.
- 	(lhd_set_decl_assembler_name): Do not append a distinguishing
- 	number to file-scope internal-linkage declarations for the first
- 	input file, even if they have DECL_CONTEXT set.  Use DECL_UID of
- 	the declaration itself (if at block scope), or its containing
- 	TRANSLATION_UNIT_DECL (if at file scope) for the distinguishing
- 	number.
- 
- 	* opts.c (cur_in_fname): New global.
- 	* opts.h: Declare it.
- 	* tree.c: Include opts.h.
- 	(make_node_stat): If creating a TRANSLATION_UNIT_DECL, give it
- 	DECL_UID equal to cur_in_fname.
- 	(copy_node_stat): Do not change DECL_UID when copying a
- 	TRANSLATION_UNIT_DECL.
- 	(build_common_tree_nodes): Adjust next_decl_uid to reserve the
- 	range 0 .. num_in_fnames-1 for TRANSLATION_UNIT_DECLs.
- 
- 	* c-decl.c (c_static_assembler_name): Delete.
- 	* c-tree.h (c_static_assembler_name): Delete prototype.
- 	* c-lang.c, objc/objc-lang.c: Don't override
- 	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME.
- 
- 	* Makefile.in (tree.o): Update dependencies.
- 	(GTFILES): Remove langhooks.c.
- 
- 2004-07-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) <TRUNC_MOD_EXPR>: Optimize unsigned modulus
- 	by a power of two into a bit-wise AND, i.e. "X % C" as "X & (C-1)".
- 	Normalize "X % C" as "X % -C" for signed modulus and negative C.
- 	Optimize "X % -Y" as "X % Y" for signed modulus.
- 	<EQ_EXPR>: Recursively call "fold" when transforming "(X % Y) == 0"
- 	into "((unsigned) X % Y) == 0".
- 
- 2004-07-05  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* sourcebuild.texi (Config Fragments): Use @comma{} in
- 	cross-reference to section title.
- 
- 2004-07-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (DECL_SEEN_IN_BIND_EXPR_P): New macro.
- 	* gimplify.c (gimple_add_tmp_var, gimplify_bind_expr): Use it.
- 	(gimplify_target_expr, gimplify_expr): Likewise.
- 	(copy_if_shared_r): No longer need special case for BIND_EXPR.
- 	(unshare_body, unvisit_body): Only look at nested if BODY_P is
- 	whole function.
- 	(gimplify_compound_lval): See if we can strip any useless conversion.
- 	(gimplify_modify_expr, gimplify_modify_expr_to_memcpy): Take size
- 	from RHS, not LHS.
- 	(gimplify_modify_expr_to_memset): Likewise.
- 	(gimplify_expr, case CONSTRUCTOR): Handle use as statement.
- 	* tree-inline.c (setup_one_parameter): Use DECL_SEEN_IN_BIND_EXPR_P.
- 	(declare_inline_vars): Likewise.
- 	(walk_type_fields): New function.
- 	(walk_tree): Use it.
- 	* tree-nested.c (create_tmp_var_for): Show seen in BIND_EXPR.
- 
- 	* tree-sra.c (struct sra_walk_fns): Init function now returns bool.
- 	(sra_walk_modify_expr): Allow init function to fail.
- 	(scan_init): Now returns bool.
- 	(generate_element_init): If can't understand INIT, return false.
- 	(scalarize_init): Return false if generate_element_init does.
- 
- 	* tree-pretty-print.c (dump_generic_node, case ARRAY_TYPE): Properly
- 	print bounds.
- 
- 	* expr.c (expand_expr_real_1, case SWITCH_EXPR): Don't check against
- 	bounds if bounds aren't constant.
- 
- 	* tree-cfg.c (verify_expr): Use CHECK_OP in binary case.
- 
- 	* function.c, langhooks-def.h, langhooks.h: Move max_size hook
- 	to type hooks; remove bogus PARAMS.
- 
- 2004-07-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Use TYPE_LANG_SLOT_1.
- 	* dwarf2out.c (add_data_member_location_attribute): Check for
- 	TREE_BINFO.
- 	* tree.c (tree_node_kinds): Add "binfos".
- 	(binfo_lang_slots): New.
- 	(make_node_stat): Add TREE_BINFO.
- 	(make_tree_binfo_stat): New.
- 	(tree_node_structure): Add TREE_BINFO.
- 	* tree.def (TREE_BINFO): New.
- 	* tree.h (REC_OR_UNION_CHECK): Rename to ...
- 	(RECORD_OR_UNION_CHECK): ... here.
- 	(NOT_RECORD_OR_UNION_CHECK): New.
- 	(TRE_VIA_VIRTUAL): Allow TREE_LIST or TREE_BINFO.
- 	(TYPE_FIELDS, TYPE_METHODS, TYPE_VFIELD): Adjust for
- 	RECORD_OR_UNION_CHECK.
- 	(TYPE_BINFO): Use RECORD_OR_UNION_CHECK.
- 	(TYPE_LANG_SLOT_1): New.
- 	(BINFO_TYPE, BINFO_OFFSET, BINFO_VTABLE, BINFO_VIRTUALS,
- 	BINFO_BASETYPES, TYPE_BINFO_BASETYPES, BINFO_VPTR_FIELD,
- 	BINFO_BASEACCESSES, BINFO_INHERITANCE_CHAIN): Adjust.
- 	(BINFO_ELTS): Remove.
- 	(BINFO_LANG_SLOT): New.
- 	(struct tree_binfo): New.
- 	(binfo_lang_slots): Declare.
- 	(enum tree_node_structure_enum): Add TS_BINFO.
- 	(union tree_node): Add binfo.
- 	(make_tree_binfo_stat): Declare.
- 	(make_tree_binfo): New.
- 	(enum tree_node_kind): Add binfo_kind.
- 
- 	* objc/objc-act.c (start_class, objc_declare_protocols,
- 	start_protocols): Use TYPE_LANG_SLOT_1.
- 	* objc/objc-act.h (CLASS_BINFO_ELTS, PROTOCOL_BINFO_ELTS): Rename
- 	to ...
- 	(CLASS_LANG_SLOT_ELTS, PROTOCOL_LANG_SLOT_ELTS): ... here.
- 	(CLASS_IVARS, CLASS_RAW_IVARS, CLASS_STATIC_TEMPLATE,
- 	CLASS_CATEGORY_LIST, CLASS_PROTOCOL_LIST, CLASS_OWN_IVARS,
- 	PROTOCOL_LIST, PROTOCOL_FORWARD_DECL): Use TYPE_LANG_SLOT_1.
- 
- 2004-07-05  Steven Bosscher  <stevenb@suse.de>
- 
- 	* rtl.h (struct rtx_def): Remove the integrated flag.
- 	Use the return_val flag for MEM_SCALAR_P.
- 	Reshuffle and update flags in CLEAR_RTX_FLAGS.
- 
- 2004-07-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/16357
- 	* config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
- 	to mips_expand_unaligned_load, mips_expand_unaligned_store, and
- 	move_by_pieces.
- 
- 2004-07-05  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* var-tracking.c: Fix some comments.
- 	(frame_stack_adjust): New.
- 	(vt_stack_adjustments): Init stack_adjust of entry block to
- 	minus stack adjustment of function prologue.
- 	(adjust_stack_reference): Do not adjust if adjustment == 0.
- 	(compute_bb_dataflow): Use plus_constant instead of gen_rtx_PLUS.
- 	(emit_notes_in_bb): Likewise.
- 	(vt_add_function_parameters): Do not adjust locations of
- 	function arguments.
- 	(vt_initialize): Compute the stack adjustment of function
- 	prologue and offset the initial "location" of frame_base_decl
- 	from the stack pointer after prologue.
- 
- 2004-07-04  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (struct assign_parm_data_all): New.
- 	(struct assign_parm_data_one): New.
- 	(assign_parms_initialize_all, assign_parms_augmented_arg_list,
- 	assign_parm_find_data_types, assign_parms_setup_varargs,
- 	assign_parm_find_entry_rtl, assign_parm_is_stack_parm,
- 	assign_parm_find_stack_rtl, assign_parm_adjust_entry_rtl,
- 	assign_parm_adjust_stack_rtl, assign_parm_setup_block_p,
- 	assign_parm_setup_block, assign_parm_setup_reg,
- 	assign_parm_setup_stack, assign_parms_unsplit_complex): Split from ...
- 	(assign_parms): ... here.
- 
- 2004-07-04  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-ssa-pre.c (bb_value_sets): phi_gen, tmp_gen, new_sets
- 	now are bitmap_set_t's.
- 	(bitmap_insert_into_set): No point in inserting the value if
- 	it's invariant.
- 	(bitmap_set_contains): New function.
- 	(bitmap_set_replace_value): Add comment on why we do it
- 	this way.
- 	(set_contains): Removed.
- 	(bitmap_set_subtract_from_value_set): New name of
- 	set_subtract now that it's arguments are two different
- 	types of sets.
- 	Update callers.
- 	(bitmap_find_leader): Change algorithm used.
- 	(find_or_generate_expression): Update use of functions for new
- 	bitmap sets.
- 	(create_expression_by_pieces): Ditto.
- 	(insert_aux): Ditto.
- 	(insert): Ditto.
- 	(add_to_sets): Ditto.
- 	(init_pre): Ditto.
- 	(execute_pre): Ditto.
- 	(compute_avail): Ditto.
- 	Also ignore virtual phis.
- 
- 2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* combine.c (simplify_comparison): Fix comment typo.
- 
- 2004-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): Rename
- 	into LEAF_SIBCALL_SLOT_RESERVED_P after negation.
- 	(eligible_for_sibcall_delay): Adjust use of SIBCALL_SLOT_EMPTY_P.
- 	(output_restore): Change parameter from 'insn' to 'pat'.
- 	(output_return): Adjust call to output_restore.
- 	(output_sibcall): Adjust use of SIBCALL_SLOT_EMPTY_P.
- 	Adjust call to output_restore.
- 
- 2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
- 
- 	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_COMMON): Define __unix__
- 	and assert system is bsd.
- 
- 2004-07-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_DEBUG_C, TARGET_DEBUG_C_MODE): Delete.
- 	(TARGET_SWITCHES): Remove -mdebugc.
- 	* config/mips/mips.md (seq, sne, sgt, sge, slt, sle, sgtu, sgeu)
- 	(sltu, sleu): Remove TARGET_DEBUG_C_MODE handling.
- 	(seq_[sd]i, sne_[sd]i, sge_[sd]i, sle_[sd]i_reg, sgeu_[sd]i)
- 	(sle_[sd]i_reg): Delete.
- 
- 2004-07-04  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/iq2000/iq2000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
- 	Define.
- 	* config/iq2000/iq2000.md: Translate old pipeline description to an
- 	equivalent new one.
- 
- 2004-07-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree-ssa-ccp.c (set_rhs): Change function to return a bool.
- 	Ensure the replacement rhs is valid gimple before performing
- 	the substitution.  Return false if these sanity checks fail.
- 	(fold_stmt): Only set changed to true, if set_rhs returns true.
- 	(execute_fold_all_builtins): Only call modify_stmt if set_rhs
- 	succeeds.
- 
- 2004-07-04  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/16348
- 	* c-typeck.c (c_finish_loop): Don't clear cond for cond_is_first loops.
- 
- 2004-07-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.ac (ranlib_flags): New variable.
- 	* Makefile.in (RANLIB_FLAGS): New variable.
- 	(libbackend.a): Use it.
- 	* configure: Regenerated.
- 
- 2004-07-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* ifcvt.c (noce_try_sign_mask): Call emit_store_flag to generate
- 	a "sign mask" instead of using ashr_optab directly.
- 
- 2004-07-04  Neil Booth  <neil@duron.akihabara.co.uk>
- 
- 	* doc/cpp.texi: Don't document what we do for ill-formed expressions.
- 	* doc/cppopts.texi: Clarify processing of command-line defines.
- 
- 2004-07-04  Gerald Pfeifer  <gerald@pfeifer.com>
- 
- 	* doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
- 
- 2004-07-04  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.def (ADDRESSOF): Remove.
- 	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
- 	(find_base_term, memrefs_conflict_p): Likewise.
- 	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
- 	(fold_rtx, cse_insn, set_live_p): Likewise.
- 	* dwarf2out.c (mem_loc_descriptor): Likewise.
- 	(add_location_or_const_value_attribute): Likewise.
- 	* emit-rtl.c (copy_insn_1): Likewise.
- 	* explow.c (memory_address): Likewise.
- 	* expmed.c (store_split_bit_field): Likewise.
- 	* expr.c (expand_expr_real_1): Likewise.
- 	* function.c (instantiate_decl
- 	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
- 	* genrecog.c (preds, validate_pattern): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* recog.c (general_operand, register_operand): Likewise.
- 	(memory_address_p): Likwise.
- 	* reload1.c (eliminate_regs, elimination_effects): Likewise.
- 	* rtl.c (copy_rtx): Likewise.
- 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
- 	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
- 	* rtlhooks.c (gen_lowpart_general): Likewise.
- 	* stmt.c (expand_asm_operands): Likewise.
- 	* web.c (entry_register, replace_ref, web_main): Likewise.
- 	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
- 	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
- 	* config/arm/arm.c (thumb_rtx_costs): Likewise.
- 	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
- 	* config/frv/frv.c (move_destination_operand, move_source_operand,
- 	condexec_dest_operand, condexec_source_operand,
- 	condexec_memory_operand): Likewise.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
- 	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
- 	(destination_xfmode_operand): Likewise.
- 	* config/mips/mips.h (PREDICATE_CODES): Likewise.
- 	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
- 	* config/s390/s390.c (general_s_operand): Likewise.
- 	* config/s390/s390.md (mov*): Likewise.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
- 
- 	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
- 	* expr.c (expand_expr_real_1): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
- 
- 	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
- 	postponed_insns, put_var_into_stack, put_reg_into_stack,
- 	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
- 	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
- 	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
- 	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
- 	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
- 	purge_bitfield_addressof_replacements, purge_addressof_replacements,
- 	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
- 	struct insns_for_mem_walk_info, insns_for_mem_walk,
- 	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
- 	setjmp_protect_args): Remove.
- 	(push_function_context_to): Don't handle var_refs_queue.
- 	(pop_function_context_from, free_after_compilation): Likewise.
- 	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
- 	(assign_parms, allocate_struct_function): Likewise.
- 	(use_register_for_decl): New.
- 	(expand_function_end): Don't setjmp_protect.
- 	* function.h (struct emit_status): Update commentary.
- 	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
- 	(max_parm_reg, parm_reg_stack_loc): Remove.
- 	* passes.c (DFI_addressof): Remove.
- 	(dump_file_info): Remove addressof.
- 	(rest_of_handle_addressof): Remove.
- 	(rest_of_compilation): Don't call it.
- 	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
- 	* stmt.c (expand_decl): Use use_register_for_decl.
- 	* tree.h: Update decls.
- 	* web.c (mark_addressof): Remove.
- 	* doc/invoke.texi (-dF): Remove.
- 
- 2004-07-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (spill_xfmode_operand): Use assign_stack_temp
- 	instead of gen_mem_addressof.
- 	* config/ia64/ia64.md (movxf): Use assign_stack_temp to handle
- 	TImode output register.
- 
- 2004-07-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR tree-optimization/16341
- 	* tree-sra.c (sra_walk_function): Increment to next stmt before
- 	processing the current stmt.
- 	(sra_insert_after): Always use BSI_SAME_STMT.
- 
- 2004-07-03  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Don't fold
- 	fp plus with minus.
- 
- 2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* tree.c (type_hash_eq): Allow TYPE_MIN_VALUE which compares equal
- 	with tree_int_cst_equal.
- 
- 2004-07-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.md: Define new attribute "empty".
- 	(prologue_use, nop_x, insn_group_barrier): Set it.
- 
- 	* config/ia64/ia64.c (ia64_reorg): When looking for trailing call
- 	skip over "empty" insns.
- 
- 2004-07-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree-inline.c (initialize_inlined_parameters): Pass proper function
- 	context to gimplify_body.
- 	(walk_tree): Don't walk into types twice.
- 	(walk_tree, case POINTER_TYPE): Deal with mutually recursive pointers.
- 
- 	* tree-sra.c (generate_element_init): Remove any useless conversions.
- 
- 	* gimplify.c (gimplify_conversion): Remove stripping useless
- 	conversions from here.
- 	(gimplify_expr): Put it here, in place of call to STRIP_MAIN_TYPE_NOPS.
- 	(gimplify_modify_expr_to_memcpy, gimplify_variable_sized_compare):
- 	Unshare before substituting PLACEHOLDER_EXPR.
- 	(gimplify_modify_expr_to_memset): Likewise.
- 	Pass address of TO to memset, not TO itself.
- 	(gimplify_init_constructor): Make copy of OBJECT so we have it each
- 	time we make an expression (to match a PLACEHOLDER_EXPR).
- 
- 	* tree-ssa.c (tree_ssa_useless_type_conversion): Also look at
- 	VIEW_CONVERT_EXPR and NON_LVALUE_EXPR.
- 	* tree-ssa-ccp.c (fold_stmt): Call just STRIP_USELESS_TYPE_CONVERSION.
- 	* tree-ssa-dom.c (local_fold): Likewise.
- 
- 	* langhooks-def.h (LANG_HOOKS_TYPE_MAX_SIZE): New langhook.
- 	* langhooks.h (strct lang_hooks): New field type_max_size.
- 	* function.c (assign_temp): Call it.
- 
- 2004-07-03  Steven Bosscher  <stevenb@suse.de>
- 
- 	* config/sh/sh.c (sh_use_dfa_interface): Add TARGET_SH1.
- 	* config/sh/sh.md: Convert the SH1 pipeline description to
- 	a DFA model.
- 
- 2004-07-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (struct c_binding): Remove contour field; add
- 	depth, invisible, nested fields.
- 	(B_IN_SCOPE, B_IN_CURRENT_SCOPE, B_IN_FILE_SCOPE)
- 	(B_IN_EXTERNAL_SCOPE): New convenience macros.
- 	(bind): Add invisible and nested arguments. Initialize
- 	new fields of struct c_binding; adjust loop scanning for
- 	insertion point.
- 	(free_binding_and_advance): Clear structure with memset.
- 	(pop_scope): Adjust to match.  Set DECL_CONTEXT on everything
- 	in file scope, even if it's in external scope too.
- 	(pushdecl): Adjust to match.  Create invisible file-scope
- 	declarations for block-scope forward declarations of static functions.
- 	(pushtag, warn_if_shadowing, pushdecl_top_level, implicitly_declare)
- 	(undeclared_variable, lookup_label, declare_label, define_label)
- 	(lookup_tag, lookup_name, lookup_name_in_scope, builtin_function)
- 	(c_make_fname_decl, store_parm_decls_newstyle, identifier_global_value)
- 	(store_parm_decls_oldstyle): Adjust to match.
- 	(diagnose_mismatched_decls): Correct handling of linkage clashes.
- 	(merge_decls): No need to copy C_DECL_IN_EXTERNAL_SCOPE.
- 
- 	* c-tree.h (C_DECL_IN_EXTERNAL_SCOPE): Delete.
- 	(C_DECL_DECLARED_BUILTIN, C_DECL_REGISTER): Slide down one.
- 
- 2004-07-02  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Don't frob current_function_decl
- 	around variable_size.
- 	(set_decl_nonlocal): Remove.
- 	(store_parm_decls): Add stmts for pending sizes.
- 	* calls.c (calls_function, calls_function_1): Remove.
- 	(precompute_arguments): Don't call it.
- 	* cfgexpand.c (set_save_expr_context): Remove.
- 	(tree_expand_cfg): Don't call it.
- 	* dwarf2out.c (add_bound_info): Don't handle SAVE_EXPR.
- 	(dwarf2out_finish): Likewise.
- 	* expr.c (emit_block_move): Adjust addresses to BLKmode.
- 	(store_constructor): Don't pre-evaluate SAVE_EXPR.
- 	(safe_from_p): Don't queue SAVE_EXPRs.
- 	(expand_expr_real_1 <case SAVE_EXPR>): Rewrite to expect,
- 	or build plain VAR_DECLs.
- 	* fold-const.c (twoval_comparison_p): Don't look at SAVE_EXPR_RTL.
- 	(fold): Likewise.
- 	(fold_checksum_tree): Don't special-case SAVE_EXPR.
- 	* function.c (free_after_compilation): Don't clear x_save_expr_regs.
- 	(put_var_into_stack): Don't handle SAVE_EXPR.
- 	(gen_mem_addressof): Likewise.
- 	* function.h (struct function): Remove x_save_expr_regs.
- 	(save_expr_regs): Remove.
- 	* gengtype.c (adjust_field_tree_exp): Don't special-case SAVE_EXPR.
- 	* print-tree.c (print_node): Don't dump SAVE_EXPR_NOPLACEHOLDER.
- 	* stor-layout.c (variable_size): Don't set it.
- 	(force_type_save_exprs, force_type_save_exprs_1): Remove.
- 	* tree-inline.c (remap_save_expr): Remove fn argument.  Update
- 	all callers.  Don't set SAVE_EXPR_CONTEXT.
- 	* tree-inline.h (remap_save_expr): Update decl.
- 	* tree.c (save_expr): Update build size.
- 	(first_rtl_op): Don't handle SAVE_EXPR.
- 	(unsave_expr_1, contains_placeholder_p): Likewise.
- 	(decl_function_context): Likewise.
- 	* tree.def (SAVE_EXPR): Remove args 1 and 2.
- 	* tree.h (SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL): Remove.
- 	(SAVE_EXPR_NOPLACEHOLDER, SAVE_EXPR_PERSISTENT_P): Remove.
- 
- 2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
- 	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
- 	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
- 	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
- 	some first-person references and patronizing comments.  Based on
- 	printed manual.
- 	* doc/invoke.texi: Don't reference fortran@gnu.org.
- 	* doc/trouble.texi (Warning when a non-void function value is
- 	ignored): Rewrite.  From Russ Allbery and Chris Devers.
- 
- 2004-07-02  Daniel Berlin  <dberlin@dberlin.org)
- 
- 	* tree-ssa-pre.c (bitmap_set_t): New.
- 	(bb_value_sets): avail_out is now a bitmap_set_t.
- 	(bitmap_find_leader): New function.
- 	(bitmap_value_insert_into_set): Ditto.
- 	(bitmap_set_copy): Ditto.
- 	(bitmap_value_replace_in_set): Ditto.
- 	(bitmap_set_contains_value): Ditto.
- 	(bitmap_set_new): Ditto.
- 	(bitmap_set_pool): New pool.
- 	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
- 	(insert_aux): Ditto.
- 	(add_to_sets): Ditto.
- 	(compute_avail): Ditto
- 	(eliminate): Ditto.
- 	(init_pre): Ditto.
- 	(fini_pre): Ditto.
- 	(execute_pre): Ditto.
- 
- 2004-07-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/rs6000/rs6000.c (struct processor_costs): New structure
- 	used to hold instruction latencies/sizes for processor types.
- 	(rs6000_cost): New global variable pointing to current CPU's costs.
- 	(rs6000_override_options): Initialize rs6000_cost to point to the
- 	appropriate cost table based upon rs6000_cpu and optimize_size.
- 	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
- 	timings inline.
- 
- 2004-07-02  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (make_tree): Don't use SET_DECL_RTL.
- 
- 2004-07-02  Steven Bosscher  <stevenb@suse.de>
- 
- 	* tree-flow.h (bb_ann_d): Remove ephi_nodes field.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
- 	(alpha_gp_save_rtx): Use assign_stack_local instead of
- 	gen_mem_addressof.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
- 	(alpha_rtx_cost_data): Update to match.
- 	(alpha_rtx_cost_size): New.
- 	(alpha_rtx_costs): Honor optimize_size.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* gimple-low.c (lower_function_body): Don't reset_block_changes here.
- 	* cfgexpand.c (tree_expand_cfg): Do it here.
- 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
- 	* config/ia64/ia64.c (ia64_output_mi_thunk): And here.
- 	* config/mips/mips.c (mips_output_mi_thunk): And here.
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
- 	* config/sh/sh.c (sh_output_mi_thunk): And here.
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): And here.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.def (RTL_EXPR): Remove.
- 	* c-typeck.c (lvalue_p): Don't handle it.
- 	* expr.c (safe_from_p): Likewise.
- 	(expand_expr_real_1): Likewise.
- 	* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.
- 	(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
- 	* gengtype.c (adjust_field_tree_exp): Likewise.
- 	* stmt.c (warn_if_unused_value): Likewise.
- 	* tree-gimple.c (recalculate_side_effects): Likewise.
- 	* tree-pretty-print.c (dump_generic_node): Likewise.
- 	* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
- 	(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
- 	* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.
- 
- 	* stmt.c (struct stmt_status): Remove x_last_expr_type,
- 	x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
- 	(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
- 	(expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
- 	all the bits that tracked last_expr.
- 	(expand_end_bindings): Don't track last_expr.
- 	(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
- 	(clear_last_expr): Remove.
- 	(expand_asm): Don't call it.
- 	(expand_asm_operands, expand_end_cond): Likewise.
- 	(expand_naked_return, expand_null_return_1): Likewise.
- 	* c-typeck.c (c_begin_compound_stmt): Likewise.
- 	* cfgexpand.c (expand_block): Use expand_expr_stmt.
- 	* expr.c (expand_expr_real_1): Likewise.
- 	* tree.h: Update prototypes.
- 
- 	* function.h (struct sequence_stack): Remove sequence_rtl_expr.
- 	(struct emit_status): Remove sequence_rtl_expr.
- 	(struct function): Remove x_rtl_expr_chain.
- 	(seq_rtl_expr, rtl_expr_chain): Remove.
- 	* function.c (struct temp_slot): Remove rtl_expr.
- 	(assign_stack_temp_for_type): Don't set it.
- 	(free_temp_slots, pop_temp_slots): Don't check it.
- 	(free_after_compilation): Don't clear x_rtl_expr_chain.
- 	(fixup_var_refs): Don't search it.
- 	(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
- 	* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
- 	or seq_rtl_expr.
- 	(push_topmost_sequence): Likewise.
- 	(end_sequence, init_emit): Likewise.
- 	(start_sequence_for_rtl_expr): Remove.
- 	* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
- 	* rtl.h (preserve_rtl_expr_result): Remove.
- 
- 2004-07-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
- 	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
- 	typos.
- 
- 2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
- 
- 	* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
- 	(STANDARD_STARTFILE_PREFIX_2): Define.
- 	(standard_startfile_prefix_1): Initialize to
- 	STANDARD_STARTFILE_PREFIX_1.
- 	(standard_startfile_prefix_2): Initialize to
- 	STANDARD_STARTFILE_PREFIX_2.
- 	* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
- 	(STANDARD_STARTFILE_PREFIX_1): Define.
- 	(STANDARD_STARTFILE_PREFIX_2): Define.
- 	* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
- 	(STANDARD_STARTFILE_PREFIX_2): Document.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
- 	in order to disable scalarization.  Instead set a flag and wait
- 	for a candidate decl.
- 
- 2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
- 	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
- 	Use terminology "testsuite" and "enumerated".
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (reg_save): Use INVALID_REGNUM.
- 	(dwarf2out_reg_save, dwarf2out_return_save): Likewise.
- 	(initial_return_save): Likewise.
- 	(flush_queued_reg_saves): Remap register numbers.
- 	(dwarf2out_return_reg): Likewise.
- 
- 2004-07-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.
- 
- 	* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
- 	access functions for lower bound and element size and only output
- 	if lower bound nonzero or element size not same as that of type.
- 	(dump_generic_node, case COMPONENT_REF): Use access func. for offset.
- 
- 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.
- 
- 2004-07-01  Per Bothner  <per@bothner.com>
- 
- 	* final.c (final):  Fix typo reported by Aaron W. LaFramboise.
- 
- 2004-07-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
- 	bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
- 	first operand.  Don't optimize if the bitfield is volatile.
- 
- 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* c-pretty-print.c (pp_c_postfix_expression): Handle
- 	floating-point comparison operators.
- 	(pp_c_expression): Pass floating-point comparison
- 	operators to pp_c_postfix_expression.
- 
- 2004-07-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
- 	rtx_cost instead of "had_mult" to determine whether the transformed
- 	expression is cheaper than the original.
- 
- 2004-07-01  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* alias.c (get_alias_set, canon_rtx, get_addr,
- 	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
- 	Use MEM_P.
- 	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
- 	expand_builtin): Likewise.
- 	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
- 	Likewise.
- 	* combine.c (can_combine_p, combinable_i3pat, try_combine,
- 	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
- 	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
- 	record_dead_and_set_regs_1, get_last_value_validate,
- 	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
- 	* cse.c (check_dependence, canon_hash, equiv_constant,
- 	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
- 	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
- 	count_reg_usage): Likewise.
- 	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
- 	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
- 	cselib_record_sets): Likewise.
- 	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
- 	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
- 	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
- 	* df.c (df_uses_record): Likewise.
- 	* dojump (do_jump): Likewise.
- 	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
- 	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
- 	decl_start_label): Likewise.
- 	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
- 	operand_subword, change_address_1, make_safe_from): Likewise.
- 	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
- 	stabilize, force_not_mem): Likewise.
- 	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
- 	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
- 	* expr.c (convert_move, convert_modes, emit_block_move,
- 	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
- 	emit_move_insn_1, expand_assignment, store_expr,
- 	store_constructor_field, store_constructor, store_field,
- 	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
- 	Likewise.
- 	* final.c (cleanup_subreg_operands, alter_subreg,
- 	get_mem_expr_from_op): Likewise.
- 	* flow.c (notice_stack_pointer_modification_1,
- 	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
- 	Likewise.
- 	* function.c (mark_temp_addr_taken, preserve_temp_slots,
- 	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
- 	optimize_bit_field, flush_addressof, purge_addressof_1,
- 	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
- 	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
- 	keep_stack_depressed): Likewise.
- 	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
- 	noce_process_if_block, find_memory): Likewise.
- 	* integrate.c (subst_constants, allocate_initial_values): Likewise.
- 	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
- 	update_equiv_regs): Likewise.
- 	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
- 	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
- 	* optabs.c (expand_abs, emit_unop_insn): Likewise.
- 	* passes.c (rest_of_handle_final): Likewise.
- 	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
- 	move2add_note_store): Likewise.
- 	* ra-build.c (detect_remat_webs): Likewise.
- 	* ra-debug.c (dump_static_insn_cost): Likewise.
- 	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
- 	* recog.c (validate_change, apply_change_group, cancel_changes,
- 	validate_replace_rtx_1, general_operand, register_operand,
- 	nonmemory_operand, push_operand, pop_operand, memory_operand,
- 	indirect_operand, asm_operand_ok, offsettable_memref_p,
- 	offsettable_nonstrict_memref_p, constrain_operands,
- 	store_data_bypass_p): Likewise.
- 	* reg-stack.c (subst_stack_regs_pat): Likewise.
- 	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
- 	copy_cost, reg_scan_mark_refs): Likewise.
- 	* regmove.c (optimize_reg_copy_3, stack_memref_p,
- 	combine_stack_adjustments_for_block): Likewise.
- 	* regrename.c (copyprop_hardreg_forward_1): Likewise.
- 	* reload.c (can_reload_into, push_reload, decompose, immune_p,
- 	find_reloads, find_reloads_address, find_reloads_address_1,
- 	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
- 	find_equiv_reg): Likewise.
- 	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
- 	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
- 	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
- 	delete_address_reloads): Likewise.
- 	* resource.c (mark_referenced_resources): Likewise.
- 	* rtlanal.c (get_jump_table_offset, count_occurrences,
- 	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
- 	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
- 	num_sign_bit_copies1): Likewise.
- 	* rtlhooks.c (gen_lowpart_general): Likewise.
- 	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
- 	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
- 	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
- 	sdbout_global_decl): Likewise.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
- 	expand_anon_union_decl, expand_end_case_type): Likewise.
- 	* unroll.c (calculate_giv_inc): Likewise.
- 	* var-tracking.c (stack_adjust_offset_pre_post,
- 	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
- 	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
- 	vt_add_function_parameters): Likewise.
- 	* varasm.c (make_var_volatile, notice_global_symbol,
- 	assemble_external, decode_addr_const, mark_weak,
- 	default_encode_section_info): Likewise.
- 
- 2004-07-01  Steven Bosscher  <stevenb@suse.de>
- 
- 	* stmt.c (check_seenlabel): Remove.
- 	(pushcase, pushcase_range, expand_end_case_type): Don't call it.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Remove x_function_call_count.
- 	(function_call_count): Remove.
- 	* calls.c (expand_call): Don't set it.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 
- 	* function.h (struct function): Remove x_cleanup_label.
- 	(cleanup_label): Remove.
- 	* stmt.c (expand_value_return): Don't use it.
- 	* function.c (free_after_compilation): Don't set it.
- 	(expand_function_start): Likewise.  Remove parms_have_cleanups arg.
- 	* cfgexpand.c (tree_expand_cfg): Update call.
- 	* tree.h (expand_function_start): Update decl.
- 
- 2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR c/1027
- 	* c-lang.c (c_initialize_diagnostics): Move from here ...
- 	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
- 	(c_tree_printer): Use pretty-printer to format %T.
- 	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
- 	before '*' if not C++.
- 	(pp_c_direct_abstract_declarator): Don't try to print array upper
- 	bound for flexible array members.
- 	* c-tree.h: Include "diagnostic.h".
- 	(c_initialize_diagnostics): Declare.
- 	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
- 	* c-format.c (format_type_warning): New function.  Improve
- 	diagnostics for incorrect format argument types.
- 	(check_format_types): Use it.  Add two parameters.  Use the
- 	TYPE_MAIN_VARIANT of wanted_type.
- 	(check_format_info_main): Pass new parameters to
- 	check_format_types.
- 	(struct format_wanted_type): Update comment.
- 
- 2004-07-01  Nick Clifton  <nickc@redhat.com>
- 
- 	* target.h (struct gcc_target): Add new field to struct cxx:
- 	import_export_class.
- 	* target-def.h (TARGET_CXX): Initialise the new field.
- 	(TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for
- 	the new field.
- 	* doc/tm.texi: Document the new target hook.
- 
- 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* builtins.c (fold_builtin_classify): Fix typo.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (identify_blocks, identify_blocks_1): Remove.
- 	* function.h (identify_blocks): Remove.
- 	* rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.
- 
- 2004-07-01  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	* builtins.c (fold_builtin_classify): New.
- 	(fold_builtin_unordered_cmp): Fix commentary.
- 	(fold_builtin): Use it.
- 	* builtins.def: Define builtins for isnan,
- 	isnanf, isnanl, finite, finitef, finitel,
- 	isinf, isinff, isinfl.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Remove dont_emit_block_notes.
- 	* gimple-low.c (lower_function_body): Don't set it.
- 	* cfgexpand.c (expand_block): Don't check it.
- 	* cfglayout.c (insn_locators_initialize): Likewise.
- 	* expr.c (expand_expr_real, expand_expr_real_1): Likewise.
- 	* passes.c (rest_of_compilation): Likewise.
- 	* stmt.c (expand_start_bindings_and_block): Likewise.
- 	(expand_end_bindings): Likewise.
- 
- 2004-07-01  Richard Henderson  <rth@redhat.com>
- 
- 	* cgraph.h (cgraph_build_static_cdtor): Declare.
- 	* cgraphunit.c (cgraph_build_static_cdtor): New.
- 	* c-objc-common.c (build_cdtor): Use it.
- 	* coverage.c (create_coverage): Likewise.
- 	* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
- 	* optabs.c (init_optabs): Don't set gcov_init_libfunc.
- 
- See ChangeLog.11 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.2 gcc-4.1.0/gcc/ChangeLog.2
*** gcc-4.0.2/gcc/ChangeLog.2	Thu Jun 12 19:00:55 2003
--- gcc-4.1.0/gcc/ChangeLog.2	Thu Jan  1 00:00:00 1970
***************
*** 1,14469 ****
- Fri Dec 31 19:10:31 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (update_temp_slot_address): Handle case where sum of
- 	temporary address plus offset in register is a valid address.
- 
- 1999-12-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* genrecog.c (change_state) Corrected typo.
- 
- 1999-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (bcopy, bcmp, bzero, index, rindex, atof, atol, free,
- 	getcwd, getenv, getwd, sbrk, strstr, malloc, calloc, realloc,
- 	strerror, getrlimit, setrlimit, abort): Add prototype arguments.
- 
- 1999-12-30  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* i386.c (ix86_expand_fp_compare): In non-sahf non-TARGET_IEEE
- 	case, expand GT comparisons correctly.  Fix a comment before this
- 	part of the code.
- 
- 1999-12-30  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
- 
- 	* dwarfout.c: Include "frame.h"
- 	* dwarf2out.c: Likewise.
- 	* Makefile.in (dwarfout.o): Depend on frame.h
- 	(dwarf2out.o): Likewise.
- 
- 1999-12-29  "Martin v. Loewis" <martin@loewis.home.cs.tu-berlin.de>
- 
- 	Restore i386 binary compatibility in Dwarf EH info.
- 	* config/i386/i386.h (DWARF_FRAME_REGISTERS): Define as 17, the old
- 	value of FIRST_PSEUDO_REGISTER.
- 	* frame.h (DWARF_FRAME_REGISTERS): Default to FIRST_PSEUDO_REGISTER.
- 	(struct frame_state): Use DWARF_FRAME_REGISTERS.
- 	* dwarfout.c (output_reg_number): Ditto.
- 	* dwarf2out.c (reg_number, expand_builtin_init_dwarf_reg_sizes): Ditto.
- 	(DWARF_FRAME_RETURN_COLUMN): Default to DWARF_FRAME_REGISTERS.
- 
- 1999-12-29  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/fixincl.c(wait_for_pid): sometimes a WSTOPSIG of zero is OK
- 	* fixinc/fixincl.tpl(<hack>TEST_CT): Just do the existence test once
- 	(<hack>_RE_CT): not needed
- 	* fixinc/fixlib.c(is_cxx_header): moved from fixtests.c
- 	rewritten to scan the file text once only
- 	"template<..." test added
- 	* fixinc/fixlib.h(apply_fix_p_t): moved from fixtests.c
- 	(is_cxx_header): declaration added
- 	* fixinc/fixtests.c(is_cxx_header): removed
- 	(apply_fix_p_t): removed
- 	(double_slash_test): is_cxx_header is only called once now
- 	* fixinc/hackshell.tpl: indexing the fixes is now done under DEBUG
- 	* fixinc/inclhack.def(FIXINC_DEBUG): added for testing DEBUG state
- 	within the templates.
- 	The borken spelling of "broken" was fixed.
- 	* fixinc/inclhack.tpl: The $VERBOSE level is used on various messages
- 	The default level depends on FIXINC_DEBUG.
- 
- 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* crtstuff.c: If !inhibit_libc, include stdlib.h/unistd.h.
- 	Otherwise provide a declaration for atexit.
- 	(init_dummy): Make sure dummy call to atexit is nevertheless
- 	called with correct number of args.
- 
- 	* frame.c: Update comments referring to other files.
- 
- 	* libgcc2.c: Likewise.
- 
- 1999-12-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (free_element, get_element): Remove unused prototypes.
- 
- 	* fold-const.c (extract_muldiv): Initialize variables `op0' and
- 	`op1'.
- 
- 	* jump.c (invert_exp): Add explicit braces to avoid ambiguous
- 	`else' clauses.
- 
- Wed Dec 29 12:44:54 1999  Donald Lindsay  <dlindsay@cygnus.com>
- 
- 	* configure.in,configure: case arm for mn10200-*-* now sets
- 	float_format=i32 so that float.h will correctly claim "double"
- 	to be 32 bits. Ran autoconf to generate configure from .in file.
- 
- Wed Dec 29 10:53:21 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (conditional zero): If op1 is a register, force it into
- 	the same register as op0.
- 
- 1999-12-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (BINFO_BASETYPES): Improve documentation.
- 
- 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (--enable-checking): Use a more portable `for'
- 	loop syntax.
- 
- 1999-12-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (AC_DECL_SYS_SIGLIST, xm-siglist.h,
- 	arm/xm-netbsd.h, NO_SYS_SIGLIST): Don't use.
- 
- 	* xm-siglist.h, arm/xm-netbsd.h, mips/xm-news.h, mips/xm-sysv4.h:
- 	Delete files.
- 
- 	* gcc.texi (NO_SYS_SIGLIST, sys_siglist, SYS_SIGLIST_DECLARED):
- 	Delete descriptions.
- 
- 	* i386/osf1elf.h, i386/xm-cygwin.h, i386/xm-mingw32.h, m68k/3b1.h,
- 	m68k/a-ux.h, m68k/dpx2.h, m68k/plexus.h, m68k/xm-hp320.h,
- 	m88k/xm-m88k.h, mips/x-sni-svr4, pa/xm-pa.h, pa/xm-pahpux.h,
- 	pa/xm-papro.h, we32k/xm-we32k.h, winnt/xm-winnt.h, xm-interix.h,
- 	xm-svr4.h: Remove all instances of sys_siglist handling.
- 
- 1999-12-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (cmp_zero_qi,
- 	cmp_zero_extendqisi2_andcc_set, cmp_zero_qi_sp64,
- 	cmp_zero_extendqidi2_andcc_set): New patterns.
- 
- 1999-12-28  Manfred Hollstein  <mhollstein@cygnus.com>
- 
- 	* m68k/t-mot3300-gald (CROSS_LIBGCC1): Define to libgcc1-asm.a.
- 	(LIB1ASMSRC, LIB1ASMFUNCS, LIB2FUNCS_EXTRA): Define.
- 	(fpgnulib.c, xfgnulib.c): Add rules.
- 	* m68k/t-mot3300-gas: Likewise.
- 
- 1999-12-27  Ian Lance Taylor  <ian@zembu.com>
- 
- 	* configure.in: Avoid [[ by using test and changequote.  Add
- 	changequote required by 1999-12-14 change.
- 	* configure: Rebuild.
- 
- 1999-12-27  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.h: Fix typo from 12/17/99 libgcc2 fix.
- 
- 1999-12-27  Christophe Jaillet  <jaillet.christophe@caramail.com>
- 
- 	* alias.c (nonlocal_reference_p): Add else for disjoint ifs.
- 	* flow.c (find_use_as_address): Likewise.
- 	* function.c (fixup_var_refs_1): Likewise.
- 	(walk_fixup_memory_subreg, fixup_stack_1): Likewise.
- 	* jump.c (invert_exp, redirect_exp): Likewise.
- 	* loop.c (replace_call_address): Likewise.
- 	(count_nonfixed_reads): Likewise.
- 	* rtlanal.c (modified_between_p): Likewise.
- 	(modified_in_p, volatile_insn_p, volatile_refs_p): Likewise.
- 	(side_effects_p, replace_regs, jmp_uses_reg_or_mem): Likewise.
- 	* unroll.c (remap_split_bivs): Likewise.
- 
- 1999-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* diagnostic.c (v_message_with_decl): Use .* format specifier
- 	instead of building the format specifier width manually.
- 
- 	* system.h (strsignal): Don't check HAVE_STRSIGNAL when
- 	determining whether to provide a prototype.  Remove the
- 	sys_siglist clause in the conditional.
- 
- 1999-12-23  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* fold-const.c (operand_equal_p): Use memcmp to compare string
- 	constants.
- 	Suggested by D. J. Bernstein
- 
- 1999-12-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/h8300/h8300.h (TARGET_H8300H, TARGET_H8300S): Make sure
- 	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
- 	compiling libgcc2.
- 	* config/mips/mips.h (TARGET_64BIT): Likewise.
- 	* config/rs6000/rs6000.h (TARGET_POWERPC64): Likewise.
- 	* libgcc2.c: Use {,U}{HW,W,DW}type and DWunion everywhere instead
- 	of {SI,DI}type and DIunion.  Define these types to QI/HI modes on
- 	dsps.  Give routines proper names if SI/DI modes are not used.
- 	* longlong.h: Use DWunion instead of DIunion.
- 
- 1999-12-26  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* acconfig.h: New ENABLE flags: TREE_CHECKING, RTL_CHECKING,
- 	GC_CHECKING, GC_ALWAYS_COLLECT.
- 	* configure.in: Allow --enable-checking with an argument
- 	listing check modes to enable.
- 	* config.in, configure: Rebuilt.
- 	* ggc-page.c, ggc-simple.c: Define GGC_POISON (and
- 	GGC_ALWAYS_VERIFY for ggc-simple.c) only if
- 	ENABLE_GC_CHECKING.  Define GGC_ALWAYS_COLLECT only if
- 	ENABLE_GC_ALWAYS_COLLECT.
- 	* rtl.h, rtl.c: Change ENABLE_CHECKING to ENABLE_RTL_CHECKING
- 	throughout.
- 	* tree.h, tree.c: Change ENABLE_CHECKING to
- 	ENABLE_TREE_CHECKING throughout.
- 
- Sun Dec 26 07:48:20 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (fold_truthop): Properly check for FP RHS.
- 
- 1999-12-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.h (note_deferall_of_defined_inline_function): Declare.
- 	* toplev.c (note_deferral_of_defined_inline_function): New
- 	function, split out from ...
- 	(rest_of_compilation): ... here.  Use it.
- 
- Fri Dec 24 12:34:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): Don't call clear_storage if size is
- 	variable.
- 
- 1999-12-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o): Depend on loop.h.
- 
- 	* dwarfout.c: Include tm_p.h.
- 
- 	* emit-rtl.c (restore_emit_status): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 	* final.c (final_scan_insn): Likewise.
- 
- 	* flow.c (flow_nodes_print, flow_exits_print, flow_loops_cfg_dump,
- 	flow_loop_nested_p, flow_loop_exits_find, flow_loop_nodes_find,
- 	flow_depth_first_order_compute, flow_loop_pre_header_find,
- 	flow_loop_tree_node_add, flow_loops_tree_build,
- 	flow_loop_level_compute, flow_loops_level_compute,
- 	flow_loop_outside_edge_p): Add prototypes.
- 	(recompute_reg_usage): Mark parameters with ATTRIBUTE_UNUSED.
- 
- 	* ggc-callbacks.c (lang_mark_tree, lang_mark_false_label_stack):
- 	Mark with ATTRIBUTE_NORETURN.
- 
- 	* hash.c (hash_newfunc): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* local-alloc.c (no_conflict_p): Likewise.
- 
- 	* loop.c (insert_bct): Hide definitions of variables with hidden
- 	usage.
- 	(note_reg_stored): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* regclass.c (memory_move_secondary_cost): Mark variable `mem'
- 	with ATTRIBUTE_UNUSED.
- 	(record_reg_classes): Mark parameter with ATTRIBUTE_UNUSED.
- 	(reg_scan): Likewise.
- 
- 	* reload.c (find_reloads): Remove unused variables `changed'.
- 
- 	* reload1.c (reload_reg_class_lower): Don't unnecessarily cast
- 	away const-ness.
- 	(allocate_reload_reg): Mark parameter with ATTRIBUTE_UNUSED.
- 	Remove unused variable `insn'.
- 
- 	* toplev.c: Include loop.h.
- 	(report_file_and_line): Remove unnecessary prototype.
- 
- 	* tree.c (build_block): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* unroll.c (biv_total_increment): Likewise.
- 
- Thu Dec 23 23:15:22 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (emit_input_reload_insns): Restore old behavior
- 	wrt. 'special' reloads.
- 
- 1999-12-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (ggc-simple.c, ggc-page.c): Don't depend on
- 	hash.h.  (cse.c): Don't depend on hashtab.h.
- 
- 	* cse.c: Don't include hashtab.h.
- 	(hash_cse_reg_info, cse_reg_info_equal_p): Delete prototypes
- 	of dead functions.
- 	* ggc-simple.c: Don't include hash.h.
- 
- 1999-12-22  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Call
- 	gen_abstract_function on our function context.
- 
- Thu Dec 23 03:57:10 1999  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* Makefile.in (INTEGRATE_H): Fix typo: INTEGRATE_H, not INTREGRATE_H.
- 
- 1999-12-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_address_cost): Add statement to default
- 	case in switch.
- 
- 1999-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*addqi3_noclobber_reload): Change operand 0
- 	constraints to "a!r".
- 
- 1999-12-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (calls.o): Depend on function.h.
- 	(alias.o): Likewise.
- 
- 1999-12-21  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (emit_reload_insns): Break out code and variables into...
- 	(input_reload_insns, other_input_address_reload_insns,
- 	other_input_reload_insns, input_address_reload_insns,
- 	inpaddr_address_reload_insns, output_reload_insns,
- 	output_address_reload_insns, outaddr_address_reload_insns,
- 	operand_reload_insns, other_operand_reload_insns,
- 	other_output_reload_insns): ... new static variables, and...
- 	(emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
- 	do_output_reload): ... new functions.
- 
- Tue Dec 21 07:06:36 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* pa.h (FUNCTION_ARG_BOUNDARY): Never return 0.
- 
- 1999-12-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* md.texi: Add c4x constraints documentation.
- 
- 1999-12-21  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* config/i386/dgux.c (struct option): Rename to
- 	lang_independent_option.
- 	(struct m_options): Add description field.
- 	(output_options): Rename option type, add sep declaration, output
- 	ix86_cpu_string and ix86_arch_string only if set.
- 	(output_file_start): Rename option type.
- 
- Mon Dec 20 23:15:36 1999  Mike Stump  <mrs@wrs.com>
- 
- 	* Makefile.in (crtbegin.o, crtend.o, s-crtS): Depend on
- 	stmp-int-hdrs.
- 	(libgcc2.a): Similarly.
- 
- Mon Dec 20 23:06:47 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* longlong.h (_ARCH_PPC): Only protect add_ssaaaa and sub_ddmmss
- 	with W_TYPE_SIZE == 32.  Do not fall through to POWER architecture
- 	for umul_ppmm and smul_ppmm if !_ARCH_PPC and !_ARCH_POWER.
- 
- Mon Dec 20 23:02:03 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (real_hex_to_f): Remove unused "isldouble" variable.
- 	Remove redundant initialization of "frexpon" and "expon".
- 
- Mon Dec 20 15:00:04 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (real_value_from_int_cst): Clear REAL_VALUE_TYPE object first.
- 
- 	* expr.c (store_constructor): New argument SIZE; pass to clear_storage.
- 	(store_constructor_field, expand_expr): Pass new arg.
- 
- 1999-12-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (explow.o): Depend on function.h.
- 
- 	* stor-layout.c (set_sizetype): Fix typo.
- 
- 1999-12-20  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* function.c (cfun): Renamed from current_function.  All users
- 	changed.
- 	* function.h (cfun): Rename declaration as well.
- 
- 	* reload.h (struct insn_chain): Change live_throughout and dead_or_set
- 	to be of type regset_head, not regset.  All users changed by adding
- 	address operator.
- 	* reload1.c (new_insn_chain): Don't allocate regsets, just clear them.
- 
- 1999-12-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/rtems.h: New file.
- 
- 1999-12-19  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (spill_failure): Take class of failed reload as argument
- 	and print it.  Caller changed.
- 
- Sun Dec 19 07:50:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rs6000.h (SUBTARGET_DEFAULT): New macro.
- 	(TARGET_SWITCHES): Allow subtargets to default switches.
- 	* rs6000/vxppc.h (SUBTARGET_DEFAULT): New macro.
- 
- 1999-12-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* crtstuff.c (__do_global_ctors_aux): Do not call __cxa_finalize
- 	in a main program.
- 
- Sat Dec 18 20:42:43 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cccp.c (main): Define __STDC_VERSION__ as necessary.
- 	* cppinit.c (cpp_handle_option): Likewise.
- 
- 	* ginclude/stdarg.h (va_copy): Use __STDC_VERSION__ to
- 	determine when to define.
- 
- Sat Dec 18 20:34:00 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_conditional_move): If TARGET_FIX, handle
- 	cmove with mismatched test and data modes.
- 
- Sat Dec 18 20:30:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (c_expand_start_case): Don't warn for long switch
- 	in system headers.
- 
- Sat Dec 18 16:28:43 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c: Minor reformatting.
- 	* flow.c: Likewise.
- 	* regs.h: Likewise.
- 	* stor-layout.c: Likewise.
- 	* fold-const.c: Likewise.
- 	(OVERFLOW_SUM_SIGN): Renamed from overflow_sum_sign.
- 	(struct cb_args, const_binop_1, const_binop): Pass type of arg,
- 	not arg itself.
- 	(size_int_wide): Cache nodes even if garbage collecting.
- 	(twoval_comparison_p): Reenable SAVE_EXPR case if operand
- 	of SAVE_EXPR has no side effects.
- 	* cse.c: Move a comment.
- 	* tree.c: Minor reformatting.
- 	(int_size_in_bytes): Return -1 if constant overflows.
- 
- Sat Dec 18 18:30:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* unroll.c (copy_loop_body): Don't treat a REG like a PLUS.
- 
- 1999-12-18 10:42 -0800  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* objc/objc-parse.c: Regenerate.  This file must be rebuilt
- 	after any change to c-parse.in, even if objc-parse.y didn't
- 	change.  Oops.
- 
- 1999-12-18  David S. Miller  <davem@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Restore BLOCK tree
- 	reconstruction and branch shortening changes lost in
- 	December 18th change.
- 
- Sat Dec 18 05:29:29 1999  Scott Bambrough  <scottb@netwinder.org>
- 
- 	* config/arm/linux-elf.h: Change all instances of
- 	ARM_FLAG_SHORT_BYTES to ARM_FLAG_MMU_TRAPS.
- 	* config/arm/uclinux-elf.h: Likewise.
- 
- 1999-12-18 Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.c (notice, vmessage, v_message_with_file_and_line,
- 	v_message_with_decl, file_and_line_for_asm,
- 	v_error_with_file_and_line, v_error_with_decl, v_error_for_asm,
- 	verror, vfatal, v_warning_with_file_and_line, v_warning_with_decl,
- 	v_warning_for_asm, vwarning, vpedwarn, v_pedwarn_with_decl,
- 	v_pedwarn_with_file_and_line, vsorry, vnotice, count_error,
- 	pfatal_with_name, fatal_io_error, need_error_newline,
- 	last_error_function, last_error_tick, announce_function,
- 	default_print_error_function, print_error_function,
- 	report_error_function, fnotice, error_with_file_and_line,
- 	error_with_decl, error_for_asm, error, set_fatal_function, fatal,
- 	_fatal_insn, _fatal_insn_not_found, warning_with_file_and_line,
- 	warning_with_decl, warning_for_asm, warning, pedwarn,
- 	pedwarn_with_decl, pedwarn_with_file_and_line, sorry): Move to
- 	diagnostic.c
- 	(compile_file): Use fnotice instead of notice.  Adjust call.
- 
- 	* diagnostic.c: New file.
- 
- 	* Makefile.in (OBJS): Include diagnostic.o
- 	(diagnostic.o): Define dependence.
- 
- 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (ASM_OUTPUT_XXX): Wrap in do-while(0).
- 	Tweak formatting.
- 
- 1999-12-18  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (rpts_top, rptb_top): Add clobbers for rs and re.
- 
- 1999-12-17 13:21 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* fixtests.c (is_cxx_header): New fn, split out of
- 	double_slash_test.
- 	(else_endif_label): Allow "#endif // comment" in C++ headers,
- 	as determined by is_cxx_header.
- 	* fixfixes.c (else_endif_label_fix): Update comment.
- 	* fixincl.c: Don't output VERB_PROGRESS lines if stdout is not
- 	a tty.
- 	* genfixes: Correct double thinko in commandline parsing.
- 	* hackshell.tpl: Generate correct sh syntax for bypass
- 	entries.
- 
- 	* inclhack.def (all): Whenever an inserted preprocessor
- 	conditional is split over multiple lines, use double
- 	backslashes in this file so the fixed header will be readable.
- 
- 	(AAB_fd_zero_glibc_1_0): Rename to AAB_fd_zero_asm_posix_types_h
- 	and add bypass entry for correct version of this header.
- 	(AAB_fd_zero_glibc_1_x): Rename to AAB_fd_zero_gnu_types_h.
- 	(AAB_fd_zero_glibc_2_0): Rename to AAB_fd_zero_selectbits_h.
- 
- 	(hpux8_bogus_inlines): New fix, split from...
- 	(ultrix_atof_param) ... here.
- 	(math_expression): Add bypass entry keyed to glibc comment
- 	indicating the problem has been dealt with; disable
- 	unnecessary sed operations; update commentary.
- 	(math_gcc_ifndefs): Rename to math_huge_val_from_dbl_max,
- 	add select and bypass entries, simplify shell operation.
- 	(math_huge_val_ifndef): Split from math_gcc_ifndefs.
- 
- 	(ip_missing_semi, rs6000_param, tinfo_cplusplus,
- 	 ultrix_atof_param): Add select entry.
- 	(stdio_va_list, sunos_mather_decl): Add bypass entry.
- 	(systypes_for_aix, sysv86_string, tinfo_cplusplus): Put the
- 	comments with the fixes they describe.
- 
- 	* c-parse.in (string action): Do not warn about ANSI string
- 	concatenation in system headers.  Affects C parser only.
- 	* c-parse.y, c-parse.c, c-parse.h: Rebuild.
- 
- 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (TARGET_ARCH32): Exchange ifdefs so that if
- 	compiling libgcc2 the macro depends always on arch cpp defines.
- 
- Fri Dec 17 10:34:16 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* loop.c (insert_loop_mem): Don't record MEMs from inside
- 	EXPR_LISTs.
- 
- Fri Dec 17 12:08:11 MET 1999  Jan Hubicka  <hubicka@freesoftr.cz>
- 
- 	* regclass.c (regclass): Do not use flowgraph when not optimizing.
- 
- 	* gcse.c (try_replace_reg): Do replacements in REG_EQUAL/REG_EQUIV
- 	notes too, create one when replacement failed, attempt to simplify
- 	resulting notes.
- 	(cprop_insn): Propagate even to registers mentioned only in REG_EQUAL
- 	or REG_EQUIV notes.
- 
- 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* crtstuff.c (__dso_handle): Declare.
- 	(__cxa_finalize): Likewise.
- 	(do_global_dtors_aux): Call __cxa_finalize if __dso_handle is
- 	non-NULL.
- 
- 	* invoke.texi: Document -fuse-cxa-atexit.
- 
- 	* tree.h (ptr_type_node): Document.
- 	(const_ptr_type_node): Likewise.
- 
- Fri Dec 17 01:32:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regmove.c (optimize_reg_copy_1): Ignore LOOP notes.
- 	(optimize_reg_copy_2): Likewise.
- 	(optimize_reg_copy_3): Likewise.
- 	(fixup_match_2): Likewise.
- 	(regmove_optimize): Likewise.
- 	(fixup_match_1): Liekwise.
- 
- 	* i386.md (HI to SImode promoting splitters): Rewrite.
- 	(pushsf mem peep2): New.
- 	(testhi to andhi peep2): Remove.
- 	* i386.h (x86_promote_QImode): New.
- 	(TARGET_PROMOTE_QImode): New.
- 	(PREDICATE_CODES): Add promotable_binary_operator.
- 	* i386.c (x86_promote_QImode0: New.
- 	(promotable_binary_operator): New.
- 	* i386-protos.h (promotable_binary_operator): New.
- 
- 	* i386.md (test?i_1): Use "nonmemory_operand" predicate, simplify
- 	condition.
- 	(one_cmpl?i*): Pass "NOT" to unary_operator_ok.
- 
- 1999-12-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (INTREGRATE_H): Rename to INTEGRATE_H.
- 	* function.c (insert_block_after_note): Remove.
- 	(retrofit_block): Likewise.
- 	(identify_blocks): Fix indentation.
- 	(reorder_blocks): Don't NULL out NOTE_SOURCE_FILE for a
- 	NOTE_INSN_BLOCK_BEG or NOTE_INSN_BLOCK_END.
- 	* function.h (insert_block_after_note): Remove prototype.
- 	(retrofit_block): Likewise.
- 	* integrate.c (expand_inline_function): Don't call
- 	find_loop_tree_blocks.  Use expand_start_bindings_and_block, not
- 	just expand_start_bindings.  Use the block_map to remap old
- 	NOTE_BLOCKs to new ones.
- 	(integrate_decl_tree): Keep track of remapped blocks.
- 	* integrate.h (struct inline_remap): Add block_map.
- 	* stmt.c (expand_fixup): Don't try to retrofit_blocks.  Just set
- 	NOTE_BLOCK on the notes.
- 	(expand_start_bindings): Rename to ...
- 	(expand_start_bindings_and_block): Add parameter.  Set NOTE_BLOCK.
- 	(expand_end_bindings): Set NOTE_BLOCK.
- 	* toplev.c (rest_of_compilation): In function-at-a-time-mode,
- 	reconstruct the BLOCK tree.
- 	* tree.h (expand_start_bindings): Macroize.  Call ...
- 	(expand_start_bindings_and_block): New function.
- 
- 1999-12-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (print_operand): Cast fprintf arguments
- 	to match the format.
- 
- 1999-12-16  David S. Miller  <davem@redhat.com>
- 
- 	* expr.c (emit_move_insn_1): Only emit clobbers if one of
- 	the outputs is a SUBREG.
- 	* rtlanal.c (reg_overlap_mentioned_p): Revert December 15th
- 	change.
- 
- 	* config/sparc/sparc.c (epilogue_renumber): Add default case
- 	to switch stmt.
- 
- Thu Dec 16 11:33:57 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* toplev.c (rest_of_compilation): Run branch shortening after
- 	reg-stack.
- 
- 	* regclass.c (loop_depth): Remove
- 	(scan_one_insn): Do not handle LOOP_NOTE insns.
- 	(regclass): Go through basic blocks and set loop_cost
- 
- Thu Dec 16 02:56:25 1999  Zack Weinberg  <zack@bitmover.com>
- 
- 	* tree.h (DECL_FROM_INLINE): Check DECL_ABSTRACT_ORIGIN too.
- 
- Thu Dec 16 10:43:35 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (movqi): Use "nonimmediate_operand" for output operand.
- 	(movstrictqi, movdi, movsf, movdf, movxf): Likewise.
- 	(adddi, addqi, addhi, subdi, subqi, subhi, ffs): Likewise.
- 
- Thu Dec 16 02:41:26 1999  Richard Henderson (rth@cygnus.com)
- 
- 	* loop.c (insert_loop_mem): Ignore memory clobbers.
- 
- 	* combine.c (simplify_comparison): Reduce (OP (MINUS A B) 0)
- 	to (OP A B).
- 
- Thu Dec 16 02:26:11 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* profile.c: Remove redundant #include "output.h".
- 
- 	* h8300.md (HImode preinc peephole): Fix typo.
- 
- 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* function.c (retrofit_block): Abort if we don't find a suitable insn.
- 	(insert_block_after_note): Abort if we don't have a previous block.
- 	Remove FN parameter.
- 	* function.h: Adjust.
- 
- 1999-12-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* builtins.c (expand_builtin_mathfn): Make sure not to expand the
- 	argument more than once.
- 
- 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* stmt.c (expand_decl): Expand upper bound of a dynamic array.
- 
- 1999-12-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (emit_group_load): Use dst mode if src is VOIDmode.
- 
- Wed Dec 15 16:11:55 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* function.c (PREFERRED_STACK_BOUDNARY): Provide default value.
- 	(assign_stack_local_1): Limit alignment to PREFERRED_STACK_BOUNDARY,
- 	update stack_alignment_needed.
- 	(prepare_function_start): Initialize stack_alignment_needed
- 	* function.h (struct function): Add field stack_alignment_needed.
- 
- Wed Dec 15 14:55:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* caller-save.c (insert_one_insn): Returns struct insn_chain *.
- 	Handle live_throughout / dead_or_set instead of live_before /
- 	live_after.
- 	(save_call_clobbered_regs): Get register livenessinformation from
- 	chain->live_throughout.
- 	(add_stored_regs): New function.
- 	(insert_restore, insert_save): Add restored / saved registers to
- 	dead_or_set.
- 	* global.c (reg_dies): New parameter chain.
- 	(reg_becomes_live): Third parameter is regs_set now.
- 	Changed all callers.
- 	(reg_dies): New parameter chain.  Changed all callers.
- 	(build_insn_chain): Set live_throughout instead of
- 	live_before / live_after.
- 	* reload.h (struct insn_chain): Replace members live_before /
- 	live_after with live_throughout / dead_or_set.
- 	* reload1.c (new_insn_chain): Handle live_throughout / dead_or_set
- 	instead of live_before / live_after.
- 	(maybe_fix_stack_asms, find_reload_regs, finish_spills): Likewise.
- 	(order_regs_for_reload, find_reg, finish_spills): Likewise.
- 	(choose_reload_regs_init): Likewise.
- 	* stupid.c (current_chain, find_clobbered_regs): Delete.
- 	(stupid_life_analysis): Set chain->live_throughout chain->dead_or_set
- 	instead of chain->live_before / chain->live_after.
- 	(mark_hard_ref): New function.
- 	(stupid_mark_refs): Call mark_hard_ref. Clear chain->live_throughout.
- 
- 1999-12-15  David S. Miller  <davem@redhat.com>
- 
- 	* rtlanal.c (reg_overlap_mentioned_p): Handle CONCAT.
- 
- Wed Dec 15 15:05:30 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* flow.c (calculate_loop_depth): Make global, remove prototype,
- 	rewrite to use new loop infrastructure.
- 	(find_basic_block): Remove calculate_loop_depth call.
- 	* toplev.c (rest_of_compilation): Call find_basic_block.
- 	* output.h (calculate_loop_depth): Declare.
- 
- 	* flow.c (dump_flow_info): Dump loop_depth.
- 	(flow_loops_nodes_find): Increase loop_depth for basic block in the
- 	body.
- 	(flow_loops_find): Initialize the loop_depth for each basic block.
- 
- 1999-12-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* tree.c (decl_function_context): Handle virtual functions.
- 
- 	* tlink.c (scan_linker_output): Don't look in demangled name when
- 	looking for linker output keywords.
- 
- 	* dwarfout.c (output_type): We can defer namespace-scope classes.
- 
- Wed Dec 15 01:23:29 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c (record_reg_classes): Update comment for merging
- 	register class preferences in reg->reg copies.  Tighten conditions
- 	for merging register class preferences in reg->reg copies.
- 
- Wed Dec 15 02:19:32 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (tablejumpdi): Generate DImode LABEL_REF.
- 
- 1999-12-14  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/m68k/m68020-elf.h (ENDFILE_SPEC): Delete.
- 	(INIT_SECTION_ASM_OP): Delete.
- 	(FINI_SECTION_ASM_OP): Delete.
- 	(STARTFILE_SPEC): Define to hold just crtbegin.o.
- 
- 1999-12-14  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Do call abort if
- 	the abstract origin wasn't emitted.
- 
- 	* dwarf2out.c (class_scope_p): New fn.
- 	(gen_subprogram_die): Use it.
- 	(gen_variable_die): Use it.  Tweak logic.
- 	(gen_struct_or_union_type_die): Check context_die to determine
- 	if we're function-local.
- 	(dwarf2out_decl): Check DECL_BUILT_IN, not DECL_FUNCTION_CODE.
- 
- 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (check_dbra_loop): Can't reverse a biv that has
- 	maybe_multiple set.
- 
- 1999-12-14  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Add support for -mcpu=arm720 command line
- 	switch.
- 
- Tue Dec 14 18:13:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Fix sign of giv lifetime calculation
- 	for givs made from biv increments.
- 
- Tue Dec 14 08:11:27 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-osf, alpha-linux): Handle ev6[78].
- 	* alpha.c (override_options): Recognize -mcpu=ev67.
- 	* alpha.h (CPP_CPU_EV67_SPEC): New.
- 	(CPP_CPU_DEFAULT_SPEC): Examine TARGET_CPU_DEFAULT to use it.
- 	(EXTRA_SPECS): Update.
- 
- Tue Dec 14 08:04:28 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cppp.c (main): Set trigraphs and __STRICT_ANSI__ as
- 	appropriate for -lang-c89 and -std=*.
- 	* cppinit.c (cpp_handle_option): Likewise.
- 	(new_pending_define): New, split out from cpp_handle_option.
- 	* gcc.c (default_compilers): Don't define __STRICT_ANSI__
- 	or enable trigraphs for -ansi/-std=*.
- 
- 	* ginclude/stdarg.h (__va_copy): New.
- 	(va_copy): Don't define for C89.
- 
- Tue Dec 14 08:37:27 CST 1999 Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/arm/arm.md (mulsidi3adddi, umulsidi3adddi): New patterns
- 	for long long multiply-accumulate.
- 
- Tue Dec 14 13:51:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regclass.c (scan_one_insn): Set loop_cost to 1 when
- 	optimizing for size.
- 
- 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (reload): Can't avoid select_reload_regs/finish_spills
- 	if something changed.  Back out that part of yesterday's changes.
- 
- 	* loop.c (loop_max_reg): New static variable.
- 	(loop_optimize): Initialize it.  Eliminate one unnecessary call to
- 	max_reg_num.
- 	(scan_loop): Call reg_scan_update whenever we may have added new
- 	registers, and update loop_max_reg.
- 
- Tue Dec 14 12:07:29 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regclass.c  (record_reg_classes): Do not do the copying preferrencing
- 	when source does not die.
- 
- 	* regclass.c (record_reg_classes): Handle INOUT operands properly.
- 
- 1999-12-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (TARGET_LIVE_G0,
- 	TARGET_BROKEN_SAVERESTORE): Don't support weird SPARC
- 	variants on Linux.
- 	* config/sparc/linux.h (TARGET_LIVE_G0,
- 	TARGET_BROKEN_SAVERESTORE): Likewise.
- 	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
- 	TARGET_BROKEN_SAVERESTORE): Likewise.
- 
- 	* config/sparc/sparc.h (SPARC_DEFAULT_CMODEL): Default to CM_32.
- 	(CONDITIONAL_REGISTER_USAGE): For block profiling fix %g4 on sparc64,
- 	not %g2.
- 	(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Use %g4 instead of %g2
- 	as sparc64 block profiling register.
- 	* config/sparc/sparc.c (sparc_override_options): Allow block
- 	profiling with -m32.
- 	(sparc_block_profiler): Use %g4 instead of %g2 as sparc64 block
- 	profiling register.
- 	* config/sparc/linux64.h (MACHINE_STATE_*): Only provide these
- 	macros on TARGET_ARCH32. sparc.h has macros good enough for sparc64.
- 	* config/sparc/sol2.h (MACHINE_STATE_*): Likewise.
- 
- 	* config/sparc/xm-sp64.h: Avoid using __sparc_v9__ when testing
- 	for sparc64.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/xm-sysv4-64.h: Likewise.
- 	* config/float-sparc.h: Likewise.
- 	* glimits.h: Likewise.
- 	* longlong.h: Likewise.
- 
- 	* config/sparc/linux64.h (DEFAULT_VTABLE_THUNKS): Define to 1.
- 	(ASM_IDENTIFY_GCC): Remove.
- 
- 1999-12-14  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* combine.c (combine_simplify_rtx): Don't make shared rtl.
- 	(simplify_logical): Likewise.
- 
- 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* cccp.c (INO_T_EQ): Disable inode-based optimization for Cygwin.
- 	* cppfiles.c (INO_T_EQ): Likewise.
- 
- 1999-12-14  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/crtdll.h (STARTFILE_SPEC): Add -pg profiling support.
- 	* i386/mingw32.h (LIB_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 	* i386/uwin.h (LIB_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 
- 	* i386/mingw32.h (SUBTARGET_PROLOGUE): Override Cygwin definition.
- 	* i386/uwin.h (SUBTARGET_PROLOGUE): Likewise.
- 
- Mon Dec 13 20:25:29 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (combine_simplify_rtx): Fix order of checks for
- 	(ashiftrt foo C) -> (lt foo (const_int 0)) simplification.
- 
- 1999-12-13  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/arm/arm.md  (*mulsidi3adddi, *umulsidi3adddi) Backed out
- 	12/10/99 change, reapplied to merged-arm-thumb-backend-branch.
- 
- 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* hard-reg-set.h (inv_reg_alloc_order): Declare if REG_ALLOC_ORDER is
- 	defined.
- 	* regclass.c (inv_reg_alloc_order): New array.
- 	(regclass_init): If REG_ALLOC_ORDER is defined, initialize it.
- 
- 	* reload.h (struct insn_chain): Delete fields group_size, group_mode,
- 	counted_for_groups, counted_for_nongroups.  Add fields rld and
- 	n_reloads.
- 	* reload.c (push_secondary_reload): Don't set nongroup field of
- 	new reloads.
- 	(push_reload): Likewise.
- 	(find_reloads): Delete code to compute nongroup fields.
- 	* reload1.c (reload_insn_firstobj): New static variable.
- 	(pseudos_counted, spilled_pseudos): Now of type regset_head.  All
- 	users changed.
- 	(calculate_needs, find_tworeg_group, find_group, possible_group_p,
- 	count_possible_groups, modes_equiv_for_class_p, new_spill_reg,
- 	dump_needs, maybe_mark_pseudo_spilled, hard_reg_use_compare): Delete
- 	functions.
- 	(count_pseudo, select_reload_regs, copy_reloads, find_reg): New
- 	functions.
- 	(struct hard_reg_n_uses): Deleted.
- 	(potential_reload_regs): Deleted.
- 	(init_reload): Initialize spilled_pseudos and pseudos_counted.
- 	(reload): Don't try to allocate reload registers if we already know
- 	we have to make another pass.  Call select_reload_regs.  Free memory
- 	starting with reload_firstobj when starting another pass.
- 	Don't allocate spilled_pseudos.
- 	(calculate_needs_all_insns): Call copy_reloads for an insn that
- 	needs reloads; don't call calculate_needs.
- 	(spill_cost): New static array.
- 	(used_spill_regs_local): New static variable.
- 	(order_regs_for_reload): Rewrite to lose hard_reg_n_uses and the code
- 	to compute potential_reload_regs.
- 	(find_reload_regs): Completely rewritten to use find_reg.
- 	(allocate_reload_reg): Don't test counted_for_groups or
- 	counted_for_nongroups.  Lose NOERROR arg and code to give an error;
- 	all cllers changed.
- 	(choose_reload_regs): Add fallback code that uses the existing
- 	register allocation from find_reload_regs.
- 
- Mon Dec 13 00:54:14 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* flow.c (create_edge_list): Cast xmalloc return value.
- 
- Mon Dec 13 00:47:58 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* doprnt.c: Remove incorrect comment closure.
- 
- 	* cse.c: Fix a few minor whitespace goofs.
- 
- 1999-12-13  Don Bowman  <don@pixstream.com>
- 
- 	* mips/vxworks.h: Fix problem with comment termination.
- 	(EXTRA_SECTIONS): Add in_sbss.
- 	(EXTRA_SECTION_FUNCTIONS): Corresponding changes.
- 
- 1999-12-12  David S. Miller  <davem@redhat.com>
- 
- 	* cse.c (struct cse_reg_info): Add hash_next member,
- 	reorder rest of struct for better packing on 64-bit
- 	hosts.
- 	(cse_reg_info_tree): Kill.
- 	(REGHASH_SHIFT, REGHASH_SIZE, REGHASH_MASK, reg_hash,
- 	REGHASH_FN): New custom pow2 hash mechanism.
- 	(NBUCKETS): Kill.
- 	(HASH_SHIFT, HASH_SIZE, HASH_MASK, HASH, table): Rework to
- 	use a pow2 hash table.
- 	(get_cse_reg_info): Rework to use new REGHASH.
- 	(new_basic_block): Likewise, use HASH_SIZE, and inline
- 	free_element call.
- 	(remove_from_table): Rework to use HASH_SIZE/HASH_MASK,
- 	and inline free_element call.
- 	(lookup_as_function, insert, flush_hash_table, invalidate,
- 	remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
- 	invalidate_for_call, use_related_value, find_comparison_args,
- 	fold_rtx, equiv_constant, cse_insn, invalidate_memory): Likewise.
- 	(hash_cse_reg_info, cse_reg_info_equal_p, free_element,
- 	get_element): Kill.
- 
- Sun Dec 12 21:31:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_basic_block): Free qty_table consistently.
- 
- 1999-12-12  David S. Miller  <davem@redhat.com>
- 	    Jakub Jelinek    <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movtf reg/reg split): Don't generate
- 	SUBREGs by hand, gen the appropriate hard reg directly.
- 	(movtf reg/mem split): Likewise and alter_subreg on destination
- 	if necessary.
- 	(movtf mem/reg split): Similarly.
- 	(movdf_cc_sp64): Rename from hidden pattern.
- 	(movtf_cc_hq_sp64): Renamed from movtf_cc_sp64.
- 	(movtf_cc_sp64, following split): New pattern and splitter.
- 	(movdf_cc_reg_sp64): Rename from hidden pattern.
- 	(movtf_cc_reg_hq_sp64): Renamed from movtf_cc_reg_sp64, require
- 	TARGET_HARD_QUAD.
- 	(movtf_cc_reg_sp64, following split): New pattern and splitter.
- 
- 1999-12-12  Stephen L Moshier <moshier@mediaone.net>
- 
- 	* loop.c (load_mems): Don't hoist written floating point mem
- 	if -ffloat-store.
- 
- 1999-12-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.h (struct eh_queue): Add `next' pointer.
- 	(struct eh_status): Make x_ehqueue a pointer.
- 	(push_ehqueue):  Declare.
- 	(pop_ehqueue): Likewise.
- 	* except.c (expand_eh_region_end): Adjust now that ehqueue is a
- 	pointer.
- 	(expand_fixup_region_end): Likewise.
- 	(expand_leftover_cleanups): Likewise.
- 	(push_ehqueue): Define.
- 	(pop_ehqueue): Likewise.
- 	(emit_cleanup_handler): Use push_ehqueue and pop_ehqueue rather
- 	than doing it inline.
- 	(expand_start_all_catch):  Adjust now that ehqueue is a
- 	pointer.
- 	(mark_eh_queue): Mark all level of the queue.
- 	(mark_eh_status):  Adjust now that ehqueue is a
- 	pointer.
- 	(init_eh_for_function): Allocate ehqueue.
- 	(free_eh_status): Free it.
- 	* stmt.c (expand_cleanups): Save the ehqueue around the cleanup
- 	expansion for a fixup.
- 
- 1999-12-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gthr-single.h (__gthread_active_p): Add prototype arguments.
- 
- 	* libgcc2.c (__udivmoddi4): Remove unnecessary decls.
- 	(__dummy, __builtin_saveregs, __bb_exit_trace_func, __bb_init_prg,
- 	__bb_trace_func, __bb_trace_func_ret, __bb_trace_ret,
- 	function_ptr, getpagesize, __enable_execute_stack,
- 	__enable_execute_stack, __clear_insn_cache,
- 	__enable_execute_stack, __do_global_dtors, __do_global_ctors,
- 	_cleanup, _exit, __default_terminate, __terminate_func,
- 	__terminate, __empty, __throw, new_eh_context,
- 	eh_context_initialize, eh_context_static, eh_context_specific,
- 	get_eh_context, __get_eh_context, __get_eh_info,
- 	init_reg_size_table, eh_threads_initialize,
- 	__get_dynamic_handler_chain, __sjthrow, __sjpopnthrow,
- 	__unwinding_cleanup, throw_helper, __throw, __rethrow,
- 	__pure_virtual): Add prototype arguments.
- 	(__bb_exit_func): Cast a sizeof to long when comparing against one.
- 	Cast a signed value to unsigned long when comparing against one.
- 	(new_eh_context): Wrap in _GTHREADS macro.
- 	(__sjthrow, __sjpopnthrow): Initialize variable `cleanup' at
- 	declaration.
- 	(in_reg_window): Mark parameters with __attribute__ ((__unused__)).
- 	(throw_helper): Initialize variables `handler_p' and `pc_p'.
- 
- 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* combine.c (record_promoted_value): Remove unused variable
- 	`links2'.
- 
- 	* emit-rtl.c (renumber_insns): Likewise for `old_max_uid'.
- 
- 	* global.c (record_conflicts): Likewise for `j'.
- 
- 	* genoutput.c (output_insn_data): Don't unnecessarily cast away
- 	const-ness.
- 
- 1999-12-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386-protos.h (output_387_binary_op, output_fix_trunc,
- 	output_fp_compare): Constify a char*.
- 
- 	* i386.c (ix86_split_to_parts, ix86_safe_length_prefix): Add
- 	static prototypes.
- 	(override_options, ix86_comp_type_attributes, print_operand,
- 	output_387_binary_op, output_fix_trunc, output_fp_compare):
- 	Constify a char*.
- 	(ix86_sched_reorder): Mark parameter `clock_var' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* i386.h (DEBUG_PRINT_REG): Constify a char*.
- 
- Fri Dec 10 16:12:13 1999  Alexandre Petit-Bianco  <apbianco@cygnus.com>
- 
- 	* tree.def (EXPR_WITH_FILE_LOCATION): Temporarily add a third
- 	operand, for use in the Java front-end.
- 
- 1999-12-10  Ben Collins  <bcollins@debian.org>
- 
- 	* configure.in: Fix typo for "-64" in 64bit as check.
- 	* configure: Rebuilt.
- 
- 1999-12-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT where
- 	appropriate.
- 
- 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (string): With -Wtraditional, warn if ANSI string
- 	concatenation is utilized.
- 
- 	* invoke.texi (-Wtraditional): Document it.
- 
- 1999-12-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* flow.c (flow_loops_dump): Avoid ANSI string concatenation.
- 	Cast a ptrdiff_t to long and pass it to printf with %ld.
- 
- 1999-12-10  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/m68k/m68k.h (CONDITIONAL_REGISTER_USAGE): If we have no
- 	68881, we have no 68881 registers at all.
- 	(HARD_REGNO_MODE_OK): It is always OK to put a MODE_FLOAT
- 	value in a 68881 register if it is available.
- 
- 1999-12-10  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/arm/arm.md (*mulsidi3adddi, *umulsidi3adddi): New patterns
- 	for long long multiply-accumulate.
- 
- 1999-12-10  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (insert_loop_mem): Undo last change.
- 
- 1999-12-10  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (fp_sethi_p, fp_mov_p, fp_high_losum_p):
- 	New functions.
- 	* config/sparc/sparc-protos.h: Add them.
- 	* config/sparc/sparc.h: Add them to PREDICATE_CODES.
- 	(EXTRA_CONSTRAINT_BASE): New macro, handling Q, R, and S
- 	constraints which use those helpers.
- 	(EXTRA_CONSTRAINT): Use this new macro.
- 	* md.texi: Update sparc target constraints documentation.
- 	* config/sparc/sparc.md (clear_sf, clear_sfp, movsf_const_intreg,
- 	movsf_const_high, movsf_const_lo, movsf_insn): Delete.
- 	(movsf_insn_novis_liveg0, movsf_insn_novis_noliveg0,
- 	movsf_insn_vis, movsf_lo_sum, movsf_high): New patterns.
- 	(movsf high/lo_sum split): Rework for new patterns.
- 	(movsf expander): Allow storing fp_zero to memory if ! live_g0.
- 
- 1999-12-09  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
- 
- 	* c-common.c (c_common_nodes_and_builtins):
- 	Create __builtin_ptrdiff_t and __builtin_size_t.
- 
- Thu Dec  9 18:05:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/elf.h (MAX_OFILE_ALIGNMENT): Define.
- 
- Fri Dec 10 00:53:10 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* regclass.c (globalize_reg): Re-instate test that allows
- 	fixed registers to be declared as a variable even after functions
- 	are defined.
- 
- Fri Dec 10 00:52:13 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (cpu attribute): Add "athlon".
- 	(athlon_decode): New attribute.
- 	(Athlon scheduling units definitions): New.
- 	(fcmp and shld patterns): Set athlon_decode to "vector".
- 	* i386.c (athlon_cost): New.
- 	(m_ATHLON): New.
- 	(x86_use_leave, x86_push_memory, x86_movx, x86_cmove, x86_deep_branch,
- 	x86_use_sahf): Set for Athlon.
- 	(x86_use_fiop): Unset for Athlon.
- 	(override_options): Define Athlon alignments and "athlon" name.
- 	(x86_adjust_cost): Penalize AGI and delayed latencies for Athlon.
- 	* i386.h (TARGET_ATHLON): New.
- 	(enum processor_type): Add PROCESSOR_ATHLON.
- 	(TARGET_CPU_DEFAULT_SPEC): Set to "-D__tune_athlon__"
- 	for CPU_DEFAULT==5
- 	(TARGET_CPP_CPU_SPECS): Set -D__tune_athlon__ for Athlon.
- 
- 1999-12-09  Andreas Jaeger  <aj@suse.de>
- 
- 	* loop.c (record_biv): Declare parameter as int.
- 
- 	* config/i386/i386-protos.h: Declare long_memory_operand.
- 
- 1999-12-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (copy_node): Do zero the TREE_CHAIN, even for an
- 	EXPR_WITH_FILE_LOCATION.
- 
- Thu Dec  9 11:36:24 MET 1999 Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (neg??, abs?f, one_cmpl?i): Use nonimmediate_operand
- 	in expander.
- 
- 	* flow.c (recompute_reg_usage): Use basic block info to get loop_depth.
- 
- 	* combine.c (try_combine, distribute_notes): Remove REG_N_REFS
- 	updating code.
- 
- 1999-12-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (TARGET_DEFAULT): Make -mapp-regs
- 	default on linux64 again.
- 	* config/sparc/t-linux64: Add mno-app-regs and non-medlow code
- 	models for multilibing.
- 	* genmultilib: Accept | as alternative separator within a set in
- 	MULTILIB_OPTIONS.
- 
- 	* config/sparc/sparc.h (PROMOTE_FOR_CALL_ONLY): Define.
- 
- 	* calls.c (precompute_arguments): Make sure initial_value contains
- 	value pseudo which CSE expects.
- 	* cse.c (struct set): New entry orig_src.
- 	(cse_insn): Set it early on entry, use it for libcall EQUIV note
- 	replacement.
- 
- Wed Dec  8 22:24:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (count_basic_blocks): Don't add (use (const_int 0)) insns.
- 
- 1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (insert_loop_mem): Don't hoist volatile mems out of loops.
- 
- 1999-12-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (ultra_cmove_results_ready_p,
- 	ultra_fpmode_conflict_exists, ultra_flush_pipeline): Typo fix.
- 
- 	* config/sparc/sparc.h (SPARC_SETHI_P): Don't look at topmost 32 bits
- 	if TARGET_ARCH32.
- 
- 	* longlong.h: Merge in changes from glibc.
- 	Also don't clobber %g2 register in 32bit SPARC assembly, so that
- 	-mno-app-regs libgcc can be compiled.
- 	* libgcc2.c: Add defines so that the updated longlong.h
- 	can be used in libgcc2.a. Also, make sure on most architectures
- 	(at least on all which have optimized code in longlong.h defined
- 	for) {SI,W}_TYPE_SIZE is suitable for preprocessor tests.
- 
- 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/sparc/sol2-64.h: Same as sol2-sld-64.h, except that
- 	`-m EMULATION' is added to non-default LINK_ARCH_SPECs.
- 	* configure.in: Use sol2-64.h instead of sol2-sld-64.h if linker
- 	is GNU ld.
- 	* configure: Rebuilt.
- 
- Wed Dec  8 03:45:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (secondary_reload_class): For !BWX, sub-simode
- 	outputs require a register.
- 
- 1999-12-08  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Add _sf_to_usi
- 	_df_to_usi.  Required by some targets, so US_SOFTWARE_GOFAST calls to
- 	functions like dptoul will be resolved.
- 	(libgcc2.a): Make sure that the object files from DPBIT are named
- 	differently (prefix `_dp') from those that would be coming from
- 	FPBIT.
- 
- 1999-12-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>,  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: When target is sparc* and tm_file contains 64,
- 	test for 64bit support in assembler.  If not supported, remove
- 	sparc/t-sol2-64 from target-dependent Makefile fragments.
- 	(AS_SPARC64_FLAG): Define to the assembler flag for 64bit.
- 	(HAVE_AS_OFFSETABLE_LO10): Rework test to use these flags.
- 	(HAVE_AS_REGISTER_PSEUDO_OP): Use config.cache.
- 	* acconfig.h (AS_SPARC64_FLAG): Added.
- 	* configure, config.in: Rebuilt.
- 	* config/sparc/sol2-sld-64.h: Same as sol2.h, if without 64bit
- 	support.  Use AS_SPARC64_FLAG.
- 
- 1999-12-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (hard_32bit_mode_classes): Mark registers
- 	suitable for holding OFmode values so that gcc works with complex
- 	quad long doubles.
- 	(hard_64bit_mode_classes): Likewise.
- 
- 	* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): Fix pattern
- 	so that it is actually matched.
- 	(sethi_di_medlow): Likewise.
- 
- 	* config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Consider TFmode 0.0L
- 	as legitimate constant if -mvis.
- 	* config/sparc/sparc.md (movtf): Likewise.
- 	(clear_sf): Use const_double_operand.
- 	(clear_sfp, clear_dfp, clear_tf, clear_tfp): New patterns.
- 
- 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): New function.
- 	* config/sparc/sparc-protos.h (sparc_emit_float_lib_cmp): Prototype.
- 	* config/sparc/sparc.h (*_LIBCALL): Only use for _Q_*
- 	routines, _Qp_* cannot be handled like that now.
- 	(INIT_TARGET_OPTABS): Likewise.
- 	* config/sparc/sparc.md (cmptf): Accept soft float ARCH64.
- 	(seq, sne, sgt, sge, slt, sle, beq, bne, bgt, bge, blt, ble): Call
- 	sparc_emit_float_lib_cmp if ARCH64 and soft float.
- 	(extendsftf2, extenddftf2, trunctfsf2, trunctfdf2, floatsitf2,
- 	floatditf2, fix_trunctfsi2, fix_trunctfdi2, addtf3, subtf3, multf3,
- 	divtf3, sqrttf3): New expanders.
- 	(extendsftf2_hq, extenddftf2_hq, trunctfsf2_hq, trunctfdf2_hq,
- 	floatsitf2_hq, floatditf2_hq, fix_trunctfsi2_hq, fix_trunctfdi2_hq,
- 	addtf3_hq, subtf3_hq, multf3_hq, divtf3_hq, sqrttf3_hq): Rename from
- 	non-_hq patterns.
- 
- 	* configure.in (sparc64-*-linux*): Use posix threads if enabled.
- 	* configure: Rebuilt.
- 	* config/sparc/linux64.h: Default to -mcpu=ultrasparc if no
- 	-mcpu is given and we're doing 64bit compiles.
- 
- Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.h (struct induction): Add multi_insn_incr.
- 	* loop.c (basic_induction_var): New multi_insn_incr argument.
- 	Set it if we search back through previous insns for the biv.
- 	(record_biv): New multi_insn_incr argument; fill in struct induction.
- 	(strength_reduce): Discard an iv with multiple bivs, any of
- 	which require multiple insns to increment.
- 
- 1999-12-07  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* invoke.texi (C Dialect Options): Remove -flang-c9x, add -std
- 	documentation.
- 
- 1999-12-06  David S. Miller  <davem@redhat.com>
- 
- 	* combine.c (check_promoted_subreg): Do not conditionalize this	upon
- 	PROMOTE_FUNCTION_RETURN.
- 
- Mon Dec  6 15:12:14 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* regmove.c (optimize_reg_copy_1): If no REG_DEAD note, check for
- 	and handle REG_UNUSED note on insn.
- 
- 	* combine.c (force_to_mode, case LSHIFTRT): New local inner_mask.  Set
- 	inner_mask instead of mask.
- 
- 1999-12-06  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* dwarf2out.c (field_byte_offset): As with dwarfout.c, size can be
- 	zero if there was an error.
- 
- 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (return_losum_di): Fix typo in asm
- 	output string.
- 
- 	* longlong.h: Fix clobbers in SPARC asm statements.
- 
- 	* config/sparc/sparc.c (input_operand): Allow HImode and QImode
- 	valid sethi operations when TARGET_ARCH64.
- 
- 	* calls.c (save_fixed_argument_area): If save_mode is BLKmode,
- 	always use move_by_pieces to avoid infinite recursion.
- 	(restore_fixed_argument_area): Likewise.
- 
- 	* combine.c (check_promoted_subreg, record_promoted_value): New
- 	functions.
- 	(combine_instructions): Use them to retain nonzero and sign bit
- 	information after SUBREGs are eliminated by optimizations in
- 	this pass if PROMOTE_FUNCTION_RETURN.
- 
- 	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Document
- 	.register declaration. Don't use variables with __ prefixes.
- 
- Mon Dec  6 12:24:52 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (optimize_bit_field_compare): Only use one mode
- 	for both RHS and LHS in non-constant case.
- 
- 1999-12-06  Nathan Sidwell  <nathan@acm.org>
- 
- 	* frame.c (start_fde_sort): Only allocate erratic array, if
- 	linear one was allocated. Return allocated flag.
- 	(fde_insert): Only insert, if there's a valid array.
- 	(fde_end_sort): Split, sort and merge if linear and erratic
- 	arrays exist, else just sort linear one.
- 	(search_fdes): New function. Linear search through original fde
- 	structure.
- 	(frame_init): Permit multiple initializations. Cope with
- 	memory shortages.
- 	(find_fde): Fallback on linear search, if failed to sort array.
- 	(__deregister_frame_info): Only free sorted array, if we
- 	allocated it.
- 
- 1999-12-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (MUST_PASS_IN_STACK): New macro.
- 
- 1999-12-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc64_initialize_trampoline): Use gen_flushdi.
- 
- 1999-12-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (special_function_p): Declare.
- 	* calls.c (special_function_p): Make it global.  Don't take `name'
- 	as a parameter.  Fix typo in 1999-11-28 change.
- 	(expand_cal): Adjust.
- 
- 1999-12-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.def (EXPR_WITH_FILE_LOCATION): Fix comment formatting.
- 	* tree.h (EXPR_WFL_FILENAME): Define in terms of
- 	EXPR_WFL_FILENAME_NODE.
- 	(EXPR_WFL_FILENAME_NODE): Use the second operand slot rather than
- 	the TREE_CHAIN.
- 	* print-tree.c (print_note): Print TREE_PRIVATE and
- 	TREE_PROTECTED.
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Don't abort when
- 	the original die cannot be found.
- 
- 	* varray.h (varray_head_tag): Add elements_used.
- 	(VARRAY_PUSH): New macro.
- 	(VARRAY_POP): Likewise.
- 	(VARRAY_TOP): Likewise.
- 	Add variants of VARRAY_PUSH and VARRAY_POP for all varray element
- 	types.
- 	* varray.c (varray_init): Initialize elements_used.
- 	* Makefile.in (BASIC_BLOCK_H): Add varray.h.
- 	(INTEGRATE_H): New variable.
- 	(integrate.o): Depend on INTEGRATE_H.
- 	(unroll.o): Likewise.
- 
- 	* function.h (insert_block_after_note): Declare.
- 	* function.c (insert_block_after_note): Split out from ...
- 	(retrofit_block): ... here.
- 
- 	* stmt.c (expand_fixup): Fix typo in comment.
- 
- Sat Dec  4 14:13:38 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regmove.c (copy_src_to_dest): Remove loop_depth parameter.
- 	(optimize_reg_copy_1): Remove REG_N_REFS updating code.
- 	(optimize_reg_copy_2, copy_src_to_dest, fixup_match_2): Likewise.
- 	(regmove_optimize, fixup_match_1): Likewise.
- 
- 1999-12-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* flow.c (flow_loops_dump): Add missing argument when calling
- 	flow_loop_nested_p.
- 
- 1999-12-04  Geoffrey Keating  <geoffk@cygnus.com>
- 	    Greg McGary  <gkm@gnu.org>
- 
- 	* c-common.c (enum attrs): Add A_NO_LIMIT_STACK.
- 	(init_attributes): Add A_NO_LIMIT_STACK.
- 	(decl_attributes): Handle A_NO_LIMIT_STACK.
- 	* c-decl.c (duplicate_decls): Handle DECL_NO_LIMIT_STACK.
- 	* explow.c (allocate_dynamic_stack_space) [!HAVE_allocate_stack]:
- 	Handle stack bounds checking.
- 	* flags.h (flag_stack_check): Use the word 'probe' rather than
- 	'check', because the flag doesn't actually cause any checking to
- 	be done.
- 	* function.c (expand_function_start): Set
- 	current_function_limit_stack.
- 	* function.h (struct function): Add limit_stack.
- 	(current_function_limit_stack): Define.
- 	* invoke.texi (Code Gen Options): Document new options.
- 	* rtl.h: Declare stack_limit_rtx.
- 	* toplev.c (stack_limit_rtx): New variable.
- 	(decode_f_option): Handle new options -fstack-limit-register=REG,
- 	-fstack-limit-symbol=IDENT, -fno-stack-limit.
- 	(main): Add stack_limit_rtx as GC root.
- 	* tree.h (DECL_NO_LIMIT_STACK): New macro.
- 	(struct tree_decl): New member no_limit_stack.
- 
- 	* config/rs6000/rs6000.c (rs6000_allocate_stack_space): Handle
- 	stack_limit_rtx.
- 	* config/rs6000/rs6000.md (allocate_stack): Handle stack_limit_rtx.
- 	(conditional_trap+1): Get new mnemonic correct.
- 	(conditional_trap+2): New pattern for DImode traps.
- 
- 	* config/m68k/m68k.c (output_function_prologue): Handle
- 	stack_limit_rtx.
- 	* config/m68k/m68k.md (trap): New insn.
- 	(conditional_trap): New insn.
- 	* md.texi (Standard Names): Document `trap' and
- 	`conditional_trap'.
- 	* optabs.c (gen_cond_trap): Use start_sequence()/end_sequence()
- 	so a cc0 setter doesn't get emitted at some random place in the
- 	function.
- 
- 	* config/i960/i960.md (trap): New insn.
- 	(conditional_trap): New expander.
- 	(conditional_trap+1, conditional_trap+2): New insns for signed
- 	and unsigned cases.
- 	* config/i960/i960.c (i960_function_prologue): Use
- 	STARTING_FRAME_OFFSET.  Handle stack_limit_rtx.
- 
- Thu Dec  2 21:22:45 1999  Greg McGary  <gkm@gnu.org>
- 			  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* flags.h (warn_padded, warn_packed): Add global var decls.
- 	* toplev.c (warn_padded, warn_packed): Add global var defns.
- 	(W_options): Add warnings `-Wpacked' and `-Wpadded'.
- 	* stor-layout.c (layout_record): Add local variable `type'
- 	to hold often-used TREE_TYPE (field).  Add local variable
- 	`unpacked_align' to hold alignment that would be in force
- 	if no `packed' attribute were present.  Warn if `packed' attribute
- 	is unnecessary, or even harmful.  Warn when gcc inserts padding
- 	to satisfy alignment requirements of members.  Use NULL_TREE
- 	when checking whether var_size is set.
- 	* invoke.texi: Document new flags.
- 
- 1999-12-03  Nathan Sidwell  <nathan@acm.org>
- 
- 	* frame.c (fde_split): Reimplement to avoid variable sized array.
- 
- Thu Dec  2 18:59:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* combine.c (try_combine): Before fixing up LOG_LINKS for the
- 	i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
- 
- 1999-12-02  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* invoke.texi: Document the mips option -mno-crt0
- 
- 1999-12-02  Mike Karr  <mkarr@mathworks.com>
- 
- 	* cccp.c (argdata): Added free_ptr member.
- 	(macroexpand): Initialize free_ptr of each argument. When an
- 	argument's buffers are freed, if the argument's free_ptr corresponds
- 	to a buffer on the input stack, then return the free_ptr to that stack
- 	frame, otherwise, free it.
- 	(macarg): If an argument begins and ends on the same input stack level,
- 	then transfer the free_ptr of that buffer to the argument in case
- 	the stack is popped during the processing of a subsequent argument.
- 
- 1999-12-02  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (note_reg_stored): New function.
- 	(struct note_reg_stored_arg): New structure.
- 	(try_copy_prop): Change to be more conservative; only replace within
- 	one extended basic block and stop replacing if a store to the
- 	replacement reg is seen.
- 
- 1999-12-02  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fp-bit.c: Initialize all fields of the NAN
- 	constants.
- 
- 	* c-lex.c (check_newline): Pass pragma_getc and pragma_ungetc
- 	to HANDLE_PRAGMA.
- 
- Wed Dec  1 18:16:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (extend?f?f2): Force the input into a register, not
- 	the output.
- 
- 1999-12-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movsf_const_intreg): Add constraints for
- 	regclass' sake.
- 	(movdf_const_intreg_sp32): Likewise. Prefer the memory load
- 	alternative because setting up 64bit constant is usually costly,
- 	especially when reload is in progress or completed.
- 	(movdf_const_intreg_sp64): Likewise.
- 	(movdf_const_intreg split): Fix building up constants when
- 	HOST_BITS_PER_WIDE_INT is 64 yet long is 32bit.
- 
- Wed Dec  1 16:51:22 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (if_then_else_cond): Use const_true_rtx instead of
- 	const1_rtx for return values in EQ/NE comparison against (const_int 0)
- 	case.
- 
- 	* mn10300.c (REG_SAVE_BYTES): Allocate space for AM33 registers.
- 	(asm_file_start): Emit .am33 into assembly file when compiling for
- 	the AM33.
- 	(print_operand_address): Handle POST_INC addresses.
- 	(can_use_return_insn, initial_offset): Check AM33 registers too.
- 	(expand_prologue): Check & save AM33 registers too.
- 	(expand_epilogue): Similarly.
- 	(secondary_reload_class): Handle AM33 specific secondary reloads.
- 	(output_tst): Emit efficient code for the AM33 too.
- 	* mn10300.h (CPP_SPEC, TARGET_AM33): Define.
- 	(TARGET_SWITCHES): Add -mam33 switch.
- 	(FIRST_PSEUDO_REGISTER): Handle new AM33 registers.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Likewise.
- 	(REG_ALLOC_ORDER, CONDITIONAL_REGISTER_USAGE): Likewise.
- 	(HARD_REGNO_MODE_OK, MODES_TIEABLE_P): Likewise.
- 	(enum reg_class, REG_CLASS_NAMES): Likewise.
- 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Likewise.
- 	(INDEX_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise.
- 	(REGNO_OK_FOR_INDEX_P, PREFERRED_RELOAD_CLASS): Likewise.
- 	(PREFERRED_OUTPUT_RELOAD_CLASS, LIMIT_RELOAD_CLASS): Likewise.
- 	(REGISTER_MOVE_COST, REGISTER_NAMES): Likewise.
- 	(HAVE_POST_INCREMENT): Define.
- 	(GO_IF_LEGITIMATE_ADDRESS): Allow POST_INC addresses for the AM33.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS): POST_INC is a mode dependent address.
- 	* mn10300.md (movqi, movhi, addsi, subsi): Add AM33 variants.
- 	(mulsi, andsi, iorsi, xorsi, notsi): Likewise.
- 	(ashiftsi, lshiftrtsi, ashiftrtsi): Likewise.
- 	(zero_extend to SI from QI/HI): Likewise.
- 	(sign_extend to SI from QI/HI): Likewise.
- 	(mulsidi3, umulsidi3): New patterns for the AM33.
- 	(tstsi with zero extension from QI/HI): Add AM33 variants.
- 	(movsi, movsf, movdi, movdf): Generate efficient code for the AM33 too.
- 	(return_internal_regs, store_movm): Handle new AM33 registers.
- 	* t-mn10300 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Define.
- 	(LIBGCC, INSTALL_LIBGCC): Likewise.
- 	* invoke.texi: Document new flags.
- 
- Fri Nov 26 10:59:12 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (addsi3_cc): Add "binary_operator_ok" to the condition.
- 	(addsi3_carry): Likewise.
- 	(sbbsi3_cc): Add "binary_operator_ok" to the condition.
- 	(sbbsi3_carry): Likewise.
- 	(mulsi3): Rewrite to expander, ensure that only one operand is memory.
- 	(mulhi3): Likewise.
- 	(test?i_1): Ensure that only one operand is memory.
- 	(conditional move patterns): likewise.
- 	(shift and rotate patterns): Rewrite to expander, add
- 	"binary_operator_ok" to the condition.
- 
- 	* i386.md (QImode patterns): Remove '*' before the 'r' constraints.
- 	* i386.h (procesor_costs): Add movzbl_load field.
- 	(HARD_REGNO_MODE_OK): Accept QImode on non PARTIAL_REGISTER_STALL in
- 	non-Q registers, accept DImode registers anywhere.
- 	(Q_CLASS_P): New.
- 	(MEMORY_MOVE_COST): Calculate QImode moves correctly.
- 	* i386.c (*_cost): Set value for movxbl_load field.
- 
- 	* (addsi): New add to lea splitter.
- 	(ashlsi): Likewise.
- 	(lea to add/shift peep2): New.
- 
- 1999-12-01  Mark Salter <msalter@cygnus.com>
- 
- 	* config/mips/elf.h (STARTFILE_SPEC): Add no-crt0.
- 	* config/mips/elf64.h (STARTFILE_SPEC): Add no-crt0.
- 	* config/mips/mips.h (TARGET_SWITCHES): Add no-crt0.
- 
- Tue Nov 30 15:20:52 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.c (ix86_expand_move): Never add clobbers to move patterns.
- 	* i386.md (movsi_xor): New.
- 	(movsi_or): New.
- 	(movsi_1, movhi_1, movqi_1): Remove.
- 	(movsi_2): Rename to movsi_1.
- 	(movhi_2): Rename to movhi_1.
- 	(movqi_2): Rename to movqi_1.
- 	(movdi_1): Remove; remove splitter.
- 	(movdi_2): Rename to movdi_1.
- 	(divmodsi4 splitter): Do not emit clobbers for move patterns.
- 	(long move peep2): Do not create QI or HI mode mov0s
- 	(mov -1,reg -> or peep2s): Enable again, rewrite to single peephole.
- 
- 	* i386.md (zero_extend?i?i2): Rewrite to expanders; new patterns,
- 	rewrite splitters.
- 
- 	* i386.md (neg?f2_if): Split "r" and "f" to separate alternatives.
- 	(abs?f2_if): Likewise.
- 
- 1999-11-30  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* ggc.h (ggc_test_and_set_mark): New macro.
- 	(ggc_mark_rtx): Use ggc_test_and_set_mark.
- 	(ggc_mark_tree): Likewise.
- 	(ggc_mark_rtvec): Likewise.
- 	* ggc-common.c (ggc_mark_rtx_children): Reduce recursion.
- 
- 1999-11-30  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (scope_die_for): Only handle types.  Only search for
- 	containing types.
- 	(decl_scope_table): Just an array of trees now.
- 	(push_decl_scope): Simplify.
- 	(dwarf2out_init): Adjust.
- 	(local_scope_p): New fn.
- 	(gen_inlined_enumeration_type_die): Don't call scope_die_for.
- 	(gen_inlined_union_type_die, gen_inlined_structure_type_die): Likewise.
- 	(gen_typedef_die): Likewise.
- 	(gen_lexical_block_die): Don't call push/pop_decl_scope.
- 	(gen_inlined_subroutine_die): Likewise.
- 	(gen_abstract_function): Set current_function_decl temporarily.
- 	(gen_subprogram_die): Don't check DECL_ABSTRACT to set declaration.
- 	Handle block extern declarations.  Don't call push/pop_decl_scope.
- 	(gen_decl_die): Fix logic for block externs.
- 
- 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (special_function_p): Remove `realloc' and add `strdup'
- 	to the list of functions which have attribute malloc by default.
- 
- 1999-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c (yylex): With -Wtraditional, when the ANSI type of an
- 	integer constant does not match the traditional type, limit the
- 	warnings to cases where the base of the type is ten.
- 
- 	* invoke.texi (-Wtraditional): Document it.
- 
- Tue Nov 30 15:18:35 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* combine.c (try_combine): Only pass SET or CLOBBER to SET_DEST
- 	* rs6000.md: Only access a CONST_INT with INTVAL
- 
- Tue Nov 30 14:21:00 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* lcm.c (compute_laterin): Cast bb->aux to size_t not int.
- 	(compute_nearerout): Likewise.
- 	* ggc-page.c (ggc_page_print_statistics): Explicitly cast
- 	size_t to unsigned long for formatting.
- 
- 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
- 	Allow the user to override call-used/fixed state of %g2-5
- 	registers from the command line (with the exception of %g4 for
- 	embedded model).
- 	(REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
- 	there is a higher chance of having a leaf function.
- 	(MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
- 	for ARCH64 which has %ccr register.
- 	* config/sparc/sparc.md (return_losum_si, return_losum_di): New
- 	patterns.
- 	* config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
- 	insn accept into delay slot any insn which does not use %[ol]
- 	registers.  Accept some LO_SUM and shift left by 1 for the normal
- 	restore case.
- 	(output_function_epilogue): Likewise.
- 	(epilogue_renumber): Added argument which inhibits any renumbering
- 	and just tests if the rtx does not use any %[ol] registers.
- 	(output_return): Reflect above change.
- 
- 1999-11-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_va_arg): Fix sparc64 va_arg
- 	aggregate passing for sizes <= 16 bytes.
- 
- 1999-11-30  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (FIXED_REGNO_P): Delete tests for OVERLAPPING_REGNO_P.
- 	* global.c (global_alloc): Delete [OVERLAPPING_REGNO_P] code.
- 	* reload.c (find_dummy_reload): Likewise.
- 	(find_equiv_reg): Likewise; also for INSN_CLOBBERS_REGNO_P.
- 	* reload1.c (reload_as_needed): Likewise.
- 	* stupid.c (stupid_find_reg): Likewise.
- 	* tm.texi (Obsolete Register Macros): Delete section.
- 	* gmicro.h: Remove all traces of the two macros.
- 	* i386.h: Likewise.
- 	* m88k.h: Likewise.
- 	* mips.h: Likewise.
- 
- 1999-11-30  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* sparc.h (MASK_FASTER_STRUCTS, TARGET_FASTER_STRUCTS): Define.
- 	(TARGET_SWITCHES): Add -mfaster-structs/-mno-faster-structs flags.
- 	(ROUND_TYPE_ALIGN): Use better value if -mfaster-structs.
- 	* sparc.md (sparclite86x_branch, sparclite86x_shift): New function
- 	units for the sparclite86x chip.
- 	(flush): Revert October 14th change; add SImode specifically.
- 	(flushdi): Copy of flush, but DImode, to avoid genrecog warnings.
- 	* invoke.texi: Document it.
- 
- Tue Nov 30 14:58:14 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/mn10200/mn10200.h (PREDICATE_CODES): Add
- 	psimode_truncation_operand.
- 
- 	* config/mn10200/mn10200.c (psimode_truncation_operand): New
- 	function.  Return true if the operand is either a MEM valid
- 	for a PSImode address or not a MEM at all.
- 
- 	* config/mn10200/mn10200.md (truncsipsi2): Use
- 	psimode_truncation_operand.
- 
- 1999-11-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* flow.c (flow_nodes_print, flow_loops_cfg_dump): New functions.
- 	(flow_loop_nested_p, flow_loops_dump, flow_loops_free): Likewise.
- 	(flow_loop_exits_find, flow_loop_nodes_find): Likewise.
- 	(flow_depth_first_order_compute, flow_loop_pre_header_find): Likewise.
- 	(flow_loop_tree_node_add, flow_loops_tree_build): Likewise.
- 	(flow_loop_level_compute, low_loops_level_compute): Likewise.
- 	(flow_loops_find, flow_loop_outside_edge_p): Likewise.
- 	* basic-block.h: Protect from multiple inclusion.
- 	(flow_loops_find, flow_loops_free, flow_loop_dump): Add protoypes.
- 	(struct loops, struct loop): Define structures.
- 	* sbitmap.c (sbitmap_a_subset_b_p): New function.
- 	* sbitmap.h: Protect from multiple inclusion.
- 	(sbitmap_a_subset_b_p): Add prototype.
- 	* Makefile.in (LOOP_H): New macro.
- 	(stmt.o, integrate.o, loop.o, unroll.o): Replace loop.h with LOOP_H.
- 
- Tue Nov 30 01:34:47 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* cppinit.c (CAT): The argument list of this macro may not contain
- 	spaces !
- 
- 1999-11-29  David S. Miller  <davem@redhat.com>
- 
- 	Move quantity tables and register equivalence chains into
- 	per-qty and per-register structure arrays respectively.
- 	* cse.c (qty_first_reg, qty_last_reg, qty_mode, qty_const,
- 	qty_const_insn, qty_comparison_code, qty_comparison_const,
- 	qty_comparison_qty): Delete, replace with...
- 	(qty_table): this structure table.
- 	(reg_next_eqv, reg_prev_eqv): Delete, replace with...
- 	(reg_eqv_table): this structure table.
- 	(make_new_qty): Add argument MODE.  Caller updated.
- 	Update to use qty_table and reg_eqv_table.
- 	(make_regs_eqv, delete_reg_equiv, insert_regs,
- 	insert, exp_equiv_p, cse_rtx_varies_p, canon_reg,
- 	fold_rtx, equiv_constant, record_jump_cond, cse_insn,
- 	cse_process_notes, cse_main, cse_basic_block): Likewise.
- 
- Mon Nov 29 16:56:42 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (extract_muldiv, case {MIN,MAX}_EXPR): Reverse
- 	operation if C is negative.
- 	(extract_muldiv, case SAVE_EXPR): Supresss if arg has side effects.
- 	(extract_muldiv, case {PLUS,MINUS}_EXPR): Don't apply distributive
- 	law for some divisions if constant is negative and change other
- 	divisions to the opposite rounding.
- 
- 	* expr.c (store_constructor_field): If bit position is not multiple
- 	of alignment of TARGET's mode, use BLKmode.
- 
- 	* expr.c (expand_expr_unaligned): Add more code from full case
- 	that is needed when OP0 is in a register.
- 
- Mon Nov 29 18:09:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* dwarfout.c (field_byte_offset): Size can be zero if there was
- 	an error.
- 
- 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* fold-const.c (split_tree): Delete unused vars ORIG_IN and TYPE.
- 	(associate_trees): Delete unused var TEM.
- 	(extract_muldiv): Delete unused var CANCEL_P.
- 
- 	* fold-const.c [TARGET_FLOAT_FORMAT != IEEE_FLOAT_FORMAT]
- 	(target_isinf, target_isnan, target_negative): Add return types to
- 	function definitions.
- 
- 1999-11-29  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/fixincl.c(process): don't skip GLIBC files any more.
- 	* fixinc/hackshell.tpl: ditto
- 	* fixinc/fixtests.c(double_slash_test): more C++ header testing
- 	* fixinc/inclhack.def(AAB_fd_zero_glibc*): corrected spelling of mach
- 
- 1999-11-29  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload.c (push_reload): When looking for a register to put into
- 	reg_rtx, make sure all hard regs in a multi-reg register are in the
- 	right class and nonfixed.
- 
- 	* haifa-sched.c (reg_last_uses, reg_last_sets, reg_last_clobbers,
- 	pending_read_insns, pending_write_insns, pending_read_mems,
- 	pending_write_mems, pending_list_length, last_pending_memory_flush,
- 	last_function_call, sched_before_next_call): Move static variables
- 	into a structure.
- 	(bb_ prefixed versions): Replace with single array bb_deps.
- 	(struct deps): New structure.
- 	(add_insn_mem_dependence, flush_pending_lists, sched_analyze_1,
- 	sched_analyze_2, sched_analyze_insn, sched_analyze): Accept new
- 	argument of type "struct deps *"; use that instead of global
- 	variables.  All callers changed.
- 	(init_rgn_data_dependencies): Delete function.
- 	(init_rtx_vector): Delete function.
- 	(init_deps): New function.
- 
- 	(free_pending_lists): Simplify, we always use the bb_deps array even
- 	if only one basic block.
- 	(compute_block_backward_dependences): Likewise.
- 	(schedule_region): Likewise.
- 
- 	(propagate_deps): New function, broken out of
- 	compute_block_backward_dependences.
- 	(compute_block_backward_dependences): Use it.
- 
- 	* alpha.md: Delete useless patterns that tried to work around
- 	register elimination problems.
- 
- 	* unroll.c (loop_iterations): Don't abort if iteration variable
- 	was made by loop.
- 
- 	From Joern Rennecke:
- 	* reload1.c (reloads_conflict): Reverse test comparing operand
- 	numbers when testing for conflict between output/outaddr reloads.
- 
- 1999-11-29  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (init_cumulative_args): Fix type of third
- 	arg.
- 	* config/sparc/sparc-protos.h: Update proto, move into RTX_CODE.
- 
- 1999-11-28  Robert Lipe  <robertl@cygnus.com>
- 
- 	* i386/sco5.h (FINI_SECTION_ASM_OP_COFF): Move destructor fn
- 	table from .fini into .dtor.
- 
- 1999-11-28  Anthony Green  <green@cygnus.com>
- 
- 	* tree.h (struct tree_decl): Add malloc_flag.
- 	(DECL_IS_MALLOC): Define.
- 	* c-common.c (attrs): Add A_MALLOC attribute.
- 	(init_attributes): Add this attribute to the table.
- 	(decl_attributes): Handle malloc attribute.
- 	* calls.c (special_function_p): Check for the malloc attribute.
- 	* extend.texi (Function Attributes): Document malloc attribute.
- 
- Sun Nov 28 13:21:00 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (reload shift-add patterns): Remove.
- 
- 1999-11-28 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reorg.c (dbr_schedule) Print more statistics. Corrected
- 	problem when printing info when 3 delay slots are filled.
- 
- 1999-11-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (setup_incoming_promotions): Pass an outgoing
- 	regno to FUNCTION_ARG_REGNO_P which it expects.
- 
- 1999-11-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* mips/linux.h (CPP_PREDEFINES): Undefine before redefining.
- 
- Sun Nov 28 00:48:15 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* cccp.c (do_include): Avoid initialization of automatic variable.
- 
- 	* integrate.c (mark_stores): Function definition made void, to match
- 	previous declaration.
- 	* regclass.c (dump_regclass): Ditto.
- 	* Makefile.in (WARN_CFLAGS): Macro augmented by `-Wtraditional'.
- 
- Sat Nov 27 08:38:26 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): Use EXACT_DIV_EXPR when dividend is
- 	known to be multiple of divisor.
- 
- 	* expr.c (store_constructor): Don't clobber TARGET if CLEARED.
- 
- 	* combine.c (try_combine): Add code to try to merge a set of a
- 	two-word pseudo to a constant with a setting of one of those words
- 	to a constant.
- 
- 	* fold-const.c (negate_expr, associate_trees, extract_muldiv): New.
- 	(split_tree): Completely rework to make more general.
- 	(make_range, fold): Call negate_expr.
- 	(fold, case NEGATE_EXPR): Simplify -(a-b) is -ffast-math.
- 	(fold, associate): Call new split_tree and associate_trees.
- 	(fold, case MULT_EXPR, case *_{DIV,MOD}_EXPR): Call extract_muldiv.
- 
- 1999-11-26  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (try_copy_prop): Avoid GNU C extension.
- 
- 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.c (init_eh_for_function): Still zero eh_return_context,
- 	eh_return_stack_adjust, and eh_return_handler.
- 
- 	* except.h (eh_status): Adjust documentation for x_protect_list.
- 	(begin_protect_partials): New function.
- 	* except.c (enqueue_eh_entry): Fix formatting.
- 	(get_first_handler): Add consistency check.
- 	(add_partial_entry): Adjust usage of protect_list.
- 	(emit_cleanup_handler): Save and restore ehqueue.
- 	(expand_start_all_catch): Add comment.
- 	(begin_protect_partials): New function.
- 	(end_protect_partials): Adjust usage of protect_list.
- 	(init_eh_for_function): Use xcalloc.
- 
- 1999-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (check_format_info): Don't call a variadic function
- 	with a non-literal format string.
- 
- 	* c-decl.c (grokdeclarator, start_struct, finish_struct): Likewise.
- 
- 	* c-typeck.c (build_component_ref, build_unary_op, lvalue_or_else,
- 	pedantic_lvalue_warning, error_init, pedwarn_init, warning_init):
- 	Likewise.
- 
- 	* cccp.c (check_macro_name, do_xifdef, vwarning_with_line):
- 	Likewise.
- 
- 	* collect2.c (collect_wait): Likewise.
- 
- 	* dbxout.c (dbxout_type): Likewise.
- 
- 	* gcc.c (do_spec_1): Likewise.
- 
- 	* genemit.c (gen_insn, gen_expand): Likewise.
- 
- 	* genrecog.c (write_switch, write_subroutine): Likewise.
- 
- 	* mips-tfile.c (catch_signal, botch): Likewise.
- 
- 	* print-rtl.c (print_rtx): Likewise.
- 
- 	* toplev.c (default_print_error_function, report_error_function,
- 	_fatal_insn): Likewise.
- 
- 1999-11-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (unsave_expr_now): Handle NULL_TREE as input.
- 
- Wed Nov 24 17:08:09 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* reg-stack.c (subst_stack_regs_pat): Swap operands in commutative
- 	operations when needed.
- 	* i386.md (fop_?f_comm): New.
- 	(fop_?f_1): Do not accept commutative operands.
- 
- 1999-11-25  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/mips.md (casesi_internal): Add missing brace.
- 
- 1999-11-25  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (pend_type, output_pending_types_for_scope): Lose.
- 	(splice_child_die): Handle moving a child DIE from the declaration
- 	DIE of a class to its specification.
- 	(gen_struct_or_union_type_die): Use 'complete' consistently.
- 	(gen_decl_die): Generate the virtual context DIE first.
- 	Use decl_ultimate_origin instead of DECL_ABSTRACT_ORIGIN.
- 
- 1999-11-24  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.md (call_value_multiple_interanal1): New.
- 
- 1999-11-24  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (free_AT, free_die): New fns.
- 	(remove_children): Call them.
- 	(output_line_info): Disable removal of duplicate notes.
- 
- 	Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
- 	* dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
- 	means pretend the type isn't defined.
- 	Don't defer emitting types.
- 	(gen_type_die_for_member): New fn.
- 	(gen_decl_die): Call it.
- 	(splice_child_die): New fn.
- 	(gen_member_die): Call it rather than generate duplicate dies.
- 
- 	Defer emitting information for the abstract instance of an inline
- 	until we either inline it or emit an out-of-line copy.
- 	* dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
- 	from output_inline_function if DECL_ABSTRACT is also set.
- 	(block_ultimate_origin): Likewise.
- 	(gen_abstract_function): New fn.
- 	(gen_decl_die, gen_inlined_subroutine_die): Call it.
- 	(gen_subprogram_die):  An abstract instance is not a declaration
- 	just because it doesn't match current_function_decl.  Don't abort
- 	because DECL_DEFER_OUTPUT isn't set.  Do abort if a declaration
- 	has an abstract origin.
- 	* toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
- 	abstract instance here.
- 
- Wed Nov 24 18:39:18 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Add the case
- 	where we need to reload fpul from a system register.
- 
- 1999-11-24  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h (CPP_PREDEFINES): Added.
- 	(LINK_SPEC): Remove -Y since this is only needed on sparc.
- 
- 1999-11-24  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h (TARGET_VERSION): Added.
- 	(HANDLE_SYSV_PRAGMA): Added.
- 	(DEFAULT_VTABLE_THUNKS): Added.
- 
- Wed Nov 24 14:12:15 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* local-alloc.c (qty): New structure and static variable.
- 	(qty_phys_reg): Remove, all references changed to qty.
- 	(qty_n_refs): Likewise.
- 	(qty_min_class): Likewise.
- 	(qty_birth): Likewise.
- 	(qty_death): Likewise.
- 	(qty_size): Likewise.
- 	(qty_mode): Likewise.
- 	(qty_n_calls_crossed): Likewise.
- 	(qty_alternate_class): Likewise.
- 	(qty_changes_size): Likewise.
- 	(qty_first_reg): Likewise.
- 	(alloc_qty): Rename variable QTY to QTYNO.
- 	(finf_free_reg): Likewise.
- 	(local_alloc): Allocate qty, do not allocate the removed variables.
- 
- Wed Nov 24 17:26:05 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/mips.h (ASM_SPEC): Don't pass -G to the assembler
- 	when -membedded-pic is passed.
- 
- 	* config/mips/mips.md (casesi): Handle 64-bit case too.
- 	(casesi_internal_di): New insn.
- 
- 	* config/mips/mips.c (embedded_pic_offset): Always make the
- 	embedded-pic subtractions relative to the name of the current
- 	function by use of the magic string "..CURRENT_FUNCTION".
- 	* config/mips/mips.h (ASM_OUTPUT_LABELREF): Make the magic happen.
- 
- 1999-11-24  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/mips.md (div_trap_normal): Don't ask for the REGNO
- 	of (const_int 0), when what we really care about is
- 	whether it's a zero constant anyway.
- 	(div_trap_mips16): Likewise.
- 
- 1999-11-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* loop.c (loop_optimize): Always find_loop_tree_blocks and
- 	unroll_block_trees when generating debuggable code.
- 
- 	* tree.h (unsave_expr_1): New function.
- 	(lang_unsave): New variable.
- 	(get_callee_fndecl): New function.
- 	* tree.c (unsave_expr_now_r): New function.
- 	(lang_unsave): Define.
- 	(unsave_expr_1): Likewise.
- 	(unsave_expr_now_r): Split out from unsave_expr_now.
- 	(unsave_expr_now): Call lang_unsave if it is non-NULL.  Otherwise,
- 	call unsave_expr_now_r.
- 	(get_callee_fndecl): Define.
- 
- 	* Makefile.in (gencheck): Don't depend on lang_tree_files.
- 	(gencheck.o): Do depend on lang_tree_files.
- 
- 	* integrate.h (copy_decl_for_inlining): New declaration.
- 	* integrate.c (copy_and_set_decl_abstract_origin): Remove.
- 	(copy_decl_for_inlining): New function.
- 	(integrate_parm_decls): Use it.
- 	(integrate_decl_tree): Likewise.
- 
- 1999-11-23  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (ISA_HAS_FP4,ISA_HAS_CONDMOVE,ISA_HAS_8CC): Split
- 	the second two from the first.
- 	(CONDITIONAL_REGISTER_USAGE): Use ISA_HAS_8CC rather than ISA_HAS_FP4.
- 	* config/mips/mips.md (movcc,reload_incc,reload_outcc,
- 	conditional move): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
- 	ISA_HAS_FP4.
- 	* config/mips/mips.c (mips_move_1word,gen_conditional_branch,
- 	override_options): Use ISA_HAS_CONDMOVE or ISA_HAS_8CC rather than
- 	ISA_HAS_FP4.
- 
- Tue Nov 23 11:15:04 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (call_internal_symref, call_value_internal_symref): No mode
- 	needed on the address operand.
- 	* pa.c (call_operand_address): Check for the correct mode.
- 
- 1999-11-23  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c: Include "basic-block.h".
- 	(try_copy_prop, replace_loop_reg): New functions.
- 	(load_mems): Detect registers that just hold copies of the hoisted
- 	mem, and call try_copy_prop to eliminate them.
- 	* Makefile.in (loop.o): Update dependencies.
- 
- Tue Nov 23 01:03:29 1999  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* Makefile.in (gencheck.o): Depend on gencheck.h.
- 	(insn-emit.o): Depend on flags.h, hard-reg-set.h and resource.h.
- 	(insn-peep.o): Depend on except.h and function.h.
- 	(insn-attrtab.o): Depend on RECOG_H.
- 	(insn-output.o): Depend on toplev.h and flags.h.
- 	(gengenrtl.o): Depend on real.h.
- 	(gen-protos.o): Depend on cpplib.h and cpphash.h.
- 	Unify all dependencies to be on RECOG_H rather than recog.h.
- 
- Tue Nov 23 00:57:10 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	From Casper H.S. Dik on comp.unix.solaris, 23 Oct 1998:
- 	* configure.in: Try building a bi-arch 32/64-bit compiler on
- 	sparc-*-solaris2.7 and higher.
- 	* configure: Rebuild.
- 
- Mon Nov 22 23:09:44 1999  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd.h: New, FreeBSD architecture independent file.
- 	* config/i386/freebsd-elf.h: removed FreeBSD architecturally
- 	independent pieces.
- 	* config/i386/freebsd.h: include i386/perform.h via tm.h rather than
- 	directly by i386/freebsd.h.
- 	* configure.in (*-*-freebsdelf): Include new FreeBSD architecturally
- 	independent configuration file.
- 	(*-*-freebsdelf): Include i386/perform.h via tm.h rather than
- 	directly by i386/freebsd.h.
- 	* configure: Rebuilt.
- 
- 	* xm-i386.h: Define `__i386__' if not defined, rather than `i386'
- 	which is in the user's namespace.
- 	* libgcc2.c: Look for the ANSI-C approved `__i386__' symbol, vs.
- 	`i386' which is not in our namespace.
- 
- Mon Nov 22 22:58:01 1999  "R. Kelley Cook" <KelleyCook@attglobal.net>
- 
- 	* invoke.texi (ARM Options): Add in -mno-alignment-traps
- 
- 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (die_struct): Remove die_attr_last and die_child_last.
- 	(add_dwarf_attr, add_child_die): Just push onto the front.
- 	(reverse_die_lists): New fn.
- 	(add_sibling_attributes): Use it.
- 	(push_decl_scope): Reorganize.
- 	(add_name_and_src_coords_attributes): Don't set file and line for
- 	an artificial decl.
- 	(gen_subprogram_die): An artificial function doesn't need to match
- 	file and line.
- 	(gen_compile_unit_die): Return the generated die.  Only add
- 	AT_comp_dir if the filename is relative.
- 	(remove_AT): Simplify loop.  Also free string values.
- 	(output_die): A DIE ref can't be null.
- 	(output_value_format, value_format): Take a dw_attr_ref.
- 	(dwarf_last_decl, is_extern_subr_die, sibling_offset): Remove.
- 	(AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
- 	AT_addr, AT_lbl): New fns.
- 	(various): Use them.
- 	(various): Constify.
- 
- Mon Nov 22 23:53:50 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* combine.c (combine_simplify_rtx): When handling a SUBREG,
- 	take SUBREG_WORD into account.
- 	(if_then_else_cond): Likewise.
- 
- 1999-11-22  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* gmon.c, i386/gmon-sol2.c, sparc/gmon-sol2.c: Remove advertising
- 	clause from BSD license, pursuant with
- 
- 	  ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
- 
- 1999-11-22  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (load_mems): Reformat slightly.
- 	* basic-block.h (regset_head): New typedef.
- 	(INIT_REG_SET): New macro.
- 
- 1999-11-22  Bruce Korb  <autogen@linuxbox.com
- 
- 	* fixinc/mkfisinc.sh(i?86-*-linux): disable script, run fixincl exe
- 	(mips-dec-bsd*): non-functional code
- 	(alpha*-*-linux-gnu*): redundant, duplicated by "*-*-linux-gnu*"
- 
- 	* fixinc/inclhack.def(AAB_fd_zero_glibc_*):
- 	added three replacement fixes
- 	(no_double_slash): removed comments that are not (any longer) pertinent
- 	(bad_lval): this fix currently runs against many files.
- 	The comment seems to indicate that we should select for files
- 	containing 'pragma extern_prefix'.
- 
- 	* fixinc/fixinc.x86-linux-gnu: deleted
- 	* fixinc/inclhack.sh:  regen
- 	* fixinc/fixincl.x:  regen
- 	* fixinc/fixincl.sh:  regen
- 
- Fri Nov 12 14:08:40 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* emit-rtl.c (gen_sequence): Only return the pattern of an insn if
- 	its code is INSN and it has no notes.
- 
- 1999-11-22  Andrew Haley  <aph@cygnus.com>
- 
- 	* varasm.c (function_defined): Remove.
- 	(make_function_rtl): Don't set function_defined.
- 	(make_decl_rtl): Remove global register warning.
- 	* regclass.c (no_global_reg_vars): New variable.
- 	(globalize_reg): Warn if function has already been defined.
- 	(regclass_init): Set no_global_reg_vars.
- 
- Mon Nov 22 14:42:22 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regclass.c (reg_pref): New structure and static variable
- 	(prefclass): Delete.
- 	(altclass): Delete.
- 	(all uses of prefclass and altclass): Use reg_pref instead.
- 
- 1999-11-21  Nick Clifton  <nickc@cygnus.com>
- 
- 	* invoke.texi (ARM Options): Replace -mshort-load-bytes with
- 	-malignment-traps.
- 	(arm.h): Replace -mshort-load-bytes with -malignment-traps.
- 	(arm.c): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
- 	(arm.md): Replace TARGET_SHORT_BY_BYTES with TARGET_MMU_TRAPS.
- 
- Sun Nov 21 17:11:13 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* varasm.c (output_constructor): Solve problem with long long
- 	bitfields, even on BYTES_BIG_ENDIAN machines (testcase 991118-1).
- 
- Fri Nov 19 05:48:45 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* global.c (allocno): New structure and static variable.
- 	(allocno_reg): Remove, all references replaced by allocno.
- 	(allocno_size): Likewise.
- 	(hard_reg_conflicts): Likewise.
- 	(hard_reg_preferences): Likewise.
- 	(hard_reg_copy_preferences): Likewise.
- 	(hard_reg_full_preferences): Likewise.
- 	(regs_someone_prefers): Likewise.
- 	(allocno_calls_crossed): Likewise.
- 	(allocno_n_refs): Likewise.
- 	(allocno_live_length): Likewise.
- 	(find_reg): Rename ALLOCNO to NUM.
- 
- 	* regclass.c (may_move_in_cost): Rename from may_move_cost, all
- 	references updated.
- 	(may_move_out_cost): New variable.
- 	(init_reg_sets_1): Initialize may_move_out_cost.
- 	(record_reg_classes): Use may_move_out_cost.
- 
- 	* regclass.c (dump_regclass): New function.
- 	(regclass): New parameter DUMP, call DUMP_REGCLASS.
- 	* toplev.c (rest_of_compilation): Open lreg dump file before regclass,
- 	pass rtl_dump_file to regclass.
- 	* rtl.h (regclass): Update prototype.
- 
- Fri Nov 19 06:32:19 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (neg, not and abs patterns): Revmap to use
- 	ix86_expand_unary_operator and ix86_unary_operator_ok.
- 	(add?f and sub?f expanders): Force operand 1 to register.
- 	* i386.c (ix86_expand_unary_operator): Rewrite.
- 	(ix86_unary_operator_ok): Ensure that memory operands
- 	match real opcode.
- 	(ix86_binary_operator_ok): Do not allow operand 1 to
- 	come into memory and operand 0 not.
- 	(ix86_expand_binary_operator): Ensure that
- 	src1 is not non-matching memory.
- 
- 	* i386.md (negs?2): Rewrite to expanders, new patterns and splitters
- 	to support integer registers and memory.
- 	(abss?2_integer): Likewise.
- 
- 	* i386.h (enum reg_class): Add FLOAT_INT_REGS.
- 	(REG_CLASS_NAMES): Likewise.
- 	(REG_CLASS_CONTENTS): Define FLOAT_INT_REGS as union of FLOAT_REGS
- 	and GENERAL_REGS.
- 	* i386.md (pushsf): Do not preferre FLOAT_REGS over GENERAL_REGS.
- 	(movsf): Likewise; unify 4th and 5th alternative.
- 	(pushdf): Likewise.
- 	(movdf_1): Likewise; rename to movdf_integer.
- 	(pushxf): Likewise; rename to pushxf_integer; fix output template;
- 	remove redundant splitter.
- 	(movxf_1): Likewise; rename to movxf_integer; fix splitter's condition.
- 	(movdf_nointeger): New.
- 	(movxf_nointeger): New.
- 	(pushxf_nointeger): New.
- 
- 	* i386.md (extend?f?f): Split to expander and pattern, refuse two
- 	memory operands in patterns.
- 	(fop*): Refuse two memory operands.
- 
- 	* i386.md (ashrsi3_31): Allow cltd when optimizing for size even
- 	on !TARGET_USE_CLTD CPUs.
- 
- Fri Nov 19 10:41:15 GMT 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* extend.texi: Document C++ restricted pointers and references.
- 
- 1999-11-19  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (addr_affects_sp): No longer conditional on AUTO_INC_DEC.
- 	(invalidate_skipped_set): Call it unconditionally.
- 	(cse_set_around_loop): Likewise.
- 
- Thu Nov 18 17:29:34 MST 1999	Diego Novillo <dnovillo@cygnus.com>
- 
- 	* rtl.texi (mem): Add documentation for alias-set argument
- 	to RTX `mem'.
- 
- Fri Nov 18 13:39:22 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.h (struct_processor_costs): New fields int_load, int_store,
- 	fp_move, fp_load and fp_store
- 	(REGISTER_MOVE_COST): Fix comment, calculate exactly the cost of
- 	fp->int moves
- 	(MEMORY_MOVE_COST): New macro.
- 	* i386.c (386_cost): Define new fields.
- 	(i486_cost): Likewise.
- 	(pentium_cost): Likewise.
- 	(pentiumpro_cost): Likewise.
- 	(k6_cost): Likewise.
- 
- Fri Nov 19 11:11:55 1999  Greg McGary  <gkm@gnu.org>
- 			  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/m68k/m68kelf.h: Suppress '/* within comment' warning.
- 
- 	* config/m68k/m68k.h (MASK_PCREL): Don't use same value as
- 	MASK_ALIGN_INT.
- 
- 	* config/m68k/m68k.h (MASK_NO_STRICT_ALIGNMENT): New macro.
- 	(TARGET_STRICT_ALIGNMENT): New macro.
- 	(TARGET_SWITCHES): Add "strict-align" and "no-strict-align".
- 	(STRICT_ALIGNMENT): Depend on TARGET_STRICT_ALIGNMENT.
- 	* invoke.texi (M680x0 Options): Document -mstrict-align.
- 
- Thu Nov 18 11:10:03 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386-protos.h (split_xf, ix86_split_movdi): Remove.
- 	(ix86_split_long_move): Declare.
- 	* i386.c (split_xf, ix86_split_movdi): Remove.
- 	(ix86_split_to_parts, ix86_split_long_move): New.
- 	* i386.md (dimode move splitters): Use ix86_split_long_move.
- 	(dfmode move splitters): Likewise.
- 	(xfmode move splitters): Likewise.
- 	(movsf_1): Allow F->r.
- 	(movdf_1, movxf_1): Allow F->ro.
- 
- 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.h (struct eh_entry): Add goto_entry_p.
- 	(eh_region_from_symbol): Remove prototype.
- 	* except.c (find_func_region_from_symbol): New function.
- 	(emit_cleanup_handler): Likewise.
- 	(eh_region_from_symbol): Make it static.
- 	(add_new_handler): Verify the argument.
- 	(find_func_region): Update comment.
- 	(expand_eh_region_end): Expand handlers here, rater than waiting
- 	until expand_leftover_cleanups or start_all_catch.
- 	(expand_leftover_cleanups): Don't expand here.
- 	(expand_start_all_catch): Or here.
- 	(expand_rethrow): Check the return value from find_func_region.
- 	* function.c (expand_function_end): Emit the catch_clauses.
- 
- 1999-11-18  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* integrate.c (expand_inline_function): Add necessary check for NULL.
- 
- 1999-11-18  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (main): Correctly detect an unrecognized option.
- 
- 	* cppinit.c (cpp_handle_option): Do not claim to have consumed
- 	a -f option if it has not been recognized.
- 
- Thu Nov 18 00:59:11 1999  Michael Gschwind  <mikeg@alagoas.watson.ibm.com>
- 
- 	* basic-block.h (update_life_extent): Remove trailing comma on
- 	enumeration type list.
- 
- 1999-11-18 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* varasm.c (output_constructor) Solved problem with long long
- 	bitfields. Corrected calculating this_time and shift. Also
- 	corrected calculating mask when BITS_PER_UNIT == 32 (c4x).
- 
- Wed Nov 17 23:46:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (split_edge): Take looping structure into account when
- 	determining where to put the new block note.
- 
- Wed Nov 17 20:42:43 1999  Jeff Holcomb  <jeffh@cygnus.com>
- 
- 	* Makefile.in (ggc-none.o): Provide host specific version if
- 	needed.
- 
- Wed Nov 17 16:51:23 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (delete_trivially_dead_insns): Identify no-op insns
- 	containing subregs too.
- 
- Wed Nov 17 17:39:48 MST 1999	Diego Novillo <dnovillo@cygnus.com>
- 
- 	* invoke.texi: Add documentation for -muninit-const-in-rodata.
- 	* config/mips/mips.h (MASK_UNINIT_CONST_IN_RODATA): Define.
- 	(TARGET_UNINIT_CONST_IN_RODATA): Define.
- 	(text_section): Add switches -munint-const-in-rodata and
- 	-mno-uninit-const-in-rodata.
- 	(ASM_OUTPUT_COMMON): Remove.
- 	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Define. Check if uninitialized
- 	const objects should be placed in read-only data. Otherwise declare
- 	them in common.
- 
- Wed Nov 17 16:38:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Revert last change.
- 
- Wed Nov 17 15:18:30 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Don't try to duplicate the loop exit
- 	test if optimizing for size.
- 
- 1999-11-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (toplev.o): Depend on except.h.
- 	(dwarf2out.o,loop.o,flow.o,haifa-sched.o): Likewise.
- 
- Mon Nov 15 22:45:39 CET 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (divmodsi4): Rewrite to expander.
- 	(*divmodsi4_nocltd): New.
- 	(*divmodsi4_cltd): New.
- 	(divmodsi4 splitter): Handle the case when input comes in edx.
- 	(udivmodhi4): Do not use constraints in exander.
- 	(ashrsi3_31): Conditionize by TARGET_USE_CLTD.
- 
- 1999-11-17  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (push_decl_scope): Still use decl_scope_depth - 1
- 	for the common case.
- 
- 1999-11-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* explow.c (hard_function_value): Add outgoing argument.
- 	* expr.h (hard_function_value): Declare it.
- 	* calls.c (expand_call, emit_library_call_value): Update callers.
- 	* function.c (aggregate_value_p): Ditto.
- 	(diddle_return_value): Must look at the outgoing registers
- 	on archs with register windows.
- 
- Mon Nov 15 20:46:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_build_va_list): Use make_lang_type and
- 	initialize TYPE_NAME for the va_list record.
- 
- 	* flow.c (calculate_global_regs_live): Zero bb->aux to begin.
- 
- 	* ggc-common.c (ggc_print_statistics): Cast size_t to unsigned long
- 	for printing.
- 	* ggc.h (struct ggc_statistics): Rearrange elements for better
- 	packing on 64-bit hosts.
- 	* lcm.c (compute_laterin): Store a size_t not an int in bb->aux.
- 	(compute_nearerout): Likewise.
- 
- Tue Nov 16 14:37:52 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (first_reg_to_save): Save
- 	PIC_OFFSET_TABLE_REGNUM when -fpic even though it is fixed.
- 
- 1999-11-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (scope_die_for): Don't rely on the decl_scope_table
- 	notion of nesting to find the DIE for a type or function.
- 	DIEs can go in limbo even if we got a context_die.
- 	(push_decl_scope): Our context doesn't need to be in decl_scope_table.
- 	(gen_struct_or_union_type_die): Don't use TREE_PERMANENT to test
- 	for local type.
- 	(gen_decl_die): Ignore NAMESPACE_DECLs for now.
- 	(gen_type_die): Writing out the context doesn't cause member class
- 	template instantiations to be written out as well.
- 
- Mon Nov 15 15:33:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.h (ASM_OUTPUT_DEF): New.
- 	Based on proposed addition from David Edelsohn.
- 
- 1999-11-15  Robert Lipe  <RobertLipe@usa.net>
- 	    Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/inclhack.def
- 	(AAB_svr4_replace_byteorder): added.  Takes advantage of GCC features
- 	(unixware7_byteorder_fix): added.  Removes conflicts for new defs
- 		in net/inet.h.
- 	(svr5_mach_defines): added.  Like svr4_mach_defines, with new syntax
- 	(svr4_endian): enabled with SVR5
- 	(svr4_mkdev): simplified syntax and enabled with SVR5
- 
- Sun Nov 14 18:49:37 1999  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* configure.in: Handle libgcc2 threads support on FreeBSD platforms.
- 	* configure: Rebuilt.
- 	* config/t-freebsd-thread: New file.
- 
- Sun Nov 14 23:11:05 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.c (ix86_decompose_address): Verify the base is a REG
- 	before trying to examine its register number.
- 
- 	* basic-block.h: Remove all #defines and prototypes related to
- 	integer lists.
- 	(free_bb_mem, compute_preds_succs): Remove prototype.
- 	* rtl.h (free_bb_mem): Remove prototype.
- 	* flow.c (alloc_int_list_node); Remove function.
- 	(add_inst_list_node, free_int_list, add_pred_succ): Likewise.
- 	(compute_preds_succs, free_bb_mem): Likewise.
- 	* gcse.c (gcse_main): Do not call free_bb_mem anymore.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* haifa-sched.c (build_control_flow): Use flow generated edge
- 	list to build the haifa specific edge list.
- 	(find_rgns): Use new CFG data structures instead of pred/succ lists.
- 	(schedule_insns): Do not build pred/succ lists anymore.  Instead
- 	build the edge table.
- 
- 	* basic-block.h (dump_bb_data): Remove declaration.
- 	* flow.c (dump_bb_data): Remove function.
- 	* sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
- 	(sbitmap_union_of_predsucc): Likewise.
- 
- 	* gcse.c (delete_null_pointer_checks_1): Kill unused s_preds
- 	argument.  All callers changed.
- 	(delete_null_pointer_checks_1): No longer need to compute the
- 	pred/succ lists.
- 
- 	* gcse.c (pre_expr_reaches_here_p): Kill CHECK_PRE_COM argument.
- 	All callers changed.
- 	(pre_expr_reaches_here_p_work): Likewise.
- 	(pre_edge_insert): No longer call pre_expr_reaches_here_p.
- 	* lcm.c (compute_laterin): Fix initialization of LATER.
- 	(compute_nearerout): Similarly for NEARER.
- 
- Sun Nov 14 12:41:57 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (set_nonvarying_address_components): Delete unused function.
- 	(refers_to_p): Likewise.
- 
- Fri Nov 12 20:53:22 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (diddle_return_value): Set REG_FUNCTION_VALUE_P as
- 	needed.
- 
- Sat Nov 13 16:20:09 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Wrap macro
- 	definition in do while (0).
- 
- Fri Nov 12 16:26:25 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* stmt.c (pushcase, pushcase_range): Partially revert Oct 28 change.
- 
- Fri Nov 12 12:43:49 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* unroll.c (unroll_loop): Make temp an unsigned HOST_WIDE_INT.
- 
- Fri Nov 12 15:14:19 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* i960.h (CAN_DEBUG_WITHOUT_FP): Don't define it.
- 	(FRAME_POINTER_REQUIRED): Don't worry about nonlocal goto.
- 	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
- 	(INITIAL_FRAME_POINTER_OFFSET): Remove it.
- 
- 	* i960.c (i960_function_prologue): Don't allocate space for g8-g11
- 	saved on the stack.  Output more accurate stack frame statistics
- 	into assembler file.
- 
- 1999-11-12 11:47 -0800  Zack Weinberg  <zack@bitmover.com>
- 
- 	* genextract.c (record_insn_name): New function.
- 	(get_insn_name): No longer a stub.
- 	(main): Call record_insn_name for each insn.  After each label
- 	written, print the insn name in a comment.
- 
- Fri Nov 12 13:45:02 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (const_section, init_section, fini_section): Add
- 	prototypes.
- 
- 	* alpha/elf.h (const_section): Delete declaration.
- 
- 	* svr4.h (const_section): Likewise.
- 
- Fri Nov 12 08:54:22 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (SAVE_EXPR_PERSISTENT_P): New macro.
- 	* tree.c (array_type_nelts): Don't handle SAVE_EXPRs specially.
- 	(unsave_expr_now): Don't unsave SAVE_EXPR_PERSISTENT_P
- 	expressions.
- 	* stor-layout.c (variable_size): Set SAVE_EXPR_PERSISTENT_P on
- 	variable-sized array bounds.
- 
- Fri Nov 12 08:04:45 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME):  Use
- 	ASM_OUTPUT_LABEL.
- 
- Fri Nov 12 13:31:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Treat QImode
- 	addresses the same way GO_IF_LEGITIMATE_INDEX does.
- 
- Fri Nov 12 12:36:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (hash_arg_in_struct): Delete.
- 	(struct table_elt): Delete elt in_struct.
- 	(struct set): Delete elt src_in_struct.
- 	(merge_equiv_classes): Don't set either hash_arg_in_struct or
- 	the corresponding in_struct elts.
- 	(canon_hash): Likewise.
- 	(safe_hash): Likewise.
- 	(find_best_addr): Likewise.
- 	(record_jump_cond): Likewise.
- 	(cse_insn): Likewise.
- 
- Thu Nov 11 19:45:24 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* loop.c (invariant_p, case MEM): Put MEM_VOLATILE_P check back.
- 
- 	* dbxout.c (dbxout_type, case INTEGER_TYPE): Handle too large
- 	unsigned types.
- 
- Thu Nov 11 18:54:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (diddle_return_value): Put back check that the DECL_RTL
- 	for the function is a register.
- 
- 	* function.c (diddle_return_value): Use hard_function_value to
- 	get an rtx suitable for use in the USE/CLOBBER insn.
- 
- 	* global.c (global_conflicts): Update comments.
- 	(record_conflicts): No need to record conflicts between pseudos here.
- 
- 1999-11-11  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/fixincl.c: Added verbose levels for status messages
- 
- Thu Nov 11 13:23:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* jump.c (jump_optimize_1): Avoid passing an rtx that is not an
- 	operand as argument to expand_and or expand_binop.
- 
- Thu Nov 11 02:21:16 1999  Rodney Brown <RodneyBrown@pmsc.com>
- 
- 	* xcoffout.c (xcoffout_source_file): Change ggc_add_root to
- 	gcc_add_string_root.
- 
- Wed Nov 10 21:24:19 1999  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* config/pa/pa.h (MASK_RETURN_ADDR): Change 0xfffffffc to -4.
- 
- Wed Nov 10 15:56:16 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (compute_flow_dominators): Initially put all blocks on
- 	the worklist.
- 	* lcm.c (compute_antinout_edge, compute_available): Similarly.
- 	* gcse.c (compute_cprop_avinout): Remove.
- 	(compute_cprop_data): Use compute_available.
- 	(delete_null_pointer_checks_1): Use compute_available.
- 
- 	* basic-block.h (compute_available): Returns a void now.
- 	* gcse.c (one_classic_gcse_pass): Do not expect compute_available
- 	to return a value anymore.
- 	* lcm.c (compute_available, compute_antinout_edge): Revamp to use
- 	worklists.  Fix boundary cases. Compute maximal solutions.
- 	(compute_laterin, compute_nearerout): Similarly.
- 
- 	* dwarf2out.c (add_AT_location_description): Allow
- 	(mem (plus (pseudo) (...)) too.
- 
- Wed Nov 10 10:52:42 1999  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (do_spec_1): Support text between `%u' and `%O'.
- 
- Wed Nov 10 12:43:21 1999  Philippe De Muyter  <phdm@macqel.be>
- 			  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppinit.c: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
- 
- 	* gansidecl.h: Likewise.
- 
- 	* rtl.c: Likewise.
- 
- 	* rtl.h: Likewise.
- 
- 	* toplev.h: Likewise.
- 
- 	* tree.c: Likewise.
- 
- 	* tree.h: Likewise.
- 
- 	* varray.c: Likewise.
- 
- 	* varray.h: Likewise.
- 
- Wed Nov 10 10:57:22 1999  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* gcov.c (struct arcdata): Add hits and total, remove prob.
- 	(output_branch_counts): New.
- 	(process_args): Set output_branch_counts if -c.
- 	(calculate_branch_probs): Store hits and total instead of
- 	percentage.
- 	(output_data): Emit counts if output_branch_counts is true.
- 	* gcov.texi (Invoking Gcov): Document -c switch..
- 
- Wed Nov 10 01:10:41 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* genoutput.c (output_insn_data): Cast `INSN_OUTPUT_FORMAT_MULTI' and
- 	`INSN_OUTPUT_FORMAT_FUNCTION' to `PTR'-type.
- 
- Wed Nov 10 00:51:41 1999  Hans-Peter Nilsson  <hp@axis.se>
- 
- 	* invoke.texi (C Dialect Options): Add missing builtins from
- 	c-common.c to list.
- 	* extend.texi (Other Builtins): Copy to this list.
- 
- Wed Nov 10 04:58:09 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* Makefile.in (recog.o): Use BASIC_BLOCK_H macro.
- 	(print-rtl.o, $(HOST_PREFIX_1)print-rtl.o): Likewise.  Remove
- 	redundant bitmap.h.
- 
- Wed Nov 10 00:02:53 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (compute_flow_dominators): No longer treat basic block 0
- 	or (n_basic_blocks - 1) specially.  Clear the AUX field before
- 	starting computation of doms/pdoms.  Fix initial state for pdoms.
- 
- Wed Nov 10 03:58:08 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* Makefile.in ($(HOST_PREFIX_1)rtl.o): Update dependencies to
- 	match rtl.o's: added ggc.h and toplev.h
- 	($(HOST_PREFIX_1)print-rtl.o): Likewise: added system.h.
- 	($(HOST_PREFIX_1)rtlanal.o): Likewise: added system.h.
- 	($(HOST_PREFIX_1)obstack.o): Likewise: added $(CONFIG_H).
- 
- Tue Nov  9 10:30:08 1999  Tom Tromey  <tromey@cygnus.com>
- 
- 	* config/i386/xm-djgpp.h (HAVE_DOS_BASED_FILE_SYSTEM): Renamed
- 	from HAVE_DOS_BASED_FILESYSTEM.
- 	* gcc.c (find_a_file): Use HAVE_DOS_BASED_FILE_SYSTEM, not
- 	HAVE_DOS_BASED_FILESYSTEM.
- 	(main): Likewise.
- 	(split_directories): Only special-case DOS file names if
- 	HAVE_DOS_BASED_FILE_SYSTEM is defined.  Use IS_DIR_SEPARATOR
- 	instead of explicit tests.  Conditionalize on !VMS.
- 	(make_relative_prefix): Use IS_DIR_SEPARATOR instead of explicit
- 	tests.  Conditionalize on !VMS.
- 	(process_command): Only use make_relative_prefix if !VMS.
- 	(free_split_directories): Conditionalize on !VMS.
- 	(DIR_UP): Conditionalize on !VMS.
- 
- Wed Jun  9 16:57:11 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* gcc.c (STANDARD_BINDIR_PREFIX): Provide default.
- 
- Fri Feb  5 14:22:01 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* gcc.c (make_relative_prefix): Handle the HAVE_EXECUTABLE_SUFFIX
- 	case.
- 
- Mon Nov  8 14:16:57 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* invoke.texi (Environment Variables): Document relative path
- 	lookup.
- 	* gcc.c (DIR_UP): If not defined, define as "..".
- 	(standard_bindir_prefix): New static, holds target location to
- 	install binaries.
- 	(split_directories): New function to split a filename into
- 	component directories.
- 	(free_split_directories): New function, release memory allocated
- 	by split_directories.
- 	(make_relative_prefix): New function, make a relative pathname if
- 	the compiler is not in the expected location.
- 	(process_command): If GCC_EXEC_PREFIX was not specified, see if we
- 	can figure out an appropriate prefix from argv[0].
- 	* Makefile.in (DRIVER_DEFINES): Use unlibsubdir in definition of
- 	STANDARD_STARTFILE_PREFIX and TOOLDIR_BASE_PREFIX.  Define
- 	STANDARD_BINDIR_PREFIX.
- 
- Wed Nov 10 11:47:54 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x-protos.h: New file.  Prototypes for functions defined
- 	in c4x.c.
- 	* config/c4x/c4x.h: Moved prototypes to c4x.h.
- 	* config/c4x/c4x.c (c4x_preferred_reload_class, c4x_limit_reload_class,
- 	c4x_secondary_memory_needed) Delete.
- 	(fp_zero_operand): Add mode argument.
- 
- Thu Nov  4 15:52:35 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* reload1.c (reload_reg_free_for_value_p): Don't use a register
- 	that is in reload_reg_used.
- 
- Tue Nov  9 16:43:00 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm-protos.h: New file: Prototypes for functions
- 	defined in arm.c and pe.c.
- 	* config/arm/arm.h: Fix compile time warnings.
- 	* config/arm/arm.c: Fix compile time warnings.
- 	* config/arm/pe.h: Fix compile time warnings.
- 	* config/arm/aout.h: Fix compile time warnings.
- 
- Tue Nov  9 14:55:44 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r-protos.h: New file: Prototypes for functions
- 	defined in m32r.c
- 
- 	* config/m32r/m32r.h: Move prototypes to m32r-protos.h
- 	Add support for subtargets.
- 	Add prototypes for new predicates.
- 	Add scheduling macros.
- 
- 	* config/m32r/m32r.c: Fix compile time warnings.
- 	(int8_operand): New predicate function.
- 	(reg_or_cmp_int16_operand): New predicate function.
- 	(extend_operand): New predicate function.
- 	(m32r_adjust_code): New scheduling function.
- 	(m32r_adjust_priority): New scheduling function.
- 	(m32r_sched_init): New scheduling function.
- 	(m32r_sched_reorder): New scheduling function.
- 	(m32r_sched_variable_issue): New scheduling function.
- 	(direct_return): New codegen function.
- 	(m32r_not_same_reg): New rtl testsing function.
- 
- 	* config/m32r/m32r.md: Fix compile time warnings.
- 	Add support for pre decrement and post increment memory
- 	references.
- 	Add S<cc> patterns.
- 	Add fabs patterns.
- 
- Mon Nov  8 22:20:13 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* global.c (EXECUTE_IF_CONFLICT): Don't define.
- 	(prune_preferences): Use EXECUTE_IF_SET_IN_ALLOCNO_SET instead.
- 	(find_reg): Likewise.
- 
- Mon Nov  8 13:16:46 1999  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* config/pa/pa.md (fmpynfadd,{sgl,dbl} insns): Use %fr0 rather than 0
- 	to avoid assembler errors.
- 
- Mon Nov  8 15:38:41 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850-protos.h: New file: Prototypes for functions
- 	defined in v850.c
- 	* config/v850/v850.h: Move prototypes to v850-protos.h
- 	* config/v850/v850.c: Move prototypes to v850-protos.h
- 	* config/v850/v850.md: Fix compile time warnings.
- 
- 	* config/fr30/fr30-protos.h: New file: Prototypes for functions
- 	defined in fr30.c
- 	* config/fr30/fr30.h: Move prototypes to fr30-protos.h
- 	* config/fr30/fr30.c: Fix compile time warnings.
- 	* config/fr30/fr30.md: Fix compile time warnings.
- 
- Mon Nov  8 07:25:37 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (get_containing_scope): Declare it.
- 	* tree.c (get_containing_scope): New fucntion.
- 	(decl_function_context): Use it.
- 	* toplev.c (rest_of_compilation): Use get_containing_scope.
- 
- aMon Nov  8 03:03:07 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* Makefile.in (rtl.o): Depend on toplev.h.
- 
- Sun Nov  7 20:55:14 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cse.c (delete_trivially_dead_insns): Replace alloca with
- 	xmalloc/xcalloc.
- 	* except.c (update_rethrow_references): Likewise.
- 	(init_eh_nesting_info): Likewise.
- 	* function.c (identify_blocks): Likewise.
- 	* gcse.c (dump_hash_table): Likewise.
- 	* graph.c (print_rtl_graph_with_bb): Likewise.
- 	* loop.c (combine_movables): Likewise.
- 	(move_movables): Likewise.
- 	(count_loop_regs_set): Likewise.
- 	(strength_reduce): Likewise.
- 	* profile.c (compute_branch_probabilities): New function, split
- 	out from ...
- 	(branch_prob): Here.  Replace alloca with xmalloc/xcalloc.
- 	* regclass.c (regclass): Likewise.
- 	* regmove.c (regmove_optimize): Likewise.
- 	* toplev.c (compile_file): Likewise.
- 	(main): Don't mess with the stack rlimit.
- 
- Sun Nov  7 19:41:17 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/elfos.h (ASM_DECLARE_FUNCTION_NAME): Conditionally define.
- 	(ASM_DECLARE_FUNCTION_SIZE): Conditionally define.
- 
- Sun Nov  7 10:23:28 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns.
- 
- Sun Nov  7 02:58:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* global.c (EXECUTE_IF_CONFLICT): Undo Robert's change.
- 	(EXECUTE_IF_SET_IN_ALLOCNO_SET): Put curleys around CODE in
- 	macro expansion.
- 
- Sat Nov  6 23:48:30 1999  Robert Lipe  (robertlipe@usa.net)
- 
- 	* global.c (EXECUTE_IF_CONFLICT): Correct quoting typo.
- 
- Sat Nov  6 17:34:39 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (post_dominators): Kill.
- 	(alloc_code_hoist_mem, free_code_hoist_mem); Kill post_dominators.
- 	(compute_code_hoist_data): Use compute_flow_dominators.  Do not
- 	pass in a pdom array since we do not need pdoms.
- 	* haifa-sched.c (schedule_insns): Similarly.
- 	* flow.c (compute_dominators): Remove dead function.
- 	(compute_flow_dominators): Do not compute doms or pdoms if the
- 	caller does not request them.  Split up loop to build doms and
- 	pdoms.  Use a worklist to compute doms and pdoms.
- 	* basic-block.h (compute_dominators): Remove prototype.
- 
- Sat Nov  6 11:38:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (struct haifa_insn_data, h_i_d): New.
- 	(insn_luid, insn_priority, insn_costs, insn_units): Remove.
- 	(insn_reg_weight, insn_depend, insn_dep_count): Remove.
- 	(insn_blockage, insn_ref_count, line_note, insn_tick): Remove.
- 	(cant_move, fed_by_spec_load, is_load_insn): Remove.
- 	(schedule_region): Remove unused variable.
- 	(schedule_insns): Allocate h_i_d, and not all the separate arrays.
- 
- Sat Nov  6 10:00:34 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* local-alloc.c (local_alloc): Use xmalloc/xcalloc, not alloca.
- 	(update_equiv_regs): Likewise.
- 	(block_alloc): Likewise.
- 	* reg-stack.c (reg_to_stack): Likewise.
- 	(convert_regs_2): Likewise.
- 	* reload1.c (reload_as_needed): Likewise.
- 
- Sat Nov  6 09:57:59 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (dbxout.o): Depend on ggc.h.
- 	(dwarf2out.o): Likewise.
- 	(xcoffout.o): Likewise.
- 	* dbxout.c: Include ggc.h.
- 	(dbxout_init): Register lastfile as a root.
- 	* dwarf2out.c: Include ggc.h.
- 	(dwarf2out_line): Register lastfile as a root.
- 	* xcoffout.c: Include ggc.h.
- 	(xcoffout_source_line): Register xcoff_lastfile as a root.
- 
- Sat Nov  6 09:52:09 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (movdf_1, movxf_1): Earlyclobber general regs destination.
- 
- Sat Nov  6 07:48:59 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/svr4.h (ASM_DECLARE_FUNCTION): Check if already
- 	defined.
- 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
- 
- Fri Nov  5 18:33:39 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* global.c (EXECUTE_IF_SET_IN_ALLOCNO_SET): New macro.
- 	(EXECUTE_IF_CONFLICT): Likewise.
- 	(ALLOCNO_LIVE_P): Avoid signed division.
- 	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Likewise.
- 	(prune_preferences, find_reg): Use EXECUTE_IF_CONFLICT.
- 	(record_one_conflict): Use EXECUTE_IF_SET_IN_ALLOCNO_SET.
- 
- Fri Nov  5 12:04:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (schedule_block): Don't crash if there's no
- 	next insn for an interblock movement.
- 	(add_branch_dependences): Don't allow clobber insns to move either.
- 
- Fri Nov  5 10:18:11 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (split_xf): New.
- 	* i386-protos.h: Declare it.
- 	* i386.md (movxf_1): Add general regs alternatives.
- 	(movxf_1+1): New splitter for same.
- 
- Fri Nov  5 12:05:52 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* function.c (purge_addressof_1): Add missing return values.
- 
- Fri Nov  5 10:07:25 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* function.c (is_addressof): New function.  Returns true if
- 	the given piece of RTL is an ADDRESSOF.
- 	(purge_addressof_1): Make boolean.  Return false if the
- 	ADDRESSOFs could not be purged.
- 	(purge_addressof): If ADDRESSOFs could not be purged from the
- 	notes attached to an insn, remove the offending note(s),
- 	unless they are attached to a libcall.
- 
- 1999-11-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* genoutput.c (null_operand =): Initialize all fields.
- 
- 	* errors.h: Add extern to prototypes.
- 
- Fri Nov  5 01:44:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (m68k-next-nextstep4): Handle Openstep 4.2.
- 	* configure: Rebuilt.
- 
- Fri Nov  5 01:24:37 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* global.c (CONFLICTP, SET_CONFLICT): Avoid signed division.
- 	(mirror_conflicts): New function.
- 	(global_alloc): Call it.
- 	(expand_preferences): Remove redundant CONFLICTP test.
- 	(find_reg, dump_conflicts): Likewise.
- 	(prune_preferences): Process conflicts one word at a time.
- 
- Fri Nov  5 01:05:21 1999  Richard Henderson <rth@cygnus.com>
- 
- 	* global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_BITMAP
- 	instead of an explicit loop.
- 
- Thu Nov  4 23:07:14 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cse.c (cse_insn): Revert Oct 31 change.  When computing src_elt,
- 	if REG_RETVAL check succeeds, then put classp in src_elt.
- 
- Thu Nov  4 23:48:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (pad_to_arg_alignment): Only update argument_pad
- 	if the argument's alignment is greater than STACK_BOUNDARY.
- 
- Thu Nov  4 16:44:53 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* bitmap.h (BITMAP_XFREE): New.
- 	* flow.c (life_analysis): Use it.
- 	(life_analysis_1): Free blocks.
- 
- 	* combine.c (undo_commit): New.
- 	(try_combine): Use it.  Don't zap undobuf.undos.
- 	(combine_instructions): Don't zap undobuf.undos; free the
- 	undobuf.frees list.
- 
- 	* local-alloc.c (local_alloc): Free qty_phys_num_sugg.
- 
- 	* stmt.c (cost_table_): New.
- 	(estimate_case_costs): Use it instead of xmalloc.
- 
- 	* toplev.c (compile_file): Reuse dumpname memory instead
- 	of strdup'ing it.
- 
- Thu Nov  4 16:36:44 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* reg-stack.c (convert_regs_1): Initialize target_stack->top
- 	after verifying an EH edge.
- 
- 	* haifa-sched.c (init_rgn_data_dependences): Correctly
- 	size bb_pending_lists_length when zeroing.
- 
- Thu Nov  4 16:36:36 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (diddle_return_value): New.
- 	(expand_function_end): Use it.
- 	* stmt.c (expand_null_return): Likewise.
- 	(expand_value_return): Likewise.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle clobbers at top-level.
- 
- 	* reload1.c (reload): Don't remove return value clobbers.
- 
- Thu Nov  4 13:33:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.c (read_rtx): Use fatal_with_file_and_line not fatal.
- 
- Thu Nov  4 12:49:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (cse_main): Use xmalloc, not alloca.
- 	(cse_basic_block): Likewise.
- 	* local-alloc.c (local_alloc): Likewise.
- 
- Thu Nov  4 14:22:12 1999  David Billinghurst  <David.Billinghurst@riotinto.com.au>
- 			  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* rtl.c: Include toplev.h.
- 	(fatal): Remove declaration.
- 
- Thu Nov  4 06:39:47 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (schedule_block): Fix thinko.
- 
- 1999-11-03  James McKelvey <mckelvey@fafnir.com>
- 
- 	* fixinc/fixincl.c(create_file):  Allow for systems that do not have
- 	S_IR* defined values
- 
- 1999-11-03  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* fixlib.c (load_file_data): Do not call `realloc' with a NULL pointer;
- 	call `malloc' instead.
- 
- Wed Nov  3 23:05:14 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* flags.h (flag_renumber_insns): Declare.
- 	* emit-rtl.c (renumber_insns): Check flag_renumber_insns.  Print
- 	renumbering table.
- 	* rtl.h (renumber_insns): Change prototype.
- 	* toplev.c (flag_renumber_insns): Define.
- 	(rest_of_compilation): Pass rtl_dump_file to flag_renumber_insns.
- 
- Wed Nov  3 15:11:27 1999  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md: Remove insn type fpsqrt, add fpsqrts
- 	and fpsqrtd.  Use them and create fdiv function unit to more
- 	accurately represent fpu sqrt pipeline semantics on UltraSPARC.
- 	* config/sparc/sparc.c: Account for fpsqrt{s,d} changes.
- 
- Wed Nov  3 15:11:27 1999  Matteo Frigo <athena@fftw.org>
- 
- 	* config/sparc/sparc.md: Adjust FADD/FMUL result latencies to
- 	3 on UltraSPARC.
- 	* config/sparc/sparc.c (ultra_schedule_insn): Insert launched
- 	insn into ready list, do not use just a raw swap.
- 
- Wed Nov  3 14:51:59 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (renumber_insns): New function.
- 	(remove_unnecessary_notes): Likewise.
- 	* emit-rtl.c (renumber_insns): Define.
- 	(remove_unnecessary_notes): Likewise.
- 	* toplev.c (rest_of_compilation): Remove dead code.
- 	Use renumber_insns and remove_unnecessary_notes.
- 
- 	* gcse.c (struct null_pointer_info): New type.
- 	(get_bitmap_width): New function.
- 	(current_block): Remove.
- 	(nonnull_local): Likewise.
- 	(nonnull_killed): Likewise.
- 	(invalidate_nonnull_info): Take a null_pointer_info as input.
- 	(delete_null_pointer_checks_1): New function.
- 	(delete_null_pointer_checks): Use it.
- 
- 	* haifa-sched.c (find_rgns): Replace uses of alloca with xmalloc.
- 	(split_edges): Likewise.
- 	(schedule_block): Likewise.
- 	(compute_block_backward_dependencies): Likewise.
- 	(schedule_region): Likewise.
- 	(schedule_insns): Likewise.
- 
- Wed Nov  3 15:40:23 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* defaults.h (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Provide default.
- 	* emit-rtl.c (gen_label_rtx): Support LABEL_ALTERNATE_NAME.
- 	* final.c (final_scan_insn): Emit LABEL_ALTERNATE_NAME.
- 	* ggc-common.c (ggc_mark_rtx_children): Mark LABEL_ALTERNATE_NAME.
- 	* jump.c (delete_unreferenced_labels): Don't delete if
- 	LABEL_ALTERNATE_NAME is set.
- 	* print-rtl.c (print_rtx): Dump alternate name.
- 	* rtl.def (CODE_LABEL): Change format to "iuuis00s".
- 	* rtl.h (LABEL_ALTERNATE_NAME): Define.
- 	* rtl.texi (LABEL_ALTERNATE_NAME): Document.
- 	* tm.texi (ASM_OUTPUT_ALTERNATE_LABEL_NAME): Document.
- 
- Wed Nov  3 15:39:19 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fix-header.c (recognized_extern, recognized_function): Constify
- 	a char*.
- 
- 	* lcm.c (compute_laterin): Remove unused variable `temp_bitmap'.
- 	(pre_edge_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
- 	(compute_available): Remove unused variable `last'.
- 	(compute_nearerout): Remove unused variable `temp_bitmap'.
- 	(pre_edge_rev_lcm): Mark parameter `file' with ATTRIBUTE_UNUSED.
- 	Remove unused variable `x'.
- 
- 	* scan.h (recognized_function, recognized_extern): Constify a
- 	char*.
- 
- 	* simplify-rtx.c (simplify_rtx): Remove unused variable `new'.
- 
- Wed Nov  3 10:40:53 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* varasm.c (decode_rtx_const): Use XSTR to access the string
- 	of a SYMBOL_REF.
- 
- Wed Nov  3 10:10:58 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (duplicate_decls): Copy DECL_MODE too.
- 
- Wed Nov  3 12:12:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (eliminate_regs_in_insn): If copying insn, also copy notes.
- 
- Wed Nov  3 03:26:28 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (ireg_operand): New function.
- 	* pa.h (PREDICATE_CODES): Handle ireg_operand.
- 	* pa.md (parallel_addb, parallel_movb): Use ireg_operand.
- 	Fix out of date comment.
- 
- 	* pa.md (negdi2): Turn into expander + anonymous pattern.
- 
- 	* reload.c (find_reloads): Fix typos in recent change.
- 
- 	* dwarf2out.c: Do not include ctype.h.
- 
- Tue Nov  2 21:53:44 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* regclass.c (record_reg_classes): Always use may_move_cost when
- 	seeing how operand fits with various register classes.
- 
- Tue Nov  2 15:38:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* resource.c: Revert Oct 26 20:42 and Oct 27 00:56 changes.
- 	* toplev.c: Revert Nov 1 13:22 change.
- 
- Tue Nov  2 14:21:37 1999  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* config/pa/pa.md (height reduction patterns): Add checks for
- 	overlapping operands to avoid semantic-destroying splits for
- 	height reduction patterns.
- 
- Tue Nov  2 15:27:31 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* configure.in (m68k-hp-hpux*, xm_alloca.h): The underscore should
- 	have been an hyphen, fixed.
- 	* configure: Rebuilt.
- 
- Tue Nov  2 17:04:36 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/tpe.h: Add prototypes for exported functions.
- 	* config/arm/pe.c: Fix compile time warnings.
- 	* config/arm/semi.h: Fix compile time warnings.
- 	* config/arm/arm.c: Fix compile time warnings.
- 	* config/arm/arm.h: Fix compile time warnings.
- 	* config/arm/arm.md: Fix compile time warnings.
- 	* config/arm/thumb.c: Fix compile time warnings.
- 	* config/arm/thumb.h: Fix compile time warnings.
- 	* config/arm/thumb.md: Fix compile time warnings.
- 
- Tue Nov  2 04:10:24 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* jump.c (jump_optimize_1): Swap the incscc and the conditional mode
- 	detection code
- 
- 	* unroll.c (unroll_loop): Remove LOOP notes when loop is
- 	completely unrolled.
- 
- Tue Nov  2 16:57:22 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (simplify_plus_minus, check_fold_const): Delete declarations.
- 
- Tue Nov  2 09:43:00 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* Makefile.in (genattrtab): Don't use (HOST_RTLANAL).
- 	* rtl.h (rtx_equal_p): Move prototype.
- 	* rtl.c (rtx_equal_function_value_matters): Move from
- 	rtlanal.c
- 	(rtx_equal_p): Likewise.
- 	* rtlanal.c (rtx_equal_function_value_matters): Delete.
- 	(rtx_equal_p): Likewise.
- 
- Mon Nov  1 23:21:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (__do_global_dtors): Only do EH frame stuff if
- 	! HAS_INIT_SECTION.
- 
- Mon Nov  1 23:37:38 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcc.1 (PA options): Remove obsolete -mshared-libs options.
- 
- 	* pa.h (ADDR_VEC_ALIGN): Define.
- 
- 	* jump.c (jump_optimize_1): Also move LOOP_VTOP and LOOP_CONT
- 	notes when presented with "if (foo) break; end_of_loop" and
- 	the break sequence gets moved out of the loop.
- 
- 	* unroll.c (unroll_loop): Allocate memory for MAP using xcalloc.
- 	Remove explicit zero initializations of entries within MAP.
- 
- Mon Nov  1 18:09:14 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* reg-stack.c (convert_regs_1): Handle EH edges specially.
- 
- Mon Nov  1 15:41:01 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* bitmap.h (BITMAP_XMALLOC): New macro.
- 	* flow.c (CLEAN_ALLOCA): Remove.
- 	(delete_unreachable_blocks): Use xmalloc/xcalloc instead of alloca.
- 	(life_analysis): Likewise.
- 	(update_life_info): Don't use CLEAN_ALLOCA.
- 	(life_analysis_1): Use xmalloc/xcalloc instead of alloca.
- 	(calculate_global_regs_live): Likewise.
- 	(print_rtl_with_bb): Likewise.
- 	(verify_flow_info): Likewise.
- 	* global.c (global_alloc): Likewise.
- 	(global_conflicts): Likewise.
- 	* integrate.c (save_for_inline_nocopy): Likewise.
- 	(expand_inline_function): Likewise.
- 	* jump.c (jump_optimize_1): Likewise.
- 	(duplicate_loop_exit_test): Likewise.
- 	(thread_jumps): Likewise.
- 	* loop.c (loop_optimize): Likewise.
- 	(combine_givs): Likewise.
- 	(recombine_givs): Likewise.
- 	* reorg.c (dbr_schedule): Likewise.
- 	* unroll.c (unroll_loop): Likewise.
- 
- 	* combine.c (combine_instructions): Use xmalloc instead of alloca.
- 
- Mon Nov  1 13:22:30 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Don't optimize the CFG
- 	when rebuilding, just before dbr.
- 
- Mon Nov  1 14:35:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (assemble_end_function, assemble_destructor,
- 	assemble_constructor, assemble_gc_entry, assemble_global,
- 	assemble_label, output_constant_pool) Constify a char*.
- 
- 	* varasm.c (assemble_destructor, assemble_constructor,
- 	assemble_gc_entry, assemble_end_function, assemble_global,
- 	assemble_label, output_constant_pool): Likewise.
- 
- Mon Nov  1 14:22:51 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c (thumb_expand_prologue): Add comments
- 	explaining what is goin on in this function.
- 
- Mon Nov  1 08:03:15 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* regclass.c (record_reg_classes): In matching case, recompute
- 	costs since the direction of movement is different.
- 
- Sun Oct 31 21:59:34 MST 1999  Diego Novillo <dnovillo@cygnus.com>
- 
- 	* resource.c (mark_target_live_regs): For unconditional branches,
- 	the resources found at the branch target should be added to the
- 	resources found so far, not intersected.
- 
- Sun Oct 31 15:48:49 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* fixinc/fixtests.c, fixinc/fixfixes.c : Keep `#' in first column for
- 	old cpp's.
- 	* fixinc/fixincl.c (fcntl.h) : Do not include this file twice.
- 	(sys/mman.h): Include this file only if #HAVE_MMAP.
- 	(run_compiles): Initialize `esac_fmt' with one old KR string, not
- 	with automatically concatenated ANSI strings.
- 
- Sun Oct 31 23:57:07 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-page.c (struct page_entry): Remove save_num_free_objects.
- 	(DIV_ROUND_UP): Robustify.
- 	(ggc_recalculate_in_use_p): New function.
- 	(release_pages): Don't inline it.
- 	(ggc_alloc_obj): Don't refuse to allocate objects on pages for
- 	outer contexts.
- 	(ggc_pop_context): Use ggc_recalculate_in_use_p.
- 	(clear_marks): Always save in_use_p.
- 	(sweep_pages): Use ggc_recalculate_in_use_p.
- 	(ggc_page_print_statistics): Avoid signed/unsigned comparisons.
- 	Release pages before counting statistics.
- 
- Sun Oct 31 23:42:37 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.c (rest_of_compilation): Fix thinko in this change:
- 
- 	Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
- 
- 	(rest_of_compilation): If inside an inlined external function,
- 	pretend we are just being declared.
- 
- Sun Oct 31 23:03:25 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (calculate_global_regs_live): Fix thinko.
- 
- 	* integrate.c (expand_inline_function): Fix bugs in previous
- 	change from Oct 28, 1999.
- 
- Sun Oct 31 20:27:45 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_value_return): Fix typo in this change:
- 
- 	Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 	(expand_value_return): Correctly convert VAL when promoting function
- 	return; support RETURN_REG being a PARALLEL.
- 
- Sun Oct 31 20:25:42 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (readonly_fields_p): Ignore everything except FIELD_DECLs.
- 
- Sun Oct 31 20:42:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* hard-reg-set.h (reg_names): Constify a char*.
- 
- 	* regclass.c  (reg_names): Likewise.
- 
- 	* regs.h (reg_names): Likewise
- 
- 	* a29k/a29k.c (reg_names): Delete declaration.
- 
- 	* a29k/a29k.h (CONDITIONAL_REGISTER_USAGE): Constify a char*.
- 
- 	* arc/arc.c (arc_save_restore, arc_output_function_prologue,
- 	arc_output_function_epilogue): Likewise.
- 
- 	* elxsi/elxsi.c (reg_names): Likewise.
- 
- 	* gmicro/gmicro.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Likewise.
- 
- 	* m32r/m32r.c (m32r_output_function_epilogue, emit_cond_move):
- 	Likewise.
- 
- 	* m88k/m88k.c (output_function_profiler): Likewise.
- 
- 	* sparc/sparc.c (sparc_flat_output_function_prologue,
- 	sparc_flat_output_function_epilogue): Likewise.
- 
- Sun Oct 31 13:32:15 CET 1999  Marc Lehmann <pcg@goof.com>
- 
- 	* toplev.c (rest_of_compilation): Separate the setjmp/vfork clobber
- 	warning from -Wuninitialized and put it under -W.
- 	* function.c (uninitialized_vars_warning): Warn only when the
- 	corresponding flag is set.
- 
- Sun Oct 31 01:53:30 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): If an insn has only a single set, SRC_EQV
- 	is nonzero and the single set does not have an elt, then assign
- 	it an elt.
- 
- 	* simplify-rtx.c: New file.
- 	* Makefile.in (OBJS): Add simplify-rtx.o
- 	(simplify-rtx.o): Add dependencies.
- 	* rtl.h (simplify_gen_binary, simplify_rtx): Add prototypes.
- 	* cse.c: Use simplify_gen_binary intead of cse_gen_binary.
- 	(cse_gen_binary, simplify_unary_operation): Delete.
- 	(simplify_binary_operation, simplify_plus_minus): Likewise.
- 	(check_fold_consts, simplify_relation_operation): Likewise.
- 	(simplify_ternary_operation): Likewise.
- 	(delete_trivially_dead_insns): Simplify the contents of the
- 	REG_EQUAL note before trying to substitute it into the source
- 	of the reg-reg copy at the end of a libcall sequence.
- 
- 	* combine.c (combine_simplify_rtx): Renamed from simplify_rtx.  All
- 	references/callers changed.
- 
- 	* mn10200.c (mn10200_va_arg): Force the return value into a
- 	register.
- 
- 	* fr30.h (EXTRA_CC_NAMES): Remove obsolete macro.
- 
- 	* cccp.c (macroexpand): Avoid out of range accesses for omitted
- 	arguments.
- 
- Sat Oct 30 22:42:50 1999  Stephen L Moshier <moshier@mediaone.net>
- 
- 	* c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.
- 
- Sat Oct 30 22:19:26 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (fold): Fix thinko when optimizing comparisons
- 	against -0.0.
- 
- Sat Oct 30 21:32:17 1999  David Starner  <dstarner98@aasaa.ofe.org>
- 
- 	* gcc.texi (Passes): Update front-end files to their current
- 	location.
- 
- Sat Oct 30 14:41:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Call secondary_reload_class.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
- 	(PREDICATE_CODES): Add addition_operation.
- 	* alpha-protos.h (addition_operation): Declare.
- 	(secondary_reload_class): Likewise.
- 	* alpha.c (addition_operation): New.
- 	(secondary_reload_class): New, from old SECONDARY_INPUT_RELOAD_CLASS.
- 	* alpha.md (adddi3): Turn into expander.
- 	(*lda, *adddi_2): New.
- 	(movsf, movdf patterns): Don't preference integer regs.
- 	(movsi, movdi patterns): Don't preference fp regs.
- 
- Sat Oct 30 14:38:22 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (write_switch): Check for duplicate CODE cases.
- 
- Sat Oct 30 14:31:48 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-common.c: Update pre-function commentary.
- 	* ggc-page.c: Likewise.
- 	(poison): Remove.
- 	(poison_pages): Use memset directly.
- 	(ggc_alloc_obj): Likewise.  Use a different pattern than poison_pages.
- 	(ggc_collect): Poison before sweeping.
- 	* ggc-simple.c: Update pre-function commentary.
- 	(ggc_alloc_obj): Poison nonzeroed memory.
- 
- Sat Oct 30 14:28:52 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-common.c (ggc_print_statistics): Make arguments to fprintf
- 	match format string, even on 64-bit hosts.
- 	* gcc-page.c (ggc_page_print_statistics): Likewise.
- 
- Sat Oct 30 14:38:04 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/i386/i386.c (ix86_cpu): Revert last patch.
- 	* config/i386/i386.h (ix86_cpu): Ditto.
- 
- Fri Oct 29 17:00:42 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* stor-layout.c (layout_type): When compute TYPE_SIZE_UNIT from
- 	TYPE_SIZE, convert type of result to sizetype.
- 
- Fri Oct 29 14:34:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (count_or_remove_death_notes): Equate NULL with the
- 	universal set.
- 
- 	* jump.c, reg-stack.c, toplev.c: Revert Oct 27 change.
- 	* toplev.c (rest_of_compilation): Rebuild CFG immediately before
- 	dbr_schedule.
- 
- 	* i386.c (pic_label_no): Delete.
- 	(ix86_attr_length_default): Don't use single_set to peek
- 	inside a parallel.
- 
- 	* recog.c (peephole2_optimize): Allow recog_next_insn to index
- 	the first insn after bb->end.
- 	* i386.md (push mem peeps): Scratch is live after evaluation
- 	of the memory.
- 	(cmp mem peep): Similarly.
- 
- Fri Oct 29 11:50:11 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* calls.c (emit_library_call_value): Fix declaration of alignment_pad.
- 	* function.c (pad_to_arg_alignment): Add missing braces.
- 
- Fri Oct 29 13:53:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha/alpha-protos.h (literal_section): Add prototype.
- 	(alpha_need_linkage, alpha_start_function,alpha_end_function):
- 	Constify a char*.
- 
- 	* alpha/alpha.c (alpha_ra_ever_killed, set_frame_related_p): Add
- 	prototype.
- 	(alpha_start_function, alpha_end_function, float_strings,
- 	alpha_need_linkage): Constify a char*
- 
- 	* alpha/alpha.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_MI_THUNK): Likewise.
- 
- 	* alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- 	* alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* alpha/vms.h (ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- Fri Oct 29 13:49:39 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* flow.c (debug_flow_info): Add prototype.
- 
- 	* gcc.c (main): Likewise.
- 
- 	* gcse.c (expr_reaches_here_p_work, pre_expr_reaches_here_p_work):
- 	Likewise.
- 
- 	* reload1.c (failed_reload, set_reload_reg): Likewise.
- 
- 	* mips-tfile.c (main): Likewise.
- 	(pfatal_with_name, fancy_abort, botch, fatal, catch_signal): Mark
- 	with ATTRIBUTE_NORETURN.
- 
- Fri Oct 29 18:16:03 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/i386/i386.h (ENCODE_SECTION_INFO): Don't do anything if
- 	DECL is not a memory ref.
- 
- Fri Oct 29 09:05:34 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/i386/i386.h (ix86_cpu): Remove extern attribute.
- 	* config/i386/i386.c (ix86_cpu): Add extern attribute.
- 
- Fri Oct 29 16:30:04 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/elf.h: remove NAME__MAIN and SYMBOL__MAIN.
- 	* config/mips/elf64.h: ditto.
- 
- Fri Oct 29 08:03:57 1999  Catherine Moore  <clm@cygnus.com>
- 
- 	* expr.c (emit_push_insn): New argument alignment_pad.
- 	Update all callers.  Adjust stack pointer based on alignment pad.
- 	* function.c (pad_to_arg_alignment):  New argument alignment_pad.
- 	Update all callers.  Track alignment_pad if boundary > PARM_BOUNDARY.
- 	(locate_and_pad_parm): New argument alignment_pad.  Update all
- 	callers.
- 	* expr.h (emit_push_insn): Update prototype.
- 	(locate_and_pad_parm): Update prototype.
- 	* calls.c (arg_data):  Add new field alignment_pad.
- 	(initialize_argument_information): Initialize alignment_pad.
- 
- Fri Oct 29 02:51:35 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.c (free_eh_nesting_info): Free the info itself.
- 	* function.c (free_after_compilation): Don't free NULL.
- 	* gcse.c (alloc_pre_mem): Free the temp_bitmap, too.
- 	(pre_edge_insert): Free inserted.
- 	* stmt.c (free_stmt_status): Don't free NULL.
- 
- Fri Oct 29 15:25:07 1999  Arnaud Charlet  <charlet@ACT-Europe.FR>
- 
- 	* gcov.c (DIR_SEPARATOR): Provide default.
- 	(output_data): Add test for MS-DOS format absolute filename.
- 	(fancy_abort): Correct program name.
- 	(open_files): Open all files in binary mode.
- 	* libgcc2.c (__bb_exit_func): Likewise.
- 
- 	* profile.c (init_branch_prob): Specify binary when opening files.
- 
- 	* flags.h (flag_unwind_tables): New decl.
- 	* toplev.c (flag_unwind_table): New definition.
- 	(f_options): Add -funwind-tables.
- 	(decode_g_option): Clarify warning when unknown -g option is given.
- 	(rest_of_compilation): If inside an inlined external function,
- 	pretend we are just being declared.
- 
- 	* dwarf2out.c (dwarf2out_do_frame): Check -funwind_tables.
- 	(dwarf2out_frame_finish): Likewise.
- 
- Fri Oct 29 07:44:26 1999  Vasco Pedro  <vp@di.fct.unl.pt>
- 
- 	* fold-const.c (merge_ranges): If not in0, but in1, handle
- 	upper bounds equal like subset case.
- 
- Thu Oct 28 19:22:24 1999  Douglas Rupp <rupp@gnat.com>
- 
- 	* dbxout.c (dbxout_parms): Generate a second stabs line for parameters
- 	passed in a register but moved to the stack.
- 
- Thu Oct 28 19:12:57 1999  Sam Tardieu  <tardieu@act-europe.fr>
- 
- 	* gcc.c (pass_exit_codes, greatest_status): New variables.
- 	(struct option_map): Add entry for "--pass-exit-codes".
- 	(execute): Update greatest_status if error.
- 	(display_help): Add documentation for -pass-exit-codes.
- 	(process_command): Handle -pass-exit-codes.
- 	(main): Look at pass_exit_codes and greatest_status on call to exit.
- 
- Thu Oct 28 18:06:50 1999  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload.c (find_reloads): Refine test for no input reload
- 	case to not includes reloads emitted after insn.
- 
- 	* function.c (find_temp_slots_from_address): Handle sum involving
- 	a register that points to a temp slot.
- 	(update_temp_slot_address): Make recursive call if both old and
- 	new are PLUS with a common operand.
- 	* calls.c (expand_call): Mark temp slot for result as having
- 	address taken.
- 
- 	* rtlanal.c (reg_referenced_p, case IF_THEN_ELSE): New case.
- 
- 	* gcc.c (process_command): Add standard_exec_prefix with "GCC"
- 	component as well as "BINUTILS".
- 
- 	* integrate.h (copy_rtx_and_substitute): New arg, FOR_LHS.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	(expand_inline_function, integrate_parm_decls, integrate_decl_tree):
- 	All callers changed.
- 	* unroll.c (inital_reg_note_copy, copy_loop_body): Likewise.
- 
- 	* dbxout.c (dbxout_type, case INTEGER_TYPE_NODE): If can use
- 	gdb extensions, write size of type; also be more consistent
- 	in using references when this is a subtype.
- 
- 	* pa.md (extv, extzv, insv): Use define_expand to reject constant
- 	that is out of range.
- 
- 	* loop.c (unknown_constant_address_altered): New variable.
- 	(prescan_loop): Initialize it.
- 	(note_addr_stored): Set it for RTX_UNCHANGING_P MEM.
- 	(invariant_p, case MEM): Remove handling for volatile and readonly;
- 	check new variable if readonly.
- 	(check_dbra_loop): Chdeck unknown_constant_address_altered.
- 
- 	* cse.c (canon_hash, case MEM): Do not record if BLKmode.
- 	(addr_affects_sp_p): Removed from note_mem_written and only
- 	define #ifdef AUTO_INC_DEC.
- 
- 	* alpha.c (input_operand, case ADDRESSOF): Treat as REG.
- 
- 	* regclass.c (record_reg_classes): Properly handle register move
- 	directions.
- 
- 	* varasm.c (initializer_constant_valid_p, case MINUS_EXPR):
- 	Don't think valid if both operands are invalid.
- 	(struct constant_descriptor): New field RTL.
- 	(mark_const_hash_entry): Mark it.
- 	(record_constant{,_rtx}): Initialize it.
- 	(output_constant_def): Allocate RTL in permanent obstack and
- 	save in table.
- 	({record,compare}_constant_1): Modes must match for
- 	CONSTRUCTOR of ARRAY_TYPE.
- 
- 	* c-common.h (initializer_constant_valid_p): Delete decl from here.
- 	* output.h (initializer_constant_valid_p): Move decl to here.
- 	* c-common.c (initializer_constant_valid_p): Delete function from here.
- 	* varasm.c (initializer_constant_valid_p): Move function to here.
- 
- 	* tree.h (STRIP_SIGN_NOPS): New macro.
- 	* fold-const.c (optimize_minmax_comparison): New function.
- 	(invert_truthvalue, case WITH_RECORD_EXPR): New case.
- 	(fold): Use STRIP_SIGN_NOPS instead of STRIP_TYPE_NOPS.
- 	(fold, case EQ_EXPR): Call optimize_minmax_comparison and add
- 	cases with ABS_EXPR, NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR, and
- 	widening conversions.
- 	(fold, case LE_EXPR): Rework changing unsigned to signed comparisons
- 	to look at size of mode, not precision of type; also add missing cases.
- 	(optimize_bit_field_compare, decode_field_reference): Don't try to
- 	optimize COMPONENT_REF of a PLACEHOLDER_EXPR.
- 
- 	* dwarf2out.c (ctype.h): Include.
- 	(dwarf2out_set_demangle_name_func): New function.
- 	(size_of_line_info): Deleted.
- 	(output_line_info): Compute size of line info table from difference
- 	of labels.
- 	(base_type_die, add_name_attribute): Call demangle function, if any.
- 	(field_byte_offset): Use bits per word for variable length fields.
- 	(gen_array_type_die): Add array name.
- 	(gen_subprogram_die): Ignore DECL_INLINE if -fno-inline.
- 	(dwarf2out_add_library_unit_info): New function.
- 
- 	* explow.c (set_stack_check_libfunc): New function.
- 	(stack_check_libfunc): New static variable.
- 	(probe_stack_range): Allow front-end to set up a libfunc to call.
- 
- 	* combine.c (simplify_comparison): When making comparison in wider
- 	mode, check for having commuted an AND and a SUBREG.
- 	(contains_muldiv): New function.
- 	(try_combine): Call it when dividing a PARALLEL.
- 	(simplify_rtx, case TRUNCATE): Don't remove for umulsi3_highpart.
- 	(simplify_comparison, case ASHIFTRT): Recognize sign-extension of
- 	a PLUS.
- 	(record_value_for_reg): If TEM is a binary operation with two CLOBBERs,
- 	use one of the CLOBBERs instead.
- 	(if_then_else_cond): If comparing against zero, just return thing
- 	being compared.
- 
- 	* optabs.c (expand_abs): If machine has MAX, ABS (x) is MAX (x, -x).
- 	Don't generate shifts and subtract if have conditional arithmetic.
- 
- 	* rtl.h (delete_barrier): New declaration.
- 	* jump.c (jump_optimize): Set up to handle conditional call.
- 	In conditional arithmetic case, handle CALL_INSN followed by a BARRIER.
- 	(delete_barrier): New function.
- 
- 	* rtl.c (read_rtx): Call fatal if bad RTL code; check for bad mode.
- 
- 	* recog.c (nonmemory_operand): Accept ADDRESSOF.
- 
- 	* tree.c (build_type_attribute_variant): Push to obstack of
- 	ttype around type_hash_canon call.
- 
- 	* expr.c (placeholder_list): Move decl to file scope.
- 	(expand_expr): Don't force access to volatile just because its
- 	address is taken.
- 	If ignoring reference operations, just expand the operands.
- 	(expand_expr, case COMPONENT_REF): Propagate
- 	EXPAND_CONST_ADDRESS to recursive call when expanding inner.
- 	Refine test for using bitfield operations vs pointer punning.
- 	(expand_expr, case CONVERT_EXPR): If converting to
- 	BLKmode UNION_TYPE from BLKmode, just return inner object.
- 	Use proper mode in store_field call.
- 	Properly set sizes of object to store and total size in store_field
- 	call for convert to union.
- 	(expand_expr, case ARRAY_REF): If OP0 is in a register, put it in
- 	memory (like for ADDR_EXPR).  Also, don't put constant in register if
- 	we'll want it in memory.
- 	(readonly_fields_p): New function.
- 	(expand_expr, case INDIRECT_REF): Call it if LHS.
- 	(expand_assignment): Handle a RESULT_DECL where
- 	DECL_RTL is a PARALLEL.
- 	(do_jump, case WITH_RECORD_EXPR): New case.
- 	(get_inner_reference): Always go inside a CONVERT_EXPR
- 	and NOP_EXPR if both modes are the same.
- 	(store_field): Use bitfield operations if size of bitsize is not same
- 	as size of RHS's type.
- 	Check for bitpos not a multiple of alignment in BLKmode case.
- 	Do block move in largest possible alignment.
- 	(store_constructor): Set BITSIZE to -1 for variable size and properly
- 	in case of array of BLKmode.
- 	(expand_expr_unaligned): New function.
- 	(do_compare_and_jump): Call it.
- 
- 	* mips/iris5.h (SWITCHES_NEED_SPACES): New macro.
- 	* collect2.c (main): Only allow -ofoo if SWITCHES_NEED_SPACES
- 	does not include 'o'.
- 
- 	* function.c (instantiate_virtual_regs_1, case SET): Handle case where
- 	both SET_DEST and SET_SRC reference a virtual register.
- 	(gen_mem_addressof): Copy RTX_UNCHANGING_P from new REG to old REG.
- 
- 	* integrate.c (expand_inline_function): Handle case of setting
- 	virtual stack vars register (from built in setjmp); when parameter
- 	lives in memory, expand virtual_{stack_vars,incoming_args}_rtx early.
- 	(subst_constant): Add new parm, MEMONLY.
- 	(expand_inline_function, integrate_parm_decls): Pass new parm.
- 	(integrate_decl_tree): Likewise.
- 	(copy_rtx_and_substitute, case MEM): Do copy RTX_UNCHANGING_P.
- 	(try_constants): Call subst_constants twice, with MEMONLY 0 and 1.
- 	(copy_rtx_and_substitute, case SET): Add explicit calls to
- 	copy_rtx_and_substitute for both sides.
- 
- 	* stmt.c (expand_asm_operands): Don't use TREE_STRING_LENGTH for
- 	constraints.
- 	(pushcase{,_range}): Convert to NOMINAL_TYPE after checking for
- 	within INDEX_TYPE, instead of before.
- 	(fixup_gotos): Use f->target_rtl, not the next insn,
- 	since latter may be from a later fixup.
- 	(expand_value_return): Correctly convert VAL when promoting function
- 	return; support RETURN_REG being a PARALLEL.
- 	(expand_return): When checking for result in regs and having
- 	cleanup, consider PARALLEL in DECL_RTL as being in regs.
- 
- 1999-10-28 21:27 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cpplib.h (struct cpp_buffer: fname, nominal_fname,
- 	last_nominal_fname): Mark const.
- 	(struct include_hash: name, nshort, control_macro): Mark
- 	const.
- 	(struct macrodef: symnam): Mark const.
- 	(struct if_stack: fname): Mark const.
- 	(is_idchar, is_idstart, is_hor_space, trigraph_table): Delete.
- 	(IStable): New character-syntax array which encompasses all
- 	the old is_foo arrays.
- 	(is_idchar, is_numchar, is_idstart, is_numstart, is_hspace,
- 	is_space): New macros for interrogating IStable.
- 	(check_macro_name): Kill last argument.  All callers changed.
- 
- 	* cppinit.c (initialize_char_syntax): Delete.
- 	(is_idchar, is_idstart, is_hor_space, is_space,
- 	trigraph_table): Delete.
- 	(IStable): New.  Initialize with clever macros to avoid
- 	information duplication.
- 	(builtin_array): Table of builtins to get rid of explicit list
- 	in initialize_builtins.
- 	(initialize_builtins): Use builtins_array.
- 	(cpp_start_read): Call init_IStable, and set IStable['$'] if
- 	opts->dollars_in_ident.
- 
- 	* cppexp.c: Change all refs to is_xyz[] arrays to use new
- 	is_xyz() macros.
- 	(cpp_parse_expr): Avoid 'format string is not constant'
- 	warning. Use ISGRAPH to identify printable chars.
- 	* cppfiles.c: Change all refs to is_xyz[] arrays to use new
- 	is_xyz() macros.
- 	(read_and_prescan): Map trigraphs to chars with open-coded
- 	if-else-if-... sequence, not a lookup table.
- 	* cpphash.c: Change all refs to is_xyz[] arrays to use new
- 	is_xyz() macros.
- 	* cpplib.c: Change all refs to is_xyz[] arrays to use new
- 	is_xyz() macros.  Kill SKIP_ALL_WHITE_SPACE (unused).
- 	(check_macro_name): Remove ability to report an invalid
- 	assertion name, which is never used.
- 	(do_line): Constify a couple of char *'s.
- 	* cppmain.c (main): Call cpp_cleanup before returning.
- 
- Thu Oct 28 21:16:35 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc.h (struct ggc_statistics): New type.
- 	(ggc_get_size): New function.
- 	(ggc_print_statistics): Likewise.
- 	* ggc-common.c (ggc_stats): New variable.
- 	(ggc_mark_rtx_children): Keep statistics.
- 	(ggc_mark_tree_children): Likewise.
- 	(ggc_print_statistics): New function.
- 	* ggc-page.c (struct globals): Add bytes_mapped field.
- 	(alloc_anon): Update it.
- 	(release_pages): Likewise.
- 	(ggc_get_size): New function.
- 	(ggc_page_print_statistics): New function.
- 	* ggc-simple.c (ggc_get_size): New function.
- 
- Fri Oct 29 06:32:44 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* flow.c (propagate_block): When the last reference to a label
- 	before an ADDR_VEC is deleted because the reference is a dead
- 	store, delete the ADDR_VEC.
- 
- Thu Oct 28 12:28:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* resource.c (find_free_register): Don't use the frame pointer
- 	if frame_pointer_needed.
- 
- Thu Oct 28 10:02:00 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/mips/mips.c (mips_va_arg): Delete gen_jump as emit_jump arg.
- 	(function_arg_pass_by_reference): Check for a NULL pointer in cum.
- 
- 	* config/i960/i960.c (i960_va_start): New locals base, num.
- 	Use INDIRECT_REF instead of ARRAY_REF on valist.
- 	(i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.
- 
- Thu Oct 28 09:45:48 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* gcse.c (delete_null_pointer_checks): Fix typo in previous change.
- 
- Thu Oct 28 03:37:50 1999  Peter Gerwinski <peter@gerwinski.de>
- 
- 	* tree.def (PLACEHOLDER_EXPR): Update comments.
- 
- Thu Oct 28 06:47:32 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (check_format_info): Avoid non-literal format string
- 	warnings when `first_arg_num' is zero.
- 
- Thu Oct 28 12:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* rtl.texi: Delete explicit Prev, Up and Next entries in "@node"s.
- 
- Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.md (casesi_insn): Add a clobber of the condition code
- 	register.
- 
- Mon Oct 18 21:16:06 1999  Fred Fish  <fnf@be.com>
- 
- 	* tm.texi (CC1PLUS_SPEC): Make it clear in the docs that CC1_SPEC is
- 	used by both cc1 and cc1plus.
- 
- Thu Oct 28 10:00:48 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Initialize arm_structure_size_boundary to
- 	DEFAULT_STRUCTURE_SIZE_BOUNDARY.
- 	* config/arm/arm.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define
- 	to the value 32 if it has not already been defined.
- 	* config/arm/netbsd.h (DEFAULT_STRUCTURE_SIZE_BOUNDARY):
- 	Override definition in arm.h with a value of 8.
- 
- Thu Oct 28 03:12:02 1999  David Starner  <dstarner98@aasaa.ofe.org>
- 
- 	* c-pragma.c (push_alignment): Don't check the return value
- 	of xmalloc.
- 
- Thu Oct 28 03:08:38 1999  Matteo Frigo <athena@fftw.org>
- 
- 	* sparc.h (ADJUST_COST): Fix thinko.
- 
- Thu Oct 28 02:44:03 1999  Glen Nakamura  <glen.nakamura@usa.net>
- 
- 	* cccp.c (rescan): Fixed obp pointer handling around call to
- 	check_expand subroutine.
- 
- Thu Oct 28 02:15:22 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (delete_null_pointer_checks): Only record non-null info
- 	for pseudos when examining stores.
- 
- 	* arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
- 	splitters for these patterns.  Use "#" for output templates.
- 	(addsi3_carryin_shift): New pattern.
- 
- Thu Oct 28 10:20:02 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
- 	of the function return register into a plain REG until
- 	after function inlining is done.
- 
- Wed Oct 27 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): If we did cross-jumping, and
- 	the data will matter, rebuild the CFG.
- 	* reg-stack.c (reg_to_stack): Only (re)build the CFG if
- 	not optimizing.  Don't run shorten_branches.
- 	* toplev.c (rest_of_compilation): Run shorten_branches after
- 	reg_to_stack.
- 
- Wed Oct 27 12:33:40 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (note_stores): Add additional parameter.
- 	* rtlanal.c (reg_set_p_1): Take additional parameter.
- 	(reg_set_last_1): Likewise.
- 	(reg_set_p): Adjust call to note_stores.
- 	(reg_set_last): Likewise.
- 	(note_stores): Pass data parameter to worker function.
- 	* alias.c (record_set): Take additional parameter.
- 	(init_alias_analysis): Pass it.
- 	* caller-save.c (mark_set_regs): Take additional parameter.
- 	(save_call_clobbered_regs): Pass NULL to note_stores.
- 	* combine.c (set_nonzero_bits_and_sign_copies): Take additional
- 	parameter.
- 	(record_dead_and_set_regs_1): Likewise.
- 	(reg_dead_at_p_1): Likewise.
- 	(combine_instructions): Adjust calls to note_stores.
- 	(try_combine): Likewise.
- 	(record_dead_insn): Remove.
- 	(record_dead_and_set_regs): Adjust calls to note_stores.
- 	(reg_dead_at_p): Likewise.
- 	* cse.c (invalidate_skipped_set): Take additional parameter.
- 	(cse_check_loop_start): Likewise.
- 	(cse_check_loop_start_value): Remove.
- 	(cse_set_around_loop): Adjust calls to note_stores.
- 	* flow.c (notice_stack_pointer_modification): Take additional
- 	parameter.  Remove duplicate declaration.
- 	(record_volatile_insns): Adjust calls to note_stores.
- 	* gcse.c (record_set_info): Take additional parameter.
- 	(record_last_set_info): Likewise.
- 	(invalidate_nonnull_info): Likewise.
- 	(record_set_insn): Remove.
- 	(compute_sets): Adjust calls to note_stores.
- 	(last_set_insn): Remove.
- 	(compute_hash_table): Adjust calls to note_stores.
- 	(insert_insn_end_bb): Likewise.
- 	(delete_null_pointer_checks): Likewise.
- 	* global.c (mark_reg_store): Take additional parameter.
- 	(mark_reg_clobber): Likewise.
- 	(reg_becomes_live): Likewise.
- 	(global_conflicts): Adjust calls to note_stores.
- 	(build_insn_chain): Likewise.
- 	* integrate.c (note_modified_parmregs): Take additional parameter.
- 	(mark_stores): Likewise.  Make it static.
- 	(save_for_inline_nocopy): Adjust calls to note_stores.
- 	(try_constants): Likewise.
- 	* integrate.h (mark_stores): Remove declaration.
- 	* jump.c (mark_modified_reg): Take additional parameter.
- 	(thread_jumps): Adjust calls to note_stores.
- 	* local-alloc.c (validate_equiv_mem_from_store): Take additional
- 	parameter.
- 	(no_equiv): Likewise.
- 	(reg_is_set): Likewise.
- 	(validate_equiv_mem): Adjust calls to note_stores.
- 	(update_equiv_regs): Likewise.
- 	(block_alloc): Likewise.
- 	* loop.c (note_set_pseudo_multiple_uses_retval): Remove.
- 	(note_addr_stored): Take additional parameter.
- 	(note_set_pseudo_multiple_uses): Likewise.
- 	(record_initial): Likewise.
- 	(prescan_loop): Adjust calls to note_stores.
- 	(strength_reduce): Likewise.
- 	(check_dbra_loop): Likewise.
- 	* regmove.c (flags_set_1): Take additional parameter.
- 	(mark_flags_life_zones): Adjust calls to note_stores.
- 	* reload1.c (mark_not_eliminable): Take additional parameter.
- 	(forget_old_reloads_1): Likewise.
- 	(reload_cse_invalidate_rtx): Likewise.
- 	(reload_cse_check_clobber): Likewise.
- 	(reload_combine_note_store): Likewise.
- 	(move2add_note_store): Likewise.
- 	(reload): Adjust calls to note_stores.
- 	(reload_as_needed): Likewise.
- 	(emit_reload_insns): Likewise.
- 	(reload_cse_regs_1): Likewise.
- 	(reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
- 	(reload_combine): Adjust calls to note_stores.
- 	* resource.c (update_live_status): Take additional parameter.
- 	(mark_target_live_regs): Adjust calls to note_stores.
- 	* stupid.c (find_clobbered_regs): Take additional parameter.
- 	(stupid_life_analysis): Adjust calls to note_stores.
- 
- Wed Oct 27 19:26:12 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/coff.h (STRUCTURE_SIZE_BOUNDARY): Delete
- 	definition.
- 
- 	* config/arm/elf.h (STRUCTURE_SIZE_BOUNDARY): Delete
- 	definition.
- 
- 	* config/arm/arm.h (STRUCTURE_SIZE_BOUNDARY): Define in terms
- 	of the variable arm_structure_size_boundary.
- 
- Wed Oct 27 02:05:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* alias.c (init_alias_analysis): Allocate reg_known_value and
- 	reg_known_equiv_p on the heap.  Likewise for new_reg_base_value
- 	and reg_seen.
- 	(end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
- 	* cse.c (cse_main): Call end_alias_analysis.
- 	* haifa-sched.c (schedule_insns): Likewise.
- 	* local-alloc. (update_equiv_regs): Likewise.
- 	* reload1.c (reload_cse_regs): Likewise.
- 
- Wed Oct 27 01:49:17 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
- 	* sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
- 	mapping from MASK_FPU.
- 
- Wed Oct 27 01:42:26 1999  Scott Christley  <scottc@net-community.com>
- 
- 	* sparc.md (call): Don't bound structure return size to 0xfff.
- 
- Wed Oct 27 00:56:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* resource.c (mark_target_live_regs): Check that the target
- 	insn wasn't created after compute_bb_for_insn.
- 
- Tue Oct 26 23:15:03 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-page.c (poison_pages): Don't be overzealous.
- 
- Tue Oct 26 23:29:18 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* alias.c: Update comments for ADDRESS.
- 	(nonlocal_reference_p): Look inside the ADDRESS to determine if
- 	it is a local memory reference.
- 
- 	* c-typeck.c (build_function_call): Check that the built-in
- 	function is of class BUILT_IN_NORMAL before trying to recongize
- 	it as BUILT_IN_ABS.
- 	* calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
- 	* stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.
- 
- Wed Oct 27 00:14:13 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
- 	of alloca.
- 	(pre_gcse): Likewise.
- 	(hoist_expr_reaches_here_p): Likewise.
- 	(hoist_code): Likewise.
- 	(pre_expr_reaches_here_p): Replace alloca with xcalloc.  Move core
- 	code to ...
- 	(pre_expr_reaches_here_p_work): ... here.
- 	(expr_reaches_here_p): Replace alloca with xcalloc.  Move core
- 	code to ...
- 	(expr_reaches_here_p_work): ... here.
- 
- Tue Oct 26 20:42:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* resource.c (find_basic_block): Delete.
- 	(mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
- 	(init_resource_info): Call compute_bb_for_insn.
- 
- Tue Oct 26 20:21:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (merge_blocks_move_predecessor_nojumps): Cope
- 	with already adjacent blocks, but no fallthru.
- 	(merge_blocks_move_successor_nojumps): Simplify.
- 	(debug_flow_info): New.
- 
- 	* toplev.c (rest_of_compilation): Open jump1 dump file before
- 	jump and close after, as opposed to just using dump_rtl.
- 
- Wed Oct 27 03:09:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload.h (earlyclobber_operand_p): Declare.
- 	* reload.c (earlyclobber_operand_p): Don't declare.  No longer static.
- 	* reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
- 	an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
- 	case where the RELOAD_OTHER reload is new.  Use earlyclobber_operand_p.
- 
- Tue Oct 26 18:23:38 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (emit_block_insn_before): New.
- 	(emit_block_insn_after): New.
- 	* basic-block.h: Declare them.
- 
- 	* bitmap.h: Protect from multiple inclusion.
- 
- 	* recog.c (scratch_operand): Handle VOIDmode correctly.
- 
- 	* rtl.h (JUMP_CROSS_JUMP_DEATH_MATTERS): New.
- 
- 	* builtins.c (expand_builtin_apply_args_1): Remove STACK_REGS hack.
- 	* function.c (assign_parms): Likewise.
- 	* global.c (global_conflicts): Clarify STACK_REGS commentary.
- 
- 	* reg-stack.c (max_uid): Remove.
- 	(blocks, block_begin, block_end, block_drops_in): Remove.
- 	(block_stack_in, block_out_reg_set, block_number): Remove.
- 	(struct block_info_def, BLOCK_INFO): New.
- 	(enum emit_where): New.
- 	(current_block): New.
- 	(BLOCK_NUM): Remove.
- 	(mark_regs_pat, record_label_references): Remove.
- 	(record_reg_life_pat, record_reg_life, find_blocks): Remove.
- 	(nan): New.
- 	(goto_block_pat, print_blocks, dump_stack_info): Remove.
- 	(reg_to_stack): Simplified test for existence of fp code.  Use
- 	flow.c code.  Call shorten_branches after cross-jump opt.
- 	(check_asm_stack_operands): Renamed from record_asm_reg_life.
- 	Return false if the asm doesn't use stack regs.  Don't do life
- 	analysis on the asm.
- 	(emit_pop_insn): Replace function pointer arg `when' with
- 	enum `where'.  Update all callers.
- 	(change_stack): Likewise.  Update basic block end.
- 	(emit_swap_insn): Use current_block->head to limit reverse search
- 	for start of block.  Use emit_block_insn_after.
- 	(subst_stack_regs_pat): Handle USE and CLOBBER patterns.
- 	(subst_asm_stack_regs): Use check_asm_stack_operands.  Use direct
- 	structure assignment instead of bcopy.
- 	(print_stack): New.
- 	(convert_regs_entry, convert_regs_exit): New.
- 	(convert_regs_1, convert_regs_2): Split out from convert_regs.
- 	Work on basic blocks and the CFG.
- 	(convert_regs): Use them.
- 
- 	* i386.c (output_fix_trunc): Remove code for DImode input operand
- 	not at top-of-stack.
- 	* i386.c (fix_truncdfdi2, fix_truncsfdi2): Use scratch with
- 	appropriate mode.
- 	(fix_truncdi_1): Allow any mode scratch.
- 
- Tue Oct 26 13:30:35 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (TARGET_MEM_FUNCTIONS): Define here.
- 	* linux.h, netbsd.h, vms.h: Not here.
- 
- 1999-10-26  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
- 	ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
- 	(GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
- 	CONDITIONAL_REGISTER_USEAGE): Use them.
- 	* config/mips/mips.c (mips_move_1word,mips_move_2words,
- 	gen_conditional_branch,override_options) : Use them.
- 	* config/mips/mips.md : Use them.
- 
- Tue Oct 26 13:09:23 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (zero_extendqihi2): Use SImode register name with andl.
- 
- Tue Oct 26 12:35:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* integrate.c (function_cannot_inline_p): Don't allow inlining
- 	if setjmp is used.
- 
- Tue Oct 26 14:10:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (cast_expr): Constify.
- 
- 	* cccp.c (special_symbol): Likewise.
- 
- 	* cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.
- 
- 	* dwarf2out.c (base_type_die): Likewise.
- 
- 	* global.c (allocno_compare): Likewise.
- 
- 	* local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.
- 
- 	* regclass.c (fix_register): Likewise.
- 
- 	* rtl.h (fix_register): Likewise.
- 
- 	* stupid.c (stupid_reg_compare): Likewise.
- 
- 	* toplev.c (decode_f_option): Likewise.
- 
- 	* tree.c (build_complex_type): Likewise.
- 
- Tue Oct 26 18:35:25 1999  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
- 
- Tue Oct 26 15:42:56 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload.c (find_reloads): Compute mode and nregs fields of all
- 	reloads.
- 	* reload1.c (calculate_needs_all_insns): Simplify a bit.
- 	(calculate_needs): Use precomputed mode/nregs values.
- 	(allocate_reload_reg): Likewise.
- 	Break out two...
- 	(failed_reload, set_reload_reg): ... new functions.
- 	(choose_reload_regs_init): New function, mostly broken out from...
- 	(choose_reload_regs): ... here.  Lose all the save_xxx nonsense.
- 	Also lose one #if 0 block.
- 
- Tue Oct 26 02:48:32 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET):  Fix target name
- 	substitution.
- 
- Tue Oct 26 01:27:32 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (BLOCK_TYPE_TAGS): Remove.
- 	(BLOCK_END_NOTE): Likewise.
- 	(BLOCK_LIVE_RANGE_FLAG): Likewise.
- 	(BLOCK_LIVE_RANGE_START): Likewise.
- 	(BLOCK_LIVE_RANGE_END): Likewise.
- 	(tree_block): Remove live_range_flag, live_range_var_flag, and
- 	type_tags.  Remove end_note, live_range_start, and live_range_end.
- 	(remember_end_note): Remove prototype.
- 	* tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
- 	* c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
- 	remember_end_note.
- 	* ggc-common.c (ggc_mark_tree_children): Don't mark
- 	BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
- 	* integrate.c (adjust_copied_decl_tree): Remove.
- 	* print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
- 	* stmt.c (last_block_end_note): Remove.
- 	(init_stmt): Don't add a GC root for it.
- 	(expand_fixup): Don't set it.
- 	(remember_end_note): Remove.
- 	(expand_end_bindings): Don't set last_block_end_note.
- 
- Tue Oct 26 00:41:54 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p): Show
- 	RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
- 	reloads.
- 
- Mon Oct 25 23:54:45 1999  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* expmed.c (extract_bit_field): Allow for the case of non-integer
- 	objects that are smaller than a word (like SFmode on a 64-bit
- 	machine).
- 
- 	* loop.c (basic_induction_var): A non-integer variable which is
- 	being set by a paradoxical subreg is probably not a biv.
- 
- 1999-10-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* prefix.c (translate_name) Check for empty prefix string.
- 
- Mon Oct 25 23:10:45 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (CPP_CROSS_NAME): New variable.
- 	(install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
- 	xcpp.
- 	(uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
- 	names of the files to be uninstalled.
- 
- Mon Oct 25 23:03:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* collect2.c (IS_DIR_SEPARATOR): Define.
- 	(prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.
- 
- 	* som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
- 	functions too.
- 
- 	* haifa-sched.c (add_dependence): Update the true dependency
- 	cache the first time we add a true dependence to the LOG_LINKS chain.
- 
- Mon Oct 25 22:27:40 1999  Jim Kingdon  <http://developer.redhat.com/>
- 
- 	* fold-const.c (fold): Fix comment.
- 
- Mon Oct 25 22:49:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dbxout.c (lastfile, cwd, dbxout_type_method_1,
- 	dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
- 	dbxout_start_new_source_file, dbxout_source_file,
- 	dbxout_source_line, dbxout_finish, dbxout_type_fields,
- 	dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
- 	Constify a char*.
- 	(dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
- 	(dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
- 	(dbxout_block): Initialize variable `blocknum'.
- 
- 	* dbxout.h (dbxout_init, dbxout_finish,
- 	dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
- 	dbxout_args, dbxout_source_line): Constify a char*.
- 
- 	* dwarfout.c (dwarf_tag_name, dwarf_attr_name,
- 	dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
- 	dwarf_fund_type_name, name_attribute, stmt_list_attribute,
- 	low_pc_attribute, high_pc_attribute, body_begin_attribute,
- 	body_end_attribute, comp_dir_attribute, sf_names_attribute,
- 	src_info_attribute, mac_info_attribute, producer_attribute,
- 	lookup_filename, generate_macinfo_entry, fundamental_type_code,
- 	dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
- 	dwarfout_undef): Constify a char*.
- 	(add_incomplete_type, retry_incomplete_types): Add prototypes.
- 
- 	* dwarfout.h (dwarfout_define, dwarfout_undef,
- 	dwarfout_start_new_source_file, dwarfout_line): Constify a char*.
- 
- 1999-10-25  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
- 	(MULTILIB_ISA_DEFAULT): New.
- 	(MULTILIB_DEFAULTS): Use it.
- 	* config/mips/mips.c (): Remove the now unnecessary definition
- 	of MIPS_ISA_DEFAULT.
- 	* config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
- 	unnecessary definition.
- 
- Mon Oct 25 22:08:35 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm.md (pic_load_addr): Add constraints to operand 1.
- 
- 1999-10-25  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/genfixes:  Provide a means for specifying -D options to
- 	AutoGen
- 
- Mon Oct 25 00:42:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* arm.c (arm_override_options): Correct initialization of
- 	arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
- 	arm_is_strong, and arm_is_6_or_7.
- 
- 	* loop.c (note_set_pseudo_multiple_uses_retval): New variable.
- 	(note_set_pseudo_multiple_uses): New function.
- 	(check_dbra_loop): Use not_set_pseudo_multiple_uses to determine
- 	if a pseudo set in the loop exit is used elsewhere.
- 
- Sun Oct 24 20:52:40 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* i386.md (mulsi3): Tweak to work with SCO OSR5 COFF assembler.
- 
- Sun Oct 24 21:02:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (*lea_0): Collapse addsi_0, addsi_lea_[123] into
- 	a single load-address pattern.
- 
- Sun Oct 24 19:33:24 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* haifa-sched.c (schedule_insns): Don't assign LUIDs differently
- 	depending on whether or not line-number notes are present.
- 
- Sun Oct 24 20:29:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c (progname, file_buf, default_include, include_file,
- 	macrodef, definition, hashval, wchar_type, user_label_prefix,
- 	directive, out_fname, if_stack, safe_write, index0, get_lintcmd,
- 	expand_to_temp_buffer, is_system_include, base_name,
- 	absolute_filename, read_name_map, open_include_file,
- 	record_control_macro, check_precompiled, check_preconditions,
- 	pcfinclude, pass_thru_directive, create_definition,
- 	check_macro_name, comp_def_part, collect_expansion,
- 	check_assertion, read_token_list, assertion_install,
- 	assertion_lookup, eval_if_expression, conditional_skip,
- 	validate_else, skip_quoted_string, quote_string, macarg1,
- 	error_from_errno, install, lookup, hashf, dump_defn_1,
- 	perror_with_name, pfatal_with_name, main, trigraph_pcp,
- 	check_white_space, rescan, handle_directive, monthnames,
- 	special_symbol, do_include, remap_include_file, write_output,
- 	arglist, do_assert, do_unassert, do_line, do_error, do_once,
- 	do_ident, do_sccs, do_xifdef, skip_if_group,
- 	output_line_directive, macroexpand, macarg, change_newlines,
- 	initialize_builtins, make_definition): Constify a char*.
- 
- 	* pcp.h (stringdef): Likewise.
- 
- Sun Oct 24 13:29:28 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* unroll.c (copy_loop_body): Examine SET_DEST of single_set
- 	not of pattern.
- 
- Sun Oct 24 13:14:20 1999  Graham  <grahams@rcp.co.uk>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c: Include ggc.h.
- 	(reg_base_value, new_reg_base_value, reg_base_value_size): Make static.
- 	(record_set): Verify enough room in reg_base_value.
- 	(init_alias_analysis): Allocate reg_base_value with xcalloc.
- 	Register it as a GC root.
- 	(end_alias_analysis): Free reg_base_value.  Remove it as a GC root.
- 	* Makefile.in (alias.o): Depend on ggc.h.
- 
- 	* unroll.c (unroll_loop): Verify the insn before a barrier
- 	is a JUMP_INSN before checking JUMP_LABEL.
- 
- Sun Oct 24 15:46:44 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips/bsd-5.h (ASM_OUTPUT_ASCII): Constify a char*.
- 	* mips/iris4.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/mips.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
- 
- Sun Oct 24 15:35:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (ctors_section, dtors_section, bss_section): Prototype.
- 
- 	* alpha/alpha-interix.h (text_section): Delete prototype.
- 	* alpha/elf.h (text_section): Likewise.
- 	* arm/linux-elf.h (text_section): Likewise.
- 	* arm/linux-telf.h (text_section): Likewise.
- 	* c4x/c4x.h (text_section): Likewise.
- 	* dsp16xx/dsp16xx.h (bss_section): Likewise.
- 	* elfos.h (text_section): Likewise.
- 	* i386/aix386ng.h (text_section): Likewise.
- 	* i386/i386-interix.h (text_section): Likewise.
- 	* i386/sco5.h (text_section): Likewise.
- 	* i386/svr3gas.h (text_section): Likewise.
- 	* nextstep.h (text_section): Likewise.
- 	* psos.h (text_section): Likewise.
- 	* ptx4.h (text_section): Likewise.
- 	* svr3.h (text_section): Likewise.
- 	* svr4.h (text_section, ctors_section, dtors_section): Likewise.
- 
- Sun Oct 24 15:20:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* final.c (peephole): Delete prototype.
- 
- 	* gcse.c (process_insert_insn, pre_edge_insert): Add prototypes.
- 	(pre_insert_copies): Remove unused variable `bb'.
- 
- 	* genrecog.c (debug_decision_0, debug_decision_list, main): Add
- 	prototypes.
- 
- 	* output.h (peephole): Add prototype.
- 
- Sun Oct 24 11:35:30 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/iris6.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Define to
- 	-O0.
- 
- Sat Oct 23 21:13:00 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.c (integrate_decl_tree): Tweak setting of DECL_CONTEXT
- 	for inlined declarations.
- 
- Fri Oct 22 18:05:43 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* arm.c (logical_binary_operator): New fucntion.
- 	* arm.h (logical_binary_operator): Declare it.
- 	(PREDICATE_CODES): Handle logical_binary_operator.
- 	* arm.md (anddi3, anddi_zesidi_di, anddi_sesdi_di): Use "#" for
- 	output constraints.  Add appropriate splitters.
- 	(anddi_notdi_di, anddi_notzesidi_di, anddi_notsesidi_di): Likewise.
- 	(iordi3, iordi_zesidi_di, iordi_sesidi_di): Likewise.
- 	(xordi3, xordi_zesidi_di, xordi_sesidi_di): Likewise.
- 
- Fri Oct 22 23:46:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* genoutput.c (struct operand_data): New elt eliminable.
- 	(output_operand_data): Write it.
- 	(scan_operands): Set it for MATCH_OPERAND, clear for other matchers.
- 	(compare_operands): Take it into account.
- 	* recog.h (struct insn_operand_data): New elt eliminable.
- 	* reload1.c (check_eliminable_occurrences, elimination_effects): New
- 	functions.
- 	(old_asm_operands_vec, new_asm_operands_vec): Delete.
- 	(eliminate_regs): Move code that detects changes to elimination
- 	target regs into new function elimination_effects.
- 	Delete one #if 0 block.
- 	Abort for USE, CLOBBER, ASM_OPERANDS and SET.
- 	(eliminate_regs_in_insn): Return immediately for USEs, CLOBBERs,
- 	ADDR_VECs, ADDR_DIFF_VECs and ASM_INPUTs.
- 	Only call eliminate_regs for real operands of the insn, not for parts
- 	of its structure or parts matched by things like match_operator.
- 	Use elimination_effects and check_eliminable_occurrences.  Use
- 	copy_insn to duplicate the pattern when not in the final pass.
- 
- Fri Oct 22 09:03:44 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* i386.md: Add missing `y' modifiers to uses of fst, fstp, fld,
- 	and fld.
- 
- 1999-10-22  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/README: document the "mach" machine matching test
- 	* fixinc/fixfixes.c: Implement the #else/#endif label fix
- 	* fixinc/fixtests.c: Implement the #else/#endif label test
- 	* fixinc/inclhack.def: utilize these tests and fixes
- 	* fixinc/inclhack.sh:  regen
- 	* fixinc/fixincl.x:  regen
- 	* fixinc/fixincl.sh:  regen
- 
- Thu Oct 21 20:37:19 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (cse.o): Depend on hashtab.h, not splay-tree.h.  Also
- 	depend on ggc.h.
- 
- Thu Oct 21 20:30:19 1999  Matthias Klose  <doko@debian.org>
- 
- 	* gcc.1: Document exit codes.
- 
- Thu Oct 21 12:49:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c: Include tm_p.h later, so everything we need is defined.
- 	* expr.c: Likewise.
- 	* function.c: Likewise.
- 
- 	* except.c: Include tm_p.h.
- 
- 	* sparc.c: Likewise.
- 	(dwarf2out_cfi_label): Don't prototype.
- 	(check_return_regs, epilogue_renumber,
- 	ultra_cmove_results_ready_p, ultra_fpmode_conflict_exists,
- 	ultra_find_type, ultra_build_types_avail, ultra_flush_pipeline,
- 	ultra_rescan_pipeline_state, set_extends, ultra_code_from_mask,
- 	ultra_schedule_insn): Add static prototype.
- 	(data_segment_operand, text_segment_operand): Call itself with the
- 	proper number of arguments.
- 	(sparc_flat_save_restore, sparc_v8plus_shift): Constify a char*.
- 
- 	* sparc.h: Move all declarations to sparc-protos.h.
- 	(SELECT_RTX_SECTION):  Pass a missing MODE argument to
- 	symbolic_operand.
- 
- 	* sparc/sysv4.h (SELECT_RTX_SECTION): Likewise.
- 
- 	* config/svr4.h (text_section, ctors_section, dtors_section): Add
- 	Prototypes.
- 	(ASM_OUTPUT_SECTION_NAME, UNIQUE_SECTION,
- 	ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
- 	ASM_OUTPUT_ASCII): Constify a char*.
- 
- 	* sparc-protos.h: New file for sparc prototypes.
- 
- Thu Oct 21 12:23:40 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* function.c (record_insns, contains): Always declare and define.
- 	(record_insns): Mark with ATTRIBUTE_UNUSED.
- 
- Thu Oct 21 13:03:49 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* config/arm/telf.h (ASM_OUTPUT_SECTION_NAME): Add %nobits option
- 	to .section when outputting a .bss section to deal with multiple
- 	.bss input sections (as happens with -fdata-sections)
- 	Also output %progbits, not @progbits so the assembler doesn't treat as
- 	a comment.
- 	* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Likewise
- 
- 	* config/arm/lib1funcs.asm (_call_via_rX): Allow compilation of
- 	thumb parts even when building with non-thumb CPUs, by forcing
- 	thumb mode.
- 
- Wed Oct 20 22:57:58 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* sparc.md (movsf_const_intreg): If splitting, length must be > 1.
- 	(movdf_const_intreg_sp64): Similarly.
- 
- 	* local-alloc.c (update_equiv_regs): Check the correct insn
- 	for pre-existing REG_EQUIV notes.
- 
- Wed Oct 20 20:41:46 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cse.c (cse_end_of_basic_block): Don't return the end of a basic
- 	block reached by a branch if we're not going to actually process
- 	this block.
- 
- Wed Oct 20 15:18:42 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* integrate.c (integrate_decl_tree): Set DECL_CONTEXT to 0 if this is
- 	a local extern function declaration.
- 
- Wed Oct 20 13:56:01 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (ix86_expand_prologue): Properly wrap USE around
- 	reg for CALL_INSN_FUNCTION_USAGE.
- 
- Thu Oct 14 18:51:37 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.md (movdf_internal1a): Allow floating-point
- 	move between GP_REGs.
- 
- Wed Oct 20 15:36:11 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Take account of
- 	the mode size when finding out if an offset is legal.
- 
- Wed Oct 20 06:26:58 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (PROP_*): Move constants from ...
- 	* flow.c: ... here.
- 	(compute_bb_for_insn): Free the array before reallocating.
- 	(update_life_info): New arg PROP_FLAGS; pass on to propagate_block.
- 	(allocate_reg_life_data): Reset all reg variables collected by
- 	propagate_block.
- 	(get_block_head_tail): Don't convert from bb to block.
- 	(get_bb_head_tail): New.  Update all callers of get_block_head_tail.
- 	(find_insn_reg_weight): Take block not bb.
- 	(schedule_block): Don't set block num for moved insns.
- 	(schedule_region): Don't update_life_info or find_insn_reg_weight.
- 	(schedule_insns): Do it here instead.
- 	* combine.c (combine_instructions): Invoke compute_bb_for_insn
- 	before update_life_info.
- 	* recog.c (split_all_insns, peephole2_optimize): Update for
- 	new arg to update_life_info.
- 	* rtlanal.c (remove_note): Cope with NULL note.
- 	* toplev.c (rest_of_compilation): Don't invoke recompute_reg_usage
- 	if we did sched1.
- 
- Wed Oct 20 10:46:41 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* jump.c (jump_optimize_1): More accurately detect casesi insns.
- 
- 	* flow.c (merge_blocks_move_predecessor_nojumps): Re-order the basic
- 	block records so that merge_blocks_nomove will clean up correctly.
- 	(split_edge): Handle casesi insns.
- 
- 	* gcc-page.c: Try MAP_ANON if we don't have MAP_ANONYMOUS.
- 
- Tue Oct 19 23:43:50 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (call, call_value): Do not emit a blockage after restoring
- 	the PIC register.
- 
- Tue Oct 19 17:22:39 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-typeck.c (c_expand_asm_operands): Fix typo.
- 
- Tue Oct 19 18:42:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* arm.c (fpu_rhs_operand): Verify modes.
- 	(fpu_add_operand): Likewise.
- 	(di_operand): Likewise.
- 	(soft_df_operand): Likewise.
- 
- Tue Oct 19 15:26:11 1999  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (arm_return_in_memory): APCS rules state that the elements
- 	of a structure returned in a register must be 'integer-like'.
- 
- 1999-10-19  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/Makefile.in: Change the generation rules to run `genfixes'
- 	in the source tree when the generated targets are out of date
- 	* fixinc/genfixes: Alter it to run individual fixes for make.
- 	* fixinc/README: rewrite
- 	* fixinc/inclhack.def: moved initial comments to README
- 
- Tue Oct 19 14:01:34 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (main): Do not generate an error message if an
- 	unrecognized command line switch is recognizable by another
- 	language.  If extra_warnings are enabled, then generate a
- 	warning message instead.
- 
- Tue Oct 19 11:41:12 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-pragma.h (PRAGMA_INSERT_ATTRIBUTES): Delete macro.
- 	(insert_pack_attributes): Delete prototype.
- 
- 	* c-pragma.c (default_alignment): New static variable.
- 	(push_alignment): Initialize to current effective alignment.
- 	(pop_alignment): Use to set new alignment.
- 	(insert_pack_attributes): Delete function.
- 	(handle_pragma_token): Set default_alignment as well each time
- 	a #pragma pack(<n>) is encountered.
- 
- Tue Oct 19 02:03:00 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reg-stack.c (stack_result): Aggregates are not returned in
- 	stack registers.
- 
- Tue Oct 19 01:26:48 1999  Alasdair Baird <alasdair@wildcat.demon.co.uk>
- 
- 	* fold-const.c (fold): Fix thinko in x+(-0) -> x transformation.
- 
- Mon Oct 18 15:19:41 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (set_block_num): Declare.
- 	* flow.c (update_life_info): Don't call compute_bb_for_insn
- 	or free_basic_block_vars.
- 	* haifa-sched.c (remove_dependence): Conditionalize on HAVE_cc0.
- 	(insn_orig_block): Remove.
- 	(INSN_BLOCK): Remove.  Update all callers to use BLOCK_NUM.
- 	(schedule_block): Keep BLOCK_NUM up-to-date.
- 	(schedule_insns): Use compute_bb_for_insn.
- 	* recog.c (split_all_insns): Likewise.
- 	(peephole2_optimize): Likewise.
- 
- Mon Oct 18 18:50:51 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.h (INITIAL_FRAME_POINTER_OFFSET): Add one word
- 	if the pic register is used.
- 
- Mon Oct 18 02:38:46 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-decl.c (pushdecl): Use TYPE_CONTEXT rather than TREE_PERMANENT.
- 	(finish_decl): Duplicate test for TREE_ASM_WRITTEN in else branch of
- 	if that tests TREE_PERMANENT.
- 
- Mon Oct 18 01:41:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (invalidate_for_call): Do not remove memory references from
- 	the table here.  It's handled elsewhere.
- 
- 	* haifa-sched.c (add_dependence): Protect references to the
- 	true dependency cache with #ifdef INSN_SCHEDULING.
- 	(remove_dependence): Similarly.
- 
- 	* mn10200.md (outline_epilogue_jump): Embed a (return) to indicate
- 	to the cfg code that this is a return instruction.
- 	* mn10300.md (return_internal): Similarly.
- 
- 	* combine.c (get_last_value): If the last set of a register
- 	is after subst_low_cuid, then we can not use it to determine
- 	the register's last value.
- 
- Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in: Back out previous change.
- 
- Sun Oct 17 15:22:50 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (move_operand): Reject (lo_sum (reg) (unspec ...)).
- 
- 	* haifa-sched.c (add_dependence): Only check/update the cache
- 	if it exists.
- 	(remove_dependence): Likewise.
- 	(schedule_insns): Only create the true_dependency_cache if the
- 	average number of instructions in a basic block is very large.
- 
- Sun Oct 17 11:02:52 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (ggc-common.o): Depend on genrtl.h.
- 	(ggc-simple.o): Likewise.
- 	(ggc-page.o): Likewise.
- 
- Sun Oct 17 02:09:50 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* basic-block.h (pre_edge_lcm, pre_edge_rev_lcm, compute_available):
- 	Prototype for exported functions.
- 	(pre_lcm, pre_rev_lcm): Remove prototypes.
- 	* gcse.c (compute_ae_kill): Add ae_gen and ae_kill as parameters.
- 	(compute_available): Move to lcm.c, and change parameter order.
- 	(one_classic_gcse_pass): Call compute_ae_kill with parameters.
- 	(pre_insert, s_preds, s_succs, num_preds, num_succs): Delete.
- 	(gcse_main): No longer call compute_preds_succs.  Rebuild the
- 	set table after reach pre pass.
- 	(pre_insert_map, pre_delete_map, edge_list): New.
- 	(alloc_pre_mem): Allocate edge vectors.
- 	(free_pre_mem): Delete edge vectors.
- 	(compute_pre_data): Call new edge based lcm routines.
- 	(process_insert_insn): New function.
- 	(insert_insn_end_bb): Use it.
- 	(pre_edge_insert): New function.
- 	(pre_insert_copy_insn): Formatting fixes.  Update BLOCK_END as
- 	needed.
- 	(pre_insert_copies): Revamp using new edge based lcm outputs.
- 	(pre_delete): Likewise.
- 	(one_pre_gcse_pass): Insert & remove fake edges to the exit
- 	block.
- 	(compute_code_hoist_vbeinout): New new edge based routines.
- 	* lcm.c: Remove all the old LCM functions.  Replace with new ones
- 	that work with the new cfg datastructures and work with edges
- 	instead of blocks.
- 
- Sun Oct 17 00:44:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload.h (struct reload): Add new fields "mode" and "nregs".
- 	* reload1.c: Change all occurrences of reload_mode and reload_nregs
- 	to reference the "mode" and "nregs" field within struct reload.
- 
- Sat Oct 16 21:50:28 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (true_dependency_cache): New.
- 	(add_dependence): Use the true dependency cache to avoid expensive
- 	walks down the LOG_LINKS dependency list.  Add entries to the
- 	cache as necessary.
- 	(remove_dependence): Remove entries from the true dependency cache
- 	as needed.
- 	(schedule_insns): Allocate and initialize and free the true
- 	dependency cache.
- 
- 	* haifa-sched.c (schedule_insns): Do not remove inter-block
- 	dependencies anymore.
- 
- Sat Oct 16 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386/t-cygwin (winnt.o): Depend on RTL_H and TREE_H.
- 	* i386/t-winnt: Likewise.
- 
- Sat Oct 16 11:11:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-page.c (init_ggc): Work around SunOS unaligned mmap bug.
- 
- 1999-10-16  Manfred Hollstein  <mhollstein@cygnus.com>
- 
- 	* Makefile.in (LANGUAGES): Omit "proto".
- 	(clean): Remove stale comment about removing unprotoize.c.
- 
- Sat Oct 16 11:29:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* protoize.c (safe_read, safe_write): Avoid the gcc extension of
- 	using arithmetic on void pointers.
- 
- Sat Oct 16 02:48:22 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (compute_block_forward_dependencies): Only check
- 	for notes, deleted insns and duplicates if ENABLE_CHECKING is defined.
- 
- Sat Oct 16 00:07:01 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcse.c (hash_expr_1): Add in MEM_ALIAS_SET.
- 	(expr_equiv_p): Reject memories with different alias sets.
- 
- Fri Oct 15 15:17:29 1999  Greg McGary  <gkm@gnu.org>
- 
- 	* flags.h (flag_bounds_check, flag_bounded_pointers): New extern decls.
- 	* toplev.c (flag_bounds_check, flag_bounded_pointers): New flags.
- 	(f_options): Add "bounded-pointers" and "bounds-check" entries.
- 	* c-lang.c (lang_init_options): Set flag_bounds_check as "unspecified".
- 	(lang_init): Set default for flag_bounds_check if still "unspecified".
- 
- Sat Oct 16 13:42:29 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (HF mode patterns):  Add missing modes.
- 
- Sat Oct 16 13:37:46 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (movstrqi_small): Utilize parallel move
- 	instructions.
- 
- Sat Oct 16 13:26:47 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*db_noclobber,
- 	*decrement_and_branch_until_zero_noclobber): New patterns and
- 	associated splitters.
- 
- Sat Oct 16 13:13:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (parallel instruction patterns): Rework
- 	constraints to keep reload happy.
- 
- Sat Oct 16 13:03:16 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*absqi2_noclobber, *negqi2_noclobber,
- 	*one_cmplqi2_noclobber, *subqi3_noclobber, *andqi3_255_noclobber,
- 	*andqi3_65535_noclobber, *andnqi3_noclobber, *xorqi3_noclobber):
- 	Add new patterns and associated post-reload splitters.
- 
- Sat Oct 16 12:42:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_emit_libcall): Use ggc_alloc_string.
- 
- Sat Oct 16 12:34:44 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_rptb_insert): Emit rpts_top pattern
- 	if appropriate.
- 	* config/c4x/c4x.md (rpts_top): New pattern and splitter.
- 
- Sat Oct 16 12:26:30 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (src_operand):  Check SYMBOL_REF and LABEL_REF
- 	memory mode.
- 
- Fri Oct 15 17:02:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (move_operand): Rely on memory_address_p to determine the
- 	validity of non-indexed memory addresses.
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow LO_SUM with a symbolic
- 	operand in DFmode and SFmode when generating PA2.0 code.
- 
- Fri Oct 15 14:25:19 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): Limit last 'u' change to LABEL_REF.
- 
- Fri Oct 15 13:48:45 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* mips.c (function_prologue): Fix argument types.
- 	* mips.md (casesi): Use emit_jump_insn for casesi_internal.
- 	(casesi_internal): Write to the scratch register.
- 
- 1999-10-15 11:16 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cppexp.c (cpp_parse_escape): Make static.  Change second arg
- 	to U_CHAR **.
- 	(parse_charconst): Delete unnecessary cast when calling
- 	cpp_parse_escape.
- 	(cpplib.h): Kill prototype of cpp_parse_escape.
- 
- Fri Oct 15 11:02:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	Based on patch from Michael Gschwind <mikeg@watson.ibm.com>:
- 	* unroll.c (unroll_loop): Cast return value of alloca.
- 	* i370/i370.c: Include function.h and toplev.h.
- 	(i370_label_scan): Remove c++ commented abort.
- 	* i370/i370.h (HANDLE_PRAGMA): Takes three arguments.
- 	(ASM_OUTPUT_LABELREF): Fix TOUPPER/else broken 16 Sept.
- 	* i370/xm-i370.h (HOST_BITS_PER_LONGLONG): Define.
- 	* i370/xm-mvs.h, i370/xm-oe.h: Likewise.
- 
- Fri Oct 15 03:01:01 1999  Loren Rittle  <ljrittle@acm.org>
- 
- 	* config/t-freebsd: Do not override USER_H.
- 	* ginclude/stddef.h: Generalize check for _MACHINE_ANSI_H_.
- 
- Fri Oct 15 02:37:28 1999  Alastair J. Houghton <ajh8@doc.ic.ac.uk>
- 			  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-parse.in (component_decl): Support anonymous struct/union.
- 	(%expect): Update.
- 	* c-parse.y: Regenerate.
- 	* c-parse.c: Likewise.
- 	* objc/objc-parse.y: Likewise.
- 	* objc/objc-parse.c: Likewise.
- 	* c-decl.c (finish_struct): Don't sort the fields.
- 	(field_decl_cmp): Delete unused function.
- 
- Fri Oct 15 01:20:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.md (movsf_const_intreg): Revert last constraint change.
- 	(movdf_const_intreg_sp32): Likewise.
- 
- Fri Oct 15 01:47:51 1999  Vladimir Makarov  <vmakarov@loony.cygnus.com>
- 
- 	* cse.c: Include hashtab.h instead of splay-tree.h
- 	(struct cse_reg_info): No longer use variant union.  Add new
- 	field "regno".  All references changed to avoid union.
- 	(cse_reg_info_used_list, cse_reg_info_used_list_end): New variables.
- 	(free_cse_reg_info): Remove.
- 	(hash_cse_reg_info, cse_reg_info_equal_p): New functions.
- 	(get_cse_reg_info): Revamp to use expandable hash tables instead
- 	of splay trees.  Initialize new fields in cse_reg_info structure.
- 	(new_basic_block): Similarly.
- 
- Thu Oct 14 23:51:56 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (message_with_line): Prototype.
- 	(validate_pattern): Pass along the set for the dest, not a flag.
- 	Fix non-lvalue message.  Don't warn for VOIDmode SET_DEST of CALL.
- 	Check for PC/CC0 as sources.
- 	(nodes_identical): Check for children position match before
- 	allowing the combination.
- 
- 	* rtl.c (read_rtx): Track line number across \\\n.
- 
- Thu Oct 14 23:50:25 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* mips.h (SPECIAL_MODE_PREDICATES): New.
- 	* mips.md (*) Use nonimmediate_operand not general_operand for outputs.
- 	(movdi+1, movsi+1): Add output reload constraint.
- 	(casesi_internal): Likewise.  Fix commentary.
- 	(return_internal): Use pmode_register_operand.
- 
- Thu Oct 14 23:19:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* 1750a.md (movstrqi): Add missing output reload constraint.
- 	(call_value): Likewise.
- 	* a29k.md (cpxxx patterns): Add missing match_operator mode.
- 	(jmpfdec): Add missing inout reload constraint.
- 	* elxsi.md (addsi patterns): Add missing output reload constraint.
- 	(move from sp): Use @ alternates.
- 	(call_value): No constraint on output.
- 	* fr30.md (movsi_pop): Add missing output reload constraint.
- 	(movsf_constant_store): Likewise.
- 	(splits): Remove constraints.
- 	(subsi3): Add missing mode.
- 	* i370.md (cmpstrsi+1): Add missing output reload constraint.
- 	(call_value): Likewise.
- 	* i960.md (cmpinc/cmpdec patterns): Add inout reload constraints.
- 	* m32r.h (PREDICATE_CODES): Add seth_add3_operand.
- 	* m32r.md (movsicc_internal): Add output reload constraint.
- 	(movstrsi_internal): Add inout reload constraints.
- 	* m88k.h (reg_names): Don't declare.
- 	(SPECIAL_MODE_PREDICATES): New.
- 	* m88k.md (*): Use register_operand not reg_or_0_operand
- 	on destinations.
- 	* mn10200.h (PREDICATE_CODES): New.
- 	* ns32k.md (ffs pattern): Add output reload constraint.
- 	* pdp11.md (sob pattern): Add inout reload constraint.
- 	* sh.md (splits): Remove constraints.
- 	(indirect_jump_scratch, fpu_switch): Add output reload constraint.
- 	* v850.md (pattern_is_ok_for_epilogue): Likewise.
- 	* vax.md (jgequ pattern): Add inout reload constraint.
- 
- Fri Oct 15 00:05:00 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (djgpp): Revert previous patch.
- 	* configure: Rebuit.
- 	* config/i386/djgpp.h: Revert previous patch.
- 
- Fri Oct 15 00:00:24 1999  Loren J. Rittle <ljrittle@acm.org>
- 
- 	* fixinc/inclhack.def: Restore patch lost during last merge of
- 	"no_bogosity" branch.
- 	* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
- 
- Thu Oct 14 23:57:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* fixincludes: Add a HPUX 11 fix for inttypes.h.
- 	* fixinc/inclhack.def: Same.
- 	* fixinc/inclhack.sh, fixinc/fixincl.sh, fixinc/fixincl.x: Regenerate.
- 
- Thu Oct 14 22:51:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (GO_IF_LEGITIMATE_SIMPLE_ADDRESS): Accept ADDRESSOF
- 	as the base of a PLUS.
- 
- Fri Oct 15 18:36:07 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md:  Define mode for remaining unspec operators.
- 	* config/c4x/c4x.c (dst_operand):  Use nonimmediate_operand.
- 
- Thu Oct 14 22:14:23 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* pa.md (post_stw+1): Use pmode_register_operand.
- 	(dcacheflush, icacheflush): Likewise.
- 
- 	* i386.md (movstricthi_1): Allow r/r.
- 
- Thu Oct 14 19:44:08 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* fold-const.c (fold): Convert (or (not arg0) (not arg1))
- 	to (not (and (arg0) (arg1))). Similary for and.
- 
- 	* fold-const.c (fold): Move bit_rotate code to the EXPR_PLUS case,
- 	fallthrough to associate code.
- 	Convert XOR to OR in code like (a&c1)^(a&c2) where c1 and c2 don't have
- 	bits in common.
- 
- 	* combine.c (simplify_logical): Convert XOR to IOR if operands have
- 	no bits in common; remove XOR to ROTATE conversion.
- 
- Fri Oct 15 17:40:11 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (c4x_va_start, c4x_va_arg): Declare.
- 
- Fri Oct 15 17:27:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (dst_operand): New.
- 	(PREDICATE_CODES): Update.
- 	* config/c4x/c4x.h (dst_operand): Declare it.
- 	* config/c4x/c4x.md:  Define mode for each unspec usage.
- 	(move patterns):  Use dst_operand predicate instead of src_operand.
- 	(movqi_update, movqf_update): Delete.
- 
- Thu Oct 14 18:48:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.c (pmode_register_operand): New.
- 	* recog.h: Declare it.
- 	* genrecog.c (pred_codes): Likewise.
- 	(special_mode_pred_table): Likewise.
- 	(validate_pattern): Don't warn no mode for address_operand.
- 
- 	* print-rtl.c (print_rtx) [LABEL_REF]: Only do full subexpression
- 	if the operand is not insn-like.
- 
- Thu Oct 14 19:38:42 1999  Jeffrey A Law  (law@cygnus.com)
- 			  Sylvian Pion <Sylvain.Pion@sophia.inria.fr>
- 
- 	* fold-const.c (fold): Handle more simplifications allowed by IEEE.
- 
- Thu Oct 14 17:30:14 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.md (*): Use {nonimmediate,register}_operand as appropriate
- 	instead of general_operand in a SET_DEST.  Use const_double_operand
- 	instead of an explicit test against CONST_DOUBLE.
- 	(movsf_const_lo): Add missing register mode.
- 	(goto_handler_and_restore): Add auxiliary test for Pmode.
- 	(flush): Adjust to use address_operand.
- 	(return_sf_no_fpu): Add missing output constraint.
- 
- Thu Oct 14 17:21:26 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
- 	for call return value.
- 	(call_value_indirect_aix64, call_value_indirect_nt): Likewise.
- 
- Thu Oct 14 13:54:25 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (main): Only warn about options for other languages.
- 	* collect2.c (main): Pass -w to sub-gcc.
- 
- Thu Oct 14 16:27:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_block): Add call-clobbered registers to
- 	significant too.
- 
- 	* flow.c (propagate_block): Use free_EXPR_LIST_list instead of
- 	zapping mem_set_list.
- 	(invalidate_mems_from_autoinc): Use free_EXPR_LIST_node.
- 	(mark_set_1, mark_used_regs): Likewise.
- 
- Thu Oct 14 10:51:49 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m68k.md (zero_extendsidi2): Add missing output reload constraint.
- 
- Wed Oct 13 00:09:18 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* invoke.texi: Label -Wbad-function-cast, -Wmissing-prototypes,
- 	-Wnested-externs, -Wstrict-prototypes, and -Wtraditional as C only
- 	options. Also add a new item "C-only Warning Options" to the
- 	option summary.
- 
- 1999-10-14  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
- 	from multiple calls.
- 
- Thu Oct 14 04:54:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (call value patterns): Move to the end of the file.
- 	(prologue_set_got, prologue_get_pc): Use register_operand for op 0.
- 
- 1999-10-14 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* configure.in (djgpp configuration): Define extra_objects..
- 	* configure: Rebuilt.
- 	* config/i386/djgpp.h (CTORS_SECTION_ASM_OP): Define.
- 	(DTORS_SECTION_ASM_OP): Define.
- 	(INIT_SECTION_ASM_OP): Define.
- 	(FINI_SECTION_ASM_OP): Define.
- 	(DATA_SECTION_ASM_OP): Define.
- 	(TEXT_SECTION_ASM_OP): Define.
- 	(EH_FRAME_SECTION_ASM_OP): Define.
- 	(LINK_COMMAND_SPEC): Remove -Tdjgpp.djl.
- 	(STARTFILE_SPEC): Add crtbegin.o.
- 	(ENDFILE_SPEC): Define and add crtend.o. Move argument -Tdjgpp.djl
- 	to here from LINK_COMMAND_SPEC.
- 	(DO_GLOBAL_CTORS_BODY): Define.
- 	(CRTSTUFF_USE_FINI_SECTION): Define
- 	(HAS_INIT_SECTION): Delete.
- 
- Thu Oct 14 05:08:14 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (all.cross): Depend on xcpp$(exeext).
- 
- Thu Oct 14 04:00:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* pa.h (PREDICATE_CODES): New.
- 
- 	* genrecog.c (validate_pattern): Condense the destination
- 	non-lvalue message.
- 
- Thu Oct 14 03:23:08 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (call-1): Supply missing mode for operator.
- 	(*): Add missing output reload constraints.  Remove constraints
- 	from define_splits.
- 
- 	* i386.h (SPECIAL_MODE_PREDICATES): New.
- 	* i386.md (movstricthi_1): Use nonimmediate_operand for op 0.
- 	(movqi_1, movdi_1, movdi_2, some splits): Likewise.
- 	(addsi_lea_3): Add missing mode for op 3.
- 	(prologue_set_got, prologue_get_pc): Add missing modes.
- 	(*) Add missing output reload constraints.
- 
- Thu Oct 14 03:59:57 1999  Stephane Carrez  <stcarrez@worldnet.fr>
- 
- 	* stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
- 	check for member bit-size overflow and use var_size if it occurs.
- 	(layout_record): Use bitsize_int() to define the type size in bits.
- 	Likewise for computation and assignment to DECL_FIELD_BITPOS.
- 	(layout_decl): Likewise when assigning to DECL_SIZE.
- 
- Thu Oct 14 02:57:05 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (validate_pattern): Typo last change.  Verify
- 	that output operands have output reloads.
- 
- Thu Oct 14 01:49:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (special_mode_pred_table): New.
- 	(NUM_SPECIAL_MODE_PREDS): New.
- 	(find_operand): New.
- 	(validate_pattern): New argument `insn'.  Warn for assignment to
- 	any predicate accepting non-lvalues.  Conditionally warn for
- 	match_operand without a mode.  Try much harder to match source
- 	and destination modes on a set.
- 	* tm.texi (SPECIAL_MODE_PREDICATES): Document.
- 
- Thu Oct 14 02:54:13 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (fold): Detect rotates built from BIT_XOR_EXPRs.
- 
- Thu Oct 14 02:18:19 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* combine.c (simplify_logical): Recognize xor pattern that encodes
- 	rotation.
- 
- Wed Oct 13 23:23:45 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.c (expand_block_move): Use INTVAL, not XINT to access
- 	alignment.
- 
- Wed Oct 13 21:47:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-page.c (MAP_FAILED): Provide default.
- 
- Wed Oct 13 21:41:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (symbolic_operand): Verify mode; don't accept CONST_DOUBLE.
- 	* sparc.h (PREDICATE_CODES): Update.
- 
- Wed Oct 13 21:18:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (some_ni_operand): New.
- 	* alpha-protos.h: Declare it.
- 	* alpha.h (PREDICATE_CODES): Update.
- 	* alpha.md (sXaddq reload insns): Use some_ni_operand
- 	for SET_DEST instead of some_operand.
- 
- Wed Oct 13 21:04:45 1999  Richard Henderson  <rth@cygnus.com>
- 			  Jim Wilson  <wilson@cygnus.com>
- 
- 	* genrecog.c (maybe_both_true_2): Don't compare modes of
- 	two DT_pred tests.
- 	(process_tree): Elide peephole2_insns.  Invoke simplify_tests
- 	after find_afterward.
- 	(debug_decision_1): Dump next and afterward codes.
- 
- Wed Oct 13 20:35:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.c (dump_and_abort): Remove.
- 	(fatal_with_file_and_line): New.
- 	(fatal_expected_char): New.
- 	(read_rtx_lineno, read_rtx_filename): New.
- 	(read_skip_spaces): Track line number.
- 	(read_name): Use fatal_with_file_and_line.
- 	(read_rtx): Use fatal_expected_char.  Track line number.
- 	* rtl.h (read_rtx_filename, read_rtx_lineno): Declare.
- 
- 	* print-rtl.c (print_rtx): Don't special case LABEL_REF argument
- 	if it isn't a CODE_LABEL.
- 
- 	* genattr.c (main): Set read_rtx_filename.
- 	* genattrtab.c (main): Likewise.
- 	* gencodes.c (main): Likewise.
- 	* genconfig.c (main): Likewise.
- 	* genemit.c (main): Likewise.
- 	* genextract.c (main): Likewise.
- 	* genflags.c (main): Likewise.
- 	* genopinit.c (main): Likewise.
- 	* genoutput.c (main): Likewise.
- 	* genpeep.c (main): Likewise.
- 
- 	* genrecog.c (decision_test.u.insn): Add `lineno'.
- 	(pattern_lineno, error_count): New variables.
- 	(message_with_line): New.
- 	(add_to_sequence): Break out checking code to ...
- 	(validate_pattern): ... here.  Detect SET_DEST matching CONST_INT.
- 	(merge_insn): Use message_with_line.
- 	(make_insn_sequence): Use validate_pattern.  Record insn lineno.
- 	(main): Set read_rtx_filename, pattern_lineno.  Exit early on error.
- 
- Wed Oct 13 22:01:35 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* expr.c (store_constructor): Clear union if constructor is empty.
- 
- Wed Oct 13 15:19:04 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/rs6000/sysv4.h (CC1_SPEC): Fix errors from Jan 19 change.
- 	Add !endian checks.  Change %{...} to %(...).
- 
- Wed Oct 13 13:30:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (*addsi3_cc): Renamed from addcsi3.
- 	(*addsi3_carry): Renamed from addxsi3.
- 	(*subsi3_cc): Renamed from subcsi3.
- 	(*subsi3_carry): Renamed from subxsi3.
- 	(*xorqi_cc_1): Renamed from xorcqi_1.
- 	(xorqi_cc_ext_1): Renamed from xorcqi_ext_1.
- 	* i386.c (ix86_expand_fp_compare): Update for xorqi_cc_ext_1.
- 
- Wed Oct 13 13:10:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (ggc-common.o): Depend on RTL_H not RTL_BASE_H.
- 	(ggc-simple.o, ggc-page.o, ggc-none.o, ggc-callbacks.o): Likewise.
- 
- 1999-10-13  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* regmove.c (optimize_reg_copy_3): Make sure P is non-nil as we
- 	climb up the chain of insns.
- 
- Wed Oct 13 10:20:58 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (write_subroutine): Careful for null trees.
- 	(process_tree): Don't elide empty functions.
- 
- Wed Oct 13 10:07:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (genrtl.o): Depend on ggc.h.
- 	* configure.in (valloc): Probe for it.
- 	(with-gc): Use ggc-page if valloc present.
- 	* ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_if_gcable.
- 	(ggc_mark_rtvec_children): New from corpse of ggc_mark_rtvec.
- 	(ggc_alloc_string): Moved from ggc-page.c.
- 	* ggc-none.c (ggc_alloc_obj): New.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec): Remove.
- 	* ggc-page.c (sys/mman.h): Only include if HAVE_MMAP.
- 	(struct globals): Likewise for dev_zero_fd.
- 	(init_ggc): Likewise for it's initialization.
- 	(ggc_allocated_p): Move careful dereference from ...
- 	(ggc_lookup_page_table): ... here.  Delete.
- 	(lookup_page_table_entry): Don't use ggc_lookup_page_table.
- 	(alloc_anon): Use valloc if no mmap.
- 	(release_pages): Use free if using valloc.
- 	(ggc_alloc_obj): Renamed from alloc_obj.
- 	(ggc_set_mark): Renamed from mark_obj.
- 	(ggc_mark_if_gcable): Renamed from ggc_mark_string_if_gcable.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec): Delete.
- 	(ggc_alloc_tree, ggc_alloc_string, ggc_alloc): Delete.
- 	(ggc_set_mark_rtx, ggc_set_mark_rtvec): Delete.
- 	(ggc_set_mark_tree, ggc_mark_string, ggc_mark): Delete.
- 	(ggc_collect): Use fp printing instead of our own rounding.
- 	* ggc-simple.c (IS_MARKED, IGNORE_MARK): Delete.
- 	(GGC_STRING_MAGIC, GGC_STRING_MAGIC_MARK): Delete.
- 	(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): Delete.
- 	(struct ggc_rtx, struct ggc_rtvec, struct ggc_tree): Delete.
- 	(struct ggc_string, struct ggc_any): Delete.
- 	(offsetof): Provide default definition.
- 	(GGC_BALANCE, GGC_ALWAYS_COLLECT, GGC_ALWAYS_VERIFY): New.
- 	(PTR_KEY): New.
- 	(struct ggc_mem): New, from corpse of ggc_any.
- 	(struct ggc_status): Delete.
- 	(ggc_chain, ggc_allocated_strings, ggc_strings_used): Delete.
- 	(n_rtxs_collected, n_vecs_collected, n_trees_collected): Delete.
- 	(n_strings_collected, n_anys_collected): Delete.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Delete.
- 	(ggc_alloc_string, ggc_alloc): Delete.
- 	(ggc_free_rtx, ggc_free_rtvec, ggc_free_tree): Delete.
- 	(ggc_free_string, ggc_free_any): Delete.
- 	(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Delete.
- 	(ggc_compare_addresses, ggc_mark_string): Delete.
- 	(ggc_mark_string_if_gcable, ggc_mark): Delete.
- 	(search_data): Delete.
- 	(struct globals): New.
- 	(GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED): New.
- 	(tree_insert, tree_lookup): New.
- 	(ggc_alloc_obj, ggc_set_mark, ggc_mark_if_gcable): New.
- 	(clear_marks, sweep_objs): New.
- 	(ggc_collect): Gut.  Use clear_marks, sweep_objs.
- 	(init_ggc): Set allocated_last_gc.
- 	(ggc_push_context): Gut.  Use G.context.
- 	(ggc_pop_context): Likewise.
- 	(ggc_pop_context_1): New.
- 	(debug_ggc_tree): New.
- 	(debug_ggc_balance, tally_leaves): New.
- 	* ggc.h (ggc_mark_rtvec, ggc_mark_string, ggc_mark): Remove decl.
- 	(ggc_mark_string_if_gcable): Remove decl.
- 	(ggc_mark_rtx, ggc_mark_tree): Use ggc_set_mark.
- 	(ggc_mark_rtvec_children): New.
- 	(ggc_mark_rtvec, ggc_mark_string, ggc_mark): New.
- 	(ggc_mark_if_gcable): New decl.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec): Remove decl.
- 	(ggc_alloc_tree, ggc_alloc): Likewise.
- 	(ggc_set_mark_rtx, ggc_set_mark_rtvec, ggc_set_mark_tree): Likewise.
- 	(ggc_alloc_obj): New decl.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec): New macros.
- 	(ggc_alloc_tree, ggc_alloc): Likewise.
- 	(ggc_set_mark): New decl.
- 	* rtl.h (struct rtx_def): Remove gc_mark.
- 	(struct rtvec_def): Likewise.
- 	* tree.h (struct tree_common): Likewise.
- 
- Wed Oct 13 01:44:29 1999  Carol LePage  <carolo@hal.com>
- 
- 	* configure.in (sparc-hal-solaris2*): Fix xm_file, xm_defines,
- 	float_format and thread_file definitions.
- 	* configure: Rebuilt.
- 
- Wed Oct 13 09:25:03 1999  Niels Möller <nisse@lysator.liu.se>
- 
- 	* extend.texi (Function Names): Document types of function names.
- 
- Wed Oct 13 00:45:04 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
- 	an earlyclobbered output conflict with RELOAD_INPUT reloads.
- 
- Tue Oct 12 23:28:28 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (BOOL_TYPE_SIZE): Don't use INT_TYPE_SIZE / CHAR_TYPE_SIZE.
- 
- Tue Oct 12 23:19:32 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (REGISTER_MOVE_COST): Change PR_REG to PR_REGS.
- 
- Tue Oct 12 17:09:38 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (main): Do prelimnary link on AIX if rflag.
- 
- Tue Oct 12 09:45:19 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* config/rs6000/eabi-ctors.c (__do_global_ctors): Run through
- 	__CTOR_LIST__ in opposite order, which is the correct order for sorted
- 	constructors.
- 	(__do_global_dtors): similarly for __DTOR_LIST__.
- 
- Fri Oct  8 19:46:03 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 				Diego Novillo <dnovillo@cygnus.com>
- 
- 	* config/sh/sh.h (REGISTER_MOVE_COST): Handle moves from T_REGS to
- 	FPUL_REGS.
- 
- Tue Oct 12 07:38:41 1999  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixincl/*: Merged "no_bogosity" branch
- 	* fixincl/fixlib.h: protect against doubly defining t_bool
- 	* fixincl/server.h: protect against doubly defining t_bool
- 
- Mon Oct 11 20:18:41 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* genoutput.c: Include toplev.h.
- 
- Mon Oct 11 18:56:14 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/sparc/liteelf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
- 	Undef.
- 	* configure.in (sparclite-*-elf, sparc86x-*-elf): Don't use libgloss.h.
- 	* configure: Regenerate.
- 
- Mon Oct 11 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* gcse.c (delete_null_pointer_checks): Returns void.
- 
- Mon Oct 11 20:31:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* rtl.c (copy_rtx): Don't use accessor macros to copy fields.
- 	* emit-rtl.c (copy_insn_1): Likewise.
- 
- Mon Oct 11 13:29:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/mips.c (mips_build_va_list): Correct
- 	TREE_CHAIN setting when hard-float.
- 	(mips_va_start): Use corrected setting.
- 	(mips_va_arg): Likewise.  Also pass a tree to build of
- 	POSTINCREMENT_EXPR rather than a naked 'int'.
- 
- Sun Oct 10 18:27:27 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc.h (ggc_push_context): Fix comment.
- 	(ggc_pop_context): Likewise.
- 	(mark_string_if_gcable): Likewise.
- 	* ggc-common.c (ggc_mark_rtx_children): Use
- 	ggc_mark_string_if_gcable.
- 	* ggc-page.c (ggc_lookup_page_table): New function.
- 	(ggc_allocated_p): Likewise.
- 	(mark_obj): Fix formatting.
- 	(ggc_mark_string_if_gcable): New function.
- 	* ggc-simple.c (ggc_allocated_strings): New variable.
- 	(ggc_strings_used): Likewise.
- 	(ggc_compare_addresses): New function.
- 	(ggc_pop_context): Pop the `any' memory too.
- 	(ggc_mark_string_if_gcable): New function.
- 	(ggc_collect): Initialize and tear down ggc_allocated_strings.
- 
- Sun Oct 10 20:05:21 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movstrsi_?reg): Use preferred rD/rS = r5 form.
- 	(scc patterns): Disable most SImode variants if TARGET_POWERPC64.
- 	* rs6000.c (expand_block_move): Match movstrsi_?reg register
- 	changes.
- 
- Sun Oct 10 16:37:01 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_reg_n_calls_crossed): Delete.
- 	(sched_reg_live_length, sched_reg_basic_block): Delete.
- 	(current_block_num, bb_live_regs, old_live_regs): Delete.
- 	(dead_notes, struct sometimes): Delete.
- 	(sched_note_set, birthing_insn_p): Delete.
- 	(adjust_priority): Gut useless reg lifetime code.
- 	(create_reg_dead_note, attach_deaths): Delete.
- 	(attach_deaths_insn, new_sometimes_live): Delete.
- 	(finish_sometimes_live): Delete.
- 	(find_pre_sched_live, find_post_sched_live): Delete.
- 	(update_reg_usage): Delete.
- 	(find_insn_reg_weight): New, from corpse of find_pre_sched_live.
- 	(schedule_insns): Delete reg lifetime code.
- 	(sched_analyze): Use REG_SAVE_NOTE to stuff NOTE_INSN notes away.
- 	(unlink_other_notes): Adjust REG_NOTE commentary.
- 	(reemit_notes): Use REG_SAVE_NOTE.
- 	(schedule_block): Likewise.
- 	(schedule_region): Allocate bitmap of blocks in region.  Use
- 	count_or_remove_death_notes.  Use update_life_info.
- 
- 	* rtl.h (REG_SAVE_NOTE): New.
- 	* rtl.c (reg_note_name): Update.
- 
- Sun Oct 10 16:14:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (refresh_blocks, need_refresh): New.
- 	(combine_instructions): Allocate refresh_blocks.  Invoke
- 	update_life_info if needed.
- 	(distribute_notes): Mark refresh_blocks instead of installing
- 	USE insns.
- 	* flow.c (update_life_info): Remove notes if GLOBAL_RM_NOTES.
- 	* basic_block.h (enum update_life_extent): Add GLOBAL_RM_NOTES.
- 
- 	* Makefile.in (recog.o): Depend on basic-block.h.
- 
- Sun Oct 10 12:03:21 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (add_to_sequence): Thinko last change: delete
- 	shadowing allow_const_int variable.
- 
- Sun Oct 10 08:40:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppinit.c: Use HAVE_GCC_VERSION instead of explicitly testing
- 	__GNUC__ and __GNUC_MINOR__.
- 
- 	* gansidecl.h: Likewise.
- 
- 	* rtl.c: Likewise.
- 
- 	* rtl.h: Likewise.
- 
- 	* toplev.h: Likewise.
- 
- 	* tree.c: Likewise.
- 
- 	* tree.h: Likewise.
- 
- 	* varray.c: Likewise.
- 
- 	* varray.h: Likewise.
- 
- Sun Oct 10 13:28:48 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (find_and_verify_loops): When looking for a BARRIER, don't
- 	use one before a jump table.
- 
- 	* rtl.def (ADDRESS): Change documentation to match reality.
- 	* md.texi: Don't document it.
- 	* gmicro.md (load address pattern): Use 'p' constraint, delete use
- 	of ADDRESS rtx.
- 
- 	* emit-rtl.c (copy_insn_1): Make format_ptr a const char *.
- 
- Sun Oct 10 02:41:41 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (add_to_sequence): Move allow_const_int test outside
- 	known predicate block; default allow_const_int true.
- 	(debug_decision_list): New.
- 
- Sun Oct 10 00:43:08 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.h (CC1_SPEC): Typo -- use cc1_cpu.
- 
- Sat Oct  9 23:26:55 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (gcse_main): Avoid global optimizations if we have a
- 	large number of basic blocks and the ratio of edges to blocks
- 	is high.
- 	(delete_null_pointer_checks): Likewise.
- 
- Sat Oct  9 23:16:01 1999  Ken Raeburn  <raeburn@mit.edu>
- 
- 	* c-common.c (check_format_info): Warn if format string isn't a
- 	string literal.
- 
- Sat Oct  9 23:04:02 1999  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* configure.in (arm*-*-*): Don't let autoconf remove brackets
- 	* configure: regenerate
- 
- Sat Oct  9 13:15:53 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (extendsidi2): Turn into a splitter.  Allow f/f.
- 	If TARGET_FIX, allow r/f.  Remove cvtlq unspec pattern.
- 	(peepholes): Re-enable.
- 
- Sat Oct  9 12:18:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (flow.o): Depend on TREE_H.
- 	* basic-block.h (REG_SET_EQUAL_P): New.
- 	(XOR_REG_SET): New.
- 	(n_edges): Declare.
- 	(free_regset_vector): Remove declaration.
- 	(flow_delete_insn_chain): Declare.
- 	(enum update_life_extent): New.
- 	(update_life_info, count_or_remove_death_notes): Declare.
- 	* combine.c (distribute_notes) [REG_DEAD]: Stop search at bb->head.
- 	Verify register live at bb->global_live_at_start before adding USE.
- 	* flow.c (HAVE_epilogue, HAVE_prologue): Provide default.
- 	(CLEAN_ALLOCA): New.
- 	(n_edges): New.
- 	(PROP_*): New flags.
- 	(find_basic_blocks_1): Use alloc_EXPR_LIST.
- 	(clear_edges): Zero n_edges.
- 	(make_edge): Increment n_edges.
- 	(split_edge): Don't allocate bb->local_set.  Increment n_edges.
- 	(flow_delete_insn_chain): Export.
- 	(delete_block): Decrement n_edges.
- 	(merge_blocks_nomove): Likewise.
- 	(life_analysis): Give life_analysis_1 PROP flags.
- 	(verify_wide_reg_1, verify_wide_reg): New.
- 	(verify_local_live_at_start): New.
- 	(update_life_info): Rewrite to call into propagate_block.
- 	(mark_reg): New.
- 	(mark_regs_live_at_end): After reload, if epilogue as rtl,
- 	always mark stack pointer.  Conditionally mark PIC register.
- 	After reload, mark call-saved registers, return regsiters.
- 	(life_analysis_1): Accept PROP flags not remove_dead_code.
- 	Call mark_regs_live_at_end before zeroing regs_ever_live.
- 	Use calculate_global_regs_live.  Copy global_live_at_end before
- 	calling final propagate_block.  Zero reg_next_use on exit.
- 	(calculate_global_regs_live): New.
- 	(allocate_bb_life_data): Don't allocate bb->local_set.
- 	(init_regset_vector, free_regset_vector): Remove.
- 	(propagate_block): Accept FLAGS not FINAL or REMOVE_DEAD_CODE.
- 	Test flags before every operation.  Warn if prologue/epilogue insn
- 	would have been deleted.
- 	(mark_set_regs, mark_set_1): Accept and use FLAGS.
- 	Use alloc_EXPR_LIST.
- 	(mark_used_regs): Accept and use FLAGS, not FINAL.
- 	Remove special handling for RETURN.
- 	(try_pre_increment): Use alloc_EXPR_LIST.
- 	(dump_flow_info): Dump n_edges.
- 	(unlink_insn_chain, split_hard_reg_notes): Remove.
- 	(maybe_add_dead_note, maybe_add_dead_note_use): Remove.
- 	(find_insn_with_note, new_insn_dead_notes): Remove.
- 	(update_n_sets, sets_reg_or_subreg_1, sets_reg_or_subreg): Remove.
- 	(maybe_remove_dead_notes, prepend_reg_notes): Remove.
- 	(replace_insns): Remove.
- 	(count_or_remove_death_notes): New.
- 	(verify_flow_info): Abort on error after all checks.
- 	(remove_edge): Decrement n_edges.
- 	(remove_fake_edges): Tweak format.
- 	* haifa-sched.c (schedule_insns): Use split_all_insns.
- 	* output.h (update_life_info): Remove declaration.
- 	* recog.c (split_all_insns): From the corpse of split_block_insns,
- 	do the whole function block by block.  Use update_life_info.
- 	(recog_last_allowed_insn): New.
- 	(recog_next_insn): Mind it.
- 	(peephole2_optimize): Set it.  Walk backwards through blocks.
- 	Use update_life_info.
- 	* rtl.h (update_flow_info, replace_insns): Remove declarations.
- 	(split_all_insns): Declare.
- 	* toplev.c (rest_of_compilation): Thread prologue before flow2.
- 	Use split_all_insns.
- 
- 	* i386.md (or -1 peep2s): Disable.
- 
- Fri Oct  8 17:49:08 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/mips/mips.md (movstrsi+[123]) : Combine these into
- 	a single pattern.  Scrap the 'd' versions as unnecessary.
- 
- 	* config/mips/mips.md (tablejump_internal3,tablejump_mips161,
- 	tablejump_mips162,tablejump_internal4): The operands to a
- 	label_ref must be VOIDmode.
- 
- Fri Oct  8 16:12:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (c-mbchar): Append, don't overwrite, `extra_c_flags'.
- 
- Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* mips.c (mips_va_arg) [EABI]: Return addr_rtx.
- 
- Fri Oct  8 11:58:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* lists.c (init_EXPR_INSN_LIST_cache): Don't need to zap the
- 	cache every function if ggc_p.
- 
- Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* jump.c (duplicate_loop_exit_test): Use copy_insn/copy_insn_1
- 	instead of copy_rtx.  Accept sequences that contain asm statements.
- 	* emit-rtl.c (copy_insn_1, copy_insn): New functions.
- 	(copy_insn_scratch_in, copy_insn_scratch_out, copy_insn_n_scratches,
- 	orig_asm_operands_vector, copy_asm_operands_vector,
- 	orig_asm_constraints_vecotr, copy_asm_constraints_vector): New static
- 	variables.
- 	* rtl.h (copy_insn, copy_insn_1): Declare.
- 
- Fri Oct  8 13:08:12 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (insn-recog.o): Depend on hard-reg-set.h and resource.h.
- 
- 	* alpha.h (ASM_OUTPUT_MI_THUNK): Pass the correct number of
- 	arguments to `current_file_function_operand'.
- 
- 	* genrecog.c: Include hard-reg-set.h and resource.h in the
- 	generated output file.
- 
- 	* real.c: Include tm_p.h.
- 
- Fri Oct  8 18:46:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* i386.md (prologue_allocate_stack): Add '=' constraint letter on
- 	output operand.
- 
- Thu Oct  7 23:06:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.md (fix_truncdfsi2_internal+1): Emit a clobber
- 	before the fctiwz insn.
- 
- Thu Oct  7 22:53:00 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 			  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (make_lang_type_fn): New function pointer.
- 	(make_lang_type): Call it.
- 	* tree.h (make_lang_type): Declare.
- 	(make_lang_type_fn): Likewise.
- 	* rs6000.c (rs6000_build_va_list): Use make_lang_type.
- 
- Thu Oct  7 00:36:17 1999  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (secondary_reload_class): For TARGET_ELF
- 	make sure that HIGH instructions are copied into BASE_REGS.
- 
- Thu Oct  7 17:02:34 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_expr, TARGET_EXPR): Set TREE_USED sooner.
- 
- Thu Oct  7 17:01:58 1999  Greg McGary  <gkm@gnu.org>
- 
- 	* c-decl.c (finish_struct): Use simpler method of
- 	removing elements of a singly-linked list.
- 
- Thu Oct  7 15:23:28 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* alpha.md (peephole2's): Comment out peephole2's that generate
- 	buggy code.
- 
- Thu Oct  7 12:00:53 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (add_to_sequence): Disable mode check for
- 	wildcard matches.
- 
- Thu Oct  7 20:14:16 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* ggc-simple.c (init_ggc): Set empty_string.
- 
- Thu Oct  7 01:13:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Detect mmap.  Add --with-gc=foo to select
- 	garbage collector; default to page if mmap available.
- 	* Makefile.in (GGC): Substitute.
- 
- Wed Oct  6 23:56:30 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (ggc_p): Enable.
- 
- Wed Oct  6 17:17:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* flow.c (verify_flow_info): Make it extern & unconditionally define.
- 
- 1999-10-06  Brendan Kehoe  <brendan@cygnus.com>
- 
- 	* sparc/sp86x-elf.h (SUBTARGET_SWITCHES): Add missing doc
- 	string for little-endian-data.
- 
- Wed Oct  6 16:10:35 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* varray.h (VARRAY_CHECK): Fix up appropriate revision check, in
- 	case somebody tries to compile --enable-checking code with gcc
- 	1.34 or such.
- 
- Wed Oct  6 12:22:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (add_to_sequence): Verify operand to label_ref is
- 	VOIDmode.
- 
- Wed Oct  6 10:21:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genconfig.c (main): Disable HAVE_conditional_arithmetic.
- 	* jump.c (jump_optimize_1): Document why.
- 
- Wed Oct  6 10:41:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (scan_prog_file, scan_libraries): Prototype function
- 	pointers and casts for `int_handler' and `quit_handler'.
- 
- 	* flow.c (verify_flow_info, split_hard_reg_notes,
- 	find_insn_with_note, sets_reg_or_subreg_1, prepend_reg_notes,
- 	remove_edge, remove_fake_successors): Add static prototypes.
- 	(verify_flow_info): Wrap with macro ENABLE_CHECKING.
- 	(mark_set_1): Initialize variable `regno'.
- 	(unlink_insn_chain): Likewise for variable `curr'.
- 	(remove_fake_edges): Remove unused variables `e', `tmp' and `last'.
- 
- 	* loop.c (strength_reduce): Initialize variable
- 	`unrolled_insn_copies'.
- 	(cmp_combine_givs_stats, cmp_recombine_givs_stats): Add static
- 	prototypes.  Change these functions to take const PTR parameters
- 	to avoid prototype conflict when used as the comparson argument
- 	for qsort.
- 	(check_dbra_loop): Initialize variable `comparison_val'.
- 
- 	* reload.c (debug_reload_to_stream, debug_reload): Add prototypes.
- 	(get_secondary_mem): Mark parameter `x' with ATTRIBUTE_UNUSED.
- 	(find_valid_class): Initialize variable `best_class'.
- 	(find_reloads): Call memcpy, not bcopy.
- 
- 	* reload1.c (gen_mode_int, dump_needs): Add prototypes.
- 	(hard_reg_use_compare): Don't needlessly cast away const.
- 	(reload_reg_class_lower): Likewise.
- 	(choose_reload_regs): Initialize variable `regno'.
- 
- Tue Oct  5 16:34:12 1999  Paul Burchard <burchard@pobox.com>
- 
- 	* ggc-page.c (GGC_ALWAYS_COLLECT): Fix typo when undef'ing.
- 
- Tue Oct  5 16:14:40 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* libgcc1-test.c (toplevel): Include stddef.h to get size_t.
- 	({,d}discard): Add forward declarations.  Declare parameter as
- 	unused.
- 	(main_without_main): Explicitly declare return type to be int.
- 	(memcpy): Properly declare.
- 
- 	* libgcc2.c (toplevel): If inhibit_libc is defined and not
- 	building the trampoline support, declare malloc, free, and
- 	atexit.
- 	(__clear_cache): Mark arguments as potentially unused.
- 
- 	* frame.c (toplevel): If inhibit_libc is defined, declare
- 	malloc and free.
- 
- Tue Oct  5 12:00:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (make_edge): Accept an optional 2D bitmap in which
- 	to cache edge existence.  Update all callers.
- 	(make_label_edge, make_eh_edge): Pass through the edge cache.
- 	(make_edges): Provide the cache.
- 
- Tue Oct  5 12:16:49 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mbchar.c (literal_codeset, local_mbtowc, local_mblen): Constify
- 	a char*.
- 	(local_mbtowc): Change the type of variable `i' from int to size_t.
- 
- 	* mbchar.h (ISSJIS1, ISSJIS2): Use parens around && within ||.
- 	(local_mbtowc, local_mblen, literal_codeset): Constify a char*.
- 
- Tue Oct  5 11:34:52 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* ggc-common.c (toplevel): Reorder includes, so that ggc.h comes
- 	after other includes that define the appropriate types.  Include
- 	tm_p.h for getting user prototypes.
- 	* ggc-callbacks.c (toplevel): Ditto.
- 	* ggc-none.c (toplevel): Ditto.
- 	* gcc-page.c (toplevel): Ditto.
- 	* ggc-simple.c (toplevel): Ditto.
- 
- Mon Oct  4 16:48:16 1999  Diego Novillo <dnovillo@cygnus.com>
- 			  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* config/mips/mips.c (mips_move_2words): Split doubles if
- 	ISA >= 3, !TARGET_64BIT, and destination is not an FP register.
- 
- Mon Oct  4 21:47:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (struct decision_test): New.
- 	(struct decision): Remove test-related members, sort the rest by size.
- 	(IS_SPLIT): Simplify.
- 	(new_decision, new_decision_test): New.
- 	(add_to_sequence): Use them.  No special handling for args of
- 	non-MATCH codes.
- 	(maybe_both_true): Renamed from not_both_true; return sense changed.
- 	(maybe_both_true_1, maybe_both_true_2): New.  Broken out
- 	of maybe_both_true and adjusted for decision_test.
- 	(position_merit): Remove.
- 	(nodes_identical, nodes_identical_1): New, broken out of merge_trees.
- 	(merge_accept_insn): New, broken out of merge_trees.
- 	(merge_trees): Use them.  No special case for c_test; no node
- 	splitting; use test type instead of position_merit.
- 	(factor_tests): New.
- 	(simplify_tests): New.
- 	(break_out_subroutines): Don't write code now.
- 	(find_afterward): New.
- 	(write_afterward, write_switch, write_cond): New.
- 	(write_action, is_unconditional): New.
- 	(write_node): New.  Use them.
- 	(write_tree_1): Rewrite.  Use the new functions above.
- 	(write_tree): Remove afterward processing.
- 	(write_subroutine): Simplify function variant emission.
- 	(write_subroutines): New.
- 	(same_codes, clear_codes): Remove.
- 	(same_modes, clear_modes): Remove.
- 	(write_header): New, broken out of main.
- 	(make_insn_sequence): Use new_decision and new_decision_test.
- 	(process_tree): New, broken out of main.
- 	(main): Adjust for merge_trees interface change.
- 	Don't #define operands in the output file.
- 	(record_insn_name): New, broken out of make_insn_sequence.
- 	(debug_decision_2, debug_decision_1, debug_decision_0): New.
- 	(debug_decision): New.
- 
- 1999-10-04 21:58 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* resource.c (find_free_register): Mark class_str argument const.
- 	* resource.h: Update prototype to match.
- 
- 	* i386.h (PREDICATE_CODES): Add entry for long_memory_operand.
- 	* i386.md: Give all anonymous insns names.
- 
- Mon Oct  4 21:12:02 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (merge_blocks): Avoid assing BASIC_BLOCK for non-existent
- 	blocks.
- 
- Mon Oct  4 21:01:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (dbr_sched_time): Unconditional.
- 	(peephole2_time): New.
- 	(compile_file): Add pass numbers to all of the dump file suffixes.
- 	Dump peephole2_time.  Don't dump times for non-applicable passes.
- 	(rest_of_compilation): Add pass numbers to dump file suffixes.
- 	Conditionalize calls to the scheduler.
- 	* invoke.texi: Update.
- 
- Mon Oct  4 20:25:13 1999  Anthony Green  <green@cygnus.com>
- 
- 	* flow.c (make_edges): Fix insn iteration.
- 	(find_basic_blocks): Assign NULL_RTX, not 0, to rtx.
- 	(find_basic_blocks_1): Fix spelling mistake.
- 
- Mon Oct  4 16:56:11 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
- 	always have side-effects.  Use memset not bzero.
- 	(make_node): Likewise.
- 
- Mon Oct  4 16:22:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_anon_union_decl): When any of the elements of the
- 	union is addressable, so is the entire union.
- 
- Mon Oct  4 11:38:33 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sbitmap.c (sbitmap_ones): Don't set too many bits.
- 
- 	* bitmap.h (enum bitmap_bits): Add BITMAP_XOR.
- 	* bitmap.c (bitmap_operation): Return true iff TO changed.
- 	(bitmap_equal_p): New.
- 	(bitmap_bit_p): Tidy arithmetic.
- 	(debug_bitmap_file): Likewise.
- 
- Mon Oct  4 11:28:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Turn on cse_not_expected
- 	before cse2 instead of after.
- 
- Mon Oct 4 09:55:17 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Let leasi/liadi handle large
- 	register offsets.
- 
- Mon Oct  4 08:54:12 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* cppinit.c (is_idchar initializer): Loosen tests to accept
- 	gcc 2.>6 and >2.
- 
- Mon Oct  4 02:31:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* mips.md: Define conditional move patterns for floating point
- 	operands and DI mode conditions.
- 
- Mon Oct  4 02:12:41 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
- 	always have side-effects.
- 
- Sun Oct  3 14:14:16 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.c (asm_file_start): Fix typo.
- 
- 	* cppinit.c (is_idchar initializer): Tighten tests for when
- 	to put the table into initialized memory.
- 
- 	* ggc-none.c (ggc_alloc_rtvec): An rtvec is an array of rtx,
- 	not an array of rtunion.
- 	* gcc-page.c (ggc_alloc_rtvec): Similarly.
- 	* gcc-simple (ggc_free_rtvec): Similarly.
- 
- 	* genattrtab.c (simplify_cond): Make TESTS an array of rtxs, instead
- 	of rtunions.
- 
- 	* mbchar.h: Add missing #endif.
- 
- 	* t-fr30 (LIB2FUNCS_EXTRA): Remove definition.
- 	(FPBIT, DPBIT): Define.
- 
- Sun Oct  3 12:44:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* print-tree.c (print_node, indent_to): Remove redundant prototypes.
- 
- 	* profile.c (instrument_arcs, output_gcov_string,
- 	tablejump_entry_p): Add static prototypes.
- 	(output_gcov_string): Constify a char*.
- 
- 	* regmove.c (replacement_quality, fixup_match_2): Add static
- 	prototypes.
- 
- 	* resource.h (reg_dead_p): Add extern prototype.
- 
- 	* rtl.c (trim_filename): Add static prototype.
- 
- 	* scan-decls.c (skip_to_closing_brace): Likewise.
- 
- 	* stmt.c (expand_decl_cleanup_no_eh): Hide definition.
- 	(expand_end_case): Initialize variable `range'.
- 	(emit_case_nodes): Remove unused prototype `rtx_fn'.
- 
- 	* varasm.c (asm_emit_uninitialised): Add static prototype.
- 	(asm_emit_uninitialised, assemble_variable): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- Sun Oct  3 12:24:52 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplib.c (if_directive_nameo): Add static prototype.
- 
- 	* cse.c (cse_insn): Remove unused variable `p'.
- 
- 	* except.c (create_rethrow_ref, push_entry,
- 	receive_exception_label, new_eh_region_entry, find_func_region,
- 	clear_function_eh_region, process_nestinfo): Add static prototypes.
- 	(get_reg_for_handler): Hide definition.
- 	(process_nestinfo): Initialize variable `extra_handlers'.
- 
- 	* expr.h (expand_builtin_longjmp): Add extern prototype.
- 
- 	* final.c (final_addr_vec_align, align_fuzz): Add static prototypes.
- 
- 	* function.c (prepare_function_start): Likewise.
- 	(pop_function_context_from): Mark parameter `context' with
- 	ATTRIBUTE_UNUSED.
- 	(push_temp_slots_for_block, flush_addressof): Hide definition.
- 
- 	* gcov.c (init_arc, reverse_arcs, create_program_flow_graph,
- 	solve_program_flow_graph, calculate_branch_probs,
- 	function_summary, main, fancy_abort): Add prototypes.
- 
- 	* gen-protos.c (add_hash, parse_fn_proto, main): Likewise.
- 	(add_hash): Constify a char*.
- 
- 	* ggc-common.c (ggc_mark_rtx_ptr, ggc_mark_tree_ptr,
- 	ggc_mark_tree_varray_ptr, ggc_mark_tree_hash_table_ptr,
- 	ggc_mark_string_ptr, ggc_mark_tree_hash_table_entry): Add prototypes.
- 
- 	* integrate.c (expand_inline_function_eh_labelmap): Likewise.
- 
- 	* lists.c (free_list, zap_lists): Likewise.
- 
- Sun Oct  3 12:05:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alias.c (nonlocal_reference_p): Add static prototype.
- 
- 	* bitmap.c (bitmap_element_allocate): Prototype args in function
- 	pointer cast.
- 
- 	* builtins.c (stabilize_va_list): Add static prototype.
- 	(expand_builtin_va_arg): Constify a char*.
- 
- 	* c-lex.c (getch, put_back, extend_token_buffer_to,
- 	read_line_number, token_getch, token_put_back): Add static
- 	prototypes.
- 
- 	* c-parse.gperf (hash, is_reserved_word): Likewise.
- 
- 	* cccp.c (is_dir_separator): Likewise.
- 
- Sat Oct  2 16:07:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* graph.h: New file to prototype functions exported by graph.c.
- 
- 	* Makefile.in (graph.o, toplev.o): Depend on graph.h.
- 
- 	* graph.c: Include graph.h.
- 
- 	* toplev.c: Likewise.  Remove redundant prototypes.
- 
- Sat Oct  2 11:28:33 1999  Krister Walfridsson <cato@df.lth.se>
- 
- 	* invoke.texi: Removed duplicated description for -Q.
- 
- Sat Oct  2 11:16:00 1999  Jim Kingdon  <http://developer.redhat.com>
- 
- 	* extend.texi: Grammar fix in __extension__ text.
- 
- Sat Oct  2 11:06:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* md.texi (define_peephole2): New section.
- 
- Sat Oct  2 10:57:56 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (mov?i patterns): Fix handling of TARGET_USE_MOV0
- 	(mov $-1 to or peepholer): Enable for pentium when optimizing for
- 	speed.
- 
- Sat Oct  2 10:55:25 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* builtins.c (expand_builtin_strlen): Fix best mode searching loop.
- 
- Sat Oct  2 10:53:22 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (ffs expander): Emit Pentium friendly code for
- 	TARGET_PENTIUM.
- 
- Sat Oct  2 02:48:21 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (build): Don't look at TREE_SIDE_EFFECTS or TREE_RAISES
- 	for non-trees.
- 	(build1): Likewise.
- 
- Fri Oct  1 18:01:11 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* i386elf.h (TARGET_DEFAULT): Use symbolic constants.
- 
- Fri Oct  1 12:42:53 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c (use_return_insn): Return false if the pic
- 	register is in use.
- 
- Fri Oct  1 10:56:06 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* md.texi (No Constraints): Delete section.
- 	* Makefile.in (genattrtab.o): Don't depend on "insn-config.h".
- 	* final.c (final_scan_insn): We always have register constraints.
- 	* genattrtab.c: Don't include "insn-config.h".
- 	(write_attr_case): We always have register constraints.
- 	* genconfig.c (register_constraint_flag): Delete.
- 	(walk_insn_part): Don't check whether we have register constraints.
- 	(main): Don't write out "#define REGISTER_CONSTRAINTS".
- 	* genoutput.c (have_constraints): Delete.
- 	(main): Don't set it.
- 	(output_operand_data): We always have constraints.
- 	(scan_operands): Likewise.
- 	(compare_operands): Likewise.
- 	* local-alloc.c (block_alloc): We always have constraints.
- 	(requires_inout): Always compile this function.
- 	* recog.c (extract_insn): We always have constraints.
- 	(constrain_operands, reg_fits_class_p): Always compile these
- 	functions.
- 	* recog.h (struct recog_data): Delete non-REGISTER_CONSTRAINTS
- 	fields.
- 	(struct insn_operand_data): Likewise.
- 	* regclass.c (regclass): We always have constraints.
- 	(record_reg_classes, copy_cost, record_address_regs,
- 	auto_inc_dec_reg_p): Always compile these functions.
- 	* regmove.c (regmove_optimize): We always have constraints.
- 	* reload.c (find_reloads): Likewise.
- 	* reload1.c (reload): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	* i860.c (output_delay_insn): Likewise.
- 
- Thu Sep 30 23:04:41 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* iris6.h (BUILD_VA_LIST_TYPE): Define.
- 
- Thu Sep 30 18:44:50 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.c (rs6000_build_va_list): Create a TYPE_DECL node
- 	for the va_list record.
- 
- Thu Sep 30 18:34:54 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.c (ix86_adjust_cost): Ignore false ebp dependencies in
- 	prologues.
- 
- Thu Sep 30 18:31:36 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* alias.c: Include insn-flags.h.
- 	* Makefile.in (alias.o): Update.
- 
- Thu Sep 30 18:21:30 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Convert LEU and GTU comparisons
- 	to LTU and GEU.  Handle more cases using sbb.
- 
- Thu Sep 30 18:18:39 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.md (truncatexfdf splitters): Do not use subreg.
- 	(fop XFmode patterns): Fix mode in operand testing.
- 
- Thu Sep 30 18:04:13 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Amend last change to test only the
- 	form of the operand, not the insn.
- 
- 	* jump.c (jump_optimize_1) [conditional_move]: Use general_operand
- 	not register_operand to determine when B may need preloading.
- 
- Thu Sep 30 17:39:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (*): Use nonimmediate not general_operand for SET_DEST.
- 	(ffsdi2, extxl, insxh, mskxh): Add missing DImode to SET_SRC.
- 	(call-value patterns): Move to end of file.
- 	(*): Remove mode from label_ref in (pc) context.
- 	(movstrqi): Use memory not general_operand for BLKmode operands.
- 	(prologue_stack_probe_loop, builtin_longjmp): Add missing mode
- 	to register_operand operands.
- 	(peep2 patterns): Convert from commented-out peephole patterns.
- 
- Thu Sep 30 14:39:17 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.h (enum built_in_function): Rename BUILT_IN_DWARF_REG_SIZE
- 	to BUILT_IN_INIT_DWARF_REG_SIZES.
- 	* builtins.c (expand_builtins, case BUILT_IN_INIT_DWARF_REG_SIZES):
- 	Renamed from BUILT_IN_DWARF_REG_SIZE; call
- 	expand_builtin_init_dwarf_reg_sizes.
- 	* c-decl.c (init_decl_processing): Replace __builtin_dwarf_reg_size
- 	with __builtin_init_dwarf_reg_size_table.
- 	* dwarf2out.c (struct reg_size_range): Delete.
- 	(expand_builtin_init_dwarf_reg_sizes): New function.
- 	(expand_builtin_dwarf_reg_size): Delete.
- 	* except.h (expand_builtin_init_dwarf_reg_sizes): Declare.
- 	(expand_builtin_dwarf_reg_size): Don't declare.
- 	* libgcc2.c (dwarf_reg_size_table_initialized): New.
- 	(dwarf_reg_size_table): New.
- 	(init_reg_size_table): New function.
- 	(copy_reg): Use dwarf_reg_size_table.
- 	(eh_context_initialize): Make sure dwarf_reg_size_table is initialized
- 	before use.
- 
- Thu Sep 30 05:40:34 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* c-lang.c (finish_file case ndef ASM_OUTPUT_{CON,DE}STRUCTOR):
- 	Correctly build argument list to constructor and destructor functions.
- 
- Thu Sep 30 00:13:27 1999  Dirk Zoller  <duz@rtsffm.com>
- 
- 	* c-tree.h (warn_float_equal): Declare.
- 	* c-decl.c (warn_float_equal): Define.
- 	(c_decode_option): Recognize -W[no-]float-equal.
- 	* c-typeck.c (build_binary_op): Conditionally warn
- 	about equality tests of floating point types.
- 	* toplev.c (documented_lan_options): Add -W[no-]float-equal.
- 	* invoke.texi: Add docs for -Wfloat-equal warning.
- 
- Wed Sep 29 23:43:39 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.h (INIT_TARGET_OPTABS): Use init_one_optab instead of
- 	generating RTL directly.
- 	* mips.h (INIT_TARGET_OPTABS): Likewise.
- 	* mn10200.h (INIT_TARGET_OPTABS): Likewise.
- 
- 	* expr.h (init_mov_optab): Delete declaration
- 
- 	* h8300.c (WORD_REG_USED): Update to avoid useless register
- 	saves in interrupt functions and functions which never return.
- 
- 	* cse.c (struct set): Delete inner_dest_loc field.
- 	(cse_insn): Remove assignments to inner_dest_loc field.
- 
- Wed Sep 29 16:06:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-page.c: Don't include <unistd.h> etc taken care of
- 	by "system.h".  Include <sys/mman.h> afterward.
- 
- Wed Sep 29 16:05:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.c (rs6000_encode_section_info): If ggc_p, use
- 	ggc_alloc_string.
- 
- Tue Sep 28 16:45:40 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* xcoffout.c (xcoffout_declare_function): Add documentation.
- 	* rs6000.c (num_insns_constant_wide): Use TARGET_POWERPC64 not
- 	TARGET_64BIT.  Compare constant to -1, not bit pattern.
- 	(easy_fp_constant): Use TARGET_POWERPC64 not TARGET_64BIT.
- 	(expand_block_move): Allow 8 DImode loads for PowerPC64.  Fix
- 	gen_movsi typos.
- 
- Tue Sep 28 16:43:14 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Abort if
- 	origin_die is NULL.
- 	(gen_inlined_enumeration_type_die): Do not abort if the type has
- 	not been writeen out.
- 	(gen_inlined_structure_type_die): Do not abort if the type has
- 	not been writeen out.
- 	(gen_inlined_union_type_die): Do not abort if the type has
- 	not been writeen out.
- 	(gen_tagged_type_instantiation_die): Do not abort if the type
- 	has not been written out.
- 
- Tue Sep 28 14:33:47 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-decl.c (init_decl_processing): If MD_INIT_BUILTINS is defined,
- 	call it.
- 	* reg-stack.c (straighten_stack): Copy hard reg set with
- 	COPY_HARD_REG_SET.
- 
- Tue Sep 28 01:11:05 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (stabilize_va_list): Stabilize array type va_list
- 	to a pointer type, not the base record type.
- 	(expand_builtin_va_copy): Dereference the pointers explicitly;
- 	use the correct size for the copy.
- 
- 	* rs6000.c (rs6000_va_start): Dereference valist to get to the record.
- 	(rs6000_va_arg): Likewise.
- 
- Mon Sep 27 23:27:21 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.h (struct rtx_def): Move gc_mark to align mode field.
- 
- Mon Sep 27 23:20:29 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (struct tree_decl): Use `bclass', not `class', in name of
- 	field.
- 	(DECL_BUILT_IN_CLASS): Adjust accordingly.
- 
- Mon Sep 27 23:03:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-page.c (GGC_MIN_LAST_ALLOCATED): New.
- 	(init_ggc): Use it instead of a constant.
- 	(ggc_collect): Bound allocated_last_gc by it.
- 
- Mon Sep 27 19:06:04 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/fixinc.irix (stdio.h): Hack stdio.h to avoid problems
- 	with va_list.
- 
- Mon Sep 27 19:40:17 CEST 1999	Marc Espie <espie@cvs.openbsd.org>
- 
- 	* configure.in (mips*el-*-openbsd*):  Don't duplicate default settings.
- 	(mips*-*-openbsd*):  Let big endian configuration be a fragment.
- 	* configure:  Regen.
- 	* config/mips/openbsd.h:  New, OpenBSD little endian target.
- 	* config/mips/openbsd-be.h:  New, OpenBSD big endian target fragment.
- 	* config/mips/xm-openbsd.h:  New, OpenBSD host.
- 
- Mon Sep 27 10:28:48 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c (output_function_prologue,
- 	output_function_epilogue): Use
- 	current_function_uses_pic_offset_table instead of regs_ever_live
- 	to decide whether to save/restore pic register.
- 	(legitimize_pic_address): Don't modify regs_ever_live any more.
- 
- Sun Sep 26 10:55:36 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.h (struct function): Add x_dont_save_pending_sizes_p.
- 	* stor-layout.c (variable_size): Don't add sizes to the pending
- 	sizes list if x_dont_save_pending_sizes_p is set.
- 
- Sun Sep 26 16:36:52 1999  Robert Lipe  (robertlipe@usa.net)
- 
- 	* config/i386/dgux.h (SELECT_RTX_SECTION): Provide dummy argument
- 	for symbolic_operand().
- 	* config/i386/sco5.h (SELECT_RTX_SECTION): Likewise.
- 
- Sun Sep 26 07:37:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* combine.c (gen_rtx_combine): Add missing call to va_end().
- 
- 	* final.c (asm_fprintf): Likewise.
- 
- 	* genattrtab.c (attr_rtx): Likewise.
- 
- Sat Sep 25 13:11:07 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c: Update comments.
- 	(cse_insn): When converting a conditional/computed jump into
- 	an unconditional jump, always make sure a BARRIER immediately
- 	follows the converted jump.  Do not delete unreachable code.
- 	(cse_basic_block): Do not delete unreachable code.
- 	* toplev.c (rest_of_compilation): Move call to
- 	delete_trivially_dead_insns after the conditional call to
- 	jump_optimize.
- 
- Sat Sep 25 09:03:17 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (make_temp_file): Don't prototype.
- 
- 	* gcc.c (make_temp_file): Likewise.
- 
- 	* mips.c (mips_make_temp_file): Renamed from `make_temp_file'.
- 
- Sat Sep 25 13:42:15 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* varasm.c (asm_emit_uninitialised): New function: Generate
- 	the assembler statements necessary to declare an uninitialized
- 	variable.
- 	(ASM_EMIT_LOCAL): New macro: Emit a local, uninitialized
- 	variable.
- 	(ASM_EMIT_BSS): New macro: Emit an entry in the bss section.
- 	(ASM_EMIT_COMMON): New macro: Emit an entry in the common
- 	section.
- 	(assemble_variable): Use asm_emit_uninitialised to emit an
- 	uninitialized variable.
- 
- Fri Sep 24 17:10:56 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* combine.c (simplify_comparison): Cope with downshifting a 32 bit
- 	constant on a 64 bit host.  Patch supplied by Geoffrey Keating
- 	<geoffk@cygnus.com>.
- 
- Fri Sep 24 10:48:10 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* builtins.c (expand_builtin): Use MD_EXPAND_BUILTIN if defined.
- 	* c-common.h (builtin_function): Don't declare.
- 
- 	* c-decl.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
- 	DECL_BUILT_IN.
- 	(pushdecl): Likewise.
- 	(finish_decl): Likewise.
- 	(builtin_function): New arg CLASS.  Arg FUNCTION_CODE now of type
- 	int.  All callers changed.
- 	Set the builtin's DECL_BUILT_IN_CLASS.
- 	* tree.h (enum built_in_class): New.
- 	(enum built_in_function): Delete NOT_BUILT_IN.
- 	(DECL_FUNCTION_CODE): The corresponding field in tree_decl is now
- 	in a union.
- 	(DECL_SET_FUNCTION_CODE): Likewise.
- 	(DECL_BUILT_IN_CLASS): New macro.
- 	(DECL_BUILT_IN): Use DECL_BUILT_IN_CLASS.
- 	(struct tree_decl): Split builtin function code field into a
- 	struct.
- 	(builtin_function): Declare.
- 
- Fri Sep 24 01:45:05 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* optabs.c (init_traps): Fix typo in last change.
- 
- Fri Sep 24 01:10:11 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.c (rest_of_decl_compilation): Update comment.
- 
- Fri Sep 24 11:57:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Put the symbol
- 	in .sbss if appropriate.
- 	(EXTRA_SECTION_FUNCTIONS): Add sbss.
- 	(SBSS_SECTION_ASM_OP): New macro.
- 	* config/mips/linux.h (EXTRA_SECTION_FUNCTIONS): Add sbss.
- 	(EXTRA_SECTIONS): Add in_sbss.
- 	* config/mips/mips.h: Prototype sbss_section.
- 
- Thu Sep 23 18:18:55 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_start_bindings): Don't allow cleanup instructions
- 	to disappear.
- 
- Thu Sep 23 18:07:01 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* optabs.c (init_traps): Register trap_rtx as a GC root.
- 
- Thu Sep 23 17:41:47 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/mips/mips.c (function_arg_pass_by_reference): Define
- 	unconditionally, since it's called unconditionally.
- 
- Thu Sep 23 13:40:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (documented_lang_options): Add -fshort-wchar.
- 	* c-decl.c (c_decode_option): Likewise.
- 	(init_decl_processing): If -fshort-wchar, use 'short unsigned int'
- 	for wchar_t.
- 	* c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node.
- 	* gcc.c (default_compilers): If -fshort-wchar,
- 	override __WCHAR_TYPE__.
- 	* tm.texi (C Dialect Options): Add -fshort-wchar.
- 
- 	* dwarf2out.c (output_aranges): Use DW_AT_location to find the
- 	symbol for a variable.
- 
- 	* cpplib.h (CPP_PREPROCESSED): New macro.
- 	* cpplib.c (handle_directive): Don't complain about `# NUMBER' if
- 	we're seeing this input for a second time.
- 
- Thu Sep 23 12:54:49 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* emit-rtl.c (init_emit_once): Initialize modes first.
- 
- Sun Sep 19 01:23:23 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* config/i386/i386.c (pic_label_name): Change to char pointer.
- 	(global_offset_table): New variable.
- 	(load_pic_register): Fill global_offset_table if it hasn't
- 	already been done.  Allocate pic_label_name dynamically.
- 	* ggc.h (empty_string): New variable.
- 	* ggc-simple.c (empty_string): Likewise.
- 	(init_ggc): Allocate empty_string and add as root.
- 	* stmt.c (digit_strings): New variable.
- 	(init_stmt): Add last_block_end_note as root.  Allocate and
- 	initialize digit_strings.
- 	(expand_asm_operands): Use empty_string instead of string
- 	constant.  Use digit_strings instead of string constants.
- 	* profile.c (init_arc_profiler): Allocate string with
- 	ggc_alloc_string instead of xmalloc.
- 	(output_func_start_profiler): Likewise.
- 	* c-typeck.c (digest_init): Check if init is error_mark_node.
- 
- Thu Sep 23 12:59:14 1999  Alex Samuel  <samuel@codesourcery.com>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-page.c: New file.
- 	* Makefile.in (ggc-page.o): New.
- 
- Thu Sep 23 13:55:21 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* invoke.texi: Document -fdelete-null-pointer-checks
- 	* toplev.c (flag_delete_null_pointer_checks): New.
- 	(f_options): Add entry for -fdelete-null-pointer-checks.
- 	(rest_of_compilation): Conditionalize null pointer check
- 	elimination on flag_delete_null_pointer_checks.
- 	(main): If -O2 or greater, enable -fdelete-null-pointer-checks
- 
- 1999-09-23 10:56 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* iso646.h, stdarg.h, stdbool.h, stddef.h, varargs.h: Add
- 	copyright notice and special exception to GPL.
- 
- Thu Sep 23 13:40:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* abi64.h (mips_function_value): Add prototype arguments.
- 
- 	* mips-protos.h: New file with mips prototypes.
- 
- 	* mips.c: Include "tm_p.h".
- 	(mktemp, lookup_name): Add prototype arguments.
- 	(extern_list, string_constant, mips_fill_delay_slot,
- 	mips_output_external, mips_output_external_libcall,
- 	mips_output_filename, mips_declare_object, function_prologue,
- 	mips_expand_prologue, function_epilogue, mips16_constant,
- 	build_mips16_function_stub, mips_output_conditional_branch):
- 	Constify a char*.
- 	(mips_va_start): Remove unused variable `u'.
- 	(mips_va_arg): Cast value to unsigned when comparing against one.
- 	(trace): Delete.
- 	(save_restore_insns, mips_expand_prologue): Add missing arg in
- 	call to `large_int'.
- 
- 	* mips.h: Move prototypes to mips-protos.h.
- 	(data_section, memory_address_p, rdata_section,
- 	readonly_data_section, simple_epilogue_p, text_section): Delete
- 	prototypes delcared elsewhere.
- 	(mips_epilogue_delay_slots, print_options): Delete unused decls.
- 	(trace): Delete.
- 	(GO_PRINTF, GO_PRINTF2): Call fprintf, not trace.
- 
- 	* mips.md: Delete extra args in call to `mips_move_2words'.
- 
- 	* xm-iris6.h (alloca): Add prototype argument.
- 
- 	* genpeep.c: Include "tm_p.h" in generated output file.
- 
- Thu Sep 23 10:36:55 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* basic-block.h (find_edge_index): Change parameters.
- 	* flow.c (verify_edge_list): Pass basic_block parameters to
- 	find_edge_index instead of integers.
- 
- Thu Sep 23 15:54:12 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* combine.c (simplify_comparison): Use an unsigned shift to adjust
- 	the constant.
- 
- Thu Sep 23 08:46:21 1999  Guy Harris  <guy@netapp.com>
- 
- 	* gcc.1: Fix a formatting error.
- 
- Wed Sep 22 16:10:21 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* install.texi (Configurations): Remove pyramid. Add fr30, i686,
- 	i786, mn10200, mn10300, pdp11, v850.
- 
- Thu Sep 23 07:37:13 1999  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* libgcc2.c (num_digits): Add prototype with
- 	__attribute__((const)).
- 	(__terminate): Add prototype.
- 
- Thu Sep 23 05:32:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c, dbxout.c, varasm.c: Include tm_p.h.
- 
- 	* alpha/alpha.c (print_operand): Fix type of `code'.
- 	(alpha_output_filename): Constify.
- 	* alpha/alpha.h: Move all function declarations ...
- 	* alpha/alpha-protos.h: ... here.  New file.
- 	* alpha/elf.h (CONST_SECTION_FUNCTION): Prototype the function.
- 	(SECTION_FUNCTION_TEMPLATE): Likewise.
- 
- Thu Sep 23 11:15:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* expmed.c (do_cmp_and_jump): Pass ccp_jump to can_compare_p.
- 	* expr.c (expand_expr): Likewise.
- 	(do_jump): Likewise.
- 	(do_store_flag): Pass ccp_store_flag to can_compare_p.
- 	* expr.h (enum optab_index): Add cbranch, cmov, cstore optabs and
- 	accessor macros.
- 	(enum can_compare_purpose): New.
- 	(can_compare_p): Adjust prototype.
- 	(prepare_cmp_insn, prepare_operand): Declare.
- 	* genopinit.c (optabs): Add cbranch_optab, cmov_optab, cstore_optab.
- 	* optabs.c (cmp_available_p): Deleted.
- 	(expand_abs): Pass ccp_jump to can_compare_p.
- 	(can_compare_p): New arg PURPOSE.  Check for combined optabs.
- 	(prepare_cmp_insn): No longer static.  Add arg PURPOSE.
- 	Call can_compare_p rather than cmp_available_p.
- 	(prepare_operand): No longer static.
- 	(emit_cmp_and_jump_insn): Check for and use cbranch patterns.
- 	(emit_cmp_and_jump_insns): Pass ccp_jump to prepare_cmp_insn.
- 	(expand_float): Fix a slightly broken emit_cmp_insn/emit_jump_insn
- 	sequence to use emit_cmp_and_jump_insns.
- 	(init_optabs): Initialize cbranch_optab, cmov_optab, cstore_optab.
- 
- Wed Sep 22 17:58:01 1999  Stan Cox  <scox@cygnus.com>
- 
- 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Don't accept large
- 	register offsets; let LEGITIMIZE_ADDRESS load it into a register.
- 	(LEGITIMIZE_ADDRESS): Use plus_constant to avoid
- 	(plus (reg) (const_int 0))
- 	* mips.md (call_internal3c): New pattern for -mips16 -mlong-calls.
- 
- Wed Sep 22 17:55:31 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (expand_block_move): DImode loads and stores require
- 	word-aligned displacements.  Increment address registers with
- 	adddi3 on 64-bit platform.  Use TARGET_POWERPC64 not TARGET_64BIT.
- 
- Wed Sep 22 17:35:55 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* dwarf2out.c (base_type_die): Use the name __unknown__ if there
- 	is no name for the base type, rather than segfault.  If we are
- 	writing out a complex integer type, use DW_ATE_lo_user.
- 
- 	* expr.c (emit_move_insn_1): If we are copying a complex that fits
- 	in one word or less (complex char, complex short, or on 64 bit
- 	systems complex float) to/from a hard register, copy it through
- 	memory instead of dying in gen_{real,imag}part.  If we have a
- 	short complex type, prevent inlining since it allocates stack
- 	memory.
- 
- 	* tree.c (build_complex_type): If we are writing dwarf2 output,
- 	generate a name for complex integer types.
- 
- Wed Sep 22 11:34:08 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* basic-block.h (add_noreturn_fake_exit_edges): Use correct name.
- 	* flow.c (remove_edge): Remove extra whitespace.
- 	(remove_fake_edges): Fix comment.
- 	(add_noreturn_fake_exit_edges): Use the correct name.
- 
- Wed Sep 22 16:12:40 BST 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* Makefile.in (INTL_MOSTLYCLEAN, INTL_CLEAN): New variables.
- 	(mostlyclean): Depend on INTL_MOSTLYCLEAN.
- 	(clean): Depend on INTL_CLEAN.
- 	(maintainer-clean): Adjust.
- 
- Wed Sep 22 10:18:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (AC_PREREQ): Bump to 2.13.
- 	(AC_C_STRINGIZE): Call this instead of using a custom macro.
- 
- 	* gansidecl.h (HAVE_STRINGIZE): Define, if stage2 gcc && __STDC__.
- 
- 	* system.h (HAVE_STRINGIZE): Test this instead of HAVE_CPP_STRINGIFY.
- 
- 	* acconfig.h (HAVE_CPP_STRINGIFY): Delete.
- 
- 	* alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Delete.
- 	(HAVE_STRINGIZE): Define.
- 
- Wed Sep 22 06:25:15 1999  Jim Kingdon  <http://developer.redhat.com>
- 
- 	* c-parse.in: save and restore warn_pointer_arith on __extension__
- 	along with pedantic.
- 	(SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
- 	Set the type of extension to itype rather than $<itype>1 kludge.
- 	* extend.texi (Alternate Keywords): Adjust documentation.
- 	* c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt.
- 
- Wed Sep 22 06:06:57 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c, pa.h, pa.md: Support multiple assembler dialects in
- 	most assembler templates.
- 
- 	* pa.c (hppa_legitimize_address): Handle full offsets for PA2.0
- 	FP loads and stores.
- 	(following_call): Always return zero for the PA8000.
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Handle full offsets for PA2.0
- 	FP loads and stores.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Similarly.
- 
- 	* pa.h (BRANCH_COST): Define.
- 
- 	* pa.md (return, return_internal): Use bve for PA2.0.
- 
- 	* pa.md (fused multiply): Add variants which reduce height for the
- 	fused multiply, but which still generate 2 insns.
- 	(fnegabs): Similarly.
- 
- 	* pa.md (subsi3): Turn into an expander.  Create two anonymous
- 	patterns.  One for PA2.0 one for PA1.x.  Use mtsarcm for PA2.0.
- 	* pa.h (EXTRA_CONSTRAINT): Handle 'S'.
- 
- 	* pa.md (floatunssisf2, floatunssidf2): Generate different RTL
- 	for TARGET_PA_20.
- 	(floatunssidf2_pa20, floatunssisf2_pa20): New patterns for PA2.0
- 	code generation.
- 	(floatunsdisf2, floatunsdidf2, fixuns_truncsfsi2): Likewise.
- 	(fixuns_truncdfsi2, fixuns_truncsfdi2, fixuns_truncdfsi2): Likewise.
- 
- 	* regclass.c (init_regs): Add "top_of_stack" as a garbage
- 	collection root.
- 
- 	* flow.c (record_active_eh_regions): Terminate loop after finding
- 	the last insn in the last basic block.
- 
- Wed Sep 22 20:25:00 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md: Delete parallel instruction peepholes.
- 
- Wed Sep 22 19:59:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_add_gc_roots): Add tree roots.
- 
- Wed Sep 22 19:56:25 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_process_after_reload): Rework machdep insn
- 	splitting to not use output template.
- 
- Wed Sep 22 19:50:12 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (EXPAND_BUILTIN_VA_START): Call c4x_va_start.
- 	* config/c4x/c4x.c (c4x_va_start): New function.
- 
- Tue Sep 21 18:40:01 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* genrecog.c (not_both_true): Handle correctly cases when called for
- 	tests with different positions in the insn.
- 
- Tue Sep 21 18:29:11 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* machmode.h (HOST_PTR_PRINTF): Move from here ...
- 
- 	* system.h (HOST_PTR_PRINTF): ... to here.
- 
- 	* mips-tfile.c: Don't include machmode.h.
- 
- 	* Makefile.in (MACHMODE_H): New variable.  Update to use it.
- 	(mips-tfile.o): Don't depend on machmode.h.
- 
- Tue Sep 21 18:27:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* haifa-sched.c (sched_analyze): Rename local variable `region' to
- 	avoid conflicts with typedef struct `region' at the top level scope.
- 
- Tue Sep 21 14:14:50 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (basic_block): Add eh_beg, eh_end.
- 	* flow.c (entry_exit_blocks): Update.
- 	(find_basic_blocks): Don't allocate bb_eh_end, or pass it around.
- 	Call new functions.
- 	(find_basic_blocks_1): Don't record eh_list at each bb.  Use
- 	lists.c functions to allocate insn lists.
- 	(make_edges): Use eh_beg+eh_end, not the lists.  Split out EH
- 	edge creation ...
- 	(make_eh_edge): ... here.  New.
- 	(move_stray_eh_region_notes): New.
- 	(record_active_eh_regions): New.
- 	(delete_unreachable_blocks): Split out block merging ...
- 	(try_merge_blocks): ... here.  New.
- 	(merge_blocks_move_predecessor_nojumps): Remove edge arg.
- 	Dump debugging data.
- 	(merge_blocks_move_successor_nojumps): Likewise.
- 	(merge_blocks): Use eh_beg+eh_end to validate block movement.
- 
- Tue Sep 21 11:15:03 1999  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* extend.texi (Bound member functions): Document unbound pmf
- 	conversion.
- 
- Tue Sep 21 14:55:11 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* flow.c (split_edge): Handle insertion on a fallthrough edge which
- 	has the EXIT_BLOCK as a dest.
- 
- Tue Sep 21 14:51:23 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* flow.c (remove_edge): New function to remove an edge from the
- 	flow graph.
- 	(remove_fake_successors): New function to remove fake successor edges.
- 	(remove_fake_edges): New function to remove all fake edges from the
- 	flow graph.
- 	(add_fake_exit_edges): New function to add fake edges from all blocks
- 	with no successors to the exit block.
- 	* basic-block.h (remove_fake_edges, add_fake_exit_edges): Add
- 	prototypes for new functions.
- 
- Tue Sep 21 14:49:53 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* config/mips/elf64.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR):
- 	Use Pmode to determine whether to output .dword or .word.
- 
- Tue Sep 21 11:04:34 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* tree.c (built_in_filename): New variable.
- 	(BUILT_IN_FILENAME): New macro.
- 	(init_tree_codes): Allocate built_in_filename.
- 	(make_node): Use built_in_filename instead of string constant.
- 
- Tue Sep 21 14:13:27 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Add fr30 target.
- 	* configure: Regenerate.
- 	* config/fr30: New directory.
- 	* config/fr30/crti.asm: New file.
- 	* config/fr30/fr30.c: New file.
- 	* config/fr30/crtn.asm: New file.
- 	* config/fr30/fr30.h: New file.
- 	* config/fr30/fr30.md: New file.
- 	* config/fr30/lib1funcs.asm: New file.
- 	* config/fr30/t-fr30: New file.
- 	* config/fr30/xm-fr30.h: New file.
- 
- Tue Sep 21 06:45:31 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (merge_blocks_move_successor_nojumps): Delete the
- 	BARRIER at the end of the successor, not the BARRIER before
- 	the successor.
- 
- 	* pa.c (pa_add_gc_roots): Fix thinko in last change.
- 
- Tue Sep 21 05:29:17 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* stmt.c (any_pending_cleanups): Don't crash when
- 	current_function->stmt is unset.
- 
- Tue Sep 21 00:59:49 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* emit-rtl.c (init_emit_once): Initialize const_int_rtx before
- 	other initializations that may use it for relative offsets.
- 
- Mon Sep 20 21:43:25 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Use stabs.
- 	(ASM_SPEC): Moved from sol2dbg.h.  Added work-around for gas.
- 	* config/i386/sol2dbg.h: Removed.
- 	* config/i386/sol2gas.h: New file, to enable gas work-around.
- 	* configure.in: Use i386/sol2gas.h on Solaris/x86 --with-gas.
- 	Don't use sol2dbg.h.
- 	* configure: Rebuilt.
- 
- Mon Sep 20 13:29:41 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (-fthis-is-variable): Remove documentation.
- 
- Mon Sep 20 12:59:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (compute_bb_for_insn): Declare.
- 	* flow.c (compute_bb_for_insn): Export.  Don't accept the varray
- 	to use; set size of basic_block_for_insn directly.
- 	(find_basic_blocks): Update.
- 
- Mon Sep 20 15:11:54 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
- 
- Mon Sep 20 14:56:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* crtstuff.c (ON_EXIT): Delete empty macro definition.
- 	(__do_global_ctors_aux): Call atexit(), not ON_EXIT().
- 
- Mon Sep 20 15:25:35 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* c-decl.c (c_decode_option): Extend comment.
- 
- Mon Sep 20 14:43:37 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (progname): Make 'const char *'
- 	(flag_print_mem): Move out of main.
- 	(version_flag): Move out of main.
- 	(filename): Move out of main.
- 	(debug_args): Remove g prefix from options.
- 	(documented_lang_options): Remove cpplib specific options.
- 	(display_help): Add g prefix to debug options.
- 	(check_lang_option): Delete this function.
- 	(decode_d_option): New function: Decode -d... option.
- 	(decode_f_option): New function: Decode -f... option.
- 	(decode_W_option): New function: Decode -W... option.
- 	(decode_g_option): New function: Decode -g... option.
- 	(independent_decode_option): New function: Decode a language
- 	independent command line option.
- 	(main): Invoke lang_decode_option and then
- 	independent_decode_option on each command line option in
- 	turn.
- 
- Mon Sep 20 05:41:36 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	Revert this change.  Gavin's patch to operand_equal_p is a better fix.
- 	 * fold-const.c (fold_range_test): Do not try to fold the range
- 	 test if the rhs or lhs has side effects.
- 
- 	* basic-block.h (compute_flow_dominators): Declare.
- 
- 	* gcse.c (alloc_code_hoist_mem): New function.
- 	(free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
- 	(compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
- 	(hoist_code, one_code_hoisting_pass): Likewise.
- 	(gcse_main): If optimizing for size, then hoist expressions
- 	computed in multiple dominated basic blocks.
- 
- 	* gcse.c (invalid_nonnull_info): New function.
- 	(delete_null_pointer_checks): Likewise.
- 	* rtl.h (delete_null_pointer_checks): Declare.
- 	* toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
- 
- 	* flow.c (merge_blocks_move_predecessor_nojumps): New function.
- 	(merge-blocks_move_successor_nojumps): Likewise.
- 	(merge_blocks): Allow merging of some blocks, even if it requires
- 	physical movement of the blocks, but not if it requires new jumps.
- 
- 	* bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
- 	Callers and prototype changed.
- 	* bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
- 
- Mon Sep 20 06:56:32 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
- 	-YP when both -p and -pg are present.  From i386/sol2.h.
- 
- Mon Sep 20 10:49:05 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* Makefile.in (distclean): Delete tm_p.h.
- 	* configure.in: Create a new file, "tm_p.h", from a list in
- 	"tm_p_file". For ix86 systems, set up "tm_p_file" to include
- 	"i386/i386-protos.h".
- 
- 	* alias.c: Include "tm_p.h".
- 	* c-typeck.c: Likewise.
- 	* calls.c: Likewise.
- 	* cse.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* final.c: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* gcse.c: Likewise.
- 	* global.c: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* integrate.c: Likewise.
- 	* jump.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* optabs.c: Likewise.
- 	* recog.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reload.c: Likewise.
- 	* reload1.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree.c: Likewise.
- 	* unroll.c: Likewise.
- 	* genattrtab.c (main): Make generated file include "tm_p.h".
- 	* genemit.c (main): Likewise.
- 	* genoutput.c (main): Likewise.
- 	* genrecog.c (main): Likewise.
- 
- 	* i386.h: Delete all prototypes.
- 	* i386.c: Include "tm_p.h".
- 	(ix86_attr_length_default): Call constant_call_address_operand
- 	with correct number of arguments.
- 	* i386-protos.h: New file.
- 	* i386.md (unnamed patterns): Call constant_call_address_operand
- 	with correct number of arguments.
- 	(exception_receiver): Call load_pic_register with correct number
- 	of arguments.
- 
- Sun Sep 19 14:18:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-pragma.c (mark_align_stack): Dereference the void* properly.
- 
- Sun Sep 19 09:03:40 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (insns_safe_to_move_p): New function.
- 	* loop.c (find_and_verify_loops): Use it.
- 	* rtlanal.c (insns_safe_to_move_p): Define it.
- 
- Sun Sep 19 02:54:33 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-pragma.c: Include ggc.h.
- 	* Makefile.in (c-pragma.o): Update.
- 
- Sat Sep 18 16:01:18 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/i386/sol2.h (CPP_SPEC): Support -[p]threads
- 	(LIB_SPEC): Likewise.
- 	(LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
- 	Reindent -YP/-p/-pg.
- 	Copied from config/sparc/sol2.h.
- 
- Sat Sep 18 11:52:43 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-pragma.c (mark_align_stack): New.
- 	(init_pragma): New.
- 	* c-pragma.h (init_pragma): Declare it.
- 	* c-lex.c (init_parse): Call it.
- 
- Sat Sep 18 15:20:38 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* configure.in: Pick up thread library on Solaris/x86 just
- 	like on Solaris/sparc.
- 	* configure: Rebuilt.
- 
- Sat Sep 18 11:15:58 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* rtl.h (global_rtx_index): New enum.
- 	(global_rtl): Change to array of rtx.
- 	(pc_rtx, cc0_rtx): Redefine accordingly.
- 	(cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
- 	(hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
- 	(virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
- 	(virtual_outgoing_args_rtx, virtual_cfa): Likewise.
- 	(const_int_rtx): Change to array of rtx.
- 	(const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
- 	accordingly.
- 	* emit-rtl.c (global_rtl): Change to array of rtx.
- 	(const_int_rtx): Change to aray of rtx.
- 	(gen_rtx_CONST_INT): Redefine accordingly.
- 	(init_emit_once): Allocate and initialize global_rtl.  Likewise
- 	for const_int_rtx.  Add both as GC roots.
- 	* genattrtab.c (global_rtl): Update declaration.
- 
- 1999-09-17  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* Makefile (USER_H): Add iso646.h back.
- 
- Sat Sep 18 01:07:21 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
- 	zapping the LOG_LINKS of sched_before_next_call.
- 
- 	* pa.h (INSN_SETS_ARE_DELAYED): Delete.
- 	* pa.c (insn_refs_are_delayed): Renamed from
- 	insn_sets_and_refs_are_delayed.
- 
- Fri Sep 17 15:19:01 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* functiion.h (struct function): Add x_whole_function_mode_p.
- 	(retrofit_block): Declare.
- 	* function.c (retrofit_block): New function.
- 	(identify_blocks): Add assertions.  Allow an incomplete set of
- 	block notes if we're still generating code for the function.
- 	* integrate.c: Include loop.h.
- 	(expand_inline_function): Call find_loop_tree_blocks to map block
- 	notes to blocks when in whole-function mode.  Use retrofit_block
- 	to insert new BLOCKs for the inlined function, rather than
- 	insert_block.
- 	* stmt.c (expand_fixup): Likewise.  Don't use pushlevel/polevel.
- 	* Makefile.in (integrate.o): Depend on loop.h.
- 
- Fri Sep 17 15:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (warn_about_unused_variables): Declare.
- 	* stmt.c (warn_about_unused_variables): New function, split out
- 	from ...
- 	(expand_end_bindings): Here.
- 
- Fri Sep 17 15:07:37 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (preserve_subexpressions_p): Don't crash when
- 	current_function->stmt is unset.
- 
- Fri Sep 17 15:03:16 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_start_bindings): Allow callers to pass a flag
- 	indicating that no NOTE_INSN_BLOCK_BEG note is required.
- 	(expand_start_target_temps): Use it.
- 	* except.c (expand_eh_region_start_for_decl): Likewise.
- 	* expr.c (expand_expr): Likewise.
- 
- Fri Sep 17 15:05:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* fold-const.c (operand_equal_p): Pay attention to side effects.
- 
- Fri Sep 17 11:14:17 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
- 	* sparc/sunos4.h (HAVE_ON_EXIT): Remove.
- 
- 	* tlink.c (scan_linker_output): Look for keywords before accepting
- 	a mangled name in quotes.
- 
- Thu Sep 16 16:47:08 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
- 	* alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
- 
- Thu Sep 16 16:35:41 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md: Revert Thu Nov 26 change that came in through the
- 	last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
- 	Avoid earlyclobber when possible.
- 
- Thu Sep 16 18:44:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* libgcc2.c (__do_global_ctors): Call atexit with one arg.
- 
- 	* sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
- 	Define HAVE_ON_EXIT.
- 
- Thu Sep 16 18:06:35 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros.  Use
- 	CTYPE_CONV in all ctype macros.
- 
- 	* cccp.c (initialize_char_syntax): Use uppercase ctype macro
- 	from system.h.
- 
- 	* cexp.y (initialize_random_junk): Likewise.
- 
- 	* c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
- 
- 	* i370.c (handle_pragma): Likewise.
- 
- 	* i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
- 
- 	* v850.c (override_options): Likewise.
- 
- 	* doprint.c (_doprnt): Likewise.
- 
- 	* fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
- 	Likewise.
- 
- 	* fixinc/server.c (load_data): Likewise.
- 
- 	* fold-const.c (real_hex_to_f): Likewise.
- 
- 	* genattr.c (write_upcase, gen_attr): Likewise.
- 
- 	* genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
- 	write_upcase): Likewise.
- 
- 	* genemit.c (print_code): Likewise.
- 
- 	* genopinit.c (gen_insn): Likewise.
- 
- 	* genpeep.c (print_code): Likewise.
- 
- 	* genrecog.c (print_code): Likewise.
- 
- 	* optabs.c (init_libfuncs): Likewise.
- 
- Thu Sep 16 14:03:32 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* haifa-sched.c (sched_analyze): Keep the list of notes organized
- 	in pairs.
- 	(reemit_notes): Likewise.
- 
- Thu Sep 16 11:50:52 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* ggc.h (ggc_root): Move to ggc-common.c.
- 	(roots): Remove.
- 	(ggc_mark_rtx, ggc_mark_tree): Change to macro.
- 	(ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
- 	(ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
- 	(ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
- 	* ggc-common.c (ggc_root): Move from ggc.h.
- 	(roots): Declare, static.
- 	(ggc_mark_rtx, ggc_mark_tree): Renamed to...
- 	(ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
- 	null or check/set mark bit.
- 	(ggc_mark_roots): New.
- 	* ggc-simple.c (ggc_collect): Call ggc_mark_roots.
- 
- Thu Sep 16 11:37:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m32r.c: Include toplev.h.
- 	(*): Add ATTRIBUTE_UNUSED as needed to arguments.
- 	(gen_compare): Rename swap_p to must_swap to match uses.
- 	Add default abort case.
- 	(m32r_output_function_epilogue): Remove unused variables.
- 	(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
- 	* m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
- 	define to empty parameter list.  Update all uses.
- 	(predicate decls): Use enum machine_mode not int.
- 	* m32r.md (movsi): Call abort, not fatal_insn.
- 	(zero_branch_insn, rev_zero_branch_insn): Add default abort case.
- 
- 1999-09-14  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
- 	use $0 instead of 0.
- 
- Thu Sep 16 10:53:36 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (order_regs_for_reload): Move hard_reg_n_uses
- 	computation out of loop over hard regs.
- 
- Wed Sep 15 21:37:06 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (identify_blocks): Don't shadow a variable in an
- 	outer scope.
- 	* integrate.c (integrate_decl_tree): Don't use pushlevel,
- 	pushdecl, or poplevel to build up the new BLOCK tree.
- 	(expand_inline_function): Likewise.
- 	(integrate_parm_decls): Likewise.
- 
- Wed Sep 15 21:20:38 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-typeck.c (qualify_type): Merge qualifiers from both types.
- 
- 1999-09-15  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
- 	* invoke.texi: Document this change.
- 
- Wed Sep 15 17:56:00 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
- 	Free the struct.
- 	(mark_emit_status): Renamed from mark_emit_state.
- 	* except.c (mark_eh_status): Renamed from mark_eh_state.
- 	Check not null before marking.
- 	(free_eh_status): New.
- 	* expr.c (mark_expr_status, free_expr_status): New.
- 	* function.c (free_machine_status): New.
- 	(free_after_parsing): New.
- 	(free_after_compilation): Move bits to free_after_parsing; call
- 	free_eh_status, free_expr_status; zero the marked members of the
- 	function state.
- 	(prepare_function_start): No can_garbage_collect.
- 	Call init_eh_for_function.
- 	(expand_dummy_function_end): Free up current_function state.
- 	(mark_function_status): Renamed from mark_function_state.
- 	(mark_function_chain): No can_garbage_collect.  Call mark_expr_status.
- 	* function.h (struct function): No can_garbage_collect.
- 	(free_machine_status, free_after_parsing): Declare.
- 	(free_eh_status, free_expr_status): Declare.
- 	* ggc.h (mark_expr_status): Declare.
- 	* stmt.c (free_stmt_status): Free the struct.
- 	(mark_stmt_status): Renamed from mark_stmt_state.
- 	(init_stmt): Don't call init_eh.
- 	(init_stmt_for_function): Don't call init_eh_for_function.
- 	* toplev.c (compile_file): Call init_eh.
- 	(rest_of_compilation): Free basic block info before ggc_collect.
- 	Call free_after_parsing; conditionally call free_after_compilation.
- 	* varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
- 	Check not null before marking.
- 	(free_varasm_status): Don't check DECL_DEFER_OUTPUT.  Free the struct.
- 
- Wed Sep 15 17:53:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-lex.c (yylex): Initialize warn.
- 
- Wed Sep 15 18:35:38 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (emit_move_sequence): Properly set the mode of the scratch
- 	register when performing secondary reloads for the SAR register.
- 
- Wed Sep 15 15:51:52 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
- 	(NOTE_BLOCK): New macro.
- 	(NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
- 	* function.h (identify_blocks): Change prototype.
- 	* function.c (identify_blocks): Simplify.
- 	(reorder_blocks): Likewise.
- 	* ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
- 	NOTE_INSN_BLOCK_{BEG,END}.
- 	* haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
- 	the list of saved notes if the note isn't a
- 	NOTE_INSN_BLOCK_{BEG,END}.
- 	(move_insn1): Use NOTE_EH_HANDLER in comment, rather than
- 	NOTE_BLOCK_NUMBER.
- 	(reemit_notes): Adjust recreation of notes to reflect new saved
- 	note structure.
- 	* print-rtl.c (print_rtx): Print the address of the BLOCK when
- 	printing a block note.
- 	* stmt.c (block_vector): Remove.
- 	(find_loop_tree_blocks): Simplify.
- 	(unroll_block_trees): Likewise.
- 	* tree.h (reorder_block): Change prototype.
- 
- Wed Sep 15 14:39:35 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* gbl-ctors.h: Lose HAVE_ATEXIT.  Don't define ON_EXIT.
- 	* libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
- 	(__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
- 	(__do_global_dtors): Likewise.  Don't mess with _exit_dummy_decl.
- 	(atexit, exit): Simplify.
- 	* tm.texi: Document NEED_ATEXIT and ON_EXIT.  Remove HAVE_ATEXIT.
- 	* config/lots: Remove defns of HAVE_ATEXIT.
- 
- Wed Sep 15 10:25:12 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (precompute_arguments): Fix typo in comment.
- 	* expr.c (preexpand_calls): Don't preexpand the cleanup in a
- 	TARGET_EXPR.
- 
- Wed Sep 15 09:59:59 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dsp16xx.c (override_options): Fix typos in GC root registration.
- 
- Wed Sep 15 15:23:28 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
- 	from config/svr4.h.
- 	(UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
- 	(FUNCTION_PROFILER): Redefine appropriately for Linux.
- 	(CC1_SPEC): Likewise.
- 
- Wed Sep 15 10:09:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (main): Add extern prototype.  Call return, not exit.
- 	* genattrtab.c (main): Likewise.
- 	* gencheck.c (main): Likewise.
- 	* gencodes.c (main): Likewise.
- 	* genconfig.c (main): Likewise.
- 	* genemit.c (main): Likewise.
- 	* genextract.c (main): Likewise.
- 	* genflags.c (main): Likewise.
- 	* gengenrtl.c (main): Likewise.
- 	* genopinit.c (main): Likewise.
- 	* genoutput.c (main): Likewise.
- 	* genpeep.c (main): Likewise.
- 	* genrecog.c (main): Likewise.
- 
- 	* genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
- 	* genattrtab.c (get_insn_name): Likewise.
- 	* gencodes.c (get_insn_name): Likewise.
- 	* genconfig.c (get_insn_name): Likewise.
- 	* genemit.c (get_insn_name): Likewise.
- 	* genextract.c (get_insn_name): Likewise.
- 	* genflags.c (get_insn_name): Likewise.
- 	* genopinit.c (get_insn_name): Likewise.
- 	* genpeep.c (get_insn_name): Likewise.
- 
- 	* gencheck.c (usage): Add static prototype.
- 	* genextract.c (print_path): Constify a char*.
- 	* genopinit.c (optabs): Likewise.
- 	* genoutput.c (operand_data, data, output_predicate_decls,
- 	compare_operands): Likewise.
- 	* genrecog.c (write_tree): Add default case in switch.
- 
- Wed Sep 15 09:59:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
- 
- 	* print-rtl.c (get_insn_name): Remove prototype.
- 
- 	* toplev.h (progname): Declare const.
- 
- 	* toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
- 	init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
- 	dump_sched_info, dump_local_alloc, regset_release_memory,
- 	print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
- 	error_with_file_and_line, error_with_decl, error_for_asm, error,
- 	fatal, warning_with_file_and_line, warning_with_decl, warning,
- 	pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
- 	Remove redundant prototypes.
- 
- 	(notice, check_lang_option, report_file_and_line, vnotice,
- 	mark_file_stack): Add static prototype.
- 	(set_fatal_function): Add prototype.
- 	(vnotice, report_file_and_line, set_fatal_function,
- 	check_lang_option): Constify a char*.
- 	(main): Prototype.  Call return, not exit.
- 
- Wed Sep 15 09:50:18 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
- 
- 	* configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
- 
- 	* gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
- 
- 	* ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
- 
- Wed Sep 15 11:04:43 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* function.c (assign_parms): Delete arg SECOND_TIME.  Don't test it,
- 	behave as if it's zero in all cases.
- 	(expand_function_start): Adjust call to assign_parms.
- 	* tree.h (assign_parms): Adjust prototype.
- 	* objc/objc-act.c (hack_method_prototype): Adjust call to
- 	assign_parms.
- 
- Tue Sep 14 21:47:06 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
- 	arg_pointer_rtx fixed if the argument pointer register is
- 	not fixed.
- 	(NONZERO_BASE_PLUS_P): Likewise.
- 
- Tue Sep 14 20:26:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.def (match_insn, match_insn2): Remove match_insn; rename
- 	match_insn2 to match_insn.
- 	* genrecog.c (add_to_sequence): Rename MATCH_INSN2.
- 
- Tue Sep 14 20:10:29 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (USER_H): Remove va-foo.h.
- 
- 	* ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
- 	va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
- 	va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
- 	va-spur.h,va-v850.h}: Remove.
- 
- Tue Sep 14 19:43:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc/sparc.md (eligible_for_return_delay): New attribute.
- 	(in_return_delay): Use it instead of match_insn.
- 
- Tue Sep 14 23:05:37 1999  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/alpha/va_list.h (va-alpha.h): Do not include.
- 	(__gnuc_va_list): Typedef as in varargs.h.
- 
- Tue Sep 14 18:14:03 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
- 	DECL_LIVE_RANGE_RTL.
- 
- Tue Sep 14 16:47:08 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
- 	not NOTE_BLOCK_NUMBER.
- 	(expand_eh_region_end): Likewise.
- 	(find_exception_handler_labels): Likewise.
- 	(scan_region): Likewise.
- 	(exception_optimize): Likewise.
- 	(update_rethrow_references): Likewise.
- 	(set_insn_eh_region): Likewise.
- 	* final.c (final_scan_insn): Likewise.
- 	* flow.c (make_edges): Likewise.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 
- Tue Sep 14 16:30:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ginclude/stdarg.h, ginclude/varargs.h: Implement in
- 	terms of builtin functions and types.
- 
- 	* mips.c (mips_build_va_list): New.
- 	(mips_va_start, mips_va_arg): New.
- 	* mips.h (BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
- 
- 	* sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
- 	(sh_build_va_list, sh_va_start, sh_va_arg): New.
- 	* sh.h (BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
- 
- Tue Sep 14 16:20:24 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.h (struct recog_data): Make dup_num, operand_address_p,
- 	n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
- 	(struct insn_data): Likewise with n_operands, n_dups,
- 	n_alternatives, output_format.
- 	* regclass.c (scan_one_insn): Cast n_operands to int before
- 	arithmetic inside comparison.
- 
- Tue Sep 14 15:13:36 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (compile_function): Unconditionally emit nop.
- 
- Tue Sep 14 14:41:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* haifa-sched.c (actual_hazard): Move declaration of variable
- 	`this_cost' into the scope where it is used.
- 
- Tue Sep 14 14:14:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-pragma.c (handle_pragma_token): Wrap variables `name' and
- 	`value' in HANDLE_PRAGMA_WEAK.  Wrap variable `align' in
- 	HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
- 
- 	* genrecog.c (make_insn_sequence): Call memset, not bzero.
- 
- 	* jump.c (find_insert_position): Don't declare or define unless
- 	!HAVE_conditional_arithmetic.
- 	(returnjump_p_1, delete_prior_computation): Add static prototypes.
- 
- 	* mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
- 
- 	* recog.c (offsettable_address_p): Prototype function pointer.
- 	(preprocess_constraints): Call memset, not bzero.
- 
- 	* tree.c (tree_node_kind_names): Constify a char*.  Make static.
- 	(gcc_obstack_init): Don't declare.
- 	(fix_sizetype): Add static prototype.
- 	(gcc_obstack_init): Use prototype casts in call to _obstack_begin.
- 	(tree_cons): Call memset, not bzero.
- 
- 	* varasm.c (remove_from_pending_weak_list): Wrap declaration and
- 	definition in macro ASM_WEAKEN_LABEL.
- 	(mark_const_hash_entry): Add static prototype.
- 
- Tue Sep 14 12:22:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c (handle_generic_pragma): Remove unused variable `c'.
- 
- 	* unroll.c (find_common_reg_term, subtract_reg_term,
- 	loop_find_equiv_value): Add static prototypes.
- 	(unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
- 	(copy_loop_body): Remove unreachable break statement.
- 
- 	* sparc.c (sparc_va_arg): Remove unused variable `tmp'.
- 
- 	* sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
- 
- Tue Sep 14 15:28:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	Undo some changes from the gcc2 merge:
- 	* rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
- 	* emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
- 	pointers.
- 
- 	Undo this change:
- 	Sat Oct  3 07:20:28 1998  Stephen L Moshier  <moshier@world.std.com>
- 	* emit-rtl.c (gen_lowpart_common): Disable optimization of
- 	initialized float-int union if the value is a NaN.
- 
- Tue Sep 14 04:03:44 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* gthr-win32.h: New file.
- 
- 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
- 	shared as a valid attribute.
- 	* i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
- 	* extend.texi: Document `shared' variable attribute.
- 
- Tue Sep 14 04:01:46 1999  Loren Rittle  <ljrittle@acm.org>
- 
- 	* configure.in: Handle --enable-threads on FreeBSD.
- 	* configure: Rebuit.
- 
- Tue Sep 14 03:58:44 1999  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
- 
- 	* configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
- 	thread support.
- 	* configure: Rebuilt.
- 
- Tue Sep 14 03:47:23 1999  Joel Sherrill <joel@OARcorp.com>
- 			  Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
- 			  Rosimildo DaSilva <rdasilva@connecttel.com>
- 
- 	* configure.in (m68k-*-rtemscoff*): Added.
- 	* configure.in (mips64orion-*-rtems*): Converted to ELF.
- 	* configure.in (sparc-*-rtemsaout*): Added as alias for old
- 	sparc-rtems configuration.
- 	* configure.in (sparc-*-rtemself*): Added.
- 	* configure.in (sparc-*-rtems*): Now ELF not a.out.
- 	* config/i386/rtems.h: Added comment.
- 	* config/sparc/rtemself.h: New file.
- 
- 	* configure.in (m68k-rtemself): Added.
- 	* config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
- 	and DWARF_DEBUGGING_INFO.
- 	* config/m68k/crti.s: New file.
- 	* config/m68k/crtn.s: New file.
- 	* config/m68k/t-crtstuff: New file.
- 	* config/m68k/rtemself.h: New file.
- 
- 	* configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
- 	global ctor/dtor and C++ exception handling.
- 	* config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
- 	for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
- 	ENDFILE_SPEC.
- 	* config/i386/t-rtems-i386: New File.
- 
- Tue Sep 14 09:47:41 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* stmt.c (expand_end_case): Return right away if the case stack is
- 	empty.
- 
- Tue Sep 14 01:47:19 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (version.c): Remove rule incorrectly brought in from
- 	the gcc2 merge.
- 
- Tue Sep 14 01:42:27 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* Makefile.in:  Prepend $(SHELL) to move-if-change calls.
- 	* msdos/top.sed:  Take into account a prepended $(SHELL) to
- 	move-if-change.
- 	* winnt/config-nt.sed:  Likewise.  Kill bogus substitution.
- 
- 	* objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
- 
- Tue Sep 14 01:38:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (fixup_match_1): Don't change an unchanging register.
- 	(stable_but_for_p): Renamed to:
- 	(stable_and_no_regs_but_for_p).  Reject unchanging registers too.
- 	Changed all callers.
- 
- Tue Sep 14 01:33:15 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* loop.c (strength_reduce): Don't call reg_used_between_p if the
- 	insn from BL2 is after the insn from BL.
- 
- Mon Sep 13 21:06:01 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.h (INSN_OUTPUT_FORMAT_*): New.
- 	(struct insn_data): Merge `template' and `outfun' into `output'.
- 	Add `output_format'.
- 	* genoutput.c (INSN_OUTPUT_FORMAT_*): New.
- 	(struct data): Remove `outfun'; add `output_format'.
- 	(name_for_index): Remove declaration.
- 	(output_insn_data): Handle output formats.
- 	(process_template): Emit the bare array for @.
- 	(gen_expand, gen_split): Set output_format to NONE.
- 	* output.h (get_insn_template): Declare.
- 	* final.c (get_insn_template): New.
- 	(final_scan_insn): Use it.
- 	* toplev.c (compile_file): Likewise.
- 
- 	* c4x/c4x.c (c4x_process_after_reload): Likewise.
- 	* i860/i860.c (output_delayed_branch): Likewise.
- 	(output_delay_insn): Likewise.
- 
- 1999-09-13  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* rtl.c (obstack_alloc_rtx): Removed.
- 
- 1999-09-13 17:03 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
- 
- Mon Sep 13 15:21:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (call_insn_operand): Reject const_int.
- 	(expander_call_insn_operand): Use call_insn_operand.
- 
- Mon Sep 13 17:44:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (getrusage): Wrap prototype arguments in PROTO().
- 
- 1999-09-13 12:18 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
- 	Use DImode operation.
- 
- 1999-09-13 12:13 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* gcc.c: Include sys/resource.h.
- 	(report_times): New flag.
- 	(execute):  If report_times is set, calculate and report the
- 	CPU time consumed by each subprocess.
- 
- 	(rus, prus): New globals.
- 	(option_map): Add --time.
- 	(display_help): Document -time.
- 	(process_command): Set report_times if -time is given.
- 	Turn off -pipe if -time is given.
- 
- 	* invoke.texi: Document new option -time.
- 
- 	* configure.in: Check for getrusage.  Check if we have to
- 	prototype getrusage.
- 	* acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- Mon Sep 13 12:57:06 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
- 	fields.
- 
- Mon Sep 13 10:01:33 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
- 	appropriate) if FINE_GRAINED_LIBRARIES is not defined.
- 	(nan): Return _thenan_sf or _thenan_df as appropriate.
- 	(L_thenan_sf): Define _thenan_sf.
- 	(L_thenan_df): Define _thenan_df.
- 
- 	* Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
- 	(DPBIT_FUNCS): Add _thenan_df.
- 
- Mon Sep 13 09:38:53 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* tree.c (fix_sizetype):  Exchange the types for TYPE_SIZE and
- 	TYPE_SIZE_UNIT.
- 
- Sun Sep 12 23:28:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
- 
- 	* gcc.h: New file.
- 	(lang_specific_driver): Don't take a function pointer parameter.
- 	All callers changed.
- 
- 	* gcc.c: Include gcc.h.
- 	(do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
- 	lang_specific_extra_outfiles, fatal): Don't declare.
- 	(multilib_defaults_raw): Constify.
- 	(read_specs): Call memset, rather than bzero.
- 	(main): Call return, not exit.
- 	(lookup_compiler): Call memcpy, not bcopy.
- 	(fatal): Make extern.
- 
- 	* cppspec.c: Include gcc.h.
- 	(lang_specific_driver): Initialize variable `quote'.  Constify a
- 	char*.  All calls to the function pointer parameter now
- 	explicitly call `fatal'.
- 
- 	* gccspec.c (lang_specific_driver): Include gcc.h.
- 
- Sun Sep 12 19:52:10 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.c (note_invalid_constants): Use recog_data.operand_type
- 	for recog_op_type.
- 
- Sun Sep 12 15:53:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
- 	Declare.
- 
- 	* reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
- 	reload_reg_class, reload_inmode, reload_outmode, reload_optional,
- 	reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
- 	reload_secondary_in_reload, reload_secondary_out_reload,
- 	reload_secondary_in_icode, reload_secondary_out_icode,
- 	reload_reg_rtx, reload_when_needed): Delete declarations.
- 	(struct reload): New structure.
- 	(rld): Declare new array.
- 	* reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
- 	reload_reg_class, reload_inmode, reload_outmode, reload_optional,
- 	reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
- 	reload_secondary_in_reload, reload_secondary_out_reload,
- 	reload_secondary_in_icode, reload_secondary_out_icode,
- 	reload_reg_rtx, reload_when_needed): Delete definitions.
- 	(rld): New array.
- 	(whole file): Replace uses of the deleted arrays with uses of rld.
- 	* reload1.c (whole file): Replace uses of the deleted arrays with
- 	uses of rld.
- 	(choose_reload_regs): Copy in/out of save_reload_reg_rtx with
- 	explicit loops, not with bcopy.
- 
- Sun Sep 12 05:00:24 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
- 	insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
- 	insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
- 	insn_name): Delete and consolidate into new structures.
- 	(insn_operand_predicate_fn): New.
- 	(insn_output_fn): New.
- 	(insn_gen_fn): New.
- 	(struct insn_operand_data): New.
- 	(struct insn_data): New.
- 	(insn_data): New.
- 	(OUT_FCN): Update for insn_data change.
- 	* builtins.c (expand_builtin_strlen): Likewise.
- 	(expand_builtin_memcmp): Likewise.
- 	* combine.c (make_extraction, simplify_comparison): Likewise.
- 	* cse.c (canon_reg, cse_insn): Likewise.
- 	* explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
- 	* expmed.c (store_bit_field, extract_bit_field): Likewise.
- 	(emit_store_flag): Likewise.
- 	* expr.c (convert_move, emit_block_move): Likewise.
- 	(clear_storage, emit_push_insn, expand_increment): Likewise.
- 	(do_store_flag): Likewise.
- 	* expr.h (GEN_FCN): Likewise.
- 	(insn_gen_function): Die.
- 	* final.c (final_scan_insn): Update for insn_data change.
- 	(output_asm_name): Likewise.
- 	* function.c (fixup_var_refs_1): Likewise.
- 	* loop.c (check_dbra_loop): Likewise.
- 	* optabs.c (expand_binop, expand_twoval_binop): Likewise.
- 	(expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
- 	(prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
- 	(emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
- 	* recog.c (validate_replace_rtx_1, extract_insn): Likewise.
- 	* regmove.c (gen_add3_insn): Likewise.
- 	* reload.c (push_secondary_reload, combine_reloads): Likewise.
- 	(find_reloads, find_reloads_address_1): Likewise.
- 	(debug_reload_to_stream): Likewise.
- 	* reload1.c (emit_reload_insns, gen_reload): Likewise.
- 	* stmt.c (expand_end_case): Likewise.
- 	* toplev.c (compile_file): Likewise.
- 
- 	* c4x/c4x.c (c4x_process_after_reload): Likewise.
- 	* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
- 
- 	* print-rtl.c (insn_name_ptr): Remove declaration.
- 	(get_insn_name): Declare.
- 	(print_rtx): Use it.
- 	* genoutput.c (insn_name_ptr): Remove.
- 	(next_operand_number): New.
- 	(struct operand_data): New.
- 	(null_operand, odata, odata_end): New.
- 	(struct data): Use struct operand_data.
- 	(idata, idata_end): Renamed from insn_data and end_of_insn_data.
- 	(get_insn_name): Renamed from name_for_index.
- 	(output_prologue): Define NO_MD_PROTOTYPES.
- 	(output_predicate_decls): Break out from output_epilogue.
- 	Iterate over the operands list.
- 	(output_operand_data): Break out from output_epilogue.  Emit
- 	just the operands list.
- 	(output_insn_data): Break out from output_epilogue.  Emit just
- 	the insn data.
- 	(output_epilogue): Remove.
- 	(output_get_insn_name): New.
- 	(constraints, op_n_alternatives, predicates, address_p): Die.
- 	(modes, strict_low, seen): Die.
- 	(scan_operands): Take new param `d' instead of writing to
- 	seven global variables.
- 	(compare_operands): New.
- 	(place_operands): New.
- 	(validate_insn_alternatives): Update for struct data change.
- 	(gen_insn): Don't zero or copy 7 global arrays.  Update for
- 	scan_operands; call place_operands.
- 	(gen_peephole, gen_expand, gen_split): Likewise.
- 	(main): Update for new output routines.
- 
- 	* genattr.c (insn_name_ptr): Remove.
- 	(get_insn_name): New function.
- 	* genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
- 	* genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 
- 	* alpha.md (adddi3): Make `pattern' array static.
- 
- Sun Sep 12 22:05:21 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (c4x_rpts_cycles_string,
- 	c4x_cpu_version_string): Constify char *.
- 	* config/c4x/c4x.c (c4x_rpts_cycles_string,
- 	c4x_cpu_version_string): Likewise.
- 
- Sat Sep 11 23:28:33 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (save_tree_status): Revert 10 Sep change.
- 	(restore_tree_status): Likewise.  Call obstack_free with NULL
- 	before freeing the obstack proper.
- 
- Sat Sep 11 23:23:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (cse_main): If gc'ing, collect around cse_basic_block.
- 
- 	* ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
- 	surrounding context.
- 
- Sat Sep 11 19:52:43 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (type_hash_canon): Put all types in the hash-table, when
- 	GC'ing.
- 
- Sat Sep 11 18:37:04 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.h (struct recog_data, recog_data): New.
- 	(recog_foo variables): Kill.
- 	* recog.c (recog_operand, recog_operand_loc): Kill.
- 	(recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
- 	(recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
- 	(recog_constraints, recog_op_type, recog_operand_address_p): Kill.
- 	(recog_data): Define.
- 	(extract_insn): Update all recog_foo references to use recog_data.
- 	(preprocess_constraints, constrain_operands): Likewise.
- 	* final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
- 	* genattrtab.c (main): Likewise.
- 	* genextract.c (main): Likewise.
- 	* genoutput.c: Likewise.
- 	* genrecog.c (write_subroutine, main): Likewise.
- 	* local-alloc.c (block_alloc): Likewise.
- 	* reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
- 	* regclass.c (scan_one_insn, record_reg_classes): Likewise.
- 	* regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
- 	* reload.c (find_reloads, find_reloads_toplev): Likewise.
- 	* reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 
- 	* arc/arc.c (arc_final_prescan_insn): Likewise.
- 	* arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
- 	* h8300/h8300.c (notice_update_cc): Likewise.
- 	* i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
- 	* i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
- 	* mn10200/mn10200.c (notice_update_cc): Likewise.
- 	* mn10300/mn10300.c (notice_update_cc): Likewise.
- 	* romp/romp.c (update_cc): Likewise.
- 	* sparc/sparc.c (check_pic): Likewise.
- 	* v850/v850.c (notice_update_cc): Likewise.
- 
- 	* genemit.c (main): Don't declare recog_operand.
- 
- Sat Sep 11 12:41:55 1999  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* ggc.h (rtvec_def): Forward declare.
- 	(tree_node): Likewise.
- 	(ggc_root): Define.
- 	(roots): Declare.
- 	(ggc_set_mark_rtx): Add prototype.
- 	(ggc_set_mark_rtvec): Likewise.
- 	(ggc_set_mark_tree): Likewise.
- 	* ggc-simple.c (ggc_root): Don't define.
- 	(roots): Don't declare.
- 	(ggc_mark_rtx): Remove.
- 	(ggc_mark_rtvec): Likewise.
- 	(ggc_mark_tree): Likewise.
- 	(ggc_mark_varray): Likewise.
- 	(ggc_mark_tree_hash_table_entry): Likewise.
- 	(ggc_mark_tree_hash_table): Likewise.
- 	(ggc_set_mart_rtx): New function.
- 	(ggc_set_mark_rtvec): Likewise.
- 	(ggc_set_mark_tree): Likewise.
- 	(ggc_add_root): Remove.
- 	(ggc_add_rtx_root): Likewise.
- 	(ggc_remove_tree_root): Likewise.
- 	(ggc_add_string_root): Likewise.
- 	(ggc_add_tree_varray_root): Likewise.
- 	(ggc_add_tree_hash_table_root): Likewise.
- 	(ggc_del_root): Likewise.
- 	(ggc_mark_rtx_ptr): Likewise.
- 	(ggc_mark_tree_ptr): Likewise.
- 	(ggc_mark_string_ptr): Likewise.
- 	(ggc_mark_tree_varray_ptr): Likewise.
- 	(ggc_mark_tree_hash_table_ptr): Likewise.
- 	* ggc-common.c: New file.
- 	* Makefile.in (OBJS): Add ggc-common.o.
- 	(ggc-common.o): List dependencies.
- 
- 1999-09-10 22:37 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cppalloc.c (xstrdup): Use memcpy.
- 	* cpperror.c (cpp_print_containing_files): Don't use
- 	cpp_notice.
- 	* cpplib.c (conditional_skip): Set temp->lineno.
- 	(do_endif): Make error message less obscure.
- 	(if_directive_name): New function.
- 	(cpp_get_token [case EOF]): Unwind the if stack and generate
- 	error messages for each unterminated conditional in this file.
- 	(parse_string):  Do not behave differently if -traditional.
- 
- Fri Sep 10 14:04:07 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_va_arg): Cope with an array-type
- 	va_list decomposing to pointer-type.
- 	* rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
- 	(rs6000_va_arg): Likewise.
- 
- Fri Sep 10 13:21:21 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* except.c (start_dynamic_handler): Compute size using
- 	STACK_SAVEAREA_MODE.
- 
- Fri Sep 10 16:01:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* protoize.c: Remove various __STDC__ and POSIX hacks.  Don't
- 	include directory headers.  Don't define strrchr.  Don't provide
- 	my_* replacement functions.  Prefer PTR over `pointer_type'.
- 	Don't prototype system functions.  Don't redefine getopt.
- 
- 	(shortpath, fancy_abort, notice, savestring, dupnstr, substr,
- 	safe_read, safe_write, save_pointers, restore_pointers,
- 	is_id_char, in_system_include_dir, directory_specified_p,
- 	file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
- 	find_corresponding_lparen, referenced_file_is_newer,
- 	save_def_or_dec, munge_compile_params, gen_aux_info_file,
- 	process_aux_info_file, identify_lineno, check_source,
- 	seek_to_line, forward_to_next_token_char, output_bytes,
- 	output_string, output_up_to, other_variable_style_function,
- 	find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
- 	do_processing, is_syscalls_file, rename_c_file, find_extern_def,
- 	find_static_definition, connect_defs_and_decs, add_local_decl,
- 	add_global_decls, needs_to_be_converted, visit_each_hash_node,
- 	add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
- 	edit_fn_declaration, edit_formals_lists, edit_fn_definition,
- 	scan_for_missed_items, edit_file, string_list_cons): Add static
- 	prototypes.
- 	(standard_exec_prefix, target_machine, target_version,
- 	default_syscalls_dir, string_list, string_list_cons, find_file,
- 	do_cleaning): Constify a char*.
- 	(safe_read, safe_write): Use PTR, not a char*.
- 	(is_id_char): Take an int, not a char.
- 	(main): Add prototype.  Call return, not exit.
- 
- Fri Sep 10 16:48:26 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
- 	when comparing types.
- 
- Fri Sep 10 08:43:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
- 	(strength_reduce): Release the varrays from the no-bivs early exit.
- 
- 	* reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
- 	the loop over the registers.
- 
- 	* tree.c (save_tree_status): Set maybepermanent_firstobj NULL
- 	for a new obstack.
- 	(restore_tree_status): Check that instead when freeing the obstack.
- 
- Wed Sep  8 16:12:04 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
- 	as pointers.
- 
- Fri Sep 10 11:58:55 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* i386.md (ashlqi3): For NON_QI_REG_P regs, use sall.  Fix some
- 	operand size modifiers.
- 
- Fri Sep 10 10:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Don't build
- 	va_list_type_node.
- 	* c-common.h (enum c_tree_index and related accesor macros): Remove
- 	everything now declared in tree.h.
- 	* c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
- 	LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
- 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
- 	(error_mark_node, void_type_node, char_type_node, integer_type_node,
- 	unsigned_type_node, ptr_type_node, va_list_type_node,
- 	integer_zero_node, null_pointer_node, integer_one_node): Delete.
- 	(init_decl_processing): Call build_common_tree_nodes and
- 	build_common_tree_nodes_2 instead of building their nodes here.
- 	Don't add roots for these nodes.
- 	* stor-layout.c (size_zero_node, size_one_node): Delete.
- 	(set_sizetype): Make a new node for bitsizetype each time.
- 	* tree.c (global_trees): New variable.
- 	(init_obstacks): Add a gc root for it.
- 	(CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
- 	LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
- 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
- 	(build_common_tree_nodes): New function.
- 	(fix_sizetype): New function.
- 	(build_common_tree_nodes_2): New function.
- 	* tree.h (enum tree_index): New.
- 	(global_trees): Declare.
- 	Add accessor macros for all nodes now moved to global_trees.
- 	Delete their declarations.
- 
- Thu Sep  9 20:15:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (finish_function): When processing a nested function,
- 	push and pop GC context around rest_of_compilation.
- 
- Thu Sep  9 16:42:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
- 	Default ix86_arch to PROCESSOR_I386.
- 	* i386.h (CC1_CPU_SPEC): Don't add -march=foo.  Remove -mno-foo.
- 	(CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
- 	(CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
- 	(CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
- 	__tune_foo__ if no -mcpu.  Make -mcpu=bar define __tune_bar__.
- 	(EXTRA_SPECS): Remove deleted specs.
- 
- Thu Sep  9 16:03:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (assign_stack_local_1): Allocate from
- 	function->x_frame_offset, not frame_offset.
- 
- Thu Sep  9 14:36:31 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc.h (lang_cleanup_tree): Remove.
- 	* gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
- 	* ggc-callbacks.c (lang_cleanup_tree): Remove.
- 
- 	* c-decl.c (finish_struct): Use ggc_alloc to allocate
- 	TYPE_LANG_SPECIFIC when garbage collecting.
- 	(lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
- 	(lang_cleanup_tree): Remove.
- 
- Thu Sep  9 14:23:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
- 	* crtstuff.c: Not here.
- 	* dwarf2out.c: Or here.
- 	* libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
- 	info.
- 
- Thu Sep  9 09:40:58 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.h (free_after_compilation): Remove decl parameter.
- 	(free_varasm_status0: Likewise.
- 	(free_emit_status): Likewise.
- 	(free_stmt_status): Likewise.
- 	(free_after_compilation): Likewise.
- 	(init_lang_status): New variable.
- 	(free_lang_status): Likewise.
- 	* emit-rtl.c (free_emit_status): Make decl parameter implicit.
- 	* function.c (init_lang_status): New variable.
- 	(free_lang_status): Likewise.
- 	(push_function_context_to): Don't set function::decl here.
- 	(free_after_copmilation): Make decl parameter implicit.  Call
- 	free_lang_status if defined.
- 	(prepare_function_start): Call init_lang_status if defined.
- 	(init_function_start): Set function::decl here.
- 	* profile.c (output_func_start_profiler): Don't call pushdecl
- 	until we've actually started the function.
- 	* stmt.c (free_stmt_status): Make decl parameter implicit.
- 	* toplev.c (rest_of_compilation): Don't pass decl to
- 	free_after_compilation.
- 	* varasm.c (free_varasm_status): Likewise.
- 
- Thu Sep  9 17:23:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* except.c (call_get_eh_context): Add root when allocating static
- 	tree variable.
- 
- Thu Sep  9 15:24:59 BST 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.c: Include "ggc.h".
- 	(arm_add_gc_roots): New function.
- 	(arm_override_options): Call it.
- 	(aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
- 
- 	* arm.md (define_asm_attributes): Add a pool_range attribute.
- 
- Thu Sep  9 12:32:57 BST 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* extend.texi (Volatiles): New node.
- 
- Thu Sep  9 03:37:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
- 	(GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
- 	(struct ggc_any): Replace `mark' with `magic_mark'.
- 	(ggc_alloc_string): Use memcpy, not bcopy.
- 	(ggc_alloc_any): Set magic_mark.  Update bytes_alloced_since_gc.
- 	(ggc_free_{rtx,rtvec,tree,string}): Mark inline.
- 	(ggc_free_any): New.
- 	(ggc_mark_string): Use IGNORE_MARK.  Calc back to struct gcc_string.
- 	(ggc_mark): Use IGNORE_MARK.  Abort if magic doesn't match.
- 	(ggc_collect): Re-enable collection avoidance.  Use GGC_ANY_MARK.
- 	Use IS_MARKED. Use ggc_free_any.
- 
- 1999-09-09  Scott Bambrough <scottb@netwinder.org>
- 
- 	* config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
- 
- Thu Sep  9 01:55:21 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (main): Always init_ggc.
- 
- Wed Sep  8 23:53:22 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* except.c (find_all_handler_type_matches): Free the list if
- 	we found no matches.
- 
- 	* combine.c (SUBST): Break out to a real function do_SUBST.
- 	(SUBST_INT): Likewise.
- 	* gcse.c (free_pre_mem): Free `temp_bitmap'.
- 	(pre_insert): Free `inserted'.
- 	* loop.c (basic_induction_var): Always set `location'.
- 
- 	* function.c (expand_function_end): Add initial_trampoline as a root.
- 	* rtl.h (init_varasm_once): Declare.
- 	* toplev.c (compile_file): Call it.
- 	* ggc-simple.c (ggc_mark_string_ptr): New.
- 	(ggc_add_string_root): New.
- 	(ggc_collect): Disable collection avoidance temporarily.
- 	* ggc.h (ggc_add_string_root): Declare.
- 	* except.c (create_rethrow_ref): Use ggc_alloc_string.
- 	* optabs.c (init_libfuncs): Likewise.
- 	* varasm.c (named_section): Use ggc_alloc_string.
- 	(make_function_rtl): Likewise.
- 	(make_decl_rtl): Likewise.
- 	(assemble_static_space): Likewise.
- 	(assemble_trampoline_template): Likewise.
- 	(output_constant_def): Likewise.
- 	(force_const_mem): Likewise.
- 	(mark_const_hash_entry): New.
- 	(mark_pool_sym_hash_table): New.
- 	(mark_varasm_state): Use it.
- 	(init_varasm_once): New.
- 
- 	* expr.h (init_one_libfunc): Declare.
- 	* optabs.c (init_one_libfunc): New.
- 	(init_optabs): Use it.
- 	* config/gofast.h: Likewise.
- 	* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
- 	* config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
- 
- Thu Sep  9 13:46:06 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* Makefile.in (cppexp.o): Depend on cpphash.h.
- 	* cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
- 	Include cpphash.h.
- 	* cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
- 	* cpplib.c (do_define): Generalize to handle poisoned definitions,
- 	redefining poisoned identifiers, etc.
- 	(do_undef): Don't allow poisoned identifiers to be undefined.
- 	(do_pragma): Add #pragma poison.
- 	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
- 
- 	* cccp.c: Add T_POISON node type.
- 	(special_symbol): Handle `defined(xxx)' and plain `xxx' for
- 	poisoned xxx.
- 	(do_define): Generalize to handle poisoned definitions,
- 	redefining poisoned identifiers, etc.
- 	(do_undef): Don't allow poisoned identifiers to be undefined.
- 	(do_pragma): Add #pragma poison.
- 	(do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
- 
- 	* c-pragma.c (handle_pragma_token): Ignore #pragma poison.
- 	* c-pragma.h: Add ps_poison state.  We now always have generic
- 	pragmas.
- 
- Wed Sep  8 20:30:42 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc.h (ggc_alloc): New function.
- 	(ggc_mark): Likewise.
- 	* ggc-simple.c (ggc_any): New structure.
- 	(ggc_status): Add anys.
- 	(n_anys_collected): New variable.
- 	(ggc_alloc): Define.
- 	(ggc_mark): Likewise.
- 	(ggc_collect): Collect the anys.
- 
- Wed Sep  8 20:15:14 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (mark_binding_level): Make static to match prototype.
- 
- Wed Sep  8 16:41:27 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
- 
- Wed Sep  8 16:07:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
- 	will use into account.  Expand the max width to 5.
- 	* rtl.c: Likewise.
- 
- Wed Sep  8 16:01:14 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ggc-simple.c (ggc_free_rtx): Poison the correct amount
- 	for the rtx length.
- 
- Wed Sep  8 15:23:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (call value patterns): Remove the result predicates.
- 
- Wed Sep  8 13:35:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
- 	last change.
- 
- Wed Sep  8 15:32:16 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (sbrk, malloc, calloc, realloc): Backup prototypes
- 	changed from extern char *, to extern PTR.  Also fix typo in
- 	NEED_DECLARATION_REALLOC test.
- 
- 	* mips-tdump.c (malloc, calloc, realloc): Don't prototype.
- 
- Wed Sep  8 11:40:47 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
- 	ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
- 	ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
- 	ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
- 
- 	* c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
- 
- 	* cccp.c (pcfinclude): Likewise.
- 
- 	* global.c (allocno_compare): Likewise.
- 
- 	* haifa-sched.c (rank_for_schedule): Likewise.
- 
- 	* local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
- 
- 	* reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
- 
- 	* stupid.c (stupid_reg_compare): Likewise.
- 
- 	* tree.c (_obstack_allocated_p): Likewise.
- 
- 	* varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
- 
- 1999-09-08  Bruce Korb  autogen@linuxbox.com
- 
- 	* Makefile.in: Give the hapless gperf user a hint about
- 	why "gperf -F" fails.
- 
- Wed Sep  8 04:43:22 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* lists.c: Include ggc.h.
- 	(zap_lists): New.
- 	(init_EXPR_INSN_LIST_cache): Install it.
- 
- 	* ggc-simple.c (init_ggc): Absorb the old init.
- 	(ggc_push_context): Use xcalloc.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
- 	(ggc_collect): Add [rvts] tags to the collection stats.
- 
- Wed Sep  8 11:14:25 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* cccp.c (main): Fix handling of -include and -imacros options.
- 
- Wed Sep  8 02:23:08 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cpplib.c (cpp_push_buffer): Fix order of arguments.
- 
- Wed Sep  8 04:44:09 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* rtl.h (obstack_alloc_rtx): Removed, it's now static in
- 	genrtl.c.
- 
- Wed Sep  8 00:33:43 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
- 
- 	* flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
- 	* haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
- 	and SET_DEST. Update comment.
- 
- Wed Sep  8 18:55:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c: Include ggc.h.
- 	(c4x_add_gc_roots): New function.
- 	(c4x_override_options): Call c4x_add_gc_roots.
- 
- Wed Sep  8 00:00:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* defaults.h (TARGET_ESC): Move ...
- 	* system.h: ... here, where Linas had it in the first place.  Silly me.
- 
- Tue Sep  7 23:46:35 1999  Linas Vepstas  <linas@linas.org>
- 
- 	* c-common.c: Use ISGRAPH, ISLOWER, toupper.
- 	* c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
- 	genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
- 	* system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
- 	* defaults.h (TARGET_ESC): Add default.
- 
- Tue Sep  7 23:36:59 1999  Linas Vepstas  <linas@linas.org>
- 
- 	* configure.in: add i370-*-openedition, i370-*-mvs and
- 	i370-*-linux targets
- 
- Tue Sep  7 23:31:53 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dsp16xxx.c: Include ggc.h
- 	(override_options): Mark GC roots.
- 	* mn10200.c: Include ggc.h.
- 	(asm_file_start): Mark GC roots.
- 	* tahoe.c: Include ggc.h.
- 	(extensible_operand): Mark GC roots.
- 
- Tue Sep  7 23:23:15 1999  Linas Vepstas  <linas@linas.org>
- 
- 	* README: Add section discussing status of ELF ABI.
- 	* i370.c: Fix misc spelling mistakes.
- 	(i370_label_scan): Updated notes, exception handling.
- 	(i370_function_prolog): Simplify ELF stack handling.
- 	* i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
- 	(STACK_GROWS_DOWNWARD): ELF stack grows down.
- 	(ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
- 	* i370.md: (movdi): Add notes.
- 	(floatsidf2): Use stack not rtca for scratch float area.
- 	(iorsi3): Correct operand constraints.
- 	* x-oe: Restore TAROUTOPTS which are used by pax.
- 
- Tue Sep  7 22:39:18 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rs6000.c: Include ggc.h.
- 	(rs6000_add_gc_roots): New function.
- 	(override_options): Call it.
- 
- Tue Sep  7 22:09:03 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (alpha_compare): New.
- 	(alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
- 	* alpha.c: Likewise for the definitions.
- 	(alpha_emit_conditional_branch): Update for alpha_compare.
- 	(alpha_emit_conditional_move): Likewise.
- 	* alpha.md (cmpdf, cmpdi): Likewise.
- 	(setcc patterns): Likewise.  Zero alpha_compare after use.
- 	(sne): Optimize (x != 0) into (0U < x).
- 
- Tue Sep  7 21:55:02 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
- 	(struct machine_function): Declare; add eh_epilogue_sp_ofs.
- 	(INIT_EXPANDERS): Remove.
- 	* alpha.c: Include ggc.h.
- 	(alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
- 	(alpha_init_machine_status, alpha_mark_machine_status): New.
- 	(override_options): Install them.
- 	(struct machine_function): Moved to alpha.h.
- 	(alpha_save_machine_status, alpha_restore_machine_status): Remove.
- 	(alpha_init_expanders): Remove.
- 	(alpha_return_addr): Adjust to use current_function->machine.
- 	(alpha_ra_ever_killed): Likewise.
- 	(alpha_expand_epilogue): Likewise.
- 	* alpha.md (eh_epilogue): Likewise.
- 
- Wed Sep  8 14:34:42 1999  Ian Piumarta  <piumarta@prof.inria.fr>
- 			  Melissa O'Neill  <oneill@cs.sfu.ca>
- 			  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
- 	call-used registers (call-saved registers must still be contiguous
- 	and end with r31, of course).
- 
- Tue Sep  7 21:41:38 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
- 	(self_promoting_type_p): Delete.
- 	(self_promoting_args_p): Move ...
- 	* c-common.c: ... here.
- 	(c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
- 	(simple_type_promotes_to): New.
- 	* builtins.c (lang_type_promotes_to): New.
- 	(expand_builtin_va_arg): Use it to give diagnostic for illegal types.
- 	* c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
- 	* c-common.h: ... here.
- 	(self_promoting_args_p, simple_type_promotes_to): Declare.
- 	* c-decl.c (duplicate_decls): Use simple_type_promotes_to.
- 	(grokdeclarator): Likewise.
- 	* tree.h (lang_type_promotes_to): Declare.
- 
- Tue Sep  7 17:15:21 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Add some machine-dependent GC roots.
- 	* sparc.c: Include ggc.h.
- 	(sparc_add_gc_roots): New function.
- 	(mark_ultrasparc_pipeline_state): Likewise.
- 	(override_options): Call sparc_add_gc_roots.
- 	* pa.c: Include ggc.h.
- 	(pa_add_gc_roots): New function.
- 	(mark_deferred_plabels): Likewise.
- 	(override_options): Call pa_add_gc_roots.
- 	* mips.c: Include ggc.h.
- 	(mips_add_gc_roots): New function.
- 	(override_options): Use it.
- 
- Tue Sep  7 11:39:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpperror.c (cpp_file_line_for_message): Constify a char*.
- 
- 	* cppexp.c (parse_number, parse_charconst, cpp_lex,
- 	cpp_parse_expr): Add static prototypes.
- 	(parse_charconst): Don't cast away const-ness.
- 	(token): Constify a char*.
- 
- 	* cppfiles.c (file_name_list, include_hash, find_include_file,
- 	finclude, initialize_input_buffer): Constify a char*.
- 	(file_cleanup, find_position): Add static prototypes.
- 
- 	* cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
- 	collect_expansion): Add static prototypes.
- 	(cpp_install, create_definition, monthnames): Constify a char*.
- 
- 	* cpphash.h (cpp_install): Likewise.
- 
- 	* cppinit.c (known_suffixes, default_include,
- 	dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
- 	(base_name, dump_special_to_buffer, initialize_dependency_output):
- 	Add static prototypes.
- 
- 	* cpplib.c (my_strerror): Constify a char*.
- 	(null_underflow, null_cleanup, skip_comment, copy_comment,
- 	copy_rest_of_line, handle_directive, pass_thru_directive,
- 	get_directive_token, read_line_number, cpp_print_file_and_line,
- 	v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
- 	v_cpp_warning_with_line, detect_if_not_defined,
- 	consider_directive_while_skipping): Add static prototypes.
- 	(pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
- 	cpp_pedwarn_with_file_and_line): Constify a char*.
- 
- 	* cpplib.h (cpp_options, include_hash, progname, definition,
- 	cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
- 	check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
- 	find_include_file, deps_output, include_hash): Constify a char*.
- 
- 	* cppmain.c (progname): Constify.
- 	(main): Add prototype.  Use return, not exit.
- 
- 	* fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
- 	recognized_macro, check_macro_names, read_scan_file, write_rbrac,
- 	inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
- 	check_protection): Add static prototype.
- 	(xfree): Remove.
- 	(progname, recognized_macrom, recognized_extern): Constify a char*.
- 	(main): Add prototype.
- 
- 	* gen-protos.c (progname): Constify a char*.
- 
- Tue Sep  7 00:47:52 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* emit-rtl.c (free_emit_status): Take decl as a parameter.
- 	(init_emit_once): Add more GC roots.
- 	* except.c (mark_func_eh_entry): New function.
- 	(mark_eh_node): Mark false_label and rethrow_label.
- 	(init_eh): Add more GC roots.
- 	* function.c (free_after_compilation): Take decl as a parameter.
- 	Call free_stmt_status.
- 	(mark_function_state): Don't assume x_parm_reg_stack_loc is
- 	non-NULL.
- 	* function.h (free_after_compilation): Change prototype.
- 	(free_varasm_status): Likewise.
- 	(free_emit_status): Likewise.
- 	(free_stmt_status): New function.
- 	* ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
- 	Remove, replacing with ...
- 	(ggc_status): New structure.
- 	(ggc_chain): New variable.
- 	(init_gcc): Define.
- 	(ggc_push_context): New function.
- 	(ggc_pop_context): Likewise.
- 	(ggc_alloc_rtx): Adjust for use of ggc_chain.
- 	(ggc_alloc_rtvec): Likewise.
- 	(ggc_alloc_tree): Likewise.
- 	(ggc_alloc_string): Likewise.
- 	(ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
- 	(ggc_mark_tree): Give language-dependent code a chance to mark
- 	`x' nodes.
- 	(ggc_mark_tree_varray): Handle empty arrays.
- 	(ggc_collect): Adjust for use of ggc_chain.  Clear
- 	bytes_alloced_since_last_gc.
- 	* ggc.h (ggc_pop_context): New function.
- 	(ggc_push_context): Likewise.
- 	* print-tree.c (print_node): Don't print obstacks when GC'ing.
- 	* stmt.c (free_stmt_status): New function.
- 	(init_stmt_for_function): Clear last_expr_value.
- 	* toplev.c (rest_of_compilation): Always call free_after_compilation.
- 	Conditionalize call to ggc_collect.
- 	(main): Call init_ggc.
- 	* tree.c (push_obstacks): Do the push, even when GC'ing.
- 	(push_obstacks_nochange): Likewise.
- 	(pop_obstacks): Liekwise.
- 	* varasm.c (free_varasm_status): Take decl as a parameter.
- 
- Tue Sep  7 08:15:49 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
- 	(MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
- 	* config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
- 	* config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
- 
- Tue Sep  7 03:42:45 1999  Mark Klein (mklein@dis.com)
- 
- 	* pa/x-pa-mpeix: New file for the MPE port.
- 
- 	* pa/quadlib.asm: New file for long double support.
- 
- 	* configure.in: Add hppa1.0-*-mpeix for MPE port.
- 	* configure: Rebuilt.
- 
- Tue Sep  7 10:08:40 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* final.c (shorten_branches): Fix last change.
- 
- Tue Sep  7 00:30:32 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
- 
- Mon Sep  6 22:44:47 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Merge from gcc2 snapshot Jan 9, 1999.  See FSFChangeLog for
- 	details.
- 
- Mon Sep  6 22:31:28 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c (concat): Don't define.
- 
- 	* cccp.c (my_strerror): Likewise.  All callers changed to use
- 	xstrerror instead.
- 	(do_include): Call xstrdup, not xmalloc/strcpy.
- 	(grow_outbuf): Don't check if xrealloc returns NULL, it can't.
- 	(xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
- 
- 	* collect2.c (my_strsignal): Likewise.  All callers changed to use
- 	strsignal instead.
- 	(locatelib): Call xstrdup, not xmalloc/strcpy.
- 
- 	* 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
- 
- 	* dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
- 
- 	* i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
- 
- 	* mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
- 
- 	* cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
- 
- 	* dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
- 
- 	* except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
- 	malloc/realloc.
- 	(find_all_handler_type_matches): Likewise.  Don't check return
- 	value.
- 	(get_new_handler, init_insn_eh_region, process_nestinfo): Call
- 	xmalloc, not malloc.
- 	(init_eh_nesting_info): Likewise.  Call xcalloc, not xmalloc/bzero.
- 
- 	* gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
- 	(init_spec): Call xcalloc, not xmalloc/bzero.
- 	(set_spec): Call xstrdup, not save_string.
- 	(record_temp_file): Call xstrdup, not xmalloc/strcpy.
- 	(find_a_file): Call xstrdup, not xmalloc/strcpy.
- 	(process_command): Call xstrdup, not save_string.
- 	(main): Call xcalloc, not xmalloc/bzero.
- 
- 	* gcov.c (xmalloc): Don't define.
- 	(create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
- 	(scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
- 	(output_data): Call xcalloc, not xmalloc/bzero.
- 
- 	* haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
- 
- 	* mips-tdump.c (xmalloc): Don't define.
- 	(print_symbol): Call xmalloc, not malloc.
- 	(read_tfile): Call xcalloc, not calloc.
- 
- 	* mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
- 	Don't define.  All callers of xfree/my_strsignal changed to use
- 	free/strsignal instead.
- 	(allocate_cluster): Call xcalloc, not calloc.
- 
- 	* objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
- 	Fix memory leak, free allocated memory.
- 
- 	* prefix.c (translate_name): Call xstrdup, not save_string.
- 	(update_path): Likewise.
- 
- 	* profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
- 
- 	* protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
- 	Don't define.  Callers of xfree/savestring2 changed to use
- 	free/concat instead.
- 
- 	* reload1.c (reload): Call xcalloc, not xmalloc/bzero.
- 	(init_elim_table): Likewise.
- 
- 	* resource.c (init_resource_info): Likewise.
- 
- 	* stupid.c (stupid_life_analysis): Likewise.
- 
- 	* toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
- 	(open_dump_file): Call concat, not xmalloc/strcpy/...
- 	(clean_dump_file): Likewise.
- 	(compile_file): Call xstrdup, not xmalloc/strcpy.
- 
- Mon Sep  6 15:04:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* v850.h (EXPAND_BUILTIN_VA_ARG): New.
- 	* v850.c (v850_va_arg): New.
- 
- Tue Sep  7 09:36:01 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* haifa-sched.c: Tidy comments.
- 
- Mon Sep  6 14:30:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
- 	(c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
- 	$(out_object_file)): Depend on ggc.h.
- 	* c-common.c: Include "ggc.h".
- 	(combine_strings): If doing GC, use ggc_alloc_string.
- 	* c-decl.c: Include "ggc.h".
- 	(ggc_p): Define with value 0.
- 	(mark_binding_level): New function.
- 	(init_decl_processing): Add GC roots.
- 	(mark_c_function_context): New function.
- 	(lang_mark_false_label_stack): New function.
- 	(lang_mark_tree): New function.
- 	(lang_cleanup_tree): New function.
- 	* c-lang.c: Include "ggc.h".
- 	(lang_init): Call c_parse_init.
- 	* c-lex.c: Include "ggc.h".
- 	(check_linenum): If doing GC, don't copy filenames to permanent
- 	obstack.
- 	* c-parse.in: Include "ggc.h".
- 	(c_parse_init): New function.
- 	* c-tree.h (c_parse_init, mark_c_function_context): Declare.
- 	* objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
- 
- 	* except.c (mark_eh_state): Mark more state.
- 	* function.c (mark_function_state): Likewise.
- 	* ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
- 	(ggc_alloc_string) [GGC_DUMP]: Fix typo.
- 	* toplev.c (mark_file_stack): New function.
- 	(compile_file): If doing GC, use ggc_alloc_string on input filename.
- 	(main): Add root for input_file_stack.
- 
- 	* i386.c: Include "ggc.h".
- 	(ix86_mark_machine_status): New function.
- 	(override_options): Set mark_machine_status.
- 
- Mon Sep  6 15:26:23 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.c (copy_node): Copy node contents also if doing GC.
- 
- Mon Sep  6 08:42:06 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* collect2.c (scan_libraries): Fix double-thinko :-).
- 
- Mon Sep  6 02:42:36 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* collect2.c (scan_libraries): Fix thinko.
- 
- 	* cse.c (delete_trivially_dead_insns): Do not skip the last
- 	insn if it is a real insn.
- 
- Sun Sep  5 18:57:42 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (ggc-simple.o): Depend on hash.h.
- 	* ggc.h (ggc_add_tree_hash_table_root): Declare.
- 	(ggc_mark_tree_varray): Likewise.
- 	(ggc_mark_tree_hash_table): Likewise.
- 	* ggc-simple.c: Include hash.h.
- 	(ggc_mark_tree_hash_table_ptr): New function.
- 	(ggc_mark_tree_hash_table_entry): Likewise.
- 	(ggc_mark_tree_hash_table): Likewise.
- 	(ggc_add_tree_hash_table_root): Likewise.
- 	* varray.h (const_equiv_data): Use struct rtx_def *, rather than
- 	rtx, when defining fields.
- 
- Sun Sep  5 18:57:42 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
- 
- 	* profile.c (output_func_start_profiler): Remove apparently
- 	nonsensical call to start_sequence.
- 
- Sun Sep  5 17:34:33 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* clipper/clipper.c (clipper_va_start): Fix typos.
- 
- 	* pyr/pyr.c (pyr_build_va_list, pyr_va_start, pyr_va_arg): New stubs.
- 	* spur/spur.c (spur_build_va_list, spur_va_start): New stubs.
- 	(spur_va_arg): New stub.
- 
- 	* configure.in: Comment out pyramid.
- 
- Sun Sep  5 19:11:01 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* i386.h (MASK_{DEBUG_{ADDR,ARG},INTEL_SYNTAX}): Move so these
- 	don't conflict with the bits that win32, cygwin, and dgux
- 	defines.
- 
- Sun Sep  5 09:31:56 1999  Richard Henderson  <rth@cygnus.com>
- 			  Bernd Schmidt <bernds@cygnus.co.uk>
- 
- 	* integrate.c (function_cannot_inline_p): Do not inline
- 	functions with forced labels.
- 
- Sun Sep  5 00:35:17 1999  Richard Henderson  <rth@cygnus.com>
- 			  Bernd Schmidt <bernds@cygnus.co.uk>
- 			  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (ggc-simple.o): Depend on varray.h.
- 	(rtl.o): Depend on ggc.h.
- 	(genattrtab.o): Depend on ggc.h.
- 	(print-tree.o): Likewise.
- 	(fold-const.o): Likewise.
- 	* emit-rtl.c (sequence_element_free_list): Remove, and all references.
- 	(make_insn_raw): Don't cache insns when GC'ing.
- 	(emit_insn_before): Likewise.
- 	(emit_insn_after): Likewise.
- 	(emit_insn): Likewise.
- 	(start_sequence): Use xmalloc to allocate the sequence_stack.
- 	(end_sequence): Add free to free it.
- 	(gen_sequence): Don't cache insns when GC'ing.
- 	(clear_emit_caches): Don't use sequence_element_free_list.
- 	(init_emit): Use xcalloc, not xmalloc+bzero.
- 	* fold-const.c (size_int_wide): Kill the cache, when GC'ing.
- 	* function.c (pop_function_context_from): Use free to free the
- 	fixup_var_refs_queue.
- 	(put_reg_into_stack): Allocate it with xmalloc.
- 	* genattrtab.c: Include ggc.h.
- 	(operate_exp): Don't use obstack_free when GC'ing.
- 	(simplify_cond): Likewise.
- 	(simplify_text_exp): Likewise.
- 	(optimize_attrs): Likewise.
- 	* gengenrtl.c (gendef): Use ggc_alloc_rtx to allocate RTL, when
- 	GC'ing.
- 	(gencode): Generate a #include for ggc.h.
- 	* ggc-callbacks.c (ggc_p): Define it to zero.
- 	* ggc-none.c (ggc_p): Likewise.
- 	* ggc-simple.c: Include varray.h.
- 	(ggc_mark_tree_varray): New function.
- 	(ggc_add_tree_varray_root): Likewise.
- 	(ggc_mark_tree_varray_ptr): Likewise.
- 	* ggc.h (ggc_p): Declare.
- 	(varray_head_tag): Likewise.
- 	(ggc_add_tree_varray_root): Declare.
- 	* print-tree.c (print_node): Don't check for TREE_PERMANENT
- 	inconsistencies when GC'ing.
- 	* rtl.c: Include ggc.h.
- 	(rtvec_alloc): Use ggc_alloc_rtvec when GC'ing.
- 	(rtx_alloc): Use ggc_alloc_rtx when GC'ing.
- 	(rtx_free): Don't call obstack_free when GC'ing.
- 	* toplev.c (rest_of_compilation): Call ggc_collect after every
- 	pass, if GC'ing.
- 	* tree.c (push_obstacks): Do nothing, if GC'ing.
- 	(pop_obstacks_nochange): Likewise.
- 	(pop_obstacks): Likewise.
- 	(make_node): Use ggc_alloc_tree when GC'ing.
- 	(copy_node): Likewise.
- 	(get_identifier): Use ggc_alloc_string when GC'ing.
- 	(build_string): Likewise.
- 	(make_tree_vec): Use ggc_alloc_tree when GC'ing.
- 	(tree_cons): Likewise.
- 	(build1): Likewise.
- 	(type_hash_canon): Don't call obstack_free when GC'ing.
- 
- Sat Sep  4 21:52:32 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (schedule_block): Use next_nonnote_insn instead
- 	of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
- 
- Sat Sep  4 20:40:19 1999  Richard Henderson  <rth@cygnus.com>
- 			  Bernd Schmidt <bernds@cygnus.co.uk>
- 			  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (stor-layout.o): Depend on ggc.h.
- 	(expr.o): Depend on ggc.h.
- 	(profile.o): Depend on ggc.h.
- 	(stor-layout.o): Depend on ggc.h.
- 	* emit-rtl.c (init_emit_once): Add gc roots.
- 	* expr.c: Include ggc.h.
- 	(emit_block_move): Add gc roots.
- 	(clear_storage): Likewise.
- 	* expr.h (init_stor_layout_once): New function.
- 	* profile.c: Include ggc.h.
- 	(init_arc_profiler): profiler_label is a root.
- 	* scan.c (make_sstring_space): Trust xrealloc to function
- 	correctly with first parameter NULL.
- 	* stor-layout.c: Include ggc.h.
- 	(set_sizetype): Add gc root.
- 	(init_stor_layout_once): New function.
- 	* toplev.c (compile_file): Call it.
- 
- Sat Sep  4 19:26:25 1999  Richard Henderson  <rth@cygnus.com>
- 			  Bernd Schmidt <bernds@cygnus.co.uk>
- 			  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (tree.o): Depend on ggc.h.
- 	(varasm.o): Likewise.
- 	(function.o): Likewise.
- 	(stmt.o): Likewise.
- 	(except.o): Likewise.
- 	(optabs.o): Likewise.
- 	(emit-rtl.o): Likewise.
- 	* emit-rtl.c: Include ggc.h.
- 	(sequence_element_free_list): Remove, and all references.
- 	(mark_sequence): New functions.
- 	(mark_emit_state): New function.
- 	* except.c: Include ggc.h.
- 	(mark_eh_node, mark_eh_stack, mark_eh_queue): New functions.
- 	(mark_tree_label_node): New functions.
- 	(mark_eh_state): New function.
- 	* function.c: Include ggc.h.
- 	(mark_temp_slot, mark_function_chain): New functions.
- 	(mark_function_state): New function.
- 	(init_function_once): New function.
- 	* function.h (init_function_once): New function.
- 	* ggc-callbacks.c (lang_mark_false_label_stack): New function.
- 	* ggc.h (label_node): Declare.
- 	(eh_status, emit_status, stmt_status, varasm_status): Likewise.
- 	(lang_mark_false_label_stack): New function.
- 	(mark_temp_slot): Remove declaration.
- 	(mark_function_chain): Likewise.
- 	(mark_eh_state): Adjust prototype.
- 	(mark_stmt_state, mark_emit_state, mark_varasm_state, mark_optab):
- 	Likewise.
- 	* optabs.c: Include ggc.h.
- 	(mark_optab): New function.
- 	(init_optabs): Add gc roots.
- 	* stmt.c: Include ggc.h.
- 	(mark_cond_nesting, mark_loop_nesting): New functions.
- 	(mark_block_nesting, mark_case_nesting, mark_goto_fixup): Likewise.
- 	(mark_stmt_state): New function.
- 	* toplev.c (compile_file): Call init_function_once.
- 	* tree.c: Include ggc.h.
- 	(type_hash): Move declaration earlier in file.
- 	(TYPE_HASH_SIZE, type_hash_table): Likewise.
- 	(init_obstacks): Add gc roots.
- 	(mark_type_hash): New function.
- 	* varasm.c: Include ggc.h.
- 	(mark_pool_constant): New function.
- 	(mark_varasm_state): New function.
- 
- Sat Sep  4 22:28:56 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
- 
- Sat Sep  4 18:01:45 1999  Bernd Schmidt <bernds@cygnus.co.uk>
- 
- 	* c-decl.c (struct language_function): Renamed from struct c_function.
- 	Delete elt NEXT.
- 	(c_function_chain): Delete.
- 	(push_c_function_context): New arg F.  Don't warn about nested
- 	functions here.  Fill LANGUAGE elt of F.  Delete code to update
- 	c_function_chain.  Don't call push_function_context.
- 	(pop_c_function_context): New arg F.  Restore from there instead of
- 	from c_function_chain.  Don't call pop_function_context.  Clear out
- 	LANGUAGE field of F when done.
- 	* c-lang.c: Include "function.h"
- 	(lang_init): Initialize save_lang_status and restore_lang_status.
- 	* c-parse.in (nested_function, nested_function_notype): Warn about
- 	nested functions.  Call push_function_context/pop_function_context
- 	instead of the _c_ variants.
- 	* c-tree.h (push_c_function_context, pop_c_function_context): Update
- 	prototype.
- 	* Makefile.in (c-lang.o): Update dependencies.
- 
- 	* emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx,
- 	regno_pointer_flag, regno_pointer_align.
- 	(gen_reg_rtx): Use xrealloc to enlarge them.
- 	(free_emit_status): New function.
- 	* function.c (mark_machine_status, mark_lang_status): New variables.
- 	(assign_stack_local_1): Renamed from assign_outer_stack_local.  Merge
- 	in some bits from assign_stack_local.  All callers changed to use new
- 	name.
- 	(assign_stack_local): Just call assign_stack_local_1.
- 	(free_after_compilation): New function.
- 	(put_reg_into_stack): Simplify to always call assign_stack_local_1.
- 	(trampoline_address): Likewise.
- 	(assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc.
- 	(prepare_function_start): Explicitly clear some more variables.
- 	* function.h (struct function): New elt can_garbage_collect.
- 	(mark_machine_status, mark_lang_status): Declare variables.
- 	(free_after_compilation, free_emit_status, free_varasm_status,
- 	init_varasm_status): Declare functions.
- 	* toplev.c (rest_of_compilation): Call free_after_compilation when
- 	done with the current function.
- 	* varasm.c (free_varasm_status): New function.
- 
- Sat Sep  4 17:15:13 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.h (EXPAND_BUILTIN_VA_START): Define.
- 	(EXPAND_BUILTIN_VA_ARG): Define.
- 	* sparc.c (sparc_va_start): New.
- 	(sparc_va_arg): New.
- 
- Sun Sep  5 11:11:59 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (DBR_OUTPUT_SEQEND): Use XVECEXP not XEXPs.
- 
- Sun Sep  5 10:13:19 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Disable.
- 
- Sat Sep  4 13:44:01 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (C_AND_C_OBJS): Add gcc-callbacks.o.
- 	(OBJS): Add $(GGC).
- 	(ggc-callbacks.o): New target.
- 	* ggc-callbacks.c: New file.
- 
- Sat Sep  4 22:53:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* expr.h: Collapse individual optab and libfunc vars to arrays.
- 	(optab_index, libfunc_index): New enumerations.
- 	(optab_table, libfunc_table): New arrays.
- 	Add accessor macros for both.
- 
- 	* optabs.c (optab_table, libfunc_table): New.
- 	Delete declarations for individual optab and libfunc vars.
- 
- Sat Sep  4 12:57:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386/sco5.h (RETURN_POPS_ARGS): Name change ix86_return_pops_args.
- 
- Sat Sep  4 11:19:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (GGC, GGC_LIB): New.
- 	(HOST_RTL): Include ggc-none.o.
- 	(ggc-simple.o): New target.
- 	(ggc-none.o): Likewise.
- 	* tree.h (tree_common): Add gc_mark.
- 	* rtl.h (struct rtx_def): Steal a bit from code to make gc_mark.
- 	(struct rtvec_def): Add gc_mark.
- 	* emit-rtl.c (global_rtl): Update static initializers to contain
- 	enough initializers.
- 	* ggc.h, ggc-none.c, ggc-simple.c: New files.
- 	* toplev.c (gc_time): New variable.
- 	(all_time): New variable.
- 	(compile_file): Print gc time.
- 	(print_time): Calculate percentage of the whole.
- 
- Sat Sep  4 13:11:01 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	Change obstack memory management and varasm constant pool handling so
- 	that nested functions are treated like any other functions.
- 	* function.c (init_machine_status): New variable.
- 	(push_function_context_to): Set contains_functions for the outer
- 	function.  Don't call save_varasm_status.
- 	(pop_function_context_from): Don't call restore_varasm_status.  Don't
- 	set current_function_contains_functions.
- 	(prepare_function_start): Call init_varasm_status rather than
- 	init_const_rtx_hash_table.  Call (*init_machine_status) if the pointer
- 	is non-null.
- 	* function.h (struct function) Add field varasm.  Delete fields
- 	inline_obstacks, inl_emit, const_rtx_hash_table, first_pool,
- 	last_pool, const_rtx_sym_hash_table, pool_offset, const_double_chain.
- 	(init_machine_status): Declare.
- 	(save_varasm_status, restore_varasm_status): Delete declarations.
- 	(save_tree_status, restore_tree_status): Delete last argument.
- 	* integrate.c (initialize_for_inline): Lose arg COPY.  Delete copying
- 	code.  All callers changed.
- 	(copy_decl_list, copy_decl_tree, copy_decl_rtls, copy_for_inline,
- 	save_constants_in_decl_trees, restore_constants, save_constants,
- 	save_for_inline_eh_labelmap, save_for_inline_copying): Delete
- 	functions.
- 	(inlining): New variable.
- 	(reg_map, label_map, insn_map, orig_asm_operands_vector,
- 	copy_asm_operands_vector, copy_asm_constraints_vector): Delete
- 	variables.
- 	(save_for_inline_nocopy): Don't save constants.
- 	Don't set inl_emit field in current_function.
- 	(expand_inline_function): Use emit field, not inl_emit, of the inlined
- 	function.  Set new variable inlining before
- 	calling copy_rtx_and_substitute.
- 	(copy_rtx_and_substitute): In MEM and SYMBOL_REF cases, handle
- 	constant pool references if inlining is nonzero.
- 	Delete ADDRESS and (most of the) CONST cases.
- 	(output_inline_function): Save and restore current_function/
- 	current_function_decl.  Delete restore_constants code.  Don't call
- 	init_const_rtx_hash_table.
- 	* output.h (init_const_rtx_hash_table): Don't declare.
- 	* rtl.h (struct function): Declare.
- 	(get_pool_constant_for_function, get_pool_mode_for_function): Declare.
- 	* toplev.c (rest_of_compilation): Don't treat nested functions or
- 	functions containing them specially.  Delete all code to deal with
- 	save_for_inline_copying.
- 	* tree.c (toplev_inline_obstacks, extra_inline_obstacks,
- 	inline_obstacks): Delete variables.
- 	(save_tree_status): Lose arg CONTEXT.  All callers changed.
- 	Simply allocate a new function_maybepermanent_obstack for the new
- 	function, delete all the special cases.
- 	Don't save inline_obstacks.
- 	(restore_tree_status): Lose arg CONTEXT.  All callers changed.
- 	Delete special handling for function_maybepermanent_obstack; simply
- 	free it if empty.
- 	Don't restore inline_obstacks.
- 	(permanent_allocation):  Delete code that frees inline_obstacks.
- 	(print_inline_obstack_statistics): Delete function.
- 	(dump_tree_statistics): Don't call it.
- 	* varasm.c (struct varasm_status): New.
- 	(const_rtx_hash_table, const_rtx_sym_hash_table, first_pool,
- 	last_pool, pool_offset, const_double_chain): Delete global
- 	variables, replace with accessor macros.
- 	(immed_double_const): Don't walk const_double_chain outside a
- 	function, but don't treat nested functions specially anymore.
- 	(immed_real_const_1): Likewise.
- 	(clear_const_double_mem): Don't treat nested functions specially.
- 	(init_const_rtx_hash_table): Deleted, code moved to init_varasm_status.
- 	(save_varasm_status, restore_varasm_status): Delete functions.
- 	(init_varasm_status): New function.
- 	(force_const_mem): Don't treat nested functions specially.
- 	(find_pool_constant): Accept new arg F, search for constants in
- 	that function's pool rather than the current one.  All callers
- 	changed.
- 	(get_pool_constant_for_function, get_pool_mode_for_function): New
- 	functions.
- 
- 	* i386.c (init_386_machine_status): New function, mostly from
- 	clear_386_stack_locals.
- 	(struct machine_functions): Rename element names to avoid name
- 	clashes.
- 	(pic_label_rtx, pic_label_name, i386_stack_locals): New accessor
- 	macros, replacing global variables.
- 	(clear_386_stack_locals, save_386_machine_status,
- 	restore_386_machine_status): Delete functions.
- 	(override_options): Initialize init_machine_status.
- 	* i386.h (INIT_EXPANDERS): Delete macro.
- 	(save_386_machine_status, restore_386_machine_status,
- 	clear_386_stack_locals): Delete declarations.
- 
- Sat Sep  4 16:56:28 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (rptb_init): Renamed from *rptb_init.
- 	(doloop_begin):  Simplify pattern and use emit_jump_insn.
- 	(doloop_end): Simplify pattern, switch operand order,
- 	and use emit_jump_insn.
- 
- Fri Sep  3 19:02:38 1999  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
- 
- 	* function.h (struct function): Add new element LANGUAGE.
- 	(save_lang_status): Declare new variable.
- 	(restore_lang_status): Likewise.
- 	* function.c (save_lang_status): Define.
- 	(restore_lang_status): Likewise.
- 	(push_function_context_to): Call language-specific save function.
- 	(pop_function_context_from): Call language-specific restore function.
- 
- Fri Sep  3 01:16:18 1999  Alasdair Baird  <alasdair@wildcat.demon.co.uk>
- 
- 	* i386.md (movsf_1): Check REG_P before use of REGNO.
- 	(movdf_1): Likewise.
- 	(movxf_1): Likewise.
- 	(extendsfdf2): Likewise.
- 	(extendsfxf2): Likewise.
- 	(extenddfxf2): Likewise.
- 
- Sat Sep  4 11:37:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_emit_move_sequence): Do not force large
- 	constants into memory.
- 	(c4x_shiftable_constant): New function.
- 	* config/c4x/c4x.c (LEGITIMATE_CONSTANT_P): Allow any CONST_INT.
- 	(c4x_shiftable_constant): Declare.
- 	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
- 	ashlqi3_noclobber): Add new patterns and associated splitters.
- 
- Fri Sep  3 16:22:17 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
- 	* dwarf2out.c (dwarf2out_frame_init): Likewise.
- 	* final.c (shorten_branches): Likewise.
- 	* global.c (global_alloc): Likewise.
- 	* haifa-sched.c (build_control_flow): Likewise.
- 	* stmt.c (check_for_full_enumeration_handling): Likewise.
- 	(estimate_case_costs): Likewise.
- 
- Fri Sep  3 15:49:56 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* rtl.h (RTL_CHECKC2): Fix typo in last change.
- 
- Fri Sep  3 15:13:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_block): Use XEXP not SET_DEST for a USE.
- 	(recompute_reg_usage): Likewise.
- 	* rtlanal.c (find_regno_fusage): Likewise.
- 
- 	* rtl.c (rtl_check_failed_code1): New function.
- 	(rtl_check_failed_code2): New.
- 	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTVEC_ELT): Parenthesize args.
- 	(RTL_CHECKC1, RTL_CHECKC2): New.
- 	(XC*): New accessor macros.
- 	(NOTE_*, LABEL_NAME, LABEL_NUSES, ADDRESSOF_REGNO): Use them.
- 	(ADDRESSOF_DECL, JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF): Likewise.
- 	(CONTAINING_INSN, REGNO, INTVAL, SUBREG_REG, SUBREG_WORD): Likewise.
- 	(ASM_OPERANDS_*, MEM_ALIAS_SET, SET_SRC, SET_DEST): Likewise.
- 	(TRAP_*, RANGE_INFO_*): Likewise.
- 
- Fri Sep  3 15:10:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (tlink.o): Don't depend on toplev.h.
- 
- 	* collect2.c (c_file, o_file, export_file, import_file, ldout,
- 	output_file, nm_file_name, ldd_file_name, strip_file_name,
- 	c_file_name, prefix_list, libexts, is_ctor_dtor, find_a_file,
- 	add_prefix, prefix_from_env, prefix_from_string, do_wait,
- 	fork_execute, maybe_unlink, add_to_list,
- 	extract_init_priority, write_list, dump_list,
- 	dump_prefix_list, write_list_with_asm, write_c_file,
- 	write_c_file_stat, write_c_file_glob, scan_prog_file,
- 	scan_libraries, is_in_list, resolve_lib_name, use_import_list,
- 	ignore_library, extract_string, notice, dump_file, target_machine,
- 	collect_wait, collect_execute, libname, locatelib, aix_std_libs,
- 	read_file, print_load_command): Constify a char*.
- 	(fdopen, error, fatal, fatal_perror): Don't prototype.
- 	(my_strerror): Remove.  All callers use xstrerror instead.
- 	(xcalloc, xmalloc, xrealloc, xstrdup, putenv): Remove definitions.
- 	(main): Add prototype.  Constify lots of char* ptrs.  Change calls
- 	to xcalloc/strcpy/strcat/...  to one call to concat.
- 	(main, scan_prog_file, scan_libraries): Use an intermediate
- 	`const char **' to build an argv array.
- 	(mapfile, libselect, libcompare, locatelib): Add prototypes.
- 
- 	* collect2.h (collect_execute, collect_wait, dump_file,
- 	file_exists): Constify a char*.
- 	(ldout, c_file_name, temporary_obstack, permanent_obstack,
- 	temporary_firstobj, vflag, debug): Add extern declarations.
- 	(fancy_abort, error, notice, fatal, fatal_perror): Add prototypes.
- 
- 	* tlink.c: Don't include toplev.h.
- 	(vflag, debug, ldout, c_file_name, temporary_obstack,
- 	permanent_obstack, temporary_firstobj): Don't declare.
- 	(tlink_execute, frob_extension, symbol_hash_lookup,
- 	file_hash_lookup, demangled_hash_lookup, tlink_init, freadsym,
- 	recompile_files, read_repo_files, demangle_new_symbols,
- 	scan_linker_output): Constify a char*.
- 	(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
- 	do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
- 
- Fri Sep  3 18:09:24 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
- 	(relative) rather than jsr (absolute) subroutine call insns.
- 	* config/m68k/m68k-coff.h: Ditto.
- 
- Fri Sep  3 17:24:31 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.c (note_invalid_constants): No need to ignore ASMs, we can
- 	now rework these too.
- 	(arm_reorg): If an insn can't reach the end of the current pool,
- 	ensure that we emit that pool before the insn.
- 
- Fri Sep  3 09:14:32 1999  Marc Espie <espie@tetto.liafa.jussieu.fr>
- 
- 	* tlink.c (scan_linker_output): Skip the initial underscore in
- 	a mangled name if appropriate.
- 
- Fri Sep  3 01:28:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
- 	objc_tree_code_name, synth_id_with_class_suffix, warn_with_method,
- 	error_with_ivar, gen_declarator, create_builtin_decl,
- 	my_build_string, generate_descriptor_table, generate_ivars_list,
- 	generate_dispatch_table, check_protocols, TAG_GETCLASS,
- 	TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS,
- 	dump_base_name, lang_decode_option, build_encode_expr,
- 	start_class, finish_class, encode_pointer, really_start_method,
- 	gen_declaration, dump_interface, handle_class_ref, handle_impent):
- 	Constify.
- 	(objc_demangle, objc_printable_name, generate_struct_by_value_array):
- 	Add static prototypes.
- 	(build_objc_string_decl, build_selector_reference_decl,
- 	encode_bitfield, build_class_reference_decl): Remove unused
- 	parameter, all callers changed.
- 	(maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED.
- 	(objc_printable_name): Likewise.  Change second parameter to type int.
- 	(init_objc): Use memcpy, not bcopy, to avoid casts.
- 
- Thu Sep  2 21:49:52 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (eliminate_regs_in_insn): Avoid eliminating the
- 	reg notes on a deleted insn.
- 	* gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
- 
- Thu Sep  2 20:18:12 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
- 
- Thu Sep  2 22:00:08 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* stmt.c (expand_asm_operands): Fix index into inout_mode when
- 	reading it.
- 
- Thu Sep  2 13:00:48 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Invoke MD_ASM_CLOBBERS if present.
- 	* tm.texi (MD_ASM_CLOBBERS): Document it.
- 
- Thu Sep  2 10:22:40 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_line): Constify `lastfile'.
- 	* except.c (expand_rethrow): Remove unused variable.
- 	* expr.c (do_jump_by_parts_greater_rtx): Likewise.
- 	* flow.c (replace_insns): Likewise.
- 	(create_edge_list, verify_edge_list): Likewise.
- 	* gcse.c (cprop_cc0_jump): Protect declaration with HAVE_cc0.
- 
- 	* genemit.c (gen_expand): Only emit `operands[N]' decl if there
- 	is special code to run.
- 	(main): Don't define operands to emit_operand.
- 	* genrecog.c (main): Don't emit an empty peephole2_insn function.
- 
- 	* rtl.h (NOTE_BASIC_BLOCK): Use X0BBDEF.
- 
- 	* alpha/alpha.h (normal_memory_operand): Declare.
- 	(reg_no_subreg_operand): Declare.
- 	* alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
- 
- Thu Sep  2 10:19:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-parse.in (compstmt_primary_start): New, broken out of first
- 	part of compstmt handling in primary.
- 	(primary): Use it.  Add an error clause.
- 	(compstmt_nostart): Renamed from compstmt; remove all
- 	initial invocations of compstmt_start.
- 	(compstmt): New.
- 
- Thu Sep  2 01:35:50 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* protoize.c (gen_aux_info_file):  Let pexecute call choose_temp_base if
- 	needed.
- 
- Thu Sep  2 00:43:59 1999  Finn Hakansson  <finn@axis.com>
- 
- 	* combine.c (simplify_shift_const): Remove extra semicolon.
- 	* dwarf2out.c (remove_AT): Likewise.
- 	* expmed.c (expand_mult): Likewise.
- 	* gcov.c (create_program_flow_graph): Likewise.
- 	* reorg.c (mostly_true_jump): Likewise.
- 
- Thu Sep  2 00:06:43 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fold-const.c (fold_range_test): Do not try to fold the range
- 	test if the rhs or lhs has side effects.
- 
- 	* combine.c (simplify_rtx): Recognize another case of a synthesized
- 	sign extension.
- 
- 	* varasm.c (mark_constant_pool): When marking indirect references,
- 	only look at SYMBOL_REFs.
- 
- 	* except.c (expand_fixup_region_end): Do not peek at
- 	INSN_UID (node->entry->outer_context) for flag_new_exceptions.
- 
- Thu Sep  2 13:52:53 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* flags.h: New variables align_loops, align_loops_log,
- 	align_jumps, align_jumps_log, align_labels, align_labels_log,
- 	align_functions, align_functions_log.
- 	* toplev.c: Define them.
- 	(f_options): Handle -falign-* when they have no argument.
- 	(main): Add logic to set variables for -falign-functions,
- 	-falign-jumps, -falign-labels, -falign-loops.
- 	Make it -fsched-verbose=<n> and -finline-limit=<n>.
- 	(display_help): Change help to match options.
- 	* final.c (LABEL_ALIGN): Default to align_labels_log.
- 	(LABEL_ALIGN_MAX_SKIP): Default to align_labels-1.
- 	(LOOP_ALIGN): Default to align_loops_log.
- 	(LOOP_ALIGN_MAX_SKIP): Default to align_loops-1.
- 	(LABEL_ALIGN_AFTER_BARRIER): Default to align_jumps_log.
- 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to align_jumps-1.
- 	* varasm.c (assemble_start_function): Handle align_functions.
- 
- 	* config/sparc/sparc.h: Don't declare sparc_align_*.
- 	Don't provide LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN.
- 	(DEFAULT_SPARC_ALIGN_FUNCS): Delete; take functionality into
- 	sparc.c.
- 	(FUNCTION_BOUNDARY): Fix incorrect use---it's not just a request,
- 	it's a promise.
- 	* config/sparc/sparc.c: Delete sparc_align_loops,
- 	sparc_align_jumps, sparc_align_funcs and the corresponding string
- 	variables.
- 	(sparc_override_options): Default align_functions on ultrasparc.
- 	Delete -malign-* handling.
- 
- 	* config/mips/mips.c (override_options):  On 64-bit targets,
- 	try to align code to 64-bit boundaries.
- 	(print_operand): New substitution, %~,
- 	which aligns labels to align_labels_log.
- 	* config/mips/mips.md (div_trap_normal): Use %~.
- 	(div_trap_mips16): Likewise.
- 	(abssi): Likewise.
- 	(absdi2): Likewise.
- 	(ffssi2): Likewise.
- 	(ffsdi2): Likewise.
- 	(ashldi3_internal): Likewise.
- 	(ashrdi3_internal): Likewise.
- 	(lshrdi3_internal): Likewise.
- 	(casesi_internal): Likewise.
- 
- Wed Sep  1 21:13:48 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	Merge new ia32 backend from the branch!
- 
- 	* i386.h, i386.c, i386.md, reg-stack.c, i386/unix.h: Many changes.
- 	See ChangeLog.P2 on new_ia32_branch for details.
- 
- 	* rtl.h (stack_regs_mentioned_p): Delete prototype.
- 	* i386/cygwin.h (SUBTARGET_PROLOGUE): No more do_rtl.
- 	* i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
- 	* i386/gas.h (ASM_FILE_START): Define.
- 	* i386/winnt.c (i386_pe_valid_decl_attribute_p): Update
- 	for name change of ix86_valid_decl_attribute_p.
- 	(i386_pe_valid_type_attribute_p): Similarly.
- 
- Wed Sep  1 18:21:23 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (init_emit_once): Don't use GET_MODE_WIDER_MODE
- 	to step through CC modes.
- 
- Wed Sep  1 20:18:06 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* regmove.c (fixup_match_1): Don't move INSN in front of P if
- 	it would end up in the shadow of a live flags regsiter.
- 
- Wed Sep  1 11:32:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c: Fix many indentation problems.
- 	* reload.c: Likewise.
- 
- Tue Aug 31 22:08:03 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* alias.c (non_local_reference_p): Constify fmt.
- 
- Tue Aug 31 23:19:35 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* config/i386/xm-cygwin.h (HAVE_DOS_BASED_FILE_SYSTEM): Define.
- 
- Tue Aug 31 16:44:52 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (delete_trivially_dead_insns): Do not delete stores to
- 	the internal_arg_pointer.
- 
- Tue Aug 31 13:35:42 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	Merge peephole2 from new_ia32_branch:
- 	* Makefile.in (STAGESTUFF): Add *.peephole2.
- 	(mostlyclean): Likewise.
- 	(recog.o): Depend on resource.h.
- 
- 	* final.c (peephole): Conditionalize decl on HAVE_peephole.
- 	(final_scan_insn): Likewise for the invocation of peephole.
- 	* genconfig.c (main): Look for peephole and peephole2 patterns.
- 	Emit HAVE_peephole* accordingly.
- 	* genpeep.c (main): Conditionalize entire output on HAVE_peephole.
- 	* flags.h (flag_peephole2): Declare.
- 	* toplev.c: New pass peephole2.  New flag -fpeephole2.
- 
- 	* genattrtab.c (main): Count DEFINE_PEEPHOLE2.
- 	* gencodes.c (main): Likewise.
- 	* genextract.c (main): Likewise.
- 	* genoutput.c (main): Likewise.
- 	* genemit.c (max_operand_1): Look for the max scratch operand.
- 	(gen_rtx_scratch): New.
- 	(gen_exp): Use it, and pass on new arg subroutine_type.
- 	(gen_expand): Take max scratch into account.
- 	(gen_split): Emit peephole2 functions.
- 	(output_peephole2_scratch): New.
- 	(main): Include hard-reg-set.h and resource.h.  Handle peephole2.
- 	* genrecog.c (routine_type): Add PEEPHOLE2.
- 	(IS_SPLIT): New.
- 	(make_insn_sequence): Match outer parallel for peep2.  Discard
- 	top level scratches and dups.
- 	(add_to_sequence): New args insn_type and top.  Update all callers.
- 	Handle toplevel peep2 matching insns.
- 	(write_subroutine): Handle peep2.
- 	(write_tree_1): Likewise.
- 	(write_tree): Likewise.
- 	(main): Likewise.
- 	(change_state): New arg afterward.  Update all callers.
- 	Handle matching separate insns.
- 	* recog.c (recog_next_insn): New.
- 	(peephole2_optimize): New.
- 	* rtl.def (DEFINE_PEEPHOLE2): New.
- 	* resource.c (find_free_register): New argument last_insn.  Use it
- 	to find a register available through the entire span.
- 	* resource.h (find_free_register): Update prototype.
- 
- Tue Aug 31 11:51:06 1999  Jim Kingdon  <http://developer.redhat.com>
- 
- 	* i386.c (output_strlen_unroll): Don't write xops[7]
- 	label if it wasn't set.
- 
- 1999-08-31 12:44 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cpplib.c (struct directive): Const-ify name pointer and
- 	function pointer prototype.
- 	(validate_else, do_define, do_line, do_include, do_undef,
- 	do_error, do_pragma, do_ident, do_if, do_xifdef, do_else,
- 	do_elif, do_endif, do_sccs, do_assert, do_unassert,
- 	do_warning): Const-ify second arg.
- 	(directive_table): Mark const.  Reorder entries by frequency
- 	of usage, record statistics.
- 
- 1999-08-31 12:20 -0700 Zack Weinberg <zack@bitmover.com>
- 
- 	* rtl.h (RTL_CHECK1, RTL_CHECK2): New macros which type- and
- 	bounds- check RTL accesses if --enable-checking.
- 	(RTVEC_ELT): Bounds check if --enable-checking.
- 	(XWINT, XINT, XSTR, XEXP, XVEC, XMODE, XBITMAP, XTREE,
- 	XBBDEF): Use RTL_CHECK1/RTL_CHECK2 as appropriate.
- 	(XVECEXP, XVECLEN): Define in terms of XVEC, RTVEC_ELT, and
- 	GET_NUM_ELEM.
- 	(X0WINT, X0INT, X0STR, X0EXP, X0VEC, X0MODE, X0BITMAP, X0TREE,
- 	X0BBDEF, X0ADVFLAGS):  New macros for accessing '0' slots of RTXes.
- 
- 	(ADDR_DIFF_VEC_FLAGS): Use X0ADVFLAGS.
- 	(NOTE_SOURCE_FILE): Use X0STR.
- 	(NOTE_BLOCK_NUMBER, NOTE_EH_HANDLER, LABEL_NUSES,
- 	MEM_ALIAS_SET): Use X0INT.
- 	(NOTE_RANGE_INFO, NOTE_LIVE_INFO, NOTE_BASIC_BLOCK,
- 	JUMP_LABEL, LABEL_REFS, LABEL_NEXTREF, CONTAINING_INSN):
- 	Use X0EXP.
- 	* real.h (CONST_DOUBLE_CHAIN): Use X0EXP.
- 	* rtl.c (copy_rtx, copy_most_rtx): Copy '0' slots with X0WINT.
- 	(rtl_check_failed_bounds, rtl_check_failed_type1,
- 	rtl_check_failed_type2, rtvec_check_failed_bounds): New
- 	functions.
- 	(fancy_abort): Fix comment.
- 
- 	* cse.c (canon_hash): Read CONST_DOUBLE data slots with XWINT.
- 	(cse_insn): Decrement LABEL_NUSES for jump target before
- 	deleting jump insn.
- 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Use X0EXP for slot 1.
- 	* final.c (alter_subreg): Compute regno before changing x to
- 	REG; set REGNO(x) after changing it.
- 	* flow.c (count_basic_blocks): Use XWINT to inspect EH_REGION
- 	notes containing CONST_INTs.
- 	(delete_eh_regions): Use NOTE_EH_HANDLER.
- 	* function.c (put_reg_into_stack): Make reg a MEM before
- 	initializing it.
- 	(fixup_var_refs_insns):  Save REG_NOTES (insn) in case we
- 	delete insn.
- 	(gen_mem_addressof): Make reg a MEM before initializing it.
- 	* integrate.c (copy_rtx_and_substitute): Copy '0' slots with
- 	X0WINT.
- 	* local-alloc.c (update_equiv_regs): Zap REG_NOTES before
- 	deleting an insn, not after.
- 	(block_alloc): Only look at PATTERN(insn) if we have to, and
- 	only if it's format class 'i'.
- 	* loop.c (check_dbra_loop): Check bl->biv->add_val is a
- 	CONST_INT before using its INTVAL.
- 	* print-rtl.c (print_rtx): Use X0STR.
- 	* regmove.c (fixup_match_1): Don't look at PATTERN of
- 	non-class-'i' insn chain elements.
- 	* reload.c (loc_mentioned_in_p): Take address of
- 	in->fld[1].rtx directly.
- 	* reload1.c (reload): Change reg to a MEM before initializing
- 	it.
- 	* varasm.c (mark_constant_pool): Skip CONST_DOUBLES, which
- 	have no names.
- 	* config/i386/i386.md (decrement_and_branch_if_zero): Fix typo.
- 
- Fri Aug 20 13:43:41 1999  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.c (machine_dependent_reorg): Force a
- 	barrier to output the local constant pool if a barrier hasn't
- 	been found at a natural point in the instruction stream.
- 
- Mon Aug 30 22:04:36 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (language_string): Constify.
- 
- 	* dwarf2out.c (language_string): Remove declaration.
- 
- 	* dwarfout.c (language_string): Likewise.
- 
- 	* toplev.c (language_string, init_parse, finish_parse): Likewise.
- 
- 	* tree.h (language_string, init_parse, finish_parse): Declare.
- 
- 	* i386/sun386.h (language_string): Remove declaration.
- 
- 	* mips.h (language_string): Likewise.
- 
- 	* nextstep.h (language_string): Likewise.
- 
- 	* nextstep21.h (language_string): Likewise.
- 
- 	* rs6000.c (language_string): Likewise.
- 
- Mon Aug 30 20:56:08 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (OBJS, PROTO_OBJS): Remove getpwd.o.
- 	(getpwd.o): Remove target.
- 
- 	* getpwd.c: Delete file.  Its in libiberty now.
- 
- 	* dbxout.c (getpwd): Don't prototype.
- 	* dwarf2out.c (getpwd): Likewise
- 	* dwarfout.c (getpwd): Likewise
- 	* final.c (getpwd): Likewise.
- 	* protoize.c (getpwd): Likewise.
- 
- Mon Aug 30 20:21:34 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c: (fold_rtx): Cast to HOST_WIDE_INT in left shift.
- 
- Mon Aug 30 16:07:49 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (new_insn_dead_notes): Use sets_reg_or_subreg not
- 	mark_set_resources.
- 
- Mon Aug 30 12:23:53 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* fixinc/Makefile.in (subdir): New.
- 	(fixincl.x, inclhack.sh, fixincl.sh): Use cp instead of $(CP).
- 	(Makefile): New.
- 
- Mon Aug 30 01:02:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (copy_rtx_if_shared): A MEM which references
- 	virtual_stack_vars_rtx or virtual_incoming_args_rtx can not
- 	be shared.
- 
- 	* invoke.texi: Fix typo.
- 
- 	* dwarf2out.c (mem_loc_descriptor): New argument MODE.  All callers
- 	changed.  Handle autoincrement addressing modes.
- 
- 	* integrate.c (copy_rtx_and_substitute): Handle internal_arg_pointer
- 	just like we would the virtual incoming args register when
- 	integrating.
- 
- Sun Aug 29 23:17:54 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (ASM_FILE_START): Specify complete filename, including
- 	path, in .file directive.
- 
- Sun Aug 29 05:06:43 1999  Russ Allbery  <rra@stanford.edu>
- 
- 	* gcc.texi (External Bugs): Remove obsolete note about Perl on
- 	SunOS.
- 
- 1999-08-29 08:38 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* stdbool.h: Make the typedef name _Bool, with bool a #defined
- 	alias.
- 
- Sun Aug 29 09:36:50 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.c (tree_code_name): Constify a char*.
- 
- 	* tree.h (tree_code_name, decl_printable_name): Likewise.
- 
- 	* function.h (struct function): Likewise.
- 
- 	* toplev.c (decl_name, decl_printable_name): Likewise.
- 
- 	* vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise.
- 
- 	* objc/objc-act.c (decl_printable_name): Remove redundant prototype.
- 	(init_objc): Remove function pointer cast.
- 
- Sun Aug 29 05:01:17 1999  John David Anglin <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (interspace_jump): New pattern.
- 	(builtin_longjmp): New expander.
- 
- 1999-08-29  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* fp-bit.c (add, sub, multiply, divide, compare, _eq_f2, _ne_f2,
- 	_gt_f2, _ge_f2, _lt_f2, _le_f2, float_to_si, float_to_usi, negate,
- 	sf_to_df, df_to_sf): Fix potential problem with alias analysis.
- 
- Sun Aug 29 04:30:52 1999  John Wehle  (john@feith.com)
- 
- 	* jump.c (delete_prior_computation): Also check calls
- 	to constant functions.  Don't bother checking for a
- 	REG_UNUSED note before adding it.
- 	(delete_computation): Handle multi-word hard registers
- 	when synthesizing missing REG_DEAD notes for a register
- 	which is both set and used by an insn.
- 
- 1999-08-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (this_loop_info): New variable.
- 	(loop_has_call, loop_has_volatile, loop_has_tablejump,
- 	loop_continue, loops_enclosed): Replace with fields in this_loop_info.
- 	All uses updated.
- 	(prescan_loop, strength_reduce): New argument loop_info.  All callers
- 	updated.
- 	(scan_loop): New variable loop_info, initialize to address of
- 	this_loop_info.
- 	(prescan_loop): Set loop_info->vtop if find NOTE_INSN_LOOP_VTOP.
- 	Delete variable loop_has_multiple_exit targets and replace with
- 	field in this_loop_info.
- 	(find_and_verify_loops): Rename this_loop to this_loop_num.
- 	(strength_reduce): Delete loop_iteration_info.  Replace variable
- 	loop_info with function argument of same name.
- 	(insert_bct): Rework test for loop being completely unrolled.
- 
- 	* loop.h (struct loop_info): New fields num, loops_enclosed,
- 	has_call, has_volatile, has_tablejump, has_multiple_exit_targets,
- 	has_indirect_jump, and cont.  Redefine use of unroll_number.
- 	(loop_unroll_number): Delete.
- 
- 	* unroll.c (unroll_loop): Store loop unroll count in unroll_number
- 	field of loop_info.
- 	(loop_iterations): Delete variable vtop and instead use
- 	loop_info->vtop computed in prescan_loop.
- 
- Sun Aug 29 03:27:23 1999  Scott Weikart <scott@igc.apc.org>
- 
- 	* fix-header.c (main): Do not pass a null pointer to strcmp.
- 
- Sun Aug 29 03:18:48 1999  William Bader  (william@nscs.fast.net)
- 
- 	* configure.in (i[34567]86-*-sco3.2v4*): Target does not truncate
- 	filenames.
- 	* configure: Rebuilt.
- 
- Sat Aug 28 19:36:05 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (jump_optimize_1): Do not delete assignments to
- 	internal_arg_pointer.
- 	* cse.c (delete_trivially_dead_insns): Always consider a set of
- 	the internal_arg_pointer live.
- 
- Sat Aug 28 16:24:31 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (flow_delete_insn_chain): Rename from delete_insn_chain.
- 	(update_life_info) [REG_WAS_0]: Search the original insns rather
- 	than the new insns for the note.  Fix typos finding note_dest.
- 	If no dest found, discard the note rather than abort.
- 	[REG_NOALIAS]: Handle as REG_NO_CONFLICT.
- 	(replace_insns): Remove the old insn list after update_life_info
- 	not before.
- 
- Sat Aug 28 16:20:12 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
- 	sched_analyze_insn.
- 	(sched_analyze_1): Let add_dependence care for not adding dups.
- 	(sched_analyze_2): Likewise.
- 	(add_branch_dependences): Likewise.
- 
- Sat Aug 28 15:58:16 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/winnt.c (export_list): New type.
- 	(exports_head): Rename to
- 	(export_head):  this.
- 	(i386_pe_record_exported_symbol): Add is_data flag.
- 	(i386_pe_asm_file_end): Emit directive for exported variables.
- 	* i386/cygwin.h (i386_pe_record_exported_symbol): Update
- 	prototype.
- 	* i386/cygwin.h (ASM_OUTPUT_COMMON): Specify symbol type.
- 	(ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	* i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 
- Fri Aug 27 15:35:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (fold_rtx): Work around bug in Sun V5.0 compilers.
- 
- 	* pa.c (emit_move_sequence): Do not stop on SUBREG_WORD of an
- 	operand.
- 
- Fri Aug 27 14:01:19 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* config/openbsd.h: Define SET_ASM_OP.
- 	* tm.texi: cross-reference SET_ASM_OP in the index.
- 
- 1999-08-27 13:27 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* rtl.c: Define CONST_DOUBLE_FORMAT to the appropriate format
- 	for a CONST_DOUBLE, at compile time.  Initialize rtx_length
- 	and class_narrowest_mode at compile time.  Kill init_rtl.
- 	Mark rtx_length, mode_class, mode_size, mode_unit_size,
- 	mode_wider_mode, mode_mask_array, class_narrowest_mode, and
- 	rtx_format as const.  Kill all references to EXTRA_CC_MODES or
- 	EXTRA_CC_NAMES.
- 	* rtl.def (CONST_DOUBLE): Use CONST_DOUBLE_FORMAT macro for
- 	format.
- 	* rtl.h: Declare rtx_length and rtx_format as const.
- 	* machmode.def: Define CC().  Use CC() to define CCmode.  If
- 	EXTRA_CC_MODES is defined, expand it here.
- 	* machmode.h: Declare mode_class, mode_size, mode_unit_size,
- 	mode_wider_mode, mode_mask_array, and class_narrowest_mode as
- 	const.  Kill all references to EXTRA_CC_MODES.
- 
- 	* toplev.c: Don't prototype or call init_rtl.
- 	* optabs.c: Don't call init_mov_optab.
- 	* genemit.c: Don't generate init_mov_optab.  Don't call
- 	init_rtl.
- 	* gengenrtl.c: Duplicate calculation of CONST_DOUBLE_FORMAT
- 	here.
- 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c,
- 	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
- 	genrecog.c: Don't call init_rtl.
- 
- 	* arc.h, arm.h, c4x.h, i386.h, i960.h, m88k.h, pa.h, pdp11.h,
- 	rs6000.h, sparc.h: Don't define EXTRA_CC_NAMES.  Use CC() in
- 	definition of EXTRA_CC_MODES.
- 
- 	* md.texi: Kill ref to EXTRA_CC_NAMES.
- 	* tm.texi: Document new way to define EXTRA_CC_MODES.
- 
- 	* genrecog.c: Do not look up the name of a define_split.
- 	(Unrelated bugfix.)
- 
- Fri Aug 27 17:03:42 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.md: Fix typo introduced by previous delta.
- 
- Fri Aug 27 09:48:59 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (fatal): Make definition static to match prototype.
- 
- Fri Aug 27 10:33:35 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* combine.c (get_last_value): Don't look for earlier sets if the last
- 	known set is somewhere in between the insns being combined.
- 
- Fri Aug 27 10:03:12 BST 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* configure.in: Don't use shell ! to negate exit codes
- 	* configure: Regenerate
- 
- Fri Aug 27 09:36:17 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
- 	the fact that ALIGN is measured in bits, not bytes.
- 
- 1999-08-27 00:27 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* errors.c: New file; defines functions error, warning, and
- 	fatal, variables have_error and progname.
- 	* errors.h: New file; prototypes and decls for stuff in errors.c.
- 
- 	* Makefile: Add rules to build errors.o and
- 	$(HOST_PREFIX)errors.o.  Link genconfig, gencodes, genemit,
- 	genopinit, genrecog, genextract, genpeep, genattr, and
- 	genoutput with errors.o.  Add errors.h to deps of genconfig.o,
- 	gencodes.o, genemit.o, genopinit.o, genrecog.o, genextract.o,
- 	genpeep.o, genattr.o, and genoutput.o.
- 
- 	* genconfig.c, gencodes.c, genemit.c, genopinit.c, genrecog.c,
- 	genextract.c, genpeep.c, genattr.c:  Include errors.h.  Don't
- 	define or prototype fatal.  Set progname at beginning of main.
- 	* genoutput.c:  Likewise, and don't define or prototype error
- 	either.
- 
- 	* c-typeck.c (c_expand_start_case): Return immediately if exp
- 	is an ERROR_MARK.
- 	* fold-const.c (operand_equal_p): Return immediately if arg1
- 	or arg0 are ERROR_MARKs.
- 	* stor-layout.c (layout_type [case RECORD_TYPE]): Ignore
- 	fields of type ERROR_MARK when calculating if the record can
- 	go in a register.
- 
- Fri Aug 27 01:03:48 1999  Jim Kingdon  <http://developer.redhat.com>
- 	with much help from Jeffrey A Law and Richard Henderson
- 
- 	* i386.md: In the 6 insns which call output_fix_trunc,
- 	earlyclobber operands[0].
- 
- Fri Aug 27 01:01:51 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* jump.c (duplicate_loop_exit_test): Call reg_scan_update after
- 	creating new registers.
- 
- 1999-08-26 23:09 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* i386.h: Declare ix86_cpu_string, ix86_arch_string,
- 	i386_reg_alloc_order, i386_regparm_string,
- 	i386_align_loops_string, i386_align_jumps_string,
- 	i386_align_funcs_string, i386_preferred_stack_boundary_string,
- 	and i386_branch_cost_string as type "const char *".
- 	* i386.c: Define all above strings as type "const char *".
- 
- Thu Aug 26 20:36:30 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (output_aranges): Check DWARF_OFFSET_SIZE not PTR_SIZE
- 	when emitting alignment padding.  Emit padding byte of 0 instead of 4.
- 
- Thu Aug 26 18:11:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (array_type_nelts): Don't create RTL_EXPRs from
- 	SAVE_EXPRs unless the SAVE_EXPRs have already been expanded.
- 
- Thu Aug 26 19:33:23 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Add default definition.
- 	(debug_dwarf): Add DWARF2_ASM_LINE_DEBUG_INFO support.
- 	(dwarf2out_line, dwarf2out_finish): Likewise.
- 	* tm.texi (DWARF2_ASM_LINE_DEBUG_INFO): Add documentation.
- 
- Thu Aug 26 16:10:56 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* tree.c (lang_unsave_expr_now) : Correct return type.
- 	* tree.h (lang_unsave_expr_now) : Same.
- 
- Thu Aug 26 13:12:29 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (cint_ok_for_move): Use CONST_INT_OK_FOR_LETTER_P macros
- 	instead of duplicating code.
- 
- Thu Aug 26 18:32:32 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* gcse.c (hash_scan_insn): Don't scan obvious no-ops.
- 
- 1999-08-26 09:42 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* tree.h: fancy_abort always takes three args.
- 	* resource.c: Move include of system.h before toplev.h.
- 
- Thu Aug 26 09:46:16 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor): Accept LABEL_REFs as well
- 	as SYMBOL_REFs.
- 
- 1999-08-25 22:10 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* system.h: Don't redefine abort or trim_filename.
- 	* rtl.h: Define abort to fancy_abort (__FILE__, __LINE__, 0)
- 	or fancy_abort (__FILE__, __LINE__, __FUNCTION__) depending on
- 	whether or not __FUNCTION__ is available.
- 	* tree.h: Duplicate rtl.h's definition of abort, for files
- 	that don't include rtl.h.  Delete all code to perform type
- 	checking with a compiler other than GCC.
- 	* varray.h: Delete all code to perform type checking with a
- 	compiler other than GCC.  Make VARRAY_CHECK() always evaluate
- 	its arguments exactly once, using a statement expression.
- 	Adjust the VARRAY_<type> accessor macros to match.
- 	* toplev.h (fatal_insn, fatal_insn_not_found): Kill.
- 	(_fatal_insn, _fatal_insn_not_found): New fns, take info on
- 	caller's location.  Define fatal_insn and fatal_insn_not_found
- 	as macros that use _fatal_insn and _fatal_insn_not_found.
- 	(fancy_abort, trim_filename): Kill prototypes.
- 
- 	* rtl.c (trim_filename): Move here from toplev.c.
- 	(fancy_abort): New function.
- 	(DIR_SEPARATOR): Provide default definition.
- 	* tree.c (tree_check_failed, tree_class_check_failed): Go
- 	through fancy_abort.
- 	(tree_check, tree_class_check, cst_or_constructor_check,
- 	expr_check): Delete.
- 	* varray.c (varray_check_failed): New function.
- 	* toplev.c (fatal_insn, fatal_insn_not_found): Replace with
- 	_fatal_insn and _fatal_insn_not_found.  Go through
- 	fancy_abort.
- 	(trim_filename, fancy_abort): Delete.
- 
- 	* builtins.c (expand_builtin_args_info): Report ICE with abort.
- 	* except.c (start_catch_handler): Report ICE with error/abort
- 	combo.
- 	* final.c (output_operand_lossage): Likewise.
- 	* flow.c (verify_flow_info): Likewise.
- 
- 	* gcc.c: Prototype fatal.
- 	* gengenrtl.c: Undef abort after including rtl.h not system.h.
- 	* genattr.c, genattrtab.c, genemit.c, genextract.c,
- 	genflags.c, genopinit.c, genoutput.c, genpeep.c, genrecog.c:
- 	Don't define fancy_abort.
- 
- Wed Aug 25 17:56:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* optabs.c (emit_cmp_and_jump_insns): Be more thorough in
- 	canonization.
- 
- Wed Aug 25 15:35:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m88k.h (VERSION_INFO2): Kill.
- 	(VERSION_STRING): Kill.
- 	(TM_RCS_ID): Kill.
- 	(VERSION_INFO1): Tidy.
- 	(TARGET_VERSION): Update.
- 	* m88k/dgux.h (VERSION_INFO2): Kill.
- 	(ASM_FIRST_LINE): Adjust for death of VERSION_STRING.
- 	* m88k/luna.h (VERSION_INFO1): Tidy.
- 	* m88k/sysv4.h (VERSION_INFO1): Likewise.
- 	* m88k.c (out_rcs_id, tm_rcs_id): Kill.
- 	(output_file_start): Adjust for death of VERSION_STRING.
- 
- 1999-08-25 13:51 -0700  Jim Meyering  <meyering@ascend.com>
- 
- 	* cpplib.c (detect_if_not_defined): New function.
- 	(do_if): Use it to detect potential once-only headers.
- 
- Wed Aug 25 14:00:18 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-common.c (combine_strings): Always set TREE_CONSTANT.
- 
- Wed Aug 25 15:27:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* combine.c (nonzero_bits) : Allow single-ly set registers to be
- 	anywere in the function only if they are pseudos and set before
- 	being used (not live at the start of the function).
- 	(num_sign_bit_copies) : Same.
- 	(get_last_value_validate) : Same.
- 	(get_last_value) : Same.
- 
- Wed Aug 25 11:13:29 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (express_from): Try harder to unify (* c N) and (* c M)
- 	where N and M are constant and N is an integer multiple of M.
- 
- Wed Aug 25 13:55:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
- 	(sbitmap_intersection_of_preds, sbitmap_union_of_succs,
- 	sbitmap_union_of_preds): Add prototypes.
- 	* sbitmap.c (sbitmap_intersection_of_succs): New function to compute
- 	the intersection of successors with the new flow graph structures.
- 	(sbitmap_intersection_of_preds): New function to compute the
- 	intersection of predecessors with the new flow graph structures.
- 	(sbitmap_union_of_succs): New function to compute the union of
- 	successors with the new flow graph structures.
- 	(sbitmap_union_of_preds): New function to compute the union of
- 	predecessors with the new flow graph structures.
- 	* gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
- 	(expr_reaches_here_p): Use edge and basic_block structures instead
- 	of s_preds and s_succs.
- 	(compute_cprop_avinout): Use new sbitmap routines.
- 	(pre_expr_reaches_here_p): Use edge and basic_block structures instead
- 	of s_preds and s_succs.
- 	* flow.c (compute_flow_dominators): Compute dominators using
- 	edges and basic blocks instead of s_preds and s_succs.
- 
- Wed Aug 25 13:41:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* lists.c (unused_insn_list, unused_expr_list): New file for
- 	maintaining various types of lists. New statics for maintaining a
- 	cache of available INSN_LIST and EXPR_LIST nodes.
- 	(free_list): Static function for freeing a list of INSN/EXPR nodes.
- 	(alloc_INSN_LIST): Function to get a free INSN_LIST node.
- 	(alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
- 	(init_EXPR_INSN_LIST_cache): Initialize the cache lists.
- 	(free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
- 	(free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
- 	(free_EXPR_LIST_node): Free an individual EXPR_LIST node.
- 	(free_INSN_LIST_node): Free an individual INSN_LIST node.
- 	* haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
- 	(free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
- 	(remove_dependence, free_pending_lists): Use new global routines.
- 	(flush_pending_lists, sched_analyze_insn): Use new global routines.
- 	(sched_analyze, compute_block_backward_dependences): Use new routines.
- 	(sched_analyze_1, sched_analyze_2): Use new routines.
- 	(schedule_insns): Use new global routines.
- 	* rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
- 	prototypes.
- 	(free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
- 	(free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
- 	prototypes.
- 	* toplev.c (rest_of_compilation): Initialize node cache.
- 	* Makefile.in (OBJS): Add lists.o to list of object files.
- 	(lists.o): Add dependencies.
- 
- Wed Aug 25 17:31:56 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.md: Fix compile time warning messages.
- 	* config/v850/v850.c: Fix compile time warning messages.
- 	* config/v850/v850.h: Fix compile time warning messages.
- 
- Wed Aug 25 09:44:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (gen_attr): Add prototype arguments for get_attr_*().
- 	Remove unused prototype for `init_lengths'.
- 
- Wed Aug 25 09:32:31 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (emit_call_1): Mark parameter `stack_size' with
- 	ATTRIBUTE_UNUSED.
- 	(expand_call): Initialize variable `insn'.
- 	(emit_library_call): Likewise for variable `high_to_save'.
- 	(emit_library_call_value): Likewise.
- 	(store_one_arg): Likewise for variables `lower_bound' and
- 	`upper_bound'.
- 
- 	* combine.c (try_combine): Likewise for variables `i2_code_number'
- 	and `other_code_number'.
- 	(find_split_point): Likewise for variables `pos', `unsignedp' and
- 	`inner'.
- 	(simplify_if_then_else): Likewise for variables `op' and `c1'.
- 	(simplify_and_const_int): Remove unused variable `width'.
- 	(merge_outer_ops): Likewise.
- 
- 	* cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
- 	HOST_WIDE_INT' when comparing against one.
- 	(simplify_relational_operation): Likewise.
- 	(cse_insn): Initialize variables `src_eqv_volatile',
- 	`src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.
- 
- 	* final.c (init_final): Constify parameter `filename'.
- 	(final_start_function): Mark parameter `optimize' with
- 	ATTRIBUTE_UNUSED.
- 	(profile_function): Likewise for parameters `first' and `optimize'.
- 	(output_source_line): Likewise for parameter `file'.
- 
- 	* integrate.c (subst_constants): Cast a value to `size_t' when
- 	comparing against one.
- 	(mark_stores): Initialize variable `mode'.  Cast a value to
- 	`size_t' when comparing against one.
- 
- 	* integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.
- 
- 	* loop.c (move_movables): Initialize variable `first'.
- 	(strength_reduce): Likewise for variable `increment'.
- 	(check_dbra_loop): Likewise for variable `comparison_val'.  Cast a
- 	value to `size_t' when comparing against one.
- 	(load_mems): Initialize variable `end_label'.
- 
- 	* output.h (init_final): Constify parameter.
- 
- 	* reload.c (decompose): Initialize variable `base'.
- 
- 	* reload1.c (reload): Likewise for variable `is_scalar'.
- 	(spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
- 	(choose_reload_regs): Initialize variable `mode'.
- 	(emit_reload_insns): Likewise for variable `store_insn'.
- 	(reload_cse_noop_set_p): Mark parameter `insn' with
- 	ATTRIBUTE_UNUSED.
- 	(reload_combine): Initialize variable `set'.
- 
- 	* unroll.c (unroll_loop): Likewise for variable `local_label'.
- 	(copy_loop_body): Cast a value to `size_t' when comparing against
- 	one.
- 
- 	* varasm.c (assemble_variable): Initialize variable `size_tree'.
- 	(const_hash): Add an `else abort()' in an if-else-if-else sequence.
- 	(remove_from_pending_weak_list): Mark parameter `name' with
- 	ATTRIBUTE_UNUSED.
- 
- Wed Aug 25 11:18:39 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* toplev.c (rest_of_compilation): Use decl_printable_name when opening
- 	gcse dump file.
- 
- Wed Aug 25 10:57:12 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/telf.h (ASM_WEAKEN_LABEL): Define.
- 	(ASM_DECLARE_FUNCTION_NAME): Define.
- 	(TYPE_ASM_OP, SIZE_ASM_OP, TYPE_OPERAND_FORMAT,
- 	ASM_DECLARE_RESULT, ASM_DECLARE_OBJECT_NAME,
- 	ASM_FINISH_DECLARE_OBJECT, ASM_DECLARE_FUNCTION_SIZE): Define if
- 	not already defined.
- 
- Wed Aug 25 01:36:11 1999  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* calls.c (emit_call_1): Use call_pop/call_value_pop for all values
- 	of n_popped when call/call_value are not defined.
- 
- Wed Aug 25 01:25:14 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tm.texi: GNU CC -> GCC conversion.
- 	(CC1_SPEC): Indicate it is used for all language front ends.
- 
- Tue Aug 24 23:43:03 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
- 	NOTE_INSN_EH_REGION_END correctly.
- 
- Tue Aug 24 23:26:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
- 			  Jeff Law <law@cygnus.com>
- 
- 	* loop.c (strength_reduce): Automatically unroll loops if the
- 	unrolled loop size is smaller than the rolled loop size.
- 
- 	* loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
- 	and delete comment that code should be rewritten.
- 
- Tue Aug 24 22:56:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (find_rgns): Mark a block found during the DFS search
- 	as reachable.
- 
- 	* haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
- 
- Tue Aug 24 22:41:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* fixinc/mkfixinc.sh: Don't fix uwin headers.
- 	* i386/uwin.h (MD_STARTFILE_PREFIX): Define.
- 	(LINK_SPEC): Add -u _main when building executables.
- 	(ASM_DECLARE_FUNCTION): Update from Cygwin.
- 	(ASM_FILE_END): Use the default for ix86-pe.
- 	* i386/xm-uwin.h (HAVE_BCOPY): Undefine.
- 
- Tue Aug 24 20:49:47 1999  Art Haas  <ahaas@neosoft.com>
- 
- 	* final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
- 	and ASM_CLOSE_PAREN are empty strings.
- 
- Wed Aug 25 12:46:22 1999  Fred Fish  <fnf@cygnus.com>
- 			  Geoffrey Keating <geoffk@cygnus.com>
- 
- 	* Makefile.in (PREPROCESSOR_DEFINES): New macro.
- 	(protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
- 	(unprotoize.o): Ditto.
- 	(test-protoize-simple): Don't define STD_PROTO_DIR.
- 	* protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
- 	changes to make 'test-protoize-simple' pass.
- 	(STD_PROTO_DIR): Remove define.
- 	(STANDARD_EXEC_PREFIX): Supply default define.
- 	(standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
- 	(target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
- 	(target_version): New variable, init to DEFAULT_TARGET_VERSION.
- 	(GET_ENV_PATH_LIST): New macro.
- 	(default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
- 	(do_processing): Initialize default_syscalls_dir using new
- 	macros.  Use it to initialize syscalls_absolute_filename.
- 
- Tue Aug 24 16:58:15 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Do cmov opt on any single-set; force
- 	B into a register before emit_conditional_move.
- 
- Tue Aug 24 15:37:03 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
- 	as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
- 	multiplicand out of (+ (* a b) (* c d)).
- 
- Tue Aug 24 11:46:10 1999  Bob Manson <manson@cygnus.com>
- 			  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (split_hard_reg_notes): Move to flow.c
- 	(new_insn_dead_notes): Likewise.
- 	(update_n_sets): Likewise.
- 	(update_flow_info): Move to flow.c, renamed to update_life_info;
- 	extend to handle multiple source insns.
- 	* flow.c: Include resource.h
- 	(unlink_insn_chain): New.
- 	(split_hard_reg_notes): New.
- 	(maybe_add_dead_note): New.
- 	(maybe_add_dead_note_use): New.
- 	(find_insn_with_note): New.
- 	(new_insn_dead_notes): New.
- 	(update_n_sets): New.
- 	(sets_reg_or_subreg_1, sets_reg_or_subreg): New.
- 	(maybe_remove_dead_notes): New.
- 	(update_life_info): New.
- 	(prepend_reg_notes): New.
- 	(replace_insns): New.
- 	* output.h (update_life_info): Declare.
- 	* recog.c (split_block_insns): Use update_life_info.
- 	* resource.c (find_free_register): Use reg_alloc_order, don't use
- 	fixed regs, make sure the mode is supported, don't use new regs.
- 	(reg_dead_p): New.
- 	* rtl.h (replace_insns): Declare.
- 
- Tue Aug 24 13:48:39 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* expr.c (expand_expr): Cope with COND_EXPRs with one
- 	non-returning branch.
- 
- Mon Aug 23 22:28:16 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (store_expr): Always pass down the target, even when not
- 	doing CSE.
- 
- 1999-08-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Define target_cpu_default for v850 targets.
- 	* configure: Regenerate
- 
- 	* config/v850/v850.h (TARGET_CPU_generic): Define.
- 	(GO_IF_LEGITIMATE_ADDRESS): Insist that SImode and larger constant
- 	addresses are 4 byte aligned.
- 
- 	* config/v850/v850.c (print_operand): Cope with 'R' format DFmode
- 	addresses.
- 
- Tue Aug 24 09:32:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (function_unit_desc): Constify a char*.  Add prototype.
- 	(main): Add prototypes.
- 
- 	* genattrtab.c (substitute_address, write_const_num_delay_slots,
- 	attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
- 	(write_attr_get): Emit prototypes along with function definition.
- 	(write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
- 	(write_complex_function): Emit static prototype along with
- 	function definition.
- 
- 	* genemit.c (gen_split): Emit prototypes along with function
- 	definition.
- 
- 	* genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
- 	Likewise for predicates and `insn_operand_predicate'.
- 	(process_template): Emit static prototype along with function
- 	definition.
- 
- 	* genrecog.c (make_insn_sequence): Constify a char*.  Add
- 	prototypes for get_split_*().
- 	(write_subroutine): Emit prototypes along with function
- 	definition.
- 
- Tue Aug 24 12:35:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* gcse.c (find_avail_set): Follow chains of register-register copies.
- 	Use oprs_not_set_p to guarantee that the returned value can be
- 	substituted.
- 	(cprop_insn): Don't verify the return value of find_avail_set with
- 	oprs_not_set_p.
- 
- 	* gcse.c (cprop_jump): New function, broken out of cprop_insn.
- 	(cprop_cc0_jump): New function.
- 	(cprop_insn): Break out new function cprop_jump and use it.
- 	Also use cprop_cc0_jump for machines with CC0.
- 	(cprop): Don't crash if cprop_insn turned the insn into a NOTE.
- 
- 	* tree.h (current_function_calls_setjmp,
- 	current_function_calls_longjmp): Delete declarations.
- 	* dsp16xx.c: Include "function.h".
- 	* elxsi.c: Likewise.
- 	* gmicro.c: Likewise.
- 	* h8300.c: Likewise.
- 	* i370.c: Likewise.
- 	* m32r.c: Likewise.
- 	* mn10200.c: Likewise.
- 	* mn10300.c: Likewise.
- 	* ns32k.c: Likewise.
- 	* spur.c: Likewise.
- 	* v850.c: Likewise.
- 
- 	* rtl.h (rtx_equal_function_value_matters): Declare.
- 	* toplev.c (rtx_equal_function_value_matters): Don't declare.
- 	* cse.c: Likewise.
- 	* function.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 
- Tue Aug 24 02:47:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
- 	call.
- 
- 1999-08-24 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
- 	exactly.
- 
- Mon Aug 23 23:35:52 1999  Matthias Klose  <doko@cs.tu-berlin.de>
- 
- 	* cpp.texi: Add a node documenting macro varargs (copied
- 	from extend.texi).
- 
- 1999-08-23 22:23 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cppspec.c: Put a null pointer at the end of the new argv.
- 
- Mon Aug 23 21:23:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Remove code to select/de-select the haifa
- 	scheduler.  Every scheduled port gets haifa now.
- 	* configure: Rebuilt.
- 	* flags.h, genattrtab.c, rtl.h, toplev.c: Remove HAIFA ifdefs.
- 	* sched.c Deleted.
- 	* Makefile.in: Corresponding changes.
- 
- Mon Aug 23 16:04:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* optabs.c (prepare_cmp_insn): Turn COMPARISON arg into a pointer.
- 	All callers changed.
- 	(prepare_float_lib_cmp): Likewise.
- 	Use FLOAT_LIB_COMPARE_RETURNS_BOOL.
- 	* expr.h (emit_float_lib_cmp): Delete declaration.
- 	* tm.texi (FLOAT_LIB_COMPARE_RETURNS_BOOL): Document.
- 	* sparc.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): Define.
- 	* sparc.md (bcc and scc patterns): Don't handle TFmode comparisons
- 	specially.
- 	(cmptf): Now conditional on TARGET_HARD_QUAD.
- 
- Fri Aug 20 17:52:27 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* resource.c (mark_target_live_regs): Use
- 	PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
- 
- Fri Aug 20 19:07:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.c (rtx_class, note_insn_name, reg_note_name): Constify.
- 
- 	* rtl.h (rtx_class, reg_note_name, note_insn_name): Likewise.
- 
- 	* genopinit.c (gen_insn): Use accessor macro, not `rtx_class'.
- 
- Fri Aug 20 18:53:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (rtx_format): Constify a char*.
- 
- 	* rtl.c (rtx_format): Likewise.
- 	(copy_rtx, copy_most_rtx, read_rtx): Likewise.
- 	(init_rtl): Use accessor macro, not `rtx_format'.
- 
- 	* alias.c (rtx_equal_for_memref_p, find_symbolic_term): Constify a
- 	char*.
- 
- 	* caller-save.c (mark_referenced_regs): Likewise.
- 
- 	* combine.c (subst, make_compound_operation, known_cond,
- 	gen_rtx_combine, update_table_tick, get_last_value_validate,
- 	use_crosses_set_p, mark_used_regs_combine, move_deaths): Likewise.
- 
- 	* cse.c (rtx_cost, mention_regs, canon_hash, exp_equiv_p,
- 	refers_to_p, canon_reg, fold_rtx, cse_process_notes,
- 	count_reg_usage): Likewise.
- 
- 	* emit-rtl.c (gen_rtx, copy_rtx_if_shared, reset_used_flags):
- 	Likewise.
- 
- 	* final.c (leaf_renumber_regs_insn): Likewise.
- 
- 	* flow.c (mark_used_regs, find_use_as_address, dump_flow_info,
- 	dump_edge_info, count_reg_references): Likewise.
- 
- 	* function.c (fixup_var_refs_1, walk_fixup_memory_subreg,
- 	fixup_stack_1, purge_addressof_1, instantiate_virtual_regs_1):
- 	Likewise.
- 
- 	* gcse.c (oprs_unchanged_p, hash_expr_1, expr_equiv_p,
- 	oprs_not_set_p, expr_killed_p, compute_transp, find_used_regs,
- 	add_label_notes): Likewise.
- 
- 	* genattrtab.c (attr_rtx, attr_copy_rtx, encode_units_mask,
- 	clear_struct_flag, count_sub_rtxs, count_alternatives,
- 	compares_alternatives_p, contained_in_p, walk_attr_value,
- 	write_expr_attr_cache): Likewise.
- 
- 	* genconfig.c (walk_insn_part): Likewise.
- 
- 	* genemit.c (max_operand_1, gen_exp): Likewise.
- 
- 	* genextract.c (walk_rtx): Likewise.
- 
- 	* genflags.c (num_operands): Likewise.
- 
- 	* genoutput.c (scan_operands): Likewise.
- 
- 	* genpeep.c (match_rtx): Likewise.
- 
- 	* genrecog.c (add_to_sequence): Likewise.
- 
- 	* haifa-sched.c (may_trap_exp, sched_analyze_2, attach_deaths):
- 	Likewise.
- 
- 	* integrate.c (save_constants, copy_for_inline,
- 	copy_rtx_and_substitute, subst_constants, restore_constants):
- 	Likewise.
- 
- 	* jump.c  (mark_jump_label, invert_exp, redirect_exp,
- 	rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise.
- 
- 	* local-alloc.c (contains_replace_regs, memref_referenced_p):
- 	Likewise.
- 
- 	* loop.c (record_excess_regs, rtx_equal_for_loop_p,
- 	add_label_notes, replace_call_address, count_nonfixed_reads,
- 	invariant_p, find_single_use_in_loop, find_mem_givs,
- 	find_life_end, maybe_eliminate_biv_1, update_reg_last_use):
- 	Likewise.
- 
- 	* print-rtl.c (reg_names, print_rtx): Likewise.
- 
- 	* recog.c (validate_replace_rtx_1, find_single_use_1): Likewise.
- 
- 	* reg-stack.c (stack_regs_mentioned_p, record_label_references,
- 	record_reg_life_pat, swap_rtx_condition, goto_block_pat,
- 	print_blocks): Likewise.
- 
- 	* regclass.c (fix_register, record_address_regs,
- 	reg_scan_mark_refs): Likewise.
- 
- 	* regmove.c (stable_but_for_p): Likewise.
- 
- 	* reload.c (loc_mentioned_in_p, operands_match_p,
- 	find_reloads_toplevsubst_reg_equivs, find_reloads_address_1,
- 	copy_replacements, refers_to_regno_for_reload_p,
- 	refers_to_mem_for_reload_p, find_inc_amount, regno_clobbered_p,
- 	reload_when_needed_name, reg_class_names, debug_reload_to_stream):
- 	Likewise.
- 
- 	* reload1.c (eliminate_regs, scan_paradoxical_subregs,
- 	delete_address_reloads_1, count_occurrences,
- 	reload_cse_mem_conflict_p, reload_combine_note_use,
- 	add_auto_inc_notes): Likewise.
- 
- 	* resource.c (mark_referenced_resources, mark_set_resources):
- 	Likewise.
- 
- 	* rtlanal.c (rtx_unstable_p, rtx_varies_p, rtx_addr_varies_p,
- 	reg_mentioned_p, regs_set_between_p, modified_between_p,
- 	modified_in_p, refers_to_regno_p, reg_overlap_mentioned_p,
- 	rtx_equal_p, volatile_insn_p, volatile_refs_p, side_effects_p,
- 	may_trap_p, inequality_comparisons_p, replace_rtx, replace_regs,
- 	jmp_uses_reg_or_mem, for_each_rtx, regno_use_in): Likewise.
- 
- 	* sched.c (sched_analyze_2, attach_deaths): Likewise.
- 
- 	* stupid.c (stupid_mark_refs): Likewise.
- 
- 	* unroll.c (remap_split_bivs): Likewise.
- 
- 	* varasm.c (mark_constants): Likewise.
- 
- 	* a29k/a29k.c (uses_local_reg_p): Likewise.
- 
- 	* alpha/alpha.c (summarize_insn): Likewise.
- 
- 	* arm/arm.c (symbol_mentioned_p, label_mentioned_p,
- 	eliminate_lr2ip): Likewise.
- 
- 	* arm/thumb.c (symbol_mentioned_p, label_mentioned_p): Likewise.
- 
- 	* i386/i386.c (symbolic_reference_mentioned_p, copy_all_rtx,
- 	reg_mentioned_in_mem): Likewise.
- 
- 	* ns32k/ns32k.c (global_symbolic_reference_mentioned_p,
- 	symbolic_reference_mentioned_p): Likewise.
- 
- 	* romp/romp.c (unsigned_comparisons_p, hash_rtx): Likewise.
- 
- 	* sh/sh.c (regs_used, mark_use): Likewise.
- 
- 	* vax/vax.c (vax_rtx_cost): Likewise.
- 
- Fri Aug 20 18:38:43 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* machmode.h (mode_name): Constify a char*.
- 
- 	* rtl.c (mode_name): Likewise.
- 
- 	* genopinit.c (gen_insn): Use accessor macro, not `mode_name'.
- 
- 	* optabs.c (init_libfuncs): Constify a char*.
- 
- 	* print-tree.c (mode_name): Remove redundant declaration.
- 	(print_node): Use accessor macro, not `mode_name'.
- 
- 	* reload1.c (dump_needs): Constify a char*.  Use accessor macro,
- 	not `mode_name'.
- 	(new_spill_reg): Constify a char*.
- 
- 	* tree.c (mode_name): Remove redundant declaration.
- 
- Fri Aug 20 18:31:26 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.c (rtx_name): Constify a char*.
- 
- 	* rtl.h (rtx_name, fix_sched_param): Likewise.
- 
- 	* gmicro/gmicro.c (rtx_name): Remove redundant declaration.
- 	(mypr): Use accessor macro, not `rtx_name'.
- 
- 	* genemit.c (print_code): Constify a char*.
- 
- 	* genopinit.c (gen_insn): Use accessor macro, not `rtx_name'.
- 
- 	* genpeep.c (print_code): Constify a char*.
- 
- 	* genrecog.c (print_code): Likewise.
- 
- 	* graph.c (start_fct, start_bb, node_data, draw_edge, end_fct,
- 	end_bb): Add static prototype.
- 	(draw_edge): Constify a char*.
- 	(end_bb): Remove unused parameter.
- 
- 	* haifa-sched.c (fix_sched_param, safe_concat, print_exp
- 	print_block_visualization): Constify a char*.
- 
- Fri Aug 20 15:02:10 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (c_get_alias_set): Update comment.
- 
- 1999-08-20  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
- 
- 	* linux.h (LIB_SPEC): Added.
- 
- Fri Aug 20 22:32:17 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (STARTFILE_SPEC): Don't def.
- 
- 1999-08-19 18:43 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* tree.c (expr_check): Fix typo in last change.
- 
- 1999-08-19 14:44 -0700  Zack Weinberg  <zack@bitmover.com>
- 
- 	* rtl.def (NOTE): Change format to "iuu0n".
- 	(ADDR_DIFF_VEC): Change format to "eEee0".
- 	(ADDRESSOF): Change format to "eit".
- 
- 	* rtl.h (rtvec): Make "elem" an array of rtx, not rtunion.
- 	(RTVEC_ELT): Change to match.
- 	(XVECEXP): Use XVEC and RTVEC_ELT.
- 	(INSN_UID, INSN_CODE, CODE_LABEL_NUMBER, NOTE_LINE_NUMBER,
- 	ADDRESSOF_REGNO, REGNO, SUBREG_WORD): Use XINT.
- 	(PREV_INSN, NEXT_INSN, PATTERN, REG_NOTES,
- 	CALL_INSN_FUNCTION_USAGE, SUBREG_REG, SET_SRC, SET_DEST,
- 	TRAP_CONDITION, TRAP_CODE): Use XEXP.
- 	(INTVAL): Use XWINT.
- 	(ADDRESSOF_DECL): Use XTREE.
- 	(SET_ADDRESSOF_DECL): Delete.
- 	(NOTE_DECL_NAME, NOTE_DECL_CODE, NOTE_DECL_RTL,
- 	NOTE_DECL_IDENTIFIER, NOTE_DECL_TYPE): Kill.  These have been
- 	ifdefed out since 2.6 at least.
- 	(gen_rtvec_vv): Delete prototype.
- 
- 	* rtl.h (rtvec_alloc): rt->elem is now an array of rtx,
- 	not rtunion.
- 	(copy_most_rtx): Handle 't' format letter.
- 	* emit-rtl.c (gen_rtvec_v): rt_val->elem is an array of rtx.
- 	(gen_rtvec_vv): Delete function.  All callers changed to use
- 	gen_rtvec_v instead.
- 	* print-rtl.c (print_rtx): Move special casing of NOTEs to
- 	the '0' format letter.
- 
- 	* function.c (gen_mem_addressof): Don't use
- 	SET_ADDRESSOF_DECL; provide `decl' to gen_rtx_ADDRESSOF
- 	instead.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	Copy 't' slots with XTREE.
- 	(subst_constants): Treat 't' slots like '[swi]' slots.
- 	* cse.c (canon_hash, exp_equiv_p): Treat 't' slots like	'0' slots.
- 	* jump.c (rtx_equal_for_thread_p): Likewise.
- 	* rtlanal.c (rtx_equal_p): Likewise.
- 	* stmt.c (expand_end_case): gen_rtx_ADDR_DIFF_VEC now takes
- 	only four arguments.
- 	* gengenrtl.c (type_from_format): Provide correct types for
- 	'b' and 't' slots.
- 
- 
- 	* tree.h [ENABLE_CHECKING] (TREE_CHECK, TREE_CLASS_CHECK):
- 	If a recent gcc is in use (always in stage2 and beyond), use
- 	statement expressions, so we don't make a function call unless
- 	the check fails.  Evaluate arguments exactly once.
- 	(CHAIN_CHECK, DO_CHECK, DO_CHECK1, TREE_CHECK1,
- 	TREE_CLASS_CHECK1, TYPE_CHECK1, DECL_CHECK1, CST_CHECK1):
- 	Delete.
- 	(CST_OR_CONSTRUCTOR_CHECK, EXPR_CHECK): Redefine such that
- 	they evaluate their arguments exactly once, irrespective of
- 	the compiler in use.
- 
- 	* tree.c [ENABLE_CHECKING]: Define whichever set of functions
- 	is used by the currently-enabled check macros.  This is:
- 	(tree_check_failed, tree_class_check_failed): For gcc.
- 	(tree_check, tree_class_check, cst_or_constructor_check,
- 	expr_check): For other compilers.
- 
- 	* gencheck.c: Do not define any *_CHECK1 macros.
- 
- Thu Aug 19 14:42:38 1999  Mike Stump <mrs@wrs.com>
- 			  Mark Mitchell <mark@codesourcery.com>
- 
- 	* c-common.c (c_get_alias_set): Fix support for pointers and
- 	references.
- 
- Thu Aug 19 11:51:22 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* alias.c: Include tree.h.
- 	(nonlocal_reference_p, mark_constant_function): New functions.
- 	* flow.c (life_analysis): Call mark_constant_function.
- 	* rtl.h (mark_constant_function): Declare it.
- 
- Thu Aug 19 15:02:01 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Fix test for
- 	unrecognizable switches.
- 
- Wed Aug 18 23:31:57 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (recombine_givs): Set ix field after sorting.
- 	(recombine_givs): Remove bogus index / giv lockstep looping.
- 
- Wed Aug 18 18:20:40 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* expmed.c (emit_store_flag): If UNSIGNEDP, call unsigned_condition
- 	on CODE.
- 	(emit_store_flag_force): Use do_compare_rtx_and_jump.
- 	(do_cmp_and_jump): Formatting fixes.
- 	* expr.c (do_compare_and_jump): Renamed from compare; changed to call
- 	do_compare_rtx_and_jump instead of compare_from_rtx.
- 	(do_compare_rtx_and_jump): New function; mostly copied from
- 	compare_from_rtx.
- 	(do_jump_for_compare): Delete.
- 	(expand_expr): Use do_compare_rtx_and_jump when handling MAX_EXPR and
- 	MIN_EXPR.
- 	(do_jump): Use do_compare_and_jump or do_compare_rtx_and_jump instead
- 	of compare/do_jump_for_compare pairs.
- 	(do_jump_by_parts_greater): Use do_jump_by_parts_greater_rtx.
- 	(do_jump_by_parts_greater_rtx): Use do_compare_rtx_and_jump instead of
- 	compare_from_rtx/do_jump_for_compare pairs.
- 	(do_jump_by_parts_equality): Likewise.
- 	(do_jump_by_parts_equality_rtx): Likewise.
- 	* expr.h (do_compare_rtx_and_jump): Declare.
- 	* optabs.c (prepare_cmp_insn): New function, contains most of the code
- 	that used to be in emit_cmp_insn.
- 	(cmp_available_p): New function.
- 	(prepare_operand): New function.
- 	(emit_cmp_and_jump_insn_1): New function, contains some code that used
- 	to be in emit_cmp_insn.
- 	(prepare_float_lib_cmp): Renamed from emit_float_lib_cmp; change some
- 	parameters to be pointers; don't emit final compare but modify some of
- 	the values pointed to by the args so the caller can perform the
- 	correct comparison.
- 	(expand_binop): Call emit_store_flag_force with signed forms of
- 	comparison code.
- 	(expand_abs): Use do_compare_rtx_and_jump instead of compare_from_rtx/
- 	emit_jump_insn pair.
- 	(emit_cmp_and_jump_insn): Use prepare_cmp_insn and
- 	emit_cmp_and_jump_insn_1.  Call emit_queue.
- 	(emit_cmp_insn): Just call emit_cmp_and_jump_insns with zero for LABEL
- 	arg.
- 	* flow.c (tidy_fallthru_edge): If HAVE_cc0, verify insn before a
- 	jump sets cc0 before deleting it.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* unroll.c (unroll_loop): Similar changes in several places.
- 	(copy_loop_body): If HAVE_cc0, verify insn before a jump sets cc0
- 	before deleting it.
- 
- Wed Aug 18 06:37:44 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* Makefile.in (insn-recog.o): Update dependencies.
- 	* genrecog.c (main): Make generated file include "function.h".
- 
- Sat Aug 14 00:54:57 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* cse.c (cse_insn): Call never_reached_warning when a jump is
- 	changed to be unconditional.
- 	* flags.h: Declare warn_notreached.
- 	* flow.c (delete_block): Call never_reached_warning when
- 	a block is deleted.
- 	* jump.c (delete_barrier_successors): Call never_reached_warning
- 	when we delete everything after a BARRIER.
- 	(never_reached_warning): New function.
- 	* rtl.h: Declare never_reached_warning.
- 	* toplev.c (warn_notreached): New variable.
- 	(lang_independent_options): Set warn_notreached
- 	when -Wunreachable-code.
- 	(compile_file): We need line numbers for -Wunreachable-code.
- 
- Tue Aug 17 22:06:11 1999  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* haifa-sched.c (insn_unit): Fix typo on out of range test.
- 	* sched.c (insn_unit): Likewise.
- 
- Tue Aug 17 21:57:23 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* combine.c (distribute_notes): Handle REG_EH_RETHROW.
- 
- Tue Aug 17 17:39:43 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* flow.c (create_edge_list): Use xmalloc, not malloc.
- 
- Tue Aug 17 01:40:54 1999  Loren Rittle  <ljrittle@acm.org>
- 
- 	* fixinc/inclhack.def (no_double_slash): Do not trash single-line
- 	C-style comments.  Do not lose the character before double slash.
- 
- Mon Aug 16 18:08:22 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* basic-block.h (struct edge_list): Stucture to maintain a vector
- 	of edges.
- 	(EDGE_INDEX_NO_EDGE, EDGE_INDEX, INDEX_EDGE_PRED_BB, INDEX_EDGE_SUCC_BB,
- 	 INDEX_EDGE, NUM_EDGES): New Macros for accessing edge list.
- 	(create_edge_list, free_edge-List, print_edge_list, verify_edge_list):
- 	New function prototypes.
- 	* flow.c (create_edge_list): Function to create an edge list.
- 	(free_edge_list): Discards memory used by an edge list.
- 	(print_edge_list): Debug output showing an edge list.
- 	(verify_edge_list): Internal consistency check for an edge list.
- 	(find_edge_index): Function to find an edge index for a pred and succ.
- 
- Mon Aug 16 11:56:36 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (type_hash_add): Use permalloc to allocate nodes in the
- 	hashtable.
- 
- Mon Aug 16 17:04:15 1999  Jorn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* mips.h (CLASS_CANNOT_CHANGE_SIZE): Define.
- 
- Fri Aug 13 15:20:43 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* config/i386/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 
- Fri Aug 13 10:21:28 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Allow machine dependent
- 	reorganization pass to place information into the RTL dump
- 	file if it so wishes.
- 
- Sun Aug 15 12:41:21 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* explow.c (hard_function_value): Use VOIDmode instead of
- 	MAX_MACHINE_MODE.
- 	* stmt.c (expand_return): Likewise.
- 	* stor-layout.c (get_best_mode): Likewise.
- 
- 	* genemit.c (gen_expand): If next is MATCH_PAR_DUP, then output
- 	emit call instead of emit_insn call.
- 
- Sat Aug 14 15:04:06 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* configure.in: Handle --disable/enable-win32-registry.
- 	* install.texi: Document --disable/enable-win32-registry.
- 	* acconfig.h (ENABLE_WIN32_REGISTRY): New macro.
- 	(WIN32_REGISTRY_KEY): New macro.
- 	* prefix.c: Use to enable/disable win32-specific code.
- 	(lookup_key): Use versioned key.
- 	* configure: Regenerate.
- 	* config.in: Likewise.
- 
- Fri Aug 13 17:41:55 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* cpplib.c (read_line_number): New fn, split out of...
- 	(do_line): Here.
- 
- Fri Aug 13 14:18:27 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	tree.c (lang_unsave_expr_now) : New.
- 	(unsave_expr_now): Call lang_unsave_expr_now.
- 	tree.h (lang_unsave_expr_now) : New.
- 
- Fri Aug 13 00:49:46 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (flag_new_exceptions): On by default.
- 
- 1999-08-13  Michael Meissner  <meissner@cygnus.com>
- 
- 	* Makefile.in (GCC_FOR_TARGET): Move -B./ after the tooldir -B.
- 
- Fri Aug 13 01:29:57 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* dwarfout.c (fundamental_type_code): Return FT_boolean for
- 	INTEGER_TYPE with precision==1, it's __java_boolean.
- 
- Thu Aug 12 23:51:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* global.c (prune_preferences): Move some invariants out of the
- 	inner loop.
- 
- Thu Aug 12 15:30:29 1999  Jesse Perry  (jap@unx.dec.com)
- 
- 	* configure.in (alpha*-dec-osf*): Add osf5.
- 
- Sun Aug  1 22:24:03 1999  Philip Blundell  <philb@gnu.org>
- 
- 	* configure.in: Rework handling of ARM GNU/Linux slightly.
- 	(arm*-*-linux-gnuoldld): New target.
- 	* configure: Regenerate.
- 	* install.texi (Configurations): Add arm-*-linux-gnu{oldld} and
- 	arm-*-elf.  Mention that arm-*-linux-gnuaout is obsolete.
- 	* config/arm/linux-oldld.h: New file.
- 	* config/arm/linux-elf26.h: Don't include linux-elf.h.
- 	(TARGET_DEFAULT, SUBTARGET_LINK_SPEC, SUBTARGET_EXTRA_ASM_SPEC):
- 	Don't define.
- 	* config/arm/linux-elf.h (ASM_SPEC): Define.
- 	(TARGET_DEFAULT, SUBTARGET_EXTRA_LINK_SPEC,
- 	SUBTARGET_EXTRA_ASM_SPEC, CPP_APCS_PC_DEFAULT): Add definitions
- 	for 26-bit APCS and old linker.
- 	(CPP_PREDEFINES): Define `__arm__'; don't define `arm' or
- 	`arm_elf'.
- 	(FP_DEFAULT): Define to FP_SOFT3 for all machines.
- 	* config/arm/linux-aout.h (CPP_PREDEFINES): Define `__arm__';
- 	don't define `arm' or `arm_elf'.
- 	* config/arm/t-linux (EXTRA_MULTILIB_PARTS, MULTILIB_OPTIONS,
- 	MULTILIB_DIRNAMES): Define.  Fix typo in comment.
- 
- Thu Aug 12 10:14:47 1999  Andreas Schwab  <schwab@suse.de>
- 
- 	* rtl.texi: Fix typo.
- 
- Wed Aug 11 23:50:57 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* invoke.texi (C++ Dialect Options): Add -fms-extensions.
- 
- Wed Aug 11 12:59:37 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* extend.texi (C++ Signatures): Remove node.
- 	* invoke.texi: Remove discussion of -fhandle-signatures,
- 	signature, sigof, __signature__, and __sigof__.
- 
- Wed Aug 11 03:38:25 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (JAVAGC): Removed.
- 
- Wed Aug 11 02:13:26 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- 
- 1999-08-11 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* i386/djgpp.h (ASM_OUTPUT_ALIGNED_BSS): Define.
- 
- 1999-08-11  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* emit-rtl.c (mark_reg_pointer): Don't increase the alignment of
- 	a register that is already known to be a pointer.
- 
- 1999-08-11  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/inclhack.tpl: Only install assert.h conditionally.
- 	* fixinc/inclhack.sh: Regenerated.
- 	* fixinc/fixincl.sh: Regenerated.
- 
- Wed Aug 11 00:34:22 1999  Joe Buck  <jbuck@synopsys.com>
- 
- 	* invoke.texi: s/GNU CC/GCC/ for consistency with gcc.texi.
- 	Fix documentation of -ansi flag to describe its C++ behavior.
- 	Remove bogus reference to GCC 2.9.
- 
- Tue Aug 10 17:19:02 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/sh/sh.c (machine_dependent_reorg): Only call PUT_MODE on
- 	note if it is non-NULL.
- 
- Tue Aug 10 10:47:42 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* except.h (eh_nesting_info): Add new structure definition.
- 	(init_eh_nesting_info, free_eh_nesting_info): Add function prototypes.
- 	(reachable_handlers, update_rethrow_references): Add function
- 	prototypes.
- 	* rtl.h (struct rtvec_def): Update comments.  REG_EH_RETHROW takes
- 	a rethrow symbol instead of an integer exception region number.
- 	* flow.c (Make_edges): Use new exception nesting routines to determine
- 	which handlers are reachable from a CALL or asynchronous insn.
- 	Don't add an edge for calls with a REG_EH_REGION of -1 to non-local
- 	goto receivers.
- 	(delete_eh_regions): Update rethrow labels, and don't delete
- 	regions which are the target of a rethrow.
- 	* except.c (struct func_eh_entry): Add rethrow_ref field, now we can
- 	avoid overloading the SYMBOL_REF_USED flag.
- 	(rethrow_symbol_map): Use new rethrow_ref field.
- 	(rethrow_used): Use new rethrow_ref field.
- 	(expand_rethrow): REG_EH_RETHROW now has a SYMBOL_REF instead
- 	of an integer.  Fix formatting.
- 	(output_exception_table_entry): Use new rethrow_ref field.
- 	(can_throw): Check for EH_REGION_NOTE before deciding
- 	whether a CALL can throw or not.
- 	(scan_region): Call rethrow_used() instead of accessing data structure.
- 	(update_rethrow_references): New function to make sure only regions
- 	which are still targets of a rethrow are flagged as such.
- 	(process_nestinfo): New static function to initialize a handler
- 	list for a specific region.
- 	(init_eh_nesting_info): New function to allocate and initialize
- 	the list of all EH handlers reachable from all regions.
- 	(reachable_handlers): New function to retrieve the list of handlers
- 	reachable from a specific region and insn.
- 	(free_eh_nesting_info): New function to dispose of a list of
- 	reachable handlers.
- 
- Tue Aug 10 10:39:31 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* flow.c (split_edge): Set JUMP_LABEL field.
- 	(commit_one_edge_insertion): Set head correctly for insert_before.
- 	When inserting insns, update insn block numbers if allocated.
- 
- Tue Aug 10 09:26:07 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr, add_incomplete_type,
- 	retry_incomplete_types): Add static prototype.
- 	(stripattributes, dwarf_cfi_name, ASM_OUTPUT_DWARF_STRING,
- 	dwarf_tag_name, dwarf_attr_name, dwarf_form_name,
- 	dwarf_stack_op_name, dwarf_type_encoding_name, add_AT_string,
- 	dwarf2_name, add_name_attribute, lookup_filename, dwarf2out_line,
- 	dwarf2out_start_source_file, dwarf2out_define, dwarf2out_undef):
- 	Constify a char*.
- 
- 	* dwarf2out.h (dwarf2out_define, dwarf2out_undef,
- 	dwarf2out_start_source_file, dwarf2out_line): Likewise.
- 
- Tue Aug 10 09:21:46 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (assemble_name): Constify a char*.
- 
- 	* varasm.c (UNIQUE_SECTION, assemble_start_function,
- 	assemble_variable, assemble_name): Likewise.
- 
- 	* dwarf2out.c (ASM_NAME_TO_STRING): Likewise.
- 
- 	* arm/pe.c (arm_pe_unique_section): Likewise.
- 
- 	* i386/cygwin.h (STRIP_NAME_ENCODING): Likewise.
- 
- 	* i386/i386-interix.h (STRIP_NAME_ENCODING): Likewise.
- 
- 	* i386/interix.c (i386_pe_unique_section): Likewise.
- 
- 	* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
- 
- 	* i386/winnt.c (i386_pe_unique_section): Likewise.
- 
- 	* m32r/m32r.h (ASM_OUTPUT_LABELREF): Likewise.
- 
- 	* mn10200/mn10200.h (ASM_OUTPUT_LABELREF): Likewise.
- 
- 	* mn10300/mn10300.h (ASM_OUTPUT_LABELREF): Likewise.
- 
- 	* pa/pa.c (output_call): Likewise.
- 
- 	* pa/pa.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- 	* pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
- 
- 	* rs6000/rs6000.c (rs6000_output_load_toc_table, output_toc):
- 	Likewise.
- 
- 	* rs6000/rs6000.h (RS6000_OUTPUT_BASENAME, STRIP_NAME_ENCODING):
- 	Likewise.
- 
- 	* rs6000/sol2.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 
- 	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_INT,
- 	STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Likewise.
- 
- 	* v850/v850.h (ASM_OUTPUT_LABELREF): Likewise.
- 
- Mon Aug  9 19:54:05 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* real.c (GET_REAL, PUT_REAL): Use memcpy instead of bcopy.
- 
- Mon Aug  9 19:36:00 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.h (lang_identify): Constify a char*.
- 	(print_error_function): Add extern prototype.  Constify a char*.
- 
- 	* c-lang.c (lang_identify): Constify a char*.
- 
- 	* objc/objc-act.c (lang_identify): Constify a char*.
- 
- Mon Aug  9 16:21:53 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* genpeep.c (main): Make generated file include "function.h".
- 	* arm.c (function_really_clobbers_lr): Delete INLINE_HEADER case.
- 
- Mon Aug  9 10:08:50 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* Makefile.in: Update dependencies.
- 	* alias.c: Include "function.h"
- 	* c-decl.c: Likewise.
- 	* caller-save.c: Likewise.
- 	* calls.c: Likewise.
- 	* combine.c: Likewise.
- 	* cse.c: Likewise.
- 	* explow.c: Likewise.
- 	* final.c: Likewise.
- 	* global.c: Likewise.
- 	* graph.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* optabs.c: Likewise.
- 	* profile.c: Likewise.
- 	* recog.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reload.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.c: Likewise.
- 	* sched.c: Likewise.
- 	* stupid.c: Likewise.
- 	* config/1750a/1750a.c: Likewise.
- 	* config/a29k/a29k.c: Likewise.
- 	* config/arc/arc.c: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/thumb.c: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/clipper/clipper.c: Likewise.
- 	* config/convex/convex.c: Likewise.
- 	* config/fx80/fx80.c: Likewise.
- 	* config/i860/i860.c: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/m88k/m88k.c: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/pdp11/pdp11.c: Likewise.
- 	* config/pyr/pyr.c: Likewise.
- 	* config/romp/romp.c: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/tahoe/tahoe.c: Likewise.
- 	* config/vax/vax.c: Likewise.
- 	* config/we32k/we32k.c: Likewise.
- 	* config/sparc/sparc.c: Include "function.h".
- 	(mem_min_alignment): Test current_function rather than
- 	regno_pointer_align.
- 	* config/pa/pa.c: Likewise.
- 	(compute_frame_size): Delete declaration of
- 	current_function_outgoing_args_size.
- 	* config/arc/arc.h (current_function_varargs): Delete declaration.
- 	* config/elxsi/elxsi.h (current_function_calls_alloca): Delete
- 	declaration.
- 	* config/i370/i370.h (current_function_outgoing_args_size): Delete
- 	declaration.
- 	* config/i386/i386.h (FINALIZE_PIC): Delete declaration of
- 	current_function_uses_pic_offset_table.
- 	* config/m68k/a-ux.h (FUNCTION_EXTRA_EPILOGUE): Delete declaration
- 	of current_function_returns_pointer.
- 	* config/m68k/altos3068.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m68k/m68kv4.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m68k/mot3300.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m68k/pbb.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m68k/tower-as.h (FUNCTION_EXTRA_EPILOGUE): Likewise.
- 	* config/m88k/m88k.c: Include "function.h"
- 	(call_used_regs, current_function_pretend_args_size,
- 	current_function_outgoing_args_size, frame_pointer_needed): Delete
- 	declarations.
- 	* config/m88k/m88k.h (current_function_pretend_args_size): Delete
- 	declaration.
- 	* config/mips/mips.h (current_function_calls_alloca): Delete
- 	declaration.
- 	* config/mn10200/mn10200.h (current_function_needs_context,
- 	rtx_equal_function_value_matters): Delete declarations.
- 	* config/ns32k/ns32k (current_function_uses_pic_offset_table,
- 	flag_pic): Delete declarations.
- 	* config/pa/pa.h (current_function_pretend_args_size,
- 	current_function_decl): Delete declarations.
- 	* config/pa/som.h (current_function_varargs): Delete declaration.
- 	* config/pdp11/pdp11.h (current_function_pretend_args_size): Delete
- 	declaration.
- 	* config/pyr/pyr.h (current_function_pretend_args_size,
- 	current_function_args_size, current_function_calls_alloca): Delete
- 	declarations.
- 	* config/sh/sh.h (current_function_varargs): Delete declaration.
- 	* config/sparc/sparc.h (current_function_outgoing_args_size,
- 	current_function_calls_alloca, current_function_decl): Delete
- 	declarations.
- 	* config/spur/spur.h (current_function_pretend_args_size,
- 	current_function_calls_alloca): Delete declarations.
- 	* config/v850/v850.c (current_function_outgoing_args_size): Delete
- 	declaration.
- 	* config/vax/vms.h (current_function_name): Delete declaration.
- 	* gcse.c: Include "function.h".
- 	(current_function_name, current_function_calls_setjmp): Delete
- 	declarations.
- 	* haifa-sched.c: Include "function.h".
- 	(forced_labels): Delete declaration.
- 	* jump.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* genemit.c (main): Make generated file include function.h.
- 	* genoutput.c (output_prologue): Likewise.
- 
- 	* builtins.c (saveregs_value, apply_args_value): Delete variables.
- 	* emit-rtl.c (reg_rtx_no, first_label_num, first_insn, last_insn,
- 	sequence_rtl_expr, cur_insn_uid, last_linenum, last_filename,
- 	regno_pointer_flag, regno_pointer_flag_length, regno_pointer_align,
- 	regno_reg_rtx, sequence_stack): Delete variables.  Add accessor
- 	macros for some of them.
- 	(emit_filename, emit_lineno): Delete declarations.
- 	(gen_reg_rtx): Use memset/memcpy instead of bzero/bcopy.  Access
- 	regno_pointer_* variables through current_function.
- 	(gen_inline_header_rtx): Delete function.
- 	(save_emit_status): Delete function.
- 	(set_new_last_label_num): New function.
- 	(clear_emit_caches): New function.
- 	(restore_emit_status): Just clear last_labelnum and call
- 	clear_emit_caches.
- 	(get_last_insn_anywhere): Variable sequence_stack is now accessed
- 	through macro seq_stack.
- 	(add_insn_after): Likewise.
- 	(add_insn_before): Likewise.
- 	(remove_insn): Likewise.
- 	(pop_topmost_sequence): Likewise.
- 	(in_sequence_p): Likewise.
- 	(start_sequence_for_rtl_expr): Likewise.
- 	(start_sequence): Likewise, and likewise for
- 	sequence_rtl_expr/seq_rtl_expr.
- 	(push_topmost_sequence): Likewise.
- 	(end_sequence): Likewise.
- 	(init_virtual_regs): Now takes a "struct emit_status *" argument.
- 	All callers changed.  Store into that pointer instead of globals.
- 	(init_emit): Allocate emit elt of current_function.
- 	Changes for sequence_rtl_expr/sequence_stack renaming.
- 	Call clear_emit_caches instead of doing it in-line.
- 	Access regno_pointer_* variables through current_function.
- 	(init_emit_once) Don't clear sequence_stack.
- 
- 	* expr.c (pending_stack_adjust, inhibit_defer_pop, pending_chain):
- 	Delete variables.
- 	(arg_pointer_save_area): Delete declaration.
- 	(finish_expr_for_function): Renamed from init_queue; no longer static.
- 	(init_expr): Don't call init_queue.
- 	(save_expr_status, restore_expr_status): Delete functions.
- 	(expand_expr): Changes to reflect new layout of struct function.
- 	Don't access current_function_check_memory_usage when current_function
- 	is 0.
- 	* expr.h (forced_labels, save_expr_regs, saveregs_value,
- 	apply_args_value, current_function_calls_alloca, inhibit_defer_pop,
- 	current_function_outgoing_args_size, current_function_arg_offset_rtx,
- 	current_function_uses_const_pool, function_call_count,
- 	current_function_uses_pic_offset_table, nonlocal_labels,
- 	current_function_internal_arg_pointer, nonlocal_goto_stack_level,
- 	current_function_check_memory_usage, nonlocal_goto_handler_slots,
- 	pending_stack_adjust, target_temp_slot_level, temp_slot_level): Delete
- 	declarations.
- 	(finish_expr_for_function): Declare.
- 	* flags.h (current_function_has_nonlocal_label,
- 	current_function_has_nonlocal_goto, current_function_is_thunk,
- 	current_function_has_computed_jump): Delete declarations.
- 	* flow.c (forced_labels): Delete declaration.
- 	* function.c (current_function_pops_args,
- 	current_function_returns_struct, current_function_returns_pcc_struct,
- 	current_function_needs_context, current_function_calls_setjmp,
- 	current_function_calls_longjmp, current_function_has_nonlocal_label,
- 	current_function_has_nonlocal_goto, current_function_is_thunk,
- 	current_function_has_computed_jump, current_function_calls_alloca,
- 	current_function_contains_functions, current_function_returns_pointer,
- 	current_function_epilogue_delay_list, current_function_args_size,
- 	current_function_pretend_args_size, current_function_arg_offset_rtx,
- 	current_function_outgoing_args_size, current_function_varargs,
- 	current_function_stdarg, current_function_args_info, cleanup_label,
- 	current_function_name, current_function_uses_const_pool,
- 	current_function_instrument_entry_exit, current_function_return_rtx,
- 	current_function_uses_pic_offset_table, nonlocal_labels,
- 	current_function_internal_arg_pointer, current_function_cannot_inline,
- 	current_function_check_memory_usage, function_call_count,
- 	nonlocal_goto_handler_slots, nonlocal_goto_handler_labels,
- 	nonlocal_goto_stack_level, return_label, save_expr_regs,
- 	stack_slot_list, rtl_expr_chain, tail_recursion_label, temp_slots,
- 	tail_recursion_reentry, arg_pointer_save_area, frame_offset,
- 	context_display, trampoline_list, parm_birth_insn, invalid_stack_slot,
- 	last_parm_insn, max_parm_reg, parm_reg_stack_loc, sequence_rtl_expr,
- 	temp_slot_level, var_temp_slot_level, target_temp_slot_level):
- 	Delete variables.
- 	(push_function_context_to): Don't save them.  Don't call
- 	save_storage_status, save_emit_status or save_expr_status.
- 	(pop_function_context_from): Don't restore them.  Don't call
- 	restore_storage_status or restore_expr_status.
- 	(get_func_frame_size): New function.
- 	(get_frame_size): Use it.
- 	(assign_outer_stack_local): Reflect some member name changes in struct
- 	function.
- 	(put_reg_into_stack): Likewise.
- 	(assign_stack_temp_for_type): sequence_rtl_expr was renamed to
- 	seq_rtl_expr.
- 	(fixup_var_refs): Likewise.
- 	(fix_lexical_addr): Likewise.
- 	(trampoline_address): Likewise.
- 	(prepare_function_start): Clear field inlinable of current_function.
- 	(init_function_for_compilation): New function.
- 	(expand_dummy_function_end): New function.
- 	(expand_function_end): Call finish_expr_for_function.
- 	* function.h (struct emit_status): New; fields moved here from struct
- 	function and from global variables.  Add accessor macros for some of
- 	the fields.
- 	(struct expr_status): Likewise.
- 	(REGNO_POINTER_ALIGN, REGNO_POINTER_FLAG): Moved here from regs.h.
- 	(struct function): Add fields expr and emit, inlinable, inl_emit,
- 	original_arg_vector, original_decl_initial, inl_last_parm_insn,
- 	inl_max_label_num.  Add many comments.
- 	Add accessor macros for all elts of struct function that no longer
- 	have a global variable.
- 	(cleanup_label, return_label, frame_offset, tail_recursion_label,
- 	tail_recursion_reentry, arg_pointer_save_area, rtl_expr_chain,
- 	stack_slot_list): Delete declarations.
- 	(get_func_frame_size): Declare.
- 	(save_expr_status, restore_expr_status, save_emit_status,
- 	save_storage_status, restore_storage_status): Delete declarations.
- 	(init_virtual_regs): Declare.
- 	* output.h (current_function_pops_args,
- 	current_function_returns_struct, current_function_returns_pcc_struct,
- 	current_function_needs_context, current_function_calls_setjmp,
- 	current_function_calls_longjmp, current_function_calls_alloca,
- 	current_function_has_nonlocal_label, current_function_varargs,
- 	current_function_has_computed_jump, current_function_returns_pointer,
- 	current_function_contains_functions, current_function_args_size,
- 	current_function_pretend_args_size, current_function_stdarg,
- 	current_function_outgoing_args_size, current_function_args_info,
- 	current_function_name, current_function_return_rtx,
- 	current_function_epilogue_delay_list,
- 	current_function_uses_const_pool, current_function_cannot_inline):
- 	Delete declarations.
- 	* regs.h (reg_rtx_no, regno_pointer_flag, regno_pointer_flag_length,
- 	regno_reg_rtx): Delete declaration.
- 	(REGNO_POINTER_FLAG): Delete macro.
- 	* stmt.c (expand_goto): Changes to reflect that some fields in struct
- 	function were renamed.
- 	* stor-layout.c (save_storage_status, restore_storage_status): Delete
- 	functions.
- 	* toplev.c: Include "function.h".
- 	(current_function_decl): Delete declaration.
- 	(compile_file): Call init_dummy_function_start and
- 	expand_dummy_function_end around some initializations that need to
- 	emit rtl.
- 	(rest_of_compilation): Use DECL_SAVED_INSNS properly.
- 	Call init_function_for_compilation.
- 	* unroll.c: Include "function.h"
- 	(unroll_loop): Access regno_pointer_* variables through
- 	current_function.
- 
- 	* tree.h (struct tree_decl): Add elt f to saved_insns member.
- 	(DECL_SAVED_INSNS): use it.
- 	(expand_dummy_function_end): Declare.
- 	(init_function_for_compilation): Declare.
- 	* calls.c (calls_function_1): Change use of DECL_SAVED_INSNS now
- 	that it's no longer an INLINE_HEADER.
- 	(expand_call): Likewise.
- 	* integrate.c (finish_inline): Delete function.
- 	(max_parm_reg, parm_reg_stack_loc): Delete declarations.
- 	(initialize_for_inline): Delete min_labelno, max_labelno and max_reg
- 	args.  Don't generate an INLINE_HEADER rtx, just return the arg
- 	vector.  All callers changed.
- 	(save_for_inline_copying):  Create a duplicate struct emit_status to
- 	hold the emit state for compiling the current function.  Use this and
- 	the other new fields in struct function that are for integration
- 	instead of an INLINE_HEADER.
- 	Use memcpy instead of bcopy.
- 	Store the current struct function in DECL_SAVED_INSNS of fndecl.
- 	(save_for_inline_nocopy): Similar changes, except no new emit_status
- 	is needed here.
- 	(expand_inline_function): Get information from function structure,
- 	not from an inline header rtx.
- 	(output_inline_function): Lose code to extract the necessary
- 	information from an inline header; simply put back the function
- 	structure into current_function.  Clear its inlinable elt.
- 	* rtl.def (INLINE_HEADER): Delete.
- 	* rtl.h: Delete all accessors for an INLINE_HEADER.
- 	(gen_inline_header_rtx): Delete declaration.
- 	(regno_reg_rtx, regno_pointer_align, nonlocal_goto_handler_labels):
- 	Delete declarations.
- 	(REGNO_POINTER_ALIGN): Delete.
- 	(clear_emit_caches): Declare.
- 	(set_new_last_label_num): Declare.
- 
- Mon Aug  9 01:52:24 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* print-tree.c (print_node): Print base for OFFSET_TYPEs.
- 
- 	* except.c (expand_eh_region_start_for_decl): Always start a new block.
- 	* stmt.c (is_eh_region): Make sure current_function is present, too.
- 
- Mon Aug  9 01:15:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (HARD_REGNO_MODE_OK): Correctly handle FPregs, even when
- 	for 64bit PA targets.
- 
- 	* pa.h (SELECT_SECTION): Define.
- 	* som.h (SELECT_SECTION): Delete.
- 
- Sun Aug  8 15:13:20 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alias.c (init_alias_analysis): Wrap call to
- 	`prologue_epilogue_contains' within HAVE_prologue||HAVE_epilogue.
- 
- 1999-08-07  Bruce Korb  <autogen@linuxbox.com>
- 
- 	* fixinc/inclhack.def(irix_asm_apostrophe):  IRIX 5.2's
- 	<sys/asm.h> contains an asm comment with an apostrophe
- 	* fixinc/inclhack.sh:  regen
- 	* fixinc/fixincl.x:  regen
- 
- Sat Aug  7 19:37:07 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (init_function_start): Clear prologue & epilogue.
- 	(prologue_epilogue_contains): New function.
- 	* alias.c (init_alias_analysis): Use it.
- 	* rtl.h (prologue_epilogue_contains): Declare it.
- 
- Sat Aug  7 19:32:16 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (onlyjump_p): New function.
- 	* rtl.h: Declare it.
- 	* flow.c (delete_unreachable_blocks): Use onlyjump_p instead
- 	of condjump_p in calling tidy_fallthru_edge and merge_blocks.
- 
- Sat Aug  7 17:09:36 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* global.c (build_insn_chain): Use EXECUTE_IF_SET_IN_REG_SET
- 	to invert loops.  Simplify block scanning.
- 
- Sat Aug  7 02:11:13 1999  Bernd Schmidt <bernds@cygnus.co.uk>
- 
- 	* gcse.c (hash_scan_set): Treat SYMBOL_REFs like CONST_INTs.
- 	(cprop_insn): Treat SYMBOL_REFs like CONST_INTs.
- 
- 1999-08-07  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* config/sparc/liteelf.h: New file to support sparclite-elf target
- 	* config/sparc/t-sp86x: New file to support sparc86x targets
- 	* config/sparc/sp86x-aout.h: New file to support sparc86x-aout target
- 	* config/sparc/sp86x-elf.h: New file to support sparc86x-elf target
- 	* configure.in: Support above target triplets
- 	* configure: Regenerated
- 
- Sat Aug  7 01:39:27 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* fixinc/server.c (server_setup): Do not prefix function used as
- 	parameter with `&'.
- 
- Sat Aug  7 00:21:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (movhi and movqi patterns): Correct predicate for !BWX.
- 	Remove fp reg alternatives.
- 
- Sat Aug  7 00:06:54 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefiin (TAROUTOPTS): Kill.
- 	(install-headers-tar): Use "xpf" for tar headerfile extraction
- 	* i370/x-oe (TAROUTOPTS): Delete.
- 	* m68k/x-apollo68 (TAROUTOPTS): Delete.
- 	* m68k/x-hp320 (TAROUTOPTS): Delete.
- 	* m68k/x-hp320g (TAROUTOPTS): Delete.
- 	* gcc.texi: Update bug reporting text.
- 
- 1999-08-6 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reg-stack.c (change_stack) Fixed problem with negative array index.
- 
- Fri Aug  6 23:08:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* extend.texi, install.texi: Fix spelling mistakes.
- 
- 	* Makefile.in (PREMADE_ATTRTAB_MD, PREMADE_ATTRTAB): Delete.
- 	(s-attrtab); No longer try to use pre-made insn-attrtab file.
- 	* mips/t-bsd: Delete references to obsolete PREMADE_ATTRTAB and
- 	PREMADE_ATTRTAB_MD.
- 	* mips/t-ecoff: Likewise.
- 	* mips/t-elf: Likewise.
- 	* mips/t-mips: Likewise.
- 	* mips/t-osfrose: Likewise.
- 	* mips/t-r3900: Likewise.
- 	* mips/t-svr3: Likewise.
- 	* mips/t-svr4: Likewise.
- 	* mips/t-ultrix: Likewise.
- 
- 	* gcc.texi: Document recommend means to provide software floating
- 	point libraries in libgcc.a
- 
- 1999-08-06  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-lex.c (yylex): We can have a number with no digits.
- 
- Fri Aug  6 16:53:55 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* jump.c (delete_prior_computation): New function, broken
- 	out of delete_computation.  Check for side effects with
- 	side_effects_p instead of FIND_REG_INC_NOTE.  Handle
- 	multi-word hard registers.
- 	(delete_computation): Use it.  Check for side effects with
- 	side_effects_p instead of FIND_REG_INC_NOTE.  Synthesize a
- 	missing REG_DEAD note for a register which is both set and
- 	used by an insn.
- 
- Fri Aug  6 11:05:29 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* elf.h (TEXT_SPACE_P, FUNCTION_NAME_P): Delete.
- 	(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT): Likewise.
- 	(ASM_FILE_START): Import _mcount with the right type.
- 	(ASM_DECLARE_FUNCTION_NAME): Define.
- 	(ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
- 	* pa.c (output_function_prologue): Always emit the function's label
- 	here.
- 	* pa.h (TEXT_SPACE_P): Define.
- 	(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
- 	(ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_GLOBALIZE_LABEL): Likewise.
- 	* som.h (TEXT_SPACE_P): Delete.
- 	(FUNCTION_NAME_P, ENCODE_SECTION_INFO, STRIP_NAME_ENCODING): Likewise.
- 	(ASM_GLOBALIZE_LABEL, ASM_OUTPUT_INT): Likewise.
- 
- Thu Aug  5 19:29:39 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (emit_group_load): Allow src to be a CONCAT.
- 
- Thu Aug  5 22:27:15 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* config/sh/lib1funcs.asm (___movstrSI0): Change or r0,r0,r0 to nop.
- 	(___mulsi3): Use '!' comment character.
- 
- Thu Aug  5 13:34:14 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (maybe_fix_stack_asms): Also declare P as "const char *".
- 
- Thu Aug  5 02:40:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcc.c: Update URLs and mail addresses.
- 	* gcc.texi: Likewise.
- 
- Thu Aug  5 01:14:13 1999  Daniel Jacobowitz <drow@false.org>
- 
- 	* rs6000.c (current_file_function_operand): Return zero for
- 	weak functions.
- 	(rs6000_encode_section_info): Do not set SYMBOL_REF_FLAG for
- 	weak symbols.
- 	* rs6000.h (ENCODE_SECTION_NIFO): Do not set SYMBOL_REF_FLAG
- 	for weak symbols.
- 
- Thu Aug  5 00:56:30 1999  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_stack_info): For ABI_V4/ABI_SOLARIS -fpic, always
- 	allocate space in the stack frame for the PIC register.
- 
- Thu Aug  5 00:20:47 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.md (xordi3, anddi3): These patterns are not available on
- 	the coldfire.
- 
- Wed Aug  4 23:39:20 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* real.c (GET_REAL): Don't violate ANSI/ISO aliasing rules.
- 	(PUT_REAL): Likewise.
- 
- Wed Aug  4 20:45:04 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Don't add an alignment for loops
- 	that have no label inside.
- 
- Wed Aug  4 16:39:24 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memcmp, expand_builtin_strcmp): Wrap
- 	prototypes in macro HAVE_cmpstrsi.
- 
- 	* cpplib.c (cpp_get_token): Remove unused label `op3'.
- 
- 	* emit-rtl.c (operand_subword): Remove unused variable
- 	`bits_per_word'.
- 
- 	* rtl.c (shallow_copy_rtx): Remove unused variable `format_ptr'.
- 
- 	* tree.c (chainon): Wrap variable `t2' in macro ENABLE_CHECKING.
- 
- Wed Aug  4 13:29:23 1999  Zack Weinberg  <zack@bitmover.com>
- 
- 	* cpphash.c (macroexpand): Delete leading whitespace when arg
- 	is concatenated before.
- 	(unsafe_chars): Correct test for whether + and - can extend a
- 	token.
- 
- 	* cppinit.c (cpp_start_read): Do dependencies for
- 	-include/-imacros files also.
- 
- 	* cpplib.c (cpp_scan_buffer): In no-output mode, don't bother
- 	tokenizing non-directive lines.
- 	(cpp_expand_to_buffer): Temporarily disable no-output mode.
- 	* cppmain.c: In no-output mode, just call cpp_scan_buffer for
- 	the input file.
- 
- Wed Aug  4 12:53:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_expr, case PLUS_EXPR): Fix parallel case, too.
- 
- 	* c-lex.c: Sync with C++ frontend.
- 	(linemode): New variable.
- 	(parse_float): imag, conversion_errno, and type are output only.
- 	(yylex): Adjust.  Move initial '.' case into main switch.
- 	Use linemode.
- 	(handle_generic_pragma): Just deal with tokens.
- 	(readescape): Use ISXDIGIT and ISGRAPH.
- 	* c-parse.in: Add END_OF_LINE token.
- 
- 	* c-lex.c (lang_init): Generalize.
- 	(nextchar): Remove.  Replace uses with UNGETC.
- 	(skip_white_space): Handle linemode here.  Optimize for cpplib.
- 	(skip_white_space_on_line): Remove.
- 	(extend_token_buffer_to): New fn.
- 	(extend_token_buffer): Use it.
- 	(read_line_number, check_newline): Just deal with tokens.
- 	(token_getch, token_put_back): New fns.
- 	(yylex): Use them.  More cpplib optimizations.  Simplify.
- 
- Wed Aug  4 12:53:44 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
- 			  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE.
- 	(consume_string): Make this smart about USE_CPPLIB.
- 	(check_newline): Rewrite to be intelligent about USE_CPPLIB.
- 	(yylex): Rewrite to be intelligent about USE_CPPLIB.
- 	Also, clean up cases where we redundantly set token_buffer[0].
- 	(read_line_number): New fn.
- 	(ignore_escape_flag): New variable.
- 
- Wed Aug  4 13:12:17 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* a29k/t-a29kbare: Fix some comments.
- 	(LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
- 	(FPBIT, DPBIT): Define.
- 	* a29k/t-vx29k: Likewise.
- 	* arc/t-arc: Likewise.
- 	* arm/t-arm-elf: Likewise.
- 	* arm/t-bare: Likewise.
- 	* arm/t-pe: Likewise.
- 	* arm/t-pe-thumb: Likewise.
- 	* arm/t-semi: Likewise.
- 	* arm/t-thumb: Likewise.
- 	* arm/t-thumb-elf: Likewise.
- 	* arm/t-thumb-linux: Likewise.
- 	* h8300/t-h8300: Likewise.
- 	* i960/t-i960: Likewise.
- 	* i960/t-vxworks960: Likewise.
- 	* m32r/t-m32r: Likewise.
- 	* mips/t-ecoff: Likewise.
- 	* mips/t-elf: Likewise.
- 	* mips/t-r3900: Likewise.
- 	* pa/t-pro: Likewise.
- 	* rs6000/t-aix43: Likewise.
- 	* rs6000/t-beos: Likewise.
- 	* rs6000/t-newas: Likewise.
- 	* rs6000/t-ppccomm: Likewise.
- 	* rs6000/t-rs6000: Likewise.
- 	* rs6000/t-winnt: Likewise.
- 	* rs6000/t-xnewas: Likewise.
- 	* rs6000/t-xrs6000: Likewise.
- 	* sh/t-sh: Likewise.
- 	* sparc/t-elf: Likewise.
- 	* sparc/t-sparcbare: Likewise.
- 	* sparc/t-sparclite: Likewise.
- 	* sparc/t-splet: Likewise.
- 	* v850/t-v850: Likewise.
- 	* mn10200/t-mn10200: Fix comments.
- 	* mn10300/t-mn10300: Likewise.
- 
- 	* pa.md (divsi3, udivsi3, modsi3, umodsi3 expanders): Clobber a new
- 	dummy operand.  Allocate a new pseudo for the dummy operand.
- 	(divsi3, udivsi3, modis3, umodsi3 patterns): Corresponding changes.
- 
- 	* pa.md (movqi, movhi patterns): Do not expose FP regs to regclass.
- 
- Wed Aug  4 11:53:55 1999  Tom Tromey  <tromey@cygnus.com>
- 
- 	* configure: Rebuilt.
- 	* configure.in: Removed --enable-java-gc option and JAVAGC subst.
- 
- Wed Aug  4 09:06:14 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* recog.c (preproces_constraints): Zero recog_op_alt before
- 	processing the constraints.
- 
- 	* arm.c (typedef minipool_node): Renamed from pool_node.
- 	(minipool_vector, minipool_size, minipool_vector_label): Similarly.
- 	(add_minipool_constant): New function.
- 	(dump_minipool): New function.
- 	(find_barrier): Remove special case for getting the insn size of
- 	an insn that references the constant pool.
- 	(minipool_fixup): New structure.
- 	(push_minipool_barrier): New function.
- 	(push_minipool_fix): New function.
- 	(note_invalid_constants): New function.
- 	(add_pool_constant, dump_table, fixit, broken_move): Delete.
- 	(arm_reorg): Rewrite code to fix up the constant pool into a
- 	series of mini-pools embedded in the insn stream.
- 	(arm_output_epilogue): New function, made mainly from the body
- 	of output_func_epilogue.
- 	(output_func_epilogue): Move insn generation part of epilogue code
- 	to arm_output_epilogue.
- 	* arm.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Delete.
- 	* arm.md (pool_range): New attribute.
- 	(zero_extendqidi2): Add attribute pool_range.
- 	(zero_extend_hisi_insn, load_extendqisi, extendhisi_insn,
- 	extendqihi_insn, extendqisi_insn, movdi, movsi_insn, pic_load_addr,
- 	pic_load_addr_based_insn, movhi_insn_arch4, movhi_insn_littleend,
- 	movhi_insn_bigend, loadhi_si_bigend, movsf_hard_insn, movsf_soft_insn,
- 	movdf_hard_insn, movdf_soft_insn, movxf_hard_insn): Likewise.
- 	(epilogue): New expand.
- 	(epilogue_insn): New insn.  Call arm_output_epilogue.
- 
- 	* arm.c (arm_poke_function_name): Undo change of July 17.  Tidy up.
- 	* arm.h (TARGET_SWITCHES): Add missing doc string for TARGET_DEFAULT.
- 
- Mon Aug  2 19:18:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 
- 1999-08-04 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* config/i386/djgpp.h  (BSS_SECTION_ASM_OP): Define.
- 
- Wed Aug  4 02:15:32 1999  Richard Henderson <rth@cygnus.com>
- 
- 	* jump.c (delete_insn): Delete the addr_vec when deleting a tablejump.
- 
- Wed Aug  4 01:48:08 1999  Jim Kingdon  <http://developer.redhat.com>
- 
- 	* global.c: Fix comment.
- 
- Wed Aug  4 01:43:01 1999  Ian Lance Taylor  <ian@zembu.com>
- 
- 	* gcc.c (access_check): New static function.
- 	(find_a_file): Use it when searching a directory list.
- 	* collect2.c (find_a_file): Don't accept directories found when
- 	searching a directory list.
- 
- Wed Aug  4 01:40:43 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* tlink.c (symbol_hash_lookup): Do not prefix functions used as
- 	function parameters with `&'.
- 	(file_hash_lookup, demangled_hash_lookup, tlink_init): Ditto.
- 
- Wed Aug  4 01:08:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (delete_unreachable_blocks): Do not call merge_blocks
- 	or tidy_fallthru_edge if the last insn in the block is not
- 	an unconditional jump or a simple conditional jump.
- 
- Tue Aug  3 20:21:20 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* Makefile.in (c-decl.o): Depends on defaults.h.
- 
- Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
- 	PA1.1 and above.
- 	(CLASS_MAX_NREGS): Likewise.
- 
- Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Fix dumb thinko in last change.
- 
- Tue Aug  3 10:36:13 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (maybe_fix_stack_asms): Declare CONSTRAINTS as
- 	"const char *".
- 
- Mon Aug  2 23:45:45 1999  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* dwarf2out.c (add_location_or_const_value_attribute): Correct
- 	test for sizes of passed and declared parameter types.
- 
- Tue Aug  3 00:03:41 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixincludes: Fix the return type of bsearch, char* -> void*.
- 
- 	* fixinc/inclhack.def: Likewise.
- 
- Mon Aug  2 18:29:32 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (-fdump-translation-unit): New option.
- 
- Mon Aug  2 17:54:19 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.h (PROMOTE_PROTOTYPES): Move ...
- 	* defaults.h: ... to here.
- 	* c-decl.c: Include defaults.h instead of expr.h.
- 	* c-typeck.c: Include defaults.h.
- 
- Mon Aug  2 17:10:24 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.h (errorcount): Declare.
- 	(warningcount): Likewise.
- 	(sorrycount): Likewise.
- 	* c-lex.c (errorcount): Don't declare.
- 	* dwarf2out.c (errorcount): Don't declare.
- 
- Mon Aug  2 17:02:08 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* config/libgloss.h: Add a note discouraging use with ELF.
- 	* configure.in: Don't use libgloss.h for ELF targets.
- 	Always use_collect2 on a.out targets.
- 
- Mon Aug  2 16:27:42 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* combine.c (force_to_mode, case LSHIFTRT): Add goto shiftrt.
- 	(force_to_mode, case ASHIFTRT): Add shiftrt label.
- 
- Tue Aug  3 00:45:02 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): When doing biv->giv conversion, update
- 	reg note of NEXT->insn.
- 
- 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* real.c (PUT_REAL): Clear unused bytes if long double is IEEE quad.
- 
- 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* c-decl.c (get_parm_info, store_parm_decls): Change all uses of
- 	PROMOTE_PROTOTYPES, so that it tests it as a C expression.
- 	Ensure expr.h is included.
- 	* c-typecheck.c (convert_arguments): Ditto.
- 
- 	* expr.h: Supply default for PROMOTE_PROTOTYPES (0).
- 
- 	* config/arc/arc.h: Define PROMOTE_PROTOTYPES to 1.
- 	* config/convex/convex.h: Ditto.
- 	* config/dsp16xx/dsp16xx.h: Ditto.
- 	* config/fx80/fx80.h: Ditto.
- 	* config/gmicro/gmicro.h: Ditto.
- 	* config/i370/i370.h: Ditto.
- 	* config/i386/i386.h: Ditto.
- 	* config/m32r/m32r.h: Ditto.
- 	* config/m68k/m68k.h: Ditto.
- 	* config/m88k/m88k.h: Ditto.
- 	* config/mips/mips.h: Ditto.
- 	* config/pa/pa.h: Ditto.
- 	* config/pyr/pyr.h: Ditto.
- 	* config/tahoe/tahoe.h: Ditto.
- 	* config/we32k/we32k.h: Ditto.
- 
- 	* config/sparc/sparc.h: Define PROMOTE_PROTOTYPES
- 	based on arch size.
- 
- 	* config/i1750a/i1750a.h: Define PROMOTE_PROTOTYPES to 0.
- 
- 	* config/i860/paragon.h: Remove PROMOTE_PROTOTYPES
- 	from comment.
- 
- 	* tm.texi: Document new usage of PROMOTE_PROTOTYPES.
- 
- 1999-08-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* m32r.c (m32r_setup_incoming_varargs): Use get_varargs_alias_set
- 	for the register spill block.
- 	(m32r_va_arg): New.
- 	* m32r.h (EXPAND_BUILTIN_VA_ARG): New.
- 	(EXPAND_BUILTIN_SAVEREGS): Delete #if 0 code.
- 
- 	* m32r.h (INT8_P): Don't short-cut test with (unsigned).
- 	(INT16_P, CMP_INT16_P, UINT16_P): Likewise.
- 	(UPPER16_P, UINT24_P, INT32_P, UINT5_P): Likewise.
- 
- 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* config/sparc/linux.h: Define WCHAR_TYPE as "int" and undef
- 	MAX_WCHAR_TYPE defined in sparc.h.
- 	* config/sparc/linuxaout.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 	Also default to -mvis if CPU is UltraSPARC.
- 
- 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): New macro.
- 	(RTX_OK_FOR_OLO10): Likewise.
- 	(GO_IF_LEGITIMATE_ADDRESS): If assembler supports offsetable
- 	%lo(), allow it in addresses...
- 	(PRINT_OPERAND_ADDRESS): ... and print it appropriately.
- 	* config/sparc/sparc.md (sethi_di_medlow_embmedany_pic): sethi %lo()
- 	does not make sense.
- 	* config/sparc/sparc.c (sparc_hard_reg_printed): New array.
- 	(sparc_output_scratch_registers): New function.
- 	(output_function_prologue, sparc_flat_output_function_prologue): Use
- 	it.
- 	* varasm.c (make_decl_rtl): Use ASM_DECLARE_REGISTER_GLOBAL if
- 	defined.
- 	* tm.texi (ASM_DECLARE_REGISTER_GLOBAL): Document it.
- 	* configure.in: Add check for .register pseudo-op support in as and
- 	check for offsetable %lo().
- 	* acconfig.h: Add templates for the above checks.
- 	* configure: Regenerate.
- 
- 1999-08-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc/linux64.h (TARGET_DEFAULT): Remove MASK_APP_REGS.
- 	* sparc/sol2-sld-64.h (TARGET_DEFAULT): Likewise.
- 	* sparc/sol2.h (TARGET_DEFAULT): Likewise.
- 
- Mon Aug  2 23:46:45 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
- 	reg_biv_class.
- 
- 1999-08-02  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* config/float-sparc.h: New file.
- 	* configure.in: Use float_format=sparc for sparc-*-linux-gnulibc1,
- 	sparc-*-linux-gnu and sparc64-*-linux*.
- 
- 1999-08-02  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.c (rs6000_va_list): Type is an array.
- 	(rs6000_va_start): Don't doubly adjust for varargs.
- 	(rs6000_va_arg): Evaluate long long GPR adjustment.
- 
- Mon Aug  2 16:15:57 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/aix43.h (SUBTARGET_SWITCHES): Use -m64 and -m32 instead of
- 	-maix64 and -maix32.
- 	(ASM_SPEC, ASM_CPU_SPEC, CPP_SPEC, CPP_CPU_SPEC, LIB_SPEC,
- 	LINK_SPEC): Change appropriately.
- 	* rs6000/rs6000.c (short_cint_operand): Use CONST_OK_FOR_LETTER_P.
- 	(u_short_cint_operand): Likewise.
- 	* rs6000/rs6000.md (movdi splitters): Add TARGET_POWERPC64 support
- 	for 64-bit hosts.
- 	* rs6000/t-aix43 (MULTILIB): Change to -m64.
- 
- 	* invoke.texi (RS/6000 Submodel): Document 64-bit processor options.
- 
- Mon Aug  2 16:15:57 1999  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000/rs6000.c (num_insns_constant_wide): Correct
- 	for type promotion.
- 	(add_operand): Get test correct for 64-bit HOST_WIDE_INT.
- 	(non_add_cint_operand): Likewise.
- 	(logical_operand): Likewise.
- 	(non_logical_cint_operand): Likewise.
- 	(print_operand): Correct printf()s for 64-bit HOST_WIDE_INT.
- 	(print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT.
- 	(rs6000_select_rtx_section): Suppress warning.
- 	(small_data_operand): Suppress warning.
- 	(rs6000_got_register): Suppress warning.
- 	* rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed
- 	type, so `J' is generally the wrong constraint for a SImode value;
- 	use `L' instead.
- 	(andsi3_internal2): Likewise.
- 	(andsi3_internal3): Likewise.
- 	(iorsi3_internal1): Likewise.
- 	(xorsi3_internal1): Likewise.
- 	(movsi): Likewise.
- 	(movsf_softfloat): Likewise.
- 	(scc insns): Likewise.
- 	(movsi+2): Preserve sign bits of SImode constant.
- 	(floatsidf2_internal+1): Sign-extend SImode constant correctly.
- 	(movdf+1): Sign-extend properly.
- 	(movdi_32+1): Sign-extend properly.
- 	(scc insns): Sign-extend properly.
- 
- 	* md.texi (RS/6000 EXTRA_CONSTRAINTS): Update documentation for J,
- 	K, L, and T.
- 
- 1999-08-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (override_options): Move ev6 alpha_tp frobbing out of
- 	-mcpu parsing code.
- 	(print_operand): Notice alpha_fptm not alpha_tp for sw completion.
- 	* alpha.md (all fp insns): Likewise.
- 
- 1999-08-02  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.h (STRICT_ALIGNMENT): Only define if not
- 	already defined.
- 
- Mon Aug  2 03:38:33 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (legitimize_pic_address): Clarify comments.  Do not call the
- 	pic_load_label generator directly.
- 	* pa.md (pic_load_label): Clarify comments.  Remove modes on operands.
- 	No longer a named pattern.
- 
- Mon Aug  2 09:38:10 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* explow.c (force_reg): Call force_operand if X does not
- 	satisfy general_operand.
- 
- Mon Aug  2 01:34:22 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fix-header.c (main): When testing for CONTINUED, use string
- 	equality, not pointer equality.
- 
- Mon Aug  2 01:27:24 1999  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* sparc.c (sparc_block_profiler): Use the %g2 register, not %o0.
- 
- Sun Aug  1 22:46:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Fix loop which deletes insns after a jump
- 	that has become an unconditional jump.
- 
- 	* m68k.c (output_function_prologue): Fix typo in CPU32 case.
- 	(output_function_epilogue): Similarly.
- 
- Sun Aug  1 20:14:00 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.h (init_dummy_function_start): Declare.
- 
- Sun Aug  1 12:55:31 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* stmt.c (emit_filename, emit_lineno, expr_stmts_for_value,
- 	last_expr_type, last_expr_value, block_start_count, block_stack,
- 	stack_block_stack, cond_stack, loop_stack, case_stack, nesting_stack,
- 	nesting_depth, goto_fixup_chain): Delete global	vars; now allocated
- 	dynamically in stmt elt of struct function for each function.
- 	(struct nesting): Rename function_call_count elt to n_function_calls,
- 	target_temp_slot_level to block_target_temp_slot_level.  All users
- 	changed.
- 	(struct stmt_status): New structure definition.
- 	Add many accessor macros for stmt_status elements which previously
- 	were global variables.
- 	(init_stmt_for_function): Allocate stmt elt for current_function.
- 	Reflect that block_start_count was renamed to
- 	current_block_start_count.
- 	(save_stmt_status, restore_stmt_status): Delete functions.
- 	(preserve_subexpressions_p): Don't access loop_stack when outside
- 	a function.
- 	(expand_start_bindings): Reflect that block_start_count was renamed to
- 	current_block_start_count.
- 	(expand_fixup): Likewise.
- 	(expand_decl): Don't access block_stack when outside a function.
- 	(expand_decl_cleanup): Likewise.
- 	(expand_dcc_cleanup): Likewise.
- 	(expand_dhc_cleanup): Likewise.
- 	(expand_anon_union_decl): Likewise.
- 	(set_file_and_line_for_stmt): New function.
- 	(in_control_zone_p): New function.
- 
- 	* function.h (struct function): Add new elt stmt.
- 	Delete elts block_stack, stack_block_stack, cond_stack, loop_stack,
- 	case_stack, nesting_stack, nesting_depth, block_start_count,
- 	last_expr_type, last_expr_value, expr_stmts_for_value, emit_filename,
- 	emit_lineno, goto_fixup_chain.
- 	(save_eh_status, restore_eh_status, save_stmt_status,
- 	restore_stmt_status): Delete declarations.
- 	* function.c (push_function_context_to): Don't call save_stmt_status.
- 	(pop_function_context_to): Don't call restore_stmt_status.
- 	* tree.h (in_control_zone_p): Declare.
- 	* rtl.h (set_file_and_line_for_stmt): Declare.
- 
- 	* emit-rtl.c (emit_line_note): Don't set emit_filename/emit_lineno;
- 	call set_file_and_line_for_stmt.
- 
- Thu Jul 31 12:34:45 1999  Joe Buck  <jbuck@synopsys.com>
- 
- 	* gcc.texi: Use terms "GNU Compiler Collection" and "GCC".
- 	Also update copyright.
- 
- Sat Jul 31 11:10:07 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-pragma.c: Don't include "except.h".
- 	* emit-rtl.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* tree.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 	* flow.c: Include "function.h".
- 	* tree.h (init_dummy_function_start): Declare new function.
- 
- 	* except.h (struct eh_status): New structure.
- 	(struct label_node, struct eh_entry): Declare even if tree.h hasn't
- 	been included.
- 	(eh_return_stub_label, ehstack, catchstack, ehqueue,
- 	catch_clauses, false_label_stack, caught_return_label_stack,
- 	protect_list, current_function_ehc): Add accessor macros for the
- 	corresponding fields in current_function->eh; delete declarations
- 	for all items that used to be declared here.
- 	* except.c (eh_return_stub_label, ehstack, catchstack, ehqueue,
- 	catch_clauses, false_label_stack, caught_return_label_stack,
- 	protect_list, current_function_ehc): Delete variables.
- 	(init_eh_for_function): Allocate current_function->eh.
- 	(save_eh_status, restore_eh_status): Delete functions.
- 
- 	* function.h (struct function): Add fields next_global and eh.
- 	Delete all exception handling related fields.
- 	* function.c (current_function): New variable.
- 	(all_functions): New variable.
- 	(push_function_context_to): Don't allocate a struct function,
- 	use current_function instead.  Call init_dummy_function_start when
- 	outside a function.  Clear current_function before returning.
- 	(pop_function_context_from): Restore current_function.
- 	Don't free the restored struct function.
- 	(prepare_function_start): New function.
- 	(init_dummy_function_start): New function.
- 	(init_function_start): Break out some code into prepare_function_start
- 	and call it here.
- 
- 	* stmt.c (save_stmt_status): Don't call save_eh_status.
- 	(restore_stmt_status): Don't call restore_eh_status.
- 
- 	* Makefile.in: Update dependencies.
- 
- Sat Jul 31 04:10:01 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (compute_frame_size): Use STARTINg_FRAME_OFFSET instead
- 	of depending on a magic constant value.  Update comments.
- 	(hppa_expand_prologue): Similarly.
- 
- 	* pa.md (reload_indi, reload_outdi): Allow any register for the
- 	original reload register.
- 
- Fri Jul 30 19:41:35 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cccp.c (print_help): Change marcos to macros.
- 
- 1999-07-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (initializer_constant_valid_p): Move ...
- 	* c-common.c (initializer_constant_valid_p): ... here.  Use
- 	FOO_TYPE_P instead of tests against TREE_CODE.  Allow subtraction
- 	of label addresses.
- 	* c-common.h (initializer_constant_valid_p): Declare.
- 	* c-tree.h (initializer_constant_valid_p): Remove.
- 
- Fri Jul 30 16:33:42 1999  Mathias Froehlich  <frohlich@na.uni-tuebingen.de>
- 
- 	* config/i386/sol2-c1.asm: Align the stack.
- 	* config/i386/sol2-gc1.asm: Likewise.
- 
- 1999-07-30  Vladimir Makarov  <vmakarov@loony.cygnus.com>
- 
- 	* config/sparc/sparc.h (ASM_CPU32_DEFAULT_SPEC): Change -Av8 onto
- 	-Asparclite for sparc86x.
- 	(CPP_CPU32_DEFAULT_SPEC, CPP_CPU_SPEC): Remove -D__sparc_v8__ for
- 	sparc86x.
- 	(ASM_CPU_SPEC): Use -Asparclite for sparc86x.
- 
- Fri Jul 30 14:53:56 1999  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
- 	the user if using the non-default arch size in BI_ARCH configuration.
- 	* config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
- 
- 	* config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
- 	Fix patterns so that they actually match.
- 	(cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
- 	(mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
- 	(const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
- 	TARGET_HARD_MUL32.
- 	(mulsidi3): Reflect this in the expand.
- 	(smulsi3_highpart): Only on TARGET_ARCH32.
- 	(umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
- 	(const_umulsidi3_sp32): Renamed from const_umulsidi3.
- 	(umulsidi3): Reflect this in the expand.
- 	(umulsi3_highpart): Only on TARGET_ARCH32.
- 	(divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
- 	don't require g0 to be zero.
- 	(udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
- 	({,u}divsi3): New expands.
- 	({,u}divsi3_sp64): New patterns.
- 	(after lshrdi3_v8plus): Four new patterns to help combiner
- 	optimizing nested mixed mode shifts.
- 
- 	* config/sparc/sparc.c (sparc_override_options): Use deprecated
- 	v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
- 	speed things up. Don't use them by default on plain v9 in 64bit
- 	mode, according to what SPAMv9 sais.
- 
- 	* config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
- 	top 32 bits of %[og][0-7] in signal handlers.
- 	Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
- 
- Fri Jul 30 03:00:41 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (zvdep_imm32): Renamed from zvdep_imm.
- 	(ashlsi3): Corresponding changes.
- 
- 	* pa.c (compute_zdepwi_operands): Renamed from compute_zdepi_operands.
- 
- Thu Jul 29 18:37:13 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (FIRST_PARM_CALLER_OFFSET): Delete.
- 
- Thu Jul 29 19:01:58 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* arm.h (Hint): Delete macro.
- 	Substitute HOST_WIDE_INT for Hint in some prototypes.
- 	* arm.c: Substitute HOST_WIDE_INT for Hint in one prototype.
- 
- Thu Jul 29 09:21:42 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* builtins.c (expand_builtin_setjmp): Use force_operand to
- 	make sure that the buffer address is in a suitable form to be
- 	passed to force_reg.
- 
- Wed Jul 28 12:50:48 1999  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/mips.c: system.h handles MIN and MAX, don't undefine
- 	them here.
- 
- Wed Jul 28 13:18:35 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (indirect_jump): Remove mode from match_operand.  Verify
- 	proper mode in the condition string.
- 	(icacheflush, dcacheflush): Remove modes from match_operands.
- 
- 	* pa.c (emit_move_sequence): Always convert scratch_reg to the
- 	proper mode before using it.
- 
- 	* pa.md (adddi3, subdi3): Turn into a define_expand/define_insn
- 	pair.
- 
- 	* pa.c (store_reg): Do not call add_high_const generator directly.
- 	(load_reg, set_reg_plus_d): Likewise.
- 	* pa.md (add_high_const): No longer a named pattern.
- 
- 	* pa.c (legitimize_address): Consistently use Pmode rather than
- 	SImode.  Do not call gen_pic2_highpart directly anymore.
- 	* pa.md (pic2_highpart): No longer a named pattern.
- 	(pic2_lo_sum): Similarly.  Reformat to make more readable.
- 
- 	* pa.md (call, call_value): Use "word_mode" instead of "SImode" as
- 	needed.
- 
- 	* README: Update.
- 
- Wed Jul 28 11:28:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* builtins.c (expand_builtin): Typo in call to expand_builtin_ffs.
- 
- Wed Jul 28 11:23:48 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* pa.c (hppa_builtin_saveregs):  Use get_varargs_alias_set
- 	and tag the spill mems.
- 	(hppa_va_start): New.
- 	(hppa_va_arg): New.
- 	* pa.h (EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 
- Wed Jul 28 11:22:21 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* mn10300.c (mn10300_builtin_saveregs): Use get_varargs_alias_set
- 	and tag the spill mems.
- 	(mn10300_va_start): New.
- 	(mn10300_va_arg): New.
- 	* mn10300.h (EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 
- Wed Jul 28 11:20:19 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* mn10200.c (mn10200_va_arg): New.
- 	* mn10200.h (EXPAND_BUILTIN_VA_ARG): New.
- 
- Wed Jul 28 11:19:06 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (std_expand_builtin_va_arg): Use int_size_in_bytes
- 	rather than play with TREE_INT_CST_LOW.
- 
- 1999-07-27  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/telf.h: Include dbxelf.h.
- 	(CPP_PREDEFINES): Only define if not already defined.
- 	(ASM_IDENTIFY_GCC): Likewise.
- 	(SUBTARGET_EXTRA_SECTIONS): Likewise.
- 	(SUBTARGET_EXTRA_SECTION_FUNCTIONS): Likewise.
- 	* config/arm/thumb.h (LINK_SPEC): Only define if not already
- 	defined.
- 	(DBX_DEBUGGING_INFO): Don't define.
- 	* config/arm/linux-telf.h: New file.
- 	* config/arm/linux-tgas.h: New file.
- 	* config/arm/t-thumb-linux: New file.
- 	* config/arm/uclinux-elf.h: New file.
- 	* config/arm/uclinux-telf.h: New file.
- 	* configure.in (arm-*-uclinux, thumb-*-linux-gnu,
- 	thumb-*-uclinux): New targets.
- 	* configure: Regenerate.
- 
- Tue Jul 27 23:20:21 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (post_store, pre_load): New expanders.
- 	(post_stwm, pre_ldwm): Renamed to post_stw and pre_ldw respectively.
- 	(post_ldwm, pre_stwm): Make these unnamed patterns since we never
- 	need to directly generate RTL for them.
- 	* pa.c (hppa_expand_prologue, hppa_expand_epilogue): Corresponding
- 	changes.
- 
- Tue Jul 27 16:05:52 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* aix43.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add rs64a and PPC630.
- 	* rs6000.c (processor_target_table): Add powerpc64, rs64a, and PPC630.
- 	(rs6000_cpu): Choose between 32-bit and 64-bit default processors.
- 	(secndary_reload_class): Make TARGET_ELF conditional compile.
- 	(print_operand_address): Similar.
- 	(output_toc): Print all values as hex.
- 	(get_issue_rate): Rearrange and add RS64A and PPC630.
- 	* rs6000.h (processor_type): Add RS64A and PPC630.
- 	(PROCESSOR_POWERPC64): New.
- 	(PROMOTE_MODE): Use word_mode.
- 	(RTX_COSTS): Add RS64A and PPC630.
- 	* rs6000.md (scheduling information): Add lmul and ldiv
- 	representing 64-bit integer multiply and divide.  Add rs64a and
- 	PPC630 information.
- 	(ashldi3): Add support for "rldic" instruction.
- 	* sysv4.h (PROCESSOR_DEFAULT): Change to PROCESSOR_750.
- 
- Tue Jul 27 15:31:53 1999  Vladimir Makarov  <vmakarov@toad.to.cygnus.com>
- 
- 	* config/sparc/sparc.c (sparc_override_options): Enable SPARCLITE
- 	instead of V8 for sparclite86x in cpu_table.
- 
- Tue Jul 27 17:49:42 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/coff.h (ASM_FILE_START): If generating SDB output, call
- 	output_file_directive.
- 
- Tue Jul 27 03:15:33 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_expr, case PLUS_EXPR): Get the mode from the
- 	tree for op1, not the rtl.
- 
- Tue Jul 27 00:18:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m88k.c (m88k_builtin_saveregs): Break out the constructor code
- 	to m88k_va_start, leaving only the register spill.
- 	(m88k_build_va_list): New.
- 	(m88k_va_start): New.
- 	(m88k_va_arg): New.
- 	* m88k.h (BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 
- Mon Jul 26 19:07:11 1999  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_expand_builtin_saveregs):
- 	Rename from expand_builtin_saveregs.
- 	* config/rs6000/rs6000.h (EXPAND_BUILTIN_SAVEREGS): Change caller.
- 
- Mon Jul 26 22:52:47 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i960.c (i960_setup_incoming_varargs): Use get_varargs_alias_set
- 	for the register spill block.
- 	(i960_build_va_list): New.
- 	(i960_va_start): New.
- 	(i960_va_arg): New.
- 	* i960.h (BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 	* i960.md (store_multiple): Use change_address on individual mems.
- 
- Mon Jul 26 22:43:12 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (stabilize_va_list): Don't INDIRECT_REF through
- 	an ARRAY_TYPE.
- 	(std_expand_builtin_va_start): Back out one word if !stdarg_p.
- 	(expand_builtin_va_end): Evaluate arg for side effects.
- 	* c-common.c (c_common_nodes_and_builtins): Construct a
- 	va_list_arg_type_node to handle array decomposition to pointer.
- 
- Mon Jul 26 18:51:34 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* except.c (st_dynamic_cleanup): Use force_operand on the
- 	buffer's address.
- 
- Mon Jul 26 16:43:26 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* c4x.h (EXPAND_BUILTIN_VA_ARG): New.
- 	* c4x.c (c4x_va_arg): New.
- 
- Mon Jul 26 12:30:09 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* cpplib.c (cpp_get_token): Don't return a CPP_POP if the buffer
- 	has manual_pop set.
- 
- 1999-07-26  Nathan Sidwell  <nathan@acm.org>
- 
- 	* eh-common.h (__eh_matcher): Prototype correctly.
- 
- Mon Jul 26 17:24:51 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/thumb.h (THUMB_FLAG_SINGLE_PIC_BASE): Define.
- 	(TARGET_SINGLE_PIC_BASE): Likewise.
- 	(GOT_PCREL, NEED_GOT_RELOC, NEED_PLT_RELOC): Provide default
- 	definitions.
- 	(TARGET_CALLEE_INTERWORKING): Fix typo in comment.
- 	(TARGET_SWITCHES): Add -m{no-}single-pic-base.
- 	(TARGET_OPTIONS): Add -mpic-register=N.
- 	(OUTPUT_INT_ADDR_CONST): New macro.
- 	(INDEX_REGISTER_RTX_P, PIC_OFFSET_TABLE_REGNUM, FINALIZE_PIC,
- 	LEGITIMATE_PIC_OPERAND_P): Likewise.
- 	(LEGITIMIZE_ADDRESS, GOT_IF_LEGITIMATE_ADDRESS): Support PIC.
- 	(ASM_OUTPUT_INT): Use OUTPUT_INT_ADDR_CONST rather than calling
- 	output_addr_const directly.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Accept `|' for compatibility with
- 	ARM port.
- 	(thumb_pic_register, thumb_pic_register_string): Declare.
- 
- 	* config/arm/thumb.c (symbol_mentioned_p): New function: Imported
- 	from arm.c.
- 	(label_mentioned_p): New function: Imported from arm.c.
- 	(legitimize_pic_address): New function: Imported from arm.c.
- 	(is_pic):New function: Imported	from arm.c.
- 	(thumb_finalize_pic):New function: Imported from arm.c.
- 	(add_constant): Cope with PIC constants.
- 	(fixit): Cope with PIC constants.
- 	(output_return): Do not treat the PIC register as live if
- 	TARGET_SINGLE_PIC_BASE is true.
- 	(thumb_function_prologue): Do not treat the PIC register as live if
- 	TARGET_SINGLE_PIC_BASE is true.
- 	(thumb_expand_prologue): Do not treat the PIC register as live if
- 	TARGET_SINGLE_PIC_BASE is true.
- 	(thumb_unexpand_epilogue): Do not treat the PIC register as live if
- 	TARGET_SINGLE_PIC_BASE is true.
- 	(thumb_print_operand): Accept '|'.
- 	(thumb_override_options): Process PIC options.
- 
- 	* config/arm/thumb.md (movsi): Support PIC.
- 	(call_insn): Change "i" constraint to "X".
- 	(call_value_insn): Likewise.
- 	(consttable_4, consttable_8, consttable_end): Set and clear
- 	"making_const_table" as appropriate.
- 	(pic_load_addr, pic_add_dot_plus_four): New insns.
- 
- 	* invoke.texi (Thumb Options): Fix spelling.  Document new
- 	options -msingle-pic-base and -mpic-register=.
- 
- 1999-07-26  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/m32r/initfini.c (__init): Use a full word immediate for
- 	__fini: this allows it to be placed in any memory region.
- 
- 	* config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
- 	-mmodel=medium.  This is OK for all memory models.
- 
- Mon Jul 26 11:58:46 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
- 	* config/arm/arm.h: Replace %R%s in asm_fprintf strings with %r.
- 
- Mon Jul 26 10:23:36 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* final.c (asm_fprintf): Accept ASM_FPRINTF_EXTENSIONS, if
- 	defined.
- 
- 	* tm.texi: Document ASM_FPRINTF_EXTENSIONS.
- 
- Sun Jul 25 23:51:59 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* i860.h (EXPAND_BUILTIN_SAVEREGS): New.
- 	(BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 	* i860.c (output_delayed_branch): Disable.
- 	(output_delay_insn): Likewise.
- 	(i860_saveregs): New.
- 	(i860_build_va_list): New.
- 	(i860_va_start): New.
- 	(i860_va_arg): New.
- 	* i860.md: Disable all peepholes using output_delayed_branch.
- 	* i860/sysv4.h (I860_SVR4_VA_LIST): New.
- 
- Sun Jul 25 23:44:13 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* clipper.h (EXPAND_BUILTIN_SAVEREGS): Remove argument.
- 	(BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 	* clipper.c (clipper_builtin_saveregs): Only dump registers.
- 	Return the address of the save area.
- 	(clipper_build_va_list): New.
- 	(clipper_va_start): New.
- 	(clipper_va_arg): New.
- 
- Sun Jul 25 22:56:47 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* arc.h (EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 	* arc.c (arc_setup_incoming_varargs): Set alias set of
- 	varargs save area.
- 	(arc_va_start): New.
- 	(arc_va_arg): New.
- 
- Sun Jul 25 22:45:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (EXPAND_BUILTIN_SAVEREGS): Delete.
- 	(BUILD_VA_LIST_TYPE): New.
- 	(EXPAND_BUILTIN_VA_START): New.
- 	(EXPAND_BUILTIN_VA_ARG): New.
- 	* alpha.c (alpha_builtin_saveregs): Delete.
- 	(alpha_build_va_list): New.
- 	(alpha_va_start): New.
- 	(alpha_va_arg): New.
- 
- Sun Jul 25 21:40:33 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/svr4.h (CTORS_SECTION_ASM_OP): Do not emit directives in
- 	column zero.
- 	(DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP): Likewise.
- 	(FINI_SECTION_ASM_OP, ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* gcc.texi: More changes related to list conversion.
- 	* invoke.texi: Likewise.
- 
- Sun Jul 25 18:15:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_saveregs): Remove static, remove exp
- 	and ignore arguments, bail if no EXPAND_BUILTIN_SAVEREGS.
- 	(expand_builtin_next_arg): Accept ARGLIST not EXP.
- 	(stabilize_va_list): New function.
- 	(std_expand_builtin_va_start): New function.
- 	(expand_builtin_va_start): New function.
- 	(get_varargs_alias_set): New function.
- 	(std_expand_builtin_va_arg): New function.
- 	(expand_builtin_va_arg): New function.
- 	(expand_builtin_va_end): New function.
- 	(expand_builtin_va_copy): New function.
- 	(expand_builtin): Call them.
- 	* c-common.c (c_common_nodes_and_builtins): Build __builtin_va_list,
- 	__builtin_{varargs_start,stdarg_start,end,copy}.
- 	(build_va_arg): New function.
- 	* c-common.h (CTI_PTR_TYPE, ptr_type_node): Delete.
- 	(build_va_arg): Declare.
- 	* c-decl.c (ptr_type_node, va_list_type_node): New.
- 	* c-parse.gperf (__builtin_va_arg): New.
- 	* c-parse.in (VA_ARG): New token.
- 	(unary_expr): Recognize it.
- 	* expr.c (expand_expr): Expand VA_ARG_EXPR.
- 	* expr.h (std_expand_builtin_va_start): Declare.
- 	(std_expand_builtin_va_arg): Declare.
- 	(expand_builtin_va_arg): Declare.
- 	(get_varargs_alias_set): Declare.
- 	* tree.def (VA_ARG_EXPR): New.
- 	* tree.h (BUILT_IN_VARARGS_START): New.
- 	(BUILT_IN_STDARG_START, BUILT_IN_VA_END): New.
- 	(ptr_type_node, va_list_type_node): Declare.
- 	* tm.texi (EXPAND_BUILTIN_SAVEREGS): Kill unused ARGLIST argument.
- 	* m32r.h (EXPAND_BUILTIN_SAVEREGS): Likewise.
- 	* m88k.h, m88k.c: Likewise.
- 	* mn10300.h, mn10300.c: Likewise.
- 	* pa.h, pa.c: Likewise.
- 	* rs6000.h, rs6000.c: Likewise.
- 	* sh.h, sh.c: Likewise.
- 	* sparc.h, sparc.c: Likewise.
- 
- 	* emit-rtl.c (operand_subword): Copy alias set.
- 	(change_address): Likewise.
- 
- Sun Jul 25 15:04:37 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (compute_frame_size): Scan all the used callee saved registers,
- 	not just the first one.
- 
- Fri Jul 23 14:09:58 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/arm.h (TARGET_SWITCHES): Add
- 	-m{no-}single-pic-base.  Correct help string for -mshort-load-words.
- 	(TARGET_OPTIONS): Add -mpic-register=.
- 	(ARM_FLAG_SINGLE_PIC_BASE, TARGET_SINGLE_PIC_BASE): Define.
- 	(arm_pic_register_string): Declare.
- 	(NEED_PLT_GOT): Delete, replace with ...
- 	(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  New macros.
- 	(OUTPUT_INT_ADDR_CONST): Replace NEED_PLT_GOT with NEED_GOT_RELOC.
- 	(ASM_OUTPUT_MI_THUNK): Replace NEED_PLT_GOT with NEED_PLT_RELOC.
- 	* config/arm/arm.c (arm_override_options): Add new option
- 	-mpic-register=N.
- 	(arm_pic_register_string): New variable.
- 	(arm_finalize_pic): Respect TARGET_SINGLE_PIC_BASE.
- 	(output_func_prologue): If TARGET_SINGLE_PIC_BASE, treat the PIC
- 	register as never live.  Use NEED_PLT_RELOC not NEED_PLT_GOT.
- 	(output_return_instruction): Likewise.
- 	* config/arm/elf.h (NEED_PLT_GOT): Delete, replace with ...
- 	(NEED_GOT_RELOC, NEED_PLT_RELOC): ... these.  Define to flag_pic.
- 	* config/arm/arm.md: Use NEED_PLT_RELOC in place of NEED_PLT_GOT.
- 
- 	* invoke.texi (ARM Options): Fix spelling.  Remove duplicate
- 	mention of -msched-prolog.  Document new options -msingle-pic-base
- 	and -mpic-register=.
- 
- Thu Jul 22 18:23:56 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (reemit_notes): Tidy.
- 	* sched.c (reemit_notes): Duplicate 1998-08-31 patch to
- 	haifa's routine.
- 
- Thu Jul 22 18:21:04 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* explow.c (trunc_int_for_mode): New function.
- 	(plus_constant_wide): Use it.
- 	* combine.c (simplify_and_const_int): Likewise.
- 	(merge_outer_ops): Likewise.
- 	(simplify_shift_const): Likewise.
- 	* cse.c (simplify_unary_operation): Likewise.
- 	(simplify_binary_operation): Likewise.
- 	* emit-rtl.c (operand_subword): Likewise.
- 	* rtl.h: Declare it.
- 
- Thu Jul 22 14:34:59 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.c (arm_print_operand): Fix typo in 'M' case
- 	(use NUM_REGS instead of NUM_INTS).
- 
- Thu Jul 22 11:25:20 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* builtins.c: New file.
- 	* expr.c (saveregs_value, apply_args_value):  Delete definition,
- 	moved into builtins.c.
- 	(string_constant): No longer static.
- 	(get_pointer_alignment, c_strlen, get_memory_rtx, expand_builtin,
- 	apply_args_size, apply_result_size, result_vector,
- 	expand_builtin_apply_args, expand_builtin_apply,
- 	expand_builtin_return): Delete functions, moved into builtins.c.
- 	(INCOMING_REGNO, OUTGOING_REGNO): Delete unused macros.
- 	* expr.h (saveregs_value, apply_args_value): Declare variables.
- 	(expand_builtin, string_constant): Declare functions.
- 	* Makefile.in: Update to build builtin.o.
- 
- Wed Jul 21 00:46:58 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* defaults.h (DWARF2_GENERATE_TEXT_SECTION_LABEL): New macro.
- 	* tm.texi (DWARF2_GENERATE_TEXT_SECTION_LABEL): Define it.
- 	* dwarf2out.c (dwarf2out_init): Don't output a label to mark the
- 	start of the text section if DWARF2_GENERATE_TEXT_SECTION_LABEL is
- 	false.
- 	* config/mips/iris6.h (DWARF2_GENERATE_TEXT_SECTION_LABEL):
- 	Define to zero.
- 
- 1999-07-21  Michael Meissner  <meissner@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): Print the names of the virtual
- 	registers.
- 
- Wed Jul 21 16:00:32 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (INITIAL_ELIMINATION_OFFSET): Fix typo
- 	introduced in previous delta.
- 
- Wed Jul 21 14:30:51 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-lang.c (finish_file): Rename void_list_node to void_list_node_1
- 	to avoid name clash.
- 
- Wed Jul 21 08:39:22 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-lex.c (yylex) : Correct the test for overflow when lexing
- 	integer literals.
- 
- Tue Jul 20 18:02:42 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (insn_cost): FREE implies cost 0 and vice versa.
- 	(adjust_priority): Always call ADJUST_PRIORITY.
- 	(schedule_insn): Only put insns into the ready at cost 0.
- 	(schedule_block): Remove redundant initial sort.  Give clock_var
- 	and can_issue_more to MD_SCHED_REORDER.  Requeue if hazard cost
- 	is not 0.
- 	* tm.texi (MD_SCHED_REORDER): Update docs.
- 
- 	* sparc.h (MD_SCHED_REORDER): Update.  Set CAN_ISSUE_MORE.
- 	* sparc.c (ultra_reorder_called_this_block): Delete.
- 	(ultrasparc_sched_init): Don't set it.
- 	(ultrasparc_sched_reorder): Don't check it.
- 
- Tue Jul 20 17:07:54 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* rs6000.h (struct rs6000_args): Add sysv_gregno.
- 	* rs6000.c (init_cumulative_args): Init sysv_gregno.
- 	(function_arg_boundary): Align DFmode.
- 	(function_arg_advance): Restructure for ABI_V4; use sysv_gregno
- 	to get fp reg and stack overflow correct.
- 	(function_arg): Likewise.
- 	(function_arg_pass_by_reference): True for TFmode for ABI_V4.
- 	(setup_incoming_varargs): Restructure for ABI_V4; use
- 	function_arg_advance to skip final named argument.
- 	(expand_builtin_saveregs): Properly unskip the last integer arg
- 	when doing varargs.  Adjust overflow location calculation.
- 
- 	* ginclude/va-ppc.h (struct __va_list_tag): Make gpr and fpr
- 	explicitly unsigned.
- 	(__VA_FP_REGSAVE): Use new OFS argument instead of AP->fpr directly.
- 	(__VA_GP_REGSAVE): Similarly.
- 	(__va_longlong_p): Delete.
- 	(__va_arg_type_violation): New declaration.
- 	(va_arg): Restructure.  Flag promotion errors.  Align double.
- 	TFmode passed by reference.
- 
- 	* rs6000.md (movdi_32+1): Use GEN_INT after arithmetic
- 	in the HOST_BITS_PER_WIDE_INT > 32 case.
- 
- Tue Jul 20 12:37:30 1999  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* dwarf2out.c (output_abbrev_section): Terminate with a zero.
- 
- Tue Jul 20 12:12:27 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* gcc.c (default_compilers, cpp-output): Pass -fpreprocessed.
- 	* toplev.c (documented_lang_options): Add -fpreprocessed.
- 	* cpplib.h (struct cpp_buffer): Add preprocessed.
- 	* cppinit.c (cpp_handle_option): Handle -fpreprocessed.
- 	(cpp_start_read): Don't expand macros or emit an initial #line
- 	directive if -fpreprocessed.
- 
- Tue Jul 20 12:12:09 1999  Michael Tiemann  <tiemann@holodeck.cygnus.com>
- 
- 	* cpplib.h (struct cpp_buffer): Added manual_pop for
- 	better C++ tokenization.
- 	* cpplib.c (cpp_get_token): Return CPP_EOF if manual_pop.
- 	Also, support C++ tokenization for ->*, .*, <?, and >? operators.
- 	* c-common.c (cpp_token): Make non-static.
- 
- Tue Jul 20 11:24:19 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* c-common.h: New file.
- 	* c-common.c (permanent_obstack): Delete unused declaration.
- 	(c_global_trees): New array.
- 	(c_common_nodes_and_builtins): New function; split off common code
- 	from init_decl_processing in both c-decl.c and cp/decl.c.
- 	* c-tree.h: Delete lots of declarations of tree nodes; replaced by
- 	c_global_trees and accessor macros defined in c-common.h.
- 	Include c-common.h.
- 	* c-decl.c: Delete definitions for tree nodes that were replaced by
- 	c_global_trees.
- 	(init_decl_processing): Build void_list_node.
- 	Call c_common_nodes_and_builtins; delete code to generate the common
- 	builtins here.
- 	* objc/objc-act.c (build_module_descriptor): Rename variable
- 	void_list_node to avoid clash with c-common.h.
- 
- 	* Makefile.in: Update dependencies.
- 	* objc/Make-lang.in: Likewise.
- 
- Mon Jul 19 14:22:18 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/iris6gld.h (MAKE_DECL_ONE_ONLY): Define.
- 	(UNIQUE_SECTION_P): Likewise.
- 	(UNIQUE_SECTION): Likewise.
- 
- 1999-07-19  Linas Vepstas  <linas@linas.org>
- 
- 	* config/i370/README: New file.
- 	* config/i370/linux.h: New file.
- 	* config/i370/mvs.h: New file.
- 	* config/i370/oe.h: New file.
- 	* config/i370/t-linux: New file.
- 	* config/i370/t-mvs: New file.
- 	* config/i370/t-oe: New file.
- 	* config/i370/x-oe: New file.
- 	* config/i370/xm-linux.h: New file.
- 	* config/i370/xm-mvs.h: New file.
- 	* config/i370/xm-oe.h: New file.
- 
- 	* i370.c (label_node_t): Add first_ref_page, label_addr,
- 	label_first_ref, label_last_ref members.
- 	(mvs_need_base_reload): Renamed from mvs_label_emitted.
- 	(MAX_MVS_LABEL_SIZE): Define.
- 	(MAX_LONG_LABEL_SIZE): Define.
- 	(alias_node_t, alias_anchor, alias_number): New.
- 	(mvs_function_table): Reorder for EBCDIC.
- 	(ascebc, ebcasc): Unconditionally define.
- 	(i370_branch_dest, i370_branch_length): New functions.
- 	(i370_short_branch, i370_label_scan): New functions.
- 	(mvs_get_label): Renamed from mvs_add_label.  Search for
- 	an existing label before creating a new one.
- 	(mvs_add_label): New function.
- 	(mvs_get_label_page): New function.
- 	(mvs_free_label_list): Renamed from mvs_free_label.  Iterate
- 	over the entire list.
- 	(mvs_check_page) [TARGET_HLASM]: Use BASR not BALR.
- 	(mvs_check_page) [TARGET_ELF_ABI]: New function.
- 	(mvs_add_alias, mvs_need_alias): New functions.
- 	(mvs_get_alias, mvs_check_alias): New functions.
- 	(handle_pragma): New function.
- 	(mvs_function_check): New function.
- 	(unsigned_jump_follows_p): Search harder.
- 	(i370_function_prolog) [TARGET_HLASM]: Handle LE370.  Scan labels.
- 	(i370_function_prolog) [TARGET_ELF_ABI]: New function.
- 	* i370.h (TARGET_VERSION): Delete.
- 	(CPP_SPEC, CPP_PREDEFINES): Delete.
- 	(mvs_label_emitted): Delete.
- 	(TARGET_EBCDIC): Delete.
- 	(MAP_CHARACTER): Define only if TARGET_EBCDIC.
- 	(HANDLE_PRAGMA): Define.
- 	(HARD_REGNO_NREGS): Handle complex modes.
- 	(HARD_REGNO_MODE_OK): Likewise.
- 	(CLASS_MAX_NREGS): Likewise.
- 	(RET_REG): Likewise.
- 	(EXTRA_CONSTRAINT): Define.
- 	(RETURN_IN_MEMORY): True for DImode.
- 	(TRAMPOLINE_TEMPLATE): Use gen_rtx instead of GEN_INT.
- 	(FUNCTION_PROFILER): Delete.
- 	(COUNT_REGS): Fail if REG_P but not REG_OK_FOR_BASE_P.
- 	(NOTICE_UPDATE_CC): Correct handling of MULT, DIV, logicals and shifts.
- 	(TARGET_ESC, TARGET_BELL): Conditionally define for TARGET_EBCDIC.
- 	(TARGET_BS, TARGET_TAB, TARGET_NEWLINE): Likewise.
- 	(TARGET_VT, TARGET_FF, TARGET_CR): Likewise.
- 	(ASM_FILE_START): Add "RMODE ANY".
- 	(ASM_OUTPUT_EXTERNAL): Check for aliases.
- 	(ASM_GLOBALIZE_LABEL): Likewise.
- 	(ASM_OUTPUT_LABELREF): Likewise.
- 	(ASM_OUTPUT_COMMON): Likewise.
- 	(PRINT_OPERAND): Handle 'K', 'W', default.
- 	(PRINT_OPERAND_ADDRESS): New.
- 	(Lots of defines): Add support for TARGET_ELF_ABI.
- 	* i370.md (attr length): New.  Define for all patterns.
- 	(*): Lots of tweeks to assembly output and constraints.
- 
- Mon Jul 19 15:09:29 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (arithmetic, logical, and shift Rc combiner patterns):
- 	Disable patterns performing SImode comparisons with SImode values
- 	if TARGET_POWERPC64 and instruction does not sign-extend or does
- 	not mask to narrower than SImode, i.e. where bit 31 and bit 63 may
- 	differ for signed quantities.
- 	(indirect_jump): Add expander to choose RTL based on TARGET_64BIT.
- 	(tablejump): Patterns contingent on TARGET_64BIT not TARGET_POWERPC64.
- 	(decrement_and_branch_on_count): Add 64-bit variant.
- 
- Mon Jul 19 09:36:27 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* final.c (output_asm_insn): When searching for the matching string
- 	for a given dialect, don't run past the end of the list of
- 	alternatives if there are fewer alternatives in the template than
- 	dialects.
- 
- 1999-07-17  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* gcc.texi: Update e-mail addresses and URLs to gcc.gnu.org.
- 	Removed paragraph about compression of files and size limitation,
- 	duplicated in the FAQ.  Use gcc-patches for posting patches.
- 	* gcc.c (main): Updated URL with bug reporting instructions to
- 	gcc.gnu.org.  Removed e-mail address.
- 	* system.h (abort): Likewise.
- 
- 1999-07-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (stmp-multilib-sub): Make the files extracted
- 	from $(LIBGCC1) writable.
- 
- Sat Jul 17 14:25:46 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/aout.h: Reformat for improved readability.
- 
- 	* config/arm/arm.h: Reformat for improved readability.
- 	Replace uses of fprintf with asm_fprintf where appropriate.
- 	(ARM_DECLARE_FUNCTION_NAME): New macro:  Perform any generic ARM
- 	function declaration assembler actions.
- 	(NUM_INTS): New macro: Convert from bytes to words.
- 	(NUM_REGS): New macro: Compute number of registers required to
- 	hold a quanitity of tyep MODE.
- 	(NUM_REGS2): New macro: Like NUM_REGS but also copes with BLKmode
- 	types.
- 	(NUM_ARG_REGS): New macro: The number of argument registers
- 	available.
- 	(ARG_REGISTER): New macro: Compute the register number of the Nth
- 	argument register.
- 	(LAST_ARG_REGNUM): New macro: The number of the last argument
- 	register.
- 	(SP_REGNUM): New macro: Register number of the stack pointer.
- 	(FP_REGNUM): New macro: Register number of the frame pointer.
- 	(FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS, INIT_CUMULATIVE_AGS,
- 	FUNCTION_ARG_ADVANCE, SETUP_INCOMING_VARARGS): Change
- 	CUMULATIVE_ARGS so that it counts registers not bytes.
- 
- 	* config/arm/arm.c: Rename TARGET_THUMB_INTERWORK to
- 	TARGET_INTERWORK.
- 	Replace uses of fprintf with asm_fprintf where appropriate.
- 	(output_ascii_pseudo_op): Replace with version from thumb.c
- 
- 	* config/arm/coff.h (ASM_FILE_START): Emit ASM_APP_OFF.
- 
- 	* config/arm/elf.h (CPP_PREDEFINES): Replace with
- 	SUBTARGET_CPP_SPEC.
- 	(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
- 	(ASM_FILE_START): Emit ASM_APP_OFF.
- 
- Fri Jul 16 13:48:09 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (compute_frame_size): Round frame according to
- 	STACK_BOUNDARY rather than a hardwired value.
- 
- 	* pa.h (POINTER_SIZE, PARM_BOUNDARY): Define in terms of BITS_PER_WORD.
- 
- 	* configure.in (hppa*-*-hpux11*): Use symbolic MASK_PA_11 instead
- 	of "1".
- 	* configure: Rebuilt.
- 
- 	* configure.in (hppa*-*-linux*): New configuration.
- 	* configure: Rebuilt.
- 	* pa.h (MAX_OFILE_ALIGNMENT): Delete.
- 	* pa/som.h (MAX_OFILE_ALIGNMENT): Define.
- 	* pa/pa-linux.h: New file.
- 	* pa/t-linux: New file.
- 	* pa/xm-linux.h: New file.
- 
- 	* pa.c (hppa_legitimize_address): Change references from SImode to
- 	either Pmode or word_mode as appropriate.
- 	(emit_move_sequence, store_reg, load_reg): Likewise.
- 	(set_reg_plus_d, hppa_expand_prologue): Likewise.
- 	(output_mul_insn): Likewise.
- 	* pa.h (PROMOTE_MODE): Likewise.
- 	(INITIALZE_TRAMPOLINE): Likewise.
- 	(Pmode): Define to word_mode.
- 
- 	* pa.c (compute_frame_size): Use UNITS_PER_WORD instead of hardwired
- 	value of 4.  Allocate 8 bytes for each FP register save.
- 	(hppa_expand_epilogue): Use UNITS_PER_WORD instead of harwarewired
- 	value of 4.
- 	(hppa_expand_prologue): Likewise.
- 	* pa.h (PROMOTE_MODE): Likewise.
- 	(HARD_REGNO_MODE_OK, FUNCTION_ARG_SIZE): Likewise.
- 	(FUNCTION_ARG_BOUNDARY): Likewise.
- 
- 	* invoke.texi (HPPA Options): Remove -mspace/-mno-space.
- 
- 	* pa.c (out_of_line_prologue_epilogue): Delete.
- 	(override_options): Remove -mspace related code.
- 	(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
- 	(compute_frame_size): Only allocate space for register that
- 	actually need to be saved.
- 	* pa.h (MASK_SPACE, TARGET_SPACE): Delete.
- 	(TARGET_SWITCHES): Remove -mspace, -mno-space
- 	* pa/t-pa (LIB2FUNCS_EXTRA): Remove ee.asm and ee_fp.asm
- 	* pa/t-pro (LIB2FUNCS_EXTRA): Likewise.  Remove -mspace multilib.
- 	* pa/ee.asm, pa/ee_fp.asm: Delete.
- 
- 	* pa/elf.h (ASM_OUTPUT_DOUBLE_INT): Define.
- 
- 	* config/svr4.h (CONST_SECTION_ASM_OP): Do not emit assembler
- 	directive in column zero.
- 
- Fri Jul 16 01:39:57 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.c (output_function_prologue): Fix computation of save mask
- 	when generating PIC code.
- 
- Thu Jul 15 15:40:09 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* tree.c (build_type_attribute_variant): Move current_obstack restore
- 	after build_qualified_type call.
- 
- 1999-07-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.in: Use t-iris6, even with GNU LD.
- 	* config/mips/iris6gld.h: Fix typo in linker spec.
- 	* config/mips/t-iris6gld: Remove.
- 
- Thu Jul 15 15:15:43 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (insv, extzv): Remove SImode dependence in named
- 	patterns.  Explicitly generate DImode RTL if PowerPC64 and
- 	operand is DImode.
- 	(insvdi): Reverse start and size in instruction template.
- 
- 1999-07-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Typo fixes.
- 
- Wed Jul 14 23:28:06 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (gen_realpart): Issue an error for cases GCC can not
- 	handle at this time instead of silently generating incorrect code.
- 	(gen_imagpart): Likewise.
- 
- 	* reload.c (find_reloads): Emit a USE for a pseudo register without
- 	a hard register if we could not create an optional reload for the
- 	pseudo.
- 
- Wed Jul 14 23:45:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* c-typeck.c (output_init_element, process_init_element):
- 	When advancing constructor_unfilled_fields for a RECORD_TYPE,
- 	check for nameless bit fields.
- 
- Wed Jul 14 01:57:39 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* regclass.c (scan_one_insn): Notice subregs that change the
- 	size of their operand.
- 	(record_reg_classes): Use that to obey CLASS_CANNOT_CHANGE_SIZE.
- 
- Wed Jul 14 01:41:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (alpha*-*-*): Include alpha/t-ieee.
- 	* configure: Rebuilt.
- 	* alpha/t-ieee: New file.
- 
- Tue Jul 13 10:45:58 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.c (find_addr_reg): Do not select r0 as an address
- 	register.
- 
- Tue Jul 13 00:46:18 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* m68k/x-mot3300 (XCFLAGS): List of big files now includes `cse.o'.
- 
- Mon Jul 12 14:29:15 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.md (movsf): Do not force easy FP constants into memory.
- 
- 	* expr.c (expand_expr, case PLUS_EXPR): Pass constants through
- 	immed_double_const to ensure they are properly truncated then
- 	sign extended.
- 
- Mon Jul 12 10:40:01 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* config/arm/thumb.c (thumb_reorg): Call replace_symbols_in_block
- 	always unless NO_DEBUG is used.  Compile this code
- 	unconditionally.
- 	(replace_symbols_in_block): Compile it unconditionally.
- 
- Sun Jul 11 12:32:32 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (i?86-*-elf*): New target.
- 	* configure: Rebuilt.
- 	* i386/i386elf.h, i386/t-i386elf: New files.
- 
- Fri Jul  9 22:39:44 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* toplev.c (main): Don't complain about saying -gdwarf.
- 	(rest_of_compilation): Remove redundant code.
- 
- Fri Jul  9 19:08:55 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (unroll_loops): Don't delete named CODE_LABELs.
- 
- Fri Jul  9 18:54:18 1999  Felix Lee  <flee@cygnus.com>
- 
- 	* config/i960/i960.c (ret_label): Change asm label from "LR:" to
- 	"Li960R:", to avoid name clash.
- 
- Fri Jul  9 10:48:28 1999  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* loop.c (check_dbra_loop): When reversing a loop, delete all
- 	REG_EQUAL notes referencing the reversed biv except those which are
- 	for a giv based on it.
- 
- Fri Jul  9 03:51:52 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Drop "gcc-" prefix from version #.
- 
- Thu Jul  8 18:06:30 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_line): Emit a line number comment after
- 	the label if we're being verbose.
- 
- Thu Jul  8 14:18:46 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m68k.c (output_function_prologue): Add pic register to mask
- 	if live and flag_pic.
- 	(output_function_epilogue): Likewise.
- 
- Thu Jul  8 12:55:12 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Do not put assembler
- 	directives in column zero.
- 
- 	* pa/elf.h (ASM_FILE_START): Define.
- 	* pa/som.h (ASM_FILE_START): Include .level directives.
- 	* pa/hpux10.h (ASM_FILE_START): Delete.
- 	* pa/hpux11.h (ASM_FILE_START): Delete.
- 
- 	* pa/elf.h (BSS_SECTION_ASM_OP): Use .section .bss.
- 
- Thu Jul  8 18:03:19 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): Never call remove_address_replacements
- 	when reload_out equals reload_in.
- 
- Thu Jul  8 16:50:14 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* invoke.texi (Spec Files): New node: Describe the contents of
- 	spec files.
- 
- Thu Jul  8 10:28:25 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	* invoke.texi (DEC Alpha Options): Put @end table at
- 	beginning of line, to avoid confusing texi2html.
- 
- Thu Jul  8 09:22:06 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Fixed typo
- 	introduced in previous delta.
- 
- Wed Jul  7 02:00:04 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* reload1.c (gen_reload): When synthesizing a 3 operand add
- 	sequence, improve test for when to reload OP1 into the reload
- 	register instead of OP0.
- 
- Wed Jul  7 01:38:03 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
- 
- 1999-07-07  Manfred Hollstein  <mhollstein@cygnus.com>
- 
- 	* m88k/dguxbcs.h (CPP_SPEC): Add missing \ in multi-line
- 	string literal.
- 
- Wed Jul  7 01:16:43 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* ginclude/varargs.h (__builtin_va_alist_t): New typedef.
- 	(va_dcl): Use __builtin_va_alist_t.
- 
- Wed Jul  7 01:14:42 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (gen_struct_or_union_type_die): Only remember types
- 	on the permanent_obstack.
- 	* dwarfout.c (output_type): Likewise.
- 
- Tue Jul  6 15:25:32 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-common.c (unsigned_type,signed_type,signed_or_unsigned_type) :
- 	Merged from c-typeck.c and cp/typeck.c.
- 	* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
- 	Merged into c-common.
- 
- Tue Jul  6 13:06:01 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* c-lex.c (errorcount): Declare it.
- 	(finish_parse): Update errorcount when using CPPLIB.
- 
- 1999-07-06  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/inclhack.def(end_else_label): Double the backslash so
- 	sed gets a chance to see it.
- 	* fixinc/inclhack.sh: regen
- 	* fixinc/fixincl.x: regen
- 
- Fri Jul  2 18:49:51 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	Add framework to support armv5 architecture when it becomes
- 	available:
- 
- 	* config/arm/arm.c (FL_ARCH5): New processor capability flag.
- 	(arm_arch5): New variable.
- 	(all_architectures): Add armv5 line.
- 	* config/arm/arm.h (CPP_CPU_ARCH_SPEC): Define __ARM_ARCH_5__ if
- 	-march=armv5 is specified on the command line.
- 	(arm_arch5): Export this variable.
- 	* invoke.texi: Document new string accepted by -march= switch for
- 	ARM ports.
- 
- 	* config/arm/arm.h: Replace use of constant 12 as a register
- 	number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
- 	* config/arm/arm.c: Replace use of constant 12 as a register
- 	number with IP_REGNUM.  Similarly 14 and LR_REGNUM.
- 
- 	* config/arm/elf.h: Tidy up.
- 	* config/arm/coff.h: Tidy up.
- 
- Thu Jul  1 19:08:13 1999  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* gcc/configure.in (mips-sgi-irix6*): Handle --with-gnu-ld.
- 	* gcc/config/mips/t-iris6gld: New file.
- 	* gcc/config/mips/iris6gld.h: Likewise.
- 
- Fri Jul  2 13:23:39 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-decl.c (widest_integer_literal_type_node,
- 	widest_unsigned_literal_type) : New.
- 	(init_decl_processing): Handle/use the two new types.
- 	* c-common.c (type_for_size,type_for_mode) : Same.
- 	* c-lex.c (yylex) : Same.
- 	* c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) :
- 	Same.
- 	* c-tree.h (widest_integer_literal_type_node,
- 	widest_unsigned_literal_type) : New.
- 
- Fri Jul  2 03:05:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* dwarfout.c (field_byte_offset): Correctly compute the object's
- 	byte offset for the first bit of a field which crosses an alignment
- 	boundary on a !BYTES_BIG_ENDIAN target.
- 
- Fri Jul  2 01:36:36 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* fixinc.svr4: Fix <arpa/inet.h> by deleting protos for htons and
- 	ntohs.
- 
- Fri Jul  2 00:46:47 1999  Richard Henderson  <rth@cygnus.com>
- 			  Jeff Law <law@cygnus.com>
- 
- 	* ginclude/varargs.h (va_dcl): Use word_mode for type of
- 	__builtin_va_list.
- 
- 	* except.c: Include intl.h.
- 	(expand_eh_return): Set current_function_cannot_inline.
- 	(save_eh_status, restore_eh_status): Twiddle eh_return_stub_label.
- 	* function.h (struct function): Add eh_return_stub_label.
- 	* flow.c (delete_unreachable_blocks): Don't merge across EH edges.
- 	* Makefile.in (except.o): Depend on intl.h.
- 
- Fri Jul  2 00:04:23 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movdf_hardfloat32): Handle PRE_INC and PRE_DEC the
- 	same as offsettable in cases 1 and 2.
- 
- Thu Jul  1 20:54:10 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (extqh): Define as 64-((R&7)*8) instead of 56-(((R-1)&7)*8).
- 	(extlh, extwh): Likewise.
- 
- Thu Jul  1 11:05:25 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* c-lex.c (yylex): Improve 'integer constant out of range' messages.
- 
- Wed Jun 30 16:51:41 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Add arm-pe and thumb-pe targets.
- 	* configure: Regenerate.
- 
- 	* thumb.c (arm_naked_function_p): New function: Determines if
- 	a function is naked (has no gcc generated prologue/epilogue).
- 	(is_called_in_ARM_mode): Return true if the func has the
- 	interfacearm attribute.
- 	(output_return): Do not generate a return for naked functions.
- 	(thumb_function_prologue): Do not generate a prologue for
- 	naked functions.
- 	(thumb_expand_prologue): Do not generate a prologue for naked
- 	functions.
- 	(thumb_expand_epilogue): Do not generate an epilogue for naked
- 	functions.
- 	(arm_valid_machine_decl_attribute): New function, copied from
- 	arm.c:  Permit naked and interfacearm attributes.
- 
- 	* config/arm/pe.c: New file: Support code for arm-pe target.
- 	* config/arm/pe.h: New file: Header file for arm-pe target.
- 	* config/arm/tpe.h: New file: Header file for thumb-pe target.
- 	* config/arm/t-thumb-pe: New file: Makefile fragment for
- 	thumb-pe target.
- 
- 1999-07-01  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config/i386/gnu.h (CPP_SPEC): Define __PIC__ and __pic__ if
- 	-fPIC or -fpic is specified.
- 
- Wed Jun 30 03:31:54 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (emit_block_move): Use copy_to_mode_reg for
- 	!TARGET_MEM_FUNCTIONS case too.
- 
- 	* configure.in (hppa*-*-*): Add som.h or elf.h to tm_file as
- 	appropriate.
- 	* configure: Rebuilt.
- 	(hppa1.1-*-pro*, hppa1.1-*-rtems*): Define target_cpu_default.
- 	* pa.h: Include dbxelf.h.  Delete various dbx/stabs related
- 	definitions made redundant by dbxelf.h inclusion.  Delete
- 	lots of definitions related to assembly output that are
- 	specific to the SOM object format.
- 	* pa.c (output_function_prologue): Do not emit the function's
- 	name for OBJ_ELF.
- 	* pa-pro-end.h (STARTFILE_SPEC): Undefine before redefining.
- 	* pa-pro.h: Deleted.
- 	* som.h: New file with SOM specific definitions.
- 	* elf.h: New file with ELF specific definitions.
- 
- 	* elfos.h (const_section): Output a tab before assembler directives.
- 	(ctors_section, dtors_section): Likewise.
- 	(ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* pa/pa1.h: Delete unused file.
- 
- Tue Jun 29 01:37:53 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa*-hp-hpux11*): New configuration.
- 	* configure: Rebuilt.
- 	* pa/pa-hpux11.h: New file.
- 	* pa.h (CPP_SPEC): Conditionally add -D__STDC_EXT__ to the cpp
- 	command line.
- 
- 	* mips.md (leasi, leadi): New patterns.
- 
- 	* expr.c (emit_block_move): Properly handle case where one of the
- 	block move arguments has a queued increment or decrement.
- 	(clear_storage): Similarly.  Fix formatting goof.
- 
- 1999-06-28  "David O'Brien"  <obrien@NUXI.com>
- 
- 	* fixinc/inclhack.def(stdio_va_list): This patch Removes a
- 	semicolon from the BSD VA_LIST replacement expression.
- 
- 	* fixinc/inclhack.sh: regen
- 	* fixinc/fixincl.x: regen
- 
- 	* fixinc/mkfixinc.sh: Have `i[34567]86-*-freebsd*' machines
- 	now use the fixincl program.
- 
- Mon Jun 28 05:28:12 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* m68k.h (CONDITIONAL_REGISTER_USAGE): Define for !SUN_FPA
- 	case.  Also make the PIC register call_used.
- 
- 	* m68k.h (FINALIZE_PIC): Delete.
- 	* m68k.c (finalize_pic): Delete.
- 
- Mon Jun 28 05:16:35 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* m68k.h (PREFERRED_RELOAD_CLASS): Don't force any FP const_doubles
- 	to memory.
- 
- Mon Jun 28 04:07:27 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expmed.c (expand_divmod): Ensure unsigned value fits in reg_note.
- 
- Sun Jun 27 02:39:08 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Validate the cmov copy to a temporary.
- 
- Sat Jun 26 17:18:18 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (print_operand, case 'L'): Use plus_constant_for_output.
- 
- Fri Jun 25 11:33:24 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (override_options): Add -mcpu=ev45 as an alias for ev4.
- 
- Fri Jun 25 13:41:25 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (output_toc): Always use hex values for floating-point
- 	constants.  Store single-precision values in upper-half of TOC
- 	entry in 64-bit mode.
- 	* rs6000.md (floatsidf2, floatunssidf2): Add !TARGET_POWERPC64
- 	to final constraints.
- 	(fix_truncdfsi2 splitter): Change pattern matching fctiwz.
- 	(fctiwz): Improve accuracy of RTL for pattern.
- 
- Fri Jun 25 11:26:38 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* expr.c (expand_expr): Allow RTL_EXPR's through the
- 	MAX_INTEGER_COMPUTATION_MODE checks.
- 
- Fri Jun 25 06:06:37 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (MASK_SUPPORT_ARCH, MASK_CPU_EV5, MASK_CPU_EV6): Define
- 	such that MASK_SUPPORT_ARCH is not negative.
- 
- Fri Jun 25 05:35:44 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (verify_dominator): Properly handle ADDR_VEC and
- 	ADDR_DIFF_VEC insns that appear inside loops.
- 
- Thu Jun 24 22:54:05 1999  David Edelsohn  <edelsohn@gnu.org>
- 			  Jeff Law <law@cygnus.com>
- 
- 	* rs6000.md (movdf_hardfloat32): Revert previous patch.
- 	Handle LO_SUM the same as offsettable in cases 1 and 2.
- 	* rs6000.c (find_addr_reg): Revert previous patch.
- 
- Thu Jun 24 22:43:12 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* system.h (strstr): New external function declaration.
- 	* acconfig.h (NEED_DECLARATION_STRSTR): New define slot.
- 	* configure.in (GCC_NEED_DECLARATIONS): Check for strstr.
- 	* config.in, configure: Rebuilt.
- 
- 1999-06-24  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (main): Read user-specified specs files after computing
- 	additional startfile_prefixes.
- 
- Thu Jun 24 15:00:47 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert these two patches:
- 
- 	Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 	* loop.c (strength_reduce): When doing biv->giv conversion, update
- 	reg note of NEXT->insn.
- 
- 	Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
- 	reg_biv_class.
- 	(recombine_givs): Set ix field after sorting.
- 
- Wed Jun 23 21:26:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* rtlanal.c (reg_referenced_p): Use reg_overlap_mentioned_p
- 	for the parts of an UNSPEC / UNSPEC_VOLATILE.
- 
- 1999-06-23  Bruce Korb  <ddsinc09@ix.netcom.com>
- 
- 	*fixinc/inclhack.def:  Add fix development commentary
- 	(read_ret_type): reactivate and add selection clause
- 	(zzz_*): tweak output file name to match what is used in hackshell.tpl
- 	*fixinc/{fixincl.x|inclhack.sh}: regen
- 
- Wed Jun 23 00:48:21 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* expr.c (expand_expr): STRIP_NOPS before checking against
- 	MAX_INTEGER_COMPUTATION_MODE
- 	(check_max_integer_computation_mode): Likewise.
- 
- Tue Jun 22 20:23:43 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* md.texi (smul@var{m}3_highpart): Add missing 's' prefix.
- 
- 1999-06-22  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (store_expr): When target is a promoted subreg, return a
- 	promoted subreg as a result.
- 
- Tue Jun 22 17:14:58 1999  Michael Meissner  <meissner@cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Reformat to match GNU
- 	coding standards.
- 	(dwarf2out_define): Mark unused parameters appropriately.
- 	(gen_unspecified_parameters_die): Ditto.
- 	(gen_subprogram_die): Fix signed/unsigned warnings.
- 	(gen_variable_die): Ditto.
- 
- 1999-06-22  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/inclhack.def(end_else_label): combined else_label
- 	and endif_label and fixed the sed expression.
- 	*fixinc/{fixincl.x|inclhack.sh}: regen
- 
- Tue Jun 22 01:58:18 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.md (movdf_hardfloat32): Use %X instead of always emitting
- 	'x' when handling non-offsettable addresses
- 
- Tue Jun 22 00:20:05 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* final.c (shorten_branches): Don't try to split an insn that has
- 	been deleted.
- 
- Mon Jun 21 12:47:39 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/mips.c (symbolic_expression_p): New function.
- 	(mips_select_rtx_section): Put symbolic expressions in the
- 	data section, not the read-only data section.
- 
- Mon Jun 21 22:13:06 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* rs6000.md (find_addr_reg): Handle LO_SUM addresses.
- 
- Mon Jun 21 20:10:42 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* collect2.c (main): Log frame table count.
- 	(GCC_OK_SYMBOL) [ECOFF]: Accept stGlobal.
- 	(scan_prog_file) [COFF]: Handle frame tables.
- 
- 	* alpha/alpha.h (UNALIGNED_SHORT_ASM_OP): Define.
- 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Define.
- 	* alpha/elf.h: Undef them again.
- 	* alpha/vms.h: Remove their definitions.
- 
- Tue Jun 22 03:17:53 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (machine_dependent_reorg): When fixing up fp pcloads,
- 	remove the clobber of r0 and change the REG_UNUSED note to
- 	REG_INC.
- 
- 1999-06-21  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* real.c (ereal_from_double): Fix for 64-bit big endian hosts.
- 	* emit-rtl.c (gen_lowpart_common): Add case for hosts where double
- 	fits in HOST_WIDE_INT and one uses union to access a long constant
- 	as double.
- 
- Mon Jun 21 17:18:25 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (sparc_override_options): Don't allow profiling for
- 	code models other than medlow.
- 	(sparc_function_profiler): New function from old FUNCTION_PROFILER
- 	macro.  Use ASM_GENERATE_INTERNAL_LABEL and MCOUNT_FUNCTION.
- 	(sparc_function_block_profiler): Likewise.  Use user_label_prefix.
- 	(sparc_block_profiler): Likewise.
- 	(sparc_function_block_profiler_exit): Likewise.
- 	* sparc.h (FUNCTION_PROFILER): Call new sparc.c function.
- 	(FUNCTION_BLOCK_PROFILER): Likewise.
- 	(BLOCK_PROFILER): Likewise.
- 	(FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
- 	(MCOUNT_FUNCTION): New.
- 	* sparc/pbd.h (FUNCTION_PROFILER): Delete.
- 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Delete.
- 	* sparc/sun4o3.h (FUNCTION_PROFILER): Delete.
- 	(MCOUNT_FUNCTION): New.
- 	* sparc/sysv4.h (FUNCTION_BLOCK_PROFILER): Delete.
- 	(BLOCK_PROFILER): Delete.
- 	(MCOUNT_FUNCTION): New.
- 
- Mon Jun 21 14:11:29 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movdf_hardfloat32): Fix typo in case 2.
- 
- Mon Jun 21 12:27:17 1999  Vladimir Makarov  <vmakarov@tofu.to.cygnus.com>
- 
- 	* config/mips/elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- 	Add the macros.
- 
- 	* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- 	Ditto.
- 
- 	* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- 	Ditto.
- 
- 	* config/arm/telf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- 	Ditto.
- 
- Mon Jun 21 14:58:42 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h: Add cpp support for ARM920 and ARM920T cpu
- 	types.
- 
- Mon Jun 21 06:22:21 1999  Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* i386/djgpp.h (LIB_SPEC): New.
- 	(STARTFILE_SPEC): New.
- 
- 	* i386/xm-djgpp.h (NO_SYS_SIGLIST): Deleted. Now obsolete.
- 
- Mon Jun 21 06:19:33 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* fixinc/Makefile.in (gnu-regex.o): Do not define STDC_HEADERS in
- 	compiler flags.
- 
- 	* system.h (WSTOPSIG): New macro.
- 
- Mon Jun 21 05:33:15 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-pragma.c (push_alignment): Don't ignore alignments greater than
- 	4 bytes.
- 	(insert_pack_attributes): Take into account member natural
- 	alignment.
- 
- 	* i386/winnt.c (exports_head): New static variable.
- 	(i386_pe_record_exported_symbol): New function.
- 	(i386_pe_asm_file_end): Use.
- 	* i386/cygwin.h (ASM_OUTPUT_COMMON): Record the exported
- 	symbols to be emitted at end of assembly.
- 	(ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 
- 	* i386/uwin.h (CPP_SPEC): Use -idirafter instead -iprefix and
- 	-iwithprefix.
- 
- Mon Jun 21 04:44:31 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Fix paren error introduced
- 	in last change.
- 
- Sun Jun 20 17:27:20 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_analyze_1): Use free_list instead of
- 	zapping reg_last_uses directly.
- 	(sched_analyze_2, sched_analyze_insn): Likewise.
- 	(sched_analyze): Likewise.  Don't clear reg_last_uses on calls.
- 
- Sun Jun 20 16:57:29 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movdf_hardfloat32): Use worst case insn length
- 	attributes for cases 1 and 2.
- 
- Sat Jun 19 22:52:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* haifa-sched.c (sched_analyze): Mark call-user regs as clobbered
- 	instead of set.
- 
- Sat Jun 19 05:40:07 1999  Philip Blundell <pb@nexus.co.uk>
- 
- 	* arm.c (arm_reload_in_hi): Invert sense of test on BYTES_BIG_ENDIAN.
- 
- Sat Jun 19 05:25:05 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm.h (CONDITIONAL_REGISTER_USAGE): If flag_pic, never use
- 	PIC_OFFSET_TABLE_REGNUM for general alloaction.
- 	(INITIAL_ELIMINATION_OFFSET): Count the fact that the PIC register
- 	must be stacked if it is used for PIC accesses.
- 	* arm.c (use_return_insn): Handle PIC register specially.
- 	(output_return_instruction): Likewise.
- 	(output_func_{prologue,epilogue}): Likewise.
- 	(output_expand_prologue): Likewise.
- 
- 	* arm.md (*adddf_esfdf_df): Renamed from *adddf_df_esfdf.
- 	(*strsi_predec): Renamed from *strqi_predec.
- 	(*loadsi_shiftpreinc): Renamed from *loadqi_shiftpreinc.
- 	(*loadsi_shiftpredec): Renamed from *loadqi_shiftpredec.
- 
- 	* arm.c (arm_override_options): Remove warning about PIC code
- 	not being supported.
- 
- Fri Jun 18 23:47:06 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (find_addr_reg): New function.
- 	* rs6000.h (find_addr_reg): Declare.
- 	(offsettable_addr_operand): Delete.
- 	* rs6000.md (movdf_hardfloat32): Handle non-offsettable loads
- 	from and stores to GPRs.
- 
- Fri Jun 18 15:44:18 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_block_move): Use get_insns rather than
- 	gen_sequence as argument to emit_no_conflict_block.
- 
- Fri Jun 18 07:02 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/mkfixinc.sh: enable the fixincl program for DG/UX
- 	* fixinc/inclhack.def(dgux_int_varargs): script must end with \n
- 	*fixinc/fixincl.x: regen
- 	*fixinc/inclhack.sh: regen
- 
- Thu Jun 17 15:06:10 PDT 1999 Don Lindsay  <dlindsay@cygnus.com>
- 
- 	* added support for -mpcrel (PC relative addressing for m68k)
- 	based on code done by Michael Tiemann  <tiemann@axon.cygnus.com>.
- 	* invoke.texi (m68000 options): Add documentation for -mpcrel flag.
- 	* m68k.c (print_operand_address): Handle 32-bit PIC case.
- 	(comments for general_src_operand): Add some explanation
- 	about EXTRA_CONSTRAINTS.
- 	(OVERRIDE_OPTIONS): Enable -fPIC in combination with -mpcrel.
- 	* m68kelf.h (OVERRIDE_OPTIONS): Ditto.
- 	(LEGITIMATE_PIC_OPERAND_P): Fix typo.
- 	(LEGITIMATE_PIC_OPERAND_P): Re-derive from m68k.h case.
- 	* m68k.h (LEGITIMATE_PIC_OPERAND_P): Fix delete-o.
- 	(INDIRECTABLE_1_ADDRESS): Delete spurious '/' at end of macro.
- 	(OVERRIDE_OPTIONS): Change behavior so that -mpcrel implies -fpic
- 	if not already set.
- 	(OVERRIDE_OPTIONS): Merge in changes from m68k.h.
- 	* m68k.h (TARGET_PCREL): New target flag.
- 	(TARGET_SWITCHES): Add "pcrel" as a recognized switch.
- 	(OVERRIDE_OPTIONS): Add checks for -mpcrel.
- 	(LEGITIMATE_PIC_OPERAND_P): Don't normally accept anything that
- 	contains a SYMBOL_REF.  Relax this constraint during reload, since
- 	we want to use the predicates, not reload's built-in concept of a
- 	valid memory address, to control what insns need reloading.
- 	(EXTRA_CONSTRAINT): Define constraints to accept pc-relative
- 	operands (essentially 'g', 'm', and 's' under normal circumstances).
- 	* m68k.c (print_operand): Cause printing of pc-relative addresses
- 	to include pc register.
- 	(print_operand_address): Ditto.
- 	(general_src_operand): Accept operands that are not only
- 	general_operands, but are also valid when used as a pc-relative
- 	source.
- 	(nonimmediate_src_operand): Similar, for nonimmediate_operands.
- 	(memory_src_operand): Similar, for memory_operands.
- 	(pcrel_address): New predicate to accept the special case of a
- 	pc-relative address.
- 	* m68k.md (many patterns): Rewrite common SImode, HImode, and
- 	QImode insns to accept *_src_operand instead of *_operand where
- 	pc-relative operands can fit.  For example, a pc-relative operand
- 	can be used as a memory source operand for addsi3, but not as a
- 	memory destination.
- 	* hp320.h linux.h m68kv4.h (LEGITIMATE_PIC_OPERAND_P) as in m68k.h.
- 
- Fri Jun 18 09:11:07 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
- 	.thumb_set pseudo op to mark aliases of thumb functions.
- 
- Wed Jun 16 18:19:13 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
- 	preference to ASM_OUTPUT_DEF, if it is defined.
- 
- 	* tm.texi: Document new, optional target macro
- 	ASM_OUTPUT_DEF_FROM_DECLS.
- 
- Thu Jun 17 15:07 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixincludes: ISCNTL patch
- 	* fixinc/inclhack.def (ioctl_fix_ctrl): Fix the definition of [_]*ISCTRL().
- 	(dgux_int_varargs): new for DG/UX
- 	* fixinc/{fixincl.x,inclhack.sh}: Regenerated.
- 
- Thu Jun 17 21:34:24 1999  Jeff Law <law@cygnus.com>
- 
- 	* invoke.texi (ia32 options): Fix typo.
- 
- Thu Jun 17 21:34:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): When doing biv->giv conversion, update
- 	reg note of NEXT->insn.
- 
- Thu Jun 17 14:25:08 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (move_movables): Note issues with replacing REGs with
- 	SUBREGs.
- 	* mips.h (GO_IF_LEGITIMATE_ADDRESS): Handle SUBREGs properly.
- 
- Thu Jun 17 13:28:30 1999  David O'Brien <obrien@FreeBSD.org>
- 
- 	* i386/freebsd-elf.h (LINK_SPEC): Fix typo.
- 
- 	* i386/freebsd-elf.h (FUNCTION_PROFILER): labels are not needed and
- 	the reference to `mcount' was not correct for the ELF on FreeBSD.
- 
- Thu Jun 17 17:22:07 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): When doing biv->giv conversion, fix up
- 	reg_biv_class.
- 
- 	(recombine_givs): Set ix field after sorting.
- 
- Thu Jun 17 02:54:30 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* emit-rtl.c (operand_subword): Tighten checks for when it is safe
- 	to safe to extract a subword out of a REG.
- 
- Thu Jun 17 01:45:24 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (mulsi3): Don't add a no-op move at the end.
- 
- Wed Jun 16 20:29:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* cse.c (cse_insn): Don't put hard register source into tables for
- 	the last insn of a libcall.
- 
- Wed Jun 16 19:44:33 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Insert sets of derived givs at every
- 	biv increment, even if it's the only one.
- 
- Wed Jun 16 10:33:02 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarfout.c (add_incomplete_type): New fn.
- 	(output_type): Call it.
- 	(retry_incomplete_types): New fn.
- 	(dwarfout_finish): Call it.
- 
- 	From Eric Raskin <ehr@listworks.com>:
- 	(output_type): Output types for bases.
- 
- Tue Jun 15 12:51:23 1999  Alexandre Oliva  <oliva@dcc.unicamp.br>
- 
- 	* mips.c (mips_output_conditional_branch): Add `break'
- 	between `default' label and `close braces'.
- 
- Tue Jun 15 01:55:20 1999  David O'Brien <obrien@FreeBSD.org>
- 
- 	* i386/freebsd-elf.h (LINK_SPEC): clean up the linking library
- 	specifications and make it realistic.
- 	(LIB_SPEC): Likewise.
- 
- Mon Jun 14 15:38:43 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/mips/mips.c (mips_secondary_reload_class): Check for
- 	(PLUS (SP) (REG)) and return appropriate register class.
- 	* config/mips/mips.md (reload_insi): Delete predicate for operand 1.
- 	Handle (PLUS (SP) (REG)).
- 	(tablejump): In mips16 code, use emit_insn instead of emit_jump_insn.
- 	(tablejump_mips161, tablejump_mips162): Use emit_jump_insn instead
- 	of emit_insn for tablejump.
- 
- Mon Jun 14 17:26:40 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (output_prolog): RS6000_CALL_GLUE must be
- 	asm_fprintf format string by itself.
- 	(output_function_profiler): Likewise.
- 
- Mon Jun 14 12:57:38 1999  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* combine.c (simplify_logical, case AND): Only call
- 	simplify_and_const_int if the mode is no wider than HOST_WIDE_INT
- 	or the constant is positive.
- 
- Mon Jun 14 11:43:41 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Fix typo in rs6000-ibm-aix4 case.
- 	* configure: Regenerate.
- 
- Mon Jun 14 03:55:40 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (rs6000-ibm-aix4.3*, powerpc-ibm-aix4.3*): Do not
- 	require a sub-version #.
- 	* configure: Rebuilt.
- 
- 1999-06-14  Robert Lipe  (robertlipe@usa.net)
- 
- 	* svr4.h (DWARF2_DEBUGGING_INFO): Check for redefinition.
- 
- Mon Jun 14 10:30:52 BST 1999  Nathan Sidwell  <nathan@acm.org>
- 
- 	* c-typeck.c (process_init_element): Detect excess elements in
- 	char array initializer.
- 
- 1999-06-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
- 
- 	* gcc.texi: Mention gcc 2.96 instead of egcs 1.00.
- 
- Sat Jun 12 22:29:48 EDT 1999  Jerry Quinn <jquinn@nortelnetworks.com>
- 
- 	* invoke.texi (Option Summary): Add -fpermissive flag.
- 
- Sat Jun 12 03:40:42 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing with operands
- 	that require PIC code sequences.
- 
- Wed Jun  9 16:29:01 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Add new target: thumb-elf.
- 	* configure: Regenerate.
- 	* config/arm/t-thumb-elf: New file: Makefile fragment for
- 	thumb-elf build.
- 	* config/arm/telf.h: New file: Header file for thumb-elf
- 	build.
- 
- Fri Jun 11 03:17:51 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (libgcc2): Pass MAYBE_USE_COLLECT2 as an argument.
- 	* libgcc2.c (__CTOR_LIST, __DTOR_LIST); Do not provide
- 	initializers is some circumstances.
- 
- 	* fixinc/inclhack.def (endif_label): Add additional selector for
- 	more bogus stuff after #endif statements.
- 	* fixinc/inclhack.sh, fixinc/fixincl.x: Rebuilt.
- 
- Thu Jun 10 20:44:36 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (SET_ASM_OP): Define.
- 
- Thu Jun 10 20:37:57 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* reg-stack.c (stack_reg_life_analysis): Find all the RETURN insns.
- 
- Thu Jun 10 19:23:00 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (TARGET_HARWARD, TARGET_HARVARD): Changed the former to the
- 	latter.
- 
- 	* sh.md (ic_invalidate_line_i): Remove second alternative.
- 
- Thu Jun 10 06:55 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	*fixinc/inclhack.def(sun_auth_proto): We do not know how to
- 	test for the presence of valid prototypes.  Delete bypass expr.
- 	(ioctl_fix_ctrl): Correct the selection expression.
- 	(no_double_slash): Correct quoting rules
- 	*fixinc/fixincl.x: regen
- 	*fixinc/inclhack.sh: regen
- 
- Thu Jun 10 15:08:15 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (struct all_cores): Add ARM920 and ARM920t.
- 
- Wed Jun  9 15:57:57 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.md (movsi_got_internal_mem): Delete.
- 	* rs6000.h (CONDITIONAL_REGISTER_USAGE): Mark PIC_OFFSET_TABLE_REGNUM.
- 	(GOT_TOC_REGNUM): Delete.
- 	(PIC_OFFSET_TABLE_REGNUM): Define.
- 	(FINALIZE_PIC): Disable.
- 	* rs6000.c (rs6000_got_register): New code for fixed pic register.
- 	(rs6000_replace_regno): Delete.
- 	(rs6000_finalize_pic): Likewise.
- 	(output_prolog): Handle PIC_OFFSET_TABLE_REGNUM.
- 
- Wed Jun  9 19:44:26 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (loop_insn_first_p): Don't compare LUIDs when P
- 	is a note; use <= for the compare; advance P while it is
- 	a NOTE.
- 
- Wed Jun  9 13:12:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/inclhack.def (no_double_slash): Fix quoting for test.
- 	* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh; Rebuilt.
- 
- 	* varasm.c (remove_from_pending_weak_list): Verify t->name
- 	is non-NULL before passing it to strcmp.
- 
- Wed Jun  9 06:50 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	*fixinc/inclhack.def(sun_auth_proto): bypass the patch if
- 	the typed arguments are not part of a comment
- 	(ioctl_fix_ctrl): Added a purpose comment
- 	*fixinc/fixincl.x: regenerate
- 	*fixinc/inclhack.sh: regenerate
- 
- Wed Jun  9 22:57:02 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* invoke.texi: Add C4x invocation docs.
- 
- Wed Jun  9 22:34:38 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (TARGET_EXPOSE_LDP, LEGITIMIZE_RELOAD_ADDRESS):
- 	Define new macros.
- 	* config/c4x/c4x.c (c4x_emit_move_sequence, src_operand): Use
- 	TARGET_EXPOSE_LDP.
- 	(c4x_legitimize_reload_address): New function.
- 	* config/c4x/c4x.md: Update docs.
- 
- Wed Jun  9 04:14:48 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixincludes: Avoid removing '.'.
- 	* fixinc/fixinc.svr4: Likewise.
- 	* fixinc/fixinc.winnt: Likewise.
- 	* fixinc/inclhack.tpl: Likewise.
- 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Rebuilt.
- 
- 1999-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/inclhack.def (sun_catmacro): Escape parens in the select
- 	pattern.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuilt.
- 
- Wed Jun  9 03:10:34 1999  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-pragma.c (handle_pragma_token): Handle `#pragma pack()'
- 	correctly.
- 
- Tue Jun  8 13:06:15 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (rs6000-ibm-aix4.[12]*): Change rx6000 to rs6000.
- 	* configure: Regenerate.
- 
- Tue Jun  8 05:47:48 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* optabs.c (expand_cmplxdiv_wide): Use expand_abs to get the absolute
- 	values.
- 
- Mon Jun  7 22:30:37 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/inclhack.def (avoid_bool): Also catch
- 	"typedef [unsigned] int bool".
- 	* fixinc/inclhack.sh, fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
- 
- 	* m68k/x-hp3bsd44: Delete obsolete and incorrect file.
- 	* configure.in (m68k-hp-bsd4.4): No longer use x-hp3bsd44.
- 	* configure: Rebuilt.
- 
- Mon Jun  7 22:05:03 1999  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config/i386/gnu.h: Include <gnu.h> right after <i386/linux.h>,
- 	such that we can override its definitions if necessary.
- 	(CPP_SPEC): New define.  Support processor specific predefines via
- 	%(cpp_cpu).
- 	(CC1_SPEC): New define.  Support processor specific compiler
- 	options via %(cc1_cpu).
- 	(STARTFILE_SPEC): New define.  Use crt0.o instead of crt1.o for
- 	-static.
- 
- 1999-06-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/inclhack.def (math_gcc_ifndefs): Insert whitespace
- 	between sed's -e flag, and the open-quote following it.
- 	* fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
- 
- Mon Jun  7 20:34:20 1999  Robert Lipe <robertlipe@usa.net>
- 			  Jeffrey A Law  (law@cygnus.com)
- 
- 	* varasm.c (assemble_start_function): Remove the function
- 	from the pending weak decls list when we define a function.
- 	(assemble_variable): Similarly for variables.
- 	(weak_finish): Ignore items on the list with a NULL name.
- 	(remove_from_ending_weak_list); New function to "remove" an item
- 	from the pending weak declarations list.
- 
- Mon Jun  7 19:27:07 1999  Jerry Quinn <jquinn@nortelnetworks.com>
- 
- 	* pa.md (fmpyfadd, fmpynfadd, fnegabs): New patterns.
- 
- Mon Jun  7 14:07:39 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* c-lex.c (GETC): Redefine to call getch.
- 	(UNGETC): Redefine to call put_back.
- 	(putback_buffer): New structure type.
- 	(putback): New static structure.
- 	(getch): New function.
- 	(put_back): New function.
- 	(yylex): Replace unused bytes from bad multibyte character.
- 
- Mon Jun  7 13:33:39 1999  Dave Brolley  <brolley@cygnus.com>
- 
- 	* cpplib.c (do_define): Cast `alloca' return value.
- 	(do_include, do_undef, do_pragma): Likewise.
- 	* cpphash.c (dump_definition): Cast `xstrdup' and `alloca' return
- 	values.
- 	* cppfiles.c (initialize_input_buffer): Cast `xmalloc' return values.
- 	* gcc/cppspec.c (lang_specific_driver): Cast xmalloc return value.
- 
- Sun Jun  6 11:58:34 1999  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* sparc.md (abstf2): This should be an expand.
- 	(split after abstf2_notv9): Fix mode.
- 	(abstf2_hq_v9): New pattern.
- 	(abstf2_v9): Only use when no hard quad.
- 	(absdf2_v9): Fix if target is not the same as source.
- 	(ashrsi3_extend, ashrsi3_extend2, lshrsi3_extend, lshrsi3_extend2):
- 	Add correct output constraints.
- 
- Sat Jun  5 17:04:16 1999  Craig Burley  <craig@jcb-sc.com>
- 
- 	From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
- 	* invoke.texi: Clarify text vis-a-vis Intel CPUs.
- 
- Sat Jun  5 12:11:24 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* mips.h (mips_output_conditional_branch): New function.
- 	(mips_adjust_insn_length): Likewise.
- 	(ASSEMBLER_SCRATCH_REGNUM): New macro.
- 	(ADJUST_INSN_LENGTH): Likewise.
- 	* mips.c (print_operand): Add `F' and `W' for floating-point
- 	comparison opcodes.
- 	(machine_dependent_reorg): Adjust MIPS16 code; instruction-lengths
- 	are now in bytes.
- 	(mips_adjust_insn_length): New function.
- 	(mips_output_conditional_branch): New function.
- 	* mips.md (length): Adjust attribute definition to handle
- 	conditional branches.  Change lengths to bytes, rather than
- 	instructions throughout.  Remove length attribute from
- 	instructions whose length is four bytes, and rely on the default
- 	instead.
- 	(dslot): Fix typo in comment.
- 	Reword conditional branch patterns to use
- 	mips_output_conditional_branch.
- 
- Fri Jun  4 13:30:27 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* alpha/osf.h (CPP_SUBTARGET_SPEC): Handle -threads.
- 	(LIB_SPEC): Likewise.
- 	Link with -lprof1_r for -g/-pg.
- 
- 1999-06-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* loop.c (check_dbra_loop): Fix change of Jan 19.
- 
- Fri Jun  4 00:12:40 1999  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* freebsd-elf.h (SWITCH_TAKES_ARG):  Redefine, not define.
- 	(STARTFILE_SPEC):  Define, override the svr4.h version.
- 	(ENDFILE_SPEC):  Likewise.
- 
- Thu Jun  3 23:58:55 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* fixinc/inclhack.def (limits_ifndefs): Also apply to sys/limits.h
- 	* fixinc/fixincl.x: Regenerated.
- 	* fixinc/inclhack.sh: Regenerated.
- 
- Fri Jun  4 05:42:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (barrier_align): Don't return early for normal branch/barrier
- 	when optimizing for SH2.
- 
- Thu Jun  3 22:27:50 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* i386/udk.h (LINK_SPEC): Correct linker search path for
- 	system libraries.
- 
- Fri Jun  4 03:20:40 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (fixup_addr_diff_vecs): Emit braf reference label.
- 	(braf_label_ref_operand): Delete.
- 	* sh.h (PREDICATE_CODES): Remove braf_label_ref_operand.
- 	* sh.md (casesi_jump_2): Operand1 is now the inside of a
- 	label_ref, and has no predicate.
- 	The pattern has a predicate to guard against invalid substitutions.
- 	(dummy_jump): Delete.
- 	(casesi): Update use of casesi_jump_2.
- 
- Thu Jun 3 07:48 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	*fixinc/inclhack.def(Io_Def_Quotes): corrected sed expression
- 	*fixinc/fixincl.x: regenerate
- 	*fixinc/inclhack.sh: regenerate
- 
- Thu Jun  3 02:15:07 1999  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* dwarf2out.c (add_incomplete_type): New fn.
- 	(gen_struct_or_union_type_die): Call it.
- 	(retry_incomplete_types): New fn.
- 	(dwarf2out_finish): Call it.
- 
- Thu Jun  3 01:19:03 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (insert_insn_end_bb): Correct placement of insns when the
- 	current block starts with a CODE_LABEL and ends with a CALL and
- 	we can not find all the argument setup instructions for the CALL.
- 
- Wed Jun  2 15:44:15 1999  Mark Mitchell <mark@codesourcery.com>
- 
- 	Revert this change:
- 	* fold-const.c (fold): STRIP_NOPS when deciding whether or not
- 	something is a candidate for optimize_bit_field_compare.
- 
- Wed Jun  2 21:53:05 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (CONST_OK_FOR_I, CONST_OK_FOR_L): Cast VALUE to HOST_WIDE_INT.
- 
- Wed Jun  2 12:25:55 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (override_options): Thinko in last patch.
- 
- 	* alpha/osf.h (CPP_SUBTARGET_SPEC): Define.
- 	(LIB_SPEC): Recognize -pthread.
- 
- Wed Jun  2 08:42:55 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/tcoff.h (USER_LABEL_PREFIX): Synchronize with
- 	definition in config/arm/coff.h
- 	* config/arm/coff.h: Add comment about USER_LABEL_PREFIX.
- 
- Wed Jun  2 07:07 1999 Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/fixincl.c(global def): Add FD_SHELL_SCRIPT to mark
- 	fixes that need "file=xxx\n" prepended before invocation
- 	(start_fixer - new): starting the fixer process is complex enough
- 	to warrent its own routine.  It prepends the "file=xxx\n" stuff.
- 	(process): uses the new routine; omit usage of putenv()
- 	* fixinc/fixincl.tpl: mark shell scripts with FD_SHELL_SCRIPT
- 	* fixinc/fixincl.x: regenerate
- 
- Wed Jun  2 02:29:07 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* README, configure.in, gcc.1, gcc.texi: Update name (egcs -> gcc)
- 	and version #s (1.1 -> 2.96) as needed.
- 	* README.g77: Kill way out of date file in the toplevel directory.
- 
- Wed Jun  2 00:52:34 1999  David O'Brien <obrien@FreeBSD.org>
- 
- 	* configure.in (i[34567]86-*-freebsdelf): Don't include linux.h,
- 	i386/freebsd-elf.h no longer requires it.  Instead include svr4.h.
- 	* configure: Rebuilt.
- 	* i386/freebsd-elf.h (DEFAULT_VTABLE_THUNKS): Define.
- 	(ASM_COMMENT_START, ASM_APP_ON, ASM_APP_OFF, SET_ASM_OP): Likewise.
- 	(PREFERRED_DEBUGGING_TYPE, WCHAR_UNSIGNED): Likewise.
- 	(SWITCH_TAKES_ARG): Likewise.
- 	* i386/freebsd.h: Remove FREEBSD_NATIVE support.
- 	* config/t-freebsd: Moved from config/i386/ so it can used for all
- 	FreeBSD targets.
- 
- Mon May 31 02:22:55 1999  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* m68k/x-mot3300 (XCFLAGS): Fixed to match stb.o, not f/stb.o.
- 
- Wed Jun  2 00:08:34 1999  Robert Lipe  <robertlipe@usa.net>
- 
- 	* configure.in (i[34567]86-*-udk*): Install headers with cpio.
- 	* configure: Rebuilt.
- 
- Tue Jun  1 19:06:22 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/aix41.h (RS6000_CALL_GLUE): Define.
- 	* rs6000/aix43.h (RS6000_CALL_GLUE): Likewise.
- 	* rs6000/rs6000.c (rs6000_file_start): Use putc.
- 	(rs6000_output_load_toc_table): Same.
- 	(output_prolog, output_mi_thunk): Same.
- 	* rs6000/rs6000.h (SELECT_SECTION): Formatting.
- 	(ASM_GLOBALIZE_LABEL): Use putc.
- 
- Mon May 31 15:23:23 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (reload_*_help): New patterns and splitters.
- 	(reload_*): Use them.
- 	(mov[qh]i): Likewise.
- 
- Mon May 31 11:48:07 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cccp.c (handle_directive): Handle backslash-newlines in quoted
- 	strings correctly.
- 
- Mon May 31 09:36:11 1999  Cort Dougan  <cort@cs.nmt.edu>
- 
- 	* rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
- 
- Mon May 31 11:40:20 EDT 1999  John Wehle  (john@feith.com)
- 
- 	* flow.c (mark_regs_live_at_end, insn_dead_p,
- 	mark_set_1, mark_used_regs): Only give FRAME_POINTER_REGNUM
- 	and HARD_FRAME_POINTER_REGNUM special treatment if reload
- 	hasn't run or the frame pointer is needed.
- 	* haifa-sched.c (attach_deaths): Likewise.
- 	* sched.c (attach_deaths): Likewise.
- 
- Mon May 31 00:46:17 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (jump_optimize_1): Only set CAN_REACH_END if
- 	calculate_can_reach_end returns nonzero.
- 
- 	* configure.in (native gas tests): Search for an assembler in the
- 	same manner that the installed compiler will.
- 	* configure: Rebuilt.
- 	* tm.texi (MD_EXEC_PREFIX): Note need to update configure.in too.
- 
- 	* alias.c (find_base_term): Improve handling of addresses
- 	constructed from binary operations.
- 
- Sun May 30 14:29:17 1999  Eric Raskin (ehr@listworks.com)
- 
- 	* dgux.h (STARTFILE_SPEC): Fix incorrectly matched curly-braces.
- 
- Sun May 30 14:19:13 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.h (cleanup_label, frame_offset): Declare.
- 	(tail_recursion_label, tail_recursion_reentry): Likewise.
- 	(arg_pointer_save_area, rtl_expr_chain): Likewise.
- 	* stmt.c (cleanup_label, frame_offset): Delete extern declarations.
- 	(tail_recursion_label, tail_recursion_reentry): Likewise.
- 	(arg_pointer_save_area, rtl_expr_chain): Likewise.
- 
- Sat May 29 19:08:10 1999  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/aout.h (ASM_OUTPUT_ALIGN): Only define if not already
- 	defined.
- 	* config/arm/elf.h (ASM_OUTPUT_ALIGN): Define.
- 	(MAX_OFILE_ALIGNMENT): Define.
- 
- Fri May 28 21:40 1999  Robert Lipe <robertlipe@usa.net>
- 
- 	* fixincl.c: Replace local include scheme with #includes of
- 	gansidecl.h and system.h.
- 	* procopen.c:  Likewise.
- 	* server.c:  Likewise.
- 
- Fri May 28 03:47:03 1999  Eric Raskin (ehr@listworks.com)
- 
- 	* i386/t-dgux (EXTRA_PARTS): Add crti.o
- 	(crti.o): Add build rule and dependencies.
- 	* fixinc/fixinc.dgux:  Use modified _int_varargs.h
- 
- Fri May 28 03:41:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/sysv4.h (CC1_SPEC): Add support for -profile
- 	(LIB_LINUX_SPEC): Likewise.
- 	(LIB_LINUX_SPEC): Add support for -pthread
- 	(CPP_OS_LINUX_SPEC): Likewise.
- 	(CPP_SYSV_SPEC): Avoid redefinitions if both -fpic and -fPIC are
- 	specified.
- 
- Thu May 27 13:04:52 1999  H.J. Lu  (hjl@gnu.org)
- 
- 	* i386.c (output_fp_cc0_set): Don't check the JUMP_INSN code for
- 	conditional move.
- 	(notice_update_cc, output_float_compare): Enable TARGET_CMOVE support.
- 	(output_float_compare, output_fp_cc0_set): Fix the FLOAT comparison
- 	for IEEE math and CC_FCOMI.
- 	(put_jump_code): No IEEE if CC_FCOMI is set.
- 
- 1999-05-27  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* fold-const.c (fold_truthop): Make the field reference unsigned
- 	when converting a single bit compare.
- 
- Thu May 27 02:40:48 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (strength_reduce): Don't do biv->giv conversion on constants.
- 
- Thu May 27 02:09:27 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* varasm.c (STRIP_NAME_ENCODING): Remove default definition.
- 	* output.h (STRIP_NAME_ENCODING): Strip '*' like the old varasm
- 	version did.
- 
- 	* reload.c (push_reload): Do not call remove_address_replacements
- 	when presented with identical optional reloads.
- 
- Wed May 26 14:18:05 1999  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (MASK_FIX, TARGET_FIX): New.
- 	(MASK_*): Reorganize constants.
- 	(CPP_AM_FIX_SPEC): New.
- 	(TARGET_SWITCHES): Add FIX.
- 	(EXTRA_SPECS): Likewise.
- 	(CPP_CPU_EV6_SPEC): Use FIX, not CIX.
- 	(SECONDARY_MEMORY_NEEDED): Likewise.
- 	(REGISTER_MOVE_COST): Likewise.
- 	* alpha.c (override_options): Add FIX support.  Always use
- 	ALPHA_TP_PROG for ev6.
- 	* alpha.md (sqrt and mov[sd]i patterns): Use FIX, not CIX.
- 	* alpha/elf.h (ASM_FILE_START): Look at FIX too.
- 	* configure.in (target_cpu_default2) [ev6]: Use FIX, not CIX.
- 
- Wed May 26 09:53:05 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (fold): STRIP_NOPS when deciding whether or not
- 	something is a candidate for optimize_bit_field_compare.
- 
- Wed May 26 09:40:02 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* gcc.texi (Passes): Document branch-shortening.
- 	* invoke.texi (Debugging Options): Document the fact that `-dp'
- 	outputs length information for instructions.
- 
- Wed May 26 08:49:31 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* flow.c: Revert previous delta.
- 
- Wed May 26 06:05:10 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* flow.c (insn_dead_p): Check against frame_pointer_rtx not
- 	FRAME_POINTER_REGNUM.
- 	(mark_set_1): Ditto.
- 	(mark_used_regs): Ditto.
- 
- Wed May 26 02:19:31 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* arm.h (NEED_PLT_GOT): Fix mistake in last change.
- 	(GOT_PCREL): New macro.  Define to 1 if not already defined.
- 	* arm/elf.h (GOT_PCREL): Define to 0.
- 	* arm.c (arm_finalize_pic): Take into account the setting of
- 	GOT_PCREL.
- 
- Tue May 25 14:06:06 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* output.h (STRIP_NAME_ENCODING): Provide default definition.
- 	* dwarf2out.c (ASM_NAME_TO_STRING): Use STRIP_NAME_ENCODING.
- 
- 	* flow.c (mark_set_1): Do not record BLKmode stores as dead
- 	store elimination candidates.
- 
- Tue May 25 08:55:57 1999  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_DOUBLE_INT) : Use 'dword' if
- 	TARGET_GAS.
- 
- Mon May 24 20:30:08 1999  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (rs6000-ibm-aix4.[12]*): Delete use of aix41-gld.h.
- 	Add use of x-aix41-gld.
- 
- Mon May 24 16:44:09 1999  Jakub Jelinek  <jj@ultra.linux.cz>
- 
- 	* sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Define.
- 	(ASM_OUTPUT_DESTRUCTOR): Define.
- 
- Mon May 24 14:35:24 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (strength_reduce): Do not clear NOT_EVERY_ITERATION at the
- 	last CODE_LABEL in a loop if we have previously passed a jump
- 	to the top of the loop.
- 
- Mon May 24 07:56:29 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): Fix blunder made when
- 	applying Philip's patch.
- 
- Mon May 24 01:02:12 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_end_bindings): Ignore any elements of VARS that
- 	are not VAR_DECLs.
- 
- Sun May 23 20:31:16 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (strength_reduce): Grow reg_single_usage as needed.
- 
- Sun May 23 10:13:20 1999  David O'Brien <obrien@FreeBSD.org>
- 
- 	* i386/freebsd-elf.h (LINK_SPEC): Change -static to -Bstatic.
- 	Also remove a useless comment.
- 
- Sun May 23 10:05:23 1999  Jerry Quinn <jquinn@nortelnetworks.com>
- 
- 	* pa.md (negdf2,negsf2):  Use fneg instead of fsub on pa 2.0.
- 
- Sat May 22 21:02:06 1999  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (main): Only generate import or export file and add
- 	to link arguments if non-empty.  Use xmalloc not alloca.
- 	(write_{export,import}_file): Delete.
- 	(write_aix_file): New function.
- 	(locatelib): Use xmalloc not malloc.
- 	(GCC_OK_SYMBOL): Do not check type if aix64.
- 
- Sat May 22 09:35:51 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	Based on patch by Scott Bambrough and Pat Beirne:
- 	* config/arm/arm.c (making_const_table): New variable.
- 	* config/arm/arm.h (making_const_table): Declare.
- 	(OUTPUT_INT_ADDR_CONST): Mark symbols as position independent if
- 	appropriate.
- 	* config/arm/arm.md (consttable_4, consttable_8, consttable_end):
- 	Keep track of when we are building the constant table.
- 
- Sat May 22 09:34:22 1999  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/arm.c (arm_override_options): Fix erroneous warning
- 	message.
- 
- Sat May 22 09:06:33 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (NEED_PLT_GOT): Only define if not already
- 	defined.
- 
- Sat May 22 07:17:05 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* tm.texi (FUNCTION_ARG): Correct description of a stack element
- 	in a PARALLEL.
- 
- Sat May 22 01:27:49 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.h (lang_expand_constant): Guard with #ifdef TREE_CODE.
- 
- Fri May 21 21:19:02 1999  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.c (output_mi_thunk): Enable full support again.
- 
- Fri May 21 20:09:52 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (BRANCH_COST): Define.
- 
- Thu May 20 10:00:42 1999  Stephen L Moshier  <moshier@world.std.com>
- 
- 	* Makefile.in (GCC_FOR_TARGET): Add -I$(build_tooldir)/include.
- 
- Thu May 20 09:58:57 1999  Jan Hubicka <hubicka@freesoft.cz>
- 
- 	* function.c (assign_stack_local): Align stack slot properly.
- 	(assign_outer_stack_local): Likewise.
- 
- Thu May 20 10:38:43 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.h (lang_expand_constant): Declare.
- 	* toplev.c (lang_expand_constant): Define it.
- 	* varasm.c (output_constant): Use it.
- 
- Thu May 20 11:28:53 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* optabs.c (expand_cmplxdiv_straight, expand_cmplxdiv_wide):
- 	Change function definitions to K&R style.
- 
- Thu May 20 08:16:39 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/fixincl.c: We must not ignore SIGCLD now.
- 
- Thu May 20 07:06:39 1999  Alexandre Oliva  <aoliva@acm.org>
- 
- 	* fixinc/Makefile.in(gnu-regex.o): add $(INCLUDES) to compile options
- 	* fixinc/fixincl.c(wait_for_pid): K&R-ify arguments
- 	(several places): omit static initialization
- 	(process): use single fd, since only the read fd is used
- 	* fixinc/gnu-regex.c: define 'const' away, if not supported
- 	* fixinc/procopen.c(several places): omit static initialization
- 	* fixinc/server.c: define 'volitile' away, if not supported
- 
- 1999-05-20  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
- 
- 	* config/dbxcoff.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Use
- 	asm_fprintf and %L to generate the label name.
- 	* config/dbxelf.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
- 	(ASM_OUTPUT_SOURCE_LINE): Correct generation of internal labels.
- 
- Thu May 20 01:40:55 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (can_reverse_comparison_p): Do not abort if the comparison
- 	insn for a conditional jump can not be found.
- 
- Wed May 19 23:58:58 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mips.h (ENCODE_SECTION_INFO): Do not perform GP optimizations
- 	on variables in specific sections other than .sbss and .sdata.
- 
- Wed May 19 03:56:56 1999  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_return): Call start_cleanup_deferral and
- 	end_cleanup_deferral around conditional code.
- 
- Wed May 19 08:40:08 1999  Bruce Korb <ddsinc09@ix.netcom.com>
- 
- 	* fixinc/fixincl.tpl: Avoid depending on ANSI C features for
- 	filename lists.  Utilizes new "krstr" AutoGen function.
- 	* fixinc/fixincl.x: Rebuilt.
- 
- Wed May 19 02:47:11 1999  Jan Hubicka  (hubicka@freesoft.cz)
- 
- 	* i386.c (output_float_compare): Avoid GNU-C extensions.
- 
- Wed May 19 00:34:40 1999  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump to distinguish mainline tree from the
- 	gcc-2.95 branch.
- 
- See ChangeLog.1 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.3 gcc-4.1.0/gcc/ChangeLog.3
*** gcc-4.0.2/gcc/ChangeLog.3	Tue Jun 17 19:03:06 2003
--- gcc-4.1.0/gcc/ChangeLog.3	Thu Jan  1 00:00:00 1970
***************
*** 1,16860 ****
- 2000-06-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (c-common.o): Don't depend on c-tree.h or c-lex.h.
- 	* c-common.c (ridpointers): Declare.
- 	* c-common.h (enum rid): Declare.
- 	(NORID): Likewise.
- 	(ridpointers): Likewise.
- 	* c-lex.c (ridpointers): Don't declare.
- 	(init_lex): Initialize ridpointers.
- 	* c-lex.h (enum rid): Don't declare.
- 	(NORID): Likewise.
- 	(RID_FIRST_MODIFIER): Likewise.
- 	(ridpointers): Likewise.
- 
- 2000-06-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/som.h (ASM_WEAKEN_LABEL): Export weak data symbols so that they
- 	have global scope.
- 
- 2000-06-30  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* invoke.texi (-Wreturn-type): In C++, a missing return type is
- 	always an error.
- 
- 2000-06-30  Catherine Moore  <clm@cygnus.com>
- 
- 	* c-common.c (decl_attributes):  Differentiate between
- 	types and type decls for alignment.
- 
- 2000-06-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpp.texi: Document #pragma GCC dependency
- 	* cppfiles.c (open_include_file): Set date to unknown.
- 	(_cpp_compare_file_date): New function.
- 	(read_include_file): Set file date.
- 	* cpphash.h (struct include_file): Add date member.
- 	(_cpp_compare_file_date): Prototype.
- 	* cpplib.c (parse_include): Add trail parameter. Adjust.
- 	(do_include): Adjust parse_include call.
- 	(do_import): Likewise.
- 	(do_include_next): Likewise.
- 	(gcc_pragmas): Add dependency pragma.
- 	(do_pragma_dependency): New pragma.
- 
- 2000-06-29  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (output_loc_operands): Don't abort on codes that have
- 	no operands.
- 
- 2000-06-29  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS): Return NO_REGS for
- 	a volatile mem and FR_REGS.
- 
- 2000-06-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c: Include c-common.h, not c-lex.h or c-tree.h.
- 	* c-common.h (flag_const_strings): Declare.
- 	(warn_format): Likewise.
- 	(flag_traditional): Likewise.
- 	(flag_isoc99): Likewise.
- 	(warn_parentheses): Likewise.
- 	(warn_conversion): Likewise.
- 	(C_TYPE_OBJECT_P): Likewise.
- 	(C_TYPE_INCOMPLETE_P): Likewise.
- 	(C_TYPE_FUNCTION_P): Likewise.
- 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
- 	(C_EXP_ORIGINAL_CODE): Likewise.
- 	(build_unary_op): Likewise.
- 	(build_binary_op): Likewise.
- 	(lvalue_p): Likewise.
- 	(default_conversion): Likewise.
- 	(common_type): Likewise.
- 	* c-tree.h (C_TYPE_OBJECT_P): Remove.
- 	(C_TYPE_INCOMPLETE_P): Likewise.
- 	(C_TYPE_FUNCTION_P): Likewise.
- 	(C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise.
- 	(C_EXP_ORIGINAL_CODE): Likewise.
- 	(common_type): Likewise.
- 	(default_conversion): Likewise.
- 	(build_binary_op): Likewise.
- 	(build_unary_op): Likewise.
- 	(lvalue_p): Likewise.
- 	(flag_const_strings): Likewise.
- 	(warn_format): Likewise.
- 	(warn_conversion): Likewise.
- 	(flag_traditional): Likewise.
- 	(flag_isoc99): Likewise.
- 	(warn_parentheses): Likewise.
- 
- 2000-06-29  James E. Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/linux.h (LINK_SPEC): Change so.1 to so.2.
- 
- 	* config/ia64/ia64.h (MODES_TIEABLE_P): Only tie if mode class is the
- 	same.  Only tie XFmode with XFmode.
- 
- 2000-06-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-decl.c, timevar.c, tlink.c: Include intl.h.
- 	* Makefile.in: Update deps.
- 
- 2000-06-29  Andrew Haley  <aph@cygnus.com>
- 
- 	* toplev.c (main): On an IA-64, make flag_unwind_tables defauit
- 	to true.
- 
- 2000-06-29  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/ia64/linux.h (JMP_BUF_SIZE): Size is in Pmode units, not
- 	bytes: remove the multiply by 8.
- 
- 2000-06-29  Philipp Thomas  <pthomas@suse.de>
- 
- 	* rtl.c : Revert NLS changes.
- 	* gcc.c : Fix bug in display_help introced by my last changes.
- 
- Wed Jun 28 21:09:33 2000   Raja R Harinath <harinath@cs.umn.edu>
- 
- 	* dbxout.c (dbxout_symbol, case RESULT_DECL, VAR_DECL): Use
- 	DECL_CONTEXT, not DECL_FIELD_CONTEXT.
- 
- 2000-06-29  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* flow.c (flow_depth_first_order_compute): Fix algorithm.
- 
- 2000-06-28  Philipp Thomas  <pthomas@suse.de>
- 
- 	* c-decl.c : Mark strings for translation.
- 	(parmlist_tags_warning): Use distinct messages instead
- 	of conditional expressions.
- 	* diagnostic.c (v_message_with_decl): Mark string for translation.
- 	* gcc.c: Mark messages for translation.
- 	(display_help): Combine messages into one string where necessary.
- 	* mips-tfile: Add intl.h. Mark messages for translation.
- 	* rtl.c (fatal_with_file_and_line): Modify function for NLS. Mark
- 	messages for translation.
- 	* timevar.c: Mark messages for translation.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 
- Wed Jun 28 15:39:26 2000  Donn Terry (donnte@microsoft.com)
- 
- 	* i386-interix.h (STRIP_NAME_ENCODING): Declare _new_name properly.
- 
- 	* alpha/alpha-interix.h: Delete redundant -Asystem(interix),
- 	use -isystem instead of -idirafter.
- 	* i386/i386-interix.h: Likewise.
- 
- 2000-06-28  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (output_loc_operands): Don't support >1 byte output
- 	unless DWARF2_DEBUGGING_INFO is defined.
- 	(ASM_OUTPUT_DWARF_*): Wrap normal output defs with #ifndefs.
- 
- 2000-06-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (summarize_insn): Ignore SCRATCH.
- 
- 2000-06-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplex.c (output_line_command): Output correct #line if a header
- 	is including itself and is not protected against multiple inclusion.
- 
- 2000-06-28  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (open_include_file): If open(2) returns EMFILE or
- 	ENFILE, close all cached file descriptors and try again.
- 	(_cpp_execute_include): Keep a count of the number of times
- 	each header is included.
- 	(close_cached_fd): New function.
- 	* cpphash.h (struct include_file): Rename before to
- 	include_count; all users updated.  Make include_count and sysp
- 	unsigned short.
- 	* cppinit.c (cpp_finish): If -H, report headers that could use
- 	reinclude guards.
- 	(report_missing_guard): New function.
- 
- Wed Jun 28 14:46:58 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (prologue_set_got): Set length_immediate field.
- 	(testqi_ccno_1):  Add missing '@' character.
- 
- 2000-06-27  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Use
- 	DWARF_FRAME_REGNUM.
- 
- 2000-06-27  Andrew Macleod <amacleod@cygnus.com>
- 
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA2): Provide default when no
- 	unsigned macros available.
- 
- 2000-06-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (emit_insn_group_barriers): Special case
- 	epilogue_deallocate_stack.
- 
- 	* config/ia64/ia64.c (ia64_print_operand) [case D]: Emit
- 	completers for UNORDERED and ORDERED as well.
- 	* config/ia64/ia64.md (bunordered, bordered): New.
- 	(sunordered, sordered): New.
- 
- Tue Jun 27 12:14:12 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* genattrtab.c (write_attr_value): Do not abort for CONST_INT operands.
- 	* i386.c (ix86_attr_length_default): Kill.
- 	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
- 	New.
- 	* i386-protos.h (ix86_attr_length_default): Kill
- 	(ix86_attr_length_immediate_default, ix86_attr_length_address_default):
- 	Add prototype
- 	* i386.md (attribute type): Add "test".
- 	(attribute length_prefix): Kill.
- 	(attribute length_opcode): Kill.
- 	(attribute i387, mode, length_immediate, length_address, prefix_data16,
- 	prefix_rep, prefix_0f, modrm): New.
- 	(attribute length): Compute using the new attributes.
- 	(attribute pent_prefix): New.
- 	(attribute pent_pair): Compute using pent_prefix.
- 	(all insn patterns): Set mode,modrm and immediate_length attributes where
- 	needed.
- 	(cmpsi patterns): Compute sizes properly for test instruction.
- 	(movsi, movhi patterns): Compute sizes properly for eax shortcuts.
- 	(movstricthi_xor, movstrictqi_xor): New patterns.
- 	(andsi/andhi): Use splitters to generate xor instructions.
- 	(xorqi_ext_1): New pattern.
- 	(movstricthi->movstricthi_xor peep2): New.
- 
- Tue Jun 27 12:03:03 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (addqi_low_1): Remove.
- 
- 2000-06-27  Philipp Thomas  <pthomas@suse.de>
- 
- 	* 1750a.h: Mark help strings for options/switches for translation.
- 	* a29k.h: Likewise.
- 	* alpha.h: Likewise.
- 	* arm.h: Likewise.
- 	* pe.h: Likewise.
- 	* riscix.h: Likewise.
- 	* c4x.h: Likewise.
- 	* clipper.h: Likewise.
- 	* convex.h: Likewise.
- 	* elxsi.h: Likewise.
- 	* fr30.h: Likewise.
- 	* fx80.h: Likewise.
- 	* h8300.h: Likewise.
- 	* i370.h: Likewise.
- 	* cygwin.h: Likewise.
- 	* dgux.h: Likewise.
- 	* djgpp.h: Likewise.
- 	* i386.h: Likewise.
- 	* osf1elf.h: Likewise.
- 	* osfrose.h: Likewise.
- 	* sco5.h: Likewise.
- 	* win32.h: Likewise.
- 	* i860.h: Likewise.
- 	* paragon.h: Likewise.
- 	* i960.h: Likewise.
- 	* ia64.h: Likewise.
- 	* m32r.h: Likewise.
- 	* mcore.h: Likewise.
- 	* mips.h: Likewise.
- 	* mn10300.h: Likewise.
- 	* ns32k.h: Likewise.
- 	* pdp11.h: Likewise.
- 	* pj.h: Likewise.
- 	* aix.h: Likewise.
- 	* aix41.h: Likewise.
- 	* aix43.h: Likewise.
- 	* beos.h: Likewise.
- 	* rs6000.h: Likewise.
- 	* sysv4.h: Likewise.
- 	* linux.h: Likewise.
- 	* linux64.h: Likewise.
- 	* sp64-elf.h: Likewise.
- 	* sparc.h: Likewise.
- 	* splet.h: Likewise.
- 	* v850.h: Likewise.
- 	* convex.h (TARGET_SWITCHES): Provide descriptions and mark them
- 	for translation.
- 	* sp86x-aout.h: Remove bogus first definition of SUBTARGET_SWITCHES.
- 	Properly document option and mark for translation.
- 	* sp86x-elf.h: Likewise.
- 
- 2000-06-27  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	Add MMX and SSE registers to i386 machine description.
- 	* i386-protos.h (ix86_constant_alignment, ix86_data_alignment,
- 	ix86_local_alignment): Declare.
- 
- 	* i386.h (TARGET_MMX, TARGET_SSE): New.
- 	(FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS,
- 	REG_ALLOC_ORDER, HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
- 	REG_CLASS_NAMES, REG_CLASS_CONTENTS,REG_CLASS_FROM_LETTER,
- 	enum reg_class, HI_REGISTER_NAMES): Added MMX/SSE registers.
- 	(FIRST_SSE_REG, LAST_SSE_REG, SSE_REGNO_P): New.
- 	(FIRST_MMX_REG, LAST_MMX_REG, MMX_REGNO_P, MMX_REG_P): New macros.
- 	(RETURN_IN_MEMORY): Handle MMX/SSE.
- 	(REG_PARM_STACK_SPACE): Added so the first three TImode parameters
- 	also get stack space.
- 	(MUST_PASS_IN_STACK): Added TImode to the default definition.
- 	(CUMULATIVE_ARGS): Added sse_nregs, sse_regno and sse_words.
- 	(MMX_REGISTER_NAMES): New.
- 	(ALIGN_MODE_128): New macro.
- 	(CONSTANT_ALIGNMENT): Code moved out-of-line; just call the function.
- 	(DATA_ALIGNMENT): Likewise.
- 	(LOCAL_ALIGNMENT): Likewise.
- 	(CONDITIONAL_REGISTER_USAGE): Make MMX/SSE regs fixed if not
- 	TARGET_MMX/TARGET_SSE.
- 	(VALID_SSE_REG_MODE, VALID_MMX_REG_MODE): New macros.
- 	(REG_CLASS_FROM_LETTER): 'y' for MMX regs.
- 	(SECONDARY_MEMORY_NEEDED): Be conservative about copying between
- 	SSE/MMX regs and something else.
- 	(CLASS_MAX_NREGS): 1 for SSE and MMX regs.
- 	(REGISTER_MOVE_COST): 10 if trying to move between MMX and SSE regs,
- 	3 if moving between MMX regs and something else.
- 
- 	* i386.c (reg_class): Add SSE_REGS, MMX_REGS.
- 	(regclass_map): Add MMX/SSE registers.
- 	(print_operand): Add code to print XMMWORD as appropriate.
- 	(ix86_split_movdi): Abort for MMX regs.
- 	(init_cumulative_args): Also allow SSE_REGS
- 	(function_arg_advance, function_arg): Likewise
- 	(print_reg): Support 'm'.  Add case for TImode.
- 	(override_options): TARGET_SSE implies TARGET_MMX.
- 	(ix86_constant_alignment, ix86_data_alignment, ix86_local_alignment):
- 	New functions.
- 
- 	* config/i386/unix.h (VALUE_REGNO): VECTOR_MODE values go to
- 	FIRST_SSE_REG.
- 	* config/i386/ptx4-i.h (RETURN_IN_MEMORY): Return MMX values in
- 	memory.
- 	* config/i386/sysv4.h (RETURN_IN_MEMORY): Likewise.
- 	* config/i386/i386elf.h (RETURN_IN_MEMORY): Likewise.
- 
- 2000-06-26  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* ssa.c (struct rename_set_data): Change the name of field
- 	'set_dest' to 'old_reg'.  Add comments.
- 	(struct rename_context): Change the name of 'set_data' to
- 	'new_renames'.  Add new field 'done_renames'.
- 	(create_delayed_rename): New function.
- 	(apply_delayed_renames): New function.
- 	(rename_insn_1): Use the new functions.  Handle CLOBBERS.  Handle
- 	SUBREGs and similar by emitting a move.
- 	(new_registers_for_updates): Delete, functionality moved to
- 	apply_delayed_renames.
- 	(rename_block): Handle moves emitted by rename_insn_1 by putting
- 	them into a SEQUENCE with the original insn.  Add sanity checks
- 	and comments.
- 	(rename_equivalent_regs_in_insn): Don't handle SUBREGs specially.
- 	(rename_equivalent_regs): Expand SEQUENCEs out to individual insns.
- 
- 2000-06-26  Andrew Macleod <amacleod@cygnus.com>
- 	    Jason Merrill <jason@redhat.com>
- 
- 	* dwarf2.h (enum dwarf_call_frame_info): Add
- 	DW_CFA_def_cfa_expression.
- 	* dwarf2out.c (union dw_cfi_oprnd_struct): Add a pointer to a
- 	dw_loc_descr_struct entry.
- 	(struct cfa_loc): New structure to track a CFA location.
- 	(lookup_cfa): Take a cfa_loc parameter instead of a reg and an offset.
- 	(lookup_cfa_1): Take a cfa_loc parameter instead of a reg and an
- 	offset, plus handle DW_CFA_def_cfa_expression.
- 	(def_cfa_1): Use to be dwarf2out_def_cfa, only now it uses a
- 	cfa_loc record.
- 	(dwarf2out_def_cfa): Entry point maintained for compatibility.
- 	(dwarf_cfi_name): Add DW_CFA_def_cfa_expression.
- 	(cfa_reg, cfa_offset): Replace with cfa_loc record 'cfa'.
- 	(cfa_store_reg, cfa_store_offset): Replace with cfa_loc 'cfa_store'.
- 	(initial_return_save, dwarf2out_stack_adjust): Use cfa.reg, not
- 	cfa_reg.
- 	(dwarf2out_frame_debug_expr): Use new cfa_loc records. Recognize rtl
- 	sequences for the new DW_CFA_def_cfa_expression record.
- 	(dwarf2out_frame_debug): Use new variables/fields.A
- 	(output_cfi): Handle DW_CFA_def_cfa_expression.
- 	(output_cfa_loc): New function to generate a CFI record for
- 	DW_CFA_def_cfa_expression.
- 	(get_cfa_from_loc_descr): New function to get a cfa_loc record from
- 	a dw_loc_descr sequeunce.
- 	(build_loc_descr): Build a dw_loc_descr from a cfa_loc record.
- 	(dwarf_stack_op_name, new_loc_descr, add_loc_descr, size_of_loc_descr,
- 	size_of_locs, output_loc_operands, output_loc_sequence): Move into
- 	unwind info section.
- 	* frame.h (frame_state): Add base_offset and indirect fields.
- 	* frame-dwarf2.c (decode_stack_op): New function to interpret a
- 	dw_loc_descr operation.
- 	(execute_cfa_insn): Add support for DW_CFA_def_cfa_expression.
- 	(struct frame_state): Add base offset and indirect fields.
- 	* libgcc2.c (next_stack_level): Support indirect loading for CFA.
- 
- 2000-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): Don't warn about `long long' in C99.
- 	Make warnings about implicit int be pedwarns in C99.  Don't warn
- 	about duplicate type qualifiers in C99.
- 	(start_function): Make warning about implict int return type be a
- 	pedwarn in C99.
- 	* c-lex.c (yylex): Don't warn about `long long' in C99.
- 	* c-typeck.c (c_expand_return): In C99, always pedwarn about
- 	`return' with no value in function returning non-void.
- 
- 2000-06-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (pedwarn_c99): New.
- 	* diagnostic.c (verror, vwarning, vpedwarn): Export.
- 	* toplev.h: Prototype them.
- 
- 2000-06-26  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* c-typeck.c (digest_init): Return error_mark_node node when
- 	TREE_TYPE (init)  == error_mark_node.
- 
- 2000-06-26  Philipp Thomas  <pthomas@suse.de>
- 
- 	* aclocal.m4 (AM_WITH_NLS): Don't set MSGFMT or GMSGFMT to no,
- 	test for msgfmt without path instead.
- 	* configure: Rebuilt.
- 
- 2000-06-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* gengenrtl.c (special_rtx): Fix typo in comment.
- 
- 2000-06-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* mklibgcc.in (LIB2FUNCS): Add missing space.
- 
- 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.h (enum tree_index): Add vector type nodes.
- 	Add accessor macros for them.
- 	(TYPE_REPRESENATION_TYPE): New macro.
- 	* tree.c (build_common_tree_nodes_2): Build these nodes.
- 	(finish_vector_type): New function.
- 	* c-common.c (type_for_mode): Handle vector modes.
- 	* tm.texi (VECTOR_MODE_SUPPORTED_P): Document.
- 
- 	* dbxout.c (dbxout_type): Handle VECTOR_TYPEs.
- 	* dwarf.h (enum dwarf_fundamental_type): Add 128 bit integers.
- 	* dwarf2out.c (lookup_type_die): Handle VECTOR_TYPEs.
- 	(gen_type_die): Likewise.
- 	* dwarfout.c (dwarf_fund_type_name): Handle 128 bit integers.
- 	(fundamental_type_code): Likewise.
- 	(type_is_fundamental): VECTOR_TYPEs aren't.
- 	(output_type): Handle VECTOR_TYPEs.
- 
- 2000-06-25  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/arm.c: Fix a comment typo.
- 	* config/arm.h: Likewise.
- 
- 2000-06-25  Philipp Thomas  <pthomas@suse.de>
- 
- 	* aclocal.m4 (AM_WITH_NLS): Set create_catalogs=no if no catalog
- 	compiler found.
- 	AM_GNU_GETTEXT: Don't set CATALOGS if create_catalogs=no.
- 	* configure: Rebuilt.
- 
- 2000-06-25  John David Anglin  <dave.anglin@nrc.ca>
- 
- 	* config/vax/vax.h (TARGET_SWITCHES): Provide descriptions.
- 
- 2000-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2FUNCS when generating
- 	libgcc.a.
- 
- 2000-06-24  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* collect2.c (resolve_lib_name): Move '/' check out of loop.
- 
- 2000-06-24  Dirk Duellmann  <Dirk.Duellmann@cern.ch>
- 
- 	* ginclude/stddef.h (NULL): define for non-gnu C++ parsers as 0.
- 
- 2000-06-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stmt.c (expand_decl_cleanup): Emit a dummy insn after
- 	last_unconditional_cleanup.
- 
- 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* tree.def (VECTOR_TYPE): New node type.
- 	* tree.h: Adjust some comments to reflect addition of vector types.
- 	(TYPE_VECTOR_SUBPARTS): New macro.
- 	* stor-layout.c (layout_type): Handle VECTOR_TYPE.
- 	* c-convert.c (convert): Likewise.
- 	* convert.c (convert_to_integer): Handle vector modes.
- 	(convert_to_vector): New function.
- 	* convert.h (convert_to_vector): Declare.
- 	* expr.c (convert_move): Handle vector modes.
- 	* expmed.c (extract_bit_field): Don't abort for vector modes.
- 
- 2000-06-24  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr-protos.h (avr_hard_regno_mode_ok): New prototype.
- 	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr):
- 	New functions, common code moved from function_{prologue,epilogue}
- 	and extended to support the -mtiny-stack option.
- 	(function_prologue, function_epilogue): Use them.
- 	Use lo8/hi8 consistently for asm output readability.
- 	(avr_hard_regno_mode_ok): New function.
- 	* config/avr/avr.h (TARGET_SWITCHES): Fix typo.  Add -mtiny-stack.
- 	(UNITS_PER_WORD): Define as 4 (not 1) when compiling libgcc2.c.
- 	(HARD_REGNO_MODE_OK): Call the avr_hard_regno_mode_ok function.
- 	* config/avr/avr.md (*mov_sp_r): Add support for -mtiny-stack.
- 	Write SPH before SPL.
- 	(*movqi): No need to disable interrupts for just one "out"
- 	in alternative 5.  Change length attribute from 4 to 1.
- 	* config/avr/libgcc.S (__prologue_saves__, __epilogue_restores__):
- 	Write SPH before SPL.
- 
- 2000-06-24  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* rtl.texi (Vector Operations): New node.
- 	(Arithmetic): Add ss_plus, us_plus, ss_minus, us_minus.
- 	(Conversions): Add ss_truncate, us_truncate.
- 	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_REORDER,
- 	VEC_CONST, VEC_DUPLICATE, SS_PLUS, SS_MINUS, SS_TRUNCATE,
- 	US_TRUNCATE): New rtx codes.
- 	* machmode.def: Add vector modes.
- 	* machmode.h (enum mode_class): Add MODE_VECTOR_INT and
- 	MODE_VECTOR_FLOAT.
- 	(INTEGER_MODE_P): Check for MODE_VECTOR_INT.
- 	(FLOAT_MODE_P): Check for MODE_VECTOR_FLOAT.
- 	(VECTOR_MODE_P): New.
- 
- 2000-06-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpp.texi: Clarify #pragma GCC namespace.
- 
- 2000-06-24  Philipp Thomas  <pthomas@suse.de>
- 
- 	* aclocal.m4(AM_GNU_GETTEXT): If LINGUAS isn't set, build
- 	all catalogs specified in ALL_LINGUAS.
- 	* configure: Rebuilt.
- 
- 2000-06-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (reload_outdi+1): Handle
- 	HOST_BITS_PER_WIDE_INT == 64 case correctly.
- 	(adddi3_insn_sp32+1, adddi3_insn_sp32+2, andsi3+2): Likewise.
- 
- 2000-06-23  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* alias.c (fixed_scalar_and_varying_struct_p): Don't examine
- 	struct vs. scalar-ness when -fno-strict-aliasing.
- 
- 2000-06-23  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpplib.c (struct pragma_entry): New structure.
- 	(pragma_dispatch): Pragma dispatcher.
- 	(top_pragmas, gcc_pragmas): New static variables.
- 	(do_pragma): Use pragma_dispatch.
- 	(do_pragma_gcc): New pragma handler.
- 	* cpp.texi: Update.
- 
- 2000-06-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* calls.c (compute_argument_addresses): Force stack slots into
- 	alias set 0.
- 	* expr.c (emit_push_insn): Force pushes into alias set 0.
- 
- 2000-06-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (pred_rel_mutex): Only take one register.
- 	* config/ia64/ia64.c (emit_predicate_relation_info): Adjust to match.
- 
- 2000-06-22  Jason Merrill  <jason@redhat.com>
- 
- 	* toplev.c (compile_file): Always call timevar_print.
- 	* Makefile.in (calls.o): Depend on TIMEVAR_H.
- 
- 2000-06-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* varasm.c (constant_descriptor): Make contents unsigned char.
- 	(mark_const_hash_entry): Adjust.
- 	(const_hash): Just hash the code of unknown nodes.
- 	(compare_constant_1): Adjust for unsigned char.
- 	Use language specific expander on unknown nodes.
- 	(record_constant_1): Likewise.
- 
- 2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (cpp_make_system_header): New function.
- 	* cpplib.h: Prototype it.
- 	* cpplib.c (do_line, do_pragma_system_header): Use it.
- 	* fix-header.c (read_scan_file): Use it.
- 
- 	* fix-header.c (check_macro_names): Cast second arg of
- 	cpp_defined to const unsigned char *.
- 	(read_scan_file): Make getchar_call const unsigned char.
- 
- 2000-06-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c: Include splay-tree.h, not hashtab.h.
- 	(redundant_include_p, make_IHASH, hash_IHASH, eq_IHASH): Delete.
- 	(destroy_include_file_node): New.
- 	(_cpp_init_include_hash): Rename _cpp_init_include_table.
- 	Create a splay tree, not a hash table.
- 	(open_include_file): Look up the path in the include table,
- 	do the multiple include optimization here, etc.
- 	(cpp_included): Walk the path.
- 	(find_include_file): Just walk the path calling
- 	open_include_file, or call it directly for an absolute path.
- 	(_cpp_fake_ihash): Rename _cpp_fake_include and update for new
- 	scheme.
- 	(read_include_file): Update for new scheme.  Don't close the
- 	file unless reading fails.
- 	(_cpp_execute_include, cpp_read_file): Tweak for new scheme.
- 
- 	* cpphash.h (struct ihash, NEVER_REINCLUDE): Delete.
- 	(struct include_file): New.
- 	(NEVER_REREAD, DO_NOT_REREAD, CPP_IN_SYSTEM_HEADER): New
- 	macros.
- 	(CPP_PEDANTIC, CPP_WTRADITIONAL): Update.
- 	Update prototypes.
- 
- 	* cppinit.c: Include splay-tree.h.
- 	(cpp_reader_init, cpp_cleanup): Update.
- 
- 	* cpplib.h (struct cpp_buffer): Change ihash field to
- 	'struct include_file *inc'.  Remove system_header_p.
- 	(struct cpp_reader): Change all_include_files to a
- 	struct splay_tree_s *.
- 
- 	* cpplex.c: Update all references to cpp_buffer->ihash and/or
- 	cpp_buffer->system_header_p.
- 	(cpp_pop_buffer): Close file here, only if DO_NOT_REREAD.
- 
- 	* Makefile.in (SPLAY_TREE_H): New macro.
- 	(cppfiles.o, cppinit.o): Update dependencies.
- 
- Wed Jun 21 11:05:48 2000  Martin Buchholz <martin@xemacs.org>
- 
- 	* invoke.texi (g++): "g++" is not a script anymore.
- 
- 2000-06-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* function.c (round_down): Delete obsolete prototype.
- 
- 	* pa.h (CPP_SPEC): Add whitespace after -D__STDC_EXT__.
- 
- 2000-06-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in: Use 'test a = b' not 'test a == b'.
- 	* configure: Regen.
- 
- 	* Makefile.in (fix-header): Link with $(LIBS) not $(HOST_LIBS).
- 
- 	* Makefile.in: Remove all references to HOST_INTLLIBS.
- 
- 	* cpplex.c (parse_name): Don't warn about $ in identifiers if
- 	skipping.
- 
- 2000-06-20  Philipp Thomas  <pthomas@suse.de>
- 
- 	* config/pa/pa.h(TARGET_SWITCHES): Require binutils 2.10 or later
- 	for PA 2.0.
- 
- Mon Jun 19 23:26:40 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* Take REG_INC notes into account.
- 
- 2000-06-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-parse.in (undeclared_variable_notice): Moved to c-typeck.c.
- 	(primary: IDENTIFIER): Just call build_external_ref.
- 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
- 	Regenerate.
- 	* c-lex.c (lastiddecl): Remove.
- 	(yylex): Replace all instances of lastiddecl with local
- 	variables.
- 
- 	* c-typeck.c (build_external_ref): New function.  Treat decls
- 	with C_DECL_ANTICIPATED mostly the same as nonexistent decls.
- 	Look up the decl from the id here.  Call lookup_objc_ivar.
- 	* c-lang.c (lookup_objc_ivar): Stub.
- 	* objc/objc-act.c (lookup_objc_ivar): New function.
- 
- 	* c-tree.h: Prototype lookup_objc_ivar and build_external_ref.
- 	* c-lex.h: Don't declare lastiddecl.
- 
- 2000-06-19  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* c-common.h (IF_COND): Added documentation.
- 	(THEN_CLAUSE): Likewise.
- 	(ELSE_CLAUSE): Likewise.
- 	(WHILE_COND): Likewise.
- 	(WHILE_BODY): Likewise.
- 	(DO_COND): Likewise.
- 	(DO_BODY): Likewise.
- 	(RETURN_EXPR): Likewise.
- 	(EXPR_STMT_EXPR): Likewise.
- 	(FOR_INIT_STMT): Likewise.
- 	(FOR_COND): Likewise.
- 	(FOR_EXPR): Likewise.
- 	(FOR_BODY): Likewise.
- 	(SWITCH_COND): Likewise.
- 	(SWITCH_BODY): Likewise.
- 	(CASE_LOW): Likewise.
- 	(CASE_HIGH): Likewise.
- 	(GOTO_DESTINATION): Likewise.
- 	(COMPOUND_BODY): Likewise.
- 	(ASM_CV_QUAL): Likewise.
- 	(ASM_STRING): Likewise.
- 	(ASM_OUTPUTS): Likewise.
- 	(ASM_INPUTS): Likewise.
- 	(ASM_CLOBBERS): Likewise.
- 	(DECL_STMT_DECL): Likewise.
- 	(STMT_EXPR_STMT): Likewise.
- 	(LABEL_STMT_LABEL): Likewise.
- 
- 	* c-common.def: Added documenetion for SRCLOC, EXPR_STMT,
- 	COMPOUND_STMT, DECL_STMT, IF_STMT, FOR_STMT, WHILE_STMT, DO_STMT,
- 	RETURN_STMT, BREAK_STMT, CONTINUE_STMT, SWITCH_STMT, GOTO_STMT,
- 	LABEL_STMT, ASM_STMT, SCOPE_STMT, CASE_LABEL, STMT_EXPR.
- 
- 2000-06-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (--enable-checking): Update --help doc to reflect
- 	new defaults.  Ensure $ac_save_IFS is set before $IFS is changed.
- 
- Sun Jun 18 21:42:15 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c (insert_insn_end_bb): Always put after NOTE_INSN_BASIC_BLOCK.
- 
- 	* function.c (put_var_into_stack): Don't reference DECL_ fields
- 	if input is a SAVE_EXPR.
- 	Use set_mem_attributes in COMPLEX case.
- 
- 2000-06-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h (process_for_unwind_directive): Declare.
- 	(ia64_file_start): Declare.
- 	* config/ia64/ia64.h (ADDL_REGNO_P): Don't compare unsigned against 0.
- 	(GR_REGNO_P): Likewise.
- 	* config/ia64/ia64.c: Many prototypes.
- 	(ia64_reg_numbers): Constify.
- 	(ia64_input_reg_names, ia64_local_reg_names): Likewise.
- 	(ia64_section_threshold): Make unsigned.
- 	(ia64_print_operand): Constify.
- 	(fix_range): Constify.
- 	(ia64_init_builtins): Don't compare signed vs unsigned.
- 	(ia64_expand_builtin): Likewise.
- 
- 	* config/ia64/ia64.h (EXTRA_CONSTRAINT): New.
- 	(CONSTRAINT_OK_FOR_Q): New.
- 	* config/ia64/ia64.md (movdi_internal): Use Q for fp<->mem.
- 	(movsf_internal, movdf_internal): Likewise.
- 	(cmovdi_internal): Rewrite so that constraints and predicates match;
- 	simplify splitters.
- 	(cmovsi_internal): Likewise.
- 
- 	* config/ia64/ia64.h (ASM_SPEC): Add -x for gas.
- 	(ASM_FILE_START): New.
- 	* config/ia64/ia64.c (ia64_file_start): New.
- 	(rtx_needs_barrier): Handle pred.rel.mutex.
- 	(emit_predicate_relation_info): New.
- 	* config/ia64/ia64.md (pred_rel_mutex): New.
- 	* config/ia64/linux.h (ASM_SPEC): Define.
- 	* config/ia64/sysv4.h (ASM_FILE_START): Define.
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Fix thinko
- 	filtering global register variables.
- 
- 2000-06-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (add_c_tree_codes): Fix definition for traditional C.
- 
- 2000-06-17  Michael Meissner  <meissner@redhat.com>
- 
- 	* gcc.c (do_spec_1, '%v3' case): Do not abort if patch level is
- 	not present and there is a field after a '-'.
- 
- 2000-06-17  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/check.tpl:  finish the implementation of multiple tests
- 	for a single fix
- 	* fixinc/inclhack.def(ctrl_quotes_def): add a second test
- 	(io_quotes_def): add a second test
- 	(various): reorder `files' so that "limits.h" is never first
- 	* fixinc/tests/base/*: update the testing output
- 
- Sat Jun 17 10:33:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcc.texi: Remove reference to stupid.c.
- 
- 2000-06-16  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* c-common.c (c_tree_code_type): New array.
- 	(c_tree_code_length): Likewise.
- 	(c_tree_code_name): Likewise.
- 	(add_c_tree_codes): New function.
- 
- 	* c-common.h (add_c_tree_codes): Declare.
- 	(enum c_tree_code): New enum.
- 
- 	* c-lex.c (init_parse): Added call to add_c_tree_codes.
- 
- 2000-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/inclhack.def (ctrl_quotes_def, io_quotes_def): Modify
- 	select pattern to also match macro defs with only one argument.
- 
- Thu Jun 15 18:56:12 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.md: Create new [right,left] rotate and right shift
- 	patterns to optimize shift by 1 bit for certain ia32 processors.
- 	Update patterns which perform left shifts to optimize shift by
- 	1 bit for certain ia32 processors.
- 	* i386.c (const_int_1_operand): New predicate.
- 	* i386.h (PREDICATE_CODES): Handle const_int_1_operand.
- 	* i386-protos.h (const_int_1_operand): Prototype.
- 
- Wed Jun 14 23:46:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* mips.c (machine_dependent_reorg): Fix braces for nested if.
- 
- 2000-06-14  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (toc_hash_eq): Use CODE_LABEL_NUMBER to compare
- 	LABEL_REFs.
- 
- 2000-06-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* conflict.c (conflict_graph_compute): Don't look for REG_INC.
- 
- 	* config/ia64/ia64.c (ia64_setup_incoming_varargs): Don't emit
- 	auto-inc code.
- 
- 	* print-rtl.c (print_rtx): Emit space before mem alias set.
- 
- 2000-06-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (expand_block_move): Fix typo in earlier change.
- 	(print_operand): Remove unused variables neg and op.
- 	(toc_hash_mark_entry): Fix prototype.
- 
- 2000-06-14  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* c-common.h (IF_COND): Moved here from cp/cp-tree.h.
- 	(THEN_CLAUSE): Likewise.
- 	(ELSE_CLAUSE): Likewise.
- 	(WHILE_COND): Likewise.
- 	(WHILE_BODY): Likewise.
- 	(DO_COND): Likewise.
- 	(DO_BODY): Likewise.
- 	(RETURN_EXPR): Likewise.
- 	(EXPR_STMT_EXPR): Likewise.
- 	(FOR_INIT_STMT): Likewise.
- 	(FOR_COND): Likewise.
- 	(FOR_EXPR): Likewise.
- 	(FOR_BODY): Likewise.
- 	(SWITCH_COND): Likewise.
- 	(SWITCH_BODY): Likewise.
- 	(CASE_LOW): Likewise.
- 	(CASE_HIGH): Likewise.
- 	(GOTO_DESTINATION): Likewise.
- 	(COMPOUND_BODY): Likewise.
- 	(ASM_CV_QUAL): Likewise.
- 	(ASM_STRING): Likewise.
- 	(ASM_OUTPUTS): Likewise.
- 	(ASM_INPUTS): Likewise.
- 	(ASM_CLOBBERS): Likewise.
- 	(DECL_STMT_DECL): Likewise.
- 	(STMT_EXPR_STMT): Likewise.
- 	(LABEL_STMT_LABEL): Likewise.
- 	(SCOPE_BEGIN_P): Likewise.
- 	(SCOPE_END_P): Likewise.
- 	(SCOPE_STMT_BLOCK): Likewise.
- 	(SCOPE_NULLIFIED_P): Likewise.
- 	(SCOPE_NO_CLEANUPS_P): Likewise.
- 	(SCOPE_PARTIAL_P): Likewise.
- 	(ASM_VOLATILE_P): Likewise.
- 	(STMT_LINENO): Likewise.
- 	(STMT_LINENO_FOR_FN_P): Likewise.
- 
- 	* c-common.def: New file. Added SRCLOC, SIZEOF_EXPR, ARROW_EXPR,
- 	ALIGNOF_EXPR, EXPR_STMT, COMPOUND_STMT, DECL_STMT, IF_STMT,
- 	FOR_STMT, WHILE_STMT, DO_STMT, RETURN_STMT, BREAK_STMT,
- 	CONTINUE_STMT, SWITCH_STMT, GOTO_STMT, LABEL_STMT, ASM_STMT,
- 	SCOPE_STMT, CASE_LABEL, STMT_EXPR.
- 
- 	* gencheck.c (tree_codes[]): Added '#include "c-common.def"'.
- 
- 2000-06-14  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* gcc.c (main): Quiet compiler warnings.  argv is assumed to be
- 	writable in parts of the GCC code.
- 
- 	* config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Make printf
- 	specification match cast.
- 
- Wed Jun 14 09:25:57 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in: Revert AC_TYPE_GETGROUPS patch from June 13.
- 	* configure, config.in: Rebuilt.
- 	* sys-protos.h: Similarly.
- 
- Wed Jun 14 03:39:58 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* ifcvt.c (EDGE_COMPLEX): Move definition ...
- 	* basic-block.h (EDGE_COMPLEX): ... here.
- 
- 	* loop.c (check_dbra_loop): Specify the register when
- 	generating REG_NONNEG notes and don't generate duplicates.
- 
- 2000-06-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree.h (TYPE_USER_ALIGN, DECL_USER_ALIGN): Define.
- 	(struct tree_type, struct tree_decl): Add user_align member.
- 	* stor-layout.c (layout_decl): Set DECL_USER_ALIGN.
- 	(place_union_field): If BIGGEST_FIELD_ALIGNMENT is defined
- 	and DECL_USER_ALIGN 0, cap alignment to this value.
- 	(place_field): Likewise.
- 	(finalize_type_size): Set TYPE_USER_ALIGN.
- 	(layout_type): Likewise.
- 	(initialize_sizetypes): Likewise.
- 	* c-common.c (decl_attributes): Set TYPE_USER_ALIGN resp.
- 	DECL_USER_ALIGN to 1.
- 	* c-decl.c (duplicate_decls): Set DECL_USER_ALIGN.
- 	(xfer_tag): Set TYPE_USER_ALIGN.
- 	(finish_struct): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
- 	(finish_enum): Likewise.
- 	* stmt.c (expand_decl): Set DECL_USER_ALIGN.
- 	(expand_anon_union_decl): Likewise.
- 	* tree.c (make_node): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
- 	(build_index_type): Set TYPE_USER_ALIGN.
- 	(build_range_type): Likewise.
- 	(build_common_tree_nodes_2): Likewise.
- 	* tm.texi (BIGGEST_FIELD_ALIGNMENT): Document the changed meaning.
- 
- 2000-06-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in: Use --enable-checking=misc,tree,gc by default if
- 	no --enable-checking option is given and for
- 	--enable-checking=yes.
- 	* configure: Rebuilt.
- 
- 2000-06-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* libgcc2.c (ia64_throw_helper): Use __builtin_return_address.
- 	(__throw): Don't pass the address of a label.
- 
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Use
- 	current_function_is_leaf.
- 	(ia64_expand_prologue): Likewise.  Modify return_address_pointer_rtx
- 	instead of reg_names[RETURN_ADDRESS_REGNUM].
- 	(ia64_init_machine_status): Reset return_address_pointer_rtx.
- 	* config/ia64/ia64.h (RETURN_ADDRESS_POINTER_REGNUM): Rename
- 	from RETURN_ADDRESS_REGNUM.  Update all uses.
- 	(RETURN_ADDR_RTX): Use return_address_pointer_rtx; return
- 	zero instead of null on failure.
- 	(ELIMINABLE_REGS): Add ra->b0 elimination.
- 	(CAN_ELIMINATE): Update accordingly.
- 	(INITIAL_ELIMINATION_OFFSET): Likewise.
- 	(REGISTER_NAMES): Use an illegal assembler name for
- 	RETURN_ADDRESS_POINTER_REGNUM.
- 
- 2000-06-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.h (enum reg_class): Remove FR_INT_REGS, FR_FP_REGS,
- 	GR_AND_FR_INT_REGS, GR_AND_FR_FP_REGS.
- 	(REG_CLASS_NAMES): Likewise.
- 	(REG_CLASS_CONTENTS): Likewise.
- 	(FR_FP_REGNO_P, FR_INT_REGNO_P): Remove.
- 	(HARD_REGNO_MODE_OK): Remove references to them.
- 	(REGNO_REG_CLASS): Likewise.
- 	(REG_CLASS_FROM_LETTER): Likewise.
- 	(CLASS_MAX_NREGS): Likewise.
- 	(REGISTER_MOVE_COST): Likewise.
- 	* config/ia64/ia64.c (ia64_secondary_reload_class): Likewise.
- 	* config/ia64/ia64.md (*): Replace "e" constraints with "f".
- 	(movqi_internal): Special case moves from zero.
- 	(movhi_internal, movsi_internal): Likewise.
- 	(movdi_internal): Likewise.  Fill out "f" constraints.
- 	(movsf_internal): Fill out "r" constraints.
- 	(movdf_internal): Likewise.
- 
- 2000-06-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (insn_dead_p): Keep sets to PIC_OFFSET_TABLE_REGNUM
- 	alive before reload.
- 
- 	* haifa-sched.c (struct deps): Add in_post_call_group_p.
- 	(add_dependence): Handle notes between SCHED_GROUP_P insns.
- 	(remove_dependence): Always define.
- 	(set_sched_group_p): New.
- 	(sched_analyze_2): Use it.
- 	(sched_analyze_insn): Don't special-case naked uses.  Look for
- 	and extend in_post_call_group_p.
- 	(sched_analyze): Clear stale SCHED_GROUP_P.  Set in_post_call_group_p.
- 	(init_deps): Clear in_post_call_group_p.
- 
- 2000-06-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (subst): Use CLASS_CANNOT_CHANGE_MODE and
- 	CLASS_CANNOT_CHANGE_MODE_P instead of CLASS_CANNOT_CHANGE_SIZE
- 	and hard-coded tests.
- 	(simplify_set): Likewise.
- 	(gen_lowpart_for_combine): Likewise.
- 	* emit-rtl.c (gen_lowpart_common): Likewise.
- 	* global.c (find_reg): Likewise.
- 	* local-alloc.c (find_free_reg): Likewise.
- 	* recog.c (register_operand): Likewise.
- 	* regclass.c (init_reg_sets_1): Likewise.
- 	(record_operand_costs, regclass): Likewise.
- 	* reload.c (push_reload): Likewise.
- 	* reload1.c (choose_reload_regs): Likewise.
- 	* flow.c (mark_used_regs): Conditionally set REG_CHANGES_MODE.
- 	* local-alloc.c (struct qty): Rename changes_size to changes_mode.
- 	Update all references.
- 	* regs.h (struct reg_info_def): Likewise.
- 	(REG_CHANGES_MODE): Rename from REG_CHANGES_SIZE.
- 	* tm.texi (CLASS_CANNOT_CHANGE_MODE): Document.
- 	(CLASS_CANNOT_CHANGE_MODE_P): Likewise.
- 
- 	* config/alpha/alpha.h (CLASS_CANNOT_CHANGE_MODE): Rename.
- 	(CLASS_CANNOT_CHANGE_MODE_P): New.
- 	* config/mips/mips.h: Likewise.
- 	* config/pa/pa32-regs.h: Likewise.
- 	* config/pa/pa64-regs.h: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE): New.
- 	(CLASS_CANNOT_CHANGE_MODE_P): New.
- 	* config/avr/avr.h (CLASS_CANNOT_CHANGE_SIZE): Remove dead code.
- 	* config/d30v/d30v.h: Likewise.
- 
- 2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* configure.in: Add AC_TYPE_GETGROUPS test.
- 	* sys-protos.h: Use GETGROUPS_T * for second arg of getgroups.
- 	* configure: Rebuilt.
- 	* config.in: Rebuilt.
- 
- 2000-06-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* explow.c (set_mem_attributes): Do nothing for NULL type.
- 
- Tue Jun 13 14:45:10 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/m68k/openbsd.h (ASM_SPEC): pass down options to assembler
- 	correctly.
- 
- 2000-06-13  James E. Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.md (movxf_internal): Add missing "e" to ldf/stf.
- 
- Tue Jun 13 14:05:35 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (gensupport.o): Remove bogus $(HOST_PREFIX) reference.
- 
- 2000-06-13  Philipp Thomas  <pthomas@suse.de>
- 
- 	* configure.in(ALL_LINGUAS): Changed en_UK to en_GB.
- 	* configure: Rebuilt.
- 
- 2000-06-07  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* configure.in:  Adjust FreeBSD bits to match changes to config.guess.
- 	We now default to ELF for the i386, and a.out is the special case.
- 	* configure:  Rebuilt.
- 
- Tue Jun 13 10:05:30 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* final.c (final_scan_insn): Delete notes between cc0 setter and
- 	user when restarting from setter.
- 
- 2000-06-13  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.h (INDEX_TERM_P): Define evaluation order of &&'s in || and
- 	cast to squelch signed/unsigned warnings.
- 
- 2000-06-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (handle_directive): Print non-NUL-terminated string
- 	with %.*s.
- 
- 2000-06-12  Michael Meissner  <meissner@redhat.com>
- 
- 	* ifcvt.c (dead_or_predicable): Don't do conditional execution
- 	path if the machine needs extra support to do conditional
- 	execution.
- 
- Mon Jun 12 17:04:17 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* print-rtl.c (print_rtx, case MEM): Use HOST_WIDE_INT_PRINT_DEC
- 	to print the alias set.
- 	* print-tree.c (print_node, DECL_* nodes and case 't'): Similarly.
- 
- 2000-06-12  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* config/float-vax.h: Add GFLOAT defines.
- 
- Mon Jun  12  9:44:00 2000  Mark Klein  <mklein@dis.com>
- 
- 	* configure.in: Update tm dependencies for MPE.
- 	* configure: Rebuilt.
- 
- 2000-06-12  H.J. Lu  <hjl@gnu.org>
- 
- 	* gengenrtl.c (obstack_alloc_rtx): Correct the allocated size.
- 
- 2000-06-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* aix41.h (SUBTARGET_SWITCHES): Delete threads.
- 	(CPP_SPEC): Change mthreads to pthread.
- 	(LIB_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 	* aix43.h (SUBTARGET_SWITCHES): Delete threads.
- 	(CPP_SPEC): Change mthreads to pthread.
- 	(LIB_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 	* rs6000-protos.h (reg_or_arith_cint_operand): New.
- 	* rs6000.c (reg_or_arith_cint_operand): New.
- 	(num_insns_constant_wide): Decorate unsigned constant.
- 	* rs6000.h (PREDICATE_CODES): Add reg_or_arith_cint_operand.
- 	* rs6000.md (addsi3): Use new predicate.
- 	(subsi3, adddi3, subdi3): Likewise.
- 
- 2000-06-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (lang_get_alias_set): Fix typo.
- 
- 2000-06-12  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* flow.c (mark_used_regs): Revert last change.
- 	(life_analysis): Remove PROP_AUTOINC if running after reload.
- 	(propagate_one_insn): PROP_AUTOINC is always off after reload.
- 
- 2000-06-11  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* flow.c (mark_used_regs): Don't call find_auto_inc after reload
- 	has run.
- 
- 2000-06-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bb-reorder.c (build_scope_forest): Initialize variable
- 	`curr_scope'.
- 
- 	* calls.c (expand_call): Likewise for variables
- 	`save_pending_stack_adjust' and `save_stack_pointer_delta'.
- 
- 	* i386.c (function_arg_advance, function_arg): Cast to avoid
- 	signed/unsigned warnings.
- 
- 	* i386.h (MEMORY_MOVE_COST): Likewise.
- 
- 	* ifcvt.c (cond_exec_process_if_block): Initialize variables
- 	`else_start' and `else_end'.
- 
- 	* libgcc2.h (__eh_alloc, __eh_free): Prototype.
- 
- 	* regrename.c (rr_replace_reg): Initialize variable `dest_subregno'.
- 
- 2000-06-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (libintl.a): Depend on intl.all.
- 
- 2000-06-09  H.J. Lu  (hjl@gnu.org)
- 
- 	* Makefile.in (c-parse.o): Also depend on output.h.
- 
- 2000-06-09  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* mcore-protos.h: discards const warning removal.
- 	* mcore.c: discards const warning removal.
- 
- 2000-06-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/lib1funcs.asm: Declare the machine architecture at
- 	the beginning of the file.
- 
- 2000-06-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* real.h:  Add prototype for ldexp.
- 
- 2000-06-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* ggc-none.c, ggc-simple.c, ggc-page.c (ggc_alloc_obj): Rename
- 	it ggc_alloc, drop second argument, never clear returned memory.
- 	* ggc-common.c (ggc_alloc_string): Use ggc_alloc.
- 	(ggc_alloc_cleared): New.
- 	* ggc.h: Prototype ggc_alloc and ggc_alloc_cleared, not
- 	ggc_alloc_obj.  Remove ggc_alloc macro.
- 	(ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Use ggc_alloc.
- 
- 	* rtl.c (rtvec_alloc): Clear the vector always.
- 	(rtx_alloc): Clear the first word always.  Remove dirty
- 	obstack tricks (this routine is no longer a bottleneck).
- 	* tree.c (make_node): Clear the new node always.
- 	(make_tree_vec): Likewise.
- 	(tree_cons): Clear the common structure always.
- 	(build1): Likewise; also, clear TREE_COMPLEXITY.
- 	* gengenrtl.c: Use puts wherever possible.  Remove extra
- 	newlines.
- 	(gendef): Clear the first word of an RTX in the generator
- 	function, irrespective of ggc_p.  Initialize '0' slots to
- 	NULL.
- 	(genlegend): Don't generate obstack_alloc_rtx routine, just a
- 	thin wrapper macro around obstack_alloc.
- 
- 	* stmt.c (expand_fixup): Use ggc_alloc.
- 	* c-typeck.c (add_pending_init): Use ggc_alloc.
- 	* emit-rtl.c (init_emit_once): Clear CONST_DOUBLE_CHAIN(tem).
- 	* varasm.c (immed_double_const): Set CONST_DOUBLE_MEM(r) to
- 	const0_rtx when it is created.
- 	(immed_real_const_1): Set CONST_DOUBLE_CHAIN(r) to NULL_RTX if
- 	we are not in a function.
- 
- 	* tree.c (tree_class_check_failed): Make second arg an int.
- 	* tree.h: Update prototype.
- 
- 2000-06-09  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* tree.h (VOID_TYPE_P): Don't look at the TYPE_MAIN_VARIANT
- 	of an error_mark_node.
- 
- Fri Jun  9 20:35:13 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (asm_output_section_name): bugfix.
- 
- 2000-06-09  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* timevar.def: Add TV_EXPAND.
- 	* timevar.c (timevar_print): Update timing information.
- 	* calls.c (try_to_integrate): Push to TV_INTEGRATION for inlining.
- 
- 	* stmt.c (expand_return): Check for error_mark_node.
- 
- 2000-06-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Also avoid wrapping auto-build.h with IN_GCC.
- 
- 	* scan-types.sh (VALUE) Wrap use with double quotes to protect
- 	variable against filename expansion when it contains "char *".
- 
- 	* system.h (SSIZE_MAX): Delete backup definition.
- 
- 	* cppfiles.c (read_include_file): Use INTTYPE_MAXIMUM(ssize_t)
- 	instead of SSIZE_MAX.
- 
- 2000-06-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: Check whether gas supports -relax.
- 	* configure, config.in: Rebuilt.
- 	* config/sparc/sparc.h (ASM_RELAX_SPEC): Define.
- 	(EXTRA_SPECS): Add asm_relax.
- 	(ASM_SPEC): Add %(asm_relax).
- 	(TARGET_SWITCHES): Add -mrelax and -mno-relax.
- 	* config/sparc/linux64.h (LINK_ARCH_SPEC): Rename to LINK_SPEC.
- 	(LINK_SPEC): Pass -relax to linker unless -mno-relax or -r.
- 	(ASM_SPEC): Add %(asm_relax).
- 	* config/sparc/linux.h (LINK_SPEC, ASM_SPEC): Likewise.
- 	* config/sparc/sparc.c (output_sibcall): If HAVE_AS_RELAX_OPTION,
- 	never use sethi/jmpl for leaf tail calls.  Use or with rs2 %g0
- 	instead of mov, so that gas can further optimize it.
- 
- 2000-06-08  James E. Wilson  <wilson@bletchleypark.cygnus.com>
- 
- 	* dwarf2out.c (size_of_die, case dw_val_class_const): Use
- 	size_of_sleb128.
- 	(value_format, case dw_val_class_const): Use sdata format.
- 	(output_die): Call output_sleb128.
- 
- 2000-06-08  James E. Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (ASM_OUTPUT_DWARF_DATA8): Add new macro that uses
- 	UNALIGNED_DOUBLE_INT_ASM_OP.  Rename old macro to
- 	ASM_OUTPUT_DWARF_CONST_DOUBLE.
- 	(output_die, case dw_val_class_unsigned_const): Correct call to
- 	ASM_OUTPUT_DWARF_DATA8.
- 	(output_die, case dw_val_class_long_long): Use
- 	ASM_OUTPUT_DWARF_CONST_DOUBLE.
- 	* tree.c (host_integerp): Accept unsigned HOST_WIDE_INT values when
- 	pos is zero.
- 
- 	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Add.
- 	(output_function_prologue): Fix mispelling.
- 	(output_function_prologue, output_function_epilogue): Reorder to
- 	match ia64.c definition order.
- 	* config/ia64/ia64.c (ia64_expand_prologue): Add comment.
- 	(ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on stack restore insns.
- 	Use r3 instead of r2 for large stack restores.
- 	(ia64_output_end_prologue): New function.
- 	(process_set): Emit ".restore sp" for epilogue stack restores.
- 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Define.
- 
- 2000-06-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dbxout.c (dbxout_type_fields): Don't segfault on fields with
- 	incomplete types.
- 
- 2000-06-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* frame.c (end_fde_sort): Remove extraneous erratic array test.
- 
- 2000-06-08  Denis Perchine <dyp@perchine.com>
- 
- 	* frame.c (start_fde_sort): Don't malloc (0).
- 
- 2000-06-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-decl.c (pushdecl): Do not call COMPLETE_TYPE_P on
- 	error_mark_node.
- 	* print-tree.c (print_node): The transparent_union_flag means
- 	different things for unions and arrays.  Do not inspect it
- 	with TYPE_TRANSPARENT_UNION.
- 
- 2000-06-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplib.c (do_ifdef, do_ifndef): Don't segfault if parse_ifdef
- 	returned NULL.
- 
- Wed Jun  7 20:34:33 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (asm_output_section_name): output section
- 	attributes.
- 	* config/avr/libgcc.S (.text.libgcc): declare section attributes.
- 
- 2000-06-06  James E. Wilson  <wilson@cygnus.com>
- 
- 	* frame.h (struct unwind_info_ptr): Collapse version, flags, and length
- 	fields into header field.
- 	(IA64_UNW_HDR_LENGTH, IA64_UNW_HDR_FLAGS, IA64_UNW_HDR_VERSION): New
- 	macros to access length, flags, and version info from header field.
- 	* config/ia64/crtbegin.asm (__do_frame_setup_aux): Delete here.
- 	* config/ia64/crtend.asm (__do_frame_setup_aux): Add here.
- 	(__do_global_ctors_aux): Fix caller.
- 	* config/ia64/frame-ia64.c (get_unwind_record): Change parameter
- 	prologue_flag to header.  Pass to read_P_record.
- 	(read_P_record): New argument header.  Implement P4 format.
- 	Multiply P7_T_SIZE by 16.
- 	(execute_one_ia64_descriptor): New static local region_header.  Pass to
- 	get_unwind_record.  Copy r to region_header if r is a header record.
- 	(print_all_records): Likewise.
- 	(__build_ia64_frame_state): Use IA64_UNW_HDR_LENGTH.
- 	(__get_personality, __get_except_table): Likewise.
- 	* config/ia64/ia64.c (process_set): Do not divide offsets by 4.
- 
- 2000-06-06  Philipp Thomas  <pthomas@suse.de>
- 
- 	* configure.in (AC_C_INLINE): Added.
- 	* aclocal.m4 (AM_WITH_NLS): Enable --with-included-gettext by default.
- 	* configure: Regenerate.
- 
- 2000-06-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (c_language_kind): New type.
- 	(c_language): New variab.e
- 	* c-common.c (lang_get_alias_set): Don't put structures in
- 	nonzero alias sets in C++.
- 	* c-decl.c (c_language): Define it.
- 	* c-lex.c (doing_objc_thang): Remove.
- 	* c-tree.h (doing_objc_thang): Make it a macro.
- 	* objc/objc-act.c (lang_decode_option): Set c_language, not
- 	doing_objc_thang.
- 
- 2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (output_maximum_width): Remove.
- 	(doing_line_wrapping): Tweak.
- 	(diagnostic_buffer): New object.
- 	(global_output_buffer): New object.
- 	(output_destroy_prefix): New function.
- 	(default_initialize_buffer): Likewise.
- 	(reshape_diagnostic_buffer): Likewise.
- 	(initialize_diagnostics): Likewise.
- 	(output_clear): Tweak.
- 	(line_wrapper_printf): Adjust call to init_output_buffer.
- 	(vline_wrapper_message_with_location): Likewise.  Use
- 	output_destroy_prefix.
- 	(v_message_with_decl): Likewise.
- 
- 	* diagnostic.h (struct output_buffer): Constify prefix.
- 	(init_output_buffer, output_get_prefix): Constify.
- 	(diagnostic_message_length_per_line): Likewise.
- 	(reshape_diagnostic_buffer): Declare.
- 	(default_initialize_buffer): Declare.
- 	(initialize_diagnostics): Declare.
- 	(diagnostic_buffer): Declare new obbject.
- 
- 	* toplev.c: #include diagnostic.h
- 	(display_help): Document diagnostic formatting options.
- 	(decode_f_option): Handle diagnostic formatting options.
- 	(main): Setup initialization for diagnostic messages outputter.
- 
- 	* toplev.h (set_message_length): Remove.
- 
- 	* Makefile.in (toplev.o): Depends upon diagnostic.h
- 
- 	* invoke.texi : Document diagnostics formatting options.
- 
- Tue Jun  6 19:25:32 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* configure.in (Make the links): Typo fix : the file that must be
- 	included without #ifdef IN_GCC is `auto-host.h', not `auto-config.h'.
- 	* configure: File rebuilt.
- 
- 2000-06-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* eh-common.h (EH_ALLOC_SIZE, EH_ALLOC_ALIGN): New #defines.
- 	(eh_context): Add alloc_mask and alloc_buffer emergency fallback
- 	space.
- 	* libgcc2.c (__eh_alloc): Moved from cp/exception.cc. Fallback on
- 	emergency eh_context buffer, if malloc fails.
- 	(__eh_free): Moved from cp/exception.cc. Release to emergency
- 	eh_context buffer, if appropriate.
- 
- 2000-06-06  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* expr.c (store_expr): Fix typo.
- 
- 2000-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k.c (legitimize_pic_address): Move prototype ...
- 
- 	* m68k-protos.h (legitimize_pic_address): ... here.
- 
- 	* m68k.md (legitimize_pic_address): Delete prototypes.
- 	(untyped_call): Invoke GEN_CALL(), not gen_call().
- 
- 	* nextstep.c: Include system.h and toplev.h.
- 	(get_directive_line): Don't prototype.
- 	(handle_pragma): Mark parameters with ATTRIBUTE_UNUSED and constify.
- 
- 	* nextstep.h (handle_pragma): Prototype.
- 	(SECTION_FUNCTION): Prototype FUNCTION().  Move prototype of
- 	objc_section_init ...
- 	(EXTRA_SECTION_FUNCTIONS): ... here.
- 
- Tue Jun  6 08:17:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sdbout.c (struct sdb_file): NAME now const.
- 	(sdbout_init): input_file_name now const.
- 	(sdbout_start_new_source_file): FILENAME now const.
- 	* sdbout.c (sdbout_init, sdbout_start_new_source_file): Reflect above.
- 
- 2000-06-06  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* c-typeck.c (build_conditional_expr): Handle complex data types.
- 
- 2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* explow.c (maybe_set_unchanging): New function, broken out from...
- 	(set_mem_attributes): Here.
- 	* expr.h: Declare it.
- 	* stmt.c (expand_decl): Call it.
- 
- 2000-06-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload1.c (choose_reload_regs): Mind CLASS_CANNOT_CHANGE_SIZE
- 	while looking for a register to inherit from.
- 
- 2000-06-05  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* Makefile.in (libgcc.ready): Lose.
- 	(libgcc.mk): Just use mv, not move-if-change.
- 	(LIBGCC_DEPS): New macro.
- 	(libgcc.a): Use it.
- 	(stmp-multilib): Likewise.
- 	* mklibgcc.in (stmp-dirs): New target.  Make everything depend on
- 	it rather than the directories themselves.
- 	(LIB2ADD): Depend on the list file rather than 'force'.
- 
- 	* fold-const.c (fold, case COND_EXPR): Elide conversion between
- 	cv-qualified versions of types.
- 
- Mon Jun  5 14:06:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.c (short_branch): Correct error in range
- 	computation.
- 
- 2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* fixinc/inclhack.def: New include hacks for ultrix.
- 	* (nested_ultrix): Replaced by ultrix_nested_svc.
- 	* (ultrix_atof_param): test_text string added.
- 	* (ultrix_ifdef): Modified select string.
- 
- 2000-06-05  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* objc/objc-act.c (generate_method_descriptors): Register
- 	objc_method_prototype_template as a GC root.
- 	(comp_method_with_proto): Register function_type as a GC root.
- 	(comp_proto_with_proto): Replace function_type1 and
- 	function_type2 with a two-element array; register it as a GC root.
- 
- 	(generate_protocols, build_protocol_initializer,
- 	generate_protocol_list, build_category_initializer,
- 	build_shared_structure_initializer): Do not cache cast_type
- 	and/or cast_type2.
- 
- 2000-06-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* function.c (assign_parms): Add missing argument to set_mem_attributes
- 	call.
- 
- 2000-06-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (VOID_TYPE_P): New macro.
- 	(COMPLETE_OR_VOID_TYPE_P): Use VOID_TYPE_P.
- 	* c-decl.c (grokdeclarator): Use VOID_TYPE_P.
- 	(get_parm_info): Likewise.
- 	(store_parm_decls): Likewise.
- 	(combine_parm_decls): Likewise.
- 	(finish_function): Likewise.
- 	* c-typeck.c (build_function_call): Likewise.
- 	(build_binary_op): Likewise.
- 	(build_conditional_expr): Likewise.
- 	(internal_build_compound_expr): Likewise.
- 	(convert_for_assignment): Likewise.
- 	* stmt.c (expend_expr_stmt): Likewise.
- 	(warn_if_unused_value): Likewise.
- 	(expand_return): Likewise.
- 	* c-parse.in (primary): Likewise.
- 	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
- 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
- 
- Mon Jun  5 06:46:28 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (get_alias_set): If compnent is addressable, use alias
- 	set of component.
- 	* c-decl.c (init_decl_processing): Don't call record_component_aliases.
- 	(grokdeclarator): Likewise.
- 	* c-typeck.c (common_type): Likewise.
- 
- 2000-06-04  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* Makefile.in (OBJS): Remove dyn_string.o
- 	(dyn-string.o): Delete rule.
- 	* dyn-string.c: Delete file
- 	* dyn-string.h: Likewise.
- 
- 2000-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (intl.*): Honor nonzero exit codes in the intl
- 	subdir.
- 
- 2000-06-03  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* alias.c (record_component_aliases): Don't inspect
- 	DECL_NONADDRESSABLE_P of non-FIELD_DECL components of structures.
- 
- Sat Jun  3 19:05:30 2000  Michael Meissner  <meissner@redhat.com>
- 
- 	* ifcvt.c (process_insns): If IFCVT_MODIFY_INSN is defined, call
- 	it with the pattern to do machine dependent work.
- 	(cond_exec_process_if_block): If IFCVT_MODIFY_TESTS is defined,
- 	use it to modify the true/false tests used in conditional
- 	execution.  If IFCVT_MODIFY_FINAL and IFCVT_MODIFY_CANCEL are
- 	defined, invoke them if the conversion to conditional execution
- 	was successful or not.
- 
- 	* tm.texi (IFCVT_MODIFY_TESTS): Document.
- 	(IFCVT_MODIFY_INSN): Ditto.
- 	(IFCVT_MODIFY_FINAL): Ditto.
- 	(IFCVT_MODIFY_CANCEL): Ditto.
- 
- Sat Jun  3 15:26:13 2000  Matt Kraai <kraai@alumni.carnegiemellon.edu>
- 
- 	* toplev.c (main): Fix misspellings of possibility and language.
- 
- 2000-06-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (record_alias_subset): Initialize has_zero_child in the
- 	superset.
- 
- 2000-06-03  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm.md (untyped_call): Use GEN_CALL macro.
- 
- 2000-06-02  Pekka Nikander  <pnr@teldanex.tcm.hut.fi>
- 
- 	* Makefile.in: Use $(MAKE) not "make"
- 
- Fri Jun  2 19:31:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (struct alias_set_entry): New field has_zero_child.
- 	(mem_in_disjoint_alias_sets_p): Return 0 if set in either ase.
- 	(get_alias_set): If language-dependent routine set TYPE_ALIAS_SET,
- 	do nothing.
- 	Call record_component_aliases for aggregate types.
- 	(record_alias_subset): Set has_zero_child.
- 	(record_component_aliases, case ARRAY_TYPE): Do nothing if
- 	TYPE_NONALIASES_COMPONENT.
- 	(record_component_aliases, case RECORD_TYPE): Test
- 	DECL_NONADDRESSABLE_P.
- 	* c-decl.c (grokdeclarator): Set DECL_NONADDRESSABLE_P instead
- 	of TREE_ADDRESSABLE.
- 	* calls.c (initialize_argument_information): Only test
- 	TYPE_TRANSPARENT_UNION for UNION_TYPE.
- 	* function.c (assign_parms): Likewise.
- 	* integrate.c (function_cannot_inline_p): Likewise.
- 	* stor-layout.c (finish_record_layout): Don't call
- 	record_component_aliases.
- 	* tree.h (struct tree_int_cst): Use struct tree_common.
- 	(struct tree_real_cst, struct tree_string): Likewise.
- 	(struct tree_complex, struct tree_identifier): Likewise.
- 	(struct tree_list, struct tree_vec, struct tree_exp): Likewise.
- 	(struct tree_block, struct tree_type, struct tree_decl): Likewise.
- 	(TYPE_TRANSPARENT_UNION): Use UNION_TYPE_CHECK.
- 	(TYPE_NONALIASES_COMPONENT): New macro.
- 	(TYPE_AMBIENT_BOUNDEDNESS): Use FUNCTION_TYPE_CHECK.
- 	(DECL_NONADDRESSABLE_P): New macro.
- 	(struct tree_decl): Reorder bits for clarity of how many left;
- 	add non_adressable.
- 
- 2000-06-02  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* Makefile.in (libgcc.a): Also depend on $(LIB2ADD).
- 	* mklibgcc.in (force): New target.
- 	Make LIB2ADD stuff depend on it.
- 
- 2000-06-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (lang_get_alias_set): Remove.
- 	(get_alias_set): Call it directly, not indirectly.
- 	* c-common.c (lang_get_alias_set): Rename from c_get_alias_set.
- 	* c-common.h (c_get_alias_set): Don't declare.
- 	* c-decl.c (init_decl_processing): Don't set lang_get_alias_set.
- 	* expr.h (lang_get_alias_set): Declare as function, not pointer.
- 
- 2000-06-02  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/server.c(sig_handler):  resume closing server on SIGPIPE
- 	(server_setup):  define the server's master pid
- 	(close_server):  actually do the deed IFF we are the server's master
- 
- 2000-06-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-common.c (c_get_alias_set): Check whether signed_type did not
- 	return its argument before calling get_alias_set on the result.
- 
- 2000-06-02  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* expr.c (emit_group_load): Fix typo, GET_MODE not GET_CODE.
- 
- Fri Jun  2 00:22:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (CPP_SPEC): Add -D__NOMACSAVE__ for -mnomacsave.
- 	(CONDITIONAL_REGISTER_USAGE): Mac registers are call used
- 	for TARGET_NOMACSAVE.
- 	(NOMACSAVE_BIT): Define.
- 	(TARGET_NOMACSAVE): Define.
- 	(TARGET_SWITCHES): Add "nomacsave".
- 
- 2000-06-02  Toshiyasu Morita  <toshi.morita@sega.com>
- 
- 	* sh.md (untyped_call): Remove excess parameters
- 
- 2000-06-01  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* fixinc/inclhack.def (osf_namespace_a): Relax expression to
- 	match that used before the conversion to c_fix style.
- 	* fixinc/fixincl.x: regenerate
- 
- 2000-06-01  Stan Cox  <scox@cygnus.com>
- 
- 	* varray.h (VARRAY_PUSH_GENERIC_PTR, VARRAY_PUSH_CHAR_PTR): Fix
- 	macro argument typo.
- 
- 2000-06-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL.  Improve
- 	error message.
- 	* cpplib.c (parse_include): Remove support for VAX-C
- 	"#include starlet" misfeature.
- 
- 2000-05-31 Laurynas Biveinis <lauras@softhome.net>
- 
- 	* cppfiles.c: conditionally define O_BINARY.
- 	(open_include_file): pass O_BINARY to open().
- 
- 2000-06-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* i960.c (i960_br_predict_opcode): Remove.
- 	(i960_print_operand) [+]: Emit branch prediction hints.
- 	(i960_function_arg): Return early for VOIDmode.
- 	(i960_round_align): Return early for incomplete types.
- 	* i960.h (PRINT_OPERAND_PUNCT_VALID_P): New.
- 	* i960.md (all conditional branches): Add "%+".
- 
- Thu Jun  1 12:24:21 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (get_alias_set): Don't call language-specific routine more
- 	than is needed and clean up code a bit.
- 	* c-common.c (c_get_alias_set): All references whose type
- 	is char get alias set 0, but character types need not.
- 	* varasm.c (make_function_rtl): Don't call set_mem_attributes.
- 	(make_decl_rtl): Don't call it for FUNCTION_DECL.
- 
- 2000-06-01  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/tests/base/...: new base result files
- 
- Thu Jun  1 09:37:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/i386/i386.c (ix86_use_fcomi_compare): Make global.
- 	* config/i386/i386-protos.h (ix86_use_fcomi_compare): Declare.
- 	* config/i386/i386.md (*fp_jcc_3, *fp_jcc_4): Disable if we
- 	will use FCOMI.
- 
- 2000-06-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (c-decl.o): Depend on $(EXPR_H), not expr.h.
- 
- 	* c-decl.c (init_decl_processing): Set lang_get_alias_set first thing.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (sdata_symbolic_operand): Consider small
- 	CONSTANT_POOL_ADDRESS_P addresses for .sdata.
- 	* config/ia64/sysv4.h (SELECT_RTX_SECTION): New.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h (ia64_expand_prediction): Remove.
- 	* config/ia64/ia64.c (ia64_expand_prediction): Move code ...
- 	(ia64_print_operand) [+]: ... here.  Use current_output_insn.
- 	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): New.
- 	* config/ia64/ia64.md (all branch/call patterns): Use %+.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (cond_exec_process_insns): Don't ever ignore clobbers.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (merge_if_block): Be prepared for JOIN to have no
- 	remaining edges.
- 	(find_if_block): Allow THEN with no outgoing edges.
- 	* flow.c (merge_blocks_nomove): Remove a barrier not following
- 	a jump as well.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_block): Move initialization of mem_set_list ...
- 	(init_propagate_block_info): ... here.  Also track blocks with
- 	no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Revert 05-18 change.
- 
- 2000-05-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi: Remove documentation for -fguiding-decls.
- 
- 2000-05-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in: Fix typo last change.
- 
- 2000-05-31  Philipp Thomas  <pthomas@suse.de>
- 
- 	* configure.in (enable-nls): Enable if build == host, i.e. when
- 	not building a canadian cross compiler.
- 	(enable-maintainer-mode): Added for use with i18n.
- 	* aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
- 	cross section of ALL_LINGUAS and LINGUAS.
- 	* configure: Rebuild.
- 
- 2000-05-31  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/check.tpl: rework to use test result tree
- 	* fixinc/Makefile.in: change invocation of check script
- 	* fixinc/check.diff: No longer needed
- 	* fixinc/fixincl.x: regenerate
- 	* fixinc/inclhack.def:  add new tests
- 	* fixinc/tests/base/arch/i960/archI960.h:  New test result
- 	* fixinc/tests/base/curses.h: modified test result
- 	* fixinc/tests/base/stdio.h: ditto
- 	* fixinc/tests/base/time.h: ditto
- 	* fixinc/tests/base/sys/asm.h: ditto
- 	* fixinc/tests/base/sys/stat.h: ditto
- 	* fixinc/tests/base/sys/wait.h: ditto
- 
- Wed May 31 13:17:20 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* except.c (clear_function_eh_region): Do not free NULL.
- 
- Wed May 31 08:07:52 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
- 	* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
- 	(REG_BASE_VALUE): Remove unneeded cast to unsigned.
- 	(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
- 	(find_base_decl): New function, from c_find_base_decl in c-common.c.
- 	(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
- 	(get_alias_set): Likewise.
- 	Major rework to do more things and allow language-specific code
- 	to just handle special-cases.
- 	(record_alias_subset): Args are HOST_WIDE_INT.
- 	(record_component_alias): Local vars are HOST_WIDE_INT.
- 	Don't handle COMPLEX_EXPR.
- 	(get_varargs_alias_set): Moved from builtins.c.
- 	(get_frame_alias_set): New function.
- 	* builtins.c (expand_builtin_return_address): Use frame alias set.
- 	(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
- 	for setjmp buffer.
- 	(get_memory_rtx): Rework to use set_mem_attributes.
- 	(get_varargs_alias_set): Deleted from here.
- 	* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
- 	(c_find_base_decl): Deleted from here.
- 	(c_get_alias_set): Remove many cases and rework to just handle
- 	C-specific cases.
- 	* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
- 	* c-decl.c (rtl.h, expr.h): Now included.
- 	(init_decl_processing): Call record_component_aliases on array types.
- 	(grokdeclarator): Likewise.
- 	Set TREE_ADDRESSABLE for all fields that are not bitfields.
- 	* c-typeck.c (common_type): Call record_component_aliases for array.
- 	* caller-save.c (setup_save_areas): Rework register loop for unsigned.
- 	Set all save areas to the frame alias set.
- 	* calls.c (initialie_argument_information): Call set_mem_attributes.
- 	(compute_argument_addresses, expand_call): Likewise.
- 	* explow.c (set_mem_attributes): New function.
- 	(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
- 	* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
- 	LEN and OFFSET now HOST_WIDE_INT.
- 	(clear_by_pieces): Similar changes.
- 	(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
- 	(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
- 	(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
- 	(clear_by_pieces_1): Likewise.
- 	(emit_push_insn): Call set_mem_attributes.
- 	(expand_expr, case INDIRECT_REF): Likewise.
- 	(expand_expr, case VAR_DECL): Call change_address.
- 	* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
- 	tree_low_cst.
- 	(get_varargs_alias_set, get_frame_alias_set): New decls.
- 	(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
- 	(new_alias_set, set_mem_attributes): Likewse.
- 	* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
- 	(assign_stack_temp_for_type): Likewise.
- 	Can split slot even if alias set since can copy.
- 	Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
- 	(assign_temp): Use host_integerp and tree_low_cst.
- 	(put_var_into_stack): Properly handle SAVE_EXPR.
- 	(put_addressof_into_stack): Likewise.
- 	(assign_parms): Call set_mem_attributes.
- 	Delete #if 0 code.
- 	(fix_lexical_address): Put reference to chain into frame alias set.
- 	(expand_function_start): Call set_mem_attributes.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
- 	* regmove.c (try_apply_stack_adjustment): Likewise.
- 	* reload.c (push_reload, make_memloc): Likewise.
- 	* reload1.c (alter_reg): Make alias sets for spilled pseudos.
- 	* rtl.def (MEM): Update comment.
- 	* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
- 	(move_by_pieces): Change length to HOST_WIDE_INT.
- 	(record_base_value, record_alias_subset): Delete from here.
- 	* stmt.c (expand_decl): Call set_mem_attributes.
- 	* stor-layout.c (finish_record_layout): Call record_component_aliases.i
- 	* toplev.c (compile_file): Call init_alias_once earlier.
- 	* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
- 	from here: now in alias.c.
- 	* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
- 	(struct tree_decl): Likewise.
- 	(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
- 	* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
- 	(output_constant_def, force_const_mem): Likewise.
- 
- 	* flow.c (propagate_block): If block has no successors, stores to
- 	frame are dead if not used.
- 
- 2000-05-31  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* stmt (expand_end_case): Reorder conversion sequence for jump
- 	table to avoid extra truncations.
- 
- Wed May 31 01:31:42 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
- 	in the block is more than just a simple conditional branch.
- 	(noce_process_if_block): Similarly.
- 
- Tue May 30 22:25:57 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
- 	queue.
- 
- 2000-05-30  Michael Meissner  <meissner@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Ignore HIGH
- 	instructions.  Treat LO_SUM operations as loading the full integer
- 	constant.
- 
- 2000-05-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (get_pos_from_mask): Test exact_log2 result as signed.
- 
- 2000-05-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
- 
- 2000-05-30  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/tests/*:  Added expected result files for fixinc's make check
- 	* fixinc/fixfixes(char_macro_*_fix): Restore original algorithm
- 
- 2000-05-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.md (*setne_internal): Use match_operator
- 	instead of working down from insn.
- 
- 2000-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* invoke.texi (-Wtraditional): Update WRT function macros.
- 
- Tue May 30 09:57:32 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* except.c (free_exception_table): Do not free NULL.
- 
- 2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_if): Don't save and restore only_seen_white here.
- 	* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
- 	and skipping here.
- 
- 2000-05-29  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* flow.c (mark_used_reg): If a register is unconditionally live,
- 	remove any conditional death information.
- 
- 2000-05-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* final.c (current_output_insn): New.
- 	(final_scan_insn): Set it.
- 	* output.h: Declare it.
- 
- 2000-05-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* stor-layout.c (finalize_record_size): Fix typo.
- 
- 	* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
- 	if nlabel is null.
- 
- 2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (cpp_reader): Remove if_stack.  Change
- 	potential_control_macro to a cpp_hashnode *.  Add skipping flag.
- 	* cpphash.h (struct ihash): Change control_macro to a
- 	cpp_hashnode * and shorten name to cmacro.
- 	Add NEVER_REINCLUDE constant.
- 
- 	* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
- 	Examine the cmacro node directly, no need to call cpp_defined.
- 	(_cpp_execute_include, read_include_file): Set cmacro to
- 	NEVER_REINCLUDE, not U"".
- 	* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
- 	(cpp_get_token): If pfile->skipping is true, discard text and
- 	keep scanning until we hit a directive; don't expand macros.
- 
- 	* cpplib.c (struct if_stack): Remove if_succeeded, add
- 	was_skipping. Change control_macro to a cpp_hashnode * and
- 	shorten name to cmacro.  Remove typedef IF_STACK.
- 	(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
- 	(conditional_skip, skip_if_group,
- 	consider_directive_while_skipping): Delete.
- 	(push_conditional): New.
- 	(_cpp_handle_directive): Don't process directives other than
- 	conditionals if we are skipping.
- 
- 	(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
- 	Update to new scheme.
- 	(validate_else): Skip rest of line here, unconditionally.
- 	(_cpp_unwind_if_stack): The stack is per-buffer.  Force
- 	pfile->skipping off.
- 
- 	(all): Remove `scare quotes' from error messages.
- 
- 2000-05-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (emit_return_into_block): New line_note arg; emit it.
- 	(thread_prologue_and_epilogue_insns): Attempt to locate a line note
- 	for the close brace to accompany HAVE_return.  Move all line notes
- 	following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
- 
- 2000-05-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* longlong.h [__alpha] (count_leading_zeros): New.
- 	(count_trailing_zeros): New.
- 	(COUNT_LEADING_ZEROS_0): New.
- 
- 	* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
- 	(alpha_split_conditional_move): New.
- 	* config/alpha/alpha-protos.h: Prototype them.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
- 	* config/alpha/alpha.md: Update ffs cix commentary.
- 	(*ze_and_ne): New.
- 	(*nabssf2, *nabsdf2): New.
- 	(*mov[qhsd]icc_internal): Use add_operand.
- 	(if_then_else constant splitters): New.
- 	(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
- 	(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
- 
- 2000-05-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (force_to_mode) [MINUS]: Convert subtraction from
- 	a constant to NEG or NOT when conditions allow.
- 
- 	* combine.c (combine_simplify_rtx): Don't create an if_then_else
- 	unless both args are general_operand.  Don't canonicalize plus
- 	to ior unless it helps.
- 
- 	* toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
- 	instead track register_life_up_to_date.  Toggle no_new_pseudos
- 	around if_convert.
- 
- 2000-05-28  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
- 	so output_operand doesn't see them.
- 
- Sun May 28 18:37:07 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* lcm.c (make_preds_opaque): Fix comment.
- 	(optimize_mode_switching): Use NORMAL_MODE instead of
- 	MODE_USES_IN_EXIT_BLOCK.  Change leftover instance of
- 	FP_MODE_NONE to no_mode.  Rename MODE_AT_ENTRY to NORMAL_MODE.
- 	Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
- 	* tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
- 	(MODE_USES_IN_EXIT_BLOCK): Delete.
- 	(MODE_AT_ENTRY) Rename to NORMAL_MODE.
- 	* sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
- 	(MODE_AT_ENTRY): Rename to NORMAL_MODE.
- 	(MODE_NEEDED): Don't look for USE.
- 	(EPILOGUE_USES): Define.
- 
- Sun May 28 23:26:59 2000  Philippe De Muyter <phdm@macqel.be>
- 
- 	* mklibgcc.in (all): Variable initialized to `libgcc'.
- 
- 2000-05-28  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.h (skip_leading_substring): New macro.
- 	* toplev.c (decode_f_option): Use skip_leading_substring instead
- 	of strncmp.
- 	(decode_W_option): Likewise.
- 
- 2000-05-28  Nick Clifton  <nickc@cygnus.com>
- 
- 	* tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
- 	modify reg_names.
- 
- 2000-05-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* regclass.c (record_operand_costs): Protect reg_changes_size
- 	with CLASS_CANNOT_CHANGE_SIZE.
- 
- 	* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
- 
- 2000-05-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (diddle_return_value): A pcc-style struct return
- 	returns a pointer.
- 
- 2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c: Read files in, using mmap if possible, then
- 	prescan them separately.
- 	(read_file, read_with_read): New functions.
- 	* cpplex.c: Don't define UCHAR_MAX.
- 	(_cpp_read_and_prescan): Rename to _cpp_prescan.  Don't read
- 	the file here.
- 
- 	* cppinit.c (handle_option): Automatically define __cplusplus,
- 	__OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
- 	the respective -lang switch.
- 
- 	* cpphash.h (enum node_type, struct hashnode, _cpp_lookup
- 	prototype): Move to...
- 	* cpplib.h: ... here.  Rename struct hashnode to struct
- 	cpp_hashnode and give it a typedef.  Rename _cpp_lookup to
- 	cpp_lookup.  Add 'fe_value' slot, a union tree_node *.
- 
- 2000-05-27  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (movsi): Constify 'name'.
- 
- 	* regclass.c [CLASS_CANNOT_CHANGE_SIZE]
- 	(class_can_change_size): New variable.
- 	(reg_changes_size): New variable.
- 	(init_reg_sets_1): Initialize class_can_change_size.
- 	(record_operand_costs): Remove subreg_changes_size.
- 	Don't pass it around.  Instead update reg_changes_size.
- 	(regclass): Initialize and free reg_changes_size.  If a register
- 	changes size, don't preference it to a class that contains
- 	registers that can't change size.
- 	(record_reg_classes): Don't look at subreg_changes_size.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* print-rtl.c (reg_names): Remove const.
- 	* regclass.c (reg_names): Likewise.
- 	* regs.h (reg_names): Likewise.
- 	* hard-reg-set.h (reg_names): Likewise.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_does_function_need_gp): Test
- 	TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
- 	(alpha_expand_prologue): Emit prologue_mcount if needed.
- 	* config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
- 	* config/alpha/alpha.md (prologue_mcount): New.
- 	* config/alpha/linux.h (FUNCTION_PROFILER): Remove.
- 	(TARGET_PROFILING_NEEDS_GP): Undef before redefining.
- 	* config/alpha/netbsd.h: Likewise.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
- 	change to config/elfos.h.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (resource.o): Depend on except.h.
- 	* except.h (output_exception_table_data): Prototype.
- 	* genconfig.c (gen_peephole2): Prototype.
- 	* genemit.c (main): Include ggc.h.
- 	* genoutput.c: Revert parts of last change: include errors.h
- 	(main): Set progname.
- 	* recog.c: Include hard-reg-set.h before recog.h.
- 	* resource.c: Include except.h.
- 
- 	* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
- 	with RTX_CODE.
- 	(alpha_write_linkage): Protect with BUFSIZ.
- 	(alpha_need_linkage): Update prototype.
- 	* config/alpha/alpha.c (function_arg): Move VMS code here.
- 	(alpha_links_base): Remove.
- 	(alpha_links): New.
- 	(mark_alpha_links_node, mark_alpha_links): New.
- 	(alpha_write_one_linkage): New.
- 	(alpha_need_linkage): Use a splay tree.  Build the linkage symbol.
- 	(alpha_write_linkage): Use splay_tree_foreach.
- 	* config/alpha/alpha.md (call_vms): Use alpha_need_linkage
- 	to get the linkage symbol.
- 	(call_value_vms): Likewise.
- 	* config/alpha/elf.h (output_file_directive): Remove decl.
- 	(ctors_section, dtors_section): Prototype.
- 	(sbss_section, sdata_section): Prototype.
- 	* config/alpha/vms.h (FUNCTION_ARG): Remove.
- 	(readonly_section, link_section, literals_section): Prototype.
- 	(ctors_section, dtors_section): Prototype.
- 	(vms_valid_decl_attribute_p): Remove decl.
- 	(alpha_arg_type, alpha_arg_info_reg_val): Likewise.
- 
- 2000-05-27  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* reload.c (get_secondary_mem): Don't widen floating-point modes.
- 
- 	* combine.c (subst): Honor CLASS_CANNOT_CHANGE_SIZE when
- 	substituting the REG in a (subreg:X (reg:Y ...)).
- 
- 2000-05-28  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (_cpp_lex_line): Merge vertical space.  Flag
- 	first token of a line BOL.  Update EOF code for this.
- 	Remove illegal directive check - it appears in the (not
- 	yet committed) caller.
- 	* cpplib.h (BOL): New flag.
- 
- 2000-05-28  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (_cpp_init_toklist): No comment space to initialize.
- 	(_cpp_free_toklist): No comment space to free.
- 	(expand_comment_space): Remove.
- 	(save_comment_space): Place the comment in the current token and
- 	not in a separate comment space.
- 	(_cpp_lex_line): Save comments during plain code and #define
- 	directives only.
- 	* cpplib.h (struct _cpp_toklist): Remove comment space.
- 
- 2000-05-28  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppexp.c (parse_assertion): Supply extra argument to
- 	_cpp_init_toklist.
- 	* cpplib.c (do_assert, do_unassert): Similarly.
- 	* cpphash.h (_cpp_init_toklist) Update.
- 	(_cpp_expand_token_space): New.
- 	(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
- 	* cpplex.c (_cpp_init_toklist): New argument.
- 	(parse_string2): New argument multiline_ok.
- 	(spell_token): Take a const cpp_token *.
- 	(INIT_NAME): Replace with INIT_TOKEN_NAME.  Update tokens_used.
- 	(SPELL_ macros): Replace with enum.
- 	(expand_token_space): Replace with _cpp_expand_token_space.
- 	Take COUNT argument.
- 	(IS_DIRECTIVE): Update.
- 	(_cpp_lex_line): Update token structure before parsing number.
- 	Don't assume start at beginning of token list.
- 	(save_comment): Use INIT_TOKEN_NAME.
- 
- 2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
- 	-Wmissing-prototypes.
- 	* configure: Regenerate.
- 	* gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
- 
- 	* builtins.c, calls.c: Change all instances of gen_call_* or
- 	gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
- 	* calls.c (struct_value_size_rtx): Separate definition from
- 	initialization to avoid unused variable warning.
- 
- 	* genflags.c (gen_macro): New function.
- 	(gen_proto): Call it for gen_call_* and gen_sibcall_*.
- 	(gen_nonproto): Delete.
- 	(gen_insn): Put all insns on the same obstack.
- 	(main): Generate prototypes for everything unconditionally.
- 
- 	* configure.in: Add AC_CHECK_TYPE(ssize_t).  Remove commented
- 	out check for wchar_t.
- 	* acconfig.h: Add template for ssize_t.  Remove @TOP@.
- 	* system.h: Add infrastructure for defining missing
- 	TYPE_MAX/TYPE_MIN macros.  Use it to provide fallback
- 	definitions of UCHAR_MAX and SSIZE_MAX.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 	* Makefile.in (libgcc2.ready): Rename to libgcc.ready.
- 	Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
- 	headers.
- 	(clean): No need to delete libgcc1.a, libgcc1-asm.a,
- 	libgcc2.a, or libgcc1.null.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (recog.o): Don't depend on resource.h.
- 	* recog.c: Don't include resource.h.
- 	(recog_last_allowed_insn): Remove.
- 	(recog_next_insn): Remove.
- 	(struct peep2_insn_data): New.
- 	(peep2_insn_data, peep2_current): New.
- 	(peep2_next_insn): New.
- 	(peep2_regno_dead_p, peep2_reg_dead_p): New.
- 	(peep2_find_free_register): New.
- 	(peephole2_optimize): Track life information by insn as we go.
- 	* recog.h: Update declarations.
- 	* resource.c (find_free_register, reg_dead_p): Remove.
- 	* resource.h: Remove their declarations.
- 	* toplev.c: Include hard-reg-set.h before recog.h.
- 
- 	* genconfig.c (max_insns_per_peep2): New.
- 	(gen_peephole2): New.
- 	(main): Call it.
- 	* genemit.c (output_peephole2_scratches): Generate calls to
- 	peep2_find_free_register; adjust surrounding code.
- 	(main): Have insn-emit.c include hard-reg-set.h before recog.h.
- 	* genrecog.c (change_state): Don't track last_insn.
- 	(write_action): Write into *_pmatch_len before accepting.
- 	(write_tree): Adjust peephole2_insns and subroutines to match.
- 
- 	* config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
- 
- 	* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
- 	(hard_int_register_operand): New.
- 	* config/alpha/alpha-protos.h: Declare it.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
- 	as needed; use peep2_reg_dead_p instead of dead_or_set_p.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (thread_prologue_epilogue_insns): Don't move the
- 	line note at the head of the chain.  Only force a lineno note
- 	before the end of block 0.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* gensupport.c (collect_insn_data): Record the maximum number
- 	of alternatives, not the last seen.
- 
- 	* genoutput.c: Don't include errors.h.
- 	(struct data): Add lineno member.
- 	(have_error): New.
- 	(scan_operands): Use message_with_line instead of error.
- 	(validate_insn_alternatives): Likewise.
- 	(gen_insn): Accept and store the pattern's line number.
- 	(gen_peephole, gen_expand, gen_split): Likewise.
- 	(main): Don't set progname.  Pass line_no to gen_foo.
- 
- 2000-05-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/d30v/d30v.c (d30v_print_operand): Handle ':'.
- 	* config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
- 	* config/d30v/d30v.md (attr predicable): New.
- 	(all insn patterns): Mark non-predicable patterns; use %: on the rest.
- 	(andsi3*): Unify into one pattern.
- 	(iorsi3*, xorsi3*): Likewise.
- 	(peephole2 patterns): Use peep2_reg_dead_p; verify not a
- 	conditional return.
- 	(old cond_exec patterns): Remove.
- 	(define_cond_exec): New.
- 
- Sat May 27 11:01:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (TREE_CODE_LENGTH): New macro.
- 	* c-common.c (c_find_base_decl): Use it.
- 	* expr.c (safe_from_p): Likewise.
- 	* print-tree.c (print_node): Likewise.
- 	* tree.c (make_node, copy_node, get_identifier): Likewie.
- 	(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
- 	(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
- 	* fold-const.c (make_range): Likewise.
- 	(fold): Likewise; also use first_rtl_op.
- 	* c-iterate.c (collect_iterators): Use first_rtl_op.
- 	* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
- 	Use IS_EXPR_CODE_CLASS.
- 	(preexpand_calls): Likewise.
- 	* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
- 	and TREE_CODE_LENGTH.
- 	* stmt.c (warn_if_unused_value): If no operands, no unused value.
- 
- 2000-05-26  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
- 	than '%1(%*)'.
- 	(movdi_internal64): Likewise.
- 
- 	* config/rs6000/rs6000.md: Correct order of operands for DImode
- 	boolean patterns.
- 
- 	* config/rs6000/rs6000.c (boolean_or_operator): New function.
- 	* config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
- 	* config/rs6000/rs6000.md: Use boolean_or_operator instead of
- 	boolean_operator for the boolean patterns without NOTs.
- 
- 	* config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
- 	from reg_or_u_cint_operand.  Change comment and behavior.
- 	(logical_operand): Clean up, add assertion.
- 	(non_logical_cint_operand): Also check for
- 	reg_or_logical_cint_operand.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Update.
- 	* config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
- 	in the expander.
- 	(xorsi3): Likewise.
- 	(iordi3): Likewise.
- 	(xordi3): Likewise.
- 
- 2000-05-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (struct record_layout_info): Rename to (struct
- 	record_layout_info_s).
- 	* stor-layout.c (start_record_layout): Replace
- 	`record_layout_info' with `record_layout_info_s'.
- 
- 2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (find_label_refs): New function.
- 	(find_basic_blocks_1): Call it for each alternative of a call
- 	placeholder.
- 
- 2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
- 	of get_pc.
- 
- 2000-05-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_comparison_operator): Don't be
- 	so strict about DImode.
- 	(alpha_swapped_comparison_operator): Likewise.
- 	* config/alpha/alpha.md (*setne_internal): Name it.  Allow
- 	any integer output mode.
- 	(*setcc_internal): Likewise.
- 	(*setcc_swapped_internal): Likewise.
- 	(*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
- 	(*mov[qhs]icc_internal): New.
- 	(*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
- 
- 2000-05-25  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
- 
- 2000-05-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* bb-reorder.c (reorder_block_def): Reorder elements for size.
- 	Remove add_jump; add next; replace flags with visited.
- 	(rbd_init): Remove.
- 	(REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
- 	(REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
- 	(REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
- 	(REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
- 	(RBI): New.
- 	(reorder_index, reorder_last_visited): Remove.
- 	(skip_insns_after_block): Rewrite to use a switch.
- 	(get_common_dest): Remove.
- 	(chain_reorder_blocks): Remove.
- 	(record_effective_endpoints): Split out from reorder_basic_blocks.
- 	(make_reorder_chain): Likewise.  Loop until all blocks are placed.
- 	(make_reorder_chain_1): Renamed from old make_reorder_chain.
- 	Only construct the reorder chain, do not move insns.  Try harder
- 	to tail recurse.
- 	(label_for_bb, emit_jump_to_block_after): New.
- 	(fixup_reorder_chain): Use them.  Do bulk block movement.  Examine
- 	and adjust the jump insns appropriately.  Fixup basic_block_info.
- 	(verify_insn_chain): Always define.
- 	(relate_bbs_with_scopes): Call xmalloc, not xcalloc.  Fix thinko
- 	in allocation size.
- 	(make_new_scope): Don't write zeros to calloc'd space.
- 	(build_scope_forest): Rely on xrealloc to DTRT.
- 	(reorder_basic_blocks): Don't build loop nest.  Don't fail if
- 	profile_arc_flag.  Streamline EH test.
- 
- 	* flow.c (redirect_edge_succ, redirect_edge_pred): New.
- 	* basic-block.h: Declare them.
- 
- 2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* emit-rtl.c (reset_used_decls): New function.
- 	(unshare_all_rtl_again): Call it.
- 
- 2000-05-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (maybe_macroexpand): Warn about function-like
- 	macros used in non-function context, if -Wtraditional.
- 
- 2000-05-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* recog.c (peephole2_optimize): Use INSN_P.
- 
- 2000-05-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (seq_contains_jump): New.
- 	(noce_try_store_flag_constants): Use it to fail conversion.
- 	(noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
- 
- 2000-05-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.h (can_throw): Declare it.
- 	* except.c (can_throw): Give it external linkage.
- 	* resource.c (find_dead_or_set_registers): Use can_throw.
- 
- 2000-05-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_set_1): Don't record conditionally dead memory.
- 
- 2000-05-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
- 	and pc_set at the place of simplejump_p and condjump_p.
- 	* cse.c (record_jump_equiv): Likewise.
- 	* emit-rtl.c (emit): Likewise.
- 	* explow.c (find_next_ref): Likewise.
- 	* flow.c (tidy_fallthru_edge): Likewise.
- 	(init_propagate_block_info): Likewise.
- 	* gcse.c (delete_null_pointer_checks): Likewise.
- 	* ifcvt.c (cond_exec_get_condition, noce_get_condition,
- 	dead_or_predicable): Likewise.
- 	* integrate.c (copy_insn_list): Likewise.
- 	* loop.c (scan_loop, verify_dominator, find_and_verify_loops,
- 	for_each_insn_in_loop, check_dbra_loop, get_condition,
- 	insert_bct, load_mems): Likewise.
- 	* resource.c (find_dead_or_set_registers): Likewise.
- 	* sibcalls.c (simplejump_p): Likewise.
- 	* unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
- 
- 2000-05-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
- 	to STRING case.  Use doubleword STRING move for TARGET_POWERPC64
- 	when unaligned.
- 	* rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
- 	(RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
- 	(LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
- 	* rs6000.md: Name various internal patterns.
- 
- 2000-05-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (invert_exp_1): Remove first argument, use pc_set
- 	to get the expression.
- 	(redirect_exp): Make static; redirect only the pc_set expression,
- 	remove first argument.
- 	(invert_exp): Remove first argument, make static.
- 	(jump_optimize): Use any_condjump_p, any_uncondjump_p and
- 	any_onlyjump at most places where we originaly did condjump_p
- 	and simplejump_p.
- 	(jump_back_p, follow_jumps, thread_jumps): Likewise.
- 	(delete_barrier_succesors): Use pc_set.
- 	(invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
- 	calls of invert_exp and redirect_exp.
- 	* rtl.h (redirect_exp, invert_exp): Remove.
- 	* unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
- 
- 2000-05-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_end_bindings): Fix thinko last change.
- 
- 2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
- 	    Andrew Haley  <aph@cygnus.com>
- 
- 	* except.c  (func_eh_entry): Add emitted field.
- 	(new_eh_region_entry): Set emitted field to 0;
- 	(output_exception_table_entry): Only emit previously un-emitted data,
- 	and send it to the eh_data section.
- 	(output_exception_table): Break out common parts. Output
- 	exception table for entire compilation unit to eh_data section.
- 	(output_exception_table_data): Common parts of output_exception_table.
- 	Send output to eh_data section.
- 	(output_function_exception_table): Output exception table data for
- 	a single function to eh_data section.
- 	(free_exception_table): New external to free the table.
- 	* except.h (free_exception_table): Add prototype.
- 	(output_function_exception_table): Add prototype.
- 	* final.c (final_end_function): Output function exception table
- 	for IA64_UNWIND_INFO.
- 	(final_scan_insn): Emit any unwind directives for an insn.
- 
- 	* frame-dwarf2.c: New file containing all DWARF 2 specific code
- 	from frame.c.
- 	* frame.c: Remove all DWARF 2 specific code.
- 	* config/ia64/frame-ia64.c: New file.
- 	(gthread_stuff): Make all gthread available with
- 	IA64_UNWIND_INFO.
- 	(dwarf_fde): Define an IA64 struct for dwarf_fde.
- 	(__register_frame_info, __register_frame): Move to common area of file.
- 	(__register_frame_info_table, __register_frame_table): Move to common i
- 	area.
- 	(__deregister_frame_info, __deregister_frame): Move to common area.
- 	(__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
- 	(read_uleb128): New version for ia64.
- 	(get_unwind_record): Read the next IA-64 unwind record.
- 	(read_R_record): Read a region header record.
- 	(process_a_b_reg_code): X record helper.
- 	(read_X_record): Read an X format record.
- 	(read_B_record): Read a B format record.
- 	(P3_record_types): List of record types matching the P3 format.
- 	(P7_record_types): List of record types matching the P7 format.
- 	(P8_record_types): List of record types matching the P8 format.
- 	(read_P_record): Read a P format record.
- 	(init_ia64_reg_loc): Set default fields for a register.
- 	(init_ia64_unwind_frame): Set defaults for all register records.
- 	(execute_one_ia64_descriptor): Execute one descriptor record.
- 	(rse_address_add): Calculate the position of a local reg in memory.
- 	(normalize_reg_loc): Turn a location descriptor into a memory address.
- 	(maybe_normalize_reg_loc): Only normalize a descriptor if it falls
- 	within a specified PC offset range.
- 	(get_real_reg_value): Given a register location, retrieve its value.
- 	(set_real_reg_value): Change the value of a register location.
- 	(copy_reg_value): Copy reg values, if needed.
- 	(copy_saved_reg_state): Copy all registers that need to be copied.
- 	(process_state_between): Normalize all frame register records that
- 	fall within the specified PC range.
- 	(frame_translate): Take a processed frame description, and turn
- 	everything into addresses.
- 	(build_ia64_frame_state ): Find and create frame state record for a PC.
- 	(get_personality): Get the personality routine for a given frame.
- 	(get_except_table): Get the exception table for a given frame.
- 	(record_name): Unwind record names for debugging.
- 	(print_record): Print and unwind record.
- 	(print_all_records): Print an entire unwind image.
- 	(__ia64_backtrace): Print a backtrace.
- 	(ia64_backtrace_helper): New function.
- 	(__register_frame_info_aux): New function.
- 	* config/ia64/crtend.asm (__do_frame_setup_aux): New function.
- 
- 	* frame.h (enum unw_record_type): New unwind record types.
- 	(struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
- 	(struct unw_r_record, unwind_record): New unwind record structs.
- 	(struct unwind_info_ptr): Unwind information layout.
- 	(IA64_UNW_LOC_TYPE_*): Macros for different types for location
- 	descriptors.
- 	(struct ia64_reg_loc): Register location description.
- 	(struct ia64_frame_state): Location of all registers in a frame.
- 	(struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
- 	* libgcc2.c (__ia64_personality_v1): Personality routine.
- 	(__calc_caller_bsp): Calculate the bsp register for the caller's
- 	frame.
- 	(ia64_throw_helper): Figure out who to return to and set up the
- 	registers.
- 	(__throw): Throw routine.
- 
- 	* output.h (assemble_eh_align, assemble_eh_label): New functions
- 	to generate EH info where we want it.
- 	(assemble_eh_integer): New function.
- 	* toplev.c (compile_file): Output module level exception table for
- 	non-ia64 targets.
- 	(main): Set exceptions_via_longjump and flag_new_exceptions based
- 	on IA64_UNWIND_INFO too.
- 
- 	* varasm.c (assemble_eh_label): Generate a label via
- 	ASM_OUTPUT_EH_LABEL if it has been specified.
- 	(assemble_eh_align): Generate an alignment directive via
- 	ASM_OUTPUT_EH_ALIGN if it has been specified.
- 	(assemble_eh_label): Generate an integer value via
- 	ASM_OUTPUT_EH_type if they have been specified.
- 	* config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
- 	(ia64_init_builtins): Add __builtin_ia64_bsp
- 	and __builtin_ia64_flushrs.
- 	(ia64_expand_builtin): Add IA64_BUILTIN_BSP and
- 	IA64_BUILTIN_FLUSHRS.
- 	* config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
- 	IA64_BUILTIN_FLUSHRS.
- 
- 	* config/ia64/ia64.md (flushrs): New insn to flush the register
- 	stack.  Add to unspec list.
- 
- 	* config/ia64/crtbegin.asm (frame_object): Change size.
- 	(__do_frame_setup_aux): New function.
- 	* config/ia64/crtend.asm: call __do_frame_setup_aux.
- 	* config/ia64/t-ia64 (LIB2ADDEH): Add.
- 	* Makefile.in (LIB2ADDEH): Add.
- 	(LIB2ADD): Use LIB2ADDEH.
- 
- 2000-05-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* recog.c (offsettable_address_p): If mode size is zero, assume
- 	BIGGEST_ALIGNMENT.
- 
- 2000-05-24  J. David Anglin  <dave@hiauly.hia.nrc.ca>
- 
- 	* configure.in: Check for -Wno-long-long option support and improve
- 	handling of warning CFLAGS for stages 1 and 2.
- 	* Makefile.in (WARN_CFLAGS): Move definition to configure.in.
- 	* configure: Regenerate.
- 
- Wed May 24 19:37:53 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcc.texi: Remove contributor list.  Instead include contrib.texi.
- 	* contrib.texi: New file.
- 
- Thu May 25 02:27:22 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (basic_induction_var): Avoid double recording of an increment.
- 
- Thu May 25 02:19:27 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* Back out this patch:
- 	Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
- 	  * loop.h (struct induction): Add multi_insn_incr.
- 	  * loop.c (basic_induction_var): New multi_insn_incr argument.
- 	  Set it if we search back through previous insns for the biv.
- 	  (record_biv): New multi_insn_incr argument; fill in struct induction.
- 	  (strength_reduce): Discard an iv with multiple bivs, any of
- 	  which require multiple insns to increment.
- 
- 	* loop.c (check_insn_for_bivs): Remove bits copied from above patch.
- 
- Thu May 25 02:09:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* rtl.h (loc_mentioned_in_p): Declare.
- 	* reload.c (loc_mentioned_in_p): Moved from here...
- 	* rtlanal.c (loc_mentioned_in_p): to here.  No longer static.
- 	Fix loop increment for 'E' handling.
- 	* loop.c (strength_reduce): When doing biv->giv conversion,
- 	take multi-insn biv increments into account.
- 
- 2000-05-24  Jason Merrill  <jason@casey.soma.redhat.com>
- 
- 	* stmt.c (expand_end_bindings): Look through NOTEs to find a
- 	BARRIER.
- 
- 2000-05-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (expand_call): Handle cleanups in tail-recursion
- 	arguments analogously to cleanups in sibling calls.
- 
- 2000-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
- 	All callers changed.
- 
- 2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* expr.c (expand_assignment, store_expr, expand_expr,
- 	expand_expr_unaligned): Set in_check_memory_usage while emitting
- 	chkr_check_addr libcall.
- 
- 2000-05-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	* fold-const.c (extract_muldiv): When constructing a
- 	multiplier/divisor, do not expect const_binop to correctly
- 	determine if overflow has occurred, so check explicitly.
- 
- 2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* c-decl.c (build_enumerator): Don't modify the value's type,
- 	convert it.
- 
- 2000-05-24  Andreas Jaeger  <aj@suse.de>
- 
- 	* mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
- 
- 2000-05-24  Eric Christopher <echristo@cygnus.com>
- 
- 	* configure.in: Redefine inhibit_libc conditions.
- 	* libgcc2.c: Remove inhibit_libc conditional define.
- 	* configure: Regenerate.
- 
- 2000-05-24  Phil Edwards  <pme@sourceware.cygnus.com>
- 
- 	* configure.in:  For --enable-languages=LIST, check for empty LIST.
- 	* configure:  Regenerate.
- 
- 2000-05-24  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* pdp11.h (STACK_BOUNDARY): Define.
- 
- 2000-05-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* ifcvt.c (if_convert): Update life info globally.
- 
- 2000-05-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* emit-rtl.c (unshare_all_decls): New function.
- 	(unshare_all_rtl): Call it.
- 
- 2000-05-23  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Treat 'strongarm' as if it were 'arm' when
- 	determining cpu type.
- 
- 	* configure: Regenerate.
- 
- 	* config/arm/arm.c: Change 'char *' to 'const char *' for cases
- 	where constant strings are involved.
- 
- 	* config/arm/arm.h (arm_condition_codes): Change type to 'const
- 	char *'.
- 
- 	* config/arm/arm-protos.h: Change 'char *' to 'const char *' for
- 	cases where constant strings are involved.
- 
- Tue May 23 15:08:31 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/sh/sh.c (gen_far_branch, split_branches): Update
- 	to reflect new prototypes for redirect_jump and invert_jump.
- 	(sh_insn_length_adjustment): Get rid of const warnings.
- 
- 2000-05-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* invoke.texi (Options for Debugging Your Program or GCC): Update
- 	the names of dump files.
- 
- Tue May 23 13:58:52 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
- 	* configure: Regenerated.
- 
- 2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* simplify-rtx.c (SIGN_EXTEND): New macro.
- 	(simplify_unary_operation, simplify_binary_operation,
- 	simplify_relational_operation): Use SIGN_EXTEND.  Make low
- 	halves of (low, high) pairs unsigned if they weren't already.
- 	(simplify_ternary_operation): Cast INTVAL to unsigned before
- 	comparing to a MODE_BITSIZE.
- 
- 2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
- 	rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
- 
- 	* configure.in (gcc_AC_CHECK_DECLS): Call this instead of
- 	gcc_AC_NEED_DECLARATIONS.
- 
- 	* dwarfout.c: Don't prototype time().
- 
- 	* gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
- 
- 	* system.h: Likewise.
- 
- 	* toplev.c: Likewise.
- 
- 2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-decl.c (pushdecl): Invert sense of test for non-global types.
- 
- Tue May 23 18:11:42 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
- 
- 2000-05-23  Jonathan Larmour  <jlarmour@redhat.co.uk>
- 
- 	* config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
- 
- Tue May 23 06:50:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c: Remove #ifdef HAIFA since now only scheduler.
- 	(alpha_start_function): Never write ..ng label if VMS or NT.
- 	(alpha_align_insns): Remove GP_IN_USE arg.
- 	Alignment now unsigned.
- 	(alpha_reorg): Don't pass GP_IN_USE arg to alpha_align_insns.
- 	* config/alpha/alpha.md (prologue_ldgp): Split into one define_expand
- 	and two define_insn's.
- 
- 2000-05-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (simplify_comparison): Use trunc_int_for_mode.
- 
- 2000-05-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* stor-layout.c (place_field): Change rli->size to rli->offset.
- 
- 2000-05-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Make sure
- 	existing line number notes appear after the prologue.
- 
- Mon May 22 21:49:00 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (alpha_fnname): New static variable.
- 	(print_operand, case '~'): New case.
- 	(alpha_expand_prologue): Emit prologue_ldgp insn if needed.
- 	(alpha_start_function): Set alpha_fnname.
- 	Write "ng" label if no ldgp; don't write ldgp insn.
- 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): New case '~'.
- 	* config/alpha/alpha.md (prologue_ldgp): New define_insn.
- 
- Mon May 22 11:30:48 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Don't increment LABEL_NUSES
- 	on deleted labels.
- 
- 2000-05-22  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* varasm.c (eh_frame_section): Revert change to argument list.
- 
- Mon May 22 13:14:03 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* optabs.c (can_extend_p): Allow unsignedp to have any nonzero value.
- 	(gen_extend_insn, can_fix_p, can_float_p): Likewise.
- 
- 	* final.c (final_scan_insn, case NOTE_INSN_FUNCTION_BEG): Remove
- 	dangling "else" that causes "break" to be conditional.
- 	Also remove unneeded code at start.
- 
- Mon May 22 17:31:35 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* m68k/m68k.h (STORE_FLAG_VALUE): Macro set to (-1), not -1.
- 	* fx80/fx80.h, i370/i370.h, m88k/m88k.h (STORE_FLAG_VALUE): Ditto.
- 	* gmicro/gmicro.h, we32k/we32k.h (STORE_FLAG_VALUE): Ditto.
- 
- 2000-05-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movdf_insn_v9only_vis): fzero has
- 	just one argument.
- 
- Mon May 22 06:57:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (record_component_aliases): New function.
- 	* tree.h: Clean up some declarations and comments.
- 	(record_component_aliases): New declaration.
- 	* tree.c (get_alias_set): If type and has alias set, use it.
- 
- 2000-05-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* simplify-rtx.c (simplify_ternary_operation): Try to simplify
- 	IF_THEN_ELSE to a setcc form.
- 	* jump.c (can_reverse_comparison_p): Be prepared for insn null.
- 
- 2000-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/inclhack.def (sun_malloc): Handle `calloc'.
- 	(sun_malloc, sysz_stdtypes_for_sun): Add test_text.
- 
- Sun May 21 16:42:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (try_combine): Handle i3_subst_into_i2 case when I2 is
- 	not a PARALLEL.
- 
- 2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.md (movdi, movdf): 64-bit clean-up.
- 	* config/mn10300/mn10300.c (print_operand): Likewise.
- 
- 	* final.c (split_double): Right shift of negative values is not
- 	portable.
- 
- 	* ifcvt.c (if_convert): Scan and kill dead code.
- 
- 	* emit-rtl.c (unshare_all_rtl): Store the copied rtx.
- 
- 2000-05-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* diagnostic.c: Eliminate implicit int.
- 	* except.c, gcc.c: Add static prototypes.
- 	* final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
- 	* gensupport.c (process_rtx): Use XVEC to initialize vector
- 	slot of 'split'.
- 
- 	* print-rtl.c: If DEBUG_REGISTER_NAMES, define static
- 	debug_reg_names instead of static reg_names.  If not, define
- 	global reg_names.
- 	* regclass.c: Don't define global reg_names unless
- 	DEBUG_REGISTER_NAMES is defined.
- 
- 	* reload1.c (order_regs_for_reload): Remove unused variable.
- 	* varasm.c: Include output.h after defaults.h.  Define
- 	eh_frame_section as function of no args, not of unspecified args.
- 
- 	* gcc.c: Constify argbuf; arguments to store_arg,
- 	process_command, main; elements of struct command and struct
- 	switchstr; local variables in execute, process_command, main.
- 
- 2000-05-20  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def:  many applications of c_fix=format + tests
- 	* fixinc/check.diff:  regenerated
- 	* fixinc/fixincl.x:  regenerated
- 
- Sat May 20 09:30:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c: Clarify some comments.
- 	(record_base_value): REGNO is unsigned.
- 	* rtl.h (record_base_value): Likewise.
- 
- 	* alias.c (aliases_everything_p): Don't special-case QImode here.
- 	* c-common.c (c_get_alias_set): Do it here.
- 	Handle BIT_FIELD_REF by getting alias info for arg.
- 	Use POINTER_TYPE_P.
- 
- 2000-05-20  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* mklibgcc.in: Restore rule to create ${dir}.
- 
- Sat May 20 08:45:41 2000  H.J. Lu  <hjl@gnu.org>
- 
- 	* Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
- 	GCC_FOR_TARGET used by MULTILIBS.
- 	* mklibgcc.in: Make sure each .o file depends on the
- 	directory it will be in.
- 	Make the multilib directory depends libgcc.
- 
- Sat May 20 08:29:28 2000  H.J. Lu  <hjl@gnu.org>
- 
- 	* Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
- 
- Sat May 20 07:27:35 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* fold-const.c (make_range): Handle degenerated intervals.
- 	Fixes c-torture/execute/991221-1.c
- 
- Fri May 19 18:16:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
- 	* reload.c (find_equiv_reg): Likewise.
- 	* alias.c (init_alias_analysis): Likewise.
- 	Only call prologue_epilogue_contains on insns.
- 	* basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
- 	* bb-reorder.c (hard-reg-set.h): Include earlier.
- 	* haifa-sched.c (hard-reg-set.h): Likewise.
- 	* ifcvt.c (hard-reg-set.h): Likewise.
- 	* local-alloc.c (hard-reg-set.h): Likewise.
- 	* loop.c (hard-reg-set.h): Likewise.
- 	* predict.c (hard-reg-set.h): Likewise.
- 	* regrename.c (hard-reg-set.h): Likewise.
- 	* flow.c (hard-reg-set.h): Likewise.
- 	(reg_set_to_hard_reg_set): New function.
- 	* bitmap.c (regs.h, basic-block.h): No longer include.
- 	(bitmap.h): Now include.
- 	* conflict.c (hard-reg-set.h): Include.
- 	* profile.c (hard-reg-set.h): Likewise.
- 	* print-rtl.c (hard-reg-set.h): Likewise.
- 	* sbitmap.c (hard-reg-set.h): Likewise.
- 	* toplev.c (hard-reg-set.h): Likewise.
- 	* unroll.c (hard-reg-set.h, basic-block.h): Likewise.
- 	* hard-reg-set.h (reg_names): Now constant.
- 	* regs.h (reg_names): Likewise.
- 	* regclass.c (reg_names): Likewise.
- 	* loop.h (basic-block.h): No longer include.
- 	(bitmap.h): Now include.
- 	* reload1.c (order_regs_for_reload): Avoid loop over reg sets.
- 	* Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
- 	(toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
- 
- 2000-05-19  Jan Hubicka  <jh@suse.cz>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (struct edge_def): New field "count".
- 	(struct basic_block_def): Likewise.
- 	* flow.c (entry_exit_blocks): Add count fileds.
- 	(split_edge): Keep count information up-to-date.
- 	(dump_edge_info, dump_flow_info): Dump count fields.
- 
- 	* final.c (count_instrumented_edges): Rename to edge from arc.
- 	(end_final): Update users.
- 	* profile.c: Include expr.h, basic-block.h.
- 	(struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
- 	(struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
- 	(ignore_next_note, return_label_execution_count): Kill.
- 	(bbg_file_name, da_file_name): Kill.
- 	(edge_info, bb_info): New structures.
- 	(EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
- 	(count_instrumented_edges, total_num_edges): Rename to edge from arc.
- 	(total_num_edges_instrumented): Likewise.
- 	(init_arc, expand_spanning_tree): Kill.
- 	(fill_spanning_tree, tablejump_entry_p): Kill.
- 	(instrument_edges):  Rewrite from instrument_arcs to use
- 	commit_edge_insertions infrastructure.
- 	(compute_branch_probabilities): Remove arguments; rewrite for
- 	CFG infrastructure; use rtl_dump_file directly.
- 	(branch_prob, find_spanning_tree): Likewise.
- 	(union_groups, find_group): New.
- 	(init_branch_prob): Make bbg_file_name and da_file_name local.
- 	(end_branch_prob): Use rtl_dump_file directly.
- 	(init_edge_profiler): Rename to edge from arc.
- 	(output_arc_profiler): Kill.
- 	(gen_edge_profiler): New.
- 	(output_func_start_profiler): Turn off profiling.  Make the
- 	constructor static when we can.
- 	* rtl.h (branch_prob, end_branch_prob): Update prototypes.
- 
- 	* toplev.c (DFI_flow): Remove.
- 	(DFI_cfg, DFI_life): New.
- 	(dump_file): Update accordingly.
- 	(compile_file): Call end_branch_prob if profile_arc_flag too.
- 	(rest_of_compilation): Move flow1 cfg creation to DFI_cfg.  Do edge
- 	profiling after the CFG is built.  Move flow1 life analysis to
- 	DFI_life.  Always estimate remaining probabilities.
- 
- 2000-05-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
- 
- 	* flow.c (make_edges): The sibling call edge to exit is abnormal.
- 
- 2000-05-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (redirect_jump): Add delete_unused argument.  Don't
- 	remove labels and code following when LABEL_NUSES goes to zero.
- 	(invert_jump): Likewise.
- 	(jump_optimize_1): Fix redirect/invert arguments.
- 	(do_cross_jump, thread_jumps): Likewise.
- 	* flow.c (split_edge): Likewise.
- 	* reorg.c (optimize_skip): Likewise.
- 	(reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
- 	* profile.c (instrument_arcs): Likewise.
- 	* loop.c (find_and_verify_loops): Likewise.  Fix indentation.
- 	* rtl.h: Update prototypes.
- 
- Fri May 19 12:05:13 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* ssa.c (convert_from_ssa): Tell life_analysis we need death
- 	notes.
- 	(make_regs_equivalent_over_bad_edges): Only look at abnormal
- 	critical edges.
- 
- 2000-05-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (funlike_macroexpand): Make sure not to walk p1
- 	past l1 when deleting whitespace and markers.
- 
- 	* cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
- 	* cpplib.c (do_unassert): Put the list to compare against on
- 	the stack.
- 
- 2000-05-19  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/README:  cleaned up old documentation
- 	* fixinc/check.diff: regenerated & verified on OSR5 on ix86
- 	* fixinc/check.tpl: compute the list of needed directories
- 	emit "#if defined(name)" because of conflict
- 	omit machine name differences from output differences
- 	* fixinc/inclhack.def( m88k_multi_incl ):  Use `wrap' function
- 	(machine_name): change test text to use `sed' markers
- 	* fixinc/fixincl.x: regen
- 
- Fri May 19 06:49:35 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
- 	a CONSTRUCTOR.
- 
- 2000-05-18  Chris Demetriou  <cgd@sibyte.com>
- 
- 	* gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
- 	it to match the current practice.
- 
- 2000-05-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
- 
- 2000-05-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
- 	* rtl.h (insn_dependant_p): Declare it.
- 	* loop.c (strength_reduce): Use it.
- 
- 2000-05-18  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
- 	16-bit and 64-bit clean-up.
- 
- 2000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* configure.in (*-pc-msdosdjgpp): Set float_format to none.
- 	* configure: Rebuilt.
- 
- 2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* genopinit.c: Use $ for escape sequences in optab patterns.
- 	Remove backslashes from optab patterns.  Change $A, $B, $C to
- 	expand to (int) whatever instead of just whatever; remove
- 	explicit (int) from all optab patterns.
- 
- 	* gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
- 	* genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
- 	genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
- 	genrecog.c: Remove private copies of xmalloc, xrealloc, and
- 	xstrdup.
- 
- 2000-05-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Base minimum insn count during
- 	find_cross_jump on BRANCH_COST.
- 
- 2000-05-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* print-rtl.c (print_rtx): Only print note line number as string
- 	if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
- 	* final.c (final_scan_insn): Do nothing for note line number 0.
- 
- 2000-05-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
- 	from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
- 	NOTE_INSN_DELETED_LABEL.
- 
- 2000-05-18  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
- 	uninitialized data in .rodata not .bss, and do not interpret an
- 	error in the initialisation value as meaning that the variable
- 	should be placed in the .bss section.
- 
- Thu May 18 12:10:18 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
- 	not `$ac_cv_prog_cc_cc_c_o'.
- 	* configure: Regenerated.
- 
- 2000-05-18  Chris Demetriou  <cgd@sibyte.com>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* c-common.h (enum c_tree_index): Add g77 type entries.
- 	(g77_integer_type_node, g77_uinteger_type_node): New.
- 	(g77_longint_type_node, g77_ulongint_type_node): New.
- 	* c-decl.c (init_decl_processing): Initialize them.
- 
- 2000-05-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/h8300/h8300.md (subs patterns): Use %G to negate.
- 
- 	* config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
- 	(small_power_of_two): Likewise; use exact_log2.
- 	(adds_subs_operand, one_insn_adds_subs_operand): Remove.
- 	(output_adds_subs): Remove.
- 	(two_insn_adds_subs_operand): New.
- 	(split_adds_subs): New.
- 	* config/h8300/h8300-protos.h: Update.
- 	* config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
- 	(CONST_OK_FOR_L): Match strict adds operands.
- 	(CONST_OK_FOR_N): Match struct subs operands.
- 	* config/h8300/h8300.md (adds_subs insns): Remove.
- 	(addhi patterns): Output adds/subs directly.
- 	(addsi_h8300h): Likewise.
- 	(addhi/addsi splitters): New.  Decompose two_insn_adds_subs_operand.
- 
- 2000-05-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c (parse_assertion): New.
- 	(lex): Call it for CPP_HASH.  Remove CPP_ASSERTION case.
- 	(_cpp_parse_expr): Remove case '#'.  Don't set
- 	parsing_if_directive.
- 	* cpphash.c (collect_objlike_expansion,
- 	collect_funlike_expansion, collect_params,
- 	_cpp_create_definition): The list no longer has a trailing
- 	VSPACE token.
- 	* cpphash.h (enum node_type): Add T_ASSERTION.
- 	(struct hashnode): Remove aschain, add pred.
- 	(struct predicate): New.
- 	Update prototypes.
- 
- 	* cpplex.c (expand_token_space): Handle both offset and
- 	nonoffset lists.
- 	(init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
- 	(_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
- 	_cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
- 	_cpp_equiv_toklists): New.
- 	(_cpp_scan_line): Rename to _cpp_scan_until; add ability to
- 	stop at any single-character token, not just newline.
- 	(_cpp_lex_token): Remove special cases for #define and #if.
- 	(cpp_get_token): Expect # as a separate token type.  Remove
- 	DIRECTIVE case.
- 	(_cpp_get_directive_token): Remove DIRECTIVE case.
- 	(_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
- 
- 	* cpplib.c (_cpp_check_directive): Set dirno and
- 	SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
- 	(_cpp_handle_directive): Run # <number> through the same logic
- 	as normal directives.
- 	(do_define): Don't set parsing_define_directive.  Use
- 	_cpp_scan_until.  The list does not have a VSPACE at the end.
- 	(do_if): Save, clear, and restore only_seen_white around
- 	_cpp_parse_expr.
- 	(skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
- 	(do_assert, do_unassert): Rewrite.
- 
- 	* cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
- 	(LIST_OFFSET): New flag.
- 	(struct cpp_toklist): Replace dir_handler and dir_flags with
- 	dirno and flags.
- 	(struct cpp_reader): Remove parsing_if_directive and
- 	parsing_define_directive.
- 
- 2000-05-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/inclhack.def (broken_cabs): Update fix to handle comments
- 	following the cabs decl which terminate on the following line.
- 	Add the corresponding test_text case.
- 
- 2000-05-18  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (cpp_reader_init): Initialize col_adjust and
- 	default tab stop size.
- 	(no_num, OPT_ftabstop): New.
- 	(handle_option): Handle "ftabstop=" command-line option.
- 	(print_help): Document it.
- 	* cpplex.c (COLUMN): Remove.
- 	(handle_newline): Reset col_adjust.
- 	(skip_whitespace): Update col_adjust as tabs encountered.
- 	(_cpp_lex_line): Update to use col_adjust.  Call
- 	skip_whitespace for all whitespace.
- 	* cpplib.h (struct cpp_options): New member tabstop.
- 	(struct cpp_reader): New member col_adjust.
- 	(CPP_BUF_COL): Update.
- 	(CPP_BUF_COLUMN): New.
- 	* cpp.texi: Document "-ftabstop=" command line option.
- 
- Wed May 17 18:19:41 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
- 	files.
- 	* configure: Rebuilt.
- 
- Wed May 17 18:06:12 2000  John David Anglin <dave@hiauly1.hia.nrc.ca>
- 
- 	* mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
- 
- 	* tree.c (build_common_tree_nodes): Do not build TI nodes unless
- 	HOST_BITS_PER_WIDE_INT is >= 64.
- 
- 2000-05-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Remove inactive but real insns
- 	in jump-to-next-insn optimization.
- 
- 2000-05-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Don't call optimize_mode_switching
- 	unless OPTIMIZE_MODE_SWITCHING.  Conditionally set no_new_pseudos.
- 	Don't call recompute_reg_usage if no_new_pseudos is true.
- 	* lcm.c (optimize_mode_switching): Move ifdefs outside function.
- 	Return true if we did work; update global life information.
- 	* basic-block.h (optimize_mode_switching): Update decl.
- 
- 2000-05-17  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (expand_name_space): Don't use ptrdiff_t.
- 
- 2000-05-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c: New feature, #pragma system_header.
- 	* cpp.texi: Document special treatment of system headers, and
- 	the various mechanisms to get a header that special treatment.
- 
- 2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (offsetof): Define at the very end, to ensure we prefer
- 	the platform's definition if available.
- 
- 2000-05-16  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
- 	* fixinc/server.c: likewise
- 	* fixinc/fixfixes.c( char_macro_def_fix ): fix regex
- 	+ #ifdef debugging code + use #def constant for
- 	sub-pattern count
- 	* fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
- 	on C++ math namespace
- 
- 2000-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
- 	Don't check the return value of sprintf.  Use asprintf to avoid
- 	buffer overflows.
- 
- Wed May 17 17:27:44 2000  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* flags.h (warn_unused_function, warn_unused_label,
- 	warn_unused_parameter, warn_unused_variable, warn_unused_value):
- 	Replace ``warn_unused''.
- 	(set_Wunused): Add declaration.
- 	* toplev.c (set_Wunused): New function.
- 	(warn_unused_function, warn_unused_label, warn_unused_parameter,
- 	warn_unused_variable, warn_unused_value): New variables.
- 	(W_options): Add -Wunused-function, -Wunused-function,
- 	-Wunused-label, -Wunused-parameter, -Wunused-variable and
- 	-Wunused-value.  Delete -Wunused.  Handled in decode_W_option.
- 
- 	* toplev.c (decode_W_option): Update -Wunused flags by calling
- 	set_Wunused.
- 	* c-decl.c (c_decode_option): Ditto for -Wall.
- 
- 	* stmt.c (expand_expr_stmt, expand_expr_stmt,
- 	warn_about_unused_variables): Replace warn_unused with more
- 	explicit warn_unused_value et.al.
- 	* function.c (expand_function_end): Ditto.
- 	* c-typeck.c (internal_build_compound_expr,
- 	internal_build_compound_expr): Ditto.
- 	* c-decl.c (poplevel, pop_label_level): Ditto.
- 	* toplev.c (check_global_declarations): Replace warn_unused with
- 	check for either warn_unused_function or warn_unused_variable.
- 
- 	* gcc.1, invoke.texi (Warning Options): Document
- 	-Wunused-function, -Wunused-function, -Wunused-label,
- 	-Wunused-parameter, -Wunused-variable and -Wunused-value options.
- 
- Wed May 17 10:28:12 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
- 	$(srcdir), not in the current directory.
- 
- 2000-05-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
- 	assembler supports it.
- 	(.fini, .init): Use a gp-relative indirect call.
- 	(__do_global_dtors_aux): Preserve the gp; rebundle.
- 	(__do_frame_setup): Likewise.
- 	* config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
- 	(.init): Use a gp-relative indirect call.
- 	(__do_global_ctors_aux): Preserve the gp.
- 
- 2000-05-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (commit_one_edge_insertion): Be prepared for a return
- 	insn to be inserted on the edge with a normal jump.
- 	* jump.c (jump_optimize_1): Don't look to create return isns.
- 
- 	* flow.c (flow_delete_insn): Don't adjust reference count of notes.
- 	* jump.c (jump_optimize_1): Likewise.
- 	(returnjump_p): Verify the argument is a JUMP_INSN.
- 	* rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
- 
- 2000-05-16  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
- 	GET_RTX_CLASS (GET_CODE ()) == 'i'.
- 	(large_insn_p): Ditto.
- 	(m32r_is_insn): New function: Return true if the insn contains
- 	an executable instruction.
- 	(m32r_adjust_insn): Use m32r_is_insn.
- 	(m32r_sched_reorder): Use m32r_is_insn.
- 	(m32r_sched_variable_issue): Use m32r_is_insn.
- 
- 2000-05-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
- 	VAR_DECL.
- 
- 	* rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
- 
- 	* rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
- 	according to given options.
- 
- Tue May 16 12:17:31 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
- 	if X has VOIDmode either.
- 	(LIMIT_RELOAD_CLASS): Similarly.
- 
- 	* mn10200.md (indirect_jump, tablejump): Use "register_operand",
- 	not "general_operand" to match the processor's capabilities.
- 
- 2000-05-16  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/README:  corrected return address
- 	* fixinc/check.diff:  regenerate, now that test works
- 	* fixinc/fixfixes.c(format_fix,format_write): reformatted
- 	(char_macro_def_fix,char_macro_use_fix): corrected and
- 	rewrote to use regex to parse the text
- 	* fixinc/inclhack.def: more testing
- 	* fixinc/fixincl.x:  regenerated
- 
- 	* fixinc/inclhack.def: added several "test_text" attributes
- 	changed several fixes to use `c_fix = format'
- 	re-alphabetized the fixes
- 
- 	* fixinc/check.diff: regenerate
- 	* fixinc/fixincl.x: regenerate
- 	* fixinc/check.tpl: added `sparc' and `netinet' to the list
- 	of created dirs
- 
- 
- 2000-05-16  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
- 
- 2000-05-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Run full jump pass before
- 	find_basic_blocks of flow2.
- 
- 2000-05-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c: Fix typos and clarify commentary from last change.
- 	(any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
- 	(safe_to_remove_jump_p): Remove.
- 	(condjump_label): Use pc_set.
- 
- 2000-05-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
- 	that get in the way after reload.
- 	(cond_exec_process_if_block): Skip a label heading THEN block.
- 
- 2000-05-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* varasm.c (output_constant_pool): Abort instead of converting
- 	(improperly) deleted labels to zero.
- 
- 2000-05-16  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (parse_string2): Update comment.
- 	(cpp_lex_line): No special assertion treatment for '('.
- 	* cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
- 	* cpplib.h (SYNTAX_ASSERT): Remove.
- 
- Mon May 15 21:45:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (condjump_p):  Mark as depreached.
- 	(any_condump_p): New.
- 	(any_uncondump_p): New.
- 	(pc_set): New.
- 	(safe_to_remove_jump_p): New.
- 	* rtl.h (any_condump_p, any_uncondjump_p, pc_set
- 	safe_to_remove_jump_p): Declare.
- 
- Mon May 15 21:07:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c: Re-install both patches reverted by last patch.
- 	(struct arg_data): New field tail_call_reg.
- 	(initialize_argument_information): Initialize tail_call_reg
- 	(load_register_parameters): New argument flags, use
- 	tail_call_reg when emiting tail call sequence.
- 	(expand_call): Update call of load_register_parameters;
- 	copy unadjusted_args_size to adjusted_args_size.
- 
- Mon May 15 19:01:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
- 	and bct_p parameters to flags.
- 	* loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
- 	* rtl.h (loop_optimize): Update prototype.
- 	* toplev.c (rest_of_compilation): Update call of loop_optimize.
- 
- 2000-05-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* calls.c (expand_call): Move expand_start_target_temps call after
- 	start_sequence().
- 
- 2000-05-15  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.c (trad_stringify, warn_trad_stringify,
- 	collect_params): Make some pointers pointers to const.
- 	* cpplex.c (auto_expand_name_space) Guaranteed to always
- 	expand by at least one character.
- 	(SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
- 	(struct token_spelling): Use const U_CHAR * rather than PTR.
- 	(expand_name_space): Fix up token pointers if name space
- 	is moved when expanding.
- 	(INIT_NAME, cpp_scan_line, parse_name, parse_number,
- 	parse_string2, save_comment, spell_token, cpp_output_list):
- 	Update so the routines handle tokens with a direct pointer to
- 	their text, rather than an offset into the token's list's namebuf.
- 	(_cpp_lex_line): Rearrange for clarity.
- 
- 	* cpplib.c (_cpp_check_directive): Similarly.
- 	(do_define): Make SYM a pointer to const.
- 	* cpplib.h (struct cpp_name): Replace offset with direct pointer.
- 	(CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
- 	(TOK_OFFSET): Delete.
- 	(TOK_NAME): Update.
- 
- 2000-05-14  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
- 	64-bit ABI.
- 
- 	* config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
- 	into account.
- 	(logical_u_operand): Delete.
- 	(non_logical_cint_operand): Rewrite to take MODE into account.
- 	(non_logical_u_cint_operand): Delete.
- 	(boolean_operator): New function.
- 	(print_operand): Add new %q operand.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
- 	remove logical_u_operand and non_logical_u_cint_operand,
- 	update logical_operand and non_logical_cint_operand.
- 	* config/rs6000/rs6000.md: Rewrite the patterns for performing
- 	logical operations to use %q.
- 
- 	* config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
- 	(movdi): Make similar to movsi.
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
- 	is no such thing as a DImode CONST_DOUBLE.
- 	* config/rs6000/rs6000.c (output_toc): Likewise.
- 
- 	* config/rs6000/rs6000.c (output_cbranch): Don't output prediction
- 	codes when old mnemonics are in use.  Print register names
- 	for cc registers when requested.
- 
- 	* optabs.c (expand_float): Don't allow mode widening that causes
- 	double rounding.
- 
- 	* invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
- 	flags to their current names -maix64 and -maix32.
- 
- 2000-05-14  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
- 	and/or after current text of file
- 	* fixinc/fixlib.c(must_malloc):
- 	* fixinc/fixlib.h(must_malloc): + reformatting
- 	* fixinc/inclhack.def: replace the "1i" and "$a" sed commands
- 	with usages of ``c_fix = wrap;''
- 	Add several tests and use the ``c_fix = format'' fixer more.
- 	* fixinc/fixincl.x: regen
- 	* fixinc/check.diff: regen
- 	* fixinc/check.tpl: emit the associated header with the missing
- 	test message
- 
- Sun May 14 17:58:59 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
- 	variables $src and $dst.
- 
- 2000-05-13  Gabriel Dos Reis <gdr@codesourcery.com>
- 
- 	* diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
- 	(DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
- 	(DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
- 	(struct output_buffer: emitted_prefix_p, prefixing_rule): New
- 	fields.
- 	(set_message_prefixing_rule): Declare.
- 
- 	* diagnostic.c: (current_prefixing_rule): New variable.
- 	(set_message_prefixing_rule): Define.
- 	(output_set_prefix): Adjust buffer->emitted_prefix_p.
- 	(init_output_buffer): Adjust Initialization.
- 	(output_emit_prefix): Rewrite.  Take prefixing rules into account.
- 
- Sat May 13 11:05:47 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* ifcvt.c (if_convert): Do not free NULL.
- 
- 2000-05-12  H.J. Lu  (hjl@gnu.org)
- 
- 	* gthr-dce.h: Add support for libobjc.
- 	* gthr-posix.h: Likewise.
- 	* gthr-solaris.h: Likewise.
- 	* gthr-vxworks.h: Likewise.
- 	* gthr-single.h: Likewise.
- 	* gthr-win32.h: Likewise.
- 
- 2000-05-12  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fr30/fr30.c (fr30_move_double): New function:  Emit code
- 	to move a double word value.
- 	(di_operand): New function: Return true if the operand is suitbale
- 	for a double word move operation.
- 	(nonimmediate_di_operand): New function: Return true if the
- 	operand is a DImode register or MEM.
- 
- 	* config/fr30/fr30.h (PREDICATE_CODES): Add di_operand and
- 	nonimmediate_di_operand.
- 
- 	* config/fr30/fr30-protos.h Add fr30_move_double, di_operand, and
- 	nonimmediate_di_operand.
- 
- 	* config/fr30/fr30.md (movdi): New pattern.  Required because
- 	other patterns generate DImode results.
- 	(movdi_insn): New pattern.
- 
- 2000-05-12  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (struct shadow_summary): Define
- 	bitfields as type unsigned int.
- 
- Sat May 13 00:09:59 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/t-avr: Added definition of FLOAT while generates
- 	fp-bit.c
- 
- 	* config/avr/avr.md: `NEXT_INSN (insn)' substituted to `insn' in
- 	peepholes for tst+jump = sbrs/sbrc optimization.
- 
- Fry May 12 20:03:00 CEST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (emit_push_insn): Do not adjust stack pointer when
- 	preallocating.
- 
- Fri May 12 19:03:58 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* ggc-simple.c (offsetof): Macro fallback definition moved from here ..
- 	* system.h (offsetof): ... to here.
- 
- 2000-05-12  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (final.o): Depend on BASIC_BLOCK_H.
- 	* final.c (final_end_function): Use app_disable.  Rearrange note
- 	handling into a switch.  Emit deleted labels.
- 	(output_asm_label): Generate label strings for deleted labels.
- 	* flow.c (tail_recursion_label_list): New.
- 	(find_basic_blocks_1): Set label_value_list directly.  Collect list
- 	of tail recursion labels from call_placeholders.  Don't add deleted
- 	labels to the label value list.
- 	(cleanup_cfg): Use free_EXPR_LIST_list.
- 	(flow_delete_insn_chain): Turn non-removable labels into notes.
- 	(flow_delete_block): Don't disable deleting the block because of
- 	a non-removable label.
- 	(tail_recursion_label_p): New.
- 	(merge_blocks_move_predecessor_nojumps): Don't disable the merge
- 	because of a label.
- 	(merge_blocks_move_successor_nojumps): Likewise.  Also move a
- 	jump table.
- 	(merge_blocks): Disable a merge because of tail recursion labels.
- 	* ifcvt.c (merge_if_block): Don't disable a merge because of a label.
- 	Use a more accurate measure of not merging the join block.
- 	(find_if_block): Don't disable conversion because of a label.
- 	(find_if_case_1, find_if_case_2): Likewise.
- 	* jump.c (duplicate_loop_exit_test): Preserve the kind of list
- 	element when copying.
- 	(squeeze_notes): Also leave EH notes.
- 	(mark_jump_label): Ignore deleted labels.  Use an INSN_LIST for
- 	REG_LABEL notes.
- 	(delete_insn): Preserve LABEL_NAME in NOTE_SOURCE_FILE when
- 	deleting a label.
- 	* print-rtl.c (print_rtx): Print NOTE_SOURCE_FILE for
- 	NOTE_INSN_DELETED_LABEL.  Print `[# deleted]' for a label_ref
- 	referring to a deleted label.  Convert tail handling to a switch.
- 	* rtl.def (CODE_LABEL): Rearrange elements to be compatible with NOTE
- 	for NOTE_INSN_DELETED_LABEL.
- 	(NOTE): Fix commentary.
- 	* rtl.h (REG_LABEL): Update commentary wrt INSN_LIST.
- 	(REG_CC_SETTER, REG_CC_USER, REG_LIBCALL): Likewise.
- 	(CODE_LABEL_NUMBER, LABEL_NAME): Update index.
- 	(LABEL_NUSES, LABEL_REFS): Likewise.
- 	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_DELETED_LABEL.
- 
- 2000-05-12  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c(format_write): buglet & relaxed rules
- 	* fixinc/check.diff: updated
- 	* fixinc/inclhack.def: corrected & added some test_text-s
- 	* fixinc/genfixes: removed unneeded options to autogen invocation
- 	* fixinc/fixincl.tpl: Specified the output file
- 	* fixinc/fixfixes.c: visual appearance
- 	* fixinc/fixincl.x: regenerate
- 
- 2000-05-12  Zack Weinberg <zack@wolery.cumb.org>
- 
- 	* fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
- 	CTRL_defn_fix): Delete.
- 	(fix_char_macro_defines, fix_char_macro_uses): Rename to
- 	char_macro_def_fix and char_macro_use_fix, respectively.  Put
- 	them into the FIXUP_TABLE.  Get the string to search for from
- 	a c_fix_arg.
- 
- 	(format_write): New function.
- 	(format_fix): Use it.
- 
- 	(FIX_PROC_HEAD): Constify text parameter.
- 	(machine_name_fix): Constify all char *s.
- 	* fixtests.c (skip_quote): Remove double static.
- 
- 	* inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
- 	ctrl_use_quotes): Update for new scheme.
- 	* fixincl.x: Regenerate.
- 
- 2000-05-12  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (PREFERRED_DEBUGGING_TYPE): Redefine as
- 	DWARF2_DEBUG.
- 	(DWARF2_ASM_LINE_DEBUG_INFO): Define.
- 	(ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
- 
- 2000-05-11  Robert Lipe <robertlipe@usa.net>
- 
- 	* fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
- 	* fixincl.x: Regenerate.
- 
- 2000-05-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c: Revert both 05-09 patches.
- 
- 2000-05-11  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.c (print_operand): Print FP constants in
- 	hexadecimal.
- 	* config/mn10300/mn10300.md (movsf, movdf): Use the `F' constraint
- 	for FP values.
- 
- 	* mklibgcc.in (EQ): Define it to an equal sign in the Makefile,
- 	and replace any occurrences of `=' in multilib dirs with `$(EQ)'.
- 
- 2000-05-11  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* fixinc/fixincl.c (run_compiles): Don't crash on null pz_machine.
- 
- 2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/fixfixes.c, fixinc/fixtests.c: Update commentary.
- 
- Thu May 11 22:28:05 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr-protos.c (jump_over_one_insn_p): New declaration.
- 	* config/avr/avr.c (jump_over_one_insn_p): New function.
- 	* config/avr/avr.md: New peepholes added. Output test and
- 	conditional jump to "sbrc" or "sbrs" command.
- 
- 2000-05-11  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* cppmain.c (main): Use IS_DIR_SEPARATOR.
- 
- 2000-05-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* except.c (find_exception_handler_labels_1): New function.
- 	(find_exception_handler_labels): Split into two functions, dive
- 	into CALL_PLACEHOLDERs when looking for exception handler labels.
- 
- 2000-05-11 Stan Cox <scox@cygnus.com>
- 
- 	* regrename.c (replace_reg_in_block): Improve REG_DEAD handling.
- 	* timevar.def (TV_RENAME_REGISTERS): Move before TV_SCHED2.
- 	* toplev.c (rest_of_compilation): Call regrename_optimize before sched2.
- 
- 2000-05-11  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c (double_slash_fix):  obsolete
- 	(else_endif_label_fix): obsolete
- 	(format_fix):  new, unused as yet
- 	(main): obsolete
- 	* fixinc/fixlib.h: added fix description struct for use by format_fix
- 	* fixinc/fixincl.c: removed the struct & test for SIGIOT befure using
- 	* fixinc/Makefile.in:  compile fixfixes.c and fixtests.c as separate
- 	modules.  Removed the vestiges of the script version.
- 	Added support for "make check".
- 	* fixinc/check.diff: base diff file (needs work!!)
- 	* fixinc/check.tpl: quiet the fixup output
- 	* fixinc/fixtests.c (main): obsolete
- 	* fixinc/fixincl.sh:  don't bother copying fixincl to ..
- 	* fixinc/fixincl.tpl:  provide for arguments to c_fix routines
- 
- Thu May 11 11:57:02 MET DST 2000  Jan Hubicka <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Remove dead code after
- 	combine.
- 
- 2000-05-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (collect_funlike_expansion): Make "# is not
- 	followed by a macro argument name" a pedwarn, not an error.
- 	Preserve the # in the output.  Suppress the warning if lang_asm.
- 
- Thu May 11 01:19:31 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa*64*-*-hpux11*): New target for PA64 support.
- 	* configure: Rebuilt.
- 
- 2000-05-10 Laurynas Biveinis <lauras@softhome.net>
- 
- 	* i386/xm-djgpp.h (XREF_FILE_NAME): Add mising brace.
- 
- 2000-05-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c (try_combine): Fix a typo.
- 
- Wed May 10 21:31:44 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.md (insv): Add comment.
- 
- 2000-05-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (libgcc.a, stmp-multilib): Depend on FPBIT and DPBIT.
- 	* mklibgcc.in: Rewrite to not use functions.  Don't shortcut
- 	dependencies on FPBIT and DPBIT.
- 
- 2000-05-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* flow.c (find_auto_inc): Do not bias REG_N_REFS by loop_depth
- 	when optimising for size.
- 	(mark_used_regs:) Ditto.
- 	(try_pre_increment_1): Ditto.
- 
- 2000-05-10  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c (lex): Use %.*s to print non-NUL-terminated string.
- 	Make error message friendlier.
- 
- 	* cpphash.h (struct hashnode): Use struct hack for name
- 	member.
- 	* cpphash.c (struct hashdummy): New.
- 	(eq_HASHNODE): Second argument is a hashdummy, not a HASHNODE.
- 	(make_HASHNODE): No need to set ->name pointer.  Correct
- 	setting of p.
- 	(cpp_lookup): Make 'dummy' a struct hashdummy.  Tidy up a bit.
- 
- 2000-05-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks_1): Remove any spare bb_note
- 	after completion.
- 
- 2000-05-10  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/gnu-regex.c:  reg_syntax_t re_syntax_options must be static
- 
- 2000-05-10  Eric Schweitz  <schweitz@nortelnetworks.com>
- 
- 	* dwarfout.c (dwarfout_finish): Call retry_incomplete_types
- 	after we enter .debug.
- 
- 2000-05-10  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (gen_subprogram_die): Fixup die_parent for the
- 	abstract instance of a nested inline function.
- 
- 	* stor-layout.c (finish_record_layout): finalize_type_size
- 	before laying out the pending_statics.
- 
- Wed 10 May 09:36:47 2000  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (spell_token): New function.
- 	(spell_string, spell_comment, spell_name): fold into
- 	spell_token.
- 	(I, S): Add macros.
- 	(E, H): Remove macros.
- 	(save_comment): Save comment opening characters too.
- 	(_cpp_lex_file): Update to use spell_token.  Tidy up comment
- 	handling.
- 	* cpplib.h (I, S): Add macros.
- 	(E, H): Remove macros.
- 	(TTYPE_TABLE): Update entries for new speller.
- 	(SYNTAX_ASSERT): Remove.
- 
- Wed 10 May 09:08:30 2000  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
- 	when removing escaped newlines.  Reverse sense of test for
- 	escaped newline.
- 
- 2000-05-09  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks_1): Do not delete the first
- 	bb_note we run across.
- 	(create_basic_block): Use reorder_insns to move an existing
- 	bb_note to the correct place.
- 
- 2000-05-09  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (expand_call): Increment currently_expanding_call
- 	before calling optimize_tail_recursion.
- 
- Tue May  9 18:54:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload1.c (reload_combine): Fix errors in last change.
- 
- 2000-05-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.c (used_arg): Skip over a semicolon at the end of the
- 	split-up loop; don't break out of it.
- 
- 	* Makefile.in (WARN_CFLAGS): Add -Wwrite-strings.
- 	(tree.o): Depend on output.h.
- 
- 	* c-decl.c (pending_invalid_xref_file,
- 	current_function_prototype_file): Constify.
- 	(pushdecl): Constify a local char *.
- 	(define_label): Constify filename parameter.
- 	* c-lex.c (init_parse): Constify parameter and return value.
- 	* c-typeck.c (c_expand_asm_operands): Constify filename parameter.
- 	* c-tree.h: Update prototypes.
- 	* c-parse.in: Constify filename member of %union, and if_stmt_file.
- 	* c-parse.y, c-parse.c, c-parse.h, objc/objc-parse.y,
- 	objc/objc-parse.c: Regenerate.
- 
- 	* dwarfout.c (dwarfout_init): Constify main_input_filename parameter.
- 	* dwarfout.h: Update prototypes.
- 	* expr.c (expand_expr): Constify a local char *.
- 	* flags.h: Constify main_input_filename.
- 	* function.c (expand_function_end): Constify filename parameter.
- 	* genrecog.c (make_insn_sequence): Use a character array for
- 	c_test_pos.
- 	(main): Remove unused variables.
- 	* input.h: Constify input_filename, main_input_filename, and
- 	file_stack.name.  Update prototypes.
- 	* output.h: Declare first_global_object_name and
- 	weak_global_object_name here, as const char *.
- 	* stmt.c (expand_asm_operands): Constify filename parameter.
- 	* toplev.c (compile_file, push_srcloc, debug_start_source_file):
- 	Constify filename parameter.
- 	(input_filename, main_input_filename): Constify.
- 	* toplev.h: Update prototypes.
- 	* tree.c: Include output.h.  Don't declare
- 	first_global_object_name or weak_global_object_name.  Clean up string
- 	bashing in get_file_function_name_long.
- 	* tree.h (struct tree_decl): Constify filename member.
- 	(input_filename): Constify.
- 	Update prototypes.
- 	* varasm.c (first_global_object_name, weak_global_object_name):
- 	Constify.
- 	(assemble_start_function, assemble_variable): Clean up string bashing.
- 
- 	* gcc.c: Constify all spec-related strings initialized,
- 	transitively, from string constants.  Constify all strings
- 	and string variables related to multilibs.
- 	(set_spec, read_specs): Cast argument to free to PTR.
- 	(used_arg): Do not modify multilib_matches.  Use strncmp plus
- 	length comparison to compare multilib switches.
- 	* genmultilib: Constify everything declared in multilib.h.
- 
- Tue May  9 22:28:03 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* flow.c (flow_delete_insn): Use INSN_DELETED_P for marking insn
- 	as deleted.
- 
- Tue May  9 20:52:43 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr-protos.h (extra_constraint): change a type of
- 	second argument from char to int to avoid warnings.
- 	(asm_output_byte): Likewise.
- 
- 	* config/avr/avr.c (MAX_LD_OFFSET) New macro.
- 	(initial_elimination_offset): Handle elimination from
- 	FRAME_POINTER_REGNUM to STACK_POINTER_REGNUM.
- 	(legitimate_address_p): Use MAX_LD_OFFSET.
- 	(legitimize_address): Likewise.
- 	(out_movqi_r_mr): Likewise.
- 	(out_movhi_r_mr): Likewise, use `fatal_insn' instead of `fatal'.
- 	(out_movsi_r_mr): Use MAX_LD_OFFSET.
- 	(out_movsi_mr_r): Likewise.
- 	(out_movqi_mr_r): Likewise.
- 	(out_movhi_mr_r): Likewise.
- 	(notice_update_cc): Correct CC for the ashrqi3 with the shift
- 	count as CONST_INT != 6.
- 	(ashlqi3_out): Coding style modifications. Run `fatal_insn' if
- 	shift count is a CONSTANT_P, but not a CONST_INT.
- 	(ashlhi3_out): Coding style modifications.
- 	(ashlsi3_out): Likewise.
- 	(ashrhi3_out): Likewise.
- 	(ashrsi3_out): Likewise.
- 	(lshrhi3_out): Likewise.
- 	(lshrsi3_out): Likewise.
- 	(ashrqi3_out): Generate shift for any known constant count without
- 	scratch register. Run `fatal_insn' if shift count is a CONSTANT_P,
- 	but not a CONST_INT.
- 	(lshrqi3_out): Coding style modifications. Run `fatal_insn' if
- 	shift count is a CONSTANT_P, but not a CONST_INT.
- 	(extra_constraint): change a type of
- 	second argument from char to int to avoid warnings.
- 	(asm_output_byte): Likewise.
- 	(asm_file_end): Output size generated commands count as a hex
- 	number too.
- 
- 	* config/avr/avr.h (RETURN_ADDR_RTX): New macro.
- 
- 	* config/avr/avr.md (addhi3): Fragment commented by &&0 is
- 	removed.
- 	(ashlqi3): Values of "length" attribute changed. Shift count
- 	uses constraints 'n' instead of 'i'.
- 	(ashrqi3): Likewise. Values of "cc" attribute changed. Generate
- 	shifts without clobber register.
- 	(lshrqi3): Shift count uses constraints 'n' instead of 'i'.
- 	(call_insn): Correct test for which_alternative == 1 (was 0).
- 	(call_value_insn): Likewise.
- 
- 	* config/avr/t-avr: Remove definition of FLOAT while generates
- 	fp-bit.c
- 
- 2000-05-09  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/check.tpl:  Template for checking fixes
- 	* fixinc/inclhack.def:  Added 'test_text' for many fixes
- 	disable hpux8_bogus_inlines on SCO
- 	* fixinc/fixinc.sco:  Oh, yes, we don't need this any more.
- 
- Tue May  9 16:30:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Reorganize somewhat in order
- 	to avoid unnecesary recalculation inside loop and make
- 	tail call failure code cleaner.
- 
- Tue May  9 06:30:20 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (nonlocal_reference_p): Minor reformatting.
- 	* reload.c (find_equiv_reg): Simplify logic for
- 	CALL_INSN_FUNCTION_USAGE since can't have SUBREG or pseudos and
- 	some some reformatting.
- 	* reload1.c (reload_combine): Don't assume everything in
- 	CALL_INSN_FUNCTION_USAGE is a REG and clean up code a bit.
- 
- 2000-05-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* final.c (current_insn_predicate): New.
- 	(final_scan_insn): Set it.
- 	* output.h (current_insn_predicate): Declare.
- 
- 	* ifcvt.c (cond_exec_process_insns): New argument prob_val.
- 	Attach it to call insns.
- 	(cond_exec_process_if_block): Track probability for true and
- 	false branches.
- 	(dead_or_predicable): Likewise.
- 
- 	* predict.c (PROB_NEVER, PROB_VERY_UNLIKELY): New.
- 	(PROB_UNLIKELY, PROB_EVEN, PROB_LIKELY): New.
- 	(PROB_VERY_LIKELY, PROB_ALWAYS): New.
- 	(estimate_probability, expected_value_to_br_prob): Use them.
- 
- 	* config/ia64/ia64-protos.h (ia64_expand_prediction): Declare.
- 	* config/ia64/ia64.c (ia64_print_operand_address): Handle 'j'.
- 	(ia64_expand_prediction): New.
- 	(emit_insn_group_barriers): Don't look at notes.  Emit barriers
- 	as needed after calls.
- 	(ia64_epilogue_uses): Mark b0 used.
- 	* config/ia64/ia64.md (beq_true, beq_false): Remove.
- 	(bne_true, bne_false): Remove.
- 	(eq_return, eq_not_return, ne_return, ne_not_return): Remove.
- 	(br_true, br_false): New.  Use predicate_operator and
- 	ia64_expand_prediction.
- 	(return_true, return_false): Likewise.
- 	(call_internal): Use ia64_expand_prediction.  Don't emit stop bit.
- 	(call_internal1, call_value_internal): Likewise.
- 	(call_value_internal1, call_multiple_values_internal1): Likewise.
- 
- 	* config/ia64/ia64.c (ia64_direct_return): Require frame size zero.
- 
- 	* config/ia64/ia64.md (extendsfdf2): Split only after reload.
- 
- 2000-05-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (may_trap_p): Consider old-style and volatile
- 	asms to trap.
- 
- Mon May  8 17:16:48 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (RETURN_ADDR_RTX): Use COUNT not count.
- 
- 2000-05-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.h (predicate_operator): Declare.
- 
- 	* config/ia64/ia64.md (extendsfdf2): Split the nop case out
- 	of existence.
- 
- 	* gensupport.c (process_rtx): Copy and post-process each member
- 	of the define_insn rtvec individually.
- 
- Mon  8 May 22:17:35 2000  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (spell_token): New function.
- 	(TOKEN_LEN): Add 1 for whitespace.
- 	(_cpp_lex_file): Update to use spell_token.
- 	* cpplib.h (E): Remove.
- 	(TTYPE_TABLE): Update CPP_VSPACE entry.
- 
- 2000-05-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (init_propagate_block_info): Watch out for conditional
- 	branch to next instruction, and thus one outgoing edge.
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Exit early
- 	for global register variables; don't special case __[CD]TOR_LIST__;
- 	mind ggc_p for string allocation.
- 
- 2000-05-08  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/i386/i386.h (ELIMINABLE_REGS): Fix comment.
- 
- 2000-05-08  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/mkfixinc.sh:  fixinc.sco is no longer used
- 	i?86-*-msdosdjgpp* no longer uses fixincludes
- 	* fixinc/genfixes:  inclhack.sh and fixincl.sh are no longer generated
- 	* fixinc/inclhack.sh:  deleted
- 	* fixinc/hackshell.tpl:  deleted
- 	* fixinc/inclhack.tpl:  deleted
- 	* fixinc/Makefile.in:  Remove dependencies on above
- 	* fixinc/fixincl.sh:  "DO NOT EDIT" text modified
- 
- 2000-05-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h: Remove undefines which disabled .ctor/.dtor
- 	support.
- 
- 2000-05-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (LOOSE_CFLAGS): Add /g modifiers to both sed
- 	substitutions.
- 
- Sun  7 May 08:43:53 2000  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c: Move new lexer definitions and prototypes
- 	to top.  Conditional include these and the code if
- 	NEW_LEXER is defined.  Rename functions whose names
- 	clash if this code included.
- 
- Sun May  7 00:54:57 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* rtl.def (COND_EXEC): Clarify.
- 
- 	* i386.md (extendsidi2): Clobber (reg:CC 17) in the
- 	same fashion as zero_extendsidi2.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (predicate_operator): New.
- 	(ia64_print_operand): Handle 'J'.
- 	(rtx_needs_barrier): Handle COND_EXEC.
- 	* config/ia64/ia64.h (BRANCH_COST): Define.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md: Document used unspec values.
- 	(attr predicable): New.
- 	(movxf, movxf_internal): New.
- 	(extendsfdf2): Don't comment out nop.
- 	(floatdidf2): Remove.
- 	(truncxfsf2, truncxfdf2, floatdixf2): New.
- 	(abssi2, absdi2): Put the neg in the "true" slot.
- 	(conditional branch instructions): Mark not predicable.
- 	(cmov*_internal): Use predicate_operator.  Split to cond_exec.
- 	(abs*_internal): Likewise.
- 	(alloc, set_bsp): Mark not predicable.
- 	(barrier, insn_group_barrier, flush_cache): Likewise.
- 	(define_cond_exec): New.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c: Include "tm_p.h".
- 
- 	* config/ia64/ia64-protos.h: Rearrange decls to reduce ifdef madness.
- 	(fetchadd_operand, ia64_expand_fetch_and_op): Declare.
- 	(ia64_expand_op_and_fetch): Declare.
- 	* config/ia64/ia64.c: Include "toplev.h".  Kill trailing whitespace.
- 	(setjmp_operand): Constify variables for XSTR.
- 	(ia64_encode_section_info): Likewise.
- 	(ia64_print_operand): Use %d for exact_log2; cast 32-bit printed
- 	values to int.
- 	(ia64_asm_output_external): Constify name.
- 	(process_set): Use HOST_WIDE_INT_PRINT_DEC for frame size.
- 	(process_for_unwind_directive): Provide switch default.
- 	(ia64_expand_compare_and_swap): Remove unused variables.
- 	(ia64_expand_builtin): Likewise.
- 	* config/ia64/ia64.h (ASM_OUTPUT_BYTE): Mask and cast value to int
- 	for printing.
- 
- 	* config/ia64/ia64.c (sdata_symbolic_operand): Mark unused args.
- 	(symbolic_operand, function_operand, setjmp_operand): Likewise.
- 	(shift_count_operand, shift_32bit_count_operand): Likewise.
- 	(shladd_operand, fetchadd_operand, ia64_function_prologue): Likewise.
- 	(ia64_function_epilogue, ia64_setup_incoming_varargs): Likewise.
- 	(ia64_function_arg_partial_nregs, ia64_function_value): Likewise.
- 	(ia64_print_operand_address, ia64_secondary_reload_class): Likewise.
- 	(ia64_expand_builtin): Likewise.
- 	(call_multiple_values_operation): Make dest_regno unsigned.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.def (DEFINE_COND_EXEC): New.
- 	* md.texi: Document it.
- 
- 	* gensupport.c (input_file): Remove.
- 	(struct queue_elem): Add lineno.
- 	(rtx_ready_queue): Remove.
- 	(errors): New.
- 	(predicable_default): New.
- 	(predicable_true, predicable_false): New.
- 	(define_attr_queue, define_attr_tail): New.
- 	(define_insn_queue, define_insn_tail): New.
- 	(define_cond_exec_queue, define_cond_exec_tail): New.
- 	(other_queue, other_tail): New.
- 	(queue_pattern): New.
- 	(process_rtx): Add patterns to the appropriate queues.
- 	(is_predicable, identify_predicable_attribute): New.
- 	(n_alternatives, collect_insn_data): New.
- 	(alter_predicate_for_insn, alter_test_for_insn): New.
- 	(shift_output_template, alter_output_for_insn): New.
- 	(process_one_cond_exec, process_define_cond_exec): New.
- 	(init_md_reader): Read the entire file.  Process define_cond_exec.
- 	(read_md_rtx): Return elements from the queues.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_set_1): Don't update conditional life info
- 	if the register is not_dead.
- 
- 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (STAGESTUFF): Add genrtl.c and genrtl.h.
- 	(mostlyclean): Also delete fixincl, fixinc.sh, and
- 	specs.ready, and make clean in the fixinc subdir.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (gensupport.o): Compile for the host.
- 	(host-prefix gensuuprt.o): Remove.
- 	(genflags.o): Depend on gensupport.h and OBSTACK_H.
- 	(genattrtab.o): Likewise.
- 	(gencodes.o): Depend on gensupport.h.
- 	(genemit.o, genopinit.o, genrecog.o, genextract.o): Likewise.
- 	(genpeep.o, genattr.o, genoutput.o): Likewise.
- 
- 	* gensupport.c (obstack, rtl_obstack): New.
- 	(init_md_reader): Initialize rtl_obstack.
- 	* gensupport.h (rtl_obstack): Declare.
- 	(message_with_line): Declare.
- 
- 	* genattr.c: Remove all traces of obstack manipulation.
- 	* gencodes.c, genconfig.c, genemit.c, genextract.c: Likewise.
- 	* genopinit.c, genoutput.c, genpeep.c, genrecog.c: Likewise.
- 
- 	* genattrtab.c (obstack, rtl_obstack): Remove.
- 	(main): Don't init rtl_obstack.
- 	* genflags.c: Likewise.
- 
- 	* genrecog.c (message_with_line): Move ...
- 	* gensupport.c: ... here.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (build_c_cast): Remove dead code.
- 
- 2000-05-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (split_edge): Don't allocate global_live_at_start for
- 	the new block unless the old blocks had them as well.
- 
- 	* flow.c (mark_set_1): Respect not_dead when updating reg_live.
- 
- 	* ifcvt.c (noce_process_if_block): Don't use an insn_b from
- 	test_bb if a or b uses x.
- 
- 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h: Remove conditional #define of __extension__.
- 	* rtl.h: Add __extension__ to RTL_CHECK1, RTL_CHECK2,
- 	RTL_CHECKC1, RTL_CHECKC2, and RTVEC_ELT macros
- 	(ENABLE_RTL_CHECKING only).
- 	* tree.h: Add __extension__ to TREE_CHECK, TREE_CLASS_CHECK,
- 	CST_OR_CONSTRUCTOR_CHECK, and EXPR_CHECK macros
- 	(ENABLE_TREE_CHECKING only).
- 	* varray.h: Add __extension__ to VARRAY_CHECK macro
- 	(ENABLE_CHECKING only).
- 
- 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
- 
- 	Use new tail-calling mechanism on ARM.
- 	* arm.md (sibcall, sibcall_value): New expands.
- 	(sibcall_insn, sibcall_value_insn, sibcall_epilogue): New insns.
- 	(tailcalling peepholes): Delete.
- 	(push_multi): Simplify.
- 	* arm.c (lr_save_eliminated): Delete definition.
- 	(pattern_really_clobbers_lr, function_really_clobbers_lr): Delete.
- 	(output_return_instruction): Remove checks on lr_save_eliminated.
- 	(output_arm_prologue): Remove old tail-calling code.
- 	(arm_output_epilogue): New parameter, really_return.  All callers
- 	changed.  Handle tail-calling epilogues.
- 	* arm.h (lr_save_eliminated): Delete declaration.
- 	(frame_pointer_needed): Delete declaration.
- 	* arm-protos.h (arm_output_epilogue): Adjust prototype.
- 
- 	* arm.md (is_thumb): Examine symbol thumb_code, not expression
- 	TARGET_ARM.
- 	* arm.c (thumb_code): Define it.
- 	(arm_override_options): Set it.
- 	* arm.h (thumb_code): Declare it.
- 
- 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
- 
- 	* arm-protos.h (arm_dllexport_name_p, arm_dllimport_name_p): Constify.
- 
- 2000-05-06  Richard Earnshaw (reanrsha@arm.com)
- 
- 	* arm.c (arm_gen_load_multiple, arm_gen_store_mulitple): Don't add
- 	bogus clobber to insns.
- 	(load_multiple_operation, store_mulitple_operation): Don't check
- 	for it.
- 	* arm.md (ldmsi_postinc, stmsi_postinc): Adjust accordingly.
- 
- 	* arm.md (and_scc, ior_scc): Add missing mode.
- 
- 	* arm.md (call_value_symbol): Remove predicate from op2.
- 
- 	* arm.h (SPECIAL_MODE_PREDICATES): Define.
- 
- Sat May  6 06:25:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (get_subtarget): New function.
- 	(force_operand, expand_expr, do_store_flag): Use it.
- 
- 	* toplev.c (compile_file): Don't take strlen of NAME if null.
- 
- 2000-05-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* xcoffout.c (xcoff_current_include_file,
- 	xcoff_current_function_file, xcoff_lastfile): Constify char *.
- 	(xcoffout_source_file, xcoffout_source_line): Make filename 'const
- 	char *'.
- 	(xcoffout_declare_function): Make name 'const char *'.
- 	(xcoffout_end_epilogue): Make fname 'const char *'
- 	* xcoffout.h (xcoff_current_include_file, xcoff_lastfile,
- 	xcoffout_declare_function, xcoffout_source_line): Match above.
- 
- 	* aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -mpowerpc64 without
- 	-maix64	is error.
- 	* rs6000.c (print_operand): Fix lossage typo.
- 	(output_cbranch): Remove "cr" decoration for now.
- 	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Make alias 'const char *'.
- 
- Sat May  6 06:55:32 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (out_shift_with_cnt): Bugfix for shift by
- 	constant count.
- 
- 2000-05-05  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/genfixes: Improve the matching for make target names
- 
- 2000-05-05  Catherine Moore  <clm@cygnus.com>
- 
- 	* c-common.c (decl_attributes):  For TYPE_DECLs attach the
- 	attribute to the decl.
- 	* c-decl.c (pushdecl): Propagate the USED attribute to the
- 	type copy.
- 
- 2000-05-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (reg_overlap_mentioned_p): Treat parallels in the
- 	same way emit_group_load does.
- 
- 2000-05-05 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* gcc.c (set_input) [HAVE_DOS_STYLE_FILE_SYSTEM]: Skip drive name.
- 
- 	* toplev.c (output_file_directive): Use IS_DIR_SEPARATOR.
- 	(main): Likewise.
- 
- 2000-05-05 Rodney Brown	<RodneyBrown@mynd.com>
- 
- 	* pa.h (FUNCTION_ARG_ADVANCE): Warning removal.
- 
- Fri May  5 10:29:21 2000  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* config/openbsd.h (LINK_SPEC): pass correct flags to ld
- 	to support -shared, on platforms with dynamic libraries.
- 
- Fri May  5 10:27:06 2000  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* system.h (S_ISBLK): Provide fallback definition.
- 
- 2000-05-05  Geoff Berry  <geoffb@bops.com>
- 
- 	* extend.texi (Extended Asm): Document inability to give asm
- 	statements access to condition codes.
- 
- 2000-05-05  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* varasm.c (asm_emit_uninitialised): Use 0, not NULL
- 	as arg 2 of UNIQUE_SECTION.
- 
- Fri May  5 10:11:41 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* predict.c: Remove May 4 change.
- 	* bb-reorder.c (make_reorder_chain): Do not perform block movement
- 	if we have predicted the branch at 50-50 probability.
- 
- 2000-05-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (init_propagate_block_info): Fix merge error
- 	in HAVE_conditional_execution code.
- 
- Fri May  5 07:43:50 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (out_shift_with_cnt): Genetare a more optimal
- 	shift cycle for unknown shift count. Also generates dec + brpl.
- 	(ashlqi3_out): Don't generate dec + brpl which now generates by
- 	`out_shift_with_cnt'.
- 	(ashlhi3_out): Likewise.
- 	(ashlsi3_out): Likewise.
- 	(ashrqi3_out): Likewise.
- 	(ashrhi3_out): Likewise.
- 	(ashrsi3_out): Likewise.
- 	(lshrqi3_out): Likewise.
- 	(lshrhi3_out): Likewise.
- 	(lshrsi3_out): Likewise.
- 
- 2000-05-04 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* gcc.c (free_split_directories): Correct typo in explanation
- 	of make_relative_prefix.
- 
- 2000-05-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add floating-point
- 	comparison codes to branch_comparison_operator.
- 
- 2000-05-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (noce_process_if_block): Always reset X in the A == B case.
- 
- 2000-05-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (FPBIT_FUNCS): Remove _df_to_usi.
- 	(DPBIT_FUNCS): Remove _sf_to_usi.
- 	(stmp-multilib): Pass LIB1ASMSRC to libgcc.mk.
- 
- 	* ifcvt.c (noce_process_if_block): Fail if A or B modified
- 	between condition and jump.
- 
- 	* libgcc2.c (near eh_context_specific): Comment #endif string.
- 	* longlong.h: Don't use strings with embedded newlines.
- 
- 2000-05-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000-protos.h: Add output_cbranch.
- 	* config/rs6000/rs6000.c (ccr_bit_negated_p): Delete.
- 	(print_operand): Delete %t and %T codes.
- 	(output_cbranch): New function.  Support branch prediction.
- 	* config/rs6000/rs6000.md: Use output_cbranch for
- 	conditional branches and returns.
- 
- 2000-05-04  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* simplify-rtx.c (simplify_ternary_operation): Cast to unsigned.
- 	* stor-layout.c (place_field): Likewise.
- 	* integrate.h (struct inline_remap): Make regno_pointer_align unsigned.
- 	* expr.c (store_expr): Make align unsigned.
- 	* explow.c (plus_constant_wide): Make low words unsigned.
- 	* expmed.c (choose_multiplier): Likewise.
- 	* fold-const.c (fold):  Likewise.
- 	* tree.h (build_int_2): Likewise.
- 	* tree.c (build_int_2_wide, tree_int_cst_msb): Likewise.
- 	* emit-rtl.c (gen_reg_rtx): Add cast to unsigned char*.
- 	(init_emit): Change cast to unsigned char*.
- 	* varasm.c (compare_constant_1): Add cast to char*.
- 	* gcse.c (delete_null_pointer_checks): Change cast to unsigned int*.
- 	* reload1.c (reload): Likewise.
- 
- 	* rtl.h (MEM_SET_IN_STRUCT_P): Use do { } while (0).
- 
- Thu May  4 14:37:23 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* predict.c (estimate_probability): If no prediction was found, then
- 	predict the successor that is the next physical block (if such a
- 	successor exists).
- 
- 2000-05-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/t-alpha (LIB2FUNCS_EXTRA): Use qrrnd.asm in place.
- 
- 2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Don't wrap <sys/types.h> with HAVE_SYS_TYPES_H.
- 
- 2000-05-04  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (CPP_PREDEFINES): Don't define __STDC__. Move
- 	attribute macros from here ...
- 	(CPP_SPEC): to here.
- 	* i386/mingw32.h (CPP_PREDEFINES): Likewise.
- 	(CPP_SPEC): Likewise.
- 	* i386/crtdll.h (CPP_PREDEFINES): Delete attribute macros.
- 
- 	* Makefile.in ($(HOST_PREFIX_1)gensupport.o): Add build rule.
- 	(libgcc.a): Pass LIB1ASMSRC to libgcc.mk.
- 
- 2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
- 
- 	* diagnostic (vbuild_message_string, build_message_string,
- 	build_location_prefix, output_get_prefix, init_output_buffer,
- 	output_notice, vline_wrapper_message_with_location,
- 	v_message_with_decl, default_print_error_function): De-constify.
- 	(set_real_maximum_length): Prototype.
- 
- 	* diagnostic.h (struct output_buffer, init_output_buffer,
- 	output_get_prefix, output_set_prefix): De-constify.
- 
- 	* function.c (init_function_start): Constify.
- 
- 	* gensupport.c (remove_constraints, process_rtx): Prototype.
- 
- 	* gthr-posix.h: Indent uses of #pragma.
- 
- 	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
- 	Prototype.
- 
- 	* predict.c (find_expected_value): Delete prototype.
- 	(expected_value_to_br_prob): Initialize variable `ev_reg'.
- 
- 	* sbitmap.h (debug_sbitmap): Prototype.
- 
- 	* ssa.c (compute_coalesced_reg_partition): Prototype.
- 
- 	* stor-layout.c (debug_rli): Prototype.
- 
- 	* tree.h (round_down): Prototype.
- 	(init_function_start): Constify.
- 
- 2000-05-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h: #define __extension__ away if GCC_VERSION < 2095
- 	(overly conservative).  Change extern inline wrappers to
- 	static inline, define them always, use PARAMS properly.
- 	* cpplex.c (_cpp_get_directive_token): Don't issue pedantic
- 	whitespace warnings for \f and \v at the beginning of a line.
- 
- Thu May  4 10:03:50 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* haifa-sched.c (schedule_insns): Free the flow edge list when it
- 	is no longer needed
- 
- 2000-05-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixincl/inclhack.def: added broken_cabs -
- 	Remove `extern double cabs' declarations from math.h
- 	* fixincl/inclhack.sh: regen
- 	* fixincl/fixincl.x: regen
- 	* fixincl/fixincl.c: Remove BOGOSITY code
- 	* fixincl/mkfixinc.sh: Remove code for installing "shell" version
- 
- Thu May  4 09:45:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.h (MEM_COPY_ATTRIBUTES): Also copy RTX_UNCHANGING_P and
- 	MEM_ALIAS_SET.
- 	* alias.c (canon_rtx): Don't copy RTX_UNCHANGING_P or MEM_ALIAS_SET
- 	when calling MEM_COPY_ATTRIBUTES.
- 	* emit-rtl.c (operand_subword, change_address): Likewise.
- 	* explow.c (stabilize): Likewise.
- 	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* combine.c (combine_simplify_rtx): Don't copy RTX_UNCHANGING_P
- 	when calling MEM_COPY_ATTRIBUTES.
- 	(make_extraction, simplify_shift_const, gen_lowpart_for_combine):
- 	Likewise.
- 	* cse.c (gen_lowpart_if_possible): Likewise.
- 	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
- 	* optabs.c (gen_move_insn): Likewise.
- 	* recog.c (validate_replace_rtx_1): Likewise.
- 	* simplify-rtx.c (add_mem_for_addr): Likewise.
- 	* stmt.c (expand_anon_union_decl): Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/h8300/h7300.c (fix_bit_operand): Likewise.
- 	* config/m88k/m88k.c (legitimize_address, block_move_loop): Likewise.
- 	(block_move_no_loop, block_move_sequence): Likewise.
- 	* config/rs6000/rs6000.c (expand_block_move_mem): Likewise.
- 	* config/alpha/alpha.c (get_aligned_mem): Likewise.
- 	Clear MEM_ALIAS_SET.
- 	* final.c (alter_subreg): Don't copy MEM_ALIAS_SET when calling
- 	MEM_COPY_ATTRIBUTES.
- 
- 2000-05-03  Robert Lipe <robertlipe@usa.net>
- 
- 	* configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
- 	to suppress libgcc1.
- 	(i[34567]86-*-sco3.2v5*) Likewise.
- 	(i[34567]86-*-sco3.2v4*) Likewise.
- 	(i[34567]86-*-sco) Likewise.
- 	(i[34567]86-*-solaris2) Likewise.
- 	(i[34567]86-*-sysv5*) Likewise.
- 	(i[34567]86-*-sysv4*) Likewise.
- 	(i[34567]86-*-udk*) Likewise.
- 	(i[34567]86-*-sysv*) Likewise.
- 
- 2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h (U): New define, to correct type of string constants.
- 	(ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr): New wrapper
- 	routines, to do casts when passing unsigned strings to libc.
- 	* cppexp.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c: Use them.
- 
- 	* cppfiles.c (_cpp_execute_include): Make filename an U_CHAR *.
- 	* cpphash.c (_cpp_quote_string): Make string an U_CHAR *.
- 	* cppinit.c (dump_special_to_buffer): Make macro name an U_CHAR *.
- 	* cpplex.c (parse_ifdef, parse_include, validate_else): Make
- 	second argument an U_CHAR *.
- 
- 	* cppinit.c (builtin_array): Make name and value U_CHAR *, add
- 	length field, clean up initializer.
- 	(ISTABLE): Add __extension__ to designated-
- 	initializers version.
- 	* cpplex.c (CHARTAB): Likewise.
- 
- 	* mbchar.c: Add dummy external declaration to the !MULTIBYTE_CHARS
- 	case so the file won't be empty.
- 
- Wed May  3 21:01:46 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (struct reorder_block_def): Member succ removed.
- 	(REORDER_BLOCK_SUCC): Removed.
- 	(enum reorder_skip_type): Removed.
- 	(skip_insns_between_block): Renamed to skip_insns_after_block.
- 	Removed second argument. Removed dead code and cleaned up.
- 	(make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
- 	(reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
- 	second parameter to skip_insns_after_block.
- 
- Wed May  3 13:29:54 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (staticp, case LABEL_DECL): New case.
- 
- 2000-05-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (start.encap): Do not depend on LIBGCC1.
- 
- 	* mklibgcc1.in: Fix typo last change.
- 
- 2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* Makefile.in (WARN_CFLAGS): Add -pedantic -Wno-long-long.
- 	(LOOSE_CFLAGS): New: CFLAGS without -pedantic and -Wtraditional.
- 	(GCC_CFLAGS): Use it.
- 	(LANG_FLAGS_TO_PASS): New: SUBDIR_FLAGS_TO_PASS with LOOSE_CFLAGS.
- 	* cp/Make-lang.in, java/Make-lang.in, f/Make-lang.in, ch/Make-lang.in,
- 	objc/Make-lang.in: Use it.
- 
- 2000-05-03  Jason R Thorpe  <thorpej@zembu.com>
- 
- 	* config/i386/i386.md (lshrqi2_cmpno): Use q not r in constraint.
- 
- 2000-05-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* mklibgcc.in: Restrict OLDCC=GCC test to native.  Equate
- 	LIBGCC1 empty with libgcc1.null.
- 
- Wed May  3 12:55:46 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* fold-const.c (extract_muldiv, case MAX_EXPR): Don't allow signedness
- 	change.
- 
- 2000-05-03  Greg McGary  <gkm@gnu.org>
- 
- 	* tree.h (tree_common): Add bounded_flag member.  Remove
- 	inaccurate comment about number of remaining bits.
- 	(BOUNDED_INDIRECT_TYPE_P, BOUNDED_POINTER_TYPE_P,
- 	BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
- 	MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
- 	TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
- 	TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED): New macros.
- 	(TYPE_QUAL_BOUNDED): New constant.
- 	(TYPE_QUALS): Handle bounded qualifier.
- 	(TREE_EXPR_QUALS, TREE_FUNC_QUALS): New macros.
- 	(TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
- 	TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
- 	TYPE_AMBIENT_BOUNDEDNESS): New macros.
- 	(MAX_POINTER_DEPTH, VA_LIST_POINTER_DEPTH): New constants.
- 	(tree_type): Add pointer_depth member.  Remove
- 	inaccurate comment about number of remaining bits.
- 	(DECL_POINTER_DEPTH): Add macro.
- 	(tree_decl): Add pointer_depth member.
- 
- Wed May  3 22:52:53 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr-protos.h (test_hard_reg_class): Declared.
- 	* config/avr/avr.c (ashrhi3_out): optimized shift by 15.
- 	(lshrhi3_out): Likewise.
- 	(ashrsi3_out): bugfix in shift by 8.
- 	(test_hard_reg_class): New function.
- 	* config/avr/avr.md: Bugfix inside conditions in peepholes.
- 	(ashlhi3): removed define_expand of this pattern.
- 	(*ashlhi3_insn): renamed to ashlhi3.
- 	(ashlsi3): removed define_expand of this pattern.
- 	(*ashlsi3_insn): renamed to ashlsi3.
- 	(ashrqi3): removed define_expand of this pattern.
- 	(*ashrqi3_insn): renamed to ashrqi3.
- 	(ashrhi3): removed define_expand of this pattern.
- 	(*ashrhi3_insn): renamed to ashrhi3.
- 	(ashrsi3): removed define_expand of this pattern.
- 	(*ashrsi3_insn): renamed to ashrsi3.
- 	(lshrhi3): removed define_expand of this pattern.
- 	(*lshrhi3_insn): renamed to lshrhi3.
- 	(lshrsi3): removed define_expand of this pattern.
- 	(*lshrsi3_insn): renamed to lshrsi3.
- 
- 2000-05-03  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* config/mcore/mcore.c: Replacing inclusion of "stdio,h" with
- 	inclusion of "system.h".
- 
- Wed May  3 11:43:53 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Add check for
- 	TREE_ASM_WRITTEN.
- 
- 2000-05-03  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_override_options): Force -mconstant-gp
- 	if -mauto-pic is on.
- 	(ia64_epilogue_uses): Mark "gp" (r1) as used by the epilogue if
- 	-mconstant-gp is in effect and function-descriptors are being used
- 	to make indirect calls.
- 	* config/ia64/ia64.h (MASK_CONST_GP): New macro.
- 	(MASK_AUTO_PIC): Ditto.
- 	(TARGET_CONST_GP): Ditto.
- 	(TARGET_AUTO_PIC): Ditto.
- 	(TARGET_SWITCHES): Add -mconstant-gp and -mauto-pic options.
- 	(ASM_OUTPUT_DOUBLE_INT): Don't generate @fptr() if -mauto-pic or
- 	-mno-pic is in effect.
- 	(ASM_OUTPUT_XDATA_DOUBLE_INT): Ditto.
- 	* config/ia64/ia64.md (movdi): Use gen_load_gprel64() if
- 	-mauto-pic is in effect.
- 	(gprel64_offset): New pattern.
- 	(load_gprel64): Ditto.
- 	(call): Handle -mauto-pic like -mno-pic (don't use fptr).  If
- 	-mconstant-gp is in effect, no need to preserve gp around direct
- 	calls.
- 	(call_value): Ditto.
- 	* config/ia64/linux.h (PROFILE_BEFORE_PROLOGUE): Define.
- 	(FUNCTION_PROFILER): Define.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_CONSTRUCTOR): Don't generate
- 	@fptr() directive when -mno-pic or -mauto-pic is in effect.
- 	(ASM_OUTPUT_DESTRUCTOR): Ditto.
- 
- 2000-05-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (STAGESTUFF): Add libgcc libgcc.mk.
- 	(libgcc1.null, libgcc1.cross, libgcc1.a): Remove targets.
- 	(libgcc1-asm.a, libgcc1.S, libgcc2.a): Remove targets.
- 	(mklibgcc, libgcc.mk): New targets.
- 	(libgcc.a): Use libgcc.mk.
- 	(stmp-multilib): Likewise.
- 	(stmp-multilib-sub): Remove.
- 	(mostlyclean): Don't delete libgcc2 temp files.
- 	* configure.in (AC_PROG_CC_C_O): Add.
- 	(NO_MINUS_C_MINUS_O): Substitute it.
- 	(all_outputs): Add mklibgcc.
- 	* mklibgcc.in: New file.
- 
- 2000-05-03  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cppexp.c (op_t): Make an int.
- 
- 	* rtlanal.c (dead_or_set_regno_p): Remove unused variable.
- 
- 	* varasm.c (initializer_constant_valid_p): Fix parenthesis.
- 
- 	* gensupport.c (process_rtx): Fix macros used.
- 
- 2000-05-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
- 	call-clobbered registers of a call.
- 
- Wed May  3 12:40:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* gensupport.c: New file.
- 	* gensupport.h: New file.
- 	* Makefile.in (HOST_RTL): Depend on gensupport.
- 	(gensupport.o) New rule.
- 	* genattr.c: Use gensupport for reading .md files.
- 	* genattrtab.c: Ditto.
- 	* gencodes.c: Ditto.
- 	* genconfig.c: Ditto.
- 	* genemit.c: Ditto.
- 	* genextract.c: Ditto.
- 	* genflags.c: Ditto.
- 	* genopinit.c: Ditto.
- 	* genoutput.c: Ditto.
- 	* genpeep.c: Ditto.
- 	* genrecog.c: Ditto.
- 	* rtl.def (define_insn_and_split): New DEF_RTL_EXPR.
- 	* md.texi (Insn Splitting): Document define_insn_and_split.
- 
- Tue May  2 00:20:30 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* flow.c (verify_flow_info): Added two more sanity checks. The
- 	first checks that the blocks are numbered consecutively. The second
- 	checks that n_basic_blocks is actually equal to the number of
- 	basic blocks in the insn chain.
- 
- 2000-05-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h: Add accessor macros for token lists.
- 	* cpplib.c, cpphash.c, cpplex.c: Use them.
- 
- Wed May  3 09:29:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): Don't check for checking
- 	memory usage if not in a function.
- 	* varasm.c (initializer_constant_valid_p, case ADDR_EXPR): Only
- 	return address if static.
- 
- Wed May  3 13:14:49 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (noce_try_cmove_arith):  Use may_trap_p to thest
- 	whether address may trap.
- 
- Tue May  2 23:38:37 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder (chain_reorder_blocks): Changed code to test for
- 	EDGE_FALLTHRU rather than making erroneous assumption that the
- 	first outgoing edge is the fall-through edge.
- 
- Tue May  2 18:20:31 2000  Donald Lindsay  <dlindsay@hound.cygnus.com>
- 
- 	* config/mips/mips.c (mips_build_va_list,mips_va_start,mips_va_arg): new
- 	ABI for varargs, across all MIPS. This is incompatible because the
- 	va_list (__builtin_va_list) structure is different, so a compilation
- 	unit passing a va_list and a compilation unit being passed one, should
- 	both be compiled with the same ABI. (The old structure had two
- 	pointers, now it has three.)
- 
- Tue May  2 19:18:43 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (struct reorder_block_def): Remove members end,
- 	block_begin, and block_end.
- 	(REORDER_BLOCK_OLD_END): Delete.
- 	(REORDER_BLOCK_BEGIN): Delete.
- 	(REORDER_BLOCK_END): Delete.
- 	(chain_reorder_blocks): Remove dead code.
- 
- Tue May  2 17:06:53 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (remove_scope_notes): Check for both types of scope
- 	notes as the end of a basic block before deleting.
- 
- 2000-05-02  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* final.c (final_start_function): Fix spelling of "necessary".
- 
- 2000-05-02  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* toplev.c (debug_ignore_block): Return int.
- 	* dwarf2out.c (dwarf2out_ignore_block): Likewise.
- 	* toplev.h, dwarf2out.h: Adjust.
- 	* emit-rtl.c (remove_unnecessary_notes): Test return value.
- 
- 	* emit-rtl.c (remove_unnecessary_notes): Fix spelling of "necessary".
- 	* toplev.c, final.c, rtl.h: Adjust.
- 
- 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* aclocal.m4 (gcc_AC_CHECK_PROG_VER): New macro.
- 	* configure.in: Look for makeinfo in the unified tree, then
- 	for a system makeinfo which is sufficiently new.
- 	* Makefile.in: If configure says makeinfo is too old, don't
- 	build or install Info documentation.
- 
- 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (collect_params): Fix off-by-one error.
- 	(dump_hash_helper): Dump all four macro nodetypes.
- 
- 2000-05-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpphash.c (trad_stringify): Adjust p after stringification as
- 	well.
- 
- 2000-05-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (CPP_POP, parse_cleanup_t): Delete.
- 	(cpp_buffer): Remove cleanup, seen_eof, manual_pop members.
- 
- 	* cppfiles.c (file_cleanup): Delete.
- 	* cpphash.c (macro_cleanup): Delete.
- 	(collect_objlike_expansion, collect_funlike_expansion,
- 	macarg, scan_arguments): Remove CPP_POP case.
- 
- 	* cpplex.c (null_cleanup): Delete.
- 	(cpp_pop_buffer): Do the work that was done in the cleanups
- 	here.  Call _cpp_unwind_if_stack from here.
- 	(_cpp_expand_to_buffer, cpp_scan_buffer_nooutput,
- 	cpp_scan_buffer): Run until we see CPP_EOF and the top of
- 	stack is the buffer _below_ the one we stacked.
- 	(cpp_get_token): Always pop an exhausted buffer.  Return
- 	CPP_EOF unless it's a macro buffer.  Don't call _cpp_handle_eof.
- 	* cpplib.c (skip_if_group): Don't call cpp_get_token to
- 	increment the line number.
- 	(_cpp_handle_eof): Rename to _cpp_unwind_if_stack.
- 
- 	* fix-header.c (read_scan_file) [parsing getchar()]: Run until
- 	we see CPP_EOF and the top of stack is the buffer _below_ the
- 	one we stacked.
- 	* scan-decls.c: Likewise.
- 
- 2000-05-02  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Handle the case
- 	where this function is called for the second time on a decl that
- 	has had its section info changed in such a way as to move it out
- 	of small data/bss.
- 	* config/ia64/ia64.h (REDO_SECTION_INFO_P): New definition.
- 
- 2000-05-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (dead_or_predicable): Set merge_bb->end to the insn before
- 	the sequence we're moving, not to merge_bb->head.
- 
- 2000-05-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha*-*-linux-gnulibc1*) [tmake_file]: Remove
- 	reference to alpha/t-linux.
- 	(alpha*-*-linux-gnu*): Likewise.
- 	* configure: Rebuild.
- 
- 	* calls.c (expand_call): Don't emit reg notes for a sibcall.
- 
- 	* flow.c (calculate_global_regs_live): Skip for_each_successor_phi
- 	if not in SSA form.
- 
- 	* ifcvt.c (if_convert): Only verify_flow_info if ENABLE_CHECKING.
- 
- 2000-05-01  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* integrate.c (copy_decl_for_inlining): Copy TREE_READONLY and
- 	TREE_THIS_VOLATILE.
- 
- 2000-05-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (noce_emit_cmove): Conditionally compile call to
- 	emit_conditional_move.
- 
- 2000-05-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/linux.h (LINK_SPEC): Use /lib/ld-linux-ia64.so.1
- 	as the dynamic linker.
- 
- 2000-05-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (open_include_file): Open file in blocking mode.
- 	(read_include_file): Don't fcntl(fd, F_SETFL, 0) anymore.
- 	Only exclude block devices and directories.
- 
- 	* cpphash.c (_cpp_make_hashnode): Rename make_HASHNODE, now
- 	static.  Allocate the hashnode and its string in the same
- 	block of memory.
- 	(del_HASHNODE): Don't free h->name.
- 	(_cpp_lookup): If there is no entry for this string, create
- 	one, of type T_VOID.
- 	(_cpp_lookup_slot): Delete.
- 	* cpphash.h: Update prototypes.
- 
- 	* cpplex.c (maybe_macroexpand): Check for hp->type == T_VOID,
- 	not hp == NULL.
- 	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert,
- 	do_unassert, cpp_defined): Use _cpp_lookup.  Don't create a
- 	node here, just fill in the value field properly.  "Delete"
- 	entries by setting the value field to T_VOID.  Check for
- 	hp->type == T_VOID, not hp == NULL.
- 
- 	* Makefile.in (cpplib.o): Don't depend on $(HASHTAB_H).
- 	* cpperror.c, cppexp.c, cpplex.c, cpplib.c:  Don't include
- 	hashtab.h.
- 
- 2000-05-01  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.c (print_operand_address): Do not add
- 	zero to SP.
- 
- 	* config/mn10300/mn10300.c (expand_epilogue): If SP is to be
- 	adjusted by less than 256 bytes, use ret regardless of having any
- 	callee-saved register to restore.
- 
- 2000-05-01 Laurynas Biveinis <lauras@softhome.net>
- 
- 	* tm.texi (TARGET_HAS_F_SETFLKW): Fix typo.
- 
- 2000-05-01 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* config/i386/djgpp.h (INT_ASM_OP): Define.
- 	(CPP_PREDEFINES): Rename MSDOS to __MSDOS__.
- 	(ASM_WEAKEN_LABEL): Define.
- 	(MASK_BNU210): Define.
- 	(SUBTARGET_SWITCHES): Define.
- 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Define.
- 	(MAKE_DECL_ONE_ONLY): Define.
- 	(UNIQUE_SECTION_P, UNIQUE_SECTION): Define.
- 
- 2000-05-01  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* i386/cygwin.h (INT_ASM_OP): Define.
- 
- Mon May  1 18:20:06 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (address_cost): renamed to avr_address_cost.
- 	* config/avr/avr.h (ADDRESS_COST): use avr_address_cost.
- 
- Mon May  1 17:50:44 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (asm_file_start): output 0 as r0 and 1 as r1 in
- 	__tmp_reg__ and __zero_reg__ initialization.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_one_insn): Mark sets even when the insn is dead.
- 
- 	* ifcvt.c (noce_process_if_block): Fail the conversion if X is
- 	referenced bewteen the condition and the jump.  Don't delete
- 	anything but the jump.
- 
- Sun Apr 30 22:48:24 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (scope_def): New struct.
- 	(scope_forest_info): New struct.
- 	(struct reorder_block_def): New member "scope".
- 	(REORDER_BLOCK_SCOPE): New macro.
- 	(relate_bbs_with_scopes): New function and prototype.
- 	(make_new_scope): Likewise.
- 	(build_scope_forest): Likewise.
- 	(remove_scope_notes): Likewise.
- 	(insert_intra_1): Likewise.
- 	(insert_intra_bb_scope_notes): Likewise.
- 	(insert_inter_bb_scope_notes): Likewise.
- 	(rebuild_scope_notes): Likewise.
- 	(free_scope_forest_1): Likewise.
- 	(free_scope_forest): Likewise.
- 	(dump_scope_forest): Likewise.
- 	(dump_scope_forest_1): Likewise.
- 	(chain_reorder_blocks): Set REORDER_BLOCK_SCOPE for new block.
- 	Update REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for new
- 	block.
- 	(reorder_basic_blocks): Added calls to build_scope_scope_forest
- 	and remove_scope_notes before reordering is done. Added calls to
- 	rebuild_scope_notes, free_scope_forest, and reorder_blocks after
- 	after reordering is done.
- 
- 2000-40-30  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def:  Added definitions needed by OSR5,
- 	removed two stale entries (defined away with OLD_CPP).
- 	* fixinc/inclhack.sh: regen
- 	* fixinc/fixincl.x: regen
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c (dead_or_predicable): Manually squeeze non-movable notes
- 	from the last insn in the sequence.
- 
- 2000-04-30  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (cpp_idcmp): New function.
- 	* cpplib.h: Prototype it.
- 	* scan_decls.c (scan_decls): Use it to inspect token names.
- 	* fix-header.c (read_scan_file): Likewise.  Set system_header_p on
- 	the file being run through the preprocessor.
- 	(check_macro_names): Provide length of token to cpp_defined.
- 
- 	* Makefile.in: Remove stale warning message.
- 
- 	* cppfiles.c (redundant_include_p): Provide length of token to
- 	cpp_defined.
- 	* cpphash.c (_cpp_make_hashnode, _cpp_lookup_slot): Hash
- 	values are unsigned int.
- 	(_cpp_lookup, _cpp_lookup_slot): Do not calculate the length.
- 	(_cpp_lookup_slot): Do not calculate the hash, either.
- 	* cpphash.h: Update prototypes.
- 	* cpplib.c (do_define, do_undef, do_pragma_poison, do_assert):
- 	Hashes are unsigned int.  Calculate hash here, pass by value
- 	to _cpp_lookup_slot.
- 
- 2000-04-30  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* simplify-rtx.c (check_value_useless): Delete function.
- 	(discard_useless_locs): Don't call it; manage N_USELES_VALUES counter
- 	by hand.
- 	(cselib_invalidate_regno): Likewise.
- 	(cselib_invalidate_mem_1): Likewise.
- 	(references_value_p): Recognize useless values by the fact that they
- 	have no locations.
- 	(discard_useless_values): Likewise.
- 	(cselib_record_set): This may turn a useless value
- 	into a useful one.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/d30v: New port.
- 
- 	* configure.in (d30v-*): Set fp format.
- 	* configure: Rebuild.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* ifcvt.c: New file.
- 	* Makefile.in (OBJS): Add it.
- 	(ifcvt.o): New target.
- 	* jump.c (jump_optimize_1): Remove all code related to if-conversion,
- 	and conditional arithmetic.
- 	(find_insert_position): Remove.
- 	* timevar.def (TV_IFCVT, TV_IFCVT2): New.
- 	* toplev.c (DFI_ce, DFI_ce2): New.
- 	(dump_file): Add ce and ce2 dumps.
- 	(rest_of_compilation): Run if_convert a couple o times.  Set
- 	cse_not_expected after cse2.  Don't set no_new_pseudos until
- 	after sched1 or recompute_reg_usage.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/t-crtbe (crtbegin.o): Add "-I.".
- 	(crtend.o, crtbeginS.o, crtendS.o): Likewise.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (struct reg_cond_life_info): New.
- 	(struct propagate_block_info): Add reg_cond_dead and reg_cond_reg.
- 	(init_propagate_block_info): Initialize them.
- 	(free_propagate_block_info): Destruct them.
- 	(mark_set_1): Consider conditional life before killing a register.
- 	(mark_regno_cond_dead): New.
- 	(free_reg_cond_life_info): New.
- 	(flush_reg_cond_reg_1, flush_reg_cond_reg): New.
- 	(ior_reg_cond, not_reg_cond, nand_reg_cond): New.
- 	(mark_used_reg): Record conditional life.
- 
- 	* haifa-sched.c (schedule_insns): Disable death counting
- 	sanity check for HAVE_conditional_execution.
- 
- 2000-04-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (TIMEVAR_H): New.
- 	(ggc-simple.o, ggc-page.o, toplev.o, timevar.o): Use it.
- 	(timevar.h): Remove rule.
- 
- 2000-04-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/crtend.asm: Use C comments instead of #.
- 	* config/alpha/crtbegin.asm: Likewise.  Mark __dso_handle hidden.
- 
- 	* config/alpha/elf.h (SELECT_SECTION): Treat CONSTRUCTOR like VAR_DECL.
- 
- 2000-04-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h (enum node_type: Take out T_MCONST.
- 	(union hashval): Move into struct hashnode.
- 	(struct hashnode): Pack tighter.  Remove file, line, col
- 	members.
- 	* cpphash.c: Constify most of the macro-definition structures.
- 	(struct definition): Replace by struct object_defn
- 	and struct funct_defn.  Put file, line, column information
- 	here.  All users updated to match.
- 	(_cpp_create_definition, _cpp_macroexpand): Remove special
- 	case for #define WORD OTHERWORD.
- 	* cpplib.c (do_undef): Remove T_MCONST case.
- 
- 	* cpphash.h: Move struct reflist, struct definition, and the
- 	DEFINITION typedef to cpphash.c.  Use 'struct definition *' in
- 	union hashval.  _cpp_free_definition takes a HASHNODE pointer.
- 	* cpphash.c (_cpp_free_definition): Free data pointed to by
- 	MCONST, XCONST, MACRO, and FMACRO nodes properly.
- 	(_cpp_create_definition, del_HASHNODE): Just call
- 	_cpp_free_definition to clear out a hashnode.
- 	* cpplib.c (do_pragma_poison): Likewise.
- 
- Sat Apr 29 12:25:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (FIRST_DATA_REGNUM,
- 	LAST_DATA_REGNUM, FIRST_ADDRESS_REGNUM, LAST_ADDRESS_REGNUM,
- 	FIRST_EXTENDED_REGNUM, LAST_EXTENDED_REGNUM): New macros.
- 	(REGNO_SP_P): Redefine in terms of STACK_POINTER_REGNUM.
- 	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_EXTENDED_P,
- 	REGNO_AM33_P): Redefine in terms of the new macros.
- 	(CONDITIONAL_REGISTER_USAGE, REGNO_REG_CLASS): Likewise.
- 	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
- 	STRUCT_VALUE): Likewise.
- 	(STACK_POINTER_REGNUM, FRAME_POINTER_REGNUM,
- 	ARG_POINTER_REGNUM, STATIC_CHAIN_REGNUM): Likewise.  Moved.
- 
- Sat Apr 29 01:18:45 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* regmove.c (struct record_stack_memrefs_data): New.
- 	(record_stack_memrefs): New function.
- 	(combine_stack_adjustments_for_block): Use it.
- 
- Sat Apr 29 01:15:27 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (calls_function_1):  Properly handle TREE_LIST expressions;
- 	use special_function_p to detect alloca.
- 
- Fri Apr 28 16:30:33 2000  Marc Espie <espie@cvs.openbsd.org>
- 
- 	* gcc.texi: Fixes for makeinfo 4.0 --html.
- 
- 2000-04-28  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* pcp.h: Delete file.
- 
- 2000-04-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c (function_epilogue): Clean up flags when the last insn
- 	in a function is a barrier.
- 
- 2000-04-28  Chris Demetriou  <cgd@sibyte.com>
- 
- 	* configure.in (sparc-hal-solaris2*): protect [] glob from
- 	my expansion.
- 	(mips*-*-ecoff*, mips*-*-elf*, mips*-*-*): use MASK_ defines
- 	rather than hard-coded constants in target_cpu_default2.
- 	* configure: Regenerate.
- 
- 2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* tree.c (get_callee_fndecl): Extract the initial value from
- 	a readonly decl.
- 
- 2000-04-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* varasm.c (record_constant_1): Record the CODE_LABEL when
- 	taking the address of a LABEL_REF.
- 
- 2000-04-28  Richard Henderson  <rth@cygnus.com>
- 	    Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (combine_pending_stack_adjustment_and_call): Return the
- 	adjustment; don't do the stack adjust.
- 	(expand_call): Call compute_argument_block_size right before
- 	allocating the block; update comment; don't do alignment sanity
- 	checking for sibling call; use args_size instead of
- 	unadjusted_args_size before args_size is adjusted.  Use
- 	combine_pending_stack_adjustment_and_call to compute stack adjust
- 	for must_preallocate case.
- 
- 	* expr.c (push_block): Remove shadow `temp' in inner scope.
- 
- 2000-04-28  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Call
- 	note_deferral_of_defined_inline_function even if the function
- 	can't be inlined.
- 
- 2000-04-28  Scott Bambrough  <scottb@netwinder.org>
- 
- 	* cpplex.c (_cpp_scan_line): Fix buffer overwrite.
- 
- 2000-04-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (rest_of_type_compilation): Fix sdb TIMEVAR typo.
- 
- 2000-04-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* timevar.c (init_timevar): DeANSIfy function definition.
- 
- 2000-04-27  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* Makefile.in (timevar.o): Depend on flags.h.
- 	* timevar.c (unused_stack_instances): New variable.
- 	(timevar_push): Take a timevar_stack_def from
- 	unused_stack_instances if available.
- 	(timevar_pop): Push the popped timevar_stack_def onto
- 	unused_stack_instances.
- 	(TIMEVAR_ENABLE): New macro.
- 	(timevar_def): Make standalone a 1-bit field.  Add field used.
- 	(get_time): Rename parameter to now.  Return after clearing it if
- 	not TIMEVAR_ENABLE.
- 	(init_timevar): Do nothing if not TIMEVAR_ENABLE.
- 	(timevar_pop): Likewise.
- 	(timevar_stop): Likewise.
- 	(timevar_push): Likewise.  Mark the timing variable as used.
- 	(timevar_start): Likewise.
- 	(timevar_print): Do nothing if not TIMEVAR_ENABLE.  Don't print
- 	timevars that were never used.
- 
- 2000-04-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (c_apply_type_quals_to_decl): REFERENCE_TYPES are
- 	always TREE_READONLY.
- 
- 2000-04-27  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Generate mem reference
- 	for call instruction with mode QImode.
- 
- 2000-04-27  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* Makefile.in (OBJS): Add timevar.o.
- 	(toplev.o): Depend on timevar.h.
- 	(ggc-simple.o): Likewise.
- 	(ggc-page.o): Likewise.
- 	(timevar.o): New rule.
- 	(timevar.h): New rule.
- 
- 	* timevar.h: New file.
- 	* timevar.c: Likewise.
- 	* timevar.def: Likewise.
- 
- 	* toplev.h (gc_time, parse_time, varconst_time): Remove.
- 	* toplev.c: Use timevar_push and timevar_pop instead of TIMEVAR
- 	throughout.
- 	(TIMEVAR): Remove macro.
- 	(gc_time, parse_time, varconst_time, integration_time, jump_time,
- 	cse_time, gcse_time, loop_time, cse2_time, branch_prob_time,
- 	flow_time, combine_time, regmove_time, sched_time,
- 	local_alloc_time, global_alloc_time, flow2_time, peephole2_time,
- 	sched2_time, dbr_sched_time, reorder_blocks_time,
- 	rename_registers_time, shorten_branch_time, stack_reg_time,
- 	to_ssa_time, from_ssa_time, final_time, symout_time, dump_time,
- 	all_time): Remove.
- 	(compile_file): Don't initialize time variables.  Call
- 	init_timevar and start TV_TOTAL timer.  Call timevar_print instead
- 	of many calls to print_time.
- 	(rest_of_compilation): Add timing for reload_cse_regs.
- 	(get_run_time): Removed to timevar.c.
- 	(print_time): Likewise.
- 	(get_run_time): Implement using TV_TOTAL time variable.
- 	(print_time): Get total run time from get_run_time.
- 	* ggc-page.c (ggc_collect): Push and pop TV_GC instead of
- 	computing elapsed time explicitly.
- 	* ggc-simple.c (ggc_collect): Likewise.
- 	(gc_time): Remove declaration.
- 
- 2000-04-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (combine_pending_stack_adjustment_and_call): New function.
- 	(expand_call): Use it.
- 
- 2000-04-27  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (mark_set_1):  Handle MEMs in ZERO_EXTRACT/SIGN_EXTRACT
- 	fields.
- 
- Thu Apr 27 12:47:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.md (movhi): Simplify.  Prefer data
- 	registers.
- 
- Thu Apr 27 17:33:05 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (epilogue_done): Pass whole insn to record_insns.
- 
- Thu Apr 27 16:55:28 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (CSE_ADDRESS_COST): Remove.
- 	(find_best_addr): Add new parameter "MODE", use address_cost instead
- 	of CSE_ADDRESS_COST
- 	(address_cost): New.
- 	(fold_rtx): Update call of find_best_addr.
- 	* rtl.h (address_cost): Declare.
- 	* loop.c (general_induction_var): Add new parameter "MODE", use
- 	address_cost instead of ADDRESS_COST
- 	(init_loop): Use address_cost instead of ADDRESS_COST.
- 	(check_insn_for_givs): Update call of general_induction_var.
- 	(find_mem_givs): Likewise.
- 	(consec_sets_giv): Likewise.
- 	* config/i386/i386.h (ADDRESS_COST): Call ix86_address_cost.
- 	* i386.c (ix86_address_cost): New.
- 	* i386-protos.h (ix86_address_cost): Declare.
- 
- Thu Apr 27 11:45:16 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.md (movqi): Simplify.  Prefer data
- 	registers.
- 
- Thu Apr 27 16:11:00 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (store_expr): Use clear_storage instead of direct memset
- 	libcall.
- 
- Thu Apr 27 10:36:51 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.c (mn10300_address_cost): Test
- 	ASHIFT, AND and LABEL_REF.
- 
- Thu Apr 27 15:08:46 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* invoke.texi (-foptimize-sibling-calls): Fix.
- 
- Thu Apr 27 14:54:22 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (load_mems)  Don't use hard registers for the hoisting.
- 
- 	* unroll.c (unroll_loop): Avoid overflow in the n_iterations
- 	calculation; rename const_equiv array in the preconditioning code
- 	from loop_unroll to loop_unroll_precondition
- 
- 2000-04-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (struct propagate_block_info): Remove new_dead, new_live;
- 	add new_set.
- 	(propagate_one_insn): Clear it.  Don't update reg_live here.
- 	(init_propagate_block_info): Update for pbi member changes.
- 	(free_propagate_block_info): Likewise.
- 	(mark_set_1): Know that zero_extract, sign_extract, and
- 	strict_low_part don't kill their argument.  Alter hard subregs.
- 	Update new_set for non-CLOBBER sets.  Update reg_live.
- 	(find_auto_inc): Update reg_live, not new_dead.
- 	(mark_used_reg): Update reg_live, not new_live.  Examine new_set
- 	to determine if the reg in question was set this insn.  Only update
- 	reg info with PROP_REG_INFO.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (allocate_reg_life_data): Set max_regno here ...
- 	(life_analysis): ... not here.
- 
- 	* flow.c (calculate_global_regs_live): Force stack pointer
- 	live at end.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (redirect_exp_1): Rework from old redirect_exp.  Never
- 	commit change group changes.
- 	(invert_exp_1): Similarly.
- 	(redirect_exp, invert_exp): Use them.
- 	(redirect_jump_1): New.
- 	(invert_jump_1): New.
- 	(jump_optimize_1): Remove code subsumed by condexec.c.
- 	* rtl.h (invert_jump_1, redirect_jump_1): Declare.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
- 
- 	* genconfig.c (main): Set all HAVE_foo to 1.
- 
- 	* graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
- 
- 2000-04-26  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* invoke.texi: Document -fssa flag.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (count_reg_sets_1): Remove.
- 	(count_reg_sets, count_reg_references): Remove.
- 	(recompute_reg_usage): Implement with update_life_info.
- 	Reallocate life data.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (update_life_info): Consider blocks null to mean the
- 	universal set.
- 	(calculate_global_regs_live): Likewise.
- 	(life_analysis): Do that instead of collecting all_blocks.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (tidy_fallthru_edge): Don't delete the jump when it's
- 	a still-valid conditional jump.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (invert_jump): Always invert REG_BR_PROB.  Do it correctly.
- 
- 	* bb-reorder.c (reorder_basic_blocks): Don't run estimate_probability.
- 	* flow.c (calculate_loop_depth): Remove.
- 	* output.h (calculate_loop_depth): Don't declare.
- 	* toplev.c (rest_of_compilation): Expand calculate_loop_depth
- 	inline; run estimate_probability at the same time.
- 
- 2000-04-26  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplib.h: "~=" is not a single pp-token.
- 	* cpplex.c: Correct commentary.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_set_1): New arguments code and flags; update all
- 	callers.  Track regno_first and regno_last; do HARD_REGNO_NREGS
- 	test in one place.  Tidy flags tests.  Don't bias REG_N_REFS by
- 	loop_depth when optimizing for size.  Do new_dead update after
- 	emitting REG_UNUSED notes.  Merge mark_set_reg code.
- 	(mark_set_reg): Remove.
- 	(propagate_one_insn): Use mark_set_1 for call-clobbered registers;
- 	arrange to not emit REG_UNUSED notes.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_auto_inc): Use pbi->bb instead of BLOCK_FOR_INSN.
- 	* ssa.c (convert_from_ssa): Don't run compute_bb_for_insn.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_one_insn): Break out from propagate_block.
- 	(init_propagate_block_info): Likewise.
- 	(free_propagate_block_info): Likewise.
- 	(propagate_block): Use them.  Export.
- 	* basic-block.h: Declare them all.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* basic-block.h (life_analysis): Declare here ...
- 	* output.h: ... not here.
- 	* flow.c (life_analysis): Remove nregs parameter; replace
- 	remove_dead_code with flags.  Remove ssa dead code check.
- 	Only init alias analysis if we'll use it.
- 	* reg-stack.c (reg_to_stack): Update life_analysis arguments.
- 	* ssa.c (convert_to_ssa): Likewise.
- 	(convert_from_ssa): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise.
- 
- 2000-04-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (flow_delete_block): Rename from delete_block.  Export.
- 	* basic-block.h (flow_delete_block): Declare.
- 
- 2000-04-26  David S. Miller  <davem@redhat.com>
- 
- 	* optabs.c (emit_libcall_block): Verify insns with INSN_P before
- 	taking a PATTERN of it.
- 
- 2000-04-26  <NeilB@earthling.net>
- 
- 	* cpplex.c (spell_other, spell_char): Remove.
- 	(SPELL_CHAR): New.
- 	(token_spelling, trigraph_map): Use unsigned chars.
- 	(_cpp_lex_line): Tidy up the switch statement.
- 	* cpplib.h: Implement spell_char with spell_string.
- 	(C): New.
- 
- 2000-04-26  <RodneyBrown@pmsc.com>
- 
- 	* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Warning removal.
- 	* pa/pa64-regs.h (HARD_REGNO_MODE_OK): Warning removal.
- 
- 2000-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2out.c (dw_cfi_oprnd_struct, dw_fde_struct, add_fde_cfi,
- 	reg_save, dwarf2out_frame_debug_expr, dwarf2out_def_cfa,
- 	dwarf2out_window_save, dwarf2out_args_size, dwarf2out_reg_save,
- 	dwarf2out_return_save, dwarf2out_return_reg,
- 	dwarf2out_stack_adjust, dwarf2out_frame_debug, primary_filename,
- 	add_AT_lbl_id, add_AT_lbl_offset, type_tag, decl_start_label,
- 	gen_compile_unit_die, dwarf2out_init): Constify a char*.
- 
- 	* dwarf2out.h (dwarf2out_init): Likewise.
- 
- 	* dwarfout.c (filename_entry, primary_filename, last_filename,
- 	type_tag, output_compile_unit_die, dwarfout_init): Likewise.
- 
- 	* tree.h (dwarf2out_def_cfa, dwarf2out_window_save,
- 	dwarf2out_args_size, dwarf2out_reg_save, dwarf2out_return_save,
- 	dwarf2out_return_reg): Likewise.
- 
- 2000-04-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* extend.texi (Function Attributes): Fix description of pure
- 	attribute.
- 
- 2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* integrate.c (output_inline_function): Do clear DECL_DEFER_OUTPUT
- 	before calling rest_of_compilation.
- 
- 2000-04-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h: Remove erroneous commit of #if 0/#endif in
- 	last patch.
- 
- 2000-04-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (cse_insn): Emit barrier after unconditional jump.
- 
- 	* calls.c (expand_call): Disable tail call generation once
- 	rtx_equal_function_value_matters is false.
- 
- 	* reg-stack.c (convert_regs_1): Treat EDGE_ABNORMAL_CALL edges
- 	like EDGE_EH edges.
- 
- 2000-04-25  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
- 
- 	* dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
- 
- 	* dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
- 	is the primary DIE for a member function.
- 	(gen_decl_die): Call set_decl_origin_self here.
- 	* dwarfout.c (output_decl): And here.
- 	* integrate.c (output_inline_function): Not here.
- 	Don't clear DECL_INLINE until after calling rest_of_compilation.
- 	(set_decl_origin_self): No longer static.
- 	* tree.h: Add prototype.
- 	* toplev.c (note_deferral_of_defined_inline_function): Only write
- 	out abstract instance for actual inlines.
- 
- 2000-04-25  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Return
- 	EXTENDED_REGS only if TARGET_AM33.
- 	* config/mn10300/mn10300.md (movsi, addsi): Avoid exposing
- 	SP_REGS to register allocation and reloading unless absolutely
- 	necessary.
- 	(movsi3): Remove special-case of adding non-constants to SP.
- 
- 2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (gcc_AC_NEED_DECLARATION): This macro now requires
- 	INCLUDES to search and does not provide any of its own.  Also it
- 	now accepts optional ACTION-IF-NEEDED and ACTION-IF-NOT-NEEDED
- 	parameters.  Also it does not call AC_DEFINE.
- 	(gcc_AC_NEED_DECLARATIONS): Likewise.  Also this macro now calls
- 	AC_DEFINE and provides for automatic entries for autoheader.
- 	(gcc_AC_FUNC_PRINTF_PTR): Cleanup C code in test.
- 
- 	* configure.in (gcc_AC_NEED_DECLARATIONS): Save and restore CFLAGS
- 	so we can pass -I flags and include gansidecl.h/system.h in this
- 	test.
- 
- 	* acconfig.h: Delete all NEED_DECLARATION_* entries.
- 
- 2000-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* acconfig.h (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
- 	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
- 	ENABLE_GC_ALWAYS_COLLECT): Delete entries.
- 
- 	* configure.in (ENABLE_STD_NAMESPACE, ENABLE_CHECKING,
- 	ENABLE_TREE_CHECKING, ENABLE_RTL_CHECKING, ENABLE_GC_CHECKING,
- 	ENABLE_GC_ALWAYS_COLLECT): Use three argument form of AC_DEFINE
- 	for these macros.  Clean up spacing and linewraps.
- 
- 2000-04-26  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* calls.c (expand_call): Use get_callee_fndecl.
- 
- 	* print-tree.c (print_node): Print the chain of an _EXPR.
- 
- Tue Apr 25 16:16:04 2000  Andrew MacLeod  <amacleod@cygnus.com>
- 			  Jim Wilson  <wilson@cygnus.com>
- 			  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/ia64/crtbegin.asm: Add IA-64 unwind support.  Correct alloc
- 	and gp save/restore problems.
- 	* config/ia64/crtend.asm: Add IA-64 unwind support.
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Don't include pr_size
- 	in fr_pad_size calculation.
- 	(save_restore_insns): Move PR save area.  Correct uses of
- 	RTX_FRAME_RELATED_P.
- 	(ia64_expand_prologue): Mark alloc with RTX_FRAME_RELATED_P.
- 	(ia64_expand_epilogue): Add eh_epilogue support.
- 	(ia64_function_prologue): Emit .prologue directive.
- 	(ia64_init_machine_status, ia64_mark_machine_status): New functions.
- 	(ia64_override_options): Set init_machine_status and
- 	mark_machine_status.
- 	(rtx_needs_barrier): Handle bsp reads and writes.
- 	(spill_offset, sp_offset, spill_offset_emitted, tmp_reg, tmp_saved):
- 	New static variables.
- 	(process_set, process_for_unwind_directive): New functions.
- 	* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR, ASM_OUTPUT_XDATA_SHORT,
- 	ASM_OUTPUT_XDATA_INT, ASM_OUTPUT_XDATA_DOUBLE_INT, ASM_OUTPUT_EH_CHAR,
- 	ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT, ASM_OUTPUT_EH_DOUBLE_INT): New
- 	macros.
- 	(EH_FRAME_SECTION_ASM_OP): Define to IA_64.unwind section.
- 	(IA64_UNWIND_INFO, HANDLER_SECTION, IA64_UNWIND_EMIT): Define.
- 	(struct machine_function): Define.
- 	* config/ia64/ia64.md (bsp_value, set_bsp, eh_epilogue): New patterns.
- 
- 2000-04-25  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.in: make the removal of old programs more
- 	robust
- 	* fixinc/mkfixinc.sh: use the two new targets in the Makefile:
- 	install-bin and install-sh
- 
- 2000-04-25  Nick Clifton  <nickc@cygnus.com>
- 
- 	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): If not
- 	defined, define to return zero.
- 	(function_cannot_inline_p): If a function has any target
- 	specific attributes, then use the macro
- 	FUNCTION_ATTRIBUTE_INLINABLE_P to allow the target to decide
- 	whether it can be inlined.  If it cannot, issue a suitable
- 	explanation.
- 
- 	* tm.texi: Add a new node 'Inlining' to document the new macro
- 	FUNCTION_ATTRIBUTE_INLINABLE_P.
- 
- 2000-04-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (struct cpp_buffer): Add 'mapped' flag; fix
- 	commentary.
- 
- 2000-04-25  Neil Booth  <NeilB@earthling.net>
- 
- 	Restore previous patch, plus the following fixes:
- 
- 	* cpphash.c (_cpp_create_definition): Test PREV_WHITESPACE in
- 	flags, not CPP_OPEN_PAREN.
- 	* cpplex.c (expand_token_space, init_token_list,
- 	cpp_free_token_list): Put the dummy token at list->tokens[-1].
- 	(_cpp_lex_line, _cpp_lex_file): token list is 0-based.
- 
- Tue Apr 25 14:06:40 2000  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/i386/freebsd.h (INT_ASM_OP): Define.
- 
- Tue Apr 25 14:51:07 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (strength_reduce): Fix typo in the last checkin.
- 
- Tue Apr 25 07:33:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (finalize_record_size): Simplify to use existing
- 	functions.
- 	(compute_record_mode): No longer static.
- 	* tree.h (compute_record_mode): New declaration.
- 
- 2000-04-25  Neil Booth  <NeilB@earthling.net>
- 
- 	* Revert my patch below until cause of build failures
- 	determined.
- 
- 2000-04-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (combine_instructions): Add missing argument
- 	to try_combine.
- 
- 	* toplev.c (rest_of_compilation): Delay sibcall optimization
- 	until after emit_eh_context.
- 
- 2000-04-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* combine.c (combine_instructions): Do not try to combine a
- 	sequence of insns when the second insn has been replaced by a
- 	note.
- 
- Mon Apr 24 17:34:18 2000  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* gcc.c (load_specs): New static function.
- 	(read_specs): Use it.
- 
- 	* gcc.c (lookup_compiler): Make multiple passes for case
- 	insensitive filesystems.
- 
- 2000-04-24  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.c: replace HSPACE_BEFORE with PREV_WHITESPACE.
- 	* cpphash.h (_cpp_check_directive): new.
- 	* cpplex.c (handle_newline, cpp_free_token_list,
- 	init_trigraph_map, trigraph_ok, trigraph_replace,
- 	backslash_start, skip_block_comment, skip_line_comment,
- 	skip_whitespace, parse_name, parse_number, parse_string,
- 	copy_comment, _cpp_lex_line, spell_char, spell_string,
- 	spell_comment, spell_name, spell_other, _cpp_lex_file,
- 	_cpp_output_list): new.
- 	(expand_name_space): take length argument.
- 	(init_token_list): add comment list initialisation.
- 	(cpp_scan_line): use auto_expand_name_space.  PREV_WHITESPACE
- 	instead of HSPACE_BEFORE.
- 
- 	* cpplib.c (_cpp_check_directive): new
- 	* cpplib.h (cpp_name, PREV_WHITESPACE, PREV_COMMENT,
- 	DIGRAPH, UNSIGNED_INT, TOK_NAME): new.
- 	(HSPACE_BEFORE): delete.
- 	(TTYPE_TABLE): rearrange.
- 	(struct cpp_toklist): update.
- 
- 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (gcc_AC_HEADER_STRING, gcc_AC_FUNC_PRINTF_PTR,
- 	gcc_AC_C_VOLATILE, gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG): Use the three
- 	argument form of AC_DEFINE.
- 
- 	* configure.in (DEFAULT_LINKER, DEFAULT_ASSEMBLER,
- 	HAVE_INTTYPES_H, PACKAGE, VERSION, ENABLE_WIN32_REGISTRY,
- 	WIN32_REGISTRY_KEY, HAVE_GAS_SUBSECTION_ORDERING, HAVE_GAS_WEAK,
- 	HAVE_GAS_HIDDEN, HAVE_AS_REGISTER_PSEUDO_OP, AS_SPARC64_FLAG,
- 	HAVE_AS_OFFSETABLE_LO10, ENABLE_NEW_GXX_ABI): Likewise.
- 
- 	* acconfig.h: Delete stubs made redundant by 3-arg AC_DEFINE.
- 
- 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (GCC_FOR_TARGET, GCC_CFLAGS, LIBGCC2_INCLUDES,
- 	deduced.h): Use -isystem, not -I, for including system headers.
- 
- 2000-04-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fr30/fr30.md (addsi3): Do not use small add instruction if
- 	the source register is the frame pointer or arg pointer.
- 	(addsi3_small_int): Disallow if source register is the frame
- 	pointer or arg pointer.
- 
- 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Delete redundant
- 	call to AC_MSG_RESULT.
- 
- 2000-04-24  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* invoke.texi: Correct grammatical errors, document
- 	-fno-gnu-keywords as identical to -fno-asm for C++.
- 
- 2000-04-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4: (GCC_HEADER_STRING, GCC_NEED_DECLARATION,
- 	GCC_NEED_DECLARATIONS, GCC_FUNC_VFPRINTF_DOPRNT,
- 	GCC_FUNC_PRINTF_PTR, GCC_PROG_LN_S, GCC_PROG_LN, GCC_C_VOLATILE,
- 	AC_GCC_C_LONG_DOUBLE, GCC_FUNC_MKDIR_TAKES_ONE_ARG,
- 	EGCS_PROG_INSTALL): Rename autoconf macros with prefix gcc_AC_.
- 
- 	* configure.in (AC_GCC_C_LONG_DOUBLE, GCC_PROG_LN, GCC_PROG_LN_S,
- 	GCC_C_VOLATILE, EGCS_PROG_INSTALL, GCC_HEADER_STRING,
- 	GCC_FUNC_VFPRINTF_DOPRNT, GCC_FUNC_PRINTF_PTR,
- 	GCC_NEED_DECLARATIONS, GCC_FUNC_MKDIR_TAKES_ONE_ARG): Invoke with
- 	new macros names.
- 
- 2000-04-24  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* c-pragma.c (push_alignment): Use BITS_PER_UNIT macro.
- 	(pop_alignment): Likewise.
- 	(handle_pragma_token): Likewise.
- 
- 2000-04-24  Robert Lipe <robertlipe@usa.net>
- 
- 	* tree.h (tree_decl): Member `mode' now ENUM_BITFIELD.
- 
- 2000-04-24  Hiroyuki Machida <machida@sm.sony.co.jp>
- 
- 	* combine.c (try_combine): Update reg_nonzero_bits of
- 	newi2pat before newpat.
- 
- Mon Apr 24 10:19:48 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (strength_reduce): Simplify test to INSN_P.
- 	(record_giv): Attempt to simplify the add value, use CONSTANT_P
- 	expressions instead of CONST_INT.
- 	(express_from_1): Likewise.
- 
- 2000-04-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* regs.h (reg_n_max): Don't declare.
- 	* flow.c (reg_n_max): Don't define.
- 	* regclass.c (renumber): Don't initialize to zero.
- 	(regno_allocated): Likewise.
- 	(reg_n_max): Define.
- 	(allocate_reg_info): Don't initialize unnecessarily.
- 
- Mon Apr 24 00:21:36 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* genattrtab.c (find_attr): Initialize unsigned_p, func_units_p
- 	and blockage_p in the newly allocated attribute.
- 
- Sun Apr 23 20:16:49 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.md (addsi): `inc4' on address
- 	registers does not modify cc, but `inc' on an extended
- 	register does.
- 
- Sun Apr 23 16:24:35 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* reload.c (find_equiv_reg): Checks all valueno regs
- 	as a reload_reg_p regs.
- 
- 2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (collect_objlike_expansion): Add sanity check.
- 	(special_symbol): Remove case T_CONST, T_XCONST, T_MCONST.  If
- 	the buffer is the empty string, return.  Mark __DATE__ and
- 	__TIME__ as XCONST nodes, not MCONST.
- 	(_cpp_macroexpand): Avoid pushing an empty buffer.
- 	(funlike_macroexpand): Don't pop token_buffer here.
- 
- Sun Apr 23 18:37:53 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (REGNO_IN_RANGE_P): New macro.
- 	(REGNO_DATA_P, REGNO_ADDRESS_P, REGNO_SP_P): New macros.
- 	(REGNO_EXTENDED_P, REGNO_AM33_P): New macros.
- 	(REGNO_OK_FOR_BASE_P): Define in terms of them.
- 	(REGNO_OK_FOR_BIT_BASE_P, REGNO_OK_FOR_INDEX_P): Likewise.
- 	(REG_OK_FOR_BASE_P): Define in terms of the REGNO macro.
- 	(REG_OK_FOR_BIT_BASE_P, REG_OK_FOR_INDEX_P): Likewise.
- 
- Sun Apr 23 22:23:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (simplify_giv_expr):  Be more agressive on simplifying
- 	constant MULT givs.
- 
- 2000-04-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h (struct definition): Move file, line, col members...
- 	(struct hashnode): ... here.  Also add 'disabled' flag.
- 	(enum node_type): Add T_VOID, T_XCONST, T_FMACRO, and
- 	T_IDENTITY.  Remove T_DISABLED.
- 	Update prototypes.
- 
- 	* cpphash.c (_cpp_dump_definition): Split out dump_DEFINITION.
- 	(collect_expansion): Split into collect_objlike_expansion and
- 	collect_funlike_expansion.
- 	(_cpp_macroexpand): Split out scan_arguments, stringify, and
- 	funlike_macroexpand.
- 	(_cpp_compare_defs): Rename compare_defs, make static.
- 	(_cpp_make_hashnode): Initialize hp->disabled.
- 	(macro_cleanup): Adjust for new token types.  Clear
- 	m->disabled.
- 	(_cpp_create_definition): Move code here to determine what
- 	sort of macro it is, and code to check for redefinitions, from
- 	do_define.  Implement a few simple cases without creating a
- 	full DEFINITION.
- 	(_cpp_macroexpand, special_symbol, _cpp_dump_definition):
- 	Handle the simple cases.
- 	(push_macro_expansion): Set buf->has_escapes and hp->disabled
- 	here.
- 
- 	* cppinit.c (builtin_array): Change MCONST to XCONST
- 	everywhere.
- 	* cpplex.c (maybe_macroexpand): Handle IDENTITY macros here;
- 	fix check for disabled and function-like macros.
- 	* cpplib.c (do_define): Move most logic to
- 	_cpp_create_definition.
- 	(do_undef): Handle new special token types.
- 
- Sun Apr 23 14:27:44 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (maybe_eliminate_biv_1): Use GET_CODE (x) == CONST_INT instead
- 	of CONSTANT_P for mult_val; always use validate_change to update insn.
- 
- 2000-04-22  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (trad_stringify, add_pat): New functions.
- 	(collect_expansion): Restore support for -traditional syntax.
- 	Use trad_stringify and add_pat.
- 	(_cpp_macroexpand): Restore support for -traditional semantics.
- 	* cpplex.c (_cpp_scan_line): Don't change space_before if we
- 	get a COMMENT token.
- 	(_cpp_lex_token): Provide COMMENT tokens to caller if
- 	traditional and parsing_define_directive.
- 	(skip_comment): Warn about // comments if -Wtraditional.
- 	* cpplib.c (do_define): Fix typo.  Create EMPTY nodes with
- 	proper node type.
- 	(do_undef): Don't warn about undefining EMPTY nodes.
- 
- Sat Apr 22 22:35:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (strength_reduce): Fix biv removal code.
- 
- 2000-04-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* predict.c (estimate_probability): Examine both sides of
- 	a branch for no exits.  Use 90% not 50% for predict taken.
- 	Reorg for one copy of note generation code.
- 
- 2000-04-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
- 
- 2000-04-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* diagnostic.c (init_output_buffer): Don't initialize format_args.
- 	(output_clear): Likewise.
- 	(output_printf): Use va_copy.
- 	(vline_wrapper_message_with_location): Likewise.
- 	(v_message_with_decl): Likewise.
- 	(line_wrapper_printf): VA_START infor buffer.format_args directly.
- 	* system.h (va_copy): Provide default implementation.
- 
- 2000-04-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* predict.c (expected_value_to_br_prob): Don't bomb if op1 of
- 	the collected condition is not a constant.
- 
- 2000-04-22  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h: New file.
- 
- 	* Makefile.in (diagnostic.o): Depends on diagnostic.h
- 
- 	* diagnostic.c: Tweak.  Rationalize the output logic.  Adjust
- 	various function prototypes.
- 	(diagnostic.h): #include.
- 	(struct output_buffer): Move into diagnostic.h.
- 	(get_output_prefix): Rename to output_get_prefix.  Export.
- 	(init_output_buffer): Export. Break out.  Adjust initialization.
- 	(output_space_left, output_append): Export.
- 	(output_newline): Rename to output_add_newline.  Export.
- 	(output_clear): Nullify additional output_buffer fields.
- 	(output_puts): Rename to output_add_string.  Export.
- 	(dump_output): Rename to output_flush_on.  Export.
- 	(build_location_prefix): Constify return-type.
- 	(emit_output_prefix): Rename to output_emit_prefix. Export.
- 	(set_real_maximum_length): New function.
- 	(output_set_maximum_length): Ditto
- 	(output_clear): Ditto.
- 	(output_add_character): Ditto.
- 	(output_add_integer): Ditto.
- 	(output_add_space): Ditto.
- 	(output_format): Ditto.
- 	(output_printf): Adjust buffer initialization.
- 	(vline_wrapper_message_with_location): Ditto.
- 	(v_message_with_decl): Ditto.  Adjust call to output_puts
- 	and get_output_prefix.
- 	(default_print_error_function): Adjust buffer initialization.
- 
- Sat Apr 22 06:45:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (preexpand_calls, case CALL_EXPR): Don't look at TYPE_SIZE
- 	of VOID_TYPE.
- 
- Fri Apr 21 18:33:09 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (REGNO_REG_CLASS): Use NO_REGS instead
- 	of explicit 0.
- 
- Fri Apr 21 18:30:00 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Provide more
- 	accurate data about SP moves.
- 
- Fri Apr 21 18:28:28 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (ADDITIONAL_REGISTER_NAMES): Added
- 	aliases to AM33 registers.
- 
- Fri Apr 21 18:26:17 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (REG_CLASS_CONTENTS): Added register 16
- 	to all EXTENDED bitmaps.
- 
- Fri Apr 21 18:17:12 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300-protos.h (mn10300_address_cost): Declare.
- 	* config/mn10300/mn10300.h (ADDRESS_COST): New macro.
- 	* config/mn10300/mn10300.c (mn10300_address_cost): New function.
- 
- Fri Apr 21 18:11:56 2000  Alexandre Oliva  <aoliva@cygnus.com>
- 
- 	* config/mn10300/mn10300.md (movdi, movdf): Do not use `movu' when
- 	the operand is not constant.
- 
- Fri Apr 21 14:58:29 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* reload.c (find_equiv_reg): Checks all valueno and regno regs
- 	as a call-clobbered regs.
- 
- Fri Apr 21 13:30:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.c: Use NOTE_INSN_REPEATED_LINE_NUMBER and NOTE_INSN_RANGE_BEG.
- 	* rtl.h: Likewise.
- 	* rtl.def: Update comment.
- 	* function.c (expand_function): Use NOTE_INSN_REPEATED_LINE_NUMBER.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* profile.c (branch_prob): Likewise.
- 	* ggc-common.c (ggc_mark_rtx_children): Use NOTE_INSN_RANGE_BEG.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* haifa-sched.c (sched_analyze, unlink_other_notes): Likewise.
- 	(reemit_notes): Likewise; also use enum insn_note.
- 
- 	* stor-layout.c (layout_decl): Only set DECL_MODE if not already set.
- 	(place_field): Properly compute know and actual alignment.
- 
- 	* gengenrtl.c (gencode): Write obstack_alloc_rtx function start
- 	in proper format.
- 
- 	* cse.c (cse_insn): In (set REG0 REG1) case, remove a REG_EQUAL
- 	note for REG1.
- 
- 2000-04-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (struct arg, struct arglist): Const-ify strings.
- 	(warn_trad_stringify, duplicate_arg_p): New helper functions.
- 	(collect_expansion): Rewrite to scan over a token list.
- 	Remove -traditional support.
- 	(collect_formal_parameters): Rename to collect_params; rewrite
- 	to scan over a token list.
- 	(_cpp_create_definition): Adjust to scan a token list.
- 	(_cpp_macroexpand): Remove -traditional support.
- 	(_cpp_compare_defs): Whitespace is now canonicalized.
- 	(comp_def_part): Delete function.
- 
- 	* cpphash.h: Update prototypes.
- 	* cpplex.c (init_token_list): Don't set lineno if there is no
- 	buffer.
- 	(pedantic_whitespace): New function.
- 	(_cpp_scan_line): Mark tokens that had hspace before.  Don't
- 	consume a newline.  Use pedantic_whitespace.
- 	(_cpp_lex_token): Remove support for -traditional macros.
- 	(_cpp_get_define_token): Delete.
- 	(_cpp_get_directive_token): Do the real work here.  Use
- 	pedantic_whitespace.
- 	(_cpp_init_input_buffer): Initialize pfile->directbuf.
- 
- 	* cpplib.c (get_macro_name): Delete.
- 	(do_define): Read the entire line into pfile->directbuf, then
- 	feed the token list to _cpp_create_definition.
- 	* cpplib.h (HSPACE_BEFORE): new define.
- 	(struct cpp_reader): Add a toklist member, "directbuf".
- 
- 	* predict.c (estimate_probability): New heuristic: if a jump
- 	branches around a block with no successors, predict it taken.
- 	Disentangle control flow.
- 
- 2000-04-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (emit_iv_add_mult): Revert last change.
- 
- 2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (enum cpp_ttype): Add token types for all
- 	punctuators.  Distinguish pp-numbers from valid C numbers.
- 	Give some tokens better names.  Initialize from macro.
- 	(struct cpp_name, cpp_token, cpp_toklist): New data
- 	structures.
- 	Update prototypes.
- 	* cpplex.c (bump_column, expand_name_space,
- 	expand_token_space, init_token_list, cpp_output_list,
- 	_cpp_scan_line):  New functions.
- 	(output_line_command): Add third argument, new line number.
- 	* cpphash.h: Update prototypes.
- 	* cppexp.c, cpphash.c, cpplib.c, scan-decls.c: Update for new
- 	token names.
- 
- 2000-04-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_floatuns): Emit missing barrier.
- 
- 2000-04-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
- 	object pointed to.
- 
- Thu Apr 20 14:19:18 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (emit_iv_add_mult):  Simplify it's input and emit
- 	REG_EQUAL note explaining the calculated value.
- 
- 	* calls.c (expand_call): Avoid unnecesary precalculation
- 	and outgoing parameters space guarding for sibling calls.
- 	(store_one_arg): Likewise.
- 
- Thu Apr 20 08:01:07 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (enum dump_file_index, dump_file): Add DFI_sibling.
- 	(rest_of_compilation): Write sibling dump file and account
- 	for time as jump time.
- 	* invoke.texi: Update documentation on dump flags.
- 
- 2000-04-19  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* avr.c: #include "system.h" instead of <stdio.h> and <stdlib.h>.
- 
- 2000-04-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (special_symbol): Represent an empty macro with
- 	"\r \r " not just "\r ".
- 	(_cpp_macroexpand): Correct condition for the foo ( ) special
- 	case.
- 	(unsafe_chars): Handle EOF as second argument.
- 	(push_macro_expansion): Simplify test for removing escape at
- 	end.  Do not trim both escapes if there is no text in between.
- 
- 2000-04-19  Jim Blandy  <jimb@redhat.com>
- 
- 	* dwarf2out.c (DWARF2_ADDR_SIZE): New macro.  Use it instead
- 	of PTR_SIZE, when appropriate.
- 
- 2000-04-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* system.h (ONLY_INT_FIELDS): Make sure it is defined.
- 	(USE_ENUM_BITFIELDS): Fix typo.
- 
- Wed Apr 19 12:14:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (place_field): Set rli->offset_align properly.
- 
- 2000-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (BITS_PER_WORD, UNITS_PER_WORD, UNITS_PER_FPREG,
- 	INT_TYPE_SIZE, LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY,
- 	PARM_BOUNDARY): Remove unnecessary casts.
- 
- Wed Apr 19 12:02:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (precompute_arguments): Remove must_preallocate and
- 	args_size calls.
- 	(expand_call): Update call of precompute_arguments.
- 
- 	* loop.c (check_insn_for_bivs, for_every_insn_in_loop,
- 	check_insn_for_givs): Break out from ...
- 	(strength_reduce) ... here; use for_every_insn_in_loop to call
- 	check_insn_for_givs.
- 	* loop.h (for_every_insn_in_loop): Declare.
- 	(loop_insn_callback): New type.
- 
- 2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_pragma_poison):  Strings in the token buffer are
- 	not nul-terminated.
- 
- Tue Apr 18 16:04:12 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/sysv4.h (SELECT_SECTION): Use data_section if
- 	flag_pic and RELOC.
- 
- 2000-04-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cccp.c, cexp.y, cexp.c, cccp.1: Removed.
- 
- 	* configure.in: Delete --disable-cpplib option and all
- 	references to cpp_main.
- 	* configure: Regenerate.
- 	* Makefile.in: Remove all references to CCCP, CCCP_OBJS,
- 	@cpp_main@, cccp.c, cexp.c, cexp.y, cexp.output, cexp.o,
- 	cccp.o, cccp, or cppmain.  Link cppmain.o straight to
- 	cpp$(exeext).  Add --no-headers to makeinfo command line when
- 	generating INSTALL.  Install and uninstall cpp.1 manpage, not
- 	cccp.1.
- 	* install.texi: Delete all references to cexp.y/cexp.c.
- 	Delete ancient instructions for compiling GCC on 3b1.
- 	* INSTALL: Regenerate.
- 
- 	* cppfiles.c, cpplib.h, jump.c, protoize.c, c-lex.c, mips/t-ecoff,
- 	mips/t-elf, mips/t-r3900: Remove references to cccp.c.
- 	* convex.h, fx80.h, m68k.h, pdp11.h: Remove references to
- 	cexp.c/cexp.y.
- 	* xm-linux.h, xm-os2.h, romp.h: Remove definition of BSTRING,
- 	which is no longer tested anywhere.
- 
- 	* cppinit.c (handle_option): Don't run error message through
- 	gettext twice.
- 
- Tue Apr 18 14:16:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* conflict.c (conflict_graph_add): Pass enum type to htab_find_slot.
- 	* cpperror.c (hashtab.h): Now include.
- 	* cppexp.c (hashtab.h): Likewise.
- 	* cpplex.c (hashtab.h): Likewise.
- 	* cppfiles.c (hashtab.h): Likewise.
- 	(find_include_file, _cpp_calc_hash, cpp_read_file): Pass enum type
- 	to htab_find_slot_with_hash.
- 	* cpphash.c (hashtab.h): Now include.
- 	(_cpp_lookup_slot): INSERT is now enum insert_option.
- 	* cpphash.h (_cpp_lookup_slot): Likewise.
- 	* cppinit.c (hashtab.h): Include earlier.
- 	(initialize_builtins): Pass enum to htab_find_slot.
- 	* cpplib.c (hashtab.h): Now include.
- 	(do_define, do_undef): Pass enum type to _cpp_lookup_slot.
- 	(do_pragma_poison, do_assert): Likewise.
- 	* emit-rtl.c (gen_rtx_CONST_INT): Pass enum to
- 	htab_find_slot_with_hash.
- 	* simplify-rtx.c (cselib_lookup_mem, cselib_lookup): Likewise.
- 	* tree.c (type_hash_add): Likewise.
- 	(build1): Minor cleanup.
- 
- 	* ggc-common.c: Add missing blanks.
- 	* print-tree.c (print_node): Print DECL_OFFSET_ALIGN.
- 	* tree.h (DECL_OFFSET_ALIGN): Fix typo in comment.
- 
- 	* stmt.c (mark_case_node): New function.
- 	(mark_case_nesting): Call it.
- 
- 	* expmed.c (emit_store_flag): If comparing two-word integer
- 	with zero, can optimize NE, EQ, GE, and LT.
- 
- 	* c-decl.c (mark_binding_level): Use 'for' instead of `while'.
- 	* conflict.c: Minor cleanups.
- 	* optabs.c: Add blank line
- 	* simplify-rtx.c: Minor cleanups.
- 
- 2000-04-18  Stan Cox  <scox@cygnus.com>
- 
- 	* gengenrtl.c (genlegend): Fix misspelling.
- 
- 2000-04-18  Robert Lipe  <robertlipe@usa.net>
- 
- 	* configure.in (ENUM_BITFIELDS_ARE_UNSIGNED): Added.  Check that
- 	bitfields of the host compiler are not signed quantities.
- 	* config.in: Regenerate.
- 	* configure: Regenerate.
- 	* system.h (USE_ENUM_BITFIELDS): Added.
- 	(ENUM_BITFIELDS): Added.
- 	* rtl.h (rtx_def): Members `code', `mode', now ENUM_BITFIELD.
- 	(SHORT_ENUM_BUG): Deleted.
- 	* tree.h (tree_common): Members `code', `mode', `built_in_class',
- 	now ENUM_BITFIELD.
- 	* config/i386/xm-sco.h (ONLY_INT_FIELDS): Deleted.
- 	(CODE_FIELD_BUG): Likewise.
- 	* config/m68k/x-apollo68 (CC): Deleted SHORT_ENUM_BUG.
- 	(OLD_CC): Likewise.
- 	* config/m68k/x-ccur (X_CFLAGS): Likewise.
- 
- 2000-04-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cpplex.c (_cpp_lex_token): Don't call CPP_BUMP_LINE when the
- 	mark is active.
- 
- 2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c (lex): Don't assume tokens are NUL terminated.
- 	* cpplib.c (do_include, do_import, do_include_next,
- 	read_line_number, detect_if_not_defined): Likewise.
- 	* cpphash.c (collect_expansion): Likewise.
- 	(special_symbol, _cpp_macroexpand): Check return from
- 	cpp_file_buffer.
- 	* cpphash.h (CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q): Delete
- 	macros.  Delete all uses.
- 
- 	* gcc.dg/cpp-mi.c: Add two more test cases.
- 	* gcc.dg/cpp-mind.h, gcc.dg/cpp-mindp.h: New files.
- 
- 2000-04-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* bb-reorder.c (fixup_reorder_chain): Don't look up new block again.
- 	(reorder_basic_blocks): If no epilogue in rtl, force last block last.
- 
- 2000-04-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (expand_function_start): Use hard_function_value to
- 	compute the RTL to use for DECL_RESULT.
- 
- Mon Apr 17 23:35:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (athlon_cost): Fix lea, divide and XFmode move costs.
- 	(x86_integer_DFmode_moves, x86_partial_reg_dependency,
- 	 x86_memory_mismatch_stall): New global variables.
- 	(ix86_adjust_cost): Handle MEMORY_BOTH on places MEMORY_STORE was only
- 	alloved; fix load penalties for Athlon.
- 	* i386.h (x86_integer_DFmode_moves, x86_partial_reg_dependency,
- 	x86_memory_mismatch_stall): Declare.
- 	(TARGET_INTEGER_DFMODE_MOVES, TARGET_PARTIAL_REG_DEPENDENCY,
- 	 TARGET_MEMORY_MISMATCH_STALL): New.
- 	* i386.md (athlon scheduling parameters): Fix latencies according to
- 	Athlon Optimization Manual.
- 	(sahf, xchg, fldcw, leave instruction patterns): Set athlon_decode to
- 	vector.
- 	(fsqrt instruction patterns): Set athlon_decode to direct.
- 	(movhi_1): Promote for TARGET_PARTIAL_REG_DEPENDENCY and for
- 	PARTIAL_REGISTER_STALL with !TARGET_HIMODE_MATH machines.
- 	(movqi_1): Handle promoting correctly for TARGET_PARTIAL_REG_DEPENDENCY
- 	and TARGET_PARTIAL_REGISTER_STALL machines.
- 	(pushdf_nointeger): New pattern.
- 	(pushdf_integer): Rename from pushdf.
- 	(movdf_nointger): Enable for !TARGET_INTEGER_DFMODE_MOVES machines.
- 	(movdf_intger): Disable for !TARGET_INTEGER_DFMODE_MOVES machines.
- 
- 2000-04-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (canonicalize_condition): Add WANT_REG argument.
- 	Stop the search if we match it.
- 	* expr.h (canonicalize_condition): Update decl.
- 	* predict.c (expected_value_to_br_prob): Use it.  Track last
- 	expected value note.
- 	(find_expected_value): Remove.
- 
- 	* reorg.c (mostly_true_jump): Always use BR_PROB if present.
- 
- 2000-04-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE([AC_FUNC_MMAP]).
- 	(AC_FUNC_MMAP_FILE): New macro, tests read-only private map of
- 	a plain file.
- 	* configure.in: Call AC_FUNC_MMAP_FILE.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 	* intl/loadmsgcat.c: Test HAVE_MMAP_FILE not HAVE_MMAP.
- 	* fixinc/fixincl.c: Likewise.
- 
- 2000-04-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_expect): New.
- 	(expand_builtin): Call it.
- 	* builtins.def (BUILT_IN_EXPECT): New.
- 	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_expect.
- 	* extend.texi: Document it.
- 
- 	* predict.c (expected_value_to_br_prob): New.
- 	(find_expected_value): New.
- 	* basic-block.h (expected_value_to_br_prob): Declare.
- 	* toplev.c (rest_of_compilation): Invoke it.
- 
- 	* rtl.h (NOTE_EXPECTED_VALUE): New.
- 	(NOTE_INSN_EXPECTED_VALUE): New.
- 	* rtl.c (note_insn_name): Update.
- 	* print-rtl.c (print_rtx): Reorg NOTE_LINE_NUMBER special
- 	cases; handle NOTE_INSN_EXPECTED_VALUE.
- 
- 2000-04-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (eligible_for_sibcall_delay): Cannot use
- 	leaf sibcall delay slot if flag_pic.
- 	(output_sibcall): Always emit call for leaf sibcall if flag_pic.
- 
- 2000-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (stmp-fixproto): Acknowledge errors in fixproto.
- 
- 	* fixproto: If fix-header fails, exit with an error.
- 
- Mon Apr 17 14:59:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (struct check_dependence_data): New.
- 	(check_dependence): New function.
- 	(invalidate): Use check_depdenence.
- 
- 2000-04-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Adjust, now that
- 	UNITS_PER_WORD is unsigned.
- 
- 	* tree.h (struct tree_common): Remove misleading comment.
- 
- 2000-04-16  Dave Pitts  <dpitts@cozx.com>
- 
- 	* Makefile.in ($(srcdir)/c-parse.y: c-parse.in): Enclose the whole
- 	message in quotes. Otherwise, IBM's make program treats the '#' as the
- 	start of a comment and ignores the remainder of the line.
- 
- 	* c-lex.c (yylex): Change for EBCDIC, lower case characters precede
- 	upper case.
- 	* cccp.c (initialize_char_syntax): Allow for holes in EBCDIC.
- 	* cexp.y (initialize_random_junk): Likewise.
- 	* cppfiles.c (find_include_file): Cast alloca return value.
- 	* cppinit.c (initialize_standard_includes): Likewise.
- 	* cpplib.c (cpp_define, cpp_undef): Likewise.
- 	* defaults.h (ASM_OUTPUT_ASCII): Use ISPRINT.
- 	* final.c (output_asm_insn): Allow for holes in EBCDIC.
- 	* fold-const.c (CHARMASK): New.
- 	(real_hex_to_f): Use it.
- 	* real.c (CHARMASK): New.
- 	(etoasc, asctoeg): Use it.
- 	(asctoeg): EBCDIC lower case characters precede upper case.
- 
- 	* i370.c (mvs_add_label): Change spacing for coding conventions.
- 	* i370.h (ASM_OUTPUT_CASE_LABEL): Change to the data CSECT for the
- 	outputting case vectors.
- 	(ASM_OUTPUT_CASE_END): New, put assembler back into code CSECT.
- 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove page check,
- 	since vector in in the data CSECT.
- 	(ASM_OUTPUT_REG_POP, ASM_OUTPUT_REG_PUSH): Restore to correct operation.
- 	* i370.md (Many patterns): Put the length in the XL directives.
- 	(movdi): Put back STM and MVC in definition.
- 	(floatsidf2): Correct TARGET_ELF_ABI pattern and add back the LE370
- 	pattern using the TCA.
- 	* oe.h (CPP_SPEC): Added to allow trigraphs.
- 	* xm-oe.h (HOST_BITS_PER_LONGLONG): Change to 32. IBM's compiler does
- 	not support the "long long" type.
- 
- 2000-04-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/mips-protos.h (mips_legitimate_address_p): New
- 	function.
- 	(mips_reg_mode_ok_for_base_p): Likewise.
- 	* config/mips/mips.h (REG_OK_STRICT_P): Don't define.
- 	(REG_OK_FOR_INDEX_P): Define unconditionally.
- 	(REG_MODE_OK_FOR_BASE_P): Use mips_reg_mode_ok_for_base_p.
- 	(GO_IF_LEGITIMATE_ADDRESS): Use mips_legitimate_address_p.
- 	* config/mips/mips.c (mips16_simple_memory_operand): Adjust now
- 	that GET_MODE_SIZE is unsigned.
- 	(mips_reg_mode_ok_for_base_p): Define.
- 	(mips_legitimate_address_p): Likewise.  Adjust now
- 	that GET_MODE_SIZE is unsigned.
- 	(block_move_loop): Make the number of bytes unsigned.
- 	(expand_block_move): Likewise.
- 	(function_arg): Make the loop counter unsigned to match the
- 	boundary condition.
- 
- 2000-04-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.h (enum insn_note): New enumeration.  Subsume
- 	NOTE_INSN_DELETED and friends.
- 	(GET_NOTE_INSN_NAME): Adjust index by NOTE_INSN_BIAS.
- 	* rtl.c (note_insn_name): Tweak string order.
- 
- 2000-04-15  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (_cpp_read_and_prescan): Enlarge len by setting it
- 	to offset * 2.
- 
- 	* cpplex.c (output_line_command): Remove debugging prints.
- 	(cpp_output_tokens): Don't write out a zero-length buffer or
- 	try to see if it has a newline in it.
- 	(_cpp_expand_to_buffer): Copy the source buffer before pushing.
- 	(_cpp_read_and_prescan): Move shift-down of pushback bytes to
- 	the end of the loop.  Use memmove.  Don't read past the end of
- 	the buffer.  Remove trailing newlines from error messages.
- 
- 2004-04-16  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h (SYNTAX_INCLUDE, SYNTAX_ASSERT, directive_handler): new.
- 	* cpplib.c: Add new syntax flags to directive table, and
- 	supporting macros.
- 
- 2000-04-15  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* i386.c (ix86_expand_epilogue): Yes, the x86 can pop 64k at once
- 	using ret $N.
- 
- 2000-04-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* toplev.c (display_help): Prefix "f" to "sched-verbose=".
- 	* haifa-sched.c: Update -fsched-verbose comments to use "=".
- 
- Sat Apr 15 10:59:19 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (ggc-page.o): Now includes toplev.h.
- 	* ggc-page.c (toplev.h): Now included.
- 	(gc_time): Remove declaration.
- 	(ggc_collect): TIME now long.
- 	* toplev.c (parse_time, varasm_time, gc_time): Still global; all
- 	others static.
- 	* toplev.h (gc_time, parse_time, gc_time): New declarations.
- 
- 	* toplev.c: Make *_time variable long to reduce chance of overflow.
- 	(TIMEVAR): Likewise for `otime'.
- 	(print_time): Arg is now long; compute percentage in FP and round.
- 	* toplev.h (print_time): Arg is long.
- 
- 	* tree.c: Minor whitespace changes.
- 
- 	* configure.in (alpha*-*-*): Add config/alpha/t-alpha.
- 	* configure: Rebuilt.
- 	* libgcc2.c (__fixunstfDI): Renamed from __fixunstfdi.
- 	(__fixunsxfDI): Renamed from __fixunsxfdi.
- 	(__fixunsdfDI): Renamed from __fixunsdfdi.
- 	(__fixunssfDI): Renamed from __fixunssfdi.
- 	(__floatdisf): Use proper type in REP_BIT macro.
- 	(__fixunsxfSI): Renamed from __fixunsxfsi.
- 	(__fixunsdfSI): Renamed from __fixunsdfsi.
- 	(__fixunssfSI): Renamed from __fixunssfsi.
- 	* libgcc2.h: Add cases for MIN_UNITS_PER_WORD > 4.
- 	Change location of macros and upper-case some names as above.
- 	* longlong.h ([alpha]): Use PARAMS, not __P in decl of __udiv__qrnnd.
- 	* config/alpha/t-alpha, config/alpha/qrnnd.asm: New files.
- 
- 	* varasm.c (assemble_variable): Add cast to remove warning.
- 	(immed_real_const_1): Only use CONST[01]_RTX if not in nested function.
- 
- 	* flow.c (count_basic_blocks, find_basic_blocks_1): Remove last change.
- 	* optabs.c (emit_libcall_block): If have REG_EH_REGION, update
- 	region number to -1.
- 
- 2000-04-15  Richard Earnshaw (rearnsah@arm.com)
- 
- 	* emit-rtl.c (unshare_all_rtl_again): Unmark everything, then
- 	call unshare_all_rtl.
- 
- 	* arm.md (movhi): REGNO_POINTER_ALIGN is now bits.
- 
- Fri Apr 14 16:58:45 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/lib1funcs.asm (__divdi3, __moddi3, __udivdi3, __umoddi3):
- 	Use .s1 not .s0 for all FP instructions.
- 
- 2000-04-14  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (cpp_output_tokens, cpp_scan_buffer_nooutput): New public
- 	interfaces.
- 	(safe_fwrite, output_line_command): New static functions.
- 	(cpp_expand_to_buffer): Now private to cpplib.
- 	(cpp_scan_buffer): Take a printer.
- 
- 	* cpphash.h: Update prototypes.
- 	* cpplib.h: Update prototypes.
- 	(cpp_printer): New.
- 	(cpp_buffer): Remove last_nominal_fname.
- 	(cpp_reader): Remove lineno.
- 
- 	* cppmain.c: Use a cpp_printer.
- 	* fix-header.c: No need to inhibit line commands.  Call
- 	cpp_start_read with no printer.
- 
- 	* cpperror.c (cpp_notice_from_errno): Provide default name.
- 	* cppfiles.c (make_IHASH, _cpp_fake_ihash): New functions.
- 	(find_include_file, cpp_read_file): Use make_IHASH.
- 	(file_cleanup): Set control_macro and clear
- 	input_stack_listing_current here.
- 	(_cpp_execute_include): Don't output entering-file marker.
- 	* cpphash.c (special_symbol): Look for the line number in the
- 	buffer, not the reader.
- 	(_cpp_macroexpand): No need to disable line commands.
- 	(_cpp_dump_definition): No need to generate line commands.
- 	(dump_hash_helper): Remove excess newline from output.
- 	* cppinit.c (dump_special_to_buffer): No need to generate line
- 	commands.
- 	(cpp_printer_init): New.
- 	(cpp_start_read): Take a printer, and start it up if it's not
- 	NULL.  No need to generate line commands.
- 	(cpp_finish): Expect no buffers stacked at all.  Take a
- 	printer argument, and flush the output buffer if it's not
- 	NULL.
- 	* cpplex.c (_cpp_lex_token): Return EOF if there's no buffer.
- 	Don't put two hashes at the beginning of an assertion.
- 	(cpp_get_token): Don't increment pfile->lineno or emit line
- 	commands here.  Return EOF if there's no buffer when we get
- 	EOF.
- 	* cpplib.c (do_define, skip_if_group):
- 	No need to disable line commands.
- 	(_cpp_output_line_command): Delete function.
- 	(do_line): Don't emit line commands here, but set things up so
- 	they will be emitted if necessary.  Use _cpp_fake_ihash to
- 	make unique nominal_fnames if necessary.
- 	(do_elif, do_else, _cpp_handle_eof): Call cpp_error_with_line
- 	with 0 for column, not -1.
- 	(_cpp_handle_eof): Don't set the control macro here.  Don't
- 	clear input_stack_listing_current here.  Don't emit line
- 	commands.
- 
- 2000-04-14  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/sysv4.h (LINK_START_SOLARIS_SPEC): Define to empty
- 	always, use the default SVR4 start address.
- 
- 	* config/rs6000/linux.h (LINK_SPEC): Don't define.
- 	(LINK_SHLIB_SPEC): Define.
- 	(LINK_START_DEFAULT_SPEC): Define.
- 	(LINK_OS_DEFAULT_SPEC): Define.
- 
- 	* config/rs6000/sysv4.h (ENDFILE_SPEC): Use the %(endfile_*) macros.
- 
- 	* config/rs6000/eabi.asm (__eabi): Call __init rather than
- 	__do_global_ctors to handle constructors.
- 	* config/rs6000/sysv4.h (STARTFILE_ADS_SPEC): Use crtbegin.
- 	(STARTFILE_YELLOWKNIFE_SPEC): Likewise.
- 	(STARTFILE_MVME_SPEC): Likewise.
- 	(STARTFILE_SIM_SPEC): Likewise.
- 	(ENDFILE_ADS_SPEC): Use crtend.
- 	(ENDFILE_YELLOWKNIFE_SPEC): Likewise.
- 	(ENDFILE_MVME_SPEC): Likewise.
- 	(ENDFILE_SIM_SPEC): Likewise.
- 	(STARTFILE_SOLARIS_SPEC): Use crtbegin/crtbeginS.
- 	(ENDFILE_SOLARIS_SPEC): Use crtend/crtendS.
- 	(STARTFILE_LINUX_SPEC): Use crtbeginS for shared objects.
- 	(ENDFILE_LINUX_SPEC): Use crtendS for shared objects.
- 	* config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Don't build eabi-ctors.o.
- 	(EXTRA_MULTILIB_PARTS): Build crtbeginS/crtendS.
- 	(CRTSTUFF_T_CFLAGS_S): Define.
- 	* config/rs6000/eabi-ctors.c: Delete.
- 
- 	* config/rs6000/eabi-ci.asm (__init): Align stack to 16-byte
- 	boundary.
- 	(__fini): Likewise.
- 	* config/rs6000/eabi-cn.asm (__init): Allow for 16-byte stack frame.
- 	boundary.
- 	(__fini): Likewise.
- 
- Fri Apr 14 16:09:02 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* combine.c (force_to_mode, case LSHIFTRT): Check that shift shift
- 	plus mask size is smaller or equal to the mode size.
- 
- Fri Apr 14 18:07:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* print-rtl.c (print_rtx, case NOTE): Don't blow up if NOTE_BASIC_BLOCK
- 	not yet set.
- 
- 	* expr.c (reload.h): Now included.
- 	(emit_block_move): Set volatile_ok when checking for movstr.
- 	(emit_move_1): Check for replacements in addresses in multi-word case.
- 	* Makefile.in (expr.o): Now includes reload.h.
- 
- 	* flow.c (count_basic_blocks): Remove unused var PREV_CALL.
- 	Never have a LIBCALL end a basic block.
- 	(find_basic_blocks_1): Likewise.
- 	Reorganize CALL_INSN cases.
- 
- 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP): Revert last change.
- 
- Fri Apr 14 10:54:22 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Drop obsolete
- 	completers from mov.ret instruction.
- 
- 2000-04-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (extract_muldiv): Don't distribute and widen
- 	multiply across plus for non-sizetype unsigned types.
- 
- 2000-04-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_auto_inc): Don't autoinc eliminable registers.
- 	If the original source is dead in the incr insn, it's dead now.
- 
- Fri Apr 14 07:40:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_decl): Properly compare KNOWN_ALIGN to
- 	see if DECL_BIT_FIELD needs to still be set.
- 
- 	* tree.h (struct tree_type): Make PRECISION 9 bits and MODE 7.
- 
- 	* dbxout.c (dbxout_type, case INTEGER_TYPE): Don't call
- 	print_int_cst_octal with something that's not an INTEGER_CST.
- 
- 	* config/alpha/alpha.c (alpha_emit_floatuns): Ensure we pass a REG
- 	and not a SUBREG to a FLOAT rtl.
- 
- Thu Apr 13 19:39:56 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* emit-rtl.c (try_split): Avoid infinite loop if the split
- 	results in a sequence that contains the original insn.
- 
- 2000-04-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/mips.c (expand_block_move): Pass alignment
- 	argument to move_by_pieces in bits, not bytes.
- 
- 	* config/mips/linux.h (CPP_PREDEFINES): Also define __PIC__ and
- 	__pic__ for little endian.
- 
- 2000-04-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386-protos.h: Add prototype for
- 	uno_comparison_operator.
- 
- Thu Apr 13 15:55:08 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (nonlocal_reference_p): Take care of CALL_INSNS's fusage.
- 	* calls.c (ECF_PURE): New flag.
- 	(emit_call_1): Handle ECF_PURE calls.
- 	(initialize_argument_information): Unset ECF_PURE flag too.
- 	(precompute_arguments): Precompute for ECF_PURE too.
- 	(expand_call): Handle ECF_PURE calls too.
- 	(emit_library_call_value_1): Rename no_queue argument to fn_type,
- 	accept value of 2 as pure function.
- 	(emit_library_call_value, emit_library_call): Rename no_queue argument
- 	to fn_type.
- 	* optabs.c (prepare_cmp_insn): Pass fn_type 2 to memcmp call.
- 
- 	* tree.h (DECL_IS_PURE): New macro.
- 	(struct tree_decl): Add pure_flag.
- 	* c-common.c (enum attrs): Add attribute "pure".
- 	(init_attributes): Initialize attribute "pure"
- 	(decl_attributes): Handle attribute "pure".
- 	* extend.texi (Attribute "pure"): Document.
- 	* calls.c (expand_call): Add (mem:BLK (scratch)) to "equal from"
- 	in pure function.
- 	(flags_from_decl_or_type): Support attribute "pure".
- 
- 2000-04-13  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cpplex.c (_cpp_lex_token): Handle digraphs.  Don't null-terminate
- 	the token except for numbers and identifiers.
- 
- Thu Apr 13 00:09:16 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* i386.c (ix86_expand_binary_operator,
- 	ix86_expand_unary_operator): Check no_new_pseudos
- 	instead of reload_in_progress and reload_completed.
- 	(ix86_split_ashldi, ix86_split_ashrdi,
- 	ix86_split_lshrdi): Check no_new_pseudos instead
- 	of reload_completed.
- 
- 2000-04-12  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (purge_addressof): Unshare any shared rtl created by
- 	purge_addressof and its children.
- 
- 2000-04-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (aggregate_value_p): VOID_TYPE nodes are never
- 	aggregates.
- 
- 2000-04-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h (SUBTARGET_ASM_SPEC): Use proper flags if
- 	not compiling PIC code, add flags for mabi=64.
- 	(SUBTARGET_CPP_SIZE_SPEC): New.
- 	(SUBTARGET_CPP_SPEC): New.
- 	(CPP_PREDEFINES): Define __PIC__ and __pic__.  PIC code is default
- 	for MIPS/Linux and lots of code needs these defines.
- 
- Wed Apr 12 22:44:11 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* reorg.c (fill_slots_from_thread): Check side_effects_p when
- 	trying the "opposite arithmetic" approach.
- 
- Wed Apr 12 20:51:20 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (STRUCT_VALUE): Just 0 for TARGET_HITACHI.
- 	(struct sh_args): Add new field force_mem.
- 	(INIT_CUMULATIVE_ARGS): Initialize it.
- 	(FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Act on it.
- 
- Wed Apr 12 17:20:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Do not reverse args in "equal from" field.
- 	(emit_library_call_value_1): Emit_libcall_block for const and pure
- 	function.
- 
- Wed Apr 12 16:00:25 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine): Don't enable optimization for fixed
- 	registers when encountering a BARRIER.
- 
- Wed Apr 12 15:54:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (expand_builtin_memcmp): Do expansion even with
- 	!HAVE_cmpstrsi, do libcall when gen_strcmpsi fails.
- 
- 	* calls.c (expand_call): Do NO_DEFER_POP unconditionally once
- 	stack is properly aligned; add sanity checking for aligned
- 	stack pointer.
- 	(expand_library_call_value_1): Add sanity checking for aligned
- 	stack pointer.
- 
- Wed Apr 12 07:51:54 2000  Catherine Moore  <clm@cygnus.com>
- 
- 	* calls.c (emit_library_call_value_1): Change 3rd arg to
- 	locate_and_pad_parm to disregard the setting of partial.
- 
- Wed Apr 12 08:47:38 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (unsave_expr_now_r, unsafe_for_reeval): Properly do TREE_LIST.
- 
- 	* print-rtl.c (print_rtx): For CALL_PLACEHOLDER, output the
- 	CALL_INSN from the normal case.
- 
- Fri Apr  7 12:23:04 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
- 	New global variables.
- 	(ix86_emit_epilogue_adjustment): Do not attempt to use pop for the
- 	adjustment.
- 	* i386.h (x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8):
- 	Declare,
- 	(TARGET_SUB_ESP_4, TARGET_SUB_ESP_8, TARGET_ADD_ESP_4,
- 	 TARGET_ADD_ESP_8): New macros.
- 	* i386.md: Add peep2s to convert esp adjustments to push and pop
- 	instructions.
- 	(pushsi_prologue, popsi_epilogue): New patterns.
- 
- 2000-04-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* real.c (toe64): Remove stale #endif from the last change.
- 
- 2000-04-12  Stephen L Moshier  <moshier@mediaone.net>
- 
- 	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Comment.
- 	* real.c (toe64): Revert previous change.
- 
- 2000-04-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* objc/objc-act.c: Include ggc.h.
- 	(objc_tree_index, objc_global_trees): Convert most of the
- 	static tree variables into a static array with previous names
- 	as defines.
- 	(objc_ellipsis_node): New variable.
- 	(lang_init): Call objc_act_parse_init and c_parse_init.
- 	Create objc_ellipsis_node.
- 	(build_selector_translation_table): Use objc_ellipsis_node instead
- 	of (tree)1.
- 	(hack_method_prototype): Likewise.
- 	(get_arg_type_list): Likewise.
- 	(start_method_def): Likewise.
- 	(continue_method_def): Likewise.
- 	(gen_method_decl): Likewise.
- 	(ggc_mark_imp_list): New function.
- 	(ggc_mark_hash_table): New function.
- 	(objc_act_parse_init): New function.
- 	* objc/objc-act.h (objc_ellipsis_node): Add extern variable.
- 	* c-parse.in (c_parse_init): For objc add roots of objc specific
- 	local tree variables.
- 	* objc/objc-parse.y: Rebuilt.
- 	* objc/objc-parse.c: Rebuilt.
- 	(opt_parm_list): Use objc_ellipsis_node instead of (tree)1.
- 
- Wed Apr 12 01:00:44 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* cse.c (delete_trivially_dead_insns): Also delete insns
- 	that copy a register to itself where the destination is
- 	a strict_low_part.
- 
- 2000-04-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (struct propagate_block_info): Add new_dead, new_live.
- 	(propagate_block): Initialize them.  Use them in parallel instead
- 	of one tmp variable, ie revert much of the 0408 and 0407 functional
- 	changes, but keep the structural changes.
- 	(mark_set_regs): Take new_dead from propagate_block_info instead.
- 	(mark_set_1, mark_set_reg): Likewise.
- 	(mark_used_regs): Likewise with new_live.
- 	(mark_used_reg): Likewise.  Revert 0408 change.
- 
- 2000-04-11  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h: (INCOMING_RETURN_ADDR_RTX): Remove Dwarf2
- 	restriction.
- 	(DWARF_FRAME_RETURN_COLUMN): Remove Dwarf2 restriction.
- 
- 2000-04-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/elfos.h (SELECT_SECTION): Decide whether to use a data or
- 	const section to output a CONSTRUCTOR based on the same conditions
- 	used for VAR_DECLs.
- 
- Tue Apr 11 09:55:59 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/long-double.h (FIX_TRUNCTFSI2_LIBCALL): Tweak for PA64.
- 	* pa/pa-protos.h (output_call): Add additional argument indicating
- 	if the call is a sibling/tail call.
- 	(compute_zdepdi_operands, output_64bit_and): Prototype new functions.
- 	(compute_64bit_ior, cmpib_comparison_operator): Likewise.
- 	(function_arg, function_arg_partial_nregs): Likewise
- 	* pa/pa.c (override_options): Always set flag_pic for TARGET_64BIT.
- 	(emit_move_sequence): Zero extend certain constants as needed
- 	for TARGET_64BIT.
- 	(compute_zdepdi_operands, output_64bit_and): New functions.
- 	(output_64bit_ior, function_arg): Likewise.
- 	(cmpib_comparison_operator, function_arg_partial_nregs): Likewise.
- 	(compute_frame_size, hppa_expand_prologue): Handle TARGET_64BIT.
- 	(hppa_expand_epilogue, return_addr_rtx, hppa_va_arg): Likewise.
- 	(hppa_builtin_saveregs, output_cbranch, output_bb): Likewise.
- 	(output_bvb): Likewise.
- 	(output_millicode_call): Return pointer is in %r2 for TARGET_64BIT.
- 	(output_call): New argument 'sibcall'.  Generate sibcall sequences
- 	as needed.
- 	(print_operand); Handle cases 'Q', 'p', and 'z' for TARGET_64BIT.  For
- 	(ouput_arg_descriptor): Do not emit argument descriptors for
- 	TARGET_64BIT.
- 	* pa/pa.h (TARGET_PA_11, TARGET_PA_20): Only define if not already
- 	defined.
- 	(TARGET_64BIT, PROMOTE_FUNCTION_RETURN): Define.
- 	(FUNCTION_OK_FOR_SIBALL): Define.
- 	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC): Define.
- 	(CPP_CPU_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS, EXTRA_SPECS): Likewise.
- 	(CPP_SPEC): Use new spec infrastructure.
- 	(BITS_PER_WORD, UNITS_PER_WORD): Handle TARGET_64BIT.
- 	(STACK_BOUNDARY, FUNCTION_BOUNDARY, PIC_OFFSET_TABLE_REGNUM): Likewise.
- 	(RETURN_IN_MEMORY, EXTRA_CONSTRAINT, FIRST_PARM_OFFSET): Likewise.
- 	(REG_PARM_STACK_SPACE, STACK_POINTER_OFFSET): Likewise.
- 	(STACK_DYNAMIC_OFFSET, FUNCTION_VALUE): Likewise.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_CALLEE_COPIES): Likewise.
- 	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
- 	(INITIALIZE_TRAMPOLINE, LEGITIMATE_CONSTANT_P): Likewise.
- 	(CONST_OK_FOR_LETTER_P, MOVE_RATIO): Likewise.
- 	(FUNCTION_ARG); Call out to C code.
- 	(FUNCTION_ARG_PARTIAL_NREGS): Likewise.
- 	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define.
- 	(MIN_UNITS_PER_WORD): Likewise.
- 	* pa/pa.md (cmpdi): New expander.
- 	(scc patterns, movstrsi): Not available for TARGET_64BIT.
- 	(64bit conditional arithmetic): New patterns.
- 	(absdi2, smindi3, umindi3, smaxdi3, umaxdi3): New patterns.
- 	(movsicc): Not available if modes on all the operands to not match.
- 	(movdicc): New expander and associated patterns.
- 	(64bit branches): New patterns.
- 	(pre_load, post_store): Generate appropriate code for TARGET_64BIT.
- 	(pre_ldd, post_std): New patterns.
- 	(64bit addil, load low part): New patterns.
- 	(special movsf constant): Not available for TARGET_64BIT.
- 	(movsf, movdf expanders): Force constants into memory.
- 	(32bit movdf/movdi patterns): Disable for TARGET_64BIT.
- 	(64bit movdf/movdi patterns): New patterns.
- 	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New patterns
- 	for TARGET_64BIT.
- 	(extendqidi2, extendhidi2, extendsidi2): Similarly.
- 	(adddi3 expander): Allow "arith_operand" for second input.
- 	(32bit adddi3, subdi3, uaddcm): Disable for TARGET_64BIT.
- 	(64bit adddi3, subsi3, uaddcm): New patterns for TARGET_64BIT.
- 	(mulsi3 expander): Revamp slightly so it supports TARGET_64BIT too.
- 	(muldi3): New expander for TARGET_64BIT.
- 	(divsi3, udivsi3, modsi3, umodsi3): Fourth operand must be (reg:SI 2)
- 	for TARGET_64BIT.
- 	(32bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm): Disable
- 	patterns for TARGET_64BIT.
- 	(64bit anddi3, iordi3, xordi3, andcm, negdi2, uaddcm, shadd): New
- 	patterns for TARGET_64BIT.
- 	(64bit bit insertion/extractions): New patterns for TARGET_64BIT.
- 	(64bit shifts/rotates): New patterns/expanders for TARGET_64BIT.
- 	(sibcall_epilogue): New expander.
- 	(casesi): Tweak for TARGET_64BIT.
- 	(call expanders): Set & use the outgoing argument pointer.  Use the
- 	64bit call patterns as needed. Add additional arg to output_call.
- 	(call_internal_reg_64bit, call_value_internal_reg_64bit): New pattern.
- 	(sibcall, sibcall_internal_symref): New expanders.
- 	(sibcall_value, sibcall_value_internal_symref
- 	(interspace_jump): Turn into an expander + matching patterns.
- 	(canonicalize_funcptr_for_compare): Not needed for TARGET_64BIT.
- 	* pa/pa64-regs.h: Eliminate trigraph sequences.
- 	* pa/pa64-start.h (TARGET_PA_20): Fix typo.
- 
- 2000-04-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c, cpphash.c, cpphash.h, cpplex.c, cpplib.c,
- 	cpplib.h, cppmain.c, fix-header.c, scan-decls.c: Replace
- 	cpp_token with cpp_ttype everywhere.
- 	* cpperror.c, cpphash.c, cpplex.c, cpplib.c, scan-decls.c:
- 	Replace cpp_buf_line_and_col with CPP_BUF_LINE and/or
- 	CPP_BUF_COL.  Line and column numbers are unsigned int, not
- 	long.
- 	* cpplex.c (cpp_buf_line_and_col): Delete.
- 	* cpplib.h (struct cpp_buffer, struct cpp_reader): Change
- 	'long lineno' to 'unsigned int lineno'.
- 	(CPP_BUF_LINE, CPP_BUF_COL): New macros.
- 
- 2000-04-11  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* extend.texi: ISO C99 is not a draft anymore.
- 	* invoke.texi: ISO C++ is not a draft anymore.
- 	* cpp.texi: __cplusplus is required by the ISO standard.
- 
- 	* extend.texi (-fthis-is-variable): Undocument.
- 	* flags.h (warn_template_debugging): Remove declaration.
- 	* gcc.1 (-fall-virtual, -fenum-int-equiv, -fthis-is-variable,
- 	-Wenum-clash, -Wtemplate-debugging): Undocument.
- 
- 2000-04-10  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (HOST_INT): New macro: Declare a HOST_WIDE_INT
- 	integer.
- 	(HOST_UINT): New macro: Declare an unsigned HOST_WIDE_INT
- 	integer.
- 	(ARM_SIGN_EXTEND): Use HOST_UINT.
- 	(STRIP_NAME_ENCODING): Prevent warnings about redefinitions.
- 	(ASM_OUTPUT_LABELREF): Prevent warnings about redefinitions.
- 	(INCOMING_RETURN_ADDR_RTX): Only define if Dwarf2 is supported.
- 	(DWARF_FRAME_RETURN_COLUMN): Only define if Dwarf2 is supported.
- 
- 	* config/arm/arm.c: (const_ok_for_arm): Use HOST_UINT.
- 	(arm_gen_constant): Use HOST_UINT.
- 	(arm_canonicalize_constant): Use HOST_UINT.
- 	(arm_reload_in_hi): Use HOST_UINT.
- 	(arm_reload_out_hi): Use HOST_UINT.
- 	(output_multi_immediate): Use HOST_UINT.
- 	(int_log2): Use HOST_UINT.
- 	(arm_poke_function_name): Use HOST_UINT.
- 	(arm_output_epilogue): Use arm_volatile_func().
- 	(output_thumb_prologue): Use arm_strip_name_encoding().
- 
- Mon Apr 10 15:40:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sbitmap.c (sbitmap_a_subset_b_p): Rework loop to avoid potential
- 	of sequence point problems.
- 
- 2000-04-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* rtl.def (ASHIFT, ROTATE, ASHIFTRT, LSHIFTRT, ROTATERT):
- 	Recomment.
- 	* tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Recomment.
- 
- Mon Apr 10 07:21:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sbitmap.h: Whitespace changes and use upper-case macro args.
- 	(struct simple_bitmap_def): All sizes now unsigned.
- 	(EXECUTE_IF_SET_IN_SBITMAP): Internal vars now _X instead of X_.
- 	* sbitmap.c (sbitmap_alloc): N_ELMS now unsigned; also local vars.
- 	(sbitmap_vector_alloc): Parms and local vars now unsigned.
- 	(sbitmap_zero): Cast bzero arg to PTR.
- 	(sbitmap_vector_zero, sbitmap_vector_one): Parm and Local var unsigned.
- 	(sbitmap_union_of_diffs): Change loop index to unsigned and rework
- 	loop to make structure clearer.
- 	(sbitmap_not, sbitmap_difference, sbitmap_a_and_b): Likewise.
- 	(sbitmap_a_or_b, sbitmap_a_subset_b_p, sbitmap_a_or_b_and_c): Likewise.
- 	(sbitmap_a_and_b_or_c): Likewise.
- 	(sbitmap_intersection_of_succs): Minor cleanups.
- 	(sbitmap_intersection_of_preds, sbitmap_union_of_succs): Likewise.
- 	(sbitmap_union_of_preds): Likewise.
- 	(sbitmap_first_set_bit, dump_sbitmap): Local variables now unsigned.
- 	(debug_sbitmap): New function.
- 
- 	* c-convert.c (convert): Handle REFERENCE_TYPE like POINTER_TYPE.
- 	* c-typeck.c (convert_for_assignment): Likewise.
- 
- 	* expmed.c (init_expmed): Don't free objects we make.
- 	* emit-rtl.c (gen_rtx_CONST_INT, init_emit_once): Minor cleanups.
- 
- 	* expr.c (get_inner_reference): Correct some WITH_RECORD_EXPR cases.
- 	(expand_expr, case CONVERT_EXPR): Pass proper alignment to store_field.
- 
- 	* gcse.c (expr_hash_table_size): Now unsigned.
- 	(compute_ae_gen): Local variable `i' now unsigned.
- 	(compute_ae_kill, pre_insert_copies, pre_delete, pre_gcse): Likewise.
- 	(compute_transout, hoist_code): Likewise.
- 	(compute_local_properties): Likewise, also hash_table_size.
- 	(alloc_expr_hash_table): N_INSNS now unsigned.
- 	(delete_null_pointer_checks): Mark arg F as unused.
- 
- 	* regrename.c: Minor cleanups, including chang some variables
- 	to unsigned int.
- 
- 2000-04-10  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (skip_block_comment): Use pointer arithmetic rather
- 	than GETC ().
- 	* cpphash.h: (CPP_BUMP_BUFFER_LINE_CUR, CPP_BUMP_LINE_CUR): New.
- 
- 2000-04-10  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* invoke.texi (-fno-gnu-keywords): Remove classof, headof,
- 	__classof__, and __headof__ from the list of gnu keywords.
- 	(-ansi): Remove -foperator-names from list of implied options.
- 	Do not call it ANSI C++.
- 	(-foperator-names): Document as -fno-operator-names.
- 
- 2000-04-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (timestamp): Delete.
- 	(del_HASHNODE): If type is T_MCONST, free value.cpval.
- 	(special_symbol): Remove unnecessary braces.  Remove
- 	T_VERSION.  Treat T_STDC like T_CONST unless
- 	STDC_0_IN_SYSTEM_HEADERS.  Render both __DATE__ and __TIME__
- 	when one is encountered, then convert them into T_MCONST
- 	nodes.
- 	* cppinit.c (builtin_array): version_string is T_MCONST.
- 	__STDC__ has a "1" in its cpval.  Don't have a terminator
- 	entry.  Clean up which entries are dumped.
- 	(initialize_builtins): Only __STDC__ gets the special
- 	-traditional treatment.  Count the length of builtin_array.
- 	Render version_string here.
- 	* cpphash.h: Remove T_VERSION.  Add T_MCONST.
- 	* cpplib.h (struct cpp_reader): Remove timebuf.
- 
- 2000-04-09  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (pred): Update comparison_operator for the unordered
- 	operators.
- 
- 	* config/i386/i386.c (no_comparison_operator): Disallow unordered
- 	operators.
- 	(fcmov_comparison_operator): Allow UNORDERED/ORDERED.
- 	(uno_comparison_operator): New.
- 	(put_condition_code): Handle UNORDERED/ORDERED.
- 	(unsigned_comparison): Likewise.
- 	(ix86_fp_compare_mode): Broken out of ix86_expand_fp_compare.
- 	(ix86_use_fcomi_compare, ix86_prepare_fp_compare_args): Likewise.
- 	(ix86_expand_fp_compare): Use them.  Take scratch as argument,
- 	update all callers.  Handle all 8 unordered operators.
- 	(ix86_expand_setcc): Lose the unordered argument, update all callers.
- 	(ix86_expand_branch): Likewise.  Don't fully expand fp branches.
- 	* config/i386/i386.h (PREDICATE_CODES): Update.
- 	* config/i386/i386-protos.h (ix86_expand_fp_compare): Declare.
- 	(ix86_expand_branch, ix86_expand_setcc): Update.
- 	* config/i386/i386.md (sunordered, sordered): New.
- 	(suneq, sunge, sungt, sunle, sunlt, sltgt): New.
- 	(bunordered, bordered): New.
- 	(buneq, bunge, bungt, bunle, bunlt, bltgt): New.
- 	(*fp_jcc_1, *fp_jcc_2, *fp_jcc_3, *fp_jcc_4): New.
- 	(*fp_jcc_5, *fp_jcc_6, and splitters): New.
- 
- 2000-04-09  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.h (ARM_NAME_ENCODING_LENGTHS): Strip `*' too.
- 
- Sun Apr  9 15:16:14 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* i386.md (fix_truncsfhi2, fix_truncdfhi2,
- 	fix_truncxfhi2): New patterns.
- 	* i386.c (output_fix_trunc): Handle converting to HImode.
- 
- 2000-04-08  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* ssa.c (convert_to_ssa): Eliminate dead code when calling
- 	life_analysis.
- 	(convert_from_ssa): Call compute_bb_for_insn before life_analysis.
- 	(for_each_successor_phi): Change parameter to basic_block.
- 	(coalesce_regs_in_successor_phi_nodes): Likewise.
- 	(coalesce_regs_in_copies): Likewise.
- 	(compute_coalesced_reg_partition): Use basic_block instead of index.
- 	* rtl.h (convert_to_ssa): Delete.
- 	(convert_from_ssa): Likewise.
- 	(successor_phi_fn): Likewise.
- 	(for_each_successor_phi): Likewise.
- 	(in_ssa_form): Likewise.
- 	* basic-block.h (convert_to_ssa): Moved from rtl.h.
- 	(convert_from_ssa): Likewise.
- 	(successor_phi_fn): Likewise.
- 	(in_ssa_form): Likewise.
- 	(for_each_successor_phi): Likewise.  Change parameter to basic_block.
- 	* flow.c (calculate_global_regs_live): Pass a basic_block to
- 	for_each_successor_phi.
- 
- 2000-04-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_used_reg): Use reg_set_p to determine if a register
- 	was modified in the current insn.
- 
- 2000-04-08  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm/thumb.md: Delete.
- 	* arm/thumb-protos.h: Delete.
- 
- 2000-04-08  Richard Earnshaw (rearnsha@arm.com)
- 
- 	Merge changes from merged-arm-thumb-backend-branch onto trunk.
- 
- 	2000-04-08  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000408
- 	into branch.
- 
- 	* arm.md (nop): Use the standard RTL expression.  Don't code as a
- 	define_expand.
- 	(*arm_nop, *thumb_nop): Delete.
- 
- 	* arm.c (const_ok_for_arm): Don't use ANSI extensions for defining
- 	constants.  Use casts instead.
- 	(arm_gen_constant, arm_rtx_costs, arm_reload_in_hi, arm_reload_out_hi,
- 	output_multi_immediate, arm_poke_function_name): Likewise.
- 	* arm.h (ARM_LEGITIIMIZE_RELOAD_ADDRESS, ARM_SIGN_EXTEND,
- 	MASK_RETURN_ADDDR): Likewise.
- 
- 	2000-03-31  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000325
- 	into branch.
- 
- 	* arm.md (eh_epilogue): New function.
- 	* arm.h (struct machine_function): Move to here ...
- 	* arm.c: ... from here.
- 	(arm_output_epilogue): Support epilogues for __builtin_eh_return.
- 	(thumb_exit): Extra parameter eh_ofs.  All callers changed.
- 	Handle epilogues for __builtin_eh_return.  Make bit-fields unsigned.
- 
- 	2000-03-30  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/semi.h (ASM_SPEC): Restore definition.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
- 
- 	* config/arm/elf.h (ASM_SPEC): Restore definition.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Define if not already defined.
- 
- 	* config/arm/arm.h (ASM_SPEC): Remove definition.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Remove definition.
- 
- 	2000-03-26  Bernd Schmidt <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.c: Disable -fschedule-insns for Thumb.
- 
- 	2000-03-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	Various formating tidyups, elimination of compile time
- 	warnings and synchronisation with internal sources:
- 
- 	* config/arm/arm-protos.h (assemble_align): Add prototype.
- 	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
- 	(gen_comapre_reg): Rename to arm_gen_compare_reg.
- 	(arm_return_addr_rtx): Rename to arm_return_addr.
- 
- 	* config/arm/arm.c: Include except.h.
- 	Define shorter typenames for strict minipool_node and struct
- 	minipool_fix.
- 	(arm_return_in_memory): For WinCE return all structures <= 32 bits
- 	in memory.
- 	(gen_rotated_half_load): Rename to arm_gen_rotated_half_load.
- 	(gen_comapre_reg): Rename to arm_gen_compare_reg.
- 
- 	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
- 	already defined.
- 	(ASM_SPEC): Define if not already defined.
- 	(ASM_OUTPUT_DEF_FROM_DECLS): Define.
- 
- 	* config/arm/arm.md: Rename references to gen_rotated_half_load to
- 	arm_gen_rotated_half_load, and references to gen_comapre_reg to
- 	arm_gen_compare_reg.
- 	(indirect_jump):  Only accept register operands.
- 	(load_indirect_jump): Keep this pattern since combine can generate
- 	it.
- 
- 	* config/arm/coff.h: Include aout.h.
- 	(MULTILIB_DEFAULTS): Only define if not already defined.
- 
- 	* config/arm/elf.h (ASM_OUTPUT_DEF_FROM_DECLS): Move definition
- 	into arm.h (so that COFF ports can support thumb based aliases).
- 	(ASM_SPEC): Move definition into arm.h
- 
- 	* config/arm/linux-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Remove
- 	redundant apcs spec.
- 	(ASM_SPEC): Move definition to arm.h
- 
- 	* config/arm/semi.h (ASM_SPEC): Move definition to arm.h
- 
- 	* config/arm/unknown-elf.h (ASM_OUTPUT_SECTION_NAME): Add support
- 	for entries in the .bss section
- 
- 	2000-03-23  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Pass 0
- 	to thumb_far_jump_used_p.
- 
- 	* config/arm/arm-protos.h (thumb_far_jump_used_p): Take a
- 	single integer parameter.
- 
- 	* config/arm/arm.c (struct machine_function): Add two new
- 	fields, 'far_jump_used' and 'arg_pointer_live'.
- 	(thumb_far_jump_used_p): Once the decision has been made that
- 	far jumps might be used, always return true.
- 	If being called from the initial elimination offset macro then
- 	do not bother to perform the test if the arg pointer is not
- 	being used.
- 	(thumb_unexpand_epilogue): Pass 1 to thumb_far_jump_used_p().
- 	(output_thumb_prologue): Pass 1 to thumb_far_jump_used_p().
- 
- 	2000-03-23  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm.c (output_return_instruction): Handle more cases where we can
- 	return from a function with an ldr instruction.
- 	(arm_output_epilogue): Likewise.
- 
- 	* arm.c (thumb_expand_prologue): Don't clobber the frame pointer
- 	if we need to push a large stack frame and there are no callee-saved
- 	registers.
- 
- 	* arm.c (arm_debugger_arg_offset): An offset of 0 is also valid
- 	in ARM code if the frame pointer has been eliminated.
- 
- 	* arm.md (epilogue, *epilogue_insns, consttable_*, align_4): Renumber
- 	unspec_volatile arguments to avoid duplicates.
- 	(consttable_1, consttable_2): Fixes for big-endian mode.
- 
- 	* arm.md (all ARM-mode load insns): Add neg_pool_range attribute
- 	as appropriate.
- 
- 	Re-write constant pool code.
- 	* arm.c (minipool_node, minipool_fix): New types.
- 	(minifix): Delete type.
- 	(arm_add_minipool_constant): Delete.
- 	(arm_compute_minipool_offsets, arm_find_barrier,
- 	arm_find_minipool_constant, fixup_compare, sort_fixups): Likewise.
- 	(get_jump_table_size): Now returns HOST_WIDE_INT.
- 	(move_minipool_fix_forward_ref, add_minipool_forward_ref): New
- 	functions.
- 	(move_minipool_fix_backward_ref, add_minipool_backward_ref): Likewise.
- 	(assign_minipool_offsets, arm_print_value): Likewise.
- 	(dump_minipool): Rewrite.
- 	(arm_barrier_cost): New function.
- 	(create_fix_barrier): New function.
- 	(push_minipool_barrier): New function.
- 	(push_minipool_fix): Record additional information about the fixup
- 	required.
- 	(note_invalid_constants): Remove push for (UNSPEC 3).  Don't
- 	check the mode of what needs fixing.
- 	(arm_reorg): Rewrite.
- 
- 	2000-03-08  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md (indirect_jump): Force constant addresses into
- 	a register.
- 
- 	2000-03-01  Bernd Schmidt <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.md: Add splitter to turn SF moves into SI moves.
- 
- 	2000-02-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (thumb_expand_prologue): Make sure that stack
- 	adjust is word aligned.
- 	(thumb_expand_epilogue): Make sure that stack adjust is word
- 	aligned.
- 
- 	* config/arm/elf.h (ASM_FILE_START): Fix type of version string.
- 
- 	2000-02-24  Bernd Schmidt <bernds@cygnus.com>
- 
- 	* config/arm/arm.h (THUMB_GO_IF_LEGITIMATE_ADDRESS): Allow frame
- 	pointer relative addresses.
- 
- 	2000-02-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (find_barrier): Find the last barrier within the allowed
- 	range.
- 
- 	2000-02-09  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm-protos.h: Replace PROTO with PARAMS.
- 
- 	2000-02-09  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/linux-elf.h (FUNCTION_PROFILER): Rename to
- 	ARM_FUNCTION_PROFILER.
- 
- 	* config/arm/netbsd.h (FUNCTION_PROFILER): Rename to
- 	ARM_FUNCTION_PROFILER.
- 
- 	* config/arm/linux-oldld.h: Imported from mainline sources.
- 
- 	2000-02-07  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/lib1funcs.asm: Merge in thumb functions from
- 	lib1thumb.asm.
- 
- 	* config/arm/lib1thumb.asm: Delete.
- 
- 	2000-02-04  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Sychronised with current Red hat local
- 	sources.
- 	* config/arm/arm.h: Ditto.
- 	* config/arm/arm-protos.h: Ditto.
- 
- 	2000-02-02  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* arm.c (soft_df_operand): Reject SUBREGs containing a constant.
- 
- 	* arm.c (arm_gen_movstrqi): Generate halfword stores rather than two
- 	byte stores.
- 
- 	2000-02-02  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c (thumb_exit): Additional fix for same bug.
- 
- 	* config/arm/arm.md (epilogue): Fix rtl checking abort because
- 	(return) was emited using an emit_insn() call.
- 
- 	2000-01-31  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (output_thumb_prologue): Fix bug generating
- 	thumb stack frame.
- 	(thumb_exit): Move frame pointer back into hard frame pointer
- 	register if backtracing is being used.
- 
- 	2000-01-13  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* Merge trunk code from tag merged-arm-thumb-backend-merge_20000113
- 	into branch.
- 
- 	1999-12-15  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.md (neg_pool_offset): Provide default for new
- 	attribute.
- 	(arm_movsi_insn): Add neg_pool_offset attribute.
- 	* config/arm/arm.c (arm_find_barrier): Replace arg FIX with an
- 	rtx for the insn that starts the scan and an unsigned long for its
- 	address.  Add MIN_OFFSET and PINSERTED args.  All callers changed.
- 	Change scan to ignore insns before MIN_OFFSET.  Store size of inserted
- 	instructions in *PINSERTED.
- 	(struct minipool_fixup): Add MIN_ADDRESS elt.
- 	(sort_fixups): Compute it.
- 	(arm_reorg): Changes to support inserting pools before the insn to be
- 	fixed up.
- 
- 	1999-12-08  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/elf.h (MULTILIB_DEFAULTS): Add "marm".
- 	* config/arm/linux-elf.h (MULTILIB_DEFAULTS): Add "marm".
- 	* config/arm/coff.h (MULTILIB_DEFAULTS): Add "marm".
- 
- 	Wed Nov  3 10:04:07 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/semi.h (TARGET_VERSION): Do not define if already
- 	defined.
- 	(TARGET_DEFAULT): Do not define if already defined.
- 
- 	Tue Nov  2 10:37:25 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md (anddi3): Allow disjoint source operands.
- 	(iordi3): Allow disjoint source operands.
- 	(xordi3): Allow disjoint source operands.
- 	(negdi2): Permit construction for ARM and Thumb.
- 	(arm_negdi2): Renamed version of old negdi2 pattern.
- 	(thumb_negdi2): New pattern: Only permit non-overlapping
- 	source and destination.
- 
- 	Fri Oct 29 18:52:38 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (thumb_expand_prologue): Emit a USE of the
- 	scratch low register so that it will not be deleted.
- 
- 	Fri Oct 29 15:23:48 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/pe.h (ARM_PE): Define.
- 
- 	* config/arm/arm.c (arm_valid_machine_decl_attribute): Allow
- 	interfacearm attribute if this is a PE toolchain.
- 	(output_return_instruction): Do not emit anything if the function
- 	has the naked attribute set.
- 	(is_called_in_ARM_mode): If the function has the interfacearm
- 	attribute then return true.
- 	(thumb_expand_prologue): Do not generate a prologue for naked
- 	functions.
- 	(thumb_expand_epilogue): Do not generate an epilogie for a naked
- 	function.
- 	(output_thumb_prologue): Do not bother if the function is naked.
- 	Strip PE encoding from function name before emitting.
- 
- 	Thu Oct 28 11:05:13 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.md (pic_load_addr): Fix constraints.
- 
- 	* arm.md (casesi_insn): Fix mis-applied patch.
- 
- 	* arm.md ("core" function unit): Add rules for single- and
- 	multi-cycle insns.
- 	(All TARGET_THUMB patterns): Add "type" attribute information
- 	where needed.
- 	* arm.c (arm_adjust_cost): Reduce the cost of a data dependency if
- 	the following insn is a CALL.
- 
- 	* arm.c (thumb_expand_epilogue): Add a use of the adjusted stack
- 	pointer.
- 	* arm.h (CONDITIONAL_REGISTER_USAGE): Nail down the
- 	ARM_HARD_FRAME_POINTER_REGNUM when TARGET_APCS_FRAME.
- 	(FRAME_POINTER_REQUIRED): Only check TARGET_APCS_FRAME if TARGET_ARM.
- 
- 	Wed Oct 27 14:40:48 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/linux-gas.h: oops - this file was missed out when the
- 	branch was created...
- 
- 	Tue Oct 26 17:07:38 1999  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* thumb.c: Deleted.  Move contents to ...
- 	* arm.c: ... here.
- 	* t-arm-aout, t-arm-coff, t-arm-elf, t-linux, t-netbsd, t-semi: Remove
- 	rule for thumb.o
- 	* configure.in (arm*-*-*): Remove thumb.o from extra_objs list.
- 	* configure: Regen.
- 
- 	* arm-protos.h: Use RTX_CODE and tidy up long lines.  Don't
- 	declare a prototype for asm_output_align();
- 
- 	* arm.c (thumb_condition_code): Delete.
- 	(arm_print_operand): Always use arm_condition_code array.
- 
- 	* arm.c (thumb_return_addr_rtx): Delete.
- 	(arm_save_machine_status, arm_restore_machine_status): Delete.
- 	(arm_init_machine_status, arm_mark_machine_status): New functions.
- 	(arm_init_expanders): Update accordingly.
- 	(arm_return_addr): Renamed from arm_return_addr_rtx.  Rewrite.
- 	(thumb_expand_prologue): Delete code referencing thumb_return_addr_rtx.
- 	* arm.h (RETURN_ADDR_RTX): Call arm_return_addr().
- 
- 	Tue Oct 26 13:24:16 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in : Fix arm-*-aout target to use new t-arm-aout
- 	script.
- 	* config/arm/t-arm-aout: New file: Makefile script for arm-*-aout
- 	targets.
- 
- 	Tue Oct 26 11:27:12 1999  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c (output_thumb_prologue): Fix bug creating
- 	stack backtrace structure.
- 
- 	* config/arm/arm-protos.h: Add prototypes for functions defined in
- 	arm/pe.h.
- 
- 	* config/arm/arm.c (arm_override_options): Fix selection of
- 	attributes of default processor.
- 
- 	* config/arm/coff.h: Delete needless #include.
- 
- 	* config/arm/pe.c: Delete unused code.
- 
- 	* config/arm/pe.h (CPP_DEFINES): Delete
- 	(SUBTARGET_CPP_SPEC): Define.
- 	(ASM_DECLARE_FUNCTION_NAME): Use ARM_DECLARE_FUNCTION_NAME.
- 
- 	* config/arm/t-pe: Add -DInhibit_libc to allof libgcc.a to build.
- 
- 	Mon Oct 25 15:42:09 1999  Richard Earnshaw (rearnsha@arm.com)
- 
- 	* arm.h (TARGET_APCS_FRAME): Renamed from TARGET_APCS -- all uses
- 	updated.
- 	(CAN_DEBUG_WITHOUT_FP): Define.
- 	(FIXED_REGISTERS): Make r11 call-saved.
- 	(CALL_USED_REGISTERS): Likewise.
- 	(CONDITIONAL_REGISTER_USAGE): Fix r11 if TARGET_APCS_FRAME.
- 	(FRAME_POINTER_REQUIRED): Correct logic for determining when a
- 	frame-pointer is required.
- 	(TARGET_DEFAULT): Make default setting include ARM_FLAG_APCS_FRAME.
- 	* arm.c (arm_override_options): Warn about -mno-apcs-frame and -g
- 	if the target normally needs a stack frame in non-leaf functions.
- 	(use_return_insn): Correct logic for determining when a return
- 	instruction can be used.
- 	(output_return_instruction): Handle the frame-pointer register as
- 	a normal register when not TARGET_APCS_FRAME.
- 	(arm_output_prologue): Likewise.
- 	(arm_output_epilogue): Likewise.
- 	(output_func_epilogue): Likewise.
- 	(arm_expand_prologue): Likewise.
- 	* netbsd.h semi.h (TARGET_DEFAULT): Add ARM_FLAG_APCS_FRAME.
- 
- 	* arm.c (use_return_insn): No need to check floating point regs if
- 	TARGET_SOFT_FLOAT.
- 	(arm_find_minipool_constant): Correct typo; use GET_CODE to get
- 	the code of value stored in the minipool array.
- 	(arm_add_minipool_constant): Likewise.
- 
- 2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* basic-block.h (conflict_graph_enum_fn): K&R fix.
- 
- 2000-04-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.c (tree_expr_nonnegative_p): New function.
- 
- 	* tree.h (tree_expr_nonnegative_p): Declare.
- 
- 	* c-typeck.c (build_binary_op): Call `tree_expr_nonnegative_p' to
- 	elide some sign_compare warnings.
- 	(build_conditional_expr): Likewise.
- 
- Sat Apr  8 00:21:51 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* i386.md (ashrsi3, ashrhi3, ashrqi3): Fix typo.
- 
- 	* i386.md (floathisf2, floathidf2, floathixf2): New patterns.
- 	* i386.c (print_operand): Use the proper suffix for a 387 HImode
- 	operand.  Abort if a 387 operand has an unsupported size.
- 
- 2000-04-08  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppexp.c (parse_charconst): Null does not end character
- 	constants.
- 	* cppinit.c (ISTABLE): Null character handled as whitespace.
- 	* cpplex.c (null_warning):  new function.
- 	(skip_string): Emit warning if nulls encountered.
- 	(_cpp_skip_hspace): Emit warning if nulls encountered.
- 	(_cpp_lex_token): Emit warning if nulls encountered.  Drop
- 	them.
- 	* cpp.texi: Update.
- 
- 2000-04-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (loop_depth): Remove.
- 	(reg_next_use, cc0_live, mem_set_list): Replace with ...
- 	(struct propagate_block_info): New.
- 	(life_analysis): Don't allocate reg_next_use.
- 	(propagate_block_delete_insn): Break out of propagate_block.
- 	Use flow_delete_insn to unlink rather than use NOTE_INSN_DELETED.
- 	(propagate_block_delete_libcall): Likewise.
- 	(propagate_block): Create a propagate_block_info struct to pass
- 	to subroutines.  Allocate one not two temporary regsets.  Don't
- 	clobber memory for const calls.  Look for clobbers in
- 	CALL_INSN_FUNCTION_USAGE.
- 	(mark_set_regs): Recognize COND_EXEC.
- 	(mark_set_reg): Break out of mark_set_1.
- 	(mark_used_reg): Break out of mark_used_regs.
- 	(mark_used_regs): Recognize COND_EXEC.
- 	(insn_dead_p): Use propagate_block_info struct.
- 	(libcall_dead_p, invalidate_mems_from_autoinc): Likewise.
- 	(find_auto_inc, try_pre_increment_1): Likewise.
- 	(print_rtl_with_bb): Dump regs live at end too.
- 	(count_reg_sets_1): Pass in loop_depth.
- 	(count_reg_sets, count_reg_references): Likewise.
- 	(recompute_reg_usage): Provide it.
- 
- 2000-04-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (conflict.o): Depend on $(RTL_H) and $(BASIC_BLOCK_H)
- 	not the raw files.
- 
- 2000-04-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_elif): Skip the rest of the line if we're
- 	not going to bother evaluating it.
- 	(skip_if_group): Clear pfile->only_seen_white.  Reorder loop
- 	to avoid pointless calls to the lexer.
- 
- Fri Apr  7 11:50:54 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c: Delete stdio.h and ctype.h includes.
- 
- 2000-04-07  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* calls.c (expand_call): emit_queue if we're trying a sibcall.
- 
- 2000-04-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/t-linux64 (tcrtbeginS.o, tcrtendS.o): Remove.
- 
- 2000-04-06  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* Makefile.in: Build crtbeginS and crtendS like crtbegin and
- 	crtend so they can be multilibbed.
- 	(STAGESTUFF): Remove s-crt and s-crtS.
- 
- 2000-04-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_move): Fail
- 	if we discover we need a pseudo and no_new_pseudos is true.
- 	* config/alpha/alpha.md (ne:DI insn): New.
- 	(trunctfsf2, sne): Emit NE instead of non-canonical LTU.
- 
- 2000-04-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.def (COND_EXEC): New.
- 	* rtl.h (COND_EXEC_TEST, COND_EXEC_CODE): New.
- 	* tm.texi (MAX_CONDITIONAL_EXECUTE): Document.
- 
- 	* genconfig.c (have_cond_arith_flag): Remove.
- 	(have_cond_exec_flag): New.
- 	(walk_insn_part): Detect COND_EXEC, not arithmetic in IF_THEN_ELSE.
- 	(main): Print HAVE_conditional_execution.
- 
- 	* haifa-sched.c (haifa_classify_insn): Recognize COND_EXEC.
- 	(sched_analyze_insn, print_pattern): Likewise.
- 	* reload.c (find_equiv_reg): Likewise.
- 	* rtlanal.c (reg_referenced_p): Likewise.
- 	(note_stores, dead_or_set_regno_p): Likewise.
- 	(reg_overlap_mentioned_p): Rewrite to use a switch.
- 
- 	* ggc.h (struct rtx_def): Forward declare.
- 
- 	* print-rtl.c (debug_rtx_range): New.
- 	* rtl.h (debug_rtx_range): Declare.
- 
- 	* varray.h (VARRAY_ACTIVE_SIZE, VARRAY_POP_ALL): New.
- 
- 	* gcse.c (gcse_main): Don't rebuild the CFG here.
- 	(delete_null_pointer_checks): Likewise.
- 	* ssa.c (convert_to_ssa): Likewise.
- 	* toplev.c (rest_of_compilation): Do it here instead.  Combine
- 	sequential calls to TIMEVAR.  Consistently use `insns' instead of
- 	`get_insns()'.  Always split insns after reload when optimizing.
- 
- 	* basic-block.h (merge_blocks_nomove): Declare.
- 	(tidy_fallthru_edge): Declare.
- 	* flow.c (merge_blocks_nomove): Document as merging into previous
- 	blocks.  Remove cruft from between blocks; remove all edges out of A.
- 	(tidy_fallthru_edge): Export.
- 
- 2000-04-06  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* ssa.c (compute_conservative_reg_partition): Declare with
- 	void arguments.
- 	* toplev.c (clean_dump_file): Remove previously-deleted function
- 	inadvertantly merged back in.
- 	* conflict.c (conflict_graph_add): Use a single call to
- 	htab_find_slot to look up and insert.
- 
- 2000-04-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* genrecog.c (*): Rename _last_insn to last_insn.
- 	(make_insn_sequence): Set the position of the peephole2 C test
- 	to be at the last insn.
- 
- 2000-04-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (compute_flow_dominators): Free worklist.
- 
- 2000-04-06  Michael Matz  <matzmich@cs.tu-berlin.de>
- 
- 	* flow.c (compute_flow_dominators): Process blocks FIFO not LIFO.
- 
- 2000-04-06  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* rtl.h (INSN_P): New macro.
- 	(successor_phi_fn): New typedef.
- 	(for_each_successor_phi): New prototype.
- 	(in_ssa_form): New variable.
- 	(PHI_NODE_P): Likewise.
- 	* flow.c (calculate_global_regs_live): Add to new_live_at_end from
- 	phi nodes in successors.
- 	(mark_used_regs): Add PHI case.
- 	(set_phi_alternative_reg): New function.
- 	(life_analysis): Assert that dead code elimination is not selected
- 	when in SSA form.
- 	* toplev.c (to_ssa_time): New variable.
- 	(from_ssa_time): Likewise.
- 	(compile_file): Zero to_ssa_time and from_ssa_time.
- 	Print time to convert to and from SSA.
- 	(rest_of_compilation): Time convert_to_ssa and convert_from_ssa.
- 	(print_time): Compute percent fraction as integer.
- 	* ssa.c (PHI_NODE_P): Moved to rtl.h.
- 	(convert_to_ssa): Check if we're already in SSA.
- 	Don't eliminate dead code in life_analysis.
- 	Rerun flow and life analysis at bottom.
- 	(eliminate_phi): Use canonical regnos when adding nodes.
- 	(mark_reg_in_phi): New function.
- 	(mark_phi_and_copy_regs): Likewise.
- 	(convert_from_ssa): Rerun life analysis at top.
- 	Use coalesced partition.
- 	Check for removing a phi node at the end of the block.
- 	(compute_coalesced_reg_partition): New function.
- 	(coalesce_regs_in_copies): Likewise.
- 	(coalesce_reg_in_phi): Likewise.
- 	(coalesce_regs_in_successor_phi_nodes): Likewise.
- 	(for_each_successor_phi): Likewise.
- 	(rename_context): New struct.
- 	(rename_block): Use a rename_context with rename_insn_1.  When
- 	renaming sets of a subreg, emit a copy of the entire reg first.
- 	(rename_insn_1): Treat data as a rename_context *.  Save current
- 	insn in set_data.
- 	(rename_set_data): Add field set_insn.
- 	* Makefile.in (HASHTAB_H): Move up in file.
- 	(OBSTACK_H): New macro.
- 	(collect2.o): Use OBSTACK_H in dependencies.
- 	(sdbout.o): Likewise.
- 	(emit-rtl.o): Likewise.
- 	(simplify-rtx.o): Likewise.
- 	(fix-header.o): Likewise.
- 	(OBJS):	Add conflict.o.
- 	(conflict.o): New rule.
- 	* basic-block.h: Include partition.h.
- 	(conflict_graph): New typedef.
- 	(conflict_graph_enum_fn): Likewise.
- 	(conflict_graph_new): New prototype.
- 	(conflict_graph_delete): Likewise.
- 	(conflict_graph_add): Likewise.
- 	(conflict_graph_conflict_p): Likewise.
- 	(conflict_graph_enum): Likewise.
- 	(conflict_graph_merge_regs): Likewise.
- 	(conflict_graph_print): Likewise.
- 	(conflict_graph_compute): Likewise.
- 	* conflict.c: New file.
- 
- 2000-04-06  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* tlink.c (read_repo_files): Don't look for .rpo info for
- 	linker flags.
- 
- Thu Apr  6 20:39:26 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (STRUCT_VALUE, RETURN_IN_MEMORY): Define.
- 
- Thu Apr  6 19:34:08 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* config/sh/lib1funcs.asm (___udivsi3_i4):
- 	( __SH4_SINGLE__ / __SH4_SINGLE_ONLY__ variant): value for fpscr
- 	only depends on FMOVD_WORKS.
- 
- Thu Apr  6 19:11:47 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* config/sh/lib1funcs.asm (___udivsi3_i4): When using fmovd,
- 	make double constant 8-byte aligned.
- 
- 2000-04-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movtf_insn_sp32, movtf_insn_vis_sp32,
- 	movtf_no_e_insn_sp32, movtf_insn_hq_sp64, movtf_insn_hq_vis_sp64,
- 	movtf_no_e_insn_sp64): Accept loading 0.0 into GENERAL_REGS.
- 	(movtf_insn_sp64, movtf_insn_vis_sp64): Likewise.
- 	Accept storing GENERAL_REGS into offsetable memory.
- 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Don't allow
- 	building a TFmode constant other than 0.0L into GENERAL_REGS.
- 
- 2000-04-06  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* regrename.c (regrename_optimize): Handle no REG_ALLOC_ORDER.
- 
- 2000-04-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (CPP_IS_MACRO_BUFFER, FORWARD, PEEKC): Delete.
- 	(macro_cleanup): No need to cast pbuf->macro.
- 	(collect_expansion): Use _cpp_get_define_token.  Goto done if
- 	it returns VSPACE.  Remove check for trailing space after
- 	CPP_COMMENT.
- 	(_cpp_create_definition): Don't diddle flags here.  Return
- 	directly on error.
- 	(unsafe_chars): Handle c1 being EOF.
- 	(push_macro_expansion): Use unsafe_chars for both accidental-paste
- 	checks.  Don't push the buffer till after we're done with
- 	them.
- 	* cpplex.c (PEEKBUF, GETBUF, FORWARDBUF): New.
- 	(PEEKN, FORWARD, GETC, PEEKC): Use them.
- 	(cpp_push_buffer): Don't set new->alimit.  Set new->mark
- 	appropriately.
- 	(_cpp_parse_assertion): Don't NUL terminate.
- 	(_cpp_lex_token): Fix -traditional macro handling.  Don't skip
- 	hspace before calling _cpp_parse_assertion.  Remove all sets
- 	of only_seen_white. Treat '\f' as hspace.  Don't do anything
- 	special with '\n' here.
- 	(maybe_macroexpand): Handle T_EMPTY hash entries without
- 	pushing a buffer at all.
- 	(cpp_get_token): Handle clearing only_seen_white here.  Handle
- 	incrementing the line number here.  Clear
- 	potential_control_macro as well as only_seen_white, if
- 	appropriate.
- 	(cpp_get_non_space_token): Don't eat CPP_POP tokens.
- 	(_cpp_get_define_token): New function, basically like
- 	_cpp_get_directive_token was but doesn't eat horizontal space.
- 	Don't do anything with only_seen_white here.
- 	(_cpp_get_directive_token): Just call _cpp_get_define_token
- 	repeatedly till it returns non-hspace.
- 
- 	* cpplib.c (PEEKN, FORWARD, GETC, PEEKC): Delete.
- 	(conditional_skip, skip_if_group): Return int.
- 	(DIRECTIVE_TABLE): Change origin of all conditional directives
- 	to "COND".
- 	(TRAD_DIRECT_P): New macro.
- 	(_cpp_handle_directive): Use _cpp_get_directive_token.  Issue
- 	an error for a bogus directive, unless -lang-asm.  Use
- 	TRAD_DIRECT_P. Loop calling handler functions till one returns
- 	zero.
- 	(get_macro_name): Don't diddle flags here.
- 	(do_define): Diddle flags here.  Use _cpp_get_directive_token.
- 	Create T_EMPTY nodes for #define macro /* nothing */.
- 	(do_undef): Don't copy the name.  Use _cpp_get_directive_token.
- 	Use hp->name when calling pass_thru_directive.
- 	(do_if, do_else, do_elif, do_ifdef, do_ifndef, conditional_skip):
- 	Return the result of conditional_skip and/or skip_if_group.
- 	Don't call _cpp_output_line_command.
- 	(consider_directive_while_skipping): Use _cpp_get_directive_token.
- 	Issue -Wtraditional warnings as appropriate.  Don't complain
- 	about unrecognized directives.  If we are to stop skipping,
- 	return the number of the directive that ended the skip.
- 	(skip_if_group): Use _cpp_get_directive_token.  Turn off macro
- 	expansion and line commands while skipping.  Return the result
- 	of consider_directive_while_skipping, if nonzero.
- 	(do_endif): Just set potential_control_macro here.
- 	(validate_else): Use _cpp_get_directive_token.
- 	(do_assert, do_unassert): Don't save pointers into the
- 	token_buffer across calls to the lexer.  Use
- 	_cpp_get_directive_token.
- 
- 	* cpplib.h (cpp_buffer): Remove alimit and colno.  Make mark a
- 	pointer, not an offset.  Replace 'data', which was a generic
- 	pointer, with 'macro', which points to a struct hashnode.
- 	(cpp_reader): Add 'potential_control_macro' pointer.
- 	* cpphash.h (T_UNUSED): Replace with T_EMPTY.
- 	(CPP_BUF_GET, CPP_FORWARD): Delete.
- 	(CPP_IN_COLUMN_1, ADJACENT_TO_MARK): New macros.
- 	(CPP_IS_MACRO_BUFFER, CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK,
- 	ACTIVE_MARK_P): Update.
- 	(_cpp_get_define_token): New internal function.
- 	* cppfiles.c (read_include_file): Don't set fp->alimit or fp->colno.
- 
- 2000-04-05   Benjamin Kosnik  <bkoz@cygnus.com>
- 
- 	* configure.in: And here.
- 	* configure: Regenerate.
- 	* acconfig.h: Add ENABLE_STD_NAMESPACE to set flag_honor_std if
- 	--enable-libstdcxx-v3 is passed at configure time.
- 	* config.h.in: Regenerate.
- 
- 2000-04-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* final.c (final): Use xcalloc to allocate line_note_exists.
- 	* function.c (free_after_compilation): Free the temp_slots.
- 	(assign_stack_temp_for_type): Use xmalloc to allocate temp_slots.
- 	(combine_temp_slot): Free temp_slots when they get combined.
- 	(purge_addressof): Fix typo in comment.
- 	* stmt.c (mark_goto_fixup): Mark the fixup itself.
- 	(expand_fixup): Allocate the fixup with ggc_alloc_obj.
- 
- 	* ggc.h: Include varray.h.
- 	(ggc_pending_trees): Declare.
- 	(ggc_mark_tree_children): Remove declaration.
- 	(ggc_mark_tree): Just push unmarked trees on ggc_pending_trees.
- 	* ggc-common.c (ggc_pending_trees): New variable.
- 	(ggc_mark_roots): Call ggc_mark_trees.
- 	(ggc_mark_tree_children): Rename to ggc_mark_trees.  Process all
- 	the ggc_pending_trees.
- 	* Makefile.in (GGC_H): New variable.  Use it throughout in place
- 	of ggc.h.
- 
- Thu Apr  6 00:30:50 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (FUNCTION_ARG_PARTIAL_NREGS): Accommodate an unsigned
- 	GET_MODE_SIZE.
- 
- Wed Apr  5 23:17:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (sh_insn_length_adjustment): New function.
- 	* sh-protos.h (sh_insn_length_adjustment): Declare.
- 	* sh.h (ADJUST_INSN_LENGTH): Use it.
- 
- Wed Apr  5 12:35:18 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* optabs.c (emit_libcall_block): Remove spurious REG_EQUAL notes
- 	from the insn where REG_RETVAL is added.
- 	(emit_no_conflict_block): Ditto.
- 
- 	* md.texi (Standard Names): Clarify when movX is needed.
- 
- 	* combine.c (simplify_comparison) [MINUS]: Do not replace
- 	all (op (minus A B) 0) with (op A B).
- 
- Wed Apr  5 18:03:31 2000  Toshiyasu Morita  (toshi.morita@sega.com)
- 			  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (block_lump_real_i4): Add missing clobber of T_REG
- 	(block_lump_real): Likewise.
- 
- 2000-04-05  Chris Demetriou  <cgd@netbsd.org>
- 
- 	* mips.h (MASK_DEBUG_A, MASK_DEBUG_B, MASK_DEBUG_C): Zero the
- 	remaining nonzero debugging masks.
- 
- Wed Apr  5 09:44:07 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* basic-block.h (verify_flow_info): Declare.
- 	(flow_loop_outside_edge_p): Declare.
- 	* flow.c (verify_flow_info): Remove declaration.
- 	(clear_log_links, flow_loop_outside_edge_p): Likewise.
- 
- Wed Apr  5 09:34:26 2000  Philippe De Muyter <phdm@macqel.be>
- 
- 	* m68k/m68k-protos.h (finalize_pic): Turn prototype off using `#if 0',
- 	not C++ comments.
- 
- 2000-04-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (snedi_zero+1, neg_snedi_zero+1,
- 	snedi_zero_trunc+1, seqdi_zero+1, neg_seqdi_zero+1,
- 	seqdi_zero_trunc+1): Allow splits only if registers are
- 	different.
- 
- 2000-04-04  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* acconfig.h: Add HAVE_GAS_HIDDEN.
- 	* config.in: Regenerated.
- 	* configure.in: Add test for .hidden pseudo-op in gas.
- 	* configure: Regenerated.
- 	* crtstuff.c: Include auto-host.h.
- 	Emit additional .hidden pseudo-op for __dso_handle if the
- 	assembler knows about it.
- 
- 2000-04-04  Philippe De Muyter  <phdm@macqel.be>
- 
- 	* cpphash.c (_cpp_free_definition): Test argnames, not nargs >= 0,
- 	before freeing argnames.
- 	* cpplib.c (do_ifndef): Cast return value of xstrdup.
- 
- 2000-04-05  Michael Meissner  <meissner@redhat.com>
- 
- 	* config/rs6000/rs6000.c (print_operand): Patch from Jonathan
- 	Walton <jonboy@gordian.com> to make memory references with update
- 	work wtih -mregnames.
- 
- 2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* regrename.c (regno_first_use_in): Wrap prototype in PARAMS.
- 	(regrename_optimize): Rename variables `def_uses' and
- 	`ext_basic_blocks' to avoid conflicts with similarly named
- 	typedefs in traditional C.
- 
- 	* calls.c (initialize_argument_information): Fix typo in previous
- 	change.
- 
- 2000-04-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* regrename.c (consider_available): Test fixed_regs not
- 	PIC_OFFSET_TABLE_REGNUM.
- 
- 2000-04-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbegin,
- 	crtend.
- 	(CRTSTUFF_T_CFLAGS_S): Delete definition.
- 	* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Always use crtbegin.
- 	(ENDFILE_LINUX_SPEC): Always use crtend.
- 	* configure.in (powerpc-*-linux-gnulibc1): Don't define extra_parts.
- 	(powerpc-*-linux-gnu): Likewise.
- 	* configure: Regenerate.
- 
- 	* config/rs6000/eabi.h:	Don't include sysv4.h.
- 	(MULTILIB_DEFAULTS): Don't define.
- 	* config/rs6000/eabiaix.h: Don't include eabi.h.
- 	* config/rs6000/eabile.h: Delete.
- 	* config/rs6000/eabilesim.h: Delete.
- 	* config/rs6000/eabisim.h: Don't include eabi.h.
- 	* config/rs6000/linux.h: Don't include sysv4.h.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Don't redefine.
- 	(MULTILIB_DEFAULTS): Don't redefine.
- 	* config/rs6000/rtems.h: Don't include eabi.h.
- 	* config/rs6000/sol2.h: Don't include sysv4le.h.
- 	* config/rs6000/sysv4le.h: Don't include sysv4.h.
- 	* config/rs6000/t-ppc: Delete.
- 	* config/rs6000/t-ppcgas: Correct comment.
- 	* config/rs6000/t-ppcos: Correct comment.  Don't build
- 	multilibs for -fPIC, rather use -fPIC -mstrict-align
- 	as default.
- 	* config/rs6000/t-ppc: Delete.
- 	* config/rs6000/vxppc.h: Don't include sysv4.h.
- 	* config/rs6000/vxppcle.h: Delete.
- 	* configure.in: Use multiple header files for p2pc ELF targets
- 	powerpc-eabiaix, powerpc-eabisim, powerpc-rtems, powerpcle-eabi,
- 	powerpcle-eabisim, powerpc-elf, powerpcle-elf, powerpc-linux-gnu,
- 	powerpc-linux-gnulibc1, powerpc-sysv, powerpcle-sysv,
- 	powerpc-vxworks, powerpcle-vxworks.  Assume GAS functionality is
- 	always available for these platforms.
- 
- 2000-04-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (try_to_integrate): Initialize reg_parm_stack_space.
- 
- 2000-04-04  Stan Cox  <scox@cygnus.com>
- 
- 	* Makefile.in: Add rules for regrename.o
- 	* regrename.c: New file.
- 	* rtl.h (regrename_optimize): Add prototype.
- 	* toplev.c (rename_registers_dump, flag_rename_registers): New variables
- 	(compile_file, decode_d_option): Add support for -frename-registers.
- 	(rest_of_compilation): Call regrename_optimize.
- 	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK, RENAME_EXTENDED_BLOCKS):
- 	New macros.
- 
- 2000-04-04  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* Makefile (gccbug): New target.
- 	(doc): Depend on it.
- 	* gcc.texi (Bugs): Link subnodes.
- 	(gccbug): New node.
- 	* gccbug.in (CATEGORIES): Remove gc, host, profiling, libgcc.
- 	Document severities, priorities, and classes in bug form.
- 
- 2000-04-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (trigraph_map, speccase): Combine into single
- 	table, chartab.
- 	(NORMAL, NONTRI): New macros.
- 	(_cpp_read_and_prescan): Change to use unified table.  Use
- 	is_hspace to test for whitespace.
- 
- 	* dbxout.c (CONTIN): If it doesn't have to do anything, give it a
- 	definition that doesn't provoke the "empty body in an
- 	if-statement" warning.
- 
- 2000-04-04  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* builtins.c (expand_builtin_strlen): Force the source to
- 	be a memory address.
- 
- 2000-04-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplib.c (D): Adjust to call CONCAT2 macro without whitespace.
- 
- Tue Apr  4 19:17:20 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE,
- 	 ECF_LONGJMP, ECF_FORK_OR_EXEC):  New constants.
- 	(ECF_IS_CONST): Rename to ECF_CONST.
- 	(special_function_p): Make static, change interface.
- 	(flags_from_decl_or_type, try_to_integrate): Break out from ...
- 	(expand_call) ... here; convert number of variables to flags.
- 	(emit_library_call_vlue_1): Likewise.
- 	(setjmp_call_p): New function.
- 	(initialize_argument_information): Accepts flags as argument;
- 	return flags.
- 	(precompute_arguments): Likewise.
- 	* tree.h (special_function_p): Remove.
- 	(setjmp_call_p): Add prototype.
- 
- 2000-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin
- 	so that addresses are offsetable by up to 16 bytes.
- 	(GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+REG addresses for
- 	non-optimizing TARGET_ARCH32 in DF or DI modes because it is not
- 	offsetable.
- 
- 	* config/sparc/sparc.md (movdi_insn_sp64_novis): New pattern.
- 	(movdi_insn_sp64_vis): Renamed from movdi_insn_sp64.
- 	(movsf): Don't force any constant to memory if target is integer
- 	hard register.
- 	Move fp_zero_operand check below the const0_rtx check.
- 	(movtf): Likewise. Also allow fp_zero_operand for stores into
- 	memory.
- 	(movdf): Likewise. Also allow fp_zero_operand for stores into
- 	memory and into integer hard registers.
- 	(clear_df, clear_dfp, movdf_const_intreg_sp32,
- 	movdf_const_intreg_sp64): Remove.
- 	(movdf_insn_sp32, movdf_no_e_insn_sp32): Redo constraints and
- 	conditions.
- 	(movdf_no_e_insn_v9_sp32): New pattern.
- 	(movdf_insn_v9only): Remove.
- 	(movdf_insn_v9only_novis, movdf_insn_v9only_vis): New patterns.
- 	(movdf_insn_sp64): Remove.
- 	(movdf_insn_sp64_novis, movdf_insn_sp64_vis): New patterns.
- 	(movdf_no_e_insn_sp64): Allow storing 0.0 into memory.
- 	(following splits): Rewrite conditions. Add two new splits
- 	for storing 0.0 into memory and registers.
- 	(clear_tf, clear_tf+1, clear_tfp, clear_tfp+1): Remove.
- 	(movtf_insn_sp32): Redo constraints and conditions.
- 	(movtf_insn_vis_sp32): New pattern.
- 	(movtf_no_e_insn_sp32): Redo constraints and conditions.
- 	(movtf_insn_hq_sp64): Likewise.
- 	(movtf_insn_hq_vis_sp64): New pattern.
- 	(movtf_insn_sp64): Redo constraints and conditions.
- 	(movtf_insn_vis_sp64): New pattern.
- 	(movtf_no_e_insn_sp64): Redo constraints and conditions.
- 	(movtf_no_e_insn_sp64+1): New split for storing 0.0L into registers
- 	or memory.
- 	* config/sparc/sparc.c (sparc_override_options): Assume v9 if either
- 	-mvis or -m64 to take down the number of various reload patterns.
- 
- Tue Apr  4 00:41:53 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/pa-64.h: New file.
- 	* pa/pa64-regs.h: New file.
- 	* pa/pa64-start.h: New file.
- 	* pa/t-pa64: New file.
- 	* pa/xm-pa64hpux.h: New file.
- 
- 2000-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (output_restore_regs): Prototype.
- 	(sparc_emit_float_lib_cmp): Constification.
- 
- 	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq): Likewise.
- 
- 	* reload1.c (reload_cse_delete_noop_set, reload_cse_simplify):
- 	Prototype.
- 
- 	* simplify-rtx.c (entry_and_rtx_equal_p): Constification.
- 	(get_value_hash, hash_rtx): Likewise.
- 
- 	* ssa.c (compute_conservative_reg_partition): Prototype.
- 
- 	* tree.c (mark_hash_entry): Prototype.
- 
- 2000-04-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* bb-reorder.c (verify_insn_chain): #ifdef out unless ENABLE_CHECKING.
- 	* i386.h (FUNCTION_ARG_REGNO_P): Remove unnecessary test for N >= 0.
- 	* i386.md (call_value, call_value_pop): Remove unused variable 'addr'.
- 
- 	* gcc.c (C specs): Pass -fno-show-column to the preprocessor.
- 	* objc/lang-specs.h: Likewise.
- 
- 2000-04-03  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppexp.c: wrap long lines.  New macros CPP_ICE, SYNTAX_ERROR
- 	and SYNTAX_ERROR2. Replace `' in messages with ''.
- 	(op_to_str): Make re-entrant.
- 	(_cpp_parse_expr): Implement new error macros. Use | rather
- 	than || to logically or 2 boolean integers.  Simply expression
- 	checking we have a left operand iff needed.
- 
- 2000-04-03  Nick Clifton  <nickc@cygnus.com>
- 
- 	* Makefile.in (diagnostic.o): Depend upon diagnostic.c
- 
- 2000-04-03  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/linux-elf.h (SUBTARGET_EXTRA_LINK_SPEC): Fix typos.
- 
- 2000-04-03  Felix Lee  <flee@cygnus.com>
- 
- 	* fixinc/server.c (find_shell): New function.  Avoid $SHELL.
- 	(run_shell): Use it.
- 
- 2000-04-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
- 
- 	* Makefile.in (stmp-int-hdrs): Make include subdir here...
- 	(stmp-fixproto): ...rather than here.
- 
- Mon Apr  3 00:50:06 2000  Jason Eckhardt <jle@cygnus.com>
- 
- 	* pa.c (print_operand): Compute 'base' only inside the code paths
- 	that use it.
- 
- 2000-04-03  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* stor-layout.c (byte_from_pos): Use TRUNC_DIV_EXPR rather than
- 	CEIL_DIV_EXPR.
- 
- 2000-04-03  Philipp Thomas  <pthomas@suse.de>
- 
- 	* i386.h (TARGET_SWITCHES): Remove bogus empty strings, fix typo.
- 
- Mon Apr  3 00:02:59 2000  Brad Lucier <lucier@math.purdue.edu>
- 
- 	* Makefile.in (alias.o): Depend on $(TREE_H).
- 
- 2000-04-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c (cpp_start_read): Turn off -Wtraditional if
- 	processing C++.
- 	* cpplib.c (_cpp_handle_directive): Improve warnings for
- 	traditional C and indented directives.
- 
- 	* enquire.c, gsyslimits.h, limity.h, config/convex/fixinc.convex,
- 	fixinc/fixinc.irix, fixinc/fixinc.sco, fixinc/fixinc.wrap,
- 	fixinc/inclhack.def: Indent the # of #include_next one space.
- 	* cp/rtti.c: Un-indent #if and #endif.
- 
- 	* cppexp.c (_cpp_parse_expr): If lex returns '#', it's a
- 	syntax error, but an error has already been printed.
- 	* cpplex.c (_cpp_parse_assertion): Give a more specific error
- 	message when called with nothing remaining on the line.
- 	(_cpp_lex_token): If _cpp_parse_assertion fails, return an
- 	OTHER token, not an ASSERTION.
- 	* cpplib.c (do_assert): When we create a 'base' node, clear
- 	its aschain pointer.
- 
- 2000-04-02  Neil Booth <NeilB@earthling.net>
- 
- 	* cppexp.c:  New typedef op_t.  struct operation and struct
- 	token updated to use it.
- 	(op_to_str): New function.
- 	(_cpp_parse_expr): Error messages modified to use op_to_str.
- 
- 2000-04-02  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_function_arg): Check for void_type_node
- 	before checking MUST_PASS_IN_STACK.
- 
- 2000-04-02  Neil Booth <NeilB@earthling.net>
- 
- 	* cppexp.c:  New FINISHED dummy token.  Combine operator initial
- 	flags and initial priority into a single constant.  New
- 	EQUALITY macro.  New operator flag SHORT_CIRCUIT.
- 	(_parse_cpp_expr): Implement new constants.  Take left operand
- 	checks out of reduction loop.  Handle SHORT_CIRCUIT.  End of
- 	parse indicated by reducing FINISHED token.  Remove new lines
- 	from cpp_error messages.
- 
- 2000-04-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the
- 	permanent obstack.
- 
- 2000-04-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c: Include symcat.h.  Add 'origin' field to struct
- 	directive.  Add origin values to DIRECTIVE_TABLE.  Generate
- 	the strings and function names on the fly.  Take the #sccs
- 	entry out of the table if SCCS_DIRECTIVE is not defined.
- 	(_cpp_handle_directive): Decide if the # was at the beginning
- 	of the line here.  Issue -pedantic warnings for extended
- 	directives here.  Warn about K+R directives with the #
- 	indented, and C89/extended directives with the # not indented,
- 	here.
- 	(do_import, do_include_next, do_warning, do_ident, do_sccs,
- 	do_assert, do_unassert): Don't issue pedantic warning here.
- 
- 	* cpphash.h: Add CPP_WTRADITIONAL macro.
- 	* cpplib.h (struct cpp_options): Rename warn_stringify to
- 	warn_traditional; update comments.
- 	* cppinit.c (handle_option): Set warn_traditional not
- 	warn_stringify.
- 	* cpphash.c: Replace CPP_OPTION (pfile, warn_stringify) with
- 	CPP_WTRADITIONAL (pfile).
- 	* cpplex.c (_cpp_lex_token): Don't decide if directives should
- 	be ignored in -traditional mode here.
- 
- 	* cpplex.c: Copy ISTABLE macros from cppinit.c, and adapt them
- 	to initialize speccase[] and trigraph_map[].  Delete all
- 	references to pfile->input_speccase.  Always treat '?' as a
- 	special character.  Remove table-initialization code from
- 	_cpp_init_input_buffer.
- 
- 	* cpplib.h (struct cpp_reader): Remove input_speccase field.
- 	* cppinit.c (cpp_cleanup): Don't free input_speccase.
- 
- 2000-04-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (STAGESTUFF): Wildcard all debugging dumps at once.
- 	(mostlyclean): Likewise.
- 
- 	* toplev.c (rtl_dump, jump_opt_dump, etc): Remove.
- 	(struct dump_file_info, enum dump_file_index, dump_file): New.
- 	(open_dump_file): Take a dump_file_index not a suffix, and a decl
- 	not a string.  Clean out file if we haven't yet done so.  Do nothing
- 	if the dump isn't enabled.
- 	(close_dump_file): Do nothing if the dump isn't open.  Dump
- 	graph data if requested.
- 	(dump_rtl, clean_dump_file): Remove.
- 	(compile_file): Don't clean the dump files.  Only finalize .bp dump
- 	if flag_test_coverage or flag_branch_probabilities.  Only finalize
- 	.combine dump if optimizing.  Iterate over dump_file to finalize the
- 	graph dumps.
- 	(rest_of_compilation): Update for open_dump_file/close_dump_file.
- 	Convert all uses of dump_rtl.
- 	(decode_d_option): Iterate over dump_file to implement 'a' and to
- 	locate pass-specific dumps.
- 
- 2000-04-01  Neil Booth <NeilB@earthling.net>
- 
- 	* cppexp.c: Redefine priority constants.
- 	(_cpp_parse_expr): Replace left and right priority scheme with
- 	single priority logic.  Move LOGICAL to same place as COMPARE.
- 	Remove bogus check for multiple unary +/- operators.
- 
- 2000-04-01  Neil Booth <NeilB@earthling.net>
- 
- 	* cppexp.c: (_cpp_parse_expr): Numerical constants are pushed
- 	within the switch statement.  Binary operations break out of
- 	the switch naturally.  '(' tokens handled by forcing
- 	immediate shift.  ')' handled by forcing immediate reduce to
- 	the previous '('.  New error messages.
- 
- 2000-03-31  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (print_operand): Don't use %l for 'low
- 	part', it's already in use.  Use %K instead.  Add a return at the
- 	end of what is now %K.
- 	* config/rs6000/rs6000.md (elf_low): Use %K instead of %l.
- 
- Sat Apr  1 02:05:29 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c  (expand_builtin_apply):  Pass proper parameters to
- 	allocate_dynamic_stack_space.
- 	* calls.c (emit_call_1):  Do not adjust stack pointer for SIB,
- 	update stack_pointer_delta; do not update arg_size_so_far.
- 	(compute_argument_block_size): Use stack_delta instead of
- 	stack_pointer_pending and arg_size_so_far.
- 	(expand_call): Add sanity checking for stack_pointer_delta;
- 	save and restore stack_pointer_delta for SIB, use
- 	stack_pointer_delta for alignment; do not update arg_space_so_far.
- 	(emit_library_call_value): Use stack_pointer_delta for alignment.
- 	(store_one_arg): Do not update arg_space_so_far.
- 	* explow.c (adjust_stack, anti_adjust_stack): Update
- 	stack_pointer_delta.
- 	(allocate_dynamic_stack_space): Add sanity checking for
- 	stack_pointer_delta.
- 	* expr.c (init_expr, clear_pending_stack_adjust): Clear
- 	stack_pointer_delta.
- 	(emit_push_insn): Update stack_pointer_delta.
- 	* function.h (struct expr_status): Add x_stack_pointer_delta;
- 	remove x_arg_space_so_far.
- 	(arg_space_so_far): Remove.
- 	(stack_pointer_delta): New macro.
- 
- 2000-03-31  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h: Merge struct cpp_options into struct cpp_reader.
- 	Reorder struct cpp_options and struct cpp_reader for better
- 	packing.  Replace CPP_OPTIONS macro with CPP_OPTION which
- 	takes two args.  Change all 'char' flags to 'unsigned char'.
- 	Move show_column flag into struct cpp_options.  Don't
- 	prototype cpp_options_init.
- 	* cpphash.h, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
- 	cppinit.c, cpplex.c, cpplib.c:
- 	Replace CPP_OPTIONS (pfile)->whatever with
- 	CPP_OPTION (pfile, whatever), and likewise for
- 	opts = CPP_OPTIONS (pfile); ... opts->whatever;
- 
- 	* cppinit.c (merge_include_chains): Take a cpp_reader *.
- 	Extract CPP_OPTION (pfile, pending) and work with that
- 	directly.
- 	(cpp_options_init): Delete.
- 	(cpp_reader_init): Turn on on-by-default options here.
- 	Allocate the pending structure here.
- 	(cl_options, enum opt_code): Define these from the same table,
- 	kept in a large macro.  Add -fshow-column and -fno-show-column
- 	options.
- 
- 	* cpperror.c (v_message): If show_column is off, don't print
- 	the column number.
- 
- 	* cppmain.c: Update for new interface.
- 	* fix-header.c: Likewise.
- 
- 2000-03-30  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/t-aix43 (AR_FLAGS_FOR_TARGET): Adjust for new
- 	definition.
- 	* Makefile.in (AR_FLAGS_FOR_TARGET): Is now the flags that
- 	are passed to any invocation of AR_FOR_TARGET.
- 	(AR_CREATE_FOR_TARGET): New macro.
- 	(AR_EXTRACT_FOR_TARGET): New macro.
- 	(ORDINARY_FLAGS_TO_PASS): Add AR_CREATE_FOR_TARGET,
- 	AR_EXTRACT_FOR_TARGET.
- 	(many places): Use AR_CREATE_FOR_TARGET, AR_EXTRACT_FOR_TARGET
- 	in place of `$(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET)' and
- 	`$(AR_FOR_TARGET) x'.  Pass AR_CREATE_FOR_TARGET and
- 	AR_EXTRACT_FOR_TARGET to sub-makes.
- 
- 2000-03-31  Neil Booth <NeilB@earthling.net>
- 
- 	* cppexp.c: Delete SKIP_OPERAND.  Correct priority
- 	PAREN_INNER_PRIO.
- 	(_cpp_parse_expr): Check for multiple unary +/- operators.
- 	Correct priorities of ':' and '?'.  Treat ')' as having a
- 	value.	Ensure conditional expression is not void.
- 
- 2000-03-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* alias.c (canon_rtx): Make it global.
- 	(rtx_equal_for_memref_p): CONST_INT equality is now pointer
- 	equality.
- 	* cse.c (struct table_elt): Add canon_exp.
- 	(insert): Clear it.
- 	(invalidate): Canonicalize expressions only once.
- 	* rtl.h (canon_rtx): Declare.
- 
- 2000-03-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (emit-rtl.o): Depend on HASHTAB_H.
- 	* alias.c (reg_known_value): Add comments.
- 	(init_alias_analysis): Likewise.
- 	* cse.c (exp_equiv_p): CONST_INTs are equal iff they have the same
- 	address.
- 	(cse_basic_block): Fix typo in comment.
- 	* emit-rtl.c: Include hashtab.h.
- 	(const_int_htab): New variable.
- 	(const_int_htab_hash): New function.
- 	(const_int_htab_eq): Likewise.
- 	(rtx_htab_mark_1): Likewise.
- 	(rtx_htab_mark): Likewise.
- 	(gen_rtx_CONST_INT): Cache all CONST_INTs.
- 	(unshare_all_rtx): Fix formatting.
- 	(init_emit_once): Initialize const_int_htab.
- 	* rtl.c (rtx_equal_p): CONST_INTs are equal iff they have the same
- 	address.
- 	* rtl.texi: Document the fact that all CONST_INTs with the same
- 	value are shared.
- 
- 2000-03-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.h (FUNCTION_BOUNDARY): Reduce to 128 bits.
- 
- 2000-03-30  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in: Comment out --enable-c-cpplib stanza.
- 	* configure: Regenerate.
- 
- Thu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): Properly compute displacement and
- 	alignment when offset is variable.
- 
- 	* expmed.c (store_bit_field, store_fixed_bit_field): Fix more
- 	cases of alignment in bytes.
- 
- Thu Mar 30 13:30:40 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* c-parse.in (cast_expr): Move change from March 21 into c-parse.in
- 	since it is used to generate c-parse.y.
- 	* objc-parse.c, objc-parse.y: Regenerated.
- 
- 	* function.c (expand_function_end): Pass alignment argument to
- 	emit_block_move in bits, not bytes.
- 
- Thu Mar 30 06:32:51 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (move_by_pieces_ninsns): Fix one more missing align
- 	correction.
- 
- 	* expmed.c (store_fixed_bit_field): STRUCT_ALIGN is in bits.
- 
- 	* calls.c (expand_call): Pass bit alignment to mark_reg_pointer.
- 	* explow.c (memory_address, allocate_dynamic_stack_space): Likewise.
- 	* function.c (assign_parms): Likewise.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	(copy_rtx_and_substitute): Likewise.
- 	* expr.c (expand_expr, expand_expr_unaligned): Likewise.
- 	(clear_by_pieces): Fix error in last change.
- 	* emit-rtl.c (init_emit): Set known registers alignment in bits.
- 	* function.h (regno_pointer_align): Now unsigned.
- 	* config/arm/arm.c (alignable_memory_operand): REGNO_POINTER_ALIGN
- 	is in bits.
- 	* config/i386/i386.c (aligned_operand): Likewise.
- 	* config/sparc/sparc.c (mem_min_alignment): Likewise.
- 	* config/alpha/alpha.c (aligned_memory_operand): Likewise.
- 	(unaligned_memory_operand): Likewise.
- 	(alpha_expand_block_move, alpha_expand_block_clear): Likewise.
- 	Also make alignments and sizes unsigned and some whitespace cleanup.
- 	(alpha_va_start): Do nothing if VALIST's type is error_mark_node.
- 
- 	* builtins.c (get_pointer_alignment): Use host_integerp & tree_low_cst.
- 	(expand_builtin_apply): Pass alignment to emit_block_move in bits.
- 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
- 	(expand_builtin_memset): Likewise, but to clear_storage.
- 	* calls.c (save_fixed_argument_area): Likewise, to move_by_pieces.
- 	(restore_fixed_argument_area): Likewise.
- 	(store_unaligned_arguments_into_pseudos): Likewise, to store_bit_field.
- 	(load_register_parameters): Likewise, to emit_group_load.
- 	(expand_call): Likewise, to emit_group_store and emit_block_move.
- 	(emit_library_call_value_1): Likewise, to emit_block_move.
- 	(store_one_arg): Likewise, and to emit_push_insn.
- 	* expmed.c (extract_bit_field): Alignment is in bits, not bytes.
- 	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
- 	* expr.c (move_by_pieces, move_by_pieces_ninsns): Likewise.
- 	(emit_block_move, emit_group_load, emit_group_store): Likewise.
- 	(clear_by_pieces, clear_storage, emit_push_insn): Likewise.
- 	(expand_assigment, store_expr, store_constructor_field): Likewise.
- 	(expand_expr_unaligned, do_jump, do_compare_and_jump): Likewise.
- 	(store_constructor, store_field, get_inner_reference): Likewise.
- 	Use host_integerp and tree_low_cst; sizes and positions HOST_WIDE_INT.
- 	(expand_expr, case COMPONENT_REF): Likewise.
- 	(copy_blkmode_from_regs): Use UNSIGNED_HOST_WIDE_INT for sizes
- 	and positions; reindent code.
- 	* expr.h (emit_cmp_insn, emit_cmp_and_jump_insns): Alignment unsigned.
- 	* function.c (purge_addressof_1): Pass bit align to store_bit_field.
- 	(assign_parms): Likewise to emit_group_store.
- 	* optabs.c (prepare_cmp_insn): Alignment is in bits.
- 	(emit_cmp_and_jump_insns, emit_cmp_insn): Likewise, and also unsigned.
- 	* stmt.c (expand_value_return): Pass align in bits to emit_group_load.
- 	(expand_return): Likewise to {extract,store}_bit_field.
- 	* stor-layout.c (get_mode_alignment): Minor cleanup.
- 	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Align is in bits.
- 	* config/sh/sh.h (MOVE_BY_PIECES_P): Likewise.
- 
- 2000-03-29  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h: Undo effects of previous delta:
- 	(ASM_SPEC): Do not define.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Do not define.
- 
- 	* config/arm/linux-elf.h: (SUBTARGET_EXTRA_ASM_SPEC) Fix
- 	typo.
- 
- 2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c (cpp_start_read): Call initialize_dependency_output
- 	only after reading in the primary source file.
- 
- 2000-03-29  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* c-common.c (c_common_nodes_and_builtins): The first parameter to
- 	__builtin_va_start and __builtin_va_copy is now either a 'va_list'
- 	or a reference to a va_list.
- 	* builtins.c (stabilize_va_list): Simplify now we don't have to
- 	work around C array address decay.
- 	* c-typeck.c (convert_for_assignment): Handle assignment to
- 	a reference parameter by taking the address of the RHS.
- 	* ginclude/stdarg.h (va_start): Don't take address of first parameter.
- 	(va_copy): Likewise.
- 	(__va_copy): Likewise.
- 	* ginclude/varargs.h (va_start): Likewise.
- 	(__va_copy): Likewise.
- 
- Wed Mar 29 15:44:53 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386/djgpp.h: Remove extraneous "+".
- 
- 	* stmt.c (stmt_loop_nest_empty): Fix thinko in last change.
- 
- 	* calls.c (expand_call): Fix typo in last change.
- 
- 2000-03-29  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't
- 	been expanded.
- 
- Wed Mar 29 15:39:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (bit_from_pos, byte_from_pos): New functions.
- 	(pos_from_byte, pos_from_bit, normalize_offset): Likewise.
- 	(normalize_rli, rli_size_so_far, rli_size_unit_so_far): Use them.
- 	* tree.c (bit_position, byte_position): Likewise.
- 	* tree.h: Declare new functions.
- 
- 2000-03-29  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Minor formatting changes/
- 	* config/arm/arm.h (SUBTARGET_EXTRA_ASM_SPEC): Define if not
- 	already defined.
- 	(ASM_SPEC): Define if not already defined.
- 
- 2000-03-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (cpp_read_file): Don't pass zero-length string to
- 	_cpp_calc_hash.
- 
- 2000-03-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2out.c (gen_enumeration_type_die): If enum has a negative
- 	value, don't output it as unsigned.
- 
- Wed Mar 29 10:53:49 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* stmt.c (stmt_loop_nest_empty): Allow cfun->stmt to be NULL.
- 
- 2000-03-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Don't special case
- 	cplus_mode when declaring builtin bzero/bcmp, always avoid
- 	prototype arguments.
- 
- 2000-03-29  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/mkfixinc.sh: Initially set the variable "fixincludes"
- 	to a non-file
- 
- Wed Mar 29 15:08:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	Convert ACCUMULATE_OUTGOING_ARGS to an expression.
- 	* calls.c (PUSH_ARGS_REVERSED) Change to expression.
- 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default value.
- 	(struct arg_data): Remove #ifdef ACCUMULATE_OUTGOING_ARGS.
- 	(save_fixed_argument_area, restore_fixed_argument_area):
- 	conditionize by #ifdef REG_PARM_STACK_SPACE only.
- 	(emit_call): Change #ifdefs on ACCUMULATE_OUTGOING_ARGS
- 	to conditions, handle RETURN_POPS_ARGS on ACCUMULATE_OUTGOING_ARGS.
- 	(precompute_register_parameters): Avoid #ifdefs on
- 	ACCUMULATE_OUTGOING_ARGS and PUSH_ARGS_REVERSED.
- 	(stire_one_args): Likewise.
- 	(expand_call): Likewise; conditionize PUSH_ROUNDING code by PUSH_ARGS.
- 	(emit_library_call_value_1): Likewise.
- 	(compute_argument_block_size): Align to STACK_BOUNDARY only for
- 	ACCUMULATE_OUTGOING_ARGS.
- 	* combine.c (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Provide default
- 	value.
- 	(nonzero_bits): Conditionize PUSH_ROUNDING code by USE_PUSH.
- 	(use_crosses_set_p): Likewise.
- 	* all targets (ACCUMULATE_OUTGOING_ARGS define): Change to
- 	#define ACCUMULATE_OUTGOING_ARGS 1.
- 	* i386.c (ix86_compute_frame_size): Handle ACCUMULATE_OUTGOING_ARGS
- 	frames.
- 	* i386.h (MASK_NO_PUSH_ARGS, MASK_ACCUMULATE_OUTGOING_ARGS): New
- 	constants.
- 	(TARGET_PUSH_ARGS, TARGET_ACCUMULATE_OUTGOING_ARGS): New macros.
- 	(TARGET_SWITCHES): Add push-args, no-push-args,
- 	accumulate-outgoing-args and no-accumulate-outgoing-args.
- 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): New macro.
- 	* expr.c (ACCUMULATE_OUTGONG_ARGS, PUSH_ARGS): Provide default.
- 	(push_block): Avoid ifdefs on ACCUMULATE_OUTGONG_ARGS
- 	and PUSH_ROUNDING.
- 	(emit_push_insn): Likewise.
- 	* final.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
- 	(final_scan_insn): Avoid ifdefs on ACCUMULATE_OUTGOING_ARGS.
- 	* function.c (ACCUMULATE_OUTGOING_ARGS): Provide default.
- 	(STACK_DYNAMIC_OFFSET): Define correctly for both
- 	ACCUMULATE_OUTGOING_ARGS and normal mode.
- 	* invoke.texi (-mpush_args, -maccumulate-outgoing-args): Document.
- 	* tm.texi (PUSH_ARGS): Document.
- 	(ACCUMULATE_OUTGOING_ARGS, PUSH_ROUNDING): Update documentation.
- 
- Wed Mar 29 11:51:13 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* flags.h (flag_optimize_sibling_calls): Declare.
- 	* calls.c (expand_call): Fail sibcall when
- 	!flag_optimize_sibling_calls
- 	* invoke.texi (flag_optimize_sibling_calls): Document.
- 	* toplev.c (flag_optimize_sibling_calls): New global variable.
- 	(f_options): Add flag_optimize_sibling_calls.
- 	(rest_of_compilation): Conditionize
- 	optimize_sibling_and_tail_recursive_calls by
- 	flag_optimize_sibling_calls.
- 	(main): Set flag_optimize_sibling_calls for -O2.
- 	* stmt.c (expand_return): Conditionize tail recursion by
- 	flag_optimize_sibling_calls.
- 
- 2000-03-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/att.h (LOCAL_LABEL_PREFIX): Define.
- 	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Use it.
- 
- 2000-03-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* except.c (add_eh_table_entry): Mark type_info's as referenced.
- 
- 2000-03-29  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/rs6000/aix41.h (CPP_SPEC): Define _ANSI_C_SOURCE if -ansi
- 	is given.
- 	* config/rs6000/aix43.h (CPP_SPEC): Likewise.
- 	* config/rs6000/rs6000.h (CPP_SPEC): Moved to...
- 	* config/rs6000/aix.h: then modified likewise.
- 
- 2000-03-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.h: Redistribute enum reg_note documentation.
- 	Kill trailing whitespace.
- 	* rtl.c (reg_note_name): Adjust to match enum reg_note tweeks.
- 	Kill trailing whitespace.
- 
- 2000-03-28  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (hash_IHASH): Just return i->hash.
- 	(cpp_included): Set dummy.hash using _cpp_calc_hash.  Use
- 	htab_find_with_hash.
- 	(cpp_read_file): Likewise.
- 	(find_include_file): Likewise.  Properly initialize
- 	ih->nshort.  Share ih->name and ih->nshort if possible.
- 	* cpphash.c (_cpp_calc_hash): New function.
- 	(hash_HASHNODE): Just return h->hash.
- 	(_cpp_lookup): Set dummy.hash using _cpp_calc_hash.  Use
- 	htab_find_with_hash.
- 	* cpphash.h: Prototype _cpp_calc_hash.
- 	* cppinit.c (initialize_builtins): Provide a valid hash
- 	to _cpp_make_hashnode, using _cpp_calc_hash.
- 
- 	* cpphash.c (collect_expansion): # is not a special character
- 	in object-like macros.  In -traditional mode, /**/ is not
- 	token paste at the beginning or end of the line.
- 	* cpplib.c (do_include, do_import, do_include_next): If
- 	parse_include fails, return immediately.
- 
- 2000-03-28  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* config/arm/arm.md (return peepholes): Update to reflect the new
- 	call insn patterns.
- 	* config/arm/arm.c (arm_volatile_func): Also check
- 	current_function_nothrow.
- 	(output_return_instruction, output_func_prologue): Use it.
- 	(arm_output_epilogue, arm_expand_prologue): Likewise.
- 
- 2000-03-27  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (handle_braces): In {x*...} case, break out of loop if
- 	switch is found.
- 
- Tue Mar 28 11:55:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): SIZE now signed.
- 	For EXPR_SIZE, don't evaluate size; just needed if constant.
- 	* fold-const.c (fold): Fix a number of cases when folded tree is
- 	wrong type.
- 	* function.c (flush_addressof): Reenable.
- 	* tree.h (flush_addressof): Likewise.
- 	* toplev.c (independent_decode_option): Look at strings_processed.
- 	* config/alpha/alpha.h (MINIMUM_ATOMIC_ALIGNMENT): Cast to unsigned.
- 
- Tue Mar 28 08:29:46 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* sibcall.c (identify_call_return_value): Find last call in the chain;
- 	Allow stack adjustment after function call.
- 
- 	* regmove.c (struct csa_memlist): Make mem field rtx *.
- 	(record_one_stack_ref): Accept rtx * instead of rtx as parameter.
- 	(try_apply_stack_adjustment): Replace whole MEM rtx.
- 	(combine_stack_adjustments_for_block): Update calls
- 	to record_one_stack_ref.
- 
- 2000-03-28  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (_cpp_read_and_prescan): Mark end of input buffer with
- 	'\\' rather than a null character, so nulls are not special.  Fix
- 	"\\\n" handling in end-of-buffer conditions.  Use trigraph map to
- 	speed trigraph conversion.
- 	(_cpp_init_input_buffer): Initialize trigraph map.
- 
- 2000-03-27  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* config/i386/i386.c (output_387_binary_op): Correct intel
- 	mode assembly output, and add spaces after commas in AT&T
- 	output.  Correct Unixware assembler comment.  Document input
- 	constraints.  Comment fp operations.  Reduce profligate buffer
- 	size.  Remove extraneous abort.  Localize temp var.
- 	(SYSV386_COMPAT): Define.  Add !SYSV386_COMPAT code.
- 	(output_fix_trunc): Add spaces after commas in assembly output.
- 
- 2000-03-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386-protos.h (ix86_match_ccmode): Declare.
- 	* i386.c (ix86_match_ccmode): New.
- 	(ix86_expand_fp_compare): Update for pattern renames.
- 	(ix86_expand_strlensi_unroll_1): Likewise.
- 	* i386.h (EXTRA_CC_MODES): Add CCZ.
- 	(SELECT_CC_MODE): Use it for EQ/NE zero.
- 	* i386.md (cmpsi_ccz_1): New.
- 	(cmpqi_ccz_1): New.
- 	(*testsi_ccz_1): New.
- 	(testqi_ccz_1): New.
- 	(cmpsi_ccno_1): Rename from cmpsi_0.
- 	(testsi_ccno_1): Rename from testsi_1.
- 	(testqi_ccno_1): Rename from testqi_1.
- 	(*testqi_ext_ccz_0): Rename from testqi_ext_0.
- 	(testqi_ext_ccno_0): Rename from *testqi_ext_1.
- 	(*cmphi_0): Use ix86_match_ccmode.
- 	(*cmpqi_ext_2, *addsi_2, *addhi_2, *addqi_2): Likewise.
- 	(*subsi_2, *subhi_2, *subqi_2, *testhi_1): Likewise.
- 	(*testqi_ext_1, *testqi_ext_2, *testqi_ext_3): Likewise.
- 	(*andsi_2, *andhi_2, *andqi_2, *andqi_ext_0_cc): Likewise.
- 	(*iorsi_2, *iorhi_2, *iorqi_2): Likewise.
- 	(*xorsi_2, *xorhi_2, *xorqi_cc_1): Likewise.
- 	(*one_cmplsi2_2, *one_cmplhi2_2, *one_cmplqi2_2): Likewise.
- 	(*ashlsi3_cmpno, *ashlhi3_cmpno, *ashlqi3_cmpno): Likewise.
- 	(*ashrsi3_cmpno, *ashrhi3_cmpno, *ashrqi3_cmpno): Likewise.
- 	(*lshrsi3_cmpno, *lshrhi3_cmpno, *lshrqi3_cmpno): Likewise.
- 	(appropriate peepholes): Likewise.
- 	(*cmphi_1, *cmpqi_ccno_1, *cmpqi_1): Star out name.
- 	(*subsi_3, *subhi_3, *subqi_3): Remove.
- 	(*negdi2_1+1 splitter): Use CCZ for neg patterns.
- 	(*negsi2_cmp, *neghi2_cmp, *negqi2_cmp): Remove.
- 	(*negsi2_cmpz): Rename from *negsi2_cmpno, use CCZ.
- 	(*neghi2_cmpz, *negqi2_cmpz): Similarly.
- 	(x86_shift_adj_1): Use CCZ.
- 	(*dbra_ge+1, *dbra_ge+2, ffssi2, ffssi_1): Likewise.
- 
- 2000-03-27  Stan Cox  <scox@cygnus.com>
- 
- 	* resource.h (mark_resource_type): New.
- 	* resource.c (find_dead_or_set_registers, mark_target_live_regs,
- 	find_free_register): Use mark_resource_type.
- 	(mark_set_resources): Change include_delayed_effects
- 	to mark_resource_type.
- 	* reorg.c (steal_delay_list_from_target, try_merge_delay_insns,
- 	redundant_insn, fill_simple_delay_slots, fill_slots_from_thread):
- 	Use mark_resource_type.
- 
- 2000-03-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.md (call_pop_0, call_value_pop_0): New.
- 	(call_pop_1): Remove constraint from unused arg.  Support sibcalls.
- 	(call_value_pop_1): Likewise.
- 	(call_0, call_value_0): New.
- 	(call_1, call_value_1): Remove constraint from unused arg.
- 
- 2000-03-27  Nick Clifton  <nickc@cygnus.com>
- 
- 	* invoke.texi (Spec Files): Document new spec % command created by
- 	Tom Tromey's recent patch.
- 
- 2000-03-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* libgcc2.h (MIN_UNITS_PER_WORD): Define to UNITS_PER_WORD
- 	if not defined.
- 
- Mon Mar 27 06:04:22 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_assignment): Fix typo in last change.
- 
- 	* libgcc2.h: Use MIN_UNITS_PER_WORD, not UNITS_PER_WORD.
- 
- Sun Mar 26 20:15:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-convert.c (convert): Return if output or input type is ERROR_MARK.
- 	* c-decl.c (duplicate_decls): Only look at DECL_BUILT_IN_NONANSI
- 	and DECL_INLINE if FUNCTION_DECL.
- 	(pushdecl, redeclaration_error_message): Likewise, for DECL_INLINE.
- 	(store_parm_decls): Check for type of PARM_DECL being ERROR_MARK.
- 	Use DECL_WEAK, not DECL_RESULT, to flag for already seen.
- 	(combine_parm_decls): Likewise.
- 	* ggc-common.c (gcc_mark_tree_children, case 'd'): Use DECL_RESULT_FLD.
- 	* print-tree.c (print_node): Likewise.
- 	Only test DECL_PACKED, DECL_INLINE, DECL_BIT_FIELD, and
- 	DECL_TRANSPARENT_UNION on proper decl types.
- 	Properly handly DECL_INCOMING_RTL and DECL_SAVED_INSNS.
- 	* stor-layout.c (layout_decl): Only check DECL_PACKED and
- 	DECL_BIT_FIELD of FIELD_DECL.
- 	* tree.h (DECL_RESULT_FLD): New macro.
- 
- 	* expr.c (expand_assignment): Add code to handle variable-sized
- 	BLKmode case.
- 
- 2000-03-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (expand_call): Pass parms not original exp to
- 	optimize_tail_recursion.  Mind return value instead of looking
- 	for a barrier.
- 	* stmt.c (optimize_tail_recursion): Take parameter list, not entire
- 	call_expr.  Move checks for call_expr and current_function_decl ...
- 	(expand_return): ... here.
- 
- 2000-03-26  Tom Tromey  <tromey@cygnus.com>
- 
- 	* gcc.c (handle_braces): Recognize `%{<S}' construct.
- 	(SWITCH_OK, SWITCH_FALSE, SWITCH_IGNORE, SWITCH_LIVE): New
- 	defines.
- 	(process_command): Use them.
- 	(check_live_switch): Likewise.
- 	(give_switch): Skip ignored switches.
- 
- 2000-03-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (jump_optimize_1): Fix typo in elide optimizations
- 	for minimal jump pass test.
- 
- 2000-03-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.c (function_cannot_inline_p): Do inline functions that
- 	return `void'.
- 
- Sun Mar 26 11:37:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_type, set_sizetype): early_type_list is
- 	now a list of TREE_LIST entries, not types.
- 	* tree.c (build_common_tree_nodes_2): Eliminate dupliate type sets.
- 
- 	* expmed.c (extract_bit_field): Ensure BITS_PER_WORD is signed in MAX.
- 	* config/arm/pe.c (arm_pe_return_in_memory): Use host_integerp and
- 	int_bit_position.
- 	* config/mips/mips.c (function_arg): Likewise; also remove cast
- 	and make variables unsigned or HOST_WIDE_INT and use tree_low_cst.
- 	(mips_function_value): Use int_byte_position and make HOST_WIDE_INT.
- 	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Offsets are unsigned.
- 	* config/mips/mips.h (BITS_PER_WORD, UNITS_PER_WORD): Cast to unsigned.
- 	(UNITS_PER_FPREG, INT_TYPE_SIZE, LONG_TYPE_SIZE): Likewise.
- 	(POINTER_SIZE, POINTER_BOUNDARY,PARM_BOUNDARY): Likewise.
- 	(GP_REG_P, FP_REG_P, MD_REG_P, ST_REG_P): Ensure subtraction signed.
- 	(struct mips_arg): arg_number, arg_words, fp_arg_words, and
- 	num_adjusts now unsigned.
- 	(FUNCTION_ARG_BOUNDARY): Remove unneeded cast.
- 	* config/sparc/sparc.c (struct function_arg_record_value_parms):
- 	NREGS now unsigned.
- 	(function_arg_record_value_1): STARTBITPOS arg now HOST_WIDE_INT
- 	as is BITPOS variable; use host_integerp and int_bit_position.
- 	(function_arg_record_value_2): Likewise.
- 	(function_arg_record_value_3): Arg BITPOS now HOST_WIDE_INT.
- 	Variable REGNO now unsigned.
- 	(function_arg_record_value): NREGS now unsigned.
- 
- 2000-03-26  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* jump.c (mark_all_labels): Handle CALL_PLACEHOLDERs.
- 
- Sat Mar 25 09:12:10 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Rework fields used to describe positions of bitfields and
- 	modify sizes to be unsigned and use HOST_WIDE_INT.
- 	* alias.c (reg_known_value_size): Now unsigned.
- 	* c-typeck.c (build_unary_op, case ADDR_EXPR): Use byte_position.
- 	(really_start_incremental_init): Use bitsize_zero_node.
- 	(push_init_level, pop_init_level, output_init_element): Likewise.
- 	Use bitsize_unit_node and bitsize_one_node.
- 	(output_pending_init_elements, process_init_element): Likewise.
- 	* combine.c (combine_max_regno, reg_sign_bit_copies): Now unsigned.
- 	(make_extraction): Position and length HOST_WIDE_INT and unsigned
- 	HOST_WIDE_INT, respectively.
- 	(get_pos_from_mask): Passed in value is unsigned HOST_WIDE_INT.
- 	(num_sign_bit_copies): Returns unsigned.
- 	BITWIDTH now unsigned; rework arithmetic.
- 	Remove recursive call from arg to MAX.
- 	(combine_instructions, init_reg_last_arrays): NREGS now unsigned.
- 	(setup_incoming_promotions, can_combine_p, try_combine, simplify_set):
- 	REGNO now unsigned.
- 	(set_nonzero_bit_and_sign_copies): NUM now unsigned.
- 	(find_split_point, expand_compound_operation, make_extraction): LEN
- 	now unsigned HOST_WIDE_INT, POS now HOST_WIDE_INT.
- 	(make_field_assignment): Likewise.
- 	(combine_simplify_rtx): Add cast.
- 	(expand_compound_operation): MODEWIDTH now unsigned; rework arithmetic.
- 	(force_to_mode): WIDTH now unsigned; add cast.
- 	(if_then_else_cond): SIZE now unsigned.
- 	(nonzero_bits): MODE_WIDTH, RESULT_WIDTH, and WIDTH now unsigned.
- 	(extended_count): Now returns unsigned.
- 	(simplify_shift_const): COUNT unsigned; arg is now INPUT_COUNT.
- 	Add SIGNED_COUNT variable; MODE_WORDS and FIRST_COUNT now unsigned.
- 	(simplify_comparison): MODE_WIDTH now unsigned.
- 	(update_table_tick): REGNO and ENDREGNO now unsigned; new var R.
- 	(mark_used_regs_combine): Likewise; rework arithmetic.
- 	(record_value_for_reg): REGNO, ENDREGNO, and I now unsigned.
- 	(record_dead_and_set_regs, reg_dead_at_p, distribute_notes): Likewise.
- 	(record_promoted_value): REGNO now unsigned.
- 	(get_last_value_validate): REGNO, ENDREGNO, and J now unsigned.
- 	(get_last_value): REGNO now unsigned.
- 	(use_crosses_set_p): REGNO and ENDREGNO now unsigned.
- 	(reg_dead_regno, reg_dead_endregno): Now unsigned.
- 	(remove_death): Arg REGNO now unsigned.
- 	(move_deaths):  REGNO, DEADREGNO, DEADEND, OUREND, and I now unsigned.
- 	(reg_bitfield_target_p): REGNO, REGNO, ENDREGNO, and ENDTREGNO
- 	now unsigned.
- 	* convert.c (convert_to_integer): INPREC and OUTPREC now unsigned.
- 	* cse.c (struct qty_table_elem): FIRST_REG and LAST_REG now unsigned.
- 	(struct cse_reg_info): REGNO now unsigned.
- 	(cached_regno): Now unsigned.
- 	(REGNO_QTY_VALID_P): Add cast.
- 	(make_new_qty, make_regs_eqv, delete_reg_eqiv): Regno args unsigned.
- 	(remove_invalid_regs): Likewise.
- 	(remove_invalid_subreg_refs): Likewise; arg WORD also unsigned
- 	as are variables END and I.
- 	(get_cse_reg_info, insert): Likewise.
- 	(mention_regs, invalidate_for_call): REGNO, ENDREGNO, and I unsigned.
- 	(canon_hash): Likewise.
- 	(insert_regs, lookup_for_remove): REGNO now unsigned.
- 	(invalidate): REGNO, ENDREGNO, TREGNO, and TENDREGNO now unsigned.
- 	New variable RN.
- 	* dbxout.c (dbxout_parms, dbxout_reg_parms): Don't check for REGNO < 0.
- 	* dwarf2out.c (dwarf2ou_frame_debug_expr): Remove cast.
- 	* emit-rtl.c (subreg_realpart_p): Add cast.
- 	(operand_subword): Arg I is now unsigned as is var PARTWORDS.
- 	(operand_subword_force): Arg I is now unsigned.
- 	* except.c (eh_regs): Variable I is now unsigned.
- 	* explow.c (hard_function_value): BYTES is unsigned HOST_WIDE_INT.
- 	* expmed.c (store_fixed_bit_field): Position is HOST_WIDE_INT;
- 	length is unsigned HOST_WIDE_INT; likewise for internal variables.
- 	(store_split_bit_field, extract_fixed_bit_field): Likewise.
- 	(extract_split_bit_field, store_bit_field, extract_bit_field):
- 	Likewise.
- 	* expr.c (store_constructor_fields, store_constructor, store_field):
- 	Positions are HOST_WIDE_INT and lengths are unsigned HOST_WIDE_INT.
- 	(expand_assignment, expand_expr, expand_expr_unaligned): Likewise.
- 	(do_jump): Likewise.
- 	(move_by_pieces, move_by_pieces_ninsns, clear_by_pieces):
- 	MAX_SIZE is now unsigned.
- 	(emit_group_load): BYTEPOS is HOST_WIDE_INT; BYTELEN is unsigned.
- 	(emit_group_store): Likewise.
- 	(emit_move_insn): I now unsigned.
- 	(store_constructor): Use host_integerp, tree_low_cst, and
- 	bitsize_unit_node.
- 	(get_inner_reference): Return bitpos and bitsize as HOST_WIDE_INT.
- 	Rework all calculations to use trees and new fields.
- 	* expr.h (promoted_input_arg): Regno now unsigned.
- 	(store_bit_field, extract_bit_field): Adjust types of pos and size.
- 	(mark_seen_cases): Arg is HOST_WIDE_INT.
- 	* flow.c (verify_wide_reg_1): REGNO now unsigned.
- 	* fold-const.c (decode_field_reference): Size and pos HOST_WIDE_INT;
- 	precisions and alignments are unsigned.
- 	(optimize_bit_field_compare, fold_truthop): Likewise.
- 	(int_const_binop): Adjust threshold for size_int_type_wide call.
- 	(fold_convert): Likewise.
- 	(size_int_type_wide): Make table larger and fix thinko that only
- 	had half of table used.
- 	(all_ones_mask_p, fold): Precisions are unsigned.
- 	* function.c (put_reg_info_stack): REGNO is unsigned.
- 	(instantiate_decl): Size is HOST_WIDE_INT.
- 	(instantiate_virtual_regs): I is unsigned.
- 	(assign_parms): REGNO, REGNOI, and REGNOR are unsigned.
- 	(promoted_input_arg): REGNO is unsigned.
- 	* function.h (struct function): x_max_parm_reg is now unsigned.
- 	* gcse.c (max_gcse_regno): Now unsigned.
- 	(struct null_pointer_info): min_reg and max_reg now unsigned.
- 	(lookup_set, next_set): REGNO arg now unsigned.
- 	(compute_hash_table): REGNO and I now unsigned.
- 	(handle_avail_expr): regnum_for_replacing now unsigned.
- 	(cprop_insn): REGNO now unsigned.
- 	(delete_null_pointer_checks_1): BLOCK_REG now pointer to unsigned.
- 	* ggc-common.c (ggc_mark_tree_children, case FIELD_DECL): New case.
- 	* global.c (set_preference): SRC_REGNO, DEST_REGNO, and I now unsigned.
- 	* hard-reg-set.h (reg_class_size): Now unsigned.
- 	* integrate.c (mark_stores): LAST_REG and I now unsigned; new UREGNO.
- 	* jump.c (mark_modified_reg): I now unsigned; add cast.
- 	(rtx_equal_for_thread_p): Add cast.
- 	* loop.c (max_reg_before_loop): Now unsigned.
- 	(struct_movable): REGNO now unsigned.
- 	(try_copy_prop): REGNO arg unsigned.
- 	(regs_match_p): XN and YN now unsigned.
- 	(consec_sets_invariant_p, maybe_eliminate_biv): REGNO now unsigned.
- 	(strength_reduce): Likewise; NREGS also unsigned.
- 	(first_increment_giv, last_increment_giv unsigned): Now unsigned.
- 	* loop.h (struct iv_class): REGNO now unsigned.
- 	(max_reg_before_loop, first_increment_giv, last_increment_giv):
- 	Now unsigned.
- 	* machmode.h (mode_size, mode_unit_size): Now unsigned.
- 	(mode_for_size, smallest_mode_for_size): Pass size as unsigned.
- 	* optabs.c (expand_binop): I and NWORDS now unsigned.
- 	(expand_unop): I now unsigned.
- 	* print-tree.c (print_node): Don't print DECL_FIELD_BITPOS, but do
- 	print DECL_FIELD_OFFSET and DECL_FIELD_BIT_OFFSET.
- 	* real.c (significand_size): Now returns unsigned.
- 	* real.h (significand_size): Likewise.
- 	* regclass.c (reg_class_size): Now unsigned.
- 	(choose_hard_reg_mode): Both operands now unsigned.
- 	(record_reg_classes): REGNO and NR now unsigned.
- 	(reg_scan): NREGS now unsigned.
- 	(reg_scan_update): old_max_regno now unsigned.
- 	(reg_scan_mark_refs): Arg MIN_REGNO and var REGNO now unsigned.
- 	* reload.c (find_valid_class): BEST_SIZE now unsigned.
- 	(find_dummy_reload): REGNO, NWORDS, and	I now unsigned.
- 	(hard_reg_set_here_p): Args BEG_REGNO and END_REGNO now unsigned.
- 	Likewise for variable R.
- 	(refers_to_regno_for_reload_p): Args REGNO and END_REGNO now unsigned,
- 	as are variables INNER_REGNO and INNER_ENDREGNO; add new variable R.
- 	(find_equiv_reg): Add casts.
- 	(regno_clobbered_p): Arg REGNO now unsigned.
- 	* reload.h (struct reload): NREGS now unsigned.
- 	(refers_to_regno_for_reload_p): Regno args are unsigned.
- 	(regno_clobbered_p): Likewise.
- 	* reload1.c (reg_max_ref_width, spill_stack_slot_width): Now unsigned.
- 	(compute_use_by_pseudos): REGNO now unsigned.
- 	(find_reg): I and J now unsigned, new variable K, and change loop
- 	variables accordingly; THIS_NREGS now unsigned.
- 	(alter_reg): INHERENT_SIZE and TOTAL_SIZE now unsigned.
- 	(spill_hard_reg): REGNO arg now unsigned; add casts.
- 	(forget_old_reloads_1): REGNO, NR, and I now unsigned.
- 	(mark_reload_reg_in_use): Arg REGNO and vars NREGS and I now unsigned.
- 	(clear_reload_reg_in_use): Arg REGNO and vars NREGS, START_REGNO,
- 	END_REGNO, CONFLICT_START, and CONFLICT_END now unsigned.
- 	(reload_reg_free_p, reload_reg_reaches_end_p): Arg REGNO now unsigned.
- 	(choose_reload_regs): MAX_GROUP_SIZE now unsigned.
- 	(emit_reload_insns): REGNO now unsigned.
- 	(reload_cse_move2add): Add cast.
- 	(move2add_note_store): REGNO and I now unsigned; new variable ENDREGNO
- 	and rework loop.
- 	* resource.c (mark_referenced_resources, mark_set_resources): New
- 	variable R; REGNO and LAST_REGNO now unsigned.
- 	(mark_target_live_regs): J and REGNO now unsigned.
- 	* rtl.c (mode_size, mode_unit_size): Now unsigned.
- 	* rtl.h (union rtunion_def): New field rtuint.
- 	(XCUINT): New macro.
- 	(ADDRESSOF_REGNO, REGNO, SUBREG_WORD): New XCUINT.
- 	(operand_subword, operand_subword_force): Word number is unsigned.
- 	(choose_hard_reg_mode): Operands are unsigned.
- 	(refers_to-regno_p, dead_or_set_regno_p): Regno arg is unsigned.
- 	(find_regno_note, find_regno_fusage, replace_regs): Likewise.
- 	(regno_use_in, combine_instructions, remove_death): Likewise.
- 	(reg_scan, reg_scan_update): Likewise.
- 	(extended_count): Return is unsigned.
- 	* rtlanal.c (refers_to_regno_p): Args REGNO and ENDREGNO and vars I,
- 	INNER_REGNO, and INNER_ENDREGNO now unsigned; new variable X_REGNO.
- 	(reg_overlap_mentioned_p): REGNO and ENDREGNO now unsigned.
- 	(reg_set_last_first_regno, reg_set_last_last_regno): Now unsigned.
- 	(reg_reg_last_1): FIRS and LAST now unsigned.
- 	(dead_or_set_p): REGNO, LAST_REGNO, and I now unsigned.
- 	(dead_or_set_regno_p): Arg TEST_REGNO and vars REGNO and ENDREGNO
- 	now unsigned.
- 	(find_regno_note, regno_use_in): Arg REGNO now unsigned.
- 	(find_regno_fusage): Likewise; also var REGNOTE now unsigned.
- 	(find_reg_fusage): Variables REGNO, END_REGNO, and I now unsigned.
- 	(replace_regs): Arg NREGS now unsigned.
- 	* sdbout.c (sdbout_parms, sdbout_reg_parms): Don't check REGNO < 0.
- 	* simplify-rtx.c (simplify_unary_operation): WIDTH now unsigned.
- 	(simplify_binary_operation): Likewise.
- 	(cselib_invalidate_regno): Arg REGNO and variables ENDREGNO, I, and
- 	THIS_LAST now unsigned.
- 	(cselib_record_set): Add cast.
- 	* ssa.c (ssa_max_reg_num): Now unsigned.
- 	(rename_block): REGNO now unsigned.
- 	* stmt.c (expand_return): Bit positions unsigned HOST_WIDE_INT;
- 	sizes now unsigned.
- 	(all_cases_count): Just return -1 not -2.
- 	COUNT, MINVAL, and LASTVAL now HOST_WIDE_INT.
- 	Rework tests to use trees whenever possible.
- 	Use host_integerp and tree_low_cst.
- 	(mark_seen_cases): COUNT arg now HOST_WIDE_INT;
- 	Likewise variable NEXT_NODE_OFFSET; XLO now unsigned.
- 	(check_for_full_enumeration_handing): BYTES_NEEDED, I to HOST_WIDE_INT.
- 	* stor-layout.c (mode_for_size): SIZE arg now unsigned.
- 	(smallest_mode_for_size): Likewise.
- 	(layout_decl): Simplify handing of a specified DECL_SIZE_UNIT.
- 	KNOWN_ALIGN is now an alignment, so simplify code.
- 	Don't turn off DECL_BIT_FIELD if field is BLKmode, but not type.
- 	(start_record_layout): Renamed from new_record_layout_info.
- 	Update to new fields.
- 	(debug_rli, normalize_rli, rli_size_unit_so_far, rli_size_so_far):
- 	New functions.
- 	(place_union_field): Renamed from layout_union_field.
- 	Update to use new fields in rli.
- 	(place_field): Renamed from layout_field.
- 	Major rewrite to use new fields in rli; pass alignment to layout_decl.
- 	(finalize_record_size): Rework to use new fields in rli and handle
- 	union.
- 	(compute_record_mode): Rework to simplify and to use new DECL fields.
- 	(finalize_type_size): Make rounding more consistent.
- 	(finish_union_layout): Deleted.
- 	(layout_type, case VOID_TYPE): Don't set TYPE_SIZE_UNIT either.
- 	(layout_type, case RECORD_TYPE): Call new function names.
- 	(initialize_sizetypes): Set TYPE_IS_SIZETYPE.
- 	(set_sizetype): Set TYPE_IS_SIZETYPE earlier.
- 	(get_best_mode): UNIT is now unsigned; remove casts.
- 	* tree.c (bit_position): Compute from new fields.
- 	(byte_position, int_byte_position): New functions.
- 	(print_type_hash_statistics): Cast to remove warning.
- 	(build_range_type): Use host_integerp and tree_low_cst to try to hash.
- 	(build_index_type): Likewise; make subtype of sizetype.
- 	(build_index_2_type): Pass sizetype to build_range_type.
- 	(build_common_tree_nodes): Use size_int and bitsize_int to
- 	initialize nodes; add bitsize_{zero,one,unit}_node.
- 	* tree.h (DECL_FIELD_CONTEXT): Use FIELD_DECL_CHECK.
- 	(DECL_BIT_FIELD_TYPE, DECL_QUALIFIER, DECL_FCONTEXT): Likewise.
- 	(DECL_PACKED, DECL_BIT_FIELD): Likewise.
- 	(DECL_FIELD_BITPOS): Deleted.
- 	(DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET): New fields.
- 	(DECL_RESULT, DECL_SAVED_INSNS): Use FUNCTION_DECL_CHECK.
- 	(DECL_FRAME_SIZE, DECL_FUNCTION_CODE, DECL_NO_STATIC_CHAIN): Likewise.
- 	(DECL_INLINE, DECL_BUILT_IN_NONANSI, DECL_IS_MALLOC): Likewise.
- 	(DECL_BUILT_IN_CLASS, DECL_STATIC_CONSTRUCTOR): Likewise.
- 	(DECL_STATIC_DESTRUCTOR, DECL_NO_CHECK_MEMORY_USAGE): Likewise.
- 	(DECL_NO_INSTRUMENT_FUNCTION_ENTRY_EXIT, DECL_NO_LIMIT_STACK) Likewise.
- 	(DECL_ORIGINAL_TYPE, TYPE_DECL_SUPPRESS_DEBUG): Use TYPE_DECL_CHECK.
- 	(DECL_ARG_TYPE_AS_WRITEN, DECL_ARG_TYPE): Use PARM_DECL_CHECK.
- 	(DECL_INCOMING_RTL, DECL_TRANSPARENT_UNION): Likewise.
- 	(DECL_ALIGN): Adjust to new field in union.
- 	(DECL_OFFSET_ALIGN): New field.
- 	(DECL_ERROR_ISSUED, DECL_TOO_LATE): Use LABEL_DECL_CHECK.
- 	(DECL_IN_TEXT_SECTION): Use VAR_DECL_CHECK.
- 	(union tree_decl): Add struct for both aligns.
- 	(enum tree_index): Add TI_BITSIZE_{ZERO,ONE,UNIT}.
- 	(bitsize_zero_node, bitsize_one_node, bitsize_unit_node): Added.
- 	(struct record_layout_info): Rework fields to have offset
- 	alignment and byte and bit position.
- 	(start_record_layout, place_field): Renamed from old names.
- 	(rli_size_so_far, rli_size_unit_so_far, normalize_rli): New decls.
- 	(byte_position, int_byte_position): Likewise.
- 	(get_inner_reference): Change types of position and length.
- 	* unroll.c (unroll_loop): New variable R; use for some loops.
- 	MAX_LOCAL_REGNUM and MAXREGNUM now unsigned.
- 	(calculate_giv_inc): Arg REGNO now unsigned.
- 	(copy_loop_body): REGNO and SRC_REGNO now unsigned.
- 	* varasm.c (assemble_variable): Clean up handling of size using
- 	host_integerp and tree_low_cst.
- 	(decode_addr_const): Use byte, not bit, position.
- 	(output_constructor): bitpos and offsets are HOST_WIDE_INT;
- 	use tree_low_cst and int_bit_position.
- 	* objc/objc-act.c (build_ivar_list_initializer): Use byte_position.
- 
- Fri Mar 24 20:13:49 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (REORDER_MOVED_BLOCK_END): Removed.
- 	(reorder_block_def): New members eff_head and eff_end.
- 	(REORDER_BLOCK_EFF_HEAD, REORDER_BLOCK_EFF_END): New macros.
- 	(verify_insn_chain): New function.
- 	(skip_insns_between_block): Add code to skip deleted insns.
- 	Check for note before using.
- 	(chain_reorder_blocks): Replace calls to skip_insns_between_block
- 	with references to REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END.
- 	Check for note before using.
- 	(make_reorder_chain): Use INTVAL rather than XINT to get REG_BR_PROB.
- 	(fixup_reorder_chain): Restructure, clean up, defect removal.
- 	(reorder_basic_blocks): Remove last_insn and references to it.
- 	Moved insn chain verification code into a new function (see above).
- 	Delete defective code that sets last insn.
- 	Initialize REORDER_BLOCK_EFF_HEAD and REORDER_BLOCK_EFF_END for
- 	all blocks.
- 
- 2000-03-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (CPP_SPEC): Remove erroneous space.
- 
- 2000-03-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.c (lang_safe_for_unsave): Remove.
- 	(unsafe_for_reeval): Transmute and rename from safe_for_unsave,
- 	allowing for two levels of unsafeness.  Remove lang hook.
- 	* tree.h: Update declarations.
- 	* calls.c (expand_call): Rename safe_for_reeval to try_tail_call.
- 	Create temporary VAR_DECLs to protect very unsafe_for_reeval trees.
- 	Always fail sibcalls when there are pending cleanups.
- 
- 2000-03-24  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* flow.c (propagate_block): When we delete an ADDR_VEC,
- 	also delete the BARRIER following it if there is one.
- 
- 2000-03-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_bzero): Convert `length' argument
- 	to sizetype.
- 
- 2000-03-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* sibcall.c (skip_copy_to_return_value): Use OUTGOING_REGNO for
- 	comparison if regno's are equal.
- 	* calls.c (initialize_argument_informat): Add ecf_flags argument.
- 	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
- 	(expand_call): Update caller.
- 	Avoid making a sibling call if argument size of the callee is larger
- 	than argument size of the caller.
- 	Call hard_function_value with outgoing set if in sibcall pass.
- 	Use FUNCTION_INCOMING_ARG if available and ECF_SIBCALL.
- 
- 	* final.c (permitted_reg_in_leaf_functions, only_leaf_regs_used):
- 	Change LEAF_REGISTERS from an array initializer to actual array
- 	identifier. Move static global variable into the function.
- 	(leaf_function_p): Allow SIBLING_CALL_P calls even outside of
- 	sequences for leaf functions.
- 	* global.c (global_alloc): Likewise.
- 	* tm.texi (LEAF_REGISTERS): Update documentation.
- 
- 	* config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Remove the ugly
- 	TARGET_FLAT leaf disabling hack.
- 	(LEAF_REGISTERS): Changed from an array initializer to actual array
- 	identifier to avoid duplication and remove the above hack.
- 	(FUNCTION_OK_FOR_SIBCALL): Define.
- 	* config/sparc/sparc.md (sibcall): New attr type. Use it almost
- 	always like call attribute.
- 	(eligible_for_sibcall_delay): New attribute.
- 	(sibcall): New delay type.
- 	(sibcall, sibcall_value, sibcall_epilogue): New expands.
- 	(sibcall_symbolic_sp32, sibcall_symbolic_sp64,
- 	sibcall_value_symbolic_sp32, sibcall_value_symbolic_sp64): New insns.
- 	* config/sparc/sparc.c (sparc_leaf_regs): New array.
- 	(eligible_for_sibcall_delay, output_restore_regs, output_sibcall):
- 	New functions.
- 	(output_function_epilogue): Move part of the code into
- 	output_restore_regs.
- 	(ultra_code_from_mask, ultrasparc_sched_reorder): Handle
- 	TYPE_SIBCALL.
- 	* sparc-protos.h (output_sibcall, eligible_for_sibcall_delay): New
- 	prototypes.
- 
- 	* config/sparc/sparc.h (REVERSIBLE_CC_MODE): Revert Jan, 25 change
- 	until infrastructure is finished.
- 
- Fri Mar 24 13:49:45 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* integrate.c (save_for_inline_nocopy): Clear in_nonparm_insns here.
- 	(save_parm_insns): Not here.
- 
- 2000-03-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_bzero): New function.
- 	(expand_builtin): Handle bzero.
- 
- 	* builtins.def: Add BUILT_IN_BZERO.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Provide builtin
- 	prototype & function for bzero.
- 
- 2000-03-23  Michael Meissner  <meissner@redhat.com>
- 
- 	* config/alpha/alpha.md (TF floating point insns): Undo 2000-03-21
- 	change adding TARGET_FP to the TF floating point insns, except for
- 	trunctfsf2, which generates direct calls to truncdfsf2.
- 
- 2000-03-23  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.h (ARG_POINTER_CFA_OFFSET): New definition,
- 	try to protect against middle-end changes that break binary
- 	compatibility.
- 	(DWARF_FRAME_REGISTERS): New definition, likewise for backend.
- 
- 2000-03-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (load_immed_address):  Add DP reg clobber.
- 
- Thu Mar 23 17:10:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (expand_call): If TARGET is passed by reference and
- 	is readonly, write a CLOBBER.
- 
- 2000-03-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin): Handle bcmp.
- 
- 	* builtins.def: Add BUILT_IN_BCMP.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Provide builtin
- 	prototype & function for bcmp.
- 
- Thu Mar 23 11:34:39 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (rtx_needs_barrier, case UNSPEC): Move case 6...
- 	(rtx_needs_barrier, case UNSPEC_VOLATILE): to here.
- 	* config/ia64/ia64.md (pr_restore): Change UNSPEC to UNSPEC_VOLATILE.
- 
- Thu Mar 23 16:04:40 2000  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.md (movdf_internal1a): Delete (set 'f', 'F')
- 	alternative when using -fp64 -gp32.
- 
- 2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* config/rs6000/rs6000.h (DWARF_FRAME_RETURN_COLUMN): Define.
- 	* config/alpha/alpha.h (DWARF_FRAME_RETURN_COLUMN): Define.
- 	* config/sparc/sparc.h (DWARF_FRAME_RETURN_COLUMN): Define.
- 
- 	* frame.h (frame_state): Revert last change.
- 	* frame.c (execute_cfa_insn): Just don't record the save of a CFA reg.
- 	* libgcc2.c (throw_helper): Revert last change.
- 
- 2000-03-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Don't promote the temporary.
- 
- 2000-03-22  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* builtin.c (get_pointer_alignment): Use DECL_P and TYPE_P macros.
- 	* c-common.c (decl_attributes,check_format_info,truthvalue_conversion,
- 	  c_get_alias_set): Likewise.
- 	* c-decl.c (duplicate_decls): Likewise.
- 	* c-typeck.c (default_conversion,build_unary_op): Likewise.
- 	* calls.c (initialize_argument_information): Likewise.
- 	* dwarf2out.c (decl_class_context,add_abstract_origin_attribute):
- 	Likewise.
- 	* dwarfout.c (decl_class_context,output_type): Likewise.
- 	* expr.c (get_inner_reference): Likewise.
- 	* fold-const.c (simple_operand_p,fold): Likewise.
- 	* function.c (aggregate_value_p): Likewise.
- 	* stmt.c (expand_asm_operands): Likewise.
- 	* varasm.c (named_section): Likewise.
- 
- 2000-03-22  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	Implement dwarf2 exception handling for the ARM.
- 	* config/arm/arm.h (INCOMING_RETURN_ADDR_RTX): Define.
- 	(DWARF_FRAME_RETURN_COLUMN): Define.
- 	* config/arm/arm.c (emit_multi_reg_push): Return rtx.  Attach
- 	REG_FRAME_RELATED_EXPR note.
- 	(emit_sfm): Likewise.
- 	(arm_expand_prologue): Set RTX_FRAME_RELATED_P on everything.
- 	* dwarf2out.c (reg_save): Handle saving a register to itself.
- 	(dwarf2out_frame_debug_expr): Handle an intermediate cfa reg.
- 	* except.c (eh_regs): Don't use the static chain reg if it's
- 	callee-saved.
- 	* frame.h (frame_state): Add cfa_saved field.
- 	* frame.c (execute_cfa_insn): Set it.
- 	* libgcc2.c (throw_helper): Don't adjust sp if it's restored in
- 	the epilogue.
- 	* function.c (ARG_POINTER_CFA_OFFSET): Default to FIRST_PARM_OFFSET.
- 	Now takes a parm.
- 	(instantiate_virtual_regs): Adjust.
- 	* tm.texi: Adjust.
- 	* config/m68k/m68k.h (ARG_POINTER_CFA_OFFSET): Don't define.
- 	* config/ns32k/ns32k.h (ARG_POINTER_CFA_OFFSET): Don't define.
- 	* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): Take a parm.
- 
- 	* dwarf2out.c (reg_number): Refer to FIRST_PSEUDO_REGISTER.
- 	(initial_return_save): Use DWARF_FRAME_REGNUM, not reg_number.
- 
- 2000-03-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def: New file.
- 
- 	* Makefile.in (TREE_H): Depend on builtins.def.
- 
- 	* builtins.c (built_in_names): Use builtins.def.
- 
- 	* tree.h (built_in_function): Likewise.
- 
- 2000-03-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (size_in_bytes): Return size_zero_node, not
- 	integer_zero_node.
- 
- 2000-03-22  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/fp-bit.c (pack_d): Correct the case when a denormal
- 	is rounded up and stops being denormal.
- 
- 2000-03-21  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (function_arg): Check for void_type_node
- 	before using MUST_PASS_IN_STACK.
- 
- 2000-03-21  Stephane Carrez  <stcarrez@worldnet.fr>
- 
- 	* regmove.c (combine_stack_adjustments_for_block): Check that
- 	the stack pointer is a valid memory address.
- 
- Wed Mar 22 11:44:50 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c: re-install Mar 16 emit_library_call merge.
- 
- 2000-03-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (mem_min_alignment): If not optimizing,
- 	we cannot be sure that if reload_completed base register will
- 	be properly aligned.
- 
- 2000-03-21  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (delete_block): Fix typo last change.
- 
- 2000-03-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (c_expand_expr_stmt): Use COMPLETE_TYPE_OR_VOID_P,
- 	not COMPLETE_TYPE_P, to check the type of the expression.
- 
- 2000-03-21  Michael Meissner  <meissner@redhat.com>
- 
- 	* config/alpha/alpha.md (floating point insns): Add TARGET_FP to
- 	all floating point insns that just tested the macro
- 	TARGET_HAS_XFLOATING_LIBS.
- 	(movsf/movdf recognizers): Add separate insns if -mno-fp-regs is
- 	used to only use the gprs.
- 
- 2000-03-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (COMPLETE_TYPE_P): New macro.
- 	(COMPLETE_OR_VOID_TYPE_P): New macro.
- 	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): New macro.
- 	* stor-layout.c (layout_type, case VOID_TYPE): Don't set TYPE_SIZE.
- 	* c-aux-info.c (gen_type): Use them.
- 	* c-common.c (c_expand_expr_stmt): Likewise.
- 	* c-decl.c (poplevel, pushdecl, start_decl, finish_decl,
- 	grokdeclarator, grokparms, finish_struct, start_function,
- 	store_parm_decls, combine_parm_decls): Likewise.
- 	* c-parse.y (cast_expr): Likewise.
- 	* c-typeck.c (require_complete_type, c_sizeof, c_sizeof_nowarn,
- 	c_size_in_bytes, c_alignof, build_component_ref,
- 	build_indirect_ref, build_array_ref, convert_arguments,
- 	build_binary_op, pointer_diff, build_unary_op, digest_init: Likewise.
- 	* calls.c (initialize_argument_information): Likewise.
- 	* convert.c (convert_to_integer): Likewise.
- 	* dbxout.c (dbxout_typedefs, dbxout_type, dbxout_symbol): Likewise.
- 	* dwarfout.c (location_or_const_value_attribute,
- 	output_enumeration_type_die, output_structure_type_die,
- 	output_union_type_die, output_type): Likewise.
- 	* expr.c (safe_from_p, expand_expr): Likewise.
- 	* function.c (assign_parms): Likewise.
- 	* sdbout.c (sdbout_symbol, sdbout_one_type): Likewise.
- 	* tree.c (build_array_type, build_function_type,
- 	build_method_type, build_offset_type, build_complex_type): Likewise.
- 	* c-parse.c, c-parse.h: Regenerated.
- 
- 2000-03-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/rtems.h: Include config/rtems.h.
- 
- Tue Mar 21 09:24:00 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (encode_section_info): sets SYMBOL_REF_FLAG if
- 	decl is a FUNCTION_DECL
- 
- Mon Mar 20 19:53:53 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_prologue): Don't abort if leaf
- 	function uses output registers.  Don't save RP for leaf functions.
- 	Do save RP even if no epilogue.
- 	* config/ia64/ia64.h (FIXED_REGISTERS): Unmark in/out registers.
- 	(CALL_USED_REGISTERS): Unmark in registers.
- 	(REG_ALLOC_ORDER): Move out regs up, to near the top.  Move in regs up,
- 	to near the middle.
- 
- 2000-03-20  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (bunordered): New expander.
- 	(bordered): New expander.
- 	(buneq): New expander.
- 	(bunge): New expander.
- 	(bungt): New expander.
- 	(bunle): New expander.
- 	(bunlt): New expander.
- 	(bltgt): New expander.
- 
- 	* config/rs6000/rs6000.c (ccr_bit): Handle unordered comparisons.
- 	(ccr_bit_negated_p): New function.
- 	(print_operand): For %C, generate appropriate cror for UNEQ,
- 	UNLT, UNGT, and LTGT.  For %T and %t, use ccr_bit_negated_p.
- 
- 2000-03-20  Andreas Jaeger  <aj@suse.de>
- 
- 	* sdbout.c (sdbout_one_type): Add braces to avoid "ambigous else"
- 	warning.
- 
- 	* tree.h (safe_for_unsave): Prototype.
- 
- 2000-03-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* regmove.c (stack_memref_p): Fix typo, reorg for readability.
- 	(combine_stack_adjustments_for_block): Don't allow sp references
- 	in the side of a set we're not fixing up.
- 	* toplev.c (rest_of_compilation): Run combine_stack_adjustments
- 	after life_analysis.
- 
- 2000-03-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (expand_call): Don't bother generating tail call
- 	sequences if there are pending cleanups.  Use
- 	expand_start_target_temps/expand_end_target_temps to elide
- 	cleanups created during sibcall expansion.
- 
- 2000-03-20  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* configure.in: Set $IFS to a value if it doesn't already have one
- 	in the --enable-checking handling.
- 	* configure: Regenerate.
- 
- 2000-03-20  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* c-parse.in (SAVE_WARN_FLAGS): Use size_int.
- 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
- 	Regenerated.
- 
- Mon Mar 20 11:43:15 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (delete_noop_moves): Remove code attempting to
- 	combine stack adjustments.
- 
- 2000-03-19  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* emit-rtl.c (push_to_full_sequence, end_full_sequence): New functions.
- 	* except.c (emit_cleanup_handler): Use them.
- 	(expand_end_all_catch): Likewise.
- 	* function.c (fixup_var_refs): Likewise.
- 	(expand_function_end): Clear catch_clauses_last.
- 	* rtl.h (push_to_full_sequence, end_full_sequence): Declare.
- 	* except.h (struct eh_status): New field x_catch_clauses_last.
- 	(catch_clauses_last): New define.
- 
- 	* Makefile.in (tree.o): Depend on HASHTAB_H.
- 	* tree.c: Include hashtab.h.
- 	(struct type_hash): Remove next field.
- 	(TYPE_HASH_SIZE): Remove.
- 	(TYPE_HASH_INITIAL_SIZE): New define.
- 	(type_hash_table): Change type to htab_t.
- 	(type_hash_eq, type_hash_hash, print_type_hash_statistics,
- 	mark_hash_entry): New functions.
- 	(init_obstacks): Allocate type hash.
- 	(type_hash_lookup): Use htab functions.
- 	(type_hash_add, mark_type_hash): Likewise.
- 	(dump_tree_statistics): Call print_type_hash_statistics.
- 
- 2000-03-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rs6000/t-aix41: New file.
- 
- 	* configure.in ({rs6000,powerpc}-ibm-aix4.[12]*): Use it.
- 
- Sun Mar 19 13:27:30 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* tm.texi (Driver): Fix typos and tweak entry for
- 	INCLUDE_DEFAULTS.
- 	Move misplaced STRUCT_FORCE_BLK entry ...
- 	(Storage Layout): ... to here.
- 	(Run-time Target): Recommend having TARGET_MASK_... helper macros.
- 
- 2000-03-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (delete_block): Delete the addr_vec along with the block.
- 	(flow_delete_insn): Decrement LABEL_NUSES when deleting insns that
- 	reference labels.
- 
- 	* fold-const.c (extract_muldiv): Apply type check for defined
- 	overflow to multiply as well as divide.
- 
- 	* stor-layout.c (layout_decl): Don't abort on any zero sized decl.
- 
- 2000-03-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* emit-rtl.c (remove_unnecessary_notes): Check that all
- 	NOTE_INSN_BLOCK_BEG and NOTE_INSN_BLOCK_END notes have an
- 	associated NOTE_BLOCK.
- 	* function.h (identify_blocks): Update comments.
- 	(reorder_blocks): Declare.
- 	* function.c (identify_blocks): Don't take paramters.
- 	(reorder_blocks): Don't take parameters.
- 	* loop.h (find_loop_tree_blocks): Remove.
- 	(unroll_block_trees): Likewise.
- 	* loop.c (loop_optimize): Don't call find_loop_tree_blocks.  Use
- 	reorder_blocks instead of unroll_block_trees.h
- 	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Likewise.
- 	* stmt.c (find_loop_tree_blocks): Remove.
- 	(unroll_block_trees): Likewise.
- 	* toplev.c (rest_of_compilation): Don't call find_loop_tree_blocks
- 	in whole-function mode.
- 	* tree.h (reorder_blocks): Remove declaration.
- 
- 	* expr.c: Include intl.h.
- 	* Makefile.in (expr.o): Depend on intl.h.
- 
- 2000-03-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (emit_move_insn_1): Clarify cannot_inline message.
- 
- 2000-03-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (tree_index): Remove enumerals for integer types.
- 	(integer_type_kind): New type.
- 	(integer_types): New variable.
- 	(char_type_node): Adjust.
- 	(signed_char_type_node): Likewise.
- 	(unsigned_char_type_node): Likewise.
- 	(short_integer_type_node): Likewise.
- 	(short_unsigned_type_node): Likewise.
- 	(integer_type_node): Likewise.
- 	(unsigned_type_node): Likewise.
- 	(long_integer_type_node): Likewise.
- 	(long_unsigned_type_node): Likewise.
- 	(long_long_integer_type_node): Likewise.
- 	(long_long_unsigned_type_node): Likewise.
- 	* tree.c (integer_types): New variable.
- 	(init_obstacks): Register it as a root.
- 
- Sat Mar 18 14:38:00 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* bb-reorder.c (reorder_basic_blocks): Update PREV_INSN as well as
- 	NEXT_INSN. Update last insn in chain.
- 
- 2000-03-17  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_decl): Don't emit anything for types
- 	with TYPE_DECL_SUPPRESS_DEBUG set.
- 
- 2000-03-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (make_edges): Use INTVAL to access REG_EH_REGION value.
- 
- 2000-03-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (call_insn_operand): Always allow SYMBOL_REF,
- 	care for HALF_PIC_P.
- 	(expander_call_insn_operand): Remove.
- 	(ix86_expand_epilogue): New arg `emit_return' to control return insn.
- 	* i386.h (PREDICATE_CODES): Update.
- 	* i386.md (all call expanders): Remove predicates, remove special
- 	handling for half-pic.
- 	(*call_1, *call_value_1): Handle SIBLING_CALL_P insns.
- 	(*call_pop_pic2, *call_pic2, *call_value_pop_2, *call_value_2): Remove.
- 	(sibcall_epilogue): New.
- 
- 2000-03-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (single_set): Reject if the parallel has anything
- 	except SET or USE or CLOBBER.
- 
- 2000-03-17  Jeff Law  <law@cygnus.com>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (OBJS): Add sibcall.o.
- 	(sibcall.o): New.
- 	* sibcall.c: New file.
- 	* calls.c (FUNCTION_OK_FOR_SIBCALL): Provide default.
- 	(ECF_IS_CONST, ECF_NOTHROW, ECF_SIBCALL): New.
- 	(emit_call_1): Replace `is_const' and `nothrow' with `ecf_flags'.
- 	Emit sibcall patterns when requested.  Update all callers.
- 	(expand_call): Generate CALL_PLACEHOLDER insns when tail call
- 	elimination seems feasable.
- 	* final.c (leaf_function_p): Sibling calls don't discount being
- 	a leaf function.
- 	* flow.c (HAVE_sibcall_epilogue): Provide default.
- 	(find_basic_blocks_1): Sibling calls don't throw.
- 	(make_edges): Make edge from sibling call to EXIT.
- 	(propagate_block): Don't remove sibcall_epilogue insns.
- 	* function.c (prologue, epilogue): Turn into varrays.  Update all uses.
- 	(sibcall_epilogue): New.
- 	(fixup_var_refs): Scan CALL_PLACEHOLDER sub-sequences.
- 	(identify_blocks_1): Likewise.  Break out from ...
- 	(identify_blocks): ... here.
- 	(reorder_blocks_1): Scan CALL_PLACEHOLDER.  Break out from ...
- 	(reorder_blocks): ... here.
- 	(init_function_for_compilation): Zap prologue/epilogue as varrays.
- 	(record_insns): Extend a varray instead of mallocing new memory.
- 	(contains): Read a varray not array of ints.
- 	(sibcall_epilogue_contains): New.
- 	(thread_prologue_and_epilogue_insns): Emit and record
- 	sibcall_epilogue patterns.
- 	(init_function_once): Allocate prologue/epilogue varrays.
- 	* genflags.c (gen_insn): Treat sibcall patterns as calls.
- 	* integrate.c (save_parm_insns): Recurse on CALL_PLACEHOLDER patterns.
- 	Broken out from ...
- 	(save_for_inline_nocopy): ... here.
- 	(copy_insn_list): Recurse on CALL_PLACEHOLDER patterns.
- 	Broken out from ...
- 	(expand_inline_function): ... here.
- 	(copy_rtx_and_substitute): Handle NOTE_INSN_DELETED_LABEL.
- 	(subst_constants): Handle 'n' formats.
- 	* jump.c (jump_optimize_minimal): New.
- 	(jump_optimize_1): New arg `minimal'; update callers.  Elide most
- 	optimizations if it's set.
- 	* rtl.c (copy_rtx): Do copy jump & call for insns.
- 	* rtl.h (struct rtx_def): Document use of jump and call for insns.
- 	(SIBLING_CALL_P): New.
- 	(sibcall_use_t): New.
- 	* toplev.c (rest_of_compilation): Do init_EXPR_INSN_LIST_cache earlier.
- 	Invoke optimize_sibling_and_tail_recursive_calls.
- 	* tree.c (lang_safe_for_unsave): New.
- 	(safe_for_unsave): New.
- 	* tree.h (lang_safe_for_unsave, safe_for_unsave): Declare.
- 
- 	* alpha.h (FUNCTION_OK_FOR_SIBCALL): New.
- 	* alpha.md (sibcall, sibcall_value, sibcall_epilogue): New.
- 	(*sibcall_osf_1, *sibcall_value_osf_1): New.
- 
- 2000-03-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* objc/objc-act.c (encode_method_prototype): Pass types, not
- 	PARM_DECLs, to int_size_in_bytes.
- 
- Fri Mar 17 11:51:34 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.md (mix4right_3op): Swap %1 and %2 in template.
- 
- 	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
- 	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyrights again.
- 
- Fri Mar 17 08:09:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Clean up usages of TREE_INT_CST_LOW.
- 	* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst.
- 	* c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c:
- 	Regenerated.
- 	* c-tree.h (min_precision): Move declaration to here.
- 	* c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst.
- 	(build_unary_op, add_pending_init): Use bit_position.
- 	(pending_init_member, process_init_element): Likewise.
- 	(really_start_incremental_init, push_init_level, pop_init_level):
- 	Don't make copies of nodes or modify them in place, use consistent
- 	types when tracking positions, and use tree routines computations.
- 	(set_init_index, output_init_element): Likewise.
- 	(output_pending_init_elements, process_init_element): Likewise.
- 	* dbxout.c (dbxout_type_fields): Use bit_position, host_integerp,
- 	tree_low_cst and int_bit_position; also minor cleanup.
- 	(dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise.
- 	(print_cst_octal): Precision is unsigned.
- 	(dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst.
- 	* dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT.
- 	(simple_type_align_in_bits): Result is unsigned int.
- 	Use tree_int_low_cst and host_integerp.
- 	(simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT.
- 	(field_byte_offset): Result is HOST_WIDE_INT.
- 	Change types of internal variables so alignments are unsigned int,
- 	offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT.
- 	Use host_integerp, tree_low_cst, and int_bit_position.
- 	(add_bit_offset_attribute): Likewise.
- 	(add_data_member_location_attribute): Use tree_cst_low.
- 	(add_bound_info): Use host_integerp, integer_zerop, and integer_onep.
- 	(add_bit_size_attribute): Use tree_low_cst.
- 	(add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise.
- 	* dwarfout.c: Similar changes to dwarf2out.c.
- 	* expr.c (expand_expr, case ARRAY_REF): Remove redundant code.
- 	* genoutput.c (n_occurrences): Return -1 for null string.
- 	(strip_whitespace): Accept null string and make into function.
- 	(scan_operands): Reflect above changes.
- 	* sdbout.c (plain_type_1): Use host_integerp and tree_low_cst.
- 	(sdbout_field_types, sdbout_one_type): Likewise; also use bit_position.
- 	* ssa.c (rename_registers): Add missing cast of arg to bzero.
- 	* tree.c (int_size_in_bytes): Check for too big to represent.
- 	(bit_position, int_bit_position, host_integerp, tree_low_cst): New fns.
- 	* tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position):
- 	New declarations.
- 	(min_precision): Delete from here.
- 	* varasm.c (decode_addr_const): Use host_integerp, bit_position,
- 	and int_bit_position.
- 	* objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT.
- 	(encode_method_def): Likewise.
- 	(build_ivar_list_initializer): Use int_bit_position.
- 	(generate_shared_structures): Convert size.
- 	(encode_type, encode_complete_bitfield): Use integer_zerop.
- 	(encode_bitfield): Use tree_low_cst and int_bit_position.
- 
- 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (CPP_SPEC): Fix typo.
- 
- 2000-03-17  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* call.c (special_function_p): It is only malloc if it returns
- 	Pmode.
- 
- 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (ASM_SPEC, CPP_SPEC, LINK_SPEC): Support C33.
- 	(C33_FLAG, TARGET_C3X): Add macros.
- 	(TARGET_SWITCHES): Add -m33 option.
- 	* config/c4x/c4x.c (c4x_override_options): Test for TARGET_C33.
- 
- 2000-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (PARALLEL_INSN_FLAG): Add.
- 	(PARALLEL_PACK_FLAG): Delete.
- 	(TARGET_SWITCHES): Update.
- 	(TARGET_PARALLEL): Use PARALLEL_INSN_FLAG.
- 
- Thu Mar 16 18:52:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (fold): Fix a few cases when the returned result
- 	is not of the same type as the input.
- 
- 2000-03-16  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Fix compile time
- 	warning.
- 
- 2000-03-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* libgcc2.h: Move prototypes above macros with the same name.
- 	Wrap some function prototypes in the conditional which indicates
- 	whether they are supported, i.e. "BITS_PER_UNIT == 8".
- 
- 2000-03-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c: Revert last two changes.
- 
- 2000-03-16  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* fp-bit.c (_unpack_d): If NO_DENORMALS is defined, anything that
- 	has exponent 0 is a zero.
- 
- 	* simplify-rtx.c (hash_rtx, case MEM/REG): Take into account that
- 	HASH may already be nonzero.  Add code/mode into hash value
- 	immediately after repeat label.
- 	(cselib_lookup): Don't leave the hash table in an inconsistent
- 	state before a hash lookup operation.
- 
- Thu Mar 16 17:03:10 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (all HI and QI mode non-move patterns):  Conditionize
- 	by TARGET_[HQ]IMODE_MATH.
- 	* i386.h (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
- 	x86_promote_qi_regs): Declare.
- 	(TARGET_HIMODE_MATH, TARGET_QIMODE_MATH, TARGET_PROMOTE_HI_REGS,
- 	TARGET_PROMOTE_QI_REGS): New macros.
- 	(PROMOTE_MODE): New macro.
- 	* i386.c (x86_himode_math, x86_qimode_math, x86_promote_hi_regs,
- 	x86_promote_qi_regs): New global variables.
- 
- Thu Mar 16 16:50:44 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (emit_library_call_value_1): Break out from ...; handle
- 	VOIDmode function calls too.
- 	(emit_library_call_value): ... here.
- 	(emit_library_call): Implement by calling emit_library_call_value_1.
- 
- Thu Mar 16 16:01:30 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Do sanity checking on arg_space_so_far.
- 	Update arg_space_so_far on stack adjustments.
- 	(emit_library_call, emit_library_call_value): Likewise; take into
- 	account arg_space_so_far and pending_stack_adjust when calculcating
- 	the boundary.
- 
- Thu Mar 16 09:02:19 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* flow.c: Move all basic block reordering code into its own file.
- 	(create_basic_block): Externalize.
- 	* bb-reorder.c: New file. Copy all basic block reordering code from
- 	flow.c to this file.
- 	(reorder_basic_blocks): Fix fencepost error in for-loop.
- 	(reorder_basic_blocks): Remove braces from single statement for-loops.
- 	* basic-block.h: Add declaration for create_basic_block.
- 	* Makefile.in: Add rules for bb-reorder.o.
- 
- 2000-03-16  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (handle_option):  Implement #unassert directive
- 	as -A- command line option.
- 	(print_help):  Update.
- 	* cpptexi.c:  Update.
- 
- Thu Mar 16 02:14:16 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* md.texi (Standard Names): Document `jump'.
- 
- 2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* calls.c (emit_call_1): Nothrow functions can still have nonlocal
- 	gotos.
- 
- 2000-03-15  Geoff Keating  <geoffk@cygnus.com>
- 
- 	Merge changes from newppc-branch onto trunk.
- 
- 	2000-03-15  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (toc_hash_table): Update for new hash table functions.
- 	(toc_hash_function): Likewise.
- 	(toc_hash_eq): Likewise.
- 	(toc_hash_mark_entry): Likewise.
- 	(toc_hash_mark_table): Likewise.
- 	(output_toc): Likewise.
- 	(rs6000_add_gc_roots): Likewise.
- 
- 	2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* t-aix43 (AR_FOR_TARGET): Deleted.  Moved `-X32_64'...
- 	(AR_FLAGS_FOR_TARGET): here.  New macro.
- 
- 	2000-03-05  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_fpmem_offset, rs6000_fpmem_size,
- 	fpmem_operand) Delete.
- 	(xer_operand) New.
- 	(rs6000_reg_names, alt_reg_names): Change fpmem to xer.
- 	(machine_function): Remove fpmem_size, fpmem_offset, save_toc_p.
- 	(rs6000_save_machine_status, rs6000_restore_machine_status,
- 	rs6000_init_expanders, rs6000_stack_info, debug_stack_info): Remove
- 	references to above variables.
- 	(gpc_reg_operand): Use XER_REGNO_P instead of FPMEM_REGNO_P.
- 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER, REGISTER_NAMES,
- 	DEBUG_REGISTER_NAMES): Chagne fpmem to xer.
- 	(FPMEM_REGNO_P, FPMEM_REGNUM): Delete.
- 	(XER_REGNO_P, XER_REGNO): New.
- 	(rs6000_stack): Remove fpmem_p, fpmem_offset, fpmem_size.
- 	(PREDICATE_CODES): Change fpmem_operand to xer_operand.
- 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Change FPMEM_REGNO_P to
- 	XER_REGNO_P.
- 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS,
- 	REG_CLASS_FROM_LETTER, CLASS_MAX_NREGS): Change FPMEM_REGS to XER_REGS,		and remove FLOAT_OR_FPMEM_REGS.
- 	(CLASS_CANNOT_CHANGE_SIZE): Change to FLOAT_REGS.
- 
- 	2000-02-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* aix.h (FP_SAVE_INLINE, ASM_OUTPUT_INTERNAL_LABEL_PREFIX,
- 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Move here...
- 	* rs6000.h: from here.
- 
- 	* rs6000-protos.h (rs6000_select_section): Provide prototype.
- 	(rs6000_select_rtx_section): Likewise.
- 	(rs6000_encode_section_info): Likewise.
- 	(sdata_section): Likewise.
- 	(sdata2_section): Likewise.
- 	(sbss_section): Likewise.
- 	* sysv4.h (rs6000_select_section): Delete prototype.
- 	(rs6000_select_rtx_section): Likewise.
- 	(rs6000_encode_section_info): Likewise.
- 	(sdata_section): Likewise.
- 	(sdata2_section): Likewise.
- 	(sbss_section): Likewise.
- 	(REG_SAVE_AREA): Delete definition duplicated in rs6000.h.
- 
- 	* sysv4.h: Delete various unnecessary #undef's and put a comment
- 	on the remaining ones.
- 	Change various comments according to coding standard.
- 
- 	2000-02-29  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/rs6000/rs6000.h (MQ_REGNO, CR0_REGNO, CR1_REGNO, CR2_REGNO,
- 	CR3_REGNO, CR4_REGNO, MAX_CR_REGNO): Define.
- 	(CR0_REGNO_P) Remove.
- 	* config/rs6000/rs6000.c (gpc_reg_operand, and64_operand, and_operand,
- 	setup_incoming_varargs, mtcrf_operation, print_operand,
- 	rs6000_stack_info, rs6000_emit_prologue, rs6000_emit_epilogue):
- 	Use the above macros.
- 
- 	2000-02-24  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/rs6000/rs6000.md: Added a new alternative for each
- 	pattern that had a 'x' alternative but no 'y' alternative.
- 	Added a new split for each of the above patterns.
- 
- 	2000-02-18  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* aix41.h (ASM_CPU_SPEC): Delete.
- 	(CPP_CPU_SPEC): Delete.
- 
- 	* aix.h (RS6000_OUTPUT_BASENAME): Define.
- 	(ASM_OUTPUT_LABEL): Define.
- 	(ASM_GLOBALIZE_LABEL): Define.
- 	(STRIP_NAME_ENCODING): Define.
- 	* rs6000.h (RS6000_OUTPUT_BASENAME): Don't define.
- 	(STRIP_NAME_ENCODING): Don't define.
- 	(ASM_OUTPUT_LABEL): Don't define.
- 	(ASM_GLOBALIZE_LABEL): Don't define.
- 	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use assemble_name to output
- 	names, and ASM_OUTPUT_LABEL to output labels, rather than
- 	asm_fprintf.
- 	(ASM_OUTPUT_LABEL): Define.
- 	(ASM_OUTPUT_INT): Use assemble_name.
- 	(ASM_OUTPUT_DWARF_ADDR): Use assemble_name.
- 	(STRIP_NAME_ENCODING): Don't undefine first.
- 	(RS6000_OUTPUT_BASENAME): Make equivalent to assemble_name for
- 	ELF.
- 	(ASM_OUTPUT_LABELREF): Don't prepend underscores to labels
- 	specified with 'asm' even with -fleading-underscore.
- 	* rs6000.c (print_operand): Use assemble_name when !TARGET_AIX.
- 	(output_epilog): Likewise.
- 	(output_toc): Likewise.
- 	* tramp.asm: Handle -fleading-underscore correctly.
- 
- 	* rs6000.md (builtin_setjmp_receiver): Also run for -fPIC and
- 	-mminimal-toc.
- 	(nonlocal_goto_receiver): Delete.
- 	* rs6000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Delete.
- 
- 	* rs6000.h (ASM_OUTPUT_DEF): Don't define.
- 	(SET_ASM_OP): Define.
- 	* sysv4.h (ASM_OUTPUT_DEF): Don't undefine.
- 
- 	* rs6000.h (ASM_OUTPUT_ADDR_VEC_ELT): Don't define.
- 	(ASM_LONG): Define.
- 
- 	* rs6000.c (rs6000_dll_import_ref): Delete, not used.
- 	* rs6000-protos.h (rs6000_dll_import_ref): Delete.
- 
- 	* rs6000.h: Add 'u' to more constants.
- 
- 	2000-02-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (mfcr+shift): Delete PowerPC64 version.
- 
- 	2000-02-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (reg_or_u_cint_operand): New function.
- 	(logical_operand): Handle 64-bit hosts.
- 	(logical_u_operand): New function.
- 	(non_logical_cint_operand): Handle 64-bit hosts.
- 	(non_logical_u_cint_operand): New function.
- 	* rs6000.h (DATA_SECTION_ASM_OP): Add tab.
- 	(PREDICATE_CODES): Define new functions.
- 	* rs6000-protos.h: Declare new functions.
- 	* rs6000.md (iordi3, xordi3): Constant int must be unsigned 32-bits.
- 	(movdi_64): Bracket code intended for 64-bit hosts.  Create
- 	CONST_DOUBLE for 32-bit values.
- 	(scc insns): Generate DImode compares.
- 	(mfcr insns): Create DImode versions.
- 	(sge matchers): New patterns.
- 
- 	2000-02-15  Gabriel Paubert  <paubert@iram.es>
- 
- 	* rs6000.md: Correct instructions length attributes and
- 	constraints on unsigned compare instructions.
- 	(*ne0): Disable for PowerPC64.
- 
- 	2000-02-11  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (output_function_profiler): Use .long for a 32-bit
- 	quantity, fix profile1.C test failure under -fPIC.
- 
- 	* rs6000.c: Add 'u' to many constants to suppress warnings.
- 	(constant_pool_expr_1): Make static.
- 	(rs6000_emit_eh_toc_restore): Remove unused 'r2'.
- 	* rs6000.h: Add 'u' to many constants to suppress warnings.
- 
- 	* rs6000.c (rs6000_emit_load_toc_table): Use LCTOC..1 under AIX
- 	for the start of the TOC, instead of LCTOC..0.
- 	* aix.h (toc_section): Use LCTOC..1 under AIX for the start
- 	of the TOC.
- 	* rs6000.md (load_toc_aix_si): Use LCTOC..1.
- 	(load_toc_aix_di): Use LCTOC..1.
- 
- 	* rs6000.h (LEGITIMIZE_ADDRESS): Turn into a function.
- 	* rs6000.c (rs6000_legitimize_address): New function from
- 	LEGITIMIZE_ADDRESS.  Only use create_TOC_reference on
- 	symbols in the constant pool that really are TOC references.
- 	(print_operand_address): For ELF, write TOC offsets under
- 	-fPIC as subtractions in the insn.
- 	(output_toc): For ELF, define symbols in TOC as normal labels,
- 	to match RTL.
- 	(create_TOC_reference): Use gen_rtx_PLUS rather than gen_rtx.
- 	* rs6000-protos.h (rs6000_legitimize_address): Prototype.
- 	(create_TOC_reference): Prototype only when RTX_CODE is defined.
- 	* rs6000.md (movsi): Only use create_TOC_reference on
- 	symbols in the constant pool that really are TOC references.
- 
- 	* rs6000.h (MACHINE_DEPENDENT_REORG): Don't define.
- 	* rs6000.c (rs6000_reorg): Delete.
- 	* rs6000-protos.h (rs6000_reorg): Delete.
- 
- 	2000-02-09  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.h (INCOMING_RETURN_ADDR_RTX): New macro.
- 
- 	* aix.h (SETUP_FRAME_ADDRESSES): Define.
- 	* rs6000.c [TARGET_AIX] (insn_after_throw): New static variable.
- 	[TARGET_AIX] (rs6000_aix_emit_builtin_unwind_init): New function.
- 	[TARGET_AIX] (rs6000_emit_eh_toc_restore): New function.
- 	* rs6000-protos.h: Prototype rs6000_emit_eh_toc_restore,
- 	rs6000_aix_emit_builtin_unwind_init.
- 	* rs6000.md (eh_epilogue) [TARGET_AIX]: Call
- 	rs6000_emit_eh_toc_restore on AIX.
- 	(return_eh_si): Use r2.
- 	(return_eh_di): Use r2.
- 
- 	* aix43.h: Turn on HAS_INIT_SECTION and LD_INIT_SWITCH,
- 	since we're breaking binary compatibility anyway.
- 
- 	2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/rs6000/rs6000-protos.h: (get_TOC_alias_set, uses_TOC,
- 	constant_pool_expr_p): Declare them.
- 	(constant_pool_expr_p): Declare it.
- 	* config/rs6000/rs6000.c (toc_label_name): Define.
- 	(rs6000_override_options): Set toc_label_name.
- 	(input_operand): Allow any TOC_RELATIVE_EXPR_P.
- 	(get_TOC_alias_set, constant_pool_expr_p, constant_pool_expr_1,
- 	uses_TOC): New functions.
- 	(print_operand): Delete old '*' case.
- 	(print_operand_address): Use LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
- 	and strip off rtl for TOC before calling output_addr_const.
- 	(rs6000_emit_load_toc_table): Use toc_label_name.
- 	* config/rs6000/rs6000.h (TARGET_SWITCHES): Make msched-prolog
- 	the default.
- 	(LEGITIMATE_CONSTANT_POOL_BASE_P): Delete.
- 	(CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): New macros.
- 	(LEGITIMATE_CONSTANT_POOL_ADDRESS_P): Use CONSTANT_POOL_EXPR_P.
- 	(LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Turn symbol_refs
- 	into explicit TOC_REGISTER offsets.
- 	(TOC_REGISTER): New macro.
- 	* config/rs6000/rs6000.md (movsi, movdi): Emit rtl under
- 	TARGET_TOC to reference TOC_REGISTER.
- 	(load_toc_v4_PIC_1b): Add 4 to offset for toc reload.
- 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Call
- 	uses_TOC before emitting label references.
- 
- 	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (stack_tie): Fix warning.
- 
- 	* eabi-ctors.c: Use 'asm' names for the start/end variables,
- 	to handle -fleading-underscore.
- 	* sysv4.h (ASM_DECLARE_FUNCTION_NAME): Use asm_fprintf and %U.
- 	(USER_LABEL_PREFIX): New macro.
- 	(ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Use asm_fprintf and %L.
- 	(ASM_OUTPUT_LABELREF): Use asm_fprintf and %U.
- 	* t-ppccomm (MULTILIB_MATCHES_SYSV): Note that call-sysv and
- 	call-linux can use the same multilibs.
- 	* t-ppcgas (MULTILIB_OPTIONS): Don't need to have separate call-sysv
- 	and call-linux multilibs.  Do multilib with -fleading-underscore.
- 	(MULTILIB_DIRNAMES): Follow MULTILIB_OPTIONS change.
- 	(MULTILIB_EXCEPTIONS): Remove call-linux exceptions.  Add restrictions
- 	to call-aix.
- 
- 	* sysv4.h (CPP_SYSV_SPEC): Define _SOFT_FLOAT for all those CPUs that
- 	have MASK_SOFT_FLOAT set.
- 	(CPP_FLOAT_DEFAULT_SPEC): New macro.
- 	(SUBTARGET_EXTRA_SPECS): Set `cpp_float_default' to the value of
- 	CPP_FLOAT_DEFAULT_SPEC.
- 
- 	* rs6000.c (ccr_bit): Add some consistency checks and a variable 'reg'.
- 	* rs6000.md: Whitespace change.
- 	* sysv4.h (LINK_TARGET_SPEC): Whitespace change.
- 	* sysv4le.h (LINK_TARGET_SPEC): Whitespace change.
- 
- 	2000-02-05  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (eh_epilogue): New expander.
- 	(eh_reg_restore): New expand/split/insn combination.
- 	(return_eh_si): New insn.
- 	(return_eh_di): New insn.
- 
- 	* eabi-ci.asm: Put a label at the start of the .eh_frame section.
- 	* eabi-cn.asm: Put a zero at the end of the .eh_frame section.
- 	* eabi-ctors.c (__do_global_ctors): Register this object's
- 	frame.  Clean up.  Call atexit() after the constructors.
- 	(__do_global_dtors): Deregister this object's frame.  Clean up.
- 	Allow for recursive calls to exit().
- 	* rs6000.c (fixuplabelno): New variable.
- 	* sysv4.h (ASM_OUTPUT_INT): Don't do .fixup if not
- 	TARGET_RELOCATABLE, it slows down exec() under linux.
- 	(ASM_OUTPUT_DWARF_ADDR): Do .fixup if TARGET_RELOCATABLE.
- 
- 	* aix.h (ASM_OUTPUT_DWARF_ADDR_VAR): New macro.
- 	(ASM_OUTPUT_DWARF_DELTA_VAR): New macro.
- 	(ASM_OUTPUT_DWARF_DELTA2): New macro.
- 	(ASM_OUTPUT_DWARF_DELTA4): New macro.
- 	(ASM_OUTPUT_DWARF_ADDR_DELTA): New macro.
- 	(ASM_OUTPUT_DWARF_ADDR): New macro.
- 	(ASM_OUTPUT_DWARF_DATA4): New macro.
- 	(ASM_OUTPUT_DWARF_DATA2): New macro.
- 	(ASM_OUTPUT_DWARF_OFFSET4): New macro.
- 	(ASM_OUTPUT_DWARF_OFFSET): New macro.
- 	(UNALIGNED_INT_ASM_OP): New macro, fake definition.
- 
- 	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_sr_alias_set): New variable.
- 	(rs6000_override_options): Initialize rs6000_sr_alias_set.
- 	(rs6000_emit_stack_tie): New function.
- 	(rs6000_emit_allocate_stack): Specify RTX_FRAME_RELATED_P
- 	in a way that dwarf2out can understand.
- 	(rs6000_frame_related): New function.
- 	(rs6000_emit_prologue): Use rs6000_sr_alias_set.  Specify
- 	RTX_FRAME_RELATED_P in a way that dwarf2out can understand.
- 	Use rs6000_emit_stack_tie when needed.
- 	(rs6000_emit_epilogue): Use rs6000_sr_alias_set.  Don't set
- 	RTX_FRAME_RELATED_P.  Use rs6000_emit_stack_tie when needed.
- 	* rs6000.md (stack_tie): New insn.
- 	(return_internal_si): Allow return value to be in the count
- 	register.
- 	(return_internal_di): Likewise.
- 
- 	* rs6000.c (output_mi_thunk): Remove unused variable `sp'.
- 
- 	2000-02-03  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* sysv4.h (LOCAL_LABEL_PREFIX): Define, for the use of dbxelf.h.
- 
- 	2000-01-31  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): New macro.
- 
- 	* rs6000.md (stmw): Use the right POWER opcode.
- 	(lmw): Likewise.
- 
- 	2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rs6000-protos.h: New file.
- 
- 	* rs6000.c: Include tm_p.h.  Fix compile time warnings.
- 
- 	* rs6000.h: Move prototypes to rs6000-protos.h.  Fix compile time
- 	warnings.
- 
- 	* sysv4.h: Likewise.
- 
- 	2000-01-28  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* ../../configure.in: Delete powerpcle-*-winnt*
- 	and powerpcle-*-pe|powerpcle-*-cygwin*.
- 	* ../../configure: Regenerated.
- 	* cygwin.h: Delete.
- 	* rs6000.h (OBJECT_WINDOWS_NT): Delete.
- 	(TARGET_WINDOWS_NT): Delete.
- 	(ABI_NT): Delete.
- 	(CALL_NT_DLLIMPORT): Delete.
- 	Delete NT-specific code.
- 	* rs6000.md, rs6000.c, sysv4.h: Delete NT-specific code.
- 	* win-nt.h: Delete.
- 	* t-winnt: Delete.
- 	* nt-ci.asm: Delete.
- 	* nt-cn.asm: Delete.
- 	* ntstack.asm: Delete.
- 
- 	2000-01-27  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h (SELECT_RTX_SECTION): Move to aix.h.
- 	(ASM_FILE_START): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(ASM_OUTPUT_LABELREF): Likewise.
- 	(ASM_OUTPUT_SKIP): Likewise.
- 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	(ASM_OUTPUT_CASE_LABEL): Likewise.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	(ASM_OUTPUT_ASCII): Likewise.
- 
- 	2000-01-27  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* rs6000.c (rs6000_emit_load_toc_table): Use "LCG" and
- 	reload_toc_labelno for non-prologue TOC reloads.  Also, don't
- 	increment rs6000_pic_labelno here.
- 	(rs6000_emit_prologue): Pass TRUE to rs6000_emit_load_toc_table,
- 	and increment rs6000_pic_labelno here.
- 
- 	2000-01-24  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (fctiwz): Use (set (reg) (unspec:DI [(fix:SI ...)]))
- 	rather than (set (subreg:SI (reg)) (fix:SI ...)) so that register
- 	allocation knows (reg) is dead before the insn.
- 
- 	2000-01-21  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (movsi_to_cr): Correct typo in output template.
- 
- 	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_pic_labelno): Always define.
- 	(rs6000_pic_func_labelno): Delete.
- 	(lmw_operation): Check for a zero base register,
- 	which doesn't mean what we want.
- 	(stmw_operation): New function.
- 	(print_operand): Define new 'l' modifier.
- 	(rs6000_stack_info): We must save all 64 bits of the registers
- 	if TARGET_POWERPC64.
- 	(rs6000_output_load_toc_table): Delete.
- 	(rs6000_emit_load_toc_table): New function.
- 	(rs6000_allocate_stack_space): Delete.
- 	(rs6000_emit_allocate_stack): New function.
- 	(rs6000_emit_prologue): New function.
- 	(output_prolog): Use rs6000_emit_prologue.
- 	(rs6000_emit_epilogue): Change a few variable names to be
- 	more accurate.  Restore all 64 bits of the registers if
- 	TARGET_POWERPC64.  Only restore the FP registers which were used
- 	if they are being saved/restored one-at-a-time.
- 	(output_mi_thunk): Delete inefficient code generation.
- 	(output_function_profiler): Don't use rs6000_output_load_toc_table.
- 	* rs6000.h: Declare rs6000_emit_load_toc_table,
- 	rs6000_allocate_stack_space, stmw_operation.  Don't declare
- 	rs6000_output_load_toc_table.
- 	* rs6000.md (elf_high): Allow register 0, but discourage it
- 	heavily.
- 	(elf_low): Support loading into register 0.
- 	(load_toc_aix_si): New pattern.
- 	(load_toc_aix_di): New pattern.
- 	(load_toc_v4_pic_si): New pattern.
- 	(load_toc_v4_pic_di): New pattern.
- 	(load_toc_v4_PIC_1): New pattern.
- 	(load_toc_v4_PIC_1b): New pattern.
- 	(load_toc_v4_PIC_2): New pattern.
- 	(builtin_setjmp_receiver): Use rs6000_emit_load_toc_table.
- 	(nonlocal_goto_receiver): Use rs6000_emit_load_toc_table.
- 	(prologue): New expander.
- 	(movesi_from_cr): New pattern.
- 	(stmw): New pattern.
- 	(save_fpregs_si): New pattern.
- 	(save_fpregs_di): New pattern.
- 
- 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (movsi): Don't use force_reg when no_new_pseudos.
- 	(movdi): Likewise.
- 	(movhi): Likewise.
- 	(movqi): Likewise.
- 
- 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (movsi_got): 'unspec 8' returns a SImode result,
- 	at present.
- 	(movsi_got_internal): Likewise.
- 	(movsi_got_internal+1): Likewise.
- 	(set_sp): 'unspec 7' does a SImode clobber.
- 
- 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md (floatsidf2): Don't use the fpmem "register", just
- 	allocate a stack temporary.
- 	(floatsidf2_internal): Likewise.
- 	(floatsidf2_internal+1): Likewise.  Don't do bizzare hacks
- 	with unspec.
- 	(floatunssidf2): Don't use the fpmem "register", just
- 	allocate a stack temporary.
- 	(floatunssidf2_internal): Likewise.
- 	(floatunssidf2_internal+1): Likewise.  Don't do bizzare hacks
- 	with unspec.
- 	(floatsidf2_loadaddr): Delete.
- 	(floatsidf2_store1): Delete.
- 	(floatsidf2_store2): Delete.
- 	(floatsidf2_load): Delete.
- 	(fix_truncdfsi2): Don't use the fpmem "register", just
- 	allocate a stack temporary.
- 	(fix_truncdfsi2_internal_si): Delete.
- 	(fix_truncdfsi2_internal_di): Delete.
- 	(fix_truncdfsi2_internal): New insn.
- 	(fix_truncdfsi2_internal+1): Don't use the fpmem "register".
- 	(fix_truncdfsi2_store): Delete.
- 	(fix_truncdfsi2_load): Delete.
- 	(fctiwz): Produce gen_fctiwz.
- 
- 	2000-01-19  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* eabi.h (INVOKE__main): Define.
- 	* rs6000.c (rs6000_stack_info): Don't handle call to NAME__MAIN
- 	specially.
- 	(rs6000_emit_prologue): Likewise.
- 	* rs6000.h (struct rs6000_stack): Don't keep track of whether
- 	this is the main program.
- 
- 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_va_arg): Delete some unused variables.
- 
- 	2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_va_arg): On AIX, padding for small arguments
- 	goes after the argument.
- 
- 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.md: Document 'unspec' values used.
- 	(epilogue): New expander.
- 	(movesi_to_cr_one): New expander.
- 	(movesi_to_cr and following): New pattern.
- 	(lmw): New pattern.
- 	(return_internal_si): New pattern.
- 	(return_internal_di): New pattern.
- 	(return_and_restore_fpregs_si): New pattern.
- 	(return_and_restore_fpregs_di): New pattern.
- 	* rs6000.h: Declare new functions.
- 	* rs6000.c (rs6000_stack_info): Use current_function_is_leaf
- 	rather than rs6000_calls_p.
- 	(rs6000_makes_calls): Delete.
- 	(lmw_operation): New function.
- 	(mtcrf_operation): New function.
- 	(rs6000_emit_epilogue): New function.
- 	(output_epilog): Call rs6000_emit_epilogue and final if
- 	!TARGET_SCHED_PROLOG, instead of writing text unconditionally.
- 
- 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* aix43.h (SUBSUBTARGET_SWITCHES): Document switches.
- 	* aix41.h (SUBSUBTARGET_SWITCHES): Document switches.
- 	* aix.h (SUBTARGET_SWITCHES): Document switches.
- 	* rs6000.h: (TARGET_SWITCHES): Don't print options twice.  Make
- 	sched-prolog and sched-epilog the same.  Document all the
- 	switches.
- 	(TARGET_OPTIONS): No longer allow -mdebug-.
- 
- 	2000-01-12  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.h (ASM_FILE_END): Move to aix.h.
- 	(EXTRA_SECTIONS): Move to aix.h.
- 	(READONLY_DATA_SECTION): Move to aix.h.
- 	(EXTRA_SECTION_FUNCTIONS): Move to aix.h.
- 	(SELECT_SECTION): Move to aix.h.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Move to aix.h.
- 	(INT_REGNO_P): Use symbolic name for ARG_POINTER_REGNUM.
- 	(LINK_REGISTER_REGNUM): New definition.
- 	(RETURN_ADDR_RTX): Use symbolic name for LINK_REGISTER_REGNUM.
- 	(SLOW_UNALIGNED_ACCESS): Define in a way suitable for both
- 	AIX and SVR4.
- 	* sysv4.h: Delete the code between the inclusion of rs6000.h
- 	and svr4.h.
- 	(DWARF_DEBUGGING_INFO): Don't define, it's defined in elfos.h.
- 	(FP_ARG_MAX_REG): Move generic definition to rs6000.h.
- 	(RS6000_REG_SAVE): Move generic definition to rs6000.h.
- 	(RS6000_SAVE_AREA): Move generic definition to rs6000.h.
- 	* rs6000.md (floatsidf2_loadaddr): The first arg here is Pmode.
- 	(fix_truncdfsi2_internal): Rename to fix_truncdfsi2_internal_si.
- 	(fix_truncdfsi2_internal_di): New pattern.
- 	(fix_truncdfsi2_store): The second arg here is Pmode too.
- 	(fix_truncdfsi2_load): The second arg here is Pmode too.
- 	(tablejumpdi): Now that switch tables hold only SImode values,
- 	gcc needs to know how to add them to the pc which is DImode.
- 	* rs6000.c (rs6000_stack_info): Use symbolic name for
- 	LINK_REGISTER_REGNUM.
- 	(output_mi_thunk) [!TARGET_ELF]: Don't define sp, it's not used.
- 	(output_toc): Delete unused variables s1 and s2.
- 	(output_ascii): Use fputs not fprintf on a variable string.
- 
- 	2000-01-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (processor_target_table): Add power3 as alias for 630.
- 	* aix43.h: Revert Aug 2 change.
- 	(HAS_INIT_SECTION): Define, not visible yet.
- 	(LD_INIT_SWITCH): Define, not visible yet.
- 	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
- 
- 	2000-01-04  Joel Sherrill (joel@OARcorp.com>
- 
- 	* config/rs6000/rtems.h: Include config/rtems.h.
- 
- 	2000-01-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
- 	(SLOW_UNALIGNED_ACCESS): Define.
- 	(CASE_VECTOR_MODE): Always use 32-bit offsets.
- 	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
- 	(EXTRA_SECTOIN_FUNCTIONS): Indent .csect pseudo-op.
- 	(toc_section): Likewise and .toc pseudo-op.
- 	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
- 	64-bit mode.
- 	(TEXT_SECTION_ASM_OP): Likewise.
- 	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
- 	32-bit offsets.
- 
- 	1999-12-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.h (TARGET_POWERPC64): Make sure
- 	UNITS_PER_WORD and BITS_PER_WORD are compile time constants when
- 	compiling libgcc2.
- 
- 	2000-01-06  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h: Move more stuff from here...
- 	* aix.h: to here.
- 	* sysv4.h: Cleanup accordingly.
- 	* netware.h: Likewise
- 
- 	2000-01-05  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h: Continue cleanup.
- 	* aix.h: Likewise.
- 	* lynx.h: Likewise.
- 	* netware.h: Likewise.
- 	* sol2.h: Likewise.
- 	* sysv4.h: Likewise.
- 	* win-nt.h: Likewise.
- 
- 	* rs6000.h (TARGET_SWITCHES): Add descriptions.
- 	(TARGET_OPTIONS): Likewise.
- 
- 	* sysv4.h (SUBTARGET_SWITCHES): Add descriptions.
- 	(SUBTARGET_OPTIONS): Likewise.
- 
- 	* rs6000.md: Fix compile time warnings.
- 
- 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	vxworks patches from the Cygnus tree originally by
- 	Michael Meissner <meissner@cygnus.com> and Vladimir Makarov
- 	<vmakarov@cygnus.com>.
- 	* sysv4.h (SUBTARGET_SWITCHES): Add vxworks.
- 	(ENDFILE_SPEC): Likewise.
- 	(LIB_VXWORKS_SPEC): New macro.
- 	(STARTFILE_VXWORKS_SPEC): New macro.
- 	(ENDFILE_VXWORKS_SPEC): New macro.
- 	(LINK_START_VXWORKS_SPEC): New macro.
- 	(LINK_OS_VXWORKS_SPEC): New macro.
- 	(CPP_OS_VXWORKS_SPEC): New macro.
- 	(SUBTARGET_EXTRA_SPECS): Add all the vxworks specs.
- 	* vxppc.h: Rewrite to use proper configuration method.
- 	* vxppcle.h: New file.
- 	* ../../configure.in: Add powerpcle-wrs-vxworks*.
- 	* ../../configure: Rebuilt.
- 
- 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	Lots of changes to rs6000.h, sysv4.h, aix.h,
- 	aix31.h, aix3newas.h, aix41.h, aix43.h, beos.h,
- 	with the aim that rs6000.h is the first header
- 	included and the others override it.
- 	* aix.h: New file.
- 
- 	* x-aix41-gld: Remove.
- 	* x-aix43: Remove.
- 	* x-aix41: Remove target-specific switches, and don't specify
- 	-Wl,-bbigtoc as we don't need it any more.
- 	* ../../configure.in: Use x-aix41 for ppc AIX 4.1 and above.
- 	Use t-aix43 for AIX 4.3 and above.
- 	* ../../configure: Regenerated.
- 
- 	* rs6000.h (TARGET_SWITCHES): Add some initial prolog-scheduling
- 	options, that don't do anything yet.
- 	(MASK_SCHED_PROLOG): New macro.
- 	(MASK_SCHED_EPILOG): New macro.
- 	(TARGET_SCHED_PROLOG): New macro.
- 	(TARGET_SCHED_EPILOG): New macro.
- 
- 	2000-01-04  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c: Correct comment, the `minimal' TOCs are actually
- 	one per translation unit, not one per function.
- 	(output_toc): Also do duplicate constant elimination
- 	for per-translation-unit TOCs.
- 
- 	* rs6000.md (nonlocal_goto_receiver): Put it back as before.  Add
- 	a comment explaining _exactly_ when this pattern gets used.
- 	(builtin_setjmp_receiver): New pattern for better clarity.
- 	(init_v4_pic): Move it into a section dealing with TOC registers.
- 
- 	1999-12-30  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (toc_hash_table): New variable.
- 	(rs6000_hash_constant): New function.
- 	(toc_hash_function): New function.
- 	(toc_hash_eq): New function.
- 	(toc_hash_mark_entry): New function.
- 	(toc_hash_mark_table): New function.
- 	(output_toc): Don't output duplicate TOC entries in
- 	a single file.
- 	(rs6000_add_gc_roots): Add the hash table as a GC root.
- 	* t-aix43: Move AR_FOR_TARGET and CLIB here from x-aix43,
- 	where they clearly shouldn't be.  This may need to be fixed
- 	later when there is a GNU ar for AIX.
- 	* x-aix43: Don't define CLIB or AR_FOR_TARGET.
- 	Don't define BOOT_LDFLAGS as it is now not necessary.
- 
- 	1999-12-29  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rs6000.c (rs6000_build_va_list): Use 'char *' rather than 'void *'
- 	for va_list on AIX.  Use unsigned_char_type_node rather than
- 	constructing our own version on svr4.
- 
- 	1999-12-17  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* tramp.asm (__trampoline_size): Delete CYGNUS LOCAL comment,
- 	since patently it's not.
- 
- 	1999-12-08  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (nonlocal_goto_receiver): Turn into
- 	define_expand/define_insn pair, and handle restore of the
- 	SVR4 -fpic register.
- 
- Wed Mar 15 15:43:38 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* acconfig.h (HAVE_GAS_WEAK): New define.
- 	* configure.in (assembler weak support): Check for .weak support.
- 	* config.in, configure: Rebuilt.
- 	* pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if
- 	HAVE_GAS_WEAK is defined.
- 
- 2000-03-15  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Do not pass %c to
- 	asm_fprintf().
- 
- 2000-03-15  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (open_include_file): New function.
- 	(find_include_file, cpp_read_file): Use it.
- 
- 2000-03-15  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cpphash.c (dump_hash_helper): Take the slot, not the element.
- 
- Wed Mar 15 14:28:54 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* flow.c (verify_flow_info): Check for unconditional return.
- 
- Wed Mar 15 11:34:27 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.md (restore_stack_nonlocal): New.
- 	* config/ia64/lib1funcs.asm (__ia64_nonlocal_goto): Delete padding nop.
- 	(__ia64_restore_stack_nonlocal): New.
- 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __restore_stack_nonlocal.
- 
- 2000-03-15  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* cpphash.c (collect_formal_parameters): Do not complain about
- 	parameter names that just start with `__VA_ARGS__'.
- 
- Wed Mar 15 13:26:58 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movhi_1): Promote movw imm, reg to movl imm, reg and
- 	movw reg, reg to movzwl reg, reg on PARTIAL_REGISTER_STALL machines.
- 	* i386.c (pentiumpro_cost): Set mul cost to 4.
- 	(x86_use_movx): Set for PPro.
- 
- Wed Mar 15 13:07:05 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (ix86_compute_frame_size): stack_alignment_needed is
- 	STACK_BOUNDARY for empty frames now.
- 
- 2000-03-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (layout_union): Remove.
- 	(layout_union_field): New function, split out from layout_union.
- 	(finish_union_layout): Likewise.
- 	(layout_field): Handle unions by calling layout_union_field.
- 	(finish_record_layout): Handle unions.
- 	(layout_type): Combine RECORD_TYPE, UNION_TYPE, and
- 	QUAL_UNION_TYPE handling.
- 
- Wed Feb 23 13:00:06 CET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (fixup_reorder_chain): Avoid double labels in the basic block;
- 	end of basic block is jump_insn, not barrier; use create_basic_block
- 	instead of creating basic block by hand.
- 
- 2000-03-14  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* flow.c (reorder_basic_blocks): Account for barriers when writing
- 	over NEXT_INSN (last_bb->end).
- 	(verify_flow_info): Add check for missing barriers.
- 
- 2000-03-14  Greg McGary  <gkm@gnu.org>
- 
- 	* c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.
- 	* c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED.
- 	* c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__,
- 	__ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__,
- 	__unbounded, __unbounded__): New keywords.
- 	* c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens.
- 	* c-parse.y, c-parse.c, c-parse.h: Regenerate.
- 	* objc/objc-parse.y, objc/objc-parse.c: Regenerate.
- 
- 2000-03-14  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cselib.h: New file.
- 	* alias.c: Include "cselib.h".
- 	(fixed_scalar_and_varying_struct_p): Accept the addresses of the
- 	MEMs as two new arguments.
- 	(get_addr): New static function.
- 	(find_base_term): Handle VALUEs.
- 	(memrefs_conflict_p): Likewise.
- 	(true_dependence): Call get_addr on the addresses.
- 	Call fixed_scalar_and_varying_struct_p with addresses that have been
- 	passed through get_addr and canon_rtx.
- 	(write_dependence_p): Move DIFFERENT_ALIAS_SETS_P test for consistency
- 	with true_dependence.
- 	Call get_addr on the addresses; don't call canon_rtx on the MEMs.
- 	* loop.c: Include "cselib.h".
- 	(load_mems): Process extended basic block that enters the loop with
- 	cselib.  Use that information to change initialization of the shadow
- 	register so that a constant equivalence is seen by later passes.
- 	* reload1.c: Include "cselib.h".
- 	(reload_cse_invalidate_regno): Delete function.
- 	(reload_cse_mem_conflict_p): Likewise.
- 	(reload_cse_invalidate_mem): Likewise.
- 	(reload_cse_invalidate_rtx): Likewise.
- 	(reload_cse_regno_equal_p): Likewise.
- 	(reload_cse_check_clobber): Likewise.
- 	(reload_cse_record_set): Likewise.
- 	(reg_values): Delete static variable.
- 	(invalidate_regno_rtx): Likewise.
- 	(reload_cse_delete_noop_set): New static function.
- 	(reload_cse_simplify): New static function, broken out of
- 	reload_cse_regs_1.
- 	(reload_cse_noop_set_p): Delete unused argument INSN.
- 	Just call rtx_equal_for_cselib_p on set source and destination.
- 	(reload_cse_regs_1): Break out some code into reload_cse_simplify and
- 	reload_cse_delete_noop_set.  Delete code to keep track of values; use
- 	cselib functions instead.  Delete code to push/pop obstacks.
- 	(reload_cse_simplify_set): Use cselib to find equivalent values.
- 	Delete code to push/pop obstacks.
- 	(reload_cse_simplify_operands): Likewise.
- 	* rtl.def (VALUE): New rtx code.
- 	* rtl.h (union rtunion_def): New elt rt_cselib.
- 	(X0CSELIB, CSELIB_VAL_PTR): New macros.
- 	* simplify_rtx.c: Include "ggc.h", "obstack.h", "cselib.h".
- 	(new_elt_list, new_elt_loc_list, unchain_one_value, clear_table,
- 	unchain_one_elt_list, unchain_one_elt_loc_list, check_useless_values,
- 	discard_useless_locs, discard_useless_values, entry_and_rtx_equal_p,
- 	hash_rtx, new_cselib_val, add_mem_for_addr, get_value_hash,
- 	cselib_lookup_mem, cselib_subst_to_values, cselib_invalidate_regno,
- 	cselib_mem_conflict_p, cselib_invalidate_mem, cselib_invalidate_rtx,
- 	cselib_record_set, cselib_record_sets): New static functions.
- 	(cselib_lookup, cselib_update_varray_sizes, cselib_init,
- 	cselib_finish, cselib_process_insn, rtx_equal_for_cselib_p,
- 	references_value_p): New functions.
- 	(MAX_USELESS_VALUES, REG_VALUES): New macros.
- 	(table, cselib_current_insn, next_unknown_value, cselib_nregs,
- 	n_useless_values, reg_values, callmem, cselib_obstack,
- 	cselib_startobj, empty_vals, empty_elt_lists, empty_elt_loc_lists):
- 	New static variables.
- 	* varray.h (union varray_data_tag): New elt te.
- 	(VARRAY_ELT_LIST_INIT, VARRAY_ELT_LIST): New macros.
- 	* Makefile.in (reload1.o, loop.o, simplify-rtx.o, alias.o): Update
- 	dependencies.
- 
- 2000-03-14  Nick Clifton  <nickc@cygnus.com>
- 
- 	* gcc.c (do_spec_1): Catch the case where %* is used in a
- 	substitution pattern, but it has not been initialized.
- 	Issue a meaningful error message if an unrecognized operator
- 	is encountered in a spec string.
- 
- 2000-03-14  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* function.c (prepare_function_start): Correctly initialize
- 	cfun->stack_alignment_needed.
- 
- 2000-03-14  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (find_include_file): Don't assume nshort is a
- 	substring of name.
- 
- Tue Mar 14 08:42:21 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* configure.in (hppa configurations): Add pa32-regs.h to the
- 	list of tm files as appropriate.
- 	* configure: Rebuilt.
- 	* pa.c (compute_frame_size): Remove explicit knowledge about FP
- 	register numbering.
- 	(hppa_expand_prologue, hppa_expand_epilogue): Likewise.
- 	(fmpyaddoperands, fmpysuboperands): Likewise.
- 	* pa.h: Remove various definitions which depend on knowing
- 	how registers are numbered.
- 	* pa32-regs.h: New file with PA32 register numbering specific
- 	definitions.
- 
- 2000-03-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* regmove.c (combine_stack_adjustments): New.
- 	(stack_memref_p, single_set_for_csa): New.
- 	(free_csa_memlist, record_one_stack_memref): New.
- 	(try_apply_stack_adjustment): New.
- 	(combine_stack_adjustments_for_block): New.
- 	* rtl.h (combine_stack_adjustments): Declare.
- 	* toplev.c (rest_of_compilation): Call it.
- 
- 	* i386.md: Revert 2000-01-16 change.
- 
- 2000-03-14  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* gccbug.in: Add web category, gcc specific classes.
- 
- 2000-03-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* stor-layout.c (finalize_record_size): Fix typo.
- 
- 2000-03-14  Stan Shebs  <shebs@apple.com>
- 
- 	* c-typeck.c (c_alignof): Error on incomplete types.
- 	* extend.texi (Alignment): Document this.
- 
- 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c: Include mkdeps.h.
- 	(find_include_file, read_include_file): Remove _cpp_ prefix
- 	from name, make static.
- 	(_cpp_execute_include): New function, broken out of
- 	do_include.
- 
- 	* cpplib.c: Don't include mkdeps.h.
- 	(struct directive): Remove type field. Reorder entries.  The
- 	function takes only one argument.
- 	(struct if_stack): Make type field an int.
- 	(directive_table): Rename to dtable.  Generate it, the
- 	prototypes of the directive handlers, and the enum for the
- 	directive numbers, from a template macro.
- 	(do_ifndef, do_include_next, do_import): New functions.
- 	(do_define, do_include, do_endif, do_ifdef, do_if, do_else,
- 	do_undef, do_line, do_elif, do_error, do_pragma, do_warning,
- 	do_ident, do_assert, do_unassert, do_sccs): Take only one
- 	argument.
- 	(do_sccs): Define always, but alter behavior based on
- 	SCCS_DIRECTIVE.
- 	(_cpp_handle_directive, consider_directive_while_skipping):
- 	Restructure for new directive table layout.
- 
- 	(pass_thru_directive): Take a directive number, not a pointer
- 	to a struct directive.
- 	(parse_include): New function, broken out of do_include.
- 	(do_include, do_import, do_include_next): Use parse_include
- 	and _cpp_execute_include.
- 	(do_elif, do_else): Test for T_ELSE specifically when checking
- 	for #elif/#else after #else.
- 	(parse_ifdef): New function, broken out of do_ifdef.
- 	(validate_else): Expect a name arg without a leading #.
- 	(if_directive_name): Delete.
- 	(cpp_define, cpp_assert, cpp_undef, cpp_unassert): Call
- 	directive handlers with only one argument.
- 
- 	* cpphash.h: Update prototypes.
- 	(enum node_type): Remove entries for directives.
- 	* Makefile.in: Update dependencies.
- 
- 	* cpphash.c (dump_hash_helper): Only dump nodes of type
- 	T_MACRO.  Emit a newline after each definition.
- 
- 2000-03-14  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* gccbug.in: New file.
- 	* configure.in (all_outputs): Add gccbug.
- 	* Makefile.in (install-common): Install gccbug.
- 	(GCCBUG_INSTALL_NAME): New variable.
- 	* configure: Rebuilt.
- 
- 2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* function.c (put_var_into_stack): Use type_for_mode to calculate
- 	part_type.  Use MEM_SET_IN_STRUCT_P.
- 	* expr.c (store_field): Handle CONCAT.
- 	(store_constructor): Use fields_length.
- 	* tree.c (fields_length): New fn.
- 	* tree.h: Declare it.
- 
- 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (LIBCPP_OBJS): Add cpplex.o.
- 	(cpplex.o): New target.
- 	* po/POTFILES.in: Add cpplex.c.
- 
- 	* cpplex.c (_cpp_grow_token_buffer, null_cleanup,
- 	cpp_push_buffer, cpp_pop_buffer, cpp_scan_buffer,
- 	cpp_expand_to_buffer, cpp_buf_line_and_col, cpp_file_buffer,
- 	skip_block_comment, skip_line_comment, skip_comment,
- 	copy_comment, _cpp_skip_hspace, _cpp_skip_rest_of_line,
- 	_cpp_parse_name, skip_string, parse_string,
- 	_cpp_parse_assertion, cpp_get_token, cpp_get_non_space_token,
- 	_cpp_get_directive_token, find_position,
- 	_cpp_read_and_prescan, _cpp_init_input_buffer): Move here.
- 	(maybe_macroexpand, _cpp_lex_token): New functions.
- 
- 	* cpplib.c (SKIP_WHITE_SPACE, eval_if_expr, parse_set_mark,
- 	parse_goto_mark): Delete.
- 	(_cpp_handle_eof): New function.
- 	(_cpp_handle_directive): Rename from handle_directive.
- 	(_cpp_output_line_command): Rename from output_line_command.
- 	(do_if, do_elif): Call _cpp_parse_expr directly.
- 	* cppfiles.c (_cpp_read_include_file): Don't call
- 	init_input_buffer here.
- 	* cpphash.c (quote_string): Move here, rename _cpp_quote_string.
- 	* cppexp.c (_cpp_parse_expr): Diddle parsing_if_directive
- 	here; pop the token_buffer and skip the rest of the line here.
- 	* cppinit.c (cpp_start_read): Call _cpp_init_input_buffer
- 	here.
- 
- 	* cpphash.h (CPP_RESERVE, CPP_IS_MACRO_BUFFER, ACTIVE_MARK_P):
- 	Define here.
- 	(CPP_SET_BUF_MARK, CPP_GOTO_BUF_MARK, CPP_SET_MARK,
- 	CPP_GOTO_MARK): New macros.
- 	(_cpp_quote_string, _cpp_parse_name, _cpp_skip_rest_of_line,
- 	_cpp_skip_hspace, _cpp_parse_assertion, _cpp_lex_token,
- 	_cpp_read_and_prescan, _cpp_init_input_buffer,
- 	_cpp_grow_token_buffer, _cpp_get_directive_token,
- 	_cpp_handle_directive, _cpp_handle_eof,
- 	_cpp_output_line_command): Prototype them here.
- 	* cpplib.h (enum cpp_token): Add CPP_MACRO.
- 	(CPP_RESERVE, get_directive_token, cpp_grow_buffer,
- 	quote_string, output_line_command): Remove.
- 
- 2000-03-13  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* stmt.c (expand_end_case): RANGE may be signed, and when checking
- 	whether it is too large we must also verify that it isn't negative.
- 
- 2000-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md: Remove all traces of TARGET_LIVE_G0.
- 	(movsi_zero_liveg0): Remove.
- 	(movsf_insn_novis_liveg0): Remove.
- 	(negsi2): Remove.
- 	(negsi2_not_liveg0): Rename to negsi2.
- 	(one_cmplsi2): Remove.
- 	(one_cmplsi2_not_liveg0): Rename to one_cmplsi2.
- 	(one_cmplsi2_liveg0): Remove.
- 	* config/sparc/sparc.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE,
- 	MASK_LIVE_G0, MASK_BROKEN_SAVERESTORE): Remove.
- 	(CONDITIONAL_REGISTER_USAGE): Remove TARGET_LIVE_G0 if.
- 	(PREDICATE_CODES): Remove zero_operand.
- 	* config/sparc/sparc.c: Remove all traces of TARGET_LIVE_G0 and
- 	TARGET_BROKEN_SAVERESTORE.
- 	(zero_operand): Remove.
- 	* config/sparc/splet.h (SUBTARGET_SWITCHES): Remove -mlive-g0,
- 	-mno-live-g0, -mbroken-saverestore and -mno-broken-saverestore
- 	options.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
- 	* config/sparc/linux-aout.h (TARGET_LIVE_G0,
- 	TARGET_BROKEN_SAVERESTORE): Remove.
- 	* config/sparc/linux.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
- 	Remove.
- 	* config/sparc/linux64.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
- 	Remove.
- 	* config/sparc/sol2.h (TARGET_LIVE_G0, TARGET_BROKEN_SAVERESTORE):
- 	Remove.
- 
- 	* config/sparc/sparc.md (return_df_no_fpu): New pattern.
- 
- 2000-03-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_pragma_implementation): Fix off-by-one error
- 	truncating a string.  Don't assume tokens are nul terminated.
- 	Problem noted by Andreas Jaeger <aj@suse.de>
- 
- 2000-03-13  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_name_and_src_coords_attributes): Only add
- 	DW_AT_MIPS_linkage_name for TREE_PUBLIC decls.
- 	(ASM_OUTPUT_DWARF_ADDR_CONST): Don't output trailing newline.
- 
- 2000-03-13  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* stor-layout.c (new_record_layout_info): Fix typo inside ifdef
- 	STRUCTURE_SIZE_BOUNDARY.
- 
- 2000-03-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (record_layout_info_s): New structure.
- 	(record_layout_info): New type.
- 	(new_record_layout_info): New function.
- 	(layout_field): Likewise.
- 	(finish_record_layout): Likewise.
- 	* stor-layout.c (layout_record): Remove.
- 	(new_record_layout_info): New function.
- 	(layout_field): New function, broken out from layout_record.
- 	(finalize_record_size): Likewise.
- 	(compute_record_mode): Likewise.
- 	(finalize_type_size): New function, broken out from layout_type.
- 	(finish_record_layout): Likewise.
- 	(layout_type): Use them.
- 
- 2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c: Don't include version.h.
- 	(special_symbol) [case T_VERSION]: Look for the string in
- 	hp->value.cpval; don't use version_string.
- 	* cppinit.c (initialize_builtins): Set hp->value.cpval for
- 	__VERSION__ to version_string.
- 	* Makefile.in (cpphash.o): Update deps.
- 
- 2000-03-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	Convert cpplib to use libiberty/hashtab.c.
- 
- 	* cpplib.h (struct cpp_reader): Make hashtab and
- 	all_include_files of type 'struct htab *'.  Delete HASHSIZE
- 	and ALL_INCLUDE_HASHSIZE macros.
- 
- 	* cpphash.h: Update prototypes.
- 	(struct hashnode): Remove next, prev, and bucket_hdr members.
- 	Make length a size_t.  Add hash member.
- 	(struct ihash): Remove next member.  Add hash member.  Make
- 	name a flexible array member.
- 
- 	* cppfiles.c: Include hashtab.h.
- 	(include_hash): Delete.
- 	(IHASHSIZE): New macro.
- 	(hash_IHASH, eq_IHASH, _cpp_init_include_hash): New functions.
- 	(cpp_included): Do the hash lookup here.
- 	(_cpp_find_include_file): Rewrite.
- 	(cpp_read_file): Put the "fake" hash entry into the hash
- 	table.  Honor the control_macro, if it turns out we've seen
- 	the file before.  Don't push the buffer here.
- 	(_cpp_read_include_file): Push the buffer here.
- 	(OMODES): New macro.  Use it whenever we call open(2).
- 
- 	* cpphash.c: Include hashtab.h.
- 	(hash_HASHNODE, eq_HASHNODE, del_HASHNODE, dump_hash_helper,
- 	_cpp_init_macro_hash, _cpp_dump_macro_hash, _cpp_make_hashnode,
- 	_cpp_lookup_slot): New functions.
- 	(HASHSIZE): new macro.
- 	(hashf, _cpp_install, _cpp_delete_macro): Delete.
- 	(_cpp_lookup): Use hashtab.h routines.
- 
- 	* cppinit.c: Include hashtab.h.
- 	(cpp_reader_init): Call _cpp_init_macro_hash and
- 	_cpp_init_include_hash.  Don't allocate hashtab directly.
- 	(cpp_cleanup): Just call htab_delete on pfile->hashtab and
- 	pfile->all_include_files.
- 	(initialize_builtins): Use _cpp_make_hashnode and
- 	htab_find_slot to add hash entries.
- 	(cpp_finish): Just call _cpp_dump_macro_hash.
- 	* cpplib.c: Include hashtab.h.
- 	(do_define): Use _cpp_lookup_slot and _cpp_make_hashnode to
- 	create hash entries.
- 	(do_pragma_poison, do_assert): Likewise.
- 	(do_include): Don't push the buffer here.  Don't increment
- 	system_include_depth unless _cpp_read_include_file succeeds.
- 	(do_undef, do_unassert): Use _cpp_lookup_slot and htab_clear_slot
- 	or htab_remove_elt.
- 	(do_pragma_implementation): Use alloca to create copy.
- 
- 	* Makefile.in: Update dependencies.
- 
- 2000-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppinit.c (cl_directive_handler): More K&R fixing.
- 
- Sat Mar 11 23:54:26 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Align size to
- 	STACK_BOUNDARY.
- 	* config/ia64/ia64.h (REGISTER_MOVE_COST): Add missing parentheses.
- 
- 2000-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppinit.c (no_arg, no_ass, no_dir, no_fil, no_mac, no_pth):
- 	Change from char[] to macros.
- 
- 2000-03-12  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (cpp_start_read): Update indirect function
- 	call to K&R C.
- 
- Sat Mar 11 16:18:12 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (ADDITIONAL_REGISTER_NAMES): Fix typo in loc79
- 	entry.
- 
- 	* config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
- 	config/ia64/ia64.md, config/ia64/xm-ia64.h: Fix copyright messages.
- 
- 2000-03-11  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (struct pending option): Replace undef with a
- 	pointer to a directive handling routine.
- 	(struct cpp_pending): Replace separate assert_ and define_
- 	lists with one directive_ list.
- 	(new_pending_define): Rename new_pending_directive. Extra
- 	argument is the directive's handling routine.
- 	(handle_option): Update to use new_pending_directive.
- 
- 2000-03-11  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppfiles.c (file_cleanup, _cpp_find_include_file,
- 	remap_filename, _cpp_read_include_file, actual_directory,
- 	hack_vms_include_specification): Replace bcopy(), index() etc
- 	calls.  Add casts to some allocations.  Make some variables
- 	pointers to const [unsigned] char.
- 	* cpphash.c (_cpp_install, macro_cleanup, collect_expansion,
- 	collect_formal_parameters): Similarly.
- 	* cppinit.c (struct pending_option, append_include_chain,
- 	cpp_options_init, cpp_reader_init, initialize_standard_includes,
- 	cpp_start_read, new_pending_define, handle_option): Similarly.
- 	* cpplib.c (cpp_define, copy_comment, do_define, do_include,
- 	do_undef, do_error, do_warning, do_pragma, do_pragma_once,
- 	do_pragma_implementation, detect_if_not_defined,
- 	do_ifdef, skip_if_group, cpp_get_token, parse_string,
- 	do_assert, do_unassert): Similarly.
- 	* cpplib.h (cpp_buffer, cpp_options): Update types.  Update
- 	function prototypes.
- 	* mkdeps.c (deps_add_target, deps_add_dep): cast allocations.
- 
- 2000-03-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_strlen): Revert last change.
- 	Use emit_insn_before if we're at the beginning of a sequence.
- 
- 2000-03-10  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* builtins.c (expand_builtin_strlen): Make sure that we have something
- 	at the beginning of the sequence.
- 
- 	* toplev.c (rest_of_compilation): Also set TREE_NOTHROW for
- 	deferred inlines.
- 
- 	* invoke.texi (C++ Dialect Options): Document -fno-enforce-eh-specs.
- 
- 2000-03-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* except.c (can_throw): Use INTVAL on a CONST_INT.
- 	(reachable_handlers): Likewise.
- 	* flow.c (count_basic_blocks, find_basic_blocks_1): Likewise.
- 
- 2000-03-10  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mips/linux.h: Undefine MD_EXEC_PREFIX and
- 	MD_STARTFILE_PREFIX since those are not needed on linux.
- 	(ASM_FILE_START): New, from mips/gnu.h.
- 
- 2000-03-09  Richard Henderson  <rth@cygnus.com>
- 	    Alex Samuel  <samuel@codesourcery.com> and others
- 
- 	* Makefile.in (ssa.o): New rule.
- 	(OBJS): Add ssa.o.
- 	(STAGESTUFF): Add *.ssa and *.ussa.
- 	(mostlyclean): Delete *.ssa, *.ussa, */*.ssa, */*.ussa.
- 	* rtl.def (PHI): New RTL expression.
- 	* rtl.h (clear_log_links): New declaration.
- 	(convert_to_ssa): Likewise.
- 	(convert_from_ssa): Likewise.
- 	* flow.c (split_edge): If the entry node falls through to the
- 	split edge's source block, split the entry edge.
- 	(clear_log_links): New function.
- 	* toplev.c (ssa_dump): New variable.
- 	(flag_ssa): Likewise.
- 	(f_options): Add "ssa".
- 	(compile_file): Create SSA dump files.
- 	(rest_of_compilation): Go to and from SSA if enabled.
- 	(decide_d_option): Handle -de for SSA dump files.
- 	* ssa.c: New file.
- 
- Thu Mar  9 20:01:38 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expr.c (expand_assignment): For a CALL_EXPR, special case PARM_DECL
- 	same as VAR_DECL.
- 
- 2000-03-09  Benjamin Kosnik  <bkoz@cygnus.com>
- 
- 	* config/alpha/linux.h (WCHAR_TYPE): Make consistent.
- 
- Thu Mar  9 18:10:02 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/pa-hpux10.h (LIB_SPEC): Correct typo in !p case.
- 	(MD_STARTFILE_PREFIX_1): New macro.
- 
- 2000-03-09  Robert Lipe  <robertl@sco.com>
- 
- 	* config/ia64/ia64.c: Include system.h.
- 
- 2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* except.c (nothrow_function_p): If -fno-exceptions, just return.
- 	(init_eh_nesting_info): Likewise.
- 
- 	* tree.h (struct tree_common): Rename raises_flag to nothrow_flag.
- 	(TREE_NOTHROW): Rename from TREE_RAISES.
- 	* toplev.c (rest_of_compilation): Set it.
- 	* print-tree.c (print_node): Adjust.
- 	* tree.c (stabilize_reference, build, build1): Don't set TREE_RAISES.
- 	(stabilize_reference_1, get_unwidened, get_narrower): Likewise.
- 	* calls.c (emit_call_1): Add 'nothrow' parm.  Add
- 	REG_EH_REGION note as appropriate.
- 	(libfunc_nothrow): New fn.
- 	(emit_library_call, emit_library_call_value): Use it.
- 	(expand_call): Check TREE_NOTHROW.
- 
- 	* varasm.c (make_decl_rtl): Skip initial '*' when setting
- 	DECL_ASSEMBLER_NAME.
- 
- 2000-03-09  Andreas Jaeger  <aj@suse.de>
- 
- 	* mips/linux.h (NO_IMPLICIT_EXTERN_C): Define.
- 	(TARGET_MEM_FUNCTIONS): Define.
- 
- 2000-03-09  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* i386.c (ix86_valid_type_attribute_p): Use compare_tree_int.
- 
- 	* except.c (can_throw): See through a SEQUENCE.
- 	(nothrow_function_p): New fn.
- 	* except.h: Declare it.
- 	* function.c (current_function_nothrow): New var.
- 	(prepare_function_start): Initialize it.
- 	* output.h: Declare it.
- 	* toplev.c (rest_of_compilation): Set it.
- 	* dwarf2out.c (dwarf2out_begin_prologue): Use it.
- 
- 2000-03-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (collect_formal_parameters): strncmp returns 0 for
- 	match.  (cpp_compare_defs): Count the nul separator when
- 	advancing over argument names.
- 
- 2000-03-09  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* recog.c (preprocess_constraints): Matching constraints affect
- 	same alternative/different operand, not same operand/different
- 	alternative.
- 
- 	* reload1.c (eliminate_regs_in_insn): Handle additions of eliminable
- 	register and a constant specially.
- 
- 2000-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* libgcc2.h: New file.
- 	* libgcc2.c: Move macros, typedefs and prototypes to libgcc2.h.
- 
- Wed Mar  8 16:19:42 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* configure.in (ia64*-*-elf*, ia64*-*-linux*): New.
- 	* configure: Regenerate.
- 	* config/ia64: New.
- 
- 2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (LIBCPP_DEPS): New macro.
- 	(cpplib.o, cpphash.o, cpperror.o, cppexp.o, cppfiles.o): Use
- 	it to declare deps.
- 	* cpperror.c: Include cpphash.h.
- 	* cppexp.c: Include cpphash.h.  Remove MULTIBYTE_CHARS
- 	dingleberry.
- 	(lex): Don't use CPP_WARN_UNDEF.
- 	(_cpp_parse_expr): Return an int, the truth value.
- 	* cppfiles.c: Include cpphash.h.
- 	(_cpp_merge_include_chains): Move to cppinit.c and make static.
- 	* cppinit.c (include_defaults_array): Disentangle.
- 	(cpp_cleanup): Don't free the if stack here.
- 	(cpp_finish): Pop off all buffers, not just one.
- 	* cpplib.c (eval_if_expr): Return int.
- 	(do_xifdef): Rename do_ifdef.
- 	(handle_directive): Don't use CPP_PREPROCESSED.
- 	(cpp_get_token): Don't use CPP_C89.
- 	* fix-header.c: Don't use CPP_OPTIONS.
- 
- 	* cpplib.h: Move U_CHAR, enum node_type, struct
- 	file_name_list, struct ihash, is_idchar, is_idstart,
- 	is_numchar, is_numstart, is_hspace, is_space, CPP_BUF_PEEK,
- 	CPP_BUF_GET, CPP_FORWARD, CPP_PUTS, CPP_PUTS_Q, CPP_PUTC,
- 	CPP_PUTC_Q, CPP_NUL_TERMINATE, CPP_NUL_TERMINATE_Q,
- 	CPP_BUMP_BUFFER_LINE, CPP_BUMP_LINE, CPP_PREV_BUFFER,
- 	CPP_PRINT_DEPS, CPP_TRADITIONAL, CPP_PEDANTIC, and prototypes
- 	of _cpp_simplify_pathname, _cpp_find_include_file,
- 	_cpp_read_include_file, and _cpp_parse_expr to cpphash.h.
- 	Move struct if_stack to cpplib.c.  Move struct cpp_pending to
- 	cppinit.c.
- 	Change all uses of U_CHAR to be unsigned char instead.
- 	Delete CPP_WARN_UNDEF, CPP_C89, and CPP_PREPROCESSED.
- 
- 2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (dw_fde_struct): Add 'nothrow'.
- 	(dwarf2out_begin_prologue): Set it.
- 	(output_call_frame_info): Don't emit EH unwind info for leaves.
- 
- 	* flow.c (count_basic_blocks, find_basic_blocks_1): A rethrow
- 	can occur outside of an EH region.
- 	* except.c: Correct comments about rethrow behavior.
- 	(rethrow_symbol_map): Do nothing if !flag_new_exceptions.
- 
- 2000-03-08  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* flow.c (make_edges): Always call make_eh_edge for calls.
- 
- 2000-03-08  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (parse_underflow_t, CPP_NULL_BUFFER): Delete.
- 	(struct cpp_buffer): Remove fname and underflow fields.
- 	(struct cpp_reader): Remove get_token field.
- 	(struct include_hash): Rename to struct ihash.  Add typedef to
- 	IHASH.
- 	(struct if_stack): Remove fname field.
- 	(IF_STACK_FRAME): Rename to IF_STACK.
- 
- 	* cpperror.c (print_containing_files): Trust that there are no
- 	macro buffers below the top file buffer.
- 	* cppfiles.c: Replace all references to 'struct include_hash'
- 	with 'IHASH'.  Rename initialize_input_buffer to
- 	init_input_buffer.  Don't set or reference cpp_buffer->fname,
- 	use buffer->ihash->name instead.
- 	* cpphash.c (special_symbol): Use cpp_file_buffer.  Use NULL
- 	not CPP_NULL_BUFFER.
- 	* cppinit.c: Use NULL not CPP_NULL_BUFFER, IF_STACK not
- 	IF_STACK_FRAME, IHASH not struct include_hash.
- 	* cpplib.c: Rename eval_if_expression to eval_if_expr.  Remove
- 	null_underflow.  Use IF_STACK not IF_STACK_FRAME, IHASH not
- 	struct include_hash, NULL not CPP_NULL_BUFFER.  Remove all
- 	references to cpp_buffer->fname (delete entirely, or use
- 	->ihash->name instead) and IF_STACK->fname.
- 	(cpp_push_buffer): Don't set new->underflow.
- 	(do_include): Use cpp_file_buffer.
- 
- 	* cpphash.c (collect_formal_parameters): Remove duplicate
- 	increment of argslen.  Pedwarn in C99 mode if __VA_ARGS__ is
- 	used as a macro argument name.  Don't append "..." to namebuf
- 	for varargs macros.  After we're done scanning, go through
- 	namebuf and make it NUL separated, not comma separated.
- 	(_cpp_compare_defs): Remove register tag from variables.
- 	Expect defn->argnames to be NUL separated.
- 	(_cpp_dump_definition): Expect defn->argnames to be NUL
- 	separated and in forward order.
- 	* cpphash.h: Update documentation of argnames field.
- 
- 2000-03-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_builtin_strlen): Be prepared for strlensi
- 	to fail.  Don't pre-expand the source operand.
- 
- 	* i386.md (strlensi): Initialize eoschar and align before use.
- 
- 2000-03-08  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* expr.c (expand_expr, case ARRAY_REF): Still check for missing
- 	CONSTRUCTOR element.
- 
- 2000-03-08  Gavin Romig-Koch  <gavin@cetus.cygnus.com>
- 
- 	* mips.c (mips_expand_prologue): If the last
- 	named argument is the vararg marker "va_list", treat it as
- 	an unnamed argument.
- 
- 2000-03-08  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* dbxout.c (dbxout_parms): When correcting for promoted
- 	big-endian parameters, use the mode of the DECL_RTL rather
- 	than UNITS_PER_WORD.
- 
- 2000-03-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.h (make_fname_decl): Declare.
- 	* c-common.c (make_fname_decl): Define.
- 	(declare_hidden_char_array): Remove.
- 	(declare_function_name): Use make_fname_decl.
- 	* c-decl.c (c_make_fname_decl): New function.
- 	(init_decl_processing): Set make_fname_decl.
- 
- Tue Mar  7 23:50:31 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cccp.c (handle_directive): Initialize backslash_newlines_p.
- 
- 2000-03-07  Philipp Thomas  <pthomas@suse.de>
- 
- 	* po/POTFILES.in: Remove cppalloc.c from file list.
- 
- 2000-03-07  Steve Chamberlain  <sac@pobox.com>
- 
- 	* pj.c (pj_expand_prologue): current_function->args_info is
- 	now current_function_args_info.
- 
- 	* pj.h (STORE_FLAG_VALUE, USER_LABEL_PREFIX,
- 	LOCAL_LABEL_PREFIX, ASM_GENERATE_INTERNAL_LABEL,
- 	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Define.
- 
- 2000-03-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (PUT_SDB_TYPE): Define so that the type info is
- 	output as hexadecimal rather than the default octal.
- 
- 2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (special_symbol): Fix thinko in previous commit.
- 
- 2000-03-07  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppexp.c (struct operation, left_shift, right_shift,
- 	cpp_parse_expr): Change some "char"s to "U_CHAR"s, and some
- 	"int"s to "unsigned int"s.
- 	* cpplib.c (detect_if_not_defined, do_assert, do_unassert):
- 	Similarly.
- 	* cpplib.h: Update for above.
- 	* mkdeps.c (deps_init, deps_calc_target): Cast pointers
- 	returned from allocations.
- 
- 	* cppinit.c (opt_comp, parse_options): New functions.
- 	(handle_option): Use parse_option to parse a single command
- 	line option, that possibly takes an argument.
- 	(cpp_handle_options): Sort the array of command line options on
- 	first invocation (non-ASCII hosts only).
- 	(print_help): Update.
- 
- 2000-03-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* mkdeps.c (munge): Fix off-by-one bug and inconsistencies in
- 	backslash counting loops.  Problem noted by Matt Kraai <kraai@ghs.com>.
- 
- 	* cppfiles.c (_cpp_find_include_file): Make sure ih->name is
- 	initialized.
- 	* cppinit.c (cpp_cleanup): Free imp->nshort also.
- 
- 	* cpperror.c (cpp_print_containing_files,
- 	cpp_print_file_and_line, v_cpp_message): Rename to
- 	print_containing_files, print_file_and_line, and v_message.
- 	* cppexp.c (cpp_parse_expr, cpp_parse_escape, cpp_lex): Rename
- 	to _cpp_parse_expr, parse_escape, and lex.
- 	(parse_charconst): Remove broken multibyte support.
- 	* cppfiles.c (include_hash): Make static.
- 	(cpp_included): New function.
- 	(merge_include_chains, find_include_file, finclude,
- 	simplify_pathname): Rename to _cpp_merge_include_chains,
- 	_cpp_find_include_file, _cpp_read_include_file, and
- 	_cpp_simplify_pathname.
- 	* cpphash.c (cpp_lookup, free_definition, delete_macro,
- 	cpp_install, create_definition, macroexpand, compare_defs,
- 	dump_definition): Rename to _cpp_lookup, _cpp_free_definition,
- 	_cpp_delete_macro, _cpp_install, _cpp_create_definition,
- 	_cpp_macroexpand, _cpp_compare_defs, and _cpp_dump_definition.
- 	* cppinit.c (cpp_handle_option): Rename to handle_option, make
- 	static.
- 	* cpplib.c: Remove extern prototype of cpp_parse_expr.
- 
- 	* cpphash.h: Update prototypes.
- 	* cpplib.h: Likewise.  Prototype _cpp_parse_expr here.
- 
- 2000-03-07  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.h (PTRDIFF_TYPE): Revert broken change;
- 	PTRDIFF_TYPE should be based solely on Pmode.
- 	(SIZE_TYPE): ditto.
- 
- 2000-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (rtunion_def): Constify member `rtstr'.
- 	(emit_line_note_after, emit_line_note, emit_line_note_force,
- 	emit_note, decode_asm_operands): Constify.
- 
- 	* cse.c (canon_hash): Likewise.
- 
- 	* dbxout.c (dbxout_block): Likewise.
- 
- 	* diagnostic.c (file_and_line_for_asm, v_error_for_asm,
- 	v_warning_for_asm): Likewise.
- 
- 	* dwarfout.c (function_start_label): Likewise.
- 
- 	* emit-rtl.c (emit_line_note_after, emit_line_note, emit_note,
- 	emit_line_note_force): Likewise.
- 
- 	* final.c (last_filename, asm_insn_count, final_scan_insn,
- 	output_source_line): Likewise.
- 
- 	* function.h (struct emit_status): Likewise.
- 
- 	* gcse.c (hash_expr_1): Likewise.
- 
- 	* genattr.c (gen_attr, main): Likewise.
- 
- 	* genattrtab.c (struct function_unit, current_alternative_string,
- 	write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq,
- 	attr_numeral, check_attr_test, check_attr_value,
- 	convert_set_attr_alternative, convert_set_attr,
- 	compute_alternative_mask, simplify_by_exploding, gen_attr,
- 	gen_unit): Likewise.
- 
- 	* genflags.c (gen_insn): Likewise.
- 
- 	* gengenrtl.c (type_from_format): Likewise.
- 
- 	* genopinit.c (gen_insn): Likewise.
- 
- 	* genoutput.c (n_occurrences, process_template, process_template):
- 	Likewise.
- 
- 	* ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
- 	Likewise.
- 
- 	* ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size):
- 	Likewise.
- 
- 	* ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable,
- 	ggc_set_mark, ggc_get_size): Likewise.
- 
- 	* objc/objc-act.c (build_module_descriptor, finish_objc): Likewise.
- 
- 	* optabs.c (init_one_libfunc): Likewise.
- 
- 	* output.h (assemble_start_function): Likewise.
- 
- 	* recog.c (decode_asm_operands): Likewise.
- 
- 	* toplev.c (rest_of_compilation): Likewise.
- 
- 	* tree.h (emit_line_note_after, emit_line_note,
- 	emit_line_note_force): Likewise.
- 
- 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
- 	asm_emit_uninitialised, assemble_start_function,
- 	assemble_variable, const_hash, compare_constant_1,
- 	find_pool_constant, mark_constant_pool, assemble_alias): Likewise.
- 
- 	* xcoffout.h (DBX_FINISH_SYMBOL): Likewise.
- 
- 	* alpha/alpha.md (call_vms, call_value_vms): Likewise.
- 
- 	* arm/aof.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* arm/aout.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p,
- 	arm_dllimport_name_p): Likewise.
- 
- 	* arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op):
- 	Likewise.
- 
- 	* arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- 	* arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p,
- 	arm_mark_dllexport, arm_mark_dllimport,
- 	arm_pe_encode_section_info): Likewise.
- 
- 	* arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS,
- 	ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* arm/thumb.c (thumb_function_prologue): Likewise.
- 
- 	* arm/thumb.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* clipper/clix.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING,
- 	ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* i386/i386-protos.h (asm_output_function_prefix): Likewise.
- 
- 	* i386/i386.c (asm_output_function_prefix): Likewise.
- 
- 	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i386/sco5.h (ASM_FINISH_DECLARE_OBJECT,
- 	ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII,
- 	ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i860/paragon.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* m32r/m32r.c (m32r_encode_section_info): Likewise.
- 
- 	* mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* mcore/mcore.c (mcore_encode_section_info): Likewise.
- 
- 	* mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* mips/mips.h (ASM_OUTPUT_IDENT): Likewise.
- 
- 	* mips/mips.md (movdi, movsi): Likewise.
- 
- 	* mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise.
- 
- 	* ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING,
- 	ASM_OUTPUT_ASCII): Likewise.
- 
- 	* rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog,
- 	output_mi_thunk, output_toc): Likewise.
- 
- 	* rs6000/rs6000.md (movsi): Likewise.
- 
- 	* rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise.
- 
- 	* tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* v850/v850.c (print_operand, print_operand_address,
- 	v850_encode_data_area): Likewise.
- 
- 2000-03-07  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.md (zero_extendsidi2): Always force operand
- 	one to memory for mips16.
- 
- Mon Mar  6 15:22:29 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.
- 	(struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT.
- 	(attribute_hash_list, type_hash_canon): hashcode is now unsigned.
- 	(type_hash_lookup, type_hash_add, type_hash_list): Likewise.
- 	(min_precision): Result is unsigned.
- 	(add_double, neg_double, mul_double): Low word is unsigned.
- 	(lshift_double, rshift_double, lrotate_double): Likewise.
- 	(rrotate_double, div_and_round_double): Likewise.
- 	(tree_floor_log2, compare_tree_int): New functions.
- 	(preserve_rtl_expr_temps): New declaration.
- 	* c-common.c (declare_hidden_char_array): Use compare_tree_int.
- 	(decl_attributes): Use tree_log2 to find alignment.
- 	Check for TREE_INT_CST_HIGH for format args.
- 	(min_precision): Now unsigned.
- 	Use tree_floor_log2.
- 	(truthvalue_conversion): Delete long-disabled code.
- 	* c-decl.c (finish_struct): Clean up tests on field width.
- 	(finish_function): Use compare_tree_int.
- 	* c-pragma.c (handle_pragma_token): Use tree_log2 for alignment.
- 	* c-typeck.c (comptypes): Use tree_int_cst_equal.
- 	(default_conversion, digest_init): Use compare_tree_int.
- 	(build_binary_op): Use integer_all_onesp and compare_tree_int.
- 	Fix type errors in forming masks.
- 	* calls.c (initialize_argument_information): Use compare_tree_int.
- 	* dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
- 	* except.c (expand_eh_region_start_tree): Use compare_tree_int.
- 	* expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop.
- 	(store_field): Use compare_tree_int.
- 	(expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT.
- 	(expand_expr, case ARRAY_REF): Use compare_tree_int.
- 	(do_jump, case BIT_AND_EXPR): Use tree_floor_log2.
- 	(do_store_flag): Use compare_tree_int.
- 	* fold-const.c (encode, decode): Low part is always unsigned.
- 	(force_fit_type, add_double, neg_double, mul_double): Likewise.
- 	(lshift_double, rshift_double, lrotate_double): Likewise.
- 	(rrotate_double, div_and_round_double, int_const_binop): Likewise.
- 	(fold_convert): Use compare_tree_int.
- 	(operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal.
- 	(invert_truthvalue, case INTEGER_CST): Likewise.
- 	(fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW.
- 	* mkdeps.c (deps_dummy_targets): Make I unsigned.
- 	* rtl.h (add_double, neg_double, mul_double): Low words are unsigned.
- 	(lshift_double, rshift_double, lrotate_double, rrotate_double):
- 	Likewise.
- 	* stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree.
- 	(expand_end_case): Use compare_tree_int.
- 	(estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT.
- 	* stor-layout.c (mode_for_size_tree): Use compare_tree_int.
- 	(layout_decl): Likewise.
- 	(layout_record, layout_union): Make sizes unsigned.
- 	(layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype.
- 	(layout_type, case QUAL_UNION_TYPE): Use compare_tree_int.
- 	* tree.c (struct type_hash): hashcode is unsigned.
- 	(build_type_attribute_variant, type_hash_list): Likewise.
- 	(type_hash_lookup, type_hash_add, type_hash_canon): Likewise.
- 	(attribute_hash_list, build_array_type, build_method_type): Likewise.
- 	(build_complex_type): Likewise.
- 	(real_value_from_int_cst): Remove unneeded casts.
- 	(integer_all_onesp): Add casts.
- 	(tree_floor_log2, compare_tree_int): New functions.
- 	(build_index_type): Use tree_int_cst_sgn.
- 	* varasm.c (assemble_variable): Use compare_tree_int.
- 
- 2000-03-06  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cpphash.c (collect_expansion): Also catch ## at start of macro.
- 
- 	* varasm.c (make_decl_rtl): Don't add a number to members of
- 	local classes.
- 	(make_function_rtl): Likewise.
- 
- 2000-03-06  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* gcse.c (compute_can_copy): Adjust if/else blocks from rth's
- 	patch from 2000-01-28.
- 
- 2000-03-06  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/sh/sh.c: (barrier_align): Handle a delay slot that is
- 	filled with an insn from the jump target.
- 
- 2000-03-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x-protos.h (c4x_global_name): Constify char *.
- 	(c4x_external_ref): Likewise.
- 	* config/c4x/c4x.c (struct name_list): Likewise.
- 
- 1999-12-16  Ben Collins  <bcollins@debian.org>
- 
- 	* Makefile.in: Pass a new MULTILIB_EXCLUSIONS option as the sixth
- 	argument to genmultilib.
- 	* genmultilib: accept new MULTILIB_EXCLUSIONS option and output
- 	the contents into the multilib.h header.
- 	* gcc.c: Declare multilib_exclusions for the specs file.
- 	(set_multilib_dir): Use it.
- 	(print_multilib_info): Likewise.
- 	* t-linux64: Declare arguments for new MULTILIB_EXCLUSIONS option
- 	to pass to genmultilib.
- 
- 2000-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (built_in_class_names, built_in_names): Constify a
- 	char*.
- 
- 	* gmon-sol2.c (monstartup, moncontrol): Cast ptrs to long, not
- 	int.
- 	(_mcleanup): Ensure value matches format specifier in sprintf.
- 
- 	* cpphash.c (special_symbol): Don't needlessly cast away
- 	const-ness.
- 
- 	* cppinit.c (base_name): Delete unused prototype.
- 
- 	* mkdeps.c (deps_init): Make definition K&R safe.
- 
- 	* tree.h (built_in_class_names, built_in_names): Constify a
- 	char*.
- 
- 2000-03-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (eligible_for_epilogue_delay): Accept
- 	floating point instructions for epilogue delay.
- 
- 	* config/sparc/sparc.h (ASM_ARCH64_SPEC): Pass -no-undeclared-regs
- 	to gas if it supports .register pseudo.
- 
- 	* real.h (MAX_LONG_DOUBLE_TYPE_SIZE): Define to
- 	LONG_DOUBLE_TYPE_SIZE if not defined.
- 	Use MAX_LONG_DOUBLE_TYPE_SIZE instead of
- 	LONG_DOUBLE_TYPE_SIZE in preprocessor if clauses.
- 	* real.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* print-rtl.c: Likewise.
- 	* rtl.c: Likewise.
- 	* config/sparc/sol2-sld-64.h (TARGET_DEFAULT): Set
- 	MASK_LONG_DOUBLE_128.
- 	* config/sparc/sol2.h (TARGET_DEFAULT): Likewise.
- 	* config/sparc/sp64-elf.h (TARGET_DEFAULT): Likewise.
- 	* config/sparc/linux64 (TARGET_DEFAULT): Likewise.
- 	(SUBTARGET_SWITCHES): Define.
- 	(CPP_ARCH32_SPEC): Define __LONG_DOUBLE_128__ if compiling
- 	with -mlong-double-128.
- 	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
- 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
- 	(CC1_SPEC): Include -mlong-double-{64,128} as needed.
- 	* config/sparc/linux.h (SUBTARGET_SWITCHES): Define.
- 	(CPP_SUBTARGET_SPEC): Define __LONG_DOUBLE_128__ if compiling
- 	with -mlong-double-128.
- 	(LONG_DOUBLE_TYPE_SIZE): Define depending on target_flags.
- 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on CPP macros.
- 	* config/sparc/sparc.h (MASK_LONG_DOUBLE_128,
- 	TARGET_LONG_DOUBLE_128): Define.
- 	* config/sparc/linux-aout.h (LONG_DOUBLE_TYPE_SIZE): Remove.
- 	* config/sparc/sparc.c (sparc_override_options): Disallow 64bit
- 	long double on TARGET_ARCH64.
- 
- 2000-03-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (free_temps_for_rtl_expr): Don't free slots
- 	that have been pushed into a higher level.
- 
- 	Revert this patch:
- 	2000-03-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 2000-03-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* basic-block.h (ALLOCA_REG_SET): Remove.
- 	(INITIALIZE_REG_SET): New macro.
- 	* flow.c (update_life_info): Use it.
- 	(calculate_global_regs_live): Likewise.
- 	(propagate_block): Likewise.
- 	* global.c (build_insn_chain): Likewise.
- 	* haifa-sched.c (schedule_region): Likewise.
- 
- 2000-03-05  Stephane Carrez  <stcarrez@worldnet.fr>
- 
- 	* dwarf2out.c (UNALIGNED_WORD_ASM_OP): Support 2 bytes pointer.
- 	(ASM_OUTPUT_DWARF_ADDR_CONST): Use UNALIGNED_WORD_ASM_OP.
- 	(DWARF_ARANGES_PAD_SIZE): New define.
- 	(output_aranges): Use it to pad the address range header.
- 	(DWARF_ROUND): Fix for non power of 2 rounding.
- 
- 2000-03-05  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* mkdeps.c (deps_calc_target): Remove incorrect 'const'.
- 
- 2000-03-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.def (RTL_EXPR): Update documentation.
- 	* tree.h (RTL_EXPR_HAS_NO_SCOPE): New macro.
- 	* expr.c (expand_expr): Handle RTL_EXPR_HAS_NO_SCOPE.
- 	* function.c (preserve_rtl_expr_temp): New function.
- 	(preserve_rtl_expr_temps): Likewise.
- 	(preserve_rtl_expr_result): Use it.
- 
- 	Revert this patch:
- 	2000-03-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 2000-03-04  Thomas Schuster <Thomas.Schuster@gmx.net>
- 
- 	* regmove.c (copy_src_to_dest)  Do not create src->dest move
- 	for unchanging destination.
- 
- 2000-03-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.h (struct sequence_stack): Remove rtl_expr.
- 	(struct emit_staus): Likewise.
- 	(seq_rtl_expr): Remove.
- 	* tree.h (free_temps_for_rtl_expr): Don't declare.
- 	(start_sequence_for_rtl_expr): Likewise.
- 	* rtl.h (preserve_rtl_expr_result): Likewise.
- 	* emit-rtl.c (start_sequence): Don't set sequence_rtl_expr.
- 	(start_sequence_for_rtl_expr): Remove.
- 	(push_topmost_sequence): Don't save sequence_rtl_expr.
- 	(pop_topmost_sequence): Remove comment about not restoring it.
- 	(end_sequence): Don't set seq_rtl_expr.
- 	(init_emit): Don't initialize it.
- 	(mark_sequence_stack): Don't mark it.
- 	(mark_emit_status): Likewise.
- 	* except.c (protect_with_terminate): Use
- 	start_sequence_for_rtl_expr, not start_sequence.
- 	* expr.c (expand_expr, case RTL_EXPR): Don't call
- 	preserve_rtl_expr_result or free_temps_for_rtl_expr.
- 	* function.c (assign_stack_temp_for_type): Don't set rtl_expr.
- 	(preserve_rtl_expr_result): Remove.
- 	(free_temps_for_rtl_expr): Likewise.
- 	(pop_temp_slots): Likewise.
- 	(mark_temp_slot): Don't mark the rtl_expr.
- 	* stmt.c (expand_start_stmt_expr): Use start_sequence, not
- 	start_sequence_for_rtl_expr.
- 
- 2000-03-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* mkdeps.c, mkdeps.h: New files.
- 	* po/POTFILES.in: Add them.
- 	* Makefile.in (LIBCPP_OBJS): Add mkdeps.o.
- 	(cpplib.o, cppinit.o): Depend on mkdeps.h.
- 	(mkdeps.o): New target.
- 
- 	* cppfiles.c: Delete deps_output.
- 	* cppinit.c: Include mkdeps.h.  Delete known_suffixes,
- 	OBJECT_SUFFIX, and base_name.
- 	(cpp_cleanup): Use deps_free.  Free ihash->name when clearing
- 	the include hash.
- 	(initialize_dependency_output): Use deps_init,
- 	deps_add_target, deps_calc_target, and deps_add_dep.  Remove
- 	all the unnecessary string bashing.
- 	(cpp_finish): Use deps_write.  Remove an unnecessary nesting
- 	level.
- 	* cpplib.c (do_include): Use deps_add_dep.
- 	* cpplib.h (struct cpp_reader): Replace deps_buffer,
- 	deps_allocated_size, deps_size, deps_column members with
- 	single pointer to a struct deps.  Delete prototype of
- 	deps_output.
- 
- 	* cppinit.c: Fix thinko in previous patch.
- 
- Sat Mar  4 11:32:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* machmode.h (mode_for_size, smallest_mode_for_size): SIZE now signed.
- 	* stor-layout.c (mode_for_size, smallest_mode_for_size): Likewise.
- 	(mode_for_size_tree): New function.
- 	(layout_decl, layout_type): Call it and clean up BLKmode checks.
- 	* tree.h (mode_for_size_tree): New declaration.
- 
- 	* toplev.c (debug_ignore_block): Mark arg BLOCK as possibly unused.
- 
- 2000-03-04  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* stmt.c (is_body_block): Move...
- 	* dwarfout.c, dwarf2out.c: ...from here.
- 	* tree.h: Declare it.
- 	* emit-rtl.c (remove_unnecessary_notes): Don't remove the body block.
- 	* final.c (final_start_function): Do call remove_unnecessary_notes
- 	when scheduling.
- 
- 2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* config/vax/xm-vms.h: Define OBJECT_SUFFIX and EXECUTABLE_SUFFIX.
- 
- 	* cpplib.h (_dollar_ok): New macro.
- 	(is_idchar, is_idstart): Use it.
- 	(IStable): Rename to _cpp_IStable.  Declare it const if
- 	gcc >=2.7 or C99.  Delete all references to FAKE_CONST.
- 	(is_idchar, is_idstart, is_numchar, is_numstart, is_hspace,
- 	is_space): Update for renamed IStable.
- 
- 	* cppinit.c: Delete all references to FAKE_CONST and CAT
- 	macros. Define init_IStable as empty macro if gcc >=2.7 or
- 	C99. Change TABLE() to ISTABLE and hardcode name of table.
- 	(cpp_start_read): Don't change the IStable based on
- 	dollars_in_ident.
- 
- 	* cpphash.c (unsafe_chars): Add pfile argument.  All callers
- 	changed.  Handle '$' for char1 correctly.
- 	* cpplib.c (cpp_get_token): Use is_numchar when parsing numbers.
- 
- 	* cppexp.c (tokentab2): Make const.
- 	(cpp_lex): Make toktab const.
- 	* cppinit.c (include_defaults_array): Make const.
- 	(initialize_standard_includes): Make default_include const.
- 
- 2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug): Add cast to silence warning.
- 	(dwarf2out_decl): Functions can now have DECL_IGNORED_P.
- 	(gen_decl_die): Likewise.
- 	* dwarfout.c (dwarfout_file_scope_decl): Likewise.
- 	(output_decl): Likewise.
- 
- 	* varasm.c (make_function_rtl): If we change the name used in the
- 	rtl, update DECL_ASSEMBLER_NAME accordingly.
- 	(make_decl_rtl): Likewise.
- 
- 	* toplev.c (rest_of_compilation): Tweak formatting.
- 
- 	* toplev.c (rest_of_compilation): find_loop_tree_blocks before
- 	remove_unnecessary_notes.
- 	(debug_ignore_block): New fn.
- 	* toplev.h: Declare it.
- 	* emit-rtl.c (remove_unnecessary_notes): Call it.
- 	* dwarf2out.c (dwarf2out_ignore_block): New fn.
- 	* dwarf2out.h: Declare it.
- 	* final.c (final_start_function): Don't call remove_unnecessary_notes
- 	if we did insn scheduling.
- 
- 2000-03-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c (cpp_handle_option): Set opts->pedantic directly.
- 	* cpplib.h: Delete SET_CPP_PEDANTIC.
- 
- Fri Mar  3 14:56:12 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): Use bitfield case if
- 	result is a RECORD_TYPE.
- 
- 2000-03-03  Jonathan Larmour  <jlarmour@cygnus.co.uk>
- 
- 	* mips/elf.h (CTOR_LISTS_DEFINED_EXTERNALLY): Added.
- 
- 2000-03-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_set_const_1): Re-order cases to prefer
- 	addition over compliments over shifts.
- 
- Fri Mar  3 12:49:28 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine_note_use): Handle return register USEs.
- 	REG case: Handle multi-hard-register hard regs.
- 
- Fri Mar  3 07:38:34 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* md.texi: Document use of '*' in insn pattern name.
- 
- 2000-03-03  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* calls.c (special_function_p): operator new may not be malloc-like.
- 
- 	* gcse.c (dump_hash_table): Really fix error in last change.
- 
- 2000-03-02  Denis Chertykov  <denisc@overta.ru>
- 
- 	* avr.c (print_operand): Use print_operand_address instead of
- 	output_addr_const.
- 	* avr/libgcc.S: Cleanup code.
- 
- 2000-03-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_set_const_1): Also try c + small constant.
- 
- 2000-03-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (TYPE_ALIGN_UNIT): New macro.
- 
- 2000-03-02  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* i386.c: (constant_call_address_operand): Reject CONST_INT.
- 
- 2000-03-02  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cpplib.h (CPP_PEDANTIC): Only true if system_header_p is not set
- 	for the buffer.
- 	(SET_CPP_PEDANTIC): New macro.
- 	* cpplib.c (do_include): Don't bother checking system_header_p.
- 	(do_warning, do_ident, do_assert, do_unassert): Likewise.
- 	* cppinit.c (cpp_handle_option): Use SET_CPP_PEDANTIC.
- 
- 	* function.h (struct expr_status): Add x_arg_space_so_far.
- 	(arg_space_so_far): New macro.
- 	* expr.c (init_expr): Initialize it.
- 	* calls.c (emit_call_1): Reset it.
- 	(compute_argument_block_size, expand_call): Use it.
- 	(expand_call, store_one_arg): Increment it.
- 
- Thu Mar  2 17:27:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* varasm.c (output_constant): Strip off a CONVERT_EXPR to
- 	a UNION_TYPE.
- 
- 2000-03-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (cpp_read_file): New function.
- 
- 	* cpphash.c (collect_expansion): Make sure to reset last_token
- 	to NORM when we hit a string.  Handle trailing whitespace
- 	properly when the expansion is empty.
- 	(create_definition): Disable line commands while parsing the
- 	directive line.
- 	(dump_definition): If pfile->lineno == 0, output a line
- 	command ahead of the dump, and add a trailing newline.
- 
- 	* cppinit.c (append_include_chain): Add fifth argument, which
- 	indicates whether or not system headers are C++ aware.
- 	(initialize_standard_includes): New function,
- 	broken out of read_and_prescan.  Pass 'cxx_aware' value from
- 	the include_defaults_array on to append_include_chain.
- 	(dump_special_to_buffer): Const-ify char array.
- 	(builtin_array): Don't dump __BASE_FILE__.
- 	(cpp_start_read): Use cpp_read_file.  Reorder code for
- 	clarity.  Don't output line commands here for -D/-A/-U
- 	switches.  Don't call deps_output for files included with
- 	-include or -imacros.
- 
- 	* cpplib.c (do_define): Don't pay any attention to the second
- 	argument.
- 	(cpp_expand_to_buffer): Disable line commands while scanning.
- 	(output_line_command): Work in the file buffer.
- 	* cpplib.h: Remove no_record_file flag from struct cpp_reader.
- 	Fix formatting of comments.  Prototype cpp_read_file.
- 
- Thu Mar  2 13:29:46 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Make sizetype_endlink
- 	reference the language-equivalent of sizetype.
- 	* c-typeck.c (comptypes): Treat sizetype like its language equivalent.
- 	* fold-const.c (size_binop, size_diffop): Put back checks.
- 	* gcse.c (dump_hash_table): Fix minor error in last change.
- 	* stor-layout.c (set_sizetype): Set TYPE_DOMAIN of sizetype.
- 	Clear TYPE_{NEXT,MAIN}_VARIANT and TYPE_{POINTER,REFERENCE}_to of
- 	all sizetypes.
- 
- Thu Mar  2 12:48:45 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call)  Do not attempt to combine stack adjustments
- 	with inhibit_defer_pop set.
- 
- 2000-03-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (layout_decl): Allow front-ends to explicitly set
- 	the DECL_SIZE for a FIELD_DECL.
- 
- 2000-03-01  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.tpl: remove unused symlinks
- 	* fixinc/README: GCC Maintainer info
- 	* fixinc/inclhack.sh: regen
- 	* fixinc/fixincl.sh: regen
- 
- 2000-03-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (collect_expansion): Trim trailing white space
- 	from macro definitions, but don't go past the last insertion
- 	point.
- 
- Wed Mar  1 12:14:31 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (mulqi3): New pattern.
- 
- 2000-02-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (CPP_ASSERTION, CPP_STRINGIZE, CPP_TOKPASTE): New
- 	token types.
- 	(struct cpp_reader): Add parsing_if_directive and
- 	parsing_define_directive flags.
- 	(struct cpp_options): Remove output_conditionals flag.
- 	(check_macro_name): Delete prototype.
- 
- 	* cpphash.h (struct macrodef): Delete.
- 	(struct reflist): Separate from struct definition.
- 	(struct definition): Remove unused fields.  Add column number.
- 	(create_definition): Returns a DEFINITION *.  Takes a
- 	cpp_reader * and an int.
- 
- 	* cpphash.c (SKIP_WHITE_SPACE): Delete.
- 	(PEEKC): Copy defn from cpplib.c.
- 	(rest_extension, REST_EXTENSION_LENGTH): Delete.
- 	(struct arg): New.
- 	(struct arglist): Simplify.
- 	(collect_expansion): Rewrite.  Get tokens by calling
- 	cpp_get_token.  Add more error checking.
- 	(collect_formal_parameters): New function, broken out of
- 	create_definition and reworked to use get_directive_token.
- 	(create_definition): All real work is now in collect_expansion
- 	and collect_formal_parameters.  do_define handles finding the
- 	macro name.  Return a DEFINITION, not a MACRODEF.
- 	(macroexpand): Replace bcopy with memcpy throughout.  Replace
- 	character-at-a-time copy loop with memcpy and pointer increments.
- 	(compare-defs): d1->argnames / d2->argnames might be null.
- 
- 	* cpplib.c (copy_rest_of_line): Delete function.
- 	(skip_rest_of_line): Do all the work ourselves.
- 	(skip_string): New function.
- 	(parse_string): Use skip_string.
- 	(get_macro_name): New function.
- 	(check_macro_name): Delete.
- 	(copy_comment): Use CPP_RESERVE and CPP_PUTC_Q.
- 	(cpp_skip_hspace): Use CPP_BUMP_LINE.
- 	(handle_directive): ICE if we're called on a macro buffer.
- 	(do_define): Determine macro name and type (funlike/objlike)
- 	here.  Expunge all uses of MACRODEF.
- 	(cpp_push_buffer): Set line_base to NULL.
- 	(do_undef, read_line_number): Don't worry about getting a POP token.
- 	(eval_if_expression): Set/reset parsing_if_directive around
- 	cpp_parse_expr. Don't clear only_seen_white.
- 	(skip_if_group): Remove output_conditionals logic.  Use
- 	skip_rest_of_line.
- 	(cpp_get_token): Return ASSERTION, STRINGIZE, and TOKPASTE
- 	tokens under appropriate conditions.
- 	(cpp_unassert): Call do_unassert not do_assert.  Oops.
- 
- 	* cppexp.c (parse_defined): New function, break out of
- 	cpp_lex.
- 	(cpp_lex): We now get CPP_ASSERTION tokens and can check them
- 	ourselves, with cpp_defined.
- 	* cppinit.c (cpp_handle_option, print_help): Delete -ifoutput.
- 
- 	* gcc.dg/20000209-2.c: Turn off -pedantic-errors.
- 	* gcc.dg/strpaste-2.c: New.
- 
- 2000-02-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (size_binop): Don't asert inputs are the same and
- 	have TYPE_IS_SIZETYPE set.
- 	(size_diffop): Likewise.
- 
- 2000-02-29  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarfout.c (output_block): Output abstract blocks even if they
- 	don't have TREE_ASM_WRITTEN set.
- 
- 	* calls.c (emit_library_call): Check for null REG.
- 
- 2000-03-01  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* c-decl.c (current_function_decl): Move to toplev.c.
- 	(init_decl_processing): Don't add current_function_decl as a ggc
- 	root here.
- 	* dbxout.c (dbxout_symbol): Change return type to int.
- 	(dbxout_symbol_location, dbxout_syms): Likewise.
- 	(dbxout_block): Don't emit LBRAC/RBRAC pairs for blocks without
- 	any locals. Use current_function_func_begin_label if set.
- 	* dbxout.h (dbxout_symbol, dbxout_syms): Change return type.
- 	* dwarf2out.c (dwarf2out_begin_prologue): Set
- 	current_function_func_begin_label.
- 	* final.c (final_start_function): Reset it.
- 	* toplev.c (current_function_decl): Define it here.
- 	(current_function_func_begin_label): New variable.
- 	(main): Add both as ggc roots.
- 	* tree.h (current_function_func_begin_label): Declare.
- 
- Tue Feb 29 14:07:04 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c: Cleanups throughout: mostly white-space, but also
- 	some minor rearrangement of code.
- 
- Tue Feb 29 10:45:59 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* calls.c (emit_library_call): Do not abort if FUNCTION_ARG
- 	returns a PARALLEL.  Use emit_group_load and use_group_regs
- 	as needed.
- 	(emit_library_call_value): Similarly.
- 
- 	* pa/t-pa: Use quadlib.c instead of quadlib.asm.
- 	* pa/quadlib.asm: Remove.
- 	* pa/quadlib.c: New file.
- 
- 	* configure.in (hpux10, hpux11, PA32 mode): Use i128 float format.
- 	* configure: Rebuilt.
- 
- 2000-02-29  Philip Blundell  <pb@futuretv.com>
- 
- 	* config/arm/conix-elf.h: New file.
- 	* configure.in (arm*-*-conix*): New configuration.
- 	* configure: Regenerate.
- 
- 2000-02-28  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (gen_block_die): Output abstract blocks even if they
- 	don't have TREE_ASM_WRITTEN set.
- 
- Mon Feb 28 21:07:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Eliminate DECL_FIELD_SIZE.
- 	* builtins.c (built_in_class_names, built_in_names): New variables.
- 	* c-decl.c (finish_struct): Set specified size in DECL_SIZE.
- 	* expr.c (expand_expr, case COMPONENT_REF): Get field size from
- 	DECL_SIZE, not DECL_FIELD_SIZE.
- 	* print-tree.c (print_node): Remove code that prints extra blank
- 	lines in some cases.
- 	Properly handle inline and builtin function cases.
- 	* stor-layout.c (layout_decl): Get specified size from DEC_SIZE.
- 	* tree.h (built_in_class_named, built_in_names): New declarations.
- 	(union tree_decl): Rename internal unions to u1 and u2 and change
- 	some of their components.
- 	Add new field built_in_class.
- 	(DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE):
- 	Reflect above changes.
- 	(DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise.
- 	(DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted.
- 	* objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE.
- 	(encode_field_decl): Likewise; also remove obsolete test for bitfield.
- 
- 2000-02-28  Dmitri Makarov  <dim@windriver.com>
- 
- 	* extend.texi: Document ARM's support for long/short calls.
- 
- 	* invoke.texi: Document ARM's -mlong-calls command line switch.
- 
- 	* config/arm/arm-protos.h (arm_is_longcall_p): Add prototype.
- 	(arm_encode_call_attribute): Add prototype.
- 	(arm_set_default_type_attribute): Add prototype.
- 	(arm_strip_name_encoding): Add prototype.
- 
- 	* config/arm/arm.c (arm_init_cumulative_args): replace
- 	initialisation og 'long_calls' field with initialisation of
- 	'call_cookie' field.
- 	(enum arm_pragma_enum): New enum.
- 	(arm_pragma_long_calls): New static variable.
- 	(arm_process_pragma): Also process "#pragma long_calls_off".
- 	(arm_valid_type_attribute_p): Accept short_call attribute.
- 	(arm_comp_type_attributes): Check long/short call attributes.
- 	(arm_encode_call_attribute):  New function:  Encode long_call
- 	or short_call attribute in function name.
- 	(arm_set_default_type_attributes): New function: Assign
- 	default attributes to newly defined type.
- 	(current_file_function_operand): New function: Return true if
- 	the symbol is a function which has already been compiled.
- 	(arm_is_longcall_p): New function: Return true if the
- 	indicated function should be called via a long call.
- 	(arm_get_strip_length): New function.  Returns number of
- 	prefix characters to be stripped from a function's name.
- 	(arm_strip_name_encoding): New function.  Strip prefix characters
- 	from a function's name.
- 
- 	* config/arm/arm.h (CUMULATIVE_ARGS): Replace 'long_call' field
- 	with 'call_cookie'.
- 	(SHORT_CALL_FAG_CHAR): Define.
- 	(LONG_CALL_FAG_CHAR): Define.
- 	(ENCODED_SHORT_CALL_ATTR_P): Define.
- 	(ENCODED_LONG_CALL_ATTR_P): Define.
- 	(ARM_NAME_ENCODING_LENGTHS): Define.
- 	(STRIP_NAME_ENCODING): Define.
- 	(ASM_OUTPUT_LABELREF): Define, and use to strip name encoding.
- 	(ARM_ENCODE_CALL_TYPE): Define.
- 	(ENCODE_SECTION): Invoke ARM_ENCODE_CALL_TYPE.
- 	(ARM_DECLARE_FUNCTION_SIZE): Define.
- 	(SET_DEFAULT_TYPE_ATTRIBUTES): Define.
- 
- 	* config/arm/arm.md (call): Call arm_is_longcall_p to decide
- 	if a long call is needed.
- 	(call_value): Ditto.
- 	(call_symbol): Ditto.
- 
- 	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Add invocation of
- 	ARM_DECLARE_FUNCTION_SIZE.
- 
- 	* config/arm/pe.h (ARM_PE_FLAG_CHAR): Define.
- 	(SUBTARGET_NAME_ENCODING_LENGTHS): Define.
- 	(ARM_STRIP_NAME_ENCODING): Undefine.
- 	(STRIP_NAME_ENCODING): Undefine.
- 	(ASM_OUTPUT_LABELREF): Use arm_strip_name_encoding.
- 	(ASM_DECLARE_FUNCTION_NAME): Ditto.
- 	(ASM_OUTPUT_COMMON): Ditto.
- 	(ASM_DECLARE_OBJECT_NAME): Ditto.
- 
- 	* config/arm/pe.c (arm_dllexport_name_p): Check for
- 	ARM_PE_FLAG_CHAR.
- 	(arm_dllimport_name_p): Ditto.
- 	(arm_mark_dllexport): Use ARM_PE_FLAG_CHAR.
- 	(arm_mark_dllimport): Ditto.
- 
- Mon Feb 28 22:11:12 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
- 
- 2000-02-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
- 
- 2000-02-28  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
- 	* cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if
- 	NO_BUILTIN_WCHAR_TYPE is not defined.
- 	(CPP_WCHAR_TYPE): Delete.
- 	* cccp.c (main): Don't change wchar_type if cplusplus.
- 	(special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE.
- 
- 2000-02-28  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm-wince-pe.h (SIZE_TYPE): Define to "unsigned long".
- 
- Mon Feb 28 14:21:15 2000  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
- 	(ASM_WEAKEN_LABEL): Define.
- 
- Mon Feb 28 13:07:19 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (store_constructor): Do not emit USE.
- 	* rtl.h (stupid_life_analysis): Remove.
- 
- Mon Feb 28 07:03:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (number_blocks): Reset next_block_index based on
- 	what debugging format is used, not what is defined.
- 
- 	* lcm.c: Minor reformatting throughout.
- 	(reg_dies, reg_becomes_live): Properly handle multiple hard regs.
- 
- 	* toplev.c (rest_of_compilation): Account for time in
- 	optimize_mode_switching.
- 
- 	* jump.c (jump_optimize_1): Don't call delete_barrier_successors
- 	if only marking labels.
- 
- Mon Feb 28 12:53:57 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Attempt to combine stack adjustments with
- 	pending stack adjustments.
- 
- Mon Feb 28 11:34:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* loop.c (reg_in_basic_block_p): Don't abort when falling through
- 	to the end of the function.
- 
- 2000-02-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* emit-rtl.c (remove_unnecessary_notes): Remove notes for empty
- 	blocks.
- 	* final.c (next_block_index): Remove.
- 	(max_block_depth): Likewise.
- 	(pending_blocks): Likewise.
- 	(init_final): Don't initialize them.
- 	(final_start_function): Don't set next_block_index.  Set up
- 	BLOCK_NUMBER.
- 	(final_scan_insn): Use BLOCK_NUMBER, not next_block_index.
- 	* function.h (number_blocks): New function.
- 	* function.c (get_block_vector): New function.
- 	(identify_blocks): Use it.
- 	(reorder_blocks): Set NOTE_BLOCK.
- 	(number_blocks): New function.
- 	* tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag.
- 	* tree.h (BLOCK_NUMBER): New macro.
- 	(tree_block): Add block_num field.
- 	* dbxout.c (next_block_number): Remove.
- 	(dbxout_init): Don't set it.
- 	(dbxout_block): Only output blocks that have TREE_ASM_WRITTEN
- 	set.  Use BLOCK_NUMBER, rather than next_block_num, to determine
- 	block numbers.
- 	* toplev.c (rest_of_compilation): Always call
- 	find_loop_tree_blocks.  Fix indentation.
- 	* dwarf2out.c (next_block_number): Remove.
- 	(gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
- 	to determine block numbers.
- 	(gen_inlined_subroutine_die): Likewise.
- 	(gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set.
- 	(decls_for_scope): Don't increment next_block_number.
- 	* dwarfout.c (next_block_number): Remove.
- 	(output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number,
- 	to determine block numbers.
- 	(output_inlined_subroutine_die): Likewise.
- 	(output_block): Only output blocks that have TREE_ASM_WRITTEN set.
- 	(output_decls_for_scope): Don't increment next_block_number.
- 	* sdbout.c (next_block_number): Remove.
- 	(sdbout_block): Use BLOCK_NUMBER.
- 	(sdbout_begin_block): Simplify.
- 	* xcoffout.c (next_block_number): Remove.
- 	(xcoffout_block): Use BLOCK_NUMBER, not next_block_number.
- 	(xcoffout_begin_block): Don't set next_block_number.
- 	(xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not
- 	next_block_number.
- 
- Sun Feb 27 16:40:33 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (c_strlen): Use size_diffop and return ssizetype value.
- 	(expand_builtin_strcpy): Pass correct type to size_binop.
- 	(expand_builtin_strcmp): Likewise.
- 	Clean up conditional structure.
- 	* c-decl.c (init_decl_processing): Don't call set_sizetype twice.
- 	(complete_array_type): Don't use size_binop for MAXINDEX.
- 	* c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT.
- 	(c_sizeof_nowarn, c_size_in_bytes): Likewise.
- 	(c_alignof): Use size_one_node.
- 	(build_unary_op): Pass arg of proper type to size_binop.
- 	(really_start_incremental_init, push_init_level): Use sizetype for
- 	constructor{,_bit,_unfilled}_index.
- 	(pop_init_label, output_init_element): Likewise.
- 	(output_pending_init_elements, process_init_element): Likewise.
- 	* calls.c (compute_argument_block_size): Field VAR is ssizetype.
- 	* expr.c (store_expr): Use size_int.
- 	(store_constructor): Use proper types for size_binop args.
- 	(get_inner_reference, expand_expr, case ARRAY_REF): Likewise.
- 	(expand_expr_unaligned): Likewise.
- 	(string_contant): Return object of sizetype.
- 	* expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types.
- 	(ARGS_SIZE_RTX): Call ARGS_SIZE_TREE.
- 	(ARGS_SIZE_TREE): Pass proper types to size_binop.
- 	* fold-const.c (int_const_binop): Refine when size_int is called.
- 	(fold_convert): Likewise.
- 	(size_int_wide): Rework to take KIND as arg, only take low order
- 	bits, handle new sizetype_tab datatype, and chain entries in
- 	size_table.
- 	(size_int_type_wide): New function.
- 	(size_binop): Validate types of arguments.
- 	(ssize_binop): Deleted.
- 	(size_diffop): New function.
- 	(extract_muldiv): Only fold division into multiplication for sizetypes.
- 	* function.c (assign_parms): Use size_diffop and make sure
- 	VAR field is of ssizetype; also pass proper type to size_binop.
- 	(locate_and_pad_parm, pad_to_arg_alignment): Likewise.
- 	(round_down): Deleted from here.
- 	* store-layout.c (sizetype_tab): Now an array.
- 	(sizetype_set, early_root_list): New variables.
- 	(variable_size): Use size_one_node.
- 	(round_up): Pass proper type to size_binop.
- 	(round_down): Moved to here and corrected as above.
- 	(layout_record): Pass proper arg types to size_binop.
- 	(layout_type): Likewise.
- 	If sizetype_set is zero, record the type just laid out.
- 	(make_unsigned_type): Don't call set_sizetype;
- 	(make_signed_type): Likewise; also, call fixup_signed_type.
- 	(initialize_sizetypes): New function.
- 	(set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and
- 	set name of bitsizetype to "bit_size_type".
- 	Fix up type of sizes of all types made before call.
- 	* tm.texi (ROUND_TYPE_SIZE_UNIT): New macro.
- 	* tree.c (fix_sizetype): Deleted.
- 	(build_common_tree_nodes): Call initialize_sizetypes.
- 	(build_common_tree_nodes_2): Don't call fix_sizetype.
- 	* tree.h (TYPE_IS_SIZETYPE): New macro.
- 	(initialize_sizetype): New declaration.
- 	(enum size_type_kind): New type.
- 	(struct sizetype_tab): Deleted.
- 	(sizetype_tab): Now array; adjust sizetype macros.
- 	(size_diffop, size_int_type_wide): New functions.
- 	(size_int_wide): Change number of args and type; access macros changed.
- 	(ssize_int, sbitsize_int): New macros.
- 	* config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int.
- 	(ROUND_TYPE_SIZE_UNIT): New macro.
- 
- 2000-02-27  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
- 
- Sun Feb 27 07:44:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
- 	Mark as possibly unused.
- 
- 	* cse.c (cse_insn): Delete dead code involving tablejump.
- 	Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE.
- 
- 	* Makefile.in (libcpp.a): Start by deleting it.
- 
- 2000-02-27  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* cpplib.h (enum file_change_code): Added rename_file.
- 	* cpplib.c (do_line): If a filename is given, set file_change to
- 	rename_file.
- 	(output_line_command): If file_change is rename_file, always
- 	output a # directive with the file name.
- 
- 	* cpplib.c (do_pragma): Accept #pragma without consecutive token.
- 
- 2000-02-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE
- 	when copying a PARM_DECL or RESULT_DECL.
- 
- 2000-02-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fix-header.c (recognized_function): Also fix prototypes for
- 	functions taking "void".
- 
- 2000-02-26  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* reload1.c (do_output_reload): Check reg_reloaded_valid before
- 	looking at reg_reloaded_contents.
- 
- 2000-02-26  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (STMP_FIXINC): New toggle.
- 	(LIBGCC2_DEPS): Delete all references.
- 	(stmp-headers): Delete target.  All references either deleted
- 	or changed to stmp-int-headers.
- 	(all.cross): Don't depend on stmp-headers or STMP_FIXPROTO.
- 	(LIBCPP_OBJS): Take out cppalloc.o.
- 	(cppalloc.o): Delete target.
- 	(stmp-int-hdrs): Depend on $(STMP_FIXINC).
- 	(gen-protos, fix-header): Link with libiberty.a.
- 	* build-make: Don't change FIXINCLUDES.  Override STMP_FIXINC
- 	to empty.
- 
- 	* configure.in: Remove refs to strerror.
- 	* acconfig.h: Take out NEED_DECLARATION_STRERROR.
- 	* system.h: Take out strerror stanza.
- 
- 	* cpperror.c (my_strerror): Delete function.
- 	(cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror.
- 	* cppmain.c (main): Call xmalloc_set_program_name first thing.
- 	* cppalloc.c: Delete file.
- 	* gen-protos.c: Don't provide xrealloc.
- 
- 	* fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use
- 	xstrerror throughout.
- 
- 2000-02-26  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def (undefine_null): the bypass pattern needs to
- 	match for DOS headers, too.
- 	* fixinc/inclhack.sh,fixincl.x: Regenerate.
- 
- 2000-02-26  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/elfos.h (ASM_OUTPUT_LABELREF): Don't define.  The default
- 	is right for most ELF targets.
- 	* config/ns32k/ns32k.h (ASM_OUTPUT_LABELREF): Don't define.
- 	Let the default file use %U properly.
- 	* config/sh/elf.h (ASM_OUTPUT_LABELREF): Don't define.  Use the
- 	default.
- 
- 	* config/fp-bit.c (pack_d): Properly handle rounding of denormal
- 	numbers.
- 
- Sat Feb 26 09:39:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (documented_lang_options): Correct spelling error.
- 	(decode_d_option, decode_f_option, main): Likewise.
- 
- 	* toplev.c (print_time): Avoid SIGFPE when all_time is zero.
- 
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Use .set at
- 	to tell assembler it is permitted to expand large constants.
- 
- 2000-02-25  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* protoize.c: (AUX_INFO_SUFFIX): New macro.
- 	(aux_info_suffix): Use.
- 	(SAVE_SUFFIX): New macro.
- 	(save_suffix): Use.
- 	(munge_compile_parms): Fix typo in NUL. DJGPP supports /dev/null.
- 	(gen_aux_info_file): Use aux_info_suffix instead of ".X".
- 	(edit_file): Handle 8.3 restriction for DOS/DJGPP filenames.
- 
- 	* invoke.texi (Running Protoize): Update documentation.
- 
- 2000-02-25 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* i386/djgpp.h (CPP_PREDEFINES): Remove Unix defines.
- 
- 2000-02-25  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (find_last_value): Allow NULL_RTX for valid_to.
- 
- 2000-02-25  Anthony Green  <green@cygnus.com>
- 
- 	* toplev.c (rest_of_compilation): Rebuild jump labels if
- 	combine_instructions has created a new direct jump.
- 	* combine.c (try_combine): Add new_direct_jump_p argument.  Set it
- 	when appropriate.
- 	(combine_instructions): Call try_combine with new argument.
- 	Return non-null value when new direct jump instruction is created.
- 	* rtl.h: combine_instructions returns an int.
- 
- Fri Feb 25 19:49:08 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Replace the PATTERN of the insn with an new
- 	jump when changing a computed jump into a jump to a known
- 	target.
- 
- Fri Feb 25 19:22:44 2000  Graham Stott <grahams@rcp.co.uk>
- 
- 	* resource.c (mark_referenced_resources): Changed use SET_DEST (...)
- 	to XEXP (..., 0) on RTL nodes which are not SET or CLOBBER.
- 
- 	* i386.md (define_expand "clrstrsi"): Fix typo.
- 
- Fri Feb 25 18:49:39 2000  "K. Richard Pixley" <rich@microunity.com>
- 
- 	* rtl.texi: Fix typo.
- 
- Fri Feb 25 20:02:35 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (calc_live_regs): Multiply value assigned to *COUNT_PTR by
- 	UNITS_PER_WORD.  Change caller initial_elimination_offset.
- 	(rounded_frame_size): Take into account that argument pushed has
- 	changed.  Fix TARGET_ALIGN_DOUBLE problem.
- 
- 2000-02-25  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* haifa-sched.c (schedule_block): Explain the real reason
- 	we delete REG_SAVE_NOTEs on the first insn of a block.
- 	Don't delete REG_SAVE_NOTES for NOTE_INSN_SETJMP.
- 
- 2000-02-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* input.h (push_srcloc): New function.
- 	(pop_srcloc): Likewise.
- 	* toplev.c (push_srcloc): Define it.
- 	(pop_srcloc): Likewise.
- 
- 2000-02-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (life_analysis): When collecting reg info, clear
- 	regs_ever_live.
- 
- Thu Feb 24 22:06:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	Fix bug exposed by reload.c no longer rounding the frame
- 	size to BIGGEST_ALIGNMENT:
- 	* sh.c (rounded_frame_size): New function.
- 	(sh_expand_prologue, sh_expand_epilogue): Use it.
- 	(initial_elimination_offset): Likewise.
- 
- Thu Feb 24 20:04:11 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	Fix breakage from 6th Feb thread_prologue_and_epilogue_insns change:
- 	* sh-protos.h (sh_need_epilogue): Declare.
- 	* sh.c (sh_need_epilogue_known): New static variable.
- 	(sh_need_epilogue): New function.
- 	(function_epilogue): Clear need_epilogue_known.
- 	* sh.md (return): Split into expander / insn pattern.
- 	Make the expander conditional on ! sh_need_epilogue ().
- 
- 2000-02-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* machmode.h (get_mode_alignment): Declare.
- 	(GET_MODE_ALIGNMENT): Call it.
- 	* stor-layout.c (get_mode_alignment): New function. Make
- 	sure alignment is always power of 2.
- 
- 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* i386.h: Remove useless definition of "I386" and misleading
- 	comment above it.
- 
- 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tree.h (TREE_SET_PERMANENT): New macro.  Document conditions
- 	under which TREE_PERMANENT will be set.
- 	* tree.c (make_node, copy_node, make_tree_vec, tree_cons,
- 	build1): Use TREE_SET_PERMANENT.
- 	* print-tree.c (print_node): Don't report value of
- 	TREE_PERMANENT if ggc_p is true.
- 
- 	* c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to
- 	decide whether to give a type a new alias set.
- 	* objc/objc-act.c (build_objc_string_object): Never copy the string.
- 	* tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective
- 	of value of 'obstack'.
- 
- 
- 2000-02-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_process_after_reload): Split all insns.
- 
- 2000-02-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* cpplib.h (enum cpp_token): Added CPP_WCHAR and CPP_WSTRING.
- 	* cpplib.c (cpp_get_token): Produce them.
- 	* cppexp.c (cpp_lex): Handle them.
- 
- 2000-02-23  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (arm_comp_type_attributes): Simply and
- 	comment tests on type attributes.
- 
- Wed Feb 23 16:42:21 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* final.c (shorten_branches): Make value passed to LOOP_ALIGN
- 	conform to documentation.
- 	* sh.h (LOOP_ALIGN): If aligning loops, call sh_loop_align
- 	to check for special cases.
- 	* sh-protos.h (sh_loop_align): Declare.
- 	* sh.c (sh_loop_align): Define.
- 
- 2000-02-22  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/mips/mips.h (GAS_ASM_SPEC): Pass -mgp32/-mgp64 to gas.
- 	(SIZE_TYPE): Is 32 bits when using -mgp32.
- 	(PTRDIFF_TYPE): Ditto.
- 
- Wed Feb 23 07:26:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.c (init_output_buffer): Handle case of null PREFIX.
- 
- 2000-02-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* config/i386/i386.h: If IN_TARGET_LIBS is defined, make
- 	BIGGEST_FIELD_ALIGNMENT a constant.
- 
- 2000-02-21  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (output_line_info): Put the marker for the end of
- 	the line number info at the actual end.
- 	(gen_struct_or_union_type_die): Use decl_function_context
- 	to check for local classes.
- 	* dwarfout.c (output_type): Likewise.
- 
- Tue Feb 22 01:38:57 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Handle pass-by-reference
- 	for arguments with a mode, but no type.
- 	(FUNCTION_ARG_CALLEE_COPIES): Similarly.
- 	* t-pa (LIB2FUNCS_EXTRA): Add quadlib.asm.
- 	* pa/long_double.h: New file.
- 	* configure.in (hpux10, hpux11 configurations): hpux10 and hpux11
- 	both have 128bit wide long doubles.
- 	* configure: Rebuilt.
- 
- 2000-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* defaults.h (ASM_OUTPUT_ASCII): Constify a char*.
- 
- 	* flow.c (get_common_dest, chain_reorder_blocks, make_reorder_chain,
- 	fixup_reorder_chain, skip_insns_between_block): Add static prototypes.
- 	(life_analysis): Wrap variable `i' with macro ELIMINABLE_REGS.
- 
- 	* haifa-sched.c (rank_for_schedule): Don't cast away const-ness.
- 
- 	* integrate.c (compare_blocks, find_block): Likewise.
- 
- 	* rtl.c (fatal_with_file_and_line): Add ATTRIBUTE_PRINTF_2.
- 
- 	* rtl.h (set_file_and_line_for_stmt): Constify a char*.
- 
- 	* stmt.c (stmt_status, set_file_and_line_for_stmt,
- 	expand_asm_operands): Likewise.
- 
- Mon Feb 21 17:06:27 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* predict.c (estimate_probability): Added the pointer heuristic to
- 	the collection of static branch predictors.
- 
- 2000-02-21  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/mips/mips.h (ASM_SPEC): Add -mfix700.
- 	* invoke.texi (-mfix7000): Document.
- 
- 2000-02-21  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (init_output_buffer): Make it possible to output at
- 	least 32 characters if we're given a too long prefix.
- 
- 2000-02-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (initializer_constant_valid_p): Call
- 	lang_expand_constant to	simplify the constant.
- 
- 2000-02-20  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(stdio_va_list):
- 	typedef needs to be disabled.
- 	* fixinc/inclhack.sh: regen
- 	* fixinc/fixincl.x: regen
- 
- 2000-02-20  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* print-rtl.c (print_rtx): Don't print addresses when
- 	flag_dump_unnumbered.
- 
- 2000-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (sparc_output_scratch_registers): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	(sparc_va_arg, sparc_flat_output_function_prologue,
- 	sparc_flat_output_function_epilogue): Cast value to unsigned in
- 	comparison.
- 	(sparc_emit_float_lib_cmp): Remove unused variable `cmp'.
- 
- 	* sparc.md: Add default case in switch.
- 
- 2000-02-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-typeck.c (add_pending_init): Don't abort for multiple
- 	fields at the same offset.
- 	(pending_init_member): Test the correct member.
- 
- 2000-02-19  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node)
- 	instead of SImode.
- 	(start_catch_handler) : Same.
- 
- 2000-02-19  Brad Lucier  (lucier@math.purdue.edu)
- 
- 	* Makefile.in: Have flow.o depend on $(EXPR_H)
- 
- Sat Feb 19 18:43:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-common.c (decl_attributes): Set DECL_SIZE_UNIT.
- 	* c-decl.c (duplicate_decls, finish_enum): Likewise.
- 	(finish_decl): Remove -Wlarger-than code from here.
- 	* flags.h (id_clash_len): Now int.
- 	(larger_than_size): Now HOST_WIDE_INT.
- 	* fold-const.c (size_int_wide): No more HIGH parm; NUMBER is signed.
- 	Clean up checking to see if in table.
- 	(make_bit_field_ref): Remove extra parm to bitsize_int.
- 	* ggc-common.c (ggc_mark_tree_children): Mark DECL_SIZE_UNIT.
- 	* print-tree.c (print_node): Print DECL_SIZE_UNIT and TYPE_SIZE_UNIT.
- 	* stmt.c (expand_decl): Use DECL_SIZE_UNIT for stack checking size
- 	and for computing size of decl.
- 	* stor-layout.c (layout_decl): Set DECL_SIZE_UNIT.
- 	Move -Wlarger-than code to here.
- 	(layout_record): Remove extra arg to bitsize_int.
- 	Set TYPE_BINFO_SIZE_UNIT.
- 	(layout_union): Remove extra arg to bitsize_int.
- 	Use proper type for size of QUAL_UNION.
- 	(layout_type): Remove extra arg to bitsize_int.
- 	* toplev.c (id_clash_len): Now int.
- 	(larger_than_size): Now HOST_WIDE_INT.
- 	(decode_W_option): Clean up id-clash and larger-than- cases.
- 	* tree.c (get_identifier, maybe_get_identifier): Remove unneeded casts.
- 	(expr_align, case FUNCTION_DECL): DECL_ALIGN is not defined.
- 	* tree.h (BINFO_SIZE_UNIT, TYPE_BINFO_SIZE_UNIT, DECL_SIZE_UNIT): New.
- 	(struct tree_decl): New field size_unit.
- 	(size_int_wide): No HIGH operand; NUMBER is now signed.
- 	(size_int_2): Deleted.
- 	(size_int, bitsize_int): Don't use it and rework args.
- 	* varasm.c (assemble_variable, output_constructor): Use DECL_SIZE_UNIT.
- 
- Fri Feb 18 20:01:58 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/quadlib.asm (_U_QFgt, _U_Qfge): Fix flags for _U_Qfcmp call.
- 
- 2000-02-18  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* invoke.texi (Warning Options): Add an explanation of why
- 	you might want the -Wfloat-equal flag.
- 
- Fri Feb 18 20:08:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* bitmap.c (bitmap_operation): Avoid using -1 for index since unsigned.
- 	* cppinit.c (new_pending_define): Add cast to avoid warning.
- 	* expmed.c (extract_bit_field): Likewise.
- 	* flow.c (enum reorder_skip_type): New type.
- 	(skip_insns_between_blcok): New it.
- 	Rework to avoid warning about possibly undefined variable.
- 	* function.c (assign_parms): Make thisparm_boundary unsigned.
- 	* genrecog.c (write_switch): Cast XWINT result to int.
- 	* lcm.c: Many static fcns and vars now #ifdef OPTIMIZE_MODE_SWITCHING.
- 	* mips-tfile.c (init_file): Make two versions of FDR initializer:
- 	one for MIPS and one for Alpha.
- 	(get_tag, copy_object): Add casts to avoid warnings.
- 	* optabs.c (init_one_libfunc): Cast NAME to (char *).
- 	* reload.c (find_reloads): Make TYPE enum reload_type.
- 	* sbitmap.c (dump_sbitmap): J is unsigned; don't use "1L".
- 	* unroll.c (unroll_loop): Initialize UNROLL_NUMBER.
- 	* varasm.c (compare_constant_1): Add cast to avoid warning.
- 	* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Cast FUNC
- 	to (char *).
- 	(alpha_expand_unaligned_load, alpha_expand_unaligned_store):
- 	Cast switch operand of size to int.
- 	(alpha_expand_epilogue): Always initialize fp_offset and sa_reg.
- 	* config/alpha/alpha.h (INITIAL_ELIMINATION_OFFSET): Add abort
- 	in unhandled case.
- 
- 2000-02-18  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/elf.h (ASM_OUTPUT_ALIGN): Do not generate
- 	anything for an alignment of zero.
- 
- 	* config/arm/thumb.h (ASM_OUTPUT_ALIGN): Do not generate
- 	anything for an alignment of zero.
- 
- 2000-02-18  Martin von Loewis  <loewis@informatik.hu-berlin.de>
- 
- 	* gcc.texi (Bug Reporting): Refer to bugs.html.
- 	(Bug Lists): Likewise.
- 	* system.h (GCCBUGURL): New preprocessor define.
- 	* rtl.c (fancy_abort): Use it.
- 	* gcc.c (main): Likewise.
- 
- 2000-02-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (INSN_VOLATILE, SET_INSN_VOLATILE, uid_volatile): Remove.
- 	(life_analysis_1): Subsume into ...
- 	(life_analysis): ... here.  Force PROP_REG_INFO off after reload.
- 	Use update_life_info for the relaxation.
- 	(update_life_info): Update REG_BASIC_BLOCK for registers live on
- 	entry and regs_live_at_setjmp.
- 	(set_noop_p): Simplify.
- 	(notice_stack_pointer_modification_1): Renamed from s/_1//.
- 	(record_volatile_insns): Split into ...
- 	(delete_noop_moves): ... here,
- 	(notice_stack_pointer_modification): ... here,
- 	(insn_dead_p): ... and here.
- 	(propagate_block): Don't query INSN_VOLATILE.
- 	(mark_used_regs): Mind !PROP_REG_INFO.
- 	* toplev.c (rest_of_compilation): Call mark_constant_function here,
- 	not in life_analysis.
- 
- Fri Feb 18 01:29:22 EST 2000  John Wehle  (john@feith.com)
- 
- 	* loop.c (canonicalize_condition): New function,
- 	broken out of get_condition.
- 	(get_condition): Use it.
- 	* expr.h (canonicalize_condition): Prototype it.
- 
- 	* tree.h (tree_int_cst_msb): Declare.
- 	* tree.c (tree_int_cst_msb): New function.
- 
- 2000-02-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (set_file_and_line_for_stmt): Don't crash if cfun->stmt
- 	isn't set.
- 
- 	* invoke.texi (-fmessage-length=n): Document.
- 
- 2000-02-17  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* bitmap.c (bitmap_operation): Don't leak bitmap elements.
- 
- 2000-02-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Put a line note
- 	after the prologue.
- 
- 2000-02-17  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.c: Replace includes of system headers with
- 	#include "system.h".
- 
- 2000-02-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (alpha-linux*, alpha-netbsd) [extra_parts]:
- 	Add crtbeginS.o and crtendS.o.
- 	* alpha/elf.h (STARTFILE_SPEC): Use crtbeginS.o.
- 	(ENDFILE_SPEC): Use crtendS.o.
- 	* alpha/t-crtbe (crtbeginS.o, crtendS.o): New targets.
- 
- 	* alpha/crtbegin.asm (__do_frame_takedown): Merge into ...
- 	(__do_global_dtors_aux): ... here.  Call __cxa_finalize if
- 	shared and present.
- 	(__dso_handle): New variable.
- 	* alpha/crtend.asm (__do_global_ctors_aux): Remove runtime
- 	bias to __CTOR_END__.
- 
- 2000-02-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (s-crtS, crtbeginS, crtendS): Prefix usage with $(T).
- 
- Wed Feb 16 21:40:04 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* longlong.h (__clz_tab): Declare as static to match definition.
- 
- 2000-02-16 Mark Elbrecht <snowball3@bigfoot.com>
- 
- 	* i386/xm-djgpp.h (LIBSTDCXX): Delete. Moved to config/i386/djgpp.h.
- 	(XREF_FILE_NAME): Define.
- 
- 	* i386/djgpp.h (DATA_SECTION_ASM_OP): Define.
- 	(EH_FRAME_SECTION_ASM_OP): Define.
- 	(IDENT_ASM_OP): Define.
- 	(TEXT_SECTION_ASM_OP): Define.
- 	(CPP_SPEC): Define.
- 	(CTORS_SECTION_ASM_OP): Define.
- 	(CTOR_SECTION_FUNCTION): Use it.
- 	(DTORS_SECTION_ASM_OP): Define.
- 	(DTOR_SECTION_FUNCTION): Use it.
- 
- 2000-02-16  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* reg-stack.c (emit_swap_insn): Do not put a new insn before a
- 	NOTE_BASIC_BLOCK.
- 
- 	* flow.c (dump_regset, debug_regset, dump_bb, debug_bb,
- 	debug_bb_n): New functions.
- 	(dump_flow_info, print_rtl_with_bb): Use dump_regset.
- 	* basic-block.h: Prototype new functions.
- 
- Wed Feb 16 21:07:53 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* configure.in: Add support for avr target.
- 	* configure: Rebuilt.
- 
- 	* invoke.texi: Add AVR invocation docs.
- 	* install.texi: Add information about AVR.
- 	* md.texi: Add AVR constraint letters description.
- 	* extend.texi: Add description for AVR specific attributes.
- 
- 2000-02-16  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* fixinc/fixinc.svr4: Wrap byteorder.h with extern "C".
- 
- 2000-02-16  Nick Clifton  <nickc@cygnus.com>
- 
- 	* emit-rtl.c (emit_insn): Move RTL check into make_insn_raw.
- 	(make_insn_raw): Move RTL check here.
- 
- 2000-02-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* version.c: Include gansidecl.h and version.h.
- 
- 	* version.h: Wrap entire file in macro __GCC_VERSION_H__.
- 
- 	* configure.in (gcc_version): When setting, narrow search to
- 	lines containing `version_string'.
- 
- 	* Makefile.in (mainversion): Likewise.
- 	(GCC_H): New variable.
- 	(gcc.h): Delete target.
- 	(gcc.o, gccspec.o, cppspec.o): Depend on $(GCC_H), not gcc.h.
- 	(version.o): Depend on version.h.
- 	(dbxout.o): Don't depend on gcc.h.
- 
- Wed Feb 16 15:04:49 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 			  Michael Meissner  <meissner@cygnus.com>
- 
- 	* md.texi (Simple Constraints): Add item about whitespace.
- 	* genoutput.c (strip_whitespace): New.
- 	(scan_operands) [MATCH_OPERAND, MATCH_SCRATCH]: Call
- 	strip_whitespace for constraints.
- 	Test pointer using NULL, not 0.
- 
- 2000-02-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* cpplib.c (do_line): Pedwarn for #line > 32767.
- 
- 	* c-lex.c (readescape): Warn about '\x', but do not reject it.
- 
- 2000-02-15  Jonathan Larmour  <jlarmour@redhat.co.uk>
- 
- 	* gcc.c (default_compilers): Add new __GNUC_PATCHLEVEL__ define
- 	to default cpp spec.
- 	(do_spec_1): Add support for %v3 spec used by __GNUC_PATCHLEVEL__.
- 	* cpp.texi: Document __GNUC_PATCHLEVEL__.
- 	* cpp.1: Likewise.
- 
- 	* objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to
- 	default spec.
- 
- 2000-02-15  Denis Chertykov  <denisc@overta.ru>
- 
- 	* configure.in: Add support for avr target.
- 
- Wed Feb 16 03:21:43 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (OVERRIDE_OPTIONS): Don't set sh_addr_diff_vec_mode.
- 	(sh_addr_diff_vec_mode): Don't declare.
- 	* sh.c (sh_addr_diff_vec_mode): Delete.
- 
- Wed Feb 16 01:27:52 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (mulsi3_highpart): Add REG_EQUAL note to last insn.
- 
- Wed Feb 16 00:58:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (udivsi3_i1, divsi3_i1, umulhisi3_i, mulhisi3_i): Name.
- 	(smulsi3_highpart_i): Name.
- 	(udivsi3): Wrap emitted insns in REG_LIBCALL / REG_RETVAL notes.
- 	(divsi3, mulhisi3, umulhisi3, mulsidi3, umulsidi3): Likewise.
- 	(smulsi3_highpart, umulsi3_highpart): Likewise.
- 
- 	(mulsidi3_i, umulsidi3_i): Make rtl describe operation
- 	correctly independent of endianness.
- 	(mulsidi3, umulsidi3): Now define_insn.  Hide details that
- 	confuse the optimizers.
- 	(mulsidi3+1, umulsidi3+1): New define_split.
- 
- Tue Feb 15 23:22:26 2000  Andrew Haley  <aph@cygnus.com>
- 
- 	* config/sh/sh.md: Guard insn splits against illegal registers.
- 	* config/sh/sh.h: Correct comment about macros.
- 
- Tue Feb 15 22:30:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 			  Andrew MacLeod  <amacleod@cygnus.com>
- 
- 	* Makefile.in (lcm.o): Depend on insn-attr.h.
- 	* basic-block.h (optimize_mode_switching): Declare.
- 	* lcm.c (tm_p.h, insn-attr.h): #include.
- 	(seginfo, bb_info): New structs.
- 	(antic, transp, comp, delete, insert) : New file-scope static variables.
- 	(new_seginfo, add_seginfo, make_preds_opaque, reg_dies): New functions.
- 	(reg_becomes_live, optimize_mode_switching): Likewise.
- 	* tm.texi: Add description of mode switching macros.
- 	* toplev.c (rest_of_compilation): Call optimize_mode_switching.
- 
- 	* sh-protos.h (remove_dead_before_cse): Remove prototype.
- 	(fldi_ok, fpscr_set_from_mem): New prototypes.
- 	* sh.h (OPTIMIZATION_OPTION): Remove sh_flag_remove_dead_before_cse set.
- 	(CONST_DOUBLE_OK_FOR_LETTER_P, SECONDARY_INPUT_RELOAD_CLASS):
- 	Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
- 	(sh_flag_remove_dead_before_cse): Remove declaration.
- 	(NUM_MODES_FOR_MODE_SWITCHING, OPTIMIZE_MODE_SWITCHING): New macros.
- 	(MODE_USES_IN_EXIT_BLOCK, MODE_NEEDED, MODE_AT_ENTRY): Likewise.
- 	(MODE_PRIORITY_TO_MODE, EMIT_MODE_SET): Likewise.
- 	* sh.c (broken_move): Disable fldi for (TARGET_SH4 && ! TARGET_FMOVD).
- 	(barrier_align): Allow for JUMP_INSNS containing a parallel.
- 	(machine_dependent_reorg): Remove sh_flag_remove_dead_before_cse set.
- 	(fldi_ok): New function.
- 	(get_fpscr_rtx): Add fpscr_rtx as GC root.
- 	(emit_sf_insn): Only generate fpu switches when optimize < 1.
- 	(emit_df_insn): Likewise.
- 	(expand_fp_branch, emit_fpscr_use, remove_dead_before_cse): Delete.
- 	(sh_flag_remove_dead_before_cse): Delete.
- 	(get_free_reg, fpscr_set_from_mem): New functions.
- 	* sh.md (movdf, movsf): Remove no_new_pseudos code.
- 	(return): Remove emit_fpscr_use / remove_dead_before_cse calls.
- 
- 2000-02-15  Loren Rittle  <ljrittle@acm.org>
- 
- 	* ginclude/stddef.h: Correct usage of _BSD_RUNE_T_ for FreeBSD.
- 
- 2000-02-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (TREE_H, collect2.o, gcc.h, mips-tfile.o, cccp.o,
- 	cpphash.o, cppinit.o, protoize.o, unprotoize.o): Depend on version.h.
- 
- 	* cccp.c: Include version.h and/or don't declare `version_string'.
- 	* collect2.c: Likewise.
- 	* alpha.c: Likewise.
- 	* arm/aof.h: Likewise.
- 	* arm/coff.h: Likewise.
- 	* arm/elf.h: Likewise.
- 	* arm/pe.h: Likewise.
- 	* arm/tcoff.h: Likewise.
- 	* arm/telf.h: Likewise.
- 	* arm/tpe.h: Likewise.
- 	* arm/vxarm.h: Likewise.
- 	* convex/convex.c: Likewise.
- 	* i386/dgux.c: Likewise.
- 	* i386/sun386.h: Likewise.
- 	* m88k/m88k.c: Likewise.
- 	* mcore/mcore-pe.h: Likewise.
- 	* mips/mips.h: Likewise.
- 	* romp/romp.h: Likewise.
- 	* sh/sh.c: Likewise.
- 	* cpphash.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcc.h: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* protoize.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree.h: Likewise.
- 
- 	* version.c (version_string): Constify a char*.
- 
- 	* version.h: New file.
- 
- 2000-02-14  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Add mcore-elf and mcore-pe targets.
- 	* configure: Regenerate.
- 
- 	* NEWS: Add note that MCore port has been contributed.
- 
- 	* invoke.texi: Document command line switches for MCore port.
- 	* install.texi: Add MCore to list of supported targets.
- 
- 2000-02-14  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* collect2.c (main) [COLLECT_EXPORT_LIST]: If we have frames,
- 	then we will need to import the frame handling functions.
- 	(scan_prog_file) [COLLECT_EXPORT_LIST]: We will also need
- 	to import the frames themselves.
- 
- Mon Feb 14 13:31:01 2000  Stan Cox  <scox@cygnus.com>
- 			  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* basic_block.h: Added prototype for reorder_basic_blocks.
- 	* toplev.c: Changes to add -freorder-blocks and graph dump after
- 	block reordering is done.
- 	* flow.c (reorder_block_def): New structure for use during block
- 	reordering.
- 	(REORDER_BLOCK_*): New macros to access members of above structure.
- 	(skip_insns_between_block, get_common_dest, chain_reorder_blocks,
- 	make_reorder_chain, fixup_reorder_chain, reorder_basic_blocks): New
- 	functions for block reordering.
- 
- Mon Feb 14 11:24:44 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* gcc.texi (Passes): Fix typo.
- 	* md.texi (Standard Names): Ditto.
- 	* tm.texi (Storage Layout): Ditto.
- 
- 2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_define): Only free the old definition if it
- 	actually had one.
- 
- 2000-02-13   Neil Booth  <NeilB@earthling.net>
- 
- 	* cppfiles.c (read_and_prescan): When emitting deferred
- 	newlines, test speccase[] again instead	of checking each
- 	possible whitespace character in turn.  When we encounter \r,
- 	look behind for \n first, then ahead.
- 
- 2000-02-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cse.c (cse_altered): New internal flag.
- 	(cse_insn): Set it if we changed an insn.
- 	(cse_main): Clear cse_altered before each basic block.
- 	Only garbage collect if cse_altered is true afterward.
- 
- Sun Feb 13 14:12:28 2000  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* sparc/sol2.h (LIB_SPEC): Link -ldl if profiling.
- 
- Sun Feb 13 13:21:55 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (simplify_comparison): Fix typo.
- 
- Sun Feb 13 12:57:52 2000  Neil Booth <NeilB@earthling.net>
- 
- 	* prefix.c (concat, lookup_key): Use xmalloc and xrealloc
- 	consistently.
- 
- 2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* flow.c (flow_loop_tree_node_add): Use better algorithm by passing
- 	previously inserted node instead of root node.	Caller changed.
- 
- 2000-02-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* basic-block.h (FLOW_LOOP_FIRST_BLOCK, FLOW_LOOP_LAST_BLOCK): Delete.
- 
- 2000-02-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* crtstuff.c (__do_global_ctors_aux, __reg_frame_ctor,
- 	__dereg_frame_dtor): Add prototype argument.
- 
- 	* gthr-dce.h (__gthread_active_p, __gthread_once): Likewise.
- 
- 	* gthr-posix.h (__gthread_active_p, __gthread_once): Likewise.
- 
- 	* gthr-solaris.h (__gthread_active_p, __gthread_once): Likewise.
- 
- 	* gthr-vxworks.h (__gthread_once): Likewise.
- 
- 	* gthr-win32.h (__gthread_active_p, __gthread_once): Likewise.
- 
- Sat Feb 12 01:44:26 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_emit_restore_regs_using_mov): Break out from ...
- 	(ix86_expand_epilogue): ... here. Use mov instead of add to restore
- 	stack pointer in functions w/o saved registers, output LEAVE more often
- 	on TARGET_USE_LEAVE machines.
- 
- 2000-02-07  Dmitri Makarov  <dim@wrs.com> & Bernd Schmidt <bernds@redhat.com>
- 
- 	* config/arm/arm.c (arm_init_cumulative_args); New function:
- 	Initlaise the CUMULATIE_ARGS strcuture for a function
- 	definition.
- 	(arm_function_arg): New function: Determine where to place a
- 	function's argument.  Also handles deciding the function's
- 	call cookie.
- 	(current_file_function_operand): New function: Return true if
- 	the symbol is a function which has already been compiled.
- 	(arm_is_long_call_p): New function: Return true if the
- 	indicated function should be called via a long call.
- 	(arm_valid_type_attribute_p): New function: Return true if the
- 	attribute is a valid, arm specific, attribute.
- 	(arm_comp_type_attribute): New function: Return true if the
- 	two types have compatible, arm specific, attributes.
- 
- 	* config/arm/arm.h (CUMULATIVE_ARGS): Redefine to be a
- 	structure.
- 	(FUNCTION_ARG): Redefine to call arm_function_arg.
- 	(FUNCTION_ARG_PARTIAL_NREGS): Redefine to use correct
- 	structure field.
- 	(INIT_CUMULATIVE_ARGS): Redefine to call
- 	arm_init_cumulative_args.
- 	(FUNCTION_ARG_ADVANCE): Redefine to use correct structure
- 	field.
- 	(SETUP_INCOMING_VARARGS): Redefine to use correct structure
- 	field.
- 	(ARM_MARK_NEARBY_FUNCTION): New macro: Mark already compiled
- 	functions.
- 	(ENCODE_SECTION): Add call to ARM_MARK_NEARBY_FUNCTION.
- 	(VALID_MACHINE_TYPE_ATTRIBUTE): Define.
- 	(COMP_TYPE_ATTRIBUTES): Define.
- 
- 	* config/arm/arm.md (call): Call arm_is_long_call_p to decide
- 	if a long call is needed.
- 	(call_value): Call arm_is_long_call_p to decide if a long call
- 	is needed.
- 	(call_symbol): Call arm_is_long_call_p to decide if a long call
- 	is needed.
- 
- 	* config/arm/arm-protos.h: Add prototype for arm_is_long_call_p.
- 
- 2000-02-11  Denis Chertykov  <denisc@overta.ru>
- 
- 	* README.AVR: New file with information about the avr ports.
- 	* config/avr: New directory with avr port files.
- 
- 2000-02-11  Andreas Jaeger  <aj@suse.de>
- 
- 	* fixinc/Makefile.in (FIXINC_DEFS): Remove unneeded @fixinc_defs@.
- 
- 2000-02-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c: Fix formatting, update commentary.
- 	(dump_definition): Take three separate arguments instead of a
- 	MACRODEF structure argument.
- 	* cpphash.h: Update prototype of dump_definition.
- 	* cppinit.c (cpp_finish): Update call of dump_definition.
- 
- 	* cpplib.c (do_define): Always create new hash entry with
- 	T_MACRO type.  Remove redundant check for redefinition of
- 	poisoned identifier.  Update call of dump_definition.
- 	(do_undef): Don't call check_macro_name.  Rename sym_length to
- 	len.
- 	(do_error, do_warning): Don't use copy_rest_of_line or
- 	SKIP_WHITE_SPACE.
- 	(do_warning): Don't use pedwarn for the actual warning,
- 	only the notice about its not being in the standard.  (Fixes
- 	bug with #warning in system headers.)
- 	(do_ident): Stricter argument checking - accept only a single
- 	string after #ident.  Also, macro-expand the line.
- 	(do_xifdef): Use cpp_defined.  De-obfuscate.
- 
- 	(do_pragma): Split out specific pragma handling to separate
- 	functions.  Use get_directive_token.  Update commentary.  Do
- 	not pass on #pragma once or #pragma poison to the front end.
- 	(do_pragma_once, do_pragma_implementation, do_pragma_poison,
- 	do_pragma_default): New.
- 
- Feb 11 12:30:53 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (jump_optimize_1): The first operand in a relational
- 	can be a CONST_INT.
- 	* optabs.c (emit_conditional_move): Handle relationals which
- 	have a known true/false result.
- 
- 2000-02-11  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Don't insert
- 	a RETURN insn into a block which already ends with a jump.
- 
- 2000-02-11  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* haifa-sched.c (BUF_LEN): Increase a lot.
- 
- 2000-02-11  Nick Clifton  <nickc@cygnus.com>
- 
- 	* configure.in: Add tm_p_file specification for thumb targets.
- 	* configure: Regenerate.
- 
- 	* config/arm/thumb-protos.h: New file: Prototypes for exported
- 	functions defined in thumb.c.
- 
- 2000-02-11  Robert Lipe  <robertl@sco.com>
- 
- 	* Makefile.in (bootstrap-lean): Remove additional files.
- 	(bootstrap2-lean): Likewise.
- 	(VOL_FILES): List of files for above.
- 
- 2000-02-11  Nathan Sidwell  <nathan@acm.org>
- 
- 	* cpphash.c (special_symbol): Remove spurious argument to
- 	cpp_lookup.
- 
- 2000-02-11  Joel Sherrill (joel@OARcorp.com>
- 
- 	* configure.in: (i*86-*-rtems*): Swapped elf and coff
- 	stanzas.
- 	* configure: Rebuilt.
- 
- 2000-02-11  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* pa-protos.h: Wrap function_arg_padding in TREE_CODE #ifdef.
- 
- Fri Feb 11 02:59:05 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c, pa.h: Remove trigraph sequences within comments.
- 
- Fri Feb 11 02:51:56 2000  Pavel Roskin <pavel_roskin@geocities.com>
- 
- 	* invoke.texi (PPC Options): -mno-new-mnenomics -> -mold-mnemonics.
- 
- Fri Feb 11 02:48:30 2000  Brad Lucier  (lucier@math.purdue.edu)
- 
- 	* sbitmap.h: Make SBITMAP_ELT_BITS unsigned.
- 
- 2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (fp_zero_operand): Check for CONST_DOUBLE.
- 
- 2000-02-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (ASM_GLOBALIZE_LABEL): Use c4x_global_label.
- 	(ASM_OUTPUT_EXTERNAL): Use c4x_external_ref.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
- 	(ASM_FILE_END): Use c4x_file_end.
- 	* config/c4x/c4x.c (c4x_global_label): New function.
- 	(c4x_external_ref, c4x_file_end): Likewise.
- 
- 	* config/c4x/c4x-protos.h (c4x_global_label): Add prototype.
- 	(c4x_external_ref, c4x_end_file): Likewise.
- 
- 2000-02-10  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c: Don't include cpphash.h.
- 	(parse_charconst, cpp_lex): Use cpp_defined.
- 	(cpp_lex): Use get_directive_token throughout.  Remove
- 	unnecessary cases from switch.  Move assertion-handling code
- 	down to OTHER case.
- 	(cpp_parse_expr): If we see '+' or '-', check the context to
- 	determine if they are unary or binary operators.  Streamline
- 	the jumps a bit.  Do not call skip_rest_of_line.
- 
- 	* cpplib.c: Make skip_rest_of_line and cpp_skip_hspace
- 	static.  Export get_directive_token.  Update commentary.
- 	(cpp_defined): New function.
- 	(do_define): Remove reference to T_PCSTRING.  Call
- 	free_definition to release memory for old definition, when
- 	redefining a macro.
- 	(eval_if_expression): Set only_seen_white to 0 before calling
- 	cpp_parse_expr.  Call skip_rest_of_line after it returns.
- 	(cpp_read_check_assertion): Don't preserve a pointer into the
- 	token buffer across a call to cpp_get_token.
- 
- 	* Makefile.in (cppexp.o): Don't depend on cpphash.h.
- 	* cppfiles.c (redundant_include_p): Use cpp_defined.
- 	* cpphash.c (free_definition): New function.
- 	(delete_macro): Use it.  Update commentary.
- 	* cpphash.h: Typedef HASHNODE here.  Prototype cpp_lookup and
- 	free_definition.
- 	* cpplib.h: Don't typedef HASHNODE here. Delete T_PCSTRING
- 	from enum node_type.  Prototype cpp_defined and get_directive_token.
- 	Don't prototype cpp_lookup, skip_rest_of_line, or cpp_skip_hspace.
- 
- 	* fix-header.c (check_macro_names): Use cpp_defined.
- 	(read_scan_file): Set inhibit_warnings and inhibit_errors in
- 	the options structure.
- 
- 2000-02-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* c-pragma.c (maximum_field_alignment): Remove duplicate declaration.
- 
- 2000-02-10  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Check TREE_CODE (origin)
- 	rather than die->die_tag.
- 
- Thu Feb 10 16:26:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (make_extraction, force_to_mode): Avoid warning on
- 	mixed-signedness conditionals.
- 	(make_field_assignment, nonzero_bits): Likewise.
- 	* expmed.c (store_fixed_bit_field): ALIGN arg now unsigned.
- 	(store_split_bit_field, extract_split_bit_field): Likewise.
- 	(extract_fixed_bit_field, store_bit_field,
- 	* expr.c: Change alignment to be unsigned everywhere.
- 	(move_by_pieces, store_constructor_field, store_constructor):
- 	Alignment parm is unsigned.
- 	(emit_block_move, emit_group_load, emit_group_store): Likewise.
- 	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
- 	(do_compare_rtx_and_jump): Likewise.
- 	(move_by_pieces_ninsns, clear_by_pieces): Likewise.
- 	Compare align with GET_MODE_ALIGNMENT.
- 	(expand_expr_unaligned): Pointer to alignment is pointer to unsigned.
- 	(get_inner_reference): Likewise.
- 	(copy_blkmode_from_reg, emit_push_insn): Remove unneeded casts.
- 	(expand_assignment): Local vars for alignment now unsigned.
- 	(store_constructor, store_field, expand_expr, do_jump): Likewise.
- 	(do_compare_and_jump): Likewise.
- 	(store_field): Call new function expr_align.
- 	* expr.h (emit_block_move, emit_group_load, emit_group_store):
- 	Alignment arg now unsigned.
- 	(clear_storage, emit_push_insn, compare_from_rtx): Likewise.
- 	(do_compare_rtx_and_jump, store_bit_field): Likewise.
- 	(extract_bit_field): Likewise.
- 	* fold-const.c (add_double): Add cast to eliminate signedness warning.
- 	* machmode.h (GET_MODE_ALIGNMENT): Result is unsigned.
- 	(get_best_mode): Alignment arg is unsigned.
- 	* rtl.h (move_by_pieces): Likewise.
- 	* store-layout.c (maximum_field_alignment, set_alignment):
- 	Now unsigned.
- 	(layout_decl): Alignment arg is now unsigned.
- 	Remove unneeded casts.
- 	(layout_record, layout_union, layout_type): Remove unneeded casts.
- 	Local alignment variables now unsigned.
- 	(get_best_mode): Alignment arg now unsigned.
- 	* tree.c (expr_align): New function.
- 	* tree.h (expr_align): Likewise.
- 	(maximum_field_alignment, set_alignment): Now unsigned.
- 	(get_inner_reference): Alignment argument is now pointer to unsigned.
- 	* varasm.c (assemble_variable): Add cast to eliminate warning.
- 
- Thu Feb 10 12:56:47 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expmed.c (store_bit_field): If op0 and fieldmode are the same size,
- 	then store directly into op0.
- 
- 	* calls.c (expand_call): When emitting a NOTE_INSN_SETJMP, search for
- 	the CALL_INSN, and emit the note immediately after it.
- 
- 2000-02-10  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/thumb.md (epilogue): Include a (return) in the
- 	generated insn, and emit it using emit_jump_insn not
- 	emit_insn.
- 
- Thu Feb 10 18:28:59 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (assign_temp): Change zero-sized arrays to size 1.
- 	* integrate.c (expand_inline_function): Do not update
- 	stack_alignment_needed
- 	* i386.c (compute_frame_size): Remove #ifdef PREFERRED_FRAME_BOUNDARY,
- 	add some sanity checking, remove optimization for function with
- 	zero frame size.
- 
- 2000-02-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* flow.c (mark_regs_live_at_end): Delete unused variables.
- 
- 	* ggc-page.c (ggc_page_print_statistics): bzero -> memset.
- 
- 	* integrate.c (copy_rtx_and_substitute): Wrap variable `alignment'
- 	in macro FRAME_GROWS_DOWNWARD.
- 
- 	* stmt.c (expand_end_bindings): Delete unused variable.
- 
- 	* unroll.c (iteration_info): Mark parameter `loop' with
- 	ATTRIBUTE_UNUSED.
- 
- 2000-02-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* fixinc/server.c (load_data): Return NULL if the marker line is
- 	not found.
- 	(run_shell): If load_data returns NULL, retry the command once, in
- 	a new shell.
- 
- 	* configure: Rebuilt.
- 
- 2000-02-09  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc/fixincludes:  ** DELETED **
- 	* gcc/fixcpp:  ** DELETED **
- 	* gcc/fixinc-nt.sed:  ** DELETED **
- 	* gcc/just-fixinc:  ** DELETED **
- 	* gcc/Makefile.in:  Removed out-dated commentary
- 	* gcc/configure.in: Removed fast-fixincludes disablement.
- 	* MAINTAINERS(Ian Taylor) moved to "Write after approval" group.
- 
- 2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
- 	* function.c (thread_prologue_and_epilogue_insns): Uncomment
- 	last change.
- 
- 2000-02-09  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (delete_insn): Don't delete user labels at -O0.
- 
- 2000-02-09  Robert Lipe  <robertl@sco.com>
- 
- 	* Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
- 	Don't link with HOST_LIBS.
- 
- 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in: Correct --help text for --with-dwarf2.
- 	Put tm-dwarf2.h after other tm files, if it's requested.
- 	* configure: Regenerate.
- 	* config/tm-dwarf2.h: #undef PREFERRED_DEBUGGING_TYPE before
- 	defining it.
- 
- 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h: Provide HASHNODE typedef and forward decl of
- 	struct hashnode only.  Kill cpp_hashnode typedef.  MACRODEF,
- 	DEFINITION, struct hashnode, struct macrodef, struct
- 	definition, scan_decls prototype, default defn of
- 	INCLUDE_LEN_FUDGE moved elsewhere.
- 
- 	* cpphash.h: MACRODEF, DEFINITION, struct macrodef, struct
- 	definition, and struct hashnode moved here. Remove the unused
- 	'predefined' field from struct definition.  Replace the 'args'
- 	union with its sole member.  All users updated (cpphash.c).
- 	Delete HASHSTEP and MAKE_POS macros, and hashf prototype.  Add
- 	multiple include guard.
- 
- 	* cpphash.c (hashf): Make static; use better algorithm; drop
- 	HASHSIZE parameter; return an unsigned int.
- 	(cpp_lookup): Drop HASH parameter.  PFILE parameter is
- 	used. Calculate HASHSIZE modulus here.
- 	(cpp_install): Drop HASH parameter. Calculate HASHSIZE modulus
- 	here.
- 	(create_definition): Drop PREDEFINITION parameter.
- 	* cpplib.c (do_define): Don't calculate a hash value here.
- 	Don't pass (keyword == NULL) to create_definition.
- 
- 	* scan.h: Prototype scan_decls here.
- 	* cppfiles.c: Move INCLUDE_LEN_FUDGE default defn here.
- 	* cppexp.c, cppfiles.c, cppinit.c, cpplib.c, fix-header.c: All
- 	callers of cpp_lookup and cpp_install updated.
- 
- 	* cpphash.c (macarg): Hoist all the flag diddling out of the
- 	function...
- 	(macroexpand): ... and out of the loop that calls macarg.
- 	Skip over the initial paren before macro arguments with
- 	cpp_get_non_space_token; point may be some distance before
- 	that paren.  Abort if it's not there.
- 
- 	* cpplib.c (parse_clear_mark): Delete function.
- 	(parse_set_mark, parse_goto_mark): Make static.
- 	(ACTIVE_MARK_P): New macro.
- 	(skip_block_comment, skip_line_comment): Do not bump the line
- 	if ACTIVE_MARK_P is true.
- 	(cpp_pop_buffer): The buffer to be popped may not have an
- 	active mark.
- 	(cpp_get_token): When looking for the initial paren before
- 	macro arguments, only set a mark in a file buffer, Always
- 	return to that mark before proceeding to call macroexpand or
- 	return a NAME token.
- 
- 	* cpplib.h: Remove prototypes of parse_set_mark,
- 	parse_clear_mark, parse_goto_mark.
- 	(struct cpp_options): Rename 'put_out_comments' to
- 	'discard_comments' and invert its sense.
- 	* cppinit.c, cpphash.c, cpplib.c: All users of
- 	put_out_comments changed to use discard_comments, with
- 	opposite sense.
- 
- 2000-02-09  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Don't delete
- 	the edge from a block that both jumps and falls through to the
- 	fallthru block.
- 
- 2000-02-09  Scott Bambrough  <scottb@netwinder.org>
- 
- 	* config/arm/arm.md (movsi): In PIC mode, make sure that a
- 	constant source address is legitimate.
- 
- 2000-02-09  Philip Blundell  <pb@futuretv.com>
- 
- 	* config/arm/arm.c (legitimize_pic_address): Handle LABEL_REF
- 	correctly.
- 
- 	* config/arm/arm.h (LEGITIMATE_CONSTANT_P): Allow anything when
- 	generating PIC.
- 	(LEGITIMATE_PIC_OPERAND): Disallow references to labels.
- 
- 2000-02-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (cpp_define, cpp_undef): Make sure the stacked buffer
- 	ends with a newline and a NUL.  Don't be so clever manipulating
- 	strings.
- 
- Wed Feb  9 14:18:08 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload1.c (reload) Align stack frame to cfun->stack_alignment_needed,
- 	not to BIGGEST_ALIGNMENT.
- 
- 2000-02-08  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* dwarf2.h (DW_CFA_GNU_negative_offset_extended): New constant.
- 	* dwarf2out.c (dwarf_cfi_name): Print name of new constant.
- 	(reg_save): Use DW_CFA_GNU_negative_offset_extended when needed.
- 	(output_cfi): Handle output of DW_CFA_GNU_negative_offset_extended.
- 	* frame.c (execute_cfa_insn): Handle
- 	DW_CFA_GNU_negative_offset_extended.
- 
- 2000-02-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (tidy_fallthru_edges): Split out from ...
- 	(delete_unreachable_blocks): ... here.
- 	(find_basic_blocks): Use it.
- 
- Tue Feb  8 15:51:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stmt.c (expand_decl): Do set RTX_UNCHANGING_P for TREE_READONLY.
- 
- 2000-02-08  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (GEN_PROTOS_OBJS): Remove libcpp.a.
- 	(gen_protos.o): Don't depend on cpplib.h or cpphash.h.
- 	(fix-header.o): Don't depend on cpphash.h.
- 
- 	* scan.c (hashstr): New function.
- 	* scan.h: Prototype it.
- 	* fix-header.c: Don't include cpphash.h.  Use hashstr.
- 	* gen-protos.c: Don't include cpphash.h or cpplib.h.  Use
- 	hashstr.  Report hash table statistics.  Add private
- 	definition of xrealloc.
- 
- 2000-02-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386.h (TARGET_SWITCHES): Fix typo in option name.
- 
- 2000-02-08  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Don't replace
- 	jumps with returns unless they are jumps to the fallthru block.
- 
- Tue Feb  8 07:53:55 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (addqi3_cc): Fix constraints.
- 
- Tue Feb  8 01:39:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* function.c (emit_return_into_block): Wrap in #ifdef HAVE_return.
- 
- 2000-02-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cpplib.c (cpp_get_token): Call CPP_BUMP_LINE after reading a
- 	carriage return after a macro name.
- 
- 2000-02-07  Fred Fish  <fnf@be.com>
- 
- 	* i386/beos-elf.h: (ASM_IDENTIFY_GCC): Define to nothing
- 	so the gcc2_compiled symbol doesn't confuse BeOS debuggers.
- 
- 2000-02-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (deps_output): Count spacers in deps_column.
- 
- 2000-02-07  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (initialize_dependency_output): If there is no
- 	suffix, don't try to look for known suffixes.  Use strrchr.
- 	(cpp_start_read): Remove duplicate initialization.
- 
- Mon Feb  7 18:36:41 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (compute_argument_block_size): New argument
- 	preferred_stack_boundary.
- 	(expand_call): update cfun->preferred_stack_boundary, update call of
- 	compute_argument_block_size
- 	(emit_library_call): Increate cfun->preferred_stack_boundary
- 	to PREFERRED_STACK_BOUNDARY
- 	(emit_library_call_value): Likewise.
- 	* explow.c (allocate_dynamic_stack_spave): Likewise.
- 	* function.c (prepare_function_start): Set
- 	cfun->preferred_stack_boundary
- 	* function.h (struct function): Add preferred_stack_boundary field.
- 	* integrate.c (expand_inline_function): Update
- 	cfun->preferred_stack_boundary and cfun->stack_alignment_needed.
- 	(copy_rtx_and_substitute): Align frame to stack_alignment_needed only.
- 	* i386.c (compute_frame_size): Use cfun->preferred_stack_boundary.
- 
- 2000-02-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (my_strerror, cpp_error, cpp_error_with_line,
- 	cpp_error_from_errno, cpp_warning, cpp_warning_with_line,
- 	cpp_pedwarn, cpp_pedwarn_with_line,
- 	cpp_pedwarn_with_file_and_line): Move to cpperror.c.
- 	(cpp_print_file_and_line, v_cpp_error, v_cpp_warning,
- 	v_cpp_error_with_line, v_cpp_warning_with_line,
- 	cpp_message_from_errno, cpp_perror_with_name): Delete.
- 
- 	* cpperror.c (cpp_print_containing_files): Take starting
- 	buffer as argument.
- 	(cpp_file_line_for_message): Rename to cpp_print_file_and_line.
- 	(v_cpp_message): Now called directly by all entry points.
- 	Remove -1 case.
- 	(cpp_pfatal_with_name, cpp_message): Delete.
- 	(cpp_notice_from_errno, cpp_ice): New functions.
- 	(cpp_notice): Is now for reporting error conditions, just
- 	without an associated file.
- 	(cpp_error, cpp_error_with_line): Don't do anything if
- 	opts->inhibit_errors is on.
- 	(cpp_pedwarn_with_file_and_line): Take column argument also.
- 
- 	* cpplib.h: Update prototypes of exported functions.
- 	(struct cpp_options): Add inhibit_errors.
- 
- 	* cppalloc.c, cppfiles.c: Use fprintf not cpp_notice for
- 	non-error messages.  Include intl.h.
- 
- 	* cppinit.c, cppmain.c: Likewise.  Also, use
- 	cpp_notice_from_errno instead of cpp_perror_with_name or
- 	cpp_pfatal_with_name, and cpp_notice instead of cpp_message.
- 
- 	* cppexp.c, cpphash.c, cppinit.c, cpplib.c: Use cpp_ice to
- 	report internal errors.
- 
- 	* cpplib.c (do_define): Switch bcopy to memcpy.
- 	Give cpp_pedwarn_with_file_and_line a dummy column argument.
- 
- 	* cpplib.c (copy_rest_of_line): Revert previous change: don't
- 	bail out early if we hit a line comment.
- 
- 2000-02-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (flow_delete_insn, make_edge, remove_edge): Export.
- 	* basic-block.h: Declare them.
- 	* emit-rtl.h (active_insn_p): New.
- 	(next_active_insn, prev_active_insn): Use it.
- 	* rtl.h: Declare it.
- 	* function.c (emit_return_into_block): New.
- 	(thread_prologue_and_epilogue_insns): Insert return insns instead
- 	of epilogues when possible.
- 	* jump.c (jump_optimize_1): Remove code to insert a return insn
- 	on the fallthru to the exit block.
- 
- 	* i386.c (ix86_can_use_return_insn_p): Fail for large poped args
- 	and for non-empty stack frames.
- 	* i386.md (return): Expand to return-pop as needed.
- 
- 2000-02-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Canonicalize
- 	constant to op1 for testing.
- 
- 2000-02-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*ldi_on_overflow): New pattern.
- 	(fixuns_truncqfqi2): Use it.
- 
- 2000-02-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (ix86_agi_dependant): Handle pro_epilogue_adjust_stack
- 	as a TYPE_LEA insn.
- 
- 	* i386.md (widening and peepholes): Mask the constant instead of
- 	using gen_lowpart.
- 
- 2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (read_and_prescan) [case SPECCASE_QUESTION]: Bump
- 	input pointer before possibly branching off to the backslash
- 	code.
- 	* cpphash.c (macroexpand): Correctly delete \r escapes when
- 	stringifying parameters.
- 	* cpplib.c (copy_rest_of_line): Go directly to skip_block_comment
- 	if we can; bail out early if we hit a line comment.
- 	(handle_directive): Treat '# 123' in an .S file just like
- 	'# <punctuation>'.  Discard the shifted '#' if we hit '#\n'.
- 	Return 1 for '# not_a_directive'.
- 	(get_directive_token): Pop macro buffers here, so that
- 	cpp_get_token can't sneakily move past a newline.
- 	Add sanity checks.
- 	(cpp_get_token): goto randomchar if handle_directive returns 0.
- 
- 	* cppalloc.c: Update copyright.
- 	* cpplib.c: Merge all the static function prototypes into one
- 	block.
- 	* cpplib.h: Remove #if 0 block.
- 
- 	* cpperror.c: Remove #ifdef EMACS block.
- 	* cppmain.c: Likewise.
- 	* cpphash.c: Remove #if 0 blocks.
- 	* cppinit.c: Remove #if 0 blocks, and the -lint option.
- 	* cpplib.c: Remove #if 0 blocks and code referencing
- 	pcp_inside_if or for_lint.  Remove duplicate error message.
- 	Fix error messages for #else after #else or #elif.  Reformat.
- 	Remove archaic TODO list.
- 	* cpplib.h: Remove pcp_inside_if and for_lint flags.
- 
- 2000-02-05  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* i386/osf1elf.h: Add missing backslash to multiline string.
- 
- 2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* longlong.h [sparc] (udiv_qrnnd): Avoid stringifying macro arg.
- 
- 2000-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-common.o): Depend on $(EXPR_H).
- 
- 	* c-common.c: Include expr.h.
- 
- 	* c-pragma.c (mark_align_stack): Add prototype.
- 
- 	* caller-save.c (add_stored_regs): Likewise.
- 
- 	* combine.c (record_promoted_value): Likewise.
- 
- 	* i386.c (ix86_sched_reorder_pentium, ix86_sched_reorder_ppro):
- 	Likewise.
- 
- 	* cppinit.c (new_pending_define): Likewise.
- 
- 	* cpplib.c (skip_block_comment, skip_line_comment): Likewise.
- 
- 	* dwarf2out.c (save_rtx, splice_child_die, reverse_die_lists,
- 	AT_class, AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, AT_loc,
- 	AT_addr, AT_lbl, get_AT_ref, free_AT, free_die, local_scope_p,
- 	class_scope_p): Likewise.
- 
- 	* dwarf2out.h (dwarf2out_set_demangle_name_func,
- 	dwarf2out_add_library_unit_info): Likewise.
- 
- 	* ggc.h (ggc_page_print_statistics): Likewise.
- 
- 	* haifa-sched.c (propagate_deps): Likewise.
- 
- 	* reg-stack.c (next_flags_user, record_label_references): Likewise.
- 
- 	* rtl.h (set_stack_check_libfunc): Likewise.
- 
- 	* toplev.h (set_fatal_function): Likewise.
- 
- 	* toplev.c (set_fatal_function): Delete prototype.
- 
- 	* diagnostic.c: Deconstify functions returning malloc'ed ptrs.
- 
- 2000-02-05  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* ginclude/ppc-asm.h (FUNC_START): Use USER_LABEL_PREFIX.
- 	(FUNC_END): Likewise.
- 
- 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* caller-save.c: Include tm_p.h.
- 
- 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* Makefile.in (libgcc.a): Add $(LIBGCC1) to libgcc.a after $(LIBGCC2).
- 
- 2000-02-04  Neil Booth  <NeilB@earthling.net>
- 
- 	* cccp.c (main): Check 'dir' for a NULL pointer before passing
- 	it to strcmp.
- 
- 2000-02-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* recog.h: Remove NO_MD_PROTOTYPES ifdefs.
- 	* genflags.c: Use the max_operand_1 logic from genemit.c to
- 	calculate how many arguments gen_insn prototypes have.  Remove
- 	NO_MD_PROTOTYPES ifdefs from the generated file.
- 	* genoutput.c: Don't define NO_MD_PROTOTYPES in the generated
- 	file.  Cast gen_insn initializers to insn_gen_fn.
- 	* config/alpha/vms.h: Don't define NO_MD_PROTOTYPES.
- 	* gcc.texi: Remove documentation of NO_MD_PROTOTYPES.
- 
- 2000-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/Makefile.in (HDR): Add machname.h.
- 	(clean): Likewise.
- 
- 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (c4x_compare_op0, c4x_compare_op1): Move ...
- 	(c4x_regclass_map, c4x_caller_save_map, c4x_rpts_cycles): Ditto.
- 	(c4x_cpu_version): Ditto.
- 	* config/c4x/c4x-protos.h: ... here.
- 
- 2000-02-04  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c (add_abstract_origin_attribute): Don't call
- 	gen_abstract_function on our context if we're a nested function.
- 
- 2000-02-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (fixuns_truncqfqi2): Rewrite.
- 	* config/c4x/libgcc.S (ufix_truncqfhi2n): Fix.
- 
- 2000-02-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/genfixes(machname.h):
- 	Move the functionality from gen-machine.h into this file.
- 	UNdef MN_NAME_PAT if there are no names to change.
- 	Also, be a little kinder when AutoGen is not present.
- 
- 	* fixinc/Makefile.in(machname.h):
- 	Change the generation rule to use genfixes.
- 
- 	* fixinc/fixfixes.c(machine_name):
- 	machine_name_fix's functionality now dependent upon whether
- 	MN_NAME_PAT is defined.
- 
- 	* fixinc/fixtests.c(machine_name):
- 	ditto.
- 
- 	* fixinc/fixlib.c(mn_get_regexps): conditional on definition
- 	of MN_NAME_PAT.
- 
- 	* fixinc/fixlib.h(mn_get_regexps):
- 	ditto
- 
- 	* fixinc/gen-machine.h: DELETED
- 
- 2000-02-04  Jan Hubicka  <jh@suse.cz>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (SAVE_REGS_FIRST): Remove.
- 	(ix86_initial_elimination_offset): Handle only SAVE_REGS_FIRST mode.
- 	(ix86_compute_frame_size): Likewise.
- 	(ix86_expand_prologue): Likewise.  Use pro_epilogue_adjust_stack.
- 	(ix86_emit_restore_regs): Remove.
- 	(ix86_emit_epilogue_esp_adjustment): Use pro_epilogue_adjust_stack
- 	when a frame pointer is in use.
- 	(ix86_expand_epilogue): Handle only SAVE_REGS_FIRST mode.  Use mov
- 	instead of pop to restore a register when profitable; emit leave
- 	when profitable.
- 	(ix86_attr_length_default): Handle pro_epilogue_adjust_stack
- 	as a TYPE_LEA insn.
- 	(ix86_adjust_cost): Handle pro_epilogue_adjust_stack as TYPE_ALU.
- 	* i386.md (prologue_allocate_stack): Remove.
- 	(epilogue_deallocate_stack): Remove.
- 	(pro_epilogue_adjust_stack): New.
- 
- 2000-02-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (diddle_return_value): Rework to use a callback function.
- 	Use current_function_return_rtx if it's been set up.
- 	(do_clobber_return_reg, clobber_return_register): New.
- 	(do_use_return_reg, use_return_register): New.
- 	(expand_function_end): Use them.
- 	* stmt.c (expand_null_return): Likewise.
- 	* function.h: Declare them.
- 	* flow.c (mark_regs_live_at_end): Use diddle_return_value.
- 	(mark_reg): Change arguments as appropriate for callback.
- 	* integrate.c (expand_inline_function): Revert 19 Jan change.
- 
- Fri Feb  4 20:25:42 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* tm.texi (Values in Registers): Fix typo: "fo" "for".
- 	(Misc): Say the scheduler, not the Haifa scheduler.
- 
- 2000-02-04  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* jump.c (mark_jump_label): Add in_mem param, check SYMBOL_REFs
- 	when in_mem is set.  Update all callers.
- 
- 2000-02-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386/openbsd.h (INT_ASM_OP): Define.
- 
- Fri Feb  4 10:51:30 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* tm.texi: Fix various typos.
- 
- Thu Feb  3 17:17:32 2000  Steve Ellcey <sje@cup.hp.com>
- 
- 	* config/pa/pa-hpux11.h (LIB_SPEC): Correct typo in !p case.
- 	(MD_STARTFILE_PREFIX_1): New macro.
- 
- Thu Feb  3 15:08:13 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movstrsi, clrstrsi): Support variable sized copies, align
- 	destination when needed.
- 	(strmovsi, strsetsi): New expander.
- 	(strmovsi_1, strsetsi_1): New pattern.
- 	* i386.h (MASK_NO_ALIGN_STROP, MASK_INLINE_ALL_STROP,
- 	TARGET_ALIGN_STRINGOPS, TARGET_INLINE_ALL_STRINGOPS): New macros.
- 	(TARGET_SWITCHES) Add align-stringops and inline-all-stringops.
- 	* invoke.texi (align-stringops, inline-all-stringops): Document.
- 
- Wed Feb  2 23:04:47 2000   Krister Walfridsson <cato@df.lth.se>
- 
- 	* i386/netbsd.h (INT_ASM_OP): Define.
- 
- 2000-02-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (cpp_reader): Add new flag, no_directives.
- 	* cpphash.c (macarg): Set it.
- 	* cpplib.c (handle_directive): If no_directives is on and we
- 	find a directive, issue an error and discard the line.
- 
- Wed Feb  2 13:07:10 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Delete 'E' check for
- 	FP constants.  Add ! TARGET_FPU check for FP constants.
- 
- 2000-02-02  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Don't kill label_value_list
- 	here.
- 	(cleanup_cfg): Kill it here.
- 
- Wed Feb  2 08:12:30 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_field): Ensure ALIGN is no stricter than the
- 	alignment of EXP.
- 
- 2000-02-02  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (delete_insn): Partially revert 19 Jan change;
- 	don't convert unused code labels to notes at -O0.
- 
- 2000-02-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* toplev.c (rest_of_compilation): Run rebuild_jump_labels after
- 	split_all_insns to recreate REG_LABEL notes for flow2 pass.
- 
- 2000-02-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (general_no_elim_operand): New.
- 	(nonmemory_no_elim_operand): New.
- 	(ix86_expand_move): Copy eliminable operands before a push.
- 	* i386-protos.h: Declare new functions.
- 	* i386.h (CAN_ELIMINATE): Simplify.
- 	(PREDICATE_CODES): Update.
- 	* i386.md (push insns): Don't allow eliminable register operands.
- 
- 2000-02-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_regs_live_at_end): Follow expand_function_end and
- 	replace BLKmode with DECL_RTL's mode.
- 
- 2000-02-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* frame.c (find_fde): Convert for loop to do-while so compiler
- 	sees it's always executed at least once.
- 	* libgcc2.c (BBINBUFSIZE): Kill.
- 	(__bb_init_prg): Use fgets.
- 	(__bb_exit_trace_func): Don't paste strings.
- 	* unroll.c (unroll_loop): Initialize unroll_type, not
- 	unroll_number, and tweak logic to match.
- 
- 	* i386.c (ix86_expand_int_movcc): Add explicit 'return 0' in
- 	all failure paths.
- 	(ix86_flags_dependant): Likewise.  Disentangle control flow.
- 	(ix86_sched_reorder): Break guts out to
- 	ix86_sched_reorder_pentium and ix86_sched_reorder_ppro.
- 	(ix86_sched_reorder_ppro): Initialize pair2 and insnp before
- 	any possible use.
- 
- 	* i386.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Don't
- 	use string concatenation.  Don't save and restore esi.
- 
- 	* fixinc/Makefile.in (fixincl.sh): Don't depend on inclhack.def.
- 	(machname.h): Remove script to separate file.  Use two-step
- 	sequence so target is not created if script fails.
- 	* fixinc/gen-machname.h: New file.  Handle case where no non-reserved
- 	identifiers are defined.
- 	* fixinc/fixlib.c (mn_get_regexps): Return a flag: if MN_NAME_PAT is
- 	an empty string, machine_name doesn't need to do anything at
- 	all.
- 	(is_cxx_header): Add more cases to regexp.
- 	* fixinc/fixlib.h: Update prototype.
- 	* fixinc/fixtests.c, fixinc/fixfixes.c: Update callers of
- 	mn_get_regexps.
- 	* fixinc/fixincl.c: Define NO_BOGOSITY.
- 
- 	* fixinc/inclhack.def (no_double_slash, else_endif_label): Ifdef out.
- 	(hp_sysfile): Add missing comma.
- 	(math_exception): Put the wrapper ifdefs at the beginning and
- 	the end of the file.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh: Regenerate.
- 
- 2000-02-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (fp_zero_operand): Turn into a normal predicate.
- 	Use CONST0_RTX.  Update all callers.
- 	* sparc.h, sparc-protos.h: Update accordingly.
- 	* sparc.md (fp mov insns): Use fp_zero_operand directly
- 	where applicable.
- 
- Wed Feb  2 02:59:45 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* tm.texi (Values in Registers): Fix typo in HARD_REGNO_NREGS
- 	example.
- 
- 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (specs.ready): New target.
- 	(fixinc.sh): Depend on `specs.ready' instead of `specs'.
- 
- 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc.irix: Use unique filenames for writing into /tmp,
- 	* fixinc.ptx: Likewise.
- 	* fixinc.sco: Likewise.
- 	* fixinc.svr4: Likewise.
- 	* fixinc.winnt: Likewise.
- 
- 2000-02-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tsystem.h: New file.
- 
- 	* Makefile.in (libgcc2.a, stmp-multilib, crtbegin.o, crtend.o,
- 	s-crtS): Depend on tsystem.h.
- 
- 	* crtstuff.c: Include tsystem.h.
- 	* frame.c: Likewise.
- 	* libgcc2.c: Likewise.
- 
- Tue Feb  1 19:53:27 CET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (expand_builtin_memset): Expand for variable sized
- 	lengths too.
- 
- 2000-02-01  David Billinghurst <David.Billinghurst@riotinto.com.au>
- 
- 	* config/mips/iris6.h (SUBTARGET_ASM_SPEC) : Default ISA based
- 	on ABI.
- 
- Tue Feb  1 00:57:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* dwarfout.c (SHORT_TYPE_SIZE): Correct default.
- 
- 	* tm.texi (Type Layout): Correct entry for CHAR_TYPE_SIZE.
- 
- 2000-01-31  Chandra Chavva <cchavva@cygnus.com>
- 
- 	* combine.c (try_combine) [HAVE_cc0]: Trying to check the missed
- 	case 3->2 combining (combining with splitting) in which 2 is CC0
- 	setter/user and 3 is user. The rest of cases 2->1 and 3->2 are
- 	checked at the begining of the function with the aid of calling
- 	function 'can_combine_p'.
- 
- 2000-01-31  Dave Brolley  <brolley@redhat.com>
- 
- 	* cccp.c (struct argdata): Redeclare 'newlines' field as 'int'.
- 
- 2000-01-31  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* jump.c (redirect_jump): Move a NOTE_INSN_FUNCTION_END to the
- 	new label.
- 
- 2000-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h (PROTO, VPROTO, PVPROTO): Delete macros.
- 
- 	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit):
- 	PROTO -> PARAMS.
- 
- 2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* i386/386bsd.h, i386/beos-pe.h, i386/bsd386.h, i386/crtdll.h,
- 	i386/cygwin.h, i386/dgux.h, i386/djgpp-rtems.h, i386/djgpp.h,
- 	i386/freebsd.h, i386/gnu.h, i386/i386-aout.h, i386/i386-coff.h,
- 	i386/i386-interix.h, i386/i386elf.h, i386/linux.h, i386/lynx-ng.h,
- 	i386/lynx.h, i386/mach.h, i386/mingw32.h, i386/moss.h,
- 	i386/netbsd.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
- 	i386/ptx4-i.h, i386/rtems.h, i386/rtemself.h, i386/sco.h,
- 	i386/sequent.h, i386/sun.h, i386/sysv4.h, i386/uwin.h, i386/vsta.h,
- 	i386/vxi386.h, i386/win-nt.h, i386/win32.h:
- 	Remove -Di386 -Acpu(i386) -Amachine(i386) from CPP_PREDEFINES.
- 
- 	* i386/osf1elf.h, i386/scodbx.h, i386/seq-sysv3.h, i386/sysv5.h:
- 	Add %(cpp_cpu) to CPP_SPEC.
- 
- 	* i386/osf1elf.h, i386/osfelf.h, i386/osfrose.h:
- 	Add %(cc1_cpu) to CC1_SPEC.
- 
- 2000-01-28  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* c-decl.c (c_decode_option): Accept optional numeric argument to
- 	-Wformat and set warn_format.
- 	* c-common.c: Don't emit warning about non-constant printf format
- 	string unless warn_format > 1.
- 
- 2000-01-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (return_internal): Allow after reload only.
- 
- 2000-01-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (ix86_compute_frame_size): Omit padding1 if the
- 	local frame size is zero.
- 
- 2000-01-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_expand_epilogue): Don't emit the return insn.
- 	* alpha.h (EPILOGUE_USES): New.  Mark $26 live.
- 	* alpha.md (return): Turn into an expander.
- 	(return_internal): Don't use $26.
- 	(epilogue): Emit the return insn.
- 
- 2000-01-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (negtf2, abstf2): Fix word order thinko.
- 	(extendsftf2): New.
- 	(trunctfsf2): Avoid intermediate rounding errors.
- 
- 2000-01-30  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (find_position): Drop 'colp' argument, return the
- 	new line base.
- 	(read_and_prescan): Adjust to match.  Don't ever manipulate
- 	line or line_base except via find_position.
- 
- 2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-parse.in: Apply Ulrich's changes from c-parse.y.
- 	* c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c:
- 	Regenerate.
- 
- 2000-01-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpperror.c (cpp_file_line_for_message): If 'line' is zero,
- 	just print "<command line>".  If 'filename' is null or an
- 	empty string, print "<stdin>" for the filename.
- 	* cpplib.c (do_define): Don't print the 'location of the
- 	previous definition' message if we're still parsing the
- 	command line.
- 	(cpp_pedwarn_with_file_and_line): Always call
- 	cpp_file_line_for_message.
- 
- 2000-01-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* flow.c (mark_regs_live_at_end): Fix typo.
- 
- 2000-01-28  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* c-common.c: Adjust variable names, comments, help strings to c99.
- 	* c-lex.c: Likewise.
- 	* c-parse.y: Likewise.
- 	* c-tree.h: Likewise.
- 	* cccp.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* c-decl.c: Likewise.  Recognize options with names "*99" as well.
- 	* cppinit.c: Likewise.
- 
- 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.h (INIT_TARGET_OPTABS): Add all missing local optab entries.
- 	* c4x.c: Define the optab rtx values.
- 	(c4x_add_gc_roots): Add the ggc roots for these optab rtx values.
- 	(c4x_emit_libcall): Use new optab rtx values.
- 	(c4x_emit_libcall3): Likewise.
- 	(c4x_emit_libcall_mulhi): Likewise.
- 	* c4x-protos.h: Add prototypes for optab rtx values and change
- 	prototypes for above c4x_emit_libcall functions.
- 
- 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (c4x_output_ascii): Restrict line length of output when TI
- 	syntax is used.
- 	(c4x_function_prologue): Use regnames intead of float_reg_names when
- 	TI syntax is used.
- 	(c4x_function_epilogue): Likewise.
- 	(c4x_print_operand): Likewise.
- 	* c4x.h (HOST_WIDE_INT_PRINT_HEX): Redefine.
- 	* c4x.md (set_high): Disable for TARGET_TI.
- 
- 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.h (PREFERRED_RELOAD_CLASS): Change to restrict the reloading
- 	of framepointer + constant to ADDR_REGS class.
- 	* c4x.md (addqi3, addqi3_noclobber_reload): Update.
- 	* c4x.c (std_or_reg_operand): New function.
- 	* c4x-protos.h (std_or_reg_operand): Prototype it.
- 
- 2000-01-29 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* t-c4x: Change qi,qf,di,df into si,sf,hi,hf to generate same
- 		object names as libgcc2.c.
- 	* libgcc.S: Use newly defined names.
- 
- Fri Jan  7 19:48:04 CET 2000  Jan Hubicka  <jh@suse.cz>
- 	* sbitmap.c (sbitmap_first_set_bit, sbitmap_last_set_bit): New
- 	function.
- 	* sbitmap.h (sbitmap_first_set_bit, sbitmap_last_set_bit): Declare.
- 	* basic_block.h (FLOW_LOOP_FIRST_BLOCK): New macro.
- 	(FLOW_LOOP_LAST_BLOCK): Likewise.
- 
- 2000-01-21  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* basic-block.h (struct loop): New fields 'first' and 'last'.
- 	* flow.c (flow_loops_find): Compute loop->first and loop->last.
- 	(flow_loops_dump): Use loop->first to check for NOTE_INSN_LOOP_BEG
- 	and loop->last to check for NOTE_INSN_LOOP_END.
- 
- Fri Jan 28 10:57:58 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* predict.c (estimate_probability): Use the new FIRST and LAST fields
- 	of the loop descriptor rather than HEADER and LATCH. Also added
- 	missing break statements as well making some coding style modifications
- 	as suggested by Michael Hayes.
- 
- 2000-01-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (find_basic_blocks): Remove do_cleanup argument.
- 	Break out that code ...
- 	(cleanup_cfg): ... here.
- 	(commit_one_edge_insertion): Detect a return instruction being
- 	emitted to an edge.  Emit a barrier following; clear fallthru.
- 	(commit_edge_insertions): Verify CFG consistency.
- 	* function.c (expand_function_start): Kill unused variable.
- 	(expand_function_end): Likewise.
- 	(thread_prologue_and_epilogue_insns): Use insert_insn_on_edge
- 	to insert the epilogue.
- 
- 	* gcse.c (gcse_main): Adjust for find_basic_blocks change.
- 	(delete_null_pointer_checks): Likewise.
- 	* output.h: Likewise.
- 	* reg-stack.c (reg_to_stack): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise.  Run
- 	thread_prologue_and_epilogue_insns after rebuilding the CFG.
- 
- 2000-01-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (flow.o): Revert 24 Jan change.
- 	* flow.c (mark_regs_live_at_end): Likewise.  Force BLKmode
- 	FUNCTION_VALUE result to DECL_RESULT's mode.
- 
- 	* haifa-sched.c (schedule_insns): Don't recompute reg info
- 	after reload.
- 
- 2000-01-28  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in: Make --enable-cpplib the default.
- 	* configure: Regenerate.
- 	* gcc.dg/990119-1.c: No longer expected to fail.
- 
- 2000-01-28  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* jump.c (jump_optimize_1): Delete an optimization that is also done
- 	by merge_blocks in flow.
- 
- 2000-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* diagnostic.c (build_message_string, output_printf,
- 	line_wrapper_printf): Add ATTRIBUTE_PRINTF_*.
- 	(build_location_prefix): Fix non-literal format string.
- 
- 2000-01-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (trunctfsf2): New.
- 
- 2000-01-27  Andrew Hobson  <ahobson@eng.mindspring.net>
- 
- 	* configure.in (alpha-dec-osf5): Enable MASK_SUPPORT_ARCH.
- 
- 2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c (cpp_handle_option): Recognize C++ comments under
- 	-std=gnu89.
- 	* cpplib.c (skip_block_comment, skip_line_comment): Split code
- 	out of...
- 	(skip_comment) ... here.  Permit C++ comments in system
- 	headers always.  Warn about C++ comments in user code under
- 	-std=gnu89 -pedantic.
- 	(copy_comment): Use skip_comment.
- 	(cpp_skip_hspace, cpp_get_token): skip_comment can no longer
- 	return EOF.
- 	(consider_directive_while_skipping, do_else, do_endif): Call
- 	validate_else unconditionally.
- 	(validate_else): Check CPP_PEDANTIC here.  Accept non-comment
- 	text after the conditional in a system header.
- 	* cpplib.h (struct cpp_buffer): Add flag
- 	warned_cplusplus_comments.
- 
- 2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* emit-rtl.c (unshare_all_rtl): Unshare virtual parameters too.
- 	Use unshare_all_rtl_1.
- 	(unshare_all_rtl_again): New function.
- 	(unshare_all_rtl_1): New function split out of unshare_all_rtl.
- 
- 	* function.c (purge_addressof_1): Use unshare_all_rtl_again
- 	rather than resetting the 'used' flags ourself.
- 
- 	* toplev.c (rest_of_compilation): Add current_function_decl
- 	to the unshare_all_rtl call.
- 	* tree.h: Prototype unshare_all_rtl.
- 	* rtl.h: Prototype unshare_all_rtl_again here.
- 
- 2000-01-27  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* genoutput.c (output_prologue): Include ggc.h in generated
- 	files.
- 	* Makefile.in (insn-output.o): Depends on ggc.h.
- 
- 2000-01-27  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
- 	    Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* ns32k/xm-ns32k.h (memcpy, memset, memcmp): Delete.
- 	Remove redundant include of xm-ns32k.h.
- 	* ns32k/xm-genix.h (memcpy, memset, memcmp): Add definitions.
- 	Remove redundant include of xm-ns32k.h.
- 	* ns32k/xm-netbsd.h (memcpy, memset, memcmp): No longer undefine.
- 	Remove redundant include of xm-ns32k.h.
- 	* ns32k/netbsd.h (TARGET_DEFAULT): Enable multiply-add instructions.
- 
- 	* ns32k/ns32k.h: Update comment on multiply-add instructions.
- 	(TARGET_SWITCHES): Add documentation strings.
- 	(DWARF_FRAME_REGNUM): Override default definition.
- 	(REG_CLASS_CONTENTS): Add comments.
- 	(SUBSET_P): Format to reduce line length.
- 	(SMALL_REGISTER_CLASSES): Make a run time option.
- 	(GO_IF_NONINDEXED_ADDRESS): Reformat.
- 	(GO_IF_LEGITIMATE_ADDRESS): Ensure that cfun is non NULL before
- 	dereferencing it.  Braces to avoid "ambiguous else" were misplaced.
- 	(regclass_map): fix typo in comment.
- 	* ns32k/ns32k.c: Add spaces before parentheses for consistant style.
- 	Prefer gen_rtx_FOO(...) to gen_rtx(FOO,...).
- 	(trace, reg_or_mem_operand): Delete, unused function.
- 	(calc_address_cost): Small offsets are cheaper than large ones.
- 	(expand_block_move): Generate more efficient code when bytes is a
- 	known at compile time.
- 	* ns32k/ns32k.md: Alternate constraints for multiply-add instructions.
- 	(udivmodsi4, udivmodhi4, udivmodqi4): Use nonimmediate_operand
- 	instead of reg_or_mem_operand.
- 
- 	* ns32k/ns32k.md: Use nonimmediate_operand or stricter for outputs,
- 	not general_operand.  Similarly use "=rm" or stricter, not "=g".
- 	For input operands, use stricter constraints than "g" if not
- 	general_operand.  Similarly use stricter predicate than
- 	"general_operand" when stricter constraints than "g" are present,
- 	except for matching constraints.
- 	(movstrsi): Use "memory_operand" for operands 0 and 1.
- 	(truncsiqi2, truncsihi2, trunchiqi2): Remove.
- 	(udivmoddisi4_internal): Use nonimmediate_operand for operand 0,
- 	not reg_or_mem_operand.
- 	(udivmoddisi4): Ditto.
- 	Use nonimmediate_operand for operand 1, not reg_or_mem_operand.
- 	Use nonimmediate_operand for operand 3, not register_operand.
- 	(udivmoddiqi4_internal): Use register_operand for operand 1, not
- 	reg_or_mem_operand.
- 
- 2000-01-27  Fred Fish  <fnf@be.com>
- 
- 	* gthr-posix.h: Fix typo; compatibily -> compatibility.
- 	* gthr-single.h: Likewise.
- 	* gthr-solaris.h: Likewise.
- 	* gthr-vxworks.h: Likewise.
- 	* gthr-win32.h: Likewise.
- 	* gthr.h: Likewise.
- 
- 2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c: Add " (cpplib)" to end of string printed by
- 	-v / --version.
- 
- 2000-01-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_conditional_move): Use VOIDmode when
- 	testing for a signed comparison.
- 	(alpha_emit_floatuns): New.
- 	* alpha-protos.h: Declare it.
- 	* alpha.md (floatunsdisf2, floatunsdidf2): New.
- 	(extendsfdf2): Tidy.
- 
- 2000-01-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (CC1_SPEC): If compiling -m32 with -g but
- 	no -g option specifying debugging format, default to -gstabs+.
- 
- Wed Jan 26 22:19:14 1999  J"orn Rennecke  <amylaar@cygnus.co.uk>
- 
- 	* calls.c (special_function_p): New argument fork_or_exec.
- 	(expand_call): When profile_arc_flag is set and the function
- 	is in the fork_or_exec group, call __bb_fork_func first.
- 	* libgcc2.c, _bb module (__bb_fork_func): New function.
- 	(__bb_exit_func): If fcntl F_SETLKW is available, use it to lock
- 	output file.
- 	* config/svr4.h (TARGET_HAS_F_SETLKW): Define.
- 	* tree.h (special_function_p): Update prototype.
- 
- 2000-01-26  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_split_tfmode_pair): New.
- 	* alpha-protos.h: Declare it.
- 	* alpha.md (abstf2, negtf2): New.
- 	(movtf insn): Add input G constraint.
- 	(movtf splitter): Use alpha_split_tfmode_pair.
- 
- 2000-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386/cygwin.h: PROTO -> PARAMS.
- 
- 2000-01-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp): Handle
- 	TARGET_ARCH32 again. Handle ORDERED, UN* and LTGT comparisons
- 	using _Qp_cmp/_Q_cmp and testing the return value.
- 	(print_operand): Call reverse_condition_maybe_unordered if
- 	we are handling CCFPmode or CCFPEmode.
- 	Handle ORDERED, UN* and LTGT comparisons.
- 	* config/sparc/sparc.md (cmptf): Use even on TARGET_ARCH32
- 	if not TARGET_HARD_QUAD.
- 	(seq, sne, sgt, slt, sge, sle, beq, bne, bgt, blt, bge, ble,
- 	bunordered, bordered, bungt, bunlt, buneq, bunge, bunle, bltgt):
- 	Call sparc_emit_float_lib_cmp even on TARGET_ARCH32.
- 	Adjust gen_b* calls so that they reflect return comparison of
- 	sparc_emit_float_lib_cmp.
- 
- 2000-01-26  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/alpha/alpha.c (alpha_emit_xfloating_cvt): Do not assume
- 	incoming operands array is large enough for one more operand.
- 	(alpha_emit_xfloating_arith): Likewise.
- 
- 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/Makefile.in (machname.h): SunOS 4 sed can't handle a
- 	file with one line and no trailing newline.
- 	Patch by Kaveh Ghazi <ghazi@caip.rutgers.edu>.
- 	* fixinc/fixtests.c (machine_name_test): Fix fencepost error
- 	checking if the match is on the line.
- 	* fixinc/gnu-regex.c: Provide regerror not __regerror.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc.c (output_cbranch): Fix accidental squashing of the
- 	fp branch pre-delay nop.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* tree.def (UNNE_EXPR): Remove.
- 	* c-typeck.c (build_binary_op): Don't handle it.
- 	* expr.c (expand_expr, do_jump, do_store_flag): Likewise.
- 
- 	* rtl.def (UNNE): Remove.
- 	(LTGT): Add.
- 	* jump.c (reverse_condition): Update accordingly.
- 	(swap_condition): Likewise.
- 	(comparison_dominates_p): Handle unordered comparisons.
- 	(reverse_condition_maybe_unordered): New.
- 	* rtl.h (reverse_condition_maybe_unordered): Declare.
- 
- 	* sparc.c (select_cc_mode): Update for UNNE/LTGT.
- 	(output_cbranch): Use reverse_condition_maybe_unordered and LTGT.
- 	* sparc.h (REVERSIBLE_CC_MODE): Always true.  Update docs.
- 	* sparc.md (bltgt): New.
- 
- 2000-01-25  Nick Clifton  <nickc@redhat.com>
- 
- 	* emit-rtl.c (emit_insn): Only check machine class insns for
- 	improper emission of a RETURN.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (flow.o): Depend on $(EXPR_H).
- 	* flow.c (mark_regs_live_at_end): Use hard_function_value, i.e.
- 	duplicate the structure of diddle_return_value for keeping regs live.
- 
- 2000-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (current_loop_info): Delete.
- 	(consec_sets_invariant_p): Add loop argument, update callers.
- 	(get_condition_for_loop): Likewise.
- 	(count_nonfixed_reads, update_giv_derive): Likewise.
- 	(simplify_giv_expr, general_induction_var): Likewise.
- 	(consec_sets_giv, recombine_givs): Likewise.
- 	(move_movables): Delete loop_start and loop_end arguments,
- 	add loop argument, and update callers.
- 	(find_mem_givs, check_final_value): Likewise.
- 	(record_giv, maybe_eliminate_biv, maybe_eliminate_biv_1): Likewise.
- 	(loop_invariant_p): Rename from invariant_p, add loop argument, and
- 	update callers.
- 	(basic_induction_var): Add loop argument, delete loop_level argument,
- 	and update callers.
- 	* unroll.c (iteration_info): Delete loop_start and loop_end arguments,
- 	add loop argument, and update callers.
- 	(find_splittable_regs, find_splittable_givs): Likewise.
- 	(reg_dead_after_loop, loop_find_equiv_value): Likewise.
- 	(final_biv_value, final_giv_value, back_branch_in_range_p): Likewise.
- 	(biv_total_increment): Delete loop_start and loop_end arguments;
- 	update callers.
- 	(precondition_loop_p): Delete loop_start and loop_info arguments;
- 	update callers.
- 	* loop.h (get_condition_for_loop): Add loop argument.
- 	(biv_total_increment): Delete loop_start and loop_end arguments.
- 	(precondition_loop_p): Delete loop_start and loop_info arguments;
- 	add loop argument.
- 	(final_biv_value): Delete loop_start and loop_end arguments;
- 	add loop argument.
- 	(final_giv_value, back_branch_in_range_p): Likewise.
- 
- 2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (LEGITIMATE_CONSTANT_P): Fix for mips16.
- 
- 2000-01-25  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* Makefile.in (c-gperf.h) : Change the "See" pointer to
- 	point to the new "generated_files" doc.
- 
- 2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/fp-bit.c (_unord_f2): Fix typo.
- 
- 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,
- 	c-typeck.c, objc/objc-act.c: Remove all references to obstack
- 	functions obsoleted by GC, such as push_obstacks_nochange,
- 	end_temporary_allocation, savealloc, saveable_tree_cons, etc.
- 	and code which existed only to decide whether or not to call
- 	them.  Remove now-unused NESTED argument from start_function;
- 	all callers changed.  Do not change behavior based on ggc_p.
- 	The use of the ixp_obstack in c-iterate.c and the util_obstack
- 	in objc/objc-act.c remain; these are not obsoleted by garbage
- 	collection.
- 	* c-tree.h: Update prototype for start_function.
- 
- 	* c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild.
- 
- 2000-01-25  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.md (zero_extendsidi2_internal): Disable for
- 	mips16.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* sparc-protos.h (select_cc_mode): Declare.
- 	* sparc.c (select_cc_mode): New.  Handle unordered compares.
- 	(output_cbranch): Always reverse via code change.  Handle
- 	unordered compares.  Factor tests and string updates.
- 	* sparc.h (SELECT_CC_MODE): Split out to select_cc_mode.
- 	(REVERSIBLE_CC_MODE): Also exclude CCFPmode.
- 	* sparc.md (bunordered, bordered): New.
- 	(bungt, bunlt, buneq, bunge, bunle): New.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* dwarf2out.c (dwarf2out_init): Use ggc_add_rtx_varray_root.
- 	* ggc-common.c (ggc_add_rtx_varray_root): New.
- 	(ggc_mark_rtx_varray): New.
- 	(ggc_mark_rtx_varray_ptr): New.  Shift all ggc_mark_foo_ptr
- 	functions down below ggc_mark_foo.
- 	* ggc.h (ggc_add_rtx_varray_root, ggc_mark_rtx_varray): Declare.
- 
- 2000-01-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (secondary_reload_class): Don't allocate a secondary
- 	for integral mode memories into FLOAT_REGS.  Rearrange the more
- 	complicated memory expression inward.
- 
- 2000-01-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* inclhack.def: Fixes to play nicer with FreeBSD, and
- 	corrections to comments.
- 	(cxx_unready): Add select expression.
- 	(irix_sockaddr): Add bypass expression.
- 	(machine_ansi_h_va_list): New fix.
- 	(stdio_va_list): No need to edit _BSD_VA_LIST_.
- 	Split out addition of "#include <stdarg.h>" to...
- 	(stdio_stdarg_h): ... here.
- 	(systypes_for_aix): Rename to systypes_stdlib_size_t.  Apply
- 	to stdlib.h also.  Do not munge _BSD_SIZE_T_.
- 	(sysz_stdlib_for_sun): Delete duplicate fix for unprotected
- 	size_t.
- 	(ultrix_ifdef): Tighten up select expression.
- 
- 	* fixincl.tpl: Exorcise 'exesel'.  Rewrite calculations of
- 	re_ct and max_mach to avoid use of shell.  Make printed names
- 	match names in inclhack.def.  Use static copyright date.
- 	Don't count c_test and test expressions as requiring regex_t
- 	slots.  Add some commentary.
- 	* inclhack.tpl: Do not include the 'This script contains N
- 	fixup scripts' line if PROGRAM is defined.  Use static
- 	copyright date.
- 
- 2000-01-24  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* dwarf2out.c: include "varray.h", not dyn-string.h.
- 	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_NAME_TO_STRING): Lose.
- 	(addr_const_to_string, addr_to_string): Lose.
- 	(ASM_OUTPUT_DWARF_ADDR_CONST): Copy from dwarfout.c.
- 	(struct dw_val_struct): val_addr is now an rtx.
- 	(add_AT_addr, AT_addr, free_AT, output_aranges): Adjust.
- 	(used_rtx_varray): New varray.
- 	(dwarf2out_init): Initialize it.
- 	(save_rtx): New fn.
- 	(mem_loc_descriptor, add_const_value_attribute): Call it instead of
- 	addr_to_string.
- 	* arm/telf.h, arm/unknown-elf.h, mn10200.h, mn10300.h,
- 	sparc/sp64-elf.h: Remove definition of ASM_OUTPUT_DWARF2_ADDR_CONST.
- 	* Makefile.in (dwarf2out.o): Update dependencies.
- 
- 2000-01-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (i386_dwarf_output_addr_const): New.
- 	* i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): New.
- 
- 	* dwarf2out.c (mem_loc_descriptor): Call ASM_SIMPLIFY_DWARF_ADDR
- 	if defined.
- 	* dwarfout.c (output_mem_loc_descriptor): Likewise.
- 	* i386.c (i386_simplify_dwarf_addr): New.
- 	* i386.h (ASM_SIMPLIFY_DWARF_ADDR): New.
- 
- Mon Jan 24 16:56:10 2000  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (gen_struct_or_union_type_die): Set complete if
- 	TYPE_STUB_DECL is NULL.
- 
- 2000-01-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* builtins.c (expand_tree_builtin): Move ...
- 	* c-common.c (expand_tree_builtin): ... here.
- 
- 2000-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.h (LOOP_INFO): New accessor macro.
- 	* basic-block.h (struct loop): Rename field `info' to `aux'.
- 	* loop.c (scan_loop): Replace loop->info with LOOP_INFO (loop).
- 	(prescan_loop, strength_reduce, check_dbra_loop, insert_bct): Likewise.
- 	* unroll.c (loop_iterations, unroll_loop): Likewise.
- 
- 2000-01-24  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/t-cygwin: Accommodate new winsup directory layout
- 	when searching for include files.
- 
- 2000-01-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtl.def: Add unordered fp comparisons.
- 	* tree.def: Likewise.
- 	* tree.h: Add ISO C 9x unordered fp comparison builtins.
- 
- 	* builtins.c (expand_tree_builtin): New function.
- 	* c-typeck.c (build_function_call): Use it.
- 	(build_binary_op): Support unordered compares.
- 	* c-common.c (c_common_nodes_and_builtins): Add unordered compares.
- 
- 	* combine.c (known_cond): Handle reverse_condition returning UNKNOWN.
- 	(reversible_comparison_p): Allow UNORDERED/ORDERED to be reversed.
- 	* cse.c (fold_rtx): Check FLOAT_MODE_P before reversing.
- 	(record_jump_equiv): Handle reverse_condition returning UNKNOWN.
- 	* jump.c (reverse_condition): Don't abort for UNLE etc, but
- 	return UNKNOWN.
- 	(swap_condition): Handle unordered compares.
- 	(thread_jumps): Check can_reverse before reversing.
- 	* loop.c (get_condition): Likewise.  Allow UNORERED/ORDERED to be
- 	reversed for FP.
- 
- 	* optabs.c (can_compare_p): New argument CODE.  Verify branch or
- 	setcc is present before acking for cmp_optab.  Update all callers.
- 	(prepare_float_lib_cmp, init_optabs): Handle UNORDERED.
- 	* expmed.c (do_cmp_and_jump): Update for can_compare_p.
- 	* expr.c (expand_expr): Likewise.  Support unordered compares.
- 	(do_jump, do_store_flag): Likewise.
- 	* expr.h (enum libfunc_index): Add unordered compares.
- 
- 	* Makefile.in (FPBIT_FUNCS): Add _unord_sf.
- 	(DPBIT_FUNCS): Add _unord_df.
- 	* config/fp-bit.c (_unord_f2): New.
- 	* fp-test.c (main): Try unordered compare builtins.
- 
- 	* alpha-protos.h (alpha_fp_comparison_operator): Declare.
- 	* alpha.c (alpha_comparison_operator): Check mode properly.
- 	(alpha_swapped_comparison_operator): Likewise.
- 	(signed_comparison_operator): Likewise.
- 	(alpha_fp_comparison_operator): New.
- 	(alpha_emit_conditional_branch): Handle unordered compares.
- 	* alpha.h (PREDICATE_CODES): Update.
- 	* alpha.md (fp compares): Use alpha_fp_comparison_operator.
- 	(bunordered, bordered): New.
- 
- 2000-01-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.c (alpha_emit_xfloating_cvt): Thinko in operand manipulation.
- 	* alpha.md (movtf): New expander, insn, and splitter.
- 
- Mon Jan 24 19:49:47 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
- 	dead registers.
- 
- Mon Jan 24 17:37:31 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS,
- 	 REG_ALLOC_ORDER): Add frame pointer
- 	(FRAME_POINTER_REGNUM): Set to 20
- 	(HARD_FRAME_POINTER_REGNUM): New macro.
- 	(ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
- 	to HARD_FRAME_POINTER.
- 	(REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
- 	(REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
- 	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
- 	(HI_REGISTER_NAMES): Add "frame".
- 	(CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
- 	(debug_reg): Handle FRAME_POINTER_REGNUM.
- 	(reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
- 	GENERAL_REGS and INDEX_REGS.
- 	* i386.c (SAVED_REGS_FIRST): new macro.
- 	(AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
- 	(ix86_decompose_address, memory_address_length): Likewise.
- 	(regclass_map): Add frame pointer.
- 	(call_insn_operand): Handle frame_pointer_rtx.
- 	(reg_no_sp_operand): Likewise.
- 	(ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
- 	(print_operand, legitimize_pic_address): Fix formating.
- 	(ix86_compute_frame_size): Make static, update prototype, new
- 	parameters padding1, padding2, use ix86_nsaved_regs, use
- 	stack_alignment_needed.
- 	(ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
- 	to HARD_FRAME_POINTER_REGNUM conversions.
- 	(ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
- 	(ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
- 	(print_reg): Abort on FRAME_POINTER_REGNUM
- 
- Mon Jan 24 16:50:08 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (PREDICATE_CODES): Add aligned_operand.
- 	* i386.c (aligned_operand): New function.
- 	(ix86_aligned_p): Kill.
- 	* i386.md (movhi_1): Emit mov for aligned operands.
- 	(promoting peep2s): Use aligned_operand.
- 
- 2000-01-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/fixfixes.c (fix_char_macro_uses): Correct regular
- 	expression to allow underscores in macro names.
- 	(fix_char_macro_defines): Increment scanning pointer.
- 
- 2000-01-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha/osf.h (TARGET_HAS_XFLOATING_LIBS): Define.
- 	* alpha/osf5.h: New file.
- 	* configure.in (alpha-*-osf5): Add it to tm_file.
- 
- 	* emit-rtl.c (operand_subword): Support TFmode on a 64-bit target.
- 
- 	* alpha-protos.h (alpha_emit_xfloating_arith): Declare.
- 	(alpha_emit_xfloating_cvt, function_arg): Declare.
- 	* alpha.c (alpha_emit_conditional_branch): Call
- 	alpha_emit_xfloating_compare for TFmode compares.
- 	(alpha_lookup_xfloating_lib_func): New.
- 	(alpha_compute_xfloating_mode_arg): New.
- 	(alpha_emit_xfloating_libcall): New.
- 	(alpha_emit_xfloating_arith): New.
- 	(alpha_emit_xfloating_compare): New.
- 	(alpha_emit_xfloating_cvt): New.
- 	(print_operand): Add default abort case.
- 	(function_arg): Mind FUNCTION_ARG_PASS_BY_REFERENCE.
- 	* alpha.h (TARGET_HAS_XFLOATING_LIBS): New.
- 	(BIGGEST_ALIGNMENT): Increase to 128 bits.
- 	(RETURN_IN_MEMORY): True for TF/TCmode.
- 	(ALPHA_ARG_SIZE): TF/TCmode is passed indirect.
- 	(FUNCTION_ARG): Move to function_arg.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE): New.
- 	(ASM_OUTPUT_LONG_DOUBLE): New.
- 	(ASM_OUTPUT_DOUBLE): Always output bits.
- 	* alpha.md (addtf3, divtf3, multf3, subtf3, cmptf): New.
- 	(fix_trunctfdi2, floatditf2, floatunsditf2): New.
- 	(extenddftf2, trunctfdf2): New.
- 
- 2000-01-23  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Moved...
- 	* config/sparc/sol2.h: ... here.
- 
- 2000-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* basic-block.h (struct loops): New field `levels'.
- 	* flow.c (flow_loops_level_compute): Traverse all outer loops.
- 	(flow_loop_level_compute): Initialize level to 1.
- 	(flow_loops_find): Set loops->levels.
- 	(flow_loops_dump): Print loops->levels.
- 
- 2000-01-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* libgcc2.c (dwarf_reg_size_table): Size with DWARF_FRAME_REGISTERS.
- 	(throw_helper): Iterate over DWARF_FRAME_REGISTERS.
- 
- 2000-01-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* i386.c (dbx_register_map, svr4_dbx_register_map): New.
- 	* i386.h (DBX_REGISTER_NUMBER): Use them.
- 	* i386/beos-elf.h, i386/freebsd-elf.h, i386/i386elf.h: Likewise.
- 	* i386/linux.h, i386/osfrose.h, i386/ptx4-i.h: Likewise.
- 	* i386/rtemself.h, i386/sco5.h, i386/sysv4.h: Likewise.
- 	* i386/sequent.h: Kill incorrect comment.
- 
- 2000-01-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-page.c (struct page_entry): Make `context_depth' an
- 	`unsigned short'.
- 	(struct globals): Likewise.
- 
- 2000-01-23  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* loop.c (check_dbra_loop): When checking a loop for
- 	reversability, check the source of any stores to ensure
- 	they don't depend on an initial value.
- 
- 2000-01-23  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (ASM_OUTPUT_BSS): Redefine.
- 
- 2000-01-22  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/fixincl.c: Move declarations of 'pz_fname' and
- 	'pz_scan' into scope of entire function.  Only affects
- 	compiles with -DDEBUG.
- 
- 2000-01-22  Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
- 
- 	* config/elfos.h (UNIQUE_SECTION): Restore uninitialized data
- 	section naming to that prior to 2000-01-07 patch.
- 	* config/mips/elf.h (UNIQUE_SECTION): Ditto.
- 	* config/mips/elf64.h (UNIQUE_SECTION): Ditto.
- 	* config/mips/iris6gld.h (UNIQUE_SECTION): Ditto.
- 	* config/i386/interix.c (UNIQUE_SECTION): Ditto.
- 	* config/i386/winnt.c (UNIQUE_SECTION): Ditto.
- 
- 2000-01-22  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* config/arm/arm.c (soft_df_operand): Reject SUBREGs containing a
- 	constant.
- 
- 2000-01-21  Jim Wilson  <wilson@cygnus.com>
- 
- 	* fixinc/inclhack.tpl: Test for directory before trying to cd into it.
- 	* fixinc/fixincl.sh, fixinc/inclhack.sh: Regenerate.
- 
- 2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (change_newlines): Delete function.
- 	(struct argdata): Delete 'newlines' and 'use_count' fields.
- 	(macroexpand): Remove code referencing those fields.
- 
- 2000-01-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (loops_info): New variable.
- 	(loop_optimize): Allocate loops->array and free it on exit.
- 	Allocate memory for loops_info and assign to each loop,
- 	replacing alloca.
- 	(find_and_verify_loops): Do not allocate loops->array.
- 
- 2000-01-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/fixfixes.c (machine_name_fix): Don't free 'scratch'.
- 
- 2000-01-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movsi_pic_label_ref): Avoid creating new
- 	pseudos if expanded after first flow.
- 	(movdi_pic_label_ref): Likewise.
- 
- 2000-01-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* jump.c (jump_optimize_1): Don't do addr_vec optimizations at -O0.
- 
- 2000-01-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in (fixinc.sh): Depend on specs.
- 	* fixinc/Makefile.in: Add rule to create machname.h.
- 	(fixlib.o): Depend on machname.h.
- 	* fixinc/fixtests.c (machine_name): New test.
- 	* fixinc/fixfixes.c (machine_name): New fix.
- 	* fixinc/fixlib.c (mn_get_regexps): New helper function for
- 	the machine_name test and fix.
- 	* fixinc/fixlib.h: Prototype it.
- 	* fixinc/inclhack.def (machine_name): Use the C test and fix.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh: Rebuild.
- 
- 	* gcc.c (do_spec_1) [case P]: Take care not to create
- 	identifiers with three leading or trailing underscores.
- 
- 	* fixinc/Makefile.in (FIXINC_DEFS): Add -DIN_GCC.
- 	(fixincl): Don't specify libraries twice on link line.
- 	(gnu-regex.o): Remove special rule.
- 	* fixinc/gnu-regex.c: Define REGEX_MALLOC if C_ALLOCA was
- 	defined by config.h.  Do not define _REGEX_RE_COMP.
- 	(regcomp): Allocate and initialize a fastmap.
- 	* fixinc/gnu-regex.h: Do not define _REGEX_RE_COMP.
- 
- 2000-01-20  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* Makefile.in (predict.o): Depend on $(EXPR_H), not expr.h.
- 
- 2000-01-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (propagate_block): Replace FIRST, LAST and BNUM
- 	arguments with BB.  Update all callers.  Tidy line wrapping.
- 
- 2000-01-19  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* emit-rtl.c (try_split): Return last_insn if we split the
- 	last_insn.
- 
- Thu Jan 20 01:01:23 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (ix86_compute_frame_size): Remove prototype.
- 	(ix86_initial_elimination_offset): Declare.
- 	* i386.c (ix86_nsaved_regs): Break out from ...
- 	(ix86_can_use_return_insn_p): ... here.
- 	(ix86_emit_save_regs): Break out from ...
- 	(ix86_expand_prologue): ... here.
- 	(ix86_emit_epilogue_esp_adjustment, ix86_emit_restore_regs): Break
- 	out from ...
- 	(ix86_expand_epilogue): ... here.
- 	(ix86_compute_frame_size): Make static, add prototype.
- 	(ix86_initial_elimination_offset): Break out from ...
- 	* i386.h (INITIAL_ELIMINATION_OFFSET): ... here.
- 
- 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* recog.h (OUT_FCN): Delete.
- 
- 	* vax.md: Call `get_insn_template' instead of OUT_FCN.
- 
- 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppalloc.c: PROTO -> PARAMS.
- 	* cpperror.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cpplib.h: Likewise.
- 
- 	* config/arm/arm-protos.h: PROTO -> PARAMS.
- 	* config/arm/arm.c: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/fr30/fr30-protos.h: Likewise.
- 	* config/nextstep.c: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pj/pj.c: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/v850/v850-protos.h: Likewise.
- 	* config/v850/v850.c: Likewise.
- 
- 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i370-protos.h: New file.
- 
- 	* i370.c: Include tm_p.h.  Fix compile time warnings.
- 
- 	* i370.h: Move prototypes to i370-protos.h.  Fix compile time
- 	warnings.
- 
- 	* i370.md: Likewise.
- 
- 2000-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* real.c (enan, einan, eiisnan, eiisneg, make_nan): Wrap in NANS.
- 	(target_isinf, target_isnan, eisnan): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	(eiisinf): Wrap in INFINITY.
- 	(etoe113, etoe64, etoe53, etoe24): Wrap label `nonorm' in INFINITY.
- 	(ibmtoe): Remove unused variable `rndsav'.
- 
- Wed Jan 19 20:23:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.h (PASS_IN_REG_P): Remove extraneous paranthesis.
- 	(GO_IF_LEGITIMATE_ADDRESS): Added missing tab.
- 
- 2000-01-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/Makefile.in: Correct dependencies of fixincl and fixincl.o.
- 	* fixinc/fixfixes.c (IO_use, CTRL_use, IO_defn, CTRL_defn): New fixes.
- 	(fix_char_macro_defines, fix_char_macro_uses): New functions.
- 
- 	* fixinc/fixlib.c (is_cxx_header): Do the text scan with a regexp.
- 	Recognize Emacs mode markers also.
- 	* fixinc/fixtests.c (else_endif_label): Fix bug in recognition of
- 	C++ comments in C++ headers.  Call is_cxx_header only if
- 	necessary.
- 
- 	* fixinc/inclhack.def (avoid_bool): Add select for the problem and
- 	bypass for ncurses.
- 	(bsd43_io_macros, io_def_quotes, ioctl_fix_ctrl): Replace with...
- 	(io_def_quotes, io_use_quotes, ctrl_def_quotes, ctrl_use_quotes):
- 	... these, which use the new C fixes.
- 	(math_exception): Escape literal '+' in bypass expression.
- 
- 	* fixinc/fixincl.x, fixinc/fixincl.sh, fixinc/inclhack.sh:
- 	Regenerate.
- 
- 2000-01-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rtlanal.c (reg_referenced_p): A CLOBBER of a MEM uses any REGs
- 	inside the MEM.
- 
- 2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (loop_optimize): Allocate loop_info structure for each loop
- 	prior to calling scan_loop.
- 
- Wed Jan 19 19:54:38 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.c (find_barrier, gen_block_redirect): Fix indentation.
- 	(split_branches, calc_live_regs): Likewise.
- 
- Wed Jan 19 19:12:36 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (fpu_single, fp_mode): New attributes.
- 
- 2000-01-20  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (current_loop_info): Renamed from loop_info_data
- 	and changed to a pointer.
- 	(loop_optimize): Allocate loop_info structure for each loop
- 	and initialize to zero.
- 	(scan_loop): Set current_loop_info.
- 
- 	* unroll.c (loop_iterations): Don't abort if REG_USERVAR_P set
- 	on iteration_var.
- 
- 2000-01-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* stupid.c: Die die die.
- 	* Makefile.in (OBJS): Remove stupid.o.
- 	(stupid.o): Likewise.
- 
- 	* except.c (emit_eh_context): Don't emit USEs for stupid.
- 	* explow.c (probe_stack_range): Likewise.
- 	* flags.h (obey_regdecls): Remove.
- 	* flow.c (find_basic_blocks): Don't run try_merge_blocks
- 	when not optimizing.
- 	(life_analysis): Limit data collection when not optimizing.
- 	(mark_regs_live_at_end): Always mark the return value registers.
- 	(mark_used_regs): Remove dummy RETURN case.
- 	(print_rtl_with_bb): Don't consult obey_regdecls.
- 	* function.c (use_variable, use_variable_after): Remove.
- 	(assign_parms): Consult optimize not obey_regdecls.
- 	(expand_function_start): Don't emit USEs for stupid.
- 	(expand_function_end): Likewise.
- 	* global.c (build_insn_chain): Export.
- 	* integrate.c (expand_inline_function): Kill return-value USE
- 	handling code.
- 	* jump.c (jump_optimize_1): Do simple jump optimizations and
- 	dead code elimination.
- 	(calculate_can_reach_end): Remove check_deleted argument.
- 	(delete_insn): Patch out insns even when not optimizing.
- 	* local-alloc.c (block_alloc): Don't do tying when not optimizing.
- 	* rtl.h (use_variable, use_variable_after): Remove declarations.
- 	(build_insn_chain): Declare.
- 	* stmt.c (expand_value_return): Don't emit USEs for stupid.
- 	(expand_end_bindings): Likewise.
- 	(expand_decl): Likewise.  Consult optimize not obey_regdecls.
- 	* toplev.c (obey_regdecls): Remove.
- 	(rest_of_compilation): Don't set it.  Kill stupid in favor of
- 	flow1, local-alloc, and reload.
- 	(main): Don't set obey_regdecls.
- 
- 	* config/nextstep.c (handle_pragma): Likewise.
- 
- 	* alpha/alpha.md (allocate_stack): Don't emit USEs for stupid.
- 
- 	* arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't fix reg 0 for stupid.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha-protos.h: PROTO -> PARAMS.
- 	* alpha.c: Likewise.
- 	* elf.h: Likewise.
- 	* h8300.c: Likewise.
- 	* i386-protos.h: Likewise.
- 	* i386.c: Likewise.
- 	* m32r-protos.h: Likewise.
- 	* m32r.c: Likewise.
- 	* mips.c: Likewise.
- 	* mips.md: Likewise.
- 	* gmon-sol2.c: Likewise.
- 	* sparc.c: Likewise.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ns32k-protos.h: New file.
- 
- 	* ns32k.c: Fix compile time warnings.
- 
- 	* ns32k.h: Move prototypes to ns32k-protos.h.  Fix compile time
- 	warnings.
- 
- 	* ns32k.md: Likewise.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* vax-protos.h: New file.
- 
- 	* vax.c: Fix compile time warnings.
- 
- 	* vax.h: Move prototypes to vax-protos.h.  Fix compile time
- 	warnings.
- 
- 	* vax.md: Likewise.
- 
- 	* vaxv.md: Likewise.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* romp-protos.h: New file.
- 
- 	* romp.c: Fix compile time warnings.
- 
- 	* romp.h: Move prototypes to romp-protos.h.  Fix compile time
- 	warnings.
- 
- 	* romp.md: Likewise.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* we32k-protos.h: New file.
- 
- 	* we32k.c: Fix compile time warnings.
- 
- 	* we32k.h: Move prototypes to we32k-protos.h.  Fix compile time
- 	warnings.
- 
- 2000-01-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* except.c (eh_regs): Likewise.
- 
- 	* final.c (output_operand): Likewise.
- 
- 	* fold-const.c (target_isinf, target_isnan): Likewise.
- 
- Tue Jan 18 16:19:55 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.h (BIGGEST_ALIGNMENT): Set to 128.
- 	(BIGGEST_FIELD_ALIGNMENT): Set to (TARGET_ALIGN_DOUBLE ? 64 : 32)
- 
- 	* i386.md (memstr): Do not use rep stosb for counts divisible by 4
- 	when optimize_size.
- 	(clrstrsi): Rewrite.
- 	(strsethi, strsetqi): New expanders.
- 	(strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
- 	(cmpstrsi): Emit compare insn before cmpstrsi_1
- 	(cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
- 	(strlensi_1): Likewise.
- 	(cmpstrsi_1): Likewise; do not output compare.
- 	(strlen expander): Do not unroll when optimizing for size.
- 	(*subsi3_carry): Rename to subsi3_carry
- 	(addqi3_cc): New pattern.
- 	* i386.h (processor_costs): Add move_ratio field.
- 	(MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
- 	* i386.c (*_cost): Set move_ratio.
- 	(x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
- 	(x86_expand_strlensi_1): Rewrite the main loop.
- 
- 2000-01-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
- 	* cse.c (find_comparison_args, fold_rtx): Likewise.
- 	* integrate.c (subst_constants): Likewise.
- 	* loop.c (get_condition): Likewise.
- 
- 	* tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs.
- 
- 	* alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF.
- 
- 2000-01-18  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.
- 	(RESTORE_WARN_FLAGS): Unpack it.
- 	Change semantic type of extension to ttype.
- 	* c-common.c (split_specs_attrs): Expect an INTEGER_CST.
- 	* c-parse.y, c-parse.c, objc/objc-parse.y,
- 	objc/objc-parse.c: Regenerate.
- 
- 2000-01-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fixinc/fixlib.c: Add copyright notice.
- 	(compile_re): New function.
- 	* fixinc/fixlib.h: Prototype compile_re.
- 
- 	* fixinc/fixfixes.c, fixinc/fixtests.c, fixinc/fixincl.c:
- 	Use compile_re to compile regular expressions.
- 
- 	* fixinc/fixincl.c (egrep_test): Don't bother asking regexec
- 	where the pattern matched.
- 
- 	* fixinc/inclhack.def (sun_memcpy): Move to AAB_sun_memcpy,
- 	use 'replace'.
- 	(ultrix_ansi_compat): Likewise.
- 	(interactv_add1): Rename to 'isc_omits_with_stdc', remove shell test,
- 	add egrep test.
- 	(interactv_add2, interactv_add3): Delete.
- 	(x11_sprintf): Don't use filename glob.
- 	* fixinc/fixincl.x, fixinc/inclhack.sh, fixinc/fixincl.sh:
- 	Regenerate.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* print-rtl.c: PROTO -> PARAMS.
- 	* real.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* resource.c: Likewise.
- 	* sdbout.h: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* stupid.c: Likewise.
- 	* xcoffout.c: Likewise.
- 	* xcoffout.h: Likewise.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c: PROTO -> PARAMS.
- 	* toplev.h: Likewise.
- 	* tree.c: Likewise.
- 	* tree.h: Likewise.
- 	* unroll.c: Likewise.
- 	* varasm.c: Likewise.
- 	* varray.c: Likewise.
- 	* varray.h: Likewise.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* reload.c: PROTO -> PARAMS.
- 	* reload.h: Likewise.
- 	* reload1.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.h: Likewise.
- 	* rtl.c: Likewise.
- 	* rtl.h: Likewise.
- 	* rtlanal.c: Likewise.
- 	* sbitmap.h: Likewise.
- 	* sdbout.c: Likewise.
- 	* stack.h: Likewise.
- 	* stmt.c: Likewise.
- 	* system.h: Likewise.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* machmode.h: PROTO -> PARAMS.
- 	* mbchar.h: Likewise.
- 	* mips-tdump.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* optabs.c: Likewise.
- 	* output.h: Likewise.
- 	* prefix.c: Likewise.
- 	* profile.c: Likewise.
- 	* protoize.c: Likewise.
- 	* real.h: Likewise.
- 	* recog.c: Likewise.
- 	* recog.h: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* regs.h: Likewise.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ggc-common.c: PROTO -> PARAMS.
- 	* ggc-page.c: Likewise.
- 	* ggc-simple.c: Likewise.
- 	* ggc.h: Likewise.
- 	* global.c: Likewise.
- 	* graph.c: Likewise.
- 	* gthr-win32.h: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* halfpic.h: Likewise.
- 	* integrate.c: Likewise.
- 	* integrate.h: Likewise.
- 	* jump.c: Likewise.
- 	* lcm.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* loop.h: Likewise.
- 
- 2000-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c: PROTO -> PARAMS.
- 	* genattrtab.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* gencodes.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* genflags.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* genrecog.c: Likewise.
- 
- 2000-01-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (BINFO_VPTR_FIELD): Augment documentation.
- 
- 2000-01-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro.
- 	* configure.in (AC_FUNC_MMAP_ZERO): Use instead of AC_FUNC_MMAP.
- 	* ggc-page.c: Replace HAVE_MMAP with HAVE_MMAP_ZERO.
- 	* configure, config.in: Rebuilt.
- 
- 2000-01-16  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* config/i386/i386.md: Add peephole to merge successive stack
- 	adjusts.
- 
- Sat Jan 15 15:41:14 EST 2000  John Wehle  (john@feith.com)
- 
- 	* gcse.c (insert_insn_end_bb): Use emit_block_insn_before
- 	instead of emit_insn_before.  Also handle NOTE_INSN_BASIC_BLOCK
- 	when walking backwards to find all the parameter loads when
- 	the basic block ends in a call.
- 
- 2000-01-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* loop.c (this_loop_info): Delete.
- 	(uid_loop): Add in place of uid_loop_num.  All uses updated.
- 	(loop_number_exit_count): Delete and replace with entry in loop
- 	structure.  All uses updated.
- 	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
- 	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
- 	(loop_outer_loop): Likewise.
- 	(loop_invalid, loop_number_exit_labels): Likewise.
- 	(loop_used_count_register): Delete and replace with entry in
- 	loop_info structure.
- 	(find_and_verify_loops): Add loops argument.
- 	(verify_dominator, mark_loop_jump, prescan_loop): Replace loop_start,
- 	loop_end, etc. arguments with loop structure pointer.  All callers
- 	changed.
- 	(loop_reg_used_before_p, scan_loop, strength_reduce): Likewise.
- 	(check_dbra_loop, next_insn_in_loop, try_copy_prop): Likewise.
- 	(load_mems_and_recount_loop_regs_set, load_mems): Likewise.
- 	(insert_bct): Likewise.
- 	(basic_induction_var): New argument level.
- 	* loop.h (struct loop_info): Delete fields num, loops_enclosed,
- 	vtop, and cont.  Add used_count_register.
- 	(uid_loop): Delete declaration.
- 	(loop_number_exit_count): Likewise.
- 	(loop_number_loop_starts, loop_number_loop_ends): Likewise.
- 	(loop_number_loop_cont, loop_number_cont_dominator): Likewise.
- 	(loop_outer_loop, loop_used_count_register): Likewise.
- 	(loop_invalid, loop_number_exit_labels): Likewise.
- 	(unroll_loop): Replace loop_start and loop_end arguments
- 	with loop structure pointer.
- 	(loop_precondition_p, loop_iterations): Likewise.
- 	Include basic-block.h.
- 	* unroll.c: (unroll_loop): Replace loop_start and loop_end arguments
- 	with loop structure pointer.
- 	(loop_precondition_p, loop_iterations): Likewise.
- 	* basic-block.h (struct loop): New entries vtop, cont,
- 	cont_dominator, start, end, top, scan_start, exit_labels,
- 	exit_count.
- 	* Makefile.in (LOOP_H): Add basic-block.h to dependencies.
- 
- 2000-01-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* defaults.h (ASM_OUTPUT_ASCII): Use ISDIGIT.
- 
- 2000-01-14  Nathan Sidwell  <sidwell@codesourcery.com>
- 
- 	* config.in: Rebuilt for 2000-01-13 change to acconfig.h.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pdp11-protos.h: New file.
- 
- 	* pdp11.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* pdp11.h: Move prototypes to pdp11-protos.h.  Fix compile time
- 	warnings.
- 
- 	* pdp11.md: Likewise.
- 
- 	* 2bsd.h: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mn10300-protos.h: New file.
- 
- 	* mn10300.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* mn10300.h: Move prototypes to mn10300-protos.h.  Fix compile time
- 	warnings.
- 
- 	* mn10300.md: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mn10200-protos.h: New file.
- 
- 	* mn10200.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* mn10200.h: Move prototypes to mn10200-protos.h.  Fix compile time
- 	warnings.
- 
- 	* mn10200.md: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* h8300-protos.h: New file.
- 
- 	* h8300.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* h8300.h: Move prototypes to h8300-protos.h.  Fix compile time
- 	warnings.
- 
- 	* h8300.md: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* varasm.c (asm_output_bss): Mark parameters with ATTRIBUTE_UNUSED.
- 	(asm_emit_uninitialised): Likewise.
- 
- 2000-01-13  Gavin Romig-Koch  <gavin@cygnus.com>
- 
- 	* config/mips/mips.h (ISA_HAS_INT_CONDMOVE): New.
- 	* config/mips/mips.md: Use ISA_HAS_INT_CONDMOVE.
- 
- 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.c (override_options): Don't turn on extra
- 	alignment for mips16.
- 
- 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.c (mips_va_arg): Fix fprv for the 32 bit
- 	eabi, and make sure queued POSTINCREMENT rtl is emitted at
- 	the right point.
- 
- 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* builtins.c (PAD_VARARGS_DOWN): Define.
- 	(std_expand_builtin_va_arg): Use the above macro.
- 	* config/mips/mips.h (PAD_VARARGS_DOWN): Define.
- 	* tm.texi (Register Arguments): Document the above macro.
- 
- 2000-01-14  Nick Clifton  <nickc@cygnus.com>
- 
- 	* emit-rtl.c (emit_insn): If checking is enabled, make sure
- 	that this function has not been used to emit a jump
- 	instruction.
- 
- 	* jump.c (return_jump_1): Cope with being passed a null rtx.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* eh-common.h: PROTO -> PARAMS.
- 	* emit-rtl.c: Likewise.
- 	* errors.c: Likewise.
- 	* errors.h: Likewise.
- 	* except.c: Likewise.
- 	* except.h: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* expr.h: Likewise.
- 	* final.c: Likewise.
- 	* fix-header.c: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* function.h: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sh-protos.h: New file.
- 
- 	* sh.c: Include insn-config.h, toplev.h, recog.h and tm_p.h.
- 	Add static prototypes.  Fix compile time warnings.
- 
- 	* sh.h: Move prototypes to sh-protos.h.  Fix compile time warnings.
- 	* sh.md: Likewise.
- 	* elf.h: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arc-protos.h: New file.
- 
- 	* arc.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* arc.h: Move prototypes to arc-protos.h.  Fix compile time
- 	warnings.
- 
- 	* arc.md: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dsp16xx-protos.h: New file.
- 
- 	* dsp16xx.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* dsp16xx.h: Move prototypes to dsp16xx-protos.h.  Fix compile time
- 	warnings.
- 
- 	* dsp16xx.md: Likewise.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* convex-protos.h: New file.
- 
- 	* convex.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* convex.h: Move prototypes to convex-protos.h.  Fix compile time
- 	warnings.
- 
- 2000-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* elxsi-protos.h: New file.
- 
- 	* elxsi.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* elxsi.h: Move prototypes to elxsi-protos.h.  Fix compile time
- 	warnings.
- 
- 	* elxsi.md: Likewise.
- 
- 2000-01-14  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.h (REGISTER_MOVE_COST): Remove redundant
- 	case for moving from HI/LO/HI_LO_REG.  This makes the behavior
- 	match the comment for MIPS16.
- 
- Fri Jan 14 00:28:06 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (split_edge): Do not call set_block_for_insn if we
- 	do not have a basic_block_for_insn structure.
- 
- 	* fr30.h (TRAMPOLINE_TEMPLATE): Use nops to ensure the static chain
- 	and destination functions are 32bit aligned within the trampoline.
- 	(TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Corresponding changes.
- 	(TRAMPOLINE_ALIGNMENT): Define.
- 
- 	* cse.c (cse_insn): When changing (set (pc) (reg)) to
- 	(set (pc) (label_ref)), verify the change creates a valid insn.
- 
- 	* fr30.c (call_operand): Tighten and rework to match rules for
- 	call RTL expressions.
- 	* fr30.h (PREDICATE_CODES, case call_operand): Only allow MEMs.
- 	* fr30.md (call patterns): Improve constraints.
- 
- Thu Jan 13 23:44:03 2000  Richard Henderson  <rth@cygnus.com>
- 
- 	* fr30.c (fr30_expand_epilogue): Revert last change.
- 	Use emit_jump_insn for the return insn.
- 
- Thu Jan 13 14:46:03 2000  Jason Eckhardt  <jle@cygnus.com>
- 			  Stan Cox  <scox@cygnus.com>
- 
- 	* predict.c: New file. Preliminary infrastructure work for static
- 	branch prediction and basic block reordering.
- 	* basic-block.h: Add prototype for estimate_probability.
- 	* Makefile.in: Add rules for predict.o.
- 
- 2000-01-13  Jason Merrill  <jason@yorick.cygnus.com>
- 
- 	* fixincludes (va_list): Use __not_va_list__ for the dummy.
- 	* fixinc/*: Likewise.
- 
- 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cccp.c: PROTO -> PARAMS.
- 	* cexp.y: Likewise.
- 	* collect2.c: Likewise.
- 	* combine.c: Likewise.
- 	* convert.h: Likewise.
- 	* cse.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* dbxout.h: Likewise.
- 	* diagnostic.c: Likewise.
- 	* doprint.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarf2out.h: Likewise.
- 	* dwarfout.c: Likewise.
- 	* dwarfout.h: Likewise.
- 	* dyn-string.h: Likewise.
- 
- 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (emit_call_1): Wrap varaible `struct_value_size_rtx' in
- 	macro conditionals guarding use.
- 
- 	* dwarf2out.c: Include "tm_p.h".
- 
- 	* function.c (locate_and_pad_parm): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	(expand_function_end): Likewise for variable `context'.
- 
- 	* reorg.c (make_return_insns): Wrap prototype in macro HAVE_return.
- 
- 2000-01-13  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fr30/fr30.c (fr30_expand_epilogue): Emit USEs of pop'ed
- 	register to prevent compile time warnings.
- 
- 2000-01-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* longlong.h [i386] (udiv_qrnnd): Rename 'd' argument to 'dv'
- 	to avoid -Wtraditional warning.
- 
- 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a-protos.h: New file.
- 
- 	* 1750a.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* 1750a.h: Move prototypes to 1750a-protos.h.  Fix compile time
- 	warnings.
- 
- 	* 1750a.md: Likewise.
- 
- 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* a29k-protos.h: New file.
- 
- 	* a29k.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* a29k.h: Move prototypes to a29k-protos.h.  Fix compile time
- 	warnings.
- 
- 2000-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* clipper-protos.h: New file.
- 
- 	* clipper.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* clipper.h: Move prototypes to clipper-protos.h.  Fix compile time
- 	warnings.
- 
- Thu Jan 13 16:03:06 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* reload1.c (reload_combine_note_store): Use HARD_REGNO_NREGS.
- 
- 2000-01-13  Nathan Sidwell  <sidwell@codesourcery.com>
- 
- 	* configure.in (--enable-new-gxx-abi): New option.
- 	* acconfig.h (ENABLE_NEW_GXX_ABI): New define.
- 	* Makefile.in (GXX_ABI_FLAG): New variable.
- 	* configure: Regenerate.
- 
- 2000-01-13  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* stor-layout.c (layout_type): Use FORCE_STRUCT_BLK.
- 	* tm.texi (FORCE_STRUCT_BLK): Document.
- 	* config/c4x/c4x.h (FORCE_STRUCT_BLK): New macro.
- 
- Wed Jan 12 23:12:47 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/ns32k/ns32k.md: Revert Jan 9 change.
- 
- 	* genrecog.c (maybe_both_true_2): Do not compare a predicate-test
- 	to a mode-test, if the predicate is address_operand.
- 
- Wed Jan 12 22:34:00 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (if_then_else_cond): Be careful about what kinds
- 	of RTL expressions are passed to operand_subword.
- 
- 	* flow.c (split_edge): If we have to insert a new jump, make
- 	sure to associate it with a basic block.
- 
- 	* flow.c (commit_one_edge_insertion): A block with one successor
- 	can end in a JUMP_INSN that is not a simplejump.
- 
- 2000-01-12  Robert Lipe  <robertl@sco.com>
- 
- 	* i386/sco5.h (INIT_SECTION_ASM_OP_COFF): Rename section to "ctor".
- 	(BUILD_VA_LIST_TYPE): Define.
- 	(EH_FRAME_SECTION_ASM_OP): Explictly define to better interact
- 	with crtstuff.c.
- 
- 2000-01-12  Jason Merrill  <jason@casey.cygnus.com>
- 
- 	* cccp.c (do_pragma): Add cast to (char *).
- 
- 2000-01-12  Richard Henderson  <rth@cygnus.com>
- 	    Fred Fish  <fnf@be.com>
- 	    Jason Merrill  <jason@cygnus.com>
- 
- 	* configure.in (i?86-*-beos{pe,elf,}*): Recognize.
- 	* i386/t-beos, i386/x-beos, i386/xm-beos.h: New files.
- 	* i386/beos-elf.h, i386/beos-pe.h: New files.
- 
- 	* Makefile.in (CROSS_SYSTEM_HEADER_DIR): New.
- 	* cross-make (SYSTEM_HEADER_DIR): Define using
- 	CROSS_SYSTEM_HEADER_DIR.
- 
- 	* gcc.c (LIBRARY_PATH_ENV): Provide default.
- 	(process_command): Use it.
- 	(main): Likewise.  Kill trailing = from env vars.
- 	(build_search_list): Put it back.
- 	* collect2.c (main): Use LIBRARY_PATH_ENV.
- 
- 	* configure.in (GCC_NEED_DECLARATIONS): Add environ.
- 	* toplev.c: Use NEED_DECLARATION_ENVIRON.
- 
- 	* tm.texi (Frame Layout): Document SMALL_STACK.
- 	* c-common.c (c_common_nodes_and_builtins): Check it.
- 
- 	* system.h: Undef alloca after including glibc's <stdlib.h>,
- 	if USE_C_ALLOCA is defined.
- 
- 	* gcc.c (set_input): New fn.
- 	(main): After all input files are compiled, reset the input file
- 	info to the first.
- 
- 	* aclocal.m4 (rindex, index): If already defined, don't attempt
- 	to redefine.
- 
- 	* ginclude/varargs.h: (__va_list__): Define ifndef.
- 	* ginclude/stdarg.h: Likewise.
- 
- 	* ginclude/stddef.h (__WCHAR_TYPE__) [BEOS]: Use int
- 	instead of unsigned char.
- 
- 	* hash.h (true, false, boolean): Undef before enum.
- 
- 	* expmed.c (choose_multiplier): Cast &mhigh_lo and &mhigh_hi to be
- 	proper type of "HOST_WIDE_INT *", rather than their natural type of
- 	"unsigned HOST_WIDE_INT *".
- 
- 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* svr3.h (ASM_FILE_START): Wrap if-clause in squigly brackets.
- 
- 	* recog.c (memory_address_p): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* regclass.c (choose_hard_reg_mode): Likewise.
- 
- 	* reload.c (find_valid_class, strict_memory_address_p): Likewise.
- 
- 	* reorg.c (optimize_skip): Wrap prototype in macro conditionals.
- 
- 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c: PROTO -> PARAMS.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-iterate.c: Likewise.
- 	* c-lang.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-lex.h: Likewise.
- 	* c-parse.in: Likewise.
- 	* c-pragma.c: Likewise.
- 	* c-pragma.h: Likewise.
- 	* c-tree.h: Likewise.
- 	* c-typeck.c: Likewise.
- 	* objc/objc-act.c: Likewise.
- 	* objc/objc-act.h: Likewise.
- 
- 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m88k-protos.h: New file.
- 
- 	* m88k.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* m88k.h: Move prototypes to m88k-protos.h.  Fix compile time warnings.
- 
- 	* m88k.md: Likewise.
- 
- 	* tekXD88.h: Likewise.
- 
- 2000-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k-protos.h: New file.
- 
- 	* m68k.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* m68k.h: Move prototypes to m68k-protos.h.  Fix compile time warnings.
- 
- 	* mot3300.h: Likewise.
- 
- 2000-01-12  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* haifa-sched.c (split_edges): Pass edgeset_size as second arg to
- 	extract_bitlst.
- 	(extract_bitlist): Declare bitlen.
- 
- 2000-01-12  Zack Weinberg  <zack@wolery.cumb.org
- 
- 	* cccp.c: Accept and ignore -lang-fortran.
- 
- 	* c-typeck.c (build_c_cast): Issue -Wcast-qual warnings if the
- 	qualifiers don't match at any level of pointerness.
- 
- 2000-01-12  Robert Lipe  <robertl@sco.com>
- 
- 	* i386/sysv5.h (CPP_SPEC, LIBSPEC): Add -pthreadT.
- 
- 2000-01-12  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (reload_reg_unavailable): New static variable.
- 	(reload_reg_free_p): Test it.
- 	(reload_reg_free_for_value_p): Test it instead of
- 	reload_reg_used.
- 	(choose_reload_regs_init): Compute it.
- 
- Wed Jan 12 03:24:41 2000  Toshiyasu Morita (toshi.morita@sega.com)
- 
- 	* reorg.c (fill_slots_from_thread): Check modified_in_p
- 	before replacing.
- 
- Wed Jan 12 03:20:31 2000  John Marshall <john_w_marshall@palm.com>
- 
- 	* gcc.texi (Funding, GNU/Linux, Copying, Contributors): Format
- 	these nodes even if INTERNALS is not set.
- 
- Wed Jan 12 09:39:22 2000  Nick Burrett  <nick.burrett@btinternet.com>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Cope when
- 	get_condition cannot determine the condition.
- 
- 2000-01-12  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.h (set_message_length): Declare.
- 
- 	* diagnostic.c (obstack_chunk_alloc): Define macro.
- 	(obstack_chunk_free): Likewise.
- 	(struct output_buffer): New data structure.
- 	(vmessage): Remove.
- 	(output_maximum_width): New variable.
- 	(doing_line_wrapping, set_message_length, init_output_buffer,
- 	get_output_prefix, output_space_left, emit_output_prefix,
- 	output_newline, output_append, output_puts, dump_output,
- 	vbuild_message_string, build_message_string, build_location_prefix,
- 	voutput_notice, output_printf, line_wrapper_printf,
- 	vline_wrapper_message_with_location):  New functions. Implement
- 	automatic line wrapping.
- 	(v_message_with_decl): Make it handle automatic line wrapping.
- 	(v_error_with_file_and_line): Likewise.
- 	(v_warning_with_file_and_line): Likewise.
- 	(announce_function): Likewise.
- 	(default_print_error_function): Likewise.
- 
- 2000-01-11 16:24 -0800  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (struct cpp_options): Change lang_asm to char.
- 	Add lang_fortran.
- 	* cppinit.c (builtin_array): Take out __STDC_VERSION__, it's
- 	done in cpp_handle_option now.
- 	(initialize_builtins): Take out special case code used only by
- 	__STDC_VERSION__.
- 	(cpp_handle_option): Turn off trigraphs and trigraph warnings
- 	if -traditional.  Recognize -lang-fortran and set
- 	lang_fortran, also turn off cplusplus_comments.
- 	(print_help): Document -lang-fortran.
- 	* cpplib.c (handle_directive): Ignore `# 123 "file"' if
- 	lang_asm. Ignore all directives other than `# 123 "file"' if
- 	CPP_PREPROCESSED.
- 	(cpp_get_token): If -traditional, don't recognize directives
- 	unless the # is in column 1.
- 	(parse_string): If lang_fortran or lang_asm, silently
- 	terminate strings ('' or "") at end of line.
- 	Remove unnecessary braces.
- 
- 2000-01-11  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* resource.c (mark_referenced_resources): Mark a set strict_low_part
- 	as used.
- 	* config/i386/i386.c (ix86_expand_setcc): Re-enable clear + set
- 	strict_low_part when possible.
- 
- 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alias.c: PROTO -> PARAMS.
- 	* basic-block.h: Likewise.
- 	* bitmap.c: Likewise.
- 	* bitmap.h: Likewise.
- 	* builtins.c: Likewise.
- 	* c-aux-info.c: Likewise.
- 	* caller-save.c: Likewise.
- 	* calls.c: Likewise.
- 
- 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o): Depend on regs.h.
- 
- 	* output.h (tdesc_section): Prototype.
- 
- 	* regclass.c (copy_cost): Mark parameters with ATTRIBUTE_UNUSED.
- 
- 	* sdbout.c: Include "tm_p.h".
- 
- 	* toplev.c: Include "regs.h".
- 
- Tue Jan 11 11:37:58 2000  Mike Stump  <mrs@wrs.com>
- 
- 	* unroll.c (unroll_loop): Add EH support.
- 
- 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pa-protos.h: New file.
- 
- 	* pa.c: Include recog.h and tm_p.h.
- 	(compute_zdepwi_operands, compute_movstrsi_length,
- 	remove_useless_addtr_insns, store_reg, load_reg, set_reg_plus_d,
- 	find_addr_reg, import_milli): Add static prototypes.
- 	(pa_cpu_string, pa_arch_string): Constify a char*.
- 	(legitimize_pic_address): Pass argument `mode' to pic_label_operand.
- 	(read_only_operand): Add argument `mode'.
- 	(singlemove_string, output_move_double, output_fp_move_double,
- 	output_block_move, output_and, output_ior, output_ascii,
- 	remove_useless_addtr_insns, milli_names, output_mul_insn,
- 	output_div_insn, output_mod_insn, output_arg_descriptor,
- 	output_cbranch, output_bb, output_bvb, output_dbra, ,
- 	output_millicode_call, output_call, hppa_encode_label,
- 	output_parallel_movb, output_parallel_addb): Constify a char*.
- 	(hppa_va_start): Mark parameter `stdarg_p' with ATTRIBUTE_UNUSED.
- 	(output_parallel_addb): Remove extra arg to `constrain_operands'
- 
- 	* pa.h:  Move all prototypes to pa-protos.h.
- 	(pa_cpu_string, pa_arch_string): Constify a char*.
- 	(LEGITIMIZE_ADDRESS): Call `symbolic_operand' with mode argument.
- 
- 	* pa.md: Call `function_label_operand' with mode argument.
- 	Likewise for `read_only_operand'.
- 	Fix nesting of parens in call to `symbolic_operand'.
- 
- 2000-01-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i860-protos.h: New file.
- 
- 	* i860.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* i860.h: Move prototypes to i860-protos.h.  Fix compile time warnings.
- 
- 	* i860.md: Likewise.
- 
- Tue Jan 11 18:59:35 MET 2000  Jan Hubicka <jh@suse.cz>
- 
- 	* i386.md (movstrsi expander): Rewrite.
- 	(movstrsi_1 insn): Deleted.
- 	(strmovhi, strmovqi expander): New expanders.
- 	(movshi_1, movsqi_1, rep_movsi, rep_movqi): New patterns.
- 	* i386.c (x86_single_stringop): New global variable.
- 	* i386.h (x86_single_stringop): Declare.
- 	(TARGET_SINGLE_STRINGOP): New macro.
- 
- 2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.c (mips_va_arg): For EABI, emit the queued
- 	integer vararg POSTINCREMENT before the destination of the jump
- 	for the hard fp case.
- 	(function_arg_pass_by_reference): Pass a copy of CUM to
- 	FUNCTION_ARG.
- 
- 	* config/mips/mips.h (GO_IF_LEGITIMATE_ADDRESS): Move check
- 	for CONSTANT_ADDRESS_P above while loop for subreg.
- 
- 2000-01-11  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* flow.c (propagate_block): When a prologue/epilogue insn
- 	is marked dead, unconditionally clear libcall_is_dead and
- 	insn_is_dead, and only dump rtl if warnings aren't being
- 	suppressed.
- 
- Tue Jan 11 16:26:47 MET 2000  Jan Hubicka <jh@suse.cz>
- 
- 	* i386.c (ix86_attr_length_default): Handle TYPE_STR and TYPE_CLD.
- 	* i386.md (FIRST_PSEUDO_REGISTER): Set to 20.
- 	(FIXED_REGISTERS): Set dirflag as fixed.
- 	(CALL_USED_REGISTERS): Set dirflag as used.
- 	(REG_ALLOC_ORDER): Set dirflag as last one.
- 	(DIRFLAG_REG): New macro.
- 	(MD_ASM_CLOBBERS): Asm clobber dirflag for backward compatibility.
- 	(HI_REGISTER_NAMES): Add dirflag.
- 	(DEBUF_PRINT_REG): Handle dirflag.
- 	* i386.md (type attribute): New cld and str types.
- 	(length_opcode attribute): Set cld and str to 1.
- 	(memory attribute): Set str to unknown - it is not clear from the
- 	patterns.
- 	(pent_np function unit): Prefixed string operations takes 12 cycles
- 	minimally; cld takes 2 cycles.
- 	(ppro_uops attribute): Str is "many" and cld is "few".
- 	(ppro_p0 unit): Handle cld here.
- 	(k6_alux unit): Handle cld and str types.
- 	(k6_load unit): It is ocupied by str opcodes.
- 	(k6_store unit): It is ocupied by str opcodes.
- 	(athlon_decode): Str is vector decoded.
- 	(athlon_ieu): Handle str and cld.
- 	(cld pattern): New.
- 	(movstrsi, clrstr, cmpstr, strlen expander): Emit cld instruction
- 	(movstrsi_1, clrstrsi_1, cmpstrsi_1, strlensi_1,
- 	cmpstrsi_nz_1 insn): Do not output cld instruction
- 
- Tue Jan 11 06:14:39 2000  David Starner <dstarner98@aasaa.ofe.org>
- 
- 	* gcc.texi (G++ and GCC): Add Java and Chill.
- 	(Bug Critera): Don't list languages.
- 
- 	* gcc.texi (Incompatibilities): No longer claim most C compilers
- 	are K&R.
- 
- 	* gcc.texi (G++ and GCC): Update other front-ends list.
- 
- Tue Jan 11 05:49:01 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* i386.c (ix86_expand_setcc): Fix typo.
- 	(ix86_expand_movcc): Similarly.
- 
- 	* Band-aid until haifa's bitset implementation is nuked.
- 	* haifa-sched.c (extract_bitlst): New parameter for size of the
- 	bitset in bits.  All callers changed.  Avoid looking at undefined
- 	bits in the bitset.
- 	(edgeset_bitsize): New variable.
- 	(schedule_region): Initialize edgeset_bitsize.
- 
- 2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (optabs.o): Depend on real.h
- 	(resource.o): Depend on insn-attr.h
- 
- 	* builtins.c (result_vector): Wrap prototype in macro conditions
- 	governing definition and use.
- 
- 	* c-common.c: Include tm_p.h.
- 
- 	* c-lex.c: Likewise.
- 
- 	* elfos.h: Constify a char*.
- 
- 	* final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length.
- 	(get_attr_length, shorten_branches, profile_after_prologue): Mark
- 	parameter with ATTRIBUTE_UNUSED.
- 
- 	* fold-const.c (exact_real_inverse): Wrap variable `i' in
- 	CHECK_FLOAT_VALUE.
- 
- 	* haifa-sched.c (schedule_insns): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 	* optabs.c: Include real.h.
- 
- 	* real.h (ereal_atof): Add prototype arguments.
- 
- 	* resource.c: Include insn-attr.h.
- 
- 	* sdbout.c (sdbout_queue_anonymous_type,
- 	sdbout_dequeue_anonymous_types): Wrap in macro
- 	SDB_ALLOW_FORWARD_REFERENCES.
- 	(sdbout_init, sdbout_start_new_source_file): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 	* stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return.
- 
- 	* stupid.c: Include tm_p.h.
- 
- 	* tree.c (real_value_from_int_cst): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 2000-01-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i960-protos.h: New file.
- 
- 	* i960.c: Include tm_p.h.  Add static prototypes.  Fix compile
- 	time warnings.
- 
- 	* i960.h: Move prototypes to i960-protos.h.  Fix compile time warnings.
- 
- 2000-01-10  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* combine.c (expand_field_assignment): Do not discard SUBREGs
- 	while computing nonzero_bits.
- 
- 2000-01-09  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c: Fix compile time warnings about signed vs
- 	unsigned constants.
- 	* config/arm/arm.h: Fix compile time warnings about signed vs
- 	unsigned constants.
- 
- 2000-01-09  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (output_return_instruction): Use `ldr' rather
- 	than `ldm' with only one register.
- 	* config/arm/arm.md (push_multi): Use `str' rather than `stm' with
- 	only one register.
- 
- 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Say that R0 is
- 	clobbered.
- 
- Sun Jan  9 17:50:23 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/ns32k/ns32k.md (load or push effective address): Operand 1
- 	must have SImode.
- 
- 2000-01-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* elfos.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around
- 	assignment used as truth value.
- 
- 	* function.c (assign_temp): Mark parameter `dont_promote' with
- 	ATTRIBUTE_UNUSED.  Wrap variable `unsignedp' with macro
- 	PROMOTE_FOR_CALL_ONLY.
- 
- 	* genrecog.c (write_subroutine): Mark variable `operands' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* optabs.c (prepare_cmp_insn): Mark parameter `align' with
- 	ATTRIBUTE_UNUSED.
- 
- 	* sdbout.c (sdbout_init): Likewise for parameter `asm_file'.
- 	(sdbout_begin_block, sdbout_end_block): Likewise for `file'.
- 
- 	* toplev.c (note_deferral_of_defined_inline_function): Likewise
- 	for `decl'.
- 
- 2000-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x.h: Tidy up comments.
- 	* config/c4x.c: Likewise.
- 
- Sun Jan  9 01:02:55 EST 2000  John Wehle  (john@feith.com)
- 
- 	* fold-const.c (lshift_double, rshift_double): Handle
- 	shifting by 2 * HOST_BITS_PER_WIDE_INT correctly.
- 
- 2000-01-08  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
- 
- 	* toplev.c (rest_of_compilation): Initialize cse_not_expected as
- 	in prepare_function_start().
- 
- Sat Jan  8 12:12:46 2000  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/v850/v850.c (expand_epilogue): Interrupt functions no
- 	longer allocate extra stack for function calls.
- 
- 2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*subqf3_set): Fix typo.
- 
- 2000-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (CALLER_SAVE_PROFITABLE): Define as 0.
- 
- 2000-01-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (processor_target_table): Add power3 as alias for 630.
- 	* aix43.h: Revert Aug 2 change.
- 	(HAS_INIT_SECTION): Define, not visible yet.
- 	(LD_INIT_SWITCH): Define, not visible yet.
- 	* t-aix43 (MULTILIB_OPTIONS): Revert Aug 2 change.
- 
- 	* glimits.h (__LONG_MAX__): Recognize 64-bit AIX too.
- 
- 	* collect2.c (main): Expand ld2 size further.
- 	(export_object_lst): Cast assignment to avoid warning.
- 	(main, LD_INIT_SWITCH): Add AIX 4.2+ -binitfini support.
- 	(scan_prog_file, COFF): Do not collect initialization or
- 	finalization functions generated for entire shared object if
- 	init/fini support present.
- 
- 2000-01-07  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/elfos.h: Tidy up formatting of marcos.  Make sure
- 	that .section directives are always prefixed by a tab.
- 
- 	* config/svr4.h: Add #include "elfos.h" and remove duplicate
- 	definitions.
- 
- 2000-01-07  Matt Austern  <austern@sgi.com>
- 
- 	* fold-const.c (real_hex_to_f): Remove duplicate declaration of
- 	expon.
- 
- Fri Jan  7 01:55:34 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (crtend.o): Pass @inhibit_libc@ to compilation of
- 	crtstuff.c.
- 	(crtbegin.o, s-crtS): Likewise.
- 
- 2000-01-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* alpha.md (adddi_2+1): Limit offset such that it will be
- 	loadable with a single ldah+lda pair.
- 	(adddi_2+2): Explicitly fail split if we can't make it work.
- 
- 2000-01-06  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* protoize.c: Conditionally include unistd.h.
- 	(IS_SAME_PATH_CHAR): New macro.
- 	(IS_SAME_PATH): New macro.
- 	(CPLUS_FILE_SUFFIX): New macro.
- 	(cplus_suffix): New static variable.
- 	(is_abspath): New static function.
- 	(in_system_include_dir): Handle DOS style pathnames.
- 	(file_could_be_converted): Likewise.
- 	(file_normally_convertible): Likewise.
- 	(directory_specified_p): Likewise.
- 	(file_excluded_p): Likewise.
- 	(abspath): Likewise.
- 	(shortpath): Likewise.
- 	(referenced_file_is_newer): Likewise.
- 	(save_def_or_dec): Likewise.
- 	(do_processing): Likewise.
- 	(main): Likewise.
- 	(edit_file): Likewise. Use rename instead of link.
- 	(rename_c_file): Likewise. Don't rename syscalls file.
- 	(munge_compile_params): Define null device for DOS based systems.
- 	(process_aux_info_file): Use binary mode if appliable.
- 	(edit_file): Likewise.
- 	* invoke.texi (Running Protoize): Document C++ suffixes used.
- 
- 	* cccp.c: Delete PATH_SEPARATOR, DIR_SEPARATOR and
- 	IS_DIR_SEPARATOR macros.
- 	* collect2.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c: Likewise.
- 	* prefix.c: Likewise.
- 	* rtl.c: Likewise.
- 	* toplev.c: Likewise.
- 	* system.h: And move to here.
- 
- 	* prefix.c (update_path): Fix typo in variable name.
- 
- 2000-01-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_set_1): Use loop_depth+1 as reference weight.
- 	(find_auto_inc, mark_used_regs, try_pre_increment_1): Likewise.
- 	(count_reg_sets_1, count_reg_references): Likewise.
- 	(flow_loops_level_compute): Start counting actual loop depth at 1.
- 	(flow_loops_find): Likewise.
- 	* local-alloc.c (update_equiv_regs): Likewise.
- 	* regclass.c (regclass): Re-instate Jan 4 0-based loop_depth change.
- 
- 2000-01-06  Gabriel Dos Reis  <dosreis@cmla.ens-cachan.fr>
- 
- 	* defaults.h (DWARF_FRAME_REGISTERS): if not defined, default to
- 	FIRST_PSEUDO_REGISTER
- 	* dwarf2out.c: Don't include frame.h
- 	* dwarfout.c: Likewise
- 	* Makefile.in (dwarfout.o, dwarf2out.o): Remove dependence on
- 	frame.h
- 
- Thu Jan  6 13:44:59 CET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle correctly USEs of
- 	dead registers.
- 
- 	* i386.c (movsf splitter): Fix typo in my last checkin.
- 
- 2000-01-05  Nick Clifton  <nickc@cygnus.com>
- 
- 	* varasm.c (IN_NAMED_SECTION): Allow targets to provide their
- 	own definition of this macro.
- 	(asm_emit_uninitialised): Invoke UNIQUE_SECTION if either
- 	flag_data_sections or UNIQUE_SECTION_P are true.
- 
- 	* tm.texi (UNIQUE_SECTION): Document that it can be called for
- 	uninitialized data decls.
- 
- 	* config/i386/winnt.c (i386_pe_unique_section): Cope with
- 	being called for uninitialized data.
- 
- 	* config/i386/interix.c (i386_pe_unique_section): Cope with
- 	being called for uninitialized data.
- 
- 	* config/mips/elf.h (UNIQUE_SECTION): Cope with being called
- 	for uninitialized data.
- 
- 	* config/mips/elf64.h (UNIQUE_SECTION): Cope with being called
- 	for uninitialized data.
- 
- 	* config/mips/iri6gld.h (UNIQUE_SECTION): Cope with being called
- 	for uninitialized data.
- 
- 	* config/arm/unknown-elf.h (IN_NAMED_SECTION): Define.
- 	(UNIQUE_SECTION_P): Always generate a unique section if
- 	flag_data_sections is true.
- 	(UNIQUE_SECTION): Also generate unique sections for
- 	uninitialized data.
- 	(ASM_OUTPUT_ALIGNED_BSS): Redefine to use named_section().
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Redefine to use
- 	named_section().
- 
- 2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/t-c4x (TARGET_LIBGCC2_CFLAGS): Don't redefine SF, DF,
- 	SI, or DI.
- 
- 2000-01-06  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (udivqi3, divqi3): Delete.
- 	(umodqi3, modqi3, udivhi3, divhi3, umodhi3, modhi3, ffsqi2): Likewise.
- 	(*smulqi3_highpart_noclobber, *umulqi3_highpart_noclobber): New.
- 	(*lshrqi3_const_noclobber, *lshrqi3_nonconst_noclobber): Likewise.
- 	(*ashrqi3_const_noclobber, *ashrqi3_nonconst_noclobber): Likewise.
- 
- 	* c4x.h (INIT_TARGET_OPTABS): Define to init libcalls.
- 
- 2000-01-05 11:25 -0800  Zack Weinberg  <zack@rabi.columbia.edu>
- 
- 	* c-decl.c (finish_enum): Simplify code to determine minimum and
- 	maximum values of the enum, and calculate the type.  Remove check
- 	for FUNCTION_DECLs in the values list, which cannot happen.  Replace
- 	the DECL_INITIAL of each enumeration constant with a copy converted
- 	to the enumeration type.  When updating variant types, don't bother
- 	updating the type itself.
- 
- 	* c-typeck.c (build_binary_op): Simplify conditional expressions
- 	when weeding out spurious signed-unsigned warnings.  Add new
- 	spurious warning category: if the unsigned quantity is an enum
- 	and its maximum value fits in signed_type(result_type).  Update
- 	commentary.
- 	(build_conditional_expr): Warn here if one alternative is signed
- 	and the other is unsigned.
- 
- 2000-01-05  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/fr30/fr30.h: Remove extraneous comments.
- 
- 2000-01-05  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* reload1.c (choose_reload_regs): When disabling a reload, also
- 	set reload_spill_index to -1.
- 
- 2000-01-04  Joel Sherrill (joel@OARcorp.com>
- 
- 	* configure.in (m68*-*-rtemscoff*): New target, formal name for
- 	old m68*-*-rtems*.
- 	(m68*-*-rtemself*): New target.
- 	(mips64orion-*-rtems*): Remove duplicate definition of tm_file.
- 	(sparc*-*-rtemsaout*): New target, formal name for old sparc*-*-rtems*.
- 	(sparc*-*-rtemself*): New target.
- 	(sparc*-*-rtems*): Now elf not a.out.
- 	* config/i386/rtems.h: Include config/rtems.h.
- 	* config/i386/rtemself.h: Include config/rtems.h.
- 	* config/i960/rtems.h: Include config/rtems.h.
- 	* config/m68k/rtems.h: Include config/rtems.h.
- 	* config/m68k/rtemself.h: Include config/rtems.h.
- 	* config/mips/rtems64.h: Include config/rtems.h.
- 	* config/pa/rtems.h: Include config/rtems.h.
- 	* config/rs6000/rtems.h: Include config/rtems.h.
- 	* config/sh/rtems.h: Include config/rtems.h.
- 	* config/sh/rtemself.h: Include config/rtems.h.
- 	* config/sparc/rtems.h: Include config/rtems.h.
- 	* config/sparc/rtemself.h: Include config/rtems.h
- 
- Tue Jan  4 23:59:26 2000  Denis Chertykov <denisc@overta.ru>
- 
- 	* final.c (shorten_branches): Correctly compute length of
- 	asms without operands.
- 
- Tue Jan  4 22:55:41 2000  Steve Chamberlain <sac@pobox.com>
- 
- 	* configure.in: Add pj target.
- 	* configure: Regenerate.
- 	* config/pj: New directory.
- 	* config/pj/lib1funcs.S: New file.
- 	* config/pj/linux.h: New file.
- 	* config/pj/pj.c: New file.
- 	* config/pj/pj.md: New file.
- 	* config/pj/pjl.h: New file.
- 	* config/pj/t-pj: New file.
- 	* config/pj/xm-pj.h: New file
- 
- Tue Jan  4 22:30:16 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (rest_of_compilation): Run shorten-branches before
- 	reg-stack for now.
- 
- 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (IS_XXX_REG, IS_XXX_REGNO): Swap behavior of
- 	macros so that they're consistent with their names.
- 	* config/c4x/c4x.c (IS_XXX_REG, IS_XXX_REGNO): Likewise.
- 	* config/c4x/c4x.md (IS_XXX_REG, IS_XXX_REGNO): Likewise.
- 
- 2000-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (*addqi3_noclobber_reload): Ensure that CC never
- 	modified inadvertently.
- 
- 2000-01-04  Joel Sherrill <joel@OARcorp.com>
- 
- 	* configure.in (v850*-*-rtems*): New target.
- 	* configure: Regenerate.
- 	* config/v850/rtems.h: New file.
- 
- 2000-01-04  Mumit Khan  <khan@xraylith.wisc.edu>
- 
- 	* gthr-win32.h (__gthread_active_p): Support Mingw MT runtime.
- 	(__gthread_key_create): Likewise.
- 	(__gthread_key_dtor):  Likewise.
- 	(__gthread_once): Fix logic.
- 	(__gthread_key_delete): Cast away constness.
- 
- 	* i386/cygwin.h (SUBTARGET_SWITCHES): Add -mthreads option.
- 	* invoke.texi: Document.
- 	* i386/mingw32.h (CPP_SPEC): Use.
- 	(LIBGCC_SPEC): Likewise.
- 	* i386/crtdll.h (LIBGCC_SPEC): Likewise.
- 
- 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/sysv4.h (ASM_OUTPUT_DEF): Undefine.
- 	(HANDLE_PRAGMA_PACK): Undefine.
- 	(SLOW_UNALIGNED_ACCESS): Define.
- 
- 2000-01-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expmed.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
- 	to default definition.
- 	(store_bit_field): Call SLOW_UNALIGNED_ACCESS with mode and alignment.
- 	(store_fixed_bit_field): Call macro with word_mode and alignment.
- 	(extract_bit_field): Call macro with relevant mode and alignment.
- 	* expr.c (SLOW_UNALIGNED_ACCESS): Add mode and align parameters
- 	to default definition.
- 	(move_by_pieces): Call SLOW_UNALIGNED_ACCESS with word_mode
- 	and alignment.
- 	(move_by_pieces_ninsns): Likewise.
- 	(clear_by_pieces): Likewise.
- 	(emit_push_insn): Likewise.
- 	(store_field): Call macro with relevant mode and alignment.
- 	(expand_expr): Likewise.
- 	(expand_expr_unaligned): Likewise.
- 
- 	* rs6000.h (HANDLE_PRAGMA_PACK): Define.
- 	(SLOW_UNALIGNED_ACCESS): Define.
- 	(CASE_VECTOR_MODE): Always use 32-bit offsets.
- 	(ASM_FILE_END): Generate 64-bit symbol in 64-bit mode.
- 	(EXTRA_SECTION_FUNCTIONS): Indent .csect pseudo-op.
- 	(toc_section): Likewise and .toc pseudo-op.
- 	(ASM_DECLARE_FUNCTION): Likewise.  Align text more strictly in
- 	64-bit mode.
- 	(TEXT_SECTION_ASM_OP): Likewise.
- 	(ASM_OUTPUT_ADD_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Always use
- 	32-bit offsets.
- 
- 	* a29k.h (SLOW_UNALIGNED_ACCESS): Add MODE and ALIGN parameters.
- 	* alpha.h (SLOW_UNALIGNED_ACCESS): Likewise.
- 	* arm/thumb.h (SLOW_UNALIGNED_ACCESS): Likewise.
- 	* gmicro.h (SLOW_UNALIGNED_ACCESS): Likewise.
- 	* fr30.h (SLOW_UNALIGNED_ACCESS): Likewise.
- 
- Tue Jan  4 11:44:13 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c: Revert my Jan 4 change to loop cost computation.
- 
- Tue Jan  4 19:22:39 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* regclass.c (regclass): Do not obey REG_N_REFS in non-optimizing
- 	compilation.
- 
- 2000-01-04  Stan Cox  <scox@cygnus.com>
- 
- 	* haifa-sched.c (build_control_flow): Change unreachable simple
- 	loop test to check if current block has only one predecessor.
- 	(find_rgns): Initialize degree.  Use dest as degree index, not src.
- 
- 2000-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strlen): Initialize variable `icode'.
- 
- 	* calls.c (expand_call): Likewise for
- 	`old_stack_arg_under_construction'.
- 
- 	* cpphash.c (macroexpand): Likewise for `args' and `rest_zero'.
- 
- 	* function.c (pad_to_arg_alignment): Likewise for `save_var' and
- 	`save_constant'.
- 
- 	* gcc.c (execute): Likewise for `ut' and `st'.
- 
- 	* genattrtab.c (attr_rtx): Likewise for `rt_val'.
- 
- 	* genopinit.c (gen_insn): Likewise for `m1', `m2' and `op'.
- 
- 	* jump.c (jump_optimize_1): Likewise for `temp2'.
- 
- 	* local-alloc.c (block_alloc): Likewise for `r1'.
- 
- 	* loop.c (recombine_givs): Likewise for `life_start' and `life_end'.
- 
- 	* reg-stack.c (check_asm_stack_operands): Likewise for `clobber_reg'.
- 	(subst_asm_stack_regs): Likewise for `clobber_reg' and `clobber_loc'.
- 
- 	* regmove.c (fixup_match_1): Likewise for `insn_const', `dst_node'
- 	and `set2'.
- 
- 	* reload.c (find_reloads): Likewise for `goal_alternative_number'
- 	and `goal_earlyclobber'.
- 
- 	* scan-decls.c (scan_decls): Likewise for `prev_id_end'.
- 
- 	* sdbout.c (sdbout_one_type): Likewise for `member_scl'.
- 
- 	* stupid.c (stupid_life_analysis): Likewise for `chain'.
- 
- 	* unroll.c (copy_loop_body): Likewise for `copy'.
- 
- 	* varasm.c (output_constructor): Likewise for `byte'.
- 
- Tue Jan  4 15:34:34 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* i386.c (ix86_expand_move): Allow pushes of memory, offload to memory
- 	all FP constants for constant->reg moves.
- 	(ix86_split_to_parts): Try to convert memory address into immediate
- 	when available in the constant pool.
- 	* i386.h (PREFERRED_RELOAD_CLASS): Allow CONST_DOUBLE->integer reg
- 	moves.
- 	(LEGITIMATE_CONSTANT_P): Return 1.
- 	* i386.md (pushsf): New splitter to convert constant pool memory
- 	reference to immediate.
- 	(mov?f): Likewise; do not allow CONST_DOUBLE for reg moves before
- 	reload.
- 
- 2000-01-04  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* i386.md (ashlsi3_cmpno): Don't accept variables shifts.
- 	(ashlhi3_cmpno, ashlqi3_cmpno, ashrsi3_cmpno, ashrhi3_cmpno,
- 	ashrqi3_cmpno, lshrsi3_cmpno, lshrhi3_cmpno, lshrqi3_cmpno): Likewise.
- 	(rotlsi3_cmpno, rotlhi3_cmpno, rotlqi3_cmpno, rotrsi3_cmpno,
- 	rotrhi3_cmpno, rotrqi3_cmpno): Likewise.
- 
- 2000-01-04  Martin von Löwis  <loewis@informatik.hu-berlin.de>
- 
- 	* ginclude/stdbool.h:  Support compilation as C++.
- 
- Tue Jan  4 01:35:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* fold-const.c (make_range): Don't try to reverse an unbounded range.
- 
- Tue Jan  4 00:18:46 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* regclass.c (regclass): Properly compute loop_cost.  Adjust
- 	comments.
- 
- 	* regclass.c: Fix minor whitespace problems.
- 
- 2000-01-03  Anthony Green  <green@cygnus.com>
- 
- 	* config/i386/i386.md (builtin_setjmp_receiver): New pattern.
- 	Restore the pic register if required.
- 
- 2000-01-03  Ulrich Drepper  <drepper@cygnus.com>
- 
- 	* c-common.c (format_char_info): Update comment.
- 	(check_format_info): Recognize 'z' modifier in the same way 'Z'
- 	was recognized.  Emit warning for formats new in ISO C99 only
- 	if flag_isoc9x is not set.
- 
- Mon Jan  3 12:59:54 2000  Mark P. Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/iris6gld.h: Fix typo in -mabi=n32 specs.
- 
- Mon Jan  3 15:33:37 MET 2000  Jan Hubicka  <hubicka@freesoft.cz>
- 
- 	* combine.c (expand_compound_operation): Do not convert ZERO_EXTEND to
- 	SIGN_EXTEND, convert SIGN_EXTEND to ZERO_EXTEND.
- 	(make_compound_operation): Choose cheaper alternative between
- 	ZERO_EXTEND and SIGN_EXTEND when sign bit is not set.
- 
- 	* regclass.c (op_costs): Remove global variable.
- 	(record_reg_classes): New parameter "op_costs" and "reg_pref".
- 	(record_operand_costs): Break out from ...
- 	(scan_one_insn): ... here.
- 	(dump_regclass): Make dumps nicer.
- 	(regclass): Dump preferrences choosed and changes done during passes.
- 
- 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (gen_df_reg): Fix for 32bit SPARC.
- 
- 2000-01-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (gen_df_reg): New function.
- 	* config/sparc/sparc-protos.h (gen_df_reg): Add prototype.
- 	* config/sparc/sparc.md (movtf_no_e_insn_sp64+1,
- 	movtf_no_e_insn_sp64+2, movtf_no_e_insn_sp64+3, movtf_cc_sp64+1,
- 	movtf_cc_reg_sp64+1): Use it.
- 
- 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.c (copy_decl_for_inlining): Clear TREE_ADDRESSABLE on
- 	copied LABEL_DECLs.
- 
- Mon Jan  3 02:54:40 2000  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/i386/i386.c (ix86_expand_unary_operator): Function
- 	definition made void.
- 	(ix86_expand_binary_operator): Update outdated preceding comment.
- 	* config/i386/i386-protos.h (ix86_expand_unary_operator): Update
- 	prototype.
- 
- 	* config/i386/i386.c (override_options): Fix option-name typo.
- 
- 2000-01-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* system.h (CEIL): Define.
- 	* builtins.c (CEIL): Remove.
- 	* expmed.c (CEIL): Likewise.
- 	* expr.c (CEIL): Likewise.
- 	* stor-layout.c (CEIL): Likewise.
- 
- 2000-01-02  Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* expr.c (store_constructor_field): Fix typo introduced with last
- 	gcc2 merge.
- 
- 2000-01-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (BINFO_N_BASETYPES): New macro.
- 
- 2000-01-01  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* expmed.c (emit_store_flag): Prevent losing a pending stack
- 	adjust the same way we prevent losing queued increments.
- 
- See ChangeLog.2 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.4 gcc-4.1.0/gcc/ChangeLog.4
*** gcc-4.0.2/gcc/ChangeLog.4	Thu Dec 19 05:18:03 2002
--- gcc-4.1.0/gcc/ChangeLog.4	Thu Jan  1 00:00:00 1970
***************
*** 1,15261 ****
- 2000-12-31  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Add missing asm
- 	operands.
- 
- 2000-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* dbxout.c (dbxout_block): Invert logic on eliding LBRAC/RBRAC.
- 	Initialize variables properly for DBX_LBRAC_FIRST.
- 
- 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): Fix typo in last change.
- 
- 2000-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (validate_arglist): New function, use it.
- 
- 2000-12-30  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Fix typos in error
- 	message and comment.  Note location of testcase for an unhandled
- 	situation.
- 
- 2000-12-30  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* defaults.h (BUILD_VA_LIST_TYPE): New definition.
- 	* tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
- 	is a copy, not an alias.
- 
- 2000-12-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (calls_function_1, case CONSTRUCTOR): New case.
- 
- 	* alias.c (alias_sets_conflict_p): New function.
- 	(mems_in_disjoint_alias_sets_p): Use it.
- 	(readonly_fields_p): Moved from expr.c; check for record type.
- 	(objects_must_conflict_p): New function.
- 	* calls.c (expand_call): Use assign_temp as much as possible, use
- 	readonly variant if assigned once, and don't set memory attributes.
- 	(emit_library_call_value_1, store_one_arg): Likewise.
- 	* integrate.c (expand_inline_function): Likewise.
- 	* stmt.c (expand_asm_operands, expand_return): Likewise.
- 	* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
- 	(store_field, save_noncopied_parts, expand_expr): Likewise.
- 	(expand_expr_unaligned): Likewise.
- 	(readonly_fields_p): Moved to alias.c.
- 	(safe_from_p): Rework handling of SAVE_EXPR.
- 	MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
- 	* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
- 	(assign_stack_for_temp): Use objects_must_confict_p.
- 	Set all memory attributes from type, if specified.
- 	(mark_temp_slot): Mark TYPE field.
- 	* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
- 	(objects_must_conflict_p): Likewise.
- 
- 	* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
- 	(add_case_node): No need to copy nodes anymore.
- 
- 2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (split_branches): Don't dereference re-computed
- 	`beyond' before checking it's non-NULL.
- 
- 2000-12-29  Robert Lipe <robertl@sco.com>
- 
- 	Remove COFF support from i?86-pc-sco3.2v5.
- 	* i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
- 	(TARGET_ELF): Now always true.
- 	(SUBTARGET_SWTICHES: )Remove -mcoff.
- 
- 	* i386/t-sco5 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
- 	MULTILIB_EXCEPTION): Nuke coff.
- 	(CRTSTUFF_T_CFLAGS_S):  Deleted.
- 	(TARGET_LIBGCC2_CFLAGS): Added.
- 
- 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* varasm.c (output_constant_def): Don't ENCODE_SECTION_INFO
- 	twice.  Update desc->rtl and ->label, in case ENCODE_SECTION_INFO
- 	modifies them.
- 
- 2000-12-29  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* ia64.c (ia64_expand_load_address): Accept additional scratch
- 	register argument.  All callers & prototype changed.
- 	Use scratch register when generating load_symptr insns.
- 	* ia64.md (movdi_symbolic): Clobber a scratch register.  Use it
- 	when calling ia64_expand_load_address.
- 	(movdi): Generate movdi_symbolic with additional operand.
- 	(load_gprel64): Use pic_offset_table_rtx instead of (reg:DI 1).
- 	(load_symptr): Likewise.  Use additional operand as a scratch
- 	register instead of generating it here.
- 
- 	* basic-block.h: Add a comment.
- 	* flow.c (PROP_POSTRELOAD): New macro.
- 	(update_life_info): Add it to prop_flags.
- 	(mark_set_1): If it is set, compute REG_N_SETS for the original
- 	register number of a hard reg.
- 
- 	* emit-rtl.c (gen_raw_REG): New function.
- 	(gen_rtx_REG, gen_reg_rtx, init_emit_once): Use it instead of
- 	gen_rtx_raw_REG.
- 	* print-rtl.c (print_rtx): Print ORIGINAL_REGNO.
- 	* final.c (alter_subreg): Update it.
- 	* regrename.c (do_replace): Likewise.  Use gen_raw_REG.
- 	* rtl.def (REG): Update comment.
- 	* rtl.h (X0UINT, ORIGINAL_REGNO): New macros.
- 	(gen_raw_REG): Declare.
- 
- 2000-12-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (get_set_constructor_bits): Use host_integerp and
- 	tree_low_cst.
- 
- 	* local-alloc.c (update_equiv_regs): Don't use copy_rtx on PATTERN.
- 
- 	* toplev.c (main): Call xmalloc_set_program_name.
- 	* gcc.c (main): Likewise.
- 
- 2000-12-29  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (arm_override_options): Fix typo in warning
- 	message.
- 
- 2000-12-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_block_move): Initialize
- 	src_align and dst_align in bits.  Do unaligned quadword loads
- 	if possible for BWX too.
- 	(alpha_expand_block_clear): Initialize align in bits.  Track
- 	small leading offsets into a larger alignment.  Play games with
- 	stq_u for large 4-byte aligned blocks.  Use load/mask/store
- 	for appropreately aligned heads and tails.
- 
- 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* function.c (assign_parms): Convert arguments passed by
- 	reference to the right mode.
- 
- 2000-12-28  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-parse.in (select_or_iter_stmt): Use truthvalue_conversion
- 	on the condition of a FOR statement, so that it gets typechecked
- 	and optimized.
- 
- 2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Prevent crash in case of overflow in
- 	array size.
- 
- 	* calls.c (emit_library_call_value_1): Add to call_fusage the
- 	stack slot assigned to argument passed by reference.
- 
- 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* toplev.h (extern really_sorry): Remove extern declaration for
-         nonexistent function.
- 
- 2000-12-28  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* varasm.c (initializer_constant_valid_p): Indicate subtraction of
- 	pointers to the same string constant is absolute.
- 
- 2000-12-28  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (enum format_type): Add strfmon_format_type.
- 	(decl_attributes): Handle format attributes strfmon and
- 	__strfmon__.
- 	(FMT_FLAG_USE_DOLLAR, FMT_FLAG_ZERO_WIDTH_BAD,
- 	FMT_FLAG_EMPTY_PREC_OK): Define.
- 	(format_char_info): Update comment for flag_chars.
- 	(format_flag_spec): Add skip_next_char.
- 	(format_kind_info): Add left_precision_char.
- 	(printf_flag_specs, scanf_flag_specs, strftime_flag_specs,
- 	format_types): Update for these new structure members and flags.
- 	(time_char_table): Make const.
- 	(strfmon_length_specs, strfmon_flag_specs, strfmon_flag_pairs,
- 	monetary_char_table): New.
- 	(format_types): Add details of strfmon formats.
- 	(init_function_format_info): Create default attribute for strfmon.
- 	(check_format_info_main): Check the new flags.  Handle
- 	skip_next_char and left precision.
- 	* toplev.c (documented_lang_options): Update description of
- 	-Wformat.
- 	* extend.texi: Document strfmon format attributes.  Document
- 	attribute forms such as __printf__.  Clarify format_arg attribute
- 	documentation.
- 	* invoke.texi (-Wformat): Update for strfmon formats.
- 
- 2000-12-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* expmed.c (store_bit_field): Fix last patch.
- 
- 2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/crt1.asm (start_l): `__SH4_SINGLE_ONLY__' was missing
- 	the trailing `__'.
- 
- 2000-12-28  Alan Lehotsky  <lehotsky@tiac.net>
- 
- 	* expmed.c (store_bit_field): Correctly compute smallest mode that
- 	is sufficient to contain all bits we are storing.
- 
- 2000-12-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (build_function_call_expr): New function.  Use it
- 	everywhere in lieu of manually constructing a CALL_EXPR.
- 
- 2000-12-27  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* calls.c (store_one_arg):  If parm is passed both in stack and in
- 	register and offset is greater than reg_parm_stack_space, split
- 	the offset and call emit_push_insn().
- 
- 2000-12-27  Nick Clifton  <nickc@redhat.com>
- 
- 	* ifcvt.c (noce_emit_store_flag): Handle jump insns that are
- 	PARALLEL.
- 
- 2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* rtl.c (copy_most_rtx, shallow_copy_rtx): Copy frame_related
- 	flag.
- 
- 2000-12-27  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.in: fix for ancient Bourne shell
- 	* fixinc/Makefile.BEOS: obsolete
- 	* fixinc/Makefile.DOS: obsolete
- 	* fixinc/fixincl.sh(LINKS): use `test -d' rather than `ls' for testing
- 
- 2000-12-27  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* sched-deps.c (get_condition, conditions_mutex_p): New functions.
- 	(add_dependence): Use them to avoid adding unnecessary dependencies
- 	between conditionally executed insns.
- 	(sched_analyze_1, sched_analyze_2, sched_analyze_insn): Don't free
- 	dependency lists if current insn is a COND_EXEC.
- 
- 2000-12-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (define_attr "length"): Correct
- 	calculation.
- 
- 2000-12-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Fix a comment typo.
- 	(get_shift_alg): Fix a typo in the assembly code for 12-bit
- 	ASHIFTRT in HImode.  Do not output extra whitespace after one line
- 	of assembly code.  Output a tab after an opcode instead of a
- 	space.
- 	(emit_a_shift): Output a tab after an opcode instead of a space.
- 
- 2000-12-23  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (out_movqi_r_mr, out_movhi_r_mr, out_movsi_r_mr,
- 	out_movsi_mr_r, out_movqi_mr_r, out_movhi_mr_r): Use %o instead of
- 	%4 in output templates, do not modify operands passed by the caller.
- 
- 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* builtins.def (BUILT_IN_LABS, BUILT_IN_LLABS, BUILT_IN_IMAXABS):
- 	Don't define.
- 	* builtins.c (expand_builtin): Don't handle BUILT_IN_LABS,
- 	BUILT_IN_LLABS and BUILT_IN_IMAXABS.
- 	* c-common.c (c_common_nodes_and_builtins): Use BUILT_IN_ABS for
- 	builtin labs, llabs and imaxabs.
- 	(expand_tree_builtin): Don't handle BUILT_IN_LABS, BUILT_IN_LLABS
- 	and BUILT_IN_IMAXABS.
- 
- 2000-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (builtin_function_2): New function.
- 	(c_common_nodes_and_builtins): Use it to define each pair (foo,
- 	__builtin_foo) of builtins in one place.
- 
- 2000-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gccbug.in: Add libgcj and preprocessor categories.
- 
- 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/ia64/ia64.c (itanium_reorder): Only schedule stops in
- 	the final scheduling pass.
- 
- 2000-12-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h (struct machine_function): Add new field
- 	'lr_save_eliminated'.
- 	* config/arm/arm.c (arm_compute_save_reg_mask): Do not include the
- 	link register if its save has been eliminated.
- 	(output_arm_prologue): Mention if the save of the link register
- 	has been eliminated.
- 	(output_arm_epilogue): Rename 'live_regs_mask' to
- 	'saved_regs_mask'.
- 	Test 'saved_regs_mask' for the link register, not regs_ever_live.
- 	(arm_expand_prologue): If the link register has not been saved set
- 	lr_save_eliminated and emit a USE to prevent later passes from
- 	scavenging it.
- 
- 	* dwarf2out_frame_debug_expr: Allow the (scratch) frame
- 	pointer to be initialized from the stack pointer plus a
- 	constant.
- 
- 2000-12-22  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* regrename.c (struct du_chain): New field "earlyclobber".
- 	(enum scan_actions): Remove unused entry "note_reference".
- 	(enum scan_actions_name): Likewise.
- 	(note_sets, clear_dead_regs, merge_overlapping_regs): New static
- 	functions.
- 	(regrename_optimize): Use them to compute unavailable regs; get
- 	rid of the more simpleminded code we used to have here.
- 	Use a tick array to ensure registers are allocated in a more
- 	round-robin way.  Disable code that only optimizes registers
- 	that were seen more than once.
- 	(referenced_regs): Remove variable.
- 	(scan_rtx_reg): New arg "earlyclobber".  All callers changed.
- 	Store its value in newly generated du_chain structures.
- 	Add new du_chains at the end, not the start, of the list.
- 	Don't handle the "note_reference" action.
- 	(scan_rtx): New arg "earlyclobber".  All callers changed.
- 	(build_def_use): Lose code to keep track of referenced regs.
- 
- 2000-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (sched-deps.o, sched-rgn.o): Fix dependency typo.
- 
- 	* fp-bit.h (usi_to_float): Add prototype.
- 
- 	* i386.c (ix86_expand_builtin): Delete unused label.
- 
- 	* dwarf2out.c (file_info_cmp): Prototype.
- 	(dwarf2out_line): Hide variable `old_in_use'.
- 
- 	* objc-act.c (objc_fatal): Delete.
- 
- 	* sched-vis.c (visualize_stall_cycles): Remove unused variable.
- 
- 	* system.h (getopt): Fix error in last change.
- 
- 	* varasm.c (assemble_trampoline_template): Constify.
- 
- 2000-12-22  Jason Merrill  <jason@redhat.com>
- 
- 	* collect2.c (main): Use auto_demangling.
- 
- 2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* function.c (assign_parms): Update parm's DECL_INCOMING_RTL
- 	when optimizing PARALLEL to REG.
- 
- 2000-12-22  Graham Stott  <grahams@redhat.com>
- 
- 	* reload.c (update_auto_inc_notes): New, broken out from ...
- 	(find_reloads_address_1): ... use here, also correct possible
- 	use of uninitialized reloadnum.
- 
- 2000-12-21  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd.h (LIB_SPEC): remove -kthread option.
- 
- 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* resource.c (mark_set_resources): Use MARK_SRC_DEST for
- 	PRE_MODIFY and POST_MODIFY cases.
- 
- 	* rtlanal.c (side_effects_p): Handle PRE_MODIFY and POST_MODIFY.
- 
- 2000-12-22  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* md.texi (Looping Patterns): New node.
- 
- 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi, cpp.texi: Update last-updated dates.
- 
- 2000-12-21  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* varasm.c (output_addressed_constants): Use language specific
- 	expander on unknown nodes.
- 
- 2000-12-21  Graham Stott  <grahams@redhat.com>
- 
- 	* combine.c (distribute_notes): Handle REG_NON_LOCAL_GOTO notes.
- 
- 2000-12-21  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* Makefile.in (out_object_file): Depend on sched-int.h.
- 	* rtl.h (single_set_1): New macro.
- 	(single_set_2): Renamed from single_set_1 and extra argument added.
- 	* rtlanal.c (single_set_2): Likewise.
- 
- 	* config/ia64/ia64-protos.h (get_bundle_name, ia64_issue_rate,
- 	ia64_adjust_cost, ia64_sched_init, ia64_sched_finish,
- 	ia64_sched_reorder, ia64_sched_reorder2, ia64_variable_issue):
- 	Declare.
- 	* config/ia64/ia64.c: Include "sched-int.h".
- 	(hard_regno_rename_ok): Also disallow renaming from the various
- 	reg_save_* regs.
- 	(ia64_safe_itanium_requiers_unit0, ia64_safe_itanium_class,
- 	ia64_safe_type, init_insn_group_barriers, group_barrier_needed_p,
- 	safe_group_barrier_needed_p, fixup_errata): New static functions.
- 	(rtx_needs_barrier):  Handle bundle selector and cycle display
- 	insns.
- 	(emit_insn_group_barriers): Accept additional FILE * arg.  All
- 	callers changed.  Rework to only generate stop bits between
- 	basic blocks that haven't been inserted by scheduling.
- 	(struct bundle, struct ia64_packet): New structures.
- 	(NR_BUNDLES, NR_PACKETS): New macros.
- 	(bundle, packets, type_names): New static arrays.
- 	(ia64_final_schedule): New variable.
- 	(ia64_single_set, insn_matches_slot, ia64_emit_insn_before,
- 	gen_nop_type, finish_last_head, rotate_one_bundle, rotate_two_bundles,
- 	cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
- 	find_best_packet, itanium_reorder, dump_current_packet, schedule_stop):
- 	New static functions.
- 	(ia64_issue_rate, ia64_sched_init, ia64_sched_reorder,
- 	ia64_sched_finish, ia64_sched_reorder2, ia64_variable_issue): New
- 	functions.
- 	(ia64_reorg): Perform a final scheduling pass.
- 	* config/ia64/ia64.h (CONST_COSTS): Slightly increase SYMBOL_REF costs.
- 	(MAX_CONDITIONAL_EXECUTE, ADJUST_COST, ISSUE_RATE, MD_SCHED_INIT,
- 	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_FINISH,
- 	MD_SCHED_VARIABLE_ISSUE): Define macros.
- 	(ia64_final_schedule): Declare variable.
- 	* config/ia64/ia64.md (attr itanium_class): Add some more classes.
- 	(attr type): Account for them.
- 	(itanium_requires_unit0): New attribute.
- 	(function units): Rewrite.
- 	(some splitters): Don't create scheduling barriers here.
- 	(gr_spill_internal, gr_restore_internal): Don't predicate the
- 	pseudo-op.
- 	(nop_m, nop_i, nop_f, nop_b, nop_x, cycle_display, cycle_display_1,
- 	bundle_selector): New patterns.
- 	(insn_group_barrier): Now has an operand.
- 
- 2000-12-21  DJ Delorie  <dj@redhat.com>
- 
- 	* dwarf2out.c (simple_decl_align_in_bits): new
- 	(field_byte_offset): Try both the type align and the
- 	decl align, use whichever works, preferring the type align.
- 
- 2000-12-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gccbug.in: Fix typo.
- 
- 2000-12-20  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* Makefile.in (gcc_gxx_target_include_dir): Use instead of
- 	build_tooldir and libstdcxx_incdir.
- 
- 2000-12-20  Robert Lipe <robertlipe@usa.net>
- 
- 	* haifa-sched.c (schedule_block): Provide empty source statement
- 	if not MD_SCHED_REORDER2.
- 
- 2000-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (REG_NON_LOCAL_GOTO): New.
- 	* rtl.c (reg_note_name): Update.
- 	* stmt.c (expand_goto): Emit a REG_NON_LOCAL_GOTO note.
- 	* builtins.c (expand_builtin_longjmp): Likewise.
- 	* flow.c (make_edges): Check for REG_NON_LOCAL_GOTO and do
- 	not emit an edge.
- 
- 2000-12-20  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r, out_movhi_mr_r):
- 	Do not output undefined opcodes where source or destination register
- 	overlaps with modified pointer register.  Handle (X + d) addresses.
- 	* config/avr/avr.md (*movhi, *movsi, *movsf): Correct insn length
- 	in alternatives with memory operand.
- 
- 2000-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (build_asm_stmt): New, broken out from ...
- 	(c_expand_asm_operands): ... here.  Just do rtl expansion.
- 	(c_expand_return): Return the new stmt node.
- 	(c_start_case, do_case): Likewise.
- 	* c-common.c (c_expand_expr_stmt): Likewise.
- 	* c-common.h: Update declarations.
- 	* c-tree.h: Likewise.
- 	* c-semantics.c (build_stmt): Use STMT_LINENO not TREE_COMPLEXITY.
- 	* c-parse.in (fndef): Set DECL_SOURCE_LINE to the open brace.
- 	(nested_function, notype_nested_function): Likewise.
- 	(compstmt): Return the compound statement not the binding level.
- 	(lineno_labeled_stmt): Simplify.
- 	(lineno_stmt, lineno_label): Set STMT_LINENO.
- 	(stmt, label): Return the new stmt node.
- 
- 2000-12-20  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* Makefile.in (OBJS): Add sched-ebb.o.
- 	(sched-ebb.o): New rule.
- 	(sched-vis.o): Depend on hard-reg-set.h and $(BASIC_BLOCK_H).
- 	(haifa-sched.o): Depend on insn-flags.h.
- 	* haifa-sched.c: Include "insn-flags.h".
- 	(priority): Don't access BLOCK_NUM, use the new contributes_to_priority
- 	callback.
- 	* rtl.h (schedule_ebbs): Declare.
- 	* sched-int.h (struct sched_info): Add new members
- 	contributes_to_priority and compute_jump_reg_dependencies.
- 	* sched-rgn.c (contributes_to_priority, compute_jump_reg_dependencies):
- 	New functions.
- 	(region_sched_info): Add them.
- 	* sched-vis.c: Include "hard-reg-set.h" and "basic-block.h".
- 	* sched-ebb.c: New file.
- 	* sched-deps.c (sched_analyze_insn): Add code to handle JUMP_INSNs.
- 
- 	* flow.c (ior_reg_cond, and_reg_cond, elim_reg_cond): Properly
- 	handle all relational operators.
- 
- 2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* final.c (output_addr_const): Use ASM_OUTPUT_SYMBOL_REF.
- 	* tm.texi: Document it.
- 
- 2000-12-19  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Use build_tooldir
- 	instead of gcc_tooldir.
- 
- 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* system.h (getopt): Update prototype to match include/getopt.h.
- 
- 2000-12-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	From Jeff Law.
- 	* pa.c (basereg_operand): Simplify.
- 
- 2000-12-19  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* haifa-sched.c (rm_line_notes): Arguments are now head and tail,
- 	not block number.  All callers and prototype changed.
- 	(set_priorities): Likewise.
- 	(save_line_notes): Add head and tail arguments; all callers and
- 	prototype changed.
- 	(restore_line_notes): Likewise.  Don't crash on insns generated
- 	during scheduling.
- 	(schedule_block): Don't use BLOCK_HEAD/BLOCK_END macros.
- 	Call MD_SCHED_INIT with additional argument.
- 	When starting a new cycle, emit cycle_display insns if available.
- 	Don't stop scheduling when encountering a JUMP_INSN, but add another
- 	call to schedule_more_p in the inner loop.
- 	Call MD_SCHED_REORDER2 after scheduling an insn.
- 	Call MD_SCHED_FINISH once all insns are scheduled.
- 	(sched_init): Compensate for the fact that get_block_head_tail
- 	doesn't include leading notes.
- 	* sched-deps.c (free_deps): Free vectors here.
- 	* sched-rgn.c (compute_block_backward_dependencies): Not here.
- 	(last_was_jump): New static variable.
- 	(schedule_more_p): Test it.
- 	(init_ready_list): Initialize it.
- 	(can_schedule_ready_p): Set it if we have a JUMP_INSN.
- 
- 	* config/i386/i386.h (MD_SCHED_INIT): Add new arg.
- 	* config/m32r/m32r.h (MD_SCHED_INIT): Add new arg.
- 	* config/sparc/sparc.h (MD_SCHED_INIT): Add new arg.
- 
- 	* md.texi (cycle_display): Document.
- 	* tm.texi (MD_SCHED_INIT): Document new arg.
- 	(MD_SCHED_FINISH, MD_SCHED_REORDER2): Document.
- 
- 	* flow.c (ior_reg_cond, nand_reg_cond, not_reg_cond): Rewrite
- 	to use different representation.  All callers changed.
- 	(and_reg_cond): Renamed from nand_reg_cond; caller changed.
- 	(init_propagate_block_info): Don't test flags to determine
- 	whether to compute conditional lifetimes.
- 	Adjust code for new representation of conditional lifetimes.
- 	(mark_regno_cond_dead): Similar adjustment.
- 	(free_reg_cond_life_info): Similar adjustment.
- 	(elim_reg_cond): New function.
- 	(flush_reg_cond_1): Use it.
- 
- 2000-12-19  Catherine Moore  <clm@redhat.com>
- 
- 	* reload1.c (reload_combine): Take multi-hard-regs into account
- 	when processing CALL_INSN_FUNCTION_USAGE.
- 
- 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi (-print-search-dirs): Make references to cpp refer
- 	to cpp0 instead.
- 
- 2000-12-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Treat truth values as
- 	non-negative.
- 
- Tue Dec 19 00:37:08 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload.c (push_reload): When using a dying register for the reload
- 	register in an in-out reload, use outmode if wider than inmode.
- 
- 2000-12-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config/d30v/d30v.h (EXIT_BODY): Update comment.
- 
- 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc (*-*-linux*): Don't define HAVE_ATEXIT or BSTRING.
- 	* tm.texi (EXIT_BODY): Update documentation.
- 	* config/freebsd.h, config/netware.h, config/arm/coff.h,
- 	config/arm/conix-elf.h, config/arm/unknown-elf.h,
- 	config/d30v/d30v.h, config/mcore/mcore.h, config/pj/pj.h,
- 	sparc/sp86x-aout.h: Remove definitions of HAVE_ATEXIT (some
- 	commented out) and associated comments.
- 
- 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (STD_C9L, ADJ_STD): Define.
- 	(printf_length_specs, scanf_length_specs): Mark "ll" as standard
- 	STD_C9L.
- 	(T99_LL): Rename to T9L_LL.
- 	(T99_ULL): Rename to T9L_ULL.
- 	(print_char_table, scan_char_table): Use T9L_LL and T9L_ULL
- 	instead of T99_LL and T99_ULL.
- 	(check_format_info_main): Use ADJ_STD on all format standard
- 	versions being compared.
- 	* c-common.h: Declare warn_long_long.
- 	* c-tree.h: Don't declare warn_long_long.
- 
- 2000-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* COPYING: Update to current
- 	ftp://ftp.gnu.org/pub/gnu/Licenses/COPYING-2.0 (fixes references
- 	to 19yy as example year in copyright notice).
- 
- 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (cb_file_change): Treat in_system_header as strictly
- 	boolean (0 or 1).
- 
- 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c: Update print.lineno with -P.
- 
- 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c: s/change_file/file_change.
- 	* cpplib.h: Similarly.
- 	* cppmain.c: Similarly.
- 	* fix-header.c: Similarly.
- 	* cppfiles.c (stack_include_file): Pass the buffer location and
- 	size to cpp_push_buffer.  Generate the file_change callback,
- 	so that sysp is already set.
- 	* cpphash.h: Add _cpp_do_file_change.
- 	* cpplib.c (do_line): Set buffer->sysp directly. Generate the
- 	file_change callback after setting sysp.
- 	(_cpp_do_file_change): Handle FC_ENTER and the FC_RENAME exception
- 	here.
- 	(cpp_push_buffer): Don't generate a callback.  Clear sysp.
- 	(cpp_pop_buffer): Clean up logic.
- 
- 2000-12-18  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* configure.in (gcc_gxx_include_dir): Simplify.
- 	(libstdcxx_incdir): Export.
- 	* configure: Regenerate.
- 	* Makefile.in (PREPROCESSOR_DEFINES): Add in
- 	GPLUSPLUS_TOOL_INCLUDE_DIR bits here..
- 	(libstdcxx_incdir): Add.
- 	* cppdefault.c (GPLUSPLUS_TOOL_INCLUDE_DIR): Add search path.
- 
- 2000-12-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (lex_lineno): Remove.
- 	(init_c_lex, c_lex): Remove lex_lineno.
- 	(cb_change_file): Update lineno correctly, both before calling
- 	push_srcloc and before leaving the function.
- 	(cb_def_pragma): Set lineno before outputting diagnostics.
- 
- Sun Dec 17 18:45:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* print-tree.c (print_node): Print DECL_USER_ALIGN and TYPE_USER_ALIGN.
- 	Print TYPE_MIN_VALUE and TYPE_MAX_VALUE for REAL_TYPE.
- 	Use print_node_brief to print bounds.
- 
- 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.h (struct cpp_reader): Remove references to string_pool
- 	and temp_string_pool.
- 	* cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
- 	ident_pool in place.
- 	* cpplex.c (parse_number, unescaped_terminator_p, parse_string,
- 	save_comment, cpp_token_as_text): Similarly.
- 	* cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
- 	* cppmacro.c (make_number_token, builtin_macro, lock_pools,
- 	unlock_pools, stringify_arg, paste_tokens): Similarly.
- 
- Sun Dec 17 12:41:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
- 	(loc_descriptor_from_tree, case CONVERT_EXPR): Likewise.
- 	(loc_descriptor_from_tree, case NON_LVALUE_EXPR): Likewise.
- 
- 2000-12-17  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* Makefile.in (check-po): Use $(MAKE).
- 	(risky-stage1, risky-stage2, risky-stage3, risky-stage4): Likewise.
- 
- 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (check_multiline_token): New function.
- 	(scan_buffer): Use it.
- 	(cb_change_file): Restructure to avoid warning.
- 	* cpperror.c (print_location): Initialize col.
- 
- 2000-12-14  Philipp Thomas  <pthomas@suse.de>
- 
- 	* protoize.c (main): Correctly set locale categories.
- 	* gcc.c (main): Likewise.
- 	* cppmain.c (general_init): Likewise.
- 	* toplev.c (main): Likewise.
- 	* gcov.c (main): Likewise.
- 	* collect2.c (main): Likewise.
- 
- 2000-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Create a
- 	cstring_endlink, use it.  Rename int_ftype_string_string to
- 	int_ftype_cstring_cstring, string_ftype_string_int to
- 	string_ftype_cstring_int, and string_ftype_string_string to
- 	string_ftype_cstring_cstring.  Prefer sizetype_endlink and
- 	int_endlink to manually recreating them.  Fix the prototype
- 	set for __builtin_strspn/__builtin_strcspn.
- 
- 2000-12-12  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (out_set_stack_ptr): Update comment.
- 	(print_operand): Add support for %~ and %o.
- 
- 2000-12-17 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.h: Add ASM_OUTPUT_DEF definition for bounded pointer code.
- 
- 2000-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c: Move main_input_filename handling to FC_ENTER. Clean up.
- 	* cpperror.c (print_containing_files): Get right line number.
- 	(print_location): Output column of 1 if 0.
- 	* cppfiles.c (stack_include_file): cpp_push_buffer handles
- 	the callback.
- 	* cpphash.h (_cpp_do_file_change): No longer external.
- 	* cpplib.c (do_file_change): Now local to cpplib.c.
- 	(do_line): Fake a buffer stack for preprocessed files.
- 	(cpp_push_buffer): Create a file_change callback.  Handle faked
- 	buffers.
- 	(cpp_pop_buffer): Similarly.
- 	* cpplib.h: BUF_FAKE: New buffer type.
- 	* cppmain.c: Update to handle correct file renaming where a
- 	#line is the first line of the main file, and produce only
- 	the renamed file, not the original file, as output.
- 
- 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md: Remove redundant @s from output patterns.
- 
- 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
-             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Call c4x_init_pragma.
- 
- 	* config/c4x/c4x-protos.h (c4x_init_pragma): New prototype.
- 
- 	* config/c4x/c4x.c (c4x_init_pragma): New function.
- 	(c_lex_func): New variable.
- 	(c4x_parse_pragma): Use c_lex_func.
- 
- 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
-             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* config/c4x/c4x.h (MD_INIT_BUILTINS): Add void_list_node argument
- 	to c4x_init_builtins.
- 
- 	* config/c4x/c4x-protos.h (c4x_init_builtins): Add tree argument.
- 
- 	* config/c4x/c4x.c (c4x_init_builtins): Add tree argument.
- 	(c4x_output_ascii):  Fix.
- 
- 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
-             Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* config/c4x/c4x.h (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Define.
- 
- 	* config/c4x/c4x-protos.h (c4x_init_builtins): New prototype.
- 	(c4x_expand_builtin): Likewise.
- 
- 	* config/c4x/c4x.c (c4x_init_builtins): New function.
- 	(c4x_expand_builtin): Likewise.
- 
- 	* config/c4x/c4x.md (floatunsqihf2): New pattern.
- 	(*floatqihf2_set, *fixhfqi_set, fix_trunchfqi2): Likewise.
- 	(fixuns_trunchfqi2, toieee, frieee, *ldhf_conditional): Likewise.
- 	(*ldhf_conditional_noov, movhfcc, trap, cond_trap_cc): Likewise.
- 	(*toieee_movqf_clobber, *frieee_movqf_clobber): Likewise.
- 
- 2000-12-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* libgcc2.h: Use Wtype for SItype and DWtype for DItype in prototypes.
- 	* libgcc2.c (__absvsi2): Use Wtype and DWtype.
- 	(__absvdi2, __addvsi3, __addvdi3, __subvsi3): Likewise.
- 	(__subvdi3, __mulvsi3, __mulvdi3, __negvsi2, __negvdi2): Likewise.
- 
- 2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Enclose the block
- 	statement in do/while(0).
- 
- Sat Dec 16 19:56:24 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (ashrsi3_cmpno, ashrhi3_cmpno, ashrqi3_cmpno, lshrsi3_cmpno,
- 	lshrhi3_cmpno): Remove redundant '@' from the template.
- 
- 	* i386.md (cmpstrsi_1): Fix type of the compare.
- 
- 	* genattrtab.c (attr_rtx_cost): New function.
- 	(simplify_test_exp): Avoid overactive inlining; use temporary
- 	obstacks for tests.
- 
- Sat Dec 16 10:41:11 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.c (finish_abort): Deleted.
- 	(fatal): Add code from finish_abort.
- 	(error_recursion, fancy_abort): Call fatal, not finish_abort.
- 	(trim_filename): Remove leading "../".
- 	* diagnostic.h (finish_abort): Deleted.
- 	* toplev.c (crash_signal): Call fatal, not finish_abort.
- 
- 	* stor-layout.c (place_field): Treat overflowing DECL_SIZE_UNIT
- 	as if size were variable.
- 
- 	* expmed.c (expand_mult): Write REG_EQUAL note with proper mode.
- 
- 2000-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tradcpp.c: T_WARNING: New.
- 	(do_warning): New function.
- 	(finclude): Skip past the newline and increase the line number
- 	before calling output_line_command.
- 	(do_line): Skip the new line after output_line_command.  Don't
- 	pre-decrement the line number.
- 
- 2000-12-15  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix references to
- 	_GLOBAL_OFFSET_TABLE_ when using Intel syntax.
- 
- 2000-12-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (cpp_options): Pass -fno-operator-names.
- 	* cpplib.h (struct cpp_options): Add operator_names.
- 	* cppinit.c (cpp_create_reader): Initialize it.
- 	(initialize_builtins): If -fno-operator-names, don't add
- 	C++ alternate operator names.
- 	(COMMAND_LINE_OPTIONS): Add -fno-operator-names.
- 	(cpp_handle_option): Clear operator_names.
- 
- 2000-12-15  Jason Merrill  <jason@redhat.com>
- 
- 	* jump.c (jump_optimize_1): Don't delete the line note after the
- 	prologue even if it seems redundant.
- 
- 	* config/arm/arm.c (arm_expand_prologue): Set RTX_FRAME_RELATED_P
- 	on all insns used to adjust the stack.
- 
- Fri Dec 15 15:32:16 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (cant_combine_insn_p): Get around SUBREGs when determining
- 	hardreg<->reg moves.
- 
- Fri Dec 15 14:48:37 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* genrecog.c (add_to_sequence): Remove special case for
- 	const_int_operand.
- 	(maybe_both_true): Return 1 when falling out of sequence when
- 	trying to find common position in the pattern.
- 
- Fri Dec 15 14:44:51 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_rtx_and_substitute): Copy mode too.
- 
- Fri Dec 15 14:11:57 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (notice_stack_pointer_modification_1): Cleanup.
- 
- 2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* function.c (adjust_trampoline_addr): New function.
- 	(trampoline_address): Call it instead of round_trampoline_addr().
- 	* tm.texi (TRAMPOLINE_ADJUST_ADDRESS): Document it.
- 
- 2000-12-14  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* cppfiles.c (hack_vms_include_specification): Delete function
- 	(not used since 1998).
- 
- Fri Dec 15 03:37:51 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* haifa-sched.c (sched_init): Don't put a note in front of any BARRIER.
- 
- 2000-12-14  Jim Wilson  <wilson@redhat.com>
- 
- 	* alias.c (get_alias_set): Call record_component_aliases for
- 	COMPLEX_TYPE.
- 	(record_component_aliases): Handle COMPLEX_TYPE.
- 
- 2000-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/gnu-regex.c: Disable NLS.
- 
- 2000-12-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_move): Do not swap
- 	comparison operands when that would create non-canonical rtl.
- 
- 	* config/i386/i386.md (umulsi3_highpart): Remove * from name.
- 	(smulsi3_highpart): Likewise.
- 
- 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc.c (cpp_options): Add -remap.
- 
- 2000-12-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc.c (cpp_options): Update to use '&'.
- 	(struct switchstr): Change type of validated to save space.
- 	New member 'ordering'.
- 	(handle_braces, validate_switches): Update to handle '&'.
- 
- 2000-12-13  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* fixinc/inclhack.def: skip stdio_va_list fix if __DJ_va_list
- 	found in a header.
- 	* fixinc/fixincl.x: regenerated.
- 
- 2000-12-13  DJ Delorie  <dj@redhat.com>
- 
- 	* config.gcc (cygwin, win32, mingw32): Use float-i386.h.
- 
- 2000-12-13  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.c (handle_braces): Handle %{<S*} spec correctly.
- 
- 2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* function.c (assign_parms): Optimize incoming PARALLELs into
- 	REGs if possible.
- 
- 2000-12-13  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.in(*): substantial rewrite to accommodate systems
- 	that cannot handle bi-directional pipes, viz. BeOS and DOS.
- 	* fixinc/fixlib.h(IGNORE_ARG): new macro
- 	(STATIC): define for all of fixinc to use
- 	* fixinc/fixfixes.c(*): eliminate unused arg warnings
- 	* fixinc/fixtests.c(*): ditto
- 	* fixinc/fixincl.c(start_fixer): chain_open now uses const arg list
- 	* fixinc/gnu-regex.c: reorder some includes to avoid _GNU_SOURCE
- 	warning.  Also, eliminate the ``#ifdef emacs'' stuff.
- 	(re_syntax_options): make global as it is declared so.
- 	* fixinc/mkfixinc.sh: process the argument list more consistently
- 	(beos/msdosdjgpp): set TARGETS to twoprocess vs. oneprocess
- 	* fixinc/procopen.c(globals): include "fixlib.h" for std defs
- 	* fixinc/server.c(globals): ditto
- 	* fixinc/server.h(defines): ditto
- 
- 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tradcpp.c (special_symbol): Improve test for definedness,
- 	though it is still not perfect.
- 	(do_define): Don't define illegal macro names.
- 
- 2000-12-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/elf.h (ASM_OUTPUT_SECTION_NAME): emit @nobits
- 	if changing into .bss section.
- 	* config/mips/elf64.h: same.
- 	* config/mips/iris6.h: same.
- 	* config/mips/netbsd.h: same.
- 	* config/mips/openbsd.h: same.
- 
- 2000-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (read_name_map): Return null if open () fails.
- 	(remap_filename): Simplify logic.  Add ICE if it doesn't work
- 	as expected. Perform secondary lookup attempt on base filename
- 	only.
- 
- Wed Dec 13 19:48:04 MET 2000  Jan hubicka  <jh@suse.cz>
- 
- 	* flow.c (notice_stack_pointer_modification_1): Notice midifications
- 	using PRE_MODIFY and POST_MODIFY.
- 
- Wed Dec 13 17:25:32 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* genoutput.c (process_template): Add sanity checking for '@' templates.
- 
- 2000-12-13  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* simplify-rtx.c (cselib_finish): Free reg_values and used_regs
- 	varrays.
- 
- 2000-12-12  Mike Stump  <mrs@wrs.com>
- 
- 	* Makefile.in (distclean): Remove safe-ctype.c as well.
- 
- 2000-12-12  Brad Lucier <lucier@math.purdue.edu>
- 
- 	* tradcpp.c (do_error): Cast difference of pointers to int
- 	for error message.
- 
- 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Move from here...
- 	* config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): ...to here.
- 
- 2000-12-12  Jim Wilson  <wilson@redhat.com>
- 
- 	* rtlanal.c (may_trap_p): Check operand modes of LE, LT, GE, and GT.
- 
- 2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in: Simplify language enabling/disabling code.
- 	* configure: Rebuilt.
- 	* ch/config-lang.in (target_libs): Set.
- 	(build_by_default): Set to no.
- 	* cp/config-lang.in (target_libs): Set.
- 	* f/config-lang.in (target_libs): Set.
- 	* java/config-lang.in (target_libs): Set.
- 	* objc/config-lang.in (target_libs): Set.
- 
- 2000-12-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tradcpp.c (enum node_type): Add T_ERROR.
- 	(do_error): New function.
- 	(directive_table): Add #error handler.
- 
- 2000-12-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Enable .file/.loc check
- 	for powerpc*-*-*.
- 	* configure: Regenerated.
- 	* config/rs6000/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 	* config/rs6000/rs6000.c (rs6000_unique_section): Use
- 	STRIP_NAME_ENCODING.
- 
- Mon Dec 11 13:51:09 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (cmpib_comparison_operator): Remove GEU and LTU.
- 	* pa.h (PREDICATE_CODES, cmpib_comparison_operator): Corresponding
- 	changes.
- 
- 2000-12-11  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.tpl: initialize all fields for warnings
- 	* fixinc/fixincl.x: regenerate
- 
- 2000-12-11  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcpp.h: For tradcpp, NUL is not whitespace.
- 
- 2000-12-11  Neil Booth  <neilb@earthling.net>
- 
- 	* fix-header.c (read_scan_file): Macro expansion is not a file buffer.
- 
- 2000-12-05  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (compare_condition, compare_sign_p): New functions.
- 	(compare_diff_p, compare_eq_p): Call compare_condition.
- 	(out_tsthi, out_tstsi): Call compare_sign_p.
- 	(avr_progmem_p): Check for error_mark_node.
- 
- 2000-12-11  Neil Booth  <neilb@earthling.net>
- 
- 	* cpperror.c (print_location): New function.
- 	(print_containing_files): Simplify.
- 	(_cpp_begin_message): Simplify and use print_location.
- 	* cppfiles.c (stack_include_file): Update.
- 	(_cpp_pop_file_buffer): Update.
- 	* cpphash.h (struct cpp_buffer): New members
- 	include_stack_listed and type.
- 	* cpplib.c (_cpp_handle_directive): Buffer->inc is not null.
- 	(run_directive): Take buffer type.  cpp_push_buffer cannot fail.
- 	(_cpp_do__Pragma, cpp_define, _cpp_define_builtin, cpp_undef,
- 	handle_assertion): Update.
- 	(cpp_push_buffer): Take a buffer type and file name.
- 	(cpp_pop_buffer): Update.  Clear include_stack_listed.
- 	* cpplib.h (input_stack_listing_current): Remove.
- 	(enum cpp_buffer_type): New.
- 	(cpp_push_buffer): New prototype.
- 	* cppmacro.c (builtin_macro): Simplify; buffer cannot be null.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2000-12-10  Robert Lipe <robertlipe@usa.net>
- 
- 	* install.texi (i*86-*-sco3.2v5*): Remove information duplicated
- 	in html version.
- 
- 2000-12-10  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (find_operand): Handle 'V' format code.
- 	(find_matching_operand): New.
- 	(validate_pattern): Accept '=' for an in-out operand if there
- 	is another operand with a matching constraint.
- 
- 	* config/i386/i386.md (andqi_ext_0_cc): Use matching constraint
- 	for op1 to op0.
- 
- 2000-12-10  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (validate_pattern) [STRICT_LOW_PART]: Fix thinko.
- 
- 2000-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (validate_pattern): Verify that ZERO_EXTRACT and
- 	STRICT_LOW_PART as SET_DEST have in-out constraints.
- 
- 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_function_format): Don't suggest adding format
- 	attributes to functions with no parameter to which to add them.
- 
- 2000-12-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Mark the generated
- 	insn not the set as being DWARF2_FRAME_RELATED_P.
- 
- 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* Makefile.in: use $(build_exeext) for all build
- 	system executable targets.
- 
- 2000-12-09  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* install.texi: remove i[345]86-*-winnt3.5 section.
- 	* configur.bat: removed.
- 	* config/msdos: directory removed.
- 
- 2000-12-09  Neil Booth  <neilb@earthling.net>
- 
- 	* cppfiles.c (NEVER_REREAD, DO_NOT_REREAD): Move from cpphash.h.
- 	* cpphash.h (NEVER_REREAD, DO_NOT_REREAD, ABSOLUTE_PATH): Delete.
- 	* cpplex.c (parse_identifier): Improve diagnostic.
- 	(_cpp_lex_token): Return unconditionally at the end of a directive.
- 	* cpplib.c (read_flag): Verify legality of each flag.
- 	(end_directive): Resotre pfile->skipping before skip_rest_of_line.
- 	(do_line): Use the new read_flag.
- 	* cppmacro.c (struct cpp_macro, parse_arg, replace_args,
- 	check_macro_redefinition, parse_params): Rename var_args to
- 	variadic.
- 
- 2000-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* .cvsignore: Add info files.
- 
- 2000-12-08 Laurynas Biveinis <lauras@softhome.net>
- 
- 	* config/winnt: Remove obsolete directory.
- 	* install.texi (Configurations): Remove obsolete documentation for
- 	Windows NT.
- 
- 2000-12-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Don't define INSTALL_INFO.
- 	* configure: Regenerate.
- 	* Makefile.in (INSTALL_INFO): Remove.
- 	(info): Depend on info files in source directory.
- 	(cpp.info, gcc.info, c-tree.info): Build info files in source
- 	directory.
- 	(distclean): Don't remove info files.
- 	(maintainer-clean): Remove info files from source directory.
- 	(install-normal): Depend on install-info.
- 	(install-info): Install info files from source directory, if they
- 	exist.
- 	* texinfo.tex: Update to version 2000-11-09.08 from ftp.gnu.org.
- 
- 2000-12-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* lcm.c (optimize_mode_switching): Check whether an insn is a NOTE
- 	before taking its NOTE_LINE_NUMBER.
- 
- 2000-12-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (load_indirect_jump): Add pool ranges.
- 
- 	* extend.texi: Document ARM "interrupt" function attribute.
- 	Mention that the ARM also support the "naked" function
- 	attribute.
- 
- 	* config/arm/arm-protos.h (arm_current_func_type): Add
- 	prototype.
- 
- 	* config/arm/arm.h (EXCEPTION_LR_REGNUM): Define.
- 	(struct machine_function): Add 'func_type' field.
- 	Define bit values for 'func_type' field.
- 	(ARM_FUNC_TYPE): New macro.
- 	(IS_INTERRUPT): New macro.
- 	(IS_VOLATILE): New macro.
- 	(IS_NAKED): New macro.
- 	(IS_NESTED): New macro.
- 	(ARM_INITIAL_ELIMINATION_OFFSET): Use IS_VOLATILE.
- 
- 	* config/arm/arm.c (isr_attribute_args): New Structure.  A
- 	list of "interrupt" function attribute modifiers.
- 	(arm_isr_value): New Function: Returns the type of the current
- 	interrupt function.
- 	(arm_compute_func_type): New Function: Computes the type of
- 	the current function.
- 	(arm_current_func_type): New Function: Returns the type of the
- 	current function.
- 	(use_return_insn): Use arm_current_func_type.
- 	(arm_valid_type_attribute_p): Accept "interrupt" function
- 	attribute.
- 	(arm_comp_type_attributes): Check "interrupt" attributes.
- 	(arm_valid_machine_decl): Accept "interrupt" function
- 	attribute.
- 	(arm_function_ok_for_sibcall): Do not allow interrupt
- 	functions to use sibcalls.
- 	(arm_naked_function_p): Delete.
- 	(print_multi_reg): Remove redundant parameter 'hat'.
- 	(arm_compute_save_reg_mask): New Function: Compute a bit mask
- 	of registers saved during the current function's prologue.
- 	(output_arm_return_instruction): Use arm_current_func_type.
- 	Generate return instruction when LR is not poppsed off the
- 	stack.
- 	(arm_volatile_func): Delete.
- 	(output_arm_prologue): Use arm_current_func_type and
- 	arm_compute_save_reg_mask.
- 	Note presernce of interrupt functions.
- 	(arm_output_epilogue): Use arm_current_func_type and
- 	arm_compute_save_reg_mask.
- 	(arm_expand_prologue): Use arm_current_func_type and
- 	arm_compute_save_reg_mask.
- 	(arm_init_machine_status): Initialize func_type field, if
- 	necessary.
- 	(thumb_expand_prologue): Use arm_current_func_type.
- 	(output_thumb_prologue): Use arm_current_func_type.
- 
- 2000-12-08  Brad Lucier <lucier@math.purdue.edu>
- 
- 	* tradcpp.c (do_include): Make pointer differences 64-bit clean.
- 
- Fri Dec  8 08:23:29 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* fp-bit.c (_fpmul_parts): Use USItype variables as inputs
- 	for multiplies.
- 
- 2000-12-07  Mike Stump  <mrs@wrs.com>
- 
- 	* Makefile.in (distclean): Remove alloca.c hashtab.c.
- 
- 2000-12-07  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* Makefile.in (HOST_RTL): Add safe-ctype.o.
- 	(safe-ctype.o): New rule.
- 	* system.h: Include safe-ctype.h, not ctype.h.  No need to
- 	wrap ctype macros.
- 
- 	* cpphash.h: Zap IStable and related macros.  Define is_* in
- 	terms of safe-ctype.h macros.
- 	* cppinit.c: Delete the IStable and all related code.
- 
- 	* tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and
- 	is_space arrays.  Delete initialize_char_syntax.  Change all
- 	references to the above arrays to use macros instead.
- 	* tradcpp.h: Define is_idchar, is_idstart, is_space, and
- 	is_nvspace in terms of safe_ctype.h's macros.
- 	* tradcif.y: is_idchar, is_idstart are macros not arrays.
- 
- 	* config/i370/i370.c, config/winnt/dirent.c,
- 	config/winnt/fixinc-nt.c, config/winnt/ld.c:
- 	Use uppercase ctype macros.  If we included ctype.h,
- 	include safe-ctype.h instead.
- 
- 	* fixinc/fixfixes.c: Use uppercase ctype macros.  Don't test
- 	ISLOWER(c) before calling TOUPPER(c).
- 	* fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk.
- 	* fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h.  No need to
- 	wrap ctype macros.  Don't test ISUPPER(x) before calling TOLOWER(x).
- 
- 2000-12-07  DJ Delorie  <dj@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): preserve previous alignments when
- 	rebuilding array types.
- 
- 2000-12-07  Neil Booth  <neilb@earthling.net>
- 
- 	* cppfiles.c (struct include_file): Move from cpphash.h.
- 	(_cpp_never_reread): New function.
- 	(open_file, read_include_file): Use it.
- 	(stack_include_file): Set the buffer's sysp according to the
- 	path in which the file was found.
- 	(find_include_file): Don't set sysp.
- 	(cpp_make_system_header, actual_directory): Update.
- 	(_cpp_execute_include): Do #include_next lookup handling here,
- 	not in cpplib.c.  Use _cpp_never_reread.
- 	* cpphash.h (struct_include_file): Remove.
- 	(struct cpp_buffer): New member sysp.
- 	(CPP_IN_SYSTEM_HEADER, _cpp_execute_include): Update.
- 	(_cpp_never_reread): New.
- 	* cpplib.c (read_line_number): Rename read_flag.  Rework slightly.
- 	(end_directive): Clear line_extension flag.
- 	(_cpp_handle_directive): Set line_extension flag for #number.
- 	(do_include_next): Handle path lookup in _cpp_execute_include.
- 	(do_line): Cleanup to use read_flag.  Don't allow flags in #line.
- 	(_cpp_do_file_change): Update.
- 	(do_pragma_once): Use cpp_never_reread.  Clean up.
- 	* cpplib.h (struct lexer_state): New member line_extension.
- 
- 2000-12-07  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (calculate_global_regs_live): Force the stack pointer live
- 	after reload as well.
- 
- 2000-12-07  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.*(exeext): the variables are exeext, the
- 	substitution expression is build_exeext.
- 
- 2000-12-07  Neil Booth  <neilb@earthling.net>
- 
- 	* c-common.c (parse_in): Make a cpp_reader *.
- 	* cppfiles.c (_cpp_fake_include): Remove.
- 	* cpphash.h: Similarly.
- 	* cpplib.c (do_line): Don't call _cpp_fake_include.  A valid
- 	#line always creates a callback; FC_RENAME if there are no
- 	#line flags.
- 	* fix-header.c (read_scan_file): cpp_push_buffer cannot fail.
- 	The first EOF must be our get_char buffer.
- 
- 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (warn_format_security): New variable.
- 	(check_format_info): Warn about non-literal formats with no format
- 	arguments if either -Wformat-nonliteral or -Wformat-security is
- 	specified.
- 	(set_Wformat): Set warn_format_security for settings other than 1.
- 	* c-common.h (warn_format_security): Declare.
- 	* c-decl.c (c_decode_option): Decode -Wformat-security and
- 	-Wno-format-security.
- 	* invoke.texi: Document -Wformat-security.
- 	* toplev.c (documented_lang_options): Include -Wformat-security
- 	and -Wno-format-security.
- 
- 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info): Warn for non-constant format
- 	strings with strftime formats if -Wformat-nonliteral.  Where the
- 	format can convert arguments, if the format is not a string
- 	literal and there are no arguments to the format, give a different
- 	warning message from the general non-string-literal case.
- 
- 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (format_wanted_type): Add reading_from_flag.
- 	(print_char_table): Mark %s and %S formats with flag "R".
- 	(check_format_info_main): Set up reading_from_flag appropriately.
- 	If aflag, always set writing_in_flag rather than relying on the
- 	format used being a scanf format and so having it set.
- 	(check_format_types): Check for formats reading through null
- 	pointers.
- 
- 2000-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi (-Wformat): Document what format features are
- 	checked.
- 
- 2000-12-06  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.
- 
- 2000-12-06      Joel Sherrill <joel@OARcorp.com>
- 
- 	* config.gcc (a29k*-*-rtems*, arm*-*-rtems*, c4x-*-rtems*,
- 	h8300-*-rtems*, hppa1.1-*-rtems, *mips*-*-rtems*): New targets.
- 	* config.gcc (*-rtems*): Add support for gthr-rtems.h.
- 	* gthr-rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
- 	config/h8300/rtems.h, config/mips/rtems.h: New files.
- 
- 2000-12-06  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config.gcc: Reorganize handling of *-*-gnu*, to share target
- 	specific make details with Linux.  Update comments to clarify
- 	the distinction between GNU/Linux and GNU/Hurd.
- 
- Wed Dec  6 19:22:02 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* contrib.texi: Fix my email address.  Update Per's
- 	list of contributions.
- 
- 2000-12-06  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* c-lex.c (cb_indent): Decorate `str' argument, unused on HP-UX.
- 	* collect2.c (scan_libraries): Remove unused `ch'.
- 	(COFF specific stuff): Prototype ldgetname.  Declare and prototype
- 	ldbtread and ldclose.
- 
- 	* config/alpha/osf.h: Standarize copyright statement.
- 	* config/arc/arc.h: Likewise.
- 	* config/arm/elf.h config/arm/coff.h config/arm/aout.h: Likewise.
- 	* config/arm/arm.c config/arm/arm.h: Likewise.
- 	* config/elxsi/elxsi.h: Likewise.
- 	* config/i386/sco.h: Likewise.
- 	* config/m68k/crds.h config/m68k/hp320.h config/m68k/lynx.h: Likewise.
- 	* config/m68k/m68kv4.h config/m68k/next21.h: Likewise.
- 	* config/m68k/sun3.h: Likewise.
- 	* config/m88k/dgux.h config/m88k/dguxbcs.h: Likewise.
- 	* config/pdp11/2bsd.h config/pdp11/pdp11.h: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/aix41.h: Likewise.
- 	* config/sparc/sysv4.h: Likewise.
- 	* config/we32k/we32k.c config/we32k/we32k.h: Likewise.
- 	* fixinc/gnu-regex.c fixinc/gnu-regex.h: Likewise.
- 	* cpplib.h cppexp.c cselib.h profile.c: Likewise.
- 	* longlong.h: Likewise.
- 	* libgcc2.c: Likewise.
- 
- 2000-12-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* machmode.def: Use correct definition for BITSIZE on targets where
- 	BITS_PER_UNIT != 8.
- 
- 2000-12-06  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.*: Reduce differences to (ultimately) reduce
- 	the number of them.
- 
- 2000-12-06  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c: Include expr.h before c-tree.h.
- 	(remove_useless_addtr_insns): Use reverse_condition_maybe_unordered
- 	instead of reverse_condition.
- 	(print_operand): Correct predicates for GT, GE, LT and LE.  Add
- 	predicates for LTGT, UNLE, UNLT, UNGE, UNGT, UNEQ, UNORDERED and
- 	ORDERED.
- 	(cmpib_comparison_operator): Add GEU and LTU codes.
- 	* pa.h (PREDICATE_CODES): Add codes for cmpib_comparison_operator.
- 	* pa.md (bltgt, bunle, bunlt, bunge, bungt, buneq, bunordered,
- 	bordered): New float conditional branch patterns.
- 
- Wed Dec  6 21:03:41 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* final.c (final_addr_vec_align): Fix clipping to BIGGEST_ALIGNMENT.
- 
- 2000-12-06  Sylvain Pion  <Sylvain.Pion@sophia.inria.fr>
- 
- 	* cpplex.c (skip_escaped_newlines): Don't warn for spaces between
- 	backslash and newline, when inside a comment.
- 
- 2000-12-06  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Use @table @samp instead of @itemize @minus for
- 	table of language standards.  Fix use of @pxref.  From Zack
- 	Weinberg.  Also exclude specs documentation from generated
- 	manpage, and create separate ENVIRONMENT section.
- 
- 2000-12-06  Michael Matz  <matzmich@cs.tu-berlin.de>
- 
- 	* gcse.c (compute_pre_data): Kill trapping expressions in
- 	destination blocks of abnormal edges.
- 
- 2000-12-05  Richard Sandiford  <r.sandiford@redhat.com>
- 
- 	* config/mn10300/mn10300.c (mn10300_print_reg_list): Added.
- 	(mn10300_get_live_callee_saved_regs): Likewise.
- 	(mn10300_gen_multiple_store): Likewise.
- 	(store_multiple_operation): Likewise.
- 	(expand_prologue): Use mn10300_gen_multiple_store().
- 	* config/mn10300/mn10300-protos.h (mn10300_print_reg_list): Added.
- 	(mn10300_get_live_callee_saved_regs): Likewise.
- 	(mn10300_gen_multiple_store): Likewise.
- 	(store_multiple_operation): Likewise.
- 	* config/mn10300/mn10300.md (store_movm): Use a MATCH_PARALLEL
- 	tied to store_multiple_operation().
- 
- Tue Dec  5 20:09:14 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* builtins.c (expand_builtin_setjmp_setup): Set
- 	current_function_has_nonlocal_label.
- 
- 2000-12-05  Neil Booth  <neilb@earthling.net>
- 
- 	* cppfiles.c (stack_include_file): Push zero-length buffers
- 	in case of failure.  Return void, as we don't fail any more.
- 	(read_include_file): Check for files we shouldn't re-read.
- 	Don't return an error code; errors are implied by marking the
- 	file NEVER_REREAD.
- 	(_cpp_execute_include): Move the recursion and in-macro checks
- 	here.  Update for stack_include_file not failing.
- 	* cpplib.c (cpp_push_buffer): Always succeed, since
- 	_cpp_execute_include performs the recursion check.  Tidy up.
- 	* cpplib.h (cpp_push_buffer): Update prototype.
- 
- 2000-12-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* sched-vis.c (visual_tbl_line_length): New variable.
- 	(get_visual_tbl_length): Set it.
- 	(visualize_stall_cycles): Don't let stalls overrun
- 	visual_tbl_line_length.
- 
- 2000-12-05  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* global.c (global_conflicts): Allow for a REG_UNUSED note
- 	with a different mode to the REG set in the insn.
- 
- 2000-12-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (fixinc.sh): Pass $WARN_CFLAGS into fixinc dir.
- 
- 	* fixinc/Makefile.in (FIXINC_DEFS): Add $(WARN_CFLAGS).
- 
- 2000-12-05  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/mkfixinc.sh(*-gnu*): activate fixinc for GNU/Hurd and
- 	GNU/Linux.
- 
- 2000-12-05  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* fixinc/mkfixinc.sh: Run fixinc on netbsd.
- 	* fixinc/inclhack.def (machine/ansi.h): Run this rule on all files,
- 	to cope with aliased copies.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2000-12-05  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* sched-vis.c: Guard with #ifdef INSN_SCHEDULING.
- 	* sched-rgn.c: Likewise.
- 	(rgn_print_insn): Fix output.
- 
- 2000-12-05  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.*: make these more consistent
- 	* fixinc/mkfixincl.sh: enable BeOS fixincludes
- 
- 2000-12-05  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (warn_if_unused_value): Move side effects test earlier.
- 
- 2000-12-05  Alan Modra <alan@linuxcare.com.au>
- 
- 	* bb-reorder.c (reorder_basic_blocks): Do check for EH edges even
- 	when using sjlj.
- 
- 2000-12-05  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (calculate_global_regs_live): Only force stack pointer
- 	live before reload.  Force pic register live before reload.
- 	(insn_dead_p): Don't protect pic references from deletion.
- 
- 2000-12-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Add support for using texi2pod.pl.  Don't use
- 	@multitable.
- 
- 2000-12-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_override_options): Test 'insn_flags' not
- 	'tune_flags' for XScale nature.
- 	Remove spurious test of HARD_FLOAT and XScale flags.
- 
- 	* config/arm/arm.md (umulsidi3adddi): Restore "=&r" register
- 	contraint, accidentally changed during XScale contribution.
- 
- 	* config/arm/lib1funcs.asm (interwork_call_via_, call_via_): Do
- 	not create these functions if the target architecture does not
- 	support Thumb instructions.
- 
- 2000-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ONEWS: New file with the current contents of NEWS up to EGCS
- 	1.1.
- 	* NEWS: Generate automatically from online release notes from EGCS
- 	1.0 to GCC 2.95.2, using ../contrib/gennews.
- 
- 2000-12-04  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcif.y: Move lexptr to top of file.  Add rule to handle
- 	assertions in conditional expressions.
- 	* tradcpp.c (parse_answer): Assertions do not need to go to
- 	end of line in conditional directives.
- 	(parse_assertion): Get first character of identifiers correct.
- 	(test_assertion): New function.
- 	* tradcpp.h (test_assertion): New prototype.
- 
- 2000-12-01  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* config.gcc: Fix typo for UnixWare 7.
- 
- 2000-12-03  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* invoke.texi:  Replace `pedwarns' with clearer text.
- 
- 2000-12-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/Makefile.*(clean):  don't clean autogenerated files.
- 	(mainainer-clean): clean autogenerated files
- 
- 2000-12-04  DJ Delorie  <dj@redhat.com>
- 
- 	* md.texi: Add overview, clarify match_dup and define_expand.
- 
- 2000-12-04  DJ Delorie  <dj@redhat.com>
- 
- 	* print-tree.c (print_node): Target-specific builtins print
- 	numbers, not names.
- 
- 2000-12-04  Jason Merrill  <jason@redhat.com>
- 
- 	* stor-layout.c (int_mode_for_mode): Handle MODE_VECTOR_INT,
- 	MODE_VECTOR_FLOAT.
- 
- 	* diagnostic.c (report_problematic_module): s/function/module/.
- 
- 	* c-lex.h: Remove decl for check_newline.
- 
- 2000-12-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.APOLLO: Remove obsolete file.
- 
- 2000-12-04  Neil Booth  <neilb@earthling.net>
- 
- 	* cppinternals.texi: New file.
- 
- 2000-12-04  Neil Booth  <neilb@earthling.net>
- 
- 	* cppfiles.c (cpp_make_system_header): Take 2 booleans,
- 	and operate on current buffer.
- 	(cpp_read_file): Rename _cpp_read_file.
- 	* cpplib.c (do_line, do_pragma_system_header): Update calls to
- 	cpp_make_system_header.
- 	* fix-header.c: Similarly.
- 	* cpphash.h (_cpp_read_file): Move from...
- 	* cpplib.h: ... here.
- 	* cppinit.c (do_includes, cpp_start_read): Update appropriately.
- 
- 2000-12-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strspn, expand_builtin_strcspn):
- 	Handle another transformation.
- 
- 2000-12-03  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add support for StrongARM targets.
- 	* config/arm/t-strongarm-elf: New file.
- 	* config/arm/t-strongarm-coff: New file.
- 	* config/arm/t-strongarm-pe: New file.
- 	* config/arm/strongarm-pe.h: New file.
- 
- 2000-12-03  Nick Clifton  <nickc@redhat.com>
- 
- 	* NEWS: Mention XScale has been added.
- 	* config.gcc: Add support for XScale targets.
- 	* config/arm/arm.h: Add support for XScale processor.
- 	* config/arm/arm.c: Add support for XScale processor.
- 	* config/arm/arm.md: Add support for XScale processor.
- 	* config/arm/t-xscale-elf: New file.
- 	* config/arm/t-xscale-coff: New file.
- 	* config/arm/xscale-elf.h: New file.
- 	* config/arm/xscale-coff.h: New file.
- 
- 2000-12-03  Richard Henderson  <rth@redhat.com>
- 
- 	* bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
- 	unless exception handling is enabled, and if not using sjlj.
- 
- 	* builtins.c (expand_builtin_setjmp_setup): New.
- 	(expand_builtin_setjmp_receiver): New.
- 	(expand_builtin_setjmp): Split out _setup and _receiver functions.
- 	Move argument parsing in from ...
- 	(expand_builtin): ... here.
- 	* except.c (receive_exception_label): Branch around receiver
- 	unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
- 	(start_dynamic_handler): Call expand_builtin_setjmp_setup.
- 	* expr.h: Update builtin setjmp decls.
- 
- 2000-12-03  Bruce Korb  <bkorb@gcc.org>
- 
- 	* fixinc/mkfixinc.sh(build machine): Sometimes, there is no canonical
- 	build machine name.  Default to the target.
- 
- 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* Makefile.in: use $(build_canonical), not $(canonical_build).
- 
- 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* Makefile.in (OBJS): Add sched-rgn.o.
- 	(sched-rgn.o): New rule.  * haifa-sched.c (sched_verbose): No
- 	longer static.
- 	(INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
- 	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
- 	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
- 	MAX_BLOCKAGE_COST): Move to sched-int.h.
- 	(MAX_RGN_BLOCKS, MAX_RGN_INSNS, INSN_REF_COUNT, FED_BY_SPEC_LOAD,
- 	IS_LOAD_INSN, struct haifa_edge, edge_table, NEXT_IN, NEXT_OUT,
- 	FROM_BLOCK, TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES,
- 	OUT_EDGES, edgelst, struct region, nr_regions, rgn_table,
- 	rgn_bb_table, block_to_bb, containing_rgn, RGN_NR_BLOCKS,
- 	RGN_BLOCKS, BLOCK_TO_BB, BB_TO_BLOCK, CONTAINING_RGN,
- 	debug_regions, find_single_block_region, find_rgns, too_large,
- 	init_regions, current_nr_blocks, current_blocks, bitset, bitlst,
- 	bitlst_table_last, bitlst_table_size, bitlst_table, bitset_member,
- 	extract_bitlst, bblst, struct candidate, candidate_table,
- 	bblst_table, bblst_size, bblst_last, IS_VALID, IS_SPECULATIVE,
- 	SRC_PROB, target_bb, split_edges, compute_trg_info,
- 	debug_candidate, debug_candidates, bbset, bbset_size, dom,
- 	IS_RGN_ENTRY, IS_DOMINATED, prob, GET_SRC_PROB, edgeset,
- 	rgn_nr_edges, rgn_edges, edgeset_size, edgeset_bitsize,
- 	EDGE_TO_BIT, edge_to_bit, pot_split, ancestor_edges,
- 	compute_dom_prob_ps, ABS_VALUE, INSN_PROBABILITY,
- 	IS_SPECULATIVE_INSN, INSN_BB, MIN_DIFF_PRIORITY, MIN_PROBABILITY,
- 	MIN_PROB_DIFF, check_live_1, update_live_1, check_live,
- 	update_live, set_spec_fed, is_pfree, find_conditional_protection,
- 	is_conditionally_protected, may_trap_exp, haifa_classify_insn,
- 	is_prisky, is_exception_free, add_branch_dependences,
- 	propagate_deps, compute_block_backward_dependences,
- 	debug_dependencies, is_cfg_nonregular, build_control_flow,
- 	new_edge, bb_deps, BITSET_UNION, BITSET_INTER, BITSET_DIFFER,
- 	BITSET_INVERT, BITSET_ADD, BITSET_REMOVE, debug_regions,
- 	UPDATE_LOOP_RELATIONS, INSN_TRAP_CLASS, WORST_CLASS, IS_REACHABLE,
- 	CONST_BASED_ADDRESS_P, free_pending_lists, sched_target_n_insns,
- 	target_n_insns, sched_n_insns, init_ready_list, deaths_in_region,
- 	can_schedule_ready_p, new_ready, schedule_more_p, rgn_print_insn,
- 	rgn_rank, region_sched_info): Move to sched-rgn.c.
- 	(debug_reg_vector): Delete useless function.
- 	(get_bb_head_tail): Likewise.
- 	(insn_issue_delay, insn_cost, ready_add, get_block_head_tail,
- 	no_real_insns_p, rm_line_notes, save_line_notes,
- 	restore_line_notes, rm_redundant_line_notes, sched_init): No
- 	longer static.
- 	(rm_line_notes, save_line_notes, restore_line_notes,
- 	schedule_block, set_priorities): Change argument to be a real
- 	basic block, not one of haifa's "bb"s.  All callers changed
- 	(rm_other_notes): Initialize note_list here, not in
- 	schedule_region.
- 	(sched_finish): New function, called from schedule_insn.  * *
- 	sched-int.h (INSN_PRIORITY, INSN_COST, INSN_UNIT, INSN_REG_WEIGHT,
- 	INSN_BLOCKAGE, UNIT_BITS, BLOCKAGE_MASK, ENCODE_BLOCKAGE,
- 	UNIT_BLOCKED, BLOCKAGE_RANGE, MIN_BLOCKAGE_COST,
- 	MAX_BLOCKAGE_COST): Moved here from haifa-sched.c.
- 	(get_block_head_tail, no_real_insns_p, rm_line_notes,
- 	save_line_notes, restore_line_notes, rm_redundant_line_notes,
- 	rm_other_notes, insn_issue_delay, set_priorities, schedule_block,
- 	sched_init, sched_finish, ready_add, insn_cost): Declare.
- 
- 2000-12-03  Laurynas Biveinis  <lauras@softhome.net>
- 	    Bruce Korb  <bkorb@gnu.org>
- 
- 	* Makefile.in: pass $(build_canonical) to mkfixinc.sh.
- 	* fixinc/mkfixinc.sh: accept build system name as an argument.
- 	Use it for choosing the fix build method.  Use the target for
- 	selecting special fix rules.
- 
- 2000-12-03  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* Makefile.in (OBJS): Add sched-deps.o.
- 	(sched-deps.o): New rule.
- 	* haifa-sched.c (struct deps, struct haifa_insn_data): Moved to
- 	sched-int.h.
- 	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved to
- 	sched-int.h.
- 	(SIZE_FOR_MODE): Delete unused macro.
- 	(reg_known_equiv_p, reg_known_value, reg_pending_clobbers,
- 	reg_pending_sets, reg_pending_sets_all, true_dependency_cache,
- 	anti_dependency_cache, output_dependency_cache,
- 	forward_dependency_cache): Variables moved to sched-deps.c.
- 	(add_dependence, remove_dependence, find_insn_list,
- 	find_insn_mem_list, add_insn_mem_dependence, flush_pending_lists,
- 	sched_analyze_insn, sched_analyze_1, sched_analyze_2,
- 	sched_analyze, group_leader, compute_forward_dependences,
- 	init_deps, free_deps, init_dependency_caches, free_dependency_caches):
- 	Functions moved to sched-deps.c.
- 	(schedule_region): Call init_deps_global and finish_deps_global
- 	instead of directly manipulating dependency data structures.
- 	* sched-deps.c: New file.
- 	(init_deps_global, finish_deps_global): New functions.
- 	* sched-int.h (struct haifa_insn_data, struct deps): Moved here from
- 	haifa-sched.c.
- 	(h_i_d): Declare.
- 	(INSN_DEPEND, INSN_LUID, CANT_MOVE, INSN_DEP_COUNT): Macros moved here
- 	from haifa-sched.c.
- 
- 	* Makefile.in (OBJS): Add sched-vis.o.
- 	(sched-vis.o): New rule.
- 	* haifa-sched.c (get_unit_last_insn): New function.
- 	(sched_dump, insn_unit, actual_hazard_this_instance): No longer
- 	static.
- 	(schedule_block): Call visualize_alloc and visualize_free.  Delete
- 	spurious return statement.
- 	(init_target_units, insn_print_units, get_visual_tbl_length,
- 	init_block_visualization, print_block_visualization, safe_concat,
- 	visualize_scheduled_inns, visualize_no_unit, visualize_stall_cycles,
- 	print_exp, print_value, print_pattern, print_insn, target_units,
- 	MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl,
- 	n_vis_no_unit, vis_no_unit): Move scheduling visualization
- 	functions/variables...
- 	* sched-vis.c: ...here.  New file.
- 	(visualize_alloc, visualize_free): New functions.
- 	(visualize_scheduled_insns, visualize_stall_cycles,
- 	print_block_visualization): Lose basic block argument.  All callers
- 	changed.
- 	(visualize_scheduled_insns): Use new function get_unit_last_insn.
- 	* sched-int.h (current_sched_info, sched_dump): Declare.
- 	(init_target_units, insn_print_units, init_block_visualization,
- 	print_block_visualization, visualize_scheduled_inns,
- 	visualize_no_unit, visualize_stall_cycles, visualize_alloc,
- 	visualize_free): Declare functions.
- 
- 	* sched-int.h: New file.
- 	* Makefile.in (haifa-sched.o): Depend on it.
- 	* haifa-sched.c: Include it.
- 	(no_real_insns_p): New function.
- 	(current_sched_info): New static variable.
- 	(__inline, HAIFA_INLINE): Moved to sched-int.h.
- 	(get_block_head_tail): Minor cleanup.
- 	(init_ready_list, can_schedule_ready_p, new_ready, schedule_more_p,
- 	rgn_print_insn, rgn_rank): New functions, broken out of
- 	rank_for_schedule, schedule_insn and schedule_block, where they
- 	are now called through function pointers in current_sched_info.
- 	(queue_insn, schedule_insn, queue_to_ready, debug_ready_list,
- 	print_insn): To display uid and block number, call the print_insn
- 	function pointer in current_schedule_info.
- 	(region_sched_info): New static variable.
- 	(sched_target_n_insns, sched_n_insns, target_n_insns): New global
- 	variables, moved out of schedule_block.
- 	(schedule_block): Return void.  All callers changed.
- 	Move some of the setup code into schedule_region.  Get head/tail
- 	from current_sched_info, and update it when done.
- 	(schedule_region): Slightly rearranged, some code moved here from
- 	schedule_block.  Call no_real_insns_p to avoid doing work for a
- 	block that consists only of notes and labels.
- 	(schedule_insns): Initialize current_sched_info.
- 
- 2000-12-03  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (funlike_invocation_p): Re-disable macros enabled
- 	by contexts drops AFTER argument pre-expansion, so that they
- 	remain enabled during argument pre-expansion.
- 	(_cpp_pop_context): Unconditionally re-enable a macro when
- 	dropping a context level.
- 
- 2000-12-03  Manfred Hollstein  <manfredh@redhat.com>
- 
- 	* arm/t-linux (MULTILIB_OPTIONS): Comment.
- 	(MULTILIB_DIRNAMES): Likewise.
- 	(EXTRA_MULTILIB_PARTS): Likewise.
- 	(LIBGCC): Likewise.
- 	(INSTALL_LIBGCC): Likewise.
- 
- 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
- 	expand_builtin_strspn, expand_builtin_strcspn): New functions.
- 	(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
- 	BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
- 
- 	* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
- 	BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
- 	strcat, strncat, strspn and strcspn.
- 	(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
- 
- 	* extend.texi (strcat, strcspn, strncat, strspn): Document new
- 	builtins.
- 
- 2000-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strcmp): Use const*_rtx when
- 	expanding strcmp at compile-time.  Add another transformation.
- 	(expand_builtin_strncmp): Add more transformations.  Call
- 	expand_builtin_memcmp, not expand_builtin_strcmp, under
- 	appropriate conditions if HAVE_cmpstrsi.
- 
- 2000-12-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (anddi3_internal[23]): Prefer rldic? over andis
- 	instruction.
- 	(cr logic): Really make operands sequential.
- 
- 2000-12-02  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-common.c (combine_strings): When the ISO C standard specifies
- 	the maximum length of a string, it doesn't include the trailing
- 	zero byte.
- 
- 	* cpplib.c (do_ifdef): Add check_eol() call.
- 	(do_ifndef): Likewise.
- 
- 2000-12-02  Daniel Berlin  <dberlin@redhat.com>
- 	    Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/*: global substitute /__MSDOS__/SEPARATE_FIX_PROC/
- 	* fixinc/mkfixinc.sh: prepare to use Makefile.BEOS for *-*-beos*
- 	* fixinc/Makefile.DOS: define SEPARATE_FIX_PROC for build
- 	* fixinc/fixfix.c(wrap_fix): avoid wrapping files that
- 	use the "__need_" hackery.  It breaks them.
- 	* fixinc/fixincl.c(process - SEPARATE_FIX_PROC):
- 	Sometimes on DOS and BeOS the temp output file cannot be opened.
- 	Skip the file noisily.  Ought to be fixed instead.
- 
- 2000-12-02  Bruce Korb  <bkorb@gnu.org>
- 
- 	From: 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixfixes.c (emit_gnu_type, format_write): Prototype.
- 	(format_write, char_macro_use_fix, char_macro_def_fix): Use gcc's
- 	custom uppercase ctype macros.
- 	* fixincl.c (do_version): Make static and add ATTRIBUTE_NORETURN.
- 	Use gcc's custom uppercase ctype macros.
- 	(main): Prototype.
- 	(machine_matches): Add static prototype and constify variable.
- 	(create_file, test_test, egrep_test): Add static prototype.
- 	(quoted_file_exists): Likewise, and constify parameters.
- 	(extract_quoted_files, internal_fix, start_fixer, fix_applies,
- 	write_replacement, test_for_changes): Add static prototype.
- 	(write_replacement, test_for_changes): Delete excess argument to
- 	`create_file'.
- 	* fixtests.c (test): Make static.
- 	* server.c (load_data, sig_handler, server_setup, find_shell): Add
- 	static prototype.
- 	(sig_handler): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 2000-12-02  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixnc/mkfixinc.sh(msdosdjgpp): remove from fixincludes exception list
- 	(per Laurynas Biveinis  <lauras@softhome.net>)
- 
- 2000-12-02  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (ARM_REGNO_OK_FOR_BASE_P, THUMB_REGNO_MODE_OK_FOR_BASE_P): New
- 	macros.
- 	(REGNO_MODE_OK_FOR_BASE_P): Define in terms of above.
- 	(REGNO_OK_FOR_FOR_BASE_P): Delete.
- 	(ARM_REG_OK_FOR_BASE_P, THUMB_REG_MODE_OK_FOR_BASE_P): New macros for
- 	both strict and non-strict uses.
- 	(REG_MODE_OK_FOR_BASE_P): Define in terms of above.
- 	(ARM_REG_OK_FOR_INDEX_P, THUMB_REG_OK_FOR_INDEX_P): New macros.
- 	(REG_OK_FOR_INDEX_P): Define in terms of above.
- 	(REG_OK_FOR_BASE_P): Delete.
- 	(REG_OK_FOR_PRE_POST_P): Delete.
- 	(ARM_BASE_REGISTER_RTX_P): Renamed from BASE_REGISTER_RTX_P.
- 	(ARM_INDEX_REGISTER_RTX_P): Renamed from INDEX_REGISTER_RTX_P.
- 	(ARM_GO_IF_LEGITIMATE_INDEX): Renamed from GO_IF_LEGITIMATE_INDEX.
- 	(THUMB_LEGITIMATE_OFFSET): Renamed from LEGITIMATE_OFFSET.
- 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Adjust for name changes.  Use ARM
- 	specific variants rather than general ones.  Use ARM_REG_OK_FOR_BASE_P
- 	in pre/post increment cases.
- 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Similarly for Thumb.
- 	(ARM_LEGITIMIZE_ADDRESS): Similarly.
- 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Similarly.
- 	* arm.c (legitimate_pic_address): Similarly.
- 
- 2000-12-02  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcpp.c (struct answer, parse_assertion, parse_answer,
- 	canonicalize_text, find_answer): New.
- 	(do_assert, do_unassert): Provide appropriate function bodies.
- 	(union hashval): New member answers.
- 
- 2000-11-23  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.md: Document UNSPEC usage.
- 	(*tablejump_rjmp, *tablejump_lib, *tablejump_enh, *tablejump):
- 	Make operand 0 input only, clobber it.  Use UNSPEC, not a bogus
- 	MEM for program memory word reference.  Do not add the label to
- 	the table index in each of the asm output templates, instead ...
- 	(casesi): ... do it in RTL.  Adjust to match the above change.
- 
- 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* c-common.c (PTRDIFF_TYPE): Provide default here, ...
- 	* c-decl.c: ... not here.
- 
- 	* haifa-sched.c (sched_dump): Renamed from dump.  All users changed.
- 	(old_max_uid): New variable.
- 	(compute_forward_dependences): Renamed from
- 	compute_block_forward_dependences; changed to accept block head and
- 	tail instead of block number.  Caller changed.
- 	(free_deps, init_dependency_caches, free_dependency_caches,
- 	init_regions, sched_init): New functions, split out from
- 	schedule_insns and compute_block_backward_dependences.
- 
- 2000-12-02  Neil Booth  <neilb@earthling.net>
- 
- 	* cppexp.c (parse_number): Update diagnostic test.
- 
- 2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload1.c (free_for_value_p): New function, frontend to
- 	reload_reg_free_for_value_p.  All callers of the latter now call
- 	this function with an additional mode argument.
- 
- 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* install.texi (Configurations): Remove obsolete documentation for
- 	hppa*-*-*.
- 
- 2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* install.texi (Installation): Remove obsolete description for
- 	libstdc++ which is now an integral part of GCC.
- 
- 2000-12-01  Jim Blandy  <jimb@redhat.com>
- 
- 	* dbxout.c (dbxout_parms): Correctly describe parameters passed by
- 	invisible reference in registers, but then spilled to the stack.
- 	Remove code to emit a second stab for such parameters; it attempts
- 	to describe the value's location by introducing a synthetic C++
- 	`reference' type, and then saying the stack slot has that
- 	reference type.  This loses type information (breaking GDB's
- 	`ptype' command, among other things) just to describe a location
- 	which stabs can represent correctly in other ways.
- 
- 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* final.c (output_addr_const) <PLUS>: Don't assume at least one
- 	operand is a CONST_INT.
- 
- 	* config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
- 	(machine_dependent_reorg): Split all insns.
- 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
- 	reg_class_contents[SIBCALL_REGS].
- 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
- 	* config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
- 	call_value_pcrel, call, call_value, sibcall): Match even when
- 	not optimizing.
- 	(sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
- 	for call address.
- 	(sibcalli): Likewise.
- 
- 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (warn_format, warn_format_y2k,
- 	warn_format_extra_args, warn_format_nonliteral): Define.
- 	(check_format_info): Check warn_format_nonliteral and
- 	warn_format_extra_args.
- 	(check_format_info_main): Check warn_format_y2k.
- 	(set_Wformat): New function.
- 	* c-common.h (warn_format_y2k, warn_format_extra_args,
- 	warn_format_nonliteral, set_Wformat): Declare.
- 	* c-decl.c (warn_format): Remove definition.
- 	(c_decode_option): Handle -Wformat-nonliteral,
- 	-Wno-format-extra-args and -Wno-format-y2k, and negated versions.
- 	Use set_Wformat.
- 	* invoke.texi: Document these new options and -Wformat=2.
- 	* toplev.c (documented_lang_options): Add these new options.
- 
- 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* builtins.def (BUILT_IN_IMAXABS): Add.
- 	* builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
- 	* c-common.c (c_common_nodes_and_builtins): Create builtin
- 	functions __builtin_imaxabs, and plain imaxabs unless
- 	flag_no_nonansi_builtin outside C99 mode.
- 	(expand_tree_builtin): Handle BUILT_IN_IMAXABS.
- 	* extend.texi: Document builtin imaxabs.
- 
- 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c: Include "defaults.h".
- 	(WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
- 	(c_common_nodes_and_builtins): Create string_type_node,
- 	const_string_type_node, wint_type_node, intmax_type_node,
- 	uintmax_type_node, default_function_type, ptrdiff_type_node and
- 	unsigned_ptrdiff_type_node.
- 	* c-common.h (identifier_global_value): Declare.
- 	* c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
- 	(init_decl_processing): Don't create string_type_node,
- 	const_string_type_node, wint_type_node, intmax_type_node,
- 	uintmax_type_node, default_function_type, ptrdiff_type_node and
- 	unsigned_ptrdiff_type_node.
- 	(identifier_global_value): New function.
- 
- 2000-12-01  Neil Booth  <neilb@earthling.net>
- 
- 	* cppinit.c (initialize): Forgotten prototype.
- 	* cpplex.c (_cpp_lex_token): Loop until not skipping.
- 	Always clear PREV_WHITE upon meeting a new line.
- 	* cpplib.c (end_directive): Set pfile->skipping after
- 	skip_rest_of_line.
- 	* cpplib.h (cpp_reader): Remove macro_pos.
- 	* cppmacro.c (cpp_get_line): Don't do anything special inside
- 	macros.
- 	(parse_arg): Add PREV_WHITE if a token appears after new lines.
- 	(funlike_invocation_p): Save and restore the output position
- 	over a successful check for a '('.
- 	(enter_macro_context): Delete uses of macro_pos.
- 	(cpp_get_token): Don't use pfile->skipping.
- 
- 2000-12-01  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* diagnostic.c:  Fix typos in comments.
- 	* diagnostic.h:  Likewise.
- 
- 2000-11-30  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* rtl.texi (Machine Modes):  Document BImode and OImode.
- 
- 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
- 	.FPP.
- 
- 2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): If pedantic, warn about arrays with
- 	incomplete element type.
- 	(grokparms): Before checking for incomplete parameter type, check
- 	the type isn't error_mark_node.
- 
- 2000-12-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (target_char_cast): New function.
- 	(expand_builtin_strchr): Use it.
- 	(expand_builtin_strrchr): Use it.
- 	(builtin_memset_read_str): New function.
- 	(expand_builtin_memset): Use target_char_cast.
- 	Try to optimize memset with second argument nonzero using
- 	store_by_pieces.
- 
- 2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* install.texi (avr): Replace incomplete list of supported MCU
- 	types with a link to the current one ...
- 	* invoke.texi (AVR Options): ... here.  Update -mmcu= to list
- 	all supported MCU types.  Document -minit-stack= default.
- 	Document new options -mno-tablejump, -mtiny-stack.
- 	* md.texi (AVR family):  Fix typo in 'w' constraint letter
- 	description.  Document 'q'.  Update 'O'.
- 
- 2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* combine.c (cant_combine_insn_p): Only disallow insns involving
- 	hard regs if they are reg-reg moves.
- 	(try_combine, can_combine_p, combinable_i3pat): Delete old
- 	SMALL_REGISTER_CLASSES tests.
- 
- 2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
- 	whether X is a CONST_INT.
- 	(addsubcosts): Likewise.
- 
- 	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
- 	mis-used XINT.
- 	(ARG_POINTER_REGNUM): Set to AP_REG.
- 
- 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
- 	splits): Only match on TARGET_SH4.
- 
- 	* combine.c (try_combine): Disregard USEs when updating LOG_LINKS
- 	of subsequent insns.
- 
- 2000-11-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
- 	* config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
- 
- 2000-11-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
- 	(DO_SELECT_SECTION): New.
- 	(SELECT_SECTION): Use it.
- 	(UNIQUE_SECTION_P): New.
- 	(UNIQUE_SECTION): New.
- 
- 2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
- 	from va_list before using it.
- 
- 2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
- 
- 	* flow.c (make_edge): Early out, if no flags to set.
- 	(calculate_global_regs_live): Clear out garbage only when necessary.
- 
- 	* simplify-rtx.c (varray_type used_regs): New.
- 	(clear_table): Use it to only clear necessary items.
- 	(cselib_lookup, cselib_record_set): Remember newly set items.
- 	(cselib_update_varray_sizes, cselib_init): Initialize and grow
- 	used_regs.
- 
- 	* local-alloc.c (update_equiv_regs): New local `cleared_regs'.
- 	Move clearing of dead regs out of insn-loop.
- 
- 2000-11-30  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (expand_call): Emit queued insns before creating
- 	the tail recursion sequence.
- 
- 2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
- 	    Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(): prevent dual double definition protection
- 	* fixinc/fixincl.x: regenerate
- 
- 2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* fixinc/Makefile.in (fixincl.x): Explicitly state the
- 	location of the generated file.
- 
- 2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.FRESCO: Remove obsolete file.
- 
- 2000-11-30  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
- 	TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
- 	config/t-linux for the Hurd.
- 
- 2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/mn10200/udivmod.c, config/mn10200/divmod.c,
- 	config/mn10200/udivmodsi4.c: Moved from here.
- 	* config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
- 	* config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
- 	C division functions.
- 	* config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
- 
- Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (conditional moves): Avoid holes in operand list.
- 	(mod, umod patterns): Similarly.
- 	(variable extract/shift patterns): Similarly.
- 
- 2000-11-30  Neil Booth  <neilb@earthling.net>
- 
- 	* objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
- 	maybe_objc_check_decl, build_objc_string_object,
- 	objc_declare_alias, objc_declare_class, build_message_expr,
- 	build_protocol_expr, build_selector_expr, build_encode_expr,
- 	get_class_ivars, start_class, start_protocol): Remove
- 	redundant code, assuming doing_objc_thang is true.
- 
- 2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (restore_unscaled_index_insn_codes): Delete procedure.
- 	(record_unscaled_index_insn_codes): Likewise.
- 	(unscaled_index_insn_codes): Delete.
- 	(max_unscaled_index_insn_codes_uid): Delete.
- 	(output_function_prologue, output_function_epilogue, pa_reorg):
- 	Don't use the unscaled index insn hack.
- 
- 	* pa.md: Remove hack from all index insns to reverse the operand
- 	order of frame and stack pointer references incorrectly created
- 	in the reload pass.
- 
- 	* function.h (emit_status): Delete member regno_pointer_flag and
- 	rename regno_pointer_flag_length to regno_pointer_align_length.
- 	Delete define for REGNO_POINTER_FLAG.
- 	* integrate.h (inline_remap): Delete member regno_pointer_flag.
- 	Add member x_regno_reg_rtx.
- 	* rtl.h (rtx_def): Use frame_related bit to indicate register is
- 	a pointer in REG expressions.  Define REG_POINTER macro.
- 	* alias.c (find_base_value, find_base_term): Use REG_POINTER
- 	instead of REGNO_POINTER_FLAG.
- 	* combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
- 	* emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
- 	of regno_pointer_flag_length.  Remove code which refers to
- 	regno_pointer_flag.
- 	(mark_reg_pointer): Use REG_POINTER.
- 	(free_emit_status): Remove code which refers to regno_pointer_flag.
- 	(init_emit, mark_emit_status): Likewise.
- 	* flow.c (dump_flow_info): Likewise.
- 	* function.c (preserve_temp_slots): Likewise.
- 	* integrate.c (expand_inline_function, copy_rtx_and_substitute):
- 	Use x_regno_reg_rtx instead of regno_pointer_flag for function
- 	pointer determination in map.
- 	* loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
- 	* predict.c (estimate_probability): Likewise.
- 	* regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
- 	* unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
- 	regno_pointer_flag for function pointer determination in map.
- 	* convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
- 	REG_POINTER.
- 	* pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
- 	Use REG_POINTER.
- 	(restore_unscaled_index_insn_codes): Revise comment.
- 
- 	* expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
- 
- 2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi: Update documentation for attributes.
- 
- 2000-11-29  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
- 	(ASM_DECLARE_OBJECT_NAME): Same.
- 	(ASM_FILE_END): Same.
- 	(ASM_FINISH_DECLARE_OBJECT): Same.
- 	(ASM_IDENTIFY_GCC): Same.
- 	(ASM_IDENTIFY_LANGUAGE): Same.
- 	(ASM_OUTPUT_CONSTRUCTOR): Same.
- 	(ASM_OUTPUT_DEF): Same.
- 	(ASM_OUTPUT_DESTRUCTOR): Same.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
- 	(ASM_OUTPUT_SECTION_NAME): Same.
- 	(ASM_WEAKEN_LABEL): Same.
- 	(BSS_SECTION_ASM_OP): Same.
- 	(COMMON_ASM_OP): Same.
- 	(CONST_SECTION_ASM_OP): Same.
- 	(CONST_SECTION_FUNCTION): Same.
- 	(CTORS_SECTION_ASM_OP): Same.
- 	(DTORS_SECTION_ASM_OP): Same.
- 	(ESCAPES): Same.
- 	(FINI_SECTION_ASM_OP): Same.
- 	(IDENT_ASM_OP): Same.
- 	(IDENT_ASM_OP): Same.
- 	(INIT_SECTION_ASM_OP): Same.
- 	(INT_ASM_OP): Same.
- 	(MAX_OFILE_ALIGNMENT): Same.
- 	(SBSS_SECTION_ASM_OP): Same.
- 	(SDATA_SECTION_ASM_OP): Same.
- 	(SECTION_FUNCTION_TEMPLATE): Same.
- 	(SELECT_SECTION): Same.
- 	(SE_CONST_SECTION): Same.
- 	(SIZE_ASM_OP): Same.
- 	(SKIP_ASM_OP): Same.
- 	(STRING_ASM_OP): Same.
- 	(STRING_LIMIT): Same.
- 	(TYPE_ASM_OP): Same.
- 	(TYPE_OPERAND_FMT): Same.
- 
- 2000-11-29  Neil Booth  <neilb@earthling.net>
- 
- 	* c-decl.c (c_decode_option): Don't handle -lang-objc.
- 	* objc/lang-options.h: Remove -lang-objc.
- 	* objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
- 	* objc/objc-act.c (lang_init_options): Set c_language.
- 
- 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
- 	tests.
- 
- 2000-11-29  Neil Booth  <neilb@earthling.net>
- 
- 	* c-pragma.c (init_pragma): Update for parse_in type change.
- 
- 2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* configure.in: recognize DOS-style absolute paths.
- 
- 2000-11-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.h (store_by_pieces): Add prototype.
- 	(can_store_by_pieces): Likewise.
- 	* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
- 	(can_store_by_pieces): New.
- 	(store_by_pieces): New.
- 	(clear_by_pieces): New.
- 	(clear_by_pieces_1): New.
- 	(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
- 	arbitrary compiler generated constants into memory block.
- 	(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
- 	* builtins.c (c_readstr): New.
- 	(builtin_memcpy_read_str): New.
- 	(expand_builtin_memcpy): If src is string constant and
- 	emit_block_move would move it by pieces, compute integer constants
- 	from the string and store it into memory block instead.
- 	(builtin_strncpy_read_str): New.
- 	(expand_builtin_strncpy): If N is not constant zero and c_strlen does
- 	not return INTEGER_CST, don't optimize.
- 	If N is larger than strlen(src) + 1, try to copy the string
- 	including padding with store_by_pieces.
- 	(expand_builtin_strcmp): If both arguments have side effects, don't
- 	optimize.
- 	(expand_builtin_fputs): If STR has side effects, don't optimize.
- 
- 2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
- 	Add use of link register.
- 
- 2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi: Update documentation for default format attributes.
- 
- Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
- 	a list, to keep track of the sections.
- 
- 2000-11-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (pic_load_addr): Split into
- 	pic_load_addr_arm and pic_load_addr_thumb.
- 
- 	* config/arm/arm.c (legitimize_pic_address): Generate either
- 	ARM or Thumb versions of pic_load_addr.
- 	(arm_finalize_pic): Generate either ARM or Thumb versions of
- 	pic_load_addr.
- 
- 2000-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
- 	after sibcall do_pending_stack_adjust.
- 
- Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* jump.c (delete_insn): Check that REG_LABEL note actually contains
- 	a CODE_LABEL.
- 
- 2000-11-28  Neil Booth  <neilb@earthling.net>
- 
- 	* c-common.h: Remove flag_digraphs.
- 	* c-decl.c: Remove flag_digraphs.
- 	(c_decode_option): Don't set it.
- 	* c-lex.c (init_c_lex): Don't do anything for digraphs.
- 
- 2000-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (finish_parse): Update for parse_in type change.
- 	(_yylex): Likewise.
- 
- 2000-11-28  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
- 	indicating whether to scan all buffers on the stack or
- 	just one.
- 	* cppinit.c (do_includes): Update.
- 	* cppmain.c (main): Update.
- 	* cpplib.h: Update prototype.
- 
- 2000-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* genoutput.c (validate_insn_operands): New.
- 	(gen_insn): Call it.
- 
- 	* config/alpha/alpha.md (divmodsi_internal): Renumber operands.
- 	(divmoddi_internal): Likewise.
- 	* config/arm/arm.md (andsi3_compare0_scratch): Likewise.
- 	* config/i960/i960.md (branch patterns): Likewise.
- 	* config/ia64/ia64.md (tbit_and_0): Likewise.
- 	(tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
- 	* config/m68k/m68k.md (zero_extract memory patterns): Likewise.
- 	* config/mips/mips.md (divmodsi4_internal): Likewise.
- 	(divmoddi4_internal): Likewise.
- 	* config/rs6000/rs6000.md (call patterns): Likewise.
- 	* config/sh/sh.md (movsi_y): Likewise.
- 	* config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
- 
- 2000-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc: Kill residual pyramid support.
- 
- 2000-11-28  Neil Booth  <neilb@earthling.net>
- 
- 	* c-lex.h (parse_in): Change parse_in to a cpp_reader *.
- 	* c-decl.c (c_decode_option): Update to match.
- 	* c-lex.c (init_c_lex, yyparse): Update to match.
- 	* c-lang.c (lang_init_options): Use cpp_create_reader.
- 	* cppinit.c (cpp_init): Rename initialize.
- 	(cpp_reader_init): Rename cpp_create_reader.  Create the
- 	reader.  Initialize cpplib if appropriate.
- 	* cpplib.h (cpp_create_reader) New prototype.
- 	(cpp_init, cpp_reader_init): Delete prototypes.
- 	* cppmain.c (general_init, setup_callbacks): New functions.
- 	(main): Use them.
- 	* fix-header.c (scan_in): Change type to cpp_reader *.
- 	(read_scan_file): Update for new cpplib interface and scan_in type.
- 
- 	* cp/decl.c (parse_in): Change to cpp_reader *.
- 	(lang_decode_option): Update.
- 	* cp/lex.c (lang_init_options): Use new cpplib interface.
- 	(init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
- 	* cp/spew.c (read_token): Update.
- 	* objc/objc-act.c (lang_init_options): Update new cpplib interface.
- 
- 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* loop.c (load_mems): Avoid using next_label to find end_label. If
- 	jumping outside of the loop (other than loop end), don't hoist MEMs
- 	out of loop.
- 
- 2000-11-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Don't disable tail recursion based
- 	on the loop nest.
- 
- 2000-11-28  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
- 	(struct directive): Drop 4th argument from handlers.
- 	(do_define, do_line, do_include, do_undef, do_else, do_elif,
- 	do_endif): Similarly.
- 	(do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
- 	(do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
- 	(make_definition, make_undef): Take a const char*.
- 	(make_assertion): New function.
- 	(struct directive_table): Update.
- 	(main): Handle -A command line argument.
- 	(handle_directive): Drop fourth handler argument.
- 
- 2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
- 	is anything but REG or MEM, but look inside STRICT_LOW_PART.
- 
- Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
- 	(IS_ABSOLUTE_PATHNAME): New macro.
- 	* gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
- 
- 2000-11-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (truncxfsf2_2): Fix predicate.
- 
- 2000-11-27  Jim Wilson  <wilson@redhat.com>
- 
- 	* reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
- 
- 2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
- 
- 	* extend.texi (Nested Functions): Update URL of Usenix paper.
- 
- 2000-11-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (free_after_compilation): Clear x_clobber_return_insn.
- 
- 2000-11-27  Neil Booth  <neilb@earthling.net>
- 
- 	* cppinit.c (cpp_reader_init): Remove handling of warn_paste
- 	command line options.
- 	(cpp_handle_option): Similarly.
- 	* cpplib.h (struct cpp_options): Remove warn_paste.
- 	* cppmacro.c (paste_tokens): Apart from assembler, make
- 	unpasteable token warning mandatory.
- 
- 2000-11-27  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcpp.c (enum pending_dir_t, struct pending_dir): New.
- 	(main): Allocate a pending directive set of these.  Use it.
- 	Merge handling of -D and -U.  Update handling of pending
- 	directives.  Free the memory after use.
- 
- 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* flow.c (entry_exit_blocks): Add entry for cond_local_set.
- 	(struct propagate_block_info): Add new member cond_local_set.
- 	(propagate_block): Accept new arg cond_local_set.  All callers
- 	changed.
- 	(init_propagate_block_info): Likewise.
- 	(calculate_global_regs_live): Allocate & free cond_local_set.  Always
- 	rescan if there's overlap between cond_local_set and new_live_at_end.
- 	(mark_set_1): Set bits either in cond_local_set or local_set, as
- 	appropriate.
- 	* basic-block.h (struct basic_block_def): New field cond_local_set.
- 	(propagate_block, init_propagate_block_info): Update prototypes.
- 
- Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
- 
- 	* gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
- 	T register.
- 
- 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (select_dominance_cc_mode): Handle new way that combine
- 	canonicalizes conditional compares.
- 	(arm_select_cc_mode): Likewise.
- 	* arm.md: Garbage collect some dead code.
- 	(cmp_and, cmp_ior): New patterns.
- 	(splitter for conditional move with inverted false): Use cond_exec
- 	and handle unordered comparisons.
- 
- Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
- 	* i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
- 	* i386.md (float?i?f, int/fp operations): Rewrite spliters to use
- 	ix86_force_to_memory and ix86_free_from_memory.
- 
- 2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
- 	arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
- 	anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3,
- 	one_cmpldi2): Merge with splitters to create define_insn_and_split
- 	patterns.  Remove redundant splits.
- 	(peephole2 for add:SI of invalid immediate): New.
- 	(peephole2 for minus:SI of invalid immediate): New.
- 	(peephole2 for ior:SI of invalid immediate): New.
- 	(peephole for merge of move and compare): Convert ot peephole2.
- 	(addsf3, adddf3): Mark as commutative.
- 
- 	* arm.md (thumb peephole for merging stack adjustments): Convert to
- 	peephole2.
- 
- 2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
- 
- 	* reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
- 	(reload_cse_simplify_operands): Do nothing about operands where both
- 	the operand and the match_operand fail to give us a mode.
- 	* simplify-rtx.c (wrap_constant): New function.
- 	(entry_and_rtx_equal_p): Except integer constants to come wrapped in a
- 	CONST describing the proper mode.
- 	(rtx_equal_for_cselib_p): Pass down modes to recursive calls of
- 	cselib_lookup.
- 	(cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
- 	htab_find_slot_with_hash.
- 	(cselib_lookup): Likewise.
- 
- 	Based on a patch from Geoff Keating <geoffk@redhat.com>:
- 	* loop.c (basic_induction_var): If a REG is set from something
- 	that is not a biv, then the REG is not a biv.  Even if it is
- 	earlier set from something that is a biv.
- 
- 2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (extra_objs): Enclose extra_headers in quotes.
- 	* configure: Rebuilt.
- 
- 2000-11-27  Neil Booth  <neilb@earthling.net>
- 
- 	* c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
- 	Combine into the new function cb_change_file.
- 	(init_c_lex): Update.
- 	* cppfiles.c (stack_include_file): Use _cpp_do_file_change.
- 	(cpp_syshdr_flags): Delete.
- 	* cpphash.h (_cpp_do_file_change): New prototype.
- 	Move struct cpp_buffer here from...
- 	* cpplib.h (struct cpp_buffer): ... here.
- 	(enum cpp_fc_reason, struct cpp_file_loc,
- 	struct_cpp_file_change, change_file): New.
- 	(enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
- 	* cpplib.c (do_line): Update for new cb_change_file callback.
- 	(_cpp_do_file_change): New function.
- 	(_cpp_pop_buffer): Update to use it.
- 	* cppmain.c (move_printer): Delete.
- 	(main): Set up single callback cb_change_file.
- 	(cb_enter_file, cb_leave_file, cb_rename_file): Delete.
- 	(cb_change_file): New.
- 	* fix-header.c (cur_file, cb_change_file): New.
- 	(recognized_function, read_scan_file): Update.
- 	* scan-decls.c (scan_decls): Update.
- 	* scan.h (recognized_function): Update prototype.
- 
- 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (mark_tree_hashtable): New function.
- 	* tree.c (mark_tree_hashtable_entry): New function.
- 	(mark_tree_hashtable): Likewise.
- 
- 2000-11-27  Michael Meissner  <meissner@redhat.com>
- 
- 	* d30v-protos.h (srelational_si_operator): Correctly spell
- 	function.
- 	(urelational_si_operator): Ditto.
- 	(relational_si_operator): Ditto.
- 	(d30v_expand_prologue): Add prototype.
- 	(d30v_expand_epilogue): Ditto.
- 
- 	* d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
- 
- 	* d30v.md (movcccc_*): Delete now unused patterns.
- 	(64 bit comparison splitters): Rewrite to use COND_EXEC instead of
- 	IF_THEN_ELSE.
- 	(define_cond_exec): Use 'b' to select branch flags.
- 
- 2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
- 	functions.
- 	(expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
- 
- 	* builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
- 	strncpy and strncmp.
- 
- 	* extend.texi (strncmp, strncpy): Document new builtins.
- 
- 2000-11-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
- 	a list, to keep track of the sections.
- 	* tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
- 	parameter provided will always be a canonical string.
- 
- 2000-11-26  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
- 	current buffer.
- 
- 2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* makefile.vms: Remove EGCS references.
- 
- 2000-11-26  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* dwarf2out.c (output_file_names): New function.  Compute minimal
- 	combination of directory and file name table and emit them.
- 	(output_line_info): Remove code to emit directory and file name
- 	table and call output_file_names instead.
- 	(file_info_cmp): Helper function to sort directory names.
- 
- 2000-11-26  Neil Booth	<neilb@earthling.net>
- 
- 	* cpplib.h (struct cpp_reader): Remove lang_asm.
- 	(struct cpp_options): Remove c89. New members lang,
- 	extended_numbers.
- 	* cppexp.c (parse_number): Use them.
- 	* cpphash.h (VALID_SIGN): Use them.
- 	* cppinit.c (set_lang, cpp_start_read): Update.
- 	* cpplex.c (parse_string, _cpp_lex_token): Update.
- 	* cpplib.c (_cpp_handle_directive): Update.
- 	* cppmacro.c (parse_args): Update.
- 	* cppmain.c (scan_buffer): Update.
- 
- Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (fold, case CONVERT_EXPR): Always return tree of
- 	proper type.
- 
- 2000-11-26  Neil Booth	<neilb@earthling.net>
- 
- 	* Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
- 	* c-decl.c: Remove parse_in declaration.
- 	* c-lang.c: Similarly.
- 	* c-lex.c: Similarly.
- 	* c-parse.in: Similarly.
- 	* c-pragma.c: Similarly.
- 	* configure.in: Similarly.
- 	* cp/Make-lang.in: Similarly.
- 	* cp/spew.c: Similarly.
- 	* cp/decl2.c: Remove check for lang-c++ option.
- 	* cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
- 	* cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
- 	* c-lex.h: Add declaration of parse_in.
- 	* cppinit.c: Call set_lang after allocating pfile->pending.
- 	* configure: Regenerate.
- 
- 2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* combine.c (try_combine): Remove redundant test.
- 
- 2000-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (DECL_C_HARD_REGISTER): New.
- 	* c-decl.c (finish_decl): Set it for asm register variables.
- 	* c-semantics.c (emit_local_var): Test it when instantiating one.
- 
- 2000-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
- 	lineno for the start of the function.
- 
- 2000-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (file_table, file_table_allocated): Remove.
- 	(file_table_allocated): Remove.
- 	(struct file_table): New.
- 	(decl_file_table, line_file_table): New.
- 	(print_dwarf_line_table): Use them.
- 	(size_of_line_prolog): Likewise.
- 	(output_line_info): Likewise.
- 	(add_src_coords_attributes): Likewise.
- 	(gen_subprogram_die): Likewise.
- 	(gen_variable_die): Likewise.
- 	(dwarf2out_add_library_unit_info): Likewise.
- 	(dwarf2out_line): Likewise.
- 	(lookup_filename): Take a struct file_table argument.
- 	(init_file_table): New.
- 	(dwarf2out_init): Use it.
- 
- 2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Update sequence points references.
- 
- 2000-11-25  Neil Booth  <neilb@earthling.net>
- 
- 	* c-common.c: Remove USE_CPPLIB conditional inclusions.
- 	* c-common.h: Similarly.
- 	* c-decl.c: Similarly.
- 	* c-lang.c: Similarly.
- 	* c-lex.c: Similarly.
- 	* c-parse.in: Similarly.
- 	* c-pragma.c: Similarly.
- 	* c-pragma.h: Similarly.
- 	* gcc.c: Similarly.
- 	* toplev.c: Similarly.
- 	* cp/cp-tree.h: Similarly.
- 	* cp/decl2.c: Similarly.
- 	* cp/lang-specs.h: Similarly.
- 	* cp/lex.c: Similarly.
- 	* cp/lex.h: Similarly.
- 	* cp/spew.c: Similarly.
- 	* java/lang-options.h: Similarly.
- 	* objc/lang-specs.h: Similarly.
- 	* objc/objc-act.c: Similarly.
- 
- 	* configure.in: Remove configure option.
- 	* config.in: Regenerate.
- 	* configure: Regenerate.
- 
- 2000-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
- 	Revert 2000-11-22 change.
- 
- 2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* config/i386/i386.h (FIXED_REGS): Make the three flags registers
- 	fixed.
- 
- 2000-11-25  Philipp Thomas  <pthomas@suse.de>
- 	* configure.in (ALL_LINGUAS): Remove en_GB and add sv.
- 	* configure: Rebuilt.
- 
- 2000-11-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
- 	Handle CONST_INT as second argument.
- 	* config/sparc/sparc.c (set_extends): Remove first argument.
- 	Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
- 	MOV.
- 	(sparc_check_64): Abort if first argument is not REG.
- 	If it is DImode REG, look at the lower register of the register
- 	pair.
- 
- 	* config/sparc/sparc.c (load_pic_register, restore_regs,
- 	output_return, sparc_v8plus_shift, sparc_function_profiler,
- 	sparc_function_block_profiler, sparc_block_profiler): Fix output
- 	formatting.
- 
- 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (TARGET_NONE): New.
- 	(TARGET_SWITCHES): For all variant-selecting switch, use
- 	TARGET_NONE to reset all other variant-selecting switch.  Added
- 	empty strings to avoid warnings.
- 	(TARGET_DEFAULT): Set to SH1_BIT.
- 
- 	* Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
- 	insn-codes.h.
- 
- 	* gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
- 	(sibcall_pcrel): New insn_and_split.
- 	(sibcall, sibcall_value, sibcall_epilogue): New expands.
- 
- 	* config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
- 	symPLT_label2reg, call, call_value): Don't set
- 	current_function_uses_pic_offset_table.
- 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
- 	PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
- 	takes it into account.
- 	(FINALIZE_PIC): Delete, useless.
- 	(LEGITIMATE_CONSTANT_P): Delete, unused.
- 	* config/sh/sh.c (sh_expand_prologue): Don't use
- 	current_function_uses_pic_offset_table.  Don't special-case
- 	PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
- 	PIC is enabled.
- 	(sh_expand_epilogue, initial_elimination_offset): Don't
- 	special case PIC_OFFSET_TABLE_REGNUM.
- 
- 2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
- 
- 	* config/sh/sh-protos.h (symbol_ref_operand): Declare.
- 	* config/sh/sh.md (UNSPEC_CALLER): New constant.
- 	(calli_pcrel, call_valuei_pcrel): Use PIC_REG.
- 	(call_pcrel, call_value_pcrel): New insn_and_splits.
- 	(call, call_value): Use them.
- 	(call_site): New expand.
- 	(sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
- 	* config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
- 	Output call_site label.
- 	(PREDICATE_CODES): Added symbol_ref_operand.
- 	* config/sh/sh.c (symbol_ref_operand): Define.
- 	* emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
- 	to CALL_INSNs in the split sequence.
- 
- 2000-11-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc (v850-*-*): Define c_target_objs and
- 	cxx_target_objs.
- 
- 	* config/v850/t-v850: Define how to build v850-c.o
- 
- 	* config/v850/v850.h (struct data_area_stack_element): Move
- 	definition here from v850.c.
- 
- 	* config/v850v850.c: Include gcc.h to avoid compile time
- 	warning.
- 	(push_data_area): Move to v850-c.c.
- 	(pop_data_area): Move to v850-c.c.
- 	(mark_current_function_as_interrupt): Move to v850-c.c.
- 	(GHS_default_section_names): Allow to be exported.
- 	(GHS_current_section_names): Allow to be exported.
- 	(data_area_stack_elements): Allow to be exported.
- 	(ghs_pragma_section): Move to v850-c.c.
- 	(ghs_pragma_interrupt): Move to v850-c.c.
- 	(ghs_pragma_starttda): Move to v850-c.c.
- 	(ghs_pragma_startsda): Move to v850-c.c.
- 	(ghs_pragma_startzda): Move to v850-c.c.
- 	(ghs_pragma_endtda): Move to v850-c.c.
- 	(ghs_pragma_endsda): Move to v850-c.c.
- 	(ghs_pragma_endzda): Move to v850-c.c.
- 
- 	* config/v850/v850-c.c: New file: Contains v850 specific
- 	pragma parsing functions.
- 
- 2000-11-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc (extra_objs): Remove duplicate description.
- 	(c_target_objs): New variable.  Contains target specific
- 	object files for the gcc C compiler only.
- 	(cxx_target_objs): New variable.  Contains target specific
- 	object files for the gxx C++ compiler only.
- 
- 	* configure.in (c_target_objs): Substitute in the makefile.
- 	(cxx_target_objs): Substitute in the makefile.
- 	* configure: Regenerate.
- 
- 	* Makefile.in (C_TARGET_OBJS): Define and initialize from
- 	c_target_objs.
- 	(CXX_TARGET_OBJS): Define and initialize from
- 	cxx_target_objs.
- 	(C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
- 
- 	* cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
- 
- 	* tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
- 	about how the use of the 'c_lex' function requires the use of
- 	the target specific, language specific object files feature of
- 	the configuration mechanism.
- 
- Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcc.c (process_command): Use F_OK, not R_OK.
- 
- 2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
- 
- 	* flow.c (print_rtl_and_abort): Remove ANSIism.
- 
- Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (GENERAL_REGISTER_P,
- 	GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
- 	FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
- 	all over.
- 	(SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
- 	* config/sh/sh.c: Use new macros.
- 	* config/sh/sh.md: Likewise.
- 
- Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
- 	instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
- 	in PSImode.
- 
- Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
- 	fixed.
- 	(machine_dependent_reorg): Wrong optimization based on
- 	NOTICE_UPDATE_CC removed.
- 
- Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* jump.c (delete_computation): Re-instate deletion of feeding insn.
- 	(delete_insn): Look for REG_LABEL notes.
- 	(redirect_tablejump): Delete feeding insns.
- 
- 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
- 	call_value_pop_1): Make sure operand numbers are contiguous.
- 
- 	* fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
- 
- 	* reload1.c (conflicts_with_override): New function.
- 	(emit_input_reload_insns): Use it to tighten test for validity
- 	of substituting into output of previous insn.
- 
- 	* haifa-sched.c (struct ready_list): New.
- 	(ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
- 	functions.
- 	(schedule_insn): Replace args READY and N_READY with a pointer to a
- 	ready_list; return void.  Use the new functions to access the ready
- 	list.  All callers changed.
- 	(queue_to_ready, debug_ready_list): Likewise.
- 	(schedule_block): Initialize a ready_list structure.  Use new
- 	functions to access it.
- 	(max_priority): Remove unused variable.
- 	(schedule_insn): Don't set it.
- 
- 	* c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
- 
- 	* combine.c (cant_combine_insn_p): New function.
- 	(try_combine): Use it.
- 
- 	* Makefile.in (c-common.o): Depend on $(OBSTACK_H).
- 	* c-common.c (c-obstack.c): Include "obstack.h".
- 	(struct reverse_tree): Delete.
- 	(reverse_list, reverse_max_depth): Delete.
- 	(build_reverse_tree, common_ancestor, modify_ok): Delete functions.
- 	(struct tlist, struct tlist_cache): New.
- 	(tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
- 	(add_tlist, merge_tlist, verify_tree, warning_candidate_p,
- 	warn_for_collisions, warn_for_collisions_1, new_tlist): New
- 	static functions.
- 	(verify_sequence_points): Rewritten.
- 	* fold-const.c (fold): Don't lose possibly important sequence
- 	points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
- 
- 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL
- 	when reversing a register-to-register copy.  Reversal now disabled
- 	when the previous instruction has a REG_EQUIV.
- 
- 2000-11-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-parse.in (unary_expr): Move VA_ARG from here ...
- 	(primary): ... to here.
- 
- 2000-11-23  Graham Stott  <grahams@redhat.com>
- 
- 	* expr.c (store_constructor): If a field is non addressable and
- 	the target is a MEM use MEM_ALIAS_SET otherwise use get_alias_set.
- 
- 2000-11-23  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* flow.c (print_rtl_and_abort): New function.
- 	(verify_wide_reg, verify_local_live_at_start): Try to dump more
- 	information before aborting.
- 
- 2000-11-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Use word 0 if register mode
- 	is narrower than requested mode.
- 	(gen_highpart): Abort if register mode is narrower than
- 	requested mode.
- 
- 2000-11-23  Graham Stott  <grahams@redhat.com>
- 
- 	* cse.c (cse_insn): Initialize all regcost variables.
- 	Fix a typo add missing '='.
- 	Only compare costs if there is a replacement insn.
- 
- Thu Nov 23 04:33:33 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* final.c (output_addr_const) [LABEL_REF]: Simplify.
- 	[MINUS]: Enclose non-CONST_INTs in parentheses.
- 	[default]: Try OUTPUT_ADDR_CONST_EXTRA.
- 	* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
- 	* varasm.c (decode_rtx_const) [CONST]: If it's not something
- 	PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
- 	instead of abort()ing.
- 	* sh.c (output_pic_addr_const): Removed.  Fixed all callers.
- 	* sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
- 	formerly handled in output_pic_addr_const.
- 	* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
- 	operands of MINUS in CONSTs so that decode_rtx_const() will
- 	accept them.
- 
- Thu Nov 23 04:10:30 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (mova_const): New pattern.
- 	(GOTaddr2picreg): Use it.
- 	* config/sh/sh.c (broken_move): Match it.
- 	(mova_p): Don't match it.
- 	(machine_dependent_reorg): Adjust it.
- 
- Thu Nov 23 02:09:09 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (FIRST_GENERAL_REG, LAST_GENERAL_REG): New.
- 	Moved most register-number #defines...
- 	* config/sh/sh.md (define_constants): ... here.  Use macros to
- 	refer to registers and unspecs.
- 	* config/sh/sh.c: Likewise.
- 
- Thu Nov 23 01:01:32 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* Makefile.in (HOST_CFLAGS): Add -DGENERATOR_FILE.
- 	(rtl.o, print-rtl.o, bitmap.o, obstack.o): Build with -DGENERATOR_FILE.
- 	(alloca.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
- 	(splay-tree.o, hash.o): Likewise.
- 	GCONFIG_H: New.
- 	(rtl.o, print-rtl.o): Depend on $(GCONFIG_H) instead of $(CONFIG_H).
- 	(bitmap.o, obstack.o, vfprintf.o, ggc-none.o, errors.o): Likewise.
- 	(hashtab.o): Likewise.
- 	(gcov.o): Depend on $(CONFIG_H).
- 	* configure.in: #include insn-codes.h in tm.h.
- 
- 2000-11-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_encode_call_attribute): Make 'newstr' a
- 	const char * to avoid a compile time warning.
- 
- 	* config/arm/arm.md (define_constants): Define symbolic names for
- 	the link register, last integer register and the fake CC register.
- 	Update patterns to use these symbolic names.
- 
- 2000-11-22  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (trigraph_ok): Ensure we don't warn twice.
- 	* cpplib.h (struct cpp_buffer): New member last_Wtrigraphs.
- 
- 2000-11-22  Richard Henderson  <rth@redhat.com>
- 
- 	* haifa-sched.c (sched_analyze_1): Don't special-case calls
- 	for clobbering registers.
- 	(sched_analyze_2): Likewise.
- 	(sched_analyze): Zap reg_last_uses and reg_last_sets after calls.
- 
- 2000-11-22  Chris Demetriou  <cgd@sibyte.com>
- 	    Neil Booth  <neilb@earthling.net>
- 
- 	* gcc.c (validate_switches): Validate multiple switches named
- 	in '|' (or) expressions in specs.
- 	(handle_braces): If more than 1 alternative in a '|' spec
- 	matches, call do_spec1 just once.
- 
- 2000-11-22  Michael Meissner  <meissner@redhat.com>
- 
- 	* d30v.h (TARGET_SWITCHES): Add documentation strings.
- 	(TARGET_OPTIONS): Ditto.
- 	(OPTIMIZATION_OPTIONS): Temporarily turn off -frename-registers if
- 	-O3.
- 
- Wed Nov 22 06:40:56 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (hppa_encode_label): Account for addition of encoding
- 	character when allocating persistent space for the new label
- 	name.
- 
- 2000-11-22  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* Makefile.in, config.gcc, configure.in: Expunge remaining
- 	traces of facility for running MD files through C preprocessor.
- 
- 2000-11-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcov.texi: Add magic comments for texi2pod.pl.
- 	* Makefile.in: Add rules to generate and install gcov.1.
- 	* gcov.1: New (generated) file.
- 
- 2000-11-21  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (scan_rtx_reg): Terminate the chain rather than
- 	abort on mark_read with NO_REGS.
- 
- 2000-11-21  Mike Stump  <mrs@wrs.com>
- 
- 	* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Fix to allow
- 	compilation with older compilers, such as /bin/cc on SunOS.
- 	* fixinc/fixfixes.c (FIX_PROC_HEAD): Ditto.
- 
- 2000-11-21  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (record_constant): Pad the constructed
- 	constant_descriptor appropriately.
- 
- Wed Nov 22 00:52:55 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* rtl.h (traverse_md_constants): Declare.
- 	(struct md_constant): Define.
- 	* Makefile.in (HOST_RTL): Add hashtab.o .
- 	(OBJS): Add hashtab.o .
- 	(hashtab.o): New rule.
- 	(rtl.o): Depends on HASHTAB_H.
- 	* rtl.c (hashtab.h): #include.
- 	(md_constants): New static variable.
- 	(def_hash, def_name_eq_p, read_constants): New static functions.
- 	(traverse_md_constants): New function.
- 	(read_name): Do constant expansion.
- 	(read_rtx): Recognize define_constants.
- 	* gencodes.c (print_md_constant): New function.
- 	(main): Emit #defines for all constant definitions encountered.
- 	* md.texi (Constant Definitions): New node.
- 	* gensupport.c (xcalloc): New function.
- 
- 2000-11-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_split_tfmode_frobsign): New.
- 	* config/alpha/alpha-protos.h: Declare it.
- 	* config/alpha/alpha.md (abstf_internal): Use it.
- 	(negtf_internal): Likewise.
- 	(andnotdi3): Unstar the name.
- 	(movtf_internal): Add o/G alternative.
- 
- 2000-11-21  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* stringpool.c (stringpool_statistics): Also report number and
- 	percentage of entries which are identifiers.
- 
- 2000-11-21  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* gcse.c (hoist_expr_reaches_here_p): Do not mark expr_bb as
- 	visited before visiting it.
- 
- 2000-11-21  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h: Accept TARGET_CPU_arm9tdmi,
- 	TARGET_CPU_strongarm110 and TARGET_SPU_strongarm1100.
- 
- 	* config.gcc: Accept --with-cpu=arm9 and --with-cpu=arm9tdmi.
- 
- 2000-11-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (c_unsafe_for_reeval): New function.
- 	(add_c_tree_codes): Register it.
- 	* c-common.h: Declare it.
- 	* tree.c (lang_unsafe_for_reeval): New hook.
- 	(unsafe_for_reeval): Call it.
- 	* tree.h: Declare it.
- 
- 2000-11-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify @GOT
- 	references as well.
- 
- 2000-11-21  Neil Booth  <neilb@earthling.net>
- 
- 	* do_includes: Revert to using cpp_read_file.
- 
- 2000-11-21  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* loop.c (consec_sets_giv): If the reg we're examining is anything
- 	but UNKNOWN_INDUCT, do nothing.
- 	Reset the reg's type to UNKNOWN_INDUCT before returning.
- 
- 	Mostly from Vladimir Makarov (vmakarov@redhat.com)
- 	* ia64.md (attr itanium_class): Define insn types as described in
- 	Itanium docs.
- 	(all insn patterns): Use itanium_class, not type attributes.
- 	Occasionally split alternatives as necessary.
- 	(attr type): Compute from new attr itanium_class.
- 
- 2000-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tradcpp.c (output_line_command): Mark system headers as such in
- 	`line' commands.
- 
- 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): SPARC has .file/.loc
- 	support in as as well.
- 	* configure: Regenerate.
- 
- 2000-11-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-lex.c (orig_filename): New variable.
- 	(init_c_lex): Set it.  Move call to cpp_start_read ...
- 	(yyparse): ... here.  New function.
- 	* c-parse.in (yyparse_1): Rename the parser entry point.
- 	* c-tree.h: Declare it.
- 
- 2000-11-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (do_compare_and_jump): If op0 was replaced by promoted
- 	integer constant, use type of op1 for comparison.
- 
- 2000-11-20  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/xm-darwin.h: New file, Darwin host definitions.
- 	* config/rs6000/x-darwin: New file, Darwin host fragment.
- 	* config.gcc (powerpc-*-darwin*): New host.
- 	* system.h (HAVE_DESIGNATED_INITIALIZERS):  Allow this to be
- 	overridden by a config file.
- 
- 2000-11-20  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (paste_tokens): Rename from paste_payloads.
- 	Change token type after pasting spellings.
- 	(paste_all_tokens): Use it.
- 	* gcc.dg/cpp/paste2.c: Update test.
- 	* objc/execute/paste.m: New test.
- 
- 2000-11-20  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf.h (FMT_CODE): Adjust argument order; fix mapping to
- 	dwarf_subscr_data_formats bits.
- 	* dwarfout.c (simple_type_size_in_bits): Handle a type with
- 	no computed size as size zero.
- 	(field_byte_offset): Likewise.
- 	(subscript_data_attribute): Handle a range with no upper bound.
- 
- 2000-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gansidecl.h (const): Check __STDC__ before undef'ing `const'.
- 
- 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (build_conditional_expr): When merging type
- 	qualifiers for conditional expressions between a pointer and a
- 	pointer to a void type, merge the qualifiers on the target types
- 	rather than the pointer type.  Remove obsolete conditioned out
- 	code.
- 
- 2000-11-20  Neil Booth  <neilb@earthling.net>
- 
- 	* c-lang.c (lang_init_options): Update call to
- 	cpp_reader_init.
- 	* cppmain.c (main): Similarly.
- 	* fix-header.c (read_scan_file): Similarly.
- 	* cp/lex.c (lang_init_options): Similarly.
- 	* objc/objc-act.c (lang_init_options): Similarly.
- 	* cppexp.c (parse_number): Only warn for unextended C89.
- 	* cppinit.c (set_lang): New function.
- 	(cpp_reader_init): Take a LANG argument and pass it to set_lang.
- 	(COMMAND_LINE_OPTIONS): New option std=c++98.
- 	(cpp_handle_option): Use set_lang.
- 	* cpplex.c (_cpp_lex_token): Warn pedantically if not C99.
- 	* cppib.h (enum_c_lang): New enumeration.  Update comments.
- 
- 2000-11-20  Will Cohen  <wcohen@redhat.com>
- 
- 	* calls.c (expand_call): Clear target only when target is in
- 	hard register and current_function_check_memory_usage is set.
- 
- 2000-11-20  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* toplev.c (rest_of_compilation): Run optimize_mode_switching even
- 	if not optimizing.
- 	* sh.c (emit_sf_insn, emit_df_insn): Just call emit_insn.
- 
- 2000-11-19  Richard Henderson  <rth@redhat.com>
- 
- 	* crtstuff.c (force_to_data): Use array size 1 not 0.
- 
- 	* dwarf2out.c (simple_type_size_in_bits): Handle a type with
- 	no computed size as size zero.
- 	(field_byte_offset): Likewise.
- 
- 2000-11-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc: Fix another typo.
- 
- 2000-11-19  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Support flexible array members.
- 	Use open-ended ranges for these and zero-length arrays.
- 	* c-typeck.c (push_init_level): Validate the context of
- 	initialization of a zero-length array.
- 	* tree.c (int_fits_type_p): Be prepared for missing bounds.
- 	* varasm.c (array_size_for_constructor): New.
- 	(output_constructor): Use it for arrays of unspecified length.
- 	* extend.texi (Zero Length): Mention C99 flexible array members.
- 	Document initialization in a top-level struct as valid.
- 
- 2000-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc, invoke.texi: Fix errors in spelling of "deprecated".
- 
- 	* alias.c (mems_in_disjoint_alias_sets_p): Do use alias sets in
- 	stdarg and varargs functions.
- 
- 2000-11-19  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* gcc.c (process_command): Define 'j' variable when
- 	MODIFY_TARGET_NAME is defined.
- 
- 2000-11-19  Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (variable_size): Only put SAVE_EXPRs on pending_sizes.
- 
- 2000-11-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000/rs6000.c (rs6000_encode_section_info): Fix string length
- 	calculation and allocation.
- 
- 2000-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (c_getstr): Constify variable.
- 	* gmon-sol2.c (_mcleanup): Comment out #endif labels.
- 	* conflict.c (const_conflict_graph_arc): New typedef.
- 	(arc_hash, arc_eq): Avoid needlessly casting away const-ness.
- 	* cppmacro.c (builtin_macro): Likewise.
- 	* dwarf2out.c (output_comp_unit): Constify variable.
- 	* fix-header.c (v_fatal): Add ATTRIBUTE_PRINTF.
- 	* protoize.c (IS_SAME_PATH_CHAR): Use TOUPPER, not toupper.
- 	* ssa.c (ssa_rename_from_hash_function): Avoid needlessly casting
- 	away const-ness.
- 	* tradcpp.c (rescan, do_line, macroexpand, macarg): Use
- 	ISALNUM/ISDIGIT/ISPRINT, not isalnum/isdigit/isprint.
- 	* varasm.c (const_str_htab_hash, const_str_htab_eq,
- 	compare_constant_1, record_constant_1): Constify.
- 
- 2000-11-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Special case the creation of an
- 	index for a zero-length array.
- 	* tree.c (build_index_type): Revert Oct 20 change.
- 
- 2000-11-18  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr-protos.h (avr_output_addr_vec_elt): Prototype.
- 	* config/avr/avr.c (jump_tables_size): New variable.
- 	(function_prologue): Initialize it as 0.
- 	(function_epilogue): Add it to function_size.
- 	(avr_output_addr_vec_elt): New function.  Count words in jump
- 	tables in jump_tables_size.  Move code ...
- 	* config/avr/avr.h (ASM_OUTPUT_ADDR_VEC_ELT): ... from here.
- 	Call avr_output_addr_vec_elt instead.
- 	* config/avr/avr.md (tablejump): Remove disabled define_expand.
- 
- 2000-11-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.in: Make --enable-new-gxx-abi the default.
- 	* configure: Likewise.
- 
- 2000-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (tradcpp.o, tradcif.o): Depend on tradcpp.h.
- 
- 	* tradcif.y: Include tradcpp.h.  Constify.  Make functions static.
- 	Move extern function declarations to tradcpp.h.
- 
- 	* tradcpp.c: Likewise.
- 
- 	* tradcpp.h: New file.
- 
- 2000-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (check_for_loop_decls): New function.
- 	* c-parse.in (for_init_stmt): New.
- 	(select_or_iter_stmt): Use for_init_stmt.
- 	* c-tree.h (check_for_loop_decls): New declaration.
- 
- 2000-11-18  Neil Booth  <neilb@earthling.net>
- 
- 	* cppinit.c: Update comments.
- 	(cpp_reader_init): Make -imacro and -include use the standard
- 	#include "" search path.
- 	(do_includes): New function.
- 
- 2000-11-18  Ben Elliston  <bje@redhat.com>
- 
- 	* config/sh/crt1.asm (start_l): Move PC-relative move instruction
- 	out of a branch delay slot.
- 
- 2000-11-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
- 	(ASM_SPEC): Disable and enable .mdebug based on -gstabs.
- 	(ASM_FILE_START): Only write out ecoff .file directive if
- 	emitting mdebug debugging.
- 
- 2000-11-17  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): New.  Detect
- 	whether as accepts .file/.loc and produces dwarf2 line info.
- 	* dwarf2out.c (DWARF2_ASM_LINE_DEBUG_INFO): Default on if
- 	the assembler supports it.
- 	* config.in, configure: Regenerate.
- 
- 2000-11-17  Richard Henderson  <rth@redhat.com>
- 
- 	* fixinc/mkfixinc.sh: Don't disable fixincludes for any linux*.
- 
- 2000-11-17  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.c (emit_insn_group_barriers, case CALL_INSN):
- 	Don't clear need_barrier is next_insn is a CALL_INSN, or has
- 	instruction type B or UNKNOWN.
- 
- 2000-11-17  Neil Booth  <neilb@earthling.net>
- 
- 	* cpperror.c (print_file_and_line): Don't display line number if 0.
- 
- 2000-11-17  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* ggc.h: Delete ggc_add_string_root and ggc_mark_string.  Add
- 	digit_vector and digit_string.
- 	* stringpool.c (digit_vector): New.
- 	(ggc_alloc_string): Use digit_string.
- 
- 	* stmt.c (digit_strings): Delete.
- 	(init_stmt): Do not initialize digit_strings.
- 	(expand_asm_operands): Use ggc.h's digit_string macro.
- 	* toplev.c (mark_file_stack): Delete.
- 	(compile_file): Don't call init_tree_codes.
- 	(main): No need to make the file stack a GC root.
- 	* tree.c (init_tree_codes): Delete.
- 	* tree.h (init_tree_codes): Delete.
- 
- 	* c-lex.c: Don't include ggc.h.
- 	(mark_splay_tree_node, mark_splay_tree): Delete.
- 	(init_c_lex): No need to ggc_strdup string constant.  Don't add
- 	file_info_tree to GGC roots.
- 	(cb_enter_file, cb_rename_file): No need to ggc_strdup
- 	ip->nominal_fname.
- 
- 	* Makefile.in (c-lex.o): No longer depends on $(GGC_H).
- 
- 	* dbxout.c (dbxout_init),
- 	dwarf2out.c (dwarf2out_line),
- 	ggc-common.c (ggc_mark_rtx_children, ggc_mark_trees),
- 	varasm.c (mark_const_hash_entry, mark_pool_constant, init_varasm_once),
- 	xcoffout.c (xcoffout_source_file),
- 	i386.c (load_pic_register):
- 	Delete call(s) to ggc_add_string_root and/or ggc_mark_string.
- 
- 	* except.c (create_rethrow_ref),
- 	profile.c (init_edge_profiler),
- 	toplev.c (compile_file),
- 	varasm.c (named_section, assemble_static_space,
- 	assemble_trampoline_template, output_constant_def, force_const_mem),
- 	i386.c (load_pic_register),
- 	ia64.c (ia64_encode_section_info),
- 	rs6000.c (rs6000_emit_load_toc_table, create_TOC_reference,
- 	rs6000_emit_prologue, rs6000_emit_epilogue),
- 	rs6000.md (load_toc_aix_si, load_toc_aix_di):
- 	Change ggc_alloc_string (var, -1) to ggc_strdup (var).
- 
- 	* profile.c (output_func_start_profiler),
- 	tree.c (make_node),
- 	i386.c (load_pic_register): No need to ggc_strdup string constant.
- 
- 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* Makefile.in (config.status): Depend on config.gcc.
- 	* configure.in <for machine in $build $host $target>: Move
- 	contents of loop into config.gcc, removing autoconf quoting.
- 	Fix changequote bug for alpha*-*-vxworks*.
- 	* configure: Regenerate.
- 	* config.gcc: New.
- 
- 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* c-parse.in (if_prefix): Find the filename and line number at
- 	$-2 and $-1 respectively.
- 	* diagnostic.c (error_recursion): Add missing newline, use
- 	fputs, translate string.
- 
- 2000-11-16  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* stringpool.c: New file.
- 	* ggc-common.c (ggc_mark_string_ptr, ggc_add_string_root): Delete.
- 	(ggc_alloc_string): Now in stringpool.o.
- 	* ggc-page.c, ggc-simple.c: Do not define or allocate empty_string.
- 	* ggc.h: Delete prototype of ggc_add_string_root.  #define
- 	ggc_add_string_root and ggc_mark_string to nothing.  Prototype
- 	init_stringpool and stringpool_statistics.
- 	(ggc_alloc_string): Returns a const char *.
- 	* tree.c (hash_table, do_identifier_warnings): Delete.
- 	(init_obstacks): Don't initialize the identifier hash table.
- 	(get_identifier, maybe_get_identifier, start_identifier_warnings,
- 	set_identifier_size): Now in stringpool.c.
- 	* tree.h (struct tree_string): Constify pointer field.
- 	(approx_sqrt): Prototype.
- 
- 	* Makefile.in (stringpool.o): Add rule, mention in OBJS.
- 
- 	* toplev.c (approx_sqrt): New function.
- 	(compile_file): Call stringpool_statistics if mem_report is on.
- 	(main): Call init_stringpool.
- 
- 	* builtins.c (c_strlen), c-decl.c (finish_decl), c-lex.c
- 	(process_directive), c-typeck.c (constructor_asmspec, struct
- 	initializer_stack, start_init), except.c (create_rethrow_ref),
- 	stmt.c (digit_strings), toplev.c (decode_f_option), tree.c
- 	(built_in_filename), varasm,c (in_named_name,
- 	assemble_static_space, struct constant_descriptor, struct
- 	deferred_string, struct pool_constant, force_const_mem),
- 	i386.c (pic_label_name, global_offset_table_name), rs6000.c
- 	(rs6000_emit_prologue, rs6000_emit_epilogue) : Constify a char *.
- 
- 	* c-common.c (combine_strings): Combine strings in scratch
- 	buffer, then pass to build_string.
- 	* optabs.c (init_libfuncs), profile.c (init_edge_profiler,
- 	output_func_start_profiler), stmt.c (init_stmt), alpha.c
- 	(alpha_need_linkage), arm.c (arm_encode_call_attribute),
- 	i386.c (load_pic_register), ia64.c (ia64_encode_section_info),
- 	rs6000.c (rs6000_encode_section_info): Create string in
- 	scratch buffer, then pass to ggc_alloc_string.
- 
- 	* stmt.c (expand_asm_operands): If we must adjust the
- 	constraint strings, do so by creating a new one, not by
- 	modifying the old one in place.  Constify some char *s.
- 	* config/pa/pa.c (hppa_encode_label): Drop unnecessary second
- 	argument.  Create string in scratch buffer, then pass to
- 	ggc_alloc_string.
- 	* config/pa/pa-protos.h: Update prototype.
- 	* config/pa/elf.h, config/pa/pa.h, config/pa/som.h:
- 	hppa_encode_label takes only one argument.
- 
- 2000-11-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mcore.c (mcore_expand_prolog): Call xmalloc/xrealloc, not
- 	malloc/realloc.
- 
- 	* cpplib.c (glue_header_name): Likewise.
- 
- 	* fixincl.c (run_compiles, start_fixer): Likewise.
- 
- 	* fixlib.c (load_file_data): Likewise.
- 
- 	* mkdeps.c (munge): Likewise.
- 
- 2000-11-17  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* defaults.h [EH_FRAME_SECTION_ASM_OP] (EH_FRAME_SECTION): Remove
- 	trailing ';'.  Fix formatting.
- 
- 2000-11-16  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT, MASK_INLINE_DIV_THR):
- 	Shift masks left by one to avoid conflict.
- 
- 	* config/ia64/ia64.c (ia64_encode_section_info): Disallow decls with
- 	DECL_EXTERNAL set.
- 
- 2000-11-16  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (output_arm_prologue): Note nested functions.
- 	(arm_expand_prologue): For nested functions preserve the
- 	static chain register during stack frame creation.
- 
- 	* config/arm/arm.h (STATIC_CHAIN_REGNUM): Change to 12.
- 	(ARM_INITIAL_FRAME_ELIMINATION_OFFSET): For a nested function
- 	with a stack frame there is a 4 byte gap between the arg
- 	pointer and the hard frame pointer (used to preserve the
- 	static chain register during stack frame creation).
- 
- 2000-11-16  DJ Delorie  <dj@redhat.com>
- 
- 	* rtl.c (read_rtx): Provide suitable names for unnamed
- 	define_insn and define_insn_and_split patterns, based on file
- 	and line numbers.
- 
- 2000-11-15  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplib.c (start_directive, end_directive): New functions.
- 	(_cpp_handle_directive, run_directive): Use them.
- 	(_cpp_handle_directive): Don't -Wtraditional on indented
- 	null directives.
- 	(_cpp_push_buffer): Don't re-clear was_skipping.
- 	* cpplib.h (struct cpp_reader): New member la_saved.
- 	* cppmacro.c (cpp_get_token): Don't interpret _Pragma in
- 	directives.
- 
- 	gcc.dg/cpp/_Pragma1.c: Update.
- 	gcc.dg/cpp/_Pragma2.c: New test.
- 
- 2000-11-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.c (wrapup_global_declarations): Don't write out
- 	artificial static variables that aren't needed.
- 
- 2000-11-15  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* ia64.c (struct group): New structure.
- 	(last_group): New static array.
- 	(group_idx): New static variable.
- 	(emit_group_barrier_after, errata_find_address_regs, errata_emit_nops):
- 	New static functions.
- 	(emit_insn_group_barriers): Initialize and keep track of group_idx
- 	and last_group.
- 	Call errata_emit_nops if TARGET_B_STEP or TARGET_A_STEP.
- 	Replace all calls to emit_insn_after that emit a group barrier to use
- 	emit_group_barrier_after.
- 	* ia64.h (MASK_B_STEP): New.
- 	(other MASK_XXX macros): Renumbered.
- 	(TARGET_B_STEP): New.
- 	(TARGET_SWITCHES): Add -mb-step.
- 
- 2000-11-15  Fred Fish  <fnf@be.com>
- 
- 	* fixinc/mkfixinc.sh (fixincludes): Add *-*-beos* to list of
- 	machines for which fixincludes is not needed.
- 	* config/i386/x-beos (STMP_FIXPROTO): Don't run fixproto.
- 
- 2000-11-15  Jason Merrill  <jason@redhat.com>
- 
- 	* diagnostic.c (finish_abort): New fn.
- 	(fancy_abort, error_recursion): Use it.
- 	* toplev.c (crash_signal): Likewise.
- 	* diagnostic.h: Declare it.
- 
- 2000-11-13  Andrew Haley  <aph@redhat.com>
- 
- 	* tree.c (build_type_no_quals): New function.
- 	* tree.h (build_type_no_quals): Declare.
- 	* c-common.c (c_get_alias_set): When considering type
- 	compatibility for pointer types, ignore cv-qualifiers anywhere in
- 	a pointer chain.
- 
- 2000-11-15  Graham Stott  <grahams@redhat.com>
- 
- 	* regrename.c (scan_rtx_rtx): Skip to the next chain on
- 	encountering a terminated chain.
- 
- 2000-11-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.in: Move check for V3 above check for C++ header-file
- 	directory.
- 	* configure: Regenerated.
- 
- 2000-11-14  DJ Delorie  <dj@redhat.com>
- 
- 	* config/v850/v850.c: Remove obstacks.
- 
- Tue Nov 14 21:54:31 2000  Marek Michalkiewicz  <marekm@linux.org.pl> & Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (avr_case_values_threshold): New.
- 	(avr_override_options): Set it depending on options, make it large
- 	when not optimizing to work around "unable to generate reloads".
- 
- 	* config/avr/avr.h (TARGET_SWITCHES): Add -mno-tablejump option.
- 	(EXTRA_SECTION_FUNCTIONS): Make the .progmem.gcc_sw_table section
- 	executable if not AVR_MEGA.  Make sure jump tables are word-aligned.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Define as 0, not 1.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): Optimize, use "rjmp" if not AVR_MEGA.
- 	(avr_case_values_threshold): Declare as extern int.
- 	(CASE_VALUES_THRESHOLD): Define as avr_case_values_threshold.
- 
- 	* config/avr/avr.md (tablejump): Removed.
- 	(*tablejump_rjmp): New for jump tables made from "rjmp" instructions.
- 	(*tablejump_lib, *tablejump_enh, *tablejump): Change to expect the
- 	index in the table, not multiplied by 2.
- 	(casesi): Change to match the above insns.  Always enable.
- 
- 	* config/avr/libgcc.S (__tablejump__): Rename to __tablejump2__.
- 	Change to expect the word address of the table, multiply it by 2
- 	here and not in the caller.  Change "adiw" to faster "inc".
- 
- 2000-11-14  Neil Booth  <neilb@earthling.net>
- 
- 	* cppexp.c (parse_defined): Call cpp_get_token not
- 	_cpp_get_token.
- 	(lex): Similarly.
- 	* cpplex.c (cpp_output_line): Similarly.
- 	* cpplib.c (glue_header_name, do_line, do_ident,
- 	parse_answer, parse_assertion): Similarly.
- 	(_cpp_handle_diretive): Don't save to lookaheads
- 	when processing directives.
- 	* cppmacro.c (parse_arg, expand_arg): Call cpp_get_token not
- 	_cpp_get_token.
- 	(funlike_invocation_p): Don't save to lookaheads
- 	when pre-expanding arguments.
- 	(_cpp_get_token): Delete.
- 	(cpp_get_token): Merge contents of _cpp_get_token.
- 
- 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_setjmp): Set
- 	current_function_calls_setjmp.
- 	(expand_builtin_longjmp): Set current_function_calls_longjmp.
- 
- 	* config/sparc/sparc.md (builtin_setjmp_setup): New expand.
- 	(do_builtin_setjmp_setup): New insn.
- 
- Tue Nov 14 12:34:56 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (get_unwidened): Use host_integerp and tree_low_cst.
- 	(int_fits_type_p): For variable bounds, call force_fit_type.
- 
- 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (struct deferred_string): New structure.
- 	(const_str_htab): New variable.
- 	(STRHASH): New macro.
- 	(mark_const_str_htab_1, mark_const_str_htab, const_str_htab_hash,
- 	constr_str_htab_eq, const_str_htab_del): New functions.
- 	(output_constant_def): Add DEFER argument, defer string
- 	constants until mark_constant_pool time if requested.
- 	(mark_constant_pool): Walk the insn chain even if const_str_htab is
- 	not empty.
- 	(mark_constants): If a SYMBOL_REF for deferred string is found,
- 	output it and remove from hash table.
- 	(output_addressed_constants): Set DEFER to 0 in call to
- 	output_constant_def.
- 	* rtl.h (STRING_POOL_ADDRESS_P): Define.
- 	(output_constant_def): Adjust prototype.
- 	* expr.c (expand_expr): Set DEFER to 1 in call to output_constant_def.
- 
- 2000-11-14  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* optabs.c (expand_complex_ab):: Use overflow-trapping optabs for
- 	signed types if flag_trapv.
- 
- 2000-11-14  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* tradcpp.c, tradcif.y: Update FSF mailing address, delete
- 	reference to GPLv1.
- 
- 2000-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.h (CTI_C_SIZE_TYPE): Update comment.
- 
- 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (struct varasm_status): Change x_const_rtx_sym_hash_table
- 	to array of pool_constnat pointers.
- 	(struct pool_constant): Add next_sym and label members.
- 	(struct pool_sym): Remove.
- 	(init_varasm_status): Change pool_sym into pool_constant.
- 	(mark_pool_constant): Mark pc->label string as well.
- 	(mark_pool_sym_hash_table): Remove.
- 	(mark_varasm_status): Remove it from caller as well.
- 	(free_varasm_status): Don't free pool_sym structures.
- 	(force_const_mem): Don't allocate pool_sym structure, instead
- 	fill pool->label and chain it into rtx_sym hash table.
- 	(find_pool_constant, mark_constant_pool): Use pool_constant instead
- 	of pool_sym.
- 
- 2000-11-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* reload1.c (emit_input_reload_insns): Honor forcing of constants
- 	into memory by PREFERRED_RELOAD_CLASS NO_REGS.
- 
- 2000-11-14  Michael Matz  <matzmich@cs.tu-berlin.de>
- 
- 	* dominance.c: New file.
- 	* Makefile.in (OBJS): Add dominance.o.
- 
- 	* flow.c (compute_flow_dominators): Remove.
- 	(compute_immediate_dominators): Remove.
- 	(compute_immediate_postdominators): Remove.
- 	* basic-block.h: Remove their prototypes.
- 	(calculate_dominance_info): Add prototype.
- 
- 	* dce.c (eliminate_dead_code): Change calls to above functions.
- 	Don't compute dominators but only immediate dominators.
- 	* flow.c (flow_loops_find): Change callers.
- 	* gcse.c (compute_code_hoist_data): Likewise.
- 	* haifa-sched.c (schedule_insns): Likewise.
- 	* ifcvt.c (if_convert): Likewise.
- 	* ssa.c (convert_to_ssa): Likewise, and only compute immediate
- 	dominators.
- 
- 2000-11-14  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (warn_if_unused_value): Don't warn if the expression
- 	has side effects.
- 
- 	* c-typeck.c (c_sizeof): Fold result to c_size_type_node.
- 	(c_sizeof_nowarn, c_alignof, c_alignof_expr): Likewise.
- 
- 2000-11-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* loop.c (basic_induction_var): Revert accidental checkin.
- 
- 2000-11-13  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* c-lex.c (cb_leave_file): Harmonize conditions and order of
- 	statements to those of process_directive for (action == act_pop).
- 
- 	* collect2.c (main): Pass on -B options from COLLECT_GCC_OPTIONS.
- 
- 	* local-alloc.c (equiv_init_movable_p): References to CC0 are not
- 	movable.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (stmts_and_decls): Deprecate use of label at end of
- 	compound statement.
- 
- 2000-11-13  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (_cpp_lex_token): CPP_COMMENT and true CPP_EOF
- 	cases return without MI check.
- 	* cpplib.c (do_diagnostic): Take boolean of whether to
- 	print the directive name.
- 	(do_error, do_warning): Update.
- 	(do_pragma_dependency): Use it.
- 	* cpplib.h (VARARGS_FIRST): Delete.
- 	(struct cpp_token): Delete integer.
- 	* cppmacro.c (enter_macro_context): Move disabled check
- 	to _cpp_get_token.
- 	(_cpp_get_token): Simplify into a single loop.
- 
- 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* configure.in:  Use 'test -f' not '[ -e'.
- 	* configure: Regenerated.
- 
- 2000-11-13  DJ Delorie  <dj@redhat.com>
- 
- 	* config/mn10300/mn10300.md (store_movm): Note which registers are
- 	really used or clobbered.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (ends_in_label): Remove from %union and %type.
- 	(decls, stmts, lineno_stmt_or_labels, xstmts,
- 	lineno_stmt_or_label, stmt_or_label): Remove.
- 	(stmts_and_decls, lineno_stmt_decl_or_labels_ending_stmt,
- 	lineno_stmt_decl_or_labels_ending_decl,
- 	lineno_stmt_decl_or_labels_ending_label,
- 	lineno_stmt_decl_or_labels_ending_error,
- 	lineno_stmt_decl_or_labels, compstmt_contents_nonempty,
- 	lineno_stmt, lineno_label): New.
- 	(compstmt_nostart): Use compstmt_contents_nonempty.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (boolean_increment): New function.
- 	* c-common.h (enum c_tree_index): Add CTI_C_BOOL_TYPE,
- 	CTI_C_BOOL_TRUE and CTI_C_BOOL_FALSE.
- 	(c_bool_type_node, c_bool_true_node, c_bool_false_node): Define.
- 	(boolean_increment): Declare.
- 	* c-convert.c (convert): Allow for BOOLEAN_TYPE.
- 	* c-decl.c (init_decl_processing): Create boolean nodes.
- 	(finish_struct): Allow for _Bool bitfields.
- 	* c-parse.in (reswords): Add _Bool.
- 	(rid_to_yy): Allow for RID_BOOL.
- 	* c-typeck.c (default_conversion): Make booleans promote to int.
- 	(convert_arguments, build_unary_op, build_modify_expr,
- 	convert_for_assignment): Allow for booleans.
- 	* ginclude/stdbool.h: Make conforming to C99.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (c99_block_start, c99_block_end,
- 	c99_block_lineno_labeled_stmt): New.
- 	(simple_if, do_stmt_start): Use c99_block_lineno_labeled_stmt.
- 	(stmt): Split off selection and iteration statements into...
- 	(select_or_iter_stmt): New.  Use c99_block_lineno_labeled_stmt.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi (-Wtrigraphs, -fdump-translation-unit, -save-temps,
- 	-time): Update.
- 
- 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (mulsidi3adddi, umulsidi3adddi): Revert previous change.
- 	Rewrite to avoid use of match_dup.  Don't try to tie registers that
- 	are not in the same mode.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Update lists of languages and suffixes supported.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Take toplevel configure arguments from the
- 	environment to create configargs.h and substitute
- 	gcc_config_arguments, taking account of any existing configargs.h
- 	if reconfiguring.
- 	* configure: Regenerate.
- 	* gccbug.in: Include toplevel configure arguments in gccbug.
- 
- 2000-11-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* varasm.c (struct constant_descriptor): Put CONTENTS inside a
- 	union to make it well-aligned.  Update all uses.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (initelt): Give appropriate pedantic warnings,
- 	depending on flag_isoc99, for non-ISO syntax and for C99 syntax
- 	outside C99 mode.
- 	(designator): If pedantic, pedwarn for a designator specifying a
- 	range of elements.
- 	* c-typeck.c (set_init_index, set_init_label): Don't pedwarn for
- 	these cases.
- 	* extend.texi: Document the C99 syntax as the preferred syntax,
- 	and the pre-2.5 syntax as obsolete.  Mention use of designator
- 	lists for nested subobjects.
- 
- 2000-11-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* diagnostic.c (vbuild_message_string, output_do_printf, vnotice):
- 	Add ATTRIBUTE_PRINTF.
- 	* tradcpp.c (v_message, warning, error, fatal, error_with_line):
- 	Add ATTRIBUTE_PRINTF*.
- 
- 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (assign_parms): When calling put_var_into_stack, make
- 	sure that there are no hidden pending sequences.
- 
- 2000-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin): Handle BUILT_IN_INDEX and
- 	BUILT_IN_RINDEX.  Add missing checks for BUILT_IN_STRCHR and
- 	BUILT_IN_STRRCHR.
- 
- 	* builtins.def (BUILT_IN_INDEX, BUILT_IN_RINDEX): New entries.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare index and
- 	rindex when nonansi builtins are allowed.
- 
- 	* extend.texi (index, rindex): Document new builtins.
- 
- 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.in: Turn on libstdc++ V3 by default.
- 	* configure: Regenerated.
- 
- 	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on Solaris.
- 
- 2000-11-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* reload1.c (set_label_offsets): Go inside of PARALLELs.
- 
- 2000-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Clean up option summary.
- 
- 2000-11-12  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mcore/mcore.c: Fix comment formating, and adjust sequence
- 	of #include headers.
- 
- 2000-11-12  Marc Espie <espie@openbsd.org>
- 
- 	* configure.in: Fix filds test.
- 	* configure: Regen.
- 
- 2000-11-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* jump.c (delete_computation): Don't assume that just because an
- 	instruction sets a register, that register is dead.
- 
- 2000-11-12  Neil Booth  <neilb@earthling.net>
- 
- 	* cppexp.c: Don't worry about pfile->skipping.
- 	* cpplib.c (struct if_stack): Make was_skipping unsigned char.
- 	(cpp_handle_directive): Save pfile->skipping in struct cpp_buffer
- 	for handled directives.
- 	(skip_rest_of_line): Use _cpp_lex_token after popping contexts
- 	and releasing lookaheads.
- 	(do_ifdef, do_ifndef, do_if): Use buffer->was_skipping.
- 	(do_else, do_elif, push_conditional): Update logic.
- 	(do_endif): Set buffer->was_skipping rather than pfile->skipping.
- 	(unwind_if_stack): Inline into cpp_pop_buffer.
- 	(cpp_push_buffer): Clear ifs->was_skipping for cpp_handle_directive.
- 	* cpplex.c (_cpp_lex_token): Clear skipping on EOF.  Handle
- 	multiple-include optimisation.
- 	* cpplib.h (struct cpp_buffer): New member was_skipping.
- 	* cppmacro.c (_cpp_get_token): Loop whilst pfile->skipping.  This
- 	works because skipping == 0 in directives.
- 	(_cpp_release_lookahead): Renamed from release_lookahead.
- 	(cpp_get_token): No need to check skipping as _cpp_get_token does
- 	this for us.  No need to handle MI optimisation.
- 
- Sat Nov 11 21:14:02 2000  Mark P Mitchell  <mark@codesourcery.com>
- 
- 	* fixinc/inclhack.def (sunos_matherr_decl): Bypass matherr
- 	declarations that use `__MATH_EXCEPTION' in their prototypes, too.
- 	* fixinc/fixincl.x: Regenerated.
- 
- 2000-11-11  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
- 	(avoid_wchar_t_type): ditto
- 	* fixinc/fixinc.irix: obsoleted
- 
- 2000-11-11  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* configure.in: Don't add $outputs to all_lang_makefiles.  Add
- 	$srcdir/$s/Makefile.in if it exists.
- 	* configure: Regenerate.
- 
- Sat Nov 11 18:41:20 2000  Mark P Mitchell  <mark@codesourcery.com>
- 
- 	* fixinc/mkfixinc.sh: Use the ordinary fixincludes on IRIX.
- 
- 2000-11-11  Jason Merrill  <jason@redhat.com>
- 
- 	* function.c (assign_parms): If TREE_ADDRESSABLE is set, try to
- 	give the parm a register and then call put_var_into_stack.
- 	* stmt.c (expand_decl): Likewise.
- 
- 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi: Adjust wording.
- 
- 2000-11-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fixinc/inclhack.def (avoid_wchar_t_type): New fix.
- 	* fininc/fixincl.x: Regenerated.
- 
- 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Correct spelling of -foptimize-register-move.
- 
- 2000-11-11  Neil Booth  <neilb@earthling.net>
- 
- 	Remove CPP_PLACEMARKERs.
- 
- 	* cppexp.c (lex): Don't handle CPP_PLACEMARKER.
- 	* cpplex.c (_cpp_lex_token): Rename skip_newlines to next_bol
- 	* cpplib.c (skip_rest_of_line, check_eol, cpp_push_buffer):
- 		   Similarly.
- 	* cpplib.h: Remove CPP_PLACEMARKER.
- 	(struct lexer_state): Rename skip_newlines to next_bol.
- 	* cppmacro.c (stringify_arg): Don't handle CPP_PLACEMARKER.
- 	Simplify prev_white handling as a result.
- 	(paste_all_tokens): Don't worry about CPP_PLACEMARKERs.
- 	(parse_arg): Empty arguments are now empty, not CPP_PLACEMARKERs.
- 	(parse_args): Similarly.  Update argument count tests.
- 	(enter_macro_context): Return 2 to indicate an empty macro.
- 	(replace_args): Don't bother pre-expanding an empty argument.
- 	Handle placemarkers and ## extension during pre-expansion.
- 	(cpp_get_token): Handle empty macro expansions.  Don't worry
- 	about CPP_PLACEMARKERs.
- 	(_cpp_create_definition): Empty macros are now empty.
- 	(cpp_macro_definition): Don't special case empty macros.
- 	* scan-decls.c: Don't bother with CPP_PLACEMARKERs.
- 	* c-lex.c: Similarly.
- 
- 2000-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi, invoke.texi: Add new section discussing language
- 	standards; link to it where appropriate; refer to ISO C instead of
- 	ANSI C.
- 
- 2000-11-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* builtins.c (std_expand_builtin_va_start): Take PARM_BOUNDARY
- 	into account.
- 
- 	* config/sh/sh.h (MODES_TIEABLE_P): Don't tie SFmode to other FP
- 	modes.
- 
- 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi, gcov.texi: Update dates and version numbers.
- 
- 2000-11-10  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* configure.in: Remove AC_PROG_LEX and AC_PROG_YACC.  Look for
- 	flex and bison, specifically, first in a unified build and
- 	then installed on the system.
- 	* Makefile.in: Set BISON to @BISON@, FLEX to @FLEX@.  Rename
- 	LEXFLAGS to FLEXFLAGS.  Adjust ORDINARY_FLAGS_TO_PASS to
- 	match.
- 
- 	(collect2.o, gcc.o, prefix.o, toplev.o, alloca.o, intl.o,
- 	cppdefault.o): Remove pointless sed munging of source file
- 	name.
- 
- 2000-11-10  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload.c (find_reloads_address_1, case POST_MODIFY): Use RELOAD_OTHER
- 	for address reloads.  Push replacements for REG_INC notes.
- 	(regno_clobbered_p): New arg SETS.  Examine SETs if it's nonzero.  All
- 	callers changed.
- 	* reload1.c (choose_reload_regs): Registers set in the insn can't be
- 	used for RELOAD_OTHER reloads.
- 
- 2000-11-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-dump.h: New file.
- 
- 2000-11-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (check_float_value): Use memcpy, not bcopy.
- 	* arm.c (output_move_double): Likewise.
- 	* arm.md: Likewise.
- 	* m88k.c (legitimize_operand): Likewise.
- 	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
- 	* m88k.md: Likewise.
- 	* mips.c (override_options): Likewise.
- 	* mips.md: Likewise.
- 	* romp.c (output_fpops): Likewise.
- 	* rs6000.c (rs6000_override_options): Likewise.
- 	* sh.md: Likewise.
- 	* vax.c (check_float_value): Likewise.
- 
- 	* emit-rtl.c (copy_rtx_if_shared, init_emit_once): Likewise.
- 	* expmed.c (synth_mult): Likewise.
- 	* final.c (add_bb_string): Likewise.
- 	* genattr.c (main): Likewise.
- 	* genattrtab.c (attr_string, simplify_cond, copy_rtx_unchanging):
- 	Likewise.
- 	* jump.c (thread_jumps): Likewise.
- 	* prefix.c (save_string): Likewise.
- 	* real.h (REAL_VALUE_FROM_CONST_DOUBLE): Likewise.
- 	* regclass.c (init_reg_sets, init_reg_sets_1): Likewise.
- 	* reload1.c (reload, eliminate_regs): Likewise.
- 
- 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi (Service): Update to reflect current practice and
- 	location of the GNU service directory.
- 
- 2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* regrename.c (build_def_use): Mark contents of REG_INC notes as
- 	needing replacement.
- 
- 	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Emit
- 	a no-op move if regs are equal.
- 	* toplev.c (rest_of_compilation): Do the noop moves elimination pass
- 	when calling jump after post-reload splitting.
- 
- 2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* c-tree.texi: Fix typos.
- 	* extend.texi: Likewise
- 	* gcov.texi: Likewise
- 	* rtl.texi: Likewise
- 	* tm.texi: Likewise
- 
- 2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
- 	in_system_header and flags[1] before dereferencing flags[2].
- 
- 2000-11-09  Matthew Hiller <hiller@redhat.com>
- 
- 	* reload1.c (reload_combine): Fixed calculation of
- 	first_index_reg, last_index_reg.
- 
- 2000-11-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-dump.c (dequeue_and_dump): Dump function bodies.
- 
- 	* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
- 	(c-dump.o): New target.
- 	* c-common.h (flag_dump_translation_unit): New variable.
- 	(C_TYPE_QUALS): New macro.
- 	(strip_array_types): New function.
- 	(DECL_C_BIT_FIELD): New macro.
- 	(SET_DECL_C_BIT_FIELD): Likewise.
- 	(CLEAR_DECL_C_BIT_FIELD): Likewise.
- 	(dump_info_p): New typedef.
- 	(dump_tree_fn): Likewise.
- 	(lang_dump_tree): New variable.
- 	(dump_node_to_file): New function.
- 	* c-common.c (flag_dump_translation_unit): Define it.
- 	(strip_array_types): New function.
- 	* c-decl.c (c_decode_option): Handle -fdump-translation-unit.
- 	* c-lang.c (finish_file): Call dump_node_to_file if
- 	flag_dump_translation_unit.
- 	* c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
- 	* c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
- 	* c-dump.c: New file.
- 
- 2000-11-09  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Add mingw startfile prefix.
- 
- 2000-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (invalidate_mems_from_set): Split out from ...
- 	(mark_set_1): ... here.
- 	(try_pre_increment_1): Use it.  Use propagate_block_delete_insn
- 	instead of turning insn into a NOTE_INSN_DELETED.
- 
- 2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi, invoke.texi: Move documentation of builtin versions
- 	of C library functions to one place and update.
- 
- 2000-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
- 	the types themselves to discover type equivalence.
- 
- 2000-11-09  Mike Stump  <mrs@wrs.com>
- 
- 	* Makefile.in (distclean): Remove a few extra leftovers.
- 
- 2000-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (validate_replace_rtx_1): Consider subregs when
- 	replacing a register with a constant inside a sign/zero_extend.
- 
- 	* config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 
- 2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-decl.c (finish_struct): When a structure is completed,
- 	check all its variant types for completeness.
- 
- 2000-11-09  Neil Booth  <neilb@earthling.net>
- 
- 	* cpphash.c: Move cpp_defined here from cpplib.c.
- 	* cpplib.c: Update comments, move cpp_defined to cpphash.c.
- 	* cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
- 	* cppmacro.c (cpp_get_token): Update comments, no need now
- 	to catch the CPP_EOF meaning EOL case.
- 
- 2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_va_arg): When the required alignment
- 	is more than that provided, copy to a temporary.
- 
- 2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
- 	interpreting $out as a macro assignment.
- 	* Makefile.in (T_TARGET): New auxiliary macro and target.
- 	(all): Add a target right in the beginning, so that we don't build
- 	T_TARGET by default.
- 
- 2000-11-09  Graham Stott  <grahams@redhat.com>
- 
- 	* config/i386/i386.md (mmx_pinsrw): Output operands in correct
- 	order for -mintel-syntax.  Remove comment now that the operand
- 	order has been checked.
- 	(mmx_pextrw): Likewise.
- 	(mmx_pshufw): Likewise.
- 
- 2000-11-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
- 	(c_getstr): New function.
- 	(expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
- 	If both arguments are constant string, optimize out.
- 	(expand_builtin_strchr, expand_builtin_strrchr): New functions.
- 	(expand_builtin_strpbrk): Use c_getstr, do nothing if
- 	-fcheck-memory-usage.
- 	(expand_builtin_fputs): Likewise.
- 	(expand_builtin_strcmp): Add MODE argument.
- 	Use even if !HAVE_cmpstrsi.
- 	Optimize the case when both arguments are constant strings.
- 	(expand_builtin): Adjust expand_builtin_strcmp caller.
- 	Call expand_builtin_strchr and expand_builtin_strrchr.
- 	* c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
- 	builtins.
- 	* builtins.def (BUILT_IN_STRRCHR): Add.
- 
- 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
- 
- 2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* calls.c (expand_call, emit_library_call_value_1), collect2.c
- 	(scan_prog_file), config/a29k/a29k.c (print_operand),
- 	config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
- 	instead of bcopy ().
- 	* real.h: Use memcmp () instead of bcmp ().
- 	* config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
- 	(split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
- 	ultrasparc_sched_init, ultrasparc_sched_reorder),
- 	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
- 	instead of bzero ().
- 	* config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
- 	instead of rindex ().
- 	* configure.in: Don't check for bzero, bcmp, index or rindex.
- 	* configure, config.in: Regenerate.
- 	* system.h: Don't include declarations for bzero, bcmp, index or
- 	rindex.
- 	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
- 	bzero, bcmp, index or rindex.
- 
- Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
- 	include and library paths from -mcygwin case.  Parameterize some
- 	declarations to avoid warnings.  Use standard locations for include and
- 	lib dirs.
- 
- 2000-11-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (mulsidi3adddi): Change output operand
- 	constraint from "=&" to "+&".
- 	(umulsidi3adddi): Change output operand	constraint from "=&" to
- 	"+&".
- 
- 2000-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (init_propagate_block_info): Protect the rtx stored in
- 	mem_set_list from modification by find_auto_inc.
- 	(mark_set_1): Likewise.
- 
- 2000-11-08  Neil Booth  <neilb@earthling.net>
- 
- 	Move directive handling into the lexer itself.
- 
- 	* cpplex.c (_cpp_lex_token): Handle directives directly.
- 	In the case of a directive interrupting a function-like
- 	macro invocation, use extra_char since read_ahead is
- 	used to store the '#'.  Return a CPP_EOF in this case.
- 	* cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
- 	(cpp_get_token): Don't handle directives here.
- 	* cpplib.h: Remove CPP_DHASH token type.
- 
- Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
- 	formed using PRE_MODIFY too.
- 
- 2000-11-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-tree.texi (VAR_DECL): Describe representation of GCC's
- 	extension for placing variables in particular registers.
- 
- 	* c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
- 	unprototyped C functions with no parameters.
- 
- 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
- 	before passing to fprintf.
- 
- 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* function.c (expand_function_start): Cast GET_MODE_SIZE to
- 	HOST_WIDE_INT before negating it.
- 
- 2000-11-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
- 	passed in multiple non-contiguous locations.
- 
- 2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.gnat: Remove file.
- 
- 2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
- 	in-place.
- 
- 2000-11-07  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarfout.c (INSN_LABEL_FMT): Remove.
- 	(output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
- 	(dwarfout_label): Remove.
- 	* dwarfout.h: Remove it's prototype.
- 	* dwarf2out.c (INSN_LABEL_FMT): Remove.
- 	(gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
- 	(dwarf2out_label): Remove.
- 	* dwarf2out.h: Remove it's prototype.
- 	* final.c (final_scan_insn): Don't call dwarf[2]out_label.
- 
- 2000-11-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
- 	search on the unwind region section.
- 
- 	* config/ia64/ia64.md (movbi): Add r/r alternative.
- 	(cmovdi_internal_astep): Describe all combinations of register
- 	classes for sources & destinations; remove matching constraints.
- 	(cmovdi_internal): Likewise.
- 
- 	* gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
- 
- 2000-11-07  Richard Henderson  <rth@redhat.com>
- 
- 	* c-lang.c (start_cdtor, finish_cdtor): New functions.
- 	(finish_file): Use them in building constructor/destructor functions.
- 
- 	* config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH,
- 	LD_FINI_SWITCH): Move ...
- 	* config/alpha/osf.h: ... here.
- 	* config/alpha/alpha-interix.h: Don't undef them.
- 
- 2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
- 
- 	* config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
- 	included in libgcc.a.
- 	(DPBIT): Likewise.
- 	(dp-bit.c): Likewise.
- 	(fp-bit.c): Likewise.
- 
- 2000-11-07  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
- 	(INTERNAL_ASM_OP): Add missing tab.
- 
- 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* alias.c (init_alias_analysis), calls.c (expand_call,
- 	emit_library_call_value_1), combine.c (init_reg_last_arrays),
- 	cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
- 	(init_output_buffer, set_diagnostic_context), dwarf2out.c
- 	(equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
- 	(init_emit_once), fold-const.c (mul_double, div_and_round_double),
- 	function.c (assign_parms), gcse.c (compute_can_copy,
- 	alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
- 	compute_hash_table, compute_set_hash_table,
- 	compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
- 	(global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
- 	clear_units, schedule_block), integrate.c (initialize_for_inline,
- 	expand_inline_function), jump.c (thread_jumps), local-alloc.c
- 	(local_alloc), loop.c (combine_movables, count_loop_regs_set,
- 	load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
- 	regclass.c (init_reg_sets, init_reg_sets_1, regclass,
- 	record_reg_classes, allocate_reg_info), reload.c
- 	(get_secondary_mem, remove_address_replacements, find_reloads),
- 	reload1.c (reload, set_initial_label_offsets, finish_spills,
- 	reload_as_needed, choose_reload_regs_init,
- 	reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
- 	(sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
- 	(rename_registers), stmt.c (expand_end_case), unroll.c
- 	(unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
- 	() instead of bzero ().
- 
- 2000-11-07  Neil Booth  <neilb@earthling.net>
- 
- 	* cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
- 
- 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (combine_strings): Only warn about long strings for C.
- 
- Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* combine.c (distribute_notes): Fix typo in last change.
- 
- 2000-11-07  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (movdi_internal32+1): Use
- 	operand_subreg_force rather than gen_rtx_SUBREG.
- 	(movdi_internal32+2): Likewise.
- 
- 2000-11-07  Philip Blundell  <philb@gnu.org>
- 
- 	* configure.in (arm*-*-linuxaout*): Obsolete, deleted.
- 	* config/arm/linux-aout.h: Likewise.
- 	* configure: Regenerate.
- 
- 2000-11-07  Philipp Thomas  <pthomas@suse.de>
- 
- 	* ABOUT-GCC-NLS: Remove the patch for gettext as it has been
- 	accepted my the gettext maintainer.
- 
- 2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strpbrk): New function.
- 	(expand_builtin): Handle BUILT_IN_STRPBRK.
- 
- 	* builtins.def (BUILT_IN_STRPBRK): New entry.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare builtin
- 	strpbrk.
- 
- 2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
- 
- 	* config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
- 	* POTFILES.in: Add config/alpha/freebsd.h
- 	* configure.in: Add alpha*-freebsd support.
- 	* configure: Regenerate.
- 
- 2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
- 	copy of ptr_type_node rather than ptr_type_node itself.
- 
- Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* combine.c (recog_for_combine): Allocate uninitialized vector with
- 	rtvec_alloc.
- 	* recog.c (apply_change_group): Likewise.
- 
- Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* flow.c (verify_local_live_at_start): Back out last change.
- 	* combine.c (distribute_notes): When parts of a hard reg are
- 	neither set nor referenced in PLACE, search backwards for a
- 	place to put a REG_UNUSED note; if none found, ask for flow
- 	info refresh.
- 
- Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
- 	with (clobber (match_scratch...)).
- 
- 2000-11-06  Neil Booth  <neilb@earthling.net>
- 
- 	* c-lex.c (init_c_lex): If cpp_start_read fails, exit with
- 	error status.
- 
- 2000-11-06  Neil Booth  <neilb@earthling.net>
- 
- 	* tradcpp.c (special_symbol): Assign an null string rather
- 	than writing to an unallocated buffer.
- 
- 2000-11-06  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (_cpp_equiv_tokens): Check arg_no in the
- 	CPP_MACRO_ARG case.
- 
- 2000-11-06  Neil Booth  <neilb@earthling.net>
- 
- 	* c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
- 	tok.val.arg_no as appropriate.
- 	* cppexp.c (lex): Similarly.
- 	* cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
- 	cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
- 	* cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
- 	cpp_macro_definition): Similarly.
- 	* cpplib.h (struct cpp_token): Replace aux with c and arg_no.
- 
- 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
- 	operands[1] is constant, calculate the sum and generate movdi.
- 	(addsi3): Similarly.  Use SImode in call to arith_4096_operand.
- 	(subsi3): Use SImode in call to arith_4096_operand.
- 
- 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
- 	adjust %o1, not %o0 if the return type is large structure.
- 
- 2000-11-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
- 	update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
- 
- Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* expmed.c (expand_divmod): For signed divide by 2, prefer
- 	a branch and fewer shifts if branches are very cheap.
- 
- 2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in: Remove all targets related to building
- 	distributions and diffs, or INSTALL.
- 	* INSTALL, install1.texi: Remove.
- 	* configure.in: Remove mention of distdir.
- 	* configure: Regenerate.
- 	* objc/Make-lang.in: Remove mention of distdir.
- 
- 2000-11-04  Neil Booth  <neilb@earthling.net>
- 
- 	* cpp.texi: Update for _Pragma.
- 
- 2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi (Contributing): Update URL for projects web page.
- 
- 2000-11-04  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (parse_string): Don't allow multiline strings in
- 	#include family directives.
- 
- 2000-11-04  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplib.c (do_line): Only warn pedantically if not reading
- 	preprocessed input.
- 
- 2000-11-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* calls.c (emit_call_1) [sibcall_pop]: Use n_popped instead of
- 	RETURN_POPS_ARGS().
- 
- 2000-11-03  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* builtins.c (expand_builtin_strlen): Remove unused mode
- 	argument.
- 	* gcc.c (process_command): Remove unused variable.
- 	* fold-const.c: Include expr.h.
- 	* recog.c: Include reload.h.
- 	* Makefile.in (recog.o, fold-const.o): Update deps.
- 
- 2000-11-02  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* fixinc/gnu-regex.c: Change 'CYGNUS LOCAL' to 'EGCS LOCAL'.
- 
- Fri Nov  3 13:41:04 2000  Mark P Mitchell  <mark@codesourcery.com>
- 
- 	* config/mips/iris6.h (SUBTARGET_CC1_SPEC): Remove -static
- 	handling.
- 	(STARTFILE_SPEC): Likewise.
- 	(LINK_SPEC): Likewise.
- 
- 2000-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (fold-const.o): Depend on $(GGC_H), not ggc.h.
- 	(toplev.o): Likewise for $(LOOP_H)/loop.h and $(REGS_H)/regs.h.
- 	(simplify-rtx.o): Likewise for $(GGC_H)/ggc.h.
- 
- 2000-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (duplicate_decls, copy_lang_decl), dwarfout.c
- 	(dwarfout_line), gcc.c (main, save_string), tree.c (init_obstacks,
- 	perm_calloc, get_identifier, maybe_get_identifier,
- 	real_value_from_int_cst, simple_cst_equal), varasm.c
- 	(assemble_name, assemble_real, immed_real_const_1,
- 	compare_constant_1, decode_rtx_const, output_constant_pool): Use
- 	strrchr () instead of rindex ().  Use memcmp () instead of bcmp
- 	().  Use memcpy () instead of bcopy ().  Use memset () instead of
- 	bzero ().
- 
- 2000-11-03  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cppfiles.c (open_file): If already read, then don't reopen.
- 	Immediately close an empty file.
- 
- 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* expr.h (fold_builtin): Move declaration...
- 	* tree.h (fold_builtin): ... here.
- 
- Fri Nov  3 05:41:07 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* flow.c (verify_local_live_at_start): Allow hard regs to die.
- 
- 2000-11-02  Neil Booth  <neilb@earthling.net>
- 
- config:
- 	* a29k/a29k.h, a29k/unix.h, a29k/vx29k.h,
- 	alpha/alpha-interix.h, alpha/alpha.h, alpha/linux.h,
- 	alpha/openbsd.h, alpha/osf.h, alpha/vms.h, alpha/vxworks.h,
- 	alpha/win-nt.h, arc/arc.h, arm/arm.h, arm/conix-elf.h,
- 	arm/linux-aout.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
- 	arm/riscix1-1.h, arm/semiaof.h, arm/unknown-elf-oabi.h, arm/vxarm.h,
- 	c4x/rtems.h, clipper/clix.h, convex/convex.h, d30v/d30v.h,
- 	elxsi/elxsi.h, fr30/fr30.h, h8300/h8300.h, i370/linux.h, i370/mvs.h,
- 	i370/oe.h, i386/386bsd.h, i386/aix386ng.h, i386/beos-elf.h,
- 	i386/bsd386.h, i386/crtdll.h, i386/cygwin.h, i386/dgux.h,
- 	i386/djgpp-rtems.h, i386/djgpp.h, i386/freebsd-aout.h, i386/freebsd.h,
- 	i386/gnu.h, i386/i386-interix.h, i386/i386.h, i386/linux-aout.h,
- 	i386/linux-oldld.h, i386/linux.h, i386/lynx-ng.h, i386/lynx.h,
- 	i386/mach.h, i386/mingw32.h, i386/moss.h, i386/netbsd.h,
- 	i386/netware.h, i386/next.h, i386/openbsd.h, i386/osf1elf.h,
- 	i386/osfelf.h, i386/osfrose.h, i386/ptx4-i.h, i386/rtems.h,
- 	i386/rtemself.h, i386/sco.h, i386/sco4.h, i386/sco4dbx.h, i386/sco5.h,
- 	i386/scodbx.h, i386/sequent.h, i386/sol2.h, i386/sun.h, i386/sysv3.h,
- 	i386/sysv4.h, i386/uwin.h, i386/vsta.h, i386/vxi386.h, i386/win-nt.h,
- 	i386/win32.h, i860/fx2800.h, i860/i860.h, i860/mach.h, i860/sysv3.h,
- 	i860/sysv4.h, i960/i960.h, i960/rtems.h, i960/vx960-coff.h,
- 	ia64/ia64.h, ia64/linux.h, m32r/m32r.h, m68k/3b1.h, m68k/3b1g.h,
- 	m68k/a-ux.h, m68k/altos3068.h, m68k/amix.h, m68k/apollo68.h,
- 	m68k/crds.h, m68k/ctix.h, m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h,
- 	m68k/hp3bsd.h, m68k/hp3bsd44.h, m68k/isi.h, m68k/linux-aout.h,
- 	m68k/linux.h, m68k/lynx-ng.h, m68k/lynx.h, m68k/m68kemb.h,
- 	m68k/m68kv4.h, m68k/mot3300.h, m68k/netbsd.h, m68k/news.h,
- 	m68k/next.h, m68k/openbsd.h, m68k/pbb.h, m68k/plexus.h, m68k/rtems.h,
- 	m68k/rtemself.h, m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h,
- 	m68k/tower-as.h, m68k/tower.h, m68k/vxm68k.h, m88k/dgux.h,
- 	m88k/dolph.h, m88k/luna.h, m88k/m88k-aout.h, m88k/m88k-coff.h,
- 	m88k/openbsd.h, m88k/sysv3.h, m88k/sysv4.h, mips/bsd-4.h,
- 	mips/bsd-5.h, mips/dec-bsd.h, mips/dec-osf1.h, mips/gnu.h,
- 	mips/iris3.h, mips/iris5.h, mips/iris6.h, mips/linux.h, mips/mips.h,
- 	mips/netbsd.h, mips/news4.h, mips/news5.h, mips/nws3250v4.h,
- 	mips/openbsd.h, mips/osfrose.h, mips/rtems64.h, mips/sni-svr4.h,
- 	mips/svr3-4.h, mips/svr3-5.h, mips/svr4-4.h, mips/svr4-5.h,
- 	mips/ultrix.h, ns32k/encore.h, ns32k/merlin.h, ns32k/netbsd.h,
- 	ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, ns32k/sequent.h,
- 	ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, pa/pa-hiux.h,
- 	pa/pa-hpux.h, pa/pa-hpux7.h, pa/pa-linux.h, pa/pa-osf.h,
- 	pa/pa-pro-end.h, pa/pa.h, pa/rtems.h, pj/linux.h, pj/pj.h,
- 	romp/romp.h, rs6000/aix.h, rs6000/aix31.h, rs6000/aix41.h,
- 	rs6000/aix43.h, rs6000/beos.h, rs6000/eabi.h, rs6000/eabisim.h,
- 	rs6000/linux.h, rs6000/lynx.h, rs6000/mach.h, rs6000/rtems.h,
- 	rs6000/sysv4.h, rs6000/vxppc.h, sh/elf.h, sh/linux.h, sh/rtems.h,
- 	sh/rtemself.h, sh/sh.h, sparc/aout.h, sparc/elf.h, sparc/linux-aout.h,
- 	sparc/linux.h, sparc/linux64.h, sparc/lite.h, sparc/litecoff.h,
- 	sparc/liteelf.h, sparc/lynx-ng.h, sparc/lynx.h, sparc/netbsd.h,
- 	sparc/openbsd.h, sparc/pbd.h, sparc/rtems.h, sparc/rtemself.h,
- 	sparc/sol2-sld-64.h, sparc/sol2.h, sparc/sp64-aout.h,
- 	sparc/sp64-elf.h, sparc/sp86x-aout.h, sparc/sp86x-elf.h,
- 	sparc/sparc.h, sparc/sysv4.h, sparc/vxsim.h, sparc/vxsparc.h,
- 	v850/rtems.h, vax/netbsd.h, vax/openbsd.h, vax/ultrix.h, vax/vax.h,
- 	vax/vaxv.h, vax/vms.h, we32k/we32k.h
- 
- 	Replace -A() with -A=, the new assertion syntax.
- 
- Thu Nov  2 21:52:35 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* combine.c (distribute_notes): Use rtx_equal_p to check elim_i2 /
- 	elim_i1.
- 	In REG_DEAD handling: When handling parts of multi-hard-reg hard
- 	registers, increment the loop counter by the size of the parts;
- 	use recursion to handle individual parts.
- 
- 2000-11-02  Neil Booth  <neilb@earthling.net>
- 
- 	* configure.in: Make integrated CPP the default.
- 	* configure: Regenerate.
- 
- Thu Nov  2 19:20:12 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload.c (find_equiv_reg): Test all hard registers for membership
- 	in the requested class.
- 
- 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* collect2.c (main, write_c_file_stat), gcc.c (translate_options,
- 	process_command, main), gcov.c (open_files, output_data), tlink.c
- 	(frob_extension, scan_linker_output), toplev.c
- 	(file_name_nondirectory): Use strchr () and strrchr () instead of
- 	index () and rindex ().
- 
- 2000-11-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (get_flag_spec, check_format_info_main,
- 	check_format_types): Use strchr () instead of index ().  Compare
- 	against error_mark_node instead of comparing the TREE_CODE against
- 	ERROR_MARK.
- 
- 2000-11-02  Zack Weinberg <zackw@Stanford.EDU>
- 
- 	Integrated CPP.
- 
- 	* c-lex.c (init_c_lex): Update cpp_start_read call.
- 	(cb_ident): Update for new callback prototype.
- 	(cb_def_pragma): Update for new cpp_get_token prototype.
- 	(c_lex): Similarly.  Use cpp_get_line.
- 
- 	* c-parse.in (finish_parse): Update for new cpp_finish
- 	prototype.
- 
- 	* cp/lex.c (finish_parse): Similarly.
- 
- 2000-11-01  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* machmode.def: Add V16QImode.
- 
- 2000-11-01  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Check for null result
- 	from rtl_for_decl_location.
- 	(add_location_or_const_value_attribute): Likewise.
- 
- 2000-11-01  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplib.c (run_directive): Use correct line number for output
- 	of _Pragma.  Remember any in-progress directive.
- 
- 	* gcc.dg/cpp/vararg2.c, gcc.dg/cpp/_Pragm1.c: New tests.
- 
- 2000-11-01  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (expand_start_null_loop): Set continue_label.
- 
- 2000-11-01  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* builtins.c (fold_builtin_constant_p, fold_builtin): New functions.
- 	(expand_builtin_constant_p): Move parts of the code into
- 	fold_builtin_constant_p.
- 	(expand_builtin_strlen): Move parts of the code into fold_builtin.
- 	* expr.h (fold_builtin): Declare.
- 	* fold-const.c (fold): Handle builtin calls.
- 
- 	* c-typeck.c (build_function_call): Call fold on the CALL_EXPR.
- 
- 2000-11-01  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (expand_start_null_loop): New.
- 	(expand_end_null_loop): New.
- 	* c-semantics.c (genrtl_do_stmt): Use them.
- 	* tree.h: Declare them.
- 
- 2000-11-01  Richard Henderson  <rth@redhat.com>
- 
- 	* cppmain.c (scan_buffer): Don't avoid paste for assembly.
- 
- 2000-11-01  Neil Booth  <neilb@earthling.net>
- 
- 	* c-parse.in (_yylex): Remove CPP_BACKSLASH case.
- 	* cp/spew.c: Similarly.
- 	* cpplex.c (_cpp_lex_token): Backslashes are now CPP_OTHER.
- 	* cppmacro.c (stringify_arg): Similarly.
- 	* cpplib.h (CPP_BACKSLASH): Delete.
- 
- 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strstr): New function.
- 	(expand_builtin): Handle BUILT_IN_STRSTR and BUILT_IN_STRCHR.
- 
- 	* builtins.def (BUILT_IN_STRSTR, BUILT_IN_STRCHR): New entries.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare builtin strstr
- 	and builtin strchr.
- 
- 2000-10-31  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (fcmov_comparison_operator): Check for
- 	CCFPmode or CCFPUmode instead of CCmode.
- 	(ix86_expand_fp_movcc): Call ix86_expand_setcc for most
- 	unordered operations as well.
- 
- 2000-10-31  Richard Henderson  <rth@redhat.com>
- 
- 	* c-semantics.c (genrtl_do_stmt): Use integer_zerop instead
- 	of integer_zero_node.
- 
- 2000-10-31  Richard Henderson  <rth@redhat.com>
- 
- 	* c-semantics.c (genrtl_do_stmt): Special case do/while(0).
- 
- 2000-10-31  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/unknown-elf.h (UNIQUE_SECTION_P): Do not allow
- 	-fdata-sections to override the section attribute of a DECL.
- 
- 2000-10-31  Chris Demetriou  <cgd@sibyte.com>
- 
- 	* libgcc2.c (__shtab): Remove __shtab variable.
- 	* libgcc-std.ver (GCC_3.0): Remove __shtab from symbol list.
- 	* Makefile.in (LIB2FUNCS): Remove _shtab from list of library
- 	members.
- 
- 2000-10-31  Jim Wilson  <wilson@redhat.com>
- 
- 	* defaults.h (ASM_OUTPUT_DEBUG_LABEL): New.
- 	* tm.texi (ASM_OUTPUT_DEBUG_LABEL): Document.
- 	* dwarf2out.c (dwarf2out_begin_block): Use ASM_OUTPUT_DEBUG_LABEL
- 	instead of ASM_OUTPUT_INTERNAL_LABEL.
- 	(dwarf2out_end_block, dwarf2out_label): Likewise.
- 	* final.c (final_scan_insn, case NOTE_INSN_DELETED_LABEL): Likewise
- 	* config/ia64/ia64.h (ASM_OUTPUT_DEBUG_LABEL): Define.
- 
- 2000-10-31  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (struct dw_loc_descr_struct): Add dw_loc_addr.
- 	(size_of_locs): Set it.
- 	(output_loc_operands): Use it to compute branch displacement.
- 	(int_loc_descriptor): New.
- 	(mem_loc_descriptor): Dereference memory in the proper size.
- 	Use DW_OP_plus_uconst when possible.  Use int_loc_descriptor.
- 	(loc_descriptor_from_tree): New.
- 	(rtl_for_decl_location): Break out from ...
- 	(add_location_or_const_value_attribute): ... here.
- 	(add_bound_info): Use loc_descriptor_from_tree.
- 
- 2000-10-31  Neil Booth  <neilb@earthling.net>
- 
- 	* cpp.texi: Update for new command line assertion syntax.
- 	* cpplib.c (cpp_define): Simplify a bit.
- 	(cpp_assert, cpp_unassert): Use handle_assertion.
- 	(handle_assertion): New function; accept new command line
- 	syntax with '='.
- 	* testsuite/gcc.dg/cpp/assert3.c: New tests.
- 
- 2000-10-31  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (STDC_0_IN_SYSTEM_HEADERS): Define to 0 if
- 	undefined.  Remove #ifdef check.
- 	* config/i386/sol2.h, config/rs6000/sol2.h, config/sparc/sol2.h:
- 	Define STDC_0_IN_SYSTEM_HEADERS to 1.
- 
- 2000-10-31  Jan Hubicka  <jh@suse.cz>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.h: Clarify CCNOmode description in comment.
- 	(EXTRA_CC_MODES): Remove CCRCmode.
- 	* config/i386/i386.c (ix86_comparison_operator): Remove CCRCmode.
- 	(put_condition_code, ix86_match_ccmode): Likewise.
- 	(ix86_cc_mode): Likewise.  Fix comment.
- 	(ix86_expand_strlensi_unroll_1): *rc patterns are gone.
- 	* config/i386/i386.md: Add unspec 12 description.
- 	(adddi3 split): Use unspec 12 instead of CCRCmode.
- 	(addsi3_carry_rc): Remove.
- 	(addsi3_cc, addqi3_cc): New patterns.
- 	(addsi_3): Swap operands, match CCZmode.
- 	(addsi_4): Rewritten.
- 	(addsi_5): Renamed from addsi_6.
- 	(addsi_6): Removed.
- 	(addhi_3): Swap operands, match CCZmode.
- 	(addhi_4): Rewritten.
- 	(addhi_5): Renamed from addhi_6.
- 	(addhi_6): Removed.
- 	(addqi_3): Swap operands, match CCZmode.
- 	(addqi_4): Rewritten.
- 	(addqi_5): Renamed from addqi_6.  Use =q constraint for clobber.
- 	(subsi3_carry_rc): Removed.
- 	(iorqi_3): Use =q constraint for clobber.
- 	(xorqi_cc_2): Likewise.
- 	(negdi2_1 split): Don't use CCRCmode, use ltu instead of gtu.
- 	(x86_movsicc_0_m1_rc): Removed.
- 	(cmp?i peepholes): Remove neg.  Use CCGCmode instead of CCRCmode.
- 
- 2000-10-31  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (build_unary_op): If pedantic, pedwarn for increment
- 	and decrement of complex types.
- 
- 2000-10-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_fputs): When deleting NOP calls to
- 	builtin fputs, ensure we still evaluate the stream in case it
- 	has side-effects.
- 
- 2000-10-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (do_store_flag): Pass operand_mode instead of GET_MODE (op0)
- 	to expand_shift.
- 
- Tue Oct 31 15:33:27 2000  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh-protos.h (reg_no_subreg_operand, emit_fpscr_use): Don't declare.
- 	(fp_extended_operand, emit_fpscr_use): Likewise.
- 	* sh.c (reg_no_subreg_operand, fp_extended_operand): Delete functions.
- 	(fpul_operand): New function.
- 	* sh.h (PREDICATE_CODES): Remove reg_no_subreg_operand and
- 	fp_extended_operand.  Add fpul_operand.
- 	* sh.md (mulsf3, mulsf3_i4): Use fp_arith_reg_operand for "f" operands.
- 	(mulsf3_ie, macsf3, cmpgtsf_t, cmpeqsf_t, ieee_ccmpeqsf_t): Likewise.
- 	(cmpgtsf_t_i4, cmpeqsf_t_i4, ieee_ccmpeqsf_t_4, negsf2): Likewise.
- 	(negsf2_i, sqrtsf2, sqrtsf2_i, abssf2, abssf2_i, adddf3): Likewise.
- 	(adddf3_i, subdf3, subdf3_i, muldf3, muldf3_i, divdf3): Likewise.
- 	(divdf3_i): Likewise.
- 	(floatsisf2): Likewise.  Use fpul_operand for 'y' operand.
- 	(floatsisf2_i4, floatsisf2_ie, fix_truncsfsi2): Likewise.
- 	(fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i): Likewise.
- 	(fix_truncdfsi2, fix_truncdfsi2_i, extendsfdf2): Likewise.
- 	(extendsfdf2_i4, truncdfsf2, truncdfsf2_i4): Likewise.
- 
- 2000-10-31  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* config/i386/i386.c (ix86_init_builtins): Correct return type
- 	building v4hi_ftype_v4hi_int_int tree node.
- 	(ix86_expand_builtin): Use correct operand numbers 0 and 1.
- 	Copy operand 0 into a Pmode register, don't generate a MEM rtx.
- 
- 	* config/i386/i386.md (sse_movntdi): Use mmx register constraint
- 	for operand 1.
- 	(mmx__uavgv8qi3): Correct insn mnemonic.
- 	(mmx_psadbw): Correct insn mnemonic.  Use V8QI mode for operands 1 and 2.
- 	(mmx_punpckhwd): Correct insn mnemonic.
- 	(mmx_punpckhdq): Likewise.
- 	(mmx_punpcklwd): Likewise.
- 	(mmx_punpckldq): Likewise.
- 	(prefetch): Use immediare_operand and 'n' constraint for operand 1.
- 	Renumber case labels to match the _mm_prefetch constants defined in
- 	xmmintrin.h.
- 
- 	* recog.c (split_all_insns): Don't try to call cleanup_subreg_operands
- 	if the splitter didn't emit new insns.
- 	Make sure we call cleanup_subreg_operands even when splitting the last
- 	insn in a basic block.
- 
- 	* invoke.texi (Debugging Options): Describe -do.
- 	* toplev.c (enum_dump_file_index): New entry DFI_postreload.
- 	(dump_file): Likewise.
- 	(rest_of_compilation): Split .greg dump into .greg and .postreload.
- 
- 2000-10-30  Neil Booth  <neilb@earthling.net>
- 
- 	* cppfiles.c (stack_include_file): Check for stacked contexts
- 	here.
- 	* cpphash.h (_cpp_do__Pragma): New prototype.
- 	* cppinit.c (cpp_reader_init): Add _Pragma keyword to hash table.
- 
- 	* cpplex.c (skip_escaped_newlines): Only process trigraphs and
- 	escaped newlines if !(buffer->from_stage3).
- 	(_cpp_lex_token): Warn about missing newlines iff
- 	!buffer->from_stage3.
- 
- 	* cpplib.c (get__Pragma_string, destringize,
- 	_cpp_do__Pragma): New functions.
- 	(run_directive): Set output_line for _Pragma to avoid line
- 	markers in output.  Set from_stage3 and prevent macro expansion
- 	for _Pragma and command-line options.  Check buffer exhaustion.
- 	(cpp_push_buffer): Don't check for stacked macro contexts, as
- 	this is perfectly legitimate for _Pragma.  Move the check to
- 	stack_include_file instead. Set from_stage3 iff buffer is
- 	preprocessed input.
- 
- 	* cpplib.h (struct cpp_buffer): Make warned_cplusplus_comments
- 	unsigned. New boolean from_stage3.
- 	(struct spec_nodes): Add n__Pragma.
- 
- 	* cppmacro.c (enter_macro_context): Flip sense of return value.
- 	(_cpp_get_token): Handle _Pragma operator.
- 
- 2000-10-30  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* gcc.texi:  The C++ standard isn't "draft" anymore.
- 
- 2000-10-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cppmacro.c (builtin_macro): Use NT_VOID, not T_VOID.
- 
- 2000-10-29  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplib.c (skip_rest_of_line):  Use _cpp_get_token.
- 
- 2000-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* toplev.c, flags.h, fold-const.c, real.c, rtl.c,
- 	fixinc/inclhack.def: Change comments mentioning C9X to refer to
- 	C99 instead.
- 
- 	* invoke.texi: Document that -V will only work for very similar
- 	versions of driver and compiler.
- 
- 2000-10-29  Neil Booth  <neilb@earthling.net>
- 
- 	* cppmacro.c (_cpp_create_definition): Optimize the case of
- 	a macro defined to itself.
- 
- 2000-10-29  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (save_comment): Don't store new lines in C++ comments.
- 
- 2000-10-29  Michael Hayes  <mhayes@redhat.com>
- 
- 	* integrate.c (copy_insn_list): Copy the unchanging flag for calls.
- 
- 2000-10-28  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* cpphash.c (cpp_forall_identifiers): Add context variable
- 	for callback routine.
- 	* cppmain.c (dump_macro): Update to match cpp_forall_identifiers
- 	change.
- 	(main): Call cpp_forall_identifiers with null context.
- 	* cpplib.h (cpp_forall_identifiers): Update prototype.
- 
- 	* cppmain.c: Make `parse_in' and `print' static.
- 
- 2000-10-28  Alan Modra <alan@linuxcare.com.au>
- 
- 	* c-decl.c (finish_function): Clear c_function_name_declared_p.
- 
- 2000-10-28  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (scan_rtx_address): Frob action, not class,
- 	when trying to disable optimization.
- 
- 2000-10-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-semantics.c (make_rtl_for_local_static): Don't clobber
- 	DECL_ASSEMBLER_NAME.
- 
- 2000-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Determine and substitute gcc_version_full.
- 	* configure: Regenerate.
- 	* gccbug.in: Use it to give full version.  Don't allow
- 	confidential PRs.
- 
- 2000-10-28  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (split_all_insns): Run cleanup_subreg_operands
- 	after reload.
- 
- 	* regrename.c (regrename_optimize): Verify that all registers of
- 	a multiple register mode are available.
- 	(scan_rtx_address): Accept the mode of the address; all callers
- 	changed.
- 
- 	* cpplib.c (run_directive): Fix prototype.
- 
- 2000-10-28  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload.c (find_reloads): Distinguish "wins" so that we know whether
- 	a given operand won because of a matching constraint or not; then use
- 	that information to compute goal_alternative_matched properly.
- 	* reload1.c (choose_reload_regs): Never set reload_override_in for an
- 	optional reload.
- 
- 	* config/ia64/ia64.h (RTX_COSTS): A few more entries, and a more
- 	accurate value for MULT.
- 	* config/ia64/ia64.c (ia64_print_operand): Require probability to be
- 	2% or > 98% before using static branch prediction bits.
- 
- 2000-10-28  Neil Booth  <neilb@earthling.net>
- 
- 	New macro expander.
- 
- 	* cpplib.c (struct answer): New.
- 	(struct if_stack): Use cpp_lexer_pos rather than line and col.
- 	Rename cmacro mi_cmacro.
- 	(struct directive, KANDR, STDC89, EXTENSION, COND, IF_COND, INCL,
- 	IN_I): New directive and flags.
- 	(skip_rest_of_line, check_eol, run_directive, glue_header_name,
- 	parse_answer, parse_assertion, find_answer): New functions.
- 	(parse_ifdef, detect_if_not_defined, validate_else): Remove.
- 	(lex_macro_node): New function to replace parse_ifdef and
- 	get_define_node.
- 
- 	(_cpp_handle_directive): New function, combines _cpp_check_directive
- 	and _cpp_check_linemarker.
- 
- 	(do_define, do_undef, parse_include, do_include, do_import,
- 	do_include_next, read_line_number, do_line, do_ident, do_pragma,
- 	do_pragma_once, do_pragma_poison, do_pragma_dependency):
- 	Update for new token getting interface.
- 
- 	(do_ifdef, do_ifndef, do_if, do_else, do_endif, push_conditional)
- 	: Update for new multiple-include optimisation technique.
- 	(do_elif): Don't forget to invalidate controlling macros.
- 
- 	(unwind_if_stack, cpp_defined, cpp_push_buffer, cpp_pop_buffer): Update.
- 	(parse_assertion, parse_answer, find_answer, _cpp_test_assertion):
- 	Functions to handle assertions with the new token interface.
- 	(do_assert, do_unassert): Use them.
- 
- 	(cpp_define, _cpp_define_builtin, cpp_undef, cpp_assert, cpp_unassert):
- 	Use run_directive.
- 
- 	(_cpp_init_stacks): Register directive names.  Don't register special
- 	nodes.
- 
- 	* cpperror.c (print_containing_files, _cpp_begin_message): Update to
- 	new position recording regime.
- 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
- 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
- 	cpp_pedwarn_with_file_and_line): Update for _cpp_begin_message changes.
- 	(cpp_type2name): Move to cpplex.c.
- 
- 	* cppexp.c (parse_charconst): spec_nodes is no longer a pointer.
- 	(parse_defined): Update to handle new multiple include optimisation
- 	method.  Remove poisoned identifier warning.
- 	(parse_assertion, TYPE_NAME): Delete.
- 	(lex): Update for multiple include optimisation, removal of
- 	CPP_DEFINED, to use _cpp_test_assertion for assertions and
- 	cpp_token_as_text.
- 	(_cpp_parse_expr): Update for MI optimisation, and to use op_as_text.
- 	(op_as_text): New function, to wrap cpp_token_as_text.
- 
- 	* cppfiles.c (stack_include_file, _cpp_pop_file_buffer):
- 	Update for MI optimisation.
- 	(_cpp_execute_include): Take a token rather than 3 arguments.  Fix
- 	segfault on diagnostic.
- 	(_cpp_compare_file_date): Take a token rather than 3 args.
- 	(cpp_read_file): Work correctly for zero-length files.
- 
- 	* cpphash.c (_cpp_init_macros, _cpp_cleanup_macros): Rename
- 	_cpp_init_hashtable and _cpp_cleanup_hashtable.
- 	(cpp_lookup): Place identifiers at front of identifier pool
- 	for _cpp_lookup_with_hash.
- 	(_cpp_lookup_with_hash): Require identifiers to be at the front of
- 	the identifier pool.  Commit the memory if not already in the
- 	hash table.
- 
- 	* cppinit.c (cpp_reader_init): Move cpp_init_completed test to top.
- 	Initialize various members of cpp_reader, memory pools, and the
- 	special nodes.
- 	(cpp_printer_init): Delete.
- 	(cpp_cleanup): Update.
- 	(struct builtin, builtin_array, initialize_builtins): Update for new
- 	hashnode definition and builtin handling.
- 	(cpp_start_read, cpp_finish): Don't take or initialize a
- 	printer.  Update.
- 
- 	* cpplib.h (cpp_printer, cpp_toklist, CPP_DEFINED, BOL,
- 	PASTED, VAR_ARGS, BEG_OF_FILE, IN_DIRECTIVE, KNOWN_DIRECTIVE,
- 	T_VOID, T_SPECLINE, T_DATE, T_FILE, T_BASE_FILE, T_INCLUDE_LEVEL,
- 	T_TIME, T_STDC, T_OPERATOR, T_POISON, T_MACRO, T_ASSERTION): Delete.
- 	(struct cpp_pool, struct cpp_macro, struct cpp_lexer_pos,
- 	struct cpp_lookahead, CPP_DHASH, enum mi_state, enum mi_ind,
- 	NO_EXPAND, VARARGS_FIRST, struct cpp_token_with_pos,
- 	struct toklist, struct cpp_context, struct specnodes,
- 	TOKEN_LOOKAHEAD, TOKEN_BUFFSIZE, NODE_OPERATOR, NODE_POISONED,
- 	NODE_BUILTIN, NODE_DIAGNOSTIC, NT_VOID, NT_MACRO, NT_ASSERTION,
- 	enum builtin_type, cpp_can_paste): New.
- 	(struct cpp_token): Delete line and col members.
- 	(struct cpp_buffer): New member output_lineno.
- 	(struct lexer_state): Delete indented, in_lex_line, seen_dot.
- 	Add va_args_ok, poisoned_ok, prevent_expansion, parsing_args.
- 	(struct cpp_reader): New members lexer_pos, macro_pos, directive_pos,
- 	ident_pool, temp_string_pool, macro_pool, argument_pool, string_pool,
- 	base_context, context, directive, mi_state, mi_if_not_defined,
- 	mi_lexed, mi_cmacro, mi_ind_cmacro, la_read, la_write, la_unused,
- 	mlstring_pos, macro_buffer, macro_buffer_len.
- 	Delete members mls_line, mls_column, token_list, potential_control_macro,
- 	temp_tokens, temp_cap, temp_alloced, temp_used, first_directive_token,
- 	context_cap, cur_context, no_expand_level, paste_level, contexts, args,
- 	save_parameter_spellings, need_newline, .
- 	Change type of date, time and spec_nodes members.
- 	Change prototypes for include and ident callbacks.
- 	(struct cpp_hashnode): Change type of name.  Remove union members
- 	expansion and code.  Add members macro, operator and builtin.
- 
- 	(cpp_token_len, cpp_token_as_text, cpp_spell_token, cpp_start_read,
- 	cpp_finish, cpp_avoid_paste, cpp_get_token, cpp_get_line,
- 	cpp_get_output_line, cpp_macro_definition, cpp_start_lookahead,
- 	cpp_stop_lookahead): New prototypes.
- 	(cpp_printer_init, cpp_dump_definition): Delete prototypes.
- 
- 	(U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr, ufputs):
- 	Move from cpphash.h.
- 
- 	* cpphash.h (U_CHAR, U, ustrcmp, ustrncmp, ustrlen, uxstrdup, ustrchr,
- 	ufputs): Move to cpplib.h.
- 	(enum spell_type, struct token_spelling, _cpp_token_spellings, TOKEN_SPELL,
- 	TOKEN_NAME, struct answer, FREE_ANSWER, KANDR, STDC89, EXTENSION,
- 	COND, EXPAND, INCL, COMMENTS, IN_I, struct directive, directive_handler,
- 	struct spec_nodes, _cpp_digraph_spellings, _cpp_free_temp_tokens,
- 	_cpp_init_input_buffer, _cpp_grow_token_buffer, _cpp_init_toklist,
- 	_cpp_clear_toklist, _cpp_expand_token_space, _cpp_expand_name_space,
- 	_cpp_equiv_tokens, _cpp_equiv_toklists, _cpp_process_directive,
- 	_cpp_run_directive, _cpp_get_line, _cpp_get_raw_token, _cpp_glue_header_name,
- 	_cpp_can_paste, _cpp_check_directive, _cpp_check_linemarker,
- 	_cpp_parse_assertion, _cpp_find_answer): Delete.
- 	(VALID_SIGN, ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE, POOL_SIZE,
- 	POOL_USED, POOL_COMMIT, struct cpp_chunk, _cpp_lex_token, _cpp_init_pool,
- 	_cpp_free_pool, _cpp_pool_reserve, _cpp_pool_alloc, _cpp_next_chunk,
- 	_cpp_lock_pool, _cpp_unlock_pool, _cpp_test_assertion,
- 	_cpp_handle_directive, DSC): New.
- 	(struct include_file): New member defined.
- 
- 	(DO_NOT_REREAD, _cpp_begin_message, _cpp_execute_include,
- 	_cpp_compare_file_date): Update.
- 	(_cpp_pop_context, _cpp_get_token, _cpp_free_lookaheads, _cpp_push_token): New.
- 	(_cpp_init_macros, _cpp_cleanup_macros): Rename to _cpp_init_hashtable,
- 	_cpp_cleanup_hashtable.
- 
- 	* Makefile.in: Remove cppoutput.c.
- 
- 	* cppoutput.c: Delete
- 
- 	* fixheader.c (read_scan_file): Update for new cpp_get_token
- 	prototype.
- 	(recognized_function): New argument LINE.
- 
- 	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
- 	new cpp_get_token prototype.
- 
- 	* scan.h (recognized_function): Update prototype.
- 
- 	* po/POTFILES.in: Remove cppoutput.c.
- 
- 2000-10-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-typeck.c (check_init_type_bitfields): Remove.
- 	(constructor_incremental): Likewise.
- 	(struct constructor_stack): Remove incremental bit.
- 	(struct initializer_stack): Likewise.
- 	(start_init): Don't play with constructor_incremental.
- 	(finish_init): Likewise.
- 	(really_start_incremental_init): Likewise.
- 	(push_init_level): Likewise.
- 	(pop_init_level): Likewise.
- 	(output_init_level): Likewise.
- 	(output_pending_init_elements): Likewise.
- 
- 2000-10-21  Mike Coleman  <mcoleman2@kc.rr.com>
- 
- 	* c-pragma.c (handle_pragma_pack): Initialize align to -1.
- 	Improve error messages.  Correct parsing of
- 	#pragma pack(pop [,id]).  Do not check the user-supplied
- 	alignment if we're popping.
- 
- 	* gcc.dg/pack-test-1.c: New test case.
- 	* gcc.dg/pack-test-2.c: New test case.
- 	* gcc.dg/pack-test-1.h: New file.
- 
- 2000-10-27  Neil Booth  <neilb@earthling.net>
- 
- 	* cpp.texi: Update.
- 
- 2000-10-27  Kelley Cook <kelley.cook@home.com>
- 
- 	* invoke.texi: Document -mintel-syntax
- 
- 2000-10-27  Richard Henderson  <rth@redhat.com>
- 
- 	* invoke.texi: Document -frename-registers.  Add it to -O3.
- 	* toplev.c (rest_of_compilation): Run regrename before ifcvt2.
- 	(enum dump_file_index, dump_file): Update order.
- 	(main): Set flag_rename_registers at -O3.
- 
- 2000-10-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (enum reg_class): Add PV_REG.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
- 	(REG_CLASS_FROM_LETTER): Assign it to 'c'.
- 	* config/alpha/alpha.md (call_osf_1): Use it.
- 	(call_value_osf_1): Likewise.
- 
- 	* config/ia64/ia64.c: Revert 10-23 patch.
- 	(ia64_hard_regno_rename_ok): New.
- 	* config/ia64/ia64-protos.h: Declare it.
- 	* config/ia64/ia64.h (HARD_REGNO_RENAME_OK): Use it.
- 
- 2000-10-27  Bernd Schmidt  <bernds@redhat.co.uk>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c: Rewrite to handle multi-register modes and
- 	cond_exec instructions.
- 	* Makefile.in (regrename.o): Update dependencies.
- 	* recog.h (struct operand_alternative): Add is_address.
- 	* recog.c (preprocess_constraints) [case 'p']: Set it.
- 
- 2000-10-27  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* configure.in: If not NO_MINUS_C_MINUS_O, substitute
- 	OUTPUT_OPTION with '-o $@'.  Make zlibdir, zlibinc relative to
- 	top level.  Kill oldstyle_subdirs.  Do not include
- 	$srcdir/$s/Makefile.in in all_lang_makefiles, but do include
- 	$outputs.  Do not run configure.lang from config.status.
- 	Rearrange warning-flag logic to correspond to what the
- 	makefile wants.  Put special vax stage1 options in
- 	@stage1_flags@ not @stage1_warn_cflags@.  Don't do anything
- 	with extra_c_objs, extra_cxx_objs, or extra_cpp_objs.
- 	(--enable-c-cpplib): AC_SUBST(maybe_cpplib) with "libcpp.a" if
- 	switch is given, nothing otherwise.
- 	* configure.lang: Delete.
- 
- 	* Makefile.in: Expunge all traces of extra_c_objs,
- 	extra_cxx_objs, and extra_cpp_objs.  Set MAYBE_CPPLIB from
- 	@maybe_cpplib@. Add $(MAYBE_CPPLIB) to C_AND_OBJC_OBJS.  Set
- 	warning options via a three level scheme so that -pedantic and
- 	-Wtraditional are not used for non-C front ends: LOOSE_WARN,
- 	STRICT1_WARN, STRICT2_WARN -> $(@D)-warn, GCC_WARN_CFLAGS ->
- 	WARN_CFLAGS.  Distinguish STAGE1_CFLAGS from BOOT_CFLAGS.
- 	Add -I$(@D) and -I$(srcdir)/$(@D) to INCLUDES.
- 	Set OUTPUT_OPTION, ZLIB, ZLIBINC.  Do not set P,
- 	LANG_FLAGS_TO_PASS.  Add OUTPUT_OPTION to all object-file
- 	generation rules.  Wrap all rules that change the current
- 	directory in parentheses; pmake doesn't spawn a new shell for
- 	each command.  Expunge all references to $(P).  When one
- 	command depends on another and they're run all at once, use &&
- 	to separate them, not ;.  Add libgcc_s$(SHLIB_EXT) to files
- 	deleted on make clean.  Force OUTPUT_OPTION='-o $@' in stage2
- 	and beyond.
- 
- 	* objc/Make-lang.in: Wrap all rules that change the current
- 	directory in parentheses.  Expunge all references to $(P).
- 	When one command depends on another and they're run all at
- 	once, use && to separate them, not ;.  Add OUTPUT_OPTION to
- 	all object-file generation rules.  Delete obsolete variables.
- 	* objc/Makefile.in: Delete.
- 
- 2000-10-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* calls.c (expand_call): If sibcall_failure is set during pass 1,
- 	clear tail_call_insns as well.
- 
- 2000-10-27  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm-protos.h (arm_function_ok_for_sibcall): Add
- 	prototype.
- 
- 2000-10-26  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (expand_call): Supress sibcall if we have a
- 	BLKmode return in registers.
- 
- 2000-10-26  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
- 	into memory.
- 
- 2000-10-26  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.c (make_node, case 't'): Set alignment to that of
- 	char_type_node.
- 	* expr.c (move_by_pieces_ninsns): Abort if some length remains.
- 
- 2000-10-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (site.exp): Define HAVE_LIBSTDCXX_V3.
- 	* configure.in (enable-libstdcxx-v3): Arrange to have
- 	HAVE_LIBSTDCXX_V3 substituted into the output files.
- 
- 2000-10-25  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (constrain_operands): Initialize which_alternative
- 	before no alternatives early exit.
- 
- 	* cse.c (find_comparison_args): Check that we can reverse a
- 	comparison if needed before accepting the substitution.
- 
- 	* reload.c (find_reloads_address_part): Kill rtx obstack hackery.
- 
- 	* simplify-rtx.c (simplify_relational_operation): Sign extend
- 	low words before sign extending to high words.
- 
- 2000-10-25  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mcore/mcore.c: Include config.h before system.h.
- 
- 2000-10-25  Ray Essick  <essick@ddna.labs.mot.com>
- 
- 	* config/mcore/mcore.md (return): Force function epilogue to
- 	always be generated to work around epilogue suppression bug in
- 	M*Core backend.
- 
- 2000-10-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): Move warning for qualified void
- 	return types with -pedantic to when the function type is
- 	constructed.  At -W, warn in general for qualified function return
- 	types, except for volatile void.
- 	* invoke.texi: Document this new warning at -W.
- 
- 2000-10-25  Neil Booth  <neilb@earthling.net>
- 
- 	* cpp.texi: Update with implementation-defined behavior and
- 	internal limits.
- 
- 2000-10-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stor-layout.c (layout_type): If TYPE_ALIAS_SET was already set on the
- 	incomplete type force it into alias set 0.
- 
- Wed Oct 25 01:02:44 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c: Include basic-block.h.
- 	(loop_p): New function.
- 	(mark_constant_function): Use it.
- 	* Makefile.in (alias.o): Update dependencies.
- 
- 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mn10300/mn10300.c (secondary_reload_class): Treat pseudos
- 	like memory.
- 
- 2000-10-24  Jim Wilson  <wilson@cygnus.com>
- 
- 	* expmed.c (store_bit_field): Move integer pun code down after
- 	code that calls emit_move_insn for entire register move.
- 	* stor-layout.c (compute_record_mode): Revert Mar 25, Aug 18, and
- 	Oct 20 changes.  Only store mode in TYPE_MODE if RECORD_TYPE.
- 
- 2000-10-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Don't consider pic
- 	register stable if PIC_OFFSET_TABLE_REG_CALL_CLOBBERED.
- 
- 2000-10-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* gcse.c (cprop_insn): do not propagate constants into jump_insn
- 	for machines with CC0 more than once.
- 
- 2000-10-24  Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com>
- 
- 	* config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat
- 	pseudos just like memory.
- 
- 2000-10-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL
- 	when deleting libcall sequence collapsed to a single instruction.
- 
- 2000-10-24  Andrew Haley  <aph@cygnus.co.uk>
- 
- 	* expr.c (do_store_flag): Don't crash if either side of a
- 	comparison is error_mark_node.
- 
- 2000-10-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* sibcall.c (purge_mem_unchanging_flag): New function.
- 	(optimize_sibling_and_tail_recursive_calls): Call it.
- 
- 2000-10-24  Philipp Thomas  <pthomas@suse.de>
- 
- 	* Makefile.in (check-po): New target for doing checks in the po
- 	subdir if all languages configured.
- 	(CHECK_TARGETS): Add @CHECK_PO@, replaced with check-po via
- 	configure if NLS is enabled.
- 	* configure.in: If NLS is enabled, substitute CHECK_PO by check-po,
- 	otherwise leave empty.
- 	* configure: Regenerate.
- 
- 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* i386.c (print_operand): Handle new 'A' formatting code.
- 	387 opcodes need suffixes even with -mintel-syntax.
- 	Check for explicit size override (codes 'b', 'w' and 'k').
- 	(print_operand_address): Check if register prefix is needed when
- 	emitting `ds' segment override.
- 	* i386.h: Add comment about new 'A' formatting code.
- 	* i386.md (jump and call patterns): Emit absolute references using %A.
- 
- 2000-10-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_prologue): Mark extra
- 	output registers as fixed.
- 	(ia64_function_epilogue): Undo output fixation.
- 
- 2000-10-23  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.md: Add names for all unnamed insns; use
- 	define_insn_and_split in some obvious places.
- 	(lda): Remove.
- 	(zero_extendqihi2): Use an expander w/ nonimmediate_operand for BWX.
- 	(zero_extendqisi2, zero_extendqidi2): Likewise.
- 	(zero_extendhisi2, zero_extendhidi2): Likewise.
- 	(abs splitters): Fix match_scratch operand number.
- 	(bcc_reverse): Swap pc & label instead of non-canonical compare.
- 
- 2000-10-23  Jim Wilson  <wilson@cygnus.com>
- 
- 	* ia64.c (ia64_print_operand, case 'r'): Correct comment.  Handle
- 	CONST_INT.
- 	* ia64.md (cmpsi_adjusted): Use %r3.
- 	(cmpdi_adjusted): Likewise.
- 
- 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* config/i386/att.h (ASM_FILE_START): Define.
- 
- 2000-10-23  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* config/i386/linux.h (ASM_FILE_START): Define.
- 
- Wed Oct 18 11:16:40 2000  Donald Lindsay  <dlindsay@cygnus.com>
- 
- 	* gcc/configure.in: m68k-coff tm_file should not have libgloss.h,
- 	since this (only) drags in a crt0.o reference that the .ld files
- 	also introduce.
- 
- 2000-10-23  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* reload1.c (reload_reg_reaches_end_p): A RELOAD_OTHER can
- 	overwrite the value in a RELOAD_FOR_INPUT and other kinds of
- 	reloads just like an RELOAD_FOR_OUTPUT would.
- 
- 	* local-alloc.c (update_equiv_regs): Add an abort().  When
- 	deleting or moving insns, update reg_equiv[regno].init_insns.
- 
- 2000-10-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-tree.texi: Improve documentation for IF_STMTs and related
- 	conditional statements.
- 
- 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (do_preexpand_calls): Remove.
- 	(same_from_p): Don't use CALL_EXPR_RTL.
- 	(expand_expr): Don't call preexpand_calls, or use CALL_EXPR_RTL.
- 	(preexpand_calls): Remove.
- 	* tree.c (first_rtl_op): Remove CALL_EXPR case.
- 	(unsave_expr_1): Likewise.
- 	* tree.def (CALL_EXPR): Give it only two slots.
- 	* tree.h (CALL_EXPR_RTL): Remove.
- 
- 2000-10-21  Chandrakala Chavva   <cchavva@redhat.com>
- 
- 	* libgcc-std.ver (__addvsi3, __addvdi3,  __subvsi3, __subvdi3,
- 	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
- 	New functions.
- 
- 2000-10-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* calls.c (combine_pending_stack_adjustment_and_call): Don't
- 	adjust stack when unadjusted_alignment ends up as zero.
- 
- 2000-10-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* fixinc/genfixes: Remove EGCS reference.
- 	* install.texi: Remove EGCS reference.
- 	* INSTALL: Regenerate.
- 
- 2000-10-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (TYPE_IS_SIZETYPE): Add more documentation.
- 
- 2000-10-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* diagnostic.c: Remove EGCS reference in comment.
- 
- Sat Oct 21 08:24:25 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* loop.c (strength_reduce): Fix error in last change.
- 
- 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* Makefile.in (SHLIB_NM_FLAGS): New.
- 	(libgcc.mk): Pass it.
- 	* mklibgcc.in (libgcc.map): Use it.
- 
- 	* rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_LIBS,
- 	SHLIB_MKMAP, SHLIB_MAPFILES, SHLIB_NM_FLAGS): New.
- 
- 2000-10-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (REG_CLASS_FROM_LETTER): Cast array arg to unsigned char.
- 
- 	* sparc.c (load_pic_register): Delete unused varaible.
- 
- 	* libgcc2.c (__addvsi3): Delete unused variable.
- 
- 	* libgcc2.h (__absvsi2, __absvdi2, __addvsi3, __addvdi3,
- 	__subvsi3, __subvdi3, __mulvsi3, __mulvdi3, __negvsi2,
- 	__negvdi2): Prototype.
- 
- 	* ssa.c (apply_delayed_renames): Avoid undefined operation.
- 
- 	* toplev.c (display_target_options): Make static to match
- 	prototype.  Delete empty declaration.
- 
- 2000-10-20  Tom Tromey  <tromey@cygnus.com>
- 
- 	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
- 	* gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Added -MF and -MT.
- 
- Fri Oct 20 17:05:49 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case SAVE_EXPR): Set RTX_UNCHANGING_P on
- 	returned MEM.
- 	(expand_expr_unaligned, case ARRAY_REF): Check that index is
- 	a constant before comparing it; use tree_low_cst.
- 	* tree.c (save_expr): Set TREE_READONLY.
- 	(substitute_expr): Return inside of NON_LVALUE_EXPR.
- 	(build, build1): Set TREE_READONLY if all operands are.
- 	(build_index_type): If upper bound is a negative number, lower
- 	bound is zero and sizetype is unsigned, use upper bound of one and
- 	lower of zero.
- 
- 2000-10-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* gcc.c (process_command, main): Use "because" instead of
- 	"since" in error messages.
- 
- Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (compute_record_mode): Use tree_low_cst.
- 	Don't use mode of field for record unless sizes are the same.
- 	(layout_type, case ARRAY_TYPE): Remove special bounds handling
- 	previously added for Ada; also change to using host_integerp
- 	and tree_low_cst.
- 
- 	* loop.c (strength_reduce): Show when new register made for
- 	giv is known to be a pointer and its aligment if so and known.
- 	(loop_dump_aux): Show VERBOSE parameter unused.
- 
- 	* gcse.c (set_hash_table_size): Now unsigned.
- 	* sdbout.c (template_name_p): Add "const" to avoid warnings.
- 	(sdbout_record_type_name, plain_type_1, sdbout_symbol): Likewise.
- 	(sdbout_one_type, sdbout_parms, sdbout_reg_parms): Likewise.
- 	(sdbout_end_epilogue): Remove variable NAME.
- 	* system.h (getopt): Add default definition.
- 	* config/alpha/alpha.c (print_operand): Don't continue processing
- 	after issuing error.
- 	(summarize_insn): Avoid use of UL in constant.
- 
- 	* function.c (locate_and_pad_parm): Use host_integerp and tree_low_cst.
- 
- 	* fold-const.c (force_fit_type): Unsigned values can overflow
- 	if they are sizetype.
- 	(int_const_binop): Don't use cache if overflows.
- 
- 2000-10-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (locate_and_pad_parm): Zero alignment_pad.
- 
- 	* regrename.c (rr_replace_reg): Rewrite to use recog_data to
- 	perform substitutions, and apply_change_group to see if it worked.
- 
- Fri Oct 20 13:33:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (add_bound_info): Also ignore COND_EXPR.
- 
- 	* combine.c (struct undo): Change int to unsigned int.
- 	(do_SUBST_INT): Args are unsigned int.
- 	(make_extraction, force_to_mode): Use proper type when forming mask.
- 	(make_field_assignment): Likewise.
- 
- 2000-10-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info_recurse): Extract string constant
- 	initializers from non-volatile constant arrays and check them as
- 	formats.
- 	* c-typeck.c (decl_constant_value): Don't check pedantic or check
- 	for DECL_MODE (decl) != BLKmode.
- 	(decl_constant_value_for_broken_optimization): New function which
- 	includes these checks.
- 	(default_conversion, convert_for_assignment, digest_init): Use
- 	decl_constant_value_for_broken_optimization instead of
- 	decl_constant_value.
- 
- 2000-10-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (DECL_ALIGN_UNIT): New macro.
- 
- 2000-10-14  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr-protos.h (avr_output_bld): New.
- 	(out_shift_with_cnt): Add t_len argument.
- 	* config/avr/avr.c (avr_num_arg_regs): Remove -mpack-args.
- 	(output_movqi, output_movhi, output_movsisf): Optimize loading
- 	any constant with exactly one bit set to NO_LD_REGS.
- 	(out_shift_with_cnt): Optimize output code for size or speed,
- 	depending on optimize_size.  Handle small shift counts as well
- 	(if not hand-optimized in ?sh??i3_out).  Shifts can be done
- 	with or without a scratch register, with help of __tmp_reg__
- 	or __zero_reg__ if necessary.  Add T_LEN argument to pass the
- 	length of TEMPLATE in words, return total insn length in *LEN.
- 	(ashlqi3_out, ashrqi3_out, lshrqi3_out): Change all calls to
- 	out_shift_with_cnt to work with the above change.
- 	(ashlhi3_out, ashlsi3_out, ashrhi3_out, ashrsi3_out, lshrhi3_out,
- 	lshrsi3_out): Likewise.  Optimize more known shift count cases.
- 	Remove cases already well optimized in out_shift_with_cnt.
- 	(avr_output_bld): New function.
- 	* config/avr/avr.h (MASK_PACK_ARGS, TARGET_PACK_ARGS): Remove.
- 	(TARGET_SWITCHES): Remove -mpack-args backward compatibility.
- 	* config/avr/avr.md (*reload_inqi, *reload_inhi, *reload_insi):
- 	Add reload_completed to insn condition - only for peepholes.
- 	(ashlqi3, ashrqi3, lshrqi3): Correct insn length for shift counts
- 	in a register or memory.
- 	(ashlhi3, ashlsi3, ashrhi3, ashrsi3, lshrhi3, lshrsi3): Likewise.
- 	Do not require a scratch register.
- 	(*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
- 	*lshrhi3_const, *lshrsi3_const): New insns and matching peepholes.
- 	Optimize shifts by known count using a scratch register, but only
- 	if one is still available after register allocation.
- 
- 2000-10-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* t-vax: New file.  Don't build modules from libgcc1.c.
- 
- Fri Oct 20 00:57:00 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c: (mark_constant_function): Don't check pure functions.
- 	Initialize and end alias analysis.
- 	(nonlocal_mentioned_p): Rename from nonlocal_reference_p.
- 	Don't make a special exception for recursion.  Handle
- 	UNSPEC_VOLATILE.  Don't assume ASM_OPERANDS is non-local
- 	unless it's volatile.
- 
- 	* local-alloc.c (equivalence): New structure.
- 	(reg_equiv): Define.
- 	(contains_replace_regs): Remove array and use
- 	field in reg_equiv.
- 	(memref_referenced_p): Likewise.
- 	(no_equiv): Likewise.
- 	(update_equiv_regs): Likewise.
- 
- 	(equiv_init_varies_p,
- 	equiv_init_movable_p): New functions.
- 	(update_equiv_regs): Use them.  Use rtx_varies_p
- 	instead of function_invariant_p.  Process insns
- 	from end to beginning.  Allow a REG_EQUIV insn
- 	within the same loop as a use to be moved, also
- 	allow it to be moved out of a loop.  Update
- 	REG_DEAD notes when substituting into an insn.
- 
- 2000-10-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-decl.c (start_decl): Check for error_mark_node type before using
- 	COMPLETE_TYPE_P.
- 	(finish_decl): Likewise.  Don't give an error if decl type is
- 	already error_mark_node.
- 
- 	* haifa-sched.c (compute_trg_info): Add explanatory comments.
- 	New local update_blocks.  Use update_blocks to remove duplicates
- 	when computing update blocks.  Check for bblst_table overflow.
- 	(schedule_block): Add explanatory comment.  Reduce bblst_size by
- 	factor of 2.
- 	* config/ia64/ia64.md (movdi_symbolic): Document loss of REG_LABEL
- 	notes.
- 
- 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
- 
- 	* libgcc2.c (_mulvsi3): Change variables u and v to a and b.
- 
- 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
- 
- 	* expmed.c: Minor corrections in comments.
- 	* invoke.texi: Added desciption for the new option -ftrapv.
- 
- 2000-10-19  Chandrakala Chavva   <cchavva@redhat.com>
- 
- 	* libgcc2.c: Added the missing #endif.
- 
- Thu Oct 19 14:25:11 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (CONST_OK_FOR_LETTER): Re-add 'N'; document.
- 
- 2000-10-18  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
- 	Use smulv_optab for -ftrapv.
- 	(expand_mult_highpart): Use unsigned multiply.
- 	(expand_divmod): Special-case division by -1.
- 	For EXACT_DIV_EXPR, do right shift first, then the multiply.
- 	For complex divide, use abs with unsigned result.
- 	* expr.c (force_operand): Use unsigned multiply.
- 	(expand_expr): Use overflow-trapping optabs for signed types if
- 	flag_trapv.
- 	If flag_trapv, don't generate a recursive call with EXPAND_SUM
- 	if the type is signed and the original call wasn't EXPAND_SUM or
- 	EXPAND_INITIALIZER.
- 	* expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
- 	(negv_optab, absv_optab): Declare.
- 	* flags.h (flag_trapv): Declare.
- 	* genopinit.c (optabs): Add entries for addv_optab, subv_optab,
- 	smulv_optab, sdivv_optab, negv_optab and absv_optab.
- 	(gen_insn): Interpret '$P' as requiring an integer mode,
- 	including partial integer modes.
- 	* loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
- 	(product_cheap_p): Use unsigned expand_mult.
- 	* optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
- 	(negv_optab, absv_optab): Define.
- 	(expand_binop): Use overflow-trapping optabs for signed types if
- 	flag_trapv.
- 	Handle negv_optab libe neg_optab.
- 	(expand_abs): Take result_unsignedp argument instead of unsignedp one.
- 	Use overflow-trapping optabs for signed result if flag_trapv.
- 	(expand_complex_abs): Use overflow-trapping optabs for signed types if
- 	flag_trapv.
- 	Don't open-code complex absolute-value operation for flag_trapv.
- 	(init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
- 	sdivv_optab, negv_optab and absv_optab.
- 	* toplev.c (flag_trapv): Define.
- 	(lang_independent_options f_options): Include flag_trapv.
- 	* tree.h (TYPE_TRAP_SIGNED): Define.
- 	* libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
- 	__mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
- 	New functions.
- 	* Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
- 	_subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
- 
- 2000-10-18  Geoffrey Keating  <geoffk@cygnus.com>
- 	    David V. Henkel-Wallace  <gumby@cygnus.com>
- 
- 	* config/i386/t-netware: Bring in from the Red Hat tree.
- 	* config/i386/netware.h: Likewise.
- 	* config/netware.h: Likewise.
- 	* config/rs6000/netware.h: Delete.
- 	* configure.in: Add i[34567]86-*-netware.
- 	* configure: Hand-edit to match configure.in change.
- 
- 2000-10-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (flag_no_builtin): Declare.
- 	(flag_no_nonansi_builtin): Likewise.
- 	(c_common_nodes_and_builtins): Change prototype.
- 	* c-common.c (flag_no_builtin): New variable.
- 	(flag_no_nonansi_builtin): Likewise.
- 	(c_common_nodes_and_builtins): Remove parameters.  Adjust
- 	accordingly.
- 	* c-decl.c (flag_no_builtin): Remove.
- 	(flag_no_nonansi_builtin): Likewise.
- 	(init_decl_processing): Adjust call to
- 	c_common_nodes_and_builtins.
- 
- 2000-10-18  Marc Espie <espie@openbsd.org>
- 
- 	* tm.texi (LIBGCC_SPEC): Synch with reality.
- 
- 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_types): Check for writing through a
- 	NULL pointer argument.
- 
- 2000-10-18  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* tm.texi (Exception Region Output): Document
- 	DWARF_CIE_DATA_ALIGNMENT.
- 	* dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
- 	#ifndef.
- 	[ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
- 	DWARF_CIE_DATA_ALIGNMENT.
- 
- 2000-10-18  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* basic-block.h (struct loop): Delete fields pre_header_root
- 	and pre_header_trace and replace with pre_header_edges
- 	and num_pre_header_edges.
- 	* flow.c (flow_loop_dump): Dump pre_header_edges.
- 	(flow_loops_free): Free pre_header_edges.
- 	(flow_loop_pre_header_scan): Calculate pre_header_edges.
- 
- 2000-10-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* contrib.texi: Update references to steering committee members
- 	and Jeff Law's entry.
- 
- 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
- 	(maybe_read_dollar_number, check_format_info_main): Use them for
- 	pedantic warning messages.
- 
- 2000-10-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info_main): Minor cleanup: move
- 	variables into inner scopes; initialize declarations where
- 	appropriate; don't hardcode "scanf" name on warning for zero
- 	width.
- 
- 2000-10-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (back_end_hook): New variable.
- 	* c-common.h (back_end_hook): Declare it.
- 	* c-lang.c (finish_file): Use it.
- 
- 	* emit-rtl.c (init_emit_once): Initialize the const_int_htab
- 	earlier.
- 
- 2000-10-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_comparison_operator, put_condition_code,
- 	ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
- 	(ix86_expand_strlensi_unroll_1): Use CCRCmode.
- 	* i386.h (EXTRA_CC_MODES): Add CCRCmode.
- 	* i386.md (adddi and negdi splitter): Use CCRCmode.
- 	(add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
- 	(subsi3_carry): add '*'
- 	(addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
- 	(cmp to add peep2): Use CCRCmode; swap operands.
- 
- 2000-10-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c: Fix a comment typo.
- 	(round_frame_size): New.
- 	(compute_saved_regs): Likewise.
- 	(push): Likewise.
- 	(pop): Likewise.
- 	(push_order): Remove.
- 	(pop_order): Likewise.
- 	(function_prologue): Rearrange code for readability.
- 	(function_epilogue): Likewise.
- 
- 	* config/h8300/h8300.md: Remove an unnecessary sign_extend
- 	expander that is used when not optimizing.  Output a tab after
- 	each assembly insns.
- 
- 	* reorg.c: Fix formatting.
- 
- 2000-10-17  Joern Rennecke <amylaar@redhat.co.uk>
- 
- 	* reload1.c (move2add_note_store): Check for simple
- 	auto-inc in destination.
- 
- 2000-10-17  Michael Chastain  <chastain@redhat.com>
- 
- 	* config/i386/i386-aout.h: define INT_ASM_OP.
- 
- Tue Oct 17 20:11:08 2000  Alan Modra <alan@linuxcare.com.au>
- 
- 	* pa.c (print_operand): Handle case 'c' for .vtable_inherit
- 
- Tue Oct 17 20:05:51 2000  Martin Buchholz <martin@xemacs.org>
- 
- 	* i370.md: Fix spelling typo.
- 
- 2000-10-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* function.c (locate_and_pad_parm): Don't align stack unconditionally.
- 	Fixes execute/20001017-1.c on powerpc-linux-gnu.
- 
- 	* expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
- 	* rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
- 	LABEL_REF.
- 
- 	* rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
- 	ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
- 	here...
- 	* rs6000/aix.h: ...to here.
- 	* rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
- 
- 2000-10-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
- 
- 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
- 	sure linker can relax even the delay slot mov %g1,%o7, fix output
- 	formating.
- 
- 2000-10-17  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Remove an unnecessary zero_extend
- 	expander that is used when not optimizing.  Output a tab after
- 	each assembly insns.
- 
- 2000-10-17  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* gcc.c: New options --target-help.
- 	(process_command): Added code to parse this new option.
- 	* toplev.c (display_target_options): New function to support the
- 	above new option.
- 	* cppinit.c (new_pending_directive) : New option OPT_target__help.
- 	(cpp_handle_option): Support this new option.
- 	* invoke.texi: Added notes about --target-help option.
- 
- 2000-10-17  Graham Stott  <grahams@redhat.com>
- 
- 	* config/i386/i386.md (testqi_1): Add missing operand prefix
- 	for operand 0.
- 	* config/i386/i386-protos.h: Add missing prototype.
- 
- 2000-10-17  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
- 	_GLOBAL_OFFSET_TABLE should not have a $ prefix when
- 	using -mintel-syntax.
- 
- 2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
- 	(format_types): Use it for printf.
- 	(maybe_read_dollar_number): Add parameter for the kind of format
- 	involved.  Warn for multiple use for arguments if this is
- 	inappropriate for the kind of format involved.
- 	(check_format_info_main): Update calls to maybe_read_dollar_number.
- 
- 2000-10-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* inclhack.def (hpux_maxint): Also apply fix to values.h.
- 	* fixincl.x: Rebuilt.
- 
- 2000-10-17  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* genrecog.c (write_switch): Return the first condition that needs a
- 	label.
- 
- 2000-10-17  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* c-tree.h (warn_sequence_point): Move declaration to...
- 	* c-common.h (warn_sequence_point): ... here.
- 	* c-decl.c (warn_sequence_point): Move definition to...
- 	* c-common.c (warn_sequence_point): ... here.
- 	(struct reverse_tree): New.
- 	(reverse_list, reverse_max_depth): New static variables.
- 	(build_reverse_tree, common_ancestor, modify_ok
- 	verify_sequence_points): New functions.
- 	(c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
- 	* c-typeck.c (check_modify_expr): Delete.
- 	(build_modify_expr): Don't call it.
- 
- 2000-10-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.h (warn_missing_format_attribute): New variable.
- 	* c-decl.c (warn_missing_format_attribute): New variable.
- 	(c_decode_option): Decode -Wmissing-format-attribute and
- 	-Wno-missing-format-attribute.
- 	* c-common.c (check_function_format): If
- 	-Wmissing-format-attribute, give a warning where a vprintf or
- 	vscanf function is called by a function without its own printf or
- 	scanf attribute.
- 	* toplev.c (documented_lang_options): Add
- 	-Wmissing-format-attribute.
- 	* invoke.texi: Document -Wmissing-format-attribute.
- 
- 2000-10-17  Marc Espie <espie@openbsd.org>
- 
- 	* invoke.texi (-shared): Insist on requiring code generation flags
- 	to be used along with -shared, and document the subtle failure that
- 	may occur otherwise.
- 
- 2000-10-16  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (return_internal): Move `use' after `return'.
- 
- 2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* machmode.def: Correct comment.
- 
- 2000-10-16  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* print-rtl.c (print_rtx_head): Constify.
- 	* rtl.h (print_rtx_head): Similarly.
- 
- 	* config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
- 	Constify char * return value.
- 	* config/pa/pa/pa.c
- 	(output_64bit_and, output_64bit_ior): Constify char * return value.
- 	(pa_can_combine_p): Make static.
- 	(function_arg): Decorate unused `named' argument. Fix comment typo.
- 	(function_arg_partial_nregs): Decorate unused `named' argument.
- 
- 2000-10-16  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (format_check_results): New structure.
- 	(finish_dollar_format_checking): Adjust to take a
- 	format_check_results * parameter.
- 	(check_format_info, check_format_info_recurse,
- 	check_format_info_main): Split check_format_info into three
- 	functions, the main checking going in check_format_info_main.
- 	Recurse when any reduction of the format string argument towards a
- 	string literal is done; go down both branches of a conditional
- 	expression.  Don't warn for extra format arguments or empty format
- 	strings if they only occur in some branches of a conditional
- 	expression.
- 
- 2000-10-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Remove obstack.  Include ggc.h.
- 
- 2000-10-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* rtlanal.c (may_trap_p): Check operand modes of COMPARE.
- 
- 2000-10-15  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* i386.md (*movsi_or): Switch operand order for intel syntax.
- 
- 2000-10-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* PROBLEMS: Remove.
- 
- 	* gcc.texi (Contributing): Update.
- 
- 2000-10-13  Diego Novillo  <dnovillo@cygnus.com>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
- 	appropriate assembler dialect.
- 
- 2000-10-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-common.c (c_expand_builtin): PARAMS-ize prototype.
- 
- 2000-10-12  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (output_movhi, output_movsisf): Fix loading
- 	constants 1 and 2 to NO_LD_REGS.
- 
- 2000-10-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-parse.c, tradcif.c): Create atomically.
- 
- 	* objc/Make-lang.in (objc-parse.c): Likewise.
- 
- 2000-10-13  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.c: Include obstack.h
- 	(minipool_obstack, minipool_startobj): Define.
- 	(arm_add_gc_roots): Initialize them.
- 	(create_fix_barrier): Use our new obstack.
- 	(push_minipool_barrier, push_minipool_fix): Likewise.
- 	(arm_reorg): Release obstack memory.
- 
- 2000-10-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
- 	(prologue, exception_receiver, builtin_setjmp_receiver): New
- 	patterns.
- 	* config/sparc/sparc.h (FINALIZE_PIC): Remove.
- 	* config/sparc/sparc-protos.h (finalize_pic): Remove.
- 	(load_pic_register): New prototype.
- 	* config/sparc/sparc.c (pic_setup_code): Remove.
- 	(finalize_pic): Rename to...
- 	(load_pic_register): ...this function.
- 	Don't look for nonlocal_goto_receivers and emit pic setup code
- 	directly.  Don't check current_function_uses_pic_offset_table.
- 
- 2000-10-13  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* tree.h (struct obstack): Declare.
- 
- 2000-10-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Remove obstacks.
- 	* Makefile.in (ggc-callbacks.o): Remove target.
- 	(flow.o): Depend on GGC_H.
- 	* alias.c (init_alias_analysis):
- 	Remove ggc_p conditionals.
- 	(end_alias_analysis): Likewise.
- 	* basic-block.h (init_flow): New function.
- 	(allocate_reg_life_data): Declare.
- 	* bb-reorder.c	(function_obstack): Replace with ...
- 	(flow_obstack): ... new variable.
- 	(fixup_reorder_chain): Use it.
- 	* c-decl.c (ggc_p): Remove.
- 	(caller-save.c): Don't call oballoc/obfree.
- 	* combine.c (struct
- 	undobuf): Remove storage.
- 	(try_combine): Don't call oballoc.
- 	(undo_all): Don't call obfree.
- 	* cse.c (insert): Use xmalloc, not
- 	oballoc.
- 	(cse_main): Adjust accordingly.
- 	* dwarf2out.c (save_rtx): Remove
- 	obstack code.
- 	(dwarf2out_init): Remove ggc_p conditionals.
- 	* emit-rtl.c (rtl_obstack): Remove.
- 	(gen_rtx_CONST_INT): Remove ggc_p conditionals.
- 	(make_insn_raw): Likewise.
- 	(emit_insn_before): Likewise.
- 	(emit_insn_after): Likewise.
- 	(emit_insn): Likewise.
- 	(gen_sequence): Likewise.
- 	(copy_insn_1): Remove handling of `b' RTL components.
- 	(init_emit_once): Remove ggc_p conditionals.
- 	* except.c (create_rethrow_ref): Don't fool with obstacks.
- 	(add_partial_entry): Likewise.
- 	(call_get_eh_context): Likewise.
- 	(begin_protect_partials): Likewise.
- 	(protect_with_terminate): Likewise.
- 	* explow.c
- 	(plus_constant_wide): Likewise.
- 	* expr.c (init_expr_once):
- 	Likewise.
- 	(emit_block_move): Likewise.
- 	(clear_storage): Likewise.
- 	(expand_expr): Likewise.
- 	* flow.c (function_obstack): Remove.
- 	(flow_obstack): New variable.
- 	(flow_firstobj): Likewise.
- 	(create_base_block): Use the flow_obstack.
- 	(split_block): Likewise.
- 	(split_edge): Likewise.
- 	(calculate_global_regs_live): Likewise.
- 	(allocate_bb_life_data): Make it static.  Likewiwse.
- 	(init_flow): New function.
- 	(size_int_type_wide): Remove ggc_p conditionals.
- 	* function.c
- 	(push_function_context_to): Don't call save_tree_status.
- 	(pop_function_context_from): Or restore_tree_status.
- 	(assign_stack_local_1): Don't call push_obstacks.
- 	(find_fixup_replacement): Use xmalloc.
- 	(fixup_var_refs_insns): Free the storage.
- 	(insns_for_mem_walk): Don't mess with obstacks.
- 	(instantiate_decls): Likewise.
- 	(trampoline_address): Likewise.
- 	(expand_function_end): Likewise.
- 	* function.h (sturct function):
- 	Remove obstack-related variables.
- 	(save_tree_status): Don't declare.
- 	(restore_tree_status): Likewise.
- 	* gcse.c (compute_can_copy):
- 	Don't call oballoc/obfree.
- 	* genattrtab.c (operate_exp): Remove
- 	ggc_p conditionals.
- 	(simplify_cond): Likewise.
- 	(simplify_test_exp): Don't mess with obstacks.
- 	(optimize_attrs): Likewise.
- 	* gengenrtl.c (gendef): Don't include
- 	ggc_p conditionals.
- 	* ggc-callbacks.c (ggc_p): Remove.
- 	* ggc-none.c (ggc_p): Remove.
- 	* ggc.h (ggc_p): Don't declare.
- 	* integrate.c (save_for_inline): Don't mess with obstacks.
- 	(integrate_decl_tree): Likewise.
- 	(output_inline_function): Likewise.
- 	* lists.c
- 	(init_EXPR_INSN_LIST_cache): Likewise.
- 	* loop.c (temp_obstack):
- 	Remove.
- 	(rtl_obstack): Likewise.
- 	(init_loop): Don't mess with obstacks.
- 	(reg_address_cost): Free BIVs and GIVs.
- 	(check_insns_for_bivs): Use xmalloc, not oballoc.
- 	(find_mem_givs): Likewise.
- 	(record_biv): Likewise.
- 	(general_induction_var): Likewise.
- 	(product_cheap_p): Likewse.
- 	* optabs.c (init_one_libfunc): Remove
- 	ggc_p conditional.
- 	* print-tree.c (debug_tree): Don't use
- 	oballoc/obfree.
- 	(print_node): Likewise.
- 	* profile.c (output_func_start_profiler):
- 	Remove call to temporary_allocation.
- 	* reload1.c
- 	(eliminate_regs_in_insn): Don't mess with obstacks.
- 	* resource.c
- 	(mark_target_live_regs): Use xmalloc.
- 	(free_resource_info): Free the memory.
- 	* rtl.c (rtl_obstack):
- 	Remove.
- 	(rtvec_alloc): Don't mess with obstacks.
- 	(rtx_alloc): Likewise.
- 	(rtx_free): Remove.
- 	(copy_rtx): Don't handle `b' cases.
- 	(read_rtx): Use a local rtl_obstack.
- 	* rtl.h (oballoc): Remove.
- 	(obfree): Likewise.
- 	(pop_obstacks): Likewise.
- 	(push_obstacks): Likewise.
- 	(allocate_bb_life_data): Likewise.
- 	(allocate_reg_life_data): Likewise.
- 	(rtx_free): Likewise.
- 	* sdbout.c (sdbout_queue_anonymous_type):
- 	Use tree_cons, not saveable_tree_cons.
- 	* simplify-rtx.c
- 	(cselib_init): Don't mess with obstacks.
- 	* stmt.c
- 	(mark_block_nesting): Mark the label_chain.
- 	(epxand_label): Use ggc_alloc, not oballoc.
- 	(clear_last_expr): Don't mess with obstacks.
- 	(expand_decl_cleanup): Likewise.
- 	(expand_dcc_cleanup): Likewise.
- 	(expand_dhc_cleanup): Likewise.
- 	(expand_anon_union_decl): Likewise.
- 	(add_case_node): Use xmalloc, not oballoc.
- 	(free_case_nodes): New function.
- 	(expand_end_case): Call it.
- 	* stor-layout.c (layout_type): Don't
- 	mess with obstacks.
- 	(layout_type): Likewise.
- 	* toplev.c (wrapup_global_declarations):
- 	Likewise.
- 	(compile_file): Remove ggc_p conditionals.
- 	(rest_of_compilation): Call init_flow.  Remove ggc_p conditionals.
- 	(decode_f_option): Remove ggc_p conditionals.
- 	* tree.c
- 	(function_maybepermanent_obstack): Remove.
- 	(maybepermanent_obstack): Likewise.
- 	(function_obstack): Likewise.
- 	(tmeporary_obstack): Likewise.
- 	(momentary_obstack): Likewise.
- 	(temp_decl_obstack): Likewise.
- 	(saveable_obstack): Likewise.
- 	(rtl_obstack): Likewise.
- 	(current_obstack): Likewise.
- 	(expression_obstack): Likewise.
- 	(struct obstack_stack): Likewise.
- 	(obstack_stack): Likewise.
- 	(obstack_stack_obstack): Likewise.
- 	(maybepermanent_firstobj): Likewise.
- 	(temporary_firstobj): Likewise.
- 	(momentary_firstobj): Likewise.
- 	(temp_decl_firstobj): Likewise.
- 	(momentary_function_firstobj): Likewise.
- 	(all_types_permanent): Likewise.
- 	(struct momentary_level): Likewise.
- 	(momentary_stack): Likewise.
- 	(init_obstacks): Remove initialization of removed obstacks.
- 	(save_tree_status): Remove.
- 	(restore_tree_status): Likewise.
- 	(temporary_allocation): Liekwise.
- 	(end_temporary_allocation): Liekwise.
- 	(resume_temporary_allocation): Likewise.
- 	(saveable_allocation): Likewise.
- 	(push_obstacks): Likewise.
- 	(push_obstacks_nochange): Likewise.
- 	(pop_obstacks): Likewise.
- 	(allocation_temporary_p): Likewise.
- 	(permanent_allocation): Likewise.
- 	(preserve_data): Likewise.
- 	(preserve_initializer): Likewise.
- 	(rtl_in_current_obstack): Likewise.
- 	(rtl_in_saveable_obstack): Likewise.
- 	(oballoc): Likewise.
- 	(obfree): Likewise.
- 	(savealloc): Likewise.
- 	(expralloc): Likewise.
- 	(print_obstack_name): Likewise.
- 	(debug_obstack): Likewise.
- 	(object_permanent_p): Likewise.
- 	(push_momentary): Likewise.
- 	(perserve_momentary): Likewise.
- 	(clear_momentary): Likewise.
- 	(pop_momentary): Likewise.
- 	(pop_momentary_nofree): Likewise.
- 	(suspend_momentary): Likewise.
- 	(resume_momentary): Likewise.
- 	(make_node): Don't set TREE_PERMANENT.
- 	(copy_node): Remove ggc_p conditionals.  Don't set TYPE_OBSTACK.
- 	Don't set TREE_PERMANENT.
- 	(get_identifier): Remove ggc_p conditionals.
- 	(build_string): Likewise.
- 	(make_tree_vec): Likewise.
- 	(build_decl_list): Remove.
- 	(build_expr_list): Likewise.
- 	(tree_cons): Remove ggc_p conditionals.
- 	(decl_tree_cons): Remove.
- 	(expr_tree_cons): Likewise.
- 	(perm_tree_cons): Likewise.
- 	(temp_tree_cons): Likewise.
- 	(saveable_tree_cons): Likewise.
- 	(build1): Remove ggc_p conditionals.
- 	(build_parse_node): Likewise.
- 	(build_type_attribute_variant): Don't mess with obstacks.
- 	(build_type_copy): Likewise.
- 	(type_hash_canon): Likewise.
- 	(build_pointer_type): Likewise.
- 	(build_reference_type): Likewise.
- 	(build_index_type): Likewise.
- 	(build_range_type): Likewise.
- 	(dump_tree_statistics): Don't print obstack information.
- 	* tree.h
- 	(struct tree_common): Remove permanent_flag.
- 	(TREE_PERMANENT): Remove.
- 	(TREE_SET_PERMANENT): Likewise.
- 	(TYPE_OBSTACK): Likewise.
- 	(struct tree_type): Remove obstack.
- 	(oballoc): Remove.
- 	(savealloc): Likewise.
- 	(build_decl_list): Likewise.
- 	(build_expr_list): Likewise.
- 	(perm_tree_cons): Likewise.
- 	(temp_tree_cons): Likewise.
- 	(saveable_tree_cons): Likewise.
- 	(decl_tree_cons): Likewise.
- 	(expr_tree_cons): Likewise.
- 	(suspend_momentary): Likewise.
- 	(allocation_temporary_p): Likewise.
- 	(resume_momentary): Likewise.
- 	(push_obstacks_nochange): Likewise.
- 	(permanent_allocation): Likewise.
- 	(push_momentary): Likewise.
- 	(clear_momentary): Likewise.
- 	(pop_momentary): Likewise.
- 	(end_temporary_allocation): Likewise.
- 	(pop_obstacks): Likewise.
- 	(push_obstacks): Likewise.
- 	(pop_momentary_nofree): LIkewise.
- 	(preserve_momentary): Likewise.
- 	(saveable_allocation): Likewise.
- 	(temporary_allocation): Likewise.
- 	(resume_temporary_allocation): Likewise.
- 	(perserve_initializer): Likewise.
- 	(debug_obstack): Likewise.
- 	(rtl_in_current_obstack): Likewise.
- 	(rtl_in_saveable_obstack): Likewise.
- 	(obfree): Likewise.
- 	* varasm.c (current_obstack): Remove.
- 	(saveable_obstack): Remove.
- 	(rtl_obstack): Remove.
- 	(immed_double_const): Don't mess with obstacks.
- 	(immed_real_cons): Likewise.
- 	(output_constant_def): Likewise.
- 	(init_varasm_status): Use xcalloc.
- 	(mark_pool_constant): Mark the pool constant itself.
- 	(free_varasm_status): Free memory.
- 	(decode_rtx_const): Call bzero directly, rather than expanding it
- 	inline.
- 	(record_rtx_const): Don't mess with obstacks.
- 	(force_const_mem): Likewise.
- 	* config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
- 	conditionals.
- 	(aof_pic_entry): Likewise.
- 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
- 	* config/m32r/m32r.c (m32r_encode_section_info): Likewise.
- 	* config/pa/pa.c (saveable_obstack): Remove.
- 	(rtl_obstack): Likewise.
- 	(current_obstack): Likewise.
- 	(output_call): Don't mess with obstacks.
- 	(hppa_encode_label): Remove ggc_p conditionals.
- 	* config/romp/romp.c (get_symref): Don't mess with obstacks.
- 	* config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
- 	(rs6000_encode_section_info): Likewise.
- 	* config/sh/sh.c (get_fpscr_rtx): Likewise.
- 
- Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (adddi3, subdi3 splitters): Update for new pattern.
- 	(addsi3_cc, addqi3_cc, subsi3_cc): Remove
- 	(addsi3_carry): Canonicalize.
- 	(addqi_5): Remove '*'.
- 	(sbb pattern): Canonicalize.
- 
- 	* i386.md (cmp to inc/add peep2): New.
- 
- 2000-10-12  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
- 	the exit block.
- 
- 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
- 	* README.TRAD, TESTS.FLUNK: Remove.
- 
- 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (decl_attributes): Don't allow strftime formats with
- 	first_arg_num nonzero.
- 	(check_format_info): Set wanted_type and wanted_type_name to zero
- 	before they are possibly assigned and used.
- 
- 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (scanf_flag_specs): Add flags ' and I.
- 	(strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
- 	or the ^ and # flags together.
- 	(scan_char_table): Handle the ' and I flags.
- 	(format_types): Add ' and I flags for scanf.
- 
- 2000-10-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (print_char_table): Use the unpromoted type for
- 	lengths "h" and "hh" with conversions dioxXu.
- 	(check_format_types): Apply the default argument promotions where
- 	the wanted type is not a pointer target.
- 
- 2000-10-11  Michael Meeks  <mmeeks@gnu.org>
- 	    Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (check_modify_expr): New function.
- 	(build_modify_expr): Call it if warn_sequence_point.
- 	* c-decl.c (warn_sequence_point): New variable.
- 	(c_decode_option): Handle -Wsequence-point and
- 	-Wno-sequence-point.  Enable -Wsequence-point as part of -Wall.
- 	* c-tree.h (warn_sequence_point): Declare.
- 	* invoke.texi (-Wsequence-point): Document.
- 	* toplev.c (documented_lang_options): Add -Wsequence-point and
- 	-Wno-sequence-point.
- 	Original work by Michael Meeks, 16 Jun 1998.
- 
- Wed Oct 11 06:15:41 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (get_narrower): Don't look at precision of field if
- 	not laid out yet.
- 
- Tue Oct 10 23:14:33 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
- 	declaration for data with "progmem" attribute.
- 
- 2000-10-09  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
- 	Correct insn length if shift count is a memory operand.
- 	* config/avr/avr.md: New define_peephole2 to use *reload_inqi.
- 	(*iorhi3_clobber): Change lo8 to hi8.
- 	(zero_extendhisi2): Change %B0 to %A1.
- 	(ashlhi3, ashrhi3): Correct insn length.
- 	(andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
- 	from "clobber" to "set_n" in some alternatives.
- 
- 2000-10-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* reload1.c (calculate_needs_all_insns): If deleting an instruction,
- 	remove its insn_chain structure as well.
- 
- 2000-10-09  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* dbxout.c (dbxout_source_line): Remove extra tab.
- 
- 2000-10-09  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
- 
- 2000-10-09  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (LANG_LIB2FUNCS): Remove.
- 	(LIB2FUNCS): Remove _pure.
- 	(LIB2ADD): Remove LANG_LIB2FUNCS.
- 	(stage_a): Don't set LANG_LIB2FUNCS.
- 	* libgcc2.c (__terminate): Mark noreturn.
- 	(__pure_virtual): Remove.
- 	* mklibgcc.in: Remove LIB2ADD .txt processing.
- 
- 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (push_multi): Revert unintended change.
- 
- 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c: Miscellaneous white space and comment clean-ups.  No
- 	functional change.
- 	* arm.md: Likewise.
- 
- 2000-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
- 	STRING_CST by calling combine_strings.
- 
- 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
- 	(thumb_output_move_mem_multiple): Support new insn format.
- 	* arm.md (movmem12b): Use SSA compatible format.
- 	(movmem8b): Likewise.
- 
- 2000-10-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (predicable): New attribute, default to "no".
- 	(all patterns): Mark as predicable if appropriate.
- 	(conditional execution splits): Split using predication format.
- 	(define_cond_exec): Define.
- 	* arm.c (arm_print_operand): handle insn predicate.
- 
- 2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.NS32K: Remove file.
- 
- 2000-10-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README-bugs: Remove file.
- 
- 2000-10-08  Philipp Thomas  <pthomas@suse.de>
- 	* aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
- 	for test.
- 	* configure: Rebuilt.
- 
- 2000-10-08  Philipp Thomas  <pthomas@suse.de>
- 	* aclocal.m4 (AM_WITH_NLS): When not using included gettext,
- 	disable catalog building if no suitable program was found.
- 	Move warning message from here
- 	(AM_GNU_GETTEXT): To here.
- 	* configure: Rebuilt.
- 
- 2000-10-08  Philipp Thomas  <pthomas@suse.de>
- 	* aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
- 	different cache variables.
- 	(GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
- 	uses different cache variables.
- 	(AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
- 	* configure: Regenerated.
- 
- 2000-10-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
- 	* configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
- 	* mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
- 	Use SHLIB_EXT.
- 
- 	* config/t-linux (SHLIB_EXT): New.
- 	(SHLIB_LINK): Use the entire build command, with substitutions.
- 	(SHLIB_LIBS): Remove.
- 	* config/alpha/t-osf4: Likewise.
- 	* config/mips/t-iris6: Likewise.
- 	* config/sparc/t-sol2: Likewise, but move shlib stuff...
- 	* config/sparc/t-slibgcc-sld: ...here.
- 	* config/sparc/t-slibgcc: New file.
- 
- 2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
- 	* c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
- 	CTI_UINTMAX_TYPE.
- 	(intmax_type_node, uintmax_type_node): Define.
- 	* c-common.c (decl_attributes): If pedantic, warn if `mode'
- 	attributes create a type wider than intmax_t.
- 	(T_IM, T_UIM): Define properly.
- 	* c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
- 	defined.
- 	(init_decl_processing): Initialize intmax_type_node and
- 	uintmax_type_node.
- 	* c-lex.c (lex_number): When pedantic and warning for integer
- 	constants that are too large, in C99 mode warn for those that have
- 	a type wider than long long.
- 
- 2000-10-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
- 	FMT_FLAG_FANCY_PERCENT_OK): Define.
- 	(format_char_info): Add flag "4" to comment.
- 	(format_flag_spec, format_flag_pair): New structures.
- 	(format_kind_info): Add additional fields to control format
- 	checking.
- 	(printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
- 	scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
- 	arrays.
- 	(time_char_table): Use "4" flag to handle %Ey.
- 	(format_types): Add entries for new fields.
- 	(get_flag_spec): New function.
- 	(check_format_info): Increase size of flag_chars[] to 256.
- 	Control format checking using the new fields of a format_kind_info
- 	and the new tables; remove all conditionals on printf_format_type,
- 	scanf_format_type or strftime_format_type.  Handle all details of
- 	bad combinations of flags (including width, precision and strftime
- 	modifiers) through data rather than ad hoc code.  Handle all
- 	details of standard versions in which flags appeared through
- 	data.  Use the "4" flag.
- 
- 2000-10-07  Will Cohen  <wcohen@redhat.com>, Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Remove the memory alternative and correct
- 	the insn lengths in the templates for sign extension and zero
- 	extension.
- 
- 2000-10-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (expand_call): Disallow sibcalls to noreturn functions.
- 	* flow.c (make_edges): Revert last change.
- 
- 	* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
- 	TREE_THIS_VOLATILE.
- 	* config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
- 
- 2000-10-06  David O'Brien  <obrien@dragon.nuxi.com>
- 
- 	* config/alpha/elf.h: Standardize the formatting.
- 
- 2000-10-06  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
- 	#undef.
- 
- 2000-10-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (diddle_return_value): Examine
- 	current_function_return_rtx instead of the DECL_RESULT.
- 	(expand_function_end): Handle reloading DECL_RESULT from memory
- 	into a hard register.  Query promote_mode for sign of mismatched
- 	modes.
- 
- 2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
- 
- 	* haifa-sched.c (schedule_insns): Fix typo in freeing
- 	forward_dependency_cache.
- 
- 2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
- 	`TARGET_SH2' as a condition.
- 
- 2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
- 
- 	* haifa-sched.c (anti_dependency_cache, output_dependency_cache,
- 	forward_dependency_cache): New variables.
- 	(add_dependence, remove_dependence): Use anti_dependency_cache and
- 	output_dependency_cache.
- 	(compute_block_forward_dependences): Use forward_dependency_cache.
- 	(schedule_insns): Allocate and free memory for anti/output/forward
- 	dependencies caches.
- 
- 2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
- 	`! TARGET_SH1'.  Reindent.
- 
- 2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (is_valid_printf_arglist, expand_builtin_printf):
- 	Move functions from here ...
- 
- 	* c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
- 	... to here.
- 	(c_expand_builtin): New function.
- 	(init_function_format_info): Don't set `check_function_format_ptr'.
- 	(c_common_nodes_and_builtins): Set built_in_class type for
- 	printf/__builtin_printf to BUILT_IN_FRONTEND.
- 	(c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
- 
- 	* c-common.h (build_function_call): Declare.
- 
- 	* expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
- 	to `lang_expand_expr' rather than `expand_builtin'.
- 
- 	* tree.c (check_function_format_ptr): Delete.
- 
- 	* tree.h (check_function_format_ptr): Likewise.
- 
- 2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
- 	DW_OP_bregx when cfa->reg > 31.
- 
- 	* frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
- 	break.
- 
- 2000-10-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (warn_missing_noreturn): Remove.
- 	(c_expand_body): Don't set or check can_reach_end.
- 	* c-tree.h (warn_missing_noreturn): Move ...
- 	* flags.h: ... here.
- 	(can_reach_end): Remove.
- 	* flow.c (check_function_return_warnings): New.
- 	(make_edges): No edge to exit for noreturn sibcalls.
- 	* function.c (expand_function_end): Save the return value
- 	clobber instruction.
- 	(mark_function_status): Mark it.
- 	* function.h (struct function): Add x_clobber_return_insn.
- 	* jump.c (can_reach_end): Remove.
- 	(calculate_can_reach_end): Remove.
- 	(jump_optimize_1): Don't call it.
- 	* output.h (check_function_return_warnings): Declare.
- 	* toplev.c (warn_missing_noreturn): Move from c-decl.c
- 	(rest_of_compilation): Call check_function_return_warnings.
- 
- 2000-10-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (NM_FOR_TARGET): New.
- 	(libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
- 	(libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
- 	* mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
- 	shared library build on that and EXTRA_MULTILIB_PARTS.
- 	* mkmap-flat.awk: New file.
- 	* mkmap-symver.awk: New file.
- 	* libgcc-std.ver: New file.
- 	* config/libgcc-glibc.ver: New file.
- 	* config/ia64/libgcc-ia64.ver: New file.
- 	* config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
- 	(SHLIB_LINK): Add --version-script.
- 	* config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
- 	* config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
- 	* config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
- 	(SHLIB_LINK): Add -M.
- 
- 2000-10-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (LIB2FUNCS): Add _clz.
- 	* libgcc2.c (__ffsdi2): Use count_trailing_zeros.
- 	(__clz_tab): Put in its own unit, non-static.
- 	* libgcc2.h: Always include longlong.h.
- 
- 	* longlong.h [alpha] (count_leading_zeros): Use cmpbge with
- 	a zero instead of -1.
- 	(count_trailing_zeros): Likewise.
- 
- 2000-10-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
- 	when second op1 is const0_rtx.  Validate op0 as a register.
- 	* config/alpha/alpha.md (setcc_internal): Don't allow constants
- 	in the first argument of the compare.
- 	(setcc_swapped_internal): Likewise.
- 	(setne_internal): Likewise.
- 
- 2000-10-05  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* tree.c (tree_size): New function split out of copy_node.
- 	(make_node): Remove obstack handling.  Use tree_size.
- 	(copy_node): Use tree_size.
- 	* tree.h: Prototype tree_size.
- 
- 2000-10-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* diagnostic.c (output_format): Add missing break.
- 
- 2000-10-05  Jim Wilson  <wilson@cygnus.com>
- 
- 	* function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
- 	SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
- 	sequence insn to INSN, and delete last sequence insn.
- 
- 2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* gcc.c (main): Include generated configargs.h header
- 	and use arguments in '-v' output.
- 
- Thu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcc.c: Move data on prefixes forward in file and reorganize.
- 	(md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
- 	Always define, but make null if no value.
- 	(static_specs): Add "md_exec_prefix", "md_startfile_prefix",
- 	and "md_startfile_prefix_1".
- 	(main): Check whether md_exec_prefix and the others are the
- 	null string rather than whether the macro is defined.
- 
- Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
- 
- 	* (convert_move): Use zero_extendpsisi2 to do an unsigned extension
- 	from PSImode to SImode.
- 
- 2000-10-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
- 	from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
- 	* dwarf2out.c (add_const_value_attribute): Divide by 4, not
- 	sizeof(long).
- 
- Thu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
- 	negation in proper type.a
- 
- 2000-10-04  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (enable-shared): New.
- 	* Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
- 	(libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
- 	* mklibgcc.in: Use them to link shared a libgcc.
- 	* config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
- 	* config/alpha/t-ieee (SHLIB_MULTILIB): New.
- 	* config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
- 	* config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
- 
- 	* configure.in (alpha-osf*): Use t-osf and x-osf.
- 	* config/alpha/t-osf: New file.
- 	* config/alpha/t-osf4: New file.
- 	* config/alpha/x-osf: New file.
- 	* config/alpha/x-alpha: Remove file.
- 
- 2000-10-04  Will Cohen  <wcohen@redhat.com>
- 
- 	* c-typeck.c (process_init_element): Added warning for zero-length
- 	array.
- 
- 	* extend.texi (Zero Length): State that static initializers for
- 	zero-length arrays are not allowed.
- 
- Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (single_set_1): Do not require USE and CLOBBERs
- 	to come last.
- 
- 2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/float-c4x.h: New.
- 	* configure.in (c4x-*): Set float_format to c4x.
- 	* configure: Regenerate.
- 
- 2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
- 	compilation for solaris versions 2.7 and greater.
- 
- 2000-10-02  Marc Espie <espie@openbsd.org>
- 
- 	* config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
- 	instead of redefining from scratch.
- 
- 2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
- 
- 	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
- 
- 2000-10-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/ns32k/genix.h: Remove.
- 	* config/ns32k/x-genix: Likewise.
- 	* config/ns32k/xm-genix.h: Likewise.
- 	* config/fx80: Remove all filee in directory.
- 	* config/pyr: Likewise.
- 	* config/tahoe: Likewise.
- 	* config/gmicro: Likewise.
- 	* config/spur: Likewise.
- 	* configure.in: Remove configury bits for above targets.
- 	* configure: Regenerated.
- 
- 	* configure.in: Don't configure chill by default.
- 	* configure: Regenerated.
- 
- 	* c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
- 	(lang_mark_false_label_stack): Remove.
- 	* c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
- 	<top level> string in GC area.
- 	(mark_splay_tree_node): New function.
- 	(mark_splay_tree): Likewise.
- 	* except.c (mark_eh_status): Only call lang_mark_false_label_stack
- 	if it exists.
- 	* ggc-callbacks.c (lang_mark_false_label_stack): Remove.
- 	* ggc-common.c (lang_mark_false_label_stack): Change type.
- 	* ggc.h (ggc_alloc_string): Add comment.
- 	(ggc_strdup): New function.
- 
- Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.h (BRANCH_COST): Define as 0.
- 
- 	* config/pdp11/pdp11.c: #include "tree.h" added.
- 
- 2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
- 	ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
- 	with known shift count.
- 	* config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
- 	New alternative for shift count 2 with no scratch register.
- 	(ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
- 	"set_n" for shift counts 1 and 2.
- 
- 2000-09-30  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
- 	the mask value from the individual SET operations.
- 	(return_internal_si): Move the USE after the RETURN.
- 	(return_internal_di): Likewise.
- 	(return_and_restore_fpregs_si): Likewise.
- 	(return_and_restore_fpregs_di): Likewise.
- 	(return_eh_si): Likewise.
- 	(return_eh_di): Likewise.
- 	* config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
- 	or check, the USE.
- 	(rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
- 	Don't generate a PARALLEL around a single operation movsi_to_cr.
- 	Generate the RETURN first in any PARALLELs.
- 
- 	* rtlanal.c (single_set_1): Use fatal_insn to display the
- 	invalid insn.  Check for more cases when a USE or CLOBBER occurs
- 	before a SET.
- 	* Makefile.in: Update dependencies for rtlanal.o.
- 
- 2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* i386.c: Move include of "config.h" to before that of <setjmp.h>.
- 
- 2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
- 	Consistently use @email for formatting email addresses.
- 
- 2000-09-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (notreg_cost): New argument outer.
- 	(COST): Pass in SET to notreg_cost
- 	(COST_IN): New.
- 	(fold_rtx): Use COST_IN.  Prefer constants when costs
- 	are the same.
- 
- 2000-09-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* fixinc/inclhack.def (broken_cabs): Generalize regex.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* loop.c (check_final_value): A GIV is not replaceable if used
- 	before set.
- 
- Fri Sep 29 10:04:12 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* version.c: Bump to gcc-2.97.
- 
- Frs Sep 29 13:37:59 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (final_scan_insn): Remove extra extract_insn call;
- 	Use caching for constrain_operands.
- 	(cleanup_subreg_operands): Use caching for extract_insn.
- 	* recog.c (constrain_operands_cached): New.
- 	* recog.h (constrain_operands_cached): Declare.
- 	* i386.c (ix86_attr_length_immediate_default,
- 	ix86_attr_length_address_default, ix86_agi_dependant): Cache
- 	extract_insn call.
- 
- 	* recog.c (asm_noperands): Tweak.
- 	(extract_insn): Do not call asm_noperads for non-asm instructions.
- 
- Fri Sep 29 13:20:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (recog_memoized): Rename to recog_memoized_1.
- 	* recog.h (recog_memoized): Rename to recog_memoized_1.
- 	(recog_memoized): New macro.
- 	* rtl.h (single_set): Rename to single_set_1
- 	(single_set): New macro.
- 	* rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
- 	to be last.
- 
- 	* i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
- 	Do not use match_dup of input operands at outputs.
- 	Use register_operand for memory expression.
- 	(rep_movsi): Put use last, canonicalize.
- 	Use register_operand for memory expression.
- 	(rep_movqi): Put use last.
- 	Use register_operand for memory expression.
- 	(strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
- 	of input operands at outputs.  Use register_operand for memory
- 	expression.
- 	(rep_stossi): Put use last; canonicalize; fix match_dup in
- 	the address expression
- 	(rep_stosqi): Likewise.
- 	(memcmp expander): Update calls.
- 	(cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
- 	the clobbers.
- 
- 	* i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
- 	VOIDmode.
- 	(fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
- 
- 2000-09-28  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
- 	Contains the old contents of config/i386/freebsd.h
- 	* config/i386/freebsd.h: Now the ELF rather than a.out config file.
- 	Contains the old contents of config/i386/freebsd-elf.h
- 	* config/i386/freebsd-elf.h: Retire this file -- contents moved to
- 	config/i386/freebsd.h.
- 	* configure.in: Adjust for above changes.
- 	* po/POTFILES.in: Likewise.
- 	* po/en_GB.po: Likewise.
- 	* po/gcc.pot: Likewise.
- 	* configure: Rebuilt.
- 
- 2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* doloop.c (doloop_modify): Prevent delete_insn() from
- 	deleting too much.  Prefer loop->top over loop->start as
- 	target for the new JUMP insn.
- 	(doloop_valid_p): Ignore loop with exit_count != 0.
- 
- 2000-09-28  Philipp Thomas  <pthomas@suse.de>
- 
- 	* invoke.texi (i386 Options): Add athlon to table of possible
- 	choices for -mcpu=.
- 
- 2000-09-28  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (output_clear_message_text): New function.
- 	(output_message_text): New macro.
- 
- 	* diagnostic.c (clear_text_info): Rename to
- 	output_clear_message_text.
- 	(output_clear): Adjust.
- 	(output_finish): Rename to output_finalize_message.  Tweek.
- 	(output_to_stream): Adjust.
- 
- 2000-09-28  Neil Booth  <neilb@earthling.net>
- 
- 	* cpperror.c (_cpp_begin_message):  Do the test for suppression
- 	of warnings and pedantic warnings before the "is a warning an
- 	error" tests.
- 	* cppinit.c (cpp_handle_option): Remove surplus \n.
- 	* cpplex.c (ON_REST_ARG): Delete.
- 	(skip_block_comment): Initialize prevc.
- 	(parse_args): Improve error messages.
- 	(maybe_paste_with_next): Use CONTEXT_VARARGS rather
- 	than ON_REST_ARG.
- 	* cpplib.c (cpp_push_buffer): Fix grammar in message.
- 	* cppmain.c (main): Set callbacks for #ident and #pragma
- 	only if no_output option is false.
- 	(do_pragma_implementation): Only call the #pragma handler
- 	if it is set in the cpp_reader structure.
- 
- Wed Sep 27 14:00:07 2000  Donald Lindsay  <dlindsay@cygnus.com>
- 
- 	* integrate.c (copy_insn_list): if an ignored return value
- 	is being clobbered, skip cloning that into the inline copy.
- 
- 2000-09-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi, invoke.texi, gcc.texi, install.texi: Consistently
- 	use @uref for formatting URLs.
- 
- 2000-09-27  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* config/i386/djgpp.h (UNIQUE_SECTION): Constify the variables
- 	name and prefix.
- 
- Tue 26-Sep-2000 18:25:38 BST  Neil Booth  <neilb@earthling.net>
- 
- 	* gcc.c (cpp_options): Add spec for -ftabstop=.
- 	(invoke_as): New spec that handles invoking as.
- 	Update specs to handle -save-temps and -traditional.
- 	* ch/lang-specs.h, f/lang-specs.h, java/lang-specs.h:
- 	Use invoke_as.
- 	* cp/lang-specs.h, objc/lang-specs.h: Update to use
- 	invoke_as, and handle -save-temps and -traditional (if
- 	appropriate).
- 
- 2000-09-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const64): Don't abort when
- 	op0 is a SUBREG.
- 	(function_arg_slotno): Accept TImode/CTImode.
- 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): If IN_LIBGCC2 define
- 	to UNITS_PER_WORD.
- 
- 2000-09-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* flow.c (flow_loop_pre_header_scan): Punt if loop enters
- 	from entry block.
- 
- 2000-09-25  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (INDEX_REG_CLASS): Define to GENERAL_REGS.
- 	(REGNO_OK_FOR_INDEX_P): Define to REGNO_OK_FOR_BASE_P.
- 	(LEGITIMATE_ADDRESS_DISP): Use LEGITIMATE_ADDRESS_REG.
- 	(REG_OK_FOR_INDEX): Define to REG_OK_FOR_BASE_P.
- 
- Tue 26-Sep-2000 00:16:22 BST  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (parse_args): Don't set VOID_REST flag.
- 	(CONTEXT_VARARGS): New flag.
- 	(maybe_paste_with_next): Set context earlier in loop.  Use
- 	it.  Do varargs test with CONTEXT_VARARGS flag.
- 	(push_arg_context): Set CONTEXT_VARARGS flag if we're
- 	pushing an argument context for a varargs argument.
- 	* cpplib.h (VOID_REST): Delete.
- 	* gcc.dg/cpp/vararg1.c: Add test case.
- 
- 2000-09-25  Branko Cibej  <branko.cibej@hermes.si>
- 
- 	* flags.h:  Declare warning flag warn_system_headers.
- 	* toplev.c:  Define it.
- 	(W_options): Add option -Wsystem-headers.
- 	* diagnostic.c (count_error): Test warn_system_headers.
- 	* invoke.texi:  Add description for -Wsystem-headers.
- 	* cpplib.h (cpp_options): New member warn_system_headers.
- 	* cpphash.h (CPP_PEDANTIC, CPP_WTRADITIONAL): Don't test
- 	CPP_IN_SYSTEM_HEADER.
- 	* cpplib.c (do_import, do_pragma_once): Likewise.
- 	* cpperror.c (_cpp_begin_message): Test warn_system_headers
- 	and CPP_IN_SYSTEM_HEADER.
- 	* cppinit.c (handle_option): Recognize -Wsystem_headers.
- 	(print_help): Describe -Wsystem_headers.
- 	* cpplex.c (lex_line): Reorganize condition so that warnings
- 	about C++ comments in system headers can be enabled. Remove
- 	label do_line_comment.
- 
- Mon 25-Sep-2000 23:38:27 BST  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplex.c (save_comment): Only store the initial '/'
- 	now.
- 	(lex_token): Combine handling of the two comment types.
- 	Pass everything but the initial '/' to save_comment.
- 
- Mon 25-Sep-2000 23:31:45 BST  Neil Booth  <neilb@earthling.net>
- 
- 	* cpphash.h (_cpp_digraph_spellings, _cpp_process_directive,
- 	_cpp_can_paste): New library-internal prototypes.
- 	* cpplex.c (dump_param_spelling, output_line_command,
- 	output_token, cpp_scan_buffer, cpp_scan_buffer_nooutput,
- 	cpp_printf, cpp_output_list): Move to cppoutput.c.
- 	(process_directive, can_paste, digraph_spellings): Add _cpp_ prefix.
- 	* cppmacro.c (dump_macro_args, cpp_dump_definition) Move to
- 	cppoutput.c.
- 	* cppoutput.c (dump_macro_args, cpp_dump_definition, output_token,
- 	dump_param_spelling, output_line_command, cpp_scan_buffer,
- 	cpp_scan_buffer_nooutput, cpp_printf, cpp_output_list): Moved
- 	from elsewhere.
- 	* Makefile.in: Add cppoutput.c.
- 	* po/POTFILES.in: Add cppoutput.c.
- 
- 2000-09-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_print_operand): Define 'e' as 64-n.
- 	* config/ia64/ia64.md (rotrsi3): Allow variable rotates; don't
- 	split until after reload.
- 	(rotlsi3, rotldi3): New.
- 
- 2000-09-25  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (output_last_position): Define.
- 	(set_real_maximum_length): Tweek.
- 	* diagnostic.h (output_last_position): Declare.
- 
- 2000-09-25  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/i386/i386.c: Fix formatting.
- 
- 2000-09-24  Alan Lehotsky  <alehotsky@cygnus.com>
- 
- 	* emit-rtl-c (gen_lowpart_common): Accept non-paradoxical SUBREG when
- 	UNITS_PER_WORD is small.
- 
- 2000-09-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (format_char_info): Add flags2; update comments.
- 	(print_char_table, scan_char_table, time_char_table): Split some
- 	flags out into flags2.
- 	(check_format_info): Use flags2 for those flags, for identifying
- 	the initial character of a scanf scanset, and for identifying
- 	printf formats where the '0' flag is ignored with precision.
- 
- 2000-09-25  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	Changes below marked "here" add TABs on either or both sides,
- 	covering start of line, up to any operand for all noted .*ASM.*_OP
- 	definitions.  All callers changed.
- 	* tm.texi: Make documented *_ASM.*_OP:s include spacing
- 	(TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, SHARED_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP, SHARED_BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
- 	ASM_BYTE_OP, FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
- 	ASM_STABS_OP, ASM_STABD_OP, ASM_STABN_OP).
- 	Fix typos in description for LONG_LONG_TYPE_SIZE and
- 	FINI_SECTION_ASM_OP.
- 	* crtstuff.c (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Explain
- 	why these defaults don't have leading spacing.
- 	* dbxout.c (ASM_STABS_OP, ASM_STABN_OP): Here.
- 	* dwarf2out.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP, SECTION_ASM_OP, ASM_BYTE_OP): Here.
- 	* dwarfout.c (FILE_ASM_OP, VERSION_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, ASM_BYTE_OP,
- 	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Here.
- 	* defaults.h (ASM_STABD_OP, EH_FRAME_SECTION_ASM_OP): Here.
- 	* varasm.c (ASM_STABS_OP): Here.
- 	* xcoffout.h (ASM_STABS_OP): Here.
- 	* config/elfos.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
- 	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
- 	INT_ASM_OP, ASCII_DATA_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP,
- 	STRING_ASM_OP): Here.
- 	* config/freebsd.h (IDENT_ASM_OP): Here.
- 	* config/linux-aout.h (SET_ASM_OP): Here.
- 	* config/linux.h (SET_ASM_OP): Here.
- 	* config/lynx.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	INT_ASM_OP): Here.
- 	* config/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
- 	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP, ALIGN_ASM_OP): Here.
- 	* config/openbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP): Here.
- 	* config/psos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	INT_ASM_OP): Here.
- 	* config/ptx4.h (IDENT_ASM_OP, ASM_BYTE_OP, SET_ASM_OP,
- 	SKIP_ASM_OP, ALIGN_ASM_OP, COMMON_ASM_OP, LOCAL_ASM_OP,
- 	INT_ASM_OP, ASCII_DATA_ASM_OP, CONST_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP STRING_ASM_OP): Here.
- 	* config/svr3.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	CONST_SECTION_ASM_OP, ASM_BYTE_OP): Here.
- 	* config/a29k/udi.h (INT_ASM_OP): Here.
- 	* config/alpha/alpha-interix.h (CONST_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
- 	SET_ASM_OP): Here.
- 	* config/alpha/alpha.h (TEXT_SECTION_ASM_OP,
- 	READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_STABS_OP, ASM_STABN_OP,
- 	ASM_STABD_OP): Here.
- 	* config/alpha/elf.h (IDENT_ASM_OP, SKIP_ASM_OP, ALIGN_ASM_OP,
- 	COMMON_ASM_OP, INT_ASM_OP, ASCII_DATA_ASM_OP,
- 	CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP,
- 	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, TYPE_ASM_OP,
- 	SIZE_ASM_OP, STRING_ASM_OP): Here.
- 	* config/alpha/vms.h (LINK_SECTION_ASM_OP,
- 	READONLY_SECTION_ASM_OP, LITERALS_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, COMMON_ASM_OP): Here.
- 	* config/arc/arc.h (ASM_BYTE_OP, SET_ASM_OP): Here.
- 	(PUSHSECTION_ASM_OP): Define this, not PUSHSECTION_FORMAT.
- 	* config/arm/aof.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP):
- 	Here.
- 	* config/arm/aout.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP, SET_ASM_OP): Here.
- 	* config/arm/coff.h (INT_ASM_OP): Here.
- 	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Here.
- 	* config/arm/elf.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP): Here.
- 	* config/arm/linux-elf.h (IDENT_ASM_OP, CONST_SECTION_ASM_OP,
- 	INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Here.
- 	* config/arm/unknown-elf.h (UNALIGNED_WORD_ASM_OP): Here.
- 	* config/avr/avr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	ASM_BYTE_OP, TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP,
- 	STRING_ASM_OP): Here.  Update documentation copy in comments.
- 	* config/c4x/c4x.h (ASM_STABS_OP, BSS_SECTION_ASM_OP): Here.
- 	* config/clipper/clipper.h (TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP): Here.
- 	* config/clipper/clix.h (BSS_SECTION_ASM_OP, INIT_SECTION_ASM_OP):
- 	Here.
- 	* config/convex/convex.h (TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
- 	* config/d30v/d30v.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/fr30/fr30.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/fx80/fx80.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/gmicro/gmicro.h (TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP): Here.
- 	* config/h8300/h8300.h (ASM_WORD_OP): Here.
- 	* config/i370/i370.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/i386/aix386.h (INIT_SECTION_ASM_OP): Here.
- 	* config/i386/bsd.h (ASM_BYTE_OP): Here.
- 	* config/i386/cygwin.h (SET_ASM_OP, INT_ASM_OP): Here.
- 	* config/i386/dgux.h (CONST_SECTION_ASM_OP): Here.
- 	* config/i386/djgpp.h (IDENT_ASM_OP, INT_ASM_OP, SET_ASM_OP):
- 	Here.
- 	* config/i386/freebsd-elf.h (SET_ASM_OP): Here.
- 	* config/i386/freebsd.h (TYPE_ASM_OP, SIZE_ASM_OP, INT_ASM_OP):
- 	Here.
- 	* config/i386/i386-coff.h (CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
- 	* config/i386/i386-interix.h (STRING_ASM_OP, CONST_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP,
- 	SET_ASM_OP): Here.
- 	* config/i386/i386elf.h (BSS_SECTION_ASM_OP): Here.
- 	* config/i386/netbsd.h (INT_ASM_OP): Here.
- 	* config/i386/openbsd.h (INT_ASM_OP): Here.
- 	* config/i386/osfrose.h (TYPE_ASM_OP, SIZE_ASM_OP, SET_ASM_OP,
- 	IDENT_ASM_OP): Here.
- 	* config/i386/sco5.h (ALIGN_ASM_OP, ASCII_DATA_ASM_OP,
- 	ASM_BYTE_OP, IDENT_ASM_OP, COMMON_ASM_OP, SET_ASM_OP,
- 	LOCAL_ASM_OP, INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, STRING_ASM_OP,
- 	SKIP_ASM_OP, GLOBAL_ASM_OP): Here.
- 	* config/i386/seq-sysv3.h (SHARED_SECTION_ASM_OP,
- 	SHARED_BSS_SECTION_ASM_OP): Here.
- 	* config/i386/sequent.h (SHARED_SECTION_ASM_OP): Here.
- 	* config/i386/sun386.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP): Here.
- 	* config/i386/svr3gas.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	CONST_SECTION_ASM_OP): Here.
- 	* config/i386/sysv3.h (INIT_SECTION_ASM_OP): Here.
- 	* config/i386/unix.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/i860/bsd-gas.h (ASCII_DATA_ASM_OP): Here.
- 	* config/i860/bsd.h (ASCII_DATA_ASM_OP): Here.
- 	* config/i860/fx2800.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP,
- 	BSS_ASM_OP): Here, but use trailing spaces.
- 	* config/i860/i860.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP): Here.
- 	* config/i860/paragon.h (ASCII_DATA_ASM_OP, BSS_SECTION_ASM_OP):
- 	Here.
- 	* config/i860/sysv3.h (ASCII_DATA_ASM_OP, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, TDESC_SECTION_ASM_OP): Here.
- 	* config/i860/sysv4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	TDESC_SECTION_ASM_OP): Here.
- 	* config/i960/i960-coff.h (CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
- 	* config/i960/i960.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/ia64/ia64.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
- 	* config/ia64/sysv4.h (ASM_BYTE_OP, STRING_ASM_OP, SKIP_ASM_OP,
- 	COMMON_ASM_OP, ASCII_DATA_ASM_OP, INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Here.
- 	* config/m32r/m32r.h (SCOMMON_ASM_OP): Here.
- 	* config/m68hc11/m68hc11.h (GLOBAL_ASM_OP): Here.
- 	* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
- 	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
- 	SET_ASM_OP): Here.
- 	* config/m68k/coff.h (BSS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
- 	* config/m68k/crds.h (BSS_SECTION_ASM_OP): Here.
- 	* config/m68k/dpx2.h (ASM_BYTE_OP, GLOBAL_ASM_OP): Here.
- 	* config/m68k/hp320.h (ASCII_DATA_ASM_OP, GLOBAL_ASM_OP): Here.
- 	* config/m68k/linux.h (BSS_SECTION_ASM_OP): Here.
- 	* config/m68k/lynx.h (BSS_SECTION_ASM_OP): Here.
- 	* config/m68k/m68k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	GLOBAL_ASM_OP): Here.
- 	* config/m68k/m68kelf.h (SWBEG_ASM_OP, BSS_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/m68k/m68kv4.h (BSS_ASM_OP): Here.
- 	* config/m68k/mot3300.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	ASCII_DATA_ASM_OP, SET_ASM_OP, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, GLOBAL_ASM_OP, ASM_BYTE_OP, ALIGN_ASM_OP,
- 	SKIP_ASM_OP): Here.
- 	* config/m68k/newsgas.h (SET_ASM_OP): Here.
- 	* config/m68k/rtemself.h (INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
- 	* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP,
- 	SPACE_ASM_OP, ALIGN_ASM_OP, GLOBAL_ASM_OP, SWBEG_ASM_OP,
- 	SET_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here,
- 	but use trailing spaces.
- 	* config/m68k/tower-as.h (TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, GLOBAL_ASM_OP, INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, CONST_SECTION_ASM_OP, BSS_SECTION_ASM_OP):
- 	Here.
- 	* config/m88k/dgux.h (FINI_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
- 	* config/m88k/m88k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	CONST_SECTION_ASM_OP, TDESC_SECTION_ASM_OP, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	IDENT_ASM_OP, FILE_ASM_OP, SECTION_ASM_OP, SET_ASM_OP,
- 	GLOBAL_ASM_OP, ALIGN_ASM_OP, SKIP_ASM_OP, COMMON_ASM_OP,
- 	BSS_ASM_OP, FLOAT_ASM_OP, DOUBLE_ASM_OP, INT_ASM_OP, SHORT_ASM_OP,
- 	CHAR_ASM_OP, ASCII_DATA_ASM_OP, SBSS_ASM_OP, SCOMM_ASM_OP,
- 	SDATA_SECTION_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP, INTERNAL_ASM_OP,
- 	VERSION_ASM_OP, UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	PUSHSECTION_ASM_OP, POPSECTION_ASM_OP, REQUIRES_88110_ASM_OP,
- 	ASM_BYTE_OP): Here.
- 	* config/m88k/openbsd.h (SET_ASM_OP): Here.
- 	* config/m88k/sysv4.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Here.
- 	* config/mcore/mcore-elf.h (UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP): Here.
- 	* config/mcore/mcore-pe.h (CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
- 	* config/mips/elf.h (TYPE_ASM_OP, SIZE_ASM_OP,
- 	BSS_SECTION_ASM_OP): Here.
- 	* config/mips/elf64.h (TYPE_ASM_OP, SIZE_ASM_OP): Here.
- 	* config/mips/iris5.h (ABICALLS_ASM_OP): Here.
- 	* config/mips/iris6.h (TYPE_ASM_OP, SIZE_ASM_OP,
- 	POPSECTION_ASM_OP, BSS_SECTION_ASM_OP, CONST_SECTION_ASM_OP_32,
- 	CONST_SECTION_ASM_OP_64, CTORS_SECTION_ASM_OP,
- 	DTORS_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP): Here.
- 	* config/mips/mips.c (ABICALLS_ASM_OP): Here.
- 	* config/mips/mips.h (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP):
- 	Here.
- 	* config/mips/netbsd.h (TYPE_ASM_OP, SIZE_ASM_OP, WEAK_ASM_OP):
- 	Here.
- 	* config/mips/osfrose.h (SET_ASM_OP): Here.
- 	* config/mips/sni-svr4.h (ABICALLS_ASM_OP): Here.
- 	* config/ns32k/encore.h (SHARED_SECTION_ASM_OP): Here.
- 	* config/ns32k/merlin.h (SHARED_SECTION_ASM_OP): Here.
- 	* config/ns32k/ns32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/ns32k/sequent.h (SHARED_SECTION_ASM_OP): Here.
- 	* config/ns32k/tek6000.h (SHARED_SECTION_ASM_OP): Here.
- 	* config/pa/pa-64.h (INT_ASM_OP, TYPE_ASM_OP, SIZE_ASM_OP): Here.
- 	* config/pa/pa.h (ASM_STABS_OP, ASM_STABN_OP): Here.
- 	* config/pj/pj.h (SET_ASM_OP, BSS_SECTION_ASM_OP): Here.
- 	* config/pyr/pyr.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/romp/romp.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/rs6000/rs6000.h (SET_ASM_OP): Here.
- 	* config/rs6000/sol2.h (ASM_STABN_OP): Here.
- 	* config/rs6000/sysv4.h (SKIP_ASM_OP, LOCAL_ASM_OP, LCOMM_ASM_OP):
- 	Here.
- 	* config/sh/sh.h (SET_ASM_OP, BSS_SECTION_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Here.
- 	* config/sparc/linux.h (COMMON_ASM_OP): Here.
- 	* config/sparc/linux64.h (COMMON_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Here.
- 	* config/sparc/litecoff.h (BSS_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INT_ASM_OP): Here.
- 	* config/sparc/lynx.h (BSS_SECTION_ASM_OP): Here.
- 	* config/sparc/pbd.h (ASM_INT_OP): Here.
- 	* config/sparc/sp64-elf.h (UNALIGNED_LONGLONG_ASM_OP): Here.
- 	* config/sparc/sparc.h (ASM_BYTE_OP, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, IDENT_ASM_OP): Here.
- 	* config/sparc/sun4gas.h (UNALIGNED_DOUBLE_INT_ASM_OP,
- 	UNALIGNED_INT_ASM_OP, UNALIGNED_SHORT_ASM_OP): Here.
- 	* config/sparc/sysv4.h (STRING_ASM_OP, COMMON_ASM_OP, SKIP_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP,
- 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
- 	CONST_SECTION_ASM_OP, INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
- 	EH_FRAME_SECTION_ASM_OP): Here.
- 	* config/sparc/vxsim.h (COMMON_ASM_OP): Here.
- 	* config/spur/spur.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/tahoe/tahoe.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/v850/v850.h (SCOMMON_ASM_OP, ZCOMMON_ASM_OP,
- 	TCOMMON_ASM_OP): Here.
- 	* config/vax/vax.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP):
- 	Here.
- 	* config/we32k/we32k.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	ASM_BYTE_OP): Here.
- 
- 2000-09-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* expmed.c (store_bit_field): Adjust last change to not consider
- 	any word-sized field naturally aligned.
- 
- 2000-09-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Handle
- 	TFmode unordered compares properly.  Revalidate integer compare
- 	operands.
- 	(alpha_emit_setcc): New.
- 	(alpha_emit_conditional_move): Revalidate integer compare operands.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.md (cmpdi): Allow general operands.
- 	(sne): Use alpha_emit_setcc.
- 	(seq, slt, sle, sgt, sge, sltu, sleu, sgtu, sgeu): Likewise.
- 	(sunordered, sordered): New.
- 
- 2000-09-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.c (call_multiple_values_operation): Remove.
- 	(ia64_expand_call): New.
- 	(ia64_expand_prologue): Emit an alloc if we need extra input
- 	registers.
- 	(ia64_expand_epilogue): New arg sibcall_p; don't emit the return
- 	instruction if true.
- 	(struct reg_flags): Add is_sibcall.
- 	(rtx_needs_barrier): A sibcall does not use CFM et al.  Ignore USEs.
- 	(emit_insn_group_barriers): Set flags.is_sibcall.  Remove hacks
- 	for CODE_FOR_gr_spill_internal/CODE_FOR_gr_restore_internal.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md (call): Use ia64_expand_call.
- 	(call_value): Likewise.
- 	(sibcall, sibcall_value): New.
- 	(call patterns): Remove extra expanders; tidy.
- 	(sibcall_epilogue): New.
- 	(set_bsp): Remove the extra USE.  Put the operand inside the UNSPEC.
- 
- 2000-09-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Use trunc_int_for_mode.
- 
- 	* sibcall.c (skip_pic_restore): New.
- 	(identify_call_return_value): Use it.
- 
- 2000-09-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-tree.texi: Moved here from cp/ir.texi.  Documented nested
- 	functions.  Generalize to handle both C and C++.
- 	* Makefile.in (c-tree.info): New target.
- 	(info): Add c-tree.info.
- 
- Sun Sep 24 09:15:48 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_field): If BITSIZE is negative, use size of type.
- 	(expand_expr, case COMPONENT_EXPR): Likewise.
- 
- Sun 24-Sep-2000 11:40:23 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c: Update TODO comment.
- 	* cpplib.c (do_error, do_warning): Merge common code of
- 	do_error and do_warning	into do_diagnostic.  Use it.
- 	(do_diagnostic): New function.
- 	* cpplib.h: Fix comment typo.
- 
- 2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info): Warn for a wide character string
- 	used as a non-wide format argument.
- 
- 2000-09-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* builtins.def (BUILT_IN_LLABS): Add.
- 	* builtins.c (expand_builtin): Also abort on BUILT_IN_LLABS.
- 	* c-common.c (c_common_nodes_builtins): Create builtin functions
- 	__builtin_llabs, and plain llabs unless no_nonansi_builtins
- 	outside of C99 mode.
- 	(expand_tree_builtin): Handle BUILT_IN_LLABS.
- 
- Sat 23-Sep-2000 22:39:18 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h (CPP_RESERVE, CPP_PUTS_Q, CPP_PUTS, CPP_PUTC_Q,
- 	CPP_PUTC, DUMMY_TOKEN, NO_DUMMY_TOKEN): Delete.
- 	* cpplex.c (_cpp_expand_token_space, _cpp_init_toklist,
- 	_cpp_free_toklist): No need to worry about extra dummy token
- 	at the start of token lists any more.
- 	(trigraph_ok): Only warn outside comments.
- 	(skip_block_comment): Set and clear lexing_comment.
- 	(skip_line_comment): Take a cpp_reader not cpp_buffer.
- 	Set and clear lexing_comment.
- 	(parse_number): Handle leading '.' indicated by pfile->seen_dot.
- 	(check_long_token): Delete.
- 	(lex_percent, lex_dot): New subroutines of lex_token to
- 	handle lexing of '.' and '%' without lookback.
- 	(lex_token): Use lex_dot and lex_percent.
- 	(lex_line): Don't check for LIST_OFFSET.
- 	(_cpp_init_input_buffer): Update for new _cpp_init_toklist.
- 	* cpplib.c (_cpp_parse_assertion): Similarly.
- 	(cpp_push_buffer): Initialize extra_char.
- 	* cpplib.h (LIST_OFFSET): Delete.
- 	(struct cpp_buffer): New member extra_char.
- 	(struct lexer_state): New members lexing_comment and seen_dot.
- 
- 2000-09-23  Jason Merrill  <jason@redhat.com>
- 
- 	* config/rs6000/x-aix41 (CLIB): Define here.
- 	* config/rs6000/t-aix43: Not here.
- 	* config/rs6000/t-aix41: Or here.  Remove.
- 	* configure.in: Don't use it.
- 
- 2000-09-22  Jason Merrill  <jason@redhat.com>
- 
- 	* configure.in: Add test for HAVE_LD_DWARF_LINKONCE.
- 	* toplev.c: Use it to initialize flag_eliminate_dwarf2dups.
- 	* config.in: Regenerate.
- 
- 	* configure.in: Fix checks for assembler features when using a
- 	one-tree assembler that has not yet been built.
- 	Fix --disable-threads.
- 
- 2000-09-19  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Allow # in constraints.
- 
- 2000-09-22  Jason Merrill  <jason@redhat.com>
- 
- 	* c-lex.c (skip_white_space): Just treat CRs as horizontal whitespace.
- 
- 	* dbxout.c (dbxout_symbol_name): Just use DECL_NAME for
- 	function-local names.
- 
- 2000-09-22  Brad Lucier <lucier@math.purdue.edu>
- 	    Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.c (warn_disabled_optimization): Declare new warning flag.
- 	* flags.h (warn_disabled_optimization): Add it here.
- 	* gcse.c (gcse_main): Add warning when disabled.
- 	* invoke.texi: Document -Wdisabled-optimization.
- 
- 2000-09-21  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (add_const_value_attribute): Multiply by length, not 4.
- 
- 	* dwarf2out.c (tree_add_const_value_attribute): New fn.
- 	(gen_variable_die): Call it for non-definitions.
- 
- 	* dwarf2out.c (die_struct): Add die_mark field.
- 	(mark_dies, unmark_dies): New fns.
- 	(clear_die_sizes): Remove.
- 	(print_die): Check die_symbol rather than die_offset.
- 	(build_abbrev_table, output_pubnames, output_aranges): Check
- 	die_mark rather than die_offset.
- 	(output_comp_unit): Move calc_die_sizes after build_abbrev_table.
- 	Call mark_dies.
- 
- Thu 21-Sep-2000 18:19:05 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppfiles.c (lookup_include_file): Rename to open_file.
- 	Always create a splay tree value, even on syscall failures.
- 	Negative entries indicated by fd == -2.
- 	Re-open files closed in the meantime.
- 	(_cpp_fake_include): Create a negative splay tree entry.
- 	(find_include_file, cpp_read_file): Update for function name
- 	change.
- 	* gcc.gd/cpp/mi4.c: Testcase.
- 
- 2000-09-21  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/t-arm-elf (MULTILIB_DIRNAMES): Enable multilibs for
- 	ARM and THUMB modes.
- 
- 	* config/mcore/mcore.c: Fix compile time warnings.
- 	* config/mcore/mcore-protos.h: Fix compile time warnings.
- 
- 2000-09-20  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* configure.in: Correct test of gcc_cv_glibc.
- 	* configure: Rebuilt.
- 	* config.in: Rebuilt.
- 
- 2000-09-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_fputs): Also expand when length!=1.
- 	(expand_builtin): Handle BUILT_IN_FWRITE.
- 
- 	* builtins.def (BUILT_IN_FWRITE): New entry.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Declare __builtin_fwrite.
- 
- Wed Sep 20 15:39:14 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcc.c (modify_target): New variable and struct.
- 	(process_command): Handle MODIFY_TARGET_NAME.
- 	* tm.texi (MODIFY_TARGET_NAME): Add documentation for new macro.
- 	* config/pa/pa.h (MODIFY_TARGET_NAME): New macro.
- 
- 	* c-decl.c (finish_decl): Add else's to avoid referencing
- 	TYPE_DOMAIN of an ERROR_MARK.
- 
- Wed Sep 20 21:44:31 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (adjust_insn_length): Adjust lengths of
- 	`reload_in*' insns.
- 
- 2000-09-19  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.md (neghi2): Add alternative for input and output
- 	operands in different registers, as in negsi2.
- 	(*negsi2): Remove '*' from the name.  Use "movw" if available.
- 
- 2000-09-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/crtbegin.asm (__dso_handle): Delete use of
- 	HAVE_GAS_HIDDEN macro.
- 
- Tue 19-Sep-2000 22:38:57 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (lex_line): Drop the EOF token for unknown
- 	directives in assembler.
- 
- 2000-09-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* configure.in: Allow enable_threads_flag value of "aix".  Define
- 	thread_file as "aix" for AIX 4.3 and above.
- 	* configure: Regenerated.
- 
- 	* gthr-aix.h: New file.
- 
- 	* rs6000/t-aix43: Replace soft-float multilib with pthread.
- 	Remove 403 processor multilib match.  Fix rios2 processor multilib
- 	match.
- 
- 	* rs6000/aix.h (ASM_DECLARE_FUNCTION_NAME): Use function_section
- 	to return to appropriate csect.
- 
- 2000-09-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (is_valid_printf_arglist, expand_builtin_printf): New
- 	functions.
- 	(expand_builtin_fputs): Set `target' parameter for `expand_expr'.
- 	(expand_builtin): Handle BUILT_IN_PUTCHAR, BUILT_IN_PUTS and
- 	BUILT_IN_PRINTF.
- 
- 	* builtins.def (BUILT_IN_PUTCHAR, BUILT_IN_PUTS, BUILT_IN_PRINTF):
- 	New entries.
- 
- 	* c-common.c (init_function_format_info): Handle __builtin_printf.
- 	Set `check_function_format_ptr'.
- 	(c_common_nodes_and_builtins): Set `puts_ftype' and
- 	`printf_ftype'.  Declare __builtin_putchar, __builtin_puts,
- 	__builtin_printf and printf.
- 
- 	* tree.c, tree.h (check_function_format_ptr): Declare.
- 
- Tue 19-Sep-2000 18:26:57 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppfiles.c (read_include_file): Take no special action for
- 	zero-length files.
- 
- 2000-09-19  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* final.c (insn_current_reference_address): Use INSN_SHUID of seq
- 	rather than that of branch.
- 	(shorten_branches): Don't increment insn_current_address twice.
- 
- 	Undo most of the Wed Jan 27 23:39:53 1999 patch:
- 	* loop.h (struct induction): Delete members derived, ix and last_use.
- 	(struct loop_ivs): Delete members first_increment_giv and
- 	last_increment_giv.
- 	* loop.c (verify_dominator, find_life_end, cmp_recombine_givs_stats,
- 	recombine_givs): Delete functions.
- 	(find_and_verify_loops): Don't initialize cont_dominator.
- 	(strength_reduce): Lose code to try to find bivs that can be
- 	expressed as givs of another biv, and to convert biv increments
- 	into givs.
- 	Lose loop_scan_start variable, always use loop->scan_start.
- 	Don't call recombine_givs.  Don't handle derived givs.
- 	(record_giv): Don't initialize derived and last_use fields.
- 	(biv_eliminiation_giv_has_0_offset): Lose code to handle derived
- 	givs.
- 	* unroll.c (derived_regs): Delete static variable.
- 	(unroll_loop): Don't initialize it.
- 	(copy_loop_body): Lose code to handle derived givs.
- 	(find_splittable_givs): Don't check for givs made from biv
- 	increments.
- 	Don't set derived_regs.
- 
- 	Fix misapplied earlier patch:
- 	* config/sh/sh.md (floatsisf_ie): Reenable.  Remove explicit reference
- 	to fpul.
- 	(floatsisf2): Generate floatsisf_ie by default.
- 	(floatsisf_i4): Conditional on TARGET_SH4.
- 
- 	(floatsisf2, floatsidf2, extendsfdf2): Also use reg_no_subreg_operand
- 	predicate for the expanders.
- 
- 2000-09-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/i386.h (CPP_CPU_SPEC): Define i586 and i686 symbols
- 	in addition to pentium and pentiumpro symbols.
- 	(CPP_CPU_DEFAULT_SPEC): Likewise.
- 
- 	* c-typeck.c (c_expand_asm_operands): Restore the output tree
- 	after expanding.
- 
- 	* stmt.c (expand_expr_stmt): Only call warn_if_unused_value
- 	if the tree has side effects.
- 	(warn_if_unused_value): Do not warn about void constructs.
- 
- 	* c-decl.c (poplevel): Invoke warn_about_unused_variables.
- 
- 	* unroll.c (copy_loop_body): Update LABEL_NUSES before
- 	calling invert_jump.
- 
- 2000-09-18  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* combine.c (can_combine_p): Don't substitute an ASM_OPERANDS
- 	into anything.
- 
- 2000-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-common.o): Depend on diagnostic.h.
- 
- 	* c-common.c: Include diagnostic.h.
- 	(tfaff): Delete.
- 	(status_warning): New function.
- 	(check_format_info, maybe_read_dollar_number, check_format_types,
- 	finish_dollar_format_checking, check_function_format): Accept a
- 	`status' parameter.  All callers changed.
- 
- 	* c-common.h (check_function_format): Accept a `status' parameter.
- 
- 	* c-typeck.c: Update call to `check_function_format'.
- 
- 2000-09-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-decl.c (c_expand_body): Call mark_varargs before
- 	expand_function_start.
- 
- 2000-09-18  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/eabi-cn.asm: Use /**/ to delimit comments, not #.
- 	* config/rs6000/eabi-ci.asm: Likewise.
- 
- 2000-09-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (init_emit_once): Initialize const_tiny_rtx
- 	for BImode.
- 
- 2000-09-18  Jim Wilson  <wilson@cygnus.com>
- 
- 	* unroll.c (loop_iterations): Pass increment to extend_for_giv_value
- 	before passing it to fold_rtx_mult_add.
- 
- 	* unroll.c (final_giv_value): Pass increment through
- 	extend_value_for_giv before passing it to emit_iv_add_mult.
- 
- 	* function.c (fixup_var_refs_1, case ZERO_EXTRACT): If we have a
- 	paradoxical subreg, then directly substitute the replacement and
- 	return.
- 
- Mon 18-Sep-2000 22:12:44 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpp.texi: Update documentation, including some clarifications,
- 	the treatment of various newline combinations, and space between
- 	backslash and newline.
- 
- Mon Sep 18 21:00:47 2000  J"orn Rennecke <amylaar@redhat.co.uk>
- 
- 	* sdbout.c (PUT_SDB_DEF, PUT_SDB_TAG, PUT_SDB_EPILOGUE_END):
- 	Replace ASM_OUTPUT_LABELREF with assemble_name.
- 
- Mon Sep 18 20:26:50 2000  J"orn Rennecke <amylaar@redhat.co.uk>
- 
- 	* sh.c (addsubcosts): CONST is not cheap.
- 	(find_barrier): For Sh1, take alignment after jumps into account.
- 
- 2000-09-15  Andrew Haley  <aph@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Call purge_hard_subreg_sets to
- 	remove all SETs of SUBREGs of hard registers.
- 	* function.c (purge_hard_subreg_sets): New function.
- 	(purge_single_hard_subreg_set): New function.
- 	* rtl.h: (purge_hard_subreg_sets): New function.
- 
- 2000-09-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.c (signed_inequality_operator): New.
- 	(ia64_expand_compare): New.
- 	(ia64_register_move_cost): Handle PR_REGS moves.
- 	(ia64_secondary_reload_class): Require a GR when moving to a PR.
- 	(struct reg_write_state): Add written_by_and/or.
- 	(struct reg_flags): Add is_and/or.
- 	(rws_update): Set them.
- 	(rws_access_regno): Test them to allow parallel comparisons.
- 	(rtx_needs_barrier): Recognize parallel comparisons.
- 	(emit_insn_group_barriers): Set prev_insn after a call stop bit.
- 	Call recog_memoized; ignore pred_rel_mutex.
- 	(emit_predicate_relation_info): Don't call find_basic_blocks here.
- 	(ia64_reorg): Do it here instead.
- 	* config/ia64/ia64.h: s/CCmode/BImode/g
- 	(MODES_TIEABLE_P): Don't tie BImode.
- 	(PREFERRED_RELOAD_CLASS): Do not reload operations into AR regs.
- 	(CONST_COSTS): Pick sensible values for CONST_INT based on context.
- 	(RTX_COSTS): Make multiply 4 insns.
- 	(MEMORY_MOVE_COST): New.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md: s/CCmode/BImode/g
- 	(movcci, movbi): New.
- 	(andbi3, andcmbi3, iorbi3, iorcmbi3, one_cmplbi2): New.
- 	(cmpsi_and_0, cmpsi_and_1, cmpsi_andnot_0, cmpsi_andnot_1): New.
- 	(cmpdi_and_0, cmpdi_and_1, cmpdi_andnot_0, cmpdi_andnot_1): New.
- 	(tbit_and_0, tbit_and_1, tbit_and_2, tbit_and_3): New.
- 	(cmpsi_or_0, cmpsi_or_1, cmpsi_orcm_0, cmpsi_orcm_1): New.
- 	(cmpdi_or_0, cmpdi_or_1, cmpdi_orcm_0, cmpdi_orcm_1): New.
- 	(tbit_or_0, tbit_or_1, tbit_or_2, tbit_or_3): New.
- 	(mulsi, muldi): Use xmpy not xma.
- 	(cmpbi): New.
- 	(movcc, movcc_internal): Remove.
- 	(branch expanders): Use ia64_expand_compare.
- 	(setcc expanders): Likewise.
- 	(cmov insns): Use move_operand and ia64_move_ok.
- 	(pred_rel_mutex): Use unspec not unspec_volatile.  Prevent the
- 	scheduler from moving it past a use.
- 	* config/ia64/build.hacks: Remove.
- 
- Mon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h (HASHSTEP): Take character rather than pointer
- 	to character.
- 	(_cpp_check_directive, _cpp_check_linemarker): Update prototypes.
- 
- 	* cpphash.c (cpp_loookup): Update for new HASHSTEP.
- 
- 	* cpplex.c (auto_expand_name_space, trigraph_replace,
- 	backslash_start, handle_newline, parse_name, INIT_TOKEN_STR,
- 	IMMED_TOKEN, PREV_TOKEN_TYPE, PUSH_TOKEN, REVISE_TOKEN,
- 	BACKUP_TOKEN, BACKUP_TRIGRAPH, MIGHT_BE_DIRECTIVE,
- 	KNOWN_DIRECTIVE): Delete.
- 
- 	(handle_newline, check_long_token, skip_escaped_newlines,
- 	unterminated): New functions.
- 	(ACCEPT_CHAR, SAVE_STATE, RESTORE_STATE): New macros.
- 
- 	(parse_identifier): Was parse_name, new implementation.
- 	(skip_line_comment, skip_block_comment, skip_whitespace,
- 	parse_number, parse_string, trigraph_ok, save_comment,
- 	adjust_column, _cpp_get_line): New implementations.
- 
- 	(lex_token): New function.  Lexes a token at a time, looking
- 	forwards.  Contains most of the guts of the old lex_line.
- 	(lex_line): New implementation, using lex_token to obtain
- 	individual tokens.
- 	(cpp_scan_buffer): Use the token's line, not the list's line.
- 
- 	* cpplib.c (_cpp_check_directive, _cpp_check_linemarker):
- 	 New implementations.
- 	(do_assert): Don't bother setting the answer's list's line.
- 	(cpp_push_buffer): Initialize new pfile and read_ahead members
- 	of struct cpp_buffer.
- 
- 	* cpplib.h (cppchar_t): New typedef.
- 	(struct cpp_buffer): read_ahead, pfile and col_adjust are
- 	new members.
- 	(struct lexer_state): New structure that determines the state
- 	and behavior of the lexer.
- 	(IN_DIRECTIVE, KNOWN_DIRECTIVE): New macros.
- 	(struct cpp_reader): New member "state". Rename
- 	multiline_string_line and multiline_string_column. Delete
- 	col_adjust, in_lex_line members.
- 	(CPP_BUF_COLUMN): Update.
- 
- 2000-09-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (simplify_comparison): Shift a NOT out of a single
- 	bit test.
- 
- 	* combine.c (if_then_else_cond): Canonicalize BImode true to
- 	STORE_FLAG_VALUE.
- 	* explow.c (trunc_int_for_mode): Likewise.
- 
- 	* combine.c (combine_simplify_rtx): Use gen_unary to distribute
- 	the NOT for De Morgan's rule.
- 	* simplify-rtx.c (simplify_unary_operation): Simplify a BImode NOT
- 	of a comparison to the reverse comparison.
- 
- 	* combine.c (try_combine): Allow split to create a single insn.
- 
- 	* machmode.def: Add BImode.  Add a column for bitsize.
- 	* machmode.h (DEF_MACHMODE): Adjust for extra column.
- 	(GET_MODE_BITSIZE): Use it.
- 	* rtl.c (DEF_MACHMODE): Adjust for extra column.
- 	(mode_bitsize): New.
- 	(mode_mask_array): Use bitsize.
- 	* combine.c (combine_simplify_rtx): Require inner and outer
- 	modes to match on nonzero_bits optimizations.
- 
- 2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload1.c (forget_old_reloads_1): If a hard reg is stored, clear
- 	its entry in spill_reg_store.
- 	* config/sh/lib1funcs.ams (movstr_i4 functions): Always compile in.
- 	* sh.c (reg_no_subreg_operand): New function.
- 	* sh-protos.h (reg_no_subreg_operand): Declare it.
- 	* sh.h (PREDICATE_CODES): Add it.
- 	* sh.md (floatsisf2_i4, floatsidf2_i, extendsfdf2_i4): Use it for
- 	input operand that needs to be in fpul.
- 	(fix_truncsfsi2, fix_truncsfsi2_i4): Use register_operand for output.
- 	* sh.c (find_barrier): Take into account that machine_dependent_reorg
- 	might add new insns.
- 
- 2000-09-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (sh_expand_prologue): Mark GOTaddr2picreg as
- 	MAYBE_DEAD.
- 	(sh_expand_epilogue): Take the PIC register into account when
- 	computing the frame size.
- 
- 	* config/sh/sh.c (nonpic_symbol_mentioned_p): Check LABEL_REFs.
- 	* config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
- 	LABEL_REFs with a PIC-safe unspec.
- 
- 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info): Properly save the argument
- 	number and parameter for $ operand number formats in case width
- 	and precision arguments are also used.  Allow printf width and
- 	precision arguments to have operand numbers even if none was
- 	specified for the main format, since this is OK for %*.*m.  Only
- 	object to missing $ operand number if the format used requires an
- 	argument.
- 
- 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (format_char_info): Add 'W' flag to comment.
- 	(print_char_table, scan_char_table): Use it.
- 	(check_format_info): Use the 'W' flag to determine whether a
- 	format argument is written into.
- 
- 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_types): Reorganize and clean up,
- 	checking earlier for ERROR_MARKs and making cur_type into its
- 	TYPE_MAIN_VARIANT where convenient.
- 
- 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.c (cpp_options): Add specs for __STDC_HOSTED__.
- 
- 2000-09-18  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* optabs.c (emit_libcall_block): Set CONST_CALL_P for the call.
- 
- 	* i386-protos.h (ix86_init_builtins, ix86_expand_builtin): Declare.
- 	* i386.c (struct builtin_description): New.
- 	(bdesc_comi, bdesc_2arg, bdesc_1arg): New arrays.
- 	(mmx_reg_operand): Declare MODE arg as unused.
- 	(ix86_expand_sse_comi, ix86_expand_sse_compare, safe_vector_operand,
- 	ix86_expand_unop1_builtin, ix86_expand_unop_builtin,
- 	ix86_expand_binop_builtin, ix86_expand_store_builtin,
- 	ix86_init_builtins, ix86_expand_builtin): New functions.
- 	* i386.h (ix86_builtins): New enumeration.
- 	(MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): New macros.
- 	* i386.md (attr length_immediate): 0 for mmx/sse types.
- 	(attr prefix_0f): 1 for mmx/sse types.
- 	(setcc_2): Remove "*" so we get gen_setcc_2.
- 	(emms): Account for changed register numbering.  Set "memory" attr
- 	to unknown.
- 	(sfence): Set "memory" attr to unknown.
- 
- 2000-09-18  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in: Define _GNU_SOURCE only when using the GNU C
- 	Library.
- 	* configure: Regenerated.
- 	* config.in: Regenerated.
- 
- 2000-09-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cppinit.c (cpp_init): Don't use ANSI prototypes.
- 	* flow.c (flow_dump_loop): Likewise.
- 	(flow_loops_dump): Likewise.
- 
- 	* c-typeck.c (c_start_case): Fix typo.
- 
- 2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): Don't give a warning about defaulting
- 	to int for plain complex which defaults to complex double.  Do
- 	warn about defaulting to complex double if pedantic.  Warn about
- 	complex integer types if pedantic.  Warn about complex types if
- 	pedantic and not in C99 mode.
- 	* c-typeck.c (build_unary_op): If pedantic, warn about use of ~
- 	for complex conjugation.
- 
- 2000-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* contrib.texi: Update my entry.
- 
- Sun Sep 17 18:48:32 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md (mcu_enhanced): New attribute.
- 	(mcu_mega): Likewise.
- 	(extendhisi2): Use mcu_enhanced.
- 	(zero_extendhisi2): Likewise.
- 	(call_insn): Use mcu_enhanced and mcu_mega.
- 	(call_value_insn): Likewise.
- 	(*sbrx_branch): Use mcu_mega.
- 	(*sbrx_and_branchsi): Likewise.
- 	(*sbrx_and_branchhi): Likewise.
- 	(*tablejump_lib): Likewise.
- 
- Sun Sep 17 10:46:17 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (true_dependence): Allow non-unchanging read to conflict
- 	with unchanging write.
- 
- 	* expr.c (store_constructor_field): Accept ALIAS_SET arg.
- 	(store_constructor): Pass alias_set to it.
- 
- 	* c-decl.c (grokdeclarator): Reorder tests to avoid looking at
- 	TYPE_MAIN_VARIANT of ERROR_MARK.
- 	* c-lex.c (readescape): Avoid using printf syntax we don't recognize.
- 
- 	* simplify-rtx.c (simplify_unary_operation): Add cases
- 	FLOAT_EXTEND and FLOAT_TRUNCATE to ones that return 0.
- 
- 2000-09-17  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* expr.h (emit_library_call, emit_library_call_value): Delete
- 	declarations.
- 	* rtl.h (enum libcall_type): New.
- 	(emit_library_call, emit_library_call_value): Change fn_type arg to
- 	be of type enum libcall_type.
- 	* calls.c: Likewise for the function definitions.  Several callers
- 	throughout changed to use the new enumeration appropriately.
- 	(emit_library_call_value_1): Likewise.  Put back code to make libcall
- 	blocks of equal form, but only use it for the two new higher
- 	enumeration values.
- 
- 2000-09-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Convert the C front-end to use function-at-a-time mode.
- 	* c-common.h: Include splay-tree.h.
- 	(C_DECLARED_LABEL_FLAG): New macro.
- 	(struct language_function): Add x_scope_stmt_stack and
- 	x_function_name_declared_p.
- 	(RECHAIN_STMTS): Move definition.
- 	(lang_statement_code_p): Likewise.
- 	(lang_expand_stmt): Likewise.
- 	(lang_expand_decl_stmt): New variable.
- 	(lang_expand_function_end): Likewise.
- 	(current_scope_stmt_stack): New function.
- 	(add_decl_stmt): Likewise.
- 	(add_scope_stmt): Likewise.
- 	(mark_stmt_tree): Likewise.
- 	(struct c_lang_decl): New structure.
- 	(DECL_SAVED_TREE): Define.
- 	(c_mark_lang_decl): New function.
- 	(c_expand_start_cond): Change prototype.
- 	(c_finish_then): New function.
- 	(c_finish_else): Likewise.
- 	(current_function_name_declared): Remove.
- 	(set_current_function_name_declared): Likewise.
- 	(mark_c_language_function): Declare.
- 	(case_compare): Likewise.
- 	(c_add_case_label): Likewise.
- 	(c_expand_expr): Likewise.
- 	(c_safe_from_p): Likewise.
- 	* c-common.c (lang_expand_function_end): New variable.
- 	(struct if_elt): Add if_stmt.
- 	(c_expand_start_cond): Add the if-statement to the statement-tree,
- 	rather than generating RTL.
- 	(c_finish_then): New function.
- 	(c_expand_start_else): Don't generate RTL.
- 	(c_finish_else): New function.
- 	(c_expand_expr_stmt): Don't generate RTL.
- 	(statement_code_p): Add SCOPE_STMT.
- 	(case_compare): New function.
- 	(c_add_case_label): Likewise.
- 	(mark_stmt_tree): Likewise.
- 	(c_mark_lang_decl): Likewise.
- 	(mark_c_language_function): Likewise.
- 	(c_expand_expr): Likewise.
- 	(c_safe_from_p): Likewise.
- 	* c-decl.c (c_stmt_tree): New variable
- 	(c_scope_stmt_stack): Likewise.
- 	(c_function_name_declared_p): Likewise.
- 	(lang_expand_expr_stmt): Remove.
- 	(poplevel): Don't call output_inline_function for nested
- 	functions.
- 	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
- 	`extern' function.
- 	(redeclaration_error_message): Change means of computing whether
- 	or not a function is nested.
- 	(lookup_label): Don't call label_rtx.
- 	(init_decl_processing): Add more GC roots.
- 	(start_decl): Add DECL_STMTs to the statement-tree, rather than
- 	calling rest_of_decl_compilation.
- 	(finish_decl): Don't call expand_decl.
- 	(store_parm_decls): Begin the statement-tree, but don't generate
- 	RTL.
- 	(finish_function): Tie off the statement-tree.  Call c_expand_body
- 	if appropriate.
- 	(c_expand_body): New function.
- 	(push_c_function_context): Save more information.
- 	(pop_c_function_contxt): Likewise.
- 	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
- 	(lang_mark_tree): Mark it.
- 	(current_stmt_tree): Adjust.
- 	(current_scope_stmt_stack): New function.
- 	(do_case): Remove.
- 	(set_current_name_declared): Likewise.
- 	(c_begin_compound_stmt): Define.
- 	(c_expand_decl_stmt): Likewise.
- 	* c-lang.c: Include rtl.h and expr.h.
- 	(lang_init): Set more language-specific hooks.
- 	* c-lex.c: Include expr.h.
- 	* c-parse.in: Changes throughout to add statements to the
- 	statement-tree, rather than generating RTL after every statement.
- 	* c-semantics.c (lang_expand_decl_stmt): Define.
- 	(add_decl_stmt): New function.
- 	(add_scope_stmt): Likewise.
- 	(finish_stmt_tree): Tweak.
- 	(genrtl_expr_stmt): Likewise.
- 	(genrtl_decl_stmt): Handle local labels, and call
- 	lang_expand_decl_stmt if required.
- 	(genrtl_for_stmt): Fix line-number handling.
- 	(genrtl_case_label): Handle cleanups.
- 	(genrtl_asm_stmt): Don't call combine_strings.
- 	(genrtl_compound_stmt): Simplify.
- 	(expand_stmt): Handle SCOPE_STMTs.
- 	* c-tree.h (struct lang_decl): New structure.
- 	(C_DECLARED_LABEL_FLAG): Remove.
- 	(c_begin_compound_stmt): Declare.
- 	(c_expand_decl_stmt): Likewise.
- 	(c_expand_start_case): Rename to c_start_case.
- 	(c_finish_case): New function.
- 	* c-typeck.c (start_init): Tweak setting of
- 	constructor_incremental.
- 	(c_expand_asm_operands): Tweak error-handling.  Add to the
- 	statement-tree.
- 	(c_expand_return): Add to the statement-tree.
- 	(c_expand_start_case): Rename to ...
- 	(c_start_case): ... this.
- 	(struct c_switch): New type.
- 	(switch_stack): New variable.
- 	(do_case): Simplify.
- 	(c_finish_case): New function.
- 	* dependence.c: Include expr.h.
- 	(enum dependence_type): Change spelling of enumerals.
- 	(check_node_dependence): Adjust.
- 	* expr.h (lang_safe_from_p): Declare.
- 	(safe_from_p): Likewise.
- 	* expr.c (lang_safe_from_p): New variable.
- 	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
- 	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
- 	* toplev.c (rest_of_decl_compilation): Robustify.
- 	* tree.c (contains_placeholder_p): Likewise.
- 	* Makefile.in: Update dependencies.
- 	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
- 	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
- 	(objc_expand_function_end): New function.
- 	(finish_method_def): Use it.
- 	(init_objc): Initialize more language-specific hooks.
- 	* objc/Make-lang.in: Update dependencies.
- 
- 2000-09-16  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* configure.in: Define macros that affect features before
- 	testing for features.  Don't define _XOPEN_SOURCE.
- 	* configure: Regenerated.
- 	* config.in: Regenerated.
- 
- Sat Sep 16 19:42:50 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (rtx_varies_p): Volatile asms vary.
- 	(rtx_unstable_p): Restructure code.  Volatile asms
- 	are unstable.
- 
- Sat Sep 16 14:35:55 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.h (no_debugging_symbols): New field.
- 	* integrate.c (save_for_inline): Renamed from save_for_inline_nocopy.
- 	Initialize no_debugging_symbols.
- 	(output_inline_function): Save and restore write_symbols and set from
- 	no_debugging_symbols.
- 	* toplev.c (rest_of_compilation): Call save_for_inline.
- 	* tree.h: Update comment.
- 
- 	* stor-layout.c (place_field): Don't do anything if field or
- 	its type are ERROR_MARK.
- 
- Sat Sep 16 19:14:00 2000  Laurynas Biveinis <lauras@softhome.net>
- 
- 	* cppfiles.c (purge_cache): Use munmap only if MMAP_THRESHOLD defined.
- 	(read_include_file): Ensure inc->mmaped is initialized.
- 
- 2000-09-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* cppiles.c (purge_cache): Use PTR not caddr_t.
- 
- 2000-09-16  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* gcc.c: In description for %{<S}, say the option removed is -S.
- 	* invoke.texi (Spec Files): Ditto.
- 
- 2000-09-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in: Always define _GNU_SOURCE to make interfaces
- 	visible that were hidden by only defining _GNU_SOURCE.
- 	* configure: Regenerated.
- 
- Sat 16-Sep-2000 08:13:45 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (push_macro_context): Set an argument's level after
- 	calling parse_args.  We could loop infinitely otherwise.
- 
- 2000-09-15  Tom Tromey  <tromey@cygnus.com>
- 
- 	* configure, config.in: Rebuilt.
- 	* configure.in: Check for iconv.h.  Define _XOPEN_SOURCE.
- 
- 2000-09-15  Greg McGary  <greg@mcgary.org>
- 
- 	* cppmacro.c (check_trad_stringification): Check token
- 	text pointers against limit before dereferencing.
- 
- 2000-09-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (format_wanted_type): New structure.
- 	(check_format_types): New function.
- 	(check_format_info): Pass all checking of types of format
- 	arguments, including width and precision arguments, to this new
- 	function.
- 
- 2000-09-15  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* BUGS: Remove file.
- 
- 2000-09-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/alpha/alpha.c (override_options): ev6 cache latencies
- 	from Richard Henderson.  Don't allow -mmemory-latency=L0.
- 
- 	* config/alpha/alpha.h (TARGET_CPU_EV5, TARGET_CPU_EV6): Define.
- 	(TARGET_OPTIONS): Add tune=.
- 	(alpha_tune_string): Declare.
- 	* config/alpha/alpha.c (override_options): Add cpu_table.
- 	Use alpha_cpu_string first to set both alpha_cpu and target_flags
- 	and then alpha_tune_string to set alpha_cpu only.
- 	Replace tests for PROCESSOR_EV* with TARGET_CPU_EV* tests.
- 	* config/alpha/elf.h (ASM_FILE_START): Likewise.
- 	* config/alpha/osf.h (ASM_FILE_START): Likewise.
- 	* config/alpha/openbsd.h (ASM_FILE_START): Likewise.
- 
- Fri Sep 15 19:45:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (no_comparison_operator, uno_comparison_operator):
- 	Remove.
- 	(ix86_comparison_operator, ix86_cc_mode): Declare
- 	* i386.h (CCGC, CCGCO): New modes.
- 	(SELECT_CC_MODE): Move offline to ....
- 	* i386.c (ix86_cc_mode): .... here; use new modes.
- 	(ix86_comparison_operator): New.
- 	(fcmov_comparison_operator): Ensure proper mode.
- 	(put_condition_mode): More sanity checking.
- 	(ix86_match_ccmode): Handle new modes.
- 	(ix86_expand_fp_compare): GEU requires CCmode.
- 	(ix86_expand_strlensi_unroll_1): Use emit_cmp_and_jump_insn instead of
- 	doing it by hand.
- 	* i386.md (cmp?i_ccz_1): Remove
- 	(cmp?i_ccno_1): Use ix86_match_ccmode.
- 	(cmp?i_minus_1): New.
- 	(cmpsi_1): New expander.
- 	(cmpqi_ext_1): Use match_ccmode
- 	(cmpqi_ext_3): New expander.
- 	(cmpqi_ext_3_insn): Rename from cmpqi_ext_3.
- 	(cmpqi_ext_4): Use match_ccmode.
- 	(add?i_?): Use match_ccmode.
- 	(add?i_6): New.
- 	(test?i_ccz_1): Remove
- 	(test?i_1): New.
- 	(testsi_ccno_1, testqi_ccz_1, testqi_ext_ccno_0): New expander.
- 	(testqi_ext_0): Use ix86_match_ccmode.
- 	(*xorqi_cc_ext_1): Use ix86_match_ccmode.
- 	(xorqi_cc_ext_1): New expander.
- 	(shift patterns): Use CCGOCmode for all shifts except for sar.
- 	(setcc_?, jcc_?, miv?icc_nic): Use ix86_comparison_operator.
- 	(setcc_3, jcc_3, miv?icc_c): Remove.
- 
- 2000-09-15  Will Cohen  <wcohen@redhat.com>
- 
- 	* dwarf2out.c (add_const_value_attribute): Changed array into a
- 	xmalloced object, so it exists after function exit.
- 	(free_AT): Added case for dw_val_class_float to free allocated
- 	memory.
- 
- 2000-09-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/i386/i386.md: Fix a comment typo.
- 	* gcc.c: Fix formatting.
- 
- 2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* optabs.c (emit_libcall_block): If target is a user variable,
- 	copy to a temporary first.
- 	* expr.c (convert_move): When generating a libcall, make a libcall
- 	block.
- 	* calls.c (emit_library_call_value_1): Don't create a libcall
- 	sequence here; our caller will in most cases do it.
- 
- 	* sh.h (SECONDARY_INPUT_RELOAD_CLASS): Handle moving T, MACL or
- 	MACH into FPUL.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Similar case.
- 	* sh.md (reload_outsf): Generate recognizable patterns for
- 	TARGET_SH3E.
- 	(floatsisf2, floatsisf2_ie, floatsisf2_i4, fix_truncsfsi2,
- 	fix_truncsfsi2_i4, fixsfsi, floatsidf2, floatsidf2_i, fix_truncdfsi2,
- 	fix_truncdfsi2_i, extendsfdf2, extendsfdf2_i4, truncdfsf2,
- 	truncdfsf2_i4): Change not to use explicit references to fpul.
- 	(floatsisf2_ie): Remove USE of fpscr.
- 	(floatsisf2): Change default expansion to match this.
- 	(fix_truncsfsi2_i4_2, fix_truncdfsi2_i4 & splitters): Comment out
- 	unused patterns.
- 
- 2000-09-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* expmed.c (store_bit_field): Consider naturally aligned
- 	memory for direct reference.
- 
- 2000-09-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_unaligned_load): Force all
- 	AND addresses into alias set 0.
- 	(alpha_expand_unaligned_store): Likewise.
- 	(alpha_expand_unaligned_load_words): Likewise.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 
- 2000-09-15  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* config/sh/sh.h (CPP_SPEC): For -m4-nofpu, define __SH4_NOFPU__.
- 	* config/sh/lib1funcs.asm (movstr_i4): Also compile if __SH4_NOFPU__
- 	is defined.
- 	* config/mips/mips.c (mips_va_arg): Args passed by reference have a
- 	rsize of UNITS_PER_WORD.
- 
- Fri 15-Sep-2000 06:49:07 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (ON_REST_ARG): Correct the test.
- 	(maybe_paste_with_next): Duplicate a token that fail pasting,
- 	and clear its PASTE_LEFT flag, so that nested pasting attempts
- 	do not occur.
- 
- 2000-09-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* calls.c (precompute_register_parameters): Use COSTS_N_INSNS, not 2.
- 	* cse.c (rtx_cost): Likewise.
- 	* optabls.c (expand_binop): Likewise.
- 	(expand_twoval_binop, prepare_cmp_insn): Likewise.
- 	* regclass.c (copy_cost): Likewise.
- 	* reload1.c (reload_cse_move2add): Likewise.
- 
- 2000-09-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (reswords): Add _Complex.
- 
- 2000-09-14  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gcc.1: Delete documentation for -undef preprocessor option.
- 
- 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	STARTFILE_SPEC, ENDFILE_SPEC): Remove define.
- 	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
- 	Remove undefine before config/elfos.h.
- 	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Comment out.
- 
- 2000-09-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* invoke.texi (H8/300 Options): Add -ms2600.
- 	* config/h8300.c (h8300_init_once): Output an error when -ms2600
- 	is used without -ms.
- 	* config/h8300.h (TARGET_MAC): New.
- 	(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
- 	(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
- 	machine other than H8S/2600.
- 	* config/h8300.md: Accept mac instructions on the H8S/2600 instead
- 	of the H8S/2000.
- 
- 2000-09-14  Alexandre Oliva  <aoliva@redhat.com>, Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload.c (find_reloads_address_1): Generate reloads for auto_inc
- 	pseudos that refer to the original pseudos, not only to their
- 	equivalent memory locations.
- 
- Thu Sep 14 12:10:16 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_EXPR): Copy memory attributes
- 	when making new MEM.
- 
- 	* Makefile.in (LN): Remove duplicate definition.
- 
- 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	From Joern Rennecke:
- 	* local-alloc.c (update_equiv_regs): If there is no REG_EQUAL note
- 	on an insn and function_invariant_p returns nonzero for the source,
- 	add a REG_EQUAL note.
- 
- Thu Sep 14 00:51:57 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c (memrefs_conflict_p): An ADDRESSOF doesn't
- 	conflict with frame_pointer_rtx.
- 
- 2000-09-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* loop.c: Fix formatting.
- 	* loop.h: Likewise.
- 
- 2000-09-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (divsf3): New.
- 	(divsf3_internal_lat, divsf3_internal_thr): New.
- 	(divdf3, divdf3_internal_lat, divdf3_internal_thr): New.
- 	(divtf3, divtf3_internal_lat, divtf3_internal_thr): New.
- 	(adddf3_trunc, subdf3_trunc, muldf3_trunc): New.
- 	(madddf4_trunc, msubdf4_trunc, nmuldf3_trunc): New.
- 	(nmadddf4_alts, nmadddf4_trunc): New.
- 	(addtf3_truncsf, addtf3_truncdf, subtf3_truncsf): New.
- 	(subtf3_truncdf, multf3_truncsf, multf3_truncdf): New.
- 	(multf3_truncsf_alts, multf3_truncdf_alts): New.
- 	(maddtf4_truncsf, maddtf4_truncdf, maddtf4_alts_truncdf): New.
- 	(msubtf4_truncsf, msubtf4_truncdf, nmultf3_truncsf): New.
- 	(nmultf3_truncdf, nmaddtf4_truncsf, nmaddtf4_truncdf): New.
- 	(nmaddtf4_truncdf_alts): New.
- 	(recip_approx): Don't predicate.
- 
- 2000-09-13  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/lib1funcs.asm (__divsf3): Protect fnorm.s with p6.
- 
- 2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* flags.h (flag_dump_rtl_in_asm): Declare.
- 	* toplev.c (flag_dump_rtl_in_asm): Define.
- 	(decode_d_option): Set flag_dump_rtl_in_asm and flag_print_asm_name
- 	if -dP is specified.
- 	* rtl.h (print_rtx_head): Declare.
- 	* print-rtl.c (print_rtx_head): Define.
- 	(print_rtx): Print the string pointed to by print_rtx_head
- 	at beginning of each dump line.
- 	(print_rtl): Likewise.
- 	(print_rtl_single): Likewise.
- 	* final.c (final_scan_insn): Dump the insn in the assembly
- 	file for debugging.
- 	* gcc.1: Document -dP option.
- 	* invoke.texi (Debugging Options): Likewise.
- 
- 2000-09-13  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* md.texi (Machine Constraints): Document the 68HC11 constraints.
- 	* install.texi (Configurations): Document the 68HC11&68HC12 port.
- 	* invoke.texi (Option Summary, M68hc1x Options): Document the options.
- 
- Tue Sep 12 13:51:13 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.h (ASSEMBLER_DIALECT): New macro declared.
- 	* config/avr/avr.md (*movstrqi_insn): Cleanup output template.
- 	(*clrstrqi): Likewise.
- 	(xorhi3,xorsi3,absqi2): Likewise.
- 	(one_cmplhi2,one_cmplsi2): Likewise.
- 	(addsi3): Two stupid constraint alternatives removed.
- 	(extendhisi2): Use `movw' for enhanced avr cores.
- 	(zero_extendhisi2): Likewise.
- 
- Wed Sep 13 02:31:23 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c (find_base_term): Use frame_pointer_rtx
- 	when handling an ADDRESSOF.
- 
- 	* cse.c (canon_hash): Handle USE of BLKmode memory.
- 	(cse_insn): Outgoing arguments for a libcall don't
- 	affect any recorded expressions.
- 
- 2000-09-12  Tom Tromey  <tromey@cygnus.com>
- 
- 	* configure, config.in: Rebuilt.
- 	* configure.in: Check for iconv, nl_langinfo, langinfo.h.
- 
- 2000-09-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-lex.c (lex_string): Use charwidth to compute bytemask.
- 	* expr.c (expand_expr): Don't optimize constant array references
- 	initialized with wide string constants.
- 
- 2000-09-13  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (note_set_pseudo_multiple_uses): Correct.
- 
- 2000-09-12  Jim Wilson  <wilson@cygnus.com>
- 
- 	* ifcvt.c (noce_process_if_block): If A and B are the same, and no
- 	else block, and X has side-effects, then fail.
- 
- 2000-09-12  Greg McGary  <greg@mcgary.org>
- 
- 	* config/mips/mips-protos.h
- 	(trap_cmp_op, mips_gen_conditional_trap): New func decls.
- 	* config/mips/mips.h (ISA_HAS_COND_TRAP): New macro.
- 	(PREDICATE_CODES): Add "trap_cmp_op".
- 	* config/mips/mips.c
- 	(trap_cmp_op, mips_gen_conditional_trap): New functions.
- 	* config/mips/mips.md (trap, conditional_trap): New patterns.
- 
- 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* flow.c (try_pre_increment_1): Don't do anything to sets of the stack
- 	pointer.
- 
- 2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (built_in_decls): New array.
- 	(expand_builtin_fputs): New function.
- 	(expand_builtin): Handle BUILT_IN_FPUTC and BUILT_IN_FPUTS.
- 
- 	* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTS): New members.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Handle fputc/fputs.
- 
- 	* tree.h (built_in_decls): New array.
- 
- Tue Sep 12 08:53:57 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* convex.md: Use "+" instead of "=" for outputs wrapped in a
- 	STRICT_LOW_PART.
- 	* i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.
- 
- 2000-09-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* haifa-sched.c: Fix formatting.
- 
- 	* genattrtab.c: Fix formatting.
- 
- 	* unroll.c: Fix formatting.
- 
- 2000-09-12  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c: make a type for the fix procedure & use it,
- 	remove obsolete code
- 	* fixinc/fixincl.c: Use PARAMS, not _P_.  Add no-op default to switch.
- 	* fixinc/fixincl.tpl: make non-exported arrays static scope
- 	* fixinc/fixincl.x: regenerate
- 	* fixinc/fixlib.h: Use PARAMS, not _P_
- 	* fixinc/fixtests.c: make a type for the test proc & use it
- 	* fixinc/server.h: Use PARAMS, not _P_
- 
- 2000-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-typeck.c (process_init_element): Avoid union init warnings on
- 	floating point zero.  Don't crash on unions containing structs.
- 
- 2000-09-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (PREDICATE_CODES): Add CONST_DOUBLE to
- 	general_movsrc_operand, and remove CONST_INT from
- 	general_movdst_operand.
- 
- 2000-09-12  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* cse.c (approx_reg_cost): If SMALL_REGISTER_CLASSES, return INT_MAX
- 	if a reference to non-fixed hardreg is seen.  Otherwise, count hard
- 	regs with a higher cost.
- 	(preferrable): Deal with cases where either cost or regcost is
- 	MAX_COST.
- 	(cse_insn): Use MAX_COST rather than 10000.  Always initialize
- 	regcost values.
- 	(COSTS_N_INSNS): Move definition...
- 	* rtl.h: ...here.
- 	(MAX_COST): New macro.
- 	* loop.c (init_loop): Use COSTS_N_INSNS macro instead of hardcoded
- 	constant.
- 
- 2000-09-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (genrtl_clear_out_block): Remove.
- 	* c-semantics.c (genrtl_clear_out_block): Remove.
- 	(genrtl_while_stmt): Don't call it.
- 	(genrtl_for_stmt): Likewise.
- 
- 2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c: Move all default-#defines to top of file.
- 	(open_include_file): Replace by lookup_include_file.
- 	(read_with_read, read_file): Merged into read_include_file.
- 	(stack_include_file, purge_cache): New functions.
- 	(close_cached_fd): Delete.
- 	(lookup_include_file, read_include_file, _cpp_pop_file_buffer):
- 	Cache the in-memory buffer, not the file descriptor.
- 
- 	* cpphash.h (struct include_file): Add buffer, st, refcnt,
- 	mapped fields.
- 	(xcnew): New utility macro.
- 	(DO_NOT_REREAD, NEVER_REREAD): Move up by struct include_file.
- 	* cpplib.h (struct cpp_buffer): Remove mapped field.
- 
- 2000-09-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (parse_string): Accept backslash space newline as a
- 	line continuation.
- 	(lex_line): Likewise.
- 	(_cpp_get_token): Remove hard limit on macro nesting.
- 
- 2000-09-12  Philipp Thomas  <pthomas@suse.de>
- 
- 	* aclocal.m4 (AM_WITH_NLS): Don't force use of included gettext.
- 	* configure: Rebuilt.
- 
- 2000-09-13  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* flow.c (split_block): Fix update of registers live at
- 	end of split block.
- 
- Tue Sep 12 01:51:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (add?i_3, add?i_5): New.
- 	(add?i_4): Rename from add?i_3;  Fix compare pattern.
- 	(sub?i_3, xor?i_3, ior?i_3): New.
- 
- 	* genrecog.c (write_tree): Output code to clear insn_extract cache.
- 	* genattrtab.c (write_attr_case): Gen call to extract_insn_cache
- 	instead of extract_insn and extract_constrain_insn_cache instead of
- 	extract_insn and constrain_operands.
- 	* recog.c (extract_insn_cached, extract_constrain_insn_cached):
- 	New functions.
- 	(extract_insn): Clear which_alternative.
- 	(constrain_operands): Set which_alternative to -1 when failed.
- 	* recog.h (extract_constrain_insn_cached, extract_insn_cached):
- 	Declare.
- 
- 2000-09-11  Matthew Hiller  <hiller@redhat.com>
- 
- 	* config/h8300/h8300.md (movstrictqi): Changed constraint modifier
- 	on operand 0 to '+'.
- 	(movstricthi): Likewise.
- 
- 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.h (LOOP_IVS): New macro.
- 	(REG_IV_TYPE, REG_IV_INFO): Add ivs argument.
- 	(struct loop_ivs): New.
- 	(struct loop_info): Add ivs field.
- 	(reg_iv_type, reg_iv_info): Delete prototype.
- 	(reg_biv_class, loop_iv_list): Likewise.
- 	* loop.c (record_biv, find_life_end): Pass loop argument.
- 	(reg_iv_type): Remove global array and use
- 	field in loop_regs structure within loop_ivs structure.
- 	(reg_iv_info, reg_biv_class, loop_iv_list): Likewise.
- 	(first_increment_giv, last_increment_giv): Use entry in
- 	loop_ivs structure.
- 	(record_initial): Pass ivs pointer.
- 	* unroll.c (copy_loop_body, remap_split_bivs): Add loop argument.
- 
- 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.h (LOOP_REGS): New macro.
- 	(struct loop_regs): New.
- 	(struct loop_info): Add regs field.
- 	* loop.c (set_in_loop): Remove global array and store
- 	in loop_regs structure as part of loop_info structure.
- 	(n_times_set, may_not_optimize): Likewise.
- 	(reg_single_usage, moved_once): Likewise.
- 	(count_one_set): Add regs argument.
- 	(combine_movables, rtx_equal_for_loop_p, combine_givs): Likewise.
- 	(set_pseudo_multiple_uses): Pass regs pointer.
- 
- 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* unroll.c (iteration_info): Subsume into loop_iterations.
- 	* loop.h (loop_info): New field iv.
- 
- 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* basic-block.h (LOOP_TREE, LOOP_PRE_HEADER, LOOP_EDGES): New.
- 	(LOOP_EXITS_DOMS, LOOP_ALL): Likewise.
- 	(flow_loops_update): New prototype.
- 	(flow_loops_find): Add flags to prototype.
- 	(struct loop): Add `pre_header_root' and `pre_header_trace' fields.
- 	* flow.c (flow_loop_pre_header_scan): New.
- 	(flow_loop_dump): Dump pre-header root and trace and exit dominators.
- 	(flow_loop_free): Free pre-header root and trace and exit dominators.
- 	(flow_loops_find): New argument flags.
- 	(flow_loops_update): New function.
- 	* toplev.c (rest_of_compilation): Add flag argument to flow_loops_find.
- 
- 2000-09-12  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* basic-block.h (split_block, update_bb_for_insn): New prototypes.
- 	* flow.c (split_block, update_bb_for_insn): New functions.
- 
- 2000-09-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* cse.c (fold_rtx): Honor NO_FUNCTION_CSE.
- 
- 2000-09-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h (fr_nonimmediate_operand): Declare.
- 	* config/ia64/ia64.c (fr_nonimmediate_operand): New.
- 	(ia64_override_options): Prevent optimizing division for both
- 	latency and throughput.
- 	(rtx_needs_barrier): Handle frcpa.
- 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): New.
- 	(MASK_INLINE_DIV_THR, TARGET_INLINE_DIV_LAT): New.
- 	(TARGET_INLINE_DIV_THR, TARGET_INLINE_DIV): New.
- 	(TARGET_SWITCHES): Add -minline-divide-min-latency and
- 	-minline-divide-max-throughput.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md (extendsidi2): Remove * from f case.
- 	(zero_extendsidi2): Likewise.  Fix typo in f case insn.
- 	(extendsfdf2): Add cases for gr<->fr and fr<->mem.
- 	(extendsftf2): Likewise.
- 	(extenddftf2): Likewise.
- 	(fix_trunctfdi2_alts): New.
- 	(fixuns_trunctfdi2_alts): New.
- 	(madd*4): Rename from madd*3.
- 	(divsi3, modsi3, udivsi3, umodsi3): New.
- 	(divsi3_internal): New.
- 	(divdi3, moddi3, udivdi3, umoddi3): New.
- 	(divdi3_internal_lat, divdi3_internal_thr): New.
- 	(multf3_alts, maddtf4_alts, nmaddtf4_alts): New.
- 	(recip_approx): New.
- 
- 2000-09-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* print-rtl.c (debug_call_placeholder_verbose): New variable.
- 	(print_rtx) [CALL_PLACEHOLDER]: Dump all call sequences if it is
- 	set.
- 	* integrate.c (copy_rtx_and_substitute): Don't share
- 	LEAF_REG_REMAPpable registers with the inlined function.  Don't
- 	share the function value with calling sequences.
- 
- 2000-09-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (do_case): Fix a typo.
- 
- 	* combine.c (simplify_if_then_else): Don't convert a == b ? b : a
- 	to a if the comparison is floating mode and not -ffast-math.
- 	* simplify-rtx.c (simplify_ternary_operation): Likewise.
- 
- Mon Sep 11 20:07:48 2000  J"orn Rennecke <amylaar@redhat.co.uk>
- 
- 	* sh.h (INITIALIZE_TRAMPOLINE): Remove stray call to
- 	gen_ic_invalidate_line.
- 
- 2000-09-11  Philip Blundell  <pb@futuretv.com>
- 
- 	* config/arm/elf.h (SUBTARGET_CPP_SPEC): Don't define `arm_elf'.
- 
- Mon Sep 11 10:48:41 2000  Ulrich Drepper <drepper@redhat.com>
- 
- 	* install.texi (LANGUAGES): Update to include new languages.
- 	* INSTALL: Rebuilt.
- 
- 2000-09-11  DJ Delorie  <dj@redhat.com>
- 
- 	* gcc.c (main): Don't warn about unused -B prefixes
- 	(unused_prefix_warnings): remove
- 
- 2000-09-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* final.c: Fix formatting.
- 
- 	* integrate.c: Fix formatting.
- 
- 2000-09-11  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* alias.c (memrefs_conflict_p): An ADDRESSOF does conflict, sorry.
- 
- 2000-09-11  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* reload.c (regno_clobbered_p): Fix thinko in previous change.
- 
- 2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* gcc.1: Document 68hc11 specific options.
- 
- 2000-09-10  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/sysv4.h (MASK_LONG_DOUBLE_128): Define.
- 	(TARGET_LONG_DOUBLE_128): Define.
- 	(SUBTARGET_SWITCHES): Add -mlong-double-64 and -mlong-double-128.
- 	(LONG_DOUBLE_TYPE_SIZE): Redefine.
- 	(MAX_LONG_DOUBLE_TYPE_SIZE): Define.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define depending on definition
- 	of __LONG_DOUBLE_128__.
- 	(CPP_SYSV_SPEC): Define __LONG_DOUBLE_128__ if -mlong-double-128
- 	passed.
- 	(CPP_LONGDOUBLE_DEFAULT_SPEC): Define.
- 	(CPP_SYSV_DEFAULT_SPEC): Define.
- 	(SUBTARGET_EXTRA_SPECS): Add cpp_longdouble_default.
- 	(INIT_TARGET_OPTABS): Define.
- 
- 	* config/rs6000/aix.h (RS6000_ITRUNC): Moved from rs6000.h.
- 	(RS6000_UITRUNC): Likewise.
- 	(INIT_TARGET_OPTABS): New macro.
- 	* config/rs6000/rs6000.c (rs6000_trunc_used): Delete.
- 	(trunc_defined): Delete.
- 	(output_prolog): Don't output .extern definitions for fp->int
- 	conversion routines, ASM_OUTPUT_EXTERNAL_LIBCALL will do it.
- 	* config/rs6000/rs6000.h (rs6000_trunc_used): Delete.
- 	(trunc_defined): Delete.
- 	(RS6000_ITRUNC): Moved to aix.h.
- 	(RS6000_UITRUNC): Likewise.
- 	* config/rs6000/rs6000.md (fix_truncdfsi2): Fail if it would
- 	only emit a libcall.
- 	(fixuns_truncdfsi2): Delete.
- 	(trunc_call): Delete.
- 	(trunc_call_rtl): Delete.
- 
- 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* varasm.c (make_decl_rtl): Restore leading star on
- 	DECL_ASSEMBLER_NAME set for decls with an asmspec.
- 
- 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-pragma.c (handle_pragma_pack): Correct parsing logic so it
- 	won't give a spurious error for '#pragma pack()'.  Simplify
- 	control flow for readability.  'reset' action is not necessary.
- 
- 2000-09-10  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* defaults.h: Provide default definitions for: CHAR_TYPE_SIZE,
- 	SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
- 	LONG_LONG_TYPE_SIZE, WCHAR_TYPE_SIZE, FLOAT_TYPE_SIZE,
- 	DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE, and WCHAR_UNSIGNED.
- 
- 	* cppexp.c, dwarfout.c, dwarf2out.c, emit-rtl.c, final.c, optabs.c,
- 	profile.c, sdbout.c, tradcif.y, tree.c:
- 	Include defaults.h if not already included.
- 	Don't define the above macros.
- 
- 	* Makefile.in: Update dependencies.
- 
- 2000-09-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (add_stmt): Change prototype.
- 	(RECHAIN_STMTS): New macro.
- 	(CASE_LABEL_DECL): Likewise.
- 	(genrtl_case_label): Change prototype.
- 	(c_expand_start_case): Remove prototype.
- 	(build_case_label): Change prototype.
- 	(decl_constant_value): Declare.
- 	* c-common.c (check_case_value): Handle C++'s extensions to C
- 	semantics.
- 	* c-commnon.def (CASE_LABEL): Add room for the CASE_LABEL_DECL
- 	field.
- 	* c-parse.in (stmt): Adjust handling of return statements and case
- 	laels.
- 	* c-semantics.c (add_stmt): Return the new statement.
- 	(genrtl_return_stmt): Take the RETURN_STMT as input, not the
- 	returned expression.  Directly generate RTL, rather than calling
- 	c_expand_return.
- 	(genrtl_switch_stmt): Don't call c_expand_start_case.
- 	(build_case_label): Take the LABEL_DECL as input, too.
- 	(genrtl_case_label): Just call add_case_node.
- 	(expand_stmt): Adjust calls to genrtl_return_stmt and
- 	genrtl_case_label.
- 	* c-tree.h (c_expand_start_case): Declare.
- 	* c-typeck.c (decl_constant_value): Give it external linkage.
- 	(c_expand_return): Don't call expand_return or expand_null_return;
- 	use genrtl_return_stmt instead.
- 	* stmt.c (struct nesting): Remove num_ranges field.
- 	(add_case_node): Give it external linkage.
- 	(expand_start_case): Don't set num_ranges.
- 	(expand_start_case_dummy): Don't clear it.
- 	(pushcase): Rely on add_case_node to handle `default' labels.
- 	(add_case_node): Handle `default' labels.
- 	* tree.c (tree_int_cst_compare): New function.
- 	* tree.h (tree_int_cst_compare): Declare.
- 	(add_case_node): Likewise.
- 
- 2000-09-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-parse.in: Revert last change.
- 	(init_reswords): Do not enter disabled keywords into the ridpointers
- 	table, modulo objc weirdness.
- 	(_yylex): Return the canonical spelling for a keyword.
- 
- 2000-09-10  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.h (CPP_ISA_SPEC): Don't define `arm' or `thumb'.
- 	* config/arm/linux-elf.h (CPP_PREDEFINES): Don't define `__arm__'.
- 
- Sun Sep 10 14:30:28 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c (find_base_term): Handle ADDRESSOF.
- 	(memrefs_conflict_p): An ADDRESSOF doesn't conflict.
- 
- 2000-09-10  Denis Chertykov  <denisc@overta.ru>
- 
- 	* genoutput.c (output_insn_data): Translate <NEWLINE> to \n\ while
- 	outputting templates with many lines.
- 
- 2000-09-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* libgcc2.h: Use LONG_LONG_TYPE_SIZE instead of MIN_UNITS_PER_WORD
- 	to decide whether 64-bit support must be generated.
- 
- 2000-09-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-parse.in (asm patterns): Fix volatile check.
- 
- 2000-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppmacro.c (check_trad_stringification): New function.
- 	(save_expansion): If -Wtraditional, warn about stringification of
- 	macro arguments.
- 
- 2000-09-11  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.h (struct loop_mem_info): Move from loop.c
- 	(struct loop_info): Add fields store_mems, mems, mems_idx,
- 	mems_allocated, unknown_address_altered,
- 	unknown_constant_address_altered, num_mem_sets, and
- 	first_loop_store_insn.
- 
- 	* loop.c (loop_store_mems): Replace with field in loop_info struct.
- 	(loop_mems, loop_mems_idx, loop_mems_allocated): Likewise.
- 	(unknown_address_altered, unknown_constant_address_altered): Likewise.
- 	(num_mem_sets): Likewise.
- 	(replace_loop_mems, replace_loop_regs): New.
- 	(struct loop_replace_args): New.
- 	(load_mems): Use replace_loop_mems.
- 	(try_copy_prop): Use replace_loop_regs.
- 	(replace_loop_reg, replace_loop_mem): Use loop_replace_args structure.
- 
- 2000-09-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* configure.in: Recognize m6811-elf and m6812-elf.
- 	* configure: Regenerate.
- 
- 2000-09-09  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* recog.c (validate_replace_rtx_1): Correct MODE parameter in call
- 	to operand_subword.
- 
- 2000-09-10  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (struct movables): New.
- 	(num_movables): Move into struct movables.
- 	(the_movables): Change type to struct movables.
- 	(ignore_some_movables): Change struct movable arg to struct movables.
- 	(force_movables, combine_movables, regs_match_p): Likewise.
- 	(rtx_equal_for_loop_p, move_movables): Likewise.
- 	(scan_loop): Change movables to be of type struct movables.
- 	Replace last_movable with field in movables structure.
- 
- 2000-09-08  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-pragma.c: Don't elide entire file if !HANDLE_GENERIC_PRAGMAS.
- 	(init_pragma): Avoid warning if pfile happens to be unused.
- 	* c-pragma.h: Never define HANDLE_GENERIC_PRAGMAS.  Never
- 	define init_pragma to nothing.  Always prototype
- 	init_pragma.  Prototype dispatch_pragma if !USE_CPPLIB.
- 
- 	* c-lex.c (process_directive): Always call dispatch_pragma.
- 	Initialize entering_c_header to 0.
- 
- 2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md: New file, machine description for
- 	68HC11 & 68HC12.
- 	* config/m68hc11/m68hc11.h: New file, definitions for 68HC11 & 68HC12.
- 	* config/m68hc11/m68hc11.c: New file, functions for 68HC11 & 68HC12.
- 	* config/m68hc11/m68hc12.h: New file, definitions for 68HC12.
- 	* config/m68hc11/m68hc11-protos.h: New file.
- 	* config/m68hc11/m68hc11-crt0.S: New file, startup code.
- 	* config/m68hc11/t-m68hc11-gas: New file, makefile fragment.
- 	* config/m68hc11/xm-m68hc11.h: New file, target defs.
- 	* config/m68hc11/larith.asm: New file, libgcc routines.
- 
- 2000-09-08  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* Makefile.in (DPBIT_FUNCS): Add _usi_to_df.
- 	(FPBIT_FUNCS): Add _usi_to_sf.
- 	* config/fp-bit.c (usi_to_float): New function.
- 	* config/fp-bit.h (L_usi_to_sf, L_usi_to_df): Define.
- 	(usi_to_float): Add appropriate #define.
- 
- 2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* i386-protos.h (sse_comparison_operator, mmx_reg_operand): Declare
- 	new functions.
- 	* i386.c (sse_comparison_operator, mmx_reg_operand): New functions.
- 	* i386.md (attr "type"): Add sse and mmx types.
- 	(attr "memory"): Handle them without a crash.
- 	(movsi_1, movdi_2): Allow MMX regs.
- 	(movdi splits): Don't split moves involving MMX regs.
- 	(setcc_4): Remove '*' from pattern name so we get a gen_setcc4.
- 	(movv4sf_internal, movv4si_internal, movv8qi_internal,
- 	movv4hi_internal, movv2si_internal, movv8qi, movv4hi, movv2si,
- 	movv4sf, movv4si, pushv4sf, pushv4si, pushv8qi, pushv4hi, pushv2si,
- 	sse_movaps, sse_movups, sse_movmskps, mmx_pmovmskb, mmx_maskmovq,
- 	sse_movntv4sf, sse_movntdi, sse_movhlps, sse_movlhps, sse_movhps,
- 	sse_movlps, sse_loadss, sse_movss, sse_storess, sse_shufps,
- 	addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, mulv4sf3, vmmulv4sf3,
- 	divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2, rsqrtv4sf2, vmrsqrtv4sf2,
- 	sqrtv4sf2, vmsqrtv4sf2, sse_andti3, sse_nandti3, sse_iorti3,
- 	sse_xorti3, maskcmpv4sf3, maskncmpv4sf3, vmmaskcmpv4sf3,
- 	vmmaskncmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
- 	smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
- 	cvttps2pi, cvtsi2ss, cvtss2si, cvttss2si, addv8qi3, addv4hi3,
- 	addv2si3, ssaddv8qi3, ssaddv4hi3, usaddv8qi3, usaddv4hi3, subv8qi3,
- 	subv4hi3, subv2si3, sssubv8qi3, sssubv4hi3, ussubv8qi3, ussubv4hi3,
- 	mulv4hi3, smulv4hi3_highpart, umulv4hi3_highpart, mmx_pmaddwd,
- 	mmx_iordi3, mmx_xordi3, mmx_anddi3, mmx_nanddi3, mmx_uavgv8qi3,
- 	mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw, mmx_pshufw,
- 	eqv8qi3, eqv4hi3, eqv2si3, gtv8qi3, gtv4hi3, gtv2si3, umaxv8qi3,
- 	smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3, ashrv2si3, lshrv4hi3,
- 	lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3, mmx_ashldi3,
- 	mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
- 	mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
- 	mmx_punpckldq, emms, sfence, ldmxcsr, prefetch, stmxcsr, sse_clrti,
- 	mmx_clrdi): New patterns.
- 
- 2000-09-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c: Don't include tm.h directly.
- 
- Fri Sep  8 14:34:56 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_rtx_1): Fix confusion about equality
- 	testing; simplify subregs of constants and nested subregs.
- 
- 2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (symPLT_label2reg): Use operand3 for PIC reg.
- 
- 2000-09-08  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* combine.c (combine_simplify_rtx): Try to simplify VEC_SELECT of a
- 	VEC_CONCAT.
- 	* rtl.texi (description of USE): Add note about possible pitfalls
- 	with this rtx.
- 	From Richard Henderson:
- 	* reload1.c (choose_reload_regs): Compute need_mode properly.
- 
- 2000-09-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/lib1funcs.asm (__divsi3): Use .s1 for frcpa.
- 	(__modsi3, __umodsi3): Likewise.
- 	(__udivsi3): Likewise.  Normalize the TFmode values.
- 
- 2000-09-07  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/sol-c0.c (_start): Declare `termfunc' parameter
- 	with a prototype.
- 	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Use cast to suppress
- 	warning.
- 
- Fri Sep  8 03:26:38 2000  J"orn Rennecke <amylaar@redhat.co.uk>
- 
- 	* sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): Remove.
- 	(cmpeqdi_t): Add output pattern.
- 	(cmpeqdi_t+1): Don't split when not optimizing.
- 	Restore proper splitting operation.
- 
- 2000-09-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* c-lex.c (process_directive): If not HANDLE_GENERIC_PRAGMAS,
- 	do not call dispatch_pragma.
- 
- 2000-09-07  Jim Wilson  <wilson@cygnus.com>
- 
- 	* reload.c (push_reload): Use CLASS_CANNOT_CHANGE_MODE_P in addition
- 	to CLASS_CANNOT_CHANGE_MODE.
- 	* config/ia64/ia64.h (CLASS_CANNOT_CHANGE_MODE_P): True only if the
- 	mode classes are different.
- 
- 2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (struct cpp_options): Add user_label_prefix member,
- 	left out of commit which removed cppulp.c.
- 
- 2000-09-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* bb-reorder.c (fixup_reorder_chain): Add jump in new block
- 	after switch for CASE_DROPS_THROUGH.
- 
- 2000-09-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* loop.c (strength_reduce): Call check_ext_dependant_givs.
- 	Properly extend the biv initial value for the giv.
- 	(record_biv): Zero ext_dependant.
- 	(record_giv): New argument ext_val.  Update all callers.
- 	(general_induction_var): Likewise.
- 	(consec_sets_giv): Likewise.
- 	(simplify_giv_expr): Likewise.  Fill in ext_val if we find
- 	a sign-extend, zero-extend, or truncate.
- 	(combine_givs_p): Make sure modes are compatible.
- 	(check_ext_dependant_givs): New.
- 	(extend_value_for_giv): New.
- 	* loop.h (struct induction): Add ext_dependant.
- 	* unroll.c (iteration_info): Extend the biv initial value for the giv.
- 	(find_splittable_givs): Likewise.
- 	(final_giv_value): Likewise.
- 
- 2000-09-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-pragma.h: Define HANDLE_GENERIC_PRAGMAS if
- 	REGISTER_TARGET_PRAGMAS is defined.  Duplicate some
- 	definitions from cpplib.h.
- 	* cpplib.h: Don't typedef struct cpp_reader if c-pragma.h has
- 	already done it.
- 	* tm.texi: Document HANDLE_PRAGMA as no longer supported.  Add
- 	documentation for REGISTER_TARGET_PRAGMAS.
- 
- 	* c-lex.c: Include cpplib.h before c-pragma.h.  Define a
- 	default-pragma callback to implement -Wunknown-pragmas if
- 	USE_CPPLIB.
- 	* c-parse.in: Move all includes to top of file.
- 	* c-pragma.c: Include cpplib.h before c-pragma.h.  Include
- 	tm_p.h.
- 	(dispatch_pragma): Put the namespace in the -Wunknown-pragmas
- 	warning.
- 	(init_pragma): If REGISTER_TARGET_PRAGMAS is defined, call it.
- 
- 	* arm.h, arm-protos.h, arm.c,
- 	  c4x.h, c4x-protos.h, c4x.c,
- 	  h8300.h, h8300-protos.h, h8300.c,
- 	  i370.h, i370-protos.h, i370.c,
- 	  i960.h, i960-protos.h, i960.c,
- 	  sh.h, sh-protos.h, sh.c,
- 	  v850.h, v850-protos.h, v850.c: Convert HANDLE_PRAGMA-based
- 	pragmata scheme to use REGISTER_TARGET_PRAGMAS instead.
- 
- 	* d30v.h: Don't mention HANDLE_PRAGMA in comment.  Add
- 	multiple include guard.
- 	* i370.md (untyped_call): Use GEN_CALL.
- 	(umodsi3): Remove unused variable.
- 	* sh/elf.h: Don't undef HANDLE_SYSV_PRAGMA.
- 	* v850.c (output_move_single, output_move_double): Constify
- 	return value.
- 	(print_operand): Constify a char *.
- 	* v850.h (struct small_memory_info): Constify name member.
- 
- 2000-09-07  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300.h: Fix comment typos.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 
- Thu 07-Sep-2000 21:29:00 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* Makefile.in: Remove references to cppulp.{c,o}.
- 	* cppinit.c (initialize_builtins, cpp_start_read,
- 	cpp_handle_option): Update to use cpp_options structure.
- 	* cppulp.c: Remove.
- 
- 2000-09-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (time_char_table): Allow %#b and %#h.
- 
- 2000-09-07 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* reorg.c (find_end_label): If the basic block reorder pass moves the
- 	return insn to some other place try to locate it again and put our
- 	end_of_function_label there.
- 	* reorg.c (relax_delay_slots): Check if find_end_label created a
- 	new label that invalidates the current optimazation.
- 
- 2000-09-07  Catherine Moore  <clm@redhat.com>
- 
- 	* unroll.c (unroll_loop): Check for unconditional jumps
- 	to loop continuation.  Delete if n_iterations is 1.
- 	(ujump_to_loop_cont): New routine.
- 
- 2000-09-07  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* rtl.c (class_narrowest_mode): Add entries for MODE_VECTOR_INT and
- 	MODE_VECTOR_FLOAT.
- 	* reload.c (regno_clobbered_p): Accept new arg, MODE, and use it
- 	to handle multiword modes correctly.  All callers and the declaration
- 	changed.
- 
- 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (prep_stmt): Declare.
- 	(lang_expand_stmt): Likewise.
- 	* c-decl.c (lang_expand_stmt): Remove.
- 	* c-semantics.c (lang_expand_stmt): Define.
- 	(prep_stmt): New function.
- 	(expand_stmt): Handle common statement types here.
- 
- 2000-09-07  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>, Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (sh-*-linux*): Added.
- 	* configure: Rebuilt.
- 	* config/sh/t-linux: New file.
- 	* config/sh/sh.h (USERMODE_BIT): Define.
- 	(TARGET_USERMODE): Likewise.
- 	(TARGET_SWITCHES): New switches for the bits above.
- 	(INITIALIZE_TRAMPOLINE): Call __ic_invalidate in USERMODE.
- 	* config/sh/linux.h: New file.
- 	* config/sh/lib1funcs.asm (GLOBAL): Don't prefix symbols with
- 	underscore on linux.
- 	(L_sdivsi3, L_udivsi3): Define for linux.
- 	(L_ic_invalidate): Define.
- 	* invoke.texi (SH Options): Document -musermode.
- 
- 2000-09-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (OVERRIDE_OPTIONS): Don't disable function
- 	CSE unless generating PIC.
- 
- 	* config/sh/sh.md (symPLT_label2reg): Force the initialization of
- 	the PIC register.
- 
- 2000-09-06  H.J. Lu  (hjl@gnu.org)
- 
- 	* Makefile.in (clean_s1): Depend on stage_b.
- 	(clean_s2): Depend on stage_d. Don't remove $(VOL_FILES) in
- 	stage2. They are used for "make compare".
- 
- 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Move statement-tree facilities from C++ to C front-end.
- 	* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
- 	(void_zero_node): New macro.
- 	(struct stmt_tree_s): New type.
- 	(stmt_tree): New typedef.
- 	(struct language_function): New type.
- 	(last_tree): New macro.
- 	(last_expr_type): Likewise.
- 	(walk_tree_fn): New typedef.
- 	(current_stmt_tree): New function.
- 	(begin_stmt_tree): Likewise.
- 	(add_stmt): Likewise.
- 	(finish_stmt_tree): Likewise.
- 	(statement_code_p): Likewise.
- 	(lang_statement_code_p): New variable.
- 	(walk_stmt_tree): New function.
- 	(STMT_IS_FULL_EXPR_P): New macro.
- 	* c-common.c (lang_statement_code_p): New variable.
- 	(c_common_nodes_and_builtins): Initialize void_zero_node.
- 	(statement_code_p): New function.
- 	(walk_stmt_tree): Likewise.
- 	* c-decl.c (language_function): Rename to ...
- 	(c_language_function): ... this.  Include language_function.
- 	(push_c_function_context): Adjust accordingly.
- 	(pop_c_function_context): Likewise.
- 	(mark_c_function_context): Likewise.
- 	(current_stmt_tree): Define.
- 	* c-semantics.c (begin_stmt_tree): New function.
- 	(add_stmt): Likewise.
- 	(prune_unused_decls): Likewise.
- 	(finish_stmt_tree): Likewise.
- 
- 2000-09-06 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* flow.c (insn_dead_p): Detect dead memory stores with auto increments.
- 
- 2000-09-06  Kazu Hirata  <kazu@hxi.com>
- 
- 	* calls.c: Fix formatting.
- 
- 2000-09-06  Graham Stott  <grahams@cygnus.co.uk>
- 
- 	* config/i386/i386.h (ADDRESS_COST): Fix typo.
- 
- 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	Integrated preprocessor.
- 
- 	* Makefile.in: Remove all references to c-parse.gperf,
- 	c-gperf.h, and c-parse.h.  Remove -d from yacc command line
- 	generating c-parse.c.  Update dependencies.
- 	* c-parse.gperf, c-gperf.h: Delete.
- 
- 	* c-common.c: Don't define parse_options, cpp_token, yy_cur,
- 	yy_lim, or yy_get_token.  Don't define get_directive_line if
- 	USE_CPPLIB.
- 	* c-common.h: Add multiple include guard.  Define RID values
- 	for every keyword in C, C++, and Objective-C.  Put all the
- 	modifiers first.
- 	(struct c_fileinfo, get_fileinfo, dump_time_statistics): New.
- 	* c-decl.c (c_decode_option): Handle -lang-objc here.
- 	(print_lang_identifier): Handle C_IS_RESERVED_WORD case.
- 	(grokdeclarator): Adjust for new RID scheme.
- 	(extract_interface_info): New stub.
- 	* c-lang.c: Don't declare yy_cur or parse_options.
- 	(lang_init_options): Call cpp_init.  Don't call
- 	cpp_options_init.
- 	(lang_init): Don't call check_newline if USE_CPPLIB.
- 
- 	* c-lex.c: Don't include c-parse.h.  Do include timevar.h.
- 	Elide lots of unnecessary code if USE_CPPLIB.  Delete code
- 	rendered unnecessary by new architecture.  Move routines not
- 	shared with C++ to c-parse.in.  Maintain a local idea of the
- 	line number.    Handle C++ as well as C.
- 	[USE_CPPLIB]: Declare and register callbacks for #ident and
- 	for entering/leaving files.
- 	(init_c_lex, c_lex): Are now the entry points to this file.
- 	(check_newline): Break out directive handling to
- 	process_directive.
- 	(read_ucs, is_extended_char, utf8_extend_token): Moved here
- 	from C++ front end.
- 	(readescape, parse_float): Overhaul.
- 	(lex_number, lex_string, lex_charconst): Break out of c_lex
- 	(n'ee yylex).
- 	(get_fileinfo, update_header_times, dump_one_header,
- 	dump_time_statistics): New and/or moved here from C++.
- 	Support per-file data needed by C++ and per-header timing
- 	statistics (C++ only, at the moment).
- 	* c-lex.h: Update prototypes.  Add multiple include guard.
- 	* c-tree.h (struct lang_identifier): Add rid_code field.
- 	(C_IS_RESERVED_WORD, C_RID_CODE): New.
- 
- 	* c-parse.in: Include c-pragma.h. Remove unnecesary calls to
- 	reinit_parse_for_function and/or position_after_white_space.
- 	(save_filename, save_lineno): Look ahead before saving.
- 	(label -> identifier ':'): Save file and line before shifting ':'.
- 	(reservedwords): No need to call get_identifier.
- 	(init_parse, finish_parse, yyerror, yylex, yyprint,
- 	make_pointer_declarator): Are now here for C/ObjC.
- 	(rid_to_yy): Conversion table from RID constants to Yacc codes.
- 
- 	* c-pragma.c: Rewrite parsing logic to fit with cpplib's
- 	#pragma registry.  Provide dummy implementation of that
- 	interface if !USE_CPPLIB.
- 	* c-pragma.h: Update to match.
- 
- 	* flags.h: Add multiple include guard.
- 	(flag_detailed_statistics): Moved here from C++.
- 	* toplev.c: Define flag_detailed_statistics.
- 
- 	* gcc.c (C specs): Use %(trad_capable_cpp) for -E|-M|-MM case
- 	#if USE_CPPLIB.
- 	* timevar.def (TV_CPP, TV_LEX): New.
- 	* timevar.h: Add multiple include guard.
- 
- 	* objc/lang-specs.h: Use %(trad_capable_cpp) for -E|-M|-MM case
- 	#if USE_CPPLIB.
- 	* objc/objc-act.c: Don't mention yy_cur or parse_options.
- 	Initialize cpplib properly.  Force lineno to 0 after first
- 	call to check_newline.  Don't handle -lang-objc here.
- 	Move forget_protocol_qualifiers and remember_protocol_qualifiers here.
- 
- 2000-09-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md: Correct function unit definitions for cr_logical and
- 	mtjmpr.
- 	(sCOND): Additionally fail for sgt, slt, sge, sle if !TARGET_POWER
- 	and use portable method for >=0 and floating point >=.  Remove
- 	associated matchers.
- 
- 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* extend.texi: Mark named return value extension as deprecated.
- 
- 2000-09-06  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_reverse_condition): Return
- 	the result.
- 
- 2000-09-06  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.c (display_help): Fix thinko in documentation.
- 
- 	* diagnostic.h (output_buffer::indent_skip): New fields.
- 	(output_indentation): New macro.
- 
- 	* diagnostic.c (output_indent): New function.
- 	(output_set_prefix, clear_diagnostic_info): Use.
- 	(output_emit_prefix): Predict future indentation.
- 
- 2000-09-06  DJ Delorie  <dj@redhat.com>
- 
- 	* Makefile.in (stage_*): add more dependencies to ensure parallel
- 	builds build correctly
- 
- 2000-09-06  Manfred Hollstein  <manfredh@redhat.com>
- 
- 	* Makefile.in (bootstrap-lean): Depend on bootstrap-lean_g,
- 	not bootstrap-lean_f.
- 
- 2000-09-06  Andreas Schwab  <schwab@suse.de>
- 
- 	* mklibgcc.in: Emit rule for libgcc-stage-start.
- 	* Makefile.in (stage1-start, stage2-start, stage3-start,
- 	stage4-start): Don't handle libgcc here, use libgcc.mk instead.
- 
- 2000-09-06  Bernd Schmidt  <bernds@redhat.co.uk>
- 
- 	* local-alloc.c (local_alloc): Ignore CLASS_LIKELY_SPILLED.
- 	(update_equiv_regs): Likewise, except for the mn10200 kludge.
- 	(combine_regs): Likewise.
- 
- 	* Makefile.in (cse.o): Depend on $(BASIC_BLOCK_H).
- 	* cse.c: Include "basic-block.h".
- 	(struct table_elt): New field REGCOST.
- 	(CHEAP_REG): Delete macro.
- 	(COST): Return 0 for REGs.
- 	(approx_reg_cost_1, approx_reg_cost, preferrable): New functions.
- 	(notreg_cost): Return 0 for appropriate SUBREGs.
- 	(COSTS_N_INSNS): Return N * 2.
- 	(rtx_cost): Return 0 for REGs, and use cost of nested rtx for cheap
- 	SUBREGs.
- 	(CHEAPER): Use new function preferrable.
- 	(insert): Initialize REGCOST member.
- 	(find_best_addr): Use approx_reg_cost for estimation of register
- 	usage.
- 	(cse_insn): Likewise.
- 	* loop.c (iv_add_mult_cost): New function.
- 	(add_cost, shift_cost, mult_cost): Delete variables.
- 	(init_loop): Don't initialize add_cost; reduce copy_cost by half.
- 	(strength_reduce): Use iv_add_mult_cost instead of fixed add_cost.
- 	Make code that detects autoinc opportunities slightly less optimistic.
- 	(simplify_giv_expr): If expression contains other reg that is also a
- 	giv, only increment benefit if this is the only use of that reg.
- 	(consec_sets_giv): Take that change into account.
- 	(combine_givs): Slightly more verbose output.
- 
- 	* i386.h (RTX_COSTS): For MULT, return true cost of multiplication,
- 	not the cost of an equivalent shift.
- 	* sh-protos.h (addsubcosts): Declare.
- 	* sh.c (addsubcosts): New function.
- 	* sh.h (CONST_COSTS): If CONST_OK_FOR_I, then return 0.
- 	(RTX_COSTS): Tweak.  Use addsubcosts.
- 	(ADDRESS_COST): Return higher cost for reg+reg addressing.
- 
- 2000-09-06  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (validate_condition_mode): New function.
- 	(branch_comparison_operator): Call validate_condition_mode to
- 	abort rather than returning 0.
- 	(branch_positive_comparison_operator): New function.
- 	(scc_comparison_operator): Call validate_condition_mode to abort
- 	rather than returning 0.
- 	(ccr_bit): Call validate_condition_mode.  Update for
- 	new branch scheme.
- 	(print_operand): Delete %C modifier.  Update %E case
- 	to use EQ bit not SO bit.
- 	(rs6000_reverse_condition): New function.
- 	(rs6000_generate_compare): New function.
- 	(rs6000_emit_sCOND): New function.
- 	(rs6000_emit_cbranch): New function.
- 	(output_cbranch): The length of a long branch insn is
- 	now only 8 bytes.  Add validate_condition_mode.  Use
- 	rs6000_reverse_condition.  Remove cror generation.
- 
- 	* config/rs6000/rs6000.h: Update comments.
- 	(PREDICATE_CODES): Add new predicate.  Update codes used
- 	by branch_comparison_operator and scc_comparison_operator.
- 	* config/rs6000/rs6000-protos.h: Add prototypes for
- 	new external functions.
- 	* config/rs6000/rs6000.md: Add new scheduling parameters
- 	for cr_logical instructions.  Change length of branch
- 	instructions.
- 	(bCOND patterns): Call rs6000_emit_cbranch.
- 	(sCOND patterns): Call rs6000_emit_sCOND.
- 	(branch patterns): Change lengths to 4.
- 	(cr logical patterns): New.
- 
- 2000-09-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/i386.md (call_pop): Fix test for setting
- 	current_function_uses_pic_offset_table.
- 	(call, call_value_pop, call_value): Likewise.
- 
- 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* timevar.c (timevar_add): Delete.
- 	(timevar_get): Also count time since the selected timer was
- 	last updated.  Do not examine the timevar stack if the
- 	selected timer is standalone.
- 
- 2000-09-05  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gthr-dce.h (__gthread_objc_mutex_deallocate): Free mutex->backend.
- 
- 2000-09-05  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (finish_incomplete_decl): Don't call complete_array_type
- 	for 'extern' arrays.
- 
- 2000-09-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/lib1func.asm (__divtf3): Rebundle for Itanium.
- 	Eliminate final copy from non-trapping case.
- 	(__divdf3, __divsf3): Likewise.
- 
- 2000-09-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (mulhi3): Fix typo last change.
- 	* config/ia64/lib1func.asm (__divdi3, __udivdi3, __umodsi3): Likewise.
- 
- 2000-09-03  Donn Terry  <donn@interix.com>,  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* Makefile.in: Restructure bootstrap stages to allow clean
- 	restart after failure.
- 
- 2000-09-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64.md (movsi and movdi patterns): Allow moves from
- 	8-bit constants to AR registers.
- 
- 2000-09-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (mulhi3): New.
- 
- 2000-09-05  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.h (INIT_TARGET_OPTABS): Remove.
- 	* config/ia64/lib1funcs.asm (__divdi3): Update from Intel IA-64
- 	Optimization Guide, minimum latency alternative.
- 	(__moddi3, __udivdi3, __umoddi3): Likewise.
- 	(__divsi3, __modsi3, __udivsi3, __umodsi3): Likewise.
- 
- 2000-09-05  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.c (load_file): always read header files
- 	with sizes that are a multiple of the page size.
- 	& use libiberty's getpagesize for determining that.
- 
- 2000-09-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcse.c (hash_string_1): Add prototype.
- 	* cse.c (canon_hash_string): Likewise.
- 
- 2000-09-04  Craig Newell  <CraigN@ieee.org>
- 
- 	* gcc.c: Undefine "__WCHAR_TYPE__" before redefining it.
- 
- 2000-09-04  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (STAGESTUFF): Remove libgcc.
- 	(stage1-start, stage2-start, stage3-start): Copy the contents of
- 	the libgcc directory explicitly.
- 	(mostlyclean): Clean libgcc.
- 
- 2000-09-04  Andrew Haley  <aph@redhat.com>
- 
- 	* dwarf2out.c: (stack_adjust_offset): New prototype.
- 
- Wed Jan  1 00:23:59 MET 1997  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (make_extraction): Fix rtx_cost comparison to
- 	match the comment.
- 
- Wed Jan  1 00:17:32 MET 1997  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pushsi2, pushhi2, pophi2, swapsf, swapdf,
- 	umulsi3_highpart, smulsi3_highpart, testqi_ccno_1, xorqi_ext_1):
- 	Add '*' to insn pattern name.
- 
- 2000-09-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplex.c (ON_REST_ARG): Check VAR_ARGS flag of current context,
- 	use posn - 1 to index into tokens array.
- 	(maybe_paste_with_next): Adjust caller.
- 
- 2000-09-03  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* invoke.texi: Document the -mvxworks option for rs6000 ELF.
- 
- 	* config/rs6000/rs6000.h: Update various comments about XER_REGNO.
- 	(REGNO_REG_CLASS): Use symbolic register
- 	names.
- 
- 2000-09-03  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (final_prescan_insn): If the form of a jump insn isn't
- 	recognized, don't try to conditionally execute it.
- 
- Sun Sep  3 13:10:56 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md ("*tablejump_lib"): New pattern.
- 	(call_value_insn): Right length claculation.
- 	(call_insn): Likewise.
- 
- 2000-09-02  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr-protos.h, config/avr/avr.c (unique_section,
- 	gas_output_limited_string, gas_output_ascii, output_movqi,
- 	output_movhi, out_movqi_r_mr, out_movqi_mr_r, out_movhi_r_mr,
- 	out_movhi_mr_r, out_movsi_r_mr, out_movsi_mr_r, output_movsisf,
- 	out_tstsi, out_tsthi, ret_cond_branch, ashlqi3_out, ashlhi3_out,
- 	ashlsi3_out, ashrqi3_out, ashrhi3_out, ashrsi3_out, lshrqi3_out,
- 	lshrhi3_out, lshrsi3_out, output_reload_inhi, output_reload_insisf,
- 	out_shift_with_cnt, ptrreg_to_str, cond_string, encode_section_info):
- 	Add "const" as needed to remove warnings.
- 
- 	* config/avr/avr.c (avr_override_options, avr_init_once,
- 	function_prologue, function_epilogue, frame_pointer_required_p,
- 	class_likely_spilled_p, order_regs_for_local_alloc,
- 	avr_address_cost, avr_ret_register): Use K&R style arguments.
- 	(initial_elimination_offset, gas_output_limited_string):
- 	Remove ATTRIBUTE_UNUSED from the used arguments.
- 	(output_mov*, out_mov*_r_mr, out_mov*_mr_r, output_reload_insisf):
- 	Use local variables src, dest, base to access operands[].
- 	Rename reg_dest to reg_src if that's what it is.
- 	(output_movhi, output_movsisf): Optimize loading 8-bit immediate
- 	constants to LD_REGS if reg_was_0.
- 	(output_reload_insisf): Change arg 3 to insn length and set it.
- 	(out_movhi_r_mr, out_movhi_mr_r): Use in/out for more efficient
- 	access to 16-bit I/O register pairs.
- 	(avr_address_cost): Lower cost for the above case.
- 	(out_tsthi): Use "or" (faster) instead of "sbiw" if the operand
- 	may be clobbered, also for LD_REGS.
- 	(adjust_insn_length): Correct insn length for iorhi3 and iorsi3
- 	with a CONST_INT.
- 
- 	* config/avr/avr.h (PTRDIFF_TYPE): Make signed.
- 
- 	* config/avr/avr.md: Change all uses of the TEST_HARD_REG_CLASS
- 	macro to test_hard_reg_class function.
- 	(*movsi, *movsf): Change "cc" attribute from "clobber" to "none"
- 	for loading immediate constants to LD_REGS.
- 	(andsi3, cmphi, cmpsi): Add return statements to avoid warnings.
- 
- 
- Sat Sep  2 13:58:23 2000  Marek Michalkiewicz <marekm@linux.org.pl>
- 
- 	* config/avr/avr.md ("*negsi2"): substitute %@ to __zero_reg__
- 	* config/avr/libgcc.S: Lost part of the previous patch.
- 
- 2000-08-31  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gthr-dce.h (__gthread_objc_mutex_allocate): Create a pthread_mutex_t
- 	object before calling pthread_mutex_init.
- 
- 2000-09-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/t-elf, config/sh/crt1.asm, config/sh/crti.asm,
- 	config/sh/crtn.asm: New files.
- 	* config/sh/t-sh (EXTRA_MULTILIB_PARTS): Set.
- 	(crt1.o, crti.o, crtn.o): New targets.
- 	* configure.in [sh-*-elf*, sh-*-rtemself*] (tmake_file): Added
- 	sh/t-elf.
- 	* configure: Rebuilt.
- 	* config/sh/sh.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP,
- 	STARTFILE_SPEC, ENDFILE_SPEC, CRT_CALL_STATIC_FUNCTION): Define.
- 	* config/sh/elf.h (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP):
- 	Undefine for config/elfos.h to redefine.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Redefine after config/elfos.h.
- 
- 2000-09-02  Alexandre Oliva  <aoliva@redhat.com>, Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
- 
- 	* config/sh/sh-protos.h (nonpic_symbol_mentioned_p,
- 	legitimize_pic_address, output_pic_addr_const): Declare.
- 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Fix PIC register.
- 	(PREFERGOT_BIT, TARGET_PREFERGOT): Likewise.
- 	(TARGET_SWITCHES): New switch -mprefergot.
- 	(OVERRIDE_OPTIONS): Set flag_no_function_cse unless -mprefergot.
- 	(PIC_OFFSET_TABLE_REGNUM): Define.
- 	(GOT_SYMBOL_TABLE): Likewise.
- 	(LEGITIMIZE_ADDRESS): Use legitimize_pic_address.
- 	(ENCODE_SECTION_INFO): Define.
- 	(FINALIZE_PIC): New macros.
- 	(LEGITIMATE_PIC_OPERAND_P, SYMBOLIC_CONST_P): New macro.
- 	(ASM_OUTPUT_INT, ASM_OUTPUT_SHORT): Use output_pic_addr_const.
- 	* config/sh/sh.c (print_operand_address): Use output_pic_addr_const.
- 	(prepare_move_operands): Call emit_pic_move or
- 	emit_pic_const_move if appropriate.
- 	(output_far_jump): For PIC, use braf and output long offset.
- 	(machine_dependent_reorg):
- 	(sh_expand_prologue): Save and initialize the PIC register.
- 	(sh_expand_epilogue): Restore it.
- 	(initial_elimination_offset): Account for it.
- 	(nonpic_symbol_mentioned_p): New function.
- 	(legitimize_pic_address): Likewise.
- 	(output_pic_addr_const): Likewise.
- 	* config/sh/sh.md (calli_pcrel, call_valuei_pcrel): New insns.
- 	(call, call_value): Use them.
- 	(GOTaddr2picreg, sym_label2reg, symGOT2reg, symGOTOFF2reg,
- 	symPLT_label2reg): New expands.
- 	* invoke.texi (SH Options): Document -mprefergot.
- 
- 2000-09-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* rtl.h (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): New macro.
- 	* gcse.c (hash_string_1): New function.
- 	(hash_expr_1) <ASM_OPERANDS>: Disregard filename and line number.
- 	(expr_equiv_p) <ASM_OPERANDS>: Likewise.
- 	* cse.c (rtx_cost): Don't increase the cost of ASM_OPERANDS.
- 	(canon_hash_string): New function.
- 	(canon_hash) <ASM_OPERANDS>: Disregard filename and line number.
- 	(exp_equiv_p) <ASM_OPERANDS>: Likewise.
- 	(fold_rtx): Use ASM_OPERANDS accessor macros.
- 	* emit-rtl.c (copy_insn_1): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	* stmt.c (expand_asm_operands): Likewise.  Give an
- 	ASM_OPERANDS rtx the mode of the output reg being set from it.
- 
- 2000-09-01  Fred Fish  <fnf@be.com>
- 
- 	* fix-header.c (write_rbrac): Add putc and getc to list of
- 	functions to protect against prior definition as a macro.
- 
- 2000-09-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.h (enum c_tree_index): Add CTI_C_SIZE_TYPE.
- 	(c_size_type_node): Define.
- 	* c-decl.c (init_decl_processing): Initialize c_size_type_node.
- 	* c-common.c (enum format_lengths, enum format_std_version,
- 	format_length_info, format_type_detail, BADLEN, NOLENGTHS,
- 	format_kind_info, printf_length_specs, scanf_length_specs, T89_I,
- 	T99_I, T89_L, T99_LL, TEX_LL, T89_S, T89_UI, T99_UI, T89_UL,
- 	T99_ULL, TEX_ULL, T89_US, T89_F, T99_F, T89_D, T99_D, T89_LD,
- 	T99_LD, T89_C, T99_SC, T99_UC, T89_V, T94_W, TEX_W, T94_WI,
- 	TEX_WI, T99_ST, T99_SST, T99_PD, T99_UPD, T99_IM, T99_UIM,
- 	format_types): Define.
- 	(format_char_info, print_char_table, scan_char_table,
- 	time_char_table): Rearrange for new organization of information
- 	about format length modifiers and standard versions.
- 	(T_ST): Redefine to use c_size_type_node.
- 	(check_format_info): Obtain information about length modifiers and
- 	standard versions from tables.  Adjust warning message wordings.
- 	Use the name from the user's program for `ll' and `hh' length
- 	modifiers in warning messages.  Use more informative names for
- 	wanted types where available (for wchar_t, wint_t, size_t, signed
- 	size_t, ptrdiff_t, unsigned ptrdiff_t, intmax_t and uintmax_t).
- 
- 2000-09-01  Jim Wilson  <wilson@cygnus.com>
- 
- 	* calls.c (emit_call_1): Add REG_NORETURN note to call if ECF_NORETURN.
- 	* combine.c (distribute_notes): Handle REG_NORETURN.
- 	* rtl.c (reg_note_name): Add REG_NORETURN.
- 	* rtl.h (enum reg_note): Likewise.
- 
- 	* config/ia64/ia64-protos.h (emit_safe_across_calls): Renamed from
- 	ia64_file_start.
- 	* config/ia64/ia64.c (emit_safe_across_calls): Likewise.
- 	(rtx_needs_barrier): Handle unspec_volatile 8 and 9.
- 	(emit_predicate_relation_info): Handle conditional calls with
- 	REG_NORETURN.
- 	* config/ia64/ia64.h (ASM_FILE_START): Call emit_safe_across_calls
- 	instead of ia64_file_start.
- 	* config/ia64/sysv4.h (ASM_FILE_START): Likewise.
- 	* config/ia64/ia64.md (safe_across_calls_all,
- 	save_across_calls_normal): New patterns.
- 
- 	* loop.c (check_final_value): Check for biv use before checking for
- 	giv use.  Check for both biv and giv uses.  Always set last_giv_use
- 	if there is a giv use.
- 
- 2000-09-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (mulsi3): Use grfr_register_operand.
- 	(madddi3): Likewise.
- 	(maddsi3): New.
- 
- Fri Sep  1 10:59:47 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (clear_storage): Don't use emit_move_insn unless
- 	either BLKmode or proper size.
- 	(store_constructor): Don't call clear_storage if REG of wrong size.
- 
- 	* flow.c (init_propagate_block_info): Don't mark frame dead at end
- 	of function if returns wiht stack pointer depressed.
- 
- 2000-09-01  Andrew Haley  <aph@redhat.com>
- 
- 	* dwarf2out.c (stack_adjust_offset): New function.
- 	(dwarf2out_stack_adjust): Break out stack adjust logic into
- 	new stack_adjust_offset function.  Look inside parallels and
- 	sequences for stack adjustments.
- 
- 2000-08-31  Jeff Law <law@cygnus.com>
- 
- 	* arm.md: Use no_new_pseudos to determine when it is safe
- 	to create new pseudo registers.
- 
- 	* arm.c (legitimize_pic_address): Use no_new_pseudos to determine
- 	when we can safely allocate new registers.
- 
- 2000-08-31  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Twiddle generating_concat_p
- 	so that CONCATs are not generated for ASMs.
- 	* emit-rtl.c (gen_reg_rtx): Don't generate CONCATs when
- 	not generating_concat_p.
- 	* function.c (pop_function_context_from): Reset
- 	generating_concat_p.
- 	(prepare_function_start): Likewise.
- 	* rtl.c (generating_concat_p): Define.
- 	* rtl.h (generating_concat_p): Declare.
- 	* toplev.c (rest_of_compilation): No CONCATs after RTL generation.
- 
- 2000-08-22  Philipp Thomas  <pthomas@suse.de>
- 	    Masanobu Yuhara <yuhara@flab.fujitsu.co.jp>
- 
- 	* gmicro.h (TARGET_SWITCHES): Add descriptions and mark them
- 	for translation.
- 
- 2000-08-30  Greg McGary  <greg@mcgary.org>
- 
- 	* Makefile.in (fixinc.sh): Pass CC, CFLAGS and LDFLAGS to mkfixinc.sh
- 	* fixinc/Makefile.in (fixincl): Pass $(LDFLAGS) to $(CC).
- 	* fixinc/mkfixinc.sh: Pass $CC, $CFLAGS and $LDFLAGS to $MAKE.
- 
- 2000-08-30  Greg McGary  <greg@mcgary.org>
- 
- 	* tree.h (struct tree_int_cst): Wrap low and high in a sub-struct.
- 	(TREE_INT_CST_LOW, TREE_INT_CST_HIGH): Access through sub-struct.
- 	(TREE_INT_CST): New macro.
- 	* varasm.c (const_hash, compare_constant_1, record_constant_1):
- 	Use new macro TREE_INT_CST.
- 
- Wed 30-Aug-2000 23:18:59 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* contrib.texi: Add self.
- 
- 2000-08-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (cmpeqsi_ior_t, cmpeqsi_and_t): New insns.
- 	(cmpeqdi_t splitter): Use cmpeqsi_and_t instead of emitting jumps
- 	and labels.
- 
- 2000-08-30  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* fixinc/gnu-regex.c: Don't define `const'.
- 
- Tue Aug 29 22:09:59 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): Allow variable bounds of array type.
- 	(expand_expr): Don't blow up if type is ERROR_MARK.
- 	* varasm.c (output_constructor): Don't access lower bound of array
- 	type unless need it if index is supplied (so it can be a variable
- 	if no index is supplied).
- 	Use tree_low_cst; use HOST_WIDE_INT for sizes; change BITPOS to POS.
- 	Other minor cleanups.
- 
- 2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* Makefile.in: Revamp handling of cflags to allow different WARN_CFLAGS
- 	for compilations in stage 1 and subsequent stages, respectively.
- 	* configure.in (vax): Add compiler-dependent CFLAGS for stage 1.
- 	* configure: Rebuilt.
- 	* x-vax, x-vax-gcc: Deleted.
- 
- 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-common.c (declare_function_name): Use func_id_node,
- 	function_id_node, and pretty_function_id_node.  Do not make
- 	__func__ visible at file scope.
- 	* c-common.h (c_tree_index): Add CTI_FUNCTION_ID,
- 	CTI_PRETTY_FUNCTION_ID, and CTI_FUNC_ID.
- 	(function_id_node, pretty_function_id_node, func_id_node): New
- 	macros.
- 	* c-decl.c (init_decl_processing): Initialize function_id_node,
- 	pretty_function_id_node, and func_id_node.
- 	(c_make_fname_decl): Correct comment.
- 
- 	* tree.h (struct tree_identifier): Constify pointer member.
- 
- 	* c-decl.c (pushdecl, implicit_decl_warning): Constify a char *.
- 	* c-pragma.h (struct weak_syms): Constify name and value members.
- 	(add_weak): Constify arguments.
- 
- 	* calls.c (special_function_p): Constify a char *.
- 	(expand_call): Remove variable which is initialized and then
- 	never used.
- 	* dependence.c (struct def_use, struct induction, struct subscript):
- 	Constify 'variable' member.
- 	(get_low_bound, have_induction_variable): Constify char * argument.
- 	(find_induction_variable): Add braces to avoid dangling else.
- 	(classify_dependence): Constify char * arrays.
- 	* profile.c (output_func_start_profiler): Constify a char *.
- 	* stor-layout.c (finalize_record_size): Constify a char *.
- 	* tree.c (is_attribute_p): Constify a char *.
- 	* varasm.c (add_weak, remove_from_pending_weak_list): Constify argument.
- 
- 	* varasm.c (make_function_rtl, make_decl_rtl): Rearrange code
- 	for comprehensibility.  Do not call get_identifier if we did
- 	not change the DECL_ASSEMBLER_NAME of the decl.  Use alloca to
- 	create temporary string constants, not ggc_alloc_string.  No
- 	need to copy result of ASM_FORMAT_PRIVATE_NAME.  Use const
- 	char * to hold IDENTIFIER_POINTERs.
- 
- 2000-08-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (muldi3): Use grfr_register_operand
- 	for the inputs.
- 
- 2000-08-29  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (push_secondary_reload): Allow class == reload_class
- 	if we're using a reload_in/out pattern.
- 
- 	* config/ia64/ia64.md (reload_inti): Use a TImode scratch.  Use
- 	the half that does not conflict with the reload register.
- 	(reload_outti): Likewise.
- 
- 2000-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* reload.c: Fix formatting.
- 
- 	* stmt.c: Fix formatting.
- 
- 	* gcc.c: Fix formatting.
- 
- 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* flags.h (time_report, mem_report): New global flags.
- 	* toplev.c: Define time_report and mem_report.
- 	(f_options): Add -ftime-report and -fmem-report.
- 	(compile_file): Turn on time_report if quiet_flag is off.
- 	Call ggc_print_statistics at very end if mem_report is on.
- 	* timevar.c (TIMEVAR_ENABLE): Examine time_report, not quiet_flag.
- 
- 	* ggc-common.c (ggc_print_statistics): Rename to
- 	ggc_print_common_statistics; all callers changed.  Scale
- 	quantities above 10K to kilobytes and above 10M to megabytes.
- 	* ggc-page.c (ggc_page_print_statistics): Rename to
- 	ggc_print_statistics.  Report memory consumed by internal data
- 	structures for each allocation bucket.  Scale quantities above
- 	10K to kilobytes and above 10M to megabytes.
- 	* ggc-simple.c: Prototype debug_ggc_tree to avoid warning.
- 	Cast PTR_KEY(p) to unsigned long in fprintf call to avoid warning.
- 	Define tally_leaves always.
- 	(ggc_print_statistics): New function.
- 	* ggc.h: Adjust for renamed functions.
- 
- Wed Aug 30 00:11:42 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md ("*movsf","*movsi"): Pass NULL to
- 	output_movsisf instead of which_alternative.
- 
- 	* config/avr/avr.c (output_reload_inhi): Check for NULL ponter.
- 
- Tue Aug 29 22:29:58 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz <marekm@linux.org.pl>
- 
- 	* config/avr/avr-protos.h: (avr_output_ascii) Removed.
- 	(avr_progmem_p): New prototype.
- 	(output_movsisf): Prototype declaration changed.
- 	(output_movqi): New prototype.
- 	(output_movhi): New prototype.
- 	(call_insn_operand): Likewise.
- 	(final_prescan_insn): Likewise.
- 	(avr_simplify_comparision_p): Likewise.
- 	(avr_normalize_condition): Likewise.
- 	(compare_eq_p): Likewise.
- 	(out_shift_with_cnt): Likewise.
- 	(const_int_pow2_p): Likewise.
- 	(output_reload_inhi): Prototype declaration changed.
- 
- 	* config/avr/avr.c: (debug_hard_reg_set): Prototype declared.
- 	(ldi_reg_rtx): New. rtx for r31.
- 	(avr_init_stack): Initialize as "__stack".
- 	(function_prologue): Use it.
- 	Replace all TARGET_ENHANCED with AVR_ENHANCED.
- 	(avr_mcu_name): Initialize as "avr2".
- 	(avr_enhanced_p, avr_mega_p): New variables.
- 	(mcu_types, avr_override_options): Handle all known MCU types.
- 	Also handle avr1 (only preprocess, assemble and link).
- 	(print_operand): Using of `%K' in output template removed.
- 	(out_movqi_r_mr): Optimized.
- 	(out_movhi_r_mr): Likewise.
- 	(output_movqi): New function.
- 	(output_movhi): Likewise.
- 	(out_movsi_r_mr): Optimized.
- 	(output_movsisf): Compute insn length for `adjust_insn_length'
- 	(out_movqi_mr_r): Optimized.
- 	(out_movhi_mr_r): Optimized.
- 	(adjust_insn_length): Use output_movsisf, output_movqi,
- 	output_movhi for insn length adjusting.
- 	(reg_unused_after): Use dead_or_set_p.
- 	(preferred_reload_class): Now haven't any restriction.
- 	(reg_was_0): New function.
- 	(io_address_p): Likewise.
- 	(const_int_pow2_p): Likewise.
- 	(output_reload_inhi): Likewise.
- 	(output_reload_insisf): Likewise.
- 
- 	* config/avr/avr.h (MULTILIB_DEFAULTS): Define.
- 	(LIB_SPEC): Use -lc for all supported devices.
- 	(LIBGCC_SPEC): Use -lgcc for all supported devices.
- 	(AVR_MEGA): Define as avr_mega_p.
- 	(AVR_ENHANCED): New, define as avr_enhanced_p.
- 	(TARGET_SWITCHES): Remove -menhanced, now handled by -mmcu=...
- 	(CPP_SPEC, LINK_SPEC): Handle all known MCU types.
- 	(CRT_BINUTILS_SPECS): Handle all known MCU types.
- 	Rename gcrt1-*.o to make file names unique on 8.3 filesystems.
- 	(EXTRA_SPECS): Add CPP_AVR[1-5]_SPEC.
- 	(ASM_SPEC): Pass -mmcu=... to the assembler.
- 	Change all -DAVR_* to -D__AVR_*__.
- 	(INIT_TARGET_OPTABS), config/avr/libgcc.S:
- 	Rename library functions to start with two underscores.
- 	(ASM_OUTPUT_COMMON): Outputs `.comm VAR,VAR-SIZE,1' to avoid
- 	alignment.
- 	(ASM_WEAKEN_LABEL): Declared for __attribute__((weak)).
- 	(SUPPORTS_WEAK): Likewise.
- 	(LDI_REG_REGNO): New. Register r31 will be used as temporary
- 	register for loading constants to r0-r14.
- 
- 	* config/avr/avr.md: Replace all TARGET_ENHANCED with
- 	AVR_ENHANCED.
- 	(*mov_r_sp): Removed. Handled by output_movhi.
- 	(*mov_sp_r): Likewise.
- 	(*mov_sp_r_no_interrupts): Likewise
- 	(*mov_sp_r_tiny): Likewise.
- 	(*movqi): Use output_movqi.
- 	(*reload_inqi): New.
- 	(*movhi): Use output_movhi.
- 	(*reload_inhi): New.
- 	(*negsi2): Optimized.
- 	(*negsf2): Likewise.
- 	Added peepholes (define_peephole2) for loading constants to r0-r14
- 	and for using `cpse' command.
- 
- 	* config/avr/libgcc.S: Rename library functions to start with two
- 	underscores.
- 	Add support for enhanced core.
- 	(_moqhi3): Fix typo, now _modqi3.
- 	(__divsi_raw): Use __zero_reg__ as loop counter, smaller by 1 word.
- 	(__prologue_saves__): Remove test for stack adjust by 0.
- 	(__tablejump__): New.
- 
- 	* config/avr/t-avr: Build libgcc2 with -mcall-prologues.
- 	Add multilib support.
- 
- Tue Aug 29 15:17:54 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* loop.c (prescan_loop): Don't check unknown_address_altered
- 	when deciding if insert_loop_mem is safe.  Add BLKmode MEMs
- 	to loop_store_mems as necessary.
- 	(loop_invariant_p): Don't check unknown_address_altered
- 	or unknown_constant_address_altered.
- 
- 2000-08-29  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.md (sltu, sgeu): Delete sltu and sgeu insn patterns.
- 
- 2000-08-29  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpperror.c (print_file_and_line): If line is (unsigned int)-1,
- 	print just the filename.
- 	* cpplex.c (_cpp_run_directive): Add additional argument, the
- 	name to give the synthetic buffer.  This defaults to
- 	translated "<command line>".
- 	* cpplib.c (cpp_define, cpp_undef, cpp_assert, cpp_unassert):
- 	Adjust to match.
- 	(_cpp_define_builtin): New function.
- 	* cppinit.c (initialize_builtins): Use _cpp_define_builtin.
- 	* cpphash.h: Update prototypes.
- 
- 	* tradcpp.c (main): Process -D and -U simultaneously, in the
- 	order they appeared on the command line.
- 
- 2000-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (define_label): Call warning_with_file_and_line and
- 	error_with_file_and_line instead of plain warning or error.
- 
- 	* c-parse.in (label): Use save_filename/save_lineno to ensure
- 	correct values for calls to define_label.
- 
- 2000-08-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (expand_call): Don't create a VAR_DECL just to throw it
- 	away.
- 	* expr.c (expand_expr, case TARGET_EXPR): Don't call
- 	mark_addressable.
- 	* tree.h (get_file_function_name): Remove two duplicate
- 	declarations.
- 
- 2000-08-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* tree.c: Fix formatting.
- 
- 	* xcoffout.c: Fix formatting.
- 
- 2000-08-28  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (attr_checksum): Also ignore DW_AT_producer.
- 
- 2000-08-28  Daniel Berlin  <dberlin@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Don't bother calling
- 	break_out_includes if it won't do anything.
- 
- 2000-08-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (push_secondary_reload): Revert 2000-08-16 change.
- 	(find_reloads): Likewise.
- 	* config/alpha/alpha.md (reload_inqi): Revert 2000-08-11 change.
- 	(reload_inhi): Likewise.
- 
- 2000-08-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/i386.c: Don't error on EXTRA_CONSTRAINT defined.
- 	(call_insn_operand): Don't expect a surrounding mem.
- 	(constant_call_address_operand): Likewise.
- 	* config/i386/i386.h (PREDICATE_CODES): Update.
- 	* config/i386/i386.md (call patterns): Move the match_operand
- 	for the call destination inside the mem.
- 
- 2000-08-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* local-alloc.c (requires_inout): Don't use reserved range for
- 	EXTRA_CONSTRAINTS; use anything not matched by REG_CLASS_FROM_LETTER.
- 	* recog.c (asm_operand_ok): Likewise.
- 	(preprocess_constraints, constrain_operands): Likewise.
- 	* regclass.c (record_reg_classes): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* reload1.c (maybe_fix_stack_asms): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	* stmt.c (expand_asm_operands): Likewise.
- 
- 	* md.texi: Update constraints documentation.
- 	* tm.texi (EXTRA_CONSTRAINT): Update.
- 
- 2000-08-28  Daniel Berlin  <dberlin@redhat.com>
- 
- 	* dwarf2out.c (DIE_LABEL_PREFIX): Remove leading "__".
- 	(print_die): If we don't know the offset of the
- 	target die, try the symbol.  Add a trailing newline.
- 	(reverse_all_dies): New fn.
- 	(dwarf2out_finish): Call it.
- 	(break_out_includes): Reorganize for clarity.
- 	(add_sibling_attributes): Don't call reverse_die_lists.
- 	(output_comp_unit): Rename from output_comdat_comp_unit.  Use for
- 	primary CU, too.
- 	* flags.h: Add flag_eliminate_dwarf2_dups.
- 	* toplev.c (f_options): Support -feliminate-dwarf2-dups.
- 
- 2000-08-28  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2.h (DW_TAG_GNU_BINCL, DW_TAG_GNU_EINCL): New tags.
- 	* dwarf2out.c: #include "md5.h".
- 	(DIE_LABEL_PREFIX): New macro.
- 	(dw_val_struct): Add 'external' flag to val_die_ref.
- 	(add_AT_die_ref, AT_ref): Adjust.
- 	(AT_ref_external, set_AT_ref_external): New fns.
- 	(build_abbrev_table): Call set_AT_ref_external.
- 	(value_format): Call AT_ref_external.
- 	(die_struct): Add die_symbol field.
- 	(new_die): Clear it.
- 	(dwarf_tag_name): Handle BINCL/EINCL.
- 	(dwarf2out_start_source_file): Add BINCL DIE.
- 	(dwarf2out_end_source_file): Add EINCL DIE.
- 	(push_new_compile_unit, pop_compile_unit, clear_die_sizes): New fns.
- 	(loc_checksum, attr_checksum, die_checksum): New fns.
- 	(is_type_die, is_comdat_die, is_symbol_die): New fns.
- 	(compute_section_prefix, assign_symbol_names): New fns.
- 	(gen_internal_sym, output_die_symbol, output_symbolic_ref): New fns.
- 	(output_die): Call output_die_symbol and AT_ref_external.
- 	(output_comdat_comp_unit): New fn, split out from...
- 	(dwarf2out_finish): ...here.  Also call add_sibling_attributes for
- 	secondary CUs.
- 	(output_pubnames, output_aranges): Abort if we see entries from
- 	secondary CUs.
- 	* toplev.h: Declare file_name_nondirectory.
- 	* toplev.c (file_name_nondirectory): New fn, moved from C++ frontend.
- 	(rest_of_type_compilation): Call dwarf2out_decl if at toplevel.
- 	(debug_start_source_file): Call dwarf2out_start_source_file
- 	regardless of debug verbosity.
- 	(debug_end_source_file): Similarly.
- 	* tree.h: Declare clean_symbol_name.
- 	* tree.c (clean_symbol_name): Split out from...
- 	(get_file_function_name_long): ...here.
- 
- 	* dwarf2out.c (new_loc_descr): Use calloc.
- 	(splice_child_die): Remove the die from the right parent.
- 	(gen_struct_or_union_die): Don't add AT_name to a specification DIE.
- 
- Mon Aug 28 19:02:13 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (decode_g_option): Don't give warning for unknown -g
- 	option; return 0 instead.
- 	(main): If -g option is not recognized by front end or
- 	language-independent code, give warning.
- 
- 2000-08-28  Greg McGary  <greg@mcgary.org>
- 
- 	* config/i386/i386-protos.h (ix86_expand_compare): Add extern decl.
- 	* config/i386/i386.c (ix86_expand_compare): Remove `static'.
- 	* config/i386/i386.md (trap, conditional_trap): New insn & expand.
- 
- 2000-08-27  Greg McGary  <greg@mcgary.org>
- 
- 	* cpplex.c (parse_string): Don't look for backslash
- 	before first char in `namebuf'.
- 	* loop.c (strength_reduce): Skip NOTEs.
- 
- 2000-08-27  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Don't set TREE_STATIC or clear
- 	DECL_EXTERNAL on a local extern.  Don't set DECL_IGNORED_P or
- 	TREE_ASM_WRITTEN, either.
- 	(finish_decl): Adjust.
- 
- 2000-08-28  Philipp Thomas  <pthomas@suse.de>
- 
- 	* ABOUT-GCC-NLS: Remove gettext patches from Paul Eggert as
- 	they have been incorporated into the gettext CVS. Change the text to
- 	reflect the current status of NLS. Add instructions for accessing
- 	the gettext CVS and add the patch from Martin v. Loewis.
- 
- 2000-08-27  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.md (movdi_internal64+5): Make SUBREG-safe
- 	by using gen_lowpart_common.
- 	(movdi_internal64+6): Likewise.
- 
- 2000-08-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tm.texi (FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION):
- 	Document.
- 
- 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Remap register
- 	numbers to the ranges used by GDB.
- 
- 2000-08-25  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.h (struct machine_function): Add n_varargs.
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Use it.
- 	(ia64_expand_prologue): Likewise.
- 	(ia64_setup_incoming_varargs): Set it.  Properly skip the current
- 	argument for stdargs.
- 
- 2000-08-25  Jason Merrill  <jason@redhat.com>
- 
- 	* integrate.c (expand_inline_function): Pull out the original decl.
- 
- 2000-08-25  Jim Wilson  <wilson@cygnus.com>
- 
- 	* cse.c (cse_insn): Don't pass label subtraction to force_const_mem.
- 
- 	* function.c (gen_mem_addressof): Clear MEM_ALIAS_SET if no decl.
- 
- 2000-08-25  Greg McGary  <greg@mcgary.org>
- 
- 	* flow.c (dump_edge_info): Use ARRAY_SIZE.
- 	* config/alpha/alpha.c (alpha_expand_block_move): Likewise.
- 
- 2000-08-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (STRUCT_VALUE): Define to 0, not NULL.
- 
- Fri Aug 25 12:52:49 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* i386.c (ix86_find_base_term): New.
- 	* i386-protos.h (ix86_find_base_term): Prototype.
- 	* i386.h (FIND_BASE_TERM): Define.
- 	* alias.c (find_base_term): Use it.
- 	* tm.texi (FIND_BASE_TERM): Document it.
- 
- 	* alias.c (true_dependence, write_dependence_p): Unchanging
- 	memory can't conflict with non-unchanging memory.
- 
- 	* alias.c (memrefs_conflict_p): A BLKmode reference
- 	to a symbol (or CONST_INT address) always conflicts
- 	with a reference to another symbol.
- 
- 2000-08-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (time_char_table): Don't allow width and flags with
- 	"z" format.
- 
- 2000-08-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same
- 	way as LT and LTU when the second operand has 0 in low word.
- 
- 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* basic-block.h (struct loop): Rename `exits' field to
- 	`exit_edges'.  Add `entry_edges' and `num_entries' fields.
- 
- 	* flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find.
- 	(flow_loop_entry_edges_find): Add.
- 	(flow_edge_list_print): Rename from flow_exits_print.
- 	(flow_loops_find): Call flow_loop_entry_edges_find.
- 	(flow_loop_dump): Dump entry_edges list.
- 	(flow_loops_free): Free entry_edges.
- 
- 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (loop_dump_aux, debug_loop): New functions.
- 	(LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros.
- 
- 	* flow.c (flow_loops_dump): Add callback parameter.
- 	(flow_loop_dump): Add callback parameter and call it.  Move
- 	loop note debugging code to loop_dump_aux.
- 
- 	* basic-block.h (flow_loop_dump): Add callback parameter
- 	(flow_loops_dump): Likewise.
- 
- 	* toplev.c (rest_of_compilation): Add NULL callback function pointer
- 	to call to flow_loops_dump.
- 
- 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (count_loop_regs_set): Replace start and end arguments
- 	with loop argument.  All callers udated.
- 
- 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (constant_high_bytes): Delete.
- 
- 2000-08-26  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT
- 	and NOTE_INSN_LOOP_VTOP to...
- 	(find_and_verify_loops) ...here.
- 
- Fri Aug 25 04:21:13 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default.
- 	(fini_dummy, init_dummy): Use it.
- 
- Fri 25-Aug-2000 08:03:27 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (is_macro_disabled): Caller has already checked
- 	that we're not a preprocessed file.
- 
- 2000-08-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o.
- 	(c-iterate.o): Remove target.
- 	* gcc/c-common.h (enum rid): Remove RID_ITERATOR.
- 	* gcc/c-decl.c (init_decl_processing): Remove call to init_iterators.
- 	(finish_decl): Don't handle iterators.
- 	(grokdeclarator): Likewise.
- 	* gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords.
- 	* gcc/c-gperf.h: Regenerated.
- 	* gcc/c-iterate.c: Removed.
- 	* gcc/c-lex.c (init_lex): Don't handle iterators.
- 	* gcc/c-parse.in (primary): Remove pop_iterator_stack call.
- 	(compstmt_primary_start): Remove push_iterator_stack call.
- 	(stmt): Don't allow iterator statements.  Replace iterator_expand
- 	with expand_expr_stmt.
- 	(all_iter_stmt): Remove.
- 	(all_iter_stmt_simple): Likewise.
- 	(all_iter_stmt_with_decl): Likewise.
- 	* gcc/c-tree.h (ITERATOR_P): Remove.
- 	(ITERATOR_BOUND_P): Likewise.
- 	(init_iterators): Remove declaration.
- 	(iterator_expand): Likewise.
- 	(iterator_for_loop_start): Likewise.
- 	(iterator_for_loop_end): Likewise.
- 	(iterator_for_loop_record): Likewise.
- 	(push_iterator_stack): Likewise.
- 	(pop_iterator_stack): Likewise.
- 	* gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P.
- 	(readonly_warning): Likewise.
- 	* gcc/tree.h (ITERATOR_BOUND_P): Don't mention it.
- 
- 2000-08-24  Jim Wilson  <wilson@cygnus.com>
- 
- 	* c-common.c (decl_attributes, case A_ALIGN): Revert last change.
- 	Copy type in a TYPE_DECL, just like pushdecl does.
- 
- 2000-08-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* toplev.c (main): Enable flag_reorder_blocks at -O2.
- 
- 2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're
- 	asked for one page, allocate GGC_QUIRE_SIZE of them and put
- 	the extras on the free list.
- 	(release_pages): Clean up.
- 	(ggc_set_mark): Don't adjust G.allocated here...
- 	(sweep_pages): ... do it here.
- 
- 2000-08-24  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppfiles.c (read_include_file): Rearrange initializations.
- 
- 2000-08-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X.
- 
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.c (gr_register_operand): New.
- 	(fr_register_operand, grfr_register_operand): New.
- 	(gr_nonimmediate_operand, grfr_nonimmediate_operand): New.
- 	(grfr_reg_or_8bit_operand): New.
- 	(gr_reg_or_0_operand): Rename from reg_or_0_operand and
- 	use gr_register_operand.
- 	(gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise.
- 	(gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise.
- 	(gr_reg_or_8bit_and_adjusted_operand): Likewise.
- 	(gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise.
- 	(fr_reg_or_fp01_operand): Likewise.
- 	(not_postinc_memory_operand): New.
- 	(ia64_split_timode): Remove unused variables.
- 	(rtx_needs_barrier): Check arguments to cmpxchg.
- 	(builtin_description): Remove.
- 	(bdesc_2argsi, bdesc_2argdi): Remove.
- 	(ia64_init_builtins): Declare all builtins directly.
- 	(ia64_expand_fetch_and_op): Rewrite to be called from
- 	ia64_expand_builtin directly.  Use expand_binop and co.
- 	(ia64_expand_op_and_fetch): Likewise.
- 	(ia64_expand_compare_and_swap): Likewise.
- 	(ia64_expand_binop_builtin): Remove.
- 	(ia64_expand_lock_test_and_set): New.
- 	(ia64_expand_lock_release): New.
- 	(ia64_expand_builtin): Use them.
- 	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New.
- 	(EXTRA_CONSTRAINT): Use it.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md (*): Use gr_register_operand and co.
- 	(mf): Indicate that we set memory as well as use it.
- 	(fetchadd_acq_si): Show memory being modified as well.
- 	(fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise.
- 	(val_compare_and_swap_si, val_compare_and_swap_di): Remove.
- 	(lock_test_and_set_si, lock_test_and_set_di): Remove.
- 	(fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove.
- 	(fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove.
- 	(fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove.
- 	(fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove.
- 	(add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove.
- 	(and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove.
- 	(add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove.
- 	(and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove.
- 	* config/ia64/ia64intrin.h (*): Cast result to the appropriate
- 	return type.  Pretty print definitions.
- 
- 2000-08-24  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if
- 	we have a SYMBOL_REF with SYMBOL_REF_FLAG set.
- 
- 2000-08-24  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref,
- 	AT_loc, AT_addr, AT_lbl): Abort on unsuitable input.
- 	(get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag,
- 	get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails.
- 
- 2000-08-24  Greg McGary  <greg@mcgary.org>
- 
- 	* optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab,
- 	and extendtab within their proper array boundaries.
- 	* emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds
- 	for the entire array.
- 
- 	* config/arm/arm.c (arm_override_options): Use ARRAY_SIZE.
- 	* config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise.
- 	* config/avr/avr.c (order_regs_for_local_alloc): Likewise.
- 	* config/fr30/fr30.c (fr30_print_operand): Likewise.
- 	* config/i386/dgux.c (output_options): Likewise.
- 	* config/i386/dgux.h (ASM_FILE_START): Likewise.
- 	* config/m88k/m88k.c (output_options): Likewise.
- 	* config/m88k/m88k.h (ASM_FILE_START): Likewise.
- 	* config/mcore/mcore.c (mcore_output_inline_const_forced,
- 	layout_mcore_frame, handle_structs_in_regs): Likewise.
- 	* config/mips/mips.c (output_block_move): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_override_options,
- 	rs6000_file_start): Likewise.
- 	* config/sparc/sparc.c (sparc_add_gc_roots): Likewise.
- 	* fixinc/fixfixes.c (FIX_TABLE_CT): Likewise.
- 	* fixinc/fixtests.c (TEST_TABLE_CT): Likewise.
- 	* builtins.c (expand_builtin_setjmp): Likewise.
- 	* expr.c (safe_from_p): Likewise.
- 	* flow.c (life_analysis): Likewise.
- 	* fold-const.c (size_int_type_wide): Likewise.
- 	* gcc.c (translate_options, init_spec, set_spec, main): Likewise.
- 	* genattrtab.c (make_length_attrs): Likewise.
- 	* genopinit.c (gen_insn): Likewise.
- 	* genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise.
- 	* global.c (global_alloc): Likewise.
- 	* local-alloc.c (find_free_reg): Likewise.
- 	* mips-tdump.c (print_symbol): Likewise.
- 	* mips-tfile.c (parse_def, parse_input): Likewise.
- 	* reload1.c (NUM_ELIMINABLE_REGS): Likewise.
- 	* stmt.c (expand_nl_goto_receiver): Likewise.
- 	* stor-layout.c (set_sizetype): Likewise.
- 	* varasm.c (decode_reg_name): Likewise.
- 	* toplev.c (decode_f_option, decode_W_option,
- 	set_target_switch, print_switch_values): Likewise.
- 	(NUM_ELEM): Remove macro.
- 	(display_help, main): s/NUM_ELEM/ARRAY_SIZE/
- 
- 2000-08-24  Greg McGary  <greg@mcgary.org>
- 
- 	* tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'.
- 	(MAIN_NAME_P, main_identifier_node): New macros.
- 	* c-common.c (c_common_nodes_and_builtins): Init main_identifier_node.
- 	* c-decl.c (start_decl, grokdeclarator, start_function,
- 	store_parm_decls, finish_function): Use MAIN_NAME_P.
- 	* config/avr/avr.c (function_prologue, function_epilogue): Likewise.
- 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
- 	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
- 	* config/pdp11/pdp11.c (output_function_prologue): Likewise.
- 
- 2000-08-24  Greg McGary  <greg@mcgary.org>
- 
- 	* cppfiles.c (actual_directory): Don't write beyond `dir'
- 	when it contains "".
- 	* real.c (asctoeg): Stay within bounds of etens[][].
- 
- 2000-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dependence.c (dependence_string, direction_string,
- 	dump_one_node, dump_node_dependence): Hide unused identifiers.
- 	(get_low_bound, normalize_coefficients): Match definition to
- 	static prototype.
- 	(get_one_coefficient): Initialize variables `value0_is_idx' and
- 	`value1_is_idx'.
- 	(ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED.
- 	(ziv_test): Delete variable `idx', use parameter `sub' instead.
- 	(direction_merge): Avoid automatic aggregate initialization.
- 	(have_dependence_p): Use `src' not `dest' to set `src_idx'.
- 	Initialize variables `dest_idx' and `src_idx'.
- 	(end_dependence_analysis): Avoid C89 style function definition.
- 
- 2000-08-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (time_char_table): Don't allow width with %F.
- 	(check_format_info): Don't allow "Z" length with scanf.
- 
- 2000-08-24  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (finish_diagnostic): Define.
- 	(output_do_printf): Use wrap_text instead of output_add_string.
- 	(default_print_error_function): Avoid embedded '\n'.
- 
- 	* diagnostic.h (flush_diagnostic_buffer): Declare.
- 
- 2000-08-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'.
- 
- 2000-08-23  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* Makefile.in (GCC_PASSES): Add specs.
- 
- 2000-08-23  Jim Wilson  <wilson@cygnus.com>
- 
- 	* frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New.
- 	* config/ia64/frame-ia64.c (__get_personality): Return zero if neither
- 	EHANDLER nor UHANDLER bit is set.
- 	(__get_except_table): Likewise.
- 
- 2000-08-23  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/lib1funcs.asm: Replace upper case condition codes
- 	with lower case versions.
- 
- 	* config/arm/arm.h (STRUCT_VALUE): Define.
- 	(STRUCT_VALUE_REGNUM): Delete.
- 
- 2000-08-23  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.h (IN_I): New flag for directive table.
- 	* cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and
- 	#pragma with IN_I.
- 	(_cpp_check_directive): If -fpreprocessed, execute directives
- 	marked with IN_I.  Issue no warnings in this case.
- 	* cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed.
- 
- 2000-08-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (print_char_table): Allow 'I' flag with %d, %i and
- 	%u.
- 	(check_format_info): Support printf 'I' flag; warn about it with
- 	-pedantic.
- 
- 2000-08-23  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm.c (arm_expand_prologue): Ensure that the stack-adjustment
- 	barrier can't be ignored by the alias analysis code.
- 
- 2000-08-12  Eli Zaretskii  <eliz@is.elta.co.il>
- 
- 	* fixinc/inclhack.def (sysv68_string): Fix the Sed script so it
- 	works inside fixincl.
- 
- Wed Aug 23 04:55:48 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to
- 	simplify_relational_operation() unless both operands are of
- 	VOIDmode.
- 	* cse.c (fold_rtx): Likewise.
- 
- Tue Aug 22 23:53:27 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (rtx_unstable_p): The pic register is stable
- 	(within one function) and the actual rtx should be used
- 	when checking the registers.
- 	(rtx_addr_can_trap_p): Pic memory addresses can't trap.
- 
- 	* alias.c (true_dependence, write_dependence_p): Fix
- 	bug in previous patch.
- 
- 	* i386.c (ix86_GOT_alias_set): New.
- 	(legitimize_pic_address): Use it.
- 
- 	* rtlanal.c (rtx_unstable_p): An unchanging MEM is
- 	only stable if its address is stable.
- 	(rtx_varies_p): An unchanging MEM can't vary if
- 	its address doesn't vary.
- 
- 2000-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (unop +): Restrict -Wtraditional warnings to user code.
- 
- 2000-08-22  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.h (ASM_SPEC): Pass `-J' to assembler.
- 	* x-vax-gcc: New file for bootstrapping with gcc.
- 	* x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'.
- 	* configure.in: Use x-vax-gcc with gcc.
- 	* configure: Rebuilt.
- 
- Tue Aug 22 21:21:05 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* toplev.c (rest_of_compilation): Rebuild label notes after
- 	post-reload splitting pass if new labels have been created.
- 
- 2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (output_buffer_state): New macro.
- 	* diagnostic.c (diagnostic_for_decl, sorry,
- 	default_print_error_function, output_do_verbatim,
- 	report_diagnostic, report_problematic_module): Use it.
- 	(wrap_text): Tweak.
- 	(output_format): Use wrap_text instead of maybe_wrap_text.
- 
- 2000-08-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro.
- 	Common code for ARM divide and modulus functions.
- 	(THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of
- 	ARM_DIV_MOD_BODY.
- 	(FUNC_END): New macro: Common code at the end of the division and
- 	modulo functions.
- 	(THUMB_FUNCTION_START): New macro:  Common code at the start of
- 	Thumb functions.
- 	(__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros.
- 
- Tue Aug 22 20:34:52 2000  Kaz Kojima <kkojima@rr.iij4u.or.jp>
- 
- 	* config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing.
- 
- 	* config/sh/sh.c (prepare_scc_operands): Apply force_reg to
- 	sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't
- 	const0_rtx.
- 
- 2000-08-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/lib1funcs.asm (__umodsi3): Before performing any
- 	restorative additions, test for bottom bits of IP being set,
- 	rather than relying upon the RORs not matching.
- 	(__modsi3): Ditto.
- 
- 2000-08-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or
- 	text_section() as appropriate instead of emitting text csect
- 	pseudo-op directly.
- 	(TEXT_SECTION_ASM_OP): Only require default 32-bit alignment.
- 	(UNIQUE_SECTION): Define macro.
- 	(ASM_OUTPUT_SECTION_NAME): Define macro.
- 	* rs6000.c (rs6000_override_options): Disable -ffunction-sections
- 	on AIX if debugging and -fdata-sections always.
- 
- 2000-08-22  Steven King  <sxking@uswest.net>
- 
- 	* config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double
- 	machinery.
- 	(LDBL_MAX): Same here.
- 
- 2000-08-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (tidy_fallthru_edge): Update b->end properly.
- 
- 2000-08-22  Stan Cox  <scox@redhat.com>
- 
- 	* Makefile.in (OBJS): Add dependence.o.
- 	* dependence.c: New file.
- 
- 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>, John David Anglin  <dave.anglin@nrc.ca>
- 
- 	* calls.c (check_sibcall_argument_overlap_1): Adjust for
- 	ARGS_GROW_DOWNWARD.
- 	(check_sibcall_argument_overlap): Likewise.
- 
- 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* invoke.texi (SH Options): Document -m4-nofpu,
- 	-m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd,
- 	-mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace.
- 
- 2000-08-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (check_format_info): Give the 'some locales' warning
- 	for strftime %Ey rather than the unconditional 'only last 2 digits
- 	of year' one.
- 
- 2000-08-22  Richard Henderson  <rth@cygnus.com>
- 
- 	* alias.c (init_alias_analysis): Do not register
- 	struct_value_incoming_rtx or static_chain_rtx as pointing
- 	to stack memory.
- 
- Tue Aug 22 01:44:43 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* protoize.c (munge_compile_params): Fix typo and formatting buglets.
- 
- 2000-08-22  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (report_problematic_module): Declare.
- 	* diagnostic.c (report_problematic_module): New function.
- 	(report_error_function): Tweak.
- 
- Tue Aug 22 02:31:26 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stmt.c (expand_goto_internal, fixup_gotos): Only check
- 	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
- 
- 2000-08-21  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (calculate_global_regs_live): Mark frame pointer live
- 	everywhere before reload.
- 
- 2000-08-21  Jim Wilson  <wilson@cygnus.com>
- 
- 	* real.c (ereal_from_int, ereal_from_uint, significand_size): Handle
- 	INTEL_EXTENDED_IEEE_FORMAT.
- 	(toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support.  Unconditionally
- 	clear last two bytes of output FP value.
- 
- 2000-08-21  Graham Stott  <grahams@cygnus.co.uk>
- 
- 	* config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL.
- 
- 2000-08-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unroll.c (loop_find_equiv_value): If ret is modified between
- 	insn and loop_start, ret might not be equivalent to reg.
- 
- 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (init_dollar_format_checking,
- 	maybe_read_dollar_number, finish_dollar_format_checking): New
- 	functions.
- 	(dollar_arguments_used, dollar_arguments_count,
- 	dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned):
- 	New variables.
- 	(check_format_info): Support $ formats for scanf and printf width
- 	and precision.  Always increment format_chars to advance past the
- 	'*' of precision, not just when the format parameters are
- 	available to check.
- 
- 2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (block_move_loop, expand_block_move,
- 	function_arg_partial_nregs, save_restore_insns, function_prologue,
- 	mips_expand_prologue, RA_MASK): Avoid using the `U' integer
- 	constant suffix.
- 	(function_arg_advance, function_arg): Match argument to format
- 	specifier `%p'.
- 
- 2000-08-21  Nix  <nix@esperi.demon.co.uk>
- 
- 	* gcc.c (do_spec_1): Implement %j spec flag.
- 	Remove dead comment.
- 
- 	* gcc.texi (The Configuration File): Document HOST_BIT_BUCKET.
- 	* system.h (HOST_BIT_BUCKET): Default to "/dev/null".
- 	* config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL".
- 	* config/i386/xm-os2.h, config/winnt/winnt.h: Likewise.
- 
- 	* protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if
- 	writable) instead of hardcoded value.
- 
- 	* toplev.c (compile_file): Output to a file even if -fsyntax-only.
- 
- 	* gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill
- 	MKTEMP_EACH_FILE.
- 
- 	* gcc.c (cc1_options): Do not process -o or run the assembler if
- 	-fsyntax-only.
- 	* objc/lang-spec.h: Likewise.
- 
- 2000-08-21  Eli Zaretskii  <eliz@is.elta.co.il>
- 
- 	* fixinc/fixincl.c (fix_with_system): Pipe the output of
- 	"external" fixes through `cat', to avoid truncating the input
- 	file by redirection.
- 
- 2000-08-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (lea_general_1): Copy insn condition to split
- 	condition.
- 	(lea_general_2, lea_general_3): Likewise.
- 
- 2000-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional
- 	warnings to user code.
- 
- 	* c-lex.c (readescape, yylex): Likewise.
- 
- 	* c-typeck.c (store_init_value, process_init_element): Likewise
- 	(c_expand_start_case): Format.
- 
- 2000-08-18  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
- 
- 	* mips/linux.h (LINK_SPEC): Use %(endian_spec).
- 
- 	* mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC
- 	and linker_endian_spec to endian_spec.
- 	(ENDIAN_SPEC): Add %{EB} and %{EL}.
- 	(LINK_SPEC): Remove %{EB} and %{EL}.
- 	(ASM_SPEC): Likewise.  Use %(endian_spec).
- 
- 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-tree.h (flag_hosted): Move declaration from here...
- 	* c-common.h (flag_hosted): ... to here.
- 	(flag_noniso_default_format_attributes): New declaration.
- 	* c-decl.c (flag_noniso_default_format_attributes): New variable.
- 	(c_decode_option): Set it appropriately for options choosing
- 	language standard variant.
- 	* c-common.c (init_function_format_info): Only provide default
- 	format attributes if flag_hosted.  Only provide the gettext
- 	formats if flag_noniso_default_format_attributes.  Update
- 	comments.
- 	(check_format_info): Disable treatment of %a as a scanf flag in
- 	C99 mode.
- 
- 2000-08-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (scan_char_table): Add 'w' to flags for all formats
- 	except 'n'.
- 	(check_format_info): Set 'wide' for scanf format widths.  Warn for
- 	a zero scanf width.  Make the check for writing into a constant
- 	object at the first level of indirection; at later levels, warn if
- 	any type qualifiers are encountered.
- 
- Mon Aug 21 07:41:12 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload.c (reload_inner_reg_of_subreg): New function broken out of
- 	push_reload.
- 	(push_reload): Use reload_inner_reg_of_subreg.
- 	(combine_reloads): Do not combine reloads if the input reload
- 	is a SUBREG in which the inner part will need reloading.
- 
- 	* global.c (global_alloc): Avoid passing dumpfile argument to
- 	reload routines.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* reload.h (reload): Remove dumpfile argument.  Callers changed.
- 	(debug_reload, debug_reload_to_stream): Move prototypes here.
- 	* rtl.h  (reload): Remove dumpfile argument.
- 	* reload.c (debug_reload): Remove prototype.
- 	(debug_reload_to_stream): Likewise.
- 	* reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file
- 	instead.
- 
- 2000-08-21  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.c (context_as_prefix): Export.
- 	(need_error_newline): Remove.
- 	(lang_diagnostic_starter, lang_diagnostic_finalizer): New objects.
- 	(error_module_changed, record_last_error_module,
- 	error_function_changed, record_last_error_function): New functions.
- 	(initialize_diagnostics): Default initialize
- 	lang_diagnostic_starter, lang_diagnostic_finalizer.
- 	(init_output_buffer): Tweak.
- 	(file_name_as_prefix): New function.
- 	(announce_function, default_print_error_function,
- 	report_error_function, set_diagnostic_context): Tweak.
- 
- 2000-08-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (init_propagate_block_info): Handle SUBREG in a jump
- 	condition expression.
- 
- 2000-08-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (merge_blocks_nomove): Don't seek back past the bb note.
- 
- 2000-08-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c (cpp_init): Set global flag when called.
- 	(cpp_reader_init): Bomb out if cpp_init hasn't been called.
- 
- Sun Aug 20 01:41:35 2000  Dennis Chernoivanov  <cdi@sparc.spb.su>
- 
- 	* cpplex.c (cpp_scan_buffer): Move `output_line_command' just
- 	before `process_directive' so that newlines won't be missed
- 	for directives.
- 	(cpp_printf): Increment `print->lineno' when newline is emitted.
- 
- 	* cppmain.c (cb_ident): Likewise.
- 	(cb_define): Likewise.
- 	(cb_undef): Likewise.
- 	(cb_include): Likewise.
- 	(cb_def_pragma): Likewise.
- 	(dump_macros_helper): Likewise.
- 
- 2000-08-20  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc
- 	assigned before a loop.
- 
- 	* config/ia64/ia64.md (ashlsi3): Zero extend the shift count.
- 	(ashrsi3, lshrsi3): Likewise.
- 
- 2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* c-lang.c: #include diagnostic.h
- 	(c_tree_printer): New function.
- 	(lang_init): Initialize lang_printer.
- 
- 	* Makefile.in (c-lang.o): Depends on diagnostic.h
- 
- 2000-08-20  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic.
- 
- 	* diagnostic.c (default_diagnostic_starter,
- 	default_diagnostic_finalizer): New functions.
- 	(diagnostic_for_asm, diagnostic_for_decl): Tweak.
- 	(pedwarn, pedwarn_with_file_and_line, error,
- 	error_with_file_and_line, fatal, warning,
- 	warning_with_file_and_line): Adjust call to report_diagnostic.
- 	(report_diagnostic): Rework.
- 	(set_diagnostic_context): New function.
- 
- 	* diagnostic.h (struct diagnostic_context): New data structure.
- 	(diagnostic_message, diagnostic_argument_list,
- 	diagnostic_file_location, diagnostic_line_location,
- 	diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer,
- 	diagnostic_finalizer, diagnostic_auxiliary_data): New macros.
- 	(set_diagnostic_context): Declare.
- 	(report_diagnostic): Change prototype.
- 
- Sun 20-Aug-2000 09:25:45 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* fix-header.c (main): Initialize cpplib.
- 
- 2000-08-19  Michael Meissner  <meissner@redhat.com>
- 
- 	* ifcvt.c (find_if_block): Do not assume that a THEN block has any
- 	instructions in it before checking for indirect jumps.
- 
- 	* ifcvt.c (find_if_block): Do not consider a THEN block that ends
- 	in an indirect jump as a potential for conditional execution.
- 
- 	* d30v.h (d30v_init_expanders): Don't declare here.
- 	* d30v-protos.h (d30v_init_expanders): Declare here with a valid
- 	prototype.
- 
- Sat 19-Aug-2000 21:11:45 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpp.texi: Add @section for assertions.
- 
- Sat Aug 19 12:37:08 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* loop.c (scan_loop): Use CONST_CALL_P instead of
- 	checking for REG_LIBCALL / REG_RETVAL.
- 
- Sat Aug 19 09:18:47 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_as_needed): Accept dumpfile argument,
- 	pass it to emit_reload_insns.
- 	(emit_reload_insns): Add new dumpfile argument.  If non-null
- 	then dump the reloads for each insn into the dumpfile.
- 	(reload): Pass dumpfile to reload_as_needed.
- 
- 	* invoke.texi: Clean up linux-gnu vs linux comments.
- 
- 2000-08-19  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (reg_or_5bit_operand): New.
- 	(ia64_depz_field_mask): New.
- 	* config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md: Update commentary.
- 	(depz_internal): New.
- 	(ashlsi3): Implement directly.
- 	(ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants.
- 	(ashldi3): Use shladd.
- 	* config/ia64/ia64-protos.h: Update.
- 
- 2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* toplev.c (independent_decode_option): Always process -g.
- 	Remove third argument, now unused.  Adjust caller to match.
- 
- 2000-08-18  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (make_compound_operation): Break after creating
- 	the extraction.
- 
- 2000-08-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (cpp_register_pragma_space): Just return if the
- 	namespace is already registered.
- 
- 2000-08-18  Ray Essick <essick@ddna.labs.mot.com> & Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mcore/mcore.md (rotlsi3): Allow allow rotations by a
- 	constant amount.  Do not generate ROTL instruction.
- 
- Fri Aug 18 16:22:20 2000  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/elf.h: Do not include sh/sh.h.
- 	* config/sh/rtems.h: Likewise.
- 	* config/sh/rtemself.h: Do not include sh/elf.h.
- 	* configure.in: Get them included with `tm_file's.
- 	* configure: Rebuilt.
- 
- 	* config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify.
- 	* config/sh/sh.c (fpscr_set_from_mem): Use them.
- 
- Fri Aug 18 14:23:18 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (compute_record_type): Don't use mode of single
- 	field as mode of record if not integer mode of same type.
- 
- 	* regmove.c (perhaps_ends_bb_p): New function.
- 	(optimize_reg_copy_1, optimize_reg_copy_2): Call it.
- 	(optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise.
- 	(fixup_match_1): Likewise.
- 	(fixup_match_1, combine_stack_adjustments_for_block): Add casts to
- 	avoid signed/unsigned warnings.
- 
- 	* function.c (fixup_var_refs_1, case MEM): Update CODE after
- 	updating X.
- 
- Fri 18-Aug-2000 18:33:45 BST  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
- 	(_cpp_trigraph_map): Declaration moved from cpplex.c
- 
- 	* cppinit.c: Define _cpp_trigraph_map.  Use UCHAR_MAX + 1
- 	instead	of 256.  Use consistent test for designated initializers.
- 	(cpp_init): Initialize trigraph_map.
- 	(initialize_standard_includes, parse_option):  Use memcmp
- 	instead of strncmp.
- 
- 	* cpplex.c (init_trigraph_map): Remove.
- 	(trigraph_ok, trigraph_replace, lex_line): Refer to
- 	_cpp_trigraph_map.
- 
- 	* cpplib.c (str_match, WARNING, ERROR, ICE): Delete.
- 	(do_unassert): Remove unused "next" local.
- 
- 	* system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype.
- 
- 2000-08-18  Emmanuel Marty  <emarty@suntech.fr>
- 
- 	* arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return
- 	insn.
- 
- 2000-08-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (spill_restore_mem): Handle emitting
- 	the first insn in a sequence.
- 
- Thu Aug 17 22:40:05 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* alias.c (true_dependence, write_dependence_p): A read
- 	involving a label_ref or the constant pool doesn't create
- 	a dependency.
- 
- 	* rtl.h (unchanging): Improve documentation.
- 
- 2000-08-17  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* cse.c (insert_regs): Remove unused `regno'.
- 
- 2000-08-17  Neil Booth  <NeilB@earthling.net>
- 
- 	* (cppinit.c) merge_include_chains: Use remove_dup_dir,
- 	remove_dup_dirs.  If qtail == brack, remove brack not
- 	qtail.
- 	(remove_dup_dir, remove_dup_dirs): New functions.
- 
- 2000-08-17  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (cpp_cleanup): Free include dir chains.
- 	* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
- 	(do_unassert): Free the assert with _cpp_free_definition.
- 	* cppmacro.c (_cpp_free_definition): Free memory allocated for
- 	assertions.  Make the node a T_VOID node.
- 
- 2000-08-17  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (path_include, append_include_chain):
- 	Remove 2nd parameter (struct cpp_pending *).
- 	(path_include, initialize_standard_includes, cpp_handle_option):
- 	Update callers appropriately.
- 	(cpp_handle_option): Use pend.
- 
- 2000-08-17  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c (sort_options): Remove, put functionality in
- 	cpp_init.
- 	(cpp_init): New.
- 	(initialize_builtins): Free memory.
- 	(cpp_start_read): Move init_IStable to cpp_init.
- 
- 	* cpplib.h (cpp_init): New prototype.
- 	* cppmain.c (main): Call cpp_init.
- 
- Thu Aug 17 13:20:32 EDT 2000  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (rtx_unstable_p): Use CONSTANT_P.
- 	(rtx_unstable_p, rtx_varies_p): Process vectors.
- 
- 2000-08-16  Niibe Yutaka  <gniibe@m17n.org>, Kaz Kojima  <kkojima@rr.iij4u.or.jp>
- 
- 	* config/sh/lib1funcs.asm (GLOBAL): Define.  Use for all
- 	references to GLOBAL symbols.  Use LOCAL where appropriate.
- 
- 2000-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (*-ibm-aix4.[12]*): Delete test for gnu ld.  Always
- 	use t-aix41 when host == target.
- 
- 2000-08-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (push_secondary_reload): Revert last change.
- 	If we use a reload_in/out pattern, make the when the same
- 	as the primary reload.
- 	(find_reloads): Likewise.
- 
- 2000-08-16  Manfred Hollstein  <manfredh@redhat.com>
- 
- 	* configure.in (libstdcxx-v3): Fix test.
- 	* configure: Regenerate.
- 
- Wed Aug 16 08:10:32 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (calls_function_1, expand_call): Only test
- 	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
- 	* function.c (thread_prologue_and_epilogue_insns): Likewise.
- 
- 2000-08-16  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (simplify_shift_const): Revert previous two
- 	changes.  If SHIFT_COUNT_TRUNCATED, crop the shift count
- 	before the main loop.
- 
- 2000-08-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* combine.c (simplify_shift_const): Bound shift count when
- 	combining shifts.
- 
- Tue Aug 15 17:33:05 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (ECF_SP_DEPRESSED): New macro.
- 	(calls_function_1): Treat calling sp-depressed function as alloca.
- 	(emit_call_1): Don't adjust SP if calling sp-depressed function.
- 	(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
- 	If sp-depressed, ensure block saves and restores SP.
- 	* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
- 	for INTEGER_TYPE.
- 	* function.c (keep_stack_depressed): New function.
- 	(thread_prologue_and_epilogue_insns): Call it.
- 	* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
- 	to print DECL_OFFSET_ALIGN.
- 	Print no-force-blk and transparent-union flags properly.
- 	* stmt.c (expand_goto_internal): Don't restore stack if last block
- 	and function returns with sp depressed.
- 	(fixup_gotos): Likewise.
- 	(save_stack_pointer): New function, from code in expand_decl.
- 	(expand_decl): Call new function.
- 	* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
- 	(TYPE_RETURNS_STACK_DEPRESSED): New macro.
- 	(save_stack_pointer): New declaration.
- 
- 	* diagnostic.c (fatal_function): New variable.
- 	(set_fatal_function): New function.
- 	(fatal): Call it.
- 	* diagnostic.h (set_fatal_function): New declaration.
- 
- 2000-08-15  William Cohen  <wcohen@redhat.com>
- 
- 	* config/sh/elf.h (DWARF2_DEBUGGING_INFO): Defined.
- 	(PREFERRED_DEBUGGING_TYPE): Set to dwarf2 info.
- 	(DWARF2_ASM_LINE_DEBUG_INFO): Defined.
- 
- 2000-08-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (mark_used_reg): Set reg_cond_reg appropriately.
- 
- 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.c (arm_function_ok_for_sibcall): New function.
- 	* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
- 	* arm.md (call expanders): Don't check here for calls that can't
- 	be sibling calls.
- 
- 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm.md (splits generating cond_exec): Disable.
- 
- 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* arm/linux-elf.h (text_section): Delete declaration.
- 
- 2000-08-15  Richard Earnshaw <rearnsha@arm.com>
- 
- 	ARM support for unordered FP operations.
- 	* arm-protos.h (arm_comparison_operator): Declare.
- 	* arm.c (arm_comparison_operator): New function.
- 	(arm_select_cc_mode): Add unordered comparison codes.
- 	(get_arm_condition_code): Likewise.
- 	(arm_final_prescan_insn): Can't handle unordered jumps that can't
- 	be done in one insn.
- 	* arm.h (PREDICATE_CODES): Add arm_comparison_operator.
- 	* arm.md (all uses of comparison_operator): Replace with
- 	arm_comparison_operator.
- 	(bunordered, bordered, bugt, bunlt, bunge, bunle, buneq, bltgt): New
- 	expands.
- 	(arm_buneq, arm_bltgt, arm_buneq_reversed, arm_bltgt_reveresed): New
- 	patterns.
- 
- Tue Aug 15 00:36:36 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* gthr-posix.h: Conditionally include <sched.h>; include
- 	<config.h> from libobjc/.
- 
- 2000-08-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/i386.c (legitimize_pic_address): Use Pmode
- 	for all CONSTs.
- 
- 2000-08-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* configure.in (ia64-*): Set float_format for i386 long double.
- 
- 	* real.c (GET_REAL): Treat 128-bit INTEL_EXTENDED_IEEE_FORMAT
- 	as we would for i386 XFmode.
- 	(PUT_REAL): Likewise.
- 	(endian, ereal_atof, real_value_truncate): Likewise.
- 	(ereal_isneg, toe64, etens, make_nan): Likewise.
- 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Likewise.
- 
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.c (general_tfmode_operand): New.
- 	(destination_tfmode_operand): New.
- 	(tfreg_or_fp01_operand): New.
- 	(ia64_split_timode): New.
- 	(spill_tfmode_operand): New.
- 	(ia64_expand_prologue): Use TFmode not XFmode.
- 	(ia64_expand_epilogue): Likewise.
- 	(ia64_function_arg): Likewise.
- 	(ia64_function_arg_advance): Likewise.
- 	(ia64_return_in_memory): Likewise.
- 	(ia64_function_value): Likewise.
- 	(ia64_print_operand): Likewise.
- 	(ia64_register_move_cost): Set GR<->FR to 5.
- 	(ia64_secondary_reload_class): Get GR for TImode memory op.
- 	* config/ia64/ia64.h (ROUND_TYPE_SIZE): Remove.
- 	(ROUND_TYPE_ALIGN): Remove.
- 	(LONG_DOUBLE_TYPE_SIZE): Set to 128.
- 	(INTEL_EXTENDED_IEEE_FORMAT): Define.
- 	(HARD_REGNO_NREGS): Use TFmode, not XFmode.
- 	(HARD_REGNO_MODE_OK): Likewise.  Disallow TImode in FRs.
- 	(MODES_TIEABLE_P): Use TFmode, not XFmode.
- 	(CLASS_MAX_NREGS): Likewise.
- 	(ASM_OUTPUT_LONG_DOUBLE): Output by 4 byte hunks.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md (movti): New.
- 	(movti_internal): Use a clobber for memory alternatives.
- 	(reload_inti, reload_outti): New.
- 	(movsfcc_astep): Predicate properly.
- 	(movdfcc_astep): Likewise.
- 	(movxf): Remove.
- 	(movtf): New.
- 	(extendsftf2, extenddftf2): New.
- 	(trunctfsf2, trunctfdf2): New.
- 	(floatditf2, fix_trunctfdi2): New.
- 	(floatunsditf2, fixuns_trunctfdi2): New.
- 	(addtf3, subtf3, multf3, abstf2): New.
- 	(negtf2, nabstf2, mintf3, maxtf3): New.
- 	(maddtf3, msubtf3, nmultf3, nmaddtf3): New.
- 	(cmptf): New.
- 	(fr_spill): Use TFmode, not XFmode.
- 	(fr_restore): Likewise.
- 	* config/ia64/lib1funcs.asm (__divtf3): New.
- 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add it.
- 
- 2000-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cse.c (fold_rtx): Avoid empty body in an if-statement.
- 
- 	* doloop.c (doloop_iterations_max, doloop_modify): Avoid using the
- 	`U' integer constant suffix.
- 
- 	* dwarf2out.c (add_subscript_info): Avoid empty body in an
- 	else-statement.
- 
- 	* sparc/sol2.h (__enable_execute_stack): Prototype.
- 
- 2000-08-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c: Remove use of AIX import file.
- 
- 	* longlong.h: Test ARCH_PWR not ARCH_POWER.
- 
- 	* rs6000.c (print_operand, case 'E'): Add else.
- 
- 2000-08-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (movdi): Delay calling ia64_expand_load_address.
- 	(movdi_symbolic): New.
- 
- 2000-08-14  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
- 	to GNU as.  For Intel as, pass -M const_gp and -M no_plabel.
- 	* config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
- 	to GNU as.
- 
- 2000-08-14  Richard Henderson  <rth@cygnus.com>
- 
- 	* expr.c (emit_group_load): Don't force constants into registers.
- 	Special case source already in the correct mode.
- 
- 2000-08-14  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
- 	* fixinc/inclhack.def: Likewise.
- 	* fixinc/mkfixinc.sh: Likewise.
- 	* configure: Regenerate.
- 	* fixinc/fixincl.x: Regenerate.
- 	* install.texi: Document equivalence of linux and linux-gnu.
- 
- Mon Aug 14 18:51:44 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* cse.c (insert_regs): Also in REG case: When finding an invalid
- 	value, and we make a new quantity, make sure that it won't be
- 	mistaken by for a valid one by mention_regs.
- 
- 2000-08-13  Ralf Gütlein <ralf.guetlein@aranea.de>
- 
- 	* h8300.md: Remove obsolete peepholes.
- 
- 2000-08-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* invoke.texi (H8/300 Options): Fix typos.
- 	* config/h8300.c: Fix formatting.
- 	* config/h8300.h: Fix comment typos.
- 	(OVERRIDE_OPTIONS): Fix formatting.
- 
- 	* function.c: Fix formatting.
- 
- 	* cse.c: Fix formatting.
- 
- 2000-08-13  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* flow.c (attempt_auto_inc): Remove unused variable `bb'.
- 	(attempt_auto_inc): Suppress parentheses warning.
- 	* function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
- 	* loop.c (load_mems): Remove `u' suffix in two places.
- 	* config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
- 	hex constants.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/sol-c0.c: Prototype some functions.  Remove the
- 	__eabi dummy routine.
- 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
- 	variable `buf_ptr'.
- 
- 	* config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
- 	not put stuff in .sdata unnecessarily.
- 	(rs6000_unique_section): New function.
- 	* config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
- 	* config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
- 
- 	* c-typeck.c (build_array_ref): Don't complain about non-lvalue
- 	arrays in C99.  Don't try to look at DECL_REGISTER of a
- 	COMPONENT_REF.  Don't complain twice about the same error.
- 
- 	* fixinc/inclhack.def (aix_pthread): New fix.
- 	(aix_sysmachine): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 	* expr.c (expand_expr): Call convert_modes when turning a large
- 	multiply into a small one.
- 
- 2000-08-12  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
- 	the tree structure an exponent rather than an explicit alignment
- 	so it doesn't overflow.
- 	(SET_DECL_OFFSET_ALIGN): New macro.
- 	* stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
- 	rather than DECL_OFFSET_ALIGN.
- 	(place_field): Likewise.
- 	* expmed.c (store_bit_field): Abort on align==0 to avoid
- 	antisocial machine behavior.
- 
- 2000-08-12  Richard Henderson  <rth@cygnus.com>
- 
- 	* sibcall.c (uses_addressof): Accept both addressof and
- 	current_function_internal_arg_pointer inside a mem.
- 	(optimize_sibling_and_tail_recursive_call): Fail tail recursion
- 	if current_function_uses_addressof.
- 	* stmt.c (expand_return): Kill tail recursion and HAVE_return
- 	optimizations.
- 
- 2000-08-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (addsi3): Remove expander.
- 	(subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
- 	(*addsi3_shladd): New.
- 
- 2000-08-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
- 	(do_restore): Likewise.
- 	(gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
- 	(ia64_expand_prologue, ia64_expand_epilogue): Use them.
- 	(rtx_needs_barrier): Track actual bit manipulation for
- 	ar.unat moves, gr_spill, and gr_restore.
- 	(emit_insn_group_barriers): Special case gr_spill/gr_restore.
- 	(process_set): Don't handle varargs spills.
- 	* config/ia64/ia64.md (gr_spill): Accept cfa offset.  Emit
- 	.mem.offset here instead of in process_set.
- 	(gr_restore): Likewise.
- 
- 2000-08-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
- 
- 2000-08-11  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* gcc.texi (The Configuration File): Document
- 	COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
- 	UPDATE_PATH_HOST_CANONICALIZATION.
- 
- 2000-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
- 	unprototyped function pointer casts on integer constants.
- 
- 2000-08-11 Laurynas Biveinis <lauras@softhome.net>
- 
- 	* fixproto: Recognize DOS paths with drive letters as absolute paths.
- 
- 2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* extend.texi (Volatiles): Fix typos.
- 
- 2000-08-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* flow.c: Fix formatting.
- 
- 2000-08-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (push_secondary_reload): When invoking a reload_{in,out}
- 	pattern, always allocate a tertiary scratch register.
- 
- 	* config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
- 	(reload_inhi): Likewise.
- 
- 2000-08-11  Richard Henderson  <rth@cygnus.com>
- 
- 	* function.c (put_reg_into_stack): Allow type to be NULL.
- 	(schedule_fixup_var_refs): Likewise.
- 	(gen_mem_addressof): Allow decl to be NULL.
- 	(put_addressof_into_stack): Likewise.
- 
- 	* flow.c (merge_blocks_nomove): Be more careful about
- 	locating the beginning of block A.
- 
- 	* combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
- 
- Thu Aug 10 22:47:09 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* configure.in:
- 	* configure:
- 	* gthr-posix.h:
- 	* config.in: Reverted the check for <sched.h>.
- 
- 2000-08-10  Chris Demetriou  <cgd@sibyte.com>
- 
- 	* mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
- 	macros define the name of CTOR and DTOR sections.
- 	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
- 	DTOR_LIST_END): Change to use attributes to specify
- 	sections.
- 	* mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
- 	(CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
- 	DTOR_LIST_END): Same as in mips/elf.h.
- 
- 2000-08-10  Drew Moseley  <dmoseley@redhat.com>
- 
- 	* config/mn10300/mn10300.h: Added no-crt0 option for explicitly
- 	disabling just crt0.o.
- 
- 2000-08-10  Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton  <nickc@cygnus.com>
- 
- 	* arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
- 	(CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
- 	(EXTRA_SPECS): Add them.
- 	* arm/lib1funcs.asm: Support builds for interworking.
- 	Use macros to eliminate duplicated pieces of code.
- 
- 2000-08-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c (expand_a_rotate): New.
- 	(emit_a_rotate): Likewise.
- 	(h8300_adjust_insn_length): Add support for the rotate insns.
- 	* h8300.md (rotlqi3): New.
- 	(*rotlqi3_1): Likewise.
- 	(rotlhi3): Likewise.
- 	(*rotlhi3_1): Likewise.
- 	(rotlhi3): Likewise.
- 	(*rotlhi3_1): Likewise.
- 	* h8300-proto.h: Add prototypes for expand_a_rotate and
- 	emit_a_rotate.
- 
- 	* h8300.c: Fix comment typos.
- 	(dosize): Declare the variable amount as unsigned.
- 	(get_shift_alg): Fix a comparison between signed and unsigned.
- 	(emit_a_shift): Likewise.
- 	(h8300_adjust_insn_length): Simplify the code.
- 
- 	* c-decl.c: Fix formatting.
- 
- 2000-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c (parse_float, yylex): For -Wtraditional, issue a
- 	warning about non-traditional numeric constant suffixes.
- 
- 	* cppexp.c (parse_number): Likewise.
- 
- 	* invoke.texi: (-Wtraditional): Document new behavior.
- 
- Thu Aug 10 00:11:04 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* gthr-posix.h: Include auto-host.h. Conditionally include
- 	<sched.h>.
- 	* configure.in: Check for the <sched.h> header file.
- 	* config.in: Added define for HAVE_SCHED_H.
- 
- 2000-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-typeck.c (process_init_element): For -Wtraditional, warn about
- 	initialization of unions.
- 
- 	* invoke.texi (-Wtraditional): Document new behavior.
- 
- 2000-08-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* configure.in (--enable-c-cpplib): Uncomment.  Use AC_DEFINE
- 	instead of extra_c_flags.
- 	(--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 
- 	* cpperror.c (cpp_type2name): New function.
- 	* cpplex.c (lex_line): If we issued an error for an invalid
- 	preprocessing directive, discard that logical line.
- 	* cpplib.c (do_line): Call a hook function if the current file
- 	is renamed by #line.
- 	(do_ident): Pass the contents of the string, not the entire
- 	token, to the callback function.
- 	* cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
- 	(cb.rename_file): New hook function.
- 	(cb.ident): Adjust prototype.
- 	(cpp_type2name): Prototype.
- 	* cppmacro.c (dump_macro_args): Correct precedence lossage.
- 
- 	* cppmain.c (cb_ident): Update for changed interface.
- 	(cb_rename_file): New function.
- 	(main): Set rename callback.
- 
- 2000-08-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* caller-save.c (mark_referenced_regs): Mark partially-overwritten
- 	multi-word registers.
- 
- 2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (combine_strings, check_format_info): Refer to ISO C
- 	or ISO C89 instead of ANSI C.
- 	* c-decl.c (grokdeclarator, xref_tag, finish_struct,
- 	build_enumerator, do_case): Likewise.
- 	* c-lex.c (parse_float, yylex): Likewise.
- 	* c-parse.in: Likewise.
- 	* c-typeck.c (common_type, build_array_ref, build_binary_op,
- 	build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
- 	build_c_cast, convert_for_assignment, set_init_index,
- 	set_init_label, c_expand_start_case): Likewise.
- 	* toplev.c (documented_lang_options, display_help): Likewise.
- 
- 2000-08-08  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c: Fix formatting.
- 	* h8300.h: Likewise.
- 	* h8300.md: Likewise.
- 	(movsi_h8300hs): Fix formatting of the resulting assembly code.
- 
- 	* reload1.c: Fix formatting.
- 
- 2000-08-08  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* alpha/alpha.c (alpha_emit_xfloating_libcall):
- 	Use GEN_CALL_VALUE define.
- 	* alpha/alpha.md (untyped_call): Use GEN_CALL define.
- 	* clipper/clipper.md (untyped_call): Likewise.
- 	* dsp16xx/dsp16xx.md (untyped_call): Likewise.
- 	* fx80/fx80.md (untyped_call): Likewise.
- 	* mips/mips.md (untyped_call): Likewise.
- 	* ns32k/ns32k.md (untyped_call): Likewise.
- 	* pa/pa.md (untyped_call): Likewise.
- 	* romp/romp.md (untyped_call): Likewise.
- 	* sparc/sparc.md (untyped_call): Likewise.
- 
- 2000-08-08  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* config/i860/i860.c (singlemove_string): Do not generate assembler
- 	pseudo instructions that must be expanded (that is, with signed
- 	constants larger than 16 bits).
- 
- 2000-08-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
- 	PROP_AUTOINC at -O0.  Don't collect alias info at -O0.
- 	(init_propagate_block_info): Don't kill memory stores at -O0.
- 	(mark_set_1, mark_used_regs): Likewise.
- 
- 2000-08-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (optimization_options): Decorate 'level' as
- 	ATTRIBUTE_UNUSED.
- 	(mask64_operand): Remove sign-extend thinko.
- 	(rldic_operand): New function.
- 	(load_multiple_operation): regno's are unsigned ints.
- 	(store_multiple_operation): Likewise.
- 	(lmw_operation): Likewise.
- 	(stmw_operation): Likewise.
- 	(includes_lshift_p): shift_mask is unsigned int.
- 	(includes_lshift64_p): New function.
- 	(addrs_ok_for_quad_peep): unsigned int reg1.
- 	(print_operand): Consistently add "else" after
- 	output_operand_lossage().
- 	(print_operand, case 'b'): Fold in case 'W'.
- 	(print_operand, case 'W'): Print rldic MB value.
- 	(output_epilogue): Update Objective-C language string.
- 	(output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
- 	* rs6000.h (PREDICATE_CODES): Add rldic_operand.
- 	* rs6000.md (ashldi3): Add rldic instruction.
- 	(iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
- 	(cmpsi_internal2, cmpdi_interal2): Use 'b' output template
- 	modifier.
- 
- 2000-08-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h: Remove duplicates.  Update
- 	for massive code rearrangements.
- 	* config/ia64/ia64.c (ia64_arpfs_regno): Remove.
- 	(ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
- 	(ia64_local_regs, ia64_need_regstk): Remove.
- 	(ar_ccv_reg_operand): New.
- 	(ia64_gp_save_reg): New.
- 	(struct ia64_frame_info): Combine most of the size elements;
- 	add new gr save elements.
- 	(find_gr_spill): New.
- 	(next_scratch_gr_reg): New.
- 	(mark_reg_gr_used_mask): New.
- 	(ia64_compute_frame_size): Rewrite.  Allocate special AR regs
- 	to GR backing store regs when possible.
- 	(ia64_initial_elimination_offset): New.
- 	(ia64_rap_fp_offset): Remove.
- 	(save_restore_insns): Remove.
- 	(setup_spill_pointers): New.
- 	(finish_spill_pointers): New.
- 	(spill_restore_mem): New.
- 	(do_spill, do_restore): New.
- 	(ia64_expand_prologue): Rewrite to use them.
- 	(ia64_expand_epilogue): Likewise.
- 	(ia64_direct_return): Update for current_frame_info changes.
- 	(ia64_function_prologue): Simplify .prologue emission.  Emit
- 	.spill when needed.
- 	(ia64_setup_incoming_varargs): Don't ever emit rtl.
- 	(ia64_dbx_register_number): New.
- 	(ia64_initialize_trampoline): New.
- 	(ia64_secondary_reload_class): Request GR_REGS for integer
- 	arithmetic destined for FR_REGS.
- 	(ia64_init_machine_status): Don't reset return_address_pointer_rtx.
- 	(ia64_mark_machine_status): Mark ia64_gp_save.
- 	(rws_access_regno): Rename from rws_access_reg; don't treat
- 	predicates specially.
- 	(rws_access_reg): New.  Update all callers.
- 	(rtx_needs_barrier): Remove dead unspecs.
- 	(ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
- 	(ia64_encode_section_info): Silence signed/unsigned warnings.
- 	(spill_offset, sp_offset, spill_offset_emitted): Remove.
- 	(tmp_reg, tmp_saved): Remove.
- 	(process_set): Rewrite to expect complicated bits via
- 	REG_FRAME_RELATED_EXPR.
- 	(ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
- 	in the use of ar.ccv; never set RTX_UNCHANGING_P.
- 	(ia64_expand_op_and_fetch): Likewise.
- 	(ia64_expand_compare_and_swap): Likewise.
- 	(ia64_expand_builtin): Likewise.
- 	* config/ia64/ia64.h (AR_UNAT_REGNUM): New.
- 	(FIRST_PSEUDO_REGISTER): Update.
- 	(AR_M_REGNO_P): Update.
- 	(FIXED_REGS): Don't mark three local registers as used.
- 	(EXTRA_CC_MODES): New.
- 	(SELECT_CC_MODE): New.
- 	(HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
- 	(HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
- 	(FRAME_GROWS_DOWNWARD): Unset.
- 	(STARTING_FRAME_OFFSET): Zero.
- 	(ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
- 	(INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
- 	(HARD_FRAME_POINTER_REGNUM): New.
- 	(CAN_DEBUG_WITHOUT_FP): Define.
- 	(TRAMPOLINE_TEMPLATE): Remove.
- 	(TRAMPOLINE_SIZE): Lower to 32.
- 	(TRAMPOLINE_ALIGNMENT): Lower to 64.
- 	(INITIALIZE_TRAMPOLINE): Defer to out of line function.
- 	(PREDICATE_CODES): Update.
- 	(struct machine_function): Add ia64_gp_save.
- 	* config/ia64/ia64.md: Purge unused unspecs.
- 	(movsi patterns): Allow moves to/from AR_M_REGS.
- 	(movdi patterns): Allow moves to/from p0.
- 	(call patterns): Move most setjmp hackery to ia64_gp_save_reg.
- 	(gr_spill, gr_restore): Indicate ar.unat read/written.
- 	(nonlocal_goto): Don't pass old frame_pointer.
- 	(nonlocal_goto_receiver): Remove.
- 	(exception_receiver): New.
- 	(builtin_setjmp_setup): New.
- 	(builtin_setjmp_receiver): New.
- 	* config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
- 	(__ia64_nonlocal_goto): Bundle.  Don't kill r7.
- 	(__ia64_restore_stack_nonlocal): Likewise.
- 	(__ia64_trampoline): New.
- 	* config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
- 	function.
- 	* config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
- 
- 2000-08-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* frame.h (ia64_frame_state): Add my_psp.
- 	* libgcc2.c (ia64_throw_helper): Add throw_sp argument.
- 	(__throw): Pass it in.  Don't clobber r7.
- 	* config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
- 	(execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
- 	and nothing to do with sp.
- 	(normalize_reg_loc): Use frame->my_psp.
- 	(frame_translate): Handle frame-pointer-less functions.  Set
- 	spill_base correctly, in absence of being told.
- 	(__build_ia64_frame_state): New sp argument.  Fill in frame->my_sp.
- 	(__ia64_backtrace_helper): New sp argument.  Use
- 	builtin_return_address instead of label addresses.
- 	(print_record) [mem_stack_v]: No size member.
- 
- 2000-08-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
- 
- 2000-08-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* tm.texi (LOCAL_REGNO): Document.
- 	* flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
- 	(mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
- 	* reload1.c (reload): Likewise when considering nonlocal labels.
- 
- 	* config/ia64/ia64.h (LOCAL_REGNO): New.
- 	* config/sparc/sparc.h (LOCAL_REGNO): New.
- 
- 2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
- 
- 2000-08-07  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mips/mips.c: Fix compile time warning messages.
- 	* config/mips/mips-protos.h: Add prototype for equality_op.
- 
- 	* mn10300.h (TARGET_SWITCHES): Document `-mam33'.
- 
- 2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
- 
- 	* mn10300.md: Use nonimmediate_operand instead of general_operand
- 	on output operands.
- 
- 	* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
- 
- 2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
- 	* sh.c (expand_block_move): Break long lines.
- 	(expand_ashiftrt, fpscr_set_from_mem): Likewise.
- 	* sh.md (mulsi3): Likewise.
- 	(movdi): Adjust spacing.
- 
- 2000-08-07  Richard Henderson  <rth@cygnus.com>
- 
- 	* expmed.c (store_bit_field): Don't require MEM_IN_STRUCT_P.
- 	* expr.c (emit_group_store): Don't set it.
- 
- 2000-08-07  Kazu Hirata  <kazu@hxi.com>
- 
- 	* invoke.texi (Options for Debugging Your Program or GCC): Remove
- 	duplicate entries for 'w' and 'z'.
- 
- 	* flow.c: Fix a comment typo.
- 
- Sun Aug  6 23:47:35 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* c-parse.in: Changed the language string for Objective-C to "GNU
- 	Objective-C".
- 
- Sun Aug  6 11:54:03 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* gthr-posix.h: Integrated Chris Ball's <cball@fmco.com> changes
- 	to improve the Posix thread support for Objective-C.
- 
- 2000-08-06  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.h (enum c_tree_index): Add CTI_SIGNED_SIZE_TYPE and
- 	CTI_UNSIGNED_PTRDIFF_TYPE.
- 	(signed_size_type_node): Define.
- 	(unsigned_ptrdiff_type_node): Define.
- 	* c-decl.c (init_decl_processing): Create the
- 	signed_size_type_node and unsigned_ptrdiff_type_node types.
- 	* c-common.c (T_SC): Define.
- 	(T_SST): Define.
- 	(T_UPD): Define.
- 	(print_char_table): Use T_SST for %zd, %zi, %zn.  Use T_UPD for
- 	%to, %tu, %tx, %tX.  Allow %hhn (T_SC).  Add "c" to the flags for
- 	%s and %p.
- 	(scan_char_table): Use T_SC for %hhd, %hhi, %hhn.  Use T_SST for
- 	%zd, %zi, %zn.  Use T_UPD for %to, %tu, %tx, %tX.  Add "c" to the
- 	flags for %c, %s and %[.
- 	(check_format_info): Only allow leniency for signedness of targets
- 	of character pointers (when pedantic) for formats flagged with
- 	"c", so for strings but not for %hh formats.  When pedantic, don't
- 	allow character pointers to substitute for void pointers if a
- 	second level of indirection is present.
- 
- 2000-08-06  Kazu Hirata  <kazu@hxi.com>
- 
- 	* invoke.texi (Options for Debugging Your Program or GCC): Update
- 	the names of dump files.
- 
- 	* h8300.c (dosize): Rearrange code for conciseness.
- 	(split_adds_subs): Likewise.
- 
- 	* loop.c: Fix formatting.
- 
- 	* dwarf2out.c: Fix formatting.
- 
- 	* tm.texi (FUNCTION_ARG_PARTIAL_NREGS): Fix a typo.
- 
- 	* expr.c: Fix formatting.
- 
- 2000-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rs6000.c (rs6000_maybe_dead): Prototype.
- 
- 2000-08-06  Richard Henderson  <rth@cygnus.com>
- 
- 	* stmt.c (expand_goto): Do virtual_stack_vars_rtx replacement for
- 	HAVE_nonlocal_goto as well.
- 	* config/i960/i960.md (nonlocal_goto): Don't do it here.
- 	* config/pj/pj.md (nonlocal_goto): Likewise.
- 
- 2000-08-07  Michael Hayes  <mhayes@cygnus.com>
- 
- 	* loop.c (try_swap_copy_prop): New function.
- 	(load_mems): Rename copies to load_copies and add new regset
- 	store_copies.  Check for sets of shadow registers and mark
- 	in store_copies.   Call try_swap_copy_prop for registers
- 	marked in store_copies.
- 
- Sun Aug  6 00:54:42 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
- 
- 	* objc/objc-act.c: New command line option -fconstant-string-class
- 	to allow specifying a user defined constant string class,
- 	different from NXConstantString.
- 
- 	* toplev.c: Moved the Objective-C specific options to
- 	objc/lang-options.h.
- 
- 	* objc/lang-options.h: Moved the Objective-C specific options from
- 	toplev.c. Added -fconstant-string-class.
- 
- 2000-08-05  Chris Demetriou  <cgd@sibyte.com>
- 
- 	* mips/elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
- 	DTOR_LIST_BEGIN, DTOR_LIST_END): change type of
- 	__CTOR_LIST__ from func_ptr array to just func_ptr, to
- 	avoid extra alignment imposed on arrays.
- 	* mips/elf64.h (CTOR_LIST_BEGIN, CTOR_LIST_END,
- 	DTOR_LIST_BEGIN, DTOR_LIST_END): Likewise.
- 
- 	* mips.h: Clean up comments and spacing near MASKs.
- 	(TARGET_UNIX_ASM): Delete.
- 	(MASK_MIPS16, MASK_NO_CHECK_ZERO_DIV, MASK_CHECK_RANGE_DIV,
- 	MASK_UNINIT_CONST_IN_RODATA): Change values to make mask
- 	values contiguous.
- 
- 2000-08-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (print_char_table): Add entries for the X/Open '
- 	format flag (print decimals with locale's thousands grouping
- 	character).  Make %C expect wint_t.
- 	(check_format_info): If pedantic, warn when the %n$ operand
- 	number form is used.  Allow for the ' flag; warn about it if
- 	pedantic.
- 
- 2000-08-05  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* i386.h (FUNCTION_OK_FOR_SIBCALL):  Not OK if DECL's return
- 	type is a float mode, cfun->decl's return type is not, and
- 	TARGET_FLOAT_RETURNS_IN_80387.
- 
- 2000-08-04  Andreas Schwab  <schwab@suse.de>
- 
- 	* cppmain.c (cb_def_pragma): Skip the first two tokens from the
- 	token list, which are always `#' and `pragma'.
- 
- 2000-08-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tree.c (tree_expr_nonnegative_p): Move to...
- 	* fold-const.c: ... here.  Also handle BIND_EXPR and RTL_EXPR.
- 	(rtl_expr_nonnegative_p): New.
- 	* tree.h: Add prototype for rtl_expr_nonnegative_p.
- 
- 	* real.h (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH, CONST_DOUBLE_MEM,
- 	CONST_DOUBLE_CHAIN: Move to...
- 	* rtl.h: ...here.  Use XCINT/XCEXP.
- 
- 	* Makefile.in: Remove toplev.o from OBJS.  Add rule to make
- 	libbackend.a; add libbackend.a to STAGESTUFF.  Add BACKEND
- 	variable.  Use BACKEND when linking cc1, not OBJS.  Add BACKEND
- 	to VOL_FILES.
- 
- 	* objc/Make-lang.in (cc1obj): Link with $(BACKEND).
- 
- 2000-08-05  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* config/c4x/c4x.md (return_indirect_internal): New.
- 	* config/c4x/c4x.c (c4x_expand_epilogue): Use it.
- 
- 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (time_char_table): Mark up formats added in C99 and
- 	make other corrections.  %D and %g were added in C99.  %Og is an
- 	extension.  %EX is permitted.  %R, %T, %n, %r, %t were added in
- 	C99.  %e was added in C99.  %Oj is an extension.  %G and %z are in
- 	C99 rather than GNU extensions, but %OG and %Oz are extensions.
- 	%h was added in C99.  %C was added in C99.  %OY and %OC are
- 	extensions.  Add the C99 format %F.
- 	(check_format_info): If pedantic and not in C99 mode, warn for C99
- 	formats, %E and %O.
- 
- Fri Aug  4 23:01:58 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* function.c (schedule_fixup_var_refs): New function, broken out
- 	of put_reg_into_stack.
- 	(put_reg_into_stack): Use it.
- 	(put_var_into_stack): In CONCAT case, fixup up references for
- 	components only after fixing up references to the whole concat.
- 
- 2000-08-04  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* alias.c (mark_constant_function): Use INSN_P.
- 	(init_alias_analysis): Likewise.
- 	* combine.c (combine_instructions): Use INSN_P.
- 	(can_combine_p): Likewise.
- 	(try_combine): Likewise.
- 	(distribute_notes): Likewise.
- 	(distribute_links): Likewise.
- 	* cse.c (cse_around_loop): Use INSN_P.
- 	(invalidate_skipped_block): Likewise.
- 	(cse_set_around_loop): Likewise.
- 	(cse_end_of_basic_block): Likewise.
- 	(delete_trivially_dead_insns): Likewise.
- 	* emit-rtl.c (unshare_all_rtl_again): Use INSN_P.
- 	(unshare_all_rtl_1): Likewise.
- 	(next_cc0_user): Likewise.
- 	(try_split make_insn_raw): Likewise.
- 	(remove_unnecessary_notes): Likewise.
- 	* final.c (shorten_branches): Use INSN_P.
- 	(leaf_renumber_regs): Likewise.
- 	(leaf_renumber_regs_insn): Likewise.
- 	* flow.c (find_label_refs): Use INSN_P.
- 	(verify_wide_reg): Likewise.
- 	(notice_stack_pointer_modification): Likewise.
- 	(count_or_remove_death_notes): Likewise.
- 	(verify_flow_info): Likewise.
- 	(clear_log_links): Likewise.
- 	* function.c (fixup_var_refs_insns): Use INSN_P.
- 	(compute_insns_for_mem): Likewise.
- 	* gcse.c (alloc_gcse_mem): Use INSN_P.
- 	(compute_sets): Likewise.
- 	(compute_hash_table): Likewise.
- 	(classic_gcse): Likewise.
- 	(cprop): Likewise.
- 	(insert_insn_end_bb): Likewise.
- 	(delete_null_pointer_checks_1): Likewise.
- 	* global.c (expand_preferences): Use INSN_P.
- 	(build_insn_chain): Likewise.
- 	* graph.c (node_data): Use INSN_P.
- 	* haifa-sched.c (priority): Use INSN_P.
- 	(rm_line_notes): Likewise.
- 	(rm_other_notes): Likewise.
- 	(find_insn_reg_weight): Likewise.
- 	(init_target_units): Likewise.
- 	(schedule_block): Likewise.
- 	(compute_block_forward_dependences): Likewise.
- 	(debug_dependencies): Likewise.
- 	(set_priorities): Likewise.
- 	* integrate.c (function_cannot_inline_p): Use INSN_P.
- 	(save_parm_insns): Likewise.
- 	(copy_insn_list): Likewise.
- 	* jump.c (mark_all_labels): Use INSN_P.
- 	(never_reached_warning): Likewise.
- 	* lcm.c (optimize_mode_switching): Use INSN_P.
- 	* local-alloc.c (validate_equiv_mem): Use INSN_P.
- 	(memref_used_between_p): Likewise.
- 	(update_equiv_regs): Likewise.
- 	(block_alloc): Likewise.
- 	(no_conflict_p): Likewise.
- 	* loop.c (scan_loop): Use INSN_P.
- 	(find_and_verify_loops): Likewise.
- 	(count_loop_regs_set): Likewise.
- 	(loop_reg_used_before_p): Likewise.
- 	(strength_reduce): Likewise.
- 	(recombine_givs): Likewise.
- 	(check_dbra_loop): Likewise.
- 	(load_mems): Likewise.
- 	(try_copy_prop): Likewise.
- 	* print-rtl.c (print_rtx): Use INSN_P.
- 	* recog.c (find_single_use): Use INSN_P.
- 	* reg-stack.c (stack_regs_mentioned): Use INSN_P.
- 	(next_flags_user): Likewise.
- 	(swap_rtx_condition): Likewise.
- 	* regmove.c (mark_flags_life_zones): Use INSN_P.
- 	(optimize_reg_copy_1): Likewise.
- 	(optimize_reg_copy_2): Likewise.
- 	(optimize_reg_copy_3): Likewise.
- 	(reg_is_remote_constant_p): Likewise.
- 	(fixup_match_2): Likewise.
- 	(regmove_optimize): Likewise.
- 	(fixup_match_1): Likewise.
- 	* regrename.c (build_def_use): Use INSN_P.
- 	(replace_reg_in_block): Likewise.
- 	(consider_use): Likewise.
- 	* reload.c (find_equiv_reg): Use INSN_P.
- 	* reload1.c (reload): Use INSN_P.
- 	(maybe_fix_stack_asms): Likewise.
- 	(calculate_needs_all_insns): Likewise.
- 	(reload_as_needed): Likewise.
- 	(emit_output_reload_insns): Likewise.
- 	(delete_address_reloads_1): Likewise.
- 	(reload_cse_regs_1): Likewise.
- 	(reload_combine): Likewise.
- 	(reload_cse_move2add): Likewise.
- 	* reorg.c (redundant_insn): Use INSN_P.
- 	(dbr_schedule): Likewise.
- 	* resource.c (find_dead_or_set_registers): Use INSN_P.
- 	(mark_target_live_regs): Likewise.
- 	* rtlanal.c (reg_used_between_p): Use INSN_P.
- 	(reg_referenced_between_p): Likewise.
- 	(reg_set_between_p): Likewise.
- 	(reg_set_p): Likewise.
- 	(single_set): Likewise.
- 	(multiple_sets): Likewise.
- 	(find_last_value): Likewise.
- 	(reg_set_last): Likewise.
- 	(find_reg_note): Likewise.
- 	(find_regno_note): Likewise.
- 	* sibcall.c (sequence_uses_addressof): Use INSN_P.
- 	* simplify-rtx.c (cselib_process_insn): Use INSN_P.
- 	* ssa.c (find_evaluations): Use INSN_P.
- 	(rename_block): Likewise.
- 	(rename_equivalent_regs): Likewise.
- 	* unroll.c (loop_find_equiv_value): Use INSN_P.
- 	(set_dominates_use): Likewise.
- 	* varasm.c (mark_constant_pool): Use INSN_P.
- 	(mark_constants): Likewise.
- 	* config/alpha/alpha.c (alpha_does_function_need_gp): Use INSN_P.
- 	(alphaev4_next_group): Likewise.
- 	(alphaev5_next_group): Likewise.
- 	* config/c4x/c4x.c (c4x_process_after_reload): Use INSN_P.
- 	(c4x_rptb_rpts_p): Likewise.
- 	* config/mips/mips.c (mips16_optimize_gp): Use INSN_P.
- 	* config/rs6000/rs6000.c (uses_TOC): Use INSN_P.
- 	(rs6000_adjust_priority): Likewise.
- 	* config/sh/sh.c (sh_loop_align): Use INSN_P.
- 	(machine_dependent_reorg): Likewise.
- 	(split_branches): Likewise.
- 	* config/tahoe/tahoe.c (tahoe_cmp_check): Use INSN_P.
- 
- Fri Aug  4 11:43:49 2000  John Wehle  (john@feith.com)
- 
- 	* combine.c (recog_for_combine): Remove the old notes
- 	prior to attempting to recognize the new pattern.
- 	(distribute_notes): Ignore REG_NONNEG notes.
- 
- 2000-08-04  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* varasm.c (output_constructor): Add .align 0 for packed vars.
- 
- 2000-08-04  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* configure.in: Use default thread_file even when enable_threads is
- 	yes or dce because hpux10.20 pa port uses MULTILIB implementation.
- 	* configure: Rebuilt.
- 
- 	* gthr-dce.h (__gthread_objc_condition_allocate): Fix typo.
- 
- 2000-08-04  Donn Terry (donnte@microsoft.com)
- 
- 	* prefix.c (translate_name): Don't strip trailing DIR_SEPARATOR.
- 
- 2000-08-04  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* i386/x-djgpp: Delete code that conditionally modifies target_alias.
- 	Delete code that conditionally modifies 'version'.
- 	Delete X_CPPFLAGS. Add comment for SYSTEM_HEADER_DIR.
- 	* i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): New macro.
- 	* gcc.c (main): Use it.
- 	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): New macro.
- 	* prefix.c (update_path): Use it.
- 	* i386/djgpp.h (STANDARD_INCLUDE_DIR): Define.
- 	(MD_EXEC_PREFIX): Set to '/dev/env/DJDIR/bin/'.
- 	(ASM_OUTPUT_SECTION_NAME): Add code attribute to sections containing
- 	code.
- 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Default to true.
- 	(SUBTARGET_SWITCHES): Adjust.
- 	(WCHAR_UNSIGNED, WCHAR_TYPE_SIZE, WCHAR_TYPE): Undefine before
- 	defining.
- 	(WINT_TYPE, SIZE_TYPE, PTRDIFF_TYPE): Define.
- 
- 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.h (flag_isoc94): Declare.
- 	* c-decl.c (flag_isoc94): Define.
- 	(c_decode_option): Set flag_isoc94 as appropriate.
- 	* c-common.c (T_PD, T_IM, T_UIM): Define.
- 	(format_char_info): Add tlen and jlen.
- 	(print_char_table): Add entries for %t and %j.  Allow %zn.  Allow
- 	%F.  Allow %lf.
- 	(scan_char_table): Add entries for %t and %j.  Allow %F.  Allow
- 	%l[.
- 	(time_char_table): Add NULL entries for %t and %j.
- 	(check_format_info): Allow for %t and %j.  Warn for %F if pedantic
- 	and not C99.  Warn for %lc, %ls and %l[ if pedantic and not C94.
- 	Warn for printf %lf if pedantic and not C99.  Don't warn for empty
- 	precision.  Allow precision argument to be unsigned int.  If
- 	pedantic, warn for %p passed an argument not a pointer to possibly
- 	qualified void or a possibly qualified character type, and for
- 	pointer targets of the wrong sign, except for character pointers.
- 
- 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ginclude/stddef.h: Don't declare wint_t unless __need_wint_t.
- 	* c-common.h (enum c_tree_index): Add CTI_WINT_TYPE.
- 	(wint_type_node): Define.
- 	* c-decl.c (WINT_TYPE): Define.
- 	(init_decl_processing): Create the wint_type_node type.
- 	* c-common.c (T_WI): Define.
- 	(print_char_table): Use T_WI for %lc format.
- 
- 2000-08-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/:  Verified that the MSDOS patch does not break
- 	the UNIX functionality and applied the next three patches
- 	from July:
- 
- 2000-07-28  Eli Zaretskii  <eliz@is.elta.co.il>
- 
- 	* fixinc/fixfixes.c (main) [__MSDOS__]: Avoid overwriting the
- 	output file with the temporary one by appending ".X" to generate
- 	the temporary fuile's name.  If the output file already has an
- 	extension, replace it with ".X".
- 
- 	* fixinc/fixincl.c (fix_with_system) [__MSDOS__]: Use $ORIGDIR,
- 	not $DESTDIR, to find applyfix.  Use sprintf instead of snprintf;
- 	reallocate the command buffer while copying the command-line
- 	argument.  Redirect the output directly to the temporary file,
- 	instead of going through another temporary file.
- 	(process): Close the temporary file before unlinking it.
- 	(machine_matches) [__MSDOS__]: If the machine doesn't match, set
- 	the FD_SKIP_TEST flag.  Pay attention to the FD_MACH_IFNOT flag.
- 	(run_compiles): Pass p_fixd argument to machine_matches, as it
- 	expects.
- 
- 	* fixinc/fixincl.sh: Export ORIGDIR.  If $DJDIR is set in the
- 	environment, assume there are no symlinks in the include
- 	directory.  When cleaning up the DONE files, look for them
- 	case-insensitively.  Don't try to remove symlinks if they aren't
- 	there.
- 
- 	* fixinc/fixlib.c (make_raw_shell_str): Accept new argument smax;
- 	all callers changed.  Declare pz "const char *", to avoid compiler
- 	warnings.
- 
- 	* fixinc/fixlib.h (ENV_TABLE): Get ORIGDIR from the environment.
- 	Change prototype of make_raw_shell_str.
- 
- 2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
- 
- 	* fixinc/fixincl.c [__MSDOS__]: Don't include "server.h".
- 	(initialize) [__MSDOS__]: Use tempnam.
- 	(initialize): Don't use SIGPIPE if it is not defined.
- 
- 	* fixinc/fixfixes.c (main) [__MSDOS__]: freopen for stdout should
- 	return stdout.
- 
- 2000-07-25  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fix*.[ch]: substantially reworked to make it possible
- 	to run this program without using fork(2) or pipe(2) (i.e. in
- 	a DOS environment).
- 
- 2000-08-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* cppdefault.h (WINT_TYPE): Define.
- 	* cppinit.c (builtin_array): Define __WINT_TYPE__.
- 	* tradcpp.c (initialize_builtins): Define __WINT_TYPE__.
- 	* tm.texi (NO_BUILTIN_WINT_TYPE, WINT_TYPE): Document.
- 
- Fri Aug  4 06:53:46 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* (mips_legitimate_address_p): Don't allow register+offset
- 	if the offset is large and negative, and we are compiling
- 	for 64 bit registers.
- 
- 2000-08-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* gencodes.c (main): Define CODE_FOR_nothing as the last possible
- 	insn_code_number + 1.
- 
- 2000-08-04  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c (function_prologue): Rearrange code for conciseness.
- 	(function_epilogue): Likewise.
- 	* h8300.h (OK_FOR_U): Fix formatting.
- 
- 	* cse.c: Fix a comment typo. Fix formatting.
- 
- 2000-08-03  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/i386/i386.md (return_indirect_internal): New.
- 	* config/i386/i386.c (ix86_expand_epilogue): Use it.
- 
- 2000-08-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (parse_name): Might have to glue a CPP_OTHER token
- 	before the name.
- 	(lex_line): Glue @ onto the beginning of identifiers and
- 	string constants, in Objective-C mode.
- 	(output_token, spell_token): Handle CPP_OSTRING.
- 	(can_paste, maybe_paste_with_next): Handle pasting @ onto the
- 	beginning of a NAME or a STRING, in objc mode.
- 
- 	* cpplib.c (get_define_node): Do not permit identifiers that
- 	begin with @ to be #defined.
- 	* cppmacro.c (CAN_PASTE_AFTER): Add CPP_OTHER.
- 	* cpplib.h (TTYPE_TABLE): Add CPP_OSTRING.
- 
- 	* c-lang.c, objc/objc-act.c (build_objc_string): Delete.
- 	* c-tree.h (build_objc_string): Delete prototype.
- 	* objc/objc-tree.def: Delete OBJC_STRING_CST.
- 	* c-lex.c (yylex): Use build_string for all three kinds of strings.
- 
- 	* c-parse.in, objc/objc-act.c: Update commentary.
- 
- 2000-08-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* extend.texi: Fix typo in last change.
- 
- 	* extend.texi: Add commentary on statement-expressions and their
- 	interactions with C++.
- 
- 2000-08-03  Nick Clifton  <nickc@cygnus.com>
- 
- 	* dwarf2.h (DW_LANG_Java): Change value to 0x000b.
- 	* dwarf.h (LANG_JAVA): Change value to 0x000b.
- 
- 2000-08-03  Anthony Green  <green@cygnus.com>
- 
- 	* dwarf2out.c (gen_compile_unit_die): Add java language support.
- 	(add_bound_info): Check for java language.
- 	(is_java): New function.
- 	* dwarfout.c (output_compile_unit_die): Ditto.
- 	* dwarf.h (dwarf_source_language): Add java source language type.
- 	* dwarf2.h (dwarf_source_language): Ditto.
- 
- Thu Aug  3 20:32:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (subst_stack_regs_pat):  Use replace_reg to swap
- 	operands.
- 
- 	* i386.c (ix86_expand_branch): Mode of comparison in
- 	IF_THEN_ELSE is VOIDmode.
- 
- Thu Aug  3 10:05:53 2000  Akiko Matsushita <matusita@sra.co.jp>
- 
- 	* gengenrtl.c, rtl.c: Avoid #elif.
- 
- 2000-08-03  Michael Poole  <poole@troilus.org>
- 
- 	* tm.texi (Register Classes): Clarify order of sub-initializers
- 	in REG_CLASS_CONTENTS.
- 
- Thu Aug  3 15:53:03 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	From SAITOH Masanobu:
- 	* sh.h (ASM_OUTPUT_REG_PUSH): Fix syntax.
- 
- 2000-08-03  David Billinghurst  <David.Billinghurst@riotinto.com.au>
- 
- 	* config/i386/cygwin.h: Remove -remap from CPP_SPEC since this option
- 	is not supported by tradcpp and isn't actually needed for cygwin.
- 
- 2000-08-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c: Fix a comment typo.
- 	* h8300.h (OK_FOR_U): Accept a 32-bit constant address on H8S.
- 
- 	* jump.c: Fix formatting.
- 
- 	* toplev.c: Fix formatting.
- 
- Thu Aug  3 01:05:32 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_auto_inc): Verify that we've got a REG before
- 	peeking at its regno.  Fail, don't abort if we can't find
- 	the increment of the desired register.
- 
- 	* pa.md (shadd height reduction patterns/splitters): Remove.
- 
- 2000-08-02  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h (flag_ssa): Declare.
- 	* config/ia64/ia64.md (movti_internal, movti_internal+1): New.
- 
- 2000-08-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dce.c: Remove all uses of assert.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* ssa.c: Likewise.
- 
- 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.h (lang_specific_driver): Constify second argument.
- 	* gcc.c (translate_options, process_command, main): Likewise.
- 	Constify variables to match.  Cast second argument to
- 	pexecute.
- 
- 	* cppspec.c, gccspec.c: Adjust type of second argument to
- 	lang_specific_driver, and update code as necessary.
- 
- 2000-08-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* loop.c (scan_loop): Ensure update_end label does not
- 	go away until reg_scan_update is run.
- 
- 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-common.h: Prototype min_precision and c_build_qualified_type here...
- 	* c-tree.h: ... not here.
- 	* errors.h: Prototype fancy_abort.
- 
- 	* emit-rtl.c (gen_lowpart_common): Move variable 'c' into
- 	HOST_BITS_PER_WIDE_INT == 64 ifdef block.
- 	* regrename.c (regrename_optimize): Make control flow explicit.
- 	(replace_reg_in_block): Initialize reg_use to 0.
- 
- 	* i386.c (legitimate_address_p): Rename error label to
- 	report_error to avoid namespace clash.
- 
- 2000-08-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* fold-const.c: Fix formatting.
- 
- Wed Aug  2 16:26:15 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (legitimate_address_p): Accept other bases than
- 	pic_offset_table_rtx for GOTOFF constructs.
- 
- Wed Aug  2 15:59:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (shift to lea splitter): Use const_int_operand.
- 
- 2000-08-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c, cppinit.c, cpplex.c, cpplib.c, cppmacro.c,
- 	cppspec.c: Do not use 'legal' or 'illegal' in error messages
- 	and comments.
- 
- 	* cppmain.c (cb_define, cb_undef): Don't generate any output
- 	if not done_initializing.
- 	* cpplex.c (maybe_paste_with_next): When the token after a ##
- 	is an omitted rest argument, only delete the token before it
- 	if that token is a comma.  Do not warn about bogus token
- 	pastes for , ## rest_arg.
- 
- 	* cpp.texi: Update.
- 	* cpp.1: Regenerate.
- 
- 2000-08-02  Fred Fish  <fnf@be.com>
- 
- 	* config/i386/beos-elf.h (STARTFILE_SPEC): Add i386-mcount.o
- 	when user gives -p option.  Add init_term_dyn.o for BeOS 5.0
- 	and later.
- 
- 	* config/i386/beos-elf.h (INCLUDE_DEFAULTS): Add additional
- 	Be directories to search path.
- 
- 	Remove support for __declspec(dllimport) and __declspec(dllexport).
- 	This is leftover cruft from the earlier BeOS gcc port when BeOS
- 	used Microsoft's PE object file format.
- 	* configure.in (i*86-*-beoself): Remove extra_objs=winnt.o.
- 	* config/i386/t-beos (winnt.o): Remove Makefile frag.
- 	* config/i386/beos-elf.h (TARGET_NOP_FUN_DLLIMPORT): Remove.
- 	(VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	(MERGE_MACHINE_DECL_ATTRIBUTES): Remove.
- 	(REDO_SECTION_INFO_P): Remove.
- 	(ASM_EXPORT_DECL): Remove.
- 	(ASM_DECLARE_FUNCTION_NAME): Remove.
- 	(ASM_DECLARE_OBJECT_NAME): Remove.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Remove.
- 	(ASM_OUTPUT_ALIGNED_DECL_COMMON): Remove.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Remove.
- 	(STRIP_NAME_ENCODING): Remove.
- 
- 	Remove support for obsolete version of BeOS that is no longer
- 	supported by Be.
- 	* configure.in (i*86-*-beospe*): Remove.
- 	* config/i386/beos-pe.h: Remove.
- 
- 2000-08-01  Jeffrey Oldham  <oldham@codesourcery.com>
- 	    Mark Mitchell <mark@codesourcery.com>
- 
- 	* Makefile.in (OBJS): Added dce.o.
- 	(ssa.o): Updated target to include ssa.h.
- 	(flow.o): Likewise.
- 	(toplev.o): Likewise.
- 	(dce.o): Created target.
- 	* basic-block.h: Added comments.
- 	(INVALID_BLOCK): Added definition.
- 	(connect_infinite_loops_to_exit): Added declaration.
- 	Moved SSA declarations to ssa.h.
- 	* flow.c: Added inclusion of ssa.h.
- 	(struct depth_first_search_dsS, depth_first_search_ds):
- 	Added definitions.
- 	(compute_immediate_postdominators): Added definition.
- 	(connect_infinite_loops_to_exit): Likewise.
- 	(flow_dfs_compute_reverse_init): Likewise.
- 	(flow_dfs_compute_reverse_add_bb): Likewise.
- 	(flow_dfs_compute_reverse_execute): Likewise.
- 	(flow_dfs_compute_reverse_finish): Likewise.
- 	* rtl.h (rtx/in_struct): Added use to determine insn necessity.
- 	(LABEL_P): Added definition.
- 	(JUMP_P): Likewise.
- 	(NOTE_P): Likewise.
- 	(BARRIER_P): Likewise.
- 	(JUMP_TABLE_DATA_P): Likewise.
- 	(INSN_DEAD_CODE_P): Likewise.
- 	* ssa.c: Replaced inclusions with ssa.h inclusion.
- 	(CONVERT_HARD_REGISTER_TO_SSA_P): Moved to ssa.h.
- 	(rename_registers): Removed unnecessary variables.
- 	* ssa.h: Created by moving declarations from ssa.c and
- 	basic-block.h.
- 	* timevar.def: Defined TV_DEAD_CODE_ELIM.
- 	* toplev.c: Added ssa.h inclusion.
- 	(dump_file_index): Added DFI_dce.
- 	(dump_file): Added "dce" entry.
- 	Defined flag_ssa.
- 	(f_options): Added dce entry.
- 	* invoke.texi: Document -fdce.  Emphasize experimental status of
- 	-fssa.
- 	* dce.c: New file.
- 
- 2000-08-01  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpperror.c (v_message): Split into _cpp_begin_message and
- 	v_message macro.  All callers updated.
- 	(_cpp_begin_message): Do inhibit_errors/inhibit_warnings
- 	checks here.
- 
- 	* cppfiles.c (cpp_syshdr_flags): New function.
- 	(read_include_file): Don't call cpp_output_tokens.  Call
- 	enter_file hook.
- 	* cppinit.c (dump_macros_helper): Moved to cppmain.c.
- 	(cpp_reader_init): Don't initialize token_buffer.  Call
- 	_cpp_init_internal_pragmas.
- 	(cpp_cleanup): Don't clear token_buffer.
- 	(cpp_start_read): Don't worry about output from -D processing.
- 	Don't call cpp_output_tokens.
- 	(cpp_finish): Don't dump macros here.  Don't call
- 	cpp_output_tokens.
- 	* cppmacro.c (_cpp_dump_definition): Rename
- 	cpp_dump_definition.  Write directly to a FILE *.
- 	(dump_funlike_macro): Delete.
- 	(dump_macro_args): New.
- 
- 	* cpplex.c (TOKEN_LEN): Convert to inline function.
- 	(_cpp_grow_token_buffer, safe_fwrite, cpp_output_tokens,
- 	cpp_scan_line, _cpp_dump_list): Delete.
- 	(cpp_printf, cpp_output_list): New.
- 	(output_line_command): Don't worry about entering or leaving files.
- 	(cpp_scan_buffer): Just output each token as we hit it.
- 	(process_directive): Don't call cpp_output_tokens.
- 	(_cpp_glue_header_name): Don't use token_buffer.
- 	(output_token, dump_param_spelling): Write directly to a FILE *.
- 
- 	* cpplib.c (pass_thru_directive, dump_macro_name,
- 	pragma_dispatch, do_pragma_gcc): Delete.
- 	(do_define, do_undef, parse_include, do_line, do_ident, do_pragma,
- 	do_pragma_poison, cpp_pop_buffer): Call the appropriate hook
- 	functions.
- 	(do_error, do_warning, pragma_dependency): Call
- 	_cpp_begin_message, then cpp_output_list.
- 	(cpp_register_pragma, cpp_register_pragma_space,
- 	_cpp_init_internal_pragmas): New.
- 	(do_pragma): Walk the pragmas table here.
- 	(do_pragma_once, do_pragma_poison, do_pragma_system_header,
- 	do_pragma_dependency): Return void.
- 	(do_pragma_implementation): Moved to cppmain.c.
- 
- 	* cpplib.h: Update prototypes.
- 	 (struct cpp_reader): Remove printer, token_buffer,
- 	token_buffer_size, and limit.  Add struct cb, and pragmas.
- 	(struct cpp_printer): Remove last_id and written.
- 	(CPP_WRITTEN, CPP_PWRITTEN, CPP_SET_WRITTEN,
- 	CPP_ADJUST_WRITTEN): Delete.
- 	* cpphash.h: Update prototypes.
- 	(ufputs): New wrapper.
- 
- 	* cppmain.c (cb_define, cb_undef, cb_include, cb_ident,
- 	cb_enter_file, cb_leave_file, cb_def_pragma): New functions.
- 	(main): Set up callbacks.  Register #pragma implementation.
- 	Dump macros from here.
- 
- 2000-08-01  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* rtl.h (enum reg_note): Add REG_MAYBE_DEAD.
- 	* rtl.c (reg_note_name): Add REG_MAYBE_DEAD.
- 	* flow.c (propagate_one_insn): Allow deletion of prologue/epilogue
- 	insns if they have a REG_MAYBE_DEAD note attached.
- 	* config/rs6000/rs6000.c (rs6000_maybe_dead): New function.
- 	(rs6000_emit_load_toc_table): TOC loads may go dead.
- 
- 2000-08-01  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg): Fix last change.  Verify
- 	type exists before using it.  Use number of words as alignment
- 	otherwise.
- 	(ia64_function_arg_partial_nregs, ia64_function_arg_advance,
- 	ia64_va_arg): Propagate ia64_function_args changes here.
- 
- 2000-08-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/elfos.h (ASM_DECLARE_OBJECT_NAME): Care for null DECL.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
- 
- 2000-08-01  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	From Joern Rennecke:
- 	* sh.h (CPP_SPEC, TARGET_SWITCHES): Add m4-nofpu.
- 	* sh.md (udivsi3, divsi3): Don't use libcalls that use the FPU
- 	unless TARGET_SH3E is set.
- 	* t-sh (MULTILIB_MATCHES): Add m2=m4-nofpu.
- 
- 	* sh.md (ashlsi3_d, ashlsi3_k): Remove, replace with
- 	(ashlsi3_std): New pattern.
- 	(ashlsi3 expander): Use it for TARGET_SH3.
- 	* sh.c (gen_ashift): Use it instead of ashlsi3_k.
- 
- Tue Aug  1 12:34:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (canonicalize_condition):  Use destination, not source to
- 	determine SET's mode.
- 
- 2000-07-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* flow.c (clear_log_links): Fix typo.
- 
- Mon Jul 31 22:19:24 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* loop.c (check_dbra_loop): Make change from July 17, 2000 work
- 	on targets which need more than one insn for a compare/cbranch
- 	operation.
- 
- 2000-07-31  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg): Use alignment not size
- 	when computing offset.
- 
- Mon Jul 31 20:35:50 2000  Denis Chertykov  <denisc@overta.ru>
- 
- 	* genpeep.c (main): Handle DEFINE_PEEPHOLE2.
- 
- 2000-07-31  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* flow.c (clear_log_links): Nuke global_live_at_start and
- 	global_live_at_end data, since if the log_links stuff is invalid
- 	so is global_live_at_*.
- 
- 2000-07-31  Richard Henderson  <rth@cygnus.com>
- 
- 	* tm.texi (Addressing Modes): Clarify PRE/POST_MODIFY descriptions.
- 
- 2000-07-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplex.c (_cpp_get_line): If index is 0, return line 0 col 0.
- 	(_cpp_get_token): Don't macro expand a just pasted token if it
- 	was pasted at no_expand_level.
- 
- 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppmacro.c (find_param, count_params, save_expansion):
- 	Permit 'defined' as a macro parameter name.
- 
- 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* Makefile.in: Rename cpp to cpp0, tradcpp to tradcpp0, and
- 	xcpp to cpp throughout.
- 	(native): Remove unnecessary dependency on cpp.
- 
- 	* gcc.c (trad_capable_cpp, C specs): Rename cpp to cpp,
- 	tradcpp to tradcpp0.
- 	(.i spec): Add missing output-file spec to cc1 command line.
- 	* objc/lang-specs.h: Rename cpp to cpp0 and/or tradcpp to tradcpp0.
- 
- 2000-07-31  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-decl.c (mesg_implicit_function_declaration): Init to -1.
- 	(implicit_decl_warning): New function.
- 	(implicitly_declare): Use it.
- 	* c-typeck.c (build_external_ref): Use implicit_decl_warning
- 	to complain about implicit decls of builtins.
- 
- 	* c-lang.c (lang_init): Set mesg_implicit_function_declaration
- 	based on pedantic && flag_isoc99, if not already set.
- 	* c-tree.h: Declare mesg_implicit_function_declaration.
- 	Prototype implicit_decl_warning.
- 
- 2000-07-30  Jeffrey D. Oldham  <oldham@codesourcery.com>
- 
- 	* Makefile.in (ssa.o): Updated header files in dependences.
- 	* basic-block.h: Added compute_immediate_postdominators declaration.
- 	* config/i386/i386.h (CONVERT_HARD_REGISTER_TO_SSA_P): Added
- 	definition.
- 	* flow.c (compute_immediate_dominators): Updated comment.
- 	(compute_immediate_postdominators): Added definition.
- 	* rtl.h (HARD_REGISTER_P): Added definition.
- 	* ssa.c: Include additional header files.
- 	(assert): Added definition.
- 	(ssa_rename_to_lookup): Added to reimplement ssa_rename_to to
- 	include select hard registers.
- 	(ssa_rename_to_insert): Likewise.
- 	(ssa_rename_from_initialize): Likewise.
- 	(ssa_rename_from_lookup): Likewise.
- 	(original_register): Likewise.
- 	(ssa_rename_from_insert): Added to reimplement ssa_rename_from to
- 	include select hard reigsters.
- 	(ssa_rename_from_traverse): Likewise.
- 	(ssa_rename_from_free): Likewise.
- 	(ssa_rename_from_print): Likewise.
- 	(ssa_rename_from_print_1): Likewise.
- 	(ssa_rename_from_hash_function): Likewise.
- 	(ssa_rename_from_equal): Likewise.
- 	(ssa_rename_from_delete): Likewise.
- 	(simplify_to_immediate_dominators): Removed in favor of
- 	flow.c:compute_immediate_dominators.
- 	(find_evaluations_1): Modified to work with hard registers.
- 	(insert_phi_node): Likewise.
- 	(insert_phi_nodes): Likewise.
- 	(struct rename_set_data): Updated prev_reg comment.
- 	(create_delayed_rename): Modified to work with hard registers.
- 	(RENAME_NO_RTX): Updated comment.
- 	(apply_delayed_renames): Modified to work with hard registers.
- 	(rename_insn_1): Likewise and added handling of CLOBBER rtls.
- 	(rename_block): Updated to use revised ssa_rename_to interface.
- 	(rename_registers): Updated to use revised ssa_rename_to and
- 	ssa_rename_from interface.
- 	(convert_to_ssa): Revised to use compute_immediate_dominators and
- 	deal with hard registers.
- 	(make_regs_equivalent_over_bad_edges): Modified to work with hard
- 	registers.  Added check for illegal unification of hard register.
- 	(make_equivalent_phi_alternatives_equivalent): Modified to work
- 	with hard registers.
- 	(compute_conservative_reg_partition): Likewise.
- 	(coalesce_if_unconflicting): Modified to work with hard registers
- 	and check for conflicting hard registers.
- 	(mark_phi_and_copy_regs): Revised loop to work only on pseudo
- 	registers.
- 	(rename_equivalent_regs_in_insn): Modified to work with hard
- 	registers.
- 	(record_canonical_element_1): Added definition.
- 	(check_hard_regs_in_partition): Added definition.
- 	(convert_from_ssa): Added data structure deallocation and check
- 	for illegal hard register unification.
- 	(conflict_hard_regs_p): Added definition.
- 	* toplev.c (rest_of_compilation): Added comment.
- 
- 2000-07-31  Anthony Green  <green@redhat.com>
- 
- 	* config/ia64/crtbegin.asm (__EH_FRAME_BEGIN__): Align correctly.
- 
- 2000-07-31  Jason McMullan  <jmcmullan@linuxcare.com>
- 
- 	* builtins.c (expand_builtin_apply): Don't defer pop during
- 	argument setup.
- 
- 2000-07-31 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* calls.c (combine_pending_stack_adjustment_and_call): Only use
- 	preferred_unit_stack_boundary when it is > 1.
- 
- 2000-07-31  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (init_function_format_info): Add C99 format functions
- 	in C99 mode.
- 
- 	* c-decl.c (get_parm_info): Don't treat 'const void', 'volatile
- 	void' or 'register void' as being the special case of 'void' alone
- 	in a parameter list.
- 
- 	* c-typeck.c (build_c_cast): Change -Wcast-qual pedwarn for
- 	discarding qualifiers into a plain warning.
- 
- 2000-07-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c: Fix formatting.
- 
- 	* h8300.md: Fix formatting.
- 
- 	* local-alloc.c: Fix formatting.
- 
- 	* h8300.c (get_shift_alg): Remove the variable alg.
- 	(emit_a_shift): Rearrange code to improve readability.
- 
- 	* h8300.md (movsi_h8300hs): Rearrange code to improve readability.
- 
- 	* h8300.h (MODES_TIEABLE_P): Accept a combination of QImode and
- 	HImode on all architectures and a combination of HImode and SImode
- 	on H8/300H and H8S.
- 
- 	* h8300.c (split_adds_subs): Rearrange code for conciseness.
- 
- Mon Jul 31 12:27:55 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (addsi to lea splitter, ashlqi3_1_lea): Fix bugs
- 	in my last checkin.
- 
- Mon Jul 31 10:41:01 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (extract_insn): Set operand_mode according to
- 	operand if match_operand is VOIDmode.
- 
- Mon Jul 31 10:36:38 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_rtx_1): Do not abort for (nil) expression.
- 
- 2000-07-31  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* c-parse.in (extdefs): Call ggc_collect between external
- 	definitions.
- 
- 2000-07-30  Michael Hayes  <mhayes@cygnus.com>
- 	    Richard Henderson  <rth@cygnus.com>
- 
- 	* Makefile.in (OBJS): Add doloop.o.
- 	* doloop.c: New file.
- 
- 	* final.c (insn_current_reference_address): Return 0 before final.
- 	* flags.h (flag_branch_on_count_reg): Fix typos in commentary.
- 	* jump.c (any_uncondjump_p): Likewise.
- 	* loop.c (indirect_jump_in_function): Make static.
- 	(strength_reduce): Call doloop_optimize.
- 	(insert_bct, instrument_loop_bct): Remove.
- 	* loop.h (doloop_optimize): Prototype.
- 	* recog.c (split_all_insns): Split all INSN_P.
- 	* toplev.c (flag_branch_on_count_reg): Default on.
- 
- 	* config/c4x/c4x.c (c4x_optimization_options): Don't set
- 	flag_branch_on_count_reg.
- 	* config/i386/i386.c (override_options): Likewise.
- 	* config/rs6000/rs6000.c (optimization_options): Likewise.
- 
- 	* config/i386/i386.md (decrement_and_branch_on_count): Remove.
- 	(doloop_end): New.
- 	(dbra_ge): Remove, as well as all it's splitters.
- 
- 	* config/rs6000/rs6000.md (decrement_and_branch_on_count): Remove.
- 	(doloop_end): New.
- 
- 	* config/ia64/ia64-protos.h (ar_lc_reg_operand): Declare.
- 	(ia64_register_move_cost): Declare.
- 	* config/ia64/ia64.c (ar_lc_reg_operand): New.
- 	(struct ia64_frame_info): Add ar_size.
- 	(ia64_compute_frame_size): Set it.
- 	(save_restore_insns): Save and restore ar.lc.
- 	(ia64_register_move_cost): New, moved from header file.  Handle
- 	application registers.
- 	(REG_AR_PFS, REG_AR_EC): Remove.  Replace with AR_*_REGNUM numbers.
- 	(emit_insn_group_barriers): Special case doloop_end_internal.
- 	(ia64_epilogue_uses): Mark ar.lc live at end.
- 	* config/ia64/ia64.h (AR_CCV_REGNUM, AR_LC_REGNUM): New registers.
- 	(AR_EC_REGNUM, AR_PFS_REGNUM): New registers.
- 	(FIRST_PSEUDO_REGISTER): Make room.
- 	(AR_M_REGNO_P, AR_I_REGNO_P, AR_REGNO_P): New.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Update.
- 	(REG_ALLOC_ORDER): Update.
- 	(HARD_REGNO_MODE_OK): Update.
- 	(REGISTER_NAMES): Update.
- 	(enum reg_class): Add AR_M_REGS and AR_I_REGS.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
- 	(REGNO_REG_CLASS): Update.
- 	(LEGITIMATE_ADDRESS_DISP): Displacement range is 9 bits, not 10.
- 	(REGISTER_MOVE_COST): Move out of line.
- 	(PREDICATE_CODES): Update.
- 	* config/ia64/ia64.md (movdi patterns): Handle ar register classes.
- 	(addsi3_plus1_alt, adddi3_plus1_alt): New.
- 	(shladd_elim splitter): Allow constants in the predicate.
- 	(doloop_end, doloop_end_internal): New.
- 
- 2000-07-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* genattrtab.c (struct insn_def): Add lineno member.
- 	(struct insn_ent): Likewise.
- 	(struct attr_desc): Likewise.
- 	(struct delay_desc): Likewise.
- 	(struct function_unit_op): Likewise.
- 	(struct function_unit): Likewise.
- 	(check_attr_value): Use message_with_line.
- 	(check_defs): Likewise.
- 	(expand_units): Likewise.
- 	(check_attr_test): Take a lineno argument.
- 	(gen_attr): Likewise.
- 	(gen_insn): Likewise.
- 	(gen_delay): Likewise.
- 	(gen_unit): Likewise.
- 	(main): Give it to them.
- 	(convert_set_attr_alternative): Take an insn_def argument
- 	instead of num_alt and insn_index.
- 	(convert_set_attr): Likewise.
- 	(write_test_expr): Protect INSN_ADDRESSES load
- 	with INSN_ADDRESSES_SET_P.
- 
- 2000-07-30  Richard Henderson  <rth@cygnus.com>
- 
- 	* flow.c (init_propagate_block_info): Use pc_set.
- 
- Sun Jul 30 20:58:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (*lea_general_[123]) New insns and splits.
- 	(addsi3 to lea splitter): Handle other modes too.
- 	(shlsi3 to lea splitter): Likewise.
- 	(addhi_1_lea, shlhi_1_lea): New patterns.
- 	(addhi_1, shlhi_1): Conditionize by PARTIAL_REG_STALL.
- 
- Sun Jul 30 20:51:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (general_operand, nonimmediate_operand): Accept
- 	any mode for VOIDmode CONSTANT_P operands.
- 
- Sun Jul 30 20:42:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (try_replace_reg): Use validate_replace_rtx_subexp
- 	instead of replace_rtx.
- 	* recog.c (validate_replace_rtx_subexp): New function.
- 	* recog.h (validate_replace_rtx_subexp): Declare.
- 
- Sun Jul 30 20:38:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (simplify_set, make_extraction, make_compound_operation
- 	make_field_assignment): Use full mask instead of GET_MODE_MASK (mode)
- 	as force_to_mode argument.
- 
- Sun Jul 30 20:30:41 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (if_then_else_cond): Be sure that mode fits in
- 	HOST_WIDE_INT.
- 
- Sun Jul 30 20:27:36 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (record_promoted_value):  Allow bitsize of mode
- 	to be equivalent to HOST_BITS_PER_WISE_INT.
- 
- Sun Jul 30 20:25:21 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (assign_stack_local_1, assign_stack_temp_for_type):
- 	Do not call gen_mode_alignment when mode is BLKmode.
- 
- Sun Jul 30 20:21:54 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (express_from_1): Fix call of simplify_gen_binary.
- 
- Sun Jul 30 20:08:37 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Verify that mode ==
- 	VOIDmode implies both operands to be VOIDmode.
- 	(simplify_ternary_operation): Compute properly the mode of comparison.
- 	* combine.c (combine_simplify_rtx): Likewise.
- 
- 2000-07-25  Michael Hayes  <mph@paradise.net.nz>
- 
- 	* basic-block.h (struct loops): New field rc_order.
- 	* flow.c (flow_loops_cfg_dump): Dump rc_order if computed.
- 	(flow_loops_free): Free rc_order.
- 	(flow_depth_first_order_compute): New parameter rc_order.
- 	(flow_loops_find): Allocate rc_order and swap usage with
- 	dfs_order.
- 
- 2000-07-30 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 	   Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (set_ldp_prologue): Add for RTL prologue/epilogue.
- 	(push_st, push_dp, pop_st, pop_dp, popqi_unspec): Likewise.
- 	(nodb_call, return_from_epilogue): Likewise.
- 	(return_from_interrupt_epilogue, prologue, epilogue): Likewise.
- 	* config/c4x/c4x.c (c4x_expand_prologue, c4x_expand_eplilogue): Add.
- 	* config/c4x/c4x-protos.h (c4x_interrupt_function_p): Add.
- 	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
- 	(c4x_valid_type_attribute_p): Likewise.
- 	* config/c4x/c4x.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete.
- 	(FUNCTION_BLOCK_PROFILER_EXIT): Convert to emit RTL.
- 
- 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_emit_move_sequence): Use loadqi_big_constant
- 	and loadhi_big_constant if applicable.
- 	* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant): Tweak
- 	and add new splitter.s
- 
- 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_rptb_insert): Make more robust.
- 
- 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (ASM_FORMAT_PRIVATE_NAME): Output $ in label.
- 
- 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.h (IS_XXX_REGNO): Rewrite to avoid unsigned warnings.
- 
- 2000-07-30  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/libgcc.S (divqf3): Improve accuracy.
- 
- 2000-07-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Put phi nodes after NOTE_INSN_BASIC_BLOCK.
- 	* rtl.h (NOTE_INSN_BASIC_BLOCK_P): New macro.
- 	* bb-reorder.c (get_next_bb_note): Use NOTE_INSN_BASIC_BLOCK_P.
- 	(get_prev_bb_note): Likewise.
- 	(remove_scope_notes): Likewise.
- 	* flow.c (commit_one_edge_insertion): Likewise.
- 	(merge_blocks_nomove): Likewise.
- 	(verify_flow_info): Likewise.
- 	* gcse.c (insert_insn_end_bb): Likewise.
- 	* reg-stack.c (emit_swap_insn): Likewise.
- 	* ssa.c (first_insn_after_basic_block_note): New function.
- 	(insert_phi_node): Use it.
- 	(rename_block): Likewise.
- 	(eliminate_phi): Likewise.
- 	(make_regs_equivalent_over_bad_edges): Likewise.
- 	(make_equivalent_phi_alternatives_equivalent): Likewise.
- 	(for_each_successor_phi): Likewise.
- 	(convert_from_ssa): Modify phi-node deletion algorithm.
- 
- 2000-07-29  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in (mips*-*-linux*): Use mips*el to check for little
- 	endian MIPS, add tmake_file.
- 
- 	* config/mips/linux.h (TARGET_VERSION): Use GNU/Linux.
- 	(SUBTARGET_CPP_SPEC): Default MIPS_ISA is 1.
- 	Patches by Maciej W. Rozycki <macro@ds2.pg.gda.pl>.
- 
- 2000-07-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_print_operand): Fix typos.
- 	Sign extend mode size before negating.
- 
- 2000-07-28  Richard Henderson  <rth@cygnus.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Add missing 'c' variable.
- 
- 2000-07-28  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* cse.c (canon_hash): Handle PRE_MODIFY/POST_MODIFY.
- 	(cse_insn): Likewise.
- 	(addr_affects_sp_p): Likewise.
- 	* expr.c (move_by_pieces): Likewise.
- 	(clear_by_pieces): Likewise.
- 	* gcse.c (oprs_unchanged_p): Likewise.
- 	* haifa-sched.c (sched_analyze_2): Likewise.
- 	* recog.c (offsettable_address_p): Likewise.
- 	* regclass.c (record_address_regs): Likewise.
- 	* reload.c (find_reusable_reload): Likewise.
- 	(push_reload): Likewise.
- 	(operands_match_p): Likewise.
- 	(decompose): Likewise.
- 	(find_reloads_address_1): Likewise.
- 	(find_inc_amount): Likewise.
- 	* reload1.c (elimination_effects): Likewise.
- 	* resource.c (mark_set_resources): Likewise.
- 	* flow.c (attempt_auto_inc): New function; mostly broken out
- 	of find_auto_inc.
- 	(find_auto_inc): Split into two functions and enhanced to
- 	generate POST_MODIFY.
- 	* rtl.def (PRE_MODIFY, POST_MODIFY): Adjust comment.
- 	* rtl.h (count_all_occurrences):  Declare.
- 	(HAVE_{PRE,POST}_MODIFY_{DISP,REG}): Provide default of 0 if not
- 	defined.
- 	* rtlanal.c (count_all_occurrences): New function.
- 	* tm.texi (HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_DISP,
- 	HAVE_POST_MODIFY_REG, HAVE_PRE_MODIFY_REG): Document.
- 
- 	* config/ia64/ia64-protos.h (destination_operand): Declare.
- 	* config/ia64/ia64.c (destination_operand): New function.
- 	(ia64_print_operand): Handle POST_MODIFY.
- 	(rtx_needs_barrier): Likewise.
- 	* config/ia64/ia64.h (HAVE_POST_MODIFY_DISP): Define to 1.
- 	(HAVE_POST_MODIFY_REG): Define to 1.
- 	(MAX_REGS_PER_ADDRESS): Change to 2.
- 	(GO_IF_LEGITIMATE_ADDRESS): Accept POST_MODIFY too.
- 	(LEGITIMATE_ADDRESS_REG): New helper macro.
- 	(LEGITIMATE_ADDRESS_DISP): Likewise.
- 	(PREDICATE_CODES): Add entry for destination_operand.
- 	* config/ia64/ia64.md (all mov patterns): Use destination_operand
- 	predicate for operand 0.
- 
- 2000-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2out.c: Indent #error directive.
- 
- 	* gbl-ctors.h: Fix typo in comment.
- 	(__do_global_ctors): Prototype.
- 
- 	* gcse.c (record_one_set, pre_delete): Remove unused variables.
- 
- 	* rs6000.c (rs6000_maybe_dead): Delete unused prototype.
- 	(print_operand): Initialize variable `t'.
- 
- 2000-07-27  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/arm/arm.md ("call_value"): removed constraints.
- 	Constraints are ignored in expanders.
- 	(*call_value_reg): split =rf into various constraints.
- 	(*call_value_mem): same
- 	(*call_value_symbol): same
- 	(*sibcall_value_insn): same
- 
- 2000-07-28  Philipp Thomas  <pthomas@suse.de>
- 
- 	* install.texi (--enable-nls): Change the description of the NLS
- 	related configure options to match the current state.
- 	(--with-included-gettext): Likewise.
- 	(--enable-maintainer-mode): New description added.
- 	* extend.texi (-fstrict-prototype): Add missing '.'.
- 
- 2000-07-27  Jim Wilson  <wilson@cygnus.com>
- 
- 	* dwarf2out.c (gen_decl_die): Don't call gen_abstract_function if
- 	DECL_INITIAL (decl) == NULL_TREE.
- 
- 2000-07-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (INSN_ATTR_H): New macro.  Replace all dependencies
- 	on insn-attr.h with it.
- 	* genattr.c: Generate `#include "insn-addr.h"' if HAVE_ATTR_length.
- 	* insn-addr.h: New header.
- 	(insn_addresses_): Renamed from insn_addresses.
- 	(INSN_ADDRESSES_DEFN, INSN_ADDRESSES, INSN_ADDRESSES_ALLOC,
- 	INSN_ADDRESSES_FREE, INSN_ADDRESSES_SET_P, INSN_ADDRESSES_SIZE,
- 	INSN_ADDRESSES_NEW): New macros.
- 	* genattrtab.c (write_test_expr): Use new macros.
- 	* final.c (insn_addresses, init_insn_lengths): Likewise.
- 	(align_fuzz, shorten_branches): Likewise.
- 	(final): Likewise.  Do not reject new insns if their addresses
- 	have been added to INSN_ADDRESSES.
- 	* config/arm/arm.c, config/avr/avr.c: Use new macros.
- 	* config/h8300/h8300.c, config/i370/i370.c: Likewise.
- 	* config/m88k/m88k.c, config/pa/pa.c, config/pa/pa.md: Likewise.
- 	* config/sparc/sparc.c, config/sparc/sparc.md: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	(output_branchy_insn): Use INSN_ADDRESSES_NEW.
- 
- 	* Makefile.in (bootstrap): Move -BstageN/ back to the beginning.
- 
- 2000-07-27  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* gcc.c (struct prefix_list): Add member priority.
- 	(enum path_prefix_priority): Declare.
- 	(add_prefix): Replace ``first'' with ``priority''.  Append new
- 	entry but keep list in priority order.
- 	(process_command): Update.  Pass PREFIX_PRIORITY_B_OPT or
- 	PREFIX_PRIORITY_LAST to add_prefix.
- 	(process_command): Move include kludge - foo/stageN - to before
- 	foo/include.
- 
- 2000-07-27  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (gen_typedef_die): Abort if we get identical
- 	TREE_TYPE and DECL_ORIGINAL_TYPE on a typedef.
- 
- 2000-07-27  RodneyBrown  <RodneyBrown@pmsc.com>
- 
- 	* expr.h (get_alias_set, lang_get_alias_set): Delete prototypes.
- 	* tree.h (get_alias_set, lang_get_alias_set): Prototype.
- 
- 2000-07-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (finish_function): Don't treat 'main' specially unless
- 	flag_hosted.  In C99 mode, return 0 from 'main' unless
- 	DEFAULT_MAIN_RETURN is otherwise defined.
- 
- 	* c-decl.c (store_parm_decls): In C99 mode, pedwarn for function
- 	parameters defaulting to int in an old-style function definition.
- 
- 2000-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (string): For -Wtraditional, warn about string
- 	concatenation only once per line.
- 
- Thu Jul 27 09:25:17 2000  Akiko Matsushita  <matusita@sra.co.jp>
- 
- 	* pa/x-pa-hpux: Add -D_HIUX_SOURCE to FIXPROTO_DEFINES
- 	for HI-UX/WE2 systems.
- 
- 2000-07-24  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixincl/fixfixes.c(emit_gnu_type): rewrote to *rely* on GCC
- 	defining the __xxx_TYPE__ macros.
- 	* fixincl/fixincl.tpl(gnu_type_map): now obsolete
- 	* fixincl/fixlib.h: don't need to include "tm.h" anymore
- 	* fixincl/inclhack.def(type_map): now obsolete
- 
- Thu Jul 27 11:54:17 2000  Andrew Cagney  <cagney@b1.cygnus.com>
- 
- 	* cpp.texi: Append a trailing full-stop to xrefs where needed.
- 
- 2000-07-26  Dave Pitts  <dpitts@cozx.com>
- 
- 	* i370.c: Remove LONGEXTERNAL ifdef from alias_number. Added hash
- 	routine constants.
- 	(mvs_hash_alias): New function.
- 	(mvs_add_alias): Change argument spacing.
- 	(mvs_need_alias): Change aliasing criteria. Added documentation.
- 	(mvs_get_alias): Change to use hashed name. The hashed name prevents
- 	CSECT name collisions.
- 	(mvs_check_alias): Likewise.
- 	(handle_pragma): Change documentation.
- 	* i370.md (mulsi3, divsi3, udivsi3, modsi3, umodsi3): Changed gen_rtx
- 	mode from SImode to DImode.
- 	(iorhi3): Changed LTORG size for insn.
- 
- Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
- 	mem if the address is a mode_dependent_address_p.
- 
- 2000-07-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c (print_operand): Print ":8" when the 'R' operand is
- 	suitable for 8-bit absolute.
- 	* h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): New.
- 	(OK_FOR_U): Add a case for the 8-bit constant address on the
- 	H8/300H.
- 
- Wed Jul 26 19:26:21 2000  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* varasm.c (assemble_variable) [! defined(ASM_OUTPUT_ALIGNED_COMMON)
- 	&& ! defined (ASM_OUTPUT_ALIGNED_BSS]): Also test
- 	! defined(ASM_OUTPUT_ALIGNED_DECL_COMMON) before complaining about
- 	lack of implemented alignment.
- 
- 2000-07-26  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETIC]: Handle
- 	cross-compiling between 64-bit and 32-bit machines.
- 
- 2000-07-27  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (movqicc_astep, movqi_internal_astep): New.
- 	(movhicc_astep, movhi_internal_astep): New.
- 	(movsicc_astep, movsi_internal_astep): New.
- 	(movdicc_astep, movdi_internal_astep): New.
- 	(movsfcc_astep, movsf_internal_astep): New.
- 	(movdfcc_astep, movdf_internal_astep): New.
- 	(movxfcc_astep, movxf_internal_astep): New.
- 	(cmovdi_internal_astep, cmovsi_internal_astep): New.
- 	Unify the cmov[ds]i splitters.
- 
- 2000-07-27  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* real.c (asctoeg): Rename `error' label to unexpected_char_error
- 
- 2000-07-26  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/vxarm.h (CPP_PREDEFINES): Remove definition of
- 	__arm__.  Allow it to be defined by CPP_ISA_SPEC in arm.h
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Accept SEQUENCE as
- 	well as PARALLEL blocks in FRAME_RELATED_EXPR notes.
- 
- 2000-07-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-decl.c (finish_enum): Convert enumerations that fit in an
- 	`int' to `int'.
- 	(build_enumerator): In pedantic mode, cast to `int' those that
- 	don't.
- 
- 2000-07-25  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* config/alpha/osf.h (SIZE_TYPE, PTRDIFF_TYPE): New.
- 
- Tue Jul 25 23:08:33 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
- 
- 	* sh.md (cmpgtdi_t): Must be split.
- 	(cmpgtdi_t+1): New splitter.
- 
- 2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (_cpp_check_directive): Issue -Wtraditional
- 	warnings for indented directives even if we are skipping.
- 
- 2000-07-25  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* invoke.texi (strict-prototypes): Remove.
- 	* extend.texi (Deprecated Features): Add strict-prototypes.
- 	(Backwards Compatibility): New node.
- 
- 2000-07-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (andsi_1+1): Allow HImode.
- 	(andsi_1+2): Require q_regs_operand.
- 
- 2000-07-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (call_pop): Check operands[0],
- 	not operands[1]. Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
- 	(call): Likewise.
- 	(call_value_pop): Only check SYMBOL_REF_FLAG for a SYMBOL_REF.
- 	(call_value): Likewise.
- 
- 2000-07-25  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* toplev.c (pipe_closed): Delete.
- 	(crash_signal): New.  Generate ICE for a fatal signal.
- 	(float_signal): Call crash_signal outside a float-handler
- 	block, not abort.
- 	(main): Install crash_signal as handler for core-dumping signals.
- 
- 2000-07-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (print_operand, case 'T'): New case.
- 
- 	* rs6000.md (call_indirect_aix32): Convert to expander of
- 	scheduled instructions.
- 	(call_indirect_aix64): Likewise.
- 	(call_value_indirect_aix{32,64}): Likewise.
- 	(call, call_value): Invoke expanders for AIX.  Fall through to
- 	matchers for SysV.
- 	(call_indirect_nonlocal_aix{32,64}): New patterns (ctr and lr).
- 	(call_value_indirect_nonlocal_aix{32,64}): New patterns.
- 	(call_nonlocal_aix32): Remove CALL_LONG alternative.  Operand 1
- 	only "g" constraint.
- 	(call_nonlocal_aix64): Likewise.
- 	(call_value_nonlocal_aix{32,64}): Likewise.
- 	(call_nonlocal_sysv): New pattern for ctr, lr, and symbolic
- 	operands.
- 	(call_value_nonlocal_sysv): New pattern.
- 	(indirect_jump{si,di}): Use new 'T' modifier.
- 	(tablejump{si,di} matchers): Likewise.
- 	(return_internal_{si,di}): Likewise.
- 	(return_eh_{si,di}): Likewise.
- 
- 2000-07-24  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (ia64_print_operand): Handle "%,".
- 	* config/ia64/ia64.h (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
- 	* config/ia64/ia64.md (movdi_internal): Use it.
- 
- 2000-07-24  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c: Warn about unary + if -Wtraditional.
- 	* cpplex.c (lex_line): Always set BOL on the first token of a line.
- 
- 2000-07-24  Michael Meissner  <meissner@redhat.com>
- 
- 	* d30v.h (FUNCTION_ARG_KEEP_AS_REFERENCE): Delete references to
- 	unsupported macro.
- 
- 2000-07-24  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.c (emit_multi_reg_push): Generate a
- 	REG_FRAME_RELEATED_NOTE that is compatible with the code in
- 	dwarf2out_debug_frame_expr.
- 
- 2000-07-24  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c: Complain if DWARF2_DEBUGGING_INFO is defined without
- 	UNALIGNED_INT_ASM_OP.
- 	(def_cfa_1): Don't emit def_cfa_register or def_cfa_offset to adjust
- 	a location expression.
- 	(dwarf2out_frame_debug_expr): Lose cfa_old_reg stuff.  Don't
- 	assume indirect access if we're saving the CFA address exactly.
- 
- 	* Makefile.in (bootstrap): Move -BstageN/ to the end.
- 
- 2000-07-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tradcpp.c (main): Update max_include_len for cpp_include_defaults
- 	as well.
- 
- 2000-07-24  Michael Meissner  <meissner@redhat.com>
- 
- 	* invoke.texi (D30V Options): Add d30v options.
- 
- Mon Jul 24 02:04:52 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (alloc_pre_mem): Do not alloc TRANSPOUT, it is not
- 	needed by our gcse pass anymore.
- 	(free_pre_mem): Corresponding changes.
- 	(compute_pre_data): Do not call compute_transpout anymore.
- 
- 	* gcse.c (alloc_avail_expr_mem): Kill unused 'u_bitmap'.
- 	(free_avail_expr_mem, alloc_pre_mem, free_pre_mem): Corresponding
- 	changes.
- 
- 	* gcse.c (free_pre_mem): Do not free ANTLOC and AE_KILL here.
- 	(compute_pre_data): Do it here instead.
- 
- 	* gcse.c (alloc_pre_mem, free_pre_mem): Delete unused bitmap
- 	'temp_bitmap'.
- 	(pre_delete): Corresponding changes.
- 
- 2000-07-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-semantics.c (make_rtl_for_local_static): Use TREE_ASM_WRITTEN
- 	to figure out whether or not a variable has already been emitted.
- 
- Sun Jul 23 14:49:12 2000  Jason Eckhardt  <jle@cygnus.com>
- 
- 	* config/i860/i860.md (untyped_call expander): Use GEN_CALL
- 	instead of gen_call.
- 
- Sun Jul 23 11:52:03 2000  George Helffrich (george@gly.bris.ac.uk)
- 
- 	* dbxout.c (dbxout_type, case COMPLEX_TYPE): Fix length field in stab.
- 
- 2000-07-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c: Fix formatting.
- 
- 2000-07-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (c_expand_start_case): Change -Wtraditional pedwarn
- 	for `long' switch expression into a plain warning.
- 
- 	* c-lex.c (init_lex): Keep the "inline" keyword in C99 mode.
- 	(yylex): Don't pedwarn for "inline" in C99 mode.
- 
- 	* bitmap.c (debug_bitmap_file): Cast pointers to PTR for printing
- 	with %p.
- 	* ggc-page.c (debug_print_page_list, alloc_page, free_page,
- 	ggc_alloc): Likewise.
- 	* bb-reorder.c (dump_scope_forest_1): Likewise.
- 
- 2000-07-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* reload.c (find_reloads_toplev): Add new parameter
- 	"address_reloaded".
- 	(find_reloads): Add new parameter to find_reloads_toplev calls.
- 
- 2000-07-22  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* collect2.c (main): Typo fixed.
- 	* diagnostic.c: Typo fixed.
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Typo fixed.
- 	* eh-common.h: Typo fixed.
- 	* emit-rtl.c (start_sequence): Typo fixed.
- 	* flow.c (find_label_refs): Typo fixed.
- 	(calculate_global_regs_live): Typo fixed.
- 	(mark_regno_cond_dead): Typo fixed.
- 	(create_edge_list): Typos fixed.
- 	(verify_edge_list): Typo fixed.
- 	* ggc-common.c (ggc_mark_rtx_children): Typo fixed.
- 	* loop.c (strength_reduce): Typo in function name fixed.
- 	* rtl.h: Added comments.  Typo in function name fixed.
- 	* rtlanal.c: Typo in function name fixed.
- 	(insn_dependant_p): Rename to ...
- 	(insn_dependent_p): ... this.
- 	(computed_jumo_p): Typo fixed.
- 
- 2000-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (__FUNCTION__): Wrap definition in #ifndef.
- 
- 2000-07-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (SIZE_TYPE): Define.
- 
- 2000-07-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ssa.c (rename_insn_1): Don't rename registers that are
- 	CLOBBERed.
- 
- 2000-07-21  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* diagnostic.c (trim_filename, fancy_abort): Moved here from
- 	rtl.c.
- 	(fatal_function, set_fatal_function): Removed.
- 	(fatal): Don't prepare for or call the fatal_function.
- 	(diagnostic_lock, error_recursion): New.
- 	(diagnostic_for_decl, report_diagnostic): Guard against
- 	re-entering the error reporting routines.
- 	(fancy_abort): Assume function is not NULL.
- 
- 	* errors.c (fancy_abort): New.  Assume function is not NULL.
- 	* tradcpp.c (fancy_abort): Assume function is not NULL.
- 
- 	* system.h: Provide default definition of __FUNCTION__.
- 	* rtl.h: Use __FUNCTION__ not __PRETTY_FUNCTION__ throughout.
- 	Always use __FUNCTION__ in definition of abort.
- 	* tree.h: Likewise.
- 	* varray.h: Likewise.
- 	* toplev.h: Likewise.  Don't prototype set_fatal_function.
- 
- 2000-07-20  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/aix43.h (CPP_SPEC): Define __LONG_MAX__ correctly
- 	in 64-bit mode.
- 	* glimits.h: Don't do #if defined for ARCH_PPC.
- 
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All
- 	constants of size no larger than a pointer should go in the TOC.
- 	Add 'MODE' parameter.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to
- 	ASM_OUTPUT_SPECIAL_POOL_ENTRY_P.
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
- 	* config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise.
- 	* config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise.
- 	* config/rs6000/rs6000.c (constant_pool_expr_1): Likewise.
- 	(rs6000_legitimize_address): Likewise.
- 	(rs6000_emit_move): Likewise.
- 	(rs6000_select_rtx_section): Likewise.
- 	(output_toc): Deal properly with outputting small constants like
- 	HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode.
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add
- 	MODE parameter.  Put small constants in the TOC.
- 
- 	* config/rs6000/rs6000.c (easy_fp_constant_p): All constants are
- 	easy in SImode.
- 	(rs6000_emit_move): When reload calls us with an illegitimate
- 	address, exit early.  Move the change_address calls to one place
- 	at the end of the routine.  Merge the SImode and DImode expanders.
- 	When called by reload to put an integer into a FP register, force
- 	it to memory.
- 
- 	* config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode'
- 	field.
- 	(rs6000_hash_constant): Hash mode too.
- 	(toc_hash_function): Allow for key_mode.
- 	(toc_hash_eq): Structures are different if key_mode differs.
- 	(output_toc): Add 'mode' parameter.  Save key_mode.
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY):
- 	Pass 'mode' parameter.
- 	* config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param.
- 
- 	* config/rs6000/rs6000.c (output_toc): Use RS6000_OUTPUT_BASENAME
- 	for vtable references.
- 
- 	* config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): If we have a
- 	choice, don't put integer values in FP regs.
- 
- Thu Jul 20 18:13:52 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (verify_flow_info): Revamp code to verify that the
- 	head and end of each basic block are in the insn chain.
- 
- Thu Jul 20 18:02:35 2000  Michael Matz <matzmich@cs.tu-berlin.de>
- 
- 	* gcse.c (record_one_set): Prepend instead of append onto
- 	reg_set_table, making it O(n) instead O(n^2).
- 	* lcm.c (compute_antinout_edge,compute_laterin,compute_available):
- 	Use a queue instead of a stack as worklist.
- 
- 2000-07-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.c (two_insn_adds_subs_operand): Fix a typo.
- 	* h8300.h (OK_FOR_T): New.
- 	(EXTRA_CONSTRAINT): Support OK_FOR_T.
- 	* h8300.md: Use inc/dec.[wl] for increment/decrement
- 	by 1 and 2 in HI and SI modes.
- 
- 2000-07-20  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Handle DELTA values
- 	larger than 14 bits.
- 
- 2000-07-20  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppmacro.c (CAN_PASTE_AFTER): New macro.
- 	(count_params): Don't set GNU_REST_ARGS on anything.
- 	(save_expansion): Set PASTE_LEFT only on tokens for which
- 	CAN_PASTE_AFTER is true, or which are named operators.
- 
- 	* cpplex.c (parse_args): Distinguish between a rest argument
- 	given one empty argument, and a rest argument given zero arguments.
- 	(maybe_paste_with_next): Look for VOID_REST tag, and trigger
- 	deletion of previous token based on that.
- 	(get_raw_token): Flatten some control structure.
- 
- 	* cpplib.h (CPP_LAST_EQ): Correct.
- 	(VOID_REST): New token flag.
- 	(GNU_REST_ARGS): Delete.
- 
- 	* tradcpp.c (main): Don't munge -D options.
- 	(make_definition): Bring -D handling in line with cpplib.
- 	(do_define): Strip all leading whitespace from macro definitions.
- 
- 2000-07-20  David Billinghurst <David.Billinghurst@riotinto.com.au>
- 
- 	* Makefile.in (tradcpp): Depend on intl.o and version.o.
- 
- 2000-07-20  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixincl/check.tpl: strip the platform specific types before testing
- 	* fixincl/fixfixes.c(gnu_type_fix): use platform specific types
- 	* fixincl/fixincl.tpl: use platform specific types
- 	* fixincl/fixlib.h: include the platform specific types
- 	* fixincl/inclhack.def(gnu_types): don't supply the types
- 	* fixincl/fixincl.x: regen
- 
- 2000-07-19  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): Don't allow XFmode in
- 	GR_REGS.
- 
- 2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tradcpp.c (rescan): Do not recognize directives when the #
- 	is indented.
- 
- 2000-07-19  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	Implement C++ named operators.
- 
- 	* cpplib.h (TTYPE_TABLE): Move CPP_MIN and CPP_MAX into block
- 	of operators allowed in #if and having an _EQ variant.  Add
- 	CPP_MIN_EQ, CPP_MAX_EQ, and CPP_DEFINED.
- 	(cpp_token flags): Add NAMED_OP.
- 	(enum node_type): Add T_OPERATOR.
- 	(struct cpp_hashnode): Add code slot to value union.
- 	* cpphash.h (spec_nodes): Remove n_defined.
- 
- 	* cpplex.c (lex_line): Convert T_OPERATOR nodes to their proper types.
- 	(spell_token, can_paste, maybe_paste_with_next): Handle named operators.
- 	(is_macro_disabled): Tweak error messages.
- 
- 	* cpplib.c (get_define_node): Disallow all named operators as
- 	macro names.  Tweak error messages.
- 	(_cpp_init_stacks): Don't set up spec_nodes->n_defined.
- 
- 	* cppinit.c (builtin_array): Add entries for the named operators.
- 	* cppexp.c (lex): Check for CPP_DEFINED token.
- 	(priority table): Add entries for CPP_MIN and CPP_MAX.
- 	(_cpp_parse_expr): Handle CPP_MIN and CPP_MAX.
- 
- 2000-07-19  Bernd Schmidt  <bernds@cygnus.co.uk>
- 
- 	* gcse.c (INSN_CUID): If ENABLE_CHECKING, abort if the uid is
- 	larger than the array of cuids.
- 	(alloc_gcse_mem): Use uid_cuid rather than INSN_CUID when computing
- 	cuids.
- 
- 2000-07-19  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.c:  Convert to using a table of environment variables
- 	and activate the auto-edit marker on the fixed output files.
- 	* fixinc/fixlib.h:  Define the environment table
- 	* fixinc/fixincl.sh: export the ${INPUT} dir
- 	* fixinc/check.tpl: likewise
- 
- 2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.c (.h spec): Fix typo.
- 
- Wed Jul 19 01:22:15 CEST 2000  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* Makefile.in: Fix tradcif.c path.
- 
- 2000-07-18  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (TTYPE_TABLE): Rearrange to use only two per-entry
- 	  macros, not five.
- 
- 	* cpphash.h (TOKEN_NAME): New macro.
- 	(_cpp_spell_operator): Deleted.
- 	(token_spellings): Now _cpp_token_spellings.
- 
- 	* cppexp.c: Use TOKEN_NAME or TYPE_NAME, not _cpp_spell_operator.
- 	* cpplex.c: Use OP and TK macros when expanding the
- 	TTYPE_TABLE.  Eliminate token_names.  For non-OPERATOR tokens,
- 	store the stringification of the enumeration name (CPP_CHAR,
- 	etc.) in the name slot of token_spellings.
- 	Use TOKEN_NAME and/or TOKEN_SPELL, do not reference
- 	token_spellings directly.
- 	* cpplib.c: Use TOKEN_SPELL.
- 
- 	* cpplex.c (_cpp_push_token): If the token being pushed back
- 	is the previous token in this context, just subtract one from
- 	context->posn.
- 	* cppmacro.c (save_expansion): Clear aux field when storing a
- 	placemarker.
- 
- 2000-07-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplex.c (cpp_scan_buffer): Output line command even at the stop
- 	buffer, provided it is not NULL.
- 
- 2000-07-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Do not call make_var_volatile() in
- 	case of invalid volatile re-declaration.
- 
- 2000-07-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* calls.c (store_arg): Return nonzero if sibcall_failure is desired.
- 	(expand_call): Adjust caller.
- 
- 2000-07-17  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (report_diagnostic): Change prototype.
- 
- 	* diagnostic.c (output_do_verbatim, diagnostic_for_asm,
- 	diagnostic_for_decl):  Change prototype.
- 	(error_with_decl, warning_with_decl, pedwarn_with_decl, warning,
- 	error, warning, error_with_file_and_line,
- 	warning_with_file_and_line, pedwarn_with_file_and_line, fatal):
- 	Adjust call to report_diagnostic, diagnostic_for_decl.
- 	(error_for_asm, warning_for_asm): Adjust call to diagnostic_for_asm.
- 	(output_verbatim, verbatim): Adjust call to output_do_verbatim.
- 
- 	* c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. End
- 	varaible argument list.
- 
- 2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c: Don't include hashtab.h.  Most macro-handling code
- 	moved to cppmacro.c.
- 	(hash_HASHNODE, eq_HASHNODE, _cpp_dump_macro_hash,
- 	dump_hash_helper): Delete.
- 	(expand_hash, higher_prime_number, _cpp_lookup_with_hash,
- 	cpp_forall_identifiers): New. Implement specialized version of
- 	Vlad's expandable hash table.
- 	(cpp_lookup): Use new functions.
- 	(_cpp_init_macros, _cpp_cleanup_macros): Adjust for new
- 	implementation.
- 	* cppmacro.c: New file.
- 	* cppinit.c (dump_macros_helper): New.
- 	(cpp_finish): Iterate over the identifier table directly.
- 	* cpplex.c (parse_name): Calculate the hash of the identifier
- 	while we scan it.  Use _cpp_lookup_with_hash when we can.
- 
- 	* cpphash.h: Update prototypes.
- 	(xcnewvec, HASHSTEP): New helper macros.
- 	* cpplib.h: Update prototypes.
- 	* Makefile.in (LIBCPP_OBJS): Add cppmacro.o.
- 	(cppmacro.o): New rule.
- 	(cpphash.o): Update deps.
- 
- 	* cppmain.c: Do not set pfile->printer if no_output is on.
- 
- 2000-07-15  Neil Booth  <neilb@earthling.net>
- 
- 	* cpplib.c: Change all directive-handler functions to return
- 	void, not int.
- 	* cpphash.h: Update typedefs.
- 
- 2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* configure: Regenerate.
- 
- 	* extend.texi (Extended Asm): Mention that a memory clobber
- 	does not count as a side-effect.
- 
- 	* unroll.c (copy_loop_body): Fix one instance of using host
- 	arithmetic on the target; fixes loop-4 on a 32-bit -> 64-bit
- 	cross-compile.
- 
- 	* tlink.c (scan_linker_output): Tweak for output of AIX ld.
- 
- 2000-07-17  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.md (movdi): Split out load address code.
- 	New post-reload splitter for symbolic operands.
- 	(movdi_internal): Abort if we didn't split symbolic operands
- 	when we should have.
- 	* config/ia64/ia64.c (ia64_expand_load_address): New, from movdi bits.
- 	(ia64_reorg): Split insns when not optimizing.
- 	* config/ia64/ia64-protos.h (ia64_expand_load_address): Declare.
- 
- Mon Jul 17 23:43:26 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Use LONG_DOUBLE_TYPE_SIZE
- 	instead of MAX_LONG_DOUBLE_TYPE_SIZE to decide output format.
- 
- 2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
- 
- 	* loop.c (check_dbra_loop) : Changed loop_continue to loop->cont.
- 
- 2000-07-17  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (clean): Remove libgcc directory.
- 
- 	* configure.in (-Wno-long-long check): Use higher-level macros.
- 
- 2000-07-17  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Recognize
- 	   (compare (gt[u] (cc) 0) (lt[u] (cc) 0)).
- 	(simplify_ternary_operation):  Do not examine MODE_BITSIZE of
- 	   a CONST_INT, it will always be zero.
- 
- 2000-07-17  Chandrakala Chavva   <cchavva@cygnus.com>
- 
- 	* loop.c (check_dbra_loop) : Return if more than one condition is
- 	present to control the loop.
- 
- Mon Jul 17 08:26:35 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* mips.c (mips_expand_prologue): Don't calculate the last argument
- 	register unless we need it.  When we are calculating this, make
- 	sure FUNCTION_ARG is giving us a REG.
- 
- 2000-07-17  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* flow.c (libcall_dead_p): Use single_set to verify the insn
- 	has only one set and get for analysis.
- 	(propagate_one_insn): Don't pass the PATTERN of the insn.
- 
- 2000-07-17  Mark Klein <mklein@dis.com>
- 
- 	 * pa.c (emit_hpdiv_const): Update to match new pattern for udivsi3.
- 
- 2000-07-17  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* Makefile.in (TARGET_GETGROUPS_T): New configuration variable.
- 	* configure.in (TARGET_GETGROUPS_T): Evaluate.
- 	* sys-protos.h (getgroups): Use TARGET_GETGROUPS_T for array type
- 	of second argument of getgroups.
- 	* configure, config.in: Rebuilt.
- 
- 2000-07-17  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Two signed
- 	values with equal high words are less/greater than each other if
- 	their low words are less/greater when considered as unsigned.
- 
- Mon Jul 17 02:37:06 2000  Marc Espie <espie@openbsd.org>
- 
- 	* configure.in (vax-*-openbsd):  Change to new style configuration,
- 	add collect2/float_format information.
- 	* configure:  Rebuilt.
- 	* config/vax/openbsd1.h:  New.
- 	* config/vax/openbsd.h:  New.
- 	* config/vax/t-openbsd:  New.
- 
- 2000-07-17  Chip Salzenberg  <chip@valinux.com>
- 
- 	* c-common.c (shorten_compare): Quiet warnings about unsigned
- 	comparisons with zero when they occur in a system header.
- 
- 2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi (-pedantic): Refer to ISO C instead of ANSI C, and
- 	update to describe current practice.
- 
- 	* glimits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define for C99.
- 
- 	* contrib.texi, cpp.texi, extend.texi, invoke.texi: Update
- 	references to C9X.  Change references to -fstd and -flang-isoc9x
- 	to refer to -std.
- 
- 	* c-common.c (scan_char_table): Allow "z" length modifiers on
- 	diouxXn formats.
- 	(check_format_info): Use TYPE_DOMAIN on the type matched against
- 	for "z" formats, to retrieve the language size_t rather than the
- 	internal one.
- 
- 	* c-common.c (check_format_info): Do not make a pedantic objection
- 	to the 'L' length modifier if used with a floating point type
- 	character.
- 
- 	* c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
- 	constants in C99 mode.
- 
- 2000-07-17  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300.md: Fix the format of mac.
- 	(movsi_h8300hs): Output a tab after stmac instead of a space.
- 
- 	* h8300.c (two_insn_adds_subs_operand): Improve code for detecting
- 	profitable adds/subs sequences.
- 
- 	* fold-const.c: Fix comment typos.
- 
- 2000-07-16  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* cppfiles.c (read_name_map): Set map_list_ptr->map_list_map to NULL.
- 
- 2000-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/fixfixes.c (emit_gnu_type): Avoid string concatenation.
- 
- 2000-07-16  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c: Update comments.
- 	* README.Portability: Small update.
- 
- 2000-07-16  Neil Booth  <NeilB@earthling.net>
- 
- 	* README.Portability:  Small update.
- 
- 2000-07-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64-protos.h (ia64_move_ok): Prototype.
- 	* config/ia64/ia64.c (ia64_move_ok): New function.
- 	* config/ia64/ia64.md (movqi, movqi_internal): Use it.
- 	(movhi, movsi, movdi, movsf, movdf, movxf): Likewise.
- 
- 2000-07-15  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpphash.c (save_expansion): Clear PREV_WHITE on tokens
- 	immediately following a paste operator.
- 	* cppinit.c (sort_options): New function (only for HOST_EBCDIC).
- 	(cpp_reader_init): Call it, if HOST_EBCDIC.
- 	(cpp_handle_options): Do not sort option list here.
- 	(handle_option): Rename to cpp_handle_option and export.
- 	* cpplex.c (cpp_scan_buffer_nooutput, cpp_scan_buffer): Use
- 	_cpp_get_token directly.
- 	(cpp_scan_line): Return 0 at EOF, 1 otherwise.
- 	* cpplib.c (cpp_push_buffer): Don't set new->lineno to 1.
- 	* cpplib.h: Prototype cpp_handle_option.  Update prototype of
- 	cpp_scan_line.
- 
- 2000-07-15  Richard Henderson  <rth@cygnus.com>
- 
- 	* fold-const.c (extract_muldiv): Don't optimize past an unsigned
- 	cast around an expression.  Tidy other unsigned tests.
- 
- 2000-07-15  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (doing_line_wrapping, line_wrapper_printf, notice,
- 	v_error_with_decl, v_warning_with_decl, v_pedwarn_with_decl): Remove.
- 	(v_message_with_decl): Rename to ...
- 	(format_with_decl): ... this. Tweak
- 	(diagnostic_for_decl): New function.
- 	(fatal_io_error): Use verbatim in lieu of notice.
- 	(announce_function): Use verbatim.
- 	(default_print_error_function): Likewise.
- 	(error_with_decl, warning_with_decl, pedwarn_with_decl): Use new
- 	infratructure.
- 
- 2000-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (function_arg_pass_by_reference): Don't do automatic
- 	aggregate initialization.
- 	(machine_dependent_reorg): Initialize variable `mode'.
- 
- 	* mips.md (absdi2): Change variable `regno1' to unsigned int.
- 	(reload_indi): Rename loword/hiword to lo_word/hi_word to avoid
- 	conflicts with sys/param.h macro of the same name.
- 	(reload_outdi): Likewise.
- 
- 2000-07-15  Michael Meissner  <meissner@redhat.com>
- 
- 	* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
- 	== CONST + INCREMENT, don't overwrite the tree node for FOO++,
- 	create a new node instead.
- 
- 2000-07-15  Neil Booth  <NeilB@earthling.net>
- 
- 	* README.Portability: Correct example about calling a function
- 	through a pointer to function.  Format wide paragraphs.
- 
- 2000-07-15  Michael Meissner  <meissner@redhat.com>
- 
- 	* README.Portability: Update integer suffixes and function
- 	prototype sections.
- 
- 2000-07-15  Neil Booth  <NeilB@earthling.net>
- 
- 	* README.Portability: Small update.
- 
- 2000-07-15  Neil Booth  <NeilB@earthling.net>
- 
- 	* README.Portability: New file.
- 
- Fri Jul 14 18:13:53 2000  Mark P Mitchell  <mark@codesourcery.com>
- 
- 	* INSTALL: Give special instructions for building GCC on Irix 6.
- 	* config/mips/x-iris6 (CC): Don't set it.
- 	(OLDCC): Likewise.
- 
- 2000-07-14  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): If we store the CFA
- 	register in the stack and later in another register, use the new
- 	register.
- 
- Fri Jul 14 10:25:53 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.md: (absdi2): Handle sign_extend for
- 	second operand.
- 
- 2000-07-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpplib.c (do_pragma_dependency): Tidy warning messages.
- 
- 2000-07-14  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* .cvsignore: Correct typo.
- 
- 2000-07-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* .cvsignore: Add generated YACC files.
- 	* objc/.cvsignore: New file.
- 
- 2000-07-14  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c (adjust_column): New function.
- 	(skip_whitespace): Use it.
- 	(skip_block_comment): Use it, and warn about /*/* with
- 	-Wcomments.
- 
- 2000-07-14  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.c (struct macro_info): Add new members.
- 	(_cpp_free_definition): Delete the macro directly.
- 	(count_params): Return void, with first token of
- 	expansion in struct macro_info on success.
- 	(parse_define): Return int.  Hoist syntax checking from
- 	save_macro_expansion.  Leave call to save_expansion to
- 	_cpp_create_definition.
- 	(alloc_macro): Needs just 2 arguments.
- 	(free_macro): Delete.
- 	(save_expansion): Don't perform syntax check.
- 	(_cpp_create_definition): Call save_expansion.
- 
- 2000-07-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genrecog.c (write_header): Split long string.
- 
- 	* cpphash.c (macro_info): Don't use the `signed' keyword.
- 
- 	* system.h (alloca): Prototype if __GNUC__ && __SIZE_TYPE__.
- 
- 2000-07-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* calls.c (stored_args_map): New variable.
- 	(check_sibcall_argument_overlap_1): New.
- 	(check_sibcall_argument_overlap): New.
- 	(expand_call): Initialize stored_args_map.
- 	Call check_sibcall_argument_overlap.
- 
- 2000-07-13  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c: move EXIT_BROKEN to header, add sub-expr max count
- 	(emit_gnu_type): utility procedure for gnu_type_fix
- 	(gnu_type_fix): implement various pre-processor guards around
- 	standard types so these types can be defined over and over
- 	* fixinc/fixincl.tpl: add a "gnu_type_map" that forces the standard
- 	types alluded to above will have GNU-compliant base types
- 	* fixinc/fixlib.h: add EXIT_BROKEN define and the gnu_type_map struct
- 	* fixinc/inclhack.def: add test_text entries and utilize the new
- 	"gnu_types" fix for the ptrdiff_t, size_t and wchar_t types.
- 	* fixinc/fixincl.x: regenerate
- 
- 2000-07-12  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.c (vline_wrapper_message_with_location,
- 	v_message_with_file_and_line, v_error_with_file_and_file,
- 	v_error_for_asm, v_warning_for_asm, vfatal,
- 	v_warning_with_file_and_line, v_pedwarn_with_file_and_line,
- 	vsorry, verror, vwarning, vpedwarn): Remove.
- 	(diagnostic_for_asm): New function.
- 	(pedwarn, error, warning, pedwarn_with_file_and_line,
- 	error_with_file_and_line, warning_with_file_and_line, sorry,
- 	error_for_asm, warning_for_asm, fatal): Reimplement.
- 	(finish_diagnostic): Clear diagnostic info as well.
- 
- 2000-07-13  Neil Booth  <NeilB@earthling.net>
- 
- 	* c-common.h (flag_digraphs): New.
- 	* c-decl.c (c_decode_option): Set flag_digraphs as appropriate.
- 	* c-lex.c (yylex): Use flag_digraphs to decide whether to
- 	honor digraphs.
- 
- 2000-07-13  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.c (do_spec_1): Add new %B operator.
- 	(set_input): Prepare for %B.
- 
- 	(link_command_spec): Move up with the other tm.h-
- 	overrideable specs.  Factor out the portion conditional on
- 	LINK_LIBGCC_SPECIAL into a new spec, %(link_libgcc).
- 	(struct compiler): Just have a single spec string.  All users
- 	updated.
- 	(default_compilers): Remove unnecessary braces.
- 	(static_specs): Update.
- 
- 	(trad_capable_cpp, cpp_options, cc1_options, asm_options): New
- 	named specs.
- 	(C and assembly specs): Use the new named specs, as appropriate.
- 
- 	* objc/lang-specs.h: Use the new named specs.
- 	Remove unnecessary braces.
- 
- 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.c (execute): If a subprocess gets a fatal signal, report
- 	strsignal() of the signal number, and ask for a bug report.
- 	Do not do this for SIGPIPE if there's already been an error.
- 
- 	* tradcpp.c: Don't include signal.h.  Don't catch SIGPIPE.
- 	Delete pipe_closed.
- 
- 	* tradcif.c: Remove.
- 
- 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* final.c (profile_function): Do not emit profile counters in
- 	the data section, if NO_PROFILE_COUNTERS is defined.
- 	* tm.texi: Document NO_PROFILE_COUNTERS.  Update doc for
- 	FUNCTION_PROFILER.
- 
- 	* config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
- 	(FUNCTION_PROFILER): Just emit a call to mcount.
- 
- 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tradcpp.c (main): Rename 'perror' label to 'sys_error'.
- 
- 	* cppexp.c, cpphash.c, cpphash.h, cppinit.c, cpplex.c,
- 	cpplib.c, cpplib.h: Eradicate all traces of code dependent on
- 	traditional, lang_chill, or lang_fortran.
- 
- 	* cppfiles.c: #undef strcmp to suppress warning about macros
- 	used without arguments.
- 	(_cpp_execute_include): Use f, not fname, in "No include path"
- 	error.
- 	(_cpp_pop_file_buffer): New function.
- 	* cpplib.c: Don't include <sys/mman.h>.
- 	(cpp_push_buffer): Set line_base and lineno in new buffer.
- 	(cpp_pop_buffer): Use _cpp_pop_file_buffer.
- 
- 	* cpplex.c: Move all prototypes and structure declarations to the
- 	top of the file.  Properly parenthesize some macro arguments.
- 	(cpp_scan_line): New function.
- 	(special_symbol [case T_INCLUDE_DEPTH]): Use pfile->include_depth,
- 	don't need to walk up the stack counting.
- 
- 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (combine_strings): Emit a pedantic warning when a
- 	string length is greater than the minimum ANSI C is required
- 	to support.
- 
- Wed Jul 12 13:24:30 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa/xm-pa64.h (NO_SYS_SIGLIST): Kill.
- 	* d30v/xm-d30v.h (NO_SYS_SIGLIST): Kill.
- 
- 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (define_label): Warn about identifier conflicts with
- 	labels in traditional C.
- 
- 	* c-parse.in (unop +): Warn about the unary plus operator for
- 	traditional C.
- 
- 	* c-typeck.c (store_init_value): Warn about automatic aggregate
- 	initialization for traditional C.
- 
- 	* invoke.texi (-Wtraditional): Document new warnings.
- 
- 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* Makefile.in (c-errors.o): Fix thinko in dependency.
- 
- 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* gcc.c (C specs [!USE_CPPLIB]): Invoke tradcpp if any of
- 	-traditional, -ftraditional, or -traditional-cpp was given.
- 	Do not pass -traditional to the preprocessor.
- 	(.S spec): Likewise.  Don't bother defining __ASSEMBLER__, the
- 	preprocessor does it automatically.
- 	* objc/lang-specs.h: Likewise.  Don't bother defining __OBJC__.
- 
- 	* ch/lang-specs.h: Always use tradcpp.  Do not pass
- 	-traditional, -trigraphs, or -pedantic to the preprocessor.
- 	* f/lang-specs.h (.F spec): Likewise.  Don't bother defining
- 	_LANGUAGE_FORTRAN.
- 
- 2000-07-12  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c (LOGICAL): Delete macro.
- 	(_cpp_parse_expr): Do not use UNARY for unary +.  Implement ||
- 	and && directly.
- 
- 	* cpphash.c (HASHSIZE): Increase to 4096.
- 	(struct hashdummy): Add hash field.
- 	(eq_HASHNODE): Compare unreduced hashes, then lengths, then
- 	the string values using memcmp.
- 	(cpp_lookup): Set dummy.hash.
- 
- Wed Jul 12 13:15:16 2000  Marc Espie <espie@openbsd.org>
- 
- 	* configure.in (m88k-openbsd): Express configuration using new fragment
- 	style.
- 	* configure: Rebuilt.
- 	* m88k/aout-dbx.h: New.
- 	* m88k/openbsd.h: New.
- 	* m88k/xm-openbsd.h: New.
- 
- 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* expr.c (expand_expr): Return const0_rtx, not error_mark_node.
- 
- 2000-07-12  Richard Henderson  <rth@cygnus.com>
- 
- 	* reload.c (push_secondary_reload): Make sure to add the new
- 	reload at the end, after acquiring secondary memory.
- 
- 2000-07-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplex.c (is_macro_disabled): Use CPP_WTRADITIONAL.
- 
- 	* c-decl.c (set_current_function_name_declared, anon_aggr_type_p,
- 	lang_expand_stmt): Mark parameters with ATTRIBUTE_UNUSED.
- 
- 	* c-parse.in (stmt): Delete unused variables.
- 
- 	* convert.c (convert_to_vector): Likewise.
- 
- 	* gensupport.c (process_rtx): Declare attr as `rtvec' not `rtx'.
- 
- 	* tree.c (finish_vector_type): Prototype.
- 
- 2000-07-12  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c: use xmalloc
- 	* fixinc/fixincl.c(initialize): set program name for xmalloc
- 	* fixinc/fixlib.c(must_malloc): obsolete
- 	(is_cxx_header): no longer used - disabled
- 	(skip_quote): inserted and disabled for future use
- 	* fixinc/fixlib.h: reflects above
- 	* fixinc/fixtests.c: removed dinkleberries
- 
- 2000-07-12  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h: (TOKEN_SPELL) Pulled from cpplex.c.
- 	* cpplex.c (TOKEN_SPELL) Move to cpphash.h.
- 
- 	* cpphash.c: (struct macro_info, alloc_macro, free_macro,
- 	struct toklist_dummy): New.
- 	(cpp_free_definition): Free macros with free_macro.
- 	(count_params): Don't save parameter spellings.  Save macro
- 	information in a struct macro_info.
- 	(parse_define): Don't allocate a token list.
- 	(save_expansion): Allocate the macro's token list, and
- 	save parameter spellings if necessary.  Use TOKEN_SPELL.
- 	(cpp_create_definition): Make list const.
- 
- 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* c-typeck.c (pedwarn_c99): Move to
- 	* c-errors.c: ... Here.
- 	* toplev.h (verror, vwarning, vpedwarn): Remove prototypes.
- 	* diagnostic.c (verror, vwarning, vpedwarn): Make static.
- 	* Makefile.in (C_AND_OBJC_OBJS): Include c-errors.o
- 	(c-errors.o): List dependency.
- 
- 2000-07-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-parse.c: Remove.
- 	* c-parse.h: Likewise.
- 	* c-parse.y: Likewise.
- 	* objc/objc-parse.c: Likewise.
- 	* objc/objc-pasre.y: Likewise.
- 
- 2000-07-11  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* gcc.texi: Fix minor typos
- 	* extend.texi: Fix minor typos
- 
- 2000-07-11  Marc Espie <espie@openbsd.org>
- 
- 	* collect2.c (main): Recognize .lo as object files.
- 
- 2000-07-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (hppa_encode_label): Store labels in gc memory when ggc_p is
- 	true.
- 
- 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Extend test to detect systems
- 	with MAP_ANONYMOUS and MAP_ANON.
- 	* configure, config.in: Rebuilt.
- 
- 2000-07-12  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (save_output_state): Remove.
- 	(restore_output_state): Likewise.
- 	(clear_text_info): New function.
- 	(clear_diagnostic_info): Likewise.
- 	(output_text_length, is_starting_newline, output_prefix,
- 	line_wrap_cutoff, ideal_line_wrap_cutoff, prefix_was_emitted_for,
- 	prefixing_policy, output_buffer_ptr_to_format_args): New macros
- 	(set_real_maximum_length, output_set_maximum_length,
- 	output_set_prefix, output_get_prefix, output_set_maximum_length,
- 	output_destroy_prefix, init_output_buffer,
- 	reshape_diagnostic_buffer, output_space_left, output_emit_prefix,
- 	output_add_newline, output_add_character, output_add_space,
- 	output_append_r, output_append, wrap_text, output_format,
- 	output_do_printf, output_printf, output_do_verbatim,
- 	output_verbatim, verbatim): Use them.
- 	(output_clear): Split into cleat_text_info and
- 	clear_diagnostic_info.
- 	(struct output_state): Move to...
- 
- 	* diagnostic.h: ...Here
- 	(struct output_buffer): Adjust.
- 
- 2000-07-11  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c (parse_name): No longer inline (premature optimization).
- 	(do_pop_context): Fold into pop_context.
- 	(pop_context): Returns int.
- 	(lex_next): Hoist test for end of directive into pop_context.
- 	(push_macro_context): Returns int; takes just reader and token.
- 	Hoist test for excessive nesting to caller.
- 	(push_arg_context): Returns void; takes just reader and token.
- 	Do not call stringify_arg or get_raw_token.
- 	(get_raw_token): Convert tail recursion through	push_arg_context
- 	to a loop at this level.  Call stringify_arg here if appropriate.
- 	(maybe_paste_with_next): Convert tail recursion to a while loop.
- 	Hoist test of paste_level to caller.
- 
- 	(stringify_arg): Push arg context at beginning.
- 	(cpp_get_token): Split out core into _cpp_get_token.  Call
- 	process_directive here.  Throw away CPP_PLACEMARKER tokens.
- 	(_cpp_get_token): Convert tail recursion through
- 	push_macro_context to a loop at this level.
- 	(_cpp_glue_header_name, is_macro_disabled, stringify_arg,
- 	_cpp_get_raw_token): Use _cpp_get_token.
- 	(_cpp_skip_rest_of_line): Drop the context stack directly; do
- 	not call pop_context.
- 	(_cpp_run_directive): Call lex_next directly.
- 
- 	* cpphash.h: Prototype _cpp_get_token.
- 	* cppexp.c (lex): Use it.
- 	* cpphash.c (parse_define): Use it.
- 	* cpplib.c (get_define_node, do_undef, parse_include,
- 	read_line_number, do_line, do_ident, do_pragma, do_pragma_gcc,
- 	do_pragma_implementation, do_pragma_poison, do_pragma_dependency,
- 	parse_ifdef, validate_else): Use it.
- 	(cpp_push_buffer): Tweak error message; abort if anyone tries
- 	to push a buffer while macro expansions are stacked.
- 
- 2000-07-11  Donn Terry  <donnte@microsoft.com>
- 
- 	* cpplex.c (free_macro_args, save_token): Cast arg of free
- 	and/or xrealloc to PTR.
- 	(_cpp_init_input_buffer): Clear all fields of the base context.
- 
- Tue Jul 11 15:28:21 CDT 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* gensupport.c (process_rtx): Make rtl checking stop
- 	complaining about the define_insn while it is being
- 	converted from a define_insn_and_split.
- 
- Tue Jul 11 16:26:17 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* config/mips/mips.c (simple_memory_operand): Access the
- 	INTVAL of the address, not it's containing MEM.
- 
- 2000-07-11  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixtests.c(double_slash): obsolete
- 	(else_endif_label): likewise
- 	* fixinc/inclhack.def(irix_multiline_cmnt): obsolete
- 	(libc1_ifdefd_memx): correct initial comment
- 	and omit the #if/#endif pair from the memxxx declarations
- 	* fixinc/fixincl.x: regen
- 
- 2000-07-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplex.c (T, I, S, C, N): Avoid non-constant initializers.
- 
- 2000-07-11  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpp.texi: Update.
- 
- 2000-07-11  Neil Booth  <NeilB@earthling.net>
- 
- 	* cppinit.c: (cpp_reader_init): Allow digraphs by default.
- 	(handle_option): Set digraphs according to standard.
- 	Merge OPT_lang_c89 handler with OPT_std_c89.
- 
- 	* cpplex.c: (lex_line, can_paste): Honor digraphs in
- 	accordance with	the digraphs flag.
- 
- 	* cpplib.h: (struct cpp_options): New option digraphs.
- 
- 2000-07-10  Hans-Peter Nilsson  <hp@axis.com>
- 	    Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def (libc1_ifdefd_memx): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/testing.h: Add testcase.
- 
- 2000-07-10  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (got_symbolic_operand): New.
- 	(symbolic_operand, move_operand): Revert 0701 change.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Update.
- 	* config/ia64/ia64-protos.h (got_symbolic_operand): Declare.
- 	* config/ia64/ia64.md (movdi): Revert 0701 wrt symbolic_operand;
- 	split the offset into a 14-bit low part instead of a 13-bit low part.
- 	(load_fptr): Mark the mem as unchanging.
- 	(load_symptr): Use got_symbolic_operand.
- 
- 2000-07-10  Nick Clifton  <nickc@cygnus.com>
- 
- 	* libgcc2.c (next_stack_level): Cast result of computation to
- 	(void **) so that the assignment does not generate a warning.
- 
- 2000-07-10  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* flags.h : Add new variable flag_single_precision_constant.
- 	* toplev.c (display_help) : Add -fsingle-precision-constant option.
- 	(flag_single_precision_constant): New.
- 	* c-lex.c (yylex): Convert floating point constant to single
- 	precision constant.
- 	* invoke.texi : Add documentation for this new option.
- 
- 2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (output_octal): Second parameter is unsigned.
- 	(output_long_octal): Likewise.
- 	(output_hexadecimal): Likewise.
- 	(output_long_hexadecimal): Likewise.
- 	(output_format): Adjust arguments extraction. Tweak.
- 	(output_verbatim, verbatim): End variable argument list.
- 	(report_diagnostic): Improve documentation.
- 
- 2000-07-10  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* c-common.h (build_stmt): Declare.
- 	(build_continue_stmt): Likewise.
- 	(build_break_stmt): Likewise.
- 	(build_return_stmt): Likewise.
- 
- 	* c-decl.c (do_case): Rewrite to do what previously done in
- 	c-parse.in.
- 
- 	* c-semantics.c (build_stmt): Define.
- 	(build_return_stmt): Likewise.
- 	(build_break_stmt): Likewise.
- 	(build_continue_stmt): Likewise.
- 	(build_case_label): Likewise.
- 
- 	* c-parse.in (BREAK): Change to build tree, then generate RTL.
- 	(CONTINUE): Likewise.
- 	(RETURN): Likewise.
- 	(CASE): Likewise.
- 	(DEFAULT): Likewise.
- 
- 	* c-parse.y: Regenerate.
- 	* c-pasre.c: Likewise.
- 
- 2000-07-09  Jason Merrill  <jason@redhat.com>
- 
- 	* expr.c (expand_expr): Bail earlier if we get an error_mark_node.
- 
- 	* tree.h (STRIP_NOPS): Check for error_mark_node.
- 	(STRIP_SIGN_NOPS, STRIP_TYPE_NOPS): Likewise.
- 	(dwarf2out_*): Remove duplicate declarations.
- 
- 	* c-decl.c (duplicate_decls): Copy DECL_ABSTRACT_ORIGIN from
- 	DECL_ABSTRACT_ORIGIN, not DECL_ORIGIN.
- 
- 2000-07-10  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (wrap_text): New function.
- 	(maybe_wrap_text): Likewise.
- 	(output_add_string): Use it.
- 	(output_format): Likewise.
- 	(count_error): Use verbatim instead of notice.
- 	(report_error_function): Likewise. Don't use plain fprintf.
- 	(finish_diagnostic): New function.
- 	(output_do_verbatim): Tweak.  Commonalize functionalities in
- 	output_verbatim and verbatim.
- 	(output_verbatim): Adjust.
- 	(verbatim): Likewise.
- 	(report_diagnostic): Define.
- 
- 	* diagnostic.h (report_diagnostic): Prototype.
- 
- 2000-07-09  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c (_cpp_parse_expr): Don't use unary plus.
- 
- 2000-07-09  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.h: ISvspace, is_vspace, is_nvspace: New.
- 	IShspace, ISspace: Update.
- 
- 	* cppinit.c: ISTABLE: Update.
- 	V: New.
- 
- 	* cpplex.c (IS_HSPACE, S_NEWLINE): Remove.
- 	(IS_DIRECTIVE): Rename KNOWN_DIRECTIVE.
- 	(skip_block_comment, skip_line_comment,	parse_string,
- 	lex_line): Use is_vspace rather than IS_NEWLINE.
- 	(skip_whitespace, lex_line): Clean up to use is_nvspace.
- 	(lex_line): Use KNOWN_DIRECTIVE.  Any kind of directive
- 	gets a BOL flag.
- 	(lex_next): Unconditionally stop if within a directive.
- 	Treat directives within macro invocations as directives
- 	(after parse_args emits error), not as the argument.
- 
- 2000-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (diagnostic_args): New macro.
- 	(diagnostic_msg): Likewise.
- 	(output_formatted_integer): Likewise.
- 	(output_state): New data type.
- 	(digit_buffer): Make global.
- 	(output_add_integer): Rename to output_decimal. Squeeze
- 	digit_buffer.
- 	(output_long_decimal, output_unsigned_decimal,
- 	output_long_unsigned_decimal, output_octal, output_long_octal,
- 	output_hexadecimal, output_long_hexadecimal): New functions.
- 	(output_append_r): New function.
- 	(output_append): Tweak.
- 	(output_flush_on): Rename to output_to_stream.
- 	(output_format): Change prototype.  Improve documentation. Handle
- 	more format specifiers.
- 	(build_location_prefix): Rename to context_as_prefix.
- 	(output_notice): Rename to output_do_printf.
- 	(output_printf): Tweak.
- 	(line_wrapper_printf): Likewise.
- 	(vline_wrapper_message_with_location): Adjust call to renamed
- 	functions.
- 	(v_message_with_decl): Likewise.
- 	(default_print_error_function): Likewise.
- 	(save_output_state): New function.
- 	(restore_output_state): Likewise.
- 	(output_do_verbatim): Likewise.
- 	(output_verbatim): Define.
- 	(verbatim): Likewise.
- 
- 	* diagnostic.h (printer_fn): Change return type from void to int.
- 	Improve documentation.
- 	(output_add_integer): Rename to output_decimal.
- 	(output_flush_on, output_format): Don't export.
- 	(output_verbatim, verbatim): Declare.
- 
- 2000-07-08  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* fold-const.c (extract_muldiv) case PLUS_EXPR, MINUS_EXPR:
- 	Check whether c divides op1 exactly if operation is not
- 	multiplication.
- 
- 2000-07-08  Richard Henderson  <rth@cygnus.com>
- 
- 	* final.c (final): Do not abort when reg-stack introduces
- 	a new insn.
- 
- 2000-07-08  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.h (struct cpp_name): Now struct cpp_string.
- 	(CPP_INT, CPP_FLOAT, CPP_NUMBER, CPP_COMMENT,
- 	CPP_HEADER_NAME): Change to type S.
- 	(struct cpp_token): Rename 'name' field to 'str'.  Add 'node'
- 	field, a cpp_hashnode *.  All references to val.name updated
- 	to use val.str or val.node as appropriate.
- 	(struct cpp_reader): Add spec_nodes field.
- 	(cpp_idcmp): Now cpp_ideq; takes a token * and a char *.
- 
- 	* cpphash.h (struct spec_nodes): New.
- 	(enum spell_type): Reorder.  Only SPELL_STRING tokens use
- 	val.str.  All references to 'spelling > SPELL_NONE' updated to
- 	match.
- 
- 	(CPP_IN_SYSTEM_HEADER): Check pfile->buffer and
- 	pfile->buffer->inc are not NULL before dereferencing them.
- 
- 	* cpplex.c (parse_name): Take a pointer to the current token,
- 	plus current position and limit as args; return the new
- 	position; don't copy the text of a name into the string
- 	buffer, instead call cpp_lookup and store the node pointer.
- 	If extending a token, copy out the text of the old into a
- 	scratch buffer, append the new, look that up and store the new
- 	node pointer.  Inline.
- 	(maybe_paste_with_next): If the result of paste is a NAME,
- 	then look up the pasted text and store its node pointer.
- 	(lex_line): Adjust for new parse_name interface.
- 	Check for L"str", L'str' using spec_nodes->n_L.
- 	(spell_token): SPELL_IDENT tokens have their spelling in
- 	val.node->name.  Handle SPELL_STRING tokens that don't have
- 	string delimiters.
- 	(_cpp_expand_name_space,
- 	(can_paste): Check for L ## "str" using spec_nodes->n_L.
- 	(cpp_get_token, special_symbol): No need to call cpp_lookup.
- 	(cpp_idcmp): Now cpp_ideq; take a token * and a const char *;
- 	return 1=equal 0=not, not a tristate.
- 
- 	* cpphash.c (var_args_str): Delete.
- 	(find_param): Compare node fields directly.
- 	(is__va_args__): Use CPP_PEDANTIC.  Just compare
- 	token->val.node with spec_nodes->n__VA_ARGS__.
- 	(dump_funlike_macro): Don't use var_args_str.
- 
- 	* cpplib.c (_cpp_check_directive): Just walk through
- 	spec_nodes->dirs comparing pointers.
- 	(get_define_node, do_pragma_poison, detect_if_not_defined,
- 	parse_ifdef): The identifier has already been looked up.
- 	(do_ifdef, do_ifndef): parse_ifdef won't return a poisoned
- 	node.
- 	(do_if): Only call detect_if_not_defined at beginning of file.
- 	(_cpp_parse_assertion): Only copy string pointers for
- 	SPELL_STRING tokens.
- 	(pragma_dispatch): Take a node pointer and examine its name
- 	field.
- 	(_cpp_init_stacks): Also initialize the spec_nodes structure.
- 
- 	* cppinit.c (cpp_reader_init): Call _cpp_init_stacks after
- 	_cpp_init_macros.
- 	(cpp_cleanup): Free pfile->spec_nodes.  Call _cpp_cleanup_* in
- 	reverse order from the corresponding _cpp_init_* routines.
- 
- 	* cppexp.c (parse_number, parse_charconst, parse_defined,
- 	lex): Check val.node->type instead of calling cpp_defined.
- 	Use spec_nodes entries where appropriate.
- 
- 	* fix-header.c, scan-decls.c: Update for interface changes.
- 
- 2000-07-08  Geoffrey Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Fix conditions for
- 	emitting aux_truncdfsf2.
- 
- 2000-07-03  Donn Terry  (donnte@microsoft.com)
- 
- 	* cppinit.c (print_help): split overlong line into ISO C89
- 	maximum chunks.
- 
- 2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppexp.c: Update all code for new lexer interface.
- 	(op_t, operator codes, struct token, tokentab2, op_to_str): Remove.
- 	(struct suffix, vsuf_1, vsuf_2, vsuf_3, op_to_prio): New.
- 	* cpplex.c (token_names): Trim leading CPP_ from names; make
- 	the strings unsigned.
- 	(_cpp_spell_operator): New.
- 	(is_macro_disabled): Disable all macros if rescanning
- 	preprocessed text.
- 	(_cpp_get_directive_token): Remove.
- 
- 	* cppinit.c: Don't set no_macro_expand.
- 	* cpplib.c (read_line_number, do_line): Check only for EOF,
- 	not VSPACE.
- 	* cpphash.h: Update prototypes.
- 	* cpplib.h (CPP_VSPACE): Remove.
- 	(struct cpp_reader): Remove no_macro_expand.
- 
- 2000-07-08  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpphash.c (is__va_args__): New function.
- 	(count_params): Fix line reported in error messages.  Use
- 	is__va_args__.  Don't return ')' on error.  Flag GNU style
- 	rest args macro definitions.
- 	(parse_define): Check macro name is not __VA_ARGS__.
- 	(save_expansion): Check identifier in non-varargs-macro is
- 	not __VA_ARGS__.  Don't flag GNU_VARARGS.
- 	* cpplex.c (parse_args): Accept no argument iff GNU_REST_ARGS.
- 	(maybe_paste_with_next): Use per-macro GNU_REST_ARGS rather
- 	 than per-token GNU_VARARGS.
- 	* cpplib.h (GNU_VARARGS): Remove.
- 	(GNU_REST_ARGS): New.
- 
- Sat Jul  8 01:38:25 MET DST 2000  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (call_pop, call, call_value_pop): Do not set
- 	current_function_uses_pic_offset_table for calls to static
- 	functions or indirect calls.
- 
- 2000-07-07  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.c (rws_access_reg): New local write_count.  If
- 	is_predicate_reg, then take max write_count of register pair.
- 
- 2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tradcpp.c (main): Rename label `include' to `add_include' to
- 	avoid conflicts with variable `include' in traditional C.
- 
- 2000-07-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* integrate.c (copy_insn_list): Remove REG_LABEL notes.
- 
- 2000-07-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* sibcall.c (uses_addressof): Add INMEM argument, check for
- 	current_function_internal_arg_pointer outside of MEM rtxs in addition
- 	to ADDRESSOFs.
- 	(sequence_uses_addressof): Update caller.
- 
- 2000-07-07  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tradcpp.c (initialize_builtins): Honor NO_BUILTIN_SIZE_TYPE
- 	and friends.
- 
- 2000-07-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (UNION_INIT_ZERO): New macro for initializing union
- 	members in structs.
- 
- 	* cpplex.c (placemarker_token, eof_token): Use UNION_INIT_ZERO.
- 
- 2000-07-07  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpp.texi: Update.
- 
- Fri Jul  7 07:47:35 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* final.c (final): Detect out of bounds array access to
- 	the insn_lengths array.
- 
- 2000-07-07  Kazu Hirata  <kazu@hxi.com>
- 
- 	* fold-const.c (fold): Fix a comment typo.
- 
- 2000-07-07  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpp.texi: Update to new lexer.
- 
- 2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* tradcpp.c: New file.
- 	* tradcif.y: New file.
- 	* tradcif.c: New generated file.
- 
- 	* Makefile.in: Add rules to build tradcpp.o, tradcif.o,
- 	$(srcdir)/tradcif.c.  Add tradcpp to STAGESTUFF and
- 	dependencies of C.  Install tradcpp from install-common, in
- 	$(libsubdir).
- 
- 2000-07-06  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppinit.c: Include cppdefault.h.  Refer to
- 	cpp_GCC_INCLUDE_DIR and cpp_GCC_INCLUDE_DIR_len, not directly
- 	to GCC_INCLUDE_DIR and its length.
- 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
- 	USER_LABEL_PREFIX, REGISTER_PREFIX, struct default_include,
- 	STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT):  Move to
- 	cppdefault.h.
- 	(include_defaults_array): Move to cppdefault.c.
- 
- 	* cppdefault.h: New file.
- 	* cppdefault.c: New file.
- 
- 	* Makefile.in (LIBCPP_OBJS): Add cppdefault.o.
- 	(cppinit.o): Don't apply $(PREPROCESSOR_DEFINES) to this file.
- 	(cppdefault.o): New rule; apply $(PREPROCESSOR_DEFINES) to
- 	this file.
- 
- Thu Jul  6 18:30:36 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload.c (push_reload): When seeing if can reuse a register,
- 	check extra registers against widest of INMODE and OUTMODE.
- 
- 2000-07-06  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplib.c: (_cpp_parse_assertion):  Perform hash lookups
- 	based on full length of predicate.
- 
- 2000-07-06  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* timevar.c: [HAVE_SYS_RESOURCE_H]: Include <sys/resource.h>.
- 	[NEED_DECLARATION_GETRUSAGE]: Declare getrusage.
- 
- 2000-07-05  Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300-proto.h: Fix formatting.
- 	* h8300.c: Likewise.
- 	* h8300.h: Likewise.
- 
- 2000-07-05  Jim Wilson  <wilson@cygnus.com>
- 
- 	* config/ia64/ia64.h (HARD_REGNO_MODE_OK): If FR_REGNO_P, disallow
- 	CCmode.
- 
- 2000-07-05  Rodney Brown  <RodneyBrown@pmsc.com>
- 
- 	* invoke.texi: Fix minor typos
- 	* md.texi: Fix minor typos
- 
- 2000-07-05  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (_cpp_parse_assertion): Fix buffer overrun.
- 
- 2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplex.c: Don't include sys/mman.h.
- 	(cpp_push_buffer, cpp_pop_buffer): Moved to cpplib.c.
- 
- 	* cpplib.c: Include sys/mman.h and obstack.h.
- 	(cpp_push_buffer): Moved from cpplex.c; allocate buffers on an
- 	obstack.
- 	(cpp_pop_buffer): Moved from cpplex.c; free buffers from an obstack.
- 	(_cpp_unwind_if_stack): Now static, unwind_if_stack.  Don't
- 	bother freeing if stack entries (they will be freed with their buffer).
- 	(do_endif): Free if stack entries from the buffer obstack.
- 	(push_conditional): Allocate if stack entries from the buffer obstack.
- 
- 	(find_answer): Rename to _cpp_find_answer.
- 	(do_assert, do_unassert): Update.
- 
- 	* cpphash.h: Update prototypes.
- 	(xobnew): New convenience macro.
- 	* cpplib.h (struct cpp_reader): Add hash_ob and buffer_ob fields.
- 	Update comments.
- 	(struct cpp_hashnode): Remove disabled field.
- 
- 	* cppinit.c: Don't include hashtab.h or splay-tree.h.
- 	(report_missing_guard): Moved to cppfiles.c.
- 	(cpp_reader_init): Call cpp_init_stacks, cpp_init_macros,
- 	cpp_init_includes.
- 	(cpp_cleanup): Call cpp_cleanup_stacks, cpp_cleanup_macros,
- 	cpp_cleanup_includes.  Don't destroy hashtab or
- 	all_include_files here.
- 	(cpp_finish): Use _cpp_report_missing_guards.
- 
- 	* cppfiles.c (report_missing_guard): Moved from cppinit.c.
- 	(_cpp_init_include_table): Rename _cpp_init_includes.
- 	(_cpp_cleanup_includes, _cpp_report_missing_guards): New.
- 
- 	* cppexp.c (parse_assertion): Update for new name of
- 	find_answer.
- 
- 	* Makefile.in (cpplib.o, cpphash.o, cppinit.o): Update deps.
- 
- 2000-07-04  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cpplib.c (do_ident): s/VSPACE/EOF/
- 
- 2000-07-05  Neil Booth  <NeilB@earthling.net>
- 
- 	* cpplex.c: Fix trigraph replacement within strings.
- 
- 2000-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rs6000/aix.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier.
- 
- 	* xcoffout.c (assign_type_number): Constify.
- 	(xcoffout_source_file): Add static prototype.  Don't needlessly
- 	cast away const-ness.
- 
- 2000-07-04  Jason Merrill  <jason@redhat.com>
- 
- 	* frame.h (frame_state): Move base_offset to end.
- 
- Mon Jul  3 21:31:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* calls.c (emit_library_call_value_1): Revert previous change.
- 
- 2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* fix-header.c (struct partial_proto): Remove unnecessary fields.
- 	(recognized_extern, recognized_function, read_scan_file):
- 	Update for new scheme.
- 	(check_protection): It's still a multiple include guard even
- 	if it doesn't always trigger.
- 	* scan-decls.c (skip_to_closing_brace, scan_decls): Update for
- 	new scheme.
- 	* scan.h: Declare struct cpp_token.  Update prototypes.
- 
- 2000-07-03  Neil Booth  <neilb@earthling.net>
- 	    Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	Complete overhaul of the lexer and macro expander.
- 
- 	* cpphash.c (object_defn, funct_defn, push_macro_expansion,
- 	arg, arglist, argdata, reflist, collect_objlike_expansion,
- 	collect_funlike_expansion, collect_params,
- 	warn_trad_stringify, trad_stringify, duplicate_arg_p, add_pat,
- 	unsafe_chars, macarg, compare_defs, special_symbol,
- 	scan_arguments, stringify, funlike_macroexpand,
- 	_cpp_quote_string, monthnames): Delete.
- 	(cpp_lookup, _cpp_free_definition, dump_funlike_macro,
- 	_cpp_create_definition, _cpp_dump_definition,
- 	dump_hash_helper): Adjust.
- 	(find_param, count_params, parse_define, var_args_str,
- 	check_macro_redefinition, save_expansion): New.
- 
- 	* cpplex.c (skip_block_comment, skip_line_comment, parse_name,
- 	parse_string, output_line_command, trigraph_replace,
- 	lex_line, cpp_push_buffer, cpp_pop_buffer, cpp_output_tokens,
- 	cpp_scan_buffer_nooutput, cpp_scan_buffer, cpp_free_toklist,
- 	cpp_idcmp, _cpp_get_directive_token, _cpp_init_input_buffer,
- 	_cpp_skip_rest_of_line): Modify.
- 
- 	(maybe_macroexpand, skip_comment, copy_comment, skip_string,
- 	find_position, null_warning, bump_column, expand_name_space,
- 	pedantic_whitespace, _cpp_output_list, _cpp_slice_toklist,
- 	_cpp_squeeze_toklist, _cpp_scan_until, _cpp_skip_hspace,
- 	_cpp_parse_name, _cpp_lex_token, cpp_get_non_space_token,
- 	_cpp_prescan): Delete.
- 
- 	(dump_param_spelling, process_directive, lex_next,
- 	is_macro_disabled, stringify_arg, expand_context_stack,
- 	output_token, make_string_token, alloc_number_token,
- 	special_symbol, duplicate_token, maybe_paste_with_next,
- 	can_paste, prevent_macro_expansion, restore_macro_expansion,
- 	get_temp_token, release_temp_tokens, quote_string,
- 	token_names, token_spellings, _cpp_expand_name_space,
- 	_cpp_glue_header_name, _cpp_reserve_name_space,
- 	digraph_spellings, trigraph_ok, skip_whitespace, save_comment,
- 	placemarker_token, eof_token, cpp_context, macro_args,
- 	get_raw_token, parse_arg, parse_args, save_token,
- 	push_arg_context, push_macro_context, pop_context,
- 	do_pop_context, free_macro_args, _cpp_get_line,
- 	_cpp_run_directive): New.
- 
- 	* cpplib.c (validate_else, parse_include, push_conditional,
- 	pass_thru_directive, read_line_number, parse_ifdef,
- 	detect_if_not_defined, _cpp_check_directive, do_define,
- 	do_undef, do_include, do_import, do_include_next, do_error,
- 	do_warning, do_ident, do_pragma, pragma_dispatch, gcc_pragmas,
- 	top_pragmas, do_pragma_gcc, do_pragma_implementation,
- 	do_pragma_poison, do_pragma_system_header,
- 	do_pragma_dependency, do_sccs, do_ifdef, do_ifndef, do_else,
- 	dl_elif, do_endif, _cpp_unwind_if_stack, do_assert,
- 	do_unassert, cpp_define, cpp_undef, cpp_assert, cpp_unassert,
- 	cpp_defined): Update for new scheme.
- 	(strtoul_for_line, get_define_node, dump_macro_name,
- 	_cpp_check_linemarker, _cpp_parse_assertion): New.
- 	(_cpp_handle_directive, do_pragma_default): Delete.
- 
- 	* cpphash.h (struct predicate): Now struct answer.
- 	(enum spell_type, struct token_spelling, struct directive,
- 	directive_handler): New.
- 	Update prototypes.  Remove unused macros.
- 	* cpplib.h: Update prototypes.  Remove unused macros,
- 	structure definitions, and fields.
- 
- 	* cpperror.c (print_containing_files, v_message): Adjust.
- 	* cppexp.c (parse_assertion, lex, parse_escape,
- 	_cpp_parse_expr): Adjust.
- 	* cppfiles.c (open_include_file, _cpp_execute_include,
- 	_cpp_compare_file_date, cpp_read_file, read_include_file):
- 	Adjust.
- 	* cppinit.c (dump_special_to_buffer): Delete.
- 	(append_include_chain, merge_include_chains, cpp_reader_init,
- 	cpp_cleanup, initialize_builtins, builtin_array, cpp_start_read,
- 	cpp_finish, handle_option, print_help): Adjust.
- 	* cppmain.c (main): Adjust.
- 
- 2000-07-03  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* cppspec.c (lang_specific_driver): Use double quotes in error
- 	message.
- 
- Mon Jul  3 16:53:43 2000  Clinton Popetz  <cpopetz@cygnus.com>
- 
- 	* calls.c (emit_library_call_value_1): Use valreg instead
- 	of hard_libcall_value.
- 
- 2000-07-03  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): New function.
- 	* config/rs6000/rs6000-proto.h: Prototype rs6000_emit_move.
- 	* config/rs6000/rs6000.md (movsi): Use rs6000_emit_move.
- 	(movhi): Likewise.
- 	(movqi): Likewise.
- 	(movdf): Likewise.
- 	(movsf): Likewise.
- 	(movdi): Likewise.
- 	(movti): Likewise.
- 
- 	* expmed.c (expand_mult_highpart): Use op1 instead of wide_op1 when
- 	mode instead of wider_mode is being used.
- 
- 2000-07-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (movstrictqi_xor): Use 'q' constraint instead
- 	of 'r'. Use q_regs_operand.
- 	(andsi_1+2): Use q_regs_operand.
- 
- 2000-07-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (get_memory_rtx): Always put into alias set 0.
- 
- 2000-07-03  Nick Clifton  <nickc@cygnus.com>
- 
- 	* config/arm/arm.md: Fix post increment and pre increment
- 	peepholes so that they do not generate UNPREDICATBLE opcodes.
- 	(ie ones where the increment clobbers the source/destination).
- 
- 2000-07-01  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.c (out_adj_frame_ptr): Make "frame pointer
- 	change too big for -mtiny-stack" a warning, if larger than 63.
- 	(out_set_stack_ptr): Change the logic so -mno-interrupts is
- 	always safe to use on possible future devices.
- 	(function_prologue): Write SPH before SPL, for consistency.
- 	If interrupt_func_p true, we know we have enabled interrupts.
- 	(avr_num_arg_regs): New function.  Round up to even number of
- 	bytes if no -mpack-args or if calling a libgcc function.
- 	(function_arg, function_arg_advance): Use it.
- 	(output_movsisf, ashlsi3_out, ashrsi3_out, lshrsi3_out):
- 	Output "movw" if available.
- 	(out_tsthi, out_tstsi, ashlqi3_out, lshrqi3_out): Change uses
- 	of TEST_HARD_REG_CLASS macro to test_hard_reg_class function.
- 	(asm_output_section_name): Add blanks for consistent output.
- 	(encode_section_info): Set TREE_READONLY for progmem data to
- 	avoid gas warnings about changed section attributes.
- 	(avr_hard_regno_mode_ok): Force non-QImode data to start in
- 	even numbered registers on devices with "movw".
- 	* config/avr/avr.h (MASK_*): Define bits for target_flags.
- 	(TARGET_SWITCHES): Mark help strings for translation.
- 	Add new -mpack-args and -menhanced switches.
- 	(TARGET_OPTIONS): Mark help strings for translation.
- 	(progmem_section): Add section attributes.
- 	* config/avr/avr.md (*movhi, call_insn, call_value_insn):
- 	Output "movw" if available.
- 	(mulqi3, mulqihi3, umulqihi3, mulhi3, *tablejump_enh):
- 	New patterns.
- 	* config/avr/libgcc.S (_mulqi3, _divqi3): Update to the new
- 	call convention (arguments aligned on even registers).
- 	(_cleanup, _exit): Make weak symbols libc can override.
- 
- 2000-07-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fp-bit.h: New file.
- 
- 	* fp-bit.c: Move common code, prototypes, etc into fp-bit.h.
- 	Comment #endif statements.
- 	(__thenan_sf, __thenan_df): Add missing braces around initializer.
- 
- Mon Jul  3 00:32:47 2000  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (compute_pre_data): Compute ae_kill using other local
- 	properties instead of calling compute_ae_kill.
- 
- 	* alias.c (init_alias_analysis): Do not call
- 	prologue_epilogue_contains until after reload has completed.
- 
- 2000-07-02  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* c-common.h (genrtl_begin_compound_stmt): Remove declaration.
- 	(genrtl_finish_compound_stmt): Likewise.
- 	(genrtl_compound_stmt): Change to return void.
- 
- 	* c-semantics.c (genrtl_begin_compound_stmt): Remove function and
- 	move code from here to ...
- 	(genrtl_compound_stmt): ... here.
- 	(genrtl_finish_compound_stmt): Remove.
- 	(expand_stmt): Add comment.
- 
- 2000-07-02  Zack Weinberg  <zack@wolery.cumb.org>
- 
- 	* c-typeck.c (build_indirect_ref): Use COMPLETE_OR_VOID_TYPE_P
- 	and VOID_TYPE_P.
- 
- 2000-07-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplib.h (struct cpp_reader): New field include_depth.
- 	(struct cpp_printer): Rename last_bsd to last_id.
- 	* cppfiles.c (read_include_file): Bump include_depth.
- 	* cpplex.c (cpp_pop_buffer): Decrement include_depth.
- 	(output_line_command): Output correct #line if a header
- 	is including itself and is not protected against multiple inclusion.
- 	Use include_depth instead of buffer_stack_depth, last_id instead of
- 	last_bsd.
- 	* cppinit.c (cpp_start_read): Initialize last_id instead of
- 	last_bsd.
- 
- 2000-07-01  Benjamin Chelf  <chelf@codesourcery.com>
- 
- 	* Makefile.in (C_AND_OBJC_OBJS): Added c-semantics.o.
- 	(c-semantics.o): New target.
- 
- 	* c-common.h (TREE_LANG_FLAG_?): Added documentation.
- 	(genrtl_do_pushlevel): Moved from cp/cp-tree.h.
- 	(genrtl_clear_out_block): Likewise.
- 	(genrtl_goto_stmt): Likewise.
- 	(genrtl_expr_stmt): Likewise.
- 	(genrtl_decl_stmt): Likewise.
- 	(genrtl_if_stmt): Likewise.
- 	(genrtl_while_stmt): Likewise.
- 	(genrtl_do_stmt): Likewise.
- 	(genrtl_return_stmt): Likewise.
- 	(genrtl_for_stmt): Likewise.
- 	(genrtl_break_stmt): Likewise.
- 	(genrtl_continue_stmt): Likewise.
- 	(genrtl_scope_stmt): Likewise.
- 	(genrtl_switch_stmt): Likewise.
- 	(genrtl_case_label): Likewise.
- 	(genrtl_begin_compound_stmt): Likewise.
- 	(gerntl_finish_compound_stmt): Likewise.
- 	(genrtl_compound_stmt): Likewise.
- 	(genrtl_asm_stmt): Likewise.
- 	(genrtl_decl_cleanup): Likewise.
- 	(DECL_ANON_UNION_ELEMS): Likewise.
- 	(emit_local_var): Likewise.
- 	(make_rtl_for_local_static): Likewise.
- 	(expand_cond): Likewise.
- 	(expand_stmt): Likewise.
- 	(c_expand_return): Likewise.
- 	(c_expand_start_case): Likewise.
- 	(do_case): Likewise.
- 	(COMPOUND_STMT_NO_SCOPE): Likewise.
- 	(c_expand_asm_operands): Likewise.
- 	(NEW_FOR_SCOPE_P): New macro.
- 	(expand_expr_stmt_fn): New type.
- 
- 	(set_current_function_name_declared): Likewise.
- 	(current_function_name_declared): Likewise.
- 	(lang_expand_stmt): Likewise.
- 	(stmts_are_full_exprs_p): Likewise.
- 	(anon_aggr_type_p): Likewise.
- 	(lang_expand_expr_stmt): Likewise.
- 	(build_case_label): Likewise.
- 
- 	* c-decl.c (lang_expand_expr_stmt): Initialize.
- 	(stmts_are_full_exprs_p): Define.
- 	(current_function_name_declared): Likewise.
- 	(do_case): Likewise.
- 	(lang_expand_stmt): Likewise.
- 	(set_current_function_name_declared): Likewise.
- 	(anon_aggr_type_p): Likewise.
- 
- 	* c-semantics.c: New file.
- 	(expand_cond): Moved from cp/semantics.c.
- 	(genrtl_do_pushlevel): Likewise.
- 	(genrtl_clear_out_block): Likewise.
- 	(genrtl_goto_stmt): Likewise.
- 	(genrtl_expr_stmt): Likewise.
- 	(genrtl_decl_stmt): Likewise.
- 	(genrtl_if_stmt): Likewise.
- 	(genrtl_while_stmt): Likewise.
- 	(genrtl_do_stmt): Likewise.
- 	(genrtl_return_stmt): Likewise.
- 	(genrtl_for_stmt): Likewise.
- 	(genrtl_break_stmt): Likewise.
- 	(genrtl_continue_stmt): Likewise.
- 	(genrtl_scope_stmt): Likewise.
- 	(genrtl_switch_stmt): Likewise.
- 	(genrtl_case_label): Likewise.
- 	(genrtl_begin_compound_stmt): Likewise.
- 	(genrtl_finish_compound_stmt): Likewise.
- 	(genrtl_compound_stmt): Likewise.
- 	(genrtl_asm_stmt): Likewise.
- 	(genrtl_decl_cleanup): Likewise.
- 	(make_rtl_for_local_static): Moved from cp/decl.c.
- 	(emit_local_var): Likewise.
- 	(expand_stmt): Define.
- 
- 	* c-tree.h: (c_expand_asm_operands): Moved to c-common.h.
- 	(c_expand_return): Likewise.
- 	(c_expand_start_case): Likewise.
- 
- 2000-07-01  Richard Henderson  <rth@cygnus.com>
- 
- 	* config/ia64/ia64.c (symbolic_operand): Reject CONST expressions
- 	with the low 13 bits set.
- 	(move_operand): Check for CONST|SYMBOL_REF|LABEL_REF directly.
- 	* config/ia64/ia64.md (movdi): Likewise.  Expand a CONST with one
- 	of the low 13 bits into a CONST plus an adddi3.
- 	(load_symptr): Set RTX_UNCHANGING_P.
- 
- See ChangeLog.3 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.5 gcc-4.1.0/gcc/ChangeLog.5
*** gcc-4.0.2/gcc/ChangeLog.5	Thu Feb 24 21:47:13 2005
--- gcc-4.1.0/gcc/ChangeLog.5	Thu Jan  1 00:00:00 1970
***************
*** 1,14446 ****
- 2001-06-30  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* rtl.def (DEFINE_INSN, DEFINE_INSN_AND_SPLIT, DEFINE_PEEPHOLE):
- 	Change output-template slot to format 'T'.
- 	* rtl.h (XTMPL): New.
- 	* read-rtl.c (read_escape): New function.
- 	(read_quoted_string, read_braced_string): Use it.
- 	(read_rtx): Set star_if_braced from the format string.
- 	Use XTMPL where appropriate.
- 	* genoutput.c (gen_insn, gen_peephole): Use XTMPL to get the
- 	template string.
- 
- 	* rtl.c: Include errors.h for sake of rtl_check_failed* routines.
- 	Document 'T' in rtx format strings.
- 	* Makefile.in (rtl.o, $(HOST_PREFIX_1)rtl.o): Depend on errors.h.
- 	* errors.c (internal_error): Add missing ": " at end of string.
- 
- 	* i860.md: Change triple backslashes to double backslashes at
- 	ends of lines in output templates.
- 	* ns32k.md: Remove stray backslash-newline in output template.
- 
- 2001-06-29  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* gcc.c (process_command): Append a DIR_SEPARATOR to a path
- 	specified by the -B switch, if doing so would create a valid
- 	directory name.
- 	* doc/invoke.texi: Document changed behavior of -B.
- 
- 2001-06-29  DJ Delorie  <dj@redhat.com>
- 
- 	* simplify-rtx.c (simplify_subreg): When simplifying a CONCAT, at
- 	least get rid of the CONCAT if we can't simplify further.
- 
- Fri Jun 29 12:27:24 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* simplify-rtx.c (simplify_rtx): Use swap_commutative_operands_p.
- 
- 	* doc/gcc.texi (Passes): Update due to recent -fdce -> -fssa-dce
- 	changes.  Fix documentation for SSA DCE pass.
- 
- 	* ssa-dce.c (ssa_eliminate_dead_code): Renamed from
- 	eliminate_date_code.
- 	* ssa.h (ssa_eliminate_dead_code): Corresponding changes.
- 	* timevar.def (TV_SSA_DCE): Renamed from TV_DEAD_CODE_ELIM.
- 	* toplev.c (DFI_ssa_dce): Renamed from DFI_dce.
- 	(dump_file_info): Similar changes.
- 	(flag_ssa_dce): Similarly
- 	(f_options): Similar changes.
- 	(rest_of_compilation): Corresponding changes.
- 	* doc/invoke.texi: Update as option is now -fssa-dce instead
- 	of -fdce.  Update dump file name.
- 
- 	* ssa-dce.c (note_inherently_necessary_set): New function.
- 	(find_inherently_necessary): Use it.  Do not consider
- 	NOTEs, CODE_LABELs or BARRIERS are necessary.  Improve
- 	handling of asms and unspecs.
- 	(delete_insn_bb): Only delete INSNs, CALL_INSNs or JUMP_INSNs.
- 
- 2001-06-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* target.h (struct gcc_target): Add comp_type_attributes and
- 	set_default_type_attributes.
- 	* target-def.h (TARGET_COMP_TYPE_ATTRIBUTES,
- 	TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Define.
- 	(TARGET_INITIALIZER): Update.
- 	* doc/tm.texi (COMP_TYPE_ATTRIBUTES, TARGET_COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
- 	Update documentation of old target macros to describe new target
- 	hooks.
- 	* tree.c (make_node): Use target.set_default_type_attributes.
- 	(default_comp_type_attributes,
- 	default_set_default_type_attributes): New functions.
- 	* tree.h (default_comp_type_attributes,
- 	default_set_default_type_attributes): Declare.
- 	* c-typeck.c (COMP_TYPE_ATTRIBUTES): Don't define.
- 	(comptypes): Use target.comp_type_attributes.
- 	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h
- 	(arc_comp_type_attributes, arc_set_default_type_attributes,
- 	COMP_TYPE_ATTRIBUTES, SET_DEFAULT_TYPE_ATTRIBUTES): Remove
- 	functions and macros with default behavior.
- 	* config/m32r/m32r-protos.h, config/m32r/m32r.c,
- 	config/m32r/m32r.h (m32r_comp_type_attributes,
- 	m32r_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
- 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
- 	config/m68hc11/m68hc11.h (m68hc11_comp_type_attributes,
- 	m68hc11_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
- 	* config/ns32k/ns32k-protos.h, config/ns32k/ns32k.c,
- 	config/ns32k/ns32k.h (ns32k_comp_type_attributes,
- 	COMP_TYPE_ATTRIBUTES): Likewise.
- 	* config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.h (rs6000_comp_type_attributes,
- 	rs6000_set_default_type_attributes, COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
- 	* config/d30v/d30v.h (COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Remove commented out macro
- 	definitions.
- 	* config/i386/i386.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
- 	* config/ns32k/ns32k.h (SET_DEFAULT_TYPE_ATTRIBUTES): Likewise.
- 	* config/arm/arm.c (arm_comp_type_attributes,
- 	arm_set_default_type_attributes): Make static.
- 	(TARGET_COMP_TYPE_ATTRIBUTES, TARGET_SET_DEFAULT_TYPE_ATTRIBUTES):
- 	Define.
- 	* config/arm/arm.h (COMP_TYPE_ATTRIBUTES,
- 	SET_DEFAULT_TYPE_ATTRIBUTES): Don't define.
- 	* config/arm/arm-protos.h (arm_comp_type_attributes,
- 	arm_set_default_type_attributes): Don't declare.
- 	* config/i386/i386.c (ix86_comp_type_attributes): Make static.
- 	(TARGET_COMP_TYPE_ATTRIBUTES): Define.
- 	* config/i386/i386.h (COMP_TYPE_ATTRIBUTES): Don't define.
- 	* config/i386/i386-protos.h (ix86_comp_type_attributes): Don't
- 	declare.
- 
- 2001-06-28  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* predict.c (dump_prediction): Eliminate fprintf warning.
- 
- 2001-06-28  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* flow.c (dump_bb): Remove unused third argument to call
- 	to fprintf when displaying the basic block header.
- 
- 2001-06-28  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 	    Jeff Law <law@redhat.com>
- 
- 	* Makefile.in (OBJS): Add df.o
- 	(df.o): Add dependencies.
- 	* basic-block.h (flow_depth_first_order_compute): Declare.
- 	* flow.c (flow_depth_first_order_compute): No longer declare.
- 	Make external.
- 	* df.c, df.h: New files.
- 
- 2001-06-28  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config/i386/i386.md: Global update to use new string syntax
- 	where it will improve readability.  Warning fixes:
- 	(*truncdfsf2_2): Abort if which_alternative is not 0 or 1.
- 	(*adddi_1_rex64, *adddi_2_rex64, *adddi_3_rex64,
- 	*adddi_4_rex64, *adddi_5_rex64): Cast 1 to unsigned int.
- 
- 	* read-rtl.c: Syntactic sugar for C embedded in strings in
- 	machine descriptions.
- 	(read_string): Break inner loop into separate function.  Takes
- 	an int.  Dispatch to read_quoted_string or read_braced_string
- 	as appropriate.  Automatically insert a leading star on braced
- 	strings if STAR_IF_BRACED is true.
- 	(read_quoted_string, read_braced_string): New functions.
- 	* doc/rtl.texi, doc/md.texi: Document new syntax.  Update
- 	examples to match.
- 
- 	* rtl.c: Split RTL reader (read_rtx, read_skip_spaces,
- 	traverse_md_constants, fatal_with_file_and_line,
- 	fatal_expected_char, read_name, read_string, def_hash,
- 	def_name_eq_p, read_constants, and related data) to its own
- 	file.  Weed out now-unnecessary #includes.
- 	* read-rtl.c: New file.
- 	* Makefile.in (HOST_RTL): Add read-rtl.o.
- 	(read-rtl.o): New rule.
- 	(rtl.o, $(HOST_PREFIX_1)rtl.o): Update dependencies.
- 	* doc/gcc.texi (Passes): Talk briefly about the support
- 	library used by genfoo.
- 	* doc/rtl.texi (Reading RTL): read_rtx is not available in the
- 	compiler itself.
- 
- 2001-06-28  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (REGISTER_TARGET_PRAGMAS): Define.
- 	* config/darwin-c.c: New file.
- 	* config/darwin-protos.h: Declare new functions.
- 	* config/rs6000/t-darwin (darwin-c.o): New rule.
- 	* config.gcc (powerpc-*-darwin*): Define c_target_objs and
- 	cxx_target_objs.
- 	* doc/extend.texi (Pragmas): New section.
- 
- Thu Jun 28 20:13:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_merge_block): Rename to try_optimize_cfg;
- 	do basic simplifications on the CFG.
- 	(is_forwarder_block_p, can_fallthru, try_redirect_by_replacing_jump,
- 	 try_simplify_condjump): New.
- 	(redirect_edge_and_branch): Try replace jump insn.
- 	(flow_delete_insn): Handle deleting of ADDR_VEC insns.
- 
- 	* basic-block.h (FALLTHRU_EDGE, BRANCH_EDGE): New macros.
- 
- Thu Jun 28 11:19:42 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa-dce.c (eliminate_dead_code): Properly handle control
- 	dependencies implied by PHI nodes.
- 
- 	* ssa-dce.c (eliminate_dead_code): Remove fake edges from the
- 	CFG after dead code elimination is complete.
- 
- 2001-06-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gthr-posix.h [LIBOBJC]: Add weak definitions of
- 	sched_get_priority_max, sched_get_priority_min.
- 
- 2001-06-28  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (default_print_error_function): Tweak.
- 	(report_error_function): Likewise.
- 	* toplev.h (default_print_error_function): Move to...
- 	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
- 	* tree.h (print_error_function): Move to...
- 	* diagnostic.h: ...here. Add a `diagnostic_context *' parameter.
- 
- Thu Jun 28 06:16:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_assignment): When have varying-length object,
- 	make MEM a BLKmode.
- 	(expand_expr, case ADDR_EXPR): Use SAVE_EXPR_RTL after putting
- 	SAVE_EXPR stack in case we had a SUBREG.
- 
- Thu Jun 28 10:31:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cmp?i): Simplify; refuse immediate operand
- 	in alternative 0
- 	* i386.c (cmpsi_operand): Refuse constants.
- 
- 	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
- 
- 	* flow.c (block_label, redirect_edge_and_branch): Split out from ....
- 	(split_edge) .... here;
- 
- 2001-06-28  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* i386/i386.c (ix86_valid_type_attribute_p): Give external
- 	linkage, move declaration to...
- 	* i386/i386-protos.h: ...here.
- 
- 2001-06-27  H.J. Lu  (hjl@gnu.org)
- 
- 	* build-make (CC): Removed.
- 	(HOST_CC): Set to $(CC_FOR_BUILD).
- 	(HOST_CFLAGS): Replace $(CFLAGS) with $(CFLAGS_FOR_BUILD).
- 	Fix a typo in comments.
- 
- 	* configure.in: Set CFLAGS to $(CFLAGS_FOR_BUILD) when
- 	generating auto-build.h for canadian cross compile. Set CC
- 	to `"${CC_FOR_BUILD}"' instead of just `${CC_FOR_BUILD}'.
- 	Save/restore CFLAGS.
- 	* configure: Regenerated.
- 
- 2001-06-27  Jim Wilson  <wilson@redhat.com>
- 
- 	* emit-rtl.c (gen_highpart): Call validize_mem.
- 
- 2001-06-27  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(hpux11_cpp_pow_inline): new, but real similar to
- 	hpux10_cpp_pow_inline.  Not similar enough.
- 	(solaris_mutex_init): renamed.  PTHREAD_*_INITIALIZER is a problem for
- 	all Solaris versions.  This fix patches MUTEX and COND initializers,
- 	the RWLOCK one will wait for someone to complain.  For now, anyway.
- 	(uw7_byteorder_fix): It was looking for the byteorder.h file in the
- 	wrong directory.
- 
- 2001-06-27  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (handle_impent): Rewrite to be more portable
- 	and to use ASM_DECLARE_CLASS_REFERENCE.
- 	* config/darwin.h (ASM_DECLARE_CLASS_REFERENCE): Rename from
- 	undocumented DECLARE_CLASS_REFERENCE, add file argument.
- 	* doc/tm.texi (ASM_DECLARE_CLASS_REFERENCE): Document.
- 
- Wed Jun 27 18:01:09 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* simplify-rtx.c (simplify_rtx): Canonicalize commutative expressions
- 	by putting complex operands first and constants second.
- 
- 2001-06-27  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h: Add documentation. Make macros polymorphic.
- 	* diagnostic.c (ideal_line_wrap_cutoff): Remove
- 	definition. Replace with diagnostic_line_cutoff.
- 	(prefixing_policy): Remove. Replace with diagnostic_prefixing_rule.
- 
- 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/contrib.texi, doc/cpp.texi,
- 	doc/cppinternals.texi, doc/extend.texi, doc/gcc.texi,
- 	doc/gcov.texi, doc/install-old.texi, doc/install.texi,
- 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Replace
- 	. at end of sentences preceded by a capital letter with @..
- 
- 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* doc/invoke.texi: Add description of max-gcse-passes param.
- 
- 	* gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES.
- 	(MAX_PASSES): Remove now unneeded macro.
- 
- 	* params.h (MAX_GCSE_PASSES): New macro, to get parameter value of
- 	max-gcse-passes param.
- 
- 	* params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling
- 	maximum number of GCSE passes to run. Defaults to 1 (which is what
- 	MAX_PASSES in gcse.c used to be).
- 
- 2001-06-27  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* system.h (TARGET_ESC): Move to ...
- 	* defaults.h (TARGET_ESC): ... here.
- 	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
- 	TARGET_VALID_TYPE_ATTRIBUTE): Default to a no-op handler.
- 	* tree.c (default_valid_attribute_p): New.
- 	(valid_machine_attribute): Handlers can not be NULL.
- 	* tree.h (default_valid_attribute_p): New.
- 	* doc/tm.texi: Document TARGET_ESC.
- 	* cp/decl2.c (import_export_class): Update.
- 
- 2001-06-26  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc/fixinc/fixincl.c(initialize): In very strict ANSI, you cannot
- 	use preprocessing directives inside a string literal.  Fixed.
- 
- 2001-06-26  Jim Wilson  <wilson@redhat.com>
- 
- 	* doc/tm.texi (MAX_LONG_DOUBLE_TYPE_SIZE, INTEL_EXTENDED_IEEE_FORMAT):
- 	Document.
- 
- 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/cpp.texi, doc/cppinternals.texi, doc/extend.texi,
- 	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
- 	doc/tm.texi: Use @: where necessary when a full stop does not end
- 	a sentence.
- 
- 2001-06-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi, doc/install.texi, doc/invoke.texi: Remove trailing
- 	whitespace.
- 
- 2001-06-26  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/gcc.texi,
- 	doc/install.texi, doc/invoke.texi, doc/objc.texi, doc/rtl.texi,
- 	doc/tm.texi: Use two spaces after ends of sentences.
- 
- 2001-06-26  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* toplev.c (display_help): Fix param thinko.
- 	* Makefile.in: Fix params.h dependencies.
- 
- 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.c (decode_f_option): Adjust setting.
- 	(toplev_main): Call diagnostic_initialize.  Remove call to
- 	reshape_diagnostic_buffer._
- 
- 	* diagnostic.h (struct output_buffer): Add new field format_decoder.
- 	(diagnostic_format_decoder): New macro.
- 	(diagnostic_prefixing_rule): Likewise.
- 	(diagnostic_line_cutoff): Likewise.
- 	(set_message_prefixing_rule): Remove.
- 
- 	* diagnostic.c (lang_printer): Remove.
- 	(diagnostic_message_length_per_line): Likewise.
- 	(current_prefixing_rule): Likewise.
- 	(initialize_diagnostics): Rename to...
- 	(diagnostic_initialize): ...this. Tweak.
- 	(default_initialize_buffer): Remove.
- 	(reshape_diagnostic_buffer): Likewise.
- 	(init_output_buffer): Adjust prefixing rule setting.
- 	(output_format): Use format_decoder from the output_buffer.
- 
- 	* c-lang.c (c_init): Adjust tree formatter setting.
- 
- 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/i386/sol2.h (CPP_SPEC): Pass -P for .S files.
- 
- 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (TARGET_H, TARGET_DEF_H): New.
- 	(c-decl.o, tree.o, c-typeck.o, $(out_object_file)): Update.
- 	* c-decl.c (duplicate_decls): Use function pointer.
- 	* c-typeck.c (common_type): Similarly.
- 	* tree.c (valid_machine_attribute): Similarly.
- 	(merge_machine_type_attributes): Rename merge_type_attributes.
- 	(merge_machine_decl_attributes): Rename merge_decl_attributes.
- 	(merge_dllimport_decl_attributes): New function.
- 	* tree.h (merge_machine_type_attributes): Rename merge_type_attributes.
- 	(merge_machine_decl_attributes): Rename merge_decl_attributes.
- 	(merge_dllimport_decl_attributes): New prototype.
- 	* target.h: New.
- 	* target-def.h: New.
- 
- doc:	(Joseph Myers)
- 	* doc/gcc.texi, doc/tm.texi: Update documentation.
- 
- cp:	Make-lang.in: Update dependencies.
- 	* spew.c: Include target.h.
- 	(duplicate_decls): Call target function.
- 	* decl2.c: include target.h
- 	(import_export_class): Use existence of target function pointer.
- 	* typeck.c: Include target.h.
- 	(qualify_type_recursive): Rename variable.  Call target function.
- 	(type_after_usual_arithmetic_conversions): Similarly.
- 	(common_type): Similarly.
- 
- config:	* 1750a/1750a.c, a29k/29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
- 	avr/avr.c, c4x/c4x.c, clipper/clipper.c, convex/convex.c,
- 	d30v/d30v.c, dsp16xx/dsp16xx.c, elxsi/elxsi.c, fr30/fr30.c,
- 	i370/i370.c, i386/i386.c, i860/i860.c, i960/i960.c, ia64/ia64.c,
- 	m32r/m32r.c, m68hc11/m68hc11.c, m68k/m68k.c, m88k/m88k.c,
- 	mips/mips.c, mn10200/mn10200.c, mn10300/mn10300.c, ns32k/ns32k.c,
- 	pa/pa.c, pdp11/pdp11.c, pj/pj.c, romp/romp.c, rs6000/rs6000.c,
- 	sh/sh.c, sparc/sparc.c,	v850/v850.c, vax/vax.c, we32k/we32k.c)
- 	: Include target.h and target-def.h.  Define target.
- 
- 	* arc/arc-protos.h (arc_valid_machine_decl_attribute): Remove.
- 	* arc/arc.c (arc_valid_machine_decl_attribute): Rename
- 	arc_valid_decl_attribute, make static.
- 	* arc/arc.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* arm/arm-protos.h (arm_valid_machine_decl_attribute,
- 	arm_valid_type_attribute_p, arm_pe_valid_machine_decl_attribute,
- 	arm_pe_merge_machine_decl_attributes): Remove.
- 	* arm/arm.c (arm_valid_machine_decl_attribute_p): Rename
- 	arm_valid_decl_attribute_p, make static.
- 	(arm_pe_valid_decl_attribute_p): Move from pe.c.
- 	* arm/pe.c (arm_pe_valid_machine_decl_attribute_p): Move to arm.c.
- 	(arm_pe_merge_machine_decl_attributes): Move to tree.c.
- 	* arm/arm.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* arm/coff.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* arm/elf.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* arm/pe.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): New.
- 	(VALID_MACHINE_TYPE_ATTRIBUTE, VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* avr/avr-protos.h (valid_machine_type_attribute,
- 	valid_machine_decl_attribute): Remove.
- 	* avr/avr.c (valid_machine_type_attribute,
- 	valid_machine_decl_attribute): Rename and make static.
- 	* avr/avr.h (VALID_MACHINE_TYPE_ATTRIBUTE,
- 	VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* c4x/c4x-protos.h (c4x_valid_type_attribute_p): Remove.
- 	* c4x/c4x.c (c4x_valid_type_attribute_p): Make static.
- 	* c4x/c4x.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* d30v/d30v.h: Remove obsolete comments.
- 	* h8300/h8300-protos.h (h8300_valid_machine_decl_attribute): Remove.
- 	* h8300/h8300.c (h8300_valid_machine_decl_attribute): Rename, make
- 	static.
- 	* h8300/h8300.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* i386/cygwin.h (TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
- 	(i386_pe_merge_decl_attributes, MERGE_MACHINE_DECL_ATTRIBUTES,
- 	i386_pe_valid_type_attributes_p): Remove.
- 	* i386/i386-protos.h (ix86_valid_decl_attribute_p,
- 	ix86_valid_type_attribute_p): Remove.
- 	* i386/i386.c (ix86_valid_decl_attribute_p): Remove.
- 	(ix86_valid_type_attribute_p): Make static.
- 	* i386/i386.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* i386/winnt.c (i386_pe_merge_decl_attributes): Move to tree.c.
- 	* ia64/ia64-protos.h (ia64_valid_type_attribute): Remove.
- 	* ia64/ia64.c (ia64_valid_type_attribute): Make static.
- 	* ia64/ia64.h (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* m32r/m32r-protos.h (m32r_valid_machine_decl_attribute): Remove.
- 	* m32r/m32r.c (m32r_valid_decl_attribute): Make static.
- 	* m32r/m32r.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* m68hc11/m68hc11-protos.h (m68hc11_valid_decl_attribute_p,
- 	m68hc11_valid_type_attribute_p): Remove.
- 	* m68hc11/m68hc11.c (m68hc11_valid_decl_attribute_p): Remove.
- 	(m68hc11_valid_type_attribute_p): Make static.
- 	* m68hc11/m68hc11.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* mcore/mcore-protos.h (mcore_valid_machine_decl_attribute,
- 	mcore_merge_machine_decl_attribute): Remove.
- 	* mcore/mcore.c (mcore_valid_machine_decl_attribute): Rename,
- 	make static.
- 	(mcore_merge_machine_decl_attributes): Move to tree.c.
- 	* mcore/mcore.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	(TARGET_DLLIMPORT_DECL_ATTRIBUTES): Define.
- 	* ns32k/ns32k-protos.h (ns32k_valid_decl_attribute_p,
- 	ns32k_valid_type_attribute_p): Remove.
- 	* ns32k/ns32k.c (ns32k_valid_decl_attribute_p): Remove.
- 	(ns32k_valid_type_attribute_p): Make static.
- 	* ns32k/ns32k.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* rs6000/rs6000-protos.h (rs6000_valid_decl_attribute_p,
- 	rs6000_valid_type_attribute_p): Remove.
- 	* rs6000/rs6000.c (rs6000_valid_decl_attribute_p): Remove.
- 	(rs6000_valid_type_attribute_p): Make static.
- 	* rs6000/rs6000.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* sh/sh-protos.h (sh_valid_machine_decl_attribute): Remove.
- 	* sh/sh.c (sh_valid_machine_decl_attribute): Rename, make static.
- 	* sh/sh.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	* v850/v850-protos.h (v850_valid_machine_decl_attribute): Remove.
- 	* v850/v850.c (v850_valid_machine_decl_attribute): Rename, make static.
- 	* v850/v850.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 
- 2001-06-26  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
- 
- 	* glimits.h (USHRT_MAX): Use unsigned suffix if int can not hold
- 	it.
- 
- 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (struct diagnostic_context): Add new field.
- 	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
- 	declaratons.
- 	(global_dc): Declare.
- 	* diagnostic.c (global_diagnostic_context): New variable.
- 	(global_output_buffer): Remove.
- 	(global_dc): Define.
- 	(lang_diagnostic_starter, lang_diagnostic_finalizer): Remove
- 	definitions.
- 	(initialize_diagnostics): Adjust initialization.
- 	(set_diagnostic_context): Adjust setting.
- 
- 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5.h (UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP): Define.
- 	* config/mips/iris6.h (UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_SHORT_ASM_OP): Undef.
- 
- Tue Jun 26 12:40:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (float_truncate splitter, and to mov splitters): Add
- 	reload_completed; fix operand predicate.
- 
- 	* haifa-sched.c (sched_init): Do not split insns.
- 	* toplev.c (rest_of_compilation): Call split_all_insns before
- 	sched1 pass; simplify condition of post-reload splitter;
- 	call split_all_insn before sched2 pass.
- 
- 2001-06-26  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (diagnostic_prefixing_rule_t): New enum type.
- 	(set_message_prefixing_rule): Adjust prototype.
- 	* diagnostic.c (current_prefixing_rule): Adjust type.
- 
- 2001-06-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* defaults.h: Default escape sequences to ASCII.
- 	* config/i370/i370.h: Adjust for ASCII default.
- 	* config/1750a/1750a.h: Remove escape sequence definitions.
- 	* config/a29k/a29k.h: Similarly.
- 	* config/alpha/alpha.h: Similarly.
- 	* config/arc/arc.h: Similarly.
- 	* config/arm/arm.h: Similarly.
- 	* config/avr/avr.h: Similarly.
- 	* config/c4x/c4x.h: Similarly.
- 	* config/clipper/clipper.h: Similarly.
- 	* config/convex/convex.h: Similarly.
- 	* config/d30v/d30v.h: Similarly.
- 	* config/dsp16xx/dsp16xx.h: Similarly.
- 	* config/elxsi/elxsi.h: Similarly.
- 	* config/fr30/fr30.h: Similarly.
- 	* config/h8300/h8300.h: Similarly.
- 	* config/i386/i386.h: Similarly.
- 	* config/i860/i860.h: Similarly.
- 	* config/i960/i960.h: Similarly.
- 	* config/ia64/ia64.h: Similarly.
- 	* config/m32r/m32r.h: Similarly.
- 	* config/m68hc11/m68hc11.h: Similarly.
- 	* config/m68k/m68k.h: Similarly.
- 	* config/m88k/m88k.h: Similarly.
- 	* config/mcore/mcore.h: Similarly.
- 	* config/mips/mips.h: Similarly.
- 	* config/mn10200/mn10200.h: Similarly.
- 	* config/mn10300/mn10300.h: Similarly.
- 	* config/ns32k/ns32k.h: Similarly.
- 	* config/pa/pa.h: Similarly.
- 	* config/pdp11/pdp11.h: Similarly.
- 	* config/pj/pj.h: Similarly.
- 	* config/romp/romp.h: Similarly.
- 	* config/rs6000/rs6000.h: Similarly.
- 	* config/sh/sh.h: Similarly.
- 	* config/sparc/sparc.h: Similarly.
- 	* config/v850/v850.h: Similarly.
- 	* config/vax/vax.h: Similarly.
- 	* config/we32k/we32k.h: Similarly.
- 	* doc/tm.texi: Update documentation.
- 
- 2001-06-26  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.c (digit_buffer): Remove as global.  Move to...
- 	* diagnostic.h (struct output_buffer): ... here.
- 	* diagnostic.c (output_formatted_integer): Adjust use of digit_buffer.
- 
- 2001-06-25  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config.gcc (ia64*-*-hpux*): Add ia64/hpux_longdouble.h to tm_file.
- 	Define tmake_file to include ia64/t-hpux.
- 	* real.c (INTEL_EXTENDED_IEEE_FORMAT): Test for value instead of
- 	testing to see if it is defined.
- 	* real.h (INTEL_EXTENDED_IEEE_FORMAT): Likewise.  Default to 0 if
- 	undefined.
- 	* config/ia64/hpux_longdouble.h: New.
- 	* config/ia64/ia64.c (hfa_element_mode): Add comment about incorrect
- 	handling of long doubles.
- 	(ia64_function_arg, ia64_function_value): Add checks for TFmode
- 	and INTEL_EXTENDED_IEEE_FORMAT.
- 	* config/ia64/ia64.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
- 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, LIBCALL_VALUE): Add checks for
- 	TFmode and INTEL_EXTENDED_IEEE_FORMAT.
- 	* config/ia64/ia64.md (all TFmode patterns): Test
- 	INTEL_EXTENDED_IEEE_FORMAT in condition.
- 	(floatdidf2, floatdisf2): New, for !INTEL_EXTENDED_IEEE_FORMAT.
- 	* config/ia64/quadlib.c: New.
- 	* config/ia64/t-hpux: New.
- 	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Define to one.
- 
- 2001-06-25  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/i960/t-960bare (i960-c.o): Add missing header dependencies.
- 	* config/i960/t-vxworks960: Likewise.
- 
- 2001-06-25   Dale Johannesen    <dalej@apple.com>
- 
- 	* bitmap.c (bitmap_last_bit_set): Fix a non-c89 usage (null actual
- 	argument to macro).
- 
- Mon Jun 25 11:10:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsi_insv_1, movsi_insv_1_rex64): Fix constraints.
- 
- 2001-06-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
- 	doc/gcc.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi,
- 	doc/md.texi, doc/rtl.texi, doc/tm.texi: Be more consistent about
- 	the use of "GCC" and related terms.
- 	* doc/gcc.1, doc/gcov.1: Regenerate.
- 
- 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
- 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Remove
- 	uses of @refill.
- 
- Sun Jun 24 21:21:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* (movsi_insv_1, movsi_insv_1_rex64): Allow immediate operand.
- 
- 2001-06-24  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_expect_jump): Disable if the
- 	expression can't be re-evaluated.
- 
- 2001-06-24  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
- 	handlers examine register r0-r7, for other interrupt handlers
- 	examine r0-r12.  If the interrupt handler is not a leaf function
- 	save all call clobbered registers.
- 	(arm_output_epilogue): If the prologue has pushed the IP register,
- 	restore it here.
- 	(Arm_expand_prologue): For interrupt functions that need the frame
- 	pointer, push the IP register before it is corrupted.
- 
- 	* config/arm/arm.h (ARM_SIGN_EXTEND): Fix compile time warnings
- 	about the use of signed and unsigned quantities in a conditional.
- 
- 2001-06-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/crtfastmath.c: New file.
- 	* config/alpha/t-crtfm: New file.
- 	* config/alpha/elf.h (ENDFILE_SPEC): Use crtfastmath.o.
- 	* config/alpha/osf.h (ENDFILE_SPEC): Likewise.
- 	* config/alpha/t-crtbe (EXTRA_PARTS): Add pieces defined here.
- 	* config.gcc (alpha-{linux,freebsd,netbsd,osf}): Use alpha/t-crtfm;
- 	do not set extra_parts here.
- 
- 2001-06-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install-old.texi: Remove more documentation of configure
- 	options.
- 	* doc/install.texi: Add it here.
- 
- Sat Jun 23 19:40:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (emit_i387_cw_initialization): Declare.
- 	* i386.md (movsi_insv_1): Remove '*'.
- 	(fix_trunc?f?i2): Revamp to use control word parameters.
- 	(fix_trunc?i_1): Likewise; update splitters.
- 	(fix splitter): Remove.
- 	* i386.c (MAX_386_STACK_LOCALS): set to 3.
- 	(emit_i387_cw_initialization): New function.
- 	(output_fix_trunc): Do not initialize control word;
- 	kill dead code; simplify.
- 
- 2001-06-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (make_string_token): Avoid warning.
- 	(cpp_macro_definition): Prepend the macro name.  Update
- 	comments.
- 	* cppmain.c (cb_define, dump_macro): Update for changes
- 	to cpp_macro_definition.
- 
- Sat Jun 23 10:20:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (attempt_auto_inc, try_pre_increment_1): Fix typo.
- 
- Sat Jun 23 01:23:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (mark_set_1, attempt_auto_inc, mark_used_reg,
- 	try_pre_increment_1): compute REG_FREQ using bb->frequency.
- 
- 	* regclass.c (loop_cost): Kill.
- 	(frequency): New global variable.
- 	(record_operand_costs): Replace loop_cost by frequency.
- 	(scan_one_insn): Likewise.
- 	(regclass): Likewise; set frequency according to bb->frequency.
- 
- 	* flow.c (split_edge): Set frequency.
- 
- Sat Jun 23 01:16:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (block_info_def): Add nvisited.
- 	(propagate_freq): Count nvisited; re-queue delayed blocks; handle
- 	irreducible regions.
- 
- 	* flow.c (dump_edge_info): Dump the probability of edge.
- 	(combine_predictions_for_insn): Dump the basic block.
- 
- 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Update documentation of source files of C
- 	compiler.
- 
- 2001-06-22  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/invoke.texi (-funsafe-math-optimizations): Document its
- 	possible effects at link time.
- 
- 2001-06-22  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* basic-block.h (dump_edge_info): Declare.
- 	(clear_edges): Declare.
- 	(mark_critical_edges): Declare.
- 	* flow.c (dump_edge_info): Remove static declaration.
- 	(clear_edges): Ditto.
- 	(mark_critical_edges): Ditto.
- 	(free_basic_block_vars): Only clear edges and free basic block
- 	array if basic_block_info is not NULL.
- 	* ssa.c (compute_dominance_frontiers): Remove static declaration.
- 	* ssa.h (compute_dominance_frontiers): Declare.
- 
- 2001-06-22  Toshiyasu Morita  (toshiyasu.morita@hsa.hitachi.com)
- 
- 	* predict.c: (expected_value_to_br_prob): Check for const_true_rtx
- 	instead of const1_rtx for true case.
- 
- 2001-06-22  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/ia64/crtfastmath.c: New file.
- 	* config/ia64/t-ia64 (EXTRA_PARTS): Include it.
- 	* config/ia64/linux.h (ENDFILE_SPEC): New.
- 
- 2001-06-22  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/h8300/h8300.c (asm_file_start): Remove reference to
- 	"release F-1".
- 
- 2001-06-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (verify_tree): Check for x being NULL.
- 	* doc/c-tree.texi: Document COMPOUND_BODY of an empty
- 	COMPOUND_STMT.
- 	Fixes PR c/3259.
- 
- 2001-06-22  DJ Delorie  <dj@redhat.com>
- 
- 	* config/arm/arm.h (struct machine_function): Remove ra_rtx.
- 	* config/arm/arm.c (arm_mark_machine_status): Remove ra_rtx.
- 	(arm_return_addr): Use get_hard_reg_initial_val et al.
- 	* config/d30v/d30v.h (struct machine_function): Remove ra_rtx.
- 	* config/d30v/d30v.c (d30v_mark_machine_status): Remove ra_rtx.
- 	(d30v_return_addr): Use get_hard_reg_initial_val et al.
- 	* config/rs6000/rs6000.h (struct machine_function): Remove ra_rtx.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
- 	mark_machine_status.
- 	(rs6000_mark_machine_status): Remove.
- 	(rs6000_return_addr): Use get_hard_reg_initial_val.
- 	(rs6000_ra_ever_killed): Use has_hard_reg_initial_val.
- 	* config/v850/v850.h (INIT_EXPANDERS): Delete.
- 	* config/v850/v850.c (struct machine_function): Delete.
- 	(v850_init_machine_status): Delete.
- 	(v850_mark_machine_status): Delete.
- 	(v850_free_machine_status): Delete.
- 	(v850_return_addr): Use get_hard_reg_initial_val.
- 	(v850_init_expanders): Delete.
- 
- Fri Jun 22 19:20:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_bb_frequencies): Do not handle conditional
- 	jumps jumping to fallthru basic block as conditional jumps.
- 
- Fri Jun 22 19:11:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* regs.h (struct reg_info_def): Add freq field.
- 	(REG_N_REFS): Update comment.
- 	(REG_FREQ): New.
- 	* regclass.c (scan_one_insn): Update REG_FREQ.
- 	* flow.c (mark_set_1): Update REG_FREQ, make REG_N_SETS unweighted.
- 	(attempt_auto_inc): Likewise.
- 	(mark_used_reg): Likewise.
- 	(try_pre_increment_1): Likewise.
- 	* local-alloc.c (struct qty): Add freq field.
- 	(alloc_qty): Set freq.
- 	(update_equiv_regs): Set REG_FREQ.
- 	(QTY_CMP_PRI): Use freq.
- 	(combine_regs): Update qty->freq.
- 	* global.c (struct allocno): Update comment for n_refs;
- 	add freq field.
- 	(local_reg_freq): New array.
- 	(global_alloc): Update freq field;
- 	allocate and initialize local_reg_freq.
- 	(allocno_compare): Use freq field.
- 	(find_reg): Likewise.
- 	* reload1.c (count_pseudo): Use freq isntead of n_refs.
- 	(count_spilled_pseudo): Likewise.
- 
- 	* tm.texi (GCOV_TYPE_SIZE): Document.
- 	* basic-block.h (gcov_type): Define.
- 	(struct edge_def): Use gcov_type for count field.
- 	(struct basic_block_def): Likewise.
- 	* defaults.h (GCOV_TYPE_SIZE): Define.
- 	* final.c (end_final): Use GCOV_TYPE_SIZE.
- 	* flow.c (dump_edge_info, dump_flow_info, dump_bb): Print count fields
- 	using HOST_WIDEST_INT_PRINT_DEC.
- 	* gcov-io.h (__fetch_gcov_type, __store_gcov_type, __read_gcov_type,
- 	__write_gcov_type): New.
- 	(store_long): Remove.
- 	* gcov.c (gcov_type): Set default.
- 	(struct adj_list): Use gcov_type for arc_count.
- 	(bb_info): Use gcov_type for succ_count, pred_count and exec_count.
- 	(create_program_flow_graph): Read arc_count properly.
- 	(solve_program_flow_graph): 'total' is gcov_type.
- 	(output_data): Line_counts is gcov_type, print it properly.
- 	* libgcc2.c (struct bb): Counts is gcov_type.
- 	(__bb_exit_func): Use __read_gcov_type and __write_gcov_type.
- 	* profile.c (LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set default.
- 	(GCOV_TYPE_SIZE): Define.
- 	(struct bb_info): succ_count and pred_count is gcov_type.
- 	(compute_branch_probabilities): Use __read_gcov_type,
- 	print read edges to the dump file.
- 	(total): Is gcov_type.
- 	(gen_edge_profiler): Use GCOV_TYPE_SIZE.
- 
- 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* optabs.c (emit_libcall_block): When using non-call exceptions,
- 	don't mark libcalls never throwing.
- 
- 2001-06-21  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (hash_init): Use xcalloc.
- 
- 2001-06-21  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (entry_exit_blocks): Initialize frequency.
- 	(split_block): Copy it.
- 	(dump_flow_info): Dump it.
- 
- Thu Jun 21 22:15:10 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh.c (barrier_align): Also recognize branch-around-a-jump-sequence
- 	from machine-depedent_reorg for purposes of alignment supression
- 	when no delay slot insn has been added.
- 
- 2001-06-21  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (make_string_token): Null terminate.
- 
- 2001-06-21  DJ Delorie  <dj@redhat.com>
- 
- 	* config/alpha/alpha.h (struct machine_function): Remove.
- 	* config/alpha/alpha.c (integrate.h): Include.
- 	(override_options): Don't set up machine_status hooks.
- 	(alpha_init_machine_status): Remove.
- 	(alpha_mark_machine_status): Remove.
- 	(alpha_free_machine_status): Remove.
- 	(alpha_return_addr): Use get_hard_reg_initial_val.
- 	(alpha_gp_save_rtx): Likewise.
- 	(alpha_ra_ever_killed): Use has_hard_reg_initial_val.
- 
- 2001-06-20  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/sh/sh.md (interrupt_function): Use
- 	current_function_interrupt.
- 	(define_delay): Schedule in delay slot if TARGET_SH3, even if it is
- 	an interrupt function.
- 
- 	* config/sh/sh.h (current_function_interrupt): Define extern.
- 
- 	* config/sh/sh.c (current_function_interrupt): New global.
- 	(sh_expand_prologue): Set current_function_interrupt.
- 
- 2001-06-21  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* doc/install.texi:  Add 'c' to list of --enable-languages choices.
- 
- 2001-06-21  DJ Delorie  <dj@redhat.com>
- 
- 	* integrate.c (mark_hard_reg_initial_vals): Check for NULL.
- 
- 	* integrate.c (ggc.h): Include.
- 	(initial_value_pair, initial_value_struct,
- 	setup_initial_hard_reg_value_integration): Add prototypes.
- 	(expand_inline_function): Call
- 	setup_initial_hard_reg_value_integration.
- 	(has_func_hard_reg_initial_val, get_func_hard_reg_initial_val,
- 	get_hard_reg_initial_val, has_hard_reg_initial_val): New functions
- 	to keep track of values present at the start of a function.
- 	(mark_hard_reg_initial_vals): New, for gc.
- 	(setup_initial_hard_reg_value_integration): New.  Sets up pseudo
- 	mappings for initial values.
- 	(emit_initial_value_sets): New.  Emits code to set initial value
- 	pseudos.
- 	* integrate.h: Add prototypes for new functions.
- 	* function.h (struct function): Add hard_reg_initial_vals field.
- 	* function.c (integrate.h): Include.
- 	(mark_function_status): Call
- 	mark_hard_reg_initial_vals.
- 	* toplev.c (integrate.h): Include.
- 	(rest_of_compilation): Call emit_initial_value_sets.
- 
- 2001-06-21  Stan Shebs  <shebs@apple.com>
- 
- 	* doc/contrib.texi, doc/cpp.texi, doc/cppinternals.texi,
- 	doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/invoke.texi,
- 	doc/objc.texi, doc/tm.texi: Use the correct name "Objective-C"
- 	everywhere instead of "Objective C".
- 
- 2001-06-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
- 	doc/gcc.texi, doc/install-old.texi, doc/install.texi,
- 	doc/invoke.texi, doc/rtl.texi: Consistently use "front end" and
- 	"back end" as nouns and "front-end" and "back-end" as adjectives.
- 
- Wed Jun 20 21:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Fix loop bounds.
- 
- Wed Jun 20 19:10:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Run mark_constant_function
- 	before profile-arcs.
- 
- Wed Jun 20 19:08:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_loops_at_level, propagate_freq
- 	estimate_bb_frequencies, count_to_freqs): New functions.
- 	(estimate_probability): Call estimate_bb_frequencies.
- 	* basic-block.h (basic_block_def): Add field "freq".
- 	(BB_FREQ_MAX): New constant.
- 
- Wed Jun 20 17:02:50 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh.c (barrier_align): Don't ask for alignment when seeing a
- 	branch-around-a-jump from machine_dependent_reorg.
- 
- Wed Jun 20 08:35:02 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa.c (rename_block): Update parameter to remove_phi_alternative
- 	(convert_from_ssa): Do create REG_DEAD and REG_UNUSED notes when
- 	re-running life analysis.
- 
- 2001-06-20  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (hash_init): Assume xmalloc always succeeds,
- 	also use memset to clear the hash tables.
- 	(hash_enter): Assume xmalloc always succeeds.
- 	(hash_add_attr): Ditto.
- 	(continue_class): Ditto.
- 
- 2001-06-20  Michael Meissner  <meissner@redhat.com>
- 
- 	* builtins.c (predict.h): Include.
- 	(expand_builtin_expect): Update comment.
- 	(expand_builtin_expect_jump): New function to expand
- 	__builtin_expect inside of a conditional jump expansion.
- 
- 	* expr.c (do_jump): Special case __builtin_expect (<test>, 0) and
- 	__builtin_expect (<test>, 1).
- 
- 	* Makefile.in (builtins.o): Depend on $(PREDICT_H).
- 
- 	* rtl.h (expand_builtin_expect_jump): Add prototype.
- 
- 2001-06-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/rtl.texi (Machine Modes): Correct description of
- 	floating-point modes on machines with non-8-bit bytes.
- 
- 2001-06-19  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* regmove.c (optimize_reg_copy_3): Do nothing if previous insn
- 	carries a REG_EQUIV note.  If it carries REG_EQUAL, delete the
- 	note.
- 
- Tue Jun 19 07:53:52 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa.c (remove_phi_alternative): Remove declaration.  No longer
- 	static.  Second argument is a pointer to a basic block structure,
- 	not a basic block index.
- 	(convert_to_ssa): Do not remove dead code.
- 	(convert_from_ssa): Do not remove dead code to create death notes.
- 	* ssa.h (remove_phi_alternative): Declare.
- 
- 	* flow.c (delete_unreachable_blocks): Fix patch error in
- 	previous change (call to find_unreachable_blocks was lost).
- 
- 	* ssa.c (ssa_uses): Remove definition.
- 	(apply_delayed_renames): Don't grow ssa_uses.
- 	(rename_block): Remove comment related to ssa_uses.
- 	(rename_registers): Do not initialize ssa_uses.
- 	(convert_from_ssa): Do not free ssa_uses.
- 
- 	* ssa-dce.c: Renamed from dce.c.
- 	* Makefile.in (OBJS): Replace dce.o with ssa-dce.o
- 	(dependencies): Replace dce.c with ssa-dce.c and dce.o with
- 	ssa-dce.o.
- 
- 2001-06-19  Eric Christopher <echristo@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode
- 	and DFmode are UNITS_PER_WORD and 2*UNITS_PER_WORD.  Use
- 	GET_MODE_BITSIZE instead of GET_MODE_SIZE/UNITS_PER_WORD.
- 
- Tue Jun 19 01:52:27 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh.c (output_branch): Delete bogus code.
- 
- 	* sh.c (initial_elimination_offset):
- 	Fix FROM == RETURN_ADDRESS_POINTER_REGNUM case.
- 
- Mon Jun 18 12:50:49 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (find_unreachable_blocks): New function.
- 	(delete_unreachable_blocks): Use find_unreachable_blocks.
- 	* basic-block.h (find_unreachable_blocks): Declare.
- 
- 	* dce.c (eliminate_dead_code): Fix formatting glitch.
- 
- 2001-06-18  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* c-common.h (RETURN_NULLIFIED_P): New macro.
- 	* c-semantics.c (genrtl_return_stmt): Check it.
- 
- 	* expr.c (clear_storage): Set TREE_NOTHROW on the decl for memset.
- 	(emit_block_move): Likewise.
- 
- Mon Jun 18 17:27:24 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c: Include predict.h.
- 	(unroll_loop): Drop prediction notes on preconditioning.
- 	* predict.def (PRED_LOOP_PRECONDITIONG, PRED_LOOP_CONDITION):
- 	New; add comments on the others.
- 	* Makefile.in: (unroll.o): Add dependency on predict.h.
- 	* loop.c (strength_reduce): Fix branch prediction.
- 
- Mon Jun 18 17:26:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* stmt.c (emit_case_nodes): Optimize test whether index is in given
- 	interval.
- 
- Mon Jun 18 15:43:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Do not bail out early
- 	when note is present.
- 	(combine_predictions_for_insn): Fix note removal code.
- 
- 2001-06-18  Ben Elliston  <bje@redhat.com>
- 
- 	* except.c (resolve_fixup_regions): Initialize "cleanup".
- 
- 2001-06-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tm.texi: Document STDC_0_IN_SYSTEM_HEADERS.
- 
- Sat Jun 16 20:20:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): If taking address of SAVE_EXPR,
- 	use put_var_into_stack.
- 
- 2001-06-16  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* gccspec.c (lang_specific_driver): If compiling ObjC, add
- 	-shared-libgcc when necessary.
- 	* Makefile.in (gccspec.o): Compile with DRIVER_DEFINES.
- 
- 2001-06-16  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* bitmap.h: Add dump_bitmap, bitmap_zero, bitmap_union_of_diffs,
- 	bitmap_a_or_b, bitmap_a_and_b, bitmap_first_set_bit,
- 	bitmap_last_set_bit. All for compatibility with sbitmap's.
- 
- 	*bitmap.c (bitmap_zero): New function.
- 	(bitmap_union_of_diffs): New function.
- 	(bitmap_first_set_bit): New function.
- 	(bitmap_last_set_bit): New function.
- 
- 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi, invoke.texi: Update.
- 	* cpp.1, gcc.1: Regenerate.
- 
- Sat Jun 16 12:45:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (minsf): Fix splitter. (PR fortran/3191)
- 
- 2001-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cpp.texi: Update.
- 	* doc/cpp.1: Regenerate.
- 
- 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi: Use correct markup hints.
- 
- Fri Jun 15 18:05:22 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (gen_mem_addressof): Handle case where DECL is SAVE_EXPR.
- 
- 	* explow.c (expr_size): If DECL and size specified, use it.
- 
- 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* doc/cpp.texi: Formatting corrections.
- 	Correct buggy example of use of __GNUC__ etc.
- 	Clarify $ in identifiers.
- 	* doc/cpp.1: Regenerate.
- 
- Fri Jun 15 19:35:38 CEST 2001 Jan Hubicka  <jh@suse.cz>
- 
- 	* optabs.c (expand_twoval_binop): Avoid undefined behavior.
- 
- 2001-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific, alpha*-*-*): Fixed Tru64 UNIX
- 	etc. spelling.
- 	(Specific, alpha-*-osf1): Renamed to alpha*-*-osf*.
- 	Added Tru64 UNIX V5.1 bootstrap hints.
- 	(Specific, alpha*-*-osf*): Removed old section, obsolete.
- 
- 2001-06-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/install.texi (Specific): Mention that glibc cannot be
- 	compiled with GCC 3.0.
- 
- 2001-06-14  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* combine.c (nonzero_bits): Don't optimize away division by
- 	zero.
- 
- 2001-06-15  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* doc/cpp.texi: Revised and brought up to date.
- 	* doc/cpp.1: Regenerate.
- 
- 2001-06-15  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi: Update --enable-threads to match reality.
- 
- 2001-06-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* doc/install.texi: Update for C4x.
- 	* README.C4X: Remove.
- 
- 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
- 	doc/gcc.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
- 	doc/objc.texi, doc/rtl.texi, doc/tm.texi: Fix spelling and typos.
- 	Consistently use "built-in" and "bit-field".  Minor logical markup
- 	improvements.
- 	* doc/gcc.1: Regenerate.
- 
- 2001-06-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.md (exception_receiver): New.
- 
- 2001-06-14  Daniel J. Berlin <dan@cgsoftware.com>
- 
- 	* doc/gcc.texi:  Update passes documentation to be more in tune
- 	with reality.
- 
- Thu Jun 14 15:38:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_prologue): Fix merging conflict.
- 
- 2001-06-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/contrib.texi, doc/extend.texi,
- 	doc/gcc.texi, doc/gcov.texi, doc/install-old.texi,
- 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi: Use more
- 	logical markup.  Use TeX quotes and dashes.  Use @dots{} and
- 	@minus{}.  Avoid spaces inside @var.  Update last modification
- 	date in gcc.texi.
- 	* doc/gcc.1, doc/gcov.1: Regenerate.
- 
- Thu Jun 14 12:44:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_accumulate_outgoing_args, x86_prologue_using_move,
- 	x86_epilogue_using_move): New global variables.
- 	(override_options): Enable ACCUMULATE_OUTGOING_ARGS if preferred.
- 	(ix86_emit_save_regs_using_mov): New static function.
- 	(ix86_expand_prologue, ix86_expand_epilogue): Use moves if preferred.
- 	* i386.h (MASK_MMX, MASK_SSE, MASK_SSE2, MASK_128BIT_LONG_DOUBLE,
- 	MASK_MIX_SSE_I387): Renumber.
- 	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): New.
- 	(x86_accumulate_outgoing_args, x86_prologue_using_move,
- 	x86_epilogue_using_move): Declare.
- 	(TARGET_PROLOGUE_USING_MOVE, TARGET_EPILOGUE_USING_MOVE): New.
- 
- 2001-06-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* inclhack.def (hpux10_cpp_pow_inline): New hack.
- 
- 2001-06-13  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (dead_or_predicable): Fix return value last patch.
- 
- 2001-06-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* NEWS: Remove.
- 
- 2001-06-13  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (cond_exec_get_condition): Use reversed_comparison_code.
- 	(cond_exec_process_if_block, dead_or_predicable): Likewise.
- 
- 2001-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* mips-tfile.c (copy_object): Always pass indexNil for symbol
- 	table index.
- 
- 2001-06-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (OK_FOR_T): Remove.
- 	(EXTRA_CONSTRAINT): Do not use OK_FOR_T.
- 	* config/h8300/h8300.md: Remove alternatives involving inc and dec
- 	in the helper patterns for addhi3 and addsi3.
- 
- 2001-06-13  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* doc/contrib.texi:  Link to libstdc++'s thanks.html for now.
- 
- 2001-06-13  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in: Move _bb and __gcc_bcmp to LIB2FUNCS_ST.
- 	* libgcc-std.ver: Take out __bb* and __gcc_bcmp.
- 
- 	* config/t-slibgcc-elf-ver, config/t-slibgcc-sld,
- 	config/alpha/t-osf4, config/mips/t-iris6: Extract all
- 	references to @shlib_map_file@, @shlib_objs@, or
- 	@shlib_base_name@ to Makefile variables.
- 	Bump soname version of libgcc to 1.
- 
- 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Use more logical markup.  Include @node
- 	commands in the source when generating any non-HTML.
- 
- 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* README: Remove.  Some of the contents moved to ../README.
- 
- 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* doc/install.texi (--enable-shared): List package names
- 	recognized by GCC.
- 
- 2001-06-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* doc/install.texi (ix86-*-solaris*): Removed, outdated.
- 	(*-*-solaris*): Document problem in /bin/sh that affects
- 	configuring libraries.
- 	(sparc-*-solaris*): Recommend GNU binutils 2.11.1 or vendor tools.
- 	(*-sun-solaris2.8): Document linker problem that explains why
- 	libjava is disabled by default.
- 
- 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert this patch:
- 	* toplev.c (rest_of_compilation): Remove dead code before
- 	purge_addressof.
- 
- 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	Reverted:
- 	2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
- 	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
- 	* configure: Rebuilt.
- 
- 2001-06-12  Jim Wilson  <wilson@redhat.com>
- 
- 	* loop.c (strength_reduce): Move bl->all_reduced set before
- 	check_ext_dependant_givs call.
- 	(check_ext_dependant_givs): Clear bl->all_reduced when ignoring givs.
- 
- 2001-06-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* doc/extend.texi (Function Attributes): Document SH's sp_switch
- 	and trap_exit.
- 
- 2001-06-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/invoke.texi: Use more logical markup.  Use TeX quotes,
- 	dashes and @dots{}.
- 
- 2001-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_prologue): Always use
- 	gen_pro_epilogue_adjust_stack; update arguments.
- 	(ix86_expand_epilogue): Likewise.
- 	(ix86_emit_epilogue_esp_adjustment): Remove.
- 	(ix86_adjust_cost): Remove pro_epilogue_adjust_stack hack.
- 	* config/i386/i386.md (pro_epilogue_adjust_stack): Use a BLKmode
- 	clobber of scratch memory instead of a modification of EBP as the
- 	barrier.  Update all peepholes to match.
- 
- 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Change the font used for @def... commands to a
- 	fixed width font.
- 	* doc/extend.texi: Use more logical markup.  Use "built-in"
- 	instead of "builtin".  Use @deftypefn to mark up built-in
- 	functions; specify their types in the @deftypefn and not in the
- 	descriptive text.  Use TeX quotes and dashes.  Add more index
- 	entries.
- 
- 2001-06-12  lars brinkhoff  <lars@nocrew.org>
- 
- 	* gcc.texi (HOST_BITS_PER_LONGLONG): Document.
- 	(DIR_SEPARATOR_2): Likewise.
- 
- 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi (--exec-prefix, --bindir, --libdir,
- 	--with-slibdir, --infodir, --mandir, --with-cpp-install-dir):
- 	Document.
- 	(--enable-cpp): Change to document --disable-cpp instead; update
- 	to reflect current default.
- 	(--without-fast-fixincludes): Remove documentation.
- 	(Final install): Document installation directories in more
- 	detail.  Document use of make dvi.
- 
- Tue Jun 12 19:01:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_rtx_1): Fix previous patch.
- 
- Tue Jun 12 17:25:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_rtx_1): Do plus_constant call always.
- 
- Tue Jun 12 17:24:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_subreg): Allow volatile memory
- 	to be subregged in case we don't have move instruction.
- 
- Tue Jun 12 12:20:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c: Include predict.h
- 	(strength_reduce): Drop branch prediction note in case
- 	number of iterations is known.
- 	* predict.def (PRED_LOOP_ITERATIONS): new.
- 	* Makefile.in (loop.o): Add dependency on predict.h
- 
- 2001-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (grokdeclarator): Use INTEGRAL_TYPE_P.
- 
- 	* c-typeck.c (c_start_case): Likewise.
- 
- 2001-06-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (store_field): Don't set MEM_ALIAS_SET for a field
- 	in a structure at a variable address.
- 
- 2001-06-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcov.texi: Use more logical markup.
- 
- 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* unroll.c (initial_reg_note_copy): Use PUT_REG_NOTE_KIND and
- 	REG_NOTE_KIND, not PUT_MODE and GET_MODE.
- 	(final_reg_note_copy): Remove REG_WAS_0 notes that are no longer
- 	valid.
- 
- 2001-06-11  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (ASM_FILE_END): Remove decl of language_string.
- 
- 2001-06-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*lshrdi3_const32"): Mark the clobber
- 	as an early clobber to make sure it is not used by reload in
- 	one of the operands.
- 
- 2001-06-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/c-tree.texi: Update information about flag_honor_std.
- 	* doc/install.texi: Note that binutils is required on HPUX 11.
- 	* doc/invoke.texi (-fhonor-std): Note that -fno-honor-std is
- 	now the default.
- 
- 	* config/mips/abi64.h (RETURN_IN_MEMORY): Fix handling of
- 	variable-sized types.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/md.texi: Use TeX dashes and quotes.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/rtl.texi: Reference manual chapter about trees.
- 
- 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris6.h (NO_BUILTIN_WINT_TYPE): Define.
- 	(WINT_TYPE): Override.
- 	(WINT_TYPE_SIZE): Likewise.
- 	(SUBTARGET_CPP_SIZE_SPEC): Define __WINT_TYPE__ as appropriate.
- 
- 	* config/sparc/sol2.h (WINT_TYPE): Define.
- 	(WINT_TYPE_SIZE): Likewise.
- 
- 	* config/sparc/sol2-sld-64.h (NO_BUILTIN_WINT_TYPE): Define.
- 	(WINT_TYPE): Override.
- 	(WINT_TYPE_SIZE): Likewise.
- 	(CPP_ARCH32_SPEC): Add __WINT_TYPE__ definition.
- 	(CPP_ARCH64_SPEC): Likewise.
- 
- 2001-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2-fde.c (__deregister_frame_info): Don't play games
- 	with alias attribute.
- 
- 	* config/linux.h (CPLUSPLUS_CPP_SPEC): Use %(cpp) not $(cpp_cpu).
- 	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): Likewise.
- 
- 2001-06-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): New.
- 
- 2001-06-11  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.c (darwin_encode_section_info):  Rewrite to simplify
- 	and fix coding mistakes.
- 
- 2001-06-11  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/m32r/m32r.md (movstrsi_internal): Do not expect a
- 	return string from m32r_output_block_move.
- 	* config/m32r/m32r-protos.h: Make m32r_output_block_move a
- 	void function.
- 	* config/m32r/m32r.h (INT32_P): Rename to UNIT32_P and remove
- 	integer overflow.
- 	(ROUND_ADVANCE): Remove signed/unsigned conflict.
- 	* config/m32r/m32r.c: Declare prototypes for static functions.
- 	(move_src_operand): Replace INT32_P with UINT32_P.
- 	(function_arg_partial_nregs): Fixed signed/unsigned conflict
- 	in initialisation of 'size'.
- 	(m32r_sched_reord): Remove redundant declarations of 'code'.
- 	(m32r_output_block_move): Change to a void function.
- 	(m32r_encode_section_info): Cast return of
- 	TREE_STRING_POINTER to avoid compile time warning.
- 
- 2001-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/osf5.h (TARGET_LD_BUGGY_LDGP): New.
- 	* config/alpha/alpha.h (TARGET_LD_BUGGY_LDGP): Default.
- 	(struct machine_function): Add gp_save_rtx.
- 	* config/alpha/alpha.c (alpha_mark_machine_status): Mark it.
- 	(alpha_gp_save_rtx): New.
- 	* config/alpha/alpha-protos.h: Declare it.
- 	* config/alpha/alpha.md (exception_receiver): Make an expander.
- 	Use alpha_gp_save_rtx if TARGET_LD_BUGGY_LDGP.
- 
- 2001-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/osf.h (LINK_SPEC): Hide _GLOBAL_* symbols.
- 
- 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in: Align --help messages.
- 	Remove trailing full stops.
- 	Consistently use lower case.
- 	Fix DWARF 2 spelling.
- 	* configure: Rebuilt.
- 
- 2001-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/alpha.h (CPP_SPEC): Don't define __LANGUAGE_C and
- 	variants for .cpp/.cp/.c++ files.
- 	Move definition of __LANGUAGE_C_PLUS_PLUS ...
- 	(CPLUSPLUS_CPP_SPEC): ... here.
- 
- Mon Jun 11 15:47:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (duplicate_loop_exit_test): Fix loop header heuristics.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (store_parm_decls): When comparing types in an
- 	old-style function declaration with those from a previous
- 	prototype, compare the unqualified versions of parameter types.
- 	Fixes PR c/3116.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/objc.texi: Use more logical markup.  Use TeX dashes.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi: Use more logical markup.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (xref_tag): Don't return previous tags of wrong type.
- 
- 2001-06-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* loop.c (scan_loop): Do not combine asm statements.
- 
- 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* simplify-rtx.c (simplify_subreg): Fix offset calculation
- 	for complex values within a CONCAT.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Update details of what components are included
- 	in the GCC distribution.  Update default directory for g++
- 	includes.  Update documentation relating to old libio.  Adjust
- 	documentation on DejaGnu environment variables.  Remove
- 	documentation of --enable-cpplib.
- 
- 2001-06-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/contrib.texi: Fix alphabetical order.  Fix typos.  Improve
- 	markup.
- 
- 2001-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (life_data_ok): New.
- 	(merge_if_block): Use it to determine whether to update
- 	global_live_at_end.
- 	(if_convert): Set it.
- 
- 2001-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/osf5.h (ASM_OLDAS_SPEC): Add -c.
- 
- 2001-06-10  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* doc/invoke.texi (MN10300 Options): Document -mno-crt0.
- 	(SH Options): Document -mieee.
- 	* doc/install.texi (Final install): Remove obsolete information
- 	about installing cross compilers.
- 	* doc/gcc.1: Rebuilt.
- 
- 2001-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (override_options): Set align_loops,
- 	align_jumps, and align_functions.
- 	* config/alpha/alpha.h (FUNCTION_BOUNDARY): Set to 32 bits.
- 	(LOOP_ALIGN, LABEL_ALIGN_AFTER_BARRIER): Remove.
- 
- 2001-06-11  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* emit-rtl.c (gen_lowpart_common): Do not assume that SFmode and DFmode
- 	are one and two words in size.
- 
- 2001-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/invoke.texi (Optimization Options): Document -fpeephole2.
- 	(Code Generation Options): Document -fnon-call-exceptions.
- 
- 2001-06-10  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* config/i386/gnu.h (MD_FALLBACK_FRAME_STATE_FOR): Undefine.
- 
- 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* m68hc11.md (peepholes): Remove unused and wrong peepholes.
- 
- 2001-06-10  Mark Mitchell <mark@codesourcery.com>
- 	    Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* Makefile.in (c-parse.o): Depend on diagnostic.h
- 	(dwarf2out.o): Likewise.
- 
- 	* dwarf2out.c: #include diagnostic.h
- 
- 	* toplev.h (warningcount, errorcount, sorrycount): Remove
- 	declarations.
- 
- 	* toplev.c (warningcount, errorcount, sorrycount): Remove
- 	definitions.
- 
- 	* diagnostic.h (struct output_buffer): Reorder fields.
- 	(diagnostic_kind_count): New macro.
- 	(errorcount, warningcount, sorrycount): Define as macros.
- 	(diagnostic_report_warnings_p): New macro.
- 	(output_state): Add diagnostic_count field.
- 
- 	* diagnostic.c (warningcount, errorcount, inhibit_warnings):
- 	Remove tentative declaration.
- 	(count_error): Use diagnostic_report_warnings_p.
- 
- 	* c-parse.in: #include diagnostic.h
- 
- 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("extendhisi2"): Fix constraints to
- 	prefer a memory for operand 1.
- 	("*addsi3"): Fix constraints, the '!' was too strong.
- 	("*addsi3_split"): Accept soft register and split accordingly.
- 
- 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
- 	Move definition in the RTX_CODE section.
- 
- 2001-06-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Define the return
- 	address as relative to the argument pointer.
- 
- Sun Jun 10 10:58:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def (PRED_OPCODE): Place before call and error_return.
- 
- Sun Jun 10 10:00:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def (PRED_CALL, PRED_ERROR_RETURN): New.
- 	* predict.c (estimate_probability): Calculate dominance
- 	information; improve detection of NORETURN heuristics;
- 	add call/error_return heuiristics; tweak comparison heuristics
- 	to recognize -1.
- 
- 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* doc/invoke.texi (C Dialect Options): Document -aux-info.
- 	(Debugging Options): Document -print-multi-directory and
- 	-print-multi-lib.
- 	* doc/gcc.1: Rebuilt.
- 
- 	* toplev.c (independent_decode_option): Require `=' between
- 	`-aux-info' and filename in the same argument.
- 	* gcc.c: Don't pass -aux-info=filename twice.
- 
- 2001-06-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (expand_expr, case ARRAY_REF): Do not replace
- 	an array element with the known initializing value if it has
- 	side-effects.
- 
- 	* toplev.c (rest_of_compilation): Remove dead code before
- 	purge_addressof.
- 
- 2001-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (print_help): Document -fpreprocessed.
- 	* invoke.texi: Similarly.
- 
- Sun Jun 10 00:35:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def: New file.
- 	* predict.h: New file.
- 	* predict.c: Include predict.h.
- 	(predictor_info): New structure and array.
- 	(predict_edge, predict_insn): Rewrite; make global.
- 	(predict_edge_def, predict_insn_def): New global functions.
- 	(dump_prediction, combine_predictions_for_insns): New
- 	static functions.
- 	(estimate_probability): Change calls to predict_edge
- 	to predict_edge_def and calls to predict_insn to predict_insn_def;
- 	combine probabilities.
- 	(expected_value_to_br_prob): Behave as predictor.
- 	* rtl.h (REG_BR_PRED): Update coment.
- 	(invert_br_probabilities): New.
- 	* jump.c: Include predict.h
- 	(duplicate_loop_exit_test): Drop branch prediction notes.
- 	(invert_jump): Use invert_br_probabilities.
- 	* Makefile.in: Add dependency on predict.h for jump and predict pass.
- 	* ifcvt.c (dead_or_predicable): Use invert_br_probabilities.
- 	* combine.c (distribute_notes): Handle BR_PRED.
- 
- Sat Jun  9 23:29:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (predict_insn, predict_edge): New static functions.
- 	(estimate_probability): Revamp to use new functions;
- 	fix loop header heruistics; add loop exist heruistics
- 
- 2001-06-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config.gcc: Re-enable bi-arch sparc on Solaris 7 and above.
- 
- 2001-06-09  Peter Jakubek <pjak@snafu.de>
- 
- 	* config/m68k/m68k.md (ashrdi_const): Fix right shift by 16.
- 
- 2001-06-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.h (NOTICE_UPDATE_CC): Set CC_NO_OVERFLOW in cc_status.flags
- 	for integer operations that don't update C bit.
- 
- 2001-06-09  Nicola Pero <nicola@brainstorm.co.uk>
- 
- 	* gthr-posix.h (__gthread_objc_init_thread_system): If
- 	pthread_key_create fails, it's not clear what the return value is.
- 	This obvious fix makes sure it always returns -1 if a problem
- 	occurs.
- 
- 2001-06-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Use @defcodeindex for the index of options.  Add
- 	more index entries.  Use more logical markup where appropriate.
- 	Use TeX quotes and dashes.
- 
- 2001-06-09  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* unwind-pe.h: Conditionally qualify references to abort with
- 	std::.
- 
- 2001-06-09  Julian Foad <julian_foad@hotmail.com>
- 
- 	* doc/invoke.texi: Remove superfluous text.
- 
- 2001-06-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/linux.h (CPLUSPLUS_CPP_SPEC): New.
- 	(LIB_SPEC): Mirror config/linux.h version.
- 
- 2001-06-08  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (get_exception_pointer, get_exception_filter): Take a
- 	struct function.  Update all callers.
- 	* except.h (get_exception_pointer): Update declaration.
- 	* expr.c (expand_expr): Update get_exception_pointer call.
- 	* integrate.c (expand_inline_function): Remap the exception pointer
- 	from callee to caller.
- 
- 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-decl.c (grokdeclarator): Make the TREE_TYPE for declarations
- 	accurately reflect its cv-qualification.
- 	* c-typeck.c (type_lists_compatible_p): Ignore the top-levl
- 	cv-qualifiers on function types.
- 
- 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* basic-block.h: Improve comments.
- 	* except.c (expand_eh_region_end_allowed): Remove redundant call
- 	to do_pending_stack_adjust.
- 	* flow.c (life_analysis): Fix typo in comment.
- 	(calculate_global_regs_live): Add documentation.
- 	(mark_set_1): Likewise.
- 	(debug_regset): Likewise.
- 	* doc/rtl.texi (cond_exec): Document it.
- 
- Fri Jun  8 21:52:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (CONST_COSTS): set cost of constants representable in
- 	immediate fields to 0.
- 
- Fri Jun  8 21:34:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (diddle_return_value): Kill code to determine
- 	return value before expand_function_end.
- 	(expand_function_end): Delay call to clobber_return_register
- 	after fucntion return value is computed.
- 
- 	Re-install temporary reverted patch:
- 	* toplev.c (rest_of_compilation): Call split_all_insns
- 	before reg-stack and shorten-branches. Do shorten-branches
- 	after reg-stack.
- 	* final.c (shorten_branches): Remove insn splitting code.
- 
- 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi, doc/invoke.texi: Add index of command line
- 	options.  Use @opindex to index them rather than other indexing
- 	commands.  Use @var{...} instead of <...>.  Avoid spaces in names
- 	inside @var.  Don't use @kindex to index escape sequences in
- 	source code.
- 
- 2001-06-08  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* stmt.c (current_nesting_level): New fn.
- 	* tree.h: Declare it.
- 	* c-semantics.c (genrtl_compound_stmt): Use it.
- 
- 	* dbxout.c (dbxout_symbol): Use DECL_RTL_SET_P.
- 
- 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* jump.c (mark_modified_reg): Allow jump threading if condition
- 	codes are represented by a hard register.
- 
- 2001-06-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg): Use [SDT]Fmode as gr_mode
- 	for complex floats passed to unprototyped functions.
- 
- 2001-06-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.c (expand_eh_region_end_allowed): Call
- 	do_pending_stack_adjust as necessary.
- 
- Fri Jun  8 14:16:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (clobber_return_register): Clobber the pseudo return
- 	register too.
- 
- 	* sibcall.c (skip_unreturned_value): New function.
- 	(call_ends_block_p): Use it.
- 
- 	* recog.c (split_insn): Break out from ...
- 	(split_all_insns): ... here; do not use basic block information
- 	when it is broken.
- 
- Thu Jun  7 18:27:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_subreg):  Fix verification of
- 	combined subreg.
- 
- 2001-06-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/mips.h (CPP_SPEC): Simplify .s/.S handling.
- 	Don't define _LANGUAGE_C and variants for .cpp/.cp/.c++ files.
- 	Move definition of _LANGUAGE_C_PLUS_PLUS ...
- 	(CPLUSPLUS_CPP_SPEC): ... here.
- 	Fixes PRs c++/3047, target/441.
- 
- 2001-06-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi2html (MAKEINFO): Keep value if set already.
- 
- 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Add trailing slash to URL.
- 
- 2001-06-07  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (ENCODE_SECTION_INFO): Define.
- 	(REDO_SECTION_INFO_P): Ditto.
- 	(STRIP_NAME_ENCODING): Ditto.
- 	(ASM_DECLARE_OBJECT_NAME): Use ENCODE_SECTION_INFO.
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Ditto.
- 	(ASM_OUTPUT_LABELREF): Use STRIP_NAME_ENCODING.
- 	(GEN_LAZY_PTR_NAME_FOR_SYMBOL): Ditto.
- 	* config/darwin.c: No longer include c-tree.h.
- 	(machopic_classify_ident): Rewrite to use symbol encoding.
- 	(lookup_name_darwin): Remove.
- 	(machopic_non_lazy_ptr_name): Handle encoded symbols.
- 	(machopic_stub_name): Use STRIP_NAME_ENCODING.
- 	(machopic_validate_stub_or_non_lazy_ptr): Ditto.
- 	(machopic_finish): Ditto, remove test of decl.
- 	(update_non_lazy_ptrs): New function.
- 	(darwin_encode_section_info): New function.
- 	* config/darwin-protos.h: Declare it.
- 	* config/rs6000/rs6000.c (machopic_output_stub): Use
- 	STRIP_NAME_ENCODING.
- 
- 2001-06-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (DECL_SOURCE_FILE): Improve documentation.
- 	(DECL_SOURCE_LINE): Likewise.
- 
- 2001-06-07  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config/alpha/elf.h (MAKE_DECL_ONE_ONLY): Copy definition
- 	from config/elfos.h.
- 
- 2001-06-07  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* linux.h (CPLUSPLUS_CPP_SPEC):  Move -D_GNU_SOURCE to here.
- 	* pa/pa-linux.h:  Allow CPLUSPLUS_CPP_SPEC to remain.
- 
- 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/contrib.texi: Add copyright notice.
- 
- 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/md.texi: Use four digit years in copyright notice.
- 
- 2001-06-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc: For $target_alias of athlon-*, set
- 	target_cpu_default2=5.
- 
- Thu Jun  7 16:17:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* global.c (build_insn_chain): Allow ADDR_VEC or ADDR_DIF_VEC after
- 	end of last block if last real insn is a JUMP_INSN.
- 
- 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* NEWS: Regenerate.
- 
- 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gthr-posix.h (__gthread_objc_thread_detach): Simply cast
- 	pthread_t to objc_thread_t.
- 	(__gthread_objc_thread_id): Likewise.
- 
- 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* alpha/osf5.h (CPP_XFLOAT_SPEC): Override default definition.
- 	(ASM_OLDAS_SPEC): Likewise.
- 
- 	* alpha/osf.h (CPP_XFLOAT_SPEC): Define.
- 	(CPP_SUBTARGET_SPEC): Use it.
- 	(ASM_OLDAS_SPEC): Define.
- 	(ASM_SPEC): Use it.
- 	(SUBTARGET_EXTRA_SPECS): Define, declare the new specs above.
- 
- 2001-06-07  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/alpha.c (alpha_va_arg): Handle TFmode, TCmode args,
- 	passed by reference.
- 
- 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/tm.texi (TARGET_SWITCHES, TARGET_OPTIONS): Adjust markup.
- 	Document use of N_(...), and show it in examples.  Note that
- 	documentation should be added to invoke.texi.  Avoid an overfull
- 	hbox.
- 
- Thu Jun  7 17:09:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Revert previous patch.
- 	* final.c (shorten_branches): Likewise.
- 
- 2001-06-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* pself.c, pself1.c, pself2.c, pself3.c, pself4.c, pself5.c:
- 	Remove.
- 
- 2001-06-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install-old.texi: Remove more obsolete documentation.
- 
- Thu Jun  7 13:20:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (copy_blkmode_from_reg): Fix operand_subword_force call.
- 
- Thu Jun  7 12:12:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Call split_all_insns
- 	before reg-stack and shorten-branches. Do shorten-branches
- 	after reg-stack.
- 	* final.c (shorten_branches): Remove insn splitting code.
- 
- 2001-06-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (sparc*-*-*): Check assembler R_SPARC_UA32 support.
- 	* configure: Rebuilt.
- 
- 2001-06-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* emit-rtl.c (operand_subword): Remove unused variable.
- 
- Wed Jun  6 14:51:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (floatdi?f): Avoid usinf of SSE instructions
- 	if TARGET_64BIT is false.
- 	(floatdi?f_i386_only): New insn.
- 	(floatdi?f_i386): Disable for !TARGET_64BIT.
- 
- 	* (min?f, max?f splitters): Handle case where
- 	operands are cross-matched.
- 
- 	* i386.h (HI_REGISTER_NAMES): Remove redundant definition
- 	(MMX_REGISTER_NAMES): Kill.
- 	(PRINT_OPERAND): Fix comment.
- 	(PRINT_REG): Likewise.
- 	* i386.c (print_reg): Kill support for 'm' CODE; simplify.
- 	(print_operand): Update comment; kill 'm'.
- 
- 	* i386.c (x86_branch_hints): New global variable
- 	(print_operand): Support outputting of branch prediction hints.
- 	* i386.md (conditional jump patterns): Add branch prediction hints
- 	to the template.
- 	* i386.h (x86_branch_hints): Declare
- 	(TARGET_BRANCH_PREDICTION_HINTS): New macro.
- 	(PRINT_OPERAND_FUNCT_VALID_P): New.
- 	* final.c (final_forward_branch_p): New function.
- 
- 2001-06-06  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (mark_used_reg): Clean up looping over multiple hard
- 	registers.  Do conditional life bits across multiple hard regs.
- 
- 2001-06-05  Jeffrey D. Oldham  <oldham@codesourcery.com>
- 
- 	* reload1.c (reload): Revert Schmidt's change so all USEs are not
- 	deleted during reload.
- 
- 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-semantics.c (genrtl_scope_stmt): Write out nested inline
- 	functions here, instead of ...
- 	* c-decl.c (c_expand_body): ... here.
- 
- 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc, config/sparc/bsd.h:  Do not directly include
- 	sparc/sparc.h.  Instead do it via tm_file.
- 
- 2001-06-05  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2.h (DW_EH_PE_aligned): New.
- 	* dwarf2asm.c (eh_data_format_name): Name it.
- 	(dw2_asm_output_encoded_addr_rtx): Align for it.
- 	* dwarf2out.c (output_call_frame_info): Handle it for personality
- 	routine and LSDA pointers.
- 
- 	* unwind-pe.h (DW_EH_PE_aligned): New.
- 	(base_of_encoded_value): Handle it.
- 	(read_encoded_value_with_base): Likewise.
- 	* unwind-dw2-fde.c (base_from_object): Likewise.
- 	(get_cie_encoding): Likewise.
- 
- 	* config/alpha/elf.h: Remove ecoff commentary.
- 	* config/alpha/osf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
- 
- 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc, config/i386/bsd386.h:  Do not directly include
- 	i386/386bsd.h.  Instead do it via tm_file.
- 
- 2001-06-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* elfos.h (USING_ELFOS_H):  Identify the use of elfos.h in the same
- 	way svr4.h does.
- 
- 2001-06-05  Pascal Obry  <obry@act-europe.fr>
- 
- 	* configure.in: Quote $enable_win32_registry in case the value has
- 	spaces in it.
- 	* configure: Ditto.
- 
- 2001-06-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* print-rtl.c (xspaces): Remove.
- 	(print_rtx): Use printf field-width, rather than xpsaces, to
- 	indent.
- 	* toplev.c (main): Disable sibling-call optimization if we are
- 	handling exceptions.
- 
- 2001-06-05  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* reload1.c (reload): Delete all USEs generated during reload.
- 
- 2001-06-05  scott snyder  <snyder@fnal.gov>
- 
- 	* gccbug.in:  Fix typo.
- 
- 2001-06-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* builtins.def: Fix definition of __builtin_cosf, it uses float as
- 	parameter and return value.
- 
- 2001-06-04  Anthony Green  <green@redhat.com>
- 
- 	* config/sparc/elf.h (CPP_PREDEFINES): Don't assert cpu or
- 	machine.  This is now done in sparc.h.
- 
- 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Correct CVS resurrection of invoke.texi.
- 	* doc/invoke.texi: Document new tree dump flags.
- 
- 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (build_c_cast): Use TYPE_MAIN_VARIANT when checking
- 	for casting an aggregate to its own type.  Fixes PR c/2735.
- 
- 2001-06-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/texinfo.tex: Update to version 2001-05-24.08.
- 
- 2001-06-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.h (flag_dump_translation_unit): Remove.
- 	(enum tree_dump_index): Define.
- 	(TDF_ADDRESS, TDF_SLIM): New #defines.
- 	(dump_node_to_file): Remove.
- 	(dump_node): Make extern. Add flags.
- 	(dump_flag, dump_enabled_p, dump_begin, dump_end,
- 	dump_switch_p): Prototype.
- 	* c-common.c (flag_dump_translation_unit): Remove.
- 	* c-decl.c (c_decode_option): Remove -fdump-translation-unit
- 	logic. Use dump_switch_p.
- 	* c-dump.h (struct dump_info): Add node and user fields.
- 	(dump_pointer): Declare.
- 	* c-dump.c (dump_node): Make extern. Add flags.
- 	(SOL_COLUMN, EOL_COLUMN, COLUMN_ALIGNMENT): New #defines.
- 	(dump_new_line, dump_maybe_newline): Use them.
- 	(dump_pointer): New function.
- 	(dequeue_and_dump): Check TDF_SLIM before dumping a _DECL's
- 	chain or function's body. Dump address, if TDF_ADDRESS set.
- 	(dump_flag): Define.
- 	(dump_node_to_file): Remove.
- 	(struct dump_file_info): New struct.
- 	(dump_files): New array.
- 	(dump_begin, dump_end, dump_enabled_p, dump_switch_p): Define.
- 	* c-lang.c (finish_file): Adjust dumping.
- 	* toplev.h (dump_base_name): Make extern.
- 	* invoke.texi: Document new flags.
- 
- 2001-06-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-tree.h (lang_decl): Add pending_sizes fields.
- 	* c-decl.c (store_parm_decls): Save pending_sizes away for nested
- 	functions.
- 	(c_expand_body): Expand them.
- 	(lang_mark_tree): Mark lang_decl:pending_sizes.
- 	* function.c (expand_pending_sizes): New function, broken out
- 	from ...
- 	(expand_function_start): ... here.
- 	* tree.h (expand_pending_sizes): Declare it.
- 
- 2001-06-04  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi: Update FreeBSD information.  Generalize
- 	and update information for alpha-based platforms using ELF.
- 
- 2001-06-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* c-decl.c (get_parm_info): Use INTEGRAL_TYPE_P.
- 	(store_parm_decls): Likewise.
- 	* c-typeck.c (convert_arguments): Likewise.
- 
- 2001-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Suppress
- 	optimization if current_function_calls_setjmp.
- 
- 2001-06-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi: Fix documentation of TREE_STRING_LENGTH for
- 	wide strings.
- 
- Mon Jun  4 20:44:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_subreg): Fix combining of
- 	paradoxical subregs.
- 
- Mon Jun  4 20:15:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (rtx_unsable_p): ADDRESSOF is stable.
- 	(no_labels_between_p): Short circuit case beg==end.
- 
- Mon Jun  4 20:03:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (operand_preference): Fix preference for objects.
- 
- Mon Jun  4 20:00:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (handle_avail_expr): Be prepared to handle single_set
- 	parallels.
- 
- Mon Jun  4 19:59:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (if_then_else_cond): Use simplify_subreg instead
- 	of operand_subword.
- 	* integreate.c (sub_constants): Likewise.
- 
- Mon Jun  4 19:59:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (constant_subword): Deprecate; remove most of code
- 	and use simplify_gen_subreg.
- 
- Mon Jun  4 19:55:23 CEST 2001  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* sibcall.c (skip_copy_to_return_value): recognize the situation
- 	when the called function's return value is copied into an
- 	intermediate pseudo, and then into the calling functions return
- 	value register.
- 
- Mon Jun  4 16:50:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify_rtx.c (simplify_subreg): Keep subregs on return values,
- 	check CLASS_CANNOT_CHANGE_MODE before avoiding subreg on hard reg,
- 	in case register wasn't OK previously, accept it now; allow
- 	subregs of frame pointer if reload completed and frame pointer
- 	is not needed.
- 
- 	* combine.c (sombine_simplify_rtx): Fix comment;
- 	use subreg_lowpart_offset instead of subreg_lowpart_p
- 	(gen_lowpart_for_combine): Use subreg_lowpart_offset.
- 	* rtl.h (subreg_lowpart_parts_p): Kill.
- 	(subreg_lowpart_offset, subreg_highpart_offset): Declare.
- 	* simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset.
- 	* emit-rtl.c (gen_lowpart_SUBREG): Use subreg_lowpart_offset;
- 	(gen_lowpart_common): Likewise.
- 	(subreg_lowpart_p): Likewise.
- 	(subreg_lowpart_parts_p): Kill.
- 	(subreg_lowpart_offset, subreg_highpart_offset): New function.
- 
- 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
- 	to simplify SUBREG and REG.
- 	(gen_highpart): Use simplify_gen_subreg for all simplifications.
- 
- 	* emit-rtl.c (gen_realpart, gen_imagpart): Do not handle
- 	CONCAT specially.
- 
- 	* rtlanal.c (replace_regs):  Use simplify_gen_subreg
- 
- Mon Jun  4 09:21:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* doc/c-tree.texi (ARRAY_REF): Say what type of expression must be.
- 	(ARRAY_RANGE_REF): Added description.
- 
- 	* tree.def (ARRAY_RANGE_REF): New code.
- 	* alias.c (handled_component_p, can_address_p): Handle it.
- 	* dwarf2out.c (loc_descriptor_from_tree): Likewise.
- 	* explow.c (set_mem_attributes): Likewise.
- 	* expr.c (expand_assignment, get_inner_reference): Likewise.
- 	(expand_expr, expand_expr_unaligned, do_jump): Likewise.
- 	* fold-const.c (operand_equal_p): Likewise.
- 	* tree.c (staticp, stabilize_reference): Likewise.
- 	* varasm.c (decode_addr_const): Likewise.
- 
- Sun Jun  3 21:59:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload.c (reload_inner_reg_of_subreg): Return 1 for PLUS.
- 	(push_reload): Handle non-REG in reload_inner_reg_of_subreg case.
- 
- 2001-06-03  kaz Kojima  <kkojima@rr.iij4u.or.jp>
- 
- 	* gcc/config/sh/sh.c (print_operand_address, print_operand): Call
- 	mark_constant_pool_use before output_addr_const.
- 	(struct pool_node): New field wend.
- 	(add_constant): Note a sequence of constants that are referenced
- 	by a given label.
- 	(pool_window_label, pool_window_last): New variables.
- 	(dump_table): Emit a unspec_volatile representing the end of a
- 	sequence of constants.
- 	(mark_constant_pool_use): New function.
- 	* gcc/config/sh/sh.md (UNSPECV_WINDOW_END): New constant.
- 	(consttable_2): Add the second operand which flags whether
- 	this consttable entry was used or not.
- 	(consttable_4, consttable_8, consttable_sf, consttable_df):
- 	Likewise.
- 	(consttable_window_end): New insn.
- 
- 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* insn-addr.h (INSN_ADDRESSES_NEW): Make insn_uid__ unsigned.
- 	Reformat according to coding standards.
- 
- 	Warning removal.
- 	* config/sh/sh.c (print_operand_address): Cast INTVAL to int.
- 	(shl_and_kind): Cast wide constant.
- 	(gen_far_branch): Define as static, as in declaration.
- 	(barrier_align): Compute cache-line length as unsigned.  Add
- 	parentheses in initial credit computation.
- 	(rounded_frame_size): Add parentheses.
- 	(permanent_obstack): Remove declaration.  Include ggc.h for
- 	declaration of ggc_add_root_rtx().
- 	(get_free_reg): Removed declaration of unused variable reg.
- 	(legitimize_pic_address): Mark mode argument as unused.
- 
- 2001-06-03  Igor Shevlyakov  <igor@windriver.com>
- 
- 	* config/sh/sh.c (output_branch): Support for insn with lenght
- 	attr 12 & 16 which represents cond branches outside +-4096 range.
- 
- 2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/lib1funcs.asm (ic_invalidate): Align the
- 	cache-mirroring sequence.  Add nops.
- 
- 2001-06-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install-old.texi: Remove more old installation
- 	documentation.
- 	* doc/install.texi: Add relevant parts here.
- 
- 2001-06-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi2html: New script.
- 
- 2001-06-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi: Update AIX information again.
- 
- 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi, doc/install-old.texi: Remove old system-specific
- 	installation documentation.
- 	* doc/install.texi: Move it to here.
- 
- 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Clean up Texinfo markup.
- 
- 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/cpp.texi, doc/cppinternals.texi, doc/gcc.texi: Move contents
- 	to just after title page.
- 
- 2001-06-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install-old.texi: Remove documentation of some configuration
- 	options.
- 	* doc/install.texi: Add relevant parts of this documentation here.
- 
- 2001-06-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* contrib.texi: Updated entries for Mark Mitchell, Joseph S. Myers,
- 	Gerald Pfeifer, Bernd Schmidt, and Dean Wakerley.
- 
- Sat Jun  2 12:23:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (all uses of ext_register_operand): Make sure they are
- 	VOIDmode; replace all uses outside zero_extend.
- 	(and?i splitters): Use ext_register_operands.
- 	(test?i peep2): Remove ignored constraints.
- 	* i386.c (ext_register_operand): Check that operand is
- 	either pseudo or hard or 'Q' register.
- 
- Sat Jun  2 06:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (struct record_layout_info_s): New field unpadded_align.
- 	(set_lang_adjust_rli): New declaration.
- 	* stor-layout.c (layout_decl): If DECL is packed, but at alignment
- 	it would have if not packed, do not downgrade DECL_ALIGN.
- 	(lang_adjust_rli, set_lang_adjust_rli): New.
- 	(start_record_layout): Initialize new field unpadded_align.
- 	(debug_rli): Display it.
- 	(place_union_field, place_field): Set it.
- 	(layout_type, case RECORD_TYPE): Call via lang_adjust_rli if set.
- 
- 	* print-tree.c (print_node): Don't print "regdecl" when bit doesn't
- 	mean that; use proper names instead.
- 	Print DECL_NO_STATIC_CHAIN.
- 
- 	* except.c (expand_builtin_frob_return_addr): Add missing call
- 	to convert_memory_address #ifdef POINTERS_EXTEND_UNSIGNED.
- 	(expand_builtin_eh_return): Likewise.
- 	(expand_eh_return): Clean up ptr_mode != Pmode cases.
- 
- 2001-06-01  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* doc/invoke.texi: Remove references to papers about sequence points
- 	to readings.html, refer to that page.
- 
- 2001-06-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README: Update references to installation instructions.
- 
- 2001-06-01  Laurent Guerby  <guerby@acm.org>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi: Define srcdir when sources come from CVS.
- 	Significantly improve markup.  Wrap overly long lines
- 
- 2001-06-01  DJ Delorie  <dj@redhat.com>
- 
- 	* c-tree.texi, contrib.texi, cpp.texi, cppinternals.texi,
- 	extend.texi, fdl.texi, gcov.texi, invoke.texi, md.texi,
- 	objc.texi, rtl.texi, tm.texi, texinfo.tex, gcc.1, cpp.1,
- 	gcov.1: Move to doc subdirectory.
- 	* install.texi: Move to doc/install-old.texi.
- 	* gcc.texi: Move to doc, refer to install-old.texi.
- 	* Makefile.in: Reflect move of docs to doc/.
- 	* f/Make-lang.in: Ditto.
- 	* java/Make-lang.in: Ditto.
- 	* doc/.cvsignore: New.
- 
- 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* invoke.texi: use two spaces between command options, eliminate
- 	some 'overfull hboxes'
- 
- 2001-06-01  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* Makefile.in (s-mlib): Make backtick-commands always succeed.
- 	(DRIVER_DEFINES): Ditto.
- 
- 2001-05-31  Richard Henderson  <rth@redhat.com>
- 
- 	* gcc.c (init_gcc_specs): When linking against libgcc_s.so,
- 	also link against libgcc.a.
- 
- 2001-05-31  Geoff Keating  <geoffk@cygnus.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_ASCII): Convert to function.
- 	* config/mips/mips.c (mips_output_ascii): New function.
- 	* config/mips/mips-protos.h (mips_output_ascii): Prototype.
- 
- 	* config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Force to 4.
- 
- Thu May 31 19:09:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (set_block_for_new_insns): Remove bogus shortcut.
- 	* i386.c (ix86_expand_int_movcc): Force one of operands to be register.
- 
- 2001-05-31  Rodney Brown  <rbrown64@csc.com.au>
- 
- 	* install.texi (Configuration): Add html links for --with-gnu-as &
- 	--with-gnu-ld and refer to them from hppa & SCO triplets.
- 	(Specific): Link back to with-gnu-ld for all ELF platfoms.
- 	(Specific): Reword AVR binutils recommendation.
- 
- 2001-05-30  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* ggc-page.c (size_lookup): Increase minimum allocation size
- 	to eight bytes.
- 	(ggc_print_statistics): Report size of each bin in bytes, not
- 	as its order; there is no longer a direct relationship.
- 
- 2001-05-31  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* extend.texi: Fix formating of examples, eliminate some
- 	'overfull hboxes'.
- 	* gcc.texi: Eliminate some 'overfull hboxes'.
- 	* invoke.texi: Use two spaces between command options, eliminate
- 	some 'overfull hboxes'.
- 
- 2001-05-30  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Don't emit DW_AT_stmt_list at -g1.
- 
- 2001-05-30  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.c (do_spec_1): In `%O' case, if we computed saved_suffix,
- 	use it in the new association.
- 
- 2001-05-30  Loren J. Rittle  <ljrittle@acm.org>
- 	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gthr-posix.h (__gthread_active_ptr): Cast function pointer
- 	to target type to allow ISO C++ compiler to accept it.
- 	* gthr-dce.h (__gthread_active_ptr): Likewise.
- 	* gthr-solaris.h (__gthread_active_ptr): Likewise.
- 
- 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (_cpp_lex_token): Revert patch of 16 May 2001
- 	so that we do accept comments in preprocessed input.
- 
- 2001-05-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.c (alloc_node): Cast allocated pointer.
- 
- 2001-05-30  Gordon Sadler <gbsadler1@lcisp.com>
- 
- 	* invoke.texi (Option Summary): Remove -isystem-c++ from options.
- 
- 2001-05-29  Stan Shebs  <shebs@apple.com>
- 
- 	* gcc.texi: Add links for information about Objective-C.
- 
- 2001-05-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (gcc_version): Remove unrequired \ on ". (Solaris
- 	/bin/sed fails on [^\"]).
- 	(configargs.h): Likewise.
- 
- 2001-05-29  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
- 
- 	* config/sh/sh.h (IDENT_ASM_OP): End with TAB, not LF.
- 
- 2001-05-28  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc.gperf: Remove, no longer used.
- 
- 2001-05-28  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-tree.texi, contrib.texi, cpp.texi, extend.texi, gcc.texi,
- 	gcov.texi, install.texi, md.texi, objc.texi, rtl.texi, tm.texi:
- 	Remove trailing whitespace.
- 
- 2001-05-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): http://reality.sgi.com/ariel/freeware/
- 	became http://freeware.sgi.com/.
- 
- 2001-05-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* local-alloc.c (update_equiv_regs): Don't eliminate constant
- 	expressions at -O0.
- 
- 2001-05-27  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c: Add/fix various comments.
- 	(init_selector): Remove, no longer used.
- 	(build_msg_pool_reference): Ditto.
- 	(objc_debug): Ditto.
- 
- 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (init_decl_processing):
- 	 Don't call start_identifier_warnings.
- 	* flags.h (warn_id_clash, id_clash_len): Remove.
- 	* stringpool.c: Don't include flags.h.
- 	(scan_for_clashes, do_identifier_warnings,
- 	start_identifier_warnings): Remove.
- 	* toplev.c (warn_id_clash, id_clash_len): Remove.
- 	(display_help): Don't document -Wid-clash.
- 	(decode_W_option): Print warning on -Wid-clash.
- 	* tree.h (start_identifier_warnings): Remove.
- 	* invoke.texi: Remove documentation of -Wid-clash.
- 
- 2001-05-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/fixtests.c: Declare entries in ENV_TABLE.
- 
- 2001-05-27  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/check.tpl(HACK) add and use a Scheme variable
- 	(has no test text): error out if no "test_text" is defined
- 	* fixinc/fixincl.tpl: likewise
- 	(FIXIDX): make it an enumeration so we minimize diffs
- 	* fixinc/inclhack.def: re-alphabetize and add sort instructions
- 	* fixinc/fixincl.x: regenerate
- 	* fixinc/tests/base/stdio.h: test output got moved due to
- 	the alphabetizing
- 	* README-fixinc: rewrite (mostly)
- 
- 2001-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (run_directive): Set pfile->directive.
- 
- 2001-05-23  Theodore Papadopoulo  <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* c-tree.texi: Reformat the manual as a single chapter now
- 	included by gcc.texi.
- 	* gcc.texi: Include c-tree.texi. Merge all indexes.
- 	* Makefile.in (dvi): Add generation for the cppinternals
- 	documentation. Added dependencies on fdl.texi and c-tree.texi
- 	where appropriate.  Use TEXI2DVI instead of custom tex calls.
- 	(info): Added dependencies on fdl.texi and c-tree.texi where
- 	appropriate.  Remove the target c-tree.info.
- 
- 2001-05-27  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* combine.c (try_combine): Fix typo in comment.
- 	* expr.c (expand_expr): Likewise.
- 	* config/i370/i370.md (untyped_call): Likewise.
- 
- 2001-05-26  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
- 	when fixincl is operating in test mode
- 	* fixinc/inclhack.def(AAB_dgux_int_varargs) : aesthetics
- 	(AAB_ultrix_limits): remove redundant text
- 	(AAB_ultrix_memory): ditto
- 	(AAB_ultrix_string): ditto
- 	(djgpp_wchar_h): fix the test text
- 	(irix_stdio_va_list): add test text
- 	(irix_limits_const): add a testing output file (limits.h is overwritten)
- 	(strict_ansi_not_ctd): put limits.h second in list for same reason
- 	(solaris27_mutex_init): test text needed selection text, too
- 
- 	* fixinc/fixtests.c(stdc_0_in_system_headers_test): Must return "FIX"
- 	when fixincl is operating in test mode
- 
- 2001-05-26  Philip Blundell  <philb@gnu.org>
- 
- 	* config/c4x/c4x-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
- 	* config/i960/i960-protos.h: Likewise.
- 	* config/i370/i370-protos.h: Likewise.
- 	* config/h8300/h8300-protos.h: Likewise,
- 	* config/sh/sh-protos.h: Likewise.
- 	* config/v850/v850-protos.h: Likewise.
- 
- 2001-05-26  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm-protos.h: Use GCC_C_PRAGMA_H in place of _C_PRAGMA_H.
- 
- 2001-05-25  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* toplev.c (debug_args, f_options, W_options): Mark
- 	descriptions for translation.
- 	(display_help): Translate descriptions on output.
- 
- 	* cp/lang-options.h, f/lang-options.h, java/lang-options.h,
- 	objc/lang-options.h: Mark descriptions for translation.
- 
- 	* aclocal.m4: Quote final argument of patsubst.  Use
- 	3-argument form of AC_DEFINE.  Restore quotes to [] while
- 	using AC_FD_CC.
- 	* configure.in: Remove unnecessary changequote calls.
- 	* configure, config.in: Regenerate.
- 
- 2001-05-25  Sam TH  <sam@uchicago.edu>
- 
- 	* basic-block.h: Fix header include guards.
- 	* bitmap.h c-dump.h c-lex.h c-pragma.h c-tree.h collect2.h
- 	cppdefault.h cpphash.h cpplib.h defaults.h diagnostic.h errors.h
- 	except.h flags.h gcc.h gcov-io.h graph.h gstab.h gthr-aix.h
- 	gthr-dce.h gthr-posix.h gthr-rtems.h gthr-single.h gthr-solaris.h
- 	gthr-vxworks.h gthr-win32.h gthr.h hard-reg-set.h hwint.h
- 	insn-addr.h libgcc2.h mbchar.h mkdeps.h params.h prefix.h real.h
- 	rtl.h sbitmap.h system.h timevar.h toplev.h tradcpp.h tsystem.h
- 	varray.h version.h: Likewise.
- 	* config/dbxelf.h config/fp-bit.h config/arm/arm-protos.h
- 	config/arm/arm.h config/c4x/c4x-protos.h
- 	config/h8300/h8300-protos.h config/h8300/h8300.h
- 	config/i370/i370-protos.h config/i370/i370.h
- 	config/i960/i960-protos.h config/mcore/mcore.h
- 	config/mips/mips-protos.h config/sh/sh-protos.h config/sh/sh.h
- 	config/v850/v850-protos.h config/v850/v850.h: Likewise.
- 	* fixinc/fixlib.h fixinc/server.h: Likewise.
- 
- 2001-05-25  Stacey Sheldon  <ssheldon@Catena.com>
- 
- 	* config/arc/initfini.c (.init): Fix typo.
- 
- 2001-05-25  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (fseldfsf4): Correct mode of operand 4.
- 
- 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* i386/i386.h (CC1_CPU_SPEC): Clarify -m486 etc deprecation messages.
- 
- 2001-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc-std.ver: Export XFmode and TFmode versions of symbols.
- 
- 2001-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (all gnu and linux): Use t-slibgcc-elf-ver with t-linux.
- 	(i386-*-solaris2): Use t-slibgcc-elf-ver or t-slibgcc-sld.
- 	(sparc*-*-solaris2): Likewise.
- 	* config/t-linux: Remove shared libgcc macros.
- 	* config/t-slibgcc-elf-ver: Move from sparc/t-slibgcc.
- 	* config/t-slibgcc-sld: Move from sparc/t-slibgcc-sld.
- 
- 2001-05-25  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config.gcc (*-*-freebsd*): Report bad configuration.
- 
- 2001-05-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* xcoffout.h (DBX_OUTPUT_GCC_MARKER): Do not emit any marker.
- 
- 	* config/rs6000/aix.h (USER_LABEL_PREFIX): AIX symbols do not have
- 	any prefix.
- 	(ASM_OUTPUT_LABELREF): Delete.
- 
- 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (strict_ansi_not, strict_ansi_not_ctd,
- 	strict_ansi_only): Don't run if stdc_0_in_system_headers.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/fixtests.c (stdc_0_in_system_headers_test): New function.
- 	(FIX_TEST_TABLE): Declare it.
- 	* fixinc/fixlib.h: Include config.h.
- 
- 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (alpha___assert): Change char * args to
- 	const char * on Tru64 UNIX to avoid excessive warnings from
- 	assert.h.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2001-05-25  Geoff Keating  <geoffk@redhat.com>
- 
- 	* dbxout.c (dbxout_symbol): Invert previous patch, which was
- 	outputting a tag only for variable-size records.
- 
- 2001-05-25  Jeff Knaggs  <jknaggs@redhat.com>
- 
- 	* config/alpha/alpha.md (movtf_internal): Use reg_overlap_mentioned_p
- 	instead of rtx_equal_p for early clobber test.
- 
- 2001-05-26  Mark Mitchell <mark@codesourcery.com>
- 
- 	* builtins.def: Encode additional information, such as names and
- 	types, here.
- 	* builtin-types.def: New file.
- 	* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
- 	(built_in_decls): Likewise.  Don't explicitly initialize global
- 	data to NULL.
- 	(expand_builtin_mathfn): Handle float and long double variants of
- 	math builtins.
- 	(expand_builtin): Likewise.
- 	* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
- 	(expand_tree_builtin): Handle long, long long, float, and long
- 	double variants of math functions.
- 	* c-common.h (c_tree_index): Remove some unused nodes.
- 	(void_ftype): Remove.
- 	(void_type_ptr): Likewise.
- 	(int_ftype_int): Likewise.
- 	(ptr_ftype_sizetype): Likewise.
- 	* c-decl.c (init_decl_processing): Remove creation of DWARF
- 	builtins.
- 	* defaults.h (MD_INIT_BUILTINS): Provide default definition.
- 	* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
- 	* Makefile.in (c-common.o): Depend on builtin-types.def.
- 
- 2001-05-25  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/t-darwin: Fix dependencies for darwin.o.
- 
- 2001-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in (notype_initdcl): Remove redundant line.
- 
- 2001-05-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* aclocal.m4: Fixed typo.
- 	(gcc_AC_HEADER_STDBOOL): Define.
- 	(gcc_AC_C__BOOL): Define.
- 	* configure.in: Use them.
- 	(AC_CHECK_HEADERS): Remove stdbool.h
- 	* configure, config.in: Regenerate.
- 
- 2001-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (expand_function_start): Don't abort on PARALLEL
- 	returns from hard_function_value.
- 
- 2001-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: Revert previous change.  Do not apply
- 	the peephole if the components do not die after the sequence.
- 
- 2001-05-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (array_declarator): New.  Handle C99 constructs.
- 	Don't restrict [*] declarators to C only.
- 	(after_type_declarator, parm_declarator_starttypename,
- 	parm_declarator_nostarttypename, notype_declarator,
- 	direct_absdcl1): Use it.
- 	* c-decl.c (build_array_declarator, set_array_declarator_type):
- 	New functions.  Warn that [*] isn't properly implemented; pedwarn
- 	for [*] outside C99 mode if pedantic rather than giving a hard
- 	error.
- 	(grokdeclarator): Handle static and type qualifiers in parameter
- 	array declarators.
- 	* c-tree.h (build_array_declarator, set_array_declarator_type):
- 	Declare.
- 	* extend.texi (Attribute Syntax): Document attributes in parameter
- 	array declarators.
- 
- 2001-05-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/i386.md: Make sure cmpstr peepholes do not
- 	affect liveness information.
- 
- 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-typeck.c (digest_init): Issue error messages about
- 	invalid constants, not warnings.
- 
- 2001-05-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (-fno-builtin): Document that this is always on
- 	in C++.
- 
- 2001-05-24  Philip Blundell  <philb@gnu.org>
- 
- 	* doc/install.texi (arm*-*-linux-gnu): Say that binutils 2.10 is
- 	required.
- 
- 2001-05-24  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (output_return_instruction): Correctly handle
- 	interworking and interrupt functions.
- 
- 2001-05-24  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.h (TARGET_SWITCHES): Correct misleading help for
- 	-m{no-}sched-prolog.  Fix typos and improve formatting.
- 
- 2001-05-24  Philip Blundell  <philb@gnu.org>
- 
- 	* invoke.texi (ARM Options): Improve wording slightly.  Add
- 	documentation for more options, including those for Thumb mode.
- 	Don't mention options that don't exist or are unimplemented.
- 	(Thumb Options): Delete; merged into above section.
- 
- 2001-05-24  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/linux.h (SIGNAL_FRAMESIZE): Define.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Use it.
- 
- Thu May 24 19:47:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
- 	fix hard register simplification.
- 
- Thu May 24 00:15:17 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead
- 	of just copying CPP_CPU_SPEC.
- 
- Thu May 24 15:56:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (incdec_operand): Accept only 1 and -1.
- 
- 2001-05-23  Kelley Cook  <kelley.cook@home.com>
- 
- 	* Makefile.in: Move many of the *_H definitions eariler in the
- 	file, so that rules in t-* files that use them for
- 	dependencies will work in a parallel build.
- 	* config/i386/t-cygwin (winnt.o): Depend on $(CONFIG_H).
- 
- 2001-05-23  Richard Henderson <rth@redhat.com>
- 
- 	* integrate.c (expand_inline_function): Handle CONCAT DECL_RESULT.
- 
- 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update for handling of charconsts.
- 	* cpplex.c (maybe_read_ucs): Don't accept D800-DFFF.  Update
- 	diagnostics.  Skip to the end if the UCS is too short.
- 	(cpp_interpret_charconst): Long charconsts issue a warning
- 	not an error.
- 
- 2001-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/install.texi (alpha-linux): Require binutils 2.11.
- 
- 2001-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (read_escape, read_ucs): Delete.
- 	(lex_string): Use cpp_parse_escape.
- 	* cpplex.c (read_ucs): Rename maybe_read_ucs.  Do nothing
- 	if not C++ or not C99.  Warn if traditional.
- 	(parse_escape): Rename cpp_parse_escape.  Make the bitmask
- 	unsigned.  Warn for out-of-range escape sequences here.
- 	Update to use maybe_read_ucs.
- 	(cpp_interpret_charconst):  Don't warn here.
- 	* cpplib.h (cpp_parse_escape): New exported function.
- 
- 2001-05-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi (Attribute Syntax): Clarify application of
- 	attributes to parameters declared as functions or arrays.
- 
- 2001-05-23  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* dbxout.c (dbxout_type_methods): Do still group methods by name.
- 
- 2001-05-23  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* diagnostic.c (vnotice): Kill.
- 	(fnotice): Call vfprintf directly.
- 	(diagnostic_for_decl, output_do_verbatim, output_verbatim,
- 	verbatim, set_diagnostic_context): Rename string argument to
- 	indicate that it is run through gettext.
- 	(vbuild_message_string, build_message_string, output_do_printf):
- 	Rename string argument to indicate that it is NOT run through
- 	gettext.
- 	(output_printf, diagnostic_for_decl, fatal_io_error, sorry,
- 	output_do_verbatim, set_diagnostic_context, fnotice, _fatal_insn):
- 	Run msgid argument through gettext.
- 	(default_print_error_function): Run constant strings through
- 	gettext when nothing else will.
- 	(fatal_error, internal_error, error_recursion): Use fnotice.
- 	Present complete sentences to gettext.
- 
- 2001-05-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* jump.c (mark_jump_label): Fix thinko in 2001-05-19 change.
- 
- 2001-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (expand_function_start): Always use a pseudo
- 	for the function result value.
- 
- 2001-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/iris6.h (EH_FRAME_SECTION_ASM_OP): Give the
- 	section pointer alignment.
- 
- 	* doc/install.texi (alpha-linux): Require binutils >= 2.10.
- 
- 	* unwind-dw2-fde.c (__deregister_frame_info): Stringize use
- 	of __USER_LABEL_PREFIX__.
- 
- 2001-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2-fde.c (__deregister_frame_info): Stubbify in favor of...
- 	(__deregister_frame_info_bases): New.
- 	* unwind-dw2-fde.h: Declare it.
- 	* libgcc-std.ver: Export it.
- 	* crtstuff.c (__do_global_dtors_aux): Call it if we would have
- 	called __register_frame_info_bases.
- 
- 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config/freebsd.h (FBSD_CPP_PREDEFINES): Use #endif/#if pair
- 	instead of #elif (which is OK for this case but not in general).
- 
- 2001-05-22  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* builtins.c (expand_builtin_longjmp): A longjmp can be a call too.
- 	* config/ia64/ia64.md (nonlocal_goto): Reverse label and frame pointer
- 	parameters to __ia64_nonlocal_goto. Flag as NO_RETURN.
- 	* config/ia64/ia64.c (ia64_expand_epilogue): Make sure we are issuing
- 	"r2" to the assembly file. Only issue allocs with nonzero parameters.
- 
- 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
- 	    David O'Brien  <obrien@freebsd.org>
- 
- 	* config/freebsd.h (LIB_SPEC): Key the exact setting to
- 	configure-time options and target version of FreeBSD.  Set-up
- 	to match architectural change in threading support.  Correctly
- 	report when -pthread option is not supported by configure-time
- 	options.
- 	(FBSD_CPP_PREDEFINES): Move from architecture-specific files
- 	and extend to encode target version number in run-time setting
- 	of __FreeBSD__ macro to match the system compiler.
- 	(CPP_PREDEFINES): Likewise.
- 	(PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
- 
- 	* config/alpha/freebsd.h (CPP_PREDEFINES): Moved to common freebsd.h.
- 	* config/i386/freebsd.h (CPP_PREDEFINES): Likewise.
- 
- 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
- 	    David O'Brien  <obrien@freebsd.org>
- 
- 	* config.gcc (the unlabeled system switch statement): Add
- 	generic configuration section to handle *-*-freebsd*.  Also,
- 	to match the system compiler, default to threading support (it
- 	may be disabled with the standard --disable-threads
- 	configuration-time switch).
- 	(i[34567]86-*-freebsd* in machine-specific section): Use it.
- 	(alpha*-*-freebsd* in machine-specific section): Likewise.
- 
- 	* config/freebsd3.h: New file to expose FBSD_MAJOR macro (3).
- 	* config/freebsd4.h: New file to expose FBSD_MAJOR macro (4).
- 	* config/freebsd5.h: New file to expose FBSD_MAJOR macro (5).
- 	* config/freebsd6.h: New file to expose FBSD_MAJOR macro (6).
- 	* config/freebsd-nthr.h: New file to expose FBSD_NO_THREADS macro.
- 
- 2001-05-22  Loren J. Rittle  <ljrittle@acm.org>
- 	    David O'Brien  <obrien@freebsd.org>
- 
- 	* config/t-freebsd (TARGET_LIBGCC2_CFLAGS): Add -fPIC.
- 	* config/t-freebsd-thread (TARGET_LIBGCC2_CFLAGS): Add
- 	-pthread instead setting macro.
- 
- 2001-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* crtstuff.c (__register_frame_info_bases): Declare.
- 	(frame_dummy): Use it, if CRT_GET_RFIB_TEXT or CRT_GET_RFIB_DATA.
- 	(__do_global_dtors_aux, __do_global_dtors): Streamline.
- 
- 	* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
- 	(CRT_GET_RFIB_DATA): New.
- 	* config/i386/sysv4.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): New.
- 
- 2001-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.c (read_string): Break out from ...
- 	(read_rtx): ... here.
- 
- 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): Remove a bogus and duplicate part
- 	copied from the end of the document.
- 
- 2001-05-22  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* Makefile.in (LIBGCC_DEPS): Correct LIB1ASMSRC dependency.
- 
- 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* install.texi: Remove obsolete information on SunOS as well as
- 	i386-sun-sunos4, i860-intel-osf1, and powerpcle-*-solaris2*.
- 	(Installing GNU CC on the Sun): Remove section.
- 
- 2001-05-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cppfiles.c (remove_component_p): Don't assume lstat/stat will
- 	keep errno unchanged on success.
- 
- 2001-05-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-lex.c (lex_number): If pedantic and not C99, pedwarn exactly
- 	once for hexadecimal floats, whether or not they contain a decimal
- 	point.  Don't let the setting of pedantic otherwise affect the
- 	parsing of hexadecimal floats.
- 
- 2001-05-22  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.ACORN: Remove obsolete file.
- 
- 2001-05-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (gen_binary): Use swap_commutative_operands_p
- 	(simplify_comparison): Likewise.
- 	* expmed.c (emit_store_flag): Likewise.
- 	* expr.c (compare_from_rtx): Likewise.
- 	(do_compare_rtx_and_jump): Likewise.
- 	* optabs.c (emit_cmp_and_jump_insn): Revert last patch; abort
- 	if not emitting a branch and operands want swapping.
- 
- 2001-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (c_lex): Just cast cpp's hashnode to gcc's one.
- 	* stringpool.c:	(IS_FE_IDENT, make_identifier): Delete.
- 	(maybe_get_identifier): Update.
- 	* tree.h (make_identifier): Delete.
- 
- 2001-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (subst): Do not substitute for a register as
- 	a destination subreg/strict_low_part/zero_extract.
- 
- 	* combine.c (simplify_comparison): Update op1 after constant
- 	extension.
- 	* recog.c (const_int_operand): Accept only constants valid
- 	for the given mode.
- 	* genrecog.c: Update comments wrt const_int_operand.
- 
- 	* emit-rtl.c (init_emit_once): Zero unused memory in a
- 	CONST_DOUBLE.
- 
- 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (type_num_arguments): Declare it.
- 	* tree.c (type_num_arguments): New function.
- 
- 2001-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (current_funcdef_number): Move outside dwarf2
- 	conditional ifdef.
- 
- 2001-05-21  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (maxsf3): Use rs6000_emit_minmax.
- 	(maxsf3+1): Delete.
- 	(minsf3): Use rs6000_emit_minmax.
- 	(minsf3+1): Generalize to handle both SMIN and SMAX.  Use
- 	rs6000_emit_minmax.
- 	(movsfcc): Use rs6000_emit_cmove.
- 	(fselsfsf4): Don't compare a CONST_INT with a floating-point value.
- 	Don't generate emit_fselsfsf4.
- 	(fseldfsf4): Likewise.
- 	(maxdf3): Use rs6000_emit_minmax.
- 	(maxdf3+1): Delete.
- 	(mindf3): Use rs6000_emit_minmax.
- 	(mindf3+1): Generalize to handle both SMIN and SMAX.  Use
- 	rs6000_emit_minmax.
- 	(movdfcc): Use rs6000_emit_cmove.
- 	(fseldfdf4): Don't compare a CONST_INT with a floating-point value.
- 	Don't generate emit_fselsfsf4.
- 	(fselsfdf4): Likewise.
- 	* config/rs6000/rs6000.c (zero_fp_constant): New predicate.
- 	(min_max_operator): New predicate.
- 	(rs6000_emit_cmove): New function.
- 	(rs6000_emit_minmax): New function.
- 	* config/rs6000/rs6000-protos.h: Prototype new functions.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add zero_fp_constant
- 	and min_max_operator.
- 
- 	* config/rs6000/rs6000.c (output_cbranch): Handle all
- 	conditional types in the switch statement.
- 
- 2001-05-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-decl.c (finish_decl): Don't set DECL_C_HARD_REGISTER for
- 	non-register variables.
- 	* extend.texi: Document that asm-specifications do not make sense
- 	for non-static local variables.
- 
- 2001-05-21  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* dbxout.c (MINIMAL_DEBUG, flag_minimal_debug): Lose.
- 	(dbxout_type_fields): Lose minimal_debug support.
- 	(dbxout_type_methods, dbxout_type): Likewise.
- 
- 2001-05-17  Andrew Haley  <aph@redhat.com>
- 
- 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
- 
- 2001-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (DEBUG_FRAME_SECTION): Rename from FRAME_SECTION.
- 	Update all users.
- 
- 2001-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
- 	DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_PUBNAMES_SECTION,
- 	DEBUG_STR_SECTION): Rename from s/DEBUG_//.  Update all users.
- 	* dwarfout.c (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
- 	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION):
- 	Likewise.
- 	* config/mips/iris6.h (DEBUG_SFNAMES_SECTION, DEBUG_SRCINFO_SECTION,
- 	DEBUG_MACINFO_SECTION, DEBUG_PUBNAMES_SECTION, DEBUG_ARANGES_SECTION,
- 	DEBUG_FRAME_SECTION, DEBUG_ABBREV_SECTION): Rename as above.
- 	(DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
- 	* config/ia64/ia64.h (DEBUG_ABBREV_SECTION, DEBUG_ARANGES_SECTION,
- 	DEBUG_PUBNAMES_SECTION): Rename as above.
- 	(DEBUG_MACINFO_SECTION, DEBUG_LOC_SECTION, DEBUG_STR_SECTION): New.
- 
- 2001-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (emit_cmp_and_jump_insns): Don't swap commutative
- 	operands unless the operation is commutative.
- 
- 2001-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Detect more non-negative
- 	cases.
- 
- 2001-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi: Clarify documentation of extensions included in ISO
- 	C99.  Prefer C99 terminology and syntax to old GNU terminology and
- 	syntax.  Add more index entries.  Document mixed declarations and
- 	code as an extension in C89 mode.  Warn about future changes to
- 	semantics of inline functions.  Fixes PR other/930.
- 
- Sun May 20 16:39:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case ARRAY_REF): Don't fold constant
- 	access if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
- 	(expand_expr, case COMPONENT_REF): Do copy if misaligned even
- 	if EXPAND_CONST_ADDRESS or EXPAND_INITIALIZER.
- 
- 	* stmt.c (expand_decl): Set mode, alignment, and sizes for CONST_DECL.
- 
- 2001-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-deps.c (sched_analyze_insn): Force volatile memory reads
- 	to be output before a branch.
- 
- 2001-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (dwarf2asm.o): Depend on $(TREE_H).
- 
- 2001-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/att.h (ASM_SHORT, ASM_LONG): Add trailing \t.
- 	(ASM_DOUBLE): Remove.
- 	* config/i386/bsd.h, config/i386/sco5.h: Likewise.
- 	* config/i386/sun386.h: Likewise.
- 
- 	* config/i386/i386.h (UNALIGNED_SHORT_ASM_OP): New.
- 	(UNALIGNED_INT_ASM_OP, INT_ASM_OP): New.
- 
- 	* config/i386/cygwin.h (INT_ASM_OP): Remove.
- 	* config/i386/freebsd-aout.h, config/i386/i386-aout.h: Likewise.
- 	* config/i386/i386-coff.h, config/i386/i386-interix.h: Likewise.
- 	* config/i386/netbsd.h, config/i386/openbsd.h: Likewise.
- 
- 	* config/i386/cygwin.h: Adjust uses of ASM_LONG for trailing \t.
- 	* config/i386/djgpp.h, config/i386/i386.h: Likewise.
- 	* config/i386/i386elf.h, config/i386/ptx4-i.h: Likewise.
- 	* config/i386/sco5.h, config/i386/svr3gas.h: Likewise.
- 	* config/i386/sysv4.h, config/i386/vsta.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 
- 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Add more options to summary list.
- 
- 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Document meaning of -pedantic when -std=gnu* is
- 	used.  Fixes PR c/2291.
- 	* gcc.1: Regenerate.
- 
- 2001-05-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Ignore
- 	the -fpic and -fPIC options, clear flag_pic.
- 
- 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* hashtable.c (calc_hash): Fix HASHSTEP definition.
- 	* stringpool.c (make_identifier): No statistics here anymore.
- 	* objc-act.c (steup_string_decl): Remove redundant check.
- 
- 2001-05-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (OBJS, LIBCPP_OBJS, LIBCPP_DEPS,
- 	cpplib.o, cpphash.o, fix-header): Update.
- 	(hashtable.o): New target.
- 	* c-common.h: Include cpplib.h.  Define C_RID_CODE and
- 	struct c_common_identifier here.
- 	* c-lang.c (c_init_options): Update.  Call set_identifier_size.
- 	* c-lex.c (c_lex): Update.
- 	* c-pragma.h: Update.
- 	* c-tree.h (struct lang_identifier): Contain c_common_identifier.
- 	Delete rid_code.
- 	(C_RID_CODE): Delete.
- 	* cpphash.c: Rewrite to use hashtable.c.
- 	* cpphash.h: Update include guards.
- 	(struct cpp_reader): Remove hashtab.
- 	hash_ob and buffer_ob are no longer pointers.  Add hash_table
- 	and our_hashtable.
- 	(HASHSTEP, _cpp_init_hashtable,	_cpp_lookup_with_hash): Delete.
- 	(_cpp_cleanup_hashtable): Rename _cpp_destroy_hashtable.
- 	(_cpp_cleanup_stacks): Rename _cpp_init_directives.
- 	* cppinit.c (cpp_create_reader): Update.
- 	* cpplex.c (cpp_ideq, parse_identifier, cpp_output_token): Update.
- 	(cpp_interpret_charconst): Eliminate warning.
- 	* cpplib.c (do_pragma, do_endif, push_conditional,
- 	cpp_push_buffer, cpp_pop_buffer): Update.
- 	(_cpp_init_stacks): Rename cpp_init_directives.
- 	(_cpp_cleanup_stacks): Remove.
- 	* cpplib.h: Update include guards.  Include tree-core.h and c-rid.h.
- 	(cpp_hashnode, cpp_token, NODE_LEN, NODE_NAME,
- 	 cpp_forall_identifiers, cpp_create_reader): Update.
- 	(C_RID_CODE, cpp_make_node): New.
- 	(c_common_identifier): New identifier node for C front ends.
- 	* cppmain.c (main): Update.
- 	* fix-header.c (read_scan_file): Update.
- 	* flags.h (id_clash_len): Make unsigned.
- 	* ggc.h (ggc_mark_nonnull_tree): New.
- 	* hashtable.c: New.
- 	* hashtable.h: New.
- 	* stringpool.c: Update comments and copyright.  Update to use
- 	hashtable.c.
- 	* toplev.c (approx_sqrt): Move to hashtable.c.
- 	(id_clash_len): Make unsigned.
- 	* toplev.h (ident_hash): New.
- 	* tree.c (gcc_obstack_init): Move to hashtable.c.
- 	* tree.h: Include hashtable.h.
- 	(IDENTIFIER_POINTER, IDENTIFIER_LENGTH): Update.
- 	(GCC_IDENT_TO_HT_IDENT, HT_IDENT_TO_GCC_IDENT): New.
- 	(struct tree_identifier): Update.
- 	(make_identifier): New.
- cp:
- 	* cp-tree.h (struct lang_identifier, C_RID_YYCODE): Update.
- 	(C_RID_CODE): Remove.
- 	* lex.c (cxx_init_options): Call set_identifier_size.  Update.
- 	(init_parse): Don't do it here.
- objc:
- 	* objc-act.c (objc_init_options): Call set_identifier_size. Update.
- 
- Sat May 19 18:23:04 2001  Richard Henderson <rth@redhat.com>
- 
- 	* except.c (dw2_build_landing_pads): Use word_mode, not Pmode,
- 	as ncessary.
- 	(expand_eh_return): Convert between word_mode and Pmode.
- 	* unwind-dw2.c (extract_cie_info): Do not assume words and pointers
- 	are the same size.
- 	(execute_stack_op): Likewise.
- 	(execute_cfa_program): Likewise.
- 	(uw_frame_state_for): Likewise.
- 	(uw_update_context_1): Likewise.
- 	* unwind.inc (_Unwind_Reason_Code): Likewise.
- 	* config/mips/mips.h (EH_RETURN_DATA_REGNO): Define.
- 	(EH_RETURN_STACKADJ_RTX): Likewise.
- 	* config/mips/mips.c (compute_frame_size): Make space for saving
- 	EH return registers.
- 	(mips_expand_epilogue): Handle EH stack adjustments.
- 	* config/mips/mips.md (eh_return): New pattern.
- 	(eh_set_lr_si): Likewise.
- 	(eh_set_lr_di): Likewise.
- 	Add splitter to perform EH return after reload.
- 
- 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* jump.c (mark_jump_label): Tidy previous change.
- 
- 2001-05-19  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/genfixes: no need for two warnings
- 	* fixinc/Makefile.in: open stdin for those building with a closed one.
- 
- 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* jump.c (jump_optimize_1): Tidy.
- 	(mark_jump_label): When changing the label in a LABEL_REF, change
- 	update any REG_EQUAL notes as well.
- 
- 2001-05-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (parm_declarator): Split into
- 	parm_declarator_starttypename and parm_declarator_nostarttypename.
- 	(parm_declarator_starttypename, parm_declarator_nostarttypename):
- 	New.  Allow parenthesized sub-declarators which don't begin with a
- 	TYPENAME.  Fixes PR c/166.
- 
- 2001-05-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): New
- 	macro.
- 	* tm.texi (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
- 	Document it.
- 	* toplev.c (main): If the target does not allow profiling without
- 	a frame pointer, issue an error message.
- 	* config/i386/linux.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER):
- 	Define it to false.
- 
- Sat May 19 07:53:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* recog.c (general_operand): Modify last change to allow it if reload
- 	has completed.
- 
- Sat May 19 10:23:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (general_operand): Prohibit nonzero subreg bytes on
- 	subregs containing mem.
- 
- Sat May 19 09:40:45 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* regrename.c (regrename_optimize): frame pointer register can
- 	use a few hardregs.
- 
- 2001-05-18  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* README.DWARF: Move into dwarfout.c.
- 
- 2001-05-18  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (secondary_reload_class): Fix Darwin
- 	specific misuse of r0 as a reload address.
- 
- Fri May 18 22:42:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Clear op0_mode if simplification
- 	succeeded.
- 
- Fri May 18 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* genrecog.c (enum decision_type): Add DT_elt_zero-wide_safe.
- 	(add_to_sequence): Make that decision type.
- 	(maybe_both_true_2, nodes_identical_1, factor_tests): Use it.
- 	(write_switch, write_cond, debug_decision_2): Likewise.
- 
- 	* dbxout.c (dbxout_type): Use host_integerp and fix typo in testing
- 	for INTEGER_TYPE.
- 	(dbxout_symbol, case TYPE_DECL): Don't generate tag for records of
- 	variable size.
- 
- 2001-05-18  Stan Shebs  <shebs@apple.com>
- 
- 	* configure.in (gcc_cv_as_eh_frame): Cope with old assemblers.
- 	* configure: Regenerate.
- 
- 2001-05-18  Per Bothner  <per@bothner.com>
- 
- 	Changes needed for java/jvspec.c
- 	* gcc.h (n_infiles, outfiles):  Add declarations.
- 	* gcc.c (n_infiles, outfiles):  Mske no longer static.
- 
- Fri May 18 10:14:42 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/som.h (EXCEPTION_SECTION): Define.
- 
- 2001-05-18  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* dwarf2out.c: Add dw_loc_list_ref, a reference to a location
- 	list.
- 	Add have_location_lists, a variable to determine whether we need a
- 	.debug_loc section or not.
- 	(enum dw_val_class): Add dw_val_class_loc_list.
- 	(dw_val_struct): Add val_loc_list.
- 	(dw_loc_list_struct): New structure, represents location lists.
- 	(new_loc_list): New function, return a new location list, given
- 	the range and location expression.
- 	(add_loc_descr_to_loc_list): New function, add a location
- 	expression to a location list, given the expression and range.
- 	(output_loc_list): New function, output a location list.
- 	(gen_internal_sym): Modified to take symbol prefix, so we can
- 	reuse it for location list symbols.
- 	(add_AT_loc_list): New function, add a location list to a DIE at
- 	the named attribute.
- 	(AT_loc_list): New function, return the location list reference
- 	for a given attribute, if it's a location list.
- 	(print_die): Handle dw_val_class_loc_list.
- 	(size_of_die): Ditto.
- 	(value_format): Ditto.
- 	(output_die): Ditto.
- 	(output_location_lists): New function, output all of the location
- 	lists for a DIE and it's children.
- 	(dwarf2out_finish): Call output_location_lists if we have location
- 	lists.
- 
- 
- Fri May 18 15:39:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (try_replace_reg): First try global replace, later try to
- 	simplify the expression.
- 
- 	* gcse.c (find_used_regs): Change calling convention; work via
- 	note_uses.
- 	(cprop_insn): Update call of find_used_regs; work for CALL_INSNs too.
- 
- 2001-05-18  Bernd Schmidt  <bernds@redhat.com>
- 
- 	Revert
- 	2001-02-09  Nick Clifton  <nickc@redhat.com>
- 	* config/arm/arm.md: Change output constraint on post inc
- 	load/store multiple patterns to be a read/write constraint.
- 
- 2001-05-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* basic-block.h (struct basic_block_def): Add documentation about
- 	what a basic block is, and what the various fields are used for.
- 	* flow.c (calculate_globlal_regs_live): Add documentation about
- 	how the algorithm works, and how we know that it will terminate.
- 	Check that the inductive assumption that guarantees termination
- 	actually holds.
- 	(mark_used_regs): Treat conditionally set registers as used.
- 	(debug_regset): Add comment.
- 	* rtl.texi (cond_exec): Add documentation.
- 
- 	* function.c (expand_function_start): Avoid creating BLKmode
- 	pseudos.
- 
- 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarf2out.c (output_comp_unit): Always output a compilation-unit
- 	DIE, even if it has no children.
- 	(dwarf2out_finish): Always output the line-number table, even if
- 	it has no content.
- 
- 2001-05-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movsfcc,movdfcc): Remove NE case.
- 
- 2001-05-17  Bruce Korb <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.tpl: rewritten as an AutoGen version 5 template
- 	* fixinc/genfixes: emit a warning if AutoGen is out of date
- 
- 2001-05-17  Brendan Conoboy <blc@cygnus.com>
- 	    Bruce Korb <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.sh(FIXINC): accept local directory if fixincl not
- 	found in fixinc directory.  Facilitates binary distributions.
- 
- 2001-05-17  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* dbxout.c (dbxout_symbol_location): For CONCAT, skip types not
- 	COMPLEX_TYPE.
- 
- Thu May 17 19:42:39 2001  Mark Kettenis  <kettenis@wins.uva.nl>
- 
- 	* dwarf2out.c (modified_type_die): Equate qualified type to die.
- 
- Thu May 17 23:19:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_rtx_and_substitute): Use simplify_gen_subreg.
- 	(simplify_subreg): Handle complex types represented as CONCAT.
- 
- 	* recog.c (validate_replace_rtx_1): Properly canonicalize expression
- 	* rtl.h (swap_commutative_operands_p): Declare.
- 	* rtlanal.c (swap_commutative_operands_p): New.
- 	(operand_preference): New static function.
- 
- 	* combine.c (combine_simplify_rtx): Use swap_commutative_operands_p.
- 	(gen_binary): Likewise.
- 	* optabs.c (emit_cmp_and_jump_insns, emit_conditional_move): Likewise.
- 	* simplify-rtx.c (simplify_gen_binary,
- 	simplify_gen_relational): Likewise.
- 
- Thu May 17 20:43:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (fold_rtx): Use simplify_subreg.
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Use simplify_gen_subreg.
- 	(simplify_gen_subreg): New.
- 	(simplify_rtx): Use simplify_subreg.
- 	* rtl.h (simplify_gen_subreg): Declare.
- 
- 2001-05-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/install.texi: Update Solaris information.
- 
- 	* except.h (protect_cleanup_actions): Remove it.
- 	(lang_protect_cleanup_actions): Declare it.
- 	* except.c (protect_cleanup_actions): Remove it.
- 	(lang_protect_cleanup_actions): New variable.
- 	(init_eh): Don't make protect_cleanup_actions a GC root.
- 	(expand_eh_region_and_cleanup): Call
- 	lang_protect_cleanup_actions.
- 	(output_function_exception_table): Remove unused `align'
- 	variable.
- 	* varasm.c (assemble_external): Abort if we have not yet
- 	opened the assembly output file.
- 
- Thu May 17 11:54:50 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* except.c (sjlj_emit_function_enter): Call assemble_external_libcall
- 	for eh_personality_libfunc.
- 
- Thu May 17 19:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_rtx_1): Use "TO" mode if not VOIDmode
- 	when calling simplify_subreg.  This is needed to allow replacing
- 	of expression of one mode by expression of different mode.
- 
- Thu May 17 19:40:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c  (simplify_subreg): Avoid creating of incorrect subregs.
- 
- 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* expr.c (protect_from_queue): Protect against subsequent calls to
- 	emit_queue.
- 	(expand_expr, case ADDR_EXPR): Prevent protect_from_queue from being
- 	too clever.
- 
- Thu May 17 18:17:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify_rtx.c (simplify_subreg): Fix simplification of nested subregs.
- 
- 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* gccbug.in (CATEGORIES): Add "bootstrap".
- 
- Thu May 17 16:59:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_subreg): Break out from ...
- 	* combine.c (combine_splify_rtx) ... here and ...
- 	* recog.c (validate_replace_rtx_1): ... here;
- 	* rtl.h (subreg_lowpart_parts_p, simplify_subreg): Declare.
- 	* emit-rtl.c (subreg_lowpart_parts_p): Break out from ...
- 	(subreg_lowpart_p): ... here.
- 
- 2001-05-17  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* stmt.c (expand_asm_operands): For inout operands, make sure
- 	the substitution of '=' for '+' makes it into the rtl.
- 
- 	* reload1.c (delete_output_reload): Call eliminate_regs on substed.
- 	(reload_as_needed): Call update_eliminable_offsets a bit later.
- 
- 2001-05-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* gcc.texi (gccbug): Refer to the web pages for detailed information
- 	on GNATS.
- 
- 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
- 
- 	* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
- 	OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
- 	LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
- 	libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
- 	* cross-make: Don't set LIBGCC1.
- 	* mklibgcc.in: Delete all code for building from libgcc1.c.
- 	Always honor LIB1ASMFUNCS if set.
- 
- 	* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
- 	config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
- 	config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
- 	config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
- 	config/i386/uwin.asm, config/m68hc11/larith.asm,
- 	config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
- 	config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
- 	config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
- 	config/v850/lib1funcs.asm, config/c4x/libgcc.S:
- 	Delete or update references to libgcc1 in commentary.
- 
- 	* config/t-libc-ok, config/t-linux, config/t-linux-aout,
- 	config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
- 	config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
- 	config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
- 	config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
- 	config/arm/t-semi, config/arm/t-strongarm-coff,
- 	config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
- 	config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
- 	config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
- 	config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
- 	config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
- 	config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
- 	config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
- 	config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
- 	config/m68k/t-m68kbare, config/m68k/t-m68kelf,
- 	config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
- 	config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
- 	config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
- 	config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
- 	config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
- 	config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
- 	config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
- 	config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
- 	config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
- 	config/mips/t-ultrix, config/mn10200/t-mn10200,
- 	config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
- 	config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
- 	config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
- 	config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
- 	config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
- 	config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
- 	config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
- 	config/sparc/t-sparclite, config/sparc/t-splet,
- 	config/sparc/t-sunos41, config/sparc/t-vxsparc,
- 	config/sparc/t-vxsparc64, config/v850/t-v850:
- 	Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
- 
- 	* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
- 	Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
- 	* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
- 	FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
- 	nongcc_SI_type, nongcc_word_type, or perform_*
- 	* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
- 
- 	* config/i386/386bsd.h, config/i386/beos-elf.h,
- 	config/i386/linux-aout.h, config/i386/linux-oldld.h,
- 	config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
- 	config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
- 	Don't include i386/perform.h.
- 
- 	* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
- 	config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
- 	config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
- 	config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
- 	config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
- 	config/vax/t-openbsd, config/vax/t-vax: Delete.
- 
- 	* config.gcc: Remove references to deleted files.
- 	(arm-semi-aof): Use arm/t-semi for tmake_file.
- 
- 	* gcc.texi, install.texi, invoke.texi, tm.texi:
- 	Delete or rewrite text which is no longer relevant now that
- 	libgcc1 no longer exists.
- 
- 	* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
- 	No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)
- 
- 2001-05-16  Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
- 	Bruce Korb <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(solaris27_mutex_init):  Fix broken mutex
- 	initializer
- 
- 2001-05-16  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* i386.md: Add two peepholes to clean up code generated by
- 	cmpstr* expanders.
- 
- 2001-05-16  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (eh_data_format_name): Add names for "pointer size"
- 	variants of non-absolute encodings.
- 
- 	* config/i386/i386.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
- 
- 	* libgcc-std.ver (_Unwind_Find_FDE, __register_frame_info_bases,
- 	__register_frame_info_table_bases): Export.
- 
- 2001-05-16  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (eh_data_format_name): Move to ...
- 	* dwarf2asm.c: ... here.  Use designated initializers if available.
- 	(dw2_asm_output_encoded_addr_rtx): Accept varargs commentary.
- 	* dwarf2asm.h: Update declarations.
- 	* dwarf2out.c (output_cfi) [DW_CFA_set_loc]: If for_eh, mind
- 	ASM_PREFERRED_EH_DATA_FORMAT.
- 	(output_call_frame_info): Likewise.  Use 'L' augmentation for
- 	the LSDA encoding.
- 
- 	* unwind-dw2-fde.h (struct fde_vector): New.
- 	(struct old_object): Rename from struct object.
- 	(struct object): New.
- 	(__register_frame_info_bases): Declare.
- 	(__register_frame_info_table_bases): Declare.
- 	(struct dwarf_fde): Remove explicit pc_begin/pc_range members.
- 	* unwind-dw2-fde.c (objects): Remove.
- 	(unseen_objects, seen_objects): New.
- 	(__register_frame_info_bases): New.
- 	(__register_frame_info): Use it.
- 	(__register_frame_info_table_bases): New.
- 	(__register_frame_info_table): Use it.
- 	(__deregister_frame_info): Rewrite for changed object struct.
- 	(base_from_object, get_cie_encoding, get_fde_encoding): New.
- 	(fde_unencoded_compare): Rename from fde_compare; uninline.
- 	(fde_single_encoding_compare, fde_mixed_encoding_compare): New.
- 	(start_fde_sort): Adjust for new definition of fde_vector.
- 	(fde_insert): Likewise.
- 	(end_fde_sort): Likewise.  Select comparison function based
- 	on properties of the object.
- 	(fde_split): Take object and fde_compare_t arguments.
- 	(frame_heapsort, fde_merge): Likewise.
- 	(classify_object_over_fdes): Rename from count_fdes.  Handle
- 	encoded pointers.  Collect encoding, mixed_encoding, and pc_begin
- 	for the object.
- 	(add_fdes): Handle encoded pointers.
- 	(init_object): Rename from frame_init.  Update for new struct object.
- 	(linear_search_fdes): Rename from search_fdes.  Handle encoded
- 	pointers.
- 	(binary_search_unencoded_fdes): Broken out from _Unwind_Find_FDE.
- 	(binary_search_single_encoding_fdes): New.
- 	(binary_search_mixed_encoding_fdes): New.
- 	(search_object): New.
- 	(_Unwind_Find_FDE): Update for new struct object.  Fill in
- 	the dwarf_eh_bases.
- 	* unwind-dw2.c: Include unwind-pe.h.  Constify all pointers
- 	iterating over EH data.
- 	(_Unwind_FrameState): Remove saw_lsda, addr_encoding.  Add
- 	fde_encoding, lsda_encoding.
- 	(read_uleb128, read_sleb128): Remove.
- 	(read_encoded_pointer): Remove.  All callers use read_encoded_value.
- 	(extract_cie_info): Set lsda_encoding from 'L' augmentation.
- 	(uw_frame_state_for): Don't set bases.func.  Handle encoded fde
- 	pointers.
- 	* unwind-pe.h: Add "struct" to _Unwind_Context references.
- 
- 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cppexp.c (lex): Use NODE_NAME and NODE_LEN.
- 	* cpphash.c (_cpp_lookup_with_hash): Similarly.
- 	* cpplex.c (cpp_ideq, parse_identifier, cpp_token_len,
- 	cpp_spell_token, cpp_output_token): Similarly.
- 	* cpplib.c (lex_macro_node, do_undef, do_pragma,
- 	do_pragma_poison, parse_assertion, do_assert): Similarly.
- 	* cppmacro.c (builtin_macro, parse_args, funlike_invocation_p,
- 	save_parameter, _cpp_create_definition, check_trad_stringification,
- 	cpp_macro_definition): Similarly.
- 	* cppmain.c (cb_define, cb_undef, dump_macro): Similarly.
- 	* c-lex.c (cb_undef, c_lex): Similarly.
- 	* fix-header.c (recognized_function): Similarly.
- 	* cpplib.h (NODE_LEN, NODE_NAME): New.
- 	(cpp_hashnode): Rename length len.
- 
- Wed May 16 13:41:10 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa32-regs.h (HARD_REGNO_MODE_OK): Allow TI/TFmode values in
- 	GPRs.
- 
- 2001-05-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (toplev.o): Add dependency on dwarf2asm.h.
- 
- 	* toplev.c: Include dwarf2asm.h for prototype of
- 	dw2_output_indirect_constants.
- 
- Wed May 16 19:53:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* stmt.c (expand_asm_operands): Be able to offload addressof
- 	expression to memory. (PR optimization/185)
- 
- Wed May 16 18:53:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Set op0_mode to VOIDmode after
- 	applying distributive law.
- 
- 2001-05-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-hpux10.h (THREAD_MODEL_SPEC): Define.
- 
- 	* gthr-dce.h (UNUSED): Attribute unused macro.
- 	(__gthread_key_dtor): Make arguments UNUSED.
- 	(__gthread_key_delete): Revise for compatibility with DRAFT4
- 	implementation.
- 
- 2001-05-16  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi: Update AIX information.
- 	* README.RS6000: Remove obsolete file.
- 
- 2001-05-16  Jakub Jelinek  <jakub@redhat.com>
- 	    Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcc.c (give_switch): Don't write before start of string.
- 	Always append suffix.
- 
- 2001-05-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpplex.c (_cpp_lex_token, '/' case): Comments can't appear
- 	after stage3.
- 
- 2001-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.ALTOS: Remove obsolete file.
- 
- 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.h (save_and_forget_protocol_qualifiers,
- 	forget_protocol_qualifiers, remember_protocol_qualifiers):
- 	Remove deleted functions' prototypes.
- 
- 2001-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in (methodtype): New production.
- 	(methoddef, methodproto): Collapse separate '-' and '+'
- 	handlers into 1.
- 
- 2001-05-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* c-common.h (RID_FIRST_PQ): New.
- 	* c-parse.in (objc_pq_context): New.
- 	(objc parser): Set objc_pq_context rather than calling
- 	remember_protocol_qualifiers and forget_protocol_qualifiers.
- 	Don't call save_and_forget_protocol_qualifiers.
- 	(yylexname): Handle objc protocol qualifiers here.
- 	* stringpool.c (struct str_header): Replace with sp_hashnode.
- 	(SP_EMPTY, SP_LEN, SP_TREE, SP_STR, SP_VALID): New.
- 	(alloc_string): Rename alloc_ident.  Use the SP_ accessors.
- 	Allocate an IDENTIFIER_NODE for each identifier.
- 	(FORALL_STRINGS, set_identifier): Delete.
- 	(FORALL_IDS, expand_string_table, stringpool_statistics): Update.
- 	(ggc_alloc_string): Use an obstack.
- 	(get_identifier, maybe_get_identifier, mark_string_hash): Update.
- 	* tree.h: Update comments.
- 	(set_identifier): Delete.
- 	* objc/objc-act.c (N_PQ, saved_pq, saved_not_pq,
- 	save_and_forget_protocol_qualifiers, forget_protocol_qualifiers,
- 	remember_protocol_qualifiers): Delete.
- 
- Tue May 15 22:14:09 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (life_analysis): After life analysis is complete, do
- 	an optional scan over insns looking for REG_LABEL notes that
- 	reference a deleted label.
- 	(propagate_block_delete_insn): Verify INOTE is a CODE_LABEL
- 	before peeking at LABEL_NUSES.
- 
- 2001-05-15  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-sjlj.c (_Unwind_GetDataRelBase): New.
- 	(_Unwind_GetTextRelBase): New.
- 
- 2001-05-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
- 
- 2001-05-15  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* objc/objc-act.c (handle_class_ref): Use rest_of_decl_compilation
- 	so that CHOOSE_SECTION gets used.
- 
- 	* config/rs6000/sysv4.h (ASM_PREFERRED_EH_DATA_FORMAT): Treat
- 	TARGET_RELOCATABLE like flag_pic for now.
- 
- 2001-05-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movdi splitter): Sign extend more efficiently.
- 	* rs6000.c (reg_or_arith_cint_operand): Redefine 64-bit constant
- 	to "long long" valid on 32-bit and 64-bit hosts.
- 	(logical_operand): Cast trunc_int_for_mode return value.
- 	(rs6000_emit_move): Shift macro to encapsulate variable.
- 	(rs6000_va_start): Use HOST_WIDE_INT_PRINT_DEC.
- 	(rs6000_emit_{prologue,epilogue}): EH regno is unsigned but
- 	plus_constant requires signed argument.
- 
- 2001-05-15  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* gthr-posix.h: Make additional pthread-* functions weak.
- 
- Tue May 15 13:51:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (apply_change_group): Avoid unneeded validating.
- 
- 2001-05-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (num_insns_constant_wide): Constants are sign-extended.
- 	(num_insns_constant): CONST_INT can be 64-bits.
- 
- 2001-05-14  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (LIB_SPEC): Just use -lSystem.
- 	(LIBGCC_SPEC): Don't define.
- 
- 2001-05-14  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (gcc_cv_as_eh_frame): New test.
- 	* config.in, configure: Rebuild.
- 	* gcc.c (init_spec): Honor USE_AS_TRADITIONAL_FORMAT.
- 
- 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/ia64/lib1funcs.asm (__divtf3): Fix incorrect bits in
- 	extended precision divide.
- 
- 2001-05-14  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/ia64/ia64.c (rtx_needs_barrier): Call rtx_needs_barrier
- 	for RETURNS as well.
- 
- Mon May 14 17:34:48 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (TARGET_64BIT): Define to constant if !TARGET_BI_ARCH
- 	(CPP_CPU??_SIZE_TYPE): New.
- 	(CPP_CPU??_SPEC, CPP_CPUCOMMON_SPEC): Break out from...
- 	(CPP_CPU_SPEC): ... here; support choosing of CPU.
- 	(EXTRA_SPECS): Add cpp_cpu??, cpp_cpu??sizet, cpp_cpucommon.
- 	(MAX_LONG_TYPE_SIZE, MAX_BITS_PER_WORD): Define to 32 for 32bit-only
- 	compiler.
- 	* i386.c (override_options): Add sorry about not suported modes.
- 
- Mon May 14 08:56:47 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/som.h (NM_FLAGS): Remove.
- 	(ASM_OUTPUT_FUNCTION_PREFIX): No longer truncate subspace names.
- 	(ASM_OUTPUT_SECTION_NAME): Remove.
- 	(MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Likewise.
- 
- 2001-05-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* regrename.c (regrename_optimize): Do not rename registers to
- 	leaf registers.
- 
- 2001-05-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* rtl.texi (CALL_INSN_FUNCTION_USAGE): Note that (and when) it may
- 	contain MEMs.  Remove useless distinction about clobbering
- 	registers.
- 
- 2001-05-13  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.h (EXCEPTION_SECTION): Move to...
- 	* config/rs6000/aix.h (EXCEPTION_SECTION): ... here.
- 	* config/rs6000/sysv4.h (CONST_SECTION_ASM_OP): Delete.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	(EXCEPTION_SECTION): Define.
- 
- 2001-05-13  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* libgcc2.c, libgcc2.h: Restore __eprintf.  Label as used for
- 	binary backward compat only.
- 	* Makefile.in (LIB2FUNCS_ST): New.  Put _eprintf here, not
- 	in LIB2FUNCS.  Pass it to mklibgcc.
- 	* mklibgcc.in: Handle LIB2FUNCS_ST.
- 
- 	* Makefile.in (installdirs): Don't create $(gcc_tooldir).
- 
- 2001-05-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tm.texi (THREAD_MODEL_SPEC): Document it.
- 	* gcc.c (main): Use it.
- 	* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Define it.
- 	* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Likewise.
- 
- 2001-05-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rtl.h (SYMBOL_REF_WEAK): New macro.
- 	* rtlanal.h (rtx_addr_can_trap): Use it, a weak SYMBOL_REF can trap.
- 	* varasm.c (make_decl_rtl): Mark SYMBOL_REF weak if necessary.
- 	* rtl.texi (SYMBOL_REF_WEAK): Document it.
- 	* gcc.texi: Remove wrong description.
- 
- 2001-05-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (STAMP): New macro.
- 	Replace all uses of `touch' with $(STAMP).
- 	* fixinc/Makefile.in: Likewise.
- 
- Sun May 13 07:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* configure.in: ldopen is never in -lexc, so don't test for it.
- 	Add test for exc_resume in -lexc for Ada.
- 	* configure: Regenerated.
- 
- 2001-05-12  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (size_of_encoded_value): New function.
- 	* dwarf2asm.h: Declare it.
- 	* except.c (output_function_exception_table): Align the TType
- 	array only as wide as the encoding.
- 
- 2001-05-12  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* extend.texi: Document #pragma GCC java_exceptions.
- 
- 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* c-parse.in (bison parser, init_reswords): Remove uses of
- 	doing_objc_thang.
- 	* c-tree.h (doing_objc_thang): Remove.
- 
- 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (_cpp_lex_token): Ensure we warn at most once
- 	about files not ending in newlines.
- 
- 2001-05-12  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* dwarfout.c (dwarfout_init): Add cast.
- 	* sched-deps.c (sched_analyze_insn): Remove unused vars.
- 	* unwind-dw2-fde.c (_Unwind_Find_FDE): Flag unused parameter so.
- cp:
- 	* method.c (build_mangled_C99_name): Remove unused prototype.
- 
- 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/arm/arm.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Use delta.
- 
- 2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* defaults.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
- 	* tm.texi (TARGET_PRTMEMFUNC_VBIT_LOCATION): Document.
- 
- 2001-05-11  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
- 	* dwarf2asm.c (dw2_force_const_mem, dw2_output_indirect_constant_1,
- 	dw2_output_indirect_constants, dw2_asm_output_encoded_addr_rtx): New.
- 	* dwarf2asm.h (dw2_asm_output_encoded_addr_rtx): Prototype.
- 	(dw2_output_indirect_constants): Prototype.
- 	* dwarf2out.c (dwarf2out_begin_prologue): Generate
- 	current_function_func_begin_label if we'll need it for EH.  Exit
- 	early for IA64_UNWIND_INFO.
- 	* except.c: Get DW_EH_PE_* defines from dwarf2.h.
- 	(eh_data_format_name): Update for indirect references.
- 	(output_function_exception_table): Care for IA64_UNWIND_INFO.
- 	Handle ASM_PREFERRED_EH_DATA_FORMAT.
- 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): IA64_UNWIND_INFO needn't
- 	define HAVE_eh_return etc.
- 	* final.c (final_start_function): Always call dwarf2out_begin_prologue.
- 	(final_end_function): Don't call output_function_exception_table.
- 	* toplev.c (compile_file): Call dw2_output_indirect_constants.
- 	(rest_of_compilation): Invoke output_function_exception_table
- 	for ia64 before assemble_end_function.
- 	* tm.texi (ASM_PREFERRED_EH_DATA_FORMAT): Document.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Document.
- 
- 	* unwind-dw2.c (_Unwind_GetTextRelBase, _Unwind_GetDataRelBase): New.
- 	* unwind.h: Declare them.
- 	* libgcc-std.ver: Export them.
- 	* unwind-pe.h: New file.
- 
- 	* config/alpha/elf.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
- 
- 	* config/ia64/fde-glibc.c: Use "struct unw_table_entry"
- 	instead of "fde".
- 	(find_fde_for_dso): Extract DT_PLTGOT.
- 	(_Unwind_FindTableEntry): Rename from __ia64_find_fde; return
- 	the segment and gp as well.
- 	* config/ia64/frame-ia64.c: Remove file.
- 	* config/ia64/frame-ia64.h: Remove file.
- 	* config/ia64/unwind-ia64.c: New file.
- 	* config/ia64/unwind-ia64.h: New file.
- 	* config/ia64/ia64.h (ASM_OUTPUT_EH_CHAR): Remove.
- 	(ASM_OUTPUT_EH_SHORT, ASM_OUTPUT_EH_INT): Remove.
- 	(ASM_OUTPUT_EH_DOUBLE_INT): Remove.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): New.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
- 	(IA64_UNWIND_INFO): Re-enable.
- 	(HANDLER_SECTION): Remove.
- 	(EH_RETURN_DATA_REGNO): New.
- 	* config/ia64/ia64.md (exception_receiver): Remove.
- 	* config/ia64/t-glibc (LIB2ADDEH): Re-enable.
- 	* config/ia64/t-ia64 (LIB2ADDEH): Re-enable.
- 
- 2001-05-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (group_barrier_needed_p): Don't allow
- 	calls and jumps to be bundled together.
- 	(ia64_reorg): Emit a break after a noreturn call that ends
- 	a function.
- 	* config/ia64/ia64.md (break_f): New.
- 
- 2001-05-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (lex_charconst): Convert into a simple wrapper
- 	around cpp_interpret_charconst, to which most of the code
- 	body is moved.
- 	* cppexp.c (MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE,
- 	MAX_LONG_TYPE_SIZE, MAX_INT_TYPE_SIZE, MAX_CHAR_TYPE_MASK,
- 	MAX_WCHAR_TYPE_MASK, parse_escape, parse_charconst): Remove.
- 	(lex): Use cpp_interpret_charconst.
- 	* cpplex.c (parse_escape, read_ucs, cpp_interpret_charconst,
- 	hex_digit_value): New functions.
- 	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): New macros.
- 	* cpplib.h (cpp_interpret_charconst): New prototype.
- 	* Makefile.in: Update.
- 
- 2001-05-12  Dean Wakerley  <dean@wakerley.com>
- 
- 	* doc/install.texi: New file. Converted to texinfo from the HTML
- 	documentation in wwwdocs/htdocs/install.
- 
- Fri May 11 15:50:13 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gcse.c (insert_insn_end_bb): Do not search for assignments to
- 	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
- 
- 	* toplev.c (compile_file): Move comment for opening output
- 	file to just before the code that opens the output file.
- 
- 2001-05-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* regmove.c (regmove_optimize): Suppress the optimization for
- 	unchanging destination register.  Add comment above function.
- 
- 2001-05-11  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in: Exterminate all references to assert.h.
- 	* cross-make: Likewise.
- 	* assert.h: Delete.
- 	* configure.in: Correct commentary.
- 	* configure: Regenerate.
- 
- 	* libgcc-std.ver, libgcc2.c, libgcc2.h, sys-protos.h:
- 	Remove __eprintf.
- 
- 	* config/t-freebsd, config/t-linux, config/t-linux-aout,
- 	config/t-netbsd, config/t-rtems, config/x-linux,
- 	config/i386/t-beos, config/mcore/t-mcore, config/mcore/t-mcore-pe:
- 	No need to override INSTALL_ASSERT_H.
- 
- 	* fixinc/fixinc.dgux, fixinc/fixinc.interix, fixinc/fixinc.ptx,
- 	fixinc/fixinc.svr4, fixinc/fixinc.winnt, fixinc/fixinc.wrap,
- 	fixinc/fixincl.sh: Don't install assert.h into objdir/include.
- 
- 2001-05-11  Graham Stott  <grahams@redhat.com>
- 
- 	* combine.c (simplify_comparison): Fix typo.
- 
- 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* loop.h (struct movables): Remove `num'.
- 	* loop.c (scan_loop): Don't set it.  Use count_insns_in_loop.
- 	Adjust call to strength_reduce.
- 	(num_unmoved_movables): New function.
- 	(move_movables): Don't set movables->num.
- 	(strength_reduce): Compute the number of instructions in the loop
- 	here, rather than in the caller.
- 	(check_dbra_loop): Always clear reversible_mem_store if there
- 	are any memory sets.
- 	(loop_regs_scan): Don't count instructions here.
- 	(count_insn_in_loop): New function.
- 
- 2001-05-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* optabs.c (emit_libcall_block): Don't mark calls as CONST_CALL_P.
- 
- 2001-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (finish_label_expr): New function, lifted from
- 	from cp/semantics.c.
- 	* c-common.h (finish_label_expr, lookup_label): New prototypes.
- 	* c-parse.in: Move 3 blocks of parser code into new functions.
- 	* c-typeck.c (simple_asm_stmt, c_cast_expr): New functions.
- 	* c-tree.h (simple_asm_stmt, c_cast_expr): New prototypes.
- 	(lookup_label): Remove.
- 
- 2001-05-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/t-mn10300 (dp-bit.c, fp-bit.c): Don't define
- 	FLOAT_BIT_ORDER_MISMATCH.
- 
- 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expr.c (emit_push_insn): Convert PUSH_ROUNDING argument to
- 	bytes.  Reported by Kazu Hirata <kazu@hxi.com>.
- 
- 2001-05-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expr.c (emit_group_load): extract_bit_field requires a REG or
- 	MEM as an argument.
- 
- Thu May 10 14:45:44 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* cse.c (cse_insn): Mostly remove first hunk of code which collapsed
- 	a computed jump into an unconditional jump.
- 	In second hunk of code for collapsing computed and conditional jumps
- 	into unconditional jumps, reemit the jump in additional cases.
- 
- 	* jump.c (jump_optimize_1): Do not wrap the new jump target
- 	inside a LABEL_REF; gen_jump will do that automatically.
- 
- 2001-05-10  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* dwarf2out.c (mem_loc_descriptor): Do not pass constant pool
- 	contents for a SYMBOL_REF in case of floating point constants.
- 
- 2001-05-10  DJ Delorie  <dj@redhat.com>
- 
- 	* c-common.c (combine_strings): Widen strings in a
- 	host-endian-independent way.
- 
- 2001-05-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in: Remove many shift/reduce conflicts.  Update
- 	%expect values.
- 	(declspecs_nosc_nots_nosa_noea, declspecs_nosc_nots_nosa_ea,
- 	declspecs_nosc_nots_sa_noea, declspecs_nosc_nots_sa_ea,
- 	declspecs_nosc_ts_nosa_noea, declspecs_nosc_ts_nosa_ea,
- 	declspecs_nosc_ts_sa_noea, declspecs_nosc_ts_sa_ea,
- 	declspecs_sc_nots_nosa_noea, declspecs_sc_nots_nosa_ea,
- 	declspecs_sc_nots_sa_noea, declspecs_sc_nots_sa_ea,
- 	declspecs_sc_ts_nosa_noea, declspecs_sc_ts_nosa_ea,
- 	declspecs_sc_ts_sa_noea, declspecs_sc_ts_sa_ea, declspecs_ts,
- 	declspecs_nots, declspecs_ts_nosa, declspecs_nots_nosa,
- 	declspecs_nosc_ts, declspecs_nosc_nots, declspecs_nosc, declspecs,
- 	maybe_type_quals_setattrs, typespec_nonattr, typespec_attr,
- 	typespec_reserved_nonattr, typespec_reserved_attr,
- 	typespec_nonreserved_nonattr, maybe_setattrs, structsp_attr,
- 	structsp_nonattr, components_notype, component_notype_declarator,
- 	absdcl1_ea, absdcl1_noea, direct_absdcl1, absdcl_maybe_attribute,
- 	firstparm, setspecs_fp): New
- 	(typed_declspecs, reserved_declspecs, typed_typespecs,
- 	reserved_typespecquals, declmods, typespec, typespecqual_reserved,
- 	typed_declspecs_no_prefix_attr reserved_declspecs_no_prefix_attr
- 	declmods_no_prefix_attr, nonempty_type_quals, structsp,
- 	type_quals): Remove.  Users updated.
- 	(initdecls, notype_initdecls, after_type_declarator,
- 	parm_declarator, notype_declarator, absdcl1, components, ivars):
- 	Don't allow attributes at the start of a declarator; include them
- 	in the production containing the declarator instead.  Always
- 	require type specifiers before trying to redeclare a typedef name.
- 	(typename): Allow for attributes but warn that they are ignored.
- 	(parmlist, firstparm, setspecs_fp): Include attributes in
- 	parmlist; suck them off the parser stack in firstparm using
- 	setspecs_fp.
- 
- Thu May 10 09:17:42 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ifcvt.c (merge_if_block): Use any_uncondjump_p, not simplejump_p
- 	to determine if a block has an unconditional jump at its end.
- 
- 	* jump.c (jump_optimize_1): When converting a conditional jump
- 	to an unconditional jump, build the jump using gen_jump instead
- 	of just modify operands in-place.
- 
- 2001-05-09  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* cppinit.c (cpp_post_options): Shut off macro expansion if
- 	-fpreprocessed.
- 	* cpplib.c (_cpp_handle_directive): If -fpreprocessed, accept
- 	IN_I directives only if the # is in column 1 and the directive
- 	name begins in column 2.
- 	* cppmain.c (scan_buffer): Insert a space between # and an
- 	identifier, when that identifier is a directive name.
- 
- 	* tradcpp.c (struct file_buf): Add a pointer to the next entry
- 	in the header search path.
- 	(enum node_type): Add T_INCLUDE_NEXT.
- 	(directive_table): Add entry for include_next.
- 	(do_include_next): New function.
- 	(process_include): New routine, broken out of do_include.
- 	(finclude): Insert 'nhd' argument, to be copied into
- 	next_header_dir of the new buffer.
- 	(main): Adjust to match.
- 	* gsyslimits.h, limity.h: Un-indent #include_next.
- 
- 2001-05-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* objc.texi: Move from ../libobjc/objc-features.texi.  Adjust for
- 	inclusion as a chapter of the GCC manual.
- 	* gcc.texi: Include objc.texi.
- 	* fdl.texi: Use @unnumberedsec for the addendum.
- 	* Makefile.in ($(srcdir)/gcc.info, gcc.dvi): Update dependencies.
- 
- Wed May  9 16:01:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
- 
- Wed May  9 10:40:25 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
- 	handling of two-address insns.
- 
- Wed May  9 10:36:18 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (NM_FOR_TARGET): Look for ./nm, then
- 	../binutils/nm-new instead of ../binutils/nm.
- 
- Wed May  9 12:15:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movdi splitter): Fix the splitting condition
- 	(float_extenddftf splitter): Fix mode.
- 
- Wed May  9 12:05:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* genrecog.c (write_switch): Avoid outputting of switch for
- 	types wider than int.
- 
- 2001-05-03  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* reload1.c (copy_eh_notes): New function.
- 	(emit_input_reload_insns): Call it.
- 	(emit_output_reload_insns): Call it.
- 
- 2001-05-07  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc (i[34567]86-*-sco3.2v4*, i[34567]86-*-sco*):
- 	Delete stanzas.
- 	* config/i386/sco.h, config/i386/sco4.h, config/i386/scodbx.h,
- 	config/i386/sco4dbx.h, config/i386/x-sco4: Delete file.
- 
- 	* optabs.c: Delete #ifdef BROKEN_LDEXP block.
- 
- 2001-05-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (interspace_jump): Revise comment.
- 	(builtin_longjmp): Block initial setup insns from delay slot of
- 	interspace branch.
- 	(builtin_setjmp_receiver): New expander to save and restore PIC
- 	register.
- 
- 	* som.h (NM_FLAGS): Remove `-n' sort option.  Revise comment.
- 
- Mon May  7 09:30:14 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (compile_file): Set up the output file before we call
- 	the various initializers for the compiler.
- 
- 	* except.c (sjlj_mark_call_sites): Do not search for assignments to
- 	non-argumment registers that are mentioned in CALL_INSN_FUNCTION_USAGE.
- 
- 	* pa.h (MAX_LONG_TYPE_SIZE): Should be 32, not 64.
- 	* pa-64.h (*_TYPE_SIZE): Undefine before redefining.
- 
- 2001-05-06  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in (tradcpp0): Correct typo in dependency list.
- 
- 2001-05-06  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't save
- 	the link register if we're not going to use it.
- 
- 	* config/rs6000/rs6000.c (output_profile_hook): Fix a warning.
- 	(output_function_profiler): Likewise.
- 
- 2001-05-07  Alan Modra  <amodra@one.net.au>
- 
- 	* pa.c (compute_frame_size): 64-bit frame marker is 16 bytes.
- 
- 2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* unroll.c (loop_iterations): Don't sign-extend abs_diff;
- 	zero-extend it.  Make abs_inc unsigned.
- 
- 	* optabs.c (expand_binop): Sign-extend xop0 and xop1 from the
- 	widest mode in narrowing and widening operations.
- 
- 	* config/mips/mips.md: Sign extend CONST_INTs.
- 
- 2001-05-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
- 	(i386 Options): Document -momit-leaf-frame-pointer.
- 
- 2001-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-typeck.c (internal_build_compound_expr): Check for
- 	array to pointer conversion just once.
- 
- 2001-05-05  Richard Henderson  <rth@redhat.com>
- 
- 	* integrate.c (copy_insn_list): Substitute NOTE_EXPECTED_VALUE.
- 
- 2001-05-05  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (remove_fixup_regions): Adjust REG_EH_REGION notes
- 	to the parent of the fixup region.
- 
- 2001-05-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (cpp_options): Define __NO_INLINE__ unless we are honoring
- 	"inline" keyword.
- 	* cpp.texi (__NO_INLINE): Document it.
- 
- 2001-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (struct include_file): New member err_no.
- 	(find_or_create_entry): Set it.
- 	(open_file): Don't set fds to -2.  Instead, use err_no to
- 	remember previous errors, if any.
- 
- 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Optimize moves
- 	between X and Y by using sequences of xgdx and xgdy.
- 
- 2001-05-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*logicalsi3_silshr16"): Use '?' instead
- 	of '!' for the 'D' alternative ('!' is too strong).
- 	("*logicalsi3_silshl16"): Likewise.
- 	("movstricthi"): Accept 'A' when 'd' constraint, remove spurious '+'.
- 	("movstrictsi"): Remove spurious '+'.
- 	("movstrictqi"): Don't accept 'A' and remove spurious '+'.
- 	("tstqi_1", "*lshrqi3_const1"): Put 'm' constraint before 'd'.
- 	("subqi3"): Disparage with '!' the 'x' and 'y' registers to avoid
- 	a reload to them.
- 
- 2001-05-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* calls.c (store_one_arg): Don't divide align by BITS_PER_UNIT.
- 
- 2001-05-04  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Simplify ~a + 1
- 	into -a.
- 
- 2001-05-04  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.md (ashldi3 splits): Guard with
- 	TARGET_POWERPC64.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (lshrhi3_const1): Fix shift of
- 	soft register, use ror instead of rol.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Take
- 	into account pre/post increment decrement for 68HC12.
- 	Fix other problems in replacement and fix call to reg_mentioned_p.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/larith.asm (L_regs_frame): New for _.frame.
- 	Put the soft registers in bss for 68HC12.
- 	(L_regs_d3_4): New for _.d3 and _.d4.
- 	(L_regs_d5_6): Likewise.
- 	(L_regs_d1_2): Likewise.
- 	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Compile new parts.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__HAVE_SHORT_DOUBLE__
- 	to the pre-processor when -fshort-double is specified.
- 	* config/m68hc11/m68hc11.2 (CPP_SPEC): Likewise.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/larith.asm (divmodhi4): Empty for 68HC12.
- 	(__mulsi3): Rewrite for 68HC12.
- 	* config/m68hc11/m68hc11.md (divmodhi4): Use idivs for 68HC12.
- 	Mark 'x' constraint with earlyclobber to prevent a
- 	RELOAD_FOR_OTHER_ADDRESS to go in it.
- 	(mulhi3_m68hc12): New pattern.
- 	(mulhi3_m68hc11): Rename of mulhi3.
- 	(mulhi3): New expand for 68HC12 optimisation.
- 	(umulhisi3, mulhisi3): New patterns for 68HC12.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (*tbne, *tbeq): New patterns for 68HC12.
- 	(extendqisi2, extendqihi2, extendhisi2): Use sex for 68HC12.
- 	(uminqi3, umaxqi3, uminhi3, umaxhi3): New pattern for 68HC12.
- 
- 2001-05-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (CONST_COSTS): Make the cost of
- 	constants cheap after reload.
- 	* config/m68hc11/m68hc11.c (m68hc11_shift_cost): Shift by 16 and 32
- 	are cheap.
- 	(m68hc11_rtx_costs): Cost of multiplication by 65536 is expensive
- 	so that gcc prefers a shift by 16.
- 	(m6811_cost, m6812_cost): Make the shift cheap compared to an add.
- 
- 2001-05-04  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Define.
- 
- 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.h: NULL_PTR -> NULL.
- 	* arm.c: Likewise.
- 	* arm.h: Likewise.
- 	* avr.h: Likewise.
- 	* c4x.c: Likewise.
- 	* c4x.h: Likewise.
- 	* i386.c: Likewise.
- 	* i386.md: Likewise.
- 	* i860.c: Likewise.
- 	* ia64.c: Likewise.
- 	* m68hc11.h: Likewise.
- 	* rs6000.h: Likewise.
- 	* sh.c: Likewise.
- 	* sh.h: Likewise.
- 	* sparc.h: Likewise.
- 	* v850.c: Likewise.
- 
- 	* expr.c: Likewise.
- 	* final.c: Likewise.
- 	* gcc.c: Likewise.
- 	* recog.c: Likewise.
- 
- 2001-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386.c (ix86_emit_restore_regs_using_mov, ix86_save_reg): Change
- 	`bool' parameter to `int'.
- 
- 	* hash.c (hash_lookup): Likewise.
- 
- 	* hash.h (hash_lookup): Likewise.
- 
- 	* tlink.c (symbol_hash_lookup, demangled_hash_lookup): Likewise.
- 
- Fri May  4 13:10:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_initialize_trampoline): Fix mode of constant.
- 
- 2001-05-03  Geoff Keating  <geoffk@redhat.com>
- 
- 	* invoke.texi (i386 Options): Delete references to -malign-jumps,
- 	-malign-loops, -malign-functions.
- 	* i386.c (ix86_align_funcs): Delete.
- 	(ix86_align_loops): Delete.
- 	(ix86_align_jumps): Delete.
- 	(override_options): Mark -malign-* as obsolete.  Emulate their
- 	behavior with the -falign-* options.  Default -falign-* from
- 	the processor table.
- 	* i386.h (FUNCTION_BOUNDARY): Define to 16; revert Richard Kenner's
- 	patch of Wed May 2 13:09:36 2001.
- 	(LOOP_ALIGN): Delete.
- 	(LOOP_ALIGN_MAX_SKIP): Delete.
- 	(LABEL_ALIGN_AFTER_BARRIER): Delete.
- 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Delete.
- 
- 2001-05-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* except.h: Add prototype declaration for
- 	expand_builtin_init_dwarf_reg_sizes.
- 
- 2001-05-03  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* Makefile.in (site.exp): Set TESTING_IN_BUILD_TREE.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("bitcmpqi"): New pattern for bitb
- 	instruction.
- 	("bitcmpqi2"): New pattern for bit-extract and test.
- 	("bitcmphi"): New pattern for bitb/bita instructions.
- 
- 2001-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gccbug.in: Use a temporary directory when the mktemp command is
- 	not available.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (STATIC_CHAIN_REGNUM): Use soft z register
- 	instead of _.d1.
- 	(INITIALIZE_TRAMPOLINE): Call it.
- 	(TRAMPOLINE_SIZE): Define according to 68HC11/68HC12.
- 	(TRAMPOLINE_TEMPLATE): Remove.
- 	* config/m68hc11/m68hc11.c (m68hc11_initialize_trampoline): New.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_initialize_trampoline):
- 	Declare.
- 
- 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
- 	and crtendS.o with PIC.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
- 	negative numbers.
- 	(___subdi3, ___adddi3): Use x instead of y as index register.
- 	(__init_bss_section, __map_data_section): Optimize for 68HC12.
- 	(__memset, __memcpy): Likewise.
- 	(regs): Put the soft registers in bss for 68HC12.
- 	(abort): Use trap to abort for 68hc12.
- 	(__mulhi3, __mulhi32): Use emul for 68hc12.
- 	(__mulsi3): Avoid to use the tmp soft register for 68hc12.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
- 	* config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
- 	* config/m68hc11/m68hc11.c (limit_reload_class): Remove.
- 	(m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
- 	Set 68HC12 min offset to -65536.
- 	(print_operand): Put parenthesis arround the operand if it refers
- 	to a symbol having the same name as a register.
- 	(m68hc11_z_replacement): When z register is replaced by its
- 	equivalent soft register, force the insn to be re-recognized.
- 	(m68hc11_check_z_replacement): Fix the test when destination is
- 	the index register and z dies in the insn.
- 	(m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
- 	costs according to processor variant.
- 	(m68hc11_shift_cost): New function to compute shift costs.
- 	(m68hc11_rtx_costs): Define costs according to processor variant.
- 	(m6811_cost): Costs for 68HC11.
- 	(m6812_cost): Costs for 68HC12.
- 	(COSTS_N_INSNS): Remove.
- 
- 	* config/m68hc11/m68hc11.h (RTX_COSTS): New.
- 	(DEFAULT_RTX_COSTS): Remove.
- 	(CONST_COSTS): Define costs according to OUTER_CODE.
- 	(processor_costs): New struct to define costs.
- 	(m68hc11_cost): Pointer to current costs.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
- 	and use m68hc11_notice_keep_cc when using leax/leay.
- 	(addhi3 split): Reject split if the insn is handled by
- 	leax/leay above.
- 	* config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
- 	push must be handled in a special way if the source operand uses
- 	sp as index register.
- 	(m68hc11_notice_keep_cc): New function.
- 	(m68hc11_gen_movhi): Use it when an insn changes a register but
- 	not the flags.
- 	(m68hc11_gen_movqi): Fix move for 68HC12.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
- 	and don't pass operands[0] to emit_library_call_value.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
- 	(zero_extendsi split): Simplify and use (zero_extendhi).
- 	(*addhi3): Remove 'w' constraint since stack pointer is handled
- 	by (addhi3_sp).
- 	(*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
- 	(*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
- 	(*ashrhi3_const): Fix shift by 7.
- 	(*lshrsi3_const16): Fix template.
- 	(call, call_value): Fix constraint and predicate.
- 
- 2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
- 	(Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
- 	(CC_REGNUM): Likewise.
- 	(*unnamed splits): Use above constants instead of hard coded numbers.
- 	(*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
- 	(*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
- 	(*return_16bit, *unnamed peepholes): Likewise.
- 
- 2001-05-03  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
- 	rs6000/rs6000.h twice.
- 
- 2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
- 	(CPP_SPEC): Conditionally define MSDOS and GO32.
- 	(SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
- 	ignored.
- 	(SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
- 
- 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
- 
- 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* integrate.h (struct inline_remap): Add leaf_reg_map table.
- 	* integrate.c (expand_inline_function): Use xcalloc to allocate
- 	memory.
- 	(copy_rtx_and_substitute): Use the leaf_reg_map for leaf
- 	registers.
- 
- 2001-05-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
- 	if it is not set.
- 
- 2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
- 	linker if -mrelax is given.
- 	(TARGET_SWITCHES): Document -mrelax.
- 
- 	Re-installed 2001-01-09's patch:
- 	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
- 	if it's wider than long and the target's long is wider than the
- 	host's.
- 
- 2001-05-02  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
- 	directly include rs6000/rs6000.h.  Instead do it in tm.h.
- 
- 2001-05-02  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
- 	NSConstantString for NeXT-style runtimes.
- 	(STRING_OBJECT_GLOBAL_NAME): New macro.
- 	(enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
- 	OCTI_STRING_CLASS_DECL.
- 	(constant_string_global_id): New macro.
- 	(string_class_decl): Ditto.
- 	(setup_string_decl): New function.
- 	(build_objc_string_object): Use it to build a NeXT runtime
- 	compatible string initializer.
- 
- 2001-05-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tradcpp.c (do_define): Make sure we don't walk past limit.
- 
- 2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
- 	offsets if not REG_OK_STRICT.
- 
- 	* config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
- 	(INT_REG_OK_FOR_INDEX_P): Likewise.
- 	(INT_REG_OK_FOR_BASE_P): Likewise.
- 	(REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
- 	(REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
- 	(LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
- 	INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
- 	REG_OK_FOR_BASE_P. Take an additional parameter.
- 	(LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
- 	(LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
- 	(LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
- 	(GO_IF_LEGITIMATE_ADDRESS): Move code into new function
- 	rs6000_legitimate_address() and use it.
- 	* config/rs6000/rs6000.c: Update all callers.
- 	(rs6000_legitimate_address): New function.
- 
- 2001-05-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Merge
- 	special_constant conditional blocks together.
- 
- 2001-05-02  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
- 	parameter.
- 	(STRICT_ARGUMENT_NAMING): Define.
- 	* config/rs6000/rs6000.c (function_arg_advance, function_arg,
- 	function_arg_partial_nregs, setup_incoming_varargs): Remove
- 	args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
- 	is defined.
- 
- Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
- 
- 	* function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
- 	for replacement.
- 
- 	* expr.c (store_field): Do nothing except elaborate side-effects if
- 	zero-bit field.
- 
- 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c: NULL_PTR -> NULL.
- 	* cse.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genpeep.c: Likewise.
- 	* jump.c: Likewise.
- 	* mips-tdump.c: Likewise.
- 	* reload1.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* toplev.c: Likewise.
- 
- 2001-05-01  Per Bothner  <per@bothner.com>
- 
- 	* expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
- 	call do_pending_stack_adjust before emiting label.
- 
- 2001-05-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* extend.texi: Fix typo.
- 
- 2001-05-01  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
- 	of UOBJC_MODULES_decl.
- 	(generate_strings): Clear DECL_CONTEXT of new decl nodes.
- 	(generate_descriptor_table): Ditto.
- 	(generate_protocols): Ditto.
- 	(generate_protocol_list): Ditto.
- 	(generate_classref_translation_entry): Ditto.
- 
- 2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* invoke.texi (Optimize Options): Add documentation for `--param
- 	max-delay-slot-insn-search' and `--param
- 	max-delay-slot-live-search' and reorder --param section.
- 	* params.def: Modify initial comment.
- 	* params.h (param_info): Add `help' member.
- 	* toplev.c (lang_independent_params): Include `help' description.
- 	(display_help): Print --param parameters.
- 
- 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
- 	Remove references to deleted files.
- 	(*-*-openbsd): No need to override xmake_file.
- 	(*-*-sysv4): Treat like *-*-sysv.
- 
- 	* configure.in: Probe for ldopen in various places, and set up
- 	collect2 to be linked with them if found.
- 	Don't dink with Windows registry stuff unless $host_os is a
- 	Win32 os name.  Check to see if we need -ladvapi32.
- 	* configure: Regenerate.
- 
- 	* Makefile: Get rid of CLIB and HOST_CLIB.
- 	Substitute in COLLECT2_LIBS and link collect2 against its contents.
- 	* build-make: Get rid of HOST_CLIB.
- 
- 	* config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
- 	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
- 	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
- 	config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
- 	config/rs6000/x-rs6000: Delete.
- 
- 	* config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
- 	Don't set CLIB.
- 
- 	24 x-host fragments remain, 0 x-cpu, 3 top level.
- 
- 2001-05-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
- 	* configure: Regenerate.
- 
- 2001-05-01  Angela Marie Thomas <angela@cygnus.com>
- 
- 	* Makefile.in (install-headers): Remove redundant dependency.
- 
- 2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-tree.texi (USING_STMT): Document.
- 
- 2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* combine.c: Likewise.
- 	* rs6000.c: Likewise.
- 	* except.c: Likewise.
- 	* explow.c: Likewise.
- 	* expr.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcse.c: Likewise.
- 	* integrate.c: Likewise.
- 	* loop.c: Likewise.
- 	* objc/objc-act.c: Likewise.
- 	* recog.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload.c: Likewise.
- 	* reload1.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* stmt.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.def: New file.
- 	* diagnostic.h (diagnostic_t): New enum.
- 	* Makefile.in (diagnostic.o): Depend on diagnostic.def
- 
- 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* tsystem.h: Test only POSIX for availability of string.h
- 	and time.h.
- 	* config.gcc (all systems): If USG appeared in xm_defines,
- 	change it to POSIX.  If both USG and POSIX appeared, just
- 	delete USG. Remove unnecessary quotes around xm_defines
- 	settings.
- 	(m68k-crds-unos*): Don't #define unos - tested nowhere.
- 	(m68k-apple-aux*): Don't #define AUX - tested nowhere.
- 	(alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
- 	powerpc-*-linux*): No need to set xm_defines - handled by
- 	global settings for *-*-linux*.
- 
- 2001-04-30  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
- 	Always include gstab.h, not system stab.h.  Don't provide
- 	default definitions of N_CATCH or N_OPT.  Always use the
- 	gstab.h variant of STAB_CODE_TYPE.
- 	* final.c: Don't include stab.h/gstab.h at all, or provide
- 	defaults for N_SLINE and N_SOL.
- 
- 	* xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
- 	N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
- 	available.
- 	* sdbout.c: Always include gsyms.h instead of system syms.h.
- 
- 	* configure.in: No need to check for stab.h.
- 	* configure, config.in: Regenerate.
- 	* Makefile.in (final.o): Don't depend on gstab.h.
- 
- 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* extend.texi: Improve documentation of volatile asms.
- 
- 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-tree.texi: Fix thinko.
- 	* gcc.texi: Likewise.
- 
- 2001-04-30  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (c_promoting_integer_type_p): New function, from the
- 	corpse of old macro.  Properly promote too-small enumerations and
- 	booleans.  Adjust all callers.
- 	* c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
- 	(c_promoting_integer_type_p): Declare.
- 	* c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
- 	* c-typeck.c: Likewise.
- 	(default_conversion): Remove now redundant boolean check.
- 
- 2001-04-30  Jan Hubicka  <jh@suse.cz>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* regmove.c (try_apply_stack_adjustment): Remove now redundant
- 	sanity checks.
- 	(combine_stack_adjustments_for_block): Don't combine stack
- 	allocation followed by deallocations.  Handle grow-up stacks.
- 
- 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fdl.texi: New file.
- 	* c-tree.texi: Use the GFDL.
- 	* gcc.texi: Likewise.
- 
- 2001-04-30  Stan Shebs  <shebs@apple.com>
- 
- 	* invoke.texi: Add a section documenting Objective-C options.
- 
- 2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* emit-rtl.c (try_split):  Copy EH notes to sequence.
- 
- 2001-04-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* regmove.c (record_stack_memrefs): Catch all references to the
- 	stack pointer.
- 
- 2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
- 
- 	* Makefile.in (stmp-fixinc): quote shell assignment values
- 
- 2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
- 
- 	* gcc.c: Likewise.
- 
- 	* prefix.c: Likewise.
- 
- 2001-04-28  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (handle_class_ref): Rewrite to flush target
- 	specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
- 	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
- 	* tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
- 
- 	* config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
- 	(NEXT_OBJC_RUNTIME): Define.
- 
- Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtl.h (simplify_gen_relational): Add cmp_mode parameter.
- 	* simplify-rtx.c (simplify_gen_relational): Likewise.
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
- 
- 	* i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
- 	* i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
- 
- 	* i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
- 	registers in SSE case; fix handling of the immediates.
- 	(negsf2_ifs, abssf2_ifs): Tweak constraints; require
- 	operands to be in regsiters before reload.
- 	(negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
- 	(negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
- 	(abstf,absxf,negtf,negxf splitters): Compute
- 	properly the regnum for x86_64.
- 	(avsdf2_if_rex64): New.
- 
- Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
- 	and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
- 	into the constant pool.
- 	* jump.c (jump_optimize_1): Remove barrier successors after all
- 	the LABEL_NUSES counds have been computed.
- 	(delete_barrier_successors): When deleting a tablejump insn, also
- 	delete the jump table it uses.
- 	* varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
- 	label into memory.
- 
- 2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
- 
- 	* pa.c (FRP): Remove erroneous white space in macro definition.
- 
- 2001-04-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* invoke.texi: Use XX-bit instead of XXbit or XX bit where
- 	appropriate.
- 	* extend.texi: Likewise.
- 	* tm.texi: Likewise.
- 
- 2001-04-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* md.texi: Use XX-bit instead of XXbit or XX bit where
- 	appropriate.
- 
- 2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
- 
- 	* gcc.c (process_command): Allow -l lib in addition to -llib
- 	for POSIX compliance. This fixes PR c/2347.
- 
- 	* invoke.texi: Update section on Link Options accordingly.
- 
- 2001-04-27  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* function.c (purge_addressof_1): Remove the duplicate
- 	if (code == SET) block.  Fold the two if (code == ADDRESSOF)
- 	blocks together.
- 
- 2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* except.c (expand_eh_region_start): Don't start a new block.
- 	(expand_eh_region_end): Don't end a block.
- 	* stmt.c (expand_end_bindings): Don't end EH blocks.
- 	(expand_decl_cleanup): Starting an EH region won't change the block.
- 	(mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
- 	(is_eh_region): Lose.
- 	* tree.h: Adjust.
- 
- 2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
- 
- 	* collect2.c (main): Add `-L' case to remove duplicate entries.
- 	(is_in_args): New function to check for a duplicate argument.
- 	* defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
- 	* tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
- 	* config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
- 	Define to be nonzero.
- 
- 2001-04-27  Andreas Jaeger  <aj@suse.de>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* md.texi (Machine Constraints): Document additional i386
- 	constraints and fix description of "A".
- 
- Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* tm.texi (TARGET_MEM_FUNCTIONS): Update text.
- 
- 2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* except.c (get_exception_filter): word_mode, not Pmode.
- 
- 2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
- 	common to other movsf patterns.  Move up so that in future
- 	people who change the other patterns will change it too.
- 	(movsf_lo_sum): Allow even for soft-float; add appropriate
- 	constraints.
- 	(movsf_high): Likewise.
- 	(movsf_high+1): Allow even for soft-float.
- 
- 	* function.c (expand_function_end): Always clobber the
- 	return registers, even if there is no return label.
- 
- Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
- 
- Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
- 	(pushqi2_rex64, pushhi2_rex64): Add.
- 
- 2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* except.c (expand_eh_region_end_cleanup): Force pending stack
- 	adjust before emitting label that branches around cleanup code.
- 
- 2001-04-26  H.J. Lu  (hjl@gnu.org)
- 
- 	* config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
- 
- 	* config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
- 	define.
- 	* config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
- 	(ASM_OUTPUT_SECTION_NAME): Likewise.
- 	(ASM_WEAKEN_LABEL): Likewise.
- 	(UNIQUE_SECTION): Likewise.
- 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
- 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
- 	* config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
- 	(ASM_OUTPUT_SECTION_NAME): Likewise.
- 	(ASM_WEAKEN_LABEL): Likewise.
- 	(UNIQUE_SECTION): Likewise.
- 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
- 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
- 	* config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
- 	(ASM_FILE_START): Likewise.
- 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	(ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(ASM_FILE_END): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	(ASM_OUTPUT_CASE_LABEL): Likewise.
- 	(ASM_OUTPUT_SKIP): Likewise.
- 	(ASM_OUTPUT_ASCII): Likewise.
- 	(ASM_OUTPUT_IDENT): Likewise.
- 	(READONLY_DATA_SECTION): Likewise.
- 	(EXTRA_SECTIONS): Likewise.
- 	(EXTRA_SECTION_FUNCTIONS): Likewise.
- 	(SELECT_RTX_SECTION): Likewise.
- 	(SELECT_SECTION): Likewise.
- 
- 	* config/mips/linux.h (INVOKE__main): Undefine.
- 	(CTOR_LIST_BEGIN): Likewise.
- 	(CTOR_LIST_END): Likewise.
- 	(DTOR_LIST_BEGIN): Likewise.
- 	(DTOR_LIST_END): Likewise.
- 	(SET_ASM_OP): Defined it to ".dummy".
- 	(ASM_OUTPUT_DEF): Defined.
- 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
- 
- 2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
- 	assembler supports .p2align.
- 
- 2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
- 
- 	* c-lex.c (c_lex): Remove # from %o diagnostic formatting.
- 
- 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* integrate.c (expand_inline_function): Check for error_mark_node
- 	in actual argument.
- 
- 2001-04-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
- 	-m386 and -m486.
- 
- 2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (configargs.h): Define thread_model.
- 	* configure: Rebuilt.
- 	* gcc.c (main): Print it with -v.
- 
- 2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Document -Wmissing-braces, -dumpspecs,
- 	-dumpmachine, -dumpversion, -fmem-report and -ftime-report.
- 	* gcc.1: Regenerate.
- 
- 2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
- 	is_redundant_typedef): Use static inline instead of inline static.
- 
- Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
- 	this directory is always searched.
- 
- 2001-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_epilogue): Properly compute size
- 	of registers to restore along non eh_return path.
- 
- 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-format.c (check_format_info_recurse): Handle
- 	PLUS_EXPR for format string.
- 
- 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.h (CC1_SPEC): Define.
- 	* config/ia64/linux.h (CC1_SPEC): Define.
- 
- Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* emit-rtl.c (constant_subword): Also do sign extension in
- 	BITS_PER_WORD == 16 case.
- 
- 2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* loop.c (try_swap_copy_prop): Go back to checking insn.
- 
- 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
- 	if check_mode is nonzero.
- 
- 2001-04-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_int_movcc): If overlap between
- 	out and comparison sequence has been detected, put result into
- 	proper temporary pseudo.
- 
- 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
- 	* libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
- 	* libgcc2.c: Remove __dummy and __builtin_saveregs.
- 	* libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
- 	* config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
- 	for future reference.
- 
- 2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* except.c (reachable_handlers): Step out one level from a RESX.
- 
- 	* except.c (struct eh_region): Rename 'last' to 'resume'.
- 	(mark_eh_region, duplicate_eh_region_1): Adjust.
- 	(expand_eh_region_end_cleanup): Remember the jump, not the barrier.
- 	(build_post_landing_pads): Likewise.
- 	(expand_end_catch, expand_eh_region_end_allowed): Don't set it.
- 	(expand_eh_region_end_must_not_throw): Likewise.
- 	(connect_post_landing_pads): Thread (only) regions with non-deleted
- 	resume insns.
- 
- 	* except.c (expand_eh_region_end_cleanup): Save the EH return data
- 	registers around the cleanup.
- 	(get_exception_filter): New fn.
- 	(finish_eh_generation): Use it.
- 
- 2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
- 
- 	* c-semantics.c (add_scope_stmt): Don't call
- 	current_scope_stmt_stack multiple times.
- 
- 2001-04-24  Zack Weinberg  <zackw@stanford.edu>
- 	    Nathan Sidwell <nathan@codesourcery.com>
- 
- 	Lazy __FUNCTION__ generation.
- 	* c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
- 	RID_C99_FUNCTION_NAME): New _RIDs.
- 	(CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
- 	(CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
- 	CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
- 	global tree slots.
- 	(function_id_node, pretty_function_id_node, func_id_node): Remove.
- 	(c99_function_name_decl_node, function_name_decl_node,
- 	pretty_function_name_decl_node, saved_function_name_decls):
- 	Declare.
- 	(struct language_function): Remove x_function_name_declared_p.
- 	(make_fname_decl): Remove a parameter.
- 	(declare_function_names): Remove prototype.
- 	(start_fname_decls, finish_fname_decls): Prototype.
- 	(fname_as_string): Likewise.
- 	(fname_string, fname_decl): Likewise.
- 	* c-common.c (make_fname_decl): Adjust.
- 	(struct fname_var_t): New struct.
- 	(fname_vars): New static array.
- 	(declare_function_name): Remove.
- 	(start_fname_decls, finish_fname_decls): New functions.
- 	(fname_as_string): New function from remnants of
- 	declare_function_name.
- 	(fname_string, fname_decl): New functions.
- 
- 	* c-decl.c (c_function_name_declared_p): Remove.
- 	(init_decl_processing): Don't generate __FUNCTION__ et al ids,
- 	don't call declare_function_name. Call start_fname_decls.
- 	(c_make_fname_decl): Adjust parameters. Generate the name. Don't
- 	clobber the line number. Call finish_decl.
- 	(start_function): Call start_fname_decls.
- 	(finish_function): Call finish_fname_decls.
- 	Remove c_function_name_declared_p.
- 	(push_c_function_context): Don't push c_function_name_declared_p.
- 	(pop_c_function_context): Don't pop c_function_name_declared_p.
- 	(c_begin_compound_stmt): Don't check c_function_name_declared_p.
- 	* c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
- 	(program): Call finish_fname_decls for C.
- 	(primary): Add VAR_FUNC_NAME.
- 	(reswords): Add slots for __FUNCTION__ et al.
- 	(rid_to_yy): Add mappings for __FUNCTION__ et al.
- 	(yylexname): If it's a STRING_FUNC_NAME generate the function name
- 	now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
- 	* c-semantics.c (prune_unused_decls): Remove.
- 	(finish_stmt_tree): Don't call prune_unused_decls.
- 	(genrtl_decl_stmt): Don't prune unused decls here.
- 
- 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
- 	constant pool, use the pool's SYMBOL_REF instead.
- 
- 	* config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the
- 	v850e.
- 
- 2001-04-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-convert.c (convert): When converting to a BOOLEAN_TYPE, avoid
- 	passing nested NOP_EXPRs to fold.
- 
- Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (emit_swap_insn): Do not get pass CALL_INSNs.
- 
- 2001-04-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* loop.c (loop_delete_insns): Add prototype.
- 
- 2001-04-23  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* configure.in:  Remove ENABLE_STD_NAMESPACE.
- 	* config.in:  Regenerated.
- 	* configure:  Regenerated.
- 
- 2001-04-22  Stan Shebs  <shebs@apple.com>
- 
- 	* config.gcc (powerpc-*-darwin*): Move the flag in xm-darwin.h
- 	into xm_defines.
- 	* config/rs6000/xm-darwin.h: Remove file.
- 
- 2001-04-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (main): Use concat in lieu of xmalloc/sprintf.
- 	(write_c_file_stat): Likewise.
- 
- 	* dbxout.c (dbxout_init): Likewise.
- 
- 	* profile.c (output_func_start_profiler): Likewise.
- 
- 2001-04-22  Philipp Thomas  <pthomas@suse.de>
- 
- 	* ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
- 	require it instead of the CVS version.
- 	* cpperror.c (v_message): Put a blank before the macro
- 	body to not confuse exgettext.
- 
- 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* flow.c (proagate_one_insn): Remove useless assignment.
- 	* jump.c (delete_insn): Tidy.
- 	* loop.c (try_copy_prop): When deleting an instruction with a
- 	REG_RETVAL note, delete the entire libcall sequence.
- 	(loop_delete_insns): New function.
- 	* unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
- 	we're not substituting into them yet.
- 
- 2001-04-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (general_operand_src): Fix a comment typo.
- 
- 	* config/sparc/sparc.c (sparc_flat_eligible_for_epilogue_delay):
- 	Fix a comment typo.
- 	* config/i960/i960.c (signed_arith_operand): Likewise.
- 
- 	* calls.c (expand_call): Fix a comment typo.
- 
- 2001-04-20  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* configure.in: Probe for times, clock, struct tms, and clock_t.
- 	* configure, config.in: Regenerate.
- 	* timevar.c: Replace ifdef forest in get_time with (relatively)
- 	straightforward series of checks based on autoconf's probes.
- 
- Fri Apr 20 12:24:50 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/som.h (NM_FLAGS): Define.
- 
- 2001-04-20  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* ia64.h (MD_SCHED_REORDER, MD_SCHED_REORDER2): Pass CLOCK to called
- 	function.
- 	* ia64-protos.h (ia64_sched_reorder): Additional arg for clock.
- 	* ia64.c (nop_cycles_until): New function.
- 	(prev_cycle, prev_first, last_issued): New static variables.
- 	(ia64_sched_reorder): Additional arg for clock.
- 	On final scheduling pass, emit extra NOPs as needed.
- 	Set prev_first and prev_cycle.
- 	(ia64_sched_reorder2): Pass clock arg down to ia64_sched_reorder.
- 	(ia64_variable_issue): Set last_issued.
- 
- 2001-04-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_int_movcc,
- 	ix86_expand_strlensi_unroll_1): Sign-extend CONST_INTs.
- 
- 2001-04-20  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (ctrsi_internal1, ctrsi_internal2,
- 	ctrsi_internal3, ctrsi_internal4, ctrsi_internal5,
- 	ctrsi_internal6, ctrdi_internal1, ctrdi_internal2,
- 	ctrdi_internal3, ctrdi_internal4, ctrdi_internal5,
- 	ctrdi_internal6): In the short-branch case, this insn is only 4
- 	bytes long.  Reported by Reza Yazdani <reza@apple.com>.
- 
- 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* reg-stack.c (check_asm_stack_operands): Issue error if "=t" resp.
- 	"=u" is used together with "st" resp. "st(1)" clobber.
- 
- 2001-04-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcse.c (gcse_main): Fix comment typo.
- 	(delete_null_pointer_check): Likewise.
- 	(hash_scan_set): Don't consider sets with REG_EQUIV MEM notes.
- 	* cse.c (cse_insn): Likewise.
- 	* function.c (fixup_var_refs_insns_with_hash): The sequence is
- 	toplevel.
- 
- 2001-04-19  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* toplev.c: Excise all code for the undocumented -dm option.
- 	(float_signal): Call signal just once, unconditionally.
- 
- 2001-04-19  Geoff Keating  <geoffk@redhat.com>
- 
- 	* fold-const.c (fold): Use first_rtl_op rather than
- 	TREE_CODE_LENGTH when looping over parameters of a tree.
- 	Correct strange grouping in test for evaluated SAVE_EXPR.
- 
- Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/pa-linux.h (CPLUSPLUS_CPP_SPEC): Undefine.
- 	* config/pa/pa.h (CPLUSPLuS_CPP_SPEC): Define.
- 
- 	* config/pa/som.h (ASM_OUTPUT_FUNCTION_PREFIX): Truncate subspace
- 	name at 32 total characters.
- 	(ASM_OUTPUT_SECTION_NAME): Similarly.  Also, only support placing
- 	functions in named sections -- data items can still go into unique
- 	sections, but they have normal names (ie $LIT$ and $DATA$).
- 
- 	* config/pa/som.h (SUPPORTS_INIT_PRIORITY): SOM does not support
- 	INIT_PRIORITY.
- 
- 2001-04-19 DJ Delorie  <dj@redhat.com>
- 
- 	* config/alpha/vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
- 	to TARGET_OBJECT_SUFFIX and TARGET_EXECUTABLE_SUFFIX.
- 	* config/i386/cygwin.h: Likewise.
- 	* config/i386/mingw32.h: Likewise.
- 	* config/vax/vms.h: Likewise.
- 	* config/i386/djgpp.h: Remove NO_AUTO_EXE_SUFFIX.
- 
- 	* config/alpha/xm-vms.h: Change OBJECT_SUFFIX and EXECUTABLE_SUFFIX
- 	to HOST_OBJECT_SUFFIX and HOST_EXECUTABLE_SUFFIX.
- 	* config/i386/xm-cygwin.h: Likewise.
- 	* config/i386/xm-djgpp.h: Likewise.
- 	* config/i386/xm-mingw32.h: Likewise.
- 	* config/vax/xm-vms.h: Likewise.
- 
- 	* mkdeps.c (deps_add_default_target): Use TARGET_OBJECT_SUFFIX
- 	instead of OBJECT_SUFFIX.
- 	* collect2.c (find_a_file): Look for files matching the extension
- 	HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
- 	* gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
- 	TARGET_EXECUTABLE_SUFFIX.
- 	(find_a_file): Use HOST_EXECUTABLE_SUFFIX.
- 	(make_relative_prefix): Likewise.
- 	(convert_filename): Use TARGET_ suffixes throughout.  Remove
- 	NO_AUTO_EXE_SUFFIX.
- 	(process_command): Likewise.
- 	(do_spec_1): Likewise.
- 	* java/lang.c (init_parse): Likewise.
- 
- 	* gcc.texi : Document four new options matching the pattern
- 	(HOST|TARGET)_(OBJECT|EXECUTABLE)_SUFFIX.  Remove documentation
- 	for deleted macros OBJECT_SUFFIX and EXECUTABLE_SUFFIX.  Remove
- 	documentation for NO_AUTO_EXE_SUFFIX.
- 
- 2001-04-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* toplev.h (struct lang_hooks): Allow decode_option to indicate
- 	that language-independent processing should not be done.
- 	* toplev.c (main): Adjust accordingly.
- 
- 	* rtl.texi (jump_insn): Expand on JUMP_LABEL documentation.
- 	* loop.c (load_mems): Handle a NULL JUMP_LABEL for a JUMP_INSN.
- 
- 	* mips.md (reload_outputdi): Require that operand0 be a
- 	general_operand.
- 
- 2001-04-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* invoke.texi (-Wshadow): Clarify.
- 
- 2001-04-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* loop.c (load_mems): Examine all the instructions in the loop
- 	before concluding that all jumps branch to the first instruction
- 	after the loop.
- 
- Wed Apr 18 20:32:03 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/xm-cygwin.h (CPP_SPEC): Fix typo.
- 
- 2001-04-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpp.texi (-Wwhite-space): Remove.
- 	(-Wall): -Wall does not imply -Wwhite-space.
- 
- 2001-04-17  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* dbxout.c (dbxout_init): If DBX_OUTPUT_GCC_MARKER is defined,
- 	use it instead of blindly generating a .stabs.
- 	* xcoffout.h: Define DBX_OUTPUT_GCC_MARKER so we put the type
- 	in the right place.
- 	* xcoffout.c: Don't bother defining default for N_CATCH.
- 	(UNKNOWN_STAB): Use internal_error.
- 	(stab_to_sclass): Remove now-unnecessary aborts.
- 	Remove #if 0'ed case N_BROWS.  Add #ifdef N_OPT block.
- 
- Tue Apr 17 21:41:11 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* jump.c (mark_all_labels): Canonicalize the tail recursion
- 	label attached to CALL_PLACEHOLDER insns.
- 
- 2001-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (dump_flow_info, free_basic_block_vars,
- 	which_alternative): Delete redundant prototypes.
- 
- 	* rtl.h (bss_section): Likewise.
- 
- 2001-04-17  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* dbxout.c (N_OPT): Define if not available from <stab.h>
- 
- 2001-04-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.h (PROMOTE_PROTOTYPES): Define for compatibility with system
- 	libraries and native K&R compilers.
- 
- 2001-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-typeck.c (convert_arguments): Don't check for width changes
- 	with -Wtraditional.
- 
- 	* invoke.texi (-Wtraditional): Update documentation.
- 
- 2001-04-16  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* toplev.c (output_lang_identify): Delete.
- 	(compile_file): Don't call ASM_IDENTIFY_GCC or ASM_IDENTIFY_LANGUAGE.
- 	Don't generate gcc2_compiled. label.  Don't emit a nop if profiling.
- 	If IDENT_ASM_OP is defined, emit an .ident "GCC (GNU) <version>"
- 	after calling ASM_FILE_END.
- 
- 	* dbxout.c (dbxout_init): Don't call ASM_IDENTIFY_GCC_AFTER_SOURCE.
- 	Instead, unconditionally emit an N_OPT stab with string equal
- 	to STABS_GCC_MARKER, which defaults to "gcc2_compiled."
- 
- 	* defaults.h: Don't provide default for ASM_IDENTIFY_LANGUAGE.
- 
- 	* config/dbxelf.h, config/freebsd.h, config/nextstep.h,
- 	config/psos.h, config/ptx4.h, config/1750a/1750a.h,
- 	config/alpha/alpha.h, config/alpha/elf.h, config/arc/arc.h,
- 	config/arm/aof.h, config/arm/coff.h, config/arm/elf.h,
- 	config/arm/linux-elf.h, config/avr/avr.h, config/d30v/d30v.h,
- 	config/dsp16xx/dsp16xx.h, config/h8300/h8300.h,
- 	config/i370/i370.h, config/i386/beos-elf.h,
- 	config/i386/osf1elf.h, config/i386/osfrose.h,
- 	config/ia64/sysv4.h, config/m68k/3b1.h, config/m68k/auxgas.h,
- 	config/m68k/crds.h, config/m68k/hp320.h, config/m68k/m68kv4.h,
- 	config/m68k/mot3300.h, config/m68k/news.h, config/m68k/sgs.h,
- 	config/m68k/tower-as.h, config/mcore/mcore-elf.h,
- 	config/mips/iris6.h, config/mips/osfrose.h,
- 	config/mips/sni-svr4.h, config/pa/som.h, config/pdp11/pdp11.h,
- 	config/sparc/sp64-elf.h:
- 	Delete definitions of any or all of: ASM_IDENTIFY_GCC,
- 	ASM_IDENTIFY_GCC_AFTER_SOURCE, and ASM_IDENTIFY_LANGUAGE.
- 
- 	* config/elfos.h, config/freebsd.h, config/linux.h,
- 	config/alpha/elf.h, config/arm/linux-elf.h, config/i386/i386elf.h,
- 	config/i386/ptx4-i.h, config/mips/gnu.h, config/mips/linux.h,
- 	config/sparc/linux.h, config/sparc/linux64.h: Delete definitions
- 	of ASM_FILE_START which merely emit a .version directive.  Delete
- 	definitions of ASM_FILE_END which merely emit an .ident directive.
- 
- 	* config/avr/avr.h, config/vax/vax.h: Delete definition of
- 	ASM_IDENTIFY_GCC and move part of its logic into
- 	ASM_FILE_START.
- 
- 	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h,
- 	config/sparc/linux-aout.h: Don't emit .version directive in
- 	ASM_FILE_START.
- 
- 	* config/i386/dgux.c, config/m88k/m88k.c, config/sh/sh.c
- 	(output_file_start): Correct comment.
- 
- 	* config/i386/osfrose.h: Don't emit trailing .ident directive.
- 	* config/m68k/mot3300.h: Override STABS_GCC_MARKER to "gcc2_compiled%"
- 	to match gdb.
- 	* config/pa/lib2funcs.asm: Delete gcc_compiled. label.
- 	* config/rs6000/aix.h: Correct comment.
- 
- 	* config/i386/i386afe.h: Delete.
- 	* config.gcc: Remove references to i386afe.h.
- 
- 	* tm.texi: Delete documentation of ASM_IDENTIFY_GCC.  The
- 	other macros deleted by this patch were undocumented.
- 
- Mon Apr 16 08:03:48 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (reload_outdi): Operand 0 must be a non hard register.
- 
- 	* pa.c (secondary_reload_class): SAR<->FP copies require a
- 	secondary register.
- 
- 	* install.texi (mips-mips-bsd): Update list of functions
- 	required to include memmove.
- 	* tm.texi (TARGET_MEM_FUNCTIONS): Update list of implicitly
- 	used functions to include memmove.
- 
- 2001-04-15  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* i386.md (sqrtdf2): SFmode should be DFmode.
- 
- 2001-04-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcse.c (compute_ld_motion_mems): ASM outputs aren't moveable.
- 	(find_moveable_store): Likewise.
- 
- 2001-04-15  Jim Wilson  <wilson@redhat.com>
- 
- 	* function.c (expand_function_end): Handle PARALLEL real_decl_rtl.
- 
- Sat Apr 14 16:24:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (ashldi3_1_rex64): Add 'J' to the constraints
- 	(ashrdi3_1_rex64): Change 'n' constraint to 'J'.
- 
- 2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.md (cmpsi): Tell reload to disregard the
- 	first alternative.
- 
- 2001-04-14  Alan Modra  <amodra@one.net.au>
- 
- 	* pa.c (force_mode): New function.
- 	(emit_move_sequence): Use it instead of generating new rtx_REGs.
- 
- 2001-04-13  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_epilogue): Emit alloc if sibcall_p.
- 	(first_instruction): New static variable.
- 	(rtx_needs_barrier): Return 1 for alloc.
- 	(init_insn_group_barriers): Set first_instruction.
- 	(rws_sum): Delete duplicate definition.
- 	(group_barrier_needed_p): Return 0 when first_instruction true.
- 	(safe_group_barrier_needed_p): Save and restore first_instruction
- 	around group_barrier_needed_p call.
- 
- Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* expr.h (enum libfunc_index): Add LTI_memmove.
- 	(memmove_libfunc): Define macro.
- 	* optabs.c (init_optabs): Initialize memmove_libfunc.
- 	* expr.c (expand_assignment): Use memmove_libfunc instead of
- 	memcpy_libfunc.
- 
- 2001-04-13  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Disallow PIC LO_SUM
- 	fp mode addresses.
- 
- 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (reg-stack.o): Depend on reload.h.
- 	(insn-attrtab.o): Depend on flags.h.
- 
- 	* genattrtab (main): Include flags.h in insn-attrtab.c.
- 
- 	* reg-stack.c: Include reload.h.
- 
- 	* sparc.h (flag_pic): Delete redundant declaration.
- 
- 	* output.h (flag_pic): Likewise.
- 
- 	* tree.h (pedantic): Likewise.
- 
- 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o, jump.o, regmove.o): Depend on reload.h
- 
- 	* jump.c, regmove.c, toplev.c: Include reload.h.
- 
- 	* reload.h (reload_cse_regs): Declare.
- 
- 	* rtl.h (find_equiv_reg, operands_match_p, safe_from_earlyclobber,
- 	reload_cse_regs, init_reload, mark_home_live, reload,
- 	init_caller_save): Delete redundant prototypes.
- 
- 2001-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (ssa.o, regclass.o): Depend on $(EXPR_H).
- 
- 	* regclass.c, ssa.c: Include expr.h.
- 
- 	* rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
- 	gen_move_insn): Delete redundant declarations.
- 
- 2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
- 	(stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
- 	MAKEINFO and MAKEINFOFLAGS too.
- 	(stage4_build): Correctly order -B flags.
- 
- 2001-04-13  Alan Modra  <amodra@one.net.au>
- 
- 	* pa.c (hppa_init_pic_save): Set rtx_unchanging for
- 	PIC_OFFSET_TABLE_SAVE_RTX.
- 	(zdepi_cint_p): Describe zdepi insn.
- 	Formatting and white space fixes throughout file.
- 
- 	* pa.c (uint32_operand): Don't use long constant >= 2^32.
- 	(emit_move_sequence): Use HOST_WIDE_INT constants.  Don't worry
- 	about 32->64 bit sign extension if 32 bit HOST_WIDE_INTs.
- 	(compute_movstrsi_length): Make `align' unsigned to avoid warning.
- 	(output_64bit_and): Use plain `int's for shift counts.
- 	(output_64bit_ior): Likewise.
- 	(function_arg_partial_nregs): Use unsigned vars to avoid warnings.
- 	* pa.h (CONST_OK_FOR_LETTER_P): Use HOST_WIDE_INT constants for case
- 	`N', and simplify.
- 
- 	* pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
- 	* pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
- 	* pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
- 	NEW_HP_ASSEMBLER into one.  Kill warnings.
- 
- 	* pa-gas.h: Delete file.
- 	* config.gcc: Match `parisc' as well as `hppa' for cpu_type=pa.
- 	Add new targets hppa*64*-*-linux* and parisc*64*-*-linux*.  Update
- 	hppa*-*-linux*.  For all pa targets, remove pa/gas.h from tm_file,
- 	instead setting MASK_GAS | MASK_JUMP_IN_DELAY in target_cpu_default2.
- 
- 	* config/pa/mill32.S: New file.
- 	* config/pa/mill64.S: New file.
- 	* config/pa/t-linux (LIBGCC1, CROSS_LIBGCC1, LIB1ASMFUNCS,
- 	LIB1ASMSRC, CRTSTUFF_T_CFLAGS_S, TARGET_LIBGCC2_CFLAGS): Define.
- 	* config/pa/t-linux64: New file.
- 	* config/pa/t-pa64 (CROSS_LIBGCC1): Change to libgcc1-asm.a
- 	(LIB1ASMFUNCS, LIB1ASMSRC): Define.
- 	(TARGET_LIBGCC2_CFLAGS): Add -Dpa64=1 -DELF=1.
- 
- 	* elfos.h (SELECT_SECTION): Undef before defining.
- 	* pa-linux.h (LINUX_DEFAULT_ELF, PTRDIFF_TYPE, CPP_SPEC): Remove.
- 	(LIB_SPEC): Remove -lmilli.
- 	(DBX_REGISTER_NUMBER): Remove.
- 	(PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
- 	(DWARF2_UNWIND_INFO, ASM_SPEC, LINK_SPEC, FUNCTION_OK_FOR_SIBCALL,
- 	NO_PROFILE_COUNTERS, SELECT_RTX_SECTION, INCOMING_RETURN_ADDR_RTX,
- 	DWARF_FRAME_RETURN_COLUMN, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_FILE_START,
- 	ASM_OUTPUT_DEF, ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
- 	ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL, ASM_DECLARE_FUNCTION_NAME,
- 	TARGET_GAS): Define.
- 	* pa.c (output_arg_descriptor): Disable for TARGET_ELF32.
- 	(function_arg): If TARGET_ELF32, pass fp args in both general and fp
- 	regs if we don't have a prototype.
- 	* pa.md (canonicalize_funcptr_for_compare): Not for TARGET_ELF32.
- 	* pa.h (TARGET_ELF32): Default to 0 if undefined.
- 	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX,
- 	EH_RETURN_HANDLER_RTX): Define.
- 	* pa32-regs.h (DBX_REGISTER_NUMBER): Remove unnecessary test.
- 	(DWARF_FRAME_REGNUM): Define.
- 	* pa64-regs.h (DWARF_FRAME_REGNUM): Define.
- 	* pa32-linux.h: New file.
- 	* pa64-linux.h: New file.
- 
- 	* pa-64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
- 	(ASM_OUTPUT_DOUBLE_INT): Format, protect macro with do..while.
- 	(LINK_SPEC, LIB_SPEC, MD_EXEC_PREFIX, MD_STARTFILE_PREFIX,
- 	NEW_HP_ASSEMBLER, ASM_FILE_START, OBJECT_FORMAT_ELF,
- 	DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_FORMAT,
- 	DWARF2_ASM_LINE_DEBUG_INFO, USE_CONST_SECTION, CONST_SECTION_ASM_OP,
- 	CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, INIT_SECTION_ASM_OP,
- 	FINI_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
- 	READONLY_DATA_SECTION, CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION,
- 	DTORS_SECTION_FUNCTION, ASM_OUTPUT_SECTION_NAME, MAKE_DECL_ONE_ONLY,
- 	UNIQUE_SECTION_P, UNIQUE_SECTION, INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
- 	ASM_OUTPUT_DESTRUCTOR, TYPE_ASM_OP, SIZE_ASM_OP, ASM_WEAKEN_LABEL,
- 	TYPE_OPERAND_FMT, ASM_DECLARE_RESULT): Move to..
- 	* pa64-hpux.h: New file.
- 	(ASM_FILE_START): Correct typo.
- 	(PREFERRED_DEBUGGING_FORMAT): Rename to PREFERRED_DEBUGGING_TYPE.
- 	* config.gcc: Modify for above.
- 
- Fri Apr 13 00:09:22 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* jump.c (jump_optimize_1): Don't delete dead stores here.
- 	* toplev.c (rest_of_compilation): Call delete_trivially_dead_insns
- 	prior to running jump optimize before cse2.
- 
- 2001-04-12  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (regmove.o): Depend on except.h.
- 	* regmove.c: Include it.
- 
- 2001-04-12  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c: Remove all code ifdefed with the never-used
- 	macro OBJC_INT_SELECTORS.
- 	* config/d30v/d30v.h: Remove commented-out ref to OBJC_INT_SELECTORS.
- 	* tm.texi: Remove doc for OBJC_INT_SELECTORS.
- 
- Thu Apr 12 18:13:37 2001  Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* config/pa/quadlib.c: Add prototypes.
- 
- 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.h (debug_bitmap): Delete redundant prototype.
- 
- 	* rtl.h (get_frame_size): Likewise.
- 
- 2001-04-12  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.md (extendsfdf2, extendsftf2, extenddftf2): Simplify
- 	to just emit an fnorm.
- 
- 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.h (truthvalue_conversion, type_for_mode,
- 	type_for_size): Delete redundant declarations.
- 
- 	* c-lex.h (is_class_name): Likewise.
- 
- 	* c-tree.h (pedantic, convert, getdecls, gettags,
- 	global_bindings_p, init_decl_processing, insert_block,
- 	maybe_build_cleanup, poplevel, print_lang_decl,
- 	print_lang_identifier, print_lang_type, pushdecl, pushlevel,
- 	set_block, incomplete_type_error, build_function_call,
- 	lvalue_or_else, mark_addressable): Likewise.
- 
- 	* expr.h (expand_tree_builtin): Likewise.
- 
- 2001-04-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi: Document --param max-gcse-memory.
- 
- 2001-04-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (errno): Check for declaration.
- 	* configure, config.in: Regenerated.
- 
- 	* system.h (errno): Only declare if not already done.
- 
- 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* recog.c (general_operand, immediate_operand,
- 	nonmemory_operand): Require CONST_INTs to be sign-extended
- 	values for their modes.
- 
- 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* expmed.c (store_bit_field): Truncate CONST_INTs.
- 	(expand_mult_highpart, expand_divmod): Likewise.
- 	* expr.c (convert_modes, store_field): Likewise.
- 	* integrate.c (expand_inline_function): Use promote_mode() to
- 	determine whether to convert_modes() an argument as signed
- 	or unsigned.
- 	* optabs.c (expand_binop): Get CONST_INT operands
- 	sign-extended for their appropriate modes.
- 	* stmt.c (emit_case_nodes): Convert node values to the
- 	appropriate mode.
- 	(expand_end_case): Convert minval and range to the appropriate
- 	mode.
- 	* unroll.c (loop_iterations): Truncate abs_diff to the mode of
- 	the iteration variable.
- 	* varasm.c (immed_double_const): Don't require words to be
- 	narrower than host wide ints to properly sign-extend
- 	CONST_INTs.
- 
- 2001-04-12  kaz Kojima  <kkojima@rr.iij4u.or.jp>
- 
- 	* sh.md (builtin_setjmp_receiver): New expander.
- 
- 2001-04-12  David Edelsohn  <dje@watson.ibm.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Do not
- 	special-case HOST_BITS_PER_WIDE_INT != 32.  Use same criteria
- 	for generating CONST_INT and CONST_DOUBLE.
- 
- 2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
- 	already sign-extended.
- 	(rs6000_emit_prologue): Make register iterator signed.
- 	(rs6000_emit_epilogue): Likewise.
- 	* config/rs6000/rs6000.md (addsi3, adddi3): Sign-extend high
- 	and low.
- 	(movsf split, movdf split): Sign-extend CONST_INTs.
- 	(movdi splits): Likewise.
- 
- 2001-04-12  Kelley Cook <kelley.cook@home.com>
- 
- 	* config-lang.in (lang_dirs): Add in zlib.
- 
- 2001-04-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/i386.md: Apply trunc_int_for_mode() to GEN_INT
- 	operands that make it to RTL.
- 
- 2001-04-11  Stan Shebs  <shebs@apple.com>
- 
- 	Add Darwin (Mac OS X kernel) native support.
- 	* config.gcc (powerpc-*-darwin*): Add native bits.
- 	* config/darwin.c: New file, generic Darwin support functions.
- 	* config/darwin.h: New file, generic Darwin definitions.
- 	* config/darwin-protos.h: New file, generic Darwin prototypes.
- 	* rs6000/darwin.h: New file, Darwin for PowerPC.
- 	* rs6000/t-darwin: New file, Darwin makefile fragment.
- 	* rs6000/rs6000.h (OBJECT_MACHO): New macro.
- 	(TARGET_MACHO): Ditto.
- 	(rs6000_abi): Add ABI_DARWIN.
- 	(RS6000_REG_SAVE): Add ABI_DARWIN case.
- 	(RS6000_SAVE_AREA): Ditto.
- 	(FP_ARG_MAX_REG): Ditto.
- 	(RETURN_ADDRESS_OFFSET): Ditto.
- 	* rs6000/rs6000.c (rs6000_legitimize_address): Add TARGET_MACHO
- 	cases.
- 	(rs6000_emit_move): Add ABI_DARWIN cases.
- 	(print_operand): Ditto.
- 	(first_reg_to_save): Ditto.
- 	(rs6000_stack_info): Ditto, also align stack by 16 instead of 8.
- 	(debug_stack_info): Ditto.
- 	(rs6000_emit_prologue): Ditto.
- 	(rs6000_emit_epilogue): Ditto.
- 	(output_profiler_hook): Ditto.
- 	(output_function_profiler): Ditto.
- 	(rs6000_add_gc_roots): Call machopic_add_gc_roots if TARGET_MACHO.
- 	(output_mi_thunk): Add TARGET_MACHO case.
- 	(add_compiler_stub): Ditto.
- 	(output_compiler_stub): Ditto.
- 	(no_previous_def): Ditto.
- 	(output_call): Ditto.
- 	(machopic_output_stub): Ditto.
- 	(rs6000_machopic_legitimize_pic_address): Ditto.
- 	(toc_section): Ditto.
- 	* rs6000/rs6000.md (addsi3_high): New TARGET_MACHO pattern.
- 	(macho_high): Ditto.
- 	(macho_low): Ditto.
- 	(movsi_low): Ditto.
- 	(load_macho_picbase): Ditto.
- 	(call): Add TARGET_MACHO case to modify function.
- 	(call_value): Ditto.
- 	(call_nonlocal_sysv): Add ABI_DARWIN case.
- 	(call_value_nonlocal_sysv): Ditto.
- 	* rs6000/rs6000-protos.h (rs6000_machopic_legitimize_pic_address):
- 	Add prototype.
- 	(machopic_output_stub): Ditto.
- 	* ginclude/stddef.h: Test _BSD_WCHAR_T_DEFINED_.
- 
- 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarf2out.c (modified_type_die): Don't create new types here.
- 	* tree.h (get_qualified_type): New function.
- 	(build_qualified_type): Adjust comment.
- 	* tree.c (get_qualified_type): New function.
- 	(build_qualified_type): Use it.
- 
- 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpp.texi (-Wtraditional): Update description.
- 
- 	* invoke.texi (-Wtraditional): Likewise.
- 
- 2001-04-11  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Return 128 if argument
- 	requires more than 64 bits of alignment.
- 
- 2001-04-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (do_line): Sanity check iff enable checking.
- 
- 2001-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (insn-recog.o): Depend on toplev.h.
- 	(insn-emit.o, doloop.o): Likewise.
- 	* genrecog.c, genemit.c: Include toplev.h in generated file.
- 	* doloop.c: Include toplev.h.
- 
- 2001-04-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (gcse.o): Depend on params.h.
- 	* gcse.c: Include params.h.
- 	(gcse_main): Don't do GCSE if doing so will take inordinate
- 	amounts of memory.
- 	* params.def (PARAM_MAX_GCSE_MEMORY): New  parameter.
- 	* params.h (MAX_GCSE_MEMORY): New macro.
- 
- 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (insn-output.o): Depend on $(EXPR_H).
- 
- 	* genoutput.c (output_prologue): Include expr.h in insn-output.c.
- 
- 2001-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* output.h (assemble_real): Declare if REAL_VALUE_TYPE is defined.
- 
- 	* real.h (ereal_atof, real_value_truncate, target_isnan,
- 	target_isinf, target_negative, assemble_real, debug_real): Delete
- 	redundant prototypes.
- 
- 	* Makefile.in (ifcvt.o): Depend on toplev.h.
- 
- 	* c-semantics.c: Include expr.h.
- 
- 	* ifcvt.c: Include toplev.h.
- 
- 	* expr.h (rtx_equal_p): Delete prototype.
- 
- 	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
- 	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
- 	eliminate_constant_term, expand_complex_abs, find_single_use,
- 	make_tree, init_expr_once, init_optabs, supports_one_only):
- 	Likewise.
- 
- 	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
- 	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
- 	expand_assignment, store_expr, emit_line_note_after,
- 	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
- 
- 	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
- 
- 	* sparc-protos.h: Delete redundant prototypes.
- 
- 2001-04-11  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
- 
- 	* reload.c (push_reload): Add condition missed in SUBREG byte
- 	offset patch.
- 
- Wed Apr  4 00:28:23 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* sparc/sol2-sld-64.h (STARTFILE_SPEC): Added missing blank.
- 
- Wed Apr 11 14:06:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (floatsisf_sse): Fix output template
- 	* i386.c (ix86_expand_fp_movcc)
- 
- 	* reg-stack.c (emit_pop_insn): Handle complex modes.
- 	(move_for_stack_reg): Emit proper move mode.
- 	(subst_stack_regs_pat): Handle complex modes.
- 
- 2001-04-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cpplex.c (_cpp_lex_token): Only warn if -Wcomment.
- 
- 2001-04-10  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.h (__terminate_func_ptr): Remove typedef.
- 	(__pure_virtual, __terminate, __terminate_set_func,
- 	__default_terminate, __throw_type_match, __empty,
- 	__get_eh_context, __get_eh_info, __get_dynamic_handler_chain,
- 	__eh_rtime_match, __unwinding_cleanup, __rethrow,
- 	__sjthrow, __sjpopnthrow, __eh_alloc, __eh_free):
- 	Remove prototypes of deleted functions.
- 
- 2001-04-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-typeck.c (convert_arguments): -Wtraditional now activates
- 	-Wconversion warnings, except for changes in signed-ness.
- 	Detect complex<->int & int<->complex conversions as well.
- 
- 	* invoke.texi (-Wtraditional): Document it.
- 
- Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c (update_ld_motion_stores): Don't use variable I for an insn.
- 	* flow.c (set_block_for_new_insns): Remove needless cast and
- 	properly check for unset block number.
- 
- 2001-04-10  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* function.c (purge_single_hard_subreg_set): Only check REGNO if
- 	the subreg was a hard register. Pseudos are left as subregs.
- 
- 2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
- 	(LIB2ADD_ST): New macro, pass it to mklibgcc.
- 	* mklibgcc.in (libgcc2_st_objs): New variable, set it from LIB2ADD_ST.
- 	(libgcc_st_objs): New, set from libgcc2_st_objs. Use it for libgcc.a.
- 	* config/rs6000/t-ppccomm (LIB2FUNCS_STATIC_EXTRA): New macro.
- 
- 2001-04-09  Bo Thorsen  <bo@suse.co.uk>
- 
- 	* config/i386/i386.md: "TARGET_64BIT && TARGET_64BIT": Removed one.
- 
- 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* output.h (set_block_num): Missed it earlier, remove deprecated
- 	prototype.
- 
- 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* gcse.c (oprs_unchanged_p): Pass basic_block to load_killed_in_block_p.
- 	(load_killed_in_block_p): Change bb parameter from int to basic_block.
- 	(oprs_not_set_p): Pass basic_blocks instead of ints as parameters.
- 	(handle_rd_kill_set): Change bb parameter from int to basic_block.
- 	(compute_kill_rd): Pass basic_blocks instead of ints as parameters.
- 	(expr_killed_p): Change bb parameter from int to basic_block, pass
- 	basic_blocks instead of ints as parameters.
- 	(compute_ae_kill): Pass basic_blocks instead of ints as parameters.
- 	(expr_reaches_here_p_work, expr_reaches_here_p): Change bb parameter
- 	from int to basic_block, pass basic_blocks instead of ints as parms.
- 	(pre_expr_reaches_here_p_work, pre_expr_reaches_here_p): Change bb
- 	parameter from int to basic_block, pass basic_blocks instead of ints.
- 	(process_insert_insn): Pass basic_blocks instead of ints as parameters.
- 	(insert_insn_end_bb): Change bb parameter from int to basic_block,
- 	pass basic_blocks instead of ints.
- 	(pre_edge_insert, pre_insert_copy_insn, pre_insert_copies): Pass
- 	basic_blocks instead of ints as parameters.
- 	(pre_delete): Pass basic_blocks instead of ints as parameters.
- 	(hoist_expr_reaches_here_p): Change bb parameter from int to
- 	basic_block, pass basic_blocks instead of ints.
- 	(hoist_code): Pass basic_blocks instead of ints as parameters.
- 	(reg_set_info, store_ops_ok, store_killed_after, store_killed_before):
- 	Change bb parameter from int to basic_block.
- 	(build_store_vectors): Pass basic_blocks instead of ints as parameters.
- 	(insert_insn_start_bb): Change bb parameter from int to basic_block,
- 	pass basic_blocks instead of ints.
- 	(insert_store): Pass basic_blocks instead of ints as parameters.
- 	(replace_store_insn, delete_store): Change bb parameter from int to
- 	basic_block, pass basic_blocks instead of ints.
- 	(store_motion): Pass basic_blocks instead of ints as parameters.
- 
- 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* basic-block.h (set_new_block_for_insns): New Prototype.
- 	(set_block_num): Delete prototype.
- 	* flow.c (set_block_num): Remove obsolete function.
- 	(set_block_for_new_insns): Set BB for single or multiple insns.
- 	* gcse.c (handle_avail_expr): Use set_block_for_new_insns.
- 	(process_insn_end_bb): Use set_block_for_new_insns or
- 	set_block_for_insn instead of set_block_num.
- 	(pre_insert_copy_insn): Use set_block_for_new_insns.
- 	(update_ld_motion_stores): Use set_block_for_new_insns.
- 	(insert_insn_start_bb): Use set_block_for_new_insns.
- 	(replace_store_insn): Use set_block_for_new_insns.
- 
- 2001-04-09  Andrew MacLeod  <amacleod@redhat.com>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* alias.c (get_addr): Externalize.
- 	(canon_true_dependence): New function. Behaves like true_dependance
- 	except it already assumes a MEM has been canonicalized.
- 	* flags.h (flag_gcse_lm, flag_gcse_sm): New optimization flags.
- 	* gcse.c (struct ls_expr): Add load/store expressions structure.
- 	(modify_mem_list, canon_modify_mem_list): New variable.
- 	(gcse_main): Initialize & finalize alias analysis. Use enhanced
- 	load motion and store motion if requested.
- 	(alloc_gcse_mem): Allocate space for modify_mem_list array.
- 	(free_gcse_mem): Free the modify_mem_list array.
- 	(oprs_unchanged_p): Use load_killed_in_block_p.
- 	(gcse_mems_conflict_p, gcse_mem_operand): New variables.
- 	(mems_conflict_for_gcse_p): New function.  Don't kill loads
- 	with stores to themselves if its in the load/store expression list.
- 	(load_killed_in_block_p): New function.
- 	(canon_list_insert): New Function.
- 	(record_last_mem_set_info): Keep a list of all instructions which
- 	can modify memory for each basic block.
- 	(compute_hash_table, reset_opr_set_tables): Clear modify_mem_list.
- 	(oprs_not_set_p): Use load_killed_in_block_p.
- 	(mark_call, mark_set, mark_clobber): Use record_last_mem_set_info.
- 	(expr_killed_p): Use load_killed_in_block_p.
- 	(compute_transp): Do not pessimize memory references.
- 	(pre_edge_insert): Update stores for a load motion expression.
- 	(one_pre_gcse_pass): Check loads/stores for extra load motion.
- 	(ldst_entry): Find or create a ldst_expr structure.
- 	(free_ldst_entry): Free memory for an individual item.
- 	(free_ldst_mems): Free entire load/store expression list.
- 	(print_ldst_list): Print debug info.
- 	(find_rtx_in_ldst): Try to find an rtx expression in the ldst list.
- 	(enumerate_ldsts): Assign integer values to each entry in list.
- 	(first_ls_expr): First expression in the list.
- 	(next_ls_expr): Next expression in the list.
- 	(simple_mem): Check if expression qualifies for ld/st expression list.
- 	(invalidate_any_buried_refs): Remove from expression list if its
- 	used in some other way we don't understand.
- 	(compute_ld_motion_mems): Find all potential enhanced load motion
- 	expression.
- 	(trim_ld_motion_mems): Remove any expressions which are invalid.
- 	(update_ld_motion_stores): Copy store values to registers for loads
- 	which have been moved.
- 	(regvec, st_antloc, num_store): New global statics.
- 	(reg_set_info): Marks registers as set.
- 	(store_ops_ok): Verfies registers expressions are valid in a block.
- 	(find_moveable_store): Look for moveable stores in a pattern.
- 	(compute_store_table): Find stores in a function worth moving, maybe.
- 	(load_kills_store): Check dependence of a load and store.
- 	(find_loads): Find any loads in a pattern.
- 	(store_killed_in_insn): Check if a store is killed in an insn.
- 	(store_killed_after): Check is store killed after an insn in a block.
- 	(store_killed_before): Check is store killed before an insn in a block.
- 	(build_store_vectors): Generate the antic and avail vectors.
- 	(insert_insn_start_bb): Insert at the start of a BB, update BLOCK_HEAD.
- 	(insert_store): Add a store to an edge.
- 	(replace_store_insn): Replace a store with a SET insn.
- 	(delete_store): Delete a store insn.
- 	(free_store_memory): Free memory.
- 	(store_motion): Perform store motion.
- 	* invoke.texi: Add documentation for -fcse-lm and -fgcse-sm.
- 	* rtl.h (get_addr, canon_true_dependence): Add prototypes.
- 	* toplev.c (flag_gcse_lm, flag_gcse_sm): New Variables.
- 	(f_options): Add gcse-lm and gcse-sm.
- 
- Mon Apr  9 16:18:03 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (expand_fp_movcc): Fix condition reversal code.
- 
- 	* i386.c (ix86_register_move_cost): Fix handling of reformating penalty
- 	* i386.h (INTEGER_CLASS_P, MAYBE_INTEGER_CLASS_P): New.
- 	(CLASS_MAX_NREGS): Use it.
- 
- 	* i386.h (HARD_REGNO_NREGS): Handle properly TF and TCmodes on 64bit;
- 	handle properly complex values.
- 	(CLASS_MAX_NREGS): Likewise; update comment.
- 
- 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* ia64.c (ia64_flag_schedule_insns2): New variable.
- 	(ia64_override_options): Initialize it.  Clear
- 	flag_schedule_insns_after_reload.
- 	(ia64_reorg): Only do scheduling if ia64_flag_schedule_insns2.
- 
- Mon Apr  9 15:09:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (truncdfsf2_*): Add i387->int/sse reg alternatives;
- 	Do not require source to match destination anymore;
- 	Add abort to the nontrivial cases that should be handled by split.
- 	(fix_trunc?fdi): Add SSE case for x86_64.
- 	(floatdi?f): Likewise.
- 	(floatdi?f_sse): New.
- 	(fix_trunc?fdi_sse): New.
- 
- 2001-04-09  Richard Sandiford   <rsandifo@redhat.com>
- 
- 	* dwarfout.c (DEBUG_ARANGES_BEGIN_LABEL): New label.
- 	(DEBUG_ARANGES_END_LABEL): Ditto.
- 	(dwarfout_init): Generate length and version fields at the start
- 	of the .debug_aranges info.  Insert DEBUG_ARANGES_BEGIN_LABEL
- 	after the length field.
- 	(dwarfout_finish): Insert DEBUG_ARANGED_END_LABEL at the end of
- 	the .debug_aranges info.
- 
- Sun Apr  8 00:43:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (call, call_value): Make sure that resulting call_insn
- 	does have proper second operand.
- 
- Sun Apr  8 22:50:49 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/xm-cygwin.h (GET_ENV_PATH_LIST): Eliminate obsolete
- 	function.  Remove include of sys/cygwin.h.
- 
- Sun Apr  8 22:20:27 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h (STARTFILE_SPEC): search */lib/w32api by default.
- 	(CPP_SPEC): Always search */include/w32api for header files.
- 	(ASM_OUTPUT_SECTION_NAME): Avoid testing NULL DECL.
- 	(LINK_SPEC): Add "cyg" to the library search prefixes.
- 
- 2001-04-08  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Use asm_fprintf.
- 
- 2001-04-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_location): Don't special case <stdin>.
- 	(_cpp_begin_message): Handle WARNING_SYSHDR the same as
- 	WARNING, but we don't check if we're in system headers.
- 	* cpplib.h (enum error_type): WARNING_SYSHDR: New.
- 	* cpplib.c (do_warning): Warn in system headers.
- 
- 2001-04-07  Mumit Khan <khan@NanoTech.Wisc.EDU>
- 
- 	* mbchar.c: Include config.h first.
- 
- 2001-04-07  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Set default for xmake_file at top, not bottom.
- 	Change places that set xmake_file to "none" to set to the
- 	empty string instead, or remove them entirely if there is no
- 	default xmake_file for this cpu_type.  Remove references to
- 	deleted files.
- 
- 	* config/x-lynx, config/convex/x-convex, config/elxsi/x-elxsi,
- 	config/i386/x-isc, config/i386/x-isc3, config/i386/x-ncr3000,
- 	config/i386/x-next, config/i386/x-sco, config/i386/x-sysv3,
- 	config/i386/x-vsta, config/i860/x-sysv4, config/m68k/x-amix,
- 	config/m68k/x-apollo68, config/m68k/x-ccur, config/m68k/x-crds,
- 	config/m68k/x-hp2bsd, config/m68k/x-mot3300, config/m68k/x-mot3300-gas,
- 	config/m68k/x-tower, config/m88k/x-sysv4, config/mips/x-dec-osf1,
- 	config/mips/x-sni-svr4, config/mips/x-ultrix, config/romp/x-mach,
- 	config/romp/x-romp, config/rs6000/x-beos, config/rs6000/x-lynx,
- 	config/rs6000/x-mach, config/rs6000/x-sysv4, config/sparc/x-sysv4:
- 	Delete.
- 
- 	* config/a29k/x-unix, config/i386/x-aix, config/i386/x-osf1elf,
- 	config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
- 	config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
- 	config/mips/x-sysv, config/rs6000/x-aix31:
- 	Just set CLIB to -lld or -lmld, as appropriate.
- 
- 	* config/arm/x-riscix, config/i370/x-oe, config/i386/x-dgux,
- 	config/i386/x-sco4, config/i386/x-sco5, config/m68k/x-hp320,
- 	config/m68k/x-hp320g, config/m68k/x-next, config/m88k/x-dgux,
- 	config/mips/x-iris, config/pa/x-pa:
- 	Just set (some of) FIXPROTO_DEFINES, STMP_FIXPROTO,
- 	OTHER_FIXINCLUDES_DIRS.
- 
- 	* config/i386/x-djgpp: Don't set LN or LN_S.
- 	* config/m88k/x-dolph: Don't define __m88k__.
- 	* config/m88k/x-tekXD88: Don't set AR_FLAGS.
- 	* config/pa/x-pa-mpeix: Just set up quadlib.asm.
- 	* config/i860/fx2800.h: No need to #undef SVR4.
- 
- 	38 x-host fragments remain, 2 x-cpu.
- 
- 2001-04-07  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.h (HARD_REGNO_NREGS): HCmode mode uses 2 regs not 4.
- 
- 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (cpp_push_buffer): Give stdin buffers the name <stdin>.
- 
- 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* configure.in: Add check for lstat.
- 	* configure, config.in: Regenerate.
- 	* cppinit.c (append_include_chain): Make empty path ".".
- 	* cpplib.c (do_line): Don't simplify #line paths.
- 	* cppfiles.c (remove_component_p): New function.
- 	(find_or_create_entry): Acknowledge stat () errors during
- 	path simplification.
- 	(handle_missing_header): Don't simplify paths.
- 	(_cpp_simplify_pathname): Don't simplify VMS paths.  Return
- 	the empty path untouched.  Don't leave a trailing '/'.
- 
- 2001-04-06  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* cppdefault.c (GPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
- 	* Makefile.in (-DGPLUSPLUS_BACKWARD_INCLUDE_DIR): Add.
- 
- 2001-04-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (open_file): Fail directories silently, but
- 	with an errno of NOENT set.
- 	(read_include_file): Move the common exit code to the sole
- 	caller.  Return an int indicating success or failure.  Let
- 	open_file handle directories.
- 	(stack_include_file): If read_include_file fails,
- 	push a "null" buffer.
- 
- 2001-04-05  DJ Delorie  <dj@redhat.com>
- 
- 	* function.h (virtuals_instantiated): Declare.
- 	* function.c: (virtuals_instantiated): Make global.
- 	* calls.c (emit_library_call_value_1): Use
- 	virtual_outgoing_args_rtx only if it hasn't been instantiated.
- 	Otherwise, use the stack pointer directly.
- 
- Thu Apr  5 19:13:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_initialize_trampoline): New global function.
- 	* i386.h (TRAMPOLINE_SIZE): Size is 23 for x86_64.
- 	(INITIALIZE_TRAMPOLINE): Move offline.
- 	* i386-protos.h (x86_initialize_trampoline): Declare.
- 
- Thu Apr  5 19:02:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movdi_1_rex64): Allow SSE->SSE reg move.
- 	(lea_0): Rename to lea_1.
- 	(lea_1_zext, lea_1_rex64, lea_2_rex64): New patterns.
- 	(lea_general_?): Allow SImodes on TARGET_64BIT
- 	(lea_general_?_zext): New patterns.
- 	(call_1, call_1_rex64): Fix.
- 
- Thu Apr  5 19:00:15 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_split_long_move): Use PUT_MODE instead of change_address.
- 
- Thu Apr  5 18:25:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (function_arg): Return constm1_rtx for last argument.
- 	(ix86_expand_prologue): Update gen_call calls.
- 	* i386.h (FUNCTION_BLOCK_PROFILER_EXIT): Likewise.
- 	* i386.md (call_pop): Likewise.
- 	(call): Second operand is VOIDmode.
- 	(call_0): Likewise; Support 64bits.
- 	(call_exp): New expander.
- 	(call_1): Get to the sync.
- 	(call_1_exp): New pattern.
- 	(call_value): Support 64bit.
- 	(call_value_exp): New pattern.
- 	(untyped_call): Update gen_call call.
- 	(call_value_pop): Disable for 64bit.
- 	(call_value_0_rex64): New pattern.
- 	(call_value_1_rex64): Likewise.
- 
- 2001-04-05  Bo Thorsen  <bo@suse.de>
- 
- 	* i386.md: Don't allow "builtin_setjmp_receiver" for TARGET_64BIT.
- 
- Thu Apr  5 13:44:17 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* i386.md (*andsi_1+3): If used after reload, make sure the operand
- 	satisfies ANY_QI_REG_P.
- 
- 2001-04-05  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/ia64/ia64.c (rtx_needs_barrier): A PARALLEL can contain
- 	ASM_OPERAND.
- 
- 	* sched-deps.c (sched_analyze_insn): Revert more of the March 27
- 	change.
- 
- 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Remove default for xm_file.  Clean up local
- 	machine type handling.  Remove settings of xm_file to
- 	something that doesn't exist.  In the big switch, set xm_file,
- 	don't append to it (the value before the big switch is always
- 	null).  Don't force build_xm_file or host_xm_file to have a value.
- 	* configure.in: Remove default for xm_file.  Do not special
- 	case $cpu/xm-$cpu.h not existing.
- 	* configure: Regenerate.
- 
- 2001-04-04  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Check for overflow
- 	when folding integer division and modulo operations.
- 
- 2001-04-04  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* dwarf2out.c (output_cfi): Add 'for_eh' parameter, use PTR_SIZE
- 	instead of DWARF2_ADDR_SIZE for EH addresses.
- 	(output_call_frame_info): Use PTR_SIZE instead of DWARF2_ADDR_SIZE for
- 	EH addresses.
- 
- 2001-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (IA64_UNWIND_INFO): Disable.
- 	* config/ia64/t-glibc (LIB2ADDEH): Disable.
- 	* config/ia64/t-ia64 (LIB2ADDEH): Disable.
- 
- 2001-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (gcc_cv_as_leb128): Escape "." in regexp.
- 	* configure: Rebuilt.
- 
- 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Add delete_list argument,
- 	push insns to delete to it instead of deleting them.
- 	(delete_null_pointer_checks): Delete insns from delete_list after
- 	all delete_null_pointer_checks_1 passes are done.
- 
- 2001-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (gcc_cv_as_leb128): Tweek minor number extraction.
- 	* configure: Rebuilt.
- 
- 2001-04-04  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* expr.h: Remove #ifdef FUNCTION_CONVERSION_BUG logic.
- 	* config/romp/xm-romp.h: Delete.
- 
- 2001-04-04  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* sched-deps.c (sched_analyze_insn): Partially revert March 27
- 	change.
- 
- 2001-04-04 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* emit-rtl.c (mark_label_nuses) Increment the label uses for
- 	all labels present in rtx.
- 	(try_split) Call new function for all split insns.
- 
- 2001-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* recog.c (validate_replace_rtx_1): Instead of aborting just make
- 	sure the change won't be validated.
- 
- Wed Apr  4 00:45:38 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* rtl.h (set_noop_p): Declare.
- 	* flow.c (set_noop_p): Move from here ...
- 	* rtlanal.c (set_noop_p): ... to here and enhance.
- 	* cse.c (delete_trivially_dead_insns): Use it.
- 	* gcse.c (hash_scan_set): Likewise.
- 	* jump.c (delete_noop_moves): Likewise.
- 	* recog.c (split_all_insns): Likewise.
- 
- 2001-04-04  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Support adjusting
- 	stack pointer via a LO_SUM.  Ditto for setting a temp register
- 	used to save to the stack.  Set cfa_temp when setting fp, and
- 	allow matches to cfa_temp in addition to cfa_store when saving
- 	regs.  Handle POST_INC and LO_SUM register stores.  Document the
- 	changes and errors in rule 12 doco.
- 
- 	* pa.c (set_reg_plus_d, store_reg, load_reg): Return last insn.
- 	(actual_fsize, local_fsize, save_fregs): Move for store_reg to see.
- 	(load_reg): Move closer to epilogue code.
- 	(DO_FRAME_NOTES): Define to control the following..
- 	(FRP): Define to set RTX_FRAME_RELATED_P on insns.
- 	(hppa_expand_prologue): Use FRP and REG_FRAME_RELATED_EXPR
- 	notes as necessary.
- 	(hppa_expand_epilogue): Likewise.
- 
- 2001-04-03  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (gcc_cv_as_leb128): Reject gas before 2.11.
- 	* configure: Rebuild.
- 
- 2001-04-03  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (LCT_THROW): New.
- 	* calls.c (emit_library_call_value_1): Handle it.
- 	* except.c (connect_post_landing_pads): Use it.
- 
- 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* gansidecl.h: Delete file.
- 	* configure.in: Change all refs to gansidecl.h to use
- 	ansidecl.h.  Adjust *_file_list so they know where ansidecl.h
- 	lives.
- 	* configure: Regenerate.
- 
- 	* Makefile.in (intl.o): Don't depend on gansidecl.h.
- 	* defaults.h: s/gansidecl.h/ansidecl.h/ in comment.
- 	* ggc.h, config/fr30/fr30.h, config/mcore/mcore.c:
- 	Don't include gansidecl.h.
- 	* intl.c, main.c, version.c, fixinc/fixlib.h,
- 	fixinc/procopen.c, fixinc/server.c: Include ansidecl.h not
- 	gansidecl.h.
- 
- Tue Apr  3 19:41:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_force_to_memory, ix86_free_from_memory):
- 	Update for 64bit.
- 
- 2001-04-03  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config/i386/xm-beos.h, config/i386/xm-isc.h,
- 	config/i386/xm-next.h, config/i386/xm-sco.h,
- 	config/i386/xm-sco5.h, config/m68k/xm-plexus.h,
- 	config/m88k/xm-m88k.h: Delete.
- 
- 	* config/i386/xm-djgpp.h: Don't define __MSDOS__.
- 	* config/romp/xm-romp.h: Don't define bcopy.
- 	* config/rs6000/xm-beos.h: Don't define bcopy, HAVE_VPRINTF,
- 	HAVE_PUTENV, HAVE_RENAME, or USE_C_ALLOCA.
- 
- 	* config.gcc: Remove references to deleted files.
- 
- 	14 xm-host.h remain, 1 xm-cpu.h.
- 
- 2001-04-03  Jakub Jelinek  <jakub@redhat.com>
- 	    David S. Miller  <davem@pierdol.cobaltmicro.com>
- 	    Andrew MacLeod  <amacleod@redhat.com>
- 
- 	Use byte offsets in SUBREGs instead of words.
- 
- 	* alias.c (nonlocal_mentioned_p): Use subreg_regno function.
- 	* caller-save.c (mark_set_regs): Change callers of subreg_hard_regno
- 	to pass new argument.
- 	(add_stored_regs): Use subreg_regno_offset function.
- 	* calls.c (expand_call): For non-paradoxical SUBREG take endianess
- 	into account.
- 	(precompute_arguments): Use gen_lowpart_SUBREG.
- 	* combine.c (try_combine): Replace explicit XEXP with SUBREG_REG.
- 	(combine_simplify_rtx): Rework to use SUBREG_BYTE.
- 	(simplify_set): Rework to use SUBREG_BYTE.
- 	(expand_field_assignment): Use SUBREG_BYTE.
- 	(make_extraction): Use SUBREG_BYTE.
- 	(if_then_else_cond): Use SUBREG_BYTE.
- 	(apply_distributive_law): Use SUBREG_BYTE and fixup subreg comments.
- 	(gen_lowpart_for_combine): Compute full byte offset.
- 	* cse.c (mention_regs): Use SUBREG_BYTE.
- 	(remove_invalid_subreg_refs): Rework to use SUBREG_BYTE.
- 	(canon_hash): Use SUBREG_BYTE.
- 	(fold_rtx): Pass SUBREG_BYTE div UNITS_PER_WORD to operand_subword.
- 	(gen_lowpart_if_possible): Formatting.
- 	* dbxout.c (dbxout_symbol_location): Compute SUBREG hard regnos
- 	correctly.
- 	* dwarf2out.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
- 	(mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
- 	(loc_descriptor): Fixup explicit XEXP into SUBREG_REG
- 	* dwarfout.c (is_pseudo_reg): Fixup explicit XEXP into SUBREG_REG
- 	(output_mem_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
- 	(output_loc_descriptor): Fixup explicit XEXP into SUBREG_REG
- 	* emit-rtl.c (gen_rtx_SUBREG): New function, used to verify
- 	certain invariants about SUBREGs the compiler creates.
- 	(gen_lowpart_SUBREG): New function.
- 	(subreg_hard_regno): New function to get the final register number.
- 	(gen_lowpart_common): Use SUBREG_BYTE.
- 	(gen_imagpart): Spacing nits.
- 	(subreg_realpart_p): Use SUBREG_BYTE.
- 	(gen_highpart): Use SUBREG_BYTE.
- 	(subreg_lowpart_p): Always compute endian corrected goal offset,
- 	even at the byte level, then compare against that.
- 	(constant_subword): New function, pulled out all constant cases
- 	from operand_subword and changed second argument name to offset.
- 	(operand_subword): Detect non REG/SUBREG/CONCAT/MEM cases early
- 	and call constant_subword to do the work.  Return const0_rtx if
- 	looking for a word outside of OP.
- 	(operand_subword_force): Change second arg name to offset.
- 	* expmed.c (store_bit_field): Use SUBREG_BYTE.
- 	(store_split_bit_field): Use SUBREG_BYTE.
- 	(extract_bit_field): Use SUBREG_BYTE.
- 	(extract_split_bit_field): Use SUBREG_BYTE.
- 	(expand_shift): Use SUBREG_BYTE.
- 	* expr.c (store_expr, expand_expr): Use gen_lowpart_SUBREG.
- 	* final.c (alter_subreg) Use subreg_hard_regno and SUBREG_BYTE.
- 	* flow.c (set_noop_p): Use SUBREG_BYTE.
- 	(mark_set_1): Remove ALTER_HARD_SUBREG. Use subreg_regno_offset instead.
- 	* function.c (fixup_var_refs_1): Fixup explicit XEXP into a SUBREG_REG.
- 	(fixup_memory_subreg): Use SUBREG_BYTE and remove byte endian
- 	correction code.
- 	(optimize_bit_field): Use SUBREG_BYTE.
- 	(purge_addressof_1): Use SUBREG_BYTE.
- 	(purge_single_hard_subreg_set): Use subreg_regno_offset function.
- 	(assign_params): Mark arguments SUBREG_PROMOTED_VAR_P if they are
- 	actually promoted by the caller and PROMOTE_FOR_CALLS_ONLY is true.
- 	* gengenrtl.c (special_rtx): Add SUBREG.
- 	* global.c (mark_reg_store): Use SUBREG_BYTE.
- 	(set_preference): Rework to use subreg_regno_offset and SUBREG_BYTE.
- 	* ifcvt (noce_emit_move_insn): Use SUBREG_BYTE.
- 	* integrate.c (copy_rtx_and_substitute): Use SUBREG_BYTE and make sure
- 	final byte offset is congruent to subreg's mode size.
- 	(subst_constants): Use SUBREG_BYTE.
- 	(mark_stores): Use subreg_regno_offset function.
- 	* jump.c (rtx_renumbered_equal_p, true_regnum): Use subreg_regno_offset
- 	function and SUBREG_BYTE.
- 	* local-alloc.c (combine_regs): Use subreg_regno_offset function.
- 	(reg_is_born): Use subreg_hard_regno.
- 	* recog.c (valid_replace_rtx_1): Use SUBREG_BYTE and remove byte
- 	endian correction code.  Don't combine subregs unless resulting
- 	offset aligns with type.  Fix subreg constant extraction for DImode.
- 	Simplify SUBREG of VOIDmode CONST_DOUBLE.
- 	(general_operand): Remove dead mode_altering_drug code.
- 	(indirect_operand): Use SUBREG_BYTE.
- 	(constrain_operands): Use subreg_regno_offset function.
- 	* reg-stack.c (get_true_reg): Use subreg_regno_offset function.
- 	* regmove.c (regmove_optimize): Use SUBREG_BYTE.
- 	(optimize_reg_copy_3): Use gen_lowpart_SUBREG.
- 	* regs.h (REG_SIZE): Allow target to override.
- 	(REGMODE_NATURAL_SIZE): New macro which target can override.
- 	* reload.c (reload_inner_reg_of_subreg): subreg_regno should be used
- 	on the entire subreg rtx.
- 	(push_reload): Use SUBREG_BYTE in comments and code.
- 	(find_dummy_reload): Use subreg_regno_offset.  Only adjust offsets
- 	for hard registers inside subregs.
- 	(operands_match_p): Use subreg_regno_offset.
- 	(find_reloads): Use SUBREG_BYTE and only advance offset for subregs
- 	containing hard regs.
- 	(find_reload_toplev): Use SUBREG_BYTE.  Remove byte endian
- 	corrections when fixing up MEM subregs.
- 	(find_reloads_address_1): Use SUBREG_BYTE, subreg_regno, and
- 	subreg_regno_offset where appropriate.
- 	(find_reloads_subreg_address): Use SUBREG_BYTE.  Remove
- 	byte endian corrections when fixing up MEM subregs.
- 	(subst_reloads): When combining two subregs, make sure final
- 	offset is congruent to subreg's mode size.
- 	(find_replacement): Use SUBREG_BYTE and subreg_regno_offset.
- 	(refers_to_regno_for_reload_p): Use subreg_regno.
- 	(reg_overlap_mentioned_for_reload_p): Use subreg_regno_offset.
- 	* reload1.c (eliminate_regs) Use SUBREG_BYTE. Remove byte endian
- 	correction code for memory subreg fixups.
- 	(forget_old_reload_1): Use subreg_regno_offset.
- 	(choose_reload_regs): Use subreg_regno.
- 	(emit_input_reload_insns): Use SUBREG_BYTE.
- 	(reload_combine_note_store): Use subreg_regno_offset.
- 	(move2add_note_store): Use subreg_regno_offset.
- 	* resource.c (update_live_status, mark_referenced_resources): Use
- 	subreg_regno function.
- 	(mark_set_resources): Use subreg_regno function.
- 	* rtl.h (SUBREG_WORD): Rename to SUBREG_BYTE.
- 	(subreg_regno_offset, subreg_regno): Define prototypes.
- 	(subreg_hard_regno, constant_subword, gen_rtx_SUBREG): Newi functions.
- 	(gen_lowpart_SUBREG): Add prototype.
- 	* rtl.texi (subreg): Update to reflect new byte offset representation.
- 	Add mentioning of the effect that BYTES_BIG_ENDIAN has on subregs now.
- 	* rtlanal.c (refers_to_regno_p): Use subreg_regno.
- 	(reg_overlap_mentioned_p): Use subreg_regno.
- 	(replace_regs); Make sure final offset of combined subreg is
- 	congruent to size of subreg's mode.
- 	(subreg_regno_offset): New function.
- 	(subreg_regno): New function.
- 	* sched-vis.c (print_value): Change SUBREG_WORD to SUBREG_BYTE.
- 	* sdbout.c (sdbout_symbol): Compute offset using alter_subreg.
- 	* stmt.c (expand_anon_union_decl): Use gen_lowpart_SUBREG.
- 	* tm.texi (ALTER_HARD_SUBREG): Remove, it is now dead.
- 	(SUBREG_REGNO_OFFSET): Describe SUBREG_REGNO_OFFSET overrides.
- 	* config/a29k/a29k.c (gpc_reg_operand): Use subreg_regno.
- 	(a29k_get_reloaded_address): Use SUBREG_BYTE.
- 	(print_operand): Use SUBREG_BYTE.
- 	* config/alpha/alpha.c (print_operand_address): Use SUBREG_BYTE.
- 	* config/arm/arm.c (arm_reload_in_hi): Use SUBREG_BYTE.
- 	(arm_reload_out_hi): Use SUBREG_BYTE.
- 	* config/d30v/d30v.c (d30v_split_double): Use subreg_regno_offset
- 	instead of SUBREG_WORD.
- 	(d30v_print_operand_memory_reference): Use subreg_regno_offset.
- 	* config/dsp16xx/dsp16xx.md (extendqihi2, zero_extendqihi2): Fix
- 	SUBREG creation to use byte offset.
- 	* config/h8300/h8300.md (Unnamed HImode zero extraction and 16bit
- 	inverted load insns): Fix explicit rtl subregs to use byte
- 	offsets.
- 	* config/i370/i370.md (cmpstrsi, movstrsi, mulsi3, divsi3,
- 	udivsi3, umodsi3): Generate SUBREGs with byte offsets.
- 	* config/i860/i860.c (single_insn_src_p): Use SUBREG_BYTE.
- 	* config/i860/i860.md (mulsi3_big): Fixup explicit SUBREGs in rtl
- 	to use byte offsets.
- 	(unnamed fmlow.dd insn): Fixup SUBREGS to use byte offsets.
- 	* config/i960/i960.md (extendhisi2): Generate SUBREGs with byte
- 	offsets, also make sure it is congruent to SUBREG's mode size.
- 	(extendqisi2, extendqihi2, zero_extendhisi2, zero_extendqisi2,
- 	unnamed ldob insn): Generate SUBREGs with byte offset.
- 	(zero_extendqihi2): SUBREG's are byte offsets.
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_lowpart): Use SUBREG_BYTE.
- 	(m68hc11_gen_highpart): Use SUBREG_BYTE.
- 	* config/m68k/m68k.md (zero_extendhisi2, zero_extendqihi2,
- 	zero-extendqisi2): Generate SUBREGs with byte offset.
- 	(umulsidi3, mulsidi3, subreghi1ashrdi_const32,
- 	subregsi1ashrdi_const32, subreg1lshrdi_const32): Fixup explicit
- 	subregs in rtl to use byte offsets.
- 	* config/m88k/m88k.md (extendsidi2): fixup subregs to use byte offset.
- 	* config/mips/mips.c (mips_move_1word): Use subreg_regno_offset.
- 	(mips_move_2words): Use subreg_regno_offset.
- 	(mips_secondary_reload_class): Use subreg_regno_offset.
- 	* config/mips/mips.md (DImode plus, minus, move, and logical op
- 	splits): Fixup explicit subregs in rtl to use byte offsets.
- 	* config/mn10200/mn10200.c (print_operand): Use subreg_regno function.
- 	* config/mn10300/mn10300.c (print_operand): Use subreg_regno function.
- 	* config/ns32k/ns32k.md (udivmoddisi4): Fix explicit subregs in
- 	rtl to use byte offsets.
- 	* config/pa/pa.c (emit_move_sequence): Use SUBREG_BYTE.
- 	* config/pa/pa.md (floatunssisf2, floatunssidf2, mulsi3): fix explicit
- 	subregs to use byte offsets.
- 	* config/pdp11/pdp11.md (zero_extendhisi2, modhi3, modhi3+1):
- 	Fixup explicit subregs in rtl to use byte offsets.
- 	* config/romp/romp.c (memory_offset_in_range_p): Use SUBREG_BYTE
- 	and remove byte endian correction code.
- 	* config/sh/sh.c (output_movedouble): Use subreg_regno.
- 	(gen_ashift_hi): Use SUBREG_BYTE.
- 	(regs_used): Use subreg_regno_offset.
- 	(machine_dependent_reorg): Use subreg_regno_offset.
- 	* config/sh/sh.h (INDEX_REGISTER_RTX_P): Use SUBREG_BYTE.
- 	* config/sh/sh.md (DImode and DFmode move splits): Use subreg_regno.
- 	(movdf_i4): Subregs are byte offsets now.
- 	* config/sparc/sparc.c (ultra_find_type): Use SUBREG_BYTE.
- 	* config/sparc/sparc.h (ALTER_HARD_SUBREG): Removed.
- 	(REGMODE_NATURAL_SIZE): Override.
- 	(REG_SIZE): For SUBREG check float mode on SUBREG_REG's mode.
- 	* config/sparc/sparc.md (TFmode move splits): Generate SUBREGs
- 	with byte offsets.
- 	(zero_extendhisi2, zero_extendqidi2_insn, extendhisi2,
- 	extendqihi2, sign_extendqihi2_insn, sign_extendqisi2_insn,
- 	extendqidi2): Generate SUBREGs with byte offsets, also make sure
- 	it is congruent to SUBREG's mode size.
- 	(smulsi3_highpart_v8plus): Fix explicit subregs in rtl to use byte
- 	offsets.
- 	(cmp_siqi_trunc, cmp_siqi_trunc_set, cmp_diqi_trunc,
- 	cmp_diqi_trunc_set, lshrdi3_v8plus+1, lshrdi3_v8plus+2,
- 	lshrdi3_v8plus+3, lshrdi3_v8plus+4): Use proper
- 	SUBREG_BYTE offset for non-paradoxical subregs in patterns.
- 	* config/v850/v850.c (print_operand, output_move_double): Use
- 	subreg_regno function.
- 
- 2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (target_subdir): Use target_alias, not target.
- 	* configure: Rebuilt.
- 
- 	* config/sh/crtn.asm (init, fini): Restore r15 from r14, not the
- 	other way round.
- 	* config/sh/crti.asm: Fix typos in comments.
- 
- 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* pa.h: Revise comments for TARGET_NO_SPACE_REGS and
- 	TARGET_FAST_INDIRECT_CALLS.
- 	* pa.c (override_options): TARGET_NO_SPACE_REGS is now OK with
- 	-fPIC.  Don't warn.
- 	(return_addr_rtx): Short circuit export stub matching when
- 	TARGET_NO_SPACE_REGS.
- 	(output_millicode_call): For out of range calls, make -fPIC
- 	take precedence, then TARGET_PORTABLE_RUNTIME, then ble.  Don't
- 	return before delay slot checks when TARGET_PORTABLE_RUNTIME.
- 	* pa.md: Modify length attr calculation of all millicode insns to
- 	match above.
- 
- 2001-04-02  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* configure.in (gcc_cv_as_leb128): Correct name of cache variable.
- 	Require at least 2.11 in the version test.  Specifically check
- 	for and reject GAS version 2.10.90.
- 	* configure: regenerate.
- 
- 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* pa.c (override_options): Remove PIC profiling warning.
- 	(hp_profile_labelno): Delete.
- 	(hp_profile_label_rtx): Delete.
- 	(hp_profile_label_name): Delete.
- 	(pa_add_gc_roots): Remove reference to hp_profile_label_rtx.
- 	(output_function_prologue): Remove profiling code and all tests on
- 	profile_flag.  Move store of PIC_OFFSET_TABLE_REGNUM now that
- 	merge_sp_adjust_with_store can work for PIC and profiling.
- 	(hppa_expand_epilogue): Remove profile_flag test.
- 	(hppa_can_use_return_insn_p): Likewise.
- 	(hppa_init_pic_save): Emit before tail_recursion_reentry, and
- 	cater for PROFILE_HOOK.
- 	(hppa_profile_hook): New function.
- 	* pa.h (FUNCTION_PROFILER): Now does nothing.
- 	(PROFILE_HOOK): Define.
- 	(hppa_profile_hook): Declare.
- 	(PROFILE_BEFORE_PROLOGUE): Delete.
- 	(ASM_OUTPUT_REG_PUSH): Delete.
- 	(ASM_OUTPUT_REG_POP): Delete.
- 	* pa.md (call_profiler): Turn it into a call insn, and don't `use'
- 	r24.  Accept function name operand, and use this and a locally
- 	generated label to calculate pc-rel offset to func start.
- 
- 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* $(HOST_PREFIX_1)errors.o, $(HOST_PREFIX_1)ggc-none.o,
- 	ggc-common.o, ggc-simple.o, ggc-page.o, ggc-none.o: Depend on
- 	$(SYSTEM_H).
- 
- 2001-04-03  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Move errant HIGH and
- 	LO_SUM cases to where they belong.
- 
- 2001-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* except.h (lang_eh_type_covers): Mark extern.
- 	(lang_eh_runtime_type): Likewise.
- 
- 2001-04-02  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* genattr.c, gencheck.c, gencodes.c, genconfig.c, genflags.c,
- 	gengenrtl.c:  Wrap generated header in multiple-include guard.
- 	Improve error checking.
- 
- 2001-04-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Don't check for putenv.
- 	* configure: Regenerate.
- 	* gcc.c (putenv): Don't define.
- 	* vax/xm-vms.h: Handle putenv.
- 
- 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* ifcvt.c (noce_emit_move_insn): New.
- 	(noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_store_flag_inc, noce_try_store_flag_mask,
- 	noce_try_cmove, noce_try_cmove_arith, noce_try_minmax,
- 	noce_try_abs): Use it.
- 	(noce_process_if_block): Likewise.
- 	For STRICT_LOW_PART, take mode from its SUBREG.
- 
- 2001-04-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (fold): Before optimizing unsigned comparison with
- 	0x7fffffffU, make sure arg0 is integral type.
- 
- 2001-04-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-tree.texi: Document representation of wide strings.
- 
- 2001-04-01  Richard Henderson  <rth@redhat.com>
- 
- 	* except.h (expand_builtin_dwarf_fp_regnum): Declare.
- 
- Sun Apr  1 11:49:05 CEST 2001  Jan Hubicka  <jH@suse.cz>
- 
- 	* i386.md: remove obsoleted comments.
- 	(adddi_?): Rename to adddi_?_rex64; disable for 32bit.
- 	(x86_movsicc_0_m1_rex64): Rename to x86_movdicc_0_m1_rex64;
- 	fix output template.
- 
- 2001-03-31  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/libgcc.S (__mulhi3): Optimize previous change.
- 
- 2001-03-30  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* loop.c (load_mems): When generating a load from a pseudo, update
- 	REGNO_LAST_UID.
- 
- Fri Mar 30 17:36:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_split_long_move): Use change address to compensate
- 	stack pointer change in push instruction.
- 
- Fri Mar 30 00:31:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_movdfcc_eq): Fix constraint (sse_mov?fcc splitter): Use operands_match_p
- 	instead of rtx_equal_p; fix the output template.
- 
- Fri Mar 30 00:21:41 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_setcc): Support 64bit.
- 	(ix86_expand_int_movcc): Likewise.
- 	* i386.md (movdicc_rex64, x86_movsicc_0_m1_rex64, movdicc_c_rex64):
- 	New patterns.
- 
- 	* i386.md (allocate_stack_worker): Turn to expander.
- 	(allocate_stack_worker_1, allocate_stack_worker_rex64): New insns.
- 
- 	* i386.c (print_reg): Do not print x86_64 style regs on IA-32
- 
- 2001-03-29  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c [L__main]: Include unwind-dw2-fde.h instead of frame.h.
- 
- 2001-03-28  Matthew Hiller  <hiller@redhat.com>
- 
- 	* config/mn10300/mn10300.md (cmpsi): Fix first alternative's
- 	output template.
- 
- 	* MAINTAINERS: Added self.
- 
- 2001-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (cs-tconfig.h): Depend on CONFIG_H, not GCONFIG_H.
- 	Use ALL_CFLAGS not HOST_CFLAGS for sjlj detection.
- 
- 2001-03-28  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.md (movtf): Change DImode to TFmode in calls to
- 	operand_subword.
- 
- 2001-03-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.h (fatal_error): Add ATTRIBUTE_NORETURN.
- 
- 	* tradcif.y (yyerror): Likewise.  Add format specifier in call to
- 	`error'.
- 
- 	* tradcpp.c (macroexpand): Likewise for call to `error_with_line'.
- 
- 2001-03-28  DJ Delorie  <dj@redhat.com>
- 
- 	* Makefile.in (stage1_build): Revert CFLAGS patch.
- 
- 2001-03-28  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/libgcc.S (__mulhi3): Correct tests to exit the loop
- 	when multiplier or multiplicand is zero.
- 
- 2001-03-28  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* cselib.c (hash_rtx): Don't do tail recursion elimination by hand.
- 
- 	* config/ia64/ia64.c (update_set_flags): New function, broken out of
- 	rtx_needs_barrier.
- 	(set_src_needs_barrier): Likewise.
- 	(rtx_needs_barrier): For SET case, use these two functions.  Rework
- 	PARALLEL case to handle all inputs before all outputs.
- 	(emit_insn_group_barriers): Call init_insn_group_barriers only if we
- 	saw a label and no stop bit since then.
- 	(maybe_rotate, process_epilogue): Add prototypes.
- 
- 2001-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.h (EPILOGUE_USES): Use TARGET_AIX,
- 	not TARGET_TOC for special toc restore handling.
- 	* config/rs6000/rs6000.md (eh_return): Likewise.
- 
- 2001-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (eligible_for_epilogue_delay): False if
- 	current_function_calls_eh_return.
- 	(output_function_epilogue): Handle eh_return.
- 	* config/sparc/sparc.h (DOESNT_NEED_UNWINDER): Remove.
- 	(EH_RETURN_DATA_REGNO): New.
- 	(EH_RETURN_STACKADJ_RTX): New.
- 	(EH_RETURN_HANDLER_RTX): New.
- 	* config/sparc/sparc.md (call/short branch peepholes): Check
- 	can_throw_internal instead of in_same_eh_region.
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space
- 	for eh_return data registers.
- 	(rs6000_emit_prologue): Save eh_return data registers.
- 	(rs6000_emit_epilogue): Force inline restores if eh_return.
- 	Restore eh_return data registers.  Mind EH_RETURN_STACKADJ_RTX.
- 	* config/rs6000/rs6000.h (rs6000_stack_t): Add ehrd_offset.
- 	(EH_RETURN_DATA_REGNO, EH_RETURN_STACKADJ_RTX): New.
- 	(EPILOGUE_USES): True for TOC_REGISTER if calls_eh_return and
- 	the target uses one.
- 	* config/rs6000/rs6000.md (eh_epilogue, eh_reg_restore): Remove.
- 	(return_eh_si, return_eh_di): Remove.
- 	(eh_return): New, from corpse of eh_epilogue.
- 	(eh_set_lr_si, eh_set_lr_di): New.
- 
- 	* config/i386/i386.c (general_no_elim_operand): Disallow virtual regs.
- 	(ix86_save_reg): If maybe_eh_return, true for EH_RETURN_DATA_REGNOs.
- 	True for pic register if current_function_calls_eh_return.
- 	(ix86_expand_epilogue): Change "emit_return" argument into "style".
- 	Handle eh_return requirements.
- 	* config/i386/i386.h (EH_RETURN_DATA_REGNO): New.
- 	(EH_RETURN_STACKADJ_RTX): New.
- 	* config/i386/i386.md (exception_receiver): Remove.
- 	(eh_return, eh_return_1): New.
- 	* config/i386/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
- 
- 	* config/alpha/alpha.c (alpha_sa_mask): Add EH_RETURN_DATA_REGNOs.
- 	(alpha_mark_machine_status): No eh_epilogue_sp_ofs ...
- 	(alpha_expand_epilogue): ... use EH_RETURN_STACKADJ_RTX instead.
- 	* config/alpha/alpha.h (machine_function): Remove eh_epilogue_sp_ofs.
- 	(EH_RETURN_DATA_REGNO): New.
- 	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): New.
- 	* config/alpha/alpha.md (eh_epilogue): Remove.
- 	(exception_receiver): Use $26 for ldgp input.
- 	* config/alpha/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
- 
- 2001-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c: Rewrite entirely for IA-64 ABI exception handling.
- 	* except.h: Likewise.
- 
- 	* Makefile.in (LIB2ADDEH): Mention unwind-dw2*.c
- 	(LIB2ADDEHDEP): New.
- 	(LIB2FUNCS_EH): Remove.
- 	(LIB2ADD): Remove LIB2ADDEH.
- 	(libgcc.mk): Pass LIB2ADDEHDEP, don't pass LIB2FUNCS_EH.
- 	(LIBGCC_DEPS): Use LIB2ADDEHDEP.
- 	(crt{begin,end}[S].o): Likewise.
- 	(except.o): Update includes.
- 	* mklibgcc.in: Remove LIB2FUNCS_EH, add LIB2ADDEH, LIB2ADDEHDEP.
- 	(libgcc2_c_dep): Use LIB2ADDEHDEP.
- 
- 	* basic-block.h (struct basic_block_def): Remove eh_beg, eh_end.
- 	* bb-reorder.c (reorder_basic_blocks): Don't disable for EH.
- 	* builtins.def (BUILT_IN_EH_RETURN_DATA_REGNO): New.
- 	* builtins.c (expand_builtin): Implement it.
- 	[BUILT_IN_EH_RETURN]: Update for nr arguments change.
- 	* c-common.c (c_common_nodes_and_builtins): Declare it.
- 	* c-decl.c (init_decl_processing): Update __builtin_eh_return.
- 	* calls.c (libfunc_nothrow): Remove.
- 	(emit_library_call_value_1): Don't call it.
- 	* crtstuff.c: Include unwind-dw2-fde.h instead of frame.h.
- 	* dwarf2.h (dwarf_call_frame_info): Add dwarf2.1 elements.
- 	(DW_EH_PE_*): New defines for pointer encoding in .eh_frame.
- 	* dwarf2out.c (struct dw_fde_struct): Add uses_eh_lsda, funcdef_number.
- 	(current_funcdef_number): Globalize.
- 	(output_call_frame_info): Emit frame data if an lsda is needed.
- 	Generate augmentation for personality routine.  Don't play with
- 	difference symbols.
- 	(dwarf2out_begin_prologue): Record funcdef_number.
- 	* dwarf2out.h (current_funcdef_number): Declare.
- 	* expr.c (expand_expr): Update for except.h name changes.
- 	Remove POPDCC_EXPR, POPDHC_EXPR.  Add EXC_PTR_EXPR.
- 	* expr.h (LTI_throw, LTI_rethrow): Remove.
- 	(LTI_sjthrow, LTI_sjpopnthrow, LTI_terminate): Remove.
- 	(LTI_eh_rtime_match): Remove.
- 	(LTI_unwind_resume, LTI_eh_personality): Add.
- 	(LTI_unwind_sjlj_register, LTI_unwind_sjlj_unregister): Add.
- 	* final.c (final): Don't call check_exception_handler_labels,
- 	init_insn_eh_region, or free_insn_eh_region.
- 	(final_scan_insn): Always emit debug labels for
- 	NOTE_INSN_EH_REGION notes.
- 	* flags.h (flag_new_exceptions): Remove.
- 	* flow.c (entry_exit_blocks): Remove eh_beg, eh_end.
- 	(record_active_eh_regions): Remove.
- 	(count_basic_blocks): Check all instructions for REG_EH_REGION.
- 	Use can_throw_internal.
- 	(find_basic_blocks_1): Likewise.
- 	(move_stray_eh_region_notes): Remove.
- 	(find_label_refs): No eh_return_stub_label.
- 	(make_edges): Likewise.  No init/free_eh_nesting_info.  Handle RESX.
- 	(make_eh_edge): No eh_nest_info.  Update for reachable_handlers
- 	changes.
- 	(delete_unreachable_blocks): Don't track deleted handlers.
- 	(flow_delete_block): Use maybe_remove_eh_handler.
- 	(delete_eh_regions): Remove.
- 	(merge_blocks): Don't check for eh region match.
- 	(mark_regs_live_at_end): Handle EH_RETURN_DATA_REGNO,
- 	EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX.
- 	(init_propagate_block_info): Disable dead frame store optimization
- 	when current_function_calls_eh_return.
- 	(dump_bb): Don't print eh_beg, eh_end.
- 	* function.c (fixup_var_refs): No catch_clauses.
- 	(expand_function_end): Likewise.  Call expand_eh_return before
- 	the return register use.  Call sjlj_emit_function_exit_after.
- 	(expand_function_start): Force pseudo DECL_RESULT if sjlj exceptions.
- 	* function.h (struct function): Add calls_eh_return, uses_eh_lsda.
- 	* ifcvt.c (dead_or_predicable): Remove eh region check.
- 	* integrate.c (function_cannot_inline_p): Disallow __builtin_eh_return.
- 	Don't check for EH vs parameters.
- 	(expand_inline_function_eh_labelmap, eif_eh_map): Remove.
- 	(expand_inline_function): Call duplicate_eh_regions.
- 	(copy_insn_list): Don't handle NOTE_INSN_EH_REGION_BEG/END.
- 	(copy_insn_notes): Remap REG_EH_REGION notes.
- 	(copy_rtx_and_substitute): Remove SYMBOL_REF_NEED_ADJUST check.
- 	* integrate.h (struct inline_remap): Add local_return_label.
- 	* jump.c (jump_optimize_1): Don't init/free_insn_eh_region, nor
- 	check_exception_handler_labels, nor exception_optimize.
- 	(find_cross_jump): No EH region check.
- 	* optabs.c (init_optabs): Update for changed eh libfuncs.
- 	* rtl.def (RESX): New.
- 	* rtl.h (SYMBOL_REF_NEED_ADJUST): Remove.
- 	* stmt.c (expand_decl_cleanup): Simplify using_eh_for_cleanups_p
- 	checks.  Update for except.h name changes.
- 	(expand_cleanups): Likewise.
- 	(expand_dcc_cleanup, expand_dhc_cleanup): Remove.
- 	* toplev.c (dump_file_index, dump_file): Add .02.eh dump.
- 	(compile_file): Call init_eh before init_optabs.  Don't
- 	output_exception_table here.
- 	(rest_of_compilation): Call convert_from_eh_region_ranges,
- 	convert_to_eh_region_ranges, output_function_exception_table.
- 	Don't emit_eh_context.
- 	* tree.def (POPDHC_EXPR, POPDCC_EXPR): Remove.
- 	(EXC_PTR_EXPR): New.
- 
- 	* md.texi (eh_epilogue): Remove.
- 	(eh_return): Document.
- 	* tm.texi (EH_RETURN_DATA_REGNO): Document.
- 	(EH_RETURN_STACKADJ_RTX, EH_RETURN_HANDLER_RTX): Document.
- 
- 	* eh-common.h: Remove file.
- 	* frame-dwarf2.c, frame.c, frame.h: Remove files.
- 	* libgcc2.c (L_eh): Remove.
- 
- 	* unwind-dw2-fde.c: New file, largely copied from frame.c.
- 	* unwind-dw2-fde.h: New file.
- 	* unwind-dw2.c: New file, largely cribbed from frame-dwarf2.c.
- 	* unwind-sjlj.c, unwind.h, unwind.inc: New files.
- 	* libgcc-std.ver: Update for eh symbols.
- 
- 2001-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	* regmove.c (perhaps_ends_bb_p): Use can_throw_internal to
- 	reduce false positives.
- 	(regmove_optimize): Disable if flag_non_call_exceptions.
- 
- 	* stmt.c (expand_return): Remove always true predicate.
- 	(expand_decl_cleanup_no_eh): Remove dead code.
- 
- 	* sched-deps.c (sched_analyze_insn): Consolidate scheduling
- 	barrier code.  Add a scheduling barrier if a non-call insn
- 	can throw internally.
- 
- 	* rtlanal.c (rtx_addr_can_trap_p): Virtual registers cannot trap.
- 	Auto-inc addresses trap only if their base register does.
- 
- 	* except.c (can_throw_internal): Rename from can_throw.
- 	* except.h, resource.c: Update references.
- 
- 	* integrate.c (copy_insn_list): Use returnjump_p.
- 	(copy_insn_notes): Recurse for CALL_PLACEHOLDER.
- 
- 	* function.h (struct function): Move all boolean valued fields
- 	to single bit fields at the end of the struct.
- 
- 	* bb-reorder.c, dwarf2out.c, except.c, except.h, flow.c,
- 	jump.c, toplev.c:
- 	Rename asynchronous_exceptions to flag_non_call_exceptions.
- 
- 	* gthr-single.h (UNUSED): New.  Distinguish between how C
- 	and C++ mark unused function arguments.  Use throughout.
- 
- 	* Makefile.in (cs-tconfig.h): Copy USING_SJLJ_EXCEPTIONS
- 	value to target configuration header.
- 	* configure.in (CONFIG_SJLJ_EXCEPTIONS): New.
- 	* config.in, configure: Rebuild.
- 	* except.h (USING_SJLJ_EXCEPTIONS): New.  Define based on
- 	configuration and target defines.
- 	(exceptions_via_longjmp): Remove.
- 	* dwarf2out.c, except.c, final.c, toplev.c, config/ia64/ia64.c:
- 	Use USING_SJLJ_EXCEPTIONS instead of exceptions_via_longjmp.
- 
- 	* except.h (flag_non_call_exceptions): Move ...
- 	* flags.h: ... here.
- 
- 	* combine.c (distribute_notes) [REG_EH_REGION]: If non-call
- 	exceptions, put the note on the trapping instruction.
- 
- 	* flags.h (flag_new_exceptions): Remove.
- 	* toplev.c: Don't set it.
- 	* final.c: Don't check it.
- 	* except.c: Provide stub definition.
- 
- 	* flow.c (tidy_fallthru_edges): Don't combine complex edges.
- 	(calculate_global_regs_live): Kill call-clobbered registers
- 	across exception edges.
- 	* reg-stack.c (convert_regs_1): Kill the entire target stack
- 	across non-call exception edges.
- 
- 	* flow.c (cleanup_cfg): Take no argument.
- 	* output.h, sibcall.c, toplev.c: Update all calls.
- 
- 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Don't check for bcopy.
- 	* configure, config.in: Regenerate.
- 
- 	* system.h: Don't define or prototype bcopy, instead poison it.
- 
- 2001-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (expand_function_start): Set DECL_REGISTER on
- 	a pseudo used for DECL_RESULT.
- 
- 	* rtl.h (LCT_NORETURN): New.
- 	* calls.c (emit_library_call_value_1): Handle it.
- 
- 2001-03-27  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (objc_init): Use dump_base_name.
- 	(gen_declaration): Clear the buffer arg.
- 	(gen_declaration_1): New function, body of gen_declaration.
- 	(adorn_decl): Call gen_declaration_1 instead of gen_declaration.
- 	(gen_method_decl): Ditto, plus always clear buffer arg.
- 	(error_with_ivar): Simplify.
- 	(warn_with_method): Ditto.
- 	(build_message_expr): Don't clear buffers.
- 	(dump_interface): Ditto.
- 	(objc_debug): Ditto.
- 	(build_keyword_selector): Clear the buffer by only zeroing
- 	the first element.
- 	(objc_implementation_context): Declare.
- 	(start_class): Warn about missing @end.
- 	(finish_objc): Ditto.
- 
- 2001-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* reload1.c (eliminate_regs): Don't abort on MEM USEs.
- 
- 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (SYSTEM_H): Define.
- 	Depend on $(SYSTEM_H), not system.h.
- 
- 	* objc/Make-lang.in: Depend on $(SYSTEM_H), not system.h.
- 
- 2001-03-27  Jim Wilson  <wilson@redhat.com>
- 
- 	* final.c (final_scan_insn, case NOTE_INSN_BASIC_BLOCK): Call
- 	IA64_UNWIND_EMIT.
- 	* config/ia64/ia64.c (block_num, need_copy_state): New static vars.
- 	(process_epilogue): New static function.
- 	(process_set): Call process_epilogue instead of emitting .restore
- 	directly.
- 	(process_for_unwind_directive): Handle NOTE_INSN_BASIC_BLOCK.
- 
- 	* flow.c (struct reg_cond_life_info): New fields orig_condition
- 	and stores.
- 	(init_propagate_block_info): Set new fields.
- 	(mark_regno_cond_dead): Set and use new fields.
- 	(flush_reg_cond_reg_1): Likewise.
- 	(and_reg_cond, case AND): Check for redundant AND conditions.
- 	(mark_used_reg): Delete unnecessary clears before freeing splay trees.
- 	Set new fields.
- 
- 2001-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (stringify_arg): Null terminate strings.
- 
- 2001-03-27  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc (m68hc11-*-*, m68hc12-*-*): Convert to new tm.h
- 	inclusion style.  xm-m68hc11.h no longer exists.
- 	* config/m68hc11/xm-m68hc11.h: Delete file.
- 	* config/m68hc11/m68hc12.h: Convert to new tm.h inclusion style.
- 
- 	* config/m68hc11/m68hc11.h: Convert to new tm.h inclusion style.
- 	Don't define GCC_VERSION, N_, or PARAMS; don't include
- 	gansidecl.h or stdio.h.  Define inhibit_libc here.
- 	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
- 	Delete code conditioned on #if GCC_VERSION == 2095.
- 
- 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
- 	Make code conditioned on #if GCC_VERSION > 2095 unconditional.
- 	Delete code conditioned on #if GCC_VERSION == 2095.
- 
- 2001-03-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h: Include symcat.h.
- 	(STRINGIFY): Don't define.
- 
- 	* configure.in: Adjust comment.
- 
- 	* builtins.c: Use STRINGX, not STRINGIFY.
- 	* gencheck.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* protoize.c: Likewise.
- 
- 	* cpplex.c: Don't include symcat.h.
- 	* cpplib.c: Likewise.
- 
- 	* gansidecl.h (HAVE_STRINGIZE): Don't define.
- 
- 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* c-typeck.c (digest_init): Fold init expression.
- 
- 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sbitmap.c (sbitmap_copy): Call memcpy, not bcopy.
- 
- 2001-03-27  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* except.c (eh_regs): Save results of build_pointer_type to a temp
- 	as FUNCTION_VALUE macro may evaluate its args multiple times.
- 
- 2001-03-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (DECL_NUM_STMTS): New macro.
- 	* c-decl.c (duplicate_decls): Copy DECL_NUM_STMTS, not
- 	DECL_FRAME_SIZE.
- 	(pushdecl): Likewise.
- 	* c-semantics.c (add_stmt): Update DECL_NUM_STMTS.
- 	* integrate.c (expand_inline_function): Don't check
- 	DECL_FRAME_SIZE.
- 	* print-tree.c (print_node): Don't print it.
- 	* toplev.c (rest_of_compilation): Don't try to inline when
- 	flag_no_inline is on.
- 	* tree.h (DECL_FRAME_SIZE): Remove.
- 	(tree_decl): Adjust accordingly.
- 
- 2001-03-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* combine.c (try_combine): Use memcpy, not bcopy.
- 
- 	* genattrtab.c (expand_units): Likewise.
- 
- Mon Mar 26 15:55:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (push mem DI peep2): New.
- 	(mov 0, mov -1 peep2): Handle 64bit.
- 	(lea to arithmetics peep2): Handle 64bit leas.
- 	(rsp arithmetics to push/pop peep2s): New.
- 
- 	* i386.md (truncdfsf2_3, trunctfsf2_2): Change predicate to memory_operand.
- 
- Mon Mar 26 14:35:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (struct machine_function): Add save_varrargs_registers.
- 	(ix86_save_varrargs_registers): New macro.
- 	(ix86_frame_layout): Support 64bit; support red zones and varrargs area.
- 	(ix86_expand_prologue): Likewise.
- 	(ix86_emit_epilogue_esp_adjustement): Likewise.
- 	(ix86_expand_epilogue): Likewise.
- 	* i386.md (pro_epilogue_adjust_stack): Turn to expander; support 64bit.
- 	(pro_epilogue_adjust_stack_1): New insn.
- 	(pro_epilogue_adjust_stack_rex64): Likewise.
- 	* i386.h (MASK_NO_RED_ZONE): New constant.
- 	(TARGET_RED_ZONE): New macro.
- 	(TARGET_OPTIONS): Add "red-zone" and "no-red-zone"
- 	(RED_ZONE_SIZE): New constant.
- 	(RED_ZONE_RESERVE): New constant.
- 
- 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c (set_float_handler): Use memcpy, not bcopy.
- 
- 2001-03-25  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (umodqi3): Output a tab instead of a
- 	space.
- 	(modqi3): Likewise.
- 	(umodhi3): Likewise.
- 	(modhi3): Likewise.
- 
- 2001-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mkconfig.sh (DEFINES): Handle entries with '='.
- 
- 	* config.gcc: Don't use i370/xm-mvs.h or ns32k/xm-pc532-min.h.
- 	Set xm_defines to MACRO=value instead.
- 
- 	* i370/xm-mvs.h: Delete.
- 
- 	* ns32k/xm-pc532-min.h: Likewise.
- 
- Sun Mar 25 15:01:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (ashldi3, ashrdi3, lshrdi3): Change predicates to
- 	shiftdi_operand;
- 	use ix86_expand_binary_operator
- 	(?sh??i_?): Disable for 64bit.
- 	* i386.h (PREDICATE_CODES): Add shiftdi_operand.
- 	* i386.c (shiftdi_operand): New predicate.
- 
- 	* (ashldi3_1_rex64, ashldi3_cmp_rex64, ashlsi3_1_zext, ashlsi3_cmp_zext,
- 	ashrdi3_63_rex64, ashrdi3_1_one_bit_rex64, ashrdi3_1_rex64,
- 	ashrdi3_one_bit_cmp_rex64, ashrdi3_cmp_rex64, ashrsi3_31_zext,
- 	ashrsi3_1_one_bit_zext, ashrsi3_1_zext, ashrsi3_one_bit_cmp_zext,
- 	ashrsi3_cmp_zext, lshrdi3_1_one_bit_rex64, lshrdi3_1_rex64,
- 	lshrdi3_cmp_one_bit_rex64, lshrdi3_cmp_rex64, lshrsi3_1_one_bit_zext,
- 	lshrsi3_1_zext, lshrsi3_cmp_one_bit_zext, lshrsi3_cmp_zext,
- 	rotlsi3_1_one_bit_rex64, rotldi3_1_rex64,
- 	rotlsi3_1_one_bit_zext, rotlsi3_1_zext, rotrdi3_1_one_bit_rex64,
- 	rotrdi3_1_rex64, rotrsi3_1_one_bit_zext, rotrsi3_1_zext): New patterns.
- 	(rotldi3, rotrdi3): New expanders.
- 
- Sun Mar 25 14:25:33 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movstrsi): Move offline.
- 	(movstrdi): New.
- 	(strmovdi_rex64): New.
- 	(strmov?i): Accept 64bit.
- 	(strmov?i_rex64): New.
- 	(strmov?i_rex_1): New.
- 	(strmov?i_1): Disable for 64bit.
- 	(rep_mov?i_rex64): New.
- 	(rep_mov?i): Disable for 64bit.
- 	(clrstrsi): Move offline.
- 	(strset?i_rex64): New.
- 	(strset?i: Accept 64bit.
- 	(rep_stos?i): Disable for 64bit.
- 	(rep_stos?i_rex64): New.
- 	(strset?i_rex_1): New.
- 	(strset?i_1): Disable for 64bit.
- 	(cmpstrsi): Accept 64bit.
- 	(cmpstrsi_nz_1): Rename to cmpstrqi_nz_1; Disable for 64bit.
- 	(cmpstrqi_nz_rex_1): New.
- 	(cmpstrsi_1): Rename to cmpstrqi_1; Disable for 64bit.
- 	(strlensi): Move offline.
- 	(strlendi): New.
- 	(strlenqi_1): Disable for 64bit; fix constraints.
- 	(strlenqi_rex_1): New.
- 	* i386.c (ix86_adjust_counter): New static function.
- 	(ix86_zero_extend_to_Pmode): Likewise.
- 	(ix86_expand_aligntest): Likweise.
- 	(ix86_expand_strlensi_unroll_1): Make static; update for 64bit.
- 	(ix86_expand_movstr): New global function.
- 	(ix86_expand_clrstr): New global function.
- 	(ix86_expand_strlen): New global function.
- 	* i386-protos.h (ix86_expand_movstr, ix86_expand_clrstr,
- 	ix86_expand_strlen): Declare.
- 	(ix86_expand_strlensi_unroll_1): Delete.
- 
- Sat Mar 24 23:15:19 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cmpdi): Fix operand predicates.
- 	(cmpdi_ccno_1_rex64, cmpdi_minus_1_rex64, cmpdi_1_rex64,
- 	 cmpdi_1_insn_rex64): New patterns.
- 	(adddi3): Turn to expander.
- 	(adddi3_1, adddi3_carry_rex64, adddi3_cc_rex64): New patterns.
- 	(addsi3_carry_zext): New pattern.
- 	(adddi_?_rex64): New patterns and splitters.
- 	(addsi_?_zext): New patterns.
- 	(subsi3_carry_zext): New pattern.
- 	(subdi_?_rex64): New patterns and splitters.
- 	(iorsi_?_zext): New patterns.
- 	(iordi_?_rex64): New patterns and splitters.
- 	(iorsi_?_zext): New patterns.
- 	(iorsi_?_zext_imm): New patterns.
- 	(xorsi_?_zext): New patterns.
- 	(xordi_?_rex64): New patterns and splitters.
- 	(xorsi_?_zext): New patterns.
- 	(negdi*): New patterns.
- 	(one_cmpldi*): Likewise.
- 	(one_cmplsi*_zext, negsi*_zext): Likewise.
- 	(testqi_ext_3_rex64): New pattern.
- 
- Sat Mar 24 21:13:28 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (ix86_split_long_move): Return void.
- 	* i386.c (ix86_split_to_parts): Handle 64bit target.
- 	(ix86_split_long_move): Likewise.
- 	* i386.md (all calls to ix86_split_long_move): Update.
- 
- 2001-03-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/iris4.h (ASM_OUTPUT_ASCII): Rename local variables
- 	to avoid shadowing arguments.
- 
- 2001-03-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (make_decl_rtl): Don't append var_labelno discriminator
- 	to variable names where DECL_NAME is different from
- 	DECL_ASSEMBLER_NAME.
- 
- 2001-03-23  Jim Wilson  <wilson@redhat.com>
- 
- 	* varasm.c (make_decl_rtl): Add TREE_PUBLIC check to abort test.
- 	(assemble_alias): Call make_decl_rtl.
- 
- Fri Mar 23 16:59:08 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* stor-layout.c (layout_type): Give OFFSET_TYPE a MODE_INT type.
- 
- 2001-03-23  Bryce McKinlay  <bryce@albatross.co.nz>
- 
- 	* extend.texi: Document the "java_interface" attribute.
- 
- 2001-03-22  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* mkconfig.sh: Use a subshell with redirected stdout,
- 	instead of closing stdout and confusing commands that run
- 	afterward.  Throw away output of cmp.
- 
- 2001-03-22  Gordon Sadler  <gbsadler1@lcisp.com>
- 
- 	* Makefile.in (stage1_build): Pass CFLAGS to stage1_build.
- 
- Thu Mar 22 22:15:59 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (zero_extendsidi2_32): Break out from ...
- 	(zero_extendsidi2): ... here ; turn to expander.
- 	(zero_extendsidi2_rex64): New.
- 	(extendsidi2_32): Break out from ...
- 	(extendsidi2): ... here ; turn to expander.
- 	(extendsidi2_rex64): New.
- 	(zero_extendhidi2, zero_extendqidi2, extendhidi2, extendqidi2): New.
- 	(trunc?f?f splitters): Add 64bit versions.
- 
- Thu Mar 22 21:41:16 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pushsi, pushsi2_prologue): Disable.
- 	(pushsi2_rex64): New.
- 	(movabs?i_1_rex64, movabs?i_2_rex64): New.
- 	(movqi_ext_1): Disable for 64bit.
- 	(movqi_ext_1_rex64): New.
- 	(pushdi2_rex64): New pattern, peep2s and splitter.
- 	(pushdi2_prologue_rex64): New pattern.
- 	(popdi1_epilogue_rex64, popdi1, movdi_xor_rex64, movdi_or_rex64):
- 	Likewise.
- 	(movdi splitters): Disable for 64bit.
- 	(movdi_1_rex64): New pattern, peep2s and splitters.
- 	(swapdi): New pattern.
- 	(pushsf): Disable for 64bit.
- 	(pushsf_rex64): New pattern and splitter.
- 	(pushdf_nointeger): Disable for 64bit.
- 	(pushdf_integer): Handle the 64bit case.
- 	(pushtf): Likewise; update splitters.
- 
- 2001-03-22  Richard Henderson  <rth@redhat.com>
- 
- 	* mkconfig.sh: Include insn-flags.h.
- 	* Makefile.in (CONFIG_H): Include insn-flags.h.
- 	(lots of objects): Remove insn-codes.h and insn-flags.h.
- 
- 	* alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
- 	integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
- 	regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
- 	avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
- 	dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
- 	i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
- 	m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
- 	mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
- 	pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
- 	v850/v850.c, vax/vax.c:
- 	Don't include insn-flags.h.
- 
- 	* diagnostic.c, expr.h, reload.c, toplev.c:
- 	Don't include insn-codes.h.
- 
- 	* builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
- 	final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
- 	c4x/c4x.c, i960/i960.c, mips/mips.c:
- 	Don't include insn-codes.h or insn-flags.h.
- 
- 	* genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
- 	or insn-flags.h in the generated code.
- 	* genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
- 	(main): Forward declare struct rtx_def.
- 
- 2001-03-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi (-ffast-math): Remove duplicate line about
- 	__FAST_MATH__.
- 
- 	* gcc.texi: Remove more obsolete documentation of bugs and
- 	installation problems.
- 
- 2001-03-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (movsi_h8300hs): Split the 2nd alternative
- 	into two parts.
- 
- 2001-03-20  Jason Merrill  <jason@redhat.com>
- 
- 	* collect2.c (is_ctor_dtor): Always use '_' in the file fn names,
- 	not '.' or '$'.
- 	* tree.c (FILE_FUNCTION_FORMAT): Likewise.
- 	* varasm.c (CHKR_PREFIX): Likewise.
- 
- Wed Mar 21 14:27:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c (hash_scan_set): An expression is not anticipatible if it
- 	is part of a multi-SET insn.
- 
- 	* cse.c (find_comparison_args): Remove previous change.
- 	* ifcvt.c (noce_process_if_block): When moving an insn, remove any
- 	REG_EQUAL notes.
- 
- 	* config/i386/i386.md (conditional_trap): Remove warning.
- 
- 	* recog.c (push_operand): Fix error in last change that caused
- 	undefined symbol on many targets.
- 
- 	* sdbout.c: #include ggc.h.
- 	(sdbout_init): Move to end of file.
- 	Call ggc_add_tree_root for anonymous_types.
- 	(sdbout_symbol): Use DECL_NAME for local, not DECL_ASSEMBLER_NAME.
- 	(sdbout_one_type): Use DECL_NAME for field name.
- 	* Makefile.in (sdbout.o): Show includes ggc.h.
- 
- Wed Mar 21 20:33:26 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (override_options): Default ix86_regparm to REGPARM_MAX.
- 	(override_options): Use properlimits for preferred_stack_boundary.
- 	(ix86_valid_type_attribute_p): Disable stdcall and cdecl attributes
- 	on x86_64.
- 	(ext_register_operand): Accept DImode.
- 	(load_pic_register): Abort on 64bit.
- 	(gen_push): Use Pmode instead of SImode.
- 	(ix86_save_reg): Pic reg is never used on 64bit.
- 	(ix86_expand_prologue): Likewise.
- 	(ix86_emit_save_regs): Use Pmode instead of SImode.
- 	(legitimate_address_p): Check displacement for 64bit.
- 	(print_operand): Avoid outputting of (%rip) on 64bit.
- 	(print_operand_address): Output (%rip) where possible.
- 	(split_di): Abort on 64bit registers.
- 	(ix86_expand_branch): DImode comparison is simple for x86_64.
- 	(memory_address_length): Recognize memory addresses formed using
- 	PRE/POST modify.
- 	(ix86_data_alignment, ix86_local_alignment): Align arrays to 16 bytes
- 	for x86_64.
- 	* i386.h (TARGET_USE_SAHF): Disable for 64bit.
- 
- Wed Mar 21 18:51:19 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (push_operand): Recognize new format of push instructions.
- 
- Wed Mar 21 10:53:57 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pushqi1): New.
- 	* i386-protos.h (x86_64_general_operand, x86_64_szext_general_operand,
- 	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
- 	x86_64_immediate_operand, x86_64_immediate_operand,
- 	x86_64_zext_immediate_operand): Declare.
- 	* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
- 	x86_64_nonmemory_operand, x86_64_szext_nonmemory_operand,
- 	x86_64_immediate_operand, x86_64_immediate_operand,
- 	x86_64_zext_immediate_operand): define.
- 	* i386.h (PREDICATE_CODES): Add new predicates.
- 
- Wed Mar 21 10:25:13 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pophi1, popqi1, pushqi1): Remove.
- 
- 	* expr.c (emit_single_push_insn): New function.
- 	(move_by_pieces): Accept NULL as destination for push instructions.
- 	(gen_push_operand): Kill.
- 	(emit_push_insn): Pass NULL when pushing; avoid updating of
- 	stack_pointer_delta.
- 	* expr.h (gen_push_operand): Kill.
- 
- Tue Mar 20 20:15:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.texi (COMPARE): Clarify documentation and reference section
- 	on comparisons.
- 
- 2001-03-20  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (get_static_reference): Use NULL_TREE.
- 	(get_object_reference): Ditto.
- 	(error_with_ivar): Use error_with_file_and_line.
- 	(warn_with_method): Use warning_with_file_and_line.
- 
- 2001-03-20  Tom Tromey  <tromey@redhat.com>
- 
- 	* libgcc-std.ver: Added __fixunssfsi and __fixunsdfsi.
- 
- 2001-03-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (set_decl_assembler_name): Set DECL_ASSEMBLER_NAME for
- 	variables that are TREE_PUBLIC, even if not TREE_STATIC.
- 
- 2001-03-20  DJ Delorie  <dj@redhat.com>
- 
- 	* Makefile.in (install-libgcc): Pass complete list of variables.
- 	(install-multilib): Ditto.
- 
- 2001-03-20  David Billinghurst  <David.Billinghurst@riotinto.com>
- 
- 	* config/i386/cygwin.h: Declare ctor_section, dtor_section
- 	drectve_section, switch_to_section.
- 
- 	* winnt.c: Declare functions associated_type, gen_stdcall_suffix,
- 	i386_pe_dllexport_p, i386_pe_dllimport_p, i386_pe_mark_dllexport,
- 	i386_pe_mark_dllimport.
- 
- 2001-03-20  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* config/i386/cygwin.h: Include <stdio.h> Declare and constify
- 	functions i386_pe_*.
- 
- 	* config/i386/winnt.c: Include "tm_p.h" and "toplev.h" Constify
- 	i386_pe_* functions with char * arguments.
- 
- 2001-03-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (movsf_ie): Fix output patterns for fpul load
- 	and store.
- 	(movsi_ie): Introduce fpul store.
- 
- 2001-03-20  Alan Modra  <alan@linuxcare.com.au>
- 
- 	* Makefile.in (OBJS): Remove hashtab.o.
- 
- 2001-03-19  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (maybe_objc_method_name): Remove, never called.
- 	* c-lang.c (maybe_objc_method_name): Ditto.
- 	* c-tree.h (maybe_objc_method_name): Remove decl.
- 
- 2001-03-19  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.c (init_gcc_specs): Fix comment.
- 
- 2001-03-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Compute DECL_ASSEMBLER_NAME lazily.
- 	* tree.h (DECL_ASSEMBLER_NAME): Compute it lazily.
- 	(DECL_ASSEMBLER_NAME_SET_P): New macro.
- 	(SET_DECL_ASSEMBLER_NAME): Likewise.
- 	(COPY_DECL_ASSEMBLER_NAME): Likewise.
- 	(set_decl_assembler_name): Declare.
- 	(lang_set_decl_assembler_name): Likewise.
- 	* tree.c (lang_set_decl_assembler_name): New variab.e
- 	(set_decl_assembler_name): New function.
- 	(init_obstacks): Set lang_set_decl_assembler_name.
- 	(build_decl): Don't set DECL_ASSEMBLER_NAME.
- 	* c-decl.c (duplicate_decls): Use SET_DECL_ASSEMBLER_NAME,
- 	COPY_DECL_ASSEMBLER_NAME, etc.  Don't set DECL_ASSEMBLER_NAME
- 	where it's not necessary.
- 	(builtin_function): Likewise.
- 	(finish_decl): Likewise.
- 	* dbxout.c (dbxout_type_methods): Likewise.
- 	* ggc-common.c (ggc_mark_trees): Likewise.
- 	* profile.c (output_func_start_profiler): Likewise.
- 	* varasm.c (make_decl_rtl): Likewise.
- 
- 	* cse.c (find_comparison_args): Update documentation.  Fix
- 	mishandling of COMPARE operations.
- 
- 	* tree.def (ABS_EXPR): Add documentation.
- 	* fold-const.c (fold): Improve folding of ABS_EXPRs.
- 
- 2001-03-19  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in (hash.o): Depend on $(GCONFIG_H), not $(CONFIG_H).
- 
- 2001-03-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* crtstuff.c (init_dummy): Use CRT_END_INIT_DUMMY if defined.
- 	Remove ia32 linux PIC kludge and move it...
- 	* config/i386/linux.h (CRT_END_INIT_DUMMY): ...here.
- 
- Mon Mar 19 18:53:54 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (absdf2 expander): Fix 64bit case.
- 
- 2001-03-19  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* Makefile.in: Have splay-tree.o depend on $(GCONFIG_H).
- 
- 2001-03-16  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/ia64/libgcc-ia64.ver: Add __ia64_backtrace.
- 
- 2001-03-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* README.X11: Remove obsolete file.
- 
- 2001-03-18  Anthony Green  <green@redhat.com>
- 
- 	* config/pj/pj.h: Remove some trailing commas.
- 	(ASM_SPEC): Use -EB and -EL, not -mb and -ml.
- 
- 2001-03-18  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (ACCUMULATE_OUTGOING_ARGS, PUSH_ARGS): Move from ...
- 	* calls.c: ... here.
- 	* combine.c, expr.c, final.c, function.c toplev.c: Don't provide
- 	defaults for them here.
- 
- 2001-03-17  Anthony Green  <green@redhat.com>
- 
- 	* config/pj/lib1funcs.S: Fix broken comment.
- 	* config/pj/pj.h (LOCAL_LABEL_PREFIX): Prefix internal
- 	labels with '.'.
- 
- 2001-03-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi: Remove obsolete information relating to build and
- 	installation problems with enquire or the Pyramid C compiler.
- 
- 2001-03-17  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (queue_reg_save): New.
- 	(flush_queued_reg_saves, clobbers_queued_reg_save): New.
- 	(dwarf2out_frame_debug_expr): Call queue_reg_save instead of
- 	dwarf2out_reg_save.
- 	(dwarf2out_frame_debug): Call flush_queued_reg_saves when needed.
- 	(cfa, cfa_store, cfa_temp): Make static.
- 	* final.c (final_scan_insn): Always call dwarf2out_frame_debug.
- 
- 2001-03-17  Richard Henderson  <rth@redhat.com>
- 
- 	* integrate.h (struct inline_remap): Add local_return_label.
- 	* integrate.c (expand_inline_function): Initialize it and emit
- 	it after copy_insn_notes.
- 	(copy_insn_list): Don't store local_return_label here.
- 	(copy_insn_notes): New function split out from copy_insn_list.
- 
- 2001-03-17  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (lookup_filename): Emit .file if the assembler
- 	is generating .debug_line.
- 	(dwarf2out_init): Add main_input_filename to the file table first.
- 	* configure.in (as_dwarf2_debug_line): Test with file number 1
- 	instead of file number 0.
- 
- Sat Mar 17 11:52:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (undobuf): Remove field previous_undos; all refs deleted.
- 	(gen_rtx_combine): Deleted; all references changed as appropriate.
- 	(gen_unary): Deleted; all refs changed to call simplify_gen_unary.
- 
- 	* print-tree.c (print_node): Print DECL_NONADDRESSABLE_P.
- 
- 2001-03-17  David Billinghurst  <David.Billinghurst@riotinto.com>
- 
- 	* config/i386/xm-cygwin.h: Include <sys/cygwin.h.  Remove unused
- 	variable.
- 
- 2001-03-16  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_compute_frame_size): If reg_fp is zero,
- 	then set it to LOC_REG (79) instead of aborting.
- 
- 2001-03-16  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* gccbug.in:  Remove high priority.
- 
- 2001-03-16  Richard Henerson  <rth@redhat.com>
- 
- 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): Substitute leading od
- 	output with a space instead of deleting it.
- 	* configure: Regenerate.
- 
- 2001-03-16  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT): New utility macro which
- 	handles the gory details of converting an object file into
- 	something that's safe to grep.
- 	(gcc_AC_C_COMPILE_BIGENDIAN): Rename to
- 	gcc_AC_C_COMPILE_ENDIAN.  Use gcc_AC_EXAMINE_OBJECT.  Put
- 	newlines at either end of the string we're looking for.
- 	Make 'checking ...' message less stilted.
- 	(gcc_AC_C_FLOAT_FORMAT): Use gcc_AC_EXAMINE_OBJECT.  Handle
- 	ARM in-memory layout and its hypothetical converse.  Don't
- 	define HOST_FLOAT_WORDS_BIG_ENDIAN unless it's different from
- 	HOST_WORDS_BIG_ENDIAN.
- 
- 	* configure.in: Adjust for renamed macro.  Move
- 	gcc_AC_C_FLOAT_FORMAT below gcc_AC_C_COMPILE_ENDIAN.
- 	* configure, config.in: Regenerate.
- 
- 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* fixinc/Makefile.in: Set SHELL.
- 
- 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* fixinc/fixincl.c (fix_with_system): Quote file names before
- 	passing them to shell.
- 
- 2001-03-16  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* Makefile.in: Use fix-header$(build_exeext) instead
- 	of fix-header.
- 
- 2001-03-16  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c: Revert most of 2000-11-25 and 2001-01-24 changes.
- 	(LN_PROLOG_AS_LABEL, LN_PROLOG_END_LABEL): New.
- 	(size_of_line_prolog): Remove.
- 	(output_line_info): Compute prologue size via label difference.
- 	(lookup_filename): Return "unspecified" for <internal> and <built-in>.
- 
- 	* configure.in (HAVE_AS_DWARF2_DEBUG_LINE): Require that the
- 	assembler error when redefining file numbers.
- 	* config.in, configure: Rebuild.
- 
- 	* dwarf2asm.c (dw2_asm_output_data): Mask data to the output size.
- 	(dw2_asm_output_data_uleb128): Use space not tab after .uleb128.
- 	(dw2_asm_output_delta_uleb128): Likewise.
- 	(dw2_asm_output_delta_sleb128): Similarly.
- 	(dw2_asm_output_data_sleb128): Similarly.  Print number in decimal.
- 
- 2001-03-16  Michael Meissner  <meissner@redhat.com>
- 
- 	* mips.h (BITMASK_HIGH): Replacement for 0x80000000 that avoids
- 	warnings.
- 	(BITMASK_UPPER16): Replacement for 0xffff0000 that avoids
- 	warnings.
- 	(BITMASK_LOWER16): Replacement for 0x0000ffff.
- 
- 	* mips.c (save_restore_insns): Use BITMASK_UPPER16/BITMASK_LOWER16
- 	instead of 0xffff0000/0x0000ffff to avoid warnings about constants
- 	being unsigned in ISO C and signed in traditional.
- 	(expand_prologue): Ditto.
- 	(RA_MASK): Use BITMASK_HIGH to avoid warnings.
- 
- 	* mips.md (divmodsi4,divmodsi4): Use BITMASK_HIGH to avoid
- 	warnings.
- 	(divsi3,divdi3): Ditto.
- 	(modsi3,moddi3): Ditto.
- 	(fix_truncdfsi2,fix_truncdfdi2): Ditto.
- 	(fix_truncsfsi2,fix_truncsfdi2): Ditto.
- 	(movsi split): Use BITMASK_UPPER16/BITMASK_LOWER16 to avoid
- 	warnings.
- 
- Fri Mar 16 14:47:57 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_fp_movcc): Do not attempt to construct
- 	SSE based conditional moves on LTGT/UNEQ conditions;
- 	Canonicalize EQ to NE.
- 	* i386.md (sse_mov?fcc): Disallow EQ and NE in IEEE mode.
- 	(sse_mov?fcc_ne): New.
- 
- 	* i386-protos.h (sign_extended_value, zero_extended_value): Declare.
- 
- 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (sh_expand_prologue): Insns that set up the PIC
- 	register may be dead.
- 
- 2001-03-16  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* Makefile.in (hash.o): Depend on CONFIG_H.
- 
- 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarf2out.c (rtl_for_decl_location): Use DECL_RTL_IF_SET.
- 
- 2001-03-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): New.
- 	(ASM_OUTPUT_DWARF_PCREL): New.
- 	* config/ia64/hpux.h (ASM_OUTPUT_DWARF_OFFSET): Remove.
- 
- 2001-03-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cppfiles.c (stack_include_file): Use MAX of sysp.
- 
- 2001-03-15  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config.gcc (ia64*-*-hpux*): New case.
- 	* config/ia64/hpux.h: New file for HP-UX support.
- 	* config/ia64/t-hpux: New file for HP-UX support.
- 
- 2001-03-16  Bruce Korb  <bkorb@gnu.org>, Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* fixinc/inclhack.def (irix_stdio_va_list): New.
- 	* fixinc/fixincl.x: Rebuilt.
- 
- 2001-03-15  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (dw2_asm_output_offset): Use ASM_OUTPUT_DWARF_OFFSET
- 	if provided by the target.
- 	(dw2_asm_output_pcrel): Likewise with ASM_OUTPUT_DWARF_PCREL.
- 	(dw2_asm_output_addr): New.
- 	* dwarf2asm.h (dw2_asm_output_addr): Declare.
- 	* dwarf2out.c (output_cfi): Use it for program addresses.
- 	(output_call_frame_info, output_die): Likewise.
- 	(output_aranges, output_line_info): Likewise.
- 
- 2001-03-15  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc.c(main): make more rigorous
- 	* collect2.c(main): guard against ignoring SIGCHLD
- 	* protoize.c(main): ditto
- 	* gcc/fixinc/fixincl.c(initialize): ditto
- 
- 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* sdbout.c (sdbout_symbol): Use DECL_RTL_SET_P, SET_DECL_RTL.
- 	(sdbout_parms): Likewise.
- 
- Thu Mar 15 12:57:14 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* reload1.c (reload_cse_simplify_set): For LOAD_EXTEND_OP, do not
- 	"widen" a destination that is already wider than a word.  Also do
- 	not widen if LOAD_EXTEND_OP is NIL for the given mode.
- 
- 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_sched_reorder): Remove debugging aids.
- 
- Thu Mar 15 11:30:31 EST 2001  John Wehle  (john@feith.com)
- 
- 	* i960.h (ROUND_TYPE_SIZE_UNIT): Fix typo.
- 
- Thu Mar 15 11:24:29 EST 2001  John Wehle  (john@feith.com)
- 
- 	* i960.h (i960_maxbitalignment,
- 	i960_last_maxbitalignment): Declare.
- 	* i960.c (i960_maxbitalignment,
- 	i960_last_maxbitalignment): Make global.
- 	(process_pragma): Delete.
- 	(i960_pr_align, i960_pr_noalign): Move from here ...
- 	* i960-c.c: ... to this new file.
- 	* t-960bare (i960-c.o): New rule.
- 	* t-vxworks960 (i960-c.o): Likewise.
- 	* config.gcc (i960-*-*): Define c_target_objs and
- 	cxx_target_objs.
- 
- 2001-03-15  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* cselib.c (hash_rtx): For REG and MEM, just use value of expression
- 	without adding in rtx code and mode.
- 
- 	* alias.c (init_alias_analysis): Don't use any rtx whose value
- 	varies as a known value.
- 	Delete a superfluous test.
- 
- 	* config/ia64/ia64.c (maybe_rotate): New function, broken out of
- 	ia64_sched_reorder.
- 	(ia64_sched_reorder): Call maybe_rotate; also rotate after
- 	scheduling a stop bit.
- 	(ia64_emit_nops): Correctly handle ASMs.
- 
- 2001-03-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (assemble_variable): Use DECL_RTL_SET_P.
- 
- 2001-03-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update documentation for -include and -imacros.
- 	* cppfiles.c (struct include_file): Remove "defined" memeber.
- 	(find_or_create_entry): Make a copy of the file name, and
- 	simplify it.
- 	(open_file): Update to ensure we use the simplified filename.
- 	(stack_include_file): Don't set search_from.
- 	(cpp_included): Don't simplify the path name here.
- 	(find_include_file): New prototype.  Call search_from to
- 	get the start of the "" include chain.  Don't simplify the
- 	filenames here.
- 	(_cpp_execute_include): New prototype.  Move diagnostics to
- 	do_include_common.  Update.
- 	(_cpp_pop_file_buffer): Don't set defined.
- 	(search_from): New prototype.  Use the preprocessor's cwd
- 	for files included from the command line.
- 	(read_name_map): Don't simplify the pathname here.
- 	* cpphash.h (enum include_type): New.
- 	(struct buffer): Delete search from.  New search_cached.
- 	(_cpp_execute_include): Update prototype.
- 	* cppinit.c (do_includes): Use _cpp_execute_include.
- 	* cpplib.c (do_include_common): New function.
- 	(do_include, do_include_next, do_import): Use it.
- 
- 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (assemble_alias): Use DECL_ASSEMBLER_NAME, not the
- 	contents of the RTL, to determine the name of the object.
- 
- 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.h (DECL_RTL): Allocate RTL lazily.
- 	(SET_DECL_RTL): New macro.
- 	(DECL_RTL_SET_P): Likewise.
- 	(COPY_DECL_RTL): Likewise.
- 	(DECL_RTL_IF_SET): Likewise.
- 	* varasm.c (make_decl_rtl): Add assertions about the kind of
- 	declaration we are processing.
- 	* c-decl.c (duplicate_decls): Use COPY_DECL_RTL, DECL_RTL_SET_P, etc.
- 	(start_decl): Likewise.
- 	(finish_decl): Likewise.
- 	* c-semantics.c (emit_local_var): Likewise.
- 	* calls.c (expand_call): Likewise.
- 	* dbxout.c (dbxout_symbol): Likewise.
- 	* emit-rtl.c (unshare_all_rtl): Likewise.
- 	(unshare_all_decls): Likewise.
- 	(reset_used_decls): Likewise.
- 	* expr.c (store_constructor): Likewise.
- 	(safe_from_p): Likewise.
- 	(expand_expr): Likewise.
- 	* function.c (put_var_into_stack): Likewise.
- 	(instantiate_decls_1): Likewise.
- 	(assign_parms): Likewise.
- 	(expand_function_start): Likewise.
- 	(expand_function_end): Likewise.
- 	* ggc-common.c (gcc_mark_trees): Likewise.
- 	* integrate.c (function_cannot_inline_p): Likewise.
- 	(copy_decl_for_inlining): Likewise.
- 	(expand_inline_function): Likewise.
- 	(integrate_parm_decls): Likewise.
- 	(integrate_decl_tree): Likewise.
- 	* print-tree.c (print_node): Likewise.
- 	* reg-stack.c (stack_result): Likewise.
- 	* stmt.c (label_rtx): Likewise.
- 	(expand_return): Likewise.
- 	(expand_decl): Likewise.
- 	(expand_decl_cleanup): Likewise.
- 	(expand_anon_union_decl): Likewise.
- 	* toplev.c (check_global_declarations): Likewise.
- 	(rest_of_decl_compilation): Likewise.
- 	* tree.c (simple_cst_equal): Likewise.
- 	* objc/objc-act.c (generate_static_references): Likewise.
- 
- 2001-03-14  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* aclocal.m4 (gcc_AC_C_CHARSET, gcc_AC_C_COMPILE_BIGENDIAN,
- 	gcc_AC_C_FLOAT_FORMAT): New macros.
- 	* configure.in: Add AC_PROG_CPP after CC tests;
- 	gcc_AC_C_CHARSET and gcc_AC_C_FLOAT_FORMAT after the sizeof
- 	tests; and gcc_AC_C_COMPILE_BIGENDIAN after gcc_AC_C_CHAR_BIT.
- 	* configure, config.in: Regenerate.
- 
- 	* config/a29k/xm-a29k.h, config/arc/xm-arc.h,
- 	config/arm/xm-arm.h, config/c4x/xm-c4x.h,
- 	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
- 	config/i370/xm-linux.h, config/i370/xm-oe.h,
- 	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
- 	config/m68k/xm-m68k.h, config/mips/xm-mips.h,
- 	config/pa/xm-linux.h, config/pa/xm-pa.h,
- 	config/rs6000/xm-lynx.h, config/rs6000/xm-mach.h,
- 	config/rs6000/xm-rs6000.h, config/rs6000/xm-sysv4.h,
- 	config/sparc/xm-sparc.h, config/vax/xm-vax.h,
- 	config/we32k/xm-we32k.h: Delete.
- 
- 	* config/i370/xm-mvs.h, config/m88k/m88k.h,
- 	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
- 	config/vax/xm-vms.h: Don't define any of:
- 	HOST_FLOAT_FORMAT, HOST_EBCDIC, HOST_WORDS_BIG_ENDIAN
- 
- 	* config/rs6000/aix.h: Define COLLECT_EXPORT_LIST here.
- 
- 	* config.gcc: Remove references to deleted files.
- 	(i370-*-opened*): Use i370/xm-mvs.h (which now defines only
- 	FATAL_EXIT_CODE, which is the same between oe and mvs).
- 
- 2001-03-14  DJ Delorie  <dj@redhat.com>
- 	    Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/i960/i960.c (i960_function_prologue): Compute size of
- 	frame according to number of registers actually saved there.
- 
- 2001-03-14  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (emit_move_insn_1): Fix else if around #endif.
- 
- Wed Mar 14 22:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
- 			      Vojtech Pavlik
- 
- 	* md.texi (machine constraints): Document 'Q', 'R', 'e' and 'Z'
- 	constraints.
- 
- Wed Mar 14 22:26:10 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_cmodel_string, ix86_cmodel): Define.
- 	(override_options): Parse cmodel string.
- 	(x86_64_sign_extended_value, x86_64_zero_extended_value): New.
- 	* i386.h (TARGET_OPTIONS): Add "cmodel".
- 	(EXTRA_CONSTRAINT): Recognize 'e' and 'Z'.
- 	(enum cmodel): New.
- 	(ix86_cmodel_string, ix86_cmodel): Declare.
- 
- Wed Mar 14 22:26:54 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	Spot by Matt Kraai:
- 	* i386.h (GENERAL_REG_P): Add missing REG_P.
- 
- 2001-03-14  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* configure.in: Use $gcc_cv_as instead of $as.
- 	* configure: Regenerated.
- 
- 2001-03-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Only increase the include
- 	count if we actually process the file properly, as opposed
- 	to treating it as length zero.  Only call read_include_file
- 	if not DO_NOT_REREAD.  Handle the -H include file output
- 	here.
- 	(read_include_file): Remove now redundant DO_NOT_REREAD check.
- 	(cpp_included, find_include_file): Simplify pathnames after
- 	remapping them.  If remapping, don't use the remapped file
- 	name's buffer as our scratch buffer.
- 	(cpp_pop_file_buffer): Replace the multiple include macro
- 	only if it isn't yet set.
- 	(read_name_map): Simplify remapped names when reading in.
- 	(remap_filename): Move code to code path that uses it.
- 	(_cpp_simplify_pathname): Return the input pointer.
- 	* cpphash.h (_cpp_simplify_pathname): Update prototype.
- 
- 2001-03-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* expr.c (expand_expr): Revove bogus conditional.
- 
- Wed Mar 14 19:29:50 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (emit_move_insn_1): Guard PUSH_ROUNDING use by ifdef.
- 
- 2001-03-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* reg-stack.c (stack_result): Unconditionally use
- 	FUNCTION_OUTGOING_VALUE resp. FUNCTION_VALUE.
- 
- Wed Mar 14 16:36:25 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (emit_move_insn_1):  Split push of complex value when
- 	no suitable push instruction exist.
- 
- 	* i386.md (QImode move/add/shift patterns): Use ANY_QI_REG_P
- 	instead of QI_REG_P.
- 
- Tue Mar 13 22:22:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (handled_component_p, can_address_p): New functions.
- 	(get_alias_set): Use them.
- 
- 2001-03-13  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.c (find_gr_spill): Subtract frame_pointer_needed
- 	from 80 in try_locals code.
- 	(ia64_expand_prologue): Add comment pointing to find_gr_spill change.
- 
- 2001-03-13  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* aclocal.m4 (gcc_AC_COMPILE_CHECK_SIZEOF, gcc_AC_C_CHAR_BIT,
- 	gcc_AC_C_LONG_LONG): New.
- 	* configure.in: Use them.  Probe the size of short, int, long,
- 	and long long/__int64 if we have them.  Move all the AC_C_*
- 	checks together, except gcc_AC_C_CHAR_BIT which has to go
- 	after AC_CHECK_HEADERS(limits.h).
- 	Take hwint.h out of host_xm_file and build_xm_file.
- 
- 	* hwint.h: Unconditionally define HOST_BITS_PER_CHAR,
- 	HOST_BITS_PER_SHORT, HOST_BITS_PER_INT, HOST_BITS_PER_LONG,
- 	and HOST_BITS_PER_LONGLONG in terms of SIZEOF_* and CHAR_BIT.
- 	Move the HOST_WIDEST_INT setup logic here from system.h.
- 	Provide HOST_WIDEST_INT even if HOST_BITS_PER_LONGLONG is not
- 	defined.
- 	* system.h: Include hwint.h after limits.h.  HOST_WIDEST_INT
- 	is now handled by hwint.h.
- 
- 	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms.h,
- 	config/c4x/xm-c4x.h, config/i370/xm-oe.h,
- 	config/ia64/xm-ia64.h: Don't define any of:
- 	HOST_BITS_PER_LONG, HOST_BITS_PER_CHAR, HOST_BITS_PER_SHORT,
- 	HOST_BITS_PER_LONGLONG.
- 
- 	* config/alpha/xm-alpha.h, config/dsp16xx/xm-dsp16xx.h,
- 	config/h8300/xm-h8300.h, config/mips/iris6.h,
- 	config/mn10200/xm-mn10200.h, config/pa/xm-pa64hpux.h,
- 	config/sparc/xm-sp64.h: Delete.
- 	* config.gcc: Remove references to deleted files.
- 
- 	* config/arm/xm-arm.h, config/mips/xm-mips.h: Don't define
- 	HOST_FLOAT_FORMAT to IEEE_FLOAT_FORMAT.
- 	* config/i370/xm-linux.h: Clarify floating-point situation in
- 	a comment.
- 
- 2001-03-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (NO_INCLUDE_PATH): New macro.
- 	(find_include_file): Decide here which part of the include
- 	chain to start the search.  Complain about an empty include
- 	chain in all cases apart from an abolsute file name.
- 	(_cpp_execute_include): Don't choose the search chain here.
- 	Don't call handle_missing_include in the case of an empty
- 	include chain.
- 	(_cpp_compare_file_date): Don't choose the search chain here.
- 	* cpplib.c (do_include_next): Move the in-main-file diagnostic
- 	here from _cpp_execute_include.  Behave like #include if
- 	we're in the main file.
- 
- 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (malloc, realloc, calloc, strdup): Only poison these
- 	tokens when IN_GCC is defined.
- 
- Tue Mar 13 14:38:44 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (abs?f expander): Support SSE case.
- 	(abd?f_if): Add new "USE"; add splitters.
- 
- 2001-03-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpp.texi (poison): Explain the macro expansion exception.
- 
- 2001-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (store_expr): Add dont_store_target.  If temp is already in
- 	target before copying to reg, don't store it into target again.
- 
- 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinternals.texi: Update for file handling.
- 
- 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* emit-rtl.c (remove_unnecessary_notes): Reverse Richard Kenner's
- 	2001-02-24 which broke building the Java library.
- 	* function.c (identify_blocks): Likewise.
- 	(all_blocks): Likewise.
- 	* integrate.c (integrate_decl_tree): Likewise.
- 	* print-tree.c (print_node): Likewise.
- 	* tree.h (BLOCK_NUMBER): Likewise.
- 	(struct tree_block): Likewise.
- 
- 2001-03-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000/aix51.h (CPP_SPEC, CPLUSPLUS_CPP_SPEC): Fix typo in
- 	__WCHAR_TYPE__ definition.
- 	(WCHAR_TYPE_SIZE): #undef before #define.
- 
- 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c: Update comments.
- 	(destroy_include_file_node): Rename destroy_node.
- 	(find_or_create_entry): New function.
- 	(open_file, _cpp_fake_include): Use it.
- 	(handle_missing_header): New function, broken out of
- 	_cpp_execute include.  Don't segfault if there is no
- 	system or quoted path.
- 	(_cpp_execute_include): Use handle_missing_header.
- 
- 2001-03-12  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* jump.c (reversed_comparison_code_parts): Reverse Jan Hubricka's
- 	2001-02-28 patch because it breaks arm-linux and mips-sgi-irix6.5.
- 
- Mon Mar 12 14:05:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* flow.c (insn_dead_p): Don't consider two memrefs equivalent
- 	unless anti_dependence says they are.
- 	* alias.c (objects_must_conflict): If neither has a type specified,
- 	they must conflict.
- 
- 2001-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* config/mips/iris5.h:  Change WCHAR_TYPE to int.
- 
- Mon Mar 12 16:32:21 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (trunctfdf2_2): Rename missnamed pattern.
- 	(*_one_bit): Remove type on the match_operand in attributes.
- 
- Mon Mar 12 16:27:56 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c: Commit forgotten hunk in previous patch.
- 	(regclass_map): Add extended registers.
- 	(dbx_register_map): Add missing frame register.
- 
- Mon Mar 12 15:41:08 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (all XFmode patterns except swapxf): Disable for 64bit.
- 
- 	* i386.md (x86_sahf_1): Disable for 64bit.
- 	(popsi*, pophi*): Likewise.
- 	(pushqi, pushhi): Likewise.
- 	(movdi, pushdi): Likewise.
- 	(zero extend DImode splitter): Likewise.
- 	(adddi, minusdi splitter): Likewise.
- 	(umulsidi): Likewise.
- 	(umulsi): New.
- 	(mulsidi): Disable for 64bit
- 	(lshift:DI/ashift:DI): Disable for 64bit.
- 	(loop patterns): Likewise.
- 	(call_pop, call_value_pop expanders and patterns): Likewise.
- 	(prologue_get_pc): Likewise.
- 	(leave): Likewise.
- 	(fcmovDI pattern and splitter): Likewise.
- 	(movdfcc_1_rex64): New.
- 
- Mon Mar 12 15:16:36 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (VALID_FP_MODE_P): XFmode is invalid on x86_64.
- 	(MODES_TIEABLE_P): QImodes and DImodes are tiable on x86_64.
- 	(HARD_REGNO_CALLER_SAVE_MODE): Save QImodes as QImodes for x86_64.
- 	(STATIC_CHAIN_REGNUM): Set to r10 for x86_64.
- 	(PIC_OFFSET_TABLE_REGNUM): Set to INVALID_REGNUM for x86_64.
- 	(LIMIT_RELOAD_CLASS): Avoid limiting of QImodes on x86_64.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): No need to QImodes.
- 	(PUSH_ROUNDING): x86_64 rounds to 64bits.
- 	(CONSTANT_ADDRESS_P): Accept CONST_DOUBLE.
- 	(REGPARM_MAX): Set to 6 for x86_64.
- 	(SSE_REGPARM_MAX): Set to 16 for x86_64.
- 	* i386.c (hard_regno_mode_ok): QImodes can be in all general purpose
- 	registers.
- 
- 	* (patterns that does use upper halves): Update constraints
- 	'q' to 'Q' and 'r' to 'R'.
- 	(cmpqi_ext_1): Disable for 64bit.
- 	(cmpqi_ext_3_insn): Likewise.
- 	(movqi_extzv_1): Likewsie.
- 	(addqi_ext_1): Liekwsie
- 	(testqi_ext_1): Liekwsie
- 	(andqi_ext_1): Liekwsie
- 	(xorqi_ext_1): Liekwsie
- 	(cmpqi_ext_1_rex64): New.
- 	(cmpqi_ext_3_insn_rex64): Likewise.
- 	(movqi_extzv_1_rex64): Likewsie.
- 	(addqi_ext_1_rex64): Liekwsie
- 	(testqi_ext_1_rex64): Liekwsie
- 	(andqi_ext_1_rex64): Liekwsie
- 	(xorqi_ext_1_rex64): Liekwsie
- 
- 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* configure.in: Move check for unsigned enumerated bitfields
- 	to macro in aclocal.m4.  Disable it for now.
- 	* configure, config.in: Regenerate.
- 	* system.h: Don't do anything with ONLY_INT_FIELDS.  Use the
- 	unsigned-int form of ENUM_BITFIELD() unless being compiled by GCC.
- 	* varasm.c (struct rtx_const): Use ENUM_BITFIELD().  Move enum
- 	kind above its first use.
- 
- 	* config/xm-interix.h, config/alpha/xm-alpha.h,
- 	config/i370/xm-linux.h, config/i386/xm-beos.h,
- 	config/i386/xm-mingw32.h, config/mips/xm-mips.h,
- 	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
- 	config/rs6000/xm-beos.h, config/rs6000/xm-sysv4.h,
- 	Don't define ONLY_INT_FIELDS under any circumstances.
- 
- 	* config/pa/xm-pa.h: Don't define __BSD_NET2__.
- 
- 	* config/pa/xm-pahpux.h, config/pa/xm-papro.h,
- 	config/sparc/xm-sysv4.h: Delete - now identical with some
- 	other xm header.
- 	* config.gcc (hppa targets): Replace xm-pahpux.h and
- 	xm-papro.h with implicit xm-pa.h.
- 	(sparc targets): Replace xm-sysv4.h with implicit or explicit
- 	xm-sparc.h.
- 
- 2001-03-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* reload1.c (reload_cse_simplify): Call reload_cse_simplify_set
- 	before reload_cse_noop_set_p.
- 
- 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Where xm-host.h used to include another
- 	xm-host.h, list the nested header directly in xm_file.  Remove
- 	references to deleted files.  Can now use sparc/xm-sp64.h for
- 	sparcv9-*-solaris*.
- 
- 	* config/xm-linux.h, config/arm/xm-linux.h,
- 	config/i386/xm-dos.h, config/i386/xm-gnu.h,
- 	config/i386/xm-linux.h, config/i386/xm-openbsd.h,
- 	config/i860/xm-fx2800.h, config/m68k/xm-atari.h,
- 	config/m68k/xm-linux.h, config/m68k/xm-sun3.h,
- 	config/sparc/xm-linux.h, config/sparc/xm-sysv4-64.h:
- 	Delete.
- 
- 	* config/alpha/xm-alpha-interix.h: Don't include alpha/xm-alpha.h.
- 	* config/mips/xm-iris5.h: Don't include mips/xm-mips.h.  Don't
- 	bother to wrap #undef in #ifdef.
- 	* config/pa/xm-linux.h, config/rs6000/xm-sysv4.h:
- 	Don't include xm-linux.h.
- 	* config/sparc/xm-sp64.h: Don't include sparc/xm-sparc.h.
- 
- 	* configure.in: Wrap regexps using [] in changequote block.
- 	Use expr : not echo | grep.  Simplify regexps.
- 	* configure: Regenerate.
- 
- 	56 xm-files remain, 22 xm-arch.
- 
- 2001-03-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips-tfile.c: Cast arg to PTR when specifier is HOST_PTR_PRINTF.
- 	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
- 	(local_index, local_rindex): Delete, use strchr/strrchr instead.
- 	(copy_object): Fix format specifier vs argument mismatch.
- 
- 	* mips-tdump.c: Make local functions static.
- 	(rindex): Don't #undef.
- 	(__proto, PTR_T, CPTR_T): Delete, use PARAMS/PTR instead.
- 	(fatal, fancy_abort): Delete.
- 	(read_seek): Avoid signed/unsigned compare.
- 
- Sun Mar 11 17:01:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (try_combine): Fix error in change to try original
- 	register.
- 	(gen_rtx_combine): Do same as gen_rtx for now.
- 
- 2001-03-11  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* configure.in: AC_SUBST xm_defines.
- 	* configure: Regenerate.
- 	* Makefile.in: Set DEFINES=$(xm_defines) when building
- 	tconfig.h.
- 
- 2001-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (INCLUDE_LEN_FUDGE, ENOMEM): Delete.
- 	(cpp_included, find_include_file): Update.
- 	(_cpp_compare_file_date): Make else unconditional.
- 
- 2001-03-10  kaz Kojima <kkojima@rr.iij4u.or.jp>
- 
- 	* config/sh/sh.h (LEGITIMATE_PIC_OPERAND_P): Defined.
- 
- 2001-03-10  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/sh/sh.md (umulhisi3_i, mulhisi3_i): Fix mnemonics.
- 	* config/sh/lib1funcs.asm (mulsi3): Convert mulu to mulu.w.
- 
- Sat Mar 10 22:42:05 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree.c (build_common_tree_nodes_2): Don't copy va_list_type_node
- 	if it's a record type.
- 
- Sat Mar 10 17:52:54 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Make ../w32api a system directory.  Reorganize
- 	mingw includes slightly.
- 
- 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (malloc, realloc, calloc, strdup, bzero, bcmp, rindex):
- 	#undef token before poisoning it.
- 
- 2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (check_float_value): Use memcpy, not bcopy.
- 
- 	* m32r.c (m32r_sched_reorder): Likewise.
- 
- 	* vax.c (check_float_value): Likewise.
- 
- 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* toplev.c (file_name_nondirectory): Remove.
- 	* toplev.h: Similarly.
- 	* dwarf2out.c (compute_section_prefix): Use lbasename instead
- 	of file_name_nondirectory.
- 
- Sat Mar 10 10:36:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* mips-tdump.c (read_seek): Call xmalloc, not malloc.
- 	* mips-tfile.c: Don't #undef rindex; not used.
- 
- Sat Mar 10 14:34:59 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (DBX_REGISTER_NUMBER): Return proper values for 64bits.
- 	(dbx64_register_map): Declare.
- 	(RETURN_ADDR_RTX): Fix for 64bit.
- 	(DWARF_FRAME_RETURN_COLUMN): Set to 16 for 64bit.
- 	(INCOMING_FRAME_SP_OFFSET): Set to 8.
- 	* i386.c (dbx64_register_map): New global array.
- 	* beos-elf.h, freebsd.h, i386-interix.h, i386elf.h,
- 	linux.h (DBX_REGISTER_REGNUMBER): Use dbx64_register_map
- 	for 64bits.
- 
- 2001-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (search_from): Use lbasename.
- 	* mkdeps.c (deps_add_default_target): Use lbasename.
- 
- 2001-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/server.c (load_data, run_shell): Use xmalloc, xrealloc &
- 	xcalloc in lieu of malloc, realloc & calloc.
- 
- 	* gencheck.c (xmalloc): Use really_call_malloc, not malloc.
- 
- 	* gengenrtl.c (xmalloc): Likewise.
- 
- 	* gensupport.c (xcalloc, xrealloc, xmalloc): Use the
- 	really_call_* memory allocation routines.
- 
- 	* stmt.c (check_for_full_enumeration_handling): Use
- 	really_call_calloc, not calloc.
- 
- 	* system.h (really_call_malloc, really_call_calloc,
- 	really_call_realloc): Define.
- 	(malloc, realloc, calloc, strdup, bzero, bcmp, rindex): Poison.
- 
- Fri Mar  9 18:39:19 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (builtin_longjmp): Rework slightly to work for PA64 too.
- 
- 2001-03-09  Nicola Pero <n.pero@mi.flashnet.it>
- 
- 	* configure: Rebuilt.
- 	* configure.in: Only use `lang_requires' for languages athat are
- 	actually enabled.
- 
- 2001-03-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Fix typo.
- 	* gcc.1: Regenerate.
- 
- 2001-03-09  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* configure.in: Prune nonexistent files from build_xm_file,
- 	xm_file, and host_xm_file lists.  Warn unless they're
- 	$cpu/xm-$cpu.h.
- 	Don't generate *config.h here.
- 	AC_SUBST all variables needed to generate *config.h.
- 	* configure: Regenerate.
- 	* mkconfig.sh: New helper script, from code removed from
- 	configure.in.
- 	* Makefile.in: Zap all MALLOC variables - no longer used
- 	anywhere, and malloc.c doesn't exist.
- 	Substitute in variables needed to generate *config.h.
- 	Stop lying about the dependencies contained in CONFIG_H and
- 	GCONFIG_H.
- 	(HCONFIG_H, TCONFIG_H, TM_P_H): New variables.
- 	(config.h, hconfig.h, tconfig.h, tm_p.h, cs-config.h,
- 	cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): New rules.
- 	(all .o): Add dependencies on $(HCONFIG_H), $(TCONFIG_H),
- 	$(TM_P_H), etc. as appropriate.
- 
- 	* config.gcc: Zap references to deleted files.
- 	* ggc-none.c: Don't include rtl.h or tm_p.h.
- 
- 	* config/i386/xm-beos.h, config/i386/xm-dgux.h,
- 	config/i386/xm-djgpp.h, config/i386/xm-dos.h,
- 	config/i386/xm-gnu.h, config/i386/xm-i386-interix.h,
- 	config/i386/xm-linux.h, config/i386/xm-linux.h,
- 	config/i386/xm-next.h, config/i386/xm-openbsd.h,
- 	config/i386/xm-sun.h, config/i386/xm-sysv3.h:
- 	Don't include i386/xm-i386.h.
- 
- 	* config/elxsi/xm-elxsi.h, config/i386/xm-bsd386.h,
- 	config/i386/xm-i386.h, config/i860/xm-i860.h,
- 	config/i960/xm-i960.h, config/mcore/xm-mcore.h,
- 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
- 	config/pj/xm-pj.h, config/sh/xm-sh.h, config/v850/xm-v850.h:
- 	Delete (empty except comments, #includes of other deleted
- 	files, and macros used nowhere).
- 
- Fri Mar  9 20:05:27 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (MAX_WCHAR_TYPE_SIZE): New constant to keep tradcpp
- 	independent on TARGET_FLAGS.
- 
- Fri Mar  9 19:52:52 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (FIRST_PSEUDO_REGISTER): Set to 53.
- 
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ONES): Add
- 	extended ones.
- 	(CONDITIONAL_REGISTER_USAGE): Set proper values according to
- 	TARGET_64BIT.
- 	(FIRST_REX_INT_REG, LAST_REX_INT_REG, FIRST_REX_SSE_REG,
- 	LAST_REX_SSE_REG): define.
- 	(enum reg_class): Add 'LEGACY_REGS'
- 	(REG_CLASS_CONTENTS): Likewise; add extended registers.
- 	(SSE_REGNO_P): Recognize extended registers.
- 	(ANY_QI_REG_P, REX_INT_REGNO_P, REX_INT_REG_P): New.
- 	(REG_CLASS_FROM_LETTER): Add 'R' and 'Q'.
- 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P,
- 	REG_OK_FOR_BASE_NONSTRICT_P): Recognize REX registers.
- 	(REG_OK_FOR_STRREG_NONSTRICT_P, REG_OK_FOR_STRREG_STRICT_P,
- 	 REG_OK_FOR_STRREG_P): Remove.
- 	(HI_REGISTER_NAMES): Add extended registers.
- 	(ADDITIONAL_REGISTER_NAMES): Likewise.
- 	(QI_REGISTER_NAMES): Add 8bit extended registers.
- 	(DEBUG_REG): Support extended registers.
- 	* i386.c (regclass_map): Add extended registers.
- 	(dbx_register-map): Likewise.
- 	(svr4_dbx_register_map): Likewise.
- 	(print_reg): Support extended registers.
- 	(print_operand): Support 64bit operands.
- 
- Fri Mar  9 19:37:46 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 128bit for x86_64
- 	(BOOL_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
- 	 FLOAT_TYPE_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE,
- 	 DOUBLE_TYPE_SIZE, LONG_LONG_TYPE_SIZE): New constants.
- 	(BITS_PER_WORD, UNITS_PER_WORD, POINTER_SIZE, PARM_BOUNDARY,
- 	 STACK_BOUNDARY): Set properly for 64bits.
- 	(MAX_BITS_PER_WORD, MIN_UNITS_PER_WORD): New constants.
- 	(EMPTY_FIELD_BOUNDARY): Define using BITS_PER_WORD.
- 	(BIGGEST_FIELD_ALIGNMENT): Set to 128 for 64bits.
- 	(MOVE_MAX): Set to 16.
- 	(MOVE_MAX_PIECES): 8 for 64bit.
- 	(Pmode): Set to SImode.
- 
- Fri Mar  9 09:00:36 2001  Mike Stump  <mrs@wrs.com>
- 
- 	* cselib.c (hash_rtx): Ensure that hash isn't zero upon return.
- 
- Fri Mar  9 17:38:08 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (mask_64bit): New constant.
- 	(target_64bit): New macro.
- 	(target_options): Add '64'/'32'
- 	(target_default): Define.
- 	* cygwin.h freebsd-aout.h i386-interix.h i386.h i386elf.h isc.h
- 	isccoff.h netbsd.h next.h openbsd.h p sco.h sco5.h scodbx.h sequent.h
- 	unix.h win32.h (TARGET_DEFAULT): Rename to TARGET_SUBTARGET_DEFAULT.
- 
- Thu Mar  8 23:36:56 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Disable.
- 
- Thu Mar  8 23:29:37 2001  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (rtx_varies_p): Check operand 0 of a
- 	LO_SUM unless for_alias is set.
- 
- 2001-03-08  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c: Fix old typos in comments, add comments for
- 	various functions.
- 	(hash_init): Fix file name in error message.
- 	(hash_enter): Ditto.
- 	(hash_add_attr): Ditto.
- 	(continue_class): Ditto.
- 
- 2001-03-08  Bruce Korb  <bkorb@gnu.org>
- 
- 	gcc.c(main): ensure SIGCHLD handling is set to SIG_DFL so that
- 	wait4() can receive the signal.
- 
- Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (AAB_dgux_int_varargs): Don't use HTML
- 	entities.
- 	* fixinc/fixincl.x: Regenerate.
- 
- Thu Mar  8 21:09:10 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (AAA_standards): Undo <standards.h> breakage
- 	on Tru64 UNIX.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2001-03-08  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_LEB128): New assembler check.
- 	* configure, config.in: Rebuilt.
- 
- Thu Mar  8 19:54:04 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
- 	TFmode too.
- 
- 2001-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
- 	references to the MAXPATHLEN macro.
- 
- 	* config/alpha/xm-alpha.h, config/arm/xm-arm.h,
- 	config/i386/xm-cygwin.h, config/xm-linux.h: Delete references to
- 	the POSIX macro.
- 
- 	* config/i386/xm-gnu.h, config/xm-gnu.h,
- 	config/alpha/xm-openbsd.h, config/i386/xm-openbsd.h,
- 	config/m68k/xm-openbsd.h, config/mips/xm-openbsd.h,
- 	config/sparc/xm-openbsd.h, config/xm-openbsd.h: Delete empty
- 	and/or unused files.
- 
- 	* config.gcc: Define POSIX in xm_defines as appropriate in lieu of
- 	doing so in various xm-*.h files.
- 
- Thu Mar  8 06:32:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.md (clrstrsi): Call ix86_set_move_mem_attrs.
- 
- 2001-03-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (enable_shared): Support per-package shared-library
- 	enabling.
- 	* configure: Rebuilt.
- 
- 2001-03-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (cr logic): Add original POWER mnemonic alternative
- 	for crnot.  Set operands[5] in splitter.
- 
- 2001-03-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/i370/xm-mvs.h, config/i370/xm-oe.h,
- 	config/i386/xm-beos.h, config/i386/xm-mingw32.h,
- 	config/m88k/xm-m88k.h, config/mips/xm-iris6.h,
- 	config/mips/xm-openbsd.h, config/pa/xm-pa64hpux.h,
- 	config/pa/xm-pahpux.h, config/rs6000/xm-beos.h,
- 	config/rs6000/xm-darwin.h, config/rs6000/xm-mach.h,
- 	config/rs6000/xm-rs6000.h, config/xm-interix.h: Delete references
- 	to the USG macro.
- 
- 	* config/vax/xm-vaxv.h, config/a29k/xm-unix.h,
- 	config/i370/xm-i370.h, config/i386/xm-dgux.h,
- 	config/i386/xm-sun.h, config/i386/xm-sysv3.h,
- 	config/m68k/xm-tower.h, config/m68k/xm-aux.h,
- 	config/m68k/xm-hp320.h, config/m68k/xm-amix.h,
- 	config/m68k/xm-altos3068.h, config/m68k/xm-mot3300.h,
- 	config/m68k/xm-m68kv.h, config/m88k/xm-openbsd.h,
- 	config/mips/xm-nws3250v4.h, config/mips/xm-sysv.h,
- 	config/mips/xm-iris3.h, config/mips/xm-iris4.h, config/xm-svr3.h,
- 	config/xm-svr4.h, config/sparc/xm-pbd.h, config/clipper/xm-clix.h:
- 	Delete unused and/or empty files.
- 
- 	* config.gcc: Define USG in xm_defines as appropriate.  Define
- 	POSIX in lieu of xm-svr4.h.  Delete all references to the SVR3
- 	macro.  Remove deleted xm-* files from $xm_files variable.
- 
- 2001-03-07  Tom Tromey  <tromey@redhat.com>
- 
- 	* configure: Rebuilt.
- 	* configure.in: Allow config-lang.in to set `lang_requires' to list
- 	of other required languages.
- 
- 2001-03-07  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/a29k/a29k.c (print_operand): Free a29k_last_prologue_insn
- 	after its emitted.
- 	(output_prologue): Use xmalloc not oballoc.
- 	(output_epilog): Free a29k_first_epilogue_insn when finished.
- 	* confif/a29k/a29k.h (PREDICATE_CODES): Remove shift_constant_operand.
- 
- 2001-03-07  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* builtins.c (expand_builtin_mathfn): Check
- 	flag_unsafe_math_optimizations, not flag_fast_math.
- 	(expand_builtin): Likewise
- 	* combine.c (combine_simplify_rtx): Likewise.
- 	(simplify_if_then_else): Likewise.
- 	* cse.c (fold_rtx): Likewise.
- 	* flags.h: Remove flag_fast_math.  Add
- 	flag_unsafe_math_optimizations and flag_trapping_math.
- 	* fold-const.c (negate_expr): Check
- 	flag_unsafe_math_optimizations, not flag_fast_math.
- 	(invert_truthvalue): Likewise.
- 	(fold): Likewise.  Before associating operands, check that
- 	code == MULT_EXPR, not code != MULT_EXPR.
- 	* ifcvt.c (noce_try_minmax): Check
- 	flag_unsafe_math_optimizations, not flag_fast_math.
- 	(noce_operand_ok): Check flag_trapping_math, not flag_fast_math.
- 	* invoke.texi: Document -funsafe-math-optimizations and
- 	-fno-trapping-math.  Change documentation for -ffast-math.
- 	* jump.c (reversed_comparison_code_parts): Likewise.
- 	(rtx_equal_for_thread_p): Likewise.
- 	* optabs.c (emit_conditional_move): Likewise.
- 	* simplify-rtx.c (simplify_binary_operation): Likewise.
- 	(simplify_relational_operation): Likewise.
- 	(simplify_ternary_operation): Likewise.
- 	* toplev.c: Remove flag_fast_math.  Add flag_trapping_math and
- 	flag_unsafe_math_optimizations.  Remove fast-math entry from f_options.
- 	Add trapping-math and unsafe-math-optimizations entries to f_options.
- 	(set_fast_math_flags): New, sets flags for -ffast-math.
- 	(set_no_fast_math_flags): New, sets flags for -fno-fast-math.
- 	(decode_f_option): Add code to handle -ffast-math and -fno-fast-math.
- 	* toplev.h: Declare set_fast_math_flags and set_no_fast_math_flags.
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_branch): Likewise.
- 	(alpha_emit_conditional_move): Initialize local_fast_math to
- 	flag_unsafe_math_optimizations, not flat_fast_math.
- 	* config/c4x/c4x.c (c4x_override_options): Call set_fast_math_flags
- 	instead of setting flag_fast_math to 1.
- 	* config/convex/convex.md: Check flag_unsafe_math_optimizations,
- 	not flag_fast_math.
- 	* config/i386/i386.c (override_options): Likewise
- 	* config/i386/i386.md: Likewise.
- 	* config/m68k/m68k.md: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/rs6000/rs6000.c (validate_condition_mode): Likewise.
- 	(rs6000_generate_compare): Likewise.
- 
- 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* Makefile.in: Set RANLIB to @RANLIB@.
- 	Remove RANLIB_TEST.
- 
- 2001-03-07  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* fixinc/inclhack.def (djgpp_wchar_h): New test.
- 	* fixinc/fixincl.x: Regenerated.
- 
- 2001-03-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (call_osf_1_noreturn): New pattern.
- 
- 2001-03-07  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (remove_unnecessary_notes): Verify proper nesting
- 	of block notes and exception handling notes.
- 
- 	* lists.c (init_EXPR_INSN_LIST_cache): Don't check initialized.
- 	* toplev.c (rest_of_compilation): Call init_EXPR_INSN_LIST_cache ...
- 	(compile_file): ... here.
- 
- 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/Makefile.in (FIXINC_DEFS): Add -DHAVE_CONFIG_H.
- 
- 	* fixinc/gnu-regex.c: Don't include auto-host.h since we get
- 	config.h now.  Include libiberty.h to handle alloca.
- 
- 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* c-parse.in (yylexname): New function, split out of _yylex.
- 	(objc_rid_sans_at): New table.
- 	(init_reswords): Initialize it.
- 	(_yylex): Give labels clearer names.  Handle CPP_ATSIGN by
- 	retrieving the next token and checking it for significance as
- 	an ObjC keyword or string constant.
- 
- 	* cpplex.c (_cpp_lex_token): Just return CPP_ATSIGN for '@'.
- 	* cpplib.h (TTYPE_TABLE): Add CPP_ATSIGN, drop CPP_OSTRING.
- 
- 	* c-lex.c, c-parse.in, cppmacro.c, cpplex.c: Remove references
- 	to CPP_OSTRING.
- 
- 2001-03-06  Stephen L Moshier  <moshier@mediaone.net>
- 
- 	* config/m68k/m68k.c (const_uint32_operand): Accept any
- 	const_int on a 32-bit host.
- 
- 2001-03-06  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* objc/objc-act.c (init_objc): Set save_lang_status,
- 	restore_lang_status, and mark_lang_status.
- 
- 2001-03-06  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* dwarf2asm.c (dw2_asm_output_delta): Fix smallest_mode_for_size call.
- 
- 2001-03-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinternals.texi: Update.
- 
- 2001-03-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
- 	config/alpha/xm-alpha.h, config/arc/xm-arc.h, config/arm/xm-arm.h,
- 	config/c4x/xm-c4x.h, config/clipper/xm-clix.h,
- 	config/convex/xm-convex.h, config/d30v/xm-d30v.h,
- 	config/dsp16xx/xm-dsp16xx.h, config/elxsi/xm-elxsi.h,
- 	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
- 	config/i370/xm-linux.h, config/i370/xm-mvs.h, config/i370/xm-oe.h,
- 	config/i386/xm-i386.h, config/i860/xm-i860.h,
- 	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
- 	config/m32r/xm-m32r.h, config/m68k/xm-m68k.h,
- 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
- 	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
- 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
- 	config/pa/xm-linux.h, config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
- 	config/pa/xm-pahpux.h, config/pa/xm-papro.h, config/pj/xm-pj.h,
- 	config/romp/xm-romp.h, config/rs6000/xm-beos.h,
- 	config/rs6000/xm-lynx.h, config/rs6000/xm-rs6000.h,
- 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
- 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
- 	config/v850/xm-v850.h, config/vax/xm-vax.h, config/vax/xm-vms.h,
- 	config/we32k/xm-we32k.h: Delete HOST_BITS_PER_* definitions which
- 	match the defaults provided in hwint.h.
- 
- 	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
- 	config/sparc/xm-lynx.h, config/xm-std32.h: Delete files.
- 
- 	* config.gcc (xm_file): Don't set to files which are deleted.
- 
- 	* hwint.h: Provide default values for HOST_BITS_PER_*.  No longer
- 	guard this file against these macros being undefined.
- 
- 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* objc/objc-act.c (objc_add_static_instance): Set DECL_INITIAL
- 	and DECL_DEFER_OUTPUT on the decl we create, before calling
- 	rest_of_decl_compilation.
- 
- 2001-03-06  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* aclocal.m4 (AM_GNU_GETTEXT): Don't AC_REQUIRE
- 	AC_FUNC_ALLOCA.
- 	* configure, config.in: Regenerate.
- 	* config.gcc: Remove references to deleted files.
- 
- 	* genattr.c, genattrtab.c, genextract.c, genoutput.c,
- 	genrecog.c, rtl.c: Do not use alloca anywhere.
- 
- 	* Makefile.in, build-make, system.h, config/x-interix,
- 	config/x-svr4, config/xm-interix.h, config/xm-openbsd.h,
- 	config/alpha/xm-alpha.h, config/alpha/xm-vms.h,
- 	config/arc/xm-arc.h, config/arm/xm-arm.h,
- 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
- 	config/h8300/xm-h8300.h, config/i370/x-oe,
- 	config/i370/xm-linux.h, config/i386/x-aix, config/i386/x-beos,
- 	config/i386/x-ncr3000, config/i386/x-sco5,
- 	config/i386/xm-dgux.h, config/i860/x-sysv4,
- 	config/i960/xm-i960.h, config/m32r/xm-m32r.h,
- 	config/m68k/x-crds, config/m68k/x-dpx2, config/m68k/x-hp320,
- 	config/m68k/x-hp320g, config/m69k/x-mot3300,
- 	config/m68k/x-mot3300-gas, config/m68k/xm-amix.h,
- 	config/m68k/xm-hp320.h, config/m68k/xm-m68kv.h,
- 	config/m68k/xm-mot3300.h, config/m88k/x-dolph,
- 	config/m88k/x-sysv4, config/m88k/x-tekXD88,
- 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
- 	config/mips/x-iris, config/mips/x-iris3,
- 	config/mips/x-sni-svr4, config/mips/x-sysv,
- 	config/mips/xm-iris6.h, config/mips/xm-mips.h,
- 	config/mips/xm-nws3250v4.h, config/pa/x-hpux,
- 	config/pa/x-pa-mpeix, config/pa/xm-pa.h,
- 	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
- 	config/pa/xm-papro.h, config/romp/xm-romp.h,
- 	config/rs6000/x-aix31, config/rs6000/x-aix41,
- 	config/rs6000/x-beos, config/rs6000/x-lynx,
- 	config/rs6000/x-mach, config/rs6000/x-rs6000,
- 	config/rs6000/x-sysv4, config/rs6000/xm-rs6000.h,
- 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
- 	config/sparc/x-sysv4, config/sparc/xm-linux.h,
- 	config/sparc/xm-pbd.h, config/sparc/xm-sparc.h,
- 	config/vax/xm-vms.h: Eradicate all references to alloca and
- 	related stuff.
- 
- 	* config/xm-alloca.h, config/clipper/x-clix,
- 	config/i386/xm-sysv4.h, config/i860/x-fx2800,
- 	config/i860/x-sysv3, config/m88k/x-sysv3,
- 	config/sparc/xm-sol2.h, config/we32k/x-we32k: Delete
- 	(contained only alloca related hacks).
- 
- 	* config/i386/xm-beos.h, config/rs6000/xm-beos.h: Just define
- 	USE_C_ALLOCA.
- 
- 2001-03-05  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* invoke.texi: Document __FAST_MATH__.
- 
- 2001-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* crtstuff.c: Restore include of auto-host.h.
- 
- 2001-03-05  Fergus Henderson  <fjh@cs.mu.oz.au>
- 
- 	Put main() in a separate file, so that the language
- 	front-end can use a different main().
- 
- 	* main.c: New.
- 	* toplev.c: (main): Rename as toplev_main.
- 	* toplev.h: Declare toplev_main.
- 	* Makefile.in (OBJS): add toplev.o.
- 	  (BACKEND): remove toplev.o, add main.o.
- 
- 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (search_from): Special case the empty string.
- 
- 2001-03-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (_cpp_execute_include): Don't make a null-terminated
- 	copy of the filename.  Don't use CPP_PREV_BUFFER.  Don't call
- 	strlen or strcpy; we already know the length.
- 	(_cpp_compare_file_date): Similarly.
- 	* cpphash.h (struct cpp_reader): Delete done_initialising.
- 	(CPP_PREV_BUFFER): Delete.
- 	* cppinit.c (cpp_start_read): Don't set done_initialising.
- 	* cpplex.c (parse_string): Guarantee null-termination.
- 	(_cpp_equiv_toklists): Remove.
- 	* cpplib.c (glue_header_name): Null-terminate.
- 	(do_line): Don't leak memory.
- 	* cpplib.h (BT_WEAK): Delete.
- 	* cppmain.c (cb_ident): Strings are now null-terminated.
- 
- 2001-03-04  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* gcc.c (convert_filename): Append executable suffix
- 	if NO_AUTO_EXE_SUFFIX is not defined.
- 	* gcc.texi: Document NO_AUTO_EXE_SUFFIX.
- 	* config/i386/djgpp.h: Define NO_AUTO_EXE_SUFFIX.
- 
- 2001-03-03  David O'Brien  <obrien@FreeBSD.org>
- 
- 	from 2000-09-06  Zack Weinberg  <zack@wolery.cumb.org>
- 	* c-parse.gperf, c-gperf.h: Delete.
- 	(c-gperf.h was accidently re-added to the CVS repo in the rev
- 	1.16 commit by tromey)
- 
- 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (_cpp_lex_token): Don't warn about directives in
- 	macro arguments when looking for the '('.
- 	* cppmacro.c (funlike_invocation_p): Set parsing_args to
- 	2 when really parsing arguments; 1 when looking for '('.
- 	Always restore the lexer position.
- 
- 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* longlong.h (umul_ppmm): Don't use a multiline string.
- 
- 2001-03-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* fixinc/fixlib.h (t_bool): Add identifier `t_bool' in typedef.
- 	* fixinc/server.c (read_pipe_timeout): Use enum t_bool instead of
- 	t_bool in declaration because pcc can't combine volatile with typedef
- 	types.
- 
- Sat Mar  3 19:47:13 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_fp_compare): Delay creating of scratch register
- 	until when it is really needed.
- 	(ix86_expand_compare): Update call of ix86_expand_fp_compare.
- 	* i386.h (PREDICATE_CODES): Add all codes for sse_comparison_operator
- 	* i386.md (float?i?f splitter): Don't force source operand to memory
- 	for SSE.
- 	(sse_movdfcc): Fix constraint.
- 	(sse_movdfcc splitter): Handle properly the second alternative.
- 
- 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (parse_string): Unconditionally pedwarn.
- 
- 2001-03-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update.
- 	* cppexp.c (parse_number): Update.
- 	* cpplex.c (parse_string): Pedwarn if multiline string does not
- 	result from a system header's macro.
- 	* cpplib.h (sys_objmacro_p): Rename sys_macro_p.
- 	* cppmacro.c (sys_objmacro_p): Rename sys_macro_p.  Return true
- 	for function-like macros too.
- 	* c-lex.c (lex_number): Update.
- 
- 2001-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Fix augmentation length.
- 
- Sat Mar  3 04:17:17 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* combine.c (try_combine): If split with mode-changed scratch
- 	register didn't work, try the original mode.
- 
- Sat Mar  3 03:46:47 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* tm.texi: Change STRUCT_FORCE_BLK to MEMBER_TYPE_FORCES_BLK.
- 	* config/c4x/c4x.h: Likewise.
- 	* stor-layout.c (compute_record_mode): Likewise.
- 	(layout_type, case ARRAY_TYPE): Use MEMBER_TYPE_FORCES_BLK.
- 
- 2001-03-02  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* configure.in: Kill tm.h.  Include the files in the $tm_file
- 	list in all three of config.h, hconfig.h, tconfig.h, after the
- 	relevant set of xm_files.  Put TARGET_CPU_DEFAULT in all
- 	three, include insn-codes.h in all three (#ifndef GENERATOR_FILE).
- 	* configure: Regenerate.
- 	* Makefile.in (clean): Don't delete tm.h.
- 
- 	* system.h: If SUCCESS_EXIT_CODE and FATAL_EXIT_CODE are not
- 	defined, set them from EXIT_SUCCESS and EXIT_FAILURE.  If
- 	those are not defined, set SEC and FEC to 0 and 1.
- 	* gcc.texi: Update to match.
- 
- 	* crtstuff.c: Include tconfig.h, not auto-host.h and tm.h.
- 	* config/fp-bit.c, config/m68k/aux-crt2.asm,
- 	config/m68k/aux-crtn.asm, config/m68k/aux-mcount.c:
- 	Include tconfig.h, not tm.h.
- 
- 	* config/xm-lynx.h, config/xm-std32.h,
- 	config/a29k/xm-a29k.h, config/a29k/xm-unix.h,
- 	config/alpha/xm-alpha.h, config/arc/xm-arc.h,
- 	config/avr/xm-avr.h, config/c4x/xm-c4x.h,
- 	config/clipper/xm-clix.h, config/convex/xm-convex.h,
- 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
- 	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
- 	config/h8300/xm-h8300.h, config/i370/xm-linux.h,
- 	config/i386/xm-i386.h, config/i860/xm-i860.h,
- 	config/i960/xm-i960.h, config/ia64/xm-ia64.h,
- 	config/m32r/xm-m32r.h, config/m68hc11/xm-m68hc11.h,
- 	config/m88k/xm-m88k.h, config/mcore/xm-mcore.h,
- 	config/mips/xm-mips.h, config/mn10200/xm-mn10200.h,
- 	config/mn10300/xm-mn10300.h, config/ns32k/xm-ns32k.h,
- 	config/pa/xm-linux.h, config/pa/xm-pa.h,
- 	config/pa/xm-pa64hpux.h, config/pa/xm-pahpux.h,
- 	config/pa/xm-papro.h, config/pdp11/xm-pdp11.h,
- 	config/pj/xm-pj.h, config/romp/xm-romp.h,
- 	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
- 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
- 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
- 	config/v850/xm-v850.h, config/vax/xm-vax.h,
- 	config/we32k/xm-we32k.h:
- 	Don't include tm.h.
- 	Don't define SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
- 
- 	* config/i370/xm-i370.h, config/i370/xm-mvs.h,
- 	config/i370/xm-oe.h: Don't include tm.h.  Don't define
- 	SUCCESS_EXIT_CODE.
- 	* config/vax/xm-vms.h: Don't include tm.h.
- 
- 	* config/xm-lynx.h, config/avr/xm-avr.h,
- 	config/fr30/xm-fr30.h, config/pdp11/xm-pdp11.h,
- 	Delete; made empty by above changes.
- 	* config/i386/xm-lynx.h, config/m68k/xm-lynx.h,
- 	config/rs6000/xm-lynx.h, config/sparc/xm-lynx.h:
- 	Don't include config/xm-lynx.h or tm.h.
- 
- 	* config/xm-gnu.h: Don't include fcntl.h.
- 	* config/sparc/xm-lynx.h: Don't include sys/types.h and
- 	sys/wait.h.
- 	* config/clipper/xm-clix.h, config/vax/xm-vax.h: Don't define isinf.
- 
- 2001-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* tm.texi (File Framework): Document UNALIGNED_SHORT_ASM_OP,
- 	UNALIGNED_INT_ASM_OP, and UNALIGNED_DOUBLE_INT_ASM_OP.
- 
- 2001-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (OBJS): Add dwarf2asm.o.
- 	* dwarf2asm.c, dwarf2asm.h: New files.
- 	* dwarf2out.c (*): Use them.
- 	(size_of_uleb128, size_of_sleb128): Remove.
- 	(output_uleb128, output_sleb128): Remove.
- 	(UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP): Remove.
- 	(UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Remove.
- 	(UNALIGNED_OFFSET_ASM_OP, UNALIGNED_WORD_ASM_OP): Remove.
- 	(FDE_LABEL, LINE_NUMBER_BEGIN_LABEL, LINE_NUMBER_END_LABEL): New.
- 	(ASM_OUTPUT_DWARF_DATA1, ASM_OUTPUT_DWARF_DELTA1): Remove.
- 	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_DELTA2): Remove.
- 	(ASM_OUTPUT_DWARF_DATA4, ASM_OUTPUT_DWARF_DELTA4): Remove.
- 	(ASM_OUTPUT_DWARF_DATA, ASM_OUTPUT_DWARF_DELTA): Remove.
- 	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_ADDR_DATA): Remove.
- 	(ASM_OUTPUT_DWARF_ADDR_DELTA, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
- 	(ASM_OUTPUT_DWARF_OFFSET4, ASM_OUTPUT_DWARF_OFFSET): Remove.
- 	(ASM_OUTPUT_DWARF_CONST_DOUBLE): Remove.
- 	(ASM_OUTPUT_DWARF_NSTRING, ASM_OUTPUT_DWARF_STRING): Remove.
- 	(dwarf2out_frame_debug): Remove unused variables.
- 	(output_loc_operands): Don't abort on 8 byte constants if
- 	host integers are wide enough.
- 	(output_symbolic_ref): Remove.
- 	(size_of_die): Don't assume 4 byte host integers.
- 	(output_line_info): Use ASM_GENERATE_INTERNAL_LABEL for begin
- 	and end labels.
- 	(add_const_value_attribute) [CONST_INT]: Verify we're not doing
- 	something stupid with HOST_WIDE_INT to long truncation.
- 	[CONST_DOUBLE]: Likewise.
- 
- 	* config/arm/conix-elf.h (UNALIGNED_WORD_ASM_OP): Remove.
- 	(ASM_OUTPUT_DWARF2_ADDR_CONST, ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
- 	* config/arm/unknown-elf.h: Likewise.
- 	* config/rs6000/aix.h (UNALIGNED_SHORT_ASM_OP): New.
- 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): New.
- 	(ASM_OUTPUT_DWARF_ADDR_VAR, ASM_OUTPUT_DWARF_DELTA_VAR): Remove.
- 	(ASM_OUTPUT_DWARF_DELTA2, ASM_OUTPUT_DWARF_DELTA4): Remove.
- 	(ASM_OUTPUT_DWARF_DELTA, ASM_OUTPUT_DWARF_ADDR_DELTA): Remove.
- 	(ASM_OUTPUT_DWARF_ADDR, ASM_OUTPUT_DWARF_DATA4): Remove.
- 	(ASM_OUTPUT_DWARF_DATA2, ASM_OUTPUT_DWARF_OFFSET4): Remove.
- 	(ASM_OUTPUT_DWARF_OFFSET): Remove.
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Remove.
- 	* config/sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
- 	(UNALIGNED_LONGLONG_ASM_OP, ASM_OUTPUT_DWARF_ADDR): Remove.
- 	(ASM_OUTPUT_DWARF_ADDR_CONST, ASM_OUTPUT_DWARF_REF): Remove.
- 
- 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cselib.c (hash_rtx): Cast enums to unsigned int.
- 
- 2001-03-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* print-rtl.c (print_rtx): Cast enums to int for comparison.
- 	* c-decl.c (grokdeclarator): Cast enums to int for comparison and
- 	shifts.
- 	* c-format.c (C_STD_VER): Cast to int for comparisons.
- 	(check_function_format): Cast various enums to int for &.
- 	(maybe_read_dollar_number): Likewise.
- 	(check_format_info): Likewise.
- 	(check_format_info_main): Likewise.
- 	* expr.c (emit_move_insn_1): Cast enums to unsigned int for comparison.
- 	(safe_from_p): Likewise.
- 	* varasm.c (const_hash): Cast enum to int for %.
- 	* emit-rtl.c (init_emit_once): Use int loop variable to work around
- 	pcc enum problems with < and ++ operators.
- 	* regclass.c (init_reg_sets_1): Cast enums for comparison.
- 	(choose_hard_reg_mode): Use unsigned int to iterate over CCmodes.
- 	(regclass_init): Change enum class to int to iterate over reg_classes.
- 	* genrecog.c (merge_trees): Cast enums for comparison.
- 	* rtl.h (GET_CODE): Cast to enum rtx_code.
- 	(PUT_CODE): Cast to ENUM_BITFIELD(rtx_code).
- 	(GET_MODE): Cast to enum machine_mode.
- 	(PUT_MODE): Cast to ENUM_BITFIELD(machine_mode).
- 	(GET_NOTE_INSN_NAME): Cast enum to int.
- 	* tree.h (TREE_CODE): Cast to enum tree_code.
- 	(TREE_SET_CODE): Cast VALUE to ENUM_BITFIELD(tree_code).
- 	* timevar.c (timevar_print): Change loop variable id from enum to
- 	unsigned int.
- 	* fixinc/fixincl.c (VLEVEL): Cast enums in comparison to unsigned int.
- 	* config/i386/i386.md: Use PUT_MODE for mode assignment.
- 	* toplev.c (compile_file): Cast enum DFI to int.
- 	(decode_d_option): Likewise.
- 
- Fri Mar  2 12:18:13 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* cppinit.c (append_include_chain): Mark "after" include file name list
- 	as a system directory.
- 	* cpp.texi: Document new behavior.
- 
- Fri Mar  2 11:59:43 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (noce_operand_ok): Handle properly unarry operations.
- 
- 2001-03-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (struct include_file): Update.
- 	(stack_include_file): Use search_from.
- 	(cpp_included, find_include_file): Update.
- 	(cpp_execute_include): Update.  ptr->name may not be
- 	null terminated.  Use the new search_from member variable
- 	of cpp_buffer.
- 	(_cpp_compare_file_date): Similarly.
- 	(search_from): New function, similar to actual_directory.
- 	(actual_directory): Delete.
- 	(remap_filename): Update.  loc->name may not be null terminated.
- 	(struct file_name_list): Rename search_path.  Update.
- 	* cpphash.h (struct cpp_buffer): Delete actual_dir.  New members
- 	search_from and dir.
- 	(struct cpp_reader): Remove actual_dirs.
- 	* cppinit.c (struct cpp_pending): Update for renamed objects.
- 	(append_include_chain, remove_dup_dir, remove_dup_dirs,
- 	merge_include_chains, cpp_destroy, cpp_start_read): Similarly.
- 	* cpplib.h (struct cpp_options): Similarly.
- 
- 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config/xm-lynx.h, config/xm-std32.h, config/a29k/xm-a29k.h,
- 	config/a29k/xm-unix.h, config/alpha/xm-alpha.h,
- 	config/arc/xm-arc.h, config/arm/xm-arm.h, config/c4x/xm-c4x.h,
- 	config/clipper/xm-clix.h, config/convex/xm-convex.h,
- 	config/d30v/xm-d30v.h, config/dsp16xx/xm-dsp16xx.h,
- 	config/elxsi/xm-elxsi.h, config/fr30/xm-fr30.h,
- 	config/h8300/xm-h8300.h, config/i370/xm-i370.h,
- 	config/i370/xm-linux.h, config/i370/xm-mvs.h,
- 	config/i370/xm-oe.h, config/i386/xm-aix.h,
- 	config/i386/xm-i386.h, config/i386/xm-osf.h,
- 	config/i860/xm-i860.h, config/i960/xm-i960.h,
- 	config/ia64/xm-ia64.h, config/m32r/xm-m32r.h,
- 	config/m68k/xm-m68k.h, config/m88k/xm-m88k.h,
- 	config/mcore/xm-mcore.h, config/mips/xm-mips.h,
- 	config/mn10200/xm-mn10200.h, config/mn10300/xm-mn10300.h,
- 	config/ns32k/xm-ns32k.h, config/pa/xm-linux.h,
- 	config/pa/xm-pa.h, config/pa/xm-pa64hpux.h,
- 	config/pa/xm-pahpux.h, config/pa/xm-papro.h,
- 	config/pj/xm-pj.h, config/romp/xm-romp.h,
- 	config/rs6000/xm-beos.h, config/rs6000/xm-rs6000.h,
- 	config/rs6000/xm-sysv4.h, config/sh/xm-sh.h,
- 	config/sparc/xm-sparc.h, config/sparc/xm-sysv4.h,
- 	config/v850/xm-v850.h, config/vax/xm-vax.h,
- 	config/vax/xm-vms.h, config/we32k/xm-we32k.h:
- 	Do not define TRUE or FALSE.
- 
- 	* config/i386/xm-aix.h, config/i386/xm-osf.h: Delete; made
- 	empty by above change.
- 	* config.gcc: Remove references to these files.
- 
- 	* configure.in: Detect stdbool.h.
- 	* configure, config.in: Regenerate.
- 	* system.h: Include stddef.h here if available.
- 	Set HAVE__BOOL based on GCC_VERSION and __STDC_VERSION__.
- 	Then set up a sensible boolean type at the very end.
- 
- 	* combine.c, cse.c, expr.c, fold-const.c, gensupport.c,
- 	config/mcore/mcore.c: Rename variables named 'true' and/or 'false'.
- 
- 	* hash.h: Delete 'boolean' typedef and related #undefs.
- 
- 	* function.c, ggc-common.c, hash.h, hash.c, tlink.c: Replace
- 	all uses of 'boolean' with 'bool'.
- 
- 2001-03-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cpplib.c (_cpp_init_stacks): Cast enum for comparison.
- 	* cppexp.c (lex): Cast enums for comparison.
- 	* cppinit.c (parse_option): Cast enum for comparison.
- 	* cpplex.c (cpp_spell_token): Cast enums to int for minus.
- 	(cpp_output_token): Likewise.
- 	(cpp_can_paste): Cast enums for comparsion and plus/minus.
- 	(cpp_avoid_paste): Cast enums for minus and comparison.
- 
- 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* gcc.c, objc/lang-specs.h: Add zero initializer for cpp_spec
- 	field to all array elements.
- 
- 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* cpphash.h (struct cpp_reader): Add print_version field.
- 	* cppinit.c (cpp_handle_option): For -v, -version, and --version,
- 	just set print_version and other flags as appropriate.
- 	(cpp_post_options): Print version here if print_version is set.
- 
- 	* toplev.c (exit_after_options): New flag.
- 	(independent_decode_option): Don't exit here; just set
- 	exit_after_options.
- 	(main): Exit after calling lang_hooks.post_options if
- 	exit_after_options is true.
- 
- 	* cppinit.c (append_include_chain): Drop never-used case QUOTE.
- 	(merge_include_chains): Adjust comment to match code.
- 
- 2001-03-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* stringpool.c (set_identifier): New function.
- 	* tree.h: Prototype it.
- 
- 	* c-parse.in: Kill D_YES. If compiled for objc, call
- 	save_and_forget_protocol_qualifiers from init_reswords.
- 	* objc/objc-act.c (remember_protocol_qualifiers,
- 	forget_protocol_qualifiers): Don't diddle C_IS_RESERVED_WORD.
- 	Swap out the non-keyword IDENTIFIER_NODEs for keyword ones, or
- 	vice versa.
- 	(save_and_forget_protocol_qualifiers): New function.
- 	* c-lex.h: Prototype save_and_forget_protocol_qualifiers.
- 
- 2001-03-01  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* c-semantics.c (prune_unused_decls): Return error_mark_node
- 	instead of (tree) 1 to stop traversing the tree chain.
- 
- 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
- 
- 	Fix a problem introduced by Kenner's Feb 18 change.
- 	* toplev.c (rest_of_compilation): Disable flag_cse_follow_jumps and
- 	flag_cse_skip_blocks only temporarily, not for ever.
- 
- Thu Mar  1 09:49:58 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/som.h  (ASM_IDENTIFY_GCC): Define.
- 	(ASM_IDENTIFY_GCC_AFTER_SOURCE): Likewise.
- 
- 	* pa.c (emit_move_sequence): Verify operand0 is a hard register
- 	before determining its register class.
- 
- 2001-03-01  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_hard_regno_rename_ok): Disallow renaming
- 	from reg 4 if current_function_calls_setjmp.
- 	(gen_nop_type): New function.
- 	(ia64_emit_nops): New function.
- 	(ia64_reorg): Call it.
- 	(ia64_sched_reorder): Move code that rotates bundles up a bit.
- 
- 	* reload1.c (eliminate_regs_in_insn): Restrict the special case
- 	code not to try to optimize adds with anything but a REG destination.
- 
- 	* sched-int.h (struct haifa_insn_data): Add new member priority_known.
- 	(INSN_PRIORITY_KNOWN): New accessor macro.
- 	* haifa-sched.c (priority): Use it instead of testing priority against
- 	zero.
- 
- 2001-02-28  DJ Delorie  <dj@redhat.com>
- 
- 	* config/m68k/m68k.h (MOVE_BY_PIECES_P): Avoid pushing bytes,
- 	since that doesn't work the way gcc wants on a generic m68k.
- 
- 2001-02-28  Richard Henderson  <rth@redhat.com>
- 
- 	* caller-save.c (save_call_clobbered_regs): Fix typo in
- 	comparison last change.
- 
- Wed Feb 28 19:31:42 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (pentium4_cost): New.
- 	(m_PENT4): New macro.
- 	(x86_push_memory, x86_movx,x86_cmove, x86_deep_branch, x86_use_sahf
- 	x86_sub_esp_4, x86_sub_esp_8, x86_add_esp_4, x86_add_esp_8
- 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
- 	x86_memory_mismatch_stall): Add Pentium4
- 	(x86_use_q_reg, x86_use_any_reg): Kill.
- 	(override_options): Add pentium4.
- 	(incdec_operand): Return 0 for pentium4.
- 	(ix86_issue_rate): Add PROCESSOR_PENTIUM4 and PROCESSOR_ATHLON.
- 	* i386.h (x86_use_q_reg, x86_use_any_reg): Kill.
- 	(TARGET_PENTIUM4): Define.
- 	(enum processor_type): Add PROCESSOR_PENTIUM4.
- 	(CPP_CPU_DEFAULT_SPEC): Add pentium4 support.
- 	* i386.md (attribute "cpu"): Add pentium4.
- 	* invoke.texi (march): Add pentium4.
- 
- Wed Feb 28 19:28:06 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_mov?fcc*): New patterns and splitters.
- 	* i386.c (ix86_expand_movcc): Work post-reload; recognize
- 	the SSE based conditional moves.
- 
- Wed Feb 28 19:18:23 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (attribute mode): Add "TI".
- 	(movsf_1): Add pxor support; remove constant propagation splitter.
- 	(movdf_integer): Likewise.
- 	(movdf_nointeger): Likewise.
- 	(movxf constant prop splitter): Handle all modes; update for SSE.
- 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER): Add 'H' for SSE constants.
- 	* i386.c (standard_80387_constant_p): Rewrite.
- 	(standard_sse_constant_p): New.
- 	* i386-protos.h (standard_sse_constant_p): New.
- 
- Wed Feb 28 19:05:37 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_setccsf, sse_setccdf): New.
- 	(sse_cmp* patterns): Use '%D' instead of outputtting condition
- 	flag directly.
- 	* i386.c (sse_comparison_operator): Accept the supported unordered
- 	comparses; be ready for fast_math.
- 	(print_operand): Support 'D'.
- 
- Wed Feb 28 18:54:51 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (reversed_comparison_code): Kill.
- 
- Wed Feb 28 18:50:15 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Do post-reload splitting unconditionally
- 	for STACK_REGS
- 
- Wed Feb 28 18:47:37 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_andti3, sse_nandti_3, sse_xorti3): Add SSE2 versions;
- 	add missing '%' in constraints.
- 
- Wed Feb 28 17:24:24 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-common.c (build_common_tree_nodes): Build intTI_type_nodes
- 	for HOST_BITS_PER_WIDE_INT == 32 too.
- 
- Wed Feb 28 17:22:35 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* caller-save.c (reg_save_code, reg_restore_code):  Index by mode, not
- 	NREGS.
- 	(insert_save, insert_restore): New parameter save_mode.
- 	(init_caller_save): Update initialization of reg_save_code
- 	and reg_restore_code.
- 	(save_call_clobbered_regs):  Compute save_modes and update calls to
- 	reg_save_code and reg_restore_code.
- 	(insert_restore):  Unsignetize numbers; use save_modes to choose mode
- 	of spill; update use of reg_restore_code.
- 	(insert_save):  Likewise.
- 	* i386.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
- 	* c4x.h (HARD_REGNO_CALLER_SAVE_MODE): Update.
- 	* regs.h (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
- 
- Wed Feb 28 17:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag_constants,
- 	noce_try_store_flag_inc, noce_try_store_flag_mask,
- 	noce_try_cmove_arith):
- 	Use reversed_comparison_code instead of reverse_comparison and
- 	can_reverse_comparison_p.
- 
- Wed Feb 28 17:17:29 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (reversed_comparison_code_parts): Allow reversal of
- 	unordered compares in -ffast-math mode; reverse ordered compares
- 	for FP even w/o -ffast-math.
- 
- 2001-02-27  Richard Henderson  <rth@redhat.com>
- 
- 	* print-rtl.c (print_rtx) [i]: Don't print field five on
- 	NOTEs other than NOTE_INSN_DELETED_LABEL.
- 
- 2001-02-27  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* mips/xm-iris4.h: Delete #if 0 block (there since before 1997).
- 	* pa/xm-linux.h, pa/xm-pa.h, pa/xm-papro.h: Don't declare errno.
- 
- 2001-02-27  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* c-common.c (walk_stmt_tree): Visit the chain of the current tree
- 	even if walk_subtrees is 0.
- 	* c-semantics.c (prune_unused_decls): Return a non-null value to
- 	stop traversing the tree chain.
- 
- 2001-02-27  DJ Delorie  <dj@redhat.com>
- 
- 	* config/m68k/m68k.c (output_function_prologue): Save the new CFA
- 	register, *then* define it as the new CFA.
- 
- Tue Feb 27 16:49:13 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (override_options): Promote -fpic to -fPIC.
- 	(legitimize_pic_address): Simplify due to removal of
- 	small PIC as a code generation option.
- 	(secondary_reload_class): Similarly.
- 	* pa.h (GO_IF_LEGITIMATE_ADDRESS): Similarly.
- 	(PRINT_OPERAND_ADDRESS): Similarly.
- 	* pa.md (various patterns): Similarly.
- 	(small pic lo_sum pattern): Remove.
- 
- Tue Feb 27 16:01:13 CET 2001  Jan Hubicka  <jh@suse.cz>
- 			      Fergus Henderson
- 
- 	* md.texi (min, max): Document
- 
- Tue Feb 27 15:51:35 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsf, movdf): Use movaps for reg-reg moves if
- 	TARGET_PARTIAL_REG_DEPENDENCY.
- 	(truncdfsf2_1_sse, truncdfsf2_2): Penalize the fpreg->mem case.
- 
- Tue Feb 27 15:36:48 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (mins*, maxs*): New patterns, expanders and splitters.
- 
- 2001-02-26  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* mips.c (mips_make_temp_file): Fix thinko in last change.
- 
- 2001-02-26  Jason Eckhardt  <jle@redhat.com>
- 
- 	* combine.c (known_cond): Do not reverse the condition when
- 	SMAX/UMAX is being considered and the condition is for equality
- 	or inequality.
- 
- 	* testsuite/gcc.c-torture/execute/20010221-1.c: New test.
- 
- 2001-02-26  Philip Blundell  <philb@gnu.org>
- 
- 	* config.gcc: Remove obsolete targets "arm*-*-linuxoldld" and
- 	"armv2-*-linux".
- 	* config/arm/linux-elf.h: Remove historical relics related to
- 	above configurations.
- 	* config/arm/linux-oldld.h: Delete.
- 	* config/arm/linux-elf26.h: Delete.
- 
- 2001-02-26  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (finish_decl): Set DECL_DEFER_OUTPUT on tentative file-scope
- 	definitions.
- 	* toplev.c (rest_of_decl_compilation): Check DECL_DEFER_OUTPUT to
- 	recognize a tentative definition.  Lose obsolete code.
- 
- 	* toplev.c (wrapup_global_declarations): Don't emit DECL_COMDAT
- 	variables unless necessary, either.
- 
- 2001-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (struct noce_if_info): Add test_bb.
- 	(noce_get_alt_condition): New.
- 	(noce_try_minmax, noce_try_abs): New.
- 	(noce_operand_ok): New.
- 	(noce_process_if_block): Use them.
- 	* rtlanal.c (may_trap_p): NEG and ABS can never trap.
- 
- Sun Feb 25 14:26:17 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h (CPP_SPEC): Add missing space before w32api
- 	include.
- 
- 2001-02-25  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Put back pa/t-openbsd and rs6000/t-openbsd.
- 	* config/mips/mips.c (mips_make_temp_file): Set temp_filename
- 	properly.
- 	(mips_asm_file_end): Free temp_filename here.
- 
- Sun Feb 25 08:34:23 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): Move decl.
- 	* config/i386/i386.c (ix86_set_move_mem_attrs_1): Fix typo.
- 
- 	* config/i386/i386.md (movstrsi): Handle FAIL case.
- 
- 2001-02-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (builtin_array): Update.
- 	(init_builtins): Flag builtins to warn if redefined or
- 	undefined.  Define __GXX_WEAK as a normal macro.
- 	* cpplib.c (do_undef): Warn if flagged NODE_WARN.
- 	* cpplib.h (NODE_WARN): New flag.
- 	* cppmacro.c (builtin_macro): Remove handling of __GXX_WEAK__.
- 	Handle __STDC__ as a builtin only on Solaris.
- 	(warn_of_redefinition): Renamed from check_macro_definition.
- 	Reverse sense of test.  Always warn if NODE_WARN.
- 	(_cpp_create_definition): Use warn_of_redefinition.  Flag
- 	any macro beginning with "__STDC_" to require a mandatory
- 	warning if redefined or undefined.
- 
- 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* xm-interix.h, xm-lynx.h, alpha/xm-vms.h, convex/xm-convex.h,
- 	i370/xm-i370.h, i370/xm-linux.h, i370/xm-mvs.h, i370/xm-oe.h,
- 	i386/xm-beos.h, i386/xm-dos.h, i386/xm-mingw32.h,
- 	i860/xm-i860.h, m68k/xm-3b1.h, m68k/xm-amix.h, m68k/xm-aux.h,
- 	m68k/xm-crds.h, m68k/xm-mot3300.h, m88k/xm-sysv3.h,
- 	mips/xm-mips.h, rs6000/xm-beos.h, vax/xm-vms.h:
- 	Don't define any of:
- 	USE_PROTOTYPES, vfork, mktemp, SVR3, NO_SYS_PARAMS_H,
- 	P_tmpdir, MVS, NO_DBX_FORMAT, USE_STDARGS, STDC_HEADERS,
- 	NO_PRECOMPILES, i860, __PTR_TO_INT, __INT_TO_PTR, rindex,
- 	index, FULL_PROTOTYPES, AUX, R_OK, W_OK, X_OK, F_OK,
- 	STACK_DIRECTION, MIPS, MAX_READ_LEN, MAX_WRITE_LEN.
- 
- 	* alpha/xm-alpha.h, clipper/xm-clix.h, d30v/xm-d30v.h,
- 	fr30/xm-fr30.h, i370/xm-linux.h: Remove commented-out macro
- 	definitions.
- 
- 	* m68k/xm-3b1.h, m68k/xm-crds.h, m88k/xm-sysv3.h:
- 	Delete now-empty file.
- 
- 	* alpha/vms.h: Define NEED_ATEXIT here...
- 	* alpha/xm-vms.h: ...not here.
- 
- 	* i386/cygwin.h: Don't define PARAMS.
- 	* mips/mips.c: Don't prototype mktemp.  Don't define
- 	P_tmpdir.  Use make_temp_file to create temporary files.
- 	Don't be clever and delete temporary files early.
- 	* config.gcc: Drop references to deleted files.  Don't define
- 	FULL_PROTOTYPES.
- 	* gcc.texi: Don't mention USE_PROTOTYPES.
- 
- Sat Feb 24 20:25:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.c (ix86_set_move_mem_attrs): New function.
- 	(ix86_set_move_mem_attrs_1): Likewise.
- 	* config/i386/i386-protos.h (ix86_set_move_mem_attrs): New declaration.
- 	* config/i386/i386.md (movstrsi): Call it.
- 
- 2001-02-24  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* config.gcc: Expunge references to alpha/t-pe, pa/t-openbsd,
- 	x-linux-aout, i386/t-go32, t-osf, m68k/x-m68kv,
- 	ns32k/xm-netbsd.h, rs6000/t-openbsd, rs6000/t-xnewas,
- 	rs6000/x-aix41-gld.  These are nonexistent, empty, or obsolete.
- 
- 	(i750a-*-*): Error here if hosting on i750a.
- 	(alpha*-*-winnt*, ix86-*-winnt3*): Remove stanzas entirely.
- 
- 	* x-linux-aout, xm-freebsd.h, i386/beos-pe.h, ns32k/xm-netbsd.h:
- 	Remove (empty modulo comments).
- 
- 	* 1750a/xm-1750a.h, alpha/config-nt.sed, alpha/win-nt.h,
- 	alpha/xm-winnt.h, i386/config-nt.sed, i386/os2.h,
- 	i386/t-winnt, i386/win-nt.h, i386/xm-freebsd.h, i386/xm-os2.h,
- 	i386/xm-winnt.h, m68k/x-alloca-c, m88k/x-dguxbcs,
- 	mips/x-netbsd, mips/x-nws3250v4, rs6000/t-xnewas,
- 	rs6000/t-xrs6000, rs6000/xm-cygwin.h: Remove (obsolete)
- 
- 	* i386/crtdll.h, i386/cygwin.h, i386/mingw32.h:
- 	Remove reference to winnt.h in comment.
- 	* rs6000/t-newas, rs6000/t-rs6000: Override LIBGCC1_TEST to null.
- 
- 2001-02-24  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* loop.c (check_dbra_loop): A biv has uses besides counting if it is
- 	used to set another biv.
- 
- Sat Feb 24 06:45:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (BLOCK_DEAD): New macro.
- 	(struct tree_block): New flag, dead_flag.
- 	* print-tree.c (print_node, case 'b'): Print missing fields.
- 	* emit-rtl.c (remove_unnecessary_notes): Set BLOCK_DEAD.
- 	* function.c (identify_blocks): Enable test for misplaced notes.
- 	(all_blocks): Skip BLOCK_DEAD blocks.
- 	* integrate.c (integrate_decl_tree): Likewise.
- 
- 	* errors.c (internal_error, trim_filename): New functions.
- 	(fancy_abort): Call internal_error.
- 	* errors.h (internal_error, trim_filename): New declarations.
- 
- 2001-02-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.h (DBX_REGISTER_NUMBER): Reverted
- 	2000-08-26's patch.
- 	(EXTRA_CONSTRAINT): Formatting changes.
- 
- 2001-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.c (rtl_check_failed_code2): Fix typo in last change.
- 
- 2001-02-23  Per Bothner  <per@bothner.com>
- 
- 	* gcc.c (record_temp_file, pfatal_with_name, error):  Make non-static,
- 	so they can be called from java/jvspec.c.
- 	* gcc.h (record_temp_file, pfatal_with_name, error):  Declare.
- 
- Sat Feb 24 03:32:50 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_frame): New structure.
- 	(ix86_compute_frame_size): Kill.
- 	(ix86_compute_frame_layout): New.
- 	(ix86_save_reg): New.
- 	(ix86_can_use_return_insn_p): Use frame layout stuff.
- 	(ix86_expand_prologue): Likewise.
- 	(ix86_expand_epilogue): Likewise.
- 	(ix86_initial_elimination_offset): Likewise.
- 	(ix86_nsaved_regs): Use ix86_save_reg.
- 	(ix86_emit_save_regs): Likewise.
- 
- Sat Feb 24 03:30:38 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (find_sub_basic_blocks): New function.
- 	(split_block): Be ready for basic block introduced by CODE_LABEL.
- 	(commit_one_edge_insertion): Call find_sub_basic_block.
- 
- 	* flow.c (make_edges): Add edge from entry for blocks starting with
- 	label having ALTERNATE_NAME
- 
- Sat Feb 24 03:19:42 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (epilogue_done): Be ready for first basic block not
- 	containing PROLOGUE_END note.
- 	(reposition_prologue_and_epilogue_notes): Avoid placing
- 	PROLOGUE_END note between BASIC_BLOCK.
- 
- Sat Feb 24 03:17:09 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (canonicalize_condition): Move to reversed_comparison_code.
- 
- 2001-02-21  DJ Delorie  <dj@redhat.com>
- 
- 	* config/i960/i960.h (FRAME_POINTER_REQUIRED): Revert removal of
- 	check for current_function_has_nonlocal_goto from 1999-11-12.
- 
- Fri Feb 23 15:28:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.c (trim_filename): No longer static.
- 	* toplev.h (trim_filename): Declare.
- 	* rtl.c (rtl_check_failed_bounds): Call internal_error.
- 	(rtl_check_failed_type1, rtl_check_failed_type2): Likewise.
- 	(rtl_check_failed_code1, rtl_check_failed_code2): Likewise.
- 	(rtvec_check_failed_bounds): Likewise.
- 	* tree.c (tree_check_failed, tree_class_check_failed): Likewise.
- 
- 	* convert.c (convert_to_integer): Don't do unsigned unless result or
- 	both inputs are unsigned.
- 
- 	* fold-const.c (fold_convert): Don't call size_int_type_wide if
- 	input overflows.
- 
- 	* c-decl.c (set_block): Set NAMES and BLOCKS from BLOCK.
- 
- 	* varasm.c (output_constant): Recompute CODE after lang-specific fn.
- 
- 2001-02-23  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* Makefile.in (resource.o): Add params.h dependence.
- 	* params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter.
- 	* params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise.
- 	* resource.c: Add dependence on params.h.
- 	(current_live_regs): Fix explanatory comment.
- 	(find_basic_block): Add new parameter to permit limiting search
- 	for a BARRIER.
- 	(mark_target_live_regs): Add new argument to find_basic_block call.
- 	(incr_ticks_for_insn): Likewise.
- 
- 2001-02-23  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.c (output_to_stream): Rename to
- 	output_buffer_to_stream. Loses the stream parameter.
- 	(init_output_buffer): Set diagnosic_buffer's stream.
- 	(flush_diagnostic_buffer): Adjust.
- 	(default_print_error_function): Likewise.
- 	(finish_diagnostic): Likewise.
- 	(verbatim): Likewise.
- 
- 	* diagnostic.h (struct output_buffer): Add `stream' field.
- 	(output_buffer_attached_stream): New macro.
- 
- 2001-02-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (extract_muldiv) [case PLUS_EXPR]: If not MULT_EXPR,
- 	check if either operand is divisible by C.
- 	(multiple_of_p): Handle LSHIFT_EXPR with small constant shift.
- 	If type is signed, consider negative numbers as well.
- 
- 2001-02-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/crtbegin.asm (.fini): Use pc-relative relocs to
- 	reach .text instead of gp-relative relocs.
- 	* config/ia64/crtend.asm (.init): Likewise.
- 
- 2001-02-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* extend.texi (C++ Attributes): Fix typo.
- 
- 2001-02-21  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_epilogue_uses): For syscall_linkage
- 	functions, drop current_function_args_info.words test.
- 	(ia64_compute_frame_size): Mark syscall_linkage functions as
- 	using eight input registers.
- 
- 2001-02-21  Loren J. Rittle  <ljrittle@acm.org>
- 	Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def (freebsd_gcc3_breakage): new fix
- 	* fixinc/README: Document how to convert sed substitutions
- 	to format style c_fix-es.
- 	* fixinc/fixincl.x: regen
- 
- 2001-02-21  Jeffrey D. Oldham  <oldham@codesourcery.com>
- 
- 	* gcc.c: Add comment explaining how to add a command-line option.
- 	Add title to specs language comment.
- 
- 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* gcc.c (cc1_options): Add "-param".
- 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Likewise.
- 	(option_map): Likewise.
- 	* toplev.c (display_help): Add entry for "--param".
- 	(independent_decode_option): Fix typographical error.
- 
- Wed Feb 21 18:57:28 CET 2001  Catherine Moore  <clm@redhat.com>
- 			      Bernd Schmidt  <bernds@redhat.com>
- 			      Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (function_arg_advance):  Pass SSE arguments in registers.
- 	(function_arg): Likewise.
- 
- Wed Feb 21 18:12:41 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (mmx_lshrdi3, mmx_ashldi3): Guard by unspec.
- 
- 2001-02-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (iorsi3): Do not output an extra newline
- 	character.
- 	(xorsi3): Likewise.
- 
- Wed Feb 21 17:35:24 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (init_propagate_block_info): Canon address and use single_set
- 	for killing dead memory stores.
- 
- 2001-02-21  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* Makefile.in (reorg.o): Add params.h dependence.
- 	* params.def: Fix typographical error in comment.
- 	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
- 	* params.h: Modify introductory comment.
- 	(MAX_DELAY_SLOT_INSN_SEARCH): New parameter.
- 	* reorg.c: Add dependence on params.h.
- 	(redundant_insn): Add parameterized throttle for search.
- 	(fill_simple_delay_slots): Add a comment explaining a variable.
- 	Move conditional out of loop, simplifying code.
- 	(fill_eager_delay_slots): Fix typographical error in comment.
- 
- 2001-02-20  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* tm.texi (REVERSE_CONDEXEC_PREDICATES_P): New macro documentation.
- 
- 	* flow.c (ior_reg_cond): Use REVERSE_CONDEXEC_PREDICATES_P macro.
- 	(REVERSE_CONDEXEC_PREDICATES_P): Define macro.
- 
- 2001-02-21  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (DECL_UNINLINABLE): Move from C++ frontend.
- 	(struct tree_decl): Add uninlinable bitfield.
- 	* c-decl.c (duplicate_decls): Set it.
- 	* integrate.c (function_cannot_inline_p): Check it.
- 
- 	* dwarf2out.c (add_name_and_src_coords_attributes): Don't add
- 	DW_AT_MIPS_linkage_name to abstract methods.
- 	(dwarf2out_abstract_function): Emit class context before calling
- 	set_decl_abstract_flags.  Don't clear DECL_ABSTRACT.
- 	(gen_subprogram_die): Remove obsolete code.
- 	(gen_member_die): Don't include clones in the member list.
- 	(gen_decl_die): Emit abstract info for clone origin.
- 	* dwarfout.c (output_type): Don't include clones in the member list.
- 	* dbxout.c (dbxout_type_methods): Ignore abstract methods.
- 	* toplev.c (note_deferral_of_defined_inline_function): Don't clear
- 	DECL_ABSTRACT on a function that already has it set.
- 
- 	* dwarf2out.c (gen_formal_types_die): Also accept a FUNCTION_DECL.
- 	(get_subprogram_die): Pass it in.
- 
- 2001-02-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (mark_set_1): Make not_dead unsigned long.  For
- 	non-pseudos, use it as a bitmask of the hard regs that
- 	don't die.
- 
- 2001-02-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c: Update comments.
- 	(_cpp_read_file): Don't check for NULL filenames any more.
- 	* cppinit.c (cpp_start_read): Don't do canonicalization of
- 	in_fname and out_fname.  Use the passed file name exclusively.
- 	(_cpp_handle_options): Don't treat "-" as a command line option,
- 	but as a normal filename.
- 	(_cpp_post_options): Canonicalize in_fname and out_fname.
- 	* cppmain.c (printer_init): Don't check out_fname for NULL.
- 	* c-lex.c (orig_filename): Rename cpp_filename for clarity.
- 	(init_c_lex): Update, and use "" to represent stdin to CPP.
- 	(yyparse): Update.
- 
- 2001-02-20  Will Cohen  <wcohen@redhat.com>
- 
- 	* config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_usgl): New function.
- 	* config/pa/long_double.h (FIXUNS_TRUNCTFSI2_LIBCALL): Added.
- 	(INIT_TARGET_OPTABS): Use FIXUNS_TRUNCTFSI2_LIBCALL for
- 	fixunstfsi_libfunc.
- 
- 2001-02-20  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (output_cbranch): Output branches
- 	on separate lines instead of using ';' to separate.
- 
- 2001-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (set_lang):  Move builtin handling to...
- 	(init_builtins): ...here.
- 	(_cpp_create_reader): Move call to set_lang.
- 
- 2001-02-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (expand_return): If an attempt is made to return the
- 	error_mar_node, treat the return like a return without a value.
- 
- 2001-02-19  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* sibcall.c (skip_copy_to_return_value): Call
- 	identify_call_return_value here, and return orig_insn if it
- 	returns zero.  Hardret and softret arguments now unnecessary.
- 	(call_ends_block_p): Don't call identify_call_return_value here.
- 
- 	* ggc-common.c (ggc_mark_rtx_children): No need to mark 'S' or
- 	's' slots in RTXen.
- 	* ggc-page.c, ggc-simple.c (ggc_mark_if_gcable): Delete	function.
- 	* ggc.h (ggc_mark_if_gcable): Delete prototype.
- 
- Mon Feb 19 20:30:16 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (move_operand): Accept code to load the address of a
- 	symbol out of the DLT as a valid move operand.
- 	(print_operand, case 'A'): New to handle generating a DLT
- 	reference for a LO_SUM expression.
- 	* pa.h (EXTRA_CONSTRAINT): Handle 'A' for DLT LO_SUM references.
- 	* pa.md (movsi, movdi patterns): Allow DLT LO_SUM references.
- 
- 2001-02-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* README, cpp.texi, gcc.texi, version.c: Update version number to
- 	3.1.
- 	* cpp.1, gcov.1, gcc.1: Regenerate.
- 
- 2001-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Generate dependencies
- 	here, and manage include_count here too.
- 	(PRINT_THIS_DEP): Delete.
- 	(_cpp_execute_include): Do not generate dependencies here,
- 	apart from the case of a missing header.  Do not manage
- 	include_count.
- 	(_cpp_read_file): Leave dependency generation to
- 	stack_include_file.
- 
- Mon Feb 19 10:17:47 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config.gcc (hppa*64*-*-hpux11*): Add MASK_GAS to
- 	target_cpu_default.  Remove dead assignment to
- 	target_cpu_default.
- 
- Mon Feb 19 16:47:39 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* regclass.c (contains_reg_of_mode): Make global.
- 	(init_reg_sets): Remove contains_reg_of_mode; take into account
- 	CLASS_MAX_NREGS when looking for the proper mode.
- 	(dump_regclass): Dump only classes considered for the pseudo.
- 	(regclass): Use contains_reg_of_mode.
- 
- Mon Feb 19 16:45:42 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcc.c (do_spec_1): 'n' for printing notices.
- 	* i386.h (CC1_CPU_SPEC): Notice deprecated options as deprecated.
- 
- Mon Feb 19 15:51:30 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (next_flags_user): Use current_block->end
- 	(swap_rtx_condition): Look for next user if flags don't die;
- 	give up on CALL_INSNs; use current_block->end.
- 
- Mon Feb 19 08:27:21 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sibcall.c (call_ends_block_p): New function.
- 	(optimize_sibling_and_tail_recursive_call): Use it.
- 
- 2001-02-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Update copyright.
- 	(andsi3): Do not output an extra newline character.
- 
- Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (note_deferral_of_defined_inlined_function): Argument
- 	FNDECL may be unused.
- 
- 	* toplev.c (rest_of_compilation): Don't have CSE skip blocks or
- 	follow jumps after first run.
- 	If -fexpensive-optimizations rerun CSE after GCSE and iterate until
- 	it doesn't change any jumps.
- 
- Sun Feb 18 17:05:50 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (rtlanal.o): Depend on hard-reg-set.h.
- 	($HOST_PREFIX_1)rtlanal.o: Remove rules for building
- 	(mostlyclean): Corresponding changes.
- 	* rtlanal.c (hard-reg-set.h): Include.
- 	(rtx_unstable_p): Do not treat the argument pointer specially
- 	if it is not a fixed register.
- 	(rtx_varies_p, rtx_addr_can_trap_p): Similarly.
- 
- Sun Feb 18 15:45:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Compare
- 	against last real insn in basic block.
- 	Rework to avoid gotos.
- 
- 	* Makefile.in (gcse.o): Now includes ggc.h.
- 	* gcse.c: Include ggc.h.
- 	(want_to_gcse_p): Verify expression can be in SET as valid insn.
- 	(try_replace_reg): Remove warning of uninitialize variable.
- 	(process_insert_insn): Call invalid_insn_p to validate insn.
- 	* recog.c (insn_invalid_p): Now global.
- 	See if can make valid by adding CLOBBERs of SCRATCH only and do if so.
- 	* recog.h (insn_invalid_p): New declaration.
- 
- 	* jump.c (jump_optimize_1): Only define reversed_code #ifdef HAVE_trap.
- 
- 	* config/sparc/sparc.c (eligible_for_epilogue_delay): Don't put
- 	assignments from FP constants since 'Y' output code can't handle it.
- 	(eligible_for_sibcall_delay): Likewise.
- 
- 	* flow.c (print_rtl_and_abort_fcn): Renamed from print_rtl_and_abort.
- 	Call fancy_abort directly, passing args.
- 	(print_rtl_and_abort): Now a macro, like fancy_abort.
- 
- 	* final.c (output_operand_lossage): Use internal_error, not error.
- 
- 2001-02-18  Shane Nay  <shane@agendacomputing.com>
- 
- 	* mips.c (mips_expand_prologue) Add REG_MAYBE_DEAD to
- 	structure shift insns.
- 
- 2001-02-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (-fsquangle): Remove documentation.
- 	(-fname-mangling-version): Likewise.
- 
- 2001-02-18  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* optabs.c (expand_abs): Remove reference to
- 	HAVE_contitional_arithmetic.
- 	* combine.c (simplify_set): Likewise.
- 
- 2001-02-18  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (dead_or_predicable): Don't move code if eh regions
- 	would be disrupted.
- 
- 2001-02-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ns32k/ns32k.h (ADJSP): Upcase arguments.
- 
- 	* config/alpha/alpha.md (movsi_fix): Fix typo in pattern name.
- 
- 	* reload1.c (reload_cse_simplify_set): Fix typo.
- 
- Sun Feb 18 09:30:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.c (_fatal_insn): Decrement errorcount.
- 
- 	* invoke.texi (-I): Add note avoiding use for system header files.
- 
- 	* rtl.h (add_clobbers): Remove duplicate declaration.
- 	* recog.h (added_clobbers_hard_reg_p): New declaration.
- 	* genemit.c (struct clobber_pat): New field has_hard_reg.
- 	(gen_insn): Record if added clobbers clobber hard reg.
- 	(gen_split): Avoid unused warning if number of operands is 0.
- 	(output_added_clobbers_hard_reg_p): New function.
- 	(main): Call it.
- 
- 2001-02-18  Alan Modra <alan@linuxcare.com.au>
- 
- 	* pa.c (hppa_expand_prologue): Simplify code storing return
- 	pointer.  For large (>=8k) frames with a post_store, adjust stack
- 	pointer by 8k-64 first rather than by 64.  When testing with
- 	VAL_14_BITS_P, always use the actual value rather than the value
- 	negated.  Add blockage to prevent scheduling of spills before
- 	stack frame has been created.
- 	(hppa_expand_epilogue): Simplify code loading return pointer.
- 	Allow a slightly larger range for merge_sp_adjust_with_load case.
- 	When testing with VAL_14_BITS_P, always use the actual value.
- 
- 	* pa.c (pa_adjust_insn_length): Check that block move
- 	pattern is a set before looking at operands.
- 
- 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (fold_binary_op_with_conditional_arg): New
- 	function, split out from ...
- 	(fold): ... here.
- 	* tree.def (COND_EXPR): Document the use of VOID_TYPE for
- 	conditional arms that throw exceptions.
- 
- 	* print-tree.c (print_node): Do not use BLOCK_CHAIN when we're not
- 	looking at a BLOCK.
- 
- 2001-02-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (gcc_AC_CHECK_DECL): Before attempting the test,
- 	define HAVE_DECL_* to 1 to mask potential backup declarations.
- 	* configure: Regenerated.
- 
- 2001-02-17  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (-Woverloaded-virtual): Clarify documentation.
- 
- 2001-02-17  Richard Henderson  <rth@redhat.com>
- 
- 	* reload1.c (reload_cse_simplify_set): Respect LOAD_EXTEND_OP
- 	when replacing a memory load with a register.
- 
- Sat Feb 17 14:48:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 			  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (validate_replace_src_1): New.
- 	(validate_replace_src_data): Likewise.
- 	(validate_replace_src): Use note_uses.
- 	* rtl.h (note_uses): Declare.
- 	* rtlanal.c (note_uses): New.
- 
- Sat Feb 17 10:52:34 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (stack_def): Make field reg unsigned.
- 	(remove_regno_note): Unsignetize parameter.
- 
- 2001-02-16  Jes Sorensen  <jes@linuxcare.com>
- 
- 	* ia64.c (errata_emit_nops): Add VOIDmode as second argument to
- 	shladd_operand() call.
- 
- 2001-02-16  Bruce Korb  <bkorb@gnu.org>
- 	    Rodney Brown  <RodneyBrown@mynd.com>
- 
- 	* fixinc/mkfixinc.sh: Use C fixincludes for UnixWare 7.
- 	* fixinc/inclhack.def: Add fixinc.svr4 patterns with matching
- 	machine restrictions
- 	* fixinc/fixincl.x: regen
- 
- Fri Feb 16 12:41:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c (hash_scan_set): If cprop, see if REG_EQUAL or REG_EQUIV.
- 	Don't CSE a nop.
- 	(hash_scan_insn): Clean up calls to hash_scan_set.
- 	(compute_kill_rd): REGNO now unsigned.
- 	(try_replace_reg): Rework to use simplify_replace_rtx.
- 	(cprop_jump, cprop_cc0_jump): Likewise.
- 	(cprop_insn): Call find_reg_equal_equiv_note.
- 	Reflect changes to cprop_jump and cprop_cc0_jump.
- 
- 	* recog.c (validate_replace_src): Replace in operands of
- 	ZERO_EXTRACT in SET_DEST.
- 
- 	* cse.c (new_label_ref): New variable.
- 	(insert): Set it instead of recorded_label_ref.
- 	(cse_basic_block): Set recorded_label_ref if new_label_ref use, has
- 	CODE_LABEL for this function, and not already in REG_LABEL note.
- 
- 2001-02-16  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* resource.c (mark_referenced_resources): Fix typo in introductory
- 	comment.
- 	* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Fix typo in
- 	string constant.
- 
- 2001-02-16  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (add_bound_info): Don't crash if SAVE_EXPR_RTL is
- 	NULL.
- 	(gen_subprogram_die): Don't abort on seeing a second definition if
- 	the previous one was abstract.  Don't replace an abstract instance
- 	in the lookup table.
- 
- 	* dwarf2out.c (dwarf2out_abstract_function): Rename from
- 	gen_abstract_function.
- 	* dwarf2out.h: Declare it.
- 	* toplev.c (note_outlining_of_inline_function): New fn.
- 	* toplev.h: Declare it.
- 	* integrate.c (output_inline_function): Call it.
- 	* c-decl.c (duplicate_decls): Call it when redefining an extern
- 	inline.  Don't inline the new defn.
- 
- 	* tree.h (BLOCK_CHAIN): Use BLOCK_CHECK.
- 
- 2001-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* .gdbinit: Rename to gdbinit.in.
- 	* gdbinit.in: New file,
- 	* configure.in: Generate .gdbinit from gdbinit.in.
- 	* configure: Regenerated.
- 	* Makefile.in (distclean): Always remove .gdbinit.
- 
- 2001-02-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* objc/objc-act.c (start_class): Register implemented_classes with
- 	GC.
- 
- 2001-02-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (_cpp_make_system_header): Generate a file
- 	change callback.
- 
- 2001-02-15  Jim Meyering  <meyering@lucent.com>
- 
- 	* Makefile.in (install-common): Don't depend on installdirs here.
- 	Instead, make each of the lang.install-common targets (e.g.,
- 	c++.install-common in cp/Make-lang.in) depend on it.
- 	(install-driver): Depend on installdirs.
- 
- Thu Feb 15 21:30:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* flow.c (tidy_fallthru_edge): Never end block on line number NOTE.
- 
- 	* function.c (assign_parms): Set RTX_UNCHANGING_P in pseudo when we
- 	do in memory.
- 
- 2001-02-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* invoke.texi (--param): Document.
- 
- Thu Feb 15 15:16:38 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (BOOL_TYPE_SIZE): Don't define.
- 
- Thu Feb 15 10:52:31 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (extendsfdf2_2): Fix constraints.
- 
- Thu Feb 15 09:46:21 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fop_df_3 splitter): Fix operand number.
- 
- Wed Feb 14 12:37:37 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* invoke.texi (-mreg-alloc): Nuke.
- 	* i386.c (ix86_reg_alloc_order, regs_allocated,
- 	order_regs_for_local_alloc): Nuke.
- 	(override_options): Kill reg_alloc code.
- 	* i386.h (TARGET_OPTIONS): Kill reg-alloc.
- 	(REG_ALLOC_ORDER): SSE goes before I387.
- 	(ORDER_REGS_FOR_LOCAL_ALLOC): Kill.
- 	(ix86_reg_alloc_order): Likewise.
- 	* i386-protos.h (ix86_reg_alloc_order): Kill.
- 
- 2001-02-14  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (f_options): Clarify -fschedule-insns2 documentation.
- 
- Wed Feb 14 11:59:58 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (RETURN_IN_MEMORY): Fix formating; reject TFmodes
- 
- Wed Feb 14 11:12:38 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (ix86_memory_move_cost): Move offline.
- 	* i386.c (ix86_register_move_cost): Compute properly cost of
- 	SSE, MMX and i387 instructions.
- 	(*_cost): Add costs of SSE/MMX moves.
- 	(ix86_memory_move_cost): Move offline from ....; Likewise.
- 	* i386.h (MEMORY_MOVE_COST): .... here;
- 	(struct processor costs): Add new fields to represent costs
- 	of SSE/MMX moves.
- 
- Wed Feb 14 10:08:26 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* regclass.c (init_reg_sets_1): Reinstall the optimization of
- 	move_cost together with Matt Kraai's fix.
- 
- 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* Makefile.in (OBJS): Add params.o.
- 
- 2001-02-14  Richard Henderson  <rth@redhat.com>
- 	    DJ Delorie  <dj@redhat.com>
- 
- 	* jump.c (jump_optimize_1): When we delete a conditional jump
- 	preceding a non-conditional jump to effectively the same place,
- 	make sure that the combined jump skips any clobber insns between
- 	the two labels.
- 
- 2001-02-14  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* gcc.c (do_spec_1): Fix off-by-one error for '%M' case.
- 
- 2001-02-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (toplev.o): Depend on params.h.
- 	(intergate.o): Likewise.
- 	(params.o): New target.
- 	* flags.h (inline_max_insns): Remove.
- 	* integrate.c: Include params.h.
- 	Use MAX_INLINE_INSNS instead of inline_max_insns.
- 	* params.c: New file.
- 	* params.h: Likewise.
- 	* params.def: Likewise.
- 	* toplev.c: Include params.h.
- 	(lang_independent_params): New variable.
- 	(decode_f_option): Use the param machinery instead of setting
- 	max_inline_insns.
- 	(independent_decode_option): Handle "--param name=value".
- 	(main): Register language-independent parameters.
- 
- Wed Feb 14 11:13:45 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pushsf, pushdf_nointeger): Fix constraint.
- 
- 2001-02-14  Richard Henderson  <rth@redhat.com>
- 
- 	* regclass.c (init_reg_sets_1): Revert last two changes.
- 
- 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stor-layout.c (is_pending_size, put_pending_size): New functions.
- 	(variable_size): Call put_pending_size.
- 	* tree.h (is_pending_size, put_pending_size): Add prototypes.
- 	* fold-const.c (extract_muldiv): If SAVE_EXPR is on the pending
- 	sizes list, put newly created SAVE_EXPR there as well.
- 
- 2001-02-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.c (last_group): Only 2 entries are needed.
- 	(errata_find_address_regs): load_group has only 2 entries.
- 	(errata_emit_nops): Likewise.  shladd is not problematic.
- 	Clear last_group if nop was emitted.
- 	(fixup_errata): load_group has only 2 entries.
- 	Optimize.
- 
- 2001-02-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (lex_number): Only warn traditionally for U suffix
- 	outside system macros.
- 	* cppexp.c (parse_number): Similarly.
- 	* cpplib.h (NODE_SYSHDR, cpp_sys_objmacro_p): New.
- 	* cppmacro.c (struct cpp_macro): New member node.
- 	(parse_args): Only warn about missing rest args if not
- 	a system macro.
- 	(funlike_invocation_p): Similarly for uninvoked funlike macros.
- 	(cpp_sys_objmacro_p): New.
- 	(_cpp_create_definition): Store the node with the macro defn.
- 	Remember if the macro is defined in a system header.
- 
- 2001-02-13  DJ Delorie  <dj@redhat.com>
- 
- 	* configure.in (check_languages): determine languages to check
- 	* Makefile.in (check-c++): alias for check-g++
- 	(check-f77): alias for check-g77
- 	(CHECK_TARGETS): depend on configured languages
- 
- Wed Feb 14 01:13:59 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
- 	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
- 	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
- 	(sqrtextendsfdf2): Disable for SSE2.
- 
- Wed Feb 14 00:19:28 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch again.
- 	(sqrtsf2): Use TARGET_SSE instead of TARGET_SSE2)
- 	(sqrtsf2 patterns): Use 'x' instead of 'Y'.
- 	(sqrtextendsfdf2): Disable for SSE2.
- 
- Wed Feb 14 00:11:20 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsfcc_1): Support integer cmove instruction.
- 	(movdfcc_1): Likewise; new splitter.
- 
- Tue Feb 13 23:19:27 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (output_fp_compare): Support SSE.
- 	(prepare_fp_compare_args): SSE comparisons always support memory.
- 	* i386.h (TARGET_CMOVE): SSE imply cmove.
- 	* i386.md (cmp?f2): Enable for SSE too.
- 	(cmpfp_i*): Support SSE.
- 	(cmpfp_i_sse): New.
- 	(cmpfp_i_sse_only): New.
- 	(s*, b* fp expanters): Enable for SSE too.
- 	(fp_jcc_1_sse, fp_jcc_1_sse_only, fp_jcc_2_sse, fp_jcc_2_sse_only):
- 	New patterns.
- 
- Tue Feb 13 23:05:42 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* regclass.c (init_reg_sets_1): Silence warning.
- 
- Tue Feb 13 22:03:07 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sqrt?f2): Change to expander.
- 	(sqrt?f2_1, sqrt?f2_sse_only, sqrt?f2_i387): New.
- 
- Tue Feb 13 15:42:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtlanal.c (find_reg_equal_equiv_note): New function.
- 	* simplify-rtx.c (simplify_gen_unary, simplify_gen_ternary): New fns.
- 	(simplify_gen_relational, simplify_replace_rtx): Likewise.
- 	* rtl.h: Add declarations for above functions.
- 
- Tue Feb 13 21:09:11 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (cse_main): Converts ifdefs on PIC_OFFSET_TABLE_REGNUM to
- 	conditionals.
- 	* defaults.h (PIC_OFFSET_TABLE_REGNUM): Default to INVALID_REGNUM.
- 	* emit-rtl.c (init_emit_once): Convert ifdefs to conditionals.
- 	* flow.c (mark_regs_live_at_end): Likewise.
- 	(calculate_global_regs_live): Likewise.
- 	* gcse.c (compute_hash_table): Likewise.
- 	(compute_kill_rd): Likewise.
- 	* resource.c (mark_target_live_regs): Likewise.
- 	* rtl.h (INVALID_REGNUM): New macro.
- 
- Tue Feb 13 20:59:22 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fixsfsi2, fixdfdi2): Fix previous patch.
- 
- Tue Feb 13 16:32:20 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fixsfsi2, fixdfdi2): Force operand to register
- 	for SSE.
- 
- Tue Feb 13 14:53:16 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (add?f3, sub?f3, mul?f3, dif?f3): Enable for TARGET_SSE(2)
- 	too.
- 	(fop_sf_comm, fop_df_comm, fop_sf_1, fop_df_1): Support SSE.
- 	(fop_sf_comm_sse, fop_df_comm_sse): New patterns.
- 	(fop_sf_1_sse, fop_df_1_sse): New patterns
- 	(fop_*): Disable float_extend and float patterns for SSE compilation.
- 	* i386.c (output_387_binary_op): Support SSE.
- 
- Tue Feb 13 14:16:34 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (dummy_extendsfdf2): Support SSE2
- 	(extendsfdf2): Enable if 80387 or SSE2.
- 	(extendsfdf2_1): Support SSE2. Disable if SSE2 is avialble
- 	and no MIX_I387_SSE2
- 	(extendsfdf2_1_sse_only): New pattern.
- 	(truncdfsf2): Enable if SSE2 or 80387; Always use SSE only version
- 	of SSE.
- 	(truncdfsf2_1): Support SSE.
- 	(truncdfsf2_2): Support SSE.
- 	(truncdfsf2_2_1_sse): New pattern.
- 	(fixtruncsfsi2): Always use SSE if available.
- 	(fix_truncsfsi_sse): New pattern.
- 	(fix_truncdfsi_sse): New pattern.
- 	(floatsis?f2): Support SSE.
- 	(floatsidf2_i387): New pattern.
- 	(floatsidf2_sse): Likewise.
- 
- Tue Feb 13 07:52:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* configure.in: Use "have_gnat" variable, not "gnat".
- 	* configure: Regenerated.
- 
- 	* config/sparc/sparc.c (function_value): Treat all non-record
- 	aggregate types like used to treat UNION_TYPE.
- 
- Tue Feb 13 13:31:33 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (print_reg): Use ANY_FP_REG instead of FP_REG
- 	* i386.h (MASK_128BIT_LONG_DOUBLE): Renumber
- 	(MASK_SSE2): New.
- 	(MASK_MIX_SSE_I387): New.
- 	(TARGET_SSE): SSE2 imply SSE.
- 	(TARGET_SSE2, TARGET_MIX_SSE_I387): New.
- 	(TARGET_SWITCHES): Add "sse2", "mix-sse-i387".
- 	(enum reg_class): Add new classes.
- 	(REG_CLASS_NAMES): Likewise.
- 	(REG_CLASS_CONTENTS): Likewise.
- 	(ANY_FP_REG_P, ANY_FP_REGNO_P, SSE_REG_P, SSE_FLOAT_MODE): New macros.
- 	(REG_CLASS_FROM_LETTER): 'x' and 'y' is SSE_REGS only when SSE is
- 	supported. Add 'Y' to be SSE_REGS when SSE2 is supported.
- 	(CLASS_MAX_NREGS): Use new macros.
- 	(REGISTER_MOVE_COST): Rewrite using SECONDARY_MEMORY_MAYBE_NEEDED.
- 	* i386.md (pushsf, movsf): Support SSE.
- 	(pushdf_nointeger, pushdf_integer, pushdf): Support SSE, update
- 	splitters to use ANY_FP_REGNO_P.
- 	(movdf_nointeger, movdf_integer): Likewise.
- 
- 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): New macro.
- 	(try_combine): Use it.
- 
- Tue Feb 13 11:37:06 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (SSE_CLASS_P, MMX_CLASS_P, MAYBE_FLOAT_CLASS_P,
- 	MAYBE_SSE_CLASS_P, MAYBE_MMX_CLASS_P): New macros.
- 	(PREFERRED_RELOAD_CLASS, SECONDARY_MEMORY_NEEDED): Move offline.
- 	(REGISTER_MOVE_COST): Likewise.
- 	* i386-protos.h (ix86_secondary_memory_needed,
- 	ix86_preferred_reload_class, ix86_register_move_cost): Declare.
- 	* i386.c (ix86_secondary_memory_needed,
- 	ix86_preferred_reload_class, ix86_register_move_cost): New function.
- 
- Die Feb 13 11:04:25 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (VALID_FP_MODE_P, VALID_INT_MODE_P): New.
- 	(HARD_REGNO_MODE_OK): Move offline to ....
- 	* i386.c (ix86_hard_regno_mode_ok) ... here;
- 	refuse all incorrect modes.
- 	* i386-protos.h (ix86_hard_regno_mode_ok): Declare.
- 
- 2001-02-13  Richard Henderson  <rth@redhat.com>
- 
- 	* sparc.md (cmp_cc_arith_op_set): Don't use match_dup on the
- 	entire operator; replicate that and match_dup the operands.
- 	(cmp_ccx_arith_op_set): Likewise.
- 	(cmp_cc_arith_op_not_set): Likewise.
- 	(cmp_ccx_arith_op_not_set): Likewise.
- 
- 2001-02-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* explow.c (trunc_int_for_mode): Sign-extend value to mode.
- 
- 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/sysv4.h (MASK_NO_BITFIELD_WORD): New macro.
- 	(TARGET_NO_BITFIELD_WORD): New macro.
- 	(SUBTARGET_SWITCHES): Add -mbit-word, -mno-bit-word options.
- 	(BITFIELD_NBYTES_LIMITED): Define based on TARGET_NO_BITFIELD_WORD.
- 
- Mon Feb 12 18:13:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cselib.c: New file, from simplify-rtx.c.
- 	* simplify-rtx.c: Remove cselib parts.
- 	* Makefile.in: Add cselib.o.
- 
- 2001-02-12  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_float_const): Remove warning.
- 	(setup_incoming_varargs): Remove warning.
- 
- 	* config/rs6000/rs6000.c (validate_condition_mode): When
- 	flag_fast_math, allow floating-point conditionals to be reversed.
- 	(rs6000_generate_compare): When flag_fast_math, don't generate
- 	cror operations for FP conditionals.
- 
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Handle
- 	-mcall-i960.
- 	(ASM_SPEC): Likewise.
- 	(CC1_ENDIAN_LITTLE_SPEC): Likewise.
- 	(CC1_SPEC): Likewise.
- 	(LINK_TARGET_SPEC): Likewise.
- 	(CPP_ENDIAN_SPEC): Likewise.
- 	* Makefile.in (check-consistency): New target.
- 
- 2001-02-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): In C99 mode, give the more specific
- 	"return type defaults" warning for functions with return type
- 	defaulting to int.
- 	* c-lang.c (c_init): In C99 mode, enable warnings for implicit
- 	function declarations by default rather than only when pedantic.
- 
- Mon Feb 12 17:28:48 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* regclass.c (init_reg_sets_1): Optimize calculation of move_cost
- 	arrays.
- 
- 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* extend.texi (Deprecated): Deprecate new initializer lists.
- 
- 2001-02-12  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* mkdeps.c (deps_add_default_target): Robustify. Add
- 	basename component only.
- 	* cpp.texi (-M): Describe how default target is generated.
- 	* invoke.texi (-M): Likewise.
- 
- 2001-02-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* toplev.c (push_float_handler): Remove.
- 	(pop_float_handler): Remove.
- 	* toplev.h: Remove prototypes for the above functions.
- 
- 2001-02-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-common.c (constant_fits_type_p): New function.
- 	(convert_and_check): Use it.
- 
- 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (GXX_ABI_FLAG): Don't define.
- 	* configure.in (--enable-new-gxx-abi): Remove option.
- 	* config.in: Regenerated.
- 	* configure: Likewise.
- 
- 2001-02-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* lcm.c (compute_earliest): Let EXIT_BLOCK be handled as a regular
- 	basic block.
- 	(optimize_mode_switching) [NORMAL_MODE]: Set up EXIT_BLOCK as a
- 	regular basic block, and arrange for all edges into it to switch
- 	to normal mode.
- 
- 2001-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* Makefile.in (distclean): Do not remove .gdbinit.
- 
- 2001-02-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (gcc.o): Fix typos.
- 	(protize.o): Likewise.
- 	(unprotoize.o): Likewise.
- 
- 2001-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.c (build1): Check for null operand in last change.
- 
- 2001-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (split_tree): Don't assume a constant isn't splittable.
- 	(fold): Don't assume a constant isn't foldable.
- 	* tree.c (build): Set TREE_CONSTANT for an expression with no
- 	side-effects and constant operands.
- 	(build1): Likewise.
- 
- 2001-02-10  Richard Henderson  <rth@redhat.com>
- 
- 	* jump.c (squeeze_notes): Revert 2000-05-12 change.
- 
- 2001-02-10  Anthony Green  <green@redhat.com>
- 
- 	* cpp.texi (Standard Predefined): Add documentation for
- 	__OPTIMIZE_SIZE__.
- 
- 	* c-common.c (combine_strings): Improve warning message.
- 
- 2001-02-10  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/sysv4.h (LINK_TARGET_SPEC): Use two dashes for
- 	--oformat.
- 	* config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Likewise.
- 
- Fri Feb  9 15:05:27 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/t-cygwin (T_CPPFLAGS): Use correct location for
- 	CYGWIN_CROSS_DIR.
- 
- 2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (sibcalli, sibcalli_pcrel, sibcalli): Set
- 	fp_mode attribute.
- 
- 2001-02-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md: Change output contraint on post inc
- 	load/store multiple patterns to be a read/write contraint.
- 
- 2001-02-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc.c (cpp_options): Delete .d files on error.  Don't delete
- 	.o files when using the -M options.
- 
- 2001-02-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (output_toc): Allow 32-bit targets to
- 	handle DImode constants.  Use one TOC entry for SImode and smaller
- 	constants, aligned properly.
- 
- 2001-02-08  Jason Merrill  <jason@redhat.com>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Do tell the dwarf2 backend
- 	about the SP adjustment for saving the static chain pointer.
- 	* dwarf2out.c (dwarf2out_frame_debug_expr): Use the specified
- 	offset when setting a temporary CFA register.
- 
- 2001-02-08  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* config.gcc : New targets, i386-*-chorusos*, sparc-*-chorusos*,
- 	powerpc-*-chorusos* .
- 	* config/rs6000/chorus.h : New file.
- 	* config/i386/chorus.h : New file.
- 	* config/sparc/chorus.h : New file.
- 	* config/sparc/t-chorus-elf : New file.
- 
- 2001-02-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Move from here ...
- 	* config/rs6000/aix.h (ASM_OUTPUT_SYMBOL_REF): ... to here.
- 	* config/rs6000/aix51.h (CPLUSCPLUS_CPP_SPEC): Define it.
- 	(__WCHAR_TYPE__): Correct macro name.
- 
- 2001-02-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_frame_pointer_required): New.
- 	(ix86_setup_frame_addresses): New.
- 	(struct machine_function): Add accesses_prev_frame.
- 	* config/i386/i386.h (FRAME_POINTER_REQUIRED): Call
- 	ix86_frame_pointer_required.
- 	(SUBTARGET_FRAME_POINTER_REQUIRED): New.
- 	(SETUP_FRAME_ADDRESSES): New.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/sco5.h (SUBTARGET_FRAME_POINTER_REQUIRED): Rename
- 	from FRAME_POINTER_REQUIRED.
- 	* config/i386/svr3gas.h: Likewise.
- 	* config/i386/sysv3.h: Likewise.
- 	* config/i386/v3gas.h: Likewise.
- 
- 2001-02-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (function_arg_record_value_3): Fix
- 	calculation of the number of integer registers required.
- 	(function_arg_record_value): Likewise.
- 
- 2001-02-08  Jason Merrill  <jason@redhat.com>
- 
- 	* diagnostic.c (internal_error): Say "confused" after 1 error, not
- 	two.  Print file and line with "confused" message.
- 
- 	* dwarf2out.c (dwarf2out_line): Include filename in -dA output.
- 
- Thu Feb  8 11:21:28 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtlanal.c (remove_node_from_expr_list): Correctly update PREV.
- 
- 2001-02-08  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* final.c (cleanup_subreg_operands): The address of a MEM can
- 	contain SUBREGs.
- 
- 	* config/ia64/ia64.c (ia64_variable_issue): Call group_barrier_needed_p
- 	for asms, too.
- 
- 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi (Incompatibilities): Update documentation of
- 	preprocessing numbers.
- 
- 2001-02-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (finish_enum): Revert part of 2000-01-05 change.
- 
- 2001-02-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/rs6000/aix43.h (CPLUSCPLUS_CPP_SPEC): Define it.
- 
- 	* defaults.h (CPLUSPLUS_CPP_SPEC): New macro.
- 	* gcc.c (struct compiler): Add cpp_spec field.
- 	(input_file_compiler): New variable.
- 	(do_spec_1): Allow a particular compiler to handle `%C'
- 	specially.
- 	(main): Store the current compiler in input_file_compiler.
- 	* tm.texi (CPLUSPLUS_CPP_SPEC): Document.
- 
- 2001-02-07  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* cpphash.h (struct spec_nodes): Add n_true and n_false.
- 	* cppinit.c (cpp_create_reader): Initialize them.
- 	(append_include_chain): cxx_aware arg might be unused.
- 	* cppexp.c (lex): In C++ mode, recognize 'true' and 'false'
- 	keywords and give them their phase 7 meaning.  Pedwarn about
- 	this unless '__bool_true_false_are_defined' is defined.
- 
- 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* lcm.c (optimize_mode_switching): Emit mode_set before the
- 	JUMP_INSN of an abnormal edge.
- 
- 2001-02-07  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* builtins.c (expand_builtin_setjmp_receiver): Emit an ASM_INPUT as
- 	a scheduling barrier at the end.
- 
- 	* tm.texi (MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Document.
- 
- 2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (reload_outsf): Removed.
- 	(movsf_ie): Introduce constraints for FPUL loads and stores.
- 	(reload_insf): Broaden the output constraint.
- 
- 	* config/elfos.h (INT_ASM_OP): Don't define it if it's already
- 	defined.
- 	* config/sh/sh.h (INT_ASM_OP, ASM_OUTPUT_CONSTRUCTOR,
- 	ASM_OUTPUT_DESTRUCTOR): Copy definitions from config/elfos.h.
- 
- 2001-02-06  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* final.c: Revert my previous changes.
- 	* output.h: Make profile_label_no extern.
- 	* config/rs6000/rs6000.c (output_profile_hook): Use standard functions
- 	for generating label.
- 
- 2001-02-06  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* config/i386/djgpp.h: Add comments about standard paths.
- 	(MD_EXEC_PREFIX): Undefine before defining.
- 	(MD_STARTFILE_PREFIX): New.
- 
- 2001-01-30  Bruce Korb  <bkorb@gnu.org>
- 
- 	fixinc/fixincl.c(process):  Emit error message only if appropriate :)
- 	(load_file): do not rely on load_file_data() to close file pointer
- 	fixinc/fixlib.c(load_file_data): do not close passed in file pointer
- 	fixinc/inclhack.def(irix_limits_const): add test_text
- 
- 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (parse_defined): Improve diagnostics for invalid
- 	syntax.
- 
- 2001-02-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (cpp_get_token): Avoid pasting after a builtin.
- 
- 2001-02-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_SYMBOL_REF): Define.
- 	* config/rs6000/rs6000-protos.h (rs6000_output_symbol_ref): Declare.
- 	* config/rs6000/rs6000.c (VTABLE_NAME_P): New macro.
- 	(rs6000_output_symbol_ref): New function.
- 	(output_toc): Use VTABLE_NAME_P.
- 
- Tue Feb  6 07:54:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* print-tree.c (print_node, case PARM_DECL):
- 	Print DECL_ARG_TYPE and DECL_ARG_TYPE_AS_WRITTEN.
- 
- 	* stor-layout.c (reference_types_internal): New variable.
- 	(internal_reference_types): New function.
- 	(layout_type, case REFERENCE_TYPE): Make Pmode if internal.
- 	* tree.h (internal_reference_types): New declaration.
- 
- 	* cse.c (find_best_addr): Fix typo in computing cost.
- 
- Mon Feb  5 21:56:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (nonzero_bits, case PLUS): If pointers extend unsigned
- 	and this is the sum of a pointer and a constant, we know the result
- 	did not overflow.
- 	(num_sign_bit_copies, case PLUS): Likewise.
- 	* explow.c (convert_memory_address): Remove opposite SUBREG.
- 	* function.c (instantiate_new_reg): New function (from common code).
- 	(instantiate_virtual_regs_1): Call it.
- 	For PLUS, handle if (plus (subreg (virt-reg) (const_int))
- 	if pointers sign- or zero-extend.
- 	* simplify-rtx.c (simplify_unary_operation, case ZERO_EXTEND):
- 	If pointers extend unsigned, use inside of SUBREG.
- 	(simplify_unary_operation, case SIGN_EXTEND): Likewise, if sign extend.
- 
- 2001-02-05  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* Makefile.in (-DGPLUSPLUS_TOOL_INCLUDE_DIR): Change to target
- 	subdir of gcc_gxx_include_dir.
- 	(gcc_gxx_target_include_dir): Remove.
- 
- 2001-02-05  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* dwarf2out.c: Revise DWARF2 Abbreviation Glossary comments.
- 	(dwarf2out_frame_debug_expr): Revise introductory comments to add
- 	a high-level description.
- 
- 2001-02-05  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* final.c: Move the declaration of profile_label_no to ...
- 	* output.h: ... here.
- 	* function.c (expand_function_start): Call PROFILE_HOOK.
- 	* config/rs6000/aix.h: Define PROFILE_HOOK.
- 	* config/rs6000/rs6000-protos.h: output_profile_hook new.
- 	* config/rs6000/rs6000.c (output_profile_hook): Define.
- 	(output_prolog): Do nothing for ABI_AIX as it is taken care by
- 	output_profile_hook.
- 	tm.texi : Explain new macro PROFILE_HOOK.
- 
- 2001-02-06  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* extend.texi (Extended Asm): Do not say that semicolon is always
- 	a valid line-breaking character for GNU assemblers.  Use
- 	newline-tab as the most commonly supported syntax.  Use
- 	newline-tab rather than semicolon in multi-insn examples.
- 
- 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* Makefile.in (gcc_gxx_target_include_dir): Use $(target_alias).
- 
- 2001-02-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_return_addr): Use PIC
- 	code for AIX, even without flag_pic.
- 
- 2001-02-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (common_type): push and pop binding level around
- 	calling common_type on function parameters.
- 
- Mon Feb  5 14:30:37 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h (CPP_SPEC): Add missing space after -idirafter.
- 
- Mon Feb  5 11:23:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/mips/mips.c (override_options): Fix typo in last change.
- 	(mips_make_temp_file): Call fatal_io_error, not pfatal_with_name.
- 	(mips_asm_file_end): Likewise; also pass more args to fatal_io_error.
- 
- 2001-02-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* invoke.texi (-fdump-class-layout): Document.
- 	(-fdump-translation-unit): Use `=' as filename separator.
- 
- 2001-02-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (s-mlib): Don't build multilibs if
- 	--disable-multilib.
- 	(DRIVER_DEFINES): Adjust accordingly.
- 	(gcc.o): Likewise.
- 	(protoize.o): Likewise.
- 	(unprotoize.o): Likewise.
- 	* configure.in: Recognize --enable-multilib.
- 
- 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (DRIVER_DEFINES): Fix quoting.
- 
- 	* Makefile.in (site.exp): Always set HAVE_LIBSTDCXX_V3.
- 	* configure.in: Remove --enable-libstdcxx_v3 support.
- 	* configure: Regenerated.
- 
- Sun Feb  4 15:52:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/avr/avr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
- 	Call abort instead of fatal.
- 	(TRAMPOLINE_TEMPLATE): Call internal_error instead of fatal.
- 	* config/dsp16xx/dsp16xx.h (FUNCTION_PROFILER): Likewise.
- 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Likewise.
- 	(TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Likewise.
- 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
- 	* config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Likewise.
- 
- 	* diagnostic.h (set_internal_error_function): Renamed.
- 	* toplev.h (internal_error): Renamed from fatal.
- 	(pfatal_with_name): Deleted.
- 	(fatal_io_error): Now has printf-style arguments.
- 	* diagnostic.c (pfatal_with_name): Deleted.
- 	(fatal_io_error): Rework to have args in printf-style.
- 	(set_internal_error_function): Renamed from set_fatal_function.
- 	(internal_error): Renamed from fatal.
- 	(error_recursion, fancy_abort): Call internal_error instead of fatal.
- 	* dwarf2out.c (get_cfa_from_loc_descr): Likewise.
- 	* emit-rtl.c (gen_realpart, gen_imagpart): Likewise.
- 	* expr.c (check_max_integer_computation_mode, expand_expr): Likewise.
- 	* flow.c (verify_flow_info): Likewise.
- 	* config/arm/arm.c (thumb_unexpanded_epilogue): Likewise.
- 	* config/mips/mips.c (save_restore_insns): Likewise.
- 
- 	* except.c (duplicate_eh_handlers): Call abort instead of fatal.
- 	* flow.c (verify_flow_info): Likewise.
- 	* config/arm/arm.c (thumb_load_double_from_address): Likewise.
- 	* config/avr/avr.c (pttreg_to_str, unique_section): Likewise.
- 	(avr_normalize_condition): Likewise.
- 	* config/c4x/c4x.c (c4x_emit_libcall, c4x_valid_operands): Likewise.
- 	* config/dsp16xx/dsp16xx.c (dsp16xx_reg_class_from_letter): Likewise.
- 	(limit_reload_class, double_reg_to_memory): Likewise.
- 	(print_operand_address, emit_1600_code_shift): Likewise.
- 	(gen_tst_reg, gen_compare_reg): Likewise.
- 	* config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Likewise.
- 	* config/dsp16xx/dsp16xx.c (dsp16xx_invalid_register_for_compare):
- 	Deleted.
- 	* config/dsp16xx/dsp16xx.md (unnamed cmphi): Call abort instead of it.
- 
- 	* c-parse.in (methoddef): Call fatal_error instead of fatal.
- 	* objc/objc-act.c (build_ivar_chain): Likewise.
- 	* dwarfout.c (dwarfout_init): Call fatal_io_error instead of
- 	pfatal_with_name.
- 	* graph.c (clean_graph_dump_file): Likewise.
- 	* profile.c (init_branch_prob): Likewise.
- 	* objc/objc-act.c (objc_init): Likewise.
- 
- 	* config/arm/arm.c (arm_override_options): Make errors non-fatal.
- 	* config/avr/avr.c (avr_override_options): Likewise.
- 	* config/c4x/c4x.c (c4x_expand_prologue): Likewise.
- 	* config/dsp16xx/dsp16xx.c (function_prologue): Likewise.
- 	* config/h8300/h8300.c (h8300_init_once): Likewise.
- 	* config/mips/mips.c (override_options): Likewise.
- 	* config/i386/i386.c (override_options): Likewise, rework.
- 	* config/m68k/m68k.c (override_options): Likewise.
- 
- 	* config/dsp16xx/dsp16xx.c (print_operand): Call output_operand_lossage
- 	instead of fatal.
- 	* config/mips/mips.c (print_operand): Likewise.
- 	* hash.c (hash_allocate): Don't check for failure returns from
- 	obstack functions that can't fail.
- 	(hash_table_init_n, hash_table_init): Likewise; also now return void.
- 	* hash.h (hash_table_init_n, hash_table_init): Now return void.
- 	* objc/objc_act.c (objc_check_decl): Remove unneeded fatal call.
- 	(get_object_reference): Likewise.
- 
- 2001-02-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (all_cores): Add 710T, 720T, 740T, 940T, 9e,
- 	StrongARM1110, 10TDMI, and 1020T.
- 
- 2001-02-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (MULTILIB_ISA_DEFAULT): Don't use #elif.
- 
- 2001-02-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (movdf load split): Pass register number to
- 	FP_OR_XD_REGISTER_P.
- 
- 2001-02-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cppinit.c (BC): New macro.
- 	(builtin_array): Add __GXX_WEAK__.
- 	* cpplib.h (builtin_type): Add BT_WEAK.
- 	* cppmacro.c (builtin_macro): Handle BT_WEAK.
- 	* defaults.h (SUPPORTS_ONE_ONLY): Define.
- 	* varasm.c (SUPPORTS_ONE_ONLY): Do not define.
- 
- 2001-02-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cppinit.c (append_include_chain): Honor NO_IMPLICIT_EXTERN_C.
- 
- 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h: Rename _ALIGN POOL_ALIGN.
- 	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
- 
- 2001-02-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h: Rename ALIGN _ALIGN.
- 	* cpplex.c (new_chunk, _cpp_pool_reserve): Update.
- 
- Fri Feb  2 23:15:29 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h (CPP_SPEC): Reorganize YA to better handle cross
- 	compilation environment.
- 	* config/i386/t-cygwin (T_CPPFLAGS): Define CYGWIN_CROSS_DIR to allow
- 	control over location of cygwin includes and libs.
- 
- 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
- 
- 	* c4x.h	(HARD_REGNO_CALL_PART_CLOBBERED): Fix typo.
- 
- 2001-02-02  lars brinkhoff  <lars@nocrew.org>
- 
- 	* md.texi (Standard Names): remove reference to spur.md.
- 
- 2001-02-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz)
- 
- 	* c4x.h (IS_INT_CALL_SAVED_REG, IS_FLOAT_CALL_SAVED_REG): Define.
- 	(HARD_REGNO_CALL_PART_CLOBBERED): Use IS_FLOAT_CALL_SAVED_REG.
- 	(INITIAL_FRAME_POINTER_OFFSET, INITIAL_ELIMINATION_OFFSET): Likewise.
- 	* c4x.c (c4x_hard_regno_rename_ok): Use IS_XXX_CALL_SAVED_REG.
- 	(c4x_expand_prologue, c4x_expand_epilogue): Likewise.
- 
- 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (group1_reg_operand, group1_mem_operand, arx_reg_operand,
- 	c4x_arn_reg_operand, c4x_arn_mem_operand): Do not check register
- 	number before reload.
- 	(c4x_adjust_cost): Return zero before reload.
- 	* c4x.md (load_immed_address+1, load_immed_address+2): Do not
- 	split before reload.
- 
- 2001-02-03  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (c4x_hard_regno_rename_ok): New.
- 	* c4x-protos.h (c4x_hard_regno_rename_ok): New.
- 	* c4x.h (HARD_REGNO_RENAME_OK): Define.
- 
- Fri Feb  2 20:03:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.h: Add missing "extern" in all declarations.
- 
- 2001-02-02  Alex Samuel  <samuel@codesourcery.com>
- 
- 	* Makefile.in (gcc_gxx_target_include_dir): Generate dynamically
- 	as for gcc_gxx_include_dir.
- 
- 2001-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi, invoke.texi: Update -Wtraditional documentation.
- 
- 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (output_far_jump): Don't use braf on SH1.  Emit
- 	label before alignment to be used as the braf base address.
- 	* config/sh/sh.md (length): Use longer lengths for SH1 PIC far
- 	branches.
- 	(casesi_jump_2): Require at least TARGET_SH2.
- 
- 	* config/float-sh.h (LDBL_EPSILON, LDBL_MIN, LDBL_MAX): Prevent
- 	truncation to 32-bit doubles on -m3e and -m4-single-only.
- 
- 2001-02-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* gcc.c (init_gcc_specs): New function.  Make -shared-libgcc
- 	the default when building a shared object.
- 	(init_spec): Use it.
- 	* testsuite/lib/g++.exp: Include the directory where libgcc
- 	is located to the LD_LIBRARY_PATH list.
- 	* invoke.texi (-shared-libgcc): Document the cases in which
- 	GCC defaults to using the shared libgcc.
- 
- 2001-02-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/fp-bit.h (MAX_USI_INT, MAX_SI_INT): Don't assume
- 	unsigned is wide enough.
- 	(BITS_PER_SI): New.
- 	* config/fp-bit.c (_fpmul_parts): Don't assume 32-bits SI.
- 	(si_to_float): Likewise.
- 	(float_to_si, float_to_usi): Use BITS_PER_SI.
- 
- 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* dwarf2out.c: Added explanation of abbreviations.
- 	(def_cfa_1): Added comments listing DWARF2 instructions.
- 	(cfa_temp_reg): Removed in favor of cfa_temp.
- 	(cfa_temp_value): Removed in favor of cfa_temp.
- 	(cfa_temp): New global variable.
- 	(dwarf2out_frame_debug_expr): Added extensive introductory
- 	comments explaining the function's transformations.  Revised to
- 	use cfa_temp.  Added some rtx checking.  Generalize IOR case.
- 	(dwarf2out_frame_debug): Revised to use cfa_temp.
- 	(output_aranges): Cast as "unsigned" to avoid warning.
- 	* rtl.texi (RTX_FRAME_RELATED_P): Revise entry to emphasize better
- 	explain which instructions must be marked.
- 
- 2001-02-01  Richard Henderson  <rth@redhat.com>
- 
- 	* local-alloc.c (update_equiv_regs): Copy INSN_CODE to the
- 	new instruction.
- 
- 2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/crt1.asm (main_k): Modified so that start calls
- 	___setup_argv_and_call_main.
- 
- 2001-02-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_buffer): Move saved_flags from cpp_reader.
- 	* cpplex.c (_cpp_lex_token): New token picks up the saved flags,
- 	and AVOID_LPASTE is cleared on meeting an unescaped newline.
- 	* cppmacro.c (builtin_macro): Set builtin flags here.
- 	(paste_all_tokens): Preserve AVOID_LPASTE on pasted token.
- 	(replace_args): Clarify intent.
- 	(cpp_get_token): Macro expansion tokens get the saved flags.
- 	Update.
- 	* cppmain.c (scan_buffer): Remove now-redundant print.printed
- 	check.
- 
- 2001-02-01  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Reverse change of
- 	2001-Jan-29.
- 
- Thu Feb  1 07:22:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (expand_builtin_alloca): allocate_dynamic_stack_space
- 	returns Pmode pseudo, but we need ptr_mode.
- 	* explow.c (allocate_dynamic_stack_space): Use plus_constant.
- 	Remove bogus conversions; use HOST_WIDE_INT for size.
- 	Don't use TARGET if wrong mode.
- 
- 	* config/i386/i386.c (ix86_compute_frame_size): Allow
- 	stack_alignment_needed to be non-default even if size is zero.
- 
- 2001-01-31  Alan Modra <alan@linuxcare.com.au>
- 
- 	* pa.c (hppa_init_pic_save): New function.
- 	* pa.h (hppa_init_pic_save): Declare.
- 	* pa.md (call, call_value, sibcall, sibcall_value): Use
- 	the above instead of duplicated code.
- 
- 	* pa.c (hppa_encode_label): Correct size of alloca buffer
- 	so we don't overrun it.  Correct leading `*' case.
- 	* pa.h (STRIP_NAME_ENCODING): Simplify now that we don't
- 	need to handle `*@'.
- 	(FUNCTION_NAME_P): Likewise.
- 
- 2001-01-31  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (alpha-osf5): Use float-i128.h.
- 
- 	* config/float-i128.h (FLT_EVAL_METHOD, DECIMAL_DIG): Define.
- 	* config/float-i32.h: Likewise.
- 	* config/float-i64.h: Likewise.
- 	* config/float-sh.h: Likewise.
- 	* config/float-sparc.h: Likewise.
- 
- 2001-01-31  DJ Delorie  <dj@redhat.com>
- 
- 	* expmed.c (extract_bit_field): allow non-integral modes if we
- 	want to extract a whole register from itself.
- 
- 2001-01-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (set_init_index): If first is equal to last, assume as
- 	if it was not a range at all.
- 
- 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/fp-bit.c: Include tm.h.
- 	(float_to_si): Don't assume SImode is 32-bits wide.
- 	(float_to_usi): Likewise.
- 
- 2001-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (structsp): Pedwarn when "enum foo" refers to an
- 	incomplete type.
- 	(typename): Call pending_xref_error after parsing typed_typespecs.
- 	* c-decl.c (lookup_tag): Give error immediately rather than
- 	leaving it pending if the tag of the wrong type is in the same
- 	binding level.
- 	(xref_tag): Don't pedwarn for forward declarations of enum types
- 	here.
- 	* gcc.texi (Actual Bugs): Remove entry for misuse of struct, union
- 	and enum tags.
- 
- 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/float-sparc.h (LDBL_MAX) [sparc32]: Fix typo.
- 
- 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (T_ELIF): Move to STDC89, not that it matters.
- 	(_cpp_handle_directive): Suggest not using #elif with -Wtraditional.
- 
- 2001-01-31  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): New saved_flags.
- 	* cppmacro.c (cpp_get_token): Use saved_flags to remember
- 	to avoid a paste after a pasted token.
- 
- 2001-01-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* libgcc2.h (Wtype_MAX, Wtype_MIN): Define.
- 	* libgcc2.c (__fixunssfSI, __fixunsdfSI, __fixunsxfSI): Use
- 	Wtype_MIN instead of LONG_MIN.
- 
- 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* fixinc/fixincl.tpl: Add 2001 to copyright.  Change name of
- 	README file.
- 	* fixinc/fixincl.x: Regenerated.
- 	* fixinc/inclhack.def (irix_limits_const): New definition to
- 	convert "const" to "__const" in limits.h.
- 
- 2001-01-30  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* fixinc/genfixes (AG): Fix "autogen4" thinko.
- 
- 2001-01-30  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* regmove.c (try_auto_increment): Change REG_DEAD into REG_UNUSED
- 	when register dies in the insn.
- 
- 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* diagnostic.c (fatal): Fix word wrap.
- 
- 2001-01-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (try_combine): Fix SUBREG setting for
- 	HOST_BITS_PER_WIDE_INT >= 2 * BITS_PER_WORD.
- 
- 2001-01-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* jump.c (comparison_dominates_p): Don't try to handle UNKNOWN
- 	comparison codes.
- 
- 2001-01-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (c_expand_body): Check TYPE_SIZE_UNIT (ret_type)
- 	is not NULL.
- 	* toplev.c (decode_W_option): Update warn_larger_than
- 	unconditionally for each processed switch.
- 
- 2001-01-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (pa_init_machine_status): Initialize pic_offset_table_save_rtx
- 	to NULL_RTX.
- 	(hppa_expand_prologue): Delete code to save pic offset table register
- 	in the function prologue.
- 	* pa.h (PIC_OFFSET_TABLE_SAVE_RTX): Correct type in comment.
- 	* pa.md (call, call_value, sibcall, sibcall_value): Save the pic offset
- 	table register at the beginning of the function after the prologue.
- 
- 2001-01-29  lars brinkhoff  <lars@nocrew.org>
- 
- 	* tm.texi (PUSH_ROUNDING): Remove duplicate lines.
- 
- 2001-01-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 	    Jeff Law <law@redhat.com>
- 
- 	* pa.md (return): Revise comment for trivial return.
- 	(return_internal): Non-trivial return pattern for non-PIC code.
- 	(return_internal_pic): Non-trivial return pattern for PIC code.
- 	It uses the PIC register to ensure it is restored after
- 	function calls.
- 	(epilogue): Generate appropriate return for PIC and non-PIC code.
- 
- Mon Jan 29 23:53:14 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Fix -mno-cygwin search path for link.
- 
- 2001-01-29  DJ Delorie  <dj@redhat.com>
- 
- 	* combine.c (if_then_else_cond): Pass the correct mode to
- 	operand_subword() for constants.
- 
- Mon Jan 29 20:38:19 2001  Christopher Faylor <cgf@cygnus.com>
- 
- 	* config/i386/cygwin.h: Add w32api to include search.  Search different
- 	directories in a cross-build environment.
- 
- 2001-11-29  Tim Josling  <tej@melbpc.org.au>
- 
- 	* tree.h (TYPE_STUB_DECL): Add documentation.
- 
- 2001-11-29  Laurynas Biveinis  <lauras@softhome.net>
- 
- 	* sdbout.c (sdbout_one_type): Skip types with indeterminate size.
- 	(sdbout_field_types): Likwise.  Fix use of host_integerp.
- 
- 2001-01-29  Thomas Pfaff  <tpfaff@gmx.net>
- 
- 	* mingw32.h: Override STARTFILE_SPEC and LINK_SPEC declared in
- 	cygwin.h.
- 
- 2001-01-29  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Revise definition
- 	to use flag_gnu_linker.
- 
- 2001-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (T_BAD_DIRECTIVE): Remove.
- 	(_cpp_init_stacks): Loop from 0 to N_DIRECTIVES - 1.
- 
- 2001-01-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* tree.c, tree.h (build_parse_node): Remove; was identical to
- 	build_nt.
- 	* c-lang.c (start_cdtor), objc/objc-act.c
- 	(build_module_descriptor): Use build_nt instead of
- 	build_parse_node.
- 
- 2001-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (addqi_1_lea): Fix mode (QI instead of HI).
- 	(testqi_1, andqi_2): If widening to SImode, make sure CONST_INT does
- 	not have any upper bits set.
- 
- 2001-01-29  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* COPYING.LIB:  Update to LGPL 2.1 from the FSF.
- 
- 2001-01-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* stmt.c (estimate_case_costs): Use integer_minus_one_node.
- 
- 	* tree.c (build_common_tree_nodes_2): Set integer_minus_one_node.
- 
- 	* tree.h (tree_index): Add new element TI_INTEGER_MINUS_ONE.
- 	(integer_minus_one_node): Define.
- 
- 2001-01-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (bootstrap2-lean): Fix typo.
- 
- 2001-01-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.c (_cpp_cleanup_hashtable, _cpp_lookup_with_hash)
- 	: Don't set fe_value.
- 	* cpplib.h (AVOID_LPASTE): New flag.
- 	(struct cpp_hashnode): Remove fe_value.
- 	* cpplex.c (cpp_avoid_paste): Don't paste '.' with a number.
- 	* cppmacro.c (builtin_macro): Don't set flags here.
- 	(replace_args): Set AVOID_LPASTE flag on first token of an
- 	argument, and the token following it.
- 	(cpp_get_token): Set AVOID_LPASTE flag on first token of a
- 	macro expansion, and on the token following it.  Do it for
- 	builtins too.
- 	* cppmain.c (scan_buffer): Avoid pasting only flagged tokens.
- 
- 2001-01-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/t-ieee: Remove multilibbing.
- 	(TARGET_LIBGCC2_CFLAGS): Add -mieee.
- 
- 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Arrange to include defaults.h in [ht]config.h/tm.h.
- 
- 	* Makefile.in: Remove all dependencies on defaults.h.
- 	* builtins.c: Don't include defaults.h.
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* c-typeck.c: Likewise.
- 	* combine.c: Likewise.
- 	* i386.c: Likewise.
- 	* frame-ia64.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* crtstuff.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* except.c: Likewise.
- 	* expr.c: Likewise.
- 	* final.c: Likewise.
- 	* frame-dwarf2.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* optabs.c: Likewise.
- 	* profile.c: Likewise.
- 	* sdbout.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tradcif.y: Likewise.
- 	* tree.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2001-01-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_fputs): Use size_one_node when
- 	transforming into fwrite.
- 
- 2001-01-27  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi (Attribute Syntax): New section.
- 
- 2001-01-27  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
- 
- 	* fixproto: Correctly install synthesized unistd.h and stdlib.h when
- 	they didn't need fixing.
- 
- 2001-01-27  Janis Johnson <janis@us.ibm.com>
- 
- 	* config.gcc (i[34567]86-sequent-{ptx4*,sysv4*}): Use usegas.h
- 	if appropriate.
- 	* config/ptx4.h: Several fixes to build on DYNIX/ptx v4.[456], and
- 	to remove macro definitions that are duplicated from elfos.h.
- 
- 2001-01-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/sco5gas.h: Move ...
- 	* config/usegas.h: ... here.
- 	* config.gcc (i[34567]86-*-sco3.2v5) [tm_file]: Update.
- 
- 2001-01-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (struct constructor_stack): Add range_stack member.
- 	(really_start_incremental_init): Clear it.
- 	(push_init_level): Save constructor_range_stack and clear it if
- 	pushing explicit braces.
- 	(pop_init_level): abort if constructor_range_stack is nonzero at
- 	explicit closing brace.  Restore saved constructor_range_stack if
- 	not implicit.
- 
- 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* expr.c (emit_move_insn): Add REG_EQUAL note when constant loaded
- 	into register was forced into memory.
- 
- 2001-01-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in: Remove uses of + before $(MAKE).
- 
- 2001-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (cost_table): Remove.
- 	(COST_TABLE, cost_table_initialized): New.
- 	(estimate_case_costs): Use the later instead of the former.
- 	(balance_case_nodes): Likewise.
- 
- 2001-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (objects_must_conflict_p): Read-only slots may not
- 	conflict despite having the same type.
- 
- 2001-01-27  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (loop_giv_reduce_benefit): Copy mode size into
- 	int variable.
- 	(check_ext_dependant_givs): Initialize u_start_val and
- 	u_end_val.
- 	(load_mems): Make last_max_reg unsigned.
- 	(try_swap_copy_prop): Use INSN_P and initialize set.
- 
- Fri Jan 26 23:22:58 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* README.AVR : Removed.
- 
- Fri Jan 26 11:37:26 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa-64.h (text_section): Remove declaration.
- 
- 	* pa.md (return_internal): Remove mode on PIC register use.
- 
- 2001-01-25  lars brinkhoff  <lars@nocrew.org>
- 
- 	* tm.texi (DATA_ALIGNMENT, LOCAL_ALIGNMENT, ASM_OPEN_PAREN,
- 	ASM_CLOSE_PAREN): fix typos.
- 
- 2001-01-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* acconfig.h: Define `const' to the empty string if neither
- 	__STDC__ nor __cplusplus is defined.
- 	* config.in: Regenerated.
- 
- 2001-01-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config.gcc (rs6000-ibm-aix[5-9]*): Change to aix51.h.
- 	* collect2.c (main): Delete importf.  Add ".obj" file extension.
- 	(GCC_CHECK_HDR): Handle AIX V5 new magic number.
- 	(aix_std_libs): Add additional AIX libraries to skip.
- 	* config/rs6000/aix.h (MY_ISCOFF): Add AIX V5 new magic number.
- 	* config/rs6000/aix51.h: New file.
- 
- 2001-01-25  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (loop_call_insn_emit_before, loop_call_insn_hoist): New.
- 	(loop_insn_emit_before): No longer static.
- 	(move_movables): Replace emit_insn_after with loop_insn_emit_after.
- 	(loop_givs_rescan, load_mems): Likewise.
- 	(check_dbra_loop): Replace emit_insn_before with loop_insn_emit_before.
- 	(maybe_eliminate_biv_1):
- 	(move_movables): Replace emit_call_insn_before with
- 	loop_call_insn_hoist.
- 	* loop.h (loop_insn_emit_before): Add.
- 	* unroll.c (copy_loop_body): Replace emit_insn_before with
- 	loop_insn_emit_before.
- 
- 2001-01-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* diagnostic.c (fatal): Request preprocessed source.
- 
- Thu Jan 25 02:01:16 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): If different_binding_level is nonzero,
- 	olddecl has argument types and newdecl has none, use the argument
- 	types from olddecl.
- 
- 2001-01-24  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* dwarf2out.c (prefix_of): New function.  Determine longest common
- 	prefix of the two arguments.  The units are whole path components.
- 	(output_file_names): When adding a new directory find the one entry
- 	with the longest common prefix already in the list.  Artificially
- 	generate entry if there is none for this prefix.
- 	Fix test to check whether the zeroth directory entry is used.
- 
- Wed Jan 24 23:51:55 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload1.c (reload_reg_free_for_value_p): New parameter start_regno.
- 	Changed all callers.  Take it into account when deciding if a
- 	previously loaded value matches.
- 
- 2001-01-24  Richard Henderson  <rth@redhat.com>
- 
- 	* reload.c (find_reloads_subreg_address): Fail the substitution
- 	if the resulting address is insufficiently aligned.
- 
- 2001-01-24  DJ Delorie  <dj@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): If the modes are all VOIDmode,
- 	check the original operand's mode also.
- 	* simplify-rtx.c (simplify_ternary_operation): Ditto.
- 
- 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (cast_expr): Move compound literals from here ...
- 	(primary): ... to here.  Use standard terminology "compound
- 	literal" instead of "constructor expression".
- 
- 2001-01-24  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.1, cpp.1: Regenerate.
- 
- 2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* calls.c (emit_library_call_value_1): Memory slot for
- 	pass-by-reference argument should have the mode of the argument,
- 	not of the pointer to it.
- 
- 2001-01-24  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.texi (G++ and GCC): Mention gcj manual.
- 	(Standards): Link to section of manual mentioning gcj/Java
- 	compatibility.
- 
- 2001-01-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cppfiles.c (_cpp_read_file): Add to dependencies if requested.
- 	* cppinit.c (cpp_start_read): Remove deps_add_dep call.
- 	* tradcpp.c (main): Add -imacros or -include'd dependencies
- 	for -M*.
- 	* cpp.texi (-M, -MM): Document -M -include behavior.
- 
- 2001-01-24  Roger Collins <roger@ProProject.com>
- 
- 	* config/i386/xm-i386.h: Make __i386__ a boolean macro.
- 
- 2001-01-24  Will Cohen  <wcohen@redhat.com>
- 
- 	* config/mips/abi64.h (RETURN_IN_MEMORY): Always take into account
- 	whether registers are 32 bits or 64 bits in size.
- 
- 2001-01-24  Ben Elliston  <bje@redhat.com>
- 
- 	* config/m32r/m32r.h (PREDICATE_CODES): Remove m32r_not_same_reg.
- 
- 2001-01-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (builtin_longjmp_internal): New.
- 	(builtin_longjmp): Use it instead of emit_indirect_jump.
- 
- 2001-01-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* bb-reorder.c (make_reorder_chain_1): Handle case where
- 	jump edge goes to the same block as the fallthru edge.
- 
- 2001-01-23  Jim Wilson  <wilson@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
- 	* frame.h (__ia64_personality_v1): Add prototype.
- 	* libgcc2.c (ia64_throw_helper): Change personality declaration to
- 	prototype form.  Add void * cast to first argument to personality
- 	call.
- 	* real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
- 	(asctoe113): Likewise.
- 	* config/ia64/frame-ia64.c: Include eh-common.h.
- 	* config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
- 	prototypes.
- 	* config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
- 	to dump parameter.
- 	(itanium_split_issue): Add prototype.
- 	(gen_nop_type): Ifdef out.
- 	(find_best_packet): Initialize best_packet.
- 	(ia64_encode_section_info): New local string.  Use for ggc_alloc_string
- 	result.
- 	* config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
- 	* config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
- 	(flushrs): Add explicit stop bit at end.
- 	* config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
- 	trailing \ to >.
- 
- 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
- 	of EH symbols.
- 	* libgcc2.c (__terminate_func): Make variable static.
- 	(__terminate_set_func): New function to set __terminate_func.
- 	* libgcc2.h (__terminate_func_ptr): New typedef.
- 	(__terminate_set_func): New function.
- 
- 2001-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (init_propagate_block_info): Don't consider unchanging
- 	memories for dead frame store elimination.
- 
- 2001-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (UNIQUE_SECTION): Move default implementation ...
- 	* defaults.h: ... here.
- 
- 2001-01-24  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* c4x.h (TARGET_LOAD_DIRECT_MEMS): Define.
- 
- 2001-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (lex_charconst): Fix typo: s/p/str.
- 
- 2001-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h (rs6000_return_addr): Move prototype from here...
- 	* rs6000-protos.h (rs6000_return_addr): ...to here.
- 	(rs6000_init_expanders): Delete prototype.
- 
- 2001-01-23  Nick Clifton  <nickc@redhat.com>
- 
- 	* invoke.texi: Replace , with \, inside @gccoptlist macros.
- 	(Spec Files): Document %B and %j and %.	and %v3 and %M and
- 	%{S*&T} spec switches.
- 
- 2001-01-24  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (c4x_r11_set_p): Calculate rtx code correctly.
- 
- 2001-01-23  Chris Demetriou  <cgd@sibyte.com>
- 	    Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c: Merge handlers of PEDWARN and WARNING.
- 	Have -Werror make pedantic warnings errors, like the
- 	rest of GCC.
- 
- 2001-01-23  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* c-tree.texi (IDENTIFIER_LENGTH):  Fix typo.
- 
- 2001-01-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* integrate.h (struct inline_remap): Add compare_src, compare_mode.
- 	* integrate.c (expand_inline_function): Initialize them.
- 	(subst_constants): If changing COMPARE so that both its arguments
- 	will be VOIDmode and the comparison mode will be lost, note
- 	compare_mode.  Use the recorded compare_mode to optimize
- 	IF_THEN_ELSE.
- 
- 2001-01-23  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (new_die): Use xcalloc.
- 	(output_die): Abort rather than emit a local reference to offset 0.
- 
- 2001-01-17  Andrew Haley  <aph@redhat.com>
- 
- 	* libgcc2.c (get_reg_addr): Don't abort if we haven't got a copy
- 	of a saved register; return NULL instead.
- 	(copy_reg): Take a pointer to a source register rather than a
- 	frame_state.
- 	(next_stack_level): Remember the address in the stack frame of all
- 	saved registers.
- 	Use the saved register pointer array as the source of the CFA.
- 	(throw_helper): Rewrite.  Unwind once rather than twice and keep
- 	track of saved registers as we go.
- 
- 2001-01-23  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x-protos.h (c4x_legitimize_reload_address): Remove.
- 	* c4x.c (c4x_legitimize_reload_address): Remove.
- 	* c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Rewrite to generate correct
- 	reload address for ldp(k) insn.
- 
- Mon Jan 22 20:53:47 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.md (return_internal): Add a USE of the PIC register to ensure
- 	it is restored after each call.
- 	(return expander): Corresponding changes.
- 
- 2001-01-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rs6000.h (INIT_EXPANDERS): Delete.
- 	(RETURN_ADDR_RTX): Call rs6000_return_addr().
- 	* rs6000.c (rs6000_override_options): Call *_machine_status from
- 	here...
- 	(rs6000_init_expanders): ...instead of here. Delete.
- 	(rs6000_mark_machine_status): New function.
- 	(rs6000_init_machine_status): Use xcalloc.
- 	(rs6000_return_addr): Generate RTX for the return address.
- 	(rs6000_ra_ever_killed): New, check if LR was ever destroyed.
- 	(rs6000_stack_info): Use it.
- 
- 2001-01-22  Thomas Pfaff  <tpfaff@gmx.net>
- 
- 	* gthr-win32.h: Include errno.h to get a declaration for
- 	EINVAL and _mingw.h if the target is mingw32.
- 
- 2001-01-22  Andres Felipe Vargas <avargas@teletulua.com.co>
- 
- 	* cpp.texi: Correct typos.
- 
- Mon Jan 22 13:59:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (probe_stack_range): Ensure value passed to
- 	stack_check_libfunc is ptr_mode, not Pmode.
- 
- Mon Jan 22 16:53:06 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* recog.c (validate_replace_rtx_1): In ZERO_EXTEND / SIGN_EXTEND
- 	case, don't use operand_subword to calculate a SUBREG that is
- 	wider than a word.
- 
- 	* rtl.texi: Comparisons yield 0 or STORE_FLAG_VALUE.
- 
- 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (c4x_valid_rptb_p, c4x_label_ref_used_p): New functions.
- 	(c4x_rptb_insert): Call c4x_valid_rptb_p to check if repeat block is
- 	valid.  If not replace it by equivalent insns.
- 
- 2001-01-22 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.c (c4x_check_legit_addr): Only check CONST.  Not if CONST
- 	contains SYMBOL_REF, LABEL_REF and CONST_INT.
- 	(c4x_U_constraint, symbolic_address_operand): Likewise.
- 	(c4x_immed_float_constant): Do not check if CONST_DOUBLE is in
- 	memory.
- 	(c4x_r11_set_p, c4x_check_laj_p): New functions.
- 	* c4x-protos.h (c4x_check_laj_p): Add prototype.
- 	* c4x.md (in_annul_slot_3): Do not allow auto-increment in last
- 	anulling slot because of silicon bug.
- 	(laj, lajv): Call c4x_check_laj_p to check for silicon bug.
- 
- 2001-01-22  Alan Modra <alan@linuxcare.com.au>
- 
- 	* cppexp.c (parse_charconst):  Change `mask' type to agree
- 	with parse_escape.
- 
- 2001-01-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_asm_file_end): Disable putting
- 	pic_label_name in a linkonce section.
- 
- 2001-01-17  Philipp Thomas  <pthomas@suse.de>
- 
- 	* aclocal.m4 (AM_WITH_NLS): Add -lintl to LIBS if gettext was
- 	found in libintl.
- 	* configure: Regenerate.
- 
- Sun Jan 21 02:38:56 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* expmed.c (synth_mult, expand_mult_highpart, expand_divmod): Guard
- 	uses of shift_cost, shiftadd_cost and shiftsub_cost with bound checks.
- 
- Sun Jan 21 09:44:17 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (ret_cond_branch): New argument (reverse) added.
- 	If REVERSE nonzero then condition code in X must be reversed.
- 	(encode_section_info): Optimize if/else.
- 	(avr_function_value): Fix formatting.
- 
- 	* config/avr/avr.md (branch): Call to ret_cond_branch changed.
- 	(difficult_branch): Likewise.
- 	(rvbranch): Likewise.
- 	(difficult_rvbranch): Likewise.
- 
- 	* config/avr/avr-protos.h (ret_cond_branch): Prototype changed.
- 
- 	* config/avr/libgcc.S: Fix comment.
- 
- 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
- 
- 	* sdbout.c (PUT_SDB_DEF): Fix after last bogus change.
- 
- 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
- 
- 	* cppinit.c (INO_T_EQ): Don't use #elif, fix formatting.
- 
- 2001-01-20  Michael Sokolov  <msokolov@ivan.Harhan.ORG>
- 
- 	* aclocal.m4 (gcc_AC_FUNC_STRSTR): New macro.
- 	* configure.in (gcc_AC_FUNC_STRSTR): Add invokation.
- 	* configure, config.in: Regenerate.
- 	* Makefile.in (STRSTR, HOST_STRSTR, USE_HOST_STRSTR): New variables.
- 	(LIBDEPS, HOST_LIBDEPS, LIBS, HOST_LIBS): Add strstr handling.
- 	(strstr.o, $(HOST_PREFIX_1)strstr.o): New rules.
- 	(doprint.o): New rule.
- 
- 2001-01-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (digest_init): Handle boolean types as scalars.
- 
- Sat Jan 20 12:46:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stmt.c (expand_return): Don't return anything if size is zero.
- 	Delete redundant assignment to BYTES.
- 	* expr.c (move_block_from_reg): Do nothing if NREGS is zero.
- 
- 2001-01-20  Marek Michalkiewicz  <marekm@linux.org.pl>
- 
- 	* config/avr/avr.h (INIT_TARGET_OPTABS): Remove most of it, was
- 	the same as the default library function names.
- 	* config/avr/avr.md: Document special characters after '%'.
- 	(mulqi3, mulhi3, mulsi3): Call libgcc.S functions ourselves,
- 	knowing which of the call-used registers are really clobbered.
- 	(divmodqi4, udivmodqi4, divmodhi4, udivmodhi4, divmodsi4, udivmodsi4):
- 	New.  Both quotient and remainder from one libgcc.S call.
- 	* config/avr/libgcc.S: Optimize mul/divmod for the new insns above,
- 	clobber as few registers as possible.
- 	* config/avr/t-avr (LIB1ASMFUNCS): Adjust for the above changes.
- 
- 2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (funlike_invocation_p): Don't move back up to the
- 	context of the top of the stack.
- 
- 2001-01-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* function.c (fixup_var_refs): Move CALL_PLACEHOLDER handling...
- 	(fixup_var_refs_insns): ...here.
- 
- 2001-01-20  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* function.c (fixup_var_refs_insns): Break up into
- 	fixup_var_refs_insn [body of loop], fixup_var_refs_insns
- 	[loop over entire insn list], and fixup_var_refs_insns_with_hash
- 	[loop over hash table entries].
- 	(fixup_var_refs): Adjust calls to fixup_var_refs_insns and/or
- 	fixup_var_refs_insns_with_hash, to match above changes.
- 
- 2001-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Add MAKEOVERRIDES variable.
- 	(libgcc.a): Likewise.
- 	(stmp-multilib): Likewise.
- 	(STAGE2_FLAGS_TO_PASS): Likewise.
- 
- 2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (prepare_move_operands) [PIC]: Use operands[0] as
- 	temporary if no_new_pseudos.
- 
- 2001-01-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinternals.texi: Update.
- 
- 2001-01-19  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_init_builtins): Re-enable builtins.
- 
- Fri Jan 19 13:02:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.texi (SET, CLOBBER): Document PARALLEL as SET_DEST possibility.
- 	* flow.c (mark_set_1, case PARALLEL): Don't require BLKmode, allow
- 	element to be null, and always expect an EXPR_LIST.
- 	* rtlanal.c (reg_overlap_mentioned_p, note_stores): Likewise.
- 	* sched-deps.c (sched_analyze_1): Likewise.
- 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
- 
- 	* regclass.c (max_set_parallel): New variable.
- 	(reg_scan): Take it into account in computation of max_parallel.
- 	(reg_scan_mark_refs, case SET): Compute it.
- 
- 	* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
- 	args are REG.
- 	* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
- 	* function.c (assign_parms): Use INTVAL for a CONST_INT.
- 
- 2001-01-19  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
- 	for the abstract instance of an inline function.
- 
- Fri Jan 19 14:31:35 2001  Alexandre Oliva  <aoliva@redhat.com>
- 			  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload1.c (move2add_note_store): Treat all registers directly or
- 	indirectly derived from a base register as members of the same set
- 	of values.
- 	(reload_cse_move2add): Adjust accordingly.  Take mode and offset
- 	of base register into account.
- 
- Fri Jan 19 09:18:42 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* alias.c (find_base_value): Recognize TRUNCATE.
- 	(record_set): In PLUS case, invalidate if other summand is also a
- 	base value.
- 
- Thu Jan 18 06:43:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* flow.c (mark_set_1, case PARALLEL): New case; rework to allow
- 	entry to be EXPR_LIST.
- 	* rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
- 	be an EXPR_LIST (but not null, which other code doesn't allow).
- 	(note_stores): Properly handle PARALLEL in SET.
- 	Recursively call for top-level PARALLEL.
- 	* sched-deps.c (sched_analyze_1): Handle EXPR_LIST in PARALLEL in SET.
- 	* sched-rgn.c (check_live_1, update_live_1): Likewise.
- 
- 	* config.gcc (rs6000-ibm-aix*, rs6000-bull-bosx): Add rs6000/aix.h.
- 
- 2001-01-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (_cpp_handle_directive): Use buffer->was_skipping,
- 	not pfile->skipping (== 0).
- 
- 2001-01-17  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/rs6000.c: Add prototypes for {init|free}_
- 	machine_status.
- 
- 2001-01-17  Jim Wilson  <wilson@redhat.com>
- 
- 	* invoke.texi (IA-64 options): Improve.
- 
- 2001-01-17  Tom Tromey  <tromey@redhat.com>
- 
- 	* invoke.texi (Optimize Options): Use `{}' to around @samp
- 	argument.
- 
- 2001-01-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* invoke.texi (-fno-guess-branch-probability): New option.
- 
- Wed Jan 17 13:26:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* combine.c (try_combine): Don't set i3_subst_into_i2 for
- 	case of making new double-word constant.
- 	Revert last change: instead just test i3_subst_into_i2.
- 
- 2001-01-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (cmpqi_minus_1): Use {b} for QImode operation.
- 	Use q constraints instead of r.
- 
- Tue Jan 16 22:23:04 2001  Alan Modra (alan@linuxcare.com.au)
- 
- 	* config/pa/pa.h (PIC_OFFSET_TABLE_REGNUM_SAVED): Remove.
- 	(machine_function): Define.
- 	(PIC_OFFSET_TABLE_SAVE_RTX) : Define.
- 	* config/pa/pa.c (pa_init_machine_status, pa_mark_machine_status,
- 	pa_free_machine_status): New functions.
- 	(override_options): Set {init,mark,free}_machine_status to above.
- 	(hppa_expand_prologue): Use PIC_OFFSET_TABLE_SAVE_RTX instead of
- 	PIC_OFFSET_TABLE_REGNUM_SAVED.
- 	* config/pa/pa.md: Use PIC_OFFSET_TABLE_SAVE_RTX instead of
- 	PIC_OFFSET_TABLE_REGNUM_SAVED throughout.
- 	* config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Remove
- 	references to PIC_OFFSET_TABLE_REGNUM_SAVED.
- 	* config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
- 
- 2001-01-15  DJ Delorie  <dj@redhat.com>
- 
- 	* Makefile.in (gcov.1): Protect against texi2pod/pod2man failing.
- 	(cpp.1): Ditto.
- 	(gcc.1): Ditto.
- 
- Tue Jan 16 17:20:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* flow.c (propagate_one_insn): Make trying to delete a prologue
- 	or epilogue insn an ICE, not a warning.  Allow doing this if
- 	the current function returns with stack pointer depressed.
- 
- 	* combine.c (try_combine): If i3_subst_into_i2, properly check for
- 	I3 having more than one SET.
- 
- 2001-01-16  Jim Wilson  <wilson@redhat.com>
- 
- 	* invoke.texi: Document IA-64 options.
- 
- 	* config/ia64/ia64.c (ia64_print_operand_address): Delete 'B' support.
- 	(fixup_errata): Delete TARGET_A_STEP use.
- 	* config/ia64/ia64.h (MASK_A_STEP, TARGET_A_STEP): Delete.
- 	(TARGET_SWITCHES): Delete -ma-step option.
- 	* config/ia64/ia64.md (all FP patterns): Delete %B0.
- 	(movqicc_astep, movqi_internal_astep, movhicc_astep,
- 	movhi_internal_astep, movsicc_astep, movsi_internal_astep, movdi+1,
- 	movdi_internal_astep, movsfcc_astep, movsf_internal_astep,
- 	movdfcc_astep, movdf_internal_astep, movtfcc_astep,
- 	movtf_internal_astep, cmovdi_internal_astep, cmovsi_internal_astep):
- 	Delete.
- 	(movqi_internal, movhi_internal, movsi_internal, movdi_internal,
- 	movsf_internal, movdf_internal, movtf_internal, cmovdi_internal,
- 	cmovsi_internal): Delete ! TARGET_A_STEP check.
- 
- 2001-01-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* gcc.texi (Bug Lists): Do not mention newsgroups nor the
- 	possibility to report bugs via postal mail. Change a URL and
- 	merge in a nearly duplicate statement...
- 	(Bug Reporting): ...from here.
- 	(Service): Refer to the Bug Reporting section instead of
- 	duplicating an URL.
- 	(Contributing): Remove trivial explanations concerning snapshots.
- 
- 2001-01-16  Alan Modra <alan@linuxcare.com.au>
- 
- 	* cppmain.c (general_init): Don't use ANSI prototype.
- 
- 2001-01-16  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.c (cpp_options): Added `*' to specs for -MF, -MQ, and -MT.
- 
- 2001-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h: Fix comment typo.
- 	* config/i386/i386.md (shift+compare pattern names): s/cmpno/cmp/
- 	(ashr+compare patterns): Match CCGOCmode not CCNOmode.
- 
- 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* gcc.c:  Revert previous -fsyntax-only-related change; move
- 	to cp/g++spec.c.
- 
- 2001-01-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (fcmov_comparison_operator): Only initialize
- 	inmode after checking GET_CODE (op).
- 
- 2001-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (struct propagate_block_info): Add mem_set_list_len.
- 	(MAX_MEM_SET_LIST_LEN): New.
- 	(propagate_one_insn): Update mem_set_list_len.
- 	(invalidate_mems_from_autoinc): Likewise.
- 	(invalidate_mems_from_set): Likewise.
- 	(mark_used_regs): Likewise.
- 	(init_propagate_block_info): Likewise.  Stop collecting memories
- 	when we reach MAX_MEM_SET_LIST_LEN.
- 	(mark_set_1): Likewise.
- 
- 2001-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (precondition_loop_p): Fail if no iteration
- 	variable found.
- 
- 2001-01-16  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* gcc.c:  When -fsyntax-only is given, do not complain about
- 	unused libraries.
- 
- 2001-01-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (asm_output_function_prefix): Remove.
- 	(ix86_asm_file_end): New.
- 	(load_pic_register): Generate pic_label_name into a
- 	statically allocated buffer.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/i386.h (ASM_OUTPUT_FUNCTION_PREFIX): Remove.
- 	(ASM_FILE_END): New.
- 	* config/i386/i386afe.h: New file.
- 	* config.gcc (i?86-*-elf) [tm_file]: Use it.
- 	(i?86-*-{freebsd,linux*,moss*}): Likewise.
- 	* config/elfos.h (ASM_FILE_END): Undef before redefinition.
- 	* config/i386/cygwin.h (ASM_FILE_END): Likewise.
- 	* config/i386/osfrose.h (ASM_FILE_END): Invoke ix86_asm_file_end.
- 	* config/i386/sco5.h (ASM_FILE_END): Likewise.
- 	* config/i386/winnt.c (i386_pe_asm_file_end): Likewise.
- 
- 2001-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (install-man): Remove explicit dependency on
- 	$(srcdir)/gcc.1.
- 
- 	* configure.in, configure: Revert previous patch requiring perl
- 	5.6.0.
- 
- 2001-01-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* toplev.c (flag_guess_branch_prob): New.
- 	(f_options): Add guess-branch-probability option.
- 	(rest_of_decl_compilation): Only estimate branch probability if
- 	flag set.
- 	(main): set flag_guess_branch_prob.
- 
- 	* flags.h (flag_guess_branch_prob): New.
- 
- 2001-01-15  DJ Delorie  <dj@redhat.com>
- 
- 	* gcc.texi (Makefile): Add documentation for Makefile targets.
- 
- 2001-01-15  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (arm_finalize_pic): New arg "prologue".
- 	(is_pic): Delete.
- 	* config/arm/arm-protos.h (arm_finalize_pic): Update prototype.
- 	(is_pic): Delete declaration.
- 	* config/arm/arm.h (FINALIZE_PIC): Update call to arm_finalize_pic.
- 	(OUTPUT_INT_ADDR_CONST): Remove special handling of PIC address.
- 	* config/arm/arm.md (builtin_setjmp_receiver): New.
- 
- 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (use_return_insn): Don't try to determine the function type
- 	until after reload has completed.
- 	(arm_output_epilogue): Don't adjust the sp value recovered from the
- 	stack.
- 	(emit_multi_reg_push): Don't record dwarf information for the pc.
- 	* arm.md (eh_epilogue): The function type may have changed, so it
- 	needs to be recalculated.
- 	* arm/netbsd.h (DWARF2_UNWIND_INFO): Delete.  Can now use dwarf2
- 	unwind tables on arm/netbsd.
- 
- 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (cbranchsi4): Correct calculation of branch ranges.
- 	(negated_cbranchsi4): Likewise.
- 
- 2001-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config/arm/semi.h (SUBTARGET_EXTRA_SPECS): Define.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
- 	(ASM_SPEC): Call subtarget_extra_asm_spec.  Don't
- 	pass -mapcs-* options to assembler.
- 	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Define.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Define to empty string.
- 	(ASM_SPEC): Call subtarget_extra_asm_spec.
- 
- 2001-01-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.c (ix86_init_builtins): Make i size_t to remove
- 	warnings.
- 	(ix86_expand_builtin): Likewise.
- 
- 	* gencodes.c (output_predicate_decls): Make i size_t to avoid
- 	warning about comparison between signed and unsigned.
- 
- 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* expr.c (do_jump): Treat VOIDmode CONST_DOUBLEs like CONST_INTs.
- 
- 2001-01-14  Ralf Baechle <ralf@gnu.org>
- 
- 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Default ABI is 32; change
- 	SUBTARGET_CPP_SPEC appropriately.
- 
- 2001-01-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (make_decl_rtl): Fix typo in last change.
- 
- 2001-01-14  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* defaults.h (SUPPORTS_INIT_PRIORITY): New macro to indicate the
- 	linker supports the init_priority C++ attribute.
- 	* tm.texi (SUPPORTS_INIT_PRIORITY): Documentation for new macro.
- 	* config/mips/iris6.h (SUPPORTS_INIT_PRIORITY): Indicate Irix
- 	linker does not support init_priority C++ attribute.
- 
- Sun Jan 14 22:31:30 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* Makefile.in (libgcc1-test.o): Depends on stmp-int-hdrs.
- 
- 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in (finish_parse): Add comment about cpp_destroy.
- 	* cp/lex.c (finish_parse): Similarly.
- 	* cppinit.c (cpp_cleanup): Rename cpp_destroy for clarity.
- 	Return the number of errors encountered.
- 	* cpplib.h (cpp_cleanup): Rename cpp_destroy, return int.
- 	* cppmain.c (main): Don't call cpp_destroy.
- 
- 2001-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Require at least perl 5.6.0 to regenerate
- 	manpages.
- 	* configure: Regenerate.
- 
- 2001-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (DT_veclen_ge): New.
- 	(add_to_sequence) [MATCH_PARALLEL]: Generate one.
- 	(maybe_both_true_2): Simplify DT_veclen vs DT_veclen_ge.
- 	(nodes_identical_1): Handle DT_veclen_ge.
- 	(write_cond, debug_decision_2): Likewise.
- 
- 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (ldmsi_postinc, ldmsi, stmsi_postinc, smsi): Delete.  Replace
- 	with ...
- 	(ldmsi_postinc[432], ldmsi[432], stmsi_postinc[432], stmsi[432]): New.
- 
- 2001-01-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (do_preprocessing): New function; most of the old
- 	main.
- 	(main): Call it to do most of the work.
- 	(cb): Move from global scope to set_callbacks ().
- 	(setup_callbacks): Get the callback pointer.
- 	(general_init, printer_init): Clean up code and comments.
- 
- 2001-01-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config/arm/semi.h (ASM_SPEC): Pass -k to the assembler when
- 	compiling PIC.
- 
- 2001-01-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Update comments.
- 
- Sun Jan 14 06:20:49 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* ggc-page.c (alloc_annon): Call perror and correctly call exit.
- 	(alloc_page, ggc_alloc): Add casts to remove warnings.
- 
- 2001-01-14  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* combine.c (simplify_comparison): Don't change `code' when
- 	can't reverse comparison.
- 
- 2001-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* rtlanal.c (computed_jump_p_1): Rename from jmp_uses_reg_or_mem;
- 	update all call sites.  Return true for all non-label constants.
- 
- Sun Jan 14 10:09:48 MET 2001  Jan hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_compare): Add bypass_test and second_test
- 	parameters.
- 	(ix86_expand_branch): Update.
- 	(ix86_expand_setcc): Update to handle multiple test conditions.
- 	(expand_int_movcc): Likewise.
- 	(expand_fp_movcc): Likewise.
- 	* i386-protos.h (ix86_expand_compare): New.
- 	* i386.md (andqi_?_slp, orqi_?_slp): New.
- 	(conditional trap expander): Update call to ix86_expand_compare.
- 
- 2001-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/vax/vax.md: Use nonimmediate_operand instead of
- 	general_operand in destinations.
- 
- 	* config/vax/vax.md (indirect_jump): Use register_operand.
- 
- 	* config/vax/vax.h (RETURN_POPS_ARGS): Max at 255 arguments.
- 	* config/vax/vax.md (call_pop): Turn into an expander.
- 	(call_value_pop): Likewise.
- 	(call, call_value): New.
- 
- 2001-01-14  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.c (ix86_split_fp_branch): Remove unused
- 	variables.
- 	(ix86_fp_compare_mode): Add unused attribute.
- 	(ix86_expand_fp_movcc): Remove unused variable.
- 	(ix86_expand_builtin): Make fcode unsigned.
- 
- 	* expr.c (MOVE_BY_PIECES_P): Cast MOVE_RATIO to unsigned.
- 	(expand_expr): Add cast to avoid signed warning.
- 	(store_field): Likewise.
- 	(store_constructor_field): Likewise.
- 	(store_constructor): Likewise.
- 	(store_expr): Likewise.
- 	(clear_storage): Likewise.
- 	(emit_group_store): Likewise.
- 	(emit_group_load): Likewise.
- 
- 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c: Move format checking code to ...
- 	* c-format.c: ... here.  New file.  Reorder some functions and
- 	declarations.
- 	(decl_handle_format_attribute, decl_handle_format_arg_attribute):
- 	New functions.
- 	* c-common.h (decl_handle_format_attribute,
- 	decl_handle_format_arg_attribute): Declare.
- 	* Makefile.in (C_AND_OBJC_OBJS): Add c-format.o.
- 	(c-common.o): Adjust dependencies.
- 	(c-format.o): New list of dependencies.
- 
- 2001-01-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unroll.c (loop_iterations): If we cannot prove iteration variable
- 	is set once in each iteration, punt.
- 
- Sun Jan 14 00:23:15 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md ("strlenhi"): Remove clobber of input address.
- 	(*strlenhi): Remove clobber (which was buggy) of output address.
- 
- 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (generated-manpages): Add gcc.1
- 	($(srcdir)/gcc.1): New target.
- 	(maintainer-clean): Delete $(srcdir)/gcc.1.
- 	* gcc.texi: Add macros @gccoptlist and @gol.
- 	* invoke.texi: Include option summary in manpage.  Mark up option
- 	summary with @gccoptlist and @gol.  Use @r in one place where
- 	appropriate.
- 	* texinfo.tex: Update to version 2000-12-11.07 from ftp.gnu.org.
- 	* gcc.1: Generate from invoke.texi.
- 
- 2001-01-13  Richard Henderson  <rth@redhat.com>
- 
- 	* ggc-page.c (USING_MALLOC_PAGE_GROUPS): New; set if not using mmap.
- 	(struct page_entry): Add group member.
- 	(struct page_group): New.
- 	(struct globals): Add page_groups member.
- 	(alloc_anon): Only define for using mmap; remove valloc call.
- 	(page_group_index): New.
- 	(set_page_group_in_use): New.
- 	(clear_page_group_in_use): New.
- 	(alloc_page): Implement USING_MALLOC_PAGE_GROUPS.
- 	(free_page, release_pages): Likewise.
- 	* configure.in (with-gc): Default to ggc-page always.
- 
- 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload1.c (replace_pseudos_in_call_usage): Use
- 	reg_equiv_constant and reg_equiv_address, and don't try
- 	regno_reg_rtx first.
- 
- 2001-01-13  Richard Henderson  <rth@redhat.com>
- 
- 	* ggc-page.c (alloc_page): Round up allocation size to one page.
- 	Set e->order on extra pages.
- 
- 2001-01-13  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (nodes_identical): Expand commentary.
- 	(write_switch): Watch out for identical nodes.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (_cpp_fake_include): New function.
- 	* cpphash.h (_cpp_fake_include): New.
- 	* cpplib.c (do_line): Call _cpp_fake_include when entering
- 	header files in preprocessed input.
- 	* cppmain.c (cb_pragma_implementation): Remove handling.
- 	(setup_callbacks): Don't register pragmas.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* extend.texi: Udate for CPP.
- 
- 2001-01-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* reload1.c: Add prototype for replace_pseudos_in_call_usage.
- 
- 	* regmove.c: Add prototype for replace_in_call_usage.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.h (cpp_pool, mi_state, mi_ind, struct cpp_macro,
- 	struct cpp_chunk, struct htab, struct toklist,
- 	struct cpp_context, CPP_STACK_MAX, struct lexer_state,
- 	struct spec_nodes, struct cpp_reader, CPP_OPTION, CPP_BUFFER,
- 	CPP_BUF_LINE, CPP_BUF_COL, CPP_BUF_COLUMN, U, ustrcmp, ustrncmp,
- 	ustrlen, uxstrdup, ustrchr, ufputs): Move to cpphash.h.
- 	(struct macro_args): Delete.
- 	* cpphash.h: See above.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (struct printer): Remove no_line_dirs.
- 	(options, cb): New.
- 	(main, setup_callbacks, scan_buffer, printer_init, cb_define)
- 	: Use options rather than CPP_OPTION.
- 	(setup_callbacks): Use cb rather than pfile->cb.
- 	(main): No need to check for a buffer.  Use cpp_errors.
- 	(printer_init): Don't set no_line_dirs.
- 	(maybe_print_line): Use options not no_line_dirs.
- 	(cb_file_change): Don't call print_line if -P.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (init_c_lex): Use cpp_get_callbacks to set
- 	callbacks.
- 	* c-parse.in (finish_parse): Use cpp_errors.
- 	(__yylex): Use return value of cpp_pop_buffer.
- 	* cp/lex.c (finish_parse): Use cpp_errors.
- 	* cp/spew.c (read_token): Use return value of cpp_pop_buffer.
- 
- Sat Jan 13 16:57:40 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* README.AVR: URLs corrected.
- 
- Sat Jan 13 07:30:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-decl.c (start_function): Don't warn if old prototype is builtin
- 	that's not in C's namespace.
- 	* libgcc2.c (_varargs): Update definition of __builtin_saveregs.
- 	(_bb): Add prototype for ctime.
- 	* config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Add missing protos.
- 
- Sat Jan 13 09:53:32 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_fp_comparison_arithmetics_cost,
- 	ix86_fp_comparison_fcomi_cost, ix86_fp_comparison_sahf_cost,
- 	ix86_fp_comparison_cost): New functions.
- 	(ix86_expand_fp_compare): Use the costs to choose best bethod; add
- 	two new parameters SECOND_TEST and BYPASS_TEST; allow generating
- 	two-branch sequences; make static.
- 	(ix86_use_fcomi_compare): Do decision according to the costs.
- 	(split_fp_branch): New.
- 	* i386.md (compare-and-branch patterns): Use split_fp_branch.
- 	* i386-protos.h (ix86_expand_fp_compare): Remove
- 	(ix86_split_fp_branch): Declare.
- 
- 	* i386.h (PREDICATE_CODES): Update codes from fcmov_comparison_operand
- 	and ix86_comparison_operator.
- 
- 	* i386.c (ix86_prepare_fp_compare_args): Try to rearange the comparison
- 	to make it cheaper.
- 
- 	* i386.c (put_condition_code): Output properly the unordered/ordered
- 	compares in fp case.
- 	(ix86_expand_fp_movcc): Use ix86_expand_compare infrastructure.
- 
- 	* tm.texi (REVERSE_CONDITION): Document.
- 	* i386.c (ix86_fp_compare_mode): Simplify; return always CCFPmode
- 	in -ffast-math mode.
- 	* i386.h (REVERSE_CONDITION, REVERSIBLE_CC_MODE): New macro.
- 
- 2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (sh_expand_epilogue): Use PR explicitly.
- 
- 	* config/sh/sh.c (sh_expand_prologue): Let the second toggle_sz be
- 	optimized away.
- 
- 	* config/sh/sh.c (mova_p): Fix test for mova_const.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* fix-header.c (read_scan_file): Use cpp_get_callbacks and
- 	cpp_get_options rather than dereferencing pfile and using
- 	CPP_OPTION.
- 	* scan-decls.c (scan_decls): Use return value of
- 	cpp_pop_buffer rather than CPP_BUFFER.
- 
- 2001-01-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_handle_option): help_only is now part of the
- 	cpp_options structure.
- 	* cpplib.c (cpp_errors, cpp_get_options, cpp_get_callbacks,
- 	cpp_set_callbacks): New functions.
- 	* cpplib.h (cpp_callbacks): Break out as a named structure.
- 	(cpp_options): Move help_only here from cpp_reader.
- 	(CPP_FATAL_ERRORS): Update to use cpp_errors.
- 	(cpp_errors, cpp_get_options, cpp_get_callbacks,
- 	cpp_set_callbacks): New prototypes.
- 	* cppmain.c (main): Update for help_only.
- 
- 2001-01-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (info, maintainer-clean, install-info, uninstall):
- 	Also build and remove and install and uninstall c-tree.info and
- 	cppinternals.info.
- 	($(srcdir)/gcc.info): Add dependency on contrib.texi.
- 	($(srcdir)/cppinternals.info): New target.
- 	* c-tree.texi: Change file name used when makeinfo used without -o
- 	from ir.info to c-tree.info.  Add info directory entry.
- 	* cppinternals.texi: Add info directory entry.
- 	* .cvsignore: Update.
- 
- 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (store_init_value): Don't require constant initializer
- 	elements with -pedantic -std=c99.
- 	(digest_init): Change error about non-constant initializer elements
- 	into pedwarn.
- 	(constructor_range_end): Remove.
- 	(constructor_incremental, designator_depth,
- 	designator_errorneous): New variables.
- 	(struct constructor_stack): Remove range_end, add incremental.
- 	(struct constructor_range_stack, constructor_range_stack): New.
- 	(struct initializer_stack): Add constructor_range_stack.
- 	(finish_init): Set it.
- 	(start_init): Likewise.  require_constant_elements for non-static
- 	trees only if not flag_isoc99.
- 	(really_start_incremental_init): Remove constructor_range_end, add
- 	constructor_incremental.
- 	(pop_init_level): Likewise.
- 	(push_init_level): Likewise.  If implicit and the subobject had some
- 	value set already, preinitialize the level with it.
- 	Warn about missing braces only if not pushing due to designators.
- 	(set_designator, push_range_stack): New functions.
- 	(set_init_label): Use them.
- 	(set_init_index): Likewise.  Remove constructor_range_end.
- 	Error if designator index is outside of array bounds.
- 	(add_pending_init): Compare values of purpose index trees, not the
- 	trees themselves.  Allow overwriting of already initialized element.
- 	Issue a warning if it had side-effects.
- 	(set_nonincremental_init, set_nonincremental_init_from_string): New
- 	functions.
- 	(pending_init_member): Rename to...
- 	(find_init_member): ...this function.  Call set_nonincremental_init
- 	if necessary.  Compare values of purpose index trees, not the trees
- 	themselves.  Return the actual value, not just nonzero if something
- 	is found.
- 	(output_init_element): Remove checks for duplicates.
- 	If field has zero size, only check the initializer for correctness.
- 	Call set_nonincremental_init if necessary.  Push RECORD/ARRAY into AVL
- 	if constructor_incremental is zero.  Change error about initializers
- 	not computable at load time into pedwarn.
- 	(output_pending_init_elements): Compare bit positions, not
- 	FIELD_DECLs to take into account zero-sized fields.
- 	(process_init_element): Use constructor_range_stack to fill all
- 	ranges in the designator lists from current level up.
- 	* extend.texi: Update documentation for labeled elements.
- 
- 2001-01-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* calls.c (emit_library_call_value_1): Add USEs and CLOBBERs
- 	to function usage for arguments passed by reference.  Optimize
- 	callee-copied arguments.
- 	* regmove.c (replace_in_call_usage): New function.
- 	(fixup_match_1): Call it.
- 	* cse.c (cse_insn): Canonicalize registers in function usage.
- 	* reload1.c (replace_pseudos_in_call_usage): New function.
- 	(reload): Call it.
- 
- 	* Makefile.in: Reverted yesterday's wrong patch.  Installed the
- 	right version.
- 
- 2001-01-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_block_move): GET_MODE of tmp,
- 	not XEXP (tmp, 0).
- 
- 2001-01-12  DJ Delorie  <dj@redhat.com>
- 
- 	* Makefile.in (bootstrap): rename stages to be mnemonic.  Add
- 	restageN, unstageN, bubblestrap, quickstrap, and cleanstrap
- 	targets.
- 
- 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* cpp.texi, extend.texi, gcc.texi, install.texi, invoke.texi,
- 	tm.texi: Consistently refer to ISO C instead of ANSI C.  Refer to
- 	-std options alongside references to -ansi.  Update some
- 	documentation for C99.
- 	* cpp.1: Regenerate.
- 
- 2001-01-12  Andreas Jaeger  <aj@suse.de>
- 
- 	* haifa-sched.c (restore_line_notes): Remove argument block B
- 	since it's unused.
- 	* sched-ebb.c (schedule_ebb): Change caller.
- 	* sched-rgn.c (schedule_region): Likewise.
- 	* sched-int.h (restore_line_notes): Adjust prototype.
- 
- 	* loop.h: Remove wrong declaration of doloop_condition_get.
- 
- 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* extend.texi:  Move C++-extension-related node from the C section
- 	into the C++ section.
- 
- 2001-01-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* extend.texi: Refer to an array of pointers to functions instead
- 	of one of functions.
- 
- Fri Jan 12 12:08:12 MET 2001  Andreas Jaeger  <aj@suse.de>
- 			      Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (reversed_comparison): Fix typo in last patch.
- 	Check X for NULL.
- 	(combine_reversed_comparison_code): Make static to follow
- 	prototype declaration.
- 
- 2001-01-12  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* install.texi:  Remove misplaced duplicate entry.
- 
- 2001-01-11  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* config/float-i386.h: Define FLT_EVAL_METHOD and DECIMAL_DIG for C99.
- 
- Thu Jan 11 17:06:30 EST 2001  John Wehle  (john@feith.com)
- 
- 	* final.c: (leaf_function_p): Fix typo.
- 
- 2001-01-11  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE): Completely rewritten.
- 	Now defines HAVE_MMAP_DEV_ZERO and/or HAVE_MMAP_ANON depending
- 	which you have.
- 	(AC_FUNC_MMAP_FILE): Don't AC_REQUIRE AC_FUNC_MMAP_ANYWHERE.
- 	* configure.in: Set GGC to ggc-page if any of mmap_dev_zero,
- 	mmap_anon, and valloc is available.
- 	* ggc-page.c: Restructure ifdef logic to match new autoconf
- 	spec.  Don't throw away the test page in init_ggc.
- 
- 	* configure, config.in: Regenerate.
- 
- 2001-01-12  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.h (total_biv_increment): Constify iv_class pointer.
- 	(struct induction): Replace `mem_mode' with `mem' rtx.
- 	* unroll.c (total_biv_increment): Constify iv_class pointer.
- 	* loop.c (loop_giv_reduce_benefit): Derive mem mode from mem rtx.
- 	(find_mem_givs, combine_givs_p): Likewise.
- 	(debug_ivs, debug_iv_class, loop_ivs_dump, loop_iv_class_dump): New.
- 
- 2001-01-10  Thomas Pfaff <tpfaff@gmx.net>
- 
- 	* gthr-win32.h (__gthread_objc_thread_get_data): Save and restore Win32
- 	LastError.
- 	(__gthread_getspecific): Ditto.
- 
- Fri Jan 12 00:04:00 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_comparison_operator, fcmov_comparison_operator,
- 	put_condition_code): Convert fp comparison codes to integer
- 	before handling.
- 	(ix86_expand_fp_compare): Postnote the fp comparison code conversion
- 	to final.
- 
- 	* i386.c (unsigned_comparison, no_comparison_operator): Kill.
- 	* i386-protos.h (no_comparison_operator): Kill.
- 
- 	* i386.c (ix86_expand_fp_compare): Fix ordered/unordered confussion.
- 
- 	* combine.c (REVERSIBLE_CC_MODE): Remove.
- 	(reversible_comparison_p): Remove.
- 	(combine_reversed_comparison_code): New.
- 	(reversed_comparison): New.
- 	(combine_simplify_rtx): Use
- 	combine_reversed_comparison_code/reversed_comparison instead
- 	of reversible_comparison_p.
- 	(simplify_if_then_else): Likewise.
- 	(simplify_set): Likewise.
- 	(simplify_logical): Likewise.
- 	(if_then_else_cond): Likewise.
- 	(known_cond): Likewise.
- 	(simplify_comparison): Likewise.
- 
- 2001-01-11  Alan Lehotsky  <lehotsky@tiac.net>
- 
- 	* builtins.c (std_expand_builtin_va_start): Handle varargs when
- 	sizeof (int) is larger than sizeof(__word__).
- 
- 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (do_includes): Fix typo.
- 
- 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (cmphi_1): Make sure reloading
- 	in S_REGS does not occur because not all sources are possible
- 	when a S_REGS is a destination (sometimes needs a clobber).
- 	(movqi_const0, zero_extendhisi2, zero_extendqisi2): Likewise.
- 	(zero_extendhidi2, extendqisi2, extendqihi2, extendhisi2): Likewise.
- 	(anddi3, iordi3, xordi3, negqi2, one_cmplhi2, one_cmplqi2: Likewise.
- 	(ashldi3_const32, ashldi3_const1, ashlsi3_const16): Likewise.
- 	(ashlsi3_const1, ashlhi3_2, ashlqi3_const1, ashrhi3): Likewise.
- 	(ashrqi3_const1, lshrdi3_const32, lshrdi3_const63): Likewise.
- 	(lshrdi_const1, lshrsi3_const16): Likewise.
- 	(*addhi3, lshrsi3_const1, lshrqi3_const1): Likewise.
- 	(*movhi_68hc12, *movqi_68hc12): Likewise.
- 	(movstrictqi): Make sure reloading in D_REGS as a destination
- 	does not happen.
- 
- 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppspec.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
- 
- 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_start_read): If -fpreprocessed, ignore
- 	-D, -U and -A, and don't initialize the builtins.
- 	(do_includes): Error if -include or -imacros with -fpreprocessed.
- 	* cppmain.c (cb_define, cb_undef): Unconditionally process
- 	the callback.
- 	* tradcpp.c (main): Fix typo.
- 
- 2000-01-11  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* cppfiles.c (cpp_included, find_include_file, _cpp_execute_include)
- 	(read_name_map): Use IS_ABSOLUTE_PATH.
- 	* tradcpp.c (get_filename): Likewise.
- 
- 2001-01-11  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (*adcq, *subcq): Fix operand numbers.
- 	(*ashlsi3_const16_zexthi, *ashlsi3_const1): Likewise.
- 	(*lshrsi3_const, *lshrsi3_const1, *lshrsi3_const16): Likewise.
- 	(*ashrsi3, *ashrsi3_const, *ashlsi3, *ashlsi3_const): Likewise.
- 	(*ashlsi3_const1, *lshrsi3, *ashlsi3_const16): Likewise.
- 	(cmphi_z_used): Don't use '@' for the output.
- 	(tstqi_z_used): Likewise.
- 	(cmpqi_z_used): Likewise.
- 	(one_cmplsi2): Likewise.
- 
- 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.c (barrier_align): Recognize branch around far
- 	branch and redundant insn.
- 
- 2001-01-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* invoke.texi: Restore documentation of the drivers' switches -MD
- 	and -MMD.
- 
- 2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (LABEL_ALIGN): Use UNSPECV_ALIGN instead of 1.
- 
- 	* Makefile.in (check-gcc//%, check-g++//%, check-g77//%,
- 	check-objc//%): Support parallel testing of multilibs.
- 	(TESTSUITEDIR): Set to testsuite by default, but override for
- 	parallel testing.
- 	(check-gcc, check-g++, check-g77, check-objc): Enter
- 	$(TESTSUITEDIR).
- 
- 2001-01-11  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* alias.c (throughout): Use REGNO, rather than ORIGINAL_REGNO.
- 	* sched-deps.c (deps_may_trap_p): Likewise.
- 	* basic-block.h: Remove a comment.
- 	* flow.c (PROP_POSTRELOAD): Remove.
- 	(update_life_info): Don't add it to prop_flags.
- 	(mark_set_1): Lose the code that was enabled by it.
- 
- 2001-01-11  Michael Hayes  <mhayes@redhat.com>
- 
- 	* flow.c (flow_call_edges_add): New.
- 	* basic_block.h (flow_call_edges_add): New.
- 
- 2001-01-11  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* reload1.c (move2add_note_store): Update reg_set_luid even if
- 	base reg remains the same.
- 
- 2001-01-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/d30v/d30v.c (d30v_init_machine_status): Initialize
- 	machine_function structure to zero.
- 	Add prototypes for machine_status functions.
- 
- 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (CTI_VOID_LIST): Remove.
- 	(void_list_node): Likewise.
- 	* tree.h (TI_VOID_LIST_NODE): New enumeral.
- 	(void_list_node): New macro.
- 	* config/arm/arm.c (arm_init_builtins): Use void_list_node.
- 	* config/i386/i386.c (ix86_init_builtins): Likewise.
- 	* config/ia64a/ia64.c (ia64_init_builtins): Likewise.
- 
- 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (tradcpp0): Depend on mkdeps.h.  Link mkdeps.o
- 	* cppinit.c (cpp_start_read): Update comment, remove unneeded
- 	if statement.
- 	* tradcpp.c: Include mkdeps.h.
- 	(deps, print_deps_phony_targets, deps_append, output_deps,
- 	init_dependency_output, output_deps): New.
- 	(deps_buffer, deps_allocated_size, deps_size, deps_column,
- 	deps_output): Delete.
- 	(print_deps_missing_files): Rename deps_missing_files.
- 	(inhibit_output): Make global.
- 	(main): Delete inhibit_output, deps_stream, deps_target.
- 	Use mkdeps functionality in the same way as cpplib.  Remove
- 	-g3 handling.  Handle -MF, -MP, -MQ, -MT.  Update handling of
- 	-M and -MM.  Remove old handling of deps via deps_out, and
- 	old reading of environment variables.
- 	(get_filename): Update to use deps_add_dep.
- 
- 2001-01-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* output.h (make_function_rtl): Remove prototype.
- 	(make_decl_rtl): Likewise.
- 	* varasm.c (make_function_rtl): Remove.
- 	(make_decl_rtl): Determine top-levelness from DECL_CONTEXT, rather
- 	than from a third parameter.
- 	* tree.h (make_decl_rtl): Remove last parameter.
- 	* c-decl.c (builtin_function): Remove last argument in call to
- 	make_decl_rtl; use make_function_rtl instead of make_decl_rtl.
- 	(start_function): Likewise.
- 	* except.c (call_get_eh_context): Likewise.
- 	* expr.c (emit_block_move): Likewise.
- 	(clear_storage): Likewise.
- 	* profile.c (output_func_start_profiler): Likewise.
- 	* toplev.c (rest_of_decl_compilation): Likewise.
- 	* objc/objc-act.c (create_builtin_decl): Likewise.
- 	(synth_module_prologue): Likewise.
- 	(generate_static_reference): Likewise.
- 	(build_selector_reference_decl): Likewise.
- 	(build_class_reference_decl): Likewise.
- 	(build_objc_string_decl): Likewise.
- 	(build_protocol_reference): Likewise.
- 
- 2001-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* hwint.h: Revert yesterday's change.
- 
- 2001-01-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* function.h (save_machine_status): Delete.
- 	(restore_machine_status): Delete.
- 	Amend comment describing {init|mark|free}_machine_status.
- 
- 	* function.c (save_machine_status): Delete.
- 	(restore_machine_status): Delete.
- 	Amend comment describing {init|mark|free}_machine_status.
- 	(push_function_context_to): Remove invocation of
- 	save_machine_status.
- 	(pop_function_context_from): Remove invocation of
- 	restore_machine_status.
- 
- 	* emit-rtl.c (init_emit_once): Amend comment describing
- 	{init|mark|free}_machine_status.
- 
- 	* tm.texi (Per-Function Data): New node.  Describe the
- 	INIT_EXPANDERS macro and the {init|mark|free}_machine_status
- 	function pointers.
- 
- 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (OPT_g): Remove.
- 	(cpp_handle_option): Update for removed -g3.
- 	(print_help): Update.
- 	* cpplib.h (struct cpp_options): Remove debug_output.
- 	* cppmain.c (setup_callbacks, cb_define): Update.
- 	* gcc.c (cpp_options): Translate -g3 to -dD.
- 
- 2001-01-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/i960/i960.md: Change modifier to + on the zero_extract
- 	pattern after the (rotate -2 reg) canonicalization pattern.
- 
- 2001-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_free_machine_status): New.
- 	(override_options): Install it.
- 	(alpha_mark_machine_status): Verify machine non-null.
- 	* config/i386/i386.c (ix86_free_machine_status): New.
- 	(override_options): Install it.
- 	(ix86_init_machine_status): Use xcalloc.
- 	(ix86_mark_machine_status): Verify machine non-null.
- 	* config/ia64/ia64.c (ia64_free_machine_status): New.
- 	(ia64_override_options): Install it.
- 	(ia64_mark_machine_status): Verify machine non-null.
- 
- Wed Jan 10 11:34:39 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* function.c (instantiate_virtual_regs): Instantiate virtual
- 	registers found in CALL_INSN_FUNCTION_USAGE.
- 
- 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* i386.h (CPP_CPU_SPEC): Allow for -std=c* and -std=i* as
- 	equivalent to -ansi in disabling -Di386.
- 
- Wed Jan 10 16:38:31 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_fp_compare_code_to_integer, ix86_fp_comparison_codes):
- 	new functions.
- 	(ix86_expand_fp_compare): Make trivial use of new infrastructure.
- 
- 2001-01-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_init_builtins): Temporarily disable xscale builtins.
- 
- 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* invoke.texi: Document that -fcond-mismatch isn't supported for
- 	C++.
- 
- 2001-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.texi: Define macro gcctabopt.
- 	* invoke.texi: Add manpage sections BUGS and AUTHOR.  Use
- 	@command, @env and @option in some places where appropriate.  Use
- 	@gcctabopt where appropriate.  Put URLs and email addresses inside
- 	@w.
- 
- 2001-01-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcc.c (cpp_options): Set MD file name from output
- 	filename, if specified.
- 	(suffix_subst): New static variable.
- 	(do_spec): Clear it.
- 	(do_spec_1, case '.'): Handle new `%.suffix' spec.
- 	Clear it.
- 	(give_switch): Handle suffix_subst.
- 
- 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* invoke.texi:  Fix another typo.
- 
- 2001-01-10  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* invoke.texi:  Fix typo.
- 
- 2001-01-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lang.c (lang_hooks): Update.
- 	(lang_decode_option): Remove.
- 	(lang_init_options): Rename c_init_options.
- 	* toplev.c (main): Use lang_hooks for lang_init_options
- 	and lang_decode_option.
- 	* toplev.h (lang_hooks): Add 2 new hooks.
- 	* tree.h: Remove lang_init_options and lang_decode_option.
- 	* cp/cp-tree.h (lang_decode_option): Rename cxx_decode_option.
- 	* cp/decl2.c: Similarly.
- 	* cp/lex.c (lang_init_options): Rename cxx_init_options.
- 	(lang_hooks): Update.
- 	* f/com.c (f_init, f_finish): Rename ffe_init, ffe_finish
- 	for consistency.
- 	(lang_init_options): Rename ffe_init_options.
- 	(lang_hooks): Update.
- 	(lang_decode_option): Remove.
- 	* java/lang.c (lang_init_options): Rename java_init_options.
- 	(lang_decode_option): Rename java_decode_option.
- 	(lang_hooks): Update.
- 	* objc/objc-act.c (lang_init_options): Rename objc_init_options.
- 	(lang_decode_option): Rename objc_decode_option.
- 	(lang_hooks): Update.
- 
- 2001-01-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/d30v/d30v.c (d30v_eh_epilogue_sp_ofs): Delete.
- 	(d30v_return_addr_rtx): Delete.
- 	(d30v_expand_epilogue): Use eh_epilogue_sp_ofs field in the
- 	cfun->machine structure.
- 	(struct machine_function): Move to d30v.h
- 	(d30v_save_machine_status): Delete.
- 	(d30v_restore_machine_status): Delete.
- 	(d30v_init_machine_status): New Function.
- 	(d30v_mark_machine_status): New Function.
- 	(d30v_free_machine_status): New Function.
- 	(d30v_init_expanders): Use new functions.
- 	(d30v_return_addr): Use ra_rtx field in cfun->machine.
- 	(d30v_add_gc_roots): Remove d30v_eh_epilogue_sp_ofs and
- 	d30v_return_addr_rtx.
- 
- 	* config/d30v/d30v.h (struct_machine): Move here.
- 	Add eh_epilogue_sp_ofs field.
- 
- 	*config/d30v/d30v.md (epilogue): Initialize eh_epilogue_sp_ofs
- 	field in cfun->machine structure.
- 
- Tue Jan  9 21:34:57 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): When generating pic code,
- 	PIC_OFFSET_TABLE_REGNUM_SAVED is a call_used register.
- 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
- 
- Tue Jan  9 21:25:19 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* objc/lang-options.h: Remove bogus reference to
- 	Java trademark.
- 
- 2001-01-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Use a struct shift_info to
- 	return the result.
- 
- 2001-01-09  Alan Lehotsky  <lehotsky@tiac.net>
- 
- 	* reload.c (find_reloads_address): Check for eliminable registers
- 	when substituting a constant expression for a pseudo.
- 
- 2001-01-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (enum format_type): Add format_type_error.
- 	(decode_format_type): New function.
- 	(decl_attributes): Use it.
- 	(format_kind_info): Adjust comment.
- 
- 2001-01-09  David O'Brien  <obrien@BSDi.com>
- 
- 	* config.gcc (*-*-gnu*, i[34567]86-*-elf*, i[34567]86-*-linux*libc1,
- 	i[34567]86-*-linux*, i[34567]86-*-moss*): Specify needed platform specific
- 	files in tm_file.
- 	* config/i386/gnu.h: Don't include required platform specific .h files,
- 	tm.h will do it instead.
- 	* config/i386/i386elf.h: Likewise.
- 	* config/i386/linux.h: Likewise.
- 	* config/i386/moss.h: Likewise.
- 	* config/mips/gnu.h: Likewise.
- 
- 2001-01-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config.gcc (powerpc-*-beos*): Include ${tm_file} and rs6000/aix.h.
- 	(rs6000-ibm-aix3.[01]*): Likewise.
- 	(rs6000-ibm-aix3.2.[456789]*, powerpc-ibm-aix3.2.[456789]*): Likewise.
- 	(rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*): Likewise.
- 	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Likewise.
- 	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
- 	(powerpc-*-sysv*): Include {tm_file}. svr4.h and rs6000/sysv4.h.
- 	(powerpc-*-eabiaix*): Likewise.
- 	(powerpc-*-eabisim*): Likewise.
- 	(powerpc-*-elf*): Likewise.
- 	(powerpc-*-eabi*): Likewise.
- 	(powerpc-*-rtems*): Likewise.
- 	(powerpc-*-linux*libc1): Likewise.
- 	(powerpc-*-linux*): Likewise.
- 	(powerpc-wrs-vxworks*): Likewise.
- 	(powerpcle-wrs-vxworks*): Likewise.
- 	(powerpcle-*-sysv*): Likewise.
- 	(powerpcle-*-elf*): Likewise.
- 	(powerpcle-*-eabisim*): Likewise.
- 	(powerpcle-*-eabi*): Likewise.
- 	(powerpcle-*-solaris2*): Likewise.
- 	* config/rs6000/aix31.h: Delete includes.
- 	* config/rs6000/aix3newas.h: Likewise.
- 	* config/rs6000/aix41.h: Likewise.
- 	* config/rs6000/aix43.h: Likewise.
- 	* config/rs6000/beos.h: Likewise.
- 	* config/rs6000/rtems.h: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 
- 2001-01-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove an argument cpu.
- 	Change an argument mode of machine_mode to shift_mode of
- 	shift_mode.  Remove an extra error check.
- 	(emit_a_shift): Adopt to the new calling prototype of
- 	get_shift_alg.
- 	(function_prologue): Fix code for a monitor
- 	function.  Support H8S.
- 	(function_epilogue): Do not output pop for a monitor function.
- 
- 2001-01-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_sysv_varargs_p): Delete.
- 	(setup_incoming_varargs): Use sysv_varargs_p field of the
- 	cfun->machine structure.
- 	(struct machine_function): Move to rs6000.h
- 	(rs6000_save_machine_status): Delete.
- 	(rs6000_restore_machine_status): Delete.
- 	(rs6000_init_machine_status): New Function.
- 	(rs6000_free_machine_status): New Function.
- 	(rs6000_init_expanders): Use new functions.
- 
- 	* config/rs6000/rs6000.h (rs6000_sysv_varargs_p): Delete
- 	export.
- 	(struct machine_function): Move here.
- 
- 	* config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Use
- 	sysv_varargs_p field of the cfun->machine structure.
- 
- 	* config/rs6000/rs6000-protos.h (rs6000_save_machine_status):
- 	Remove prototype.
- 	(rs6000_restore_machine_status): Remove prototype.
- 
- 2001-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-int.h (struct deps): Add max_reg, reg_last_in_use; merge
- 	reg_last_uses, reg_last_sets, reg_last_clobbers into struct deps_reg.
- 	* sched-deps.c (sched_analyze_1): Update uses of struct deps.
- 	(sched_analyze_2, sched_analyze_insn): Likewise.
- 	(sched_analyze, init_deps): Likewise.
- 	(free_deps): Likewise.  Iterate with EXECUTE_IF_SET_IN_REG_SET.
- 	* sched-rgn.c (propagate_deps): Likewise.  Remove max_reg argument.
- 	(compute_block_backward_dependences): Update propagate_deps call.
- 
- 2001-01-09  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* gcc.c (process_command): Set switches[n_switches].ordering to 0.
- 
- 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (OPT_MD, OPT_MMD): Restore.
- 	(cpp_handle_option): Handle them.
- 	(cpp_post_options): Ensure one of -M or -MM is specified with
- 	any other -M? option.
- 	(init_dependency_output): Suppress output with -MG.
- 
- 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update.
- 	* invoke.texi: Update.
- 
- 2001-01-09  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* sh.md (reload_outsf): Generate recognizable patterns for
- 	TARGET_SH3E.
- 
- 2001-01-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lang.c (lang_hooks): Update.
- 	(lang_init): Rename c_init.
- 	(lang_finish): Remove.
- 	* toplev.c (compile_file): Use lang_hooks for lang_init ()
- 	and lang_finish ().
- 	* toplev.h (lang_hooks): Add init () and finish ().
- 	* tree.h (lang_init, lang_finish): Remove.
- 	* cp/tree.h (lang_init, lang_finish): Remove.
- 	* cp/decl2.c (cxx_post_options, lang_hooks): Move to cp/lex.c.
- 	* cp/lex.c (cxx_init, cxx_finish, cxx_post_options,
- 	lang_hooks): New.
- 	(lang_init, lang_finish): Remove.
- 	* f/com.c (lang_init, lang_finish): Rename f_init, f_finish.
- 	(lang_hooks): Update.
- 	* java/lang.c (lang_init): Rename java_init.
- 	(lang_finish): Remove.
- 	(lang_hooks): Update.
- 	* objc/objc-act.c (lang_init): Rename objc_init.
- 	(lang_finish): Remove.
- 	(lang_hoooks): Update.
- 
- 20001-01-09  Graham Stott  <grahams@redhat.com>
- 
- 	* cppfiles.c (_cpp_execute_include): Move `len` initialisation
- 	after `ptr` is initialized.
- 
- 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (STATIC_CHAIN_REGNUM): Change from r13 to r3.
- 	(INITIALIZE_TRAMPOLINE): Adjust accordingly.
- 	* config/sh/sh.c (sh_expand_prologue): Use r1 as temporary for
- 	stack adjusts, instead of r3.
- 
- 2001-01-09  Michael Hayes  <mhayes@redhat.com>
- 
- 	* flow.c (flow_loop_scan): Break out of ...
- 	(flow_loops_find) ... here.
- 	* basic-block.h (flow_loop_scan): New.
- 	(LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES): Add.
- 	(LOOP_EDGES, LOOP_EXITS_DOMS, LOOP_ALL): Redefine.
- 
- 2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cppinit.c (cpp_cleanup): NULLify macro_buffer and zero
- 	macro_buffer_len.
- 	* cppmacro.c (cpp_macro_definition): Reset macro_buffer_len when
- 	realloc()ing macro_buffer.
- 
- 	* hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
- 	if it's wider than long and the target's long is wider than the
- 	host's.
- 
- 2001-01-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Remove support for using UWIN as a host machine.
- 	* configure.in: Issue an error message.
- 	* configure: Regenerated.
- 	* config.gcc: Remove xm_* UWIN configury.
- 	* config/i386/xm-uwin.h: Remove.
- 
- 2001-01-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/v850/v850.c (ra_rtx): Delete.
- 	(v850_save_machine_status): Delete.
- 	(v850_restore_machine_status): Delete.
- 	(v850_init_machine_status): New function.
- 	(v850_mark_machine_status): New function.
- 	(v850_free_machine_status): New function.
- 	(v850_return_addr): Use ra_rtx field in machine structure.
- 	(v850_init_expanders): Use new functions.
- 
- 	* config/v850/v850-protos.h: Fix prototypes for v850_output_*
- 	* config/v850/v850.c: Change arguments to v850_output+* functions
- 	to take a const char *, to avoid compile time warning.
- 	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Undefine, not needed.
- 	(USER_LABEL_PREFIX): Redefine.
- 
- 2000-01-08  Jim Wilson  <wilson@redhat.com>
- 
- 	* sched-rgn.c (BITSET_ADD, BITSET_REMOVE, bitset_member): Cast
- 	1 to unsigned HOST_WIDE_INT before left shift.
- 
- 2001-01-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_mark_machine_status): Check to see if
- 	the machine structure has been allocated.
- 	(arm_free_machine_status): New function: Free the machine
- 	specific function structure.
- 
- 2001-01-08  Richard Henderson  <rth@redhat.com>
- 
- 	* jump.c (simplejump_p): Revert last change.
- 
- 2001-01-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (init): Rename init_library.
- 	(cpp_create_reader): Update.
- 	* gcc.c (cpp_options): If -o given, use it as the target of
- 	any -M options.
- 
- 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_arch5e): New variable.
- 	(all_cores): XScale is a 5TE device.
- 	(arm_override_options): Set arm_arch5e.
- 	(arm_init_builtins): __builtin_prefetch is in arch5e.
- 	* arm.h (arm_arch5e): Declare it.
- 
- 	* arm.h (PREDICATE_CODES): Add arm_hard_register_operand.
- 
- 	* arm.md (define_constants): Add defines for UNSPEC and
- 	UNSPEC_VOLATILE insns.  Update all users.
- 	(define_constants): Add constants for IP_REGNUM, SP_REGNUM, PC_REGNUM.
- 	* arm.c (multi_register_push, note_invalid_constants)
- 	(emit_multi_reg_push, emit_sfm, expand_prologue): Use constants.
- 	* arm.h (SP_REGNUM, IP_REGNUM, PC_REGNUM): Delete defines.
- 	(STACK_POINTER_REGNUM): Define in terms of SP_REGNUM.
- 
- Mon Jan  8 16:14:56 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (jump_optimize_1): Use reversed_comparison_code
- 	instead of can_reverse_comparison_p.
- 	(jump_back_p): Likewise.
- 	(invert_exp_1): Likewise.
- 	(thread_jumps): Likewise.
- 	* simplify-rtx.c (simplify_unary_operation): Likewise.
- 	(simplify_ternary_operation): Likewise.
- 	* cse.c (find_comparison_args): Convert to use
- 	can_reverse_comparison_p.
- 	(record_jump_equiv): Likewise.
- 
- 2001-01-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (HARD_REGNO_RENAME_OK): Delete.
- 	(EPILOGUE_USES): Define.
- 	(INITIAL_ELIMINATION_OFFSET): Current prologue code does not
- 	automatically stack the LR if it isn't live.
- 
- Mon Jan  8 13:46:02 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Take care to reverse fp conditions
- 	properly.
- 
- Sun Jan  7 18:37:43 2001  Mark P Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-page.c (max_alignment): New structure.
- 	(MAX_ALIGNMENT): New macro.
- 	(init_ggc): Use it to round up the sizes in the
- 	extra_order_size_table.
- 
- 2001-01-07  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.h (EPILOGUE_USES): New, mark link register
- 	after reload.
- 
- 2001-01-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.def (BUILT_IN_FPRINTF): New entry.
- 
- 	* c-common.c (c_expand_builtin_fprintf): New function.
- 	(init_function_format_info): Handle __builtin_fprintf.
- 	(c_common_nodes_and_builtins): Declare fprintf/__builtin_fprintf.
- 	(c_expand_builtin): Handle BUILT_IN_FPRINTF.
- 
- 	* c-decl.c (duplicate_decls): Adjust comment.
- 
- 	* extend.texi (fprintf): Document new builtin.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* jump.c (simplejump_p): Recognize any single_set jump
- 	of the proper form.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (slibdir): Accept an --with-slibdir option.
- 	Use "test" not "[" in configure.  Default to $(libdir).
- 
- 	* config/t-linux (SHLIB_INSTALL): Double quote slibdir;
- 	fix typo in rm -f.
- 	* config/t-aix43 (SHLIB_INSTALL): Likewise.
- 	* config/alpha/t-osf4 (SHLIB_INSTALL): Likewise.
- 	(SHLIB_LINK): Create links for the soname.
- 	* config/mips/t-iris6: Likewise.
- 	* config/sparc/t-slibgcc: Likewise.
- 	* config/sparc/t-slibgcc-sld: Likewise.
- 
- 2001-01-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (constant_call_address_operand): Accept
- 	(const (plus (symbol_ref) (const_int))).
- 	* config/i386/i386.h (PREDICATE_CODES): Add CONST for
- 	constant_call_address_operand.
- 
- 2001-01-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
- 	and LONG_LONG_TYPE_SIZE > 32.
- 
- 2001-01-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* jump.c (reversed_comparison_code_parts): Fix typo introduced by
- 	the previous change.
- 
- Sun Jan  7 19:37:48 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (reversed_comparison_code_parts, reversed_comparison_code):
- 	New.
- 	(can_reverse_comparison_p): Rewrite to use reversed_comparison_code.
- 	(reverse_condition_maybe_unordered): Abort on unsigned comparisons.
- 	* rtl.h (reversed_comparison_code_parts, reversed_comparison_code):
- 	Declare.
- 
- 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* fix-header.c (read_scan_file): s/pfile/scan_in/.
- 
- 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lang.c (c_post_options): Call cpp_post_options.
- 	* objc/objc-act.c (objc_post_options): Similarly.
- 	* cppmain.c (main): Similarly.
- 	* fix-header.c (read_scan_file): Similarly.
- 	* cppinit.c (cpp_start_read): Move option consistency checks
- 	to cpp_post_options.  Don't call init_dependency_output.
- 	If needed, add default target and main file dependency.
- 	(OPT_MD, OPT_MMD): Remove.
- 	(OPT_MF): New.
- 	(cpp_handle_option): Update for OPT_* changes.
- 	(cpp_post_options): New.
- 	(init_dependency_output): Command line -MF overrides environment
- 	variables.  Don't set default target etc.  Suppress output
- 	if dependencies are going to stdout.
- 	(print_help): Update.
- 	* cpplib.h (cpp_post_options): New.
- 	* gcc.c (cpp_options): Update for -MD, -MMD, -MF.
- 
- Sun Jan  7 14:44:19 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (comparison_dominates_p): Support unordered compares.
- 
- Sun Jan  7 14:39:07 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Always simplify
- 	ORDERED and UNORDERED when FLAG_FAST_MATH.  Handle properly UNLE
- 	and UNGE.
- 
- Sun Jan  7 14:35:13 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Recognize the unordered compares.
- 	(nonzero_bits): Likewise.
- 	(simplify_comparison): Likewise.
- 	(num_sign_bit_copies): Likewise; return more sane value depending
- 	on STORE_FLAG_VALUE.
- 	(known_cond): Do not assume EQ to be always true for equivalent
- 	operands.
- 
- Sun Jan  7 14:31:57 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (fold_rtx): Handle unordered comparisons.
- 
- Sun Jan  7 13:49:19 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (set_of_1): New static function.
- 	(reg_set_last_1, reg_set_p_1, reg_set_reg, reg_set_flag,
- 	 reg_set_last_unknown, reg_set_last_value, reg_set_last_first_regno,
- 	 reg_set_last_last_regno): Remove.
- 	(set_of): New global function.
- 	(set_of_data): New structure.
- 	(reg_set_p, reg_set_last): Revamp for set_of.
- 	* rtl.h (set_of): New.
- 
- 2001-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Add _Exit builtin.
- 	* extend.texi: Document _Exit builtin.
- 
- 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* (initialize, initialize_builtins,
- 	initialize_dependency_output, initialize_standard_includes):
- 	Rename s/initialize/init. Update.
- 	(init_dependency_output): Move to after
- 	cpp_handle_options, the correct location temporally at least.
- 	(opt_comp): Move next to init (), its caller.  Fix prototype.
- 	(init): Make "initialized" local scope.
- 	(cpp_create_reader): Always call init ().
- 	(cpp_start_read): Update.
- 	(output_deps): New function, broken out of cpp_finish.
- 	(cpp_finish): Break out output_deps.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* collect2.c (COFF specific stuff): Revert 12-06 patch
- 	to prototype system functions.
- 
- 2001-01-07  Michael Hayes  <mhayes@redhat.com>
- 
- 	* hard-reg-set.h: Add multiple include guard.
- 	* basic-block.h (struct loop): Add `sink' field.
- 	* loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
- 	(emit_iv_add_mult): Delete.
- 	(loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
- 	(loop_iv_add_mult_emit_before, loop_insn_sink): Define.
- 	(unroll_loop): Remove end_insert_before argument.
- 	* loop.c (loop_givs_rescan): Remove end_insert_before argument.
- 	(maybe_eliminate_biv_1): Likewise.
- 	(emit_iv_add_mult): Delete.
- 	(gen_add_mult, loop_regs_update): New.
- 	(loop_insn_emit_after, loop_insn_emit_before): New.
- 	(loop_insn_sink, loop_insn_sink_or_swim): New.
- 	(emit_iv_add_mult): Delete.
- 	(scan_loop): Set loop->sink.
- 	(loop_givs_reduce): Use loop_insn_sink and its ilk.
- 	(loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
- 	(maybe_eliminate_biv_1): Likewise.
- 	(maybe_eliminate_biv_1): Add basic block argument.
- 	* unroll.c (unroll_loop): Remove end_insert_before argument.
- 	(find_splittable_regs): Likewise.
- 	(find_splittable_regs): Use loop_insn_sink and its ilk.
- 	(find_splittable_givs, final_biv_value, final_giv_value): Likewise.
- 
- 2001-01-07  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.h (loop_insn_hoist): New prototype.
- 	* loop.c (loop_insn_hoist, loop_insn_emit_before): New.
- 	(move_movables, loop_givs_rescan): Use loop_insn_hoist.
- 	(check_dbra_loop, load_mems): Likewise.
- 	* unroll.c (unroll_loop, find_splittable_regs): Likewise.
- 	(find_splittable_givs): Likewise.
- 
- 2001-01-07  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (emit_iv_add_mult): Use single_set to examine new insn.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
- 	NO_SHARED_LIBGCC_MULTILIB as required for the target.
- 	* gcc.c (init_spec): Massage the existing libgcc_spec into a
- 	variant that handles a shared libgcc.
- 	(process_command): Always validate -{static,shared}-libgcc.
- 	(do_spec_1): New 'M' case.
- 	* invoke.text (Link Options): Document -{static,shared}-libgcc.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (slibdir): New variable.
- 	(libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
- 	(installdirs): Create slibdir.
- 	(install-libgcc, install-multilib): Defer to libgcc.mk.
- 	* configure.in (slibdir): Substitute.
- 	* mklibgcc.in (install): New target.
- 
- 	* config/t-linux (SHLIB_LINK): Create links for the soname.
- 	(SHLIB_INSTALL): New.
- 	* config/alpha/t-osf4 (SHLIB_INSTALL): New.
- 	* config/mips/t-iris6 (SHLIB_INSTALL): New.
- 	* config/rs6000/t-aix43 (SHLIB_INSTALL): New.
- 	* config/sparc/t-slibgcc (SHLIB_INSTALL): New.
- 	* config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.
- 
- 2001-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
- 	* config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
- 	* config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.
- 
- 2001-01-07  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (count_loop_regs_set): Delete.
- 	(load_mems_and_recount_loop_regs_set): Delete.
- 	(loop_regs_scan): Merge common code from count_loop_regs_set,
- 	scan_loop, and load_mems_and_recount_loop_regs_set.
- 	(scan_loop): Call load_mems directly and loop_regs_scan
- 	again if new registers created.
- 
- 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* toplev.c (main): Call the front-end specific post_options
- 	hook if one is given.
- 	* toplev.h (struct_lang_hooks, lang_hooks): New.
- 	* c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
- 	for the C front end.
- 	* cp/decl2.c (cxx_post_options, lang_hooks): Implement
- 	lang_hooks for the C++ front end.
- 	* objc/objc-act.c (objc_post_options, lang_hooks): Implement
- 	lang_hooks for the ObjC front end.
- 	* f/com.c (lang_hooks): Hooks for the Fortran front end.
- 	* java/lang.c (lang_hooks): Hooks for the Java front end.
- 
- 2001-01-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (init_c_lex): Request #define / #undef callbacks
- 	for verbose DWARF[2] debugging.
- 	(cb_define, cb_undef): The new callbacks.
- 	* toplev.h (debug_define, debug_undef): Make const correct.
- 	* toplev.c (debug_define, debug_undef): Similarly.  Do not
- 	perform the verbosity tests here anymore.
- 
- 2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload.c (subst_reloads): Take INSN argument.  When
- 	replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
- 	* reload.h (subst_reloads): Adjust prototype.
- 	* reload1.c (reload_as_needed): Pass INSN to subst_reloads.
- 	* jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
- 	present in JUMP_INSNs and copy them to JUMP_LABEL.
- 	* flow.c (find_label_refs, find_basic_blocks_1): Skip
- 	JUMP_INSNs and insns with REG_LABELs that are followed by
- 	JUMP_INSNs with the same REG_LABEL.
- 	* sched-rgn.c (is_cfg_nonregular): Likewise.
- 	* rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
- 	note is available.
- 	* unroll.c (unroll_loop): Look for REG_LABEL notes in
- 	JUMP_INSNs too.
- 	* rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.
- 
- 2001-01-06  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (scan_loop): Use xcalloc for the regs array.
- 	(load_mems_and_recount_loop_regs_set): Zero the new memory
- 	received from xrealloc.
- 
- 2001-01-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* mkdeps.c (deps_add_dep): Fix vector re-allocation.
- 
- Sat Jan  6 00:09:34 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* integrate.c (copy_rtx_and_substitute): When copying
- 	an ignored return value, strip REG_FUNCTION_VALUE_P.
- 
- 2001-01-06  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (debug_biv, debug_giv): New.
- 	(loop_biv_dump): Break out from ...
- 	(record_biv): ... here.
- 	(loop_giv_dump): Break out from ...
- 	(record_giv): ... here.
- 	(loop_bivs_check): Use print_simple_rtl.
- 	* unroll.c (loop_iterations): Use print_simple_rtl.
- 
- 2000-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (return, return_internal): Modify patterns to prevent regrename
- 	mucking with the return pointer.
- 
- 2001-01-05  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
- 
- Fri Jan  5 16:34:18 2001  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
- 	version supplied by Matteo Frigo.
- 
- 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update for -MQ.
- 	* cppinit.c (cpp_create_reader): Always create pfile->deps.
- 	(cpp_cleanup): Always free pfile->deps.
- 	(initialize_dependency_output): Don't create pfile->deps.
- 	(cpp_handle_option): Similarly.
- 	(OPT_MQ): New.
- 	* gcc.c (cpp_options): Handle -MQ.
- 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
- 	* mkdeps.c (base_name): Remove.
- 	(deps_init): Don't allocate vector space until it's needed.
- 	(deps_free): Only free vectors if allocated.
- 	(deps_add_target, deps_add_dep): Update for initial allocation.
- 	(deps_add_default_target): Don't strip to the base_name.
- 
- 2001-01-05  DJ Delorie <dj@redhat.com>
- 
- 	* config/v850/v850.h (RETURN_ADDR_RTX): Define.
- 	(INIT_EXPANDERS): Define.
- 
- 	* config/v850/v850.c (struct machine_function): Define.
- 	(v850_save_machine_status): New function.
- 	(v850_restore_machine_status): New function.
- 	(v850_return_addr): New function.
- 	(v850_init_expanders): New function.
- 
- 	* config/v850/v850-protos.h: Add prototypes for v850_return_addr
- 	and v850_init_expanders.
- 
- 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* cpplib.h (struct cpp_reader): Add help_only field.
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
- 	(cpp_handle_option): Set pfile->help_only if we see -h,
- 	--help, -target-help, or --version.  Print version string but
- 	do not set help_only if we see -v or -version.  Make text
- 	printed by -v match that printed by (-)-version.
- 
- 	* cppmain.c (main): Exit after option parsing if
- 	pfile->help_only is true.
- 
- 	* toplev.c (independent_decode_option): Call print_version,
- 	then exit, if we see --version (but not -version).
- 	(print_version): Split lengthy message into two lines.
- 
- 2001-01-05  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/v850/v850.c (v850_encode_data_area): Use alloca to create
- 	temporary string for initialisation before calling ggc_alloc_string.
- 
- 2001-01-06  Michael Hayes  <mhayes@redhat.com>
- 
- 	* rtl.h (print_simple_rtl): New.
- 	* print-rtl.c (print_simple_rtl): New.
- 	(flag_simple): New.
- 	(print_rtx): Disable printing of flags and modes, etc.,
- 	if `flag_simple` nonzero.
- 
- 2001-01-05  Zack Weinberg  <zack@wolery.stanford.edu>
- 
- 	* function.c (fixup_var_refs): Use push_to_full_sequence where
- 	possible.
- 
- 2001-01-05  Michael Meissner  <meissner@redhat.com>
- 
- 	* flags.h (flag_reorder_blocks): Add declaration.
- 	(flag_rename_block): Ditto.
- 
- 2001-01-05  DJ Delorie  <dj@redhat.com>
- 
- 	* function.c (reorder_blocks): Make sure the flags are all reset
- 	before using them to mark blocks, else a second invocation will
- 	corrupt the block chain.
- 	(reorder_blocks_0): New, resets the flags.
- 
- Fri Jan  5 20:34:06 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* cse.c (find_comparison_args): Stop if the argument is known to
- 	be constant.
- 
- 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (movdf): When splitting load into pair of
- 	registers, don't clobber the register used in the address too
- 	early.
- 
- 2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* varasm.c (mark_constant_pool): Improve initial comments.
- 	(mark_constants): Move marking of constants to mark_constant.
- 	(mark_constant): New function to recursively mark all constants
- 	referred to by a constant.
- 
- 2001-01-05  Catherine Moore  <clm@redhat.com>
- 
- 	* dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
- 
- 2001-01-05  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* cp/lang-options.h:  Bring comment in line with reality.
- 	* f/lang-options.h:  Likewise.
- 	* java/lang-options.h:  Likewise.
- 	* objc/lang-options.h:  Likewise.
- 	* ch/lang-options.h:  Likewise.
- 	* f/g77.texi:  And update the manual.
- 
- 2001-01-05  Marek Michalkiewicz  <marekm@linux.org.pl>
- 	    Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
- 	* config/avr/avr.c (avr_peep2_scratch_safe): New function.
- 	* config/avr/avr.md (all peepholes that request a scratch register):
- 	Call it, FAIL the peephole if not safe (in interrupt functions).
- 
- 2001-01-05  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
- 
- 2001-01-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
- 	Define.
- 	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
- 	BUILT_IN_CREAL and BUILT_IN_CIMAG.
- 	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
- 	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
- 	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
- 	BUILT_IN_CIMAG.
- 	* extend.texi: Document these builtins.
- 
- 2001-01-05  Daniel Berlin  <dberlin@redhat.com>
- 
- 	* c-common.c (lang_get_alias_set): Say we know nothing of
- 	VECTOR_TYPE aliasing.
- 
- 	* dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
- 
- 2001-01-05  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
- 	their x* equivalent versions for atexit-less systems
- 	* fixinc/fixincl.c(main): do not return from main() on atexit-less
- 	systems (or any other system any more).
- 
- 2001-01-05  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (ldmsi_postinc): Avoid use of match_dup between input and
- 	output operands.  Use arm_hard_register_operand for operand 4.
- 	(stmsi_postinc): Similarly.
- 	(ldmsi): Use arm_hard_register_operand for opernand 2.
- 	(stmsi): Similarly.
- 	* arm.c (arm_hard_register_operand): New function.
- 	* arm-protos.h (arm_hard_register_operand): Prototype it.
- 
- 	* arm.h (HARD_REGNO_RENAME_OK): Define.
- 
- Fri Jan  5 16:29:49 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (cfc_args): add "unordered" field.
- 	(check_fold_consts): Set unordered field.
- 	(simplify_relational_operation): Simplify the unordered
- 	comparisons.
- 
- 	* reg-stack.c (swap_rtx_condition): Ensure that the transformation
- 	is valid.
- 
- 	* emit-rtl.c (try_split): Fix code to mark labels.
- 	* jump.c (mark_jump_label): Make global.
- 	* rtl.h (mark_jump_label): Declare.
- 
- 	* predict.c (estimate_probability): Handle unordred comparisons.
- 
- 2001-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update for -MP.  Clarify behavior of -MT.
- 	* cppinit.c (initialize_dependency_output):  Update.
- 	(cpp_finish): Output dummy targets for -MP.
- 	(OPT_MP): New.
- 	(cpp_handle_option): Handle -MP.  Don't quote -MT options.
- 	* cpplib.h (struct cpp_options): Add deps_phony_targets.
- 	* gcc.c (cpp_options): Update to handle -MP.
- 	* mkdeps.c (deps_add_target, deps_add_default_target): Update
- 	to quote only the default target.
- 	(deps_phony_targets): Insert a preceding newline.  Rename from
- 	deps_dummy_targets for consistency.
- 	* mkdeps.h: Update
- 
- 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* calls.c (emit_library_call_value_1): Support
- 	INIT_CUMULATIVE_LIBCALL_ARGS.
- 	* tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
- 
- 2001-01-04  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (finish_struct): Detect flexible array members
- 	used in an inappropriate context.
- 	* c-typeck.c (really_start_incremental_init): Special case
- 	constructor_max_index for zero length arrays.
- 	(pop_init_level): Allow initialization of flexible array
- 	members.  Deprecate initialization of zero length arrays.
- 	Don't issue missing initializer warning for flexible array
- 	members or zero length arrays.
- 	(process_init_element): Don't dereference null DECL_SIZE.
- 	* varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
- 	Don't abort for empty constructors.  Use size_binop
- 	(output_constructor): Add commentary regarding zero length
- 	array futures.  Abort if we try to initialize an array of
- 	unspecified length with a non-empty constructor in the middle
- 	of a structure.
- 
- 	* extend.texi (Zero Length): Update and clarify documentation
- 	on static initialization.
- 
- 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
- 	with more than 32767 words of local storage.
- 
- 2001-01-05  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
- 	for 'abs', 'labs', and 'fabs'.
- 	(c4x_expand_builtin): Likewise.
- 	* config/c4x/c4x.h (enum c4x_builtins): Likewise.
- 
- 2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (prget, prset): New insn types.
- 	(return delay slot): Don't allow prset.
- 	(call, sfunc delay slot): Don't allow prget.
- 	(movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
- 	for prset and prget.
- 
- 2001-01-05  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.h (struct loop_reg): New.
- 	(struct loop_regs): Change to use array of `struct loop_reg'.
- 	* loop.c: Replace assortment of varrays with single regs array.
- 	(count_one_set): Delete may_not_move array argument
- 	and use regs array instead.  All caller's changed.
- 	(count_loop_regs_set): Delete may_not_move and single_usage
- 	arguments and use regs array instead.  All caller's changed.
- 	(find_single_use_in_loop): Replace usage array argument with pointer
- 	to regs structure.  All caller's changed.
- 	(loop_optimize): Delete `moved_once' array.
- 
- 2001-01-05  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (prescan_loop): Set loop_info->has_nonconst_call.
- 	Use it instead of loop_info->has_call for scanning loop mems.
- 	(check_dbra_loop): Replace loop_info->has_call test with
- 	loop_info->has_nonconst_call.
- 
- 2000-01-04  Matthew Hiller  <hiller@redhat.com>
- 
- 	* config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
- 	for TARGET_SH3E.
- 
- 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
- 	use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
- 
- 2001-01-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
- 	(flag_short_double, flag_short_wchar): Define.
- 	(c_common_nodes_and_builtins): Create many tree nodes shared
- 	between C and C++ here instead of in cp/decl.c and ...
- 	* c-decl.c (init_decl_processing): ... here.
- 	(SIZE_TYPE, WCHAR_TYPE): Don't define.
- 	(flag_short_double, flag_short_wchar): Don't define.
- 	(record_builtin_type): New function.
- 	(build_void_list_node): New function.
- 	* c-common.h (flag_short_double, flag_short_wchar,
- 	record_builtin_type, build_void_list_node): Declare.
- 
- Thu Jan  4 21:09:47 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* integrate.c (expand_inline_function): Don't put a virtual
- 	register into the reg map.
- 
- 	* function.c (fixup_var_refs_1): If force_operand didn't put
- 	the address into the target, move it there.
- 
- 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Special-case tree_decl/tree_list allocations.
- 	* ggc-page.c (OBJECT_PER_PAGE): Reimplement.
- 	(OBJECT_SIZE): New macro.
- 	(NUM_EXTRA_ORDER): Likewise.
- 	(extra_order_size_table): New variable.
- 	(NUM_ORDERS): New macro.
- 	(objects_per_page_table): New variable.
- 	(object_size_table): New variable.
- 	(G.pages): Use NUM_ORDERS to bound the array.
- 	(G.page_tails): Likewise.
- 	(DIV_ROUND_UP): Remove.
- 	(BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
- 	(alloc_page): Use OBJECT_SIZE.
- 	(size_lookup): Don't make it const.
- 	(ggc_alloc): Use OBJECT_SIZE.
- 	(ggc_set_mark): Likewise.
- 	(ggc_get_size): Likewise.
- 	(init_ggc): Set up the object_size_table, objects_per_page_table,
- 	and adjust size_lookup.
- 	(ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
- 	(ggc_pop_context): Use NUM_ORDERS.
- 	(clear_marks): Likewise.
- 	(sweep_pages): Likewise.
- 	(poison_pages): Likewise.
- 	(ggc_print_statistics): Use OBJECT_SIZE.
- 
- Thu Jan  4 15:54:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
- 	Only call array_size_for_constructor if last field and array type
- 	with no upper bound.
- 
- 2001-01-04  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (arm_gen_constant): Prefer to emit constants
- 	from bit 31 downwards, if this requires no more insns.
- 	(count_insns_for_constant): New helper function for above.
- 
- 2001-01-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gencodes.c (output_predicate_decls): Remove empty initializer.
- 
- 2001-01-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.c (copy_node): Remove documentation about obstacks.
- 	(buidl1): Check that nobody tries to build 2-argument nodes this
- 	way.
- 
- 2001-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
- 	fp_high_losum_p.
- 
- 	* gencodes.c (output_predicate_decls): Fill empty initializer
- 	braces.
- 
- 2001-01-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tradcpp.c (deps_file, print_deps_missing_files): New variables.
- 	(main): Handle -MG, -MD, -MMD.  Bail out if -MG is given without -M
- 	or -MM.
- 	(do_include): Handle missing headers like cpp0.
- 	* cppfiles.c (_cpp_execute_include): Don't prefix absolute header
- 	paths with first include pathname.  Don't strcat to uninitialized
- 	string.
- 
- 2001-01-04  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* regrename.c (regrename_optimize): Don't rename from frame pointer
- 	if frame_pointer_needed.
- 	(do_replace): Don't set ORIGINAL_REGNO to a hard register number.
- 	* config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
- 	(ia64_reorg): Use it instead of scheduling if ! optimize.
- 	(errata_emit_nops): Properly call asm_noperands.
- 	(ia64_sched_reorder): Finish cycle if we see an asm.
- 	(ia64_variable_issue): Clear scheduling state after asms.
- 
- 2001-01-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpp.texi: Update for -MT.
- 	* cppinit.c (initialize_dependency_output): Add a default
- 	target if none has been given already.
- 	(no_tgt, OPT_MT): New.
- 	(cpp_handle_option): Handle -MT.  Update -M etc.
- 	* cpplib.h (struct cpp_options): Remove deps_target.
- 	* gcc.c (cpp_options): Handle -MT.
- 	* mkdeps.c (struct deps): Move from mkdeps.h.
- 	(deps_calc_target): Rename deps_add_default_target.  Add a
- 	default target if none has been specified already.
- 	* mkdeps.h (struct deps): Move to mkdeps.c.
- 	(deps_calc_target): Rename deps_add_default_target.
- 
- 2000-01-03  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Give zero-length arrays size zero.
- 	Remove dead code.
- 	* c-typeck.c (push_init_level): Move checks for flexible array
- 	members and zero length arrays ...
- 	(pop_init_level): ... here.  Silently discard empty initializations.
- 	Remove dead code.
- 	* varasm.c (output_constructor): Update for sizeof change to
- 	zero-length arrays.
- 
- 	* extend.texi (Zero Length): Clarify semantics.
- 
- 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (tm.h): Include isns-codes.h last.
- 	* configure: Rebuilt.
- 
- 2001-01-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (addvsi3, addvdi3): New.
- 	(negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
- 
- 2001-01-03  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* tradcpp.c (main): Make sure finclude() is called with a valid
- 	indepth value while handling -include.
- 
- 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gencodes.c (output_predicate_decls): New function.
- 	(main): Call it.
- 	* machmode.h (GET_MODE_MASK): Arrange for it to be defined
- 	even if it is not the first time machmode.h is #included.
- 	* config/sh/sh.c (fpul_operand): Declare MODE argument.
- 	* tm.texi (PREDICATE_CODES): Document predicate declarations.
- 	* gcc.texi (Copyright): Added 2001.
- 
- 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (c_common_lang_init): New function.  Warn if format
- 	warning options which only have effects when used with -Wformat
- 	are used without -Wformat.
- 	* c-common.h (c_common_lang_init): Declare.
- 	* c-lang.c (lang_init): Call c_common_lang_init.
- 	* objc/objc-act.c (lang_init): Call c_common_lang_init.
- 
- 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Check for the mktemp command.
- 	* configure: Regenerate.
- 	* gccbug.in: Use a separate temporary file $TEMP0 for one use of
- 	$TEMP.  Create temporary files with mktemp, if available at
- 	configure time; otherwise use set -C.  Remove temporary files
- 	before exit.
- 
- 2001-01-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Require at least texinfo 4.0.  Check for whether
- 	Pod::Man is sufficiently recent to regenerate GCC manpages.
- 	* configure:  Regenerate.
- 	* Makefile.in (TEXI2POD): Call perl explicitly rather than relying
- 	on #!.
- 	(GENERATED_MANPAGES): Define.
- 	(generated-manpages): New target.  Depend on cpp.1 as well as
- 	gcov.1.
- 	(install-man): Depend on $(GENERATED_MANPAGES) (defined by
- 	configure to generated-manpages or empty) rather than on the
- 	manpages directly.  Remove execute permission from installed
- 	gcov.1 as well as cpp.1.
- 	* cpp.1, gcov.1: Regenerate.
- 
- 2001-01-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strncmp): Use host_integerp and
- 	tree_low_cst.  Allow using cmpstrsi in more cases.
- 
- Wed Jan  3 10:48:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
- 	sized types.
- 
- Wed Jan  3 12:22:32 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
- 	* Makefile.in (HOST_CFLAGS): Mention build-make.
- 
- Wed Jan  3 08:53:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
- 	as JUMP_INSN.
- 
- 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* builtins.c (expand_builtin_return_addr): Don't use MEM_ALIAS_SET on
- 	a REG rtx.
- 
- 	* cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg.  All
- 	callers changed.
- 
- 	* alias.c (throughout): Use ORIGINAL_REGNO when accessing
- 	reg_base_value and reg_known_value arrays.
- 	(init_alias_analysis): Add more cases to detect known values.
- 	* sched-deps.c (deps_may_trap_p): New function.
- 	(sched_analyze_2): Use it.
- 
- 2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (simplify_shift_const): Even if we're sign-extracting,
- 	don't discard an ASHIFTRT if we're shifting in a wider mode.
- 
- 2000-01-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* toplev.c (rest_of_compilation): Don't print basic block information
- 	when CFG isn't up to date.
- 
- 2001-01-02  Mark Elbrecht  <snowball3@bigfoot.com>
- 
- 	* config/i386/djgpp.h (DWARF2_DEBUGGING_INFO): Define.
- 	(UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_ASM_OP): Define.
- 	(UNALIGNED_SHORT_ASM_OP): Define.
- 	(CPP_PREDEFINES): Remove defines for GO32 and DJGPP.
- 
- 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fold-const.c (fold_convert): Fix typo.
- 
- 2001-01-02  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (ASM_INPUT_P): New.
- 	* c-parse.in (asm): Set it when needed.
- 	* c-semantics.c (genrtl_asm_stmt): Test it instead of the
- 	existence of an operand.
- 
- Tue Jan  2 20:27:07 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* dwarf2out.c (stack_adjust_offset): Handle PRE_MODIFY.
- 	(dwarf2out_frame_debug_expr): Likewise.
- 	(mem_loc_descriptor): Handle PRE and POST_MODIFY.
- 
- Tue Jan  2 20:21:31 MET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_split_to_parts): Return number of part required;
- 	handle TFmodes.
- 	(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
- 	TFmodes.
- 	(ix86_split_long_move): Use number of part returned
- 	by ix86_split_to_parts
- 	* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
- 	New macros.
- 	(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
- 	(LONG_DOUBLE_TYPE_SIZE): Change from constant.
- 	(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
- 	(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
- 	(ALIGN_MODE_128): Add TFmode.
- 	(IS_STACK_MODE): Likewise.
- 	(HARD_REGNO_NREGS): TFmode needs 3 registers.
- 	(HARD_REGNO_OK): Support TFmodes.
- 	(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
- 	* i386.md (scheduler definitions): Use memory operand to determine
- 	fst/fld instructions; use mode attribute to determine real mode of
- 	the instruction.
- 	(*tf): New patterns, expanders and splitters; based on XFmode patterns.
- 	* invoke.texi (128bit-long-double, 96bit-long-double): Document.
- 
- 2001-01-02  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* tree.def (TRUTH_NOT_EXPR): Improve documentation.
- 
- Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
- 
- 	* expr.c (store_constructor_field): Update ALIGN before calling
- 	store_constructor.
- 
- 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* config/mips/mips.c (function_arg): Don't pass NULL_TREE to
- 	host_integerp.
- 
- 2001-01-02  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* tm.texi (FUNCTION_ARG): Document that @var{type} can be an
- 	incomplete type.
- 
- Tue Jan  2 10:47:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
- 
- 	* c-decl.c (start_function): Don't warn on third parameter to main.
- 
- 2001-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tsystem.h: Define HAVE_DECL_GETOPT.
- 
- 2001-01-02  Philip Blundell  <pb@futuretv.com>
- 
- 	* config/arm/linux-gas.h (CLEAR_INSN_CACHE): Avoid illegal clobber
- 	of input operand.
- 
- 2001-01-02  Richard Henderson  <rth@redhat.com>
- 
- 	* alpha.md (*ze_and_ne): Duplicate insn condition to split.
- 
- 2001-01-02  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-decl.c (c_decode_option): Remove support of
- 	-Wmissing-noreturn.
- 
- 	* toplev.c (documented_lang_options): Remove -Wmissing-noreturn.
- 	(W_options): Add -Wmissing-noreturn here.
- 
- 	* flow.c: Define lang_missing_noreturn_ok_p.
- 	(check_function_return_warnings): Use it.
- 
- 	* c-common.h: Declare lang_missing_noreturn_ok_p.
- 
- 	* c-lang.c (c_missing_noreturn_ok_p): New function.
- 	(lang_init): Set lang_missing_noreturn_ok_p.
- 
- 	* invoke.texi (Warning Options): Document this.
- 
- 2000-12-27  Phil Edwards  <pme@sources.redhat.com>
- 
- 	* extend.texi (C++ Extensions):  New node for C++ attributes;
- 	describe init_priority and com_interface.
- 	* invoke.texi:  Remove -finit-priority as it now has zero effect.
- 	* install.texi:  Fix xref syntax.
- 	* md.texi:  Likewise.
- 
- Mon Jan  1 21:28:29 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config.gcc (sparc64-wrs-vxworks*): New case.
- 	* config/sparc/vxsparc64.h, config/sparc/t-vxsparc64: New files.
- 
- 	* config/sparc/sparc.c (sparc_override_options): Do support different
- 	pointer and architecture size.
- 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
- 	(POINTERS_EXTEND_UNSIGNED): Define.
- 	(Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
- 	(FUNCTION_MODE): Define to be Pmode.
- 	* config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
- 
- 	* function.c (expand_function_end): Properly handle DECL_RESULT
- 	and copy when ptr_mode != Pmode.
- 	* expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
- 
- 2001-01-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_common_nodes_and_builtins): Set prototype
- 	parameters for __builtin_fputs, __builtin_fputc and
- 	__builtin_fwrite.  Don't declare plain fputc as a builtin.
- 
- 2001-01-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* loop.c (add_label_notes): Increment the label usage count when
- 	a note is added to an insn which refers to a CODE_LABEL.
- 	* gcse.c (add_label_notes): Likewise.
- 
- 2001-01-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* loop.c (scan_loop): Use xmalloc to allocate movables.
- 
- 2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tm.texi (REGISTER_MOVE_COST): Add a mode argument.
- 	* reload.c (REGISTER_MOVE_COST): Likewise.  Adjust all callers.
- 	* reload1.c (REGISTER_MOVE_COST): Likewise.
- 	* regclass.c (REGISTER_MOVE_COST): Likewise.
- 	(move_cost, may_move_in_cost, may_move_out_cost): Add mode
- 	dimension.  Adjust all users.
- 	(init_reg_sets_1): Iterate on all modes.
- 	* config/1750a/1750a.h (REGISTER_MOVE_COST): Adjust.
- 	* config/a29k/a29k.h (REGISTER_MOVE_COST): Adjust.
- 	* config/alpha/alpha.h (REGISTER_MOVE_COST): Adjust.
- 	* config/arc/arc.h (REGISTER_MOVE_COST): Adjust.
- 	* config/arm/arm.h (REGISTER_MOVE_COST): Adjust.
- 	* config/avr/avr.h (REGISTER_MOVE_COST): Adjust.
- 	* config/c4x/c4x.h (REGISTER_MOVE_COST): Adjust.
- 	* config/d30v/d30v.h (REGISTER_MOVE_COST): Adjust.
- 	* config/dsp16xx/dsp16xx.h (REGISTER_MOVE_COST): Adjust.
- 	* config/h8300/h8300.h (REGISTER_MOVE_COST): Adjust.
- 	* config/i386/i386.h (REGISTER_MOVE_COST): Adjust.
- 	* config/ia64/ia64.h (REGISTER_MOVE_COST): Adjust.
- 	* config/m32r/m32r.h (REGISTER_MOVE_COST): Adjust.
- 	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Adjust.
- 	* config/m68k/m68k.h (REGISTER_MOVE_COST): Adjust.
- 	* config/mcore/mcore.h (REGISTER_MOVE_COST): Adjust.
- 	* config/mips/mips.h (REGISTER_MOVE_COST): Adjust.
- 	* config/mn10200/mn10200.h (REGISTER_MOVE_COST): Adjust.
- 	* config/mn10300/mn10300.h (REGISTER_MOVE_COST): Adjust.
- 	* config/ns32k/ns32k.h (REGISTER_MOVE_COST): Adjust.
- 	* config/pa/pa.h (REGISTER_MOVE_COST): Adjust.
- 	* config/pdp11/pdp11.h (REGISTER_MOVE_COST): Adjust.
- 	* config/pj/pj.h (REGISTER_MOVE_COST): Adjust.
- 	* config/romp/romp.h (REGISTER_MOVE_COST): Adjust.
- 	* config/rs6000/rs6000.h (REGISTER_MOVE_COST): Adjust.
- 	* config/sh/sh.h (REGISTER_MOVE_COST): Adjust.
- 	* config/sparc/sparc.h (REGISTER_MOVE_COST): Adjust.
- 
- 2001-01-01  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* alias.c (fixed_scalar_and_varying_struct): Adjust prototype of
- 	arg VARIES_P.  Call it with extra arg.
- 	(true_dependence): Likewise.
- 	* rtl.h (rtx_addr_can_trap_p): Declare.
- 	(rtx_varies_p, rtx_addr_varies_p, true_dependence): Update
- 	prototypes.
- 	* rtlanal.c (rtx_addr_can_trap_p): No longer static.
- 	(rtx_varies_p): Accept extra arg FOR_ALIAS; only disallow
- 	pic offset table register if it's zero.  All callers changed.
- 	(rtx_addr_varies_p): Accept extra arg FOR_ALIAS; all callers changed.
- 
- Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (convert_memory_address, case SYMBOL_REF): Copy
- 	STRING_POOL_ADDRESS_P.
- 
- 	* config/sparc/sparc.c (input_operand): Properly test for short op.
- 
- 	* config.gcc (sparc-*-elf): Include sparc/sol2.h.
- 	(sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
- 	(sparclite-*-elf*, sparc86x-*-elf*): Likewise.
- 	* config/sparc/elf.h: No longer include sol2.h.
- 	* config/sparc/lifeelf.h: No longer include sparc/elf.h.
- 	* config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
- 
- 	* config/sparc/sparc.md: Test TARGET_ARCH64 instead of TARGET_PTR64.
- 
- 2001-01-01  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (check_insn_for_bivs): Use ivs->n_regs to check array bounds.
- 	(find_mem_givs, record_biv, maybe_eliminate_biv): Likewise.
- 	(record_initial): Likewise.
- 	* unroll.c (copy_loop_body, loop_iterations): Likewise.
- 	(remap_split_bivs): Likewise.
- 
- 2001-01-01  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.c (loop_ivs_free): New function.
- 	(strength_reduce): Break out from...
- 
- 2001-01-01  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.h (struct iv): New.
- 	(REG_IV_TYPE, REG_IV_CLASS, REG_INFO): Modify to use 'struct iv'.
- 	(struct loop_ivs): Replace 'reg_iv_type', 'reg_iv_info',
- 	'reg_biv_class' fields with 'regs' and 'n_regs'.
- 	(struct ivs): Rename 'loop_iv_list' field to 'list'.
- 	* loop.c (loop_bivs_find, strength_reduce): Use ivs->regs array.
- 	* unroll.c (loop_iterations): Check array bounds with ivs->n_regs.
- 
- 2000-12-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* resource.c (mark_referenced_resources): Abort() before
- 	attempting to mark a pseudo register.
- 	(mark_set_resources): Likewise.
- 
- 2001-01-01  Michael Hayes  <mhayes@redhat.com>
- 
- 	* loop.h (REG_IV_CLASS): New accessor macro.
- 	* loop.c (REG_IV_CLASS): Use it instead of reg_iv_class array.
- 	* unroll.c (REG_IV_CLASS): Likewise.
- 
- See ChangeLog.4 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.6 gcc-4.1.0/gcc/ChangeLog.6
*** gcc-4.0.2/gcc/ChangeLog.6	Tue Jul  1 13:10:25 2003
--- gcc-4.1.0/gcc/ChangeLog.6	Thu Jan  1 00:00:00 1970
***************
*** 1,19208 ****
- 2001-12-31  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (mark_reg_gr_used_mask): Mind HARD_REGNO_NREGS.
- 
- 2001-12-31  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (build_def_use): Don't rename asm operands that
- 	were originally hard registers.
- 	(copyprop_hardreg_forward_1): Likewise.
- 	(find_oldest_value_reg): Copy ORIGINAL_REGNO from source.
- 	* varasm.c (make_decl_rtl): Use gen_rtx_raw_REG.  Set ORIGINAL_REGNO.
- 
- 2001-12-31  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (HAS_INIT_SECTION, NEED_ATEXIT): Remove.
- 	(NAME__MAIN, SYMBOL__MAIN): Define.
- 
- 2001-12-31  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c (delete_insn): Check for not NOTE_INSN_DELETED_LABEL
- 	before decrementing LABEL_NUSES from a jump table.
- 
- 	* final.c (alter_subreg): Assign REGNO after changing the rtx code.
- 
- 	* config/alpha/alpha.c (reg_no_subreg_operand): Reject all
- 	non-registers.
- 
- 2001-12-31  Graham Stott  <grahams@redhat.com>
- 
- 	* halfpic.h: Remove foward defs of tree_node and rtx_def.
- 
-         * toplev.h: Remove forward def of tree_node, rtx_def.
- 
- 	* except.h: Remove forward def of tree_node, rtx_def and
- 	define of tree, rtx. Also remove undefs.
- 
- 	* basic-block.h: Remove forward def of tree_node and
- 	define of tree.
- 
- 2001-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* cfglayout.c (scope_def, scope_forest_info, forest,
- 	relate_bbs_with_scopes, make_new_scope, build_scope_forest,
- 	remove_scope_notes, insert_intra_before_1, insert_intra_1,
- 	insert_intra_bb_scope_notes, insert_inter_bb_scope_notes,
- 	rebuild_scope_notes, free_scope_forest_1, dump_scope_forest,
- 	dump_scope_forest_1, get_next_bb_note, get_prev_bb_note): Remove.
- 	(fixup_reorder_chain): Don't set scope for bb.
- 	(insn_scopes, scope_to_insns_initialize, set_block_levels,
- 	change_scope, scope_to_insns_finalize): New.
- 	(cfg_layout_initialize, cfg_layout_finalize): Update to match.
- 	* cfglayout.h (scope_def, scope): Remove.
- 	(reorder_block_def): Remove scope member.
- 	(scope_to_insns_initialize, scope_to_insns_finalize): Declare.
- 	* haifa-sched.c: Revert reemit_other_notes change.
- 	* sched-ebb.c (schedule_ebbs): Don't call remove_unnecessary_notes.
- 	Use scope_to_insns_initialize and scope_to_insns_finalize.
- 	* sched-rgn.c (schedule_insns): Likewise.
- 
- 2001-12-31  Graham Stott  <grahams@redhat.com>
- 
- 	* c-lex.c: Include tree.h before expr.h
- 
- 	* c-typeck.c: Include rtl.h earlier.
- 
- 	* tree.h (STRIP_NOPS): Remove extraneous semicolon.
- 	(STRIP_SIGN_NOPS): Likewise.
- 	(STRIP_TYPE_NOPS): Likewise.
- 	(COMPLETE_OR_UNBOUND_ARRAY_TYPE_P): Add Parenthesis around
- 	macro paramater.
- 
- 	* final.c (struct bb_list): Delete.
- 	(struct bb_str): Likewise.
- 
- 	* cfgloop.c (flow_loop_entry_edges_find): Fix typo.
-         (flow_loop_exit_edges_find): Likewise.
- 
- 	* gcse.c (gcse_main): Fix typos.
- 	(alloc_gcse_mem): Likewise.
- 
- 	* function.h: Remove undefs for rtx and tree.
- 
- 2001-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (check_dbra_loop): Fix last change: examine both
- 	has_multiple_exit_targets and exit_count.
- 
- 2001-12-30  Richard Henderson  <rth@redhat.com>
- 
- 	* integrate.c (copy_rtx_and_substitute): Fix error last change:
- 	we need to unconditionally create a new mem.
- 
- 2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("*call_real"): Fix typo in comment.
- 	* config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
- 	to mmix_extra_constraint.
- 	* config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
- 	non-global register classes.  Mark now unused parameters as such.
- 	(mmix_extra_constraint, 'U'): Use new parameter strict and call
- 	calling memory_operand_p or strict_memory_address_p, not
- 	address_operand.
- 	* config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
- 
- 2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* unroll.c: Move include files above first use of `const'.
- 
- 2001-12-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
- 	to fail if target is EXIT_BLOCK_PTR, die otherwise.
- 	(redirect_edge_and_branch): Likewise.
- 	* cfgcleanup.c (try_forward_edge): Don't force jump redirecting
- 	if target is EXIT_BLOCK_PTR.
- 
- 2001-12-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
- 	gcc invoked with -shared.
- 
- 2001-12-29  Graham Stott  <grahams@redhat.com>
- 
-         * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
- 
-         (override_options): Delete abs macro unused.
- 
-         (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
-         when testing ASSEMBLER_DIALECT.
- 
-         (print_reg): Likewise.
-         (print_operand): Likewise.
-         (print_operand_address): Likewise.
-         (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
- 
-         * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
- 
-         (FIND_BASE_TERM): Fix typo.
- 
- Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_field): Use adjust_address, not PUT_MODE.
- 	(expand_expr, case VIEW_CONVERT_EXPR): Likewise.
- 	* reload1.c (eliminate_regs, case SUBREG): Likewise, but use
- 	adjust_address_nv.
- 	* varasm.c (make_decl_rtl): Likewise.
- 	* integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
- 	replace_equiv_address_nv.
- 
- 	* varasm.c (decode_addr_const, case INTEGER_CST): Call
- 	output_constant_def instead of looking at TREE_CST_RTL.
- 
- 	* expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
- 
- 	* stor-layout.c (layout_decl): Don't misalign field of variable size
- 	for packed record.
- 
- 	* dwarf2out.c (compute_section_prefix): Avoid cast warning.
- 	(gen_decl_die): Only check DECL_IGNORED_P on decls.
- 	(dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
- 
- 2001-12-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cfglayout.c (insert_intra_before_1): New.
- 	(insert_inter_bb_scope_notes): Emit sibling block notes which don't
- 	span multiple basic blocks.
- 
- 2001-12-29  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (prescan_loop): Set has_multiple_exit_targets for exception
- 	edges.  Rearrange jump interpretation code to use pc_set.
- 	(check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
- 
- 	* sched-deps.c (sched_analyze_insn): Set scheduling barrier for
- 	all insns that can throw, not just if flag_non_call_exceptions.
- 
- 2001-12-29  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
- 	(default_constant_string_class_name): New global.
- 	(objc_init): Set it.
- 	(synth_module_prologue): Use it.
- 
- 	* objc/objc-act.c: Apply various cosmetic and formatting changes.
- 
- 2001-12-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/rs6000/darwin-tramp.asm: Fix comment formatting.
- 	* config/rs6000/freebsd.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 
- 2001-12-28  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (build_module_descriptor): Make sure the init
- 	function is not deferred.
- 	(build_dispatch_table_initializer): Compute the method encoding if
- 	not already done.
- 
- 2001-12-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/md.texi: Add @findex define_insn_and_split.
- 
- 2001-12-28  Hans Bohem  <hans_boehm@hp.com>
- 
- 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
- 	* config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
- 	bsp setup.  Set pri_unat_loc to something reasonable.
- 	(uw_install_context): Add missing cast.
- 	(unw_access_gr): Fix off-by-1 indexing error.
- 
- 2001-12-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* except.c: Fix comment formatting.
- 	* flags.h: Likewise.
- 	* flow.c: Likewise.
- 	* predict.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* system.h: Likewise.
- 	* vmsdbg.h: Likewise.
- 	* vmsdbgout.c: Likewise.
- 
- 2001-12-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Fix formatting.
- 
- 2001-12-28  Geoff Keating  <geoffk@redhat.com>
- 
- 	* varasm.c (record_constant_1): Correct parameter to recursive
- 	call in default case.
- 
- 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
- 	ASM_OUTPUT_DWARF_PCREL): Define.
- 	* config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	* configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
- 	.uaword %r_disp32() and linker handles it correctly.
- 	* configure, config.in: Rebuilt.
- 
- 2001-12-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (store_init_value): If initializing object with array
- 	type of unknown size by a compound literal, set object's size from
- 	compound literal size.
- 	* doc/extend.texi (Compound Literals): Adjust documentation.
- 
- 2001-12-28  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
- 	(endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
- 	(etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
- 	* real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
- 	INTEL_EXTENDED_IEEE_FORMAT.
- 
- 2001-12-27  Geoff Keating  <geoffk@redhat.com>
- 
- 	* combine.c (try_combine): Mask off sign bits when combining
- 	stores to the low and high parts of a two-word value.
- 
- 	* expr.c (expand_expr): Don't mark memory for non-constants as
- 	constant.
- 
- Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* integrate.c (copy_rtx_and_substitute, case MEM): If inlining
- 	and not for LHS, clear RTX_UNCHANGING_P.
- 
- 2001-12-28  Philipp Thomas  <pthomas@suse.de>
- 
- 	* cppfiles.c (stack_include_file): Don't translate <stdin>.
- 
- 2001-12-27  Roger Sayle <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
- 	when all arguments are known constant.  Fixes PR opt/3508.
- 
- 2001-12-27  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (two anonymous patterns): Remove.
- 
- 2001-12-27  Richard Henderson  <rth@redhat.com>
- 
- 	* haifa-sched.c (reemit_other_notes): New.
- 	(schedule_block): Use it.
- 	* sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
- 	* sched-rgn.c (schedule_insns): Likewise.
- 	* cfglayout.c (remove_scope_notes): Handle removing note at
- 	the end of the insn chain.
- 	* function.c (debug_find_var_in_block_tree): New.
- 
- 2001-12-27  Alan Modra  <amodra@bigpond.net.au>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
- 
- 2001-12-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* toplev.c (independent_decode_option): Re-add -aux-info option
- 	handling.
- 
- Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
- 	if special value.
- 
- 2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (is_ctor_dtor): Const-ify.
- 	* m88k-protos.h (output_file_start): Likewise.
- 	* m88k.c (m88k_lang_independent_options, output_options,
- 	output_file_start): Likewise.
- 	* fix-header.c (files_to_ignore, std_include_entry, include_entry,
- 	std_include_table, main): Likewise.
- 	* protoize.c (longopts): Likewise.
- 	* regclass.c (int_reg_class_contents): Likewise.
- 	* toplev.c (dump_file, f_options, W_options): Make static.
- 	(lang_independent_options, f_options, W_options): Const-ify.
- 	* tree-dump.c (dump_file_info): Likewise.
- 	* unroll.c (_factor): Make static.
- 
- Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (alpha_align_insns): Remove warning.
- 
- 	* config/sparc/sparc.md (call struct patterns): Show starting
- 	at two words long.
- 
- 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
- 	* sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
- 
- 2001-12-26  DJ Delorie  <dj@redhat.com>
- 
- 	* function.c (expand_main_function): Make sure stack adjustments
- 	happen before sjlj exception setup.
- 
- 2001-12-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (indirect_jump): Prefer CTR over LR.
- 	* xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
- 
- Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c: Reformatting and minor code rearrangement.
- 
- 2001-12-24  Douglas B. Rupp (rupp@gnat.com)
- 
- 	* configure.in (quoted_stage_prefix_set_by_configure): Generate.
- 	* configure: Regenerated.
- 	* Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
- 	quoted_stage_prefix_set_by_configure.
- 
- Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.h (in_expr_list_p): New declaration.
- 	* rtlanal.c (in_expr_list_p): New function.
- 	* cfgcleanup.c: Reformatting and minor code rearrangement.
- 	* cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
- 
- 2001-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5163:
- 	* c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
- 	we have a function body associated.  Minor cleanups.
- 	(grokdeclarator): Do not set DECL_INLINE without a function body.
- 
- 2001-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (resolve_operand_names): Handle operand modifiers.
- 
- 2001-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (parse_input_constraint): Break out from ...
- 	(expand_asm_operands): ... here.  Loop over the operands twice,
- 	the first time only calling mark_addressable.  Correct and simplify
- 	the conditions for spilling an output operand to memory.
- 
- 2001-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
- 
- 	* config/alpha/alpha.md (UNSPEC_SIBCALL): New.
- 	(sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
- 	(sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
- 
- 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (c_start_case): Don't strip conversions from the
- 	controlling expression.  Partially fixes PR c/2454.
- 
- 2001-12-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (USER_H): Remove proto.h.
- 	* config.gcc (c*-convex-*): Set extra_headers=proto.h.
- 
- 2001-12-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arc.c (arc_hard_regno_mode_ok): Const-ify.
- 	* arc.h (arc_hard_regno_mode_ok): Likewise.
- 	* i386.c (x86_64_reg_class_name): Make static.
- 	* m68k.c (regno_reg_class): Const-ify.
- 	* m68k.h (regno_reg_class): Likewise.
- 	* mcore.c (reg_class_from_letter): Likewise.
- 	* mcore.h (reg_class_from_letter): Likewise.
- 	* sh.c (reg_class_from_letter, ashiftrt_insns, shift_insns,
- 	ext_shift_insns, ext_shift_amounts): Likewise.
- 	* sh.h (reg_class_from_letter): Likewise.
- 	* sparc.c (hard_regno_mode_classes, hard_32bit_mode_classes,
- 	hard_64bit_mode_classes): Likewise.
- 	* sparc.h (hard_regno_mode_classes): Likewise.
- 
- 	* gcc.c (modify_target): Make static.
- 	* gengenrtl.c (defs, formats): Likewise.
- 	* reload1.c (elim_table_1, init_elim_table): Const-ify.
- 	* tradcpp.c (directive, directive_table, handle_directive,
- 	skip_if_group, run_directive): Likewise.
- 
- 2001-12-23  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (expand_call): Don't turn off ECF_LIBCALL_BLOCK for
- 	an invalid result register; do end the sequence properly.
- 	(emit_library_call_value_1): Likewise.
- 
- 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
- 
- 	* config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
- 
- 	* config/rs6000/rs6000.c: Clean up some spacing and indentation.
- 	(altivec_init_builtins): Add tree types for builtins with 4 bit
- 	literals.
- 	(bdesc_3arg): Add vsldoi variants.
- 
- 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.h (datalbl, jmplbl): Declare array size explicitly.
- 	* a29k.h (a29k_debug_reg_map): Likewise.
- 	* arc.h (arc_regno_reg_class): Likewise.
- 	* c4x-protos.h (c4x_regclass_map, c4x_caller_save_map): Likewise.
- 	* convex.h (regno_reg_class, reg_class_from_letter): Likewise.
- 	* d30v.h (regno_reg_class, reg_class_from_letter): Likewise.
- 	* i386.h (regclass_map): Likewise.
- 	* m32r.h (m32r_hard_regno_mode_ok, m32r_punct_chars): Likewise.
- 	* mcore.h (regno_reg_class): Likewise.
- 	* mips.h (mips_print_operand_punct, mips_char_to_class):
- 	Likewise.
- 	* ns32k.h (regclass_map): Likewise.
- 	* pj.h (pj_debugreg_renumber_vec): Likewise.
- 	* s390.h (regclass_map): Likewise.
- 	* sh.h (regno_reg_class): Likewise.
- 	* sparc.h (sparc_regno_reg_class): Likewise.
- 
- 	* hard-reg-set.h (reg_class_contents): Likewise.
- 	* machmode.h (class_narrowest_mode): Likewise.
- 
- 2001-12-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* loop.c (scan_loop, move_movables, count_one_set): Do not
- 	overlook hard registers when computing statistics.
- 
- Sun Dec 23 00:49:37 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (ECF_LIBCALL_BLOCK): New constant.
- 	(emit_call_1, initialize_argument_information,
- 	precompute_arguments, expand_call,
- 	emit_library_call_value_1): Use ECF_LIBCALL_BLOCK
- 	instead of ECF_PURE | ECF_CONST. Honnor LCT_CONST/LCT_PURE.
- 
- 2001-12-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc (extra_headers): Move settings to math-68881.h and
- 	ppc-asm.h to common code for CPU types.  Use math-68881.h on all
- 	m68k targets.
- 	(header_files): Remove unused setting.
- 
- 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* elxsi.c: Include "hard-reg-set.h" and/or don't declare
- 	`call_used_regs' explicitly.
- 	* i860.c: Likewise.
- 	* m68k.c: Likewise.
- 	* ns32k.c: Likewise.
- 	* pa.c: Likewise.
- 	* vax.c: Likewise.
- 	* we32k.c: Likewise.
- 
- Fri Dec 21 23:30:14 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (TARGET_CPU_DEFAULT_pentium_mmx): New.
- 	(TARGET_CPU_DEFAULT_*): Renumber.
- 
- Sat Dec 22 12:20:20 EST 2001  John Wehle  (john@feith.com)
- 
- 	* rtl.h (subreg_lsb): Declare.
- 	* rtlanal.c (subreg_lsb): Implement.
- 
- Sat Dec 22 08:59:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* predict.c: Reformatting and minor cleanups.
- 	* cfg.c, cfganal.c, cfgbuild.c: Likewise.
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): Handling taking address of
- 	SAVE_EXPR.
- 	* function.c (gen_mem_addressof): Add missing tests for SAVE_EXPR.
- 	(put_addressof_into_stack): Clarify code in setting of used_p.
- 
- 	* calls.c (flags_from_decl_or_type): Move ECF_SP_DEPRESSED here.
- 	(expand_call): Delete from here.
- 	Do pending stack adjustments if ECF_SP_DEPRESSED.
- 
- 	* dwarf2out.c (save_rtx): Deleted.
- 	(mem_loc_descriptor): Do equivalent operation.
- 	(add_const_value_attribute, case CONST): Likewise.
- 	(add_name_and_src_coords_attributes): Likewise.
- 
- 2001-12-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix comment formatting.
- 
- Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
- 
- 	* pa.h (CPP_SPEC): If not in ANSI mode, define _INCLUDE_LONGLONG.
- 	(CPLUSPLUS_CPP_SPEC): Define _INCLUDE_LONGLONG.
- 
- 2001-12-21  Robert Lipe  <robertlipe@usa.net>
- 
- 	 * system.h (PREFETCH): Explictly undefine.
- 
- 2001-12-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (SAVE_WARN_FLAGS): Save warn_traditional.
- 	(RESTORE_WARN_FLAGS): Restore it.
- 	(extension): Zero warn_traditional.
- 
- 2001-12-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/passes.texi: Fix a typo.
- 
- 2001-12-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix a comment typo.
- 
- 2001-12-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (nonzero_bits): If using reg_nonzero_bits,
- 	we don't know anything about bits outside of X mode.
- 	(num_sign_bit_copies): Likewise.
- 
- 2001-12-21  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.md (prefetch): Use 'a' operand code.
- 
- 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* aclocal.m4 (gcc_AC_PROG_GNAT): Run prospective ada drivers in
- 	subshells.
- 	* configure.in: Likewise for perl Pod::Man.
- 
- 	* configure: Regenerated.
- 
- 2001-12-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (__builtin_printf_unlocked,
- 	__builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked):
- 	Mark with the __printf__ attribute.
- 
- 	* builtins.c (expand_builtin_fputs): Add an `unlocked' parameter
- 	and set the replacement function depending on it.
- 	(expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing.
- 	Handle BUILT_IN_*_UNLOCKED when optimizing.
- 
- 	* builtins.def (DEF_EXT_FALLBACK_BUILTIN,
- 	DEF_EXT_FRONT_END_LIB_BUILTIN): New macros.
- 	Declare the "unlocked" stdio functions.
- 
- 	* c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf):
- 	Add an `unlocked' parameter and set the replacement function
- 	depending on it.
- 	(c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and
- 	BUILT_IN_FPRINTF_UNLOCKED.
- 
- 	* doc/extend.texi (printf_unlocked, fprintf_unlocked,
- 	fputs_unlocked): Document.
- 
- 2001-12-20  Josef Zlomek  <zlomek@matfyz.cz>
- 
- 	* cfgloop.c (flow_loops_find): Use the information of the depth
- 	first search order of the CFG correctly when finding natural loops.
- 
- 2001-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (prologue_mcount): Update for explicit relocs.
- 
- 2001-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (call_operand) [OSF]: Accept pseudos.
- 	* config/alpha/alpha.md (call_osf, call_value_osf): Don't force
- 	operand into $27.
- 
- 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in (all_headers, all_lib2funcs): Remove.
- 	* configure: Regenerate.
- 	* Makefile.in (LANG_EXTRA_HEADERS): Remove.
- 	(USER_H): Don't include $(LANG_EXTRA_HEADERS).
- 	* config/alpha/t-interix (USER_H): Don't include
- 	$(LANG_EXTRA_HEADERS).
- 	* config/i386/t-interix: Likewise.
- 	* config/t-openbsd: Likewise.
- 
- 2001-12-20  Andreas Jaeger  <aj@suse.de>
- 
- 	* libgcc2.c (__bb_exit_func): Remove unused variable.
- 	(num_digits): Remove unused function.
- 
- 2001-12-20 Alan Shieh <ashieh@hkn.eecs.berkeley.edu>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Changed IP restore
- 	to use ldmfd instead of ldmea.
- 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
- 	Modified to reflect behavior of arm_expand_prologue when generating
- 	interrupt handlers
- 
- 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
- 	function. Compute which of registers r0 through r12 should be
- 	saved onto the stack during a function's prologue.
- 	(arm_compute_save_reg_mask): Use
- 	arm_compute_save_reg0_reg12_mask.
- 	(arm_compute_initial_elimination_offset): Use
- 	arm_compute_save_reg0_reg12_mask.
- 
- 	(arm_expand_prologue): Do not mark as save of the IP register
- 	for an interrupt handler as being part of the frame creation
- 	code.
- 
- 2001-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_real): Use REAL_VALUE_TO_x and assemble_integer
- 	to emit floating point values.
- 	(assemble_real_1): Remove.
- 
- 	* 1750a/1750a.c (real_value_to_target_single): New.
- 	(real_value_to_target_double): New.
- 	* 1750a/1750a.h (TARGET_FLOAT_FORMAT): New.
- 	(REAL_VALUE_TO_TARGET_SINGLE): New.
- 	(REAL_VALUE_TO_TARGET_DOUBLE): New.
- 	* 1750a/1750a-protos.h: Update.
- 
- 	* 1750a/1750a.h, a29k/a29k.h, alpha/alpha.h, alpha/unicosmk.h,
- 	alpha/vms.h, arc/arc.h, arm/aof.h, arm/aout.h, avr/avr.c,
- 	avr/avr.h, c4x/c4x.h, clipper/clix.h, convex/convex.h, cris/cris.h,
- 	d30v/d30v.h, dsp16xx/dsp16xx.c, dsp16xx/dsp16xx.h, elxsi/elxsi.h,
- 	fr30/fr30.h, h8300/h8300.h, i370/i370.h, i386/i386.h, i386/i386elf.h,
- 	i386/next.h, i386/ptx4-i.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h,
- 	i860/paragon.h, i860/sysv4.h, i960/i960-protos.h, i960/i960.c,
- 	i960/i960.h, ia64/ia64.h, m32r/m32r.h, m68hc11/m68hc11.c,
- 	m68hc11/m68hc11.h, m68k/3b1.h, m68k/altos3068.h, m68k/crds.h,
- 	m68k/dpx2.h, m68k/hp320.h, m68k/m68k.h, m68k/mot3300.h, m68k/news.h,
- 	m68k/next.h, m68k/next21.h, m68k/sgs.h, m68k/sun2o4.h, m68k/sun3.h,
- 	m68k/tower-as.h, m88k/m88k.h, mcore/mcore.h, mips/mips-protos.h,
- 	mips/mips.c, mips/mips.h, mmix/mmix-protos.h, mmix/mmix.c,
- 	mmix/mmix.h, mn10200/mn10200.h, mn10300/mn10300.h, ns32k/encore.h,
- 	ns32k/ns32k.h, pa/long_double.h, pa/pa.h, pdp11/pdp11.h, pj/pj.h,
- 	romp/romp.c, romp/romp.h, rs6000/rs6000.h, s390/linux.h, sh/sh.h,
- 	sparc/sparc.h, stormy16/stormy16.h, v850/v850.h, vax/vax.h,
- 	vax/vaxv.h, we32k/we32k.h, doc/tm.texi: Remove ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE_FLOAT,
- 	ASM_OUTPUT_SHORT_FLOAT, ASM_OUTPUT_THREE_QUARTER_FLOAT, and all
- 	associated support routines.
- 
- Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (flow_find_cross_jump): Avoid incrementing of ninsns
- 	if one of block does not contain jump.
- 	(outgoing_edge_math): Revert last path; require edges to be noncomplex
- 	nonfake to match single exit edge; require conditional jumps to not
- 	have side effect.
- 
- 2001-12-20  Turly O'Connor  <turly@apple.com>
- 
- 	* tm.texi (ASM_OUTPUT_OPERAND): Change documentation references to
- 	"recog_operand" to "recog_data.operand".
- 	* rtl.def: Likewise.
- 
- 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplifi_binary_operation) [DIV]: If DIV has
- 	narrower mode than op0, only return the bits in DIV's mode.
- 
- 2001-12-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (distribute_notes): Avoid adding REG_LABEL notes
- 	to JUMP_INSNs with JUMP_LABEL.
- 
- 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/install.texi: Add documentation for --enable-altivec.
- 
- 	* config.gcc: Add support for --enable-altivec.
- 
- 	* config/rs6000/altivec.h: New.
- 
- 	* config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
- 	Define.  Fix typo.
- 
- 	* config/rs6000/rs6000.c (vrsave_operation): Change unspec to
- 	unspec_volatile.
- 	(generate_set_vrsave): Generate the unspec here instead of calling
- 	an .md pattern.
- 	(generate_set_vrsave): Use gen_rtvec.
- 	(rs6000_emit_prologue): Replace call to gen_get_vrsave with
- 	gen_rtx_SET.
- 
- 	* config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
- 	for setting special registers.
- 	("*set_vrsave_internal"): Use unspec_volatile.
- 	("set_vrsave"): Remove.
- 	("get_vrsave"): Remove.
- 
- 	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
- 	SPECIAL_REGS.
- 
- 2001-12-19  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc/fixinc/inclhack.def:  Remove all the fix suppression "fixes".
- 	(strict_ansi_not_ctd):  accommodate __STDC__ == 0 tests in UW 2.1.2
- 	* gcc/fixinc/mkfixinc.sh(i?86-*-sysv4.2uw2*): now uses fixincl program
- 	* gcc/fixinc/base/...: adjust for changes in fixes
- 
- 2001-12-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* po/gcc.pot: Regenerate.
- 
- 	* configure.in (all_diff_excludes, diff_excludes): Remove.
- 	* configure: Regenerate.
- 	* Makefile.in (LANG_DIFF_EXCLUDES): Remove.
- 	* objc/config-lang.in (diff_excludes): Remove.
- 
- 2001-12-19  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* config/sparc/sparc.md (ldd peephole2s): For load peepholes pass
- 	the destination register as a parameter to mems_ok_for_ldd_peep.
- 	For store peepholes pass NULL_RTX.  Move all volatile checks ...
- 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): ... here.  Add a
- 	register parameter, check it's not the same as base for an address.
- 	* config/sparc/sparc-protos.h (mems_ok_for_ldd_peep): Update.
- 
- 2001-12-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_single_set): Return first set for
- 	prologue_allocate_stack and epilogue_deallocate_stack instructions.
- 
- 2001-12-19  Dale Johannesen  <dalej@apple.com>
- 
- 	 * config/rs6000/rs6000.h: LEGITIMIZE_RELOAD_ADDRESS:
- 	 redefine in terms of rs6000_legitimize_reload_address().
- 	 * config/rs6000/rs6000-protos.h: Add this function.
- 	 * config/rs6000/rs6000.c: Add this function.  Includes
- 	 handling for Darwin FP constants.
- 
- Wed Dec 19 11:01:21 2001  Jeffrey A Law  (law@redhat.com)
- 
- 	* config/pa/t-hpux-shlib: New file.
- 	* config.gcc (hpux10, hpux11): Include t-hpux-shlib in tmake_file
- 	for 32bit hpux10 & hpux11 configurations.
- 
- 2001-12-19  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Pass
- 	-mno-fpu onto gas unless -mhard-float is specified.
- 	(MULTILIB_DEFAULTS): Include msoft-float.
- 
- 	* config/arm/t-xscale-coff (EXTRA_MULTILIB_PARTS): Remove definition.
- 
- 	* config/arm/coff.h (SUPPORTS_INIT_PRIORITY): Define (to false).
- 	* config/arm/elf.h (SUPPORTS_INIT_PRIORITY): Define (to true).
- 
- Wed Dec 19 06:12:34 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* dwarf2out.c (add_name_and_src_coords_attributes): Fix VMS procedure
- 	descriptor output.
- 
- 2001-12-18  Stan Shebs  <shebs@apple.com>
- 
- 	* rs6000.h (LOCAL_ALIGNMENT): Fix parens.
- 
- Tue Dec 18 17:02:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (widen_memory_access): Only call compare_tree_int
- 	on an INTEGER_CST.
- 
- 2001-12-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_override_options): Only use DI ops when
- 	TARGET_64BIT.  Fix typo.
- 
- Tue Dec 18 16:39:46 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* att.h (ASM_FILE_START): Use asm_dialect.
- 	* linux.h (ASM_FILE_START): Likewise.
- 	* gas.h (ASM_FILE_START): Likewise.
- 	* i386.c (ix86_debug_arg_string, ix86_debug_addr_string,
- 	ix86_asm_string, ix86_asm_dialect): New.
- 	(override_options): Set asm_dialect.
- 	* i386.h (MASK_MIX_SSE_I387, MASK_INTEL_SYNTAX, MASK_DEBUG_ARG,
- 	MASK_DEBUG_ADDR): Kill.
- 	(MASK_64BIT, MASK_NO_RED_ZONE): renumber.
- 	(TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Use string.
- 	(ASSEMBLER_DIALECT): Use asm_dialect.
- 	(TARGET_SWITCHES): Undocument deprecated items; deprecate intel-syntax;
- 	remove debug-addr and debug-arg.
- 	(TARGET_OPTIONS): Add debug-arg, debug-addr, asm.
- 	(asm_dialect): New enum.
- 	(ix86_debug_arg_string, ix86_debug_addr_string,
- 	ix86_asm_string, ix86_asm_dialect): Declare.
- 	* invoke.texi (-mintel-syntax): Remove.
- 	(-masm): Document.
- 
- Tue Dec 18 16:37:42 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* libgcc2.c (__bb_exit_func): Kill -ax dumping code.
- 
- 2001-12-18  Jason Merrill  <jason@redhat.com>
- 
- 	C++ ABI change: destroy value arguments in caller.
- 	* calls.c (initialize_argument_information): Pass the address of
- 	the TARGET_EXPR temporary rather than storing it into another.
- 
- Tue Dec 18 07:09:06 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Add /gnu/include.
- 	* config/alpha/vms.h (STACK_CHECK_BUILTIN): #define 0 for VMS.
- 
- 2001-12-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
- 	* config/sparc/linux.h (PREFERRED_DEBUGGING_TYPE): Remove.
- 	* config/sparc/linux64.h (PREFERRED_DEBUGGING_TYPE): Remove.
- 	(CC1_SPEC): Don't default to -gstabs+ if -m32.
- 
- 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* elfos.h (PREFERRED_DEBUGGING_TYPE): Change to DWARF2_DEBUG.
- 
- 2001-12-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* po/gcc.pot: Regenerate.
- 
- 2001-12-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Fix comment typos.
- 	* config/h8300/h8300.h: Fix comment formatting.
- 
- 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* machmode.h (mode_name, mode_class, mode_size, mode_unit_size,
- 	mode_bitsize, mode_mask_array, mode_wider_mode): Set array size in
- 	declaration to NUM_MACHINE_MODES.
- 	(mode_size, mode_unit_size): Set array type to unsigned char.
- 	(mode_bitsize): Set array type to unsigned short.
- 
- 	* rtl.c (rtx_length): Set array type to unsigned char.
- 	(rtx_length, rtx_name, rtx_format, rtx_class): Set array size to
- 	NUM_RTX_CODE.
- 	(mode_bitsize): Set array type to unsigned short.
- 	(mode_size, mode_unit_size): Set array type to unsigned char.
- 	(mode_name, mode_class, mode_bitsize, mode_size, mode_unit_size,
- 	mode_wider_mode, mode_mask_array): Set array size to
- 	NUM_MACHINE_MODES.
- 
- 	* rtl.h (rtx_length, rtx_name, rtx_format, rtx_class): Set array
- 	size in declaration to NUM_RTX_CODE.
- 
- 2001-12-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (unop): Encode RB as $sp.
- 
- 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update dependencies.
- 	* c-lang.c: Remove unnecessary includes.
- 	(deferred_fns, start_cdtor, finish_cdtor, defer_fn): Move to
- 	c-objc-common.c.
- 	(finish_file): Move body to c_common_finish_file.
- 	* c-objc-common.c: Include varray.h and ggc.h.
- 	(deferred_fns, start_cdtor, finish_cdtor, defer_fn,
- 	expand_deferred_fns, c_objc_common_finish_file): Moved from c-lang.c.
- 	(c_objc_common_init): Initialize deferred function array.
- 	* c-tree.h (c_objc_common_finish_file,
- 	static_ctors, static_dtors): New.
- objc:
- 	* Make-lang.in: Update dependencies.
- 	* objc/objc-act.c: Don't include varray.h.
- 	(defer_fn, deferred_fns): Move to c-objc-common.c.
- 	(objc_init): Similarly for initialization of it.
- 	(finish_file): Move some to c-objc-common.c, use
- 	c_objc_common_finish_file.
- 
- 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c: Remove is_gpr_return_reg prototype.
- 
- 2001-12-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- Mon Dec 17 14:21:21 2001  Jeffrey A Law  (law@redhat.com)
- 
- 	* expmed.c (emit_store_flag): Extract updated comparison code
- 	from the return value of compare_from_rtx.
- 	* expr.c (do_store_flag): Similarly.
- 
- 2001-12-17  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* caller-save.c (init_caller_save): Use MODE_BASE_REG_CLASS in
- 	preference to BASE_REG_CLASS.
- 	* recog.c (preprocess_constraints): Ditto.
- 	* regclass.c (record_operand_costs, scan_one_insn, regclass,
- 	record_reg_classes, record_address_regs): Ditto.
- 	* regrename.c (scan_rtx_address, scan_rtx,
- 	replace_oldest_value_addr, replace_oldest_value_mem): Ditto.
- 	* reload.c (find_reloads, find_reloads_address,
- 	find_reloads_address_1): Ditto.
- 	* reload1.c (maybe_fix_stack_asms): Ditto.
- 	* defaults.h (MODE_BASE_REG_CLASS): Provide default
- 	definition.
- 	* doc/tm.texi: Document MODE_BASE_REG_CLASS.
- 
- 	* config/arm/arm.h (MODE_BASE_REG_CLASS): Define.
- 
- 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi2html: Use -I $SOURCEDIR.
- 
- 	Separate user and internals manuals.
- 	* Makefile.in (info, $(docdir)/gcc.info, dvi, gcc.dvi): Update
- 	dependencies.
- 	($(docdir)/gccint.info, gccint.dvi): New targets.
- 	(maintainer-clean, install-info, uninstall): Update.
- 	* doc/.cvsignore: Add gccint.info*.
- 	* doc/include/gcc-common.texi: New file.
- 	* doc/gcc.texi: Use it.  Adjust to be a user-only manual.  Put
- 	copyright notice in a macro.  Don't include ISBN unless FSFPRINT
- 	is defined.
- 	* doc/gccint.texi: New file.
- 	* doc/configfiles.texi, doc/extend.texi, doc/invoke.texi,
- 	doc/md.texi, doc/passes.texi, doc/tm.texi, doc/trouble.texi:
- 	Update for separate user and internals manuals.
- 
- 2001-12-17  Dale Johannesen  <dalej@apple.com>
- 
- 	 * config/rs6000/rs6000.h:  CPP_CPU_SPEC: add mcpu=7400.
- 	 ASM_CPU_SPEC: Ditto.
- 	 RTX_COSTS: Fix timing info for 7450 multiply.
- 	 * config/rs6000/rs6000.md:  Fix timing info for 7450 imul.
- 	 Allow floats to be kept in int regs in movsf_low,
- 	 movsf_low_st (Darwin only)
- 
- 2001-12-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (vrsave_operation): Recognize SETs in
- 	parallel.
- 	(is_gpr_return_reg): New.
- 	(rs6000_emit_prologue): Call generate_set_vrsave with additional
- 	argument.  Save only registers in the mask.  Attach
- 	REG_FRAME_RELATED_EXPR note to altivec offsets.  Do not call
- 	rs6000_frame_related when saving VRSAVE.
- 	(rs6000_emit_epilogue): Call generate_set_vrsave with additional
- 	argument.  Restore only registers in the mask.  Restore altivec
- 	registers after we restore CR.
- 	(generate_set_vrsave): New parameter epiloguep.  Generate unspec
- 	sets instead of clobbers for call saved registers.
- 	(altivec_frame_fixup): New.
- 
- 2001-12-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.md (movdi_zero): Remove.
- 	(movdi_insn_sp32_v9): New.
- 
- 2001-12-17  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c (outgoing_edges_match): Check for insn match with
- 	a single outgoing edge too.
- 
- Mon Dec 17 18:27:52 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (redirect_edge_and_branch):  Do simplify abnormal
- 	edges resulting from computed jump
- 
- Mon Dec 17 17:57:05 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cfgcleanup.o): Add cselib.h dependency.
- 	* basic-block.h (CLEANUP_THREADING): New constant.
- 	* cfgcleanup.c: Include cselib.h
- 	(thread_jump, mark_effect): New functions.
- 	(try_forward_edges): Do jump threading when asked for.
- 	* jump.c (mark_modified_reg, save_regs, num_same_regs, modified_regs,
- 	modified_mem, thread_jumps, rtx_equal_for-thread_p): Kill.
- 	* rtl.h (thread_jumps, rtx_equal_for_thread_p): Kill.
- 	* toplev.c (rest_of_compilation): Do now call thread_jumps; use
- 	CLEANUP_THREAD instead.
- 
- 2001-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc/linux.h (STARTFILE_SPEC): Fix typo in last change.
- 
- 2001-12-17  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.c (expand_block_move): Fix limits on max size
- 	of bytes.
- 
- 2001-12-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* target.h (asm_out.byte_op, asm_out.aligned_op, asm_out.unaligned_op,
- 	asm_out.integer): New fields.
- 	* target-def.h (TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_[HSDT]I_OP,
- 	TARGET_ASM_UNALIGNED_[HSDT]I_OP, TARGET_ASM_INTEGER): New initializers.
- 	(TARGET_ASM_ALIGNED_INT_OP, TARGET_ASM_UNALIGNED_INT_OP): Collect
- 	the individual initializers together.
- 	(TARGET_ASM_OUT): Add the new initializers.
- 	* output.h (assemble_integer): Return bool.
- 	(integer_asm_op): Declare.
- 	(default_assemble_integer): Declare.
- 	(assemble_aligned_integer): New interface to assemble_integer.
- 	* varasm.c (integer_asm_op): New function to select pseudo-op.
- 	(default_assemble_integer): Default implementation of asm_out.integer.
- 	(assemble_integer): Use the new target hook.  Split objects into
- 	words or bytes if the target hook fails.  Return bool.
- 	* doc/tm.texi (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_OUTPUT_SHORT,
- 	ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT, ASM_OUTPUT_QUADRUPLE_INT,
- 	UNALIGNED_SHORT_ASM_OP,	UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Undocument.
- 	Document new target hooks.
- 
- 	* defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Use integer_asm_op.
- 	* dwarf2asm.c (unaligned_integer_asm_op): Remove.
- 	(dw2_assemble_integer): New.
- 	(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
- 	dw2_asm_output_pcrel, dw2_asm_output_addr, dw2_asm_output_addr_rtx,
- 	dw2_asm_output_encoded_addr_rtx): Use it.
- 	(dw2_asm_output_nstring): Use assemble_integer for the null terminator.
- 	(dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128): Use
- 	integer_asm_op to get the byte pseudo-op.  Use assemble_integer
- 	if it returns NULL.
- 	* dwarf2asm.h (dw2_assemble_integer): Declare.
- 	* dwarfout.c: Include dwarf2asm.h.  Use dwarf2 functions for the
- 	default	implementation of most macros.
- 	(output_unsigned_leb128): Use dw2_asm_output_data.
- 	(output_signed_leb128, dwarfout_source_line): Likewise.
- 	(output_reg_number): Use dw2_assemble_integer.
- 	(generate_macinfo_entry): Separate the type and offset arguments.
- 	Use assemble_integer to write the value.
- 	(dwarfout_start_source_file): Update generate_macinfo_entry usage.
- 	(dwarfout_end_source_file, dwarfout_define, dwarfout_undef): Likewise.
- 	* final.c (output_addr_const): Don't put brackets round a subtracted
- 	symbol value or ".".
- 	* halfpic.c (half_pic_finish): Use assemble_aligned_integer.
- 
- 	* config/1750a/1750a.c (assemble_integer_1750a): New,
- 	* config/alpha/alpha.h (literal_section): Avoid ASM_OUTPUT_INT.
- 	* config/arc/arc.c (arc_assemble_integer): New.
- 	* config/arc/arc.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
- 	* config/arm/arm.c (arm_poke_function_name): Likewise.
- 	(arm_assemble_integer): New, extracted from...
- 	* config/arm/arm.h (OUTPUT_INT_ADDR_CONST): ...here, now removed.
- 	(ARM_TRAMPOLINE_TEMPLATE, ARM_FUNCTION_PROFILER): Avoid ASM_OUTPUT_INT.
- 	(ARM_FUNCTION_PROFILER): Likewise.
- 	* config/avr/avr-protos.h (asm_output_byte): Remove.
- 	(asm_output_char, asm_output_short): Remove.
- 	* config/avr/avr.c (avr_assemble_integer): New.
- 	(asm_output_byte, asm_output_char, asm_output_short): Remove.
- 	* config/clipper/clipper.h (ASM_LONG): Remove.
- 	* config/dsp16xx/dsp16xx-protos.h (asm_output_long): Remove.
- 	* config/dsp16xx/dsp16xx.c (asm_output_long): Remove.
- 	* config/elxsi/elxsi.c (elxsi_assemble_integer): New.
- 	* config/i370/i370.c (i370_hlasm_assemble_integer): New.
- 	* config/i370/i370.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
- 	(ASM_BYTE, ASM_SHORT, ASM_LONG): Delete.
- 	* config/i386/att.h, (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/i386/linux.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
- 	ASM_LONG instead of UNALIGNED_INT_ASM_OP.
- 	* config/i386/sco5.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
- 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/i386/sysv4.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Use
- 	ASM_LONG instead of UNALIGNED_INT_ASM_OP.
- 	* config/i860/fx2800.h (ASM_FILE_END): Avoid ASM_LONG.
- 	* config/i860/i860.c (i860_output_function_epilogue): Likewise.
- 	* config/i860/i860.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
- 	(ASM_SHORT, ASM_LONG): Undefine.
- 	* config/i860/paragon.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise.
- 	* config/i960/i960.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
- 	* config/ia64/ia64.c (ia64_assemble_integer): New.
- 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Use integer_asm_op.
- 	(ASM_OUTPUT_DWARF_PCREL): Likewise.
- 	* config/m68hc11/m68hc11.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_VEC_ELT): Avoid ASM_LONG.
- 	(ASM_SHORT, ASM_LONG): Remove.
- 	* config/m68k/m68k.h (INT_OP_GROUP): New macro.
- 	(INT_OP_STANDARD, INT_OP_DOT_WORD, INT_OP_NO_DOT, INT_OP_DC): New
- 	macros, the allowed values for INT_OP_GROUP.
- 	* config/m68k/amix.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP
- 	* config/m68k/atari.h (ASM_OUTPUT_ASCII): Likewise
- 	* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Likewise
- 	* config/m68k/auxas.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
- 	(INT_OP_GROUP): Define to INT_OP_NO_DOT.
- 	* config/m68k/dpx2.h (ASM_LONG): Undefine.
- 	(INT_OP_GROUP): Define to INT_OP_DC.
- 	* config/m68k/dpx2g.h (ASM_LONG): Undefine.
- 	* config/m68k/hp320.h (INT_OP_GROUP): Define to INT_OP_NO_DOT.
- 	* config/m68k/lynx.h (ASM_LONG): Undefine.
- 	* config/m68k/dpx2g.h (ASM_LONG): Undefine.
- 	* config/m68k/m68kelf.h (ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
- 	(TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_*.
- 	* config/m68k/mot3300.h (INT_OP_GROUP): Define to INT_OP_STANDARD
- 	for GAS and INT_OP_NO_DOT otherwise.
- 	(ASM_CHAR, ASM_BYTE, ASM_SHORT, ASM_LONG): Remove.
- 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid ASM_LONG.
- 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/m68k/sgs.h (BYTE_ASM_OP, WORD_ASM_OP, LONG_ASM_OP): Remove.
- 	(INT_OP_GROUP): Define to INT_OP_STANDARD.
- 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Avoid LONG_ASM_OP.
- 	(ASM_OUTPUT_ASCII): Avoid BYTE_ASM_OP.
- 	* config/m68k/tower-as.h (ASM_LONG): Remove.
- 	(INT_OP_GROUP): Define to INT_OP_NO_DOT.
- 	* config/m88k/m88k.c (output_tdesc): Avoid ASM_LONG.
- 	* config/m88k/m88k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
- 	(ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid ASM_LONG.
- 	* config/mips/iris5.h (TARGET_IRIX5): Define.
- 	* config/mips/mips.c (mips_assemble_integer): New.
- 	* config/mips/sni-svr4.h (ASM_LONG): Undefine.
- 	* config/mmix/mmix-protos.h (mmix_asm_output_double_int): Remove.
- 	* config/mmix/mmix.c (mmix_assemble_integer): New.
- 	(mmix_asm_output_double_int): Remove.
- 	(mmix_print_operand): Call mmix_output_octa directly.
- 	* config/mmix/mmix.h (ASM_LONG): Remove.
- 	* config/ns32k/ns32k.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_INT.
- 	* config/pa/pa.c (pa_assemble_integer): New.
- 	(pa_override_options): Only use aligned DI ops on 64-bit targets.
- 	Only use the unaligned ops if TARGET_GAS.
- 	* config/pdp11/pdp11.c (pdp11_assemble_integer): New.
- 	* config/pdp11/pdp11.h (TRAMPOLINE_TEMPLATE): Avoid ASM_OUTPUT_SHORT.
- 	* config/pj/pj.h (ASM_LONG): Undefine.
- 	* config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Undefine.
- 	* config/rs6000/rs6000.c (rs6000_assemble_integer): New, mostly
- 	extracted from ASM_OUTPUT_INT in sysv4.h.  Use in_text_section()
- 	and in_toc_section() rather than the in_section variable.
- 	(rs6000_override_options): Only use DI ops when TARGET_POWERPC64.
- 	* config/rs6000/sysv4.h (TOC_SECTION_FUNCTION): Add in_toc_section().
- 	(RELOCATABLE_NEEDS_FIXUP): Define.
- 	* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Change space to tab.
- 	* config/s390/linux.h (ASM_SHORT, ASM_LONG, ASM_QUAD): Remove.
- 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use integer_asm_op
- 	to get the word directive.
- 	(ASM_OUTPUT_ASCII): Avoid ASM_BYTE_OP.
- 	* config/s390/s390.c (s390_assemble_integer): New.
- 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use
- 	integer_asm_op to get the word directive.
- 	* config/sparc/sol2.h (ASM_SHORT, ASM_LONG): Remove.
- 	* config/sparc/sparc-protos.h (output_double_int): Remove.
- 	* config/sparc/sparc.c (output_double_int): Move to...
- 	(sparc_assemble_integer): ...this new function.
- 	(sparc_override_options): Only use .uaxword if TARGET_ARCH64.
- 	* config/sparc/sparc.h (ASM_SHORT, ASM_LONG, ASM_LONGLONG): Remove.
- 	* config/sparc/sysv4.h (ASM_LONG): Remove.
- 	(ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Avoid
- 	ASM_LONG.
- 	* config/vax/vax.h (TRAMPOLINE_TEMPLATE): Use assemble_aligned_integer.
- 	* config/we32k/we32k.h (TRAMPOLINE_TEMPLATE): Likewise.
- 
- 	* config/1750a/1750a.c, config/a29k/a29k.c, config/alpha/alpha.c,
- 	config/arc/arc.c, config/arm/arm.c, config/avr/avr.c, config/c4x/c4x.c,
- 	config/clipper/clipper.c, config/convex/convex.c, config/cris/cris.c,
- 	config/d30v/d30v.c, config/dsp16xx/dsp16xx.c, config/elxsi/elxsi.c,
- 	config/fr30/fr30.c, config/h8300/h8300.c, config/i370/i370.c,
- 	config/i386/i386.c, config/i860/i860.c, config/i960/i960.c,
- 	config/ia64/ia64.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
- 	config/m68k/m68k.c, config/m88k/m88k.c, config/mips/mips.c,
- 	config/mmix/mmix.c, config/mn10200/mn10200.c, config/mn10300/mn10300.c,
- 	config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
- 	config/sh/sh.c, config/sparc/sparc.c, config/stormy16/stormy16.c,
- 	config/v850/v850.c, config/vax/vax.c, config/we32k/we32k.c
- 	(TARGET_ASM_BYTE_OP, TARGET_ASM_ALIGNED_HI_OP,
- 	TARGET_ASM_ALIGNED_SI_OP, TARGET_ASM_ALIGNED_DI_OP,
- 	TARGET_ASM_UNALIGNED_HI_OP, TARGET_ASM_UNALIGNED_SI_OP,
- 	TARGET_ASM_UNALIGNED_DI_OP, TARGET_ASM_INTEGER): Redefine as
- 	appropriate.
- 
- 	* config/defaults.h, config/darwin.h, config/elfos.h, config/svr3.h,
- 	config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
- 	config/arc/arc.h, config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
- 	config/clipper/clipper.h, config/convex/convex.h, config/cris/cris.h,
- 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
- 	config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
- 	config/i386/bsd.h, config/i386/djgpp.h, config/i386/i386.h,
- 	config/i386/sco5.h, config/i386/sol2.h, config/i386/sun386.h,
- 	config/i860/i860.h, config/i960/i960.h, config/ia64/ia64.h,
- 	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/auxas.h,
- 	config/m68k/dpx2.h, config/m68k/hp320.h, config/m68k/m68k.h,
- 	config/m68k/mot3300.h, config/m68k/sgs.h, config/m68k/tower-as.h,
- 	config/m88k/m88k.h, config/mcore/mcore-elf.h, config/mcore/mcore.h,
- 	config/mips/iris5.h, config/mips/iris6.h, config/mips/mips.h,
- 	config/mmix/mmix.h, config/mn10200/mn10200.h, config/mn10300/mn10300.h
- 	config/ns32k/encore.h, config/ns32k/ns32k.h, config/pa/pa-64.h,
- 	config/pa/pa.h, config/pdp11/pdp11.h, config/pj/pj.h,
- 	config/romp/romp.h, config/rs6000/linux64.h, config/rs6000/rs6000.h,
- 	config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/linux.h,
- 	config/sh/sh.h, config/sparc/linux64.h, config/sparc/sol2.h,
- 	config/sparc/sp64-elf.h, config/sparc/sparc.h, config/sparc/sysv4.h,
- 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
- 	config/we32k/we32k.h (ASM_OUTPUT_CHAR, ASM_OUTPUT_BYTE, ASM_BYTE_OP,
- 	ASM_BYTE, ASM_OUTPUT_SHORT, ASM_OUTPUT_INT, ASM_OUTPUT_DOUBLE_INT,
- 	UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Undefine, where defined.
- 
- 2001-12-17  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
- 	(STACK_BOUNDARY): Remove definition.
- 	(CPP_PREDEFINES): Define __POWERPC__.
- 
- 2001-12-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/c-tree.texi (Trees): Only refer to GCC.
- 
- 2001-12-17  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-common.def: Fix typo in comment.
- 
- 2001-12-16  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (sparc64-*-freebsd*): Add target.
- 	* config/sparc/freebsd.h: New file.
- 	* config/sparc/sparc.h (LIB_SPEC, LINK_SPEC): Don't define.
- 	* config/sparc/sunos4.h (LIB_SPEC, LINK_SPEC): Define.
- 	* config/sparc/sysv4.h (CPP_PREDEFINES): Undefine before defining.
- 
- 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Force both
- 	PLUS operands into registers for altivec mode.
- 
- 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* builtins.c (apply_args_size): Change regno to unsigned.
- 
- 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_ARG_REGNO_P): Change
- 	ALTIVEC_ARG_MAX_REG to ALTIVEC_ARG_NUM_REG.
- 
- 2001-12-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-typeck.c (error_init, pedwarn_init, warning_init): Call
- 	gettext on argument before printing.
- 
- 	* fold-const.c (negate_expr): Always call fold on new
- 	NEGATE_EXPR.
- 
- 2001-12-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.def (COMPOUND_LITERAL_EXPR): Contain a DECL_STMT, not
- 	a DECL directly.
- 	* c-common.h (COMPOUND_LITERAL_EXPR_DECL_STMT): New.
- 	(COMPOUND_LITERAL_EXPR_DECL): Adjust definition.
- 	* c-decl.c (build_compound_literal): Put the decl inside a
- 	DECL_STMT.
- 	* doc/c-tree.texi (COMPOUND_LITERAL_EXPR): Update documentation.
- 	Fixes PR c/5105.
- 
- 2001-12-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Add powerpc-*-eabisimaltivec*.
- 
- 2001-12-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c, c-common.h (back_end_hook): Remove.
- 	* c-lang.c (finish_file): Remove back_end_hook.
- 
- Sun Dec 16 13:13:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (highest_pow2_factor, case INTEGER_CST): Fix error in
- 	last change.
- 
- 2001-12-16  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (parse_options_and_default_flags): Don't enable
- 	flag_cprop_registers at -O1.
- 
- 2001-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* avr.c (avr_simplify_comparision_p, adjust_insn_length,
- 	mask_one_bit_p, output_reload_insisf): Don't use the 'U' suffix.
- 	* avr.h (reg_class): Likewise.
- 	* avr.md: Likewise.
- 	* mcore.c (try_constant_tricks, mcore_byte_offset,
- 	mcore_halfword_offset): Likewise.
- 	* sh.c (shl_sext_kind, gen_block_redirect, split_branches): Likewise.
- 	* v850.c (not_power_of_two_operand): Likewise.
- 
- 	* clipper/clix.h (ASM_OUTPUT_ASCII): Avoid signed/unsigned
- 	warnings.
- 	* convex.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i370.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/att.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/i386-interix.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/sco5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/sun386.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise.
- 	* i860/bsd.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/3b1.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/amix.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/atari.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/crds.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/hp320.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/m68kv4.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/mot3300.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/sgs.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m68k/tower-as.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/bsd-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/mips-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/svr3-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* mips/svr4-5.h (ASM_OUTPUT_ASCII): Likewise.
- 	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
- 	* vax/vaxv.h (ASM_OUTPUT_ASCII): Likewise.
- 	* we32k/we32k.h (ASM_OUTPUT_ASCII): Likewise.
- 
- 	* i386/uwin.h (MD_STARTFILE_PREFIX): Avoid redefinition warnings.
- 	* interix.h (TARGET_MEM_FUNCTIONS): Likewise.
- 	* psos.h (CPP_PREDEFINES): Likewise.
- 	* rs6000/linux64.h (ROUND_TYPE_ALIGN): Likewise.
- 	* rs6000/xcoff.h (RS6000_MCOUNT, RS6000_ITRUNC, RS6000_UITRUNC,
- 	ASM_OUTPUT_EXTERNAL): Likewise.
- 	* sparc/liteelf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
- 	Likewise.
- 	* sparc/sp64-elf.h (UNALIGNED_DOUBLE_INT_ASM_OP): Likewise.
- 	* sparc/sp86x-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
- 	Likewise.
- 	* sparc/sunos4.h (SUNOS4_SHARED_LIBRARIES): Likewise.
- 
- 	* c-lex.c (lex_number): Use ISXDIGIT/hex_value.
- 	* vax/xm-vms.h (FILE_NAME_NONDIRECTORY): Use ISUPPER/TOLOWER.
- 	* fold-const.c (real_hex_to_f): Use hex_value.
- 	* real.c (asctoeg): Use hex_value & ISXDIGIT.
- 	* toplev.c (toplev_main): Call hex_init.
- 	* tradcpp.c (main): Call hex_init.
- 
- 	* nextstep-protos.h: New file.
- 	* nextstep.c: Include "rtl.h", "output.h" & "tm_p.h".
- 	* nextstep.h (INCLUDE_DEFAULTS): Delete LOCAL_INCLUDE_DIR and
- 	STANDARD_INCLUDE_DIR from the CROSS_COMPILE clause.
- 	(nextstep_asm_out_constructor, nextstep_asm_out_destructor,
- 	handle_pragma): Move prototypes to nextstep-protos.h.
- 	* config.gcc (i[34567]86-next-*, m68k-next-nextstep2*,
- 	m68k-next-nextstep[34]*): Append nextstep-protos.h to tm_p_file.
- 
- 2001-12-16  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR other/3725
- 	* configure.in: Add AC_SUBST(target_alias).
- 	* configure: Regenerated.
- 
- 2001-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (sibcall_osf_1_er): New.
- 	(sibcall_value_osf_1_er): New.
- 
- 2001-12-15  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Rename from
- 	addrs_ok_for_ldd_peep_withmem; take MEMs as parameters, not
- 	addrs; eliminate restriction of only using fp and sp as base
- 	registers.
- 	* config/sparc/sparc-protos.h: Update.
- 	* config/sparc/sparc.md (movdi): Use TARGET_V9 not TARGET_ARCH64.
- 	(*cmp_cc_set, *cmp_ccx_set64, *movdi_zero): New insns derived
- 	from old define_peepholes.
- 	Convert all the ldd/std peepholes to peephole2.
- 
- 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* s390.md (prologue, epilogue, *return_si, *return_di): New.
- 	s390.c (find_unused_clobbered_reg, s390_frame_info,
- 	save_fpr, restore_fpr, s390_emit_prologue, s390_emit_epilogue): New.
- 	s390-protos.h (s390_emit_prologue, s390_emit_epilogue): Declare.
- 	s390.c (s390_arg_frame_offset): Use s390_frame_info.
- 	(leaf_function_flag, cur_is_leaf_function,
- 	save_fprs, restore_fprs, force_const_mem_late): Remove.
- 	(s390_function_prologue, s390_function_epilogue): Mostly remove.
- 	s390.md (lit): New.  Uses ...
- 	s390.c (s390_output_constant_pool): ... this, so adapt and make global.
- 	s390-protos.h (s390_output_constant_pool): Declare.
- 	s390.md (load_multiple, store_multiple): Allow use after reload.
- 	s390.c (load_multiple_operation, store_multiple_operation): Likewise.
- 	s390.h (INCOMING_FRAME_SP_OFFSET): Define.
- 	s390.h (CALL_REALLY_USED_REGISTERS): Define.
- 	config/s390/linux64.h (CALL_USED_REGISTERS): Remove, now handled ...
- 	s390.h (CONDITIONAL_REGISTER_USAGE): ... here.
- 	s390.c (s390_sr_alias_set): New global variable, initialized ...
- 	(override_options): ... here.  New.
- 	s390-protos.h (override_options): Declare.
- 	s390.h (OVERRIDE_OPTIONS): Call it.
- 	s390.c (s390_function_profiler): New.
- 	s390-protos.h (s390_function_profiler): Declare.
- 	s390.h (FUNCTION_PROFILER): Call it.
- 	s390.c (s390_profile): Remove.
- 
- 	* s390.c (reg_used_in_mem_p): PC reload counts as memory access.
- 	(addr_generation_dependency_p): Consider literal pool register loads.
- 	(s390_adjust_priority): Do not schedule load_multiple.
- 	s390.md (attribute "type"): Define some additional types.
- 	(function_unit "integer"): Adapt.
- 	(many insns): Adapt "type" attribute setting.
- 
- 	* s390.c (general_s_operand, s_imm_operand): New.
- 	(s_operand): Remove old definition, call general_s_operand instead.
- 	s390-protos.h (s_imm_operand): Declare.
- 	s390.c (base_n_index_p, r_or_s_operand, r_or_s_or_im8_operand,
- 	r_or_x_or_im16_operand, r_or_im8_operand): Remove.
- 	s390-protos.h (r_or_s_operand, r_or_s_or_im8_operand,
- 	r_or_x_or_im16_operand, r_or_im8_operand): Likewise.
- 	s390.h (PREDICATE_CODES): Add s_imm_operand, remove r_or_s*_operand.
- 	s390.md (many insns): Rework insn predicates.
- 
- 	* s390.c (legitimate_pic_operand_p, legitimate_constant_p): Accept all
- 	non-symbolic constants.  Reload will force them because of ...
- 	(s390_preferred_reload_class): ... this.  New.
- 	s390-protos.h (s390_preferred_reload_class): Declare.
- 	s390.h (PREFERRED_RELOAD_CLASS): Call it.
- 	s390.md (movdi, movsi, movdf, movsf, *reload_la_64 splitters,
- 	*reload_la_31 splitters): Handle constants after reload.
- 	(many insns): no longer force all constants immediately.
- 	s390.c (legitimate_reload_constant_p): New helper routine.
- 	s390-protos.h (legitimate_reload_constant_p): Declare.
- 	s390.c (print_operand): Clean up CONST_INT case, add CONST_DOUBLE case.
- 
- 	* s390.h (FIRST_PSEUDO_REGISTER, FRAME_POINTER_REGNUM,
- 	HARD_FRAME_POINTER_REGNUM, REGISTER_NAMES): Add virtual frame pointer.
- 	(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Update.
- 	(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Likewise.
- 	(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
- 	(DWARF_FRAME_REGISTERS): Define.
- 	s390.c (regclass_map): Add virtual frame pointer.
- 	(legitimate_la_operand_p): Allow use of virtual frame pointer.
- 	s390.md (*la_ccclobber, *addaddr_ccclobber): New.
- 	(addaddr, addsi_64): Delete.
- 
- 	* s390.h (HARD_REGNO_MODE_OK): Allow SImode and DImode values in
- 	floating point registers.
- 	(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Define.
- 	(ADDR_FP_REGS, GENERAL_FP_REGS): New register classes.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
- 
- 	* s390.md (movti): Replace multi-insn output with splitters.
- 	(movdi_31, movdf_31): Likewise.
- 	(movti_ss, movdi_ss, movsi_ss, movdf_ss, movsf_ss): New.
- 	(movdi_lhi, movdi_lli, movdi_larl, movsi_lhi, movsi_lli): New.
- 	(movdi_64, movdi_31, movsi, movdf_64, movdf_31): Adapt.
- 	(movdf_soft_64, movdf_soft_31, movsf_soft): Remove.
- 	(movsf_64, movsf_31): Remove, replace by ...
- 	(movsf): ... this.
- 	(movqi_64): Use lhi instead of llill.
- 	(*movstrictqi, *movstricthi): Don't use (strict_low_part (mem)).
- 
- 	* s390.md (extendsidi2, *extendsidi2, extendhidi2, *extendhidi2,
- 	extendqidi2, extendhisi2, *extendhisi2, extendqisi2,
- 	extendqihi2 and associated splitters): Reworked.
- 	(zero_extendsidi2, zero_extendsidi2, *zero_extendsidi2,
- 	zero_extendhidi2, *zero_extendhidi2, zero_extendqidi2,
- 	zero_extendqidi2, *zero_extendqidi2, zero_extendhisi2,
- 	*zero_extendhisi2_64, zero_extendhisi2_31, zero_extendqisi2,
- 	*zero_extendqisi2_64, *zero_extendqisi2_mem_31,
- 	zero_extendqisi2_reg_31, zero_extendqihi2, *zero_extendqisi2_64,
- 	zero_extendqihi2, zero_extendqihi2_64, zero_extendqihi2_31,
- 	and associated splitters): Likewise.
- 	(*sethighqisi, *sethighhisi, *sethighqidi_64, *sethighqidi_31
- 	and associated splitters): New.
- 	(truncdisi2, truncdihi2, truncdiqi2, truncsihi2, do_truncsihi2,
- 	*truncsihi2_64, truncsiqi2, trunchiqi2): Remove.
- 	(ashlhi3, ashrhi3, lshrhi3, abshi3): Remove.
- 	s390.h (PROMOTE_PROTOTYPES): Remove.
- 	config/s390/linux64.h (PROMOTE_PROTOTYPES): Likewise.
- 
- 	* s390.md (muldi3): Delete, use instead ...
- 	(mulsidi3): ... this.
- 	(*muldi3_64): Rename to muldi3.
- 	(mulsi_6432): Fix template.
- 	(divdi3, moddi3): Delete, replace by ...
- 	(divmoddi4): ... this.
- 	(divmodtidi3): Fix template.
- 	(divmodtisi3): New.
- 	(udivdi3, umoddi3): Delete, replace by ...
- 	(udivmoddi4): ... this.
- 	(udivmodtidi3): Fix template.
- 	(divsi3, modsi3): Delete, replace by ...
- 	(divmodsi4): ... this.
- 	(divmoddisi3): Fix template.
- 	(udivsi3, umodsi3): Adapt.
- 
- 	* s390.md (anddi3): Remove SS alternative, use instead ...
- 	(anddi3_ss, anddi3_ss_inv): ... these.
- 	(anddi3_ni): New.
- 	(andsi3*, andhi3*, andqi3*): Likewise.
- 	(iordi3): Remove SS alternative, use instead ...
- 	(iordi3_ss, iordi3_ss_inv): ... these.
- 	(iordi3_oi): New.
- 	(iorsi3*, iorhi3*, iorqi3*): Likewise.
- 	(iordi3_cc, iordi3_cconly, iorsi3_cc, iorsi3_cconly): New.
- 	(xordi3): Remove SS alternative, use instead ...
- 	(xordi3_ss, xordi3_ss_inv): ... these.
- 	(xordi3_oi): New.
- 	(xorsi3*, xorhi3*, xorqi3*): Likewise.
- 	(xordi3_cc, xordi3_cconly, xorsi3_cc, xorsi3_cconly): New.
- 	(one_cmpldi2, one_cmplsi2, one_cmplhi2, one_cmplqi2):
- 	Expand to XOR with -1.
- 	(*one_cmpldi2, *one_cmplsi2, *one_cmplhi2): Remove.
- 	(cmpdi_tm): Delete, replace by ...
- 	(cmpdi_tm_reg, cmpdi_tm_mem): ... these.
- 	(cmpsi_cct): Delete, replace by ...
- 	(cmpsi_tm_reg, cmpsi_tm_mem): ... these.
- 	(cmpdi_tm2, cmpsi_tm2): Improve.
- 	(cmphi_tm_sub, cmpqi_tm_sub, cmpqi_tm2, cmpqi_tm): New.
- 	s390.c (s390_single_hi, s390_extract_hi,
- 	s390_single_qi, s390_extract_qi): New helper routines.
- 	s390-protos.h (s390_single_hi, s390_extract_hi,
- 	s390_single_qi, s390_extract_qi): Declare.
- 	s390.c (tmxx_operand, const1_operand): Remove.
- 	s390-protos.h (tmxx_operand, const1_operand): Likewise.
- 	s390.h (PREDICATE_CODES): Likewise.
- 
- 	* s390.md (sqrtdf2, sqrtsf2): New.
- 
- 	* s390.h (CRT_CALL_STATIC_FUNCTION): Define.
- 	(check_and_change_labels): Remove section-change special case.
- 
- 	* s390.h (RETURN_ADDR_RTX): Fix use of __builtin_return_address
- 	in leaf functions.  Needs ...
- 	(DYNAMIC_CHAIN_RTX):  ... this.  New.
- 
- 	* s390.c (emit_pic_move): Don't generate pseudos if no_new_pseudos.
- 
- 	* s390.md (movstrdix_64, movstrsix_31, movstrdi_64, movstrsi_31,
- 	clrstrsi_64, clrstrsi_31, cmpstr_64, cmpstr_31): Do not clobber
- 	input operands using a match_dup clause.
- 	(movstrdi, movstrsi, clrstrdi, clrstrsi, cmpstrdi, cmpstrsi): Adapt.
- 
- 	* s390.md (floatdidf2, floatdisf2, floatsidf2, floatsidf2_ieee,
- 	floatsisf2, floatsisf2_ieee): Add missing CC clobber.
- 
- 	* s390.md (floatsidf2_ibm): Use correct operand.
- 
- 	* s390.md (fixuns_truncdfdi2, fixuns_truncdfsi2, fix_truncdfsi2,
- 	fixuns_truncsfdi2, fixuns_truncsfsi2, floatsidf2): Remove use of
- 	non-portable constants.
- 	s390.c (s390_gen_rtx_const_DI): New helper routine.
- 	s390-protos.h (s390_gen_rtx_const_DI): Declare.
- 
- 	* s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Fix alignment.
- 
- 	* config/s390/linux.h (ASM_OUTPUT_SHORT, ASM_OUTPUT_CHAR,
- 	ASM_OUTPUT_BYTE): Clean up assembly output.
- 	(ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGN): Remove duplicate definitions.
- 	(ASM_OUTPUT_ASCII): Remove.
- 
- 	* config/s390/t-linux (CRTSTUFF_T_CFLAGS_S): Define.
- 
- 2001-12-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* unwind-dw2-fde-glibc.c: #define _Unwind_Find_FDE to itself
- 	before including unwind-dw2-fde.c, if we are not using the
- 	special code in this file.
- 
- 2001-12-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (TARGET_SWITCHES): Turn on
- 	MASK_EXPLICIT_RELOCS if the assembler supports it.
- 	* configure.in (HAVE_AS_EXPLICIT_RELOCS): New.
- 	* configure, config.in: Rebuild.
- 
- Sat Dec 15 17:53:03 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (emit_call_1): If ECF_SP_DEPRESSED, pretend have adjusted
- 	for rounded_stack_size.
- 
- 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c, config/i386/i386.h, config/mcore/mcore.h,
- 	config/ns32k/ns32k.h, config/rs6000/sysv4.h, fold-const.c,
- 	toplev.c, cppinit.c, cppmacro.c, gcc.c: Use "built-in" and
- 	"bit-field" spellings in messages.
- 	* po/gcc.pot: Regenerate.
- 
- 2001-12-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.c, config/fr30/fr30.c, config/v850/v850-c.c, toplev.c: Use
- 	American spelling in messages.
- 	* po/gcc.pot: Regenerate.
- 
- 2001-12-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Adjust whitespacing.  Remove
- 	constraints from expanders.  Replace \@ with @.
- 
- 2001-12-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/unknown-elf.h (CPP_PREDEFINES): Add a suitable default.
- 
- 2001-12-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* regrename.c (copyprop_hardreg_forward): Do not keep register
- 	value data live across abnormal call or eh egdes.
- 
- Sat Dec 15 08:29:45 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (highest_pow2_factor, case INTEGER_CST): Return
- 	BIGGEST_ALIGNMENT for 0.
- 
- Sat Dec 15 14:13:03 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def (PRED_NORETURN): Make probabilities match reality.
- 	(PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL, PRED_ERROR_RETURN):
- 	Likewise.
- 
- 2001-12-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: Check for ld.
- 	(HAVE_LD_EH_FRAME_HDR): Define if ld supports --eh-frame-hdr option.
- 	* configure, config.in: Rebuilt.
- 	* config.gcc: Add crtbeginT.o to extra_parts where needed.
- 	* config/t-linux (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde-glibc
- 	frame unwinding on Linux.
- 	* config/t-linux-gnulibc1 (LIB2ADDEH, LIB2ADDEHDEP): Use unwind-dw2-fde
- 	frame unwinding.
- 	* config/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
- 	(LINK_EH_SPEC): Define.
- 	* config/i386/gnu.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
- 	* config/ia64/linux.h (STARTFILE_SPEC, LINK_EH_SPEC): Define.
- 	* config/ia64/fde-glibc.c (_Unwind_IteratePhdrCallback): Don't
- 	iterate further if pc falls into current library, but fde was not
- 	found.
- 	* config/sparc/linux.h (STARTFILE_SPEC): Use crtbeginT.o for -static
- 	if using glibc.
- 	(LINK_EH_SPEC): Define.
- 	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64):
- 	Use crtbeginT.o for -static.
- 	(LINK_EH_SPEC): Define.
- 	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
- 	* Makefile.in (crtbeginT.o): Add rule.
- 	* gcc.c (init_gcc_specs): For -static-libgcc, use -lgcc -lgcc_eh.
- 	If neither -static-libgcc nor -shared-libgcc is passed and -shared,
- 	use -lgcc if LINK_EH_SPEC is defined and -lgcc_s -lgcc if not.
- 	If none of the above switches are passed, use -lgcc -lgcc_eh.
- 	(init_spec): If LINK_EH_SPEC is defined, prepend it to link_spec.
- 	* mklibgcc.in: Don't include LIB2ADDEH objects into libgcc.a if
- 	creating libgcc_s.so, put them into separate libgcc_eh.a instead.
- 	* unwind-dw2-fde.c: Don't include any headers if this file
- 	is included from other .c file.
- 	* unwind-dw2-fde-glibc.c: New file.
- 	* crtstuff.c (USE_PT_GNU_EH_FRAME, USE_EH_FRAME_REGISTRY): Define.
- 	Use it instead of EH_FRAME_SECTION_NAME where appropriate.
- 
- 2001-12-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memcmp): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* cfgcleanup.c (insns_match_p): Likewise.
- 	* regrename.c (mode_change_ok): Likewise.
- 	* gcc.c (execute): Const-ify.
- 
- 2001-12-14  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-parse.in (typename): Do not split attributes.
- 	Remove unsupported attributes warning.
- 
- 	* c-decl.c (groktypename): Apply attributes.
- 
- 2001-12-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (spill_restore_mem): Mark iterator
- 	initialization as possibly dead.
- 
- 2001-12-14  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (mode_change_ok): New.
- 	(find_oldest_value_reg): Use it.
- 
- 2001-12-14  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (struct value_data): Add max_value_regs.
- 	(init_value_data): Initialize it.
- 	(kill_value): Kill values that overlap the dying register.
- 	(set_value_regno): New.
- 	(kill_set_value, kill_autoinc_value, copy_value): Use it.
- 	(copyprop_hardreg_forward_1): Kill earlyclobber operands
- 	before looking at inputs.
- 
- 2001-12-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DECLS): Handle
- 	DECL_WEAK for function descriptors.
- 	* config/rs6000/xcoff.h (HANDLE_PRAGMA_WEAK): Define if assembler
- 	weak support present.
- 	(ASM_WEAKEN_LABEL): Same.
- 
- 2001-12-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (anonymous pattern): Add a missing
- 	mode.
- 
- 2001-12-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Fix a
- 	comment typo.
- 
- 2001-12-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_handle_eightbit_data_attribute):
- 	Remove the initialization requierment.
- 	(h8300_handle_tiny_data_attribute): Likewise.
- 
- 2001-12-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (udivqi3): Remove.
- 	(divqi3): Likewise.
- 	(udivhi3): Likewise.
- 	(divhi3): Likewise.
- 	(umodqi3): Likewise.
- 	(modqi3): Likewise.
- 	(umodhi3): Likewise.
- 	(modhi3): Likewise.
- 	(udivmodqi3): New.
- 	(divmodqi3): Likewise.
- 	(udivmodhi3): Likewise.
- 	(divmodhi3): Likewise.
- 
- Sat Dec 15 01:39:12 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (flow_find_cross_jump): Replace tests for note
- 	by active_insn_p; count conditional jump as instruction.
- 
- 2001-12-14  DJ Delorie  <dj@redhat.com>
- 	    Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.h (I386_PE_STRIP_ENCODING): Handle '*'
- 	at SYM_NAME[0] or SYM_NAME[3].
- 	(STRIP_NAME_ENCODING): Don't check for leading '*'.
- 
- 2001-12-14  Ira Ruben	<ira@apple.com>
- 
- 	Add -### option (displays driver-generated commands without
- 	executing and quotes all arguments).
- 	* doc/invoke.texi: Add -###.
- 	* gcc.c (verbose_only_flag) - New flag.
- 	* (execute): If -### write quoted arguments and return.
- 	* (display_help): Print meaning of -###.
- 	* (process_command): Handle -###.
- 
- 2001-12-14  Ira Ruben	<ira@apple.com>
- 
- 	Fix to no allow -save-temps to clobber user's source file.
- 	* gcc.c: Add static globals input_stat and input_stat_set.
- 	(do_spec_1): For 'g', 'u', 'U' case with save_temps_flag
- 	set, check that user's input file is not overwritten.
- 	(set_input): Reset input_stat_set for each new file.
- 
- Fri Dec 14 22:14:44 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Fix LOOP_EXIT heuristic.
- 
- 2001-12-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* combine.c (record_dead_and_set_regs): Use
- 	regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
- 
- 2001-12-14  Roger Sayle <roger@eyesopen.com>
- 
- 	* builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
- 	__builtin_fsqrt to __builtin_sqrt.
- 
- 	* builtins.c (expand_builtin_mathfn,expand_builtin): Same.
- 	* doc/extend.texi: Simplify documentation to match patch.
- 
- Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* config.gcc: Revamp target_cpu_default2 to strings;
- 	support new x86 variants.
- 	* i386.c (override_options): Default x86_cpu_string and x86_arch_string
- 	properly; set prefetch_sse.
- 	* i386.h (x86_prefetch_sse): Declare.
- 	(TARGET_PREFETCH_SSE): New.
- 	(CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
- 	(TARGET_CPU_DEFAULT_*): New.
- 
- Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
- 			      Jan Hubicka  <jh@suse.cz>
- 
- 	* config/i386/i386.h (struct processor_costs): Add new members
- 	  prefetch_block and simultaneous_prefetches.
- 	  (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
- 	* config/i386/i386.c (processor_costs structs): Add values for
- 	  prefetch_block and simultaneous_prefetches.
- 	* config/i386/i386.md (unspec values): Remove values for prefetch
- 	  operations, which now use the PREFETCH rtx code.
- 	  (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
- 	  unified prefetch support.
- 
- 2001-12-14  Jason Merrill  <jason@redhat.com>
- 
- 	* diagnostic.c (sorry): Increment sorrycount before saving the
- 	buffer state.
- 
- Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sqrt?f): Fix conditionals.
- 
- Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config.gcc (alpha64-dec-*vms*): New case.
- 	* config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
- 	* config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
- 	* config/alpha/xm-vms64.h: Likewise.
- 
- 	* config/alpha/alpha.c (vms_attribute_table): Add new attributes.
- 	(alpha_write_linkage): Test for null alpha_links.
- 	(SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
- 	(vms_section_type_flags, vms_asm_named_section): Handle them.
- 
- Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_fpmath, ix86_fpmath_string): New.
- 	(override_option): Set ix86_fpmath.
- 	* i386.h (MASK_MIX_SSE_I387): Remove.
- 	(TARGET_SSE_MATH): New.
- 	(TARGET_MIX_SSE_I387): Use ix86_fpmath.
- 	(TARGET_SWITCHES): Remove "mix-sse-i387".
- 	(fpmath_unit): New enum.
- 	(ix86_fpmath, ix86_fpmath_string): Declare.
- 	* i386.md (swapsf): Fix condition.
- 	(add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
- 	(fp_?f_*_nosse): New.
- 	(fp_*): Use TARGET_SSE_MATH.
- 	* invoke.texi (-mfpmath): Document.
- 	(-msse2): Add.
- 
- 2001-12-14  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (output_die): Print the string in the comment for
- 	a DW_FORM_strp.
- 
- 2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* netbsd.h (COLLECT_SHARED_INIT_FUNC)
- 	(COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
- 	* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
- 	(COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
- 
- 2001-12-13  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (kill_value_regno): Simplify chain removal.
- 	(kill_value): Kill all of HARD_REGNO_NREGS.
- 	(kill_set_value): Use kill_value not kill_value_regno.
- 	(kill_autoinc_value): Likewise.
- 	(copyprop_hardreg_forward): Don't collect refresh_blocks.
- 	Call delete_noop_moves.
- 
- 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* attribs.c (c_common_attribute_table): Swap decl_req and type_req
- 	for the mode attribute.
- 	(handle_mode_attribute): Handle types, not decls.
- 
- 2001-12-13  Jason Merrill  <jason@redhat.com>
- 
- 	* c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
- 
- 2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
- 	constraint to base register.
- 	(eh_set_lr_si): Same.
- 
- 2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): Don't honor
- 	flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
- 	modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
- 
- Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
- 	warning and reformat comments.
- 	(expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
- 	(highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
- 	if overflow.
- 
- 2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Add
- 	SUBSUBTARGET_OVERRIDE_OPTIONS.
- 
- 	* config/rs6000/eabialtivec.h: New file.
- 
- 	* config/rs6000/linuxaltivec.h: New file.
- 
- 	* config.gcc: Add powerpc-*-eabialtivec and
- 	powerpc-*-linux-gnualtivec.
- 
- 2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* toplev.c (process_options, parse_options_and_default_flags):
- 	Set flag_no_inline before the post_options hook.
- 
- 2001-12-13  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (adjust_address_1): Don't adjust address if adjust
- 	is false.
- 
- 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* collect2.c (COLLECT_SHARED_INIT_FUNC)
- 	(COLLECT_SHARD_FINI_FUNC): Define default values.
- 	(write_c_file_stat): Use them to call construtor and destructor
- 	functions in shared libraries.
- 	* doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
- 	(COLLECT_SHARD_FINI_FUNC): Document them.
- 	* config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
- 	(COLLECT_SHARD_FINI_FUNC): Define.
- 
- 	* config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
- 	shared library.  Pass -shared through to the linker.
- 	* config/arm/netbsd.h (LINK_SPEC): Likewise.
- 
- 	* config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
- 	(SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
- 	(SHLIB_INSTALL): Define.
- 
- 2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
- 	the same way as we handle SYMBOL_REFS.
- 
- Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* loop.c (remove_constant_addition): Fix prototype and whitespace.
- 	(emit_prefetch_instructions): Remove warnings and whitespace
- 	changes.
- 
- Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms-cc.c (preprocess_args): Fix forward
- 	declaration.
- 
- Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Reorganize opcode heuristics.
- 	* predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
- 	PRED_FPOPCODE): New.
- 
- 	* i386.c (override_options): Recognize various CPU variants and set
- 	SSE/MMX/3dNOW flags accordingly.
- 	* i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
- 	MASK_3DNOW_A_SET): New.
- 	(MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
- 	(MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
- 	(MASK_*): Renumber.
- 	(TARGET_FLAGS): Use new masks.
- 	(CPP_CPU_SPECS): Recognize new CPU variants.
- 	* invoke.texi (-mcpu): Update documentation.
- 
- 	* flags.h (flag_prefetch_loop_arrays): Declare.
- 	* loop.h (LOOP_PREFETCH): Define new constant.
- 	* loop.c (strength_reduce): Call emit_prefetch_instructions.
- 	(MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
- 	PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
- 	constants.
- 	(check_store_data): New structure.
- 	(check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
- 	New functions.
- 	* toplev.c: Include insn-flags.h.
- 	(flag_prefetch_loop_arrays): New global variable.
- 	(lang_independent_option): Add -fprefetch-loop-arrays.
- 	(rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
- 	is set.
- 	* Makefile.in (toplev.c): Depend on insn-flags.h.
- 	* invoke.texi (-fprefetch-loop-arrays): Document.
- 
- 	* predict.c (estimate_probability): Distribute the loop exit
- 	probability according to number of exit edges.
- 
- 	* cfgcleanup.c (insns_match_p): Break out from ...;
- 	(flow_find_cross_jump): ... here;
- 	(outgoing_edges_match): Add parameter MODE; attempt to match everything
- 	except for tablejumps.
- 	(try_crossjump_to_edge): Accept complex edges.
- 	(try_crossjump_bb): Likewise.
- 
- 2001-11-29  Corey Minyard <minyard@acm.org>
- 
- 	* recog.c (validate_replace_rtx_1): Use simplify_gen_binary
- 	instead of plus_constant.
- 	* simplify-rtx.c (neg_const_int): New.
- 	(simplify_gen_binary, simplify_plus_minus): Use it.
- 
- 2001-12-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_memset, expand_builtin_memcpy,
- 	expand_builtin_strcpy): Additional arguments TARGET and MODE.
- 	(expand_builtin_bzero, expand_builtin_strcpy,
- 	expand_builtin_strncpy, expand_builtin_bzero): Pass additional
- 	TARGET and MODE parameters to the above functions.
- 	(expand_builtin_memset, expand_builtin_memcpy): Optimize the
- 	case where the LEN parameter is constant zero.
- 	(expand_builtin_memcmp): No longer conditional on
- 	HAVE_cmpstrsi.  Take an additional mode parameter.  Optimize
- 	the cases where len is either constant zero or one.
- 	Optimize to call to memcpy, even if the memcpy isn't inlined.
- 	(expand_builtin_strncpy): Optimize to call memcpy, even if the
- 	memcpy isn't inlined.
- 	(expand_builtin_strcmp, expand_builtin_strncmp): Always attempt
- 	to optimize to a call to memcmp.
- 	(expand_builtin): expand_builtin_memcmp can always be called,
- 	and pass the required parameters to expand_builtin_memcmp,
- 	expand_builtin_memset, expand_builtin_memcpy and
- 	expand_builtin_strcpy.
- 
- 2001-12-12  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (arm-*-freebsd*): Add target.
- 	* config/arm/freebsd.h: New file.
- 	* config/arm/arm.h (CPP_PREDEFINES): Do not define.
- 	(CPP_SPEC): #undef before defining.
- 	(CPP_CPU_ARCH_SPEC): Add -Acpu=arm -Amachine=arm.
- 	* config/arm/conix-elf.h (CPP_PREDEFINES): Remove -Acpu=arm
- 	-Amachine=arm.
- 	* config/arm/linux-elf.h: Likewise.
- 	* config/arm/netbsd.h: Likewise.
- 	* config/arm/riscix.h: Likewise.
- 	* config/arm/riscix1-1.h: Likewise.
- 	* config/arm/semiaof.h: Likewise.
- 
- 2001-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (copyprop_hardreg_forward): New optimization.
- 	(kill_value_regno, kill_value, init_value_data, kill_clobbered_value,
- 	kill_set_value, kill_autoinc_value, copy_value, find_oldest_value_reg,
- 	replace_oldest_value_reg, replace_oldest_value_addr,
- 	replace_oldest_value_mem, copyprop_hardreg_forward_1,
- 	debug_value_data, validate_value_data): New.
- 	* rtl.h (copyprop_hardreg_forward): Declare.
- 	* toplev.c (flag_cprop_registers): New.
- 	(f_options): Add -fcprop-registers
- 	(rest_of_compilation): Invoke it.
- 	(parse_options_and_default_flags): Set it at -O1.
- 	* doc/invoke.texi: Document it.
- 
- 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2out.c (dw_val_class): Add dw_val_class_range_list.
- 	(DEBUG_RANGES_SECTION_LABEL): Define.
- 	(ranges_section_label): Add.
- 	(add_AT_range_list): New.
- 	(print_die, sizeof_die, value_format): Handle dw_val_class_range_list.
- 	(output_loc_list): Location expression length is always 2-byte.
- 	(output_die): Handle dw_val_class_range_list.
- 	(gen_lexical_block_die): Call add_AT_range_list.
- 	(dwarf2out_init): Initialize ranges_section_label.
- 	(dwarf2out_finish): Emit ranges_section_label.
- 
- 2001-12-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (digest_init): Allow initializing
- 	static storage duration objects with compound literals.
- 	* doc/extend.texi (Compound literals): Document the extension.
- 
- 2001-12-12  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (adjust_address_1): Always copy address to avoid
- 	shared rtl.
- 
- Wed Dec 12 07:37:52 2001  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* stmt.c (expand_end_case): Do subtraction of lower bound as trees
- 	to avoid overflow.
- 
- Wed Dec 12 07:35:24 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* cppfiles.c (read_include_file): Set buffer size properly when
- 	file is shorter than expected.
- 
- Wed Dec 12 08:35:33 2001  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* objc/objc-act.c (encode_complete_bitfield): Fixed encoding
- 	enumeral types - encode them using 'i'.
- 
- 2001-12-12  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/extend.texi (Deprecated Features): Deprecate implicit
- 	typename. Document that named return and initializer lists are now
- 	removed.
- 
- 2001-12-11  Roger Sayle <roger@eyesopen.com>
- 
- 	* except.c (reachable_next_level): Handle ERT_UNKNOWN to avoid
- 	compiler warning about enumeration values not being handled.
- 
- 2001-12-11  Momchil Velikov  <velco@fadata.bg>
- 
- 	* config/fp-bit.c (pack_d): Cast to ``fractype'' for long long
- 	shifts.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (TARGET_FIXUP_EV5_PREFETCH): New.
- 	* config/alpha/linux.h (TARGET_FIXUP_EV5_PREFETCH): New.
- 	* config/alpha/alpha.md (prefetch): New.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (simplify_and_const_int): Simplify (AND (PLUS X Y) C)
- 	if C has only low bits set and doesn't intersect with X or Y.
- 
- Tue Dec 11 23:58:39 EST 2001  John Wehle  (john@feith.com)
- 
- 	* basic-block.h (flow_preorder_transversal_compute): Declare.
- 	* cfganal.c (flow_preorder_transversal_compute): Implement.
- 
- Tue Dec 11 23:54:27 EST 2001  John Wehle  (john@feith.com)
- 
- 	* cfganal.c (flow_depth_first_order_compute): Always
- 	increment dfsnum.
- 
- 2001-11-30 Alan Matsuoka <alanm@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx) : Can't simplify
- 	cases that use mode class MODE_CC.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (expand_divmod): Ignore sdiv_pow2_cheap for modes in
- 	which there is no divide expander.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (sjlj_find_directly_reachable_regions): Don't
- 	consider RNL_BLOCKED a directly reachable region.
- 	(sjlj_assign_call_site_values): Trust directly_reachable.
- 	(sjlj_emit_dispatch_table): Likewise.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (divmodsi_internal_er): Split, so that
- 	we represent the address load's dependency on the gp.
- 	(divmoddi_internal_er): Likewise.
- 	(divmodsi_internal_er_1, divmoddi_internal_er_1): New.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (widen_memory_access): New.
- 	* expr.h (widen_memory_access): Declare it.
- 	* config/alpha/alpha.c (get_aligned_mem): Use it.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (simplify_shift_const): Move SHIFT_COUNT_TRUNCATED
- 	simplification above out of range check.
- 
- 2001-12-11  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* config/sparc/sparc.md (prefetch): New.
- 
- 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* output.h (regno_uninitialized): Make argument unsigned.
- 
- 	* flow.c (regno_uninitialized): Make regno unsigned.
- 
- 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* elfos.h (ENDFILE_SPEC, STARTFILE_SPEC): Do not define.
- 	* config/cris/cris.h (ENDFILE_SPEC): Define.
- 	* config/i386/i386elf.h ((ENDFILE_SPEC, STARTFILE_SPEC): Define.
- 	* config/pa/elf.h: Likewise.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* objc/objc-act.c (build_string_class_template): New.
- 	(build_objc_string_object): Call it.
- 
- 2001-12-11  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
- 	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): New.
- 	* calls.c (store_unaligned_arguments_into_pseudos): Check
- 	FUNCTION_ARG_REG_LITTLE_ENDIAN to see how structures
- 	are passed/returned.
- 	* expr.c (move_block_from_reg): Ditto.
- 	(move_block_from_reg): Ditto.
- 	(copy_blkmode_from_reg): Ditto.
- 	* stmt.c (expand_return): Ditto.
- 	* stor-layout.c (compute_record_mode): If
- 	FUNCTION_ARG_REG_LITTLE_ENDIAN is set then check
- 	MEMBER_TYPE_FORCES_BLK even if mode == VOIDmode.
- 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set to true
- 	so that Structures of one field are still treated as structures.
- 	(FUNCTION_ARG_REG_LITTLE_ENDIAN): New, set it to true.
- 	(FUNCTION_ARG_PADDING): Set to ia64_hpux_function_arg_padding().
- 	(PAD_VARARGS_DOWN): Modify from default to not pad structures down.
- 	* config/ia64/ia64-protos.h (ia64_hpux_function_arg_padding): New.
- 	* config/ia64/ia64.c (ia64_hpux_function_arg_padding): New function
- 	to special case handling of structure padding.
- 
- 2001-12-11  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* sched-rgn.c (CONST_BASED_ADDRESS_P): CONST_INT -> CONSTANT_P.
- 	(may_trap_exp): Stores only are risk if they trap, too, not just
- 	if code == MEM.
- 
- 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* flow.c (find_regno_partial): Indent properly.  Add a default to
- 	switch.
- 
- 2001-12-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (combine_strings): Complain if concatenating
- 	__FUNCTION__.
- 	* c-parse.in (yylexname): Flag artificial strings.
- 	* tree.h (TREE_ARTIFICIAL_STRING_P): New.
- doc:
- 	* extend.texi: Update.
- 
- 2001-12-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-common.c (type_for_mode): Handle unsigned vectors.
- 	(type_for_mode): Remove redundant calls to TYPE_MODE.
- 
- 	* tree.c (make_vector): New.
- 	(build_common_tree_nodes_2): Use make_vector for vector types.
- 	Add unsigned vector types.
- 
- 	* tree.h (tree_index): Add unsigned types for vectors.
- 	(unsigned_V16QI_type_node): New.
- 	(unsigned_V4SI_type_node): New.
- 	(unsigned_V8QI_type_node): New.
- 	(unsigned_V8HI_type_node): New.
- 	(unsigned_V4HI_type_node): New.
- 	(unsigned_V2SI_type_node): New.
- 
- 2001-12-11  Stan Shebs  <shebs@apple.com>
- 
- 	* objc/objc-act.c (finish_message_expr): Fix misplaced parens in a
- 	test of class names.
- 
- 2001-12-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (m68020-*-elf*): Expand tm_file to include all needed
- 	cpu configuration headers.
- 	* config/h8300/elf.h: Include dbxelf.h.
- 	* config/m68k/linux.h: Likewise.
- 	* config/m68k/m68020-elf.h: Likewise.
- 	* config/m68k/m68kv4.h: Likewise.
- 	* config/sh/elf.h: Likewise.
- 	* config/m68k/m68kemb.h: Add comment about the its purpose.
- 
- 2001-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* objc/objc-act.c (build_constructor): Cast initializer values
- 	to the proper field types.
- 
- 2001-12-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unwind-dw2.c (execute_cfa_program): Fix DW_CFA_restore handling.
- 
- 2001-12-10  Roger Sayle <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin): Use a switch statement to list
- 	those functions not expanded without optimizations, instead of a
- 	series of equality tests.
- 
- Tue Dec 11 07:08:57 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (LIB_SPEC): Define.
- 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Don't set component field.
- 
- 	* libgcc2.c (_bb): Remove ctime declaration.
- 
- 	* Makefile.in (stage[1234]-start): $(LN_S) utilities in a manner
- 	that works if LN_S = cp.
- 
- 	* config/alpha/x-vms (version): Change "." to "_".
- 
- 	* configure.in: Hardcode that vfork works on VMS host.
- 	* configure: Regenerated.
- 
- Mon Dec 10 18:37:31 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* gcc.c (convert_filename): Add do_obj parameter. Don't convert
- 	unless do_obj true.
- 	(process_command): Modify calls to convert_filename.
- 
- 2001-12-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sparc/sol2-sld-64.h: Include dbxelf.h again.
- 
- Mon Dec 10 15:54:27 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* combine.c (known_cond): Check mode of each operand to determine
- 	if COND is comparing floating point values.
- 
- 2001-12-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.h (processor_type): Add PPC405.
- 	(RTX_COSTS): Add PPC405.  Correct rs64 and ppc630 multiply costs.
- 	* rs6000.md: Add PPC405 information.  Utilize imul2 and imul3 for
- 	rios1, rs64, and ppc630 processors.
- 	* rs6000.c (processor_target_table): Add PPC405.
- 
- 2001-12-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (unaligned_extendhidi): Call gen_lowpart
- 	instead of hardcoding subregs into the _be and _le patterns.
- 
- 2001-12-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c, c-parse.in, c-typeck.c: Revert concatenation changes.
- 
- Mon Dec 10 09:19:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.md (leave, leave_rex64): Adjust pattern to match
- 	what insn does.
- 
- 2001-12-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/cpp.texi: Don't condition menus on @ifinfo.  Condition the
- 	copyright notice formerly conditioned on @ifinfo on @ifnottex
- 	instead.
- 
- Mon Dec 10 06:15:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* vmsdbgout.c (lookup_filename): Remove warning.
- 
- Mon Dec 10 06:09:57 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* Makefile.in: Add $(OUTPUT_OPTION) to compilation rules.
- 
- 	* config.gcc (alpha*-dec-vms*): Change to alpha*-dec-*vms*
- 	(exeext, target_alias, prefix, local_prefix): Define.
- 	* config/alpha/x-vms (USE_COLLECT2): Make empty.
- 	* config/alpha/xm-vms.h (INCLUDE_DEFAULTS): Use Unix style
- 	file specifications. Remove ".".
- 	(GCC_INCLUDE_DIR): Remove redefinition (redundant).
- 	* fixinc/mkfixinc.sh (alpha*-dec-vms*):  Change to alpha*-dec-*vms*
- 
- 2001-12-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (.po.gmo): Use POSIXLY_CORRECT argument ordering.
- 
- Sun Dec  9 21:57:24 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/t-vms (EXTRA_PARTS): Append $(VMS_EXTRA_PARTS)
- 	Add rules for building [vp]crt0.o
- 	* config/alpha/vms.h (START_FILE_SPEC): Define.
- 	* config/alpha/x-vms (VMS_EXTRA_PARTS): Define
- 	* config/alpha/vms-crt0.c, config/alpha/vms-psxcrt0.c: New files.
- 	* doc/invoke.texi: Document special Alpha/VMS options.
- 
- Sun Dec  9 20:25:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* hwint.h (HOST_BITS_PER_LONGLONG): Deal with __int64 type.
- 	* vmsdbg.h (DST_SRC_COMMAND): Test for type of long long or __int64,
- 	not GNUC.
- 
- Sun Dec  9 20:19:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 			  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* tree.c (append_random_char): Conditionalize INO for VMS.
- 
- 2001-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c (label_is_jump_target_p): New function.
- 	(try_optimize_cfg): Use label_is_jump_target_p to check if label is
- 	target of a JUMP_INSN from the preceding block.
- 
- Sun Dec  9 18:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* vmsdbgout.c (lookup_filename): Assign null string instead
- 	of null pointer to fnam.
- 
- 2001-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_align_insns): Suppress realignment
- 	immediately after a call; insert nops before a call.
- 
- 2001-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_align_insns): Use align_functions,
- 	not FUNCTION_BOUNDARY.
- 	* config/alpha/alpha.h (TRAMPOLINE_ALIGNMENT): New.
- 	* config/alpha/alpha32.h, config/alpha/vms.h: Likewise.
- 	* config/alpha/unicosmk.h (FUNCTION_BOUNDARY): Remove.
- 
- 2001-12-09  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_function_block_profiler,
- 	mmix_block_profiler, mmix_function_block_profiler_exit): Delete
- 	unused functions.
- 	* config/mmix/mmix-protos.h (mmix_function_block_profiler,
- 	mmix_block_profiler, mmix_function_block_profiler_exit): Delete
- 	prototypes.
- 
- 	* config/cris/cris.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER):
- 	Delete obsoleted macros.
- 
- 2001-12-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/cpp.texi, doc/cppinternals.texi, doc/invoke.texi,
- 	doc/md.texi, doc/rtl.texi, doc/tm.texi: Use American spelling.
- 
- 	* ChangeLog.2, ChangeLog.3, ChangeLog.5, ChangeLog, alias.c,
- 	cfgbuild.c, expmed.c, expr.c, final.c, flow.c, fold-const.c,
- 	function.c, config/alpha/alpha.md, config/alpha/vms-ld.c,
- 	config/arm/arm.c, config/arm/arm.h, config/c4x/libgcc.S,
- 	config/i370/i370.c, config/i386/i386.c,
- 	config/i386/i386-interix.h, config/i386/i386.md,
- 	config/i386/i386.h, config/i386/netbsd-elf.h, config/ia64/ia64.c,
- 	config/m32r/m32r-protos.h, config/mcore/mcore.h,
- 	config/rs6000/rs6000.h, config/sparc/linux64.h,
- 	config/sparc/sparc.c, config/v850/v850-protos.h,
- 	config/cris/cris.h, config/s390/s390.md, config/elfos.h: Fix
- 	spelling errors.
- 
- 2001-12-09  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* config/rs6000/rs6000.h (enum rs6000_builtins): Add remaining
- 	altivec builtins (VCF?X, VCT?XS, VSEL, V*EFP, VRFI*).
- 
- 	* config/rs6000/rs6000.c: Ditto.
- 
- 	* config/rs6000/rs6000.md: Ditto.
- 
- 2001-12-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.md: Add default case in switch.
- 	* alpha/vms.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
- 	if-else statement.
- 	* dsp16xx.c (print_operand_address): Likewise.
- 	* i386/osf1elf.h (FUNCTION_PROFILER): Const-ify.
- 	* ia64.md: Add missing braces.
- 	* rs6000-protos.h (s8bit_cint_operand): Prototype.
- 	* s390.h (INITIAL_ELIMINATION_OFFSET): Add abort clause in
- 	if-else statement.
- 	* stormy16.h (REG_CLASS_CONTENTS): Add missing braces.
- 	* v850.h (OUTPUT_ADDR_CONST_EXTRA): Don't issue a `return'.
- 	* dbxout.c (dbxout_source_file): Move a variable into the scope
- 	where it is used.
- 	* final.c (profile_function): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* genemit.c (gen_expand): Likewise for generated file.
- 	* insn-addr.h (INSN_ADDRESSES_NEW): Avoid undefined behavior.
- 
- 	* vmsdbg.h: Delete spurious close-comment.
- 	(DST_HEADER): Fix typo in ENUM_BITFIELD parameter.
- 	* vmsdbgout.c (write_modbeg): Define return type.
- 
- 	* m68k/3b1.h (ASM_OUTPUT_ALIGN): Wrap in do-while(0).
- 	* m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* m68k/atari.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* m68k/hp320.h (ASM_OUTPUT_ALIGN): Likewise.
- 	* m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Likewise.
- 	* m68k/sgs.h (ASM_OUTPUT_ALIGN): Likewise.
- 	* m68k/tower-as.h (ASM_OUTPUT_ALIGN): Likewise.
- 
- 2001-12-08  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/aix43.h (NON_POWERPC_MASKS): Delete MASK_STRING.
- 	* config/rs6000/aix51.h (NON_POWERPC_MASKS): Same.
- 	* config/rs6000/rs6000.md (load_multiple, store_multiple): Do not use
- 	for powerpc64.
- 	* config/rs6000/rs6000.md (movstrsi_8reg, movstrsi_6reg,
- 	movstrsi_4reg, movstrsi_1_reg): Add powerpc64.
- 	* config/rs6000/rs6000.c (expand_block_move): Do not use
- 	gen_movstrsi_2reg and powerpc64.
- 
- 2001-10-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-common.h (rid): Add RID_CHOOSE_EXPR and
- 	RID_TYPES_COMPATIBLE_P.
- 
- 	* c-parse.in (reswords): Add __builtin_choose_expr.
- 	Add __builtin_types_compatible_p.
- 	Add CHOOSE_EXPR token.
- 	Add TYPES_COMPATIBLE_P token.
- 	Add production for CHOOSE_EXPR.
- 	Add production for TYPES_COMPATIBLE_P.
- 
- 	* doc/extend.texi (__builtin_choose_expr): Add documentation.
- 	(__builtin_types_compatible_p): Likewise.
- 
- 2001-12-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
- 	to unions.
- 
- 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in: Take string literals in assembler constructs,
- 	not expressions.
- 	* c-typeck.c (build_asm_stmt, simple_asm_stmt): No need to
- 	check the strings are STRING_CSTs.
- 
- 2001-12-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (c_lex): Peek a token ahead for a string to concatenate,
- 	using combine_strings to do the concatenation.
- 	* c-parse.in: Replace uses of the string non-terminal with STRING.
- 	Don't attempt string concatenation.
- 	(OBJC_STRING): New terminal.
- 	(string): Remove non-terminal.
- 	(_yylex): Call combine_strings on function names.  Generate
- 	OBJC_STRING terminals; don't pass '@' on to yacc.
- 	* c-typeck.c (simple_asm_stmt): Don't concatenate strings here.
- 	(build_asm_stmt): Similarly.
- 
- 2001-12-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtlanal.c (get_jump_table_offset): Delete unused variable.
- 
- 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (VUNSPEC_PREFETCH): Delete constant definition.
- 	(prefetch): Rewrite using PREFETCH RTL primitive.
- 	* arm.h (arm_builtins): Delete ARM_BUILTIN_PREFETCH).
- 	* arm.c (arm_init_builtins): Don't initialize a builtin for
- 	__builtin_prefetch here.
- 	(arm_expand_builtin): Don't expand __builtin_prefetch here.
- 
- 2001-12-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* final.c (cleanup_subreg_operands):  Use recog_data.operand_loc
- 	in test for a subreg.
- 
- 2001-12-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* rtl.c (rtx_equal_p): Check for null pointers when comparing rtx
- 	strings.
- 
- 2001-12-07  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi: Fix typo last change.
- 
- 	* c-decl.c (c_language): Remove duplicate.
- 
- 2001-12-07  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/darwin.h: Set MAX_LONG_TYPE_SIZE to 32.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): In Darwin-
- 	specific codegen, eliminate a register copy.
- 	(print_operand_address): Add support for Darwin's lo16(constant)
- 	syntax.
- 	(rs6000_machopic_legitimize_pic_address): Fix darwin-specific
- 	generation of addresses within very large data objects.
- 	(s8bit_cint_operand):  New.
- 	* config/rs6000/rs6000.md: Remove "iu" reference for 750/7400.
- 	Move "mtjmpr" to correct functional unit for 750/7400/7450.
- 	Add imul2 and imul3 insn types for multiplication by 16- and
- 	8-bit constants.
- 	Change tablejump patterns to strongly discourage using LR
- 	rather than CTR.
- 	Add %lo16 patterns for Darwin loads and stores.
- 
- 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.md: Use (HOST_WIDE_INT)1<<63 in lieu of 0x8000000000000000.
- 
- 2001-12-07  Stephane Carrez  <Stephane.Carrez@sun.com>
- 
- 	* config/sparc/sparc.c (epilogue_renumber): Do not replace %fp
- 	with %sp because it can cause the delayed instruction to load
- 	below the stack.
- 
- 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (alpha_expand_unaligned_store,
- 	alpha_expand_unaligned_store_words): Use constm1_rtx in place of
- 	call to immed_double_const.
- 
- 2001-12-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/extend.texi (Variable Attributes): Document vector_size.
- 
- 	* attribs.c (c_common_attribute_table): Add vector_size.
- 	(handle_vector_size_attribute): New.
- 	(vector_size_helper): New.
- 	(decl_attributes): Relayout the decl after calculating attribs.
- 
- 2001-12-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Don't include install-old.texi.  Adjust menu
- 	description for Trouble section.
- 	* doc/install-old.texi: Adjust for inclusion as chapter of new
- 	installation manual.
- 	* doc/install.texi, doc/include/fdl.texi, doc/install.texi2html:
- 	Adjust to include old installation chapter as chapter of new
- 	installation manual.
- 
- Fri Dec  7 11:07:35 EST 2001  John Wehle  (john@feith.com)
- 
- 	* rtl.h (get_jump_table_offset): Declare.
- 	* rtlanal.c (get_jump_table_offset): Implement.
- 
- Fri Dec  7 07:06:17 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* final.c (bb_head, bb_tail, bb_file_label_num, bb_func_label_num):
- 	Deleted; were used only by BB profiler code.
- 	(sbb_head, sbb_tail, sbb_label_num): Likewise.
- 	(end_final): Delete now-unused vars I, PTR, and SPTR.
- 
- 	* expr.c (store_field): Remove warning.
- 	(expand_expr, case COMPONENT_REF, case VIEW_CONVERT_EXPR): Likewise.
- 	(highest_pow2_factor, case MIN_EXPR, case MAX_EXPR): Add cases.
- 	(highest_pow2_factor, case *_DIV_EXPR): Only can do something if
- 	divisor constant power of 2.
- 	(highest_pow2_factor, case COMPOUND_EXPR): Look at operand 1.
- 
- 2001-12-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (function_arg): Cast value to HOST_WIDE_INT before
- 	shifting.
- 
- 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): New.
- 	(DWARF_FRAME_REGISTERS): Delete.
- 
- 2001-12-06  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* builtin-types.def (BT_FN_VOID_PTR_VAR): New.
- 	* builtins.def (BUILT_IN_PREFETCH): Change arguments.
- 	* builtins.c (expand_builtin_prefetch): Two arguments are now optional,
- 	with defaults for read prefetch with high degree of locality.
- 	* doc/extend.texi (__builtin_prefetch): Update documentation.
- 	* doc/md.texi (prefetch): Add documentation.
- 
- 2001-12-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (stdio_va_list): Handle __VA_LIST__ in Tru64
- 	UNIX V5.1A stdio.h.
- 	* fixinc/fixincl.x: Regenerate.
- 	Fixes PR libf2c/4826.
- 
- 2001-12-06  Aldy Hernandez  <aldyh@redhat.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* doc/tm.texi (DWARF_FRAME_REGISTERS): Add documentation.
- 	(PRE_GCC3_DWARF_FRAME_REGISTERS): Same.
- 
- 	* unwind-dw2.c (__frame_state_for): Change DWARF_FRAME_REGISTERS
- 	to PRE_GCC3_DWARF_FRAME_REGISTERS.
- 	(frame_state): Same.
- 	(PRE_GCC3_DWARF_FRAME_REGISTERS): Define if not already defined.
- 
- 2001-12-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* langhooks.c (lhd_staticp): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 2001-12-06  H.J. Lu <hjl@gnu.org>
- 
- 	* Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
- 	reduce noise.
- 	(.po.pox): Likewise.
- 	(o/$(PACKAGE).pot): Likewise.
- 
- 2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
- 	* tree-inline.c (expand_call_inline): ... here.
- 
- 2001-12-06  H.J. Lu <hjl@gnu.org>
- 
- 	* Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
- 	(.po.pox): Likewise.
- 	(o/$(PACKAGE).pot): Likewise.
- 
- 2001-12-06  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc: Include dbxelf.h before elfos.h.
- 	* elfos.h: Don't include dbxelf.h, let config.gcc handle it.
- 
- 2001-12-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppfiles.c (open_file): If we've opened a directory by
- 	mistake, close it.
- 	(find_include_file): Avoid turning / into // or // into ///.
- 
- 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.h (STRUCT_VALUE): Suppress definition.
- 	(STRUCT_VALUE_REGNUM): Restore definition.
- 
- 2001-12-06  Andrew MacLeod <amacleod@redhat.com>
- 
- 	* flow.c (find_regno_partial): Return register, not the expression
- 	the register is in.
- 
- Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (handle_epilogue_set): Check for FP setting case when
- 	SP is set from FP in same insn.
- 
- 2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (load_multiple_sequence): Pass pointer to
- 	RTX when calling alter_subreg().
- 	(store_multiple_sequence): Pass pointer to RTX when calling
- 	alter_subreg().
- 
- Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (assing_parms): Fix typo in last change.
- 	* config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
- 	* config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
- 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
- 	* config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
- 
- 2001-12-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
- 	correct code selecting section.
- 
- Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (count_basic_block, add_bb, add_bb_string):
- 	Kill.
- 	(end_final, final_start_function, final, final_scan_insn,
- 	leaf_function_p): Kill BB profiler related code.
- 	* flags.h (profile_block_flag): Kill.
- 	* libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
- 	BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
- 	__bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
- 	bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
- 	reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
- 	__bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
- 	__bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
- 	__bb_init_trace_func): Kill.
- 	* toplev.c (profile_block_flag): Kill.
- 	(indepdendent_decode_option, process_options): Kill -a related code.
- 	* alpha.c (direct_call_operand): Likewise.
- 	* arm.c (arm_expand_prologue, thumb_expand_prologue,
- 	thumb_expand_epilogue): Likewise.
- 	* c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
- 	* c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
- 	* i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
- 	ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
- 	code.
- 	(ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
- 	* i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* fr30.c (fr30_expand_prologue): Kill BB profiler related code.
- 	* i960.c (i960_output_function_prologue): Kill BB profiler related
- 	code.
- 	* ia64.c (ia64_compute_frame_size): Likewise.
- 	* ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
- 	* m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
- 	* m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
- 	Kill BB profiler related code.
- 	* m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* mips.c (mips_expand_prologue): Kill BB profiler related code.
- 	* mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* rs6000.c (rs6000_override_options): Kill BB profiler related code.
- 	* s960.c (s390_function_prologue): Kill BB profiler related code.
- 	* s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* sparc.c (sparc_override_options, eligible_for_sibcall_delay,
- 	sparc_nonflat_function_epilogue): Kill BB profiler related code.
- 	(sparc_function_block_profiler, sparc_block_profiler,
- 	sparc_function_block_profiler_exit): Kill.
- 	* sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
- 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
- 	* stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 	* doc/invoke.texi: Kill documentation of -a and -ax.
- 	* tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
- 	FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
- 	MACHINE_STATE_RESTORE): Kill.
- 
- 2001-10-26  Steve Christiansen  <smc@us.ibm.com>
- 
- 	* doc/rtl.texi: Use a table to display RTL format characters.
- 
- 2001-12-06  Bo Thorsen  <bo@suse.co.uk>
- 
- 	* config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
- 
- Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (keep_stack_depressed): Check global_live_at_start
- 	of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
- 
- 2001-12-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
- 	as set by the generic FreeBSD configure framework.
- 
- 2001-12-04  Jason Merrill  <jason@redhat.com>
- 
- 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
- 	start_inlining, end_inlining.
- 	* tree-inline.c (expand_call_inline): Call them.
- 	* langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
- 	(LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
- 	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
- 	* langhooks.c (lhd_tree_inlining_start_inlining): New fn.
- 	(lhd_tree_inlining_end_inlining): New fn.
- 
- 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (shadow_warning): New function, moved from cp/decl.c.
- 	* c-common.h (shadow_warning): New.
- 	* c-decl.c: Include c-common.h.
- 	(warn_if_shadowing): New, broken out of pushdecl.
- 	(pushdecl): Use warn_if_shadowing.
- 	(store_parm_decls): Prevent duplicate -Wshadow warnings.
- 
- Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
- 	(DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
- 	(LIB_SPEC): Remove.
- 
- Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
- 	(QUAL_UNION_TYPE): New type.
- 
- 	* varasm.c (output_constant, case ERROR_MARK): New case.
- 
- 	* attribs.c (handle_no_check_memory_usage_atribute): Deleted.
- 	(c_com): Delete its reference.
- 	* builtins.c: Delete memory checking code.
- 	* calls.c, expr.c, function.c, stmt.c: Likewise.
- 	* builtins.c (expand_builtin_arg_info): Remove reference to
- 	EXPAND_MEMORY_USE_* modifiers.
- 	* explow.c (expr_size): Likewise.
- 	* expr.c (expand_expr, expand_increment): Likewise.
- 	* expr.h (ARGS_SIZE_RTX): Likewise.
- 	* function.c (assign_parms, expand_pending_sizeso): Likewise.
- 	* c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
- 	* expr.c (in_check_memory_usage): Delete.
- 	(get_push_address, get_memory_usage_from_modifier): Delete.
- 	(expand_assigment): Use EXPAND_WRITE on destination.
- 	(expand_expr): Delete ro_modifier.
- 	* expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
- 	add EXPAND_WRITE.
- 	(memory_use_mode): Delete.
- 	* flags.h (flag_check_memory_usage): Deleted.
- 	(flag_prefix_function_name): Likewise.
- 	* function.c (expand_function_start): Don't set
- 	current_function_check_memory_usage.
- 	* function.h (check_memory_usage): Delete.
- 	* libfuncs.h, optabs.c: Delete chkr_* stuff.
- 	* stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
- 	EXPAND_WRITE.
- 	* toplev.c (flag_check_memory_usage): Deleted.
- 	(flag_prefix_function_name): Likewise.
- 	(f_options, process_options): Delete references to above.
- 	* tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
- 	* varasm.c (CHKR_PREFIX): Deleted.
- 	(make_decl_rtl): Remove flag_prefix_function_name handling.
- 	(assemble_name): Likewise.
- 	* doc/extend.texi: Remove no_check_memory_usage attribute.
- 	* doc/invoke.texi: Remove -fcheck-memory-usage
- 	and -fprefix-function-name.
- 
- 2001-12-05  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
- 	from autoconf.
- 
- 2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config.gcc: Include arm/xscale-coff.h before arm/arm.h.
- 
- 2001-12-05  William Cohen  <wcohen@redhat.com>
- 
- 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
- 	instruction.
- 
- 2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
- 	builtins.
- 
- 	* config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
- 	better reflect reality (change from Apple's tree).
- 	Add more of altivec instructions.
- 	Add ftruncv4sf2 pattern.
- 	Remove more unspecs (vector merge instructions, etc).
- 
- 	* config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
- 	builtins.
- 	(bdesc_1arg): New, for 1 argument altivec builtins.
- 	(altivec_expand_builtin): Handle unary and ternary ops.
- 	(altivec_init_builtins): Ditto.
- 
- Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
- 	* doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
- 
- 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcse.c (store_killed_in_insn): Consider pure calls
- 	as potential store killers in addition to normal calls.
- 
- 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_expr): When checking promoted value, use
- 	DECL_MODE (exp) and not mode.
- 
- 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (output_init_element): Call digest_init
- 	just once, not in each if branch and check its return value for
- 	error_mark_node.
- 
- 2001-12-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
- 	type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
- 	(finish_struct): Break the loop if n_incomplete went to 0.
- 	For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
- 
- Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/alpha.c (alpha_va_start): Update VMS case.
- 
- Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 			  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
- 	* doc/invoke.texi: Add -gvms.
- 	* doc/passes.texi: Add mention of vmsdbgout.c.
- 	* doc/tm.texi: Document VMS debugging output.
- 
- Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.h (tree, rtx): Remove no-longer-needed definitions.
- 
- 	* function.c (keep_stack_depressed): Refine check for register
- 	clobbered over call.
- 
- 	* expr.c (store_expr): When copying string constant into array,
- 	use functions that update memrefs instead of computations on
- 	addresses to better track MEMs.  Also properly handle 32/64 pointers.
- 	(expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
- 	(expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
- 
- 	* emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
- 	underneath COMPONENT_REFs.
- 	(set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
- 
- 2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* toplev.c (display_target_options): Don't print twice.
- 
- Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
- 
- 	* emit-rtl.c (set_unique_reg_note): Don't set
- 	a REG_EQUAL or REG_EQUIV note if multiple sets
- 	are present.
- 
- 2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
- 	CASE_DROPS_THROUGH.
- 
- 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* rtl.h (initialize_uninitialized_subregs): New prototype.
- 	* toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
- 	when optimization is on.
- 	* flow.c (find_regno_partial): Find subregs within an expression.
- 	(initialize_uninitialized_subregs): Initialize live on entry registers
- 	which are used in subreg expressions.
- 
- 2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
- 
- 2001-12-04  DJ Delorie  <dj@redhat.com>
- 
- 	* fixinc/fixincl.c (initialize): Avoid problemsome macro
- 	parameter names (PR 3388).
- 
- 2001-12-05  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
- 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
- 
- 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.def (COMPOUND_LITERAL_EXPR): New.
- 	* c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
- 	(c_staticp): New function.
- 	* c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
- 	(c_staticp): Declare.
- 	* c-typeck.c (default_function_array_conversion, build_unary_op):
- 	Don't handle CONSTRUCTOR specially.
- 	(lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
- 	* c-decl.c (build_compound_literal): New function.
- 	* c-tree.h (build_compound_literal): Declare.
- 	* c-parse.in (primary): Use build_compound_literal.
- 	* c-lang.c (LANG_HOOKS_STATICP): Define.
- 	* objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
- 	* doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
- 	* doc/extend.texi: Update documentation of compound literals.
- 	Fixes PR c/4787.
- 
- 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* langhooks.h (struct lang_hooks): Add staticp.
- 	* langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
- 	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
- 	* langhooks.c (lhd_staticp): New function.
- 	* tree.c (staticp): Call lang_hooks.staticp for language-specific
- 	tree codes.
- 
- 2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppspec.c (lang_specific_driver): Set is_cpp_driver.
- 	* gcc.c (process_command): Ensure the cpp driver sees
- 	--help and --target-help, and that the help is printed
- 	exactly once.
- 
- 2001-12-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
- 
- 2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
- 	flag_strict_aliasing.  Use separate assignment statements.
- 
- 2001-12-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* build-make, cross-make: Delete file.
- 	* configure.in: Set and substitute CROSS, ALL,
- 	SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
- 	HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
- 	whether build == host and host == target.  Do not
- 	AC_SUBST_FILE build_overrides or cross_overrides.  Do not
- 	AC_SUBST cross_defines or extra_c_flags.
- 	* Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
- 	(SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
- 	HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
- 	partially or completely with autoconf-substituted @variable@
- 	notation.
- 	(INSTALL_TARGET, @cross_defines@, @cross_overrides@,
- 	@build_overrides@, @extra_c_flags@, all.build, install-build,
- 	install-cross-rest, install-float-h-cross): Deleted.
- 	(install-normal): Rename to install.  Delete old "install"
- 	indirection rule.
- 
- 2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* stmt.c (expand_return): Clear destination instead of clobbering it
- 	when setting a return value via bitsets.
- 
- 2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
- 	it has DECL_SAVED_TREE.
- 
- 	* c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
- 	is in a different binding level, get its abstract origin to be
- 	olddecl.
- 	* tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
- 	check earlier.
- 	* tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
- 	DECL_INITIAL is NULL.
- 
- 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
- 	Return correct value if one of the subexpressions was optimized to
- 	0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
- 	(and_reg_cond): Similarly.
- 
- 2001-12-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* function.c (assign_parms): Set last_named only for last named
- 	argument.
- 
- 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Use the GFDL.  Include years from old install
- 	manual in copyright notice.  Include copyright and GFDL notice on
- 	HTML index page.  Include usual footer on testing.html.
- 	* doc/install.texi2html: Build gfdl.html.  Use -I
- 	$SOURCEDIR/include.
- 	* doc/include/fdl.texi: Adapt for use in the install manual.
- 
- 2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Document that installed native compiler for
- 	building cross compilers should be GCC 2.95 or later.
- 
- 2001-12-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
- 	* config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
- 	patterns.
- 
- 2001-12-03  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rtl.def (PREFETCH): New rtx code.
- 	* doc/rtl.texi (PREFETCH): Add documentation.
- 	* function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
- 	* rtlanal.c (reg_referenced_p): Ditto.
- 	* sched-vis.c (print_exp):  Ditto.
- 	* ssa-dce.c (find_inherently_necessary):  Ditto.
- 
- 	* config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
- 	  (PREFETCH_BLOCK): Define.
- 	* config/ia64/ia64.md (itanium_class): Add lfetch.
- 	  (prefetch, prefetch_internal): New.
- 
- 	* builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
- 	* builtins.def (BUILT_IN_PREFETCH): New.
- 	* builtins.c (expand_builtin_expect): New.
- 	  (expand_builtin): Call it.
- 	* doc/extend.texi: Document __builtin_prefetch.
- 
- 	* config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
- 	  conflicts with new generic prefetch functionality.
- 	* config/i386/i386.c (ix86_expand_builtin): Use new name for
- 	  prefetch_sse.
- 
- 2001-12-02  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/Make-lang.in: Update copyright.
- 	(OBJC_OBJS): Add objc-lang.o.
- 	(objc-lang.o): New rule.
- 	* objc/config-lang.in: Fix file description and update
- 	copyright.
- 	* objc/objc-act.c: Do not include langhooks.h and
- 	langhooks-def.h
- 	(lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
- 	(objc_post_options): Move to objc-lang.c.
- 	(objc_init_options): Move to objc-lang.c.
- 	(objc_init): Make non-static.
- 	(objc_decode_option): Make non-static.
- 	(HASHFUNCTION): Remove macro.
- 	(hash_func): New function.
- 	(hash_enter): Replace HASHFUNCTION with hash_func.
- 	(hash_lookup): Replace HASHFUNCTION with hash_func.
- 	(maybe_objc_tree_codes): New function.
- 	(init_objc): Move ObjC tree code initialization to
- 	maybe_objc_tree_codes().
- 	* objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
- 	(objc_init): New public prototype.
- 	(objc_decode_option): New public prototype.
- 	(maybe_add_objc_tree_codes): New public prototype.
- 	* objc/objc-lang.c: New file.
- 	(lang_hooks): Moved from objc-act.c.
- 	(objc_post_options): Moved from objc-act.c.
- 	(objc_init_options): Moved from objc-act.c.
- 
- 2001-12-03  Geoff Keating  <geoffk@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
- 	of array elements.
- 
- 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR c/4988
- 	* gcc.c (process_command): Don't add a preprocessor option for
- 	--help and --target-help; cc1 is enough.
- 
- 2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (grokdeclarator): Use ISO word.
- 	* cppinit.c: Remove leading capital from diagnostic messages, as
- 	per GNU coding standards.
- 	* emit-rtl.c: Similarly.
- 	* final.c: Similarly.
- 	* gcc.c: Similarly.
- 	* tradcpp.c: Similarly.
- 	* config/arm/arm.c: Similarly.
- 	* config/arm/arm.h: Similarly.
- 	* config/avr/avr.c: Similarly.
- 	* config/avr/avr.h: Similarly.
- 	* config/c4x/c4x.c: Similarly.
- 	* config/cris/cris.c: Similarly.
- 	* config/cris/cris.h: Similarly.
- 	* config/d30v/d30v.c: Similarly.
- 	* config/dsp16xx/dsp16xx.c: Similarly.
- 	* config/dsp16xx/dsp16xx.h: Similarly.
- 	* config/h8300/h8300.c: Similarly.
- 	* config/i386/i386.c: Similarly.
- 	* config/i386/xm-djgpp.h: Similarly.
- 	* config/i960/i960.h: Similarly.
- 	* config/m32r/m32r.c: Similarly.
- 	* config/m68hc11/m68hc11.c: Similarly.
- 	* config/m88k/m88k.c: Similarly.
- 	* config/m88k/m88k.h: Similarly.
- 	* config/mcore/mcore.c: Similarly.
- 	* config/mcore/mcore.h: Similarly.
- 	* config/mips/mips.c: Similarly.
- 	* config/mmix/mmix.c: Similarly.
- 	* config/pa/pa.c: Similarly.
- 	* config/rs6000/rs6000.c: Similarly.
- 	* config/rs6000/sysv4.h: Similarly.
- 	* config/s390/s390.c: Similarly.
- 	* config/sparc/sparc.c: Similarly.
- 	* config/v850/v850-c.c: Similarly.
- 	* config/v850/v850.c: Similarly.
- 
- 2001-12-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rs6000.h (RETURN_IN_MEMORY): Cast result of
- 	int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
- 
- Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
- 	bit twiddling constant.
- 
- Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
- 	call purge_dead_edges after removing.
- 	(delete_null_pointer_checks): Do not handle delete_list.
- 
- 	* cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
- 	(count_basic_blocks): ... here.
- 	(find_basic_blocks, find_bb_boundaries): Cleanup.
- 
- 	* stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
- 	overflow for types greater then 2 * HOST_WIDE_INT.
- 
- 	* reload.c (find_reloads): Update the duplicates after swapingg.
- 
- Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
- 
- 2001-12-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
- 	MASK_LONG_DOUBLE_128): Delete.
- 	(MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
- 	TARGET_AIX_STRUCT_RET): New flags.
- 	(TARGET_SWITCHES): Remove entries for -mlong-double-128 and
- 	-mlong-double-64.  Add entries for -m(no-)aix-struct-return
- 	and -m(no-)svr4-struct-return.
- 	(TARGET_OPTIONS): Add entry for -mlong-double-.
- 	(rs6000_long_double_size_string, rs6000_long_double_type_size,
- 	rs6000_altivec_abi): Declare.
- 	(TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
- 	LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
- 	(RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
- 	structures of size <= 8 bytes in registers.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
- 
- 	* config/rs6000/rs6000.c (rs6000_long_double_size_string,
- 	rs6000_long_double_type_size, rs6000_altivec_abi): New
- 	globals.
- 	(rs6000_override_options): Set rs6000_long_double_type_size
- 	from rs6000_long_double_size_string, if nonzero.  Set the
- 	MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
- 	not already set.
- 	(rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
- 	target_flags bit.
- 	(rs6000_init_builtins): This hook now takes no arguments.
- 
- 	* config/rs6000/netbsd.h, config/rs6000/linux.h: Define
- 	DRAFT_V4_STRUCT_RET to 1.
- 
- 2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (really_start_incremental_init, push_init_level):
- 	Avoid constructor_max_index being other than an INTEGER_CST.
- 
- 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
- 	unsigned.
- 	(ASM_GENERATE_INTERNAL_LABEL): Same.
- 	(UNIQUE_SECTION): Fix typo.
- 
- 2001-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
- 
- 2001-12-02  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (mem_attrs): Rename decl to expr; adjust all users.
- 	(MEM_EXPR): Rename from MEM_DECL; adjust all users.
- 	* emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
- 	* expr.h, final.c, reload1.c: Adjust users.
- 
- 	* alias.c (nonoverlapping_component_refs_p): New.
- 	(decl_for_component_ref, adjust_offset_for_component_ref): New.
- 	(nonoverlapping_memrefs_p): Use them.
- 	* emit-rtl.c (component_ref_for_mem_expr): New.
- 	(set_mem_attributes): Use it.
- 	(set_mem_offset): New.
- 	* expr.c (expand_assignment): Call set_mem_attributes for
- 	inner references; adjust the memory offset as needed.
- 	* print-rtl.c (print_mem_expr): New.
- 	(print_rtx): Use it.
- 
- Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
- 
- 	* config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
- 	(PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
- 	(ASM_SPEC): Don't redefine.
- 	(OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
- 	* config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
- 	* config/alpha/vms-dwarf2.asm: New file.
- 
- 	* Makefile.in (OBJS): Add vmsdbgout.c and its rule.
- 	* c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
- 	* debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
- 	(vmsdbgout_after_prologue): New declaration.
- 	* defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
- 	* dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
- 	* dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
- 	(dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
- 	(dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
- 	(add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
- 	* final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
- 	Test VMS_DEBUGGING_INFO.
- 	(final_end_function): Test for VMS_AND_DWARF2_DEBUG.
- 	(final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
- 	* flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
- 	* toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
- 	VMS_AND_DWARF2_DEBUG.
- 	(rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
- 	(decode_g_option): Add "vms" to debug_type_names.
- 	(process_options): Set vmsdbg_debug_hooks if -gvms.
- 	(lang_independent_init): Emit line number for VMS unless -g0.
- 	* tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
- 	* vmsdbg.h, vmsdbgout.c: New files.
- 
- Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
- 
- 2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cfgrtl.c (purge_all_dead_edges): Initialize variable.
- 	* dwarf2out.c (is_cxx): Prototype.
- 	* local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
- 	warning.
- 	* objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
- 
- Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* libgcc2.c (__bb_exit_func): Fix line wrap problems.
- 
- 2001-12-02  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
- 	rather than simplify_subreg.  Check for volatile-ness.  Check that
- 	we're not splitting one slow operation into two slow operations.
- 
- 2001-12-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
- 	before shifting.
- 
- 2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (duplicate_decls, push_parm_decl): Remove leading
- 	capital from diagnostics.
- 	* c-lex.c (cb_file_change): Similarly.
- 	* c-parse.in : Similarly.
- 	* cfgrtl.c (verify_flow_info): Similarly.
- 	* collect2.c: Similarly.
- 	* cppfiles.c (find_include_file): Similarly.
- 	* cppinit.c (cpp_handle_option): Similarly.
- 	* cpplex.c (cpp_spell_token): Similarly.
- 	* cppmain.c (do_preprocessing): Similarly.
- 	* gcc.c (translate_options, process_command, do_spec1,
- 	main, pfatal_execute): Similarly.
- 	* genattr.c (main): Similarly.
- 	* genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
- 	write_test_expr, main): Similarly.
- 	* gencodes.c (main): Similarly.
- 	* genconfig.c (main): Similarly.
- 	* genconstants.c (main): Similarly.
- 	* genemit.c (main): Similarly.
- 	* genextract.c (main): Similarly.
- 	* genflags.c (main): Similarly.
- 	* genopinit.c (main): Similarly.
- 	* genoutput.c (process_template, main): Similarly.
- 	* genpeep.c (main): Similarly.
- 	* genrecog.c (main): Similarly.
- 	* gensupport.c (is_predicable, identify_predicable_attribute,
- 	alter_predicate_for_insn, init_md_reader_args, main): Similarly.
- 	* ggc-page.c (alloc_anon): Similarly.
- 	* mips-tfile.c (add_string, add_procedure, add_file, read_line,
- 	parse_begin, parse_bend, parse_def, parse_end, parse_file,
- 	parse_stabs_common, parse_stabs, write_varray, write_object,
- 	read_seek, copy_object, main, error): Similarly.
- 	* profile.c (compute_branch_probabilities): Similarly.
- 	* reg-stack.c (check_asm_stack_operands): Similarly.
- 	* reload.c (find_reloads): Similarly.
- 	* reload1.c (spill_failure, failed_reload): Similarly.
- 	* rtl-error.c (_fatal_insn_not_found): Similarly.
- 	* toplev.c (read_integral_parameter, crash_signal,
- 	decode_f_option, set_target_switch, parse_options_and_default_flags)
- 	: Similarly.
- 	* tradcif.y (parse_number, yylex): Similarly.
- 	* tradcpp.c (main, fancy_abort): Similarly.
- 	* tree.c (tree_check_failed): Similarly.
- 	* varray.c (varray_check_failed): Similarly.
- 	* xcoffout.c (xcoff_output_standard_types): Similarly.
- objc:
- 	* objc-act.c (get_object_ref, lookup_and_install_protocols,
- 	build_objc_string_object, objc_declare_alias, build_ivar_chain,
- 	finish_message_expr, build_protocol_expr, is_public,
- 	start_class): Similarly.
- 
- 2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
- 	trailing period from diagnostics.
- 	* c-lex.c (cb_file_change): Similarly.
- 	* cppmacro.c (check_trad_stringification): Similarly.
- 	* gcc.c (do_spec_1): Similarly.
- 	* genattr.c (main): Similarly.
- 	* genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
- 	* gencodes.c (main): Similarly.
- 	* genconfig.c (main): Similarly.
- 	* genconstants.c (main): Similarly.
- 	* genemit.c (main): Similarly.
- 	* genextract.c (main): Similarly.
- 	* genopinit.c (main): Similarly.
- 	* genoutput.c (main): Similarly.
- 	* genpeep.c (main): Similarly.
- 	* genrecog.c (main): Similarly.
- 	* mips-tfile.c (add_file, error): Similarly.
- 	* profile.c (init_branch_prob): Similarly.
- 	* reload1.c (spill_failure): Similarly.
- 	* stmt.c (parse_output_constraint): Similarly.
- 	* varasm.c (assemble_variable): Similarly.
- 
- 2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k.c (init_FPA_table): Provide static prototype.
- 	* mips/abi64.h (mips_function_value): Move prototype to ...
- 	* mips-protos.h (mips_function_value): ... here.
- 	* mips.c: Include halfpic.h.
- 	* output.h (rdata_section): Prototype.
- 
- 	* h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
- 	* m88k.c (m88k_svr3_asm_out_constructor,
- 	m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
- 	!OBJECT_FORMAT_ELF.
- 	* mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
- 	* sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
- 	* sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
- 
- 2001-12-01  Geoff Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
- 	LO_SUM addresses less than word size are not legitimate,
- 	because they lead to invalid SUBREGs.
- 	* config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
- 
- 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
- 	while scanning for multiple back edges.
- 
- 2001-12-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* ginclude/ppc-asm.h (JUMP_TARGET): New macro.
- 	* config/rs6000/tramp.asm: Use it.
- 
- 2001-12-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gencheck.c, gengenrtl.c: Don't define xmalloc.
- 	* gensupport.c: Don't define xstrdup, xcalloc, xrealloc,
- 	xmalloc.
- 
- 2001-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_ascii): Cast `p' to unsigned char.
- 
- 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* config/rs6000/rs6000.c (altivec_expand_builtin): add
- 	ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
- 	*_16qi,_8hi, rename existing V4SI ones to *_4si.
- 	(altivec_init_builtins): Ditto.
- 	(bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
- 
- 	* config/rs6000/rs6000.md: Add attribute types vecsimple,
- 	veccomplex, vecfloat, and vecperm, for altivec instructions.
- 	Modify altivec patterns to use appropriate attribute type.
- 	Modify altivec patterns to match RTL operations where appropriate
- 	(IE no unspec where we can avoid it).
- 	Add vector unit scheduling for ppc7450.
- 	Rename patterns to what they are where appropriate
- 	(altivec_vaddfp->addv4sf3, etc)
- 
- 	* config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
- 	Pass -mppc, and define _ARCH_PPC, if -mcpu=7450 is used.
- 
- 	* config/rs6000/sysv4.h: Add -mcpu=7450.
- 
- 	* testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
- 	_builtin_altivec_ld_interal function.
- 
- 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in (AC_CHECK_FUNCS): Delete strtoul, bsearch, popen,
- 	strchr, strrchr, isascii, gettimeofday.
- 	* config.in, configure: Regenerate.
- 
- 2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
- 
- 	* unroll.c (unroll_loop): Correct special exit cases.
- 
- 2001-11-30  Stephane Carrez  <Stephane.Carrez@sun.com>
- 
- 	* config/sparc/sparc.c (DF_MODES_NO_S): Fix pr/3623, define to
- 	accept DFmode and DImode only.
- 
- 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
- 	(STACK_DYNAMIC_OFFSET): Same.
- 
- 2001-11-30  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Copy DECL_SAVED_TREE.
- 
- 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
- 	(CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
- 	the values in call_used_registers.
- 
- Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* gthr-dce.h: If _DCE_THREADS is not defined, then just include
- 	gthr-single.
- 
- 2001-11-30  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (is_cxx): New fn.
- 	(add_data_member_location_attribute): Check it.
- 	* dbxout.c (dbxout_type): Only look at BINFO_VPTR_FIELD for C++.
- 
- Fri Nov 30 08:26:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Handle const1_rtx.
- 
- 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* genopinit.c (gen_insn): Handle MODE_VECTOR_INT and
- 	MODE_VECTOR_FLOAT as allowed.
- 
- 2001-11-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	Purge cruft now we have build libiberty.
- 
- 	* Makefile.in (OBSTACK, VFPRINTF, DOPRINT, STRSTR,
- 	HOST_OBSTACK, HOST_VFPRINTF, HOST_DOPRINT, HOST_STRSTR,
- 	USE_HOST_OBSTACK, USE_HOST_VFPRINTF, USE_HOST_DOPRINT,
- 	USE_HOST_STRSTR): Delete variables.
- 	(vfprintf.o, doprint.o, strstr.o, splay-tree.o, obstack.o,
- 	hashtab.o, safe-ctype.o, $(HOST_PREFIX_1)obstack.o,
- 	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
- 	$(HOST_PREFIX_1)strstr.o), $(HOST_PREFIX_1)): Delete rules.
- 	(LIBIBERTY, BUILD_LIBIBERTY): New variables.
- 	(LIBDEPS): Now just $(INTLDEPS) $(LIBIBERTY).
- 	(LIBS): Now just $(INTLLIBS) @LIBS@ $(LIBIBERTY).
- 	(HOST_LIBDEPS): Now just $(BUILD_LIBIBERTY).
- 	(HOST_LIBS): Ditto.
- 	(HOST_RTL): Remove hashtab.o safe-ctype.o.
- 	(OBJS): Remove splay-tree.o.
- 	(gen-protos): Depend on $(HOST_LIBS), not ../libiberty/libiberty.a.
- 	(distclean): No need to delete splay-tree.c obstack.c
- 	hashtab.c safe-ctype.c.
- 	(mostlyclean): Delete build copies of print-rtl.c bitmap.c
- 	errors.c ggc-none.c (all prefixed with $(HOST_PREFIX_1).
- 	* aclocal.m4 (gcc_AC_FUNC_VFPRINTF_DOPRNT, gcc_AC_FUNC_STRSTR):
- 	Delete.
- 	* configure.in: Don't use them.
- 	Set and substitute @FORBUILD@.
- 	* config.in, configure: Regenerate.
- 	* doprint.c: Move to libiberty/_doprnt.c.
- 	* doc/configterms.texi: Document that libiberty is now built
- 	up to three times.  Fix typo.
- 
- 2001-11-30  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (add_data_member_location_attribute): Do the
- 	right thing for virtual bases.
- 	* dbxout.c (dbxout_type): For a virtual base, print the offset
- 	within the vtable.
- 
- 2001-11-29  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
- 
- 	* doloop.c (doloop_valid_p): Check for LTU and GTU as well.
- 
- 2001-11-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Unnamed vector arguments
- 	go in memory.
- 	Remove unused attribute for named.
- 
- 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattrtab.c (attr_rtx_1): New function containing the
- 	majority of `attr_rtx'.  Move variable declarations into the
- 	scope where they are used.  Eliminate unnecessary gotos.
- 	(attr_rtx): Now just a wrapper for `attr_rtx_1' using VA_OPEN,
- 	VA_FIXEDARG, and VA_CLOSE.
- 
- 2001-11-30  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_notice_update_cc): Check first
- 	destination also against overlap with cc_status.value2 and second
- 	destination against overlap with cc_status.value1.  For overlaps,
- 	clear overlapped value, don't just CC_STATUS_INIT.
- 
- 	* config/cris/cris.h (EXTRA_CONSTRAINT_T): Fix spacing and FIXME.
- 	Fix typo in comment.
- 	(LINK_SPEC): Remove whitespace at end of line.
- 
- 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-lex.c (init_c_lex): Canonicalize "-" filename to "".
- 
- 2001-11-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (ASM_DEBUG_SPEC): Only check HAVE_AS_G*_DEBUG_FLAG
- 	macros for the supported debugging types.
- 
- 2001-11-29  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR other/4932
- 	* config/i386/i386.c (print_operand):  Verify that the
- 	  argument to %c is a constant and not a conditional which
- 	  needs to be reversed.
- 
- Thu Nov 29 11:12:59 2001  Geoffrey Keating (geoffk@redhat.com)
- 
- 	* emit-rtl.c (gen_lowpart_common): Fix conversion of
- 	REAL_VALUE_TYPEs to an array of target integers.  Fix extraction
- 	of low part of those arrays for 32bit and 64bit hosts.
- 
- 2001-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (insn-output.o): Depend on insn-codes.h.
- 
- 2001-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in (target_list): Add generated-manpages.
- 	* configure: Regenerate.
- 	* Makefile.in (generated-manpages): Depend on
- 	lang.generated-manpages.
- 	* objc/Make-lang.in (objc.generated-manpages): New dummy target.
- 
- 2001-11-29  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/crti.asm (_init): Add .thumb_func if compiled
- 	with -mthumb.
- 	(_fini): Add .thumb_func if compiled with -mthumb.
- 
- 2001-11-28  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Fix thinko in mips_tune
- 	for mips32/mips64. Remove MASK_SOFT_FLOAT configuration bits.
- 
- Thu Nov 29 00:24:15 EST 2001  John Wehle  (john@feith.com)
- 
- 	* alpha.md (tablejump): Use pic_offset_table_rtx
- 	instead of gen_rtx_REG.
- 
- Wed Nov 28 15:36:13 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* expr.c (store_expr): When copying a string constant into an
- 	array, reset the known alignment of the MEM for the section to
- 	be cleared to BITS_PER_UNIT.
- 
- 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c: Remove whitespace at end of line.
- 
- Wed Nov 28 14:51:23 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config.gcc (i[34567]86-*-interix3*): New case.
- 	* config/x-interix3, config/interix3.h, config/i386/i386-interix3.h:
- 	New files.
- 
- 2001-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (sibcall_osf_1, sibcall_value_osf_1): Use
- 	symbolic_operand as the predicate.
- 
- 2001-11-28  Richard Henderson  <rth@redhat.com>
- 
- 	* doloop.c (doloop_modify_runtime): Properly select induction
- 	variable; skip late entry test if biv initializer created by loop.
- 
- Wed Nov 28 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (EXPR_WFL_LINECOL): Used by Java in node other than
- 	EXPR_WITH_FILE_LOCATION, so change checks and documentation.
- 
- 	* tree.h (TREE_VIA_PROTECTED): Update to show can be in TREE_VEC.
- 
- 	* tree.h: Add missing checks on some macros; make formatting more
- 	consistent.
- 
- 	* stor-layout.c (put_pending_size): Look for SAVE_EXPR if not at top
- 	level; only add to pending_sizes if find it.
- 
- 	* langhooks.c (lhd_safe_from_p): Add ATTRIBUTE_UNUSED.
- 
- 	* df.c (iterate_dataflow_sbitmap, iterate_dataflow_bitmap):
- 	Add casts to remove warnings.
- 
- 	* Makefile.in (OBJS): Sort alphabetically.
- 
- 	* print-rtl.c (print_rtx): If RTX code is bad, just say so.
- 	Also minor cleanups.
- 
- Wed Nov 28 06:52:27 2001  Arnaud Charlet  <charlet@ACT-Europe.FR>
- 
- 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Remove STAGE_PREFIX.
- 	(FLAGS_TO_PASS): Add STAGE_PREFIX.
- 	(SUBDIR_FLAGS_TO_PASS): Apply PREPEND_DOTDOT_TO_RELATIVE_PATH
- 	to STAGE_PREFIX.
- 
- Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (true_dependence_in_rtx): New function.
- 	(invalidate): Use it.
- 
- 	* c-common.h (GOTO_FAKE_P): New macro.
- 	* tree-inline.c (GOTO_FAKE_P): Set.
- 	* c-tree.texi (GOTO_FAKE_P): Document.
- 
- 	* varasm.c (assemble_variable): Set reloc to 3 for error_mark
- 	containing pointers.
- 	(output_addressed_constants): Check for local/external relocations.
- 	* elfos.h (SELECT_SECTION): Classify data section.
- 	* tm.texi (SELECT_SECTION): Update documentation.
- 
- 	* cfganal.c (flow_dfs_compute_reverse_add_bb): set visited bit.
- 	(flow_dfs_compute_reverse_execute): Add only unvisited blocks.
- 
- 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Also provide defaults when we have
- 	OBJECT_FORMAT_ROSE.
- 
- 2001-11-28  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c: Tweak spacing for prototypes.
- 	(LOSE_AND_RETURN): New macro.
- 	(cris_operand_lossage): New function.
- 	(cris_print_index, cris_print_base): Use cris_operand_lossage
- 	rather than fatal_insn.
- 	(cris_print_operand, cris_print_operand_address): Use
- 	LOSE_AND_RETURN rather than fatal_insn and internal_error.
- 	(cris_output_addr_const): Use LOSE_AND_RETURN and
- 	output_operand_lossage rather than fatal_insn and internal_error
- 	for valid but unexpected rtx expressions.
- 
- 	* config/cris/cris.c (cris_split_movdx): Don't call alter_subreg
- 	for a SUBREG in src or dest, abort instead.
- 
- 2001-11-28  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* doc/passes.texi: Remove reference to c-dump.c. Update tree inlining
- 	doc.
- 
- 2001-11-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (ASM_DEBUG_SPEC): Use conditional expression rather than
- 	preprocessor define.  If only DBX_DEBUGGING_INFO or only
- 	DWARF2_DEBUGGING_INFO is supported for the target, provide
- 	appropriate definitions.
- 
- 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update, and add c-objc-common.o dependencies.
- 	* c-lang.c: Remove unnecessary includes.
- 	(c_init): Move bulk of code to c_objc_common_init, and call it.
- 	(c_tree_printer, c_missing_noreturn_ok_p, c_disregard_inline_limits,
- 	inline_forbidden_p, c_cannot_inline_tree_fn): Move to
- 	c-objc-common.c.
- 	* c-objc-common.c: New.  Mostly pulled from c-lang.c.
- 	* c-tree.h (c_disregard_inline_limits, c_cannot_inline_fn,
- 	c_objc_common_init, c_missing_noreturn_ok_p): New.
- 	* toplev.c: Update comment.
- 	* doc/passes.texi: Update.
- objc:
- 	* objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
- 	LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
- 	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
- 	(objc_init): Update to use c_objc_common_init.
- 
- 2001-11-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.c (_cpp_init_hashtable): Update.
- 	* cpphash.h (struct spec_nodes): Remove n_L.
- 	* cpplex.c (_cpp_lex_direct): Check for prefix L separately.
- 
- 2001-11-17  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (loop_iterations): Move last change ...
- 	* doloop.c (doloop_modify_runtime): ... here.
- 
- 2001-11-17  Corey Minyard  <minyard@acm.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (loop_iterations): Detect one situation in which we
- 	overestimate the number of iterations.
- 
- 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gcc.c (set_input): Export.
- 	Move declaration ...
- 	gcc.h (set_input): ... here.
- 
- 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gcc.c (set_collect_gcc_options): New function, split out from
- 	main.
- 	Ignore elided switches.
- 	(do_spec): Invoke before executing command.
- 	(do_spec_1): Likewise.
- 	Fixes PR other/3968.
- 
- 2001-11-27  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h (INT_ASM_OP): Remove.
- 
- 2001-11-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/i386/sol2.h (WINT_TYPE): Redefine.
- 	(WINT_TYPE_SIZE): Likewise.
- 
- 2001-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c: Check HAVE_DUP2 instead of NO_DUP2.
- 	(dup2): Make static and add prototype.
- 	* m68k/plexus.h: Don't define NO_DUP2.
- 	* configure.in (AC_CHECK_FUNCS): Add dup2.
- 	* config.in, configure: Regenerate.
- 
- 	* ia64/aix.h (REG_SIZE): Don't #undef.
- 	* sparc.h (REG_SIZE): Delete.
- 	* flow.c (mark_used_regs): Don't use REG_SIZE.
- 	* regs.h (REG_SIZE): Delete.
- 
- 2001-11-27  Andreas Schwab  <schwab@suse.de>
- 
- 	* gcc.c: Fix typo PREFERRED_DEBUGGING_FORMAT ->
- 	PREFERRED_DEBUGGING_TYPE.
- 
- Tue Nov 27 08:21:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (c-lang.o): Depends on langhooks-def.h.
- 	(expr.o, varasm.o): Depends on langhooks.h.
- 	* c-common.c (c_safe_from_p): Always declare.
- 	(c_expand_expr): Refine when declared.
- 	* c-lang.c (c-common.h): Now include.
- 	(LANG_HOOKS_SAFE_FROM_P): Define new hook.
- 	(c_init): Don't set lang_safe_from_expr.
- 	* expr.c (langhooks.h): Now include.
- 	(lang_safe_from_p): No longer define.
- 	(safe_from_p): Use lang hook.
- 	(expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
- 	(expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
- 	* expr.h (lang_expand_constant, lang_safe_from_p): Delete.
- 	* langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
- 	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
- 	* langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
- 	* langhooks.h (struct lang_hooks): New fields expand_constant
- 	and safe_from_p.
- 	* output.h (output_constant): Size arg is HOST_WIDE_INT.
- 	* stmt.c (expand_decl_init): No longer need to expand constant
- 	for CONST_DECL.
- 	* stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
- 	* toplev.c (lang_expand_constant): Delete var.
- 	* tree.c (save_expr): Don't put another SAVE_EXPR around simple
- 	operations on SAVE_EXPR.
- 	* varasm.c (langhooks.h): Now include.
- 	(compare_constant_1): Use lang_hooks, not lang_expand_constant.
- 	(record_constant_1, output_addressed_constants): Likewise.
- 	(initializer_constant_valid_p, output_constant): Likewise.
- 	(output_constant_def): Process no-defer of string constant.
- 	(output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
- 	(output_constant): Strip more conversions.
- 	Track our size and pad for the rest.
- 	(array_size_for_constructor): Remove code for non-byte STRING_CST.
- 	(output_constructor): SIZE now HOST_WIDE_INT.
- 
- 2001-11-27  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (noce_try_store_flag_constants): Test for overflow
- 	in computing DIFF.
- 
- 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppfiles.c (read_include_file): Add comment.
- 
- 2001-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Call free_bb_for_insn before exit.
- 
- 2001-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Undef.
- 	* config/ia64/aix.h (PREFERRED_DEBUGGING_TYPE): Remove
- 	commented out override.
- 
- 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Don't optimize zero-length
- 	files.
- 	(read_include_file): NUL-terminate read files.
- 	* cpplex.c (handle_newline, skip_escaped_newlines,
- 	get_effective_char, skip_whitespace, parse_identifier,
- 	parse_identifier_slow, parse_number, parse_string,
- 	_cpp_lex_direct): Optimize for the fact that buffers are guaranteed
- 	NUL-terminated.
- 	* cpplib.c (destringize_and_run, cpp_define, handle_assertion):
- 	Be sure buffers are NUL terminated.
- 	* cppmacro.c (warn_of_redefinition): Kill compile warning.
- 
- 2001-11-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c: Include tree-inline.h.
- 	(c_language): Move separate definitions here.
- 	(c_common_init_options, c_common_post_options): New.
- 	(c_common_lang_init): Rename c_common_init.
- 	* c-common.h (c_common_lang_init): Similarly.
- 	(c_common_init_options, c_common_post_options): New.
- 	* c-lang.c (c_post_options): Move body to c_common_post_options.
- 	(c_init_options): Use c_common_init_options.
- 	(c_init): Update.
- 	* langhooks.def: Rearrange.
- 	* langhooks.h: Rearrange, and improve comments.
- 	* toplev.c (do_compile): New function.
- 	(toplev_main): Use it.
- 	(lang_independent_f_options, parse_options_and_default_flags,
- 	process_options): Remove trailing periods.
- 	* Makefile.in: Update.
- objc:	* objc-act.c (objc_post_options, objc_init_options): Use c-common.c
- 	functions.
- 	(ojbc_init): Update.
- 
- 2001-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (unop): Add 0 offset for some gas versions.
- 
- 2001-11-26  DJ Delorie  <dj@redhat.com>
- 
- 	* expr.c (store_constructor): Actually use the value computed
- 	if WORD_REGISTER_OPERATIONS.
- 
- 2001-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/elfos.h (SELECT_SECTION): Don't check TREE_READONLY
- 	for CONSTRUCTOR.
- 
- 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (output_mi_thunk): Handle minimal-toc and call
- 	correct function on AIX.
- 
- 2001-11-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* toplev.c (process_options): Don't force
- 	flag_optimize_sibling_calls to zero just because exceptions are
- 	enabled.
- 
- Mon Nov 26 12:37:05 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* df.h (transfer_function_sbitmap): Use PARAMS around argument
- 	list in function prototypes.
- 	(transfer_function_bitmap): Likewise.
- 
- 2001-11-26  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config/stormy16/stormy16.h: Remove DEFAULT_VTABLE_THUNKS.
- 	* config/i386/netbsd-elf.h: Likewise.
- 
- 2001-11-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/trouble.texi: Remove outdated RS/6000 comments.
- 
- Mon Nov 26 13:49:41 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (walk_alter_subreg): Fix return value.
- 
- Mon Nov 26 11:36:20 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* sparc.c (sparc_absnegfloat_split_legitimate): Do not call
- 	alter_subreg.
- 	* sparc.md (post-reload splitters): Do not call alter_subreg.
- 	* cfgrtl.c (purge_dead_edges): Fix typo in previous fix.
- 
- 2001-11-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* regclass.c (choose_hard_reg_mode): Handle vector arguments.
- 
- 2001-11-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* final.c: (insn_lengths): Make it an int *, so that large jump
- 	tables don't overflow.
- 
- 2001-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-format.c (FMT_FLAG_DOLLAR_GAP_POINTER_OK): New.
- 	(format_types): Use it for scanf.
- 	(dollar_arguments_pointer_p): New.
- 	(init_dollar_format_checking): Store details of which arguments
- 	are pointers.
- 	(maybe_read_dollar_number): Reallocate dollar_arguments_pointer_p.
- 	(finish_dollar_format_checking): Take extra parameter
- 	pointer_gap_ok.  Treat unused arguments differently if
- 	pointer_gap_ok and the unused arguments are pointers.
- 	(check_format_info_main): Pass extra argument to
- 	finish_dollar_format_checking.
- 	* doc/invoke.texi (-Wno-format-extra-args): Document behavior when
- 	unused arguments are present between used arguments with operand
- 	numbers.
- 
- 2001-11-25  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* df.c: Add prototypes for hybrid_search_bitmap and
- 	hybrid_search_sbitmap.
- 	(hybrid_search_bitmap): New function.
- 	(hybrid_search_sbitmap): New function.
- 	(iterative_dataflow_sbitmap): Change to use hybrid_search_sbitmap.
- 	(iterative_dataflow_bitmap): Ditto.
- 
- 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
- 	address computations.
- 
- 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (d_register_operand): Must accept
- 	register b (low part of d).
- 
- 2001-11-25  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (FUNCTION_PROFILER): Fix label name
- 	passed to mcount.
- 
- Sun Nov 25 06:22:09 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms-ld.c, config/alpha/vms-cc.c: New files.
- 	* config/alpha/x-vms: New file, to compile the above.
- 	* config.gcc (alpha*-dec-vms*): Add x-vms.
- 
- 2001-11-24  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* genextract.c (main): Set ro_loc for peepholes.
- 
- Sat Nov 24 17:04:10 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* fix-header.c (main): Move inf_buffer termination and inf_limit
- 	calculation to after read.
- 
- 	* config/alpha/xm-vms.h (FILE_TYPE): Remove undef and baggage.
- 	(__UNIX_FOPEN): Define.
- 
- Sat Nov 24 16:11:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (assign_stack_temp_for_type): Clear alias set before
- 	setting new one.
- 
- 2001-11-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (print_operand, case 'v'): Use HOST_WIDE_INT_PRINT_HEX
- 	format.
- 	* rs6000.md (cmptf): Fix typo.
- 
- 2001-11-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* final.c (output_addr_const): Output PC as '.' even if !flag_pic.
- 	* varasm.c (output_constructor): Use assemble_integer rather
- 	than ASM_OUTPUT_BYTE.
- 
- 2001-11-23  Andreas Jaeger  <aj@suse.de>
- 
- 	* cpplex.c (cpp_interpret_charconst): Use HOST_WIDE_INT for sign
- 	extension.
- 
- 2001-11-23  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/xscale-coff.h (SUBTARGET_CPU_DEFAULT): Override
- 	default definition.
- 	(SUBTARGET_EXTRA_ASM_SPEC): Remove previous definition.
- 	(MULTILIB_DEFAULTS): Remove previous definition.
- 
- 2001-11-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (warn_of_redefinition): Warn regardless of -pedantic.
- 	* gcc.dg/cpp/mi6.c, gcc.dg/cpp/redef2.c: Update.
- 
- 2001-11-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cris.h: Revert thinko in last patch.
- 
- 2001-11-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.0, ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog,
- 	FSFChangeLog.10, c-decl.c, cppfiles.c, cppinit.c, cpplex.c,
- 	cpplib.c, cppmain.c, cse.c, df.c, diagnostic.c, dominance.c,
- 	dwarf2out.c, dwarfout.c, emit-rtl.c, errors.c, except.c, except.h,
- 	explow.c, function.c, gcse.c, genrecog.c, predict.c, regmove.c,
- 	sched-rgn.c, ssa-ccp.c, stmt.c, toplev.c: Fix spelling errors.
- 
- 	* predict.c, reg-stack.c: Fix spelling errors.
- 
- 2001-10-09  Andrew Haley  <aph@redhat.com>
- 
- 	* calls.c (check_sibcall_argument_overlap): Use slot_offset for
- 	start of stack slot.
- 
- 2001-11-22  Graham Stott  <grahams@redhat.com>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Fix typo, emit
- 	replacement jump after original jump.
- 
- 	(verify_flow_info): Remove redundent initialisation.
- 	Handle reaching end of insn list before finding a BARRIER.
- 	Only issue one missing barrier diagnostic.
- 
- 2001-11-22  Graham Stott  <grahams@redhat.com>
- 
- 	* local-alloc.c (combine_regs): Handle SUBREG_REG being a MEM.
- 
- Thu Nov 22 06:49:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.md (leave, leave_rex64): Have RTL reflect what
- 	insn actually does.
- 
- 2001-11-22  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* doc/invoke.texi (M32R/D Option Summary): Document -m32r switch.
- 	Fix typo -mm32rx=> -m32rx.
- 
- 	* config/arm/arm.c (arm_elf_asm_named_section): Only build for elf
- 	targets.
- 
- 	* config.gcc (xscale-coff): Add necessary header files to
- 	tm_file variable.
- 
- 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rs6000.c (output_cbranch): Use $, not %$, in output template.
- 
- 2001-11-21  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* tree-dump.c: Rename from c-dump.c. Include c-tree.h, not c-common.h.
- 	(lang_type_quals): Declare.
- 	(dequeue_and_dump): Use lang_hooks.tree_dump.type_quals function to
- 	retrieve language-specific qualifiers for a type node, instead of
- 	C_TYPE_QUALS. Likewise for lang_hooks.tree_dump.dump_tree instead of
- 	lang_dump_tree.
- 	* tree-dump.h: Rename from c-dump.h.
- 	* c-common.h (C_TYPE_QUALS): Removed.
- 	Move declarations for tree-dump.c interface to...
- 	* tree.h: ... here. Remove lang_dump_tree.
- 	* langhooks.h (struct lang_hooks_for_tree_dump): New.
- 	(struct lang_hooks): Add tree_dump hooks.
- 	* langhooks.c (lhd_tree_dump_dump_tree): New function.
- 	(lhd_tree_dump_type_quals): New function.
- 	* langhooks-def.h (lhd_tree_dump_dump_tree, lhd_tree_dump_type_quals):
- 	Declare.
- 	(LANG_HOOKS_INITIALIZER): Add tree_dump hooks.
- 	* Makefile.in: Move tree-dump.o to language-independent back-end.
- 
- 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.h (DBX_REGISTER_NUMBER): Don't define.
- 	* alpha.h (DBX_REGISTER_NUMBER): Likewise.
- 	* arc.h (DBX_REGISTER_NUMBER): Likewise.
- 	* arm/aout.h (DBX_REGISTER_NUMBER): Likewise.
- 	* avr.h (DBX_REGISTER_NUMBER): Likewise.
- 	* c4x.h (DBX_REGISTER_NUMBER): Likewise.
- 	* clipper.h (DBX_REGISTER_NUMBER): Likewise.
- 	* convex.h (DBX_REGISTER_NUMBER): Likewise.
- 	* cris.h (DBX_REGISTER_NUMBER): Likewise.
- 	* dsp16xx.h (DBX_REGISTER_NUMBER): Likewise.
- 	* elxsi.h (DBX_REGISTER_NUMBER): Likewise.
- 	* fr30.h (DBX_REGISTER_NUMBER): Likewise.
- 	* h8300.h (DBX_REGISTER_NUMBER): Likewise.
- 	* i370.h (DBX_REGISTER_NUMBER): Likewise.
- 	* i860.h (DBX_REGISTER_NUMBER): Likewise.
- 	* i860/paragon.h (DBX_REGISTER_NUMBER): Likewise.
- 	* i860/sysv3.h (DBX_REGISTER_NUMBER): Likewise.
- 	* i860/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
- 	* m32r.h (DBX_REGISTER_NUMBER): Likewise.
- 	* m68hc11.h (DBX_REGISTER_NUMBER): Likewise.
- 	* m88k.h (DBX_REGISTER_NUMBER): Likewise.
- 	* mcore/mcore-elf.h (DBX_REGISTER_NUMBER): Likewise.
- 	* mcore.h (DBX_REGISTER_NUMBER): Likewise.
- 	* mn10200.h (DBX_REGISTER_NUMBER): Likewise.
- 	* mn10300.h (DBX_REGISTER_NUMBER): Likewise.
- 	* pdp11.h (DBX_REGISTER_NUMBER): Likewise.
- 	* romp.h (DBX_REGISTER_NUMBER): Likewise.
- 	* rs6000.h (DBX_REGISTER_NUMBER): Likewise.
- 	* rs6000/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
- 	* s390/linux.h (DBX_REGISTER_NUMBER): Likewise.
- 	* stormy16.h (DBX_REGISTER_NUMBER): Likewise.
- 	* v850.h (DBX_REGISTER_NUMBER): Likewise.
- 	* vax.h (DBX_REGISTER_NUMBER): Likewise.
- 	* we32k.h (DBX_REGISTER_NUMBER): Likewise.
- 
- 	* defaults.h (DBX_REGISTER_NUMBER): Provide a default.
- 	* doc/tm.texi (DBX_REGISTER_NUMBER): Update.
- 
- 2001-11-21  H.J. Lu <hjl@gnu.org>
- 
- 	* config/rs6000/sysv4.h (LIB_SPEC): Fix a typo.
- 
- 2001-11-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* s390.c (s390_va_arg): Eliminate ALIGN parameter in call to
- 	emit_cmp_and_jump_insns.
- 
- 	* stormy16.c (xstormy16_expand_builtin_va_arg,
- 	xstormy16_expand_casesi): Likewise.
- 
- Wed Nov 21 17:37:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (keep_stack_depressed): Major rework.
- 	(handle_epilogue_set, emit_equiv_load): New functions.
- 	(thread_prologue_and_epilogue_insns): keep_stack_depressed now
- 	has return value.
- 	* jump.c (returnjump_p_1): Also return 1 if SET with SET_IS_RETURN_P.
- 	* rtl.h (SET_IS_RETURN_P): New macro.
- 
- 	* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
- 	and also support TREE_ADDRESSABLE.
- 	* tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.
- 
- 2001-11-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (cmptf_internal1): Replace %$ with $.
- 
- Wed Nov 21 16:44:01 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* cppfiles.c (STAT_SIZE_TOO_BIG): Define.
- 	(read_include_file): Use STAT_SIZE_TOO_BIG.
- 
- 	* cppinit.c (INO_T_COPY): Define.
- 	(INO_T_EQ): Uppercase parameters.
- 	(append_include_chain): Use INO_T_COPY.
- 
- 2001-11-21  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* cfg.c: Fix typos and formatting in the introductory comment.
- 
- Wed Nov 21 12:38:37 CET 2001  Jan Hubicka
- 
- 	* profile.c (compute_branch_probabilites):  Compute probabilities
- 	for entry/exit edges; estimate probabilities for zero counts.
- 
- 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* explow.c (probe_stack_range): Use LCT_NORMAL as second argument
- 	to emit_library_call.
- 	* function.c (expand_main_function, expand_function_start,
- 	expand_function_end): Likewise.
- 	* profile.c (output_func_start_profiler): Likewise.
- 	* stmt.c (expand_nl_goto_receivers): Use LCT_NORETURN as
- 	second argument to emit_library_call.
- 	* optabs.c (prepare_cmp_insn): Use LCT_CONST_MAKE_BLOCK
- 	as second argument to emit_library_call.
- 	* calls.c (emit_library_call): Update fn_type description.
- 
- 2001-11-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (c_expand_deferred_function): Only call c_expand_body
- 	if fndecl is still DECL_INLINE and has DECL_RESULT.
- 
- 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* clipper.c (clipper_movstr): Avoid uninitialized warning.
- 	* i960.c (is_mask, legitimize_address): Likewise.
- 	* m88k.c (m88k_expand_prologue): Likewise.
- 	* m88k.md: Likewise.
- 	* mcore.c (emit_new_cond_insn): Likewise.
- 	* stormy16.c (xstormy16_emit_cbranch): Likewise.
- 
- 2001-11-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Delete powerpcle-*-solaris2* stanza.
- 	* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
- 	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
- 	config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
- 	config/rs6000/t-ppcos: Expunge all references to Solaris.
- 
- 	* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
- 
- 	* config/rs6000/rs6000.md: Replace '%$' with '$' in all
- 	output templates.
- 	* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
- 	and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
- 
- 2001-11-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sh.md: Avoid uninitialized warnings.
- 	* vax.c (vax_rtx_cost): Likewise.
- 
- 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.c (direct_return): Check if we are saving altivec
- 	registers.
- 	(first_altivec_reg_to_save): New.
- 	Updated stack frame layout comments.
- 	(rs6000_stack_info): Calculate altivec register save size.
- 	Save link register if we saved some altivec registers.
- 	(rs6000_stack_info): Align save size to 16 if altivec abi or
- 	abi_darwin.
- 	(rs6000_stack_info): Calculate altivec register offsets.
- 	(rs6000_stack_info): Add altivec info to save_size.
- 	(debug_stack_info): Add altivec debug info.
- 	(rs6000_emit_prologue): Save altivec registers and vrsave.
- 	(compute_vrsave_mask): New.
- 	(altivec_expand_builtin): Remove unused variables.
- 	(rs6000_parse_abi_options): Add static qualifier.
- 	(rs6000_expand_builtin): Remove unused parameters.
- 	(altivec_expand_builtin): Cast bdesc_2arg to get rid of warning.
- 	(altivec_init_builtins): Same.
- 	(is_altivec_return_reg): New.
- 	(vrsave_operation): New.
- 	(ALTIVEC_REG_BIT): New.
- 	(generate_set_vrsave): New.
- 
- 	* rs6000.md (get_vrsave): New.
- 	(set_vrsave): New.
- 	(*set_vrsave_internal): New.
- 
- 	* rs6000.h (rs6000_stack): Add first_altivec_reg_save,
- 	altivec_save_offset, vrsave_save_offset, altive_size, vrsave_size,
- 	altivec_padding_size, vrsave_mask.
- 	(TOTAL_ALTIVEC_REGS): New.
- 	(EPILOGUE_USES): Add VRSAVE_REGNO.
- 
- 2001-11-20  Jeff Law <law@redhat.com>
- 
- 	* unroll.c (copy_loop_body): Update LABEL_NUSES for the
- 	exit label as necessary.
- 
- 2001-11-20  Brad Kaiser  <bkaiser@acelink.net>
- 
- 	* reload1.c (elimination_effects): Use function_invariant_p
- 	instead of CONSTANT_P when considering register equivalences.
- 
- 2001-11-20  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc: Add FreeBSD/PowerPC target.
- 	(powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
- 	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
- 	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
- 	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
- 	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
- 	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*): Add
- 	freebsd-spec.h to tm_file.
- 	(rs6000-*-lynxos*): Add lynx.h to tm_file.
- 	* config/freebsd.h: Tidy up.
- 	(USING_CONFIG_FREEBSD): Define.
- 	(FBSD_SWITCH_TAKES_ARG, FBSD_WORD_SWITCH_TAKES_ARG,
- 	FBSD_CPP_PREDEFINES, FBSD_CPP_SPEC, FBSD_STARTFILE_SPEC,
- 	FBSD_ENDFILE_SPEC, FBSD_LIB_SPEC): Remove (moved to freebsd-spec.h).
- 	(TARGET_HAS_F_SETLKW): Define.
- 	(ASM_OUTPUT_IDENT): Delete, the elfos.h definition is fine.
- 	* config/freebsd-spec.h: New file.
- 	* config/rs6000/freebsd.h: New file.
- 	* config/rs6000/rs6000.h (TARGET_VERSION): Do not define.
- 	* config/rs6000/rs6000.c: Test for USING_ELFOS_H rather than
- 	USING_SVR4_H to know when to turn on ELF support.
- 	* config/rs6000/sysv4.h (TARGET_VERSION, CPP_PREDEFINES): Don't undef,
- 	define only if not already defined.
- 	Add FreeBSD support.
- 	* config/rs6000/aix.h (TARGET_VERSION): Define.
- 	* config/rs6000/beos.h: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 	* config/rs6000/mach.h: Likewise.
- 	* config/rs6000/lynx.h (TARGET_VERSION): Likewise.
- 	Don't include lynx.h directly.
- 
- 2001-11-20  Graham Stott  <grahams@redhat.com>
- 
- 	* unwind-dw2-fde.c (__deregister_frame_info_bases):
- 	Fix lossage in last change return OB.
- 
- Tue Nov 20 11:56:12 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/xm-vms.h (_POSIX_EXIT): Define.
- 	Remove unneeded exit related macros.
- 
- 2001-11-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_emit_eh_toc_restore): Remove ALIGN parm.
- 
- 	* rs6000.c (rs6000_emit_move): Add TFmode case.
- 	* sysv4.h (MASK_LONG_DOUBLE_128, TARGET_LONG_DOUBLE_128,
- 	LONG_DOUBLE_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
- 	LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Move from here...
- 	* rs6000.h: ... to here.
- 	* rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2,
- 	trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2,
- 	fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns.
- 
- Tue Nov 20 06:41:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (get_mem_attrs): Fix typo.
- 
- 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-lang.c (finish_file): Backout 2001-11-16
- 	changes, instead set DECL_DEFER_OUTPUT for static inline functions
- 	before calling c_expand_deferred_function.
- 
- 2001-11-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unwind-dw2-fde.c (__register_frame_info_bases, __register_frame):
- 	Don't register empty .eh_frame sections.
- 	(__deregister_frame_info_bases, __deregister_frame): Don't
- 	unregister them either.
- 
- 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* configure.in (HAVE_AS_GDWARF2_DEBUG_FLAG): Define.
- 	(HAVE_AS_GSTABS_DEBUG_FLAG): Define.
- 	* configure: Regenerate.
- 	* config.in: Add dummy definitions of new flags.
- 	* toplev.c (PREFERRED_DEBUGGING_TYPE): Move definition to...
- 	* defaults.h (PREFERRED_DEBUGGING_TYPE): ... here.
- 	* gcc.c (ASM_DEBUG_SPEC): New macro.
- 	(asm_debug): New static variable.
- 	(default_compilers): Add asm_debug when assembling from
- 	user input.
- 	(static_specs): Add asm_debug.
- 
- 2001-11-20  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config.gcc (*-*-freebsd*): Remove configuration block.
- 
- 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	bootstrap/4422
- 	* configure.in: Setup ability to run ./stage[1234]/xgcc in
- 	fixinc *as if* it were a proper lang subdirectory.
- 	* configure: Rebuilt.
- 
- 2001-11-19  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config/freebsd.h: Remove DEFAULT_VTABLE_THUNKS (again).
- 
- 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.md: Don't use hex format for a const_int.
- 
- 2001-11-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* expmed.c (extract_bit_field): Don't create invalid SUBREGs.
- 
- 2001-11-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mkconfig.sh: Undefine ENABLE_NLS if GENERATOR_FILE is
- 	defined (prevents link errors when gettext isn't in the system
- 	library).
- 
- 2001-11-19  DJ Delorie  <dj@redhat.com>
- 
- 	* read-rtl.c (ISDIGIT, ISSPACE): Make sure we have these.
- 	(validate_const_int): New.
- 	(read_rtx): Validate constant integers.
- 	* config/i386/i386.md (pmulhrwv4hi3): Use decimal constants.
- 
- 2001-11-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* doc/hostconfig.texi (DUMPFILE_FORMAT): Move into the table.
- 
- Mon Nov 19 16:57:44 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* toplev.c (DUMPFILE_FORMAT): Define default.
- 	(open_dump_file): Use DUMPFILE_FORMAT in sprintf.
- 	(close_dump_file, compile_file): Likewise.
- 	* config/alpha/xm-vms.h (DUMPFILE_FORMAT): Define.
- 	* doc/hostconfig.texi (DUMPFILE_FORMAT): Document
- 
- 2001-11-19  Jeff Law <law@redhat.com>
- 
- 	* gcse.c (cprop_jump): Clear JUMP_LABEL field when we create
- 	a nop-jump.
- 
- 2000-11-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (_cpp_backup_tokens): Revert previous check-in.
- 	Don't fall off the base token run.
- 
- 2001-11-19  Jason Wilkins <fenix@io.com>
- 
- 	* Makefile.in: Use INSTALL_SCRIPT not INSTALL_PROGRAM.
- 
- Mon Nov 19 15:13:43 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.def (VIEW_CONVERT_EXPR): New tree code.
- 	* tree.h (handled_component_p): New declaration.
- 	* alias.c (handled_component_p): Move function from here ...
- 	* expr.c (handled_component_p): ... to here and non longer static.
- 	(is_zeros_p, case VIEW_CONVERT_EXPR): New case.
- 	(store_field): Remove unneeded MEM_COPY_ATTRIBUTES call.
- 	(get_inner_reference): Handle VIEW_CONVERT_EXPR.
- 	(expand_expr, case VAR_DECL): Clean up handling of re-layout case.
- 	(expand_expr, case VIEW_CONVERT_EXPR): New case.
- 	(expand_expr, cse ADDR_EXPR): No need to copy if already
- 	BIGGEST_ALIGNMENT.
- 	* fold-const.c (fold, case VIEW_CONVERT_EXPR): New case.
- 	* varasm.c (initializer_constant_value_p, case VIEW_CONVERT_EXPR): New.
- 	(output_constant): Handle VIEW_CONVERT_EXPR.
- 	* dwarf2out.c (loc-descriptor_from_tree, add_bound_info):
- 	Add new case for VIEW_CONVERT_EXPR.
- 
- 2001-11-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* a29k/unix.h (ASM_FILE_START): Const-ify.
- 	* i386/beos-elf.h (INCLUDE_DEFAULTS): Remove semi-colon.
- 	* i386/isc.h (ASM_FILE_START): Const-ify.
- 	* i386/sun386.h (ASM_FILE_START): Likewise.
- 	* m32r.md: Likewise.
- 	* m68k/auxas.h (ADDITIONAL_REGISTER_NAMES): Add missing brackets.
- 	* m68k/auxgas.h ADDITIONAL_REGISTER_NAMES): Likewise.
- 	* m68k/tower.h (REGISTER_NAMES): Remove semi-colon.
- 	* mn10200.md: Initialize variable.
- 
- Mon Nov 19 18:06:21 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (try_replace_reg): Copy RTX before creating note.
- 
- 	* df.h (df_ref_flags): New uenum.
- 	(DF_REF_FLAGS): New macro.
- 	(struct ref): Add field "flags".
- 	* df.c (HANDLE_SUBREG): Remove.
- 	(df_ref_create): Likewise; set flags field of ref.
- 	(df_def_record_1): Strip down read_write subreg; remove
- 	commented out code; set READ_WRITE flag.
- 	(read_modify_subreg_p): New static function.
- 	(df_uses_record): Cleanup SET handling; set READ_WRITE flag;
- 	new argument "flags".
- 	(df_insn_refs_record): Update call of df_uses_record.
- 	(df_insn_modify): Avoid #if 0 around comment.
- 	(df_dump): Dump the read/write flag.
- 
- 	* predict.c (propagate_freq): Make cyclic_probability and frequency
- 	volatile
- 
- 	* i386.c (ix86_cc_mode): Accept USE.
- 
- 	* cfgrtl.c (purge_dead_edges):  Cleanup EDGE_ABNORMAL flag if computed
- 	jump is turned into simplejump.
- 
- 2001-11-19  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/fragments.texi, doc/trouble.texi: Remove links to old
- 	installation chapter.
- 	* doc/gcc.texi: Don't claim that this manual documents
- 	installation.  Mark Installation menu entry as being out of date.
- 
- Mon Nov 19 07:21:35 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/xm-vms.h: Don't define macros that autoconf handles.
- 	(SUCCESS_EXIT_CODE, FATAL_EXIT_CODE): Define for posix compatibility.
- 	* gcc.c (exit): Remove definition for VMS; moved to xm-vms.h.
- 
- 2001-11-19  Jason Merrill  <jason@redhat.com>
- 
- 	* cppmacro.c (_cpp_backup_tokens): Pop cur_run before decrementing
- 	cur_token, not after.
- 
- 	* config/clipper/clix.h, config/h8300/elf.h, config/mips/linux.h:
- 	Lose ASM_OUTPUT_CONSTRUCTOR.
- 	* system.h: Poison it and INT_ASM_OP.
- 	* c-lang.c (finish_file): Don't check for it.
- 	* libgcc2.c (L_ctors): Check TARGET_ASM_CONSTRUCTOR instead.
- 
- 2001-11-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mmix.c (mmix_cc1_ignored_option): Const-ify.
- 	(mmix_init_machine_status): Make static to match declaration.
- 	(mmix_unique_section): Const-ify.
- 	(mmix_output_quoted_string): Avoid automatic aggregate
- 	initialization.
- 	(mmix_output_register_setting): Likewise.
- 	(mmix_output_shiftvalue_op_from_str): Likewise.
- 
- 	* mmix.h (mmix_cc1_ignored_option): Const-ify.
- 	(ASM_OUTPUT_BYTE): Fix format specifier warning.
- 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 
- 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR c/4448
- 	* gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
- 	name __objc_thread_exit_status so that it matches the
- 	variable defined in objc/thr.h.
- 
- 2001-11-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR bootstrap/4020
- 	* mklibgcc.in: Add missing semi-colons.
- 	* Makefile.in: Same.
- 
- Sun Nov 18 16:47:00 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case VAR_DECL): Update alignment of DECL_RTL
- 	after re-laying out decl in incomplete case.
- 	(expand_expr, case ADDR_EXPR): Fix typo in copy case.
- 
- 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install-old.texi: Move some sections out to ...
- 	* doc/collect2.texi, doc/configfiles.texi, doc/headerdirs.texi:
- 	... here.  New files.  Make into chapters rather than sections.
- 	* doc/gcc.texi: Include the new files and add menu entries for
- 	them.
- 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
- 
- Sun Nov 18 14:13:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (TYPE_ALIGN_OK): New flag.
- 	* emit-rtl.c (set_mem_attributes): Handle it.
- 	* expr.c (emit_single_push_insn): Only set to alias set 0 if
- 	doing sibcall optimization.
- 	(expand_expr, case COMPONENT_REF): Call set_mem_attributes on case
- 	when make temporary.
- 	(expand_expr, case CONVERT_EXPR): Simplify convert-to-union case.
- 	(expand_expr, case ADDR_EXPR): Abort if TYPE_ALIGN_OK and need copy.
- 
- 	* sdbout.c (sdbout_symbol): Avoid warning due to &DECL_RTL.
- 
- 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (c_decode_option): Give deprecation warning for
- 	-traditional.
- 	* doc/invoke.texi (-traditional): Note that this option is
- 	deprecated.
- 
- Sun Nov 18 07:40:07 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/alpha.c (alpha_start_function, VMS): Cast shift
- 	arg to HOST_WIDE_INT, not long.
- 
- 	* config/alpha/vms.h (DIR_SEPARATOR, PREFIX). Don't define.
- 	(HAS_INIT_SECTION): Define.
- 	(REAL_ARITHMETIC): Don't undefine.
- 
- 2001-11-18  Egor Duda  <deo@logos-m.ru>
- 
- 	* config/i386/cygwin.h: Strip leading '*' from name, if any.
- 
- 2001-11-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (c-parse.o, c-common.o): Update dependencies.
- 	* c-common.c: Include diagnostic.h.
- 	(c_common_finish): New.
- 	* c-common.h (c_common_finish): New.
- 	* c-lang.c (LANG_HOOKS_FINISH): Override.
- 	* c-parse.in: Don't include diagnostic.h.
- 	(finish_parse): Remove.
- 	* langhooks.h: Update comments.
- 	* toplev.c (lang_dependent_init): New prototype.
- 	(finalize): New.
- 	(compile_file): Split cleanup code out to finalize.
- 	(lang_dependent_init): Stop if lang_hooks.init fails.
- 	(toplev_main): Update.
- 	* tree.h (finish_parse): Remove.
- objc:
- 	* objc-act.c (LANG_HOOKS_FINISH): Override.
- 
- Sat Nov 17 23:30:44 2001  Douglas B. Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms_tramp.asm.
- 	* config/alpha/vms_tramp.asm: New file.
- 	* config/alpha/vms-tramp.asm: Removed.
- 
- 2001-11-18  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (struct disabled_builtin, disabled_builtins,
- 	disable_builtin_function, builtin_function_disabled_p): New.
- 	(builtin_function_2): Check for disabled built-in functions.
- 	* c-common.h (disable_builtin_function): Declare.
- 	* c-decl.c (c_decode_option): Handle -fno-builtin-FUNCTION.
- 	* doc/invoke.texi: Document -fno-builtin-FUNCTION.
- 	* doc/extend.texi: Mention -fno-builtin-FUNCTION.
- 
- 2001-11-17  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR target/4606
- 	* config.gcc: Remove reference to va-clipper.h.
- 
- 2001-11-17  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix the
- 	AltiVec-related bitfields.
- 
- Sat Nov 17 12:06:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* except.c (enum eh_region_type): Add ERT_UNKNOWN.
- 	(mark_eh_region, case ERT_UKNONW): New case.
- 
- 2001-11-17  Christopher Faylor  <cgf@redhat.com>
- 	    Corinna Vinschen  <vinschen@redhat.com>
- 
- 	* config/i386/cygwin.h: Search target specific include directory for
- 	w32api stuff, if appropriate.
- 
- Sat Nov 17 08:20:44 2001  Douglas Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (REG_ALLOC_ORDER): Redefine.
- 
- 2001-11-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Change all ldvx to lvx.
- 
- 2001-11-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gensupport.c (process_rtx): Don't assume filename is the first
- 	argument of any rtl.
- 
- 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax-protos.h (reg_was_0_p): New prototype.
- 	* vax.md (movsi, movhi, movqi): Use reg_was_0_p.
- 	* vax.c (follows_p, reg_was_0_p): New functions.
- 
- 2001-11-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.md (casesi): Swap arguments in "(plus:SI (pc) (mult))". Reformat.
- 	(casesi1): Likewise.  Define new pattern which arises by simplification
- 	when operand 1 is a constant int.  Correct pattern which arises by
- 	simplification when operand 1 is zero.
- 
- 2001-11-16  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (arm*-*-rtems*, arm-*-coff*, armel-*-coff*,
- 	arm-*-vxworks*, arm-*-riscix1.[01]*, arm-*-riscix*,
- 	arm-semi-aout, armel-semi-aout, arm-semi-aof, armel-semi-aof,
- 	arm*-*-netbsd*, arm*-*-linux*, arm*-*-uclinux*, arm*-*-aout,
- 	arm*-*-ecos-elf, arm*-*-elf, arm*-*-conix*, arm*-*-oabi,
- 	arm-*-pe*, strongarm-*-elf*, strongarm-*-coff*, strongarm-*-pe,
- 	xscale-*-elf, xscale-*-coff: Include various CPU headers via tm_file.
- 	* config/arm/aof.h: Don't include arm.h.
- 	* config/arm/aout.h: Likewise.
- 	* config/arm/coff.h: Don't include semi.h and aout.h.
- 	* config/arm/elf.h: Don't include aout.h.
- 	* config/arm/netbsd.h: Don't include netbsd.h and aout.h.
- 	(TARGET_VERSION): Undef before defining.
- 	(ARM_OS_NAME): Likewise
- 	(TARGET_DEFAULT): Likewise
- 	(TARGET_MEM_FUNCTIONS): Do not need to undefine now.
- 	* config/arm/pe.h: Don't include arm/coff.h.
- 	* config/arm/riscix.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Use
- 	SUBTARGET_CPP_SPEC rather than overiding the arm.h CPP_SPEC definition.
- 	* config/arm/riscix1-1.h: Likewise.
- 	* config/arm/rix-gas.h: Don't include riscix.h.
- 	(DBX_CONTIN_LENGTH): Undef before defining.
- 	* config/arm/semi.h: Don't include aout.h.
- 	* config/arm/semiaof.h: Don't include aof.h.
- 	* config/arm/strongarm-coff.h: Don't include coff.h.
- 	* config/arm/strongarm-pe.h: Don't include strongarm-coff.h and pe.h.
- 	* config/arm/vxarm.h: Don't include arm/coff.h.
- 	* config/arm/xscale-coff.h: Don't include coff.h.
- 
- Fri Nov 16 15:22:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/pa/pa.c: Reflect changes in calling sequences of alter_reg and
- 	emit_cmp_insn.
- 
- 2001-11-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* cfglayout.c (fixup_fallthru_exit_predecesor): Make void, rename
- 	to ....
- 	(fixup_fallthru_exit_predecessor): ... this.
- 	Change callers and prototype.
- 
- 2001-11-16  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
- 	hand; don't use gen_setcc_2.
- 	(ix86_expand_builtin): Fix pshufw.
- 	* config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
- 	case UNORDERED to emit the right assembler instruction.
- 	(mmx_pshufw): Lose operand 2.
- 	(cvtsi2ss): Fix representation.
- 	From Graham Stott:
- 	(mmx_clrdi, sse_clrti, stmxcsr, ldmxcsr): Set memory attribute.
- 
- 2001-11-16  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/include/linux-and-gnu.texi: Remove.
- 	* doc/gnu.texi: New.
- 	* doc/gcc.texi: Include gnu.texi instead of linux-and-gnu.texi.
- 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
- 
- 2001-11-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/a29k/a29k.c: Fix comment formatting.
- 	* config/a29k/a29k.h: Likewise.
- 	* config/arc/arc.c: Likewise.
- 	* config/arc/arc.h: Likewise.
- 	* config/vax/vax.c: Likewise.
- 	* config/vax/vax.h: Likewise.
- 	* config/we32k/we32k.c: Likewise.
- 	* config/we32k/we32k.h: Likewise.
- 
- 2001-11-16  Jeff Law  <law@redhat.com>
- 
- 	* unroll.c (copy_loop_body): Initialize JUMP_LABEL field after
- 	creating a new jump insn.
- 
- Fri Nov 13 09:06:25 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): Refine test for when to
- 	copy misaligned data.
- 	* varasm.c (assemble_variable): Set alignment into MEM when changed.
- 
- 2001-11-16  Graham Stott  <grahams@redhat.com>
- 
- 	* optabs.c (prepare_cmp_insn): Correct lossage in last change fix
- 	OPALIGN type.
- 
- 2001-11-16  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* except.c: Support for catching a list of types with a single handler
- 	(struct eh_region): Change type and filter to lists for catch regions.
- 	(mark_eh_region): Mark the filter list for GC also.
- 	(expand_start_catch): Always build a list if argument not NULL and
- 	register each type of the list through add_type_for_runtime.
- 	(duplicate_eh_region_1): Change type into type_list for catch regions.
- 	(assign_filter_values): Assign a filter to each type associated with a
- 	catch region. Assign filter for NULL types in a unique entry in the
- 	filter list.
- 	(build_post_landing_pads): Emit compare and jump for each filter of
- 	the list associated with a catch region.
- 	(reachable_next_level): When the type thrown is known, stop the search
- 	as soon as one type within a catch list matches. Also, a handler is
- 	potentially reachable only if at least one of the types it catches
- 	has not been previously caught.
- 	(collect_one_action_chain): Retrieve the filter for a NULL type list
- 	from the first filter list entry. For non NULL type lists, add an
- 	action record for every filter assigned.
- 	* except.h: Reflect changes in comment before expand_start_catch.
- 
- Fri Nov 16 07:12:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if
- 	BLKmode.
- 
- Fri Nov 16 06:37:05 2001  Andreas Tobler  <a.tobler@schweiz.ch>
- 
- 	* config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn.
- 
- 2001-11-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-lang.c (finish_file): Don't emit static inline functions if
- 	they weren't referenced.
- 
- 2001-11-15  Stan Shebs  <shebs@apple.com>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): Fix variable ref.
- 
- 2001-11-16  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* config/s390/s390.md: Remove ALIGN arg from emit_cmp_and_jump_insns
- 	call.
- 	* config/i386/i386.md: Likewise.
- 
- Thu Nov 15 21:40:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* timevar.c (rtl.h): Include so get fancy abort.
- 
- 2001-11-15  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.h (SELECT_RTX_SECTION):  Force address
- 	initializers into 'const' section
- 	* config/rs6000/rs6000.c (rs6000_emit_cmove):  Fix mode of
- 	if_then_else to match result, not operands
- 
- Thu Nov 15 17:57:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
- 	* emit-rtl.c (change_address): Fix typo in default alignment.
- 	(adjust_address_1): Use mode of NEW, not MODE, when setting size.
- 	* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
- 	* rtl.h (REGNO_PTR_FRAME_P): New macro.
- 
- 	* expr.c (store_field): Pass tree instead of max size; callers changed.
- 	Change handling of alignment.
- 	Only copy to_rtx if is TARGET.
- 	(expand_expr_unaligned): Delete; callers now use expand_expr.
- 	(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
- 	(expand_assignment): Change handling of alignment.
- 	Only copy to_rtx if was original.
- 	(get_inner_reference): No longer return alginment; callers changed.
- 	(expand_expr, case COMPONENT_REF): Change handling of alignment.
- 	(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
- 	(compare_from_rtx): Delete ALIGN parm; all callers changed.
- 	(do_compare_rtx_and_jump): Likewise.
- 	* expr.h: Reflect above changes.
- 	* tree.h: Likewise.
- 	* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
- 	to get_inner_reference.
- 	* builtins.c: Remove ALIGN parm in call to emit_cmp_and_jump_insns.
- 	* doloop.c, except.c, explow.c, loop.c, stmt.c, unroll.c: Likewise.
- 	* optabs.c: Likewise.
- 	(prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
- 	(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
- 	* expmed.c: Remove ALIGN arg from calls to compare_from_rtx,
- 	compare_rtx_and_jump, and emit_cmp_jump_insns.
- 	* fold-const.c: Remove PALIGN in calls to get_inner_reference.
- 	* function.c (assign_stack_temp_for_type): No longer static.
- 	* optabs.h (emit_cmp_insn): Remove ALIGN parm.
- 	(prepare_cmp_insn): Delete declaration.
- 	* rtl.h (assign_stack_temp_for_type): Add declaration.
- 	* config/alpha/alpha.c, config/d30v/d30v.c: Reflect above changes.
- 	* config/clipper/clipper.c, config/h8300/h8300.c: Likewise.
- 	* config/i386/i386.c,config/mips/mips.c: Likewise.
- 	* config/i860/i860.c, config/ia64/ia64.c: Likewise.
- 	* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
- 
- 2001-11-15  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.h: Fix a comment typo.
- 	(RTX_COSTS): Sort processor versions better.
- 
- 2001-11-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Fix insn length of bit insns.
- 
- 2001-11-15  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Don't abort because of orphan
- 	DIEs if there were errors in the source.
- 
- 	* config/alpha/alpha-interix.h, config/alpha/elf.h,
- 	config/arm/coff.h, config/i386/djgpp.h, config/i386/i386.c,
- 	config/i386/i386.h, config/i386/sco5.h, config/i960/i960-coff.h,
- 	config/m68k/coff.h, config/m88k/m88k.h, config/m88k/m88k.c,
- 	config/pa/pa64-hpux.h, config/sh/sh.h, config/sparc/litecoff.h,
- 	config/elfos.h, config/lynx.h, config/netware.h,
- 	config/m68hc11/m68hc11.h, config/mcore/mcore-pe.h,
- 	config/s390/linux64.h: Remove definitions of INT_ASM_OP, change
- 	uses to use ASM_LONG.
- 
- 2001-11-15  Alan Matsuoka  <alanm@redhat.com>
- 
- 	* gensupport.c	process_include : Change call to alloca to
- 	xmalloc.
- 
- 2001-11-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Use spaces instead of tabs in output
- 	templates.
- 
- Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* final.c (alter_subreg): If simplify_subreg can't do anything,
- 	handle REG ourselves and abort for others.
- 
- 2001-11-15  Richard Hodson  <hodsonr@dionecorp.com>
- 
- 	* config/h8300/h8300.c (dosize): Avoid corrupting R3 in interrupt
- 	routines.
- 
- 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* fix-header.c (read_scan_file): Update.
- 
- Thu Nov 15 08:36:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* toplev.c (toplev_main): Don't start timing until after
- 	command-line options are parsed.
- 
- 2001-11-15  Andreas Schwab  <schwab@suse.de>
- 
- 	* config.gcc: Set STMP_FIXPROTO and FIXPROTO_DEFINES in target
- 	makefile frag, not host makefile frag.
- 	(m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
- 	(hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
- 	used.
- 	(hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
- 	* config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
- 	* config/m88k/t-dgux (STMP_FIXPROTO): Define.
- 	* config/i386/t-cygwin (STMP_FIXPROTO): Define.
- 	* config/i386/t-dgux (STMP_FIXPROTO): Define.
- 	* config/x-interix: Don't define STMP_FIXPROTO and
- 	FIXPROTO_DEFINES.
- 	* config/t-interix: New file, define STMP_FIXPROTO.
- 	* config/i386/x-beos (STMP_FIXPROTO): Don't define here.
- 	* config/i386/t-beos (STMP_FIXPROTO): Define here instead.
- 	* config/t-svr4 (FIXPROTO_DEFINES): Define.
- 	* config/arm/t-riscix (FIXPROTO_DEFINES): Define.
- 	* config/i386/t-sco5 (FIXPROTO_DEFINES): Define.
- 	* config/i386/t-sco5gas (FIXPROTO_DEFINES): Define.
- 	* config/m68k/t-hp3200: Renamed from x-hp3200.
- 	* config/i370/t-oe: Renamed from x-oe.
- 	* config/mips/t-iris: Renamed from x-iris.
- 	* config/pa/t-bsd: Renamed from x-pa.
- 	* config/pa/t-pa-hpux: Renamed from x-pa-hpux.
- 	* config/x-linux, config/i386/x-cygwin, config/i386/x-dgux,
- 	config/m88k/x-dgux, config/x-svr4, config/arm/x-riscix,
- 	config/i386/x-sco5, config/m68k/x-hp320g, config/mips/x-iris6,
- 	config/rs6000/x-cygwin: Remove files.
- 
- 	* configure.in: Check for target objdump and use that in eh_frame
- 	optimization test.
- 	* configure: Regenerated.
- 
- 2001-11-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* jump.c (squeeze_notes): Return true if no real insns were found.
- 	* rtl.h (squeeze_notes): Adjust prototype.
- 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): If
- 	squeeze_notes finds no real instructions, abort.
- 	(merge_blocks_move_successor_nojumps): Likewise.
- 	* loop.c (find_and_verify_loops): Likewise.
- 	* stmt.c (expand_end_case): Likewise.
- 	* ifcvt.c (dead_or_predicable): Return TRUE if squeeze_notes doesn't
- 	find any real instructions.
- 
- 	* config/ia64/ia64.c (ia64_adjust_cost): Handle SUBREGs.
- 
- 	* cfgcleanup.c (try_optimize_cfg): If try_simplify_condjump optimized
- 	conditional jump, request updating life into for the block
- 	containing it.  Fix a typo which prevented life info update.
- 	Clear blocks bitmap before using it.
- 
- 2001-11-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c: Include c-lex.h.
- 	(c_common_lang_init): Change prototype.  Call init_c_lex and
- 	init_pragma from here.
- 	* c-common.h (c_common_lang_init): Change prototype.
- 	* c-decl.c (init_decl_processing): Rename.  Call c_parse_init.
- 	* c-lang.c (c_init): Change prototype.  Update.
- 	(c_init_options): Update.
- 	* c-lex.c (cpp_filename): Remove.
- 	(init_c_lex): Update.  Read the main file, and get the original
- 	file name.
- 	(yyparse): Finish the command line options.
- 	* c-parse.in (c_parse_init): Call init_reswords here.
- 	(init_parse): Remove.
- 	* c-tree.h (c_init_decl_processing): New.
- 	* cpphash.c (_cpp_init_hashtable): After initializing the hash
- 	table, populate it.
- 	* cppinit.c (read_original_filename, cpp_finish_options): New.
- 	(cpp_create_reader): New prototype. Defer hash table initialization.
- 	(cpp_start_read): Rename cpp_read_main_file.  Initialize the
- 	hash table.  Get the original filename.
- 	* cpplib.h (cpp_create_reader): Update.
- 	(cpp_start_read): Remove.
- 	(cpp_read_main_file, cpp_finish_options): New.
- 	* cppmain.c (main, do_preprocessing): Update.
- 	* langhooks.h (struct langhooks): Update init prototype.
- 	* toplev.c (general_init, parse_options_and_default_flags,
- 	process_options, lang_indpendent_init, lang_dependent_init,
- 	init_asm_output): New; perform the bulk of initialization.
- 	(compile_file): Move most of initialization to above functions.
- 	(debug_hooks): Initialize statically.
- 	(set_Wunused): Relocate.
- 	(toplev_main): Move most of initialization to other init functions.
- 	Have a clear logic flow.
- 	* tree.h (init_parse, init_decl_processing): Remove.
- objc:
- 	* objc-act.c (objc_init): Update prototype, combine with old
- 	init_parse.
- 	(objc_init_options): Update.
- 
- 
- 2001-11-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* cfgrtl.c (purge_all_dead_edges): Use int as argument for
- 	portability.
- 	* basic-block.h: Adjust prototype.
- 
- 2001-11-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/rs6000/aix31.h: Fix comment formatting.
- 	* config/rs6000/beos.h: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 	* config/rs6000/eabi.asm: Likewise.
- 	* config/rs6000/linux.h: Likewise.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/rs6000/lynx.h: Likewise.
- 	* config/rs6000/netbsd.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/rs6000/sol2.h: Likewise.
- 	* config/rs6000/tramp.asm: Likewise.
- 	* config/rs6000/xcoff.h: Likewise.
- 	* config/rs6000/xm-beos.h: Likewise.
- 
- 2001-11-14  Alan Matsuoka  <alanm@redhat.com>
- 
- 	* rtl.def (INCLUDE) : Define.
- 	* gensupport.c  (init_include_reader, process_include,
- 	save_string) :  New functions to implement an include facility
- 	in .md files.
- 	* gensupport.h : Add prototype for init_md_reader_args.
- 	* genattr.c genattrtab.c gencodes.c genconfig.c genemit.c
- 	genextract.c genflags.c genopinit.c genoutput.c
- 	genpeep.c genrecog.c: Change call to init_md_reader to
- 	init_md_reader_args.
- 	* md.texi: Document (include "path") and -I directives for RTL
- 	generation tools.
- 
- 2001-11-14  DJ Delorie  <dj@redhat.com>
- 
- 	* integrate.c (get_hard_reg_initial_reg): New.
- 	* integrate.h (get_hard_reg_initial_reg): Prototype.
- 	* local-alloc.c (block_alloc): Don't tie pseudos that
- 	represent call-saved hard regs' initial values.
- 
- 2001-11-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k/linux.h: Include <linux.h> not "linux.h" to avoid infinite
- 	recursion.
- 
- 2001-11-14  Roger Sayle <roger@eyesopen.com>
- 
- 	* fold-const.c (fold): Optimize strlen comparisons against zero.
- 
- 2001-11-14  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (sparc64-wrs-vxworks*, sparc-*-netbsd*, sparc-*-openbsd*,
- 	sparc-*-chorusos*, sparc-*-elf*, sparc-*-linux*aout*,
- 	sparc-*-linux*libc1*, sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtems*,
- 	sparc-*-rtemself*, sparc-hal-solaris2*, sparc-*-solaris2*,
- 	sparc-*-sunos4.0*, sparc-*-sunos4*, sparc-*-sunos3*, sparc-*-sysv4*,
- 	sparc-*-vxsim*, sparclite-*-aout*, sparclite-*-elf*, sparc86x-*-aout*,
- 	sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*, sparc64-*-linux*):
- 	Include various CPU headers via tm_file.  a.out based platforms now
- 	properly include sparc/aout.h.  sol2.h usage now implies including
- 	elfos.h, svr4.h, and sparc/sysv4.h.
- 	* config/netbsd.h (TARGET_MEM_FUNCTIONS): Undef before defining it.
- 	Also define to '1'.
- 	* sparc/sparc.h (CPP_PREDEFINES, TARGET_VERSION, WORD_SWITCH_TAKES_ARG,
- 	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE):
- 	Remove.  They are a.out specific and belong in sparc/aout.h.
- 	* sparc/aout.h (TARGET_VERSION, WORD_SWITCH_TAKES_ARG, SELECT_SECTION,
- 	ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	DBX_REGISTER_NUMBER, ASM_OUTPUT_SOURCE_LINE): Define.  Moved here from
- 	sparc/sparc.h.
- 	* sparc/litecoff.h (WORD_SWITCH_TAKES_ARG, ASM_DECLARE_FUNCTION_NAME,
- 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, DBX_REGISTER_NUMBER): Define.
- 	Moved here from sparc/sparc.h.
- 	* config/sparc/linux-aout.h (DEFAULT_PCC_STRUCT_RETURN): Undef before
- 	defining.
- 	* config/sparc/linux64.h (UNALIGNED_DOUBLE_INT_ASM_OP): Undef before
- 	* config/sparc/lynx.h:  Don't include lynx.h.
- 	(SELECT_SECTION): Do not undef.
- 	* config/sparc/openbsd.h: Don't include sparc/sparc.h.
- 	* config/sparc/sol2-sld-64.h: Include sparc/sparc.h, elfos.h, svr4.h,
- 	and sparc/sysv4.h.
- 	* config/sparc/sol2.h: Don't include sparc/sparc.h and sparc/sysv4.h.
- 	* config/sparc/sp64-aout.h (CPP_PREDEFINES): Don't define.  Get from
- 	sparc/aout.h now.
- 	* config/sparc/sp64-elf.h (DWARF_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO):
- 	Don't undef, there is no need.
- 	* config/sparc/splet.h (CPP_PREDEFINES): Define.
- 	* config/sparc/sun4o3.h (CPP_PREDEFINES): Likewise.
- 	* config/sparc/sunos4.h (CPP_PREDEFINES): Likewise.
- 	Don't include sparc/sparc.h.
- 	* config/sparc/sysv4.h (WORD_SWITCH_TAKES_ARG, ASM_OUTPUT_SOURCE_LINE,
- 	SELECT_SECTION, ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP): Don't undef, there is no need now.  Don't include
- 	elfos.h and svr4.h.
- 	(TARGET_VERSION): Define.
- 	* config/sparc/vxsim.h (TARGET_VERSION): Define.
- 
- Wed Nov 14 19:46:08 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (fixup_fallthru_exit_predecesor): New static function.
- 	(cfg_layout_finalize): Use it.
- 	* bb-reorder.c (HAVE_epilogue): Remove.
- 	(make_reorder_chain): Do not care special placement of
- 	last basic block.
- 
- 	* predict.c (expected_value_to_br_prob): Delete the note
- 	once transformed.
- 
- 	* c-decl.c (c_expand_body): Fix TV_EXPAND nesting problem;
- 	measure integration time separately.
- 
- Wed Nov 14 12:30:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (struct temp_slot): ALIGN now unsigned.
- 
- 2001-11-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/dsp16xx/dsp16xx.c: Fix comment formatting.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/dsp16xx/dsp16xx.md: Likewise.
- 
- 2001-11-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Reorganize the code
- 	that deals with 7-bit shifts in HImode.
- 
- Wed Nov 14 14:17:05 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* dbxout.c (dbxout_symbol_location): Update call of alter_subreg.
- 	* final.c (walk_alter_subreg): Take pointer; update call of alter_subreg.
- 	(final_scan_insn): Update call of alter_subreg.
- 	(cleanup_subreg_operands): Likewise.
- 	(alter_subreg): Rewrite using simplify_subreg.
- 	(output_address, output_operand): Update call of alter_subreg.
- 	* output.h (alter_subreg): Update prototype.
- 	* sdbout.c (sdbout_symbol): Update call of alter_subreg.
- 	* simplify-rtx.c (simplify_subreg): Copy ORIGINAL_REGNO.
- 	* Makefile.in (final.o): Add dependency on expr.h
- 
- Wed Nov 14 06:37:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-lang.c (finish_file): Make I unsigned to eliminate warning.
- 
- 2001-11-13  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* doc/install.texi (sparc-*-linux*): Mention requirements for
- 	binutils and glibc.
- 
- 2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (POD2MAN): Don't include --section=1.
- 	(manext): Rename to man1ext.  All users changed.
- 	(man7ext): New.
- 	(man7dir): New.
- 	(generated-manpages): Also depend on $(docdir)/gfdl.7,
- 	$(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
- 	($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
- 	--section=1 in calls to $(POD2MAN).
- 	($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
- 	(maintainer-clean, install, uninstall): Handle the new man pages.
- 	($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
- 	(installdirs): Create man7dir.
- 	* doc/cpp.texi: Include GFDL in this manual.  In the man page,
- 	refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
- 	texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
- 	the SEE ALSO man page section.
- 	* doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
- 	and fsf-funding(7) in the SEE ALSO man page section.
- 	* doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
- 	gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
- 	* doc/include/fdl.texi, doc/include/funding.texi,
- 	doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
- 	* doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.
- 
- 2001-11-13  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
- 	as appropriate for the artificial decl.
- 
- 2001-11-13  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (combine_movables): Turn off combination until
- 	move_movables validation bugs are fixed.
- 
- 2001-11-13  DJ Delorie  <dj@redhat.com>
- 
- 	* config.gcc (powerpc|rs6000): Set default cpp options based
- 	on --with-cpu settings.
- 	* config/rs6000/softfloat.h: New.
- 
- 2001-11-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg_si): Use special code for
- 	25-bit shifts on H8S.
- 	(get_shift_alg): Generate special code for 25-bit shifts on
- 	H8S.
- 
- 2001-11-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* emit-rtl.c (adjust_address_1): Add ADJUST argument.
- 	(adjust_automodify_address_1): New.
- 	* expr.h (adjust_address, adjust_address_nv): Adjust.
- 	(adjust_automodify_address, adjust_automodify_address_nv): Define.
- 	(adjust_address_1): Update prototype.
- 	(adjust_automodify_address_1): Add prototype.
- 	* expr.c (move_by_pieces_1): Use adjust_automodify_address.
- 	(store_by_pieces_2): Likewise.
- 
- Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (explow.o): Now depends on ggc.h.
- 	* explow.c (ggc.h): Include.
- 	(set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.
- 
- 	* Makefile.in (expr.o): Depends on insn-attr.h.
- 	* expr.c (insn-attr.h): New include.
- 	(force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
- 	of MEM.
- 	(highest_pow2_factor, case INTEGER_CST): Handle negative values.
- 	(expand_expr): Remove unneeded mark_temp_addr_taken calls and
- 	clean up related usage in ADDR_EXPR.
- 	(expand_expr_unaligned): Likewise.
- 
- 	* emit-rtl.c (change_address): Fix typo in alias setting.
- 
- 2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (cfgcleanup.o): Depend on insn-config.h
- 
- 2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR bootstrap/3451
- 	* c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
- 	GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.
- 
- 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
- 	sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
- 	sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
- 	sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
- 	sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
- 	sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
- 	sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
- 	sparc64-*-linux*):  Include various CPU headers via tm_file.
- 	* config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
- 	(SELECT_SECTION): Likewise.
- 	(SELECT_RTX_SECTION): Likewise.
- 	* config/sparc/sparc_bi.h: New file.
- 	* config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
- 	* config/sparc/linux-aout.h: Likewise.
- 	* config/sparc/linux.h: Don't include sparc/sysv4.h.
- 	* config/sparc/linux64.h: Likewise.
- 	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
- 	* config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
- 	* config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
- 	and dbxcoff.h
- 	(ASM_OUTPUT_IDENT): Do not #undef.
- 	(SELECT_SECTION): Likewise.
- 	(SELECT_RTX_SECTION): Likewise.
- 	* config/sparc/liteelf.h: Don't include gofast.h.
- 	* config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
- 	* config/sparc/lynx.h: Don't include sparc/sparc.h.
- 	* config/sparc/pbd.h: Likewise.
- 	* config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
- 	* config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
- 	* config/sparc/rtemself.h: Don't include rtems.h.
- 	* config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
- 	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
- 	sparc_bi.h instead.
- 	* config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
- 	* config/sparc/sol2.h: Include sparc/sparc.h directly.
- 	* config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
- 	* config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
- 	* config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
- 	* config/sparc/sp86x-elf.h: Don't include gofast.h.
- 	* config/sparc/splet.h: Don't include sparc/aout.h.
- 	* config/sparc/sun4o3.h: Don't include sparc/sparc.h.
- 	* config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
- 	* config/sparc/vxsim.h: Don't include sparc/sysv4.h.
- 	* config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
- 	* config/sparc/vxsparc64.h: Don't include gofast.h.
- 	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
- 
- 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/standards.texi: Mention C99 TC1.
- 
- 2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips-protos.h (mips_output_conditional_branch): Const-ify.
- 	* mips.c (mips_output_conditional_branch): Likewise.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg_si): Use special code for
- 	15-bit logical shifts and 31-bit logical shifts.
- 	(get_shift_alg): Generate special code for 15-bit and 31-bit
- 	logical shifts.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg_qi): Use rotations when
- 	doing 6-bit logical shifts on H8S.
- 	(shift_alg_qi): Use special code for 21-bit shifts on H8S.
- 	(get_shift_alg): Generate special code for 21-bit shifts on
- 	H8S.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove a redundant
- 	label.
- 
- Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (nonoverlapping_memrefs_p): Only update size from memref
- 	if both size and offset known.
- 
- 2001-11-12  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/ia64/freebsd.h: Fix misspelling.
- 
- 2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Move several chapters out to ...
- 	* doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
- 	doc/include/linux-and-gnu.texi, doc/interface.texi,
- 	doc/makefile.texi, doc/passes.texi, doc/portability.texi:
- 	... here.  New files.
- 	* doc/gcc.texi, doc/contrib.texi: Move section headings into
- 	contrib.texi.
- 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/alpha/alpha-interix.h: Fix comment formatting.
- 	* config/alpha/alpha.c: Likewise.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/alpha/alpha32.h: Likewise.
- 	* config/alpha/freebsd.h: Likewise.
- 	* config/alpha/unicosmk.h: Likewise.
- 	* config/alpha/vms.h: Likewise.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
- 
- 2001-11-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
- 	numbers.
- 
- Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (set_mem_attributes): If making object, can set alignment
- 	from type.
- 	(replace_equiv_address): Call update_temp_slot_address.
- 
- 	* dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.
- 
- 	* alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.
- 
- 2001-11-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg_qi): New.
- 	(shift_alg_hi): Likewise.
- 	(shift_alg_si): Likewise.
- 	(get_shift_alg): Change the type of count to unsigned int.
- 	Use the tables.
- 
- 2001-11-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (c-lang.o): Depend on $(VARRAY_H).
- 	* c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
- 	to decide whether to defer a function.
- 	(finish_function): Adjust.
- 	(c_expand_deferred_function): New function.
- 	* c-lang.c (deferred_fns): New variable.
- 	(c_init): Initialize it, and mark it as a root.
- 	(defer_fn): New function.
- 	(finish_file): Expand all deferred functions.
- 	* c-tree.h (defer_fn): Declare.
- 	(c_expand_deferred_function): Likewise.
- 	* objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
- 	* objc-act.c (deferred_fns): New variable.
- 	(objc_init): Initialize it, and mark it as a root.
- 	(defer_fn): New function.
- 	(finish_file): Expand all deferred functions.
- 
- 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (unicosmk_special_name): Prototype.
- 	(unicosmk_ssib_name): Delete unused variable.
- 	* alpha/unicosmk.h (common_section, ssib_section): Prototype.
- 	* alpha/vms.h (PREFIX): Undef before defining.
- 	* arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
- 	* i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
- 	controlling usage.  Const-ify.
- 	(alias_number): Delete unused variable.
- 	* m32r/m32r.c (m32r_sched_init): Add missing argument.
- 	(m32r_expand_block_move): Fix uninitialized warnings.
- 	* mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
- 	always true' warnings.
- 	* openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
- 	* sh/sh.c: Include "integrate.h".
- 	(output_far_jump): Fix uninitialized warning.
- 	* final.c (shorten_branches): Avoid automatic aggregate
- 	initialization.
- 	* integrate.c (subst_constants): Likewise.
- 
- 2001-11-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
- 	(get_shift_alg): Remove redundant code.
- 
- 2001-11-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/pa/milli64.S: Fix comment formatting.
- 	* config/pa/pa-64.h: Likewise.
- 	* config/pa/pa-linux.h: Likewise.
- 	* config/pa/pa-protos.h: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pa/pa.h: Likewise.
- 	* config/pa/pa32-linux.h: Likewise.
- 	* config/pa/pa32-regs.h: Likewise.
- 	* config/pa/pa64-hpux.h: Likewise.
- 	* config/pa/pa64-regs.h: Likewise.
- 	* config/pa/som.h: Likewise.
- 
- 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Move several chapters out to ...
- 	* doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
- 	doc/service.texi, doc/standards.texi, doc/trouble.texi,
- 	doc/vms.texi: ... here.  New files.
- 	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.
- 
- 2001-11-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
- 	cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
- 	collect2.c, combine.c, config.in, configure, configure.in,
- 	conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
- 	genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
- 	reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
- 	spelling errors.
- 
- Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
- 	Adjust operand number in CONST_DOUBLE.
- 
- 	* expmed.c (extract_bit_field): No longer pass in alignment.
- 	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
- 	(store_bit_field, store_fixed_bit_field, store_split_bit_field):
- 	Likewise.
- 	* expr.c (store_constructor, store_constructor_field): Likewise.
- 	(store_field, emit_group_load, emit_group_store): Likewise.
- 	* expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
- 	(store_bit_field, extract_bit_field): Likewise.
- 	* calls.c, expr.c, function.c: Change calls to above functions.
- 	* ifcvt.c, stmt.c: Likewise.
- 
- 	* alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
- 	constant and one is on frame.
- 	If know memref offset, adjust size from decl.
- 
- 2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
- 	format specifier warning.
- 	* convex.h (ASM_OUTPUT_BYTE): Likewise.
- 	* elfos.h (ALIGN_ASM_OP): Undef before defining.
- 	* i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
- 	warning.
- 	* i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386-interix.h (gen_stdcall_suffix): Prototype.
- 	* i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
- 	* i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_LONG_DOUBLE): Likewise.
- 	* i386/interix.c (gen_stdcall_suffix): Const-ify.
- 	* i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
- 	specifier warnings.
- 	* i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_LONG_DOUBLE): Likewise.
- 	* i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
- 	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
- 	* m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
- 	Likewise.
- 	* m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
- 	Likewise.
- 	* m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
- 	* m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
- 	Likewise.
- 	* m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
- 	Likewise.
- 	* m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
- 	Likewise.
- 	* m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
- 	* m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
- 	* m68k/news.h (PRINT_OPERAND): Likewise.
- 	* m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
- 	ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
- 	* m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
- 	* m68k/plexus.h (ASM_SPEC): Insert space between macro name and
- 	definition.
- 	* m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
- 	ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
- 	* m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
- 	* m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
- 	PRINT_OPERAND): Likewise.
- 	* m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
- 	Likewise.
- 	* mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
- 	* mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
- 	* mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
- 	* mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
- 	* mips.c (mips_output_external_libcall): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	(mips_asm_file_start): Move variable into the scope where it's
- 	used.
- 	* mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
- 	* mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
- 	* mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
- 	* ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* ns32k.c (print_operand): Likewise.
- 	* pa.c (print_operand, output_div_insn): Likewise.
- 	* pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
- 	ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
- 	* pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
- 	* sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
- 	specifier warnings.
- 	* sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	(ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
- 	* sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
- 	specifier warnings.
- 	* svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 
- 	* sdbout.c (sdbout_end_epilogue): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* varasm.c (assemble_global): Likewise.
- 
- 2001-11-11  H.J. Lu <hjl@gnu.org>
- 
- 	* config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.
- 
- Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (*_MAX_SKIP): Use *_max_skip variables.
- 	* flags.h (align_loops_max_skip, align_jumps_max_skip,
- 	align_labels_max_skip): New global variables.
- 	* toplev.c (align_loops_max_skip, align_jumps_max_skip,
- 	align_labels_max_skip): New global variables.
- 	(toplev_main): Set new variables.
- 	* i386.c (override_options): Set max_skip values.
- 
- 2001-11-10  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
- 	* final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
- 	* config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
- 	don't print an @fptr for labels either.
- 	(xstormy16_output_addr_vec): Don't print @fptr here.
- 	* config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.
- 
- Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa-ccp.c (examine_flow_edges): Use old-style definition, not
- 	an ANSI/ISO definitino.
- 	(ssa_const_prop): Likewise.
- 
- 2001-11-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
- 	altivec registers.
- 
- 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cppexp.c (parse_number): Use ISXDIGIT/hex_value.
- 	* cpplex.c (hex_digit_value): Use hex_p/hex_value.
- 	* cppmain.c (general_init): Call hex_init.
- 	* tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.
- 
- 	* config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.
- 
- 	* i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
- 	of dgux.c:output_file_start().
- 
- 	* i386/dgux.c: Delete file.
- 
- 2001-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (decl_in_text_section): New.
- 	(current_file_function_operand): Use it.
- 	(alpha_encode_section_info, alpha_end_function): Likewise.
- 
- 2001-11-07  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
- 	* config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
- 	they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
- 	so OS specific files and use CPP_PREDEFINES for their needs.
- 	* config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
- 	target headers to tm_file.
- 	* config/ia64/aix.h (TARGET_VERSION): Likewise.
- 	* config/ia64/hpux.h (TARGET_VERSION): Likewise.
- 	* config/ia64/linux.h (TARGET_VERSION): Likewise.
- 	(FUNCTION_PROFILER): Remove.
- 	* config/ia64/ia64.h (FUNCTION_PROFILER): Update definition using the
- 	version in config/ia64/linux.h.
- 	* config/ia64/freebsd.h: New file.
- 	* config/freebsd.h: Tidy up.
- 	(_USING_CONFIG_FREEBSD): Define.
- 	(FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
- 	(FBSD_CPP_SPEC): Define generic FreeBSD spec.
- 	(FBSD_STARTFILE_SPEC): Likewise.
- 	(FBSD_ENDFILE_SPEC): Likewise.
- 	(FBSD_LIB_SPEC): Likewise.
- 	(WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
- 	(USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
- 	set an ELF-improper one.
- 
- 2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
- 	constant can be loaded in a single instruction to a register.  When
- 	loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
- 	depdi for insertion of most significant 32-bits on 64-bit hosts.
- 	* pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
- 	with ldil/ldo/depdi instruction sequence on 64-bit hosts.
- 	* pa.md: New addmove pattern for adding constant_int to HImode
- 	register and moving result to HImode register.  Remove HImode HIGH
- 	and LO_SUM patterns.
- 
- 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-decl.c (print_lang_decl, print_lang_type): Remove.
- 	(print_lang_identifier): Rename c_print_identifier.
- 	* c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
- 	(print_lang_statistics, lang_print_xnode): Remove.
- 	* c-parse.in (set_yydebug): Rename c_set_yydebug.
- 	* c-tree.h (c_set_yydebug, c_print_identifier): New.
- 	* langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
- 	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
- 	LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
- 	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New members.
- 	(lang_print_tree_hook): New.
- 	* langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
- 	* print-tree.c: Include langhooks.h.
- 	(print_node): Update.
- 	* toplev.c (decode_d_option): Update.
- 	* tree.c: Include langhooks.h.
- 	(dump_tree_statistics): Update.
- 	* tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
- 	print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
- objc:
- 	* objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
- 	LANG_HOOKS_SET_YYDEBUG): Override.
- 	(lang_print_xnode, print_lang_statistics): Remove.
- 
- 2001-11-09  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
- 	on the symbol string.
- 
- 2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
- 	ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
- 	* config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.
- 
- 	* clipper.h (ASM_OUTPUT_REG_POP): Fix typo.
- 
- 	* tlink.c (recompile_files): Copy strings passed to `putenv'.
- 
- 2001-11-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
- 	(TYPE_READONLY): Likewise.
- 
- 	* flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.
- 
- 	* config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
- 	don't pass --gdwarf2 to the assembler if the compiler will also
- 	provide debug info.
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_casesi):
- 	Don't change INDEX.
- 
- Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (nonoverlapping_memrefs_p): New function.
- 	(true_dependence, canon_true_depenence, write_dependence_p): Call it.
- 
- 	* emit-rtl.c (set_mem_attributes): Get alignments for constants.
- 
- 2001-11-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
- 	(CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
- 	generating altivec code.
- 	(FIXED_REGISTERS): VRSAVE is fixed.
- 	(CALL_USED_REGISTERS): VRSAVE is call used.
- 
- 2001-11-09  Jason Eckhardt  <jle@rice.edu>
- 
- 	* config/mips/mips.c (mips_output_conditional_branch): Do not hard
- 	code the branch target as ".+16/.+12", but rather use labels.
- 
- Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0
- 	to work around limitations of certain versions of GAS.
- 
- 	* pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
- 	(muldi3): Update due to SUBREG_BYTE changes.
- 	(casesi): Similarly.
- 
- 2001-11-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/invoke.texi: Remove comment referring to -xf77-version.
- 
- 2001-11-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/convex/convex.c: Fix comment formatting.
- 	* config/convex/convex.h: Likewise.
- 
- 2001-11-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (.po.pox): Look both in srcdir and builddir
- 	for $(PACKAGE).pot.
- 	(po/$(PACKAGE).pot): Don't move-if-change the new potfile over
- 	to the source directory.
- 
- 2001-11-09 Ben Elliston  <bje@redhat.com>
- 	   Michael Meissner  <meissner@redhat.com>
- 	   Andrew MacLeod  <amacleod@redhat.com>
- 	   Richard Henderson  <rth@redhat.com>
- 	   Nick Clifton  <nickc@redhat.com>
- 	   Catherine Moore  <clm@redhat.com>
- 
- 	* m32r.c: Add support for m32rx processor.
- 	* m32r.h: Ditto.
- 	* m32r.md: Ditto.
- 	* t-m32r: Ditto.
- 	* m32r-protos.h: Add prototypes for m32rx functions.
- 	* doc/invoke.texi: Document -m32rx option.
- 
- 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (movdf): Avoid calling validize_mem during
- 	or after reload.
- 
- 2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi2html: Use $MAKEINFO --no-split.
- 
- 2001-11-09  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in ($(HOST_PREFIX_1)rtl.o,
- 	$(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
- 	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o,
- 	$(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
- 	$(HOST_PREFIX_1)ggc-none.o): Update dependencies.
- 
- 2001-11-09  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/mips.c (mips_output_function_prologues): Cast
- 	`tsize' to long for output.
- 
- 2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lang.c (LANG_HOOKS_NAME): New.
- 	(lang_hooks): Constify.
- 	(c_init_options): Update.
- 	(lang_identify): Remove.
- 	* c-parse.in (language_string): Remove.
- 	* dbxout.c: Include langhooks.h.
- 	(dbxout_symbol_location): Update.
- 	* dwarf2out.c: Include langhooks.h.
- 	(gen_compile_unit_die): Update.
- 	* dwarfout.c: Include langhooks.h.
- 	(prototyped_attribute, output_compile_unit_die): Update.
- 	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New members.  Constify.
- 	* stringpool.c: Don't include toplev.h.
- 	(set_identifier_size): Remove.
- 	* toplev.c (toplev_main): Initialize identifier size.
- 	(print_version): Update.
- 	* tree.h (language_string, init_lex, lang_identify,
- 	set_identifier_size): Remove.
- 	* Makefile.in: Update dependencies.
- 	* config/darwin.c: Include langhooks.h.
- 	(func_name_maybe_scoped): Update.
- 	* config/darwin.h (ASM_END_FILE): Update.
- 	* config/nextstep.h (ASM_END_FILE): Update.
- 	* config/nextstep21.h (ASM_END_FILE): Update.
- 	* config/i386/sun386.h (ASM_END_FILE): Update.
- 	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
- 	(rs6000_output_function_epilogue): Update.
- objc:
- 	* objc-act.c (LANG_HOOKS_NAME): Override.
- 	(struct lang_hooks): Constify.
- 	(objc_init_options): Update.
- 	(lang_identify): Remove.
- 
- Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)
- 
- 	* fold-const.c (lshift_double): Honor PREC.
- 	(rshift_double): Likewise.
- 
- 2001-11-08  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/1750a/1750a.c: Fix comment formatting.
- 	* config/1750a/1750a.h: Likewise.
- 
- 2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>
- 
- 	* configure.in (--enable-languages): Be more permissive about
- 	syntax.  Check for empty lists better.  Warn about $LANGUAGES.
- 	* configure: Regenerated.
- 
- 2001-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (dw2_force_const_mem): Fix typo.
- 
- 2001-11-08  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config.gcc: Rename stormy16 to xstormy16.
- 	* config/stormy16/stormy-abi: Likewise.
- 	* config/stormy16/stormy16-protos.h: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/stormy16/stormy16.md: Likewise.
- 
- 2001-11-06  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* tree.h (TYPE_VOLATILE): Add enable-checking code.
- 	(TYPE_READONLY): Likewise.
- 
- Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload1.c (reload): Don't delete equiv insn if can throw.
- 
- 	* expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
- 	(clear_storage): Likewise, for OBJECT.
- 
- Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* pa.c (emit_move_sequence): Fix SUBREG expression to
- 	use proper byte offset when extending a constant from
- 	SImode to DImode.
- 
- 2001-11-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
- 	which cannot throw.
- 
- Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (convert_memory_address, case SUBREG): Only return
- 	inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.
- 
- 2001-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
- 	(CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
- 	(ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.
- 
- 2001-11-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
- 
- 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2out.c (debug_str_hash): New.
- 	(struct indirect_string_node): New.
- 	(struct dw_val_struct): Change type of val_str to it.
- 	(DEBUG_STR_SECTION_FLAGS): Define.
- 	(add_AT_string): Push string into hashtable, increment reference
- 	counter.
- 	(AT_string): Return string from ht_identifier.
- 	(AT_string_form): New.
- 	(free_AT): For dw_val_class_str, just decrement reference counter.
- 	(size_of_string): Remove.
- 	(size_of_die): Use AT_string_form to decide what size the string
- 	occupies in DIE.
- 	(size_of_pubnames): Use strlen instead of size_of_string.
- 	(value_format): Use AT_string_form for dw_val_class_str.
- 	(output_die): Output DW_FORM_strp strings using
- 	dw2_asm_output_offset.
- 	(indirect_string_alloc, output_indirect_string): New.
- 	(dwarf2out_finish): Emit .debug_str strings if there are any.
- 
- 2001-11-08  Andreas Franck  <afranck@gmx.de>
- 
- 	* configure.in: Add AC_ARG_PROGRAM to support program name
- 	transformation with --program-prefix, --program-suffix and
- 	--program-transform-name.
- 	* configure: Regenerated.
- 	* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
- 	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
- 	GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
- 	PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
- 	program_transform_name the way suggested by autoconf.
- 	(GCC_TARGET_INSTALL_NAME): Define.
- 	(install-driver): Use the transformed target alias name.
- 
- 2001-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.c (save_restore_insns): Remove GP from the
- 	restore registers mask early instead of special casing it inside
- 	the loop.
- 
- 2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cp/decl.c (shadow_warning): New function.
- 	(pushdecl): Improve -Wshadow warnings.  Don't give both a warning
- 	and an error when a block scope decl shadows a parameter.
- 
- 2001-11-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
- 	case as well.
- 
- 2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (negdf2, negsf2): Use multiplication rather than subtraction
- 	to implement floating negation on processors prior to PA 2.0.
- 
- 2001-11-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
- 	(USE_LINKONCE_INDIRECT): Define.
- 	(dw2_output_indirect_constant_1): Try to output indirect constants
- 	into linkonce sections if possible.
- 	(dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
- 	(dw2_output_indirect_constants): Likewise.
- 
- 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.
- 
- 2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (pushdecl): Remove file and line.
- 	* c-typeck.c (pop_init_level): Remove size.
- 
- 2001-11-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
- 	for rs6000.
- 
- 	* config/rs6000/rs6000.h (MASK_ALTIVEC): New.
- 	(TARGET_ALTIVEC): New.
- 	(TARGET_SWITCHES): Add altivec.
- 	(FIRST_PSEUDO_REGISTER): Change to 109.
- 	(CALL_USED_REGISTERS): Same.
- 	(FIRST_ALTIVEC_REGNO): New.
- 	(LAST_ALTIVEC_REGNO): New.
- 	(ALTIVEC_REGNO_P): New.
- 	(UNITS_PER_ALTIVEC_WORD): New.
- 	(ALTIVEC_VECTOR_MODE): New.
- 	(FIXED_REGISTERS): Add altivec registers.
- 	(REG_ALLOC_ORDER): Same.
- 	(HARD_REGNO_NREGS): Adjust for altivec registers.
- 	(HARD_REGNO_MODE_OK): Same.
- 	(MODES_TIEABLE_P): Same.
- 	(REGISTER_MOVE_COST): Same.
- 	(REGNO_REG_CLASS): Same.
- 	(reg_class): Add ALTIVEC_REGS.
- 	(REG_CLASS_NAMES): Same.
- 	(REG_CLASS_CONTENTS): Same.
- 	(REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
- 	(ALTIVEC_ARG_RETURN): New.
- 	(FUNCTION_VALUE): Handle VECTOR_TYPE.
- 	(LIBCALL_VALUE): Handle altivec vector modes.
- 	(VECTOR_MODE_SUPPORTED_P): New.
- 	(ALTIVEC_ARG_MIN_REG): New.
- 	(ALTIVEC_ARG_MAX_REG): New.
- 	(ALTIVEC_ARG_NUM_REG): New.
- 	(FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
- 	(FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
- 	(REGISTER_NAMES): Add altivec regs.
- 	(DEBUG_REGISTER_NAMES): Same.
- 	(ADDITIONAL_REGISTER_NAMES): Same.
- 	(rs6000_builtins): New.
- 	(MD_EXPAND_BUILTIN): New.
- 	(MD_INIT_BUILTINS): New.
- 	(LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
- 	for AltiVec instructions.
- 	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
- 	(HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
- 	registers.
- 	(SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
- 	(TARGET_SWITCHES): Add no-altivec.
- 	(DATA_ALIGNMENT): Align vectors to 128 bits.
- 	(TARGET_OPTIONS): Add abi= option.
- 	Add rs6000_abi_string extern.
- 	(LOCAL_ALIGNMENT): New.
- 	(CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
- 	(MASK_ALTIVEC_ABI): New.
- 	(TARGET_ALTIVEC_ABI): New.
- 	(CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
- 	call-saved.
- 	(STACK_BOUNDARY): Adjust for altivec.
- 	(BIGGEST_ALIGNMENT): Same.
- 	(rs6000_args): Add vregno.
- 	(USE_ALTIVEC_FOR_ARG_P): New.
- 	(FIXED_REGISTERS): Add vrsave register.
- 	(CALL_USED_REGISTERS): Same.
- 	(CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
- 	(VRSAVE_REGNO): New.
- 	(reg_class): Add VRSAVE_REGS.
- 	(REG_CLASS_NAMES): Same.
- 	(REG_CLASS_CONTENTS): Same.
- 	(REGNO_REG_CLASS): Same.
- 
- 	* config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
- 	(ABI_STACK_BOUNDARY): Same.
- 	(BIGGEST_ALIGNMENT): Same.
- 	(ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
- 	(ROUND_TYPE_ALIGN): Same.
- 
- 	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
- 	to 64.
- 
- 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
- 	to 64.
- 
- 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
- 	to 64.
- 
- 	* config/rs6000/rs6000.c (rs6000_expand_builtin): New.
- 	(altivec_expand_builtin): New.
- 	(altivec_init_builtins): New.
- 	(TARGET_EXPAND_BUILTIN): New.
- 	(TARGET_INIT_BUILTINS): New.
- 	(rs6000_init_builtins): New.
- 	(struct builtin_description): New.
- 	(bdesc_2arg): New.
- 	(rs6000_reg_names): Add altivec registers.
- 	(alt_reg_names): Same.
- 	(secondary_reload_class): Altivec regs can hold altivec regs and
- 	memory.
- 	(rs6000_emit_move): Force constants into memory for AltiVec moves.
- 	(print_operand): Add 'y' case for printing altivec memory
- 	operands.
- 	(rs6000_legitimize_address): Legitimize vector addresses into
- 	[REG+REG] or [REG].
- 	(altivec_expand_binop_builtin): New.
- 	New string rs6000_current_abi.
- 	(rs6000_override_options): Call rs6000_parse_abi_options.
- 	(rs6000_parse_abi_options): New.
- 	(function_arg_boundary): Vector arguments must be 16
- 	byte aligned.
- 	(function_arg_advance): Handle vector arguments.
- 	(function_arg_partial_nregs): Same.
- 	(init_cumulative_args): Same.
- 	(function_arg): Same.
- 
- 	* config/rs6000/rs6000.md (altivec_lvx): New.
- 	(type): Add altivec attribute.
- 	(movv4si): New.
- 	(*movv4si_internal): New.
- 	(movv16qi): New.
- 	(*movv16qi_internal): New.
- 	(movv8hi): New.
- 	(*movv8hi_internal1): New.
- 	(movv4sf): New.
- 	(*movv4sf_internal1): New.
- 	(altivec_stvx): New.
- 	(vaddubm): New.
- 	(vadduhm): New.
- 	(vadduwm): New.
- 	(vaddfp): New.
- 	(vaddcuw): New.
- 	(vaddubs): New.
- 	(vaddsbs): New.
- 	(vadduhs): New.
- 	(vaddshs): New.
- 	(vadduws): New.
- 	(vaddsws): New.
- 	(vand): New.
- 	(vandc): New.
- 	(vavgub): New.
- 	(vavgsb): New.
- 	(vavguh): New.
- 	(vavgsh): New.
- 	(vavguw): New.
- 	(vavgsw): New.
- 	(vcmpbfp): New.
- 	(vcmpequb): New.
- 	(vcmpequh): New.
- 	(vcmpequw): New.
- 	(vcmpeqfp): New.
- 	(vcmpgefp): New.
- 	(vcmpgtub): New.
- 	(vcmpgtsb): New.
- 	(vcmpgtuh): New.
- 	(vcmpgtsh): New.
- 	(vcmpgtuw): New.
- 	(vcmpgtsw): New.
- 	(vcmpgtfp): New.
- 	(vcmpgefp): New.
- 	(vcmpgtub): New.
- 	(vcmpgtsb): New.
- 	(vcmpgtuh): New.
- 	(vcmpgtsh): New.
- 	(vcmpgtuw): New.
- 	(vcmpgtsw): New.
- 	(vcmpgtfp): New.
- 	(vmaxub): New.
- 	(vmaxsb): New.
- 	(vmaxuh): New.
- 	(vmaxsh): New.
- 	(vmaxuw): New.
- 	(vmaxsw): New.
- 	(vmaxfp): New.
- 	(vmrghb): New.
- 	(vmrghh): New.
- 	(vmrghw): New.
- 	(vmrglb): New.
- 	(vmrglh): New.
- 	(vmrglw): New.
- 	(vminub): New.
- 	(vminsb): New.
- 	(vminuh): New.
- 	(vminsh): New.
- 	(vminuw): New.
- 	(vminsw): New.
- 	(vminfp): New.
- 	(vmuleub): New.
- 	(vmulesb): New.
- 	(vmuleuh): New.
- 	(vmulesh): New.
- 	(vmuloub): New.
- 	(vmulosb): New.
- 	(vmulouh): New.
- 	(vmulosh): New.
- 	(vnor): New.
- 	(vor): New.
- 	(vpkuhum): New.
- 	(vpkuwum): New.
- 	(vpkpx): New.
- 	(vpkuhss): New.
- 	(vpkshss): New.
- 	(vpkuwss): New.
- 	(vpkswss): New.
- 	(vpkuhus): New.
- 	(vpkshus): New.
- 	(vpkuwus): New.
- 	(vpkswus): New.
- 	(vrlb): New.
- 	(vrlh): New.
- 	(vrlw): New.
- 	(vslb): New.
- 	(vslh): New.
- 	(vslw): New.
- 	(vsl): New.
- 	(vslo): New.
- 	(vsrb): New.
- 	(vrsh): New.
- 	(vrsw): New.
- 	(vsrab): New.
- 	(vsrah): New.
- 	(vsraw): New.
- 	(vsr): New.
- 	(vsro): New.
- 	(vsububm): New.
- 	(vsubuhm): New.
- 	(vsubuwm): New.
- 	(vsubfp): New.
- 	(vsubcuw): New.
- 	(vsububs): New.
- 	(vsubsbs): New.
- 	(vsubuhs): New.
- 	(vsubshs): New.
- 	(vsubuws): New.
- 	(vsubsws): New.
- 	(vsum4ubs): New.
- 	(vsum4sbs): New.
- 	(vsum4shs): New.
- 	(vsum2sws): New.
- 	(vsumsws): New.
- 	(vxor): New.
- 
- 2001-11-07  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* Makefile.in (df.o): Add fibheap.h to dependencies.
- 
- 	* df.h: Add prototypes for transfer functions, iterative_dataflow
- 	functions.
- 	(enum df_flow_dir): New enum.
- 	(enum df_confluence_op): New enum.
- 	(struct df): Add inverse_rts_map.
- 
- 	* df.c: Add sbitmap.h to the list of includes.
- 	(df_rd_global_compute): Removed.
- 	(df_ru_global_compute): Removed.
- 	(df_lr_global_compute): Removed.
- 	(df_rd_transfer_function): New function.
- 	(df_ru_transfer_function): New function.
- 	(df_lr_transfer_function): New function.
- 	(df_analyse_1): allocate/compute/free df->inverse_rts_map.
- 	Use iterative_dataflow_bitmap instead of df_*_global_compute.
- 	(iterative_dataflow_sbitmap): New function.
- 	(iterative_dataflow_bitmap): New function.
- 
- 2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Move terminology and spelling conventions to
- 	htdocs/codingconventions.html.
- 
- 2001-11-07  Graham Stott  <grahams@redhat.com>
- 
- 	* cse.c (cse_insn): Emit BARRIER after unconditional jump.
- 
- Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expmed.c (expand_mult): Force operand to register before computing
- 	cost.
- 	* i386.c (x86_decompose_lea): New global vairable.
- 	* i386.h (x86_decompose_lea): Declare.
- 	(TARGET_DECOMPOSE_LEA): New macro.
- 	(RTX_COST): Handle leas properly.
- 
- 2001-11-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
- 	defined for a CONSTRUCTOR; don't check it.
- 
- 2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
- 	test for absolute pathnames.
- 
- 2001-11-06  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* unwind-dw2.c (execute_cfa_program): Evaluate call frame
- 	instructions up to the target pc inclusive.
- 
- 2001-11-06  Steve Christiansen  <smc@us.ibm.com>
- 
- 	* loop.c (loop_regs_scan):  Don't invalidate PIC register.
- 
- 2001-11-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md(movdf_internal2): Add constraints for float
- 	to general register move.
- 	* config/mips/elf64.h: Add default ABI.
- 
- 2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* alias.c:: Include langhooks.h.
- 	* emit-rtl.c: Similarly.
- 	* toplev.c: Similarly.
- 	* tree-inline.c: Similarly.
- 	* langhooks-def.h: New, the old langhooks.h.  Give the default
- 	hooks a common prefix.
- 	* langhooks.h: Contents extracted from toplev.h.
- 	* toplev.h: Move langhook stuff to langhooks.h.
- 	* langhooks.c: Give default hooks a common prefix.
- 
- 	* c-lang.c: Include langhooks-def.h.
- 	* objc/objc-act.c: Similarly.
- 	* Makefile.in: Update.
- 	* objc/Make-lang.in: Update.
- 
- 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Document that configure options not listed in
- 	this file are unsupported.  Document --with-system-zlib.
- 
- Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.h (mem_for_const_double): New declaration.
- 	* varasm.c (mem_for_const_double): New function.
- 	* config/convex/convex.md (movdf): Use it.
- 	* config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
- 	* config/m68k/linux.h, config/m68k/m68k.h: Likewise.
- 	* config/m68k/m68kv4.h: Likewise.
- 
- 	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
- 	of new GP reg classes.
- 
- 	* expr.c (store_field): When making temp object for unaligned
- 	component, set it to alias set 0.
- 
- 2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (c_expand_expr_stmt): Apply default conversions to
- 	non-lvalue arrays if C99.
- 	* c-typeck.c (default_conversion): Split out code handling
- 	array-to-pointer and function-to-pointer conversions into a
- 	separate default_function_array_conversion function.
- 	(default_function_array_conversion): New function.  Keep track of
- 	whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
- 	arrays unchanged outside C99 mode instead of giving an error for
- 	them.
- 	(build_component_ref): Use pedantic_non_lvalue when handling
- 	COMPOUND_EXPR.  Don't handle COND_EXPR specially.
- 	(convert_arguments): Use default_function_array_conversion.
- 	(build_unary_op): For ADDR_EXPR, take a flag indicating whether
- 	non-lvalues are OK.
- 	(unary_complex_lvalue): Likewise.
- 	(internal_build_compound_expr): Use
- 	default_function_array_conversion.  Apply default conversions to
- 	function in compound expression.
- 	(build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
- 	Use default_function_array_conversion.
- 	* doc/extend.texi: Update documentation of subscripting non-lvalue
- 	arrays.
- 	Fixes PR c/461.
- 
- 2001-11-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
- 	(AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
- 	corresponding to the complete set of .po and .gmo files in
- 	the source directory's po subdir, modified by LINGUAS.  Don't
- 	look at ALL_LINGUAS.
- 	* configure.in: Don't set ALL_LINGUAS.
- 	* configure: Regenerate.
- 
- 	* Makefile.in (.po.gmo): Don't move into source directory.
- 	(.po.pox): Clarify comments.
- 	(install-po): Look for .gmo files in both srcdir and objdir;
- 	don't fail if a file is totally missing.
- 	(distclean): rmdir ada subdirectory too.
- 
- 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_select_section): Handle
- 	CONSTRUCTORs _correctly_.
- 
- 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* c-decl.c (delete_block): Remove.
- 	* c-tree.h (delete_block): Remove.
- 
- 2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cppexp.c (lex, parse_defined): Update warning about defined.
- 
- 2001-11-05  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_select_section): Handle
- 	CONSTRUCTORs too.
- 
- 2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_return_in_memory): Cope with
- 	int_size_in_bytes returning -1.
- 
- 	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
- 	DECL being NULL.
- 
- Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (bb-reorder.o): Add dependency on cfglayout.h;
- 	remove unneeded dependencies;
- 	(cfglayout.o): New.
- 	* cfglayout.c, cfglayout.h: New files; break out from ...
- 	* bb-reorder.c: ... here; Remove unneeded includes;
- 
- 2001-11-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.
- 
- 2001-11-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
- 	mode as well.  Do not explicitly create intermediate regs.
- 
- 2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arm/aof.h (aof_text_section, aof_data_section): Don't declare.
- 	(common_section): Delete unused variable.
- 	(ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
- 	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
- 	* arm-protos.h (arm_poke_function_name, aof_add_import,
- 	aof_delete_import): Const-ify.
- 	* arm.c (legitimize_pic_address): Wrap variables in the macro
- 	controlling their usage.
- 	(arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
- 	(arm_poke_function_name, pic_chain, import, aof_add_import,
- 	aof_delete_import): Const-ify.
- 	* i386.c (ix86_osf_output_function_prologue): Const-ify.
- 	* i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
- 	ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
- 	* i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
- 	* i860/sysv3.h: Add missing comment closure.
- 	* m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
- 	* m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
- 	to symbolic_operand.
- 
- 	* config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
- 	(i960-*-*): Set tmake_file.
- 	(sparc86x-*-elf*): Fix typo in header name.
- 
- 	* sched-rgn.c (schedule_insns): Delete unused variable.
- 
- 2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	PR c/2820
- 	* c-typeck.c (lookup_field): Rework to return a chain down to
- 	the looked-up field.
- 	(build_component_ref): Use the new lookup_field to handle
- 	nested anonymous entities correctly.
- 
- Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
- 	Change parameters to gen_rtx_CONST_DOUBLE.
- 	(GEN_INT64, sparc_emit_set_const64): Likewise.
- 	* config/sparc/sparc.md (movdf split): Likewise.
- 
- 2001-11-03  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* unroll.c (calculate_giv_inc): Use find_last_value rather
- 	than just hoping the last instruction is the right SET.
- 	[Fixes 990604-1.c on stormy16.]
- 
- 	* config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
- 	library at all if -T is used.
- 
- 	* config/stormy16/stormy16.c (stormy16_print_operand): Avoid
- 	some uses of uninitialized variables in error cases.
- 
- 	* config/stormy16/stormy16.c (stormy16_output_shift): Don't
- 	look at 'temp' if we won't be using it.
- 
- 	* config/stormy16/stormy16.h (CONST_COSTS): Define.
- 	(RTX_COSTS): Define.
- 	(ADDRESS_COST): Define.
- 	(MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.
- 
- 	* config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.
- 
- 	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
- 	stormy16_asm_output_mi_thunk.
- 	* config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
- 	function.
- 	* config/stormy16/stormy16-protos.h
- 	(stormy16_asm_output_mi_thunk): New prototype.
- 
- 2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
- 	FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
- 	caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
- 	cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
- 	sched-int.h, toplev.c, config/alpha/alpha.c,
- 	config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
- 	config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
- 	config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
- 	config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
- 	config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
- 	config/ns32k/ns32k.md, config/rs6000/rs6000.c,
- 	config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.
- 
- 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (dbxout.o): Depend on function.h.
- 	* collect2.c (is_in_list): Hide unused function.
- 	* dbxout.c: Include function.h.
- 	(source_label_number, dbxout_source_line, dbxout_source_file,
- 	dbxout_function_end, dbxout_begin_function): Wrap/move inside
- 	macros controlling usage.
- 	* gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
- 	* output.h (exports_section): Prototype.
- 
- 	* convex.c (convex_output_function_prologue): Fix format specifier
- 	warning.
- 	(asm_declare_function_name): Fix signed/unsigned warning.
- 	(print_operand): Fix format specifier warning.
- 	* convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
- 	* dsp16xx-protos.h (uns_comparison_operator,
- 	num_1600_core_shifts): Prototype.
- 	* dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
- 	(frame_size, frame_pointer_offset): Delete.
- 	(dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
- 	Make static.  Fix format specifier warnings.
- 	* dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
- 	(EXTRA_SECTION_FUNCTIONS): Prototype const_section.
- 	* dsp16xx.md: Add default case in switches.
- 	* fr30.h (IN_RANGE): Delete.
- 	* ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
- 	* mcore-protos.h (mcore_output_cmov): Const-ify.
- 	* mcore.c (mcore_output_cmov): Likewise.
- 	* mcore.h (switch_to_section): Make static and prototype.
- 	* mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
- 	unsigned>=0 warnings.
- 	* mn10300.h (REGNO_IN_RANGE_P): Likewise.
- 	* rs6000-protos.h (read_only_data_section,
- 	read_only_private_data_section): Prototype.
- 	* rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
- 	* sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
- 	* sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.
- 
- 2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
- 	ATTRIBUTE_UNUSED.
- 	* final.c (final_scan_insn): Add brackets around body of if-stmt.
- 	* gcc.c (convert_filename): Add static prototype.  Const-ify.
- 	Wrap variable in macros controlling its use.
- 	* output.h (sdata_section): Add prototype.
- 
- 	* 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
- 	(ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
- 	* c4x.h (INIT_SECTION_FUNCTION): Add prototype.
- 	(ASM_FILE_START): Const-ify.
- 	(ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
- 	specifier warning.
- 	* c4x.md: Don't use the 'U' integer suffix.
- 	* clipper.md (clipper_movstr): Delete declaration.
- 	* d30v-protos.h (d30v_move_2words): Const-ify.
- 	(debug_stack_info): Add prototype.
- 	* d30v.c: Include "integrate.h".
- 	(d30v_function_arg_boundary, d30v_function_arg,
- 	d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
- 	signed/unsigned warnings.
- 	(d30v_print_operand_memory_reference, d30v_move_2words):
- 	Const-ify.
- 	* d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
- 	* fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
- 	* fr30.md: Const-ify.
- 	* h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
- 	* i370.c (i370_label_scan, mvs_get_label): Make definition static.
- 	(mvs_get_label_page): Hide unused static function.
- 	* i860.c (current_function_original_name): Const-ify.
- 	* i860/sysv3.h (current_function_original_name): Likewise.
- 	* i860/sysv4.h (current_function_original_name): Likewise.
- 	* i960.md: Add default case in switches.  Remove unused variable.
- 	* i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
- 	* m32r.md: Const-ify.
- 	* m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
- 	* m68hc11.c: Include "reload.h".
- 	(static_chain_reg, print_options, m68hc11_asm_file_start):
- 	Const-ify.
- 	* m68hc11.md: Delete unused variable.  Const-ify.  Add parens
- 	around & in comparison.
- 	* mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
- 	* mn10200.c (shift_mode): Remove trailing comma.
- 	* mn10300-protos.h (output_tst): Const-ify.
- 	* mn10300.c (output_tst): Likewise.
- 	* pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
- 	warnings.
- 	* pa-protos.h (output_ascii): Use regular char *, not unsigned.
- 	* pa.c (output_ascii): Likewise.
- 	* pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
- 	* pdp11.md (expand_unop): Delete declarations.
- 	* pj-protos.h (pj_output_addsi3): Const-ify.
- 	* pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
- 	pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
- 	unique_src_operand): Add prototypes.
- 	(pj_output_store_into_lval): Make definition static.
- 	(pj_function_incoming_arg): Don't use unary plus.
- 	(pj_output_addsi3): Const-ify.
- 	* romp.md (get_symref): Delete declarations.
- 	* v850-c.c (mark_current_function_as_interrupt): Don't return
- 	value from void function.
- 	* v850.c: Include "integrate.h".
- 	* v850.h (ASM_OUTPUT_LABELREF): Const-ify.
- 	* vax-protos.h (const_section): Add prototype.
- 
- 2001-11-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* machmode.def: Add documentation for the seventh argument in
- 	vector modes.
- 
- 2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
- 	consistently.
- 	<-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
- 	<-melf>: Don't have markup for ELF acronym.
- 
- 2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config.gcc (mmix-*-*): New target.
- 	* doc/invoke.texi: Document MMIX options.
- 	* doc/contrib.texi: Add note about MMIX port to my entry.
- 	* config/mmix/t-mmix: New file.
- 	* config/mmix/mmix.h: New file.
- 	* config/mmix/mmix-protos.h: New file.
- 	* config/mmix/mmix.c: New file.
- 	* config/mmix/mmix.md: New file.
- 	* config/mmix/crti.asm: New file.
- 	* config/mmix/crtn.asm: New file.
- 
- 2001-11-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/sparc/linux-aout.h: Fix comment formatting.
- 	* config/sparc/linux.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 	* config/sparc/lynx.h: Likewise.
- 	* config/sparc/pbd.h: Likewise.
- 	* config/sparc/sol2-sld-64.h: Likewise.
- 	* config/sparc/sol2.h: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 	* config/sparc/sunos4.h: Likewise.
- 	* config/sparc/vxsim.h: Likewise.
- 	* config/sparc/vxsparc.h: Likewise.
- 	* config/sparc/vxsparc64.h: Likewise.
- 
- Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
- 	reference to CONST_DOUBLE_MEM in comment.
- 	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
- 	(gen_rtx, case CONST_DOUBLE): Call it with one less operand.
- 	(init_emit_once): Don't clear CONST_DOUBLE_MEM.
- 	* function.c (pop_function_context_from): Don't call
- 	restore_varasm_status.
- 	* function.h (restore_varasm_status): Delete declaration.
- 	* gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
- 	* rtl.c: Likewise.
- 	* rtl.def (CONST_DOUBLE): Update comment.
- 	* rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
- 	(CONST_DOUBLE_CHAIN): Likewise.
- 	(CONST_DOUBLE_MEM): Delete.
- 	(gen_rtx_CONST_DOUBLE): Update parameters.
- 	* varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
- 	Remove reference to CONST_DOUBLE_MEM.
- 	(const_alias_set): New variable.
- 	(immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
- 	(immed_real_const_1): Adjust tests for 0, 1, and 2.
- 	Don't set CONST_DOUBLE_MEM.
- 	(clear_const_double_mem): Don't do anything with const_tiny_rtx.
- 	(output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
- 	Put constant in const_alias_set.
- 	(struct pool_constant): ALIGN now unsigned.
- 	OFFSET now HOST_WIDE_INT.
- 	Delete LABEL.
- 	(restore_varasm_status): Deleted.
- 	(mark_pool_constant): Mark desc->rtl.
- 	(force_const_mem): Rework to store rtl in hash table,
- 	not CONST_DOUBLE_MEM.
- 	Put constant in const_alias_set.
- 	(find_pool_constant): Check desc->rtl.
- 	(mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
- 	(init_varasm_once): Initialize const_alias_set.
- 
- 	* expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
- 	force_const_mem.
- 
- 	* reload.c (combine_reloads): Don't combine an output reload if there
- 	are other reloads around for part of the output.
- 
- 	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
- 	constant expression.
- 	(set_mem_decl): New function.
- 	* expr.h (set_mem_decl): New declaration.
- 	* final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
- 	(output_asm_operand_names): Add tab.
- 	* reload1.c (alter_reg): Set decl of MEM from REG_DECL.
- 
- 	* builtins.c (get_memory_rtx): Properly set MEM alias set and
- 	attributes.
- 
- 2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
- 	Use "invalid" instead of "illegal".  Use @r in comments in
- 	examples.
- 
- 2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (pushdecl): Move block inside if conditional to remove
- 	possibility of a segfault.  Lookup block-level extern
- 	variables in enclosing scopes correctly.
- 
- 	* testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.
- 
- 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expmed.c (store_bit_field): Use simplify_gen_subreg to make
- 	SUBREG so we avoid SUBREGing memory.
- 
- 	* expmed.c (store_bit_field): Same.
- 
- 2001-11-02  DJ Delorie  <dj@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
- 	using FP registers for DImode mem-mem moves is acceptable.
- 
- 2001-11-02  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* builtins.c (apply_args_size): Handle vector arguments.
- 	(apply_result_size): Same.
- 
- 	* machmode.def: Set WIDER mode field for all vector entries.
- 
- 2001-11-02  Graham Stott  <grahams@redhat.com>
- 
- 	* recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.
- 
- 2001-11-01  Eric Christopher  <echristo@redhat.com>
- 
- 	* config.gcc: Revert part of earlier patch.
- 	* config/mips/linux.h: Ditto.
- 	* df.c: Include tm_p.h to avoid warnings.
- 	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
- 	#if/#endif.
- 	* config/mips/mips.c: Define mips_abi regardless.
- 	(mips_output_function_prologues): Add long casts for .frame
- 	output.
- 	(override_options): Allow use of ABI_32.
- 
- 2001-11-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/m68hc11/m68hc11.c: Fix comment formatting.
- 	* config/m68hc11/m68hc11.h: Likewise.
- 	* config/m68hc11/m68hc11.md: Likewise.
- 
- 2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-typeck.c (default_conversion): Retain the original expression
- 	codes.
- 	* gcc.dg/Wparentheses.c: New tests.
- 
- 2001-11-01  David S. Miller  <davem@redhat.com>
- 
- 	* doc/install.texi (Specific, sparc-sun-solaris2*): Bring
- 	64-bit SPARC description more in line with reality.
- 
- 2001-11-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in (GCOV_OBJS): Add version.o.
- 	* gcov.c: Include "version.h" and <getopt.h>.
- 	(gcov_version_string): Remove.
- 	(print_usage): Take a parameter to determine whether this is a
- 	call from --help or an error message.  Give fuller output that
- 	follows the GNU Coding Standards for --help.
- 	(print_version): New function.
- 	(options): New.
- 	(process_args): Use getopt_long.  Support long options.  Follow
- 	GNU Coding Standards for --help and --version.
- 	* doc/gcov.texi: Document long options.
- 	Addresses part of PR other/704.
- 
- 2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_move_double): Fix typo in double load.
- 
- 2001-11-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_encode_label): Compute a string
- 	before passing it to ggc_alloc_string.
- 
- 2001-11-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/m68k/3b1.h: Fix comment formatting.
- 	* config/m68k/3b1g.h: Likewise.
- 	* config/m68k/a-ux.h: Likewise.
- 	* config/m68k/amix.h: Likewise.
- 	* config/m68k/apollo68.h: Likewise.
- 	* config/m68k/atari.h: Likewise.
- 	* config/m68k/aux-exit.c: Likewise.
- 	* config/m68k/ccur-GAS.h: Likewise.
- 	* config/m68k/crds.h: Likewise.
- 	* config/m68k/dpx2.h: Likewise.
- 	* config/m68k/dpx2g.h: Likewise.
- 	* config/m68k/hp310.h: Likewise.
- 	* config/m68k/hp320.h: Likewise.
- 	* config/m68k/isi.h: Likewise.
- 	* config/m68k/linux.h: Likewise.
- 	* config/m68k/lynx.h: Likewise.
- 	* config/m68k/m68k-psos.h: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m68k/m68k.md: Likewise.
- 	* config/m68k/m68kelf.h: Likewise.
- 	* config/m68k/m68kv4.h: Likewise.
- 	* config/m68k/mot3300.h: Likewise.
- 	* config/m68k/news.h: Likewise.
- 	* config/m68k/next.h: Likewise.
- 	* config/m68k/pbb.h: Likewise.
- 	* config/m68k/plexus.h: Likewise.
- 	* config/m68k/sgs.h: Likewise.
- 	* config/m68k/sun3.h: Likewise.
- 	* config/m68k/tower.h: Likewise.
- 	* config/m68k/vxm68k.h: Likewise.
- 
- 2001-10-31  DJ Delorie  <dj@redhat.com>
- 
- 	* config/mips/mips.h (mips_cache_flush_func): Prototype.
- 	(TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
- 	(INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
- 	* config/mips/mips.c (mips_cache_flush_func): New.
- 	* doc/invoke.texi: Document the new options.
- 
- 2001-10-31  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config.gcc (cris-*-linux*, tm_file): Rearrange order.
- 	* config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.
- 
- 	* config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.
- 
- 	* config/cris/cris.c: Include output.h after tree.h but before
- 	target.h.
- 
- 2001-10-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (INTL_TARGETS, POSUB): Delete all references.
- 	(INTL_SUBDIRS): Just intl.
- 	(.SUFFIXES): Add .gmo .po .pox.
- 	(native): Also depend on build-@POSUB@.
- 	(intl.all, intl.install): Depend on config.h and things it includes.
- 	(po-generated): New target; depend on c-parse.c and tradcif.c.
- 	(install-normal): Also depend on install-@POSUB@.
- 	(XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
- 	(build-, install-, build-po, update-po, install-po,
- 	.po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.
- 
- 	* aclocal.m4: Prefix each entry in CATALOGS with "po/"
- 	* configure.in: Don't munge XGETTEXT.  Don't generate
- 	po/Makefile.in.
- 	* configure: Regenerate.
- 
- 	* exgettext: Delete.
- 	* config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
- 	* objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.
- 
- 2001-10-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (two anonymous patterns): New.
- 
- 2001-10-31  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* tree.h (tree_index): Add support for V16QI and V8HI.
- 	(V8HI_type_node): New.
- 	(V16QI_type_node): New.
- 
- 	* tree.c (build_common_tree_nodes_2): Same.
- 
- 	* c-common.c (type_for_mode): Same.
- 
- 2001-10-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/i386/att.h: Fix comment formatting.
- 	* config/i386/beos-elf.h: Likewise.
- 	* config/i386/bsd.h: Likewise.
- 	* config/i386/bsd386.h: Likewise.
- 	* config/i386/crtdll.h: Likewise.
- 	* config/i386/cygwin.asm: Likewise.
- 	* config/i386/cygwin.h: Likewise.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/freebsd-aout.h: Likewise.
- 	* config/i386/freebsd.h: Likewise.
- 	* config/i386/gas.h: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/i386-protos.h: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i386/i386elf.h: Likewise.
- 	* config/i386/interix.c: Likewise.
- 	* config/i386/isc.h: Likewise.
- 	* config/i386/isccoff.h: Likewise.
- 	* config/i386/iscdbx.h: Likewise.
- 	* config/i386/linux.h: Likewise.
- 	* config/i386/lynx.h: Likewise.
- 	* config/i386/mingw32.h: Likewise.
- 	* config/i386/netbsd-elf.h: Likewise.
- 	* config/i386/next.h: Likewise.
- 	* config/i386/osf1elf.h: Likewise.
- 	* config/i386/osfrose.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i386/seq-gas.h: Likewise.
- 	* config/i386/seq-sysv3.h: Likewise.
- 	* config/i386/sequent.h: Likewise.
- 	* config/i386/sol2.h: Likewise.
- 	* config/i386/sun386.h: Likewise.
- 	* config/i386/uwin.asm: Likewise.
- 	* config/i386/uwin.h: Likewise.
- 	* config/i386/vxi386.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i386/xm-cygwin.h: Likewise.
- 	* config/i386/xm-mingw32.h: Likewise.
- 
- 2001-10-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* builtins.def: Fix comment typos.
- 	* config/alpha.c: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/d30v/d30v.c: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/d30v/d30v.md: Likewise.
- 	* config/dsp16xx/dsp16xx.c: Likewise.
- 	* config/fr30/fr30.c: Likewise.
- 	* config/fr30/fr30.md: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i860/i860.c: Likewise.
- 	* config/i960/i960.c: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 
- 2001-10-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/mips/elf.h: Fix comment formatting.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/iris5.h: Likewise.
- 	* config/mips/iris5gas.h: Likewise.
- 	* config/mips/iris6.h: Likewise.
- 	* config/mips/isa3264.h: Likewise.
- 	* config/mips/linux.h: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/mips/mips16.S: Likewise.
- 	* config/mips/netbsd.h: Likewise.
- 	* config/mips/osfrose.h: Likewise.
- 	* config/mips/r3900.h: Likewise.
- 	* config/mips/sni-svr4.h: Likewise.
- 	* config/mips/svr4-t.h: Likewise.
- 	* config/mips/ultrix.h: Likewise.
- 
- 2001-10-30  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* bitmap.c (bitmap_element_free): Don't forget to update head->indx
- 	when we update head->current.
- 
- 2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tree.c (id_string_size): Remove.
- 	(dump_tree_statistics): Update.
- 	* toplev.c (compile_file): If dumping stats, dump tree stats too.
- 
- Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* sched-rgn.c (schedule_insns): Fix comment.
- 
- 2001-10-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Correct previous change: don't assume that
- 	gas's version number _isn't_ the last thing on the line, or
- 	isn't the only number on the line, either.
- 	* configure: Regenerate.
- 
- 2001-10-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* cfgcleanup.c: Fix a comment typo.
- 
- 2001-10-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* alias.c: Fix comment formatting.
- 	* recog.c: Likewise.
- 	* config/cris/cris.c: Likewise.
- 	* config/cris/cris.h: Likewise.
- 	* config/i960/i960.c: Likewise.
- 	* config/i960/i960.h: Likewise.
- 
- 2001-10-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/arm/arm.c: Fix a comment typo.
- 	* config/arm/arm.h: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 
- 2001-10-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
- 	REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
- 	* rtl.h (set_unique_reg_note): Change return value.
- 	* gcse.c (try_replace_reg): Use set_unique_reg_note.
- 	* cse.c (cse_insn): Likewise.
- 	* expr.c (emit_move_insn): Likewise.
- 	* explow.c (force_reg): Likewise.
- 	* local-alloc (update_equiv_regs): Likewise.
- 	* loop.c (move_moveables, load_mems): Likewise.
- 	* reload (find_reloads): Likewise.
- 
- 2001-10-30  Paolo Bonzini  <bonzini@gnu.org>
- 
- 	Localization fixes.
- 	* c-decl.c (parmlist_tags_warning, start_struct,
- 	check_for_loop_decls): Separate messages for struct, union and
- 	enum cases to allow for languages in which they have different
- 	genders.
- 	* c-format.c (scanf_flag_specs): Separate short and long name of
- 	the assignment suppression feature.
- 	(check_format_types): Localize "pointer" and "different types"
- 	strings.
- 	* c-lex.c (lex_number): Localize "an unsigned long int" and
- 	related strings.
- 	(lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
- 	warning message.
- 	* c-typeck.c (build_unary_up): Separate messages for increment and
- 	decrement cases to allow for languages in which they use different
- 	articles.  Localize the strings "increment" and "decrement" in one
- 	case.
- 
- Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* lcm.c (optimize_mode_switching):  Do not rebuild liveness information
- 	when no changes has been made.
- 
- 	* gcse.c (reg_set_bitmap): Turn into reg_set.
- 	(modify_mem_list_set, canon_modify_mem_list_set)
- 	(clear_modify_mem_tables, free_modify_mem_tables): New.
- 	(gcse_main); Use free_modify_mem_tables.
- 	(free_gcse_mem): Likewise; free the bitmaps.
- 	(alloc_gcse_main): Initialize the bitmaps.
- 	(canon_list_insert): Set canon_modify_mem_list_set.
- 	(record_last_mem_set_info): Likewise; set modify_mem_list_set.
- 	(compute_hash_table): Use clear_modify_mem_tables.
- 	(reset_opr_set_tables): Likewise.
- 	(oprs_not_set_p): reg_set_bitmap is regset.
- 	(mark_set, mark_clobber): Likewise.
- 
- 	* df.h (DF_EQUIV_NOTES): New constant.
- 	(df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
- 	when asked for.
- 
- 	* sched-rgn.c (CHECK_DEAD_NOTES): New constant.
- 	(init_regions, schedule_insns): Conditionalize the checking
- 	code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.
- 
- Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movti_rex64 splitter): Fix condition.
- 
- 2001-10-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Do not assume that gas's version number is the
- 	last thing on the first line of as --version output.
- 	* configure: Regenerate.
- 
- 	* tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
- 	MT_WARNING, MT_ERROR, MT_FATAL.
- 	(main): Call gcc_init_libintl.
- 	(v_message): Call gettext on msgid and "warning: "
- 	* tradcif.y: Include intl.h.
- 	(yyerror): Make parameter definition consistent with
- 	prototype.  Call gettext on msgid argument.
- 
- 2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* combine.c (num_sign_bit_copies): Avoid signed/unsigned
- 	warnings.
- 
- 	* sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.
- 
- Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload1.c (eliminate_regs): Test for reg_renumber being allocated
- 	before referencing it.
- 
- 2001-10-26  DJ Delorie  <dj@redhat.com>
- 
- 	* config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
- 	override -G, and force -G0.
- 
- 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
- 	FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
- 	c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
- 	timevar.h, tree.h, varasm.c: Fix spelling errors and typos.
- 
- 	* loop.h (struct induction): Rename ext_dependant to
- 	ext_dependent.
- 	* loop.c: Change all uses.
- 	(check_ext_dependant_givs): Rename to check_ext_dependent_givs.
- 	All callers changed.
- 	* timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.
- 
- 2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (expr_no_commas, primary), c-typeck.c
- 	(parser_build_binary_op): Use IS_EXPR_CODE_CLASS.
- 
- 2001-10-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	Undo assemble_name change in earlier patch.
- 
- Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* objc/objc-act.c (finish_message_expr): For the GNU runtime: when
- 	determining the type of the receiver, do not check that TREE_CODE
- 	of receiver is CALL_EXPR before calling receiver_is_class_object().
- 	(receiver_is_class_object): For the GNU runtime: recognize
- 	the case that the receiver is self in a class method context.
- 	Check that TREE_CODE of receiver is CALL_EXPR when checking that
- 	the receiver is a call to objc_get_class.
- 
- 2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.
- 
- Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (OBJS): Put all files in alphabetical order.
- 
- 	* dwarf2out.c (add_const_value_attribute): Fix error in last
- 	change.
- 
- Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (purge_all_dead_edges): Add update_life_p argument.
- 	* cfgcleanup.c (merge_blocks): Update the life flag after merging;
- 	fix warning.
- 	* cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
- 	(life_analysis): call purge_all_dead_edges after deleting noops.
- 	(delete_noop_move): Do not purge CFG.
- 	* toplev.c (rest_of_compilation): Update purge_all_dead_edges call.
- 
- 2001-10-28  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
- 	* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
- 	(ASM_GLOBALIZE_LABEL): Use assemble_name.
- 	(ASM_OUTPUT_COMMON): Likewise.
- 	* config/rs6000/rs6000.c (print_operand): Use assemble_name.
- 	(rs6000_output_function_epilogue): Likewise.
- 	(output_mi_thunk): Fix typo.
- 	(rs6000_output_symbol_ref): Use assemble_name.
- 	(output_toc): Likewise.
- 	* config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
- 	* config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
- 	assemble_name calls STRIP_NAME_ENCODING.
- 	(ASM_OUTPUT_LABEL): Use assemble_name.
- 	(ASM_GLOBALIZE_LABEL): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
- 	(ASM_OUTPUT_LOCAL): Likewise.
- 
- Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
- 	(expand_builtin_apply, expand_builtin_return): Likewise.
- 	(expand_builtin_va_arg, expand_builtin_va_copy): Likewise.
- 
- 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
- 	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
- 	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
- 	configure, configure.in, except.c, except.h, flow.c, function.c,
- 	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
- 	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
- 	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
- 	unroll.c: Fix spelling errors.
- 
- 	* doc/extend.texi, doc/invoke.texi: Fix spelling.
- 
- 	* doc/gcc.texi: Document use of "dependent" and American spelling.
- 
- Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (emit_group_load): Support CONCATs by storing them to memory
- 	and reloading.
- 
- Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor_field): Only call adjust_address on MEM.
- 
- Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* genrecog.c (write_switch):  Output if before switch for
- 	DT_elt_zero_wide_safe.
- 
- 2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
- 	* i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
- 	(FUNCTION_PROFILER): Const-ify.
- 	* halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
- 	(eliminate_constant_term, assemble_name, output_addr_const):
- 	Remove declarations.
- 	(ptr_half_pic_address_p, half_pic_hash): Prototype.
- 	(all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
- 	half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
- 	* halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
- 	(half_pic_declare, half_pic_external): Const-ify.
- 	* toplev.c: Include "halfpic.h".
- 
- 2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
- 	config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
- 	config/i386/i386.c, config/i386/i386-interix.h,
- 	config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
- 	config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
- 	config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
- 	config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
- 	config/sparc/sparc.c, config/m68hc11/m68hc11.c,
- 	config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
- 	config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
- 	spelling errors.
- 
- 	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
- 	ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
- 	c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
- 	collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
- 	haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
- 	regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
- 	system.h, toplev.c: Fix spelling errors.
- 
- Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.
- 
- 	* dwarf2out.c (reg_number): Abort if pseudo.
- 	(reg_loc_descriptor): Return 0 if pseudo.
- 	(is_based_loc): Return 0 if pseudo.
- 	(mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
- 	recursive calls.
- 	(concat_loc_descriptor): Return 0 if either part's descriptor is 0.
- 	(loc_descriptor): Return 0 if can't find location and handle 0
- 	return from recursive calls.
- 	(loc_descriptor_from_tree): Likewise.
- 	Fix handling of indirect.
- 	Also return 0 for PLACEHOLDER_EXPR.
- 	Clean up COMPONENT_REF cases.
- 	(add_AT_location_descriptor): Simplify, but handle 0 return from
- 	loc_descriptor.
- 	(add_const_value_attribute): Avoid shift count warning.
- 	(add_bound_info): Remove test for PLACEHOLDER_EXPR here.
- 	Set comp_unit_die as context if not in function.
- 
- 	* config/mips/mips-protos.h: Break up long lines.
- 	Remove needless #ifdef/#endif blocks.
- 	Don't declare functions declared in file made by genpreds or recog.h.
- 	* config/mips/mips.c (mips_output_function_prologue): TSIZE
- 	is now HOST_WIDE_INT; delete unneeded casts.
- 	* config/mips/mips.h: Don't use #elif.
- 
- 	* expr.c (stor_constructor_field): Always call adjust_address.
- 	Copy TARGET before changing its alias set.
- 	(store_field): Likewise, for TO_RTX.
- 	(get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
- 	replacement.
- 	(safe_from_p, case ADDR_EXPR): Properly check for conflict.
- 	(find_placeholder): Return 0 if can't find object.
- 	(expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
- 	returns 0.
- 
- Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (if_convert): Call clear_aux_for_blocks.
- 
- Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
- 	merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
- 	(merge_blocks): Properly udpate life after making edge nonfallthru.
- 	* cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.
- 
- 2001-10-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
- 
- 2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-typeck.c (convert_arguments): When comparing for enumeral
- 	type equality, use TYPE_MAIN_VARIANT.
- 	* gcc.dg/Wconversion.c: New tests.
- 
- 2001-10-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* s390/s390.c: Fix comment typos.
- 	* s390/s390.h: Likewise.
- 	* s390/s390.md: Likewise.
- 
- 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree-inline.c (WALK_SUBTREE_TAIL): New macro.
- 	(walk_tree): Use it for tail calls where appropriate.
- 
- 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* cse.c (check_for_label_ref): Don't require REG_LABEL notes for
- 	non-local label_refs.
- 
- 2001-10-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (4 anonymous patterns): New.
- 
- 2001-10-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
- 	algorithm through the shift_info structure.
- 	(emit_a_shift): Update the use of get_shift_alg.
- 
- 2001-10-27  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* sched-rgn.c: Remove bitset typedef.
- 	Change bitset to sbitmap in prototypes / variable types.
- 	Remove bbset_size.
- 	Remove edgeset_bits.
- 	Remove edgeset_size.
- 	s/BITSET_ADD/SET_BIT/g
- 	s/BITSET_INVERT/sbitmap_ones/g
- 	s/BITSET_INTER/sbitmap_a_and_b/g
- 	s/BITSET_UNION/sbitmap_a_or_b/g
- 	s/BITSET_DIFFER/sbitmap_difference/g
- 	s/bitset_member/TEST_BIT/g
- 	(BITSET_*): Removed.
- 	(bitset_member): Removed.
- 	(extract_bitlst): Rewrite, now that we have sbitmaps, we can use
- 	EXECUTE_IF_SET_IN_SBITMAP.
- 	(split_edges): Rewrite, use sbitmap functions instead of bitset
- 	operations.
- 	(schedule_region): Allocate/free sbitmaps, rather than bitsets.
- 
- 2001-10-26  Andreas Schwab  <schwab@suse.de>
- 
- 	* reload1.c (emit_input_reload_insns): Fix parens in last
- 	(undocumented) change that was supposed to change only whitespace.
- 
- Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.
- 
- 	* local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
- 	ASM_OPERANDS.
- 
- 2001-10-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* flow.c (clear_log_links): Remove unused variable.
- 	* cfgcleanup.c (cleanup_cfg): Likewise.
- 
- 2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree-inline.c (remap_decl): Don't copy size and size_unit here.
- 	(remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.
- 
- 2001-10-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
- 	rename PV_REG to R27_REG.
- 	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
- 	(REG_CLASS_FROM_LETTER): Update.
- 	(PREFERRED_RELOAD_CLASS): Don't widen a reg class.
- 	* config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
- 	(udivsi3, modsi3, umodsi3): Likewise.
- 	(divdi3, udivdi3, moddi3, umoddi3): Likewise.
- 
- 2001-10-26  Richard Henderson  <rth@redhat.com>
- 
- 	* cfg.c (clear_aux_for_blocks): Split out of ...
- 	(free_aux_for_blocks): here.
- 	(clear_aux_for_edges): Split from ...
- 	(free_aux_for_edges): here.
- 	* basic-block.h: Declare them.
- 	* lcm.c (compute_antinout_edge): Use them.
- 	(compute_laterin, compute_available, compute_nearerout): Likewise.
- 	(optimize_mode_switching): Likewise.
- 
- 2001-10-26  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (unstage*): Remove as, ld, collect-ld before
- 	moving everything back to the main build directory.
- 
- 2001-10-26  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config/i386/cygwin.h: Search target specific include directory, if
- 	appropriate.
- 
- 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
- 	of macro guards. Fix #endif comment.
- 
- 	* output.h (default_exception_section, default_eh_frame_section):
- 	Move prototypes outside of macro guard.
- 
- 	* crtstuff.c: Fix #endif comment.
- 
- Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* doc/md.texi (movMM): Clarify semantics of storing into a
- 	non-paradoxical SUBREG.
- 
- 2001-10-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* langhooks.c (lang_hook_default_clear_binding_stack): New.
- 	(lang_hook_default_get_alias_set): Move next to other alias
- 	hooks.
- 	* langhooks.h: Prototype lang_hook_default_clear_binding_stack.
- 	(LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
- 	(LANG_HOOKS_INITIALIZER): Add it.
- 	* toplev.h (struct lang_hooks): Add clear_binding_stack.
- 	* toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
- 	instead of a loop calling poplevel.
- 
- 2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
- 	occurrences of #elif with #if...#endif.
- 
- 2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.
- 
- Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (can_address_p): No longer static.
- 	* emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
- 	Return 0 if all parameters are default values.
- 	(set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
- 	(adjust_address_1): Try harder to compute a size.
- 	* expr.c (expand_assignment, store_constructor): If can't address,
- 	set MEM_KEEP_ALIAS_SET_P.
- 	(store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
- 	(store_field): Likewise.
- 	(store_constructor): Simplify call to store_constructor_field.
- 	* expr.h (can_address_p): New declaration.
- 	* gensupport.c (gen_rtx_CONST_INT): New function.
- 	* rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
- 	(MEM_SIZE): Get size from mode, if not set and not BLKmode.
- 	(MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.
- 
- 	* stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.
- 
- 2001-10-24  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config/i386/cygwin.h: Use proper path for mingw crt files when
- 	-mno-cygwin.
- 
- Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (file_info_cmp): Always return consistent results.
- 
- 2001-10-24  Roger Sayle <roger@eyesopen.com>
- 
- 	* stmt.c (expand_end_case): Index jumptables from zero for
- 	suitably small values of minval.
- 
- 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stor-layout.c (place_union_field): If any field was aligned with
- 	attribute aligned, set record type's TYPE_USER_ALIGN.
- 	(place_field): Likewise.
- 	(finalize_record_size): Don't clear TYPE_USER_ALIGN.
- 	(layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.
- 
- 2001-10-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.h (struct c_common_identifier): Remove rid_code field.
- 	(C_RID_CODE): Use ->node.rid_code instead of ->rid_code.
- 
- 	* c-typeck.c (constructor_designated): New local flag.
- 	(struct constructor_stack): Add "designated" field to match.
- 	(start_init): Clear it.
- 	(really_start_incremental_init, push_init_level): Push and
- 	clear it.
- 	(pop_init_level): Pop it.
- 	(set_designator): Set it.
- 
- 	(pop_init_level): Suppress "missing initializer" warnings if
- 	constructor_designated is true.
- 	(process_init_element): Suppress warning about union
- 	initialization under traditional C, if constructor_designated
- 	is true.
- 
- Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
- 	change.
- 
- Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.
- 
- 2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
- 	the node was already a set to a constant.
- 
- Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (set_mem_attributes): Fix typo in last change.
- 	* print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.
- 
- 2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
- 	(ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
- 	(ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
- 	* s390.c (s390_final_chunkify): Don't use string concatenation.
- 	(s390_function_prologue, s390_function_epilogue): Const-ify.
- 	* s390.h (FUNCTION_PROFILER): Remove unused variable.
- 
- 2001-10-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
- 	prototypes.
- 
- 2001-10-23  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/x-darwin: Use -no-cpp-precomp instead of
- 	-traditional-cpp in first-stage compilation.
- 
- Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gensupport.c (target_flags): Add.
- 
- Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.
- 
- 	* builtins.c (expand_builtin_setjmp): Only call convert_memory_address
- 	if needed.
- 	(expand_builtin_longjmp, expand_builtin_alloca): Likewise.
- 	* except.c (expand_builtin_frob_return_addr): Likewise.
- 	(expand_builtin_eh_return): Likewise.
- 	* stmt.c (expand_computed_goto): Likewise.
- 	* explow.c (memory_address): Likewise.
- 	(allocate_dynamic_stack_space): Clean up predicate testing.
- 	(probe_stack_range): Convert SIZE to Pmode.
- 	* calls.c (rtx_for_function_call): Only call convert_memory_address
- 	if needed.
- 	Pass function call operand as ptr_mode, not Pmode.
- 	* expr.c (expand_assignment): Clean up calls to convert_memory
- 	address by only doing so when needed and making offsets Pmode.
- 	(store_constructor, expand_expr, expand_expr_unaligned): Likewise.
- 	* function.c (assign_parms): Ensure address in MEM for RESULT_DECL
- 	is in Pmode, not ptr_mode.
- 
- 2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* darwin-protos.h (constructor_section, destructor_section,
- 	mod_init_section, mod_term_section): Prototype.
- 	* darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
- 	Const-ify.
- 	* darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
- 	Likewise.
- 	(SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
- 	objc_section_init declaration.
- 	(EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
- 	(objc_section_init, try_section_alias): Make static.
- 	(alias_section): Make static and hide unused function.
- 	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
- 
- Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (can_address_p): Compnonents are not addressable if
- 	the containing type has alias set 0.
- 	(get_alias_set): Rework to use STRIP_NOPS.
- 	Only call front-end routine on object, type, or object with
- 	NOPs stripped, not inner values.
- 	Use language hook to call front-end routine.
- 	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
- 	(expand_builtin_apply): Call set_mem_align on MEMs we make.
- 	Don't pass alignment to emit_block_move.
- 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
- 	(expand_builtin_memset): Likewise, but for clear_storage.
- 	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
- 	and remove C++ specific parts.
- 	* c-common.h (c_common_get_alias_set): Add declaration.
- 	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
- 	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
- 	(save_fixed_argument_area): Call set_mem_align.
- 	Remove alignment in call to emit_block_move.
- 	(emit_library_call_value_1, store_one_arg): Likewise.
- 	(target_for_arg): Remove; disabled long ago.
- 	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
- 	once and similar cleanups.
- 	(offset_address): Use proper introductory comment.
- 	* expr.c (emit_block_move): Use alignment from that of MEM args, not
- 	from explicit operand; all callers changed.
- 	(clear_storage): Likewise.
- 	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
- 	(store_field): Remove kludge on alias set used for to_rtx.
- 	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
- 	(expand_expr_unaligned): Call set_mem_attributes instead of
- 	set_mem_alias_set.
- 	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
- 	* function.c (assign_stack_temp_for_type): Set MEM alignment.
- 	(expand_function_end): Track MEM attributes of trampolines.
- 	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
- 	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
- 	attributes from original.
- 	* langhooks.c (lang_hook_default_get_alias_set): New function.
- 	(hook_get_alias_set_0): New function.
- 	* langhooks.h (hook_get_alias_set_0): New declaration.
- 	(lang_hook_default_get_alias_set): Likewise.
- 	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
- 	* reload1.c (alter_reg): Use adjust_address_nv.
- 	* rtl.c (get_mode_alignment): Moved to here.
- 	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
- 	change default if unknown from 1 to BITS_PER_UNIT.
- 	* stor-layout.c (get_mode_alignment): Remove from here.
- 	* toplev.h (struct lang_hoks): Add get_alias_set field.
- 	* tree.h (lang_get_alias_set): Delete declaration.
- 	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
- 	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
- 	(ix86_va_arg): Likewise.
- 	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
- 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
- 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
- 	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
- 	(expand_block_move_mem): Remove dead code.
- 
- 2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (warn_div_by_zero): New.
- 	* c-common.h (warn_div_by_zero): New.
- 	* c-decl.c (c_decode_option): Take it on the command line.
- 	* c-typeck.c (build_binary_op): Warn about division by zero.
- 	* doc/invoke.texi: Document the new command line option, fix
- 	documentation of -Wmultichar.
- 	* testsuite/gcc.dg/divbyzero.c: New tests.
- 	* testsuite/gcc.dg/noncompile/20010524-1.c: Update.
- 
- Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.
- 
- 	* toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
- 	to avoid update_life_info call.
- 	* basic-block.h (CLEANUP_UPATE_LIFE): Define.
- 	* cfgcleanup.c (bb_flags): New enum.
- 	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
- 	(notice_new_block, update_forwarder_flag): New functions.
- 	(try_simplify_condjump): Use FORWARDER_BLOCK_P.
- 	(try_forward_edges): Likewise; update flags.
- 	(merge_blocks): Likewise.
- 	(outgoing_edges_match): Likewise.
- 	(try_crossjump_to_edge): Likewise.
- 	(try_optimize_cfg): Likewise; initialize and clear the flags;
- 	recompute life info if needed.
- 	(cleanup_cfg): No need to clear aux pointers.
- 
- 2001-10-23  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/i386.c (override_options): Default to minimum
- 	stack alignment when optimizing for code size.
- 	* doc/invoke.texi (-mpreferred-stack-boundary): Document the
- 	change.
- 
- 	* config/i386/i386.c (override_options): Set upper limit of
- 	-mpreferred-stack-boundary to 12.
- 
- 2001-10-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* recog.c (peephole2_optimize): Add default case to switch.
- 
- 2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi (Sending Patches): Remove.
- 
- 2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
- 	fields when comparing.
- 
- 2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
- 	* arm.c (HOST_INT, HOST_UINT): Likewise.
- 
- 2001-10-22  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin-protos.h (darwin_exception_section): Declare.
- 	(darwin_eh_frame_section): Declare.
- 
- Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movti_rex64): Fix mode.
- 
- 2001-10-22  Stan Shebs  <shebs@apple.com>
- 
- 	* target.h (struct gcc_target): Add asm_out.exception_section,
- 	asm_out.eh_frame_section.
- 	* target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
- 	(TARGET_ASM_EH_FRAME_SECTION): New.
- 	(TARGET_INITIALIZER): Update.
- 	* output.h (default_exception_section): Declare.
- 	(default_eh_frame_section): Declare.
- 	* dwarf2out.c: Include target.h.
- 	(output_call_frame_info): Call target hook for eh frames.
- 	(default_eh_frame_section): New function.
- 	* except.c: Include target.h.
- 	(output_function_exception_table): Call target hook for exception
- 	section.
- 	* varasm.c (default_exception_section): Rename from
- 	exception_section, remove EXCEPTION_SECTION macro.
- 
- 	* config/darwin.h (darwin_eh_frame_section): New function.
- 	(EXCEPTION_SECTION): Remove.
- 	(TARGET_ASM_EXCEPTION_SECTION): Define.
- 	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
- 	(nextstep_exception_section): New function.
- 	(nextstep_eh_frame_section): New function.
- 	(TARGET_ASM_EXCEPTION_SECTION): Define.
- 	(TARGET_ASM_EH_FRAME_SECTION): Define.
- 
- 	* config/pa/som.h (EXCEPTION_SECTION): Remove.
- 	(TARGET_ASM_EXCEPTION_SECTION): Define.
- 	* config/rs6000/sysv4.h, config/rs6000/xcoff.h
- 	(EXCEPTION_SECTION): Remove.
- 	(TARGET_ASM_EXCEPTION_SECTION): Define.
- 	* config/stormy16/stormy16.h: Remove comments referencing
- 	EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.
- 
- 	* doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
- 	TARGET_ASM_EH_FRAME_SECTION.
- 
- 2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/mips/mips.md (mul_acc_si): Fix precedence of conditional
- 	terms.
- 
- 	* c-format.c: Fix spelling typo in comment.
- 
- 	* sched-int.h: Fix typo in GCC preamble.
- 
- 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR debug/4252
- 	* doc/invoke.texi: Remove references to -fdump-translation-unit.
- 
- 2001-10-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_clear): New.
- 	* config/i386/i386-protos.h: Declare it.
- 	* config/i386/i386.md (setcc peep2s): Use it.
- 	(movsi_xor): Unexport.
- 
- 2001-10-22  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (clear_log_links): Use free_INSN_LIST_list, not
- 	free_EXPR_LIST_list for LOG_LINKS.
- 
- 2001-10-21  Robert Lipe  <robertlipe@usa.net>
- 
- 	* config/i386/i386.c (sco_asm_named_section): Delete.
- 	(sco_asm_out_constructor): Delete.
- 	* config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
- 	(ASM_OUTPUT_DOUBLE_INT): Likewise.
- 	(TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
- 	(TARGET_ASM_NAMED_SECTION): Use default for ELF.
- 	(EXCEPTION_SECTION): Delete EH scn renaming hack.
- 
- 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
- 	and/or fold extra calls into fewer ones.
- 	* collect2.c (dump_file): Likewise.
- 	* cppexp.c (parse_number): Likewise.
- 	* cpplex.c (_cpp_lex_direct): Likewise.
- 	* final.c (output_asm_insn, asm_fprintf): Likewise.
- 	* fix-header.c (inf_scan_ident, main): Likewise.
- 	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
- 	Likewise.
- 	* fold-const.c (real_hex_to_f): Likewise.
- 	* gen-protos.c (parse_fn_proto): Likewise.
- 	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
- 	* genrecog.c (change_state, write_action): Likewise.
- 	* gensupport.c (shift_output_template): Likewise.
- 	* local-alloc.c (requires_inout): Likewise.
- 	* mips-tfile.c (IS_ASM_IDENT): Likewise.
- 	* protoize.c (is_id_char, main): Likewise.
- 	* real.c (asctoeg): Likewise.
- 	* recog.c (asm_operand_ok): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* scan.c (scan_identget_token): Likewise.
- 	* sched-vis.c (print_value): Likewise.
- 	* stringpool.c (ggc_alloc_string): Likewise.
- 	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
- 	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
- 	* tradcpp.c (rescan): Likewise.
- 	* tree.c (clean_symbol_name): Likewise.
- 	* varasm.c (decode_reg_name): Likewise.
- 
- 	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
- 	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
- 	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
- 	* m88k.c (output_ascii): Likewise.
- 	* m88k.h (OVERRIDE_OPTIONS): Likewise.
- 	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
- 	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
- 	* sh.h (REG_CLASS_FROM_LETTER): Likewise.
- 
- 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* langhooks.c (lang_hook_default_do_nothing,
- 	lang_hook_default_decode_option): New defaults.
- 	* langhooks.h: Make hooks unconditional and non-NULL.
- 	* toplev.c (compile_file, toplev_main): Update.
- 	* toplev.h: Update comments.
- 	* objc/objc-act.c (lang_hooks): Update to new paradigm.
- 
- 2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.
- 
- 	* system.h (IN_RANGE): New macro.
- 
- 2001-10-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (AM_WITH_NLS): Also create and substitute
- 	INTLDEPS variable, which does not include $LIBICONV.
- 	* Makefile.in: Use INTLDEPS in LIBDEPS.
- 	* configure: Regenerate.
- 
- 2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
- 	* cpplex.c (lex_percent, lex_dot): Remove.
- 	(get_effective_char, skip_block_comment, skip_line_comment,
- 	parse_identifier_slow, parse_number, parse_string, save_comment,
- 	_cpp_lex_direct): Update to do lookback freely.
- 	(IF_NEXT_IS, BACKUP): New macros.
- 	* cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
- 	* cppmacro.c (paste_tokens): Update.
- 
- 2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* doc/invoke.texi (i386 and x86-64 Options): Fix typo.
- 
- 2001-10-20  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* reload1.c (reload): Check CONSTANT_P before calling
- 	LEGITIMATE_PIC_OPERAND_P.
- 	* config/cris/cris.c (cris_legitimate_pic_operand): Revert
- 	workaround of 2001-10-13.
- 
- Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (split_di): Handle splitting of DFmode.
- 
- Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (set_mem_attributes): Alignment is in bits.
- 	(adjust_address_1, offset_address): Likewise.
- 
- 	* final.c (output_asm_operand_names): New fcn, from output_asm_insn.
- 	(output_asm_insn): Call it for each line output.
- 	Don't record an operand more than once.
- 
- 	* toplev.h (struct lang_hooks): HONOR_READONLY now bool.
- 	* main.c: Include config.h and system.h, but not ansidecl.h.
- 	* Makefile.in (main.o): Update accordingly.
- 
- Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.
- 
- Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
- 	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
- 	Break out from ...
- 	(find_sub_basic_blocks): ... here;
- 	(find_many_sub_basic_blocks): New.
- 	* recog.c (split_all_insns): Update find_sub_basic_blocks call.
- 
- 	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.
- 
- 	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:
- 
- 	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.
- 
- 	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
- 	* flow.c (update_life_info): Measure time.
- 	* c-decl.c: Include timevar.h
- 	(c_expand_body): Measure time.
- 	* toplev.c (rest_of_compilation): Measure time of mode switching
- 	separately.
- 	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.
- 
- 	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
- 	(lang_independent_options): Add asynchronous-unwind-tables
- 	(toplev_main): flag_asynchronous_unwind_tables implies
- 	flag_unwind_tables.
- 	* flags.h (flag_asynchronous_unwind_tables): Declare.
- 	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
- 	flag_asynchronous_unwind_tables.
- 	(output_call_frame_info): Likewise.
- 	* invoke.texi (-fasynchronous-unwind-tables): Document.
- 	* i386.c (optimization_options): Enable
- 	flag_asynchronous_unwind_tables.
- 
- 	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
- 	* i386.md (s* expanders): Destination is QImode.
- 
- 	* toplev.c (rest_of_compilation): Do not call clear_log_links.
- 	* rtl.h (clear_log_links): Kill.
- 	* flow.c (clear_log_links): Make static; accept blocks parameter;
- 	do no clear life info.
- 	(update_life_info): Call clear_log_links.
- 
- 	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.
- 
- 2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (handle_newline, skip_escaped_newlines,
- 	get_effective_char, skip_block_comment, skip_line_comment,
- 	parse_identifier_slow, parse_number, parse_string,
- 	_cpp_lex_direct): Update to do more stepping back.
- 	(trigraph_ok): Similarly.  Rename trigraph_p.
- 	(SAVE_STATE, RESTORE_STATE): Remove.
- 	(BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.
- 
- 	* cpplib.c (destringize): Rename destringize_and_run, and
- 	call run_directive directly.
- 	(_cpp_do__Pragma): Simplify.
- 
- 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* pe.c (arm_pe_unique_section): Const-ify.
- 	* pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
- 	(switch_to_section): Add static prototype.
- 
- 	* output.h (drectve_section): Prototype.
- 
- 2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
- 	fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
- 	parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
- 	i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
- 	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
- 	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
- 	i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
- 	i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
- 	i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
- 	i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
- 	i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
- 	i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
- 	ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
- 	mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
- 	powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
- 	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
- 	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
- 	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
- 	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
- 	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
- 	rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
- 	sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
- 	v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
- 	cris-*-none, cris-*-linux*: Update ${tmfile} list.
- 	(c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
- 	i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
- 	mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
- 	powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
- 	v850-*-*): Delete superflous ${cpu_type} setting.
- 	* config/linux.h: Delete svr4.h include.
- 	(SET_ASM_OP): Delete.
- 	* config/netware.h (INT_ASM_OP): Undef before define.
- 	* config/ptx4.h: Delete elfos.h include.
- 	(PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
- 	* config/svr4.h: Delete elfos.h include. Update commentary.
- 	* config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
- 	config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
- 	config/mn10200/mn10300.h, config/stormy16/stormy16.h,
- 	config/v850/v850.h: Delete svr4.h include.
- 	* config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
- 	config/m68k/m68kv4.h, config/m88k/sysv4.h,
- 	config/sparc/sysv4.h: Update includes.
- 	* config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
- 	config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
- 	config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
- 	config/m88k/dguxbcs.h: Delete includes.
- 	* config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
- 	(PREFERRED_DEBUGGING_TYPE): Undef before defining it.
- 	* config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
- 	it.
- 	* config/m88k/dgux.h: Delete include.
- 	(SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
- 	defining it.
- 	* config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
- 	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
- 	* config/sh/elf.h: Update include.
- 	(SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
- 	DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.
- 
- 2001-10-19  Catherine Moore  <clm@redhat.com>
- 
- 	* config/stormy16/stormy-abi:  Updates to varargs descriptions.
- 	* config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
- 	base and count fields.
- 	(stormy16_expand_builtin_va_start):  last_reg_count changed to
- 	size_of_reg_args.  Use count + size in first comparison.
- 
- Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
- 	* toplev.h (struct lang_hooks): New field HONOR_READONLY.
- 	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
- 	TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
- 	Set alignment from type if INDIRECT_REF.
- 	(adjust_address_1, offset_address): Simplify alignment compuitation.
- 	* expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
- 	here; done by set_mem_attributes.
- 
- 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (rtlanal.o): Depend on $(TM_P_H).
- 	* arm-protos.h (rdata_section, zero_init_section, common_section):
- 	Prototype.
- 	* arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
- 	* avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
- 	traditional mode stringification.
- 	* function.c (thread_prologue_and_epilogue_insns): Wrap variable
- 	in macros controling its use.
- 	* rtlanal.c: Include tm_p.h.
- 	* varasm.c (asm_output_aligned_bss): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	(assemble_constant_align, assemble_start_function, assemble_align,
- 	assemble_variable, assemble_trampoline_template,
- 	output_constant_def_contents): Wrap potentially empty if-stmt body
- 	in brackets.
- 
- 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* a29k-protos.h (literal_section): Prototype.
- 	* a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
- 	* a29k.md: Ensure function pointers are prototyped.
- 	* genattrtab.c (write_eligible_delay): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 
- 2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
- 	* 1750a.c (print_operand): Fix format specifier warning.
- 	* 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
- 	* 1750a.md: Likewise.
- 	* gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
- 	* genemit.c (output_add_clobbers): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* genrecog.c (write_subroutine): Likewise.
- 	* integrate.c (expand_inline_function): Delete unused variable.
- 	* varasm.c (remove_from_pending_weak_list): Wrap with
- 	ASM_WEAKEN_LABEL.
- 
- 2001-10-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
- 	field is different to previous argument's neg field.
- 
- 	* config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.
- 
- Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* final.c (get_decl_from_op): New function.
- 	(output_asm_insn): Call it; write "*" when item with decl is address.
- 
- 2001-10-19  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
- 	about 64-bit support from the 3.0_branch version.
- 
- 2001-10-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
- 	USE_INCLUDED_LIBINTL when appropriate.
- 	* configure, config.in: Regenerate.
- 	* Makefile.in (datadir): Set to @datadir@.
- 	(intl.o): Also depend on $(CONFIG_H) and system.h.
- 
- 	* intl.c: Factor out common gettext initialization sequence.
- 	(gcc_init_libintl):  New function.
- 	* intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
- 	otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
- 	off NLS.  Add multiple include guard.  No need to #ifdef-guard
- 	an #undef.  Prototype gcc_init_libintl here.
- 
- 	* collect2.c (main), cppmain.c (general_init), gcc.c (main),
- 	gcov.c (main), protoize.c (main), toplev.c (toplev_main):
- 	Use gcc_init_libintl.
- 
- 2001-10-19  Catherine Moore  <clm@redhat.com>
- 
- 	* config/stormy16/stormy16.h (ASM_COMMENT_START): Define.
- 
- 	* config/stormy16/stormy16.c (stormy16_split_move):  Make
- 	sure that REG_INC notes are present for auto_inc operands.
- 
- 2001-10-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure: Regenerated.
- 	* configure.in: Add x86_64 to switch statements.
- 
- 2001-10-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (sibcall_osf_1): Load destination
- 	address into $27 explicitly.
- 	(sibcall_value_osf_1): Likewise.
- 
- Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
- 	(offset_address): New function.
- 	(free_emit_status): Free regno_decl.
- 	(init_emit): Pass proper number of elements to xcalloc.
- 	Allocate regno_decl.
- 	(mark_emit_status): Mark regno_decl values.
- 	* expr.c (highest_pow2_factor): New function.
- 	(expand_assigment): Use it and offset_address.
- 	Properly handle ptr_mode vs. Pmode in offset calculation.
- 	(store_constructor, expand_expr_unaligned): Likewise.
- 	(expand_expr, case COMPONENT_EXPR): Likewise.
- 	* expr.h (offset_address): New decl.
- 	* function.h (struct emit_status): Add regno_decl.
- 	(REGNO_DECL): New macro.
- 	* final.c (output_asm_name): Move in file and don't conditionalize
- 	on flag_print_asm_name.
- 	(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
- 	Output names of operands, if known.
- 	* function.c (assign_parms): Set REGNO_DECL.
- 	* integrate.c (integrate_decl_tree): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.
- 
- 2001-10-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* attribs.c (handle_noinline_attribute): New function.
- 	(handle_used_attribute): Likewise.
- 	(c_common_attribute_table): Added noinline and used.
- 	* doc/extend.texi (Function Attributes): Document them.
- 	* c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
- 	Warn when merging inline with attribute noinline.
- 	(start_decl, start_function): Warn if inline and attribute
- 	noinline appear in the same declaration.
- 
- 2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config.gcc: Update c4x and i370 for C front end-specific
- 	dependencies.
- 	* config/c4x/c4x-c.c: New.
- 	* config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
- 	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
- 	New declarations.
- 	* config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
- 	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
- 	Make extern.
- 	(c4x_init_pragma): Remove.
- 	(c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
- 	c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
- 	c4x_pr_ignored): Move to c4x-c.c.
- 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/c4x/t-c4x: Update.
- 	* config/i370/i370-c.c: New.
- 	* config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
- 	(i370_pr_map): Move to i370-c.c.
- 	* config/i370/t-i370: New.
- 
- 	* doc/tm.texi: Update.
- 
- 2001-10-17  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c: Make assorted mechanical formatting and
- 	typo fixes throughout.
- 	(machopic_output_stub): Remove some dead code.
- 
- 2001-10-17  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
- 	leak.
- 
- Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (print-rtl.o): Depend on TREE_H.
- 	* alias.c (get_alias_set): Make two passes over objects to first
- 	see if inner object is access via restricted pointer.
- 	Defer allocating alias set for restricted pointer until here.
- 	Call find_placeholder with second arg nonzero.
- 	Minor cleanups.
- 	* c-common.c (c_apply_type_quals_to_decl): Defer getting alias
- 	set for restricted pointer types.
- 	* emit-rtl.c (set_mem_attributes): Set more attributes.
- 	(set_mem_align, change_address, adjust_address_1): New functions.
- 	(change_address_1): Now static.
- 	(adjust_address, adjust_address_nv): Deleted.
- 	(replace_equiv_address): Call change_address_1.
- 	* expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
- 	(find_placeholder): Get starting point from PLIST arg.
- 	(expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
- 	* expr.h (set_mem_align, change_address, adjust_address_1): New decls.
- 	(adjust_address, adjust_address_nv): New macros.
- 	* print-rtl.c (tree.h): New include.
- 	(print_rtx, case MEM): Print all memory attributes.
- 
- 2001-10-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (direct_call_operand): Don't fall off end.
- 
- 2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* c-tree.texi: Eliminate duplicated word.
- 	* cpp.texi: Likewise.
- 	* install.texi: Likewise.
- 	* invoke.texi: Likewise.
- 	* tm.texi: Likewise.
- 
- 2001-10-17  Michael Collison  <collison@isisinc.net>
- 
- 	* dsp16xx.c: Fix comment formatting to match GNU standards.
- 	(dsp16xx_output_function_prologue): Change type of 'size'
- 	parameter from 'int' to HOST_WIDE_INT.
- 	(dsp16xx_output_function_epilogue): Change type of 'size'
- 	parameter from 'int' to HOST_WIDE_INT.
- 
- 2001-10-16  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
- 	* configure, config.in: Rebuild.
- 
- 	* config/i386/i386.c (ix86_output_addr_vec_elt): New.
- 	(ix86_output_addr_diff_elt): New.
- 	* config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- 	(JUMP_TABLES_IN_TEXT_SECTION): New.
- 	* config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
- 	* config/i386/i386-protos.h: Update.
- 
- 	* config/i386/386bsd.h, config/i386/beos-elf.h,
- 	config/i386/freebsd-aout.h, config/i386/freebsd.h,
- 	config/i386/i386-interix.h, config/i386/i386elf.h,
- 	config/i386/linux.h, config/i386/netbsd-elf.h,
- 	config/i386/netbsd.h, config/i386/openbsd.h,
- 	config/i386/ptx4-i.h, config/i386/rtemself.h,
- 	config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
- 	(ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.
- 
- 2001-10-16  Florian Weimer  <fw@deneb.enyo.de>
- 
- 	* stmt.c (expand_asm_operands): Update commentary.
- 
- 2001-10-16  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (GCC_NAME): Remove, no longer used.
- 	(NO_MATH_LIBRARY): Ditto.
- 	(MATH_LIBRARY): Define to emptiness.
- 	(DWARF2_DEBUGGING_INFO): Define.
- 	(PREFERRED_DEBUGGING_TYPE): Define.
- 	(EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
- 	(EXCEPTION_SECTION): Define.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	* config/darwin.c (darwin_encode_section_info): Handle case of
- 	DECL_INITIAL being error_mark_node.
- 
- 2001-10-16  Richard Henderson  <rth@redhat.com>
- 
- 	* alpha.c (current_file_function_operand): Don't fail for profiling.
- 	(direct_call_operand): New.
- 	* alpha-protos.h: Declare it.
- 	* alpha.h (EXTRA_CONSTRAINT): Use it.
- 	(PREDICATE_CODES): Add it.
- 	(ASM_OUTPUT_MI_THUNK): Remove.
- 	* alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
- 	* alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.
- 
- 2001-10-16  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
- 
- Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfg.c (free_edge): Break out from ....
- 	(remove_edge): ... here.
- 	(clear_edges): Use free_edge.
- 
- 	* att.h (ASM_QUAD): Add comment.
- 	* bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.
- 
- Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (split_ti): New function.
- 	(ix86_split_to_parts): Support TImodes.
- 	* i386.h (VALID_INT_MODE_P): Add TImode.
- 	* i386.md (movdi splitter): Fix.
- 	(movti): Support 64bit integer registers.
- 	(movti_rex64): New function and splitter.
- 
- 	* i386.c (*_cost): Add movsx/movzx cost.
- 	* i386.h (struct processor_costs): Add movsx/movzx fields.
- 	(RTX_COSTS): Handle zero/sign extend + avoid believing that
- 	64bit operations require split on 64bit machine.
- 	(CONST_COST): Make large 64bit constants expensive on 64bit compilation.
- 
- 	* i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
- 	(ix86_expand_move): Avoid pushes of memory if size does not match;
- 	move long constants to register.
- 	(x86_initialize_trampoline): Fix mode.
- 	* i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
- 	Use ASM_QUAD on 64bit.
- 	* i386.md (test pattern): Disallow impossible constants.
- 	(tablejump PIC expander): Fix emitting of sum.
- 	(movdicc_rex64): Rename to movdicc.
- 	* linux64.h (LINK_SPEC): Add missing '%'.
- 
- 2001-10-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree-inline.c (inlinable_function_p): Leave it up to the
- 	front-end to turn -finline-functions into DECL_INLINE set for all
- 	functions.
- 
- 2001-10-16  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/darwin.h (ASM_COMMENT_START): Define.
- 
- 2001-10-16  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* recog.c: Formatting and comment typo fixes.
- 
- 	* configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
- 	version in single tree build.
- 	* configure: Regenerate.
- 
- 2001-10-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
- 	MODE arguments to gen_rtx and compare operand with const0_rtx.
- 
- 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* system.h: Poison old unused target macros.
- 	* config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
- 	* config/stormy16/stormy16.c: Update references to obsolete macros.
- 	* config/stormy16/stormy16.h: Similarly.
- 	* config/stormy16/stormy16.md: Similarly.
- 	* config/cris/cris.h: Similarly.
- 
- 2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (struct pragma_entry): Store the name as a hashnode.
- 	(lookup_pragma_entry, insert_pragma_entry, do_pragma,
- 	cpp_register_pragma): Update accordingly.
- 
- 2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-pragma.h (cpp_register_pragma_space): Remove.
- 	* cpplib.h (cpp_register_pragma_space): Remove.
- 	* cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
- 	(cpp_register_pragma_space): Remove.
- 	(cpp_register_pragma): Simplify using lookup_pragma_entry,
- 	add sanity checks.
- 	(do_pragma): Similarly.
- 	(_cpp_init_internal_pragmas): Don't register namespaces.
- 
- 	* config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
- 	Don't register namespaces.
- 	* cp/lex.c (init_cp_pragma): Similarly.
- 	* doc/tm.texi: Update.
- 
- 2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR c/4157
- 	* config/i386/cygwin.h: Add missing space to MINGW_INCLUDES
- 
- 2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>
- 
- 	* config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
- 	add scheduling support.
- 	* config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
- 	* config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
- 	* config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.
- 
- 
- 2001-10-13  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
- 	missing CONSTANT_P test in core GCC.
- 
- 2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (struct printer): New member source.
- 	(scan_translation_unit): Fix spacing at start of lines.
- 	(cb_line_change): Update.
- 
- 	* gcc.dg/cpp/spacing2.c: New test.
- 
- 2001-10-12  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/arit.c: Use __builtin_labs, not abs.
- 
- 	* config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.
- 
- 	* config/cris/cris.c (cris_target_asm_function_epilogue): Move
- 	misplaced sprintf and fprintf argument.
- 
- 2001-10-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
- 	* configure.in, Makefile.in: Take out obsolete check-po logic.
- 	* configure, config.in: Regenerate.
- 
- 2001-10-12  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (finish_objc): Correct precondition for emitting
- 	symtab declarations.
- 
- 2001-10-12  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c: Remove uses of "register" specifier in
- 	declarations of arguments and local variables.
- 
- 2001-10-12  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
- 	ENDFILE_SPEC definition.
- 
- 2001-10-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* gthr-dce.h: Fix comment formatting.
- 	* gthr-posix.h: Likewise.
- 	* gthr-single.h: Likewise.
- 	* gthr-solaris.h: Likewise.
- 	* gthr-vxworks.h: Likewise.
- 	* gthr-win32.h: Likewise.
- 
- 2001-10-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* final.c (output_asm_insn): Make sure assembly dialects are
- 	terminated, not nested.  Output `|' and `}' characters if they
- 	don't appear inside assembly dialect selection.
- 	* config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
- 	rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
- 	rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
- 	strsetsi_rex_1): Add {} braces.
- 
- 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* toplev.c (compile_file): Ignore return value from yyparse.
- 	Always pop any nested binding levels after yyparse returns.
- 
- 2001-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/c-tree.texi (Expression trees): Add VTABLE_REF.
- 
- 2001-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
- 	fall back to add_AT_long_long for large CONST_INT.
- 
- 2001-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (setcc splitters): Add four splitters to
- 	simplify compound compares that simplify_comparison can't handle.
- 
- 2001-10-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplex.c (digraph_spellings, token_spellings): Make static.
- 
- 2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* unroll.c (loop_iterations): Fixup last patch.
- 
- 2001-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (REG_VTABLE_REF): New.
- 	* rtl.c (reg_note_name): Add it.
- 	* combine.c (distribute_notes): Handle it.
- 	* final.c (final_scan_insn): Handle it.
- 	* tree.def (VTABLE_REF): New.
- 	* expr.c (expand_expr): Handle it.
- 	* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
- 	* output.h: Declare them.
- 
- 2001-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
- 	for a DECL_INITIAL.
- 
- 2001-10-11  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
- 	available in 64-bit mode.
- 
- 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
- 	cris-*-linux* cases.
- 	* config/cris/cris-protos.h: New file.
- 	* config/cris/cris.c: New file.
- 	* config/cris/cris.h: New file.
- 	* config/cris/cris.md: New file.
- 	* config/cris/linux.h: New file.
- 	* config/cris/aout.h: New file.
- 	* config/cris/arit.c: New file.
- 	* config/cris/cris_abi_symbol.c: New file.
- 	* config/cris/mulsi3.asm: New file.
- 	* config/cris/t-aout: New file.
- 	* config/cris/t-cris: New file.
- 	* config/cris/t-elfmulti: New file.
- 	* config/cris/t-linux: New file.
- 	* doc/invoke.texi: Add CRIS options.
- 	* doc/install.texi (Specific): Add blurb for CRIS.
- 
- 2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>
- 
- 	* config/float-i128.h: Make sure __STDC__VERSION__ is defined
- 	before using it.
- 	* config/float/i32.h: Likewise.
- 	* config/float-i386.h: Likewise.
- 	* config/float-i64.h: Likewise.
- 	* config/float-m68k.h: Likewise.
- 	* config/float-sh.h: Likewise.
- 	* config/float-sparc.h: Likewise.
- 
- 2001-10-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* doc/contrib.texi: Add note about CRIS port to my entry.
- 
- 2001-10-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* basic-block.h: Fix formatting.
- 	* bitmap.h: Likewise.
- 	* cpplib.h: Likewise.
- 	* c-tree.h: Likewise.
- 	* diagnostic.h: Likewise.
- 	* flags.h: Likewise.
- 	* ggc.h: Likewise.
- 	* longlong.h: Likewise.
- 	* real.h: Likewise.
- 	* reload.h: Likewise.
- 	* rtl.h: Likewise.
- 	* tree.h: Likewise.
- 
- 2001-10-10  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (asm_operand): Allow named operands.
- 	* genconfig.c (max_recog_operands): Set to 29.
- 	* local-alloc.c (requires_inout): Skip multiple digits.
- 	* recog.c (asm_operand_ok): Likewise.
- 	(preprocess_constraints): Use strtoul for matching constraints.
- 	(constrain_operands): Likewise.
- 	* regmove.c (find_matches): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* stmt.c (parse_output_constraint): Don't reject in-out
- 	constraint on operands > 9.  Reject '[' in constraint.
- 	(expand_asm_operands): Handle named operands.  Use strtoul
- 	for matching constraints.
- 	(check_operand_nalternatives): Split out from expand_asm_operands.
- 	(check_unique_operand_names): New.
- 	(resolve_operand_names, resolve_operand_name_1): New.
- 
- 	* doc/extend.texi (Extended Asm): Document named operands.
- 	* doc/md.texi (Simple Constraints): Document matching constraints
- 	on operands > 9.
- 
- 2001-10-10  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (try_combine): Handle a SEQUENCE of one insn.
- 
- 	* i386.c (test splitter): Narrow tests vs paradoxical subregs.
- 	(jcc splitters): Add two splitters to simplify compound compares
- 	that simplify_comparison can't handle.
- 
- 2001-10-10  Richard Henderson  <rth@redhat.com>
- 
- 	* langhooks.c: Include langhooks.h.
- 	* Makefile.in (langhooks.o): Depend on it.
- 
- Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
- 	should not be considered as a no-op.
- 	* flow.c (delete_noop_moves): Handle REG_LIBCALL notes.
- 
- 2001-10-10  Stan Shebs  <shebs@apple.com>
- 
- 	* alias.c: Remove uses of "register" specifier in declarations
- 	of arguments and local variables.
- 	* c-common.c: Ditto.
- 	* c-convert.c: Ditto.
- 	* c-decl.c: Ditto.
- 	* c-format.c: Ditto.
- 	* c-semantics.c: Ditto.
- 	* c-typeck.c: Ditto.
- 	* caller-save.c: Ditto.
- 	* calls.c: Ditto.
- 	* cfg.c: Ditto.
- 	* cfgbuild.c: Ditto.
- 	* cfgrtl.c: Ditto.
- 	* collect2.c: Ditto.
- 	* combine.c: Ditto.
- 	* convert.c: Ditto.
- 	* cppexp.c: Ditto.
- 	* cppfiles.c: Ditto.
- 	* cse.c: Ditto.
- 	* dbxout.c: Ditto.
- 	* defaults.h: Ditto.
- 	* df.c: Ditto.
- 	* dwarf2out.c: Ditto.
- 	* dwarfout.c: Ditto.
- 	* emit-rtl.c: Ditto.
- 	* explow.c: Ditto.
- 	* expmed.c: Ditto.
- 	* expr.c: Ditto.
- 	* final.c: Ditto.
- 	* fix-header.c: Ditto.
- 	* floatlib.c: Ditto.
- 	* flow.c: Ditto.
- 	* fold-const.c: Ditto.
- 	* function.c: Ditto.
- 	* gcc.c: Ditto.
- 	* gcse.c: Ditto.
- 	* gen-protos.c: Ditto.
- 	* genattrtab.c: Ditto.
- 	* gencheck.c: Ditto.
- 	* genconfig.c: Ditto.
- 	* genemit.c: Ditto.
- 	* genextract.c: Ditto.
- 	* genflags.c: Ditto.
- 	* gengenrtl.c: Ditto.
- 	* genoutput.c: Ditto.
- 	* genpeep.c: Ditto.
- 	* genrecog.c: Ditto.
- 	* gensupport.c: Ditto.
- 	* global.c: Ditto.
- 	* gmon.c: Ditto.
- 	* graph.c: Ditto.
- 	* haifa-sched.c: Ditto.
- 	* hard-reg-set.h: Ditto.
- 	* hash.c: Ditto.
- 	* integrate.c: Ditto.
- 	* jump.c: Ditto.
- 	* lists.c: Ditto.
- 	* local-alloc.c: Ditto.
- 	* loop.c: Ditto.
- 	* mips-tdump.c: Ditto.
- 	* mips-tfile.c: Ditto.
- 	* optabs.c: Ditto.
- 	* prefix.c: Ditto.
- 	* print-rtl.c: Ditto.
- 	* read-rtl.c: Ditto.
- 	* real.c: Ditto.
- 	* recog.c: Ditto.
- 	* reg-stack.c: Ditto.
- 	* regclass.c: Ditto.
- 	* regmove.c: Ditto.
- 	* reload.c: Ditto.
- 	* reload1.c: Ditto.
- 	* reorg.c: Ditto.
- 	* resource.c: Ditto.
- 	* rtl.c: Ditto.
- 	* rtlanal.c: Ditto.
- 	* scan.c: Ditto.
- 	* sched-deps.c: Ditto.
- 	* sched-rgn.c: Ditto.
- 	* sdbout.c: Ditto.
- 	* simplify-rtx.c: Ditto.
- 	* stmt.c: Ditto.
- 	* stor-layout.c: Ditto.
- 	* toplev.c: Ditto.
- 	* tradcif.y: Ditto.
- 	* tradcpp.c: Ditto.
- 	* tree.c: Ditto.
- 	* unroll.c: Ditto.
- 	* varasm.c: Ditto.
- 	* xcoffout.c: Ditto.
- 
- 2001-10-10  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (can_reverse_comparison_p): Remove.
- 
- 2001-10-10  Christopher Faylor <cgf@redhat.com>
- 
- 	* config/i386/cygwin.h: Avoid adding include files if -nostdinc is
- 	used.
- 
- 2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
- 
- 	* config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
- 	(Thanks to Chris Faylor for suggesting macro name).
- 	(CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
- 	WIN32 defines.
- 	(STANDARD_INCLUDE_DIR): Remove i386- from directory name.
- 	(STANDARD_INCLUDE_COMPONENT): Change to MINGW.
- 	(MATH_LIBRARY): Undef before definition.
- 	(OUTPUT_QUOTED_STRING): Likewise.
- 	* config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.
- 
- 2001-10-10  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2-fde.c (fde_compare_t): Change return type to int.
- 	(fde_unencoded_compare): Likewise.  Don't use subtraction to get
- 	a tristate comparison value.
- 	(fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.
- 
- 2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR c++/4512
- 	* unroll.c (loop_iterations): Ignore insns generated by loop
- 	unrolling.
- 
- 	* config.gcc (mips*-*-gnu*): Delete support.
- 	* config/mips/gnu.h: Remove.
- 
- 2001-10-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* calls.c: Fix formatting.
- 	* c-decl.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* combine.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cppmacro.c: Likewise.
- 	* crtstuff.c: Likewise.
- 	* cse.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* integrate.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* loop.c: Likewise.
- 	* optabs.c: Likewise.
- 	* profile.c: Likewise.
- 	* protoize.c: Likewise.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* sdbout.c: Likewise.
- 	* stmt.c: Likewise.
- 	* toplev.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* langhooks.c: Include rtl.h, insn-config.h and integrate.h.
- 	* Makefile.in (langhooks.o): Add dependencies.
- 
- Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* rs6000.c (rs6000_emit_load_toc_table): Don't
- 	strdup the toc label.
- 	(create_TOC_reference): Likewise.
- 
- 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
- 
- 	* config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
- 	version default.
- 
- 2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>
- 
- 	* config/i386/i386.c (ix86_attribute_table): Correct
- 	min_len, max_len fields for dllimport, dllexport and shared.
- 
- 2001-10-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
- 	doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
- 	Consistently use "nonzero" instead of "non-zero".
- 
- 2001-10-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* acconfig.h: Fix comment formatting.
- 	* c-dump.h: Likewise.
- 	* c-tree.h: Likewise.
- 	* conditions.h: Likewise.
- 	* expr.h: Likewise.
- 	* function.h: Likewise.
- 	* gthr.h: Likewise.
- 	* hwint.h: Likewise.
- 	* integrate.h: Likewise.
- 	* intl.h: Likewise.
- 	* loop.h: Likewise.
- 	* optabs.h: Likewise.
- 
- 2001-10-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* c-common.h: Fix comment formatting.
- 	* c-dump.c: Likewise.
- 	* cfg.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* except.c: Likewise.
- 	* gcc.h: Likewise.
- 	* gcov-io.h: Likewise.
- 	* genattrtab.c: Likewise.
- 	* output.h: Likewise.
- 	* predict.h: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.h: Likewise.
- 	* resource.h: Likewise.
- 	* scan.h: Likewise.
- 	* system.h: Likewise.
- 	* tree.h: Likewise.
- 	* tree-inline.c: Likewise.
- 	* tsystem.h: Likewise.
- 	* varasm.c: Likewise.
- 	* xcoffout.h: Likewise.
- 
- 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Document preference for "nonzero" over "non-zero".
- 
- 2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
- 	config/i386/i386elf.h, config/i386/netbsd-elf.h,
- 	config/i386/netware.h, config/mcore/gfloat.h,
- 	config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
- 	config/netware.h, gccbug.in: Update FSF address.
- 
- 2001-10-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* c-common.c: Fix comment typos.
- 	* cfgrtl.c: Likewise.
- 	* collect2.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* doloop.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* expr.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* global.c: Likewise.
- 	* ifcvt.c: Likewise.
- 	* loop.c: Likewise.
- 	* optabs.c: Likewise.
- 	* protoize.c: Likewise.
- 	* regclass.c: Likewise.
- 	* reorg.c: Likewise.
- 	* rtl.h: Likewise.
- 	* stmt.c: Likewise.
- 	* tree.h: Likewise.
- 	* doc/cpp.texi: Likewise.
- 	* doc/c-tree.texi: Likewise.
- 	* doc/extend.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/objc.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (set_named_section_flags): Initialize "declared".
- 
- 2001-10-08  Robert Lipe  <robertlipe@usa.net>
- 
- 	* varasm.c (struct in_named_entry): Add declared.
- 	(named_section_first_declaration): New function.
- 	(default_elf_asm_named_section): Use it.
- 	* output.h (named_section_first_declaration): New.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* i386.md (movsi_xor): Export.
- 	(setcc peep2): Use it when available; add an alternative to
- 	match zero_extendhisi2_and.
- 
- 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* romp-protos.h (romp_initialize_trampoline): New function.
- 	* romp.c (romp_initialize_trampoline): Likewise.
- 	* romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
- 	romp_initialize_trampoline.
- 
- 2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
- 	* m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 
- 2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* unroll.c (loop_iterations): Extend check for multiple back edges.
- 
- 2001-10-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* langhooks.h: New file.
- 	* Makefile.in (OBJS): Added langhooks.o.
- 	(c-lang.o): Depend on langhooks.h.
- 	(c-common.o): Don't depend on tree-inline.h.
- 	(tree-inline.o): Depend on toplev.h.
- 	(langhooks.o): New rule.
- 	* c-common.c: Don't include tree-inline.h.
- 	(c_mark_lang_decl): Mark argument c as unused.
- 	(c_common_lang_init): Don't initialize hooks here.
- 	* c-lang.c: Include langhooks.h, then override some macros.
- 	(lang_hooks): Initialize with macros in langhooks.h.
- 	(c_init): Don't initialize hooks here.
- 	* toplev.c (struct lang_hooks_for_tree_inlining): New struct.
- 	(struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
- 	* tree-inline.c: Include toplev.h.  Don't define hook variables.
- 	* tree-inline.h: Don't define hook types nor declare hook
- 	variables.  Move macros to...
- 	* langhooks.c: ... new file, as functions.  Adjust all callers.
- 
- 2001-10-08  Jeffrey A Law  <law@cygnus.com>
- 
- 	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
- 	purge_mem_unchanging_flag on all instructions, not just on those
- 	before NOTE_INSN_FUNCTION_BEG.
- 
- 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (_cpp_create_definition): Leave comments off.
- 
- 	* doc/cpp.texi: Update.
- 
- 2001-10-08  DJ Delorie  <dj@redhat.com>
- 
- 	* c-decl.c (grokfield): Make sure the only unnamed fields
- 	we're allowing are either structs or unions.
- 	* doc/extend.texi: Add documentation for the unnamed field
- 	extension.
- 
- 2001-10-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (gcc_AC_PROG_GNAT): New.
- 	* configure.in: Use it.
- 	* configure: Regenerated.
- 	* config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
- 	config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.
- 
- 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (open_file): Don't mark zero-length files
- 	never-reread here.  Don't output diagnostics here either.
- 	(stack_include_file): Mark them never-reread here.
- 	(_cpp_read_file): Update.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (store_expr): When converting a CONST_INT for storage
- 	in a SUBREG, convert it to both SUBREG modes before stripping
- 	the SUBREG.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (restore_varasm_status): New.
- 	* function.h: Declare it.
- 	* function.c (pop_function_context_from): Call it.
- 
- 2001-10-08  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (struct c_lang_decl): Add declared_inline.
- 	* c-tree.h (DECL_DECLARED_INLINE_P): New.
- 	* c-lang.c (c_disregard_inline_limits): Use it.
- 	* c-decl.c (duplicate_decls): Likewise.
- 	(pushdecl, redeclaration_error_message): Likewise.
- 	(pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
- 	(grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
- 	Set DECL_INLINE if -finline-functions.
- 	(store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.
- 
- 2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (funlike_invocation_p): Move some logic to caller
- 	in enter_macro_context.  Create a padding token in its own context
- 	if necessary when the search for '(' fails.
- 	(enter_macro_context): Update.
- 
- 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
- 	genmultilib, toplev.c: Fix spelling errors of "separate" as
- 	"seperate", and corresponding spelling errors of related words.
- 
- 2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
- 	* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
- 	Likewise.
- 	* c-dump.c (dump_option_value_info): Likewise.
- 	* c-format.c (format_length_info, format_char_info,
- 	format_flag_spec, format_flag_pair, format_kind_info): Likewise.
- 	* collect2.c (names): Likewise.
- 	* cppdefault.h (default_include): Likewise.
- 	* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
- 	* flow.c (life_analysis): Likewise.
- 	* gcc.c (dir_separator_str, modify_target, option_map,
- 	target_option_translations, spec_list_1, extra_specs_1,
- 	init_spec): Likewise.
- 	* gcov.c (gcov_version_string): Likewise.
- 	* genattr.c (write_units): Likewise.
- 	* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
- 	* gengenrtl.c (rtx_definition, defs): Likewise.
- 	* genrecog.c (pred_table): Likewise.
- 	* global.c (global_alloc): Likewise.
- 	* lcm.c (optimize_mode_switching): Likewise.
- 	* local-alloc.c (find_free_reg): Likewise.
- 	* params.h (param_info): Likewise.
- 	* predict.c (predictor_info): Likewise.
- 	* protoize.c (unexpansion_struct): Likewise.
- 	* real.c (bmask): Likewise.
- 	* recog.h (insn_operand_data, insn_data): Likewise.
- 	* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
- 	* stmt.c (expand_nl_goto_receiver): Likewise.
- 	* toplev.c (da, debug_args, lang_opt, documented_lang_options,
- 	target_switches, target_options): Likewise.
- 	* tradcif.y (token, tokentab2, yylex): Likewise.
- 	* tree.h (attribute_spec): Likewise.
- 
- 	* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
- 	Likewise.
- 	* arc.c (arc_output_function_epilogue): Likewise.
- 	* arm.c (processors, all_cores, all_architectures,
- 	arm_override_options, isr_attribute_arg, isr_attribute_args,
- 	arm_isr_value): Likewise.
- 	* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
- 	Likewise.
- 	* c4x.c (c4x_int_reglist): Likewise.
- 	* d30v.c (override_options): Likewise.
- 	* h8300.c (shift_insn): Likewise.
- 	* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
- 	pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
- 	ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
- 	builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
- 	ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
- 	* i386.h (processor_costs, ix86_cost): Likewise.
- 	* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
- 	* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
- 	* m68k.c (codes_68881, codes_FPA): Likewise.
- 	* m88k.c (mode_from_align, max_from_align, all_from_align,
- 	best_from_align, m_options): Likewise.
- 	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
- 	* mcore.c (mode_from_align): Likewise.
- 	* mips/elf64.h (UNIQUE_SECTION): Likewise.
- 	* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
- 	* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
- 	* mips.h (mips_regno_to_class): Likewise.
- 	* ns32k.c (scales): Likewise.
- 	* pa.c (import_string, magic_milli): Likewise.
- 	* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
- 	* sparc.c (leaf_reg_remap, sparc_override_options,
- 	reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
- 	Likewise.
- 	* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.
- 
- 2001-10-07  Dale Johannesen  <dalej@apple.com>
- 
- 	* reload1.c (reload_reg_free_p): Teach register interference
- 	checking that multiple output reloads are emitted in
- 	reverse order.
- 	reload1.c (reload_reg_reaches_end_p):  Ditto.
- 	reload1.c (reloads_conflict):  Ditto.
- 
- 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
- 	NULL_TREE inside @code.
- 
- 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi: Document consistent style of "32-bit",
- 	"Objective-C", and "@code{NULL}".
- 
- 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplex.c (enum spell_type): Add SPELL_NUMBER.
- 	(cpp_token_len, cpp_spell_token, cpp_output_token,
- 	_cpp_equiv_tokens): Handle it.
- 	* cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
- 	CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
- 	* cppexp.c (_cpp_parse_expr): Use the correct operator code in
- 	error messages.
- 
- Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gcc.c (default_compilers): Remove .ada.
- 
- 2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- 2001-10-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (main): Set this_file_error if the appropriate
- 	compiler for a language has not been installed.
- 
- 2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.
- 
- 2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gccbug.in (CATEGORIES): Add ada.
- 
- 2001-10-05  Catherine Moore  <clm@redhat.com>
- 
- 	* config/stormy16/stormy-abi:  Document abi changes.
- 	* config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
- 	(ICALL_REGS): New register class.
- 	(NUM_ARGUMENT_REGISTERS): Now 6.
- 	(DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
- 	in registers.
- 	(REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
- 	* config/stormy16.md (call_internal, call_value_internal,
- 	indirect_jump): Use new 'z' constraint.
- 
- 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- 2001-10-05  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (FRAME_BEGIN_LABEL): New.
- 	(output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
- 	the gas section-name-as-label feature.
- 
- 2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
- 	to ensure valid SImode constants.
- 
- 2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (c-decl.o): Depend on tree-inline.h.
- 	(c-lang.o): Likewise, as well as insn-config.h and integrate.h.
- 	* c-decl.c: Include tree-inline.h.
- 	(c_expand_body): Call optimize_inline_calls. Determine whether
- 	a function is inlinable upfront, and only clear
- 	DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
- 	* c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
- 	(c_disregard_inline_limits): New function.
- 	(inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
- 	(c_post_options): Enable tree inlining if inlining is enabled.
- 	Don't inline trees when instrumenting functions.
- 	(c_init): Initialize lang_disregard_inline_limits and
- 	lang_cannot_inline_tree_fn.
- 	* tree-inline.c (initialize_inlined_parameters): Handle calls
- 	with fewer arguments than declared parameters, and fewer
- 	parameters than passed arguments.  Don't assume value is a
- 	DECL.
- 	(declare_return_variable): Convert return value back to the
- 	original type, if it was promoted.
- 	(tree_inlinable_function_p): New function.
- 	(inlinable_function_p): Don't look at DECL_INLINE if we're
- 	inlining all functions.  Make it work with a NULL id.
- 	Re-check DECL_UNINLINABLE after language-specific checks.
- 	* tree-inline.h (tree_inlinable_function_p): Declare it.
- 	* integrate.c (save_for_inline): Don't bother to prepare argvec
- 	when not inlining.
- 	* cse.c (check_for_label_ref): Don't check deleted labels.
- 
- 	* Makefile.in (tree-inline.o): Depend on newly-included headers.
- 	* tree-inline.c: Include headers needed for the functions moved in.
- 	(struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
- 	(remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
- 	(copy_body, initialize_inlined_parameters): Likewise.
- 	(declare_return_variable, inlinable_function_p): Likewise.
- 	(expand_call_inline, expand_calls_inline): Likewise.
- 	(optimize_inline_calls, clone_body): Likewise.
- 	(walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
- 	(copy_tree_r, remap_save_expr): Likewise.
- 
- 2001-10-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (OBJS): Added tree-inline.o.
- 	(c-common.o): Depend on tree-inline.h.
- 	(tree-inline.o): New target.
- 	* c-common.c: Include tree-inline.h.
- 	(c_mark_lang_decl): Don't mark saved_tree.
- 	(c_common_lang_init): Set lang_anon_aggr_type_p.
- 	* c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
- 	(struct c_lang_decl): Moved saved_tree to tree_decl.
- 	* ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
- 	* integrate.h (function_attribute_inlinable_p): Declare it.
- 	* integrate.c (function_attribute_inlinable_p): Export it.
- 	* tree-inline.c: New file.  Define variables declared in...
- 	* tree-inline.h: New file.  Declare functions to be moved to
- 	tree-inline.c.  Define macros and declare types and hooks for
- 	language-specific tree inlining.
- 	(flag_inline_trees): Moved definition from cp/decl2.c.
- 	* tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
- 	(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
- 	(struct tree_decl): Moved saved_tree from c_lang_decl and
- 	inlined_fns from C++'s lang_decl.
- 
- 2001-10-04  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
- 	propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.
- 
- 2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- 2001-10-04  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (init_cumulative_args): Remember to set
- 	cum->prototype.
- 	* config.gcc: Redo linux configuration. Add target_cpu_default
- 	of soft-float to all mipsisa32 combinations and tx39.
- 	* config/mips/linux.h: Remove include of mips.h.
- 
- 2001-10-03  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
- 	HOST_LDFLAGS and HOST_CPPFLAGS.
- 
- 2001-10-03  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (objc_inherit_code, objc_pq_context,
- 	objc_public_flag): Make static.
- 	(objc_interface_context, objc_implementation_context,
- 	objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
- 	global tree array in objc/objc-act.[ch].
- 	(methoddef): Remove unnecessary code.
- 
- 	* objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
- 	Hoist struct definitions to objc-act.h.
- 	(nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
- 	cat_count): Place declaration in objc-act.h.
- 	(objc_tree_index): Move enumeration to objc-act.h.
- 	(objc_global_trees): Place declaration and macro accessors in
- 	objc-act.h.
- 	(implementation_context): Remove duplicate; use
- 	objc_implementation_context instead:
- 	(method_context): Remove duplicate; use objc_method_context
- 	instead.
- 	(objc_ellipsis_node, objc_method_prototype_template,
- 	implemented_classes, function_type): Move global vars to
- 	objc_global_trees.
- 	(init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
- 	(build_message_expr): Move actual construction of ObjC message
- 	send nodes to finish_message_expr.
- 	(finish_message_expr): New routine, contains code formerly in
- 	build_message_expr.
- 	* objc/objc-act.h (finish_message_expr): New prototype.
- 	(objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
- 	declarations; these vars are now part of objc_global_trees.
- 	(objc_tree_index, objc_global_trees): Move definitions from
- 	objc-act.c.
- 	* objc/objc-tree.def: Update copyright info.
- 
- Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* dwarf2asm.c (unaligned_integer_asm_op): Abort if
- 	op is NULL.
- 	* sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
- 	only if TARGET_ARCH64.
- 
- 2001-10-02  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* doc/extend.texi: Fix some problems with previous checkin.
- 	* doc/invoke.texi: Likewise.
- 
- 2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h: Update comments.
- 	(cpp_context): Update.
- 	(spec_nodes): Remove n__Pragma.
- 	* cppinit.c (cpp_create_reader): Update.
- 	(builtin_array): Add _Pragma.
- 	* cpplib.h: Update comments.
- 	(NODE_DISABLED, BT_PRAGMA): New.
- 	(cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
- 	* cppmacro.c (struct cpp_macro): Remove disabled.
- 	(builtin_macro): Return int, handle _Pragma, push the new token
- 	on the context stack.
- 	(funlike_invocation_p): Unconstify, update.
- 	(enter_macro_context): Handle builtins here.
- 	(replace_args, push_token_context, push_ptoken_context):
- 	Update for prototype changes.
- 	(_cpp_pop_context): Update.
- 	(cpp_get_token): Don't handle buitins, nor _Pragma here.
- 	(cpp_sys_macro_p): Update.
- 	(_cpp_free_definition): Clear disabled flag.
- 	(_cpp_create_definition): Upate.
- 	* cppmain.c: Update comments.
- 
- Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
- 				Andreas Jaeger <aj@suse.de>,
- 				Jan Hubicka    <jh@suse.cz>
- 
- 	* doc/invoke.texi (i386 Options): Document x86-64 options.
- 	(i386 and x86-64 Options): Rename i386 options section.
- 
- 	* config/i386/i386.h (TARGET_UNWIND_INFO): New.
- 	(TARGET_SWITCHES): Add -munwind-info.
- 	(MASK_NO_UNWIND_INFO): New.
- 	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
- 	biarch compilation.
- 	(ASM_OUTPUT_DOUBLE_INT): New.
- 
- 	* config/i386/linux64.h: New spec file for Linux x86-64 support.
- 	* config.gcc: Fix tm_file settings for x86-64.
- 	* config/i386/x86-64.h: New file with OS independent x86-64
- 	definitions.
- 	* config/i386/biarch64.h: New file used to configure compiler
- 	to biarch/64bit compilation.
- 
- 	* config/i386/i386.c: (override_options): Set flags default
- 	for 64bit compilation.
- 
- Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
- 	(ix86_expand_int_movcc): Optimize DImode conditional moves with
- 	constants on x86_64.
- 	(ix86_attr_length_immediate_default): Support MODE_DI.
- 	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
- 	condition.
- 	(indirect_jump, tablejump): Turn into expander.
- 
- 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (c_format_attribute_table): Make format and
- 	format_arg attributes apply to function types rather than to
- 	decls.
- 	(is_valid_printf_arglist): Construct an attribute list and pass
- 	that to check_function_format rather than a name.
- 	* c-common.h (check_function_format): Adjust prototype.
- 	* c-decl.c (duplicate_decls): Preserve attributes from type of
- 	built-in decl when allowing for harmless conflict in types.
- 	* c-format.c (record_function_format,
- 	record_international_format, function_format_list,
- 	international_format_info, international_format_list): Remove.
- 	(function_format_info): Remove next, name and assembler_name.
- 	Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
- 	(decode_format_attr): New.
- 	(handle_format_attribute): Handle receiving a type rather than a
- 	decl.  Call decode_format_attr.  Store format information in a
- 	function_format_info.
- 	(handle_format_arg_attribute): Correct comment.  Handle receiving
- 	a type rather than a decl.  Use unsigned HOST_WIDE_INT for
- 	arg_num.
- 	(check_format_info_recurse, check_format_info_main): Take argument
- 	numbers as unsigned HOST_WIDE_INT.
- 	(check_function_format): Take a list of attributes from the
- 	function type rather than a name or assembler name.  Check for
- 	format attributes in that list and the attributes on the type of
- 	the current function rather than looking through
- 	function_format_list.
- 	(check_format_info): Use unsigned HOST_WIDE_INT for argument
- 	numbers.
- 	(check_format_info_recurse): Take format_arg attributes from the
- 	type of the function calls rather than using
- 	international_format_list.  Allow for multiple format_arg
- 	attributes.
- 	* c-typeck.c (build_function_call): Pass type attributes to
- 	check_function_format rather than name or assembler name.  Don't
- 	require there to be a name or assembler name to check formats.
- 
- 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* attribs.c (decl_attributes): Possibly call
- 	insert_default_attributes to insert default attributes on
- 	functions in a lazy manner.
- 	* builtin-attrs.def: New file; define the default format and
- 	format_arg attributes.
- 	* c-common.c (c_format_attribute_table): Move to earlier in the
- 	file.
- 	(c_common_nodes_and_builtins): Initialize format_attribute_table.
- 	(enum built_in_attribute, built_in_attributes,
- 	c_attrs_initialized, c_init_attributes,
- 	c_common_insert_default_attributes): New.
- 	(c_common_lang_init): Don't initialize format_attribute_table.  Do
- 	call c_init_attributes.
- 	* Makefile.in (c-common.o): Depend on builtin-attrs.def.
- 	* c-common.h (init_function_format_info): Don't declare.
- 	(c_common_insert_default_attributes): Declare.
- 	* c-decl.c (implicitly_declare, builtin_function): Call
- 	decl_attributes.
- 	(init_decl_processing): Don't call init_function_format_info.
- 	(insert_default_attributes): New.
- 	* c-format.c (handle_format_attribute,
- 	handle_format_arg_attribute): Be quiet about inappropriate
- 	declaration when applying default attributes.
- 	(init_function_format_info): Remove.
- 	* tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
- 	(insert_default_attributes): Declare.
- 
- 2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.
- 
- 2001-10-01  Jim Wilson  <wilson@redhat.com>
- 
- 	* sched-deps.c (add_dependence): When elide conditional dependence,
- 	check that insn doesn't modify cond2.
- 
- 2001-10-01  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.h (enum processor_type): Add support
- 	for 7400 (G4) and 7450.
- 	(RTX_COSTS): Ditto.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Ditto.
- 	(rs6000_issue_rate): Ditto.
- 	(rs6000_adjust_cost): Fix cycle counts for compares.
- 	(debug_stack_info):  Fix an obvious typo.
- 	* config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
- 	* doc/invoke.texi: Document.
- 	* config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
- 	for Darwin.
- 	(PROCESSOR_DEFAULT): Ditto.
- 
- 2001-10-01  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
- 	(fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
- 	later recursive make invocation.
- 
- 2001-10-01  Hans Boehm  <boehm@acm.org>
- 
- 	* optabs.c (emit_libcall_block): When using non-call exceptions,
- 	don't add REG_LIBCALL reg notes to trapping calls.
- 
- 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* flow.c (propagate_block_delete_libcall): Remove unused first arg
- 	(propagate_one_insn):  Update for above change
- 
- 2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
- 	_Unwind_GetTextRelBase): Argument is unused.
- 
- Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
- 	Loop through NOPs, placeholders, and components.
- 	Don't go through NOPs if change mode.
- 	(record_alias_subset): Do nothing if SUBSET and SET are the same.
- 	* emit-rtl.c (set_mem_alias_set): Enable check.
- 	* expr.c (find_placeholder): New function.
- 	(expand_expr, case PLACEHOLDER_EXPR): Use it.
- 	(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
- 	to modify it and avoid unneeded copies.
- 	* expr.h (expand_expr): Always define.
- 	(find_placeholder): New declaration.
- 
- 2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("add-split"): Fix add split when
- 	operand 2 is the stack pointer.
- 	("addr-peephole"): Fix address computation peephole when operand 2
- 	is the stack pointer.
- 
- Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
- 	(ix86_setup_incoming_varargs): Likewise.
- 
- 2001-10-01  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* stor-layout.c (layout_type): Don't complain about too-large
- 	array here.
- 
- Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (keep_stack_depressed): Don't use delete_insn.
- 
- 	* expr.h (set_mem_alias_set): Move decl to here.
- 	* rtl.h (mem_attrs): New typedef and struct.
- 	(union rtunion_def): Add field for mem_attrs.
- 	(X0MEMATTR, MEM_ATTRS): New macros.
- 	(MEM_ALIAS_SET): Use MEM_ATTRS.
- 	(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
- 	(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
- 	(set_mem_alias_set): Delete decl from here.
- 
- 	* alias.c (set_mem_alias_set): Delete from here.
- 	* emit-rtl.c (mem_attrs_htab): New variable.
- 	(rtx_htab_mark, rtx_htab_mark_1): Deleted.
- 	(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
- 	(mem_attrs_mark, get_mem_attrs): Likewise.
- 	(gen_rtx_MEM): Clear MEM_ATTRS.
- 	(set_mem_attributes): Move to here.
- 	(set_mem_alias_set): Likewise, and call get_mem_attrs.
- 	(init_emit_once): const_int_htab now deletable htab.
- 	Initialize mem_attrs_htab.
- 	* explow.c (set_mem_attributes): Delete from here.
- 	* function.c (put_var_into_stack): Clear MEM_ATTRS.
- 	(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
- 	* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
- 	* reload1.c (reload): Rework changing REG to MEM.
- 
- 2001-09-30  H.J. Lu <hjl@gnu.org>
- 
- 	* acconfig.h (PREFIX_INCLUDE_DIR): New variable.
- 	* config.in: Rebuild.
- 
- 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
- 	("tsthi_1"): Avoid allocation in register y.
- 	("*movqi_68hc12"): Reorganize and fix constraints.
- 	("zero_extendqisi2"): Prefer d over x and y for operand 1.
- 	("addqi3"): Likewise.
- 	("addhi3"): Fix constraints.
- 	("*logicalhi3_zexthi"): Disparage soft registers.
- 
- 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
- 	to tmp reg.
- 
- 2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
- 	that we use setjmp/longjmp exceptions.
- 
- 2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
- 	POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
- 	struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
- 	_cpp_pool_alloc, _cpp_next_chunk): Remove.
- 	(_cpp_extend_buff, BUFF_ROOM): Update.
- 	(_cpp_append_extend_buff): New.
- 	(struct cpp_reader): Remove macro_pool, add a_buff.
- 	* cppinit.c (cpp_create_reader): Initialize a_buff, instead of
- 	macro_pool.
- 	(cpp_destroy): Free a_buff instead of macro_pool.
- 	* cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
- 	new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
- 	_cpp_pool_alloc, ): Remove.
- 	(parse_number, parse_string): Update use of _cpp_extend_buff.
- 	(_cpp_extend_buff): Update.
- 	(_cpp_append_extend_buff, cpp_aligned_alloc): New.
- 	* cpplib.c (glue_header_name, parse_answer):
- 	Update use of _cpp_extend_buff.
- 	(cpp_register_pragma, cpp_register_pragma_space): Use
- 	_cpp_aligned_alloc.
- 	(do_assert, do_unassert): Check for EOL, update.
- 	* cppmacro.c (stringify_arg, collect_args): Update to use
- 	_cpp_extend_buff and _cpp_append_extend_buff.
- 	(save_parameter, parse_params, alloc_expansion_token,
- 	_cpp_create_definition): Rework memory management.
- 
- 2001-09-29  Andris Pavenis  <pavenis@lanet.lv>
- 
- 	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
- 	update md_exec_prefix.
- 	(UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
- 	to string constant.
- 
- 2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
- 	(SELECT_CC_MODE): Use s390_select_ccmode.
- 	* config/s390/s390-protos.h (s390_select_ccmode): Add.
- 	* config/s390/s390.c (s390_select_ccmode): New.
- 	(s390_match_ccmode): Add CCLmode.
- 	(s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
- 	(output_branch_condition, output_inverse_branch_condition): Removed.
- 	(print_operand): Use s390_branch_condition_mnemonic.
- 	* config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
- 	subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
- 	(bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.
- 
- 	* config/s390/s390.c (check_and_change_labels): Preserve CC mode
- 	when converting conditional branches to far branches.
- 	* config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
- 	cmpint_di): Use CCSmode instead of CCUmode.
- 
- 	* config/s390/s390.c (legitimate_la_operand_p): New.
- 	* config/s390/s390-protos.h (legitimate_la_operand_p): Add.
- 	* config/s390/s390.md (movsi): Convert load address patterns to
- 	arithmetic operations when necessary.
- 	(addaddr_picR, addaddr_picL, addaddr_picN): Removed.
- 	(do_la): Renamed to *do_la and use legitimate_la_operand_p.
- 	(*do_la_reg_0): Don't use before reload.
- 
- 	* config/s390/s390.c (legitimize_address): Make more efficient
- 	use of two-register addressing mode.
- 
- 	* config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
- 	with -mno-backchain in some corner cases.
- 
- 	* config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.
- 
- 2001-09-29  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload.c (find_reloads): Mark new USE insns with QImode.
- 	(find_reloads_toplev, find_reloads_address, subst_reg_equivs,
- 	find_reloads_subreg_address): Likewise.
- 	* regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
- 	encountered.
- 	* reload1.c (reload_combine_note_use): Likewise, inside USEs and
- 	CLOBBERs.
- 	(reload): Make sure there are no USEs with mode other than
- 	VOIDmode.  At the end, remove those marked with QImode.
- 
- 2001-09-29  Per Bothner  <per@bothner.com>
- 
- 	* cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
- 	* Makefile.in (includedir):  Rename to local_includedir.
- 	(includedir):  Define as $(prefix)/include.
- 	* config.in (PREFIX_INCLUDE_DIR):  New variable.
- 	* configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.
- 
- 2001-09-29  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
- 	storehps builtins.
- 	* doc/extend.texi (Vector Extensions): New node.
- 	* doc/invoke.texi (Machine Dependent Options): Add documentation for
- 	i386 -mmmx, -msse, -m3dnow.
- 
- Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* doc/invoke.texi (Optimize Options): Revert an accidental checkin.
- 
- 2001-09-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.
- 
- 	* doc/invoke.texi (Optimize Options): Delete spurious @table.
- 
- 2001-09-28  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_integer): Bound alignment check by
- 	BIGGEST_ALIGNMENT.
- 
- 	* cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.
- 
- 2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.
- 
- 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
- 
- 	Mostly from Graham Stott  <grahams@redhat.com>
- 	* c-common.c (type_for_mode): Add support for V2SFmode.
- 	* tree.c (build_common_tree_nodes_2): Likewise.
- 	* tree.h (enum tree_index, global_trees): Likewise.
- 	* config/i386/i386.c (x86_3dnow_a): New variable.
- 	(override_options): Support 3Dnow extensions.
- 	(bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
- 	Athlon's version of 3Dnow.
- 	(ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
- 	(ix86_expand_builtin): Handle them.
- 	(ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
- 	* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
- 	TARGET_3DNOW_A): New macros.
- 	(TARGET_SWITCHES): Add 3Dnow switches.
- 	(VALID_MMX_REG_MODE_3DNOW): New macro.
- 	(VECTOR_MODE_SUPPORTED_P): Use it.
- 	(enum ix86_builtins): Add entries for 3Dnow builtins.
- 	* config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
- 	pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
- 	pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
- 	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
- 	pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
- 	pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
- 	(mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
- 	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
- 	mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
- 	sfence_insn, prefetch): Make these available if TARGET_SSE or
- 	TARGET_3DNOW_A.
- 
- Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
- 	ix86_va_start, ix86_build_va_list): Declare.
- 	* i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
- 	ix86_va_start, ix86_build_va_list): New global functions.
- 	* i386.md (sse_prologue_save_insn): New insn.
- 	(sse_prologue_save): New expander.
- 	* i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
- 	BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.
- 
- 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
- 	Use size_t everywhere, make definitions consistent with
- 	prototypes.
- 
- Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (replace_store_insn): Use delete_insn.
- 	* loop.c (move_movables): Likewise; avoid delete_insn
- 	from clobbering notes moved elsewhere.
- 	(check_dbra_loop): Use delete_insn.
- 	* ssa.c (convert_from_ssa): Likewise.
- 	* cse.c (cse_insn): Use delete_insn.
- 
- 2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_buff): Make unsigned.
- 	(_cpp_get_buff): Take length of size_t.
- 	(_cpp_unaligned_alloc): New.
- 	(BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
- 	(struct cpp_reader): Remove ident_pool.  Add u_buff.
- 	* cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
- 	(cpp_destroy): Destroy u_buff, not ident_pool.
- 	* cpplex.c (parse_number, parse_string, save_comment,
- 	cpp_token_as_text): Update to use the unaligned buffer.
- 	(new_buff): Make unsigned.
- 	(_cpp_unaligned_alloc): New.
- 	* cpplib.c (glue_header_name): Update to use the unaligned buffer.
- 	* cppmacro.c (new_number_token, builtin_macro, stringify_arg):
- 	Similarly.
- 	(collect_args): Make unsigned.
- 
- 2001-09-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplex.c (cpp_output_token): Use a putc loop for
- 	SPELL_OPERATOR, and fwrite for SPELL_IDENT.
- 
- 	* configure.in: Detect fwrite_unlocked and fprintf_unlocked.
- 	* configure, config.in: Regenerate.
- 	* system.h: Replace fwrite and fprintf with their unlocked
- 	variants if available.
- 
- 2001-09-27  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
- 	in favor of .eh_frame.
- 
- 2001-09-27  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
- 	to macros.
- 	(LIBCALL_VALUE): Likewise.
- 
- 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h: Update comment.
- 	* cpplex.c: Update comments.
- 	(_cpp_can_paste): Remove.
- 	* cpplib.h (_cpp_can_paste): Remove.
- 	* cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
- 	lexer rather than _cpp_can_paste.
- 
- 2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_pool): Remove locks and locked.
- 	(struct cpp_context): Add member buff.
- 	(struct cpp_reader): Remove member argument_pool.
- 	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
- 	* cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
- 	* cpplex.c (chunk_suitable): Remove pool argument.
- 	(MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
- 	(new_buff, _cpp_extend_buff): Update.
- 	(_cpp_get_buff): Fix silly pointer bug.  Be more selective about
- 	which buffer is returned.
- 	(_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
- 	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
- 	* cppmacro.c (lock_pools, unlock_pools): Remove.
- 	(push_ptoken_context): Take a _cpp_buff.
- 	(enter_macro_context): Pool locking removed.
- 	(replace_args): Use a _cpp_buff for the replacement list with
- 	arguments replaced.
- 	(push_token_context): Clear buff.
- 	(expand_arg): Use _cpp_pop_context.
- 	(_cpp_pop_context): Free a context's buffer, if any.
- 
- 2001-09-26  DJ Delorie  <dj@redhat.com>
- 
- 	* c-typeck.c (digest_init): Check for sizeless arrays.
- 
- 2001-09-26  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (init_one_libfunc): Create a dummy function type
- 	instead of using error_mark_node.
- 
- 2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
- 	_cpp_extend_buff, _cpp_free_buff): New.
- 	(struct cpp_reader): New member free_buffs.
- 	* cppinit.c (cpp_destroy): Free buffers.
- 	* cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
- 	_cpp_extend_buff, _cpp_free_buff): New.
- 	* cpplib.h (struct cpp_options): Remove unused member.
- 	* cppmacro.c (collect_args): New.  Combines the old parse_arg
- 	and parse_args.  Use _cpp_buff for memory allocation.
- 	(funlike_invocation_p, replace_args): Update.
- 
- Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (final_scan_insn): Use delete_insn instead of delete_note.
- 
- 2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* except.c (sjlj_mark_call_sites): Change address inside sequence.
- 
- 2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
- 	glibc.
- 
- 2001-09-25  Janis Johnson  <janis187@us.ibm.com>
- 	    Jim Wilson  <wilson@redhat.com>
- 
- 	* doc/install.texi (Specific, ia64-*-linux): Document.
- 
- Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cfgrtl.o): Add.
- 	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
- 	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
- 	free_aux_for_edge): Declare.
- 	* cfg.c
- 	(HAVE_return): Undefine.
- 	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
- 	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
- 	free_aux_for_edge): New global functions.
- 	(first_delete_block): New static variable.
- 	(init_flow): Clear first_delete_block.
- 	(basic_block_for_insn, label_value_list, tail_recursion_label_list,
- 	 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
- 	 try_redirect_by_replacing_jump, last_loop_beg_note,
- 	 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
- 	 delete_insn, delete_insn_chain, create_basic_block_structure,
- 	 create_basic_block, flow_delete_block, compute_bb_for_insn,
- 	 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
- 	 set_block_for_new_insns, split_block, merge_blocks_nomove,
- 	 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
- 	 redirect_edge_and_branch, force_nonfallthru_and_redirect,
- 	 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
- 	 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
- 	 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
- 	 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
- 	 purge_all_dead_edges): Move to ....
- 	* cfgrtl.c: New file; .... Here.
- 
- 	* bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
- 	(reroder_basic_block): Use alloc_aux_for_blocks.
- 	* predict.c (estimate_bb_frequencies): Likewise; use
- 	alloc_aux_for_edges.
- 	* profile.c (compute_branch_probabilities): Likewise.
- 	(branch_prob): Likewise.
- 	* reg-stack.c (reg_to_stack): Likewise.
- 
- 	* emit-rtl.c (emit_insns_after): Never return NULL.
- 
- 	* basic-block.h (set_block_for_new_insns): Delete.
- 	* cfgrtl.c (set_block_for_new_insns): Delete.
- 
- 	* cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
- 	calls when crossjumping.
- 
- 	* cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
- 	* unroll.c (copy_loop_body): Use delete_insn.
- 
- 	* final.c (final, final_scan_insn): Use delete_insn/delete_note.
- 	* function.c (fixup_var_refs_insn, fixup_var_refs_1,
- 	keep_stack_depressed): Likewise.
- 	* gcse.c (cprop_cc0_jump): Likewise.
- 	* local-alloc.c (update_equiv_regs): Likewise.
- 	* loop.c (scan_loop, loop_delete_insns): Likewise.
- 	* regmove.c (try_auto_increment, fixup_match_1): Likewise.
- 	* reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
- 	delete_output_reload, delete_address_reloads_1,
- 	reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
- 	Likewise.
- 	* sibcall.c (replace_call_placeholder): Likewise.
- 	* cse.c (cse_insn): Likewise.
- 
- 2001-09-25  Bernd Schmidt  <bernds@redhat.com>
- 
- 	From Graham Stott  <grahams@redhat.com>
- 	(def_builtin): Only define builtins appropriate for target_flags.  All
- 	callers changed.
- 	(builtin_decsription): Add new field mask which is used to determine
- 	when to define the builtin via the macro def_builtin.
- 
- 	(bdesc_comi): Initialize new mask fields.
- 	(bdesc_2srg): Likewise.
- 	(bdesc_1arg): Likewise.
- 
- 	* config/i386/i386.c (ix86_init_builtins): Correct return type
- 	building v4hi_ftype_v4hi_int_int tree node.
- 	(ix86_expand_sse_comi): Fix typo swapping operands.
- 	Don't swap comparison condition, it is already swapped.
- 	(ix86_expand_sse_compare): Before swapping operands
- 	move operand 1 into new rtx and not the target rtx.
- 	Don't swap comparison condition, it is already swapped.
- 	Always check whether we need to create a new TARGET.
- 
- 	* config/i386/i386.md: (sse_comi) Fix typos.
- 	(sse_ucomi): Likewise.
- 	(cvtss2si): Fix operand 0 contraint.
- 	(cvttss2si): Likewise.
- 	(sse_unpckhps): Fix mode for operand 2.
- 	(sse_unpcklps): Likewise.
- 
- 2001-09-25  Graham Stott  <grahams@redhat.com>
- 
- 	* sibcall.c (skip_copy_to_return_value): Tighten return value
- 	copy check.
- 
- 2001-09-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (lwa_operand): Address must be word aligned.
- 
- Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (type_hash_marked_p): Consider as marked if debug symbol
- 	number has been set.
- 	(type_hash_mark): Mark type itself.
- 
- 2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (cb_def_pragma): Update.
- 	(c_lex): Update, and skip padding.
- 	* cppexp.c (lex, parse_defined): Update, remove unused variable.
- 	* cpphash.h (struct toklist): Delete.
- 	(union utoken): New.
- 	(struct cpp_context): Update.
- 	(struct cpp_reader): New members eof, avoid_paste.
- 	(_cpp_temp_token): New.
- 	* cppinit.c (cpp_create_reader): Update.
- 	* cpplex.c (_cpp_temp_token): New.
- 	(_cpp_lex_direct): Add PREV_WHITE when parsing args.
- 	(cpp_output_token): Don't print leading whitespace.
- 	(cpp_output_line): Update.
- 	* cpplib.c (glue_header_name, parse_include, get__Pragma_string,
- 	do_include_common, do_line, do_ident, do_pragma,
- 	do_pragma_dependency, _cpp_do__Pragma, parse_answer,
- 	parse_assertion): Update.
- 	(get_token_no_padding): New.
- 	* cpplib.h (CPP_PADDING): New.
- 	(AVOID_LPASTE): Delete.
- 	(struct cpp_token): New union member source.
- 	(cpp_get_token): Update.
- 	* cppmacro.c (macro_arg): Convert to use pointers to const tokens.
- 	(builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
- 	replace_args, quote_string, stringify_arg, parse_arg, next_context,
- 	enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
- 	_cpp_backup_tokens, _cpp_create_definition): Update.
- 	(push_arg_context): Delete.
- 	(padding_token, push_token_context, push_ptoken_context): New.
- 	(make_string_token, make_number_token): Update, rename.
- 	(cpp_get_token): Update to handle tokens as pointers to const,
- 	and insert padding appropriately.
- 	* cppmain.c (struct printer): New member prev.
- 	(check_multiline_token): Constify.
- 	(do_preprocessing, cb_line_change): Update.
- 	(scan_translation_unit): Update to handle spacing.
- 	* scan-decls.c (get_a_token): New.
- 	(skip_to_closing_brace, scan_decls): Update.
- 	* fix-header.c (read_scan_file): Update.
- 
- 	* doc/cpp.texi: Update.
- 
- 2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
- 	leak by passing malloc'ed pointer to reconcat, not concat.
- 
- 2001-09-24  DJ Delorie  <dj@redhat.com>
- 
- 	* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
- 
- 2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
- 
- 	* flow.c (delete_dead_jumptables): Delete jumptable if the only
- 	reference is from the literal pool.
- 
- 2001-09-24  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Final install): Request additional information
- 	in mail about successful builds.
- 
- 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
- 	initial value of return pointer register instead of value in frame-20.
- 	Revise comments.
- 
- 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
- 	the libcall if there isn't a referenced identifier for the symbol.
- 
- 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
- 	non 64-bit machines.  Use these as a plabel for the trampoline.
- 	(TRAMPOLINE_SIZE): Adjust size for new words.
- 	(INITIALIZE_TRAMPOLINE): Initialize new words.
- 	(TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
- 	pointer to the plabel in the trampoline.
- 
- 2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (function_arg): Pass floating arguments in both general and
- 	floating registers in indirect (dynamic) calls when generating code
- 	for the 32 bit ABI and the HP assembler.
- 
- 2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi: Markup fixes.
- 	Use Solaris 2, SunOS 4 as appropriate.
- 	(Specific, *-*-solaris2*): Explain this.
- 	Unconditionally warn against /usr/ucb tools.
- 	Remove Sun as warning, obsolete.
- 	Move X11 header bug workaround here, update patches.
- 	(Specific, sparc-sun-solaris2*): Detail Sun as fix status.
- 	(Specific, sparc-sun-solaris2.7): Update patch 106950 status.
- 
- 2001-09-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* errors.h (warning, error, fatal, internal_error): Don't mark
- 	with ATTRIBUTE_PRINTF_n.
- 	* toplev.h (internal_error, fatal_io_error, warning, error,
- 	pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
- 	error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
- 	Likewise.
- 
- Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (pop_function_context_from): var_refs_queue
- 	and temp slots now in GC memory.
- 	(mark_function_status, free_after_compilation): Likewise;
- 	also struct function now in GC memory.
- 	(assign_stack_temp_for_type): struct temp_slot now in GC memory.
- 	(combine_temp_slots): Likewise.
- 	(schedule_fixup_var_refs): var_refs_queue now in GC memory.
- 	(prepare_function_start): Use GC memory for struct function.
- 	(mark_temp_slot): Deleted.
- 	(gcc_mark_struct_function): struct function now in GC memory.
- 
- 	* fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
- 	code for division, not modulus.
- 
- 	* rtl.def (MEM): Remove obsolete part of comment.
- 
- 2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-format.c (init_function_format_info): Check __builtin_printf
- 	and __builtin_fprintf even if -ffreestanding.  Check C99 functions
- 	in gnu89 mode.
- 
- Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-common.c (format_attribute_table): Remove decl.
- 	* tree.h (format_attribute_table, lang_attribute_table): New decls.
- 	(lang_attribute_common): Likewise.
- 
- 	* function.c (fix_lexical_address): Use set_mem_alias_set.
- 	(expand_function_start): Likewise.
- 	* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
- 
- 	* varasm.c (output_constant): Fix unused variable warning.
- 
- 	* attribs.c: New file, from c-common.c.
- 	(attribute_tables): Now four elements.
- 	(format_attribute_table, lang_attribute_common): New variables.
- 	(init_attributes): Reflect above changes.
- 	(handle_mode_attribute): Delete check for wider than uintmax.
- 	* c-common.c: Delete parts moved to attribs.c.
- 	(enum attrs): Deleted; unused.
- 	(c_format_attribute_table): New variable.
- 	(c_common_lang_init): Initialize format_attribute_table with it.
- 	* c-common.h (decl_attributes): Remove decl.
- 	* tree.h (decl_attribute): Move it to here.
- 	* Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
- 	(attribs.o): New rule.
- 
- 2001-09-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* builtins.c (c_getstr): Remove unused variable.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* reload1.c (reload): Use delete_insn instead of splatting
- 	NOTE_INSN_DELETED.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* reload.c (push_secondary_reload): Don't check for "=" in output
- 	constraint after ""->ALL_REGS check.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* predict.c (expected_value_to_br_prob): Use pc_set.
- 
- 	* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
- 	ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (LCT_RETURNS_TWICE): New.
- 	* calls.c (emit_call_1): Set current_function_calls_setjmp for
- 	ECF_RETURNS_TWICE.
- 	(emit_library_call_value_1): Map LCT_RETURNS_TWICE
- 	to ECF_RETURNS_TWICE.
- 	* except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
- 	call to setjmp.
- 
- 	* unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
- 
- 	* config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
- 	(JMP_BUF_SIZE): New.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
- 	to R8_REGS.
- 
- 2001-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.def (FDESC_EXPR): New.
- 	* expr.c (expand_expr): Handle it.
- 	* varasm.c (initializer_constant_valid_p): Likewise.
- 	(output_constant): Likewise.
- 	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
- 	* config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
- 	(ASM_OUTPUT_FDESC): New.
- 	* doc/tm.texi: Document the new macros.
- 
- 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
- 
- 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
- 	ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
- 	once merging is complete.
- 
- Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* integrate.c (allocate_initial_values): Eliminate unused arg warning.
- 
- 21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
- 
- 	* cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
- 	that would be invalid after a merge.
- 
- Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
- 	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
- 	remove some labels.
- 	(flow_delete_insn): This one.
- 	(delete_insn_chain): Rename from ...; do not care labels.
- 	(flow_delete_insn_chain): ... this one.
- 	(flow_delete_block): Remove the insns one BB has been expunged.
- 	(merge_blocks_nomove): Likewise.
- 	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
- 	updating BB boundaries.
- 	(tidy_fallthru_edge): Likewise.
- 	(commit_one_edge_insertion): Likewise.
- 	* cfgbuild.c (find_basic_block): Likewise.
- 	(find_basic_blocks_1): Likewise.
- 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
- 	(try_crossjump_to_edge): Likewise.
- 	(try_optimize_cfg): Likewise.
- 	* cse.c (delete_trivially_dead_insns): Likewise.
- 	* df.c (df_insn_delete): Likewise.
- 	* doloop.c (doloop_modify): Use delete_related_insns.
- 	* emit-rtl.c (try_split): Likewise.
- 	(remove_insn): Update BB boundaries.
- 	* expect.c (connect_post_landing_pads): Use delete_related_insns.
- 	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
- 	updating BB boundaries.
- 	(propagate_block_delete_insn): Likewise.
- 	(propagate_block_delete_libcall): Likewise.
- 	* function.c (delete_handlers): Use delete_related_insns.
- 	(thread_prologue_and_epilogue_insns): Likewise.
- 	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
- 	* genpeep.c (gen_peephole): Use delete_related_insns.
- 	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
- 	BB boundaries.
- 	(find_cond_trap): Likewise.
- 	* integrate.c (save_for_inline): Use delete_related_insns.
- 	(copy_insn_list): Likewise.
- 	* jump.c (pruge_linie_number_notes): Likewise.
- 	(duplicate_loop_exit_test): Likewise.
- 	(delete_computation): Likewise.
- 	(delete_related_insn): Rename from ...; use delete_insn
- 	(delete_insn): ... this one.
- 	(redirect_jump): Use delete_related_insns.
- 	* loop.c (scan_loop): Likewise.
- 	(move_movables): Likewise.
- 	(find_and_verify_loops): Likewise.
- 	(check_dbra_loop): Likewise.
- 	* recog.c (peephole2_optimize): Likewise.
- 	* reg-stack.c (delete_insn_for_stacker): Remove.
- 	(move_for_stack_reg): Use delete_insn.
- 	* regmove.c (combine_stack_adjustments_for_block): Likewise.
- 	* reload1.c (delete_address_reloads): Use delete_related_insns.
- 	(fixup_abnormal_edges): Use delete_insn.
- 	* recog.c (emit_delay_sequence): Use delete_related_insns.
- 	(delete_from-delay_slot): Likewise.
- 	(delete_scheduled_jump): likewise.
- 	(optimize_skip): Likewise.
- 	(try_merge_delay_insns): Likewise.
- 	(full_simple_delay_slots): Likewise.
- 	(fill_slots_from_thread): Likewise.
- 	(relax_delay_slots): Likewise.
- 	(make_return_insns): Likewise.
- 	(dbr_schedule): Likewise.
- 	* rtl.h (delete_insn): Rename to delete_related_insns.
- 	(delete_insn, delete_insn_chain): New prototypes.
- 	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
- 	by df_insn_delete already.
- 	* ssa-dce.c (delete_insn_bb): Use delete_insn.
- 	* ssa.c (convert_from_ssa): Use delete_related_insns.
- 	* unroll.c (unroll_loop): Likewise.
- 	(calculate_giv_inc): Likewise.
- 	(copy_loop_body): Likewise.
- 
- 	* i386-protos.h (ix86_libcall_value, ix86_function_value,
- 	ix86_function_arg_regno_p, ix86_function_arg_boundary,
- 	ix86_return_in_memory, ix86_function_value): Declare.
- 	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
- 	new static valurables.
- 	(x86_64_reg_class): New enum
- 	(x86_64_reg_class_name): New array.
- 	(classify_argument, examine_argument, construct_container,
- 	 merge_classes): New static functions.
- 	(optimization_options): Enable flag_omit_frame_pointer and disable
- 	flag_pcc_struct_return on 64bit.
- 	(ix86_libcall_value, ix86_function_value,
- 	ix86_function_arg_regno_p, ix86_function_arg_boundary,
- 	ix86_return_in_memory, ix86_function_value): New global functions.
- 	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
- 	(function_arg_advance): Handle x86_64 passing conventions.
- 	(function_arg): Likewise.
- 	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
- 	(RETURN_IN_MEMORY): Move offline.
- 	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
- 	(FUNCTION_VALUE_REGNO_P): New macro.
- 	(FUNCTION_ARG_REGNO_P): Move offline.
- 	(struct ix86_args): Add maybe_vaarg.
- 	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
- 	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.
- 
- 2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* s390.md: Changed attributes for scheduling.
- 	* s390.c: (s390_adjust_cost, s390_adjust_priority)
- 	Changed scheduling
- 
- 2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	Table-driven attributes.
- 	* c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
- 	config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
- 	config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
- 	config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
- 	config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
- 	config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
- 	doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
- 	tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
- 	* tree.h (struct tree_decl): Change machine_attributes to
- 	attributes.
- 	* doc/c-tree.texi: Document that all attributes are now attached
- 	to decls and types.
- 	* c-common.c (add_attribute, attrtab, attrtab_idx,
- 	default_valid_lang_attribute, valid_lang_attribute): Remove.
- 	(attribute_tables, attributes_initialized,
- 	c_common_attribute_table, default_lang_attribute_table): New
- 	variables.
- 	(handle_packed_attribute, handle_nocommon_attribute,
- 	handle_common_attribute, handle_noreturn_attribute,
- 	handle_unused_attribute, handle_const_attribute,
- 	handle_transparent_union_attribute, handle_constructor_attribute,
- 	handle_destructor_attribute, handle_mode_attribute,
- 	handle_section_attribute, handle_aligned_attribute,
- 	handle_weak_attribute, handle_alias_attribute,
- 	handle_no_instrument_function_attribute,
- 	handle_no_check_memory_usage_attribute, handle_malloc_attribute,
- 	handle_no_limit_stack_attribute, handle_pure_attribute): New
- 	functions.
- 	(init_attributes, decl_attributes): Rewrite to implement
- 	table-driven attributes.
- 	* c-common.h (enum attribute_flags): Move to tree.h.
- 	* c-format.c (decl_handle_format_attribute,
- 	decl_handle_format_arg_attribute): Rename to
- 	handle_format_attribute and handle_format_arg_attribute.  Update
- 	for table-driven attributes.
- 	* c-common.h (decl_handle_format_attribute,
- 	decl_handle_format_arg_attribute): Remove prototypes.
- 	(handle_format_attribute, handle_format_arg_attribute): Add
- 	prototypes.
- 	* c-decl.c (grokdeclarator): Handle attributes nested inside
- 	declarators.
- 	* c-parse.in (setattrs, maybe_setattrs): Remove.
- 	(maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
- 	Update to handle nested attributes properly.
- 	(maybe_resetattrs, after_type_declarator,
- 	parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
- 	absdcl1_ea, direct_absdcl1): Update to handle nested attributes
- 	properly.
- 	(make_pointer_declarator): Update to handle nested attributes
- 	properly.
- 	* doc/extend.texi: Update documentation of limits of attributes
- 	syntax.  Warn about problems with attribute semantics in C++.
- 	* target.h (struct target): Remove valid_decl_attribute and
- 	valid_type_attribute.  Add attribute_table and
- 	function_attribute_inlinable_p.
- 	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
- 	TARGET_VALID_TYPE_ATTRIBUTE): Remove.
- 	(TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
- 	Add.
- 	(TARGET_INITIALIZER): Update.
- 	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
- 	definition.
- 	(function_attribute_inlinable_p): New function.  Check for the
- 	presence of any machine attributes before using
- 	targetm.function_attribute_inlinable_p.
- 	(function_cannot_inline_p): Update.
- 	* Makefile.in (integrate.o): Update dependencies.
- 	* doc/tm.texi: Update documentation of target attributes and
- 	example definition of TARGET_VALID_TYPE_ATTRIBUTE.
- 	* tree.c (default_valid_attribute_p, valid_machine_attribute):
- 	Remove.
- 	(default_target_attribute_table,
- 	default_function_attribute_inlinable_p): New.
- 	(lookup_attribute): Update comment to clarify handling of multiple
- 	attributes with the same name.
- 	(merge_attributes, attribute_list_contained): Allow multiple
- 	attributes with the same name but different arguments to appear in
- 	the same attribute list.
- 	* tree.h (default_valid_attribute_p): Remove prototype.
- 	(struct attribute_spec): New.
- 	(default_target_attribute_table): Declare.
- 	(enum attribute_flags): Move from c-common.h.  Add
- 	ATTR_FLAG_TYPE_IN_PLACE.
- 	(default_function_attribute_inlinable_p): Declare.
- 	* config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(vms_attribute_table): New.
- 	* config/arc/arc.c (arc_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(arc_attribute_table, arc_handle_interrupt_attribute): New.
- 	* config/arm/arm.c (arm_valid_type_attribute_p,
- 	arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
- 	Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
- 	define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(arm_attribute_table, arm_handle_fndecl_attribute,
- 	arm_handle_isr_attribute): New.
- 	* config/avr/avr.c (avr_valid_type_attribute,
- 	avr_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
- 	define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(avr_attribute_table, avr_handle_progmem_attribute,
- 	avr_handle_fndecl_attribute): New.
- 	* config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(c4x_attribute_table, c4x_handle_fntype_attribute): New.
- 	* config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(h8300_attribute_table, h8300_handle_fndecl_attribute,
- 	h8300_handle_eightbit_data_attribute,
- 	h8300_handle_tiny_data_attribute): New.
- 	* config/i386/i386-protos.h (ix86_valid_type_attribute_p,
- 	i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
- 	Remove prototypes.
- 	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
- 	declarations.
- 	* config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
- 	define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(ix86_attribute_table, ix86_handle_cdecl_attribute,
- 	ix86_handle_regparm_attribute): New.
- 	* config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
- 	i386_pe_valid_type_attribute_p): Remove.
- 	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
- 	* config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(ia64_attribute_table): New.
- 	* config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
- 	interrupt_ident2, model_ident1, model_ident2): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(init_idents): Update.
- 	(m32r_attribute_table, m32r_handle_model_attribute): New.
- 	* config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
- 	Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
- 	* config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(mcore_attribute_table, mcore_handle_naked_attribute): New.
- 	* config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
- 	* config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
- 	* config/sh/sh.c (sh_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(sh_attribute_table, sh_handle_interrupt_handler_attribute,
- 	sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
- 	New.
- 	* config/stormy16/stormy16.c (stormy16_valid_type_attribute):
- 	Remove.
- 	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(stormy16_attribute_table, stormy16_handle_interrupt_attribute):
- 	New.
- 	* config/v850/v850.c (v850_valid_decl_attribute): Remove.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
- 	(TARGET_ATTRIBUTE_TABLE): Define.
- 	(v850_attribute_table, v850_handle_interrupt_attribute,
- 	v850_handle_data_area_attribute): New.
- 	* config/v850/v850-c.c (mark_current_function_as_interrupt):
- 	Return void.  Call decl_attributes instead of
- 	valid_machine_attribute.
- 
- Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh-protos.h (sh_pr_n_sets): Declare.
- 	* sh.c (calc_live_regs): If the initial value for PR has been copied,
- 	look at the copy to determine if PR needs to be saved.
- 	sh_pr_n_sets: New function.
- 	* sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
- 	(ALLOCATE_INITIAL_VALUE): Define.
- 
- 	* sh.c (initial_elimination_offset):
- 	Fix RETURN_ADDRESS_POINTER_REGNUM case.
- 
- Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* integrate.c (allocate_initial_values): New function.
- 	* integrate.h (allocate_initial_values): Declare.
- 	* local-alloc.c (local_alloc): Move call to allocate_reg_info from
- 	here...
- 	* reload1.c (reload): And initialization of reg_equiv_memory_loc
- 	from here...
- 	* toplev.c (rest_of_compilation): To here.
- 	Call allocate_initial_values.
- 	* tm.texi: add description for ALLOCATE_INITIAL_VALUE.
- 
- Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* ggc-page.c (ggc_marked_p): Properly convert return to boolean.
- 
- 2001-09-20  DJ Delorie  <dj@redhat.com>
- 
- 	* c-typeck.c (really_start_incremental_init): Discriminate
- 	between zero-length arrays and flexible arrays.
- 	(push_init_level): Detect zero-length arrays and handle them
- 	like fixed-sized arrays.
- 	* expr.c (store_constructor): Handle zero-length arrays and
- 	flexible arrays correctly.
- 	* doc/extend.texi: Update zero-length array notes.
- 
- 2001-09-20  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
- 	(insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
- 	for issue port conflicts.
- 	(cycle_end_fill_slots): TYPE_L instructions take two slots.
- 
- 2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
- 	on ia64.
- 
- Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* fold-const.c (hashtab.h): Include.
- 	(int_const_binop): Remove FORSIZE arg and compute from type; all
- 	callers changed.
- 	Call size_int_type_wide for all single-word constants.
- 	(size_htab_hash, size_htab_eq): New functions.
- 	(size_int_type_wide): Rework to use hash table.
- 	* ggc-common.c (hashtab.h): Include.
- 	(struct d_htab_root): New struct.
- 	(d_htab_roots): New variable.
- 	(ggc_add_deletable_htab, ggc_htab_delete): New functions
- 	(ggc_mark_roots): Handle deletable htabs.
- 	* ggc-page.c (ggc_marked_p): New function.
- 	* ggc-simple.c (ggc_marked_p): Likewise.
- 	* ggc.h: Reformatting throughout.
- 	(ggc_marked_p, ggc_add_deletable_htab): New declarations.
- 	* tree.c (init_obstacks): Make type_hash_table a deletable root.
- 	(type_hash_add): Allocate struct type_hash from GC memory.
- 	(mark_hash_entry, mark_type_hash): Deleted.
- 	(type_hash_marked_p, type_hash_mark): New functions.
- 	* Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
- 
- Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* sh.c (shiftcosts): Don't use shiftcosts array for modes wider
- 	than SImode.
- 
- Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
- 	array-too-large test for signed sizetype.
- 
- Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (indirect_jump): Allow Pmode operand.
- 	(tablejump): LIkewise; perform expansion to 64bit mode.
- 	* i386.c (symbolic_operand): Allow 64bit PIC references.
- 	(pic_symbolic_operand): Likewise.
- 	(ix86_find_base_term): Strip the 64bit PIC references.
- 	(legitimate_pic_address_disp_p): Handle 64bit PIC.
- 	(legitimize_pic_address): Likewise.
- 	(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
- 	* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
- 
- 2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
- 
- 	* stringpool.c (get_identifier_with_length): New function.
- 	* tree.h (get_identifier_with_length): New prototype.
- 
- 2001-09-19  Alan Modra  <amodra@bigpond.net.au>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	Revert:
- 	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
- 	already sign-extended.
- 
- 	* config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
- 	* config/rs6000/rs6000.c (logical_operand): Always compare op as
- 	HOST_WIDE_INT.
- 	(rs6000_emit_set_long_const): Avoid unnecessary shift.
- 	(output_profile_hook): Declare label_name const.
- 	* config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
- 	to match constraints.
- 
- 2001-09-19  Stan Shebs  <shebs@apple.com>
- 
- 	* alias.c: Fix typos in comments.
- 	* sched-rgn.c (init_ready_list): Ditto.
- 	* unwind-dw2.c (uw_frame_state_for): Ditto.
- 	* unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
- 	* unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
- 	* config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
- 
- 2001-09-19  Richard Henderson  <rth@redhat.com>
- 
- 	* cfg.c (force_nonfallthru_and_redirect): Handle redirecting
- 	to the exit block.
- 	* Makefile.in (cfg.o): Depend on TM_P_H.
- 
- 2001-09-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (local_symbol_p): Split out from ...
- 	(local_symbolic_operand): ... here.
- 	(small_symbolic_operand): Check mode.
- 	(global_symbolic_operand): New.
- 	(input_operand): Reject symbolics if explicit relocs.
- 	(call_operand): Tidy.
- 	(alpha_legitimize_address): Use movdi_er_high_g.
- 	(alpha_expand_mov): Likewise.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
- 	(UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
- 	(UNSPECV_LDGP2): Remove.
- 	(all call patterns): Use 's' not 'i' for symbolic constraint.
- 	(call_osf call_value_osf): Use call_operand.
- 	(all osf call patterns): Use $gp.  New peepholes for explicit relocs.
- 	(movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
- 	(prologue_ldgp_1_er): Remove.
- 	(ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
- 	(builtin_setjmp_receiver_er patterns): Use them.
- 	(exception_receiver_er): Likewise.
- 
- 2001-09-19  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
- 
- 	* emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
- 	and NON_LOCAL_GOTO notes.
- 	* recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
- 	copy over CALL_INSN_FUNCTION_USAGE.
- 
- 2001-09-18  Catherine Moore  <clm@redhat.com>
- 
- 	* config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
- 	Define as 0.
- 
- 2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
- 
- 	* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
- 	new-style tm_file specification.  Specify correct tm_p_file,
- 	md_file, and out_file for s390x.
- 
- 	* config/s390/linux.h, linux64.h:  Don't include other target
- 	macro header files.  Now handled via tm_file.
- 
- 	* config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
- 	TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
- 	are defined before use.
- 
- Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
- 
- 	* config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
- 	code generation only for Gnu assembler.
- 
- 2001-09-18  Catherine Moore  <clm@redhat.com>
- 
- 	* config/stormy16 (LIB_SPEC): Remove -lnosys.
- 
- 2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_frame_set): New.
- 	(mips_emit_frame_related_store): When storing two 32-bit FPRs, use
- 	a parallel frame-related expression with a set for each register.
- 
- 2001-09-18  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
- 	header files.
- 
- 2001-09-17  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
- 	* config/rs6000/aix.h (FIXED_R2): Define.
- 	* config/rs6000/darwin.h (FIXED_R2): Define.
- 	* config/rs6000/sysv4.h (FIXED_R2): Define.
- 
- 2001-09-17  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* except.c (dw2_build_landing_pads): New local
- 	clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
- 	barrier after clobbers.  Fixes c++/4012.
- 
- 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
- 
- 2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* dostage2, dostage3, listing, make-l2.com, makefile.vms,
- 	patch-apollo-includes, vmsconfig.com: Remove obsolete files.
- 
- 2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
- 	alloca/strcpy.
- 
- 2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_lex_direct): New.
- 	* cpplex.c (_cpp_lex_token): Update.
- 	(lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
- 	and increment that pointer.
- 	* cppmacro.c (alloc_expansion_token): New.
- 	(lex_expansion_token): Lex macro expansion directly into
- 	macro storage.
- 
- 2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
- 
- Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (free_bb_for_insn): Declare.
- 	* bb-reorder.c (label_for_bb): Use block_label.
- 	(emit_jump_to_block_after): Remove.
- 	(insert_intra_1): Do not update block_for_insn.
- 	(insert_inter_bb_scope_notes): Likewise; update bb->end
- 	* cfg.c (free_bb_for_insn): New.
- 	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
- 	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
- 	(commit_one_edge_insertion): Likewise.
- 	(commit_one_edge_insertion): Do not update BB boundary.
- 	(commit_edge_insertions): Do not call compute_bb_for_insn.
- 	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
- 	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
- 	(merge_blocks_move_successor_nojumps): Likewise.
- 	(try_crossjump_to_edge): Do not update block_for_insn.
- 	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
- 	* df.c (df_pattern_emit_later): Do not update BB boundary.
- 	(df_jump_pattern_emit_after): Likewise.
- 	(df_insn_move_before): Use emit_insn_before.
- 	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
- 	 properly.
- 	(add_insn_after, add_insn_before, emit_insns_after): Update BB
- 	boundaries and basic_block_for_insn.
- 	(reorder_insns_nobb): Rename from reorder_insns.
- 	(reorder_insns): New.
- 	(emit_block_insn_before, emit_block_insn_after): Kill.
- 	* flow.c (check_function_return_warnings): Do not call
- 	compute_bb_for_insn; Do not free basic_block_for_insn.
- 	(attempt_auto_inc): Do not update basic_block_for_insn.
- 	* function.c (emit_return_into_block): Likewise;
- 	do not update BB boundaries.
- 	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
- 	(insert_insn_end_bb): Use emit_insn_before; Likewise.
- 	(pre_insert_copy_insn): Likewise.
- 	(update_ld_motion_notes): Likewise.
- 	(insert_insn_start_bb): Likewise.
- 	(replace_store_insn): Likewise.
- 	* ifcvt.c (noce_process_if_block): Likewise.
- 	(if_convert): Do not call compute_bb_for_insn.
- 	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
- 	Use emit_insn_before and emit_insn_after.
- 	* recog.c (split_all_insns): Do not update BB boundaries;
- 	Do not call compute_bb_for_insn.
- 	(peephole2_optimize): Do not update BB boundaries.
- 	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
- 	emit_insn_before.
- 	(emit_swap_insn): Likewise.
- 	(convert_regs_1): Likewise.
- 	* reload1.c (reload): Call compute_bb_for_insn.
- 	* rtl.h (reorder_insns_nobb): Declare.
- 	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
- 	* toplev.c (rest_of_compilation): Call free_bb_for_insn
- 	at places CFG is invalidated; do not call compute_bb_for_insn.
- 
- 	* cfg.c (expunge_block): Invalidate BB structure.
- 
- 	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
- 	array.
- 
- 	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
- 
- 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_lex_token): Update prototype.
- 	* cpplex.c (_cpp_lex_token): New prototype.
- 	* cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
- 	lex_macro_node, read_flag, do_pragma_poison): Update.
- 	* cppmacro.c (cpp_get_token, parse_params,
- 	lex_expansion_token): Update.
- 
- 2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (scan_translation_unit): Don't worry about
- 	putting a space after hashes.
- 	* cpplib.c (directive_diagnostics): New.
- 	(_cpp_handle_directive): Update to use directive_diagnostics.
- 	(run_directive): Don't toggle prevent_expansion.
- 	(do_line): Backup in case of the line extension.
- 	* cpplib.h (cpp_lexer_pos): Remove.
- 	* cppmacro.c (_cpp_create_definition): Precede a leading #
- 	with whitespace.
- 
- 2001-09-15  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (comptypes): Handle zero-length arrays properly.
- 
- 2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
- 
- 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/3571
- 	* tradcpp.c (handle_directive): Skip non-vertical space.
- 
- 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmain.c (setup_callbacks): Set line callback only
- 	if outputting preprocessed source.
- 
- 2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (main): Const-ification.
- 	* gcc.c (translate_options, process_command): Use xstrdup in
- 	lieu of xmalloc/strcpy.
- 	(main): Use concat in lieu of xmalloc/strcpy/strcat.
- 
- 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
- 	example.
- 
- 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* scan-decls.c (scan_decls): Fix typo.
- 
- 2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
- 	Split mlstring_pos into mls_line and mls_col.
- 	* cppinit.c (cpp_create_reader): Initialize line to 1.
- 	(cpp_destroy): Free tokenruns.
- 	(push_include): Don't update lexer_pos.
- 	* cpplex.c (unterminated, parse_string): Update.
- 	(lex_token): Don't update lexer_pos, update.
- 	* cpplib.c (if_stack): Save line instead of line + col.
- 	(start_directive, _cpp_do__Pragma, do_else, do_elif,
- 	push_conditional, _cpp_pop_buffer): Update.
- 	* cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
- 	(_cpp_create_definition): Update.
- 
- 2001-09-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/abi64.h: Add support for MEABI.
- 
- 2001-09-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md: Add unspec #2.
- 	(reload_indi): Use.
- 	(reload_outdi): Ditto.
- 	(reload_outsi): Ditto.
- 	(HILO_delay): New.
- 
- 2001-09-15  Eric Christopher  <echristo@redhat.com>
- 	    Jason Eckhardt  <jle@redhat.com>
- 
- 	* config.gcc: Add mipsisa32 target and mipsisa32-linux target.
- 	* config/mips/isa32-linux.h: New file.
- 	* config/mips/isa3264.h: Ditto.
- 	* config/mips/mips-protos.h: Add mips_hard_regno_nregs.
- 	* config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
- 	(output_block_mode): Support MEABI.
- 	(function_arg): Ditto. Fix floating point arg passing.
- 	(mips_va_start): Ditto.
- 	(override_options): Add isas 32 and 64, meabi, mips32 and mips64
- 	processors.
- 	(mips_asm_file_start): Add new section to pass abi to gdb.
- 	(function_arg_pass_by_reference): Support MEABI.
- 	(mips_parse_cpu): Support mips32 and mips64 processors.
- 	* config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
- 	TARGET_MIPS5KC.  Support isa32 and isa64.
- 	(processor_type): Add r4kc, r5kc, r20kc.
- 	(GENERATE_MULT3_SI): New.
- 	(GENERATE_MULT3_DI): Ditto.
- 	(GENERATE_MULT3): Remove.
- 	(ISA_HAS_64BIT_REGS): Add isa == 64.
- 	(ISA_HAS_8CC): Add mips_isa = 32 and 64.
- 	(ISA_HAS_MADD_MSUB): New.
- 	(ISA_HAS_CLZ_CLO): Ditto.
- 	(ISA_HAS_DCLZ_DCLO): Ditto.
- 	(ABI_GAS_ASM_SPEC): New.
- 	(GAS_ASM_SPEC): Use. Add support for mips32, mips64.
- 	(ASM_SPEC): Ditto.
- 	(LINK_SPEC): Ditto.
- 	(SUBTARGET_CC1_SPEC): Ditto.
- 	(SUBTARGET_CPP_SIZE_SPEC): Ditto.
- 	(PAD_VARARGS_DOWN): Support MEABI.
- 	(HARD_REGNO_NREGS): Move to mips.c.
- 	(ASM_OUTPUT_IDENT): Add #undef.
- 	* config/mips/mips.md: Add r4kc, r5kc, r20kc.
- 	(mulsi3): Use GENERATE_MULT3_SI.
- 	(mulsi3_mult3): Ditto.  Support mips32, mips64.
- 	(mul_acc_si): Use ISA_HAS_MADD_MSUB.
- 	(mul_sub_si): New pattern.
- 	(unnamed splitters): New.
- 	(muldi3): Use GENERATE_MULT3_DI.
- 	(muldi3_internal2): Ditto.
- 	(movdicc): Support mips32.
- 	* config/mips/t-isa3264: New file.
- 
- 2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
- 	|| HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
- 	|| HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
- 
- 	* reorg.c (fill_slots_from_thread): After call to
- 	steal_delay_list_from_target, update own_thread as new_thread may
- 	have branched.
- 
- 2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_location): Take line and column, for
- 	default positioning use the previously lexed token.
- 	(_cpp_begin_message): Take line and column.
- 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
- 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
- 	* cpphash.h (_cpp_begin_message): Update prototype.
- 	* cppinit.c (push_include): Don't set output line.
- 	* cpplex.c (_cpp_lex_token): Callback for start of new output lines.
- 	* cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
- 	(do_pragma): Kludge for front ends.  Don't expand macros at all.
- 	* cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
- 	(struct cpp_token): Remove output_line.
- 	(struct cpp_callbacks): New member line_change.
- 	* cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
- 	cpp_get_token): Preserve BOL flag.
- 	(cpp_get_line): Remove.
- 	(_cpp_backup_tokens): Remove useless abort().
- 	* cppmain.c (cb_line_change): New.
- 	(scan_translation_unit): Don't worry about starting new lines here.
- 	* scan-decls.c (scan_decls): Update.
- 	* c-lex.c (c_lex, init_c_lex): Update.
- 	(cb_line_change, src_lineno): New.
- 
- Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* tree.c (append_random_chars): Generate the random
- 	characters in a reproducable fashion.
- 
- 2001-09-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (internal_label_prefix): New.
- 	(internal_label_prefix_len): New.
- 	(override_options): Set them.
- 	(local_symbolic_operand): New.
- 	(legitimate_pic_address_disp_p): Use it.
- 	(legitimize_pic_address): Likewise.
- 
- 2001-09-14  Marc Espie <espie@openbsd.org>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
- 	correctly.
- 
- 2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
- 	* config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
- 
- 2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* rtlanal.c (subreg_regno_offset): Add semicolon to end of
- 	invocation of SUBREG_REGNO_OFFSET.
- 
- 	* haifa-sched.c: Fix typo in FSF copyright statement.
- 	* sched-deps.c: Fix typo in FSF copyright statement.
- 	* sched-ebb.c: Fix typo in FSF copyright statement.
- 	* sched-rgn.c: Fix typo in FSF copyright statement.
- 	* sched-vis.c: Fix typo in FSF copyright statement.
- 
- 	* config.gcc: Move inclusion of arm elf specific header files
- 	from the files themselves into the tm_file variable.  Make
- 	sure that elfos.h is included before target specific elf
- 	headers.
- 	* config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
- 	already defined.
- 	(ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
- 	* config/arm.arm.h (TARGET_MEM_FUNCTIONS,
- 	ASM_OUTPUT_CASE_LABEL): Protect definition.
- 	(CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
- 	not already defined.
- 	* config/arm/conix-elf.h: (USER_LABEL_PREFIX,
- 	LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
- 	Remove duplicate definition.
- 	(READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
- 	(SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
- 	(RDATA_SECTION_FUNCTION): Remove redundant definition.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
- 	Remove inclusion of arm/elf.h.
- 	* config/arm/unknown-elf.h: as for conix-elf.h.
- 	(STARTFILE_SPEC): Include crti.o and crtn.o.
- 	* config/arm/linux-elf.h: as for conix-elf.h.
- 	* config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
- 	* config/arm/strongarm-elf.h: Remove inclusion of
- 	unknown-elf.h.
- 	* config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
- 	* config/arm/unknown-elf-oabi.h: Remove inclusion of
- 	unknown-elf.h and elf.h.
- 	* config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
- 	* config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
- 	ASM_WEAKEN_LABEL): Remove redundant definition.
- 	* config/arm/elf.h: Test for inclusion of elfos.h
- 	(USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
- 	ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
- 	SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
- 	EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
- 	redundant definition.
- 	(TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
- 	ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
- 	ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
- 	* t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
- 	Add rules to build crti.o and crtn.o
- 	* crti.asm: New file.
- 	* crtn.asm: New file.
- 
- 2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in (_yylex): Use _cpp_backup_tokens.
- 	* cpphash.h (struct tokenrun): Add prev.
- 	(struct lexer_state): Remove bol.
- 	(struct cpp_reader): Remove old lookahead stuff, add lookaheads.
- 	(_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
- 	: Remove.
- 	* cppinit.c (cpp_create_reader): Don't set bol.
- 	(cpp_destroy): Don't free lookaheads.
- 	* cpplex.c (lex_directive): Remove.
- 	(next_tokenrun): Update.
- 	(_cpp_lex_token): Clean up logic.
- 	(lex_token): Update to return a pointer to lexed token, since it
- 	can move to the start of the buffer.  Simpify newline handling.
- 	* cpplib.c (SEEN_EOL): Update.
- 	(skip_rest_of_line): Remove lookahead stuff.
- 	(end_directive): Line numbers are already incremented.  Revert
- 	to start of lexed token buffer if we can.
- 	(_cpp_handle_directive, do_pragma, do_pragma_dependency,
- 	parse_answer): Use _cpp_backup_tokens.
- 	(run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
- 	instead.  Don't check for EOL.
- 	(do_include_common, do_line, do_pragma_system_header): Use
- 	skip_rest_of_line.
- 	* cpplib.h (BOL, _cpp_backup_tokens): New.
- 	* cppmacro.c (save_lookahead_token, take_lookahead_token,
- 	alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
- 	cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
- 	(builtin_macro): Don't use cpp_get_line.
- 	(cpp_get_line): Short term kludge.
- 	(parse_arg): Handle directives in arguments here.  Back up when
- 	appropriate.  Store EOF at end of argument list.
- 	(funlike_invocation_p): Use _cpp_backup_tokens.
- 	(push_arg_context): Account for EOF at end of list.
- 	(cpp_get_token): Remove lookahead stuff.  Update.
- 
- 2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (yyerror): Const-ification and/or static-ization.
- 	* c-typeck.c (push_member_name): Likewise.
- 	* collect2.c (main): Likewise.
- 	* dbxout.c (dbxout_parms): Likewise.
- 	* diagnostic.c (format_with_decl): Likewise.
- 	* dwarf2out.c (output_ranges): Likewise.
- 	* dwarfout.c (fundamental_type_code): Likewise.
- 	* except.c (dw2_output_call_site_table): Likewise.
- 	* gcc.c (do_spec_1): Likewise.
- 	* genopinit.c (optabs): Likewise.
- 	* objc/objc-act.c (synth_id_with_class_suffix, start_class,
- 	gen_declaration_1, handle_impent): Likewise.
- 	* protoize.c (default_include, in_system_include_dir, abspath):
- 	Likewise.
- 	* sched-vis.c (visualize_stall_cycles): Likewise.
- 	* sdbout.c (plain_type_1, sdbout_end_function,
- 	sdbout_end_epilogue): Likewise.
- 	* varasm.c (decode_reg_name): Likewise.
- 
- 	* 1750a.c (mod_regno_adjust): Likewise.
- 	* alpha.c (alpha_write_one_linkage,
- 	unicosmk_output_default_externs): Likewise.
- 	* arm.c (arm_condition_codes): Likewise.
- 	* arm.h (arm_condition_codes): Likewise.
- 	* avr.c (output_movsisf, encode_section_info): Likewise.
- 	* darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
- 	Likewise.
- 	* i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
- 	* i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
- 	* m88k.c (output_function_profiler): Likewise.
- 	* mips.c (mips_output_conditional_branch): Likewise.
- 	* ns32k.c (ns32k_out_reg_names): Likewise.
- 	* ns32k.h (ns32k_out_reg_names): Likewise.
- 	* pj.c (pj_output_rval): Likewise.
- 	* rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
- 	* sparc.c (sparc_flat_function_prologue,
- 	sparc_flat_function_epilogue): Likewise.
- 
- 2001-09-13  Markus Werle <numerical.simulation@web.de>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
- 	Aachen University of Technology".
- 
- 2001-09-13  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
- 	C99.
- 
- 2001-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (small_symbolic_operand): New.
- 	(override_options): Set MASK_SMALL_DATA based on pic/PIC.
- 	(some_operand, input_operand): Don't handle HIGH.
- 	(alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
- 	(alpha_expand_mov): Likewise.
- 	(print_operand) [H]: Just print HIGH symbol.
- 	(print_operand_address): Handle small data.
- 	* config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
- 	(TARGET_SWITCHES): Add -msmall-data/large-data.
- 	(PIC_OFFSET_TABLE_REGNUM): New.
- 	(PREFERRED_RELOAD_CLASS): Don't handle HIGH.
- 	(PREDICATE_COES): Update.
- 	* config/alpha/alpha.md (adddi_er_high): New.
- 	(adddi_er_low): Handle small data.
- 	* config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
- 	prefer .sdata to .rodata.
- 	(SELECT_RTX_SECTION): Likewise.
- 
- 2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
- 
- 	* fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
- 	defining __size_t and leaving size_t undefined.
- 
- 2001-09-12  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* basic-block.h (expunge_block): Declare.
- 	* cfg.c (expunge_block): Remove static declaration.
- 
- 2001-09-12  Richard Henderson  <rth@redhat.com>
- 
- 	* integrate.c (copy_insn_list): Copy label name from
- 	NOTE_INSN_DELETED_LABEL.
- 
- 2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_tree_code_name): Const-ification.
- 	* c-decl.c (c_decode_option): Likewise.
- 	* c-typeck.c (warn_for_assignment): Likewise.
- 	* collect2.c (libexts, is_ctor_dtor, main, ignore_library):
- 	Likewise.
- 	* cppinit.c (output_deps): Likewise.
- 	* dependence.c (dependence_string, direction_string): Likewise.
- 	* dwarf2out.c (output_ranges): Likewise.
- 	* fixinc/fixfixes.c (emit_gnu_type): Likewise.
- 	* fixinc/gnu-regex.c (re_error_msgid): Likewise.
- 	* gcc.c (standard_exec_prefix, standard_exec_prefix_1,
- 	standard_startfile_prefix, standard_startfile_prefix_1,
- 	standard_startfile_prefix_2, tooldir_base_prefix,
- 	standard_bindir_prefix, find_a_file): Likewise.
- 	* genattrtab.c (make_length_attrs): Likewise.
- 	* gencheck.c (tree_codes): Likewise.
- 	* genemit.c (gen_split): Likewise.
- 	* genrecog.c (special_mode_pred_table): Likewise.
- 	* graph.c (graph_ext): Likewise.
- 	* protoize (default_include): Likewise.
- 	* reload.c (reload_when_needed_name): Likewise.
- 	* sched-vis.c (visualize_stall_cycles): Likewise.
- 	* tlink.c (recompile_files): Likewise.
- 	* toplev.c (decode_g_option): Likewise.
- 	* tradcpp.c (output_deps): Likewise.
- 	* varasm.c (decode_reg_name): Likewise.
- 
- 	* arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
- 	Const-ification.
- 	* arm.md: Likewise.
- 	* avr.c (avr_regnames, encode_section_info): Likewise.
- 	* c4x.c (float_reg_names): Likewise.
- 	* darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
- 	* elfos.h (const_section): Likewise.
- 	* i386.c (ix86_comp_type_attributes): Likewise.
- 	* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
- 	* ia64/aix.h (UNIQUE_SECTION): Likewise.
- 	* ia64.c (type_names): Likewise.
- 	* m68hc11.c (reg_class_names): Likewise.
- 	* m88k.c (m_options): Likewise.
- 	* mips.c (mips_output_conditional_branch, mips_unique_section):
- 	Likewise.
- 	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	* sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
- 	ultra_code_names): Likewise.
- 	* sparc.h (OVERRIDE_OPTIONS): Likewise.
- 
- 2001-09-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (gcc_cv_as_shf_merge): Fix a typo.
- 	Use --fatal-warnings option for gas.
- 	* configure: Rebuilt.
- 
- 2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
- 
- 2001-09-11  Jim Wilson  <wilson@redhat.com>
- 
- 	* alias.c (clear_reg_alias_info): Only handle pseudo registers.
- 
- 2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* builtins.c (c_strlen): Treat an offset too large for a
- 	HOST_WIDE_INT as out of range.
- 
- Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
- 	(EDGE_CRITICAL_P): New predicate.
- 	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
- 	handling.
- 	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
- 	(dump_edge_info): Remove "crit".
- 	* cfganal.c (mark_critical_edges): Kill.
- 	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
- 	* cfgcleanup.c (cleanup_cfg): Likewise.
- 	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
- 	(find_spanning_tree): Likewise.
- 	* reg-stack.c (convert_regs_1): Likewise.
- 	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
- 
- 	* basic-block.h (create_basic_block_structure): New.
- 	(create_basic_block): Update prototype.
- 	(force_nonfallthru): New.
- 	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
- 	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
- 	handle updating of block_for_insn, creating of empty BBs and BBs at
- 	the end of INSN chain.
- 	(create_basic_block): New function.
- 	(split_block): Use create_basic_block.
- 	(force_nonfallthru_and_redirect): Break out from ...; cleanup
- 	(redirect_edge_and_branch_force): ... here.
- 	(force_nonfallthru): New.
- 	(split_edge): Rewrite to use force_nonfallthru and create_block.
- 	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
- 	(find_basic_blocks): Free basic_block_for_insn.
- 	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.
- 
- 	* cfg.c: Fix formating.
- 	* cfgcleanup.c: Fix formating.
- 	(merge_blocks, tail_recursion_label_p): Return bool.
- 	(merge_blocks_move_predecessor_nojumps,
- 	 merge_blocks_move_successor_nojumps): Return void.
- 
- 2001-09-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: Check whether assembler supports section merging.
- 	* config.in: Rebuilt.
- 	* configure: Rebuilt.
- 	* varasm.c (variable_section, output_constant_pool): Pass alignment
- 	to SELECT_SECTION and SELECT_RTX_SECTION.
- 	(mergeable_string_section): New.
- 	(mergeable_constant_section): New.
- 	(default_elf_asm_named_section): Output SECTION_MERGE and
- 	SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
- 	* output.h (mergeable_string_section): New.
- 	(mergeable_constant_section): New.
- 	(SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
- 	* toplev.c (flag_merge_constants): New.
- 	(f_options): Add -fmerge-constants and -fmerge-all-constants
- 	options.
- 	(toplev_main): Default to -fno-merge-constants if not optimizing.
- 	* flags.h (flag_merge_constants): Add extern.
- 	* invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
- 	* tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
- 	argument.
- 	* config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
- 	Define if assembler has working .subsection -1 support.
- 	(SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
- 	Put constant into special SHF_MERGE sections if the linker should
- 	attempt to merge duplicates.
- 	* config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
- 	macro argument.
- 	Put constant into special SHF_MERGE sections if the linker should
- 	attempt to merge duplicates.
- 	* config/alpha/elf.h: Likewise.
- 	(ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
- 	has working .subsection -1 support.
- 	* config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
- 	SELECT_SECTION.
- 	* config/svr3.h: Likewise.
- 	* config/darwin.h: Likewise.
- 	* config/arm/aof.h: Likewise.
- 	* config/arm/linux-elf.h: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/i386/dgux.h: Likewise.
- 	* config/i386/osfrose.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i386/svr3gas.h: Likewise.
- 	* config/ia64/aix.h: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m88k/dgux.h: Likewise.
- 	* config/m88k/m88k.h: Likewise.
- 	* config/mcore/mcore-pe.h: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/pa/pa.h: Likewise.
- 	* config/pa/pa-linux.h: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 	* config/rs6000/xcoff.h: Likewise.
- 	* config/s390/linux.h: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sysv4.h: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* config/vax/vms.h: Likewise.
- 	* config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
- 	and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
- 	* config/sparc/sparc.c (sparc_elf_asm_named_section): Use
- 	default_elf_asm_named_section for SHF_MERGE sections.
- 
- Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
- 	is OK.
- 
- 2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (split_specs_attrs): Allow for empty attributes with
- 	empty TREE_PURPOSE.  Fixes PR c/4294.
- 
- Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (cached_make_edge, make_single_succ): New.
- 	(make_edge): Remove first parameter.
- 	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
- 	* cfg.c (cached_make_edge): Rename from make_edge; return newly
- 	created edge; use obstack allocation.
- 	(make_edge, make_single_succ_edge): New.
- 	(first_removed_edge): New static variable.
- 	(init_flow): Initialize first_removed_edge and n_edges.
- 	(clear_edges): Use remove_edge.
- 	(flow_delete_block): Likewise.
- 	(remove_edge): Add removed edges to the removed edges list.
- 	(split_block, redirect_edge_and_branch_force, split_edge):
- 	Use make_edge.
- 	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
- 	(add_noreturn_fake_exit_edges): Likewise.
- 	(connect_infinite_loops_to_exit): Liekwise.
- 	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
- 	Use cached_make_edge.
- 	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
- 	* profile.c (branch_prob): Update make_edge call.
- 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
- 
- 2001-09-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c: Tidy formatting.
- 	(local_symbolic_operand): Verify mode.
- 	(alpha_sa_mask): Ignore unicos for eh_return.
- 	(alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
- 	* config/alpha/alpha.md (umk divsi patterns): Remove.
- 	(extendsfdf2): Remove unicos check.
- 	(tablejump): Merge vms and unicos code; always use direct set
- 	plus label_ref use.
- 
- 2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* config.gcc (alpha*-*-unicosmk*): New target.
- 
- 	* config/alpha/alpha-protos.h (symbolic_operand,
- 	unicosmk_add_call_info_word, unicosmk_add_extern,
- 	unicosmk_defer_case_vector, unicosmk_unique_section,
- 	unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
- 	unicosmk_asm_file_start, unicosmk_asm_file_end,
- 	unicosmk_output_common): Declare.
- 
- 	* config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
- 	direct_return, function_arg, alpha_va_start, alpha_va_arg,
- 	alpha_does_function_need_gp, alpha_end_function): Support Cray
- 	Unicos/Mk.
- 	(alpha_init_machine_status, alpha_mark_machine_status,
- 	alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
- 	unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
- 	unicosmk_asm_named_section, unicosmk_insert_attributes,
- 	unicosmk_section_type_flags, symbolic_operand,
- 	unicosmk_output_module_name, unicosmk_output_default_externs,
- 	unicosmk_output_dex, unicosmk_output_externs,
- 	unicosmk_output_addr_vec, unicosmk_ssib_name,
- 	unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
- 	unicosmk_asm_file_end, unicosmk_output_common,
- 	unicosmk_section_type_flags, unicosmk_unique_section,
- 	unicosmk_add_call_info_word, unicosmk_text_section,
- 	unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
- 	unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
- 	unicosmk_dex_count, unicosmk_special_name): New.
- 	(TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
- 	TARGET_ABI_UNICOSMK.
- 	(get_aligned_mem, alpha_expand_unaligned_load,
- 	alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
- 	alpha_expand_unaligned_store_words): Support big-endian mode.
- 	(print_operand): Likewise. New format specifier 't'. Use
- 	TARGET_AS_SLASH_BEFORE_SUFFIX.
- 	(alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
- 	(alpha_pv_save_size): Update with above change.
- 	(alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
- 	alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
- 	Unicos/Mk.
- 
- 	* config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
- 	(TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
- 	(TARGET_AS_SLASH_BEFORE_SUFFIX): New.
- 	(EXTRA_CONSTRAINT): New constraint 'U'.
- 	(PREDICATE_CODES): Add symbolic_operand.
- 
- 	* config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
- 	UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
- 	(mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
- 	(integer division and modulus patterns): Split in default and
- 	Unicos/Mk versions.
- 	(*divmodsi_internal, *divmoddi_internal): Disable for
- 	TARGET_ABI_UNICOSMK.
- 	(unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
- 	little-endian and big-endian versions.
- 	(ext, ins, msk): Likewise.
- 	(extv, extzv, insv): Support big-endian mode.
- 	(call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
- 	(call_umk, call_value_umk, *call_umk, tablejump_umk,
- 	*tablejump_umk_internal, *call_value_umk): New.
- 	(*movdi_nofix): Add pattern for loading an address into a register on
- 	TARGET_ABI_UNICOSMK.
- 	(umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
- 	(umk_mismatch_args, arg_home_umk): New.
- 	(various insns): Don't use mov, fmov, nop, fnop and unop.
- 	(realign): Support TARGET_ABI_UNICOSMK.
- 
- 	* config/alpha/unicosmk.h: New file.
- 	* config/alpha/t-unicosmk: New file.
- 
- 	* fixinc/inclhack.def (unicosmk_restrict): New.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 	* ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
- 	(wchar_t): Check for and define __WCHAR_T__.
- 
- 2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* combine.c (simplify_shift_const): Treat shifts by the mode
- 	size as undefined.
- 
- 2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct tokenrun): New.
- 	(struct cpp_context): New member bol.
- 	(struct cpp_reader): New members.
- 	(_cpp_init_tokenrun): New.
- 	* cppinit.c (cpp_create_reader): Set up the token runs.
- 	* cpplex.c (lex_directive, lex_token, next_tokenrun): New.
- 	(lex_token): New internalised version of _cpp_lex_token.  Don't
- 	handle directives or the multiple include optimization here any
- 	more.  Simply lex a token.
- 	* cpplib.c (run_directive): Clear bol.
- 	(_cpp_pop_buffer): Set bol.
- 	* cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
- 	arguments.
- 
- 2001-09-11  Michael Meissner  <meissner@redhat.com>
- 
- 	* config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
- 	give an error if the user uses -mfp32.
- 	(CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
- 	default options.
- 	(CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
- 	floating point register size.
- 	(EXTRA_SPECS): Add CPP_FPR_SPEC.
- 
- 	* config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
- 	HOST_WIDE_INT_PRINT_DEC to properly print the result of
- 	int_size_in_bytes.
- 	* config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
- 	* config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
- 
- 2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* dbxout.c (dbxout_parms): Fix typo in comment.
- 	* unroll.c (loop_find_equiv_value): Ditto.
- 	* toplev.c (rest_of_compilation): Ditto.
- 	* loop.c (scan_loop): Ditto.
- 	* dwarf2out.c (struct dw_fde_struct): Ditto.
- 
- 2001-09-10  Zack Weinberg  <zackw@panix.com>
- 
- 	* cpplex.c (parse_identifier): Fast-path optimize.  Avoid
- 	copying identifier when we're just going to throw it away.
- 	(parse_identifier_slow): New routine to handle abnormal cases.
- 	(_cpp_lex_token): Update call site.
- 
- 	* hashtable.c (ht_lookup): Don't assume that the string we've
- 	been given is NUL-terminated.
- 	* system.h: #define __builtin_expect(a, b) to (a) if not
- 	GCC >=3.0.
- 
- 2001-09-10  Michael Meissner  <meissner@redhat.com>
- 
- 	* config.gcc (sparc64-*-solaris2): Add alias to be compatible with
- 	binutils, gdb.
- 
- 2001-09-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
- 
- Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (c_getstr): Correct thinko in last change and further
- 	cleanup.
- 
- 2001-09-10  Tim Freeman <tim@fungibole.com>
- 
- 	* dwarf2out.c (incomplete_types, decl_scope_table): Make them
- 	into varray's and register them as roots with the garbage
- 	collector so they are not collected too soon.
- 
- Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
- 	New.
- 	* basic-block.h (flow_obstack, label_value_list,
- 	tail_recursion_label_list): Declare
- 	(tidy_fallthru_edges): Declare.
- 	(expunge_block, last_loop_beg_note): Delete.
- 	(can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
- 	* cfg.c: New file
- 	(basic_block_for_insn, label_value_list): Move from flow.c; make global.
- 	(n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
- 	init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
- 	flow_delete_insn, flow_delete_insn_chain, create_basic_block,
- 	expunge_block, flow_delete_block, compute_bb_for_insn,
- 	update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
- 	make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
- 	redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
- 	try_redirect_by_replacing_jump, last_loop_beg_note,
- 	redirect_edge_and_branch, redirect_edge_and_branch_force,
- 	tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
- 	split_edge, insert_insn_on_edge, commit_one_edge_insertion,
- 	commit_edge_insertions, dump_flow_info, debug_flow_info,
- 	dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
- 	verify_flow_info, purge_dead_edges, purge_all_dead_edges):
- 	Move here from flow.c
- 	* cfganal.c: New file.
- 	(forwarder_block_p, can_fallthru, mark_critical_edges,
- 	 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
- 	 find_unreachable_blocks, create_edge_list, free_edge_list,
- 	 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
- 	 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
- 	 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
- 	 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
- 	 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
- 	 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
- 	Move here from flow.c
- 	* cfgbuild.c: New file
- 	(count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
- 	 make_edges, find_basic_blocks_1, find_basic_blocks,
- 	 find_sub_basic_blocks): Move here from flow.c
- 	* cfgcleanup.c: New file.
- 	(try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
- 	 merge_blocks_move_predecessor_nojumps,
- 	 merge_blocks_move_successor_nojumps, merge_blocks,
- 	 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
- 	 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
- 	(delete_unreachable_blocks, cleanup_cfg): Likewise; return true
- 	if succeeded.
- 	* cfgloop.c: New file
- 	(flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
- 	 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
- 	 flow_loop_exit_edges_find, flow_loop_nodes_find,
- 	 flow_loop_pre_header_scan, flow_loop_pre_header_find,
- 	 flow_loop_tree_node_add, flow_loops_tree_build,
- 	 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
- 	 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
- 	Move here from flow.c
- 	* flow.c: Remove everything moved elsewhere
- 	* output.h (cleanup_cfg): Return bool.
- 
- 	* bb-reorder.c (reorder_block_def): Remove 'index'.
- 	(insert_intra_1): Add argument BB, set block for new note.
- 	(make_reorder_chain): Do not depdent on BB indexes.
- 	(make_reorder_chain_1): Do not use BB indexes.
- 	(label_for_bb): Likewise; set BB for new insn.
- 	(emit_jump_to_block_after): Likewise.
- 	(fixup_reorder_chain): Sanity check that all basic blocks
- 	are chained; verify newly created insn chain; remove
- 	undocnitional jump simplifying; Do not use BB indexes;
- 	properly initialize count and frequency information;
- 	dump reordered sequence.
- 	(insert_intra_bb_scope_notes): update call of insert_intra_1.
- 	(insert_inter_bb_scope_notes): Set block for new insn.
- 	(reorder_basic_blocks): Dump flow info before reoredering.
- 
- Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (clear_reg_alias_info): Use K&R format definition.
- 	Avoid unsigned warning.
- 	* builtins.c: Use "unsigned int", not "unsigned".
- 	(target_char_cast): Use host_integerp and tree_low_cst.
- 	(expand_builtin_args_info, expand_builtin_frame_address): Likewise.
- 	(c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
- 	(c_getstr): Likewise.
- 	(std_expand_builtin_va_arg): Use int_size_in_bytes.
- 	(builtin_memcpy_read_str): Avoid unsigned warning.
- 	(expand_builtin_memcpy): Alignments are unsigned.
- 	(expand_builtin_strncpy, expand_builtin_memset): Likewise.
- 	(expand_builtin_expect_jump): Use integer_zerop and integer_onep.
- 	* predict.c (expensive_function_p): LIMIT now unsigned.
- 	* resource.c (mark_target_live_regs): Make some vars unsigned.
- 	* sdbout.c: Use "unsigned int", not "unsigned".
- 	(MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
- 	(sdbout_source_line): Likewise.
- 	(sdbout_record_type_name): Remove "const" for NAME declaration.
- 	* config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
- 
- 2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* calls.c (store_one_arg): Expand comment.
- 
- 2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* calls.c (store_one_arg): Make sure that the entire argument is
- 	pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
- 
- 2001-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (adjust_address): Fix mode for LO_SUM.
- 
- Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (combine_givs): Fix computing of benefit once giv is combined.
- 
- 2001-09-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_next_sequence_number): New.
- 	(alpha_this_literal_sequence_number): New.
- 	(alpha_this_gpdisp_sequence_number): New.
- 	(some_operand, input_operand): Add HIGH.
- 	(local_symbolic_operand): New.
- 	(alpha_encode_section_info): New.
- 	(alpha_legitimate_address_p): Allow LO_SUM.
- 	(alpha_legitimize_address): Generate HIGH+LO_SUM.
- 	(alpha_expand_mov): Likewise.
- 	(secondary_reload_class): Check memory_operand not general_operand
- 	for FP_REGS test.
- 	(alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
- 	(alpha_expand_unaligned_store): Likewise.
- 	(alpha_expand_unaligned_load_words): Likewise.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 	(alpha_expand_block_clear): Likewise.
- 	(print_operand): Handle %#, %*, %H.
- 	(print_operand_address): Handle LO_SUM.
- 	(find_lo_sum): New.
- 	(alpha_does_function_need_gp): Use it.
- 	(alpha_expand_block_move): Fix signed compare warnings.
- 	(alpha_sa_mask, alpha_align_insns): Likewise.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
- 	(MASK_EXPLICIT_RELOCS): New.
- 	(TARGET_SWITCHES): Add -mexplicit-relocs.
- 	(EXTRA_CONSTRAINT): Add 'T'.
- 	(PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
- 	(ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
- 	(ENCODE_SECTION_INFO): Out line.
- 	(REDO_SECTION_INFO_P): New.
- 	(STRIP_NAME_ENCODING): New.
- 	(ASM_OUTPUT_LABELREF): New.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
- 	call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
- 	movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
- 	builtin_setjmp_receiver_er, exception_receiver_1_er,
- 	call_value_osf_1_er): New patterns.
- 	(sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
- 	(movqi, movhi, movsi): Add explicit $31 base register to lda.
- 	* config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
- 	(FINAL_PRESCAN_INSN): New.
- 
- Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
- 
- 2001-09-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* i386.h (TARGET_SWITCHES): Fix description.
- 
- 2001-09-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (num_insns_constant): Compute number of instructions
- 	more accurately.
- 
- 	* doc/install.texi: Explain AIX exception handling work-around.
- 	Update URL for AIX fixes.
- 
- 2001-09-07  Jim Wilson  <wilson@redhat.com>
- 
- 	* alias.c (clear_reg_alias_info): New.
- 	* flow.c (attempt_auto_inc): Call clear_reg_alias_info.
- 	* rtl.h (clear_reg_alias_info): Declare.
- 
- 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
- 	available.
- 	(UEMUSHORT): New. Use instead of unsigned EMUSHORT.
- 	(m16m,edivm,emulm): Change declaration to match definition.
- 
- 2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
- 
- 	* reload.c (push_reload): Check for subreg_lowpart_p instead of
- 	SUBREG_BYTE being 0 when determining if the inner part of a subreg
- 	can be reloaded.
- 
- 2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* c-common.c (signed_or_unsigned_type): Handle machine mode types
- 	which have no corresponding C type.
- 	* fold_const.c (target_isinf,target_isnan,target_negative): Update
- 	the representation of 64-bit doubles to work with 64-bit ints.
- 
- 2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Do not override ISA when ABI
- 	specified if MIPS_CPU_STRING_DEFAULT was specified.
- 
- 2001-09-07  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
- 	(express_from_1): Wrap lines.
- 	* rtlanal.c (commutative_operand_precedence): Rename from
- 	operand_preference; export.
- 	* rtl.h: Declare it.
- 	* simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
- 	(simplify_binary_operation): Invoke simplify_plus_minus on
- 	(CONST (PLUS ...)) as well.
- 	(struct simplify_plus_minus_op_data): New.
- 	(simplify_plus_minus_op_data_cmp): New.
- 	(simplify_plus_minus): Use them.  Avoid infinite recursion with
- 	simplify_binary_operation wrt CONST.
- 
- Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
- 
- 	* h8300-protos.h (general_operand_dst_push): Remove.
- 	* h8300.c (general_operand_dst_push): Likewise.
- 	* h8300.h (OK_FOR_T): Likewise.
- 	(EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
- 	* h8300.md (pushqi_h8300): New.
- 	(pushqi_h8300hs): Likewise.
- 	(pushqi): Likewise.
- 	(pushhi_h8300): Likewise.
- 	(pushhi_h8300hs): Likewise.
- 	(pushhi): Likewise.
- 
- Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* genattrtab.c (attr_printf): First arg is unsigned.
- 	Clean up formatting of callers.
- 
- 2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Allow abi32 with 64 bit
- 	registers.
- 
- 2001-09-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* i386.h (TARGET_SWITCHES): Fix descriptions.
- 
- 2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
- 
- 2001-09-06  Ira Ruben  <ira@apple.com>
- 
- 	Remove OP_IDENTIFIER.
- 	* tree.def (OP_IDENTIFIER): Remove.
- 	* tree.c (tree_node_kind enum): Remove op_id_kind.
- 	(tree_node_kind_names): Remove "op_identifiers".
- 	(make_node): Remove OP_IDENTIFIER test.
- 	(build_op_identifier): Removed because it isn't being used.
- 	* print-tree.c (print_node): Remove OP_IDENTIFIER case.
- 	* cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
- 
- 2001-09-06  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Revert last change.
- 
- 2001-09-06  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Simplify contents
- 	of CONST.
- 
- 2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
- 	number used for CR register.
- 
- Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
- 			  Joern Rennecke (amylaar@cygnus.com)
- 
- 	* h8300-protos.h (h8300_return_addr_rtx): New prototype.
- 	* h8300.c (initial_offset): Handle offset between RP and FP.
- 	(h8300_return_addr_rtx): New function.
- 	* h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
- 	return register.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
- 	(REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
- 	(REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
- 	(CAN_ELIMINATE, REGISTER_NAMES):
- 	(RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
- 
- 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Remove TYPE_NONCOPIED_PARTS.
- 	* tree.h (TYPE_NONCOPIED_PARTS): Remove.
- 	(struct tree_type): Remove noncopied_parts.
- 	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
- 	* expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
- 	(fixed_type_p): Remove.
- 	(expand_expr, INIT_EXPR): Don't deal with noncopied parts.
- 	(expand_expr, MODIFY_EXPR): Likewise.
- 	* ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
- 	* doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.
- 
- 2001-09-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
- 	compiler warnings.
- 	(mask64_operand): Likewise.
- 	(includes_rldic_lshift_p): Likewise.
- 	(includes_rldicr_lshift_p): Likewise.
- 
- 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (build_message_expr): If a class method cannot
- 	be found, do not issue a warning if a corresponding instance
- 	method exists in the root class.
- 
- 2001-09-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_mov): Initialize temp.
- 
- 2001-09-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* function.c (ggc_mark_struct_function): Mark f->outer.
- 	* toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
- 	* integrate.c (output_inline_function): ... not here.
- 
- Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* profile.c (branch_prob): Call add_noreturn_fake_exit_edges.
- 
- 	* i386.c (size_cost): New static variable.
- 	(override_function): Use size_cost when -Os is specified.
- 
- 	* i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
- 	properly;  Use current_function_calls_eh_return.
- 	(ix86_expand_epilogue): Avoid dummy optimize_size tests;
- 	use leave to avoid dependency chain.
- 
- 	* local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
- 	get BB loop_depth instead of computing it from LOOP notes.
- 
- 	* reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.
- 
- 2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	* pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP): Define
- 
- 2001-09-05  Jeffrey A Law  (law@cygnus.com)
- 	    Jason Merrill (jason@redhat.com)
- 
- 	* stor-layout.c (layout_type): Complain if an array's size can
- 	not be represented in a size_t.
- 
- 	* config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.
- 
- 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* gcc.c: (process_command) Add parentheses around assignment
- 	used as truth value.
- 
- 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (save_restore_insns): Don't mark any register
- 	save slots as unchanging if current_function_calls_eh_return.
- 
- 2001-09-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_legitimate_address_p): New.
- 	* config/alpha/alpha-protos.h: Declare it.
- 	* config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
- 	(NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
- 	(NONSTRICT_REG_OK_FP_BASE_P): Likewise.
- 	(STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
- 	(REG_OK_FOR_BASE_P): Select one of the above.
- 
- 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
- 	(crti.o): Prefix name of object file with $(T).
- 	(crtn.o): Likewise.
- 
- 2001-09-05  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
- 	* config/sparc/linux64.h: Likewise.
- 
- 2001-09-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/invoke.texi (i386 Options): -mwide-multiply is not
- 	available anymore, remove the documentation.
- 	(i386 Options): Fix typo, cleanup index entries.
- 
- 	* prefix.c (concat): Remove, we can use the version from liberty.
- 
- 2001-09-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
- 	New functions split out of md file expanders.
- 	* config/alpha/alpha-protos.h: Declare them.
- 	* config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.
- 
- 2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (funlike_invocation_p): No need to restore context.
- 
- 2001-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* reload.c (push_reload): Export.
- 	* reload.h (push_reload): Declare it.
- 
- 	* config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
- 	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
- 	* config/alpha/alpha.c (alpha_legitimize_address): New.
- 	(alpha_legitimize_reload_address): Likewise.
- 	* config/alpha/alpha-protos.h: Declare them.
- 
- 2001-09-04  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
- 	* config/darwin.c (machopic_stub_name): Account for internally
- 	generated lib calls such as memcpy.
- 
- 2001-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind.h (_UA_END_OF_STACK): New flag.
- 	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.
- 
- Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.
- 
- 2001-09-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (save_restore_insns): Change base_offset to
- 	fp_offset in second call to mips_emit_frame_related_store.
- 
- 2001-09-04  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
- 	sometimes be represented as a NOTE of type
- 	NOTE_INSN_DELETED_LABEL.
- 	(Insns): Document NOTE_INSN_DELETED_LABEL.
- 
- 2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.h (tree_dump_index): Add more comments.
- 	* c-dump.c (dump_files): Name flags `tree' rather than `ast'.
- 	(dump_option_value_info): New struct.
- 	(dump_options): New array.
- 	(dump_switch_p): Parse switch options symbolically.
- 	* doc/invoke.texi (-fdump-ast): Rename to ...
- 	(-fdump-tree): ... here. Document that options are symbolic, and
- 	not all are applicable.
- 
- 2001-09-04  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (define_splits): Kill constraints.
- 
- 	Cleanup redundant and unused insn attributes.
- 	* config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
- 	binary, and move.  Mark ialu as default.
- 	(commented out define_function_unit "alu"): Kill.
- 	(define_attr "use_clobbered"): Kill.
- 	(whole file): Kill address insn type references.  Replace
- 	all unary/binary/move references with ialu.
- 	* config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
- 	references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
- 	TYPE_IALU.
- 
- 	Simplify length insn attribute and make more judicious use
- 	of insn attribute defaulting.
- 	* config/sparc/sparc.md (all insns with length > one): Mark as
- 	insn type multi if real instructions, else use default if
- 	it is a forced splitter.
- 	(all insns with length == one): Use default insn length.
- 	(all insns of type ialu): Use default insn type.
- 
- 	Fix erroneous insn attribute settings.
- 	(addx): Set insn type to misc.
- 	(mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
- 	const_umulsidi3_sp64): Set insn type to imul.
- 
- 	Track SFmode vs DFmode insns according to UltraSPARC
- 	scheduling rules.
- 	* config/sparc/sparc.md ("fptype"): New attribute, default
- 	to "single".
- 	(all DFmode single insns): Mark as fptype "double".
- 
- 2001-09-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* loop.c (express_from_1): Fix CONSTANT_P(a) case.
- 
- 2001-09-03  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function): Add arg_pointer_save_area_init.
- 	* function.c (expand_function_end): Init arg_pointer_save_area.
- 	(get_arg_pointer_save_area): Do not init arg_pointer_save_area
- 	when called from a nested function.
- 
- 2001-09-02  Angela Marie Thomas <angela@cygnus.com>
- 
- 	* fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
- 	is enabled.
- 
- Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.
- 
- 2001-09-01  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
- 	(emit_push_insn): Use specified padding direction when
- 	STACK_PUSH_CODE is POST_INC.
- 
- 	* config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.
- 
- 2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.
- 
- 2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_start_read): Free the imacros list as we
- 	traverse it.  Don't free the chains before returning.
- 	(_cpp_push_next_buffer): Only try pushing buffers if we've
- 	completed -imacros handling.
- 
- 2001-08-31  Eric Christopher  <echristo@redhat.com>
- 
- 	* gcc.c (handle_braces): Add explaination for abort.
- 
- 2001-08-30  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* expmed.c (store_bit_field): Update to patch from 2001-08-27:
- 	move adjustment of bitpos instead.
- 
- 2001-08-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* function.c: Remove all_functions.  Make outer_function_chain
- 	static.
- 	(init_function_start): Don't add new function structure to
- 	all_functions.
- 	(find_function_data, push_function_context_to,
- 	pop_function_context_from, put_var_into_stack,
- 	trampoline_address): Update for changed structure element names.
- 	(push_function_context_to): Disentangle.
- 	(free_after_compilation): Also free F.
- 	(expand_dummy_function_end): Don't free cfun here.
- 	(put_var_into_stack): Comment why we can't use find_function_data here.
- 	(fix_lexical_addr, trampoline_address, ): Use find_function_data.
- 	(mark_function_chain): Split into maybe_mark_struct_function and
- 	ggc_mark_struct_function.  Export the latter.
- 	(init_function_once): Mark from cfun and outer_function_chain;
- 	not all_functions.
- 
- 	* function.h (struct function): Kill next_global.  Rename next
- 	to outer.  All users updated to match.
- 	(all_functions, outer_function_chain): Don't declare.
- 
- 	* ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
- 	* integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
- 	don't touch f->inlinable, after calling rest_of_compilation.
- 
- 	* tree.h: Forward-declare struct function.  Prototype
- 	ggc_mark_struct_function.
- 
- 2001-08-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (*andorhi3): Fix typos.
- 
- 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (emit_library_call_value): Don't use a fixed
- 	argument after VA_CLOSE, i.e. out of scope in traditional C.
- 
- 	* emit-rtl.c (gen_rtvec): Likewise.
- 
- 2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-pragma.o): Depend on output.h.
- 	(reorg.o): Depend on except.h.
- 
- 	* c-pragma.c: Include output.h.
- 
- 	* reorg.c: Include except.h.
- 
- 	* unwind-dw2.c: Call __builtin_alloca, not alloca.
- 
- 2001-08-31  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-deps.c (add_dependence): Don't elide dependency if the
- 	conditional used by insn is modified in elem.
- 
- 2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.
- 
- 2001-08-31  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* c-decl.c (c_decode_option): Skip '-f' prefix before calling
- 	dump_switch_p.
- 
- 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
- 	function.
- 	(stormy16_asm_out_constructor): New function.
- 	(TARGET_ASM_CONSTRUCTOR): Define.
- 	(TARGET_ASM_DESTRUCTOR): Define.
- 
- 2001-08-31  Andreas Jaeger  <aj@suse.de>
- 
- 	* gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
- 	* loop.c (add_label_notes): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* config/sh/sh.c (machine_dependent_reorg): Likewise.
- 
- 2001-08-31  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
- 	code here.  Take _Unwind_{W,Sw}ord*.
- 	(read_encoded_value_with_base): Use them.
- 	* unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
- 	words.
- 	(extract_cie_info): Simplify read_?leb128 handling.
- 	(execute_stack_op, execute_cfa_program): Likewise.
- 	* unwind-dw2-fde.c (get_cie_encoding): Likewise.
- 
- 2001-08-31  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
- 	the frame pointer to pop the stack if convenient.
- 
- 	* config/stormy16/stormy16.c (stormy16_initialize_trampoline):
- 	Don't use post-increment before combine.
- 	* config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
- 	a call-saved register.
- 
- 2001-08-31  Andreas Jaeger  <aj@suse.de>
- 
- 	* jump.c (mark_jump_label): Revert patch from 2001-08-28, the
- 	code was correct.
- 
- 2001-08-30  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
- 	not DIV/MOD, of course.
- 
- 2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def: Undo my patch commited 2001-08-27.
- 
- 	* genattrtab.c: Ditto.
- 
- 	* rtl.h: Ditto.
- 
- 	* sched-int.h: Ditto.
- 
- 	* target-def.h: Ditto.
- 
- 	* target.h: Ditto.
- 
- 	* haifa-sched.c: Ditto.
- 
- 	* sched-rgn.c: Ditto.
- 
- 	* sched-vis.c: Ditto.
- 
- 	* Makefile.in: Ditto.
- 
- 	* doc/md.texi: Ditto.
- 
- 	* doc/tm.texi: Ditto.
- 
- 	* doc/contrib.texi: Ditto.
- 
- 	* doc/gcc.texi: Ditto.
- 
- 	* genattrtab.h: Remove it.
- 
- 	* genautomata.c: Remove it.
- 
- 	* genattr.c: Undo my patch and Richard Henderson's patch commited
- 	2001-08-27.
- 
- Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* config.gcc (h8300-*-elf*): New case.
- 	* h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
- 	(SUBTARGET_CPP_SPEC): Define.
- 	(EXTRA_SPECS): Define.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	* config/h8300/crti.asm, config/h8300/crtn.asm: New files.
- 	* config/h8300/elf.h, config/h8300/t-elf: Likewise.
- 
- Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
- 	(LIB2FUNCS_EXTRA): Define.
- 	config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
- 	config/h8300/fixunssfsi.c: New file.
- 
- 2001-08-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (zero_extendqihi2): Changes to
- 	define_expand to accommodate target-specific attributes.
- 	(anonymous zero_extendqihi2 patterns): New.
- 
- Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* h8300.md (*andorhi3): New pattern.
- 
- Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* h8300.c (dosize): Fix test for "sub".
- 
- Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* c-typeck.c (pointer_diff): Try to eliminate common term before
- 	doing conversions.
- 
- 2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
- 	Account for the saves of the FP registers.
- 
- 	* config/arm/unknown-elf.h (TEXT_SECTION): Delete.
- 	(TEXT_SECTION_ASM_OP): Define.
- 	(INIT_SECTION_ASM_OP): Define.
- 	(FINI_SECTION_ASM_OP): Define.
- 	(SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
- 	(RDATA_SECTION_FUNCTION): Provide prototype.
- 
- 2001-08-29  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* reload1.c (move2add_note_store): Correct typo checking for
- 	argument pushes.
- 
- 2001-08-29  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
- 	note should not be considered outside the libcall block.
- 
- 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	emit_logical_op.
- 	* config/h8300/h8300.c (emit_logical_op): New.
- 	* config/h8300/h8300.md (andhi3): Use emit_logical_op.
- 	(andsi3): Likewise.
- 	(iorhi3): Likewise.
- 	(iorsi3): Likewise.
- 	(xorhi3): Likewise.
- 	(xorsi3): Likewise.
- 
- 2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
- 	comparison with rtx INTVAL.
- 	(pa_output_function_prologue): Don't mix signed and unsigned in `?'
- 	expression.
- 	* pa.h (FUNCTION_ARG_SIZE): Likewise.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/lib1funcs.asm: Update the copyright.  Fix
- 	comment typos.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (anonymous movhi pattern): Don't move
- 	(reg n) to (mem (pre_dec (reg n))
- 	(anonymous movsi pattern): Likewise.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (RETURN_ADDR_RTX): New.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
- 	several special constants.
- 
- 2001-08-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/lib1funcs.asm: Fix comment typos.
- 
- 2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
- 	Fix format specifier warnings.
- 
- 	* irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
- 	inet_makeaddr, semctl): Prototype.
- 
- 	* mips.c (compute_frame_size): Fix signed/unsigned warnings.
- 	(save_restore_insns): Use base_offset, not gp_offset.
- 
- 	* mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
- 	(ASM_OUTPUT_BYTE): Fix format specifier warning.
- 
- 2001-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* bb-reorder.c (function_tail_eff_head): New.
- 	(record_effective_endpoints): Set it.
- 	(fixup_reorder_chain): Use it.
- 
- 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.
- 
- 2001-08-28  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.c (machopic_function_base_name): Add const
- 	qualifier to a string.
- 	(darwin_encode_section_info): Ditto.
- 
- 2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.c (default_valid_attribute_p): Don't use PARAMS on a
- 	function definition.
- 
- 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* df.h (struct df): Add rts_order variable.
- 
- 	* df.c (df_visit_next_rts): New function.
- 	(df_visit_next): Renamed to df_visit_next_rc
- 	(df_analyse_1): Allocate/compute/free rts_order as well.
- 	(df_rd_global_compute): Use df_visit_next_rc instead of
- 	df_visit_next.
- 	(df_ru_global_compute): Use df_visit_next_rts instead of
- 	df_visit_next.
- 
- 	* flow.c (flow_reverse_top_sort_order_compute): New function.
- 
- 	* basic-block.h: Add prototype.
- 
- 2001-08-28  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
- 	blocks, the BB_REACHABLE is now set, rather than aux being
- 	non-NULL. Update the test to reflect this.
- 
- 2001-08-28  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/crtn.asm: Add comment explaining 16 byte alignment.
- 	config/mips/crti.asm: Ditto.
- 
- 2001-08-28  Eric Christopher <echristo@redhat.com>
- 	    Richard Henderson <rth@redhat.com>
- 
- 	* c-pragma.h (add_weak): Move prototype from here...
- 	* output.h (add_weak): ... to here.
- 	* varasm.c (add_weak): Fix typo.
- 	* config/mips/crti.asm: New file.
- 	* config/mips/crtn.asm: Ditto.
- 	* config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
- 	(CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
- 	(INVOKE__main): Ditto.
- 	(INIT_SECTION_ASM_OP): New.
- 	(FINI_SECTION_ASM_OP): Ditto.
- 	(STARTFILE_SPEC): Add crti.
- 	(ENDFILE_SPEC): Add crtn.
- 	* config/mips/elf64.h: Same.
- 	* config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
- 	Remove.
- 	* config/mips/vxworks.h: Ditto.
- 	* config/mips/t-elf: Support crti and crtn.
- 
- 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
- 	INSN_LIST.
- 
- 2001-08-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
- 	(one_cmplbi2 splitter): Remove redundant test.
- 
- 2001-08-28  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
- 
- 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
- 
- 2001-08-28  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
- 	(UNALIGNED_SHORT_ASM_OP): Define.
- 	(UNALIGNED_INT_ASM_OP): Define.
- 
- 2001-08-28  Will Cohen  <wcohen@redhat.com>
- 
- 	* config/rs6000/rs6000.md (store_multiple): Correct RTL
- 	generation for first set.
- 
- 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* flow.c (redirect_edge_succ_nodup): Return new edge.
- 	(try_simplify_condjump): Use new edge.
- 	* basic-block.h (redirect_edge_succ_nodup): Update prototype.
- 
- 	* cse.c (cse_basic_block): Skip note instructions.
- 
- 2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): Don't reverse condition
- 	if there is no reverse for the condition.
- 	(simplify_comparison): Don't simplify subregs from INT to FP.
- 
- 	* config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
- 	suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
- 	sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
- 	bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
- 	bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
- 	bunle_rev, bunlt_rev, bltgt_rev): New patterns.
- 
- 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
- 	bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
- 	(pushqi1): New.
- 	(adddi_dilshr32, adddi_dishl32): Only data register can be
- 	source for mem destination.
- 
- 	* expmed.c (store_bit_field): Ignore adjustment to bitpos
- 	and use bitnum to decide about register move.
- 
- 2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* genattr.c (main): Emit state_t even when not doing scheduling.
- 
- 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* gcse.c (reg_first_set, reg_last_set): Replace with ...
- 	(reg_avail_info, current_bb): ... these.
- 	(oprs_unchanged_p, record_last_reg_set_info): Use them.
- 	(compute_hash_table): Likewise.
- 
- 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
- 
- 	* flow.c (verify_flow_info): Use checksums to verify edges.
- 
- 2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* genautomata.c (expand_automata): Always create a description.
- 
- 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* optabs.c (expand_binop): Correctly handle the carry in multiword
- 	add/subtract operations.
- 
- 2001-08-27  Fred Fish  <fnf@be.com>
- 
- 	* ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
- 	__SIZE_TYPE__.
- 
- 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* reload.c (find_reloads_toplev): Back out this change:
- 
- 	Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
- 	mem if the address is a mode_dependent_address_p.
- 
- 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
- 
- 	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
- 	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
- 	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
- 	RTL constructions.
- 
- 	* genattr.c (main): New variable num_insn_reservations.  Increase
- 	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
- 	pipeline hazard recognizer interface.
- 
- 	* genattrtab.h: New file.
- 
- 	* genattrtab.c: Include genattrtab.h.
- 	(attr_printf, check_attr_test, make_internal_attr,
- 	make_numeric_value): Move protypes into genattrtab.h.  Define them
- 	as external.
- 	(num_dfa_decls): New global variable.
- 	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
- 	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
- 	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
- 	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
- 
- 	* genautomata.c: New file.
- 
- 	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
- 
- 	* sched-int.h: (curr_state): Add the external definition for
- 	automaton pipeline interface.
- 	(haifa_insn_data): Add comments for members blockage and units.
- 
- 	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
- 	macros.
- 	(TARGET_SCHED): Use the new macros.
- 
- 	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
- 	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
- 	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
- 	dfa_bubble): New members in gcc_target.sched.
- 
- 	* haifa-sched.c (insert_schedule_bubbles_p): New variable.
- 	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
- 	(insn_queue): Redefine it as pointer to array.
- 	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
- 	INSN_QUEUE_SIZE.
- 	(max_insn_queue_index_macro_value): New variable.
- 	(curr_state, dfa_state_size, ready_try): New varaibles for
- 	automaton interface.
- 	(ready_element, ready_remove, max_issue): New function prototypes
- 	for automaton interface.
- 	(choose_ready): New function prototype.
- 	(insn_unit, blockage_range): Add comments.
- 	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
- 	FUNCTION_UNITS_SIZE == 0.
- 	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
- 	actual_hazard, potential_hazard): Add comments.
- 	(insn_cost): Use cost -1 as undefined value.  Remove
- 	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
- 	pipeline interface.
- 	(ready_element, ready_remove): New functions for automaton
- 	interface.
- 	(schedule_insn): Add new code for automaton pipeline interface.
- 	(queue_to_ready): Add new code for automaton pipeline interface.
- 	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
- 	(debug_ready_list): Print newline when the queue is empty.
- 	(max_issue): New function for automaton pipeline interface.
- 	(choose_ready): New function.
- 	(schedule_block): Add new code for automaton pipeline interface.
- 	Print ready list before scheduling each insn.
- 	(sched_init): Add new code for automaton pipeline interface.
- 	Initiate insn cost by -1.
- 	(sched_finish): Free the current automaton state and finalize
- 	automaton pipeline interface.
- 
- 	* sched-rgn.c: Include target.h.
- 	(init_ready_list, new_ready, debug_dependencies): Add new code for
- 	automaton pipeline interface.
- 
- 	* sched-vis.c: Include target.h.
- 	(get_visual_tbl_length): Add code for automaton interface.
- 	(target_units, print_block_visualization):  Add comments.
- 
- 	* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
- 	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
- 	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
- 	(getruntime.o, genautomata.o): New entries.
- 	(genattrtab.o): Add new dependency file genattrtab.h.
- 	(genattrtab): Add new dependencies.  Link it with `libm.a'.
- 	(getruntime.o, hashtab.o): New entries for canadian cross.
- 
- 	* doc/md.texi: Description of automaton based model.
- 
- 	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
- 	Add comments.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
- 	hook descriptions.
- 	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
- 	MAX_DFA_ISSUE_RATE): New macro descriptions.
- 
- 	* doc/contrib.texi: Add dfa based scheduler contribution.
- 
- 	* doc/gcc.texi: Add more information about genattrtab.
- 
- 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* flow.c (flow_loop_dump): Do not display insn UIDs if this is not
- 	an RTL basic block.
- 
- 2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (expand_function_end): Don't init arg_pointer_save_area.
- 	(get_arg_pointer_save_area): New.  Create an init it here.
- 	(fix_lexical_addr): Use it.
- 	* function.h: Declare it.
- 	* builtins.c (expand_builtin_setjmp_receiver): Use it.
- 	* stmt.c (expand_nl_goto_receiver): Use it.
- 
- 2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* final.c (final_scan_insn): Don't enter APP_ON mode for
- 	empty asm strings.
- 
- 	* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
- 	alignment for assemble_integer for DW_EH_PE_aligned.
- 	* except.c (output_function_exception_table): Likewise.
- 
- 2001-08-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-tree.h: Add prototyp for c_sizeof_nowarn.
- 
- 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* ssa-ccp.c (ssa_const_prop): Free ssa_edges.
- 
- 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (mask_operand): Rewrite without
- 	bit-shifting loop.
- 	(mask64_operand): Likewise.
- 	(rldic_operand): Delete.
- 	(includes_lshift64_p): Delete.
- 	(includes_rldic_lshift_p): New function.
- 	(includes_rldicr_lshift_p): New function.
- 	(print_operand): Don't call rldic_operand in case 'W'.
- 	* config/rs6000/rs6000-protos.h (rldic_operand): Remove.
- 	(includes_lshift64_p): Remove.
- 	(includes_rldic_lshift_p): Declare.
- 	(includes_rldicr_lshift_p): Declare.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
- 	* config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
- 	Replace match_operand rldic_operand predicate with
- 	const_int_operand.  Replace includes_lshift64_p condition with
- 	includes_rldic_lshift_p.
- 	<ashldi3_internal 64 bit rldicr patterns>: New.
- 
- 2001-08-27  Andreas Jaeger  <aj@suse.de>
- 
- 	* emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
- 	* errors.c: Likewise.
- 	* final.c: Likewise.
- 	* dwarf2asm.c: Likewise.
- 	* doprint.c (checkit): Likewise.
- 	* diagnostic.c: Likewise.
- 	* collect2.c: Likewise.
- 	* calls.c: Likewise.
- 	* c-semantics.c (build_stmt): Likewise.
- 	* c-format.c (status_warning): Likewise.
- 	* c-errors.c (pedwarn_c99): Likewise.
- 	* builtins.c (validate_arglist): Likewise.
- 	* config/pj/pj.c (pj_printf): Likewise.
- 	* fix-header.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov.c (fnotice): Likewise.
- 	* gensupport.c (message_with_line): Likewise.
- 	* mips-tfile.c: Likewise.
- 	* protoize.c (notice): Likewise.
- 	* read-rtl.c (fatal_with_file_and_line): Likewise.
- 	* rtl-error.c: Likewise.
- 	* tradcpp.c: Likewise.
- 	* tree.c: Likewise.
- 	* cp/tree.c (build_min_nt): Likewise.
- 	(build_min): Likewise.
- 	* cp/lex.c: Likewise.
- 	* cp/errfn.c: Likewise.
- 	* cp/rtti.c (create_pseudo_type_info): Likewise.
- 
- Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* df.c (df_uses_record): Return after recording all uses
- 	in ASM_OPERANDS.
- 
- 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* df.c (df_insn_modify): Realloc the INSN table here, if
- 	necessary, here, too.
- 
- 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.c (mips_function_value): Handle complex return
- 	values.
- 
- 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* reload1.c (reload): Make all entries in reg_equiv_memory_loc
- 	unshared.
- 	* reload.c (make_memloc): Copy result if it is still
- 	reg_equiv_memory_loc[regno] on return.
- 	(subst_reloads) [ENABLE_CHECKING]: Check that none of
- 	reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
- 	reg_equiv_mem are modified by the substitutions.
- 
- Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (expensive_function_p): New.
- 	* rtl.h (expensive_function_p): Declare.
- 	* i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
- 	(use_fast_prologue_epilogue): New static variable.
- 	(expand_prologue): Set it; emit short prologues if unset.
- 	(expand_epilogue): Likewise.
- 
- 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config.gcc: Add stormy16-*-elf case.
- 	* config/stormy16/stormy-abi: New file.
- 	* config/stormy16/stormy16-lib2.c: New file.
- 	* config/stormy16/stormy16-protos.h: New file.
- 	* config/stormy16/stormy16.c: New file.
- 	* config/stormy16/stormy16.h: New file.
- 	* config/stormy16/stormy16.md: New file.
- 	* config/stormy16/t-stormy16: New file.
- 
- Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (no-accumulate-outgoing-args): Use proper mask.
- 
- 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
- 	descriptor members are pointer size, not constant 4.
- 	* config/rs6000/rs6000.md (define_splits): Remove more unused
- 	constraints.
- 
- 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
- 
- 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
- 
- 	* cp/rtti.c (VPARAMS): Fix parameter.
- 
- 2001-08-24  Zack Weinberg  <zackw@panix.com>
- 
- 	* expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
- 	to zero.
- 	(mode_for_extraction): No need for #ifdefs.  Add default-case abort
- 	to switch.
- 	(store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
- 	in if controlling use of insv.
- 	(extract_bit_field): Likewise, for extv and extzv.
- 
- Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movcc peep2): Fix load of 0.
- 
- 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
- 	*_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
- 
- 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* c-pragma.h: Move weak_syms and weak_decls...
- 	* varasm.c: ...here.  Now static.
- 	(declare_weak, weak_finish, remove_from_pending_weak_list): Don't
- 	depend on HANDLE_PRAGMA_WEAK.
- 
- 	* c-common.c (c_alignof, c_alignof_expr): Move here...
- 	* c-typeck.c: ...from here.
- 	* c-tree.h, c-common.h: Adjust.
- 
- 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/ia64/ia64.c (rws_update): If !pred, set write_count
- 	instead of incrementing it.
- 
- 	* config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
- 	asm ready, don't try to move them all into the same array element.
- 
- Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Avoid
- 	fallthru flag on edge to exit.
- 
- 	* i386.md (trunc?fsi splitter): Conditionionize for non-sse.
- 
- 	* flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
- 	dead edges.
- 
- 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
- 	* config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
- 	* config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
- 	Remove prototype.
- 
- 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
- 	replace "GNU CC" with "GCC".
- 
- 2001-08-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
- 	Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
- 	(ia64_secondary_reload_class): Need GR between AR/BR and anything.
- 	Need GR between FR and not GR_AND_FR.
- 	* config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
- 	* config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
- 	AR regs before GR regs.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
- 	(PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
- 	(REGISTER_MOVE_COST): Update.
- 	(MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
- 
- 2001-08-23  Richard Henderson  <rth@redhat.com>
- 
- 	* regclass.c (init_reg_sets_1): Don't assume cost 2 within
- 	a register class.
- 
- 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* reload1.c (emit_reload_insns): Don't look for notes
- 	on a NULL store_insn.
- 
- 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (uns_small_int): Don't reference a constant >32-bit.
- 	(addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
- 	(sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
- 	format specifier warnings.
- 	(sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* config/i386/i386-protos.h: Correct declaration of
- 	i386_pe_asm_named_section.
- 
- 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
- 	variable i.
- 	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
- 
- 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_location): Don't show _Pragma.
- 	* cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
- 	and file change callback generation here.
- 	(stack_include_file): Update use of cpp_push_buffer.
- 	* cpphash.h (_cpp_pop_file_buffer): Update prototype.
- 	(struct cpp_buffer): Remove type, pfile members.
- 	* cppinit.c (cpp_handle_option): Use free_chain.
- 	* cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
- 	(skip_escaped_newlines, get_effective_char, lex_percent): Take
- 	a cpp_reader rather than a cpp_buffer.
- 	(skip_escaped_newlines, get_effective_char, skip_block_comment,
- 	skip_line_comment, parse_string, lex_percent, lex_dot,
- 	_cpp_lex_token): Update accordingly.
- 	* cpplib.c (_cpp_pop_buffer): Don't do file change callback
- 	generation here.
- 	(cpp_push_buffer): Update prototype.
- 	(run_directive): Update use of cpp_push_buffer.
- 	(_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
- 	handle_assertion): Update use of run_directive.
- 	* cpplib.h (enum cpp_buffer_type): Remove.
- 	(cpp_push_buffer): Update prototype.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* gcc.c (struct prefix_list): Change prefix to const char *.
- 
- 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
- 
- 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* explow.c (set_mem_attributes): Avoid returning a bogus alias set
- 	from a new MEM.
- 
- 	* jump.c (squeeze_notes): Take parms by reference.  Handle END being
- 	a squeezable note.
- 	* rtl.h: Adjust.
- 	* ifcvt.c (dead_or_predicable): Adjust.
- 	* loop.c (find_and_verify_loops): Adjust.
- 	* stmt.c (expand_end_case): Adjust.
- 	* flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
- 	head and end insn pointers in the basic block, not just local copies.
- 	(merge_blocks_move_predecessor_nojumps): Likewise.
- 
- 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
- 	bitmap.h, builtin-types.def, builtins.c, builtins.def,
- 	c-aux-info.c, c-common.c, c-common.def, c-common.h,
- 	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
- 	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
- 	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
- 	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
- 	conditions.h, config.gcc, configure.frag, configure.in,
- 	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
- 	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
- 	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
- 	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
- 	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
- 	emit-rtl.c, errors.c, errors.h, except.c, except.h,
- 	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
- 	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
- 	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
- 	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
- 	gencheck.c, gencodes.c, genconfig.c, genemit.c,
- 	genextract.c, genflags.c, gengenrtl.c, genmultilib,
- 	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
- 	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
- 	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
- 	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
- 	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
- 	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
- 	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
- 	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
- 	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
- 	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
- 	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
- 	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
- 	params.h, predict.c, predict.def, predict.h, prefix.c,
- 	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
- 	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
- 	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
- 	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
- 	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
- 	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
- 	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
- 	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
- 	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
- 	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
- 	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
- 	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
- 	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
- 	xcoffout.h: replace "GNU CC" with "GCC".
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
- 	(final_scan_insn): Consider jump tables data even if we have no
- 	independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
- 	ADDR_VEC_ALIGN.
- 	* config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
- 	(ASM_OUTPUT_CASE_END): Remove.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
- 	* config/ia64/ia64.md (tablejump): Decode pc-relative references.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
- 	at barrier insns.  Emit stop bits before barriers.
- 
- 	* flow.c (flow_find_cross_jump): Don't consider unconditional
- 	return insns for commoning.
- 
- 	* final.c (compute_alignments): Fix typo.
- 
- 	* expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
- 	(CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
- 	(store_bit_field): Use mode_for_extraction more places.
- 	(extract_bit_field): Likewise.
- 
- 2001-08-21  Zack Weinberg  <zackw@panix.com>
- 
- 	* caller-save.c: Don't include insn-codes.h.
- 	(reg_save_code, reg_restore_code): Make arrays of int.
- 	All uses updated to match.
- 	(insert_save, insert_restore): No need to initialize "code"
- 	variable upon declaration.
- 	* Makefile.in: update dependencies; fix typo in clean rule.
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (find_if_block): Allow join_bb as EXIT.
- 	(merge_if_block): Handle fallout from same.
- 
- 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (type_to_class): Fix typo in last change.
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
- 	ia64_asm_output_label.
- 
- 	* config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
- 	copy of gp while the real gp register contains garbage.
- 
- 2001-08-21  Zack Weinberg  <zackw@panix.com>
- 
- 	* expmed.c (mode_for_extraction): New function.
- 	(store_bit_field, extract_bit_field): Use it.
- 	* expr.h: Prototype it and provide an enum for its first argument.
- 
- 	* combine.c, function.c, recog.c: Don't include insn-codes.h.
- 	Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
- 	and digging through the insn_data tables.
- 	* Makefile.in: Update dependencies.
- 
- 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): line-map.c now handles include
- 	depth.
- 	(handle_missing_handler): Similarly.
- 	(_cpp_execute_include): Similarly.
- 	(_cpp_pop_file_buffer): Similarly.
- 	* cpphash.h (struct cpp_reader): Remove system_include_depth,
- 	buffer_stack_depth and include_depth.
- 	* cpplib.c (do_include_common): line-map.c now handles include depth.
- 	(cpp_push_buffer): Similarly.
- 	(_cpp_pop_buffer): Similarly.
- 	* cppmacro.c (builtin_macro): Update.
- 	* line-map.c (init_line_maps): Set depth.
- 	(add_line_map): Increment "used" earlier.  Update and use the
- 	include depth.
- 	(trace_include): Use the include depth.
- 	* line-map.h (struct line_maps): New member depth.
- 
- 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Don't handle -H here.
- 	* cppinit.c (cpp_start_read): Set include tracing after
- 	cpp_post_options and after stacking the main file.
- 	* line-map.c (trace_include): New.
- 	(init_line_maps, add_line_map): Update.
- 	* line-map.h (struct line_maps): New member trace_includes.
- 
- 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Harmonize system headerness tests.
- 	* cppfiles.c (stack_include_file): Only stack a file if there
- 	is something to do.  Return a boolean indicating whether a
- 	buffer was stacked or not.
- 	(_cpp_execute_include): Similarly.
- 	(_cpp_read_file): Similarly.
- 	* cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
- 
- 2001-08-21  Sam Steingold  <sds@gnu.org>
- 
- 	* tradcpp.c (rescan): define obufp_before_macroname before RECACHE
- 	(RECACHE): keep obufp_before_macroname up to date
- 
- 2001-08-21  Zack Weinberg  <zackw@panix.com>
- 
- 	* stmt.c: Don't include insn-codes.h.
- 	(expand_end_case): Machine specific logic moved to expr.c.
- 	No need to worry about __builtin_classify_type.
- 	(check_for_full_enumeration_handling, emit_case_nodes):
- 	Kill #if 0 blocks.
- 
- 	* builtins.o (expand_builtin_classify_type): Split up so code
- 	can be shared with fold_builtin_classify_type.
- 	(type_to_class, fold_builtin_classify_type): New functions.
- 	(fold_builtins): Handle __builtin_classify_type.
- 
- 	* expr.c (do_tablejump): Now static.
- 	(case_values_threshold, try_casesi, try_tablejump): New;
- 	code mostly from stmt.c (expand_end_case).
- 	(expr.h): Update prototypes.
- 
- 	* Makefile.in (stmt.o): Update dependencies.
- 
- 2001-08-21  Will Cohen  <wcohen@redhat.com>
- 
- 	* configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
- 	declaration of variable i.
- 	* configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
- 	declaration of variable i.
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* crtstuff.c: Fix thinko last change.  Move list tails to start
- 	of CRT_END section.  Tidy ifdefs.
- 	(__EH_FRAME_BEGIN__): Always static for ELF.
- 	(__do_global_ctors_1): Rename from __frame_dummy.
- 	* config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
- 	name change; don't hide __EH_FRAME_BEGIN__.
- 
- 2001-08-21  Richard Henderson  <rth@redhat.com>
- 
- 	* gdbinit.in: Move break on exit after break on fancy_abort.
- 
- 	* config/ia64/ia64.c (ia64_return_in_memory): True for variable
- 	sized types.
- 
- 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_push_next_buffer): New.
- 	* cppinit.c (do_includes): Remove.
- 	(push_include, free_chain, _cpp_push_next_buffer): New.
- 	(cpp_start_read): Use them to rework command line option handling.
- 	(cpp_handle_option): Combine handling of -include and -imacros.
- 	* cpplex.c (_cpp_lex_token): Push a new -include buffer if
- 	appropriate.  Always insert missing \n at EOF.
- 	* cpplib.c (start_directive): Get the directive position right.
- 	* cppmain.c (cb_file_change): Always print the first line, unless
- 	preprocessed.
- 
- 2001-08-20  Andreas Jaeger  <aj@suse.de>
- 
- 	* profile.c (compute_branch_probabilities): Remove extra new-line
- 	in error message.
- 	* flow.c (verify_flow_info): Likewise.
- 
- 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* basic-block.h (basic_block): Add new field 'flags'.
- 	(BB_REACHABLE): Define.
- 	(expunge_block): Declare.
- 	* flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
- 	(EXIT_BLOCK_PTR): Ditto.
- 	(expunge_block): Remove static declaration.
- 	(cleanup_cfg): Clear bb->aux on every basic block.
- 	(find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
- 	computing reachability.
- 	(delete_unreachable_blocks): Delete block b if b->flags has
- 	BB_REACHABLE unset.
- 
- 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
- 
- 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (sparc_variable_issue): Fix typo in last change.
- 
- 2001-08-20  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
- 
- 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (RETURN_IN_MEMORY): Improve comment.
- 
- 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/invoke.texi (Profiling options): Clarify the interactions
- 	between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
- 
- 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* crtstuff.c (__do_global_ctors): Fix typo in preprocessing
- 	command.
- 
- 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* gcc.c (make_relative_prefix): Allocate a sufficiently large
- 	buffer.
- 
- 2001-08-20  Richard Henderson  <rth@redhat.com>
- 
- 	* final.c (end_final): Fix typo last change.
- 
- 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (init_standard_includes): The returned buffer
- 	is already malloc-ed.
- 	* gcc.c (add_prefix): Similarly.
- 	* prefix.c (translate_name): Update to support clear buffer
- 	ownership rules.
- 	(update_path): Similarly.  Be sure to free any newly allocated
- 	key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
- 	(tr): New function.
- 	* prefix.h (update_path): Update prototype and document.
- 	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
- 	up and update to new buffer ownership rules.
- 	* doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
- 
- Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (compute_alignments): New function.
- 	(init_insn_lengths): Do not care label_align.
- 	(LABEL_ALIGN_AFTER_BARRIER): Default to 1.
- 	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
- 	(JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
- 	(shorted_branches): Realloc label_align array; do
- 	not call init_insn_lengths; Do not care about loop alignments.
- 	* output.h (compute_alignments): Declare.
- 	* toplev.c (rest_of_compilation): Call compute_alignments.
- 	* tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
- 
- 	* predict.c (block_info_def): Add npredecesors, remove nvisited;
- 	change visited to tovisit.
- 	(propagate_freq): Use faster traversing algorithm.
- 	(estimate_loops_at_level, estimate_bb_frequencies): Change visited
- 	to tovisit; reverse meaning.
- 
- 	* predict.c (struct block_info_def): Remove nvisited.
- 	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
- 	(estimate_bb_frequencies): Call mark_dfs_back_edges.
- 
- 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/invoke.texi (MIPS Options): Document -mfused-madd.
- 	* config/mips/mips.h (MASK_NO_FUSED_MADD): New.
- 	(TARGET_FUSED_MADD): New.
- 	(TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
- 	* config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
- 	the multiply-add instructions.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
- 	is aligned to pointer size.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
- 	display markers during final schedule.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
- 	in the same string.
- 	(ASM_NAME_TO_STRING): Remove.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
- 	in the same string.  Remove support for expressions.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (tablejump): Make an expander; handle
- 	pic relative addressing here.
- 	(tablejump_1): Rename from tablejump_pic.
- 	(casesi): Remove.
- 
- 2001-08-19  Richard Henderson  <rth@redhat.com>
- 
- 	* regclass.c (fix_register): Fix typo.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (UNW_REG_B0): New.
- 	(struct _Unwind_Context): Expand br_loc to hold it.
- 	(uw_frame_state_for): Handle leaf functions better.
- 	(uw_update_reg_address): Update for br_loc change.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* crtstuff.c: Move list heads before code that uses them.
- 	(__JCR_LIST__): Remove initial null.
- 	(frame_dummy, __frame_dummy): Do java registration here ...
- 	(__do_global_ctors_aux): ... not here.
- 
- 	* config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
- 	(__do_global_dtors_aux): Update to match.
- 	(__JCR_LIST__, __do_jv_register_classes): New.
- 	(.init): Call it.
- 	* config/ia64/crtend.asm (__JCR_END__): New.
- 	(__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
- 	instead of an indirect LTOFF22 reloc.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
- 	* regclass.c (init_reg_sets_1): Fix typo.
- 	* config/ia64/ia64.c (ar_pfs_reg_operand): New.
- 	(ia64_expand_call): Pass ar.pfs to sibcall expanders.
- 	(ia64_compute_frame_size): Make ar.unat live when in use.
- 	(ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
- 	for ar.pfs; remove ar.unat handling.
- 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
- 	call-saved.
- 	(PREDICATE_CODES): Add ar_pfs_reg_operand.
- 	* config/ia64/ia64-protos.h: Update decls.
- 	* config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
- 	(sibcall_pic): Likewise.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
- 	pred_rel_mutex when searching for insn_group_barrier.
- 	* config/ia64/ia64.md (cycle_display): Combine the expander
- 	and insn patterns.
- 
- 	* config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
- 	bit before asm as needed.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* timevar.def (TV_MACH_DEP): New.
- 	* toplev.c (rest_of_compilation): Use it.
- 	* config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
- 
- 2001-08-18  Zack Weinberg  <zackw@panix.com>
- 
- 	* unwind-dw2.c (execute_stack_op): Add default aborts to
- 	the inner switches to prevent warnings.
- 
- 2001-08-18  Richard Henderson  <rth@redhat.com>
- 
- 	* timevar.h (struct timevar_time_def): Change element type to float.
- 	(ticks_to_msec, clocks_to_msec): Likewise.
- 	(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
- 	(get_time): Likewise.
- 	(timevar_print): Adjust zero check and printing to match.
- 
- 2001-08-18  Zack Weinberg  <zackw@panix.com>
- 
- 	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
- 	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
- 	Eliminate overfull or underfull hboxes.
- 
- 2001-08-18  Zack Weinberg  <zackw@panix.com>
- 
- 	* cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
- 
- 2001-08-18  Zack Weinberg  <zackw@panix.com>
- 
- 	* haifa-sched.c: Convert to target hooks.  Macros replaced
- 	are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
- 	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
- 	MD_SCHED_FINISH, and HAVE_cycle_display.
- 	* target-def.h (TARGET_SCHED_ADJUST_COST,
- 	TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
- 	TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
- 	TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
- 	TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
- 	New hook #defines to be overridden.
- 	(TARGET_SCHED): Bring them all together.
- 	(TARGET_INITIALIZER): Update.
- 	* target.h: Don't forward declare struct rtx_def.  Use 'rtx'
- 	instead of 'struct rtx_def *' throughout.
- 	(struct sched): New set of hooks for the scheduler.
- 	* Makefile.in (haifa-sched.o): Depend on target.h.
- 	* doc/tm.texi: Document the new scheduler hooks, together in
- 	their own section, instead of scattered around.
- 	Fix a bunch of underfull/overfull hboxes.
- 
- 	* a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
- 	ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
- 	sparc.h: Don't define any of the old scheduler macros.
- 
- 	* a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
- 	ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
- 	sparc.c: Create hook functions from code extracted from
- 	corresponding target header, or make existing hooks static, as
- 	appropriate.  Set the appropriate entries in targetm.
- 
- 	* alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
- 	i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
- 	rs6000-protos.h, s390-protos.h, sparc-protos.h:
- 	Remove prototypes for functions which are now static.
- 
- 	* d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
- 	related gunk; the Haifa scheduler is now the only choice.
- 
- 2001-08-18  Zack Weinberg  <zackw@panix.com>
- 
- 	* optabs.h (OTI_flodiv, flodiv_optab): Kill.
- 	* genopinit.c: Put floating point divide insns in sdiv_optab.
- 	* expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
- 	* config/gofast.h, config/c4x/c4x.h,
- 	config/ia64/hpux_longdouble.h, config/mips/mips.h,
- 	config/pa/long_double.h, config/rs6000/sysv4.h,
- 	config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
- 	* optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
- 	(init_optabs): Use init_optabv for overflow-trapping optabs.
- 	Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
- 	cmp_optab RTX codes so have_insn_for can find them.
- 
- 	* optabs.c (expand_simple_binop, expand_simple_unop,
- 	have_insn_for, gen_sub3_insn): New interfaces.
- 	* expr.h: Prototype new functions.
- 	(enum optab_methods): Move here from optabs.h.
- 
- 	* builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
- 	loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
- 	Use new	functions instead of working directly with optabs.
- 	* doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
- 	unroll.c: Don't include optabs.h.
- 	* caller-save.c, combine.c, function.c, stmt.c: Just include
- 	insn-codes.h, not optabs.h.
- 	* Makefile.in: Update dependencies.
- 
- 	* combine.c (make_compound_operation, simplify_comparison):
- 	Fix typos testing for this or that instruction.
- 
- 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
- 	generating libgcc.a.
- 
- 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* except.c (TYPE_HASH): Delete.
- 
- 	* objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
- 	HOST_WIDE_INT.
- 
- 	* tree.c (TYPE_HASH): Delete.
- 
- 	* tree.h (TYPE_HASH): Define.
- 
- 2001-08-18  Graham Stott  <grahams@redhat.com>
- 
- 	* config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
- 	define_split.
- 	(adddi3_internal_2+2): Likewise.
- 	(eh_set_lr_di+1): Likewise.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
- 	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
- 	* dwarf2asm.c: ... here.
- 	* dwarfout.c: Remove them.
- 
- 	* varasm.c (assemble_integer): Add align parameter.
- 	(assemble_real, output_constant, output_constructor): Likewise.
- 	* output.h: Update decls.
- 	* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
- 	config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
- 	config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
- 	config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
- 	Update all callers.
- 
- 	* final.c (end_final): Abort profile block generation if we
- 	haven't layed it out properly.
- 	* output.h (assemble_eh_integer): Remove stale decl.
- 	* varasm.c (assemble_zeros): Tidy; use assemble_integer.
- 	(min_align): New.
- 	(assemble_integer): Handle unaligned data.
- 	(assemble_real): Abort on unaligned data.
- 	(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
- 	anything useful.
- 	(default_dtor_section_asm_out_destructor): Use assemble_align.
- 	(default_named_section_asm_out_constructor): Likewise.
- 	(default_ctor_section_asm_out_constructor): Likewise.
- 	* config/darwin.c (machopic_asm_out_constructor): Likewise.
- 	(machopic_asm_out_destructor): Likewise.
- 	* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
- 	(nextstep_asm_out_destructor): Likewise.
- 	* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
- 	(vms_asm_out_destructor): Likewise.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/iris6.h (TARGET_IRIX6): New.
- 	(current_section_name, current_section_flags): New.
- 	(ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
- 	(MAX_OFILE_ALIGNMENT): New.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
- 	* config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
- 	(copy_file_data): Split out from
- 	(mips_asm_file_end): ... here.
- 	(mips_asm_file_start): Remove extra .section directive.  Use
- 	tmpfile instead of mips_make_temp_file.
- 	(mips_unique_section): Use const char * as needed for warnings.
- 	(iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
- 	re-add align parameter.
- 	(iris6_asm_named_section): New.
- 	(iris_section_align_entry_eq, iris_section_align_entry_hash): New.
- 	(iris6_asm_output_align, iris6_section_align_1): New.
- 	(iris6_asm_file_start, iris6_asm_file_end): New.
- 	* config/mips/mips-protos.h: Update decls.
- 
- 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Install GCC): Add links to build status pages.
- 	(Specific): Ditto.
- 	(Final install): Ditto; request updates for specific info
- 
- 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_location):  Don't take a file name; use the
- 	line map instead.
- 	(_cpp_begin_message): Similarly.
- 	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
- 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
- 	(cpp_pedwarn_with_file_and_line): Remove.
- 	* cppfiles.c (stack_include_file): Update; set filename to stdin
- 	here when appropriate.
- 	* cpphash.h (struct cpp_buffer): Remove nominal_fname.
- 	(_cpp_begin_message): Don't take a file name.
- 	* cppinit.c: Add comment.
- 	* cpplex.c: Fix end-of-directive indicator.
- 	* cpplib.c: Don't include intl.h.
- 	(run_directive, do_diagnostic): Update.
- 	(do_line): Update to not use nominal_fname.
- 	(cpp_push_buffer): Don't take a filename.
- 	* cpplib.h (struct ht): Remove.
- 	(cpp_push_buffer): Don't take a filename.
- 	(cpp_pedwarn_with_file_and_line): Remove.
- 	* cppmacro.c (struct cpp_macro): Remove file.
- 	(builtin_macro): Update.
- 	(_cpp_create_definition): Update.
- 	* cppmain.c: Correct comment.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2001-08-17  Kazu Hirata  <kazu@hxi.com>
- 
- 	* sbitmap.c: Fix comment formatting.
- 	* sched-deps.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* ssa.c: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* timevar.c: Likewise.
- 	* toplev.c: Likewise.
- 	* unwind-dw2.c: Likewise.
- 	* unwind-dw2-fde.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
- 	or larger than an integer in memory.
- 
- 2001-08-17  Zack Weinberg  <zackw@panix.com>
- 
- 	* system.h: Forward-declare struct rtx_def, struct rtvec_def,
- 	and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
- 	* rtl.h: Don't forward-declare union tree_node here.  Don't
- 	typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
- 	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
- 	and tree respectively.
- 	* tree.h: Don't forward-declare struct rtx_def here.  Don't
- 	typedef tree here.  Change all uses of struct rtx_def *,
- 	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
- 	and tree respectively.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
- 	config/mips/openbsd.h: Fix typos last change.
- 
- 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/invoke.texi (Optimize Options): The default for
- 	-finline-limit is 600.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (text_section): Allow TEXT_SECTION to override the
- 	printing of TEXT_SECTION_ASM_OP.
- 	* dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
- 	(DATA_SECTION, BSS_SECTION): Remove.
- 	* dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
- 	RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
- 	Rename from s/_NAME//.
- 	* config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
- 	(ASM_DECLARE_FUNCTION_NAME): Move file switching ...
- 	(TEXT_SECTION): ... here.  New.
- 	* config/mips/elf.h (TEXT_SECTION): New; no file switching.
- 	* config/mips/elf64.h, config/mips/netbsd.h: Likewise.
- 	* config/mips/openbsd.h: Likewise.
- 	* config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
- 	(mips_asm_file_end): Likewise test.
- 	(mips_output_function_epilogue): Likewise.  Switch back to data
- 	section after emitting the function.
- 
- 	* doc/tm.texi (Sections): Document TEXT_SECTION.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
- 	(dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
- 
- 2001-08-17  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
- 	* crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
- 	__JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
- 	Add aligned attribute.
- 
- 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/sh/sh.md: Add modes to unspecs in first insn to match
- 	those in the second.
- 
- 	* Makefile.in: Fix collect2 copy for Cygwin.
- 
- Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	Install the proper patch.
- 	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
- 	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
- 	(expand_function_start): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* varasm.c (make_decl_rtx): Likewise.
- 
- Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c: Undo my previous accidental checkin.
- 	* output.h: Likewise.
- 	* tm.texi: Likewise.
- 
- 2001-08-16  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (named_section_flags): Remove align parameter.
- 	* varasm.c, dwarf2out.c: Update all callers.
- 	* output.h: Update prototypes.
- 
- 	* target.h (target.asm_out.named_section): Remove align parameter.
- 	* varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
- 	config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
- 	config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
- 	config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
- 	config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
- 
- 	* varasm.c (in_named_entry_eq, in_named_entry_hash): New.
- 	(get_named_section_flags, set_named_section_flags): New.
- 	(named_section_flags): Use them.
- 	(named_section): Do decl vs section flags check here...
- 	(default_section_type_flags): ... not here.
- 	(init_varasm_once): Create in_named_htab.
- 	(resolve_unique_section): Mark reloc unused.
- 
- 2001-08-16  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (force_const_mem): Keep pool alignment in bits.
- 	(output_constant_pool): Use assemble_align.
- 
- 2001-08-16  Zack Weinberg  <zackw@panix.com>
- 
- 	* doc/tm.texi: Remove extra @table command.
- 
- 2001-08-16  Zack Weinberg  <zackw@panix.com>
- 
- 	* final.c (shorten_branches): Clear the end of the label_align
- 	array only if we made it larger.  Break up messy expressions
- 	for clarity.
- 
- 	* diagnostic.c (internal_error): Check for error recursion
- 	before doing ICE suppression.
- 
- 	* timevar.c: Timing variables now count in milliseconds.
- 	(init_timevar): Set up ticks_to_msec and clocks_to_msec here.
- 	(get_time): Not here.
- 	(timevar_print): Don't print any timer whose user, cpu, and
- 	wall times are all zero as displayed.
- 	* timevar.h: Update comment aboout units.  Make timevar
- 	counters unsigned.
- 
- Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
- 	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
- 	(expand_function_start): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* varasm.c (make_decl_rtx): Likewise.
- 
- 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
- 	(finalize_record_size): Don't set TYPE_USER_ALIGN.
- 
- 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
- 	variables.
- 
- 2001-08-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
- 	prototype.
- 
- Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* rtl.h (only_sets_cc0_p): New prototype.
- 	* jump.c (sets_cc0_p): Handle INSN.
- 	(only_sets_cc0_p): New function.
- 	* flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
- 	(tidy_fallthru_edge): Likewise.
- 	* integrate.c (copy_insn_list): Likewise.
- 	* unroll.c (unroll_loop): Likewise.
- 	(copy_loop_body): Likewise.
- 
- 2001-08-15  Jason Eckhardt  <jle@redhat.com>
- 
- 	* config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
- 
- Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (struct block_info_def): Remove nvisited.
- 	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
- 	(estimate_bb_frequencies): Call mark_dfs_back_edges.
- 
- 	* i386.c (ix86_agi_dependant): Lea causes AGI only on the Pentium
- 	(ix86_adjust_cost): Teach scheduler that latency to load operand can
- 	be masked.
- 
- Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def: Update hitrates.
- 
- 2001-08-15  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
- 
- Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
- 	note from its associated jump.
- 
- 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
- 	also on 64-bit s390x targets.
- 
- 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_compute_initial_elimination_offset): New
- 	function.
- 	(arm_expand_prologue): Handled nested functions which take a
- 	variable argument list.
- 	* config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
- 	macro with an invocation of
- 	arm_compute_initial_elimination_offset.
- 	* config/arm/arm-protos.h: Prototype
- 	arm_compute_initial_elimination_offset.
- 
- 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific, avr): Fix markup.
- 	(Specific, c4x): Ditto.
- 
- 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
- 
- 	* predict.c (dump_prediction): Change `bool' parameter to `int'.
- 
- 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* Makefile.in (OBJS): Add rtl-error.o
- 	(rtl-error.o): New rule.
- 	(diagnostic.o): Adjust dependency.
- 	diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
- 	error_for_asm, _fatal_insn, _fatal_insn_not_found,
- 	warning_for_asm): Move to...
- 	rtl-error.c: ...here.  New file.
- 
- 2001-08-14  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
- 	if USING_SJLJ_EXCEPTIONS.
- 
- 2001-08-14  Steve Ellcey <sje@cup.hp.com>
- 
- 	* tlink.c (scan_linker_output): Check string for unsatisfied in
- 	addition to undefined and unresolved.
- 
- 2001-08-14  Graham Stott  <grahams@redhat.com>
- 
- 	* libgcc2.c (*): Replace EH_FRAME_SECTION with
- 	EH_FRAME_SECTION_NAME.
- 
- Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* genattrtab.c (simplify_test_exp_in_temp): New function.
- 	(simplify_test_exp): Avoid explicit use of temporary obstack.
- 	(simplify_cond, insert_right_side, evaluate_eq_attr,
- 	simplify_and_tree, simplify_or_tree, eliminate_known_true):
- 	Use simplify_test_exp_in_temp.
- 	(optimize_attrs): Iterate until expression stabilizes.
- 
- 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
- 
- 	* glimits.h: Remove the __LONG_MAX__ special case for s390x.
- 	* config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
- 
- 2001-08-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
- 	(DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
- 	* config/arm/conix-elf.h: Likewise.
- 
- 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
- 	in gcc.c.
- 	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.
- 
- 	* gcse.c (hash_scan_set): Expressions that are set as part of
- 	jump instructions are not available.
- 
- 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (print_operand, s390_function_prologue,
- 	s390_va_start): Fixed HOST_WIDE_INT type mismatch.
- 
- 2001-08-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
- 	* defaults.h (EH_FRAME_SECTION_NAME): Respect it.
- 	* doc/tm.texi (Exception Region Output): Document it.
- 
- 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
- 	DWARF2 instead of stabs by default.
- 
- 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c: Include optabs.h.
- 
- 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/eabi.asm: Define 64-bit versions of FPR
- 	save/restore routines.
- 	* ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
- 
- 2001-08-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
- 	the english is correct.
- 
- 2001-08-13  Zack Weinberg  <zackw@panix.com>
- 
- 	* expr.h: Split out optab- and libfunc-related code to...
- 	* optabs.h, libfuncs.h: ... these new headers.
- 
- 	* Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
- 	(OPTABS_H): New.
- 	(various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
- 	dependencies.
- 	* mkconfig.sh: Don't include insn-codes.h from config.h.
- 
- 	* reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
- 	enum insn_code is available.  Move reload_in_optab and
- 	reload_out_optab array declarations to optabs.h.
- 	* regmove.c (gen_add3_insn): Move to optabs.c, export from
- 	there, prototype in expr.h.
- 	* gencodes.c: Cleanup: zap global variables, don't use
- 	printf where puts will do, don't bother defining MAX_INSN_CODE
- 	which nothing uses, let CODE_FOR_nothing get its value implicitly.
- 
- 	* genemit.c, genopinit.c: Include optabs.h in generated file.
- 	* genoutput.c: Include insn-codes.h in generated file.
- 	* builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
- 	expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
- 	reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
- 	config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
- 	config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
- 	config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
- 	Include optabs.h.
- 	* builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
- 	optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
- 	config/m88k/m88k.c, config/sparc/sparc.c:
- 	Include libfuncs.h.
- 	* reload.c: Include expr.h and optabs.h before reload.h.
- 	* config/alpha/alpha.c: Include tree.h before reload.h.
- 	* config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
- 	and reload.h in that order.
- 	* config/sparc/sparc.c: Include debug.h.
- 	* recog.c: Include insn-codes.h.
- 
- 2001-08-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
- 	s390*linux.
- 
- 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
- 
- 	* dwarf2out.c (output_cfa_loc): Fix typo in comment.
- 	* gcc.c (init_spec): Fix typo in comment.
- 	* varasm.c (data_section): Fix typo in comment.
- 
- Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (dump_prediction): New argument "USED".
- 	(combine_predictions_for_insn): Determine the used heuristics,
- 	output the case no heuristic applied.
- 	* predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
- 
- 2001-08-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
- 	register %rip.
- 
- 2001-08-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* jump.c: Fix formatting.
- 
- 2001-08-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (zero_extendqihi2): Correct the insn
- 	length.
- 
- 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* loop.c (check_dbra_loop): Use condjump_label to compute
- 	jump_label.
- 
- 	* rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
- 	to better document the files they're in.
- 
- 2001-08-12  Zack Weinberg  <zackw@panix.com>
- 
- 	* recog.h (struct insn_operand_data): Shrink 'mode' field
- 	to 16 bits.
- 
- 2001-08-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* gcc.c: Fix comment formatting.
- 	* gccspec.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genemit.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* global.c: Likewise.
- 	* graph.c: Likewise.
- 	* ifcvt.c: Likewise.
- 	* integrate.c: Likewise.
- 	* lcm.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* loop.c: Likewise.
- 	* mbchar.c: Likewise.
- 	* optabs.c: Likewise.
- 	* predict.c: Likewise.
- 	* prefix.c: Likewise.
- 	* profile.c: Likewise.
- 	* protoize.c: Likewise.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* resource.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* rtl.c: Likewise.
- 
- 2001-08-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
- 	a tree representing a constant is passed to the macro.
- 
- 2001-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
- 	(rs6000_elf_asm_out_destructor): New.
- 	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
- 	(DTORS_SECTION_ASM_OP): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	(ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
- 
- 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	Revert:
- 	2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 	* gcc.c (set_collect_gcc_options): New function, split out from
- 	main.
- 	Ignore elided switches.
- 	(do_spec_1): Invoke before executing command.
- 	(set_input): Export.
- 	Move declaration ...
- 	* gcc.h (set_input): ... here.
- 	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
- 	file.
- 
- 2001-08-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
- 	thinko wrt TARGET_RELOCATABLE.
- 
- 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* fix-header.c (cb_file_change): Update prototype.
- 
- 2001-08-11  Zack Weinberg  <zackw@panix.com>
- 
- 	* toplev.c (set_float_handler): Make static.
- 	* toplev.h: Don't prototype set_float_handler.
- 
- 	* simplify-rtx.c: Don't include setjmp.h.
- 	(simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
- 	New functions.
- 	(simplify_unary_operation, simplify_binary_operation): Use them,
- 	via do_float_handler.
- 
- 	* fold-const.c: Don't include setjmp.h.
- 	(exact_real_inverse_1): New function.
- 	(exact_real_inverse): Use it, via do_float_handler.
- 
- 	* varasm.c: Don't include setjmp.h.
- 	(assemble_real_1): New function.
- 	(assemble_real): Use it, via do_float_handler.
- 	Call internal_error if we get a trap here.
- 
- 	* c-parse.in, cse.c, cselib.c, config/i386/i386.c,
- 	config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
- 
- 2001-08-11  Zack Weinberg  <zackw@panix.com>
- 
- 	* defaults.h: Define PREFERRED_STACK_BOUNDARY to
- 	STACK_BOUNDARY if not already defined.
- 
- 	* calls.c, function.c, reload1.c, explow.c: Don't default
- 	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
- 	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
- 
- 	* explow.c (allocate_dynamic_stack_space): Change unsafe #if
- 	to run-time test.
- 
- 	* doc/tm.texi: Document that STACK_BOUNDARY is required;
- 	clarify difference between it and PREFERRED_STACK_BOUNDARY.
- 
- 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (enter_macro_context): Push macro expansions even
- 	if empty.
- 
- 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.c: Include integrate.h to silence warning.
- 	(rs6000_elf_section_type_flags): Actually return a value.
- 
- 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
- 	Clean up code: add missing comments and prototypes, fix warnings,
- 	remove obsolete code, fix spacing to conform to coding style.
- 
- 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
- 	and TARGET_ASM_CLOSE_PAREN.
- 	(regclass_map): CC register belongs to class NO_REGS.
- 	(legitimize_pic_address): Don't generate unnecessary moves
- 	(to avoid confusing loop optimization).
- 	(check_and_change_labels): Replace jump_long by indirect_jump.
- 	(s390_final_chunkify): Don't start a new literal pool on section
- 	switch in 64-bit code.
- 	(s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
- 
- 	* config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
- 	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
- 	(HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
- 	modes correctly.
- 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
- 	(EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
- 	(CONST_COSTS): Fixed incorrect costs.
- 
- 	* config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
- 	Use emit_jump instead of emit_jump_insn (gen_jump).
- 	(divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
- 	(to avoid confusing flow analysis).
- 	(tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
- 	(casesi, casesi_jump): New.
- 	(jump_long): Removed.  Functionality merged into indirect_jump.
- 	(indirect_jump): Accept address_operand, not just register_operand.
- 	(cjump_long, icjump_long): Use same logic as indirect_jump.
- 	(builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
- 	Fixed broken setjmp/longjmp handling.
- 	(do_builtin_setjmp_setup): Removed.
- 
- 	* config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
- 	broken GNU as versions that don't accept .quad with large
- 	negative values.  Use hexadecimal output instead.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
- 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
- 	FUNCTION_EPILOGUE): Removed.  Now in targetm.
- 
- 	* config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
- 
- 	* config/s390/fixdfdi.h: Add missing copyright statement.
- 	Fix type conflicts on 64-bit.  Add missing SFmode routines.
- 
- 	* s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
- 	email address.
- 
- 2001-08-11  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (REG_EH_RETHROW): Remove.
- 	* rtl.c (reg_note_name): Update.
- 	* combine.c (distribute_notes): Don't check for it.
- 
- 2001-08-11  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (distribute_notes): Place REG_SETJMP.
- 
- 2001-08-11  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (Arrays and pointers implementation): Discourage
- 	relying on sign-extension of pointers.
- 
- 2001-08-11  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
- 	in_dtors.
- 	(EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
- 	RDATA_SECTION_ASM_OP.
- 
- 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific, c4x): Fix cross-reference to the
- 	main manual to work both for info and HTML versions.
- 
- 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Matt Kraai <kraai@alumni.carnegiemellon.edu>
- 
- 	* cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
- 	* cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
- 	(struct cpp_pool): New member first.
- 	* cppinit.c (append_include_chain): Plug memory leaks.
- 	* cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
- 	Allocate pragma structures from the (aligned) macro pool to
- 	avoid leaking memory.
- 	* cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
- 	so we don't leak memory.
- 	* hashtable.c (ht_destroy): New.
- 	* hashtable.h (ht_destroy): New.
- 
- 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* c-lex.c (map): Make const.
- 	(cb_file_change): Update for callback passing a line map.
- 	Don't assume we have a previous map.  Remove sanity check
- 	about popping too many files.
- 	* cpperror.c (print_location): Make map const.
- 	* cppfiles.c (stack_include_file): Update; line maps now hold sysp.
- 	(cpp_make_system_header): Similarly.
- 	(search_from): Similarly.
- 	(_cpp_execute_include): Don't remember where we came from.
- 	* cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
- 	(struct cpp_reader): Make map const.
- 	(CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
- 	* cpplib.c (do_line): Update; line maps now hold sysp.
- 	(cpp_push_buffer): Similarly.
- 	(_cpp_do_file_change): Similarly; callback with map instead.
- 	(cpp_get_line_maps): Constify return value.
- 	(_cpp_pop_buffer): Update.
- 	* cpplib.h (struct cpp_file_change): Remove.
- 	(struct cpp_callbacks): Update.
- 	(cpp_get_line_maps): Constify return value.
- 	* cppmacro.c (_cpp_create_definition): Update.
- 	* cppmain.c (struct printer): Constify map.
- 	(maybe_print_line): Similarly.
- 	(print_line): Similarly.  Deduce flags 1 and 2 here.
- 	(cb_file_change): Update.
- 	* line-map.c (free_line_maps): Warn regardless.
- 	(add_line_map): Return pointer to const.  When passed NULL to_file
- 	with LC_LEAVE, use the obvious values for the return point so the
- 	caller doesn't have to figure them out.
- 	(lookup_line): Return pointer to const.
- 	(print_containing_files): Take pointer to const.
- 	* line-map.h (struct line_map): New members reason, sysp.
- 	(add_line_map): Return pointer to const.
- 	(lookup_line): Similarly.
- 	(print_containing_files): Take pointer to const.
- 
- 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* regmove.c (regmove_optimize): Avoid setting a register twice in
- 	a parallel set.
- 
- 2001-08-10  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (Arrays and pointers implementation): Document
- 	behavior of pointer/integer conversion.
- 
- 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
- 
- 2001-08-10  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (C Implementation): New chapter.
- 	* doc/gcc.texi (Top): Link it in.
- 
- 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* doc/install.texi (Specific): Fix CVS merge botch.
- 
- 2001-08-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
- 	ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
- 
- 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
- 	if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
- 	this macro is now required.
- 
- 	* cselib.c (cselib_process_insn), flow.c (propagate_block),
- 	loop.c (find_and_verify_loops), reload.c (reload): Check
- 	for rtx code of CALL_INSN, not CALL, when deciding if we
- 	need to check for REG_SETJMP note.
- 
- 	* gcse.c (compute_hash_table, compute_store_table): Update
- 	the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
- 	logic.
- 
- 	* config/avr/avr.c: Fix typo.
- 	* config/convex/convex.c (expand_movstr): Use adjust_address.
- 	* config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
- 	variable.
- 	* config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
- 	* config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
- 	Fix typo.
- 	* config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
- 	Do define STACK_BOUNDARY.
- 	* config/i370/i370.c: Include expr.h.
- 	* config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
- 	config/pa/som.h, config/v850/v850.h: Take in_ctors and
- 	in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
- 	and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
- 	* config/m88k/m88k.c: Include c-tree.h after expr.h.
- 	* config/pdp11/pdp11.c: Include expr.h and toplev.h.
- 	* config/romp/romp.c: Include expr.h after tree.h.
- 	Include toplev.h.
- 	(output_fpop): Use xmalloc, not oballoc.
- 	* config/we32k/we32k.c: Include expr.h.
- 
- 2001-08-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.
- 
- 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* c-common.h (RETURN_NULLIFIED_P): Lose.
- 	* c-semantics.c (genrtl_return_stmt): Don't check it.
- 
- 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_add_large_offset_to_sp): New function.
- 	(mips_annotate_frame_insn): New function.
- 	(mips_emit_frame_related_store): New function.
- 	(save_restore_insns): Don't mark instructions that set up the base
- 	registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
- 	the store instructions instead.
- 	(mips_expand_prologue): If the stack size is moved into a temporary
- 	register, do not mark that move as frame-related.  Add a
- 	REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
- 
- 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (save_restore_insns): Don't mark the RA's
- 	stack slot as unchanging if current_function_calls_eh_return.
- 
- 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
- 	access the second half of the TFmode scratch operand.
- 
- 2001-08-10  Anthony Green  <green@redhat.com>
- 
- 	* java/class.c (emit_register_classes): Conditionalize code on
- 	JCR_SECTION_NAME.
- 
- 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific, avr): Fix cross-reference to the
- 	main manual to work both for info and HTML versions.
- 
- 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* stmt.c (expand_null_return_1): Remove code to generate simple returns
- 	and "use_goto" argument.
- 	(expand_null_return, expand_value_return): Update all callers.
- 	* function.c (expand_function_end): Remove code to generate simple
- 	return.
- 	* config/vax/vax.md (epilogue): New expander for function return.
- 	* doc/md.texi (epilogue): Remove "if defined".
- 
- 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in: Partially revert my previous change:
- 	put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
- 	of the hashtab.o and safe-ctype.o rules.
- 
- 2001-08-09  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
- 	(USE_COLLECT2): Remove duplicate definition.
- 	* config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
- 	(use_collect2): Remove dead code.
- 	* configure.in (use_collect2): Remove will_use_collect2 and
- 	maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
- 	* configure: Rebuild.
- 
- 	* target.h (targetm.asm_out.constructor): New.
- 	(targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
- 	* target-def.h (TARGET_ASM_CONSTRUCTOR): New.
- 	(TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
- 	* varasm.c (in_ctors, in_dtors): New.
- 	(assemble_constructor, assemble_destructor): Remove.
- 	(default_stabs_asm_out_destructor): New.
- 	(default_named_section_asm_out_destructor): New.
- 	(dtors_section, default_dtor_section_asm_out_destructor): New.
- 	(default_stabs_asm_out_constructor): New.
- 	(default_named_section_asm_out_constructor): New.
- 	(ctors_section, default_ctor_section_asm_out_constructor): New.
- 	* output.h: Update declarations.
- 	* c-decl.c (c_expand_body): Use target hooks instead of
- 	assemble_constructor and assemble_destructor.
- 	* profile.c (output_func_start_profiler): Likewise.
- 	* objc/objc-act.c (finish_objc): Likewise.
- 	(build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
- 	for the constructor.
- 	* objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
- 
- 	* crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
- 	(DTORS_SECTION_ASM_OP): Likewise.
- 	(__CTOR_LIST__): Use attribute section when possible.
- 	(__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
- 
- 	* defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
- 	ASM_OUTPUT_CONSTRUCTOR.
- 
- 	* config/darwin.c (machopic_asm_out_constructor): New.
- 	(machopic_asm_out_destructor): New.
- 	* config/darwin-protos.h: Update declarations.
- 	* config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	* config/nextstep.c (nextstep_asm_out_constructor): New.
- 	(nextstep_asm_out_destructor): New.
- 	* config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	* config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
- 	ASM_OUTPUT_*STRUCTOR.
- 	* config/i386/aix386ng.h: Likewise.
- 
- 	* config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
- 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
- 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
- 	* config/lynx.h: Likewise.
- 	* config/netware.h: Likewise.
- 	* config/psos.h: Likewise.
- 	* config/alpha/alpha-interix.h: Likewise.
- 	* config/alpha/elf.h: Likewise.
- 	* config/arc/arc.h: Likewise.
- 	* config/arm/aof.h: Likewise.
- 	* config/arm/coff.h: Likewise.
- 	* config/arm/elf.h: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/i386/cygwin.h: Likewise.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/i386-coff.h: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i386/vsta.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 	* config/i960/i960-coff.h: Likewise.
- 	* config/ia64/sysv4.h: Likewise.
- 	* config/m68hc11/m68hc11.h: Likewise.
- 	* config/m68k/coff.h: Likewise.
- 	* config/m68k/mot3300.h: Likewise.
- 	* config/m88k/m88k.h: Likewise.
- 	* config/mcore/mcore-pe.h: Likewise.
- 	* config/mcore/mcore.h: Likewise.
- 	* config/mips/elf.h: Likewise.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/iris6.h: Likewise.
- 	* config/pa/pa64-hpux.h: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sparc/litecoff.h: Likewise.
- 
- 	* config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
- 	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
- 	* config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	* config/a29k/a29k.c: Move include of tree.h.
- 	* config/a29k/udi.h: Delete file.
- 	* config/alpha/alpha.c (vms_asm_out_constructor): New.
- 	(vms_asm_out_destructor): New.
- 	* config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
- 	(EXTRA_SECTION_FUNCTIONS): Likewise.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	* config/c4x/c4x.c: Move include of tree.h.
- 	* config/clipper/clipper.c (clix_asm_out_constructor): New.
- 	(clix_asm_out_destructor): New.
- 	* config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	* config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR): New.
- 	* config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
- 	(sco_asm_out_constructor): New.
- 	* config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
- 	* config/i386/svr3gas.h: Remove stack grows up code.
- 	Remove code duplicated from i386/sysv3.h.
- 	(TARGET_ASM_CONSTRUCTOR): New.
- 	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
- 	* config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR): New.
- 	* config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
- 	(m68hc11_asm_out_destructor): New.
- 	* config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
- 	(TARGET_ASM_DESTRUCTOR): New.
- 	* config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
- 	* config/m68k/dpx2.h: Properly undef all the bits inherited from
- 	config/svr3.h pertaining to section manipulation.
- 	* config/m68k/dpx2g.h: Remove #if 0 code.
- 	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
- 	* config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
- 	(ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR): New.
- 	* config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
- 	(m88k_svr3_asm_out_constructor): New.
- 	(m88k_svr3_asm_out_destructor): New.
- 	* config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	* config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
- 	* config/rs6000/aix.h: Likewise.
- 	* config/mips/rtems64.h: Don't undef removed constructor related bits.
- 	* config/mips/vxworks.h: Likewise.
- 	* config/rs6000/lynx.h: Likewise.
- 	* config/sh/elf.h: Likewise.
- 	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
- 	(DTORS_SECTION_ASM_OP): New.
- 	* config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	* config/sparc/sol2-sld-64.h: Likewise.
- 	* config/vax/vax.c (vms_asm_out_constructor): New.
- 	(vms_asm_out_destructor): New.
- 	* config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 
- 	* doc/tm.texi (@node Initialization): Update.
- 
- 2001-08-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/crtbegin.asm (__JCR_LIST__): New.
- 	(__do_global_dtors_aux): Use gp-relative static data to avoid
- 	one dynamic relocation.
- 	(__do_frame_setup): Register Java classes.
- 	* config/alpha/crtend.asm (__JCR_END__): New.
- 
- 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
- 	(CONFIG_H, TCONFIG_H, TM_P_H): Update.
- 	(GEN, STAGESTUFF): Add new files.
- 	(insn-constants.h, s-constants, tm-preds.h, s-preds,
- 	genconstants, genpreds, genconstants.o, genpreds.o): New rules.
- 	(hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
- 	* mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
- 	as well as insn-codes.h and insn-flags.h in config.h; and no
- 	extra headers in tconfig.h and hconfig.h.
- 
- 	* gencodes.c: Eliminate code to generate predicate declarations
- 	or #defines for md-file constants.
- 	* genconstants.c, genpreds.c: New files.
- 
- 	* i386.md: Re-order guard expressions such that TARGET_64BIT
- 	comes first, when this permits better optimization.  Add
- 	TARGET_64BIT to more x86-64 patterns.  Add comment explaining
- 	why this is desirable.
- 
- 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
- 	(find_fde_for_dso): Remove.
- 	(_Unwind_IteratePhdrCallback): New.
- 	(_Unwind_FindTableEntry): Use dl_iterate_phdr.
- 	* config/ia64/crtbegin.asm (__ia64_app_header): Remove.
- 
- Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
- 	(move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
- 
- 2001-08-09  Graham Stott  <grahams@redhat.com>
- 
- 	* sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
- 	(vis_no_unit): Use it.
- 	(visualize_no_unit): Add the insn only if room exists.
- 
- 2001-08-09  Graham Stott  <grahams@redhat.com>
- 
- 	* predict.c (estimate_probability): Replace magic numbers with
- 	appropriate enumeration.
- 
- 2001-08-09  Graham Stott  <grahams@redhat.com>
- 
- 	* cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
- 	parameter.
- 	(EXTRACT_FLAGS): Likewise.
- 
- 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.c	(mips_legitimate_address_p): Check for
- 	CONST_INT in last patch.
- 
- 2001-08-08  Anthony Green  <green@redhat.com>
- 
- 	* java/class.c (emit_register_classes): Use assemble_jcr if
- 	possible.  Keep the original mechanism as a fallback.
- 	* defaults.h (JCR_SECTION_NAME): Define if we have named section
- 	and weak symbol support.
- 	* crtstuff.c (__JCR_LIST__): Define.
- 	(__JCR_END__): Define.
- 	(_Jv_RegiserClasses): Define weak symbol if possible.
- 	(__do_global_ctors_aux): Register classes for ELF targets with
- 	weak symbol support.
- 
- 2001-08-08  Kazu Hirata  <kazu@hxi.com>
- 
- 	* dbxout.c: Fix comment formatting.
- 	* dependence.c: Likewise.
- 	* df.c: Likewise.
- 	* diagnostic.c: Likewise.
- 	* dominance.c: Likewise.
- 	* doprint.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* except.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 
- 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* global.c (retry_global_alloc): Avoid shadowing allocno.
- 
- 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* except.c (remove_fixup_regions): Fix typo.
- 
- 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
- 
- 	* emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
- 	unsigned HOST_WIDE_INT to avoid warning.
- 	* final.c (final): Cast INSN_UID to unsigned to avoid warning.
- 	* flow.c (set_block_for_new_insns): Likewise.
- 
- Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* sibcall.c (return_value_pseudo): New static variable.
- 	(skip_copy_to_return_value): Handle return_value_pseudo.
- 	(call_ends_block_p): Ensure that return_value_pseudo is set.
- 	(optimize_sibling_and_tail_recursive_call): Discover the
- 	load of pseudo return value in alternate exit block.
- 
- Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (ECF_ALWAYS_RETURN): New constant.
- 	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
- 	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
- 	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
- 	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
- 	* rtl.c (reg_note_name): New name.
- 	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
- 
- 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
- 
- 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* alias.c (get_alias_set): Return a previously calculated
- 	alias set for a VAR_DECL.
- 	* function.c (gen_mem_addressof): Calculate the alias set before
- 	touching the RTL.
- 
- Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def: Set hitrates according our experimental run.
- 
- Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (HARD_REGNO_RENAME_OK): New macro.
- 
- 2001-08-08  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/mips.c (mips_unique_section): New. Copied from
- 	config/mips/elf.h.
- 
- 	* config/mips/mips-protos.h (mips_unique_section): New
- 	prototype.
- 
- 	* config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
- 
- 	* config/mips/little.h: New. Generic little endian mips
- 	targets. Only mips*-*-linux* is converted to use it so far.
- 
- 	* config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
- 	(WCHAR_TYPE): Defined
- 	(WCHAR_TYPE_SIZE): Likewise.
- 	(INIT_SUBTARGET_OPTABS): Likewise.
- 	(BSS_SECTION_ASM_OP): Likewise.
- 	(SBSS_SECTION_ASM_OP): Likewise.
- 	(ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	(ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(UNIQUE_SECTION): Likewise.
- 	(EXTRA_SECTIONS): Likewise.
- 	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
- 	(ASM_OUTPUT_DESTRUCTOR): Likewise.
- 	(ASM_OUTPUT_DEF): Likewise.
- 	(HANDLE_SYSV_PRAGMA): Removed.
- 	(NO_IMPLICIT_EXTERN_C): Likewise.
- 	(TARGET_MEM_FUNCTIONS): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 	(ENDFILE_SPEC): Likewise.
- 	(LIB_SPEC): Likewise.
- 	(INVOKE__main): Likewise.
- 	(CTOR_LIST_BEGIN): Likewise.
- 	(CTOR_LIST_END): Likewise.
- 	(DTOR_LIST_BEGIN): Likewise.
- 	(DTOR_LIST_END): Likewise.
- 	(SET_ASM_OP): Likewise.
- 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	(ASM_OUTPUT_DEF): Likewise.
- 	(ASM_OUTPUT_IDENT): Likewise.
- 
- 	* config/mips/mips.h (ASM_SPEC): Undefine before define.
- 	(CPLUSPLUS_CPP_SPEC): Likewise.
- 	(ASM_APP_ON) Redefine only if not defined.
- 	(ASM_APP_OFF): Likewise.
- 	(ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	(ASM_OUTPUT_IDENT): Likewise.
- 
- 	* config.gcc: Update tm_file for Linux/mips.
- 
- 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* cselib.c (cselib_record_sets): If insn is predicated, turn
- 	sources into IF_THEN_ELSEs.
- 
- 	* config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
- 	Turn into define_insn_and_split.
- 
- 	* sched-deps.c: Include "cselib.h".
- 	(add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
- 	Use cselib to turn memory addresses into VALUEs.
- 	(sched_analyze): Call cselib_init/cselib_finish if necessary.
- 	* sched-int.h (struct sched_info): New member USE_CSELIB.
- 	* sched-ebb.c (ebb_sched_info): Initialize it.
- 	* sched-rgn.c (rgn_sched_info): Likewise.
- 	* Makefile.in (sched-deps.o): Update dependencies.
- 
- 	* cselib.h (cselib_subst_to_values): Declare.
- 	* cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
- 	that have no value and autoincs to be handled by generating a new
- 	dummy value.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* final.c (shorten_branches): Update the INSN_ADDRESSES of insns
- 	within fixed length SEQUENCE.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
- 	(diagnostic_prefixing_rule): Likewise.
- 	(diagnostic_line_cutoff): Likewise.
- 	(diagnostic_kind_count): Likewise.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* alias.c (find_base_decl): Delete redundent assignment.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
- 	(abs): Uppercase and paranthesize macro parameter.
- 	(MEM_DEPENDENCY): Add whitespace.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
- 	failure check for CONST_INT
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
- 	(libcall_dead_p): Likewise.
- 
- 	(mark_used_regs): Constify fmt.
- 	(find_use_as_address): Likewise.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
- 	 parameter.
- 
- 2001-08-08  Graham Stott  <grahams@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): Update comment and
- 	remove erroneous test.
- 
- 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_finish): Pop the final buffer without comment.
- 	* cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
- 	take care to avoid multiple no-newline at EOF warnings in that
- 	case.
- 
- Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Do not emit INSN_SETJMP note.
- 	(emit_library_call_value_1): Likewise.
- 	(emit_call_1): Emit REG_SETJMP note.
- 	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
- 	of INSN_SETJMP
- 	* cselib.c (cselib_process_insn): Likewise.
- 	* flow.c (propagate_block): Likewise.
- 	* loop.c (find_and_verify_loops): Likewise.
- 	* reload.c (find_equiv_regs): Likewise.
- 	* reload1.c (reload): Likewise.
- 	* resource.c (mark_referenced_resources,
- 	mark_set_resources): Likewise.
- 	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
- 	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
- 	* haifa-sched.c (unlink_other_notes): Likewise.
- 	(reemit_notes): Likewise.
- 	* sched-ebb.c (sched_ebb): Likewise.
- 	* sched-rgc.c (sched_region): Likewise.
- 	* rtl.c (note_insn_name): Likewise.
- 	(reg_note_name): Add REG_SETJMP
- 	* rtl.h (reg_note): Add REG_SETJMP.
- 	(insn_note): Remove NOTE_INSN_SETJMP.
- 
- 	* profile.c (branch_prob): Add fake edges for setjmp.
- 
- 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Quote target_cpu_default2 correctly for
- 	powerpc*-*-* targets.
- 
- 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.h, line-map.h: Update comments.
- 	* cppmain.c (printer_init): Move inline.
- 	(maybe_print_line, print_line): Take a map pointer.
- 	(cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
- 	(cb_file_change): Don't use prior value of print.map.
- 
- 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi: Document fine-grained multilib configuration.
- 
- Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (find_first_parameter_load): Call note_stores
- 	only on the instructions.
- 
- Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* alias.c (nonlocal_mentioned_p):
- 	Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
- 	* calls.c (emit_call_1): Likewise.
- 	* cse.c (cse_insn, invalidate_skipped_block): Likewise.
- 	* cselib.c (cselib_process_insn): Likewise.
- 	* df.c (df_insns_modify): Likewise.
- 	* flow.c (need_fake_edge_p): Likewise.
- 	(propagate_one_insn): Likewise.
- 	* haifa-sched.c (reemit_notes): Likewise.
- 	* integrate.c (copy_insn_list): Likewise.
- 	* jump.c (delete_prior_computation): Likewise.
- 	* local-alloc.c (validate_equiv_mem): Likewise.
- 	* loop.c (scan_loop): Likewise.
- 	* predict.c (estimate_probability): Likewise.
- 	* reload.c (reload): Likewise.
- 	* sched-deps (sched_analyze): Likewise.
- 	* rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
- 	* gcse.c (compute_hash_table): Likewise.
- 	(mark_call): Likewise.
- 	(store_killed_in_insn): Likewise.
- 
- 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
- 
- 2001-08-06  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_gc_entry): Remove.
- 	* output.h: Likewise.
- 
- 2001-08-06  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_constructor): Take a symbol_ref and a
- 	priority instead of a bare string.  Move priority handling
- 	here from cp/decl2.c.
- 	* output.h: Update decls.
- 
- 	* c-decl.c (c_expand_body): Update calls to assemble_constructor
- 	and assemble_destructor.
- 	* profile.c (output_func_start_profiler): Likewise.
- 	* objc/objc-act.c (finish_objc): Likewise.
- 	(build_module_descriptor): Return the symbol not the symbol name.
- 
- 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
- 	* config/rs6000/linux64.h (RS6000_MCOUNT): Define.
- 	({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
- 	* config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
- 	* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
- 
- 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_containing_files): Moved to line-map.c.
- 	(print_location): line-map.c handles re-listing or otherwise.
- 	* cpphash.h (struct lexer_state): Remove next_bol.
- 	(struct cpp_buffer): Remove include_stack_listed.
- 	* cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
- 	Remove faked buffer handling.
- 	(_cpp_do_file_change): Tweak.
- 	* cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
- 	* cppmain.c (struct printer): Remove filename.
- 	(print_line, cb_file_change): Update accordingly.
- 	* line-map.c: Include intl.h.
- 	(init_line_maps): Initialize last_listed.
- 	(free_line_maps): Sanity check, warn if ENABLED_CHECKING.
- 	(add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
- 	(print_containing_files): New.
- 	* line-map.h (struct line_maps): New member last_listed.
- 	(print_containing_files, INCLUDED_FROM): New.
- 	* Makefile.in: Update.
- 	* po/POTFILES.in: Add line-map.c.
- 
- 2001-08-06  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (convert_from_eh_region_ranges_1): Never mark
- 	USE or CLOBBER insns as throwing.
- 
- 	* expr.c (store_constructor): Don't clobber memory targets.
- 
- 2001-08-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* profile.c (branch_prob): Remove unused variable insn.
- 
- 	* Makefile.in (local-alloc.o): Add dependency on except.h.
- 
- 	* local-alloc.c: Include except.h for can_throw_internal prototype.
- 
- 2001-08-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
- 	* function.c (expand_main_function): Implement it.
- 	* doc/tm.texi: Document it.
- 
- 2001-08-06  Stan Shebs  <shebs@apple.com>
- 
- 	* doc/install.texi: Document powerpc-*-darwin* details.
- 
- 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
- 	(ASM_CPU_SPEC): Move back to rs6000.h
- 	#undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
- 
- 	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
- 
- 	* config/rs6000/linux.h: Remove vtable thunks stuff we accidently
- 	readded.
- 
- 	* config/rs6000/linux64.h: Ditto.
- 
- 	* config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
- 	to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
- 	nothing.
- 
- 	Remove accidently readded definitions of FUNCTION_PROLOGUE,
- 	FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
- 
- 	* config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
- 	to rs6000.h
- 
- 2001-08-05  Richard Henderson  <rth@redhat.com>
- 
- 	* local-alloc.c (update_equiv_regs): Do not move insns that
- 	can throw.
- 
- 2001-08-05  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (reload1.o): Add dependency on except.h
- 	* basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
- 	prototypes.
- 	* flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
- 	indicating whether edges has been cleaned up.
- 	* reload1.c: Include except.h.
- 	(fixup_abnormal_edges): Accept deleted insns.
- 	* toplev.c (rest_of_compilation): Purge dead edges unconditionally
- 	after combine.
- 
- 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (do_line): Correct line number after pop_buffer.
- 
- 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/3824
- 	* line-map.c: Update comments.
- 	* line-map.h: Update comments.
- 	* tradcif.y: Don't consider large numbers unsigned.
- 
- 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/3081
- 	* c-lex.c (map): New.
- 	(cb_file_change): Update map and use it.
- 	(cb_def_pragma, cb_define, cb_undef): Use map and line.
- 	(c_lex): Update to use map.
- 	* cpperror.c (print_location): Move to using logical line numbers.
- 	* cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
- 	(cpp_make_system_header): Similarly.
- 	(_cpp_execute_include): Stop line numbering hacks.  Store the
- 	line we will return to.
- 	* cpphash.h (CPP_BUF_LINE): Remove.
- 	(struct cpp_buffer): Remove lineno and pseudo_newlines.
- 	Add map and return_to_line.
- 	(_cpp_do_file_change): Update.
- 	* cppinit.c (cpp_start_read): Update line kludge.
- 	* cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
- 	(trigraph_ok): Use logical line numbers for diagnostics.
- 	(skip_block_comment): Likewise.
- 	(skip_whitespace): Likewise.
- 	(skip_line_comment): Use pfile->line instead.
- 	(_cpp_lex_token): Update to use logical line numbering exclusively.
- 	Handle BOL locally.  Accept new lines in directives, but keep
- 	pfile->line decremented.  Diagnostics use logical lines.  Update
- 	directive handling.
- 	* cpplib.c (SEEN_EOL): New.
- 	(skip_rest_of_line, check_eol): Use it.
- 	(end_directive): Increase line number when accepting the newline
- 	at the end of a directive.
- 	(run_directive): Simplify.
- 	(do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
- 	(_cpp_do_file_change): Update to take buffer line number as an
- 	argument, and store the current map in the cpp_reader.  Remove
- 	line number kludges.
- 	(_cpp_do__Pragma): Restore output position after a _Pragma.
- 	(cpp_push_buffer): Don't set output line or lineno.
- 	(_cpp_pop_buffer): Transfer more info from a faked buffer.
- 	Remove line kludge.  Set output_line.
- 	* cppmacro.c (builtin_macro): Update handling of __LINE__.
- 	(parse_arg): Use logical lines.
- 	(save_lookahead_token): Save EOFs too now.
- 	* cppmain.c (struct printer): Fix comments.
- 	(printer_init): Simplify, let caller do errors.
- 	(scan_translation_unit, check_multiline_token, dump_macro): Update.
- 	(maybe_print_line): Simplify.
- 	(print_line): Don't print a linemarker if -P.
- 	(cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
- 	(cb_file_change): Simplify.
- 	* line-map.h (LAST_SOURCE_LINE): Fix.
- 	(CURRENT_LINE_MAP): New.
- 
- 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* doloop.c (doloop_modify_runtime): Properly compute number of
- 	iterations if loop was unrolled.
- 
- 	* alias.c (rtx_equal_for_memref_p): VALUEs are only identical
- 	if their CSELIB_VAL_PTRs are.
- 
- 	* config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
- 	(setup_spill_pointers): Initialize it.
- 	(spill_restore_mem): Set it.
- 	(do_spill, do_restore): Use it to add REG_INC note.
- 	* config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
- 
- 	* config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
- 	asms if other insns are available.
- 
- 	* config/ia64/ia64.c (condop_operator): New predicate.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Add it.
- 	* config/ia64/ia64.md (cond_opsi2_internal and splitters): New
- 	patterns.
- 
- 	* expr.c (expand_expr, case COND_EXPR): Prefer working with a
- 	temporary register than directly using a MEM.
- 
- 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/sh/sh.c (sh_asm_named_section): Fix typo in align
- 	parameter in last change.
- 
- 2001-08-04  Zack Weinberg  <zackw@panix.com>
- 
- 	* sparc.md: Don't use #if inside C test expression.
- 
- 2001-08-04  Richard Henderson  <rth@redhat.com>
- 
- 	* i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
- 
- 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): New member directive_line.
- 	* cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
- 	* cpplib.c (do_define, do_undef, do_ident, do_include_common,
- 	do_pragma): Pass line to callbacks.
- 	(start_directive): Record line of directive.
- 	* cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
- 	cb_include): Similarly.
- 	* c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
- 	Similarly.
- 
- 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
- 	comment.
- 
- Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
- 
- 	* reload1.c (fixup_abnormal_edges): New static function.
- 	(reload): Use it.
- 
- 	* flow.c (need_fake_edge_p): New function.
- 	(flow_call_edges_add): Fix handling of noreturn and sibling calls;
- 	avoid call insn to be very last insn in the insn stream.
- 
- 	* profile.c (branch_prob): Call flow_call_edges_add instead of
- 	doing that by hand; cleanup cfg to re-merge basic blocks once
- 	we are done.
- 
- 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
- 	are also on line-map.h.
- 	* cppfiles.c (stack_include_file): Update.
- 	* cpphash.h (struct cpp_buffer): New member return_at_eof.
- 	(_cpp_pop_buffer): New.
- 	* cppinit.c (cpp_destroy, cpp_finish): Update.
- 	(do_includes): Mark each buffer to return at EOF.
- 	* cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
- 	return as requested.
- 	* cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
- 	(cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
- 	* cpplib.h (cpp_pop_buffer): Remove.
- 	(cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
- 	* cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
- 	buffers.
- 	* cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
- 	to pop buffers.
- 	(do_preprocessing): Update.
- 	* fix-header.c (read_scan_file): Update.  No need to pop buffers.
- 	* c-parse.in (_yylex): Similarly.
- 	* scan-decls.c (scan_decls): Similarly.
- 	* line-map.h: Update comments.
- 
- 	* objc/Make-lang.in (objc-act.o): Update dependencies.
- 
- 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
- 	and soft register for operand 0.
- 	("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
- 
- 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
- 	register for operand 0.
- 	("bitcmpqi_z_used"): Allow memory for operand 0.
- 	(split "bitcmpqi"): New split to handle address reg as operand 1.
- 
- 2001-08-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* gcse.c: Revert Daniel's last patch.
- 
- 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* sparc-protos.h: Add prototypes for fp_zero_operand and
- 	reg_or_0_operand.
- 	* sh-protos.h: Add prototype for fpul_operand.
- 
- 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/extend.texi (Other Builtins): Fix typo in last change.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (gcc_target): Add asm_out.named_section,
- 	section_type_flags, have_named_sections.
- 	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
- 	(TARGET_HAVE_NAMED_SECTIONS): New.
- 	(TARGET_SECTION_TYPE_FLAGS): New.
- 
- 	* Makefile.in (toplev.o): Depend on TARGET_H.
- 	(varasm.o, dbxout.o): Likewise.
- 	* c-common.c (decl_attributes): Check targetm.have_named_sections
- 	instead of ifdef ASM_OUTPUT_SECTION_NAME.
- 	* dbxout.c (dbxout_function_decl): Likewise.
- 	(dbxout_function_end): Likewise.
- 	* toplev.c (compile_file): Likewise.
- 	* varasm.c (exception_section): Likewise.
- 	* cp/decl2.c (finish_objects): Likewise.
- 
- 	* defaults.h (EH_FRAME_SECTION): Remove.
- 	(EH_FRAME_SECTION_ASM_OP): Remove.
- 	(EH_FRAME_SECTION_NAME): New.
- 	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
- 	(UNIQUE_SECTION_P): Remove.
- 	* dwarf2out.c (SECTION_FORMAT): Remove.
- 	(ASM_OUTPUT_SECTION): Remove.
- 	(output_call_frame_info): Use named_section_flags.
- 	(output_comp_unit, dwarf2out_start_source_file): Likewise.
- 	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
- 	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
- 	* varasm.c (in_eh_frame, eh_frame_section): Remove.
- 	(named_section_flags): New.
- 	(named_section): Use it and targetm.section_type_flags.
- 	(resolve_unique_section): New.
- 	(assemble_start_function): Use it.
- 	(asm_emit_uninitialised, assemble_variable): Likewise.
- 	(default_section_type_flags): New.
- 	(default_no_named_section, default_elf_asm_named_section): New.
- 	(default_coff_asm_named_section, default_pe_asm_named_section): New.
- 	* output.h: Update varasm.c decls.
- 	(SECTION_*): New flags.
- 
- 	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
- 	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
- 
- 	* config/elfos.h (UNIQUE_SECTION_P): Remove.
- 	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
- 	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
- 	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
- 	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
- 	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
- 	* config/mips/elf.h, config/mips/elf64.h: Likewise.
- 	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
- 	* config/pa/pa64-hpux.h,
- 
- 	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
- 	(TARGET_ASM_NAMED_SECTION): New.
- 	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
- 	* config/alpha/vms.h, config/arm/coff.h: Likewise.
- 	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
- 	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
- 	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
- 	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
- 	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
- 	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
- 	* config/i386/sco5.h, config/i386/win32.h: Likewise.
- 	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
- 	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
- 	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
- 	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
- 	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
- 	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
- 	* config/sparc/sysv4.h: Likewise.
- 
- 	* config/nextstep.h: Error until named sections implemented.
- 
- 	* config/a29k/a29k.c (a29k_asm_named_section): New.
- 	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
- 	(vms_section_type_flags, vms_asm_named_section): New.
- 	* config/arm/arm.c (arm_elf_asm_named_section): New.
- 	* config/avr/avr.c (asm_output_section_name): Remove.
- 	* config/avr/avr-protos.h: Update.
- 	* config/c4x/c4x.c (c4x_asm_named_section): New.
- 	* config/h8300/h8300.c (h8300_asm_named_section): New.
- 	* config/i386/i386.c (sco_asm_named_section): New.
- 	* config/i386/winnt.c (SECTION_PE_SHARED): New.
- 	(i386_pe_section_type_flags): New.
- 	(i386_pe_asm_named_section): New.
- 	* config/i386/i386-protos.h: Update.
- 	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
- 	* config/mcore/mcore.c (mcore_asm_named_section): New.
- 	* config/mips/mips.c (iris6_asm_named_section): New.
- 	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
- 	instead of UNIQUE_SECTION_P.
- 	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
- 	(xcoff_asm_named_section): New.
- 	* config/sh/sh.c (sh_asm_named_section): New.
- 	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.
- 
- 	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
- 	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
- 	(EH_FRAME_SECTION_NAME): New.
- 	(EXCEPTION_SECTION): New.
- 	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
- 	(DEBUG_*_SECTION): Remove.
- 	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
- 	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
- 	(EH_FRAME_SECTION_ASM_OP): Remove.
- 
- 	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
- 	(ASM_OUTPUT_SECTION_NAME): Remove.
- 	(TARGET_ASM_NAMED_SECTION): New.
- 	(TARGET_HAVE_NAMED_SECTIONS): New.
- 	(TARGET_SECTION_TYPE_FLAGS): New.
- 	(EH_FRAME_SECTION_ASM_OP): Remove.
- 	(EH_FRAME_SECTION_NAME): New.
- 
- 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* builtins.c (fold_builtin_constant_p): Return integer_zero_node
- 	for complex expressions when cfun == 0.
- 	* doc/extend.texi: Document that __builtin_constant_p can be
- 	used in data initializers as well as functions.
- 
- 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
- 	variable I locally, instead of expecting a declaration in the
- 	calling context.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (collect_one_action_chain): Add an explicit cleanup
- 	action if regions surrounding a catch were encoded entirely
- 	within the call-site entry.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* dbxout.c (dbxout_symbol_location): Flatten subregs first;
- 	don't take REGNO of a non-register.
- 
- 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
- 	__GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
- 	(__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
- 	(__gthread_mutex_init_function): New function for mutex initialization.
- 
- 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* Makefile.in: Revert screwed up commit.
- 
- 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
- 	* config/m68hc11/larith.asm (_exit): Split in several sub-sections
- 	merged by linker script to get a final _exit().
- 	(__do_global_dtors): New for destructor handling in specific exit
- 	section.
- 	(__do_global_ctors): New for constructors in specific install section.
- 	(__map_data_section): Map data sections before running constructors.
- 	* config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
- 	(CTORS_SECTION_ASM_OP): Define to put in readonly section.
- 	(DTORS_SECTION_ASM_OP): Likewise.
- 	(CTORS_SECTION_FUNCTION): Define to force a reference to
- 	__do_global_ctors.
- 	(DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
- 
- 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* ChangeLog: Fix date on previous ChangeLog entry for GCSE.
- 
- 	* Makefile.in: Add df.h to gcse.c dependencies.
- 
- 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* varasm.c (output_constant_def_contents): Use for the length of a
- 	string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
- 	depending on which is larger.
- 
- 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* gcse.c: Include df.h for use as a dataflow analyzer.
- 	Remove regvec.
- 	Declaration of reg_set_info: gone.
- 	New df_analyzer variable used by store motion.
- 	(reg_set_info): Deleted.
- 	(mark_mem_regs): New function, analyze regs used by a mem.
- 	(store_ops_ok): Use dataflow analyzer results to determine if
- 	necessary regs are changed in the block.
- 	(find_moveable_store): Remove check for symbol ref, we can handle
- 	much more complex expressions now.
- 	(compute_store_table): Remove most of the code, it's unnecessary
- 	now that the dataflow analyzer records the info for us.
- 	(store_killed_after): Add parameter to say whether to do the
- 	store_ops_okay test, used to speed up testing when we already know
- 	the answer, and just want to know if the store itself was killed.
- 	(build_store_vector): Largely rewritten to calculate the various
- 	vectors properly, and somewhat optimized.
- 	(store_motion): Init the df_analyzer, get REG_DEF chains.
- 	Also handle trapping expressions (since mems almost always trap)
- 	(simple_mem): Redefine what a simple mem is.
- 
- 2001-08-03  DJ Delorie  <dj@redhat.com>
- 
- 	* ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
- 	set from a constant part of the condition.
- 
- 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* mkdeps.c (deps_add_default_target): Make local variable
- 	``start'' a const char pointer.
- 	* dwarf2out.c (compute_section_prefix): Localize use of ``p''.
- 
- 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Configuration): Fix markup.
- 	(Specific, i?86-*-udk): Likewise.
- 	(Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
- 	--with-gnu-ld.
- 	Document --enable-threads and --enable-libgcj status.
- 	(Specific, mips-sgi-irix*): Canonicalize triples.
- 	(Specific, mips-sgi-irix5): Warn about problems with this config.
- 	Mention required GNU as patch.
- 	Native assembler problems are fixed.
- 	(Specific, mips-sgi-irix6): Update O32 ABI support status.
- 	Document --enable-threads and --enable-libgcj status.
- 
- 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* Makefile.in, mklibgcc.in: Restore changes with fixed invocation
- 	of mkinstalldirs.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
- 	constant data.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* rtlanal.c (find_first_parameter_load): Stop if we
- 	reach a CODE_LABEL at BOUNDARY.
- 
- 2001-08-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (force_movdi): New insn.
- 	* config/alpha/alpha.c (alpha_expand_prologue): Use it.
- 	Tweek FRP marking of VMS prologue insns.
- 	* config/alpha/vms.h (EPILOGUE_USES): New.
- 
- 2001-08-02  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
- 
- 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
- 	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
- 	config/convex/convex.h, config/d30v/d30v.c,
- 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
- 	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
- 	config/mips/mips.h, config/mn10200/mn10200.h,
- 	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
- 	config/v850/v850.h, config/vax/openbsd.h,
- 	config/vax/openbsd1.h, config/vax/ultrix.h,
- 	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
- 	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
- 	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
- 	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
- 	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
- 	in comments and documentation.
- 
- 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* line-map.c: New.
- 	* line-map.h: New.
- 	* Makefile.in (line-map.o): New.
- 	(LIBCPP_OBJS, LIBCPP_DEPS): Update.
- 	* c-lex.c (cb_file_change): Update for new cpp_file_change structure.
- 	* cpperror.c (print_containing_files): Similarly.
- 	(print_location): Update.  Don't output a space before _Pragma.
- 	* cppfiles.c (stack_include_file): Set to line 1 immediately.
- 	(stack_include_filee, cpp_make_system_header): Update.
- 	(_cpp_execute_include): Get logical line number right for calling
- 	as-yet-unterminated #include.
- 	* cpphash.h (struct cpp_reader): Add line_maps.
- 	(_cpp_do_file_change): Update.
- 	* cppinit.c (cpp_create_reader): Initialize line maps.
- 	(cpp_destroy): Destroy line maps.
- 	(cpp_start_read): Get logical line number right.
- 	* cpplex.c (parse_string): Only warn once for multi-line strings.
- 	Use boolean variable for null warning.
- 	* cpplib.c (_cpp_handle_directive): End the directive if it isn't
- 	already.
- 	(do_include_common): End the directive early.
- 	(do_line): Don't warn about out-of-range lines in preprocessed
- 	source.  Update.  Remove unused variables.
- 	(_cpp_do_file_change): Update for new line mapping.
- 	(pragma_cb): New typedef.
- 	(cpp_register_pragma): Stop looking ahead before calling the
- 	handler.  Clean up.
- 	(do_pragma_system_header): End directive early.
- 	(cpp_get_line_maps): New.
- 	(cpp_pop_buffer): Fudge logical line.  Update.
- 	* cpplib.h: Include line-map.h
- 	(enum cpp_fc_reason): Remove.
- 	(struct cpp_file_change): Update.
- 	(cpp_get_line_maps): New.
- 	* cppmain.c (struct_printer): New member map.
- 	(cb_file_change): Update for new mappings.
- 	* fix-header.c (cb_file_change): Similarly.
- 
- 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* Makefile.in (libgcc.mk): Define mkinstalldirs.
- 	* mklibgcc.in: Use mkinstalldirs instead of mkdir.
- 
- 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* config/vax/vax.c: include expr.h.
- 
- 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* Makefile.in ($(srcdir)/configure): Only rebuild in
- 	maintainer mode.
- 	($(srcdir)/config.in): Only define in maintainer mode.
- 	($(srcdir)/cstamp-h.in): Only define in maintainer mode.
- 
- 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (Install GCC: Binaries): Update Bull info.
- 
- 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gcc.c (set_collect_gcc_options): New function, split out from
- 	main.
- 	Ignore elided switches.
- 	(do_spec_1): Invoke before executing command.
- 	(set_input): Export.
- 	Move declaration ...
- 	* gcc.h (set_input): ... here.
- 	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
- 	file.
- 
- 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Kill -fhonor-std.
- 	* doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
- 	interaction.
- 	* doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
- 
- 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
- 	for the unnamed instructions it expands to.
- 
- 2001-08-02  Richard Henderson  <rth@redhat.com>
- 
- 	* regclass.c (call_really_used_regs): Conditionally define.
- 	(init_reg_sets_1): Don't use it if not defined.
- 	(fix_register): Similarly, don't set it.
- 
- 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
- 	Correct comment that had been missed in the previous change.
- 
- 2001-08-01  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.c (machopic_stub_name): Try matching by name.
- 	(update_stubs): New function.
- 	(darwin_encode_section_info):  Call it and update_non_lazy_ptrs
- 	unconditionally.
- 
- 2001-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (output_function_exception_table): Use assemble_align.
- 	* varasm.c (assemble_eh_label): Remove.
- 	(assemble_eh_align, assemble_eh_integer): Remove.
- 
- 2001-08-01  Robert Lipe  <robertl@caldera.com>
- 
- 	* dwarfout.c: Remove reference to README.DWARF.
- 
- 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* regclass.c (call_really_used_regs): New array for registers which
- 	are actually used by a call.
- 	(init_reg_sets_1): Initialize regs_invalidated_by_call with the
- 	new array.
- 	(fix_register): Set call_really_used too.
- 	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
- 	* doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
- 
- 2001-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* read-rtl.c (read_name): Consider \r whitespace.
- 
- 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* config.gcc: Recognize powerpc-*-netbsd*.
- 
- 	* doc/install.texi (Host/target specific installation notes for
- 	GCC): Mention powerpc-*-netbsd*.
- 
- 	* config/rs6000/netbsd.h: New file.
- 	(STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
- 	(LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
- 	(ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
- 	(LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
- 	(TARGET_VERSION): Redefine.
- 
- 	* config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
- 	mcall-netbsd as a match for mcall-sysv.
- 	(EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
- 	(ncrti.S, ncrtn.S): New targets.
- 	($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
- 
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
- 	"netbsd' as a V4 ABI.
- 	(ASM_SPEC): Check for -mcall-netbsd.
- 	(CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
- 	(CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
- 	(LIB_SPEC, ENDFILE_SPEC): Ditto.
- 	(LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
- 	(ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
- 	(LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
- 	(SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
- 
- 	* doc/invoke.texi (Option Summary): Add -mcall-netbsd.
- 	(RS/6000 and PowerPC Options): Mention -mcall-netbsd.
- 
- 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
- 
- 	* unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
- 	only if NO_BASE_OF_ENCODED_VALUE isn't defined.
- 	* unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
- 	including "unwind-pe.h".
- 
- Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rs6000.md (define_splits): Kill unused constraints.
- 
- Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
- 			      Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Kill code
- 	dealing with non-existent CFG.
- 
- 2001-08-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* alias.c: Fix comment formatting.
- 	* bitmap.c: Likewise.
- 	* builtins.c: Likewise.
- 	* calls.c: Likewise.
- 	* c-common.c: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-dump.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* collect2.c: Likewise.
- 	* combine.c: Likewise.
- 	* conflict.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cppmacro.c: Likewise.
- 	* cppspec.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* crtstuff.c: Likewise.
- 	* cse.c: Likewise.
- 	* cselib.c: Likewise.
- 	* c-semantics.c: Likewise.
- 	* c-typeck.c: Likewise.
- 
- 2001-08-01  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
- 
- 2001-08-01  H.J. Lu <hjl@gnu.org>
- 
- 	* gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
- 
- 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
- 	contextualizing Objective-C class name lookup by the lexer.
- 	(typespec_reserved_nonattr): Disable ObjC class name lookup after
- 	seeing a TYPESPEC.
- 	(protocoldef): Add support for forward @protocol declarations.
- 	(yylexname): Suppress ObjC class name lookup in certain contexts;
- 	re-enable after lookup is complete.
- 	(_yylex): Re-enable ObjC class name lookup when certain
- 	punctuation marks are seen.
- 
- 	* objc/objc-act.c (check_protocol_recursively): New function used
- 	for finding circular dependencies in protocols.
- 	(objc_declare_protocols): New function for handling forward
- 	@protocol declarations.
- 	(receiver_is_class_object): Detect the case when 'self' is used
- 	inside of a class method.
- 	(build_message_expr): Issue a warning if class method is desired
- 	but instance method is found instead.
- 	(conforms_to_protocol): Streamline.
- 	(objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
- 	protocol Foo, even if 'Bar foo' does not.
- 	(check_protocols): Streamline.
- 	(start_protocol): Add checks for circular and duplicate protocol
- 	definitions.
- 	(encode_aggregate_within): For typedefs of structs, encode the
- 	underlying struct.
- 	* objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
- 	(objc_declare_protocols): New prototype.
- 
- 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
- 	* cpplex.c (handle_newline): Update prototype.  Maintain logical
- 	line number.
- 	(skip_escaped_newlines, skip_block_comment, parse_string):
- 	Update accordingly.
- 	(_cpp_lex_token): Update, and store token position within the token.
- 	* cpplib.h (struct cpp_token): Add line and column entries.
- 	* cppmacro.c (replace_args): Position stringified tokens correctly.
- 
- 2001-08-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* basic-block.h: Add prototype for last_loop_beg_note.
- 
- 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
- 
- 	* expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
- 	RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
- 	comment.
- 	(expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
- 	while handling WITH_CLEANUP_EXPR node. Use second operand calling
- 	expand_decl_cleanup.
- 	* tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
- 	the first RTX.
- 	(simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
- 	operand while calling simple_cst_equal.
- 	* tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
- 	operand is the cleanup expression, the third is the RTL_EXPR.
- 	* tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
- 
- 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* except.c (duplicate_eh_regions): Test n_array[i] for NULL.
- 
- 2001-07-31  matthew green  <mrg@eterna.com.au>
- 
- 	* config.gcc (i386-*-netbsdelf): New description.
- 	* config/i386/netbsd-elf.h: New file.
- 
- 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* loop.c (check_dbra_loop): Use single_set to compute
- 	jump_label.
- 
- 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	PowerPC reorg and support for powerpc64-*-linux*.
- 
- 	Also fixes emitting of constants on 32 bit and 64 bit
- 	platforms.
- 
- 	* config.gcc: powerpc64-*-linux* is a new target.
- 	Things that needed aix.h now also include xcoff.h
- 
- 	* config/rs6000/rs6000.h: Split XCOFF specific stuff into
- 	xcoff.h.
- 	Move AIX specific stuff into aix.h.
- 	(TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
- 	with more than just XCOFF now.
- 	(SET_ASM_OP): Remove, now defined where needed.
- 	(FUNCTION_PROLOGUE): New macro definition.
- 	(FUNCTION_EPILOGUE): New macro definition.
- 	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
- 
- 	* config/rs6000/xcoff.h: New file.
- 
- 	* config/rs6000/linux64.h: New file.
- 
- 	* config/rs6000/darwin.h: Copy needed AIX alignment definitions.
- 
- 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* rs6000.c (print_operand_address): Handle ELF syntax.
- 	(output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
- 	* rs6000.md (load_toc_aix_di): Handle ELF syntax.
- 	* rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
- 
- 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_override_options): Only disable
- 	flag_function_sections for XCOFF.
- 	(exact_log2_cint_operand): New predicate.
- 	(reg_or_{add,sub}_cint64_operand): New predicates.
- 	(add_operand): Compare CONST_INT with fewer function calls.
- 	(rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
- 	(print_operand, case 'p'): Ensure positive operand.
- 	(rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
- 	* rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
- 	(PREDICATE_CODES): Add new predicates.
- 	* rs6000.md (addsi3): Split 32-bit constants more correctly.
- 	(divsi3, modsi3): Ensure positive power-of-2.
- 	(adddi3): Use new predicate.  Split 32-bit constants more
- 	correctly.  Re-arrange splitter to handle any constant.
- 	(subdi3): Use new predicate.
- 	(divdi3, moddi3): Ensure positive power-of-2.
- 	(movdi): Use rs6000_emit_set_const.
- 	(load_toc_v4_pic_di): Delete.
- 
- 2001-07-31  Graham Stott <grahams@redhat.com>
- 
- 	* function.c (pad_below): Revert 2001-07-26 patch.
- 
- Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack (convert_regs_1): Fix best edge condition.
- 
- Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (duplicate_loop_exit_test): Better test for jumps
- 	entering the loop; create loop pre_header.
- 
- 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
- 
- 	* doc/install.texi: Add s390 and s390x as new targets.
- 	* doc/invoke.texi: Add documentation of S/390 and zSeries
- 	target options.
- 	* doc/md.texi: Add documentation of S/390 and zSeries constraints.
- 
- 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.md: Replace all general_operand with
- 	nonimmediate_operand for all destinations.
- 	* config/m68k/m68k.c (not_sp_operand): Likewise.
- 
- Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* flow.c (merge_blocks): Return 1 if an extra jump is inserted.
- 
- 2001-07-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
- 	* config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
- 
- 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
- 	Add missing doc strings
- 	* config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
- 	* config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
- 
- Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_output_main_function_alignment_hack): New function.
- 	(TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
- 
- 	* flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
- 	edges by EDGE_DFS_BACK flag.
- 	(dump_edge_info): Add dfs_back flag.
- 	* basic-block.h (EDGE_DFS_BACK): New constant.
- 	(mark_dfs_back_edges): Declare.
- 	* alias.c (loop_p): Remove.
- 	(mark_constant_function): Use mark_dfs_back_edges.
- 
- 	* reg-stack.c (block_info_def): Add predecessors counter and stack_out.
- 	(reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
- 	(compensate_edge): Break out from ...
- 	(convert_regs_1): ... here; do smart choosing of stack_out to copy.
- 	(convert_regs_2): Set block_done once block is really done;
- 	Do updating of the predecessors counts.
- 
- 	* toplev.c (rest_of_compilation): Recompute block_for_insn
- 	before post-reload cfg_cleanup.
- 	* function.c (thread_prologue_epilogue_insns):
- 	Call set_block_for_new_insns when emitting prologue directly.
- 
- 2001-07-30  Andreas Jaeger  <aj@suse.de>
- 
- 	* jump.c: Add prototype for mark_modified_reg.
- 
- 	* cse.c (set_live_p): Add unused attribute.
- 
- 	* gcov.c (calculate_branch_probs): Use gcov_type to avoid
- 	overflow.
- 	(scan_for_source_files): Use long for count to avoid overflow.
- 	(output_data): Likewise.
- 	(output_data): Don't use string concatatenation to silence gcc
- 	-traditional.
- 
- 	* predict.c: Fix typos and grammar.
- 
- 	* gcse.c (insert_insn_end_bb): Remove unused variables.
- 
- Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
- 	(attempt_auto_inc): LIkewise.
- 	(mark_used_reg): Likewise.
- 	(try_pre_increment_1): Likewise.
- 	* regclass.c (regclass): Likewise.
- 	* global.c (allocno_compare): Update comment; change scaling factor.
- 	* local-alloc.c (QTY_CMP_PRI): Likewise.
- 	* regs.h (REG_FREQ_FROM_BB): New.
- 	(REG_FREQ_MAX): Likewise.
- 
- 2001-07-30  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
- 	-D_GNU_SOURCE.
- 
- 2001-07-30  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
- 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
- 	(FUNCTION_NAME_ALREADY_DECLARED): Likewise.
- 
- 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
- 	as -mthumb-interwork when -mcpu=arm7 is specified.
- 
- Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.def (noreturn, loop branch, loop exit): Mark as first
- 	match heuristics.
- 
- Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (try_combine): Avoid barrier after noop jumps.
- 
- 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): Remove import_warning.
- 	* cpplib.c (skip_rest_of_line): Don't bother turning off
- 	macro expansion.
- 	(parse_include): Move include handling to...
- 	(do_include_common): ... here.  Move import warning from...
- 	(do_import): ... here.
- 	(do_pragma_poison): Don't do a callback for poison identifiers.
- 	* cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
- 	* cppmain.c (setup_callbacks): Similarly.
- 
- Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
- 	handle multiple sets.
- 	* except.c (sjlj_mark_call_sites): .... here.
- 	* gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
- 
- Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	Suggested by Richard Henderson and Richard Kenner:
- 	* combine.c (recog_for_combine): Use the fake recog
- 	only if instruction does not match.
- 	* rtl.h (NOOP_MOVE_INSN_CODE): New.
- 	* rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
- 
- 	* combine.c (try_combine): Discover noop jump as direct jump.
- 
- 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* df.c (df_rd_global_compute): Add successors to worklist, not
- 	current item.
- 	(df_ru_global_compute): Ditto.
- 
- 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
- 	increment REG_N_SETS.
- 
- 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* sbitmap.h: New prototype for sbitmap_a_xor_b.
- 
- 	* sbitmap.c (sbitmap_a_xor_b): New function.
- 	ifdef the basic block stuff on IN_GCC.
- 
- 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cppexp.c (parse_defined): Always record the macro name.
- 	(lex): Don't worry about identifiers, or special-case
- 	CPP_NOT here.
- 	(_cpp_parse_expr): Figure out at the end of the routine
- 	whether we saw a valid !defined() expression.
- 	* cppfiles.c (stack_include_file): Update for mi_valid.
- 	(_cpp_pop_file_buffer): Similarly.
- 	* cpplex.c (_cpp_lex_token): Similarly.
- 	* cpphash.h (enum mi_state, enum mi_ind, mi_state,
- 	mi_if_not_defined, mi_lexed): Remove.
- 	(mi_valid): New.
- 	* cpplib.c (do_if): Simplify.
- 	(do_endif, push_conditional, _cpp_handle_directive): Update
- 	for renaming of mi_state to mi_valid.
- doc:
- 	* cpp.texi: Add index entries for digraphs, and add comment
- 	that C++ refers to them as alternative tokens.
- 
- Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (CLEANUP_PRE_LOOP): New.
- 	* except.c (finish_eh_generation): Update call of cleanup_cfg.
- 	* sibcall.c (optimize_sibling_calls): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* flow.c (try_forward_edges): Take argument MODE;
- 	do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
- 	(try_optimize_cfg): Update call of try_forward_edges.
- 
- Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
- 				Jan Hubicka  <jh@suse.cz>
- 
- 	* (validate_replace_rtx_1): Fix simplification of MINUS.
- 
- 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/3669
- 	* cppinit.c (init_dependency_output): Turn off dump requests
- 	if sending dependencies to stdout.
- 
- 2001-07-28  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
- 	not optimizing.
- 
- 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
- 
- 	* config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
- 
- 2001-07-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
- 	is VAR_DECL first to prevent an ICE.
- 
- 2001-07-28  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (immed_real_const_1): Don't elide special cases for
- 	nested functions.
- 	(clear_const_double_mem): Clear const_tiny_rtx too.
- 
- 2001-07-28  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (dw_val_class_offset): New.
- 	(struct dw_ranges_struct, dw_ranges_ref): New.
- 	(ranges_table, ranges_table_allocated): New.
- 	(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
- 	(add_AT_offset, add_ranges, output_ranges): New.
- 	(print_die, output_die): Handle dw_val_class_offset.
- 	(attr_checksum, size_of_die, value_format): Likewise.
- 	(gen_lexical_block_die): Handle non-contiguous blocks.
- 	(gen_block_die): Likewise.
- 	(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
- 	if needed.  Dump the ranges table.
- 	* final.c (final_start_function): Remove unnecessary notes and
- 	rebuild the block tree before numbering the blocks.
- 	* function.c (reorder_blocks_0): Walk the existing block tree
- 	to unmark all blocks.
- 	(reorder_blocks_1): Create block fragments when duplicate block
- 	notes are seen.
- 	(reorder_fix_fragments): New.
- 	(reorder_blocks): Call it.
- 	* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
- 
- 2001-07-28  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (adjust_address): Make a copy of the memory address.
- 
- 2001-07-28  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (add_to_mem_set_list): New function.
- 	(init_propagate_block_info): Use it.
- 	(mark_set_1): Likewise.
- 	(insn_dead_p): Canonicalize memory address for dead store
- 	comparison.  Allow wider mode stores to kill narrower mode stores.
- 	(invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
- 	(invalidate_mems_from_set): Don't handle MEMs.
- 
- 2001-07-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.
- 
- Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (EDGE_FREQUENCY): New macro.
- 	* bb-reorder (fixup_reorder_chain): Set counts and frequencies
- 	for new BB/edges.
- 	* flow.c (find_sub_basic_blocks): Likewise.
- 	(try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
- 	(redirect_edge_and_branch): Use EDGE_FREQUENCY.
- 
- 	* predict.c (DEF_PREDICTOR): New argument FLAGS.
- 	(HITRATE): New macro.
- 	(PRED_FLAG_FIRST_MATCH): New constant.
- 	(predictor_info): New field flgags.
- 	(combine_predictions_for_insn): Use DS theory to combine
- 	probabilities; set the edge probabilities when finished.
- 	(estimate_probability): Avoid duplicated matches
- 	of LOOP_BRANCH heuristics for nested loops; update comment.
- 	* predict.def: Add flags for each prediction, set probabilities
- 	according to B&L paper.
- 	* predict.h (DEF_PREDICTOR): New argument FLAGS.
- 
- 	* profile.c (compute_branch_probabilities):  Cleanup way the edge
- 	probabilities are computed and REG_BR_PROB notes are dropped; if
- 	values does not match, emit error.
- 	(init_branch_prob): Do error instead of warning when profile driven
- 	feedback is missing or corrupt.
- 
- 2001-07-27  DJ Delorie  <dj@redhat.com>
- 
- 	* ifcvt.c (noce_get_alt_condition): If the condition is a compare
- 	against a constant, try to adjust the compare to have the desired
- 	constant in it so that min/max optimizations happen more often.
- 
- Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (last_loop_beg_note): New function.
- 	(redirect_edge_and_branch): Use it.
- 	(split_edge): Likewise.
- 
- 	* alias.c (loop_p): Avoid uninitialized memory access.
- 
- 	* flow.c (try_forward_edges): Avoid accessing freed memory.
- 
- 	* flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
- 	variable access.
- 
- 2001-07-26  Andrew Haley  <aph@redhat.com>
- 	Joern Rennecke <amylaar@redhat.com>
- 
- 	* config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
- 	(SUBTARGET_CPP_ENDIAN_SPEC): New.
- 	(SUBTARGET_CPP_SPEC): New.
- 	(CPP_SPEC): Remove.
- 	* config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
- 	(SUBTARGET_CPP_PTR_SPEC): New.
- 	(CPP_DEFAULT_CPU_SPEC): New.
- 	(EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
- 	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
- 	(CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
- 	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
- 	(SUBTARGET_CPP_SPEC): Define as an empty string.
- 
- 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Configuration): Properly link the host
- 	specific instructions also when generating HTML.
- 
- Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* flow.c (redirect_edge_and_branch_force): Test
- 	target->global_live_at_start.
- 
- 2001-07-26  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (avoid_constant_pool_reference): Export.
- 	* rtl.h (avoid_constant_pool_reference): Declare it.
- 	* dwarf2out.c (add_location_or_const_value_attribute): Use it.
- 	(add_const_value_attribute): Use add_AT_unsigned for unsigned values.
- 
- Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtl.h (cleanup_barriers): Declare.
- 	* jump.c (cleanup_barriers): New function.
- 	* toplev.c (rest_of_compilation): Call cleanup_barriers
- 	before loop optimizer and after bb_reorder.
- 
- 	* flow.c (back_edge_of_syntactic_loop_p): New.
- 	(split_edge): Use it.
- 
- 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* glimits.h (_MACH_MACHLIMITS_H_): Delete.
- 
- Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* cse.c (cse_process_notes): Replace any registers if the address
- 	remains valid.
- 
- Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
- 
- 	* basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
- 	(PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
- 	(propagate_block): Update prototype.
- 	* flow.c (update_life_info): Simplify the CFG and
- 	recalculate the global regs which are alive when
- 	removing dead code during a global update.
- 	(propagate_block): Return nonzero if an INSN is
- 	deleted.
- 
- 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in (LIBICONV): Define.
- 
- 2001-07-26  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
- 	of conditional to avoid tree checking errors.
- 
- 2001-07-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* regmove.c (regmove_optimize): Don't replace a reg with
- 	another reg of a different mode.
- 
- 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
- 	limit length of dependency flush list.
- 	* params.h (MAX_PENDING_LIST_LENGTH): Define.
- 	* sched-int.h  (struct deps): Add pending_flush_length field.
- 	* sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
- 	has 1 element in it.
- 	(sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
- 	(sched_analyze): After a jump, if the pending memory flush list is too
- 	large, flush the pending lists.
- 	(init_deps): Initialize pending_flush_length to 0.
- 	* doc/invoke.texi (max_pending_list_length): Document parameter.
- 
- 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
- 	* dbxout.c (dbxout_global_decl): Move outside #ifdef.
- 	* Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
- 
- 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct_lexer_state): Delete was_skipping.
- 	Move skipping here from struct cpp_reader.
- 	* cpplex.c (parse_identifier): Update.
- 	(_cpp_lex_token): Don't skip tokens in a directive.
- 	* cpplib.c (struct if_stack): Update.
- 	(start_directive, end_directive): Don't change skipping state.
- 	(_cpp_handle_directive): Update.
- 	(do_ifdef, do_ifndef, do_if, do_elif): Similarly.
- 	(do_else, do_endif): Update; only check for excess tokens if not
- 	in a skipped conditional block.
- 	(push_conditional): Update for new struct if_stack.
- 
- 2001-07-26  Graham Stott  <grahams@redhat.com>
- 
- 	* function.c (locate_and_pad_parm): Also pad initial offset
- 	so that the total argument size also includes the padding.
- 
- 2001-07-26  Graham Stott <grahams@redhat.com>
- 
- 	* gensupport.c (alter_output_for_insn): Correct enable checking failure
- 	change XSTR to XTMPL.
- 
- 	(process_one_cond_exec): Likewise
- 
- 2001-07-25  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (assemble_variable): Create DECL_RTL before setting
- 	TREE_ASM_WRITTEN.
- 
- Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability): Avoid duplicated predictions.
- 
- 	* loop.c (find_and_verify_loops): Grok multiple barriers.
- 
- Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
- 
- 	* dbxout.c: Consistently use putc instead of fputc.
- 	(print_wide_int): New function; call instead of direct fprintf.
- 	(dbxout_type_index): Adjust calls of CHARS to be more accurate.
- 	(dbxout_type_fields, dbxout_type_method_1): Likewise.
- 	(dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
- 	(print_int_cst_octal): Likewise.
- 	(print_octal): Show we wrote characters.
- 	(dbxout_type): Set have_used_extensions in more places.
- 
- 2001-07-25  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.c (v850_va_arg):  Use addr
- 	instead of valist to build incr.
- 
- Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (delete_dead_jumptables): New function.
- 	(life_analyzis): Call it.
- 	* bb-reorder.c (skip_insns_after_block): Handle contradictory
- 	sequences.
- 
- 2001-07-25  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (reachable_handlers): Handle a region being removed
- 	out from under a RESX.
- 
- 2001-07-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_move): Always
- 	swap GE/GT if it is an fp comparison.
- 
- 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* alias.c (rtx_equal_for_memref_p): Allow strings as types in
- 	operands.
- 
- Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa.c (rename_insn_1): Do not wrap an assignment to a
- 	paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
- 	glitch.
- 
- 	* ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
- 	throw an exception.
- 	(visit_expression): When attempting to simplify an expression,
- 	retrieve any modes for arguments before they are simplified
- 	to constants.
- 
- 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
- 	    Janis Johnson  <janis@us.ibm.com>
- 
- 	* stmt.c (expand_goto): A nonlocal goto can be a call too.
- 	* builtins.c (expand_builtin_longjmp): Reverse label and static chain
- 	pointer parameters to match documented usage of nonlocal_goto.
- 	* config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
- 	parameters to their correct order.
- 	* config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
- 	parameters to their correct order.
- 
- 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
- 
- 2001-07-25  Jan Hubicka  <jh@suse.cz>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (find_sub_basic_blocks): Fix handling of the last BB in
- 	the sequence.
- 	(make_edges): New argument update_p; populate the edge cache if set.
- 	(find_basic_blocks): Update make_edges invocation.
- 
- 2001-07-24  Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
- 
- 2001-07-24  Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
- 	-Acpu and -Amachine.h.
- 	* config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
- 	Corrected header to say ELF not a.out.
- 	* config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
- 	when given -msoft-float.
- 
- 2001-07-24  Joel Sherrill <joel@OARcorp.com>
- 
- 	* config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
- 	extra multilib parts like arm-elf.
- 	(i960-*-coff*, i960-*-rtems): Should not use collect2.
- 	(m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
- 	crtfini.o as extra multilib parts.
- 
- 2001-07-24  Joel Sherrill <joel@OARcorp.com>
- 
- 	* configure.in: Add rtems as a supported thread model.
- 	* gthr-rtems.h: Add missing entry point __gthread_active_p.
- 	* configure: Rebuilt.
- 
- 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* stor-layout.c (get_mode_alignment): make it work when
- 	BITS_PER_UNIT is not a power of two.
- 	* builtins.c (get_pointer_alignment): Likewise.
- 
- 2001-07-24  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (avoid_constant_pool_reference): Coerce
- 	the retrieved constant into the expected mode.
- 
- Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_simplify_condjump): Avoid duplicated edges.
- 	(verify_flow_info): Check for duplicated edges; clarify
- 	error reporting.
- 
- 	* flow.c (block_label): Update basic_block_for_insn.
- 	(commit_edge_insertions): Call compute_bb_for_insn.
- 
- 	* flow.c (purge_dead_edges): Handle conditional jumps and conditional
- 	returns too.
- 
- 	* flow.c (redirect_edge_and_branch,
- 	try_optimize_cfg): Use redirect_edge_succ_nodup
- 	(redirect_edge_succ_nodup): New.
- 	* basic_block.h (redirect_edge_succ_nodup): Declare.
- 
- 	* toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
- 	after gcse.
- 
- Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_forward_edges): Accept fallthru edge; Update comment.
- 	(try_crossjump_to_edge): Update commetns.
- 	(try_crossjump_bb): Likewise.
- 
- 2001-07-24  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (distribute_notes): Move set of need_refresh
- 	for noop_move_p down to catch all cases.
- 
- Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (split_all_insns_noflow): New.
- 	* rtl.h (split_all_insns_noflow): Declare.
- 	* ia64.c (ia64_reorg): Use split_all_insns_noflow.
- 	* m68hc11.c (m68hc11_reorg): Likewise.
- 	* sh.c (machine_dependent_reorg): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise for last split_all_insns
- 	call.
- 
- 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
- 	(ashlsi3_n splitter): Likewise.
- 	(lshrsi3_n splitter): Likewise.
- 
- 	(GOTaddr2picreg): Make const SImode.
- 	(sym_label2reg): Likewise.
- 	(symGOT2reg): Likewise.
- 	(symGOTOFF2reg) Likewise.
- 
- 	(casesi_worker_0): Make unspec SImode.
- 
- 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/sh/sh.c (barrier_align): Check that an operand really is
- 	an insn before extracting its INSN_CODE.
- 
- 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
- 	dangling else.
- 
- 	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
- 	for SImode to prevent overflow.
- 
- 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/irix6-libc-compat.c: New file.
- 	* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
- 	* doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
- 	passing workaround.
- 
- 2001-07-24  lars brinkhoff  <lars@nocrew.org>
- 
- 	* rtl.texi (REG_POINTER): Document.
- 	(Machine Modes): Document BImode, OImode, PQImode, PHImode,
- 	QFmode, HFmode, TQFmode, QCmode, and HCmode.
- 
- Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (delete_noop_moves): Do not confuse libcall regions.
- 
- 2001-07-23  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
- 
- 2001-07-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	general_operand_dst_push.
- 	* config/h8300/h8300.c (general_operand_dst_push): New.
- 	* config/h8300/h8300.h (OK_FOR_T): New.
- 	(EXTRA_CONSTRAINT): Use it.
- 	* config/h8300/h8300.md (movqi_push): Remove and integrate into
- 	the existing movqi pattern.
- 	(movhi_push): Likewise.
- 
- 	* reload.c: Fix comment typos.
- 
- Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (cprop_insn): Update call of cprop_cc0_jump.
- 
- 2001-07-23  H.J. Lu  (hjl@gnu.org)
- 
- 	* doc/extend.texi: Update __builtin_return_address and
- 	__builtin_frame_address.
- 
- 2001-07-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_setcc): Don't use method 0
- 	before CSE.
- 	* config/i386/i386.md: New setcc+movzbl peephole2.
- 
- 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* objc/Make-lang.in (objc-act.o): Depend on debug.h.
- 	* objc/objc-act.c: Include debug.h.
- 	(synth_module_prologue): Save and restore debug hooks too.
- 
- 2001-07-23  lars brinkhoff  <lars@nocrew.org>
- 
- 	* tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
- 	and C4X_FLOAT_FORMAT.
- 	(BOOL_TYPE_SIZE): Document.
- 
- Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
- 
- 	* unroll.c (loop_iterations): Fix miscalculation of initial
- 	giv offset.
- 
- 2001-07-13  Andrew Haley  <aph@redhat.com>
- 
- 	* doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
- 	* config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
- 	* config/sh/sh.c (sh_can_redirect_branch): New function.
- 	* config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
- 	* reorg.c (steal_delay_list_from_target): Use
- 	MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
- 
- Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_simplify_condjump): Unlink insn chain on
- 	fallthru edge; use can_fallthru.
- 
- Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (find_sub_basic_block): Declare.
- 	* flow.c (make_edges): New arguments MIN and MAX;
- 	(find_sub_basic_blocks): Revamp to use make_edges
- 	and purge_dead_edges.
- 	(find_basic_blocks): Update call of find_sub_basic_block.
- 
- 	* recog.c (split_all_insns): Always expect CFG to be consistent;
- 	call find_sub_basic_blocks in case something has changed.
- 	* toplev.c (rest_of_compilation): Always call split_all_insns once CFG
- 	has been built.
- 
- 	* basic-block.h (delete_noop_moves): Declare.
- 	* combine.c (combine_instructions): Call it.
- 	(recog_for_combine): Tolerate noop moves
- 	(distribute_notes): Force refresh when register dies at noop move.
- 	* flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
- 	too.
- 	(life_analysis): Update delete_noop_moves call.
- 	(set_noop_p): Move too ...
- 	* rtlanal.c (noop_move_p): ... here.
- 	* rtl.h (noop_move_p): Declare.
- 
- 	* basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
- 	* toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
- 	after combine.
- 	* gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
- 	(cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.
- 
- 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* reload.c (push_reload): Fix typo in comment.
- 	(find_reloads_address): Ditto.
- 	(reg_overlap_mentioned_for_reload_p): Ditto in head comment.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c: Grammar check and clarify a lot of comments.
- 	(try_simplify_condjump): Rename variables to be clearer.
- 	(try_forward_edges): Skip complex and fallthru edges.
- 	Rearrange tests to avoid duplicate checks.
- 	(flow_find_cross_jump): Likewise.
- 	(outgoing_edges_match): Allow match if neither branch has
- 	probability data.  Loosen probability match to 5%.
- 	(try_crossjump_to_edge): Hoist repeated indirection into
- 	local variables.
- 	(try_crossjump_bb): Don't check complex edges.  Eliminate
- 	redundant crossjump tests.
- 	(try_optimize_cfg): Fix use of bool.  Reorganize cheaper
- 	checks before more expensive checks.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
- 	INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
- 	arguments.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
- 	(const_sint32_operand): Likewise.
- 	* m68k.md (anon mulsi pattern): Use const_int_operand not
- 	const_sint32_operand.
- 	(umulsi3_highpart): Zero extend a constant input.
- 	(smulsi3_highpart): Don't bother checking SImode constant.
- 	(const_umulsi3_highpart): Give op3 DImode.
- 	(const_smulsi3_highpart): Likewise.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (split_block): Make sure bb_note is included in the
- 	new block when splitting before a label.
- 
- Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (redirect_edge_and_branch_force,
- 	redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
- 	* flow.c (redirect_edge_and_branch_force,
- 	redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
- 	(redirect_edge_and_branch_force): Fix copying of lifeness information.
- 	(block_label): Handle EXIT_BLOCK_PTR by returning NULL.
- 	* ifcvt.c (dead_or_predictable): Take BB as an new destination
- 	instead of label; update CFG after transformation.
- 	(find_if_case_1): Update call, use redirect_edge_and_branch_force
- 	for finishing the transformation; handle even case where ELSE
- 	does not follow THEN.
- 	(find_if_case_2): Update call of dead_or_predictable; simplify
- 	CFG update.
- 
- 	* emit-rtl.c (split_branch_probability): New global variable.
- 	(try_split): Take care to set split_branch_probability and
- 	create REG_BR_PROB note for new jump insns.
- 	* md.texi (define_split): Document new feature.
- 
- 	* i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
- 
- 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
- 	(asm_out_file): Remove redundant declaration.
- 	(assemble_asm): Remove old #if 0 block.
- 	(assemble_variable): Remove end of function; debug output is
- 	now handled with global_decl.  Remove old #if 0 block.  Update.
- 	Remove saved_in_section and associated no-op code.
- 	* Makefile.in (varasm.o): Correct dependencies.
- 
- Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
- 	the definition in defaults.h.
- 
- Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c: Update comments.
- 	(delete_barrier_successors, delete_unreferenced_labels,
- 	delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
- 	delete_labelref_insn, redirect_tablejump, jump_optimize_1,
- 	jump_optimize, jump_optimize_minimal): Kill.
- 	(rebuild_jump_labels): Move code from jump_optimize_1.
- 	(purge_line_number_notes): Likewise.
- 	(copy_loop_headers): Likewise.
- 	* reg-stack.c: Update comment.
- 	* stmt.c: Likewise.
- 	* rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
- 	JUMP_AFTER_REGSCAN): Kill.
- 	* toplev.c (rest_of_compilation): Use cleanup_cfg, call
- 	purge_line_number_notes and copy_loop_headers.
- 
- 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
- 	   Richard Henderson  <rth@redhat.com>
- 
- 	* dbxout.c (dbxout_global_decl): New.
- 	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
- 	* sdbout.c (sdbout_finish): New.
- 	(sdbout_debug_hooks): Use it, add comments.
- 	(sdbout_global_decl): Defer initialized public vars to
- 	sdbout_finish.
- 	* varasm.c (assemble_variable): Don't output debug information
- 	for file-scope variables.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (get_trap_mode_suffix): New.
- 	(get_round_mode_suffix): New.
- 	(print_operand): Use them for [/].  Remove support for [&'`()+].
- 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
- 	* config/alpha/alpha.md (attr round_suffix): New.
- 	(attr trap_suffix): New.
- 	(all insns): Set them appropriately.  Use %/ instead of the
- 	myriad punctuators.
- 
- 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
- 
- 2001-07-22  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (regrename_optimize): Compute nregs for each
- 	potential target register.
- 
- 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
- 	   Richard Henderson  <rth@redhat.com>
- 
- 	* dbxout.c (dbxout_global_decl): New.
- 	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
- 	* sdbout.c (sdbout_finish): New.
- 	(sdbout_debug_hooks): Use it, add comments.
- 	(sdbout_global_decl): Defer initialized public vars to
- 	sdbout_finish.
- 	* varasm.c (assemble_variable): Don't output debug information
- 	for file-scope variables.
- 
- 2001-07-21  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/mips/mips.c (mips_cpu): Moved into ...
- 	(override_options): Here.
- 
- 	* config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
- 	mips_tune.
- 	(mips_cpu): Removed.
- 
- 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
- 	("iorqi3"): Likewise.
- 	("xorqi3"): Likewise.
- 	("*addhi3"): Fix constraint to avoid reloading in a soft register.
- 	("*subhi3_sp): Likewise.
- 	("*subhi3"): Likewise.
- 	("extendhisi2"): Accept D, X and Y as source operand to avoid
- 	reload problems.
- 
- 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
- 	* config/freebsd.h: Likewise.
- 	* config/linux.h: Likewise.
- 	* config/openbsd.h: Likewise.
- 	* config/alpha/linux-elf.h: Likewise.
- 	* config/arm/linux-elf.h: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/fr30/fr30.h: Likewise.
- 	* config/ia64/aix.h: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/mips/linux.h: Likewise.
- 	* config/pj/pj.h: Likewise.
- 	* config/rs6000/linux.h: Likewise.
- 	* config/sparc/linux.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 
- 2001-07-20  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
- 	because getc() and char* may disagree on signedness.
- 
- 2001-07-20  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/rtl.texi (REG_DEAD): Update for current semantics.
- 
- 	* flow.c (try_redirect_by_replacing_jump): Correctly compute which
- 	insns to delete in the presence of cc0 in a jump insn.
- 
- Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
- 				Jan Hubicka  <jh@suse.cz>
- 
- 	* m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
- 	of doing the change by hand.
- 
- Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (set_noop_p): Return true for noop jumps.
- 
- 	* expr.c (emit_single_push_insn): Add call to push expander.
- 	* expr.h (optab_index): Add OTI_push
- 	(push_optab): New constant.
- 	* genopinit.c (optabs): Add push_optab.
- 	* optabs.c (init_optab): Init push optab.
- 	* md.texi (push??1): Document
- 
- 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
- 	expand to emit the pattern; put a REG_INC note for push/pop
- 	instructions.
- 	("movdf", "movdf_internal"): Likewise.
- 	("movsi", "movsi_internal"): Likewise.
- 	("movsf", "movsf_internal"): Likewise.
- 	("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
- 
- 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
- 	gen_highpart.
- 
- 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* params.def: Change default max inline insns to 100.
- 
- 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): Generate a new shift operation
- 	when simplifying the first operand of a (neg (ashift)) expression.
- 
- 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* regclass.c (N_REG_INTS): Use only 32 bits per element.
- 
- 2001-07-20  Kelley Cook  <kelley.cook@home.com>
- 
- 	* doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
- 	information.   Move rest into ...
- 	(*-*-solaris): ... here.  Eliminate redundant information and
- 	reword necessary packages section.  Delete 4.x assembler bug info.
- 	(sparc-sun-*): Merge into ...
- 	(sparc-sun-sunos*): here.
- 
- 2001-07-20  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.md (casesi): Generate LABEL_REF
- 	with Pmode.
- 
- Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
- 	* i386.c (ix86_zero_extend_to_Pmode): Make global.
- 	* i386.md (strclrsi expander): Use it.
- 
- Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_insn_list): handle
- 	NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
- 	(copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
- 	identically as to CODE_LABEL.
- 
- 	* fold-const (fold): Convert A/B/C to A/(B*C) and
- 	A/(B/C) to (A/B)*C
- 
- 	* except.c (connect_post_landing_pads): Delete the RESX insns.
- 
- 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
- 
- 	* config/mips/mips.md (nmadd/nmsub): Use macro.
- 
- 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cppinit.c (remove_dup_dir): Make static.
- 	(remove_dup_dirs): Make static. Only warn about preempting a
- 	system directory with a non-system directory.
- 
- 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* ifcvt.c (noce_try_store_flag_constants): Correct order
- 	of parameters to trunc_int_for_mode.
- 
- 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* reorg.c (fill_simple_delay_slots): If an instruction might throw
- 	an exception that will be caught within this function, do not fill
- 	its delay slot with any subsequent instruction.
- 
- 2001-07-19  Steve Ellcey <sje@cup.hp.com>
- 
- 	* tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
- 	* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
- 	pointer extension instruction.
- 	* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
- 	* simplify-rtx.c (simplify_unary_operation) Likewise.
- 	* explow.c (convert_memory_address) Check value of
- 	POINTERS_EXTEND_UNSIGNED to avoid some conversions when
- 	less than zero.
- 	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
- 	MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
- 	* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
- 	Add Multilib Support.
- 	(POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
- 	* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
- 	Add Multilib Support.
- 	(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
- 	support.
- 	* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
- 	* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
- 	a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
- 
- 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
- 	old and new operands in `<', `3' and `b'.
- 
- 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
- 	(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
- 	(toplev.o): Don't depend on xcoffout.h.
- 	* c-decl.c: Include debug.h
- 	(duplicate_decls): Use debug hook.
- 	* dbxout.c (dbxout_source_file, dbxout_args): Make static.
- 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
- 	(dbxout_types): Remove.
- 	* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
- 	* debug.c (do_nothing_debug_hooks): Update.
- 	(debug_true_tree, debug_nothing_rtx): New.
- 	* debug.h (struct rtx_def): New.
- 	(struct gcc_debug_hooks): New hooks ignore_block,
- 	outlining_inline_function and label.
- 	(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
- 	dwarf2out_frame_finish): New.
- 	* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
- 	Make static, update prototype.
- 	(dwarf2_debug_hooks): Update.
- 	* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
- 	dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
- 	* dwarfout.c (dwarf_debug_hooks): Update.
- 	* emit-rtl.c: Include debug.h.
- 	(remove_unnecessary_notes): Use debug hook.
- 	* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
- 	(final_scan_insn): Use debug hook.
- 	* integrate.c (output_inline_function): Use debug hook.
- 	* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
- 	(sdb_debug_hooks): Update.
- 	* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
- 	* toplev.c: Don't include xcoffout.h.
- 	(note_outlining_of_inline_function, debug_ignore_block): Remove.
- 	* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
- 	Remove.
- 	* tree.h (dwarf2out_do_frame): Remove.
- 
- 2001-07-19  Catherine Moore  <clm@cygnus.com>
- 
- 	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
- 
- 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* reload1.c (eliminate_regs_in_insn): When updating a set
- 	to the frame pointer to the hardware frame pointer, perform
- 	the update always not just when REPLACE is set.
- 
- 	* reload1.c (choose_reload_regs): Don't inherit a reload
- 	that crosses multiple registers if registers past the first
- 	don't fit in the desired class.
- 
- 	* ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
- 	when negating constants.
- 
- 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
- 	* doc/tree.texi: Ditto.
- 
- 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
- 	(extract_cie_info): Handle "eh" augmentation properly,
- 	remember eh_ptr.
- 	(struct frame_state, __frame_state_for): New.
- 
- 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
- 	HANDLE_SYSV_PRAGMA): Define.
- 	* mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
- 	previous args.
- 	(copy_object): Caller changed.
- 
- 2001-07-19  Andreas Schwab  <schwab@suse.de>
- 
- 	* configure.in (assembler dwarf2 debug_line support): Define nop
- 	insn for m68k.
- 	* configure: Regenerated.
- 
- 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
- 	dwarfout.h.
- 	* dbxout.c (dbxout_function): Rename dbxout_function_decl, move
- 	to conditionally compiled block.
- 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
- 	* dbxout.h (dbxout_function): Remove.
- 	* debug.c (do_nothing_debug_hooks): Update.
- 	* debug.h (struct gcc_debug_hooks): New hooks function_decl,
- 	global_decl, deferred_inline_function.
- 	* dwarf2out.c (dwarf2_debug_hooks): Update.
- 	(dwarf2out_global_decl): New.
- 	* dwarfout.c: Don't include dwarfout.h.
- 	(dwarfout_global_decl, dwarfout_function_decl,
- 	dwarfout_deferred_inline_function): New.
- 	(dwarf_debug_hooks): Update.
- 	* dwarfout.h: Remove.
- 	* final.c: Don't include dwarfout.h.
- 	* sdbout.c (sdbout_global_decl): New.
- 	(sdbout_debug_hooks): Update.
- 	* toplev.c: Don't include dwarfout.h.
- 	(check_global_declarations, rest_of_compilation): Use new debug hooks.
- 	(note_deferral_of_defined_inline_function): Remove.
- 	* toplev.h (note_deferral_of_defined_inline_function): Remove.
- 	* ch/Makefile.in (lex.o): No dependence on dwarfout.h.
- 	* ch/lex.c: Don't include dwarfout.h.
- 	* cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
- 	(semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
- 	* cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
- 	* cp/optimize.c: Include debug.h.
- 	(maybe_clone_body): Use debug hook.
- 	* cp/semantics.c: Include debug.h.
- 	(expand_body): Use debug hook.
- 	* po/POTFILES.in: Remove dwarfout.h.
- 
- 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
- 	* c-parse.in (yyerror, _yylex): Similarly.
- 	* cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
- 	Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
- 	Update comments.
- 	* cpplib.h (CPP_INT, CPP_FLOAT): Remove.
- 	* cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
- 
- 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* dwarf2out.c (dwarf2out_abstract_function): Don't emit
- 	in-class declaration at -g1.  Fixes c++/2814.
- 
- 2001-07-18  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/md.texi (reload_in/out): Document restrictions in predicates
- 	and constraints for these patterns.  Document empty string matching
- 	ALL_REGS.
- 
- 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
- 
- Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c: Undo my previous patch.
- 
- 2001-07-18  Tom Tromey  <tromey@redhat.com>
- 
- 	For PR java/2812:
- 	* configure: Rebuilt.
- 	* configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
- 	instead.
- 	* aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
- 
- Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
- 				Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (redirect_edge_and_branch): Bail out on complex edges.
- 	(try_optimize_cfg): Do not remove tail recursive labels before sibcall.
- 	* jump.c (mark_jump_label): Do not forward branches.
- 
- Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (delete_trivially_dead_insns): Delete the libcall block
- 	when return value is unused.
- 
- Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
- 
- Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
- 	on error.  We can't blindly return the result of
- 	pthread_mutex_trylock because it returns a positive number on
- 	error, while we must return -1 on error.
- 	(__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
- 	fixes.
- 	Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
- 
- 2001-07-18  Andreas Jaeger  <aj@suse.de>
- 
- 	* integrate.c (output_inline_function): Correct type of debug_hooks.
- 
- 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* combine.c (combine_simplify_rtx): DIV can be treated
- 	associatively for floats if unsafe math optimisations are enabled.
- 
- 2001-07-17  Richard Henderson  <rth@redhat.com>
- 
- 	* reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
- 
- 2001-07-17  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
- 	don't force the function address into a register.
- 	(expand_call, emit_library_call_value_1): Update callers.
- 	* builtins.c (expand_builtin_apply): Likewise.
- 	* expr.h (prepare_call_address): Update decl.
- 
- 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
- 
- 	* config.gcc: For *-*-chorusos triplet, get chorus.h file from
- 	config directory.
- 	* config/i386/chorus.h: Move up.
- 	* config/sparc/chorus.h: Likewise.
- 	* config/rs6000/chorus.h: Likewise.
- 	* config/chorus.h: Moved here.
- 
- 2001-07-17  Andreas Schwab  <schwab@suse.de>
- 
- 	* configure.in  (assembler eh_frame optimization): Handle big
- 	endian.
- 	* configure: Regenerated.
- 
- Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (epxand_expr): Convert divisions into multiplications by
- 	reciprocals if -ffast-math.
- 
- 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* dbxout.c (dbxout_really_begin_function): Rename to
- 	dbxout_begin_function.
- 	(dbx_debug_hooks, xcoff_debug_hooks): Update.
- 	(dbxout_begin_function): Remove.
- 	(dbxout_function): Update.
- 	(dbxout_source_line): Update prototype.
- 	* dbxout.h (dbxout_begin_function): Remove.
- 	* debug.c (do_nothing_debug_hooks): Update.
- 	(debug_nothing_tree): Update.
- 	(debug_nothing_charstar_rtx): Remove.
- 	* debug.h (union tree_node): Declare.
- 	(struct rtx_def): Remove.
- 	(gcc_debug_hooks): New hooks begin_prologue, end_prologue,
- 	begin_function.  Change source_line prototype.
- 	(debug_nothing_tree): New.
- 	(debug_nothing_charstar_rtx): Delete.
- 	(dwarf2out_begin_prologue): Moved from ...
- 	* tree.h: ... here.
- 	* dwarf2out.c (dwarf2_debug_hooks): Update.
- 	(dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
- 	debug info, call dwarf2out_source_line.
- 	(dwarf2out_souce_line): Update prototype.
- 	* dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
- 	Change prototype, make static.
- 	(dwarfout_source_line): Update prototype.
- 	(dwarf_debug_hooks): Update.
- 	* dwarfout.h (dwarfout_begin_function): Remove.
- 	* final.c (final_start_function, final_scan_insn): Use appropriate
- 	debug hooks, update to use notice_source_line.
- 	(output_source_line): Rename notice_source_line.  Don't call the
- 	source_line debug hook.
- 	* sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
- 	make static, update prototype.
- 	(sdbout_mark_begin_function): Rename sdbout_begin_function, update
- 	prototype.
- 	(sdbout_end_prologue): New.
- 	(sdbout_source_line): Update prototype.
- 	(sdbout_debug_hooks): Update.
- 	(sdbout_symbol): Remove unused var.
- 	* sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
- 	Delete.
- 	* varasm.c: Include debug.h.
- 	(assemble_start_function): Use begin_function debug_hook.
- 	* xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
- 	update with prototype.
- 	(xcoffout_source_line): Update prototype.
- 	* xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
- 	update prototype.
- 	(xcoffout_source_line): Update prototype.
- 
- 2001-07-17  Richard Henderson  <rth@redhat.com>
- 
- 	* c-typeck.c (build_binary_op): Do not shorten unsigned
- 	right shift after sign extension.
- 
- Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Attempt to simplify
- 	a*(b/c) as (a*b)/c for floats in unsafe_math mode.
- 
- 	* simplify-rtx.c (avoid_constatn_pool_reference): New static function.
- 	(simplify_binary_operation, simplify_unary_operation,
- 	 simplify_relational_operation): Use it.
- 
- 	* combine.c (combine_simplify_rtx): Don't do associative law
- 	on divisions; allow associative law on floats.
- 
- 2001-07-17  H.J. Lu <hjl@gnu.org>
- 	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
- 	ASM_OUTPUT_WEAK_ALIAS are defined.
- 	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
- 	* config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
- 	Moved ...
- 	* config/mips/iris5.h: ... here.
- 	(HANDLE_SYSV_PRAGMA): Defined as 1.
- 	* varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
- 	* doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
- 	symbol.
- 
- 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-parse.in (all_prefix_attributes): New variable.
- 	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
- 	(maybe_resetattrs): New production.
- 	(c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
- 	maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
- 	notype_initdcl, nested_function, notype_nested_function,
- 	component_decl, components, components_notype,
- 	component_declarator, component_notype_declarator,
- 	absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
- 	ivars, mydecl, myparm): Update.  Avoid prefix attributes just
- 	after a comma being applied to more than one declarator.
- 	* doc/extend.texi (Attribute Syntax): Update.  Remove
- 	documentation of bugs that are no longer present.
- 
- 2001-07-13  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h: Change TUNE_MIPS* options to use
- 	mips_tune.
- 	(EXTRA_SPECS): Add cc1_cpu_spec.
- 	* config/mips/mips.md (muldf3): Fix typo.
- 
- 2001-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m68k/m68k.c: Include expr.h and reload.h.
- 	(print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
- 	[general int]: Use HOST_WIDE_INT_PRINT_DEC.
- 
- 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (set_live_p): Take INSN argument for cc0; update callers.
- 	(insn_live_p): Fix fall off end of function.
- 	(dead_libcall_p): Remove COUNTS argument; update callers.
- 	(delete_trivially_dead_insns): Remove unused variables.
- 
- 2001-07-17  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
- 	x86-64 pic support.
- 
- 	* lcm.c (optimize_mode_switching): Avoid warning for unused
- 	variable if !NORMAL_MODE.
- 
- 	* flow.c (try_crossjump_to_edge): Remove unused variable.
- 
- 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
- 	atexit declaration in stdlib.h.
- 
- 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
- 
- 	* fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
- 
- Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
- 	* except.c (finish_eh_generation): Update call of cleanup_cfg;
- 	do rebuild_jump_labels instead of jump_optimize
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
- 	* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
- 	* flow.c (try_optimize_cfg): Remove unneeded code_labels.
- 
- 	* flow.c: Include timevar.h
- 	(find_basic_block): Push/pop timevar;
- 	(cleanup_cfg): Likewise.
- 	* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
- 	* Makefile: Add dependencies on timevar.h
- 
- 	* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
- 	(copy_insn_list): Avoid killing of BASIC_BLOCK notes.
- 
- 	* rtl.h (delete_trivially_dead_insns): Add new parameter.
- 	* toplev.c (rest_of_compilation): Update calls.
- 	* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
- 	(delete_trivially_dead_insns): ... here; accept new argument
- 	preserve_basic_blocks; preserve basic blocks if set.
- 
- 	* reg-stack.c (stack_regs_mentioned): Return 0 if
- 	stack_regs_mentioned_data is not initialized.
- 	(reg_to_stack): Make stack_regs_mentioned survive after the
- 	reg-stack is completted; do not call cleanup_cfg.
- 	* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
- 	make cleanup_cfg after bb-reorder to output to debug file.
- 
- 2001-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* regclass.c (init_reg_sets): Use only 32 bits per initializer
- 	from int_reg_class_contents.
- 
- 2001-07-16  Richard Henderson  <rth@redhat.com>
- 
- 	* hard-reg-set.h (regs_invalidated_by_call): Declare.
- 	* regclass.c (regs_invalidated_by_call): Move from cse.c.
- 	(init_reg_sets_1): Move initialization from cse_main.
- 	* cse.c (regs_invalidated_by_call): Move to regclass.c.
- 	(cse_main): Move its initialization also.
- 	* df.c (df_insn_refs_record): Use regs_invalidated_by_call.
- 	* flow.c (propagate_one_insn): Likewise.
- 	* gcse.c (compute_hash_table): Likewise.
- 	(compute_kill_rd, compute_store_table): Likewise.
- 	* sched-deps.c (sched_analyze_1): Likewise.
- 
- Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
- 
- 	* gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
- 	gen_rtx_SET.
- 
- 2001-07-16  Steve Ellcey <sje@cup.hp.com>
- 
- 	* dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
- 	in if statement so we don't access undefined memory.
- 
- 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* gcse.c: Update comment at top.
- 	Update comment on mem handling.
- 	mem_last_set, mem_first_set, mem_set_in_block: gone.
- 	Declaration of reg_set_info: gone.
- 	(oprs_unchanged_p): Don't use mem_*set_* anymore. They are
- 	pointless with load_killed_in_block_p (they are *more*
- 	conservative then it, not less, and less accurate).
- 	(oprs_not_set_p): Ditto.
- 	(alloc_gcse_mem): Don't allocate mem_set_in_block
- 	(free_gcse_mem): Don't free it, either.
- 	(record_last_mem_set_info): Update comment in front, remove
- 	mem_*set_* stuff. Note the reason we don't handle stores directly
- 	here.
- 	(compute_hash_table): Update comments to reflect reality. Remove
- 	mem_*set_* references.
- 	(reset_opr_set_tables): Remove mem_*set_* references.
- 	(mark_call): Ditto.
- 	(mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
- 	(mark_clobber): Ditto (on both parts, we double set here too).
- 	(expr_killed_p): Remove mem_set_in_block test.
- 	(compute_transp): Remove mem_set_in_block test.
- 
- 	* ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
- 	of edge, and removal of phi alternative to dump file.
- 	(ssa_ccp_substitute_constants): Add note about register now being
- 	constant, and which uses were replaced in what insns to dump file.
- 
- 2001-07-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
- 	variables of type HOST_WIDEST_INT.
- 
- 	* libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
- 	(__bb_exit_func): Correct type of count_max to avoid overflow.
- 	(num_digits): Handle long long argument.
- 
- 	* combine.c (gen_lowpart_for_combine): Remove unused variable.
- 
- 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
- 
- 	* output.h (sdb_begin_function_line): Restore as an extern
- 	variable.
- 	* sdbout.c (sdb_begin_function_line): Make extern.
- 
- 2001-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* machmode.def (Pmode): Redefine if GENERATOR_FILE.
- 	* genrecog.c (maybe_both_true_mode): New.
- 	(maybe_both_true_2): Use it.
- 	(write_switch): Don't put Pmode in a switch.
- 	* rtl.c (mode arrays): Don't explicitly size them.
- 
- Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Fix register_life_up_to_date
- 	handling; move unconditional splitting before mode switching.
- 
- 	* i386.md (type): Add fistp type.
- 	(i387, length_attr, scheduling definitions): Handle this type.
- 	(fix_trunc?f?i2): Revamp to use mode switching.
- 	(fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
- 	* i386.h (fp_cw_mode): New enum
- 	(OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
- 	MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
- 
- Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (integrate.o): Add debug.h.
- 	* integrate.c (debug.h): Add.
- 	(output_inline_function): Save, reset, and restore debug_hooks.
- 
- 2001-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
- 	instead of COMPARE for the EQUIV expression.
- 
- 2001-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (redirect_edge_and_branch_force): Initialize
- 	global_live_at_start and global_live_at_end.
- 	(allocate_bb_life_data): Export.
- 	* basic-block.h (allocate_bb_life_data): Declare.
- 	* toplev.c (rest_of_compilation): Call it.
- 
- 2001-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
- 	(alpha_tablejump_best_label): New.
- 	* config/alpha/alpha-protos.h: Declare them.
- 	* config/alpha/alpha.md: Use braced strings for code blocks.
- 	(tablejump_osf): Break out add with r29.
- 	(tablejump_osf_internal): Remove.
- 	(tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
- 	use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
- 
- Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
- 	of the movable.
- 
- 	* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
- 
- 	* i386-protos.h (ix86_split_fp_branch): Update prototype.
- 	(ix86_fp_jump_nontrivial_p): New.
- 	* i386.md (fp_jcc_?): Update call of split_fp_branch;
- 	use ix86_fp_jump_nontrivial_p.
- 	* i386.c (ix86_fp_jump_nontrivial_p): New.
- 	(ix86_split_fp_branch): Accept code instead of rtx.
- 	(ix86_expand_compare): Expand comparison early in case
- 	doing so is resonably cheap.
- 
- 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
- 	not 'machine'.
- 	(CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
- 	(CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
- 
- 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* dbxout.c (dbxout_source_line): Make static, update prototype.
- 	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
- 	(dbxout_init, dbxout_finish, dbxout_source_line,
- 	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
- 	* dbxout.h (dbxout_source_line): Delete.
- 	* debug.c (debug_nothing_file, debug_nothing_file_int,
- 	debug_nothing_file_charstar_rtx): New.
- 	(do_nothing_debug_hooks): Update.
- 	(debug_nothing_void, debug_nothing_charstar_rtx,
- 	dwarf2out_end_epilogue): New.
- 	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
- 	* debug.h (struct rtx_def): Declare.
- 	(gcc_debug_hooks): New hooks source_line, end_epilogue
- 	and end_function.
- 	(debug_nothing_void, debug_nothing_charstar_rtx,
- 	dwarf2out_end_epilogue): New.
- 	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
- 	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
- 	(dwarf2_debug_hooks): Update.
- 	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
- 	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
- 	* dwarf2out.h (dwarf2out_source_line): Remove.
- 	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
- 	Make static, update prototype.
- 	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
- 	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
- 	(dwarf_debug_hooks): Update.
- 	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
- 	dwarfout_end_function): Remove.
- 	* final.c (profile_function): Use debug hooks for ending functions
- 	and epilogues.
- 	(output_source_line, final_end_function): Update prototype,
- 	use debug hooks.
- 	(final_start_function, final_scan_insn): Update.
- 	* output.h (sdb_begin_function_line): Remove.
- 	(final_end_function): Update prototype.
- 	* sdbout.c (sdb_begin_function_line): Make static.
- 	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
- 	(sdbout_source_line): New.
- 	(sdbout_end_epilogue, sdbout_end_function): Make static, update
- 	prototypes.
- 	(sdb_debug_hooks): Update.
- 	(sdbout_init, sdbout_source_line,
- 	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
- 	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
- 	* toplev.c (compile_file, rest_of_compilation): Update.
- 	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
- 	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
- 	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
- 	Update for prototype changes.
- 	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
- 	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
- 
- 2001-07-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (TARGET_ABI_OSF): New.
- 	(TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
- 	* config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
- 	* config/alpha/alpha.c: Likewise.
- 	* config/alpha/alpha.md: Likewise.
- 	* config/alpha/alpha32.h: Likewise.
- 	* config/alpha/vms.h: Likewise.
- 	(OPEN_VMS): Remove.
- 
- 2001-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md: Use define_constants for unspec values.
- 	Substitute throughout.
- 
- 2001-07-14  Tim Josling  <tej@melbpc.org.au>
- 
- 	* tree.def (EXPON_EXPR) remove. Never supported anyway.
- 
- 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md: Remove unused constraints from define_split's.
- 
- 2001-04-14  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (find_cond_trap): Test for exit block.
- 
- Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	Re-install recently reverted patch.
- 	* emit-rtl.c (try_split): Update mark_jump_label call.
- 	* flow.c (find_sub_basic_blocks): Likewise.
- 	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
- 	jump_back_p): Kill.
- 	(mark_all_labels): Kill second parameter.
- 	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
- 	(rebuild_jump_labels, jump_optimize_minimal): Update call
- 	of jump_optimize_1.
- 	(jump_optimize_1): Kill crossjumping code.
- 	(mark_jump_label): Kill cross_jump parameter.
- 	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
- 	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
- 	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
- 	 splitting.
- 	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
- 	DFI_bpro.
- 	(dump_file_info): Likewise.
- 	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
- 	reorganize passes to do reg-stack first, bb-reorder second.
- 	* invoke.texi (-d letters doc): Remove the jump2 pass.
- 
- 2001-07-14  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (find_cond_trap): New.
- 	(find_if_header): Call it.
- 	(merge_if_block): Relax existing jump sanity check.
- 	* jump.c (jump_optimize_1): Remove conditional trap handling.
- 
- 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
- 	millicode.
- 	(insn_refs_are_delayed): Correct comment.
- 	* config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
- 	* config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
- 	instead of r31.  Make associated insn !TARGET_64BIT, and
- 	provide an additional 64-bit insn that clobbers r2.
- 	(divsi3): Likewise.
- 	(udivsi3): Likewise.
- 	(modsi3): Likewise.
- 	(umodsi3): Likewise.
- 
- Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* bb-reorder.c (skip_insn_after_block): Get past the line number notes.
- 
- 	* flow.c (redirect_edge_and_branch_force, split_edge,
- 	try_crossjump_to_edge): Use set_block_for_new_insns.
- 	* bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
- 
- 2001-07-13  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/elfos.h (UNIQUE_SECTION): Enable .bss section with
- 	the correct patch.
- 
- 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
- 
- 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (decl_attributes): Take a pointer to the node to
- 	which attributes are to be attached, and a flags argument.
- 	* c-common.h (enum attribute_flags): New.
- 	(decl_attributes): Update prototype.
- 	* c-decl.c (start_decl, push_parm_decl, finish_struct,
- 	finish_enum, start_function): Update calls to decl_attributes.
- 	* c-parse.in (component_declarator, component_notype_declarator,
- 	label): Update calls to decl_attributes.
- 
- Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md (strlenhi): PARALLEL keyword removed.
- 	* config/avr/avr.c (legitimate_address_p): Return value changed
- 	from letter to register classes. For better debugging.
- 
- 2001-07-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* jump.c (reversed_comparison_code_parts): Fix comment typos.
- 
- 2001-07-13  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/elfos.h (UNIQUE_SECTION): Enable .bss section.
- 
- 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
- 
- 	* config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
- 	correctly for shared configurations.
- 	* config/t-libgcc-pic:  New.
- 	* config/{i386,m68k,sparc}/t-openbsd:  New.
- 	* config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
- 	Support -shared.  Support debugging libraries with -g.
- 	* config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
- 	frame information does not emit pointer diffs.
- 	* config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
- 	emit pointer diffs.
- 
- 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
- 
- 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* combine.c (try_combine): Ensure const_int pow2 is positive.
- 
- 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config.gcc: Add configuration for s/390.
- 	* config/s390/s390.c: New. Subroutines for code generation.
- 	* config/s390/s390.h: New. Definitions for s/390.
- 	* config/s390/s390-protos.h: New. Prototypes.
- 	* config/s390/linux.h: New. Definitions for linux for s/390.
- 	* config/s390/linux64.h: New. Definitions for linux for zSeries.
- 	* config/s390/t-linux: New. Makefile fragment.
- 	* config/s390/s390.md: New. Machine description for s/390 and zSeries.
- 	* config/s390/fixdfdi.h: New. Fix L_fix*di.
- 
- Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (try_split): Update mark_jump_label call.
- 	* flow.c (find_sub_basic_blocks): Likewise.
- 	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
- 	jump_back_p): Kill.
- 	(mark_all_labels): Kill second parameter.
- 	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
- 	(rebuild_jump_labels, jump_optimize_minimal): Update call
- 	of jump_optimize_1.
- 	(jump_optimize_1): Kill crossjumping code.
- 	(mark_jump_label): Kill cross_jump parameter.
- 	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
- 	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
- 	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
- 	 splitting.
- 	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
- 	DFI_bpro.
- 	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
- 	reorganize passes to do reg-stack first, bb-reorder second.
- 	* invoke.texi (-d letters doc): Remove the jump2 pass.
- 
- 2001-07-12  Steve Ellcey <sje@cup.hp.com>
- 
- 	* toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
- 
- Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_optimize_cfg): Delete whole chain of trivially dead
- 	basic blocks.
- 	(verify_flow_info): Make diagnostics prettier.
- 
- Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (find_basic_blocks_1): Do not emit NOP after call.
- 
- 	* flow.c (outgoing_edges_match): Return early if condition reversal
- 	failed.
- 
- 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (print_operand): Extend '%D' to memory operands.
- 	(mips_move_2words): When splitting a move into two instructions,
- 	prefix the second address operand with '%D'.
- 
- 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (final.o): Depend on debug.h.
- 	* dbxout.c (dbxout_begin_block, dbxout_end_block): New.
- 	(dbx_debug_hooks): Add new hooks.
- 	(xcoff_debug_hooks): New.
- 	* debug.c (debug_nothing_file_int_int): New.
- 	(do_nothing_debug_hooks): Update.
- 	* debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
- 	(debug_nothing_file_int_int): New.
- 	* dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
- 	static, update prototype.
- 	(dwarf2_debug_hooks): Update.
- 	* dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
- 	* dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
- 	static, update prototype.
- 	(dwarf_debug_hooks): Update.
- 	* dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
- 	* final.c: Include debug.h.
- 	(final_scan_insn): Use debug hooks when beginning and ending blocks.
- 	* sdbout.c (sdbout_begin_block, sdbout_end_block): Make
- 	static, update prototype.
- 	(sdb_debug_hooks): Update.
- 	* sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
- 	* toplev.c: Distinguish between xcoff and dbx.
- 
- 	* f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
- 	Call all debug hooks, not just dwarf ones.
- 
- 2001-07-11  Timothy Wall  <twall@redhat.com>
- 
- 	* config.gcc: Add configuration for AIX5/IA64.
- 	* config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
- 	* config/ia64/crt[in].asm: New.  Generic static ctor/dtor
- 	support prefix/suffix code.
- 	* config/ia64/t-aix: New.  Makefile fragment.
- 	* config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
- 
- 2001-07-11  Kazu Hirata  <kazu@hxi.com>
- 
- 	* recog.c (validate_change): Fix a comment typo.
- 
- 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
- 	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
- 	hooks directly.
- 	* dbxout.c (dbx_debug_hooks): Add new hooks.
- 	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
- 	make static.
- 	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
- 	make static.
- 	* dbxout.h (dbxout_start_new_source_file,
- 	dbxout_resume_previous_source_file): Delete.
- 	* debug.c (do_nothing_debug_hooks): Add new hooks.
- 	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
- 	(debug_nothing_int_charstar, debug_nothing_int): New.
- 	* debug.h (gcc_debug_hooks): New hooks define, undef,
- 	start_source_file and end_source_file.
- 	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
- 	(debug_nothing_int_charstar, debug_nothing_int): New.
- 	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
- 	the conditionally compiled section.
- 	(dwarf2out_start_source_file, dwarf2out_end_source_file,
- 	dwarf2out_define, dwarf2out_undef): Make static.
- 	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
- 	dwarf2out_define, dwarf2out_undef): Remove.
- 	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
- 	(dwarfout_start_source_file, dwarfout_end_source_file,
- 	dwarfout_define, dwarfout_undef): Make static.
- 	(dwarfout_start_source_file_check,
- 	dwarfout_end_source_file_check): New.
- 	(dwarfout_define, dwarfout_finish): Update.
- 	* dwarfout.h (dwarfout_start_new_source_file,
- 	dwarfout_resume_previous_source_file, dwarfout_define,
- 	dwarfout_undef): Remove.
- 	* sdbout.c (sdb_debug_hooks): Add new hooks.
- 	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
- 	make static.
- 	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
- 	make static, take an arg.
- 	* sdbout.h (sdbout_start_new_source_file,
- 	sdbout_resume_previous_source_file): Delete.
- 	* toplev.c (debug_start_source_file, debug_end_source_file,
- 	debug_define, debug_undef): Delete.
- 	* toplev.h (debug_start_source_file, debug_end_source_file,
- 	debug_define, debug_undef): Delete.
- 
- 	* java/jcf-parse.c: Include debug.h.
- 	(parse_class_file): Update to use debug hooks directly.
- 	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.
- 
- Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (set_mem_alias_set): New function.
- 	* rtl.h (set_mem_alias_set): Declare it.
- 	* builtins.c (expand_builtin_return_addr): Call it instead of
- 	using MEM_ALIAS_SET accessor.
- 	(expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
- 	(get_memory_rtx, expand_builtin_va_arg): Likewise.
- 	(expand_builtin_va_copy):Likewise.
- 	* caller-save.c (setup_save_areas): Likewise.
- 	* calls.c (compute_argument_addresses): Likewise.
- 	* explow.c (set_mem_attributes): Likewise.
- 	* expr.c (emit_single_push_insn, emit_push_insn): Likewise.
- 	(expand_assignment, store_constructor_field, store_field): Likewise.
- 	(expand_expr_unaligned): Likewise.
- 	* function.c (assign_stack_temp_for_type): Likewise.
- 	(put_reg_into_stack, gen_mem_addressof): Likewise.
- 	* ifcvt.c (noce_try_cmove_arith): Likewise.
- 	* reload1.c (reload, alter_reg): Likewise.
- 	* config/alpha/alpha.c (get_aligned_mem): Likewise.
- 	(alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
- 	(alpha_expand_unaligned_store): Likewise
- 	(alpha_expand_unaligned_load_words): Likewise.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 	(alpha_expand_block_clear, alpha_expand_prologue): Likewise.
- 	(alpha_expand_epilogue): Likewise.
- 	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
- 	* config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
- 	* config/i386/i386.c (legitimize_pic_address): Likewise.
- 	* config/i960/i960.c (setup_incoming_varargs): Likewise.
- 	* config/ia64/ia64.c (spill_restore_mem): Likewise.
- 	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
- 	* config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
- 	* config/mips/mips.c (mips_va_arg): Likewise.
- 	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
- 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
- 	(setup_incoming_varargs, rs6000_va_arg): Likewise.
- 	(rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
- 	(rs6000_emit_epilogue): Likewise.
- 	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
- 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
- 	* config/v850/v850.c (v850_va_arg): Likewise.
- 
- Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (merge_blocks_move_successor_nojumps): Do not crash
- 	when fallthru edge is present.
- 	(mege_blocks): Handle case where creation of jump insn
- 	is required.
- 
- 	* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
- 	CLEANUP_POST_REGSTACK): New constants.
- 	* except.c (finish_eh_generation): Update call of cleanup_cfg,
- 	* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
- 	* output.h (cleanup_cfg): Update prototype.
- 	* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
- 	cleanup_cfg call; kill missleading comment.
- 	* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
- 	* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
- 	parameter; control optimizations performed using it.
- 	(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
- 	try_crossjump_bb): New functions.
- 
- 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (pa_output_function_prologue): Delete prototype.  Make function
- 	extern.
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
- 	pa_output_function_prologue.
- 	* pa-protos.h (pa_output_function_prologue): New prototype.
- 
- 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* stmt.c (emit_case_nodes): Widen high and low instead of new_bound
- 	and low to get correct sign extension in low+high test.
- 
- 2001-07-11  Janis Johnson <janis@us.ibm.com>
- 
- 	* gcov.c (arcdata): Use gcov_type to fix branch percentage
- 	for large hit count.
- 
- 	* profile.c (branch_prob): Fix .bbg info for computed gotos
- 	and C++ EH code.
- 
- 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stmt.c (parse_output_constraint): New function, split out
- 	from ...
- 	(expand_asm_operands): ... here.  Use parse_output_constraint.
- 	* tree.h (parse_output_constraint): Declare it.
- 
- 2001-07-11  Richard Henderson  <rth@redhat.com>
- 
- 	* bitmap.c: Comment some functions; fiddle whitespace.
- 	(bitmap_free): Don't export.
- 	(bitmap_element_allocate): Use memset.
- 	* bitmap.h (bitmap_free): Don't declare.
- 
- 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* gcse.c, lcm.c, sched-deps.c:
- 	s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
- 
- 	* flow.c (flow_loops_find): Free dom if we found no loops, since
- 	we aren't going to save it.
- 
- 	* lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
- 	done.
- 
- Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
- 
- Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
- 	#ifndef DWARF2_DEBUGGING_INFO.
- 
- 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
- 
- 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (gen_int_relational): Tell the caller not to
- 	reverse a branch if a NE comparison is implemented with GTU.
- 
- 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
- 	    H.J. Lu  <hjl@gnu.org>
- 
- 	* mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
- 	constant addresses.
- 	(call_internal2): Likewise.
- 	(call_value_internal1): Likewise.
- 	(call_value_internal2): Likewise.
- 	(call_value_multiple_internal1): Likewise.
- 	(call_value_multiple_internal2): Likewise.
- 
- 2001-07-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* calls.c (emit_library_call_value_1): Fix a comment typo.
- 	* dwarf2out.c (mem_loc_descriptor): Likewise.
- 	* config/i386/i386.c (ix86_expand_aligntest): Likewise.
- 
- 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Fix typo in comment
- 
- Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* recog.c (offsettable_address_p): Handle LO_SUM case.
- 	* config/mips/mips.c (double_memory_operand): Use adjust_address_nv
- 	instead of plus_constant.
- 
- 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
- 	fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
- 
- Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
- 	adjust_address_nv instead of plus_constant.
- 
- 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
- 	dwarf2out.o): Depend on debug.h, wrap long lines.
- 	* dbxout.c: Include debug.h.
- 	(dbx_debug_hooks): New.
- 	(dbxout_init): Make static, take just 2 args.
- 	(dbxout_finish): Make static.
- 	* dbxout.h (dbxout_init, dbxout_finish): Delete.
- 	* debug.c: New file.
- 	* debug.h: New file.
- 	* dwarf2out.c: Include debug.h.
- 	(dwarf2_debug_hooks): New.
- 	(dwarf2out_init): Make static.
- 	(dwarf2out_finish): Make static, take 2 args.
- 	* dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
- 	* dwarfout.c: Include debug.h.
- 	(dwarf_debug_hooks): New.
- 	(dwarfout_init): Make static.
- 	(dwarfout_finish): Make static, take 2 args.
- 	* dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
- 	* sdbout.c: Include debug.h.
- 	(sdb_debug_hooks): New.
- 	(sdbout_init): Make static, take 2 args.
- 	* sdbout.h (sdbout_init): Delete.
- 	* toplev.c: Include debug.h.
- 	(debug_hooks): New.
- 	(compile_file): Set deubg_hooks based on command line options.
- 	Use the hooks unconditionally rather than conditional compilation.
- 
- Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
- 	first_insn_after_basic_block_note instead.
- 
- 	* df.c (df_bb_refs_unlink): #if 0 out for now.
- 
- 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
- 
- 	* ssa.h: Add prototype for ssa_const_prop
- 	* ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
- 	(ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
- 	(ssa_fast_dce): Remove unused variable
- 
- 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.c (finish_diagnostic): Rename to
- 	diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
- 	calls thourghout.
- 
- 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
- 	.loc support.
- 
- 	* collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
- 	(dump_file): Only pad the demangled name with spaces if the
- 	mangled name was padded with spaces.
- 
- 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
- 	edge detection.
- 
- Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
- 	extraction if no direct load if either EXPAND_CONST_ADDRESS or
- 	EXPAND_INITIALIZER.
- 
- 	* emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
- 	whether can put offset inside LO_SUM to check mode alignment, not size.
- 
- 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* doc/tm.texi (Misc): Fix thinko.
- 
- 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* regmove.c (replace_in_call_usage): Fix warnings.
- 	* sched-deps.c (add_dependence): Fix warnings.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	Return NULL_RTX instead of NULL.
- 
- 	* reg-stack.c (emit_swap_insn): Eliminate warnings.
- 	(subst_asm_stack_regs): Likewise.
- 
- 	* combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
- 	warnings.
- 
- 	* dwarf2out.c (output_call_frame_info): Declare i as int.
- 	(build_abbrev_table): Declare n_alloc as int.
- 	(dwarf2out_finish): Initialize die.
- 	* except.c: Declare sjlj_funcdef_number as unsigned.
- 	(connect_post_landing_pads): Declare j as unsigned.
- 	(convert_to_eh_region_ranges): Initialize call_site.
- 	(output_function_exception_table): Initialize tt_format_size.
- 	* expr.c (move_by_pieces_1): Initialize to1.
- 	(store_constructor): Initialize minelt and maxelt.
- 	* flow.c (mark_regs_live_at_end): Declare i as unsigned.
- 	* function.c (instantiate_decls): Avoid signed/unsigned warning.
- 
- 	* c-decl.c (combine_parm_decls): Unused, remove.
- 	* c-tree.h: Remove prototype for combine_parm_decls.
- 
- 	* reload.c (push_reload): Fix warning.
- 	(regno_clobbered_p): Likewise.
- 	* reload1.c (replace_pseudos_in_call_usage): Likewise.
- 	(reload_combine): Likewise.
- 
- 	* bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
- 	* bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
- 	warnings.
- 	* bitmap.c (bitmap_operation): Change user.
- 	* bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
- 
- 2001-07-10  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Fix typo.
- 
- 2001-07-09  Stan Shebs  <shebs@apple.com>
- 
- 	* target.h (struct gcc_target): New fields init_builtins and
- 	expand_builtin.
- 	* target-def.h (TARGET_INIT_BUILTINS): New macro.
- 	(TARGET_EXPAND_BUILTIN): New macro.
- 	(TARGET_INITIALIZER): Add them.
- 	* builtins.c: Include target.h.
- 	(expand_builtin): Use targetm.expand_builtin.
- 	(default_init_builtins): New function.
- 	(default_expand_builtin): New function.
- 	* expr.h (default_init_builtins): Declare.
- 	(default_expand_builtin): Declare.
- 	* c-common.c (c_common_nodes_and_builtins): Use
- 	targetm.init_builtins.
- 	* defaults.h (MD_INIT_BUILTINS): Remove.
- 	* Makefile.in (builtins.o): Depend on target.h.
- 
- 	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
- 	(TARGET_EXPAND_BUILTIN): Define.
- 	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
- 	(MD_EXPAND_BUILTIN): Remove.
- 
- 	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
- 	(TARGET_EXPAND_BUILTIN): Define.
- 	(c4x_init_builtins): Make endlink arg a local.
- 	(c4x_print_operand): Fix typos in adjust_address usages.
- 	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
- 	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
- 	(MD_EXPAND_BUILTIN): Remove.
- 
- 	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
- 	(TARGET_EXPAND_BUILTIN): Define.
- 	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
- 	(ix86_init_builtins): Call new function only if TARGET_MMX.
- 	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
- 	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
- 	(MD_EXPAND_BUILTIN): Remove.
- 
- 	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
- 	(TARGET_EXPAND_BUILTIN): Define.
- 	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
- 	(MD_EXPAND_BUILTIN): Remove.
- 
- 	* doc/tm.texi: Document these changes.
- 
- 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* basic-block.h (tree_node): Forward declare if needed.
- 	(struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
- 	(BLOCK_HEAD_TREE): Define.
- 	(BLOCK_END_TREE): Define.
- 	(struct loops): Rename field 'tree' to 'tree_root'.
- 	* flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
- 	'end_tree'.
- 	(flow_loops_tree_build): Rename reference to field 'tree' to
- 	'tree_root'.
- 	(flow_loops_level_compute): Ditto.
- 	* predict.c (estimate_bb_frequencies): Ditto.
- 	* tree.h (struct tree_common): Add field 'aux'.
- 
- 2001-07-09  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.c (darwin_encode_section_info): Don't mark any
- 	DECL_EXTERNAL node as defined.
- 
- 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (pa_init_machine_status, pa_mark_machine_status,
- 	pa_free_machine_status, hppa_init_pic_save): Delete.
- 	(hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
- 	(hppa_profile_hook): Use hppa_pic_save_rtx.
- 	* pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
- 	hppa_init_pic_save): Delete.
- 	(hppa_pic_save_rtx): Declare.
- 	* pa.md (call, call_value, sibcall, sibcall_value,
- 	builtin_setjmp_receiver): Use hppa_pic_save_rtx.
- 
- 2001-07-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
- 	* config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
- 
- 2001-07-09  Andreas Jaeger  <aj@suse.de>
- 
- 	* output.h: Add declaration of final_forward_branch_p.
- 
- 	* config/i386/i386.c (output_fix_trunc): Remove unused variable.
- 
- 	* varray.c: Include errors.h for internal_error and trim_filename
- 	declarations.
- 
- 	* Makefile.in (varray.o): Add errors.h.
- 
- 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
- 	* optabs.c (have_add2_insn): Check whether the add insn chosen
- 	really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
- 	* reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
- 
- Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* Makefile.in (OBJS): Add ssa-ccp.o
- 	(ssa-ccp.o): Add dependencies.
- 	* toplev.c (DFI_ssa_ccp): New dump file enum.
- 	(dump_file): Add entry for dumping after SSA CCP.
- 	(flag_ssa_ccp): New flag variable.
- 	(f_options): Add -fssa-ccp.
- 	(rest_of_compilation): Run SSA CCP if requested.
- 	* timevar.def (TV_SSA_CCP): New timevar.
- 	* ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
- 	* doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
- 	Fix minor typo in SSA DCE documentation.
- 	* doc/invoke.texi: Add documentation for new flag -fssa-ccp.
- 	Add documentation for new dump option.  Renumber dump files
- 	appropriately.
- 
- Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (gen_highpart_mode): New.
- 	* rtl.h (gen_highpart_mode): Declare.
- 	* sparc.md (insn splitters): Use gen_highpart_mode, whenever the
- 	operand can be VOIDmode constant.
- 
- Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (redirect_edge_and_branch_force): New.
- 	(can_fallthru): Ensure that basic blocks are succeeding.
- 	(try_optimize_cfg): Do not delete basic block if it is the last one.
- 
- 	* flow.c (try_redirect_by_replacing_jump): Do not remove
- 	jumps with side effects, unlink chain on fallthru edge;
- 	set block for new jump instruction; avoid basic block to
- 	over by line number note.
- 
- 	* flow.c (try_simplify_condjump): Verify that the condjump
- 	is not always falling through.
- 
- 	Re-install patch:
- 	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
- 
- 	* flow.c (forwarder_block_p): Fix for fallthru blocks.
- 	(try_redirect_by_replacing_jump): Update properly the count
- 	and frequency information.
- 
- Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (adjust_address, adjust_address_nv): Handle an
- 	address that is a LO_SUM specially.
- 	* explow.c (plus_constant_wide, case LO_SUM): Deleted.
- 
- 	* c-lang.c (start_cdtor): Remove extra parameter from start_function.
- 
- 	* emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
- 	(operand_subword): Use them.
- 	(change_address_1): Renamed from change_address; new arg VALIDATE.
- 	* expr.h: Reflect above changes; change_address now macro.
- 	* alias.c (canon_rtx): Use replace_equiv_address_nv instead of
- 	making MEM.
- 	* cselib.c (add_mem_for_addr): Likewise.
- 	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
- 	* regmove.c (try_apply_stack_adjustment): Likewise.
- 	* reload.c (push_reload, make_memloc): Likewise.
- 	* reload1.c (eliminate_regs): Likewise.
- 	* simplify-rtx.c (simplify_replace_rtx): Likewise.
- 	* caller-save.c (setup_save_areas): Use adjust_address_nv instead of
- 	adjust_addess.
- 	* combine.c (make_extraction, simplify_shift_const): Likewise.
- 	(gen_lowpart_for_combine): Likewise.
- 	* cse.c (gen_lowpart_if_possible): Likewise.
- 	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
- 	* expr.c (expand_expr, case COMPONENT_REF): Likewise.
- 	* optabs.c (gen_move_insn): Likewise.
- 	* reload1.c (alter_reg): Likewise.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	* stmt.c (expand_anon_union_decl): Likewise.
- 	* recog.c (validate_replace_rtx_1): Likewise.
- 	(expr.h): Include.
- 	* Makefile.in (recog.o): Add $(EXPR_H).
- 	* explow.c (stabilize): Call replace_equiv_address.
- 	* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
- 	* final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
- 
- 2001-07-03  Andrew Haley  <aph@redhat.com>
- 
- 	* expmed.c (store_fixed_bit_field): Don't use a mode bigger than
- 	the mode of the memory location.
- 
- 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
- 
- 	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
- 
- 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* final.c (output_addr_const): Use target opening and
- 	closing parentheses.
- 	* target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
- 	defaults, add to TARGET_ASM_OUT.
- 	* target.h (struct gcc_target): Add open_paren and close_paren.
- 	* doc/md.texi: Update.
- 	* doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
- 	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
- 	TARGET_ASM_CLOSE_PAREN.
- 	* config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
- 	Override.
- 	* config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
- 	Override.
- 	* config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
- 	* config/a29k/a29k.h: Similarly.
- 	* config/alpha/alpha.h: Similarly.
- 	* config/arc/arc.h: Similarly.
- 	* config/arm/aof.h: Similarly.
- 	* config/arm/aout.h: Similarly.
- 	* config/avr/avr.h: Similarly.
- 	* config/c4x/c4x.h: Similarly.
- 	* config/clipper/clipper.h: Similarly.
- 	* config/convex/convex.h: Similarly.
- 	* config/d30v/d30v.h: Similarly.
- 	* config/dsp16xx/dsp16xx.h: Similarly.
- 	* config/elxsi/elxsi.h: Similarly.
- 	* config/fr30/fr30.h: Similarly.
- 	* config/h8300/h8300.h: Similarly.
- 	* config/i370/i370.h: Similarly.
- 	* config/i386/i386.h: Similarly.
- 	* config/i860/i860.h: Similarly.
- 	* config/i960/i960.h: Similarly.
- 	* config/ia64/ia64.h: Similarly.
- 	* config/m32r/m32r.h: Similarly.
- 	* config/m68hc11/m68hc11.h: Similarly.
- 	* config/m68k/m68k.h: Similarly.
- 	* config/m88k/m88k.h: Similarly.
- 	* config/mcore/mcore.h: Similarly.
- 	* config/mips/mips.h: Similarly.
- 	* config/mn10200/mn10200.h: Similarly.
- 	* config/mn10300/mn10300.h: Similarly.
- 	* config/ns32k/ns32k.h: Similarly.
- 	* config/pa/pa.h: Similarly.
- 	* config/pdp11/pdp11.h: Similarly.
- 	* config/pj/pj.h: Similarly.
- 	* config/romp/romp.h: Similarly.
- 	* config/rs6000/rs6000.h: Similarly.
- 	* config/sh/sh.h: Similarly.
- 	* config/sparc/sparc.h: Similarly.
- 	* config/v850/v850.h: Similarly.
- 	* config/vax/vax.h: Similarly.
- 	* config/we32k/we32k.h: Similarly.
- 
- 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/c-tree.texi: Document representation of attributes.
- 
- 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/tm.texi: Update some places for the rename of target to
- 	targetm.  Fix typo.
- 
- 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* target.h (struct gcc_target): Add insert_attributes.
- 	* target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
- 	(TARGET_INITIALIZER): Update.
- 	* tree.c, tree.h (default_insert_attributes): New function.
- 	Update comments on other default functions to refer to targetm,
- 	not target.
- 	* doc/tm.texi (INSERT_ATTRIBUTES): Update to document
- 	TARGET_INSERT_ATTRIBUTES.
- 	(SET_DEFAULT_DECL_ATTRIBUTES): Remove.
- 	* c-common.c (decl_attributes): Use targetm.insert_attributes.
- 	Don't use PRAGMA_INSERT_ATTRIBUTES.
- 	* Makefile.in (c-common.o): Depend on $(TARGET_H).
- 	* c-decl.c (start_decl, start_function): Don't call
- 	SET_DEFAULT_DECL_ATTRIBUTES.
- 	* config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
- 	* config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
- 	declare.
- 	* config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
- 	(c4x_check_attribute): Avoid modifying attribute list itself.
- 	(c4x_set_default_attributes): Rename to c4x_insert_attributes.
- 	Make static.
- 	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
- 	* config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
- 	declare.
- 	* config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
- 	(sh_pragma_insert_attributes): Rename to sh_insert_attributes.
- 	Make static.
- 	* config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
- 	* config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
- 	declare.
- 	* config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
- 	(v850_set_default_decl_attr): Rename to v850_insert_attributes.
- 	Adjust parameters.  Make static.
- 
- 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-common.c (decl_attributes): Only take a single attributes
- 	parameter.
- 	* c-common.h (decl_attributes): Update prototype.
- 	* c-decl.c (start_decl, start_function): Only take a single
- 	attributes parameter.  Update calls to decl_attributes.
- 	(finish_struct, finish_enum): Update calls to decl_attributes.
- 	(push_parm_decl): Expect unified list of attributes.  Update call
- 	to decl_attributes.
- 	* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
- 	notype_nested_function, component_declarator,
- 	component_notype_declarator, label): Update calls to
- 	decl_attributes.
- 	(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
- 	lists that are passed to push_parm_decl.
- 	* c-tree.h (start_function, start_decl): Update prototypes.
- 	* config/sh/sh-protos.h, config/sh/sh.c
- 	(sh_pragma_insert_attributes): Only take a single attributes
- 	parameter.
- 	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
- 	* doc/tm.texi (INSERT_ATTRIBUTES): Update.
- 	* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
- 	build_module_descriptor, generate_static_references,
- 	generate_strings, build_selector_translation_table,
- 	generate_descriptor_table, generate_protocols,
- 	generate_ivars_list, generate_dispatch_table,
- 	generate_protocol_list, generate_category,
- 	generate_shared_structures, really_start_method, add_objc_decls,
- 	generate_classref_translation_entry): Update calls to start_decl
- 	and start_function.
- 	(build_tmp_function_decl, start_method_def): Unify attribute lists
- 	that are passed to push_parm_decl.
- 
- 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* final.c (no_asm_to_stream): New.
- 	(final_scan_insn): Use target structures for prologue ends
- 	and epilogue starts.
- 	* output.h (no_asm_to_stream): New.
- 	* target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
- 	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
- 	(TARGET_ASM_OUT): Update.
- 	* target.h (struct gcc_target): New members function_end_prologue
- 	and function_begin_epilogue.
- 	* config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
- 	* config/alpha/alpha-protos.h (output_end_prologue): Delete.
- 	* config/alpha/alpha.c (output_end_prologue): Rename to
- 	alpha_output_function_end_prologue.  Use in target struct
- 	and make static.
- 	* config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
- 	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
- 	* config/ia64/ia64.c (ia64_output_end_prologue): Rename to
- 	ia64_output_function_end_prologue.  Use in target struct
- 	and make static.
- 	(ia64_function_prologue, ia64_function_epilogue): Rename
- 	mistyped prototypes.
- 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
- 	* config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
- 	Delete.
- 	* config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
- 	an use in target struct, make static.
- 	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
- 	Delete.
- 
- 2001-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (emit_case_nodes): Convert modes properly in low+high test.
- 
- 2001-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: Remove constraints strings from define_split
- 	and define_peephole2 patterns.
- 	(eh_return_si, eh_return_di): Split eh_return_1 for modes.
- 	(eh_return): Use them.
- 
- 2001-07-08  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
- 	Document MD_FALLBACK_FRAME_STATE_FOR.
- 
- 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
- 	Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
- 	elimination.
- 	* config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
- 
- 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
- 	of the label inside NAME as opposed to just the end of NAME.
- 
- 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
- 	* config/alpha/alpha.c (alpha_init_machine_status,
- 	alpha_mark_machine_status, alpha_free_machine_status): Delete.
- 	(TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
- 	(vms_valid_decl_attribute_p): Make static, conditionally compile.
- 	* config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
- 
- 2001-07-06  Stan Shebs  <shebs@apple.com>
- 
- 	* target.h (targetm): Rename global from "target", so as not to
- 	conflict with local variables.
- 	* c-decl.c: Ditto.
- 	* c-typeck.c: Ditto.
- 	* final.c: Ditto.
- 	* tree.c: Ditto.
- 	* cp/decl.c: Ditto.
- 	* cp/decl2.c: Ditto.
- 	* cp/typeck.c: Ditto.
- 	* 1750a/1750a.c: Ditto.
- 	* a29k/a29k.c: Ditto.
- 	* arc/arc.c: Ditto.
- 	* arm/arm.c: Ditto.
- 	* avr/avr.c: Ditto.
- 	* clipper/clipper.c: Ditto.
- 	* convex/convex.c: Ditto.
- 	* d30v/d30v.c: Ditto.
- 	* dsp16xx/dsp16xx.c: Ditto.
- 	* elxsi/elxsi.c: Ditto.
- 	* fr30/fr30.c: Ditto.
- 	* h8300/h8300.c: Ditto.
- 	* i370/i370.c: Ditto.
- 	* i386/i386.c: Ditto.
- 	* i860/i860.c: Ditto.
- 	* i960/i960.c: Ditto.
- 	* ia64/ia64.c: Ditto.
- 	* m32r/m32r.c: Ditto.
- 	* m68hc11/m68hc11.c: Ditto.
- 	* m68k/m68k.c: Ditto.
- 	* m88k/m88k.c: Ditto.
- 	* mips/mips.c: Ditto.
- 	* ns32k/ns32k.c: Ditto.
- 	* pa/pa.c: Ditto.
- 	* pdp11/pdp11.c: Ditto.
- 	* romp/romp.c: Ditto.
- 	* rs6000/rs6000.c: Ditto.
- 	* sh/sh.c: Ditto.
- 	* sparc/sparc.c: Ditto.
- 	* vax/vax.c: Ditto.
- 	* we32k/we32k.c: Ditto.
- 	* doc/tm.texi: Update the manual to match.
- 
- 2001-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
- 	DWARF2_UNWIND_INFO not just whether it is defined.
- 
- 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* combine.c (combine_simplify_rtx): Also recompute 'mode' if the
- 	call to simplify_binary_operation returns a new pattern.
- 
- 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* glimits.h (__SHRT_MAX__): New.
- 	(SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
- 	(SHRT_MAX): Define in terms of __SHRT_MAX__.
- 
- 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
- 	avoid warnings.
- 
- 2001-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* bitmap.c (bitmap_release_memory): Move adjacent to the
- 	allocation functions.
- 	(bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
- 	the implementation.  Binary search for the set bit.
- 	(bitmap_union_of_diff): Allocate the temporary on the stack
- 	instead of using xmalloc.
- 
- 2001-07-06  Richard Henderson  <rth@redhat.com>
- 
- 	* genrecog.c (validate_pattern): Warn for constraints in
- 	define_{expand,split,peephole2}.  Remove strict_low_part
- 	before looking up match_dup.
- 
- 2001-07-06  DJ Delorie  <dj@redhat.com>
- 
- 	* doc/gcc.texi (Makefile): Rename to be a more general purpose
- 	chapter about various build hints and history.  Add section
- 	talking about the various types of native and cross builds.
- 
- 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (final.o): Depend on target.h.
- 	* final.c: Include target.h.
- 	(default_function_pro_epilogue): New.
- 	(final_start_function): Use target structure for function prologues.
- 	(final_end_function): Use target structure for function epilogues.
- 	* fold-const.c (real_hex_to_f): Constify s and p.
- 	* output.h (default_function_pro_epilogue): New.
- 	* real.h (real_hex_to_f): Update prototype.
- 	* target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
- 	TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
- 	(TARGET_INITIALIZER): Update.
- 	* target.h (gcc_target): Add struct asm_out.
- 	* doc/tm.texi: Update.
- 
- config:
- 	Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
- 	TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
- 	in cpu/cpu.c, or rename old functions consistently.  Take
- 	a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
- 	redundant macros and prototypes.  Make new functions static.
- 
- 	* 1750a/1750a.c: Similarly.
- 	* 1750a/1750a.h: Similarly.
- 	* a29k/a29k-protos.h: Similarly.
- 	* a29k/a29k.c: Similarly.
- 	* a29k/a29k.h: Similarly.
- 	* arc/arc-protos.h: Similarly.
- 	* arc/arc.c: Similarly.
- 	* arc/arc.h: Similarly.
- 	* arm/arm-protos.h: Similarly.
- 	* arm/arm.c: Similarly.
- 	* arm/arm.h: Similarly.
- 	* avr/avr-protos.h: Similarly.
- 	* avr/avr.c: Similarly.
- 	* avr/avr.h: Similarly.
- 	* clipper/clipper-protos.h: Similarly.
- 	* clipper/clipper.c: Similarly.
- 	* clipper/clipper.h: Similarly.
- 	* convex/convex.c: Similarly.
- 	* convex/convex.h: Similarly.
- 	* d30v/d30v-protos.h: Similarly.
- 	* d30v/d30v.c: Similarly.
- 	* d30v/d30v.h: Similarly.
- 	* d30v/d30v.md: Similarly.
- 	* dsp16xx/dsp16xx-protos.h: Similarly.
- 	* dsp16xx/dsp16xx.c: Similarly.
- 	* dsp16xx/dsp16xx.h: Similarly.
- 	* elxsi/elxsi.c: Similarly.
- 	* elxsi/elxsi.h: Similarly.
- 	* fr30/fr30.c: Similarly.
- 	* fr30/fr30.md: Similarly.
- 	* h8300/h8300-protos.h: Similarly.
- 	* h8300/h8300.c: Similarly.
- 	* h8300/h8300.h: Similarly.
- 	* i370/i370-protos.h: Similarly.
- 	* i370/i370.c: Similarly.
- 	* i370/i370.h: Similarly.
- 	* i386/i386.c: Similarly.
- 	* i386/osf1elf.h: Similarly.
- 	* i386/osfrose.h: Similarly.
- 	* i860/i860-protos.h: Similarly.
- 	* i860/i860.c: Similarly.
- 	* i860/i860.h: Similarly.
- 	* i960/i960-protos.h: Similarly.
- 	* i960/i960.c: Similarly.
- 	* i960/i960.h: Similarly.
- 	* ia64/ia64-protos.h: Similarly.
- 	* ia64/ia64.c: Similarly.
- 	* ia64/ia64.h: Similarly.
- 	* m32r/m32r-protos.h: Similarly.
- 	* m32r/m32r.c: Similarly.
- 	* m32r/m32r.h: Similarly.
- 	* m68hc11/m68hc11-protos.h: Similarly.
- 	* m68hc11/m68hc11.c: Similarly.
- 	* m68hc11/m68hc11.h: Similarly.
- 	* m68k/crds.h: Similarly.
- 	* m68k/dpx2.h: Similarly.
- 	* m68k/m68k-protos.h: Similarly.
- 	* m68k/m68k.c: Similarly.
- 	* m68k/m68k.h: Similarly.
- 	* m68k/news.h: Similarly.
- 	* m88k/m88k-protos.h: Similarly.
- 	* m88k/m88k.c: Similarly.
- 	* m88k/m88k.h: Similarly.
- 	* mips/mips-protos.h: Similarly.
- 	* mips/mips.c: Similarly.
- 	* mips/mips.h: Similarly.
- 	* ns32k/merlin.h: Similarly.
- 	* ns32k/ns32k.c: Similarly.
- 	* ns32k/ns32k.h: Similarly.
- 	* ns32k/tek6000.h: Similarly.
- 	* pa/pa-protos.h: Similarly.
- 	* pa/pa.c: Similarly.
- 	* pa/pa.h: Similarly.
- 	* pdp11/2bsd.h: Similarly.
- 	* pdp11/pdp11-protos.h: Similarly.
- 	* pdp11/pdp11.c: Similarly.
- 	* pdp11/pdp11.h: Similarly.
- 	* romp/romp-protos.h: Similarly.
- 	* romp/romp.c: Similarly.
- 	* romp/romp.h: Similarly.
- 	* rs6000/rs6000-protos.h: Similarly.
- 	* rs6000/rs6000.c: Similarly.
- 	* rs6000/rs6000.h: Similarly.
- 	* rs6000/sysv4.h: Similarly.
- 	* sh/sh-protos.h: Similarly.
- 	* sh/sh.c: Similarly.
- 	* sh/sh.h: Similarly.
- 	* sparc/sparc-protos.h: Similarly.
- 	* sparc/sparc.c: Similarly.
- 	* sparc/sparc.h: Similarly.
- 	* vax/vax.c: Similarly.
- 	* vax/vax.h: Similarly.
- 	* vax/vms.h: Similarly.
- 	* we32k/we32k.c: Similarly.
- 	* we32k/we32k.h: Similarly.
- 
- Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* basic-block.h (first_insn_after_basic_block_note): Declare.
- 	* flow.c (first_insn_after_basic_block_note): Define.  Moved
- 	from...
- 	* ssa.c (first_insn_after_basic_block_note): Remove.
- 	* ssa-dce.c (find_inherently_necessary): Consider BARRIERs
- 	necessary.
- 	(ssa_eliminate_dead_code): Properly update the CFG and PHI
- 	nodes when we find a dead conditional branch.  Insert BARRIERs
- 	after any blocks with no successors, but which do not have
- 	any BARRIERs.
- 
- 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* varray.c (varray_check_failed): Use internal_error.
- 
- 2001-07-05  Andrew Haley  <aph@redhat.com>
- 
- 	* Makefile.in (LIB2_DIVMOD_FUNCS): New.
- 	(LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
- 	* mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
- 
- 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
- 	reference if the target constant is also a SYMBOL_REF.
- 
- 2001-07-05  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (MASK_MIPS3900): Remove.
- 	(MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
- 	MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
- 	(TARGET_MIPS3900): Change to use mips_arch.
- 	(TARGET_MIPS4000): New.
- 	(TARGET_MIPS4100): New.
- 	(TARGET_MIPS4300): New.
- 	(TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
- 	(SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
- 	for -mipsX.
- 	(GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
- 	(ISA_HAS_BRANCHLIKELY): To here.
- 	(CC1_CPU_SPEC):	 New.
- 	(CC1_SPEC): Use here.  Remove 4650 and 3900 options.
- 	(mips_arch_string): Declare.
- 	(mips_arch): Declare.
- 	(TARGET_OPTIONS): Add -march and -mtune.
- 
- 	* config/mips/mips.c (mips_arch_string): New.
- 	(mips_arch): New.
- 	(override_options): Handle -march for codegen and -mtune
- 	for scheduling. Use mips_arch. Move tx39 target default here.
- 	(mips_parse_cpu): Move error message to override_options.
- 
- 	* config/mips/r3900.h (TARGET_DEFAULT): Remove.
- 
- 	* config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
- 
- 	* doc/invoke.texi (Option Summary): Add -march and -mtune entries.
- 	(MIPS Options): Ditto.	Change mcpu entry to historical text.
- 
- 2001-07-05  H.J. Lu  (hjl@gnu.org)
- 
- 	* config/mips/mips.c (mips_parse_cpu): New function to parse
- 	-march=*/-mcpu=*.
- 
- 2001-07-05  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
- 	* config/ia64/t-ia64: Likewise.
- 	(LIB1ASMFUNCS): Update comment.
- 
- 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (Install GCC: Binaries): Fix typo.
- 
- 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
- 	reference using the stack pointer, adjust it since we push Y
- 	temporarily.
- 	("*ashrsi3"): Likewise.
- 	("*lshrsi3"): Likewise.
- 
- 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
- 	when -fomit-frame-pointer is used.
- 
- 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
- 
- 	* flow.c: Reverse Jan Hubicka's patch of 02July2001.
- 	(try_redirect_by_replacing_jump): Reverse updating properly the
- 	count and frequency information.  Reverse removing cc0 setter.
- 	(forwarder_block_p): Reverse fixing for fallthru blocks.
- 
- 2001-07-05  DJ Delorie  <dj@redhat.com>
- 
- 	* gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
- 	(translate_options): If the above is defined, use it to map
- 	given options to new options.
- 	* doc/tm.texi: Document it.
- 
- 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/invoke.texi (Optimize Options): Document that -fgcse may
- 	cause programs using computed gotos to run more slowly.
- 
- 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific): Markup, spelling and typo fixes.
- 	Fixed sorting.
- 	Consistently require binutils 2.11.2, not prereleases.
- 	(Specific, decstation-*): Canonicalize as mips-dec-*.
- 	(Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
- 	always necessary.
- 	(Specific, m68k-altos): Removed reference to README.altos, deleted.
- 	(Specific, mips-*): Reword MIPS C compiler requirements.
- 	(Specific, powerpc*-*-*): New, mention --with-cpu once.
- 	(Specific, sunv5): Removed, obsolete.
- 
- 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* dwarf2out.c (output_loc_list): Use an all ones mask for
- 	.text asm output and don't rely on long long
- 	literals. Reformat some long lines.
- 
- 2001-07-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
- 	section.
- 
- 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* dwarf2out.c (dwarf2out_define): Update comment.
- 	(dwarf2out_undef): Ditto.
- 	(dwarf2out_start_source_file): Ditto.
- 	(dwarf2out_end_source_file): Ditto.
- 	(dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
- 	since we never call the start/end debug hook for the primary file.
- 
- 2001-07-04  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove an extra operand
- 	from shll.
- 
- 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cppinit.c (remove_dup_dirs): Inform if a system include
- 	directory is being reordered.
- 	* doc/invoke.texi (Directory Options): GCC warns if you hide a
- 	system include.
- 	* doc/cpp.texi (Search Paths): Likewise.
- 	* doc/gcc.texi (Interoperation): Remove information about
- 	-I/usr/include.
- 
- 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
- 	(VARRAY_TOP_CHAR_PTR): Likewise.
- 
- 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (process_command): Don't assign elements of a const char*.
- 
- Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (change_address): Don't abort if invalid address while
- 	reload is in progress.
- 
- 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* c-lex.c (cb_file_change): Pass line number to
- 	debug_start_source_file.
- 	(cb_undefine): Pass correct line number to debug_undef.
- 
- 	* toplev.c (debug_start_source_file): Add line number to
- 	parameters. Pass it along to dwarf2out_start_source_file.
- 	(decode_g_option): Stop resetting debug level back to normal when
- 	we change debug formats, unless the current level is
- 	none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
- 	3).
- 
- 	* toplev.h (debug_start_source_file): Add line number to
- 	parameters.
- 
- 	* dwarf2out.h (dwarf2out_start_source_file): Add line number to
- 	parameters.
- 
- 	* dwarf2out.c (dwarf2out_start_source_file): Add line number to
- 	parameters.
- 	Output debug_macinfo data for starting file if requested.
- 	(dwarf2out_end_source_file): Output debug_macinfo data for ending
- 	file if requested.
- 	(dwarf2out_define): Output debug_macinfo data for defining a macro
- 	if requested.
- 	(dwarf2out_undef): Output debug_macinfo data for undefining a
- 	macro if requested.
- 	(DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
- 	(DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
- 	(macinfo_section_label): New. DWARF2 macro info section label.
- 	(dwarf2out_init): If we want macro info, output the start label
- 	for the section.
- 	(dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
- 	attribute to the compilation unit die pointing to the macro info.
- 
- 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* dwarf2out.c (new_loc_list): Move to inside #ifdef
- 	DWARF2_DEBUGGING_INFO.
- 	(add_loc_descr_to_loc_list): Ditto.
- 	(output_loc_list): Ditto.
- 	Also, fix thinko in curr not being initialized.
- 	(gen_internal_sym): Ditto.
- 
- Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (replace_equiv_address): New function.
- 	* expr.h (replace_equiv_address): New declaration.
- 	* explow.c (validize_mem): Call it instead of change_address and
- 	also call if -fforce-addr and address is constant.
- 	* expr.c: Replace more calls to change_address with adjust_address
- 	and/or replace_equiv_address or to validize_mem.
- 	* function.c, regmove.c, config/alpha/alpha.c: Likewise.
- 	* config/arm/arm.md, config/clipper/clipper.md: Likewise.
- 	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
- 	* config/i370/i370.md, config/i860/i860.md: Likewise.
- 	* config/i960/i960.md, config/mips/mips.c: Likewise.
- 	* config/mips/mips.md, config/pa/pa.md: Likewise.
- 	* config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
- 
- 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
- 
- 	* bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
- 	function.
- 
- 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/include: New directory.
- 	* doc/fdl.texi: Move to doc/include/fdl.texi.
- 	* doc/texinfo.tex: Move to doc/include/texinfo.tex.
- 	* doc/include/funding.texi, doc/include/gpl.texi: New files.
- 	* doc/gcc.texi: Use funding.texi and gpl.texi.
- 	* Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
- 	$(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
- 	Update dependencies and use -I $(docdir)/include.
- 
- 2001-07-04  Anthony Green  <green@redhat.com>
- 
- 	* config/v850/t-v850 (v850-c.o): Add missing dependencies.
- 
- 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (sparc64-*-*): Remove garbage.
- 
- Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
- 
- 	* i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
- 	Fix typo in last change to use adjust_address.
- 
- 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): Update information for *-*-solaris*.
- 
- Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (plus_constant_wide): Reinitialize Y for restart.
- 
- 2001-07-03  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
- 	case for flag_no_mach_text_sections.
- 	(EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
- 	* config/darwin.c (flag_no_mach_text_sections): Remove.
- 	* config/darwin-protos.h (darwin_init_pragma): Remove decl.
- 
- Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (plus_constant_wide, case PLUS): Call find_constant_term
- 	and avoid checking for constant as first operand.
- 	* recog.c (find_constant_term_loc): No longer static.
- 	(adj_offettable_operand): Delete.
- 	* rtl.h (adj_offsettable_operand): Delete declaration.
- 	(find_constant_term): Add declaration.
- 	* caller-save.c: Replace calls to adj_offsettable_operand with calls
- 	to adjust_address.
- 	* config/arm/arm.c, config/c4x/c4x.c: Likewise.
- 	* config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
- 	* config/i386/i386.c, config/i386/i386.md: Likewise.
- 	* config/i860/i860.c, config/i960/i960.c: Likewise.
- 	* config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
- 	* config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
- 	* config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
- 	* config/mips/mips.c, config/mips/mips.md: Likewise.
- 	* config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
- 	* config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
- 	* config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
- 	* config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
- 	* config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
- 	* config/ns32k/ns32k.md: Likewise.
- 
- 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* rtl.c (copy_rtx): Handle 'T' format letter.
- 	* gensupport.c (collect_insn_data): Likewise.
- 	* print-rtl.c (print_rtx): Print 'T' slots like 's'.
- 
- 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* doc/invoke.texi (Directory Options): Specifiy range for <N> in
- 	-B option.  Use 'dir' not 'foo' as example directory name.
- 
- 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
- 
- 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/cppinternals.texi: Improve formatting and logical markup.
- 
- 2001-07-03  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (insn-recog.o): Add dependency on reload.h.
- 
- 	* genrecog.c (write_header): Include reload.h for prototypes in
- 	insn-recog.c.
- 
- 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config:
- 	* i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
- 	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 	* i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
- 	i386_pe_valid_type_attribute_p): Add.
- 	* i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
- 	* i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
- 
- Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* explow.c (plus_constant_wide, case LO_SUM): New case.
- 	(plus_constant_for_output_wide): Delete.
- 	* rtl.h (plus_constant_for_output): Delete.
- 	* alias.c (canon_rtx, init_alias_analysis): Call plus_constant
- 	instead of plus_constant_for_output.
- 	* recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
- 	* config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
- 	* config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
- 	* config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 	Convert some change_address calls to adjust_address.
- 
- 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
- 	doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
- 	documentation of -std and -Wwrite-strings.
- 
- 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* cse.c (canon_hash): Don't register registers in very small
- 	register classes, as extending their lifetime might cause
- 	reload to fail.
- 
- Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
- 
- 	* flow.c (forwarder_block_p): Fix for fallthru blocks.
- 	(try_redirect_by_replacing_jump): Update properly the count
- 	and frequency information.
- 
- Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
- 
- 	* toplev.c (dump_file_index): Move SSA dumps just after first
- 	jump dump.
- 	(dump_file): Corresponding changes.
- 	(rest_of_compilation): Move SSA path to just after the first
- 	jump pass.
- 	* doc/gcc.texi (Passes): Update due to movement of SSA path.
- 	* doc/invoke.texi: Update dump file #s as they were completely
- 	out of date with reality.
- 
- 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
- 
- 	* expr.c (emit_move_insn_1): Deal with non-default
- 	STACK_PUSH_CODE.
- 
- 	* expr.c (emit_single_push_insn): Fix warning.
- 
- 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* expr.c (emit_move_insn_1): Avoid modifying
- 	cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
- 
- Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (adjust_address): New function.
- 	* expr.h (adjust_address): Add declaration.
- 	* builtins.c: Replace some calls to change_address with calls to it
- 	or to validize_mem.
- 	* caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
- 	* function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
- 	* config/arm/arm.c, config/convex/convex.c: Likewise.
- 	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
- 	* config/i386/i386.c, config/i386/i386.md: Likewise.
- 	* config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
- 	* config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
- 	* config/m88k/m88k.c, config/mips/mips.md: Likewise.
- 	* config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
- 	* config/sh/sh.c, config/sparc/sparc.md: Likewise.
- 
- 2001-07-02  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
- 
- 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
- 	* config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
- 
- 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* cppinit.c (lang_defaults): New table.
- 	(set_lang): Just read from lang_defaults into the live options
- 	structure.
- 
- 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
- 	* doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
- 	* doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
- 
- 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi: Various spelling and markup fixes.
- 	(Installing GCC): Component specific installation instructions are
- 	gone.
- 	Fix reference.
- 	Warn about removing old install dir in the presence of shared libs.
- 	(Configuration): Invoke with options target to match configure
- 	--help.
- 	Consistently refer to gas, gld pathnames.
- 	Invert --enable-multilib documentation.
- 	Remove references to old compiler versions.
- 
- Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
- 
- 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
- 	section.
- 	(Specific, mips*-sgi-irix5): Note IDO download.
- 	Reworded MIPS C hints.
- 	Use GNU as instead of GAS.
- 	Markup fixes.
- 	Removed SGI Freeware reference, IRIX 6 only.
- 	(Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
- 	Note N64 library requirement/workaround.
- 	Update O32 hints.
- 	Complete list of structure passing bug victims.
- 
- 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi: Remove CVS Id.
- 
- 2001-07-02  Andreas Jaeger  <aj@suse.de>
- 
- 	* ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
- 	(find_inherently_necessary): Remove unused variable.
- 
- 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.h (TDI_inlined): New ast dump phase.
- 	(dump_flag_name): New function.
- 	* c-dump.c (dump_files): Add inlined phase.
- 	(dump_flag_name): Define.
- 	* doc/invoke.texi (-fdump-ast-inlined): Document.
- 
- Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_decl): Revert change to handling of alignment
- 	in packed types.
- 
- Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
- 	for FIELD_DECL.
- 
- 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/tm.texi (FUNCTION_ARG): Document that the last call
- 	is special.
- 
- 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tlink.c (recompile_files): Remove COMPILER_PATH and
- 	LIBRARY_PATH from the environment.
- 
- 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
- 
- 	* c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
- 	RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
- 	enumerators.
- 	(OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
- 
- 	* c-parse.in (OBJC_STRING): Kill.
- 	(objc_string): Decompose to [objc_string] '@' STRING.
- 	(reswords): Take the leading '@' off all the Objective-C keywords.
- 	(objc_rid_sans_at): Kill.
- 	(init_reswords): Don't initialize it.
- 	(yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
- 	(_yylex): Kill reconsider label.  Look ahead one token after
- 	an '@'; if we get an identifier, check whether it's an
- 	Objective-C @-keyword.  If so, return the keyword.  Otherwise,
- 	put back the token and return the '@' as a terminal.
- 
- 	* cpplib.c (lex_macro_node): Remove unnecessary check for
- 	leading '@' on identifier.  Clarify control flow and commentary.
- 
- Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* cse.c (new_label_ref): Variable deleted.
- 	(insert): Remove set of new_label_ref.
- 	(check_for_label_ref): New function.
- 	(cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
- 
- See ChangeLog.5 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.7 gcc-4.1.0/gcc/ChangeLog.7
*** gcc-4.0.2/gcc/ChangeLog.7	Thu Feb 24 21:47:14 2005
--- gcc-4.1.0/gcc/ChangeLog.7	Thu Jan  1 00:00:00 1970
***************
*** 1,21543 ****
- 2002-06-30  Devang Patel  <dpatel@apple.com>
- 
- 	* objc/objc-act.c (finish_file): Avoid finish_objc() if
- 	-fsyntax-only.
- 
- Fri Jun 28 17:22:37 2002  Denis Chertykov  <denisc@overta.ru>
- 			  Frank Ch. Eigler  <fche@redhat.com>
- 			  Matthew Green  <mrg@redhat.com>
- 			  Richard Henderson <rtl@redhat.com>
- 			  Dave Hudson  <dave.hudson@ubicom.com>
- 			  Jeff Johnston  <jjohnstn@redhat.com>
- 			  Alan Lehotsky <apl@alum.mit.edu>
- 			  Bernd Schmidt  <bernds@redhat.com>
- 			  Graham Stott  <grahams@redhat.com>
- 
- 	* doc/extend.texi: Add ip2k port to description of attribute
- 	naked.
- 	* doc/install.texi (Specific): Add ip2k description.
- 	* doc/install-old.texi (Configurations): Add ip2k to possible
- 	cpu types.
- 	* doc/md.texi: Document ip2k constraints.
- 	* config/ip2k/crt0.S: New file.
- 	* config/ip2k/ip2k-protos.h: New file.
- 	* config/ip2k/ip2k.c: New file.
- 	* config/ip2k/ip2k.h: New file.
- 	* config/ip2k/ip2k.md: New file.
- 	* config/ip2k/libgcc.S: New file.
- 	* config/ip2k/t-ip2k: New file.
- 
- 2002-06-30  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("return"): New pattern.
- 	* config/mmix/mmix.h (TARGET_MASK_USE_RETURN_INSN)
- 	(TARGET_USE_RETURN_INSN): New macros.
- 	(TARGET_DEFAULT): Include TARGET_MASK_USE_RETURN_INSN.
- 	(TARGET_SWITCHES): Add -msingle-exit and -mno-single-exit.
- 	* config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Fix spacing.
- 	(MMIX_POP_ARGUMENT): New macro.
- 	(mmix_target_asm_function_prologue): When no epilogue is executed,
- 	just emit a blank line.  Use MMIX_POP_ARGUMENT with final POP insn.
- 	(mmix_print_operand) <case '.'>: New case.
- 	(mmix_print_operand_punct_valid_p): Match '.'.
- 	(mmix_use_simple_return): New function.
- 	* config/mmix/mmix-protos.h (mmix_use_simple_return): Prototype.
- 	* doc/invoke.texi (Option Summary) <MMIX Summary>: Add
- 	-msingle-exit, -mno-single-exit.
- 	(MMIX Options): Ditto.
- 
- 2002-06-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Fix typos.
- 
- 2002-06-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gengtype.c (oprintf): Move VA_CLOSE after all fixedarg uses.
- 
- 2002-06-30  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* unroll.c (loop_iterations): Handle EQ loops.
- 
- 2002-06-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (ctrdi): Allocate pseudo for FPR
- 	constraint in define_expand, not splitter.
- 	Formatting.
- 
- 2002-06-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
- 	build_function_type_list instead of build_function_type.
- 
- 	* config/ia64/ia64.c (ia64_init_builtins): Same.
- 
- 	* config/alpha/alpha.c (alpha_init_builtins): Same.
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Same.
- 
- 	* config/arm/arm.c (arm_init_builtins): Same.
- 
- 	* tree.h: Add build_function_type_list prototype.
- 
- 	* tree.c (build_function_type_list): New.
- 
- 2002-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (scan_prog_file): Fix typo in message.
- 
- 2002-06-28  Aaron Lehmann  <aaronl@vitelus.com>
- 
- 	* fold-cont.c: Remove unused CHARMASK.
- 
- 2002-06-29  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7150
- 	* cppmain.c (scan_translation_unit_trad): Simplify.
- 	* cppmacro.c (cpp_scan_nooutput): Handle traditional case.
- 
- 2002-06-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/i386/crtdll.h: Define EXTRA_OS_CPP_BUILTINS.
- 	Don't use CPP_PREDEFINES.
- 	* config/i386/cygwin.h (EXTRA_OS_CPP_BUILTINS): New.
- 	Used TARGET_OS_CPP_BUILTINS in preference to CPP_PREDEFINES.
- 	* config/i386/djgpp.h, config/i386/i386-coff.h,
- 	config/i386/i386-interix.h, config/i386/i386-interix3.h,
- 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mingw32.h,
- 	config/i386/openbsd.h, config/i386/ptx4-i.h, config/i386/sysv3.h,
- 	config/i386/uwin.h: Similarly.
- 
- 2002-06-29  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x.h: (TARGET_CPU_CPP_BUILTINS): Check flag_inline_functions and
- 	flag_inline_trees to enable inlining.
- 
- 2002-06-28  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* configure.in (gcc_gxx_include_dir):  Change to match versioned
- 	C++ headers if --enable-version-specific-runtime-libs is used.
- 	* configure:  Regenerate.
- 
- 2002-06-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (gcse_emit_move_after): Use gen_move_insn to produce the move.
- 
- 2002-06-28  Stephen Clarke  <stephen.clarke@superh.com>
- 
- 	* combine.c (combine_simplify_rtx): Pass the mode of the
- 	shift count, not the shift operation when trying to simplify
- 	a shift on a SHIFT_COUNT_TRUNCATED target.
- 
- 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*addsi3"): Use 'o' constraint to
- 	avoid the auto increment addressing modes.
- 	("*subsi3"): Likewise.
- 	(split for add/sub on address): For 68HC12 push the value on
- 	the stack and do the operation with a pop.
- 
- 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplib.c (_cpp_handle_directive): Move #define-specific
- 	code to the #define handler...
- 	(do_define): ...here.
- 	(lex_macro_node): No longer a need to check for comments here.
- 
- 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Define.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
- 	Declare.
- 	* config/m68hc11/m68hc11.c (m68hc11_optimization_options): New,
- 	do not reorder basic blocks at the end when optimizing for size.
- 
- 2002-06-28  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (autoinc_mode): New function.
- 	(m68hc11_make_autoinc_notes): New function.
- 	(m68hc11_split_move): Be very cautious when spliting a move with
- 	auto increment/decrement modes because this may result in incompatible
- 	directions; add REG_INC notes to the resulting insn for CSE reg.
- 
- 2002-06-28  Stephane Carrez  <Stephane.Carrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (register_indirect_p): For 68HC12 a constant
- 	can be a valid address.
- 
- 2002-06-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c: Remove unusued variables from last
- 	patch.
- 
- 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	Revert:
- 	* config/rs6000/rs6000.c (rs6000_override_options): Move
- 	*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
- 
- 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (altivec_expand_builtin): Move
- 	lvx/stv/dst builtins...
- 	(altivec_expand_ld_builtin): ...to here.
- 	(altivec_expand_st_builtin): ...here.
- 	(altivec_expand_dst_builtin): ...and here (respectively).
- 
- 2002-06-28  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (RETURN_IN_MEMORY): Update comment.
- 
- 2001-06-08  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Don't create paradoxical FLOAT_MODE
- 	subregs.
- 	* recog.c (general_operand, register_operand): Disallow them.
- 
- 2002-06-28  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7138
- 	* cpplib.c (_cpp_handle_directive): Do traditional
- 	preparation after setting state.angled_headers.
- 	* cpptrad.c (scan_out_logical_line): Fix potential
- 	quote bug.
- 
- 2002-06-27  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Move
- 	*SUBTARGET_OVERRIDE_OPTIONS before the -m options.
- 
- 2002-06-27  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.md: Give "*xxx" names to all unnamed insn's.
- 	(*lsiu, *ssiu, movstrsi_internal, zero_cost_loop_start,
- 	zero_cost_loop_end): Remove unnecessary "parallel" from insns.
- 
- 2002-06-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/d30v/d30v.h: Remove commented out STACK_REGS #defines.
- 	* config/stormy16/stormy16.h: Likewise.
- 
- 	* config/stormy16/stormy16.h (CUMULATIVE_ARGS): Replace typedef
- 	with #define.
- 
- 2002-06-26  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Binaries): Add Sinix/Reliant Unix.  Move
- 	Hitachi entry.  Make punctuation more consistent.
- 
- 2002-06-27  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi: Change ` bit' to `-bit'.
- 	* doc/md.texi: Change `-bits' to `-bit'.
- 	* doc/tm.texi: Change `-bits' to ` bits'.
- 
- 2002-06-27  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* gcse.c (hoist_code): Rewrite to only get list of dominated
- 	blocks once per BB. Also fix reversed test (by removing need for
- 	the test at all).
- 
- 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (_cpp_set_trad_context): Remove.
- 	* cpplib.c (prepare_directive_trad): Do nothing for #define.
- 	(cpp_push_buffer, _cpp_pop_buffer): Don't call _cpp_set_trad_context.
- 	* cpptrad.c: Update comments.
- 	(_cpp_read_logical_line_trad): Let scan_logical_line handle
- 	updating the current context.
- 	(scan_logical_line): Update the current context.
- 	(_cpp_create_trad_definition): Similarly.
- 	(_cpp_set_trad_context): Remove.
- 
- 2002-06-27  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7070
- 	* c-lex.c (cb_def_pragma): Don't try to spell CPP_EOF.
- 
- 2002-06-26  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h (xtensa_return_addr): Declare.
- 	config/xtensa/xtensa.c (xtensa_return_addr): New function.
- 	config/xtensa/xtensa.h (RETURN_ADDR_RTX): Use xtensa_return_addr.
- 	config/xtensa/xtensa.md (fix_return_addr): New pattern.
- 
- 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (coprocessor_operand, coprocessor2_operand,
- 	symbolic_operand): Move prototypes from here...
- 	* mips-protos.h (coprocessor_operand, coprocessor2_operand,
- 	symbolic_operand): ...to here.
- 
- Wed Jun 26 16:32:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/crt1.asm: remove _stack label definition
- 	and sentinel value.
- 
- 2002-06-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* varasm.c: Include real.h before output.h.
- 
- 2002-06-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Revert change to
- 	check for TARGET_ALTIVEC.
- 
- 2002-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc (vax-*-vms*): Make obselete.
- 
- 2002-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (warn_std): Delete.
- 
- 2002-06-25  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/extend.texi: Fix formatting of last checkin.
- 
- 2002-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Remove leading
- 	underscore from __IEEE_FP and __IEEE_FP_INEXACT.
- 
- 2002-06-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
- 	discrepancies from motorola's documentation.
- 
- Tue Jun 25 21:51:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* optabs.c (expand_vector_binop, expand_vector_unop): Don't assume
- 	GET_MODE_UNIT_SIZE (mode) == UNITS_PER_WORD.
- 
- 	* config/sh/lib1funcs.asm (udivdi3): Make first divide step
- 	produce a 32 bit result before normalization, then normalize with a
- 	left shift.  Compute approximative error of 2nd reciprocal
- 	approximation in 2's complement.  Fix mask generation from upper
- 	longword of second divide stage result.
- 	For large divisor, fix shift count used to truncate first stage
- 	divide result; make decision if to adjust upwards based on comparison
- 	of higher parts of normalized values.
- 	(udivdi): Likewise.  Undo normalization of result for large divisor
- 	case.
- 
- 2002-06-25  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md: Change \\{t,n} to \{t,n}.
- 
- 2002-06-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplib.c (do_include_common): Revert to correct line number
- 	if -traditional.
- 	* cpptrad.c (scan_out_logical_line): Treat null directive as
- 	white space.  Invlidate MI optimization for non-whitespace
- 	text outside a directive.
- 
- 2002-06-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (SHELL): Set to @SHELL@.
- 	* fixinc/Makefile.in (SHELL): Likewise.
- 
- 	* mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2,
- 	fixuns_truncsfsi2, fixuns_truncsfdi2): Avoid automatic aggregate
- 	initialization.
- 
- 2002-06-24  Jeff Law <law@redhat.com>
- 
- 	* flow.c (propagate_one_insn): When removing an insn
- 	with a REG_LIBCALL note but not the entire libcall sequence,
- 	delete the associated REG_RETVAL note.
- 
- Mon Jun 24 21:05:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* lib1funcs.asm (sdivsi3): Add optimized SH64 implementations.
- 	(udivsi3): Likewise.  Rewrite SH1 implementation.
- 	(udivdi3, divdi3, umoddi3, moddi3): New SHmedia functions.
- 	* sh.md (R20_REG, R21_REG, R22_REG, R23_REG, FR23_REG): New constants.
- 	(udivsi3_i1_media, divsi3_i1_media): Fix clobber list.
- 	* config/sh/t-sh64 (LIB1ASMFUNCS): (_udivdi3, _divdi3, _umoddi3): Add.
- 	(_moddi3): Likewise.
- 
- 	* lib1funcs.asm (ic_invalidate): Add data cache line writeback.
- 
- 	* sh.h (FUNCTION_ARG_ADVANCE): Take SHCOMPACT_FORCE_ON_STACK
- 	arguments into account for stack_regs.
- 
- 2002-06-24  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/extend.texi: Change `@dots{}' to `/* @r{@dots{}} */'
- 	in examples.
- 
- 2002-06-24  Art Haas  <ahaas@neosoft.com>
- 
- 	* doc/extend.texi (Other Builtins): Change `...' to `@dots{}'.
- 	* doc/tm.texi (Frame Layout): Likewise.
- 
- 2002-06-20  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* gcc/config.gcc (ia64*-*-hpux*): Set use_collect2 to no.
- 	Set float_format to i128.
- 
- 2002-06-24  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (INIT_TARGET_OPTABS): If ARCH64, set the
- 	32-bit ABI libfuncs to NULL.
- 
- 	* config/sparc/sparc.md: Use define_insn_and_split.  Use braced
- 	strings instead of quoted strings for code blocks.
- 
- 	* expmed.c (expand_divmod): Do not set optab1/optab2 to the shift
- 	optabs if op1 is const0_rtx.
- 
- 	* Makefile.in (GTFILES): Add basic-block.h
- 	* basic-block.h (label_value_list, tail_recursion_label_list):
- 	Mark with GTY.
- 
- 2002-06-24  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpptrad.c (scan_out_logical_line): Check recursing only when
- 	we know we have a macro invocation in the function-like case.
- 	Only call _cpp_handle_directive if we know we have a good
- 	directive, or we want to reject a bad directive.
- 
- 2002-06-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doloop.c (doloop_valid_p): Correct comment.
- 	(doloop_modify_runtime <abs_inc != 1>): Simplify.
- 	(doloop_modify_runtime <do-while>): Don't emit code when NE.
- 
- Thu Jun 20 00:26:53 2002  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config.gcc: Add support for ip2k.
- 
- 2002-06-23  Jan Hubicka  <jh@suse.cz>
- 	    Jeff Law <law@redhat.com>
- 
- 	* function.h (struct emit_status): Clarify potential contents
- 	of regno_reg_rtx array.
- 	* integrate.c (copy_rtx_and_substitute): Update comments.  Make
- 	sure entry in regno_reg_rtx is a REG before checking REG_POINTER.
- 
- 	* reg-stack.c (convert_regs_exit): Push the registers to stack in
- 	proper order.
- 
- 2002-06-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR middle-end/6963
- 	* function.c (assign_stack_temp_for_type): Do not return
- 	the same MEM rtx for multiple uses of a stack slot.
- 
- 2002-06-22  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6841 target/6770 target/6719
- 	* config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Return
- 	NO_REGS	for constant X when CLASS is GENERAL_OR_FP_REGS or
- 	GENERAL_OR_EXTRA_FP_REGS.
- 
- 2002-06-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpptrad.c (struct fun_macro): Add line number.
- 	(scan_out_logical_line): Set it, and use it to report unterminated
- 	macro invocations.
- 
- 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,
- 	VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
- 	DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
- 	DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
- 	REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
- 	REGEXP_ONEOF, check_name): Const-ify.
- 
- 2002-06-21  Matt Thomas  <matt@3am-software.com>
- 
- 	* config/vax/vax.c (vax_output_function_prologue): Use
- 	REGISTER_PREFIX.  Fix some indentation.
- 	* config/vax/vax.h (FUNCTION_PROFILER): Use reg_names[].
- 	(VAX_ISTREAM_SYNC): Define.
- 	(INITIALIZE_TRAMPOLINE): Use VAX_ISTREAM_SYNC.  Move the
- 	i-stream sync to the end.
- 	(REGISTER_PREFIX): Define as "".
- 	(ASM_OUTPUT_MI_THUNK): Use REGISTER_PREFIX.
- 
- 2002-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (ns32k-*-netbsd*): Remove from list of obsolete
- 	configurations.
- 
- 2002-06-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree.c (tree_node_kind, tree_node_counts, tree_node_sizes,
- 	tree_node_kind_names): Wrap in GATHER_STATISTICS macro.
- 
- 2002-06-21  Matt Thomas  <matt@3am-software.com>
- 
- 	* config/vax/netbsd.h: Adjust a comment.
- 	(TARGET_DEFAULT): Redefine as 0.
- 
- 2002-06-21  Richard Henderson  <rth@redhat.com>
- 
- 	* bb-reorder.c (make_reorder_chain_1): Search harder for the
- 	vax casesi fallthru edge.
- 	* cfglayout.c (cleanup_unconditional_jumps): Use
- 	redirect_edge_succ_nodup.  Do not delete ADDR_VEC insns as dead.
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Place redirection
- 	block after ADDR_VEC.
- 
- 2002-06-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
- 
- 2002-06-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpperror.c (cpp_error): For traditional CPP, default to
- 	diagnostics on pfile->line.
- 	* cpplib.c (prepare_directive_trad): Set line number for
- 	diagnostics for #define too.
- 	* cpptrad.c (skip_whitespace): Skip comments properly.
- 	(_cpp_expansions_different_trad): Initialize quote2.
- 
- 2002-06-21  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md: Change GNU CC to GCC in file header comment.
- 	* config/mmix/mmix.h: Ditto.
- 	* config/mmix/mmix-protos.h: Ditto.
- 	* config/mmix/mmix.c: Ditto.  Fix typo in comment.
- 	* config/mmix/mmix-modes.def: Change GNU CC to GCC in file header
- 	comment.  Comment extra CC modes.
- 
- 2002-06-20 Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (scope_to_insns_initialize): Call set_block_levels.
- 	(scope_to_insns_finalize): Do not call set_block_levels; handle
- 	sequences.
- 	(choose_inner_scope): New.
- 	* rtl.h (choose_inner_scope): Declare.
- 
- 2002-06-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-protos.h (pa_asm_output_mi_thunk): Change third argument to
- 	HOST_WIDE_INT.
- 	* pa.c (pa_asm_output_mi_thunk): Likewise.
- 	(n_deferred_plabels): Change type to size_t.
- 	(output_deferred_plabels, output_call): Use size_t instead of int.
- 
- 2002-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/4041
- 	* config/m68k/m68k.md (zero_extendsidi2): Create expander; duplicate
- 	pattern and adjust constraints for coldfire.
- 
- 2002-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* explow.c (probe_stack_range): Use gen_rtx_fmt_ee.
- 
- 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mipsisa64-*-elf*, mipsisa64el-*-elf*): New targets.
- 
- 2002-06-20  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (ISA_HAS_FP4): Fix comment to reflect use.
- 
- 2002-06-20  Stan Shebs  <shebs@apple.com>
- 
- 	* dominance.c: Include errors.h instead of error.h.
- 
- 2002-06-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (cpp_interpret_integer): Don't force traditional
- 	numbers to be unsigned.
- 	* cpplib.c (prepare_directive_trad): Set line number for
- 	diagnostics.
- 	* cpptrad.c (scan_out_logical_line): Continue scanning out
- 	at start of buffer.
- 	* gcc.c (trad_capable_cpp): Use cc1 always.
- 
- 2002-06-20  Jeffrey Law  <law@redhat.com>
- 
- 	* i386.h (TARGET_DEFAULT): Do not turn on frame pointer
- 	elimination in leaf functions by default yet.
- 
- 2002-06-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* combine.c (make_extraction): Reapply to the argument of an ASHIFT.
- 
- 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sparc/t-crtfm (crtfastmath.o): Prefix with $(T) for
- 	multilibs.
- 	* config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Add crtfastmath.o.
- 	Fixes PR other/6836.
- 
- Thu Jun 20 19:42:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 			       Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
- 
- 	Mon Jun 10 20:42:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h: Do not include et-forest.h
- 	(dominance_info): Declare as struct dominance-info.
- 	* cfglayout.c (cleanup_unconditional_jumps): Remove the edge before
- 	deleting block.
- 	* dominance.c (struct dominance_info): Define.
- 	(BB_NODE, SET_BB_NODE): New macros.
- 	(bb_hash_func, bb_eq_func): Kill.
- 	(calculate_dominace_info, free_dominacne_info, set_immediate_dominator,
- 	nearest_common_dominator, dominated_by_p, recount_dominator,
- 	add_to_dominance_info, delete_from_dominance_info): update for new
- 	representation.
- 	(get_dominated_by, redirect_immediate_dominators): Rewrite using
- 	enumerate_sons.
- 	* ifcvt.c (process_double_test_block, merge_if_block, find_cond_trap,
- 	find_if_case_1, find_if_case_2): Remove killed blocks from dominance
- 	structure.
- 
- 	* et-forest.h: Update copyright; revamp all function to operate on
- 	nodes
- 	(et_forest_value): Kill.
- 	(et_forest_enumerate_sons, et_forest_node_value): New.
- 	* et-forest.c: Update copyright.
- 	* et-forest.h: Update copyright; revamp all function to operate on
- 	nodes
- 	(et_forest_value): Kill.
- 	(et_forest_enumerate_sons, et_forest_node_value): New.
- 
- 	Thu Jun  6 22:43:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h: Inlude et-forest.h
- 	(basic_block_def): Kill dominator.
- 	(dominance_info): New type.
- 	(loops): Use dominace_info.
- 	(dominace handling functions): Take dominace_info as argument
- 	instead of bitmaps.
- 	(create_preheader): Likewise.
- 	* cfg.c (entry_exit_blocks): Kill dominator.
- 	(dump_flow_info): Do not dump dominators.
- 	* cfglayout.c (cleanup_unconditonal_jumps): Delete deleted block from
- 	dominators.
- 	* cfgloop.c (flow_pre_header_find): Use dominacne_info.
- 	(flow_loops_pre_header_scan, make_forwarder_block,
- 	canonicale_loop_headers, flow_loops_find): Likewise.
- 	* dominance.c: Include error.h
- 	(idoms_to_doms): Kill.
- 	(bb_hash_func, bb_eq_func): New static functions.
- 	(debug_dominace_info): New global function.
- 	(calculate_dominance_info): Use new et forest structure.
- 	(free_dominace_info, get_immediate_dominator, set_immediate_dominator,
- 	get_dominated_by, redirect_immediate_dominators,
- 	nearest_common_dominator, dominated_by_p, verify_dominators,
- 	recount_dominator, iterate_fix_dominators, add_to_dominace_info,
- 	delete_from_dominance_info): New global functions.
- 	* gcse.c (domnators): CHange to dominance_info.
- 	(alloc_hoist_mem): Do not alloc dominators
- 	(free_code_hoist_mem): Use free_dominance_info.
- 	(compute_code_hoist_data): Use dominance_info.
- 	(hoist_code): Likewise.
- 	* ifcvt.c (post_dominators): Likewise.
- 	(find_if_case_2, if_convert): Likewise.
- 	* predict.c (process_note_predictions, process_note_prediction,
- 	estimate-probability): Likewise.
- 	* sched-rgn.c (find_rgns, init_regions): Likewise.
- 	* ssa-dce.c (find_all_control_dependences, fint_control_depemndence,
- 	find_pdom, delete_insn_bb, ssa_eliminate_dead_code): Likewise.
- 	* ssa.c (compute_dominance_frontiers_1, rename_block, rename_registers,
- 	find_evaluations, convert_to_ssa): Likewise.
- 	* ssa.h (compute_dominance_frontiers): Likewise.
- 
- 	Thu Jun  6 22:57:34 CEST 2002  Pavel Nejedly <bim@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (et-forest.c): Add.
- 	* et-forest.c: New file.
- 	* at-forest.h: New file.
- 
- 2002-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-decl.c (c_decode_option): Use ARRAY_SIZE in lieu of explicit
- 	array size calculation.
- 	* gengtype.c (NUM_BASE_FILES, create_file, write_gc_root):
- 	Likewise.
- 
- 	* diagnostic.c (diagnostic_kind_text): Const-ify.
- 	* gengtype.c (lang_names): Likewise.
- 
- Thu Jun 20 17:25:29 CEST 2002  JAn HUbicka  <jh@suse.cz>
- 
- 	* combine.c (subst): Be prepared for simplify_subreg to return VOIDmode.
- 
- 2002-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sol2.h: New file.
- 	* config.gcc (i?86-*-solaris2*): Include it before i386/sol2.h.
- 	(sparc64-wrs-vxworks*): Include it before sparc/sol2.h.
- 	(sparc-*-chorusos*): Likewise.
- 	(sparc-*-elf*): Likewise.
- 	(sparc-*-rtems*, sparc-*-rtemself*): Likewise.
- 	(sparc64-*-solaris2*, sparcv9-*-solaris2*): Likewise.
- 	(sparc-hal-solaris2*): Likewise.
- 	(sparc-*-solaris2*): Likewise.
- 	(sparclite-*-elf*): Likewise.
- 	(sparc86x-*-elf*): Likewise.
- 	(sparc64-*-elf*): Likewise.
- 
- 	* config/i386/sol2.h (PREFERRED_DEBUGGING_TYPE): Moved to
- 	config/sol2.h.
- 	(ASM_SPEC): Override config/sol2.h version for now.
- 	Removed obsolete GAS_REJECTS_MINUS_S variant.
- 	(WINT_TYPE, WINT_TYPE_SIZE): Moved to config/sol2.h.
- 	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
- 	(TARGET_OS_CPP_BUILTINS): Likewise.
- 	Assert system=unix.
- 	(CPP_SPEC): Simplified using new CPP_SUBTARGET_SPEC.
- 	(LIB_SPEC, ENDFILE_SPEC, STARTFILE_SPEC, LINK_SPEC): Moved to
- 	config/sol2.h.
- 	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
- 	(ASM_CPU_SPEC): Define.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 
- 	* config/sparc/sol2-bi.h (LONG_DOUBLE_TYPE_SIZE): Removed, already
- 	in config/sparc/sol2.h.
- 	(ASM_SPEC): Moved to config/sol2.h.
- 	(CPP_CPU_SPEC): Simplified.
- 	(STARTFILE_SPEC32): Likewise, renamed to STARTFILE_ARCH32_SPEC for
- 	consistency.
- 	(STARTFILE_SPEC64): Renamed to STARTFILE_ARCH64_SPEC.
- 	(STARTFILE_ARCH_SPEC): Use new names STARTFILE_ARCH32_SPEC,
- 	STARTFILE_ARCH64_SPEC.
- 	(STARTFILE_SPEC): Moved to config/sol2.h
- 	(SUBTARGET_EXTRA_SPECS): Add startfile_arch.
- 	(LINK_ARCH32_SPEC): Moved to config/sol2.h.
- 	(LINK_ARCH64_SPEC): Simplified.
- 	(LINK_ARCH_SPEC): Redefined config/sol2.h version for 64-bit support.
- 	(LINK_SPEC): Moved to config/sol2.h
- 
- 	* config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Moved to
- 	config/sol2.h.
- 	Use BITS_PER_WORD for size.
- 	(WINT_TYPE, WINT_TYPE_SIZE): Likewise.
- 	(HANDLE_PRAGMA_REDEFINE_EXTNAME): Likewise.
- 	(CPP_PREDEFINES): Removed OS-specific part handled by
- 	TARGET_OS_CPP_BUILTINS.
- 	(CPP_SUBTARGET_SPEC): Moved to config/sol2.h.
- 	(CPLUSPLUS_CPP_SPEC): Removed, handled by TARGET_OS_CPP_BUILTINS.
- 	(ASM_SPEC): Moved to config/sol2.h.
- 	(PREFERRED_DEBUGGING_TYPE): Likewise.
- 	(STARTFILE_SPEC, LIB_SPEC, LINK_SPEC): Likewise.
- 	(SWITCH_TAKES_ARG, STDC_0_IN_SYSTEM_HEADERS): Likewise.
- 	(TARGET_DEFAULT): Reordered to match config/sparc/sol2-bi.h version.
- 	(TRANSFER_FROM_TRAMPOLINE): Moved to config/sol2.h
- 
- 	* config.gcc (i?86-*-solaris2*): Removed obsolete gas support.
- 	* config/i386/sol2gas.h: Removed.
- 
- Thu Jun 20 12:14:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
- 
- 2002-06-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* gcc.c-torture/execute/simd-1.c: New.
- 
- 	* gcc.dg/simd-1.c: New.
- 
- 	* doc/extend.texi (Vector Extensions): Document that we can
- 	specify simd types not specifically supported by the hardware.
- 	Document that simd types can be used as function arguments.
- 	Document that signness does make a difference in SIMD types.
- 	Misc cleanups and revisions to the vector extensions section.
- 
- 	* simplify-rtx.c (simplify_subreg): Simplify subregs of vector
- 	constants.
- 
- 	* expr.c (vector_mode_valid_p): New.
- 
- 	* expr.h: Add vector_mode_valid_p.
- 
- 	* defaults.h (VECTOR_MODE_SUPPORTED_P): Set default.
- 
- 	* c-common.c (type_for_mode): Always build vector nodes regardless
- 	of VECTOR_MODE_SUPPORTED_P.
- 	(handle_mode_attribute): Error if we can't emulate a nonexisting
- 	vector mode.
- 	(handle_vector_size_attribute): Same.
- 
- 	* optabs.c (expand_binop): Open-code vector operations.
- 	(expand_unop): Open-code vector unops.
- 	(expand_vector_binop): New.
- 	(expand_vector_unop): New.
- 
- 	* c-typeck.c (build_binary_op): Allow vectors in binops.
- 	Allow vectors in conditional operatiors.
- 	(build_unary_op): Allow vectors in unary minus.
- 
- 	* config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Conditionalize on
- 	TARGET_ALTIVEC.
- 
- 2002-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (c_common_get_alias_set): Correctly handle characters.
- 	Rearrange order of expressions; don't handle vectors here.
- 	* alias.c (get_alias_set): Let vectors match their components.
- 
- 2002-06-19  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (mips_emit_prefetch): Use hints which
- 	match desired locality.
- 
- 2002-06-19  Dhananjay R. Deshpande  <dhananjayd@kpit.com>
- 
- 	* config/h8300/h8300.c (TARGET_INSERT_ATTRIBUTES): Define.
- 	(h8300_insert_attributes): New.
- 
- 2002-06-19  Akim Demaille  <akim@epita.fr>
- 
- 	* c-parse.in (initelt: identifier ':' initval): Add an empty
- 	action to fix a type clash.
- 	(aliasdecl, classdef): Add the missing closing `;'.
- 	Whitespace changes.
- 	* gengtype-yacc.y (typedef_struct): Add an empty action to preevnt
- 	$$ = $1 type clashes.
- 
- 2002-06-19  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (symbol_operand): New function.
- 	(mips_emit_prefetch): Ditto.
- 	* config/mips/mips-protos.h: Define.
- 	* config/mips/mips.h (ISA_HAS_PREFETCH): Define.
- 	(CONSTANT_ADDRESS_P): Adjust, use TARGET_GAS.
- 	(LEGITIMIZE_ADDRESS): Ditto.
- 	* config/mips/mips.md (prefetch, prefetch_si_address,
- 	prefetch_si, prefetch_di_address, prefetch_di): New patterns.
- 
- 2002-06-19  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/fp-bit.h: Add unordered defines for gofast.
- 
- 2002-06-19  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
- 	DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
- 	DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
- 	REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
- 	checking and without it.
- 	(decl_name, decl_mode_check_failed, regexp_name,
- 	regexp_mode_check_failed): New functions.
- 	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
- 	gen_presence_set, gen_absence_set, gen_automaton,
- 	gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
- 	gen_regexp_sequence, gen_reserv, gen_insn_reserv,
- 	automaton_decl_hash, automaton_decl_eq_p): Use the macros.
- 	(find_automaton_decl): Ditto.  Set up mode of work_automaton_decl.
- 	(insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
- 	(find_insn_decl): Ditto.  Set up mode of work_insn_decl.
- 	(decl_hash, decl_eq_p): Use the macros.
- 	(find_decl): Ditto.  Set up mode of work_decl.
- 	(process_excls, process_presence_absence, process_decls,
- 	check_automaton_usage, process_regexp, process_regexp_decls,
- 	check_usage, loop_in_regexp, check_loops_in_regexps,
- 	process_regexp_cycles, add_advance_cycle_insn_decl,
- 	initiate_states, initiate_excl_sets,
- 	initiate_presence_absence_sets, copy_insn_regexp, transform_1,
- 	transform_2): Use the macros.
- 	(transform_3): Ditto.  Check mode before making transformations of
- 	ALLOF.
- 	(regexp_transform_func, transform_insn_regexps,
- 	process_unit_to_form_the_same_automaton_unit_lists,
- 	form_the_same_automaton_unit_lists_from_regexp,
- 	form_the_same_automaton_unit_lists,
- 	process_seq_for_forming_states, process_alts_for_forming_states,
- 	create_alt_states, form_ainsn_with_same_reservs, make_automaton,
- 	form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
- 	estimate_one_automaton_bound, compare_max_occ_cycle_nums,
- 	units_to_automata_heuristic_distr, create_ainsns,
- 	units_to_automata_distr, create_automata): Use the macros.
- 	(form_regexp): Ditto.  Fix typo in access to fields of ALLOF.
- 	(longest_path_length, min_issue_delay_pass_states,
- 	output_dead_lock_vect, output_tables, output_insn_code_cases,
- 	output_internal_insn_latency_func, output_print_reservation_func,
- 	output_description, output_automaton_units, generate): Use the
- 	macros.
- 	(make_insn_alts_attr): Ditto.  Check case when there are not
- 	alternatives in the reservation.
- 	(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
- 	make_bypass_attr, form_important_insn_automata_lists,
- 	expand_automata): Use the macros.
- 
- 2002-06-20  Tim Josling  <tej@melbpc.org.au>
- 
- 	* Makefile.in: Clean up code to check for misspecified languages
- 	in enable-languages.
- 
- 2002-06-19  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* cpptrad.c (_cpp_replacement_text_len): initialize len.
- 
- 2002-06-19  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (unstrap, restrap): New targets.
- 	(bootstrap): Mention restrap.
- 
- 2002-06-19  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* except.c (ehl_free): Remove.
- 
- 	* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Correct misnamings of
- 	builtin_define and builtin_define_std.
- 
- 2002-06-19  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
- 
- 	* config/ns32k/ns32k.md: Give "*xxx" names to all unnamed insn's.
- 	(sCOND): Restrict operand class so that gcc knows how to reload them.
- 	(bitfield_set): Merge two unnamed insn's using alternatives.
- 	(call_value): Remove constraint on unused uperand.
- 	(udivmodhi4, udivmodsi4, udivmoddihi4_internal): Remove.
- 	(udivmoddiqi4_internal, udivmoddihi4, udivmoddiqi4): Remove.
- 
- 	* longlong.h (count_trailing_zeros): Escape newline and beautify.
- 
- 2002-06-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (QMTEST_DIR): Simplify definition.
- 
- 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/d30v/d30v.h (CUMULATIVE_ARGS): Replace typedef with
- 	#define.
- 
- 2002-06-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): Make date and time strings.
- 	(_cpp_builtin_macro_text, _cpp_copy_replacement_text,
- 	_cpp_replacement_text_len): New.
- 	* cppinit.c (cpp_create_reader): Update.
- 	(init_builtins): Register appropriate builtins for -traditional-cpp.
- 	* cppmacro.c (new_number_token): Remove.
- 	(_cpp_builtin_macro_text): New.
- 	(builtin_macro): Use it.
- 	(cpp_macro_definition): Update to handle traditional macros.
- 	* cppmain.c (cb_line_change): Don't do column positioning for
- 	traditional output.
- 	* cpptrad.c (enum ls): Rename ls_fun_macro to ls_fun_open.  New
- 	state ls_fun_close.
- 	(skip_whitespace): Fix.
- 	(maybe_start_funlike): Don't set state.parsing_args.
- 	(scan_out_logical_line): Remove duplicate error.  Use lex_state
- 	rather than state.parsing_args.
- 	(push_replacement_text): Handle builtins.
- 	(_cpp_replacement_text_len, _cpp_copy_replacement_text): New.
- 
- 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
- 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/fp-bit.c (_fpmul_parts, _fpdiv_parts): Mark with
- 	attribute __always_inline__.
- 
- 2002-06-18  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (FUNCTION_PROFILER): Respect flag_pic
- 	when generating the call to _mcount.
- 	(NO_PROFILE_COUNTERS): Define.
- 
- 2002-06-18  Richard Henderson  <rth@redhat.com>
- 
- 	* print-rtl.c (print_rtx): Adjust NOTE argument numbers for
- 	2002-06-02 change.
- 
- Tue Jun 18 20:53:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* t-sh (MULTILIB_EXCEPTIONS): Set to ml.
- 	config/sh/t-linux (MULTILIB_EXCEPTIONS): Clear.
- 	* config/sh/t-netbsd (MULTILIB_EXCEPTIONS): Likewise.
- 	* config/sh/t-sh64 (MULTILIB_EXCEPTIONS): Likewise.
- 
- 	* sh-protos.h (sh_pr_interrupt): Declare.
- 	* sh.c (sh_pr_interrupt): New function.
- 	(print_operand, calc_live_regs, sh_expand_prologue): Use it.
- 	(sh_hard_regno_rename_ok): Likewise.
- 	* sh.h (NORMAL_MODE): FP_MODE_NONE for interupt handlers.
- 
- 2002-06-18  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def (DEFINE_AUTOMATON): Add description of new options
- 	`time' and `v'.  Fix incorrect description of option `w'.
- 
- 	* doc/md.texi: Ditto.
- 
- 	* genautomata.c (TIME_OPTION, V_OPTION): New macros.
- 	(gen_automata_option): Process the new options.
- 	(transform_2, transform_3): Initialize some variables.
- 	(initiate_automaton_gen): Use the new macros.
- 
- 2002-06-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_initial_elimination_offset): Declare.
- 	(mips_set_return_address, mips_restore_gp): Declare.
- 	* config/mips/mips.h (struct mips_frame_info): Move to mips.c
- 	(current_frame_info): Remove.
- 	(INITIAL_ELIMINATION_OFFSET): Use mips_initial_elimination_offset.
- 	* config/mips/mips.c: Remove uses of current_frame_info.
- 	(struct mips_frame_info): Moved from mips.h.  Remove 'insns_len'.
- 	(struct machine_function): Add 'frame' and 'insns_len'.
- 	(current_frame_info, zero_frame_info): Remove.
- 	(mips_restore_gp, mips_set_return_address): New.
- 	(mips_initial_elimination_offset): New.
- 	* config/mips/mips.md (exception_receiver): Use mips_restore_gp.
- 	(eh_return define_split): Use mips_set_return_address.
- 
- 2002-06-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (dtable): Update.
- 	(end_directive): Decrement expansion prevention count.
- 	Clear state.in_expression.
- 	(prepare_directive_trad): Set state.in_expression.
- 	Increment expansion prevention count.
- 	* cpptrad.c (enum ls): New.
- 	(_cpp_overlay_buffer): Set overlaid_buffer.
- 	(_cpp_remove_overlay): Use overlaid_buffer.
- 	(_cpp_read_logcial_line_trad): Update buffer when it might
- 	have changed.
- 	(scan_out_logical_line): Handle state transitions for assertions
- 	and defined() in #if, and for funlike invocations including the
- 	directive case.  Handle '<' and '>' as a quote mechanism in
- 	#include.  Warn about unterminated macro invocations.
- 	* cpphash.h (struct lexer_state): New member in_expression.
- 	(struct cpp_reader): New member overlaid buffer.
- 
- 2002-06-18  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/arit.c (do_31div, __Udiv, __Umod): Mark prototype
- 	__always_inline__.
- 
- 2002-06-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/ia64/ia64.md (doloop_end_internal): Correct rtl.
- 
- 	* doloop.c (doloop_optimize): Extract pattern from insn.
- 
- 2002-06-17  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/extend.texi (Function Attributes): Remove `,...' from @var.
- 
- 2002-06-17  Jeff Law <law@redhat.com>
- 
- 	* libgcc2.c: Do not include symcat.h or machmode.h.
- 
- 2002-06-17  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6922
- 	* expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
- 
- 2002-06-17  Tom Tromey  <tromey@redhat.com>
- 
- 	* dwarfout.c: Include function.h.
- 
- 2002-06-17  Andreas Schwab  <schwab@suse.de>
- 
- 	* print-rtl.c (print_rtx): Print space before vector, not after.
- 	(debug_rtx): Clear sawclose before printing.
- 	(debug_rtx_list): Print newline after each list element.
- 	(debug_rtx_range): Likewise.
- 
- 2002-06-17  Richard Henderson  <rth@redhat.com>
- 
- 	* function.h (struct function) [funcdef_no]: Rename profile_label_no.
- 	(current_function_funcdef_no): Similarly.
- 	* function.c (funcdef_no): Similarly.
- 	(prepare_function_start): Set current_function_funcdef_no.
- 	(expand_function_start): Don't set current_function_profile_label_no.
- 	* dwarf2out.h (current_funcdef_number): Remove.
- 	* dwarf2out.c (current_funcdef_number): Remove.  Replace with
- 	current_function_funcdef_no throughout.
- 	* dwarfout.c, vmsdbgout.c: Similarly.
- 	* except.c (sjlj_funcdef_number): Remove.
- 	(sjlj_emit_function_enter): Use current_function_funcdef_no instead.
- 	(output_function_exception_table): Likewise.
- 	* final.c (profile_function): Use current_function_funcdef_no
- 	instead of current_function_profile_label_no.
- 
- 2002-06-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* sched-ebb.c (init_ready_list): Check INSN_P first.
- 
- Mon Jun 17 17:26:15 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (divsi3): Update way how to find insns in a sequence.
- 
- 	* reload1.c (merge_assigned_reloads): Don't change reloads
- 	other than RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_INPADDR_ADDRESS
- 	to RELOAD_OTHER when there are conflicting input reloads.
- 
- 2002-06-17  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* function.c (epilogue_done): Correctly build a sequence of insns for
- 	a sibcall epilogue.
- 
- 2002-06-17  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/fr30/fr30.h (CUMULATIVE_ARGS): Replace typedef with
- 	#define.
- 
- 	* config/m32r/m32r.md: Replace gen_sequence with get_insns.
- 
- 2002-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (BIGGEST_FIELD_ALIGNMENT): Define instead
- 	of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
- 
- 2002-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/6722
- 	* regclass.c (globalize_reg): Update regs_invalidated_by_call.
- 
- 2002-06-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config.gcc: Add i386/sysv4-cpp.h; remove i386-aout.h from vxworks.
- 	* config/i386/i386-aout.h, config/i386/i386elf.h,
- 	config/i386/sysv4.h: Remove CPP_PREDEFINES.
- 	* config/i386/linux64.h, config/i386/i386elf.h, config/i386/mach.h,
- 	config/i386/netware.h, config/i386/rtemself.h, config/i386/sco5.h,
- 	config/i386/sol2.h, config/i386/vsta.h, config/i386/vxi386.h,
- 	config/i386/win32.h: Use TARGET_OS_CPP_BUILTINS rather than
- 	CPP_PREDEFINES and part of CPP_SPEC.
- 	* config/i386/sysv4-cpp.h: New.
- 
- 2002-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/7030
- 	* dwarf2out.c (modified_type_die): Don't assign the qualified die
- 	to the unqualified type.
- 
- Sun Jun 16 22:16:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (x86_field_alignment): Declare.
- 	* i386.c (x86_field_alignment): Define.
- 	* i386.h (ADJUST_FIELD_ALIGNMENT): New.
- 	(BIGGEST_FIELD_ALIGNMENT): Kill.
- 
- 2002-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* vax.md (casesi): Use emit_jump_insn.  Tidy expander pattern.
- 
- 2002-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (flag_ms_extensions): Move from c++ front end.
- 	* c-common.h (flag_ms_extensions): Declare.
- 	* c-decl.c (c_decode_option): Add -fms-extensions.
- 	(grokfield): Don't accept anonymous structures in ISO C mode;
- 	accept only unnamed anonymous structures in GNU C mode; accept
- 	Plan 9 extensions in MS mode.
- 	* c-parse.in (SAVE_EXT_FLAGS, RESTORE_EXT_FLAGS): Rename from
- 	SAVE/RESTORE_WARN_FLAGS; add flag_iso frobbing; update all callers.
- 	(extension): Clear flag_iso.
- 	* doc/invoke.texi (C Dialect Options): Add -fms-extensions.
- 
- 2002-06-16  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/7042
- 	* reorg.c (make_return_insns) [DELAY_SLOTS_FOR_EPILOGUE]: Exit
- 	early if current_function_epilogue_delay_list is non-empty.
- 	* config/cris/cris.md ("return"): Add sanity check asserting that
- 	current_function_epilogue_delay_list is empty.
- 
- 2002-06-16  Jeff Law <law@redhat.com>
- 
- 	* emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
- 	sharing of hard registers.
- 
- 	* toplev.c (rest_of_compilation): Remove redundant conditional.
- 
- 	* toplev.c (rest_of_compilation): Perform a simpler, less costly
- 	cleanup of the CFG when not optimizing.
- 
- 2002-06-16  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* gcc.c (main): Correct startfile_prefix_spec check.
- 
- 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config.gcc: Revert rth's patch of 2002-05-18.  Instead,
- 	include both darwin.o and rs6000-c.o.
- 
- 2002-06-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (compare_from_rtx): Call simplify_relational_operation
- 	on all comparisons, not just those between integer constants,
- 	with the correct (possibly unsigned) comparison code.
- 	(do_compare_rtx_and_jump): Likewise.
- 
- 2002-06-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* Makefile.in (tm_defines): New configuration variable.
- 	(cs-config.h, cs-hconfig.h, cs-tconfig.h): Rename DEFINES to XM_DEFINES.
- 	Pass tm_defines in TM_DEFINES.
- 	(cs-tm_p.h): Rename DEFINES to XM_DEFINES.  Pass TM_DEFINES.
- 	* config.gcc (tm_defines): New configuration variable.
- 	(hppa*-*-* | parisc*-*-*): Use tm_defines instead of pa-700.h and
- 	pa-7100.h headers.  Change hppa1* scheduling default to 7100LC.
- 	* configure.in: Substitute tm_defines.
- 	* configure: Rebuilt.
- 	* mkconfig.sh: Rename DEFINES to XM_DEFINES.  Output TM_DEFINES.
- 	* doc/install.texi: Update.
- 	* pa/pa-700.h: Delete file.
- 	* pa/pa-7100.h: Delete file.
- 
- 2002-06-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (comparison_to_compcode): New function to convert
- 	an comparison TREE CODE into a bit-based representation.
- 	(compcode_to_comparison): New function to convert from this bit
- 	based representation back to a comparison TREE CODE.
- 	(fold_truthop): Simplify (x<y) && (x==y) and related composite
- 	comparisons.
- 
- 2002-06-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* tm.texi (MEMBER_TYPE_FORCES_BLK): Document MODE argument.
- 
- 	* stor-layout.c (compute_record_mode): Remove check for
- 	FUNCTION_ARG_REG_LITTLE_ENDIAN and VOIDmode when checking for
- 	MEMBER_TYPE_FORCES_BLK.  Pass new mode field to
- 	MEMBER_TYPE_FORCES_BLK.
- 
- 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Same.
- 
- 	* config/c4x/c4x.h (MEMBER_TYPE_FORCES_BLK): Same.
- 
- 2002-06-14  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* config/sparc/sparc.h (DYNAMIC_CHAIN_ADDRESS): Add SPARC_STACK_BIAS.
- 
- 2002-06-14  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* configure.in (USE_UNWIND_EXCEPTIONS): Add support to set
- 	USE_UNWIND_EXCEPTIONS if --enable-libunwind-exceptions is set.
- 	* configure, config.in: Regenerate.
- 
- 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	* loop.c (check_final_value): Use v->always_executed
- 	instead of v->always_computable.
- 	* unroll.c (final_giv_value): Don't calculate the final
- 	value as a function of the biv if the giv is not computed
- 	for every loop iteration.
- 
- 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	* loop.c (for_each_insn_in_loop): Fix formatting and comments.
- 
- 2002-06-14  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	PR c/6677
- 	* convert.c (convert_to_integer) [LSHIFT_EXPR]: Don't pass
- 	the truncation down when the target type is signed.
- 	[trunc1]: Use unsigned arithmetic for LSHIFT_EXPR.
- 	* fold-const.c (extract_muldiv) [NOP_EXPR]: Don't pass through
- 	the conversion if the target type is a smaller type.
- 
- 2002-06-14  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (fold) [compare ops]: Move X>=C / X<C transfomation
- 	earlier.  Re-factor comparisons vs extrema.
- 
- 2002-06-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (builtin_zapnot): Fix op2 mode.
- 
- 2002-06-14  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* rtl.h (SCHED_GROUP_P): Disallow CODE_LABEL, BARRIER and NOTE.
- 	* sched-deps.c (add_dependence): Likewise.
- 	(group_leader): Likewise.
- 	* sched-rgn.c (init_ready_list): Likewise.
- 	* doc/rtl.texi: Adjust accordingly.
- 
- 2002-06-13  Jeffrey Law  <law@redhat.com>
- 
- 	* gcse.c (delete_null_pointer_checks_1): Inform caller if any
- 	null pointer checks were eliminated.  Update prototype.
- 	(delete_null_pointer_checks): Similarly.
- 	* rtl.h (delete_null_pointer_checks): Update prototype.
- 	* toplev.c (rest_of_compilation): Only run cleanup_cfg if
- 	delete_null_pointer_checks deletes one or more null
- 	pointer checks.  Do not run cleanup_cfg before gcse, the
- 	CFG is accurate and optimized at that point..
- 
- 	* rs6000.c (rs6000_frame_related): Avoid unwanted sharing
- 	of hard registers.
- 
- 2002-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* Makefile.in (libgcc.mk): Depend on specs.
- 
- Fri Jun 14 12:15:11 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (mulsi3): Update way how to find insns in a sequence.
- 
- Fri Jun 14 12:04:02 2002  Dhananjay R. Deshpande <dhananjayd@kpit.com>
- 
- 	* sh.h: Define HARD_REGNO_RENAME_OK
- 	* sh.c: sh_hard_regno_rename_ok: New. If current function has
- 	interrupt_handler attribute, only registers saved on stack are OK.
- 	* sh-protos.h: Declare sh_hard_regno_rename_ok.
- 
- 2002-06-14  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.md (jump): Emit jump insn.
- 	(call_pcrel): Get pattern of the result of gen_call_site.
- 	(call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
- 
- 2002-06-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_buffer): Remove saved_line_base.
- 	* cpptrad.c: Update comments.
- 	(skip_whitespace, copy_comment): Take a new parameter.
- 	(skip_escaped_newlines): Don't duplicate escaped newline test.
- 	(copy_comment): Different location for CUR, decide here how
- 	to copy / replace the comment.
- 	(skip_whitespace): Copy whitespace.
- 	(_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
- 	(scan_out_logical_line): Let copy comment handle keeping or
- 	replacing comments.
- 	(scan_parameters, _cpp_create_trad_definition): Update.
- 
- 2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
- 
- 	* reload.c (get_secondary_mem,find_reloads_address,
- 	find_reloads_address_1): Pass reference to MEM to find_reloads_address
- 	so that LEGITIMIZE_RELOAD_ADDRESS will be called.
- 
- 2002-06-13  Jessica Han  <jessica@cup.hp.com>
- 
- 	* defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
- 	(TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
- 	* doc/tm.texi: Document them.
- 	* config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
- 	(TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
- 	(TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
- 	(ASM_OUTPUT_FDESC): Likewise.
- 
- 2002-06-13  Eric Christopher  <echristo@redhat.com>
- 
- 	* diagnostic.c (output_format): Fix thinko.
- 
- Thu Jun 13 22:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
- 	(DWARF2_UNWIND_INFO): Define to 0.
- 
- 	* config/sh/sh.c (calc_live_regs): Don't use initial_value
- 	optimization for PR_MEDIA_REG.
- 
- 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_lex_identifier_trad): Remove.
- 	* cpplib.c (end_directive): Don't skip, always remove overlay
- 	apart from #define.
- 	(prepare_directive_trad): Handle NULL pfile->directive.
- 	(_cpp_handle_directive): Always call prepare_directive_trad
- 	if traditional.
- 	* cppmain.c (check_multiline_token): Rename account_for_newlines,
- 	generalize inputs.
- 	(scan_translation_unit_trad): Use it.
- 	* cpptrad.c (skip_comment): Rename copy_comment, copy comment to
- 	output, get escaped newline in comment close correct.
- 	(check_output_buffer, skip_whitespace): Update.
- 	(_cpp_lex_identifier_trad): Remove.
- 	(scan_out_logical_line): Handle -C and comments in directives
- 	properly.
- 
- Thu Jun 13 20:18:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
- 	* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
- 	* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
- 	(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
- 	(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
- 	(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
- 	(SELECT_SH5_COMPACT_NOFPU): Likewise.
- 	(TARGET_SWITCHES): Use them.
- 	(TARGET_CPU_DEFAULT): Define if not already defined.
- 	(TARGET_DEFAULT): Use it.
- 	(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
- 	* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
- 	* config/sh/t-monolib: New file.
- 
- 2002-06-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* toplev.c (rest_of_compilation): Simplify (and correct) the
- 	logic of the first delete-null-pointer-checks pass.
- 
- Thu Jun 13 18:24:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_movstr):  Fix pasto.
- 
- Thu Jun 13 18:18:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload.c (find_valid_class):  Fix thinko in my previous patch.
- 
- 2002-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
- 	* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
- 	(CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
- 	(EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
- 
- 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* tree-inline.c (expand_call_inline): Don' mess with _DECL
- 	fields.
- 
- 2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (output_format): Recognize "%H" as a format
- 	specifier for a location_t.
- 	(text_specifies_location): New function.
- 	(diagnostic_set_info): Use it.
- 
- 2002-06-13  Jeffrey Law  <law@redhat.com>
- 
- 	* emit-rtl.c (static_regno_reg_rtx): Define.
- 	(init_emit_once): Initialize static_regno_reg_rtx.
- 	(init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
- 	of building new hard reg objects once per function.
- 	(gen_rtx_REG): Try to share hard regs.
- 	* regclass.c (init_fake_stack_mems): New function broken out from
- 	init_regs.
- 	* rtl.h (init_fake_stack_mems): Declare.
- 	* toplev.c (lang_independent_init): Call init_regs before
- 	init_emit_once.  Call init_fake_stack_mems after init_emit_once.
- 
- 	* i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
- 
- 	* alias.c (argument_registers): Remove.
- 	(init_alias_once): Initialize static_reg_base_value here.  Remove
- 	initialization of argument_registers.
- 	(init_alias_once_per_function): Remove.
- 	(init_alias_analysis): Copy all the entries from static_reg_base_value
- 	into new_reg_base_value all at once.
- 	* rtl.h (init_alias_once_per_function): Remove declaration.
- 	* function.c (prepare_function_start): Do not call
- 	init_alias_once_per_function.
- 
- 	* caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
- 	starting a sequence and emitting an INSN.
- 
- 2002-06-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
- 
- 2002-06-13  David S. Miller  <davem@redhat.com>
- 
- 	* expmed.c (init_expmed): Remove duplicate init of 'reg'.
- 
- 2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (end_directive): Handle line skipping.  Only remove
- 	the rest of the line if the directive was valid.
- 	* cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
- 	expanding a traditional macro.
- 	* cpptrad.c (recursive_macro): New.
- 	(read_logical_line_trad): Handle skipping.
- 	(scan_out_logical_line): Continue after a successful directive.
- 	Don't expand macros whilst skipping, or if recursing.
- 	(_cpp_create_trad_definition): scan_out_logical_line now sets
- 	the output current position.
- 
- 2002-06-12  Eric Christopher  <echristo@redhat.com>
- 
- 	From Chris Demetriou  <cgd@broadcom.com>
- 	* config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
- 	comment.
- 	(ISA_HAS_MADD_MSUB): Ditto.
- 	(ISA_HAS_NMADD_NMSUB): Ditto.
- 
- 2002-06-12  Eric Christopher  <echristo@redhat.com>
- 
- 	* config.gcc: Consolidate little endian handling and
- 	little/big endian targets.
- 	* config/mips/elfl.h: Remove file.
- 	* config/mips/elfl64.h: Ditto.
- 	* config/mips/ecoffl.h: Ditto.
- 	* config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
- 
- 2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* gengtype.h (xvasprintf): New prototype.
- 	(xasprintf): New prototype.
- 	(struct outf): New.
- 	(get_output_file): Return an outf_p.
- 	(header_file): Is now an outf_p.
- 	(base_files): Now are outf_p.
- 	(oprintf): New.
- 	* gengtype.c: Replace all output FILE * with outf_p; use oprintf
- 	rather than stdio operations.  Use xasprintf in a few places,
- 	when appropriate.
- 	(xvasprintf): New.
- 	(xasprintf): New.
- 	(struct filemap): Delete.
- 	(files): Delete.
- 	(output_files): New.
- 	(oprintf): New.
- 	(create_file): Create an outf_p.  Add parameter to indicate output
- 	file name, change all callers.
- 	(open_base_files): Create gtype-desc.c here.
- 	(get_output_file_with_visibility): Rewrite.
- 	(get_output_file_name): Just look at 'name' field in struct outf.
- 	(close_output_files): Rewrite.
- 
- 2002-06-12  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
- 	(MASK_G_FLOAT): Define.
- 	(TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
- 	(TARGET_SWITCHES): Likewise.
- 	(TARGET_DEFAULT): Likewise.
- 
- 2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
- 	* config/mips/mips.c (mips_output_filename): Don't print a
- 	".file" directive if we are using DWARF-2.
- 	(mips_output_function_prologue): Do not emit source file
- 	name for TARGET_GAS.
- 
- Wed Jun 12 16:45:13 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
- 	decide whether emit the short opcode.
- 	* i386.h (x86_shift1): Declare.
- 	(TARGET_SHIFT1): New macro.
- 	* i386.c (x86_shift1): New global variable.
- 
- 	* toplev.c (rest_of_compilation): Call find_basic_block pre-loop
- 	unconditionally; make loop to rebuild CFG; kill unnecesary
- 	find_basic_block calls; kill compute_bb_for_insn call.
- 	* cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
- 	* haifa-sched.c (sched_init): Likewise.
- 	* ssa-ccp.c (ssa_const_prop): Likewise.
- 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
- 
- 2002-06-11  David S. Miller  <davem@redhat.com>
- 
- 	* emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
- 	active_insn_p.
- 
- 2002-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (builtin_define_type_max): New.
- 	(cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
- 	__INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
- 
- 	From Joseph S. Myers:
- 	* glimits.h: Rewrite to expect the double underscore definitions
- 	from the compiler.
- 
- 	* config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
- 	config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
- 	config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
- 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
- 	config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
- 	config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
- 	config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
- 	__INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
- 
- 2002-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
- 	(ALPHA_BUILTIN_SET_THREAD_POINTER): New.
- 	(code_for_builtns): Update.
- 	(alpha_init_builtins): Add __builtin_thread_pointer and
- 	__builtin_set_thread_pointer.
- 	(alpha_expand_builtin): Handle void builtins.
- 	* doc/extend.texi (Alpha Built-in Functions): Update.
- 
- 2002-06-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/6997
- 	* config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
- 
- 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Make the name of the extra-modes file adjustable
- 	by target stanzas.
- 	(s390x, strongarm, xscale stanzas): Use this facility.
- 	* configure.in: Update to match.
- 	* configure: Regenerate.
- 
- 2002-06-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
- 	max/mins as unsigned GE compares.
- 
- 2002-06-11  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
- 	* config/vax/bsd.h: New file.
- 	* config/vax/netbsd.h: Add missing notice.
- 	(CPP_PREDEFINES): Remove.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_SPEC): Use NETBSD_CPP_SPEC.
- 	* config/vax/openbsd.h: Update copyright years.
- 	(CPP_PREDEFINES): Remove.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	* config/vax/ultrix.h: Likewise.
- 	* config/vax/vaxv.h: Likewise.
- 	* config/vax/vms.h: Likewise.
- 	* config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES, CPP_SPEC): Remove.
- 
- Wed Jun 12 01:50:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (addqi_1_slp, subqi_1_slp
- 	(andqi_ext0, testqi_ext0): Remove unnecesary check.
- 	(addhi*, addqi*): Simplify "dec" condition.
- 	(testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
- 	(and, or, xor to QImode splitters): New.
- 	(iorqi_ext*): New.
- 	(xorqi_ext_0): New.
- 	(xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
- 	(andqi_ext_1_rex64): New.
- 	(ashrqi*_slp): New.
- 	(ashlqi*_slp): New.
- 	(lshlqi*_slp): New.
- 	(rotrqi3*_slp): New.
- 	(rotlqi3*_slp): New.
- 
- 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
- 	softfloat.h.
- 	* config/rs6000/vxppc.h (CPP_ENDIAN_BIG_SPEC): Delete.
- 	(CPP_ENDIAN_LITTLE_SPEC): Delete.
- 	* config/rs6000/sysv4le.h (CPP_ENDIAN_DEFAULT_SPEC): Delete.
- 	* config/rs6000/sysv4.h (CPP_SYSV_SPEC): Delete _SOFT_FLOAT setting,
- 	__LONG_DOUBLE_128__ setting, _CALL_* setting.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	(CPP_FLOAT_DEFAULT_SPEC): Delete.
- 	(CPP_LONGDOUBLE_DEFAULT_SPEC): Delete.
- 	(CPP_SYSV_DEFAULT_SPEC): Delete.
- 	(CPP_ENDIAN_BIG_SPEC): Delete.
- 	(CPP_ENDIAN_LITTLE_SPEC): Delete.
- 	(CPP_ENDIAN_SPEC): Delete.
- 	(CPP_SPEC): Don't include cpp_endian, cpp_cpu.
- 	(SUBTARGET_EXTRA_SPECS): Delete cpp_sysv_default, cpp_endian_default,
- 	cpp_endian, cpp_endian_big, cpp_endian_little, cpp_float_default,
- 	cpp_longdouble_default.
- 	* config/rs6000/softfloat.h: Delete.
- 	* config/rs6000/rs6000.h (CPP_CPU_SPEC): Delete.
- 	(EXTRA_SPECS): Delete cpp_cpu.
- 	(TARGET_CPU_CPP_BUILTINS): New.
- 	* config/rs6000/rs6000-protos.h (rs6000_cpu_cpp_builtins): New
- 	prototype.
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): New.
- 	* config/rs6000/linux64.h (CPP_PREDEFINES): Remove endianness defines.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	* config/rs6000/eabiaix.h (CPP_SYSV_DEFAULT_SPEC): Delete.
- 	* config/rs6000/darwin.h (CPP_PREDEFINES): Don't define __BIG_ENDIAN__.
- 	* config/rs6000/beos.h (CPP_SPEC): Remove cpp_cpu.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	* config/rs6000/aix51.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
- 	(CPLUSPLUS_CPP_SPEC): Likewise.
- 	(CPP_CPU_SPEC): Delete.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	* config/rs6000/aix43.h (CPP_SPEC): Remove cpp_cpu, -D_ARCH_PPC.
- 	(CPLUSPLUS_CPP_SPEC): Likewise.
- 	(CPP_CPU_SPEC): Delete.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	* config/rs6000/aix41.h (CPP_SPEC): Remove cpp_cpu.
- 	(CPP_DEFAULT_SPEC): Delete.
- 	* config/rs6000/aix.h (CPP_SPEC): Remove cpp_cpu.
- 	(CPP_DEFAULT_SPEC): Delete.
- 
- 	* doc/gty.texi: Small updates.
- 
- 2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* objc/objc-act.c (warn_with_ivar): Adjust calls to
- 	diagnostic_count_error.
- 	(warn_with_method): Likewise.
- 
- 	* diagnostic.h (warnings_are_errors_message): New field of
- 	diagnostic_context.
- 	(diagnostic_count_error): Rename to diagnostic_count_diagnostic to
- 	match semantics.
- 	* diagnostic.c: Adjust calls to diagnostic_count_error through out.
- 	(diagnostic_count_diagnostic): Make aware of other kinds of
- 	diagnostics.
- 	(diagnostic_initialize): Initialize warnings_are_errors_message field.
- 
- 2002-06-11  Tom Tromey  <tromey@redhat.com>
- 
- 	For PR java/6520:
- 	* fold-const.c (fold_convert): Don't modify existing tree's type.
- 
- 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/ppc-asm.h: Remove some Windows NT leftovers.
- 
- 2002-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* caller-save.c (init_caller_save): Clear INSN_CODE each iteration.
- 
- 2002-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (EH_FRAME_SECTION_NAME): Don't define if
- 	DWARF2_UNWIND_INFO is false.
- 
- 2002-06-11  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
- 
- 	* config/s390/s390.c (emit_prologue): gen_store_multiple
- 	returns an insn now, not a pattern.
- 
- 2002-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in (gccinstall.dvi): Pass absolute pathnames to
- 	$(TEXI2DVI) -o.
- 
- Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_promote_QImode): Set for Athlon
- 	(x86_fast_prefix): New global variable.
- 	(x86_arch_always_fancy_math_387): Fix formating.
- 	* i386.h (x86_fast_prefix): Declare
- 	(TARGET_FAST_PREFIX): define.
- 	* i386.md (and to strict_low_part, HI to SI
- 	promoting splitter): Use new macro.
- 
- 	* i386.h (RTX_COSTS): float_extend is not for free for SSE.
- 
- 2002-06-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (distclean): Delete junk left in testsuite
- 	directory, too.
- 
- 2002-06-11  Jeffrey Law <law@redhat.com>
- 
- 	* emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
- 	last insn created by the splitter.
- 
- 	* caller-save.c (init_caller_save): Move creation of SAVEINSN
- 	and RESTINSN into the scope of the sequence.
- 
- 	* mips.c (mips_expand_prologue): Use emit_jump_insn for trivial
- 	RETURN insns.
- 
- 	* loop.c (loop_regs_scan): Avoid useless generation of REG objects.
- 
- 	* mips.c (function_arg_advance): gen_ashldi3 returns an INSN now,
- 	not the pattern.  So extract the pattern from the insn.
- 
- 	* mips.c (embedded_pic_fnaddr_reg): Fix typo.
- 
- 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (movsi): Only use floating point
- 	register alternatives when operands are already fprs.
- 	(movdi_31, movdi_64): Likewise.
- 
- 2002-06-11  David S. Miller  <davem@redhat.com>
- 
- 	* emit-rtl.c (try_split): Do not abort on non-INSN_P.
- 	Only run RTX equality checks on INSN_P rtl.
- 
- 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (reload_base, ltorg): Remove.
- 	* s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
- 	s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
- 	* s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
- 	s390_asm_output_pool_prologue): Likewise.
- 	* s390.h (s390_pool_start_insn): Likewise.
- 
- 	* s390.c (s390_output_symbolic_const): Remove support for
- 	old-style pool chunks.
- 	(s390_function_epilogue): Likewise.
- 	(s390_output_constant_pool): Likewise.  Also, fix incorrect
- 	alignment for 64-bit literal pools.
- 	(print_operand_address): Remove 'y' and 'Y' format flags.
- 	* s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
- 	old-style pool chunks.
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
- 	(ASM_OUTPUT_POOL_EPILOGUE): Remove.
- 	(S390_CHUNK_MAX, S390_CHUNK_OV, S390_POOL_MAX): Remove.
- 
- 	* s390.c (consttable_operand): New function.
- 	* s390-protos.h (consttable_operand): Declare it.
- 	* s390.h (PREDICATE_CODES): Add consttable_operand.
- 	* s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
- 	consttable_sf, consttable_df, pool_start_31, pool_end_31,
- 	pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
- 	* s390.c (struct constant, struct constant_pool): New data types.
- 	(constant_modes, gen_consttable): New variables.
- 	(s390_start_pool, s390_end_pool, s390_add_pool,
- 	s390_dump_pool, s390_free_pool): New functions.
- 	(s390_chunkify_pool): Completely reimplement literal pool
- 	overflow handling.
- 
- 	* s390.c (s390_pool_overflow): New variable.
- 	* s390.h (s390_pool_overflow): Declare it.
- 	* s390.md (cjump, icjump): Use it to adapt length for out-of-range
- 	jumps in literal pool overflow situations.
- 
- 	* s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
- 	(s390_frame_info): Account for possible use of RETURN_REGNUM
- 	by new literal pool overflow code.
- 	(s390_emit_prologue): Likewise.
- 
- 2002-06-05  David S. Miller  <davem@redhat.com>
- 
- 	Delete SEQUENCE rtl usage outside of reorg and ssa passes.
- 	* rtl.h (gen_sequence, emit_insns, emit_insns_before,
- 	emit_insns_before_scope, emit_insns_after,
- 	emit_insns_after_scope): Delete declaration.
- 	* ada/misc.c (insert_code_for): Use emit_insn* instead of
- 	emit_insns_foo.
- 	* config/alpha/alpha.c (alpha_set_memflags_1): Abort on SEQUENCE.
- 	(alpha_set_memflags): Fix comment.
- 	(set_frame_related_p): Use get_insns instead of gen_sequence.
- 	* config/alpha/alpha.md (setjmp receiver splitter): Avoid
- 	emitting no insns.
- 	* config/arm/arm.c (arm_finalize_pic): Use get_insns instead of
- 	gen_sequence.
- 	(arm_gen_load_multiple, arm_gen_store_multiple): Likewise.
- 	* config/fr30/fr30.c (fr30_move_double): Likewise.
- 	* config/i386/i386.c (ix86_expand_int_movcc, ix86_expand_movstr):
- 	Likewise.
- 	* config/ia64/ia64.c (spill_restore_mem): Likewise.
- 	* config/ia64/ia64.md (conditional move spliiter): Avoid emitting
- 	no insns.
- 	* config/m32r/m32r.c (gen_split_move_double): Use get_insns
- 	instead of gen_sequence.
- 	* config/mips/mips.c (embedded_pic_fnaddr_reg): Likewise.
- 	(mips_expand_prologue, mips16_gp_pseudo_reg): Likewise.
- 	* config/sh/sh.c (sh_need_epilogue): Likewise.
- 	* config/sparc/sparc.md (current_function_calls_alloca, flat): New
- 	attributes.
- 	(setjmp pattern and split): Use them to avoid splitter which emits
- 	no RTL.
- 	* genattrtab.c (main): Emit include of function.h
- 	* config/stormy16/stormy16.c (xstormy16_split_cbranch): Use
- 	get_insns instead of gen_sequence.
- 	* config/cris/cris.c (cris_split_movdx): Likewise.
- 	* emit-rtl.c (emit_insns*): Kill.
- 	(try_split): Expect insn list instead of SEQUENCE.
- 	(make_jump_insn_raw, make_call_insn_raw): Fix comments.
- 	(emit_*insn*): Reimplement to work with INSN lists and PATTERNs.
- 	Make them abort if a SEQUENCE is given and RTL checking is
- 	enabled.
- 	(emit_*_scope): Don't forget to set scope on final insn.
- 	(gen_sequence): Move from here...
- 	* ssa.c (gen_sequence): To here as private function.
- 	* builtins.c (expand_builtin_apply_args): Use emit_insn_foo, fix
- 	comments.
- 	(expand_builtin_return, expand_builtin_mathfn): Likewise.
- 	(expand_builtin_strlen): Use get_insns instead of gen_sequence.
- 	(expand_builtin_saveregs): Use emit_insn_foo, fix comments.
- 	(expand_builtin_expect_jump): Use get_insns and fix comments.
- 	* calls.c (try_to_integrate): Use emit_insn_foo.
- 	(expand_call, emit_library_call_value_1): Likewise.
- 	* expr.c (emit_queue): Handle insn lists instead of SEQUENCE.
- 	(emit_move_insn_1): Use get_insns instead of gen_sequence.
- 	(expand_expr): Use emit_insn_foo.
- 	* cfgrtl.c (commit_one_edge_insertion): Use emit_insn_foo.
- 	* except.c (build_post_landing_pads): Likewise.
- 	* flow.c (attempt_auto_inc): Likewise.
- 	* stmt.c (expand_fixup, fixup_gotos, expand_nl_handler_label,
- 	expand_nl_goto_receivers, expand_decl_cleanup): Likewise.
- 	* function.c (fixup_var_refs_insn): Use get_insns instead of
- 	gen_sequence.
- 	(fixup_var_refs_1): Likewise and expect insn list from gen_foo.
- 	(fixup_memory_subreg): Use get_insns instead of gen_sequence.
- 	(fixup_stack_1, purge_addressof_1, expand_main_function,
- 	get_arg_pointer_save_area): Likewise.
- 	(optimize_bit_field, instantiate_virtual_regs_1, assign_parms,
- 	expand_function_end): Use emit_insn_foo.
- 	(record_insns, keep_stack_depressed): Work with insn list instead
- 	of SEQUENCE, fix comments.
- 	* ifcvt.c (noce_emit_store_flag, noce_try_store_flag,
- 	noce_try_store_flag_constants, noce_try_store_flag_inc,
- 	noce_try_store_flag_mask, noce_emit_cmove, noce_try_cmove_arith,
- 	noce_try_minmax, noce_try_abs): Use emit_insn_foo.
- 	(noce_process_if_block): Use get_insns instead of gen_sequence.
- 	* optabs.c (add_equal_note): Work with insn list, fix comments.
- 	(expand_binop): Expect insn list from GEN_FCN(), use emit_insn_foo.
- 	(expand_unop, expand_complex_abs, expand_unop_insn,
- 	expand_no_conflict_block): Likewise.
- 	(gen_move_insn): Use get_insns instead of gen_sequence.
- 	(gen_cond_trap): Likewise.
- 	* integrate.c (copy_rtx_and_substitute): Likewise.
- 	(emit_initial_value_sets): Use emit_insn_foo.
- 	* reload1.c (emit_output_reload_insns, emit_reload_insns): Likewise.
- 	(fixup_abnormal_edges): Avoid losing REG_NOTES more intelligently
- 	now that RTL generators give insn lists.
- 	* sibcall.c (replace_call_placeholder): Use emit_insn_foo.
- 	* doloop.c (doloop_modify, doloop_modify_runtime): Use get_insns
- 	instead of gen_sequence.
- 	(doloop_optimize): Work with insn lists instead of SEQUENCE rtl.
- 	* explow.c (emit_stack_save, emit_stack_restore): Use get_insns
- 	instead of gen_sequence.
- 	* loop.c (move_movables, emit_prefetch_instructions,
- 	gen_add_mult, check_dbra_loop, gen_load_of_final_value):
- 	Likewise.
- 	(loop_regs_update): Work with insn list instead of SEQUENCE rtl.
- 	(product_cheap_p): Likewise, and add commentary about RTL wastage
- 	here.
- 	* lcm.c (optimize_mode_switching): Use get_insns instead of
- 	gen_sequence.
- 	* profile.c (gen_edge_profiler): Likewise.
- 	* regmove.c (copy_src_to_dest): Likewise.
- 	* reg-stack.c (compensate_edge): Likewise and fix comment.
- 	* gcse.c (process_insert_insn): Likewise.
- 	(insert_insn_end_bb): Work with insn list instead of SEQUENCE rtl.
- 	* jump.c (delete_prior_computation): Update comment.
- 	* genemit.c (gen_expand, gen_split, main): Use get_insns instead
- 	of gen_sequence, update comments to match.
- 	* recog.c (peephole2_optimize): Work with insn lists instead of
- 	SEQUENCE rtl.
- 	* sched-vis.c (print_pattern): Abort on SEQUENCE.
- 	* unroll.c (unroll_loop, find_splittable_givs, final_giv_value):
- 	Use get_insns instead of gen_sequence.
- 	(copy_loop_body): Likewise and don't emit dummy NOTE.
- 	* genrecog.c: Don't mention SEQUENCE rtl in comments.
- 	* combine.c (try_combine): Expect insn lists from split generator.
- 	* reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
- 	hand.
- 
- 2002-06-11  Roger Sayle  <roger@eyesopen.com>
- 	    Andreas Jaeger <aj@suse.de>
- 
- 	* cfgbuild.c: Update copyright years.
- 
- 2002-06-11  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.h (PREDICATE_CODES): Define.
- 
- 2002-06-11  Eric Christopher  <echristo@redhat.com>
- 
- 	* doc/tm.texi (Run-time Target): Add comment about flag_iso
- 	and strict ANSI.
- 	* config/mips/ecoff.h (CPP_PREDEFINES): Remove.
- 	* config/mips/ecoffl.h: Ditto.
- 	* config/mips/elf64.h (SUBTARGET_CPP_SPEC): Remove.
- 	(CPP_PREDEFINES): Ditto.
- 	* config/mips/elfl64.h: Ditto.
- 	* config/mips/elfl.h: Ditto.
- 	* config/mips/iris3.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): #if 0
- 	out until irix header consolidation.
- 	* config/mips/iris5.h (CPP_PREDEFINES, SUBTARGET_CPP_SPEC): Replace
- 	with SUBTARGET_OS_CPP_BUILTINS.
- 	* config/mips/iris6.h: Ditto.
- 	(CPLUSPLUS_CPP_SPEC): Remove.
- 	* config/mips/linux.h: Ditto.
- 	* config/mips/netbsd.h: Ditto.
- 	* config/mips/openbsd.h: Ditto.
- 	* config/mips/rtems.h: Ditto.
- 	* config/mips/rtems64.h: Ditto.
- 	* config/mips/sni-svr4.h: Ditto.
- 	* config/mips/mips.h (ISA_MIPS1, ISA_MIPS2, ISA_MIPS3, ISA_MIPS4,
- 	ISA_MIPS32, ISA_MIPS64): New defines.
- 	(GENERATE_MULT3_SI, HAVE_SQRT_P, ISA_HAS_64BIT_REGS,
- 	ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE, ISA_HAS_8CC, ISA_HAS_FP4,
- 	ISA_HAS_COND_TRAP, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
- 	ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Use.
- 	(TARGET_CPU_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES, LONG_MAX_SPEC, CPP_FPR_SPEC, CPP_SPEC): Remove.
- 	* config/mips/mips.md (mulsi3_mult3): Use ISA_MIPS32/64.
- 	(movdicc): Remove check for ISA_MIPS32.
- 	 (bunordered, bordered, bungt, bunlt, buneq, bunge, bunle,
- 	sunordered_df, sunordered_sf, sordered_df, sordered_sf,
- 	sunlt_df, sunlt_sf, sungt_df, sungt_sf, suneq_df, suneq_sf, sunge_df,
- 	sunge_sf, sunle_df, sunle_sf): New patterns.
- 
- 2002-06-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update cppmain.o.
- 	* cpphash.h (struct cpp_reader): Move some members to a
- 	nested structure.
- 	(trad_line): Rename saved_line.
- 	(_cpp_read_logical_line_trad): Update.
- 	(_cpp_remove_overlay): New.
- 	* cppinit.c (cpp_create_reader): No need to set saved_line.
- 	(cpp_destroy): Update.
- 	(cpp_read_main_file): Only overlay if compiling.
- 	* cpplex.c (continue_after_nul): Return false if in directive.
- 	* cpplib.c (EXPAND): New.
- 	(directive_table, SEEN_EOL): Update.
- 	(end_directive): Remove overlay if traditional; don't skip
- 	line in traditional #define.
- 	(prepare_directive_trad): New.
- 	(_cpp_handle_directive, run_directive): Update for traditional
- 	directives.
- 	(lex_macro_node): Simplify, don't use lex_identifier_trad.
- 	* cpplib.h (struct options): Add preprocess_only.
- 	* cppmain.c: Don't include intl.h.
- 	(cpp_preprocess_file): Set options->preprocess_only.
- 	(scan_translation_unit_trad): Fix, and print line numbers.
- 	* cpptrad.c (check_output_buffer, lex_identifier, scan_parameters,
- 	maybe_start_funlike, scan_out_logical_line, replace_args_and_push,
- 	save_replacement_text, _cpp_create_trad_definition): Update for
- 	variable renaming.
- 	(_cpp_overlay_buffer): Save line number.
- 	(_cpp_remove_overlay): Rename from restore_buff, restore line.
- 	(_cpp_read_logical_line_trad): Don't handle overlays here.
- 	(scan_out_logical_line): Process directives.
- 
- 2002-06-11  Danny Smith  <dannysmith@users.sourforge.net>
- 
- 	* gthr-win32.h: Wrap functions in extern "C".
- 	(__gthread_key_t): Typedef as unsigned long,
- 	not win32 DWORD.
- 	(__GTHREAD_ONCE_INIT): Use 0, not win32 FALSE.
- 	(__gthread_mutex_t): Typedef as void*, not win32 HANDLE.
- 	(__gthr_win32_once, __gthr_win32_key_create,
- 	__gthr_win32_key_delete, __gthr_win32_getspecific,
- 	__gthr_win32_setspecific, __gthr_win32_mutex_init_function,
- 	__gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
- 	__gthr_win32_mutex_unlock): Declare.
- 	(__gthread_once,__gthread_key_create,
- 	__gthread_key_delete, __gthread_getspecific,
- 	__gthread_setspecific, __gthread_mutex_init_function,
- 	__gthread_mutex_lock,__gthread_mutex_trylock,
- 	__gthread_mutex_unlock): Call corresponding
- 	__gthr_win32_* extern implementations if #defined
- 	__GTHREAD_HIDE_WIN32API.
- 	* config/i386/t-mingw32 (LIB2FUNCS_EXTRA): Set to
- 	$(srcdir)/config/i386/gthr-win32.c
- 	* config/i386/gthr-win32.c: New implementation file.
- 	(__gthr_win32_once, __gthr_win32_key_create,
- 	__gthr_win32_key_delete, __gthr_win32_getspecific,
- 	__gthr_win32_setspecific, __gthr_win32_mutex_init_function,
- 	__gthr_win32_mutex_lock,__gthr_win32_mutex_trylock,
- 	__gthr_win32_mutex_unlock): New functions, based on
- 	static inlines in gthr-win32.h.
- 
- 2002-06-10  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (override_options): Don't warn about
- 	using -fpic or -fPIC when PIC is enabled by default.
- 
- 2002-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* toplev.c (rest_of_compilation): Revert flag_if_conversion change.
- 
- 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (MACHMODE_H): Add @extra_modes_file@.
- 	* configure.in: If $srcdir/config/${cpu_type}/${cpu_type}-modes.def
- 	exists, substitute its pathname as @extra_modes_file@, define
- 	EXTRA_MODES_FILE to be an appropriate string to #include it
- 	with, and define EXTRA_CC_MODES to 1.
- 
- 	* machmode.def: Update comments.  Include EXTRA_MODES_FILE if
- 	it's defined.  Get rid of redundancy in calling sequence for
- 	CC; don't use it to define CCmode, to avoid a warning.
- 	* libgcc2.c: Include symcat.h for the sake of machmode.def.
- 
- 	* arc-modes.def, arm-modes.def, c4x-modes.def, i386-modes.def,
- 	i960-modes.def, ia64-modes.def, m88k-modes.def, mmix-modes.def,
- 	pa-modes.def, pdp11-modes.def, rs6000-modes.def, sparc-modes.def:
- 	New files.
- 	* arc.h, arm.h, c4x.h, i386.h, i960.h, ia64.h, m88k.h, mmix.h,
- 	pa.h, pdp11.h, rs6000.h, sparc.h: Don't define EXTRA_CC_MODES.
- 
- 	* doc/sourcebuild.texi, doc/tm.texi: Document new scheme for
- 	defining extra CC modes.
- 
- 2002-06-10  Roger Sayle  <roger@eyesopen.com>
- 	    Andreas Jaeger <aj@suse.de>
- 
- 	* cfgrtl.c (create_basic_block_structure):  Remove index argument
- 	and use last_basic_block++ instead.  (create_basic_block): Update.
- 	* cfgbuild.c (find_basic_blocks_1): Likewise.
- 
- 	* cfgrtl.c (compute_bb_for_insn): Remove unused "max" argument.
- 	* haifa-sched.c (sched_init): Update compute_bb_for_insn caller.
- 	* sched-ebb.c (schedule_ebbs): Likewise.
- 	* sched-rgn.c (schedule_insns): Likewise.
- 	* ssa-ccp.c (ssa_const_prop): Likewise.
- 	* ssa-dcs.c (ssa_eliminate_dead_code): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* config/ia64/ia64.c (ia64_reorg): Likewise.
- 
- 2002-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_replace_rtx): Allow replacement
- 	of matching registers.
- 
- 2002-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* toplev.c (rest_of_compilation): Disable early if-conversion pass.
- 	* gcse.c (bypass_conditional_jumps): Fix typo in setcc test.
- 
- 2002-06-10  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h: Improve comments.
- 	(CPP_SPEC, CPP_PREDEFINES): Don't define.
- 	(TARGET_CPU_CPP_BUILTINS): Define.
- 	(CANONICALIZE_COMPARISON): Don't define, replace with comment.
- 	(PREDICATE_CODES) <"mmix_reg_or_8bit_or_256_operand">: Remove
- 	unused predicate.
- 	* config/mmix/mmix.c (MMIX_OUTPUT_REGNO): Add cast to avoid
- 	compiler warning.
- 	(mmix_constant_address_p): Remove another
- 	redundant test before case.
- 	(mmix_canonicalize_comparison): Remove unused function.
- 	(mmix_print_operand_address): Don't test and adjust for operand in
- 	non-canonical format.
- 	(mmix_reg_or_8bit_or_256_operand): Remove unused predicate.
- 	(mmix_gen_compare_reg): Don't use CANONICALIZE_COMPARISON.
- 
- 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/m32r/m32r.h: Don't define SELECT_CC_MODE.
- 	* config/m32r/m32r-protos.h: Don't prototype m32r_select_cc_mode.
- 	* config/m32r/m32r.c: Don't define m32r_select_cc_mode.
- 	(gen_compare): Use CCmode unconditionally.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/6759
- 	* cse.c (cse_insn): Fold src_eqv just once, store it folded back into
- 	the REQ_EQUAL note.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6660
- 	* c-decl.c (grokfield): Allow user defined types if they declare
- 	structs or unions for unnamed fields.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6809
- 	* print-rtl.c (print_mem_expr): Don't crash on unnamed fields.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/6842
- 	* combine.c (combine_simplify_rtx) [SUBREG]: Don't ICE if VOIDmode
- 	operand subreg cannot be simplified.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (const_hash): Handle FDESC_EXPR like ADDR_EXPR.
- 	(compare_constant): Likewise.
- 	(output_addressed_constants): Likewise.
- 
- 2002-06-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cfgcleanup.c (try_optimize_cfg): Make sure merge_blocks doesn't
- 	merge bb with itself.
- 
- 2002-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (builtin_zap): Fix thinkos expanding mask.
- 	(builtin_zapnot): Likewise.
- 
- 	* config/alpha/ev5.md: Don't combine shift and mvi insns in one
- 	reservation.
- 
- 2002-06-10  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/i386/i386.c (ix86_osf_output_function_prologue): Remove
- 	prototype and function.
- 	(TARGET_ASM_FUNCTION_PROLOGUE): Remove OSF version.
- 	(call_insn_operand): Remove half pic references.
- 	(legitimate_address_p): Ditto.
- 	* config/i386/i386.h: Remove half pic defines.
- 
- 2002-06-10  Eric Christopher  <echristo@redhat.com>
- 
- 	* doc/extend.texi (Return Address): Add note explaining the side-
- 	effects of inlining on __builtin_return_address.
- 
- 2002-06-10  Tom Tromey  <tromey@redhat.com>
- 
- 	* Makefile.in (LANGHOOKS_DEF_H): Include langhooks-def.h.
- 	(c-common.o): Depend on langhooks.h.
- 
- 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_read_logical_line_trad,
- 	_cpp_expansions_different_trad): Update prototypes.
- 	* cpplex.c (continue_after_nul): New.
- 	* cppmain.c: Include cpphash.h.
- 	(scan_translation_unit_trad): New.
- 	(cpp_preprocess_file): Call it.
- 	* cpptrad.c (_cpp_read_logical_line_trad): Take new parameter
- 	overlay.
- 	(_cpp_expansions_different_trad): Update prototype.
- 
- Mon Jun 10 18:02:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	Fix cfi generation for SH[1-4]:
- 
- 	* sh.c (frame_insn): New function.
- 	(output_stack_adjust): Add parameter emit_fn.  All callers changed.
- 	(push): Now returns rtx.  Use frame_insn.
- 	(sh_expand_prologue): Clear RTX_FRAME_RELATED_P for second push
- 	of a DF register.
- 	* sh.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_RETURN_COLUMN): Define.
- 
- 2002-06-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (STAGESTUFF): Add s-gtype, gt-*.h, gtype-*.h,
- 	and gtype-desc.c.
- 	(mostlyclean): Delete specs.h, options.h, gencheck.h here...
- 	(distclean): ... not here.  But do delete all testsuite/*.log,
- 	testsuite/*.sum files here.  Delete mkheaders.  Delete
- 	po/*.gmo and the testsuite directory in a split tree build.
- 
- 2002-06-10  Jeffrey Law  <law@redhat.com>
- 
- 	* alias.c (static_reg_base_value): New to hold RTL for
- 	items allocated once per function for the aliasing code.
- 	(init_alias_once_per_function): Initialize static_reg_base_value.
- 	(init_alias_analysis): Avoid throw-away allocations of RTL by
- 	using pre-computed values in static_reg_base_value.
- 	* function.c (prepare_function_start): Call
- 	init_alias_once_per_function appropriately.
- 	* rtl.h (init_alias_once_per_function): Declare.
- 	* caller-save (init_caller_save): Restructure slightly to
- 	avoid lots of silly RTL generation.
- 	* expr.c (init_expr_once): Likewise.
- 	* reload1.c (reload_cse_regs_1): Allocate throw-away register
- 	RTL object here.  Pass it into children.
- 	(reload_cse_simplify_operands): Use passed-in register RTL
- 	object.
- 	(reload_cse_simplify): Pass through throw-away register
- 	RTL object.
- 
- 2002-06-10  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (ssa.o): Add dependency on $(RTL_H), which was missing.
- 
- 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcc.c (process_command): Avoid assignment to read-only location.
- 	Fix sizeof calculation.
- 
- 2002-06-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_macro): Put comments on their own lines.
- 	(_cpp_expansions_different_trad): New.
- 	* cppmacro.c (warn_of_redefinition): Fix for traditional case.
- 	* cpptrad.c (canonicalize_text): New.
- 	(scan_out_logical_line): Handle no arguments correctly.
- 	(save_replacement_text): Commit memory when finished.
- 	(_cpp_expansions_different_trad): New.
- 
- 2002-06-10  Tim Josling  <tej@melbpc.org.au>
- 
- 	* gengtype.c (unnamed enum containing BASE_FILE_*): Add languages
- 	TREELANG and COBOL.
- 	(lang_names): Add treelang and cobol.
- 	(get_file_basename): Add code to support treelang and cobol as
- 	4th and 5th users of c-common.c.
- 
- 2002-06-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* Makefile.in (install-driver): Install driver as
- 	$(target_alias)-gcc-$(version).
- 	* gcc.c (spec_version): Make const.
- 	(process_command): Handle -V and -b by using exec.
- 	* doc/invoke.texi (Target Options): Restore -V option,
- 	update docs for -b option.
- 
- 2002-06-10  Tim Josling  <tej@melbpc.org.au>
- 
- 	* configure.in (remaining_languages_check):
- 	Added check that all languages specified were found.
- 	Exit if not found. Previous behavior was silent failure.
- 	* configure: Regenerated.
- 
- 2002-06-10  Tim Josling  <tej@melbpc.org.au>
- 
- 	 First steps to making treelang documentation compliant, based on
- 	 instructions in sourcebuild.texi. Also add to gcc.c list of
- 	 default languages.
- 
- 	* doc/contrib.texi: Add self as contributor of treelang.
- 
- 	* doc/frontends.texi: Add mention of treelang.
- 
- 	* doc/invoke.texi (Overall Options): Add mention of treelang.
- 
- 	* doc/standards.texi:  Add mention of treelang.
- 
- 2002-06-09  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c: Include ggc.h
- 
- 2002-06-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_push_text_context): Update.
- 	(_cpp_arguments_ok): New.
- 	* cppmacro.c (_cpp_arguments_ok): New, split out from...
- 	(collect_args): ...here.
- 	(_cpp_push_text_context): Change inputs.
- 	* cpptrad.c (struct fun_macro, maybe_start_funlike, save_argument,
- 	replace_args_and_push): New.
- 	(lex_identifier, _cpp_lex_identifier_trad, scan_parameters):
- 	Don't use IS macros directly.
- 	(scan_out_logical_line): Handle function-like macro argument
- 	collection.
- 	(push_replacement_text): Update.
- 	(replacement_length): Remove.
- 	(_cpp_create_trad_definition): Don't skip whitespace before
- 	checking for '('.
- 
- 2002-06-09  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_mcu_types): Update for new devices.
- 	* config/avr/avr.h (TARGET_SWITCHES, AVR_MEGA): Add -mshort-calls.
- 	(LINK_SPEC, CRT_BINUTILS_SPECS): Update for new devices.
- 	* config/avr/avr.md ("type" and "length" attributes): New type
- 	"xcall", length 1 or 2 if AVR_MEGA.  Use in all patterns that
- 	output a single "call" or "rcall" insn depending on device size.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Update for new devices.
- 
- 2002-06-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/{aix43.h,aix5.1} (ASM_CPU_SPEC): Add power3
- 	synonym for 630.  Add power4.  Remove embedded processors.  Use -m604
- 	assembler option.
- 	(CPP_CPU_SPEC): Add power3 and power4.
- 	(PROCESSOR_DEFAULT): Change to 604e.
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Similar additions.
- 	(CPP_CPU_SPEC): Similar additions.
- 	(enum process_type): Add POWER4.
- 	(RTX_COSTS): Add POWER4.
- 	(CPP_CPU_SPEC): Similar additions.
- 	* config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
- 	(PROCESSOR_DEFAULT64): Define.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Add power4.
- 	(rs6000_adjust_cost): Add 603, 604, 604e, 620, 630, Power4 to
- 	branch adjustment.
- 	(rs6000_issue_rate): Add Power4.
- 	* config/rs6000/rs6000.md (cpu attr): Add power4.
- 	(iu compare): Remove 604, 604e, 620, 630.
- 	Add basic Power4 scheduling information.
- 	(mfcr/mtcrf): Change type attribute to cr_logical.
- 
- 2002-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gengtype.h (error_at_line): Use PARAMS, not VPARAMS.  Add
- 	ATTRIBUTE_PRINTF_2.
- 	* gengtype-lex.l: Fix format specifier warning.
- 
- 	* genautomata.c: Don't include ctype.h or limits.h.  Use ISSPACE,
- 	not isspace.
- 	* gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
- 	lieu of isspace/IDchar.
- 	* gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
- 	* read-rtl.c: Likewise for ctype.h.  Don't define ISDIGIT or
- 	ISSPACE.
- 
- 2002-06-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (LIBCPP_OBJS): Take out version.o.
- 	* cpphash.h (cpp_reader): Take out print_version member.
- 	* cppinit.c: (cpp_handle_option): Don't do anything with
- 	-version.  Just set help_only for --version, --target-help.
- 	Just set verbose option for -v.
- 	(cpp_post_options): Don't print a version string.
- 
- 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (TARGET_SECTION_TYPE_FLAGS): New.
- 	(avr_section_type_flags): New, handle .noinit* sections.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sh/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): Define
- 	and include netbsd_entry_point.
- 	(SUBTARGET_LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
- 	(NETBSD_ENTRY_POINT): Define.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sh/sh.h (SUBTARGET_EXTRA_SPECS): Define empty
- 	if not already defined.
- 	(EXTRA_SPECS): Add SUBTARGET_EXTRA_SPECS.
- 
- 2002-06-08  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_regs_to_save): No need to save any registers
- 	in a noreturn function.
- 	(avr_output_function_prologue, avr_output_function_epilogue):
- 	Correct function size calculation.  Do not crash on empty function.
- 	(avr_output_function_epilogue): No need for epilogue after a BARRIER.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
- 	netbsd_link_spec and netbsd_entry_point.
- 	(LINK_SPEC): Use %(netbsd_link_spec).
- 	(NETBSD_ENTRY_POINT): Define.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/netbsd-elf.h (LINK_ARCH32_SPEC): Only specify
- 	linker emulation.
- 	(LINK_ARCH64_SPEC): Likewise.
- 	(LINK_SPEC, NETBSD_ENTRY_POINT): Define.
- 	(SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and netbsd_entry_point.
- 
- 2002-06-08  Marc Espie  <espie@openbsd.org>
- 
- 	* lists.c (free_list):  Fix typo in comment.
- 
- 2002-06-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* lcm.c (optimize_mode_switching): Add unused attribute for
- 	variable.
- 
- 	* sched-deps.c (sched_analyze): Remove unused variable.
- 
- 2002-06-08  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.def: Don't capitalize diagnostict descriptors.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/m68k/netbsd-elf.h (EXTRA_SPECS): Add netbsd_entry_point.
- 	(LINK_SPEC): Define as NETBSD_LINK_SPEC_ELF.
- 	(NETBSD_ENTRY_POINT): Define.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/i386/netbsd-elf.h (LINK_SPEC): Define as
- 	NETBSD_LINK_SPEC_ELF.
- 	(SUBTARGET_EXTRA_SPECS): Add netbsd_entry_point.
- 	(NETBSD_ENTRY_POINT): Define.
- 	* config/i386/netbsd64.h (LINK_SPEC): Use %(netbsd_link_spec).
- 	(SUBTARGET_EXTRA_SPECS): Add netbsd_link_spec and
- 	netbsd_entry_point.
- 	(NETBSD_ENTRY_POINT): Define.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/netbsd.h (SUBTARGET_EXTRA_SPECS): Add
- 	netbsd_link_spec and netbsd_entry_point.
- 	(LINK_SPEC): Use %(netbsd_link_spec).
- 	(NETBSD_ENTRY_POINT): Define.
- 
- 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd-elf.h (LINK_SPEC): Rename to...
- 	(NETBSD_LINK_SPEC_ELF): ...this.  Use %(netbsd_entry_point)
- 	to specify program entry point.
- 
- 2002-06-07  Jeff Law <law@redhat.com
- 
- 	* emit-rtl.c (init_emit): Add hard registers to regno_reg_rtx.
- 	* combine.c (move_deaths): Use regno_reg_rtx for hard regs rather
- 	than creating a new register.
- 	(distribute_notes): Likewise.
- 	* df.c (df_reg_use_gen): Likewise.
- 	(df_reg_clobber_gen): Likewise.
- 	(df_ref_record): Likewise.
- 	* expr.c (use_regs): Likewise.
- 	* flow.c (propagate_one_insn): Likewise.
- 	(mark_set_1): Likewise.
- 	(mark_used_reg): Likewise.
- 	* reload.c (emit_reload_insns): Likewise.
- 
- 2002-06-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_gen_relational): Simplify RTL of the form
- 	(ne (comp x y) 0) into (comp x y) where comp is a comparison code.
- 	Simplify (eq (comp x y) 0) into (revcomp x y) if the sense of the
- 	comparison code comp can be reversed.
- 
- 2002-06-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) [EQ_EXPR]:  Place both integer and real
- 	constants last in comparisons.  Optimize (x+1.0)>0.0 into the
- 	equivalent x > -1.0 when -ffast-math.
- 
- 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (mips*-*-netbsd*): Add mips/t-netbsd to ${tmake_file}.
- 	* config/mips/t-netbsd: New file.
- 
- 2002-06-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Give all relevant -W
- 	options their own entries.
- 	(parse_option): Clarify comment.
- 	(cpp_handle_option): Remove 'ignore' parameter and OPT_W
- 	special case.  Replace if/strcmp chain for -W options with
- 	use of new OPT_* entries for them.
- 	(cpp_handle_options): Update to match.
- 	* cpplib.h: Remove last parameter to cpp_handle_option from prototype.
- 	* c-decl.c: Update call to cpp_handle_option.
- 
- 2002-06-07  Akim Demaille  <akim@epita.fr>
- 
- 	* gengtype-yacc.y (optionseqopt): Add the ending `;' to the action.
- 	Whitespace changes.
- 
- 2002-06-07  Jeffrey Law  <law@redhat.com>
- 
- 	* sched-deps.c (free_deps): Avoid calling free_INSN_LIST_list
- 	on empty lists.
- 
- 2002-06-07  H.J. Lu  (hjl@gnu.org)
- 
- 	* configure.in: Add --enable-__cxa_atexit.
- 	* configure: Regenerated.
- 	* config.in: Likewise.
- 
- 	* defaults.h (DEFAULT_USE_CXA_ATEXIT): New. Defined to be 0 if
- 	not defined.
- 
- 2002-06-07  Gabriel Dos Reis  <gdr@merlin.nerim.net>
- 
- 	* diagnostic.c (diagnostic_build_prefix): Fix initialization.
- 
- 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (CACHE_FLUSH_FUNC): Define.
- 
- 2002-06-07  Jason Merrill  <jason@redhat.com>
- 
- 	* cppexp.c (num_equality_op): Use a temporary variable to work
- 	around gcc 3.0.4 bug.
- 
- 2002-06-07  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (diagnostic_build_prefix): Tidy.
- 
- 2002-06-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpptrad.c (struct block, BLOCK_HEADER_LEN, BLOCK_LEN,
- 	scan_parameters, save_replacement_text, replacement_length): New.
- 	(scan_out_logical_line): Take a macro and save parameters if
- 	non-NULL.
- 	(_cpp_logical_line_trad): Update.
- 	(_cpp_create_trad_definition): Update to handle function-like
- 	macros.
- 	* cpplex.c (new_buff): Update.
- 	(struct dummy, DEFAULT_ALIGNMENT, CPP_ALIGN): Move...
- 	* cpphash.h: ...here.
- 	(CPP_ALIGN2, _cpp_save_parameter): New.
- 	* cppmacro.c (save_parameter): Rename, export.
- 	(parse_params): Update.
- 
- 2002-06-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/mmix/mmix.c: Remove extra broken prototype for
- 	mmix_init_machine_status.
- 
- 2002-06-06  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* gengtype.c: Add comments before all the routines.
- 
- 2002-06-07  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (sh5*-*-netbsd*): Remove sh/t-netbsd-sh5-32
- 	from and add t-sh64 to ${tmake_file}.
- 	(sh64*-*-netbsd*): Add t-sh64 to ${tmake_file}.
- 	* config/sh/t-netbsd-sh5 (LIB1ASMFUNCS): Remove.
- 	* config/sh/t-netbsd-sh5-32: Remove.
- 	* config/sh/t-netbsd-sh5-64 (MULTILIB_OPTIONS): Use
- 	MULTILIB_ENDIAN.
- 	(MULTILIB_DIRNAMES): Define.
- 
- Thu Jun  6 23:14:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (and promoting splitters): Disable QI to SImode promoting
- 	when doing so changes immediate to be 32bit.
- 
- 	* rtl.h (emit_*_scope): Declare.
- 	* emit-rtl.c (emit_*_scope): New global functions.
- 	(try_split): Copy scope.
- 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
- 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
- 	noce_process_if_block, find_cond_trap): Copy scopes.
- 	* recog.c (peephole2_optimize): likewise.
- 
- 2002-06-06  Jeffrey Law  <law@redhat.com>
- 
- 	* h8300.h (OK_FOR_U): Fix thinko exposed by flag checking.
- 
- Thu Jun  6 21:06:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* gengtype-lex.l (INITIAL): New rule for "'"("\\".|[^\\])"'".
- 
- 2002-06-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in (TEXI_GCCINSTALL_FILES): Define.
- 	($(docdir)/gccinstall.info): New target.
- 	(info): Depend on it.
- 	(gccinstall.dvi): New target.
- 	(dvi): Depend on it.
- 	* doc/.cvsignore: Ignore new info files.
- 	* doc/install.texi (@setfilename): Reflect new info filename.
- 
- Thu Jun  6 15:57:23 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (machine_dependent_reorg): Don't set RTX_UNCHANGING_P
- 	on an UNSPEC.
- 
- Thu Jun  6 07:17:43 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	PR objc/6834
- 	* objc/objc-lang.c (LANG_HOOKS_GET_ALIAS_SET): Define to be
- 	c_common_get_alias_set.
- 	(LANG_HOOKS_SAFE_FROM_P): Define to be c_safe_from_p.
- 
- 2002-06-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): New
- 	functions.
- 	* rtl.h (get_first_nonnote_insn, get_last_nonnote_insn): Declare.
- 	* avr/avr.c (avr_output_function_epilogue): Use above to determine
- 	function size.
- 	* pa/pa.c (pa_output_function_prologue): Likewise.
- 
- 2002-06-05  David S. Miller  <davem@redhat.com>
- 
- 	* integrate.c (subst_constants): Handle 'B' RTL format.
- 
- 2002-06-05  Eric Christopher  <echristo@redhat.com>
- 
- 	* varasm.c (make_decl_rtl): Fix comment for removed
- 	halfpic.c.
- 
- 2002-06-05  Eric Christopher  <echristo@redhat.com>
- 
- 	* Makefile.in: Remove missed halfpic bits.
- 
- 2002-06-05  Eric Christopher  <echristo@redhat.com>
- 
- 	* toplev.c: Remove half-pic.
- 	* config/mips/mips.c: Ditto.
- 	* config/mips/mips.h: Ditto. Remove unused defines.
- 	* config/mips/openbsd.h: Update comment to reflect above.
- 	* config/mips/mips.md: Remove half-pic constraints.
- 	* halfpic.h: Delete.
- 	* halfpic.c: Ditto.
- 
- 2002-06-05  Jeffrey Law  <law@redhat.com>
- 
- 	* pa.h (EXTRA_CONSTRAINT, T case): Further refine so that it
- 	rejects (mem (lo_sum (reg) (unspec))), but will allow
- 	(mem (lo_sum (reg) (symbol_ref)) for PA2.0.
- 
- 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (_cpp_create_definition): Update prototype.
- 	(_cpp_push_text_context, _cpp_create_trad_definition): New.
- 	( cpp_lex_identifier_trad): New.
- 	(_cpp_set_trad_context): New.
- 	* cppinit.c (cpp_finish_options): Don't conditionalize builtins.
- 	* cpplib.c (SEEN_EOL): Update.
- 	(lex_macro_node): Update for -traditional.
- 	(cpp_push_buffer, _cpp_pop_buffer): Similarly.
- 	* cppmacro.c (_cpp_create_definition): Split into
- 	create_iso_definition() and _cpp_create_trad_definition().
- 	(warn_of_redefinition): Update prototype; handle traditional
- 	macros.
- 	(_cpp_push_text_context): New.
- 	* cpptrad.c (skip_whitespace, push_replacement_text): New.
- 	(lex_identifier): Call ht_lookup with correct start.
- 	(_cpp_lex_identifier_tradm _cpp_create_trad_definition,
- 	_cpp_set_trad_context): New.
- 	(scan_out_logical_line): Update to handle changing contexts.
- 
- Wed Jun  5 20:42:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config.gcc (sh-*-elf*,  sh64*-*-elf*): Unify.
- 	(shl*-*-elf*): Add.
- 	* config/sh/t-be (MULTILIB_ENDIAN): Set.
- 	* config/sh/t-le (MULTILIB_ENDIAN): Likewise.
- 	* t-sh (MULTILIB_ENDIAN): Set.
- 	(MULTILIB_OPTIONS): Use it.
- 	* t-sh64 (MULTILIB_OPTIONS): Likewise.
- 	(MULTILIB_DIRNAMES): Likewise.
- 
- 2002-06-05  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.h (report_error_function): Remove.
- 
- 	* diagnostic.h (location_t): New datatype.
- 	(text_info): Likewise.
- 	(diagnostic_info): Likewise.
- 	(output_prefix): New macro.
- 	(diagnostic_last_function_changed): Likewise.
- 	(diagnostic_set_last_function): Likewise.
- 	(diagnostic_last_module_changed): Likewise.
- 	(diagnostic_set_last_module): Likewise.
- 	(report_diagnostic): Now macro.
- 	(diagnostic_set_info): Declare.
- 
- 	* diagnostic.c (report_problematic_module): Rename to
- 	diagnostic_repor_current_module.
- 	(set_diagnostic_context): Remove.
- 	(count_error): Rename to diagnostic_error_count.
- 	(error_function_changed): Remove.
- 	(record_last_error_function): Likewise.
- 	(error_module_changed): Likewise.
- 	(record_last_error_module): Likewise.
- 	(context_as_prefix): Rename to diagnostic_build_prefix.
- 	(flush_diagnostic_buffer): Rename to diagnostic_flush_buffer.
- 	(diagnostic_set_info): New function.
- 
- 	* objc/objc-act.c: #include diagnostic.h
- 	(error_with_ivar): Adjust call to count_error.
- 	(warn_with_method): Likewise.
- 	* objc/Make-lang.in (objc-act.o): Depend on diagnostic.h
- 
- 2002-06-05  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_build_va_list): Use
- 	lang_hooks.types.make_type instead of make_node; set up
- 	__va_list_tag type decl.
- 	(xtensa_builtin_saveregs): Remove broken use of
- 	RTX_UNCHANGING_P and unnecessary use of MEM_IN_STRUCT_P
- 	for saved registers; add varargs alias set.
- 
- 2002-06-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config:
- 	* alpha/gnu.h: Undef TARGET_OS_CPP_BUILTINS.
- 	* i386/beos-elf.h: Use TARGET_OS_CPP_BUILTINS rather than
- 	CPP_PREDEFINES and part of CPP_SPEC.
- 	i386/freebsd-aout.h, i386/gas.h, i386/gnu.h, i386/linux-aout.h,
- 	i386/linux.h, i386/moss.h, i386/xm-vsta.h: Similarly.
- 
- Wed Jun  5 15:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (reg_to_stack): Do not call find_basic_blocks.
- 
- 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Define.
- 
- 2002-06-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gengtype-yacc.y: Make sure all rules end with a semicolon.
- 
- 2002-06-04  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Fix
- 	typo in function prototype and include "ggc.h" header.
- 
- 2002-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (mode_mask_operand): Simplify without ifdefs.
- 	(print_operand) ['U']: Likewise.
- 	(alpha_expand_unaligned_store): Correct constants for 32-bit cross.
- 	(alpha_expand_unaligned_store_words): Likewise.
- 	(alpha_expand_builtin_vector_binop): Fix typo.
- 	(enum alpha_builtin, code_for_builtin): Add remaining ext, ins, msk,
- 	umulh, and cix insns.
- 	(one_arg_builtins): Add cix builtins.
- 	(two_arg_builtins): Add ext, ins, msk, umulh builtins.
- 	(alpha_expand_builtin): Fix typo in arity.
- 	* config/alpha/alpha.md (UNSPEC_CTLZ, UNSPEC_CTPOP): New.
- 	(builtin_extbl, builtin_extwl, builtin_extll, builtin_extwh,
- 	builtin_extlh, builtin_insbl, builtin_inswl, builtin_insll,
- 	builtin_insql, builtin_inswh, builtin_inslh, builtin_insqh,
- 	builtin_mskbl, builtin_mskwl, builtin_mskll, builtin_mskql,
- 	builtin_mskwh, builtin_msklh, builtin_mskqh, builtin_cttz,
- 	builtin_ctlz, builtin_ctpop): New.
- 	* doc/extend.texi (Alpha Built-in Functions): Update.
- 
- 2002-06-04  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* gengtype.c (write_gc_root): Don't unnecessarily prevent
- 	global variable-length arrays being roots.
- 
- 	* config.gcc (powerpc-*-darwin*): Set config_gtfiles.
- 	* configure.in (config_gtfiles): New variable.
- 	(all_gtfiles): Initialize from config_gtfiles.
- 	* configure: Regenerate.
- 
- 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config/i386:
- 	* beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
- 	i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
- 	mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
- 	sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
- 	win32.h	(CPP_SPEC): Remove cpp_cpu.
- 	* i386.h (TARGET_CPU_CPP_BUILTINS): Use.
- 	(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!
- 
- 2002-06-04  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/ia64/ia64.c (gen_thread_pointer): Fix variable name.
- 
- 2002-06-04  Jeff Law <law@redhat.com.
- 	    David Edelsohn <edelsohn@gnu.org>
- 	    Michael Matz <matz@kde.org>
- 
- 	* sched-int.h (struct deps): New field libcall_block_tail_insn.
- 	* sched_deps.c (init_deps): Initialize libcall_block_tail_insn.
- 	* sched_deps.c (sched_analyze_insn): If libcall_block_tail_insn
- 	is set, then mark the current insn as being part of a libcall
- 	scheduling group.
- 	(sched_analyze): Set and clear libcall_block_tail_insn appropriately.
- 
- 	* haifa-sched.c (schedule_block): Do not count USE or CLOBBER
- 	insns against the issue rate.
- 
- Tue Jun  4 19:29:42 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
- 	* final.c (final_scan_insn): Likewise.
- 	* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
- 	NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
- 	* haifa-sched.c (unlink_other_notes): Likeewise.
- 	(reemit_notes): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* sched-deps (sched-analyze): Likewise.
- 	* rtl.c (note_insn_name): Likewise.
- 	* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
- 	(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
- 	(RANGE_*): Kill.
- 
- 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* varasm.c (mark_constants): Handle RTX format 'B'.
- 
- 2002-06-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (FIRST, LAST, CUR, RLIMIT): New.
- 	(struct cpp_context): Add traditional fields.
- 	* cppmacro.c (paste_all_tokens, push_ptoken_context,
- 	push_token_context, cpp_get_token, _cpp_backup_tokens): Update.
- 	* cpptrad.c (skip_comment, lex_identifier,
- 	_cpp_read_logical_line_trad, scan_out_logical_line): Update.
- 
- 2002-06-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gbl-ctors.h: Fix formatting.
- 	* gcc.c: Likewise.
- 	* gccspec.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcse.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* ggc.h: Likewise.
- 	* ggc-page.c: Likewise.
- 	* ggc-simple.c: Likewise.
- 	* global.c: Likewise.
- 	* graph.h: Likewise.
- 	* gthr-dce.h: Likewise.
- 	* gthr.h: Likewise.
- 	* gthr-posix.h: Likewise.
- 	* gthr-rtems.h: Likewise.
- 	* gthr-solaris.h: Likewise.
- 	* gthr-win32.h: Likewise.
- 
- 2002-06-03  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	Merge from pch-branch:
- 
- 	* gengtype.h (UNION_OR_STRUCT_P): New macro.
- 	* gengtype.c (write_gc_structure_fields): Use it.
- 	(write_gc_root): Use it here too.
- 
- 	* gengtype.c (write_gc_structure_fields): Assume that lengths
- 	of typenames fit into an 'int'; don't pass a size_t to "%d" in
- 	printf.
- 	(write_gc_marker_routine_for_structure): Likewise.
- 	(write_gc_types): Likewise.
- 	(write_gc_root): Likewise.
- 
- 	* varray.h (VARRAY_CLEAR): New.
- 	(varray_clear): Prototype.
- 	* varray.c (varray_clear): New.
- 	* cselib.c (reg_values_old): New.
- 	(used_regs_old): New.
- 	(cselib_init): Use cached varrays if available to avoid
- 	generating large amounts of garbage.
- 	(cselib_finish): Don't throw away old varrays.
- 
- 	* final.c (insn_addresses_): Move out of ifdef.
- 
- 	* varray.c (uses_ggc): Make more varray kinds GCable.
- 	* varray.h (union varray_data_tag): Let gengtype see
- 	fields 'generic' and 'te'.
- 	* reg-stack.c: Include gt-reg-stack.h, ggc.h.
- 	(stack_regs_mentioned_data): Move out of ifdef; mark with gengtype.
- 	(reg_to_stack): Don't call VARRAY_FREE.
- 	* insn-addr.h (INSN_ADDRESSES_FREE): Don't use VARRAY_FREE.
- 	(insn_addresses_): Use gengtype to mark.
- 	* gengtype.c (write_gc_structure_fields): Handle arrays of generic
- 	pointers; handle generic pointers in unused union fields.
- 	(get_output_file_with_visibility): Include cselib.h,
- 	insn-addr.h in gtype-desc.c.
- 	* function.c (prologue): Use gengtype to mark.
- 	(epilogue): Likewise.
- 	(sibcall_epilogue): Likewise.
- 	* dependence.c: Include gt-dependence.h, ggc.h.
- 	(struct def_use): Use gengtype to mark.
- 	(struct loop): Likewise.
- 	(struct induction): Likewise.
- 	(struct dependence): Likewise.
- 	(def_use_chain): Likewise.
- 	(dep_chain): Likewise.
- 	(loop_chain): Likewise.
- 	(induction_chain): Likewise.
- 	(init_dependence_analysis): Don't free anything, just clear pointers.
- 	(build_def_use): Use GGC to allocate def_use.
- 	(add_loop): Use GGC to allocate loop.
- 	(find_induction_variable): Use GGC to allocate induction.
- 	(check_node_dependence): Use GGC to allocate induction, dependence.
- 	(dump_node_dependence): Don't free varrays.
- 	(end_dependence_analysis): Likewise.
- 	* cselib.h (struct cselib_val_struct): Use gengtype to mark.
- 	(struct elt_loc_list): Likewise.
- 	(struct elt_list): Likewise.
- 	* cselib.c: Don't include obstack.h.
- 	(hash_table): Use gengtype to mark.
- 	(reg_values): Use gengtype to mark.
- 	(used_regs): Use gengtype to mark.
- 	(cselib_obstack): Delete.
- 	(cselib_startobj): Delete.
- 	(empty_vals): Mark as deletable.
- 	(empty_elt_lists): Mark as deletable.
- 	(empty_elt_loc_lists): Mark as deletable.
- 	(new_elt_list): Use GGC to allocate struct elt_list.
- 	(new_elt_loc_list): Use GGC to allocate struct elt_loc_list.
- 	(clear_table): Don't delete obstack; don't unnecessarily clear
- 	deletable variables.
- 	(new_cselib_val): Use GGC to allocate struct cselib_val.
- 	(cselib_init): Don't set up obstacks.  Use GGC to allocate
- 	hash table.
- 	(cselib_finish): Just clear variables, don't free anything.
- 	* Makefile.in (cselib.o): Remove dependency on $(OBSTACK_H).
- 	(reg-stack.o): Add dependency on gt-reg-stack.h, $(GGC_H).
- 	(dependence.o): Add dependency on gt-dependence.h, $(GGC_H).
- 	(GTFILES): Add insn-addr.h, cselib.h, dependence.c, reg-stack.c.
- 	(gt-reg-stack.h): New rule.
- 	(gt-dependence.h): New rule.
- 	(gtype-desc.o): Add cselib.h, insn-addr.h.
- 
- 	* varray.c: Use only necessary headers.
- 	(element_size): New.
- 	(uses_ggc): New.
- 	(varray_init): Take type, not size.  Use GGC if appropriate.
- 	(varray_grow): Update for change to struct varray_head_tag.
- 	Use GGC if appropriate.
- 	* varray.h (struct const_equiv_data): Use gengtype.
- 	(enum varray_data_enum): New.
- 	(union varray_data_tag): Use gengtype.
- 	(struct varray_head_tag): Use gengtype.  Replace size field with
- 	enum varray_data_enum.
- 	(varray_init): Update prototype.
- 	(VARRAY_SCHED_INIT): Delete.
- 	(VARRAY_*_INIT): Update for change to varray_init.
- 	(VARRAY_SCHED): Delete.
- 	(VARRAY_PUSH_SCHED): Delete.
- 	(VARRAY_TOP_SCHED): Delete.
- 	* tree.h: Update for change to length specifier.
- 	* tree-inline.c (optimize_inline_calls): Don't use VARRAY_FREE.
- 	(clone_body): Likewise.
- 	* ssa.h (ssa_definition): Use gengtype to mark.
- 	* ssa.c (convert_from_ssa): Don't use VARRAY_FREE.
- 	* ssa-dce.c (ssa_eliminate_dead_code): Don't use VARRAY_FREE.
- 	* rtl.h (struct rtvec_def): Update for change to length specifier.
- 	* integrate.c (expand_inline_function): Don't use VARRAY_FREE.
- 	(struct initial_value_struct): Update for change to length specifier.
- 	* ggc.h (ggc_add_rtx_varray_root): Delete prototype.
- 	(ggc_add_tree_varray_root): Delete prototype.
- 	(ggc_mark_rtx_varray): Delete prototype.
- 	(ggc_mark_tree_varray): Delete prototype.
- 	* ggc-common.c (ggc_add_rtx_varray_root): Delete.
- 	(ggc_add_tree_varray_root): Delete.
- 	(ggc_mark_rtx_varray): Delete.
- 	(ggc_mark_tree_varray): Delete.
- 	(ggc_mark_rtx_varray_ptr): Delete.
- 	(ggc_mark_tree_varray_ptr): Delete.
- 	* gengtype.h (enum typekind): Remove TYPE_VARRAY.
- 	(create_varray): Delete prototype.
- 	* gengtype.c (varrays): Delete.
- 	(create_varray): Delete.
- 	(adjust_field_type): Detect array of string pointers.
- 	(process_gc_options): Remove code to handle varray_type option.
- 	(set_gc_used_type): Remove TYPE_VARRAY case.
- 	(output_escaped_param): New.
- 	(write_gc_structure_fields): Use output_escaped_param on all
- 	parameters.  Handle 'skip' with 'use_param' option.  Handle
- 	arrays of strings.  Remove TYPE_VARRAY handling.
- 	(write_gc_roots): Use boolean to detect 'length' option.
- 	* gengtype-yacc.y (VARRAY_TYPE): Delete token.
- 	(struct_fields): Call adjust_field_type on array fields.
- 	(type): Remove VARRAY_TYPE case.
- 	(type_option): Likewise.
- 	* gengtype-lex.l: Don't consider varray_type a keyword.
- 	* function.h: Update for change to length specifier.
- 	(free_eh_status): Delete prototype.
- 	* function.c (free_after_compilation): Don't call free_eh_status.
- 	(reorder_blocks): Don't use VARRAY_FREE.
- 	* except.c (struct eh_status): Update for change to length specifier.
- 	remove varray_type specifier.
- 	(free_eh_status): Delete.
- 	* dwarf2out.c: Include gt-dwarf2out.h.
- 	(used_rtx_varray): Use gengtype to mark, move
- 	outside ifdefs.
- 	(incomplete_types): Likewise.
- 	(decl_scope_table): Likewise.
- 	(dwarf2out_init): Don't call ggc_add_tree_varray_root.
- 	* cfglayout.c (scope_to_insns_finalize): Don't use VARRAY_FREE.
- 	* c-tree.h (struct lang_type): Update for change to length specifier.
- 	* c-parse.in (yylexstring): Don't use VARRAY_FREE.
- 	* c-objc-common.c: Include gt-c-objc-common.h.
- 	(deferred_fns): Mark for gengtype.
- 	(c_objc_common_init): Don't call ggc_add_tree_varray_root.
- 	(expand_deferred_fns): Just set deferred_fns to 0 to free it.
- 	* Makefile.in (c-objc-common.o): Add gt-c-objc-common.h.
- 	(gtype-desc.o): Update dependencies.
- 	(dwarf2out.o): Add gt-dwarf2out.h.
- 	(varray.o): Update dependencies.
- 	(GTFILES): Add varray.h, ssa.h, dwarf2out.c, c-objc-common.c.
- 	(gt-c-objc-common.h): New rule.
- 	(gt-dwarf2out.h): New rule.
- 	* objc/objc-act.c (build_objc_string_object): Don't use VARRAY_FREE.
- 
- 	* doc/gty.texi (GTY Options): Correct spelling.
- 	(GGC Roots): Likewise.
- 	* Makefile.in (TEXI_CPP_FILES): New.
- 	(TEXI_GCC_FILES): New.
- 	(TEXI_GCCINT_FILES): New.
- 	(TEXI_CPPINT_FILES): New.
- 	($(docdir)/cpp.info): Use new macros.
- 	($(docdir)/gcc.info): Likewise.
- 	($(docdir)/gccint.info): Likewise.
- 	($(docdir)/cppinternals.info): Likewise.
- 	(cpp.dvi): Likewise.
- 	(gcc.dvi): Likewise.
- 	(gccint.dvi): Likewise.
- 	(cppinternals.dvi): Likewise.
- 
- 	* Makefile.in ($(docdir)/gccint.info): Depend on gty.texi.
- 	* doc/gccint.texi (Top): Include gty.texi.
- 	* doc/gty.texi: New file.
- 
- 	* bitmap.c: Include ggc.h, gt-bitmap.h.
- 	(bitmap_ggc_free): New.
- 	(bitmap_elem_to_freelist): New.
- 	(bitmap_element_free): Use bitmap_elem_to_freelist.
- 	(bitmap_element_allocate): Allow use of GGC.
- 	(bitmap_clear): Use bitmap_elem_to_freelist.
- 	(bitmap_copy): Update for change to bitmap_element_allocate.
- 	(bitmap_set_bit): Likewise.
- 	(bitmap_operation): Update for changes elsewhere.
- 	(bitmap_initialize): Allow to create bitmaps that will use GGC.
- 	* bitmap.h (struct bitmap_element_def): Use gengtype.
- 	(struct bitmap_head_def): Likewise.  Also add 'using_obstack' field.
- 	(bitmap_initialize): Add extra parameter.
- 	(BITMAP_OBSTACK_ALLOC): Update for change to bitmap_initialize.
- 	(BITMAP_ALLOCA): Delete.
- 	(BITMAP_XMALLOC): Update for change to bitmap_initialize.
- 	(BITMAP_GGC_ALLOC): New.
- 	* Makefile.in (gtype-desc.o): Add bitmap.h.
- 	(bitmap.o): Add gt-bitmap.h, $(GGC_H).
- 	(GTFILES): Add bitmap.c.
- 	(gt-bitmap.h): New rule.
- 	($(HOST_PREFIX_1)bitmap.o): Add gt-bitmap.h.
- 	* basic-block.h: Update for changes to bitmap_initialize.
- 	* except.c (exception_handler_label_map): Move into...
- 	(struct eh_status): Here.
- 	(struct eh_region): Make 'aka' GCable.
- 	(free_eh_status): Don't need to specially handle
- 	exception_handler_label_map.
- 	(add_ehl_entry): Update for changes to exception_handler_label_map.
- 	(find_exception_handler_labels): Likewise.
- 	(remove_exception_handler_label): Likewise.
- 	(maybe_remove_eh_handler): Likewise.
- 	(for_each_eh_label): Likewise.
- 	(remove_eh_handler): Allocate 'aka' using GGC.
- 	* gengtype.c (get_output_file_with_visibility): Add bitmap.h
- 	to list of includes.
- 
- 	* gengtype.c (write_gc_marker_routine_for_structure): Name
- 	the routines 'gt_ggc_mx_*' instead of 'gt_ggc_m_*'.
- 	(write_gc_types): Arrange for the tests with NULL to be inlined.
- 	(write_gc_roots): Update uses of procedure pointers.
- 	* ggc-common.c (gt_ggc_mx_rtx_def): Rename from gt_ggc_m_rtx_def.
- 
- 	* Makefile.in (explow.o): Add dependency on gt-explow.h.
- 	(sdbout.o): Add dependency on gt-sdbout.h.
- 
- 	* emit-rtl.c (const_int_htab): Use gengtype to clear unused entries.
- 	(mem_attrs_htab): Likewise.
- 	(init_emit_once): Don't call ggc_add_deletable_htab.
- 	* fold-const.c (size_htab): Use gengtype to clear unused entries.
- 	(size_int_type_wide): Don't call ggc_add_deletable_htab.
- 	* gengtype.c (finish_root_table): Add LASTNAME and TNAME
- 	parameters, use them, change callers.
- 	(write_gc_root): Add IF_MARKED parameter, use it, change callers.
- 	(write_gc_roots): Handle 'if_marked' option.
- 	(main): Don't need to call set_gc_used_type any more.
- 	* ggc.h (ggc_htab_marked_p): Delete.
- 	(ggc_htab_mark): Delete.
- 	(struct ggc_cache_tab): New.
- 	(gt_ggc_cache_rtab): New declaration.
- 	* ggc-common.c (struct d_htab_root): Delete.
- 	(d_htab_roots): Delete.
- 	(ggc_add_deletable_htab): Delete.
- 	(ggc_htab_delete): Handle new htab-deleting mechanism.
- 	(ggc_mark_roots): Use new htab-deleting mechanism.
- 	* tree.c (type_hash_table): Use gengtype to clear unused entries.
- 	Make static.
- 	(init_obstacks): Don't call ggc_add_deletable_htab.
- 
- 	* objc/objc-act.h (struct hashed_attribute): Use gengtype.
- 	(struct hashed_entry): Likewise.
- 	(nst_method_hash_list): Likewise.
- 	(cls_method_hash_list): Likewise.
- 	(HASH_ALLOC_LIST_SIZE): Delete.
- 	(ATTR_ALLOC_LIST_SIZE): Delete.
- 	* objc/objc-act.c (hash_init): Use ggc to allocate
- 	nst_method_hash_list, cls_method_hash_list.
- 	(hash_enter): Use ggc to allocate; allocate one entry at a time.
- 	(hash_add_attr): Likewise.
- 	(ggc_mark_hash_table): Delete.
- 	(objc_act_parse_init): Delete.
- 	(objc_init): Delete reference to objc_act_parse_init.
- 	* tlink.c: Replace hash.h with hashtab.h.  Explicitly include
- 	obstack.h.  Replace references to 'struct hash_table' with htab_t.
- 	(struct symbol_hash_entry): Replace hash header with key field.
- 	(struct file_hash_entry): Replace hash header with key field.
- 	(struct demangled_hash_entry): Replace hash header with key field.
- 	(hash_string_eq): New.
- 	(hash_string_hash): New.
- 	(symbol_hash_newfunc): Delete.
- 	(symbol_hash_lookup): Modify to use htab_t.
- 	(file_hash_newfunc): Delete.
- 	(file_hash_lookup): Modify to use htab_t.
- 	(demangled_hash_newfunc): Delete.
- 	(demangled_hash_lookup): Modify to use htab_t.
- 	(tlink_init): Modify to use htab_t.
- 	* hash.h: Delete.
- 	* hash.c: Delete.
- 	* ggc.h: Delete forward structure declarations.
- 	Delete prototypes for deleted functions.
- 	* ggc-common.c: Don't include hash.h.
- 	(ggc_add_tree_hash_table_root): Delete.
- 	(ggc_mark_tree_hash_table_entry): Delete.
- 	(ggc_mark_tree_hash_table): Delete.
- 	(ggc_mark_tree_hash_table_ptr): Delete.
- 	* gengtype.c (write_gc_structure_fields): Allow param_is option.
- 	(write_gc_marker_routine_for_structure): Use visibility of
- 	the parameter if there is one.
- 	* function.c: Replace hash.h with hashtab.h.  Replace references
- 	to 'struct hash_table *' with htab_t.
- 	(struct insns_for_mem_entry): Include a plain key.
- 	(fixup_var_refs_insns_with_hash): Update to use htab_t.
- 	(insns_for_mem_newfunc): Delete.
- 	(insns_for_mem_hash): Update to use htab_t.
- 	(insns_for_mem_comp): Likewise.
- 	(insns_for_mem_walk): Likewise.
- 	* c-lang.c: Include ggc.h.
- 	* Makefile.in (OBJS): Remove hash.o.
- 	(c-lang.o): Add GGC_H.
- 	(COLLECT2_OBJS): Remove hash.o.
- 	(tlink.o): Remove hash.h, add HASHTAB_H and OBSTACK_H.
- 	(ggc-common.o): Remove hash.h.
- 	(function.o): Remove hash.h, add HASHTAB_H.
- 	(genautomata.o): Remove hash.h, add HASHTAB_H.
- 
- 	* varasm.c (mark_const_str_htab_1): Delete.
- 	(mark_const_str_htab): Delete.
- 	(const_str_htab_del): Delete.
- 	(const_str_htab): Use gengtype to mark.
- 	(init_varasm_once): Use gengtype to mark hashtables.  Use GC to
- 	allocate them.
- 	* tree.c (mark_tree_hashtable_entry): Delete.
- 	(mark_tree_hashtable): Delete.
- 	* tree.h (mark_tree_hashtable): Delete prototype.
- 	* ggc.h (ggc_test_and_set_mark): Treat (void *)1 like NULL.
- 	(ggc_mark): Likewise.
- 	(ggc_calloc): New.
- 	(htab_create_ggc): New.
- 	* ggc-common.c (ggc_calloc): New.
- 	* gengtype.h (enum typekind): Add TYPE_PARAM_STRUCT.
- 	(struct type): Add param_struct structure.
- 	* gengtype.c (param_structs): New.
- 	(adjust_field_type): Handle param_is option.
- 	(set_gc_used_type): Handle TYPE_PARAM_STRUCT.
- 	(get_output_file_with_visibility): Include hashtab.h in gtype-desc.c.
- 	(write_gc_structure_fields): Add new PARAM parameter.  Update
- 	callers.  Handle use_param option.  Handle TYPE_PARAM_STRUCT.
- 	(write_gc_marker_routine_for_structure): Add new PARAM parameter.
- 	Use it to generate function name.  Update callers.
- 	(write_gc_types): Add new PARAM_STRUCTS parameter.  Update callers.
- 	Process them.
- 	(write_gc_roots): Handle TYPE_PARAM_STRUCT.  Allow param_is
- 	option.
- 	(main): Define PTR as pointer-to-scalar.  Don't specially
- 	mark deferred_string or ehl_map_entry.
- 	* gengtype-yacc.y (PARAM_IS): Add new token.
- 	(externstatic): Use adjust_field_type.
- 	(type_option): Add PARAM_IS.
- 	* gengtype-lex.l: Add rule for typedef of function pointers.
- 	Add rule for PARAM_IS.
- 	(IWORD): Add size_t.
- 	* except.c (exception_handler_label_map): Use gengtype to mark.
- 	(type_to_runtime_map): Likewise.
- 	(mark_ehl_map_entry): Delete.
- 	(mark_ehl_map): Delete.
- 	(init_eh): Use gengtype for roots; use GC to allocate hash tables.
- 	(t2r_mark_1): Delete.
- 	(t2r_mark): Delete.
- 	* Makefile.in (gtype-desc.o): Correct dependencies.
- 	(GTFILES): Add hashtab.h.
- 	(genautomata.o): Actually uses hashtab.h.
- 
- 	* Makefile.in (stringpool.o): Add $(GGC_H).
- 	(dwarf2asm.o): Likewise.
- 	(GTFILES): Add hashtable.h.
- 	* c-common.h (struct c_common_identifier): Use gengtype.
- 	* c-decl.h (c_mark_tree): Delete.
- 	* c-lang.c (LANG_HOOKS_MARK_TREE): Delete.
- 	* c-tree.h (struct lang_identifier): Use gengtype.
- 	(union lang_tree_node): New.
- 	(c_mark_tree): Delete prototype.
- 	* dwarf2out.c [!DWARF2_DEBUGGING_INFO]: Define dummy
- 	dwarf2_debug_hooks.
- 	* gengtype-lex.l (IWORD): Allow 'bool'.
- 	(ptr_alias): Match.
- 	* gengtype-yacc.y (ALIAS): New token.
- 	(type_option): New rule.
- 	(option): Use type_option.
- 	* gengtype.c (process_gc_options): New.
- 	(set_gc_used_type): Use it.
- 	(write_gc_structure_fields): Add 'bitmap' parameter, change callers.
- 	Add new variable 't' to hold the type of the field being processed.
- 	Add more error checking.  Use UNION_P when looking at 'desc' option.
- 	Handle language-specific structures containing other
- 	language-specific structures.
- 	(write_gc_types): Handle 'ptr_alias' option.
- 	(main): Don't need to specially output lang_type, lang_decl, lang_id2.
- 	* ggc-common.c (ggc_pending_trees): Delete.
- 	(ggc_mark_roots): Don't manipulate ggc_pending_trees.
- 	(ggc_mark_trees): Delete.
- 	(gt_ggc_m_tree_node): Delete.
- 	* ggc.h (ggc_pending_trees): Delete.
- 	(ggc_mark_tree): Make alias of gt_ggc_m_tree_node.
- 	* hashtable.h (ht_identifier): Use gengtype.
- 	* langhooks-def.h (LANG_HOOKS_MARK_TREE): Delete.
- 	* langhooks.h (struct lang_hooks): Delete mark_tree.
- 	* sdbout.c [! SDB_DEBUGGING_INFO]: Define dummy sdb_debug_hooks
- 	anyway.
- 	* system.h: Poison LANG_HOOKS_MARK_TREE.
- 	* tree.c (tree_node_structure): New.
- 	* tree.h (struct tree_common): Use gengtype.
- 	(struct tree_int_cst): Likewise.
- 	(struct tree_real_cst): Likewise.
- 	(struct tree_string): Likewise.
- 	(struct tree_complex): Likewise.
- 	(struct tree_vector): Likewise.
- 	(struct tree_identifier): Likewise.
- 	(struct tree_list): Likewise.
- 	(struct tree_vec): Likewise.
- 	(struct tree_exp): Likewise.
- 	(struct tree_block): Likewise.
- 	(struct tree_type): Likewise.
- 	(struct tree_decl): Likewise.
- 	(enum tree_structure_enum): New.
- 	(union tree_node): Use gengtype, with an alias.
- 	(tree_node_structure): Prototype.
- 	* objc/objc-lang.c (LANG_HOOKS_MARK_TREE): Delete.
- 
- 	Merge to tag pch-merge-20020430.  The LANG_HOOKS_FUNCTION_MARK
- 	macro was deleted.  The LANG_HOOKS_FUNCTION_FREE macro was renamed
- 	to LANG_HOOKS_FUNCTION_FINAL.
- 	* Makefile.in (GTFILES): Add bitmap.h.
- 	* except.c (struct eh_region): Mark field 'aka' to be skipped.
- 
- 	* config/alpha/alpha.c [TARGET_ABI_UNICOSMK]
- 	(alpha_init_machine_status): Give proper type.
- 	* Makefile.in (c-lang.o): Depend on gtype-c.h.
- 	(optabs.o): Depend on gt-optabs.h.
- 	(GTFILES): Add optabs.o.
- 	(gt-optabs.h): Add rule.
- 	* optabs.c: Include gt-optabs.h.
- 
- 	* gengtype.c (set_gc_used_type): Correct some errors in last change.
- 	(write_gc_structure_fields): If a field which should be NULL is
- 	not, abort.
- 	* c-pragma.c: Move struct align_stack and variable alignment_stack
- 	out from the ifdef.
- 
- 	* config/xtensa/t-xtensa: Add dependencies for gt-xtensa.h.
- 	* config/xtensa/xtensa.c: Include gt-cris.h.
- 	(struct machine_function): Use gengtype	to mark.
- 	* config/mmix/mmix.h (struct machine_function): Use gengtype
- 	to mark.
- 	* config/cris/t-cris: Add dependencies for gt-cris.h.
- 	* config/cris/cris.c: Include gt-cris.h.
- 	(struct machine_function): Use gengtype	to mark.
- 	* config/rs6000/rs6000.h (struct machine_function): Use gengtype
- 	to mark.
- 	* doc/tm.texi (Per-Function Data): Delete references to
- 	mark_machine_status.
- 	* config/ia64/ia64.c (ia64_override_options): Don't set
- 	mark_machine_status.
- 	* config/i386/i386.c (override_options): Likewise.
- 	* config/d30v/d30v.c (d30v_init_expanders): Likewise.
- 	* config/arm/arm.c (arm_init_expanders): Likewise.
- 	* config/alpha/alpha.c (override_options): Likewise.
- 	* gengtype.h (enum gc_used_enum): Add GC_MAYBE_POINTED_TO.
- 	* gengtype.c (set_gc_used_type): Handle 'maybe_null' option.
- 	(write_gc_structure_fields): Don't handle 'really' option.
- 	Handle 'maybe_null' option.
- 	(write_gc_types): Handle 'maybe_null' option.
- 	* function.h (struct function): Don't use "really".
- 	(mark_machine_status): Delete declaration.
- 	(mark_lang_status): Delete declaration.
- 	(gt_ggc_mr_machine_function): Delete prototype.
- 	(gt_ggc_mr_language_function): Delete prototype.
- 	* function.c (mark_machine_status): Delete.
- 	(mark_lang_status): Delete.
- 	(gt_ggc_mr_machine_function): Delete.
- 	(gt_ggc_mr_language_function): Delete.
- 	* c-tree.h (mark_c_function_context): Delete prototype.
- 	* c-objc-common.c (c_objc_common_init): Don't set mark_lang_status.
- 	* c-decl.c (struct language_function): Rename from struct
- 	c_language_function.  Update uses.  Use gengtype to mark.
- 	(mark_c_function_context): Delete.
- 	* c-common.h (struct c_language_function): Rename from struct
- 	language_function.
- 	(mark_stmt_tree): Delete prototype.
- 	(c_mark_lang_decl): Delete prototype.
- 	(mark_c_language_function): Delete prototype.
- 	* c-common.c (mark_stmt_tree): Delete.
- 	(c_mark_lang_decl): Delete.
- 	(mark_c_language_function): Delete.
- 
- 	* gengtype.h (enum typekind): Add TYPE_LANG_STRUCT.
- 	(lang_bitmap): New typedef.  Use where appropriate.
- 	(struct type): Add gc_used field, lang_struct field.
- 	(UNION_P): New macro.
- 	(new_structure): New prototype.
- 	(find_structure): Remove 'pos' parameter.  Change all callers.
- 	* gengtype-lex.l: Update for changes to find_structure.
- 	* gengtype-yacc.y (typedef_struct): Use new_structure.
- 	(yacc_ids): Suppress warning.
- 	(type): Use new_structure.
- 	* gengtype.c (string_type): Update for changes to struct type.
- 	(find_structure): Just find a structure, don't worry about
- 	creating one.
- 	(new_structure): New.
- 	(note_yacc_type): Use new_structure.
- 	(set_gc_used_type): New.
- 	(set_gc_used): New.
- 	(write_gc_structure_fields): Allow for pointers to TYPE_LANG_STRUCT.
- 	(write_gc_types): Handle TYPE_LANG_STRUCT.
- 	(write_gc_marker_routine_for_structure): New.
- 	(main): Call set_gc_used.  Add some calls to set_gc_used_type
- 	for places where GCC doesn't use gengtype properly yet.
- 	* ggc.h (gt_ggc_m_rtx_def): Don't prototype.
- 	(gt_ggc_m_tree_node): Likewise.
- 
- 	* varasm.c (copy_constant): Call expand_constant if we hit
- 	something we can't recognize.
- 
- 	* ggc-common.c (ggc_mark_rtvec_children): Delete.
- 	(ggc_mark_rtx_children): Use generic name for ggc_mark_rtvec.
- 	(lang_mark_false_label_stack): Delete.
- 	* rtl.h (struct rtvec_def): Use gengtype to mark.
- 	* ggc.h (ggc_mark_rtvec): Delete.
- 	(gt_ggc_m_rtvec_def): Delete.
- 	(ggc_mark_nonnull_tree): Delete.
- 	(ggc_mark_rtvec_children): Delete prototype.
- 	(lang_mark_false_label_stack): Delete declaration.
- 
- 	* gengtype.h (note_yacc_type): Add prototype.
- 	* gengtype.c (note_yacc_type): New function.
- 	* gengtype-lex.l: Add lexer support for yacc files.
- 	* gengtype-yacc.y (start): Extract union from yacc files.
- 	(yacc_union): New rule.
- 	(yacc_typematch): New rule.
- 	(yacc_ids): New rule.
- 	(enum_items): Tweak for efficiency.
- 	(optionseq): Likewise.
- 
- 	* c-common.h (struct language_function): Use gengtype.
- 	(struct c_lang_decl): Likewise.
- 	* c-tree.h (struct lang_decl): Likewise.
- 	(struct lang_type): Likewise.
- 	* c-decl.c (lang_mark_tree): Use generated marker routines to mark
- 	tree language substructures.
- 
- 	* stringpool.c (mark_ident): Replace ggc_mark_nonnull_tree with
- 	ggc_mark_tree.
- 	* dwarf2asm.c (mark_indirect_pool_entry): Likewise.
- 
- 	* varasm.c (struct rtx_const): Remove 'skip' tags for scalar arrays.
- 
- 	* stmt.c (struct nesting): Add discriminator.  Use gengtype to
- 	mark. Remove 'data.block.cleanup_ptr' field.
- 	(struct stmt_status): Use usual technique to mark struct nesting.
- 	(gt_ggc_mr_nesting_cond): Delete.
- 	(gt_ggc_mr_nesting_loop): Delete.
- 	(gt_ggc_mr_nesting_block): Delete.
- 	(gt_ggc_mr_nesting_case_stmt): Delete.
- 	(expand_start_cond): Set discriminator.
- 	(expand_start_loop): Likewise.
- 	(expand_start_null_loop): Likewise.
- 	(expand_start_bindings_and_block): Set discriminator.  Don't set
- 	deleted fields.
- 	(expand_decl_cleanup): Replace 'cleanup_ptr' with
- 	&thisblock->data.block.cleanups.
- 	(expand_start_case): Set discriminator.
- 	(expand_start_case_dummy): Set discriminator.
- 
- 	* ggc-callbacks.c: Remove.
- 
- 	* gengtype.h (struct type): Add 'u.s.bitmap' field.
- 	(find_structure): Add 'pos' parameter.
- 	* gengtype-lex.l: Update callers to find_structure.
- 	* gengtype-yacc.y: Likewise.
- 	* gengtype.c (find_structure): Allow for structures to be defined
- 	in multiple language backends.
- 	(get_output_file_with_visibility): Include debug.h in gtype-desc.c.
- 	(counter): Rename to gc_counter.
- 	(write_gc_structure_fields): Fail when writing out fields for
- 	an incomplete structure.  Ignore arrays of scalars.  Handle
- 	'tree_vec' special.
- 	(write_gc_types): Reset counter for each procedure written.
- 
- 	* stmt.c (add_case_node): Use GGC to allocate struct case_node.
- 	(free_case_nodes): Delete.
- 	(expand_end_case_type): Delete call to free_case_nodes.
- 
- 	* Makefile.in (cselib.o): Include gt-<filename>.h.
- 	(gcse.o): Likewise.
- 	(profile.o): Likewise.
- 	(alias.o): Likewise.
- 	(GTFILES): Add alias.c, cselib.c, gcse.c, profile.c, and
- 	alphabetize backend files.
- 	(gt-alias.h, gt-cselib.h, gt-gcse.h, gt-profile.h): New rules.
- 	* alias.c: Use gengtype for roots.
- 	* c-common.h (struct stmt_tree_s): Use gengtype.
- 	* c-decl.c: Use gengtype for roots.
- 	* cselib.c: Use gengtype for roots.
- 	* expr.c: Use gengtype for roots.
- 	* fold-const.c: Use gengtype for roots.
- 	* gcse.c: Use gengtype for roots.
- 	* gengtype-lex.l: Handle typedefs of function types.
- 	Allow for empty array bounds.
- 	Allow processing to stop on initializers.
- 	* gengtype-yacc.y (externstatic): Stop processing on initializers.
- 	(semiequal): New rule.
- 	* gengtype.c (create_file): Tidy output files.
- 	(get_output_file_with_visibility): Fix paren warning.  Fix bug
- 	involving multiple input files mapping to one output file.
- 	(write_gc_structure_fields): Skip arrays of scalars.
- 	(write_gc_types): Tidy output files.
- 	(write_gc_root): New function.
- 	(write_gc_roots): Fix bugs, add support for roots that are
- 	structures.
- 	* ggc-common.c (ggc_mark_rtx_ptr): Delete.
- 	(ggc_mark_tree_ptr): Delete.
- 	(ggc_add_rtx_root): Delete.
- 	(ggc_add_tree_root): Delete.
- 	(ggc_del_root): Delete.
- 	* integrate.c (get_func_hard_reg_initial_val): Use ggc_alloc to
- 	allocate struct initial_value_struct.
- 	* profile.c: Use gengtype for roots.
- 	* sdbout.c: Use gengtype for roots.
- 	* varasm.c (mark_weak_decls): Delete unused prototype.
- 	(mark_const_hash_entry): Delete unused function.
- 	* config/darwin-protos.h: Use gengtype for roots.
- 	(machopic_add_gc_roots): Delete.
- 	* config/arm/arm.c: Use gengtype for roots.
- 	* config/arm/arm.h: Use gengtype for roots.
- 	* config/c4x/c4x-protos.h: Use gengtype for roots.
- 	* config/c4x/c4x.c (c4x_add_gc_roots): Delete.
- 	* config/d30v/d30v-protos.h: Use gengtype for roots.
- 	* config/d30v/d30v.c (d30v_add_gc_roots): Delete.
- 	* config/dsp16xx/dsp16xx.c (override_options): Use gengtype for roots.
- 	* config/dsp16xx/dsp16xx.h: Use gengtype for roots.
- 	* config/ia64/ia64-protos.h: Use gengtype for roots.
- 	* config/ia64/ia64.c (ia64_add_gc_roots): Delete.
- 	* config/m68hc11/m68hc11-protos.h: Use gengtype for roots.
- 	* config/m68hc11/m68hc11.c (z_reg): Make global.
- 	(z_reg_qi): Make global.
- 	(m68hc11_add_gc_roots): Delete.
- 	* config/mcore/mcore-protos.h: Use gengtype for roots.
- 	* config/mcore/mcore.c (mcore_add_gc_roots): Delete.
- 	* config/mips/mips.c (mips_add_gc_roots): Delete.
- 	* config/mips/mips.h: Use gengtype for roots.
- 	* config/mmix/mmix.c (override_options): Use gengtype for roots.
- 	* config/mmix/mmix.h: Use gengtype for roots.
- 	* config/mn10200/mn10200.c (asm_file_start): Use gengtype for roots.
- 	* config/mn10200/mn10200.h: Use gengtype for roots.
- 	* config/pa/pa.c: Use gengtype for roots, marking.
- 	(struct deferred_plabel): Use GGC, gengtype.
- 	(pa_add_gc_roots): Delete.
- 	(mark_deferred_plabels): Delete.
- 	* config/pj/pj-protos.h: Use gengtype for roots.
- 	* config/pj/pj.h (OVERRIDE_OPTIONS): Don't define.
- 	* config/rs6000/rs6000.c: Use gengtype for roots.  Don't call
- 	machopic_add_gc_roots.
- 	* config/rs6000/rs6000.h: Use gengtype for roots.
- 	* config/rs6000/t-darwin (darwin.o): Add dependency on gt-darwin.h.
- 	(gt-darwin.h): Add rule.
- 	* config/sh/sh.c: Use gengtype for roots.
- 	* config/sh/t-sh ($(out_object_file)): Add dependency on gt-sh.h.
- 	(gt-sh.h): Add rule.
- 	* config/sparc/sparc.c: Use gengtype for roots.
- 	(sparc_add_gc_roots): Delete.
- 	(struct ultrasparc_pipeline_state): Use GGC, gengtype.
- 	(mark_ultrasparc_pipeline_state): Delete.
- 	* config/sparc/sparc.h: Use gengtype for roots.
- 
- 	* Makefile.in (c-parse.o): Update dependencies.
- 	(c-common.o): Likewise.
- 	(GTFILES): Add c-common.h, c-tree.h, c-common.c, c-parse.in.
- 	Add dependencies for the files they generate.
- 	* c-common.c: Replace ggc_add_* uses with GTY annotations.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	(gt_ggc_mp_binding_level): Delete.
- 	* c-lang.c: Include gtype-c.h.
- 	* c-parse.in: Replace ggc_add_* uses with GTY annotations.  Include
- 	gt-c-parse.h.
- 	* c-pragma.h: Replace ggc_add_* uses with GTY annotations.
- 	(gt_ggc_mp_align_stack): Delete.
- 	* c-tree.h: Replace ggc_add_* uses with GTY annotations.
- 	* function.c: Replace ggc_add_* uses with GTY annotations.
- 	(gt_ggc_mp_function): Delete.
- 	* function.h: Replace ggc_add_* uses with GTY annotations.
- 	* gengtype.c (lang_names): New.
- 	(NUM_BASE_FILES): New.
- 	(open_base_files): Create language base files.
- 	(startswith): New.
- 	(get_file_basename): New.
- 	(get_base_file_bitmap): New.
- 	(get_output_file_with_visibility): Rename from get_output_file.
- 	Add more mappings for various C/Objc filenames.
- 	(finish_root_table): New.
- 	(write_gc_roots): Handle dependencies and scoping properly.
- 	* gengtype.h: Add prototypes for new functions.
- 	* ggc-common.c (struct deletable_root): Delete.
- 	(deletables): Delete.
- 	(ggc_add_deletable_root): Delete.
- 	(ggc_mark_roots): No need to deal with deleted functionality.
- 	* ggc.h (ggc_add_deletable_root): Delete prototype.
- 	* objc/Make-lang.in (objc-act.o): Add gtype-objc.h dependency.
- 	(gtype-objc.h): Add rule to create.
- 	* objc/config-lang.in (gtfiles): New.
- 	* objc/objc-act.c: Allocate imp_list using GGC.  Replace uses of
- 	ggc_add_* with GTY markers.  Include gtype-objc.h.
- 	(ggc_mark_imp_list): Delete.
- 	* objc/objc-act.h: Replace uses of ggc_add_* with GTY markers.
- 	* objc/objc-lang.c: Random Whitespace Change.
- 
- 	* except.h (exception_handler_labels): Delete.
- 	(get_exception_handler_labels): New.
- 	* except.c (exception_handler_labels): Delete.
- 	(struct eh_status): Add exception_handler_labels field.
- 	(doing_eh): Don't add exception_handler_labels as root.
- 	(free_eh_status): Don't need to free exception_handler_labels.
- 	(get_exception_handler_labels): New.
- 	(find_exception_handler_labels): Update for move of
- 	exception_handler_labels.
- 	(remove_exception_handler_label): Likewise.
- 	* cfgrtl.c (can_delete_label_p): Use get_exception_handler_labels.
- 	* jump.c (rebuild_jump_labels): Likewise.
- 	* loop.c (find_and_verify_loops): Likewise.
- 	* sched-rgn.c (is_cfg_nonregular): Likewise.
- 
- 	* gengtype.c (write_gc_structure_fields): Handle variable-length
- 	TYPE_ARRAYs.
- 
- 	* varasm.c (struct weak_syms): Use GGC, gengtype.
- 	(mark_weak_decls): Delete.
- 	(weak_decls): Likewise.
- 	(add_weak): Likewise.
- 	(remove_from_pending_weak_list): Likewise.
- 	(init_varasm_once): Likewise.
- 
- 	* Makefile.in (gtype-desc.o): Add libfuncs.h dependency.
- 	(GTFILES): Add tree.h, libfuncs.h, emit-rtl.c, explow.c,
- 	stor-layout.c, regclass.c, and lists.c.
- 	Add dependencies of gt-emit-rtl.h gt-explow.h gt-stor-layout.h
- 	gt-regclass.h and gt-lists.h on s-gtype.
- 	* emit-rtl.c: Use gengtype for roots.  Include gt-emit-rtl.h.
- 	* except.c: Use gengtype for roots.
- 	* explow.c: Use gengtype for roots.  Include gt-explow.h.
- 	* expr.h (init_stor_layout_once): Delete prototype.
- 	* function.c: Use gengtype for roots.
- 	* gengtype-lex.l: Add ENT_EXTERNSTATIC lexing.
- 	* gengtype-yacc.y (start): Can also be an externstatic.
- 	(externstatic): New production.
- 	(struct_fields): Correct array bounds inversion for 2-d arrays.
- 	* gengtype.c (variables): New variable.
- 	(note_variable): New function.
- 	(get_output_file): Include libfuncs.h into gtype-desc.c.
- 	(get_output_file_name): New function.
- 	(write_gc_structure_fields): Suppress warnings.
- 	(write_gc_types): Make static.
- 	(put_mangled_filename): New function.
- 	(write_gc_roots): New function.
- 	(main): Call write_gc_roots.
- 	* gengtype.h (note_variable): Prototype.
- 	(get_output_file_name): Prototype.
- 	(write_gc_types): Delete prototype.
- 	* ggc.h: Clean up unnecessary structure predefinitions.
- 	(struct ggc_root_tab): Define.
- 	(gt_ggc_m_rtx_def): Make function, not macro.
- 	(gt_ggc_m_tree_node): Likewise.
- 	* libfuncs.h: Use gengtype for roots.
- 	* lists.c: Use gengtype for roots.  Include gt-lists.h.
- 	(init_EXPR_INSN_LIST_cache): Delete.
- 	* optabs.c: Use gengtype for roots.
- 	(gt_ggc_mp_optab): Delete.
- 	* optabs.h: Use gengtype for roots.
- 	* regclass.c: Use gengtype for roots.  Include gt-regclass.h.
- 	* rtl.h: Use gengtype for roots.
- 	(init_EXPR_INSN_LIST_cache): Delete prototype.
- 	* stor-layout.c: Use gengtype for roots.
- 	Include gt-stor-layout.h.
- 	(init_stor_layout_once): Delete.
- 	* toplev.c: Use gengtype for roots.  Delete calls to deleted
- 	routines.
- 	* tree.c: Use gengtype for roots.
- 	* tree.h: Use gengtype for roots.
- 	* varasm.c: Use gengtype for roots.
- 
- 	* Makefile.in (GTFILES): Add @all_gtfiles@.
- 	* configure: Regenerate.
- 	* configure.in: Construct all_gtfiles from the gtfiles definitions
- 	in config-lang.in.
- 	* gengtype-yacc.y (type): Warn about duplicate structure names.
- 	* gengtype.c (get_output_file): Handle .c files in language
- 	subdirectories.
- 
- 	* Makefile.in (GTFILES): Run gengtype on all the config files
- 	and on the target .c file.
- 	* except.c (mark_eh_region): Delete.
- 	(init_eh_for_function): Use GGC on struct eh_status.
- 	(mark_eh_status): Delete.
- 	(free_eh_status): Use GGC.
- 	(expand_eh_region_start): Use GGC to
- 	(collect_eh_region_array): Allocate last_region_number using GGC.
- 	(duplicate_eh_region_1): Use GGC to allocate struct eh_region.
- 	(remove_eh_handler): Let GGC free struct eh_region.
- 	(add_call_site): Use GGC to reallocate call_site_record array.
- 	* function.c (init_machine_status): Update calling sequence.
- 	(mark_machine_status): Likewise.
- 	(mark_lang_status): Likewise.
- 	(prepare_function_start): Update init_machine_status call.
- 	(mark_function_status): Delete.
- 	(maybe_mark_struct_function): Delete.
- 	(ggc_mark_struct_function): Delete.
- 	(gt_ggc_mp_function): New.
- 	(gt_ggc_mr_machine_function): New.
- 	(gt_ggc_mr_language_function): New.
- 	(init_function_once): Use canonical names.
- 	* function.h (struct function): Use gengtype.
- 	(init_machine_status): Return the structure.
- 	(mark_machine_status): Take a 'void *'.
- 	(mark_lang_status): Likewise.
- 	* ggc-common.c (ggc_mark_trees): Use canonical name for
- 	ggc_mark_struct_function.
- 	* tree.h (ggc_mark_struct_function): Delete prototype.
- 	* config/alpha/alpha.c (alpha_mark_machine_status): Delete.
- 	(alpha_init_machine_status): Likewise.
- 	(override_options): Use canonical name for alpha_mark_machine_status.
- 	* config/alpha/unicosmk.h (struct machine_function): Use gengtype.
- 	* config/arm/arm.h (struct machine_function): Use gengtype.
- 	* config/arm/arm.c (arm_mark_machine_status): Delete.
- 	(arm_init_machine_status): Update calling sequence.
- 	(arm_init_expanders): Use canonical name for arm_mark_machine_status.
- 	* config/cris/cris.c (cris_init_machine_status): Update
- 	calling sequence.
- 	* config/d30v/d30v.h (struct machine_function): Use gengtype.
- 	* config/d30v/d30v.c (d30v_init_machine_status): Update
- 	calling sequence.
- 	(d30v_mark_machine_status): Delete.
- 	* config/i386/i386.c: Include gt-i386.h.
- 	(struct machine_function): Use gengtype.
- 	(ix86_init_machine_status): Update calling sequence.
- 	(ix86_mark_machine_status): Delete.
- 	(override_options): Use canonical namke for ix86_mark_machine_status.
- 	* config/ia64/ia64.h (struct machine_function): Use gengtype.
- 	* config/ia64/ia64.c (ia64_init_machine_status): Update calling
- 	sequence.
- 	(ia64_mark_machine_status): Delete.
- 	(ia64_override_options): Use canonical name for
- 	ia64_mark_machine_status.
- 	* config/mmix/mmix.c (mmix_init_machine_status): Update calling
- 	sequence.
- 	* config/rs6000/rs6000.c (rs6000_init_machine_status): Likewise.
- 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
- 	* gengtype.c (get_output_file): Fix warning.
- 	(main): Add prototype to suppress warning.
- 	* tree.c: Remove tree_hash_mark prototype.
- 
- 	* tree.h (init_stmt): Delete prototype.
- 	* toplev.c (lang_independent_init): Don't call init_stmt.
- 	* stmt.c (ALLOC_NESTING): Use GGC for 'struct nesting'.
- 	(stmt_obstack): Delete.
- 	(POPSTACK): No need to free 'struct nesting'.
- 	(gt_ggc_mr_nesting_cond): Use canonical names.
- 	(gt_ggc_mr_nesting_loop): Use canonical names.
- 	(gt_ggc_mr_nesting_block): Use canonical names.
- 	(gt_ggc_mr_nesting_case_stmt): Use canonical names.
- 	(mark_stmt_status): Delete.
- 	(init_stmt): Delete.
- 	(clear_last_expr): Clear both last_expr_type and last_expr_value.
- 	Use it everywhere that last_expr_type was cleared.
- 	* lists.c (init_EXPR_INSN_LIST_cache): Use ggc_add_deletable_root.
- 	(zap_lists): Delete.
- 	* ggc.h (ggc_add_deletable_root): Prototype.
- 	(mark_stmt_status): Remove prototype.
- 	* ggc-common.c (ggc_add_deletable_root): New.
- 	(ggc_mark_roots): Handle deletable roots.
- 	* function.c (ggc_mark_struct_function): Use canonical name
- 	for mark_stmt_status.
- 	* emit-rtl.c (free_sequence_stack): New.
- 	(start_sequence): Use a freelist for sequences.
- 	(end_sequence): Likewise.
- 	(init_emit_once): Add free_sequence_stack as a deleteable root.
- 	* c-pragma.c Include gt-c-pragma.h.
- 	(struct align_stack): Use gengtype.
- 	(push_alignment): Use GGC for struct align_stack.
- 	(mark_align_stack): Delete.
- 	(gt_ggc_mp_align_stack): New.
- 	(init_pragma): Use canonical name for mark_align_stack.
- 	* c-decl.c: Include gt-c-decl.h.
- 	(struct binding_level): Use gengtype.
- 	(make_binding_level): Use GGC; handle the freelist here.
- 	(pop_binding_level): New.
- 	(pushlevel): Move code into make_binding_level.
- 	(push_label_level): Likewise.
- 	(poplevel): Move code into pop_binding_level.
- 	(pop_label_level): Likewise.
- 	(mark_binding_level): Delete.
- 	(gt_ggc_mp_binding_level): New.
- 	(c_init_decl_processing): Use canonical name for mark_binding_level.
- 	Add free_binding_level as deletable root.
- 	(mark_c_function_context): Use canonical name for mark_binding_level.
- 	* Makefile.in (c-decl.o): Add gt-c-decl.h.
- 	(c-pragma.o): Add gt-c-pragma.h.
- 	(GTFILES): Add c-decl.c and c-pragma.c.
- 	(gt-c-decl.h, gt-c-pragma.h): Create using gengtype.
- 
- 	* tree.c (struct type_hash): Use gengtype.
- 	(init_obstacks): Use canonical name for type_hash_mark.
- 	(type_hash_mark): Delete.
- 	Include gt-tree.h.
- 	* rtl.h (struct mem_attrs): Use gengtype.
- 	* optabs.h (struct optab): Use gengtype.
- 	* optabs.c (expand_binop): Squish signed/unsigned warning.
- 	(mark_optab): Make local, use canonical name, use autogenerated
- 	marker procedure.
- 	(init_optabs): Use canonical name for mark_optab.
- 	(new_optab): Use GGC to allocate optabs.
- 	* ggc.h: Delete mark_optab prototype.
- 	* ggc-common.c (ggc_mark_rtx_children): Use canonical name for
- 	mem_attrs marker procedure.
- 	* gengtype.c (get_output_file): Include headers in gtype-desc.c
- 	explicitly rather than deducing them from file names.
- 	(write_gc_structure_fields): Handle arrays of structures.
- 	(main): Return nonzero exit code if errors occur during output.
- 	* emit-rtl.c (mem_attrs_mark): Delete.
- 	(init_emit_once): Use canonical name for mem_attrs marker procedure.
- 	* Makefile.in (gtype-desc.o): Explicitly name dependencies.
- 	(tree.o): Depend on gt-tree.h.
- 	(GTFILES): Add rtl.h, optabs.h, tree.c.
- 	(gt-tree.h): Add it to s-gtype rule.
- 
- 	* .cvsignore: Ignore gengtype flex/bison generated files.
- 	* Makefile.in (GGC_H): Add gtype-desc.h.
- 	(OBJS): Add gtype-desc.o.
- 	(GEN): Add gengtype.
- 	(STAGESTUFF): Add gengtype.
- 	(varasm.o): Add gt-varasm.h.
- 	(stmt.o): Add gt-stmt.h.
- 	(except.o): Add gt-except.h.
- 	(integrate.o): Add gt-integrate.h.
- 	(GTFILES): New.
- 	Add new rules for new files.
- 	* configure: Regenerate.
- 	* configure.in: Correct defaults.h paths.
- 	* emit-rtl.c (mark_sequence_stack): Delete.
- 	(mark_emit_status): Delete.
- 	(start_sequence): Allocate sequence structures using GGC.
- 	(end_sequence): Allocate sequence structures using GGC.
- 	* except.c: Use gengtype for various structures.  Include
- 	gt-except.h.
- 	* expr.c (mark_expr_status): Delete.
- 	* function.c: Use gengtype for various structures.  Include
- 	gt-function.h.
- 	(mark_function_status): Use standard gt_ggc names for marker functions.
- 	(ggc_mark_struct_function): Likewise.
- 	* function.h: Use gengtype for various structures.
- 	* gengtype-lex.l: New file.
- 	* gengtype-yacc.y: New file.
- 	* gengtype.c: New file.
- 	* gengtype.h: New file.
- 	* ggc.h: Include gtype-desc.h.  Alias some marker procedures to
- 	the standard names.  Remove some now-unnecessary prototypes.
- 	* integrate.c: Use gengtype for various structures.  Include
- 	gt-integrate.h.
- 	(mark_hard_reg_initial_vals): Delete.
- 	* integrate.h (mark_hard_reg_initial_vals): Delete.
- 	* stmt.c: Use gengtype for various structures.  Include
- 	gt-stmt.h.
- 	(mark_case_node): Delete.
- 	(mark_goto_fixup): Delete.
- 	(mark_stmt_status): Use standard gt_ggc names for marker functions.
- 	* system.h: Define GTY to empty.   In flex/bison files,
- 	don't poison malloc or realloc, instead just define them to
- 	xmalloc and xrealloc.
- 	* varasm.c: Use gengtype for various structures.  Include
- 	gt-varasm.h.  Use standard gt_ggc names for marker functions.
- 	(mark_pool_constant): Delete.
- 	(mark_varasm_status): Delete.
- 	(decode_rtx_const): #if 0 out non-typesafe hack.
- 
- 	* function.h (free_lang_status): Mark as obsolete.
- 	* function.c (free_lang_status): Mark as obsolete.
- 	* c-decl.c (push_c_function_context): Use GC to allocate and free
- 	struct language_function.
- 	(pop_c_function_context): Likewise.
- 	* c-common.c (mark_c_language_function): Mark struct
- 	language_function.
- 
- 	* doc/tm.texi (Per-Function Data): Don't document free_machine_status.
- 	Document that the machine_function structures must be allocated
- 	using GC.  Update mark_machine_status documentation.
- 	* function.h: Don't declare free_machine_status.
- 	* function.c (free_machine_status): Don't define.
- 	(free_after_compilation): Don't call free_machine_status.
- 	(ggc_mark_struct_function): Mark f->machine.  Call
- 	mark_machine_status only on non-NULL pointers.
- 	* system.h: Poison free_machine_status.
- 	* config/xtensa/xtensa.c (xtensa_init_machine_status): Use GC on
- 	struct machine_function.
- 	(xtensa_free_machine_status): Delete.
- 	(override_options): Don't set free_machine_status.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
- 	free_machine_status.
- 	(rs6000_init_machine_status): Use GC on struct machine_function.
- 	(rs6000_free_machine_status): Delete.
- 	* config/ia64/ia64.c (ia64_init_machine_status): Use GC on struct
- 	machine_function.
- 	(ia64_mark_machine_status): Likewise.
- 	(ia64_free_machine_status): Delete.
- 	(ia64_override_options): Don't set free_machine_status.
- 	* config/i386/i386.c (override_options): Don't set
- 	free_machine_status.
- 	(ix86_init_machine_status): Use GC on struct machine_function.
- 	(ix86_mark_machine_status): Likewise.
- 	(ix86_free_machine_status): Delete.
- 	* config/d30v/d30v.c: (d30v_init_machine_status): Use GC on struct
- 	machine_function.
- 	(d30v_mark_machine_status): Likewise.
- 	(d30v_free_machine_status): Delete.
- 	(d30v_init_expanders): Don't set free_machine_status.
- 	* config/arm/arm.c (arm_mark_machine_status): Use GC on struct
- 	machine_function.
- 	(arm_init_machine_status): Likewise.
- 	(arm_free_machine_status): Delete.
- 	(arm_init_expanders): Don't set free_machine_status.
- 	* config/alpha/alpha.c (override_options): Don't set
- 	free_machine_status.
- 	(alpha_init_machine_status): Use GC on struct machine_function.
- 	(alpha_mark_machine_status): Likewise.
- 	(alpha_free_machine_status): Delete.
- 
- 	* varasm.c (compare_constant): Fix typo.
- 
- 	* varasm.c: Don't include obstack.h.
- 	(struct varasm_status): x_const_rtx_hash_table is a hash of rtxes.
- 	(struct rtx_const): Give substructures names, improve formatting.
- 	(struct constant_descriptor): Delete.
- 	(struct constant_descriptor_tree): New, based on constant_descriptor.
- 	(const_hash_table): Is a hash table of trees.
- 	(mark_const_hash_entry): Is used for hashes of trees.  Mark
- 	constant_descriptor_tree structure.
- 	(mark_const_str_htab_1): Mark deferred_string structure.
- 	(compare_constant): Rewrite to compare trees.
- 	(compare_constant_1): Delete.
- 	(record_constant): Delete.
- 	(record_constant_1): Delete.
- 	(output_constant_def): Use struct constant_descriptor_tree.
- 	Don't duplicate trees twice.
- 	(struct constant_descriptor_rtx): New.
- 	(struct pool_constant): Used for rtx constants.
- 	(init_varasm_status): Update for change to struct varasm_status.
- 	(mark_varasm_status): Likewise.
- 	(free_varasm_status): Delete.
- 	(compare_constant_rtx): Rewrite to handle constant_descriptor_rtx.
- 	(record_constant_rtx): Likewise.
- 	(mem_for_const_double): Update to use struct constant_descriptor_rtx.
- 	(force_const_mem): Likewise.
- 	* Makefile.in (varasm.o): Doesn't depend on obstack.h.
- 	* function.c (free_after_compilation): Don't use free_varasm_status.
- 	* function.h: Don't prototype free_varasm_status.
- 
- 	* ggc-common.c (ggc_realloc): Handle X being NULL.
- 
- 	* ggc-common.c (ggc_realloc): New function.
- 	* ggc.h: Prototype it.
- 	* emit-rtl.c (free_emit_status): Delete.
- 	(init_emit): Allocate emit subarrays using GC.
- 	(gen_reg_rtx): Reallocate subarrays using GC.
- 	(init_emit): Use GC to allocate 'struct emit_status' and its
- 	subarrays.
- 	(mark_emit_status): Mark structure and its subarrays.
- 	* stmt.c (free_stmt_status): Delete.
- 	* expr.c (free_expr_status): Delete.
- 	* function.h: Remove prototypes for deleted functions.
- 	* function.c (free_after_compilation): Don't use deleted functions.
- 	Don't call free() on x_parm_reg_stack_loc.
- 	(free_after_parsing): Don't use free_stmt_status.
- 	(assign_parms): Use GC to allocate and resize x_parm_reg_stack_loc.
- 	(mark_function_status): Mark x_parm_reg_stack_loc.
- 
- 	* varasm.c (init_varasm_status): Use GC to allocate
- 	'struct varasm_status' and its fields x_const_rtx_hash_table
- 	and x_const_rtx_sym_hash_table.
- 	(mark_varasm_status): Mark them.
- 	(free_varasm_status): Use GC to free them.
- 	* expr.c (init_expr): Use GC to allocate 'struct expr_status'.
- 	(mark_expr_status): Mark the structure itself.
- 	(free_expr_status): Use GC to free the structure.
- 	* stmt.c (free_stmt_status): Use GC to free 'struct stmt_status'.
- 	(mark_stmt_status): Mark the 'struct stmt_status' itself.
- 	(init_stmt_for_function): Allocate the structure for GC.
- 
- 	* dwarf2out.c (lookup_type_die): Use TYPE_SYMTAB_DIE.
- 	(equate_type_number_to_die): Likewise.
- 	* tree.h (TYPE_SYMTAB_DIE): New macro.
- 	(struct die_struct): Predeclare.
- 	(struct tree_type): Add field symtab.die.   Add a tag
- 	to the union type of field symtab.
- 
- 	* varray.h (VARRAY_RTVEC_INIT): A varray of rtvec contains
- 	'struct rtvec_def *', not 'struct rtvec_def'.
- 
- 	* function.h (original_arg_vector): Make a real rtvec.
- 	* function.c (ggc_mark_struct_function): Adjust.
- 	* integrate.c (expand_inline_function): Adjust.
- 
- 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (sh5-*-netbsd*, sh5l*-*-netbsd*)
- 	(sh64-*-netbsd*, sh64l*-*-netbsd*): New targets.
- 	* config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN)
- 	(TARGET_VERSION_CPU): Define according to the
- 	default target.
- 	(TARGET_VERSION): Use TARGET_VERSION_ENDIAN and
- 	TARGET_VERSION_CPU.
- 	(TARGET_OS_CPP_BUILTINS): Use NETBSD_OS_CPP_BUILTINS_LP64
- 	if TARGET_SHMEDIA64.
- 	(LINK_DEFAULT_CPU_EMUL): Define according to the
- 	default target.
- 	(SUBTARGET_LINK_EMUL_SUFFIX): Define.
- 	(SUBTARGET_LINK_SPEC): Define.
- 	(LINK_SPEC): Use SH_LINK_SPEC.
- 	(ASM_SPEC): Remove.
- 	(TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
- 	(FUNCTION_PROFILER): Add cases for TARGET_SHMEDIA32
- 	and TARGET_SHMEDIA64 which abort, for now.
- 	* config/sh/t-netbsd-sh5: New file.
- 	* config/sh/t-netbsd-sh5-32: New file.
- 	* config/sh/t-netbsd-sh5-64: New file.
- 
- 2002-06-03  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (reg_or_const_int_operand): New.
- 	(some_operand, input_operand): Accept CONST_VECTOR.
- 	(alpha_extra_constraint): Add 'W'.
- 	(alpha_expand_zap_mask): New.
- 	(alpha_expand_builtin_vector_binop): New.
- 	(enum alpha_builtin): New.
- 	(zero_arg_builtins, one_arg_builtins, two_arg_builtins): New.
- 	(alpha_init_builtins, alpha_expand_builtin): New.
- 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): New.
- 	* config/alpha/alpha.h (VECTOR_MODE_SUPPORTED_P): New.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.md (UNSPEC_CMPBGE, UNSPEC_ZAP,
- 	UNSPEC_AMASK, UNSPEC_IMPLVER, UNSPEC_PERR, UNSPECV_RPCC): New.
- 	(movv8qi, movv8qi_fix, movv8qi_nofix): New.
- 	(movv4hi, movv4hi_fix, movv4hi_nofix): New.
- 	(movv2si, movv2si_fix, movv2si_nofix): New.
- 	(uminv8qi3, sminv8qi3, uminv4hi3, sminv4hi3): New.
- 	(umaxv8qi3, smaxv8qi3, umaxv4hi3, smaxv4hi3): New.
- 	(builtin_cmpbge, builtin_extql, builtin_extqh, builtin_zap,
- 	builtin_zap_1, builtin_zapnot, builtin_zapnot_1, builtin_amask,
- 	builtin_implver, builtin_rpcc, builtin_minub8, builtin_minsb8,
- 	builtin_minuw4, builtin_minsw4, builtin_maxub8, builtin_maxsb8,
- 	builtin_maxuw4, builtin_maxsw4, builtin_perr, builtin_pklb,
- 	pklb, builtin_pkwb, pkwb, builtin_unpkbl, unpkbl,
- 	builtin_unpkbw, unpkbw): New.
- 	* doc/extend.texi (Alpha Built-in Functions): New.
- 
- 2002-06-03  Richard Henderson  <rth@redhat.com>
- 
- 	* crtstuff.c (__EH_FRAME_BEGIN__): Conditionalize on
- 	USE_EH_FRAME_REGISTRY, not EH_FRAME_SECTION_NAME.
- 
- 2002-06-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha-protos.h: Eliminate unneeded ifdefs.
- 
- 	* config/alpha/alpha.c (reg_or_0_operand): Use CONST0_RTX.
- 	(const0_operand): New.
- 	(reg_or_fp0_operand, fp0_operand): Remove.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.md: Replace all uses of reg_or_fp0_operand
- 	and fp0_operand with reg_or_0_operand and const0_operand.
- 
- 2002-06-03  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
- 
- 	* alias.c (nonoverlapping_memrefs_p): Fix off by one error.
- 
- 2002-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (cprop_jump): Use single_set to get the pattern
- 	from the setcc argument.
- 
- 2002-06-03  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (diagnostic_count): Move from output_buffer to
- 	diagnostic_context.
- 	(diagnostic_kind_count): Adjust definition.
- 
- Mon Jun  3 19:11:53 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* except.c (except.c): Do not rebuild CFG.
- 	* toplev.c (rest_of_compilation): Recompute CFG after sibcall
- 	optimization.
- 
- Mon Jun  3 11:53:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* integrate.c (copy_insn_list): Properly pace the INSN_SCOPE copies.
- 	* toplev.c: Include cfglahout.h
- 	* Makefile.in (toplev.c): Add dependnecy.
- 
- 2002-06-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): New.
- 	(CPP_CPU32_SPEC, CPP_CPU64_SPEC): Kill.
- 	(CPP_CPUCOMMON_SPEC): Rename CPP_CPU_SPEC.
- 
- 2002-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/ns32k/netbsd.h: Update copyright years.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Remove.
- 	* config/ns32k/ns32k.h (CPP_PREDEFINES): Remove.
- 	(TARGET_CPU_CPP_BUILTINS): Define.
- 
- 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c: Fix formatting.
- 	* errors.h: Likewise.
- 	* except.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* expr.h: Likewise.
- 
- 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/elf.h: Fix formatting.
- 	* config/h8300/rtems.h: Likewise.
- 
- 2002-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/rs6000/netbsd.h (DRAFT_V4_STRUCT_RET): Remove.
- 
- 2002-06-02  Tom Tromey  <tromey@redhat.com>
- 
- 	* fixinc/fixincl.x: Rebuilt.
- 	* fixinc/inclhack.def (thread_keyword): Match `*__thread'.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config/i370:
- 	* i370.h (TARGET_CPU_CPP_BUILTINS): Use.
- 	* linux.h: Use TARGET_OS_CPP_BUILTINS rather than CPP_PREDEFINES.
- 	* mvs.h: Similarly.
- 	* oe.h: Similarly.
- 
- Mon Jun  3 00:18:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (final):  Allow notes to not have computed addresses;
- 	kill no longer needed STACK_REGS ifdef.
- 
- 2002-06-02  Richard Henderson  <rth@redhat.com>
- 
- 	* gcse.c (bypass_conditional_jumps): Fix typo last change.
- 
- Sun Jun  2 23:02:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (emit_prefetch_instructions): Properly place the address
- 	computation.
- 
- Sun Jun  2 22:56:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
- 	(set_block_for_insn): Turn into macro.
- 	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
- 	* cfglayout.c (insn_scopes): Kill.
- 	(scope_to_insns_initialize): Do not use insn_scopes.
- 	(scope_to_insns_finalize): Likewise.
- 	(duplicate_insn_chain): Likewise.
- 	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
- 	* cfgrtl.c (basic_block_for_insn): Kill.
- 	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
- 	(create_basic_block_structure): Use reorder_insns.
- 	(compute_bb_for_insn): Do not use basic_block_for_insn.
- 	(merge_blocks_nomove): Likewise.
- 	(update_bb_for_insn): Likewise.
- 	(verify_flow_info): Likewise.
- 	(set_block_for_insn): Kill.
- 	* combine.c (try_combine): Update gen_rtx_INSN call.
- 	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
- 	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
- 	scopes and BBs.
- 	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
- 	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
- 	Clear BB.
- 	(emit_insns_after): Simplify.
- 	(emit_copy_of_insn_after): Copy scope.
- 	* final.c (final_start_function): Lower scopes.
- 	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
- 	* integrate.c (copy_insn_list): Cope scopes.
- 	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
- 	* loop.c (loop_optimize): Do not care block notes.
- 	* print-rtl.c (print_rtx): Print BB.
- 	* recog.c (apply_change_group): Simplify.
- 	* rtl.c (copy_rtx): Handle 'B'.
- 	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
- 	* rtl.h (Field accessors): Update indexes.
- 	* sched-ebb.c (schedule_ebbs): Do not lower notes.
- 	* sched-rgn.c (schedule_insns): Likewise.
- 	* toplev.c (rest_of_compilation): Lower notes.
- 	* unroll.c (unroll_loop): Do not care scoping notes.
- 	(copy_loop_body): Copy scopes.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config/h8300:
- 	* elf.h: Use TARGET_OS_CPP_BUILTINS rather than
- 	SUBTARGET_SPEC.
- 	* rtems.h: Similarly.
- 	* h8300.h (CPP_PREDEFINES, CPP_SPEC, SUBTARGET_CPP_SPEC,
- 	EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
- 	(TARGET_CPU_CPP_BUILTINS): Use.
- 
- 2002-06-02  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c: Include target.h.
- 	(mark_constant_function): Use targetm.binds_local_p instead
- 	of checking TREE_PUBLIC ourselves.
- 	* Makefile.in (alias.o): Add TARGET_H.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c: Update copyright and file description.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/fr30/fr30.h: Update to new CPP macros.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/dsp16xx/dsp16xx.h: Update to new CPP macros.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* c-common.c (c_common_init): Override cpplib's default
- 	warn_long_long setting.
- 	* c-lex.c (lex_number): Replace with interpret_integer,
- 	interpret_float, narrowest_unsigned_type and
- 	narrowest_signed_type, taking advantage of the new
- 	cpplib functionality.
- 	* cpperror.c (_cpp_begin_message): If a warning is turned
- 	into an error, avoid printing "warning:".
- 	* cppexp.c (cpp_num_sign_extend): New.
- 	* cppinit.c: Update comment.
- 	* cpplib.h (cpp_num_sign_extend): New.
- 	* tree.h: Update comment.
- 
- 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h (struct diagnostic_context):  Add new member
- 	internal_error.
- 	(internal_error_function): Remove declaration.
- 	* diagnostic.c (internal_error_function): Remove definition..
- 	(internal_error): Adjust use.
- 
- 2002-06-02  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (CC0_P): New.
- 	* gcse.c (cprop_jump): Use it with single_set.  Tweak dump text.
- 	(cprop_insn): Allow any mode register; use CC0_P.  CSE out single_set.
- 	(bypass_block): Save old dest block for dump text.
- 	(bypass_conditional_jumps): Allow any mode register; use CC0_P.
- 	Allow only true SET insns, not single_set.
- 
- 2002-06-02  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.c (diagnostic_finish): Rename to output_flush.
- 	(clear_disgnostic_info): Rename to output_clear_data.  Use false
- 	instead of 0 for boolean value.
- 	Adjust function call throughout.
- 
- Sun Jun  2 19:15:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (commit_one_edge_insertion): Fix warning.
- 	* gcse.c (bypass_conditional_jumps): CSE out single_set call.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* d30v.h (CPP_PREDEFINES): Replace with
- 	(TARGET_CPU_CPP_BUILTINS): New.
- 
- 2002-06-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/alpha/alpha.h [ASM_OUTPUT_LABELREF]: Fix typo.
- 
- Sun Jun  2 12:11:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (bypass_conditional_jumps): Use single set to obtain set.
- 
- 2002-06-02  Richard Henderson  <rth@redhat.com>
- 
- 	* rtlanal.c (volatile_refs_p): Not automatically true for CALL.
- 
- 2002-06-02  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	Support for C++ constructors/destructors.
- 	* config/avr/avr.c (avr_output_function_epilogue): Jump to exit()
- 	instead of looping if main() returns.
- 	(asm_file_start): Output global symbols that cause .data and .bss
- 	initialization code to be linked in, unconditionally for now.
- 	(avr_asm_out_ctor, avr_asm_out_dtor): New functions.
- 	* config/avr/avr.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): New.
- 	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
- 	(LIBSTDCXX): New.
- 	* config/avr/libgcc.S (_exit): Split in .fini9 and .fini0 sections.
- 	(__tablejump__): New.
- 	(__do_copy_data, __do_clear_bss): New.
- 	(__do_global_ctors, __do_global_dtors): New.
- 	* config/avr/t-avr (LIB1ASMFUNCS): Add _copy_data, _clear_bss,
- 	_ctors, _dtors.
- 
- 2002-06-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): New.
- 	(CPP_SPEC, CPP_PREDEFINES): Kill.
- 	* c4x/rtems.h (CPP_PREDEFINES): Kill.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 
- Sat Jun  1 23:29:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (tracer.o): New.
- 	* params.def (TRACER_*): New options.
- 	* rtl.h (tracer): Declare.
- 	* timevar.def (TV_TRACER): New.
- 	* toplev.c (dump_file_index): Add DFI_tracer.
- 	(dump_file_info): Add tracer.
- 	(flag_tracer): New.
- 	(lang_indepdenent_options): Add tracer.
- 	(rest_of_compilation): Call tracer.
- 	* tracer.c: New file.
- 	* invoke.texi (-ftracer): Document.
- 	(--param tracer-*): Document.
- 
- 2002-06-01  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* tree-inline.c (expand_call_inline): Make the statement
- 	expression we generate have a COMPOUND_STMT.
- 
- 2002-06-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (cprop_cc0_jump): Function deleted.
- 	(cprop_jump): Take an additional argument which is the possibly
- 	NULL cc setting insn immediately before the conditional jump.
- 	When a MODE_CC set is present, substitute it into the JUMP_INSN
- 	before attempting the constant propagation.
- 	(cprop_insn):  Recognize cc setters followed by conditional jumps
- 	as a special case.   Use cprop_jump instead of cprop_cc0_jump.
- 	(cprop_one_pass):  Call bypass_conditional_jumps if altering jumps.
- 	(find_bypass_set): New function based upon find_avail_set used by
- 	cprop, but finds constant expressions available at the end of
- 	basic blocks.
- 	(bypass_block): New function.  Given a basic block that begins
- 	with a conditional jump and multiple incoming edges, perform
- 	the jump bypass optimization.
- 	(bypass_conditional_jumps): New function.  Call bypass_block with
- 	each suitable basic block in the CFG using a simple single pass.
- 
- 2002-06-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.c (real_minus_onep): New function to test for -1.0.
- 	* fold-const.c (fold) [MULT_EXPR]:  Optimize -1.0*x into -x.
- 
- 2002-06-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_truthop): Transform "a || b" into "(a|b) != 0"
- 	and "!p && !q" into "(p|q) == 0" under suitable conditions.
- 
- 2002-06-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* cppexp.c (cpp_classify_number): Cast precission to int for
- 	correct printf format.
- 
- 2002-06-01  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_mcu_types): Remove devices that were once
- 	expected, but don't really exist: atmega83, atmega85, attiny10.
- 	* config/avr/avr.h (LINK_SPEC): Update to use the new avr[1-5] ld
- 	emulations for all devices.
- 	(CRT_BINUTILS_SPECS): Remove atmega83, atmega85, attiny10.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Remove atmega83, atmega85.
- 
- 2002-06-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_shift_needs_scratch_p.
- 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): New.
- 	* config/h8300/h8300.h (OK_FOR_R): New.
- 	(OK_FOR_S): Likewise.
- 	(OK_FOR_T): Likewise.
- 	(EXTRA_CONSTRAINT): Call OK_FOR_R, OK_FOR_S, and OK_FOR_T.
- 	* config/h8300/h8300.md (anonymous shift patterns): Use
- 	constraints R, S, and T.
- 
- Sat Jun  1 11:23:22 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* basic-block.h (struct basic_block_def): New field loop_father.
- 	(BB_VISITED): New flag.
- 	(struct loop): New field pred, removed field shared.
- 	(struct loops): New field parray.
- 	(LOOP_EXITS_DOMS): Removed.
- 	(flow_loop_tree_node_add, flow_loop_tree_node_remove,
- 	flow_loop_nested_p, flow_bb_inside_loop_p, get_loop_body,
- 	dfs_enumerate_from, loop_preheader_edge, loop_latch_edge,
- 	add_bb_to_loop, remove_bb_from_loops, find_common_loop,
- 	verify_loop_structure): Declare.
- 	* cfg.c (entry_exit_blocks): Initialize loop_father field.
- 	* cfganal.c (dfs_enumerate_from): New function.
- 	* cfgloop.c (HEAVY_EDGE_RATIO): New constant.
- 	(flow_loop_entry_edges_find, flow_loop_exit_edges_find,
- 	flow_loop_nodes_find, flow_loop_level_compute, flow_loop_nested_p,
- 	flow_loop_dump, flow_loops_dump, flow_loops_free,
- 	flow_loop_tree_node_add, flow_loop_level_compute,
- 	flow_loops_level_compute, flow_loop_scan, flow_loops_update,
- 	flow_loop_outside_edge_p): Modified for new infrastructure.
- 	(make_forwarder_block, canonicalize_loop_headers, glb_enum_p,
- 	redirect_edge_with_latch_update, flow_loop_free): New static functions.
- 	(flow_loop_tree_node_remove, flow_bb_inside_loop_p,
- 	get_loop_body, add_bb_to_loop, remove_bb_from_loops,
- 	find_common_loop, verify_loop_structure, loop_latch_edge,
- 	loop_preheader_edge): New functions.
- 	(flow_loops_cfg_dump): Do not show dominators, as this information
- 	does not remain up to date long.
- 	(flow_loops_find): Store results in new format.
- 	* predict.c (propagate_freq, estimate_probability,
- 	estimate_loops_at_level, estimate_bb_frequencies): Use new loop
- 	infrastructure.
- 
- 2002-06-01  Alan Lehotsky  <apl@alum.mit.edu>
- 
- 	* except.c (nothrow_function_p): Walk epilogue delay list
- 	checking the insn, not the chain for potential throws.
- 
- 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (INSTALL_CPP, UNINSTALL_CPP): Remove.
- 	(install): Refer to install-cpp directly.
- 	(uninstall-cpp): Folded into uninstall rule.
- 	* configure.in: Delete all code relating to --disable-cpp.
- 	* configure: Regenerate.
- 	* config/t-install-cpp: Delete.
- 
- 2002-05-31  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_TLS): Add alpha tests.
- 	* configure: Rebuild.
- 	* config/alpha/alpha.c (TARGET_AS_TLS): New.
- 	(alpha_tls_size, alpha_tls_size_string): New.
- 	(overide_options): Set it.  Always install machine_status hooks.
- 	(input_operand): Accept got tls predicates.
- 	(local_symbol_p): Merge into ...
- 	(local_symbolic_operand): ... here.  Reject tls symbols.
- 	(global_symbolic_operand): Likewise.
- 	(tls_symbolic_operand_1, dtp16_symbolic_operand): New.
- 	(dtp32_symbolic_operand, gotdtp_symbolic_operand): New.
- 	(tp16_symbolic_operand, tp32_symbolic_operand): New.
- 	(gottp_symbolic_operand, tls_symbolic_operand_type): New.
- 	(alpha_encode_section_info): Handle TLS symbols.
- 	(alpha_strip_name_encoding): Likewise.
- 	(alpha_legitimate_address_p): Likewise.
- 	(alpha_legitimize_address): Likewise.
- 	(alpha_expand_mov): Early exit to avoid nop moves.
- 	(struct machine_function): Move from unicosmk.h.  Add some_ld_name.
- 	(alpha_init_machine_status, alpha_mark_machine_status,
- 	alpha_free_machine_status): Always define.
- 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
- 	(print_operand, print_operand_address): Add TLS relocs.
- 	* config/alpha/alpha.h (HAVE_AS_TLS): Default 0.
- 	(MASK_TLS_KERNEL, TARGET_TLS_KERNEL): New.
- 	(TARGET_SWITCHES): Add -mtls-kernel.
- 	(alpha_tls_size, alpha_tls_size_string): New.
- 	(TARGET_OPTIONS): Add -mtls-size=.
- 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
- 	REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Add R0_REG.
- 	(ASM_OUTPUT_LABELREF): Skip %.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Add &.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (UNSPEC_TLSGD_CALL, UNSPEC_TLSLDM_CALL,
- 	UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_DTPREL, UNSPEC_TPREL,
- 	UNSPEC_TP, UNSPECV_SET_TP): New.
- 	(adddi_er_lo16_dtp, adddi_er_hi32_dtp, adddi_er_lo32_dtp,
- 	adddi_er_lo16_tp, adddi_er_hi32_tp, adddi_er_lo32_tp, load_tp,
- 	set_tp, movdi_er_tlsgd, movdi_er_tlsldm, movdi_er_gotdtp,
- 	movdi_er_gottp, call_value_osf_tlsgd, call_value_osf_tlsldm): New.
- 	(call_value_osf_2_er): Accept anything as op4.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/unicosmk.h (struct machine_function): Move to alpha.c.
- 
- 2002-05-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppinit.c (append_include_chain): Always pay attention to
- 	cxx_aware when setting new->sysp.  Remove ATTRIBUTE_UNUSED
- 	marker on argument.
- 
- 2002-05-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* target.h: Fix formatting.
- 	* timevar.h: Likewise.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 	* toplev.h: Likewise.
- 	* tree.c: Likewise.
- 	* tree-dump.h: Likewise.
- 	* tree.h: Likewise.
- 	* tree-inline.h: Likewise.
- 	* unroll.c: Likewise.
- 	* unwind-dw2.c: Likewise.
- 	* unwind-dw2-fde.c: Likewise.
- 	* unwind-dw2-fde-glibc.c: Likewise.
- 	* unwind-dw2-fde.h: Likewise.
- 	* unwind.h: Likewise.
- 	* unwind-sjlj.c: Likewise.
- 	* varasm.c: Likewise.
- 	* varray.h: Likewise.
- 	* vmsdbg.h: Likewise.
- 	* vmsdbgout.c: Likewise.
- 	* xcoffout.h: Likewise.
- 
- 2002-05-31  Igor Shevlyakov <igor@microunity.com>
- 
- 	* expr.c (compare_from_rtx): Generate comparison between op0 and op1
- 	rather than cc0 and 0 in a case when HAVE_cc0 is not defined.
- 
- 2002-05-31  Matthew Woodcraft  <mattheww@chiark.greenend.org.uk>
- 
- 	* gcc.c (cpp_unique_options): Remove "-d" options.
- 	(cpp_debug_options): New spec string.
- 	(default_compilers): Use it.
- 	* objc/lang-specs.h: Likewise.
- 
- 2002-05-31  Nathanael Nerode  <neroden@twcny.rr.com>
- 
- 	* gcc/Makefile.in: Replace HOST_PREFIX, HOST_PREFIX_1 with
- 	BUILD_PREFIX, BUILD_PREFIX_1, to correct nomenclature.
- 	* gcc/mklibgcc.in: Likewise.
- 	* gcc/config/arc/t-arc: Likewise.
- 	* gcc/configure.in: Likewise.
- 	* gcc/configure: Regenerate.
- 
- 2002-05-31  Stan Shebs  <shebs@apple.com>
- 	    Turly O'Connor  <turly@apple.com>
- 
- 	* c-decl.c (struct binding_level): Change int field n_incomplete
- 	to tree list incomplete_list.
- 	(clear_binding_level): Init field with NULL.
- 	(pushdecl): Add incomplete type to list.
- 	(mark_binding_level): Mark the incomplete list.
- 	(finish_struct): Scan the incomplete list for types instead
- 	of all decls in the current binding level.
- 
- 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_millicode_call): Add missing '%' characters.
- 	(output_call): Likewise.
- 
- 2002-05-31  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Define.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Define.
- 
- 2002-05-31  Alan Lehotsky <apl@alum.mit.edu>
- 
- 	* varasm.c (mark_constant_pool): Walk epilogue delay list
- 	checking the insn, not the chain for potential constants.
- 
- Fri May 31 12:38:43 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/elf.h (ASM_SPEC): Use subtarget_endian_asm_spec.
- 
- Fri May 31 13:50:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Properly handle base types.
- 
- 	* dwarf2out.c (expand_builin_init_dwarf_reg_sizes):
- 	Store first DWARF_FRAME_REGISTERS dwarf registers, not pseudo
- 	registers.
- 
- Fri May 31 13:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (gcse_emit_move_after): New.
- 	(pre_delete, hoist_store): Use it.
- 
- 	* reload1.c (emit_input_reload_insns): Use constrain_operands
- 	instead of constraint_accepts_reg_p to verify optimization.
- 	(constraint_accepts_reg_p): Kill.
- 
- 	* reload1.c (reload_cse_delete_noop_set): Kill.
- 	(reload_cse_simplify): Use delete_insn_and_edges.
- 
- 2002-05-31  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.c (flow_loops_find): Initialize first and last fields
- 	correctly.
- 
- 2002-05-31  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (builtin_define_std): Correct logic.
- 
- 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_millicode_call): Correct "be,l" insn for TARGET_PA_20.
- 	(output_call): Likewise.
- 
- 2002-05-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c: Move output.h include after tree.h include.
- 	(pa_asm_output_mi_thunk): Constify identifier lab.
- 
- 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/ns32k/ns32k.h: Define named constants for the
- 	bits in target_flags and use them.
- 	* config/ns32k/netbsd.h (TARGET_DEFAULT): Use named constants.
- 
- 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* config.gcc (tm_file): Prefix pa/pa-700.h to tm_file list for PA1.0
- 	architecture and pa/pa-7100.h for PA1.1 architecture, respectively.
- 	* pa/pa.c (override_options): Use TARGET_SCHED_DEFAULT to select
- 	default scheduling model.
- 	* pa/pa.h (TARGET_SCHED_DEFAULT): Define if not defined to "8000".
- 	* pa/pa-700.h (TARGET_SCHED_DEFAULT): New file for "700" scheduling.
- 	* pa/pa-7100.h (TARGET_SCHED_DEFAULT): New file for "7100" scheduling.
- 	* doc/install.texi (hppa*-*-*): Document default scheduling.
- 
- 2002-05-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (following_call): Check TARGET_JUMP_IN_DELAY.
- 
- 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (ns32k-*-netbsd*): Set tm_file to
- 	"${tm_file} netbsd.h netbsd-aout.h ns32k/netbsd.h"
- 	* config/ns32k/netbsd.h: Don't include ns32k/ns32k.h,
- 	netbsd.h, or netbsd-aout.h.
- 
- 2002-05-31  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* longlong.h (count_trailing_zeros): Add missing \, and clean up
- 	whitespace in __ns32000__ case.
- 
- 2002-05-31  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expr.c (expand_expr): Output partially zeroed out vectors with
- 	output_constant_def.
- 
- 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (sh[123456789l]*-*-*): Set cpu_type to sh.
- 	(sh-*-netbsdelf*)
- 	(shl*-*-netbsdelf*): New targets.
- 	* config/sh/netbsd-elf.h: New file.
- 	* config/sh/t-netbsd: New file.
- 
- 2002-05-30  Richard Henderson  <rth@redhat.com>
- 	    Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	PR optimization/6822
- 	* config/i386/i386.c (ix86_expand_int_movcc): Don't cast INTVAL
- 	to unsigned int for op1 comparisons.  Use gen_int_mode.
- 
- 2002-05-30  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	* expmed.c (const_mult_add_overflow_p): New.
- 	* expr.h: Declare it.
- 	* loop.c (maybe_eliminate_biv_1) [COMPARE]: Use it.
- 	Don't eliminate the biv if the giv has a constant multiplier and
- 	the rhs argument of the comparison does satisfy the predicate.
- 	Use expand_mult_add to compute the replacement constant.
- 
- 2002-05-30  Osku Salerma  <osku@iki.fi>
- 
- 	* c-common.c (c_common_attribute_table): Add "may_alias" entry.
- 	(c_common_get_alias_set): Handle it.
- 	* doc/extend.texi: Document it.
- 
- 2002-05-30  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
- 	* toplev.c (process_options): Don't check it.
- 	* doc/tm.texi: Don't document it.
- 	* config/i386/linux.h (SUBTARGET_FRAME_POINTER_REQUIRED): New.
- 	(TARGET_ALLOWS_PROFILING_WITHOUT_FRAME_POINTER): Kill.
- 	* config/i386/i386.c (ix86_frame_pointer_required): Suppress leaf
- 	frame pointer optimization if current_function_profile.
- 
- 2002-05-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* langhooks.c: Fix formatting.
- 	* langhooks.h: Likewise.
- 	* lcm.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* lists.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* loop.h: Likewise.
- 
- 2002-05-30  Marc Espie <espie@openbsd.org>
- 
- 	* config.gcc (sparc64-*-openbsd*): New.
- 	* config/sparc/openbsd1-64.h: New.
- 	* config/sparc/openbsd64.h: New.
- 
- 2002-05-30  Jeff Law <law@redhat.com>
- 
- 	* flow.c (propagate_one_insn): Revise yesterday's patch.  Delete
- 	a dead insn with a REG_RETVAL note when the entire libcall is not
- 	dead and remove the associated REG_LIBCALL note at the same time.
- 
- Thu May 30 19:54:30 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* lcm.c (output.h): #include.
- 	(compute_earliest): Remove hack to treat renumbered EXIT_BLOCK
- 	as an ordinary block.
- 	(optimize_mode_switching): Don't pretend that the exit block is
- 	an ordinary block, or handle sucessors of entry block specially.
- 	Instead, split edges from entry block and to exit block, and
- 	put a computing definition on the thus gained post-entry-block,
- 	and a need on the pre-exit-block.
- 
- Thu May 30 20:28:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gengenrtl.c (type_from_format, accessor_from_format): Support 'B'.
- 	* rtl.texi: Document 'B'
- 
- 2002-05-30  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Compute
- 	at run-time.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Set to 96 if not __mc68010__.
- 
- 2002-05-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
- 	const0_rtx instead of NULL_RTX when in error.
- 	(altivec_expand_abs_builtin): Same.
- 	(rs6000_expand_binop_builtin): Same.
- 	(altivec_expand_predicate_builtin): Same.
- 	(altivec_expand_stv_builtin): Same.
- 	(rs6000_expand_ternop_builtin): Same.
- 	(altivec_expand_builtin): Same.
- 
- 2002-05-29  David S. Miller  <davem@redhat.com>
- 
- 	* rtl.h (clear_emit_caches): Delete.
- 	* integrate.c (output_inline_function): Don't call it.
- 	* emit-rtl.c (restore_emit_status, init_emit): Likewise.
- 	(clear_emit_caches): Delete definition.
- 	(SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
- 
- 2002-05-30  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c: Include real.h.
- 	(mmix_constant_address_p): Remove redundant test before switch.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Define
- 	only if not already defined.
- 
- 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Remove prototypes for
- 	ok_for_bclr and small_power_of_two.
- 	* config/h8300/h8300.c (small_power_of_two): Remove.
- 	(ok_for_blcr): Likewise.
- 	(fix_bit_operand): Make WHAT deal with an integer instead of a
- 	constraint character.
- 	* config/h8300/h8300.h (CONST_OK_FOR_O): Remove.
- 	(CONST_OK_FOR_P): Likewise.
- 	(CONST_OK_FOR_LETTER_P): Do not call CONST_OK_FOR_O or
- 	CONST_OK_FOR_P any more.
- 	* config/h8300/h8300.md (andqi3): Adjust to the new prototype
- 	of fix_bit_operand.
- 	(iorqi3): Likewise.
- 	(xorqi3): Likewise.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Make sure this is undefined.
- 	(CPP_SPEC): Place -D__mips=1 at the beginning of the spec,
- 	since it is no longer in CPP_PREDEFINES.  Don't -U__MIPSEL__
- 	or -U__MIPSEB__ before defining one or the other.  Instead,
- 	use %(subtarget_endian_default) if neither -EB nor -EL are
- 	specified.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(SUBTARGET_CPP_SPEC): Remove __LONG64 handling.  Use
- 	%(netbsd_cpp_spec).
- 
- 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* doc/md.texi (Patterns): Note pattern condition pitfall
- 	for unnamed insn.
- 
- 2002-05-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.c: (altivec_expand_builtin): Only expand altivec builtins
- 	when TARGET_ALTIVEC.  Move handling of generic unary, binary, and
- 	ternary operations from here...
- 	(rs6000_expand_builtin): ...to here.
- 	New argument expandedp.
- 	Change all instances of altivec_expand_binop_builtin to
- 	rs6000_expand_binop_builtin.
- 	(altivec_expand_unop_builtin): Rename to
- 	rs6000_expand_unop_builtin.
- 	(altivec_expand_binop_builtin): Rename to
- 	rs6000_expand_binop_builtin.
- 	(altivec_expand_ternop_builtin): Rename to
- 	rs6000_expand_ternop_builtin.
- 
- 2002-05-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/biarch64.h (TARGET_64BIT_DEFAULT): Define with value.
- 	(TARGET_BI_ARCH): Likewise.
- 	* config/i386/i386.h: Test TARGET_64BIT_DEFAULT by value.
- 	(TARGET_SWITCHES): Combine target defaults here not in TARGET_DEFAULT.
- 	(TARGET_64BIT_DEFAULT): Default to 0.
- 	(TARGET_DEFAULT): Default to MASK_OMIT_LEAF_FRAME_POINTER.
- 
- 2002-05-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (USE_HIDDEN_LINKONCE): New.
- 	(get_pc_thunk_name): New.
- 	(output_set_got): Use it.
- 	(ix86_asm_file_end): If USE_HIDDEN_LINKONCE, emit get_pc thunks
- 	into linkonce sections.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Make sure this is undefined.
- 	(CPP_SUBTARGET_SPEC64, CPP_SUBTARGET_SPEC32): Remove.
- 	(CPP_SUBTARGET_SPEC): Don't provide different versions for
- 	default-32 and default-64.  Just always use %(netbsd_cpp_spec).
- 	(SUBTARGET_EXTRA_SPECS): Remove cpp_subtarget_spec32 and
- 	cpp_subtarget_spec64.  Add netbsd_cpp_spec.
- 	* config/sparc/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Make sure this is undefined.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 
- 2002-05-29  Jeff Law <law@redhat.com>
- 
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Remove unwanted semi-colon.
- 
- 	* flow.c (propagate_one_insn): Do not remove a dead insn if it
- 	contains a REG_RETVAL note.
- 
- 	* haifa-sched (sched_analyze): Remove another useless clearing
- 	of SCHED_GROUP_P I missed yesterday.
- 
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Move implementation into pa.c.
- 	* pa.c (pa_asm_output_mi_thunk): New function.
- 	* pa-protos.h (pa_asm_output_mi_thunk): Declare.
- 
- 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_base_arch_macro, avr_extra_arch_macro): New.
- 	(avr_asm_only_p): Make non-static.
- 	(enum avr_arch): Remove.
- 	(avr_arch_types): New.
- 	(avr_mcu_types): Update.
- 	(avr_override_options): Use avr_arch_types table instead of switch.
- 	* avr.h (CPP_PREDEFINES): Die.
- 	(avr_base_arch_macro, avr_extra_arch_macro): New.
- 	(TARGET_CPU_CPP_BUILTINS): New.
- 	(CPP_SPEC, EXTRA_SPECS): Simplify.
- 	(CPP_AVR1_SPEC, CPP_AVR2_SPEC, CPP_AVR3_SPEC, CPP_AVR4_SPEC,
- 	CPP_AVR5_SPEC): Die.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
- 	NETBSD_OS_CPP_BUILTINS_AOUT.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 
- 2002-05-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_output_function_epilogue): New.
- 	(TARGET_ASM_FUNCTION_EPILOGUE): New.
- 	(pic_label_name): Remove.
- 	(pic_labels_used): New.
- 	(ix86_asm_file_end): Emit one pc load stub for each register used.
- 	(output_set_got): Generate deep pc load to any register.
- 	(ix86_select_alt_pic_regnum): New.
- 	(ix86_save_reg): Don't save pic register if we can find a valid
- 	call-clobbered replacement.
- 	(ix86_expand_prologue): If we found a valid replacement, renumber
- 	pic_offset_table_rtx.
- 	* config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Look at
- 	pic_offset_table_rtx after reload.
- 	(REAL_PIC_OFFSET_TABLE_REGNUM): New.
- 	* config/i386/i386.md (set_got): Make insn, not expander.
- 	(set_got_nopic, set_got_deep, set_got_nodeep): Remove.
- 
- 2002-05-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_compute_frame_layout): Do add bottom
- 	alignment for alloca.
- 
- 2002-05-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (output_pic_addr_const): Lowercase rip.
- 	(print_operand_address): Only add rip for symbolic addresses
- 	for which we do not have another relocation type.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(EXTRA_SPECS): Add netbsd_cpp_spec.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 	(CPP_PREDEFINES): Remove.
- 	* config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(EXTRA_SPECS): Define.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 	(CPP_PREDEFINES): Remove.
- 
- 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/6844
- 	* cppmacro.c (cpp_macro_definition): Reserve space for terminating
- 	NUL.
- 
- 2002-05-29  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Add support for
- 	mips5/mips32/mips64 and _MIPS_ISA_MIPSXX.
- 
- 2002-05-29  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/fr30/fr30.md: Remove previous restriction on splits.
- 	Enforce conformance through gen_lowpart and cont_int_operand.
- 	* config/fr30/fr30.h (BSS_SECTION_ASM_OP): Use ".section .bss"
- 	as the assembler does not support ".bss".
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/i386/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Remove.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 	* config/i386/netbsd.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Remove.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(CPP_SPEC): Use %(netbsd_cpp_spec).
- 	* config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES, CPP_LP64_SPEC, CPP_SUBTARGET_SPEC): Remove.
- 	(SUBTARGET_EXTRA_SPECS): Remove cpp_lp64 and cpp_subtarget.
- 	Add netbsd_cpp_spec.
- 	(CPP_SPEC): Remove %(cpp_subtarget), add %(netbsd_cpp_spec).
- 
- 2002-05-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* cppexp.c (cpp_num): Move to cpplib.h.
- 	(CPP_ERROR): Remove.
- 	(interpret_float_suffix, interpret_int_suffix): New.
- 	(struct suffix, vsuf_1, vsuf_2, vsuf_3): Remove.
- 	(cpp_classify_number, cpp_interpret_integer): New.
- 	(interpret_number): Remove.
- 	(eval_token): Update to use new routines.
- 	* cpphash.h (cpp_num_part): Move to cpplib.h.
- 	* cppinit.c (cpp_post_options): Set warn_long_long.
- 	* cpplib.h (struct cpp_options): Add warn_long_long.
- 	(cpp_num, cpp_num_part, CPP_N_CATEGORY, CPP_N_INVALID,
- 	CPP_N_INTEGER, CPP_N_FLOATING, CPP_N_WIDTH, CPP_N_SMALL,
- 	CPP_N_MEDIUM, CPP_N_LARGE, CPP_N_RADIX, CPP_N_DEC, CPP_N_HEX,
- 	CPP_N_OCTAL, CPP_N_UNSIGNED, CPP_N_IMAGINARY, cpp_classify_number,
- 	cpp_interpret_integer): New.
- 
- 2002-05-29  Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Use -m403 and -m405.
- 
- 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Use
- 	NETBSD_OS_CPP_BUILTINS_ELF and NETBSD_OS_CPP_BUILTINS_LP64.
- 	(CPP_SUBTARGET_SPEC): Define.
- 	(SUBTARGET_EXTRA_SPECS): Define.
- 	(CPP_SPEC): Remove.
- 
- 2002-05-29  Chris Lattner  <sabre@nondot.org>
- 
- 	* ssa.c (rename_insn_1): Rename uses of undefined registers to
- 	prevent confusion if/when the register is defined.
- 
- 2002-05-29  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/6838
- 	* config/cris/cris.md: Fix typos and thinkos in comments.
- 	("*mov_sideqi_biap_mem"): Remove '*' in constraint for operand 4,
- 	second alternative.
- 	("*mov_sidehi_biap_mem", "*mov_sidesi_biap_mem"): Ditto.
- 	("*mov_sideqi_mem"): Similar, but for operand 3.
- 	("*mov_sidehi_mem", "*mov_sidesi_mem"): Ditto.
- 	(splitter for mov_sideqi_mem, mov_sidehi_mem, mov_sidesi_mem):
- 	Remove spurious mode specifier on operand 2.
- 
- 2002-05-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Remove the prototype for
- 	o_operand.
- 	Add prototypes for single_one_operand and single_zero_operand.
- 	* config/h8300/h8300.c (o_operand): Remove.
- 	(single_one_operand): New.
- 	(single_zero_operand): Likewise.
- 	(print_operand): For 'V' operand, and the operand with 0xff.
- 	For 'V' and 'W' operands, do not and the bit position with 7.
- 	* config/h8300/h8300.md (various anonymous patterns): Replace
- 	use of exact_log2 with single_one_operand/single_zero_operand.
- 
- 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
- 
- 2002-05-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimate_pic_operand_p): Do not
- 	accept symbolic LARL operands.
- 	(s390_emit_epilogue): Do not set FRAME_RELATED_P on
- 	epilogue insns.
- 
- 2002-05-29  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.md (cmpstr_64/31): Mark whole
- 	input registers as used.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_save_reg): Examine regs_ever_live,
- 	not current_function_uses_pic_offset_table and
- 	current_function_uses_const_pool; examine current_function_profile.
- 	(ix86_expand_prologue): Likewise.  Add pic_offset_table_rtx as
- 	input to blockage if needed.
- 	(ix86_expand_call): Do not set current_function_uses_pic_offset_table.
- 	(legitimize_pic_address): Likewise.  Set regs_ever_live for
- 	pic_offset_table_rtx when invoked during reload.
- 	* config/i386/i386.h (FINALIZE_PIC): Remove.
- 	* config/i386/i386.md (tablejump): Reformat.  Do not set
- 	current_function_uses_pic_offset_table.
- 	(tls_global_dynamic, tls_local_dynamic_base): Likewise.
- 	(blockage): Accept anything as operand 0.
- 
- 2002-05-28  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd-aout.h (NETBSD_OS_CPP_BUILTINS_AOUT): Define
- 	common CPP built-ins for all NetBSD a.out targets.
- 	* config/netbsd-elf.h (NETBSD_OS_CPP_BUILTINS_ELF): Define
- 	common CPP built-ins for all NetBSD ELF targets.
- 	* config/netbsd.h: Add missing notice.
- 	(NETBSD_OS_CPP_BUILTINS_COMMON): Define common CPP built-ins
- 	for all NetBSD targets.
- 	(NETBSD_OS_CPP_BUILTINS_LP64): Define common CPP built-ins
- 	for all NetBSD targets using an LP64 code model.
- 	(NETBSD_CPP_SPEC): Define CPP_SPEC parts common to all
- 	NetBSD targets.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (update_life_info_in_dirty_blocks): Only do a partial
- 	update if UPDATE_LIFE_LOCAL.
- 
- 2002-05-28  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/sh/sh.c: Include real.h for REAL_VALUE_TYPE.
- 
- Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 			  Jason R. Thorpe <thorpej@wasabisystems.com>
- 
- 	config/sh reorganization to factor out endianness and coff:
- 
- 	* config/sh/little.h: New file.
- 	* config/sh/sh.h (TARGET_ENDIAN_DEFAULT): If not already
- 	defined, define to 0 to select big-endian.
- 	(SUBTARGET_ASM_ENDIAN_SPEC): Define according to TARGET_ENDIAN_DEFAULT.
- 	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
- 	* config/sh/sh64.h (TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
- 	* config/sh/t-be: New file.
- 	* config/sh/t-le: New file.
- 
- 	* sh.h (SDB_DEBUGGING_INFO, #include "dbxcoff.h"): Moved to sh/coff.h.
- 	(SDB_DELIM, MAX_OFILE_ALIGNMENT, IDENT_ASM_OP): Likewise.
- 	(TARGET_ASM_NAMED_SECTION, ASM_OUTPUT_SKIP): Likewise.
- 	(USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Likewise.
- 	(ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
- 	(ASM_FILE_END, ASM_DECLARE_FUNCTION_NAME): Deleted.
- 	(CPP_SPEC, SUBTARGET_CPP_ENDIAN_SPEC): Likewise.
- 	(SUBTARGET_CPP_SPEC, CPP_DEFAULT_CPU_SPEC, CPP_PREDEFINES): Likewise.
- 	(EXTRA_SPECS): Remove SUBTARGET_CPP_ENDIAN_SPEC and
- 	CPP_DEFAULT_CPU_SPEC.  Add LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL,
- 	SUBTARGET_LINK_EMUL_SUFFIX and SUBTARGET_LINK_SPEC.
- 	(LINK_SPEC): Define to SH_LINK_SPEC.
- 	(TARGET_CPU_CPP_BUILTINS, SH_LINK_SPEC): Define.
- 	(LINK_EMUL_PREFIX, LINK_DEFAULT_CPU_EMUL): Likewise.
- 	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
- 	(CPP_SPEC): Reduce to %(subtarget_cpp_spec).
- 	(TARGET_ENDIAN_DEFAULT): Define if not already defined.
- 	* config/sh/coff.h: New file.
- 	(TARGET_ASM_NAMED_SECTION): Now default_coff_asm_named_section
- 	(TARGET_OBJFMT_CPP_BUILTINS): Define.
- 	* config/sh/elf.h (IDENT_ASM_OP): No need to #undef at the start.
- 	(ASM_FILE_END, ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	(DBX_OUTPUT_MAIN_SOURCE_FILE_END, TARGET_ASM_NAMED_SECTION): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME, MAX_OFILE_ALIGNMENT, SIZE_TYPE): Likewise.
- 	(PTRDIFF_TYPE): Likewise.
- 	("dbxelf.h", "elfos.h", "svr4.h"): Don't #include.
- 	(CPP_PREDEFINES): Don't define.
- 	(TARGET_OBJFMT_CPP_BUILTINS): Define.
- 	(LINK_SPEC): Define to SH_LINK_SPEC.
- 	(LINK_EMUL_PREFIX): Redefine.
- 	* config/sh/linux.h: (SUBTARGET_CPP_SPEC): Remove -fpic / -fPIC cases.
- 	(SUBTARGET_CPP_ENDIAN_SPEC, CPP_DEFAULT_CPU_SPEC): Remove redefinition.
- 	(CPP_PREDEFINES, SUBTARGET_ASM_ENDIAN_SPEC): Likewise.
- 	(CC1_SPEC, CC1PLUS_SPEC, LINK_SPEC): Likewise.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	(TARGET_DEFAULT): Redefine.
- 	(SUBTARGET_LINK_EMUL_SUFFIX, SUBTARGET_LINK_SPEC): Likewise.
- 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Remove.
- 	(LINK_SPEC): Don't redefine.
- 	(LINK_DEFAULT_CPU_EMUL): Redefine.
- 	(TARGET_DEFAULT): Include TARGET_ENDIAN_DEFAULT.
- 	* sh.c (sh_asm_named_section): Don't declare / define.
- 	* t-linux (MULTILIB_OPTIONS): Rely on pre-set endianness option.
- 	* config.gcc (sh-*-elf* tm_file): Add dbxelf.h elfos.h svr4.h.
- 	(sh64-*-elf* tm_file): Likewise.
- 	(sh-*-rtemself* tm_file): Likewise.
- 	(sh-*-linux* tm_file): Likewise.  Add sh/little.h.
- 	(sh-*-linux* tmake_file): Add sh/t-le.
- 	(sh-*-rtems* tm_file): Add sh/coff.h
- 	(sh-*-* tm_file): Likewise.
- 
- Tue May 28 21:16:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (LEGITIMATE_PIC_OPERAND_P): Check for SYMBOL_REF before using
- 	CONSTANT_POOL_ADDRESS_P.
- 
- 	* coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Define.
- 
- 2002-05-28  David Edelsohn  <edelsohn@gnu.org>
- 	    Jeff Law <law@redhat.com>
- 
- 	* optabs.c (expand_binop): Fix nwords sign warnings.
- 	generate pseudo for add_optab.
- 
- 	* sched-deps.c (sched_analyze): Do not clear SCHED_GROUP_P.
- 	* haifa-sched.c (move_insn): Clear SCHED_GROUP_P after it is used.
- 
- 2002-05-28	Marc Espie <espie@openbsd.org>
- 
- 	* config/i386/openbsd.h (HAVE_GAS_MAX_SKIP_P2ALIGN):  Remove,
- 	inherited from gas.h.
- 	(ASM_QUAD):  Undef.  OpenBSD does not support it.
- 
- 2002-05-28  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* doc/install.texi (binaries): Change mingw binaries
- 	link to www.mingw.org.
- 
- 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.c (flow_loops_cfg_dump): Use bb->index, not i.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_compute_frame_layout): Do not add
- 	bottom alignment for leaf functions.
- 
- 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/pa/milli32.S, config/pa/lib1funcs.asm,
- 	config/sparc/sol2-g1.asm: Delete unused files.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* cfg.c (dump_flow_info): Print bb->index, not i, for block number.
- 
- 	* flow.c (calculate_global_regs_live): Rename call_used to
- 	invalidated_by_call.  Initialize from regs_invalidated_by_call
- 	instead of call_used_regs.
- 
- 	* varasm.c (default_binds_local_p): Check TREE_PUBLIC before
- 	DECL_EXTERNAL.
- 
- 2002-05-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h: Don't include real.h.
- 	Forward-declare struct realvaluetype.
- 	(struct tree_real_cst): Point to the REAL_VALUE_TYPE, do not
- 	contain it.
- 	(TREE_REAL_CST_PTR): New accessor.
- 	(TREE_REAL_CST): Update.
- 	* real.h: Include machmode.h.
- 	(realvaluetype): Make it struct realvaluetype, not a typedef.
- 	(build_real): Prototype here.
- 
- 	* tree.c: Include real.h.
- 	(build_real): Allocate the REAL_VALUE_TYPE as a separate
- 	object in GC memory, set TREE_REAL_CST_PTR to point to it.
- 	(build_real_from_int_cst): Use build_real.
- 	* ggc-common.c (ggc_mark_trees): Mark TREE_REAL_CST_PTR of a
- 	REAL_CST.
- 
- 	* builtins.c, c-common.c, c-lex.c, dwarf2out.c, expr.c,
- 	fold-const.c, print-tree.c, real.c: Include real.h.
- 	* Makefile.in: Update dependency lists.
- 
- 2002-05-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* basic-block.h (last_basic_block): Declare.
- 	(expunge_block_nocompact): Declaration removed.
- 	(compact_blocks): Declare.
- 	* cfg.c (last_basic_block): New variable.
- 	(expunge_block_nocompact): Removed.
- 	(expunge_block): Do not compact basic blocks.
- 	(compact_blocks): New.
- 	* cfganal.c (flow_call_edges_add): Use the fact that bb indices no
- 	longer change.
- 	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Set
- 	last_basic_block.
- 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Do not change
- 	real positions of blocks.
- 	(delete_unreachable_blocks): Simplified -- quadratic behavior now
- 	cannot occur.
- 	(cleanup_cfg): Compact blocks.
- 	* cfgrtl.c (create_basic_block): Insert basic blocks to the end of
- 	basic_block_info varray.
- 	(flow_delete_block): Comment update.
- 	(back_edge_of_syntactic_loop_p): Modify position check code.
- 	(verify_flow_info): Update checking.
- 	* flow.c (calculate_global_regs_live): Use FOR_EACH_BB.
- 	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
- 	(find_if_case_1, find_if_case_2, if_convert): Use the fact that bb
- 	indices no longer change.
- 	* lcm.c (optimize_mode_switching): Replace n_basic_blocks with
- 	last_basic_block.
- 	* predict.c (estimate_bb_frequencies): Remove unneccessary code.
- 	* profile.c (branch_prob): Compact blocks.
- 	* sched-rgn.c (find_rgns): Replace n_basic_blocks with
- 	last_basic_block.
- 
- 2002-05-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two anonymous patterns): New.
- 
- 2002-05-28  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (cpu): Tidy.
- 	(type): Delete 'return', add 'ialuX', 'flushw', 'iflush', and
- 	'trap'.
- 	(in_call_delay): Delete reference to 'return' type.
- 	(eligible_for_return_delay, in_return_delay, define_delay
- 	referencing those): Delete.
- 	(rest of file): Use new type attributes as appropriate.
- 	* config/sparc/sparc-protos.h (eligible_for_return_delay): Delete.
- 	* config/sparc/sparc.c (eligible_for_return_delay): Likewise.
- 	* config/sparc/ultra1_2.md (us1_single): New reservation.
- 	(us1_ialuX): Likewise.
- 	* config/sparc/ultra3.md (us3_single): Likewise.
- 	(us3_ialuX): Likewise.
- 	(us3_imul, us3_idiv): Tweak.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_in_small_data_p): Return false for
- 	STRING_CST.
- 
- 2002-05-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc: Obsolete mn10200.
- 
- 2002-05-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (interpret_number): Optimize for single-digit
- 	and less-than-half-precision cases.
- 	(num_trim, num_positive, num_div_op): Cast constants.
- 
- 2002-05-27  Bo Thorsen  <bo@suse.de>
- 
- 	* config/i386/libgcc-x86_64-glibc.ver: Copy this file from the
- 	3.1 branch. The file was made by Jakub Jelinek.
- 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Add i386
- 	support so multilib doesn't break. And don't define this at all
- 	when -Dinhibit_libc is used.
- 	(MULTILIB_DEFAULTS): Always set default to 64 bit compilation.
- 	* config/i386/t-linux64: Implement full multilib support. Patch
- 	originally done by Andreas Jaeger and Jakub Jelinek.
- 
- 2002-05-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-common.c: Add support for __attribute__((nothrow)) to specify
- 	that a function cannot throw an exception (using TREE_NOTHROW).
- 	(handle_nothrow_attribute): New function to process this attribute.
- 
- 	* doc/extend.texi: Document the new nothrow function attribute.
- 
- 2002-05-27  H.J. Lu  (hjl@gnu.org)
- 
- 	* cppexp.c (num_trim): Use 1UL instead of 1 for long int.
- 	(num_positive): Likewise.
- 	(num_div_op): Likewise.
- 
- 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init): Always use intmax_t.
- 
- 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init): Use intmax_t for now.
- 
- 2002-05-24  Andrew Haley  <aph@redhat.com>
- 
- 	* fold-const.c (fold): Don't convert (T)(x & c) into (T)x & (T)c
- 	if T is a boolean type.
- 
- 2002-05-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* basic-block.h (last_basic_block): Defined as synonym for
- 	n_basic_blocks.
- 	* cfganal.c (mark_dfs_back_edges, flow_reverse_top_sort_order_compute,
- 	flow_depth_first_order_compute, flow_preorder_transversal_compute,
- 	flow_dfs_compute_reverse_init): Replaced relevant occurences of
- 	n_basic_blocks with last_basic_block.
- 	* cfgbuild.c (make_edges): Likewise.
- 	* cfgloop.c (flow_loop_scan, flow_loops_find): Likewise.
- 	* cfgrtl.c (verify_flow_info, purge_all_dead_edges): Likewise.
- 	* combine.c (combine_instructions): Likewise.
- 	* df.c (df_alloc, df_analyse_1, df_analyse, iterative_dataflow_sbitmap,
- 	iterative_dataflow_bitmap): Likewise.
- 	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
- 	calc_idoms, idoms_to_doms): Likewise.
- 	* flow.c (update_life_info_in_dirty_blocks, free_basic_block_vars):
- 	Likewise.
- 	* gcse.c (gcse_main, alloc_gcse_mem, compute_local_properties,
- 	compute_hash_table, expr_reaches_here_p, one_classic_gcse_pass,
- 	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p,
- 	one_pre_gcse_pass, compute_transpout, delete_null_pointer_checks_1,
- 	delete_null_pointer_checks, compute_code_hoist_vbeinout,
- 	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
- 	compute_store_table, build_store_vectors): Likewise.
- 	* haifa-sched.c (sched_init): Likewise.
- 	* ifcvt.c (if_convert): Likewise.
- 	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
- 	pre_edge_lcm, compute_available, compute_nearerout,
- 	compute_rev_insert_delete, pre_edge_rev_lcm, optimize_mode_switching):
- 	Likewise.
- 	* predict.c (estimate_probability, process_note_prediction,
- 	note_prediction_to_br_prob): Likewise.
- 	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): Likewise.
- 	* recog.c (split_all_insns, peephole2_optimize): Likewise.
- 	* regrename.c (copyprop_hardreg_forward): Likewise.
- 	* resource.c (init_resource_info): Likewise.
- 	* sched-rgn.c (build_control_flow, find_rgns, compute_trg_info,
- 	init_regions, schedule_insns): Likewise.
- 	* ssa-ccp.c (ssa_const_prop): Likewise.
- 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
- 	* ssa.c (compute_dominance_frontiers,
- 	compute_iterated_dominance_frontiers, convert_to_ssa): Likewise.
- 
- 	* df.c (df_refs_unlink): Fix FOR_EACH_BB usage (in #if 0'ed code)
- 	* gcse.c (alloc_rd_mem, alloc_avail_expr_mem): Use n_blocks for vector
- 	sizes consistently.
- 
- Mon May 27 14:28:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (can_hoist_p, hoist_insn_after, hoist_insn_to_edge):
- 	new.
- 	* rtlanal.c (hoist_test_store, can_hoist_insn_p, hoist_update_store,
- 	hoist_insn_after, hoist_insn_to_edge): New.
- 
- Mon May 27 12:14:02 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (PEOP_SCAN_DEAD_STORES): New.
- 	(PROP_FINAL): Include.
- 	* flow.c (life_analysis, update_life_info,
- 	init_propagate_block_info, mark_set_1, mark_used_rgs):
- 	Support SCAN_DEAD_STORE.
- 
- 2002-05-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init): Set CPP arithmetic precision.
- 	* cppexp.c (cpp_num_part): Move typedef ...
- 	* cpphash.h: ...here; make unsigned HOST_WIDE_INT.
- 	* cppinit.c (cpp_create_reader): Default to host long arithmetic.
- 	(sanity_checks): Update.
- 
- 2002-05-26  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
- 	(mkheaders): New rule.
- 	(install-mkheaders): New rule.
- 	* configure.in (all_outputs): Add mkheaders.
- 	* configure: Regenerate.
- 	* mkheaders.in: New file.
- 
- 2002-05-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
- 
- 2002-05-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* cfg.c (dump_flow_info): Remove extra argument to fprintf.
- 
- 2002-05-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (possible_sum_sign, integer_overflow, left_shift,
- 	right_shift): Remove.
- 	(cpp_num, cpp_num_part, PART_PRECISION, HALF_MASK, LOW_PART,
- 	HIGH_PART): New.
- 	(struct op): Use cpp_num.
- 	(num_zerop, num_eq, num_positive, num_greater_freq, num_trim,
- 	num_part_mul, num_unary_op, num_binary_op, num_negate,
- 	num_bitwise_op, num_inequality_op, num_equality_op, num_mul,
- 	num_div_op, num_lshift, num_rshift, append_digit): New.
- 	(interpret_number, parse_defined, eval_token, reduce): Update
- 	for two-integer arithmetic.
- 	(binary_handler): New typedef.
- 	(optab): Update.
- 	(COMPARE, EQUALITY, BITWISE, MINMAX, UNARY, SHIFT): Delete.
- 	(_cpp_parse_expr, reduce): Update to handle two-integers.
- 	* cpplib.c (_cpp_test_assertion): Back up on CPP_EOF.
- 
- 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr-protos.h (avr_out_sbxx_branch): Declare.
- 	* config/avr/avr.c (jump_over_one_insn_p): Take length of the
- 	branch insn into account, do not assume 1.
- 	(avr_out_sbxx_branch): New function.  Optimize cases of skipping
- 	over single word insn.  Handle upper half of I/O space too.
- 	* config/avr/avr.md (*sbrx_branch): Use it.
- 	(*sbrx_and_branchhi, *sbrx_and_branchsi): Likewise.
- 	(*sbix_branch, *sbix_branch_bit7): Likewise.
- 	(*sbix_branch_tmp, *sbix_branch_tmp_bit7): New.
- 	Use RTL peepholes to optimize register operand sign tests.
- 
- 2002-05-26  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_asm_only_p): New variable.
- 	(avr_override_options): Set it here if AVR1.
- 	(asm_file_start): Test it here, report an error if set.
- 
- 2002-05-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Fix formatting.
- 	* attribs.c: Likewise.
- 	* bb-reorder.c: Likewise.
- 	* bitmap.c: Likewise.
- 	* bitmap.h: Likewise.
- 	* builtins.c: Likewise.
- 
- Sun May 26 14:00:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload.c (find_valid_class): Accept new argument DEST,
- 	choose class accordingly.
- 	(push_reload): Update callers.
- 
- 2002-05-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* combine.c (combine_instructions): Do not indent #if for
- 	traditional C.
- 
- 2002-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* c-pragma.c (apply_pragma_weak): Convert value identifier to
- 	string for decl_attributes.
- 	(handle_pragma_weak): Call assemble_alias if we're modifying
- 	an existing decl.
- 
- 2002-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6788
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): New implementation
- 	using rtl instead of fprintf.
- 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Use it.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 2002-05-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (C_COMMON_H): Fix.
- 	Update other targets.
- 	* c-common.c: Don't include c-lex.h.
- 	(builtin_define_with_value): Make static and prototype.
- 	(builtin_define_std): Move from c-lex.h.
- 	* c-common.h (init_c_lex): Move from c-lex.h.
- 	* c-decl.c: Don't include c-lex.h.
- 	(make_pointer_declarator): Move from c-parse.in.
- 	* c-lex.c: Don't include c-lex.h.
- 	* c-lex.h: Remove.
- 	* c-parse.in: Don't include c-lex.h; include c-pragma.h.
- 	(make_pointer_declarator): Move to c-decl.c.
- 	* c-pragma.c: Don't include c-lex.h.
- 	* c-pragma.h (yydebug, YYDEBUG, parse_in, c_lex): Move from c-lex.h.
- 	* c-tree.h (make_pointer_declarator): New.
- doc:
- 	* passes.texi, tm.texi: Update.
- objc:
- 	* Make-lang.in: Update and correct.
- 	* objc-act.c: Don't include c-lex.h or cpplib.h.
- treelang:
- 	* treetree.c: Don't include c-lex.h.
- config:
- 	* darwin-c.c: Don't include c-lex.h.
- 	* c4x/c4x-c.c: Don't include c-lex.h.
- 	* c4x/t-c4x: Update.
- 	* i370/i370-c.c: Don't include c-lex.h.
- 	* i370/t-i370: Update.
- 	* i960/i960-c.c: Don't include c-lex.h.
- 	* i960/i960.c: Don't include cpplib.h, c-lex.h or c-pragma.h.
- 	* i960/t-960bare: Update.
- 	* i960/t-vxworks: Update.
- 	* rs6000/rs6000-c.c: Don't include c-lex.h; include c-pragma.h.
- 	* rs6000/t-darwin: Update.
- 	* rs6000/t-rs6000-c-rule: Update.
- 	* v850/v850-c.c: Don't include c-lex.h.
- 	* v850/v850.c: Don't include c-lex.h or cpplib.h.
- 
- 
- 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tree.def: Fix typos.
- 	* doc/install.texi: Likewise.
- 
- 2002-05-25  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_TLS): Add ia64 test.
- 	* configure: Rebuild.
- 	* config/ia64/ia64.c (ia64_tls_size_string, ia64_tls_size): New.
- 	(override_options): Set it.
- 	(TARGET_HAVE_TLS): New.
- 	(sdata_symbolic_operand): Look for 's'.
- 	(tls_symbolic_operand): New.
- 	(ia64_expand_load_address): Abort for tls symbols.
- 	(gen_tls_get_addr): New.
- 	(gen_thread_pointer): New.
- 	(ia64_expand_move): Split out from movdi.  Handle tls symbols.
- 	(rtx_needs_barrier): Add new unspecs.
- 	(ia64_encode_section_info): Handle tls symbols.
- 	(ia64_strip_name_encoding): Strip two encoding chars.
- 	* config/ia64/ia64.h (ia64_tls_size, ia64_tls_size_string): New.
- 	(TARGET_TLS14, TARGET_TLS22, TARGET_TLS64): New.
- 	(TARGET_OPTIONS): Add tls-size.
- 	(ENCODE_SECTION_INFO_CHAR): Rename from SDATA_NAME_FLAG_CHAR.
- 	* config/ia64/ia64.md (UNSPEC_LTOFF_DTPMOD, UNSPEC_LTOFF_DTPREL,
- 	UNSPEC_DTPREL, UNSPEC_LTOFF_TPREL, UNSPEC_TPREL, UNSPEC_LD_BASE): New.
- 	(movqi, movhi, movsi, movdi, movti): Use ia64_expand_move.
- 	(movsf, movdf): Likewise.
- 	(movdi_symbolic): Use match_scratch.  Don't split if we won't
- 	have a scratch availiable.
- 	(load_ltoff_dtpmod, load_dtprel, load_dtprel64, load_dtprel22,
- 	add_dtprel, add_dtprel14, add_dtprel22, load_ltoff_tprel, load_tprel,
- 	load_tprel64, load_tprel22, add_tprel, add_tprel14, add_tprel22): New.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use
- 	sdata_symbolic_operand.
- 	(ASM_OUTPUT_LABELREF): Strip two characters.
- 
- 2002-05-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_set): Remove an unnecessary subreg.
- 
- 2002-05-25  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_handle_progmem_attribute): Handle TYPE_DECL.
- 
- 	* config/avr/avr.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_BSS): New.
- 
- 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.c (output_clean_symbol_name): Fix another thinko.  Gosh.
- 
- 2002-05-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_gen_relational): Simplify the RTX
- 	(cond (compare x y) 0) into the equivalent (cond x y).
- 
- 2002-05-25  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* toplev.c (output_clean_symbol_name): Use xstrdup.  Fix thinko.
- 
- 2002-05-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Remove all stanzas for previously obsoleted
- 	systems.  Where necessary, add explicit error stanzas to
- 	prevent removed systems from being misidentified as something
- 	else.  Begin a fresh obsoletions list, with the systems that
- 	were reprieved last round.
- 	* doc/install.texi: Remove all mention of dead targets.
- 	* fixinc/mkfixinc.sh: Likewise.
- 
- 	* config/arm/arm.h: Bit 31 of target_flags is no longer
- 	reserved.
- 
- 	* config/1750a/1750a-protos.h, config/1750a/1750a.c,
- 	config/1750a/1750a.h, config/1750a/1750a.md, config/1750a/ms1750.inc,
- 	config/a29k/a29k-protos.h, config/a29k/a29k.c, config/a29k/a29k.h,
- 	config/a29k/a29k.md, config/a29k/rtems.h, config/a29k/t-a29kbare,
- 	config/a29k/t-vx29k, config/a29k/unix.h, config/a29k/vx29k.h,
- 	config/alpha/osf12.h, config/alpha/osf2or3.h,
- 	config/arm/arm-wince-pe.h, config/arm/arm.h, config/arm/riscix.h,
- 	config/arm/riscix1-1.h, config/arm/rix-gas.h, config/arm/t-riscix,
- 	config/clipper/clipper-protos.h, config/clipper/clipper.c,
- 	config/clipper/clipper.h, config/clipper/clipper.md,
- 	config/clipper/clix.h, config/convex/convex-protos.h,
- 	config/convex/convex.c, config/convex/convex.h,
- 	config/convex/convex.md, config/convex/fixinc.convex,
- 	config/convex/proto.h, config/elxsi/elxsi-protos.h,
- 	config/elxsi/elxsi.c, config/elxsi/elxsi.h, config/elxsi/elxsi.md,
- 	config/i386/386bsd.h, config/i386/aix386.h, config/i386/aix386ng.h,
- 	config/i386/bsd386.h, config/i386/dgux.h, config/i386/djgpp-rtems.h,
- 	config/i386/isc.h, config/i386/iscdbx.h, config/i386/linux-oldld.h,
- 	config/i386/next.h, config/i386/osf1-ci.asm, config/i386/osf1-cn.asm,
- 	config/i386/osf1elf.h, config/i386/osf1elfgdb.h, config/i386/osfelf.h,
- 	config/i386/osfrose.h, config/i386/rtems.h, config/i386/seq-gas.h,
- 	config/i386/seq-sysv3.h, config/i386/seq2-sysv3.h,
- 	config/i386/sequent.h, config/i386/sun.h, config/i386/sun386.h,
- 	config/i386/t-dgux, config/i386/t-next, config/i386/t-osf,
- 	config/i386/t-osf1elf, config/i860/bsd-gas.h, config/i860/bsd.h,
- 	config/i860/fx2800.h, config/i860/i860-protos.h, config/i860/i860.c,
- 	config/i860/i860.h, config/i860/i860.md, config/i860/mach.h,
- 	config/i860/paragon.h, config/i860/sysv3.h, config/i860/sysv4.h,
- 	config/i860/t-fx2800, config/i860/varargs.asm, config/m68k/a-ux.h,
- 	config/m68k/altos3068.h, config/m68k/apollo68.h,
- 	config/m68k/aux-crt1.c, config/m68k/aux-crt2.asm,
- 	config/m68k/aux-crtn.asm, config/m68k/aux-exit.c,
- 	config/m68k/aux-low.gld, config/m68k/aux-mcount.c,
- 	config/m68k/auxas.h, config/m68k/auxgas.h, config/m68k/auxgld.h,
- 	config/m68k/auxld.h, config/m68k/ctix.h, config/m68k/dpx2.h,
- 	config/m68k/dpx2.ifile, config/m68k/dpx2cdbx.h, config/m68k/dpx2g.h,
- 	config/m68k/isi-nfp.h, config/m68k/isi.h, config/m68k/lynx-ng.h,
- 	config/m68k/lynx.h, config/m68k/math-3300.h, config/m68k/news.h,
- 	config/m68k/news3.h, config/m68k/news3gas.h, config/m68k/newsgas.h,
- 	config/m68k/next.h, config/m68k/next21.h, config/m68k/rtems.h,
- 	config/m68k/t-aux, config/m68k/t-lynx, config/m68k/t-next,
- 	config/m68k/x-next, config/m88k/dgux.h, config/m88k/dgux.ld,
- 	config/m88k/dguxbcs.h, config/m88k/dolph.h, config/m88k/dolphin.ld,
- 	config/m88k/luna.h, config/m88k/m88k-coff.h, config/m88k/sysv3.h,
- 	config/m88k/t-bug, config/m88k/t-dgux, config/m88k/t-dgux-gas,
- 	config/m88k/t-dguxbcs, config/m88k/t-dolph, config/m88k/t-m88k-gas,
- 	config/m88k/t-tekXD88, config/m88k/tekXD88.h, config/m88k/tekXD88.ld,
- 	config/mips/bsd-4.h, config/mips/bsd-5.h, config/mips/dec-bsd.h,
- 	config/mips/dec-osf1.h, config/mips/elflorion.h,
- 	config/mips/iris4loser.h, config/mips/mips-5.h, config/mips/news4.h,
- 	config/mips/news5.h, config/mips/nws3250v4.h, config/mips/osfrose.h,
- 	config/mips/svr3-4.h, config/mips/svr3-5.h, config/mips/svr4-4.h,
- 	config/mips/svr4-5.h, config/mips/svr4-t.h, config/mips/t-bsd,
- 	config/mips/t-bsd-gas, config/mips/t-svr3, config/mips/t-svr3-gas,
- 	config/mips/t-svr4, config/mips/t-svr4-gas, config/mips/t-ultrix,
- 	config/mips/ultrix.h, config/nextstep-protos.h, config/nextstep.c,
- 	config/nextstep.h, config/nextstep21.h, config/ns32k/encore.h,
- 	config/ns32k/merlin.h, config/ns32k/pc532-mach.h,
- 	config/ns32k/pc532-min.h, config/ns32k/pc532.h,
- 	config/ns32k/sequent.h, config/ns32k/tek6000.h,
- 	config/ns32k/tek6100.h, config/ns32k/tek6200.h, config/pj/lib1funcs.S,
- 	config/pj/linux.h, config/pj/pj-protos.h, config/pj/pj.c,
- 	config/pj/pj.h, config/pj/pj.md, config/pj/pjl.h, config/pj/t-pj,
- 	config/sparc/rtems.h, config/we32k/we32k-protos.h,
- 	config/we32k/we32k.c, config/we32k/we32k.h, config/we32k/we32k.md:
- 	Delete file.
- 
- 2002-05-24  Richard Henderson  <rth@redhat.com>
- 
- 	* flags.h (TLS_MODEL_GLOBAL_DYNAMIC): Set to 1.
- 	* toplev.c (flag_tls_default) Set to TLS_MODEL_GLOBAL_DYNAMIC.
- 	* config/i386/i386.c (tls_model_chars): Add leading space.
- 	(tls_symbolic_operand): Don't bias by 1.
- 	(legitimize_address): Don't unbias by 1.
- 
- 2002-05-24  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* lcm.c (optimize_mode_switching): Change bb used as indices
- 	to bb->index.
- 
- 2002-05-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_reorg): Use update_life_info instead
- 	of update_life_info_in_dirty_blocks.
- 
- 2002-05-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR other/6782
- 	* final.c (get_mem_expr_from_op): Return 0 if op is NULL.
- 
- 2002-05-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/6780
- 	* cppmacro.c (enter_macro_context): Clear state.angled_headers.
- 
- 2002-05-24  Jim Blandy  <jimb@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Don't forget to emit a final
- 	entry with a type code of zero, marking the end of the compilation
- 	unit's macro info.
- 
- 2002-05-24  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (asm_output_bss): Always output one byte.
- 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
- 
- 2002-05-24  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* tree.c (decl_type_context): Return NULL_TREE if decl's context is a
- 	namespace.
- 
- 2002-05-24  Andreas Jaeger  <aj@suse.de>
- 
- 	* ggc-page.c (alloc_page): Cast variables of type size_t to
- 	unsigned long, adjust printf format string.
- 	(ggc_alloc): Likewise.
- 	(ggc_print_statistics): Likewise.
- 	(ggc_print_statistics): Correct printf format string for SCALE to
- 	use unsigned long.
- 
- 2002-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/mingw32.h (CPP_SPEC): Remove -remap.
- 
- 2002-05-23  Gabriel Dos Reis  <gdr@codesourcery.com>
- 	    Zack Weinberg     <zack@codesourcery.com>
- 
- 	* config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Properly output
- 	quoted strings.
- 	* dwarf2out.c (lookup_filename): Properly quote filename in .file
- 	directive in assembly file.
- 	* config/m68k/dpx2.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
- 	* config/m88k/m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Likewise.
- 	* config/pj/pj.h (ASM_FILE_START): Likewise.
- 	* config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
- 	* config/avr/avr.c (asm_file_end): Likewise.
- 	* toplev.c (output_quoted_string): Handle possibly signed plain
- 	char.
- 	* toplev.h (output_clean_symbol_name): Declare
- 	* toplev.c (output_clean_symbol_name): Define.
- 	* config/alpha/alpha.c (unicosmk_output_module_name): Use it.
- 	* config/1750a/1750a.h (ASM_FILE_START): Likewise.
- 
- 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (output_toc): Mask longs to 32 bits.
- 
- 2002-05-23  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
- 	of size of unsigned.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_TLS): New test.
- 	* config.in, configure: Rebuild.
- 	* config/i386/i386.c (TARGET_HAVE_TLS): Set if HAVE_AS_TLS.
- 	(ix86_tls_dialect_string, ix86_tls_dialect): New.
- 	(override_options): Set it.
- 	(tls_model_chars, tls_symbolic_operand): New.
- 	(tls_symbolic_operand_1, global_dynamic_symbolic_operand): New.
- 	(local_dynamic_symbolic_operand, initial_exec_symbolic_operand): New.
- 	(local_exec_symbolic_operand): New.
- 	(get_pic_label_name): Merge into output_set_got.
- 	(ix86_asm_file_end): Emit pic_label_name if defined.
- 	(legitimate_constant_p, constant_address_p): New.
- 	(legitimate_pic_operand_p): New.
- 	(legitimate_pic_address_disp_p): Handle GOTTPOFF, NTPOFF, DTPOFF.
- 	(legitimate_address_p): Likewise.
- 	(ix86_encode_section_info): Rename from i386_; handle tls decls.
- 	(ix86_strip_name_encoding): New.
- 	(get_thread_pointer): New.
- 	(legitimize_address): Handle tls symbols.
- 	(output_pic_addr_const): Handle GOTTPOFF, TPOFF, NTPOFF, DTPOFF.
- 	Remove UNSPEC_PLT.
- 	(struct machine_function): Add some_ld_name.
- 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Set it.
- 	(print_operand) [&]: Use it.  Handle UNSPEC_TP.
- 	(output_addr_const_extra): New.
- 	(maybe_get_pool_constant): New.
- 	(ix86_split_to_parts): Use it.
- 	(ix86_expand_move): Handle tls symbols.
- 	(ix86_tls_get_addr): New.
- 	* config/i386/i386.h (TARGET_GNU_TLS, TARGET_SUN_TLS): New.
- 	(TARGET_OPTIONS): Add tls-dialect.
- 	(CONSTANT_ADDRESS_P): Use new out-of-line function.
- 	(LEGITIMATE_CONSTANT_P): Likewise.
- 	(LEGITIMATE_PIC_OPERAND_P): Likewise.
- 	(TARGET_STRIP_NAME_ENCODING): New.
- 	(ASM_OUTPUT_LABELREF): New.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
- 	(OUTPUT_ADDR_CONST_EXTRA): New.
- 	(PREDICATE_CODES): Update.
- 	(ix86_tls_dialect, ix86_tls_dialect_string): New.
- 	* config/i386/i386.md: Regroup and renumber unspec constants.
- 	(tls_global_dynamic_gnu, tls_global_dynamic_sun): New.
- 	(tls_local_dynamic_base_gnu, tls_local_dynamic_base_sun): New.
- 	(tls_global_dynamic, tls_local_dynamic_base): New.
- 	(tls_local_dynamic_once): New.
- 	* config/i386/i386-protos.h: Update.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* genemit.c (gen_insn): Print file:lineno comment before function.
- 	(main): likewise.
- 	* gensupport.c (struct queue_elem): Add filename member.
- 	(queue_pattern): Initialize it; update all callers.
- 	(process_include): Don't free filename.
- 	(read_md_rtx): Set read_rtx_filename.
- 
- 2002-05-23  Hans Boehm  <Hans_Boehm@hp.com>
- 
- 	* config/ia64/linux.h (IA64_GATE_AREA_END): Adjust for 64K pages.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (output_set_got): Fix typo in pic no-deep case.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (C++98 Thread-Local Edits): Update with
- 	commentary from Mark.
- 
- 2002-05-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1):
- 	Use FOR_EACH_BB macros to iterate over basic block chain.
- 	* cfg.c (clear_edges, clear_bb_flags, dump_flow_info,
- 	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges):
- 	Likewise.
- 	* cfganal.c (set_edge_can_fallthru_flag, flow_call_edges_add,
- 	find_unreachable_blocks, create_edge_list, verify_edge_list,
- 	remove_fake_edges, add_noreturn_fake_exit_edges,
- 	flow_preorder_transversal_compute, flow_dfs_compute_reverse_execute):
- 	Likewise.
- 	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
- 	find_sub_basic_blocks): Likewise.
- 	* cfgcleanup.c (try_optimize_cfg, delete_unreachable_blocks):
- 	Likewise.
- 	* cfglayout.c (record_effective_endpoints, cleanup_unconditional_jumps):
- 	Likewise.
- 	* cfgloop.c (flow_loops_cfg_dump, flow_loops_find):
- 	Likewise.
- 	* cfgrtl.c (compute_bb_for_insn, tidy_fallthru_edges,
- 	commit_edge_insertions, commit_edge_insertions_watch_calls,
- 	print_rtl_with_bb, verify_flow_info, purge_all_dead_edges): Likewise.
- 	* combine.c (combine_instructions, reg_dead_at_p): Likewise.
- 	* conflict.c (conflict_graph_compute): Likewise.
- 	* df.c (df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
- 	df_modified_p, df_refs_unlink, df_dump): Likewise.
- 	* dominance.c (calc_dfs_tree, calculate_dominance_info): Likewise.
- 	* final.c (compute_alignments): Likewise.
- 	* flow.c (update_life_info, update_life_info_in_dirty_blocks,
- 	delete_noop_moves, calculate_global_regs_live, allocate_bb_life_data,
- 	count_or_remove_death_notes): Likewise.
- 	* gcse.c (oprs_unchanged_p, record_last_reg_set_info,
- 	compute_hash_table, compute_kill_rd, compute_rd, compute_ae_kill,
- 	classic_gcse, compute_transp, cprop, compute_pre_data,
- 	compute_transpout, invalidate_nonnull_info,
- 	delete_null_pointer_checks_1, delete_null_pointer_checks,
- 	compute_code_hoist_vbeinout, hoist_code, compute_ld_motion_mems,
- 	compute_store_table, build_store_vectors, store_motion): Likewise.
- 	* global.c (global_conflicts, mark_elimination): Likewise.
- 	* graph.c (print_rtl_graph_with_bb): Likewise.
- 	* haifa-sched.c (sched_init): Likewise.
- 	* ifcvt.c (if_convert): Likewise.
- 	* lcm.c (compute_antinout_edge, compute_laterin, compute_insert_delete,
- 	compute_available, compute_nearerout, compute_rev_insert_delete,
- 	optimize_mode_switching): Likewise.
- 	* local-alloc.c (local_alloc, update_equiv_regs): Likewise.
- 	* predict.c (estimate_probability, note_prediction_to_br_prob,
- 	propagate_freq, counts_to_freqs, expensive_function_p,
- 	estimate_bb_frequencies): Likewise.
- 	* profile.c (instrument_edges, get_exec_counts,
- 	compute_branch_probabilities, compute_checksum, branch_prob,
- 	find_spanning_tree): Likewise.
- 	* recog.c (split_all_insns, peephole2_optimize): Likewise.
- 	* reg-stack.c (reg_to_stack, convert_regs_entry, convert_regs):
- 	Likewise.
- 	* regclass.c (scan_one_insn, regclass): Likewise.
- 	* regmove.c (mark_flags_life_zones, regmove_optimize,
- 	record_stack_memrefs): Likewise.
- 	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Likewise.
- 	* reload1.c (reload, reload_combine, fixup_abnormal_edges): Likewise.
- 	* resource.c (find_basic_block): Likewise.
- 	* sched-ebb.c (schedule_ebbs): Likewise.
- 	* sched-rgn.c (is_cfg_nonregular, build_control_flow,
- 	find_single_block_region, find_rgns, schedule_insns)
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call)
- 	* ssa-ccp.c (optimize_unexecutable_edges,
- 	ssa_ccp_df_delete_unreachable_insns): Likewise.
- 	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.
- 	* ssa.c (find_evaluations, compute_dominance_frontiers_1,
- 	rename_block, convert_to_ssa, compute_conservative_reg_partition,
- 	compute_coalesced_reg_partition, rename_equivalent_regs,
- 	convert_from_ssa): Likewise.
- 	* config/ia64/ia64.c (emit_predicate_relation_info, process_epilogue,
- 	process_for_unwind_directive): Likewise.
- 
- 	* df.c (FOR_ALL_BBS): Removed.
- 	* gcse.c (struct null_pointer_info): Type of current_block field
- 	changed.
- 	(struct reg_avail_info): Type of last_bb field changed.
- 	* config/ia64/ia64.c (block_num): Removed.
- 	(need_copy_state): Type changed.
- 	(last_block): New.
- 
- 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (mark_named_operators): Split out from init_builtins.
- 	(cpp_finish_options): Call it from here instead.
- 
- 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* builtin-attrs.def: Update copyright years.
- 	(ATTR_NONNULL): New attribute identifier.
- 	(ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): New
- 	attribute tree lists.
- 	(DEF_FORMAT_ATTRIBUTE): Chain a nonnull attribute for the
- 	format operand.
- 	(ATTR_FORMAT_ARG_1, ATTR_FORMAT_ARG_2): Use...
- 	(DEF_FORMAT_ARG_ATTRIBUTE): ...this to generate format_arg
- 	attribute lists.  Chain the appropriate nonnull attribute.
- 	* c-format.c (check_format_arg): Remove null format string
- 	warning.
- 	* testsuite/gcc.dg/format/null-1.c: New test.
- 
- 2002-05-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in (ADAC): Define.
- 	(SYSLIBS): Define.
- 	(.SUFFIXES): Move before language makefile fragments.
- 	(STAGE2_FLAGS_TO_PASS): Use stage CC as ADAC.
- 
- 2002-05-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* varasm.c (make_decl_rtl): Don't allow weak variables to be
- 	placed in common.
- 
- Thu May 23 19:43:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfg.c (dump_flow_info): Print results of
- 	maybe_hot/probably_never_executed predicates.
- 	* toplev.c (open_dump_file): Print function frequency.
- 
- 2002-05-23  David S. Miller  <davem@redhat.com>
- 
- 	* cse.c (approx_reg_cost_1, approx_reg_cost): Recode to not use
- 	regsets.
- 
- 2002-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* c-common.c (warn_nonnull): Declare.
- 	(c_common_attribute_table): Add "nonnull" attribute.
- 	(handle_nonnull_attribute, check_function_nonnull, nonnull_check_p,
- 	check_nonnull_arg, get_nonnull_operand, check_function_arguments,
- 	check_function_arguments_recurse): New functions.
- 	* c-common.h (warn_nonnull): Declare extern.
- 	(check_function_arguments, check_function_arguments_recurse): New
- 	prototypes.
- 	* c-decl.c (c_decode_option): Add -Wnonnull option.
- 	* c-format.c (set_Wformat): Set warn_nonnull if enabling
- 	format checking.
- 	(format_check_context): New structure.
- 	(check_format_info_recurse): Remove recursion and rename to...
- 	(check_format_arg): ...this.  Update comment.
- 	(check_format_info): Use check_function_arguments_recurse.
- 	* c-typeck.c (build_function_call): Call check_function_arguments
- 	instead of check_function_format.
- 	* doc/extend.texi: Document "nonnull" attribute.
- 	* doc/invoke.texi: Docuemnt -Wnonnull option.
- 	* testsuite/gcc.dg/nonnull-1.c: New test.
- 	* testsuite/gcc.dg/nonnull-2.c: New test.
- 
- 2002-05-23  David S. Miller  <davem@redhat.com>
- 
- 	* basic-block.h (CLEANUP_NO_INSN_DEL): Define it.
- 	* cfgcleanup.c (cleanup_cfg): If it is set do not
- 	attempt to delete trivially dead insns.
- 	* except.c (finish_eh_generation): Pass it to cleanup_cfg.
- 	* toplev.c (rest_of_compilation): Document non-trivial aspect
- 	the RTL before optimize_save_area_alloca is run.
- 
- 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (indent_level): Remove.
- 	(cb_file_change, c_lex): Remove indent level handling.
- 	* c-lex.h (indent_level): Remove.
- 	* input.h (struct file_stack): Remove indent_level.
- 	* toplev.c (push_srcloc): Remove indent_level handling.
- 
- 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6753
- 	* config/i386/i386.md (sse_movdfcc, sse_movdfcc_eq): Use Y instead
- 	of x in constraints for clarity.
- 	(sse_mov?fcc split): abort if op2 == op3.
- 	(sse_movsfcc_const0_1, sse_movsfcc_const0_2, sse_movsfcc_const0_3,
- 	sse_movsfcc_const0_4): Add earlyclobber.
- 	(sse_movdfcc_const0_1, sse_movdfcc_const0_2, sse_movdfcc_const0_3,
- 	sse_movdfcc_const0_4): Likewise.  Use DFmode, not SFmode.
- 	Use Y instead of x in constraints.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (C99 Thread-Local Edits): New subsection.
- 	(C++98 Thread-Local Edits): New subsection.
- 
- 	* config/i386/i386.c, config/i386/i386.h: Tidy comments and whitespace.
- 	(ix86_arch): Set type to enum processor_type.
- 
- 	* config/i386/i386.md (movsi_1, movdi_1_rex64): Use
- 	LEGITIMATE_PIC_OPERAND_P not SYMBOLIC_CONST.
- 
- 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: Fix as version test for binutils 2.12.1 releases
- 	(without dates).
- 	* configure: Rebuilt.
- 
- 2002-05-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (get_pic_label_name): New.
- 	(load_pic_register): Remove.
- 	(output_set_got): New.
- 	(ix86_expand_prologue): Use gen_set_got; mark insn REG_MAYBE_DEAD.
- 	* config/i386/i386.md (UNSPEC_SET_GOT): New.
- 	(UNSPECV_PROLOGUE_SET_GOT, UNSPECV_PROLOGUE_GET_PC): Remove.
- 	(prologue_set_got, prologue_get_pc): Remove.
- 	(set_got, set_got_nopic, set_got_deep, set_got_nodeep): New.
- 	(builtin_setjmp_receiver): Use gen_set_got.
- 	* config/i386/i386-protos.h: Update.
- 
- Thu May 23 09:22:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (hash_expr): Do not use alias set for hashing.
- 
- 2002-05-22  Kevin Buettner  <kevinb@redhat.com>
- 
- 	* dbxout.c (dbxout_class_name_qualifiers): New function.
- 	(dbxout_symbol): Output class/struct qualifiers for a .stabs entry.
- 
- 2002-05-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (_cpp_begin_message): No special casing
- 	of CPP_FATAL_LIMIT.
- 	* cppinit.c (sanity_checks): s/DL_FATAL/DL_ICE/.
- 	(output_deps, cpp_handle_option, cpp_post_options): Use DL_ERROR.
- 	* cpplib.c (do_include_common): Use DL_ERROR.
- 	* cpplib.h (CPP_FATAL_LIMIT, CPP_FATAL_ERRORS, DL_FATAL): Remove.
- 	(DL_ICE): Renumber.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_call): New function, extracted
- 	from md call patterns.  Add pic_offset_table_rtx to
- 	CALL_INSN_FUNCTION_USAGE when needed.
- 	* config/i386/i386.md (call_pop, call): Use ix86_expand_call.
- 	(call_value_pop, call_value, untyped_call): Likewise.
- 	(call_exp, call_value_exp): Remove.
- 	* config/i386/i386-protos.h: Update.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (default_section_type_flags): Check for VAR_DECL
- 	before using DECL_THREAD_LOCAL.
- 
- 2002-05-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix43.h (LINK_SPEC): Add PE initializer.
- 	(STARTFILE_SPEC): Delete PE crt0.o.
- 	* config/rs6000/aix51.h: Same.
- 	* config/rs6000/rs6000.c: Use TARGET_XCOFF, not OBJECT_FORMAT_COFF.
- 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Append [DS] to
- 	function descriptor symbol.  Use RS6000_OUTPUT_BASENAME.
- 	(ASM_OUTPUT_DEF_FROM_DECLS): Use RS6000_OUTPUT_BASENAME.
- 	* config/rs6000/xcoff.h (ASM_OUTPUT_DEF): Define.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (default_section_type_flags): Handle tls data and
- 	default sections.
- 	(default_unique_section): Handle tls sections.
- 
- 2002-05-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* configure.in (CROSS): Define NATIVE_CROSS.
- 	* configure: Regenerate.
- 	* gcc.c (STARTFILE_PREFIX_SPEC): Define.
- 	(startfile_prefix_spec): New var.
- 	(static_specs): Add startfile_prefix_spec.
- 	(do_spec_2): Split out from..
- 	(do_spec): ..here.
- 	(main): Process startfile_prefix_spec.
- 	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC) Change name of
- 	dynamic linker.
- 	(STARTFILE_PREFIX_SPEC): Define.
- 	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Rewrite without
- 	absolute paths.
- 
- 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cpperror.c: Fix formatting.
- 	* cppexp.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpphash.c: Likewise.
- 	* cpphash.h: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cppmacro.c: Likewise.
- 	* cppmain.c: Likewise.
- 	* cppspec.c: Likewise.
- 
- 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (force_to_mode): Use gen_int_mode.
- 	Don't clear CONST_INT bits outside of mode.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* fixinc/inclhack.def (thread_keyword): Match __thread as last arg.
- 	* fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
- 
- 2002-05-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6643
- 	* emit-rtl.c (widen_memory_access): Only call compare_tree_int
- 	if DECL_SIZE_UNIT is INTEGER_CST.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (life_analysis): Delete broken reg_label check.
- 
- 2002-05-22  Richard Henderson  <rth@redhat.com>
- 
- 	* fixinc/inclhack.def (thread_keyword): Allow as any prototype arg.
- 	* fixinc/fixincl.x, fixinc/tests/base/pthread.h: Rebuild.
- 
- Wed May 22 18:39:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* t-sh (LIB2FUNCS_EXTRA): Now embed-bb.c.
- 	(embed-bb.c): New rule.
- 	* t-sh64 (LIB2FUNCS_EXTRA): Don't change.
- 	* config/sh/embed_bb.c: Delete.
- 
- Wed May 22 18:25:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-common.c (cb_register_builtins): Don't indent '#' of #define.
- 
- 2002-05-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andorqi3): New.
- 
- 2002-05-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/6517
- 	* Makefile.in: Update.
- 	* c-common.c (c_common_post_options): Add preprocessor
- 	errors to the error count.
- 	* c-lang.c (c_post_options): Kill.
- 	(LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
- 	* hooks.h: Add header guards.
- 	* langhooks-def.h: Include hooks.h.
- 	(LANG_HOOKS_POST_OPTIONS): Update.
- 	* langhooks.h (struct lang_hooks): Update post_options.
- 	* toplev.c (parse_options_and_default_flags): Update.
- objc:
- 	* objc-lang.c (objc_post_options): Kill.
- 	(LANG_HOOKS_POST_OPTIONS): Use c_common_post_options.
- 
- 2002-05-21  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/tests/base/pthread.h(THREAD_KEYWORD_CHECK): add fix check
- 	* fixinc/inclhack.def(thread_keyword): use c_fix = format.
- 	* fixinc/fixincl.x: regen.
- 
- 2002-05-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cfgbuild.c: Fix formatting.
- 	* cfg.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfgloop.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 
- 2002-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.h (enum rid): Add RID_THREAD.
- 	* c-decl.c (start_decl): Do not set DECL_COMMON for tls variables.
- 	(grokdeclarator): Grok __thread.
- 	* c-parse.in (reswords): Add __thread.
- 	(rid_to_yy): Add RID_THREAD.
- 
- 	* tree.h (DECL_THREAD_LOCAL): New.
- 	(struct tree_decl): Add thread_local_flag.
- 	* print-tree.c (print_node): Dump DECL_THREAD_LOCAL.
- 	* tree.c (staticp): TLS variables are not static.
- 
- 	* target-def.h (TARGET_HAVE_TLS): New.
- 	* target.h (have_tls): New.
- 	* output.h (SECTION_TLS): New.
- 	* varasm.c (assemble_variable): TLS variables can't be common for now.
- 	(default_section_type_flags): Handle .tdata and .tbss.
- 	(default_elf_asm_named_section): Handle SECTION_TLS.
- 	(categorize_decl_for_section): Handle DECL_THREAD_LOCAL.
- 
- 	* flags.h (flag_tls_default): Declare.
- 	* toplev.c (flag_tls_default): Define.
- 	(display_help): Display help for it.
- 	(decode_f_option): Set it.
- 
- 	* doc/extend.texi (Thread-Local): New node describing language-level
- 	thread-local storage.
- 	* doc/invoke.texi (-ftls-model): Document.
- 
- 	* fixinc/inclhack.def (thread_keyword): New.
- 	* fixinc/fixincl.x: Rebuild.
- 
- 2002-05-21  Jeffrey A Law  <law@redhat.com>
- 
- 	* optabs.c (expand_binop): For double-word integer multiplies,
- 	do not compute intermediate results into something that is
- 	not a register (such as a SUBREG or MEM).
- 
- 	* i386.c (ix86_sched_reorder_ppro): Fix typo/thinko.
- 	(ix86_sched_reorder): Make sure to initialize scheduling
- 	data even when there's only one insn in the ready queue.
- 
- 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (reserv_sets_hash_value): Fix a typo.
- 
- 2002-05-21  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (reserv_sets_hash_value): Define hash_value as
- 	set_el_t.  Transform the hash value into unsigned.
- 	(output_cycle_reservs): Fix bug with output of repeated `nothing'.
- 	(transform_3): Add code to process `(A,B)+(D,E)'.
- 
- 2002-05-21  NIIBE Yutaka  <gniibe@m17n.org>
- 
- 	* reload1.c (do_output_reload): Run delete_output_reload
- 	only if optimizing.
- 
- 2002-05-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/6600
- 	* expr.c (STORE_MAX_PIECES): New macro to avoid immediate constants
- 	larger than INTEGER_CST.  (store_by_pieces_1): Use it here...
- 	(can_store_by_pieces): ... and here to limit the largest mode used.
- 	Add a comment to document this function.
- 
- 2002-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (life_analysis): Fix test for deleted label.
- 
- 2002-05-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/tm.texi: Fix typo.
- 
- 2002-05-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (c_common_init): Set options->unsigned_char from
- 	flag_signed_char.
- 	(cb_register_builtins): Define __STRICT_ANSI__ and
- 	__CHAR_UNSIGNED__ here...
- 	* cppinit.c (init_builtins): Not here.
- 	(cpp_create_reader): unsigned_char option defaults to 0, not
- 	!DEFAULT_SIGNED_CHAR.
- 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Lose -fsigned-char
- 	and -funsigned-char.
- 
- 	* cpphash.h (struct spec_nodes): Kill n__STRICT_ANSI__.
- 	* cpphash.c (_cpp_init_hashtable): Don't set it.
- 	* cppmacro.c (builtin_macro) [BT_STDC]: Use the language setting
- 	directly.  Clarify comment.
- 
- 2002-05-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* bb-reorder.c (make_reorder_chain_1): Use prev_bb/next_bb to get to
- 	neighboring basic blocks.  Use ENTRY_BLOCK_PTR->next_bb instead of
- 	BASIC_BLOCK (0).  Use EXIT_BLOCK_PTR->prev_bb instead of
- 	BASIC_BLOCK (n_basic_blocks - 1).
- 	* cfganal.c (can_fallthru, flow_call_edges_add,
- 	flow_preorder_transversal_compute): Too.
- 	* cfgbuild.c (make_edges, find_basic_blocks, find_many_sub_basic_blocks,
- 	find_sub_basic_blocks): Too.
- 	* cfgcleanup.c (try_simplify_condjump, try_optimize_cfg): Too.
- 	* cfglayout.c (skip_insns_after_block, fixup_reorder_chain,
- 	fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge): Too.
- 	* cfgrtl.c (tidy_fallthru_edges, verify_flow_info): Too.
- 	* combine.c (this_basic_block): Type changed to basic_block.
- 	(combine_instructions, set_nonzero_bits_and_sign_copies, try_combine,
- 	nonzero_bits, num_sign_bit_copies, get_last_value_validate,
- 	get_last_value, distribute_notes, distribute_links): Too.
- 	* final.c (compute_alignments): Too.
- 	* flow.c (regno_uninitialized, regno_clobbered_at_setjmp): Too.
- 	* function.c (thread_prologue_and_epilogue_insns): Too.
- 	* gcse.c (compute_code_hoist_vbeinout): Too.
- 	* global.c (build_insn_chain): Too.
- 	* ifcvt.c (find_if_block, find_cond_trap): Too.
- 	* predict.c (last_basic_block_p, note_prediction_to_br_prob): Too.
- 	* regmove.c (regmove_optimize): Too.
- 	* resource.c (find_basic_block): Too.
- 	* sched-ebb.c (schedule_ebbs): Too.
- 	* ssa-dce.c (find_control_dependence, find_pdom): Too.
- 
- 2002-05-21  Andreas Jaeger  <aj@suse.de>
- 
- 	* cppinit.c (sanity_checks): Avoid printf mismatch warnings.
- 
- 2002-05-21  Richard Henderson  <rth@redhat.com>
- 
- 	* reg-stack.c (swap_rtx_condition, subst_stack_regs_pat): Use
- 	unspec names, not numbers.
- 
- 2002-05-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/sourcebuild.texi: Mention snapshot-README and
- 	snapshot-index.html as needing updating for new front ends.
- 
- 2002-05-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): Avoid warnings when
- 	disabling checking, and avoid multiple evaluation of RTX.
- 
- 2002-05-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* bitmap.c (bitmap_find_bit): Return early if we have the correct
- 	element cached.
- 
- Tue May 21 10:51:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* profile.c (gen_edge_profiler):  Set alias set before the memory is
- 	used.
- 
- 2002-05-20  David S. Miller  <davem@redhat.com>
- 
- 	* cselib.c (max_value_regs): New.
- 	(cselib_lookup, cselib_invalidate_regno): Initialize it when
- 	adding new entries to the REG_VALUES table and we are dealing with
- 	a hard register.
- 	(clear_table): Initialize it.
- 	(cselib_invalidate_regno): Use it to determine which hard
- 	registers to scan when mode is not VOIDmode.
- 
- 2002-05-20  Duraid Madina   <duraid@fl.net.au>
- 
- 	* tradcpp.c (fixup_newlines): Use old-style function header.
- 
- 2002-05-20  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* reload1.c (reload_cse_simplify): Fix typo in rtx code check.
- 
- 2002-05-20  H.J. Lu  (hjl@gnu.org)
- 
- 	Base on suggestions from Zhang Fuxin <fxzhang@ict.ac.cn>:
- 
- 	* config/mips/mips.h (DFMODE_NAN): Defined.
- 	(SFMODE_NAN): Likewise.
- 
- 2002-05-20  Dale Johannesen  <dalej@apple.com>
- 
- 	* combine.c (cant_combine_insn_p):  Back out my
- 	previous patch.
- 
- 2002-05-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* params.c: Fix formatting.
- 	* params.h: Likewise.
- 	* predict.c: Likewise.
- 	* prefix.c: Likewise.
- 	* print-rtl.c: Likewise.
- 	* print-tree.c: Likewise.
- 	* profile.c: Likewise.
- 
- 2002-05-20  H.J. Lu  (hjl@gnu.org)
- 
- 	* gcc/config/mips/linux.h (SDB_DEBUGGING_INFO): Undefine.
- 
- 2002-05-20  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm-wince-pe.h (ASM_SPEC): Pass -mcpu and -march
- 	switches straight on to the assembler, do not abbreviate them.
- 	* config/arm/elf.h (ASM_SPEC): As above.
- 	* config/arm/semi.h (ASM_SPEC): As above.
- 	* config/arm/unknown-elf-oabi.h (ASM_SPEC): As above.
- 	* config/arm/xscale-coff.h (SUBTARGET_ASM_SPEC): Pass
- 	-mcpu=xscale on to the assembler by default.
- 	* config/arm/xscale-elf.h (SUBTARGET_ASM_SPEC): As above.
- 
- 2002-05-20  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (canon_hash): Reorder do_not_record test.  Always
- 	allow pic_offset_table_rtx.
- 
- 2002-05-19  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* optabs.c (expand_cmplxdiv_wide): Use complex_part_zero_p.
- 	(expand_binop): Ditto (3 times).
- 
- 2002-05-19  Mark Mitchell  <mitchell@doubledemon.codesourcery.com>
- 
- 	* Makefile.in (distclean): Remove QMTest stuff.
- 	(QMTEST_PATH): New variable.
- 	(QMTESTFLAGS): Likewise.
- 	(QMTESTRUNFLAGS): Likewise.
- 	(QMTEST): Likewise.
- 	(QMTEST_GPP_TESTS): Likewise.
- 	(QMTEST_DIR): Likewise.
- 	(QMTEST_DIR/context): New target.
- 	(qmtest-g++): Likeise.
- 	(qmtest-gui): Likewise.
- 	(QMTEST_DIR/gpp-expected.qmr): Likewise.
- 
- 2002-05-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Only return vectors in
- 	an altivec register if TARGET_ALTIVEC.
- 
- 	* config/rs600/rs6000.c (rs6000_emit_move): Change VECTOR_MODE_P
- 	to ALTIVEC_VECTOR_MODE.
- 	(rs6000_va_arg): Only vectors of type AltiVec are 16 byte aligned.
- 	(rs6000_va_arg): Vectors may go in registers if they are not
- 	altivec vectors.
- 
- 2002-05-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* protoize.c: Fix formatting.
- 
- 2002-05-19  Richard Henderson  <rth@redhat.com>
- 
- 	* gensupport.c (init_include_reader): Merge into ...
- 	(process_include): ... here.  Simplify composite path creation.
- 	Plug memory leaks.  Fix file/line number tracking.  Do not
- 	process_define_cond_exec.  Return void.
- 	(process_rtx): Don't check process_include return value.
- 
- 2002-05-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* basic_block.h (struct basic_block_def): Added prev_bb and next_bb
- 	fields.
- 	(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
- 	traversing basic block chain.
- 	(create_basic_block_structure, create_basic_block): Declaration changed.
- 	(link_block, unlink_block): Declare.
- 	* cfg.c (entry_exit_blocks): Initialize new fields.
- 	(link_block, unlink_block): New.
- 	(expunge_block_nocompact): Unlink basic block.
- 	(dump_flow_info): Print prev_bb/next_bb fields.
- 	* cfgbuild.c (find_basic_blocks_1, find_basic_blocks): Modified.
- 	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Modified.
- 	* cfglayout.c (fixup_reorder_chain, cfg_layout_duplicate_bb): Modified.
- 	* cfgrtl.c (create_basic_block_structure, create_basic_block,
- 	split_block, force_nonfallthru_and_redirect, split_edge): Modified.
- 	(verify_flow_info): Check that list agrees with numbering.
- 
- 2002-05-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (preprocessing_asm): New macro.
- 	* c-lex.h (builtin_define, builtin_assert): Use pfile.
- doc:
- 	* tm.texi: Update.
- config/alpha:
- 	* alpha.h (CPLUSPLUS_CPP_SPEC): Remove.
- 	(CPP_SPEC): Simplify.
- 	(TARGET_CPU_CPP_BUILTINS): Update.
- 	* freebsd.h (TARGET_OS_CPP_BUILTINS): New.
- 	(CPP_SPEC): Simplify.
- 	* linux.h (CPLUSPLUS_CPP_SPEC): Remove.
- 	(TARGET_OS_CPP_BUILTINS): Update.
- 	* osf.h (CPP_XFLOAT_SPEC): Kill.
- 	(TARGET_OS_CPP_BUILTINS): Update.
- 	(CPP_SUBTARGET_SPEC, SUBTARGET_EXTRA_SPECS): Simplify.
- 	* osf5.h (CPP_XFLOAT_SPEC): Kill.
- 	* vms.h (CPP_SUBTARGET_SPEC): Kill.
- 	(TARGET_OS_CPP_BUILTINS): Update.
- 
- 2002-05-19  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (default_binds_local_p): Fix typo.
- 
- 2002-05-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (machine_dependent_reorg): Sign extend the
- 	CONST_INT operand to the correct mode after adding 1 to it.
- 
- 2002-05-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config.gcc (powerpc-wrs-windiss*): New target.
- 
- 2002-05-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.md (ashrdi3_no_power): New.
- 	(ashrdi3): Use it.
- 
- 2002-05-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* configure.in (AC_CHECK_FUNCS): Add checks for scandir and
- 	alphasort.
- 	* config.in: Regenerated.
- 	* configure: Regenerated.
- 
- 2002-05-19  Richard Henderson  <rth@redhat.com>
- 
- 	* target-def.h (TARGET_BINDS_LOCAL_P): New.
- 	* target.h (struct gcc_target): Move boolean fields to the end.
- 	Add binds_local_p.
- 	* varasm.c (default_binds_local_p): New.
- 	* output.h: Declare it.
- 
- 	* config/alpha/alpha.c (alpha_encode_section_info): Use the new hook.
- 	* config/cris/cris.c (cris_encode_section_info): Likewise.
- 	* config/i386/i386.c (i386_encode_section_info): Likewise.
- 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
- 	* config/sh/sh.c (sh_encode_section_info): Likewise.
- 
- 	* doc/tm.texi (TARGET_IN_SMALL_DATA_P): New.
- 	(TARGET_BINDS_LOCAL_P): New.
- 
- 2002-05-19  Richard Henderson  <rth@redhat.com>
- 
- 	* system.h (BLOCK_PROFILER, BLOCK_PROFILER_CODE,
- 	FUNCTION_BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER_EXIT,
- 	MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Poison.
- 
- 	* toplev.c (display_help): Kill -a -ax help.
- 
- 	* config/1750a/1750a.h, config/alpha/alpha.h,
- 	config/clipper/clipper.h, config/dsp16xx/dsp16xx.h,
- 	config/h8300/h8300.h, config/i960/i960.h, config/m68k/tower-as.h,
- 	config/m88k/m88k.h, config/vax/vax.h, config/we32k/we32k.h:
- 	(FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER): Kill.
- 
- 	* libgcc2.c [L_bb] (BLOCK_PROFILER_CODE): Kill.
- 	* config/m68k/sun3.h (BLOCK_PROFILER_CODE): Kill.
- 
- 	* config/i386/i386-protos.h (ix86_output_block_profiler): Kill.
- 	(ix86_output_function_block_profiler): Kill.
- 	* config/m68hc11/m68hc11.c (m68hc11_block_profiler): Kill.
- 	(m68hc11_function_block_profiler): Kill.
- 	* config/m68hc11/m68hc11-protos.h: Update.
- 	* config/m88k/m88k.c (output_block_profiler): Kill.
- 	(output_function_block_profiler): Kill.
- 	* config/m88k/m88k-protos.h: Update.
- 
- 2002-05-19  Richard Henderson  <rth@redhat.com>
- 
- 	* system.h (STRIP_NAME_ENCODING): Poison it.
- 	* output.h (STRIP_NAME_ENCODING): Remove.
- 	(default_strip_name_encoding): Declare.
- 	* target-def.h (TARGET_STRIP_NAME_ENCODING): New.
- 	* target.h (strip_name_encoding): New.
- 	* varasm.c (default_strip_name_encoding): New.
- 
- 	* dwarf2asm.c, varasm.c, config/darwin.c, config/darwin.h,
- 	config/alpha/alpha.c, config/arm/pe.c, config/avr/avr.c,
- 	config/cris/cris.c, config/i386/cygwin.h, config/i386/interix.c,
- 	config/i386/winnt.c, config/m32r/m32r.h, config/mcore/mcore-elf.h,
- 	config/mcore/mcore-pe.h, config/mcore/mcore.c, config/mcore/mcore.h,
- 	config/mips/mips.c, config/mn10200/mn10200.h, config/mn10300/mn10300.h,
- 	config/pa/pa.c, config/pa/pa.h, config/pa/som.h,
- 	config/rs6000/rs6000.c, config/rs6000/sysv4.h, config/rs6000/xcoff.h,
- 	config/v850/v850.h: Use the hook, not the macro.
- 
- 	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
- 	config/alpha/alpha.c, config/alpha/alpha.h, config/h8300/h8300.c,
- 	config/h8300/h8300.h, config/i386/cygwin.h, config/i386/i386-interix.h,
- 	config/i386/i386-protos.h, config/i386/win32.h, config/i386/winnt.c,
- 	config/ia64/ia64.c, config/ia64/ia64.h, config/m32r/m32r.c,
- 	config/m32r/m32r.h, config/mcore/mcore.c, config/mcore/mcore.h,
- 	config/pa/pa.c, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
- 	config/rs6000/xcoff.h, config/sh/sh.c, config/sh/sh.h,
- 	config/v850/v850.c, config/v850/v850.h:
- 	Move STRIP_NAME_ENCODING to out-of-line function and add
- 	TARGET_STRIP_NAME_ENCODING.
- 
- 	* config/arm/arm.c, config/arm/arm.h, config/mmix/mmix-protos.h,
- 	config/mmix/mmix.c, config/mmix/mmix.h: Replace STRIP_NAME_ENCODING
- 	with TARGET_STRIP_NAME_ENCODING referencing existing function;
- 	make function static.
- 
- 	* xcoffout.c: Include target.h
- 	* Makefile.in (xcoffout.o): Update.
- 
- 	* config/avr/avr.c (avr_encode_section_info): Correct prototype.
- 	* config/avr/avr.h (STRIP_NAME_ENCODING): Remove.
- 	* config/rs6000/rs6000.c (rs6000_xcoff_unique_section): Mark
- 	reloc argument unused.
- 	* config/sh/sh.c (TARGET_ENCODE_SECTION_INFO): New.
- 
- 	* doc/tm.texi (TARGET_STRIP_NAME_ENCODING): Update from previous
- 	STRIP_NAME_ENCODING docs.
- 
- 2002-05-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* gengenrtl.c: Add prototype for excluded_rtx.
- 
- 	* real.h: Add prototype for exact_real_truncate.
- 
- 2002-05-18  Richard Henderson  <rth@redhat.com>
- 
- 	* system.h (ENCODE_SECTION_INFO): Poison it.
- 	* target-def.h (TARGET_ENCODE_SECTION_INFO): New.
- 	* target.h (encode_section_info): New.
- 	* varasm.c (make_decl_rtl, output_constant_def): Use it.
- 	* hooks.c (hook_tree_int_void): New.
- 	* hooks.h: Declare it.
- 
- 	* config/darwin.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
- 	config/alpha/alpha.h, config/arm/pe.h, config/avr/avr-protos.h,
- 	config/avr/avr.c, config/avr/avr.h, config/c4x/c4x-protos.h,
- 	config/c4x/c4x.c, config/c4x/c4x.h, config/cris/cris-protos.h,
- 	config/cris/cris.c, config/cris/cris.h, config/i386/cygwin.h,
- 	config/i386/win32.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
- 	config/ia64/ia64.h, config/m32r/m32r-protos.h, config/m32r/m32r.c,
- 	config/m32r/m32r.h, config/m68hc11/m68hc11-protos.h,
- 	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
- 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
- 	config/mcore/mcore.h, config/mmix/mmix-protos.h, config/mmix/mmix.c,
- 	config/mmix/mmix.h, config/rs6000/rs6000-protos.h,
- 	config/rs6000/sysv4.h, config/stormy16/stormy16-protos.h,
- 	config/stormy16/stormy16.c, config/stormy16/stormy16.h:
- 	Replace ENCODE_SECTION_INFO with TARGET_ENCODE_SECTION_INFO
- 	referencing existing function.  Make function static.
- 
- 	* config/a29k/a29k.c, config/a29k/a29k.h, config/arc/arc.c,
- 	config/arc/arc.h, config/arm/arm.c, config/arm/arm.h,
- 	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
- 	config/i370/i370.h, config/i386/i386-interix.h, config/i386/i386.c,
- 	config/i386/i386.h, config/i386/interix.c, config/m88k/m88k.c,
- 	config/m88k/m88k.h, config/mips/mips.c, config/mips/mips.h,
- 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa.c,
- 	config/pa/pa.h, config/romp/romp.c, config/romp/romp.h,
- 	config/rs6000/linux64.h, config/rs6000/xcoff.h, config/s390/s390.c,
- 	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
- 	config/sparc/sparc.c, config/sparc/sparc.h, config/v850/v850.c,
- 	config/v850/v850.h, config/vax/vax.c, config/vax/vms.h,
- 	config/xtensa/xtensa.c, config/xtensa/xtensa.h:
- 	Move ENCODE_SECTION_INFO to out-of-line function and add
- 	TARGET_ENCODE_SECTION_INFO.
- 
- 	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Use hook, not macro.
- 	(ASM_DECLARE_OBJECT_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
- 
- 	* config/arm/pe.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Rename
- 	from SUBTARGET_*
- 	(switch_to_section): Replace in_rdata case with in_readonly_data.
- 
- 	* config/h8300/h8300.c (h8300_encode_label): Make static.
- 	* config/h8300/h8300-protos.h: Update.
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Rename
- 	from rs6000_encode_section_info; make static.
- 	(rs6000_xcoff_encode_section_info): New.
- 
- 	* config/v850/v850.c (v850_encode_data_area): Make static.
- 	* config/v850/v850-protos.h: Update.
- 
- 	* config/vax/vax.c: Include flags.h.
- 	(vms_select_section): Fix typo.
- 
- 	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update from previous
- 	ENCODE_SECTION_INFO docs.
- 
- 2002-05-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Rename from
- 	REGISTER_TARGET_PRAGMAS.
- 	* config/rs6000/darwin.h (REGISTER_TARGET_PRAGMAS): Redefine.
- 
- 	* config.gcc: Do not use rs6000-c.c on powerpc-darwin.
- 
- 2002-05-18  Richard Henderson  <rth@redhat.com>
- 
- 	* system.h (SELECT_RTX_SECTION): Poison.
- 	* target-def.h (TARGET_ASM_SELECT_RTX_SECTION): New.
- 	* target.h (select_rtx_section): New.
- 	* varasm.c (output_constant_pool): Use it.
- 	(default_select_rtx_section, default_elf_select_rtx_section): New.
- 	* output.h: Declare them.
- 
- 	* config/darwin.h (SELECT_RTX_SECTION): Move ...
- 	* config/darwin.c (machopic_select_rtx_section): ... here.
- 	* config/darwin-protos.h: Update.
- 
- 	* config/nextstep.h (SELECT_RTX_SECTION): Move ...
- 	* config/nextstep.c (machopic_select_rtx_section): ... here.
- 	(nextstep_select_section): Rename variable to avoid macro clash.
- 	* config/nextstep-protos.h: Update.
- 
- 	* config/elfos.h, config/svr3.h, config/arm/aof.h, config/c4x/c4x.h,
- 	config/i386/dgux.h, config/i386/osfrose.h, config/i386/sco5.h,
- 	config/i386/svr3gas.h, config/i860/paragon.h, config/ia64/aix.h,
- 	config/m32r/m32r.h, config/m68k/dpx2.h, config/m68k/lynx.h,
- 	config/m68k/m68k.h, config/m68k/tower-as.h, config/m88k/dgux.h,
- 	config/mcore/mcore-pe.h, config/mips/mips.h, config/mmix/mmix.h,
- 	config/pa/pa-linux.h, config/pa/pa.h, config/romp/romp.h,
- 	config/rs6000/lynx.h, config/rs6000/sysv4.h, config/s390/linux.h,
- 	config/sparc/sysv4.h, config/xtensa/elf.h, config/xtensa/linux.h
- 	(SELECT_RTX_SECTION): Remove.
- 
- 	* config/darwin.h, config/elfos.h, config/nextstep.h,
- 	config/ia64/aix.h, config/ia64/sysv4.h, config/alpha/alpha.c,
- 	config/mips/mips.c, config/romp/romp.c, config/rs6000/sysv4.h,
- 	config/rs6000/xcoff.h, config/s390/s390.c, config/sparc/aout.h,
- 	config/sparc/lynx.h, config/xtensa/xtensa.c
- 	(TARGET_ASM_SELECT_RTX_SECTION): New.
- 
- 	* config/alpha/elf.h (SELECT_RTX_SECTION): Move ...
- 	* config/alpha/alpha.c (alpha_elf_select_rtx_section): ... here.
- 	* config/ia64/sysv4.h (SELECT_RTX_SECTION): Move ...
- 	* config/ia64/ia64.c (ia64_select_rtx_section): ... here.
- 	(ia64_aix_select_rtx_section): New.
- 	* config/mips/iris6.h (READONLY_DATA_SECTION_ASM_OP): Undef before
- 	redefining.
- 	* config/mips/mips.c (mips_select_rtx_section): Make static.
- 	Support ELF SHF_MERGE features.
- 	* config/mips/mips-protos.h: Update.
- 	* config/rs6000/xcoff.h (SELECT_RTX_SECTION): Move ...
- 	* config/rs6000/rs6000.c (rs6000_xcoff_select_rtx_section): ... here.
- 	(rs6000_elf_select_rtx_section): Rename from rs6000_select_rtx_section;
- 	make static, fall back to default_elf_select_rtx_section.
- 	* config/rs6000/rs6000-protos.h: Update.
- 	* config/sparc/sparc.h (SELECT_RTX_SECTION): Move ...
- 	* config/sparc/sparc.c (sparc_aout_select_rtx_section): ... here.
- 	* config/sparc/sunos4.h (on_exit): Declare only if IN_LIBGCC2.
- 	* config/romp/romp.c (romp_select_rtx_section): New.
- 	* config/s390/s390.c (s390_select_rtx_section): New.
- 	* config/xtensa/xtensa.c: Include output.h.  Shuffle local function
- 	declarations before target macro definition.
- 	(xtensa_emit_call): Use static buffer.
- 	(xtensa_select_rtx_section): New.
- 	* config/xtensa/xtensa.h (MAX_INT_TYPE_SIZE): Remove.
- 	(IMPLICIT_FIX_EXPR, EASY_DIV_EXPR): Remove.
- 	(ASM_OUTPUT_POOL_PROLOGUE): Update call to resolve_unique_section.
- 
- 	* doc/tm.texi (TARGET_ASM_SELECT_RTX_SECTION): Update from
- 	SELECT_RTX_SECTION docs.
- 
- Sun May 19 00:24:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsi/movdi): Fix template.
- 	(sse2 patterns): Set attributes consistently.
- 
- 	* i386.md (pushqi2, ashrqi_*): Fix constraint.
- 
- 2002-05-18  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* optabs.c (complex_part_zero_p): New.
- 	* (expand_cmplxdiv_straight): Use it.
- 	* (expand_cmplxdiv_wide): Ditto.
- 	* (expand_binop): Ditto.
- 
- 2002-05-18  Richard Henderson  <rth@redhat.com>
- 
- 	* final.c (HAVE_READONLY_DATA_SECTION): New.
- 	(shorten_branches): Use it instead of ifdefs.
- 	* varasm.c (enum in_section): Add in_readonly_data.
- 	(text_section, data_section): Tidy.
- 	(readonly_data_section): Use READONLY_DATA_SECTION_ASM_OP if present.
- 
- 	* config/darwin.h, config/nextstep.h, config/h8300/elf.h,
- 	config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h
- 	(READONLY_DATA_SECTION): Don't undef.
- 
- 	* config/alpha/unicosmk.h, config/h8300/elf.h, config/i386/aix386ng.h,
- 	config/i860/paragon.h, config/m68k/dpx2.h, config/m68k/hp320.h,
- 	config/rs6000/lynx.h (READONLY_DATA_SECTION_ASM_OP): Undef.
- 
- 	* config/elfos.h, config/svr3.h, config/alpha/alpha-interix.h,
- 	config/alpha/elf.h, config/c4x/c4x.h, config/i386/i386-interix.h,
- 	config/i386/sco5.h, config/i386/svr3gas.h, config/i860/sysv3.h,
- 	config/m88k/m88k.h, config/pa/pa64-hpux.h (USE_CONST_SECTION): Remove.
- 
- 	* config/elfos.h, config/netware.h, config/alpha/alpha-interix.h,
- 	config/alpha/elf.h, config/alpha/vms.h, config/arc/arc.h,
- 	config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
- 	config/i386/dgux.h, config/i386/i386-interix.h, config/i386/sco5.h,
- 	config/ia64/hpux.h, config/m32r/m32r.h, config/m68k/tower-as.h,
- 	config/m88k/m88k.h, config/mcore/mcore-pe.h, config/mips/iris6.h,
- 	config/mips/mips.h, config/mmix/mmix.h, config/pa/pa64-hpux.h,
- 	config/sparc/sysv4.h (READONLY_DATA_SECTION_ASM_OP): Rename from
- 	CONST_SECTION_ASM_OP/READONLY_SECTION_ASM_OP/RDATA_SECTION_ASM_OP.
- 
- 	* config/elfos.h, config/netware.h, config/1750a/1750a.h,
- 	config/a29k/a29k.h, config/alpha/alpha-interix.h, config/alpha/alpha.h,
- 	config/arm/coff.h, config/h8300/h8300.h, config/i386/aix386ng.h,
- 	config/i386/i386-interix.h, config/i386/osfrose.h, config/mmix/mmix.h,
- 	config/pa/pa64-hpux.h, config/sparc/litecoff.h
- 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
- 
- 	* config/elfos.h, config/netware.h, config/svr3.h,
- 	config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
- 	config/arm/coff.h, config/c4x/c4x.h, config/dsp16xx/dsp16xx.h,
- 	config/h8300/h8300.h, config/i386/i386-interix.h,
- 	config/i386/osfrose.h, config/i386/svr3gas.h, config/mmix/mmix.h,
- 	config/pa/pa64-hpux.h (READONLY_DATA_SECTION): Remove.
- 
- 	* config/elfos.h, config/netware.h, config/svr3.h,
- 	config/alpha/alpha-interix.h, config/alpha/alpha.h, config/alpha/elf.h,
- 	config/c4x/c4x.h, config/i386/aix386ng.h, config/i386/i386-interix.h,
- 	config/i386/sco5.h, config/i386/svr3gas.h, config/mmix/mmix.h,
- 	config/pa/pa64-hpux.h (CONST_SECTION_FUNCTION): Remove.
- 
- 	* config/lynx.h, config/svr3.h, config/alpha/elf.h, config/alpha/vms.h,
- 	config/c4x/c4x.h, config/dsp16xx/dsp16xx.h, config/i386/sco5.h,
- 	config/i386/svr3gas.h, config/i860/sysv3.h, config/i860/sysv4.h,
- 	config/ia64/sysv4.h, config/m32r/m32r.h, config/m88k/m88k.h,
- 	config/mcore/mcore-elf.h, config/mcore/mcore-pe.h, config/mips/elf.h,
- 	config/mips/elf64.h, config/mips/iris6.h, config/mips/linux.h,
- 	config/mips/mips.h, config/mips/rtems64.h, config/mips/vxworks.h,
- 	config/rs6000/sysv4.h, config/v850/v850.h
- 	(EXTRA_SECTIONS): Remove in_const/in_rdata.
- 	(EXTRA_SECTION_FUNCTIONS): Remove accompanying function.
- 
- 	* config/svr3.h, config/c4x/c4x.h, config/i386/dgux.h,
- 	config/i386/sco5.h, config/i386/svr3gas.h, config/ia64/aix.h,
- 	config/m88k/dgux.h, config/mcore/mcore-pe.h, config/mmix/mmix.h,
- 	config/sparc/sysv4.h (SELECT_RTX_SECTION): Use readonly_data_section.
- 	* config/alpha/alpha.c (alpha_start_function): Likewise.
- 	(alpha_write_linkage): Likewise.
- 	* config/m32r/m32r.c (m32r_select_section): Likewise.
- 	* config/m88k/m88k.c (m88k_select_section): Likewise.
- 	* config/mips/mips.c (mips_select_rtx_section): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_select_rtx_section): Likewise.
- 	(rs6000_elf_select_section): Likewise.
- 	* config/v850/v850.c (v850_select_section): Likewise.
- 
- 	* config/1750a/1750a.h, config/i860/sysv3.h
- 	(READONLY_DATA_SECTION_ASM_OP): New.
- 	READONLY_DATA_SECTION_ASM_OP.
- 	* config/i386/interix.c, config/i386/winnt.c
- 	(i386_pe_unique_section): Always use .rdata prefix.
- 	* config/pa/som.h (readonly_data): Always switch to read-only section.
- 	(READONLY_DATA_SECTION): Predicate on flag_pic.
- 	* config/we32k/we32k.h (READONLY_DATA_SECTION): Remove parenthesis.
- 	* doc/tm.texi (READONLY_DATA_SECTION_ASM_OP): New.
- 	(READONLY_DATA_SECTION): Update.
- 
- 2002-05-18  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* c-common.c (c_common_post_options): Warn if -Wformat-zero-length
- 	is used without -Wformat.
- 	* c-common.h (warn_format_zero_length): Declare extern.
- 	* c-decl.c (warn_options): Add "format-zero-length".
- 	* c-format.c (warn_format_zero_length): Declare.
- 	(set_Wformat): Set warn_format_zero_length for -Wformat.
- 	(check_format_info): Only warn about zero-length formats if
- 	warn_format_zero_length is true.  Include the format type
- 	name in the warning message.
- 	* doc/invoke.texi: Document -Wformat-zero-length.
- 	* testsuite/gcc.dg/format/zero-length-1.c: New test.
- 
- 2002-05-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* timevar.c: Fix formatting.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree-dump.c: Likewise.
- 	* tree-inline.c: Likewise.
- 
- 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_post_options): If preprocessed, turn off
- 	traditional.  If traditional, turn off column numbers.
- 	* cpplib.c (cpp_push_buffer): Lex from stage 3 if traditional.
- 	* cpptrad.c (handle_newline): Update line_base.
- 	(skip_comment): Handle -Wcomment.
- 
- 2002-05-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppinit.c (struct builtin): Remove unused fields.
- 	(CPLUS, BUILTIN, OPERATOR, O, builtin_array_end): Kill.
- 	(operator_array): New - was second half of builtin_array.
- 	(init_builtins): Simplify loop over builtin_array/operator_array.
- 
- 2002-05-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* defaults.h (UNIQUE_SECTION): Remove.
- 	* system.h (UNIQUE_SECTION, SELECT_SECTION): Poison.
- 
- 2002-05-17  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (init_expr_once): Don't use start/end_sequence.
- 	Use rtx_alloc instead of emit_insn.
- 	* toplev.c (lang_dependent_init): Run init_expr_once here ...
- 	(lang_independent_init): ... not here.
- 
- 2002-05-17  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__.
- 
- 2002-05-17  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_regs_to_save): New function.  Also check
- 	for fixed registers, possibly used for global register variables.
- 	(initial_elimination_offset, avr_output_function_prologue,
- 	avr_output_function_epilogue):  Move common code to avr_regs_to_save.
- 
- 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update for cpptrad.c.
- 	* cpphash.h (struct cpp_buffer): New members for buffer
- 	overlays.
- 	(struct cpp_reader): New members for traditional output.
- 	(_cpp_read_logical_line, _cpp_overlay_buffer): New.
- 	* cppinit.c (cpp_create_reader): Set trad_line.
- 	(cpp_destroy): Free trad_out_base if used.
- 	(cpp_read_main_file): Overlay an empty buffer if traditional.
- 	(cpp_finish_options): Don't do builtins.
- 	(COMMAND_LINE_OPTIONS): Add -traditional-cpp.
- 	(cpp_handle_option): Handle it.
- 	* cpplex.c (continue_after_nul): New.
- 	(_cpp_lex_direct): Use handle_nul.
- 	* cpplib.h (struct cpp_options): New traditional option.
- 	* cpptrad.c: New file.
- 
- 2002-05-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init_options): Use C89 for Objective-C,
- 	and set the options flag.
- 	* cppinit.c (lang_flags): Remove objc.
- 	(lang_defaults): Remove OBJC and OBJCXX.
- 	(set_lang): Update.
- 	(COMMAND_LINE_OPTIONS): Remove -+ and -lang-objc++.
- 	(cpp_handle_option): Remove -+ and -lang-objc++.
- 	For ObjC, just set a flag.
- 	(print_help): Update.
- 	* cpplib.h (enum c_lang): Remove CLK_OBJC and CLK_OBJCXX.
- 
- 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Specific, mips-sgi-irix6): Document need to
- 	bootstrap with -mips3.
- 
- 2002-05-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* final.c: Fix formatting.
- 	* fix-header.c: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 
- 2002-05-17  David S. Miller  <davem@redhat.com>
- 
- 	PR c/6689, PR optimization/6615
- 	* local-alloc.c (struct equivalence): Rename 'src' to 'src_p'
- 	and make it a pointer to rtx.  Update comments.
- 	(update_equiv_regs): When scanning for equivalences, record
- 	address of SET_SRC (set) in reg_equiv[].src_p.  Dereference
- 	it while making the equiv replacements.
- 
- 2002-05-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sparc/sparc.c (sparc_aout_select_section): Fixed typo.
- 
- 2002-05-17  kaz Kojima  <kkojima@rr.iij4u.or.jp>
- 
- 	* config/sh/sh.h (ENCODE_SECTION_INFO): Consider MODULE_LOCAL_P
- 	when encoding visibility into SYMBOL_REF_FLAG.
- 
- 2002-05-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* expr.c (force_operand): Fix reversed move.
- 
- 2002-05-17  Kurt Wall <kwall@kurtwerks.com>
- 
- 	* doc/install.texi (Testing): Mention two common DejaGnu warnings
- 	that can be ignored.
- 
- 2002-05-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Final install): Recommend to install into a
- 	"clean" target directory.
- 
- 2002-05-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md: Use braced strings instead of quoted strings
- 	for code blocks.  Tidy whitespace.
- 
- 2002-05-17  Richard Henderson  <rth@redhat.com>
- 
- 	* hooks.c (hook_tree_bool_false): New.
- 	* hooks.h: Declare it.
- 	* target-def.h (TARGET_ASM_SELECT_SECTION): New.
- 	(TARGET_ASM_UNIQUE_SECTION, TARGET_IN_SMALL_DATA_P): New.
- 	* target.h (select_section, unique_section): New.
- 	(in_small_data_p): New.
- 	* varasm.c (resolve_unique_section): Use hooks instead of macros.
- 	(variable_section, output_constant_def_contents): Likewise.
- 	(default_select_section, default_unique_section): New.
- 	(categorize_decl_for_section, default_elf_select_section): New.
- 	* output.h: Declare them.
- 
- 	* config/darwin.h (ALIAS_SECTION, try_section_alias): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 	(SELECT_SECTION): Move ...
- 	* config/darwin.c (machopic_select_section): ... here.
- 	* config/darwin-protos.h: Update.
- 
- 	* config/nextstep.h (TARGET_ASM_SELECT_SECTION): New.
- 	(SELECT_SECTION): Move ...
- 	* config/nextstep.c (nextstep_select_section): ... here.
- 	* config/nextstep-protos.h: Update.
- 
- 	* config/elfos.h (UNIQUE_SECTION, SELECT_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 	* config/svr3.h (SELECT_SECTION): Remove.
- 
- 	* config/alpha/alpha.c (unicosmk_unique_section): Make static.
- 	(TARGET_ASM_UNIQUE_SECTION) [UNICOS]: New.
- 	(TARGET_IN_SMALL_DATA_P, alpha_in_small_data_p): New.
- 	(alpha_encode_section_info): Use it.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/elf.h (DO_SELECT_SECTION): Remove.
- 	(SELECT_SECTION, UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 	* config/alpha/unicosmk.h (UNIQUE_SECTION): Remove.
- 
- 	* config/arm/pe.h (UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_UNIQUE_SECTION): New.
- 
- 	* config/avr/avr.c (TARGET_ASM_UNIQUE_SECTION): New.
- 	(avr_unique_section): Rename from unique_section; make static.
- 	* config/avr/avr-protos.h: Update.
- 	* config/avr/avr.h (UNIQUE_SECTION): Remove.
- 
- 	* config/c4x/c4x.h (SELECT_SECTION): Remove.
- 
- 	* config/i386/cygwin.h (UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_UNIQUE_SECTION): New.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 	* config/i386/djgpp.h (UNIQUE_SECTION): Remove.
- 	* config/i386/i386.c (ix86_asm_file_end): Use target hook not macro.
- 	* config/i386/sco5.h (SELECT_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 	* config/i386/svr3gas.h (SELECT_SECTION): Remove.
- 
- 	* config/i860/paragon.h: Undef TARGET_ASM_SELECT_SECTION
- 	instead of SELECT_SECTION.
- 	* config/m68k/dpx2.h: Likewise.
- 	* config/rs6000/lynx.h: Likewise.
- 
- 	* config/ia64/aix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
- 	* config/ia64/ia64.c (TARGET_IN_SMALL_DATA_P): New.
- 	(ia64_in_small_data_p): New.
- 	(ia64_encode_section_info): Use it.  Reorganize overlarge conditional.
- 	(ia64_aix_select_section, ia64_aix_unique_section): New.
- 	* config/ia64/sysv4.h (DO_SELECT_SECTION): Remove.
- 	(SELECT_SECTION, UNIQUE_SECTION): Remove.
- 
- 	* config/m32r/m32r.h (SELECT_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 	* config/m32r/m32r.c (m32r_select_section): Take align argument.
- 	* config/m32r/m32r-protos.h: Update.
- 
- 	* config/m88k/m88k.h (TARGET_ASM_SELECT_SECTION): New.
- 	(SELECT_SECTION): Move ...
- 	* config/m88k/m88k.c (m88k_select_section): ... here.
- 
- 	* config/mcore/mcore-pe.h (SELECT_SECTION): Remove.
- 	* config/mcore/mcore.h (UNIQUE_SECTION): Remove.
- 	* config/mcore/mcore.c (TARGET_ASM_UNIQUE_SECTION): New.
- 	(mcore_unique_section): Make static.
- 	* config/mcore/mcore-protos.h: Update.
- 
- 	* config/mips/elf.h (UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_UNIQUE_SECTION): New.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/iris6gld.h: Likewise.
- 	* config/mips/linux.h: Likewise.
- 	* config/mips/mips-protos.h: Update.
- 	* config/mips/mips.c (mips_select_section): Add align argument.
- 	* config/mips/mips.h (SELECT_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 
- 	* config/mmix/mmix.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
- 	* config/mmix/mmix.c (mmix_select_section): Remove.
- 	(mmix_unique_section): Remove.
- 	* config/mmix/mmix-protos.h: Update.
- 
- 	* config/pa/pa.h (TARGET_ASM_SELECT_SECTION): New.
- 	(SELECT_SECTION): Move ...
- 	* config/pa/pa.c (pa_select_section): ... here.
- 	* config/pa/pa64-hpux.h (UNIQUE_SECTION): Remove.
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_select_section): Rename
- 	from rs6000_select_section and make static.
- 	(rs6000_elf_unique_section): Similarly.
- 	(rs6000_xcoff_select_section): From xcoff.h.
- 	(rs6000_xcoff_unique_section): Likewise.
- 	* config/rs6000/rs6000-protos.h: Update.
- 	* config/rs6000/sysv4.h (SELECT_SECTION, UNIQUE_SECTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): New.
- 	* config/rs6000/xcoff.h: Likewise.
- 
- 	* config/sparc/aout.h (TARGET_ASM_SELECT_SECTION): New.
- 	(SELECT_SECTION): Move ...
- 	* config/sparc/sparc.c (sparc_aout_select_section): ... here.
- 
- 	* config/v850/v850.h (SELECT_SECTION): Move ...
- 	* config/v850/v850.c (v850_select_section): ... here.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 
- 	* config/vax/vms.h (SELECT_SECTION): Move ...
- 	* config/vax/vax.c (vms_select_section): ... here.
- 	(TARGET_ASM_SELECT_SECTION): New.
- 
- 	* doc/tm.texi: Update SELECT_SECTION and UNIQUE_SECTION docs
- 	for the target hooks.
- 
- 2002-05-17  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (emit_multi_reg_push): Do not set
- 	RTX_FRAME_RELATED_P on the SEQUENCE.
- 
- 2002-05-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_reorg): Rebuild bb_for_insn before
- 	splitting.  Use split_all_insns; update_life_info_in_dirty_blocks.
- 
- 2002-05-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/unicosmk.h (TARGET_OS_CPP_BUILTINS): Fix typo.
- 
- 	* config/ia64/ia64.c (saveable_obstack): Do not declare.
- 
- 2002-05-16  Richard Henderson  <rth@redhat.com>
- 
- 	* basic-block.h, bb-reorder.c, cfg.c, cfganal.c, cfgbuild.c,
- 	cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c, combine.c,
- 	conflict.c, df.c, df.h, dominance.c, final.c, flow.c, function.c,
- 	gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c,
- 	local-alloc.c, loop.c, predict.c, print-rtl.c, profile.c,
- 	recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c,
- 	reload1.c, reorg.c, resource.c, sbitmap.c, sched-deps.c,
- 	sched-ebb.c, sched-rgn.c, sibcall.c, ssa-ccp.c, ssa-dce.c, ssa.c:
- 	Revert "Basic block renumbering removal", and two followup patches.
- 
- 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* lcm.c (optimize_mode_switching): Revert previous change.
- 
- 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* sched-rgn.c (schedule_insns): Initialize large_region_blocks
- 	with only extant block numbers.
- 
- 2002-05-16  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* lcm.c (optimize_mode_switching): Fix typo.
- 
- 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* flow.c (calculate_global_regs_live): Queue blocks in program order.
- 
- 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Configuration): Document PWDCMD.
- 
- 2002-05-16  Dale Johannesen  <dalej@apple.com>
- 
- 	* combine.c (cant_combine_insn_p):  Reenable combinations
- 	involving hard regs unless CLASS_LIKELY_SPILLED_P.
- 
- 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (cb_register_builtins): Handle more built-ins
- 	here rather than in gcc.c specs.
- 	* gcc.c (cpp_unique_options): Move many built-ins to c-common.c.
- 	(cpp_options): Pass -O flags even when only preprocessing.
- 	* toplev.c (set_fast_math_flags): New prototype.
- 	(fast_math_flags_set_p): New.
- 	(set_no_fast_math_flags): Remove.
- 	(decode_f_option): Update.
- 	* toplev.h (set_fast_math_flags): Update.
- 	(fast_math_flags_set_p): New.
- 	(set_no_fast_math_flags): Remove.
- config:
- 	* c4x/c4x.c (c4x_override_options): Update.
- 
- 2002-05-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (STDC_0_IN_SYSTEM_HEADERS, REGISTER_PREFIX):
- 	Default-define here.
- 	(builtin_define_with_value): Can now wrap the expansion in
- 	quotation marks if such is wanted.
- 	(cb_register_builtins): Update calls to	builtin_define_with_value.
- 	Define __REGISTER_PREFIX__, __USER_LABEL_PREFIX__, and __VERSION__
- 	here.
- 	(c_common_init): Set options->stdc_0_in_system_headers.
- 	* c-lex.h: Update prototype of builtin_define_with_value.
- 	* cppdefault.h: Remove default definitions of USER_LABEL_PREFIX
- 	and REGISTER_PREFIX.
- 
- 	* cppinit.c (VERS, ULP, C, X): Kill.
- 	(builtin_array): Remove entries for __VERSION__,
- 	__USER_LABEL_PREFIX__, __REGISTER_PREFIX__, and
- 	__HAVE_BUILTIN_SETJMP__.  Make __STDC__ always a builtin, not
- 	a constant.
- 	(init_builtins): Kill off a bunch of now-dead code.
- 	(COMMAND_LINE_OPTIONS): Remove -fleading-underscore and
- 	-fno-leading-underscore.
- 	(cpp_handle_option): Remove code to set user_label_prefix.
- 	(cpp_post_options): Likewise.
- 
- 	* cpplib.h (struct cpp_options): Remove user_label_prefix.
- 	(stdc_0_in_system_headers): New.
- 	* cppmacro.c (builtin_macro): Check CPP_OPTION (pfile,
- 	stdc_0_in_system_headers) too to decide the value of __STDC__.
- 
- 	* tradcpp.c (user_label_prefix): Kill.
- 	(main): Remove code handling -f(no-)leading-underscore.
- 	(initialize_builtins): Don't define __REGISTER_PREFIX__
- 	or __USER_LABEL_PREFIX__.
- 	(install_value): Wrap compound statement in dummy loop so the
- 	macro works properly in an if statement.
- 
- 
- 2002-05-16  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* loop.h (struct loop_info): Add member has_prefetch.
- 	* loop.c (PREFETCH_CONDITIONAL): Change default to 1.
- 	(prescan_loop): Initialize has_prefetch.
- 	(struct prefetch_info): Change prefetch_in_loop and
- 	prefetch_before_loop from bit fields to ints.
- 	(emit_prefetch_instructions): Several small fixes.
- 	(check_dbra_loop): Don't reverse loop that uses prefetch.
- 
- 2002-05-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* Makefile.in: Allow for PWDCMD to override hardcoded pwd.
- 	* configure.in: Likewise.
- 	* fixinc/check.tpl: Likewise.
- 	* fixinc/fixinc.dgux: Likewise.
- 	* fixinc/fixinc.svr4: Likewise.
- 	* fixinc/fixinc.winnt: Likewise.
- 	* fixinc/fixincl.sh: Likewise.
- 	* fixproto: Likewise.
- 	* configure: Regenerate.
- 
- 2002-05-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	Basic block renumbering removal:
- 	* basic_block.h (struct basic_block_def): Renamed index to sindex,
- 	added prev_bb and next_bb fields.
- 	(n_basic_blocks): Renamed to num_basic_blocks.
- 	(last_basic_block): New, index of last basic block.
- 	(FOR_BB_BETWEEN, FOR_ALL_BB, FOR_ALL_BB_REVERSE): New macros for
- 	traversing basic block chain.
- 	(BLOCK_NUM): index -> sindex.
- 	(create_basic_block_structure, create_basic_block): Declaration changed.
- 	(debug_num2bb): Declare.
- 	(expunge_block_nocompact): Declaration removed.
- 	(link_block, unlink_block, compact_blocks): Declare.
- 	* bb-reorder.c (make_reorder_chain, make_reorder_chain_1): Modified.
- 	* cfg.c (entry_exit_blocks): Initialize new fields.
- 	(clear_edges, alloc_block, expunge_block, cached_make_edge,
- 	redirect_edge_pred, dump_flow_info, dump_edge_info,
- 	alloc_aux_for_blocks, clear_aux_for_blocks, alloc_aux_for_edges,
- 	free_aux_for_edges): Modified.
- 	(link_block, unlink_block, compact_blocks, debug_num2bb): New.
- 	(expunge_block_nocompact): Removed.
- 	* cfganal.c (can_fallthru, mark_dfs_back_edges, flow_call_edges_add,
- 	find_unreachable_blocks, create_edge_list, print_edge_list,
- 	verify_edge_list, flow_edge_list_print, remove_fake_successors,
- 	remove_fake_edges, flow_reverse_top_sort_order_compute,
- 	flow_depth_first_order_compute, flow_preorder_transversal_compute,
- 	flow_dfs_compute_reverse_init, flow_dfs_compute_reverse_add_bb,
- 	flow_dfs_compute_reverse_execute): Modified.
- 	* cfgbuild.c (make_edges, make_eh_edge, find_basic_blocks_1,
- 	find_basic_blocks, find_many_sub_basic_blocks, find_sub_basic_blocks):
- 	Modified.
- 	* cfgcleanup.c (try_simplify_condjump, try_forward_edges,
- 	merge_blocks_move_predecessor_nojumps,
- 	merge_blocks_move_successor_nojumps, merge_blocks,
- 	outgoing_edges_match, try_crossjump_to_edge, try_crossjump_bb,
- 	try_optimize_cfg, delete_unreachable_blocks, cleanup_cfg): Modified.
- 	* cfglayout.c (skip_insns_after_block, label_for_bb,
- 	record_effective_endpoints, scope_to_insns_finalize,
- 	fixup_reorder_chain, verify_insn_chain, cleanup_unconditional_jumps,
- 	fixup_fallthru_exit_predecessor, cfg_layout_redirect_edge,
- 	cfg_layout_duplicate_bb): Modified.
- 	* cfgloop.c (flow_loops_cfg_dump, flow_loop_dump, flow_loops_dump,
- 	flow_loop_entry_edges_find, flow_loop_exit_edges_find,
- 	flow_loop_nodes_find, flow_loop_pre_header_find, flow_loop_scan,
- 	flow_loops_find, flow_loop_outside_edge_p): Modified.
- 	* cfgrtl.c (create_basic_block_structure, create_basic_block,
- 	flow_delete_block, compute_bb_for_insn, split_block,
- 	try_redirect_by_replacing_jump, redirect_edge_and_branch,
- 	force_nonfallthru_and_redirect, tidy_fallthru_edge,
- 	back_edge_of_syntactic_loop_p, split_edge, commit_one_edge_insertion,
- 	commit_edge_insertions, commit_edge_insertions_watch_calls,
- 	dump_bb, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
- 	purge_all_dead_edges): Modified.
- 	* combine.c (combine_instructions, set_nonzero_bits_and_sign_copies,
- 	try_combine, nonzero_bits, num_sign_bit_copies, get_last_value_validate,
- 	get_last_value, reg_dead_at_p, distribute_notes, distribute_links):
- 	Modified.
- 	* conflict.c (conflict_graph_compute): Modified.
- 	* df.c (FOR_ALL_BBS): Removed.
- 	(df_bitmaps_alloc, df_bitmaps_free, df_alloc, df_analyse_1,
- 	df_modified_p, df_analyse, df_refs_unlink, df_insn_modify,
- 	df_dump, hybrid_search_bitmap, iterative_dataflow_sbitmap): Modified.
- 	* df.h (DF_BB_INFO, DF_REF_BBNO): Modified.
- 	* dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
- 	calc_idoms, idoms_to_doms, calculate_dominance_info): Modified.
- 	* final.c (compute_alignments, final_scan_insn): Modified.
- 	* flow.c (verify_local_live_at_start, update_life_info,
- 	update_life_info_in_dirty_blocks, free_basic_block_vars,
- 	delete_noop_moves, calculate_global_regs_live,
- 	initialize_uninitialized_subregs, allocate_bb_life_data,
- 	regno_uninitialized, regno_clobbered_at_setjmp, mark_set_1,
- 	mark_used_reg, count_or_remove_death_notes): Modified.
- 	* function.c (thread_prologue_and_epilogue_insns): Modified.
- 	* gcse.c (struct null_pointer_info): Change typo of current_block
- 	to basic_block.
- 	(gcse_main, alloc_gcse_mem, compute_local_properties, compute_sets,
- 	oprs_unchanged_p, load_killed_in_block_p, record_last_reg_set_info,
- 	compute_hash_table, alloc_rd_mem, handle_rd_kill_set, compute_kill_rd,
- 	alloc_avail_expr_mem, expr_killed_p, compute_ae_kill,
- 	expr_reaches_here_p_work, expr_reaches_here_p, handle_avail_expr,
- 	classic_gcse, one_classic_gcse_pass, compute_transp, cprop,
- 	one_cprop_pass, compute_pre_data, pre_expr_reaches_here_p_work,
- 	pre_expr_reaches_here_p, insert_insn_end_bb, pre_edge_insert,
- 	pre_delete, one_pre_gcse_pass, compute_transpout,
- 	invalidate_nonnull_info, delete_null_pointer_checks_1,
- 	free_code_hoist_mem, compute_code_hoist_vbeinout,
- 	hoist_expr_reaches_here_p, hoist_code, one_code_hoisting_pass,
- 	compute_ld_motion_mems, store_ops_ok, find_moveable_store,
- 	compute_store_table, build_store_vectors, insert_insn_start_bb,
- 	insert_store, replace_store_insn, free_store_memory, store_motion):
- 	Modified.
- 	* global.c (global_alloc, global_conflicts, mark_elimination,
- 	build_insn_chain): Modified.
- 	* graph.c (print_rtl_graph_with_bb): Modified.
- 	* haifa-sched.c (sched_init): Modified.
- 	* ifcvt.c (SET_ORIG_INDEX, ORIG_INDEX): Removed.
- 	(find_if_block, find_cond_trap, find_if_case_1, find_if_case_2,
- 	if_convert): Modified.
- 	* lcm.c (compute_antinout_edge, compute_earliest, compute_laterin,
- 	compute_insert_delete, pre_edge_lcm, compute_available,
- 	compute_farthest, compute_nearerout, compute_rev_insert_delete,
- 	pre_edge_rev_lcm, make_preds_opaque, optimize_mode_switching):
- 	Modified.
- 	* local-alloc.c (alloc_qty, local_alloc, update_equiv_regs): Modified.
- 	* loop.c (loop_dump_aux): Modified.
- 	* predict.c (combine_predictions_for_insn, estimate_probability,
- 	last_basic_block_p, process_note_prediction, process_note_predictions,
- 	note_prediction_to_br_prob, propagate_freq, counts_to_freqs,
- 	expensive_function_p, estimate_bb_frequencies,
- 	compute_function_frequency): Modified.
- 	* print-rtl.c (print_rtx): Modified.
- 	* profile.c (GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX, instrument_edges,
- 	get_exec_counts, compute_branch_probabilities, compute_checksum,
- 	branch_prob, find_spanning_tree): Modified.
- 	* recog.c (split_all_insns, peephole2_optimize): Modified.
- 	* reg-stack.c (reg_to_stack, convert_regs_entry, compensate_edge,
- 	convert_regs_1, convert_regs_2, convert_regs): Modified.
- 	* regclass.c (scan_one_insn, regclass): Modified.
- 	* regmove.c (mark_flags_life_zones, regmove_optimize,
- 	combine_stack_adjustments): Modified.
- 	* regrename.c (regrename_optimize, copyprop_hardreg_forward): Modified.
- 	* reload1.c (reload, reload_combine, copy_eh_notes): Modified.
- 	* reorg.c (dbr_schedule): Modified.
- 	* resource.c (find_basic_block, init_resource_info): Modified.
- 	* sbitmap.c (sbitmap_intersection_of_succs,
- 	sbitmap_intersection_of_preds, sbitmap_union_of_succs,
- 	sbitmap_union_of_preds): Modified.
- 	* sched-deps.c (init_dependency_caches): Modified.
- 	* sched-ebb.c (schedule_ebbs): Modified.
- 	* sched-rgn.c (is_cfg_nonregular, build_control_flow, debug_regions,
- 	find_rgns, compute_trg_info, init_regions, schedule_insns): Modified.
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Modified.
- 	* ssa-ccp.c (examine_flow_edges, optimize_unexecutable_edges,
- 	ssa_ccp_substitute_constants, ssa_ccp_df_delete_unreachable_insns,
- 	ssa_const_prop): Modified.
- 	* ssa-dce.c (set_control_dependent_block_to_edge_map_,
- 	find_control_dependence, find_pdom, ssa_eliminate_dead_code): Modified.
- 	* ssa.c (remove_phi_alternative, find_evaluations,
- 	compute_dominance_frontiers_1, compute_iterated_dominance_frontiers,
- 	insert_phi_node, rename_block, convert_to_ssa, eliminate_phi,
- 	make_regs_equivalent_over_bad_edges,
- 	make_equivalent_phi_alternatives_equival,
- 	compute_conservative_reg_partition,
- 	coalesce_regs_in_successor_phi_nodes, compute_coalesced_reg_partition,
- 	rename_equivalent_regs, convert_from_ssa, for_each_successor_phi):
- 	Modified.
- 
- 2002-05-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cfgrtl.c (purge_dead_edges): Correct handling of EDGE_EH.
- 
- 2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_rtx_costs): Check for RTX being a
- 	SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
- 	(arm_adjust_cost): Check for RTX being a SYMBOL_REF before
- 	calling CONSTANT_POOL_ADDRESS_P.
- 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Fix typo in code
- 	to decide whether to define __arm__ or __thumb.
- 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Check for RTX being a
- 	SYMBOL_REF before calling CONSTANT_POOL_ADDRESS_P.
- 
- 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* config/arc/arc.h (CPP_PREDEFINES): Remove.
- 	(CPP_SPEC): Update.
- 	(TARGET_CPU_CPP_BUILTINS): New.
- 
- 2002-05-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (cpp_macro): Move here, and make expansion a union.
- 	* cppmacro.c (cpp_macro): Remove.
- 	(enter_macro_context, replace_args, warn_of_redefinition,
- 	_cpp_create_definition, cpp_macro_definition): Update.
- 
- 2002-05-16  Jason Merrill  <jason@redhat.com>
- 
- 	* config/mips/mips.c (mips_output_external): Don't do sdata
- 	optimization for a variable with DECL_COMDAT set.
- 
- 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Cleanups for tighter typechecking.
- 	Cleanups for accepting modifiers on pointers.
- 	Fix predicate typos.
- 	Allow long pointers as well as int pointers.
- 
- 2002-05-15  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (merge_weak): Remove special case for extern and common.
- 
- 2002-05-15  Matt Hiller  <hiller@redhat.com>
- 
- 	* testsuite/gcc.c-torture/compile/20000804-1.x: Don't return 1 if
- 	XFAILing.
- 	* testsuite/gcc.c-torture/compile/20001226-1.x: Ditto.
- 	* testsuite/gcc.c-torture/compile/920520-1.x: Ditto.
- 	* testsuite/gcc.c-torture/compile/mipscop-1.x: XFAIL for now.
- 	* testsuite/gcc.c-torture/compile/mipscop-2.x: Ditto.
- 	* testsuite/gcc.c-torture/compile/mipscop-3.x: Ditto.
- 	* testsuite/gcc.c-torture/compile/mipscop-4.x: Ditto.
- 
- 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* reload1.c (forget_old_reloads_1): Do not use subreg offset.
- 
- 2002-05-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("altivec_mtvscr"): Set VSCR register.
- 	("altivec_mfvscr"): Read from VSCR.
- 
- 	Add vscr sets for the following insns: altivec_vctuxs,
- 	altivec_vaddubs, altivec_vaddsbs, altivec_vadduhs,
- 	altivec_vaddshs, altivec_vadduws, altivec_vaddsws, altivec_vctsxs,
- 	altivec_vmhaddshs, altivec_vmhraddshs, altivec_vmsumuhs,
- 	altivec_vmsumshs, altivec_vpkuhss, altivec_vpkshss,
- 	altivec_vpkuwss, altivec_vpkswss, altivec_vpkuhus,
- 	altivec_vpkshus, altivec_vpkuwus, altivec_vpkswus,
- 	altivec_vsububs, altivec_vsubsbs, altivec_vsubuhs,
- 	altivec_vsubshs, altivec_vsubuws, altivec_vsubsws,
- 	altivec_vsum4ubs, altivec_vsum4sbs, altivec_vsum4shs,
- 	altivec_vsum2sws, altivec_vsumsws.
- 
- 	* config/rs6000/rs6000.h: Add VSCR fixed register.
- 	(CALL_REALLY_USED_REGISTERS): Add vscr.
- 	(CALL_USED_REGISTERS): Same.
- 	(FIXED_REGISTERS): Same.
- 	(REG_ALLOC_ORDER): Same.
- 	(reg_class): Add VSCR_REGS.
- 	(REG_CLASS_NAMES): Same.
- 	(REG_CLASS_CONTENTS): Same.
- 	(VSCR_REGNO): New.
- 	(REGISTER_NAMES): Add vscr.
- 	(DEBUG_REGISTER_NAMES): Same.
- 	(ADDITIONAL_REGISTER_NAMES): Same.
- 	(FIRST_PSEUDO_REGISTER): Increment.
- 	(CONDITIONAL_REGISTER_USAGE): Set VSCR as a global register.
- 
- 2002-05-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (fold): Fix a typo.
- 
- 2002-05-15  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	* fold-const.c (fold) [LT_EXPR]: Move the transformation of a
- 	comparison against the highest or lowest integer value before
- 	the 'X >= CST to X > (CST - 1)' and 'X < CST to X <= (CST - 1)'
- 	transformation and that of an unsigned comparison against 0
- 	right after.
- 
- 2002-05-15  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (merge_weak): Error for any weakening after definition.
- 	Adjust weakening after use warning to catch more cases.
- 	(assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently.
- 	* config/alpha/alpha.c (alpha_encode_section_info): Do not abort.
- 
- Wed May 15 10:38:27 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* invoke.texi (-malign-double): Re-add lost warning.
- 
- 	* i386-protos.h (x86_output_mi_thunk): Declare.
- 	* unix.h (ASM_OUTPUT_MI_THUNK): Move offline to ...
- 	* i386.c (x86_output_mi_thunk): ... here; handle 64bits.
- 
- 	* dwarf2out.c (output_call_frame_info): Do not skip unwind info
- 	when flag_asynchronous_unwind_tables is set.
- 
- 	* flags.h (flag_reorder_functions): Declare.
- 	* function.c (prepare_function_start): Initialize frequnecy.
- 	* params.def (HOT_BB_COUNT_FRACTION, HOT_BB_FREQUENCY_FRACTION): New.
- 	* Makefile.in (predict.o): Add dependency on target.h and params.h
- 	* defaults.h (HOT_TEXT_SECTION_NAME,
- 	UNLIKELY_EXECUTED_TEXT_SECTION_NAME): New macros.
- 	* predict.c (choose_function_section): New function.
- 	(estimate_bb_frequencies): Use it.
- 	* toplev.c (flag_reorder_functions): New global variable.
- 	(lang_independent_options): New.
- 	(parse_options_and_default_flags): Set.
- 	* varasm.c (assemble_start_function): Bypass functdion alignment
- 	for never executed functions.
- 	* invoke.texi (-freorder-blocks, -freorder-functions): Document.
- 	(param hot-bb-count-fraction, hot-bb-frequency-fraction): New.
- 	* tm.texi (HOT_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME):
- 	Document.
- 
- 	Thu Jan  3 21:52:09 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c: Inlude profile.h
- 	(MIN_COUNT): Rename to MIN_COUNT_FRACTION
- 	(maybe_hot_bb_p, probably_cold_bb_p, probably_never_executed_bb_p):
- 	Use the information about maximal counter in the program.
- 
- 	Thu Dec 20 22:14:00 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (maybe_hot_bb_p, probably_cold_bb_p,
- 	probably_never_executed_bb_p): New functions.
- 	* cfgcleanup.c (outgoing_edges_match): Use them.
- 	* predict.c (MIN_COUNT, MIN_FREQUENCY): New macros.
- 	(maybe_hot_bb_p, probably_cold_bb_p,
- 	probably_never_executed_bb_p): New functions.
- 
- 	* function.h (function): Add new field function_frequency.
- 	* predict.c (compute_function_frequency): New function.
- 	(estimate_probability): Call it.
- 
- 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5172, optimization/5200
- 	* gcse.c (gcse_main): Disable store_motion.
- 
- 2002-05-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-parse.in (MODIFIED_WCHAR_TYPE): New macro.
- 	(c_common_nodes_and_builtins): Use it.
- 	(builtin_define_with_value): New function.
- 	(cb_register_builtins): Define __SIZE_TYPE__,
- 	__PTRDIFF_TYPE__, __WCHAR_TYPE__, and __WINT_TYPE__ here,
- 	using builtin_define_with_value.  Use consistent notation when
- 	defining __GXX_WEAK__.
- 	(WCHAR_TYPE_SIZE): Don't redefine.
- 	(combine_strings): Don't use WCHAR_TYPE_SIZE.
- 
- 	* cppdefault.h: Don't provide defaults for SIZE_TYPE,
- 	PTRDIFF_TYPE, WCHAR_TYPE, or WINT_TYPE.
- 	* cppinit.c (builtin_array): Remove entries for __SIZE_TYPE__ etc.
- 	* tradcpp.c (initialize_builtins): Likewise.
- 	* gcc.c (cpp_unique_options): Don't muck with __WCHAR_TYPE__.
- 
- 	* c-lex.h (builtin_define_with_value): Prototype.
- 	* system.h: Poison NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_WCHAR_TYPE,
- 	NO_BUILTIN_PTRDIFF_TYPE, and NO_BUILTIN_WINT_TYPE.
- 	* doc/tm.texi: Remove mention of NO_BUILTIN_SIZE_TYPE etc.
- 
- 	* config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
- 	config/ia64/ia64.h, config/mips/dec-osf1.h, config/mips/iris6.h,
- 	config/mips/linux.h, config/mips/mips.h, config/mips/netbsd.h,
- 	config/mips/osfrose.h, config/mips/sni-svr4.h, config/rs6000/aix51.h,
- 	config/s390/linux.h, config/sh/sh.h, config/sh/sh64.h,
- 	config/sparc/linux64.h, config/sparc/netbsd-elf.h,
- 	config/sparc/sol2-bi.h, config/sparc/sparc.h:
- 	Do not define NO_BUILTIN_SIZE_TYPE etc.  Remove all references
- 	to __SIZE_TYPE__ etc from all spec strings. When this makes
- 	extra specs empty, delete them.
- 
- 2002-05-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (override_options): Override TARGET_JUMP_IN_DELAY when scheduling
- 	for PA8000 or generating dwarf2 call frame information.
- 	(output_call): Remove DO_FRAME_NOTES check from return pointer
- 	optimization.
- 	(following_call): Return 0 when scheduling for PA8000 or generating
- 	dwarf2 call frame information.  Revise comment.
- 
- 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- config/alpha:
- 	* alpha.h (TARGET_CPU_CPP_BUILTINS): Define __IEEE_FP
- 	and __IEEE_FP_INEXACT as appropriate.
- 	(CPLUSPLUS_CPP_SPEC): Don't define __cplusplus.
- 	(CPP_SPEC): Remove ieee defines.
- 	* freebsd.h, netbsd.h: Remove ieee defines and cpp_cpu.
- 
- 2002-05-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_save_reg): Make regno unsigned.
- 	(ix86_safe_length, ix86_safe_length_prefix, ix86_safe_memory): Kill.
- 
- 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define.
- 	(CPP_SPEC): Update.
- 	(CPP_APCS_PC_SPEC, CPP_APCS_PC_DEFAULT_SPEC,
- 	CPP_FLOAT_SPEC, CPP_FLOAT_DEFAULT_SPEC, CPP_ENDIAN_SPEC,
- 	CPP_ENDIAN_DEFAULT_SPEC, CPP_INTERWORK_DEFAULT_SPEC,
- 	CPP_INTERWORK_SPEC, CPP_PREDEFINES): Remove.
- 	(EXTRA_SPECS): Update.
- 	* arm/conix-elf.h, arm/linux-elf.h, arm/netbsd.h, arm/riscix.h,
- 	arm/riscix1-1.h, arm/rtems-elf.h, arm/semiaof.h, arm/unknown-elf.h,
- 	arm/unknown-elf-oabi.h, arm/vxarm.h: Remove CPP_PREDEFINES and
- 	define TARGET_OS_CPP_BUILTINS if necessary.
- 
- 2002-05-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc.c (cpp_options): Must pass -m* and -f* options
- 	to the front end even when only preprocessing.
- 	(cc1_options): Remove redundant -lang-c.
- 	* tradcpp.c (main): Ignore -m options.
- objc:
- 	* lang-specs.h: Similarly.
- 
- 2002-05-14  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (transform_3): Add code for transformation
- 	`(A,B,...)+C -> A+C,B,...'.
- 
- Tue May 14 12:48:22 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (end_final): Do not output profile_arcs constructor, when
- 	no functions are instrumented.
- 
- Tue May 14 12:38:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (testsi to testqi_zext_1 splitter): Fix typo.
- 
- 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi: Remove special markup originally required for
- 	HTML generation with texi2html.
- 
- 2002-05-14  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/sysv4.h (DO_SELECT_SECTION): Factored out of
- 	SELECT_SECTION.
- 	(UNIQUE_SECTION): Define to get small data correctly.
- 
- 	* varasm.c (resolve_unique_section): Add third parameter
- 	flag_function_or_data_sections and use it instead of
- 	flag_function_sections.
- 	(assemble_start_function): Pass flag_function_sections.
- 	(asm_emit_uninitialised): Pass flag_data_sections.
- 	(assemble_variable): Likewise.
- 
- 2002-05-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md: Use define_constants for unspec numbers.
- 	* config/i386/i386.c: Likewise.
- 
- 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/contrib.texi: Update my entry.
- 
- 2002-05-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fixinc/inclhack.def (winidss_valist): Limit applicability.
- 	* fixinc/fixincl.x: Regenerated.
- 	* fixinc/tests/base/math.h: Update.
- 	* fixinc/tests/base/testing.h: Likewise.
- 
- 2002-05-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genattr.c (gen_attr): Don't emit a comma after the last
- 	enumerator.
- 
- 2002-05-13  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c (purge_dead_edges): Handle abnormal call edges created
- 	by non-local gotos.
- 	* recog.c (peephole2_optimize): Likewise.
- 
- 2002-05-13  Andris Pavenis  <pavenis@lanet.lv>
- 
- 	* cppfiles.c (open_file): Change mode (DJGPP only) of redirected
- 	input to O_BINARY.
- 
- 2002-05-13  Jeffrey A Law  (law@redhat.com)
- 
- 	* flow.c (invalidate_mems_from_autoinc): Rewrite to use for_each_rtx.
- 	Update prototype and callers.
- 	(propagate_one_insn): Stack pointer adjustments kill MEMs on
- 	the mem_set_list which reference the stack pointer, as do
- 	calls to constant functions as they may clobber outgoing
- 	argument space.
- 
- 	* i386.c (ia32_multipass_dfa_lookahead): Prototype.
- 
- 	* i386.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
- 	(ia32_multipass_dfa_lookahead): New function.
- 
- 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc.c (SWITCH_TAKES_ARG): Remove 'V'.
- 	(translate_options): Remove 'V'.
- 	(process_command): Similarly.
- doc:
- 	* invoke.texi: Remove documentation of 'V'.
- 
- 2002-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h: Revert 2002-04-22 changes.
- 
- 2002-05-13  Scott Marks <SMarks@mobile-mind.com>
- 
- 	* config/fr30/fr30.md: Only allow splits of immediate loads
- 	if the destination is a register.
- 
- 2002-05-13  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (c-common.o, cppinit.o): Update.
- 	* c-common.c: Include except.h.
- 	(cb_register_builtins): Handle __USING_SJLJ_EXCEPTIONS__.
- 	Call TARGET_CPU_CPP_BUILTINS and TARGET_OS_CPP_BUILTINS.
- 	* cppinit.c (__USING_SJLJ_EXCEPTIONS): Not here.
- 	* defaults.h (TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS,
- 	CPP_PREDEFINES): Handle here.
- config:
- 	* alpha/alpha-interix.h, alpha/gnu.h, alpha/linux.h,
- 	alpha/netbsd.h, alpha/openbsd.h, alpha/osf.h, alpha/unicosmk.h,
- 	alpha/vms.h, alpha/vxworks.h: Remove CPP_PREDEFINES, define
- 	TARGET_OS_CPP_BUILTINS.
- 	* alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Define.
- 	(CPP_SPEC, EXTRA_SPECS): Update.
- 	(CPP_AM_BWX_SPEC, CPP_AM_MAX_SPEC, CPP_AM_FIX_SPEC,
- 	CPP_AM_CIX_SPEC, CPP_IM_EV4_SPEC, CPP_IM_EV5_SPEC,
- 	CPP_IM_EV6_SPEC, CPP_CPU_EV4_SPEC, CPP_CPU_EV5_SPEC,
- 	CPP_CPU_EV56_SPEC, CPP_CPU_PCA56_SPEC, CPP_CPU_EV6_SPEC,
- 	CPP_CPU_EV67_SPEC, CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Remove.
- doc:
- 	* tm.texi (TARGET_REGISTER_CPP_BUILTINS): Remove.
- 	(TARGET_OS_CPP_BUILTINS, TARGET_CPU_CPP_BUILTINS): Define.
- 
- 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* emit-rtl.c (global_rtl): Update comment.
- 	(const_double_htab, const_double_htab_hash,
- 	const_double_htab_hash, lookup_const_double): New.
- 	(const_int_htab_hash, const_int_htab_eq): Remove const
- 	qualifiers, which cause tons of warnings with RTL checking on.
- 	(gen_rtx_CONST_DOUBLE): Deleted.
- 	(const_double_from_real_value): New function - bears some
- 	resemblance to the former immed_real_const_1.
- 	(immed_double_const): Moved here from varasm.c and
- 	simplified.
- 	(gen_rtx_REG): Make REGNO unsigned to squelch warnings.
- 	(gen_rtx_SUBREG): Use gen_rtx_raw_SUBREG.
- 	(gen_rtx): Use immed_double_const.
- 	(init_emit_once): Initialize the const_double_htab.  Use
- 	REAL_VALUE_FROM_INT where possible.  Can now use
- 	CONST_DOUBLE_FROM_REAL_VALUE when setting up const_tiny_rtx.
- 	* varasm.c (struct varasm_status): Remove x_const_double_chain.
- 	(const_double_chain, immed_real_const, clear_const_double_mem): Delete.
- 	(immed_double_const, immed_real_const_1): Moved to emit-rtl.c.
- 	(init_varasm_status, mark_varasm_status): Don't touch
- 	x_const_double_chain.
- 
- 	* output.h: Delete prototype for clear_const_double_mem.
- 	* real.h: Make REAL_VALUE_TYPE a macro again.  Remove leading
- 	'0' slot from all CONST_DOUBLE_FORMAT definitions.  Prototype
- 	const_double_from_real_value, not immed_real_const_1, and use
- 	it to define CONST_DOUBLE_FROM_REAL_VALUE.  Define new macro
- 	CONST_DOUBLE_ATOF.
- 	* rtl.h (CONST_DOUBLE_CHAIN): Kill.
- 	(CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Adjust.
- 	(gen_rtx_CONST_DOUBLE, immed_real_const): Delete prototypes.
- 	(gen_rtx_REG): Second arg is unsigned.
- 
- 	* gengenrtl.c (special_rtx): Take out CONST_DOUBLE.
- 	(excluded_rtx): New, return true for CONST_DOUBLE.
- 	(genmacro): Write nothing for excluded codes.
- 	* combine.c (combine_simplify_rtx): Use CONST_DOUBLE_FROM_REAL_VALUE.
- 	* expr.c (expand_expr): Likewise.
- 	* ggc-common.c (ggc_mark_rtx_children_1): Don't mark the
- 	CONST_DOUBLE_CHAIN.
- 	* toplev.c (rest_of_compilation): Don't call
- 	clear_const_double_mem.
- 
- 	* config/rs6000/rs6000.c (rs6000_float_const): Delete.
- 	(rs6000_hash_constant): Remove CONST_DOUBLE special case.
- 	(toc_hash_eq): Remove CONST_DOUBLE and LABEL_REF special cases.
- 	* config/rs6000/rs6000-protos.h: Don't prototype rs6000_float_const.
- 	* config/c4x/c4x.md, config/rs6000/rs6000.md: Use CONST_DOUBLE_ATOF.
- 	* config/dsp16xx/dsp16xx.md, config/mips/mips.md,
- 	config/pa/pa.md: Use CONST_DOUBLE_FROM_REAL_VALUE.
- 	* config/sparc/sparc.md, config/sparc/sparc.c: Use immed_double_const.
- 
- 2002-05-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips/iris6.h (CPLUSPLUS_CPP_SPEC): Define.
- 
- 2002-05-12  Tom Tromey  <tromey@redhat.com>
- 
- 	* tree.h (copy_node): Don't mention TREE_PERMANENT.
- 
- 2002-05-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gensupport.c (n_comma_elts): Moved here from genattrtab.c.
- 	(scan_comma_elt): New function.  Accepts whitespace in comma lists.
- 	* gensupport.h: Prototype new routines.
- 	* genattr.c (gen_attr): Use scan_comma_elt.  Avoid unnecessary
- 	use of printf.
- 	* genattrtab.c (n_comma_elts): Moved to gensupport.c.
- 	(next_comma_elt): Use scan_comma_elt.
- 
- 	* config/i386/i386.md: Use new attribute notation to break up
- 	long lines in define_attr forms.
- 
- 2002-05-12  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (compress_float_constant): New.
- 	(emit_move_insn): Use it.
- 	(float_extend_from_mem): New.
- 	(init_expr_once): Initialize it.
- 	* real.c (exact_real_truncate): New.
- 
- 	* config/i386/i386.h (CONST_COSTS): Assume CONST_DOUBLE gets
- 	dropped into memory; penalize for size.
- 	(RTX_COSTS): FLOAT_EXTEND is free.
- 	* config/i386/i386.md (extendsfdf2, extendsfxf2, extendsftf2,
- 	extenddfxf2, extenddftf2): Accept constants and drop them to memory.
- 
- 2002-05-12  Richard Henderson  <rth@redhat.com>
- 
- 	* profile.h (profile_info): Add missing extern to declaration.
- 	* profile.c (profile_info): Define it.
- 
- 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/pa32-regs.h (HARD_REGNO_MODE_OK): Revise sets of general registers
- 	used for DImode and TImode.
- 
- 2002-05-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (_cpp_lex_direct): When in a directive at EOF
- 	fake a newline.
- 
- 2002-05-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_default_long_calls,
- 	rs6000_longcall_switch, rs6000_set_default_type_attributes): New.
- 	(TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Set it.
- 	(rs6000_override_options): Handle -m(no-)longcall.
- 	(init_cumulative_args, output_mi_thunk): Check for both
- 	longcall and shortcall attributes on the function.
- 	(rs6000_attribute_table): Add "shortcall".
- 	(rs6000_handle_longcall_attribute): Update comment.
- 	(altivec_expand_unop_builtin, altivec_expand_binop_builtin,
- 	altivec_expand_ternop_builtin): Add default clauses to switches
- 	to silence warnings.
- 
- 	* config/rs6000/rs6000.h: Declare rs6000_longcall_switch and
- 	rs6000_default_long_calls.  Define REGISTER_TARGET_PRAGMAS.
- 	(TARGET_OPTIONS): Add longcall and no-longcall.
- 
- 	* config/rs6000/rs6000.md (call_nonlocal_sysv,
- 	call_value_nonlocal_sysv): Split by alternatives.  One pair
- 	accepts only SYMBOL_REFs and rejects if CALL_LONG is set in
- 	the call cookie.  The other pair accepts only LR/CTR and has
- 	no restriction.
- 
- 	* config.gcc (rs6000-*-* | powerpc*-*-* trailer stanza):
- 	Set c_target_objs, cxx_target_objs; add t-rs6000-c-rule to
- 	tmake_file.
- 	* config/rs6000/rs6000-c.c: New file.
- 	* config/rs6000/t-rs6000-c-rule: New file.
- 	* config/rs6000/rs6000-protos.c: Add multiple-include guard.
- 	Prototype rs6000_pragma_longcall.
- 
- 	* doc/extend.texi: Document shortcall attribute.
- 	* doc/invoke.texi: Document -mlongcall, -mno-longcall.
- 
- 2002-05-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* reorg.c (dbr_schedule): Remove unnecessary test.
- 
- Sat May 11 14:34:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (testsi to testqi spliters): New.
- 
- 	2002-01-14  Josef Zlomek  <zlomek@matfyz.cz>
- 
- 	cfg.c (dump_edge_info): added dumping of EDGE_CAN_FALLTHRU.
- 
- 	Wed Jan  9 2002  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
- 
- 	* basic-block.h: New flag EDGE_CAN_FALLTHRU
- 	* cfganal.c (set_edge_can_fallthru_flag): New function; marks the edges
- 	that can be made fallthru.
- 
- 	Mon Nov 12 16:25:53 CET 2001  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (cleanup_unconditional_jumps): New static function.
- 	(cfg_layout_initialize): Use it.
- 
- 2002-05-11  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_mcu_types): Update supported devices.
- 	* config/avr/avr.h (CPP_SPEC, LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
- 
- 2002-05-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dbxout.c: Fix formatting.
- 	* dependence.c: Likewise.
- 	* df.c: Likewise.
- 	* diagnostic.c: Likewise.
- 	* doloop.c: Likewise.
- 	* dominance.c: Likewise.
- 	* doschk.c: Likewise.
- 	* dwarf2asm.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 
- 2002-05-10  Richard Henderson  <rth@redhat.com>
- 
- 	* final.c (end_final): Tidy whitespace.  Don't honor flag_pack_struct.
- 	Convert integers constants as needed.  Replace "nwords" field with
- 	"sizeof_bb".
- 	(final): Save profile data if cfun->arc_profile, not profile_arc_flag.
- 	* function.h: Fix typo in comment.
- 	* libgcc2.c (struct bb): Replace "nwords" with "sizeof_bb".
- 
- 2002-05-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (build_range_check): Optimize (c>=1) && (c<=127)
- 	into the equivalent (signed char)c > 0.
- 
- 2002-05-10  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* loop.c: (PREFETCH_EXTREME_DIFFERENCE, PREFETCH_BEFORE_LOOP): New.
- 	(PREFETCH_CONDITIONAL): Renamed from PREFETCH_NOT_ALWAYS.
- 	(struct prefetch_info): Fix spelling of member bytes_accessed.
- 	(emit_prefetch_instructions): Make dump messages more regular;
- 	restructure code to add more dump messages; use new macros for
- 	heuristics. (There are no code generation changes in any of this).
- 
- 2002-05-10  David S. Miller  <davem@redhat.com>
- 
- 	* rtl.h (INSN_ANNULLED_BRANCH_P): Accept INSN too, update comment.
- 	(struct rtx_def): Update unchanging flag comment.
- 	* doc/rtl.texi (INSN_ANNULLED_BRANCH_P): Update description.
- 	* reorg.c (delete_from_delay_list): INSN_ANNULLED_BRANCH_P needs
- 	to be handled to INSN too.
- 	(dbr_schedule): Likewise.
- 	* resource.c (next_insn_no_annul): Likewise.
- 
- 	* cse.c (rtx_cost): Remove multiplication by power of 2 special
- 	casing.
- 
- 2002-05-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific, *-*-solaris2*): Update passus on
- 	setting CONFIG_SHELL to /bin/ksh and remove alternate trick to
- 	(possibly) work around broken /bin/sh.
- 
- 2002-05-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Use mabi=64 and
- 	. as N64/N32 libgcc_s.so subdirs.
- 
- 2002-05-10  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md: Use define_constants for unspec numbers.
- 
- 	* rtl.h (struct rtx_def): Document unchanging and in_struct flags
- 	more accurately.
- 	(INSN_ANNULLED_BRANCH_P): Only valid for JUMP_INSN and CALL_INSN, fix
- 	comment.
- 	(INSN_FROM_TARGET_P): Valid also for CALL_INSN.
- 	* doc/rtl.texi: Document these macros more accurately.
- 	* recog.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P for
- 	JUMP_INSNs and CALL_INSNs.
- 	* resource.c (whole file): Only mess with INSN_ANNULLED_BRANCH_P
- 	or INSN_FROM_TARGET_P if the code is appropriate.
- 
- 2002-05-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (print_operand): Check that addr is a SYMBOL_REF
- 	before using SYMBOL_REF_FLAG (addr).
- 
- 	* config/avr/avr-protos.h (avr_io_address_p): Declare.
- 	* config/avr/avr.c (io_address_p): Rename to avr_io_address_p.
- 	Make non-static.  Update all callers.
- 	* config/avr/avr.md (*cbi, *sbi, *sbix_branch, *sbix_branch_bit7):
- 	New insns to clear/set/test a single bit in I/O address space.
- 
- 2002-05-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (ENABLE_RTL_FLAG_CHECKING): Also check for gcc >= 2.7.
- 
- 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.c (flag_iso, flag_undef, cb_register_builtins,
- 	builtin_define_std): New.
- 	(c_common_init): Register CPP builtins callback.
- 	* c-common.h (flag_iso, flag_undef): New.
- 	* c-decl.c (c_decode_option): Set flag_iso and flag_undef.
- 	* c-lex.c: Don't include target.h.
- 	(cb_register_builtins): Move to c-common.c.
- 	(init_c_lex): Don't register hook here.
- 	* c-lex.h (builtin_define, builtin_assert, builtin_define_std): New.
- 	(cpp_define, cpp_assert): Remove.
- 	* gcc.c (cc1_options): Pass -undef to front end.
- 	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): Remove.
- 	(TARGET_INITIALIZER): Update.
- 	* target.h (struct cpp_reader): Don't predeclare.
- 	(struct gcc_target): Remove cpp builtin hook.
- 	* tree.c (default_register_cpp_builtins): Remove.
- doc:
- 	* tm.texi: Update.
- 
- 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (_cpp_expand_op_stack): Set op_limit.
- 
- 2002-05-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/t-iris6 (SHLIB_SLIBDIR_SUFFIXES): Define.
- 	(SHLIB_LINK, SHLIB_INSTALL): Adjust.
- 
- 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/t-linux64 (SHLIB_MAPFILES): Set.
- 	* config/sparc/libgcc-sparc-glibc.ver: New file.
- 	* config/cris/t-linux (SHLIB_MAPFILES): Remove.
- 	* mklibgcc.in: Preprocess SHLIB_MAPFILES with ml flags.
- 
- 2002-05-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6429
- 	* Makefile.in (libgcc.mk): Pass SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
- 	* mklibgcc.in: If SHLIB_SLIBDIR_SUFFIXES is defined, put libgcc_s
- 	shared libraries into multilib dirs, with SONAME libgcc_s.so.1 for
- 	base multilibs.
- 	* config/t-slibgcc-elf-ver (SHLIB_LINK): Adjust for the above.
- 	* config/t-slibgcc-sld (SHLIB_LINK): Likewise.
- 	* config/sparc/t-linux64 (SHLIB_SLIBDIR_SUFFIXES): Define.
- 	* config/sparc/t-sol2-64 (SHLIB_SLIBDIR_SUFFIXES): Define.
- 
- 2002-05-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md: Use define_constants for unspec numbers.
- 	* config/ia64/ia64.c: Likewise.
- 
- 2002-05-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_add_large_offset_to_sp): Remove FILE arg.
- 	(save_restore_insns): Likewise.
- 	(mips_expand_prologue, mips_expand_epilogue): Update callers.
- 	(highpart_shift_operator): Attach ATTRIBUTE_UNUSED to mode argument.
- 
- Thu May  9 11:50:09 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* athlon.md, k6.md, pentium.md, ppro.md): New files.
- 	* i386.md: Move scheduling information into new files.
- 
- 	* i386.md (type attribute): Add "rotate" for rotate insns.
- 	(rotate insns): Set type to "rotate".
- 	(various attributes and function units): Treat rotate like shift.
- 	(pent_pair attribute): Only rotates by one bit position are
- 	pairable.
- 	(sbb insns): Explicitly set pent_pair attribute on a couple
- 	that were missing it.
- 
- Thu May  9 18:29:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_builtin_saveregs): If starting with an odd fp register,
- 	make sure that buffer starts on odd word address.
- 	(sh_va_arg): Skip odd fp registers when reading a double precision
- 	value.
- 
- 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tree.h (preserve_data, object_permanent_p, type_precision):
- 	Remove.
- 
- 2002-05-09  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (cpp_init_internal_pragmas): Remove #pragma poison.
- 	* cppmacro.c (paste_all_tokens): Bad pastes are a hard error.
- doc:
- 	* cpp.texi: Update for removal of obsolete features.
- 
- Thu May  9 07:46:18 2002  Jan Hubicka <jh@suse.cz>
- 			  Jeffrey A Law  (law@redhat.com)
- 
- 	* i386.c (ia32_use_dfa_pipeline_interface): New function.  Use
- 	the DFA interface for Pentium processors.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): DEFINE.
- 	(attr_pent_pair, ix86_pent_find_pair): Remove.
- 	(ix86_sched_reorder_pentium): Remove.
- 	(ix86_sched_reorder): Remove reordering for Pentium.
- 	* i386.md (Pentium scheduling): Rewrite using DFA description.
- 
- Thu May  9 14:55:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfganal.c (can_fallthru): Fix fast path.
- 	* cfgrtl.c (verify_flow_info): Avoid crash on conditionals
- 	with edges to the next block.
- 
- Thu May  9 14:52:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 			       Pavel Nejedly  <bim@atrey.karlin.mff.cuni.cz>
- 
- 	* final.c (end_final): Use C trees to output data structures for profiling.
- 
- 	* Makefile.in (LIBGCC_DEPS): Added missing dependency on gcov-io.h
- 	(profile.o): New dependency profile.h
- 	(final.o): New dependency profile.h
- 	* profile.h: New file. New global structure profile_info.
- 	* final.h (count_edges_instrumented_now): Declare.
- 	(current_function_cfg_checksum): Declare.
- 	(function_list): New structure.
- 	(functions_head, functions_tail): New static variables.
- 	(end_final): Emits more data, removed some -ax stuff.
- 	(final): Stores function names and chcksums.
- 	* gcov-io.h (__write_gcov_string): New function.
- 	(__read_gcov_string): New function.
- 	* gcov.c (read_profile): New function.
- 	(create_program_flow_graph): Uses read_profile instead of reading
- 	da_file.
- 	(read_files): Removed da_file checking, it's done by read_profile now.
- 	* libgcc2.c (bb_function_info): New structure.
- 	(bb): New field in structure, removed some -ax stuff.
- 	(__bb_exit_func): Changed structure of da_file.
- 	* profile.c (count_edges_instrumented_now): New global variable.
- 	(current_function_cfg_checksum): New global variable.
- 	(max_counter_in_program): New global variable.
- 	(get_exec_counts): New function.
- 	(compute_checksum): New function.
- 	(instrument_edges): Sets count_edges_instrumented_now.
- 	(compute_branch_probabilities): Uses get_exec_counts instead of
- 	reading da_file.
- 	(branch_prob): Calls compute_checksum and writes extra data to bbg_file.
- 	(init_branch_prob): Removed da_file checking, done in get_exec_counts
- 	now.
- 	(end_branch_prob): Removed da_file checking, done in get_exec_counts
- 	now.
- 	* gcov.texi: Updated information about gcov file format.
- 
- 2002-05-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* sbitmap.c: Fix formatting.
- 	* scan.c: Likewise.
- 	* scan-decls.c: Likewise.
- 	* sched-deps.c: Likewise.
- 	* sched-ebb.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* sched-vis.c: Likewise.
- 	* sdbout.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* ssa.c: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* ssa-dce.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* stringpool.c: Likewise.
- 
- 2002-05-09  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sol2.h (ASM_CPU_SPEC): Handle -mcpu=v9.
- 
- 2002-05-07  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.h (TARGET_BUGGY_QP_LIB): Define to zero.
- 	* config/sparc/sol2.h (TARGET_BUGGY_QP_LIB): Override to one.
- 	* config/sparc/sparc.c (emit_soft_tfmode_libcall): If the Qp
- 	library implementation clobbers the output before the inputs
- 	are fully consumed, use stack temporary for the output.
- 
- 2002-05-09  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h (CPP_SPEC): Remove.
- 	* config/i386/netbsd-elf.h (CPP_SPEC): Define.
- 	* config/i386/netbsd.h (CPP_SPEC): Define.
- 	* config/ns32k/netbsd.h (CPP_SPEC): Define.
- 	* config/sparc/netbsd-elf.h (CPP_SPEC): Remove.
- 	* config/sparc/netbsd.h (CPP_SPEC): Define.
- 	* config/vax/netbsd.h (CPP_SPEC): Define.
- 
- 2002-05-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* read-rtl.c: Fix formatting.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.c: Likewise.
- 	* resource.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* rtl.c: Likewise.
- 	* rtl-error.c: Likewise.
- 
- 2002-05-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/pa-64.h (MAX_WCHAR_TYPE_SIZE): Delete.
- 	* pa/pa.h (MAX_WCHAR_TYPE_SIZE): Delete.
- 
- 2002-05-08  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Tweak previous change to
- 	use __SSE2__ macro instead.
- 	* config/i386/xmmintrin.h: Likewise.
- 
- 2002-05-08  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
- 	and use it in all invocations of these macros.  Clean up comments.
- 	* rtl.c (rtl_check_failed_flag): Add an argument for the name
- 	of the flag access macro whose check failed.
- 	* doc/rtl.texi (Flags): Document additional flag uses.
- 
- 2002-05-08  Robert Spier <rspier@pobox.com>
- 	    Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/6521
- 	* cppfiles.c (handle_missing_header): Don't do anything
- 	different for <> includes.
- doc:
- 	* cppopts.texi: Update documentation for -MG.
- 
- 2002-05-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (cpp_interpret_charconst): Truncate as well as
- 	sign-extend.
- doc:
- 	* cpp.texi: Clarify multichar charconst valuation.
- 
- 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi: Document -mwindiss option.
- 
- 2002-05-08  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Don't emit a CIE with no FDEs.
- 
- 	* dwarf2out.c (gen_type_die): Abort on broken recursion.
- 
- 	PR c++/6381
- 	* dwarf2out.c (rtl_for_decl_location): Only expand INTEGER_CST and
- 	REAL_CST.
- 
- 2002-05-08  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/t-arm-elf (MULTILIB): Do not allow big-endian/
- 	little-endian multilibs to override arm/thumb multilibs.
- 	Do not build hardware floating point multilibs, nor apcs-26
- 	multilibs for the Thumb.
- 
- 2002-05-08  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c/6569.
- 	* varasm.c (mark_weak): New function.
- 	(merge_weak): Use it.  Do not call declare_weak.
- 	(declare_weak): Use merge_weak.
- 
- Wed May  8 13:12:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cse.c (dead_libcall_p): Update counts.
- 	(delete_trivially_dead_insns): Update call of dead_libcall_p.
- 
- Wed May  8 11:08:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (function_tail_eff_head): Rename to ...
- 	(function_footer): ... this one.
- 	(unlink_insn_chain): New functions.
- 	(label_for_bb): Only call block_label and emit debug message.
- 	(record_effective_endpoints): Actually unlink the headers and footers.
- 	(fixup_reorder_cahin): Re-insert the unlinked sequences.
- 	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
- 	* cfglayout.h (struct reorder_block_def): New fields footer/header;
- 	remove eff_head/eff_end.
- 	* rtl.h (set_first_insn): Declare.
- 	* emit-rtl.c (set_first_insn): New function.
- 
- 	* cfglayout.c (fixup_reorder_chain): Dump duplicated
- 	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
- 	cfg_layout_duplicate_bb): New global function.
- 	(duplicate_insn_chain): New static function.
- 	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
- 	cfg_layout_duplicate_bb): Declare.
- 	(struct reorder_block_def): Add "original" field.
- 	* emit-rtl.c (emit_copy_of_insn_after): New function.
- 	* rtl.h (emit_copy_of_insn_after): Declare.
- 
- 	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
- 	(fixup_reorder_chain): properly handle edges to exit block.
- 
- Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 			       Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (note_prediction_to_br_prob): declare.
- 	* c-semantics.c: Include predit.h
- 	(expand_stmt): predict GOTO_STMT as not taken.
- 	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
- 	(cleanup_cfg): Do not free tail_recursion_list.
- 	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
- 	(flow_delete_block): Kill predictions past end of basic block.
- 	* output.h (delete_unreachable_blocks): Declare.
- 	* predict.c (predicted_by_p, process_note_predictions,
- 	process_note_prediction, last_block_p): New function.
- 	(estimate_probability): Bypass loop on PRED_CONTINUE;
- 	do not handle noreturn heuristics; kill PRED_RETURN; add
- 	PRED_EARLY_RETURN.
- 	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
- 	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
- 	* predict.h (IS_TAKEN): New constant.
- 	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
- 	* rtl.c (NOTE_INSN_PREDICTION): New.
- 	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
- 	New macro.
- 	(insn_note): add NOTE_INSN_PREDICTION.
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
- 	CFG; free tail_recursion_label_list.
- 	* stmt.c: Include predict.h;
- 	(return_prediction): New.
- 	(expand_value_return): Use it.
- 	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
- 
- 2002-05-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Name the unspecs with define_constant.
- 	(*HILO_delay): Rename to 'hilo_delay' (no star).
- 	(reload_indi): Replace gen_rtx_UNSPEC with gen_hilo_delay.
- 	(reload_outdi, reload_outsi): Likewise.
- 
- 2002-05-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* toplev.c: Fix formatting.
- 
- 2002-05-07  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config.in (ENABLE_RTL_FLAG_CHECKING): New.
- 	* configure.in (ac_rtlflag_checking): New.
- 	* doc/install.texi (--enable-checking): Document RTL flag checking.
- 
- 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init): Set options->unsigned_wchar.
- 	* cppinit.c (cpp_create_reader): Default unsigned_wchar,
- 	group target dependencies.
- 	(init_builtins, cpp_handle_option): Update.
- 	* cpplex.c (cpp_interpret_charconst): Update.
- 	* cpplib.h (struct cpp_options): Add unsigned_wchar, rename
- 	signed_char to unsigned_char, group target dependencies.
- 	* defaults.h (WCHAR_UNSIGNED): Remove.
- 	* system.h (WCHAR_UNSIGNED, MAX_CHAR_TYPE_SIZE): Poison.
- config:
- 	* freebsd.h, interix.h, alpha/freebsd.h, arm/freebsd.h,
- 	i386/386bsd.h, i386/beos-elf.h, i386/bsd386.h, i386/cygwin.h,
- 	i386/djgpp.h, i386/freebsd-aout.h, i386/i386-interix.h,
- 	i386/win32.h, ia64/freebsd.h, mips/netbsd.h, rs6000/freebsd.h,
- 	sh/elf.h, sh/sh.h, sparc/freebsd.h: Remove WCHAR_UNSIGNED.
- doc:
- 	* tm.texi: Remove MAX_CHAR_TYPE_SIZE.
- 
- 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* fixinc/inclhack.def (windiss_math1): New fix.
- 	(windiss_math2): Likewise.
- 	(windiss_valist): Likewise.
- 	* fixinc/fixincl.x: Regenerated.
- 
- 2002-05-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* genautomata.c (output_internal_min_issue_delay_func): Add
- 	ATTRIBUTE_UNUSED to avoid warning with empty dfa.
- 	(output_internal_trans_func): Likewise.
- 
- Tue May  7 10:06:22 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* pa.c (hppa_profile_hook): Use force_reg to get the address
- 	of the profile hook into an appropriate pseudo register.
- 
- 2002-05-07  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -mwindiss.
- 	(LINK_START_SPEC): Handle it.
- 	(LINK_OS_SPEC): Likewise.
- 	(CPP_SPEC): Likewise.
- 	(STARTFILE_SPEC): Likewise.
- 	(LIB_SPEC): Likewise.
- 	(ENDFILE_SPEC): Likewise.  Do not assume crtsavres.o is used on
- 	all platforms.
- 	(CRTSAVRES_DEFAULT_SPEC): New macro.
- 	(LIB_WINDISS_SPEC): New macro.
- 	(CPP_OS_WINDISS_SPEC): Likewise.
- 	(STARTFILE_WINDISS_SPEC): Likewise.
- 	(ENDFILE_WINDISS_SPEC): Likewise.
- 	(LINK_START_WINDISS_SPEC): Likewise.
- 	(LINK_OS_WINDISS_SPEC): Likewise.
- 	* config/rs6000/windiss.h: New file.
- 
- 2002-05-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (bdesc_2arg): Fix vmax typos.
- 
- 2002-05-06  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (shift insns): Do not mask off
- 	second operand, 'I' constraint and SHIFT_COUNT_TRUNCATED
- 	take care of it.
- 
- 2002-05-06  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/6212
- 	* expr.c (highest_pow2_factor_for_type): New.
- 	(expand_assignment): Use it.
- 
- 2002-05-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("altivec_mtvscr"): Change to
- 	unspec_volatile.
- 	("altivec_mfvscr"): Same.
- 
- 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rtl.h (struct rtx_def): Update comments.
- 	(RTL_FLAG_CHECK[12345678]): New.  (rtl_check_failed_flag): Declare.
- 	(RTL_FLAG): New.  (CLEAR_RTX_FLAGS): New.  (flag access macros): Use
- 	RTL_FLAG_CHECK macros with list of expected RTL codes.
- 	* rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
- 	(rtl_check_failed_flag): New.
- 	* reload1.c (reload): Use REG macro before changing rtx to MEM.
- 	(reload_cse_noop_set_p): Check rtx code before using access macro.
- 	* config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
- 	before using access macro.
- 
- 2002-05-06  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/rtl.texi (Flags): Update to reflect current usage.
- 
- 2002-05-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR opt/3995
- 	* fold-const.c (sign_bit_p): New function.
- 	(fold) [EQ_EXPR]: Use this to convert (A & C) == 0 into A >= 0 and
- 	(A & C) != 0 into A < 0, when constant C is the sign bit of A's type.
- 	Reapply fold when converting (A & C) == C into (A & C) != 0.
- 	(fold_binary_op_with_conditional_arg): Fix typo in comment.
- 
- 2002-05-07  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (warn_multichar): New.
- 	(c_common_init): Set CPP's warn_multichar.
- 	* c-common.h (warn_multichar): New.
- 	* c-decl.c (warn_multichar): Remove.
- 	* c-lex.c (lex_charconst): Update.
- 	* c-tree.h (warn_multichar): Remove.
- 	* cppexp.c (eval_token): Sign-extend charconst value.
- 	* cppinit.c (cpp_create_reader): Set warn_multichar.
- 	* cpplex.c (cpp_interpret_charconst): Don't sign-extend
- 	each character.  Update prototype.  Sign-extend the result.
- 	* cpplib.h: Fix conditions.
- 	(struct cpp_options): Add new warning flag.
- 	(cpp_interpret_charconst): Update prototype.
- doc:
- 	* cpp.texi: Update documentation.
- 
- 2002-05-06  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
- 	Fix typo in usage of allof instead of unit.
- 
- 2002-05-06  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (if_test_bypass_p): Accept multiple set insns for OUT,
- 	and any jump or call for IN.
- 
- 2002-05-06  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Define __SSE2_BUILTINS__ if
- 	-msse2.
- 	* config/i386/xmmintrin.h: Use it to conditionalize SSE2 support.
- 
- 2002-05-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (lshift-double): Cast the high word to an unsigned
- 	HOST_WIDE_INT when extracting sign bit to avoid compiler warning.
- 	(div_and_round_double): Cast carry to a signed HOST_WIDE_INT to
- 	avoid compiler warning.  (fold): Remove redundant code from
- 	BIT_AND_EXPR as integer operands are canonicalized to be arg1.
- 
- 2002-05-06  Jeff Law  <law@redhat.com>
- 
- 	* pa-protos.h (hppa_fpstore_bypass_p): Declare.
- 	* pa.c (pa_adjust_cost): Remove all true dependency cost
- 	adjustments.  Also remove support for non-DFA scheduling.
- 	* pa.md (700, 7100, 7100lc, 7200, 7300): Use bypass mechanism
- 	to adjust true dependency costs.  Update various comments.
- 	(7100lc, 7200, 7300 scheduling): Simplify by combining the
- 	FP ALU & MPY units into a single unit.
- 
- 2002-05-06  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.c (compute_register_save_size): Make sure
- 	to count all of the registers that will be saved.
- 
- Mon May  6 18:03:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (q_regs_operand): Use ANY_QI_REGS_P.
- 
- 2002-05-06  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (emit_soft_tfmode_libcall): Do not
- 	allow result to overlap input operands in memory.
- 
- 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- doc:
- 	* cpp.texi: Update multichar charconst docs.
- 
- 2002-05-06  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (cpp_interpret_charconst): Sign-extend each
- 	character.  Don't ignore excess characters.  Treat
- 	multicharacter character constants as signed.
- 	(cpp_parse_escape): Clarify diagnostic.
- 
- 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (ashlsi3): If shift count is const1_rtx,
- 	use add instead of shift.
- 	(ashldi3_sp64): Likewise.
- 	(ashlsi3_const1, ashldi3_const1): Remove.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Add const1_operand.
- 	* config/sparc/sparc.c (const1_operand): New.
- 
- 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (alpha*-*-netbsd*): Don't use crtstuff.
- 
- 2002-05-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6561
- 	* config/sparc/sparc.md (muldi3_v8plus): Handle %1 equal to %2.
- 
- 2002-05-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_adjust_cost): Remove everything but
- 	memory latency adjustments.
- 	(alpha_variable_issue): Remove.
- 	(alpha_use_dfa_pipeline_interface): New.
- 	(alpha_multipass_dfa_lookahead): New.
- 	* config/alpha/alpha.md: Remove define_function_unit scheduling;
- 	include new dfa scheduling.
- 	(attr type): Add none.
- 	(blockage): Use it.
- 	* config/alpha/ev4.md: New.
- 	* config/alpha/ev5.md: New.
- 	* config/alpha/ev6.md: New.
- 
- 2002-05-05  David S. Miller  <davem@redhat.com>
- 
- 	* recog.c (store_data_bypass_p): Handle CLOBBER inside PARALLEL.
- 
- 2002-05-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cse.c: Fix formatting.
- 	* emit-rtl.c: Likewise.
- 
- 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (initiate_states): Add additional guard to
- 	initialize `units_array'.
- 
- 2002-05-05  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
- 	process_unit_to_form_the_same_automaton_unit_lists,
- 	form_the_same_automaton_unit_lists
- 	check_unit_distributions_to_automata): New prototypes and
- 	functions.
- 	(check_automata): Rename it into `check_automata_insn_issues'.
- 	(unit_decl): New fields `the_same_automaton_unit' and
- 	`the_same_automaton_message_reported_p'.
- 	(unit_decl_t): New typedef.
- 	(the_same_automaton_lists): New gloval variable.
- 	(unit_regexp, unit_set_el, units_array, units_cmp,
- 	output_get_cpu_unit_code_func): Use the typedef.
- 	(evaluate_max_reserv_cycles): Increment
- 	`description->max_insn_reserv_cycles'.
- 	(initiate_states): Don't increment `max_cycles_num'.
- 	(transform_insn_regexps): Move code around transformation of
- 	regexps from `generate'.
- 	(generate): Remove call of `transform_insn_regexps'.
- 	(expand_automata): Call `transform_insn_regexps' and
- 	`check_unit_distributions_to_automata'.  Check errors before
- 	`generate'.
- 
- 	* config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
- 	automaton `ultrasparc3_1'.
- 
- 2002-05-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_common_init): Set up CPP arithmetic.
- 	* cppinit.c (cpp_create_reader): Default CPP arithmetic to
- 	something reasonable for the host.
- 	(sanity_checks): Add checks.
- 	(cpp_read_main_file): Call sanity_checks() from here...
- 	(cpp_post_options): ... not here.
- 	* cpplex.c (cpp_interpret_charconst): Get max_chars right.
- 	* cpplib.h (struct cpp_options): New member int_precision.
- 
- 2002-05-05  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* doc/install.texi (powerpc-*-linux-gnu*): Update build requirements.
- 
- 2002-05-04  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h, config/sparc/linux64.h
- 	(HANDLE_PRAGMA_PACK_PUSH_POP): Don't define twice.
- 
- 	* config/sparc/sparc.c (sparc_rtx_costs): Describe costs of
- 	more RTX codes.
- 	* config/sparc/sparc.h (RTX_COSTS_CASES): List those new codes.
- 
- 	* recog.c (store_data_bypass_p): Handle out_insn being a PARALLEL
- 	of SETs.
- 
- 2002-05-05  Tim Josling  <tej@melbpc.org.au>
- 
- 	* treelang; New directory for new sample language treelang.
- 
- 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (c-lex.o): Update.
- 	* c-lex.c: Include target.h.
- 	(cb_register_builtins): New.
- 	(init_c_lex): Set builtins callback.
- 	* c-lex.h (cpp_define, cpp_assert): New prototypes.
- 	* cppinit.c (init_builtins): Use callback, including for
- 	GXX_WEAK.
- 	* cpplib.h (struct cpp_callbacks): New member.
- 	* target-def.h (TARGET_REGISTER_CPP_BUILTINS): New.
- 	(TARGET_INITIALIZER): Update.
- 	* target.h (struct gcc_target): New hook.
- 	* tree.c (default_register_cpp_builtins): New.
- 	* tree.h (default_register_cpp_builtins): New.
- doc:
- 	* tm.texi (TARGET_REGISTER_CPP_BUILTINS): Document.
- 
- 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (MAX_WCHAR_TYPE_SIZE): Move to cpplib.h
- 	(cpp_post_options): Move sanity checks to...
- 	(sanity_checks): New.
- 	* cpplex.c (maybe_read_ucs): Fix prototype.
- 	(parse_string, cpp_parse_escape): Cast for %c format specifier.
- 	* cpplib.h (cppchar_t): Use unsigned long or unsigned long long
- 	if necessary.
- 
- 2002-05-04  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/i386/i386.c (bdesc_2arg): Add a couple of missing SSE2
- 	builtins.  Use V2DI patterns instead of TI for logical operations.
- 	(ix86_init_mmx_sse_builtins): Add a couple of missing SSE2 builtins.
- 	Correct definitions of psadbw, pmovmskb128, movntdq, cvtdq2ps.
- 	(ix86_expand_builtins): Change the pattern used for movntdq.
- 	* config/i386/i386.md (sse2_andv2di3, sse2_iorv2di3, sse2_xorv2di3,
- 	sse2_nandv2di3): New patterns.
- 	(sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3): Correct modes
- 	on operands.
- 	(sse2_movntv2di): Renamed from sse2_movntti and modes adjusted.
- 	(cvtdq2pd): Correct mode on operand 1.
- 	(sse2_umulsidi3): Describe without unspec.
- 	(sse2_psadbw, mmx_psadbw): Describe with unspec; use more appropriate
- 	machine modes.
- 	(lshrv2di3): Renamed from sse2_lshrv2di3 and removed unspec.
- 	(ashlv2di3): Likewise, from sse2_ashlv2di3.
- 	(ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3,
- 	ashlv4si3, ashlv2di3): Use SImode for shift count.
- 	(ashrv8hi3_ti, ashrv4si3_ti, lshrv8hi3_ti, lshrv4si3_ti, lshrv2di3_ti,
- 	lshrv4si3_ti, lshrv2di3_ti, ashlv8hi3_ti, ashlv4si3_ti, ashlv2di3_ti):
- 	New patterns.
- 	* config/i386/xmmintrin.h (__v2df, __v2di, __v4si, __v8hi, __v16qi):
- 	New typedefs.
- 	(__m128i, __m128d): New macros.
- 	(_mm_add_pd, _mm_add_sd, _mm_sub_pd, _mm_sub_sd, _mm_mul_pd,
- 	_mm_mul_sd, _mm_div_pd, _mm_div_sd, _mm_sqrt_pd, _mm_sqrt_sd,
- 	_mm_min_pd, _mm_min_sd, _mm_max_sd, _mm_max_pd, _mm_and_pd,
- 	_mm_andnot_pd, _mm_xor_pd, _mm_or_pd, _mm_cmpeq_pd, _mm_cmplt_pd,
- 	_mm_cmple_pd, _mm_cmpgt_pd, _mm_cmpge_pd, _mm_cmpneq_pd,
- 	_mm_cmpnlt_pd, _mm_cmpnle_pd, _mm_cmpngt_pd, _mm_cmpnge_pd,
- 	_mm_cmpord_pd, _mm_cmpunord_pd, _mm_cmpeq_sd, _mm_cmplt_sd,
- 	_mm_cmple_sd, _mm_cmpgt_sd, _mm_cmpge_sd, _mm_cmpneq_sd,
- 	_mm_cmpnlt_sd, _mm_cmpnle_sd, _mm_cmpngt_sd, _mm_cmpnge_sd,
- 	_mm_cmpord_sd, _mm_cmpunord_sd, _mm_comieq_sd, _mm_comilt_sd,
- 	_mm_comile_sd, _mm_comigt_sd, _mm_comige_sd, _mm_comineq_sd,
- 	_mm_ucomieq_sd, _mm_ucomieq_sd, _mm_ucomilt_sd, _mm_ucomile_sd,
- 	_mm_ucomigt_sd, _mm_ucomige_sd, _mm_ucomineq_sd, _mm_cvtepi32_pd,
- 	_mm_cvtepi32_ps, _mm_cvtpd_epi32, _mm_cvtpd_pi32, _mm_cvtpd_ps,
- 	_mm_cvttpd_epi32, _mm_cvttpd_pi32, _mm_cvtpi32_pd, _mm_cvtps_epi32,
- 	_mm_cvttps_epi32, _mm_cvtps_pd, _mm_cvtsd_si32, _mm_cvttsd_si32,
- 	_mm_cvtsd_ss, _mm_cvtsi32_sd, _mm_cvtss_sd, _mm_unpackhi_pd,
- 	_mm_unpacklo_pd, _mm_loadh_pd, _mm_storeh_pd, _mm_storel_pd,
- 	_mm_movemask_pd, _mm_packs_epi16, _mm_packs_epi32, _mm_packus_epi16,
- 	_mm_unpackhi_epi8, _mm_unpackhi_epi16, _mm_unpackhi_epi32,
- 	_mm_unpacklo_epi8, _mm_unpacklo_epi16, _mm_unpacklo_epi32,
- 	_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
- 	_mm_adds_epi8, _mm_adds_epi16, _mm_adds_epu8, _mm_adds_epu16,
- 	_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
- 	_mm_subs_epi8, _mm_subs_epi16, _mm_subs_epu8, _mm_subs_epu16,
- 	_mm_madd_epi16, _mm_mulhi_epi16, _mm_mullo_epi16, _mm_mul_pu16,
- 	_mm_mul_epu16, _mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64,
- 	_mm_sra_epi16, _mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32,
- 	_mm_srl_epi64, _mm_slli_epi16, _mm_slli_epi32, _mm_slli_epi64,
- 	_mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
- 	_mm_srli_epi64, _mm_and_si128, _mm_andnot_si128, _mm_or_si128,
- 	_mm_xor_si128, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
- 	_mm_cmpgt_epi8, _mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_max_epi16,
- 	_mm_max_epu8, _mm_min_epi16, _mm_min_epu8, _mm_movemask_epi8,
- 	_mm_mulhi_epu16, _mm_maskmoveu_si128, _mm_avg_epu8, _mm_avg_epu16,
- 	_mm_sad_epu8, _mm_stream_si32, _mm_stream_si128, _mm_stream_pd,
- 	_mm_movpi64_epi64, _mm_clflush, _mm_lfence, _mm_mfence): New
- 	functions.
- 	(_mm_shufflehi_epi16, _mm_shufflelo_epi16, _mm_shuffle_epi32,
- 	_mm_extract_epi16, _mm_insert_epi16, _mm_shuffle_pd): New macros.
- 
- 2002-05-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dwarf2out.c: Fix formatting.
- 	* varasm.c: Likewise.
- 
- 2002-05-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR c/6543
- 	* config/rs6000/rs6000.md (sCC pattern and splitter): Remove
- 	clobber and use result as temporary value.
- 
- Sat May  4 13:20:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (force_operand): Use expand_simple_* to handle more
- 	cases.
- 
- 2002-05-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.c (lex_string): Let cpp_parse_escape handles truncation
- 	and sign-extension.
- 	(lex_charconst): Update for change in prototype of
- 	cpp_interpret_charconst.  Extend from cppchar_t to HOST_WIDE_INT
- 	appropriately.
- 	* cpphash.h (BITS_PER_CPPCHAR_T): New.
- 	* cppinit.c (cpp_create_reader): Initialize them for no
- 	change in semantics.
- 	(cpp_post_options): Add sanity checks.
- 	* cpplex.c (cpp_parse_escape): Handle precision, sign-extension
- 	and truncation issues.  Calculate in type cppchar_t.
- 	(MAX_CHAR_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Remove.
- 	(cpp_interpret_charconst): Calculate in type cppchar_t.  Handle
- 	run-time dependent precision correctly.  Return whether the
- 	result is signed or not.
- 	* cpplib.c (dequote_string): Use cppchar_t; update.
- 	* cpplib.h (cppchar_signed_t): New.
- 	struct cpp_options): New precision members.
- 	(cpp_interpret_charconst, cpp_parse_escape): Update prototypes.
- 	* cppexp.c (eval_token): Update.
- 
- 2002-05-03  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc-protos.h (sparc_rtx_costs): New.
- 	* config/sparc/sparc.c (sparc_rtx_costs): New function
- 	implementing RTX_COSTS and CONST_COSTS.
- 	* config/sparc/sparc.h (CONST_COSTS): Delete.
- 	(RTX_COSTS_CASES): Define.
- 	(RTX_COSTS): Expand RTX_COSTS_CASES and use sparc_rtx_costs to do
- 	the work.
- 
- 	* config/sparc/sparc.md (DFA schedulers): Split out...
- 	* config/sparc/cypress.md, config/sparc/hypersparc.md,
- 	config/sparc/sparclet.md, config/sparc/supersparc.md,
- 	config/sparc/ultra1_2.md, config/sparc/ultra3.md: ... into here.
- 
- 	* config/sparc/sparc.c (LEAF_REGISTERS): Do not do ifdef
- 	checks on it, always defined for SPARC.
- 
- 	* config/sparc/sparc.h (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER):
- 	Tweak, and add more detailed comments.
- 
- 2002-05-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Re-apply patch accidentally reverted with
- 	DFA scheduler merge: remove all rules and variables to slurp
- 	source files out of libiberty and rebuild them with HOST_CC.
- 	($(HOST_PREFIX_1)varray.o): New rule.
- 	(genattrtab rule): Word wrap.
- 
- 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/i386/netbsd64.h (CPP_LP64_SPEC): Define.
- 	(CPP_SUBTARGET_SPEC): Define.
- 	(SUBTARGET_EXTRA_SPECS): Redefine, adding cpp_lp64 and
- 	cpp_subtarget specs.
- 	(CPP_SPEC): Redefine to include %(cpp_subtarget).
- 
- 2002-05-03  David S. Miller  <davem@redhat.com>
- 
- 	* target-defs.h (TARGET_SCHED_CYCLE_DISPLAY): Delete.
- 	* target.h (struct gcc_target): Delete cycle_display member.
- 
- 	* config/ia64/ia64.c (ia64_emit_insn_before): Put it back.
- 	(rtx_needs_barrier): Delete reference to cycle_display unspec.
- 	(ia64_sched_reorder2): Mention need for cycle display handling
- 	once such notes exist.
- 
- 2002-05-03  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (etoasc): Strip most trailing zeros for clarity.
- 	* sched-vis.c: Include real.h.
- 	(print_value): Use REAL_VALUE_TO_DECIMAL as needed.
- 	* Makefile.in (sched-vis.o): Add real.h.
- 
- 2002-05-03  David S. Miller  <davem@redhat.com>
- 
- 	* haifa-sched.c (rank_for_schedule): Revert 2002-05-02 change,
- 	no longer needed.
- 
- 2002-05-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (altivec_expand_binop_builtin): Error out
- 	when we get an out of range literal.
- 	(altivec_expand_ternop_builtin): Same.
- 	(altivec_expand_unop_builtin): Same.
- 	(altivec_expand_builtin): Same, for dss.
- 	(altivec_expand_builtin): Use trees instead of rtl when
- 	determining literal argument validity.
- 
- 2002-05-03  David S. Miller  <davem@redhat.com>
- 
- 	Delete cycle display scheduling hook.
- 	* config/ia64/ia64.c (ia64_cycle_display,
- 	TARGET_SCHED_CYCLE_DISPLAY, ia64_emit_insn_before): Delete.
- 	(ia64_sched_reorder2): Don't check for CODE_FOR_cycle_display
- 	and use emit_insn_before instead of ia64_emit_insn_before.
- 	* config/ia64/ia64.md (unspec usage): Delete cycle display.
- 	(cycle_display): Delete insn pattern.
- 	* config/sparc/sparc.md (unspec usage): Delete cycle display.
- 	(cycle_display): Delete insn pattern.
- 	* config/sparc/sparc.c (sparc_cycle_display,
- 	TARGET_SCHED_CYCLE_DISPLAY): Delete.
- 	* doc/md.texi (cycle_display): Don't mention.
- 	* doc/tm.texi (TARGET_SCHED_CYCLE_DISPLAY): Likewise.
- 
- 2002-05-03  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (store_data_bypass_p, if_test_bypass_p): New.
- 	* recog.h: Declare them.
- 
- 	* config/sparc/sparc.c (ultrasparc_store_bypass_p): Remove.
- 	* config/sparc/sparc.md: Use store_data_bypass_p instead.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/netbsd-elf.c (CPP_SUBTARGET_SPEC64): Remove
- 	-D__arch64__.  Add -D_LP64.
- 	(CPP_ARCH32_SPEC): Redefine to match the non-bi-arch version
- 	from sparc.h.
- 	(CPP_ARCH64_SPEC): Likewise.
- 	(NO_BUILTIN_PTRDIFF_TYPE): Undef.
- 	(NO_BUILTIN_SIZE_TYPE): Undef.
- 
- 2002-05-03  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (min_issue_delay_pass_states): Change return type
- 	in the prototype.
- 	(min_issue_delay_pass_states): Change the algorithm.
- 	(min_issue_delay): Set up min_insn_issue_delay for the state.
- 	(output_min_issue_delay_table): Interchange the nested loops and
- 	and initiate min_insn_issue_delay for states.
- 
- Fri May  3 22:59:15 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_optimize_cfg):  Call merge_block only when
- 	jump is simplejump.
- 
- Fri May  3 22:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c  (expand_movstr, expand_clrstr): Fix inline-all-stringops
- 	sequence.
- 
- 2002-05-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/6534
- 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_store_flag_inc, noce_try_store_flag_mask, noce_try_cmove,
- 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs): Insert new
- 	code before JUMP, not EARLIEST.
- 
- 2002-05-03  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-format.c (check_format_info_main): Don't check for presence of
- 	parameter for * width until after operand number has been read,
- 	and only check for it if format parameters are available.
- 	Fixes PR c/6547.
- 
- 2002-05-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/netbsd.h (CPP_PREDEFINES): Add -D_LP64.
- 	(LINK_SPEC): Undef before defining.
- 
- 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR preprocessor/6489
- 	* tradcpp.c (fixup_newlines): New.
- 	(main, finclude): Use it.
- 
- 2002-05-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/elf64.h (UNIQUE_SECTION): Use mips_unique_section.
- 	* config/mips/mips.c (mips_unique_section): Strip encoding from
- 	decl name.
- 
- 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_int_movcc): Truncate to proper
- 	mode.
- 
- 2002-05-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (Installing): Mention GCC 3.1 buildstats.
- 	(Specific): Removed buildstats references.
- 	(Specific, hppa*-hp-hpux11): Adjust for GCC versions > 3.0.
- 	(Specific, sparc-sun-solaris2*): Update 64-bit hints for GCC 3.1.
- 	Accomodate Solaris versions beyond 8.
- 	(Specific, sparc-sun-solaris2.7): Update as path for GCC 3.1.
- 	(Specific, *-*-solaris2.8): Removed, obsolete.
- 
- 2002-05-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6542
- 	* config/sparc/sparc.h (leaf_reg_remap): Remove const.
- 	(CONDITIONAL_REGISTER_USAGE): For TARGET_FLAT make
- 	fill leaf_reg_remap with identity.
- 	* config/sparc/sparc.c (leaf_reg_remap): Remove const.
- 
- 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/crti.asm: Remove trailing spaces.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 
- 2002-05-02  Jason Merrill  <jason@redhat.com>
- 
- 	* defaults.h (BOOL_TYPE_SIZE): Move default here from cp/decl.c.
- 	* c-decl.c (c_init_decl_processing): Use it.
- 	* config/rs6000/darwin.h (BOOL_TYPE_SIZE): Define to INT_TYPE_SIZE.
- 	* config/i960/i960.h (BOOL_TYPE_SIZE): Don't define.
- 	* config/mcore/mcore.h (BOOL_TYPE_SIZE): Don't define.
- 
- 2002-05-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* regrename.c: Fix formatting.
- 	* tree.c: Likewise.
- 
- Fri May  3 13:34:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (attribute memory): Handle compares properly.
- 
- Fri May  3 10:51:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_clrsf, sse_clrsi): Set memory attribute
- 	to none.
- 
- 2002-05-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* function.c: Fix formatting.
- 
- 2002-05-02  Jan Hubicka  <jh@suse.cz>
- 
- 	* haifa-sched.c (schedule_insn): Print table of instructions and
- 	reservations.
- 	(sched_block): Do not print ready list at verbosity level 1.
- 	* sched-vis.c (print_insn): Make global.
- 	* sched-ebb.c (ebb_print_insn): Rename from...
- 	(print_insn): ... this one.
- 	* sched-int.h (print_insn): Declare
- 
- 2002-05-02  Richard Henderson  <rth@redhat.com>
- 
- 	* haifa-sched.c (rank_for_schedule): Skip past last_scheduled_insn
- 	emitted by cycle_display.
- 
- 2002-05-02  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi (*-*-freebsd*): Update to latest status.
- 
- 2002-05-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6540
- 	* config.gcc (sparc*-*-solaris2*): Set float_format to i128.
- 	* config/float-sparc.h: Assume 128-bit long double if
- 	__LONG_DOUBLE_128__ is defined.
- 
- 2002-05-02  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genattrtab.c (write_function_unit_info): Add a dummy element
- 	when num_units == 0.
- 
- 2002-05-02 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* predict.c: (propagate_freq, estimate_bb_frequencies): Use
- 	TYPE_MODE (double_type_node) instead of DFmode.
- 
- Thu May  2 19:50:04 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Do not kill computed
- 	jumps post reload.
- 	* toplev.c (rest_of_compilation): Revert Richard's patch.
- 
- 2001-05-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/x-ada (ADA_CFLAGS): Rename to X_ADA_CFLAGS.
- 
- 2002-05-02  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.h (TRAMPOLINE_TEMPLATE): Change r5 to r20.
- 
- 2002-05-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c: Fix comment typos.
- 	* expr.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* stmt.c: Likewise.
- 	* tree.h: Likewise.
- 
- 2002-05-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: State GNAT version requirements.
- 
- 2002-05-02  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Accept any form
- 	of the frame pointer or arg pointer register which strict register
- 	checking is not enabled.
- 
- 2002-05-02  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* gcc.dg/altivec-8.c: New.
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimate_address): Disallow
- 	PRE_INC and PRE_DEC for altivec modes.
- 
- 2002-05-01  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/check.tpl(set-writable): make sure the function exists first
- 	* fixinc/inclhack.def(alpha_assert): fix test_text
- 	* fixinc/tests/base/assert.h: add in missing result
- 
- 2002-05-01  Jeff Law  <law@redhat.com>
- 
- 	* pa.h (EXTRA_CONSTRAINT): Don't accept PIC addresses for the
- 	'T' constraint.
- 
- 2002-05-01  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dbxout.c (dbxout_type): Emit size information for range types,
- 	as well, but only when using GDB extensions.
- 
- 2002-05-01  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_GAS_HIDDEN): Replace SPARC feature test with
- 	target-independent gnu binutils date test.
- 
- 2002-05-01  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
- 	info before expunging the block.
- 
- 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cppinit.c (cpp_handle_option) [-dM]: Don't set no_output here...
- 	(cpp_post_options): ...but here.  Disable -dD, -dN and -dI when
- 	-M -or -MM is in effect.
- 
- 2002-05-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Correct test of --enable-obsolete.  Obsolete all
- 	A29k configurations.
- 	* doc/install.texi: Update to match.
- 
- 2002-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR bootstrap/6514
- 	* varasm.c (globalize_decl): Compare DECL_ASSEMBLER_NAME to check
- 	for duplicates. Always loop over whole list.
- 
- Wed May  1 10:32:37 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload.c (find_reloads, case 'p'): Set BADOP to 0.
- 
- 2002-05-01	Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/sparc/t-elf (sparc-rtems, sparc-elf): Build assembly
- 	support routines.
- 
- 2002-05-01	Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/arm/rtems-elf.h: Add #undef TARGET_VERSION to prevent warning.
- 
- 2002-05-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (abssi2_nopower): Convert to define_insn_and_split.
- 	(nabs_nopower): Same.
- 	(floatdisf2): New pattern.
- 	(absdi2): Convert to define_insn_and_split.
- 	(nabsdi2): Same.
- 	(trunctfsf2): Same.
- 	(floatditf2): Same.
- 	(floatsitf2): Same.
- 	(fix_trunctfdi2): Same.
- 	(fix_trunctfsi2): Same.
- 
- 2002-05-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/install.texi: Update Texinfo version requirement
- 	documentation.
- 
- 2002-05-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6512, PR target/5628
- 	* config/sparc/sparc.md (movdf_insn_v9only_novis): Don't allow >= %f32
- 	when memory is not aligned.
- 	(movdf_insn_v9only_vis): Likewise.
- 	* config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Request a FP_REGS
- 	temporary for EXTRA_FP_REGS DFmode load from unaligned memory.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Similarly.
- 
- 2002-05-01  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* gcc.dg/altivec-7.c: New.
- 
- 	* config/rs6000/altivec.h: Cleanup.
- 
- 2002-04-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/invoke.texi (Option Summary): Add -mvrsave=.
- 	(RS/6000 and PowerPC Options): Document -mvrsave=.
- 
- 	* config/rs6000/rs6000.c (rs6000_altivec_vrsave): New global.
- 	(rs6000_altivec_vrsave_string): Same.
- 	(rs6000_override_options): Call rs6000_parse_vrsave_option.
- 	(rs6000_parse_vrsave_option): New.
- 	(rs6000_stack_info): Only generate vrsave instructions when
- 	TARGET_ALTIVEC_VRSAVE.
- 
- 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add -mvrsave= option.
- 	(rs6000_altivec_vrsave_string): Define extern.
- 	(rs6000_altivec_vrsave): Same.
- 	(TARGET_ALTIVEC_VRSAVE): New.
- 
- 2002-04-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/6516
- 	* toplev.c (rest_of_compilation): Don't run cross-jump before
- 	bb-reorder.
- 
- 2002-04-30  Tom Rix  <trix@redhat.com>
- 
- 	* regrename.c (build_def_use, copyprop_hardreg_forward_1): Sanity
- 	check which_alternative.
- 
- 2002-04-30  Kazu Hirata  <kazu@hxi.com>
- 
- 	* cpplex.c: Fix comment formatting.
- 	* function.c: Likewise.
- 	* integrate.c: Likewise.
- 	* regrename.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* tree-inline.c: Likewise.
- 
- 2002-04-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* config.gcc (hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-rtems*,
- 	hppa1.0-*-osf*, hppa1.1-*-bsd*, hppa1.1-*-hpux10*, hppa2*-*-hpux10*,
- 	hppa1.0-*-hpux10*, hppa*64*-*-hpux11*, hppa1.1-*-hpux11*,
- 	hppa2*-*-hpux11*, hppa1.0-*-hpux11*, hppa*-*-lites*): Define xmake_file.
- 	* pa/t-linux, pa/t-pa, pa/t-pa64, t-pro (T_ADAFLAGS): Delete.
- 	* pa/x-ada: New file.  Define ADA_CFLAGS.
- 
- 2002-04-30  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h (MMIX_LAST_STACK_REGISTER_REGNUM): Renamed
- 	from MMIX_LAST_REGISTER_FILE_REGNUM.
- 	(NO_IMPLICIT_EXTERN_C): Remove cryptic obsolete comment.
- 	(struct machine_function): New member highest_saved_stack_register
- 	previously static variable in mmix.c.
- 	(MACHINE_DEPENDENT_REORG): Define.
- 	* config/mmix/mmix.c (highest_saved_stack_register): Deleted.
- 	(MMIX_OUTPUT_REGNO): New.
- 	(mmix_target_asm_function_prologue): Move calculation of last used
- 	saved-stack-register into...
- 	(mmix_machine_dependent_reorg): New function.  Update to also handle
- 	!TARGET_ABI_GNU.
- 	(mmix_print_operand): Apply MMIX_OUTPUT_REGNO when emitting
- 	register names, simplify somewhat by new variable regno.
- 	<case 'p'>: Remove fixed FIXME.  Always emit highest used saved
- 	register.
- 	(mmix_print_operand_address): Apply MMIX_OUTPUT_REGNO when
- 	emitting register names.
- 	(mmix_asm_output_reg_push, mmix_asm_output_reg_pop): Ditto.
- 	(mmix_dbx_register_number): Apply MMIX_OUTPUT_REGNO here too.
- 	Remove fixed FIXME.
- 	* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg):
- 	Declare.
- 
- 	* config/mmix/mmix.md ("divmoddi4"): Update head comment.
- 
- 2002-04-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (emit_soft_tfmode_libcall,
- 	emit_soft_tfmode_binop, emit_soft_tfmode_unop, emit_soft_tfmode_cvt,
- 	emit_hard_tfmode_operation, emit_tfmode_binop, emit_tfmode_unop,
- 	emit_tfmode_cvt): New.
- 	* config/sparc/sparc.md (extendsftf2, extenddftf2, trunctfsf2,
- 	trunctfdf2, floatsitf2, floatunssitf2, floatditf2, floatunsditf2,
- 	fix_trunctfsi2, fixuns_trunctfsi2, fix_trunctfdi2, fixuns_trunctfdi2,
- 	addtf3, subtf3, multf3, divtf3, sqrttf2): Use them.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 2002-04-30  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* install.texi (Final install): Add to the list of info to include
- 	in a report of a successful bootstrap, and add link to 3.1 list.
- 
- Tue Apr 30 19:15:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (type): Add new SSE/MMX subtypes, remove usused fop1.
- 	(mode): Add vector modes
- 	(i387): Kill attribute.
- 	(unit): New attribute.
- 	(length_immediate): Grok new types.
- 	(prefix_data16, prefix_rep, prefix_0f): Fix for SSE/MMX.
- 	(modrm): Use "unit".
- 	(memory): Handle MMX/SSE properly.
- 	(scheduling descriptions): Kill uses of fop1.
- 	(sse, mmx, fp patterns): Set type and mode properly.
- 
- Tue Apr 30 09:31:59 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* pa.c (override_options): Default to PA8000 scheduling.
- 	* doc/invoke.texi (HP-PA options): Mention newly added 7300
- 	scheduling parameter.
- 
- 	* pa.md (7100lc, 7200, 7300 scheduling): Slightly refine
- 	handling of double precision multiplies.
- 
- 	* pa.md (7100lc, 7200, 7300 scheduling): Refine handling of
- 	fpdiv and fpsqrt instructions.
- 	(7200 & 7300 scheduling): Fix typo in handling of
- 	store-load and store-store penalties.
- 
- 2002-04-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Use MIPS instead of Mips and
- 	mips.  Add two missing commas.
- 
- 2002-04-30  Paolo Carlini  <pcarlini@unitus.it>
- 
- 	* doc/contrib.texi (Contributors): Update Paolo Carlini's
- 	and Benjamin Kosnik's entries.
- 
- 2002-04-29  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.h (BRANCH_COST, PREFETCH_BLOCK,
- 	SIMULTANEOUS_PREFETCHES): Tune for UltraSPARC-III.
- 	* config/sparc/sparc.md (call + jmp 32-bit peepholes): Likewise.
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
- 
- 2002-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* combine.c (find_split_point): Use gen_int_mode.
- 
- 2002-04-29  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	Merging code from dfa-branch:
- 
- 	2002-04-24  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_reserv_sets): Fix typo.
- 
- 	2002-04-23  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_reserv_sets): Remove
- 	next_cycle_output_flag.
- 
- 	Thu Apr 18 08:57:06 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* sched-rgn.c (init_ready_list): Make the DFA code handle
- 	USE/CLOBBER insns in the same way as the traditional
- 	scheduler.
- 	(new_ready): Similarly..
- 
- 	2002-04-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (schedule_block): Change the DFA state only after
- 	issuing insn.
- 
- 	Wed Apr 17 15:38:36 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* pa.c (hppa_use_dfa_pipeline_interface): New function.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define.
- 	(override_options): Add PA7300 scheduling support.
- 	(pa_adjust_cost): Update various comments.  Properly
- 	handle anti and output dependencies when using the
- 	DFA scheduler.
- 	(pa_issue_rate): Add PA7300 scheduling support.
- 	(pa_can_combine_p): Call extract_insn before calling
- 	constrain_operands (taken from mainline tree).
- 	* pa.h (enum processor_type): Add PROCESSOR_PA7300.
- 	* pa.md (cpu attr): Add 7300.  Rewrite pipeline
- 	descriptions using DFA descriptions.  Add PA7300
- 	scheduling support.
- 
- 	2002-03-30  David S. Miller  <davem@redhat.com>
- 
- 	Add UltraSPARC-III DFA scheduling support.
- 	* config/sparc/sparc.md (define_attr type): Add fpcrmove.
- 	Update FP conditional move on register insn patterns to use it, as
- 	appropriate.
- 	(define_attr cpu): Add ultrasparc3.
- 	(define_attr us3load_type): New, update integer load patterns to
- 	set it, as appropriate.
- 	(define_automaton): Add ultrasparc3_0 and ultrasparc3_1.
- 	(rest): Add UltraSPARC3 scheduling description.
- 	* config/sparc/sparc.h (TARGET_CPU_ultrasparc3): New.
- 	(PROCESSOR_ULTRASPARC3): New.
- 	({ASM,CPP}_CPU64_DEFAULT_SPEC): Handle ultrasparc3.
- 	({ASM,CPP}_CPU_SPEC): Likewise.
- 	(REGISTER_MOVE_COST): Likewise.
- 	(RTX_COSTS): Likewise.
- 	* config/sparc/sparc.c (sparc_override_options,
- 	sparc_initialize_trampoline, sparc64_initialize_trampoline,
- 	sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
- 	sparc_issue_rate): Likewise.
- 	* config/sparc/sol2.h: Likewise.
- 	* config/sparc/sol2-sld-64.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 
- 	2002-03-22  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* doc/md.texi: Add comments about usage the latency time for the
- 	different dependencies and about case when two or more conditions
- 	in different define_insn_reservations returns TRUE for an insn.
- 
- 	* doc/md.texi: Add reference for automaton based pipeline
- 	description.
- 
- 	2002-03-04  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* doc/passes.texi: Add missed information about genattrtab.
- 
- 	2002-03-01  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_automata_list_transition_code): Check
- 	automata_list on NULL.
- 
- 	2002-02-28  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_insn_code_cases,
- 	output_automata_list_min_issue_delay_code,
- 	output_automata_list_transition_code,
- 	output_automata_list_state_alts_code): Comment the functions.
- 
- 	2002-02-22  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (automata_list_el_t): New typedef.
- 	(get_free_automata_list_el,free_automata_list_el,
- 	free_automata_list, automata_list_hash, automata_list_eq_p,
- 	initiate_automata_lists, automata_list_start, automata_list_add,
- 	automata_list_finish, finish_automata_lists,
- 	output_insn_code_cases, output_automata_list_min_issue_delay_code,
- 	output_automata_list_transition_code,
- 	output_automata_list_state_alts_code, add_automaton_state,
- 	form_important_insn_automata_lists): New functions and prototypes.
- 	(insn_reserv_decl): Add members important_automata_list and
- 	processed_p.
- 	(ainsn): Add members important_p.
- 	(automata_list_el): New structure.
- 	(first_free_automata_list_el, current_automata_list,
- 	automata_list_table): New global variables.
- 	(create_ainsns): Initiate member important_p.
- 	(output_internal_min_issue_delay_func): Generate the switch and
- 	call output_insn_code_cases.
- 	(output_internal_trans_func, output_internal_state_alts_func):
- 	Ditto.
- 	(generate): Call initiate_automata_lists.
- 	(automaton_states): New global variable.
- 	(expand_automata): Call form_important_insn_automata_lists.
- 	(write_automata): Call finish_automata_lists.
- 
- 	2002-02-21  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (add_excls, add_presence_absence): Check that
- 	cpu units in the sets belong the same automaton.
- 
- 	* rtl.def (EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET): Add comment
- 	about that cpu units in the sets belong the same automaton.
- 
- 	* doc/md.texi: Ditto.
- 
- 	2001-12-20  Naveen Sharma  <naveens@noida.hcltech.com>
- 		    Nitin Gupta  <niting@noida.hcltech.com>
- 
- 	* config/sh/sh.c (sh_use_dfa_interface): New function.
- 
- 	(sh_issue_rate): New Function.
- 	TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE: define.
- 	TARGET_SCHED_ISSUE_RATE: define.
- 
- 	* config/sh/sh.md: Add DFA based pipeline description for SH4.
- 
- 	(define_attr insn_class): New attribute used for DFA
- 	 scheduling.
- 	(define_insn cmpgtsi_t): Set attribute insn_class mt_group.
- 	(cmpgesi_t,cmpgtusi_t,cmpgeusi_t,cmpeqsi_t,
- 	 cmpeqdi_t): Likewise.
- 
- 	(add,addc1,addsi3,subc,subc1,*subsi3_internal,
- 	 negc,negsi2,ashldi3_k,lshrdi3_k,ashrdi3_k): Set insn_class
- 	 ex_group.
- 	(iorsi3,rotlsi3_1,rotlsi3_31,rotlsi3_16): Likewise.
- 
- 	2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
- 
- 	* haifa-sched.c (queue_to_ready): Remove unnecessary condition for
- 	break.
- 
- 	2001-10-03  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
- 
- 	* genautomata.c (DFA_INSN_CODES_LENGTH_VARIABLE_NAME): New macro.
- 	(output_dfa_insn_code_func): Expand dfa_insn_codes if it is
- 	necessary.
- 	(output_dfa_start_func): Initiate new variable insn_codes_length,
- 	(write_automata): Output definition of the new variable.
- 
- 	2001-10-02  David S. Miller  <davem@redhat.com>
- 
- 	* haifa-sched.c (advance_one_cycle): New function.
- 	(schedule_block): Use it.
- 	(queue_to_ready): Use it, and also make sure to advance the DFA
- 	state on all stall cycles, not just those where insn_queue links
- 	are found.
- 
- 	2001-10-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* haifa-sched.c (max_issue): Remove last_p argument.  Only return
- 	nonzero if the highest-priority instruction could be scheduled.
- 	(choose_ready): Remove last argument from max_issue call.
- 
- 	2001-09-28  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_use_sched_lookahead): Use 4 for
- 	ultrasparc and 3 for other multi-issue sparcs.
- 
- 	2001-09-27  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (cycle_display): New pattern.
- 	* config/sparc/sparc.c (sparc_cycle_display): New.
- 	(TARGET_SCHED_CYCLE_DISPLAY): Set it.
- 
- 	2001-09-25  David S. Miller  <davem@redhat.com>
- 
- 	Convert all of SPARC scheduling to DFA
- 	* config/sparc/sparc.md: Kill all define_function_unit
- 	directives and replace with DFA equivalent.
- 	* config/sparc/sparc.c (ultrasparc_adjust_cost,
- 	mark_ultrasparc_pipeline_state, ultra_cmove_results_ready_p,
- 	ultra_fpmode_conflict_exists, ultra_find_type,
- 	ultra_build_types_avail, ultra_flush_pipeline,
- 	ultra_rescan_pipeline_state, ultrasparc_sched_reorder,
- 	ultrasparc_variable_issue, ultrasparc_sched_init,
- 	sparc_variable_issue, sparc_sched_reorder, ultra_code_from_mask,
- 	ultra_schedule_insn, ultra_code_names, ultra_pipe_hist,
- 	ultra_cur_hist, ultra_cycles_elapsed): Kill.
- 	(sparc_use_dfa_pipeline_interface, sparc_use_sched_lookahead,
- 	ultrasparc_store_bypass_p): New.
- 	* config/sparc/sparc-protos.h (ultrasparc_store_bypass_p):
- 	Declare.
- 
- 	2001-09-24  David S. Miller  <davem@redhat.com>
- 
- 	* haifa-sched.c (ready_remove): Fix thinko, we want to copy around
- 	ready->vec[foo] not ready[foo].
- 
- 	2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* doc/md.texi: Correct examples for define_insn_reservations
- 	`mult' and `div'.
- 
- 	2001-09-07  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (create_automata): Print message about creation of
- 	each automaton.
- 	(generate): Remove printing meease about creation of
- 	automata.
- 
- 	2001-09-05  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
- 	* config/sparc/linux64.h: Likewise.
- 
- 	2001-08-31  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (insn_cost, schedule_insn, queue_to_ready,
- 	schedule_block, sched_init, sched_finish): Add missed calls of
- 	use_dfa_pipeline_interface.
- 
- 	* sched-rgn.c (init_ready_list, new_ready, debug_dependencies):
- 	Ditto.
- 
- 	* sched-vis.c (get_visual_tbl_length): Ditto.
- 
- 	2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* genattr.c (main): Emit state_t even when not doing scheduling.
- 
- 	2001-08-27  Richard Henderson  <rth@redhat.com>
- 
- 	* genautomata.c (expand_automata): Always create a description.
- 
- 	2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
- 
- 	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
- 	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
- 	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
- 	RTL constructions.
- 
- 	* genattr.c (main): New variable num_insn_reservations.  Increase
- 	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
- 	pipeline hazard recognizer interface.
- 
- 	* genattrtab.h: New file.
- 
- 	* genattrtab.c: Include genattrtab.h.
- 	(attr_printf, check_attr_test, make_internal_attr,
- 	make_numeric_value): Move protypes into genattrtab.h.  Define them
- 	as external.
- 	(num_dfa_decls): New global variable.
- 	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
- 	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
- 	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
- 	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
- 
- 	* genautomata.c: New file.
- 
- 	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
- 
- 	* sched-int.h: (curr_state): Add the external definition for
- 	automaton pipeline interface.
- 	(haifa_insn_data): Add comments for members blockage and units.
- 
- 	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
- 	macros.
- 	(TARGET_SCHED): Use the new macros.
- 
- 	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
- 	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
- 	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
- 	dfa_bubble): New members in gcc_target.sched.
- 
- 	* haifa-sched.c (insert_schedule_bubbles_p): New variable.
- 	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
- 	(insn_queue): Redefine it as pointer to array.
- 	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
- 	INSN_QUEUE_SIZE.
- 	(max_insn_queue_index_macro_value): New variable.
- 	(curr_state, dfa_state_size, ready_try): New varaibles for
- 	automaton interface.
- 	(ready_element, ready_remove, max_issue): New function prototypes
- 	for automaton interface.
- 	(choose_ready): New function prototype.
- 	(insn_unit, blockage_range): Add comments.
- 	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
- 	FUNCTION_UNITS_SIZE == 0.
- 	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
- 	actual_hazard, potential_hazard): Add comments.
- 	(insn_cost): Use cost -1 as undefined value.  Remove
- 	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
- 	pipeline interface.
- 	(ready_element, ready_remove): New functions for automaton
- 	interface.
- 	(schedule_insn): Add new code for automaton pipeline interface.
- 	(queue_to_ready): Add new code for automaton pipeline interface.
- 	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
- 	(debug_ready_list): Print newline when the queue is empty.
- 	(max_issue): New function for automaton pipeline interface.
- 	(choose_ready): New function.
- 	(schedule_block): Add new code for automaton pipeline interface.
- 	Print ready list before scheduling each insn.
- 	(sched_init): Add new code for automaton pipeline interface.
- 	Initiate insn cost by -1.
- 	(sched_finish): Free the current automaton state and finalize
- 	automaton pipeline interface.
- 
- 	* sched-rgn.c: Include target.h.
- 	(init_ready_list, new_ready, debug_dependencies): Add new code for
- 	automaton pipeline interface.
- 
- 	* sched-vis.c: Include target.h.
- 	(get_visual_tbl_length): Add code for automaton interface.
- 	(target_units, print_block_visualization):  Add comments.
- 
- 	* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
- 	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
- 	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
- 	(getruntime.o, genautomata.o): New entries.
- 	(genattrtab.o): Add new dependency file genattrtab.h.
- 	(genattrtab): Add new dependencies.  Link it with `libm.a'.
- 	(getruntime.o, hashtab.o): New entries for canadian cross.
- 
- 	* doc/md.texi: Description of automaton based model.
- 
- 	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
- 	Add comments.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
- 	hook descriptions.
- 	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
- 	MAX_DFA_ISSUE_RATE): New macro descriptions.
- 
- 	* doc/contrib.texi: Add dfa based scheduler contribution.
- 
- 	* doc/gcc.texi: Add more information about genattrtab.
- 
- Mon Apr 29 17:19:10 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reload1.c (eliminate_regs, case SUBREG): Fix typo in
- 	adjust_address_nv call.
- 
- 2002-04-29  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Testing): Provide additional information, and
- 	a stronger encouragement, for running the testsuites.
- 
- 2002-04-29  DJ Delorie  <dj@redhat.com>
- 
- 	* config/mips/mips.c (mips_parse_cpu): Warn if the CPU name is
- 	given in upper case.
- 
- 2002-04-29  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (solaris_widec): Include <wchar.h> in
- 	Solaris 2 <widec.h> if missing.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/widec.h: New file.
- 
- 2002-04-29  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* toplev.c (f_options): Add "profile" switch so that
- 	-fno-profile can be used to disable -p.
- 
- 2002-04-29  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* c-common.c (type_for_mode): Add support for V2DFmode, V2DImode,
- 	UV2DImode.
- 	* tree.c (build_common_tree_nodes_2): Likewise.
- 	* tree.h (enum tree_index): Likewise.
- 	(V2DF_type_node, V2DI_type_node, unsigned_V2DI_type_node): Define.
- 
- 	* config/i386/i386.c (bdesc_comi, bdesc_2arg, bdesc_1arg): Add SSE2
- 	entries.
- 	(init_mmx_sse_builtins): Initialize SSE2 builtins.
- 	(ix86_expand_builtin): Add support for SSE2 builtins.
- 	* config/i386/i386.h (VALID_SSE2_REG_MODE): New macro.
- 	(VALID_SSE_REG_MODE): Use it.
- 	(VECTOR_MODE_SUPPORTED_P): Allow SSE2 modes here as well.
- 	(enum ix86_builtins): Add SSE2 builtins.
- 	* config/i386/i386.md (movv2df_internal, movv2df, movv8hi_internal,
- 	movv8hi, movv16qi_internal, movv16qi, pushv2df, pushv8hi, pushv16qi,
- 	addv2df3, vmaddv2df3, subv2df3, vmsubv2df3, mulv2df3, vmmulv2df3,
- 	divv2df3, vmdivv2df3, smaxv2df3, vmsmaxv2df3, sminv2df3, vmsminv2df3,
- 	sse2_anddf3, sse2_nanddf3, sse2_iordf3, sse2_xordf3, sqrtv2df2,
- 	vmsqrtv2df2, maskcmpv2df3, maskncmpv2df3, vmmaskcmpv2df3,
- 	vmmaskncmpv2df3, sse2_comi, sse2_ucomi, sse2_movmskpd, sse2_pmovmskb,
- 	sse2_maskmovdqu, sse2_movntv2df, sse2_movntti, sse2_movntsi, cvtdq2ps,
- 	cvtps2dq, cvttps2dq, cvtdq2pd, cvtpd2dq, cvttpd2dq, cvtpd2pi,
- 	cvttpd2pi, cvtpi2pd, cvtsd2si, cvttsd2si, cvtsi2sd, cvtsd2ss,
- 	cvtss2sd, cvtpd2ps, cvtps2pd, addv16qi3, addv8hi3, addv4si3, addv2di3,
- 	ssaddv16qi3, ssaddv8hi3, usaddv16qi3, usaddv8hi3, subv16qi3, subv8hi3,
- 	subv4si3, subv2di3, sssubv16qi3, sssubv8hi3, ussubv16qi3, ussubv8hi3,
- 	mulv8hi3, smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
- 	sse2_umulv2siv2di3, sse2_pmaddwd, sse2_clrti, sse2_uavgv16qi3,
- 	sse2_uavgv8hi3, sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd,
- 	sse2_pshuflw, sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3,
- 	gtv8hi3, gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3,
- 	ashrv8hi3, ashrv4si3, lshrv8hi3, lshrv4si3, sse2_lshrv2di3,
- 	ashlv8hi3, ashlv4si3, sse2_ashlv2di3, sse2_ashlti3, sse2_lshrti3,
- 	sse2_unpckhpd, sse2_unpcklpd, sse2_packsswb, sse2_packssdw,
- 	sse2_packuswb, sse2_punpckhbw, sse2_punpckhwd, sse2_punpckhdq,
- 	sse2_punpcklbw, sse2_punpcklwd, sse2_punpckldq, sse2_movapd,
- 	sse2_movupd, sse2_movdqa, sse2_movdqu, sse2_movdq2q, sse2_movq2dq,
- 	sse2_movhpd, sse2_movlpd, sse2_loadsd, sse2_movsd, sse2_storesd,
- 	sse2_shufpd, sse2_clflush, sse2_mfence, mfence_insn, sse2_lfence,
- 	lfence_insn): New patterns.
- 	(sse2_andti3, sse2_nandti3, sse2_iorti3, sse2_xorti3): Renamed from
- 	sse_andti3_sse2, sse_nandti3_sse2, sse_iorti3_sse2, sse_xorti3_sse2.
- 
- Mon Apr 29 17:03:24 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_mov?fcc*): Revert patch of Mar 14th.
- 
- 2002-04-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add Paolo Carlini and
- 	Janis Johnson.
- 	Update Richard Henderson, Jakub Jelinek, and Mark Mitchell.
- 	Refer to Objective-C instead of	ObjC, SPARC instead of sparc,
- 	and CPU instead of cpu.
- 
- Mon Apr 29 13:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (flag_if_conversion, flag_if_conversion2): New static
- 	variables.
- 	(lang_independent_options): Add -fif-conversion, -fif-conversion2
- 	(rest_of_compilation): Do if conversion only when asked for.
- 	(parse_options_and_default_flags): Set new variables to 1 for -O1
- 	* invoke.texi (-fif-conversion, -fif-conversion2): Document.
- 
- Mon Apr 29 13:02:50 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (dbx64_register_map): Fix typo.
- 
- Mon Apr 29 12:18:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (real_zero, real_one, real_almost_one, real_br_prob_base,
- 	real_one_half, real_bb_freq_max): New static variables.
- 	(debug_profile_bbauxs): Kill.
- 	(process_note_predictions): Kill unused variable.
- 	(block_info_def, edge_info_def): Use REAL_VALUE_TYPE instead of
- 	volatile double.
- 	(propagate_freq): Use REAL_ARITHMETICS.
- 	(estimate_bb_frequencies): Likevise; init new static variables.
- 	* Makefile.in (predict.o): Add dependency on real.h
- 
- 2002-04-28  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6500
- 	* config/sparc/sparc.md (prefetch): Emit properly for 32-bit vs.
- 	64-bit TARGET_V9.  Do not use prefetch page, use prefetch for
- 	several {reads,writes} instead.
- 	* config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES):
- 	Define.
- 
- 2002-04-27  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6494
- 	* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
- 	of the stack bias.
- 
- 	* config/sparc/linux.h, config/sparc/linux64.h: Don't bother
- 	including signal.h and sys/ucontext.h, not needed.
- 
- 2002-04-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* varasm.c (output_constant_def): Correct test for not calling
- 	ENCODE_SECTION_INFO for INTEGER_CST.
- 
- 2002-04-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (lex): Move some code to _cpp_parse_expr, but
- 	keep most cases as function eval_token.
- 	(eval_token): New function.
- 	(_cpp_parse_expr): Read token here for improved diagnostics.
- 	Don't use op_as_text.  Detect bad ':' here.
- 	(reduce): Don't detect bad ':' here.
- 	(op_as_text): Remove.
- 	* cpphash.h (_cpp_test_assertion): Change prototype.
- 	* cpplib.c (_cpp_test_assertion): Change prototype.
- 
- 2002-04-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5154
- 	* ggc-common.c (ggc_mark_rtx_children_1): Rename from...
- 	(ggc_mark_rtx_children): New.
- 
- 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6496
- 	* config/sparc/sparc.md (call + jump 32-bit peepholes): Disable jump
- 	after call peepholes for UltraSPARC.
- 	(call + jump 64-bit peepholes): Remove.
- 
- 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR c/6497
- 	* config/rs6000/rs6000.md (sCC patterns): Remove clobber and use
- 	result as temporary value.
- 
- 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/6396
- 	* toplev.c (rest_of_compilation): Only run regrename and copy
- 	propagation if optimizing.
- 
- 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/6475
- 	* reload1.c (alter_reg): Only call set_mem_expr if I is home pseudo
- 	register of REGNO_DECL (i).
- 	* Makefile.in (reload1.o): Add $(TREE_H).
- 
- 2002-04-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (lex): Update to use state.skip_eval.
- 	(struct op): Remove prio and flags members.
- 	(FLAG_BITS, FLAG_MASK, PRIO_SHIFT, EXTRACT_PRIO, EXTRACT_FLAGS,
- 	SHORT_CIRCUIT, RIGHT_ASSOC, ..._PRIO, op_to_prio): Remove.
- 	(LEFT_ASSOC): New macro.
- 	(optab): New table of operator priorities and flags.
- 	(SHIFT): Update.
- 	(_cpp_parse_expr): Clean up logic.  Return bool.  Use a
- 	malloc-ed parser stack.
- 	(reduce): New; reduce the operator stack.
- 	(_cpp_expand_op_stack): Expand the operator stack as necessary.
- 	* cpphash.h (struct op): Predeclare.
- 	(struct cpp_reader): New members op_stack, op_limit.
- 	(struct lexer_state): New member skip_eval.
- 	(_cpp_parse_expr): Update.
- 	(_cpp_expand_op_stack): New.
- 	* cpplib.c (do_if): Update.
- 	* cppinit.c (cpp_create_reader): Create op stack.
- 	(cpp_destroy): And destroy it.
- 	* cpplib.h (CPP_LAST_CPP_OP): Correct.
- 	(TTYPE_TABLE): Correct.
- 
- 2002-04-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR c/6343
- 	* c-decl.c (duplicate_decls): Call merge_weak.
- 	* c-pragma.c (apply_pragma_weak): Warn about misuse.
- 	* output.h (merge_weak): Prototype merge_weak.
- 	* varasm.c (merge_weak): New function.
- 	(declare_weak): Make sure we don't give an error on VAR_DECLs.
- 	Mark RTL with SYMBOL_REF_WEAK.
- 
- 2002-04-27  Kurt Garloff <garloff@suse.de>
- 
- 	* tree-inline.c (inlinable_function_p): Improve heuristics
- 	by using a smoother function to cut down allowable inlinable size.
- 	* param.def: Add parameters max-inline-insns-single,
- 	max-inline-slope, min-inline-insns that determine the exact
- 	shape of the above function.
- 	* param.h: Likewise.
- 
- 2002-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (malloced_yyss, malloced_yyvs): New.
- 	(yyoverflow): Re-add.  Set them.
- 	(free_parser_stacks): New.
- 	* c-common.h: Declare it.
- 	* c-lex.c (c_common_parse_file): Call it.
- 
- 2002-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c (tidy_fallthru_edge): Don't use next_real_insn
- 	for fallthru search.
- 
- 2002-04-26  Eric Christopher  <echristo@redhat.com>
- 
- 	PR optimization/3700
- 	* config/mips/mips.c (mips_issue_rate): Define.  New function.
- 	(TARGET_SCHED_ISSUE_RATE): Use.
- 
- 2002-04-25  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6422
- 	* reorg.c (optimize_skip): Do not allow exception causing
- 	instructions to be considered for delay slots.
- 	(fill_simply_delay_slots, fill_slots_from_thread): Likewise.
- 	(relax_delay_slots): Do not try to consider exception causing
- 	instructions as redundant.
- 
- 2002-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5225
- 	* c-typeck.c (build_unary_op) [CONVERT_EXPR]: Invoke non_lvalue.
- 
- 2002-04-26  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR bootstrap/6445
- 	* config/i386/i386.md (untyped_call): Return the value in a float
- 	register if TARGET_FLOAT_RETURNS_IN_80387, not just if
- 	TARGET_80387.
- 
- 2002-04-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* tree.c (tree_int_cst_lt): Compare constants whose types differ
- 	in unsigned-ness correctly.
- 
- 2002-04-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (FUNCTION_OK_FOR_SIBCALL): Don't do sibcalls when using the
- 	portable runtime model.
- 
- 2002-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-parse.in (yyoverflow): Revert.
- 
- 2002-04-26  David Edelsohn  <edelsohn@gnu.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.md (sCC pattern): Remove clobber and use
- 	result as temporary value.
- 
- 2002-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/3581
- 	* c-common.c (fix_string_type): Split out of ...
- 	(combine_strings): ... here.  Take a varray, not a tree list.
- 	(c_expand_builtin_printf): Use fix_string_type.
- 	* c-common.h: Update decls.
- 	* c-parse.in (string): Remove.  Update all uses to use STRING
- 	instead, and not call combine_strings.
- 	(yylexstring): New.
- 	(_yylex): Use it.
- 	* c-typeck.c (simple_asm_stmt): Don't call combine_strings.
- 	(build_asm_stmt): Likewise.
- 	* objc/objc-act.c (my_build_string): Use fix_string_type.
- 	(build_objc_string_object): Build varray for combine_strings.
- 
- 2002-04-26  Bo Thorsen  <bo@suse.co.uk>
- 
- 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Define for
- 	x86-64.
- 
- 2002-04-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (CPP_UMINUS, CPP_UPLUS): New.
- 	(HAVE_NO_R_OPERAND): Remove.
- 	(HAVE_VALUE): Remove.
- 	(op_to_prio): Update.
- 	(UNARY): Don't alter flags.
- 	(_cpp_parse_expr): want_value used to indicate whether
- 	a number or unary operator is expected next.  Distinguish
- 	unary and binary +/-.
- 	(op_as_text): Update for unary operators.
- 
- 2002-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/2161
- 	* c-parse.in (yyoverflow): New.
- 
- 2002-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/2098
- 	* c-common.c (shorten_compare): Simplfy conditions leading to
- 	the generation of a warning.
- 
- 2002-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/2035
- 	* expmed.c (extract_bit_field): Fall through to generic code rather
- 	than aborting on subreg special case.
- 
- 2002-04-25  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Add back check
- 	for DECL being NULL.
- 
- 2002-04-25  Steve Christiansen  <smc@us.ibm.com>
- 
- 	* doc/md.texi (Machine Constraints): Add IA-64 constraints.
- 
- 2002-04-25  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	* c-decl.c (grokdeclarator): Remove outdated ??? note
- 	on invalid declaration of flexible array members.
- 
- 2002-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/invoke.texi: Document -gdwarf{,-2} vs debug level.
- 
- 2002-04-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_epilogue): Always restore registers
- 	needed by the compiler, even if they are used as global regs.
- 
- 2002-04-25  Matt Hiller  <hiller@redhat.com>
- 
- 	* mips.c (mips_class_max_nregs, mips_register_move_cost): New
- 	functions.
- 	* mips.h (CLASS_MAX_NREGS, REGISTER_MOVE_COST): Redefine as calls
- 	of the corresponding functions.
- 	* mips-protos.h (mips_class_max_nregs, mips_register_move_cost):
- 	New prototypes.
- 
- 2002-04-25  Matt Hiller  <hiller@redhat.com>
- 
- 	* config/mips/mips.h (mips_sw_reg_names): Declare as extern.
- 
- 	(ALL_COP_ADDITIONAL_REGISTER_NAMES): New macro.
- 	(FIRST_PSEUDO_REGISTER): Redefine considering coprocessor
- 	registers, adjust comment accordingly.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
- 	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES,
- 	DEBUG_REGISTER_NAMES, REG_ALLOC_ORDER): Adjust to include entries
- 	for coprocessor registers.
- 	(ADDITIONAL_REGISTER_NAMES): Include
- 	ALL_COP_ADDITIONAL_REGISTER_NAMES.
- 
- 	(COP0_REG_FIRST, COP0_REG_LAST, COP0_REG_NUM,
- 	COP2_REG_FIRST, COP2_REG_LAST, COP2_REG_NUM,
- 	COP3_REG_FIRST, COP3_REG_LAST, COP3_REG_NUM,
- 	COP0_REG_P, COP2_REG_P, COP3_REG_P, ALL_COP_REG_P,
- 	COPNUM_AS_CHAR_FROM_REGNUM, COP_REG_CLASS_P): New macros.
- 
- 	(mips_char_to_class): Adjust comment to include coprocessor
- 	constraint letters.
- 
- 	* config/mips/mips.c (coprocessor_operand, coprocessor2_operand):
- 	New functions.
- 	(mips_reg_names, mips_regno_to_class): Include coprocessor
- 	information.
- 	(mips_sw_reg_names): Ditto, make non-static.
- 	(mips_move_1word): Handle moves to and from coprocessor registers.
- 	(mips_move_2words): Handle moves to and from coprocessor
- 	registers.
- 	(mips_class_max_nregs, mips_register_move_cost): Handle
- 	coprocessor register classes.
- 	(override_options): Initialize mips_char_to_class and
- 	mips_hard_regno_mode_ok properly for coprocessor registers.
- 
- 	* config/mips/mips.md (movdi_internal, movdi_internal2,
- 	movsi_internal1, movsi_internal2): Add constraint-sets for
- 	coprocessor registers.
- 	* testsuite/gcc.c-torture/mipscop-1.c: New testcase.
- 	* testsuite/gcc.c-torture/mipscop-1.x: Disable above if target
- 	isn't mips.
- 	* testsuite/gcc.c-torture/mipscop-2.c: New testcase.
- 	* testsuite/gcc.c-torture/mipscop-2.x: Disable above if target
- 	isn't mips.
- 	* testsuite/gcc.c-torture/mipscop-3.c: New testcase.
- 	* testsuite/gcc.c-torture/mipscop-3.x: Disable above if target
- 	isn't mips.
- 	* testsuite/gcc.c-torture/mipscop-4.c: New testcase.
- 	* testsuite/gcc.c-torture/mipscop-4.x: Disable above if target
- 	isn't mips.
- 
- 	* doc/tm.texi: Document feature.
- 
- 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* integrate.c (function_attribute_inlinable_p): Simplify.
- 	Check the table pointer is not NULL.
- 
- 2002-04-25  Steven Bosscher  <S.Bosscher@student.tudelft.nl>
- 
- 	* doc/c-tree.texi: Fix typo in introduction.
- 
- 2002-04-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.h (c_common_parse_file): Update.
- 	* c-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
- 	* c-lex.c (YYDEBUG): Get from c-lex.h.
- 	(c_common_parse_file): Update.
- 	* c-lex.h (YYDEBUG, yydebug): New.
- 	* c-parse.in (YYDEBUG): Get from c-lex.h.
- 	(c_set_yydebug): Remove.
- 	* c-tree.h (c_set_yydebug): Remove.
- 	* langhooks-def.h (lhd_do_nothing_i): New.
- 	(lhd_set_yydebug, LANG_HOOKS_SET_YYDEBUG): Remove.
- 	(LANG_HOOKS_PARSE_FILE, LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c  (lhd_do_nothing_i): New.
- 	(lhd_set_yydebug): Remove.
- 	* langhooks.h (struct lang_hooks): Update.
- 	* toplev.c (set_yydebug): New.
- 	(compile_file): Update call to parse_file hook.
- 	(decode_d_option): Update.
- objc:
- 	* objc-lang.c (LANG_HOOKS_SET_YYDEBUG): Remove.
- 
- Wed Apr 24 23:45:37 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* loop.c (load_mems): Don't change the interface of called functions.
- 
- 	* calls.c (expand_call): Take current_function_pretend_args_size
- 	into account when setting argblock for sibcalls.
- 
- 2002-04-24  Matt Hiller  <hiller@redhat.com>
- 
- 	* cpplex.c: Remove conditional #undef of MULTIBYTE_CHARS.
- 	* c-lex.c: Ditto.
- 
- 	* cpplex.c (skip_line_comment): Process comment one multibyte
- 	character at a time rather than one char at a time, if
- 	appropriate.
- 	(parse_string): Process string one multibyte character at a time
- 	rather than one char at a time, if appropriate.
- 	* c-lex.c (lex_string): Lex and copy multibyte strings
- 	appropriately.
- 	* cpplib.h (cppchar_t): Change to unsigned.
- 
- 2002-04-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/3467
- 	* c-decl.c (grokdeclarator): Don't pedwarn variable sized arrays
- 	for c99.
- 
- Wed Apr 24 21:51:54 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_va_arg): If argument was passed by reference,
- 	dereference the pointer.
- 
- 	* sh.h (PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
- 
- 	* sh.md (divsi3_i4_media): Use match_operand for input values
- 	rather than hard registers.
- 	(divsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
- 	unnecessarily through hard registers.  Keep copies of pseudo
- 	registers outside of the libcall sequence.
- 
- 	* sh.md (casesi_shift_media): Add modes.
- 
- 	* sh.h (RETURN_IN_MEMORY): Return variable size BLKmode
- 	values in memory.
- 
- 2002-04-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* attribs.c (c_common_attribute_table): Move table and handlers
- 	to c-common.c.
- 	(format_attribute_table, lang_attribute_table,
- 	lang_attribute_common): Remove.
- 	(init_attributes): Replace NULL pointers with pointers to the
- 	empty table.
- 	(handle_packed_attribute, handle_nocommon_attribute,
- 	handle_common_attribute, handle_noreturn_attribute,
- 	handle_noinline_attribute, handle_always_inline_attribute,
- 	handle_used_attribute, handle_unused_attribute,
- 	handle_const_attribute, handle_transparent_union_attribute,
- 	handle_constructor_attribute, handle_destructor_attribute,
- 	handle_mode_attribute, handle_section_attribute,
- 	handle_aligned_attribute, handle_weak_attribute,
- 	handle_alias_attribute, handle_visibility_attribute,
- 	handle_no_instrument_function_attribute, handle_malloc_attribute,
- 	handle_no_limit_stack_attribute, handle_pure_attribute,
- 	handle_deprecated_attribute, handle_vector_size_attribute,
- 	vector_size_helper): Move to c-common.c.
- 	* c-common.c (c_common_attribute_table,
- 	handle_packed_attribute, handle_nocommon_attribute,
- 	handle_common_attribute, handle_noreturn_attribute,
- 	handle_noinline_attribute, handle_always_inline_attribute,
- 	handle_used_attribute, handle_unused_attribute,
- 	handle_const_attribute, handle_transparent_union_attribute,
- 	handle_constructor_attribute, handle_destructor_attribute,
- 	handle_mode_attribute, handle_section_attribute,
- 	handle_aligned_attribute, handle_weak_attribute,
- 	handle_alias_attribute, handle_visibility_attribute,
- 	handle_no_instrument_function_attribute, handle_malloc_attribute,
- 	handle_no_limit_stack_attribute, handle_pure_attribute,
- 	handle_deprecated_attribute, handle_vector_size_attribute,
- 	vector_size_helper): Move from attribs.c.
- 	* c-common.h (c_common_attribute_table,
- 	c_common_format_attribute_table): New.
- 	* c-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
- 	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
- 	* langhooks-def.h (LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE,
- 	LANG_HOOKS_COMMON_ATTRIBUTE_TABLE, LANG_HOOKS_ATTRIBUTE_TABLE): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): 3 new attribute hooks.
- 	* target-def.h (TARGET_ATTRIBUTE_TABLE): Default to NULL.
- 	* target.h: Update comment.
- 	* tree.c (default_target_attribute_table): Remove.
- 	* tree.h (default_target_attribute_table, format_attribute_table,
- 	lang_attribute_table, lang_attribute_common): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_COMMON_ATTRIBUTE_TABLE,
- 	LANG_HOOKS_FORMAT_ATTRIBUTE_TABLE): Redefine.
- 
- 2002-04-24  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2.h (enum dwarf_attribute): Add DW_AT_GNU_vector.
- 	* dwarf2out.c (dwarf_attr_name): Support it.
- 	(gen_array_type_die): Emit it.
- 	(lookup_type_die): No special handling for VECTOR_TYPE.
- 	(gen_type_die): Hand VECTOR_TYPE off to gen_array_type_die.
- 
- 2002-04-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.md (movdi_usd): Renumber.
- 
- 2002-04-24  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6420
- 	* config/sparc/sparc.h (FUNCTION_OK_FOR_SIBCALL): Return false if
- 	32-bit SPARC and current_function_returns_struct is true.
- 
- Wed Apr 24 13:48:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (canonicalize_condition): Use gen_int_mode.
- 
- 2002-04-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Cleanup file.  Add non individual
- 	variants.
- 	(vec_vaddubm): New.
- 	(vec_vadduhm): New.
- 	(vec_vadduwm): New.
- 	(vec_vaddfp): New.
- 	(vec_vaddcuw): New.
- 	(vec_vaddubs): New.
- 	(vec_vaddsbs): New.
- 	(vec_vadduhs): New.
- 	(vec_vadduws): New.
- 	(vec_vaddsws): New.
- 	(vec_vand): New.
- 	(vec_vandc): New.
- 	(vec_vavgub): New.
- 	(vec_vavgsb): New.
- 	(vec_vavguh): New.
- 	(vec_vavgsh): New.
- 	(vec_vavguw): New.
- 	(vec_vavgsw): New.
- 	(vec_vrfip): New.
- 	(vec_vcmpbfp): New.
- 	(vec_vcmpequb): New.
- 	(vec_vcmpequh): New.
- 	(vec_vcmpequw): New.
- 	(vec_vcmpeqfp): New.
- 	(vec_vcmpgefp): New.
- 	(vec_vcmpgtub): New.
- 	(vec_vcmpgtsb): New.
- 	(vec_vcmpgtuh): New.
- 	(vec_vcmpgtsh): New.
- 	(vec_vcmpgtuw): New.
- 	(vec_vcmpgtsw): New.
- 	(vec_vcmpgtfp): New.
- 	(vec_vcmpgefp): New.
- 	(vec_vcfux): New.
- 	(vec_vcfsx): New.
- 	(vec_vctsxs): New.
- 	(vec_vctuxs): New.
- 	(vec_vexptefp): New.
- 	(vec_vrfim): New.
- 	(vec_lvx): New.
- 	(vec_lvebx): New.
- 	(vec_lvehx): New.
- 	(vec_lde): Add vector float variant.
- 	(vec_lvewx): New.
- 	(vec_lvxl): New.
- 	(vec_vlogefp): New.
- 	(vec_vmaddfp): New.
- 	(vec_vmhaddshs): New.
- 	(vec_vmaxub): New.
- 	(vec_vmaxsb): New.
- 	(vec_vmaxuh): New.
- 	(vec_vmaxsh): New.
- 	(vec_vmaxuw): New.
- 	(vec_vmaxsw): New.
- 	(vec_vmaxsw): New.
- 	(vec_vmaxfp): New.
- 	(vec_vmrghb): New.
- 	(vec_vmrghh): New.
- 	(vec_vmrghw): New.
- 	(vec_vmrglb): New.
- 	(vec_vmrglh): New.
- 	(vec_vmrglw): New.
- 	(vec_vminub): New.
- 	(vec_vminsb): New.
- 	(vec_vminuh): New.
- 	(vec_vminsh): New.
- 	(vec_vminuw): New.
- 	(vec_vminsw): New.
- 	(vec_vminfp): New.
- 	(vec_vmladduhm): New.
- 	(vec_vmhraddshs): New.
- 	(vec_msumubm): New.
- 	(vec_vmsummbm): New.
- 	(vec_vmsumuhm): New.
- 	(vec_vmsumshm): New.
- 	(vec_vmsumuhs): New.
- 	(vec_vmsumshs): New.
- 	(vec_vmuleub): New.
- 	(vec_vmulesb): New.
- 	(vec_vmuleuh): New.
- 	(vec_vmulesh): New.
- 	(vec_vmuloub): New.
- 	(vec_mulosb): New.
- 	(vec_vmulouh): New.
- 	(vec_vmulosh): New.
- 	(vec_vnmsubfp): New.
- 	(vec_vnor): New.
- 	(vec_vor): New.
- 	(vec_vpkuhum): New.
- 	(vec_vpkuwum): New.
- 	(vec_vpkpx): New.
- 	(vec_vpkuhus): New.
- 	(vec_vpkshss): New.
- 	(vec_vpkuwus): New.
- 	(vec_vpkswss): New.
- 	(vec_vpkshus): New.
- 	(vec_vpkswus): New.
- 	(vec_vperm): New.
- 	(vec_vrefp): New.
- 	(vec_vrlb): New.
- 	(vec_vrlh): New.
- 	(vec_vrlw): New.
- 	(vec_vrfin): New.
- 	(vec_vrsqrtefp): New.
- 	(vec_vsel): New.
- 	(vec_vslb): New.
- 	(vec_vslh): New.
- 	(vec_vslw): New.
- 	(vec_vsldoi): New.
- 	(vec_vsl): New.
- 	(vec_vslo): New.
- 	(vec_vspltb): New.
- 	(vec_vsplth): New.
- 	(vec_vspltw): New.
- 	(vec_vspltisb): New.
- 	(vec_vspltish): New.
- 	(vec_vspltisw): New.
- 	(vec_vsrb): New.
- 	(vec_vsrh): New.
- 	(vec_vsrw): New.
- 	(vec_vsrab): New.
- 	(vec_vsrah): New.
- 	(vec_vsraw): New.
- 	(vec_vsr): New.
- 	(vec_vsro): New.
- 	(vec_stvx): New.
- 	(vec_stvebx): New.
- 	(vec_stvehx): New.
- 	(vec_stvewx): New.
- 	(vec_stvxl): New.
- 	(vec_vsububm): New.
- 	(vec_vsubuhm): New.
- 	(vec_vsubuwm): New.
- 	(vec_vsubfp): New.
- 	(vec_vsubcuw): New.
- 	(vec_vsububs): New.
- 	(vec_vsubsbs): New.
- 	(vec_vsubuhs): New.
- 	(vec_vsubshs): New.
- 	(vec_vsubuws): New.
- 	(vec_vsubsws): New.
- 	(vec_vsum4ubs): New.
- 	(vec_vsum4sbs): New.
- 	(vec_vsum4shs): New.
- 	(vec_vsum2sws): New.
- 	(vec_vsumsws): New.
- 	(vec_vrfiz): New.
- 	(vec_vupkhsb): New.
- 	(vec_vupkhpx): New.
- 	(vec_vupkhsh): New.
- 	(vec_vupklsb): New.
- 	(vec_vupklpx): New.
- 	(vec_vupklsh): New.
- 	(vec_vxor): New.
- 
- 2002-04-23  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	PR c/5430
- 	* fold-const.c (split_tree): Add MINUS_LITP parameter; separate
- 	added literals from substracted literals.
- 	(associate_trees): Don't convert MINUS_EXPR into PLUS_EXPR.
- 	(fold) [associate]: Preserve MINUS_EXPR if needed.
- 
- 2002-04-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/install.texi: Clarify which versions of alpha*-dec-osf*
- 	are obsoleted.
- 
- 2002-04-23  Tom Tromey  <tromey@redhat.com>
- 
- 	* gcc.c: Added --resource.  For PR java/6314.
- 
- 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* cp/g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
- 	* config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
- 	these libraries.
- 
- 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd.h(OBJECT_FORMAT_ELF): Define.
- 
- Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_output_addr_diff_elt): Avoid x86_64 binutils bug
- 	workaround.
- 	(ix86_expand_int_movcc): Avoid x86_64 compilation chrash.
- 	(ix86_expand_clrstr): Fix typo.
- 	* loop.c (gen_load_of_final_value): New.
- 	(loop_givs_rescan, strength_reduce, check_dbra_loop):
- 	Use it.
- 
- 2002-04-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (builtin_memset_gen_str): New function.
- 	(expand_builtin_memset): Optimize the case of constant length, but
- 	unknown value.
- 
- 2002-04-23  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_step): Remove extraneous
- 	parentheses.
- 	(vec_ctu): Cast return.
- 
- 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/6413
- 	* function.h: (struct function): Add profile_label_no field.
- 	(current_function_profile_label_no): Define.
- 	* function.c: (profile_label_no): New static var.
- 	(expand_function_start): Increment it, and copy to
- 	current_function_profile_label_no.
- 	* output.h (profile_label_no): Delete.
- 	* final.c (profile_label_no): Delete.
- 	(profile_function): Use current_function_profile_label_no.
- 	(final_end_function): Don't increment profile_label_no here.
- 	* config/i386/i386.c (ix86_osf_output_function_prologue): Replace
- 	profile_label_no with current_function_profile_label_no.
- 	* config/pa/pa.c (current_function_number): Delete.
- 	(pa_output_function_prologue): Don't output profile label here.
- 	(hppa_profile_hook): Use label_no param rather than
- 	current_function_number.
- 	(FUNC_BEGIN_PROLOG_LABEL): Move to ..
- 	* config/pa/pa.h: .. here.
- 	(FUNCTION_PROFILER): Output profile label here.
- 
- 2002-04-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
- 	patch of 2002-04-09 due to binutils issues.
- 	(FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
- 
- 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm'
- 	constraint to 'o' for m=r and r=m alternatives.
- 	("*movv8hi_internal1"): Same.
- 	("*movv16qi_internal1"): Same.
- 	("*movv4sf_internal1"): Same.
- 
- 2002-04-22  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* rtl.h (RTX_FLAG): New macro.
- 	* emit-rtl.c (copy_most_rtx): Use macros to access rtx flags.
- 	* final.c (alter_subreg): Use macro to access rtx flag.
- 	* integrate.c (copy_rtx_and_substitute): Use new access macro.
- 	* print-rtl.c (print_rtx): Use new access macro.
- 
- 	* cse.c (insert): Check rtx code before accessing flag.
- 
- 	* genattrtab.c (ATTR_IND_SIMPLIFIED_P, ATTR_CURR_SIMPLIFIED_P,
- 	ATTR_PERMANENT_P, ATTR_EQ_ATTR_P): New.
- 	(attr_hash_add_string, attr_rtx_1, attr_copy_rtx, check_attr_test,
- 	convert_const_symbol_ref, make_canonical, make_alternative_compare,
- 	evaluate_eq_attr, attr_rtx_cost, simplify_test_exp_in_temp,
- 	simplify_test_exp, optimize_attrs, simplify_by_exploding,
- 	find_and_mark_used_attributes, unmark_used_attributes,
- 	add_values_to_cover, simplify_with_current_value,
- 	simplify_with_current_value_aux, clear_struct_flag, walk_attr_value,
- 	copy_rtx_unchanging, main): Use new access macros.
- 
- 2002-04-22  Tom Rix  <trix@redhat.com>
- 
- 	* expmed.c (init_expmed): Generate shifted constant once.
- 
- 2002-04-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-lex.c (lex_charconst): Call convert to get constant in
- 	proper type; don't just smash the type field.
- 	Fixes PR c/6300.
- 
- 	* config.gcc: Add list of obsolete configurations.  Disallow
- 	building these without --enable-obsolete.
- 	* doc/install.texi: Document --enable-obsolete and obsoletion
- 	policy.  Mention obsoletion of individual targets in
- 	appropriate places.
- 
- 2002-04-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sol2-bi.h (ASM_DEBUG_SPEC): New.
- 
- 2002-04-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR f/6138.
- 	* function.c (fixup_memory_subreg): Add promoted_mode parameter.
- 	(walk_fixup_memory_subreg): Likewise.
- 	(fixup_var_refs_insn): Adjust accordingly.
- 	(fixup_var_refs_1): Likewise.
- 
- 2002-04-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h: (LIBPATH_SPEC, LIBPATH_ARCH31_SPEC,
- 	LIBPATH_ARCH64_SPEC): Define.
- 	(EXTRA_SPECS): Add libpath, libpath_arch31, libpath_arch64.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Define; use libpath.
- 	(LINK_ARCH31_SPEC): Add libpath_arch31 to search path.
- 	(LINK_ARCH64_SPEC): Add libpath_arch64 to search path.
- 
- 2002-04-22	Joel Sherrill <joel@OARcorp.com>
- 
- 	* gthr-rtems.h: Correct prototypes to remove warnings.
- 
- 2002-04-22  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/6344
- 	* alias.c (canon_true_dependence): Special case (mem:blk (scratch)).
- 
- 	* gcse.c (free_insn_expr_list_list): New.
- 	(clear_modify_mem_tables): Use it.  Fix bit set usage.
- 	(canon_list_insert): Use EXPR_LISTs for expressions.
- 	(record_last_mem_set_info): Factor BLOCK_NUM (insn).
- 
- 2002-04-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppfiles.c (_cpp_pop_file_buffer): Return void.  Move
- 	file change and include code to _cpp_pop_buffer.
- 	* cpphash.h (struct pending_option): Predeclare.
- 	(struct cpp_reader): New member next_include_file.
- 	(_cpp_pop_file_buffer): Update.
- 	(_cpp_push_next_buffer): Update, rename.
- 	* cppinit.c (cpp_destroy): Free include chain and pending here.
- 	(cpp_finish_options): Simplify.
- 	(_cpp_push_next_buffer): Rename and clean up.
- 	* cpplib.c (cpp_pop_buffer): Move code from _cpp_pop_file_buffer.
- 	Clarify.
- 	* cppmacro.c (cpp_scan_nooutput): Set return_at_eof here.
- 
- 2002-04-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_xor): Add variant for both args
- 	being vector signed int.
- 	(vec_andc): Same.
- 	(vec_xor): Add variant for both args being vector signed char.
- 	Remove redundant variant.
- 	(vec_andc): Same.
- 
- 2002-04-21  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (set then compare DI mode peephole2): Fix
- 	compare mode in output RTL.
- 
- 2002-04-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Correct
- 	style and formatting of previous patch.
- 
- 2002-04-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Always clear
- 	flag_pic for ABI_AIX.
- 
- 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppexp.c (struct op, parse_number): Replace U_CHAR with uchar.
- 	* cppfiles.c (read_include_file): Similarly.
- 	* cpphash.h (DSC, U_CHAR, ustrcmp, ustrncmp, ustrlen,
- 	uxstrdup ustrchr, ufputs): Similarly.
- 	* cppinit.c (TRIGRAPH_MAP, cpp_destroy): Similarly.
- 	* cpplex.c (parse_slow, unescaped_terminator_p, save_comment,
- 	cpp_ideq, parse_identifier, parse_number): Similarly.
- 	* cpplib.c (struct directive, dequote_string, D, run_directive,
- 	cpp_push_buffer): Similarly.
- 	* cppmacro.c (new_string_token, builtin_macro, cpp_quote_string,
- 	_cpp_create_definition, check_trad_stringification,
- 	cpp_macro_definition): Similarly.
- 
- 2002-04-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c (funlike_invocation_p): Don't step back
- 	over CPP_EOF.
- 
- 2002-04-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (output_profile_hook): Do not increment
- 	labelno.
- 
- 2002-04-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/invoke.texi: Remove Chill references.
- 	* doc/gcc.texi: Update last modified date.
- 
- 2002-04-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/lib1funcs.asm (___mulsi3): Remove unnecessary
- 	push and pop.  Replace add.l with add.w.
- 
- 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/h8300/lib1funcs.asm (___mulsi3): Use hardware
- 	multiply instructions for H8/300H case.
- 
- 2002-04-20  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/h8300/lib1funcs.asm (___cmpsi2, ___ucmpsi2):
- 	Bum three instructions from each routine.
- 
- 2002-04-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update.
- 	* decl.c (push_c_function_context, pop_c_function_context,
- 	mark_c_function_context): Rename for consistency.
- 	* c-objc-common.c (c_objc_common_init): Langhooks set elsewhere.
- 	* c-tree.h (push_c_function_context, pop_c_function_context,
- 	mark_c_function_context): Rename for consistency.
- 	* c-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
- 	* function.c (init_lang_status, save_lang_status,
- 	restore_lang_status, mark_lang_status, free_lang_status):
- 	Move to langhooks.h.
- 	(push_function_context_to, pop_function_context_from,
- 	free_after_parsing, prepare_function_start, ggc_mark_struct_function):
- 	Update.
- 	* function.h (init_lang_status, save_lang_status,
- 	restore_lang_status, mark_lang_status, free_lang_status):
- 	Move to langhooks.h.
- 	* langhooks-def.h (LANG_HOOKS_FUNCTION_INIT,
- 	LANG_HOOKS_FUNCTION_FREE, LANG_HOOKS_FUNCTION_ENTER_NESTED,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK,
- 	LANG_HOOKS_FUNCTION_INITIALIZER): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	(lhd_do_nothing_f): New.
- 	* langhooks.h (struct lang_hooks_for_functions): New.
- 	(struct lang_hooks): New hooks.
- 	* langhooks.c (lhd_do_nothing_f): New.
- objc:
- 	* objc-lang.c (LANG_HOOKS_FUNCTION_ENTER_NESTED,
- 	LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_FUNCTION_MARK): Redefine.
- 
- 2002-04-19  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Define.
- 	* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Likewise.
- 
- 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/3756
- 	* config/i386/i386.c (ix86_expand_int_movcc): Optimize
- 	x = ((int) y < 0) ? cst1 : cst2.
- 
- 2002-04-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6358
- 	* function.c: Reapply patch for c/6358.
- 	(expand_function_end): Copy decl_rtl's mode, not
- 	current_function_return_rtx mode.
- 
- 2002-04-19  Joel Sherrill  <joel@OARcorp.com>
- 
- 	* config/rtems.h (STARTFILE_SPEC, ENDFILE_SPEC): Fix for non-ELF
- 	targets.
- 
- 2002-04-19  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/install.texi (Specific): Update status of Solaris 2.8.
- 	For PR libgcj/6158.
- 
- 2002-04-19  Andreas Schwab  <schwab@suse.de>
- 
- 	* real.c: Allow sizeof (REAL_VALUE_TYPE) > 2*NE.
- 	(PUT_REAL): Restore old definition.
- 
- 2002-04-19  Dan Nicolaescu  <dann@godzilla.ics.uci.edu>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific, sparc-sun-solaris2*): Mention that
- 	binutils 2.11.2 and higher generate smaller binaries than Sun's
- 	native tools.
- 
- 2002-04-19  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/6352
- 	* toplev.c (rest_of_compilation): Do not defer functions for which
- 	TREE_SYMBOL_REFERENCED has already been set.
- 
- Fri Apr 19 15:53:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsi_1, movhi_1): Force reload to use more flexible
- 	alternative.
- 
- 2002-04-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* builtins.c: Include langhooks.h.
- 	(lang_type_promotes_to): Remove.
- 	(expand_builtin_va_arg): Use new hook.
- 	* c-common.c (c_common_nodes_and_builtins): Don't set hook.
- 	(simple_type_promotes_to): Move to c-typeck.c.
- 	* c-common.h (simple_type_promotes_to): Remove.
- 	* c-decl.c (duplicate_decls, grokdeclarator): Update.
- 	* c-format.c: Include langhooks.h.
- 	(check_format_types): Update.
- 	* c-tree.h (c_type_promotes_to): New.
- 	* c-typeck.c (c_type_promotes_to): Move from c-common.c.
- 	(type_lists_compatible_p): Update.
- 	* langhooks-def.h (lhd_type_promotes_to): New.
- 	(LANG_HOOKS_TYPE_PROMOTES_TO): New.
- 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
- 	* langhooks.c (lhd_type_promotes_to): New.
- 	* langhooks.h (struct lang_hooks_for_types): New hook.
- 	* tree.h (lang_type_promotes_to): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_TYPE_PROMOTES_TO): Redefine.
- 
- 2002-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* function.c: Revert patch for c/6358.
- 
- 2002-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (find_cond_trap): Handle cases with no proper THEN or JOIN
- 	blocks.  Handle multiple references to the TRAP block.  Handle
- 	non-adjacent THEN and OTHER blocks.
- 
- 2002-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg_pass_by_reference): Don't
- 	crash with no type for by-mode libcalls.
- 
- 	* config/ia64/ia64.md (conditional_trap): Fix predicate polarity.
- 
- 2002-04-18  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
- 	__xtensa_nonlocal_goto): Use a syscall instructions to flush
- 	the register windows.
- 
- 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
- 	appropriate.  Document need for extended precision even when
- 	MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
- 	based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
- 	REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
- 	instead of relying on later syntax error when REAL_WIDTH > 5.
- 	* real.c: Define NE based only on whether or not we have a
- 	full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
- 	Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
- 	define GET_REAL and PUT_REAL as simple memcpy operations; no
- 	need to byteswap or round.
- 	Use #error instead of #ifdef-ing out the entire file, for
- 	prompt error detection.
- 
- 	* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
- 
- 2002-04-18  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.h (BRANCH_COST): Define.
- 
- 	* fold-const.c (BRANCH_COST): Don't provide default here, expr.h
- 	does it.
- 
- 2002-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* flow.c (update_life_info): Ignore return value of cleanup_cfg.
- 	Mask out PROP_SCAN_DEAD_CODE | PROP_KILL_DEAD_CODE in
- 	propagate_block calls after relaxation loop using new variable
- 	stabilized_prop_flags.
- 
- 2002-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_function_arg_pass_by_reference): New.
- 	(ia64_va_arg): Expect variable sized types by reference.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use
- 	ia64_function_arg_pass_by_reference.
- 
- 2002-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c: Include except.h.
- 	(block_has_only_trap): Break out from find_cond_trap.
- 	(find_cond_trap): Use it.  Always delete the trap block.
- 	(merge_if_block): Allow then block null.  Be less simplistic about
- 	what insns can end a block.
- 	* Makefile.in (ifcvt.o): Depend on except.h.
- 
- 	* config/ia64/ia64.md (trap, conditional_trap): New.
- 
- 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6358
- 	* function.c (assign_parms): Assign hard current_function_return_rtx
- 	register here...
- 	(expand_function_end): ...not here.
- 
- 2002-04-18  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
- 	* c-tree.h (c_incomplete_type_error): New.
- 	* c-typeck.c (require_complete_type, build_component_ref): Update.
- 	(incomplete_type_error): Rename.
- 	* langhooks-def.h (lhd_incomplete_type_error): New.
- 	(LANG_HOOKS_INCOMPLETE_TYPE_ERROR): New.
- 	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
- 	* langhooks.c (lhd_incomplete_type_error): New.
- 	* langhooks.h (struct lang_hooks_for_types): New hook.
- 	* tree.c (size_in_bytes): Use new hook.
- 	* tree.h (incomplete_type_error): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_INCOMPLETE_TYPE_ERROR): Redefine.
- 
- 2002-04-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/arc/arc.md: Remove #if HOST_FLOAT_FORMAT !=
- 	TARGET_FLOAT_FORMAT blocks.
- 
- 2002-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Downloading the source): Do not mention Chill
- 	any longer, but mention Ada.
- 	(Configuration): Do not mention Chill any longer.
- 
- 2002-04-18  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h (TARGET_VERSION): Remove local version number.
- 
- Thu Apr 18 17:14:08 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (SSE_FLOAT_MODE_P): Fix bogus conflict resolution
- 	in last patch.
- 
- 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (fold): Use (*lang_hooks.types.unsigned_type)
- 	instead of unsigned_type.
- 
- Thu Apr 18 15:49:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (SSE_FLOAT_MODE_P): Kill bogus TARGET_SSE_MATH check.
- 	* i386.md (sse_mov?fcc*): Swap operands for cases they will be swapped
- 	later.
- 
- 2002-04-18  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* attribs.c (vector_type_node_list): New static variable.
- 	(handle_vector_size_attribute): Use it to avoid generating a
- 	new type node each time we are called.
- 
- 	* combine.c (subst): Avoid trying to make a vector mode subreg of
- 	an integer constant.
- 	(gen_lowpart_for_combine): Likewise.
- 
- 2002-04-18  Roger Sayle  <roger@eyesopen.com>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (fold) [NOP_EXPR]: Convert (T)(x&c) into ((T)x&(T)c)
- 	for integer constant c (if x has unsigned type or sign bit is not
- 	set in c).  This folds the zero/sign extension into the bit-wise and
- 	operation.
- 
- 2002-04-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/6205
- 	* config/i386/i386.md (movsf_1): Use pxor only if TARGET_SSE2,
- 	otherwise xorps.
- 
- 2002-04-17  NIIBE Yutaka  <gniibe@m17n.org>
- 
- 	* config/sh/elf.h: Undefine ASM_OUTPUT_CASE_LABEL.
- 
- 2002-04-17  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* gcc.c (read_specs): Detect and fail if an attempt is made to
- 	rename a spec string to an already existing string.
- 
- 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimize_pic_address): Do not generate
- 	illegal address constant without CONST.
- 
- 2002-04-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc/linux64.h (CC1_SPEC): Error for -m32 and -m64.
- 	* sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
- 
- 2002-04-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR optimization/6305
- 	* config/s390/s390.c (s390_expand_plus_operand): Use find_replacement
- 	to make sure previous reloads are taken into account.  Generate
- 	better code if one operand is an in-range immediate constant.
- 
- 2002-04-16  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* doc/install.texi (Building): libgcj requires GNU make.
- 
- 2002-04-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR bootstrap/6315
- 	* config/sparc/sparc.md (movtf reg<-reg split): Allow spliting
- 	even if hard quad and register is not floating.
- 	(movtf reg<-mem split): Disallow splitting if hard quad and
- 	register is floating.
- 	(movtf mem<-reg split): Likewise.
- 	* config/sparc/sparc.c (fp_register_operand): New predicate.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Add fp_register_operand.
- 
- 2002-04-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (PROTO_OBJS): Add cppdefault.o.
- 	(protoize.o): Take $(PREPROCESSOR_DEFINES) off command line.
- 	(unprotoize.o): Ditto.  Build from protoize.c.  Define
- 	UNPROTOIZE on command line.
- 	* protoize.c: Include cppdefault.h.  Delete include_defaults.
- 	(in_system_include_dir): Use cpp_include_defaults (defined in
- 	cppdefault.o).
- 	* unprotoize.c: Delete file.
- 
- 2002-04-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_ld): Add array variants.
- 	(vec_lde): Same.
- 	(vec_ldl): Same.
- 
- 2002-04-17  Alan Matsuoka  <alanm@redhat.com>
- 	    Aldy Hernandez <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Define __ALTIVEC__.
- 	(bool): New.
- 	(__pixel): New.
- 	(pixel): New.
- 	(vec_cfux): New.
- 	(vec_vmaddfp): New.
- 	(vec_vsldoi): New.
- 	Add parentheses to all macro arguments.
- 
- 2002-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/6320
- 	* except.c (remove_eh_handler): Insert inner regions at beginning
- 	of sibling chain.  Refactor expressions.
- 
- 2002-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sol2-bi.h (AS_SPARC64_FLAG): New.
- 	* config/sparc/sol2-gas-bi.h: New file.
- 	* config.gcc (sparc*-solaris): Add it as needed.
- 	* configure.in (AS_SPARC64_FLAG): Remove check.
- 	* config.in, configure: Regenerate.
- 
- 	* config/sparc/sol2-bi.h (CC1_SPEC): Error for -m32 and -m64.
- 
- 2002-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Don't override N32 for
- 	a 64-bit ISA.
- 
- 	PR 6202
- 	* config/mips/mips.md (can_delay): Split out of existing define_delays.
- 	(HILO_delay): Set can_delay false.
- 
- 2002-04-16  Dale Johannesen <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
- 	instruction addresses.
- 	(rs6000_output_function_epilogue): Likewise.
- 
- 2002-04-16  Paolo Carlini  <pcarlini@unitus.it>
- 
- 	* c-parse.in (poplevel, compstmt_start,
- 	compstmt_primary_start): Add ending ';', in accordance
- 	with POSIX.
- 
- 2002-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (sparcv9-solaris): Configure for 64-bit default.
- 	Adjust tm_file order to get TARGET_DEFAULT set properly.
- 	(sparc-solaris): Configure 2.[78] for 64-bit multilibs.
- 	* doc/install.texi (sparc-solaris): Update.
- 
- 2002-04-16  Dale Johannesen <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_cmove): Fail if modes of
- 	comparison operands do not match each other or if modes of
- 	conditions do not match result.
- 
- 2002-04-16  Hartmut Penner <hpenner@de.ibm.com>
- 
- 	PR target/6305
- 	* config/s390/s390.md (mulsidi3): Set both subregs of the
- 	multiword register.
- 
- 2002-04-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_addc): Type check.
- 
- 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/6279
- 	* expr.c (store_expr): Don't copy if DECL_RTL (exp) == target.
- 
- 	* expr.c (safe_from_p): Cleanup: use DECL_RTL_IF_SET.
- 
- 2002-04-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/abi64.h (SUBTARGET_CONDITIONAL_REGISTER_USAGE): Set
- 	call_really_used_regs too.
- 
- 2002-04-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/gnu.h (CPP_PREDEFINES): Underscores for gnu_hurd.
- 
- 2002-04-15  David S. Miller  <davem@redhat.com>
- 
- 	* rtlanal.c (note_stores): Don't present PARALLEL SET_DESTs
- 	as being CLOBBERed.
- 
- 2002-04-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6290
- 	* config/rs6000/rs6000.c (easy_vector_constant): Return 1 if the
- 	CONST_VECTOR is { 0, ... 0 }.
- 
- 2002-04-15  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi (Installing GCC: Configuration): Clarify
- 	the only supported ways to configure gcc.
- 
- 2002-04-15  Roland McGrath  <roland@frob.com>
- 
- 	* config.gcc (alpha*-*-gnu*): New target configuration.
- 	* config/alpha/gnu.h: New file for it.
- 	* config/gnu.h (TARGET_MEM_FUNCTIONS): #undef before #define.
- 
- 2002-04-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (STMT_EXPR_NO_SCOPE): New macro.
- 	* c-common.c (c_expand_expr): Respect STMT_EXPR_NO_SCOPE.
- 	* tree.h (expand_start_stmt_expr): Update prototype.
- 	* stmt.c (expand_start_stmt_expr): Add has_scope parameter.
- 	* tree-inline.c (expand_call_inline): Set STMT_EXPR_NO_SCOPE
- 	on the STMT_EXPR created for the inline function.
- 
- 2002-04-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/linux.h, config/arm/linux-elf.h, config/i370/linux.h,
- 	config/i386/linux-aout.h, config/i386/linux-oldld.h,
- 	config/i386/linux.h, config/i386/linux64.h, config/ia64/linux.h,
- 	config/m68k/linux-aout.h, config/m68k/linux.h, config/mips/linux.h,
- 	config/pa/pa-linux.h, config/pj/linux.h, config/s390/linux.h,
- 	config/sh/linux.h, config/sparc/linux-aout.h, config/sparc/linux.h,
- 	config/sparc/linux64.h, config/xtensa/linux.h (CPP_PREDEFINES):
- 	Define __gnu_linux__, not gnu_linux.
- 	* config/rs6000/sysv4.h (CPP_OS_GNU_SPEC): Likewise for gnu_hurd.
- 
- 2002-04-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Remove Chill front end.
- 	* gcc.c (default_compilers): Remove Chill entries.
- 	* ch: Remove directory.
- 	* doc/frontends.texi: Remove information about Chill.
- 	* doc/sourcebuild.texi: Likewise.
- 	* doc/standards.texi: Likewise.
- 
- 2002-04-15  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (INCLUDE_DEFAULTS): Add /gnu/lib/gcc-lib/include.
- 	(LONGLONG_STANDALONE): Define.
- 
- 2002-04-15  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_float_lib_cmp):
- 	Call emit_library_call with LCT_NORMAL.
- 	(sparc_initialize_trampoline): Use LCT_foo instead of
- 	magic constant in emit_library_call invocations.
- 	(sparc64_initialize_trampoline): Likewise.
- 	(sparc_profile_hook): Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 
- 	* config/sparc/sparc.c (sparc_extra_constraint_check):
- 	Fix type of argument 'c'.
- 	* config/sparc/sparc-protos.h (sparc_extra_constraint_check):
- 	Likewise.
- 
- 2002-04-15  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
- 
- 	* diagnostic.h (output_buffer_state): Redefine.
- 	(output_format_decoder): New macro.
- 	(output_prefixing_rule): Likewise.
- 	(output_line_cutoff): Likewise.
- 	(diagnostic_format_decoder): Adjust.
- 	(diagnostic_prefixing_rule): Likewise.
- 	(diagnostic_line_cutoff): Likewise.
- 	(diagnostic_state): Likewise.
- 	(diagnostic_kind_count): Likewise.
- 	(diagnostic_buffer): Now a macro.
- 
- 	* diagnostic.c (diagnostic_buffer): Remove definition.
- 	(output_is_line_wrapping): Adjust.
- 	(set_real_maximum_length): Likewise.
- 	(output_set_maximum_length): Likewise.
- 	(init_output_buffer): Likewise.
- 	(lhd_print_error_function): Likewise.
- 	(output_do_verbatim): Likewise.
- 
- 2002-04-14  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c (print_location): Don't print include chain
- 	if line == 0.
- 	(cpp_begin_message): Update to use DL_ macros.
- 	(cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
- 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
- 	cpp_notice, cpp_notice_from_errno): Remove.
- 	(cpp_error, cpp_error_with_line): Update to take a diagnostic
- 	level.
- 	(cpp_errno): New.
- 	* cppexp.c (CPP_ICE): Remove.
- 	(SYNTAX_ERROR, SYNTAX_ERROR2, parse_number, parse_defined,
- 	lex, integer_overflow, _cpp_parse_expr): Update.
- 	* cppfiles.c (read_include_file, find_include_file,
- 	handle_missing_header, _cpp_read_file, remap_filename): Update.
- 	* cpphash.h (enum error_type): Remove.
- 	(_cpp_begin_message): Update.
- 	* cppinit.c (append_include_chain, remove_dup_dirs, output_deps,
- 	cpp_handle_option, cpp_post_options): Update.
- 	* cpplex.c (trigraph_p, skip_escaped_newlines, skip_block_comment,
- 	skip_whitespace, parse_identifier, parse_slow, parse_string,
- 	_cpp_lex_direct, cpp_spell_token, maybe_read_ucs, cpp_parse_escape,
- 	cpp_interpret_charconst): Update.
- 	* cpplib.c (check_eol, directive_diagnostics, _cpp_handle_directive,
- 	lex_macro_node, do_undef, glue_header_name, parse_include,
- 	do_include_common, read_flag, do_line, do_linemarker, do_ident,
- 	cpp_register_pragma, do_pragma_once, do_pragma_system_header,
- 	do_pragma_poison, do_pragma_dependency, _cpp_do__Pragma, do_else,
- 	do_elif, do_endif, parse_answer, parse_assertion, do_assert,
- 	_cpp_pop_buffer, do_diagnostic): Update.
- 	* cpplib.h (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN, DL_ERROR,
- 	DL_FATAL, DL_ICE, DL_EXTRACT, DL_WARNING_P): New.
- 	(cpp_ice, cpp_fatal, cpp_error_from_errno, cpp_warning,
- 	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line,
- 	cpp_notice, cpp_notice_from_errno): Remove.
- 	(cpp_error, cpp_error_with_line): Update to take a diagnostic
- 	level.
- 	(cpp_errno): New.
- 	* cppmacro.c (builtin_macro, stringify_arg, paste_all_tokens,
- 	collect_args, enter_macro_context, save_parameter, parse_params,
- 	_cpp_create_definition, check_trad_stringification,
- 	cpp_macro_definition): Update.
- 	* cppmain.c (cpp_preprocess_file): Update.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2002-04-14  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/linux.h (CPP_PREDEFINES): Fix missing backslash.
- 
- 2002-04-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
- 
- 	* config/arm/linux-elf.h (CPLUSPLUS_CPP_SPEC): Define.
- 
- 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/gnu.h (CPP_PREDEFINES): Define __gnu_hurd__,
- 	not gnu_hurd.
- 
- 2002-04-13  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Fix typo.
- 
- 2002-04-13	Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/sparc/t-elf: Enable v8 multilibs.  Impacts
- 	sparc-elf and sparc-rtems targets.
- 
- 2002-04-13  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* alpha/linux.h: Define __gnu_linux__ wherever __linux__ is
- 	defined, and __gnu_hurd__ wherever __GNU__ is defined.
- 	* arm/linux-elf.h: Likewise.
- 	* cris/aout.h: Likewise.
- 	* cris/linux.h: Likewise.
- 	* i370/linux.h: Likewise.
- 	* i386/gnu.h: Likewise.
- 	* i386/linux-aout.h: Likewise.
- 	* i386/linux-oldld.h: Likewise.
- 	* i386/linux.h: Likewise.
- 	* i386/linux64.h: Likewise.
- 	* ia64/linux.h: Likewise.
- 	* m68k/linux-aout.h: Likewise.
- 	* m68k/linux.h: Likewise.
- 	* mips/linux.h: Likewise.
- 	* pa/pa-linux.h: Likewise.
- 	* pj/linux.h: Likewise.
- 	* rs6000/sysv4.h: Likewise.
- 	* s390/linux.h: Likewise.
- 	* sh/linux.h: Likewise.
- 	* sparc/linux-aout.h: Likewise.
- 	* sparc/linux.h: Likewise.
- 	* sparc/linux64.h: Likewise.
- 	* xtensa/linux.h: Likewise.
- 
- 2002-04-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* stmt.c (check_unique_operand_names): Expect operand names to
- 	be strings rather than identifiers.  Use simple_cst_equal to
- 	compare them.
- 	(resolve_operand_name_1): Make same identifier to string change here.
- 	* c-parse.in (asm_operand): Convert a named operand into a string.
- 	* cp/parse.y (asm_operand): Likewise.
- 
- 2002-04-13  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.h (CPP_SPEC): Include %(cpp_cpu).
- 
- 2002-04-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	Revert these changes:
- 
- 	2002-04-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/5571
- 	* stor-layout.c (layout_decl): Reset the RTL for the decl.
- 
- 2002-04-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (sparcv9-*-solaris2): Default to 32-bit code.
- 	(sparc*-*-solaris): Clean up header files.
- 	* configure.in (AS_SPARC64_FLAG): Error out if can't find it
- 	and plan on generating 64-bit code.
- 	* toplev.c (decode_g_option): Remove LINKER_DOES_NOT_WORK_WITH_DWARF2.
- 	* config/sparc/sol2-64.h: Delete and reuse for default 64-bit code.
- 	* config/sparc/sol2-sld-64.h: Rename ...
- 	* config/sparc/sol2-bi.h: ... here.  Remove the bits that checked
- 	for AS_SPARC64_FLAG not defined.
- 	* config/sparc/sol2-gld-bi.h: New.
- 	* config/sparc/sol2-sld.h: Remove.
- 	* config/sparc/sol26-sld.h: New.
- 	* config/sparc/sol2.h: Tidy comments.
- 	* doc/install.texi: Document sparc-solaris configury changes.
- 
- 2002-04-12  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (offsettable_address_p): Match the logic in adjust_address.
- 
- 	* config/sparc/sparc.h (LEGITIMIZE_RELOAD_ADDRESS): Handle TFmode
- 	in 64-bit mode only.  Use only for 32-bit or MEDLOW.
- 
- 2002-04-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/osf.h (LINK_SPEC): Pass -S to silence ld warnings.
- 
- Fri Apr 12 15:42:59 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* pa.c (pa_can_combine_p): Call extract_insn before calling
- 	constrain_operands.
- 
- 2002-04-12  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
- 	(TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define.
- 	(DEFAULT_PCC_STRUCT_RETURN): Define as 0.
- 	(CPP_PREDEFINES): Handle __declspec.
- 	* config/i386/t-interix (USER_H): Remove.
- 
- 2002-04-12  DJ Delorie  <dj@redhat.com>
- 
- 	* integrate.c (compare_blocks): Make comparisons safe for when
- 	sizeof(int) < sizeof(char *).
- 	(find_block): Likewise.
- 
- 2002-04-12  Jan Hubicka  <jh@suse.cz>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (call_operand): Allow LINK and COUNT
- 	registers.
- 	(symbol_ref_operand): New.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add symbol_ref_operand.
- 	* config/rs6000/rs6000.md (call_nonlocal_aix): Use symbol_ref_operand.
- 
- 2002-04-12  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.h (ASM_SPEC): Moved from here ...
- 	* config/ia64/sysv4.h (ASM_SPEC): ... to here, so that it
- 	overrides the definition in config/svr4.h.
- 
- 2002-04-12	Eric Norum <eric.norum@usask.ca>
- 
- 	* config/rtems.h, config/a29k/rtems.h, config/arm/rtems-elf.h,
- 	config/c4x/rtems.h, config/h8300/rtems.h, config/i386/rtems.h,
- 	config/i386/rtemself.h, config/i960/rtems.h, config/m68k/rtems.h,
- 	config/m68k/rtemself.h, config/mips/rtems.h, config/mips/rtems64.h,
- 	config/pa/rtems.h, config/rs6000/rtems.h, config/sh/rtems.h,
- 	config/sh/rtemself.h, config/sparc/rtems.h, config/sparc/rtemself.h,
- 	config/v850/rtems.h (*-rtems*): Cleanup pass to move common
- 	definitions to config/rtems.h and make the targets more similar.
- 
- Fri Apr 12 08:06:54 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_assigment): Remove duplicate conversions #ifdef
- 	POINTERS_EXTEND_UNSIGNED.
- 	(store_constructor, expand_expr, case COMPONENT_REF): Likewise.
- 	(store_expr): Use TYPE_MODE (sizetype), not ptr_mode.
- 
- 	* emit-rtl.c (widen_memory_access): Don't do anything if MEMOFFSET
- 	not specified.
- 
- Fri Apr 12 12:11:26 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (calc_live_regs, sh_pr_n_sets): Use of PR_MEDIA_REG / PR_REG
- 	depends on TARGET_SHMEDIA, not TARGET_SH5.
- 
- 2002-04-12  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* function.c (fixup_var_refs_1) <SET, handling VAR in SET_SRC>:
- 	For paradoxical (subreg VAR), replace VAR, don't try the subreg.
- 
- Fri Apr 12 10:51:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (broken_move): Constant 0. / 1. load is OK if there is
- 	no r0 clobber.
- 
- 2002-04-12  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.h (EXTRA_SPECS): Fix missing backslash.
- 
- 2002-04-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR bootstrap/4191
- 	* config/d30v/d30v.h (INIT_SECTION_ASM_OP): Don't undef.
- 
- 	* flow.c (mark_used_reg): Manage reg_cond_dead properly for
- 	modes spanning multiple hard regs.
- 
- 	* recog.c (peephole2_optimize): Rebuild jump labels as needed.
- 
- 2002-04-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (pa_output_function_prologue): Don't accumulate the total
- 	number of code bytes when using TARGET_64BIT, or gas, SOM and not
- 	the portable runtime.
- 	(output_deferred_plabels): Handle 64bit plabels.
- 	(output_cbranch): Use $PIC_pcrel$0 for pc relative relocations when
- 	generating pic code using the GAS assembler for object formats that
- 	are not SOM (ie., ELF32 and ELF64).
- 	(output_millicode_call): Check attribute type if attribute length is 28.
- 	Likewise use $PIC_pcrel$0.  Only call get_attr_length and
- 	dbr_sequence_length once.
- 	(output_call): Likewise use $PIC_pcrel$0, and call get_attr_length and
- 	dbr_sequence_length once.
- 	* pa.h (TARGET_SOM): Define if not defined.
- 	* pa.md (pattern to load address of label): Likewise use $PIC_pcrel$0
- 	with GAS and not SOM.
- 	(jump, call_internal_reg, call_value_internal_reg): Likewise.
- 	* som.h (OBJ_SOM): Rename to TARGET_SOM.  Undefine before defining.
- 
- 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/freebsd.h (NO_IMPLICIT_EXTERN_C, SCCS_DIRECTIVE): Give value.
- 	(DEFAULT_PCC_STRUCT_RETURN) Do not redefine.
- 	(USER_LABEL_PREFIX, HANDLE_SYSV_PRAGMA, IDENT_ASM_OP,
- 	DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):
- 	elfos.h and dbxelf.h values are fine now.
- 	* config/i386/freebsd.h, config/alpha/freebsd.h
- 	(DEFAULT_PCC_STRUCT_RETURN): Define to 0.
- 
- 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/ia64/aix.h (CPP_PREDEFINES): Do not define _LP64/__LP64__
- 	or set Acpu or Amachine.  Reformat.
- 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
- 	define.
- 	(LINK_SPEC): Do not need to undef.
- 	* config/ia64/elf.h (ASM_EXTRA_SPEC): Define.
- 	* config/ia64/freebsd.h (LINK_SPEC): Do not need to undef.
- 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
- 	define.
- 	* config/ia64/hpux.h (ASM_EXTRA_SPEC): Define.
- 	(ASM_SPEC): Do not define, use ASM_EXTRA_SPEC instead.
- 	(LINK_SPEC): Do not need to undef.
- 	(DONT_USE_BUILTIN_SETJMP): Do not define.
- 	* config/ia64/ia64.h (ASM_SPEC, ASM_EXTRA_SPEC): Add.
- 	(CPP_CPU_SPEC): Define _LP64, set Acpu and Amachine.  Remove -Dia64.
- 	(DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Define.
- 	Remove trailing spaces.
- 	* config/ia64/linux.h (CPP_PREDEFINES): Do not define _LP64/__LP64__,
- 	__ELF__, or set Acpu or Amachine.  Reformat.
- 	(ASM_SPEC, DONT_USE_BUILTIN_SETJMP, PROFILE_BEFORE_PROLOGUE): Do not
- 	define.
- 
- 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (ia64-*-freebsd*): Fix ordering of tm_files to match
- 	all other *-*-freebsd* targets.
- 
- 2002-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (alpha*-*-linux*ecoff): Detect and reject.
- 
- 2002-04-11  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (alpha*-*-openbsd, alpha64-dec-*vms,alpha*-dec-*vms):
- 	Include {cpu}/{cpu}.h thru tm_file.
- 	(alpha*-*-linux*ecoff): Remove target.
- 	* config/alpha/elf.h (CPP_SUBTARGET_SPEC): Define __ELF__.
- 	(LINK_SPEC): Remove, is not OS independent.
- 	* config/alpha/freebsd.h (CPP_SPEC): Do not define __ELF__.
- 	(LINK_SPEC): Do not need to #undef any longer.
- 	* config/alpha/linux-ecoff.h (LINK_SPEC): Do not need to #undef
- 	any longer.
- 	* config/alpha/linux-elf.h (SUB_CPP_PREDEFINES): Do not define
- 	__ELF__.
- 	(LINK_SPEC): Moved here from alpha/elf.h.
- 	* config/alpha/linux.h (CPP_PREDEFINES): No longer consumer of
- 	SUB_CPP_PREDEFINES.
- 	* config/alpha/linux-ecoff.h: Remove.
- 	* config/alpha/netbsd.h (CPP_PREDEFINES): Do not define __ELF__.
- 	(CPP_SPEC): Define _POSIX_SOURCE as needed.
- 	(CPP_SUBTARGET_SPEC): Do not define.
- 	(LINK_SPEC): Do not need to #undef any longer.
- 	* config/alpha/openbsd.h: Do not directly include alpha/alpha.h.
- 	* config/alpha/vms.h: Likewise.
- 
- 2002-04-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/extend.texi: Remove old claim that typedefs cannot have
- 	an alignment attribute.
- 
- 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/6177
- 	* expr.c (expand_expr) [COMPONENT_REF]: Handle op0 CONCAT if
- 	bitpos is 0 and bitsize CONCAT size.
- 
- 2002-04-11  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/6223
- 	* combine.c (if_then_else_cond): Use trunc_int_for_mode on nz.
- 
- 2002-04-10  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/alpha/freebsd.h: Minor reformatting.
- 	(CPP_SPEC): Define ELF and add cpp_subtarget.
- 	(ASM_SPEC): No longer needed.
- 
- 2002-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.md (movdi_insn_sp32): Add o/J alternative.
- 	(movdi_insn_sp32_v9): Likewise.  Only allow stx with aligned memory.
- 	(dimode mem/zero splitter): New.
- 
- 2002-04-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_override_options): Tweak error message
- 	for PIC not implemented.
- 
- 	* config/cris/cris.h: Tweak comments related to parameter-passing.
- 
- 	* t-cris (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc here.
- 
- 2002-04-10  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (add_ehl_entry): Allow duplicates after landing pad
- 	creation.
- 
- 2002-04-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/t-aix43 (SHLIB_NM_FLAGS): Add -X32_64.
- 
- 2002-04-10  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* c-decl.c (c_init_decl_processing): Move generation of
- 	decls for g77_integer_type_node and friends from here ...
- 	* c-common.c (c_common_nodes_and_builtins): ... to here.
- 
- 2002-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload1.c (choose_reload_regs): HARD_FRAME_POINTER_REGNUM
- 	is only used as frame pointer when frame_pointer_needed is true.
- 
- 2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/817
- 	* arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
- 	for the fact that the pool entry uses two words.
- 	(movdf_hard_insn): Similarly.  Also, ADR instruction can span
- 	1k bytes.
- 	(movdf_soft_insn): Similarly.
- 	(movxf_hard_insn): Adjust neg_pool_range attribute to allow
- 	for the fact that the pool entry uses three words.
- 
- 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_va_arg): When using the struct version
- 	of the EABI va_list, allow arguments in the register save area to
- 	take up less room than a stack argument.
- 
- 2002-04-10  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr) [INTEGER_CST]: Don't force into registers
- 	if EXPAND_INITIALIZER.
- 
- 2002-04-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (movdi_er_maybe_g): New.
- 	* config/alpha/alpha.c (alpha_expand_mov): Use it.
- 
- 2002-04-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR optimization/6233
- 	* rtlanal.c (pure_call_p): New function.
- 	* rtl.h (pure_call_p): Declare.
- 	* loop.c (prescan_loop): Use it to set has_nonconst_call.
- 	* gcse.c (store_killed_in_insn): Use pure_call_p here too.
- 
- 2002-04-09  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Add additional
- 	information to .comm directive.
- 
- 2002-04-09  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5078
- 	* expr.c (expand_expr) [INTEGER_CST]: Force overflows into registers.
- 
- 2002-04-09  Richard Henderson  <rth@redhat.com>
- 
- 	* basic-block.h (flow_delete_block_noexpunge): Declare.
- 	(expunge_block_nocompact): Declare.
- 	* cfg.c (expunge_block_nocompact): Split out from ...
- 	(expunge_block): ... here.
- 	* cfgrtl.c (can_delete_label_p): Don't use exception_handler_labels.
- 	(flow_delete_block_noexpunge): Split out from ...
- 	(flow_delete_block): ... here.
- 	* cfgcleanup.c (delete_unreachable_blocks): Compact while
- 	removing dead blocks.
- 	* except.c (exception_handler_labels): Remove.
- 	(exception_handler_label_map): New.
- 	(struct eh_region): Add aka member.
- 	(mark_ehl_map_entry, mark_ehl_map, free_region): New.
- 	(ehl_hash, ehl_eq, ehl_free, add_ehl_entry): New.
- 	(for_each_eh_label, for_each_eh_label_1): New.
- 	(init_eh): Register exception_handler_label_map.
- 	(free_eh_status): Use free_region.
- 	(find_exception_handler_labels): Use the map, not the list.
- 	(remove_exception_handler_label): Likewise.
- 	(maybe_remove_eh_handler): Likewise.
- 	(remove_eh_handler): Use the region aka bitmap.
- 	* except.h (exception_handler_labels): Remove.
- 	(for_each_eh_label): Declare.
- 	* jump.c (rebuild_jump_labels): Don't check exception_handler_labels.
- 	* loop.c (invalidate_loops_containing_label): New.
- 	(find_and_verify_loops): Use it.  Use for_each_eh_label.
- 	* sched-rgn.c (is_cfg_nonregular): Use
- 	current_function_has_exception_handlers.
- 
- 2002-04-09  Richard Henderson  <rth@redhat.com>
- 
- 	* sbitmap.c (sbitmap_union_of_diff, sbitmap_a_and_b, sbitmap_a_xor_b,
- 	sbitmap_a_or_b, sbitmap_a_or_b_and_c, sbitmap_a_and_b_or_c):
- 	Do not return changed status.
- 	(sbitmap_union_of_diff_cg, sbitmap_a_and_b_cg, sbitmap_a_xor_b_cg,
- 	sbitmap_a_or_b_cg, sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c_cg):
- 	New functions that do return changed status.
- 	* sbitmap.h: Update decls.
- 	* gcse.c, lcm.c: Use _cg functions as needed.
- 
- Tue Apr  9 19:15:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config.gcc (sh-*-elf*): Use sh/embed-elf.h instead of sh/elf.h.
- 	(sh64-*-elf*, sh-*-rtemself*): Likewise.
- 	* config/sh/embed_bb.c: New file.
- 	* config/sh/embed-elf.h: New file.
- 	* sh.h (CPP_SPEC): Supply __SIZE_TYPE__ and __PTRDIFF_TYPE__
- 	if -m[12345]* option is given.  Don't use subtarget_cpp_ptr_spec.
- 	(CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
- 	__PTRDIFF_TYPE__ .
- 	(SUBTARGET_CPP_PTR_SPEC): Don't define.
- 	(EXTRA_SPECS): Remove subtarget_cpp_ptr_spec.
- 	Add subtarget_asm_endian_spec.
- 	(ASM_SPEC): Use subtarget_asm_endian_spec.
- 	(SUBTARGET_ASM_ENDIAN_SPEC): Define.
- 	(RETURN_ADDR_RTX): Use PR_MEDIA_REG for TARGET_SH5.
- 	(WCHAR_UNSIGNED): Define.
- 	(SH_ELF_WCHAR_TYPE, SH_DBX_REGISTER_NUMBER): Define.
- 	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
- 	(ALLOCATE_INITIAL_VALUE): Use PR_MEDIA_REG for TARGET_SH5.
- 	Fix value.
- 	* sh.c (calc_live_regs): Use PR_MEDIA_REG for TARGET_SH5.
- 	(sh_adjust_cost): Likewise.
- 	sh64.h (CPP_DEFAULT_CPU_SPEC): Add settings for __SIZE_TYPE__ and
- 	__PTRDIFF_TYPE__ .
- 	(SUBTARGET_CPP_PTR_SPEC, WCHAR_TYPE): Don't #undef/ #define.
- 	(WCHAR_TYPE_SIZE): Likewise.
- 	(ASM_SPEC): Use subtarget_asm_endian_spec.
- 	(SH_ELF_WCHAR_TYPE): #undef/ #define.
- 	(MAX_WCHAR_TYPE_SIZE): Don't #undef.
- 	* config/sh/elf.h (WCHAR_UNSIGNED): #undef .
- 	(MAX_WCHAR_TYPE_SIZE): Don't #define .
- 	(WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef / #define .
- 	(USER_LABEL_PREFIX): Don't #undef /#define .
- 	(DBX_REGISTER_NUMBER): Use SH_DBX_REGISTER_NUMBER.
- 	* config/elf/linux.h (USER_LABEL_PREFIX): Don't #undef /#define .
- 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Likewise.
- 	(ASM_SPEC): Likewise.
- 	(SUBTARGET_ASM_ENDIAN_SPEC): #undef / #define .
- 	(CC1_SPEC): don't supply -m3 for -m4*, -m5*.
- 	* t-sh: (LIB1ASMFUNCS): Use LIB1ASMFUNCS_CACHE.
- 	(LIB2FUNCS_EXTRA): Define.
- 	* t-sh64 (LIB2FUNCS_EXTRA): Define.
- 	* config/sh/t-linux (LIB1ASMFUNCS): Don't redefine.
- 	(LIB1ASMFUNCS_CACHE): Define.
- 	(LIB2FUNCS_EXTRA): Redefine empty.
- 
- 2002-04-08  Richard Henderson  <rth@redhat.com>
- 
- 	* reorg.c (get_branch_condition): Use reversed_comparison_code.
- 
- 2002-04-09  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/larith.asm (__map_data_section): Fix condition
- 	and optimize for size.
- 	(__do_global_ctors): Fix pointer comparison.
- 	(__do_global_dtors): Likewise.
- 
- 2002-04-09  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_extra_constraint_check): New
- 	function, implementing EXTRA_CONSTRAINTS.  For memory constraints,
- 	allow reloading pseudos.
- 	* config/sparc/sparc.h (EXTRA_CONSTRAINTS): Use it.
- 	* config/sparc/sparc-protos.h: Declare it.
- 
- 	* config/sparc/sparc.c (const64_is_2insns): Kill signed vs.
- 	unsigned comparison warning.
- 	(output_restore_regs): Mark leaf_function as unused.
- 
- Tue Apr  9 09:35:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (is_aligning_offset): New function.
- 	(expand_expr, case COMPONENT_EXPR): Call it.
- 
- 2002-04-08  David S. Miller  <davem@redhat.com>
- 
- 	PR target/6082
- 	* config/sparc/freebsd.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDLOW
- 
- 	Make init_priority work on SPARC when using GNU ld.
- 	* config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/netbsd-elf.h, config/sparc/freebsd.h
- 	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undefine.
- 	* config/sparc/sol2-gld.h: New file to do the same.
- 	* config.gcc (sparc*-*-solaris2*): If gnu_ld=yes add
- 	sparc/sol2-gld.h to tm_file.
- 
- 	PR optimization/4328
- 	* config/sparc/sparc.h (EXTRA_CONSTRAINT): Add new constraint 'W'.
- 	* doc/md.texi: Document it.
- 	* config/sparc/sparc.md (movdi_insn_sp64_novis,
- 	movdi_insn_sp64_vis, movdf_insn_sp32, movdf_insn_v9only_novis,
- 	movdf_insn_v9only_vis, movdf_insn_sp64_novis,
- 	movdf_insn_sp64_vis): Use it as MEM constraing with 'e' registers.
- 	* config/sparc/sparc.c (mem_min_alignment): Fix comment.
- 
- 2002-04-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* stmt.c (expand_asm_operands): Revert last patch from Richard
- 	Henderson.
- 
- 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add John David Anglin and Loren
- 	J. Rittle (the latter also to Testers).  Update David O'Brien's entry.
- 
- 2002-04-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add David O'Brien.
- 
- 2002-04-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* configure.in (auto-build.h): Use target_alias and build_alias
- 	when running configure.
- 	(gcc_cv_as, gcc_cv_ld): Search install paths when build != host too.
- 	(gcc_cv_nm, gcc_cv_objdump): Set for build != host too.
- 	* configure: Regenerate.
- 
- 2002-04-07  David S. Miller  <davem@redhat.com>
- 
- 	* config.gcc (sparc64-*-linux*): Add t-crtfm to tmake_file.
- 
- 2002-04-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	PR 5933
- 	* pa.h (ASM_OUTPUT_MI_THUNK): Use indirect jump to target function when
- 	generating 32-bit pic code.
- 
- 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* cppinit.c (cpp_create_reader): Initialize
- 	discard_comments_in_macro_exp.
- 	(COMMAND_LINE_OPTIONS): Add "-CC" option.
- 	(cpp_handle_option): Handle "-CC" option.
- 	* cpplex.c (save_comment): If saving a C++ comment in
- 	a directive, convert it to a C comment.
- 	(_cpp_lex_direct): Pass second comment start character to
- 	save_comment to indicate comment type.
- 	* cpplib.c (_cpp_handle_directive): If processing
- 	a "#define" directive and discard_comments_in_macro_exp
- 	is false,  re-enable saving of comments.
- 	(lex_macro_node): If discard_comments_in_macro_exp is false,
- 	discard any comments before the macro identifier.
- 	* cpplib.h (struct cpp_options): Add discard_comments_in_macro_exp
- 	member.
- 	* cppmacro.c (cpp_get_token): If expanding a macro while
- 	processing a directive, discard any comments we might encounter.
- 	(parse_params): If discard_comments_in_macro_exp is false,
- 	ignore comments in the macro parameter list.
- 	* gcc.c (cpp_unique_options): Add "-CC" option.
- 	(option_map): Map "--comments-in-macros" to "-CC".
- 	* doc/cppopts.texi: Document "-CC" option.
- 	* f/lang-specs.h: Add "-CC" option.
- 	* testsuite/gcc.dg/cpp/maccom1.c: New test.
- 	* testsuite/gcc.dg/cpp/maccom2.c: New test.
- 	* testsuite/gcc.dg/cpp/maccom3.c: New test.
- 	* testsuite/gcc.dg/cpp/maccom4.c: New test.
- 	* testsuite/gcc.dg/cpp/maccom5.c: New test.
- 	* testsuite/gcc.dg/cpp/maccom6.c: New test.
- 
- 2002-04-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	PR middle-end/6180
- 	* reorg.c (dbr_schedule): Don't reposition prologue and epilogue notes.
- 
- 2002-04-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/5571
- 	* stor-layout.c (layout_decl): Reset the RTL for the decl.
- 
- 	PR opt/5120
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Clear
- 	RTX_UNCHANGING_P for the functions arguments when a tail call
- 	is made.
- 
- 2002-04-06  Jason Merrill  <jason@redhat.com>
- 
- 	* toplev.c (flag_no_inline, flag_really_no_inline): Default to 2.
- 	(parse_options_and_default_flags): Set them appropriately.
- 	* c-common.c (c_common_post_options): Don't set flag_really_no_inline.
- 
- 2002-04-06  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Don't -Dinhibit_libc
- 	here.
- 
- 	* config/mmix/mmix.h (INITIAL_ELIMINATION_OFFSET): Remove spurious
- 	semicolon.
- 
- 	* config/mmix/mmix.c (mmix_expand_builtin_va_arg): Variable-size
- 	types come in by-reference.  Fix typo in comment.
- 
- 2002-04-05  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/freebsd.h (ENDFILE_SPEC): Add crtfastmath bits.
- 	* config.gcc (sparc64-wrs-vxworks, sparc-*-chorusos,
- 	sparc-*-rtems*, sparclite-*-elf* sparc86x-*-elf*, sparc64-*-elf*,
- 	{sparc64,ultrasparc}-*-freebsd*): Add sparc/t-crtfm to tmake_file.
- 
- 2002-04-05  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_nonflat_function_epilogue): If we
- 	are not going to emit return instructions, emit at least a nop
- 	for the sake of sane backtraces.
- 
- 2002-04-05  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/rtl.texi (Regs and Memory): Document (mem:BLK (scratch)).
- 
- 2002-04-05  Jakub Jeilnek  <jakub@redhat.com>
- 
- 	* mklibgcc.in: Use $tmpmapfile, not tmp-$@.
- 
- 2002-04-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_BRANCHLIKELY, ISA_HAS_CONDMOVE,
- 	ISA_HAS_FP4, ISA_HAS_MADD_MSUB, ISA_HAS_NMADD_NMSUB,
- 	ISA_HAS_CLZ_CLO, ISA_HAS_DCLZ_DCLO): Disable if TARGET_MIPS16.
- 
- 2002-04-05  Andreas Schwab  <schwab@suse.de>
- 
- 	* c-convert.c: Include c-common.h.
- 	* Makefile.in (c-convert.o): Updated.
- 
- 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* mklibgcc.in: Use separate libgcc.map for each multilib.
- 	* Makefile.in (distclean): Don't remove libgcc.map here.
- 
- 2002-04-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* Makefile.in (s-mlib): Handle --disable-multilib by separate
- 	genmultilib invocation.
- 
- 2002-04-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (CUMULATIVE_ARGS): Rename fp_regs to num_fprs
- 	to avoid clash with Irix header file sys/ucontext.h.  Rename gp_regs
- 	to num_gprs for symmetry.
- 	* config/mips/mips.c: Adjust accordingly.
- 
- 2002-04-04  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (truthvalue_conversion): Rename, update.
- 	* c-common.h (c_common_truthvalue_conversion): New.
- 	* c-convert.c (convert): Update.
- 	* c-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
- 	* c-parse.in (expr_no_commas, if_prefix, select_or_iter_stmt): Update.
- 	* c-typeck.c (build_binary_op, build_unary_op,
- 	build_conditional_expr): Update.
- 	* fold-const.c (constant_boolean_node, fold): Use langhook.
- 	* langhooks-def.h (LANGHOOK_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* stmt.c (expand_decl_cleanup): Use langhook.
- 	* tree.h (truthvalue_conversion): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine.
- 
- 2002-04-05  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Add crtsavres.o
- 	Add rules to make null object file.
- 
- 2002-04-04  Jim Blandy  <jimb@redhat.com>
- 
- 	* cppmacro.c (cpp_macro_definition): Do not emit spaces after
- 	macro formal parameter names.
- 
- 2002-04-04  David S. Miller  <davem@redhat.com>
- 
- 	* calls.c (store_one_arg): If ECF_SIBCALL, use tail_call_reg.
- 
- 2002-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/5099
- 	* stmt.c (expand_asm_operands): Validate outputs vs asm_operand_ok.
- 	Support copies into and out of memory.  Don't accept allows_reg
- 	and allows_mem as gospel.
- 
- 2002-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/6165
- 	* alias.c (true_dependence): Force (mem:blk (scratch)) to conflict.
- 	(write_dependence_p): Likewise.
- 
- 2002-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	* predict.c (estimate_bb_frequencies): Do frequency calculation
- 	with a volatile temporary.
- 
- 2002-04-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (LOCAL_LABEL_PREFIX): Define.
- 
- 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/6119
- 	* final.c (final_start_function): Don't bump profile_label_no here...
- 	(final_end_function): ...but here.
- 
- 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.md (pic): New attribute.
- 	(do_builtin_setjmp_setup): Save %fp, %i7 and %l7 for TARGET_V9
- 	into stack slots.
- 	(split after do_builtin_setjmp_setup): New.
- 
- 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR fortran/6106
- 	* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Backout 2001-01-01
- 	change.
- 
- 2002-04-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_va_arg): Adjust va_list by
- 	UNITS_PER_WORD for zero sized aggregates.
- 
- 2002-04-03  David S. Miller  <davem@redhat.com>
- 
- 	* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): No need for a new
- 	one-character spec for this, just use %(link_gcc_c_sequence).
- 
- 2002-04-03  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/crtfastmath.c (FPRS_NS): Delete bogus little-endian
- 	handling.
- 
- 2002-04-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (INCOMING_RETURN_ADDR_RTX): Move.
- 	(DWARF_FRAME_RETURN_COLUMN): Move.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Define.
- 	* pa.c (except.h, predict.h): Include.
- 	(FRP): Delete.
- 	(store_reg_modify, set_reg_plus_d): Revise prototypes.
- 	(output_ascii): Add cast.
- 	(store_reg_modify): Revise to add frame notes.
- 	(set_reg_plus_d): Likewise.
- 	(compute_frame_size): Include space for eh data registers in frame if
- 	the current function calls eh_return.
- 	(hppa_expand_prologue):  Ensure register %r2 is saved if the current
- 	function calls eh_return.  Save eh data registers if the current
- 	function calls eh_return.  Fix code to add frame notes.  Emit
- 	blockage to prevent insns with frame notes being scheduled in the
- 	delay slot of calls.
- 	(hppa_expand_epilogue): Restore eh data registers and do final stack
- 	adjustment if the current function calls eh_return.  Don't add frame
- 	notes.
- 	(output_call): Revise for change in length of call insn.  Don't do
- 	return pointer adjustment for an unconditional jump in the delay slot
- 	of a call when using frame notes.
- 	* pa.h (EH_RETURN_DATA_REGNO): Revise for TARGET_64BIT compatibility.
- 	(EH_RETURN_HANDLER_RTX): Use saved value on stack.
- 	(ARG_POINTER_CFA_OFFSET): Define.
- 	* pa.md (return_external_pic): New pattern.
- 	(prologue): Correct formatting.  Use return_external_pic if current
- 	function calls eh_return.
- 	(call_internal_symref, call_value_internal_symref,
- 	sibcall_internal_symref, sibcall_value_internal_symref): Change default
- 	lengths of short, long non-pic, and long pic calls to 8, 68, and 84,
- 	respectively.
- 	(exception_receiver): Use hppa_pic_save_rtx () to restore pic register.
- 
- 	* configure.in ("assembler dwarf2 debug_line support"): Add hppa*-*-* to
- 	list of targets to check using "nop" insn.
- 	* configure: Rebuilt.
- 
- 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/t-linux64 (EXTRA_MULTILIB_PARTS): Define.
- 
- 2002-04-03  David S. Miller  <davem@redhat.com>
- 
- 	* gcc.c (LINK_GCC_C_SEQUENCE_SPEC): New spec to override the gcc/c
- 	library sequence passed to the linker.
- 	(LINK_COMMAND_SPEC): Use it.
- 	* doc/tm.texi: Document it, and mention from LINK_COMMAND_SPEC as
- 	a macro a target can use to avoid overriding LINK_COMMAND_SPEC.
- 	* config/sparc/sparc.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
- 
- 2002-04-03  Jason Merrill  <jason@redhat.com>
- 
- 	* except.c (struct eh_status): Remove protect_list.
- 	(begin_protect_partials, end_protect_partials): Remove.
- 	(add_partial_entry): Remove.
- 	* except.h: Remove prototypes.
- 
- 	* expr.c (expand_expr) [WITH_CLEANUP_EXPR, TARGET_EXPR]: Use
- 	expand_decl_cleanup_eh.
- 
- 	PR c++/5636
- 	* tree.h (CLEANUP_EH_ONLY): New macro.
- 	* stmt.c (expand_decl_cleanup_eh): New fn.
- 	(expand_cleanups): Check CLEANUP_EH_ONLY.
- 	* c-semantics.c (genrtl_decl_cleanup): Just take the CLEANUP_STMT.
- 	Use expand_decl_cleanup_eh.
- 	(expand_stmt): Adjust.
- 	* c-common.h: Adjust prototype.
- 
- 2002-04-04  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_target_asm_function_prologue): Cast
- 	uses of PIC_OFFSET_TABLE_REGNUM to int to silence warnings.
- 	(cris_target_asm_function_epilogue): Ditto.
- 	(cris_initial_frame_pointer_offset): Ditto.
- 	(cris_simple_epilogue): Ditto.
- 	(cris_expand_builtin_va_arg): Variable-size types come in
- 	by-reference.
- 
- 2002-04-03  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/crtfastmath.c (FPRS_NS): Get it right for
- 	little-endian.
- 	(set_fast_math): Correct 'fsr' type.
- 
- 2002-04-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/3569
- 	* langhooks.h (lang_hooks.decls.warn_unused_global): New.
- 	* toplev.c (check_global_declarations): Use it.
- 	* langhooks-def.h (lhd_warn_unused_global_decl): Declare.
- 	(LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
- 	(LANG_HOOKS_DECLS): Add it.
- 	* langhooks.c (lhd_warn_unused_global_decl): New.
- 	* c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
- 	* c-objc-common.c (c_warn_unused_global_decl): New.
- 	* c-tree.h (c_warn_unused_global_decl): Declare.
- 	* objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New.
- 
- 2002-04-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* langhooks-def.h (lhd_set_decl_assembler_name,
- 	LANG_HOOKS_SET_DECL_ASSEMBLER_NAME): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_set_decl_assembler_name): New, from tree.c
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* tree.c (set_decl_assembler_name): Move to langhooks.c.
- 	(lang_set_decl_assembler_name): Remove.
- 	(init_obstacks): Don't set hook.
- 	(decl_assembler_name): New function.
- 	* tree.h (DECL_ASSEMBLER_NAME): Turn into a function call.
- 	(decl_assembler_name): New.
- 	(lang_set_decl_assembler_name): Remove.
- 
- 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (HAVE_SPARC_UA_PCREL_HIDDEN): Test whether %r_disp32()
- 	works properly with .hidden symbols.
- 	* configure: Rebuilt.
- 	* config.in: Rebuilt.
- 	* config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
- 	DW_EH_PE_absptr for flag_pic && GLOBAL if %r_disp32() doesn't work
- 	properly with .hidden symbols.
- 
- 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/6102
- 	* df.c (df_insn_refs_record): Use XEXP not SET_DEST to access
- 	USE argument.
- 
- 2002-04-03  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/4120
- 	* sched-rgn.c (sets_likely_spilled): New.
- 	(sets_likely_spilled_1): New.
- 	(add_branch_dependences): Use it.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/4311
- 	* loop.h (LOOP_FIRST_PASS): New.
- 	* loop.c (strength_reduce): Mind it when deciding to unroll.
- 	* toplev.c (rest_of_compilation): Set it.
- 
- 2002-04-02  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/sparc.md (ldd peephole2s): Fix final arg to
- 	mems_ok_for_ldd_peep when the order of the loads being examined
- 	is reversed.
- 	* config/sparc/sparc.c (mems_ok_for_ldd_peep): Expand upon
- 	existing comment to increase comprehension of this situation.
- 
- 2002-04-02  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/sh/sh.md: Don't use union real_extract.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c (__bb_exit_func): Revert 03-31 change.
- 
- 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (i386-dg-dgux, i386-go32-msdos , i386-go32-rtems,
- 	i386-ibm-aix, i386-moss-msdos, i386-ncr-sysv4, i386-next-,
- 	i386-pc-msdosdjgpp, i386-sequent-bsd, i386-sequent-ptx1,
- 	i386-sequent-ptx2, i386-sequent-ptx4, i386-sun-sunos,
- 	i386-wrs-vxworks, i386-*-aout, i386-*-beoself, i386-*-bsd,
- 	i386-*-bsdi, i386-*-chorusos, i386-*-coff, i386-*-elf,
- 	i386-*-freebsd5, i386-*-freebsd-aout, i386-*-gnu, i386-*-interix,
- 	i386-*-interix3, i386-*-isc, i386-*-linux, i386-*-linuxaout,
- 	i386-*-linuxoldld, i386-*-lynxos, i386-*-mach, i386-*-mingw32,
- 	i386-*-netbsd, i386-*-netbsdelf, i386-*-netware, i386-*-openbsd,
- 	i386-*-osf1, i386-*-osfrose, i386-*-pe , i386-*-rtems,
- 	i386-*-rtemscoff, i386-*-sco3.2v5, i386-*-solaris2, i386-*-sysv,
- 	i386-*-sysv4, i386-*-sysv5, i386-*-udk, i386-*-uwin, i386-*-vsta,
- 	i386-*-win32, x86_64-*-freebsd5, x86_64-*-linux, x86_64-*-netbsd):
- 	Include as many configury headers via tm_file as possible.  This
- 	includes among others i386/unix.h, i386/bsd.h, i386/gas.h.
- 	* config/openbsd-oldgas.h: New file.
- 	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/att.h,
- 	config/i386/bsd.h, config/i386/djgpp.h, config/i386/freebsd-aout.h,
- 	config/i386/gas.h, config/i386/gstabs.h, config/i386/i386-aout.h,
- 	config/i386/i386-coff.h, config/i386/i386-interix.h,
- 	config/i386/iscdbx.h, config/i386/linux-aout.h,
- 	config/i386/linux-oldld.h, config/i386/lynx-ng.h, config/i386/lynx.h,
- 	config/i386/mach.h, config/i386/netbsd.h, config/i386/next.h,
- 	config/i386/openbsd.h, config/i386/osfelf.h, config/i386/osfrose.h,
- 	config/i386/sco5.h, config/i386/seq-gas.h, config/i386/seq-sysv3.h,
- 	config/i386/seq2-sysv3.h, config/i386/sequent.h, config/i386/sun.h,
- 	config/i386/sun386.h, config/i386/svr3dbx.h, config/i386/svr3gas.h,
- 	config/i386/sysv3.h, config/i386/uwin.h, config/i386/vsta.h,
- 	config/i386/vxi386.h: Do not directly include configury headers.
- 	* config/i386/cygwin.h, config/i386/djgpp.h, config/i386/win32.h:
- 	Directly include configury headers that are no longer automatically
- 	included by the above headers.
- 	* config/i386/att.h, config/i386/bsd.h (TARGET_VERSION): Do not define.
- 	* config/i386/386bsd.h, config/i386/aix386ng.h, config/i386/cygwin.h,
- 	config/i386/djgpp.h, config/i386/i386-aout.h, config/i386/i386-coff.h,
- 	config/i386/lynx-ng.h, config/i386/lynx.h, config/i386/mach.h,
- 	config/i386/netbsd.h, config/i386/openbsd.h, config/i386/rtems.h,
- 	config/i386/seq-sysv3.h, config/i386/sequent.h, config/i386/svr3gas.h,
- 	config/i386/sysv3.h, config/i386/vsta.h, config/i386/vxi386.h
- 	(TARGET_VERSION): Define.
- 	* config/i386/beos-elf.h, config/i386/freebsd.h,
- 	config/i386/i386-interix.h, config/i386/i386elf.h, config/i386/linux.h,
- 	config/i386/linux64.h, config/i386/netbsd-elf.h, config/i386/netbsd64.h,
- 	config/i386/osfelf.h, config/i386/osfrose.h, config/i386/ptx4-i.h,
- 	config/i386/sco5.h, config/i386/sysv4.h
- 	(TARGET_VERSION): Do not need to protect.
- 	* config/i386/freebsd64.h (TARGET_VERSION): Fix style.
- 	* config/i386/386bsd.h, config/i386/cygwin.h, config/i386/djgpp.h,
- 	config/i386/freebsd-aout.h, config/i386/i386-aout.h,
- 	config/i386/i386-interix.h, config/i386/linux-aout.h,
- 	config/i386/linux-oldld.h, config/i386/mach.h, config/i386/netbsd.h,
- 	config/i386/openbsd.h, config/i386/vsta.h, config/i386/win32.h
- 	(YES_UNDERSCORES): Do not define - not needed.
- 	* config/i386/bsd.h, config/i386/gas.h (LPREFIX,
- 	ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
- 	USER_LABEL_PREFIX): Do not handle the "NO_UNDERSCORES" case.
- 	* config/i386/i386-coff.h, config/i386/lynx.h, config/i386/lynx-ng.h
- 	(LPREFIX, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL,
- 	USER_LABEL_PREFIX): Define. (handles the "NO_UNDERSCORES" case)
- 	* config/i386/isc.h: Preserve comment from config/i386/isccoff.h.
- 	* config/i386/isccoff.h, config/i386/v3gas.h: Remove.
- 
- 2002-04-02  Eric Botcazou  <ebotcazou@multimania.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5484
- 	* function.c (assign_temp): Accept either type or decl argument.
- 	Detect variables whose size is too large to fit into an integer.
- 	* stmt.c (expand_decl): Pass the decl, not the type.
- 
- 2002-04-02  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* protoize.c: Match include directory usage with cppdefault.c.
- 
- 2002-04-03  Jeffrey A Law  (law@redhat.com)
- 	    Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* combine.c (simplify_comparison): Avoid narrowing a comparison
- 	with a paradoxical subreg when doing so would drop signficant bits.
- 
- 2002-04-02  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* builtins.c (expand_builtin_prefetch): Force op0 pointer to Pmode
- 	if POINTERS_EXTEND_UNSIGNED is defined.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/3967
- 	* local-alloc.c (contains_replace_regs): LO_SUM may contain
- 	replace regs.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/standards.texi: Document required freestanding libc entry points.
- 
- 2002-04-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (ctrdi*): Add FPR constraint and
- 	associated splitter.  Remove MQ constraint.
- 	(ctrdi_internal4): Correct CCmode clobber.
- 
- 2002-04-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* milli64.S ($$dyncall): New function.
- 	* t-linux (LIB1ASMFUNCS): Revise module list.
- 	(LIB1ASMSRC): Use pa/milli64.S.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and
- 	rename solaris_sys_varargs_h.
- 
- Tue Apr  2 06:47:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_type, case ARRAY_TYPE): Give one-element array
- 	the same mode as its component.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/190
- 	* final.c (this_is_asm_operands): Export.
- 	* output.h (this_is_asm_operands): Declare.
- 	* config/i386/i386.c (print_operand): Error odd asm operands.
- 
- 2002-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/420
- 	* config/m68k/m68k.md (dbcc peepholes): Match four forms of dbra.
- 
- 2002-04-01  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/1538
- 	* fixinc/inclhack.def (solaris_sys_varargs_h): New.
- 	* fixinc/fixincl.x: Rebuild.
- 
- 2002-04-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c: Include ia64intrin.h.
- 	(atomic_alloc, atomic_free): New.
- 	(SIZE, MASK_FOR, PTR_IN): New.
- 	(emergency_reg_state, emergency_reg_state_free): New.
- 	(emergency_labeled_state, emergency_labeled_state_free): New.
- 	(reg_state_alloced, labeled_state_alloced): New.
- 	(alloc_reg_state, free_reg_state): New.
- 	(alloc_label_state, free_label_state, free_label_states): New.
- 	(push, pop, dup_state_stack, free_state_stack): Use them.
- 	(desc_label_state): Likewise.
- 	(uw_frame_state_for): Free label states and state stack.
- 	(uw_update_reg_address): Eliminate warnings.
- 
- 2002-04-01  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON,
- 	ASM_OUTPUT_ALIGNED_LOCAL): Redefine them.
- 
- 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (grokdeclarator): Update.
- 	* c-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
- 	* c-tree.h (c_mark_addressable): New.
- 	* c-typeck.c (default_function_array_conversion, build_unary_op,
- 	build_array_ref, convert_for_assignment): Update.
- 	(mark_addressable): Rename.
- 	* calls.c (try_to_integrate, expand_call): Use langhook.
- 	* expr.c (expand_expr): Use langhook.
- 	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* stmt.c (expand_asm_operands): Use langhook.
- 	* tree.h (mark_addressable): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_MARK_ADDRESSABLE): Redefine.
- 
- 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_va_arg): Fix compiler warning
- 	in previous change.
- 
- 2002-04-01  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_va_arg): Fix to handle arguments
- 	for which MUST_PASS_IN_STACK is true (e.g., variable-sized types).
- 
- 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (unsigned_conversion_warning, convert_and_check,
- 	unsigned_type, signed_type, shorten_compare,
- 	c_common_get_alias_set, c_common_nodes_and_builtins): Use new hooks.
- 	(unsigned_type, signed_type, signed_or_unsigned_type): Rename.
- 	* c-common.h (unsigned_type, signed_type, signed_or_unsigned_type):
- 	New.
- 	* c-decl.c (grokdeclarator): Update.
- 	* c-format.c (check_format_types): Update.
- 	* c-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
- 	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
- 	* c-typeck.c (build_binary_op, convert_for_assignment): Update.
- 	* convert.c (convert_to_integer): Use new hooks.
- 	* expmed.c (make_tree): Use new hooks.
- 	* expr.c (store_expr): Use new hooks.
- 	* fold-const.c (operand_equal_for_comparison_p, build_range_check,
- 	all_ones_mask_p, unextend, fold): Use new hooks.
- 	* langhooks.h (struct lang_hooks_for_types): New hooks.
- 	* tree.h (signed_or_unsigned_type, signed_type,
- 	unsigned_type): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_SIGNED_TYPE, LANG_HOOKS_UNSIGNED_TYPE,
- 	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): New.
- 
- 2002-03-31  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (alloc_spill_area): Fix offset.
- 	(desc_frgr_mem): Fix reference to f16-f31.
- 
- 2002-03-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
- 	RTVEC_ELT): Const-ify.
- 	* varray.h (VARRAY_CHECK): Const-ify.
- 	* ggc.h (ggc_mark_rtx, ggc_mark_tree, ggc_mark_nonnull_tree,
- 	ggc_mark_rtvec, ggc_mark): Const-ify.
- 
- 2002-04-01  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* diagnostic.c: Include langhooks-def.h.
- 	* Makefile.in (diagnostic.o): Update.
- 
- 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_unsafe_for_reeval): Rename.
- 	* c-common.h (c_unsafe_for_reeval): Rename.
- 	* c-decl.c (finish_incomplete_decl): Rename.
- 	(c_init_decl_processing): Don't set langhook.
- 	* c-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
- 	LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
- 	* c-objc-common.c (c_objc_common_init): Don't set langhook.
- 	* c-tree.h (finish_incomplete_decl): Rename.
- 	* langhooks-def.h (lhd_unsafe_for_reeval): New.
- 	(LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_unsafe_For_reeval): New.
- 	* langhooks.h (struct langhooks): New hooks.
- 	* toplev.c (incomplete_decl_finalize_hook): Remove.
- 	(wrapup_global_declarations): Update.
- 	* tree.c (lang_unsafe_for_reeval): Remove.
- 	(unsafe_for_reeval): Update.
- 	* tree.h (lang_unsafe_for_reeval, incomplete_decl_finalize_hook):
- 	Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_FINISH_INCOMPLETE_DECL,
- 	LANG_HOOKS_UNSAFE_FOR_REEVAL): Redefine.
- 
- 2002-03-31  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* diagnostic.c (print_error_function): Remove.
- 	(default_print_error_function): Rename.
- 	(report_error_function): Update.
- 	* diagnostic.h (print_error_function): Remove.
- 	(default_print_error_function): Remove.
- 	* langhooks-def.h (struct diagnostic_context): Predeclare.
- 	(lhd_print_error_function, LANG_HOOKS_PRINT_ERROR_FUNCTION): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct diagnostic context): Predeclare.
- 	(struct lang_hooks): New hook.
- 
- 2002-03-31  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.h (RS6000_PIC_OFFSET_TABLE_REGNUM): New.
- 	(PIC_OFFSET_TABLE_REGNUM): Use it and return INVALID_REGNUM if
- 	!flag_pic.
- 	(CONDITIONAL_REGISTER_USAGE): Adjust accordingly.
- 	* config/rs6000/rs6000.h: Use RS6000_PIC_OFFSET_TABLE_REGNUM instead
- 	of PIC_OFFSET_TABLE_REGNUM thruout.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 
- Sun Mar 31 14:43:24 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (adjust_address_1, offset_address): Cast value to
- 	unsigned HOST_WIDE_INT, not unsigned int.
- 
- 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/6096, middle-end/6098, middle-end/6099
- 	* reorg.c (emit_delay_sequence): Only increment LABEL_NUSES for
- 	CODE_LABELs.
- 	(fill_slots_from_thread): Likewise.
- 
- 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.c (function_arg_record_value_1): Pass complex
- 	floating fields in float regs.
- 	(function_arg_record_value_2): Likewise.
- 
- 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md (define_constants): Remove misleading
- 	FIXME.  Add MMIX_fp_rO_OFFSET.
- 	("nonlocal_goto_receiver"): Don't have stack-frame address of
- 	saved rO as part of the pattern.  Remove FIXME.
- 	("*nonlocal_goto_receiver_expanded"): Similar.  Generate address
- 	here, at output-time.
- 
- 2002-03-31  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/6100
- 	* config/sparc/sparc.c (output_cbranch): Use REG_BR_PROB, not
- 	REG_BR_PRED.
- 	(output_v9branch): Likewise.
- 
- 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcc.c: Revert previous patch for now.
- 	* config/i386/djgpp.h: Likewise.
- 
- 2002-03-31  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/crti.asm (_init): Register _fini with atexit.
- 	* config/mmix/crtn.asm (_fini): Add omitted "POP 0,0".
- 
- 2002-03-31  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/3997
- 	* config/alpha/elf.h (ASM_OUTPUT_DEF): Tidy.
- 	(ASM_OUTPUT_DEF_FROM_DECLS): New.
- 
- 2002-03-31  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c (__bb_exit_func): Make static.
- 
- 	* config/alpha/alpha.md (trap): New.
- 
- 2002-03-31  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_va_arg): Give warnings not errors for
- 	promoted argument types; build trap.
- 	(expand_builtin_trap): New.
- 	(expand_builtin): Use it.
- 	* stmt.c (expand_nl_goto_receivers): Likewise.
- 	* expr.h (expand_builtin_trap): Declare.
- 	* libfuncs.h (LTI_abort, abort_libfunc): New.
- 	* optabs.c (init_optabs): Init abort_libfunc.
- 
- 2002-03-31  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcc.c (LIBGCC_SPEC): Folded %L and duplicate %G here...
- 	(LINK_COMMAND_SPEC): ... from here.
- 	(init_gcc_specs): Duplicate it here too, omitting
- 	shared_name in the second copy.
- 	(init_spec): Test for duplicate
- 	* config/i386/djgpp.h (LINK_COMMAND_SPEC): Remove `%L %G'.
- 
- 2002-03-30  David S. Miller  <davem@redhat.com>
- 
- 	* config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 	* config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Likewise.
- 
- 2002-03-30  Roger Sayle <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* regmove.c (combine_stack_adjustments_for_block): Avoid
- 	emitting a stack adjustment of zero bytes.  Let delete_insn
- 	update bb->head.
- 
- 2002-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c: Remove all references to TARGET_EPILOGUE.
- 	(sparc_emitting_epilogue): New.
- 	(leaf_label, output_return, sparc_return_peephole_ok): Remove.
- 	* config/sparc/sparc-protos.h: Update.
- 	* config/sparc/sparc.h (MASK_EPILOGUE, TARGET_EPILOGUE): Remove.
- 	(TARGET_SWITCHES): Update.
- 	* config/sparc/sparc.md (return): Remove.
- 	(return_*): Use sparc_emitting_epilogue, not !TARGET_EPILOGUE.
- 	* config/sparc/freebsd.h, config/sparc/linux64.h, config/sparc/lite.h,
- 	config/sparc/liteelf.h, config/sparc/netbsd-elf.h,
- 	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
- 	config/sparc/sp64-aout.h, config/sparc/sp64-elf.h,
- 	config/sparc/sp86x-aout.h, config/sparc/sp86x-elf.h,
- 	config/sparc/splet.h, config/sparc/vxsparc64.h (TARGET_DEFAULT):
- 	Remove MASK_EPILOGUE.
- 	* doc/invoke.texi: Update.
- 
- 2002-03-30  Daniel Berlin  <dan@dberlin.org>
- 
- 	* dwarf2out.c (dwarf2out_define): Remove start_source_file call,
- 	CPP will start the file for us.
- 
- 2002-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5446
- 	* config/ia64/ia64.c (group_barrier_needed_p): Special case
- 	prologue_allocate_stack.
- 	(ia64_single_set): Use insn codes for recognition of special
- 	cases, not rtl matching.
- 	* config/ia64/ia64.md (prologue_allocate_stack): Op 3 is in-out.
- 
- Sat Mar 30 23:48:41 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgbuild.c (find_basic_blocks_1): Clear aux for blocks.
- 
- 2002-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6032
- 	* config/sparc/sparc.h (OVERRIDE_OPTIONS): Don't override -fpic
- 	or -fomit-frame-pointer with profiling.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Remove.
- 	(FUNCTION_PROFILER): Do nothing.
- 	(PROFILE_HOOK): New.
- 	* config/sparc/sparc.c (sparc_override_options): Don't check
- 	code models for profiling.
- 	(sparc_function_profiler): Remove.
- 	(sparc_profile_hook): New.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 2002-03-30  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/6086
- 	* combine.c (combine_simplify_rtx): If simplify_rtx failed because
- 	of SUBREG of volatile MEM or because the MEM was mode dependent,
- 	return CLOBBER instead of unmodified SUBREG.
- 
- Sat Mar 30 14:08:55 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* local-alloc.c (local_alloc): Avoid call of update_equiv_regs
- 	when not optimizing.
- 
- 	* toplev.c (rest_of_compilation): Cann mark_constant_function
- 	only when optimizing.
- 
- 	* flow.c (calculate_global_regs_live): Ensure that all AUX fields
- 	are NULL.
- 
- 	* cfgcleanup.c (bb_flags): Add BB_NONTHREADABLE_BLOCK.
- 	(thread_jump): Set BB_NONTHREADABLE_BLOCK, check it.
- 	(try_optimize_cfg): clear all AUX fields.
- 
- 	* i386.c (aligned_operand): Be prepared for SUBREGed registers.
- 	(ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
- 	(ix86_address_cost): Be prepared for SUBREGed registers.
- 	(legitimate_address_p): Accept SUBREGed registers.
- 
- 2002-03-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5672
- 	* expr.c (expand_expr): Pass along EXPAND_INITIALIZER one more place.
- 
- 2002-03-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Correctly set register count
- 	for aggregate and TFmode types.
- 
- 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* cfg.c (dump_flow_info): Guard against NULL regno_reg_rtx[i].
- 
- 2002-03-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5886
- 	* config/ia64/aix.h (CPP_PREDEFINES): Add -D_LP64.
- 	* config/ia64/hpux.h, config/ia64/linux.h: Likewise.
- 
- 2002-03-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6041
- 	* config/i386/i386.c (x86_arch_always_fancy_math_387): New.
- 	(override_options): Disable NO_FANCY_MATH_387 if the arch allows.
- 	* config/i386/i386.h (x86_arch_always_fancy_math_387): New.
- 	* config/i386/i386.md (sqrtxf2, sqrtextendsfxf2, sinxf2): Fix
- 	conditional.
- 	* docs/invoke.texi: Update -mno-fancy-math-387 docs.
- 
- 2002-03-29  Dale Johannesen <dalej@apple.com>
- 
- 	* loop.c (combine_movables): Do allow combination of pseudos.
- 
- 2002-03-29  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config.gcc (*-*-freebsd*): Enable creation of libgcc_s.so.
- 	* config/t-slibgcc-elf-ver (SHLIB_LC): Add macro and use it.
- 	No functional change except ...
- 	* config/t-slibgcc-nolc-override (SHLIB_LC): Override it.  New file.
- 	* doc/install.texi (*-*-freebsd*): Document port configuration.
- 
- 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (convert.o, calls.o, expmed.o): Update.
- 	* attribs.c (handle_mode_attribute, handle_vector_size_attribute):
- 	Use new hooks.
- 	* builtin-types.def (BT_PTRMODE): Update.
- 	* c-common.c (type_for_size): Rename c_common_type_for_size.
- 	(type_for_mode): Similarly.
- 	(shorten_compare, pointer_int_sum, c_common_nodes_and_builtins):
- 	Use new hook.
- 	* c-bommon.h (c_common_type_for_size, c_common_type_for_mode): New.
- 	* c-decl.c (finish_enum, build_enumerator): Use new hooks.
- 	* c-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIZE):
- 	Redefine.
- 	* c-typeck.c (common_type, comptypes, default_conversion):
- 	Use new hooks.
- 	* calls.c: Include langhooks.h.
- 	(emit_library_call_value_1): Use new hooks.  Avoid redundant
- 	calls.
- 	* convert.c: Include langhooks.h
- 	(convert_to_pointer, convert_to_integer): Use new hooks.
- 	* except.c (init_eh): Similarly.
- 	* expmed.c: Include langhooks.h.
- 	(expand_mult_add): Use new hooks.
- 	* expr.c (store_expr, store_constructor, expand_expr, do_jump,
- 	try_casesi): Similarly.
- 	* fold-const.c (optimize_bit_field_compare, make_range,
- 	decode_field_reference, fold_truthop, fold): Similarly.
- 	* function.c (assign_stack_local_1, assign_stack_temp_for_type,
- 	put_var_into_stack): Similarly.
- 	* langhooks-def.h (LANG_HOOKS_TYPE_FOR_MODE,
- 	LANG_HOOKS_TYPE_FOR_SIZE): New.
- 	(LANG_HOOKS_TYPES_INITIALIZER): Update.
- 	* langhooks.h (lang_hooks_for_types): New hooks.
- 	* stmt.c (expand_decl_cleanup, emit_case_nodes): Use new hooks.
- 	* tree.c (get_unwidened, get_narrower): Similarly.
- 	* tree.h (type_for_mode, type_for_size): Remove.
- 	* varasm.c (force_const_mem): Use new hooks.
- 	* utils2.c (nonbinary_modular_operation): Update.
- objc:
- 	* objc-act.c (handle_impent): Update.
- 	* objc-lang.c (LANG_HOOKS_TYPE_FOR_MODE, LANG_HOOKS_TYPE_FOR_SIaZE):
- 	Redefine.
- 
- 2002-03-29  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.md (*ptr_extend_plus_1, *ptr_extend_plus_2): New.
- 	* config/ia64/ia64.c (basereg_operand): New.
- 	* config/ia64/ia64-protos.h (basereg_operand): Declare.
- 	* config/ia64/ia64.h (PREDICATE_CODES): Add basereg_operand.
- 
- 2002-03-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Correct
- 	unwind information when frame_pointer_needed.
- 	(mmix_assemble_integer): Tweak wording in comment.
- 
- 2002-03-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (except.o): Update.
- 	* except.c: Include langhooks.h.
- 	(init_eh): Use langhook.
- 	* langhooks-def.h (LANG_HOOKS_MAKE_TYPE,
- 	LANG_HOOKS_FOR_TYPES_INITIALIZER): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (lang_hooks_for_types): New.
- 	(struct lang_hooks): Add it.
- 	* tree.c (make_lang_type_fn, make_lang_type): Remove.
- 	* tree.h (make_lang_type_fn, make_lang_type): Remove.
- config:
- 	* alpha/alpha.c: Include langhooks.h.
- 	(alpha_build_va_list): Use langhook.
- 	* d30v/d30v.c: Include langhooks.h.
- 	(d30v_build_va_list): Use langhook.
- 	* i386/i386.c: Include langhooks.h.
- 	(ix86_build_va_list): Use langhook.
- 	* rs6000/rs6000.c (rs6000_build_va_list): Use langhook.
- 	* s390/s390.c: Include langhooks.h.
- 	(s390_build_va_list): Use langhook.
- 	* stormy16/stormy16.c: Include langhooks.h.
- 	(stormy16_build_va_list): Use langhook.
- 
- 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/5964
- 	* config/sparc/sparc.md (empty_delay_slot, branch_type): New
- 	attributes.
- 	(length): Compute variable length for branches/calls/jumps here.
- 	(branch, inverted_branch, normal_fp_branch, inverted_fp_branch,
- 	normal_fpe_branch, inverted_fpe_branch): Remove length attribute,
- 	define branch_type attribute.
- 	(divsi3_sp32): Maximum length is 6 not 7.
- 	(call_address_struct_value_sp32, call_symbolic_struct_value_sp32,
- 	call_address_untyped_struct_value_sp32,
- 	call_symbolic_untyped_struct_value_sp32): Set length to 3 not 2.
- 	* config/sparc/sparc.c (empty_delay_slot): New function.
- 	* config/sparc/sparc.h (ADJUST_INSN_LENGTH): Remove.
- 	* config/sparc/sparc-protos.h (empty_delay_slot): Add prototype.
- 
- 2002-03-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (set_nonzero_bits_and_sign_copies): Don't call
- 	nonzero_bits if not needed.
- 	(nonzero_bits) [XOR]: Likewise.
- 	(nonzero_bits) [REG]: Use reg_last_set_nonzero_bits even if
- 	reg_last_set_mode and mode are both MODE_INT, but not equal.
- 	(record_value_for_reg): Compute reg_last_set_nonzero_bits
- 	in nonzero_bits_mode for MODE_INT modes.
- 
- 2002-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5715
- 	* config/alpha/osf.h (ASM_SPEC): Don't pass any special options
- 	to GAS.  Correct drift between alternatives.
- 
- 2002-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6087
- 	* reload1.c (fixup_abnormal_edges): Move insn to edge via sequence.
- 
- 2002-03-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/freebsd.h (LINK_SPEC): Don't pass default
- 	emulation to the linker.
- 
- 2002-03-28  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* config/alpha/freebsd.h (LINK_SPEC): Likewise.
- 	* config/sparc/freebsd.h (LINK_SPEC): Likewise.
- 
- Thu Mar 28 16:35:31 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* combine.c (simplify_and_const_int): Make sure to apply mask
- 	when force_to_mode returns a constant integer.  PR3311.
- 
- 2002-03-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (LOCAL_LABEL_PREFIX): Define.
- 
- 2002-03-28  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/invoke.texi (Warning Options): Refer to C++ Dialect Options
- 	and Objective-C Dialect Options.
- 
- 2002-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_conditional_branch): TFmode NE
- 	comparison should be done vs !=0 not >0 return code.  Tidy cases.
- 
- 2002-03-28  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (finish_function): New arg can_defer_p.  Pass it
- 	on to c_expand_body.
- 	* c-tree.h (finish_function): Update decl.
- 	* c-objc-common.c, c-parse.in, objc/objc-act.c: Update calls.
- 
- Thu Mar 28 19:13:36 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (if_convert): Clear aux_for_blocks early enough.
- 
- Thu Mar 28 13:21:53 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c: Include flags.h
- 	(may_trap_p): Do not mark FP operations if trapping
- 	if !flag_trapping_math
- 	* Makefile.in (rtlanal.o): Add dependency on flag.h
- 	* ifcvt.c (noce_operand_ok): Avoid the lameness.
- 
- 2002-03-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mips.md: Use dconst1, not 1.0, as first argument of
- 	REAL_VALUE_LDEXP.  Don't use union real_extract.
- 
- 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* configure.in (gcc_cv_as): Use $target_alias in directory searchs
- 	rather than $target.  Heed program_prefix and
- 	program_transform_name.  Search for gas in cross-compiler case too.
- 	"test -x" rather than "test -f".
- 	(gcc_cv_ld): Likewise.
- 	(gcc_cv_nm): Heed program_prefix and program_transform_name.
- 	(gcc_cv_objdump): Likewise.
- 	* configure: Regenerate.
- 
- 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (attribs.o): Update.
- 	* attribs.c: Include langhooks.h.
- 	(decl_attributes): Use langhook.
- 	* c-decl.c (insert_default_attributes): Rename.
- 	* c-tree.h (c_insert_default_attributes): New.
- 	* langhooks-def.h (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES):New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* tree.h (insert_default_attributes): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES): Redefine.
- 
- 2002-03-27  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/i386/i386.c (classify_argument): Also check for
- 	QUAL_UNION_TYPE.
- 
- 2002-03-27  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* doc/install.texi (alpha*-dec-osf*): Don't need --enable-libgcj
- 	any more.
- 
- Wed Mar 27 23:19:30 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i960.md (ret): Set PC.
- 	(nonlocal_goto): Fix expander.
- 	* builtins.c (epxand_builin_longjmp): Check that we've emitted
- 	some jump or call.
- 
- Wed Mar 27 23:11:35 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* optabs.c (emit_no_conflict_block, emit_libcall_block): Avoid nesting
- 	of libcall regions.
- 
- Wed Mar 27 22:54:14 CET 2002  Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgrtl.c (merge_blocks_nomove): Use set_block_for_insn instead of
- 	assigning to BLOCK_FOR_INSN directly.
- 
- Wed Mar 27 22:33:05 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_output_addr_diff_elt): Remove binutils bug workaround.
- 
- 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.c (c_expand_expr): Fix prototype.
- 	* c-common.h (c_expand_expr): Always declare, update.
- 	* c-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
- 	* c-objc-common.c (c_objc_common_init): No global hook.
- 	* expr.c (expand_expr): Use langhook.
- 	* expr.h (enum expand_modifier): Conditionally declare.
- 	* langhooks-def.h (lhd_expand_expr, LANG_HOOKS_EXPAND_EXPR): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_expand_expr): New.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* toplev.c (lang_expand_expr_t, lang_expand_expr): Delete.
- 	(lang_independent_init): Don't default hook.
- objc:
- 	* objc-lang.c (LANG_HOOKS_EXPAND_EXPR): Redefine.
- 
- 2002-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/6054
- 	* config/ia64/ia64.c (ia64_expand_call): Use pic patterns for
- 	TARGET_CONST_GP.  Simplify conditions.
- 
- 2002-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/netbsd-elf.h, config/sparc/pbd.h, config/sparc/sol2.h,
- 	config/sparc/vxsim.h (LOCAL_LABEL_PREFIX): Define.
- 
- 2002-03-27  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.h (TARGET_DLL, TARGET_WIN32,
- 	TARGET_CYGWIN, TARGET_WINDOWS): Remove unused switches.
- 	(MASK_DLL, MASK_WIN32, MASK_CYGWIN, MASK_WINDOWS):
- 	Remove unnecessary masks.
- 	(MASK_NOP_FUN_DLLIMPORT): Use an unused an bit.
- 	(SUBTARGET_SWITCHES): Use empty masks for -mwin32, -mcygwin,
- 	-mwindows, -mdll switches and their negations.
- 
- 2002-03-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* gcc-common.c (lang_mark_false_label_stack): Remove.
- 	* ggc.h (lang_mark_false_label_stack): Similarly.
- 
- 2002-03-26  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* pa/pa-pro-end.h (CPP_PREDEFINES): Add -D__pro__.
- 
- 	* pa/lib2funcs.asm: Don't use .SPACE and .SUBSPACE if __pro__
- 	or __rtems_ is defined.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_set_const): Add a REG_EQUAL note
- 	if a non-trivial load was emitted.
- 	(alpha_emit_set_const_1): Remove obsolete extension.  Fix thinko
- 	in high+extra+low case.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (sparc*-solaris): Use float_format=sparc.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.h (MAX_WCHAR_TYPE_SIZE): Don't define.
- 	* config/sparc/linux-aout.h (MAX_WCHAR_TYPE_SIZE): Don't undef.
- 	* config/sparc/linux.h, config/sparc/linux64.h: Likewise.
- 	* config/sparc/sol2.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Redefine.
- 	(WINT_TYPE_SIZE): Fix at 32.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Delay emit_initial_value_sets
- 	until after eh landing pad generation.
- 	* config/alpha/alpha.c (alpha_gp_save_rtx): Use gen_mem_addressof.
- 	* config/alpha/alpha.md (exception_receiver_2): Only accept MEMs.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (ADD_PARM_SIZE): One more convert for INC.
- 
- 2002-03-26  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* gcc.c (cpp_options):  Preserve relative ordering of -pedantic
- 	and warning switches.
- 	(cc1_options):  Likewise.
- 
- 2002-03-26  Hans Boehm <Hans_Boehm@hp.com>
- 
- 	* config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR):
- 	Restore more of the signal context.  Set no_reg_stack_frame.
- 	* config/ia64/unwind-ia64.c (unw_state_record):
- 	Add no_reg_stack_frame, comments.
- 	(uw_frame_state_for): Initialize when field to UNW_WHEN_NEVER.
- 	(uw_update_context): Adjust bsp when unwinding from leaf,
- 	but not signal frame.
- 
- 2002-03-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix51.h (WCHAR_TYPE): Define.
- 
- 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_va_arg): Handle variable-sized types.
- 
- 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/5621
- 	* arm.md (define_asm_attributes): Reapply patch of Thu Sep 9, 1999:
- 	"Add a pool_range attribute", which was lost during the ARM/Thumb
- 	merge.
- 
- 2002-03-26  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_valid_move): Allow move from
- 	a register into the MAC16 accumulator.
- 
- 2002-03-26  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* doc/invoke.texi (Option Summary): Mention -Wswitch-enum.
- 	(Warning Options): Document -Wswitch-enum.
- 	* toplev.c (W_options): Add -Wswitch-enum.  Update comment on
- 	-Wswitch.
- 	(warn_switch_enum): Define variables.
- 	* flags.h (warn_switch_enum): Declare variables.
- 	* stmt.c (expand_end_case_type): When warn_switch_enum /
- 	-Wswitch-enum, perform switch checks.
- 	Fix PR c/5044.
- 
- 2002-03-26  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (reload_mulsi3, reload_mulsi_compare0, reload_muladdsi)
- 	(reload_mulsi_compare0_scratch, reload_muladdsi_compare0)
- 	(reload_muladdsi_compare0_scratch): Delete.
- 
- 2002-03-26  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi (*-*-freebsd*): Update.
- 
- 2002-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (ADD_PARM_SIZE): Cast INC to ssizetype.
- 	(SUB_PARM_SIZE): Cast DEC to ssizetype.
- 
- 	* config/alpha/alpha.c (alpha_va_arg): Read MUST_PASS_IN_STACK
- 	types from the normal argument frame.
- 
- 	* config/sparc/sparc.c (function_arg_pass_by_reference): Pass
- 	variable sized objects by reference.
- 	(sparc_va_arg): Receive them by reference too.
- 
- 2002-03-26  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_epilogue): Change epilogue
- 	code to not restoring global registers.
- 
- 2002-03-26  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (ggc-common.o): Update.
- 	* c-decl.c (lang_mark_tree): Rename c_mark_tree.
- 	* c-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
- 	* c-tree.h (c_mark_tree): New.
- 	* ggc-common.c: Include langhooks.h.
- 	(gcc_mark_trees): Use new langhook.
- 	* ggc-callbacks.c: Delete file.
- 	* ggc.h (lang_mark_tree): Remove.
- 	* langhooks-def.h (LANG_HOOKS_MARK_TREE): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New hook.
- objc:
- 	* objc-lang.c (LANG_HOOKS_MARK_TREE): Redefine.
- 
- 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/cpp.texi: Exclude entire Top node from printed manual.
- 	Move option index after directive index.  Insert page breaks
- 	before GFDL and concept index.  Index environment variables
- 	with command line options.
- 	* doc/cppenv.texi: Use @vtable for environment variable list.
- 	Add paragraph explaining semantics of empty elements in path
- 	variables.  Exclude a cross-reference to Fishkill from the
- 	manpage.  Remove an unnecessary cross-reference of the entry
- 	right above the referer.  Don't use @anchor in text that goes
- 	into manpage.
- 	* doc/cppopts.texi: Cross-reference the environment variables
- 	section, not the specific environment variable, for consistency.
- 
- 2002-03-25  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (peephole2_optimize): Distribute EH_REGION -1 notes
- 	anywhere in the block.  Don't refer to insns that have been
- 	removed from the chain.  Iterate backward through the new insns.
- 	Don't refer to edges that have been removed.
- 
- 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* combine.c (simplify_comparison <ASHIFTRT, LSHIFTRT>): Correct
- 	test for overflow of constant.
- 
- 2002-03-25  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/2623
- 	* arm.md (loadhi_preinc, loadhi_predec, loadhi_shiftpreinc)
- 	(loadhi_shiftpredec, loadhi-with-writeback peephole): Don't use
- 	these patterns on arm_archv4.
- 
- 2002-03-25  Danny Smith  <dannysmith@sourceforge.users.net>
- 
- 	* config/i386/mingw32.h (WINT_TYPE): Define as "short unsigned
- 	int".
- 
- 2002-03-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* toplev.c: Don't include setjmp.h.  Kill float_handler_set,
- 	float_handled, float_handler, float_signal, set_float_handler,
- 	and do_float_handler.  Set handler for SIGFPE to crash_signal.
- 	* toplev.h: Don't prototype do_float_handler.
- 
- 	* c-lex.c: Fold parse_float into lex_number.  Make warning
- 	about portability of hex float constants more informative, and
- 	don't issue it on top of a syntax error.
- 	* fold-const.c: Fold const_binop_1 and fold_convert_1 into
- 	their callers.
- 	* real.h: Define REAL_VALUE_ABS here...
- 	* simplify-rtx.c: ... not here.  Fold check_fold_consts,
- 	simplify_unary_real, simplify_binary_real, and
- 	simplify_binary_is2orm1 into their callers.
- 	* tree.c: Fold build_real_from_int_cst_1 into caller.
- 
- 	* doc/tm.texi: Document REAL_VALUE_ABS and REAL_VALUE_NEGATIVE.
- 
- 	* tsystem.h: Include float.h here...
- 	* libgcc2.c: ... not here.
- 
- 2002-03-25  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	Fixes for: PR bootstrap/3591, target/5676
- 	* config/mcore/mcore.h (CC1_SPEC): Define only if not already
- 	defined.  Do not disable exceptions or rtti.
- 	* config/mcore/mcore-pe.h (CC1_SPEC): Define before including
- 	mcore.h.  Disable exceptions and rtti, since they are not
- 	supported by EPOC.
- 
- 2002-03-25  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c (maybe_build_cleanup): Remove.
- 	* expr.c (expand_expr): Use langhook.
- 	* langhooks-def.h (lhd_return_null_tree,
- 	LANG_HOOKS_MAYBE_BUILD_CLEANUP): New.
- 	(LANGHOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_return_null_tree): New.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* tree-inline.c (initialize_inlined_parameters): Use langhook.
- 	* tree.h (maybe_build_cleanup): Remove.
- 
- 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* regrename.c (build_def_use): Move recog_memoized
- 	before extract_insn.
- 
- 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/6043
- 	* expr.c (emit_group_store): Handle storing into CONCAT.
- 
- 2002-03-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* regrename.c (build_def_use): Share RTL between MATCH_OPERATOR and
- 	corresponding MATCH_DUP.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (unroll_loop): Zero label_map.
- 
- 	* gcse.c: Include except.h.
- 	* Makefile.in (gcse.o): Update.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (asm_emit_uninitialised): Revert 2002-03-14 change.
- 	Do resolve_unique_section before shared data clause.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (STARTFILE_SPEC): Use crtbeginT with -static.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (peephole2_optimize): Split blocks when EH insns are
- 	generated in the middle of a block.  Do global life update if
- 	zapped EH edges.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	* mips.c (mips_function_value): Only promote_mode for non-libcalls.
- 
- 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	preprocessor/3951
- 	* gcc.c (cpp_options): Pass -MD through as -MD not -M -MF.
- 	* cppinit.c (cpp_handle_option): Set no_ouput if -MD or -MMD.
- 	(init_dependency_output): Don't make no_output decision here.
- 
- 2002-03-24  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* stmt.c (check_for_full_enumeration_handling): Remove tests of
- 	warn_switch.  Update description.
- 	(expand_end_case_type): Call check_for_full_enumeration_handling
- 	when warn_switch.
- 
- 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_autoinc_compatible_p): New function.
- 	(m68hc11_split_move): Call it to see if the source and destination
- 	operands use the same direction auto inc/dec mode, otherwise make the
- 	source an offsetable memory operand and generate an add.
- 
- 2002-03-24  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*subsi3_zero_extendhi"): Allow address
- 	register for operand 2.
- 	("*subsi3_zero_extendqi"): Likewise.
- 	("*iorhi3_gen"): Do the operation on the upper bits and then lower
- 	bits so that it is compatible with a pop.
- 	("*andhi3_gen"): Likewise.
- 	("xorhi3"): Likewise.
- 
- 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (cpp_handle_option): Set warn_endif_labels if
- 	-pedantic here...
- 	(cpp_post_options): ... not here.
- 
- 2002-03-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	Removal of separate preprocessor cpp0.
- 
- 	* Makefile.in (GCC_PASSES, STAGESTUFF, LIBCPP_OBJS,
- 	cpp0, install-common): Update.
- 	* c-common.c (flag_preprocess_only): New.
- 	(c_common_init): Preprocess for -E.
- 	* c-common.h (flag_preprocess_only): New.
- 	* c-decl.c (c_decode_option): Handle -E and -std=c++98.
- 	* c-objc-common.c (c_init_decl_processing): Exit quickly
- 	for NULL return from c_common_init.
- 	* cpplib.h (cpp_preprocess_file): New.
- 	* cppmain.c (main, general_init, pfile, progname): Remove.
- 	(do_preprocessing): Rename cpp_preprocess_file, don't call
- 	cpp_finish.  Don't close stdout here.
- 	(setup_callbacks): Update prototype.
- 	* gcc.c (trad_capable_cpp, cpp_unique_options, default_compilers):
- 	Update.
- 	* tradcpp.c (main): Ignore -quiet.
- objc:
- 	* lang-specs.h (default_compilers): Preprocess with cc1obj.
- 
- 2002-03-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/5742
- 	* machmode.def: Add inner mode field to complex modes.
- 	* config/mips/mips.c (mips_function_value): Always define.  Add
- 	new argument to handle libcalls.
- 	* config/mips/mips.h (LIBCALL_VALUE): Use mips_function_value.
- 	(FUNCTION_VALUE): Likewise.
- 	* config/mips/abi64.h (FUNCTION_VALUE): Remove.
- 	* config/mips/mips-protos.h: Update.
- 
- 2002-03-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_floatunsdi): New.
- 	* config/sparc/sparc-protos.h: Update.
- 	* config/sparc/sparc.md (floatunsdisf2, floatunsdidf2): New.
- 
- 2002-03-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/gmon-sol2.c (internal_mcount): Assume either
- 	_start or _init begins the text segment.
- 
- 2002-03-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (RETURN_IN_MEMORY):  Cast to HOST_WIDE_INT
- 	not HOST_WIDEST_INT.
- 	(RS6000_ARG_SIZE): Remove unsigned cast of int_size_in_bytes.
- 
- 2002-03-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR java/5489
- 	* arm.md (return, sibcall_epilogue): Pass const_true_rtx as the
- 	operand argument to output_return_instruction.
- 	* arm.c (arm_print_operand, case 'd'): If the operand is
- 	const_true_rtx then just return.
- 	(arm_print_operand, case 'D'): If the operand is const_true_rtx
- 	then abort.
- 
- 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* doc/invoke.texi (Option Summary): Mention -Wswitch-default.
- 	(Warning Options): Document -Wswitch-default.
- 	* toplev.c (W_options): Add -Wswitch-default.  Update comment on
- 	-Wswitch.
- 	(warn_switch_default): Define variable.
- 	(warn_switch): Update comment.
- 	* flags.h (warn_switch_default): Declare variable.
- 	(warn_switch): Update comment.
- 	* stmt.c (expand_end_case): Check for and, when
- 	warn_switch_no_default, warn of a missing default case.
- 
- 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* real.h (N): Special case 128 bit doubles.
- 
- 	* combine.c (simplify_comparison): When widening modes, ignore
- 	sign extension on CONST_INTs.
- 
- 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (print_operand): Fix incorrect mode
- 	passed to adjust_address.  Fix comment formatting.
- 
- 
- 2002-03-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* real.h: Don't define REAL_INFINITY or REAL_IS_NOT_DOUBLE.
- 	Always make REAL_VALUE_TYPE a struct containing an array of
- 	HOST_WIDE_INT, not a double.  Tidy up the code deciding how
- 	big it is.  Don't declare or use union real_extract.
- 
- 	* emit-rtl.c (init_emit_once), varasm.c (immed_real_const_1,
- 	decode_rtx_const, output_constant_pool), config/a29k/a29k.c
- 	(print_operand), config/arm/arm.c (output_move_double),
- 	config/arm/arm.md (consttable_4, consttable_8),
- 	config/romp/romp.c (output_fpops), config/s390/s390.h
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY), config/xtensa/xtensa.c
- 	(xtensa_output_literal): Don't use union real_extract.
- 
- 	* config/dsp16xx/dsp16xx.c (print_operand), config/i860/i860.c
- 	(sfmode_constant_to_ulong), config/ns32k/merlin.h
- 	(PRINT_OPERAND), config/ns32k/ns32k.c (print_operand),
- 	config/pdp11/pdp11.h (PRINT_OPERAND), config/we32k/we32k.h
- 	(PRINT_OPERAND): Don't use local version of union
- 	real_extract.
- 
- 	* config/convex/convex.c (check_float_value), config/vax/vax.c
- 	(vax_float_literal), config/m88k/m88k.md (divdf3),
- 	config/dsp16xx/dsp16xx.md (fixuns_trunchfhi2),
- 	config/pdp11/pdp11.c (output_move_quad): Don't do host
- 	arithmetic on target floating point quantities.
- 
- 	* config/a29k/a29k.md, config/dsp16xx/dsp16xx.c
- 	(output_dsp16xx_float_const): Don't test HOST_FLOAT_FORMAT.
- 
- 	* fold-const.c (fold), simplify-rtx.c (simplify_binary_real):
- 	Use MODE_HAS_INFINITIES rather than #ifdef REAL_INFINITY.
- 
- 	* real.c (earith): Test INFINITY rather than REAL_INFINITY;
- 	NANS implies INFINITY, so can drop #ifdef NANS inside #ifndef
- 	INFINITY.
- 	* print-rtl.c (print_rtx): Disable code which needs
- 	floating-point emulator.
- 	* libgcc2.c: Include float.h and use DBL_MANT_DIG,
- 	FLT_MANT_DIG, to define DF_SIZE and SF_SIZE, rather than
- 	depending on HOST_FLOAT_FORMAT to be defined properly.
- 
- 	* config/1750a/1750a.c (get_double, float_label): Delete.
- 	(print_operand): Delete huge commented-out chunk.  Use
- 	REAL_VALUE_TO_DECIMAL.
- 	* config/1750a/1750a-protos.h: Delete prototypes of deleted
- 	functions.
- 	* config/convex/convex.h: Always set TARGET_FLOAT_FORMAT to
- 	IEEE_FLOAT_FORMAT.
- 	* config/i370/i370.h (PRINT_OPERAND [TARGET_HLASM version]):
- 	Use REAL_VALUE_TO_DECIMAL as ELF version does.
- 	* config/m88k/m88k.c (real_power_of_2_operand,
- 	legitimize_operand): Take the REAL_VALUE_TYPE and/or union
- 	real_extract out of the union; run the input through
- 	REAL_VALUE_TO_TARGET_DOUBLE, then plug the pair of longwords
- 	from that into the union.
- 	* config/pdp11/pdp11.c (output_move_double): Rearrange
- 	parentheses to make automatic indenter happy.
- 
- 	* doc/tm.texi (Cross-compilation): Rename node to "Floating
- 	Point" and rewrite to describe current situation.  Also adjust
- 	documentation of REAL_VALUE_TO_TARGET_SINGLE and friends to
- 	match code.
- 	* doc/rtl.texi: Adjust cross reference.
- 
- 2002-03-22  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h (non_acc_reg_operand): Remove.
- 	(xtensa_valid_move, xtensa_preferred_reload_class): Define.
- 	* config/xtensa/xtensa.c (non_acc_reg_operand): Remove.
- 	(xtensa_valid_move, xtensa_preferred_reload_class): Define to
- 	prevent use of sp as a reload register.
- 	(xtensa_emit_move_sequence): Use xtensa_valid_move instead of
- 	non_acc_reg_operand.
- 	* config/xtensa/xtensa.h (PREDICATE_CODES): Remove non_acc_reg_operand.
- 	(PREFERRED_RELOAD_CLASS): Move code to xtensa_preferred_reload_class.
- 	* config/xtensa/xtensa.md (movsi_internal, movhi_internal,
- 	movqi_internal): Use xtensa_valid_move instead of non_acc_reg_operand.
- 
- 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): Remove mls_line and mls_col.
- 	* cpplex.c (unterminated): Delete.
- 	(parse_string): No string literal may extend over multiple
- 	lines.  Suppress the error when preprocessing assembly.
- 	* cppmain.c (scan_translation_unit): Strings are single-line.
- 
- 	* doc/cpp.texi: Update to match.
- 
- 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5854
- 	* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_VALUE_P): Use K for 0.
- 	Shut up warnings.
- 	(CONST_DOUBLE_OK_FOR_LETTER_P): Use G for 0.0.
- 	(EXTRA_CONSTRAINT): Use S for non-push memory operand.
- 	* config/m68hc11/m68hc11.c (m68hc11_split_move): Handle setting from
- 	const0 if scratch register was not allocated.
- 	(m68hc11_reload_operands, m68hc11_gen_lowpart, m68hc11_gen_highpart,
- 	m68hc11_z_replacement): Replace gen_rtx (CONST_INT, VOIDmode, ...)
- 	with GEN_INT (...).
- 	(m68hc11_reorg): Compute BLOCK_FOR_INSN before reload_cse_regs.
- 	* config/m68hc11/m68hc11.md: Replace gen_rtx (CONST_INT, VOIDmode, ...)
- 	with GEN_INT (...) everywhere.  Remove constraints in define_split
- 	patterns.
- 	(movdi_internal, movdf_internal, movsi_internal, movsf_internal): Don't
- 	require scratch register for setting 0 into regs/non-pushable memory.
- 
- 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (MASK_RETURN_ADDR): Define.
- 	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Define.
- 
- 2002-03-22  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* cpplib.h (struct cpp_options):  New member, warn_endif_labels.
- 	* cppinit.c (cpp_create_reader):  On by default.
- 	(cpp_handle_option):  Handle -W[no-]endif-labels.
- 	(cpp_post_options):  Also enable if -pedantic.
- 	* cpplib.c (do_else):  Use it.
- 	(do_endif):  Likewise.
- 	* doc/cppopts.texi:  Document new option.
- 	* doc/invoke.texi:  Document new option.
- 
- 2002-03-22  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* config/i386/i386.c, config/i386/i386.md: Change all occurences
- 	of GEN_INT (trunc_int_for_mode (...)) to gen_int_mode (...).
- 
- 2002-03-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* flow.c (calculate_global_regs_live): Clear aux fields of
- 	ENTRY and EXIT.
- 
- 2002-03-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/v850/v850.c (v850_reorg): Only call alter_subreg on
- 	REG or MEM subregs, pass rtx * instead of rtx to it.
- 	* config/i860/i860.c (output_delayed_branch, output_delay_insn): Pass
- 	rtx * instead of rtx to alter_subreg.
- 	* config/m32r/m32r.c (gen_split_move_double): Likewise.
- 	* config/pj/pj.c (pj_output_rval): Likewise.
- 
- 2002-03-22  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/3177
- 	* config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs.
- 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update.
- 	* config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs.
- 	(ia64_expand_prologue): Look at int_regs, not words, for number
- 	of incomming int regs.
- 
- 2002-03-22  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* expr.c (expand_expr): A RESULT_DECL is part of a call.
- 
- Fri Mar 22 16:30:42 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (flag_loop_optimize, flag_crossjumping):
- 	New static variables.
- 	(rest_of_compilation): Conditionalize crossjumping and
- 	loop optimizer.
- 	(parse_options_and_default_flags): Default loop_optimize and
- 	crossjumping.
- 	(lang_independent_options): Add -fcrossjumping and -floop-optimize
- 	* invoke.texi (crossjumping, loop-optimize): Document.
- 
- 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* real.c (eiisneg): Move outside #ifdef NANS.
- 
- Fri Mar 22 12:08:36 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (outgoing_edges_math): Fix condition; relax
- 	frequencies match; avoid match on different loop depths.
- 	(try_crossjump_to_bb): Kill tests that no longer brings time
- 	savings.
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Fix loop_depth
- 	updating code.
- 	(split_edge): Likewise.
- 
- 	* flow.c (update_life_info_in_dirty_blocks): Fix uninitialized
- 	variable.
- 
- 	* Makefile.in (cfgrtl): Add insn-config.h depenendency.
- 	* cfgrtl.c: Include insn-config.h
- 	(split_block) Dirtify block in presence of conditional execution
- 
- 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/abi64.h (SETUP_INCOMING_VARARGS): Undefine.
- 	* config/mips/mips-protos.h (mips_setup_incoming_varargs): Declare.
- 	(function_arg): Constify CUMULATIVE_ARGS.
- 	(function_arg_partial_nregs, function_arg_pass_by_reference): Likewise.
- 	* config/mips/mips.h (UNITS_PER_FPVALUE): Zero when TARGET_SOFT_FLOAT.
- 	(UNITS_PER_DOUBLE): New macro.
- 	(SETUP_INCOMING_VARARGS): Define.  Use mips_setup_incoming_varargs.
- 	(CUMULATIVE_ARGS): Reformat.  Remove num_adjusts workaround and
- 	last_arg_fp field.  Replace arg_words and fp_arg_words with gp_regs,
- 	fp_regs and stack_words.
- 	(EABI_FLOAT_VARARGS_P): New macro.
- 	* config/mips/mips.c (struct mips_arg_info): New.
- 	(mips_arg_info): New function.
- 	(function_arg_advance): Use it.  Add adjustment instructions here
- 	rather than in function_arg.
- 	(function_arg): Constify CUMULATIVE_ARGS.  Use mips_arg_info.  Check
- 	for VOIDmode at the beginning of the function.
- 	(function_partial_nregs): Constify CUMULATIVE_ARGS.  Use mips_arg_info.
- 	(function_arg_pass_by_reference): Likewise.
- 	(mips_setup_incoming_varags): New, largely based on old abi64.h code.
- 	(mips_build_va_list): Test EABI_FLOAT_VARARGS_P.
- 	(mips_va_start): Likewise.  Use the new stack_words field of
- 	CUMULATIVE_ARGS to set up overflow area.  Reformat.
- 	(mips_va_arg): Test EABI_FLOAT_VARARGS_P.  Unify EABI handling of
- 	doubles and other types, aligning the overflow pointer for non-doubles
- 	too.  Remove some code duplication.  Replace hard-coded constants.
- 
- 2002-03-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Simplify.
- 	(CLASS_UNITS): Undefine.
- 	(CLASS_MAX_NREGS): Use FP_INC.
- 	* config/mips/mips.c (compute_frame_size): Likewise.
- 	(override_options): Use FP_INC and UNITS_PER_FPVALUE.
- 
- 2002-03-22  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (parse_identifier_slow): Rename parse_slow, adjust
- 	prototype, and handle lexing numbers and identifiers.
- 	(parse_identifier): Update to new form of parse_slow.
- 	(parse_number): Fast path only, use parse_slow otherwise.
- 	(_cpp_lex_direct): Update calls to parse_number.
- 
- 2002-03-21  DJ Delorie  <dj@redhat.com>
- 
- 	* bb-reorder.c (make_reorder_chain_1): Protect against
- 	when redundant edges are omitted.
- 	* predict.c (dump_prediction): Likewise.
- 
- 2002-03-21  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5996
- 	* fixinc/inclhack.def (solaris_stdio_tag): New.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
- 
- 	PR c/5597
- 	* c-typeck.c (process_init_element): Flag non-static
- 	initialization of a flexible array member as illegal.
- 
- 2002-03-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/t-linux64: New.
- 	* config.gcc (powerpc64-*-linux* <tmake_file>): Drop t-ppcos and
- 	t-ppccomm.  Use t-rs6000 and t-linux64.
- 	(powerpc64-*-gnu* <tmake_file>): Likewise.
- 	* mklibgcc.in (SHLIB_MKMAP_OPTS): New variable.
- 	* mkmap-symver.awk (dotsyms): If set, output .foo as well as foo.
- 	* Makefile.in (SHLIB_MKMAP_OPTS): Pass to mklibgcc.
- 
- 2002-03-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Check
- 	flag_really_no_inline instead of optimize == 0.
- 
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Same.
- 
- 	* cp/tree.c (cp_cannot_inline_tree_fn): Same.
- 
- 	* flags.h (flag_really_no_inline): New.
- 
- 	* c-common.c (c_common_post_options): Initialize
- 	flag_really_no_inline.
- 
- 	* toplev.c (flag_really_no_inline): New.
- 
- 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/avr/avr.md (length): Fix length computation for
- 	conditional branches.
- 
- 2002-03-21  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (fold-const.o, stor-layout.o, stmt.o,
- 	sdbout.o, profile.o): Update.
- 	* c-common.c (c_common_nodes_and_builtins): Use pushdecl
- 	langhook.
- 	* c-common.h (gettags): Move here from tree.h.
- 	* c-tree.h (pushdecl, pushlevel, poplevel, set_block,
- 	insert_block, getdecls, kept_level_p, global_bindings_p): New.
- 	* dbxout.c (dbxout_init): Use getdecls langhook.
- 	* expr.c (expand_expr): Use insert_block langhook.
- 	* fold-const.c: Include langhooks.h.
- 	(fold_range_test, fold_binary_op_with_conditional_arg,
- 	fold): Use global_bindings_p langhook.
- 	* integrate.c (expand_inline_function): Use insert_block langhook.
- 	* langhooks-def.h (LANG_HOOKS_DECLS, LANG_HOOKS_PUSHLEVEL,
- 	LANG_HOOKS_POPLEVEL, LANG_HOOKS_GLOBAL_BINDINGS_P,
- 	LANG_HOOKS_INSERT_BLOCK, LANG_HOOKS_SET_BLOCK, LANG_HOOKS_PUSHDECL,
- 	LANG_HOOKS_GETDECLS): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_clear_binding_stack): Use global_bindings_p
- 	langhook.
- 	* langhooks.h (struct lang_hooks_for_decls): New.
- 	(struct lang_hooks): Update.
- 	* profile.c: Include langhooks.h.
- 	(output_func_start_profiler): Use new langhooks.
- 	* sdbout.c: Include langhooks.h.
- 	(sdbout_init, sdbout_finish): Use getdecls langhook.
- 	* stmt.c: Include langhooks.h.
- 	(expand_fixup, fixup_gotos): Use new langhooks.
- 	* stor-layout.c: Include langhooks.h.
- 	(variable_size): Use global_bindings_p langhook.
- 	* toplev.c (compile_file): Use getdecls langhook.
- 	* tree-inline.c (remap_block): Use insert_block langhook.
- 	* tree.h (pushdecl, pushlevel, poplevel, set_block, gettags,
- 	insert_block, getdecls, kept_level_p, global_bindings_p): Remove.
- 
- 2002-03-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_select_rtx_section): Put symbolic
- 	constants in .data when -fpic.
- 
- 2002-03-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Use GNU/Linux instead of Linux
- 	where appropriate.
- 
- 2002-03-21  Tom Tromey  <tromey@redhat.com>
- 
- 	* config/i386/sol2.h (ASM_QUAD): Undef.  Fixes PR bootstrap/5948.
- 
- Thu Mar 21 09:50:48 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/ia64/ia64.c (hfa_element_mode, case ARRAY_TYPE): Recurse.
- 
- 	* expr.c (emit_group_store): Don't copy const0_rtx to a CONCAT.
- 
- 2002-03-21  Eric Botcazou <ebotcazou@multimania.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5354
- 	* c-common.c (c_expand_expr): Preserve result of a statement
- 	expression if needed.
- 
- 2002-03-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR bootstrap/4195
- 	* genrecog.c (maybe_both_true_mode): Remove.
- 	(maybe_both_true_2, write_switch): Revert 2001-07-17 changes.
- 	* machmode.def (Pmode): Likewise.
- 
- Thu Mar 21 01:55:06 EST 2002  John Wehle  (john@feith.com)
- 
- 	* alias.c: (nonlocal_mentioned_p): Use for_each_rtx.
- 	(nonlocal_mentioned_p_1): New function.
- 	(nonlocal_referenced_p, nonlocal_referenced_p_1): Likewise.
- 	(nonlocal_set_p, nonlocal_set_p_1): Likewise.
- 	(mark_constant_function): Recognize pure functions.
- 	* rtl.h (global_reg_mentioned_p): New prototype.
- 	* rtlanal.c (global_reg_mentioned_p,
- 	global_reg_mentioned_p_1): New function.
- 
- 2002-03-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* fixinc/inclhack.def (alpha_assert): Fix assert macro in Tru64
- 	UNIX assert.h.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2002-03-20  Jason Merrill  <jason@redhat.com>
- 
- 	* config/i386/cygwin.h (DWARF2_UNWIND_INFO): Define to 0.
- 
- 2002-03-20  Michael Meissner  <meissner@redhat.com>
- 
- 	* doc/invoke.texi (Optimize Options): Document that -O2 sets
- 	-fstrict-aliasing.
- 
- 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Emit a
- 	".literal_position" directive before the constant pool.
- 
- 2002-03-20  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Update Geoffrey Keating.
- 	Add Craig Rodrigues.
- 	Add Brad Lucier to testers.
- 
- 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/4792
- 	* config/arc/arc.md (movsicc, movdicc, movsfcc, movdfcc): Add mode
- 	to if_then_else.
- 	(movsicc_insn, movdicc_insn, movsfcc_insn, movdfcc_insn): Likewise.
- 	* config/arc/arc.c (arc_final_prescan_insn): Use extract_insn_cached
- 	instead of insn_extract.
- 
- 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR bootstrap/4192
- 	* config/fr30/fr30.md (jump): Remove clobber of fixed register.
- 
- 	* genemit.c (output_added_clobbers_hard_reg_p): Only output return
- 	stmt if some case has been output.
- 
- 2002-03-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5972
- 	* config/i386/i386.md (movdicc_c_rex64, movsicc_noc, movhicc_noc,
- 	movsfcc_1, movdfcc_1): Add %O2.
- 	* config/i386/i386.c (print_operand): Handle %ON.
- 	Print . before float condition codes in Sun as cmov syntax.
- 	* config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Define for Sun as.
- 	* config.gcc (i[34567]86-*-solaris2*): Remove comment which is
- 	no longer true.
- 
- 2002-03-20  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Don't generate separate
- 	return instruction if PC was popped.
- 
- 2002-03-20  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.md: Remove unused type attributes.
- 	(adddi_carry, subddi_carry): Change type attribute to "multi".
- 
- 2002-03-19  Dale Johannesen  <dalej@apple.com>
- 
- 	PR optimization/5999, middle-end/5731
- 	* expr.c (expand_expr) [RDIV_EXPR]: Only convert real divisions into
- 	multiplications by reciprocals.
- 
- 2002-03-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.c: Include langhooks.h.
- 	(inline_forbidden_p): Use new hook.
- 	* diagnostic.c: Include langhooks.h.
- 	(format_with_decl, announce_function,
- 	default_print_error_function): Use new hook.
- 	* dwarf2out.c (dwarf2_name): Use new hook.
- 	* function.c: Include langhooks.h.
- 	(init_function_start): Use new hook.
- 	* langhooks-def.h (lhd_decl_printable_name): New.
- 	(LANGHOOKS_DECL_PRINTABLE_NAME): New.
- 	(LANGHOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_decl_printable_name): New.
- 	* langhooks.h (struct lang_hooks): New hook.
- 	* toplev.c (decl_name, decl_printable_name): Remove.
- 	(open_dump_file): Use new hook.
- 	(process_options): Remove old hook.
- 	* tree.h (decl_printable_name): Remove.
- objc:
- 	* objc-act.c (objc_init): Remove old hook.
- 	(objc_printable_name): Export.
- 	* objc-act.h (objc_printable_name): New.
- 	* objc-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Redefine.
- 
- 2002-03-19  Jim Blandy  <jimb@redhat.com>
- 
- 	* c-lex.c (cb_file_change): Pass the #inclusion's line number to
- 	the start_source_file debug hook, not the current line number.
- 
- 2002-03-19  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (EH_USES): Provide default.
- 	(calculate_global_regs_live): Use it for EH edges and noreturn calls.
- 	* doc/tm.texi (EH_USES): New.
- 
- 	* config/ia64/ia64.c (ia64_eh_uses): New.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.h (EH_USES): New.
- 
- 2002-03-19  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (output_constant_def): Fix stupid typo.
- 
- 2002-03-19  Richard Henderson  <rth@redhat.com>
- 
- 	PR 5879
- 	* except.c (current_function_has_exception_handlers): New.
- 	* except.h: Declare it.
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Use it.
- 	Combine tests that disable all sibcalls for the function.
- 
- 2002-03-19  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* varasm.c (output_constant_def): Don't call ENCODE_SECTION_INFO
- 	for INTEGER_CST.
- 
- 2002-03-19  Richard Henderson  <rth@redhat.com>
- 
- 	PR 5977, 5991
- 	* config/ia64/ia64.c: Revert 2002-03-01 patch.
- 	* config/ia64/ia64.h (INIT_EXPANDERS): New.
- 
- 2002-03-19  Jim Blandy  <jimb@redhat.com>
- 
- 	* cppmacro.c (cpp_macro_definition): Emit a space after the macro
- 	name, even if the replacement list contains no tokens, as required
- 	by Dwarf.
- 
- 2002-03-19  Jason Merrill  <jason@redhat.com>
- 
- 	* varasm.c (globalize_decl): Get the name from the RTL, not
- 	DECL_ASSEMBLER_NAME.
- 
- 	* Makefile.in (LIBGCC2_DEBUG_CFLAGS): Set to -g.
- 
- 2002-03-19  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.md (adddi3, adddi_carry, subdi3,
- 	subdi_carry): Define.
- 
- 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Only warn
- 	about -fpic/-fPIC if extra_warnings set.
- 
- 2002-03-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expr.c (expand_expr): Sign-extend CONST_INT generated from
- 	TREE_STRING_POINTER.
- 	* fold-const.c (fold): Delete #if 0 ARRAY_REF case.
- 
- Tue Mar 19 14:12:32 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.h (CAN_ELMINIATE): Can only eliminate FP
- 	in favor of SP if FRAME_POINTER_REQUIRED is false.
- 
- 2002-03-19  Lars Brinkhoff  <lars@nocrew.org>
- 
- 	* emit-rtl.c (gen_int_mode): New function.
- 	* rtl.h: Prototype for it.
- 	* combine.c (make_extraction, simplify_comparison), expmed.c
- 	(store_bit_field, expand_mult_highpart, expand_divmod), expr.c
- 	(convert_modes, store_field), optabs.c (expand_fix),
- 	simplify-rtx.c (neg_const_int, simplify_unary_real),
- 
- 	* config/rs6000/rs6000.c, config/rs6000/rs6000.md:
- 	Use it instead of GEN_INT (trunc_int_for_mode (...)).
- 
- 2002-03-19  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5656
- 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
- 	convert_parm_for_inlining.
- 	* c-lang.c (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
- 	Define.
- 	* langhooks-def.h: Likewise.
- 	* objc/objc-lang.c: Likewise.
- 	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): New
- 	function.
- 	* tree-inline.c (initialize_inlined_parameters):
- 	Call convert_parm_for_inlining lang hook if needed.
- 	* c-typeck.c (c_convert_parm_for_inlining): New function.
- 	* c-tree.h (c_convert_parm_for_inlining): Add prototype.
- 
- 2002-03-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* calls.c (precompute_arguments): Do not assume that temporaries
- 	can be destroyed after expanding the argument.
- 	(expand_call): Likewise.
- 
- 2002-03-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md (movdf_internal2): Add two new move constraints.
- 	Fix register preference on last change.
- 	* config/mips/mips.c (mips_return_in_memory): New function.
- 	* config/mips/mips.h (RETURN_IN_MEMORY): Use.
- 	* config/mips/mips-protos.h: Declare.
- 	* config/mips/abi64.h (RETURN_IN_MEMORY): Remove. Add to above.
- 	* config/mips/elf64.h: Add #ifndef/#endif brackets around defaults.
- 
- 2002-03-18  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.md (andsi3) [TARGET_MIPS16]: Force operand 1 to
- 	a register too.
- 	(anddi3, iorsi3): Likewise.
- 
- 	* config/mips/mips.h (ENCODE_SECTION_INFO) [TARGET_MIPS16]: Don't
- 	use %gprel for symbols that are going to be placed in linkonce
- 	sections.
- 
- 	* config/mips/mips.h (ELIMINABLE_REGS): Can't eliminate
- 	RETURN_ADDRESS_POINTER_REGNUM to $ra.
- 	(CAN_ELIMINATE): Only eliminate it to $sp if a frame pointer is
- 	not needed.  Disregard leaf_function_p().
- 	(INITIAL_ELIMINATION_OFFSET): Adjust for elimination of rap to
- 	mips16 frame pointer.
- 	* config/mips/mips.md (store ra): Only to small SP offsets.
- 	2001-08-22  Graham Stott  <grahams@redhat.com>
- 	* config/mips/mips.h (RETURN_ADDR_RTX): For a leaf function
- 	return a REG rtx for the return address register.
- 
- 2002-03-18  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Treat
- 	constant-pool addresses as "mode-dependent".
- 	(GO_IF_LEGITIMATE_ADDRESS): Rename macro arguments.
- 
- 2002-03-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/5740
- 	* expr.c (emit_group_load): Use extract_bit_field if
- 	needed for CONCAT arguments.
- 
- 2002-03-18  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/4863
- 	* arm.md (tablejump): Make this a define_expand.  For PIC add the
- 	offset to the base of the table.
- 	(thumb_tablejump): Matcher for Thumb tablejump insn.
- 	* config/arm/aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output thumb entries
- 	as the difference of two labels.
- 	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- 	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Only put ARM jump
- 	tables in the code.
- 	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise.
- 	* arm.c (get_jump_table_size): If the table is not in the text
- 	section, return zero.
- 
- 2002-03-18  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* config/arm/arm.c (arm_gen_movstrqi): Use gen_lowpart instead
- 	of gen_rtx_SUBREG.
- 	(arm_reload_out_hi): Use gen_lowpart instead of
- 	gen_rtx_SUBREG to access QImode components.
- 	* config/arm/arm.md: Disable zero_extend split for QImode
- 	subregs in BIG_ENDIAN mode.
- 	(storehi_bigend): Match use of least significant byte.
- 	(storeinthi): Remove extraneous SUBREG.
- 	Add missing construction of operands[2].
- 	(movhi): Use gen_lowpart in place of gen_rtx_SUBREG.
- 	(movqi): Use gen_lowpart in place of gen_rtx_SUBREG.
- 	Replace gen_rtx (SUBREG) with gen_rtx_SUBREG.
- 
- 2002-03-18  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add PARALLEL to
- 	any_operand.
- 
- 2002-03-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_emit_set_const_1): Build add insns
- 	explicitly.
- 
- 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("fixuns_truncdfdi2"): Use (unsigned_fix:DI
- 	(unsigned_fix:DF op1)), not (unsigned_fix:DI (fix:DF op1)).
- 
- 2002-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ifcvt.c (dead_or_predicable): Fix uninitialized variable.
- 
- 	* predict.c (estimate_bb_frequencies): Delete unused variables.
- 
- 2002-03-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_attribute_table): Move before
- 	targetm definition.  Make static.
- 
- 2002-03-17  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-common.h (yyparse, c_common_parse_file): New.
- 	* c-lang.c: Include c-common.h.
- 	(LANG_HOOKS_PARSE_FILE): Redefine.
- 	* c-lex.c: Include c-common.h.
- 	(yyparse): Rename c_common_parse_file.  Call yyparse.
- 	* c-parse.in (yyparse): Remove macro.
- 	* c-tree.h (yyparse_1): Remove.
- 	* langhooks-def.h (LANG_HOOKS_PARSE_FILE): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hoooks): New hook parse_file.
- 	* toplev.c (compile_file): Use parse_file hook.
- 	* tree.h (yyparse): Remove.
- 	* objc/objc-lang.c (LANG_HOOKS_PARSE_FILE): Redefine.
- 
- 2002-03-17  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("truncdfsf2"): Correct operator is
- 	float_truncate, not fix.
- 	("*truncdfsf2_real"): Ditto.
- 	("*nonlocal_goto_receiver_expanded"): Fix output template formatting.
- 
- 	* config/mmix/mmix.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Don't define.
- 
- 2002-03-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (CAN_ELIMINATE): Don't eliminate rap to $fp
- 	(s8), but rather HARD_FRAME_POINTER_REGNUM.  Add parentheses
- 	where appropriate.  Make the second reference to
- 	leaf_function_p a function call, as intended.  Reindented.
- 
- 	* config/mips/mips.h (ISA_HAS_COND_TRAP): Not available on MIPS16.
- 	* config/mips/mips.md (trap) [TARGET_MIPS16]: Emit `break 0'.
- 
- 	* config/mips/mips.md (addsi3, adddi3): Use scratch register to
- 	add register to non-constant into sp.
- 
- 	* config/mips/mips-protos.h (embedded_pic_fnaddr_reg): New.
- 	* config/mips/mips.h (embedded_pic_fnaddr_rtx): Lose.
- 	(mips16_gp_pseudo_rtx): Lose.
- 	(INIT_EXPANDERS): Deleted.
- 	* config/mips/mips.c (mips_init_machine_status): New.
- 	(mips_free_machine_status): New.
- 	(mips_mark_machine_status): New.
- 	(override_options): Set them.
- 	(embedded_pic_fnaddr_rtx, mips16_gp_pseudo_rtx): Moved to...
- 	(struct machine_function): ... new.  Replaced all references.
- 	(mips_add_gc_roots): Don't mark them.
- 	(embedded_pic_fnaddr_reg): New, extracted from...
- 	(embedded_pic_offset): ... here.
- 	* config/mips/mips.md (movdi): Call embedded_pic_fnaddr_reg.
- 	(movsi): Likewise.
- 
- 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c: Revert -MD removal.
- 
- 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't use
- 	soft registers by default for 68HC12.
- 	(m68hc11_conditional_register_usage): Don't use Z register for 68HC12
- 	when compiling with -fomit-frame-pointer.
- 	(expand_prologue): Use push/pop to allocate 4-bytes of locals on 68HC12.
- 	(expand_epilogue): Likewise.
- 	(m68hc11_gen_rotate): Use exg when rotating by 8.
- 
- 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11-protos.h (ix_reg): Declare.
- 	* config/m68hc11/m68hc11.md ("addsi3"): Use general_operand for sources.
- 	(splits): Remove unused add splits.
- 	("*addhi3_68hc12"): Tune constraints.
- 	("addhi_sp"): Try to use X instead of Y in all cases and if the
- 	constant fits in 8-bits and D is dead use abx/aby instructions.
- 	("*addhi3"): Remove extern declaration of ix_reg.
- 	("*subsi3"): Optimize and provide new split.
- 	("subhi3"): Cleanup.
- 	("*subhi3_sp"): Avoid saving X if we know it is dead.
- 	(arith splits): For 68hc12 save the address register on the stack
- 	and do the arithmetic operation with a pop.
- 
- 2002-03-16  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Fix constraints, avoid
- 	allocating QImode in address registers.
- 	("*movqi_m68hc11"): Likewise.
- 
- Sat Mar 16 12:57:28 CET 2002  Jan HUbicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (cleanup_cfg): Fix updating of liveness.
- 
- 2002-03-16  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (print_help): Display -MD and -MMD.
- 	Don't display usage string.  Update assertion syntax and
- 	typo.
- 	(COMMAND_LINE_OPTIONS): Remove OPT_MD, OPT_MMD.
- 	(cpp_handle_option): Update.
- 
- 2002-03-15  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Provide an
- 	MEABI case for each definition of SUBTARGET_CPP_SIZE_SPEC,
- 	and define it so that regardless of target CPU size,
- 	__SIZE_TYPE__ and __PTRDIFF_TYPE__ are defined in terms
- 	of "int" rather than "long."
- 
- 2002-03-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_va_arg): Manipulate the type
- 	size as a tree.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("tstqi_1"): Try to use ldab instead of tst.
- 	("tstqi" split): Avoid using memory for tstqi on address register.
- 	(splits): Remove constraints.
- 	("cmphi_1_hc12"): New from "cmphi_1" and tuned for 68HC12.
- 	("cmpdf", "cmpsf"): Remove since not used.
- 	("*tbeq", "*tbne", "*tbeq8", "*tbne8"): Also look in cc_status.value2.
- 	(peephole2): New peepholes to optimize tstqi and pre inc/dec addressing.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("negsi2"): Optimize inline case.
- 	("neghi2"): Tighten constraints.
- 	("one_cmplsi2"): Optimize and simplify split.
- 	* config/m68hc11/larith.asm (__negsi2): Likewise for library.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.md ("logicalsi3_zexthi"): Fix constraints
- 	and split of AND operation to clear the upper bits.
- 	("*logicalsi3_zextqi"): Likewise.
- 	("*logicallhi3_zexthi_ashift8"): Likewise.
- 	("*logicalsi3_silshr16"): Likewise.
- 	("logicalsi3_silshl16"): Likewise.
- 	("anddi3", "iordi3", "xordi3" splits): Remove constraints.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_symbolic_p): New function.
- 	(m68hc11_indirect_p): New function.
- 	(m68hc11_override_options): Must set MASK_NO_DIRECT_MODE for 68HC12.
- 	(m68hc11_gen_highpart): Use TARGET_NO_DIRECT_MODE instead of
- 	TARGET_M6812.
- 	(asm_print_register): Likewise.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_symbolic_p): Declare.
- 	(m68hc11_indirect_p): Declare.
- 	* config/m68hc11/m68hc11.h (EXTRA_CONSTRAINT): New constraint 'R', 'Q'.
- 	(TARGET_NO_DIRECT_MODE, TARGET_RELAX): New.
- 	(TARGET_SWITCHES): New option -mrelax.
- 	* config/m68hc11/m68hc11.md ("andsi3"): Allow soft register for
- 	destination.
- 	("iorsi3", "xorsi3"): Likewise.
- 	("andhi3", "andqi3", "iorhi3", "iorqi3"): Use a define_expand.
- 	("*andhi3_mem"): New to handle destination in memory with bclr
- 	and a scratch register.
- 	("*andqi3_mem", "*iorhi3_mem", "*iorqi3_mem"): Likewise.
- 	("*andhi3_const"): New when operand2 is constant.
- 	("*andqi3_const", "*iorhi3_const", "*iorqi3_const"): Likewise.
- 	("*andhi3_gen"): Cleanup of the old "andhi3".
- 	("*andqi3_gen", "*iorhi3_gen", "*iorqi3_gen"): Likewise.
- 	("xorqi3"): Update constraints.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_small_indexed_indirect_p): Look
- 	for reg_equiv_memory_loc when the operand is a register that does
- 	not get a hard register (stack location).
- 	(tst_operand): After reload, accept all memory operand.
- 	(symbolic_memory_operand): Fix detection of symbolic references.
- 	* config/m68hc11/m68hc11.h (VALID_CONSTANT_OFFSET_P): For 68HC12
- 	accept symbols and any constant.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (emit_move_after_reload): Add a REG_INC
- 	note on the insn that sets the soft frame register.
- 	(must_parenthesize): ix and iy are also reserved names.
- 	(print_operand_address): One more place where parenthesis are required
- 	to avoid confusion with register names.
- 	(m68hc11_gen_movhi): Allow push of stack pointer.
- 	(m68hc11_check_z_replacement): Fix handling of parallel with a
- 	clobber.
- 	(m68hc11_z_replacement): Must update the REG_INC notes to tell what
- 	the replacement register is.
- 	* config/m68hc11/m68hc11.h (REG_CLASS_CONTENTS): Switch Z_REGS
- 	and D8_REGS classes.
- 	(MODES_TIEABLE_P): All modes are tieable except QImode.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/larith.asm (___adddi3): Optimize saving of result.
- 	(___subdi3): Likewise.
- 	(__mulsi3, __mulhi32): Avoid using _.tmp scratch location.
- 	(__map_data_section): Optimize 68hc11 case.
- 
- 2002-03-15  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
- 
- 	* config/m68hc11/m68hc11.c (m6812_cost): Make cost of add higher
- 	than a shift to avoid adding a register with itself.
- 	(m68hc11_memory_move_cost): Take into account NO_REGS.
- 	(m68hc11_register_move_cost): Update and use memory move cost
- 	for soft registers.
- 	(m68hc11_address_cost): Make cost of valid offset not 0 so that
- 	it gives more opportunities to cse to optimize.
- 	* config/m68hc11/m68hc11.h (REGISTER_MOVE_COST): Pass the mode.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_register_move_cost): Update.
- 
- 2002-03-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (statement_code_p): Handle CLEANUP_STMT.
- 	* c-common.def (CLEANUP_STMT): New tree node.
- 	* c-common.h (CLEANUP_DECL): New macro.
- 	(CLEANUP_EXPR): Likewise.
- 	* c-semantics.c (expand_stmt): Handle CLEANUP_STMT.
- 	* expr.c (expand_expr): Tidy.
- 	* tree-dump.c (dequeue_and_dump): Handle CLEANUP_STMT.
- 	* tree-inline.c (initialize_inlined_parameters): Clean up
- 	new local variables.
- 
- 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR bootstrap/4128
- 	* config/sparc/sparc.c (gen_v9_scc): Move early clobber test
- 	before movrXX only, use reg_overlap_mentioned_p.
- 	Only special case NE if just one insn can be generated.
- 
- 2002-03-15  Jason Merrill  <jason@redhat.com>
- 
- 	* varasm.c (assemble_variable): Call resolve_unique_section before
- 	checking DECL_SECTION_NAME.  Use zeros for a decl with DECL_INITIAL
- 	of error_mark_node.
- 
- 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/5170
- 	* arm.md (split pattern for thumb shiftable immediates): Add comment
- 	explaining non-obvious test.
- 
- 2002-03-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/5712
- 	* arm.md (movaddr, movaddr_insn): Delete.
- 
- 2002-03-15  Jason Merrill  <jason@redhat.com>
- 
- 	* toplev.c (wrapup_global_declarations): Clarify variable handling.
- 	-fkeep-static-consts doesn't apply to comdats.
- 
- 2002-03-14  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c: Include c-pragma.h.
- 	(start_decl, start_function): Invoke maybe_apply_pragma_weak.
- 	(finish_function): Tidy.
- 	* c-pragma.c: Include c-common.h.
- 	(pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
- 	(handle_pragma_weak): Use them.
- 	(init_pragma): Register pending_weaks.
- 	* c-pragma.h (maybe_apply_pragma_weak): Declare.
- 	* print-tree.c (print_node): Print DECL_WEAK.
- 	* varasm.c (mark_weak_decls): Remove.
- 	(remove_from_pending_weak_list): Remove.
- 	(add_weak): Remove.
- 	(asm_emit_uninitialised): Call globalize_decl for weak commons.
- 	(weak_decls): Make a tree_list.
- 	(declare_weak): Cons weak_decls directly.
- 	(globalize_decl): Remove weak_decls elements directly.
- 	(weak_finish): Simplify weak_decls walk.  Don't weaken unused
- 	symbols.  Don't pretend to handle aliases.
- 	(init_varasm_once): Update weak_decls registry.
- 	* Makefile.in: Update dependencies.
- 
- 2002-03-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/5312
- 	* config/ia64/ia64.c: Include tm_p.h last.
- 	(gen_nop_type): Remove duplicate definition.
- 	(cycle_end_fill_slots): Set sched_data for second L slot.
- 	(maybe_rotate): Call cycle_end_fill_slots to fill in nop slots.
- 	(nop_cycles_until): Fix typos.
- 
- 2002-03-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5891
- 	* unroll.c (copy_loop_body) [CALL_INSN]: Copy SIBLING_CALL_P flag.
- 
- 2002-03-14  David Mosberger <davidm@hpl.hp.com>, Hans Boehm <Hans_Boehm@hp.com>
- 
- 	* config/ia64/unwind-ia64.c: Handle copy_state and label_state
- 	  descriptors correctly.
- 
- 2002-03-14  Michael Meissner  <meissner@redhat.com>
- 
- 	* params.def (PARAM_MAX_UNROLLED_INSNS): New macro, default to
- 	100, allowing MAX_UNROLLED_INSNS to be overridden.
- 
- 	* params.h (MAX_UNROLLED_INSNS): Define so it can be overridden by
- 	--param.
- 
- 	* unroll.c (params.h): Include.
- 	(MAX_UNROLLED_INSNS): Delete, now in params.h.
- 
- 	* doc/invoke.texi (--param max-unroll-insns): Document.
- 
- 	* Makefile.in (unroll.o): Add $(PARAMS_H) dependency.
- 
- 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md: Fix warnings about constraints in peepholes and splits.
- 
- 2002-03-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpphash.h (struct lexer_state): Remove line_extension member.
- 	* cpplib.c (dequote_string, do_linemarker): New functions.
- 	(linemarker_dir): New data object.
- 	(DIRECTIVE_TABLE): No longer need to interpret #line in
- 	preprocessed source.  Delete obsolete comment about return
- 	values of handlers.
- 	(end_directive, directive_diagnostics, _cpp_handle_directive):
- 	Don't muck with line_extension.
- 	(directive_diagnostics): No need to issue warnings for
- 	linemarkers here.
- 	(_cpp_handle_directive): Issue warnings for linemarkers here,
- 	when appropriate.  Dispatch linemarkers to do_linemarker, not
- 	do_line.
- 	(do_line): Code to handle linemarkers split out to do_linemarker.
- 	Convert escape sequences in filename argument, both places.
- 
- 	* cppmacro.c (quote_string): Rename cpp_quote_string and
- 	export.  All callers changed.
- 	* cpplib.h (cpp_quote_string): Prototype.
- 	* cppmain.c (print_line): Call cpp_quote_string on to_file
- 	before printing it.
- 
- 	* doc/cpp.texi: Document that escapes are now interpreted in
- 	#line and in linemarkers, and that non-printing characters are
- 	converted to octal escapes when linemarkers are generated.
- 
- Thu Mar 14 19:04:29 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (try_split): Use delete_insns.
- 	* recog.c (split_all_insns): Fix terminating condition.
- 
- 2002-03-14  Richard Earnshaw  <rearnsha@arm.com>
- 	    Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
- 
- 	PR target/5828
- 	* arm.c (arm_output_epilogue): Fix floating-point register save
- 	adjustment when using a frame pointer.
- 
- 2002-03-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (FP_INC, UNITS_PER_FPVALUE): New macros.
- 	* config/mips/mips.c (compute_frame_size): Retrofit them here.
- 	(save_restore_insns, mips_expand_epilogue): And here.
- 	(build_mips16_call_stub): And here.
- 	(mips_function_value): Use the new macros to decide whether a single
- 	or complex float can be returned in floating-point registers.  Return
- 	a parallel rtx in the complex case.
- 
- Thu Mar 14 11:03:12 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Add CLEANUP_UPDATE_LIFE to cfg_cleanup
- 	call after liveness analysis.
- 
- 	* recog.c (split_insn): Use delete_insn_and_edges.
- 
- 	* cfgrtl.c (verify_flow_info): Be permisive about non-any_condjump
- 	instructions to have branch prediction notes.
- 	* ia64reorg.c (ia64_reorg): Do not rebuild CFG.
- 
- 2002-03-14  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* configure.in: Don't pass -Wno-long-long to a ADA compiler
- 	that doesn't support it.
- 	* configure: Regenerate.
- 
- 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/5626
- 	* config/sparc/sparc.md (normal_branch, inverted_branch,
- 	normal_fp_branch, inverted_fp_branch, normal_fpe_branch,
- 	inverted_fp_branch): Adjust calls to output_cbranch.
- 	Set length attribute.
- 	(normal_int_branch_sp64, inverted_int_branch_sp64): Adjust calls to
- 	output_v9branch.  Set length attribute.
- 	* config/sparc/sparc.c (fcc0_reg_operand, noov_compare64_op): New
- 	predicates.
- 	(noov_compare_op): Handle CCX_NOOVmode the same way as CC_NOOVmode.
- 	(output_cbranch): Likewise.  Handle far branches.
- 	(output_v9branch): Handle far branches.
- 	* config/sparc/sparc-protos.h (output_cbranch, output_v9branch):
- 	Adjust prototypes.
- 	* config/sparc/sparc.h (PREDICATE_CODES): Add fcc0_reg_operand and
- 	noov_compare64_op predicates.
- 
- 2002-03-13  Jason Merrill  <jason@redhat.com>
- 
- 	* gthr-posix.h (__gthread_active_p): Move __gthread_active_ptr
- 	into the function and constify it.
- 	* gthr-dce.h, gthr-solaris.h: Likewise.
- 
- 2002-03-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (PAD_VARARGS_DOWN): Define.
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Use
- 	std_expand_builtin_va_arg if not ABI_V4.
- 
- 2002-03-13  Jason Merrill  <jason@redhat.com>
- 
- 	* varasm.c (globalize_decl): New fn.
- 	(assemble_start_function): Use it.
- 	(asm_emit_uninitialized): Use it.
- 	(assemble_alias): Use it.
- 	(assemble_variable): Use it.
- 
- 2002-03-13  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_target_asm_function_prologue): Revert
- 	2002-03-12 internal visibility change.
- 	(cris_encode_section_info): Consider MODULE_LOCAL_P when encoding
- 	visibility into SYMBOL_REF_FLAG.
- 
- 2002-03-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with
- 	VOIDmode operand.  Add compile-time optimization for constant results.
- 
- 2002-03-12  Jason Merrill  <jason@redhat.com>
- 
- 	* c-typeck.c (convert_for_assignment): Don't allow conversions
- 	between pointers and references.  Only allow lvalues to convert to
- 	reference.
- 
- 2002-03-13  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.h (PROFILE_BEFORE_PROLOGUE): Emit profile code
- 	before prologue, to avoid scheduling problems.
- 
- 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/sparc.h (INITIAL_FRAME_POINTER_OFFSET): Remove.
- 	(ELIMINABLE_REGS): Add sfp->sp.
- 	(INITIAL_ELIMINATION_OFFSET): Compute sfp->sp offset too.
- 
- 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5892
- 	* config/ia64/ia64.c (rotate_one_bundle): Update current packet.
- 
- 2002-03-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* loop.c (basic_induction_var): Don't call convert_modes if mode
- 	classes are different.
- 
- 2002-03-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/5901
- 	* function.c (reposition_prologue_and_epilogue_notes): Position
- 	the markers after/before the last/first insn not deleted.
- 
- 2002-03-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/5878
- 	* config/arc/arc.h, config/cris/cris.h, config/i386/i386.h,
- 	config/m68k/m68k.h, config/s390/s390.h, config/sparc/sparc.h
- 	(PIC_OFFSET_TABLE_REGNUM): Conditionalize on flag_pic.
- 
- 	* config/arm/arm.h config/i386/i386.h, config/m68k/m68k.h,
- 	config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Set
- 	PIC_OFFSET_TABLE_REGNUM based on INVALID_REGNUM not flag_pic.
- 
- 	* config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): New.
- 	* config/arm/arm.c (arm_pic_register): Init to INVALID_REGNUM.
- 	(arm_override_options): Set arm_pic_register if TARGET_APCS_STACK
- 	also.  Don't set it if not flag_pic.
- 	* config/i386/i386.c (ix86_save_reg): Trust PIC_OFFSET_TABLE_REGNUM
- 	to be INVALID_REGNUM when not used.
- 
- 2002-03-13  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expmed.c (store_bit_field): Reset alias set for memory.
- 	(extract_bit_field): Same.
- 
- 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-common.c (c_tree_code_type, c_tree_code_length,
- 	c_tree_code_name, add_c_tree_codes): Delete.
- 	* c-common.h (add_c_tree_codes): Delete.
- 	* c-lang.c (tree_code_type, tree_code_length, tree_code_name):
- 	Define.
- 	* c-objc-common.c (c_objc_common_init): Don't call
- 	add_c_tree_codes, instead set lang_unsafe_for_reeval.
- 	* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length,
- 	objc_tree_code_name, add_objc_tree_codes): Delete.
- 	(objc_init): Don't call add_objc_tree_codes.
- 	* objc/objc-lang.c (tree_code_type, tree_code_length,
- 	tree_code_name): Define.
- 	* toplev.c (lang_independent_init): Don't set
- 	tree_code_length[IDENTIFIER_NODE].
- 	* tree.c (tree_code_type, tree_code_length, tree_code_name):
- 	Delete definitions, moved to language front-ends.
- 	* tree.def (IDENTIFIER_NODE): Hardwire the length.
- 	* tree.h (tree_code_type, tree_code_length, tree_code_name):
- 	Const-ify.
- 	(tree_code_length): Change type to unsigned char.
- 
- 2002-03-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_prologue): Revert 2002-03-03
- 	internal visibility change.
- 
- 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_expand_block_move): Use
- 	validize_mem() instead of change_address to avoid clobbering
- 	memory attributes.
- 
- 2002-03-12  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-lex.h (position_after_whitespace): Remove.
- 
- 2002-03-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-lex.c (cb_ident, c_lex): Remove unnecessary cast.
- 	(lex_string): Use unsigned char pointers.
- 
- 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload1.c (reload): Ignore MEM REG_EQUIV notes if the equivalent
- 	is not a valid memory_operand.
- 
- 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-config.h: Define XCHAL_HAVE_LOOPS.
- 	* config/xtensa/lib1funcs.asm: Fix copyright to include
- 	special case for libgcc files.
- 	(__udivsi3): Avoid loop instructions when XCHAL_HAVE_LOOPS is 0.
- 	(__divsi3): Likewise.
- 	(__umodsi3): Likewise.
- 	(__modsi3): Likewise.
- 	* config/xtensa/lib2funcs.S: Fix copyright to include
- 	special case for libgcc files.
- 
- 2002-03-12  Tom Rix  <trix@redhat.com>
- 
- 	* collect2.c (resolve_lib_name): Move outside of
- 	OBJECT_FORMAT_COFF ifdef.
- 	(ignore_library): Same.
- 
- 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/t-xtensa (CRTSTUFF_T_CFLAGS_S): Define.
- 
- 2002-03-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (ASM_OUTPUT_POOL_PROLOGUE): Switch
- 	to function_section before writing out the constant pool.
- 
- 2002-03-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add any_operand and
- 	zero_constant.
- 	* config/rs6000/rs6000.c (easy_fp_constant): Fix formatting.
- 
- 2002-03-12  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (addsi3): Optimize sign extension.
- 	(adddi3): Likewise.
- 	(movdf): Likewise.
- 	(movdi): Likewise.
- 	(cmpsi splitter): Likewise.
- 	(modsi3): Fail if <= 0.
- 	* config/rs6000/rs6000.c (reg_or_add_cint64_operand): Remove
- 	redundant test when HOST_BITS_PER_WIDE_INT != 32.
- 	(reg_or_sub_cint64_operand): Likewise.
- 	(num_insns_constant_wide): Optimize sign extension.
- 	(rs6000_legitimize_address): Likewise.
- 
- 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/sparc/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 	* config/sparc/linux64.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
- 
- 2002-03-12  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/sparc/sparc.h (RETURN_ADDR_RTX): Include v9 stack bias in
- 	address calculation.
- 
- 2002-03-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (reload_insi, reload_indi): Change mode of
- 	scratch register to DImode / TImode.
- 	config/s390/s390.c (s390_expand_plus_operand): Make sure scratch
- 	register used does not overlap the target.
- 
- 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (debug.o): Depend on debug.h.
- 	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Const-ify.
- 	* debug.c (do_nothing_debug_hooks): Likewise.
- 	* debug.h (debug_hooks, do_nothing_debug_hooks, dbx_debug_hooks,
- 	sdb_debug_hooks, xcoff_debug_hooks, dwarf_debug_hooks,
- 	dwarf2_debug_hooks, vmsdbg_debug_hooks): Likewise.
- 	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
- 	* dwarfout.c (dwarf_debug_hooks): Likewise.
- 	* integrate.c (output_inline_function): Likewise.
- 	* objc/objc-act.c (synth_module_prologue): Likewise.
- 	* sdbout.c (sdb_debug_hooks): Likewise.
- 	* toplev.c (debug_hooks): Likewise.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
- 
- 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.h, a29k.h, arc.h, arm.h, c4x.h, clipper.h, cris.h, d30v.h,
- 	dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i860.h, i960.h,
- 	m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mmix.h, mn10300.h,
- 	ns32k.h, pa.h, pdp11.h, pj.h, romp.h, s390.h, stormy16.h,
- 	v850.h, vax.h, we32k.h, xtensa.h (POINTER_SIZE): Delete.
- 	* defaults.h (POINTER_SIZE): Define.
- 	* doc/tm.texi (POINTER_SIZE): Document default.
- 
- 2002-03-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mn10200.h (PTRDIFF_TYPE): Change it to a signed type.
- 
- 2002-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Call purge_all_dead_edges
- 	if rebuild_label_notes_after_reload.
- 
- 2002-03-12  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_target_asm_function_prologue):  Do not
- 	emit pic register load if "internal" visibility.
- 	(cris_print_operand): Avoid traditional-warning for 0xffffffff.
- 	(cris_expand_builtin_va_arg): Do all computations on trees.
- 
- 2002-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	* rtlanal.c: Include recog.h.
- 	(keep_with_call_p): Fix thinko.
- 	* Makefile.in (rtlanal.o): Update dependencies.
- 
- 2002-03-11  Chris Meyer  <cmeyer@gatan.com>
- 
- 	* genflags.c (gen_insn): Use IS_VSPACE.
- 	* genoutput.c (output_insn_data): Likewise.
- 	(process_template): Likewise.
- 
- 2002-03-11  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Don't compile if we've had errors.
- 
- 2002-03-11  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in: Update.
- 	* doc/cppenv.texi, cppopts.texi: Split out of cpp.texi and gcc.texi.
- 	Update documentation.
- 	* doc/gcc.texi: Include cppopts.texi and cppenv.texi.
- 	* doc/cpp.texi: Include cppopts.texi and cppenv.texi.
- 
- 2002-03-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in: Give texi2pod its input file as a command line
- 	argument, not on stdin.
- 
- 2002-03-11  Dan Nicolaescu  <dann@ics.uci.edu>
- 	    Daniel Berlin  <dan@dberlin.org>
- 
- 	C++ alias analysis improvement.
- 	* alias.c (record_component_aliases): Record aliases for base
- 	classes too.
- 
- 2002-03-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (REG_ALLOC_ORDER): Add missing register.
- 
- 2002-03-11  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* toplev.c (vms_fopen): Remove, not needed.
- 
- 	* vmsdbgout.c (lookup_filename): Adjust creation date for GMT.
- 
- 	* config/alpha/xm-vms.h (__UNIX_FWRITE): Define.
- 
- 	* config/alpha/alpha.c (alpha_sa_size, VMS): Don't reserve space
- 	for FP, already done later.
- 
- 	* toplev.c (debug_args): Add entry for VMS_DEBUG.
- 	* vmsdbgout.c (vmsdbgout_init): Fix typo in call to xmalloc.
- 
- 2002-03-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* defaults.h (LARGEST_EXPONENT_IS_NORMAL, ROUND_TOWARDS_ZERO): New.
- 	(MODE_HAS_NANS, MODE_HAS_INFINITIES): Evaluate to false if
- 	LARGEST_EXPONENT_IS_NORMAL for the given mode.
- 	(MODE_HAS_SIGN_DEPENDENT_ROUNDING): False when ROUND_TOWARDS_ZERO.
- 	* real.c (eadd1): Make rounding dependent on !ROUND_TOWARDS_ZERO.
- 	(ediv, emul, eldexp, esqrt): Likewise.
- 	(etoe113, etoe64, etoe53, etoe24, etodec, etoibm, etoc4x): Likewise.
- 	(e24toe): Only check NaNs & infinities if !LARGEST_EXPONENT_IS_NORMAL.
- 	(saturate): New function.
- 	(toe53, toe24): Saturate on overflow if LARGEST_EXPONENT_IS_NORMAL.
- 	(make_nan): Use a saturation value instead of a NaN if
- 	LARGEST_EXPONENT_IS_NORMAL.  Warn when this happens.
- 	* fp-bit.c (pack_d): Saturate on NaN, infinite or overflowing
- 	inputs if LARGEST_EXPONENT_IS_NORMAL.  Represent subnormals as
- 	zero if NO_DENORMALS.  Only round to nearest if !ROUND_TOWARDS_ZERO.
- 	(unpack_d): No NaNs or infinities if LARGEST_EXPONENT_IS_NORMAL.
- 	(_fpmul_parts, _fpdiv_parts): Only round to nearest if
- 	!ROUND_TOWARDS_ZERO.
- 	* doc/tm.texi (LARGEST_EXPONENT_IS_NORMAL): Document.
- 	(ROUND_TOWARDS_ZERO): Document.
- 
- 2002-03-11  Andreas Jaeger  <aj@suse.de>
- 
- 	* cfg.c (dump_flow_info): Remove unused variable.
- 
- 2002-03-11  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_expand_builtin_va_arg): Do all
- 	computations on trees.
- 
- 2002-03-10  Richard Henderson  <rth@redhat.com>
- 
- 	PR 5693:
- 	* reload.c (copy_replacements_1): New.
- 	(copy_replacements): Use it to recurse through the rtx.
- 
- 2002-03-10  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (strength_reduce): Compute number of iterations as
- 	unsigned HOST_WIDE_INT.
- 
- 2002-03-10  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-rgn.c (add_branch_dependences): Don't allow insns that throw
- 	to move away from the end of the block.
- 
- 2002-03-10  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR preprocessor/5899
- 	* cppinit.c (init_dependency_output): Don't ignore -dM etc.
- 
- 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mbchar.c (JIS_state_table, JIS_action_table): Const-ify.
- 
- 	* attribs.c (decl_attributes): Fix signed/unsigned warning.
- 
- 2002-03-10  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c: Improve comments.
- 	(mmix_target_asm_function_prologue): Drop variable
- 	empty_stack_frame.  Don't allocate unused slot above fp.
- 	(mmix_target_asm_function_epilogue): Mirror prologue changes.
- 	* config/mmix/mmix.h (MMIX_GNU_ABI_REG_ALLOC_ORDER): Don't have
- 	brace in first column.
- 	(enum reg_class): Ditto.
- 	(FIRST_PARM_OFFSET): Now 0.
- 	(USER_LABEL_PREFIX): Remove #if 0:d definition.
- 
- 2002-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* combine.c (make_extraction): Fix error in last change.
- 
- 2002-03-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c4x.c (c4x_fp_reglist): Const-ify.
- 	* cris.c (cris_print_operand): Likewise.
- 	* i386.c (ix86_va_arg): Likewise.
- 	* ia64/unwind-ia64.c (unw_decode_table): Likewise.
- 	* m32r.c (m32r_hard_regno_mode_ok): Likewise.
- 	* m32r.h (m32r_hard_regno_mode_ok): Likewise.
- 	* mcore.c (regno_reg_class, mcore_unique_section): Likewise.
- 	* mcore.h (regno_reg_class): Likewise.
- 	* mips.c (gen_int_relational): Likewise.
- 	* ns32k.c (ns32k_reg_class_contents, regclass_map): Likewise.
- 	* ns32k.h (ns32k_reg_class_contents, regclass_map): Likewise.
- 	* pdp11.c (move_costs): Likewise.
- 	* pj.h (INITIALIZE_TRAMPOLINE): Likewise.
- 	* s390.c (s390_branch_condition_mnemonic, regclass_map):
- 	Likewise.
- 	* s390.h (regclass_map): Likewise.
- 	* sh.c (shift_amounts): Likewise.
- 	* sh.md (rotlsi3): Likewise.
- 
- 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.md (ne0+4): Add extra CLOBBER.
- 	(ne0+5): Use new clobber to generate proper shift pattern.
- 	Patch by Michael Matz <matz@kde.org>.
- 
- 2002-03-09  Andreas Schwab  <schwab@suse.de>
- 
- 	* gcc.c (validate_all_switches): Also handle `%W{...}'.
- 
- 2002-03-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Don't define.
- 
- 2002-03-09  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/5877
- 	* expr.c (highest_pow2_factor): Check TREE_INT_CST_LOW
- 	even for non-representable constants.
- 
- Sat Mar  9 07:20:01 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
- 	* function.c (fixup_var_refs): Add MAY_SHARE parameter.
- 	(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
- 	(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
- 	(pop_function_context): Compute MAY_SHARE parameter for
- 	fixup_var_refs.
- 	(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
- 	(gen_mem_addressof): Call fixup_var_refs with new parm.
- 
- 	* combine.c (make_extraction): Don't make extension of CONST_INT.
- 
- 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.c (function_arg_pass_by_reference): Force to 0
- 	in o32 and o64 ABIs.
- 	* config/mips/abi64.h (MUST_PASS_IN_STACK): Define as in expr.h,
- 	but getting fixed-size structs passed in registers regardless of
- 	padding in o32 and o64 ABIs.
- 
- 	* config/mips/mips.c (mips_va_arg): Apply big-endianness address
- 	offset before loading address of argument passed by transparent
- 	reference.
- 
- 2002-03-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.
- 
- 2002-03-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.c (mips_expand_prologue): Set regno of vararg
- 	marker such that registers after it are saved.
- 
- 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* sparc.c (arith_4096_operand): Fix error in last change.
- 
- 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Remove duplicate
- 	defaults for MEABI.
- 
- 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_arg): Fix alignment for
- 	vectors.
- 
- 2002-03-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/sysv4.h (BIGGEST_ALIGNMENT): Change for altivec.
- 
- Fri Mar  8 21:27:49 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (purge_dead_edges): Set BB_DRITY flags if edge has been
- 	removed; fix return value.
- 	* combine.c (combine_instructions): Dirtify blocks where we failed to
- 	update liveness; purge dead edges; use update_life_info_in_dirty_blocks.
- 	* toplev.c (rest_of_compilation): Do not purge_dead_edges after combine.
- 
- 2002-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcse.c (insert_insn_end_bb): Fix typo in last change.
- 
- Fri Mar  8 21:08:52 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (peephole2_optimize): Re-distribute EH edges.
- 
- 2002-03-08  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* expr.c (expand_expr): Use unsave lang hook.
- 	* langhooks-def.h (LANG_HOOKS_UNSAVE): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (struct lang_hooks): New hook unsave.
- 	* tree.c (lang_unsave, lang_unsave_expr_now): Remove.
- 	(unsave_expr_1): Remove unused lang_unsave_expr_now.
- 	(unsave_expr_now_r): Rename lhd_unsave.  Update. Return input.
- 	(unsave_expr_now): Remove.
- 	* tree.h (unsave_expr_now, lang_unsave,
- 	lang_unsave_expr_now): Remove.
- 	(lhd_unsave): New.
- 
- 2002-03-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* flow.c (propagate_block_delete_insn): Remove unused variable.
- 
- 2002-03-08  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Tighten
- 	insn length for memory load/store.
- 
- 2002-03-08  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/install.texi (--with-libiconv-prefix): Document.
- 
- 2002-03-08  Michael Y. Brukman  <myb2@cornell.edu>
- 
- 	* doc/sourcebuild.texi: Fix typo.
- 
- 2002-03-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/3711
- 	* builtins.c (std_expand_builtin_va_arg): Do all computations on
- 	trees.
- 
- Fri Mar  8 06:48:45 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* rtl.c (copy_most_rtx): Move from here ...
- 	* emit-rtl.c (copy_most_rtx): ... to here.
- 
- 2002-03-08  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (LONG_MAX_SPEC): Rewrite, along with
- 	SUBTARGET_CPP_SIZE_SPEC.
- 	* config/mips/abi64.h (LONG_MAX_SPEC): Delete.
- 
- 	* config/mips/mips.h (SUBTARGET_CPP_SIZE_SPEC): Simplify.
- 
- 2002-03-07  Matt Hiller  <hiller@redhat.com>
- 
- 	* gensupport.c (first_dir_md_include): Renamed from include;
- 	change all references.
- 	(last_dir_md_include): Renamed from last_include; change all
- 	references.
- 	(init_md_reader): Unconditionally initialize base_dir whether or
- 	not filename is a relative path.
- 
- 2002-03-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/fp-bit.c (_unord_f2): Compile it in even if
- 	US_SOFTWARE_GOFAST is enabled.
- 
- 	* config/gofast.h (GOFAST_RENAME_LIBCALLS): Set gt and ge as
- 	NULL_RTX.  Set all HFmode operations as NULL_RTX.
- 	* optabs.c (prepare_float_lib_cmp) <GT, GE, LT, LE>: If libfunc is
- 	NULL_RTX, try reversing the comparison and the operands.
- 
- 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* genextract.c (walk_rtx): Recurse into MATCH_PAR_DUP.
- 	genoutput.c (scan_operands): Recurse into MATCH_PAR_DUP
- 	and MATCH_OP_DUP.
- 
- Thu Mar  7 16:54:10 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload1.c (reload_cse_delete_noop_set): Purge dead edges.
- 
- Thu Mar  7 16:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (fixup_abnormal_edges): Declare.
- 	* reload1.c (fixup_abnormal_edges): New function.
- 	* reg-stack.c (convert_regs): Use it.
- 
- 	* gcse.c (insert_insn_end_bb): Handle trapping insns.
- 
- 	* gcse.c (hash_scan_set): Refuse instructions with EH edges.
- 
- 2002-03-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* defaults.h (MODE_HAS_NANS, MODE_HAS_INFINITIES): New.
- 	(MODE_HAS_SIGNED_ZEROS, MODE_HAS_SIGN_DEPENDENT_ROUNDING): New.
- 	* flags.h (HONOR_NANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS): New.
- 	(HONOR_SIGN_DEPENDENT_ROUNDING): New.
- 	* builtins.c (expand_builtin_mathfn): Use HONOR_NANS.
- 	* c-common.c (truthvalue_conversion): Reduce x - y != 0 to x != y
- 	unless x and y could be infinite.
- 	(expand_unordered_cmp): New, mostly split from expand_tree_builtin.
- 	Check that the common type of both arguments is a real, even for
- 	targets without unordered comparisons.  Allow an integer argument
- 	to be compared against a real.
- 	(expand_tree_builtin): Use expand_unordered_cmp.
- 	* combine.c (combine_simplify_rtx): Use the new HONOR_... macros.
- 	* cse.c (fold_rtx): Likewise.  Fix indentation.
- 	* fold-const.c (fold_real_zero_addition_p): New.
- 	(fold): Use it, and the new HONOR_... macros.
- 	* ifcvt.c (noce_try_minmax): Use the new HONOR_... macros.
- 	* jump.c (reversed_comparison_code_parts): After searching for
- 	the true comparison mode, use HONOR_NANS to decide whether it
- 	can be safely reversed.
- 	(reverse_condition_maybe_unordered): Remove IEEE check.
- 	* simplify-rtx.c (simplify_binary_operation): Use the new macros
- 	to decide which simplifications are valid.  Allow the following
- 	simplifications for IEEE: (-a + b) to (b - a), (a + -b) to (a - b),
- 	and (a - -b) to (a + b).
- 	(simplify_relational_operation): Use HONOR_NANS.
- 	* doc/tm.texi: Document the MODE_HAS_... macros.
- 
- 2002-03-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* combine.c (simplify_comparison): If simplifying a logical shift
- 	right and compare with constant, force the comparison to unsigned.
- 
- 2002-03-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/invoke.texi: Add documentation for -mabi=no-altivec.
- 
- 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): Add
- 	-mabi=no-altivec
- 	(alt_reg_names): Remove % for vrsave.
- 
- 2002-03-06  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/5844
- 	* genemit.c (gen_exp): New argument used.  Invoke copy_rtx
- 	if used indicates we've already emitted one copy of an operand.
- 	(gen_insn, gen_expand, output_add_clobbers): Supply a null used.
- 	(gen_split): Supply a non-null used.
- 
- 2002-03-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload1.c (reload): Unshare all rtl after reload is done.
- 
- 	* simplify-rtx.c (simplify_plus_minus): Do not abort,
- 	but simply fail if the expression is too complex to simplify.
- 	(simplify_gen_binary): Handle simplify_plus_minus failures.
- 
- Wed Mar  6 20:32:09 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Do jump threading before SSA path;
- 	consistently call delete_trivially_dead_insns after CSE and GCSE;
- 	fix DFI_life dumping; do jump threading after liveness; do crossjumping
- 	after liveness2; update comment in last crossjumping.
- 	* cfgcleanup.c (try_crossjump_to_edge): Dirtify block.
- 
- Wed Mar  6 12:27:10 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* ssa-ccp.c (ssa_fast_dce): Update the DF def-use chains
- 	after completing fast dead code elimination.
- 
- 	* m68k.h (CONST_COSTS): Lower cost of 0.0 when used inside a
- 	COMPARE operator.
- 
- 2002-03-06  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* version.c:  Fix misplaced leading blanks on first line.
- 
- Wed Mar  6 19:08:03 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (verify_flow_info): Accept RESX as EH edge source.
- 
- Wed Mar  6 18:14:43 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (mentions_nonequal_regs): New function.
- 	(thread_jump): Use it.
- 	* toplev.c (rest_of_compilation): Run jump threading after
- 	liveness.
- 
- 2002-03-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* ssa-ccp.c (ssa_ccp_substitute_constants): Backout 2002-03-05
- 	patch.
- 
- Wed Mar  6 11:28:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_bb_frequencies): Do not reload the
- 	frequencies from notes.
- 
- Wed Mar  6 10:59:39 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (delete_insn_and_edges, delete_insn_chain_and_edges): New.
- 	* rtl.h (delete_insn_and_edges, delete_insn_chain_and_edges): Declare
- 
- 	* basic-block.h (update_life_info, update_life_info_in_dirty_blocks,
- 	delete_noop_moves): Return indeger.
- 	* flow.c (ndead): New variable.
- 	(propagate_block_delete_insn): Use delete_insn_and_edges; remove
- 	BB argument; update callers.
- 	(propagate_block_delete_libcall): Use delete_insn_chain_and_edges.
- 	(life_analysis): Do not call purge_all_dead_edges.
- 	(update_life_info): Return number of deleted insns; print statistics.
- 	(update_life_info_in_dirty_blocks): likewise.
- 	(delete_noop_moves): Use delete_insn_and_edges; print statistics;
- 	return number of insns deleted.
- 
- 	* cse.c: Include timevar.h
- 	(delete_trivially_dead_insns): Kill preserve_basic_blocks argument;
- 	iterate until stabilizes; print statistics; return number of killed
- 	insns.
- 	* Makefile.in: (cse.o): Add timevar.h dependency
- 	* rtl.h (delete_trivially_dead_insns): New.
- 	* timever.def: Add TV_DELETE_TRIVIALLY_DEAD timer.
- 	* toplev.c (rest_of_compilation): Update callers.
- 
- 	* cfgcleanup.c (try_optimize_cfg): Kill blocks.
- 	(try_optimize_cfg): Do not update liveness.
- 	(cleanup-cfg): Loop until try_optimize_cfg and dead code
- 	removal stabilizes; use delete_trivially_dead_insns.
- 
- 	* cfgrtl.c (verify_flow_info): Sanity check outgoing edges.
- 
- 2002-03-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppmain.c (setup_callbacks): Disable #pragma and #ident
- 	callbacks when processing assembly language.
- 
- 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (ASM_FILE_END): Define.
- 	* som.h (ASM_FILE_END): Delete.
- 
- 	* pa.c (function_arg): Don't pass floats in general registers in
- 	indirect calls if TARGET_ELF32.
- 
- 2002-03-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (floatsidf2): Conditionalize on hard-float.
- 
- 2002-03-05  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Define.
- 
- 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* mklibgcc.in: Prepend a tab before .hidden, add $flags to gcc
- 	-r command line.  Don't hide any symbols if not building
- 	shared libgcc.
- 
- Tue Mar  5 18:31:27 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfg.c (dump_flow_info): Warn about profile mismatches.
- 	* cfgrtl.c (verify_flow_info): Few aditional sanity checks.
- 	(purge_dead_edges): Remove REG_BR_PROB notes on simplejumps.
- 
- 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expmed.c (emit_store_flag): Don't test BITS_PER_WORD * 2
- 	wide volatile memory by parts.
- 
- 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* ssa-ccp.c (ssa_ccp_substitute_constants): Don't crash if def
- 	is NULL.
- 
- 2002-03-05  Richard Henderson  <rth@redhat.com>
- 
- 	* rs6000.h (TOTAL_ALTIVEC_REGS): Fix off-by-one error.
- 
- 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* toplev.c (documented_lang_options): Document more
- 	language-specific options.
- 	* doc/invoke.texi (Warning Options): Correct documentation for
- 	-Wno-multichar, -Wno-div-by-zero, and -Wsystem-headers.
- 	* c-decl.c (c_decode_option): Use a table to handle warning options.
- 
- 2002-03-05  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h (ENCODE_SECTION_INFO): Pass on new second
- 	parameter to mmix_encode_section_info.
- 	(LINK_SPEC): Don't defsym __.MMIX.start..text if linking
- 	relocatably.  Always produce ELF, not mmo if linking relocatably.
- 	* config/mmix/mmix.c (mmix_encode_section_info): If new parameter
- 	first is nonzero, don't add symbol prefix.
- 	* config/mmix/mmix-protos.h (mmix_encode_section_info): Tweak
- 	prototype accordingly.
- 
- 2002-03-04  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config.gcc (*-*-netbsd*): Add t-slibgcc-elf-ver to tmake_file.
- 
- 2002-03-05  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Increase required makeinfo version to 4.1.
- 	* configure: Regenerate.
- 
- 2002-03-04  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* .cvsignore: Remove *.info* and genrtl*; these files are generated
- 	elsewhere now.
- 
- 2002-03-04  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/include/texinfo.tex: Update to version 2002-03-01.06.
- 	* doc/invoke.texi: Fix @math uses.
- 
- Mon Mar  4 15:33:54 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Cleanup CFG after dead jumptables
- 	removal
- 
- 2002-03-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc (powerpc-*-eabialtivec*): Use t-ppcendian.
- 	(powerpc-*-eabisimaltivec*): Same.
- 
- 	* config/rs6000/t-ppcendian: New.
- 
- 2002-03-04  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* c4x-protos.h, c4x.h, c4x.c, c4x.md: Add new functions
- 	nonimmediate_src_operand and nonimmediate_lsrc_operand to
- 	disallow ZERO_EXTEND with CONST_INT or CONST_DOUBLE.
- 
- 2002-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_decl_compilation): Revert last two changes.
- 
- 2002-03-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* emit-rtl.c, final.c, fold-const.c, gengenrtl.c, optabs.c,
- 	print-tree.c, real.c, real.h, recog.c, rtl.c, simplify-rtx.c,
- 	tree.c, config/m68k/m68k.c:
- 	Remove all #ifndef REAL_ARITHMETIC blocks, make all #ifdef
- 	REAL_ARITHMETIC blocks unconditional.  Delete some further
- 	#ifdef blocks predicated on REAL_ARITHMETIC.
- 	* flags.h, toplev.c: Delete remaining references to
- 	flag_pretend_float.
- 
- 	* doc/invoke.texi: Remove documentation of -fpretend-float.
- 	* doc/tm.texi: Describe the various REAL_* macros as provided by
- 	real.h, not by the target configuration files.
- 
- 	* config/alpha/alpha.h, config/alpha/unicosmk.h, config/arm/arm.h,
- 	config/avr/avr.h, config/c4x/c4x.h, config/convex/convex.h,
- 	config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
- 	config/h8300/h8300.h, config/i370/i370.h, config/i386/i386.h,
- 	config/i386/osf1elf.h, config/i960/i960.h, config/ia64/ia64.h,
- 	config/m32r/m32r.h, config/m68hc11/m68hc11.h, config/m68k/dpx2.h,
- 	config/m68k/linux-aout.h, config/m68k/linux.h, config/m68k/m68k.h,
- 	config/m68k/sun3.h, config/m68k/vxm68k.h, config/mcore/mcore.h,
- 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
- 	config/mn10300/mn10300.h, config/pa/pa.h, config/pj/pj.h,
- 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
- 	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/sol2.h, config/sparc/sparc.h, config/sparc/vxsim.h,
- 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
- 	config/xtensa/xtensa.h:
- 	Do not define, undefine, or mention in comments any of
- 	REAL_ARITHMETIC, REAL_VALUE_ATOF, REAL_VALUE_HTOF,
- 	REAL_VALUE_ISNAN, REAL_VALUE_ISINF,
- 	REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE,
- 	REAL_VALUE_TO_TARGET_LONG_DOUBLE, REAL_VALUE_TO_DECIMAL,
- 	REAL_VALUE_TYPE, REAL_VALUES_EQUAL, REAL_VALUES_LESS,
- 	REAL_VALUE_LDEXP, REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX,
- 	REAL_VALUE_RNDZINT, REAL_VALUE_UNSIGNED_RNDZINT,
- 	REAL_INFINITY, REAL_VALUE_NEGATE, REAL_VALUE_TRUNCATE,
- 	REAL_VALUE_TO_INT, or REAL_VALUE_FROM_INT.
- 
- 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* 1750a.h, a29k.h, alpha.h, arc.h, arm.h, avr.h, c4x.h, clipper.h,
- 	convex.h, cris.h, d30v.h, dsp16xx.h, elxsi.h, fr30.h, h8300.h,
- 	i370.h, i386.h, i860.h, i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h,
- 	m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
- 	pa.h, pdp11.h, pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h,
- 	stormy16.h, v850.h, vax.h, we32k.h, xtensa.h (BITS_PER_WORD):
- 	Delete.
- 	* defaults.h (BITS_PER_WORD): Define.
- 	* doc/tm.texi (BITS_PER_WORD): Document default value.
- 
- 	* 1750a.h, avr.h, convex.h, d30v.h, dsp16xx.h, fr30.h, ia64.h,
- 	m68hc11.h, m88k.h, mips.h, pdp11.h, rs6000.h, sparc.c,
- 	stormy16.h, xtensa.h, vmsdbgout.c (CHAR_TYPE_SIZE): Delete.
- 
- 2002-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* attribs.c (init_attributes, decl_attributes): Use ARRAY_SIZE in
- 	lieu of explicit sizeof/sizeof.
- 	* i386.c (override_options, ix86_init_mmx_sse_builtins,
- 	ix86_expand_builtin): Likewise.
- 	* mips.c (mips_add_gc_roots): Likewise.
- 	* mmix.c (mmix_output_condition): Likewise.
- 	* rs6000.c (rs6000_override_options, altivec_expand_builtin,
- 	altivec_init_builtins): Likewise.
- 	* sparc.c (mark_ultrasparc_pipeline_state): Likewise.
- 	* cppexp.c (Nsuff, parse_number): Likewise.
- 	* cppinit.c (builtin_array_end): Likewise.
- 	* gcc.c (n_default_compilers, process_command): Likewise.
- 	* genpreds.c (output_predicate_decls): Likewise.
- 	* ggc-page.c (NUM_EXTRA_ORDERS): Likewise.
- 	* lcm.c (N_ENTITIES): Likewise.
- 	* stor-layout.c (set_sizetype): Likewise.
- 
- 2002-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_decl_compilation): Do not invoke make_decl_rtl
- 	for types or labels.
- 
- 2002-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (start_decl): Initialized variables are not common.
- 
- 2002-03-02  Per Bothner  <per@bothner.com>
- 
- 	* gcc.c (option_map):  Suport new --bootclasspath option.
- 	--CLASSPATH is now just an alias for --classpath.
- 
- 2002-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (ix86_expand_prologue): Do not emit pic register
- 	load if "internal" visibility.
- 	* doc/extend.texi: Document visibility meanings.
- 
- 2002-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (ENCODE_SECTION_INFO): MODULE_LOCAL_P applies
- 	to functions as well.
- 
- 2002-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* attribs.c (handle_alias_attribute): Don't call assemble_alias.
- 	(handle_visibility_attribute): Don't call assemble_visibility.
- 	* toplev.c (rest_of_decl_compilation): Invoke make_decl_rtl even
- 	without asmspec.  Invoke assemble_alias when needed.
- 	* varasm.c (maybe_assemble_visibility): New.
- 	(assemble_start_function, assemble_variable, assemble_alias): Use it.
- 
- 2002-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (make_decl_rtl): Remove call to REDO_SECTION_INFO_P;
- 	invoke ENCODE_SECTION_INFO with first call flag.
- 
- 	* config/darwin-protos.h, config/darwin.c, config/darwin.h,
- 	config/a29k/a29k.h, config/alpha/alpha-protos.h, config/alpha/alpha.c,
- 	config/alpha/alpha.h, config/arc/arc.h, config/arm/arm-protos.h,
- 	config/arm/arm.h, config/arm/pe.c, config/arm/pe.h,
- 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
- 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
- 	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
- 	config/d30v/d30v.h, config/h8300/h8300.h, config/i370/i370.h,
- 	config/i386/cygwin.h, config/i386/i386-interix.h, config/i386/i386.h,
- 	config/i386/osfrose.h, config/i386/win32.h, config/i386/winnt.c,
- 	config/ia64/ia64-protos.h, config/ia64/ia64.c, config/ia64/ia64.h,
- 	config/m32r/m32r-protos.h, config/m32r/m32r.c, config/m32r/m32r.h,
- 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
- 	config/m68hc11/m68hc11.h, config/m88k/m88k.h,
- 	config/mcore/mcore-protos.h, config/mcore/mcore.c,
- 	config/mcore/mcore.h, config/mips/mips.h, config/ns32k/ns32k.h,
- 	config/pa/pa.h, config/romp/romp.h, config/rs6000/linux64.h,
- 	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
- 	config/rs6000/sysv4.h, config/rs6000/xcoff.h, config/s390/s390.h,
- 	config/sh/sh.h, config/sparc/sparc.h,
- 	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
- 	config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vms.h,
- 	config/xtensa/xtensa.h, doc/tm.texi: ENCODE_SECTION_INFO now takes
- 	FIRST argument.  As needed, examine it and do nothing.
- 
- 	* config/darwin.h, config/alpha/alpha.h, config/arm/pe.h,
- 	config/i386/cygwin.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
- 	config/mcore/mcore.h: Remove REDO_SECTION_INFO_P.
- 
- 	* config/arm/t-pe (pe.o): Add dependencies.
- 
- 2002-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* a29k.h, alpha.h, arc.h, arm.h, avr.h, clipper.h, convex.h,
- 	cris.h, d30v.h, elxsi.h, fr30.h, h8300.h, i370.h, i386.h, i860.h,
- 	i960.h, ia64.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h,
- 	mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pdp11.h,
- 	pj.h, romp.h, rs6000.h, s390.h, sh.h, sparc.h, stormy16.h, v850.h,
- 	vax.h, we32k.h, xtensa.h: (BITS_PER_UNIT): Delete.
- 	* defaults.h (BITS_PER_UNIT): Define.
- 	* doc/tm.texi (BITS_PER_UNIT): Document default value.
- 
- 2002-03-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	compute_a_shift_length.
- 	* config/h8300/h8300.c (h8300_asm_insn_count): New.
- 	(compute_a_shift_length): Likewise.
- 	(h8300_adjust_insn_length): Do not adjust insn length of shift
- 	insns.
- 	* config/h8300/h8300.md (anonymous shift patterns): Use
- 	compute_a_shift_length.
- 
- Sat Mar  2 06:30:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Use
- 	trunc_int_for_mode.
- 
- 	* emit-rtl.c (offset_address): Call update_temp_slot_address.
- 
- 2002-03-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-zero-initialized-in-bss.
- 	* doc/invoke.texi (-fno-zero-initialized-in-bss): Document.
- 	* flags.h (flag_zero_initialized_in_bss): Declare.
- 	* toplev.c (flag_zero_initialized_in_bss): New flag.
- 	(lang_independent_options): Add flag_zero_initialized_in_bss.
- 	* tree.c (initializer_zerop): New function.
- 	* tree.h (initializer_zerop): Declare.
- 	* varasm.c (assemble_variable): If we can emit bss, put zero
- 	initializers in the bss section.
- 
- 2002-03-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): AIX assembler doesn't
- 	like more than one symbol per .weak directive.
- 
- 2002-03-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_initial_elimination_offset): Do not
- 	adjust argument_pointer by pretend_args_size.
- 	(ia64_va_start): Adjust va_start address by -pretend_args_size.
- 
- 2002-03-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Clean up.
- 
- Fri Mar  1 20:59:14 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Delete dead jumptables before
- 	loop.
- 	* flow.c (delete_dead_jumptables): Make global.
- 	* rtl.h (delete_dead_jumptables): Declare.
- 
- 2002-03-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (HANDLE_PRAGMA_PACK): Delete.
- 	* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Define.
- 	* config/rs6000/xcoff.h (COLLECT_EXPORT_LIST): Delete.
- 
- 2002-03-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Fix formatting.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 
- 2002-03-01  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (print_operand): Support 16-bit
- 	constant addresses.
- 	* config/h8300/h8300.h (TINY_CONSTANT_ADDRESS_P): New.
- 
- 2002-02-28  Richard Henderson  <rth@redhat.com>
- 
- 	* expmed.c (store_bit_field): Prevent generation of CONCATs;
- 	pun complex values as integers; use gen_lowpart instead of
- 	gen_rtx_SUBREG.
- 	(extract_bit_field): Likewise.
- 
- 2002-03-01  Alan Modra  <amodra@bigpond.net.au>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/tm.texi (ASM_WEAKEN_DECL): Document.
- 	(ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL.
- 	(SUPPORTS_WEAK): Likewise.
- 	* output.h (add_weak): Add tree param.
- 	* varasm.c (add_weak): Likewise.  Save decl.
- 	(struct weak_syms): Add decl field.
- 	(mark_weak_decls): New function.
- 	(init_varasm_once): ggc_add_root mark_weak_decls.
- 	(assemble_start_function): Use ASM_WEAKEN_DECL.
- 	(assemble_variable): Likewise.
- 	(assemble_alias): Likewise.
- 	(declare_weak): Pass decl to add_weak.
- 	(weak_finish): Use ASM_WEAKEN_DECL. Try to find decl.
- 	(remove_from_pending_weak_list): Declare and define for
- 	ASM_WEAKEN_DECL.
- 	* c-pragma.c (handle_pragma_weak): Adjust add_weak call.
- 	* c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too.
- 	* defaults.h (SUPPORTS_WEAK): Likewise.
- 	* config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
- 	.weak for code sym.  Do emit .size for descriptor sym.
- 	(ASM_DECLARE_FUNCTION_SIZE): Define.
- 	* config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define.
- 	(ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here.  Don't output
- 	.lglobl unless TARGET_XCOFF.  Formatting fixes.
- 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit
- 	.weak for code sym.
- 	(HANDLE_PRAGMA_WEAK): Remove.
- 	(ASM_WEAKEN_LABEL): Remove.
- 	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define.
- 
- 2002-03-01  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (TARGET_EXPR_SLOT, TARGET_EXPR_INITIAL): New macros.
- 	(TARGET_EXPR_CLEANUP): New macro.
- 
- 2002-02-28  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* doc/rtl.texi (SUBREG_PROMOTED_UNSIGNED_P): Change definition
- 	to take ptr_extend into account as third type of extension.
- 	(SUBREG_PROMOTED_UNSIGNED_SET): Definition of new macro to set bit
- 	fields used by SUBREG_PROMOTED_UNSIGNED_P.
- 	* rtl.h (SUBREG_PROMOTED_UNSIGNED_SET): New macro.
- 	(SUBREG_PROMOTED_UNSIGNED_P): Change to return -1 as well as 0 or 1.
- 	* calls.c (precompute_arguments): Use new macro.
- 	(expand_call): Ditto.
- 	* combine.c (nonzero_bits): Ditto.
- 	(record_promoted_value): Ditto.
- 	* expr.c (store_expr): Ditto.
- 	(expand_expr): Ditto.
- 	* function.c (assign_parms): Ditto.
- 
- 2002-02-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcc.c (init_gcc_specs): Get -static and -static-libgcc to
- 	override -shared and -shared-libgcc.
- 
- 2002-02-28  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (sparc64-*-freebsd): Explicitly accept a cpu specification
- 	of "ultrasparc".
- 	* config/sparc/freebsd.h: Do not use MASK_FASTER_STRUCTS.  It appears
- 	to be broken.
- 
- 2002-02-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_adjust_cost): All non-MM consumers have
- 	4 cycle latency from MM producers.
- 	(ia64_internal_sched_reorder): Likewise with pipeline flush.
- 
- 2002-02-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* mklibgcc.in: Don't use GNU make extension.
- 
- 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-parse.in (STATIC): New terminal.
- 	(scspec): New non-terminal.  Update productions accordingly.
- 	(program): Remove bogus ifc / end ifc.
- 	(array_declarator): Simplify production using STATIC.
- 
- 2002-02-28  Jim Meyering  <meyering@lucent.com>
- 
- 	* cpplex.c (cpp_parse_escape): Restore mistakenly-removed code:
- 	\a still means TARGET_BELL.
- 
- 2002-02-28  Richard Henderson  <rth@redhat.com>
- 
- 	* haifa-sched.c (sched_emit_insn): New.
- 	(schedule_block): Use last_scheduled_insn to track last insn.
- 	* sched-int.h (sched_emit_insn): Prototype.
- 	* config/ia64/ia64.c (last_issued): Remove.
- 	(ia64_variable_issue): Don't set it.
- 	(nop_cycles_until): Use sched_emit_insn.
- 
- 2002-02-28  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc64_initialize_trampoline): Generate sign
- 	extended constants.
- 
- 2002-02-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Fix formatting.
- 	* config/h8300/h8300.h: Likewise.
- 
- 2002-02-28  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_hard_regno_mode_ok): Do not allow r29
- 	which may overwrite the high byte of the frame pointer.
- 
- 2002-02-28  Bo Thorsen  <bo@suse.de>
- 
- 	* config/i386/linux64.h (LINK_SPEC): Fix 32/64 bit compilation.
- 	(STARTFILE_SPEC): Add 64 bit files.
- 	(ENDFILE_SPEC): Likewise.
- 
- 2002-02-28  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (finish_function): Only warn about missing return
- 	statement with -Wreturn-type.
- 
- Don Feb 28 11:24:30 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (purge_dead_edges): Fix handling of EH edges.
- 
- 	* i386.h (CONDITIONAL_REGISTER_USAGE): Do not write to
- 	PIC_OFFSET_TABLE_REGNUM when it is INVALID_REGNUM
- 
- Don Feb 28 11:07:36 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (BB_REACHABLE): Renumber.
- 	(BB_DIRTY, BB_NEW): New flags.
- 	(clear_bb_flags): Declare.
- 	(update_life_info_in_dirty_blocks): Declare.
- 	* cfg.c (clear_bb_flags): New function.
- 	* cfgrtl.c (create_basic_block_structure): Set flags to BB_NEW.
- 	* emit-rtl.c (add_insn_after, add_insn_before, remove_insn,
- 	reorder_insns, emit_insn_after): Mark block as dirty.
- 	* flow.c (update_life_info): Fix clearing of PROP_LOG_LINKS.
- 	(update_life_info_in_dirty_blocks): New function.
- 	* recog.c (apply_change_group): Dirtify block.
- 
- 	* cse.c (cse_insn): Reorder emitting of jump insn to keep
- 	cfg consistent.
- 	* gcse.c (delete_null_pointer_checks): Likewise.
- 
- 	* toplev.c (dump_file_index): Move cse2 after bp,
- 	add DFI_null
- 	(dump_file_info): Similary.
- 	(rest_of_compilation): Avoid most of CFG rebuilds;
- 	do first if converision after null pointer checks, do cse2
- 	after branch prediction; avoid full liveness rebuild after
- 	initializing subregs.
- 	* invoke.texi (-d options): Document -du, renumber.
- 
- 	* cfgcleanup.c (bb_flags): Remove BB_UPDATE_LIFE.
- 	(notice_new_block): Do not set BB_UPDATE_LIFE.
- 	(try_forward_edges, merge_blocks_move_predecessor_nojumps,
- 	 merge_blocks_move_successor_nojumps, merge_blocks,
- 	 try_crossjump_to_edge): Likewise.
- 	(try_optimize_cfg): Likewise; use update_life_info_in_dirty_blocks.
- 	* cfgrtl.c (merge_blocks_nomove): Copy b's flags to a.
- 	* ifcvt.c (SET_UPDATE_LIFE, UPDATE_LIFE): Kill.
- 	(merge_of_block): Do not use life_data_ok.
- 	(find_if_case_1): Do not use SET_UPDATE_LIFE.
- 	(if_convert): Use BB_DIRTY mechanizm to update life.
- 	* lcm.c (optimize_mode_switching): Update
- 	update_life_info_in_dirty_blocks
- 
- 2002-02-28  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* Makefile.in (integrate.o): Update.
- 	* c-decl.c (copy_lang_decl): Rename.
- 	* c-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
- 	* integrate.c: Include langhooks.h.
- 	(copy_decl_for_inlining): Update to use langhook.
- 	* langhooks-def.h (lhd_do_nothing_t,
- 	LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): New.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_do_nothing_t): New.
- 	* langhooks.h (struct lang_hooks): Add dup_lang_specific_decl.
- 	* tree.h (copy_lang_decl): Remove.
- objc:
- 	* objc-lang.c (LANG_HOOKS_DUP_LANG_SPECIFIC_DECL): Redefine.
- 
- 2002-02-27  Andrew MacLeod  <amacleod@redhat.com>
- 
- 	* dwarf2out.c (stack_adjust_offset): Add support for POST_INC,
- 	POST_DEC, and POST_MODIFY.
- 
- 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-typeck.c (digest_init): Remove unused parameter; all
- 	callers changed.
- 
- 2002-02-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* expmed.c (expand_shift): Correctly test for low part of a
- 	subreg.
- 
- 2002-02-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_chunkify_pool): Do not confuse
- 	insn UIDs with insn addresses.
- 
- 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in,
- 	c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h,
- 	cppmacro.c, objc/lang-specs.h, objc/objc-act.c,
- 	builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c,
- 	gcc.c, toplev.c: Delete code implementing -traditional mode.
- 
- 	* doc/bugreport.texi, doc/cpp.texi, doc/extend.texi,
- 	doc/invoke.texi, doc/standards.texi, doc/trouble.texi:
- 	Document removal of -traditional mode for compilation, and
- 	remove documentation only relevant to that mode.
- 
- 	* config/nextstep.h, config/ptx4.h, config/svr4.h,
- 	config/convex/convex.h, config/d30v/d30v.h,
- 	config/i386/dgux.h, config/i386/osf1elf.h,
- 	config/i386/osfelf.h, config/i386/osfrose.h,
- 	config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h,
- 	config/m68k/hp310.h, config/m88k/dgux.h,
- 	config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c,
- 	config/m88k/m88k.h, config/m88k/openbsd.h,
- 	config/mips/abi64.h, config/mips/osfrose.h,
- 	config/mips/svr4-5.h, config/mips/svr4-t.h,
- 	config/sparc/sol2-sld-64.h, config/sparc/sol2.h,
- 	config/stormy16/stormy16.h: Remove all references to
- 	-traditional from target specs.  Delete all mention of the
- 	no-longer-necessary TRADITIONAL_RETURN_FLOAT macro.  Also
- 	delete a couple of commented-out definitions of
- 	DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring
- 	to -traditional.
- 
- 	* system.h: Poison TRADITIONAL_RETURN_FLOAT.
- 	* doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro.
- 
- 2002-02-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mklibgcc.in: Don't use \n in a line subject to
- 	interpretation by echo.
- 
- 2002-02-27  Graham Stott  <grahams@redhat.com>
- 
- 	* config/rs6000/rs6000.h (ASM_OUTPUT_DEF_FROM_DELC):
- 	Constify NAME.
- 
- 	* loop.c (prescan_loop): Handle PARALLEL.
- 
- 	* unroll.c (loop_iterations): Return 0 if the add_val for
- 	a BIV is REG.
- 
- 	* final.c (output_operand_lossage): Constify PFX_STR.
- 
- 	* df.c (df_insn_refs_record): Use XEXP (x, 0) for USE.
- 
- Wed Feb 27 10:45:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove.
- 	* x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Allways define.
- 
- Wed Feb 27 10:39:20 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* linux64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
- 
- 2002-02-27  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (_cpp_lex_token): Handle directives in macro
- 	arguments.
- 	* cpplib.c (_cpp_handle_directive): Save and restore state
- 	if parsing macro args when entering a directive.
- 	* cppmacro.c (collect_args): No need to handle directives
- 	in macro arguments.
- 	(enter_macro_context, replace_args): Use the original macro
- 	definition in case it was redefined whilst collecting arguments.
- doc:
- 	* cpp.texi: Update.
- 
- 2002-02-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix43.h (THREAD_MODEL_SPEC): Delete.
- 	* config/rs6000/aix51.h (THREAD_MODEL_SPEC): Delete.
- 	* config/rs6000/rs6000.c (rs6000_return_addr): Use efficient
- 	method on AIX.
- 	* config/rs6000/rs6000.md (movsi_low): Use gpc_reg_operand.
- 	(movsi_low_st, movdf_low, movdf_low_st, movsf_low, movsf_low_st): Same.
- 	(load_toc_v4_PIC_2): Same.
- 
- 2002-02-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (load_toc_aix_di): Handle TARGET_RELOCATABLE.
- 
- 2002-02-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (ashldi_se): Re-enable.
- 
- 2002-02-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_encode_section_info): Examine
- 	MODULE_LOCAL_P; improve commentary.
- 
- 2002-02-26  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/cpp.texi: Clarify documentation of relationship between
- 	#line and #include.
- 
- 2002-02-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	compute_logical_op_length.  Add the prototype for
- 	compute_logical_op_cc.
- 	* config/h8300/h8300.c (compute_logical_op_length): Figure out
- 	code from operands.
- 	(compute_logical_op_cc): New.
- 	* config/h8300/h8300.md: Combine all the logical op patterns
- 	in HImode and SImode.  Use compute_logical_op_cc.
- 
- 2002-02-26  Kelley Cook  <kelleycook@comcast.net>
- 
- 	* config/i386/i386.c (print_operand): Don't append ATT-style
- 	length suffixs to x87 opcodes when in Intel mode.
- 
- 2002-02-26  Ryan T. Sammartino <ryants@shaw.ca>
- 
- 	* emit-rtl.c (gen_const_vector_0): Remove TYPE argument.
- 	(init_emit_once): Update calls.
- 	* fixinc/gnu-regex.c (_GNU_SOURCE): Remove.
- 	(init_syntax_once): Prototype.
- 
- 2002-02-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (LIB_SPEC): Update definition.
- 	* pa32-linux.h (LINK_COMMAND_SPEC): Delete.
- 
- 2002-02-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (nop_cycles_until): Do init_insn_group_barriers
- 	if we emitted a stop bit.
- 
- 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (libgcc_visibility): Substitute.
- 	* configure: Rebuilt.
- 	* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
- 	defined symbols .hidden.
- 
- 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* attribs.c (c_common_attribute_table): Add visibility.
- 	(handle_visibility_attribute): New function.
- 	* varasm.c (assemble_visibility): New function.
- 	* output.h (assemble_visibility): Add prototype.
- 	* tree.h (MODULE_LOCAL_P): Define.
- 	* crtstuff.c (__dso_handle): Use visibility attribute.
- 	* config/i386/i386.h (ENCODE_SECTION_INFO): Set SYMBOL_REF_FLAG
- 	for MODULE_LOCAL_P symbols too.
- 	* config/ia64/ia64.c (ia64_encode_section_info): Handle
- 	MODULE_LOCAL_P symbols the same way as local symbols.
- 	Add SDATA_NAME_FLAG_CHAR even if decl was explicitely forced
- 	into .sdata/.sbss by the user.
- 	* doc/extend.texi (Function Attributes): Document visibility
- 	attribute.
- 
- 2002-02-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR debug/5770
- 	* dwarf2out.c (rtl_for_decl_location): Return CONST_STRING for
- 	STRING_CST initializer spanning the whole variable without
- 	embedded zeros.
- 	If expand_expr returned MEM, don't use it.
- 
- 2002-02-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* dwarf2out.c (gen_inlined_subroutine_die): If block is abstract,
- 	generate a die for the lexical block.
- 
- 2002-02-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	compute_logical_op_length.
- 	* config/h8300/h8300.c (compute_logical_op_length): New.
- 	* config/h8300/h8300.md (anonymous logical patterns): Use
- 	compute_logical_op_length for length.
- 
- 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* dwarf2out.c (modified_type_die): Do not call type_main_variant
- 	for vectors.
- 	(gen_type_die): Same.
- 
- 	* attribs.c (handle_vector_size_attribute): Set debug information.
- 
- 2002-02-26  Daniel Egger  <degger@fhm.edu>
- 
- 	* config/rs6000/rs6000.md: Swap define_insn attributes to
- 	fix incorrect generation of merge high instructions instead
- 	of merge low.
- 
- 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-typeck.c (really_start_incremental_init): Use
- 	bitsize_zero_node for vectors.
- 
- 2002-02-26  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (get_vrsave_internal): Fix typo.
- 	("*set_vrsave_internal"): Same.
- 
- 2002-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr) [MULT_EXPR]: Do not apply distributive law
- 	in EXPAND_SUM case.  Use host_integerp/tree_low_cst.
- 
- 2002-02-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/5755
- 	* config/i386/i386.c (ix86_return_pops_args): Only pop
- 	fake structure return argument if it was passed on the stack.
- 
- 2002-02-25  Jason Merrill  <jason@redhat.com>
- 
- 	* attribs.c (decl_attributes): Also re-layout PARM_DECL and
- 	RESULT_DECL.
- 
- 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* gcc.c (init_gcc_specs): Get -shared-libgcc along with -shared to
- 	link with shared_name only.
- 	* doc/invoke.texi (Link Options): Document new behavior.
- 
- 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-typeck.c (push_init_level): Handle vectors.
- 
- 2002-02-25  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sparc/sparc.c (const64_high_operand): Zero-extend
- 	operands of SPARC_SETHI_P.
- 	(input_operand): Likewise.
- 	(sparc_emit_set_const32): Likewise.
- 	* config/sparc/sparc.h (SPARC_SETHI_P): Disregard TARGET_ARCH64.
- 	(SPARC_SETHI32_P): Zero-extend operand from 32 bits.
- 	(CONST_OK_FOR_LETTER_P): Use SETHI32 for `K'.  Add `N' as SETHI.
- 	* config/sparc/sparc.md (movdi_insn_sp64_novis): Use `N'.
- 	(movdi_insn_sp64_vis): Likewise.
- 	(movdi split, movdf split): Use SETHI32.
- 	* doc/md.texi: Document SPARC constraints L, M and N.
- 
- 2002-02-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("get_vrsave_internal"): New.
- 	("*set_vrsave_internal"): use mfspr for Darwin.
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Call
- 	gen_get_vrsave_internal.
- 
- Sun Feb 24 16:38:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* optabs.c (widen_operand): Properly handle CONST_INT for NO_EXTEND.
- 
- 2002-02-24  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplex.c (cpp_interpret_charconst): Get signedness or
- 	otherwise of wide character constants correct.
- 	* cppexp.c (lex): Get signedness of wide charconsts correct.
- 
- Sun Feb 24 07:41:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* optabs.c (widen_operand): Only call convert_modes for
- 	promoted SUBREG if signedness matches.
- 	* config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
- 
- 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpplib.c (glue_header_name): Use local buffer to build up
- 	header name.
- 
- 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cpp.texi, doc/invoke.texi: Update documentation for -MM.
- 
- 2002-02-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (output_simode_bld): Handle H8/300 and
- 	H8/300[HS] separately.
- 	* config/h8300/h8300.md: Remove the early clobber constraint
- 	from bit field patterns.
- 
- 2002-02-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (mulqihi3): Tighten predicates to
- 	register_operand.
- 	(mulhisi3): Likewise.
- 	(umulqisi3): Likewise.
- 	(umulhisi3): Likewise.
- 
- 2002-02-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (output_deps): Correct test for stdout output.
- 	(init_dependency_output): Cure warning.
- 
- Sat Feb 23 08:42:47 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_expr): When converting expression to promoted
- 	equivalent type, allow using SUBREG_REG of TARGET as the target
- 	of the expansion of EXP.
- 	* loop.c (basic_induction_var, case SUBREG): Always look inside.
- 	* config/alpha/alpha.c (rtx_equiv_function_matters): Delete decl.
- 	(alpha_emit_set_const): Handle SImode when can't make new pseudos.
- 	(alpha_emit_set_const_1, alpha_sa_mask): Use no_new_pseudos.
- 	* config/alpha/alpha.md (addsi3, subsi3): Don't use if optimizing.
- 
- 2002-02-23  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/contribute.texi, doc/extend.texi, doc/install.texi,
- 	doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi,
- 	doc/standards.texi, doc/tm.texi: Remove trailing whitespace.
- 
- 2002-02-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5747
- 	* loop.c (scan_loop): Update reg info if move_movables created new
- 	pseudos.
- 
- 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* gcc.c (init_gcc_spec): Revert last change.
- 
- 2002-02-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Use
- 	gpc_reg_operand constraint.
- 
- 2002-02-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (num_insns_constant): Fix formatting.
- 	Simplify comparison of `low'.
- 	(add_operand): Fix formatting.
- 	(non_add_cint_operand): Use CONST_OK_FOR_LETTER_P.
- 	(mask_operand): Disallow mask to wrap in 64-bit mode.
- 	(rs6000_stack_info): Remove redundant test setting push_p.
- 	(output_toc): Fix formatting.
- 	* config/rs6000/rs6000.md (boolsi3, boolcsi3 splitters): Use
- 	cc_reg_not_cr0_operand constraint.
- 	(booldi3, boolcdi3 splitters): Same.
- 
- 2002-02-23  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Add extra level of parentheses on casts.
- 
- 2002-02-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* gcc.c (init_gcc_spec): Do not link with static libgcc.a if
- 	gcc invoked with -shared-libgcc.
- 
- 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/5748
- 	* stmt.c (expand_anon_union_decl): Set TREE_USED on the anon union
- 	decl if any of elements was TREE_USED.
- 
- 2002-02-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sparc/sol2.h: Don't include sys/mman.h.
- 	* config/sparc/sparc.c (arith_operand): Use SMALL_INT32.
- 	(arith_4096_operand): Don't throw high bits away.
- 	(const64_operand): Take sign extension of CONST_INTs into account.
- 	(const64_high_operand, sparc_emit_set_const32): Likewise.
- 	(GEN_HIGHINT64): Likewise.
- 	(sparc_emit_set_const64_quick1): Likewise.
- 	(const64_is_2insns): Likewise.
- 	(print_operand): Use trunc_int_for_mode for sign extension.
- 	* config/sparc/sparc.h (SMALL_INT32): Likewise.
- 	* config/sparc/sparc.md (movqi): Sign-extend CONST_DOUBLE
- 	chars.  Assume CONST_INT is already properly sign-extended.
- 	(movdi split): Sign-extend each SImode part.
- 	(andsi3 split): Don't mask high bits off, so that result
- 	remains properly sign-extend.
- 	(iorsi3 split): Likewise.
- 	(xorsi3 split): Likewise.
- 
- 2002-02-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* fold-const.c (fold): Fix typo in comments.
- 
- 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* Makefile.in (langhooks.o): Update dependencies.
- 
- 2002-02-21  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* langhooks.c: Include flags.h.
- 
- 2002-02-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/gcc.dg/attr-alwaysinline.c: New.
- 
- 	* c-common.c (c_common_post_options): Set inline trees by
- 	default.
- 
- 	* doc/extend.texi (Function Attributes): Document always_inline
- 	attribute.
- 	Update documentation about inlining when not optimizing.
- 
- 	* cp/decl.c (duplicate_decls): Merge always_inline attribute.
- 
- 	* cp/tree.c (cp_cannot_inline_tree_fn): Do not inline at -O0
- 	unless DECL_ALWAYS_INLINE.
- 
- 	* c-objc-common.c (c_cannot_inline_tree_fn): Do not inline at -O0
- 	unless DECL_ALWAYS_INLINE.
- 	(c_disregard_inline_limits): Disregard if always_inline set.
- 
- 	* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
- 	Disregard if always_inline set.
- 	(lhd_tree_inlining_cannot_inline_tree_fn): Do not inline at -O0
- 	unless DECL_ALWAYS_INLINE.
- 
- 	* attribs.c (handle_always_inline_attribute): New.
- 	(c_common_attribute_table): Add always_inline.
- 
- 	* config/rs6000/altivec.h: Add prototypes for builtins
- 	requiring the always_inline attribute.
- 
- 2002-02-21  Eric Christopher  <echristo@redhat.com>
- 
- 	* expmed.c (store_bit_field): Try to simplify the subreg
- 	before generating a new one when when the mode size of
- 	value is less than maxmode.
- 
- 2002-02-21  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (offset_address): Use simplify_gen_binary rather
- 	than gen_rtx_PLUS to form the sum.
- 	* explow.c (force_reg): Rearrange to not allocate new pseudo
- 	when force_operand returns a register.
- 	* expr.c (expand_assignment): Allow offset_rtx expansion to
- 	return a sum.  Do not force addresses into registers.
- 	(expand_expr): Likewise.
- 	* simplify-rtx.c (simplify_gen_binary): Use simplify_plus_minus
- 	to canonicalize arithmetic that didn't simpify.
- 	(simplify_plus_minus): New argument force; update
- 	all callers.  Don't split CONST unless we can do something with it,
- 	and wouldn't lose the constness of the operands.
- 
- 	* config/i386/i386.c (legitimize_pic_address): Recognize UNSPECs
- 	that we generated earlier.
- 
- 2002-02-21  Tom Tromey  <tromey@redhat.com>
- 
- 	* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
- 	(output_line_info): Use constant `1', with a long explanatory
- 	comment.
- 	* system.h (DWARF_LINE_MIN_INSTR_LENGTH): Poison.
- 
- Thu Feb 21 22:43:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* jump.c (redirect_jump): If old label has no UID, don't try to
- 	delete it.
- 
- Thu Feb 21 21:17:21 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (insv): Provide byte offsets for gen_rtx_SUBREG.
- 	If input is constant, do shifts at compile time.
- 
- 2002-02-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi: Fix some more overfull hboxes.
- 
- 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/4994
- 	* config/i386/i386.md (movsi_1, movsf_1): Support MMX -> MMX
- 	register moves.
- 
- 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/4574
- 	* expr.h (expand_and): Add mode argument.
- 	* expmed.c (expand_and): Add mode argument.
- 	(expand_mult_highpart_adjust, emit_store_flag): Adjust callers.
- 	* expr.c (store_field, expand_expr, do_store_flag): Likewise.
- 	* except.c (expand_builtin_extract_return_addr): Likewise.
- 	* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
- 	* config/sparc/sparc.c (sparc_initialize_trampoline): Likewise.
- 	* config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Likewise.
- 	Use GEN_INT (x) instead of gen_rtx (CONST_INT, VOIDmode, x).
- 	* config/c4x/c4x.md: Use GEN_INT (x) instead of
- 	gen_rtx (CONST_INT, VOIDmode, x).
- 
- 2002-02-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/4697:
- 	* stmt.c (warn_if_unused_value): Move side effects test once more.
- 
- 2002-02-20  Torbjorn Granlund  <tege@swox.com>
- 
- 	* config/avr/avr.md: Add more patterns for mized-mode add and subtract
- 	(addsi3_zero_extend, subhi3_zero_extend1, subsi3_zero_extend).
- 
- Thu Feb 21 16:20:46 2002  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* rtlanal.c (replace_rtx): Don't make a CONST_INT the operand of
- 	SUBREG or ZERO_EXTEND.
- 
- Thu Feb 21 15:35:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (current_function_anonymous_args): Remove.
- 	(SETUP_INCOMING_VARARGS): Don't set it - just check that one
- 	of current_function_varargs and current_function_stdarg is set.
- 	* sh.c (sh_expand_prologue): Check current_function_varargs /
- 	current_function_stdarg / TARGET_SH5 instead of
- 	current_function_anonymous_args.
- 
- 	* sh64.h (TARGET_VERSION): Define.
- 
- 2002-02-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (EPILOGUE_USES): Conditionalize
- 	VRSAVE_REGNO on TARGET_ALTIVEC.
- 
- 2002-02-20  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (includes_lshift_p): Mask irrelevant
- 	bits of SImode const_int.
- 	(includes_rshift_p): Likewise.
- 	(print_operand): Call mask_operand and mask64_operand with correct
- 	mode.
- 	(rs6000_output_function_epilogue): Pad traceback table to word.
- 	* config/rs6000/rs6000.h (MASK_64BIT): Correct comment.
- 	(EXTRA_CONSTRAINT, 'S' and 'T'): Call mask_operand and
- 	mask64_operand with correct mode.
- 	(FUNCTION_ARG_REGNO_P): Correct parentheses.
- 
- 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR debug/4461
- 	* varasm.c (get_pool_constant_mark): New.
- 	* rtl.h (get_pool_constant_mark): Add prototype.
- 	* dwarf2out.c (mem_loc_descriptor): A pool constant cannot
- 	be represented if it has not been output.
- 
- 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (do_SUBST): Sanity check substitutions of
- 	CONST_INTs, and reject them in SUBREGs and ZERO_EXTENDs.
- 	(subst): Simplify SUBREG or ZERO_EXTEND instead of SUBSTing a
- 	CONST_INT into its operand.
- 	(known_cond): Likewise, for ZERO_EXTEND.
- 	* simplify-rtx.c (simplify_unary_operation): Fix condition to
- 	allow for simplification of wide modes.  Reject CONST_INTs in
- 	ZERO_EXTEND when their actual mode is not given.
- 
- 2002-02-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-decl.c (pushdecl): If no global declaration is found for an
- 	extern declaration in block scope, try a limbo one.
- 
- 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/4401
- 	* c-common.c (pointer_int_sum): Moved from...
- 	* c-typeck.c (pointer_int_sum): ...here.
- 	* c-common.h (pointer_int_sum): Add prototype.
- 
- 2002-02-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c++/5713
- 	* c-decl.c (duplicate_decls): Return 0 if issued error about
- 	redeclaration.
- 
- 2002-02-20  Roger Sayle  <roger@eyesopen.com>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/4389
- 	* tree.c (host_integerp): Ensure that the constant integer is
- 	representable in a HOST_WIDE_INT or an unsigned HOST_WIDE_INT
- 	when pos is zero or nonzero respectively.  Clarify comment.
- 	* c-format.c (check_format_info_recurse): Fix host_integerp
- 	usage; the pos argument should be zero when assigning to a
- 	signed HOST_WIDE_INT.
- 
- 2002-02-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_vector_move): Use the mode
- 	of the operand, rather than assuming TImode.
- 	(ix86_expand_binop_builtin): Cope with commutative patterns
- 	using nonimmediate_operand for both operands.
- 	(ix86_expand_timode_binop_builtin): Likewise.
- 	(ix86_expand_store_builtin): Validate operand 1.
- 	(ix86_expand_unop1_builtin): Likewise.
- 
- 2002-02-20  Philip Blundell  <philb@gnu.org>
- 
- 	PR 5705
- 	* config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
- 
- 2002-02-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5615
- 	* expr.h (ARGS_SIZE_TREE): Convert size.var to ssizetype.
- 
- 2002-02-20  Tom Tromey  <tromey@redhat.com>
- 
- 	* config/fr30/fr30.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
- 	* config/sh/sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
- 	* config/pj/pj.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
- 	* config/cris/cris.h (DWARF_LINE_MIN_INSTR_LENGTH): Removed.
- 	* dwarf2out.c (DWARF_LINE_MIN_INSTR_LENGTH): Define
- 	unconditionally.
- 
- Wed Feb 20 00:03:25 EST 2002 Alan Matsuoka <alanm@redhat.com>
- 
- 	* config/rs6000/rs6000.h (LEGITIMATE_OFFSET_ADDRESS_P): Look
- 	  for (const_int 0) in X not just INTVAL.
- 
- 2002-02-20  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi: Avoid or reduce overfull hboxes.
- 
- 2002-02-20  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* expmed.c (store_bit_field): Do not store bit fields using SUBREG
- 	operations if the field does not start at a mode boundary.
- 
- 2001-02-20	Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/a29k/rtems.h, config/arm/rtems-elf.h, config/h8300/rtems.h,
- 	config/mips/rtems.h: Use new style of -Asystem= rather than -Asystem().
- 	Also done for -Acpu and -Amachine.
- 
- 2002-02-20  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppinit.c (init_dependency_output): Take deps output file
- 	from -o if none given with -MF.  Suppress normal output.
- 	* gcc.c (cpp_unique_options): Have -M and -MM imply -E.
- 	* doc/cpp.texi, doc/invoke.texi: Update.
- 
- 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* toplev.c (output_quoted_string): Write unprintable
- 	characters with octal escapes.
- 
- 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Set
- 	really_call_used[VRSAVE_REGNO] if not Altivec.
- 
- 2002-02-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (u_short_cint_operand): Mask op with
- 	MODE_MASK.
- 	(constant_pool_expr_1): Fix formatting.
- 	(rs6000_legitimize_reload_address): Likewise.
- 
- Tue Feb 19 20:13:57 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/sparc/sparc.md (nonlocal_goto): Use hard_frame_pointer_rtx
- 	now that we have one.
- 
- 2002-02-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h (struct tree_common): Remove aux.  Add unused_0 at
- 	end of first block of bitfields (which was only seven bits);
- 	rename dummy to unused_1; remove comment which is no longer true.
- 
- 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
- 
- 	* doc/c-tree.texi (Classes, TYPE_BINFO): Fix typo.
- 
- 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
- 
- 	PR 5399
- 	* config/arm/arm.h (THUMB_LEGITIMATE_CONSTANT_P): Accept anything
- 	if generating PIC.
- 
- 	PR 5054
- 	* config/arm/arm.md (call_insn) [TARGET_THUMB]: Use
- 	arm_is_longcall_p rather than inspecting call-type cookie
- 	directly.
- 	(call_value_insn) [TARGET_THUMB]: Likewise.
- 
- 2002-02-19  Graham Stott  <grahams@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_builtin): Fix typo.
- 
- 2002-02-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC): Look in /lib64.
- 	({STARTFILE,ENDFILE}_LINUX_SPEC): Define.
- 	(FP_SAVE_INLINE): Delete.
- 
- 	* config/rs6000/sysv4.h (ENDFILE_SPEC): Add crtsaveres.o.
- 	* config/rs6000/eabi.asm: Remove ABI save restore routines.
- 	* config/rs6000/t-ppccomm: Build crtsavres.o.
- 	* config/rs6000/crtsavres.asm: New file.
- 
- 2002-02-19  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (use_return_insn): Don't reject interrupt
- 	functions.
- 	(arm_compute_save_reg_mask): Save LR for interrupt functions too.
- 	(output_return_instruction): Allow interrupt functions to return with
- 	ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
- 	(arm_expand_prologue): Subtract 4 before stacking LR in an
- 	interrupt function.
- 
- 2002-02-19  Philip Blundell  <pb@nexus.co.uk>
- 
- 	* config/arm/arm.c (arm_encode_call_attribute): Operate on any
- 	decl, not just FUNCTION_DECL.
- 	(legitimize_pic_address): Handle local SYMBOL_REF like LABEL_REF.
- 	(arm_assemble_integer): Likewise.
- 	* config/arm/arm.h (ARM_ENCODE_CALL_TYPE): Allow any decl to be
- 	marked local.
- 
- 2002-02-19  matthew green  <mrg@eterna.com.au>
- 
- 	* config.gcc (sparc-*-netbsdelf*): Enable target.
- 	(sparc64-*-netbsd*): New target.
- 	* config/sparc/netbsd-elf.h: New file.
- 	* config/sparc/t-netbsd64: New file.
- 
- 2002-02-19  Gaute B Strokkenes <gs234@cam.ac.uk>
- 
- 	* doc/rtl.texi (Flags, MEM_SCALAR_P): Fix typo.
- 
- 2002-02-19  Ryan T. Sammartino <ryants@shaw.ca>
- 
- 	* doc/invoke.texi: explicitly list the style guidelines that
- 	-Weffc++ checks for.
- 
- Tue Feb 19 12:37:23 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* regmove.c (regmove_optimize): Avoid increasing of register pressure.
- 
- 2002-02-19  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR other/5718
- 	* gcc.c (cpp_unique_options): Treat -o as indicating object file
- 	only if not -E.  If -E, pass -o through to the preprocessor.
- 
- 2002-02-19  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (REGNO_REG_CLASS): Replace a literal
- 	register number with an appropriate macro.
- 
- 2002-02-19  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* doc/rtl.texi (Constants): Close @code tag.
- 
- 2002-02-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/i386/i386.md ("mmx_uavgv8qi3"): Use const_vector.
- 	("mmx_uavgv4hi3"): Same.
- 	("pmulhrwv4hi3"): Same.
- 
- 	* tree-inline.c (walk_tree): Handle vectors.
- 
- 	* c-common.c (constant_expression_warning): Handle vectors.
- 	(overflow_warning): Same.
- 
- 	* sched-deps.c (sched_analyze_2): Handle vectors.
- 
- 	* rtlanal.c (rtx_unstable_p): Handle vectors.
- 	(rtx_varies_p): Same.
- 	(count_occurrences): Same.
- 	(regs_set_between_p): Same.
- 	(modified_between_p): Same.
- 	(modified_in_p): Same.
- 	(volatile_insn_p): Same.
- 	(volatile_refs_p): Same.
- 	(side_effects_p): Same.
- 	(may_trap_p): Same.
- 	(inequality_comparisons_p): Same.
- 	(replace_regs): Same.
- 	(computed_jump_p_1): Same.
- 
- 	* rtl.c (DEF_MACHMODE): Change all definitions to accept 8th
- 	argument.
- 	(inner_mode_array): New.
- 	(copy_rtx): Handle vectors.
- 	(copy_most_rtx): Same.
- 	(rtx_equal_p): Same.
- 	(get_mode_alignment): Adjust for vectors.
- 
- 	* resource.c (mark_referenced_resources): Handle vectors.
- 	(mark_set_resources): Same.
- 
- 	* reload1.c (eliminate_regs): Handle vectors.
- 	(elimination_effects): Same.
- 	(scan_paradoxical_subregs): Same.
- 
- 	* reload.c (subst_reg_equivs): Handle vectors.
- 
- 	* regrename.c (scan_rtx): Handle vectors.
- 
- 	* regclass.c (reg_scan_mark_refs): Handle vectors.
- 
- 	* recog.c (find_single_use_1): Handle vectors.
- 
- 	* local-alloc.c (equiv_init_varies_p): Handle vectors.
- 	(contains_replace_regs): Same.
- 	(memref_referenced_p): Same.
- 
- 	* integrate.c (copy_rtx_and_substitute): Handle vectors.
- 	(subst_constants): Same.
- 
- 	* genattrtab.c (attr_copy_rtx): Handle vectors.
- 	(encode_units_mask): Same.
- 	(clear_struct_flag): Same.
- 	(count_sub_rtxs): Same.
- 
- 	* gcse.c (want_to_gcse_p): Handle vectors.
- 	(oprs_unchanged_p): Same.
- 	(hash_expr_1): Same.
- 	(oprs_not_set_p): Same.
- 	(expr_killed_p): Same.
- 	(compute_transp): Same.
- 	(store_ops_ok): Same.
- 
- 	* function.c (purge_addressof_1): Do not allow paradoxical subregs
- 	of vectors.
- 	(fixup_var_refs_1): Same.
- 	(instantiate_virtual_regs_1): Same.
- 
- 	* fold-const.c (operand_equal_p): Handle vectors.
- 	(fold): Same.
- 	(rtl_expr_nonnegative_p): Same.
- 
- 	* flow.c (mark_used_regs): Handle vectors.
- 
- 	* df.c (df_uses_record): Handle vectors.
- 
- 	* cselib.c (cselib_subst_to_values): Handle vectors.
- 	(cselib_mem_conflict_p): Same.
- 	(hash_rtx): Same.
- 
- 	* cse.c (canon_reg): Handle vectors.
- 	(fold_rt): Same.
- 	(cse_process_notes): Same.
- 	(count_reg_usage): Same.
- 	(canon_hash): Same.
- 
- 	* alias.c (nonlocal_mentioned_p): Add case for CONST_VECTOR.
- 
- 	* combine.c (mark_used_regs_combine): Add case for CONST_VECTOR.
- 
- 	* emit-rtl.c (init_emit_once): Generate const0_rtx for vectors.
- 	(gen_rtx): Handle CONST_VECTOR.
- 	(gen_const_vector_0): New.
- 	(copy_rtx_if_shared): CONST_VECTORs can be shared.
- 	(reset_used_flags): Same.
- 	(copy_insn_1): Same.
- 	(initializer_constant_valid_p): Handle VECTOR_CST.
- 
- 	* doc/c-tree.texi (Expression trees): Document VECTOR_CST.
- 
- 	* doc/rtl.texi (Constants): Document const_vector.
- 	(CONST0_RTX): Update for vectors.
- 	(RTL sharing): Same.
- 
- 	* print-tree.c (print_node): Add case for VECTOR_CST.
- 
- 	* tree.h (TREE_VECTOR_CST_ELTS): New.
- 	(struct tree_vector): New.
- 	(union tree_node): Add vector node.
- 	(build_vector): Add prototype.
- 
- 	* tree.def (VECTOR_CST): New.
- 
- 	* tree.c (build_vector): New.
- 
- 	* expmed.c (make_tree): Handle CONST_VECTOR.
- 
- 	* rtl.h (CONSTANT_P): CONST_VECTORs are constants too.
- 	(CONST_VECTOR_ELT): New.
- 	(CONST_VECTOR_NUNITS): New.
- 
- 	* machmode.h (GET_MODE_INNER): New.
- 	(DEF_MACHMODE): Accept 8th arg.
- 
- 	* machmode.def: Add 8th argument for vector inner mode.
- 	Add inner vector modes for vectors.
- 
- 	* rtl.def (VEC_CONST): Remove.
- 	(CONST_VECTOR): New.
- 
- 	* expr.c (clear_storage): Allow vectors.
- 	(is_zeros_p): Handle VECTOR_CST.
- 
- 	* varasm.c (output_constant_pool): Handle vectors.
- 	(rtx_const): Add veclo and vechi fields.
- 	(kind): Add RTX_VECTOR.
- 	(decode_rtx_const): Add case for vector.
- 
- 	* config/rs6000/rs6000-protos.h: Add zero_constant.
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Handle vector
- 	constants.  Force easy vector constants into memory.
- 	(easy_vector_constant): New.
- 	(emit_easy_vector_constant): New.
- 	(rs6000_legitimize_reload_address): Do not generate bad reloads on
- 	darwin.
- 
- 	* config/rs6000/rs6000.md ("altivec_lvx"): Reflect what
- 	instruction does.
- 	("altivec_lvxl"): Same.
- 	(altivec_lvebx): Same.
- 	(altivec_lvehx): Same.
- 	(altivec_lvewx): Same.
- 	("*movv4si_const0"): New.
- 	("*movv4sf_const0"): New.
- 	("*movv8hi_const0"): New.
- 	("*movv16qi_const0"): New.
- 
- 2002-02-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (notice_update_cc): Use
- 	cc_status.value2.
- 
- 2002-02-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (divmod patterns): Change the
- 	constraints for operands[1] to register_operand.
- 
- 2002-02-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Remove the prototype for
- 	p_operand.
- 	* config/h8300/h8300.c (p_operand): Remove.
- 	* config/h8300/h8300.md: Replace p_operand with
- 	const_int_operand.
- 
- 2002-02-18 Philip Blundell <pb@nexus.co.uk>
- 
- 	* config/arm/arm.c (arm_compute_save_reg_mask): Fix typo in
- 	comment.
- 	(output_return_instruction): Allow use of LDR to unstack
- 	return addresss even for interrupt handlers or when
- 	interworking.  If compiling for ARMv5, use interworking-safe
- 	return instructions by default.  Remove duplicated code and
- 	lengthy "strcat" sequences.
- 
- 2002-02-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/sysv4.h (STARTFILE_SPEC): Use crtbeginT.o for -static.
- 	(LINK_EH_SPEC): Define.
- 	* config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
- 
- 2002-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Do not set the
- 	frame_related flag for call-clobbered registers.
- 
- Mon Feb 18 15:07:35 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Properly classify SSE/MMX modes and VOIDmode.
- 	(construct_container): Fix handling of SSE operands.
- 	(ix86_expand_builtin): Fix handling of 64bit pointers.
- 	(mmx_maskmovq_rex): New pattern.
- 
- Mon Feb 18 11:55:55 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* regrename.c (kill_set_value): Handle subregs properly.
- 
- 2002-02-18  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* objc/objc-act.c (handle_impent): Remove leading '*'
- 	from objc_class_name.
- 
- 2002-02-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (some_small_symbolic_operand,
- 	some_small_symbolic_operand_1, split_small_symbolic_operand,
- 	split_small_symbolic_operand_1): Rename from *symbolic_mem_op*.
- 	Handle small SYMBOL_REFs anywhere, not just inside memories.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (small symbolic operand splitter): Update.
- 
- 2002-02-17  Roland McGrath  <roland@frob.com>
- 
- 	* config.gcc (powerpc-*-gnu-gnualtivec*,
- 	powerpc-*-gnu*, powerpc64-*-gnu*): New configurations.
- 	* config/rs6000/gnu.h: New file.
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS):
- 	Grok "gnu" in rs6000_abi_name.
- 	(ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC,
- 	CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC):
- 	Grok -mcall-gnu analogous to -mcall-linux et al.
- 	(LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
- 	LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): New macros.
- 	(SUBTARGET_EXTRA_SPECS): Add *_os_gnu specs using them.
- 
- 2002-02-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/3444:
- 	* c-typeck.c (build_binary_op) [BIT_XOR_EXPR]: Remove explicit
- 	shortening.
- 
- 2002-02-17  Philipp Thomas  <pthomas@suse.de>
- 
- 	* config/cris/cris.h: Undefine STARTFILE_SPEC and
- 	ENDFILE_SPEC before (re)defining them.
- 
- 2002-02-17  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Fix formatting.
- 	* config/h8300/h8300.h: Likewise.
- 
- 2002-02-17  Philipp Thomas  <pthomas@suse.de>
- 
- 	* doc/tm.texi: Explain why empty strings should not be
- 	marked for translation.
- 
- 2002-02-17  Philipp Thomas  <pthomas@suse.de>
- 
- 	* final.c (output_operand_lossage): Changed to accept
- 	printf style arguments. Change calls where necessary.
- 	* output.h (output_operand_lossage): Change declaration
- 	accordingly. Update copyright.
- 	* config/arc/arc.c config/fr30/fr30.c config/m32r/m32r.c
- 	config/m88k/m88k.c : Adapt all calls to output_operand_lossage.
- 	Update copyright date where necessary.
- 
- 	* config/i386/i386.c (print_operand): Likewise. Remove use of
- 	sprintf.
- 
- 	* config/cris/cris.c (cris_operand_lossage): Likewise.
- 	Rename parameter so that exgettext recognizes it as
- 	translatable message.
- 	(LOSE_AND_RETURN): Rename parameter to msgid.
- 
- 2002-02-17  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Replace a
- 	hard coded register number with an appropriate macro.
- 	(HARD_REGNO_MODE_OK): Likewise.
- 	(ARG_POINTER_REGNUM): Likewise.
- 	(STATIC_CHAIN_REGNUM): Likewise.
- 	(RETURN_ADDRESS_POINTER_REGNUM): Likewise.
- 	* config/h8300/h8300.md (define_constants): Define more
- 	register numbers.
- 
- 2002-02-17  Philipp Thomas  <pthomas@suse.de>
- 
- 	* config/i386/i386.h: Don't mark empty strings for translation.
- 
- 2002-02-16  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): New.
- 
- 2002-02-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cppinit.c (merge_include_chains): Check for brack being
- 	NULL before attempting to merge it with qtail.
- 
- 2002-02-16  Andrew Cagney  <ac131313@redhat.com>
- 
- 	* config/rs6000/netbsd.h (PREFERRED_DEBUGGING_TYPE): Set to
- 	DBX_DEBUG.
- 
- 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/t-pa, pa/t-pro, som.h: Revert last patch.
- 
- 2002-02-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/t-pa (LIB2FUNCS_EXTRA): Don't build lib2funcs.asm.
- 	* pa/t-pro (LIB2FUNCS_EXTRA): Likewise.
- 	* som.h (DO_GLOBAL_DTORS_BODY): Delete define.
- 
- Sat Feb 16 13:48:50 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.md (*movsi_nt_vms_nofix): Was *movsi_nt_vms;
- 	now only if !TARGET_FIX.
- 	(*movsi_nt_vms_fix): New pattern.
- 
- 2002-02-16  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/alpha.c: Implement null frame procedure types on VMS.
- 	(alpha_procedure_type): Replaces alpha_is_stack_procedure.
- 	(alpha_sa_mask, alpha_sa_size): Reflect above change.
- 	(alpha_pv_save_size, alpha_expand_prologue): Likewise.
- 	(alpha_start_function, alpha_expand_epilogue): Likewise.
- 	(unicosmk_gen_dsib): Likewise.
- 
- Sat Feb 16 13:39:09 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_constructor): Handle target REG case for ARRAY_TYPE.
- 
- 2002-02-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (pool_stop_uid, other_chunk, far_away,
- 	check_and_change_labels, s390_final_chunkify): Delete.
- 	(s390_split_branches, s390_chunkify_pool): New functions.
- 	(s390_function_prologue): Call them.
- 
- 	* config/s390/s390.h (S390_REL_MAX): Delete.
- 	(S390_CHUNK_MAX, S390_CHUNK_OV): Adjust values.
- 
- 	* config/s390/s390.md (cjump, icjump, jump): Fix length
- 	attribute calculation.
- 
- 
- 2002-02-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/linux64.h (STRIP_NAME_ENCODING): Delete.
- 	* config/rs6000/ppc-asm.h (JUMP_TARGET): Define for powerpc64.
- 
- 2002-02-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gcc.c (init_gcc_specs): Revert patch from 2002-02-15.
- 	* config/pa/pa-linux.h (LIB_SPEC): Likewise.
- 	* config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Likewise.
- 
- 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* c-decl.c (grokdeclarator): Prevent a segfault on unnamed decls.
- 
- 2002-02-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* reload.c (find_dummy_reload): Check that an output register
- 	is valid for its mode.
- 
- 2002-02-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* combine.c (known_cond): After replacing the REG of a SUBREG, try
- 	to simplify it.
- 
- 	* function.c (assign_parms): Demote promoted argument passed by
- 	transparent reference.
- 
- 2001-02-14	Joel Sherrill <joel@OARcorp.com>
- 
- 	* config/arm/rtems-elf.h, config/h8300/rtems.h: Removed redundant
- 	-Acpu() and -Amachine() to eliminate warnings.
- 
- 2002-02-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (ASM_OUTPUT_ALIGNED_BSS): New.
- 
- 2002-02-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	const_costs.
- 	* config/h8300/h8300.c (const_costs): Treat SET as a little
- 	more expensive operation.
- 	* config/h8300/h8300.h (DEFAULT_RTX_COSTS): Update the
- 	reference to const_costs.
- 
- 2002-02-14  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config.gcc (c4x-*-rtems*): Fix typo in tm_file setting.
- 
- 2002-02-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5503:
- 	* c-decl.c (duplicate_decls): If builtin type has TYPE_ARG_TYPES NULL,
- 	use arguments from newtype.
- 
- 2002-02-13  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Add check for march/mipsX
- 	on the same command line. Fix error message in cpu processing.
- 	Remove architecture and ISA checks.
- 
- 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Adjust for vectors.
- 
- 	* config/rs6000/sysv4.h (ROUND_TYPE_ALIGN): Add MAX.
- 
- 2002-02-14  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("*movv4si_internal"): Add m<-r and r<-r
- 	alternatives.
- 	("*movv8hi_internal1"): Same.
- 	("*movv16qi_internal1"): Same.
- 	("*movv4sf_internal1"): Same.
- 
- 	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Do
- 	not push_reload for altivec modes.
- 
- 2002-02-13  Joel Sherrill  <joel@OARcorp.com>
- 
- 	* config.gcc (a29k-*-rtems), config/a29k/rtems.h: General cleanup across
- 	all RTEMS targets including removal of #includes from config/*/rtems*.h
- 	file and adding them to tm_file setting. Added xm_defines=POSIX to
- 	many targets.
- 	* config.gcc (c4x-*-rtems), config/c4x/rtems.h: Ditto.
- 	* config.gcc (h8300-*-rtems), config/h8300/rtems.h: Ditto.
- 	* config.gcc (hppa1.1-*-rtems), config/pa/rtems.h: Ditto.
- 	* config.gcc (i960-*-rtems), config/i960/rtems.h: Ditto.
- 	* config.gcc (m68k-*-rtems*), config/m68k/rtems.h,
- 	config/m68k/rtemself.h: Ditto.
- 	* config.gcc (mips*-*-rtems*), config/mips/rtems.h,
- 	config/mips/rtems64.h: Ditto.
- 	* config.gcc (powerpc-*-rtems*), config/rs6000/rtems.h: Ditto.
- 	* config.gcc (sh-*-rtems*), config/sh/rtems.h, config/sh/rtemself.h:
- 	Ditto.
- 	* config.gcc (sparc-*-rtems*), config/sparc/rtems.h,
- 	config/sparc/rtemself.h: Ditto.
- 	* config.gcc (v850-*-rtems*), config/v850/rtems.h: Ditto.
- 	* config.gcc (arm-rtems), config/arm/rtems-elf.h: Ditto plus moved
- 	arm-rtems stanza closer to other arm-elf targets and made arm-rtems
- 	more like arm-elf.
- 	* config.gcc (i[34567]86-*-rtems*), config/i386/djgpp-rtems.h,
- 	config/i386/rtems.h, config/i386/rtemself.h: Ditto plus i386-rtemself
- 	target made more similar to i386-elf.
- 	* config/i386/t-rtems-i386: Added soft float support and multilibs.
- 	* config/m68k/t-m68kbare: Add 68040 and 68060 as multilib alternatives to
- 	be similar to config/m68k/t-m68kelf.
- 	* gthr-rtems.h: Encapsulate with extern "C" for C++.
- 
- Wed Feb 13 23:41:15 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* regmove.c (kill_value): Handle subregs.
- 
- Wed Feb 13 23:34:30 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (mul patterns): Allow memory operand to be first;
- 	add expanders where needed; fix constraints.
- 	(min?f_nonieee, max?f_nonieee, SSE TImode patterns):
- 	Allow memory operand to be the first.
- 
- 	* i386.c (ix86_prepare_fp_compare_args): Fix condition for swapping
- 	operands.
- 
- 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5681:
- 	* expr.c (safe_from_p): Pass VOIDmode to true_dependence instead of
- 	GET_MODE (x).
- 
- 2002-02-13  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/5547:
- 	* config/i386/i386.c (i386_simplify_dwarf_addr): Simplify
- 	all valid IA-32 address modes involving non-scaled %ebx and
- 	GOT/GOTOFF as displacement.
- 
- 2002-02-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_final_chunkify): Re-run shorten_branches
- 	after emitting ltorg insns.
- 
- 	* config/s390/s390.md (*cmpdf_ccs_0, *cmpdf_ccs, *cmpsf_ccs_0,
- 	*cmpsf_ccs, truncdfsf2_ieee, *adddf3, *addsf3, *subdf3, *subsf3,
- 	*muldf3, *mulsf3, *divdf3, *divsf3, *negdf2, *negsf2, *absdf2,
- 	*abssf2): Fix "op_type" attribute.
- 
- 2002-02-13  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* mkconfig.sh: Avoid using a subshell redirect.
- 	($output.T): Change to $(output)T.
- 	(ENABLE_NLS): Remove unneeded undef.
- 
- 	* config/alpha/vms.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
- 	* config/alpha/x-vms (libsubdir): Define.
- 
- 	* config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Handle
- 	register frame procedures. Optimize retrieving context.
- 
- 	* config/alpha/t-vms (MULTILIB_OPTIONS): Define.
- 	(MULTILIB_DIRNAME, LIBGCC, INSTALL_LIBGCC): Likewise.
- 	* config/alpha/vms.h (ASM_FILE_START): Write .arch directive.
- 
- Wed Feb 13 09:45:08 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
- 	Make same change as for find_base_value.
- 
- 2002-02-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (MODES_TIEABLE_P): Accept a combination
- 	of QImode and SImode.
- 
- 2002-02-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Correct the
- 	length computation of movsi.
- 	* config/h8300/h8300.md (movsi_h8300hs): Correct the length.
- 
- 2002-02-13  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (subqi3): Tighten the predicate for
- 	operands[2] to register_operand.
- 
- Wed Feb 13 10:35:56 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fop_*_comm_*): allow nonimmediate in the first operand.
- 
- 2002-02-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Use predicate altivec_register_operand
- 	for altivec_lvx* and altivec_stvx*.
- 	("*movv4si_internal"): Add constraint for loading from GPRs.
- 	("*movv8hi_internal1"): Same.
- 	("*movv16qi_internal1"): Same.
- 	("*movv4sf_internal1"): Same.
- 
- 	* config/rs6000/rs6000.c (altivec_register_operand): New.
- 
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
- 	altivec_register_operand.
- 
- 2002-02-13  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_assemble_integer) <case 4>: Don't
- 	handle SYMBOL_REF.
- 
- 2002-02-13  Stan Shebs  <shebs@apple.com>
- 
- 	* c-typeck.c (digest_init): Handle vectors.
- 	(really_start_incremental_init): Same.
- 	(pop_init_level): Same.
- 	(process_init_element): Same.
- 
- 	* varasm.c (output_constant): Same.
- 
- 	* expr.c (clear_storage): Same.
- 	(store_constructor): Same.
- 
- 2002-02-12  Eric Christopher  <echristo@redhat.com>
- 
- 	* explow.c (hard_function_value): Add comment explaining
- 	signed/unsigned comparison.
- 
- 2002-02-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* jump.c (never_reached_warning): Add finish argument.
- 	If finish is NULL, stop on CODE_LABEL, otherwise stop before first
- 	real insn after end.
- 	* rtl.h (never_reached_warning): Adjust prototype.
- 	* cse.c (cse_insn): Pass NULL as finish to never_reached_warning.
- 	* cfgrtl.c (flow_delete_block): Pass b->end as finish to
- 	never_reached_warning.
- 
- 2002-02-12  Graham Stott  <grahams@redhat.com>
- 
- 	* config/hp/pa.h (GO_IF_LEGITIMATE_ADDRESS): Fix typos.
- 
- 2002-02-12  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (shift_alg_hi): Improve the 15-bit
- 	logical shifts on H8/300.
- 	(shift_alg_si): Improve several shifts on H8/300.
- 	(get_shift_alg): Likewise.
- 
- 2002-02-12  Graham Stott  <grahams@redhat.com>
- 
- 	* config/pa/pa.c (compute_movstrsi_length): Fix typos.
- 
- Tue Feb 12 10:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* alias.c (find_base_value, case ZERO_EXTEND, case SIGN_EXTEND):
- 	Handle #ifdef POINTERS_EXTEND_UNSIGNED.
- 
- 2002-02-11  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_assemble_integer) <case 1, 2>: Handle
- 	non-CONST_INT through default_assemble_integer.
- 	<case 4>: Likewise, for non-CONST_INT, non-SYMBOL_REF.
- 	<case 8>: Abort for CONST_DOUBLE.
- 
- 2002-02-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* gcc.c (init_gcc_specs): Add static libgcc to link when "-shared"
- 	is specified.
- 	* config/pa/pa-linux.h (LIB_SPEC): Delete.
- 	* config/pa/pa32-linux.h (LINK_COMMAND_SPEC): Delete.
- 
- 2002-02-11  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/stormy16/stormy16.md (zero_extendqihi2): New.
- 
- 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* regrename.c (regrename_optimize): Don't accept a
- 	part-clobbered register if the replaced register is not part
- 	clobbered.
- 
- 	* calls.c (store_one_arg): In the non-BLKmode non-partial case,
- 	take padding into account when computing the argument value.
- 
- 	* config/sh/sh.h (FUNCTION_ARG_REGNO_P): Fix parenthesizing error.
- 
- 	* combine.c (try_combine): Apply substitutions in
- 	CALL_INSN_FUNCTION_USAGE too.
- 
- 2002-02-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Handle
- 	__builtin_altivec_abs*.
- 	(bdesc_abs): New.
- 
- 	* config/rs6000/rs6000.h (rs6000_builtins): Add
- 	ALTIVEC_BUILTIN_ABS*.
- 
- 	* config/rs6000/altivec.h: Use const char for builtins expecting
- 	literals.
- 	(vec_abs): New versions for C and C++.
- 	(vec_abss): Same.
- 
- 2002-02-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (INITIALIZE_TRAMPOLINE): Simplify by
- 	using Pmode.
- 
- 2002-02-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h (STACK_POINTER_REGNUM): Use the
- 	constant definition from h8300.md.
- 	(FRAME_POINTER_REGNUM): Likewise.
- 	* config/h8300/h8300.md (define_constants): Add FP_REG.
- 
- 2002-02-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (print_operand): Remove redundant code.
- 
- 2002-02-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Remove the prototype for byte_reg.
- 	* config/h8300/h8300.c (byte_reg): Make it static.
- 
- 2002-02-10  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5623
- 	* c-typeck.c (incomplete_type_error): Handle flexible array members.
- 
- 2002-02-10  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/5624
- 	* tree.c (append_random_chars): Don't abort if main_input_filename
- 	does not exist.
- 
- 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): Disable.
- 
- 2002-02-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (pushhi1_h8300): Correct the mode used.
- 	(pushhi1): Likewise.
- 
- 2002-02-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (reg_before_reload_operand): Don't accept a SUBREG operand.
- 	* pa.h (PREDICATE_CODES): Adjust codes for reg_before_reload_operand.
- 
- 2002-02-09  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/freebsd.h(TARGET_DEFAULT): Add MASK_EPILOGUE setting and
- 	remove MASK_VIS.
- 	(ASM_CPU_DEFAULT_SPEC): Remove.  Default setting is fine.
- 
- 2002-02-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (output_logical_op): Use sub.w to clear
- 	a half of an SImode register on H8/300.
- 
- Sat Feb  9 18:28:02 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movdi_2): Add missing '!'.
- 
- 2002-02-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.  Remove commented-out
- 	definitions.
- 
- 2002-02-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (length): Correct the distance valid
- 	for the short branch.
- 
- 2002-02-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (iorhi3): Tighten the predicates.
- 
- 2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.h (REGISTER_NATURAL_MODE): Save part-clobbered
- 	registers in SImode.
- 	(HARD_REGNO_CALL_PART_CLOBBERED) [TARGET_SHMEDIA32]: Set r18 as
- 	part-clobbered.
- 
- 	* config/sh/sh.c (expand_prologue): Fix mis-applied 2001-11-09's
- 	patch.
- 
- 	Contribute sh64-elf.
- 	2002-02-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (TARGET_CANNOT_MODIFY_JUMPS_P): Define to...
- 	(sh_cannot_modify_jumps_p): New function.
- 	2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (TARGET_MS_BITFIELD_LAYOUT_P): Define to...
- 	(sh_ms_bitfield_layout_p): New function.
- 	2002-02-04  Alexandre Oliva  <aoliva@redhat.com>
- 		    Zack Weinberg  <zack@codesourcery.com>
- 	* config/sh/sh.h (TRAMPOLINE_ADJUST_ADDRESS): Use
- 	expand_simple_binop instead of expand_binop.
- 	2002-02-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (OVERRIDE_OPTIONS) [! TARGET_SH5]: Disable
- 	use of .quad and .uaquad.
- 	* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP,
- 	TARGET_ASM_ALIGNED_DI_OP): Add comment pointing to the above.
- 	2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (movdi_const, movdi_const_32bit,
- 	movdi_const_16bit): Make sure all CONSTs have modes.
- 	(sym2PIC): Ditto, but by adjusting all callers.
- 	* config/sh/sh.c (calc_live_regs) [TARGET_SHCOMPACT]: Set pr_live
- 	if the prologue calls the SHmedia argument decoder or register
- 	saver.
- 	2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (TARGET_ASM_UNALIGNED_DI_OP): Define.
- 	(TARGET_ASM_ALIGNED_DI_OP): Likewise.
- 	(sh_expand_epilogue): Don't emit USE of return target register.
- 	(prepare_move_operands): Legitimize DImode PIC addresses.
- 	(sh_media_register_for_return): Skip tr0, used to initialize the
- 	PIC register.
- 	(sh_expand_prologue): Remove explicit USE of return register.
- 	(nonpic_symbol_mentioned_p): PC is non-PIC.  Don't recurse in
- 	CONST_DOUBLEs.  UNSPEC_GOTPLT is PIC.
- 	* config/sh/sh.h (ASM_OUTPUT_DOUBLE_INT): Removed, obsolete.
- 	(OVERRIDE_OPTIONS): Don't disable PIC on SH5.
- 	(EXTRA_CONSTRAINT_S): Use MOVI_SHORI_BASE_OPERAND_P instead of
- 	EXTRA_CONSTRAINT_T.
- 	(GOT_ENTRY_P, GOTPLT_ENTRY_P, GOTOFF_P, PIC_ADDR_P): New.
- 	(MOVI_SHORI_BASE_OPERAND_P): New.
- 	(NON_PIC_REFERENCE_P, PIC_REFERENCE_P): New.
- 	(EXTRA_CONSTRAINT_T): Define in terms of them.
- 	(OUTPUT_ADDR_CONST_EXTRA): Handle UNSPEC_GOTPLT.
- 	* config/sh/sh.md (movsi_media, movsi_media_nofpu,
- 	movdi_media, movdi_media_nofpu): Add SIBCALL_REGS class to
- 	alternatives supporting TARGET_REGS.
- 	(UNSPEC_GOTPLT): New constant.
- 	(movdi split): Move incrementing of LABEL_NUSES...
- 	(movdi_const, movdi_const_32bit): Here.  Use
- 	MOVI_SHORI_BASE_OPERAND_P instead of EXTRA_CONSTRAINT_T.
- 	(movdi_const_16bit): New.
- 	(call, call_value) [flag_pic]: Use GOTPLT.
- 	(call_pop, call_value_pop): New expands.
- 	(call_pop_compact, call_pop_rettramp): New insns.
- 	(call_value_pop_compact, call_value_pop_rettramp): New insns.
- 	(sibcall) [flag_pic]: Use GOT.
- 	(builtint_setjmp_receiver): Remove bogus, unused expand.
- 	(GOTaddr2picreg): Implement for SHcompact and SHmedia.
- 	(*pt, *ptb, ptrel): New insns.
- 	(sym2GOT): Handle DImode GOT.
- 	(sym2GOTPLT, symGOTPLT2reg): New expands.
- 	(sym2PIC): New expand.
- 	(shcompact_return_tramp): Use GOTPLT to return trampoline.
- 	(shcompact_return_tramp_i): Use return register explicitly.
- 	* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SHMEDIA]: Don't
- 	disable flag_reorder_blocks.
- 	2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (sibcall_compact): Reorder return, uses and
- 	clobbers, for clarity.
- 	(sibcall_epilogue) [TARGET_SHCOMPACT]: Mark saving and
- 	restoring of r0 in macl as MAYBE_DEAD.
- 	2002-01-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (LONG_DOUBLE_TYPE_SIZE): Define.
- 	* config/sh/sh.md (movv4sf_i, movv16sf_i): Fix uses of
- 	alter_subreg all over.
- 	(jump) [TARGET_SHMEDIA]: FAIL to create new jumps after
- 	reload, instead of emitting instructions that would require
- 	reloading.
- 	(casesi_load_media): Add missing modes.
- 	2001-11-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (sh_expand_prologue): Mark the PIC register
- 	as used if the argument decoder is called.
- 	2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (udivsi3, divsi3): Load libcall symbol name in
- 	Pmode, then extend it to DImode if necessary.
- 	2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
- 	* config/sh/sh.h (LEGITIMATE_CONSTANT_P): Don't accept DFmode
- 	constants in FPU-enabled SHmedia, let them be loaded from memory.
- 	2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media):
- 	Adjust whitespace in assembly output templates.
- 	2001-08-28  Stephen Clarke  <Stephen.Clarke@st.com>
- 	* config/sh/sh.md (movdicc_false, movdicc_true, movdicc): Adjust
- 	mode of if_then_else.
- 	2001-08-04  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): Override definition in
- 	sh.h.
- 	2001-07-26  Andrew Haley  <aph@cambridge.redhat.com>
- 		    Joern Rennecke <amylaar@redhat.com>
- 	* config/sh/sh64.h (CPP_DEFAULT_CPU_SPEC): New.
- 	(SUBTARGET_CPP_PTR_SPEC): New.
- 	(SUBTARGET_CPP_SPEC): Remove.
- 	2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
- 	* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
- 	Fix typo in previous checkin.
- 	2001-07-11  Chandrakala Chavva  <cchavva@redhat.com>
- 	* config/sh/sh.h (MODES_TIEABLE_P): Fix redact indentations.
- 	2001-07-10  Chandrakala Chavva  <cchavva@cygnus.com>
- 		    Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (MODES_TIEABLE_P): Don't tie modes wider than
- 	what single FP register can hold for SHmedia target.
- 	2001-07-06  Chandrakala Chavva  <cchavva@redhat.com>
- 		    Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (movsf_media_nofpu+1, movdf_media_nofpu+1):
- 	Do not split into SUBREG.
- 	2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/ushmedia.h, config/sh/sshmedia.h: Updated signatures
- 	and added new functions as specified in SH5 ABI r9.
- 	2001-06-04  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/lib1funcs.asm (GCC_nested_trampoline): Align to an
- 	8-byte boundary.
- 	2001-06-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (dump_table): Add const0_rtx in calls of
- 	gen_consttable_4 and gen_consttable_8.  Emit multiple labels
- 	and consttable_window_ends.
- 	2001-06-03  Graham Stott  <grahams@redhat,com>
- 	* config/sh/sh.md (movdi split): Remove unused variable last_insn.
- 	2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (print_operand): Handle floating-point pair,
- 	vector and matrix registers.
- 	* config/sh/sh.h (REGISTER_MOVE_COST): Take floating-pointer
- 	vector modes into account.
- 	* config/sh/sh.md (movv2sf): Split move between registers into
- 	movdf.
- 	(movv4sf, movv16sf): Introduce insns that get split only after
- 	reload.
- 	* config/sh/shmedia.h: Fix Copyright dates.
- 	* config/sh/ushmedia.h: Likewise.  Move loop counter
- 	declarations into conditionals that uses them.
- 	(sh_media_FVADD_S, sh_media_FVSUB_S): Fix off-by-one error in
- 	loop boundary.
- 	* config/sh/sshmedia.h: Fix Copyright dates.
- 	(sh_media_PUTCFG): Fix constraints.
- 	2001-05-12  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (TARGET_PTRMEMFUNC_VBIT_LOCATION): Define to
- 	ptrmemfunc_vbit_in_delta for SH5.
- 	2001-05-08  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (TARGET_SWITCHES): Document -m5-*.
- 	* invoke.texi: Likewise.
- 	2001-04-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/lib1funcs.asm (GCC_push_shmedia_regs,
- 	GCC_push_shmedia_regs_nofpu, GCC_pop_shmedia_regs,
- 	GCC_pop_shmedia_regs_nofpu): New global symbols.
- 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add them.
- 	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): New macro.
- 	* config/sh/sh.c (calc_live_regs): Account for PR's saving in
- 	compact function with nonlocal labels.
- 	(sh_expand_prologue) [SHcompact]: Push SHmedia regs if needed.
- 	(sh_expand_epilogue) [SHcompact]: Pop them when appropriate.
- 	(initial_elimination_offset): Account for their stack space.
- 	* config/sh/sh.md (shmedia_save_restore_regs_compact): New insn.
- 	* config/sh/sh.md (movsi_media, movsi_media_nofpu, movqi_media,
- 	movhi_media, movdi_media, movdi_media_nofpu, movdf_media,
- 	movdf_media_nofpu, movsf_media, movsf_media_nofpu): Require at
- 	least one of the operands to be a register.
- 	(movv2sf): Likewise.  Renamed to movv2sf_i.
- 	(movdi, movdf, movv2sf, movv4sf, movv16sf, movsf):
- 	prepare_move_operands() before emitting SHmedia insns.
- 	2001-04-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/crti.asm (init, fini) [__SH5__ && ! __SHMEDIA__]:
- 	Don't save nor initialize r12.  Don't mis-align the stack.
- 	Pad the code with a nop.
- 	* config/sh/crti.asm: Don't restore r12.  Don't mis-align the
- 	stack.
- 	2001-03-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* gcc/longlong.h (__umulsidi3, count_leading_zeros)
- 	[__SHMEDIA__]: Implement.
- 	2001-03-11  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md: Set latency of `pt' closer to reality.
- 	(movsi_media, movsi_media_nofpu, movdi_media, movdi_media_nofpu,
- 	movdf_media, movdf_media_nofpu, movsf_media, movsf_media_nofpu):
- 	Set move, load and store type attributes.
- 	* config/sh/sh.c (sh_loop_align) [TARGET_SH5]: Set to 3.
- 	* config/sh/sh.h (OVERRIDE_OPTIONS) [TARGET_SH5]: Disable
- 	profiling.
- 	* config/sh/sh.h (PROMOTE_MODE): Sign-extend SImode to DImode.
- 	* config/sh/sh-protos.h (sh_media_register_for_return): Declare.
- 	* config/sh/sh.c (sh_media_register_for_return): New function.
- 	(sh_expand_prologue) [TARGET_SHMEDIA]: Copy r18 to an available
- 	branch-target register.
- 	(sh_expand_epilogue) [TARGET_SHMEDIA]: Explicitly USE it.
- 	* config/sh/sh.md (return_media_i): Use any call-clobbered
- 	branch-target register.
- 	(return_media): If r18 wasn't copied in the prologue, copy it
- 	here.
- 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE) [TARGET_SHMEDIA]:
- 	Clear class FP0_REGS.
- 	* config/sh/sh64.h (LINK_SPEC): Removed incorrect default copied
- 	from elf.h.
- 	2001-03-08  DJ Delorie  <dj@redhat.com>
- 	* config/sh/sh.h (OVERRIDE_OPTIONS): Disable relaxing for SHMEDIA.
- 	2001-02-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (sibcall_compact): Set fp_mode to single.
- 	2001-02-07  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (INT_ASM_OP) [SHMEDIA64]: Use `.quad'.
- 	2001-02-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (INIT_CUMULATIVE_ARGS): Compute size of BLKmode
- 	return value correctly for call_cookie.
- 	2001-02-01  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/crt1.asm (start): Modified so as to call
- 	___setup_argv_and_call_main.
- 	2001-01-26  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't count stack_regs in
- 	SHmedia mode.
- 	2001-01-20  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (STRIP_DATALABEL_ENCODING): New macro.
- 	(STRIP_NAME_ENCODING): Use it.
- 	(ASM_OUTPUT_LABELREF): Likewise.  Don't call assemble_name().
- 	2001-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (sgeu) [! SHMEDIA]: Fix invocation of
- 	prepare_scc_operands().
- 	* config/sh/sh.h (SH_DATALABEL_ENCODING): Change to "#"...
- 	(DATALABEL_SYMNAME_P): ... so that we don't need memcmp here.
- 	2001-01-17  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (STRIP_NAME_ENCODING): Strip leading `*'.
- 	2001-01-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (shcompact_incoming_args): Use R0_REG.
- 	* config/sh/sh.md (R7_REG, R8_REG, R9_REG): Define as constants,
- 	used in shcompact_incoming_args.
- 	* config/sh/sh.c (sh_expand_epilogue): Fix thinko in previous
- 	change.
- 	* config/sh/crt1.asm (start) [SH5]: Switch to single-precision
- 	mode.
- 	* config/sh/lib1funcs.asm (sdivsi3_i4, udivsi3_i4, set_fpscr):
- 	Adjust accordingly.
- 	* config/sh/sh.c (sh_expand_prologue, sh_expand_epilogue):
- 	Simplify.  Adjust.  Add sanity check.
- 	* config/sh/sh.h (TARGET_SWITCHES) [5-compact]: Set
- 	FPU_SINGLE_BIT.
- 	* config/sh/sh.md (udivsi3_i4_single, divsi3_i4_single): Match
- 	TARGET_SHCOMPACT.
- 	(udivsi3, divsi3): Use them.
- 	(force_mode_for_call): New insn.
- 	(call, call_value, sibcall_value): Emit it before SHcompact
- 	calls.
- 	2001-01-11  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (call, call_value, sibcall): Make sure the
- 	call cookie is non-NULL before taking its value.
- 	2001-01-10  Alexandre Oliva  <aoliva@redhat.com>
- 	* config.gcc (sh64): Set target_requires_64bit_host_wide_int.
- 	2001-01-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (shcompact_incoming_args): Set argument memory
- 	block.
- 	* config/sh/sh.h (STATIC_CHAIN_REGNUM) [SH5]: Use r1.
- 	* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r0 as
- 	temporary for stack adjusts.  Use MACL and MACH to pass
- 	arguments to shcompact_incoming_args.
- 	* config/sh/sh.md (shcompact_incoming_args): Adjust.  Don't
- 	clobber r1.
- 	* config/sh/lib1funcs.asm (shcompact_incoming_args): Likewise.
- 	(nested_trampoline): Load static chain address into r1.
- 	* config/sh/sh.md (movdi_media splits): Fix sign-extension.
- 	2001-01-07  Alexandre Oliva  <aoliva@redhat.com
- 	* config/sh/sh.c (fpul_operand) [SHMEDIA]: Just call
- 	fp_arith_reg_operand().
- 	2001-01-06  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (casesi): Sign-extend the first two operands,
- 	and use signed compares for them.
- 	* config/sh/sh.c (dump_table): Don't emit 8-byte constants after
- 	4-byte ones.  Instead, inter-leave them, maintaining the 8-byte
- 	ones properly aligned.
- 	(find_barrier): Account for extra alignment needed for 8-byte wide
- 	constants.
- 	(machine_dependent_reorg): Require a label for the second 4-byte
- 	constant after an 8-byte one.
- 	* config/sh/lib1funcs.asm (sdivsi3): Fix typo in yesterday's
- 	change.
- 	2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (machine_dependent_reorg) [SHCOMPACT]: Reset
- 	last_float when switching float modes.
- 	* config/sh/sh.md (movdf) [SH5]: Don't use stack-pointer
- 	auto-increment for general-purpose registers.
- 	* config/sh/lib1funcs.asm (sdivsi3) [SHMEDIA]: Sign-extend the
- 	result.
- 	* config/sh/sh.c (sh_expand_prologue) [SH5]: Use r1 as temporary
- 	for stack adjust.
- 	* config/sh/sh.c (sh_builtin_saveregs): Support using all
- 	registers for varargs.
- 	2001-01-01  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Simplify.
- 	* config/sh/sh.h (CALL_COOKIE_STACKSEQ,
- 	CALL_COOKIE_STACKSEQ_SHIFT, CALL_COOKIE_STACKSEQ_GET): New macros.
- 	(CALL_COOKIE_INT_REG_SHIFT): Adjust.
- 	(FUNCTION_ARG_ADVANCE): Use SHCOMPACT_FORCE_ON_STACK.  Adjust
- 	call_cookie accordingly.
- 	(FUNCTION_ARG): Test SHCOMPACT_FORCE_ON_STACK.
- 	(SHCOMPACT_BYREF): Likewise.
- 	(SHCOMPACT_FORCE_ON_STACK): New macro.
- 	* config/sh/sh.c (sh_expand_prologue): Use new call_cookie format.
- 	(sh_builtin_saveregs): Likewise.
- 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
- 	shcompact_incoming_args): Use new shift values.  Support
- 	sequences of consecutive and non-consecutive pushes/pops.
- 	* config/sh/sh.md (return): Don't explicitly use PR_REG.
- 	2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
- 	* config/sh/sh.h (TEXT_SECTION): Define.
- 	* config/sh/elf.h (ASM_FILE_START): Output TEXT_SECTION_ASM_OP.
- 	2001-01-05  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
- 	* config/sh/sh.h (BASE_RETURN_VALUE_REG): Use FP regs for
- 	return values on FPU-enabled SHmedia.
- 	(FUNCTION_VALUE_REGNO_P): Mark FIRST_FP_RET_REG as used on
- 	FPU-enabled SHmedia.
- 	(INIT_CUMULATIVE_ARGS): Set up return trampoline only if
- 	value is returned in a non-FP reg and is not returned by
- 	reference.
- 	* config/sh/sh.md (shcompact_return_tramp_i): Change type to
- 	jump_ind.
- 	2000-01-04  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (SH_MIN_ALIGN_FOR_CALLEE_COPY): New.
- 	(FUNCTION_ARG_CALLEE_COPIES): Require argument to be
- 	quad-aligned to be passed by callee-copy reference.
- 	2001-01-03  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/elf.h (MAX_WCHAR_TYPE_SIZE): Define.
- 	* config/sh/sh64.h (MAX_WCHAR_TYPE_SIZE): Undefine.
- 	2001-01-02  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix error in
- 	copying low-numbered FP regs to r7 and r8.
- 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Don't request copying of
- 	FP regs to general-purpose regs only if the copy was passed on the
- 	stack.
- 	* config/sh/lib1funcs.asm (shcompact_call_trampoline): Fix typo in
- 	copying FP reg to r9.
- 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Use trampoline to
- 	copy FP regs to general-purpose regs only in outgoing calls.
- 	* config/sh/sh.md (movdf_media, movsf_media): Revert incorrect
- 	change from	2000-10-30.  Adjust for 64-bit (or 32-bit)
- 	HOST_WIDE_INT.
- 	* config/sh/sh.h (struct sh_args): Document all fields.
- 	(FUNCTION_OK_FOR_SIBCALL): Functions that receive arguments
- 	passed partially on the stack should not consider making
- 	sibcalls.
- 	* config/sh/sh.h (FUNCTION_ARG_ADVANCE): Add byref regs to
- 	stack_regs only for incoming calls.  When passing FP args,
- 	make sure there are FP regs available before modifying
- 	call_cookie.
- 	(SHCOMPACT_BYREF): Pass double args in general-purpose
- 	registers by reference.
- 	2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (FUNCTION_OK_FOR_SIBCALL) [SHCOMPACT]: Don't
- 	attempt to generate sibcalls if the caller got any arguments
- 	by reference.
- 	* config/sh/lib1funcs.asm (set_fpscr) [SH5]: Default to double.
- 	* config/sh/sh.c (dump_table) [SHCOMPACT]: Align DImode and DFmode
- 	to 8-byte boundaries.
- 	* config/sh/sh.md (shcompact_preserve_incoming_args): New insn.
- 	* config/sh/sh.h (CALL_COOKIE_INT_REG_GET): New macro.
- 	* config/sh/sh.c (sh_expand_prologue): Preserve args that will be
- 	stored in the stack.
- 	* config/sh/lib1funcs.asm (ct_main_table, ia_main_table): Arrange
- 	for the offsets to have the ISA bit set.
- 	(shcompact_call_trampoline): Document.  Swap r0 and r1, to match
- 	invocation.  Use beq instead of bgt to mark end of sequence of
- 	loads.
- 	(shcompact_incoming_args): Fix store of r2.  Use beq instead of
- 	bgt to mark end of sequence of stores.
- 	* config/sh/sh.c (arith_operand): Don't check whether
- 	CONST_OK_FOR_J for now.
- 	* config/sh/sh.md (movdf_media, movsf_media): Use HOST_WIDE_INT
- 	instead of long for conversion.
- 	2000-12-29  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (print_operand_address): Convert INTVAL to int
- 	before passing it to fprintf.
- 	2000-12-28  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/crt1.asm (start): Reset SR.FD, to enable the FP unit.
- 	Call set_fpscr before reading/writing SR.
- 	* config/sh/crt1.asm (start): Set SR.SZ and SR.PR, but not SR.FR.
- 	Call set_fpscr.
- 	* config/sh/lib1funcs.asm: Add `.align 2' directives before
- 	SHmedia code.
- 	(FMOVD_WORKS): Define on SH5 with FPU.
- 	(set_fpscr): Define on SH5.  Remove separate _fpscr_values
- 	setting.
- 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add _set_fpscr instead of
- 	_fpscr_values.
- 	2000-12-28  Hans-Peter Nilsson  <hpn@cygnus.com>
- 	* config/sh/lib1funcs.asm (ct_main_table): Align contents to even
- 	address.
- 	(ia_main_table): Ditto.
- 	2000-12-27  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (MAX_WCHAR_TYPE_SIZE): Don't define.
- 	* config/sh/sh64.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Reinstate
- 	the definitions from sh.h.
- 	* config/sh/sh.h (PTRDIFF_TYPE): Define as conditional on
- 	TARGET_SH5.
- 	(SUBTARGET_CPP_SPEC): Arrange for __PTRDIFF_TYPE__ to be defined.
- 	* config/sh/elf.h (PTRDIFF_TYPE): Likewise.
- 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
- 	2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (movdi_media split): Don't add REG_LABEL notes.
- 	Increment LABEL_NUSES.
- 
- 	* config/sh/sh.h (SIZE_TYPE): Define as conditional on
- 	TARGET_SH5.
- 	(SUBTARGET_CPP_SPEC): Arrange for __SIZE_TYPE__ to be always
- 	defined.
- 	* config/sh/elf.h (SIZE_TYPE): Likewise.
- 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Likewise.
- 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
- 	shcompact_incoming_args): Load switch table addresses using
- 	datalabel.
- 	* config/sh/sh.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
- 	(NO_BUILTIN_SIZE_TYPE): Define.
- 	(SIZE_TYPE): Don't define.
- 	* config/sh/sh64.h (SUBTARGET_CPP_SPEC): Define __SIZE_TYPE__.
- 	* config/sh/sh.h (CPP_SPEC): Fixed typo that prevented the
- 	definition of __SH5__=32 for -m5-compact-nofpu.
- 	* config/sh/sh.c (barrier_align): Ensure 32-bit alignment after
- 	ADDR_DIFF_VEC.
- 	2000-12-24  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (FUNCTION_ARG_PADDING): Removed.
- 	2000-12-23  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (TARGET_CACHE32): Enable on SH5.
- 	(FUNCTION_BOUNDARY): Ensure 32-bit alignment for SHmedia.
- 	(INSN_LENGTH_ALIGNMENT): Likewise.
- 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (call, call_value, sibcall): Simplify
- 	copying of non-branch-target register.
- 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* glimits.h (__LONG_MAX__): Revert	2000-12-13's patch.
- 	* config/sh/sh.h (CPP_SPEC): Define it here for 64-bit SHmedia.
- 	2000-12-22  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (GET_SH_ARG_CLASS): Handle complex
- 	floating-point values as structs.
- 	(FUNCTION_ARG): Use SH5_PROTOTYPED_FLOAT_ARG.
- 	(SH5_PROTOTYPELESS_FLOAT_ARG): List FP registers before
- 	general-purpose register.
- 	(SH5_PROTOTYPED_FLOAT_ARG): New macro.
- 	2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (addsi3): Force operand1 to reg for SHmedia.
- 	* config/sh/sh.md (movsi_media): Split CONST_DOUBLE loads too.
- 	* config/sh/sh.h (DATALABEL_REF_P): Don't require the CONST.
- 	(ENCODE_SECTION_INFO): Enclose variables and constants in
- 	DATALABEL unspecs.
- 	(SH_DATALABEL_ENCODING, DATALABEL_SYMNAME_P): Define.
- 	(STRIP_NAME_ENCODING): Strip SH_DATALABEL_ENCODING off.
- 	(ASM_OUTPUT_LABELREF, AMS_OUTPUT_SYMBOL_REF): Define.
- 	* config/sh/sh.c (gen_datalabel_ref): Use UNSPEC_DATALABEL
- 	only for LABEL_REFs.  For SYMBOL_REFs, prepend
- 	SH_DATALABEL_ENCODING to the symbol name.
- 	* config/sh/sh.md (indirect_jump): Use SUBREG instead of
- 	convert_mode().
- 	2000-12-20  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (casesi): Enclose ADDR_DIFF_VEC address in
- 	UNSPEC_DATALABEL.
- 	* config/sh/sh.c (gen_datalabel_ref): Accept LABEL_REFs.
- 	* config/sh/sh.h (DATALABEL_REF_NO_CONST_P): Likewise.
- 	(DATALABEL_REF_P): Don't require CONST.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): On SH5, output datalabel before
- 	REL label.
- 	2000-12-19  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (extendhidi2, extendqidi2): Use arithmetic shift
- 	right.
- 	2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (movsi_media, call, call_value, sibcall):
- 	Use shallow_copy_rtx and PUT_MODE to change the mode of
- 	SYMBOL_REFs, LABEL_REFs, CONSTs, etc.
- 	* config/sh/sh.h (PREFERRED_RELOAD_CLASS): Reload SYMBOL_REFs
- 	on SHmedia using GENERAL_REGs.
- 	* config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
- 	bltu_media_i): Fix reversion of conditions.
- 	2000-12-18  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.md (zero_extendhidi2): Use logical shift right.
- 	* config/sh/sh.c (output_far_jump): Save r13 in macl.
- 	2000-12-17  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (gen_datalabel_ref): Fix mode of the UNSPEC.
- 	2000-12-16  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/lib1funcs.asm (ic_invalidate): Define for SH5.
- 	(GCC_nested_trampoline): Likewise.
- 	* config/sh/sh-protos.h (gen_datalabel_ref): Declare.
- 	* config/sh/sh.c (gen_datalabel_ref): Define.
- 	* config/sh/sh.h (TRAMPOLINE_SIZE): Adjust for SH5.
- 	(INITIALIZE_TRAMPOLINE): Likewise.
- 	(TRAMPOLINE_ADJUST_ADDRESS): Define.
- 	(DATALABEL_REF_NO_CONST_P, DATALABEL_REF_P): Define.
- 	(EXTRA_CONSTRAINT_T): Match DATALABEL unspecs.
- 	(OUTPUT_ADDR_CONST_EXTRA): Handle DATALABEL unspecs.
- 	* config/sh/sh.md (UNSPEC_DATALABEL): New constant.
- 	(ic_invalidate): Adjust for SH5.
- 	(ic_invalidate_line_media, ic_invalidate_line_compact): New insns.
- 	* config/sh/t-sh64 (LIB1ASMFUNCS): Added _ic_invalidate and
- 	_nested_trampoline.
- 	2000-12-15  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (MOVE_MAX): Set to 8 for SHmedia, 4 elsewhere.
- 	(MOVE_MAX_PIECES): Set to 8 on SHmedia too.
- 	2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (DBX_REGISTER_NUMBER): Adjust for sh64-elf-gdb.
- 	* config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
- 	2000-12-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (target_reg_operand): Match only target-branch
- 	registers and pseudos that aren't virtual registers.
- 	* config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
- 	Copy operands that don't match target_reg_operand to pseudos.
- 	(call_media, call_value_media, sibcall_media): Use
- 	target_reg_operand instead of target_operand.
- 	2000-12-13  Alexandre Oliva  <aoliva@redhat.com>
- 	* glimits.h (__LONG_MAX__) [SH5 == 64]: Adjust for 64 bits.
- 	* config/sh/sh.c (target_reg_operand): Match hardware registers
- 	other than branch-target registers.
- 	* config/sh/sh.md (zero_extendqidi2): Input operand is %1.
- 	* config/sh/lib1funcs.asm (sdivsi3) [SH5]: Make it global.
- 	(fpscr_values) [SH5 == 32]: Define.
- 	* config/sh/t-sh64 (LIB1ASMFUNCS): Add fpscr_values.
- 	* config/sh/sh.md (call, call_value, sibcall) [TARGET_SHMEDIA]:
- 	Handle function addresses coming in SUBREGs.
- 	2000-12-12  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/lib1funcs.asm (shcompact_call_trampoline,
- 	shcompact_return_trampoline): Use datalabel where appropriate.
- 	2000-12-09  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use a
- 	general-purpose register to copy one branch-target register to
- 	another.
- 	2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (target_operand): Accept LABEL_REFs and
- 	SYMBOL_REFs with VOIDmode.
- 	* config/sh/sh.md (ble_media_i, blt_media_i, bleu_media_i,
- 	bltu_media_i): New insns.
- 	2000-12-06  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (RETURN_IN_MEMORY): Adjust for SH5 ABI.
- 	(INIT_CUMULATIVE_ARGS): Likewise.
- 	2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
- 	* machmode.def (V16SFmode): New mode.
- 	* c-common.c (type_for_mode): Support V2SF and V16SF.
- 	* tree.c (build_common_tree_nodes_2): Likewise.
- 	* tree.h (tree_index): Likewise.
- 	* calls.c (emit_call_1): Take args_so_far.  Adjust all
- 	callers.  Introduce CALL_POPS_ARGS.
- 	* tm.texi (CALL_POPS_ARGS): Document.
- 	* config/sh/crt1.asm: Implement in SHmedia mode.
- 	* config/sh/crti.asm, config/sh/crtn.asm: Likewise
- 	* config/sh/elf.h (ASM_SPEC, LINK_SPEC): Support SH5 flags.
- 	(DBX_REGISTER_NUMBER): Renumber registers for SH5.
- 	* config/sh/lib1funcs.asm: Disable functions unused in SH5.
- 	Implement divsi and udivsi in SHmedia mode.  Introduce
- 	SHcompact trampolines.
- 	* config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): Use DImode
- 	only in SHmedia64.
- 	(regno_reg_class): Rewrite.
- 	(fp_reg_names): Remove.
- 	(sh_register_names, sh_additional_register_names): New.
- 	(print_operand): Added `u'.  Support SUBREGs in addresses.
- 	Add parentheses around shifted CONSTs.
- 	(output_file_start): Output .mode and .abi directives.
- 	(shiftcosts, addsubcosts, multcosts): Adjust.
- 	(output_stack_adjust): Compute alignment.  Sanity-check SIZE.
- 	(push_regs): Take array of HOST_WIDE_INTs.  Adjust callers.
- 	(calc_live_regs): Output to array of HOST_WIDE_INTs.  Count
- 	bytes, not registers.  Take into account the need for the
- 	SHcompact incoming args trampoline.  Adjust all callers.
- 	(sh_expand_prologue): Take stack_regs into account.  Call
- 	incoming args trampoline.  Keep stack aligned as per SH5 ABI.
- 	(sh_expand_epilogue): Take stack_regs into accoutn.  Keep
- 	stack aligned as per SH5 ABI.
- 	(sh_builtin_saveregs): Support SH5 ABI.
- 	(sh_build_va_list, sh_va_start): Likewise.
- 	(initial_elimination_offset): Take alignment into account.
- 	Compute location of PR according to the SH5 stack frame.
- 	(arith_reg_operand): Reject branch-target registers.
- 	(shmedia_6bit_operand): New.
- 	(logical_operand): Use CONST_OK_FOR_P on SHmedia.
- 	(target_reg_operand): Match DImode only.  Accept SUBREGs.
- 	(target_operand): New.
- 	* config/sh/sh.h (CPP_SPEC, SUBTARGET_CPP_SPEC): Support SH5 flags.
- 	(CONDITIONAL_REGISTER_USAGE): Implement SH5 ABI.  Initialize
- 	SIBCALL_REGS for SHmedia.
- 	(TARGET_SH3E, TARGET_SH4): Only if SH1_BIT is set too.
- 	(TARGET_FPU_DOUBLE, TARGET_FPU_ANY): New.
- 	(TARGET_SHMEDIA32, TARGET_SHMEDIA64): New.
- 	(TARGET_SWITCHES): New SH5 flags.
- 	(OVERRIDE_OPTIONS): Set SH5-specific options.  Use
- 	VALID_REGISTER_P to disable unsupported registers.
- 	(LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE): Set.
- 	(POINTER_SIZE, PARM_BOUNDARY): Adjust.
- 	(FUNCTION_ARG_PADDING): Define.
- 	(FASTEST_ALIGNMENT): Adjust.
- 	(SH_REGISTER_NAMES_INITIALIZER): New.
- 	(sh_register_names): Declare.
- 	(DEBUG_REGISTER_NAMES): Define.
- 	(REGISTER_NAMES): Define based on sh_register_names.
- 	(SH_ADDITIONAL_REGISTER_NAMES_INITIALIZER): New.
- 	(sh_additional_register_names): Declare.
- 	(LAST_GENERAL_REG, LAST_FP_REG, LAST_XD_REG): Adjust for SHmedia.
- 	(FIRST_TARGET_REG, LAST_TARGET_REG): Define.
- 	(TARGET_REGISTER_P, SHMEDIA_REGISTER_P, VALID_REGISTER_P): Define.
- 	(REGISTER_NATURAL_MODE): Define.
- 	(FIRST_PSEUDO_REGISTER): Adjust.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Adjust.
- 	(HARD_REGNO_CALL_PART_CLOBBERED): Define.
- 	(HARD_REGNO_NREGS, HARD_REGNO_MODE_OK): Adjust.
- 	(VECTOR_MODE_SUPPORTED_P): Define.
- 	(REG_CLASS_CONTENTS): Adjust.
- 	(SMALL_REGISTER_CLASSES): Adjust.
- 	(REG_ALLOC_ORDER): Adjust.
- 	(INDEX_REG_CLASS): Adjust.
- 	(CONST_OK_FOR_O, CONST_OK_FOR_P): New.
- 	(CONST_OK_FOR_LETTER_P): Adjust.
- 	(PREFERRED_RELOAD_CLASS): Adjust.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Adjust.
- 	(SECONDARY_INPUT_RELOAD_CLASS): Adjust.
- 	(NPARM_REGS, FIRST_PARM_REG, FIRST_RET_REG): Adjust.
- 	(FIRST_FP_PARM_REG): Adjust.
- 	(CALL_POPS_ARGS): Define.
- 	(FUNCTION_ARG_REGNO_P): Adjust.
- 	(struct sh_args): New fields.
- 	(GET_SH_ARG_CLASS): Adjust.
- 	(INIT_CUMULATIVE_ARGS): Adjust.
- 	(INIT_CUMULATIVE_INCOMING_ARGS): Define.
- 	(FUNCTION_ARG_ADVANCE): Adjust.
- 	(FUNCTION_ARG): Adjust.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE, SHCOMPACT_BYREF): Define.
- 	(FUNCTION_ARG_CALLEE_COPIES): Define.
- 	(SH5_PROTOTYPELESS_FLOAT_ARG): Define.
- 	(STRICT_ARGUMENT_NAMING): Define.
- 	(PRETEND_OUTGOING_VARARGS_NAMED): Adjust.
- 	(FUNCTION_ARG_PARTIAL_NREGS): Adjust.
- 	(SH5_WOULD_BE_PARTIAL_NREGS): Define.
- 	(SETUP_INCOMING_VARARGS): Adjust.
- 	(HAVE_POST_INCREMENT, HAVE_PRE_DECREMENT): Adjust.
- 	(USE_LOAD_POST_INCREMENT, USE_STORE_PRE_DECREMENT): Adjust.
- 	(REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Adjust.
- 	(SUBREG_OK_FOR_INDEX_P): Adjust.
- 	(EXTRA_CONSTRAINT_S): Update.
- 	(EXTRA_CONSTRAINT_T): New.
- 	(EXTRA_CONSTRAINT): Adjust.
- 	(GO_IF_LEGITIMATE_INDEX): Adjust.
- 	(GO_IF_LEGITIMATE_ADDRESS): Adjust.
- 	(LEGITIMIZE_ADDRESS, LEGITIMIZE_RELOAD_ADDRESS): Adjust.
- 	(MOVE_MAX): Adjust.
- 	(MAX_MOVE_MAX): Define.
- 	(Pmode): Adjust.
- 	(CONST_COSTS): Adjust.
- 	(REGISTER_MOVE_COST): Adjust.
- 	(BRANCH_COST): Adjust.
- 	(TEXT_SECTION_ASM_OP): Adjust.
- 	(DBX_REGISTER_NUMBER): Adjust.
- 	(ASM_OUTPUT_DOUBLE_INT): New.
- 	(UNALIGNED_DOUBLE_INT_ASM_OP): New.
- 	(PREDICATE_CODES): Adjust.
- 	(PROMOTE_MODE): Adjust.
- 	(CRT_CALL_STATIC_FUNCTION): Do not define for SHmedia.
- 	* config/sh/sh.md (AP_REG, PR_REG, T_REG, GBR_REG): Renumber.
- 	(MACH_REG, MACL_REG, FPUL_REG, RAP_REG, FPSCR_REG): Renumber.
- 	(PR_MEDIA_REG, T_MEDIA_REG, R10_REG): New.
- 	(DR0_REG, DR2_REG, DR4_REG): Renumber.
- 	(TR0_REG, TR1_REG, TR2_REG): New.
- 	(XD0_REG): Renumber.
- 	(UNSPEC_COMPACT_ARGS): New.
- 	(type): Added pt and ptabs.
- 	(length): Default to 4 on SHmedia.  Default pt length to 12
- 	and	20 on SHmedia32 and SHmedia64, respectively.
- 	(pt): New function unit.
- 	(movdi, movsi): Add types pt and ptabs.  Don't increment LABEL_NUSES.
- 	Add whitespace between operands of SHmedia instructions.
- 	(movdicc): Fix.
- 	(adddi3_media, addsi3_media): Adjust constraints.
- 	(subsi3) [SHmedia]: Force operand 1 into a register.
- 	(udivsi3_i1_media, udivsi3_i4_media): New.
- 	(udivsi3): Support SHmedia.
- 	(divsi3_i1_media, divsi3_i4_media): New.
- 	(divsi3): Support SHmedia.
- 	(anddi3, iordi3, xordi3): Adjust constraints.
- 	(zero_extendhidi2, zero_extendqidi2): New.
- 	(extendsidi2, extendhidi2, extendqidi2): New.
- 	(push, pop, push_e, push_fpul, push_4): Disable on SH5.
- 	(pop_e, pop_fpul, pop_4): Likewise.
- 	(movsi_media): Support FP and BT registers.
- 	(movsi_media_nofpu): New.  Adjust splits to DImode.
- 	(lduw, ldub): Renamed to zero_extend* above.
- 	(movqi_media): Fix typo.
- 	(movdi_media): Support FP and BT registers.
- 	(movdi_media_nofpu): New.  Adjust splits for SHmedia32.
- 	(movdi_const_32bit): New.
- 	(shori_media): Require immediate operand.  Use `u' for output.
- 	(movdf_media, movsf_media): Simplified.
- 	(movdf_media_nofpu, movsf_media_nofpu): New.
- 	(movdf, movsf): Adjust
- 	(movv2sf, movv2sf, movv16sf): New.
- 	(beq_media, beq_media_i): Adjust constraints.  Don't use
- 	scratch BT register.
- 	(bne_media, bne_media_i): Likewise.
- 	(bgt_media, bgt_media_i): Likewise.
- 	(bge_media, bge_media_i): Likewise.
- 	(bgtu_media, bgtu_media_i): Likewise.
- 	(bgeu_media, bgeu_media_i): Likewise.
- 	(beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu,
- 	bunordered): Emit jump insn.  Force operands to registers when
- 	needed.
- 	(jump_media, jump): Simplify.
- 	(call_compact, call_compact_rettramp): New.
- 	(call_value_compact, call_value_compact_rettramp): New.
- 	(call_media, call_value_media): Simplify.
- 	(sibcall_compact, sibcall_media): New.
- 	(call, call_value): Adjust for SHmedia and SHcompact.
- 	(sibcall, sibcall_value, untyped_call): Likewise.
- 	(sibcall_epilogue): Preserve r0 across epilogue for SHcompact.
- 	(indirect_jump): Adjust for SHmedia.
- 	(casesi_jump_media): New.
- 	(nop): Re-enable for SHmedia.
- 	(call_site): Restrict to SH1.
- 	(casesi): Adjust for SHmedia.
- 	(casesi_shift_media, casesi_load_media): New.
- 	(return): Explicitly use PR register.  Call return trampoline
- 	on SHcompact.
- 	(return_i): Explicitly use PR register.
- 	(shcompact_return_tramp, shcompact_return_tramp_i): New.
- 	(return_media): Adjust.
- 	(shcompact_incoming_args): New.
- 	(epilogue): Adjust.
- 	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
- 	(movstrsi): Disable on SH5.
- 	(fpu_switch0, fpu_switch1, movpsi): Enable on SH4.
- 	(addsf3, addsf3_media): Test TARGET_SHMEDIA_FPU.
- 	(subsf3, subsf3_media): Likewise.
- 	(mulsf3, mulsf3_media, mac_media): Likewise.
- 	(divsf3, divsf3_media): Likewise.
- 	(floatdisf2, floatsisf2_media): Likewise.  Adjust constraints.
- 	(floatsisf2, fux_truncsfsi2): Likewise.
- 	(fix_truncsfdi2, fix_truncsfsi2_media): Likewise.  Adjust
- 	constraints.
- 	(cmpeqsf_media, cmpgtsf_media, cmpgesf_media): Likewise.
- 	(cmpunsf_media, cmpsf): Likewise.
- 	(negsf2, negsf2_media, sqrtsf2, sqrtsf2_media): Likewise.
- 	(abssf2, abssf2_media): Likewise.
- 	(adddf3, adddf3_media, subdf3, subdf3_media): Likewise.
- 	(muldf3, muldf3_media, divdf3, divdf3_media): Likewise.
- 	(floatdidf2, floatsidf2_media): Likewise.  Adjust constraints.
- 	(floatsidf2, fix_truncdfsi2): Likewise.
- 	(fix_truncdfdi2, fix_truncdfsi2_media): Likewise.  Adjust
- 	constraints.
- 	(cmpeqdf_media, cmpgtdf_media): Likewise.
- 	(cmpgedf_media, cmpundf_media, cmpdf): Likewise.
- 	(negdf2, negdf2_media, sqrtdf2, sqrtdf2_media): Likewise.
- 	(absdf2, absdf2_media): Likewise.
- 	(extendsfdf2, extendsfdf2_media): Likewise.
- 	(truncsfdf2, truncsfdf2_media): Likewise.
- 	* config/sh/sh64.h: New file.
- 	* config/sh/t-sh64: New file.
- 	* config/sh/shmedia.h: New file.
- 	* config/sh/ushmedia.h: New file.
- 	* config/sh/sshmedia.h: New file.
- 	* configure.in: Added sh64-*-elf.
- 	* configure: Rebuilt.
- 	2000-10-10  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (GEN_MOV, GEN_ADD3, GEN_SUB3): New macros.
- 	(reg_class_from_letter): Use `b' for TARGET_REGS.
- 	(print_operand): Support `%M', `%m', `AND' and
- 	`ASHIFTRT'.  Do not precede constants with `#' on SHmedia.
- 	(andcosts): Adjust for SHmedia.
- 	(output_stack_adjust, sh_expand_prologue, sh_expand_epilogue):
- 	Likewise.
- 	(target_reg_operand): New function.
- 	* config/sh/sh-protos.h (target_reg_operand): Declare.
- 	* config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't disable
- 	FP registers on SH5.
- 	(HARD_REGNO_MODE_OK): Accept them whenever they're acceptable
- 	on SH4.
- 	(TARGET_REGISTER_P): New macro.
- 	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Added TARGET_REGS.
- 	(FUNCTION_VALUE): Use DImode for promoted types on SHmedia.
- 	(EXTRA_CONSTRAINT_S): New macro.
- 	(EXTRA_CONSTRAINT): Adjust.
- 	(FLOAT_TYPE_SIZE): Define to 32.
- 	(Pmode): DImode on SHmedia.
- 	(CONST_COSTS): Adjust for SHmedia literals.
- 	(PREDICATE_CODES): Added target_reg_operand.
- 	(PROMOTE_MODE): Promote signed types to DImode on SHmedia.
- 	* config/sh/sh.md: Remove all attrs from SHmedia insns.
- 	(cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): New insns.
- 	(cmpdi): Accept SHmedia.
- 	(movdicc_false, movdicc_true): New insns.
- 	(movdicc): New expand.
- 	(adddi3): Accept arith_operand for op2, but FAIL on SH1 if
- 	no_new_pseudos.
- 	(addsi3_media): Match `S' constraint.
- 	(anddi3, andcdi3, iordi3, xordi3, negdi_media): New insns.
- 	(negdi2): Expand for SHmedia.
- 	(one_cmpldi2): New expand.
- 	(zero_extendsidi2): Change from expand to insn.
- 	(extendsidi2): Add constraints.
- 	(movdi_media, movsi_media): Change `%x' to `%M'.  Use `%m' for
- 	LD/ST address.  Fix SI immediate loading split.
- 	(movhi_media, movqi_media, lduw, ldub): New insns.
- 	(movhi, movqi): Accept SHmedia.
- 	(shori_media, movdi_media): Relax input constraints.  Split
- 	symbolic constants.
- 	(movdf_media, movsf_media): New insn.  New split to movdi.
- 	(movdf, movsf): Match on SHmedia.
- 	(beq_media, bne_media, bgt_media, bge_media, bgtu_media,
- 	bgeu_media): New insns and splits.  New insns with `_i' suffix.
- 	(beq, bne, bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Adjust.
- 	(bunordered): New expand.
- 	(jump_compact): Renamed from `jump'.
- 	(jump_media): New insn.
- 	(jump): New expand.
- 	(call_media, call_value_media): New insns.
- 	(call, call_value): Adjust.
- 	(indirect_jump_compact): Renamed from `indirect_jump'.
- 	(indirect_jump_media): New insn.
- 	(indirect_jump): New expand.
- 	(untyped_call, return): Accept SHmedia.
- 	(return_media): New insn.
- 	(prologue, epilogue, blockage): Accept SHmedia.
- 	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu, sne): Adjust.
- 	(sunordered): New expand.
- 	(addsf3, subsf3, mulsf3, divsf3, floatsisf2, fix_truncsfsi2,
- 	cmpsf, negsf2, sqrtsf2, abssf2): Adjust for SHmedia.
- 	(addsf3_media, subsf3_media, mulsf3_media, mac_media,
- 	divsf3_media, floatdisf2, floatsisf2_media, fix_truncsfdi2,
- 	fix_truncsfsi2_media, cmpeqsf_media, cmpgtsf_media,
- 	cmpgesf_media, cmpunsf_media, negsf2_media, sqrtsf2_media,
- 	abssf2_media): New insns.
- 	(adddf3, subdf3, muldf3, divdf3, floatsidf2, fix_truncdfsi2,
- 	cmpdf, negdf2, sqrtdf2, absdf2): Adjust for SHmedia.
- 	(adddf3_media, subdf3_media, muldf3_media, divdf3_media,
- 	floatdidf2, floatsidf2_media, fix_truncdfdi2,
- 	fix_truncdfsi2_media, cmpeqdf_media, cmpgtdf_media,
- 	cmpgedf_media, cmpundf_media, negdf2_media, sqrtdf2_media,
- 	absdf2_media): New insns.
- 	(extendsfdf2, truncdfsf2): Adjust for SHmedia.
- 	(extendsfdf2_media, truncdfsf2_media): New insns.
- 	2000-09-14  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.c (machine_dependent_reorg): On shmedia, skip for now.
- 	* config/sh/sh.h (CONST_OK_FOR_J): Document.
- 	(LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs on shmedia.
- 	* config/sh/sh.md (adddi3): New expand.
- 	(adddi3_media, adddi3z_media): New insns.
- 	(adddi3_compact): Renamed from adddi3.
- 	(addsi3_media): Use add.l r63 to add constant zero.
- 	(subdi3): New expand.
- 	(subdi3_media): New insn.
- 	(subdi3_compact): Renamed from subdi3.
- 	(mulsidi3): New expand.
- 	(mulsidi3_media): New insn.
- 	(mulsidi3_compact): Renamed from mulsidi3.
- 	(umulsidi3): New expand.
- 	(umulsidi3_media): New insn.
- 	(umulsidi3_compact): Renamed from umulsidi3.
- 	(ashlsi3_media, ashrsi3_media, lshrsi3_media): New insns.
- 	(ashlsi3, ashrsi3, lshrsi3): Use them.
- 	(ashldi3_media, ashrdi3_media, lshrdi3_media): New insns.
- 	(ashldi3, ashrdi3, lshrdi3): Use them.
- 	(zero_extendsidi2): New expand.
- 	(extendsidi2): New insn.
- 	(movsi_media): New insn.  Split to movdi to load constants.
- 	(movsi): Enable for shmedia.
- 	(movdi_media): New insn.  Use shori_media to load wide constants.
- 	(short_media): New insn.
- 	(movdi): Enable for shmedia.
- 	2000-09-08  Alexandre Oliva  <aoliva@redhat.com>
- 	* config/sh/sh.h (CPP_SPEC): Added `m5'.
- 	(SUBTARGET_CPP_SPEC): Added `!m5'.
- 	(SH5_BIT, TARGET_SH5, TARGET_SHMEDIA, TARGET_SHCOMPACT): New macros.
- 	(TARGET_SWITCHES): Added `5' and `5-compact'.  Added SH1_BIT
- 	to all other SH variants.
- 	(TARGET_DEFAULT): Set to SH1_BIT.
- 	(OVERRIDE_OPTIONS): Recognize sh5 CPU.
- 	(BITS_PER_WORD): Raise to 64 on shmedia.
- 	(MAX_BITS_PER_WORD): Change to 64.
- 	(MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Set to MAX_BITS_PER_WORD.
- 	(INT_TYPE_SIZE): Keep as 32.
- 	(UNITS_PER_WORD): Raise to 8 on shmedia.
- 	(MIN_UNITS_PER_WORD): Keep as 4.
- 	(POINTER_SIZE): Raise to 64 on shmedia.
- 	(CONST_OK_FOR_J): New macro.
- 	(CONST_OK_FOR_LETTER_P): Use it.
- 	(processor_type): Add PROCESSOR_SH5.
- 	* config/sh/sh.md: Conditionalize all expands, insns and
- 	splits to TARGET_SH1.
- 	(cpu): Added sh5.
- 	(addsi3_compact): Renamed from...
- 	(addsi3): Now an expand.
- 	(addsi3_media, subsi3_media): New insns.
- 	(subsi3): Don't negate constants with SHmedia.
- 
- 	* hooks.c: New file.
- 	* hooks.h: New file.
- 	* Makefile.in (HOOKS_H): New.
- 	(TARGET_DEF_H): Added $(HOOKS_H).
- 	(OBJS): Added hooks.o.
- 	(cfgcleanup.o, bb-reorder.o): Added target.h.
- 	(hooks.o): Added dependencies.
- 	* target-def.h (TARGET_CANNOT_MODIFY_JUMPS_P): New, added to...
- 	(TARGET_INITIALIZER): this.
- 	* doc/tm.texi (TARGET_CANNOT_MODIFY_JUMPS_P): Document.
- 	* target.h (struct gcc_target): Added cannot_modify_jumps_p.
- 	* bb-reorder.c: Include target.h.
- 	(reorder_basic_blocks): Skip if cannot modify jumps.
- 	* cfgcleanup.c: Include target.h.
- 	(try_optimize_cfg): Skip merge blocking if cannot modify jumps.
- 
- 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (casesi_internal, casesi_internal_di):
- 	Protect jump delay slot instructions with .set noreorder and
- 	.set nomacro.
- 
- 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (casesi_internal_di): Calculate
- 	the index into the target offset table correctly.
- 
- 2002-02-08  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr): Mind EXPAND_INITIALIZER for truncation also.
- 	* final.c (output_addr_const): Accept and discard SUBREG.
- 	* varasm.c (decode_addr_const): Don't abort on unknown expressions --
- 	mark them unknown instead.
- 	(simplify_subtraction): Handle RTX_UNKNOWN.
- 	(initializer_constant_valid_p): Strip NOP_EXPRs that narrow the mode.
- 
- 2002-02-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Fix typo.
- 
- 2002-02-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): New.
- 
- 2002-02-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* config.gcc (x86_64-*-linux): Add t-linux64 makefile fragment.
- 	* config/i386/t-linux64: New file.
- 
- 2002-02-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-common.c (c_expand_expr): Revert 2002-02-06 patch.
- 	* c-parse.in (compstmt): Clear last_expr_type.
- 
- 2002-02-07  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (strength_reduce): Sink final_value when not
- 	eliminating a biv.
- 
- 2002-02-07  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/freebsd.h: Fix mismatched spec {.
- 
- 2002-02-07  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c: Include recog.h and insn-config.h.
- 	(keep_with_call_p): Fix general_operand invocation.
- 	* Makefile.in (cfgrtl.o): Update dependencies.
- 
- 2002-02-07  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (two_insn_adds_subs_operand): Revise a
- 	comment.  Accept HImode only if TARGET_H8300.
- 
- 2002-02-07  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/crtn.asm: Cleanup #ifdefs.
- 
- 2002-02-07  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/crti.asm: Add changes for mips16. mips16 uses
- 	register 7 as RA instead of $31.
- 	* config/mips/crtn.asm: Ditto.
- 	* config/mips/mips.c (mips_move_2words): Add case for
- 	TARGET_MIPS16 when HOST_BITS_PER_WIDE_INT >= 64.
- 	(compute_frame_size): Fix typo.
- 	(save_restore_insns): Ditto.  Make documentation about using
- 	register $7 as return register more precise.
- 	(mips_expand_epilogue): Fix comment. Add code to work around not
- 	being able to add to the stack pointer directly.
- 	* config/mips/mips.h (EH_RETURN_DATA_REGNO): Change register number
- 	to 2 for TARGET_MIPS16 as we need 6 and 7 as clobbers in the
- 	epilogue.
- 
- 2002-02-07  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.c (reg_or_aligned_short_operand): New. For
- 	immediates in ldu and stdu DS opcode field.
- 	* config/rs6000/rs6000.md (movdi_update, movdi_update1): Use.
- 	* config/rs6000/rs6000-protos.h: Add reg_or_aligned_short_operand.
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Same.
- 
- 2002-02-07  Jeff Sturm  <jsturm@one-point.com>
- 
- 	* config/sparc/sparc.c (compute_frame_size): Don't correct frame
- 	offset for stack bias.
- 
- 2002-02-07  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h (SUBTARGET_ASM_DEBUGGING_SPEC): Defined.
- 
- 2002-02-07  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* testsuite/gcc.dg/cpp/charconst-2.c: Add -fsigned-char option.
- 
- Thu Feb  7 12:14:17 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (x86_order_regs_for_local_alloc): Declare
- 	* i386.c (x86_order_regs_for_local_alloc): New global function.
- 	* i386.h (REG_ALLOC_ORDER): CLeanup.
- 	(ORDER_REGS_FOR_LOCAL_ALLOC): New.
- 
- 2002-02-07  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/2463
- 	* alias.c (find_base_value): Recall base values for fixed hard regs.
- 	* loop.c (loop_regs_update): Don't use single_set on non-insns.
- 
- 2002-02-07  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.md (define_delay) [mips16]: Adjust required
- 	length.
- 
- 2002-02-06  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/5609
- 	* stmt.c (resolve_operand_name_1): Take more care with mixed
- 	named and unnamed operands.
- 
- 2002-02-06  Janis Johnson  <janis187@us.ibm.com>
- 	    Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (remove_constant_addition): Avoid clobbering a shared
- 	CONST expression.
- 
- 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config.gcc (s390x-*-linux*): Add t-linux64 makefile fragment.
- 	* config/s390/t-linux64: New file.
- 	* config/s390/libgcc-glibc.ver: New file.
- 
- 2002-02-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux64.h: Delete file.
- 	* config/s390/s390x.h: New file.
- 	* config.gcc (s390x-*-linux*): Use s390x.h instead of linux64.h
- 	as target header file.
- 	* config/s390/linux.h (TARGET_VERSION): Define depending on
- 	DEFAULT_TARGET_64BIT.
- 	(CPP_SPEC, ASM_SPEC, LINK_SPEC): Likewise.
- 	(SIZE_TYPE, PTRDIFF_TYPE): Likewise.
- 	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define.
- 	(CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): New defines.
- 	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC): New defines.
- 	(EXTRA_SPEC): New define.
- 	* config/s390/s390.h (TARGET_VERSION): Define depending on
- 	DEFAULT_TARGET_64BIT.
- 	(MASK_RETURN_ADDR): Add run-time check for TARGET_64BIT.
- 
- 2002-02-06  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (finish_function): Warn about a non-void function with
- 	no return statement and no abnormal exit.
- 	(current_function_returns_abnormally): New variable.
- 	(start_function): Clear it.
- 	(struct c_language_function): Add returns_abnormally.
- 	(push_c_function_context): Save it.
- 	(pop_c_function_context): Restore it.
- 	(builtin_function): Set TREE_THIS_VOLATILE on return fns.
- 	(grokdeclarator): Set C_FUNCTION_IMPLICIT_INT on functions without
- 	an explicit return type.
- 	* c-tree.h: Declare current_function_returns_abnormally.
- 	(C_FUNCTION_IMPLICIT_INT): New macro.
- 	* c-typeck.c (build_function_call): Set it.
- 	(c_expand_return): Set current_function_returns_value even if the
- 	value is erroneous.
- 
- 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5420:
- 	* c-common.c (c_unsafe_for_reeval): Make COMPOUND_LITERAL_EXPR
- 	unsafe for reevaluation.
- 
- 2002-02-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5482:
- 	* c-common.c (c_expand_expr) [STMT_EXPR]: If last expression is not
- 	EXPR_STMT, but COMPOUND_STMT, recurse into it.
- 
- 2002-02-06  Richard Henderson  <rth@redhat.com>
- 
- 	* cfganal.c (keep_with_call_p): Source for fixed_reg dest must
- 	be a general_operand.  Dest for function value must be a pseudo.
- 
- 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* dbxout.c (dbxout_symbol_location): Accept LABEL_REFs as well
- 	as SYMBOL_REFs from the constant pool.
- 
- 2002-02-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* dbxout.c (dbxout_parms): Apply DEBUGGER_ARG_OFFSET to parameters
- 	passed by invisible reference.
- 
- 2002-02-05  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.h (ARG_POINTER_CFA_OFFSET): No stack bias.
- 
- 2002-02-06  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	Implement using "base addresses" in insn operands as default.
- 	* config/mmix/mmix.c (mmix_conditional_register_usage): if
- 	-mabi=gnu, modify fixed_regs to fit the GNU ABI.
- 	(mmix_extra_constraint): Use 'R' to indicate that GETA should be
- 	used to read the rtx value.
- 	(mmix_target_asm_function_epilogue): Fix spacing.
- 	(mmix_constant_address_p): Handle TARGET_BASE_ADDRESSES.
- 	(mmix_legitimate_address): Ditto.
- 	(mmix_encode_section_info): Set SYMBOL_REF_FLAG on rtx:es that
- 	should be loaded with a GETA insn.  Don't allocate needless extra
- 	char for nul termination and fix misleading comment.
- 	(mmix_print_operand_address): Handle constants if
- 	TARGET_BASE_ADDRESSES.
- 	(mmix_output_register_setting): Use base addressing if
- 	TARGET_BASE_ADDRESSES and the number of insns is 3.
- 	* config/mmix/t-mmix (MULTILIB_EXTRA_OPTS): New.
- 	* config/mmix/mmix.md ("movdi"): Change the alternative with GETA
- 	to use R as constraint, add LDA to match s.
- 	* config/mmix/mmix.h (TARGET_BASE_ADDRESSES): New.
- 	(TARGET_DEFAULT): Add TARGET_MASK_BASE_ADDRESSES.
- 	(TARGET_SWITCHES): Add -mbase-addresses, -mno-base-addresses.
- 	(FIXED_REGISTERS): Make registers $231..$246 fixed by default.
- 	(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Move $231..$246 last, in
- 	order with other fixed registers.
- 	(MMIX_GNU_ABI_REG_ALLOC_ORDER): Put forward $231, in order with
- 	other parameter/call-clobbered registers.
- 	* doc/invoke.texi (Option Summary) <MMIX Options>: Add
- 	-mbase-addresses, -mno-base-addresses.
- 	(MMIX Options): Ditto.
- 
- 2002-02-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (PREDICATE_CODES): Add reg_before_reload_operand.
- 
- 2002-02-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Change elem to _S_elem.
- 
- 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h (WCHAR_TYPE): Define.
- 	(WCHAR_TYPE_SIZE): Ditto.
- 	(WINT_TYPE): Ditto.
- 	* config/alpha/netbsd.h (WCHAR_TYPE): Remove.
- 	(WCHAR_UNSIGNED): Ditto.
- 	(WCHAR_TYPE_SIZE): Ditto.
- 	(WINT_TYPE): Ditto.
- 	* config/arm/netbsd.h: Likewise.
- 	* config/i386/netbsd-elf.h: Likewise.
- 	* config/i386/netbsd.h: Likewise.
- 	* config/m68k/netbsd-elf.h: Likewise.
- 	* config/m68k/netbsd.h: Likewise.
- 	* config/ns32k/netbsd.h: Likewise.
- 	* config/sparc/netbsd.h: Likewise.
- 	* config/vax/netbsd.: Likewise.
- 
- 2002-02-05  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* target.h (struct gcc_target): Added ms_bitfield_layout_p.
- 	* target-def.h (TARGET_MS_BITFIELD_LAYOUT_P): New.  Added to...
- 	(TARGET_INITIALIZER): this.
- 	* doc/tm.texi (TARGET_MS_BITFIELD_LAYOUT_P): Document.
- 	(BITFIELD_NBYTES_LIMITED): Markup fix.
- 	* tree.h (default_ms_bitfield_layout_p): Declare.
- 	(record_layout_info): Added prev_field.
- 	* tree.c (default_ms_bitfield_layout_p): New fn.
- 	* c-decl.c (finish_struct): Disregard EMPTY_FIELD_BOUNDARY and
- 	PCC_BITFIELD_TYPE_MATTERS for MS bit-field layout.
- 	* stor-layout.c: Include target.h.
- 	(start_record_layout): Initialize prev_field.
- 	(place_field): Handle MS bit-field layout, and disregard
- 	EMPTY_FIELD_BOUNDARY, BITFIELD_NBYTES_LIMITED and
- 	PCC_BITFIELD_TYPE_MATTERS in this case.  Update prev_field.
- 	* Makefile.in (stor-layout.o): Adjust dependencies.
- 
- 2002-02-05  Jason Merrill  <jason@redhat.com>
- 
- 	* collect2.c (dump_file): Pass DMGL_VERBOSE to cplus_demangle.
- 
- 2002-02-05  Andreas Jaeger  <aj@suse.de>
- 
- 	* crtstuff.c: Fix comments.
- 
- 2002-02-05  Richard Henderson  <rth@redhat.com>
- 
- 	PR fortran/3393
- 	* loop.c (loop_iv_add_mult_emit_before): Copy multiplier as well.
- 	(loop_iv_add_mult_sink, loop_iv_add_mult_hoist): Likewise.
- 
- 	PR fortran/3392
- 	* config/mips/mips.c (function_arg): Handle TImode.
- 	(function_arg_advance): Likewise.
- 
- 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h (vec_step_help): Rename to
- 	__vec_step_help.
- 
- 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Fix typos.
- 
- 2002-02-05  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/netbsd.h: Correct a comment.
- 
- 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Fix typo
- 	building void typed builtins.
- 
- 	* config/rs6000/altivec.h (vec_ld*): Fix typos.
- 	(vec_step): Implement for C++.
- 
- Mon Feb	 4 19:23:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* final.c (final_scan_insn): Add case for NOTE_INSN_LOOP_END_TOP_COND.
- 
- 2002-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (nonzero_bits): Re-introduce special case for
- 	sp/fp/ap wrt REGNO_POINTER_ALIGN.
- 
- 2002-02-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/extend.texi: Warn about unsupported usage of altivec
- 	builtins.
- 
- 	* config/rs6000/rs6000.md (altivec_vcmp*_p): Remove.
- 	(altivec_predicate_*): New.
- 
- 	* config/rs6000/altivec.h: Rewrite predicates to use new builtins.
- 	Add C++ version of vec_*() functions.
- 
- 	* config/rs6000/rs6000.c (bdesc_altivec_preds): New.
- 	(bdesc_2arg): Remove altivec predicates.
- 	(altivec_expand_builtin): Handle predicates.
- 	(altivec_init_builtins): Handle predicates.
- 	(altivec_expand_predicate_builtin): New.
- 
- 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (DO_FRAME_NOTES): Move forward.
- 	(store_reg): Revise handling of frame notes.
- 	(load_reg): Likewise.
- 	(set_reg_plus_d): Likewise.
- 	(hppa_expand_prologue): Likewise.
- 	(hppa_expand_epilogue): Likewise.
- 
- 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* unwind-dw2-fde-glibc.c: Define _GNU_SOURCE if not defined.
- 
- 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/4475, c++/3780:
- 	* c-common.def (SWITCH_STMT): Add SWITCH_TYPE operand.
- 	* c-common.h (SWITCH_TYPE): Define.
- 	* c-typeck.c (c_start_case): Set SWITCH_TYPE.
- 	* stmt.c (all_cases_count): Set lastval to thisval at end of loop.
- 	Rename spareness variable to sparseness.
- 	(expand_end_case_type): Renamed from expand_end_case, use orig_type
- 	if non-NULL instead of TREE_TYPE (orig_index).
- 	* tree.h (expand_end_case_type): Renamed from expand_end_case.
- 	(expand_end_case): Define using expand_end_case_type.
- 	* c-semantics.c (genrtl_switch_stmt): Pass SWITCH_TYPE
- 	to expand_end_case_type.
- 	* doc/c-tree.texi (SWITCH_STMT): Document SWITCH_TYPE.
- 
- 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (PREFERRED_STACK_BOUNDARY): Define to match standard rounding.
- 	(BIGGEST_ALIGNMENT): Change to 128.
- 
- 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa32-linux.h (LINK_COMMAND_SPEC): Define.
- 
- 2002-02-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (call_internal_reg_64bit): Remove unused variable.
- 
- 2002-02-04  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.h (machine_function): Add uses_anonymous_args
- 	field.
- 	(SETUP_INCOMING_VARARGS): Set uses_anonymous_args.
- 	* config/arm/arm.c (current_function_anonymous_args): Delete,
- 	replace uses with cfun->machine->uses_anonymous_args.
- 	(arm_reorg): Do not reset uses_anonymous_args.
- 
- 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow any value in
- 	any geenral register.
- 
- 2001-02-04  Bernd Schmidt  <bernds@redhat.com>s
- 
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Don't try to redirect
- 	the entry block.
- 
- 2002-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (force_to_mode): Remove STACK_BIAS code.
- 	(nonzero_bits): Likewise.  Replace sp/fp special case with
- 	REGNO_POINTER_ALIGN.
- 
- 	* config/sparc/sparc.h (FRAME_POINTER_REGNUM): Change to SFP.
- 	(HARD_FRAME_POINTER_REGNUM): New.
- 	(FIRST_PSEUDO_REGISTER, REG_CLASS_CONTENTS): Update.
- 	(FIXED_REGS, CALL_USED_REGS): Update.
- 	(REG_ALLOC_ORDER, REGISTER_NAMES): Update.
- 	(CONDITIONAL_REGISTER_USAGE): Update for HFP.
- 	(HARD_REGNO_NREGS): Update for SFP.
- 	(STACK_POINTER_OFFSET): Include bias here ...
- 	(FIRST_PARM_OFFSET): ... not here.
- 	(STACK_BIAS): Remove.
- 	(INIT_EXPANDERS): New.
- 	(STARTING_FRAME_OFFSET): Do not include bias.
- 	(ELIMINABLE_REGS, CAN_ELIMINATE, INITIAL_ELIMINATION_OFFSET): New.
- 	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Update for SFP.
- 	(REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Likewise.
- 	* config/sparc/aout.h (DBX_REGISTER_NUMBER): Update for HFP.
- 	* config/sparc/litecoff.h, config/sparc/sol2.h: Likewise.
- 	* config/sparc/sparc.c (mem_min_alignment): Update for HFP.
- 	(sparc_nonflat_function_prologue, epilogue_renumber): Likewise.
- 	(MUST_SAVE_REGISTER): Likewise.
- 	(sparc_flat_function_prologue): Likewise.
- 	(sparc_flat_function_epilogue): Likewise.
- 	(HARD_FRAME_POINTER_MASK): Rename from FRAME_POINTER_MASK.
- 	(sparc_init_modes): SFP is GENERAL_REGS.
- 	(sparc_builtin_saveregs): SFP does not have bias applied.
- 
- 2002-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (current_function_is_thunk): Don't check
- 	current_function_is_thunk.
- 	(alpha_sa_mask): Distinguish between current_function_is_thunk
- 	called from ASM_OUTPUT_MI_THUNK and not.
- 	(alpha_does_function_need_gp): Thunks always need gp.
- 	(alpha_start_function, alpha_output_function_end_prologue): Likewise.
- 	(alpha_output_mi_thunk_osf): New.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): New.
- 
- 2002-02-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* c-typeck.c (build_c_cast): Warn when qualifiers are added to
- 	function types, not when they're taken away.
- 
- Mon Feb  4 09:05:58 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Remove associated
- 	CODE_LABEL and jump table when replacing a table jump with a
- 	simple jump.
- 
- 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (legitimize_la_operand,
- 	s390_secondary_input_reload_class, s390_plus_operand,
- 	s390_expand_plus_operand): Add prototypes.
- 
- 	config/s390/s390.c (s390_secondary_input_reload_class,
- 	s390_plus_operand, s390_expand_plus_operand): New functions.
- 
- 	(struct s390_address): New member 'pointer'.
- 	(s390_decompose_address): Compute it.
- 	(legitimate_la_operand_p): Use it.
- 	(legitimize_la_operand): New function.
- 	(movti, movdi, movdf splitters): Call it.
- 
- 	config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS): Define.
- 	(PREDICATE_CODES): Add s390_plus_operand.
- 
- 	config/s390/s390.md (adddi3_inv_64, addaddr_ccclobber): Delete.
- 	(la_ccclobber): Allow GENERAL_REGS as output operand.
- 
- 	(reload_load_address, *reload_load_address_reg_0, *la, *do_la_reg_0,
- 	*reload_la_64, *reload_la_31 and splitters): Delete, replace by ...
- 	(*la_64, *la_31, reload_indi, reload_insi): ... these.
- 
- 2002-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* gcc/config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Fixed
- 	register names for regular asm () construct.
- 
- 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (movsf_1): Allow moving SF values in MMX
- 	registers.
- 
- 2002-02-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (recog_for_combine): Create a dummy insn with PATTERN
- 	pat for recog.
- 
- 2002-02-04  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* varasm.c (decode_rtx_const): Allow unspec (symbol_ref) in
- 	constant pool to be identical by string address and index.
- 
- 2002-02-04  Anthony Green  <green@redhat.com>
- 
- 	* output.h (SECTION_OVERRIDE): Define.
- 	* varasm.c (named_section): Obey SECTION_OVERRIDE.
- 
- 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (arm*-*-netbsdelf*): Placeholder to prevent match
- 	by existing arm*-*-netbsd* (a.out) target.
- 	(ns32k-*-netbsdelf*): Likewise.
- 	(sparc-*-netbsdelf*): Likewise.
- 	(vax-*-netbsdelf*): Likewise.
- 
- 2002-02-03  Danny Smith <dannysmith@users.sourceforge.net>
- 
- 	* gthr-win32.h: Protect against conflicting typedef for BOOL in windows
- 	headers and libobjc headers.
- 
- 2002-02-03  Mumit Khan  <khan@nanotech.wisc.edu>
- 
- 	* gthr-win32.h (__mingwthr_key_dtor): Use extern "C" linkage for C++.
- 	(_mingw.h): Remove duplicate include.
- 
- 2002-02-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc: Set cpu_type to m68k for 68010, as well.
- 	(m68010-*-netbsdelf*): New...
- 	(m68k*-*-netbsdelf*): ...targets.
- 	* config/m68k/netbsd-elf.h: New file.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (hand_list): Move inside function_arg.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (h8_push_ops): Move inside
- 	h8300_init_once.
- 	(h8_pop_ops): Likewise.
- 	(h8_move_ops): Likewise.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (os_task): Make it static.
- 	(monitor): Likewise.
- 	(pragma_saveall): Likewise.
- 
- 2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (ic_invalidate_line): Make sure the immediate
- 	constant is a valid sign-extension for Pmode.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Fix formatting.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Fix formatting.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (one_cmpl patterns): Tighten the
- 	predicates of operands[1].  Split the patterns for each
- 	processor variant.
- 
- 2002-02-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (xor patterns): Tighten the predicates
- 	of operands[1] to register_operand.
- 
- 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpphash.h (struct spec_nodes): Remove n__CHAR_UNSIGNED__.
- 	* cpphash.c (_cpp_init_hashtable): Similarly.
- 	* cppinit.c (cpp_create_reader): Default the signed_char flag.
- 	(init_builtins): Define __CHAR_UNSIGNED__ appropriately.
- 	(COMMAND_LINE_OPTIONS): Recognize -f{un,}signed-char.
- 	(cpp_handle_option): Handle the new options.
- 	* cpplex.c (cpp_interpret_charconst): Use new flag.
- 	* cpplib.h (struct cpp_options): New member signed_char.
- 	* gcc.c (cpp_unique_options): Remove %c spec and documentation.
- 	(cpp_options): Handle -fsigned-char and -funsigned-char.
- 	(static_specs): Remove signed_char_spec.
- 	(do_spec1): Don't handle %c.
- 	* system.h: Poison SIGNED_CHAR_SPEC.
- 	* tradcif.y (yylex): Use flag_signed_char.
- 	* tradcpp.h (flag_signed_char): New.
- 	* tradcpp.c (flag_signed_char): New.
- 	(main): Handle new command-line options.
- 	(initialize_builtins): Define __CHAR_UNSIGNED__ if appropriate.
- config:
- 	* alpha/alpha.h (SIGNED_CHAR_SPEC): Remove.
- 	* avr/avr.h: Remove old comments.
- 	* i960/i960.h (CPP_SPEC): Pass -fsigned-char if -mic*.
- 	(CC1_SPEC): Pass -fsigned-char if -mic*.
- 	(SIGNED_CHAR_SPEC): Remove.
- doc:
- 	* tm.texi (SIGNED_CHAR_SPEC): Remove documentation.
- 
- 2002-02-01  Eric Christopher  <echristo@redhat.com>
- 
- 	From Daniel Jacobowitz <dmj+@andrew.cmu.edu>
- 	* config/mips/mips.h (FUNCTION_PROFILER): Fix function profiling.
- 	* config/mips/linux.h (ASM_OUTPUT_REG_PUSH): Undefine.
- 	(ASM_OUTPUT_REG_POP): Ditto.
- 
- 2002-02-02  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* c-decl.c, tree.c, tree.h, objc/objc-act.c: Revert bitfield
- 	patch.
- 
- 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Add missing | separators.
- 
- 2002-02-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR c/5304:
- 	* expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
- 	unconditionally.
- 
- 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* cfganal.c: Include tm_p.h.
- 	(keep_with_call_p): Fix the test that determines if a register holds
- 	the return value of a call.
- 
- 2002-02-01  DJ Delorie  <dj@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): If
- 	we are given conflicting registers, switch to the other one we
- 	had allocated for us.
- 	* config/sparc/sparc.md (reload_indi, reload_outdi): Pass op[2]
- 	as TImode so we know when the "other" register is available.
- 
- 2002-02-01  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/sol2-sld-64.h: Include sparc/biarch64.h rather than
- 	sparc/sparc_bi.h.
- 
- 2002-02-01  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* cfganal.c (keep_with_call_p): New function.
- 	(flow_call_edges_add): Prevent splitting a block between a call and
- 	a single-set instruction that should be kept in the same block.
- 
- 2002-02-01  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/install.texi (avr): Update outdated URL.
- 
- 2002-01-30  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/stormy16/stormy16.md (pushqi): New.
- 	(popqi): New.
- 	(pushhi): New.
- 	(pophi): New.
- 	(movhi): Remove stack operands.
- 	(movqi): Likewise.
- 	* config/stormy16/stormy16.h (PREDICATE_CODES): Add
- 	nonimmediate_nonstack_operand.
- 	* config/stormy16/stormy16.c (nonimmediate_nonstack_operand):
- 	New.
- 	* config/stormy16/stormy16-protos.h (nonimmediate_nonstack_operand)
- 	New.
- 
- 2002-01-31  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (c-parse.c): Handle .output file.
- 	* objc/Make-lang.in (objc-parse.c): Likewise.
- 
- 2002-02-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (ENDIAN_SPEC): Output the endianness flag if
- 	the -me[lb] option is given.  Don't output the default flag
- 	twice.
- 
- 2002-01-31  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-lex.c (yyparse): Call debug_hooks->start_source_file for
- 	the primary source file; this has not been done yet.
- 	* c-decl.c (c_expand_body): Reset input_filename from
- 	DECL_SOURCE_FILE (fndecl) before calling init_function_start.
- 
- 2002-01-31  Kazu Hirata  <kazu@hxi.com>
- 
- 	* rtlanal.c (subreg_regno_offset): Do not use
- 	SUBREG_REGNO_OFFSET.
- 	* system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
- 	* doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.
- 
- 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
- 	version rather than GNATS version in --version output.
- 
- 2002-01-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* ifcvt.c (noce_process_if_block): Make a copy of the destination
- 	when copying back from a temporary.
- 
- 2002-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (dead_or_predicable): Handling merging when other_bb
- 	and new_dest are the same.
- 
- 2002-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/5076
- 	* rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
- 	* rtl.c (note_insn_name): Update.
- 	* emit-rtl.c (remove_unnecessary_notes): Kill it.
- 	* stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
- 	to perform loop rotation.
- 	(expand_exit_loop_top_cond): New.
- 	* tree.h (expand_exit_loop_top_cond): Declare it.
- 	* c-semantics.c (genrtl_while_stmt): Use it.
- 	(genrtl_for_stmt): Likewise.
- 
- 2002-01-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
- 	arguments to 64-bit boundaries on 64-bit ABIs.
- 
- 2002-01-30  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* loop.c (loop_invariant_p): Special case pic_offset_table_rtx.
- 
- 2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-decl.c (grokdeclarator): Handle type being a typedef for an
- 	invalid type.
- 
- 2002-01-30  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
- 	* config/sparc/sparc_bi.h: Remove file.
- 	* config/sparc/biarch64.h: New file (rename of sparc_bi.h).
- 
- 2002-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-deps.c (sched_analyze): Make a call read the frame pointer.
- 
- 2002-01-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.
- 
- 2002-01-30  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
- 	(output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
- 	(reg_save): Use DW_CFA_offset_extended_sf instead.
- 
- 	* dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.
- 
- 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
- 	in cselib_lookup.
- 
- 2002-01-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.md ("*call_value_local32"): Remove constraints.
- 	("*call_value_local64"): Same.
- 	("*call_value_indirect_nonlocal_aix32"): Same.
- 	("*call_value_nonlocal_aix32"): Same.
- 	("*call_value_indirect_nonlocal_aix64"): Same.
- 	("*call_value_nonlocal_aix64"): Same.
- 	("*call_value_nonlocal_sysv"): Same.
- 
- 2002-01-29  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.
- 
- 2002-01-29  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (force_operand): Ignore flag_pic for detecting pic
- 	address loads.
- 	* regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
- 	for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
- 	* resource.c (mark_target_live_regs): Use regs_invalidated_by_call
- 	instead of open-coded loop.
- 	* doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
- 	be fixed when in use.
- 
- 2002-01-29  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
- 	* sched-rgn.c (propagate_deps): Update them.
- 	* sched-deps.c (sched_analyze_insn): Update them.  Flush the
- 	clobbers list when either gets too long.
- 
- 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
- 	and INDEX_REGS the same as GENERAL_REGS.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
- 
- 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* tree.c (build_nonstandard_integer_type): Correct prototype.
- 
- 2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (movstrsico, movstrdix_64,
- 	movstrsix_31): Remove, replace by ...
- 	(movstrdi_short, movstrsi_short, movstrdi_long,
- 	movstrsi_long): ... these.  New.
- 	(movstrdi, movstrsi): Adapt.
- 
- 	(rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
- 	ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
- 	Remove unnecessary CC clobber.
- 	(*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
- 	*ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.
- 
- 	(divmoddi4): Don't partially initialize TImode register.
- 
- 2002-01-29  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.
- 
- 2002-01-29  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (print_rtl_and_abort): Remove.
- 	(print_rtl_and_abort_fcn): Remove.
- 	(verify_local_live_at_start): Use dump_bb instead.
- 	(verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
- 	(verify_wide_reg_1): Return 2 on mode test failure.
- 
- 2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR c/3325, c/3326, c/2511, c/3347
- 	* c-decl.c (enum_decl_context): Remove BITFIELD.
- 	(grokdeclarator): Take bitfield width as an input.
- 	Ensure bitfields are given the correct type.  Perform
- 	bitfield width validation with build_bitfield_integer_type
- 	rather than waiting for finish_struct.
- 	(grok_typename, grok_typename_in_parm_context, start_decl,
- 	push_parmdecl, grokfield, start_function): Update calls to
- 	grokdeclarator.
- 	(build_bitfield_integer_type): New function.
- 	(finish_struct): Move bitfield validation to grokdeclarator
- 	and build_bitfield_integer_type.
- 	* tree.c (build_nonstandard_integer_type): New function.
- 	* tree.h (build_nonstandard_integer_type): New prototype.
- objc:
- 	* objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.
- 
- 2002-01-29  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR other/1502:
- 	* cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
- 	don't ignore unrecognized -W* options.
- 	(cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
- 	* cpplib.h (cpp_handle_option): Adjust prototype.
- 	* c-decl.c (c_decode_options): Pass 0 as last argument to
- 	cpp_handle_option.
- 
- 	PR c/2896:
- 	* gcc.c (cpp_unique_options): Split from cpp_options.
- 	(cpp_options): Source cpp_unique_options.
- 	(default_compilers): Use cpp_unique_options instead of cpp_options
- 	when used together with cc1_options.
- 	(static_specs): Add cpp_unique_options.
- 	* objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
- 	when used together with cc1_options.
- 
- 2002-01-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype of
- 	output_a_shift.
- 	* config/h8300/h8300.c (output_a_shift): Remove an unused
- 	argument 'insn'.  Remove redundant code.
- 	* config/h8300/h8300.md: Adust to the new prototype of
- 	output_a_shift.
- 
- 2002-01-29  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Update the prototypes of
- 	emit_a_rotate and expand_a_rotate.
- 	* config/h8300/h8300.c (emit_a_rotate): Change the type of the
- 	first argument to 'enum rtx_code'.
- 	(expand_a_rotate): Likewise.
- 
- 2002-01-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype of
- 	output_simode_bld.
- 	* config/h8300/h8300.c (output_simode_bld): Remove an argumen
- 	'log2'.
- 	* config/h8300/h8300.md: Adjust to the new prototype.
- 
- 2002-01-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
- 	redundant code.
- 
- 2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
- 	is a fixed register before returning pic_offset_table_rtx.
- 	* loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
- 	when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.
- 
- 2002-01-28  Jason Merrill  <jason@redhat.com>
- 
- 	* dwarf2.h: Sync with src version.
- 
- 2002-01-28  Paul Koning  <pkoning@equallogic.com>
- 
- 	* builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
- 	BT_FN_VOID_PTR_VAR.
- 	* builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
- 	* doc/extend.texi (__builtin_prefetch): Update documentation:
- 	first argument is now const void ptr.
- 
- 2002-01-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Remove an unused prototype.
- 
- 2002-01-28  Roman Zippel  <zippel@linux-m68k.org>
- 
- 	* toplev.c (lang_independent_init): Round up identifier size.
- 
- 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config.gcc: Revert previous change.
- 
- 2002-01-28  Andris Pavenis  <pavenis@latnet.lv>
- 
- 	* config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION
- 
- 2002-01-28  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config.gcc (*-*-netbsdelf*): Set up generic parameters.
- 	(*-*-netbsd*): Always use collect2.  Remove collect2 settings from
- 	other non-elf netbsd config frags.
- 	* config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
- 	collect2 will does that.
- 	* config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
- 	shared-lib frobbing will work.
- 
- 2002-01-28  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2002-01-28  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
- 	the old, removed AAA_standards fix.
- 	* fixinc/fixincl.x: Rebuilt.
- 
- 2002-01-28  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
- 	atexit call in crtbegin, hooked in after call to frame_dummy;
- 	register EH before registering __fini__start.
- 
- 2002-01-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/altivec.h: Remove spurious semicolons.
- 
- 2002-01-27  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Replace dead bit extraction patterns
- 	with ones that work.
- 
- Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
- 	if not STRICT_ALIGNMENT.
- 	* rtl.h (MEM_ALIGN): Likewise.
- 
- 2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/invoke.texi (-fdump-translation-unit): Revert this
- 	patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 2002-01-27  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (define_constants): New.
- 	(anonymous patterns) Use defined constants appropriately.
- 
- 2002-01-27  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (function_arg): Remove redundant code.
- 
- 2002-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-deps.c (reg_pending_uses_head): New.
- 	(reg_pending_barrier): Rename from reg_pending_sets_all.
- 	(find_insn_list): Don't mark inline.
- 	(find_insn_mem_list): Remove.
- 	(add_dependence_list, add_dependence_list_and_free): New.
- 	(flush_pending_lists): Replace only_write param with separate
- 	for_read and for_write parameters.  Update all callers.  Use
- 	add_dependence_list_and_free.
- 	(sched_analyze_1): Do not add reg dependencies here; just set
- 	the pending bits.  Use add_dependence_list.
- 	(sched_analyze_2): Likewise.
- 	(sched_analyze_insn): Replace schedule_barrier_found with
- 	reg_pending_barrier.  Add all dependencies for pending reg
- 	uses, sets, and clobbers.
- 	(sched_analyze): Don't add reg dependencies for calls, just
- 	set pending bits.  Use regs_invalidated_by_call.  Treat
- 	sched_before_next_call as a normal list, not a fake insn.
- 	(init_deps): No funny init for sched_before_next_call.
- 	(free_deps): Free pending mems lists.  Don't zero reg_last.
- 	(init_deps_global): Init reg_pending_uses.
- 	(finish_deps_global): Free it.
- 	* sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
- 	(find_insn_mem_list): Remove.
- 	* sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
- 	(propagate_deps): Use them.  Zero temp mem lists.
- 
- 2002-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (CRTSTUFF_CFLAGS): New.
- 	(crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
- 	* config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
- 	crtstuff.c instead of alpha assembly version.
- 	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
- 	entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
- 	not FORCE_{INIT,FINI}_SECTION_ALIGN.
- 	(__do_global_dtors_aux): Mark used.
- 	(frame_dummy, __do_global_ctors_aux): Mark used.
- 	(fini_dummy, init_dummy): Remove.
- 
- 	* config/alpha/crtbegin.asm: Remove file.
- 	* config/alpha/crtend.asm: Remove file.
- 	* config/alpha/t-crtbe: Remove file.
- 	* config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
- 	(LINK_EH_SPEC): New.
- 
- 	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
- 	FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
- 	calling constructors.
- 	* config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.
- 
- 	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
- 	* config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
- 	CRT_END_INIT_DUMMY hack.
- 	* config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
- 	FORCE_{INIT,FINI}_SECTION_ALIGN.
- 
- 	* config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
- 	FORCE_{INIT,FINI}_SECTION_ALIGN.
- 
- 	* config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
- 	invocation sequence.
- 	* config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.
- 
- 	* doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
- 	(FORCE_CODE_SECTION_ALIGN): New.
- 
- 2002-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.
- 
- 2002-01-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
- 	(alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.
- 
- 2002-01-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Remove bit extraction patterns that
- 	cannot be triggered.
- 	Restrict each bit extraction pattern to a variant on which the
- 	pattern is tested.
- 
- 2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/include/texinfo.tex: Update to version 2002-01-04.07.
- 
- 2002-01-26  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Remove bit test patterns that cannot
- 	be triggered.
- 	Restrict each bit test pattern to a variant on which the
- 	pattern is tested.
- 
- 2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_strncat): Remove redundant check for
- 	INTEGER_CST.
- 
- 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
- 	default setting.
- 	* config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
- 	existing setting.
- 
- 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* dbxout.c (dbxout_init): Use assemble_name rather than just
- 	stripping off the first character.
- 	(dbxout_source_file): Likewise.
- 
- 2002-01-25  DJ Delorie  <dj@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
- 	using rtx_equal_p, not by comparing pointers.
- 
- 2002-01-25  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* emit-rtl.c (gen_rtx_REG): Always return the same rtx
- 	for PIC_OFFSET_TABLE_REGNUM.
- 	(init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.
- 
- 2002-01-25  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config.gcc (x86_64-*-freebsd*): New target.
- 	(x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
- 	value.
- 	(i[34567]86-*-freebsd*): Don't include svr4.h.
- 	* config/i386/freebsd64.h: New file.
- 
- 2002-01-25  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/x-vms (version): Make static.
- 
- 	* config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
- 	in previous checkin.
- 
- 	* Makefile.in (install-headers-cp): New target.
- 	* config.gcc (alpha-dec-*vms*): Install headers with
- 	install-headers-cp
- 
- Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (unroll_loop): Lower final_value to nonmemory operand;
- 	avoid it's copies.
- 
- Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* builtins.c (expand_builtin_strncpy): Use integer_zerop instead
- 	of compare_tree_int.
- 	(expand_builtin_strncat): Likewise.
- 	* c-decl.c (finish_struct): Use tree_low_cst.
- 	* tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
- 	* tree.c (compare_tree_int): Likewise.
- 
- 2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload1.c (eliminate_regs_in_insn): Recognize frame pointer
- 	adjustments even if they are implemented by more than two insns.
- 
- Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
- 	* df.h (struct ref): Kill B.
- 	(DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.
- 
- 	* basic-block.h (PROP_EQUAL_NOTES): New flag.
- 	* flow.c (propagate_one_insn): Use it.
- 	(mark_used_regs): Handle NIL.
- 
- 2002-01-25  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
- 	to help folding.
- 
- 2002-01-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (prefetch): Make address V4SI mode so that the address
- 	is restricted to legitimate form for instruction.
- 
- 2002-01-25  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* doc/install.texi (xtensa-*-elf): New target.
- 	(xtensa-*-linux*): New target.
- 	* doc/contrib.texi: Add myself.
- 
- 2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
- 	purpose register to hold an SImode (or smaller) value.
- 
- 2002-01-25  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
- 	registry only.
- 	* crtstuff.c: Likewise.
- 
- 2002-01-25  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (negation patterns): Tighten
- 	predicates to register_operand.
- 
- 2002-01-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* loop.c (emit_prefetch_instructions): Use the prefetch insn's
- 	mode, not Pmode.
- 
- 	* builtins.c (expand_builtin_prefetch): Same.
- 
- 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
- 	modes.
- 
- 2002-01-24  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (print_operand): Remove support for
- 	operand character 'A'.
- 	* config/h8300/h8300.md (three anonymous patterns): Replace
- 	operand character 'A' with either 'T' or 'S'.
- 
- 2002-01-24  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (print_operand): Remove support for
- 	operand character 'U'.
- 
- 2002-01-24  Andris Pavenis  <pavenis@latnet.lv>
- 
- 	* config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.
- 
- 2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
- 	values to be assigned to the stack pointer.
- 
- 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* emit_rtl.c (gen_lowpart_common): Conversion from const_int
- 	to const_double needs to be done right for big-endian systems.
- 
- 2002-01-24  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/2432
- 	* config/sparc/sparc.md (call-jump peepholes): Pass the right insn
- 	to can_throw_internal.
- 
- 2002-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (fold): Change UINT_MAX test to check vs precision
- 	rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.
- 
- 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
- 	(symGOT2reg): Use them, then set as GOT value as unchanging.
- 	(symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
- 	as a temporary, if possible.
- 	(symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
- 	sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).
- 
- 2002-01-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Fix xorqi and xorqi so that they will
- 	accept to accept 0x80 as operands[2].
- 
- 2002-01-24  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.
- 
- 2002-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.
- 
- 2002-01-23  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
- 	(parmlist_or_identifiers_1): Verify that only a parmlist follows
- 	an attribute.
- 
- 2002-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (move_by_pieces_1): Extend size before negation.
- 
- 	* config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
- 	(MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
- 	(MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
- 	* config/m68k/t-m68kelf: Likewise.
- 
- 2002-01-23  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h: New file.
- 	* config/xtensa/lib1funcs.asm: New file.
- 	* config/xtensa/lib2funcs.S: New file.
- 	* config/xtensa/linux.h: New file.
- 	* config/xtensa/t-xtensa: New file.
- 	* config/xtensa/xtensa-config.h: New file.
- 	* config/xtensa/xtensa-protos.h: New file.
- 	* config/xtensa/xtensa.c: New file.
- 	* config/xtensa/xtensa.h: New file.
- 	* config/xtensa/xtensa.md: New file.
- 	* config.gcc (xtensa-*-elf*): New target.
- 	(xtensa-*-linux*): New target.
- 	* cse.c (canon_hash): Compare rtx pointers instead of register
- 	numbers.  This is required for the Xtensa port.
- 	* integrate.c (copy_insn_list): Handle case where the static
- 	chain is in memory and the memory address has to be copied to
- 	a register.
- 	* doc/invoke.texi (Option Summary): Add Xtensa options.
- 	(Xtensa Options): New node.
- 	* doc/md.texi (Machine Constraints): Add Xtensa machine constraints.
- 
- 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* diagnostic.c (internal_error): Do ICE suppression only
- 	when ENABLE_CHECKING is not defined.
- 
- 	* c-typeck.c (require_complete_type): Return error_mark_node
- 	if type is error_mark_node.
- 
- 2002-01-23  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* toplev.c (process_options): Disable -fprefetch-loop-arrays with
- 	-Os and issue a warning.
- 
- 2002-01-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/fragments.texi, doc/hostconfig.texi: Update to reflect
- 	current (lack of) need for host configuration by hand.
- 
- 	* doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
- 	references.  Documentation of some target macros moved from
- 	hostconfig.texi to tm.texi.
- 
- 2002-01-23  Will Cohen  <wcohen@redhat.com>
- 
- 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
- 	defined.
- 
- 2002-01-23  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
- 	operand[3].
- 
- 2002-01-23  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
- 
- 	* function.c (assign_parms): Don't put args of inline functions
- 	into registers when not optimizing.
- 
- 2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
- 	(prologue_use): New pattern.
- 	* config/arm/arm.c (expand_prologue): Use gen_prologue_use in
- 	preference to gen_rtx_USE.
- 	(thumb_expand_prologue): Use gen_prologue_use in preference to
- 	gen_rtx_USE.
- 	(thumb_expand_epilogue): Use gen_prologue_use in preference to
- 	gen_rtx_USE.
- 
- 2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.
- 
- 2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	PR c/3504
- 	* doc/extend.texi: Correct documentation of __alignof__.
- 
- 2002-01-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* params.h: Rename arguments of DEFPARAM so that it will be
- 	recognized as a translation keyword.
- 
- 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* extend.texi: Document altivec functions.
- 	Fix N-bit adjectives in X86 builtin documentation.
- 
- 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
- 	auto_inc_dec values.
- 
- 2002-01-22  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
- 	after backslash.
- 	(ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.
- 
- 2002-01-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/freebsd-aout.h (ASM_QUAD): Undefine.
- 
- 2002-01-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
- 	copy_insn not copy_rtx.
- 
- 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* combine.c (simplify_and_const_int): Don't trunc_int_for_mode
- 	"nonzero" as that might add "1" bits.  Ensure "constop" is
- 	properly sign extened.
- 	(force_to_mode): Tweak for sign extended constop.
- 
- 2002-01-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
- 	for_each_rtx instead of assuming we're already looking at the MEM.
- 	(split_small_symbolic_mem_operand): Likewise.
- 	* config/alpha/alpha.h (PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (small symbolic memory splitters): Update.
- 
- 2002-01-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
- 	sequence number for the literal.
- 	(divmoddi_internal_er): Likewise.
- 
- 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR java/4972
- 	* aclocal.m4 (AM_ICONV): Put linking flags for libiconv
- 	in LIBICONV variable.
- 	* configure: Regenerated.
- 
- 2002-01-22  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* dependence.c (build_def_use): Remove array_idx.
- 
- 	* dwarfout.c (last_filename): Remove.
- 	(output_compile_unit_die): Remove last_filename.
- 
- 2002-01-22  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/3640
- 	* fold-const.c (fold): Optimize unsigned comparisons against
- 	UINT_MAX (and similar unsigned constants).
- 
- 2002-01-22  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* Makefile.in (loop.o): Depend on OPTABS_H.
- 	* loop.c (emit_prefetch_instructions): Check the prefetch operand
- 	against the predicate.
- 
- 	PR target/5379
- 	* config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
- 	for the address operand.
- 
- 2002-01-22  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.
- 
- 2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR other/5450
- 	* config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
- 	preprocessor flags.
- 
- 2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (x86_64-*-netbsd*): New target.
- 	* config/i386/netbsd64.h: New file.
- 
- 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* regrename.c (kill_value): Fix typo.
- 
- 2002-01-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi: Remove STARTING_FRAME_PHASE.
- 
- 	* config/rs6000/rs6000.h: Same.
- 
- 	* function.c (instantiate_virtual_regs): Remove
- 	STARTING_FRAME_PHASE.
- 	(assign_stack_local_1): Same.
- 	Calculate frame phase.
- 
- 2002-01-22  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
- 	variable declaration to outer scope in order to simplify
- 	future extensions.
- 	(HARD_REGNO_MODE_OK): Replace macro body with a with a call to
- 	arm_hard_regno_mode_ok.
- 	* config/arm/arm-protos.h: Add a prototype for
- 	arm_hard_regno_mode_ok.
- 	* config/arm/arm.c (soft_df_operand): Remove now redundant
- 	check for DImode values using IP_REGNUM.
- 	(nonimmediate_soft_df_operand): Remove now redundant check for
- 	DImode values using IP_REGNUM.
- 	(arm_hard_regno_mode_ok): New function. New check: make sure
- 	that DImode values are not stored in IP_REGNUM.
- 
- 	* config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
- 	note with a USE.
- 	(thumb_expand_prologue): Replace REG_MAYBE_DEAD	note with a USE.
- 
- 2002-01-22  Jason Merrill  <jason@redhat.com>
- 
- 	* c-semantics.c (genrtl_compound_stmt): Only check nesting
- 	consistency if this COMPOUND_STMT is scoped.
- 
- 2002-01-22  Kazu Hirata  <kazu@hxi.com>
- 
- 	* predict.c: Fix formatting.
- 	* print-tree.c: Likewise.
- 	* protoize.c: Likewise.
- 	* real.h: Likewise.
- 	* rtl.h: Likewise.
- 	* sbitmap.h: Likewise.
- 	* scan.c: Likewise.
- 	* sched-deps.c: Likewise.
- 	* sched-vis.c: Likewise.
- 	* sdbout.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* ssa.c: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* ssa-dce.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* system.h: Likewise.
- 
- Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (int_fits_type_p): If bounds of a subtype are variable, see
- 	if fits in bounds of base type.
- 
- 	* dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
- 	(loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
- 	(add_bound_info, default): If can't find a context, make a
- 	SAVE_EXPR.
- 	(dwarf2out_finish): Check for SAVE_EXPR in node->created_for.
- 
- 2002-01-22  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* c-typeck.c (parser_build_binary_op): If result from
- 	build_binary_op is ERROR_MARK just return error_mark_node without
- 	further processing.
- 
- 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h (TARGET_HAS_F_SETLKW): define.
- 	Split a.out-specific bits into...
- 	* config/netbsd-aout.h: ...this.
- 	* config/netbsd-elf.h: New file.
- 	* config/alpha/netbsd-elf.h: Remove.
- 	* config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
- 	* config/i386/netbsd-elf.h (LIB_SPEC): Remove.
- 	(STARTFILE_SPEC): Remove redundant definition.
- 	(ENDFILE_SPEC): Likewise.
- 	(LINK_SPEC): Likewise.
- 	(CPP_SPEC): Likewise.
- 	(ASM_SPEC): Likewise.
- 	(LIB_SPEC): Likewise.
- 	(SWITCH_TAKES_ARG): Likewise.
- 	(TARGET_MEM_FUNCTIONS): Likewise.
- 	(CPP_PREDEFINES): Redefine.
- 	(ASM_FINAL_SPEC): Remove redefinition.
- 	(ASM_COMMENT_START): Redefine.
- 	(FUNCTION_PROFILER): Define.
- 	(TARGET_VERSION): Redefine.
- 	Comment and formatting cleanup.
- 	* config/i386/netbsd.h: Include <netbsd-aout.h>.
- 	* config/m68k/netbsd.h: Include <netbsd-aout.h>.
- 	* config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
- 	big- or little-endian.
- 	* config/ns32k/netbsd.h: Include <netbsd-aout.h>.
- 	* config.gcc (*-*-netbsd*): Add definitions common to all
- 	NetBSD configs.
- 	(alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
- 	gnu_ld definitions.  Add netbsd-elf.h to and remove
- 	alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
- 	tmake_file, and don't lose previous tmake_file contents.
- 	(arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
- 	(i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
- 	gnu_ld definitions.  Add netbsd-elf.h to tm_file.
- 	(mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
- 	(mipsel-*-netbsd*): Rename this to...
- 	(mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
- 	mips/little.h to tm_file for mips*el-*.
- 	(powerpc-*-netbsd*): Remove redundant xm_defines definition.
- 	(sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
- 	(vax-*-netbsd*): Add netbsd-aout.h to tm_file.
- 
- 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-protos.h (reg_before_reload_operand): New function prototype.
- 	* pa.c (reg_before_reload_operand): New function implementation.
- 	* pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
- 	contraints to "*m".
- 
- 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.
- 
- 2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
- 	(MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
- 	(MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
- 	(EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
- 	(ENDFILE_SPEC): Undefine.
- 	(STARTFILE_SPEC): Redefine for PA.
- 
- 2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.
- 
- 2002-01-21  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Add entries to supported PowerPC --with-cpu
- 	types.
- 
- 2002-01-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (ix86_function_arg_regno_p): Never return
- 	true for 64-bit mode only SSE registers in 32-bit mode.
- 
- 2002-01-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* unwind-dw2.c: Fix formatting.
- 	* unwind-dw2-fde.c: Likewise.
- 	* unwind-dw2-fde.h: Likewise.
- 	* unwind-pe.h: Likewise.
- 	* varasm.c: Likewise.
- 	* varray.h: Likewise.
- 
- 2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	Remove workaround for register stack overwrite bug in mmix.
- 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
- 	support for TARGET_REG_STACK_FILL_BUG.
- 	* config/mmix/mmix.h: Remove member has_call_without_parameters.
- 	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
- 	Delete.
- 	(TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
- 	(TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
- 	-mno-reg-stack-fill-bug-workaround.
- 	* config/mmix/mmix.md ("call", "call_value"): Don't set struct
- 	machine member has_call_without_parameters.
- 	* doc/invoke.texi (Option Summary) <MMIX Options>: Remove
- 	-mreg-stack-fill-bug-workaround	and
- 	-mno-reg-stack-fill-bug-workaround.
- 	(MMIX Options): Ditto.
- 
- 2002-01-21  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
- 	as appropriate.
- 	Remove redundant code.
- 
- 2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
- 	config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
- 	config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
- 	config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
- 	config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
- 	out target macro definitions and non-target-specific comments
- 	mostly taken from old versions of the manual.
- 
- 2002-01-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix comment formatting.
- 	* config/ia64/aix.h: Likewise.
- 	* config/ia64/ia64-protos.h: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ia64/ia64intrin.h: Likewise.
- 	* config/ia64/linux.h: Likewise.
- 	* config/ia64/unwind-aix.c: Likewise.
- 	* config/ia64/unwind-ia64.c: Likewise.
- 
- 2002-01-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c: Revise comments about shift code.
- 
- 2002-01-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (function_arg): Update a comment.
- 
- 2002-01-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Update the comments at the beginning
- 	of the file.
- 
- 2002-01-20  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/i370/i370.c: Fix comment formatting.
- 	* config/i370/i370.h: Likewise.
- 	* config/i370/i370.md: Likewise.
- 	* config/i370/linux.h: Likewise.
- 
- Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* reg-stack.c (subst_stack_regs): Properly check for deleted insn.
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
- 	(gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
- 	in incomplete case.
- 
- 2002-01-20  Graham Stott  <grahams@redhat.com>
- 
- 	* cfgloop.c (flow_loop_preheader_scan): Fix typo.
- 
- 2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.
- 
- 2002-01-19  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.
- 
- 2002-01-18  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi (STARTING_FRAME_PHASE): Document.
- 
- 	* function.c (assign_stack_local_1): Adjust x_frame_offset with
- 	STARTING_FRAME_PHASE.
- 	(STARTING_FRAME_PHASE): New.
- 	(instantiate_virtual_regs): Check saneness of
- 	STARTING_FRAME_PHASE.
- 
- 	* config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.
- 
- 2002-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.
- 
- 2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
- 	be used for bootstrapping GCC 3.0.
- 
- 2002-01-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Fix an insn length.
- 
- 2002-01-18  Kazu Hirata  <kazu@hxi.com>
- 
- 	* bitmap.h: Fix comment formatting.
- 	* combine.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* c-pragma.h: Likewise.
- 	* c-typeck.c: Likewise.
- 	* df.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* function.c: Likewise.
- 	* gcc.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* gthr-win32.h: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* predict.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* rtl.h: Likewise.
- 	* unwind-dw2-fde.h: Likewise.
- 	* unwind-pe.h: Likewise.
- 	* vmsdbgout.c: Likewise.
- 
- Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
- 	if type_required and passed decl.
- 
- 2002-01-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc (cpu_type): Include altivec.h in powerpc
- 	extra_headers.
- 	Same for darwin.
- 
- 	* config/rs6000/altivec.h: New.
- 
- 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Update assembler and exception
- 	handling information.
- 	* doc/trouble.texi (Interoperation): Add libstdc++ information
- 	for AIX.
- 	(Misunderstandings): Add template instantiation and static template
- 	member information for AIX.
- 
- 2002-01-17  Jason Merrill  <jason@redhat.com>
- 
- 	* dbxout.c (dbxout_type): Support const and volatile.
- 
- 	* except.c (add_partial_entry): Remove backwards compatibility code.
- 	(end_protect_partials): Likewise.
- 
- 2002-01-17  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.md (prologue_use): New.
- 	* config/ia64/ia64.c (ia64_expand_prologue): Use
- 	gen_prologue_use instead of gen_rtx_USE.
- 	(group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
- 	as CODE_FOR_pred_rel_mutex.
- 	(ia64_sched_reorder2): Likewise.
- 
- 2002-01-16  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/r3900.h: Reformat.
- 	(SUBTARGET_CPP_SIZE_SPEC): Remove.
- 	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
- 	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
- 	(SUBTARGET_CPP_SIZE_SPEC): Rewrite.
- 	* config/mips/t-elf: Remove mips3 multilib.
- 
- 2002-01-16  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/linux.h: Include "mips/abi64.h".
- 
- 2002-01-16  H.J. Lu <hjl@gnu.org>
- 
- 	* config/mips/t-linux: New.
- 
- 	* config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.
- 
- 	* config/mips/linux.h: Don't include "gofast.h".
- 	(INIT_SUBTARGET_OPTABS): Removed.
- 
- 2002-01-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Replace emit_a_shift with
- 	output_a_shift.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2002-01-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
- 	spaces after an opcode name.
- 	(pushqi1_h8300hs): Likewise.
- 	(pushhi1_h8300hs): Likewise.
- 
- 2002-01-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/extend.texi: Replace "option" with "attribute"
- 	appropriately.
- 
- 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
- 	(and:DI () (const_int -8)).
- 	(split_small_symbolic_mem_operand): Split
- 	(mem (and:DI () (const_int -8)).
- 
- 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/5309:
- 	* config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
- 	same way as TYPE_IMUL.
- 	(ultrasparc_sched_reorder): Likewise.
- 	* config/sparc/sparc.md (type): Add comment to update
- 	ultrasparc_sched_reorder when making changes.
- 
- 2002-01-16  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/invoke.texi: Change the dump file name of block
- 	reordering pass from 28.bbro to 29.bbro.
- 	Mention -dk option.
- 
- Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (minsf splitter): Fix pasto.
- 
- 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
- 	to frame pointer initialisation instruction.
- 	(thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
- 	initialisation instruction.
- 	(soft_df_operand): Do not accept the IP register.
- 	(nonimmediate_soft_df_operand): Do not accept the IP register.
- 
- 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR target/5357:
- 	* config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
- 	MASK_V8 being both set.
- 
- 2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Do not emit USE
- 	insn for GOT register; add REG_MAYBE_DEAD notes instead.
- 	config/s390/s390.md (call, call_value): Add GOT register to
- 	CALL_INSN_FUNCTION_USAGE where needed.
- 	(call_exp, call_value_exp): New.
- 
- 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c: General formatting tidy up.
- 
- 2002-01-16  Graham Stott  <grahams@redhat.com>
- 
- 	* calls.c (try_to_integrate): Use "(size_t)" intermediate
- 	cast and when casting an integer literal to "rtx" pointer.
- 	(expand_call): Likewise.
- 	* flow.c (try_pre_increment): Likewise.
- 	(find_use_as_address): Likewise.
- 	* integrate.c (expand_iline_function): Likewise.
- 	* regmove.c (try_auto_increment): Likewise.
- 
- 2002-01-16  Graham Stott  <grahams@redhat.com>
- 
- 	* sched-rgn.c (passed): Use sbitmap_free.
- 	(header): Likewise.
- 	(inner): Likewise.
- 	(in_queue): Likewise.
- 	(in_stack): Likewise.
- 
- 2002-01-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* flow.c (propagate_one_insn): Change to use fatal_insn.
- 
- 2002-01-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* expmed.c (extract_fixed_bit_field): Remove unused code.
- 	* system.h: Poison SLOW_ZERO_EXTEND.
- 	* doc/tm.texi: Remove.
- 	* config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
- 	* config/arm/arm.h: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/clipper/clipper.h: Likewise.
- 	* config/convex/convex.h: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/elxsi/elxsi.h: Likewise.
- 	* config/fr30/fr30.h: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/i370/i370.h: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/pdp11/pdp11.h: Likewise.
- 	* config/pj/pj.h: Likewise.
- 	* config/s390/s390.h: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* config/vax/vax.h: Likewise.
- 	* config/we32k/we32k.h: Likewise.
- 
- 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
- 	(altivec_lvsl): Change constraint to b.
- 	(altivec_lvsr): Same.
- 	(altivec_lvebx): Same.
- 	(altivec_lvehx): Same.
- 	(altivec_lvewx): Same.
- 	(altivec_lvxl): Same.
- 	(altivec_lvx): Same.
- 	(altivec_stvx): Add parallel.
- 	(altivec_stvxl): Same.
- 	(altivec_stvehx): Same.
- 	(altivec_stvebx): Same.
- 	(altivec_stvebx): Same.
- 
- 2002-01-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Change altivec.h to altivec-defs.h.
- 
- 	* config/rs6000/altivec.h: Delete.
- 
- 	* config/rs6000/altivec-defs.h: Add.
- 
- 2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
- 	and UMOD modes.
- 
- 	* vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
- 	less than or equal to eight bytes.
- 
- 	* vax.md (andsi3): Remove constraints and change SET destination
- 	operand type to nonimmediate_operand.
- 	(andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
- 	when it is a CONST_INT.
- 
- 2002-01-15  Jason Merrill  <jason@redhat.com>
- 
- 	* c-common.def (FILE_STMT): New code.
- 	* c-common.c (statement_code_p): It's a statement.
- 	* c-common.h (stmt_tree_s): Add x_last_filename.
- 	(FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
- 	(last_expr_filename): New macro.
- 	* c-semantics.c (begin_stmt_tree): Initialize it.
- 	(add_stmt): If the filename changed, also insert a
- 	FILE_STMT.
- 	(expand_stmt): Handle seeing one.
- 
- 2002-01-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* flow.c (propagate_one_insn): Add error message and print out
- 	insn for debugging.
- 
- 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
- 	ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
- 	* config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
- 	TRAMPOLINE_ALIGNMENT.
- 	* config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
- 	to be in bits.
- 	* config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
- 	PCC_BITFIELD_TYPE_MATTERS.
- 	* config/interix.h (STDC_VALUE): Remove.  Use
- 	STDC_0_IN_SYSTEM_HEADERS.
- 	* config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
- 	(ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
- 	ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.
- 
- 2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/install.texi (hppa*-hp-hpux11): --enable-threads does
- 	not work on this platform currently.
- 
- 2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* c-typeck.c (build_unary_op): Don't wrap msgid argument of
- 	readonly_warning in _().
- 
- 2002-01-15  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* gcc.c (delete_if_ordinary): Backout previous change.
- 
- 2002-01-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (print_operand): Remove support for
- 	unused operand characters.
- 
- 	* read-rtl.c: Fix formatting.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* rtlanal.c: Likewise.
- 
- 2002-01-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/i386/i386.c: Fix formatting.
- 
- 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (process_init_element): Don't save_expr
- 	COMPOUND_LITERAL_EXPR if just its initializer will be used.
- 
- 2002-01-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
- 	emit optional traceback table if optimize_size or TARGET_ELF.
- 	* config/rs6000/rs6000.md (prefetch): New.
- 
- 2002-01-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.
- 
- 2002-01-15  Kazu Hirata  <kazu@hxi.com>
- 
- 	* mips-tfile.c: Fix formatting.
- 
- Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (final_reg_note_copy): Fix previous commit.
- 
- 2002-01-14  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300-protos.h: Remove the prototype for
- 	eq_operator.
- 	* config/h8300/h8300.c (eq_operator): Remove.
- 
- 2002-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (prefetch): Tidy.
- 	(prefetch_3dnow): Fix locality operand.
- 
- 2002-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.h (HI_AND_FP_REGS): New register class.
- 	(CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.
- 
- 2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* reload1.c (reload_combine): Pass reg_sum replacement through
- 	copy_rtx in loop performing multiple changes.
- 
- 2002-01-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* except.c (remove_unreachable_regions): New.
- 	(free_eh_status): Clear exception_handler_labels.
- 	(convert_from_eh_region_ranges): Call remove_unreachable_regions.
- 	(find_exception_handler_labels): Don't add the same label more than
- 	once.
- 	(remove_exception_handler_label): Don't die if
- 	find_exception_handler_labels hasn't been called for the current
- 	function yet.
- 
- Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Rebuild jump labels after
- 	gcse.
- 
- 2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/extend.texi: Move documentation of X86 built-in functions
- 	here.
- 	* doc/invoke.texi: From here.
- 	* doc/sourcebuild.texi: Document location of documentation for
- 	machine built-in functions.
- 
- 2002-01-13  Christopher Faylor  <cgf@redhat.com>
- 
- 	* cppfiles.c (TEST_THRESHOLD): New macro.
- 	(SHOULD_MMAP): Ditto.
- 	(read_include_file): Use SHOULD_MMAP macro to decide when mmap should
- 	be used.
- 
- Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (final_reg_note_copy): Properly handle
- 	REG_LABEL
- 	(unroll_loops): Fix LOOP_CONDITION heuristics.
- 
- 2002-01-14  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
- 	* doc/md.texi (Machine Constraints): Use @minus{} where appropriate.
- 
- Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
- 	threaded loop.
- 
- 2002-01-14  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Fix typo with sradi.
- 
- 2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
- 	movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
- 	(clrstrdi, clrstrsi): Adapt callers.
- 
- 	(extendsidi2, zero_extendsidi2): Remove no-conflict blocks.
- 
- 	(movti splitter): Never use register 0 as base register.
- 
- 2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* combine.c (simplify_shift_const): Always generate new rtx
- 	for shift expression instead of reusing given expression.
- 
- Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (alpha_expand_mov): Don't call
- 	alpha_legitimize_address unless mode is Pmode.
- 
- 2002-01-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/md.texi (Modifiers): Document the '*' constraint for the
- 	user.
- 
- 	* doc/md.texi (Machine Constraints): Add constraints for xstormy16.
- 	* doc/extend.texi (Function Attributes): 'interrupt' is valid
- 	for xstormy16 too.
- 
- 2002-01-13  Richard Henderson  <rth@redhat.com>
- 
- 	* reload.c (find_reloads): Use a hard reg destination as reload reg
- 	for an input reload of the source.
- 
- 2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Binaries): Make link to ftp.writtenword.com
- 	more generic.
- 
- Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
- 	* mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
- 
- 	* config/alpha/x-vms (USE_COLLECT2): Set to empty.
- 
- Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.
- 
- 2002-01-12  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
- 	TARGET_POWERPC64.
- 
- 2002-01-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.
- 
- 	* doc/invoke.texi: Update Alpha options.
- 
- 	* doc/invoke.texi: Update i386 built-in function lists.
- 
- Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
- 	referencing outside.
- 
- Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* diagnostic.c (warn_deprecated_use): Rework to lower indentation.
- 	* expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
- 	offsets, and change line folding.
- 	* optabs.c (expand_binop): Remove warnings.
- 	* sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.
- 
- 2002-01-12  Graham Stott <grahams@redhat.com>
- 
- 	* attribs.c (handle_deprecated_attribute): constify WHAT.
- 	* diagnostic.c (warn_deprecated_use): Add braces, fixes
- 	dangling else warning and constify WHAT.
- 	* except.h (struct function, struct inline_remap): Move
- 	struct tag forward defs before all prototypes.
- 	(duplicate_eh_regions): Whitespace.
- 
- 2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
- 	MODE_BASE_REG_CLASS.
- 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.
- 
- 2002-01-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (override_options): If SSE, enable sse prefetch.
- 	(ix86_expand_vector_move): New.
- 	(bdesc_2arg): Remove andps, andnps, orps, xorps.
- 	(ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
- 	Remove old prefetch builtins.  Special case the logicals removed above.
- 	(ix86_expand_builtin): Likewise.
- 	(safe_vector_operand): Use V4SFmode, not TImode.
- 	(ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
- 	(ix86_expand_timode_binop_builtin): New.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/i386.h (enum ix86_builtins): Update.
- 	* config/i386/i386.md: Correct predicates on MMX/SSE patterns.
- 	Use ix86_expand_vector_move in vector move expanders.
- 	(movti_internal, movti_rex64): Add xorps alternative.
- 	(sse_clrv4sf): Rename and adjust from sse_clrti.
- 	(prefetch): Don't work so hard.
- 	(prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
- 	* config/i386/xmmintrin.h (__m128): Use V4SFmode.
- 	(_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
- 
- 2002-01-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/mmintrin.h: New file.
- 	* config/i386/xmmintrin.h: New file.
- 	* config.gcc (i?86-*-*): Add extra_headers.
- 	* simplify-rtx.c (simplify_unary_operation): Handle saturating
- 	truncation codes.
- 	(simplify_binary_operation): Handle saturating arithmetic codes.
- 	* config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
- 	not the lowpart subreg.
- 	(ix86_expand_builtin): Return a TImode dummy register instead of 0
- 	on error.
- 	* config/i386/i386.md (mmx_clrdi): Override memory attribute.
- 
- 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* conflict.c (conflict_graph_compute): Free regsets when finished.
- 	* ssa.c (compute_coalesced_reg_partition): Likewise.
- 
- 2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
- 	every where we allocate a register.
- 
- 2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
- 	* lcm.c (compute_earliest, compute_farthest): Likewise.
- 
- 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.
- 
- 2002-01-11  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/rtl.texi (Insns): Fix 2 typos.
- 
- 2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
- 	options.  Use @table @gcctabopt for MMIX options.  Add index
- 	entries for MMIX options.  Start new paragraph with first
- 	heading of the machine-dependent options.
- 
- 2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR other/5299
- 	* config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
- 	* combine.c (force_to_mode): Same.
- 	* reload1.c (clear_reload_reg_in_use): Same.
- 
- 2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
- 	and 'subtargets'.
- 
- 2002-01-11  Andreas Jaeger  <aj@suse.de>,
- 	    Brad Lucier <lucier@math.purdue.edu>
- 
- 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
- 	mcpu.
- 
- Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
- 	Protect with IN_LIBGCC.
- 	(LINK_EH_SPEC): Add required trailing space.
- 
- Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* c-tree.h: Move function declarations so that they are listed
- 	under the filename which contains them.
- 	(check_identifier, finish_decl_top_level,
- 	lookup_name_current_level_global, shadow_record_fields): Remove.
- 
- 2002-01-11  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
- 	march.
- 
- 2002-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (print_operand): Add 'J'.
- 	* config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
- 	new operand with the sequence number for the lituse.  When splitting
- 	the insns, use gen_movdi_er_high_g and generate a sequence number.
- 	(gen_movdi_er_high_g): Print the sequence number if nonzero.
- 
- 2002-01-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Add support for
- 	lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
- 	stvxl.
- 	(altivec_expand_builtin): Same.
- 	(altivec_expand_stv_builtin): New.
- 
- 	* config/rs6000/rs6000.h (rs6000_builtins): Same.
- 
- 	* config/rs6000/rs6000.md ("altivec_lvebx"): New.
- 	("altivec_lvehx"): New.
- 	("altivec_lvewx"): New.
- 	("altivec_lvxl"): New.
- 	("altivec_lvx"): New.
- 	("altivec_stvx"): New.
- 	("altivec_stvebx"): New.
- 	("altivec_stvehx"): New.
- 	("altivec_stvewx"): New.
- 	("altivec_stvxl"): New.
- 
- 2002-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
- 	* reload1.c (delete_output_reload): Zap spill_reg_store.  Take
- 	care not to delete instructions twice.
- 
- 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* toplev.c: Don't declare environ (it's not used anywhere).
- 	* configure.in: Don't check for declaration of environ.
- 	* config/i386/xm-mingw32.h: Don't #define environ.
- 	* config.in, configure: Regenerate.
- 
- 2002-01-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Set stage1_cflags for powerpc-*-darwin*.
- 	* configure: Regenerate.
- 
- 	* config/interix.h: Set DO_GLOBAL_CTORS_BODY and
- 	DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
- 	* config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
- 	alpha/xm-vms.h.
- 	* config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
- 	LIMITS_H_TEST here, not in m68k/x-next.
- 	* config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
- 	SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.
- 
- 	* config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
- 	LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
- 	* config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.
- 
- 	* config/i386/x-djgpp: Renamed i386/t-djgpp.
- 	* config/m88k/x-dolph: Renamed m88k/t-dolph.
- 	* config/m88k/x-texXD88: Renamed m88k/t-texXD88.
- 	* config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
- 	replacement of quadlib.asm with quadlib.c.
- 
- 	* config/x-interix3, config/xm-interix.h, config/i386/x-beos,
- 	config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
- 	config/rs6000/xm-beos.h: Delete file.
- 
- 	* config.gcc: Update to match above changes.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix comment typos.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 
- 2002-01-10  Dale Johannesen  <dalej@apple.com>
- 
- 	PR optimization/5269
- 	* unroll.c (precondition_loop_p): Make *increment be the correct
- 	sign when n_iterations known, to avoid confusing caller.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* doc/extend.texi (deprecated): Fix a typo.
- 
- Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (update_br_prob_note): Declare.
- 	* cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
- 	(try_forward_edges): Care negative frequencies and update note.
- 	(outgoing_edges_match): Tweek conditional merging heuristics.
- 	(try_crossjump_to_edge): use update_br_prob_note.
- 	* cfglayout.c (fixup_reorder_chain): Likewise.
- 	* cfrtl.c (update_br_prob_note): New.
- 	* ifcvt.c (dead_or_predicable): Call update_br_prob_note.
- 
- 	* i386.c (ix86_decompose_address): Return -1 if address contains
- 	shift.
- 	(legitimate_address_p): Require ix86_decompose_address to return 1.
- 
- 	* gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
- 	(cprop_insn): Likewise.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* toplev.c: Fix formatting.
- 	* tree.c: Likewise.
- 	* tree-dump.c: Likewise.
- 	* unroll.c: Likewise.
- 	* unwind-dw2.c: Likewise.
- 	* unwind-dw2-fde.c: Likewise.
- 	* unwind-dw2-fde-glibc.c: Likewise.
- 	* unwind-sjlj.c: Likewise.
- 
- 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/invoke.texi: Document PDP-11 options.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.h: Fix formatting.
- 
- 2002-01-10  Ira Ruben	<ira@apple.com>
- 
- 	Add __attribute__ ((deprecated)).
- 	* extend.texi: Document __attribute__ ((deprecated)).
- 	* invoke.texi: Document -Wno-deprecated-declarations.
- 	* testsuite/g++.dg/other/deprecated.C: New C++ test.
- 	* testsuite/gcc.dg/deprecated.c: New C test.
- 	* attribs.c (enum attrs): Declare handle_deprecated_attribute().
- 	(c_common_attribute_table): Add "deprecated" entry.
- 	(handle_deprecated_attribute): New function.
- 	* c-decl.c (deprecated_states): New enum.
- 	deprecated_state: State of "deprecated" handling.
- 	(start_decl): Set deprecated_state based on attributes.
- 	(grokdeclarator): Test for deprecated uses, propagate attribute.
- 	* c-typeck.c (build_component_ref): Test for deprecated fields.
- 	(build_external_ref): Test for deprecated primaries.
- 	* diagnostic.c (warn_deprecated_use) New function to issue
- 	warnings about __attribute__ ((depricated)) references.
- 	* flags.h (warn_deprecated_decl): Extern declared for
- 	-W[no-]deprecated-declarations option.
- 	* print-tree.c (print_node): Show deprecated flag status.
- 	* toplev.c (warn_deprecated_decl): Defined.
- 	(W_options): Added "deprecated-declaration".
- 	* toplev.h (warn_deprecated_use): Extern declared.
- 	* tree.h (struct tree_common): Define deprecated_flag.
- 	(TREE_DEPRECATED): New macro to access flag.
- 	* cp/call.c (build_call): Test for deprecated calls.
- 	* cp/class.c (add_implicitly_declared_members): Set global
- 	flag to tell grokdeclarator to not issue deprecated warnings.
- 	* cp/cp-tree.h: Add extern for adding_implicit_members.
- 	* cp/decl.c (deprecated_states): New enum.
- 	(start_decl): Set deprecated_state based on attributes.
- 	(grokdeclarator): Test for deprecated uses, propagate attribute.
- 	* cp/lex.c (do_identifier): Test for deprecated primaries.
- 	* cp/typeck.c (build_component_ref): Test for deprecated fields.
- 
- 2002-01-10  Ira Ruben	<ira@apple.com>
- 
- 	Fix to assign attributes to inline member functions.
- 	* cp/decl.c (start_method): Handle attrlist.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c (expand_field_assignment): Use subreg_lsb().
- 
- 2002-01-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
- 	POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
- 	(find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
- 	Recurse for any operand of AND as long as constant is nonzero.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md: Remove constraints from expanders.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* varasm.c: Fix formatting.
- 	* varray.c: Likewise.
- 	* vmsdbgout.c: Likewise.
- 	* xcoffout.c: Likewise.
- 
- Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
- 	update edge probabilities to match.
- 
- 2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
- 	dependencies.
- 	* doc/languages.texi, doc/sourcebuild.texi: New files.
- 	* doc/configfiles.texi: Make a subsubsection.  Update.
- 	* doc/configterms.texi: Add @node.  Remove warning that this isn't
- 	instructions for building GCC.
- 	* doc/makefile.texi: Make a subsection.
- 	* doc/gccint.texi: Update.
- 
- Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_mov?fcc_const0_?): Fix constraints.
- 
- Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* doc/cpp.texi: Document the __OBJC__ preprocessor macro.
- 
- Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* optabs.c (expand_fix): Look for wider integer modes first.
- 
- 	* i386.md (mov?f): Avoid the fake const double trick for medium
- 	memory model.
- 	(min?f*/max?f*): Prohibit memory operands for i387 variant.
- 	(fop_df_4): Disable for SSE compilation.
- 
- 2002-01-10  Graham Stott  <grahams@redhat.com>
- 
- 	* dwarf2out.c (indirect_string_alloc, output_indirect_string):
- 	Move prototype into DWARF2_DEBUGGING_INFO conditional block.
- 
- 2002-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.
- 
- 2002-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (find_oldest_value_reg): Fix typo in mode change check.
- 	(copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.
- 
- 2002-01-10  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c (can_combine_p): Fix a comment typo.
- 
- 2002-01-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (s-gencheck, s-options, s-specs): Handle an
- 	empty list correctly.  Change loop index $t to $f for
- 	consistency with rest of Makefile.
- 
- 2002-01-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
- 	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
- 
- 	* config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
- 	mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
- 	(altivec_init_builtins): Same.
- 	(altivec_expand_unop_builtin): Return NULL_RTX on error.
- 	(altivec_expand_binop_builtin): Same.
- 	(altivec_expand_ternop_builtin): Same.
- 	(bdesc_dst): New.
- 
- 	* config/rs6000/rs6000.md ("altivec_mtvscr"): New.
- 	("altivec_vctuxs"): Fix typo.
- 	("altivec_vnmsubfp"): Same.
- 	("altivec_dssall"): New.
- 	("altivec_mfvscr"): New.
- 	("altivec_dss"): New.
- 	("altivec_lvsl"): New.
- 	("altivec_lvsr"): New.
- 	("altivec_dstt"): New.
- 	("altivec_dstst"): New.
- 	("altivec_dststt"): New.
- 	("altivec_dst"): New.
- 
- 	* config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
- 	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.
- 
- 2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
- 	function.
- 	* config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
- 	prototype.
- 	* config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.
- 
- 2002-01-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* read-rtl.c: Fix formatting.
- 	* real.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regrename.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.c: Likewise.
- 	* rtl.c: Likewise.
- 
- 2002-01-09  Kazu Hirata  <kazu@hxi.com>
- 
- 	* rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
- 	to extract items in the expr_list chain.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/vax/vax.c (vax_rtx_cost): Never abort.
- 
- 	* config/vax/vax.h (REAL_ARITHMETIC): Define.
- 
- 2002-01-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (cprop_jump): Delete insn if simplified jump is no-op.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
- 	Unify code from various alternatives.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (copy_value): Ignore the copy if the source register
- 	is present in the value chain with a narrower mode.
- 
- 2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* real.c (c4xtoe, toc4x): Do some special conversion on long doubles
- 	for the c4x target. Also improve layout.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
- 	* config/m32r/m32r.md (and ior xor splitters): Swap operands
- 	to match insn patterns.
- 
- 2002-01-09  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
- 	(copyprop_hardreg_forward_1): Likewise.
- 
- 2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (decrement_and_branch_until_zero): Change predicate for
- 	operand 0 from register_operand to reg_or_nonsymb_mem_operand.
- 
- 2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
- 
- 	* ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
- 	gets undefined. For Darwin.
- 
- 2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- 
- 	* config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.
- 
- 2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x/md: Remove extraneous constraints from define_splits.
- 
- 2002-01-08  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (copy_value): Ignore overlapping copies.
- 
- 2002-01-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
- 	as needed to avoid shared structure.
- 
- 2002-01-08  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
- 	H8/300H and H8S.
- 
- 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
- 	LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
- 	documentation of obsolete macros.
- 	* system.h: Poison these macros.
- 	* config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
- 	config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
- 	config/c4x/c4x.h, config/clipper/clipper.h,
- 	config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
- 	config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
- 	config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
- 	config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
- 	config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
- 	config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
- 	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
- 	config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
- 	config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
- 	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
- 	config/sparc/sparc.h, config/stormy16/stormy16.h,
- 	config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
- 	definitions and commented out definitions of obsolete macros.
- 	* config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
- 	of MAX_INT_TYPE_SIZE.
- 
- 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_preferred_reload_class): Never
- 	return ADDR_REGS if it isn't a subset of the given class.
- 	* config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
- 	FP_REGS, but all superclasses as well.
- 
- 	* config/s390/s390.c (s390_function_profiler): Fix thinko.
- 
- 	* config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
- 	cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
- 	must not be a const_int.
- 
- 2002-01-08  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (toplev.o): Depend on options.h.
- 	(gcc.o): Depend on specs.h.
- 
- 2002-01-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (store_expr): Convert VOIDmode constants back to target's
- 	mode.
- 
- 2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/invoke.texi: Markup gcc as @command.  Refer to
- 	http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
- 	of http://gcc.gnu.org/thanks.html.
- 
- 2002-01-08  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.md: Add missing int register
- 	target case to movdf_low.
- 
- 2002-01-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
- 	except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
- 	(cppinit.o): Depend on except.h.
- 	(gencheck.h, options.h, specs.h, s-gencheck, s-options,
- 	s-specs): New rules.
- 
- 	* configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
- 	Don't create specs.h/options.h/gencheck.h here.  Remove
- 	unnecessary variable settings from last argument of AC_OUTPUT.
- 	* config.in, configure: Regenerate.
- 	* intl.c: Hardcode package name as "gcc".
- 
- 	* cppinit.c: Include except.h.
- 	(builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
- 	appropriate.
- 	* unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
- 	Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
- 	(!)USING_SJLJ_EXCEPTIONS.
- 	* doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.
- 
- 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
- 	ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
- 	OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
- 	documentation of obsolete macros.
- 	* system.h: Poison these macros.
- 	* config/d30v/d30v.h, config/ns32k/encore.h,
- 	config/stormy16/stormy16.h: Remove definitions and commented out
- 	definitions of obsolete macros.
- 
- Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>
- 
- 	* objc/objc-act.c (handle_class_ref): Mark the declaration of
- 	%sobjc_class_ref_%s as used - to prevent unwanted compiler
- 	warnings.
- 
- 2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
- 	* config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
- 	to insn adjusting stack/frame pointer.
- 	* config/s390/s390.md (reload_la_64, reload_la_31): Do not
- 	accept operands that cause the insn to be non-splittable.
- 
- 2002-01-08  Graham Stott  <grahams@redhat.com>
- 
- 	* c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
- 	(C_TYPE_FIELDS_VOLATILE): Likewise.
- 	(C_TYPE_BEING_DEFINED): Likewise.
- 	(C_IS_RESERVED_WORD): Likewise.
- 	(C_TYPE_VARIABLE_SIZE): Likewise.
- 	(C_DECL_VARIABLE_SIZE): Likewise.
- 	(C_MISSING_PROTOTYPE_WARNED): Likewise.
- 	(C_SET_EXP_ORIGINAL_CODE): Likewise.
- 	(C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
- 	parenthesis.
- 	(C_DECL_ANTICIPATED): Likewise.
- 	(c_build_type_variant): Add parenthesis.
- 
- 2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* gcc.c (option_map): Remove --version.
- 	(process_command): Handle -fversion following the GNU Coding
- 	Standards.  Partially addresses PR other/704.
- 
- 2002-01-08  Graham Stott  <grahams@redhat.com>
- 
- 	* combine.c (combine_instructions): Fix typo.
- 
- 2002-01-08  Graham Stott  <grahams@redhat.com>
- 
- 	* debug.h: Use "tree" and "rtx" throughout.
- 
- 	* debug.c: Likewise.
- 
- 2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* dbxout.c (dbxout_symbol_location): If a symbol ref is in the
- 	constant pool, use the pool's version of the symbol instead.
- 
- 2002-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* regrename.c (find_oldest_value_reg): Ignore the value chain if
- 	the original register was copied in a mode with a fewer number of
- 	hard registers than the desired mode.
- 	(copyprop_hardreg_forward_1): Likewise.
- 	(debug_value_data): Fix loop test.
- 	* toplev.c (parse_options_and_default_flags): Reenable
- 	-fcprop-registers at -O1.
- 
- 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
- 	(altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.
- 
- 	* config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
- 	predicates.
- 
- 	* config/rs6000/rs6000.md: Add altivec predicate patterns.
- 
- 2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
- 	(pa_output_function_prologue): Output local label at the beginning of
- 	the prologue when profiling.
- 	(hppa_profile_hook): Use the local label rather than the function label.
- 	* pa.h (PROFILE_BEFORE_PROLOGUE): Define.
- 
- 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (print_operand): Remove extra space.
- 	(altivec_expand_unop_builtin): Fix thinko.
- 	(altivec_expand_binop_builtin): Same.
- 	(altivec_expand_ternop_builtin): Same.
- 	(altivec_expand_builtin): Same.
- 
- 2002-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.
- 
- 2002-01-07  Jason Merrill  <jason@redhat.com>
- 
- 	* unwind-dw2.c (execute_cfa_program): Use < again.
- 
- 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* predict.c (combine_predictions_for_insn): Avoid division by zero.
- 
- 2002-01-07  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
- 	Don't allow -1 - x -> ~x simplifications in the first pass.
- 
- 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
- 	arguments.
- 	(altivec_expand_binop_builtin): Same.
- 	(altivec_expand_unop_builtin): Same.
- 	(print_operand): Fix typo.
- 	(bdesc_1arg): Add vupk* variants.
- 
- 	* rs6000.h (rs6000_builtins): Add vupk* enums.
- 
- 	* rs6000.md: Add altivec_vupk* variants.
- 
- 2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
- 	doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
- 	and last update dates.
- 
- 2002-01-07  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/rtl.texi (Flags): Clean up documentation of RTL flags
- 
- 2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (avr_mcu_types): Add new MCU types.
- 	* config/avr/avr.h (CPP_SPEC): Likewise.
- 	(LINK_SPEC): Likewise.
- 	(CRT_BINUTILS_SPECS): Likewise.
- 	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
- 	* doc/invoke.texi (AVR Options): Document them.
- 
- Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
- 	LABEL_NUSES.
- 
- 2002-01-07  Graham Stott  <grahams@redhat.com>
- 
- 	* config/i386/i386.h: Update copyright date.
- 	(HALF_PIC_PTR): Add parenthesis.
- 	(OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
- 	(CONSTANT_ALIGNMENT): Add parenthesis.
- 	(DATA_ALIGNMENT): Likewise.
- 	(LOCAL_ALIGNMENT): Likewise.
- 	(FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
- 	(IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
- 	(CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
- 	(HARD_REGNO_NREGS): Add paranethesis.
- 	(VALID_SSE_REG_MODE): Whitespace.
- 	(VALID_MMX_REG_MODE): Whitespace.
- 	(VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
- 	(ix86_hard_regno_mode_ok): Add parenthesis.
- 	(HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
- 	(RETURN_IN_MEMORY): Whitespace.
- 	(N_REG_CLASSES): Add parenthesis.
- 	(INTEGER_CLASS_P): Add parenthesis and wrap.
- 	(FLOAT_CLASS_P): Likewise.
- 	(SSE_CLASS_P): Likewise.
- 	(MMX_CLASS_P): Likewise.
- 	(MAYBE_INTEGER_CLASS_P): Likewise.
- 	(MAYBE_FLOAT_CLASS_P): Likewise.
- 	(MAYBE_SSE_CLASS_P): Likewise.
- 	(MAYBE_MMX_CLASS_P): Likewise.
- 	(Q_CLASS_P): Likewise.
- 	(GENERAL_REGNO_P): Uppercase macro parameter.
- 	(REX_INT_REGNO_P): Uppercase macro parameter and wrap.
- 	(FP_REGNO_P): Likewise.
- 	(ANY_FP_REGNO_P): Uppercase macro parameter.
- 	(SSE_REGNO_P): Likewise.
- 	(SSE_REGNO): Likewise.
- 	(SSE_REG_P): Likewise.
- 	(SSE_FLOAT_MODE_P): Likewise.
- 	(MMX_REGNO_P): Likewise.
- 	(MMX_REG_P):Likewise.
- 	(STACK_REG_P): Likewise.
- 	(NON_STACK_REG_P): Likewise.
- 	(STACK_TOP_P): Likewise.
- 	(CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
- 	(PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
- 	(SECONDARY_MEMORY_NEEDED): Likewise.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
- 	(MD_ASM_CLOBBERS): Whitespace and wrap.
- 	(MUST_PASS_IN_STACK): Whitespace and wrap.
- 	(RETURN_POPS_ARGS): Add parenthesis.
- 	(INIT_CUMULATIVE_ARGS): Likewise.
- 	(FUNCTION_ARG): Likewise.
- 	(FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
- 	(SETUP_INCOMING_VARARGS): Likewise.
- 	(BUILD_VA_LIST_TYPE):  Add parenthesis.
- 	(EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
- 	parenthsis.
- 	(EXPAND_BUILTIN_VA_ARG): Likewise.
- 	(FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
- 	(INITIALIZE_TRAMPOLINE): Add parenthesis.
- 	(INITIAL_ELIMINATION_OFFSET): Likewise.
- 	(REGNO_OK_FOR_INDEX_P): Add parenthesis.
- 	(REGNO_OK_FOR_BASE_P): Likewise.
- 	(REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
- 	(REGNO_OK_FOR_DIREG_P): Likewise.
- 	(REG_OK_FOR_INDEX_P): Whitespace.
- 	(REG_OK_FOR_BASE_P): Whitespace.
- 	(GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
- 	parenthesis.
- 	(FIND_BASE_TERM): Fix typo.
- 	(LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
- 	(REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
- 	(SYMBOLIC_CONST; Whitespace.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
- 	(ENCODE_SECTION_INFO): Whitespace.
- 	(FINALIZE_PIC): Remove do { ... } while (0).
- 	(PROMOTE_MODE): Wrap in do { ... } while (0).
- 	(CONST_COSTS): Whitespace.
- 	(RTX_COSTS): Add paramethesis, whitespace and wrap.
- 	(REGISTER_MOVE_COST): Add parenthesis.
- 	(MEMORY_MOVE_COST): Likewise.
- 	(EXTRA_CC_MODES): Whitespace.
- 	(SELECT_CC_MODE): Add parenthesis and whitespace.
- 	(DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
- 	(ASM_OUTPUT_LABEL): Add paramethesis.
- 	(ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
- 	(ASM_OUTPUT_REG_POP): Likewise.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- 
- 	* config/i386/i386.c: Update copyright.
- 	(CHECK_STACK_LIMIT): Add parenthesis.
- 	(AT_BP): Uppercase macro parameter.
- 	(x86_64_int_parameter_registers): Constify.
- 	(x86_64_int_return_registers): Likewise.
- 	(ix86_compare_op0): Use rtx.
- 	(construct_container): Constify INTREG parameter.
- 	(function_arg): Use rtx.
- 
- 	* diagnostic.h: Update copyright date.
- 	(output_buffer_state): Add parenthesis.
- 	(output_buffer_format_args): Likewise.
- 
- 	* combine.c (combine_instructions): Replace XEXP (links, 0)
- 	with link.
- 
- 2002-01-06  H.J. Lu <hjl@gnu.org>
- 
- 	* cfgcleanup.c (thread_jump): Fix 2 typos.
- 
- 2002-01-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Add support for --enable-altivec.
- 
- 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* emit-rtl.c (gen_highpart): Add check for NULL_RTX.
- 
- 2002-01-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* objc/objc-act.c (handle_impent): Use assemble_variable to emit
- 	__objc_class_name_*.
- 
- 2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* doc/install.texi (sparcv9-*-solaris2*): Add documentation.
- 
- 2002-01-06  Richard Henderson  <rth@redhat.com>
- 
- 	* reorg.c (emit_delay_sequence): Remove death notes, not merely
- 	nop them out.  Increment label reference count for REG_LABEL.
- 	(fill_slots_from_thread): Frob label reference count around
- 	delete_related_insns.
- 
- 2002-01-05  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c (try_forward_edges): Detect infinite loops while
- 	jump threading.
- 
- 2002-01-05  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (c_expand_body): Don't call outlining_inline_function.
- 	* integrate.c (output_inline_function): Likewise.
- 	* toplev.c (rest_of_compilation): Do it here instead.  Move call
- 	to remove_unnecessary_notes after emitting abstract instance.
- 	Force an emitted nested function to have its parent emited as well.
- 	* dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
- 	for null.
- 	(rtl_for_decl_location): Do not look at reload data structures
- 	before reload has run.
- 
- 2002-01-05  Kazu Hirata  <kazu@hxi.com>
- 
- 	* cse.c: Fix formatting.
- 	* dwarf2asm.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* function.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* global.c: Likewise.
- 
- 2002-01-05  Kazu Hirata  <kazu@hxi.com>
- 
- 	* combine.c: Fix formatting.
- 
- 2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>
- 
- 	PR middle-end/1557
- 	* config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.
- 
- 2002-01-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
- 	as 1 for __powerpc64__ as well.
- 
- 	* config/rs6000/t-aix43 (T_ADAFLAGS): Define.
- 
- 	* alias.c (find_base_value, PLUS/MINUS): If we found a base,
- 	return it.
- 
- 2002-01-05  Daniel Berlin  <dan@dberlin.org>
- 
- 	* lcm.c: Revert change, due to performance regression it causes on
- 	SPEC because it's slightly more conservative (sigh, I hate
- 	edge-based LCM).
- 
- Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_forward_edges): Allow multiple jump threading.
- 
- 2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* doc/cppinternals.texi: Update.
- 
- 2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* doc/invoke.texi (Option Summary) <MMIX Options>: Document
- 	-mbranch-predict, -mreg-stack-fill-bug-workaround and their
- 	negatives.
- 	(MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
- 	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
- 	kludge for pre-october-14th mmix versions to handle new-found bug
- 	with PUSHJ/PUSHGO and the register stack.
- 	* config/mmix/mmix.h (struct machine_function): Rename member
- 	has_call_value_without_parameters to has_call_without_parameters.
- 	All referers changed.
- 	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
- 	TARGET_MASK_BRANCH_PREDICT): New macros.
- 	(TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
- 	-mno-reg-stack-fill-bug-workaround.
- 	* config/mmix/mmix.md ("call"): Set struct machine member
- 	has_call_without_parameters.
- 
- Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (thread_jump): Fix handling of reversed branches.
- 
- Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c: Include tm_p.h
- 	(mark_effect): Fix handling of hard register; fix handling of SET
- 
- 2002-01-04  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.md (anonymous patterns): Check that
- 	operands are registers before using REGNO on them.
- 
- 2002-01-03  Roland McGrath  <roland@frob.com>
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.
- 
- 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* tree.h (expand_expr_stmt_value): Add maybe_last argument.
- 	* c-common.h (genrtl_expr_stmt_value): Likewise.
- 	* stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
- 	(expand_expr_stmt_value): Add maybe_last argument.
- 	Don't warn about statement with no effect if it is the last statement
- 	in expression statement.
- 	* c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
- 	(genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
- 	expand_expr_stmt_value.
- 	(expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
- 	genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
- 	* expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
- 	as maybe_last to expand_expr_stmt_value.
- 
- Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* c-common.c (c_expand_start_cond): Expect the IF_STMT node to
- 	be passed in, do not build it.
- 	(c_begin_if_stmt): New function.
- 	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
- 	* c-common.h (c_expand_start_cond): Update prototype.
- 	(c_begin_if_stmt): Prototype new function.
- 	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
- 	* c-parse.in (if_prefix): Use c_begin_if_stmt,
- 	c_begin_while_stmt and c_finish_while_stmt_cond.
- 
- 2002-01-04  William Cohen  <wcohen@redhat.com>
- 
- 	* config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
- 	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
- 	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
- 	* config/pa/som.h (ASM_FILE_START): Likewise.
- 
- 2002-01-04  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* lcm.c: Include df.h.
- 	Add available_transfer_function prototype.
- 	(compute_available): Rework to use iterative dataflow framework.
- 	(struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
- 	with bb_info in df.h
- 	(available_transfer_function): New function.
- 
- 	* Makefile.in (lcm.o): add df.h to dependencies.
- 
- 2002-01-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (some_operand): Accept HIGH.
- 	(input_operand): Likewise; accept simple references to globals.
- 	(alpha_const_ok_for_letter_p): New, outlined from alpha.h.
- 	(alpha_const_double_ok_for_letter_p): Likewise.
- 	(alpha_extra_constraint): Likewise.
- 	(alpha_preferred_reload_class): Likewise.  Do not force
- 	symbolic constants to memory.
- 	(alpha_legitimate_address_p): Accept simple references
- 	to small_symbolic_operand.
- 	(alpha_legitimize_address): New arg scratch.  Be prepared to be
- 	called when no_new_pseudos.  Emit simple symbolic references.
- 	Split integers into low, high, and rest.
- 	(alpha_expand_mov): Use alpha_legitimize_address.
- 	(some_small_symbolic_mem_operand): New.
- 	(split_small_symbolic_mem_operand): New.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
- 	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
- 	(EXTRA_CONSTRAINT): Likewise.
- 	(PREFERRED_RELOAD_CLASS): Likewise.
- 	(LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md: New post-reload splitters to convert
- 	simplfied symbolic operands to the form that references $29.
- 	(divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
- 	(movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.
- 
- 2002-01-03  Richard Henderson  <rth@redhat.com>
- 
- 	* local-alloc.c (function_invariant_p): Update commentary.
- 
- 2002-01-04  H.J. Lu <hjl@gnu.org>
- 
- 	* toplev.c (rest_of_compilation): Fix a typo when calling
- 	cleanup_cfg.
- 
- 2002-01-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* c-common.c: Fix formatting.
- 	* diagnostic.c: Likewise.
- 	* doloop.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 
- 2002-01-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
- 	of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.
- 
- 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cpperror.c: Update comments and copyright.
- 	* cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
- 	cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.
- 
- 2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* collect2.c (main): Use strcmp when testing for "-shared".
- 
- 2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>
- 
- 	* cppmacro.c: Don't include intl.h.  Update comments.
- 	(new_number_token): Allocate enough buffer for 64-bit unsigned
- 	integers; update prototype.
- 	* cppmain.c: Update comments.
- 
- 2002-01-03  William Cohen  <wcohen@redhat.com>
- 
- 	* function.h (struct function): Add profile.
- 	(current_function_profile): New.
- 	doc/extend.texi: Update documentation.
- 	* final.c (final_start_function): Use current_function_profile
- 	instead of profile_flag.
- 	(profile_after_prologue): Likewise.
- 	* function.c (expand_function_start): Likewise.
- 	(expand_function_start): Likewise.
- 	* config/alpha/alpha.c (direct_call_operand):
- 	(alpha_does_function_need_gp): Likewise.
- 	(alpha_expand_prologue): Likewise.
- 	* config/arm/arm.c (arm_expand_prologue): Likewise.
- 	thumb_expand_prologue: Likewise.
- 	* config/d30v/d30v.c (d30v_stack_info): Likewise.
- 	* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
- 	(fr30_expand_prologue): Likewise.
- 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
- 	* config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
- 	* config/i386/i386.h (FINALIZE_PIC): Likewise.
- 	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
- 	* config/i960/i960.c (i960_output_function_prologue): Likewise.
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
- 	* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
- 	(m32r_expand_prologue): Likewise.
- 	* config/m88k/m88k.c (m88k_layout_frame): Likewise.
- 	(m88k_expand_prologue): Likewise.
- 	* config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
- 	* config/mips/mips.c (compute_frame_size): Likewise.
- 	(mips_expand_prologue): Likewise.
- 	(mips_can_use_return_insn): Likewise.
- 	* config/pa/elf.h (ASM_FILE_START): Likewise.
- 	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
- 	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
- 	* config/pa/som.h (ASM_FILE_START): Likewise.
- 	* config/romp/romp.c (romp_using_r14): Likewise.
- 	* config/rs6000/rs6000.c (first_reg_to_save): Likewise.
- 	(rs6000_stack_info): Likewise.
- 	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	* config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
- 	* config/v850/v850.c (compute_register_save_size): Likewise.
- 
- 2002-01-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation) [DIV]: If
- 	gen_lowpart_common fails, use gen_lowpart_SUBREG.
- 
- 2002-01-03  Turly O'Connor  <turly@apple.com>
- 
- 	* darwin.c (machopic_output_possible_stub_label): Don't generate
- 	stub routines for pseudo-stubs which we've just defined.
- 
- 2002-01-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* builtins.c: Fix formatting.
- 	* c-typeck.c: Likewise.
- 	* combine.c: Likewise.
- 	* expr.c: Likewise.
- 	* loop.c: Likewise.
- 
- 2002-01-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
- 	and return true if _cpp_push_next_buffer pushed a new include
- 	file.
- 	* cpplib.c (_cpp_pop_buffer): Only call obstack_free if
- 	_cpp_pop_file_buffer did not push a new file.
- 	* cpphash.h (_cpp_pop_file_buffer): Update declaration.
- 
- 2002-01-02  Eric Christopher  <echristo@redhat.com>
- 
- 	* final.c (final_scan_insn): Change 0 -> NULL_RTX in
- 	FIND_REG_INC_NOTE call. Update copyright.
- 	* loop.c (canonicalize_condition): Ditto.
- 	* reorg.c (delete_scheduled_jump): Ditto.
- 
- 2002-01-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* gcse.c: Fix formatting.
- 
- 2002-01-03  Graham Stott  <grahams@redhat.com>
- 
- 	* mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
- 	forward defs for struct tags rtx_def, union_tree, rtvec_def
- 	also output corresponding typedefs for rtx, tree, and rtvec.
- 
- 	* system.h: Move forward defs for struct tags rtx_def, union_tree,
- 	rtvec_def along with corresponding typedefs for rtx, tree, and
- 	rtvec to config.h, hconfig.h, tconfig.h.
- 
- 2002-01-03  Graham Stott  <grahams@redhat.com>
- 
- 	* tree.h: Update copyright date.
- 	(IS_EXPR_CODE_CLASS): Add parenthesis.
- 	(TREE_SET_CODE): Add whitespace.
- 	(TREE_CHECK): Add parenthesis.
- 	(TREE_CLASS_CODE): Add parenthesis and wrap long line.
- 	(CST_OR_CONSTRUCTOR_CHECK):
- 	(EXPR_CHECK): Add parenthis, whitespace and wrap line.
- 	(TREE_SYMBOL_REFERENCED): Whitespace.
- 	(INT_CST_LT): Likewise.
- 	(INT_CST_LT_UNSIGNED): Likewise.
- 	(tree_real_cst): Unwrap comment.
- 	(tree_string): Likewise.
- 	(tree_complex): Likewise.
- 	(IDENTIFIER_POINTER): correct cast.
- 	(SAVE_EXPR_CONTEXT): Whitespace.
- 	(EXPR_WFL_FILENAME_NODE): Likewise.
- 	(EXPR_WFL_FILENAME): Remove parenthesis.
- 	(DECL_ORIGIN): Add parenthesis.
- 	(DECL_FROM_INLINE): Use NULL_TREE.
- 	(build_int_2): Whitespace.
- 	(build_type_variant): Add parenthesis.
- 
- 	* gcc/jcf-parse.c: Update copyright date.
- 	(yyparse): Constify resource_filename.
- 
- 2002-01-03  Graham Stott  <grahams@redhat.com>
- 
- 	* rtl.h: Update copyright date.
- 	(RTL_CHECK1): Wrap long line.
- 	(RTL_CHECK2): Likewise.
- 	(RTL_CHECKC1): Wrap long line and whitespace.
- 	(RTL_CHECKC2): Likewise.
- 	(XWINT): Whitespace.
- 	(XINT): Likewise.
- 	(XSTR): Likewise.
- 	(XEXP): Likewise.
- 	(XVEC): Likewise.
- 	(XMODE): Likewise.
- 	(XBITMAP): Likewise.
- 	(XTREE): Likewise.
- 	(XBBDEF): Likewise.
- 	(XTMPL): Likewise.
- 	(X0WINT): Likewise.
- 	(X0INT):Likewise.
- 	(X0UINT): Likewise.
- 	(X0STR): Likewise.
- 	(X0EXP): Likewise.
- 	(X0VEC): Likewise.
- 	(X0MODE): Likewise.
- 	(X0BITMAP): Likewise.
- 	(X0TREE): Likewise.
- 	(X0BBDEF): Likewise.
- 	(X0ADVFLAGS): Likewise.
- 	(X0CSELIB): Likewise.
- 	(X0MEMATTR): Likewise.
- 	(XCWINT): Likewise.
- 	(XCINT): Likewise.
- 	(XCUINT): Likewise.
- 	(XCSTR): Likewise.
- 	(XCEXP): Likewise.
- 	(XCVEC): Likewise.
- 	(XCMODE): Likewise.
- 	(XCBITMAP): Likewise.
- 	(XCTREE): Likewise.
- 	(XCBBDEF): Likewise.
- 	(XCADVFLAGS): Likewise.
- 	(XCCSELIB): Likewise.
- 	(XC2EXP): Likewise.
- 	(INSN_UID): Likewise.
- 	(PREV_INSN): Likewise.
- 	(PATTERN): Likewise.
- 	(INSN_CODE): Likewise.
- 	(PUT_REG_NOTE_KIND): Likewise.
- 	(CODE_LABEL_NUMBER): Likewise.
- 	(NOTE_SOURCE_FILE): Likewise.
- 	(NOTE_BLOCK): Likewise.
- 	(NOTE_EH_HANDLER): Likewise.
- 	(NOTE_RANGE_INFO): Likewise.
- 	(NOTE_LIVE_INFO): Likewise.
- 	(NOTE_BASIC_BLOCK): Likewise.
- 	(NOTE_EXPECTED_VALUE): Likewise.
- 	(NOTE_LINE_NUMBER): Likewise.
- 	(LABEL_NAME): Likewise.
- 	(LABEL_NUSES): Likewise.
- 	(LABEL_ALTERNATE_NAME): Likewise.
- 	(ADDRESSOF_DECL): Likewise.
- 	(JUMP_LABEL): Likewise.
- 	(LABEL_NEXTREF): Likewise.
- 	(REGNO): Likewise.
- 	(ORIGINAL_REGNO: Likewise.
- 	(HARD_REGISTER_NUM_P): Add parenthesis.
- 	(SUBREG_REG): Whitespace.
- 	(SUBREG_BYTE): Likewise.
- 	(ASM_OPERANDS_TEMPLATE): Remove parenthesis.
- 	(ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
- 	(ASM_OPERANDS_OUTPUT_IDX): Likewise.
- 	(ASM_OPERANDS_INPUT_VEC): Likewise.
- 	(ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
- 	(ASM_OPERANDS_INPUT): Likewise.
- 	(ASM_OPERANDS_INPUT_LENGTH): Likewise.
- 	(ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
- 	(ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
- 	(ASM_OPERANDS_INPUT_MODE): Likewise.
- 	(ASM_OPERANDS_SOURCE_FILE): Likewise.
- 	(ASM_OPERANDS_SOURCE_LINE): Likewise.
- 	(MEM_SET_IN_STRUCT_P): Minor reformat.
- 	(TRAP_CONDITION): Whitespace.
- 	(TRAP_CODE): Likewise.
- 	(COND_EXEC_TEST): Likewise.
- 	(COND_EXEC_CODE): Likewise.
- 	(FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
- 	(PHI_NODE_P): Add parenthesis.
- 	(plus_constant): Whitespace and add parenthesis.
- 
- 2002-01-03  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/avr/avr.c: Fix comment typos.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/dsp16xx/dsp16xx.md: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m68hc11/m68hc11.md: Likewise.
- 	* config/mmix/mmix.c: Likewise.
- 	* config/mn10200/mn10200.c: Likewise.
- 	* config/romp/romp.c: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/stormy16/stormy16.md: Likewise.
- 
- 2002-01-03  Graham Stott  <grahams@redhat.com>
- 
- 	* loop.h: Update copyright date.
- 	(LOOP_MOVABLES): Fix typo.
- 	(LOOP_REGS): Likewise.
- 	(LOOP_IVS): Likewise.
- 
- 2002-01-03  Graham Stott  <grahams@redhat.com>
- 
- 	* cppinit.c: Update copyright date.
- 	Don't include output.h
- 	* Makefile.in: Update copyright date.
- 	Update dependency.
- 
- 2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	PR c/5226
- 	* invoke.texi (-mthreads): Remove from documented RS/6000 options.
- 	(-pthread) Add to RS/6000 options.
- 
- 2002-01-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* except.c: Fix comment typos.
- 	* loop.c: Likewise.
- 	* varasm.c: Likewise.
- 	* doc/tm.texi: Fix a typo.
- 
- 2002-01-02  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-typeck.c (output_init_element): Allow initializing static storage
- 	duration objects with compound literals.
- 
- 2002-01-02  Richard Henderson  <rth@redhat.com>
- 
- 	* objc/objc-act.c (hack_method_prototype): Clear current_function_decl
- 	after abusing it.
- 
- 2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gcc.c (default_compilers): Const-ify.
- 	* mips-tdump.c (stab_names): Likewise.
- 	* mips-tfile.c (map_coff_types, map_coff_storage,
- 	map_coff_sym_type, map_coff_derived_type, stabs_symbol,
- 	pseudo_ops_t, pseudo_ops): Likewise.
- 	* protoize.c (default_include): Likewise
- 
- 	* real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
- 	(ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
- 	Add array size in declaration.
- 	(endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
- 	emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
- 	esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
- 	etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
- 	eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
- 	efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
- 	c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
- 	emtens, make_nan): Const-ify.
- 	(TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
- 	DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.
- 
- 2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* config.gcc (ia64-*-*): Set extra_headers.
- 	(alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
- 	* config/alpha/t-osf: Remove.
- 	* config/ia64/t-ia64 (EXTRA_HEADERS): Remove.
- 
- 2002-01-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/t-aix43: Revert previous change.
- 
- 2002-01-02  Jason Merrill  <jason@redhat.com>
- 
- 	* c-decl.c (c_expand_body): Call outlining_inline_function when
- 	emitting an inline function out of line.
- 
- 2002-01-02  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (limbo_die_node): Add created_for member.
- 	(new_die): New argument created_for.  Update all callers.
- 	(mark_limbo_die_list): New.
- 	(dwarf2out_init): Register limbo_die_list as a root.
- 	(dwarf2out_finish): Force insert limbo dies into their function
- 	context.
- 
- 2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/5089
- 	* doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.
- 
- 2002-01-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/h8300/fixunssfsi.c: Update copyright.
- 	Fix comment typos.
- 	Fix formatting.
- 	* config/h8300/h8300.c: Update copyright.
- 	Eliminate warnings.
- 
- 2002-01-02  Kazu Hirata  <kazu@hxi.com>
- 
- 	* config/romp/romp.c: Fix comment formatting.
- 	* config/romp/romp.h: Likewise.
- 	* config/romp/romp.md: Likewise.
- 	* config/s390/s390.c: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 
- 2002-01-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-common.h (genrtl_expr_stmt_value): Declare.
- 	* c-semantics.c (genrtl_goto_stmt): Redirect to...
- 	(genrtl_goto_stmt_value): ... this new function.  Pass new
- 	argument down to expand_expr_stmt_value, taking
- 	TREE_ADDRESSABLE into account.
- 	* c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
- 	STMT_EXPR as addressable, i.e., one whose result we want.
- 	* expr.c (expand_expr): Don't save expression statement value
- 	of labeled_blocks or loop_exprs.
- 	* stmt.c (expand_expr_stmt): Redirect to...
- 	(expand_expr_stmt_value): ... this new function.  Use new
- 	argument to tell whether to save expression value.
- 	(expand_end_stmt_expr): Reset last_expr_type and
- 	last_expr_value if we don't have either.
- 	* tree-inline.c (declare_return_variable): Mark its use
- 	statement as addressable.
- 	* tree.h: Document new use of TREE_ADDRESSABLE.
- 	(expand_expr_stmt_value): Declare.
- 
- 2002-01-01  Tom Rix  <trix@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
- 	rs6000_emit_allocate_stack.
- 
- 2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>
- 
- 	* configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
- 	${srcdir}/ginclude/ to every entry in extra_headers.
- 	* configure: Regenerate.
- 	* ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
- 	* ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
- 	* ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
- 	* ginclude/proto.h: Rename to config/convex/proto.h.
- 
- Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* attribs.c (handle_vector_size_attribute): Use host_integerp
- 	and tree_int_cst; remove warnings.
- 	* caller-save.c (insert_restore): Add cast to get rid of warning.
- 	(insert_save): Likewise.
- 	* emit-rtl.c (adjust_address_1, offset_address): Likewise.
- 	* regmove.c (find_matches): Add temporary var to kill a warning.
- 
- 2002-01-01  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
- 	LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
- 	* config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
- 	(vms-dwarf2eh.o): Add Makefile rule.
- 	* config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
- 	* config/alpha/vms-dwarf2eh.asm: New file.
- 
- 	* gcc.c (delete_if_ordinary): Delete all versions.
- 
- 2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md: Update FIXME to not mention
- 	define_constants.
- 	(MMIX_rJ_REGNUM): New define_constants constant.
- 	("movqi", "movsi", "movdi", "*movdicc_real_foldable",
- 	"*movdicc_real"): Adjust contraints formatting.
- 	("*bCC_foldable"): Add %+ for P in output format and delete FIXME
- 	for branch prediction.
- 	("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
- 	output template.
- 	("*call_real", "*call_value_real", "nonlocal_goto_receiver",
- 	"*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
- 	number.  Delete related FIXMEs.
- 	* config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
- 	from number to MMIX_rJ_REGNUM.
- 	(TARGET_MASK_BRANCH_PREDICT): New.
- 	(TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
- 	(TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
- 	value.  Add -mbranch-predict and -mno-branch-predict.
- 	(TARGET_VERSION): Drop date.
- 	(ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
- 	* config/mmix/mmix.c (mmix_encode_section_info): Correct condition
- 	for finding out global symbols.
- 	(mmix_asm_output_labelref): Revert condition for global symbol.
- 	(mmix_print_operand): <case '+'>: Emit P for a likely branch.
- 	(mmix_print_operand_punct_valid_p): A '+' is valid.
- 
- See ChangeLog.6 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.8 gcc-4.1.0/gcc/ChangeLog.8
*** gcc-4.0.2/gcc/ChangeLog.8	Thu Jan  1 00:32:08 2004
--- gcc-4.1.0/gcc/ChangeLog.8	Thu Jan  1 00:00:00 1970
***************
*** 1,14448 ****
- 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototypes.
- 	* config/h8300/h8300.c (const_le_2_operand): Change to
- 	const_int_le_2_operand.
- 	(const_int_le_6_operand): Change to const_int_le_6_operand.
- 	* config/h8300/h8300.md (two peepholes): Update the function
- 	names.
- 
- 2002-12-31  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/install.texi (Testing): Fixed typo.
- 
- 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
- 	(TRAMPOLINE_SIZE): Support the normal mode.
- 	(INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
- 
- 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (pending_lang_change): Declare.
- 
- 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
- 	descriptions.
- 
- 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* gcc/doc/invoke.texi (Optimization Options): List the options
- 	enabled by each -O flag.
- 
- 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Configuration): Explicitly refer
- 	gcc/config.gcc for a list of cpu models.
- 
- 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h: Fix comment typos.
- 
- 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
- 
- 2002-12-30  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/install.texi (Testing): Mention Jacks.
- 
- 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/gcc.texi, doc/gccint.texi: Update last modification dates.
- 
- 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Use extu.w in more
- 	cases.
- 	(compute_logical_op_length): Update to reflect the change in
- 	output_logical_op.
- 	(compute_logical_op_cc): Likewise.
- 
- 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/service.texi: Uncomment and update FAQ link.
- 
- 2002-12-30  Andreas Jaeger  <aj@suse.de>
- 
- 	* unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
- 
- 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
- 
- 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Use extu.w if we
- 	are clearing the most significant byte.
- 	(compute_logical_op_length): Update to reflect the change in
- 	output_logical_op.
- 	(compute_logical_op_cc): Likewise.
- 
- 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Give internal names to anonymous
- 	insns.
- 
- 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Reorder some insns.
- 
- 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add prototypes for
- 	const_int_qi_operand and const_int_hi_operand.
- 	* config/h8300/h8300.c (const_int_qi_operand): New.
- 	(const_int_hi_operand): Likewise.
- 	* config/h8300/h8300.md (three peepholes): New.
- 
- 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
- 	Use @copying.
- 
- 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* configure.in: Increase makeinfo version requirement to 4.[2-9].
- 	* configure: Regenerate.
- 	* doc/install.texi: Update Texinfo version requirement.
- 
- 2002-12-28  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.c (x86_function_profiler): Mark labelno as
- 	possibly unused.
- 
- 	* c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
- 	correct format.
- 
- 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorhi_shift_8): Change the name to
- 	*iorhi_ashift_8.
- 	(*iorhi_lshiftrt_8): New.
- 
- 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/include/texinfo.tex: Update to version 2002-12-26.16.
- 
- 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
- 
- 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Fix comment typos.
- 	Update copyright.
- 	* config/h8300/h8300.c: Fix comment typos.
- 
- 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
- 
- 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/athlon.md: Fix comment typos.
- 	* config/i386/crtdll.h: Likewise.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i386/k6.md: Likewise.
- 	* config/i386/mingw32.h: Likewise.
- 	* config/i386/pentium.md: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i386/xmmintrin.h: Likewise.
- 
- 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
- 
- 	* ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
- 	INSN_P before checking to see if it is dead.
- 	(mark_all_insn_unnecessary): Similarly.
- 	(ssa_eliminate_dead_code): Similarly.
- 	* rtl.h (struct rtx_def): Update comments for in_struct usage
- 	in dead code elimination pass.
- 	(INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
- 
- 2002-12-26  Andreas Schwab  <schwab@suse.de>
- 
- 	* config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
- 
- 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Convert to
- 	tartet_flags_explicit.
- 	* config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
- 	Compact target_flags bits.
- 	(TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
- 	(TARGET_SWITCHES): Delete references to *_SET flags.
- 
- Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (memory attribute): Fix setcc attribute.
- 
- 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* output.h: Fix comment typos.
- 	* predict.c: Likewise.
- 	* print-tree.c: Likewise.
- 	* profile.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* ra-colorize.c: Likewise.
- 	* ra-debug.c: Likewise.
- 	* ra-rewrite.c: Likewise.
- 	* ra.c: Likewise.
- 	* ra.h: Likewise.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* regclass.c: Likewise.
- 
- 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand_address): Do not negate
- 	a negative number when printing one.
- 
- 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add prototypes for
- 	output_plussi, compute_plussi_length, and compute_plussi_cc.
- 	* config/h8300/h8300.c (output_plussi): New.
- 	(compute_plussi_length): Likewise.
- 	(compute_plussi_cc): Likewise.
- 	* config/h8300/h8300.md (addsi_h8300h): Call
- 	output_plussi, compute_plussi_length, and compute_plussi_cc.
- 
- 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two peepholes): Use match_dup instead
- 	of match_operand in the new patterns.
- 
- 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/include/texinfo.tex: Update to version 2002-11-25.11.
- 
- 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (enable-coverage): Add SELF_COVERAGE.
- 	* profile.c (end_branch_prob): Use SELF_COVERAGE.
- 
- 2002-12-24  Jim Wilson  <wilson@redhat.com>
- 
- 	* alias.c (record_set): Handle multi-reg hard registers.
- 
- 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* regmove.c: Fix comment typos.
- 	* reload.c: Likewise.
- 	* reload1.c: Likewise.
- 	* resource.c: Likewise.
- 	* rtl.def: Likewise.
- 	* rtl.h: Likewise.
- 	* rtlanal.c: Likewise.
- 	* sched-deps.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* ssa-ccp.c: Likewise.
- 	* ssa.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* system.h: Likewise.
- 	* tlink.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tracer.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* tree.c: Likewise.
- 	* tree.h: Likewise.
- 	* unroll.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
- 
- 	* doc/install.texi: Remove i386-*-isc, i860-*-bsd,
- 	m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
- 	* doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
- 	DG/UX entries.
- 	* doc/md.texi: Remove AMD 29K entries.
- 	* doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
- 	1.38.1, NewsOS, RT PC, WE32K entries.
- 
- 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR/8763
- 	* config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
- 	(altivec_vspltisw_v4sf): Name pattern.
- 	(altivec_vslw_v4sf): New pattern.
- 
- 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/include/gcc-common.texi: Define DEVELOPMENT.
- 
- 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (update_alignment_for_field): Correct handling of
- 	unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
- 	* doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
- 	bitfield does not affect alignment.
- 
- 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* expr.c (expand_assignment): Apply special treatment to
- 	ARRAY_TYPE.
- 
- 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype of
- 	expand_a_shift.
- 	* config/h8300/h8300.c (expand_a_shift): Change the return
- 	type to void.
- 	* config/h8300/h8300.md: Update all the uses of
- 	expand_a_shift.
- 
- 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.c (save_expr): Allow either side of a dyadic operand to be
- 	constant.
- 
- 	* doc/portability.texi (portability): Update portability goals.
- 
- 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_a_shift): Remove unused code.
- 
- 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (update_alignment_for_field): Guard use of
- 	ADJUST_FIELD_ALIGN with #ifdef.
- 
- 	* stor-layout.c (update_alignment_for_field): Use
- 	ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
- 	bitfield when PCC_BITFIELD_TYPE_MATTERS.
- 
- 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genautomata.c: Fix comment typos.
- 
- Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* params.def (tracer-min-branch-probability-feedback): Fix default.
- 	* final.c (compute_alignments): Use profile to avoid code bloat.
- 
- 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Make shift insn
- 	sequences end with a valid cc0 whenever possible.
- 
- 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (negsf2): New.
- 	(*negsf2_h8300): Likewise.
- 	(*negsf2_h8300hs): Likewise.
- 
- 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* integrate.c (output_inline_function): Don't hold private
- 	pointers to 'struct function' over GC calls.
- 
- 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
- 	NO_FPSCR_VALUES.
- 	* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
- 
- 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (zero_extendqisi2): Correct the
- 	length.
- 
- 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
- 	second alternative "#".
- 	(*zero_extendqihi2_h8300hs): Likewise.
- 	(a define_split): New.
- 
- 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	split_adds_subs.
- 	Add prototypes for const_le_2_operand and const_le_6_operand.
- 	* config/h8300/h8300.c (split_adds_subs): Add an argument to
- 	specify whether inc/dec should be used when possible.
- 	(const_le_2_operand): New.
- 	(const_le_6_operand): Likewise.
- 	* config/h8300/h8300.md (two peepholes): New.
- 
- 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fr30/fr30.md: Fix a comment typo.
- 	* config/i386/i386.c: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 
- 2002-12-20  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/rs6000/spe.h (__ev_subifw): Reverse arguments.
- 	(__ev_subw, __ev_subiw): New.
- 	(ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
- 	ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
- 
- 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
- 
- 	* pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
- 	* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
- 	* pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
- 	TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
- 
- 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add prototypes for
- 	incdec_operand and eqne_operator.
- 	* config/h8300/h8300.c (incdec_operand): New.
- 	(eqne_operator): Likewise.
- 	* config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
- 	(CONST_OK_FOR_O): Likewise.
- 	(CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
- 	CONST_OK_FOR_O.
- 	* config/h8300/h8300.md (UNSPEC_INCDEC): New.
- 	(addhi3_incdec): New.
- 	(addsi3_incdec): Likewise.
- 	(two peepholes): Likewise.
- 
- 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (dosize): Remove warnings.
- 	(print_operand): Likewise.
- 
- 2002-12-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (decl_has_samegp): New.
- 	(samegp_function_operand): Use it.  Rename from
- 	current_file_function_operand.
- 	(direct_call_operand): Handle -msmall-text via symbol->jump.
- 	(tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
- 	(tls_symbolic_operand_type): Likewise.
- 	(alpha_encode_section_info): Likewise.  Handle -msmall-text.
- 	(alpha_function_ok_for_sibcall): Use decl_has_samegp.
- 	(alpha_end_function): Set symbol->jump for functions defined in
- 	the text section.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
- 	(TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
- 	(PREDICATE_CODES): Update.
- 	* config/alpha/alpha.md (call patterns): Update for
- 	samegp_function_operand rename; use !samegp reloc if
- 	TARGET_EXPLICIT_RELOCS.
- 	* doc/invoke.text: Document -msmall-text and -mlarge-text.
- 
- 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
- 
- 	* config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
- 	all registers capable of holding a double float.
- 	(*rcond): change name of "reverse branch" insns to
- 	something more meaningful.
- 	(*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
- 	comparisons properly.
- 	(*ffs): Change operand 0 from write to read-modify-write.
- 	(*ffsssi2): Drop constraints from define_expand.
- 
- 	* config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
- 	MOVE_RATIO as default for store operations.
- 
- 	* config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
- 	LONG_REGS class.
- 	(CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
- 	(GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
- 	* config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
- 
- 	* config/ns32k/STATUS: New File
- 	* config/ns32k/NOTES: New file.
- 
- 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
- 	option for S/390 and zSeries.
- 	* config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
- 	s390_arch_string): New variables.
- 	(override_options): Checking for options and setting of
- 	appropriate target_flags, cpu and arch flags.
- 	* config/s390/s390.h: (processor_type): New enum.
- 	(TARGET_SWITCHES): New switches -mesa/zarch.
- 	* config/s390/s390.md: New attribute 'cpu'.
- 
- 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-pretty-print.h: Fix comment typos.
- 	* integrate.c: Likewise.
- 	* varasm.c: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/fr30/fr30.md: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ip2k/ip2k.md: Likewise.
- 	* config/m68hc11/m68hc11-crt0.S: Likewise.
- 	* config/m68hc11/m68hc11.h: Likewise.
- 	* config/m68hc11/m68hc11.md: Likewise.
- 	* config/m68hc11/m68hc12.h: Likewise.
- 	* config/mcore/mcore.md: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/mmix/mmix-modes.def: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 
- 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (output_a_shift): Clean up the code to
- 	output shifts using rotation.
- 
- 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* flow.c (allocate_reg_life_data): Reset REG_FREQ.
- 
- 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (pushqi_h8300): Don't push the stack
- 	pointer.
- 	(pushqi_h8300hs): Likewise.
- 	(pushhi_h8300): Likewise.
- 	(pushhi_h8300hs): Likewise.
- 
- Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sched-rgn.c (init_regions): Update comment.
- 
- 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (define_attr type): Remove altivec.
- 	* config/rs6000/altivec.md (movv4si_internal): Set correct instruction
- 	attributes.
- 	(movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
- 	(get_vrsave_internal,set_vrsave_internal): Same.
- 	(altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
- 	(absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
- 	(altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
- 
- 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
- 	    Danny Smith  <dannysmith@users.sourceforge.net>
- 	    Eric Kohl  <ekohl@rz-online.de>
- 
- 	* config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
- 	attributes incompatible with fastcall attribute.
- 	(ix86_handle_regparm_attribute): Likewise.
- 
- 	* config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
- 	fastcall types.
- 
- 	* config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
- 	attributes.
- 	(ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
- 	* config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
- 	* config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
- 	i386_pe_output_labelref rather than here.
- 	(gen_fastcall_suffix): New function. Decorates a label name with the
- 	fastcall prefix (@) and the stdcall suffix.
- 	(i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
- 	has a fastcall attribute.
- 	(i386_pe_output_labelref): New function. Outputs a label reference.
- 	* config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
- 	valid attribute.
- 	(ix86_return_pops_args): Fastcall functions pop the stack.
- 	(init_cumulative_args): Reserve registers ECX and EDX if function has
- 	fastcall attribute.
- 	(function_arg): Use registers ECX and EDX if function has fastcall
- 	attribute.
- 	* config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
- 	(DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
- 	(FASTCALL_PREFIX): Define as '@'.
- 	* config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
- 	attributes.
- 	* doc/extend.texi: Add documentation of fastcall attribute.
- 
- 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: FORBUILD when build!=host changed from
- 	../$build-alias to ../build-$build_alias to match change made
- 	in top directory.
- 	* configure: Regenerated.
- 
- 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/8988
- 	* loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
- 	the biv when eliminating.
- 
- 2002-12-19  Devang Patel  <dpatel@apple.com>
- 	* gcc.c (struct default_compiler): Recognizes input file name with
- 	.CPP extension as C++ source files
- 	* cp/lang-spec.h: Same
- 	* doc/invoke.texi:  Add documentation for .CPP support.
- 
- 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR 8553
- 	* config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
- 	registers.
- 	("absv16qi2"): Same.
- 	("absv4si2"): Same.
- 	("absv4sf2"): Same.
- 	("altivec_abss_v16qi"): Same.
- 	("altivec_abss_v8hi"): Same.
- 	("altivec_abss_v4si"): Same.
- 
- 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
- 	"*tstqiCCT", "*tstqiCCT_cconly"): New insns.
- 
- 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/8340
- 	* stmt.c (expand_asm_operands): Produce an error when
- 	the PIC register is clobbered.
- 
- 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (OBJS): Add alloc-pool.o
- 	(alloc-pool.o): New object.
- 
- 	* alloc-pool.c: New file.
- 	* alloc-pool.h: New file.
- 
- 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* gcc.c (validate_switches): Robustify against skipping past '\0'.
- 
- 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config.gcc: Set extra_objs in the generic Darwin rule,
- 	not in the machine-specific rules.
- 
- 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.5: Likewise.
- 	* cppexp.c: Likewise.
- 	* df.c: Likewise.
- 	* gcov.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* reload1.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* timevar.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree.h: Likewise.
- 	* varasm.c: Likewise.
- 	* config/fr30/fr30.md: Likewise.
- 	* config/i386/i386.c: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/pa/pa.c: Likewise.
- 
- 2002-12-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* basic-block.h (flow_bb_inside_loop_p): Correct prototype.
- 
- 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR 8551
- 	* config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
- 	macro.
- 	(vec_cmplt C++ functions): Reverse arguments.
- 
- 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/t-rs6000: Move contents to t-fprules,
- 	add rules for dependencies of rs6000.o and to build rs6000-c.o
- 	* config/rs6000/t-fprules: New file from t-rs6000.
- 	* config/rs6000/t-beos: Remove soft-fp rules.
- 	* config/rs6000/t-ppccomm: Likewise.
- 	* config/rs6000/t-newas: Likewise.
- 	* config/rs6000/t-rs6000-c-rule: Delete.
- 	* config.gcc: Use t-fprules for rs6000/ ports when appropriate.
- 	Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
- 	Create generic Darwin rules.
- 
- 	* gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
- 
- 2002-12-18  Doug Evans  <dje@sebabeach.org>
- 
- 	* m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
- 	and LIT_NAME_P.
- 	(move_src_operand): Remove compile-time warning.
- 	* m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
- 
- 2002-12-18  Jason Merrill  <jason@redhat.com>
- 
- 	* unwind-dw2-fde.c (frame_downheap): Split out from...
- 	(frame_heapsort): Here.
- 
- 2002-12-17  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
- 	(build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
- 
- 	* gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
- 
- 	* calls.c (expand_call): Don't try to be clever about expanding
- 	the return slot address.
- 
- 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
- 	Define.
- 
- 2002-12-17  Jason Merrill  <jason@redhat.com>
- 
- 	* genmultilib: Use 'cd ./foo'.
- 
- 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/c-tree.texi: Restore deliberate spelling mistakes.
- 
- 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/c-tree.texi: Fix typos and follow spelling conventions.
- 	* doc/cpp.texi: Likewise.
- 	* doc/extend.texi: Likewise.
- 	* doc/gty.texi: Likewise.
- 	* doc/install.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 	* doc/passes.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 	* doc/sourcebuild.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* doc/invoke.texi: Minor spelling and grammar fixes.
- 
- 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_output_constant_pool): Replace
- 	ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
- 
- Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* convert.c (convert_to_real): Disable function transformation for
- 	now.
- 
- 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gcc.c (handle_braces): Allow '@' as a switch name.
- 
- 2002-12-16  Jason Merrill  <jason@redhat.com>
- 
- 	* calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
- 	with special struct-return ABIs.
- 
- 	* c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
- 	doesn't match the begin SCOPE_STMT in partialness.
- 
- 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* genmultilib: Create temporary files in unique subdirectory.
- 
- 	* gcc.c (validate_switches): Allow '@' as a switch name.
- 
- 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* Makefile.in (gcov-iov.h): Improve portability.
- 
- Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
- 	gas
- 	* mips.md (tablejump insn): Likewise.
- 
- 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/include/gcc-common.texi: Change version number to 3.4.
- 
- 2002-12-16  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixlib.h: add: #include <signal.h>
- 	* fixinc/fixincl.c: remove: #include <signal.h>
- 
- Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (EXTRA_CONSTRAINT_Z): New macro.
- 	(EXTRA_CONSTRAINT): Use it.
- 	* sh.md (anddi3): Use 'Z' constraint for alternative 2.
- 
- 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc (need_64bit_hwint): New variable.
- 	(alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
- 	mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
- 	sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
- 	sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
- 	Set it.
- 	(powerpc*-*-darwin*): Unset it.
- 	(alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
- 	i?86-*-interix*, sparc64-*-openbsd*): Remove references to
- 	deleted/nonexistent xm-*.h headers.
- 	* configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
- 	target set need_64bit_hwint in config.gcc.
- 	* configure, config.in: Regenerate.
- 
- 	* hwint.h: Overhaul.  Don't bother trying int for
- 	HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
- 	decision to force 64-bit HOST_WIDE_INT on
- 	NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
- 	not visible at this point.  Don't allow prior definition of
- 	any macro defined by this file.
- 
- 	* config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
- 	HOST_BITS_PER_WIDE_INT.
- 	* config/c4x/c4x.h: Adjust redefinition of
- 	HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
- 	* config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
- 	config/i386/xm-i386-interix.h: Delete file.
- 
- 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
- 	    John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
- 	* pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
- 
- 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mkconfig.sh: Correct comment.  Add copyright boilerplate.
- 
- 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
- 	config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
- 	config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
- 	config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
- 	config/v850/t-v850:  Correct dependencies and normalize
- 	compilation commands for files that include coretypes.h and tm.h.
- 
- 	* config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
- 	not config.h and system.h.
- 
- Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (flags_reg_operand):  New function.
- 	* i386.h (PREDICATE_CODES): Add flags_reg_operand.
- 	* i386.md (cmov splitter, movqicc): Use new predicate.
- 
- Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movqicc splitter): Fix template.
- 
- 2002-12-13  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
- 	* calls.c (expand_call): Handle it.
- 	* tree-inline.c (struct inline_data): Remove target_exprs field.
- 	(optimize_inline_calls): Don't initialize it.
- 	(expand_call_inline): Don't modify it.  Handle
- 	CALL_EXPR_HAS_RETURN_SLOT_ADDR.
- 	(declare_return_variable): Take return slot addr.
- 	* langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
- 	to return_slot_addr.
- 	* langhooks-def.h, langhooks.c: Adjust.
- 	* explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
- 	a decl with no DECL_INITIAL.
- 
- 	* expr.c (expand_expr): Don't discard the target of a call which
- 	returns in memory.
- 
- 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppinit.c (path_include): Take an environment variable name.
- 	Tidy up.
- 	(init_standard_includes): Simplify environment handling, and
- 	move to ...
- 	(cpp_read_main_file): ...here as -nostdinc should not affect
- 	environment variable paths.
- 
- 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_millicode_call): Correct typo.
- 	(output_call): Likewise.
- 
- Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.c (print_operand) <case N>: Check
- 	operand's range.  Print value directly, without aid from
- 	output_address.
- 	<case U>: New.
- 	<case S>: Make sure argument to fprintf has the right type.
- 	* config/mn10300/mn10300.h (OK_FOR_T): New macro.
- 	(EXTRA_CONSTRAINT): Adjust.
- 	* config/mn10300/mn10300.md: Add new all-QImode pattern for
- 	bclr.  Use %U for immediate operands of bset and bclr.
- 	(iorqi3): New expand, with insns for AM33 and mn10300.
- 
- Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_register_operand): New function.
- 	(prepare_move_operands): Use it.
- 	* sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
- 	* sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
- 	(movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
- 	(movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
- 	(movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
- 	(movv2si_i): Likewise.
- 
- 2002-12-13  Jim Wilson  <wilson@redhat.com>
- 
- 	* doc/extend.texi (Complex Numbers): Update info on debug info.
- 
- 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (addhi3_h8300): Remove the last
- 	alternative.
- 
- 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* hooks.h (hook_tree_tree_bool_false): Declare
- 	hook_bool_tree_tree_false instead.
- 
- 2002-12-12  Devang Patel  <dpatel@apple.com>
- 
- 	* doc/invoke.texi: Document Darwin linker options, -bundle
- 	-bind_at_load, -all_load and -arch_errors_fatal
- 
- 2002-12-12  Jim Wilson  <wilson@redhat.com>
- 
- 	* dbxout.c (dbxout_fptype_value): New.
- 	(dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
- 
- 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-decl.c: Fix a comment typo.
- 	* cfg.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 	* c-typeck.c: Likewise.
- 	* dominance.c: Likewise.
- 	* dwarf2asm.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* final.c: Likewise.
- 	* flow.c: Likewise.
- 	* function.c: Likewise.
- 	* gcc.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* integrate.c: Likewise.
- 	* loop.c: Likewise.
- 	* loop.h: Likewise.
- 	* output.h: Likewise.
- 	* profile.c: Likewise.
- 	* ra.h: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.c: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* stmt.c: Likewise.
- 	* tree.h: Likewise.
- 	* vmsdbgout.c: Likewise.
- 
- 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Add a new peephole2.
- 
- 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Accept a constant
- 	that's accepted by CONST_OK_FOR_J.
- 
- 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (CONST_OK_FOR_J): New.
- 	(CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
- 	* config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
- 	(*addhi_h8300hs): Likewise.
- 
- Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
- 	(sh_register_move_cost): Add clause for SImode fp-fp moves.
- 	Increase cost for moves involving multiple general purpose registers.
- 	* sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
- 	TARGET_FMOVD.
- 	(HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
- 	registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
- 	(enum reg_class reg_class_from_letter): No longer const.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
- 	REGCLASS_HAS_GENERAL_REG.
- 	Handle SImode moves from/to fp registers.
- 	! TARGET_SHMEDIA && TARGET_FMOVD.
- 	(SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
- 	* sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
- 
- 2002-12-12  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
- 	change and some warnings.
- 
- 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/md.texi (pushm): Fix a typo.
- 
- 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.c (mips_output_conditional_branch): Support
- 	PIC-safe out-of-range branch and branch-likely.
- 	* config/mips/mips.md (attr length): PIC-safe out-of-range
- 	branches are longer.
- 	("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
- 	unused code to support indirect jumps.
- 
- 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (GTFILES): Add $(host_xm_file_list) and
- 	$(tm_file_list).
- 
- 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
- 
- Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cmove splitters): Avoid creation of unnecesary subregs.
- 
- 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
- 	(MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
- 	BIGGEST_ALIGNMENT.
- 	(PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
- 	(FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
- 
- 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Correct dump file names.
- 
- 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
- 	name to globalize_label or assemble_name.
- 
- Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
- 	if not TARGET_SHMEDIA.
- 
- Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (REG_CLASS_HAS_FP_REG): New.
- 	(REGISTER_MOVE_COST) Use it.  Put body into a function and
- 	move it into:
- 	* sh.c (sh_register_move_cost).
- 	* sh-protos.h (sh_register_move_cost): Declare.
- 
- 	* sh.c (sh_expand_builtin): Abort for unexpected nop values.
- 	(sh_adjust_cost): Always return a value.
- 
- Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (REG_CLASS_HAS_GENERAL_REG): New.
- 	(REGISTER_MOVE_COST): Use it.
- 
- 2002-12-11  Richard Henderson  <rth@redhat.com>
- 
- 	* tree.h (MODULE_LOCAL_P): Kill.
- 	* varasm.c (default_binds_local_p_1): Use decl_visibility instead.
- 
- 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two define_peephole2): New.
- 
- 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
- 	(CONST_OK_FOR_K): Likewise.
- 	(CONST_OK_FOR_M): Likewise.
- 	(CONST_OK_FOR_LETTER_P): Do not use the above macros.
- 
- 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (builtin_define_type_max): Handle unsigned
- 	types too.
- 
- 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* haifa-sched.c (rank_for_schedule): Correct style.
- 
- 2002-12-10  Per Bothner  <pbothner@apple.com>
- 
- 	* cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
- 	directive_index into an unsigned field and a new is_directive field.
- 	* cppinit.c (mark_named_operators):  Update to set new fields.
- 	* cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
- 	* cpplib.c [_cpp_handle_directive]:   Test is_directive field.
- 	No longer need to subtract 1 from directive_index.
- 	(_cpp_init_directives):  No longer need to add 1 to directive_index.
- 	* cpptrad.c (scan_out_logical_line):  Use is_directive field.
- 
- 2002-12-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin): Remove -funsafe-math-optimizations
- 	check for evaluating sqrt of a constant at compile time.
- 	* simplify-rtx.c (simplify_unary_operation): Likewise.
- 
- 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
- 
- 	PR other/8882
- 	* doc/tm.texi (PUSH_ARGS): Remove misplaced line.
- 
- 2002-12-10  Devang Patel  <dpatel@appple.com>
- 
- 	* config/darwin.h(LINK_SPEC): Add darwin specific linker options.
- 	* doc/invoke.texi: Add new "Darwin Options" section.
- 
- 2002-12-10  Jim Wilson  <wilson@redhat.com>
- 
- 	* rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
- 	memory.
- 
- 2002-12-10  Andrew Haley  <aph@redhat.com>
- 
- 	* cse.c (cse_insn): Don't cse past a basic block boundary.
- 
- 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
- 	-shared.
- 	* config/alpha/linux-elf.h (LIB_SPEC): Likewise.
- 	* config/alpha/linux.h (LIB_SPEC): Likewise.
- 	* config/arm/linux-elf.h (LIB_SPEC): Likewise.
- 	* config/pa/pa-linux.h (LIB_SPEC): Likewise.
- 	* config/sparc/linux.h (LIB_SPEC): Likewise.
- 	* config/sparc/linux64.h (LIB_SPEC): Likewise.
- 
- 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
- 
- 	* doc/invoke.texi: Document UltraSparc III option.
- 
- 2002-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
- 	__tune_pentium2__ and __tune_pentium3__ as necessary.
- 
- 2002-12-09  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (gcc_target): Add cannot_force_const_mem.
- 	* target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
- 	(TARGET_INITIALIZER): Add it.
- 	* varasm.c (force_const_mem): Fail if cannot_force_const_mem.
- 	* expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
- 	* reload1.c (reload): Likewise.
- 	* hooks.c (hook_bool_rtx_false): New.
- 	* hooks.h: Declare it.
- 
- 	* config/i386/i386.c (ix86_cannot_force_const_mem): New.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
- 	(ix86_expand_move): Remove de-const-pooling hack.
- 
- Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (dump_file): Fix order to match reality.
- 
- 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
- 	(store_multiple): Likewise.
- 
- 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
- 	function pointers in page 0.
- 
- 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
- 	definition
- 	(MEMBER_TYPE_FORCES_BLK): Move.
- 	* config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
- 	aggregate arguments.
- 	(ia64_function_value): Use PARALLEL to return aggregate values.
- 
- 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
- 	* defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
- 	* calls.c (store_unaligned_arguments_into_pseudos) Remove
- 	FUNCTION_ARG_REG_LITTLE_ENDIAN.
- 	* stmt.c (expand_return): Ditto.
- 	* expr.c (move_block_from_reg): Ditto.
- 	(copy_blkmode_from_reg): Ditto.
- 	* expmed.c (store_bit_field): Ditto.
- 
- 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
- 
- 	* config.gcc: Added tic4x-* target as an alias to c4x-*
- 
- Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Use force_operand instead of
- 	constructing insn directly.
- 
- 2002-12-06  Per Bothner  <pbothner@apple.com>
- 
- 	* cpplib.h (struct cpp_hashnode):  Change field directive_index from
- 	char to an int bit-field, for hosts where char is unsigned.
- 
- 2002-12-07  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson <rth@redhat.com>
- 
- 	* real.c (ieee_extended_motorola_format,
- 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
- 	ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
- 	Provide appropriate values for new signbit field.
- 
- 2002-12-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.h (real_format): Add signbit field.
- 	* real.c (ieee_single_format, ieee_double_format,
- 	ieee_extended_motorola_format, ieee_extended_intel_96_format,
- 	ieee_extended_intel_128_format, ibm_extended_format,
- 	ieee_quad_format, vax_f_format, vax_d_format,
- 	vax_g_format, i370_single_format, i370_double_format,
- 	c4x_single_format, c4x_extended_format, real_internal_format):
- 	Provide suitable signbit value, or -1 to avoid bit twiddling.
- 
- 	* optabs.c (expand_unop): Try implementing negation of
- 	floating point modes by flipping the sign bit.
- 	(expand_abs): Try implementing abs of floating point modes
- 	by clearing the sign bit.
- 
- Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc):  Use force_operand instead
- 	of constructing insn directly.
- 
- 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorhi_shift_8): New.
- 
- 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* doc/invoke.texi: Document FRV port options.
- 	* doc/md.texi: Document FRV register classes.
- 
- 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Configuration): Improve description of cases
- 	where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
- 
- 2002-12-06  Per Bothner  <pbothner@apple.com>
- 
- 	* cpplib.h (NODE_MACRO_ARG):  New flag.
- 	(struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
- 	Remove value.operator field.  Move arg_index field to value union.
- 	(directive_index):  Make signed, since also used for C++ operators.
- 	* cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
- 	check for duplicate parameter.  Set NODE_MACRO_ARG flag.
- 	Save node->value, and set node->value.arg_index.
- 	(_cpp_create_definition):  For each paramater, restore node->value.
- 	(lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
- 	* cpptrad.c (scan_out_logical_line): Likewise.
- 	(scan_out_logical_line): Check for directive > 0.
- 	* cpplib.c (cpp_handle_directive):  Likewise.
- 	* cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
- 	by negative of directive_index.
- 	* cppinit.c (mark_named_operators):  Likewise.
- 
- 	* hashtable.h (struct ht_identifier):  Swap fields, for better packing.
- 
- 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
- 
- 	* gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
- 	FPU.
- 	(push): Generate push_fpscr.
- 	(pop): Generate pop_fpscr.
- 	* gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
- 	(fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
- 
- Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (dump_table): DImode pool constants need only 32 bit alignment.
- 	DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
- 
- Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (movdi_i): Name.  Remove inappropriate comment.
- 
- Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 	Merged from basic improvements branch (excerpt):
- 
- 	2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
- 	* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
- 
- 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
- 
- Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (dimode peep2s): Re-add "&& 1".
- 
- Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_prologue):  Add comment, do not use
- 	fast prologues for cold and normal functions.
- 
- Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_rep_movl_optimal): New variable.
- 	(ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
- 	* i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
- 
- 	* i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
- 	absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
- 	neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
- 	generate unnecesary subregs.
- 
- 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
- 	* pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
- 
- 2002-12-05  Dale Johannesen  <dalej@apple.com>
- 
- 	* tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
- 
- 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
- 	PROFILE_HOOK.
- 	* config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
- 
- 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h (__ev_mwlufi): Remove.
- 	(__ev_mwlufia): Remove.
- 	(__ev_mwlumfaaw): Remove.
- 	(__ev_mwlusfaaw): Remove.
- 	(__ev_mwlumfanw): Remove.
- 	(__ev_mwlusfanw): Remove.
- 
- 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andorsi3_shift_8): New.
- 
- 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
- 	lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
- 	(get_shift_alg): Return optimal assembly instructions for the
- 	shifts mentioned above.
- 
- Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Force operand into register for QImode
- 	condtiional moves.
- 
- 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_init_once): Do not use loop to
- 	implement ashiftrt:HI by 13 bits on H8S.
- 
- 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
- 	* pa.md (canonicalize_funcptr_for_compare): Output library call to
- 	canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
- 	* pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
- 	CTOR_LIST_BEGIN): New defines.
- 	* pa/t-linux (LIB2FUNCS_EXTRA): New define.
- 	(fptr.c): Add make rules.
- 
- 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* combine.c (combine_simplify_rtx): Add new canonicalizations.
- 	* doc/md.texi (Insn Canonicalizations): Document new
- 	canonicalizations for multiply/add combinations.
- 	* config/rs6000/rs6000.md: Add and modify floating add/multiply
- 	patterns to ensure they're used whenever they can be.
- 
- 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Update the comments related to shifts.
- 
- 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (get_fnaddr): Correct length attribute.
- 
- 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_8_8): New.
- 	(*extzv_8_16): Likewise.
- 
- 2002-12-04  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/8461, c++/8625
- 	* integrate.c (copy_decl_for_inlining): Handle explicit invisible
- 	references.
- 	* tree-inline.c (initialize_inlined_parameters): Likewise.
- 
- 	* tree.c (variably_modified_type_p): Just return an error_mark_node.
- 
- 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (get_fnaddr): Avoid placing an "la"
- 	macro instruction in a branch delay slot, to avoid assembler
- 	warnings.
- 
- 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/7622
- 	* c-semantics (genrtl_scope_stmt): Do not output inlined
- 	nested functions that contain no code.
- 
- Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
- 	to be forced into nonfallthru.
- 
- 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
- 
- 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md (*movv1di_const0): New pattern.
- 
- 2002-12-03  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
- 
- 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
- 	Initialize tmp.using_obstack to 0.
- 
- 2002-12-03  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
- 	(EH_RETURN_STACKADJ_RTX): Define.
- 	(EH_RETURN_HANDLER_RTX): Define.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	* config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
- 	registers and don't save fixed registers.
- 	(m68k_output_function_prologue): Use it.
- 	(use_return_insn): Likewise.
- 	(m68k_output_function_epilogue): Likewise.
- 
- 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (single_one_operand): Fix a warning.
- 	(single_zero_operand): Likewise.
- 
- 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in configure configure.in dummy-conditions.c fix-header.c
- 	gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
- 	gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
- 	genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
- 	gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
- 	genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
- 	scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
- 	doc/install-old.texi: Replace hconfig.h with bconfig.h.
- 	* Makefile.in: Replace HCONFIG_H with BCONFIG_H.
- 
- 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/rs6000.md (ffssi): Convert to expander.
- 	(ffsdi): Likewise.
- 	(cntlzw2, cntlzd2): New patterns.
- 
- 2002-12-02  H.J. Lu <hjl@gnu.org>
- 
- 	* config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
- 	(mips*-*-linux*): Remove mips/t-linux.
- 
- Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc):  Avoid overflow.
- 
- 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (dosize): Replace argument op with
- 	sign.
- 	(h8300_output_function_prologue): Update the call to dosize.
- 	(h8300_output_function_epilogue): Likewise.
- 
- 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
- 
- 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
- 
- 	* configure.in: Use "missing" script to generate warning if
- 	flex or bison programs not found, instead of invoking "false".
- 	* configure: Rebuilt.
- 
- Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
- 
- Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc):  Avoid overflow.
- 
- 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
- 	(push): Likewise.
- 	(pop): Likewise.
- 	(h8300_output_function_prologue): Likewise.
- 	(h8300_output_function_epilogue): Likewise.
- 
- Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* expmed.c (store_bit_field): Use int_mode_for_mode to find
- 	corresponding mode of non-integer mode, unless it is VOIDmode.
- 
- 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (stm_h8300s_2): New.
- 	(stm_h8300s_3): Likewise.
- 	(stm_h8300s_4): Likewise.
- 	(five define_peephole2): Likewise.
- 
- 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ra-build.c: Fix a comment typo.
- 
- Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): fix
- 	reversed BRANCH_COST test; be curefull about infinite recursion.
- 
- 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_output_function_prologue):
- 	Remove variable idx.
- 	(h8300_output_function_epilogue): Likewise.
- 
- 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/frv/xm-frv.h: Delete, unnecessary.
- 
- 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Add comments for define_peephole2.
- 
- 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* builtin-types.def (BT_SIZE): Use size_type_node.
- 	* builtins.c (fold_builtin): Make the builtin strlen returns a
- 	size_t, not a sizetype.
- 	* c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
- 	c_size_type_node.
- 	(c_alignof_expr): Likewise.
- 	(c_common_nodes_and_builtins): Likewise.
- 	* c-common.h (CTI_C_SIZE_TYPE): Remove.
- 	(c_size_type_node): Likewise.
- 	* c-format.c (T_ST): Use size_type_node, not c_size_type_node.
- 	* tree.h (TI_SIZE_TYPE): New enumeral.
- 	(size_type_node): Likewise.
- 
- 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Don't put ${tm_file} into host_xm_file,
- 	build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
- 	Take location of tm-preds.h into account when calculating
- 	tm_p_file_list.
- 	* configure: Regenerate.
- 	* mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
- 	arguments.  Do not provide rtx, rtvec, tree, or GTY here.
- 	Remove special case code for tm_p.h and *config.h; add new
- 	special case code for tm.h and tconfig.h. Clean up a bit.
- 
- 	* Makefile.in (tm_file, tm_file_list): New variables set from
- 	@-substitutions.
- 	(GCONFIG_H): Deleted.
- 	(GTM_H, TM_H): New.
- 	(CONFIG_H): Is now just config.h $(host_xm_file_list).
- 	(TM_P_H): Move up with the other mkconfig.sh-generated
- 	headers; don't mention tm-preds.h explicitly.
- 	(tm.h, cs-tm.h): New rule.
- 	(cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
- 	invocations of mkconfig.sh for changes to that program.
- 	(mostlyclean): Delete print-rtl1.c.
- 	(clean): Delete tm.h.
- 	Update dependencies for the files listed below.
- 
- 	* mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
- 
- 	* coretypes.h: New file.
- 	* system.h: #define malloc to xmalloc and realloc to xrealloc
- 	when FLEX_SCANNER or YYBISON is defined, independent of the
- 	value of GCC_VERSION.
- 	* alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
- 	c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
- 	c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
- 	c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
- 	c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
- 	cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
- 	cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
- 	cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
- 	cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
- 	cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
- 	debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
- 	dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
- 	emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
- 	expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
- 	function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
- 	gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
- 	gencheck.c, gencodes.c, genconditions.c, genconfig.c,
- 	genconstants.c, genemit.c, genextract.c, genflags.c,
- 	gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
- 	genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
- 	gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
- 	ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
- 	hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
- 	lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
- 	main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
- 	optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
- 	print-tree.c, profile.c, protoize.c, ra-build.c,
- 	ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
- 	real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
- 	regrename.c, reload.c, reload1.c, reorg.c, resource.c,
- 	rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
- 	scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
- 	sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
- 	ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
- 	tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
- 	tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
- 	xcoffout.c, config/darwin-c.c, config/darwin.c,
- 	config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
- 	config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
- 	config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
- 	config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
- 	config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
- 	config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
- 	config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
- 	config/i960/i960-c.c, config/i960/i960.c,
- 	config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
- 	config/m32r/m32r.c, config/m68hc11/m68hc11.c,
- 	config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
- 	config/mips/irix6-libc-compat.c, config/mips/mips.c,
- 	config/mmix/mmix.c, config/mn10200/mn10200.c,
- 	config/mn10300/mn10300.c, config/ns32k/ns32k.c,
- 	config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
- 	config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
- 	config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
- 	config/sparc/sparc.c, config/stormy16/stormy16.c,
- 	config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
- 	config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
- 	Include coretypes.h and tm.h.
- 
- 	* genattrtab.c, genconditions.c, genemit.c, genextract.c,
- 	gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
- 	genrecog.c: Include coretypes.h and tm.h from the file
- 	generated by this program.
- 
- 	* unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
- 	unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
- 	coretypes.h and tm.h, and tsystem.h when not already included.
- 	No need to include stddef.h nor stdlib.h.
- 
- 	* fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
- 	include auto-host.h or ansidecl.h/
- 	* fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
- 	* fixinc/procopen.c: Include server.h after fixlib.h.  Do not
- 	include auto-host.h, ansidecl.h, or system.h.
- 	* fixinc/server.c: Likewise.  Also, do not include signal.h,
- 	and do not redefine volatile.
- 
- Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movdf_integer):  Always enable in 64bit.
- 	(movdf_nointeger): Always disable in 64bit.
- 
- 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
- 	pseudo register number plus 1.
- 
- Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* expmed.c (store_bit_field): Use int_mode_for_mode to find
- 	corresponding mode of non-integer mode, unless it is VOIDmode.
- 
- 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* cpplib.c (_cpp_test_assertion): Default *value to 0.
- 
- 	* cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
- 
- 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/t-crtstuff: New target makefile fragment.
- 	* config.gcc [s390-*-linux, s390x-*-linux]: Use it.
- 
- 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (movsi_h8300hs): Change the order of
- 	alternatives to correct the length when the memory operand is
- 	either pre_dec or post_inc.
- 
- 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (an anonymous pattern): Give an
- 	internal name *tst_extzv_bitqi_1_n.
- 	Accept bit_operand instead of bit_memory_operand.
- 	Do not accept bit tests with the MSB.
- 	(*tst_extzv_memqi_1_n): New.
- 
- Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
- 	sharing when operand is SUBREG.
- 
- Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* athlon.md (athlon-decodev): New reservation unit.
- 	(athlon-direct0): New reservation.
- 	(athlon-vector): New use athlon-decodev.
- 	(athlon-double, athlon-direct): Better model.
- 	(athlon_imul_k8): Use athlon-direct0.
- 	(athlon_movlpd_load): New insn reservation.
- 
- 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
- 	Fix a comment typo.
- 	(h8300_tiny_constant_address_p): Likewise.
- 
- 2002-11-28  Michael Matz  <matz@suse.de>
- 
- 	* doc/passes.texi: Mention the other register allocator.
- 
- 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (6 new peephole2 patterns): New.
- 
- 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
- 	* config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
- 	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
- 
- 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_and_costs): New.
- 	* config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_and_costs.
- 
- Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
- 	* i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
- 	(TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
- 	* i386.md (truncdfsf patterns and splitters): Use
- 	TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
- 
- 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/rs6000.c (altivec_init_builtins): Make the
- 	pointer argument in the prototypes of the following builtins
- 	be (const TYPE *) rather than (TYPE *):
- 	 + __builtin_altivec_ld_internal_4sf
- 	 + __builtin_altivec_ld_internal_4si
- 	 + __builtin_altivec_ld_internal_8hi
- 	 + __builtin_altivec_ld_internal_16qi
- 	 + __builtin_altivec_lvsl
- 	 + __builtin_altivec_lvsr
- 	 + __builtin_altivec_lvebx
- 	 + __builtin_altivec_lvehx
- 	 + __builtin_altivec_lvewx
- 	 + __builtin_altivec_lvxl
- 	 + __builtin_altivec_lvx
- 	 + __builtin_altivec_dst
- 	 + __builtin_altivec_dstt
- 	 + __builtin_altivec_dstst
- 	 + __builtin_altivec_dststt
- 
- 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* except.c (default_exception_section): Move variable into the
- 	scope where it is used.
- 
- 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
- 	correct version.
- 
- 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
- 
- 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_shift_costs): New.
- 	* config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_shift_costs.
- 
- 2002-11-27  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
- 	in output template.
- 
- 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
- 
- 	* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
- 	* config/i386/winnt.c (i386_pe_dllexport_name_p): Use
- 	DLL_IMPORT_EXPORT_PREFIX, not '@'.
- 	(i386_pe_dllimport_name_p): Likewise.
- 	(i386_pe_mark_dllexport): Likewise.
- 	(i386_pe_mark_dllimport): Likewise.
- 	(i386_pe_encode_section_info): Likewise.
- 	(i386_pe_strip_name_encoding): Likewise.
- 
- 2002-11-27  Richard Henderson  <rth@redhat.com>
- 
- 	* mkmap-symver.awk (BEGIN): Set sawsymbol false.
- 	(nm && NF == 3): Set sawsymbol true.
- 	(END): Exit if no symbols seen.
- 	(output): Fix map syntax error if no globals for the version.
- 
- Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.def (DEF_C99_BUILTIN): Fix.
- 
- 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
- 	(all): Add .size and .type information.
- 
- Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
- 	partial_reg_stall target.
- 
- Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movhicc): Allow general operand.
- 	(movqicc): New expander.
- 	(movqicc_noc): New pattern.
- 	* i386.c (ix86_expand_carry_flag_compare): New function.
- 	(ix86_expand_int_movcc): Optimize harder using sbb; support more
- 	HImode conversion; support QImode conditional moves
- 
- Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
- 	(ix86_expand_prologue): Multiply the count by amount of registers to be
- 	pushed.
- 
- Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (override_options): Error about wrong -mcpu on x86-64
- 	compilation.
- 
- 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
- 
- 	* config/sh/linux.h (FUNCTION_PROFILER): Implemented.
- 
- Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (x86_extended_QIreg_mentioned_p,
- 	x86_extended_reg_mentioned_p): Declare.
- 	* i386.c (extended_reg_mentioned_1): New static function.
- 	(x86_extended_QIreg_mentioned_p,
- 	x86_extended_reg_mentioned_p): New global functions.
- 	* i386.h (REX_SSE_REGNO_P): New macro.
- 	* i386.md (prefix_rex): New attribute.
- 	(length attribute): Add rex.
- 
- 2002-11-26  Andrew Haley  <aph@redhat.com>
- 
- 	* unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
- 	from_Unwind_Find_Enclosing_Function.
- 	* unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
- 	* config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
- 	* libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
- 	_Unwind_Find_Enclosing_Function, export @@GCC_3.3.
- 	* unwind.h (_Unwind_FindEnclosingFunction): Add.
- 
- 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.c (390_output_constant_pool): Set alignment
- 	before label in 64 bit mode, behind otherwise.
- 
- 2002-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (handle_visibility_attribute): Accept "default".
- 	* tree.h (enum symbol_visibility): New.
- 	(decl_visibility): Declare.
- 	* target.h (gcc_target.visibility): Take visibility arg as integer.
- 	* varasm.c (default_assemble_visibility): Likewise.
- 	(decl_visibility): New.
- 	(maybe_assemble_visibility): Use it.
- 	* output.h (default_assemble_visibility): Update prototype.
- 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
- 	visibility arg as integer.
- 	* doc/extend.texi: Document default visibility.
- 
- 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Adjust spacing.
- 	* config/h8300/h8300.h: Likewise.
- 
- 2002-11-26  Richard Henderson  <rth@redhat.com>
- 
- 	* hooks.c (hook_bool_void_false, hook_void_tree_int,
- 	hook_void_FILEptr_constcharptr): Rename so that the return
- 	type is first.
- 	(hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
- 	hook_bool_tree_false): New.
- 	* hooks.h: Update.
- 	* langhooks-def.h: Update for renames.
- 	* target-def.h: Likewise.
- 	* tree.c (default_comp_type_attributes,
- 	default_set_default_type_attributes, default_insert_attributes,
- 	default_function_attribute_inlinable_p,
- 	default_ms_bitfield_layout_p): Remove.
- 	* tree.h: Update.
- 
- 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-protos.h (function_value): New prototype.
- 	* pa.c (function_value): Use a PARALLEL to return small aggregates on
- 	TARGET_64BIT.
- 	* pa.h (FUNCTION_VALUE): Use function_value.
- 	* pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
- 	call_value_internal_reg, sibcall_value_internal_symref,
- 	sibcall_value_internal_symref_64bit): Remove =rf constraint on return
- 	value.
- 
- 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* expr.c (gen_group_rtx, emit_group_move): New functions.
- 	* expr.h (gen_group_rtx, emit_group_move): Prototype.
- 	* function.c (expand_function_start): Use gen_group_rtx to create a
- 	PARALLEL rtx to hold the return value when the real return rtx is a
- 	PARALLEL.
- 	(expand_function_end): Use emit_group_move to move the return value
- 	from a PARALLEL to the real return registers.
- 	* rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
- 	in PARALLELs.
- 
- 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/t-libc-ok: Fix typo.
- 
- 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
- 	before AC_PROG_CC.
- 	* configure: Rebuilt.
- 
- 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-decl.c: (start_struct): Commonize flag setting.
- 
- 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
- 	RS6000_CPU_CPP_ENDIAN_BUILTINS.
- 	* config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
- 
- 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
- 	insns.
- 	* config/s390/s390.c (struct machine_function): Introduction of
- 	struct machine_function.
- 	(s390_output_symbolic_const): Use of cfun.
- 	(s390_optimize_prolog): Likewise.
- 	(s390_fixup_clobbered_return_reg): Likewise.
- 	(s390_frame_info): Likewise.
- 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
- 	(s390_init_machine_status): New function.
- 	(override_options): call s390_init_machine_status.
- 	* config/s390/s390-protos.h (s390_output_constant_pool): Changed
- 	prototype.
- 
- 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (output_constant_pool): For pool constants in mergeable
- 	section ensure each constant is padded to multiple of entity size.
- 
- 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (default_exception_section): Move to...
- 	* except.c (default_exception_section): ... here. Make
- 	.gcc_except_table read-only if it is not expected to have any
- 	dynamic relocations and linker handles it.
- 	* dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
- 	if it is not expected to have any dynamic relocations and linker
- 	handles it.
- 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
- 	when linking read-only and read-write sections together.
- 	* configure, config.in: Rebuilt.
- 	* crtstuff.c (EH_FRAME_SECTION_CONST): Define.
- 	(__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
- 
- Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (pushsf_rex64): Fix typo.
- 
- 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
- 	new function.
- 	(__ev_create_ufix32_fs): Same.
- 	(__ev_get_sfix32_fs_internal): New.
- 	(__ev_get_sfix32_fs): Define to use function.
- 	(__ev_get_ufix32_fs_internal): New.
- 	(__ev_get_ufix32_fs): Define to use function.
- 	(__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
- 	(__ev_get_lower_ufix32_fs): Same.
- 	(__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
- 	(__ev_get_lower_sfix32_fs): Same.
- 	(__ev_set_sfix32_fs_internal): New.
- 	(__ev_set_ufix32_fs_internal): New.
- 	(__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
- 	(__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
- 	(__ev_set_upper_sfix32_fs): Call function.
- 	(__ev_set_lower_sfix32_fs): Same.
- 	(__ev_set_upper_ufix32_fs): Same.
- 	(__ev_set_lower_ufix32_fs): Same.
- 
- 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* gcc.c (do_spec_1): Reset delete_this_arg to zero.
- 
- 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
- 	* config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
- 	* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
- 	defining.
- 	* config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
- 	* config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
- 
- 2002-11-25  Dave Pitts  <dpitts@cozx.com>
- 
- 	* gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
- 
- 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (an anonymous pattern): New.
- 
- 2002-11-25  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (find_base_value): Use new_reg_base_value if it's live.
- 	(copying_arguments): Make boolean.
- 
- 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* gcc.c (static_spec_functions): Add if-exists-else spec
- 	function.
- 	(if_exists_else_spec_function): New function.
- 	* doc/invoke.texi: Document the if-exists-else spec function.
- 
- 	* config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
- 	"%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
- 
- 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
- 	"netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
- 	"${tmake_file} rs6000/t-netbsd".
- 	* config/rs6000/netbsd.h: Rewrite.
- 	* config/rs6000/t-netbsd: New file.
- 
- 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (an anonymous pattern): Relax the
- 	condition for the pattern.
- 
- 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
- 	evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
- 	evmwlssfanw, evmwlsmfanw.
- 
- 	* config/rs6000/rs6000.c (bdesc_2arg): Same.
- 
- 	* config/rs6000/spe.md: Same for patterns.
- 
- 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
- 
- 	PR c/8639
- 	* fold-const.c (extract_muldiv): Don't propagate division unless
- 	both arguments are multiples of C.
- 
- 2002-11-25  Andrew Haley  <aph@redhat.com>
- 
- 	* libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
- 	* config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
- 	* unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
- 	* unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
- 
- Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_use_ffreep): New global variable.
- 	* i386.h (x86_use_frfeep): Declare
- 	(TARGET_USE_FFREEP): New macro
- 	* i386.md  (movs?f*): Use freep when asked for.
- 	(push?f): Remove dead code.
- 
- 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_init_once): Fix a typo in the
- 	target help message.
- 
- 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
- 	extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
- 	crtbeginT.o".
- 	(arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
- 	(ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
- 	to "" for a.out configurations.
- 	* config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
- 
- 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
- 	NETBSD_CPP_SPEC directly.
- 	(SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
- 	netbsd_endfile_spec.
- 	(ENDFILE_SPEC): Use %(netbsd_endfile_spec).
- 
- 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd-elf.h (STARTFILE_SPEC): Rename to
- 	NETBSD_STARTFILE_SPEC.
- 	(STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
- 	(ENDFILE_SPEC): Likewise.
- 	* config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
- 
- 2002-11-24  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (install-driver): Remove versioned link before
- 	trying to create it.
- 
- 	* config/m68k/m68k.c: Fix typo in last change defining
- 	TARGET_ASM_CAN_OUTPUT_MI_THUNK.
- 
- 2002-11-23  H.J. Lu <hjl@gnu.org>
- 
- 	* aclocal.m4: Include ../config/accross.m4.
- 	(gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
- 	(gcc_AC_C_COMPILE_ENDIAN): Removed.
- 	(gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
- 	instead of $ac_cv_c_compile_endian.
- 
- 	* configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
- 	AC_COMPILE_CHECK_SIZEOF.
- 	Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
- 	* configure: Rebuild.
- 
- 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand): Update the use of
- 	h8300_tiny_constant_address_p.
- 	(h8300_adjust_insn_length): Likewise.
- 	(h8300_tiny_constant_address_p): Check if the given rtx is a
- 	variable declared with __attribute__ ((tiny_data)).
- 
- 2002-11-22  Dale Johannesen  <dalej@apple.com>
- 
- 	* toplev.c (rest_of_compilation):  Fix comments.
- 
- 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
- 	allow mmap from /dev/zero.  Don't make decisions for the host
- 	based on presence or absence of /dev/zero on the build machine.
- 	(ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
- 	(AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
- 	* configure: Regenerate.
- 
- 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* gcc.c (make_relative_prefix, split_directories)
- 	(free_split_directories): Removed.
- 
- 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* configure.in: Set insn=nop for DWARF-2 tests on ARM.
- 	* configure: Regenerated.
- 
- 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_a_shift_length): Fix the insn
- 	length computation when xor.l is output.
- 
- 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* alpha.md (movstrdi, clrstrdi): New VMS patterns.
- 	(call_vms_1, call_value_vms_1): Cleanup syntax.
- 
- Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* athlon.md (define_atuomaton): Add athlon_load.
- 	(athlon-double): New reservation.
- 	(athlon-ieu0): New CPU unit.
- 	(athlon-load?): Use athlon_load automaton.
- 	(*_k8 reservations): New.
- 	(other insn revervations): Activate for K8.
- 
- Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
- 
- 2002-11-21  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
- 	vectors to SI.
- 
- 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
- 	* config/xtensa/xtensa.c (struct machine_function): Add
- 	incoming_a7_copied flag.
- 	(xtensa_copy_incoming_a7): Define.
- 	(xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
- 	* config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
- 
- Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
- 
- 	* i386-protos.h (x86_64_sign_extended_value): Fix prototype.
- 	* i386.c (x86_64_general_operand, x86_64_szext_general_operand,
- 	x86_64_nonmemory_operand, x86_64_movabs_operand,
- 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
- 	ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
- 	(local_symbolic_operand): Do not care the 64bit limits.
- 	(x86_64_sign_extended_value): Remove allow_rip support.
- 	(legitimate_pic_address_disp_p): Handle all cases allowed
- 	with RIP addressing.
- 	(legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
- 	(legitimize_pic_address): Reorganize.
- 	* i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
- 
- 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (arm*-*-netbsdelf*): Enable configuration.
- 	* config/arm/netbsd-elf.h: New file.
- 
- 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
- 	subtarget_asm_float_spec.
- 	(SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
- 	defaults from...
- 	(ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
- 
- 2002-11-21  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/fr30/fr30.md (movsf_constant_store): Move code to
- 	detect 0.0 into fr30.c.
- 	* config/fr30/fr30-protos.h (fr30_const_double_is_zero):
- 	Prototype.
- 	* config/fr30/fr30.c (fr30_const_double_is_zero): New
- 	function.  Return true if the rtx is 0.0.
- 
- 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
- 	if -mlittle-endian is specified.
- 
- 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR optimization/2903
- 	* arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
- 	(anddi_notsesidi_di): Likewise.
- 
- 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand): Use
- 	h8300_eightbit_constant_address_p and
- 	h8300_tiny_constant_address_p.
- 	(h8300_adjust_insn_length): Likewise.
- 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
- 	(TINY_CONSTANT_ADDRESS_P): Likewise.
- 	(OK_FOR_U): Use eightbit_constant_address_p.
- 
- 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/libgcc-libc.ver: Add multilib support.
- 	* config/s390/linux.h (MULTILIB_DEFAULT): Define.
- 	* config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
- 	MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
- 	EXTRA_MULTILIB_PARTS): Define.
- 
- 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_get_frame_size): A leaf function does not need its
- 	stack padding to an aligned boundary if it has no frame.
- 	(thumb_get_frame_size): Likewise.
- 
- Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
- 	(override_options): Likewise.
- 
- Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* config.gcc: Add k8 target alias support
- 	* i386.c (_cost): Declare costs for various variants of divides and
- 	multiplies.
- 	(k8_cost): New.
- 	(m_K8, m_ATHLON_K8): New macros.
- 	(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
- 	x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
- 	x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
- 	x86_integer_DFmode_moves, x86_partial_reg_dependency,
- 	x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
- 	x86_prologue_using_move, x86_epilogue_using_move,
- 	x86_arch_always_fancy_math_387, x86_sse_partial_regs,
- 	x86_sse_typeless_stores): Set for K8
- 	(override_options): Add k8 support; fix athlon alignment;
- 	complain about non-x86-64 capable CPU being used in x86-64 compilation.
- 	(ix86_issue_rate): Set for K8.
- 	(ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
- 	x86_machine_dependent_reorg): Handle K8 like
- 	* i386.h
- 	(x86_costs):  Change mult_init and divide into array.
- 	(TARGET_K8, TARGET_ATHLON): New macros.
- 	(MODE_INDEX): New macro.
- 	(RTX_COST): Use new costs.
- 	(TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
- 	(TARGET_CPU_DEFAULT_NAMES): Add k8
- 	(TARGET_CPU_DEFAULT_k8): New constant
- 	(enum processor_type): Add PROCESSOR_K8.
- 	* i386.md (cpu attribute): Add k8.
- 
- 	* invoke.texi: Document -march=k8.
- 
- 	* i386.md (type attribute): Add leave
- 	(mode attribute): Remove unknownfp.
- 	(length_immediate, modrm, memory attributes): Handle leave correctly.
- 	(fp comparison patterns): Determine FP mode.
- 	(leave, leave_rex64): Remove special cases.
- 	* ppro.md (ppro_uops, ppro_p2): Add leave
- 	* pentiun.md (pent_pop): Handle leave too.
- 	* k6.md (k6_load): Handle leave.
- 	* athlon.md (athlon_leave, athlon_pop): Fix.
- 	(athlon_decode): Handle leave.
- 
- 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
- 	to component type using GET_MODE_INNER.
- 	* expr.c (emit_move_insn_1): Ditto.
- 	* optabs.c (expand_binop): Ditto.
- 	(expand_unop): Ditto.
- 	(expand_complex_abs): Ditto.
- 
- 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
- 
- 2002-11-20  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (s16builtins,
- 	xstormy16_init_builtins, xstormy16_expand_builtin): New.
- 	* config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
- 
- 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
- 	(DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
- 	(executing gencheck, genconfigs, genconditions, genflags,
- 	gencodes, genconstants, genemit, genrecog, genopinit, genextract,
- 	genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
- 	gengtype, genprotos): Prepend $(RUN_GEN).
- 	* configure.in: Move host compiler tests before --enable-checking
- 	tests.
- 	(--enable-checking=valgrind): New.
- 	* config.in, configure: Regenerate.
- 	* cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
- 	Define as empty.
- 	(read_include_file): When doing the mmap+1 trick,
- 	valgrind-annotate the byte after the mmap:ed area as readable.
- 	(purge_cache): Remove above annotation.
- 	* gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
- 	VALGRIND_PATH -q to each command.
- 
- 	* ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
- 	Define as empty.
- 	(ggc_realloc): Update valgrind annotations.
- 	* ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
- 	Define as empty.
- 	(alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
- 	valgrind-annotate memory.
- 
- 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* recog.c (constrain_operands): Prefer exact match over reloadable
- 	EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
- 
- 	* reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
- 	operands in Pmode.
- 
- 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/8518
- 	* c-decl.c (duplicate_decls): Outline the second definition
- 	of an extern inline function in all cases.
- 
- 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* stor-layout.c (place_field): Update rli->offset as well as
- 	rli->bitpos.
- 
- 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
- 
- 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
- 	into a libcall block.
- 	(divsi3): Likewise divsi3_i4_media.
- 
- 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* global.c (find_reg): Check HARD_REGNO_NREGS before kicking
- 	out another register.
- 
- 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
- 	(not just mask) are set in C.
- 
- 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
- 
- 	* config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
- 
- 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* profile.c (index_counts_file): Fix obvious mistake.
- 
- 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (profile.o): Add hashtab.h dependency.
- 	* gcov-io.h (GCOV_SUMMARY_LENGTH): New.
- 	* profile.c: Include hashtab.h.
- 	(htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
- 	cleanup_counts_index, index_counts_file, struct section_reference,
- 	struct da_index_entry, counts_file_name, counts_file_index): New.
- 	(get_exec_counts, init_branch_prob): Modified.
- 
- 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
- 	to tmake_file. Remove setting gas and gnu_ld here.
- 	* config/sh/libgcc-glibc.ver: New file.
- 	* config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
- 	(SHLIB_MAPFILES): New.
- 	* config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
- 	(MD_STARTFILE_PREFIX): Likewise.
- 	(HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
- 	(DWARF2_UNWIND_INFO): Redefine.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 	(LINK_EH_SPEC): Redefine.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
- 	(SH_FALLBACK_FRAME_FLOAT_STATE): Define.
- 	(SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
- 	SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
- 	SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
- 	SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
- 	SH_DWARF_FRAME_FPSCR): Likewise.
- 	* config/sh/sh-protos.h (sh_set_return_address): Declare.
- 	* config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
- 	registers if the current function calls EH return.
- 	(sh_expand_epilogue): Handle EH stack adjustments.
- 	(sh_set_return_address): New function.
- 	* config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
- 	Don't abort even if the number is mapped to -1.
- 	(EH_RETURN_DATA_REGNO): Define.
- 	(EH_RETURN_STACKADJ_RTX): Define.
- 	* config/sh/sh.md (UNSPEC_EH_RETURN): New.
- 	(eh_return): New pattern.
- 	(eh_set_ra_di, eh_set_ra_si): Likewise.
- 	Add splitter to perform EH return after reload.
- 
- Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* stor-layout.c (excess_unit_span): New function.
- 	(place_field): Use it.
- 
- 2002-11-19  Andreas Schwab  <schwab@suse.de>
- 
- 	* unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
- 	not valid in C++.
- 
- 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in, Makefile.in: Correct BUILD/HOST confusion.
- 	* configure: Regenerate.
- 
- Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* convert.c (strip_float_extensions): New function.
- 	(convert_to_real): Optimize some cases.
- 
- 2002-11-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* loop.c (record_giv): Initialize not_replaceable.
- 	(check_final_value): Likewise.
- 
- 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_init_once): Replace 1 with
- 	MASK_H8300S.
- 
- 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
- 
- 	* config/h8300/h8300.c (h8300_init_once): Allow -mn switch
- 	only if -mh or -ms present.
- 	(h8300_eightbit_constant_address_p): Support the normal mode.
- 	(h8300_tiny_constant_address_p): Likewise.
- 	* config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
- 	(POINTER_SIZE): Add 16 bit pointer for the normal mode.
- 	(Pmode): Evaluate to HImode for the normal mode.
- 	(SIZE_TYPE): Evaluate to unsigned int for normal mode.
- 	(PTRDIFF_TYPE): Evaluate to int for the normal mode.
- 	(ASM_WORD_OP): Evaluate to word for the normal mode.
- 	* config/h8300/h8300.md (tablejump_normal_mode): New.
- 	(indirect_jump_normal_mode): New.
- 	* config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
- 	directory.
- 	(MULTILIB_DIRNAMES): Create target dependent directory
- 	'normal'.
- 	(MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
- 	* doc/invoke.texi (gccoptlist): Describe the new switch -mn.
- 
- Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (length_immediate): Do not refer to insn address.
- 	(jcc*, jmp patterns):  Compute length explicitly.
- 
- 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
- 
- 	PR c/8588
- 	* optabs.c (expand_binop): Convert CONST_INTs in shift
- 	operations too.
- 
- 2002-11-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
- 
- 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (an anonymous pattern): Relax the
- 	condition to accept the same operands and/or subregs.
- 
- 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/sh/sh.c (gen_shl_and): Revert previous patch.
- 	* config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
- 	reload_completed.
- 
- 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand): Update the use of
- 	EIGHTBIT_CONSTANT_ADDRESS_P.
- 	(h8300_adjust_insn_length): Likewise.
- 	(h8300_eightbit_constant_address_p): Check if the given rtx is
- 	a variable with __attribute__((eightbit_data)).
- 	* config/h8300/h8300.h (OK_FOR_U): Update the use of
- 	EIGHTBIT_CONSTANT_ADDRESS_P.
- 
- 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add self as second contact in
- 	addition to Jeff Law.
- 
- 2002-11-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* tree-inline.c: Move prototpyes of find_alloca_call_1 and
- 	find_alloca_call to right place.
- 
- 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cppfiles.c: Fix formatting.
- 
- 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* gcc.c (The Specs Language): Document spec functions.
- 	(static_spec_functions, lookup_spec_function)
- 	(eval_spec_function, handle_spec_function)
- 	(if_exists_spec_function, alloc_args): New.
- 	(execute): Abort if processing_spec_function is true.
- 	(do_spec_1): Hand off spec to handle_spec_function if %:
- 	is encountered.  If processing_spec_function is true,
- 	end any pending argument when the end of the string is reached.
- 	(main): Use alloc_args to allocate the initial argument vector.
- 	* gcc.h (struct spec_function): New.
- 	(lang_specific_spec_functions): New extern.
- 
- 	* config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
- 	(ENDFILE_SPEC): Add if-exists(crtn%O%s).
- 	* config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
- 
- 	* doc/invoke.texi: Document spec functions.
- 
- 	* cppspec.c (lang_specific_spec_functions): New.
- 	* gccspec.c: Likewise.
- 
- 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
- 	(FIXUNS_TRUNCTFDI2_LIBCALL): New.
- 	(fixunstfsi_libfunc): Change.
- 	(fixunstfdi_libfunc): Change.
- 	(sdiv_optab): Don't zero out SImode handler.
- 	(udiv_optab): Don't zero out SImode handler.
- 	(smod_optab): Don't zero out SImode handler.
- 	(umod_optab): Don't zero out SImode handler.
- 
- 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/8524
- 	* cpplib.c (run_directive): Remove previous kludge to _Pragma.
- 	Add a new one in its place, which hopefully works.
- 	(skip_rest_of_line): Change test for bottom-of-context-stack.
- 
- Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (addqi_1_slp): Fix output template.
- 	(subqi_1_slp): Fix type.
- 
- Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (alloca_call_p): New global function.
- 	* tree.h (alloca_call_p): New.
- 	* tree-inline.c (inlinable_function_p):  Do not inline when
- 	function calls alloca.
- 	(find_alloca_call, find_alloca_call_1): New functions.
- 
- 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andorqi3): Use bor between bld and
- 	bst.  Update the insn length.
- 	(*andorhi3): Likewise.
- 	(*andorsi3): Likewise.
- 
- 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh-protos.h (sh_mark_label): Declare.
- 	* config/sh/sh.c (sh_mark_label): New function, taken from
- 	movdi_const, but fixing the case when the address has an addend.
- 	* config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
- 
- 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh.c (pool_node): New field: part_of_sequence_p.
- 	(add_constant): Set it.
- 	(dump_table): Don't reorder a constant if part_of_sequence_p.
- 	(machine_dependent_reorg): Assume that float constants will
- 	stay in their original order if used as a sequence.
- 
- 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh.c (calc_live_regs): Update check for PIC liveness
- 	in compact code.
- 
- 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh.md (initialize_trampoline): Do not force the
- 	trampoline address into R0_REGS here.
- 
- Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
- 	absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
- 	(neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
- 	generate unnecesary subregs.
- 
- 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* df.c: Fix formatting.
- 
- 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two anonymous patterns): Fix insn
- 	lengths.
- 
- 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* sh.c (gen_shl_and): Don't create a zero_extend if the operand
- 	is not an arith_reg_operand.
- 
- 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* real.c (real_to_decimal): Fix buffer overrun when buffer size
- 	is smaller than representation.
- 
- 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Fix formatting.
- 
- Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
- 	floats?dff2_i387):
- 	Work around regclass stupidity.
- 	(truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
- 
- Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (fop_df_6): New pattern.
- 	(fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
- 	(fop_xf_6): Rewrite
- 	(fop_xf_7): Delete.
- 	(fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
- 	(fop_tf_6): Rewrite
- 	(fop_tf_7): Delete.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two anonymous patterns): Fix typos.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Fix formatting.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Replace spaces with tabs.
- 	* config/h8300/t-h8300: Remove a trailing empty line.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* tlink.c: Fix formatting.
- 
- 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR 8362
- 	* config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
- 	* config/rs6000/rs6000.md (movti_string): Remove output modifier
- 	when scratch register never needed.
- 	(ldmsi[3-8]): New patterns.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* hard-reg-set.h: Follow spelling conventions.
- 	* real.c: Likewise.
- 	* target.h: Likewise.
- 
- 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
- 
- 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c: Fix formatting.
- 
- Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
- 	* i386.md (attribute type): Add type shift1 and rotate1.
- 	(*_slp): Rewrite to have just two operands to avoid reload problems.
- 
- 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (4 anonymous patterns): New.
- 
- 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
- 	* doc/invoke.texi: Correct description of what needs to be done to
- 	force collection at every ggc_collect call.
- 
- 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (optimization_options): Set
- 	flag_asynchronous_unwind_tables to 1 by default.
- 
- 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 
- Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (x86_function_profiler): New function
- 	* i386.h (MCOUNT_NAME): New.
- 	(PROFILE_COUNT_REGISTER): New.
- 	(FUNCTION_PROFILER): Move offline to ...
- 	* i386.c (x86_function_profiler) ... here; fix 64bit support
- 	* beos-elf.h (FUNCTION_PROFILER): Kill.
- 	(MCOUNT_NAME): New.
- 	* freebsd-aout.h (FUNCTION_PROFILER): Kill.
- 	(MCOUNT_NAME): New.
- 	(PROFILE_COUNT_REGISTER): New.
- 	* linux.h (FUNCTION_PROFILER): Kill.
- 	(MCOUNT_NAME): New.
- 	* x86-64.h (FUNCTION_PROFILER): Kill.
- 	(MCOUNT_NAME): New.
- 	* freebsd.h (FUNCTION_PROFILER): Kill.
- 	(MCOUNT_NAME): New.
- 
- 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
- 
- 	* config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
- 	FUNCTION_ARG_PASS_BY_REFERENCE): Define.
- 	* config/arm/arm.c (arm_va_arg,
- 	arm_function_arg_pass_by_reference): New.
- 	* config/arm/arm-protos.h: Add prototypes.
- 
- 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-single.h: Fix formatting.
- 
- 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c (tree_vec_elt_check_failed): New function.
- 	* tree.h (TREE_VEC_ELT_CHECK): New checking macro.
- 	(TREE_VEC_ELT): Use it.
- 
- 	* tree-inline.c (optimize_inline_calls): Don't copy a
- 	zero-length vector.
- 
- 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
- 
- 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
- 	both operands contain local relocations.
- 	(categorize_decl_for_section): Don't use mergeable sections if
- 	initializer has any relocations.
- 
- 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-vxworks.h: Fix formatting.
- 
- 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Testing): Document extra Java testing.
- 	* doc/sourcebuild.texi (Test Suites): Document libgcj testing.
- 
- 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
- 	beginning of the spec.
- 	(LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
- 	(LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
- 	regarding problems with global constructors when using GNU ld.
- 
- 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-solaris.h: Fix formatting.
- 
- 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-posix.h: Fix formatting.
- 
- 2002-11-12  Devang Patel <dpatel@apple.com>
- 	* gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
- 	(process_command): Same.
- 	* doc/invoke.texi: Info about these two new options.
- 
- 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andorsi3): New.
- 
- 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
- 
- 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
- 	expressions appropriately.
- 
- 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-win32.h: Fix formatting.
- 
- 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (single_one_operand): Correctly compute
- 	mask when mode is SImode.
- 	(single_zero_operand): Likewise.
- 	* config/h8300/h8300.md (two new anonymous insns): New.
- 
- 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
- 	to that entire project.
- 
- 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
- 	directories.
- 
- 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
- 	* doc/invoke.texi: Document them.
- 
- 	* ggc-page.c: Include params.h.  Remove definitions of
- 	GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
- 	GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
- 	(init_gcc): Don't set G.allocated_last_gc here.
- 	(ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
- 	PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
- 	perform collection.
- 	* ggc-simple.c: Similarly.
- 	* Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
- 	dependencies.
- 
- 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gthr-dce.h: Fix formatting.
- 
- 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR c/8467
- 	* stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
- 	mode of DECL_RTL case.
- 
- 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/contrib.texi: Merge in the list from the libstdc++ web pages.
- 
- Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (construct_container): Fix handling of SSE_CLASS.
- 
- 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
- 
- 	* config/m68k/t-crtstuff (crti.o): Use this...
- 	($(T)crti.o): ... instead.
- 	(crtn.o): Use this...
- 	($(T)crtn.o): ... instead.
- 
- 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/8439
- 	* recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
- 	if there is something new to be simplified.
- 
- 2002-11-10  H.J. Lu <hjl@gnu.org>
- 
- 	* calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
- 	* expr.c (PUSH_ARGS_REVERSED): Likewise.
- 
- 	* config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
- 
- 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
- 	* config/rs6000/linux.h, config/rs6000/linux64.h,
- 	config/rs6000/windiss.h: ... not here.
- 
- 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
- 	__ABICALLS__ if TARGET_ABICALLS.
- 
- Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
- 
- 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (grokdeclarator): Make error for duplicate type
- 	qualifiers into a pedwarn, disabled for C99.
- 
- 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
- 	as FUNCTION_ARG_PASS_BY_REFERENCE.
- 
- 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/install.texi: Add *-*-vxworks* specific installation
- 	instructions.
- 
- 	* config/vxlib.c: Rewrite using generation numbers to identify
- 	valid TSD keys.
- 
- Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_machine_dependent_reorg): Fix even more side cases.
- 
- 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
- 
- 	* config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
- 	(hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
- 	* pa.c (output_millicode_call): Use symbol difference rather than
- 	$PIC_pcrel$0 when using HP assembler.
- 	* pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
- 	not elfos.h (i.e., gas) is being used.
- 	(ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
- 	DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
- 	ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
- 	ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
- 	ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
- 	using elfos.h.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
- 	(DWARF2_ASM_LINE_DEBUG_INFO): Delete.
- 	(ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
- 	using elfos.h.
- 	(TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
- 	(TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
- 	Don't define when not using elfos.h.
- 	(ASM_DECLARE_RESULT): Don't define.
- 	* doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
- 	doesn't work on hppa64-hp-hpux11.
- 	(hppa*-hp-hpux11): Update.
- 
- 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
- 	to the assembler if -mno-abicalls was specified.
- 
- 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
- 	ASM_OUTPUT_DEF): Delete.
- 
- 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
- 
- 2002-11-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_sqrt): Update comment with bibliographic reference.
- 
- Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_loadss, sse2_loadsd): Fix expander.
- 
- Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
- 
- Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
- 	(expand_builtin): Likewise.
- 	* builtins.def: Add
- 	__builtin_floor, __builtin_floorf, __builtin_floorl
- 	__builtin_ceil, __builtin_ceilf, __builtin_ceill
- 	__builtin_round, __builtin_roundf, __builtin_roundl
- 	__builtin_trunc, __builtin_truncf, __builtin_truncl
- 	__builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
- 	* genopinit.c (optabs): Initialize the new optabs.
- 	* optab.c (init_optabs): Likewise.
- 	* optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
- 	OTI_round, OTI_nearbyint.
- 	(floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
- 	* doc/md.texi: Document new named patterns.
- 	* doc/extend.texi (builtin functions)  Document
- 	floor, floorf, floorl, ceil, ceilf,
- 	ceill, round, roundf, roundl, trunc,
- 	truncf, truncl, nearbyint, nearbyintf, nearbyintl.
- 
- Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
- 
- 2002-11-08  Dale Johannesen  <dalej@apple.com>
- 
- 	* dbxout.c (dbxout_type):  Fix stabs info for vector types.
- 
- 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/8497
- 	PR preprocessor/8501
- 	* cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
- 	start a directive.  In assembler, #NUM is not a line directive.
- 
- 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppmain.c (cpp_preprocess_file): Loop to pop any -included
- 	buffers.
- 
- 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (two anonymous test insns): New.
- 
- Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* jump.c (mark_jump_label): Handle subregs of label_refs.
- 
- Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
- 	* i386.c (ix86_expand_fp_movcc): Match the reversed cases.
- 
- 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/ia64/crtend.asm: Include "auto-host.h".
- 	[HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
- 	* config/ia64/crtbegin.asm: Similarly.
- 	* config/ia64/t-ia64 (crtbegin.o): Include from current directory.
- 	(crtend.o, crtbeginS.o, crtendS.o): Likewise.
- 
- 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
- 	* configure.in: Use it if --enable-initfini-array not specified.
- 	* doc/install.texi (Configuration): Document --enable-initfini-array.
- 	* configure, config.in: Rebuild.
- 
- 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/arm-protos.h (arm_get_frame_size)
- 	(thumb_get_frame_size): New prototypes.
- 	* config/arm/arm.c (arm_get_frame_size)
- 	(thumb_get_frame_size): New functions.
- 	(use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
- 	(arm_compute_initial_elimination_offset, arm_expand_prologue): Use
- 	arm_get_frame_size.
- 	(thumb_expand_prologue, thumb_expand_epilogue): Use
- 	thumb_get_frame_size.
- 	* config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
- 	(machine_function): Add frame_size member.
- 	(THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
- 
- 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (bit_count): Make argument unsigned long.  Return unsigned.
- 	Adjust code to use portable unsigned bit manipulation.
- 	(insn_flags, tune_flags): Change type to unsigned.
- 	(struct processors): Make flags unsigned long.
- 	(arm_override_options): Change type of count and current_bit_count
- 	to unsigned.
- 
- 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
- 
- Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
- 
- Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reg-stack.c (compensate_edge): Fix sanity check.
- 
- 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config.gcc: Don't create crtbegin, crtend on Darwin; do create
- 	crt2.o.  Rearrange t-darwin makefiles.
- 	* crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
- 	* unwind-dw2-fde-darwin.c: New.
- 	* unwind-dw2-fde-glibc.c: Correct comment.
- 	* unwind-dw2-fde.c (__register_frame_info_bases)
- 	[DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
- 	(classify_object_over_fdes): Use last_fde.
- 	(add_fdes): Likewise.
- 	(linear_search_fdes): Likewise.
- 	* unwind-dw2-fde.h (struct object)
- 	[DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
- 	(last_fde): New.
- 	* config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
- 	(ENDFILE_SPEC): No crtend.o.
- 	* config/t-darwin: New.
- 	* config/i386/t-darwin: Delete.
- 	* config/darwin-crt2.c: New.
- 	* config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
- 	or config/t-darwin.
- 
- 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
- 	MASK_MS_BITFIELD_LAYOUT
- 	(SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
- 	MS bitfields for Objective-C.
- 	(PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
- 	defines.
- 
- 	* config/i386/i386.c (ix86_ms_bitfield_layout): New function.
- 	(TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
- 	(TARGET_USE_MS_BITFIELD_LAYOUT): Define.
- 
- 	* config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
- 	TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
- 	(TARGET_SWITCHES): Add above mask.
- 
- 	* testsuite/gcc.dg/bf-ms-layout.c: New test case.
- 	* testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
- 	* testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
- 	flags for interix.
- 
- Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
- 	.gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
- 	assembler.
- 	* config/mips/mips.md (tablejump_internal3): Output .cpadd
- 	before jump on ABI_N32 too.
- 	(tablejump_internal4): Ditto on ABI_64.  Increase maximum
- 	length to match.
- 
- Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
- 
- 	* i386.md (negsf splitter): Accept memory operand in second register.
- 	(abssf/absdf splitters): Simplify
- 	(sse_loadss, sse_loadsd): Turn into expander.
- 
- 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR target/8480
- 	* config/rs6000/rs6000.md (movdi_internal64): Discourage
- 	FPR to FPR moves.
- 
- 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/contrib.texi: Merge in the list from the Java web pages.
- 
- 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/freebsd: Fix typo.
- 
- 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
- 
- 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.md (call_value_multiple_internal2): Use dla for
- 	non-SImode addresses.
- 
- Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (float_truncate SSE splitter): Ensure that operand is not
- 	stack register.
- 	(float SSE splitters): Reorder conditional.
- 
- 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
- 
- 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
- 
- 	* pa64-hpux.h (LIB_SPEC): Fix p and pg options.
- 	(STARTFILE_SPEC): Remove p and pg options.
- 
- 2002-11-05  Andrew Haley  <aph@redhat.com>
- 
- 	* fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
- 	to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
- 
- 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
- 	* config/mips/mips.c (mips_cannot_change_mode_class): ...here.
- 
- 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gthr-vxworks.h: Rewritten from scratch.
- 	* config/vxlib.c: New file.
- 	* config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
- 	* config/rs6000/t-vxworks: Add config/vxlib.c to
- 	LIB2FUNCS_EXTRA here too, because of clash with
- 	config/rs6000/t-ppccomm.
- 
- 2002-11-04  Dale Johannesen  <dalej@apple.com>
- 
- 	* doloop.c (doloop_modify_runtime):  Fix loop count computation
- 	for unrolled loops.
- 	* loop.c (loop_invariant_p):  Support calling from unroller.
- 
- 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
- 	for comparison.
- 
- 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
- 
- 	* config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
- 	(CLASS_CANNOT_CHANGE_MODE): Remove.
- 	(CANNOT_CHANGE_MODE_CLASS): New.
- 
- 	* config/alpha/alpha.h: Same.
- 
- 	* config/ia64/ia64.h: Same.
- 
- 	* config/mips/mips.h: Same.
- 
- 	* config/s390/s390.h: Same.
- 
- 	* config/sh/sh.h: Same.
- 
- 	* config/pa/pa64-regs.h: Same.
- 
- 	* config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
- 
- 	* config/sh/sh.c (sh_cannot_change_mode_class): New.
- 
- 	* config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
- 	prototype.
- 
- 	* config/mips/mips.c (mips_cannot_change_mode_class): New.
- 
- 	* doc/tm.texi (Register Classes): Remove
- 	CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
- 	Document CANNOT_CHANGE_MODE_CLASS.
- 
- 	* reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
- 	(push_reload): Same.
- 
- 	* simplify-rtx.c (simplify_subreg): Same.
- 
- 	* reload1.c (choose_reload_regs): Same.
- 
- 	* recog.c (register_operand): Same.
- 
- 	* regrename.c (mode_change_ok): Change to use new
- 	CANNOT_CHANGE_MODE_CLASS infrastructure.
- 
- 	* regclass.c (cannot_change_mode_set_regs): New.
- 	Declare subregs_of_mode.
- 	(regclass): Use subregs_of_mode.
- 	Remove references to reg_changes_mode.
- 	(init_reg_sets_1): Remove class_can_change_mode and
- 	reg_changes_mode code.
- 	(invalid_mode_change_p): New.
- 	(dump_regclass): Use invalid_mode_change_p instead of
- 	class_can_change_mode.
- 	(regclass): Same.
- 	(record_operand_costs): Do not set reg_changes_mode.
- 
- 	* local-alloc.c (struct qty): Remove changes_mode field.
- 	(alloc_qty): Remove changes_mode initialization.
- 	(update_qty_class): Remove set of changes_mode.
- 	(find_free_reg): Use subregs_of_mode.
- 
- 	* global.c (find_reg): Use subregs_of_mode info.
- 
- 	* rtl.h (cannot_change_mode_set_regs): New prototype.
- 	(invalid_mode_change_p): Same.
- 	(REG_CANNOT_CHANGE_MODE_P): New macro.
- 
- 	* flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
- 	REG_CHANGES_MODE.
- 	(life_analysis): Clear subregs_of_mode.
- 
- 	* combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
- 	Remove use of CLASS_CANNOT_CHANGE_MODE.
- 	(simplify_set): Same.
- 	(gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
- 	REG_CHANGES_MODE.
- 
- 	* regs.h: Add extern for subregs_of_mode;
- 	Include hard-reg-set and basic-block.
- 	(REG_CHANGES_MODE): Delete.
- 
- 2002-11-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_sqrt): New function to calculate square roots.
- 	* real.h (real_sqrt): Add function prototype.
- 	* builtins.c (fold_builtin): Fold sqrt of constant argument.
- 	* simplify-rtx.c (simplify_unary_operation): Simplify sqrt
- 	of constant argument.
- 
- 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* jump.c (never_reached_warning): Don't set contains_insn until the
- 	first line note is seen.
- 
- 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movti_string): Use string instructions.
- 
- 2002-11-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/7128
- 	* c-typeck.c (c_expand_asm_operands): Defend against
- 	error_mark_nodes in the output argument to avoid ICE.
- 
- 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/8408
- 	* genrecog.c (preds): Handle ADDRESSOF.
- 	(validate_pattern): Mark it as an lvalue.
- 
- 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Use string
- 	instructions when optimizing for size.
- 
- 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h: Fix comment typos.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 
- 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	Revert this change:
- 
- 	*doc/install.texi (Installing GCC: Configuration): Clarify
- 	the only supported ways to configure gcc.
- 
- 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
- 	instead of 'O' for the constraint for the second operand.
- 
- 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/8391
- 	* toplev.c (rest_of_compilation): Do not refuse to output code for
- 	an inline function in a local class.
- 
- 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
- 	(TRANSFER_FROM_TRAMPOLINE): Reformat.
- 	Add comment.
- 
- 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
- 
- 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
- 
- 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
- 	(MASK_INLINE_DIV_THR): Remove.
- 	(TARGET_INLINE_DIV_LAT): Remove.
- 	(TARGET_INLINE_DIV_THR): Remove.
- 	(TARGET_INLINE_DIV): Remove.
- 	(MASK_INLINE_FLOAT_DIV_LAT): New macro.
- 	(MASK_INLINE_FLOAT_DIV_THR): New macro.
- 	(MASK_INLINE_INT_DIV_LAT): New macro.
- 	(MASK_INLINE_INT_DIV_THR): New macro.
- 	(TARGET_INLINE_FLOAT_DIV_LAT): New macro.
- 	(TARGET_INLINE_FLOAT_DIV_THR): New macro.
- 	(TARGET_INLINE_INT_DIV_LAT): New macro.
- 	(TARGET_INLINE_INT_DIV_THR): New macro.
- 	(TARGET_INLINE_FLOAT_DIV): New macro.
- 	(TARGET_INLINE_INT_DIV): New macro.
- 	* config/ia64/ia64.md (divsi3): Change to use new macros.
- 	(modsi3): Ditto.
- 	(udivsi3): Ditto.
- 	(umodsi3): Ditto.
- 	(divsi3_internal): Ditto.
- 	(divdi3): Ditto.
- 	(moddi3): Ditto.
- 	(udivdi3): Ditto.
- 	(umoddi3): Ditto.
- 	(divdi3_internal_lat): Ditto.
- 	(divdi3_internal_thr): Ditto.
- 	(divsf3): Ditto.
- 	(divsf3_internal_lat): Ditto.
- 	(divsf3_internal_thr): Ditto.
- 	(divdf3): Ditto.
- 	(divdf3_internal_lat): Ditto.
- 	(divdf3_internal_thr): Ditto.
- 	(divtf3): Ditto.
- 	(divtf3_internal_lat): Ditto.
- 	(divtf3_internal_thr): Ditto.
- 	* config/ia64/ia64.c (ia64_override_options): Change
- 	to check new macros for conflicts in settings.
- 	* doc/invoke.texi (-minline-divide-min-latency): Remove.
- 	(-minline-divide-max-throughput): Remove.
- 	(-minline-float-divide-min-latency): New.
- 	(-minline-float-divide-max-throughput): New.
- 	(-minline-int-divide-min-latency): New.
- 	(-minline-int-divide-max-throughput): New.
- 
- 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	PR target/7856
- 	* arm.c (use_return_insn): Don't use a return insn if there are
- 	saved integer regs, but LR is not one of them.
- 
- Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
- 	* machmode.h (SCALAR_FLOAT_MODE_P): New macro.
- 
- Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
- 	(movps, movpd splitters): Use canonical form.
- 	(movv2di): Fix merge problem.
- 
- Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
- 
- 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	PR optimization/6162
- 	* doc/md.texi: Document restriction on commutative operand
- 	specification.
- 
- 2002-10-31  Eric Christopher  <echristo@redhat.com>
- 
- 	* explow.c (convert_memory_address): Use shallow_copy_rtx.
- 
- 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
- 
- 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
- 
- Thu Oct 31  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/darwin.h:  Correct formatting in previous.
- 
- Thu Oct 31  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/darwin.h:  Enable -falign-xxx options.
- 
- Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (override_options): Set defaults for flag_omit_frame_pointer,
- 	flag_asynchronous_unwind_tables, flag_pcc_struct_return.
- 	* i386.c (optimization_options): Set flag_omit_frame_pointer,
- 	flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
- 	Do not clear -momit-leaf-frame-pointer when profiling.
- 	(ix86_frame_pointer_required): Frame pointer is always required when
- 	profiling.
- 
- Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
- 
- Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (binary_logical_operator): Declare.
- 	* sh.c (binary_logical_operator): New function.
- 	* sh.md (xordi3+1): New combiner splitter pattern.
- 
- 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
- 	__enable_execute_stack function.
- 
- 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
- 	gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
- 	* unwind-sjlj.c (fc_key_dtor): Delete.
- 	(fc_key_init): Adjust __gthread_key_create call to match.
- 
- 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-common.c: Add GTY to vector_type_node_list.
- 
- 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
- 
- 	* pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
- 	* pa-protos.h (attr_length_millicode_call, attr_length_call,
- 	pa_init_machine_status): Declare new global functions.
- 	* pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
- 	implement new functions.
- 	(attr_length_millicode_call, attr_length_call): Implement.
- 	(total_code_bytes): Change type to long.
- 	(pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
- 	Reset counter if flag_function_sections.
- 	(output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
- 	(output_cbranch): Move call to gen_label_rtx.
- 	(output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
- 	delay slot in all variants, shorten pc-relative calls.
- 	(output_call): Rewrite adding long TARGET_64BIT call, improved delay
- 	slot usage and exposure, various new call variants, and shortened
- 	sequences for some variants on TARGET_PA_20.
- 	Miscellaneous format changes.
- 	* pa.h (total_code_bytes): Change type to long.
- 	(MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
- 	TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
- 	(TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
- 	(EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
- 	LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
- 	stores on TARGET_ELF32.
- 	*pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
- 	(unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
- 	canonicalize_funcptr_for_compare expanders): Calculate attribute length
- 	attr_length_millicode_call().
- 	(call_internal_symref, call_value_internal_symref): Clobber register 1.
- 	Calculate attribute length using attr_length_call().
- 	(call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
- 	to delay slot.
- 	(sibcall, sibcall_value): Rewrite.
- 	(sibcall_internal_symref, sibcall_value_internal_symref): Clobber
- 	register 1.  Use attr_length_call().
- 	(sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
- 	New patterns.
- 	(unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
- 	* som.h (MEMBER_TYPE_FORCES_BLK): Define.
- 	* t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
- 	* doc/invoke.texi (mlong-calls): Document.
- 
- 2002-10-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_binary_op_with_conditional_arg):  Improve
- 	handling of cases where one or both branches of the conditional
- 	have void type, i.e. throw an exception or don't return.
- 	(fold): Only apply (and undo) type conversion to the non-void
- 	branches of a COND_EXPR.
- 
- 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/8333
- 	* varasm.c (asm_output_aligned_bss): Do not call
- 	ASM_GLOBALIZE_LABEL.
- 
- 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
- 	    Torbjorn Granlund  <tege@swox.com>
- 
- 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
- 	for addressibility.
- 	(load_toc_v4_PIC_1b): Same.
- 
- 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p):
- 	Truncate the addresses for H8/300 using HImode.
- 
- Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (negdf splitter): Fix construction of the constant.
- 
- Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (negsf, negdf): Reorganize to use vector modes
- 	for SSE variants.
- 	(abssf, absdf): Use force_reg.
- 	(movv4sf, movv2df): New splitters.
- 	* i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
- 	* i386.c (zero_extended_scalar_load_operand
- 
- 	* i386-protos.h (ix86_expand_call): Update prototype.
- 	* i386.c (ix86_function_ok_for_sibcall): Handle 64bit
- 	(ix86_expand_call): Use r11 for indirect sibcalls.
- 	* i386.md (call, call_value, untyped_call, call_value_pop):
- 	update x86_expand_call call.
- 	(sibcall, sibcall_value): new patterns
- 	(call_rex64, call_value_rex64): Do not accept sibcalls.
- 	(sibcall_rex64, sibcall_value_rex64,
- 	sibcall_rex64_v, sibcall_value_rex64_v): New.
- 
- Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
- 	before final pass.
- 
- 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* toplev.c (rest_of_type_compilation): Return early in case of
- 	errors.
- 	(check_global_declarations): Don't call debug_hooks->global_decl
- 	in case of errors.
- 
- 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
- 
- 	* doc/c-tree.texi (Tree overview): Fix typos.
- 
- 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* Makefile.in (gnucompare*):  Only record bad comparisons
- 	if there really was a bad comparison.
- 
- Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
- 	* i386.md (movsf*, movdf*): Use 'C' instead of 'H'
- 	* md.texi (machine dependent constraints): Document 'C'
- 
- 	* simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
- 
- 	* i386.c (ix86_expand_vector_move): Fix.
- 
- 	* i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
- 	* i386.md (sse2_maskmovdqu_rex64): New pattern
- 
- 	PR target/8322
- 	* xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
- 	(ix86_init_mmx_sse_builtins): Fix type.
- 
- 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* gthr-posix.h: Include <unistd.h> for feature tests.
- 	(sched_get_priority_max, sched_get_priority_min)
- 	(pthread_getschedparam, pthread_setschedparam): Only use
- 	if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
- 	(__gthread_objc_thread_set_priority): Don't treat all nonzero
- 	returns from sched_get_priority_max and sched_get_priority_min
- 	as an error.
- 
- 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (TARGET_DEFAULT): Make it
- 	MASK_QUICKCALL.
- 
- 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
- 	(h8300_tiny_constant_address_p): Likewise.
- 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
- 	h8300_eightbit_constant_address_p.
- 	(TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
- 	* config/h8300/h8300-protos.h: Add the prototypes for the two
- 	new functions.
- 
- 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (update_eliminables): Unconditionally check if
- 	frame_pointer_needed has changed.
- 
- Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Reorganize way reg_scan is called
- 	before final pass.
- 
- 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/8334
- 	* expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
- 	check for zero operands explicitly.
- 
- 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (extv, extzv, insv): Set size of referenced
- 	memory after adjusting to BLKmode.
- 
- 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (MASK_*): New.
- 	(TARGET_*): Use MASK_*.
- 
- 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
- 	* config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
- 	config/rs6000/vxworks.h: New files.
- 	* config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
- 
- 	* config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
- 	i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
- 	m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
- 	powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
- 	sparc-*-vxsim*): Delete stanzas.
- 	* gthr-vxworks.h: Rip out all substantive code and just
- 	include gthr-single.h.
- 
- 	* config/alpha/vxworks.h, config/arm/vxarm.h,
- 	config/i386/vxi386.h, config/i960/t-vxworks960,
- 	config/i960/vx960-coff.h, config/i960/vx960.h,
- 	config/m68k/t-vxworks68, config/m68k/vxm68k.h,
- 	config/mips/vxworks.h, config/rs6000/vxppc.h,
- 	config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
- 	config/sparc/vxsim.h, config/sparc/vxsparc.h,
- 	config/sparc/vxsparc64.h: Delete files.
- 
- 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
- 	tm_defines if pthreads are enabled.
- 	* config/netbsd.h (LIB_SPEC): Only support the -pthread option
- 	if NETBSD_ENABLE_PTHREADS is defined.
- 
- 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog.1: Fix typos.
- 	* cse.c: Fix a comment typo.
- 	* reload1.c: Likewise.
- 
- 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
- 	* fixinc/tests/base/_G_config.h: New file.
- 
- 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c: Fix comment formatting.
- 	* loop.c: Likewise.
- 	* real.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* regrename.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload1.c: Likewise.
- 	* reload.c: Likewise.
- 	* reload.h: Likewise.
- 	* unroll.c: Likewise.
- 
- 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reload): Fix a comment typo.
- 
- Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
- 
- 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
- 	* dwarf2out.c: Include hashtab.h.
- 	(is_main_source): New static variable.
- 	(attr_checksum, die_checksum): Modified to handle die references.
- 	(same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
- 	unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
- 	record_comdat_symbol_number): New static functions.
- 	(output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
- 	mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
- 	* toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
- 	declarations added.
- 
- 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (initial_offset): Change to
- 	h8300_initial_elimination_offset.
- 	* config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
- 	h8300_initial_elimination_offset.
- 	* config/h8300/h8300-protos.h: Update the prototype.
- 
- 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.h (LIBCALL_VALUE): Use
- 	MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
- 	(FUNCTION_VALUE_REGNO_P): Similar, but move code to...
- 	* config/mmix/mmix.c (mmix_function_value_regno_p): New.
- 	* config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
- 	and RTX_CODE.
- 	(mmix_function_value_regno_p): Declare.
- 
- 	* config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
- 	invalid for floating point mode result, with fix.
- 
- Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
- 	(STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
- 	(stage1_build): Likewise.
- 
- 2002-10-25  Mike Stump  <mrs@apple.com>
- 
- 	Fixes gcc.dg/warn-1.c.
- 	* c-typeck.c (warn_for_assignment): Don't print argument number,
- 	if zero.
- 
- Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (dump_file_index): Add DFI_ce3.
- 	(dump_file_info): Likewise.
- 	(rest_of_compilation): Run first ifcvt pass before tracer.
- 
- 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
- 
- 2002-10-25  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_to_decimal): If the >1 tens reduction loop results
- 	in a negative exponent, fall into the <1 pten computation.
- 
- 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR middle-end/6994
- 	* c-objc-common.c (inline_forbidden_p): Can not inline
- 	functions containing structures or unions containing VLAs.
- 	* tree-inline.c (walk_tree): For all class 't' nodes, walk
- 	TYPE_SIZE and TYPE_SIZE_UNIT.
- 	(copy_tree_r): Copy types if they are variably modified.
- 
- 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md: Remove old-style peepholes.
- 
- 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_decompose_address): Do not range check the
- 	displacement if base or index is the argument pointer register.
- 
- 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	PR other/3337
- 	PR bootstrap/6763
- 	PR bootstrap/8122
- 	* fixinc/inclhack.def (libc1_G_va_list): New fix.
- 	* fixinc/fixincl.x: Regenerate.
- 	* config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
- 	ifndef IN_LIBGCC2.  Wrap it together with signal.h and
- 	sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
- 	* configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
- 	* config.in, configure: Regenerate.
- 
- 2002-10-24  Igor Shevlyakov <igor@microunity.com>
- 
- 	* varasm.c (struct rtx_const): Array size 16 for V16QImode.
- 
- 2002-10-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
- 
- 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (initial_offset): Simplify by using
- 	round_frame_size.
- 
- 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* doc/install.texi (avr): Update required binutils version.
- 
- 2002-10-24  Theodore A. Roth  <troth@openavr.org>
- 
- 	* doc/install.texi: Point avr users at more up-to-date information.
- 
- 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
- 	to pull operands out of the literal pool where possible.
- 
- 2002-10-24  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.c (init_cumulative_args): Test fntype for zero.
- 
- 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* expr.c (convert_move): If unsignedp is less then zero there
- 	is no equivalent code.
- 
- 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
- 
- 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h: Rework comments; re-sort target macro definitions
- 	according to the sequence they are defined in the manual.
- 	(POINTER_BOUNDARY): Remove.
- 
- 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (round_frame_size): Replace 8 with
- 	BITS_PER_UNIT.
- 
- 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
- 	64-bit safe.
- 	(TINY_CONSTANT_ADDRESS_P): Likewise.
- 
- 2002-10-24  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
- 	(ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
- 	vcall offset.
- 
- 2002-10-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/7944
- 	* reload.c (find_reloads_toplev): Mode of X is not important
- 	when simplifying subregs of constants.
- 
- 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
- 	MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
- 	* config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
- 	(override_options): Base default setting of MASK_SOFT_FLOAT on -march
- 	if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
- 
- 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* optabs.c (expand_binop): Don't reuse the shift target in the
- 	middle of shift sequences.
- 
- Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (abs splitters): Do not produce nested subregs.
- 
- Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movti_rex64): Fix constraints.
- 
- Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (abssf,absdf): Use vector operands for SSE
- 	(abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
- 	vector operand.
- 
- 2002-10-23  Ziemowit Laski <zlaski@apple.com>
- 
- 	* objc/objc-act.c (get_static_reference): Remove unneeded
- 	TYPE_BINFO initialization.
- 	(get_object-reference): Likewise.
- 	(build_constructor): Tighten precondition check.
- 	(finish_message_expr): Likewise.
- 
- 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
- 	after CONST test.
- 
- 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
- 	in HFAs.
- 
- 2002-10-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
- 	(alpha_output_mi_thunk_osf): Handle vcall_offset.
- 
- 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* langhooks.h (struct lang_hooks_for_tree_inlining): Add
- 	var_mod_type_p.
- 	* langhooks-def.h: Default for tree_inlining.var_mod_type_p is
- 	hook_tree_bool_false.
- 
- 	* tree.c (variably_modified_type_p): Moved here from
- 	cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
- 	language-specific cases.  Due to this, must weaken some 'if
- 	and only if' checks to merely 'if'.
- 	* tree.h: Prototype variably_modified_type_p.
- 
- 	* tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
- 
- 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
- 	* config/s390/s390.c (optimization_options): Disable -fcaller-saves.
- 
- 	* config/s390/s390-protos.h (fp_operand): Remove.
- 	* config/s390/s390.c (fp_operand): Remove.
- 	* config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
- 	("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
- 	("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
- 	(movdi_31, movdf_31 splitters): Likewise.
- 
- 	* config/s390/s390.h (IEEE_FLOAT): Remove.
- 	(TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
- 	(INT_REGNO_P): Rename to ...
- 	(GENERAL_REGNO_P): ... this.
- 	(FLOAT_REGNO_P): Rename to ...
- 	(FP_REGNO_P): ... this.
- 	(ADDR_REGNO_P): New macro.
- 	(GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
- 	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
- 	(DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
- 	(HARD_REGNO_NREGS): Adapt to macro renaming.
- 	(HARD_REGNO_MODE_OK): Likewise.
- 
- 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
- 	    Geoff Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
- 	(rs6000_memory_move_cost): New function.
- 	* config/rs6000/rs6000-protos.h: Declare them.
- 	* config/rs6000/rs6000.h: Use them.
- 
- 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
- 	inlining it into other libgcc2 routines.
- 	(__udivmoddi4): Likewise.
- 
- 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/sourcebuild.texi (Test Suites): Improve.
- 
- 2002-10-22  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
- 	case for Darwin.
- 
- 2002-10-22  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
- 
- Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	PR other/8289
- 	* xmmintrin.h: Add const to the argument of loads.
- 
- 	* i386.md (pushv2di): New pattern.
- 	PR target/6890
- 	* xmmintrin.h (_MM_TRANSPOSE4_PS): New.
- 
- 2002-10-22  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (gcc_target.asm_out): Merge output_mi_thunk and
- 	output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
- 	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
- 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 	(TARGET_ASM_OUT): Update.
- 	* hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
- 	(hook_bool_tree_hwi_hwi_tree_true): New.
- 	(default_can_output_mi_thunk_no_vcall): New.
- 	* hooks.h: Declare them.
- 	* system.h (ASM_OUTPUT_MI_THUNK): Poison.
- 
- 	* config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 	(alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
- 	* config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
- 	config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
- 	config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
- 	config/stormy16/stormy16.c: Similarly.
- 
- 	* config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
- 	Handle 64-bit properly.  Streamline.
- 	(x86_output_mi_vcall_thunk): Remove.
- 	(x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
- 	(x86_can_output_mi_thunk): New.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
- 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 	(override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
- 
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
- 	output_mi_thunk; make static; always use function_section.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): New.
- 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 	(rs6000_ra_ever_killed): Test no_new_pseudos not
- 	targetm.asm_out.output_mi_thunk in conjunction with thunks.
- 	* config/rs6000/rs6000-protos.h: Update.
- 	* config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
- 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
- 	xcoffout_declare_function when using rs6000_output_mi_thunk.
- 
- 	* config/s390/s390.c (s390_output_mi_thunk): Rename from
- 	s390_output_mi_vcall_thunk.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
- 	(TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 
- 	* config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
- 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
- 	* config/vax/vax-protos.h: Update.
- 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
- 
- Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
- 
- 	* i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
- 	* i386.h (EXTRA_CONSTRAINT): Recognize 'C'
- 	* i386.md (movti_internal): Use 'C'
- 
- 	* xmmintrin.h (_mm_cmplt_epi*): New.
- 
- 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
- 	("*movdf_64"): Likewise.
- 	("*lshrdi3_64"): Likewise.
- 	("blockage"): Add length attribute.
- 	("lit"): Likewise.
- 
- Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md: FIx typo.
- 	(sse2_cvtsi2sd, sse2_pslrdq): Fix template.
- 	(sse2_umulv2siv2di3): Fix predicate.
- 	(sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
- 	lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
- 	* xmmintrin.h (_mm_mul_epu16): Rename to...
- 	(_mm_mul_epu32): This one.
- 	(_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
- 
- 	(contains_128bit_aligned_vector_p): Undo accidental checkin.
- 
- 2002-10-22  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/sparc/sparc.h: Add #error.
- 
- 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
- 	[s390x-*-linux*]: Likewise.
- 	* config/s390/t-linux: Remove.
- 	* config/s390/s390.h: Include fixdfdi.h when building libgcc2.
- 
- Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
- 	(ix86_expand_builtin): Fix MASKMOVDQU expasion.
- 	* i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
- 	* i386.md (mmx_punpck?dq): Simplify.
- 	(sse2_pubpcklqdq): Fix.
- 	(sse2_pubpckhqdq): New.
- 	* xmmintrin.h (_mm_unpackhi_epi32): New.
- 
- 	* xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
- 	(_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
- 
- 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c++/7209
- 	* fold_const.c (fold_binary_op_with_conditional_arg): Always
- 	build compound_expr if we used save_expr.
- 
- 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* output.h (SECTION_NOTYPE): Define.
- 	* varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
- 	init array sections.
- 	(default_elf_asm_named_section): Mind SECTION_NOTYPE.
- 	* config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
- 	merge TLS support.
- 
- 2002-10-21  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
- 	the function type, not the return type.
- 
- 2002-10-21  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (sticky_rshift_significand): Return inexact, don't
- 	or it in immediately.
- 	(sub_significands): Accept incomming carry.
- 	(div_significands, rtd_divmod): Update for sub_significands change.
- 	(round_for_format): Update for sticky_rshift_significand change.
- 	(do_add): Don't involve the inexact bit in addition, do give the
- 	inexact bit as the subtraction carry-in.
- 	(encode_internal, decode_internal, real_internal_format): New.
- 	* real.h (real_internal_format): Declare.
- 
- 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
- 	don't define sdiv_qrnnd.
- 
- 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
- 	using IN_RANGE.
- 	(TINY_CONSTANT_ADDRESS_P): Likewise.
- 
- Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (builtin_description): Add punpcklqdq and movdq2q
- 	(ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
- 	v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
- 	void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
- 	__builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
- 	__builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
- 	__builtin_ia32_setzero128.
- 	(ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
- 	IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
- 	IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
- 	* i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
- 	IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
- 	IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
- 	IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
- 	* i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
- 	sse2_movq): New patterns.
- 	(sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
- 	* xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
- 	_mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
- 	_mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
- 	_mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
- 	_mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
- 	_mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
- 	(_mm_insert_epi16): Fix.
- 
- 2002-10-21  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
- 	    unsafe math reversals correctly for RTL generation.
- 	  (output_cbranch):  Replace rs6000_reverse_condition call
- 	    by its former definition.
- 
- 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
- 	argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
- 	from constant pool or LABEL_REFs as sign extended if allow_rip.
- 	Change all +-1GB limits to +-16MB.
- 	(x86_64_general_operand, x86_64_szext_general_operand,
- 	x86_64_nonmemory_operand, x86_64_movabs_operand,
- 	x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
- 	legitimate_address_p, ix86_expand_int_movcc): Update callers.
- 	(local_symbolic_operand): Don't allow offsets bigger than +-16MB
- 	in CM_SMALL_PIC model.
- 	(legitimate_pic_address_disp_p): Don't check offsets before
- 	calling local_symbolic_operand.
- 	(legitimize_pic_address): Force offsets bigger than +-16MB into
- 	register.
- 	* config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
- 	* config/i386/i386-protos.h (x86_64_sign_extended_value): Update
- 	prototype.
- 
- 	* configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
- 	Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
- 	* configure: Rebuilt.
- 	* config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
- 	SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
- 	UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
- 	(legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
- 	-fpic.
- 	(ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
- 	non-pic code if TARGET_64BIT.
- 	(legitimize_address): Generate 64-bit TLS sequences.
- 	(output_pic_addr_const): Support x86-64 TLS operators.
- 	(i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
- 	(print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
- 	Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
- 	(output_addr_const_extra): Support x86-64 TLS operators.
- 	(maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
- 	(ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
- 	unconditionally.
- 	* config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
- 	(*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
- 	(*tls_global_dynamic_sun): Renamed to...
- 	(*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
- 	(tls_global_dynamic): Renamed to...
- 	(tls_global_dynamic_32): ... this.
- 	(tls_global_dynamic_64, *tls_global_dynamic_64): New.
- 	(*tls_local_dynamic_base_dynamic_gnu): Renamed to...
- 	(*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
- 	(*tls_local_dynamic_base_dynamic_sun): Renamed to...
- 	(*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
- 	(tls_local_dynamic_base_dynamic): Renamed to...
- 	(tls_local_dynamic_base_dynamic_32): ... this.
- 	(tls_local_dynamic_base_dynamic_64,
- 	*tls_local_dynamic_base_dynamic_64): New.
- 	(*tls_local_dynamic_once): Renamed to...
- 	(*tls_local_dynamic_32_once): ... this.
- 
- 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
- 	__divdi3, __umoddi3, or __moddi3.
- 
- 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
- 	instead of just opt_index as switch expression.
- 
- 	* calls.c (store_one_arg): Change type of 'excess_align'
- 	to unsigned int.
- 
- 	* profile.c (output_gcov_string): Change type of 'temp'
- 	to size_t.
- 
- 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
- 	(__fixunssfdi, __fixsfdi): Likewise.
- 	* config/s390/s390.c (s390_single_hi): Initialize 'value'.
- 	(s390_single_qi): Likewise.
- 	(s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
- 	unsigned comparison warning.
- 	(s390_return_addr_rtx): New function.
- 	* config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
- 	* config/s390/s390.h (RETURN_ADDR_RTX): Use it.
- 	(HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
- 
- 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
- 	(s390_output_mi_thunk): Remove.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): Remove.
- 
- 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
- 
- 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
- 	inverted test in the conditional determining the possibility
- 	of sibcalls in PIC mode.
- 
- 2002-10-20  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (struct gcc_target): Line wrap.
- 
- 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): Define here...
- 	* config/alpha/alpha.h: ... not here.
- 	* config/alpha/alpha-protos.h: Update.
- 
- 	* config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
- 	config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
- 	config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
- 	config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
- 	config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
- 	config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
- 	config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
- 	config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
- 	config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
- 	config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
- 	config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
- 	config/sparc/openbsd.h, config/sparc/sparc-protos.h,
- 	config/sparc/sparc.c, config/sparc/sparc.h,
- 	config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
- 	config/stormy16/stormy16.h: Similarly.
- 
- 	* config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
- 	selection logic from call patterns.
- 
- 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
- 
- 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	PR other/8202
- 	* i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
- 	expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
- 	* i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
- 	* xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
- 
- 2002-10-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/761
- 	* toplev.c (flag_unsafe_profile_arcs): Remove.
- 	(flag_bounded_pointers): Remove.
- 	(flag_bounds_check): Correct comments.
- 	(lang_independent_options): Remove -funsafe-profile-arcs and
- 	-fbounded-pointers.  Correct -fbounds-check comments.
- 
- 	* flags.h: Correct flag_schedule_interblock comments.
- 	(flag_bounded_pointers): Remove prototype.
- 	(flag_bounds_check): Correct comments.
- 
- 	* c-opts.c (c_common_init_options): No need to mark
- 	flag_bounds_check as unspecified.
- 	(c_common_post_options): And no need to set it from
- 	flag_bounded_pointers if its still unspecified.
- 
- 	* doc/invoke.texi: Fix some overfull hboxes in "make dvi".
- 	Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
- 	-fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
- 	-fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
- 
- Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
- 	Angela Marie Thomas  <angela@releasedominatrix.com>
- 	Brendan Kehoe  <brendan@zen.org>
- 	Nick Clifton  <nickc@redhat.com>
- 	Andrew Haley  <aph@redhat.com>
- 
- 	* configure.in (--with-sysroot): New.  Don't inhibit libc if
- 	given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
- 	and CROSS_SYSTEM_HEADER_DIR.
- 	* configure: Rebuilt.
- 	* Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
- 	(TARGET_SYSTEM_ROOT): New.
- 	(DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
- 	CROSS_SYSTEM_HEADER_DIR.
- 	(install-gcc-tooldir): New target.
- 	(stmp-fixinc): Do not create $(libsubdir), but rather bail out
- 	if SYSTEM_HEADER_DIR does not exist and it's not the default
- 	sys-include directory.
- 	(deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
- 	(install-mkheaders): Likewise.
- 	* gcc.c (target_system_root): New variable.
- 	(add_sysrooted_prefix): New function.
- 	(process_command): Recompute run-time target_system_root from
- 	gcc_exec_prefix, keeping it unchanged if the relocated sysroot
- 	does not exist.
- 	(do_spec_1): Process 'R' spec.
- 	(main): Add md_exec_prefix to exec_prefixes regardless of
- 	startfile_prefix_spec.  Use add_sysrooted_prefix for
- 	startfile_prefixes, and don't skip the default ones when cross
- 	compiling with sysroot enabled.  Removed unused case of
- 	non-absolute standard_startfile_prefix.
- 	* config/interix.h: Remove the only potential, yet disabled,
- 	occurrence of non-absolute (empty) standard_startfile_prefix.
- 	* config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
- 	linking.
- 	* config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
- 	* doc/install.texi (--with-sysroot): Document.
- 	(--with-headers, --with-libs): Deprecate.
- 
- 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 	    Mark Mitchell  <mark@codesourcery.com>
- 
- 	* alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
- 	match target.h.
- 	* arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
- 	* cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
- 	* frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
- 	* i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
- 	x86_output_mi_thunk): Likewise.
- 	* i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
- 	* ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
- 	* m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
- 	* mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
- 	* rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
- 	* s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
- 	* stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
- 	Likewise.
- 	* vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
- 
- 	* target.h (gcc_target): Update output_mi_thunk and
- 	output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
- 	vcall_index.
- 
- 	* config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
- 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
- 	* config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
- 	* config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
- 	* config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
- 	signature.
- 	* config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
- 	* config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
- 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
- 	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
- 	(TARGET_ASM_OUTPUT_MI_THUNK): Do define.
- 	* config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
- 	TARGET_ASM_OUTPUT_MI_THUNK in comments.
- 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
- 	ASM_OUTPUT_MI_THUNK and replace with check of targetm.
- 
- 	* doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
- 	(TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
- 
- 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
- 
- 	* real.c (do_add): Fix 0+0 sign corner case.
- 	(do_divide): Fix Inf/0 corner case.
- 
- Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Pass MMX arguments in memory
- 	(ix86_expand_builtin): Expand proper address mode for cflush.
- 	* i386.md (movdqa): Fix typo.
- 	(sse2_cflush): Accept DImode addresses.
- 
- 	* xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
- 	(_mm_max_sd): Fix pasto.
- 	(_mm_storeh_pd, _mm_storel_pd): Fix.
- 
- 	* i386.c (bdesc_comi): Fix to match specification.
- 	(ix86_expand_sse_comi): Emit the comparison properly.
- 	* i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
- 	Do not use comparison operator.
- 	(vnmaskcmp): Fix template.
- 
- 	* xmmintrin.h (_mm_cvtps_pi16): Fix.
- 
- 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
- 
- 	* dependence.c : Removed.
- 	* Makefile.in : Remove dependence.o.
- 
- Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* mmintrin.h (__m64): typedef it to v2si.
- 	(_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
- 	_mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
- 	_mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
- 	_mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
- 	_mm_or_si64, _mm_xor_si64): Add neccesary casts.
- 	* xmmintrin.h (_mm_setzero_si64): Likewise.
- 
- 	* i386.h (ALIGN_MODE_128): Update comment; add missing modes
- 	(SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
- 
- 	PR target/7693
- 	Patch by Shawn Wagner
- 	* mmintrin.h: Replace pi64 by si64.
- 
- 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.md (movdf_hardfloat32): Order alternatives consistently.
- 	Use length of 4 not *.
- 	(movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
- 	(movdf_softfloat64): Likewise.
- 	(movdi_internal32): Use length of 4 not *.
- 	(movti_power): Same.
- 	(ctrsi, ctrdi): Same.
- 
- 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (start_decl): Point users of the old initialized-
- 	typedef extension at __typeof__.
- 
- 2002-10-18  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
- 	(real_to_decimal): Re-implement using the logic from the
- 	gcc 3.2 etoasc.  Comment heavily.
- 	(div_significands): Simplify loop startup and comparison logic.
- 
- 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
- 	(TARGET_ASM_OUT): Add them.
- 	* target.h (asm_out): Add output_mi_thunk and
- 	output_mi_vcall_thunk.
- 	* config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
- 	* config/arm/arm.c (arm_output_mi_thunk): Define.
- 	* config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
- 	prototype.
- 	(x86_output_mi_vcall_thunk): Declare.
- 	* config/i386/i386.c (override_options): Clear
- 	output_mi_vcall_thunk in 64-bit mode.
- 	(ix86_fntype_regparm): New function.
- 	(ix86_return_pops_args): Use it.
- 	(ia32_this_parameter): New function.
- 	(x86_output_mi_vcall_thunk): New function.
- 	(x86_output_mi_thunk): Use it
- 	* config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
- 	(TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
- 	* config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
- 	* config/i960/i960.c (i960_output_mi_thunk): New function.
- 	* config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
- 	* config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
- 	* config/ia64/ia64.c (ia64_output_mi_thunk): Define.
- 	* config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
- 	* config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
- 	* config/s390/s390.c (s390_output_mi_thunk): Define.
- 	* config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
- 	* config/vax/vax.c (vax_output_mi_thunk): Define.
- 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
- 	(TARGET_ASM_OUTPUT_MI_THUNK): ... this.
- 	* doc/tm.texi: Adjust documentation.
- 
- 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
- 	__enable_execute_stack function.
- 	* config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
- 	as NETBSD_ENABLE_EXECUTE_STACK.
- 	* config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
- 	* config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
- 	* config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
- 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
- 	* config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
- 
- 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/i386/i386.c (x86_initialize_trampoline): Emit a call
- 	to __enable_execute_stack with the address of the trampoline
- 	if TRANSFER_FROM_TRAMPOLINE is defined.
- 	* config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
- 	constant if building libgcc2.
- 
- Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (pentium4_cost): Fix according to Intel recommendations.
- 	(ix86_memory_move_cost): Fix for 64bit compilation.
- 
- 2002-10-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/c-tree.texi: Update description of COND_EXPR tree nodes.
- 
- 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
- 	in CTR/LR/MQ.
- 	* config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
- 	to/from CTR/LR/MQ.
- 	(movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
- 	(movsf_softfloat): Likewise.
- 
- 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
- 
- 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/alpha.c (alpha_initialize_trampoline): Use
- 	tramp, not addr, to pass the trampoline address to
- 	__enable_execute_stack.
- 
- Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* mmintrin.h: Guard by __MMX__
- 	* xmmintrin.h: Guard by __SSE__
- 
- 	PR other/8062
- 	* xmmintrin.h (_MM_SHUFFLE2): New macro.
- 	(_mm_load*_?d): New functions.
- 	(_mm_set*_?d): New functions.
- 	(_mm_store*_?d): New functions.
- 
- Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	Really commit patch announced at Oct 14
- 	PR c/7344
- 	* predict.c (can_predict_insn_p): New function.
- 	(estimate_probability): Avoid unnecesary work.
- 	(process_note_prediction): Likewise.
- 	* toplev.c (rest_of_compilation): Account early branch prediction pass
- 	as TV_BRANCH_PROB.
- 
- 	PR other/8048
- 	Found by Ian Ollmann
- 	* xmmintrin.h (_mm_shuffle_pd): Fix typo.
- 	(_mm_load?_pd): Likewise.
- 	(_mm_store?_pd): Likewise.
- 
- 	PR target/7386
- 	* i386.c (builtin_description):Drop cmpg[te]s[sd].
- 	* xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
- 	swapped alternative.
- 
- 	PR opt/7630
- 	* reload1.c (reload_inner_reg_of_subreg): New argument output;
- 	(push_reload): Update call.
- 
- 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
- 	if using mips/elf.h or mips/elf64.h.
- 	* config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
- 	* config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
- 
- 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
- 	SI.
- 
- 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
- 	(LPREFIX): Likewise.
- 	(ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
- 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
- 	ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
- 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
- 	GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
- 
- 	* config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
- 	ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
- 	ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
- 	BSS_SECTION_ASM_OP): Move from linux.h.
- 	(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- 	Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
- 
- 	* config/s390/s390.c (s390_function_profiler): Use
- 	ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
- 
- 2002-10-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
- 	* java/parse.y (obtain_incomplete_type): Make pointer
- 	ptr_mode.
- 
- 2002-10-15  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
- 	as arguments.  Bound DIGITS by the available buffer size.
- 	(real_to_hexadecimal): Likewise.
- 	* real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
- 	(REAL_VALUE_TO_DECIMAL): Remove.
- 	* c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
- 	sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
- 	config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
- 	config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
- 	config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
- 	config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
- 	config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
- 	use real_to_decimal directly, and with the proper arguments.
- 	* doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
- 
- 2002-10-15  Jim Wilson  <wilson@redhat.com>
- 
- 	* reload1.c (merge_assigned_reloads): After converting overlapping
- 	reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
- 
- 	* config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
- 
- Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.c (do_tablejump): Fix typo in my previous commit.
- 
- 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
- 
- 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_split_branches): Add return
- 	value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
- 
- 	(find_base_register_in_addr): New function.
- 	(find_base_register_ref): New function.
- 	(replace_base_register_ref): New function.
- 
- 	(struct constant_pool): Add members pool_insn, insns, and anchor.
- 	Remove member last_insn.
- 	(s390_start_pool): Initialize them.
- 	(s390_end_pool): Emit pool placeholder insn.
- 	(s390_add_pool_insn): New function.
- 	(s390_find_pool): Use insns bitmap instead of addresses.
- 	(s390_dump_pool): Replace placeholder insn.  Emit anchor.
- 	Replace unspec 104 by local-pool-relative references.
- 	(s390_output_constant_pool): Output anchor label if required.
- 	(s390_output_symbolic_const): Handle unspec 104 and 105.
- 	(s390_add_pool): Remove, replace by ...
- 	(s390_add_constant, s390_find_constant): ... these new functions.
- 	(s390_add_anchor): New function.
- 
- 	(s390_chunkify_pool): Delete, replace by ...
- 	(s390_chunkify_start, s390_chunkify_finish,
- 	s390_chunkify_cancel): ... these new functions.
- 	(s390_optimize_prolog): Add parameter TEMP_REGNO.
- 	Recompute register live data for special registers.
- 	(s390_fixup_clobbered_return_reg): New function.
- 	(s390_machine_dependent_reorg): Rewrite to use new
- 	s390_chunkify_... routines.
- 
- 	config/s390/s390.md ("reload_base"): Rename to ...
- 	("reload_base_31"): ... this.
- 	("reload_base_64"): New insn.
- 	("reload_base2"): Remove.
- 	("reload_anchor"): New insn.
- 	("pool"): New insn.
- 
- 	s390.c (s390_pool_overflow): Remove.
- 	s390.h (s390_pool_overflow): Likewise.
- 	s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
- 
- Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (movv8qi_i+2): Don't split if source is -1.
- 
- 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi: Formatting changes for conformance to HTML 4.01.
- 
- 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	PR opt/7409
- 	* loop.c (loop_regs_scan): Mark registers used for function
- 	argument passing as MAY_NOT_OPTIMIZE.
- 
- Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcov-io.h (gcov_info): Fix type.
- 	* profile.c (create_profiler): Fix type mismatch.
- 
- Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movv2di_internal): New pattern.
- 	(movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
- 	(movv2di): New expander.
- 	* i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
- 
- 	* i386.c (ix86_expand_timode_binop_builtin): Delete.
- 	(builtin_description): Add SSE1 logicals; rename SSE2 logicals.
- 	(ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
- 	(ix86_expand_builtin): Likewise.
- 	* i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
- 	sse_andti3,
- 	sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
- 	sse_andnti3,
- 	sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
- 	sse_orti3,
- 	sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
- 	sse_xorti3): Kill.
- 	(sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
- 	 sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
- 	(*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
- 	 *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
- 	(*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
- 	 *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
- 
- 	* xmmintrin.h (__m128i): Define as __v2di.
- 
- 	PR c++/6419
- 	(expand_expr): Use DECL_RTL_SET_P.
- 
- 2002-10-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (simplify_set):  Treat MODE_CC registers like cc0.
- 
- 2002-10-14  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* config/i386/i386.c (k6_cost): Correct typo.
- 
- 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR optimization/6631
- 	* alias.c (objects_must_conflict_p): Check honor_readonly when
- 	examining TYPE_READONLY.
- 	* function.c (assign_stack_temp_for_type): Likewise.
- 
- 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	* config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
- 	Swap zero extension arguments.
- 	(umaxhi3): Fix instruction class.
- 	PR target/7211
- 	(prefetch): Fix prefetch instructions.
- 	PR target/7238
- 	(pkwb): Fix output constraint.
- 
- 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.c (print_operand): Increase buffer size for
- 	real numbers.
- 
- 2002-10-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/8165
- 	* gcse.c (adjust_libcall_notes): Revert last change.
- 	* simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
- 
- 2002-10-14  Andrew Haley  <aph@redhat.com>
- 
- 	* tree-inline.c (remap_block): All local class initialization
- 	flags go in the outermost scope.
- 	(expand_call_inline): Call java_inlining_map_static_initializers.
- 	(expand_call_inline): Call java_inlining_merge_static_initializers.
- 	* java/lang.c (merge_init_test_initialization): New.
- 	(java_inlining_merge_static_initializers): New.
- 	(inline_init_test_initialization): New.
- 	(java_inlining_map_static_initializers): New.
- 
- 	* tree-inline.c (expand_call_inline): Convert retvar to expected
- 	type.
- 
- 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
- 
- 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* stmt.c: Fix typo in comment.
- 
- Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-common.c (c_common_type_for_mode): Add V2HImode case.
- 	* tree.c (build_common_tree_nodes_2): Initialize
- 	unsigned_V2HI_type_node and V2HI_type_node.
- 	* tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
- 	(unsigned_V2HI_type_node, V2HI_type_node): Define.
- 
- 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
- 	Handle TARGET_64BIT.
- 
- 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
- 	* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
- 	(MULTILIB_DIRNAMES): Remove long32.
- 	(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
- 	(MULTILIB_REDUNDANT_DIRS): Remove.
- 
- 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/tm.texi (DRIVER_SELF_SPECS): Document.
- 	* gcc.c (driver_self_specs): New variable.
- 	(do_self_spec): New function.
- 	(main): Use it to process driver_self_specs.
- 
- 2002-10-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
- 	indirect sibcalls when regparm >= 3.
- 
- 	* config/i386/i386.c (sibcall_insn_operand): New.
- 	* config/i386/i386.h (PREDICATE_CODES): Update.
- 	* config/i386/i386-protos.h: Update.
- 	* config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
- 
- 	* rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
- 
- 2002-10-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
- 	arithmetic right shifts of ~0 during RTL simplifications.
- 
- 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7862
- 	PR preprocessor/8190
- 	* gcc.c (cpp_unique_options): Don't delete .d files.
- 	Remove stray whitespace.
- 
- 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
- 
- 	* pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
- 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
- 	* pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
- 	(pdp11_output_function_epilogue, output_ascii): Likewise.
- 	(output_addr_const_pdp11): Likewise.
- 	* pdp11.md (movdi): Use offsetable memory for floating store.
- 	(lshrsi3, negsi2): Delete irrelevant comment.
- 
- 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
- 
- 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
- 	indirect calls to be sibcall optimized.
- 	* config/i386/i386.md (sibcall_1): New.
- 	(call_1): Add no-sibcalls condition.
- 	(sibcall_value_1): New.
- 	(call_value_1): Add no-sibcalls condition.
- 
- 2002-10-11  Eric Christopher  <echristo@redhat.com>
- 
-        * output.h (default_valid_pointer_mode): Declare.
-        * varasm.c (default_valid_pointer_mode): Define.
-        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
-        * target.h: Ditto.
-        * tree.c (build_pointer_type_for_mode): New function.
-        (build_pointer_type): Use.
-        (build_reference_type_for_mode): New function.
-        (build_reference_type): Use.
-        * tree.h: Declare new functions.
-        * c-common.c (handle_mode_attribute): Use new functions, check
-        for type.
-        * stor-layout.c (layout_type): Depend on machine mode for
-        REFERENCE_TYPE and POINTER_TYPE.
-        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
-        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
-        and REFERENCE_TYPE.
-        * config/mips/mips.c (mips_valid_pointer_mode): New function.
-        (TARGET_VALID_POINTER_MODE): Use and define.
-        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
- 
- 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* cse.c (mention_regs): Set SUBREG_TICKED to the register number,
- 	not the address of the REG.
- 	(struct cse_reg_info): Make subreg_ticked unsigned.
- 
- 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/compat.texi: Add info about C++ libraries.
- 
- 2002-10-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/8165
- 	* gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
- 
- 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cfganal.c (dfs_enumerate_from): Use PARAMS.
- 	* genautomata.c (output_insn_code_cases): Likewise.
- 	* real.c (real_format): Likewise.
- 	* tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
- 	ensure value is promoted before doing subtraction.
- 
- Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Simplify noreturn call.
- 
- 	PR c/7344
- 	* cfgbuild.c (make_edges): Create edge cache when we do have
- 	large jumptable.
- 	* expr.c (do_tablejump): Note size of maximal jumptable.
- 	* function.c (prepare_function_start): Zero out size.
- 	* function.h (function): Add max_jumptable_ents.
- 
- 	* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
- 
- Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
- 	register for mperm_w operation.
- 
- Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): When asked to make a vector from
- 	an integer, use simplify_gen_subreg.
- 
- 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* calls.c (flags_from_decl_or_type): Make extern.
- 	(ECF_*): Move ...
- 	* rtl.h (ECF_*): ... here.
- 	(flags_from_decl_or_type): Declare.
- 
- 2002-10-10  Roger Sayle  <roger@eyesopen.com>
- 	    Nathan Sidwell <nathan@codesourcery.com>
- 
- 	* fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
- 	shifts of the form -1 >> x.
- 
- Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
- 
- 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* extend.texi (Vector Extensions): Remove comment about single
- 	element vectors.
- 
- 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fold-const.c (size_htab_hash): Use htab_hash_pointer.
- 	* function.c (insns_for_mem_hash): Likewise.
- 	* varasm.c (STRHASH): Likewise.
- 
- 2002-10-10  Stuart Hastings  <stuart@apple.com>
- 
- 	* cse.c (struct cse_reg_info): Add subreg_ticked.
- 	(SUBREG_TICKED): New.
- 	(get_cse_reg_info): Initialize SUBREG_TICKED.
- 	(mention_regs): Use it.
- 	(invalidate): Set SUBREG_TICKED.
- 	(invalidate_for_call): Likewise.
- 	(addr_affects_sp_p): Likewise.
- 
- 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (tls_local_dynamic_base): Put pic reg
- 	into proper operand.
- 
- 2002-10-10  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/ip2k/ip2k.c (function_epilogue): Optimize stack
- 	deallocation.
- 	* config/ip2k/libgcc.S: Combine routines used by function
- 	epilogue.
- 
- 2002-10-10  Jim Wilson  <wilson@redhat.com>
- 
- 	* cse.c (fold_rtx): Don't perform associative optimization for DIV and
- 	UDIV.
- 
- 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix52.h: New file.
- 	* config/rs6000/t-aix52: New File.
- 	* config.gcc (rs6000-ibm-aix5.1.*): New entry.
- 	(rs6000-ibm-aix[56789].*): Default to AIX 5.2.
- 
- Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/5610
- 	* invoke.texi (-msse-math): Kill
- 	(-msse): Add note to mfpmath=sse.
- 
- Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/7723
- 	* i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
- 
- 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/8179
- 	* gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
- 	as cc1_options.
- 	(default_compilers): Pass debug options when preprocessing
- 	stdin.
- 
- 2002-10-06  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Revert opt/2960 change.
- 
- Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (*_cost): Add branch costs.
- 	(override_options): set ix86_branch_cost.
- 	(ix86_expand_int_movcc): Use BRANCH_COST.
- 	* i386.h (costs): Add branch_cost.
- 
- 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR c/7353
- 	* c-decl.c (start_decl): Unconditionally issue error for
- 	'typedef foo = bar'.
- 	(finish_decl): Remove special case for TYPE_DECL with initializer.
- 
- 	* doc/extend.texi: Delete "Naming Types" section.  Change all
- 	cross-references to that section to refer to "Typeof" instead.
- 	Add the useful safe-max()-macro example from "Naming Types" to
- 	"Typeof", rewritten using that extension.  Add some compatibility
- 	notes to "Typeof."
- 
- 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* loop.c: Revert 2002-08-15 change.
- 	(LOOP_REGNO_NREGS): Ensure type is int.
- 
- 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (extenddftf2): Change to define_insn
- 	which copies first FPR and clears second.
- 	(extendsftf2): Same.
- 	(floatditf2): Fix typo.
- 	(floatsitf2): Same.
- 	(fix_trunctfdi2): Same.
- 	(fix_trunctfsi2): Same.
- 
- 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* conflict.c (arc_hash): Change return type to hashval_t.
- 	* cselib.c (get_value_hash): Likewise.
- 	* genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
- 	state_hash, automata_list_hash): Likewise.
- 	* read-rtl.c (def_hash): Likewise.
- 	* tree.c (type_hash_hash): Likewise.
- 
- 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
- 	prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
- 
- Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (ffssi2): Fix emitted code.
- 
- 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* cse.c (insn_live_p): Pass insn pattern, not full insn
- 	to may_trap_p.
- 
- 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppmacro.c (paste_tokens): Only allow / to paste with =.
- 
- 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
- 	64-bit hosts.
- 	(movtf_internal): Reference correct displacement for second value
- 	in memory.
- 	(movtf splitter): Correct generation of constants in 64-bit mode.
- 
- 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* libgcc2.c (__floatdisf): Properly cure double rounding.
- 
- 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
- 	* doc/cpp.texi (Common Predefined Macros): Document.
- 
- 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	PR doc/7484
- 	* doc/invoke.texi (Option Summary): List
- 	-Wmissing-declarations as a C only option.
- 
- 2002-10-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
- 	left and right rotates of ~0, i.e. integer_all_onesp (arg0).
- 	[LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
- 
- Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
- 	x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
- 	variables.
- 	(safe_vector_operand): Update sse_clrv4sf call.
- 	(ix86_expand_buildin): Likewise
- 	* i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
- 	x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
- 	(TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
- 	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
- 	macros.
- 	* i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
- 	movv4si):  Obey the new flags.
- 	(floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
- 	reformating penalty.
- 	(anddf, cmov patterns): Avoid reformating by first converting.
- 	(sse_cvtsd2ss): Fix predicate.
- 	(sse2_clrti): Fix mode,
- 	(sse_clrv4sf): Avoid unspec.
- 
- 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
- 	mno-app-regs|mcmodel=medany.
- 	(MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
- 	(MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
- 	(CRTSTUFF_T_CFLAGS): Define.
- 
- 2002-10-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR target/8087
- 	* simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
- 	pool references that are constructed using LO_SUM.
- 
- 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
- 	-Wall.
- 	* c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
- 	message.
- 	* flags.h (warn_strict_aliasing): Declare.
- 	* toplev.c (warn_strict_aliasing): Define.
- 	(lang_independent_options): Add it.
- 	* doc/invoke.texi (-Wstrict-aliasing): Document it.
- 
- 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* system.h (GCCBUGURL): Delete.
- 	* version.c (bug_report_url): New.  Add commentary about
- 	modifying both these strings in modified distributions.
- 	* version.h: Declare bug_report_url.
- 
- 	* diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
- 	bug_report_url.
- 
- 2002-10-08  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
- 	convert uint64_t into __ev64_opaque__.
- 	(__ev_set_acc_s64): Likewise, but using signed types.
- 
- 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*doloop_si_long"): Add missing operand.
- 	("*doloop_di_long"): Likewise.
- 
- Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* print-rtl.c (print_rtx): Increase buffer size for real numbers.
- 
- 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (define_attr cpu): Add r4111.
- 
- 2002-10-08  Anthony Green  <green@redhat.com>
- 
- 	* bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
- 
- 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
- 	for REAL_VALUE_TO_DECIMAL output.
- 
- 2002-10-07  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
- 	function; cleanup PLUS case by using recursion.  Update all users.
- 	(NONZERO_BASE_PLUS_P): Remove.
- 	(find_comparison_args): Use rtx_addr_can_trap_p instead.
- 	(fold_rtx): Use nonzero_address_p.
- 	* rtl.h (nonzero_address_p): Declare.
- 	* rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
- 	(rtx_addr_can_trap_p): Likewise.
- 	(nonzero_address_p): New.
- 	* simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
- 	(simplify_relational_operation): Use nonzero_address_p.
- 
- 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Set
- 	real_format_for_mode for IBM extended format, if enabled.
- 	(easy_fp_constant): Add TFmode.
- 	(rs6000_legitimize_address): Add TFmode.
- 	(rs6000_legitimate_address): Same.
- 	(function_arg_advance): TFmode uses two FPRs.
- 	(rs6000_emit_prologue): Fix warning.
- 	(rs6000_output_function_epilogue): Add TFmode.
- 	(output_toc): Add TFmode.
- 	* rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
- 	(LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
- 	* rs6000.md (movtf splitter): Load TFmode constant.
- 
- 2002-10-07  Dale Johannesen  <dalej@apple.com>
- 
- 	* rtl.h:  Add NOTE_PRECONDITIONED.
- 	* unroll.c:  Set it.
- 	* loop.c:  Set loop_info->preconditioned from it.
- 	* doloop.c:  Permit doloop treatment when loop_info->preconditoned.
- 
- 2002-10-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i960/i960.c (i960_setup_incoming_varargs): Create a
- 	new rtx for comparing the argument pointer against zero.
- 	(i960_va_start): Similarly.
- 
- 2002-10-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i960/i960.md (*): Use TFmode, not XFmode.
- 	* config/i960/i960.c (*): Likewise.
- 	(i960_arg_size_and_align): Remove XFmode alignment hack.
- 	(i960_round_align): Merge code from ROUND_TYPE_ALIGN.
- 	* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
- 	(MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
- 	(DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
- 
- 2002-10-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
- 	entry points; use void return value and argument list.
- 
- 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
- 
- 	* calls.c (expand_call): Fix function-is-volatile check.
- 
- 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
- 
- 	* t-pdp11: Add MULTILIB support for msoft-float.
- 	* pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
- 
- 	* t-pdp11: Add LIB2FUNCS_EXTRA.
- 	* pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
- 	add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
- 	'fldd' to 'ldd', rename 'fstd' to 'std'.
- 	(pdp11_output_function_epilogue): Likewise.
- 	(output_move_quad): Make the comment gas compatible.
- 	(output_ascii): Add preceding 0 to the octal constant.
- 	(print_operand_address): Add pre_modify, post_modify.
- 	(output_addr_const_pdp11): Add preceding 0 to the octal constant.
- 	* pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
- 	with the indication of Paul Koning.
- 	(PRINT_OPERAND): Fix floating constant.
- 	* pdp11.md (movdi): Restrict matching pattern.
- 	(movqi): Generalize the matching pattern.
- 	(movdf): Restrict matching pattern.
- 	(zero_extendqihi2): Change constant representation.
- 	(floatsidf2): Fix wrong operands.
- 	(addqi3): Fix wrong instruction name.
- 	(subqi3): Fix wrong instruction name.
- 	(andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
- 	(xorsi3): Fix wrong insn.
- 	(one_cmplqi2): Add two operand pattern.
- 	(lsrsi3): New.
- 	(negsi2): New.
- 	(call): Add register indirect case.
- 	(mod): Fix wrong subreg.
- 
- 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Volker Reichelt <reichelt@igpm.rwth-aachen.de>
- 
- 	PR c/7411
- 	* expr.c (expand_expr) [PLUS]: Simplify after the operands
- 	have been expanded in EXPAND_NORMAL mode.
- 
- 2002-10-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
- 
- 2002-10-06  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/2960
- 	* toplev.c (rest_of_compilation): Don't copy_loop_headers if
- 	optimize_size.
- 
- 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
- 	previously definitions.
- 
- 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
- 
- 	* cppinit.c (init_standard_includes, parse_option): Use strncmp.
- 	* c-opts.c (find_opt): Similarly.
- 
- Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* athlon.md: rewrite to DFA.
- 	* i386 (ix86_adjust_cost): Drop memory latency code.
- 	(ia32_use_dfa_pipeline_interface): Return true for Athlon.
- 
- 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (set_multilib_dir): Don't access *end.
- 	Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
- 	(print_multilib_info): Don't show paths starting with ".:".
- 	* genmultilib: Add new option, "yes" if multilibs are enabled.
- 	Update comments.  If multilibs not enabled, print .:${osdirout}
- 	for each directory.  If multilibs are enabled, always print
- 	${dirout}:${osdirout}, even if the two are the same.
- 	* Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
- 	Pass all MULTILIB_* variables to genmultilib even if
- 	--disable-multilib but MULTILIB_OSDIRNAMES is not empty.
- 
- 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (process_command): Set .validated for -pipe.  Correct
- 	grammar in comment.
- 
- 2002-10-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/inclhack.def(hpux11_abs):  use format fix
- 	* fixinc/fixincl.x: regenerate
- 	* fixinc/tests/base/stdlib.h: accommodate new fix test
- 
- Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-common.c (cb_register_builtins):  Use really_no_inline.
- 
- 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
- 	copied instruction if the note is not loop invariant.
- 
- 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
- 
- 	* gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
- 
- 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
- 	and -mhp-ld options to list of options.  Add -mgnu-ld
- 	and -mhp-ld option descriptions.
- 
- 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* fixinc/inclhack.def (hpux11_abs):  New.
- 	(stdio_va_list): change __va_list__ to __gnuc_va_list.
- 	* fixinc/fixincl.x: Rebuild.
- 
- 2002-10-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.h (processor_costs): Add new fields fadd,
- 	fmul, fdiv, fabs, fchs and fsqrt to costs structure.
- 	(RTX_COSTS): Use these fields to determine the RTX costs
- 	of floating point addition/subtraction, multiplication,
- 	division, fabs, negation and square root respectively.
- 	* config/i386/i386.c (size_cost): Provide instruction sizes
- 	for these new fields.
- 	(i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
- 	k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
- 	counts for these new fields for all x86 processor variants.
- 
- 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c (mips_const_double_ok): Delete unused variable.
- 
- 	* gengtype.c (rtx_next): Change type to int.
- 
- 2002-10-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
- 
- 2002-10-04  Richard Henderson  <rth@redhat.com>
- 
- 	* real.h (SIGNIFICAND_BITS): Add one more word.
- 	(CONST_DOUBLE_FORMAT): Accomodate 6 words.
- 	* real.c (times_pten): New.
- 	(real_to_decimal, real_from_string): Use it.
- 	(sticky_rshift_significand): Use & to find modulus.
- 	(rshift_significand, lshift_significand): Likewise.
- 	(do_divide): Apply sticky bit after normalization.
- 	(real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
- 
- 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
- 
- 	* doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): New.
- 
- 2002-10-03  Andreas Jaeger  <aj@suse.de>
- 
- 	* gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
- 	to unsigned long, adjust printf format string.
- 	(output_mangled_typename): Likewise.
- 
- 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
- 	* config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
- 	(FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
- 	assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
- 	(ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
- 	* config/vax/elf.h (FUNCTION_PROFILER): Remove.
- 	(VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
- 
- 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi (-Wabi): Document mangling bug.
- 
- 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
- 	name for the tbtab label that depends on the function asm name.
- 	Don't output tbtab label unless optional_tbtab.
- 	(output_mi_thunk): Formatting.
- 
- 2002-10-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
- 	* config/m68k/m68k.c (override_options): ... here.
- 	* config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
- 	* config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
- 	* config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
- 	* config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
- 
- 2002-10-03  Richard Henderson  <rth@redhat.com>
- 
- 	* real.h (struct real_value): Use ENUM_BITFIELD.
- 
- 2002-10-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i960/i960.md (call, call_value): Use emit_call_insn.
- 
- 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
- 
- 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
- 	* config/pa/pa.h (MASK_GNU_LD): New.
- 	(TARGET_GNU_LD): New.
- 	* config/pa/pa64-hpux.h (LINK_SPEC): Set based
- 	on gnu-ld and MASK_GNU_LD.
- 	(SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
- 
- Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (athlon_cost): Fix the move costs.
- 
- Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* final.c (final): Use symbol name as function name for profiling.
- 	* profile.c (get_exec_counts): Likewise.
- 	(branch_prob): Likewise.
- 
- 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
- 
- 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* gcc.c (print_multi_os_directory): New variable.
- 	(option_map): Support --print-multi-os-directory.
- 	(struct prefix_list): Add os_multilib field.
- 	(multilib_os_dir): New variable.
- 	(static_specs): Add multilib_options.
- 	(find_a_file): Add multilib argument.  Search in GCC or OS multilib
- 	subdirs if nonzero.
- 	(read_specs, execute): Update callers.
- 	(find_file): Likewise.  Don't prefix name with multilib_dir, instead
- 	pass 1 as multilib option.
- 	(display_help): Include --print-multi-os-directory.
- 	(add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
- 	(process_command): Update callers.  Handle --print-multi-os-directory.
- 	(do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
- 	set.
- 	(main): Update find_a_file and add_prefix callers.
- 	Handle print_multi_os_directory.
- 	(struct mdswitchstr): New.
- 	(mdswitches, n_mdswitches): New variables.
- 	(used_arg): Add MULTILIB_DEFAULT switches too if they are not
- 	present on the command line nor their mutually incompatible
- 	switches.
- 	(default_arg): Optimize.
- 	(set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
- 	array.
- 	(print_multilib_info): Only print GCC multilib dir name, not OS
- 	multilib dirname.
- 	* genmultilib: Add osdirnames parameter.  Output multilib_options
- 	variable.  If osdirnames is specified, output dirnames as
- 	dirname:osdirname.
- 	* mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
- 	and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
- 	to compute libgcc_s soname and install path.
- 	* Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
- 	SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
- 	(s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
- 	argument.
- 
- 	* config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
- 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
- 	* config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
- 	ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
- 	(STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
- 	and -m64.
- 	* config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
- 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
- 	* config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
- 	(STARTFILE_ARCH_SPEC): Remove.
- 	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
- 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
- 	* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
- 	* config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
- 	(SHLIB_SLIBDIR_SUFFIXES): Remove.
- 
- Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (choose_function_section): Avoid choice for linkonce functions.
- 
- Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (lea to mul peep2): Fix condition.
- 
- 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
- 	* pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
- 
- 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
- 
- 	* unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
- 	attribute "unused".
- 
- 	* config/t-libunwind: Mention unwind-sjlj.c.
- 	* unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
- 	to #ifndef __USING_SJLJ_EXCEPTIONS__.
- 
- 	* configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
- 	before inclusion of config.gcc, but after configuring the compiler etc.
- 	Determine default value for --enable-libunwind-exceptions based on
- 	whether the host has a libunwind library (not guaranteed to be correct,
- 	but it's a reasonable first guess and can always be overridden with an
- 	explicit --enable/disable-libunwind-exceptions.
- 	* config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
- 	tmake_file when $use_libunwind_exceptions is enabled.
- 	* Makefile.in: Update comment: LIB2ADDEH is updated not just by
- 	ia64 (e.g., config/t-linux also updates it).
- 	* gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
- 	along with the shared version of libgcc since the latter requires
- 	the former.
- 	* unwind-libunwind.c: New file.
- 	* config/t-libunwind: Ditto.
- 
- 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Remove support for vax-*-vms*.
- 	* config/vax/vms.h: Remove.
- 	* config/vax/xm-vms.h: Remove.
- 	* config/vax/vax-protos.h: Remove VMS-specific code.
- 	* config/vax/vax.c: Remove VMS-specific code.
- 
- 2002-10-02  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/7124
- 	* config/i386/i386.c (ix86_register_move_cost): Increase cost
- 	for secondary_memory_needed pairs.
- 
- 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* doc/vms.texi: Blow away false include file section.
- 
- 2002-10-02  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/6627
- 	* toplev.c (force_align_functions_log): New global variable.
- 	* flags.h (force_align_functions_log): Add extern prototype.
- 	* varasm.c (assemble_start_function): Use it to force minimum
- 	function alignment.
- 	* config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
- 	minimum function alignment to one byte.
- 	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
- 	the least significant bit of vtable member function pointers.
- 	* tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
- 	here from cp/cp-tree.h.
- 
- Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (print_operand_address): Use RIP addressing for offsetted
- 	label refs too.
- 
- 2002-09-30  David S. Miller  <davem@redhat.com>
- 
- 	PR middle-end/7151
- 	* config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
- 	(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
- 
- 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
- 
- 	* calls.c (expand_call): Remove the `no indirect check'
- 	for sibcall optimization; use function_ok_for_sibcall
- 	target hook; refine check for `function is volatile'.
- 	(FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
- 	* hooks.c (hook_tree_tree_bool_false): New.
- 	* hooks.h (hook_tree_tree_bool_false): Declare.
- 	* target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
- 	(TARGET_INITIALIZER): Add it.
- 	* target.h (struct gcc_target): Add function_ok_for_sibcall.
- 	* config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
- 	Remove function declaration.
- 	* config/arm/arm.c: (arm_function_ok_for_sibcall): Make
- 	function static and accept another argument of type `tree'.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	(TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
- 	* config/pa/pa.c: (pa_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
- 	Remove function declaration.
- 	* config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
- 	Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
- 	rename first argument to `decl'; accept another argument
- 	of type `tree'; make static.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/sh/sh.c: (sh_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
- 	(TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
- 	* config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 	* config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
- 
- 2002-10-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* unroll.c (loop_iterations): Revert 2002-09-08 change.
- 
- 2002-10-01  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
- 	(real_to_hexadecimal): Likewise.
- 	* print-rtl.c (print_rtx): If we are linked with real.c, don't
- 	dump the XWINT fields of a floating point CONST_DOUBLE.
- 
- 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
- 
- 2002-10-01  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (precompute_register_parameters): Force non-legitimate
- 	constants into pseudos.
- 
- 2002-10-01  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/spe.md (spe_evrlwi): Add missing third operand
- 	to assembler template.
- 
- 2002-10-01  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Relax requirement
- 	for TLS debug info to !DECL_EXTERNAL.
- 
- 2002-10-01  Matt Thomas  <matt@3am-software.com>
- 	    Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (vax-*-netbsdelf*): Enable configuration.
- 	* config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
- 	if not already defined.
- 	* config/vax/elf.h: New file.
- 	* config/vax/netbsd-elf.h: New file.
- 	* config/vax/vax.c: Include "debug.h".
- 	(vax_output_function_prologue): Add dwarf2 support.  Use
- 	MAIN_NAME_P when checking for VMS_TARGET stack adjust.
- 	* config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
- 	'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
- 	'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
- 	(VAX_ISTREAM_SYNC): Remove.
- 	(INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Define.
- 	(ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
- 	and assemble_name.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
- 	(PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
- 	(INCOMING_RETURN_ADDR_RTX): Define.
- 	* config/vax/vax.md (VUNSPEC_BLOCKAGE)
- 	(VUNSPEC_SYNC_ISTREAM): Define.
- 	(blockage): Use VUNSPEC_BLOCKAGE.
- 	(sync_istream): New insn.
- 
- 2002-10-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/vax/vax.md (call_pop, *call_pop, call_value_pop)
- 	(*call_value_pop, call, call_value): Add dwarf2 EH support.
- 	(*call): New insn.
- 
- 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR c/8083
- 	* c-typeck.c (build_c_cast): Warn about type punning which breaks
- 	type based aliasing.
- 
- 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* stor-layout.c (update_alignment_for_field): New function.
- 	(place_union_field): Use it.
- 	(place_field): Likewise.
- 
- 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	PR other/8077
- 	* gcc.c (cc1_options): Add space on -auxbase-strip.
- 
- 2002-10-01  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/v850/v850.h (EPILOGUE_USES): Define.
- 
- 2002-09-30  Andrew Haley  <aph@redhat.com>
- 
- 	* flow.c (insn_dead_p): When using non-call-exceptions, don't
- 	eliminate insns that may trap.
- 	* cse.c (insn_live_p): Likewise.
- 
- 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
- 	(TARGET_MIPS4121): Rename to TARGET_MIPS4120.
- 	* config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
- 	* config/mips/mips.md: Apply same renaming here.
- 
- 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
- 	(GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
- 	* config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
- 	* config/mips/mips.md (define_attr cpu): Remove r4320.
- 	Remove vr4320 scheduler and uses of TARGET_MIPS4320.
- 
- 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips16_strings): New variable.
- 	(mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
- 	symbol in mips16_strings.  Free the list.
- 	(mips_encode_section_info): Keep track of local strings.
- 
- 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
- 	(sordered_df, sordered_sf): Remove.
- 	* config/mips/mips.c (get_float_compare_codes): New fn.
- 	(gen_int_relational, gen_conditional_move): Use it.
- 
- 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
- 	* config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
- 	* config/mips/mips.c (fcc_register_operand): New function.
- 	(mips_emit_fcc_reload): New function, extracted from reload_incc.
- 	(override_options): Allow TFmode values in float registers
- 	if ISA_HAS_8CC.
- 	* cnfig/mips/mips.md (reload_incc): Change destination prediate
- 	to fcc_register_operand.  Remove misleading source constraint.
- 	Use mips_emit_fcc_reload.
- 	(reload_outcc): Duplicate reload_incc.
- 
- 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (validate_switches): Handle all new forms of spec
- 	syntax introduced recently.  Now returns a char *.
- 	(validate_all_switches): Repetitive logic broken out to...
- 	(validate_switches_from_spec): ...here.
- 	* mklibgcc.in: Don't @-flag commands to generate .oS files.
- 
- 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* longlong.h: Partially synchronize with GMP-4.1 version:
- 	Use i370 definitions also for s390.
- 	Add generic definition of umul_ppmm in terms of smul_ppmm.
- 	[s390] (umul_ppmm): Remove.
- 	[s390] (smul_ppmm): Fix incorrect assembler constraints.
- 	[s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
- 
- 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
- 	Add new RL_REGS register class.
- 	(PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
- 	Call xtensa_preferred_reload_class for both input and output reloads.
- 	* config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
- 	(xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
- 	instead of either AR_REGS or GR_REGS classes.
- 	(xtensa_secondary_reload_class): Use new RL_REGS class.
- 	* config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
- 
- 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (hppa_encode_label): Don't drop '*' from function labels.
- 	(pa_strip_name_encoding): Strip '@' and '*', in that order.
- 	* pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
- 	there is a '*' prefix in NAME.
- 
- Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* reload.c (push_reload): Handle subregs and secondary memory.
- 	* reload1.c (gen_reload): Likewise.
- 
- 	* jump.c (reg_or_subregno): New function.
- 	* rtl.h (reg_or_subregno): Declare
- 	* unroll.c (find_splittable_givs): Handle subregs.
- 
- 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* store-layout.c (finish_record_layout): Add free_p parameter.
- 	(layout_type): Pass it.
- 	* tree.h (finish_record_layout): Update prototype.
- 
- Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
- 
- 	* gcse.c (cprop_jump): Check that the register has not
- 	been modified
- 	(cprop_jump): Likewise.
- 
- 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
- 	(MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
- 	that we have a SImode access, and only then if reload hasn't completed;
- 	for all other cases, use LO_REGS.
- 
- 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* openbsd.h: Fix typo in last change.
- 
- 2002-09-29  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_from_string): Apply sign last.  Tidy exponent handling.
- 
- 2002-09-29  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/8002
- 	* combine.c (force_to_mode): Handle FLOAT_MODE destinations
- 	for CONST_INT.
- 
- 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* real.h (ibm_extended_format): Declare.
- 	* real.c (encode_ibm_extended, decode_ibm_extended): New
- 	functions.
- 
- 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
- 
- 	* ia64.c (ia64_hpux_asm_file_end): Const-ify.
- 
- 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
- 
- 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.def: Fix comment formatting.
- 	* c-common.def: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* combine.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* params.def: Likewise.
- 	* predict.def: Likewise.
- 	* rtl.def: Likewise.
- 	* stab.def: Likewise.
- 	* stor-layout.c: Likewise.
- 	* tree.def: Likewise.
- 	* config/darwin.c: Likewise.
- 	* config/darwin.h: Likewise.
- 	* config/dbxcoff.h: Likewise.
- 	* config/elfos.h: Likewise.
- 	* config/fp-bit.c: Likewise.
- 	* config/freebsd-spec.h: Likewise.
- 	* config/interix.h: Likewise.
- 	* config/libgloss.h: Likewise.
- 	* config/linux-aout.h: Likewise.
- 	* config/linux.h: Likewise.
- 	* config/lynx-ng.h: Likewise.
- 	* config/lynx.h: Likewise.
- 	* config/netbsd-aout.h: Likewise.
- 	* config/netbsd.h: Likewise.
- 	* config/netware.h: Likewise.
- 	* config/psos.h: Likewise.
- 	* config/ptx4.h: Likewise.
- 
- 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog.4: Fix typos.
- 	* ChangeLog.6: Likewise.
- 	* FSFChangeLog.10: Likewise.
- 	* genattrtab.c: Fix comment typos.
- 	* haifa-sched.c: Likewise.
- 	* real.c: Likewise.
- 	* tree.h: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/crti.asm: Likewise.
- 	* config/arm/crtn.asm: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/i386/rtemself.h: Likewise.
- 	* config/ia64/unwind-ia64.c: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/m88k/m88k.c: Likewise.
- 	* config/m88k/m88k.md: Likewise.
- 	* config/mips/sr71k.md: Likewise.
- 	* config/mmix/mmix.c: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/sh/sh.md: Likewise.
- 
- 2002-09-26  Theodore A. Roth  <troth@verinet.com>
- 
- 	* config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
- 	* config/avr/avr.md: Ditto.
- 
- 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
- 
- 	PR preprocessor/8055
- 	* cppmacro.c (stringify_arg): Do not overflow the buffer
- 	with the terminating NUL when the argument to be stringified
- 	has no tokens.
- 
- 2002-09-27  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (simplify_cmp_and_jump_insns): New.
- 	(unroll_loop): Use it.  Use simplify_gen_foo+force_operand
- 	instead of expand_simple_foo.
- 
- 2002-09-27  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/7520
- 	* cfganal.c (flow_active_insn_p): New.
- 	(forwarder_block_p): Use it.
- 
- 2002-09-27  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (active_insn_p): Revert last change.
- 
- 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* doc/extend.texi (tls_model): Document.
- 	* varasm.c (decl_tls_model): New.
- 	* c-common.c (handle_tls_model_attribute): New.
- 	(c_common_attribute_table): Add tls_model.
- 	* config/alpha/alpha.c (alpha_encode_section_info): Use
- 	decl_tls_model.
- 	* flags.h (enum tls_model, flag_tls_default): Move...
- 	* tree.h (enum tls_model, flag_tls_default): ...here.
- 	(decl_tls_model): New prototype.
- 	* config/ia64/ia64.c (ia64_encode_section_info): Likewise.
- 	* config/i386/i386.c (ix86_encode_section_info): Likewise.
- 	* config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
- 	Allow !flag_pic.
- 
- 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* LANGUAGES: Follow spelling conventions.
- 	* rtl.def: Likewise.
- 	* sbitmap.c: Likewise.
- 	* sched-int.h: Likewise.
- 	* sched-rgn.c: Likewise.
- 	* sibcall.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* ssa.c: Likewise.
- 	* stab.def: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* target.h: Likewise.
- 	* timevar.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree-dump.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* tree.c: Likewise.
- 	* tree.def: Likewise.
- 	* tree.h: Likewise.
- 	* unroll.c: Likewise.
- 	* varasm.c: Likewise.
- 	* vmsdbgout.c: Likewise.
- 	* treelang/treelang.texi: Likewise.
- 	* treelang/treetree.c: Likewise.
- 
- 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_saved_regs): Use a macro
- 	instead of a hard register number.
- 	(get_shift_alg): Use an enumerated type instead of numbers.
- 	(h8300_shift_needs_scratch_p): Likewise.
- 
- 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* varasm.c (force_data_section): Remove.
- 	(assemble_constant_align): Likewise.
- 	* output.h: Remove corresponding prototypes.
- 
- 2002-09-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	* stmt.c (expand_exit_loop_if_false): Expand a simple conditional
- 	jump, if the loop to exit is the top of the current nesting stack.
- 
- 2002-09-26  Torbjorn Granlund  <tege@swox.com>
- 
- 	* libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
- 	arithmetic.
- 
- 2002-09-26  David S. Miller  <davem@redhat.com>
- 
- 	PR optimization/7335
- 	* calls.c (emit_library_call_value_1): Passing args by reference
- 	converts a CONST function into a PURE one.
- 
- 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
- 	text_section.
- 	* xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
- 	text section.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Allow
- 	function-sections and data-sections functionality on AIX.
- 
- 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
- 	    Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
- 	in RTL for sub-word loads from memory.
- 
- 2002-09-26  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/7160
- 	* sched-deps.c (sched_analyze_insn): Make clobber insns depend
- 	on call insns.
- 
- 2002-09-26  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (const_double_htab_eq): Remove unused variable.
- 
- 2002-09-26  Chris Lattner  <sabre@nondot.org>
- 
- 	* ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
- 	handling undefined values.
- 
- 2002-09-26  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/7520
- 	* emit-rtl.c (active_insn_p): Consider a clobber of the
- 	function return value to be active even after reload.
- 
- 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
- 	by absolute loop increment, not loop increment.
- 
- 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* c-common.h: Follow spelling conventions.
- 	* cpplex.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* gthr-dce.h: Likewise.
- 	* gthr-posix.h: Likewise.
- 	* optabs.c: Likewise.
- 	* output.h: Likewise.
- 	* profile.c: Likewise.
- 	* protoize.c: Likewise.
- 	* ra-rewrite.c: Likewise.
- 	* real.c: Likewise.
- 	* recog.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* regclass.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reload.c: Likewise.
- 	* reload.h: Likewise.
- 	* reload1.c: Likewise.
- 	* reorg.c: Likewise.
- 	* resource.c: Likewise.
- 	* rtl.h: Likewise.
- 	* rtlanal.c: Likewise.
- 
- 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
- 	for symbol address.
- 
- 2002-09-24  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
- 	* config/mips/elf64.h: Ditto.
- 
- 2002-09-24  Eric Christopher  <echristo@redhat.com>
- 
- 	* except.c (expand_builtin_extract_return_address): Handle case
- 	where Pmode != ptr_mode.
- 
- 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
- 
- 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
- 
- 2002-09-26  Igor Shevlyakov <igor@microunity.com>
- 
- 	* combine.c (simplify_set): Don't call to force_to_mode if size
- 	of integer type is larger than HOST_BITS_PER_WIDE_INT.
- 
- 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* Makefile.in (qmtest-g++): Fix file path.
- 
- 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
- 	A + (-const) on RTX level, even for unsigned types.
- 
- 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (dup_replacements): New function.
- 	(find_reloads): Use it to duplicate replacements at the top level
- 	of match_dup operands.
- 
- 2002-09-26  Miles Bader  <miles@gnu.org>
- 
- 	* v850.md ("length"): Change default value to 4.
- 
- 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog.1: Follow spelling conventions.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* FSFChangeLog.11: Likewise.
- 	* doc/cpp.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2002-09-26  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add x prefix to v850e case for handling
- 	--with-cpu=v850e.
- 
- 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (input_suffix_matches, switch_matches,
- 	mark_matching_switches, process_marked_switches,
- 	process_brace_body): New functions - split from handle_braces.
- 	(handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
- 	and ignore whitespace in more places.
- 	(specs documentation comment): Document %{S:X;T:Y;:D}.
- 	Clarify other %{...} docs.
- 	* doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
- 	%{...} docs.
- 
- 	* config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
- 	* config/rs6000/sysv4.h: Use N-way choice spec syntax.
- 
- 2002-09-25  David S. Miller  <davem@redhat.com>
- 
- 	PR target/7842
- 	* config/sparc/sparc.c (set_extends): SImode ASHIFT does not
- 	extend.
- 
- 2002-09-25  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (const_double_htab_eq): Distinguish integer and
- 	fp CONST_DOUBLE; use real_identical.
- 
- 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi: Add more -Wabi examples.
- 
- 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
- 
- 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* profile.c (end_branch_prob): Only look for __gcov_init on
- 	weak-enabled native compilers.
- 
- 2002-09-24  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
- 	cases of optimizing "add sp,w" to "inc sp".
- 
- 2002-09-24  Adam Nemet  <anemet@lnxw.com>
- 
- 	* config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
- 	epilogue for naked functions.
- 
- 2002-09-24  Adam Nemet  <anemet@lnxw.com>
- 	    Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
- 	(FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
- 	is defined.
- 
- 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (preferred_la_operand_p): New function.
- 	* config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
- 	* config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
- 	("*la_64_cc", "*la_31_cc", splitters): ... these.
- 	("*la_31"): Deactivate for TARGET_64BIT.
- 	("*la_31_and", "*la_31_and_cc"): New.
- 
- 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* real.h (real_value): Make `exp' explicitly signed.
- 
- 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/elfos.h: Follow spelling conventions.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/arc/arc.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/cris/cris.md: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/i386/cygwin.h: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/sysv3.h: Likewise.
- 	* config/i960/i960.h: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ia64/ia64.md: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m88k/m88k.h: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mcore/mcore.h: Likewise.
- 	* config/mcore/mcore.md: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/mmix/mmix.md: Likewise.
- 	* config/ns32k/netbsd.h: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/ns32k/ns32k.md: Likewise.
- 	* config/pa/pa.h: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/stormy16/stormy-abi: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/vax/vax.h: Likewise.
- 
- 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.h: Remove commented-out macro
- 	definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
- 	* config/avr/avr.h: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/i370/i370.h: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i960/i960.h: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m88k/m88k.h: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/pdp11/pdp11.h: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/s390/s390.h: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/vax/vax.h: Likewise.
- 
- 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* function.c (push_temp_slots_for_block): Remove.
- 	(push_temp_slots_for_target): Likewise.
- 	(get_target_temp_slot_level): Likewise.
- 	(set_target_temp_slot_level): Likewise.
- 	(get_first_block_beg): Likewise.
- 	* function.h: Remove corresponding prototypes.
- 
- 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* version.c (version_string): Now const char[].
- 	* version.h: Update to match.
- 
- 2002-09-23  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
- 	MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
- 	(TARGET_SWITCHES): Don't reference them.
- 	* config/i386/i386.c (override_options): Use target_flags_explicit
- 	to examine bits set by the user.
- 
- 2002-09-23  Dale Johannesen  <dalej@apple.com>
- 
- 	* dbxout.c (dbxout_parms):  Set current_sym_code for params
- 	passed on stack by invisible reference.
- 
- 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
- 	at least one byte of space.
- 
- 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.h (flag_abi_version): Fix typo in comment.
- 	* doc/invoke.texi (flag_abi_version): Document default value.
- 
- 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* doc/extend.texi (Extended Asm): Clarify that overlap between
- 	asm-declared register variables used in an asm and the asm clobber
- 	list is not allowed.
- 	* stmt.c (decl_conflicts_with_clobbers_p): New function.
- 	(expand_asm_operands): Keep track of clobbered registers.  Call
- 	decl_conflicts_with_clobbers_p for each input and output operand.
- 	If no conflicts found before, also do conflict sanity check when
- 	emitting clobbers.
- 
- 2002-09-23  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (cpp_define_data_format): Remove.
- 	(cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
- 	__INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
- 	__DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
- 	* doc/cpp.texi: Don't document them either.
- 	(__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
- 	__LONG_LONG_MAX__): Document.
- 	(__TARGET_FLOAT_FORMAT__): Remove.
- 
- 2002-09-23  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (do_multiply): Normalize U before addition.
- 
- 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (flag_abi_version): New variable.
- 	* c-common.h (flag_abi_version): Declare it.
- 	* c-opts.c (missing_arg): Add -fabi-version.
- 	(c_common_decode_option): Process -fabi-version.
- 	* doc/invoke.texi (-fabi-version): Document it.
- 	(-Wabi): Add information about bit-fields in unions.
- 
- 2002-09-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (STORE_BY_PIECES_P): New target macro.
- 	(can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
- 	instead of MOVE_BY_PIECES_P.
- 	* doc/tm.texi: Document this new macro.
- 
- 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
- 	unless -fno-pic or -fno-PIC is specified.
- 
- 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* c-common.c (preprocessing_trad_p): Define.
- 	* pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
- 	(TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
- 	* pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
- 	* pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
- 	* pa-linux.h (CPP_PREDEFINES): Delete.
- 	(TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
- 	* pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
- 	* pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	* pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
- 	(TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
- 	(SUBTARGET_SWITCHES): Provide default definition.
- 	(TARGET_OPTIONS): Reformat.  Use N_() macro.
- 	(CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
- 	CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
- 	EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
- 	(TARGET_CPU_CPP_BUILTINS): Define.
- 	(TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
- 	* doc/invoke.texi (msio, mwsio): Document new hppa options.
- 	* doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
- 	preprocessing_trad_p().
- 
- 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* doc/install.texi: Document behavior of --with-headers and
- 	--with-libs when arguments are omitted.
- 
- 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dbxout.c: Follow spelling conventions.
- 	* defaults.h: Likewise.
- 	* df.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* doloop.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* except.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* expr.h: Likewise.
- 	* flags.h: Likewise.
- 	* flow.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* function.h: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* ggc.h: Likewise.
- 	* global.c: Likewise.
- 	* gthr-win32.h: Likewise.
- 	* integrate.c: Likewise.
- 	* jump.c: Likewise.
- 	* langhooks.c: Likewise.
- 	* langhooks.h: Likewise.
- 	* line-map.h: Likewise.
- 	* local-alloc.c: Likewise.
- 	* longlong.h: Likewise.
- 	* loop.c: Likewise.
- 	* loop.h: Likewise.
- 
- Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
- 
- Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
- 	for -Os/TARGET_64BIT too.
- 
- 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.0: Likewise.
- 	* ChangeLog.1: Likewise.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.3: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.5: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* FSFChangeLog.10: Likewise.
- 	* FSFChangeLog.11: Likewise.
- 	* alias.c: Likewise.
- 	* basic-block.h: Likewise.
- 	* c-aux-info.c: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-format.c: Likewise.
- 	* c-semantics.c: Likewise.
- 	* c-typeck.c: Likewise.
- 	* calls.c: Likewise.
- 	* cfganal.c: Likewise.
- 	* cfgloop.c: Likewise.
- 	* collect2.c: Likewise.
- 	* combine.c: Likewise.
- 	* conflict.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cpphash.h: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* cppmacro.c: Likewise.
- 	* cse.c: Likewise.
- 
- 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
- 	LINK_SPEC.
- 	(LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
- 	* arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
- 	(LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
- 
- 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR opt/7930
- 	* cse.c (fold_rtx): Calculate old_cost before we fold each
- 	operand.
- 
- 2002-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
- 	__GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
- 	__TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
- 	__TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
- 	__TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
- 	* doc/cpp.texi: Don't document them.
- 
- 2002-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (builtin_define_float_constants): Use real_format
- 	to get the floating-point parameters.
- 
- 2002-09-21  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (struct real_format): Move to real.h.
- 	(real_format_for_mode): Rename from fmt_for_mode; update all users;
- 	initialize with ieee defaults.
- 	(real_to_target_fmt, real_from_target_fmt): New.
- 	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
- 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
- 	ieee_quad_format, i370_single_format, i370_double_format,
- 	c4x_single_format, c4x_extended_format): Rename from s/_format//.
- 	(ieee_quad_format): Fix emin.
- 	(format_for_size, init_real_once): Remove.
- 	* real.h (struct real_format): Move from real.c.
- 	(real_format_for_mode): Declare.
- 	(real_to_target_fmt, real_from_target_fmt): Declare.
- 	(ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
- 	ieee_extended_intel_96_format, ieee_extended_intel_128_format,
- 	ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
- 	i370_single_format, i370_double_format, c4x_single_format,
- 	c4x_extended_format): Declare.
- 	* toplev.c (do_compile): Don't call init_real_once.
- 
- 	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
- 	* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
- 
- 	* config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
- 	* config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
- 	* config/alpha/alpha.c (override_options): Set real_format_for_mode
- 	for VAX, if enabled.
- 
- 	* config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
- 	for C4X.
- 
- 	* config/i370/i370.h (OVERRIDE_OPTIONS): New.
- 	* config/i370/i370.c (override_options): New.
- 	* config/i370/i370-protos.h: Update.
- 
- 	* config/i386/i386.c (override_options): Set real_format_for_mode
- 	for Intel 80-bit extended.
- 	* config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
- 
- 	* config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
- 	(OVERRIDE_OPTIONS): Move code...
- 	* config/i960/i960.c (i960_initialize): ... here.  Set
- 	real_format_for_mode for Intel 80-bit extended.
- 
- 	* config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
- 	for Intel 80-bit extended, if enabled.
- 
- 	* config/m68k/m68k.c (override_options): Set real_format_for_mode
- 	for Motorola 96-bit extended.
- 
- 	* config/vax/vax.h (OVERRIDE_OPTIONS): New.
- 	* config/vax/vax.c (override_options): New.
- 	* config/vax/vax-protos.h: Update.
- 
- 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
- 	#if TARGET_MACHO.
- 
- 	* config/rs6000/rs6000.md (floatdisf2_internal2): Combine
- 	insns.  Supply missing clobber of scratch reg.
- 
- 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.c: Follow spelling conventions.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* config/m88k/m88k.c: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mmix/mmix.c: Likewise.
- 	* config/mn10200/mn10200.c: Likewise.
- 	* config/ns32k/ns32k.h: Likewise.
- 	* config/pa/pa.c: Likewise.
- 	* config/pa/pa64-linux.h: Likewise.
- 	* config/pdp11/pdp11.h: Likewise.
- 	* config/romp/romp.c: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/eabi.asm: Likewise.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 	* config/rs6000/xcoff.h: Likewise.
- 
- 2002-09-20  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
- 
- 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
- 	* config/i386/i386.c (legitimate_pic_address_disp_p): Handle
- 	UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
- 	(legitimate_address_p): Likewise.
- 	(legitimize_address): Use @gotntpoff and @indntpoff.
- 	(output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
- 	(output_addr_const_extra): Likewise.
- 
- 2002-09-20  Jim Wilson  <wilson@redhat.com>
- 
- 	* combine.c (try_combine): When split an instruction pair, where the
- 	first has a sign_extend src, verify that the src and dest modes match.
- 
- 2002-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
- 	(override_options): Do not initialize them.
- 	(mips_const_double_ok): Allow no fp constants except zero,
- 	and not even that for mips16.
- 	(const_float_1_operand): Use dconst1.
- 	* config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
- 	movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
- 	Don't allow arbitrary constants; fix predicates and C constraint.
- 
- 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppmacro.c: Don't warn about function-like macros without
- 	'(' during pre-expansion.
- 
- 2002-09-20  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/v850/v850.c (current_function_anonymous_args): Delete.
- 	(expand_prologue): Use current_function_args_info.anonymous_args.
- 	(expand_epilogue): Delete use of current_function_anonymous_args.
- 	* config/v850/v850.h (struct cum_arg): Add anonymous_args field.
- 	(INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
- 	(current_function_anonymous_args): Delete extern declaration.
- 	(SETUP_INCOMING_VARARGS): Set anonymous_args field.
- 
- 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
- 	to load_macho_picbase.
- 	* config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
- 	(load_macho_picbase): Take the symbol to use as a parameter.
- 	(macho_correct_pic): New insn.
- 	(builtin_setjmp_reciever): On Darwin, restore the PIC register.
- 
- 	* config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
- 	RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
- 	(CAN_ELIMINATE): Likewise.
- 	(INITIAL_ELIMINATION_OFFSET): Likewise.
- 	(TOC_REGISTER): Likewise.
- 
- 2002-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_hash): New.
- 	* real.h: Declare it.
- 	* cse.c (canon_hash): Use it.
- 	* cselib.c (hash_rtx): Likewise.
- 	* emit-rtl.c (const_double_htab_hash): Likewise.
- 	* rtl.h (CONST_DOUBLE_REAL_VALUE): New.
- 	* varasm.c (struct rtx_const): Reduce vector size; separate
- 	integer and fp vectors.
- 	(HASHBITS): Remove.
- 	(const_hash_1): Rename from const_hash.  Use real_hash.  Do not
- 	take modulus MAX_HASH_TABLE.
- 	(const_hash): New.  Do take modulus MAX_HASH_TABLE.
- 	(output_constant_def): Do not take modulus MAX_HASH_TABLE.
- 	(SYMHASH): Don't use HASHBITS.
- 	(decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
- 	Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
- 	(simplify_subtraction): Fix kind comparison.
- 	(const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
- 	Use a union to pun integer array.
- 	* config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
- 	only hash two words of integral CONST_DOUBLE.
- 
- 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (STARTFILE_SPEC): Modify.
- 	(STARTFILE_PREFIX_SPEC): New.
- 	(LINK_SPEC): Modify.
- 	(LIB_SPEC): Modify.
- 	(LIBGCC_SPEC): New.
- 
- 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (legitimate_pic_address_disp_p): Allow
- 	UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
- 
- 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
- 
- 	* config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
- 	Add clobber of the condition code register.
- 
- 2002-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (do_fix_trunc): Static.
- 	(encode_ieee_single, encode_ieee_double, encode_ieee_extended,
- 	encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
- 	encode_i370_single, encode_i370_double, encode_c4x_single,
- 	encode_c4x_extended): Add default abort case.
- 
- 2002-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
- 	MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
- 	(struct realvaluetype): Remove.
- 	(REAL_VALUE_TYPE): Use struct real_value.
- 	(REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
- 	(test_real_width): New.
- 	* real.c: Global replace struct real_value with REAL_VALUE_TYPE.
- 	(real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
- 	(real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
- 	real_isneg, real_isnegzero, real_identical, exact_real_inverse,
- 	real_to_integer, real_to_integer2, real_to_decimal,
- 	real_to_hexadecimal, real_from_string, real_from_integer,
- 	real_inf, real_nan, real_2expN, real_convert, real_to_target,
- 	real_from_target): Likewise.
- 	* tree.h (struct tree_real_cst): Use real_value not realvaluetype.
- 	* gengtype-yacc.y (bitfieldopt): Accept an ID as well.
- 
- 2002-09-20  Richard Henderson  <rth@redhat.com>
- 
- 	* real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
- 	IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
- 	* defaults.h: ... here.
- 	* config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
- 	config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
- 	config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
- 	config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
- 
- 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("negdf2"): Rewrite.
- 	("*expanded_negdf2"): New.
- 
- 2002-09-19  Jim Wilson  <wilson@redhat.com>
- 
- 	* combine.c (simplify_set): When optimizing a subreg src with a
- 	cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
- 
- 2002-09-19  Dale Johannesen <dalej@apple.com>
- 	* combine.c (make_extraction): Don't create
- 	invalid subreg.
- 
- 2002-09-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.c (integer_nonzerop): New predicate for nonzero integers.
- 	* tree.h (integer_nonzerop): Add function prototype.
- 	* stmt.c (expand_end_loop):  Don't rotate the loop when there
- 	are no instructions in the test, i.e. the loop is unconditional.
- 	(expand_exit_loop_if_false):  Optimize RTL generation of loop
- 	tests when the condition is always true or always false.
- 	* c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
- 	do-loops when the condition is always true.
- 	(genrtl_for_stmt):  Optimize RTL generation of for-loops when
- 	the for-expression is empty.
- 
- 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gcc.c (use_pipes): New flag.
- 	(process_command): Set it.  Adjust check for -pipe conflicting
- 	with -time or -save-temps.
- 	(do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
- 	%<SWITCH.  Drop %| (without a SUFFIX).
- 	(handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
- 	(give_switch): Third argument eliminated.
- 	(invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
- 	depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
- 	(specs documentation comment): Update.
- 
- 	* config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
- 	config/svr4.h, config/i386/freebsd-aout.h,
- 	config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
- 	config/m68k/openbsd.h, config/mips/openbsd.h,
- 	config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
- 	instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
- 	* config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
- 	* config/cris/cris.h: Update comment.
- 
- 	* ada/lang-specs.h: Use %(invoke_as).  Straighten out
- 	error messages.  Don't use %{^SWITCH}.
- 	* ada/misc.c (gnat_decode_option): Handle -I with a
- 	separate argument.
- 
- 	* f/lang-specs.h: Use %| and %m.
- 	* java/jvspec.c: Use %m and %(invoke_as).  Change all
- 	uses of %{<SWITCH} to %<SWITCH.
- 
- 	* doc/invoke.texi: Update documentation of specs.
- 	* doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
- 
- 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
- 	and STRICT_LOW_PART within SET_DEST.
- 	* config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
- 	splitters, replacing pre-reload splitters.
- 	("*zero_extendhisi2_31", "*zero_extendqisi2_31",
- 	"*zero_extendqihi2_31"): New insns.
- 	("*zero_extendqihi2_64"): Do not clobber CC.
- 
- 2002-09-18  Devang Patel  <dpatel@apple.com>
- 
- 	* cp/cp-tree.h: New prototype for walk_vtables().
- 	* cp/decl.c (walk_vtables_r): New function.
- 	(struct cp_binding_level): Add new members, namespaces,
- 	names_size and vtables.
- 	(add_decl_to_level): Add decl in namespaces or vtables
- 	chain, if conditions match.
- 	(walk_vtables): New function.
- 	(walk_namespaces_r): Travers separate namespace chain
- 	for namespace decls.
- 	(wrapup_globals_for_namespace): Use names_size instead
- 	of list_length().
- 	* cp/decl2.c (finish_file): Use walk_vtables() instead of
- 	walk_globals() to walk vtable decls.
- 
- 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
- 	(DTORS_SECTION_ASM_OP): Ditto.
- 	(READONLY_DATA_SECTION_ASM_OP): Moved.
- 	(DATA_SECTION_ASM_OP): New.
- 	(SDATA_SECTION_ASM_OP): New.
- 	(BSS_SECTION_ASM_OP): New.
- 	(SBSS_SECTION_ASM_OP): New.
- 	(TEXT_SECTION_ASM_OP): New.
- 
- 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fp-bit.c: Follow spelling conventions.
- 	* config/d30v/d30v.c: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/fr30/fr30.c: Likewise.
- 	* config/fr30/fr30.h: Likewise.
- 	* config/fr30/fr30.md: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 	* config/i370/i370.c: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/i386/i386.md: Likewise.
- 	* config/i386/pentium.md: Likewise.
- 	* config/i386/winnt.c: Likewise.
- 	* config/i960/i960.c: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ip2k/ip2k.c: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/ip2k/ip2k.md: Likewise.
- 	* config/ip2k/libgcc.S: Likewise.
- 
- 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
- 
- 	* config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
- 	(GOTOFF_P): Extend to allow gotoff plus constant.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (noce_process_if_block): Correctly detect X modified
- 	with INSN_B before COND_EARLIEST.  Don't check A and B for
- 	modification in condition range.  Reorder INSN_B for A==B properly.
- 	(if_convert): Iterate until no matches for a block.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (store_one_arg): Rename default_align to parm_align;
- 	always adjust parm_align for downward padding.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (backend_init): Move init_real_once invocation ...
- 	(do_compile): ... here.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
- 	RTX_UNCHANGING_P markers for successful tail-recursive replacement.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (round_for_format): Collect sticky as unsigned long, not bool.
- 
- 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: (floatdisf2): Rename to
- 	floatdisf2_internal1.
- 	(floatdisf2): New define_expand.
- 	(floatdisf2_internal2): Likewise.
- 
- 2002-09-18  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (sticky_rshift_significand): Collect sticky as
- 	unsigned long, not bool.
- 
- 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_address_cost): New function.
- 	config/s390/s390-protos.h (s390_address_cost): Add prototype.
- 	config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
- 	(RTX_COST): Use COSTS_N_INSNS.
- 
- 2002-09-18  Douglas Rupp  <rupp@gnat.com>
- 	    Donn Terry  <donnte@microsoft.com>
- 
- 	* stor-layout.c (place_field): Handle alignment of whole
- 	structures when MSVC compatible bitfields are involved.
- 	Change method of computing location of MS bitfields to
- 	be compatible with #pragma pack(n).
- 
- 	* tree.h (record_layout_info): Add new field
- 	remaining_in_alignment.
- 
- 	* doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
- 	(pragma pack): Add paragraph on MSVC bitfield packing.
- 
- 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
- 
- 	PR optimization/7967
- 	* arm.md (ne_zeroextractsi): Add clobber of the condition code
- 	register.
- 
- 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/s390/s390.c: Follow spelling conventions.
- 	* config/sh/lib1funcs.asm: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/v850/v850.c: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* config/vax/vax.c: Likewise.
- 	* config/vax/vax.h: Likewise.
- 
- 2002-09-18  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
- 	* config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
- 	* config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
- 
- 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* function.c (max_parm_reg_num): Remove.
- 	* stmt.c (in_control_zone_p, stmt_loop_nest_empty,
- 	drop_through_at_end_p, move_cleanups_up,
- 	expand_end_case_dummy, case_index_expr_type): Likewise.
- 	* stor-layout.c (pos_from_byte): Likewise.
- 	* tree.c (chain_member_value, chain_member_purpose, listify,
- 	tree_int_cst_msb, index_type_equal): Likewise.
- 	* tree.h: Remove prototypes for unused functions.
- 
- 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
- 	statement that the only translation is to en_UK.
- 
- 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.c: Follow spelling conventions.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/alpha/alpha.md: Likewise.
- 	* config/arc/arc.h: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/pe.c: Likewise.
- 	* config/arm/unknown-elf.h: Likewise.
- 	* config/avr/avr.c: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/cris/cris.c: Likewise.
- 	* config/cris/cris.h: Likewise.
- 
- 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
- 
- 	* final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
- 	* config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
- 	* doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
- 
- 2002-09-17  Dale Johannesen  <dalej@apple.com>
- 
- 	* cfgcleanup.c (try_forward_edges):  Do not forward a
- 	branch to just after a loop exit before loop optimization;
- 	this interfered with doloop detection.
- 
- 2002-09-17  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (output_return_instruction): Do not
- 	writeback the stack pointer when it is being loaded.
- 	(arm_output_epilogue): Likewise.
- 
- 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c (prepare_cmp_insn): Let emit_library_call_value
- 	generate a pseudo reg that receives the result of a libcall.
- 	(prepare_float_lib_cmp): Likewise.
- 
- 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/elf.h: Remove CPP_PREDEFINES.
- 
- Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	Fix PR/7014 and related objc bugs:
- 	* c-typeck.c (comp_target_types): Added a reflexive argument.
- 	Pass it to ObjC when/if calling objc_comptypes().  Updated all
- 	callers to provide the appropriate reflexive argument.
- 	* objc/objc-act.c (objc_comptypes): Carefully checked and fixed
- 	typechecking for all cases of comparisons and assignments,
- 	particularly the obscure and less common ones involving protocols.
- 
- 2002-09-17  Nick Clifton  <nickc@redhat.com>
- 
- 	* machmode.def (V1DImode): New mode.  A single element vector.
- 	* tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
- 	(unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
- 	* tree.c (build_common_tree_nodes_2): Build
- 	unsigned_V1DI_type_node and V1D1_type_node.
- 	* c-common.c (c_common_type_for_mode): Return
- 	unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
- 	* rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
- 
- Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* doc/objc.texi (Constant string objects): Extended documentation
- 	to make clear that the constant string class ivar layout is
- 	completely fixed.
- 
- 2002-09-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
- 	NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
- 
- 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* config/mips/mips.c (save_restore_insns): Remove unused variable.
- 	* gcc.c (make_relative_prefix): Likewise.
- 	* loop.c (check_final_value): Likewise.
- 	* jump.c (init_label_info): Remove return value.
- 	* cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
- 
- 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
- 	(ASM_PN_FORMAT): Define.
- 
- 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
- 	c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
- 	i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
- 	m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
- 	m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
- 	pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
- 	stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
- 	Delete.
- 	* alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
- 	m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
- 	mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
- 
- 	* defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
- 	* doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (emit_block_move): Set memory block size as appropriate
- 	for the copy.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	PR fortran/3924
- 	* sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
- 	as well as OFFSET for BITPOS.
- 
- 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
- 
- 	* config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
- 	* config/i386/i386.c (processor_alias_table): Add winchip-c6,
- 	winchip2 and c3.
- 	* doc/invoke.texi: Mention new aliases.
- 
- 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* calls.c (store_one_arg): Set default alignment for BLKmode arguments
- 	to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
- 	downward.
- 	* function.c (pad_below):  Always compile.
- 	(locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
- 	alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
- 	Pad below when the argument is not in a register and the padding
- 	direction is downward.
- 
- 	* pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
- 	(PAD_VARARGS_DOWN): Define.
- 	* pa.c (function_arg_padding): Revise padding directions to make them
- 	compatible with the 32 and 64-bit runtime architecture documentation.
- 	(hppa_va_arg):  Add code to handle variable and size zero arguments
- 	passed by reference on TARGET_64BIT.  Reformat.
- 	(function_arg): Use a PARALLEL for BLKmode and aggregates args on
- 	TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
- 	wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
- 	Add comments.
- 	* pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
- 	(RETURN_IN_MEMORY): Return size zero types in memory.
- 	(FUNCTION_VALUE): Return TFmode in general registers.
- 	(MUST_PASS_IN_STACK): Define.
- 	(FUNCTION_ARG_BOUNDARY): Simplify.
- 	(FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
- 	by reference.
- 	(FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (do_fix_trunc): New.
- 	(real_arithmetic): Call it.
- 	* simplify-rtx.c (simplify_unary_operation): Handle FIX
- 	with a floating-point result mode.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
- 	(BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
- 	* builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
- 	(__builtin_nans, __builtin_nansf, __builtin_nansl): New.
- 	* builtins.c (fold_builtin_nan): New.
- 	(fold_builtin): Call it.
- 	* real.c (real_nan): Parse a non-empty string.
- 	(round_for_format): Fix NaN significand truncation.
- 	* real.h (real_nan): Return bool.
- 	* doc/extend.texi: Document new builtins.
- 
- 2002-09-16  Jason Merrill  <jason@redhat.com>
- 	    Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (ix86_handle_dll_attribute): Set
- 	DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
- 	(i386_pe_mark_dllimport): Not here.
- 
- 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
- 
- 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
- 	warnings about unused operands when HOST_BITS_PER_WIDE_INT is
- 	< 64.
- 	(rs6000_emit_cmove): Use real_isinf not target_isinf.
- 
- 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c (emit_library_call_value_1): Don't refer to
- 	hard_libcall_value.
- 	* optabs.c (prepare_float_lib_cmp): Likewise.
- 
- 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
- 	mangling.
- 
- 	The following changes are merged from pch-branch:
- 
- 	* doc/gty.texi (GTY Options): Document %a.
- 	* gengtype.c (do_scalar_typedef): New function.
- 	(process_gc_options): Handle `length' option.
- 	(set_gc_used_type): A pointer to an array of structures doesn't
- 	qualify as a pointer to a structure.
- 	(output_escaped_param): Add `%a' escape.
- 	(write_gc_structure_fields): Allow 'desc' on array of unions.
- 	(main): Define `uint8', `jword' and `JCF_u2' as scalars; use
- 	do_scalar_typedef.
- 
- 	* gengtype.c (enum rtx_code): Make global.
- 	(rtx_format): Make global.
- 	(rtx_next): New.
- 	(gen_rtx_next): New.
- 	(write_rtx_next): New.
- 	(adjust_field_rtx_def): Skip fields marked by chain_next.
- 	(open_base_files): Delete redundant prototype.
- 	(write_enum_defn): New.
- 	(output_mangled_typename): Correct abort call.
- 	(write_gc_marker_routine_for_structure): Handle chain_next and
- 	chain_prev options.
- 	(finish_root_table): Don't output redundant \n.
- 	(main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
- 	* c-tree.h (union lang_tree_node): Add chain_next option.
- 
- 	* gengtype.h (NUM_PARAM): New definition.
- 	(struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
- 	* gengtype.c (find_param_structure): New.
- 	(adjust_field_type): Handle param<n>_is option.
- 	(process_gc_options): Detect use_params option.  Update callers.
- 	(set_gc_used_type): Add 'param' parameter, update callers.  Handle
- 	'use_params' option.
- 	(open_base_files): Add splay-tree.h to list of files included.
- 	(output_mangled_typename): New.
- 	(write_gc_structure_fields): Update 'param' parameter to support
- 	multiple parameters.  Change name mangling.  Allow parameterized
- 	fields to have an apparent scalar type.  Handle param<n>_is options,
- 	use_param option.
- 	(write_gc_marker_routine_for_structure): Update for change to name
- 	mangling.  Better guess the output file for parameterized types.
- 	(write_gc_types): Update for change to name mangling.
- 	(write_gc_root): Update for change to name mangling.  Handle (ignore)
- 	param<n>_is options.
- 	* doc/gty.texi (GTY Options): Add description of param<n>_is
- 	options, use_params option.
- 	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
- 	* gengtype-lex.l: Produce token for param<n>_is.
- 	* gengtype-yacc.y: Parse param<n>_is.
- 
- 	* gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
- 
- 	* rtl.c: Update comment describing rtx_format.
- 	* rtl.h (union rtunion): Separate definition and typedef.
- 	(struct rtx_def): Use gengtype to mark.
- 	* Makefile.in (gengtype.o): Also depend on rtl.def.
- 	* ggc.h (ggc_mark_rtx_children): Delete prototype.
- 	(ggc_mark_rtx): Change to alias of gengtype-generated routine.
- 	* ggc-common.c (ggc_mark_rtx_children): Delete.
- 	(ggc_mark_rtx_children_1): Delete.
- 	(gt_ggc_m_rtx_def): Delete.
- 	* gengtype.c (adjust_field_rtx_def): New.
- 	(adjust_field_type): Call adjust_field_rtx_def.
- 	(write_gc_structure_fields): Add 'default' case to switch if none
- 	is specified; remove unused code.
- 
- 	* tree.h (struct tree_exp): Update for change to meaning
- 	of special.
- 	* gengtype.c (adjust_field_tree_exp): New function.
- 	(adjust_field_type): Handle `tree_exp' special here.
- 	(write_gc_structure_fields): Don't handle `tree_exp' special here.
- 	Handle new `dot' option.
- 
- 	* gengtype.h: Make `info' a pointer-to-const.
- 	* gengtype-yacc.y (yacc_ids): Use xasprintf.
- 
- 	* gengtype.c (write_gc_structure_fields): Remove implementation
- 	of `always' option, add `default' option.
- 	* doc/gty.texi (GTY Options): Remove documentation of `always',
- 	add `default'.
- 
- 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
- 
- 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68hc11.md (addhi_sp): Fix uninitialized variable bug.
- 
- 	* c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
- 	instead of the *-protos.h file directly.
- 	* t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
- 	* darwin.c (machopic_output_stub): Move prototype ...
- 	* darwin-protos.h (machopic_output_stub): ... here.
- 	* rs6000-protos.h (machopic_output_stub): Don't declare.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
- 
- 2002-09-16  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c, real.h: Rewrite from scratch.
- 
- 	* Makefile.in (simplify-rtx.o): Depend on TREE_H.
- 	(paranoia): New target.
- 	* builtins.c (fold_builtin_inf): Use new real.h interface.
- 	* c-common.c (builtin_define_with_hex_fp_value): Likewise.
- 	* c-lex.c (interpret_float): Likewise.
- 	* emit-rtl.c (gen_lowpart_common): Likewise.
- 	* optabs.c (expand_float): Use real_2expN.
- 	* config/ia64/ia64.md (divsi3, udivsi3): Likewise.
- 	* defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
- 	(FLOAT_WORDS_BIG_ENDIAN): New.
- 	* cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
- 	directly to REAL_VALUE_NEGATIVE.
- 	* loop.c (canonicalize_condition): Likewise.
- 	* simplify-rtx.c: Include tree.h.
- 	(simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
- 	with floating-point result modes.
- 	* toplev.c (backend_init): Call init_real_once.
- 
- 	* fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
- 	* tree.c (build_real): Likewise.
- 	* config/alpha/alpha.c, config/vax/vax.c (float_strings,
- 	float_values, inited_float_values, check_float_value): Remove.
- 	* config/alpha/alpha.h, config/m68hc11/m68hc11.h,
- 	config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
- 	* doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
- 	(VAX_HALFWORD_ORDER): Remove.
- 
- 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
- 	(s390_load_address): ... this new function.
- 	(s390_decompose_address): Allow the argument pointer and all
- 	virtual registers as 'pointer' registers.
- 	(s390_expand_plus_operand): Use s390_load_address.
- 	config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
- 	("force_la_31"): New insn pattern.
- 	config/s390/s390-protos.h (legitimize_la_operand): Remove.
- 	(s390_load_address): Add prototype.
- 
- 	* config/s390/s390.c: Include "optabs.h".
- 	(s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
- 	config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
- 	s390_expand_cmpstr): Add prototypes.
- 	config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
- 	("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
- 	for operands 0 and 1 to "memory_operand".  Add type attribute.
- 	("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
- 	for operands 0 and 1 to "memory_operand".  Add type attribute.
- 	("movstrdi_long", "movstrsi_long"): Remove.
- 	("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
- 	("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
- 	("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
- 	("clrstrsico"): Remove, replace by ...
- 	("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
- 	("clrstrsi_64"): Rename to "clrstr_long_64".
- 	("clrstrsi_31"): Rename to "clrstr_long_31".
- 	("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
- 	("cmpstr_const"): Remove, replace by ...
- 	("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
- 	("cmpstr_64"): Rename to "cmpstr_long_64".
- 	("cmpstr_31"): Rename to "cmpstr_long_31".
- 
- 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ABOUT-NLS: Follow spelling conventions.
- 	* ChangeLog: Likewise.
- 	* ChangeLog.1: Likewise.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.3: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.5: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* FSFChangeLog.10: Likewise.
- 	* FSFChangeLog.11: Likewise.
- 	* c-common.c: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-objc-common.c: Likewise.
- 	* cppexp.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* doloop.c: Likewise.
- 	* flow.c: Likewise.
- 	* function.c: Likewise.
- 	* integrate.c: Likewise.
- 	* loop.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* reload.h: Likewise.
- 	* ssa.c: Likewise.
- 
- 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
- 	* vmsdbgout.c: Include "target.h".
- 
- 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.0: Likewise.
- 	* ChangeLog.1: Likewise.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* config.gcc: Likewise.
- 	* dwarfout.c: Likewise.
- 	* reload1.c: Likewise.
- 	* simplify-rtx.c: Likewise.
- 	* unwind-sjlj.c: Likewise.
- 	* config/avr/avr.h: Likewise.
- 	* config/d30v/d30v.h: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/m88k/m88k-move.sh: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* doc/extend.texi: Likewise.
- 	* doc/interface.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 	* doc/trouble.texi: Likewise.
- 	* ginclude/float.h: Likewise.
- 	* treelang/treelang.texi: Likewise.
- 
- 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386-protos.h (i386_pe_dllexport_name_p,
- 	i386_pe_dllimport_name_p, i386_pe_unique_section,
- 	i386_pe_declare_function_type, i386_pe_record_external_function,
- 	i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
- 	prototype.
- 	* i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
- 	* i386/t-interix (winnt.o): Likewise.
- 
- 	* v850-protos.h (v850_output_addr_const_extra): Prototype.
- 
- 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
- 	MIPS ABI CPP macros.
- 	(TARGET_CPU_CPP_BUILTINS): Redefine.
- 	(SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
- 	(SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
- 
- 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
- 
- 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.0: Likewise.
- 	* ChangeLog.1: Likewise.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.3: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.5: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* FSFChangeLog.10: Likewise.
- 	* FSFChangeLog.11: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-format.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* langhooks.h: Likewise.
- 	* real.c: Likewise.
- 	* reg-stack.c: Likewise.
- 	* toplev.c: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/linux-gas.h: Likewise.
- 	* config/arm/netbsd.h: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/c4x/libgcc.S: Likewise.
- 	* config/fr30/fr30.md: Likewise.
- 	* config/frv/frv.md: Likewise.
- 	* config/ia64/ia64.md: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mn10300/mn10300.c: Likewise.
- 	* config/stormy16/stormy16.c: Likewise.
- 	* config/v850/v850.md: Likewise.
- 	* doc/extend.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/md.texi: Likewise.
- 
- 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h (LIB_SPEC): Include the appropriate pthread
- 	library if -pthread is specified.
- 
- 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (*-*-netbsd*): Set thread_file to 'posix'
- 	for --enable-threads=yes and --enable-threads=posix.
- 
- 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sparc/cypress.md: Replace Sparc with SPARC.
- 	* config/sparc/freebsd.h: Likewise.
- 	* config/sparc/gmon-sol2.c: Likewise.
- 	* config/sparc/hypersparc.md: Likewise.
- 	* config/sparc/lb1spc.asm: Likewise.
- 	* config/sparc/lb1spl.asm: Likewise.
- 	* config/sparc/linux.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 	* config/sparc/lynx.h: Likewise.
- 	* config/sparc/sol2.h: Likewise.
- 	* config/sparc/sparc-modes.def: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/sparc/sparc.md: Likewise.
- 	* config/sparc/sparclet.md: Likewise.
- 	* config/sparc/supersparc.md: Likewise.
- 	* config/sparc/sysv4.h: Likewise.
- 	* config/sparc/vxsim.h: Likewise.
- 	* config/sparc/vxsparc64.h: Likewise.
- 
- 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
- 	* collect2.c (ignore_library, aix_std_libs): Move into the context
- 	where it is used.
- 	* m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
- 	(autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
- 	* m88k.c (output_call): Wrap variables with macro controlling use.
- 	* rs6000.md: Likewise.  Const-ify variable.
- 	* sh.h (ASM_OUTPUT_LABELREF): Likewise.
- 	* final.c (only_leaf_regs_used): Likewise.
- 	* regrename.c (maybe_mode_change): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* reload.c (find_valid_class): Likewise.  Likewise for variable.
- 	(find_reloads_address_1): Likewise.
- 	* varasm.c (weak_finish): Wrap variable with macro controlling use.
- 
- 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (output.h): Move after inclusion of tree.h.
- 
- 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.0: Likewise.
- 	* ChangeLog.2: Likewise.
- 	* ChangeLog.3: Likewise.
- 	* ChangeLog.4: Likewise.
- 	* ChangeLog.5: Likewise.
- 	* ChangeLog.6: Likewise.
- 	* cppfiles.c: Likewise.
- 	* cppinit.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* cse.c: Likewise.
- 	* debug.h: Likewise.
- 	* df.c: Likewise.
- 	* dominance.c: Likewise.
- 	* hashtable.c: Likewise.
- 	* hashtable.h: Likewise.
- 	* loop.c: Likewise.
- 	* config/arm/README-interworking: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/stormy16/stormy-abi: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/v850/v850.c: Likewise.
- 
- 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* loop.c: Fix a comment typo.
- 
- 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/fr30/fr30.h: Fix comment typos.
- 	* config/frv/frv.c: Likewise.
- 	* config/i386/xmmintrin.h: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/sh/sh.c: Likewise.
- 
- 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* haifa-sched.c: Follow spelling conventions.
- 	* regclass.c: Likewise.
- 	* regrename.c: Likewise.
- 	* config/fp-bit.c: Likewise.
- 	* config/frv/frv.h: Likewise.
- 	* config/m88k/m88k.c: Likewise.
- 	* config/mcore/mcore.c: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 	* config/rs6000/gnu.h: Likewise.
- 	* config/rs6000/linux.h: Likewise.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sparc/ultra1_2.md: Likewise.
- 
- 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
- 	memory operand when source is 0 (K constraint).
- 	("movsi_internal"): Likewise.
- 	("movdf_internal"): Likewise.
- 	("movsf_internal"): Likewise.
- 
- 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
- 	targetm.binds_local_p to set SYMBOL_REF_FLAG.
- 	(rs6000_xcoff_encode_section_info): Likewise.
- 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
- 
- 2002-09-10  Theodore A. Roth  <troth@verinet.com>
- 
- 	* gcc/config/avr/avr.h: Set default options for C++ for avr.
- 
- 2002-09-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* stmt.c (struct nexting): Remove unused alt_end_label field.
- 	(expand_start_loop): Delete initialization of alt_end_label.
- 	(expand_start_null_loop): Likewise.
- 	(expand_exit_loop_if_false): Delete updating of alt_end_label.
- 
- 2002-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (toplev.o): Depend on real.h.
- 	(print-rtl.o, varasm.o, ifcvt.o): Likewise.
- 
- 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
- 	* dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
- 	* config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
- 
- 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
- 
- 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
- 	ia64*-*-linux*): Set extra_parts.
- 	* config/ia64/t-aix (EXTRA_PARTS): Remove.
- 	* config/ia64/t-ia64 (EXTRA_PARTS): Remove.
- 
- 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/fixunssfsi.c: Replace H8/S with H8S.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* doc/invoke.texi: Likewise.
- 
- 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_init_once): Fix formatting.
- 
- 2002-09-13  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (attr type): Add callpal.
- 	(imb, trap, load_tp, set_tp): Use it.
- 	* config/alpha/ev4.md (ev4_callpal): New.
- 	* config/alpha/ev5.md (ev5_callpal): New.
- 	* config/alpha/ev6.md (ev6_ibr): Handle callpal.
- 	* config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
- 	(alphaev5_insn_pipe): Likewise.
- 
- 2002-09-13  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (print-rtl.o): Depend on CONFIG_H.
- 
- 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
- 	LIB2ADDEH): New, set to NULL.
- 	(SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
- 
- 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/quadlib.c (_U_Qfcmp): Make extern.
- 	(_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
- 	(_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
- 	Add declarations.
- 	(_U_Qfneg): Remove.
- 
- 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
- 
- 	* config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
- 	for H8/300, H8S aa:8 mode.
- 	(TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
- 	* config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
- 	for H8/300 aa:8 mode.
- 
- 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
- 	insns.
- 
- 2002-09-12  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (HOST_PRINT): Use print-rtl1.o
- 	(print-rtl.o): Don't define GENERATOR_FILE.
- 	(print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
- 	* print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
- 	unless GENERATOR_FILE.
- 
- 2002-09-12  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (USER_LABEL_PREFIX): Define here...
- 	* config/i386/darwin.h: ... instead of here.
- 
- 	* target.h (struct gcc_target): New field
- 	terminate_dw2_eh_frame_info.
- 	* target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
- 	(TARGET_INITIALIZER): Add it.
- 	* dwarf2out.c (output_call_frame_info): Use target hook.
- 	* dwarf2asm.c (dw2_asm_output_delta): Use macro
- 	ASM_OUTPUT_DWARF_DELTA if defined.
- 	* doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
- 	(ASM_OUTPUT_DWARF_DELTA): Ditto.
- 	(ASM_OUTPUT_DWARF_OFFSET): Ditto.
- 	(ASM_OUTPUT_DWARF_PCREL): Ditto.
- 	* config.gcc (i[34567]86-*-darwin*): Define extra_parts.
- 	(powerpc-*-darwin*): Ditto.
- 	* crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
- 	to work correctly for Darwin.
- 	* config/darwin.h (OBJECT_FORMAT_MACHO): Define.
- 	(STARTFILE_SPEC): Add crtbegin.o.
- 	(ENDFILE_SPEC): Define.
- 	(EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
- 	(ASM_OUTPUT_DWARF_DELTA): Define.
- 	(TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
- 	* config/darwin.c (darwin_asm_output_dwarf_delta): New function.
- 
- 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
- 	nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
- 	* config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
- 
- 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* toplev.c: Move default definition of USER_LABEL_PREFIX...
- 	* defaults.h: ... here.
- 
- 2002-09-12  Richard Henderson  <rth@redhat.com>
- 
- 	* vax.c: Include tree.h earlier.
- 
- 2002-09-12  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.c (machopic_finish): Remove #if 0 chunks.
- 	(machopic_operand_p): Ditto.
- 
- 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c (arm_compute_initial_elimination_offset):
- 	Fix a comment typo.
- 
- 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* toplev.c (do_abort): Fix a comment typo.
- 
- 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cselib.c: Fix comment formatting.
- 	* gengtype.c: Likewise.
- 
- 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (udivmodqi4): Do not use an expander.
- 	(udivmodhi4): Likewise.
- 
- 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
- 	    Roger Sayle  <roger@eyesopen.com>
- 
- 	* i386.c (any_fp_register_operand, fp_register_operand,
- 	register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
- 	New predicate functions.
- 	* i386-protos.h:  Add their prototypes.
- 	* i386.h: Add them to PREDICATE_CODES.
- 	* i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
- 	"*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
- 	"*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
- 	"*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
- 	"*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
- 	"*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
- 	"*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
- 	"*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
- 	"*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
- 	"*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
- 	"*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
- 	Use these new predicates to simplify and correct the use of
- 	FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
- 
- 2002-09-12  Jason Merrill  <jason@redhat.com>
- 
- 	* diagnostic.c (output_add_identifier): New fn.
- 	* diagnostic.h: Declare it.
- 
- 	* calls.c (store_one_arg): Use size_in_bytes to determine the
- 	amount of space to push.
- 
- 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
- 
- 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
- 	* config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
- 	(s390_select_ccmode): Likewise.
- 	(s390_branch_condition_mask): Likewise.
- 	(optimization_options): Do not set flag_branch_on_count.
- 	(s390_split_branches): Handle doloop branches.
- 	(s390_chunkify_pool): Likewise.
- 	* config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
- 	("doloop_end"): New expander.
- 	("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
- 	associated splitters): New.
- 
- 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* genattrtab.c (simplify_cond): Remove unused variable(s).
- 	* global.c (record_conflicts): Likewise.
- 	* jump.c (rebuild_jump_labels): Likewise.
- 	* loop.c (scan_loop, check_final_value): Likewise.
- 	* ra-colorize.c (colorize_one_web, assign_colors): Likewise.
- 	* reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
- 	* rtlanal.c (reg_set_p): Likewise.
- 	* stmt.c (expand_asm_operands, expand_decl): Likewise.
- 	* genautomata.c (empty_reserv): Remove.
- 	* loop.c (max_luid): Likewise.
- 	* sched-rgn.c (bitlst_table_size): Likewise.
- 
- 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Reimplement gcov format.
- 	* gcov-io.h: Replace.
- 	* gcov.c: Reimplement.
- 	* gcov-iov.c: New file.
- 	* gcov-dump.c: New file.
- 	* libgcc2.c (L_bb): Replace with ...
- 	(L_gcov): ... this.
- 	(struct bb_function_info, struct bb): Remove.
- 	(inhibit_libc): Never inhibit.
- 	(gcov_list, gcov_crc): New static variables.
- 	(gcov_version_mismatch): New static function.
- 	(__bb_exit_func): Renamed to ...
- 	(__gcov_exit): ... here. Made static. Reimplement.
- 	(__gcov_init_func): Rename to ...
- 	(__gcov_init): ... here. Check version, update crc.
- 	(__bb_fork_func): Rename to ...
- 	(__gcov_flush): ... here.
- 	* libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
- 	__bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
- 	* calls.c (expand_call): Call __gcov_flush.
- 	* profile.c (bb_file, last_bb_file_name): Remove.
- 	(bbg_file_name): New global variable.
- 	(output_gcov_string): Remove.
- 	(get_exec_counts): Reimplement.
- 	(branch_prob): Reimplement gcov file writing.
- 	(init_branch_prob): Create bbg_file_name, don't create
- 	bb_file_name.
- 	(end_branch_prob): Adjust. Don't remove counter file when
- 	instrumenting ourselves.
- 	(create_profiler): Adjust.
- 	* doc/gcov.texi (Gcov Data Files): Remove detailed specification,
- 	point to gcov-io.h.
- 	* Makefile.in (LANGUAGES): Add gcov-dump.
- 	(coverageexts): Remove .bb.
- 	(STAGESTUFF): Add gcov-dump.
- 	(LIB2FUNCS_ST): Replace _bb with _gcov.
- 	(profile.o): Depend on gcov-iov.h.
- 	(final.o): Don't depend on profile.h, gcov.h.
- 	(gcov.o): Depend on gcov-iov.h.
- 	(gcov-iov.o): New target.
- 	(gcov-iov): New target.
- 	(gcov-iov.h): New target.
- 	(gcov-dump.o): New target.
- 	(GCOV_DUMP_OBJS): New variable.
- 	(gcov-dump): New target.
- 	(distclean): Remove coverageexts.
- 	(stage1): Remove coverageexts.
- 
- 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* fold-const.c (make_range): Only narrow to signed range if
- 	the signed range is smaller than the unsigned range.
- 
- 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* emit-rtl.c (set_mem_size): New function.
- 	* expr.h (set_mem_size): Declare.
- 	* config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
- 	(expand_block_move): Instead, use adjust_address and
- 	replace_equiv_address to generate proper aliasing info.
- 	Move common code out of conditionals.  Localize vars.
- 
- 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* optabs.c (expand_binop): Minor cleanup.
- 	(expand_twoval_binop): Convert CONST_INTs like in expand_binop.
- 
- 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* print-tree.c (print_node): Print the restrict qualifier.
- 
- 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi: Fix typos.
- 
- 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in: Remove all references to s-under and underscore.c.
- 	* collect2.c, tlink.c: Change all uses of prepends_underscore
- 	to look directly at USER_LABEL_PREFIX.
- 
- 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
- 	alignment to csect.
- 	(rs6000_xcoff_unique_section): Only set section name for public
- 	data.
- 	(rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
- 	* config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
- 	duplicate definition.
- 
- 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (extzv): Check predicates before emitting extzv_32.
- 	(insv): Likewise.
- 
- 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (MOVE_MAX): Define to correct value.
- 	(MAX_MOVE_MAX): Define.
- 	(MOVE_BY_PIECES_P): Define.
- 	(CLEAR_BY_PIECES_P): Define.
- 
- 2002-09-10  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md (movstrhi): Use right operands for conversion.
- 
- 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR c/7873
- 	* arm.md (insv): Use reg_or_int_operand for operand[3].
- 
- 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_assemble_visibility): Protect declaration
- 	inside macro.  Correct function definition typo.
- 	(rs6000_xcoff_section_type_flags): New function.
- 	(TARGET_SECTION_TYPE_FLAGS): Remove definition.
- 	(rs6000_elf_section_type_flags): Call default_section_type_flags_1
- 	with appropriate PIC test.
- 	(rs6000_xcoff_select_section): Use decl_readonly_section_1 to
- 	determine readonly.
- 	(rs6000_binds_local_p): Combine PIC flags.
- 	* sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
- 	* xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
- 
- 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* h8300.md: Fix signed/unsigned warnings.
- 	* mcore.md: Likewise.
- 	* mn10300.c (mask_ok_for_mem_btst): Likewise.
- 
- 2002-09-09  Per Bothner  <per@bothner.com>
- 
- 	* print-tree.c (print_node):  In a STRING_CST, escape non-ascii
- 	characters, and only print TREE_STRING_LENGTH chars.
- 
- 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
- 	(ASM_FILE_END) New.
- 	* config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
- 	* config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
- 	* config/ia64/ia64.c (ia64_asm_output_external): Create list
- 	of external functions if TARGET_HPUX_LD is true.
- 	(ia64_hpux_add_extern_decl): New, routine to put names on
- 	list of external functions.
- 	(ia64_hpux_asm_file_end): Put out declarations for external
- 	functions if and only if they are used.
- 
- 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
- 	on TARGET_64BIT before pic register restore.
- 
- 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
- 	(TARGET_HAVE_TLS): New description.
- 
- 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/extend.texi (Statement Exprs): Fix broken link.
- 
- 2002-09-09  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
- 	right conversion of operands[1].
- 
- 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
- 	commutative.  Use "nonimmediate_operand" instead of "register_operand"
- 	as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
- 
- 	("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
- 	as commutative.
- 
- 	("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
- 	mark as commutative.  Use "nonimmediate_operand" instead of
- 	"register_operand" as predicate for operand 1.
- 
- 	("movstrictsi"): Fix typo in insn name.
- 
- 2002-09-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (index_register_operand): New.
- 	* i386.h (predicate_codes): Add new predicate.
- 	* i386.md (lea_general_*): Use index_register_operand
- 	(ashift to lea splitter): Do not produce invalid leas
- 	(ashift to mov+ashift split): New.
- 
- 2002-09-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
- 	Fix folding marks.
- 
- 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 	    J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
- 
- 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
- 	(function_ok_for_sibcall): Use binds_local_p.  Respect longcall
- 	attributes.
- 
- 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* basic_block.h (gcov_type): Explain why it is signed.
- 	* final.c: Don't include profile.h.
- 	(struct function_list, functions_head, functions_tail,
- 	end_final): Moved to profile.c
- 	(final): Move arc chaining code to profile.c.
- 	* function.c (prepare_function_start): Remove duplicate line.
- 	* output.h (end_final): Remove prototype.
- 	* predict.c (estimate_loops_at_level): Use gcov_type.
- 	* profile.c (struct function_list, functions_head,
- 	functions_tail): Moved from final.c
- 	(need_func_profiler): Remove.
- 	(instrument_edges): Don't set need_func_profiler.
- 	(get_exec_counts): Avoid signed/unsigned warning.
- 	(compute_checksum): Use crc32.
- 	(branch_prob): Adjust. Chain onto functions_head.
- 	(init_branch_prob): Absorb init_edge_profiler.
- 	(init_edge_profiler): Remove.
- 	(create_profiler): Moved and renamed from final.c:end_final.
- 	Emit data and constructor.
- 	(output_func_start_profiler): Remove.
- 	* profile.h (struct profile_info): checksum is unsigned.
- 	* rtl.h (output_func_start_profiler): Remove prototype.
- 	(create_profiler): Declare.
- 	* toplev.c (compile_file): Call create_profiler, if instrumenting
- 	arcs. Don't call end_final.
- 
- 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
- 
- 2002-09-08  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
- 	(DW_OP_GNU_push_tls_address): New.
- 	(DW_OP_lo_user): Fix.
- 	* dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
- 	(dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
- 	(size_of_loc_descr): Likewise.
- 	(output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
- 	(add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
- 	(loc_descriptor_from_tree): Handle TLS variables.
- 	(rtl_for_decl_location): Do avoid_constant_pool_reference here ...
- 	(add_location_or_const_value_attribute): ... not here.  Defer
- 	to loc_descriptor_from_tree for TLS variables.
- 
- 	* config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
- 	* config/i386/i386.c (i386_output_dwarf_dtprel): New.
- 	* config/i386/i386-protos.h: Update.
- 
- 2002-09-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/6405
- 	* unroll.c (loop_iterations): last_loop_insn should be the previous
- 	non-note instruction before loop->end.
- 	* loop.c (strength_reduce): The conditional jump is the last
- 	non-note instruction before loop->end (as above).
- 
- 2002-09-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (try_combine): Handle the case that undobuf.other_insn
- 	has been turned into a return or unconditional jump, by inserting
- 	a BARRIER if necessary.
- 	(simplify_set):  Test if a condition code setter has a constant
- 	comparison at compile time, if so convert this insn to a no-op move
- 	and update/simplify the condition code user (undobuf.other_insn).
- 
- 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
- 	(CLEAR_INSN_CACHE): Define.
- 
- 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Fix comment formatting.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-lex.c: Likewise.
- 	* c-pretty-print.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfgloop.c: Likewise.
- 	* defaults.h: Likewise.
- 	* et-forest.c: Likewise.
- 	* explow.c: Likewise.
- 	* function.h: Likewise.
- 	* gcov.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* ifcvt.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* loop.c: Likewise.
- 	* profile.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* real.c: Likewise.
- 	* rtl.h: Likewise.
- 	* tracer.c: Likewise.
- 	* tree-inline.c: Likewise.
- 	* varasm.c: Likewise.
- 
- 2002-09-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
- 	handling.
- 
- 	* loop.c (loop_givs_reduce):  Emit addition after.
- 
- 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* varasm.c (default_assemble_visibility): Rename from
- 	assemble_visibility.
- 	* output.h: Here too.
- 	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
- 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
- 
- 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* reload.c (find_reloads <p constraint>): Pass operand_mode to
- 	find_reloads_address.
- 
- 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
- 	(anonymous pattern): Likewise.
- 
- 2002-09-07  Igor Shevlyakov <igor@microunity.com>
- 
- 	* machmode.def: Add modes for half-float vectors.
- 
- 2002-09-07  Scott Snyder  <snyder@fnal.gov>
- 
- 	PR target/7374
- 	* config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
- 
- 2002-09-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* basic-block.h (struct loop): Remove unused cont_dominator field.
- 
- 2002-09-07  Igor Shevlyakov <igor@microunity.com>
- 
- 	* varasm.c (decode_rtx_const): Don't check undefined field for
- 	CONST_VECTOR.
- 
- 2002-09-07  Glen Nakamura  <glen@imodulo.com>
- 
- 	PR opt/7814
- 	* sched-deps.c (sched_analyze_insn): Make sure to add insn
- 	to reg_last->sets after flushing the dependency lists to guarantee
- 	that subsequent clobbers will be dependent on it.
- 
- 2002-09-07  Igor Shevlyakov <igor@microunity.com>
- 
- 	* combine.c (simplify_shift_const): Calculate rotate count
- 	correctly for vector operands.
- 
- 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
- 
- 	* c-typeck.c (c_tree_expr_nonnegative_p): New function.
- 	(build_binary_op): Call c_tree_expr_nonnegative_p rather than
- 	tree_expr_nonnegative_p.
- 	(build_conditional_expr): Likewise.
- 	* c-tree.h (c_tree_expr_nonnegative_p): Declare.
- 
- 2002-09-07  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.def (inf, inff, infl): Mark const.
- 	(huge_val, huge_valf, huge_vall): Likewise.
- 	(BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
- 
- 	* real.c (ereal_inf): Clear E before use.
- 
- 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (udivmodqi4): Split the pattern into
- 	an expander and an anonymous pattern.  Zero out the upper half
- 	of the dividend in the expander.
- 	(udivmodqi4): Likewise.
- 
- 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Fix formatting.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
- 	information.
- 
- 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
- 
-        * rtlanal.c (dead_or_set_regno_p): Fix typo.
- 
- 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- 
- 	* doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
- 	* target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
- 	(TARGET_ASM_OUT): Add the above here.
- 	* target.h (struct gcc_target): Add "visibility" field.
- 	* varasm.c (maybe_assemble_visibility): Call targetm visibility func.
- 	* config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
- 	(TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
- 	(rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
- 
- 2002-09-06  Ziemowit Laski <zlaski@apple.com>
- 
- 	* c-lang.c (objc_is_id): New stub.
- 	* c-tree.h (objc_is_id): New forward declaration.
- 	* c-typeck.c (build_c_cast): Do not strip protocol
- 	qualifiers from 'id' type.
- 	* objc/objc-act.c (objc_comptypes): Correct handling
- 	of protocol qualifiers.
- 	(objc_is_id): New.
- 
- Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
- 
- 	* pentium.md (pentium-firstvboth): Fix typo.
- 
- 2002-09-06	Dhananjay Deshpande <dhananjayd@kpit.com>
- 
- 	* h8300.c (enum shift_alg): Move to earlier in h8300.c.
- 	(enum shift_type, enum h8_cpu): Likewise.
- 	(INL, ROT, LOP, SPC macros): Likewise.
- 	(shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
- 	const designator.
- 	(h8300_init_once): Update shift_alg_{qi,hi,si} to use more
- 	space efficient algorithms when optimize for codesize.
- 
- Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	Fix PR/1727 and long-standing failing testcase
- 	objc/formal-protocol-6.m.
- 	* objc-act.c (build_protocol_expr): If compiling for the GNU
- 	runtime, create a list of Protocol statically allocated instances
- 	if it doesn't exist, then add the Protocol object to this same
- 	list.
- 	(get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
- 	instead of TREE_CHAIN.
- 
- Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* objc/objc-act.c (dump_interface): Enlarged the char * buffer to
- 	10k.  Fixed category dumping - print out category names with the
- 	proper syntax.  Print '@end\n' and not '\n@end' at the end of the
- 	interface.
- 	(finish_objc): Fixed the -gen-decls option.  It was printing out
- 	only the last class.  Dump an interface declaration of all classes
- 	being compiled instead.
- 
- 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/arm-protos.h (arm_gen_return_addr_mask): New
- 	prototype.
- 	* config/arm/arm.c (arm_gen_return_addr_mask): New function.
- 	* config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
- 	if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
- 	rather than GEN_INT.
- 	* config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
- 	(return_addr_mask, *check_arch2): New.
- 
- 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
- 	"*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
- 	"*addsi3_carry1_cc", "*addsi3_carry1_cconly",
- 	"*addsi3_carry2_cc", "*addsi3_carry2_cconly",
- 	"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
- 	"adddf3", "*adddf3", "*adddf3_ibm",
- 	"addsf3", "*addsf3", "*addsf3_ibm",
- 	"muldi3", "mulsi3", "mulsidi3",
- 	"muldf3", "*muldf3", "*muldf3_ibm",
- 	"mulsf3", "*mulsf3", "*mulsf3_ibm",
- 	"*anddi3_cc", "*anddi3_cconly", "anddi3",
- 	"*andsi3_cc", "*andsi3_cconly", "andsi3",
- 	"*iordi3_cc", "*iordi3_cconly", "iordi3",
- 	"*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
- 	"*xordi3_cc", "*xordi3_cconly", "xordi3",
- 	"*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
- 	instead of "register_operand" as predicate for "%0" operand.
- 
- 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
- 	unconditionally when gcc_cv_as_flags64 checks are gone.
- 	* configure: Rebuilt.
- 
- 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
- 	2002-07-26 change.  Comment.
- 
- 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* frv.c (frv_unique_section, frv_select_section,
- 	frv_select_rtx_section): Delete.
- 	(frv_in_small_data_p): New.
- 	(TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
- 	TARGET_ASM_SELECT_RTX_SECTION): Delete.
- 	(TARGET_IN_SMALL_DATA_P): Define.
- 
- 2002-09-05  Dale Johannesen  <dalej@apple.com>
- 
- 	* reload1.c (reload):  Retain only those memory clobbers
- 	added for variable-array handling.
- 
- 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_return_in_memory): Implement ATPCS
- 	return-in-memory rules.
- 	* config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
- 
- 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
- 
- 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
- 	not a compile-time constant for the non-IBM case.
- 	* config/arm/arm-protos.h (arm_float_words_big_endian): New
- 	prototype.
- 	* config/arm/arm.c (arm_float_words_big_endian): New function.
- 	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
- 	if TARGET_VFP  and not TARGET_HARD_FLOAT.
- 	(ARM_FLAG_VFP, TARGET_VFP): Define.
- 	(FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
- 
- 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
- 	URLs.  Fix AIX wording.
- 
- 2002-09-05  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
- 	-fPIC equivalent on Darwin.
- 
- Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_expand_builtin): Return early if encountering an
- 	error_mark for a type.
- 
- 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_expand_plus_operand): Do not require
- 	double-word scratch register.
- 	config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
- 
- 	("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
- 	"*cli"): Replace s_operand by memory_operand.
- 	("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
- 
- 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (asm_file_start): Add a missing
- 	semicolon.
- 
- 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* c-typeck.c (build_function_call): Remove unused variable(s).
- 	(build_c_cast): Likewise.
- 	* calls.c (rtx_for_function_call): Likewise.
- 	* cfglayout.c (duplicate_insn_chain): Likewise.
- 	* cfgloop.c (flow_loop_nodes_find): Likewise.
- 	* cfgrtl.c (split_edge): Likewise.
- 	* df.c (df_ref_create): Likewise.
- 	* except.c (expand_end_catch): Likewise.
- 	* expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
- 	* function.c (emit_return_into_block): Likewise.
- 	(reposition_prologue_and_epilogue_notes): Likewise.
- 	* gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
- 	* combine.c (subst_prev_insn, need_refresh): Remove.
- 	* dwarf2out.c (primary_filename): Remove.
- 	* final.c (new_block): Remove.
- 	* gcse.c (orig_bb_count): Remove.
- 
- 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
- 	* dsp16xx.c (dsp16xx_compare_gen): Likewise.
- 	* dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
- 	directly instead of using a function pointer.
- 
- 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config/i386/i386.h (GOT_SYMBOL_NAME): Define.
- 	* config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
- 	(ix86_output_addr_diff_elt) Likewise.
- 	(x86_output_mi_thunk) Likewise.
- 	* config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
- 
- 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* frv.c (frv_encode_section_info): Fix error in last change.
- 
- 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
- 	(rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
- 	(TARGET_BINDS_LOCAL_P): Define.
- 	(rs6000_override_options): Save original flag_pic value.
- 	(rs6000_elf_select_section): Call default_elf_select_section_1.
- 	(rs6000_elf_unique_section): Call default_unique_section_1.
- 	(rs6000_elf_in_small_data_p): New function.
- 	(rs6000_xcoff_asm_named_section): Determine storage mapping class.
- 	(rs6000_xcoff_select_section): Update based on defaults.
- 	(rs6000_xcoff_unique_section): Set to basic name if not common.
- 	(rs6000_binds_local_p): New function.
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
- 	targetm.have_srodata_section if SDATA_EABI.
- 	(TARGET_IN_SMALL_DATA_P): Define.
- 
- 2002-09-04  Dale Johannesen  <dalej@apple.com>
- 
- 	* varasm.c (struct rtx_const, decode_rtx_const):
- 	Make veclo and vechi fields not share storage.
- 
- Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* loop.c (scan_loop): Don't mark separate insns out of a libcall
- 	for moving.
- 	(move_movables): Abort if we see the first insn of a libcall.
- 
- 2002-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* builtin-types.def (BT_FN_FLOAT): New.
- 	(BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
- 	* builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
- 	BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
- 	* builtins.c (fold_builtin_inf): New.
- 	(fold_builtin): Call it.
- 	* real.c (ereal_inf): New.
- 	* real.h: Declare it.
- 	* doc/extend.texi: Document new builtins.
- 
- 2002-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (cse_insn): Avoid subreg games if the equivalence
- 	is already in the proper mode.
- 
- 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	PR c/7102
- 	* optabs.c (expand_binop): Convert CONST_INTs in all cases.
- 
- 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (setccfp0, setccfp1): New patterns.
- 
- 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* frv-protos.h (frv_init_builtins, frv_expand_builtin,
- 	frv_select_section, frv_select_rtx_section,
- 	frv_encode_section_info, frv_unique_section): Delete.
- 	* frv.c: Update for target hooks.
- 	* frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
- 	SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
- 	EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
- 
- 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ip2k-protos.h (function_prologue, function_epilogue,
- 	encode_section_info): Update to match target hook specification.
- 	* ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
- 	(function_prologue, function_epilogue, encode_section_info):
- 	Update to match target hook specification.
- 	* ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
- 	ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
- 	(NOTICE_UPDATE_CC): Cast to void.
- 	* ip2k.md: Add defaults in switch statements.
- 
- 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/trouble.texi (Interoperation): Update information about C++ ABI
- 	issues.
- 
- 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/t-netbsd64: Disable multilib for now.
- 
- 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
- 	* target.h (gcc_target): Add have_srodata_section member.
- 	* varasm.c (section_category): Add SECCAT_SRODATA.
- 	(categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
- 	READONLY_SDATA_SECTION defined.
- 	(decl_readonly_section_1): True for SECCAT_SRODATA also.
- 	(default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
- 	(default_unique_section_1): Likewise.
- 
- 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* expr.c (emit_group_load): Revise to allow splitting TCmode source
- 	into DImode pieces.
- 
- 	* pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
- 	* pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
- 	for floating-point register class.
- 	* pa.c (function_arg): Fix handling of modes wider than one word for
- 	TARGET_64BIT.
- 
- Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* combine.c (make_compound_operation): Don't generate zero / sign
- 	extensions in floating point modes.
- 
- 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/c-tree.texi: Fix overfull hboxes.
- 	* doc/cppopts.texi: Ditto.
- 	* doc/extend.texi: Ditto.
- 	* doc/gty.texi: Ditto.
- 	* doc/invoke.texi: Ditto.
- 	* doc/makefile.texi: Ditto.
- 	* doc/rtl.texi: Ditto.
- 	* doc/standards.texi: Ditto.
- 	* doc/tm.texi: Ditto.
- 
- 2002-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (builtin_define_with_hex_fp_value): New.
- 	(builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
- 
- 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
- 	(-fpcc-struct-return, -freg-struct-return, -fshort-enums,
- 	-fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
- 	Warn that these options can break ABI compatibility.
- 
- 2002-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (ereal_to_decimal): Add digits parameter.
- 	* real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
- 	* c-pretty-print.c (pp_c_real_literal): Update call.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* print-tree.c (print_node_brief, print_node): Likewise.
- 	* sched-vis.c (print_value): Likewise.
- 	* config/arc/arc.c (arc_print_operand): Likewise.
- 	* config/c4x/c4x.c (c4x_print_operand): Likewise.
- 	* config/i370/i370.h (PRINT_OPERAND): Likewise.
- 	* config/i386/i386.c (print_operand): Likewise.
- 	* config/i960/i960.c (i960_print_operand): Likewise.
- 	* config/ip2k/ip2k.c (asm_output_float): Likewise.
- 	* config/m32r/m32r.c (m32r_print_operand): Likewise.
- 	* config/m68hc11/m68hc11.c (print_operand): Likewise.
- 	* config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
- 	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
- 	* config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
- 	ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
- 	* config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
- 	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
- 	* config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
- 	ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
- 	* config/mips/mips.c (print_operand): Likewise.
- 	* config/ns32k/ns32k.c (print_operand): Likewise.
- 	* config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
- 	* config/vax/vax.h (PRINT_OPERAND): Likewise.
- 	* doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
- 
- 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
- 	xtensa_multibss_section_type_flags.
- 	* config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
- 
- 2002-09-04  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/install-old.texi: Don't mention enquire.
- 	* doc/sourcebuild.texi: Update float.h description.
- 
- Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
- 
- 2002-09-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (build_function_call_expr): Remove prototype, export
- 	as non-static and add a comment above function definition.
- 	(builtin_mathfn_code): New function to check for math builtins.
- 	(fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
- 	exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
- 	log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
- 	log(sqrt(x)) as log(x)/2.0.
- 
- 	* tree.h: Prototype build_function_call_expr and builtin_mathfn_code
- 	in new "builtins.c" section.  Place the build_range_type prototype
- 	with the other prototypes from "tree.c".
- 
- 	* fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
- 	and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
- 	as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
- 	x/exp(y) as x*exp(-y).
- 
- 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* varasm.c (default_section_type_flags): Append _1 to name with
- 	shlib parameter.  Use original name to call new function with
- 	implicit flag_pic.
- 	(decl_readonly_section): Likewise.
- 	(default_elf_select_section): Likewise.
- 	(default_unique_section): Likewise.
- 	(default_bind_local_p): Likewise.
- 	(categorize_decl_for_section): Add shlib parameter to use in place
- 	of implicit flag_pic.
- 	* output.h: Declare new functions with _1 and shlib argument.
- 
- 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi: Fix typos, formatting problems, and obvious
- 	overfull/underfull boxes.
- 
- 	* Makefile.in (TEXI_GCC_FILES): Add compat.texi.
- 	* doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
- 	include its file, compat.texi.
- 	* doc/compat.texi: New file with new chapter, Binary Compatibility.
- 
- 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	Debian BTS Bug #157416
- 	* cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
- 	* cpplib.c (destringize_and_run): Kludge around getting
- 	tokens from in-progress macros.
- 	(_cpp_do__Pragma): Simplify.
- 
- 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
- 	(CPP_CPU_SPEC): Remove.
- 	(TARGET_CPU_CPP_BUILTINS): New.
- 	* config/ia64/hpux.h (CPP_PREDEFINES): Remove.
- 	(CPP_SPEC): Remove.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 	* config/ia64/linux.h (CPP_PREDEFINES): Remove.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 	* config/ia64/aix.h (CPP_SPEC): Move some stuff to
- 	TARGET_OS_CPP_BUILTINS.
- 	(CPP_PREDEFINES): Remove.
- 	(CPLUSPLUS_CPP_SPEC): Remove.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 
- 2002-09-03  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (USER_H): Add ginclude/float.h.
- 	(FLOAT_H): Remove.
- 	(stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
- 	(mostlyclean): Don't remove float.h intermediate files.
- 	(distclean): Don't remove float.h.
- 	* config.gcc: Remove all float_format references.
- 	* configure.in (float_format, float_h_file): Remove.
- 
- 	* c-common.c: Include tree-inline.h.
- 	(builtin_define_with_int_value): New.
- 	(builtin_define_type_precision): Use it.
- 	(builtin_define_float_constants): New.
- 	(cb_register_builtins): Use it.  Define __FLT_RADIX__ and
- 	__FLT_EVAL_METHOD__.
- 	* defaults.h (TARGET_FLT_EVAL_METHOD): New.
- 	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
- 	* config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
- 	* doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
- 	(TARGET_FLT_EVAL_METHOD): New.
- 
- 	* config/float-c4x.h, config/float-i128.h, config/float-i32.h,
- 	config/float-i386.h, config/float-i64.h, config/float-m68k.h,
- 	config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
- 	* ginclude/float.h: New.
- 
- 2002-09-03  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
- 	(DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
- 	(PREFERRED_DEBUGGING_TYPE): Ditto.
- 	(ASM_OUTPUT_IDENT): Remove empty definition.
- 
- 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
- 	cxx_target.
- 	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
- 	handling routine for builtin pragma.
- 	* config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
- 	Registered pragma handling routine.
- 	* ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
- 	(ia64_hpux_add_pragma_builtin) New subroutine used by above.
- 	If builtin pragma seen for math routine and C89 conformance is
- 	requested use different math function in order to set errno.
- 	* t-ia64 (ia64-c.o): Add new rule for new file.
- 
- 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("movti"): Add Q->Q alternative.
- 	("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
- 	"movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
- 
- 	("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
- 	"*movsf_ss"): Remove.
- 
- 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
- 	Delete macros.
- 
- 2002-09-03   Arati Dikey  <aratid@kpit.com>
- 
- 	* h8300.c (asm_file_start): Corrected optimization comment.
- 
- 2002-09-03  Stan Shebs  <shebs@apple.com>
- 
- 	* c-lang.c (recognize_objc_keyword): Remove, no longer used.
- 	* c-tree.h (recognize_objc_keyword): Remove decl.
- 	* c-typeck.c (comp_target_types): Update a comment.
- 
- 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
- 	and register validity checks.
- 	(general_s_operand): Adapt to s390_decompose_address interface change.
- 	(q_constraint): Likewise.
- 	(s390_expand_plus_operand): Likewise.
- 	(legitimiate_address_p): Likewise.
- 	(legitimate_la_operand_p): Likewise.
- 	(legitimize_la_operand): Likewise.
- 	(print_operand_address): Likewise.
- 	(print_operand): Likewise.
- 
- Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	PR objc/5956:
- 	* objc/objc-act.c (build_typed_selector_reference): Fix typo which
- 	was causing the new selector never to match the existing ones
- 	(Patch by Alexander Malmberg <alexander@malmberg.org>).
- 
- 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* config/i386/i386.md ("femms"): Add "memory" attr "none".
- 
- 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* expr.c (expand_expr): Remove extraneous comment and code.
- 
- 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* stor-layout (finish_builtin_struct): Renamed and moved from c++
- 	frontend. Take chain of fields. Allow NULL alignment type.
- 	* tree.h (finish_builtin_struct): Declare.
- 
- 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
- 	config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
- 	config/arc/arc.c config/arc/arc.h config/arm/aout.h
- 	config/arm/arm.c config/arm/arm.h config/arm/arm.md
- 	config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
- 	config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
- 	config/i386/i386.c config/i386/i386.md config/i386/sco5.h
- 	config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
- 	config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
- 	config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
- 	config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
- 	config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
- 	config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
- 	config/pa/pa.h config/pa/pa.md config/romp/romp.h
- 	config/rs6000/linux64.h config/rs6000/lynx.h
- 	config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
- 	config/s390/s390.c config/s390/s390.md config/sh/sh.c
- 	config/sparc/sparc.c config/sparc/sysv4.h
- 	config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
- 	dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
- 	ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
- 
- 	* doc/tm.texi: Update docs.
- 	* default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
- 	* system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
- 
- 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
- 	* arc.c (arc_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Set.
- 	* arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* arm.c (arm_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Set.
- 	* arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* i370.c (i370_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Set.
- 	* i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* m68k.c (m68k_hp320_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Set.
- 	* m88k.c (m88k_internal_label): New function.
- 	(TARGET_ASM_INTERNAL_LABEL): Set.
- 	* m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
- 	* genoutput.c (output_prologue): Include target.h in output file.
- 	* output.h (default_internal_label): Declare.
- 	* sdbout.c: Include target.h.
- 	* target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
- 	TARGET_ASM_OUT.
- 	* target.h (internal_label): Add to struct gcc_target.
- 	* varasm.c (default_internal_label): New function.
- 
- 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
- 	* avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* mmix-protos.h (mmix_asm_output_internal_label): Likewise.
- 	* mmix.c (mmix_asm_output_internal_label): Likewise.
- 	* mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 
- 	* defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
- 
- 2002-08-31  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
- 
- 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
- 
- 2002-08-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/7515
- 	* c-objc-common.c: Include target.h.
- 	(c_cannot_inline_tree_fn): Don't auto-inline functions that
- 	don't bind locally.  Factor setting DECL_UNINLINABLE.
- 	* Makefile.in (c-objc-common.o): Update.
- 
- 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Configuration, Building): Fix a typo and
- 	some formatting directives.
- 
- 2002-08-30  Paul Koning <pkoning@equallogic.com>
- 
- 	* doc/c-tree.texi (RDIV_EXPR): Fix typo.
- 	* doc/rtl.texi (post_modify): Remove misplaced text, remove "not
- 	implemented" note.
- 	* doc/md.texi (IP2K): Move machine-specific constraints before MIPS
- 	for alphabetic order.
- 	* doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
- 	VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
- 	(VAX_HALFWORD_ORDER): Document.
- 	(LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
- 	IEEE float format.
- 	(TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
- 	(ASM_OUTPUT_LABEL_REF): Fix font.
- 	(CASE_VECTOR_SHORTEN_MODE): Ditto.
- 
- 2002-08-30  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
- 	stuff.
- 	(ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
- 	CONST_DOUBLE constants.
- 
- 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
- 	related defines to...
- 	(SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
- 	* config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
- 	as a no-op.
- 
- 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* config/arm/arm.c (arm_asm_output_labelref): New function.
- 	* config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
- 	* config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
- 
- 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
- 
- 	* doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
- 	memory exhausted" workarounds.
- 
- 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (fancy_abort): Don't repeat "internal error".
- 	* toplev.c (crash_signal): Likewise.
- 
- Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
- 	* doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
- 	Extended, updated documentation.
- 	(-Wundeclared-selector): Documented.
- 
- 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/chorus.h: Consistently define *_DEBUGGING_INFO with
- 	the value 1.  Do not undef before defining.
- 	* config/darwin.h: Likewise.
- 	* config/dbx.h: Likewise.
- 	* config/dbxcoff.h: Likewise.
- 	* config/dbxelf.h: Likewise.
- 	* config/elfos.h: Likewise.
- 	* config/interix.h: Likewise.
- 	* config/lynx-ng.h: Likewise.
- 	* config/lynx.h: Likewise.
- 	* config/netware.h: Likewise.
- 	* config/psos.h: Likewise.
- 	* config/svr3.h: Likewise.
- 	* config/alpha/alpha.h: Likewise.
- 	* config/alpha/elf.h: Likewise.
- 	* config/alpha/vms.h: Likewise.
- 	* config/arc/arc.h: Likewise.
- 	* config/arm/aout.h: Likewise.
- 	* config/arm/coff.h: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/i386/cygwin.h: Likewise.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/gas.h: Likewise.
- 	* config/i386/gstabs.h: Likewise.
- 	* config/i386/i386-coff.h: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/i386/sco5.h: Likewise.
- 	* config/i386/svr3dbx.h: Likewise.
- 	* config/i386/sysv3.h: Likewise.
- 	* config/i386/win32.h: Likewise.
- 	* config/i386/x86-64.h: Likewise.
- 	* config/i960/i960.h: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/m68k/3b1.h: Likewise.
- 	* config/m68k/3b1g.h: Likewise.
- 	* config/m68k/ccur-GAS.h: Likewise.
- 	* config/m68k/coff.h: Likewise.
- 	* config/m68k/hp2bsd.h: Likewise.
- 	* config/m68k/hp310g.h: Likewise.
- 	* config/m68k/hp320g.h: Likewise.
- 	* config/m68k/hp3bsd.h: Likewise.
- 	* config/m68k/hp3bsd44.h: Likewise.
- 	* config/m68k/linux-aout.h: Likewise.
- 	* config/m68k/m68k-aout.h: Likewise.
- 	* config/m68k/mot3300.h: Likewise.
- 	* config/m68k/netbsd.h: Likewise.
- 	* config/m68k/openbsd.h: Likewise.
- 	* config/m68k/pbb.h: Likewise.
- 	* config/m68k/plexus.h: Likewise.
- 	* config/m68k/sun2.h: Likewise.
- 	* config/m68k/sun3.h: Likewise.
- 	* config/m68k/tower-as.h: Likewise.
- 	* config/m68k/vxm68k.h: Likewise.
- 	* config/m88k/aout-dbx.h: Likewise.
- 	* config/m88k/m88k-aout.h: Likewise.
- 	* config/mcore/mcore-elf.h: Likewise.
- 	* config/mcore/mcore-pe.h: Likewise.
- 	* config/mips/elf.h: Likewise.
- 	* config/mips/elf64.h: Likewise.
- 	* config/mips/iris5gas.h: Likewise.
- 	* config/mips/iris6.h: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mips/sni-gas.h: Likewise.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/ns32k/netbsd.h: Likewise.
- 	* config/pa/pa64-hpux.h: Likewise.
- 	* config/romp/romp.h: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 	* config/rs6000/xcoff.h: Likewise.
- 	* config/sh/coff.h: Likewise.
- 	* config/sh/elf.h: Likewise.
- 	* config/sparc/linux64.h: Likewise.
- 	* config/sparc/liteelf.h: Likewise.
- 	* config/sparc/netbsd.h: Likewise.
- 	* config/sparc/openbsd.h: Likewise.
- 	* config/sparc/pbd.h: Likewise.
- 	* config/sparc/sp64-elf.h: Likewise.
- 	* config/sparc/sp86x-elf.h: Likewise.
- 	* config/sparc/sparc.h: Likewise.
- 	* config/vax/vax.h: Likewise.
- 	* config/vax/vaxv.h: Likewise.
- 
- 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
- 
- 	* h8300.c (shift_alg_hi): Various tweaks to improve performance
- 	of HImode shifts.
- 	(get_shift_alg): Corresponding changes.
- 
- 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
- 
- 2002-08-29  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (enum block_op_methods): New.
- 	(emit_block_move): Update prototype.
- 	* expr.c (block_move_libcall_safe_for_call_parm): New.
- 	(emit_block_move_via_loop): New.
- 	(emit_block_move): Use them.  New argument METHOD.
- 	(emit_push_insn): Always respect the given alignment.
- 	(expand_assignment): Update call to emit_block_move.
- 	(store_expr, store_field, expand_expr): Likewise.
- 	* builtins.c (expand_builtin_apply): Likewise.
- 	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
- 	* function.c (expand_function_end): Likewise.
- 	* config/sh/sh.c (sh_initialize_trampoline): Likewise.
- 	* config/sparc/sparc.c (sparc_va_arg): Likewise.
- 	* calls.c (expand_call, emit_library_call_value_1): Likewise.
- 	(save_fixed_argument_area): Use emit_block_move with
- 	BLOCK_OP_CALL_PARM instead of move_by_pieces.
- 	(restore_fixed_argument_area): Likewise.
- 	(store_one_arg): Fix alignment parameter to emit_push_insn.
- 
- 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* install.texi (hppa64-hp-hpux11*): Document installation procedure.
- 
- 2002-08-29  Catherine Moore  <clm@redhat.com>
- 
- 	* config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
- 	NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
- 	(PREDICATE_CODES): Include new predicates.
- 	(RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
- 	(TARGET_SWITCHES):  Add strict-align.
- 	(TARGET_STRICT_ALIGN): New.
- 	(MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
- 	* config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
- 	Define.
- 	(LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
- 	v850_muldi3.
- 	* config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
- 	L_callt_save_r2_r31, L_return_r2_r31,
- 	L_save_all_interrupt): Change addi to add.
- 	(L_save_interrupt, L_return_interrupt): Rework.
- 	(__return_r31):  Correct .size directive.
- 	(mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
- 	(v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
- 	New routines.
- 	* config/v850/v850.c (expand_prologue): Call
- 	gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
- 	gen_callt_return_interrupt and gen_callt_save_all_interrupt.
- 	(reg_or_int9_operand): New predicate.
- 	(reg_or_const_operand): New routine.
- 	* config/v850/v850.md (return_interrupt): Changed from
- 	restore_interrupt.
- 	(callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
- 	(callt_save_interrupt): Change save sequence.
- 	(callt_return_interrupt): New.
- 	(save_interrupt): Don't use runtime function for LONG_CALLS
- 	and TARGET_PROLOG_FUNCTION.
- 	(save_all_interrupt): Likewise.
- 	(mulsi3): Use new predicate.
- 	(moviscc): Disallow some combination of constants.
- 	Fix define_split for sasf insns, so that it will not generate bad
- 	code if operand0 and operand5 are the same.
- 	* config/v850/v850-protos.h: Prototype new predicates.
- 
- 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/rs6000.c (processor_target_table): Add 405f.
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
- 
- 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-common.c (builtin_define_type_precision): New function.
- 	(cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
- 	wchar_t is unsigned in C++.
- 	* doc/cpp.texi (Common Predefined Macros): Document
- 	__WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
- 	__INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
- 	__DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
- 
- 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
- 
- 	* doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
- 	section.  Mention that it is enabled by -Wall.
- 	(-Wall): Mention that there can be language-specific warnings as well.
- 	(-Wctor-dtor-privacy): Mention that it is enabled by default.
- 	(-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
- 
- Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
- 	if it is ever live.
- 
- 	* sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
- 	attribute for SHCOMPACT.
- 
- 	* sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
- 	appropriately.
- 	(FUNCTION_BOUNDARY): Specify only the minimum alignment required
- 	by the ABI.
- 
- 	* sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
- 
- 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (mips*-*-netbsd*): Set target_cpu_default to
- 	"MASK_GAS|MASK_ABICALLS".
- 	* config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
- 	(TARGET_DEFAULT): Remove.
- 	(MACHINE_TYPE): Undefine before defining.
- 	(DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
- 
- 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (warn_abi): New variable.
- 	* c-common.h (warn_abi): Likewise.
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
- 	(c_common_decode_option): Handle it.
- 	* doc/invoke.texi: Document -Wabi.
- 
- Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
- 
- 	* c-common.c (warn_undeclared_selector): New variable.
- 	* c-common.h (warn_undeclared_selector): Idem.
- 	* c-opts.c (c_common_decode_option): Set warn_undeclared_selector
- 	to on when -Wundeclared-selector is found.
- 	(COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
- 	* objc/objc-act.c (build_selector_expr): If
- 	warn_undeclared_selector is set, check that the selector has
- 	already been defined, and emit a warning if not.
- 
- 2002-08-27  Nick Clifton  <nickc@redhat.com>
- 	    Catherine Moore  <clm@redhat.com>
- 	    Jim Wilson  <wilson@cygnus.com>
- 
- 	* config.gcc: Add v850e-*-* target.
- 	Add --with-cpu= support for v850.
- 	* config/v850/lib1funcs.asm: Add v850e callt functions.
- 	* config/v850/v850.h: Add support for v850e target.
- 	* config/v850/v850.c: Add functions to support v850e target.
- 	* config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
- 	* config/v850/v850.md: Add patterns for v850e instructions.
- 	* doc/invoke.texi: Document new v850e command line switches.
- 
- Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 			  Aldy Hernandez <aldyh at redhat dot com>
- 
- 	* doc/tm.texi: Applied numerous fixes to the automaton based
- 	scheduler descrition.
- 
- Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Handle variable sized objects.
- 
- Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
- 
- Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
- 
- Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Properly compute word size of the analyzed object.
- 
- Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
- 	mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
- 	accordingly.
- 	(attribute insn_class): Provide default definitions based on type.
- 	Remove all insn-specific settings.
- 	(various function units): Remove old SH4 scheduling.
- 	(branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
- 	New attributes.  Set them where appropriate.
- 	(cpu unit FS): Don't define / use.
- 	(F3, load_store): New cpu units.
- 	(F01): New reservation.
- 	(all insn_reservations): Make dependent on sh4 pipeline model.
- 	Fix latencies.
- 	(nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
- 	(sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
- 	(mt insn_reservation): Use type mt_group.
- 	(insn_reservation load_store): Split into sh4_load, sh4_load_si,
- 	sh4_fload and sh4_store.
- 	(insn_reservation branch_zero and branch): Replace with sh4_branch.
- 	(insn_reservation branch_far): Replace with sh4_return.
- 	(insn_reservation return_from_exp): Rename to:
- 	(sh4_return_from_exp).  Change to be just d_lock*5.
- 	(insn_reservation lds_to_pr): Rename to:
- 	(sh4_lds_to_pr).  Change to be just d_lock*2.
- 	(insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
- 	d_lock*2.
- 	(insn_reservation prload_mem): Rename to:
- 	(sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
- 	(insn_reservation fpscr_store): Rename to:
- 	(fpscr_load).  Change to d_lock,nothing,F1*3.
- 	(insn_reservation fpscr_store_mem): Rename to:
- 	(fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
- 	(insn_reservation multi): Change to
- 	d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
- 	(insn_reservation fp_arith): Change to issue,F01,F2.
- 	(insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
- 	(insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
- 	(insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
- 	(insn_reservation fp_double_cmp): Change to
- 	d_lock,(d_lock+F01),F1+F2,F2.
- 	(insn_reservation dp_div): Change to
- 	issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
- 	* sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
- 	(sh_adjust_cost, SHcompact): Differentiate between different
- 	kinds of dependencies.  Drop factor of ten for superscalar.
- 	Use new instruction types.  Add new exception rules.
- 
- 	* sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
- 
- 	* sh.md (mperm_w): Add DONE.
- 
- 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* longlong.h: Import current PowerPC defintion from GMP-4.1.
- 
- 	* config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
- 
- 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
- 
- Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (MAX_FIXED_MODE_SIZE): Define.
- 
- 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
- 
- 	* doc/cpp.texi (Common Predefined Macros): Don't mess with table
- 	delimiter.
- 
- 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-common.c (cpp_define_data_format): New function.
- 	(cb_register_builtins): Call it.
- 
- 	* doc/cpp.texi (Common Predefined Macros): Document
- 	__TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
- 	__TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
- 	__TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
- 	__TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
- 	__TARGET_USES_VAX_H_FLOAT__.
- 
- 2002-08-26  Ziemowit Laski <zlaski@apple.com>
- 
- 	* objc/objc-act.c (get_super_receiver): If inside a class method
- 	of a category, cast the receiver to 'id' before accessing the 'isa'
- 	field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
- 
- 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (s390_function_prologue,
- 	s390_function_epilogue): Remove.
- 	config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
- 	TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
- 
- 	config/s390/s390.c (s390_machine_dependent_recorg): New function.
- 	config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
- 	config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
- 	config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
- 	to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
- 
- 	config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
- 	assume BASE_REGISTER and RETURN_REGNUM need to be saved.
- 	(s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
- 	function is not a leaf function.  Use save_gprs and restore_gprs.
- 	(s390_emit_epilogue): Likewise.
- 	(save_gprs, restore_gprs): New functions.
- 	(struct s390_frame): Remove return_reg_saved_p member.
- 	(save_fprs_p): Remove.
- 	(s390_optimize_prolog): New function.
- 	(s390_legitimate_reload_constant): Remove now unnecessary check.
- 
- 	(s390_function_count): Remove.
- 	(s390_output_symbolic_const): Replace s390_function_count by
- 	current_function_funcdef_no.
- 	(s390_output_constant_pool): Likewise.
- 
- 	(legitimize_pic_address): Use regs_ever_live to track PIC register
- 	instead of current_function_uses_pic_offset_table.
- 	(s390_emit_prologue): Likewise.
- 	config/s390/s390.md ("call", "call_value"): Likewise.
- 
- 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (find_opt): Don't complain about wrong languages
- 	here.  Return exact matches even for wrong language.
- 	(c_common_decode_option): Complain about wrong languages
- 	here.
- 
- 2002-08-24  Stuart Hastings  <stuart@apple.com>
- 
- 	* function.h (struct function): Add flag
- 	all_throwers_are_sibcalls.
- 	* except.c (set_nothrow_function_flags): Replaces
- 	nothrow_function_p. Set new flag.
- 	* except.h (set_nothrow_function_flags): Replaces
- 	nothrow_function_p.
- 	* dwarf2out.c (struct dw_fde_struct): Add flag
- 	all_throwers_are_sibcalls.
- 	(output_call_frame_info): Test it.
- 	(dwarf2out_begin_prologue) Propagate it from cfun to
- 	dw_fde_struct.
- 	* toplev.c (rest_of_compilation): Update calls to
- 	nothrow_function_p.
- 
- 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ggc-page.c (compute_inverse): Short circuit calculation for
- 	object sizes larger than half a page.
- 
- 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
- 	DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
- 	default.
- 	(rs6000_elf_unique_section): Likewise.
- 
- 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ns32k.c (ns32k_globalize_label): Delete.
- 	* ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
- 
- 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
- 	for loading delta with num_insns_constant_wide.  Calculate
- 	delta_low, delta_high without using a conditional.
- 
- 2002-08-22  Jason Merrill  <jason@redhat.com>
- 
- 	* c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
- 	* c-common.def: Adjust.
- 	* c-dump.c (c_dump_tree): Adjust.
- 	* c-semantics.c (genrtl_return_stmt): Adjust.
- 	* c-pretty-print.c (pp_c_statement): Adjust.
- 	* tree-inline.c (copy_body_r): Adjust.
- 
- 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ggc-page.c: Avoid division in ggc_set_mark.
- 	(DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
- 	compute_inverse): New.
- 	(ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
- 	(init_ggc): Initialize inverse_table.
- 
- 2002-08-22  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/install.texi (Configuration): Document --datadir.
- 
- 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
- 
- 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* gengtype-lex.l (ID): Allow underscore as first character.
- 
- 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
- 	function.
- 	(rs6000_xcoff_asm_named_section): Rename.
- 	* config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
- 
- 2002-08-21  Tom Tromey  <tromey@redhat.com>
- 
- 	For PR java/6005 and PR java/7611:
- 	* fold-const.c (fold_truthop): Use can_use_bit_fields_p.
- 	(fold): Likewise.
- 	* langhooks.c (lhd_can_use_bit_fields_p): New function.
- 	* langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
- 	(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
- 	(LANG_HOOKS_INITIALIZER): Use it.
- 	* langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
- 	field.
- 
- 2002-08-21  Stan Shebs  <shebs@apple.com>
- 
- 	* tree.c (finish_vector_type): Fix a typo in a comment.
- 	* Makefile.in: Fix "the the" stutters in comments.
- 	* genautomata.c: Ditto.
- 	* ifcvt.c: Ditto.
- 	* regrename.c: Ditto.
- 	* config/alpha/alpha.c: Ditto.
- 	* config/alpha/vms-crt0-64.c: Ditto.
- 	* config/alpha/vms-crt0.c: Ditto.
- 	* config/alpha/vms-psxcrt0-64.c: Ditto.
- 	* config/alpha/vms-psxcrt0.c: Ditto.
- 	* config/d30v/d30v.h: Ditto.
- 	* config/fr30/fr30.h: Ditto.
- 	* config/rs6000/rs6000.c: Ditto.
- 	* config/stormy16/stormy16.h: Ditto.
- 	* doc/md.texi: Ditto.
- 
- 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
- 
- 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (grokdeclarator): Make invalid combinations with long,
- 	short, signed or unsigned into hard errors.  Fixes PR c/4319.
- 	Also make duplicate modifiers such as "short short" into hard
- 	errors.
- 
- 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
- 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
- 	to the actual end.  Add '@end table' and '@table @code'.
- 
- 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/tm.texi (Label Output): Add missing '@end deftypefn'.
- 
- 	* unroll.c (biv_total_increment): Don't try to compute the total
- 	increment for FP BIVs.
- 
- 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
- 	* alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
- 	ASM_OUTPUT_ALIGNED_BSS): Use target hook.
- 	* alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
- 	* alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
- 	* arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
- 	(GLOBAL_ASM_OP): Define.
- 	* arm.c (aof_globalize_label): New function.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
- 	* arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
- 	* c4x.c (c4x_globalize_label): New function.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
- 	* c4x.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 	* cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
- 	* darwin-protos.h (darwin_globalize_label): Declare.
- 	* darwin.c (darwin_globalize_label): New function.
- 	* darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
- 	(ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
- 	* dsp16xx.c (asm_output_common): Use target hook.
- 	* elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
- 	* frv.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 	* i370.c (i370_globalize_label): New function.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
- 	* i370.h (ASM_GLOBALIZE_LABEL): Delete.
- 	* i386.c (ix86_asm_file_end): Use target hook.
- 	* i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
- 	* ia64.c (ia64_asm_output_external): Likewise.
- 	* ia64/sysv4.h: Update comment.
- 	* m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
- 	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
- 	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
- 	* mmix-protos.h (mmix_asm_globalize_label): Delete.
- 	* mmix.c (mmix_asm_globalize_label): Likewise.
- 	* mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
- 	(GLOBAL_ASM_OP): Define.
- 	* ns32k.c (ns32k_globalize_label): New function.
- 	* ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
- 	(ASM_GLOBALIZE_LABEL): Delete.
- 	* pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Undefine.
- 	* pa.c (pa_globalize_label): New function.
- 	* pa.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
- 	* rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Undef.
- 	* rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
- 	* rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 	* v850.c (v850_output_aligned_bss): Use target hook.
- 	* vax.c (vms_globalize_label): New function.
- 	(TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
- 	* vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 	* defaults.h (ASM_GLOBALIZE_LABEL): Delete.
- 	* doc/tm.texi: Update docs.
- 	* dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
- 	target hook.
- 	* final.c (output_alternate_entry_point): Likewise.
- 	* hooks.c (hook_FILEptr_constcharptr_void): New function.
- 	* hooks.h (hook_FILEptr_constcharptr_void): Declare.
- 	* output.h (assemble_global): Delete.
- 	(default_globalize_label): Declare.
- 	* system.h (ASM_GLOBALIZE_LABEL): Poison.
- 	* target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
- 	(TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
- 	* target.h (gcc_target): Add globalize_label member.
- 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
- 	globalize_decl): Use target hook.
- 	(assemble_global): Delete.
- 	(default_globalize_label): New function.
- 
- 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
- 
- 2002-08-20  Devang Patel  <dpatel@apple.com>
- 	* tree.c (get_qualified_type): Add TYPE_CONTEXT check.
- 
- 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arc.c (output_shift): Use stdio instead of asm_fprintf.
- 	* arm.c (thumb_output_function_prologue): Likewise.
- 	* avr.c (print_operand): Likewise.
- 	* c4x.c (c4x_print_operand): Likewise.
- 	* c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
- 	ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
- 	* cris.c (cris_target_asm_function_prologue,
- 	cris_asm_output_mi_thunk): Likewise.
- 	* h8300.c (print_operand): Likewise.
- 	* h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- 	* ip2k.c (print_operand): Likewise.  Fix format specifier.
- 	* m68hc11.c (asm_print_register, print_operand,
- 	print_operand_address): Use stdio instead of asm_fprintf.
- 	(print_operand_address): Fix format specifier.
- 	* m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
- 	ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
- 	asm_fprintf.
- 	* m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	* m68k.c (m68k_output_function_prologue,
- 	m68k_output_function_epilogue, print_operand): Likewise.
- 	* mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
- 	Likewise.  Fix format specifier.
- 	* mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- 	* mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- 	* v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- 
- 2002-08-15  Eric Christopher  <echristo@redhat.com>
- 	    Jeff Knaggs  <jknaggs@redhat.com>
- 
- 	* config.gcc (mipsisa64sr71k-elf): New target.
- 	* config/mips/sr71k.md: New file.
- 	* config/mips/mips.md: Use it.
- 	(rot*): Add sr71k specifics.
- 	* config/mips/t-sr71k: New file.
- 	* config/mips/mips.h (sr71k): New cpu.
- 	(TARGET_SR71K): Use it.
- 	(TUNE_SR71K): Ditto.
- 	(GENERATE_BRANCHLIKELY): Ditto.
- 	(ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
- 	ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
- 	* config/mips/mips.c (sr71k): New cpu.
- 	(mips_use_dfa_pipeline_interface): Use.
- 
- 2002-08-15  Eric Christopher  <echristo@redhat.com>
- 	    Richard Sandiford <rsandifo@redhat.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 	    Graham Stott    <grahams@redhat.com>
- 	    Michael Meissner  <meissner@redhat.com>
- 	    Gavin Romig-Koch  <gavin@redhat.com>
- 	    Ken Raeburn  <raeburn@cygnus.com>
- 	    Alexandre Oliva <aoliva@redhat.com>
- 
- 	* config.gcc (mips64vr-elf): New target.
- 	* config/mips/5400.md: New file.
- 	* config/mips/5500.md: Ditto.
- 	* config/mips/mips.md: Use them.
- 	(frsqrt): New.
- 	* config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
- 	cpus.
- 	(mips_issue_rate): Use them.
- 	(mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
- 	(TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
- 	* config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
- 	cpus.
- 	(TARGET_MIPSx): Use them.
- 	(TUNE_MIPSx): Ditto.
- 	(GETNATE_MULT3_SI): Ditto.
- 	(ISA_HAS_BRANCHLIKELY): Ditto.
- 	(ISA_HAS_CONDMOVE): Ditto.
- 	(ISA_HAS_NMADD_NMSUB): Ditto.
- 	(ISA_HAS_MULHI): New. Ditto.
- 	(ISA_HAS_MULS): Ditto.
- 	(ISA_HAS_MSAC): Ditto.
- 	(ISA_HAS_MACC): Ditto.
- 	(ISA_HAS_ROTR_SI): Ditto.
- 	(ISA_HAS_ROTR_DI): Ditto.
- 	(RTX_COSTS): Use.
- 
- 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
- 	at head.
- 	(remove_dup_nonsys_dirs): New function.
- 	(remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
- 	(merge_include_chains): Remove non-system include directories from
- 	quote and bracket include chains when they duplicate equivalent system
- 	directories.
- 	* doc/cpp.texi (-I): Update.
- 	* doc/cppopts.texi (-I): Update.
- 	* doc/install.texi (--with-local-prefix): Further document usage of
- 	this option.
- 	* doc/invoke.texi (-I): Update.
- 
- 2002-08-20  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
- 	(emit_block_move): Split out subroutines.
- 	(emit_block_move_via_movstr): New.
- 	(emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
- 	(emit_block_move_libcall_fn): New.  Construct function prototype for
- 	bcopy as well.
- 	(clear_storage): Split out subroutines.
- 	(clear_storage_via_clrstr): New.
- 	(clear_storage_via_libcall): New. Emit bzero as a normal call also.
- 	(clear_storage_libcall_fn): New.  Construct function prototype for
- 	bzero as well.
- 	(emit_push_insn): Use emit_block_move.
- 	(expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
- 	(store_constructor): Likewise.
- 
- 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (building_objc_message_expr): Rename to
- 	current_objc_message_selector.
- 
- 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* objc/objc-act.c (build_ivar_chain): Remove.
- 	(objc_copy_list): Likewise.
- 	(get_class_ivars): Inline call to removed build_ivar_chain
- 	function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
- 	slot; use that slot (rather than CLASS_IVARS) when accessing
- 	ivars for base classes.  Call copy_list and chainon instead of
- 	objc_copy_list.
- 	(build_private_template): Call get_class_ivars instead of
- 	build_ivar_chain.
- 	(start_class): Allocate room for the CLASS_OWN_IVARS slot.
- 	(continue_class): Call get_class_ivars instead of
- 	build_ivar_chain.
- 	(encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
- 	of DECL_BIT_FIELD (which may have been cleared).
- 	* objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
- 
- 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genautomata.c (output_translate_vect, output_state_ainsn_table,
- 	output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
- 	in output file.
- 	(output_internal_min_issue_delay_func): Initialize variable in
- 	output file.
- 
- 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
- 	(stage2_build, stage3_build, stage4_build): Likewise, to CC.
- 
- 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
- 	    Steve Ellcey  <sje@cup.hp.com>
- 
- 	* machmode.h (SCALAR_INT_MODE_P): New macro to test for
- 	scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
- 	* explow.c (trunc_int_for_mode): Abort when the mode is not
- 	a scaler integer mode.
- 	* combine.c (expand_compound_operation): Don't expand Vector
- 	or Complex modes into shifts.
- 	(expand_field_assignment): Don't do bitwise arithmatic and
- 	shifts on Vector or Complex modes.
- 	(simplify_comparison): Don't call trunc_int_for_mode
- 	for VOIDmode.
- 	* recog.c (general_operand): Likewise.
- 	(immediate_operand): Likewise.
- 	(nonmemory_operand): Likewise.
- 
- 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
- 	multi-instruction SImode constant.  Add REG_EQUAL note.
- 	* config/rs6000/rs6000.md (movsi splitter): Use
- 	rs6000_emit_set_const.
- 
- 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* tree-inline.c (initialize_inlined_parameters): Wrap variable in
- 	the macro test controlling its use.
- 
- 2002-08-18  H.J. Lu  (hjl@gnu.org)
- 
- 	* config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
- 	crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
- 	gnu_ld=yes.
- 	(alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
- 	i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
- 	s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
- 	xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
- 	here.
- 	(cris-*-linux*): Remove setting thread_file here.
- 
- 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7602
- 	* cppinit.c (path_include): Treat the system environment
- 	variables as being cxx_aware.
- 
- 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* c-decl.c (flexible_array_type_p): New function.
- 	(grokdeclarator, finish_struct): Use it.
- 	* doc/extend.texi: Document constraints on use of structures with
- 	flexible array members.
- 
- 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
- 	config/mips/t-r3900 (MULTILIB_MATCHES): Define.
- 	* config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
- 
- 2002-08-16  Stan Shebs  <shebs@apple.com>
- 
- 	* c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
- 	for ObjC with -fnext-runtime.
- 	* doc/cpp.texi: Document it.
- 
- 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Final installation): Replace links to individual
- 	build status pages with a link to a common page that lists them all.
- 
- 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
- 
- 	* doc/invoke.texi: Fix typo.
- 
- 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
- 
- 2002-08-16  Andrew Haley  <aph@redhat.com>
- 
- 	* tree-inline.c: Add includes for Java inliner.
- 	(remap_decl): Don't handle anonymous types for Java.
- 	(remap_block): Add handling for Java trees.
- 	(copy_scope_stmt): Conditionalize for non-Java use only.
- 	(copy_body_r): Handle Java trees.  Add handling for
- 	LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
- 	(initialize_inlined_parameters):  Handle Java trees.
- 	(declare_return_variable): Likewise.
- 	(expand_call_inline): Handle Java trees.
- 	(walk_tree): Likewise.
- 	(copy_tree_r): Don't handle SCOPE_STMTs for Java.
- 	(add_stmt_to_compound): New function.
- 
- 2002-08-15  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (LOOSE_WARN): Remove -fno-common.
- 	(NOCOMMON_FLAG): New substitution point.
- 	(GCC_WARN_CFLAGS): Include it.
- 	* configure.in (ac_checking): Set nocommon_flag.
- 	(nocommon_flag): New substitution point.
- 
- 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* c-tree.h (skip_evaluation): Move declaration...
- 	* c-common.h: ... here.
- 	* c-typeck.c (build_external_ref): Don't assemble_external nor
- 	mark a tree as used if skip_evaluation is set.
- 	* c-parse.in (typeof): New non-terminal to set skip_evaluation
- 	around TYPEOF.
- 	(typespec_nonreserved_nonattr): Use it.
- 
- 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
- 	(xcoff_debug_hooks): Update end_prologue.
- 	* debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
- 	* debug.h (end_prologue): Add file arg.
- 	(end_epilogue): Add line and file args.
- 	(dwarf2out_end_epilogue): Add line and file args.
- 	(vmsdbgout_after_prologue): Remove.
- 	* dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
- 	(dwarf2_debug_hooks): Update end_prologue.
- 	* dwarfout.c (dwarfout_end_epilogue): Add line and file args.
- 	(dwarfout_end_prologue): Add file arg.
- 	* final.c (vmsdbgout_after_prologue): Remove
- 	(final_end_function): Update end_epilogue call.
- 	(final_scan_insn): Update end_prologue call.
- 	* sdbout.c (sdbout_end_epilogue): Add line and file args.
- 	(sdbout_end_prologue): Add file arg.
- 	(sdb_debug_hooks): Update end_prologue.
- 	(sdb_begin_prologue): Update sdbout_end_prologue call.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
- 	vmsdbgout_end_function.
- 	(vmsdbgout_end_prologue): New function renamed from
- 	vmsdbgout_after_prologue. Call vmsdbgout_source_line.
- 	(vmsdbgout_end_function): New function.
- 	(vmsdbgout_end_epilogue): Add line and file args. Call
- 	vmsdbgout_source_line.
- 	(write_pclines): Write only valid line numbers.
- 	(write_srccorr): Don't write source correlation records if 0 lines.
- 	* xcoffout.c (xcoffout_end_epilogue): Add line and file args.
- 
- 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
- 	(_Unwind_Internal_Ptr): 32 bit version for use in
- 	read_encoded_value_with_base.
- 	* gcc/unwind-pe.h (read_encoded_value_with_base): Use
- 	_Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
- 	right size.
- 
- 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
- 	signed/unsigned warnings.
- 
- 	* regclass.c (init_reg_sets_1, choose_hard_reg_mode,
- 	record_reg_classes): Likewise.
- 
- 	* reload.c (reload_inner_reg_of_subreg, push_reload,
- 	find_reloads_address_1): Likewise.
- 
- 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (output_mi_thunk): Return to function section on
- 	TARGET_ELF.
- 
- 	* rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
- 
- 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (legitimize_address): Optimize loading
- 	of large displacements.
- 
- 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/alpha-protos.h: Update.
- 
- 	* config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
- 	(alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
- 	(alpha_linkage_symbol_p): New static function.
- 	(print_operand_address): Print linkage operand.
- 
- 	(alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
- 	variables.
- 	(reloc_kind): New enum.
- 	(struct alpha_funcs): New struct.
- 	(struct alpha_links): Add reloc_kind field. Rename links_kind field.
- 
- 	(alpha_need_linkage): Rewrite.
- 	(alpha_use_linkage): New global function.
- 	(alpha_write_linkage): Rewrite and make static.
- 	(alpha_write_one_linkage): Rewrite
- 
- 	(alpha_start_function): Remove procedure descriptor output.
- 	(alpha_end_function): Write linkages at end of each function.
- 
- 	* config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
- 	(call_vms_1, call_value_vms_1): Rewrite.
- 
- 	* config/alpha/vms.h (ASM_FILE_END): Remove.
- 
- 2002-08-14  Richard Henderson  <rth@redhat.com>
- 
- 	* ggc-page.c (RTL_SIZE): New.
- 	(extra_order_size_table): Add specializations for 2 and 10 rtl slots.
- 	* rtl.def (BARRIER, NOTE): Pad to 9 slots.
- 
- 2002-08-14  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c: Include target.h.
- 	* Makefile.in (calls.o): Update.
- 
- 	* config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
- 	* config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
- 
- 2002-08-14  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (LOOSE_WARN): Add -fno-common.
- 	* c-common.h (constant_string_class_name): Add missing extern.
- 
- 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7358
- 	* c-opts.c (check_deps_environment_vars): Ignore main file
- 	for SUNPRO_DEPENDENCIES.
- 	* cppfiles.c (stack_include_file): Ignore main file if
- 	appropriate.
- 	* cpplib.h (struct cpp_options): New member in deps.
- 	* doc/cppenv.texi: Update.
- 
- 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7526
- 	* cpplib.c (run_directive): Kludge so _Pragma dependency works.
- 
- 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/invoke.texi (-a): Remove documentation.
- 	(-fprofile-arcs): Remove reference to -a, -ax options.
- 	* doc/gcov.texi (Gcov Data Files): Data might be merged.
- 
- 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	Fix PR/7566
- 	* c-semantics.c (genrtl_case_label): Don't (mis)use
- 	warning_with_decl.
- 
- 2002-08-14  Dale Johannesen  <dalej@apple.com>
- 
- 	* explow.c (emit_stack_restore):  Emit memory clobbers
- 	preceding the stack pop, to prevent the scheduler from
- 	moving refs to variable arrays below this pop.
- 	* reload1.c (reload):  Preserve these clobbers for sched2.
- 	* doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
- 
- 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_post_options): Correct test.
- 
- 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
- 	order in call to fprintf.
- 
- 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
- 
- 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads): Handle constraint letters marked by
- 	EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
- 	(alternative_allows_memconst): Likewise.
- 	* reload1.c (maybe_fix_stack_asms): Likewise.
- 	* recog.c (asm_operand_ok, preprocess_constraints,
- 	constrain_operands): Likewise.
- 	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
- 	* local-alloc.c (block_alloc, requires_inout): Likewise.
- 	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
- 
- 	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
- 	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
- 	* doc/tm.texi: Document these two new target macros.
- 
- 	* config/s390/s390.c (s390_expand_plus_operand): Accept already
- 	valid operands.
- 	(q_constraint): New function.
- 	config/s390/s390-protos.h (q_constraint): Declare it.
- 	config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
- 	(EXTRA_MEMORY_CONSTRAINT): New macro.
- 
- 	* config/s390/s390.md: Throughout the machine description,
- 	replace all instances of the constraint combinations 'Qo'
- 	or 'oQ' with simply 'Q'.
- 
- 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
- 	* config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
- 	(LIBGCC2_CFLAGS): Compile with -mrelax.
- 
- 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* doc/invoke.texi: Document -minmax for 68HC12.
- 
- 	* config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
- 	("uminqi3"): Likewise.
- 	("uminhi3", "umaxhi3"): Likewise.
- 
- 	* config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
- 	(TARGET_MIN_MAX): Define.
- 	(TARGET_SWITCHES): New option -minmax/-mnominmax.
- 
- 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
- 	(MULTILIB_OPTIONS): Must also generate for -mlong-calls.
- 
- 	* config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
- 	(ret, declare, farsym): New gas macros.
- 	(__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
- 	___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
- 	and declare the symbol far when compiled with -mlong-calls.
- 	(__far_trampoline): New for 68HC12 trampoline code to invoke a
- 	far handler using jsr/bsr.
- 
- 	* config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
- 	(jsr): New macro to transform a 'jsr' into a 'call'.
- 
- 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* doc/invoke.texi: Document -mlong-calls for 68HC12.
- 
- 	* config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
- 	-mlong-calls is specified.
- 	(ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
- 	assembler directives.
- 	(TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
- 	(TARGET_SWITCHES): Add -mlong-calls options.
- 	(current_function_far): Declare.
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
- 	into account the page register saved on the stack.
- 	(m68hc11_override_options): Take into account -mlong-calls option.
- 	(m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
- 
- 	* config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
- 	if the function is going to be in 68HC12 banked memory (-mlong-calls).
- 	("*return_16bit"): Likewise.
- 	("*return_void"): Likewise.
- 	("call", "call_value"): Use call for a far function call.
- 
- 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* toplev.c (parse_options_and_default_flags): Don't call
- 	post_options here.
- 	(general_init): Initialize GC, pools and tree hash here,
- 	instead of lang_independent_init.
- 	(lang_independent_init): Rename backend_init.
- 	(do_compile): Call post_options hook; exit early if there
- 	have been errors after switch processing.
- 	(toplev_main): Update.
- 
- 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-pretty-print.h: Guard against multiple inclusion.
- 	Robustify macros.
- 	(pp_c_attributes): Declare.
- 	* c-pretty-print.c (pp_c_attributes): New function.
- 
- 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68k.c (m68k_output_function_prologue,
- 	m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
- 	and NEWS/MOTOROLA.
- 	* genattrtab.c: Remove dpx2 comment.
- 	* libgcc2.c (__enable_execute_stack): Delete versions for
- 	NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
- 	sony_news/SYSTYPE_BSD.
- 	* longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
- 	__gmicro__, __i860__, __NeXT__ and __pyr__.
- 	* rtl.h: Remove convex comment.
- 	* varasm.c: Likewise.
- 
- 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-opts.c (lang_flags): Const-ify.
- 	* ra-build.c (undef_table): Likewise.
- 	* ra.c (eliminables): Likewise.
- 
- 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* tree.h: Guard against multiple inclusion.
- 
- 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* reload1.c (reload_cse_simplify): Before checking
- 	REG_FUNCTION_VALUE_P, check REG_P.
- 
- 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
- 
- 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_init_options): Extra braces needed.
- 
- Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_init_builtins): Add PARAMS to declaration.
- 	(sh_media_init_builtins, sh_expand_builtin): Likewise.
- 	(sh_expand_unop_v2sf): Use PARAMS for variable declaration.
- 	(sh_expand_binop_v2sf): Likewise.
- 	* sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
- 	(sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
- 	(sh_initialize_trampoline): Likewise.
- 
- 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
- 	new condition code modes.
- 	s390.c (s390_match_ccmode_set): Handle those new CC modes.
- 	(s390_select_ccmode): Likewise.
- 	(s390_branch_condition_mask): Likewise.
- 
- 	* s390-protos.h (s390_tm_ccmode): Declare.
- 	s390.c (s390_tm_ccmode): New function.
- 	(s390_match_ccmode): Allow VOIDmode as REQ_MODE.
- 
- 	* s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
- 	("*cmpsi_tm2"): Rename to "*tmsi_ext".
- 	("*cmpqi_tm2"): Rename to "*tmqi_ext".
- 
- 	("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
- 	"*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
- 	"*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
- 	("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
- 	"*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
- 
- 	("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
- 	"*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
- 	"*cmpqi_ccs_0"): Remove, replace by ...
- 	("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
- 	"*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
- 	"*tstqi", "*tstqi_cconly"): ... these new patterns.
- 
- 	("*cmpsidi_ccs"): Remove, replace by ...
- 	("*cmpsi_ccs_sign"): ... this new pattern.
- 	("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
- 
- 	("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
- 	("*cli"): ... this new pattern.
- 
- 	("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
- 	"*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
- 	New patterns.
- 	("adddi3_64"): Rename to "*adddi3_64".
- 	("adddi3_31"): Replace by insn and splitter "*adddi3_31".
- 	("adddi3"): Adapt expander.
- 
- 	("*addsi3_cc"): Allow "general_operand" for operand 2.
- 	("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
- 	"*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
- 
- 	("addhi3", "addqi3"): Remove, replace by ...
- 	("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
- 
- 	("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
- 	"*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
- 	("subdi3"): Replace by insn and splitter "*subdi3_31".
- 	("subdi3"): New expander.
- 
- 	("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
- 
- 	("subhi3", "subqi3"): Remove, replace by ...
- 	("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
- 
- 	("*muldi3_sign"): New pattern.
- 	("muldi3"): Do not clobber CC.
- 	("mulsi3"): Likewise.
- 	("mulsi_6432"): Likewise.
- 
- 2002-08-13  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
- 	which can change CC0.
- 
- Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* gcse.c (adjust_libcall_notes): New function.
- 	(do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
- 
- 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* libgcc2.c (L_bb): Remove unneeded #includes.
- 	(__global_counters, __gthreads_active): Remove unused globals.
- 	(__bb_exit_func): Merge counts into files rather than appending.
- 	* Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
- 	(ALL_CFLAGS): ... to here.
- 
- 2002-08-13  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/ip2k/ip2k.c (commands_in_file): Variable removed.
- 	(function_epilogue): Don't calculate function size.
- 	(ip2k_set_compare): Don't use lookup_const_double.
- 	(asm_file_start): Initialization of commands_in_file removed.
- 	(asm_file_end): Output of commands_in_file removed.
- 
- 	* config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
- 	__INT_MAX__.
- 
- 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_init_options): Check option array is
- 	sorted if checking enabled.
- 
- 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-pretty-print.c: #include "c-tree.h".
- 	(pp_c_simple_type_specifier): Tweak.
- 	(pp_c_storage_class_specifier): New.
- 	(pp_c_function_specifier): Likewise.
- 	(pp_c_declaration_specifiers): Likewise.
- 	(pp_c_init_declarator): Likewise.
- 	(pp_c_declaration): Likewise.
- 	(pp_c_direct_declarator): Stub.
- 	(pp_c_declarator): Likewise.
- 	(pp_c_parameter_declaration): Likewise.
- 
- 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
- 	handle_deferred_opts, sanitize_cpp_opts, defer_opt,
- 	struct deferred_opt): New.
- 	(COMMAND_LINE_OPTIONS): Add -M*.
- 	(missing_arg): Update.
- 	(c_common_decode_option): Handle -M*.
- 	(c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
- 	don't call cpp_post_options.
- 	(c_common_finish, check_deps_environment_vars): Update.
- 	* cppfiles.c (stack_include_file, handle_missing_header): Update.
- 	* cpphash.h (CPP_PRINT_DEPS): Remove.
- 	* cppinit.c: Don't include version.h.
- 	(cpp_create_reader): Don't call deps_init.  Initialize
- 	warn_long_long.
- 	(cpp_read_main_file): Init deps if necessary.
- 	(cpp_destroy): Conditionally free deps.
- 	(cpp_finish): Update.
- 	(no_tgt): Remove.
- 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
- 	(cpp_post_options): Rename post_options.
- 	* cpplib.h (struct cpp_options): Remove some dependency options;
- 	move others to a new structure.
- 	(cpp_post_options): Remove.
- 	(cpp_finish): Comment.
- 	* fix-header.c (read_scan_file): Don't call cpp_post_options.
- 
- 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
- 	("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
- 	MMIX_rR_REGNUM as clobbered.
- 	* config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
- 
- 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* diagnostic.h (output_formatted_scalar): Rename from
- 	output_formatted_integer.
- 	* diagnostic.def: Add DK_DEBUG.
- 	* diagnostic.c (output_decimal): Adjust.
- 	(output_long_decimal): Likewise.
- 	(output_unsigned_decimal): Likewise.
- 	(output_octal): Likewise.
- 	(output_long_octal): Likewise.
- 	(output_hexadecimal): Likewise.
- 	(output_long_hexadecimal): Likewise.
- 	* c-pretty-print.c (pp_c_type_specifier): New function.
- 	(pp_c_specifier_qualifier_list): Likewise.
- 	(pp_c_abstract_declarator): Likewise.
- 	(pp_c_char): Replace pp_format_integer with pp_format_scalar.
- 
- 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/trouble.texi (Disappointments): Add static constructor and
- 	destructor dependency information for AIX.
- 
- 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (struct printer): New from cppmain.c.
- 	(cpp_reader): New member.
- 	* cppmain.c (struct printer): Move to cpphash.h.
- 	(options, print): Remove.
- 	(account_for_newlines, print_line, maybe_print_line,
- 	cpp_preprocess_file, setup_callbacks, scan_translation_unit,
- 	scan_translation_unit_trad, cb_line_change, cb_ident,
- 	cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
- 	cb_def_pragma): Make reentrant.
- 
- 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* real.c (ieee_64): Always define.
- 	(ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
- 	(dec_h): Not used yet, hide it.
- 	(emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
- 	macro controlling use.
- 	(TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
- 
- Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (tablejump): Sign extend the operand.
- 	* i386.c (classify_argument): Fix missed case from previous patch.
- 
- 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
- 	to c-copts.c.
- 	(warn_multichar): Die.
- 	(cb_register_builtins): Export.
- 	* c-common.h (warn_multichar, preprocess_file): Remove.
- 	(cb_register_builtins): New.
- 	* c-lang.c (c_init): Remove.
- 	(LANG_HOOKS_INIT): Use c_objc_common_init.
- 	* c-lex.c (init_c_lex): Don't canonicalize filename.
- 	* c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
- 	(preprocess_file): Make static.  Update for cpplib.
- 	(c_common_decode_option): Remove warn_multichar.  Use in_fname.
- 	(c_common_post_options): Set some cpp options here.
- 	(c_common_init): Move from c-common.c.
- 	* cppinit.c (cpp_post_options): Don't canonicalize in_fname.
- 	* cpplib.h (struct cpp_options): Remove in_fname.
- 	(cpp_preprocess_file): Update.
- 	* cppmain.c (cpp_preprocess_file): Update for new prototypes.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config.gcc (mips*-*-netbsd*): Include ${tm_file}.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
- 	backslash in comment preceeding macro definition.
- 	* i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
- 	* i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
- 	* i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
- 
- 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* expr.c (store_expr): In condition for checking if value is
- 	generated in TARGET, move call to expr_size last.
- 
- 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (c_common_init): Call preprocess_file instead.
- 	(c_common_finish): Move to c-opts.c.
- 	* c-common.h (preprocess_file): new.
- 	* c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
- 	check_deps_environment_vars, c_common_finish): New.
- 	(c_common_decode_option): Update for out_fname and dependencies.
- 	* cppinit.c (init_dependency_output, output_deps): Remove.
- 	(cpp_destroy): Update prototype.
- 	(cpp_add_dependency_target): New.
- 	(cpp_read_main_file): Don't overlay a buffer.
- 	(cpp_finish): Take a deps output stream and write deps to it.
- 	Return the error count.
- 	(cpp_post_options): Don't canonicalize out_fname, or do anything
- 	with dependencies.
- 	* cpplib.h (struct cpp_options): Remove out_fname and
- 	preprocess_only.
- 	(cpp_add_dependency_target): New.
- 	(cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
- 	* cppmain.c (cpp_preprocess_file): Update prototype.  Don't
- 	set preprocess_only.  Don't handle the output stream directly.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dsp16xx.c (print_operand): Fix format specifier.
- 	* dsp16xx.md: Avoid automatic aggregate initialization.
- 	* frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
- 	* h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
- 	integer constant modifier.
- 	* ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
- 	* mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
- 	guards.
- 	* sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
- 	* v850.c (v850_select_section): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* global.c (global_alloc): Const-ify.
- 	* ra-colorize.c (hardregset_to_string): Fix format specifier.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* darwin-c.c (darwin_pragma_options): Const-ify.
- 	* darwin.c (machopic_non_lazy_ptr_name,
- 	machopic_validate_stub_or_non_lazy_ptr): Likewise.
- 	(machopic_indirect_data_reference): Wrap variables in macros
- 	controlling their use.
- 	(machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
- 	(machopic_select_section): Use parentheses around && within ||.
- 	* i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
- 	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
- 	ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
- 	ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
- 	mdr_try_remove_redundant_insns, track_w_reload,
- 	mdr_try_wreg_elim): Make function static to match prototype.
- 	* mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
- 	parameter with ATTRIBUTE_UNUSED.
- 
- 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arc.c (arc_init): Don't use ISO C style function definitions.
- 	* arm.c (count_insns_for_constant, thumb_far_jump_used_p,
- 	arm_get_strip_length, arm_strip_name_encoding): Likewise.
- 	* avr.h (progmem_section): Likewise.
- 	* h8300.c h8300_asm_insn_count): Likewise.
- 	* m32r.c (init_idents): Likewise.
- 	* s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
- 	* sh.c (sh_cfun_interrupt_handler_p): Likewise.
- 	* xtensa.c (xtensa_build_va_list): Likewise.
- 
- 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
- 	* c-opts.c (parse_option): Rename find_opt.
- 	(set_std_c99): New function.
- 	(COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
- 	(missing_arg): Remove OPT_std_bad.  Handle -o.
- 	(c_common_decode_option): Handle input and output file names,
- 	-o and -remap.	Clean up -std= handling.
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
- 	(cpp_handle_option): Similarly.  Don't handle filenames.
- 
- Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (classify_argument): Fix computing of field's offsets.
- 
- 2002-08-11  Andreas Jaeger  <aj@suse.de>
- 
- 	PR target/7531:
- 	* doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
- 
- 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
- 	reference to clk_objective_c with flag_objc.
- 	* config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
- 	Likewise.
- 	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
- 
- 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (set_std_cxx98, set_std_c89): New.
- 	(COMMAND_LINE_OPTIONS): Move more from cppinit.c.
- 	(c_common_decode_option): Handle new switches from cppinit.c.
- 	Add -std=gnu++98.
- 	* cppinit.c (set_lang): Rename cpp_set_lang.  Export.
- 	(no_arg, no_num): Remove.
- 	(COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
- 	switches apart from -lang-objc and lang-asm.
- 	(cpp_handle_option): Similarly.
- 	* cpplib.h (cpp_set_lang): New.
- 	* doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
- 	-std=gnu++98.
- 	* objc/lang-specs.h: Remove -ansi.
- 
- Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 			       Graham Stott
- 
- 	* cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
- 	errors.
- 
- 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
- 	emit_jump_insn): Fix uninitialized variable.
- 	* gcov.c (init_line_info): Likewise.
- 	* genautomata.c (transform_3): Add braces around ambiguous
- 	else.
- 	* ifcvt.c (cond_exec_process_insns): Mark parameter with
- 	ATTRIBUTE_UNUSED.
- 	* ra-build.c (parts_to_webs_1): Fix uninitialized variable.
- 	* regrename.c (copyprop_hardreg_forward): Fix uninitialized
- 	variable.
- 
- 	* gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
- 	warnings in output files.
- 
- 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-common.c (flag_objc): New.
- 	* c-common.h (c_language_kind): Get rid of clk_objective_c
- 	enum value.
- 	(flag_objc): New extern declaration.
- 	* c-decl.c (implicitly_declare): Call objc_check_decl
- 	instead of maybe_objc_check_decl.
- 	(finish_decl): Likewise.
- 	(grokfield): Likewise.
- 	(finish_struct): Likewise.
- 	* c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
- 	(maybe_objc_comptypes): Rename to objc_comptypes.
- 	(maybe_building_objc_message_expr): Rename to
- 	objc_message_selector.
- 	* c-lex.c (lex_charconst): Remove uses of clk_objective_c,
- 	replace with flag_objc as needed.
- 	* c-opts.c (c_common_init_options): Likewise.
- 	(c_common_decode_option): Likewise.
- 	* c-parse.in (init_reswords): Likewise.
- 	* c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
- 	(maybe_objc_comptypes): Rename to objc_comptypes.
- 	(maybe_building_objc_message_expr): Rename to
- 	objc_message_selector.
- 	* c-typeck.c (comptypes): Call objc_comptypes instead of
- 	maybe_objc_comptypes, and/or objc_message_selector instead of
- 	maybe_building_objc_message_expr.
- 	(comp_target_types): Likewise.
- 	(convert_for_assignment): Likewise.
- 	(warn_for_assignment): Likewise.
- 	* cppinit.c (init_builtins): Set __OBJC__ manifest constant
- 	independently of those for other languages.
- 	* objc/objc-act.c (maybe_objc_comptypes): Delete.
- 	(maybe_objc_check_decl): Delete.
- 	(maybe_building_objc_message_expr): Rename to
- 	objc_message_selector.
- 	* objc/objc-lang.c (objc_init_options): Use clk_c instead of
- 	clk_objective_c; set flag_objc flag.
- 
- 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
- 
- 	* ifcvt.c (find_if_case_2): Test correct basic block for size.
- 
- 2002-08-09  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.md: Add sibcall patterns.
- 	* config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
- 	* config/rs6000/rs6000.c (rs6000_ra_ever_killed):
- 	Rewritten to handle sibcalls.
- 	* config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
- 	* config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
- 
- 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* profile.c (da_file_name): New static var.
- 	(init_branch_prob): Initialize it.
- 	(end_branch_prob): Remove da file.
- 
- 	* Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
- 	* configure.in (coverage_flags): Default to nothing.
- 	* configure: Rebuilt.
- 
- 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-opts.o): Update
- 	* c-opts.c: Include intl.h.
- 	(print_help): Move from cppinit.c.  Remove unused options.
- 	(COMMAND_LINE_OPTIONS): Move more from cppinit.c.
- 	(missing_arg): Complain for switches without an argument.
- 	(c_common_decode_option): Reject missing joined arguments.
- 	Handle new switches from cppinit.c.
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
- 	(cpp_handle_option): Similarly.
- 	(print_help): Moved to c-opts.c.
- 	* cpplib.h (struct cpp_options): Remove help_only.
- 	* gcc.c (cpp_unique_options): Remove -$.
- 	* doc/cppopts.texi: Undocument -h.
- 
- 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
- 	legitimate constant.
- 	(legitimate_pic_operand_p): Neither pic operand.
- 	(legitimate_address_p): But legitimate address.
- 	(get_thread_pointer): Generate MEM/u instead of CONST around
- 	UNSPEC_TP.
- 	(print_operand): Remove printing of UNSPEC_TP.
- 	(print_operand_address): And print it here.
- 
- 2002-08-08  Devang Patel  <dpatel@apple.com>
- 
- 	* objc/objc-act.c (build_selector_translation_table): Issue warning,
- 	when  -Wselector is used,if method for which selector is being
- 	created does not exist.
- 
- 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
- 
- 	* config/sh/sh.c (prepare_move_operands): Only call
- 	target_reg_operand if TARGET_SHMEDIA.
- 
- 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.h, config/rs6000/aix.h,
- 	config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
- 	two patches.
- 	* config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
- 
- 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (gen_rtx_REG): After reload, only return
- 	frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
- 
- 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
- 	* config/rs6000/rs6000.c (rs6000_field_alignment): Move...
- 	* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
- 	macro.
- 
- 2002-08-08  Adam Nemet  <anemet@lnxw.com>
- 
- 	* config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
- 	register.
- 	(thumb_expand_prologue): Likewise.
- 	(thumb_output_function_prologue): Likewise.
- 	* config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
- 	the additional push of the PIC register.
- 
- 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* configure.in (enable_coverage): New enable switch.
- 	* configure: Rebuilt.
- 	* Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
- 	(INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
- 	(ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
- 	(mostlyclean): Remove coverage files.
- 	* doc/install.texi: Document enable_coverage.
- 
- 	* cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
- 	* ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
- 	* f/Make-lang.in (f.mostlyclean): Remove coverage files.
- 	* java/Make-lang.in (java.mostlyclean): Remove coverage files.
- 	* objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
- 	* treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
- 	files.
- 
- 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (cpp_opts): New.
- 	(COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
- 	(c_common_decode_options): Handle cpplib switches.
- 	(c_common_init_options): Set cpp_opts.
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
- 	(cpp_handle_option): Similarly.
- 
- 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
- 	(TARGET_ALTIVEC_ABI): Same.
- 	(TARGET_ALTIVEC_VRSAVE): Same.
- 
- 	* config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
- 	icode not CODE_FOR_nothing.  Change switch to if.
- 
- 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
- 
- 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stor-layout.c (place_union_field): For bitfields if
- 	PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
- 	TYPE_USER_ALIGN.
- 
- 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (struct deferred_plabel): Constify name field.
- 
- 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
- 
- 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
- 	local_prefix are the same.
- 	* configure: Rebuilt.
- 
- 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
- 	to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
- 	ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
- 	(place_field): Likewise.
- 	* config/i386/i386.c (x86_field_alignment): Don't check
- 	DECL_USER_ALIGN here.
- 	* config/rs6000/rs6000.c (rs6000_field_alignment): New.
- 	* config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
- 	prototype.
- 	* config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
- 	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
- 	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
- 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
- 	* config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
- 	* doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
- 
- 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
- 	* c-common.c: Don't include tree-inline.h.
- 	(c_common_init_options, c_common_post_options): Move to c-opts.c.
- 	* c-common.h (c_common_decode_option): New.
- 	* c-decl.c (c_decode_option): Remove.
- 	* c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
- 	* c-opts.c: New file.
- 	* c-tree.h (c_decode_option): Remove.
- 	* doc/passes.texi: Update.
- 	* objc/objc-act.c (objc_decode_option): Remove.
- 	* objc/objc-act.h (objc_decode_option): Remove.
- 	* objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
- 	c_common_decode_option.
- 
- 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
- 	dependency on TARGET_DOUBLE_FLOAT.
- 
- 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
- 
- 	* config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
- 	overwrite callee-save registers.  Fix comment.
- 
- 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
- 	in target_flags based on ISA, if it was not set on the command
- 	line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
- 	support Branch Likely instructions.
- 	* config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
- 	(TARGET_BRANCHLIKELY): Likewise.
- 	(TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
- 	(GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
- 	ISA_HAS_BRANCHLIKELY.
- 	(ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
- 	* doc/invoke.texi: Document new MIPS -mbranch-likely and
- 	-mno-branch-likely options.
- 
- 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ip2k.c (ip2k_set_compare): Add missing iteration variable.
- 
- 	* Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
- 	$(GCONFIG_H).
- 
- 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Error out for incompatible TLS
- 	declarations.
- 
- 	* testsuite/gcc.dg/tls/diag-3.c: New.
- 
- 2002-08-06  Dale Johannesen  <dalej@apple.com>
- 
- 	* c-common.c (fname_decl): Use line number 0 for
- 	__func__, to avoid confusing debuggers.
- 
- 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c: Tidy.
- 	(struct line_info, struct coverage): New structures.
- 	(gcov_file_name, gcov_file): Remove globals.
- 	(output_data): Take source file parameter. Fix memory leak. Break
- 	up into ...
- 	(init_line_info, output_line_info, make_gcov_file_name,
- 	accumulate_branch_counts): ... here.
- 	(calculate_branch_probs, function_summary): Adjust.
- 	(main): Adjust.
- 	(function_*): Remove global variables.
- 
- 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* dwarf2out.c: Remove unused macros.
- 
- 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* function.c (TRAMPOLINE_ALIGNMENT): Always defined.
- 
- 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppinit.c (struct lang_flags): Rename trigraphs std.
- 	(set_lang): Update.
- 	* cpplib.h (struct cpp_options): New member std.
- 	* cppmacro.c (_cpp_builtin_macro_text): Use std.
- 	(collect_args): Flag whether to swallow a possible future
- 	comma pasted with varargs.
- 	(replace_args): Use this flag.
- 	* doc/cpp.texi: Update varargs extension documentation.
- 
- 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
- 
- 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
- 	and MODE_CLASS_INT modes.
- 
- 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config.gcc (*-*-linux*): Default to --enable-threads=posix if no
- 	--{enable,disable}-threads is given to configure.
- 	(alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
- 	x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
- 	powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
- 	s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
- 	Remove thread_file setting here.
- 
- 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (Binaries): Update Bull Freeware URL.
- 
- 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/gcc.texi (Top): Rename Index to Keyword Index.
- 
- 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c (output_data): Round to % to nearest, tweak formatting.
- 
- 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
- 	of the operands into MINUS_EXPR if code is PLUS_EXPR.
- 
- 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
- 	* config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
- 	drectve_section): Define.
- 	* config/i386/t-interix: Replace interix.o rule with winnt.o.
- 	* config/i386/interix.c: Remove.
- 
- 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* attribs.c: Don't include obstack.h.
- 	* builtins.c: Likewise.
- 	* cfganal.c: Likewise.
- 	* cfgbuild.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* loop.c: Likewise.
- 	* stmt.c: Likewise.
- 
- 	* Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
- 
- 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
- 
- 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* doc/invoke.texi: Remove duplicated paragraph describing
- 	TARGET_SWITCHES.
- 
- 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
- 	* collect2.h (permanent_obstack): Delete declaration.
- 	* collect2.c (permanent_obstack): Delete definition.
- 	(main): Don't initialize permanent_obstack.  Use xstrdup instead.
- 	* expr.c: Don't include obstack.h.
- 	(permanent_obstack): Delete declaration.
- 	* function.c: Don't include obstack.h.
- 	(permanent_obstack): Delete declaration.
- 	* integrate.c: Don't include obstack.h.
- 	(function_maybepermanent_obstack): Delete declaration.
- 	* print-tree.c (debug_tree): Use x*alloc not permalloc.
- 	* sdbout.c (gen_fake_label): Use x*alloc not permalloc.
- 	* tlink.c (pfgets): Use xstrdup not permanent_obstack.
- 	* toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
- 	* tree.h: Rename init_obstacks to init_ttree.  Remove declarations
- 	of permalloc, expralloc, perm_calloc.
- 	* tree.c (permanent_obstack): Delete definition.
- 	(init_ttree): Rename from init_obstacks.
- 	(permalloc): Delete.
- 	(perm_calloc): Delete.
- 	(dump_tree_statistics): Don't print information about
- 	permanent_obstack.
- 	* varasm.c (assemble_start_function): Use xstrdup instead of
- 	permalloc/strcpy.
- 	(assemble_variable): Likewise.
- 	* config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
- 	permalloc.
- 	(unicosmk_add_extern): Likewise.
- 	* config/c4x/c4x.c (c4x_external_ref): Likewise.
- 	(c4x_global_label): Likewise.
- 	* config/frv/frv.c (frv_encode_section_info): Likewise.
- 	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
- 	(i386_pe_record_exported_symbol): Likewise.
- 	* config/mips/mips.c (mips_output_external): Likewise.
- 	(mips_output_external_libcall): Likewise.
- 	* config/pa/pa.c: (permanent_obstack): Delete declaration.
- 	(output_call): Use ggc_strdup instead of allocating on
- 	permanent_obstack.
- 	* config/romp/romp.c: Include ggc.h.
- 	(get_symref): Don't declare permanent_obstack, use ggc_strdup
- 	intead of permanent_obstack.
- 	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
- 	instead of permalloc.
- 	* config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
- 	instead of permalloc
- 	* config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
- 	instead of permalloc.
- 	* config/vax/vax.c (vms_check_external): Use xmalloc instead of
- 	permalloc.
- 
- 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
- 
- 	Contribute a port developed primarily by Michael Meissner,
- 	Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
- 	* config.gcc: Add frv-elf target.
- 	* config/frv/cmovd.c: New file.
- 	* config/frv/cmovh.c: New file.
- 	* config/frv/cmovw.c: New file.
- 	* config/frv/frv-abi.h: New file.
- 	* config/frv/frv-asm.h: New file.
- 	* config/frv/frv-modes.def: New file.
- 	* config/frv/frv-protos.h: New file.
- 	* config/frv/frv.c: New file.
- 	* config/frv/frv.h: New file.
- 	* config/frv/frv.md: New file.
- 	* config/frv/frvbegin.c: New file.
- 	* config/frv/frvend.c: New file.
- 	* config/frv/lib1funcs.asm: New file.
- 	* config/frv/media.h: New file.
- 	* config/frv/modi.c: New file.
- 	* config/frv/t-frv: New file.
- 	* config/frv/uitod.c: New file.
- 	* config/frv/uitof.c: New file.
- 	* config/frv/ulltod.c: New file.
- 	* config/frv/ulltof.c: New file.
- 	* config/frv/umodi.c: New file.
- 	* config/frv/xm-frv.h: New file.
- 
- 	* config/frv/media.h: Removed again.
- 
- 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c (bb_file_time): New static variable.
- 	(object_directory): May also be object file.
- 	(preserve_paths): New static variable.
- 	(print_usage): Adjust.
- 	(options): Adjust.
- 	(process_args): Adjust.
- 	(open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
- 	file. Find modification date on bb file.
- 	(read_profile): Don't rewind a NULL file.
- 	(format_hwint): New static function.
- 	(function_summary): Use format_hwint.
- 	(output_data): SOURCE_FILE_NAME is never relative to
- 	OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
- 	mangling. Adjust output format to make it more machine readable.
- 	* doc/gcov.texi: Document & clarify semantics.
- 
- 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
- 
- 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcc.c (cc1_options): Pass output file as auxbase when
- 	appropriate.
- 	* profile.c (init_branch_prob): FILENAME has already had ending
- 	stripped.
- 	* final.c (end_final): Likewise.
- 	* toplev.c (aux_base_name): New global.
- 	(compile_file): Pass aux_base_name to init init_branch_prob and
- 	end_final.
- 	(independent_decode_option, case 'a'): New auxinfo options.
- 	(case 'd'): Protect against mising basename.
- 	(do_compile): Initialize aux_base_name.
- 	* toplev.h (aux_base_name): New global.
- 	* doc/invoke.texi: Adjust documentation.
- 
- 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/i386/i386.c (x86_field_alignment): Remove duplicate test
- 	of TARGET_ALIGN_DOUBLE.
- 
- 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* diagnostic.c (inform): New function.
- 	* diagnostic.h (inform): Declare.
- 
- 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
- 	(movhi_internal): Same.
- 	(movqi_internal): Same.
- 	(movdi_internal64): Same.
- 
- 	* config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
- 
- 	* config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
- 	(ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
- 	(COMMON_ASM_OP): Define.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
- 	Use ALIGN parameter.
- 	(LOCAL_COMMON_ASM_OP): Define.
- 	(ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
- 
- 2002-08-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def: Define new builtin functions exp, expf, expl,
- 	log, logf and logl (and their __builtin_* variants).
- 	* optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
- 	Define exp_optab and log_optab.
- 	* optabs.c (init_optans): Initialize exp_optab and log_optab.
- 	* genopinit.c (optabs): Implement exp_optab and log_optab
- 	using exp?f2 and log?f2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
- 	and BUILT_IN_LOG* using exp_optab and log_optab respectively.
- 	(expand_builtin): Ignore the new builtins (and all cos and
- 	sin variants) when not optimizing.  Expand new builtins via
- 	expand_builtin_mathfn when flag_unsafe_math_optimizations.
- 
- 	* doc/extend.texi: Document new exp and log builtins.
- 	* doc/md.texi: Document new exp?f2 and log?f2 patterns
- 	(and previously undocumented cos?f2 and sin?f2 patterns).
- 
- 2002-08-03  Jason Merrill  <jason@redhat.com>
- 
- 	* explow.c (int_expr_size): New fn.
- 	* expr.c (expand_expr) [CONSTRUCTOR]: Use it.
- 	* expr.h: Declare it.
- 
- 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
- 	gengtype-* dependencies.
- 
- 2002-08-02  Eric Christopher  <echristo@redhat.com>
- 
- 	* config.gcc (mips*-*-linux*): Fix ordering of tm_file.
- 	* config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
- 	#ifndef to #undef.
- 	(TARGET_MEM_FUNCTIONS): Define instead of define to 1.
- 
- 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	PR optimize/7067
- 	* config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
- 	small if optimizing for size.
- 
- 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* configure.in (FORBUILD): Use $build_alias.
- 	* configure: Regenerated.
- 
- 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config.gcc: Don't include mips/abi64.h in $tm_file.
- 	* hard-reg-set.h (call_really_used_regs): Declare.
- 	* config/mips/abi64.h: Remove file.
- 	* config/mips/linux.h,
- 	* config/mips/iris6.h: Don't include it.
- 	* config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
- 	* config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
- 	(REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
- 	FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
- 	FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
- 	Bring across definitions from abi64.h.
- 	(GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
- 	(BIGGEST_MAX_ARGS_IN_REGISTERS): New.
- 	(struct mips_args): Use it.
- 	* config/mips/mips.c (mips_conditional_register_usage): Define.
- 
- 2002-08-02  Jason Merrill  <jason@redhat.com>
- 
- 	* langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
- 	* langhooks.c (lhd_expr_size): Define default.
- 	* langhooks.h (struct lang_hooks): Add expr_size.
- 	* explow.c (expr_size): Call it.
- 	* expr.c (store_expr): Don't copy an expression of size zero.
- 	(expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
- 	to store.
- 	* Makefile.in (builtins.o): Depend on langhooks.h.
- 
- 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (ra-debug.o): Depend on $(TM_P_H).
- 	* ra-debug.c: Include "tm_p.h".
- 	* ra-rewrite.c (is_partly_live_1): Change return type to bool.
- 
- 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
- 	when not honoring signalling NaNs.
- 	(simplify_ternary_operation): a == b has a definite value
- 	when not honoring NaNs.
- 
- 2002-08-02  Jason Merrill  <jason@redhat.com>
- 
- 	* gdbinit.in (pct): New macro.
- 
- 2002-08-01  Stan Shebs  <shebs@apple.com>
- 	    Andreas Tobler  <toa@pop.agri.ch>
- 
- 	* ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
- 	plays nice with Darwin headers.
- 	(_BSD_RUNE_T_DEFINED_): Likewise.
- 
- 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
- 	* cppinit.c (cpp_post_options): Likewise.
- 
- 	* cppexp.c (cpp_classify_number): Suppress -Wtraditional
- 	warning about 'LL' suffix (but not 'ULL' etc) when
- 	-Wno-long-long is in effect.
- 
- 	* cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
- 	Check for failing time()/localtime(), issue a warning, and
- 	make __TIME__ and __DATE__ expand to fallback strings.
- 
- 	* doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
- 	and __TIME__ when the date and time cannot be determined.
- 
- 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
- 
- 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
- 
- 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mipsisa64sb1-*-elf*): New configuration.
- 	(mipsisa64sb1el-*-elf*): Likewise.
- 	* config/mips/mips.c (mips_cpu_info_table): Add sb1.
- 	* config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
- 	(TARGET_SB1, TUNE_SB1): New macros.
- 	* doc/invoke.texi: Add sb1 to documentation for MIPS -march and
- 	-mtune flags.
- 
- 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* varasm.c (asm_emit_uninitialized): Return false if global BSS
- 	and ASM_EMIT_BSS not supported by target.
- 	(assemble_variable): Do not duplicate uninitialized logic.
- 	Fall through if asm_emit_uninitialized failed.
- 
- 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
- 
- 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
- 	(DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
- 
- 	* config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
- 	HOST_BITS_PER_WIDE_INT == 64.
- 
- 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* df.c (df_insn_table_realloc): Change parameter to unsigned.
- 	* optabs.c (expand_binop): Make variable unsigned.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	* unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
- 
- 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
- 
- 2002-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (parse_options_and_default_flags): Don't set
- 	flag_reorder_blocks for -Os.
- 
- 	* config/avr/avr.c (avr_optimization_options): Remove.
- 	* config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
- 	* config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
- 	* config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
- 
- 2002-08-01  H.J. Lu <hjl@gnu.org>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* output.h (DECL_READONLY_SECTION): Remove.
- 	(decl_readonly_section): Declare.
- 	* varasm.c (decl_readonly_section): New.
- 	(default_section_type_flags, default_select_section): Use it.
- 	* config/arm/pe.c (arm_pe_unique_section): Likewise.
- 	* config/i386/interix.c (i386_pe_unique_section): Likewise.
- 	* config/i386/winnt.c (i386_pe_unique_section): Likewise.
- 	* config/mcore/mcore.c (mcore_unique_section): Likewise.
- 	* config/mips/mips.c (mips_unique_section): Likewise.
- 
- 2002-08-01  Richard Henderson  <rth@redhat.com>
- 
- 	* integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
- 	refers to a subroutine parameter.
- 
- 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* varasm.c (assemble_visibility): Strip name encoding.
- 
- 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
- 
- 	* config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
- 	(RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
- 	when there is no frame pointer.
- 	(INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
- 	registers properly.
- 	* config/ns32k/__unorddf2.c: New file.
- 	* config/ns32k/__unordsf2.c: New file.
- 	* config/ns32k/t-ns32k: New file.
- 	* config.gcc (ns32k-*-netbsd*): Use it.
- 
- 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
- 
- 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (__GXX_ABI_VERSION): Correct spelling.
- 
- 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
- 
- 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
- 
- 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
- 	n_sets): Removed.
- 	(expr_hash_table, set_hash_table): Type changed to ...
- 	(struct hash_table): New type.
- 	(hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
- 	insert_expr_in_table, insert_set_in_table, compute_hash_table,
- 	dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
- 	compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
- 	(alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
- 	(alloc_hash_table): New.
- 	(free_set_hash_table, free_expr_hash_table): Merged to ...
- 	(free_hash_table): New.
- 	(compute_set_hash_table, compute_expr_hash_table): Merged to ...
- 	(compute_hash_table_work): New.
- 	(classic_gcse, one_classic_gcse_pass, compute_cprop_data,
- 	find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
- 	pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
- 	one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
- 	hoist_code, one_code_hoisting_pass,
- 	trim_ld_motion_mems): Altered due to changed type of hash tables.
- 
- 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* final.c (output_alternate_entry_point):
- 	If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
- 
- 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* objc/objc-act.c (encode_complete_bitfield): Add prototype and
- 	avoid ISO C style function definition.
- 
- 	* expr.c (expand_assignment): Delete unused variable.
- 
- 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* c-common.c (cb_register_builtins): Set
- 	__FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
- 	is given, and to 0 otherwise.
- 	* combine.c (simplify_if_then_else): HONOR_NANS
- 	implies FLOAT_MODE_P.
- 
- 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
- 	(cpp_handle_option): Don't handle it.
- 	(print_help): Update.
- 	* doc/cppopts.texi: Update.
- 
- 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (cb_register_builtins): If C++, define
- 	__EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
- 	* gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
- cp:
- 	* lang-specs.h: Simplify in accordance with new code in
- 	c-common.c.
- 
- 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c: Define all C/ObjC/C++ warning and flag variables.
- 	* c-common.h: Declare all C/ObjC/C++ warning and flag variables.
- 	* c-decl.c: Move all warning and flag variables to c-common.c.
- 	* c-format.c: Move all warning variables to c-common.c.
- 	* c-tree.h: Move all warning and flag declarations to c-common.h.
- 	* objc/objc-act.c: Move all warning variables to c-common.c.
- 	(flag_warn_protocol): Rename warn_protocol.
- 
- 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (GLOBAL_ASM_OP): Fix typo.
- 
- 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
- 
- 	* config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
- 	.section prefix.
- 
- 2002-07-31  Stan Shebs  <shebs@apple.com>
- 
- 	* config.gcc (i[34567]86-*-darwin*): New configuration.
- 	* config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
- 	defining.
- 	(TARGET_ENCODE_SECTION_INFO): Ditto.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
- 	* config/darwin.c (machopic_indirect_data_reference): Remove
- 	setting of RTX_UNCHANGING_P.
- 	(machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
- 	not to be applied to sums.
- 	* config/i386/t-darwin: New file.
- 	* config/i386/darwin.h: New file.
- 	* config/i386/i386.h (TARGET_MACHO): Add default definition.
- 	* config/i386/i386.md (tablejump): Add TARGET_MACHO case.
- 	* config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
- 	label and not the GOT add.
- 	(constant_address_p): For Mach-O, seeing a CONST is enough.
- 	(legitimate_pic_address_disp_p): Add a Mach-O case.
- 	(legitimate_address_p): Also test machopic_operand_p if Mach-O.
- 	(legitimize_pic_address): Use generic Mach-O code to legitimize.
- 	(output_pic_addr_const): Suppress @PLT if Mach-O, and parens
- 	if outputting a difference.
- 	(ix86_output_addr_diff_elt): Add Mach-O case.
- 	(ix86_expand_move): Similarly.
- 	(ix86_expand_call): Similarly.
- 	(current_machopic_label_num): New global.
- 	(machopic_output_stub): New function.
- 	(ix86_value_regno): New function.
- 	(ix86_function_value): Use it instead of VALUE_REGNO.
- 	(ix86_libcall_value): Ditto.
- 	* config/i386/unix.h (VALUE_REGNO): Remove.
- 
- 2002-07-31  Graham Stott  <grahas@btinternet.com>
- 
- 	* config/rs6000/rs6000.c(rs6000_hash_constant): Fix
- 	hash for LABEL_REF's.
- 
- 2002-07-31  Graham Stott  <grahams@btinternet.com>
- 
- 	* config/rs6000/rs6000.c (spe_init_builtins,
- 	altivec_init_builtins, rs6000_common_init_builtins):
- 	Replace ANSI with K&R function def.
- 
- 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (validate_condition_mode): Test flag_finite_math_only
- 	for CCFPmode.
- 
- 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/crtn.asm: Don't use __mips16 to determine the
- 	return-address offset.  Define RA to a suitable temporary
- 	register for the return address.
- 
- 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
- 	constraints to 'd'.
- 
- 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/elf.h (STARTFILE_SPEC): Define differently if
- 	default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
- 	patch on 2002-07-29.)
- 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
- 
- 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
- 	fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
- 	ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
- 	openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
- 	s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
- 	(ASM_GLOBALIZE_LABEL): Delete.
- 	(GLOBAL_ASM_OP): Define.
- 
- 	* m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
- 
- 	* defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
- 	* doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
- 
- 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/extend.texi (Hints implementation): Document that GCC
- 	mostly ignores `register'.
- 
- 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	* flags.h: Declare flag_finite_math_only.
- 	Use it in definition of HONOR_NANS and
- 	HONOR_INFINITIES.
- 	* c-common.c (cb_register_builtins): Emit
- 	__FINITE_MATH_ONLY__ when flag_finite_math_only
- 	is set.
- 	* combine.c (simplify_if_then_else): If
- 	flag_finite_math_only is set, a == b has a
- 	definite value.
- 	* toplev.c: Initialize flag_finite_math_only.
- 	(set_flags_fast_math): Set it on -ffast-math.
- 	(flag_fast_math_set_p): Test it.
- 	* doc/invoke.texi: Document -ffinite-math-only.
- 
- 2002-07-30  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
- 	(noce_process_if_block): Likewise.
- 
- 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
- 
- 	* ifcvt.c (cond_exec_process_if_block): Fix a merging error.
- 	Bail out early if false_expr is NULL and we'd crash due to this.
- 	* genemit.c (gen_expand): Recognize return insns even if the return
- 	appears in a parallel.
- 	* libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
- 	* config/fp-bit.c: Likewise.
- 	* doc/tm.texi: Document it.
- 
- 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rs6000.c (rs6000_expand_unop_builtin): Check icode not
- 	CODE_FOR_nothing.  Change switch to if.
- 	(rs6000_expand_binop_builtin): Same.
- 	(rs6000_expand_builtin): Expand builtin if target support enabled.
- 	(rs6000_init_builtins): Init builtin if target support enabled.
- 	(rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
- 
- 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
- 
- 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
- 
- Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (cond_delay_slot): New attribute.
- 	(cbranch delay): Use it for anulled-true case.
- 	(stuff_delay_slot): New pattern.
- 	* sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
- 	delay slot insn.
- 	(gen_far_branch): Emit stuff_delay_slot pattern.
- 
- Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
- 
- 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c: Fix comment typos.
- 	* gcse.c: Likewise.
- 	* reload1.c: Likewise.
- 
- 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
- 	for TARGET_SPE.
- 
- 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-pretty-print.h (pp_c_statement): Declare.
- 	* c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
- 	(pp_c_statement): Define.
- 
- 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
- 	darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
- 	ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
- 	mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
- 	rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
- 	v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
- 
- 	* defaults.h (ASM_OUTPUT_LABEL): Provide a default.
- 	* doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
- 
- 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
- 	(pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
- 	COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
- 	(pp_c_expression): Update.
- 
- 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
- 	concat in lieu of xmalloc/strcpy/memcpy/sprintf.
- 	* alpha/vms-ld.c (main): Likewise.
- 	* dsp16xx.c (double_reg_to_memory): Likewise.
- 	* mcore.c (mcore_expand_prolog): Likewise.
- 	* cppfiles.c (read_name_map): Likewise.
- 	* gensupport.c (process_rtx, identify_predicable_attribute,
- 	alter_test_for_insn): Likewise.
- 	* vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
- 
- 2002-07-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin):  Change the default behavior to
- 	only issue an error if the builtin function doesn't have a
- 	fallback library call.  Remove several cases handled by the
- 	new default.
- 
- 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
- 
- 	* real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
- 	floating point format of the target is IEEE.
- 	* (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
- 	format of the target is DEC.
- 
- 2002-07-29  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (verify_addresses): Remove.
- 	(find_splittable_givs): Never split DEST_ADDR givs.
- 
- 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
- 	is exhaustive.
- 	(Files): Improve documentation on generated source files.
- 
- 	* doc/extend.texi (Translation implementation): Document what
- 	diagnostics look like.
- 	(Identifiers implementation): Document that there's normally no
- 	limit on identifier names.
- 	(Integers implementation): Document two's complement.
- 	(Hints implementation): Document that GCC honors 'inline', mostly.
- 	(Preprocessing directives implementation): Document that GCC
- 	requires the current time.
- 
- 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-pretty-print.h (struct c_pretty_print_info): Add new member.
- 	(pp_initializer): New macro.
- 	(pp_c_initializer): Declare.
- 	* c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
- 	(pp_c_initializer): Define.
- 	(pp_c_initializer_list): New function.
- 	(pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
- 	VECTOR_CST, CONSTRUCTOR.
- 	(pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
- 	IMAGPART_EXPR.
- 	(pp_c_cast_expression): Handle FLOAT_EXPR.
- 	(pp_c_assignment_expression): Handle INIT_EXPR.
- 	(pp_c_expression): Update.
- 
- 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* objc/objc-act.c (objc_init): Return immediately if filename
- 	is NULL.
- 
- 2002-07-29  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/elf.h: Remove ecoff.h and gofast includes.
- 	(DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
- 	(SDB_DEBUGGING_INFO): Undefine.
- 	(PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
- 	(PUT_SDB_SIZE): Remove.
- 	(SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
- 	(STARTFILE_SPEC): Add isa3264 define.
- 	* config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
- 	* config/mips/ecoff.h: Remove. and here...
- 	* config/mips/iris3.h: and here...
- 	* config/mips/sni-svr4.h: and here...
- 	* config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
- 	Add assembler -mmdebug options for non-dwarf debugging.
- 	* config/mips/r3900.h: Remove debug info defines.
- 	* config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
- 	* config/mips/isa3264.h: Ditto.
- 	* config/mips/t-isa3264: Fix up for file removal and gofast configure
- 	change.
- 	* config/mips/t-elf: Ditto.
- 	* config/mips/t-ecoff: Ditto.
- 	* config/mips/t-r3900: Ditto.
- 	* config/mips/t-iris5-6: Ditto.
- 	* config/mips/t-isa3264: Ditto.
- 	* config/mips/t-linux: Remove.
- 	* config/mips/t-netbsd: Remove.
- 	* config/mips/t-mips: New file.
- 	* config/mips/t-gofast: Ditto.
- 	* config/mips/netbsd.h: Remove unnecessary undefines.
- 	* config/mips/linux.h: Remove #include of mips.h.
- 	* config.gcc: Add mips.h include for elf targets. Remove tm_file
- 	for ecoff. Add gofast configure option for mips.
- 
- 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* configure.in (mips*-*-*): Add a test to see if MIPS libgloss
- 	linker scripts use STARTUP directives consistently.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 	* config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
- 	on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
- 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
- 	* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
- 	HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
- 	will be the same.
- 
- 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
- 
- 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
- 
- 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
- 
- 	* config/rs6000/rs6000.md: Move altivec patterns from here...
- 
- 	* config/rs6000/altivec.md: ...to here.
- 
- 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md ("spe_evmra"): Change to unspec.
- 
- 2002-07-29  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
- 	set_mem_attributes and add BITPOS argument.  Subtract it from
- 	OFFSET when same is adjusted.
- 	(set_mem_attributes): New wrapper function.
- 	* expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
- 	remove offset adjustment hack.
- 	* expr.h (set_mem_attributes_minus_bitpos): Declare.
- 
- 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* Makefile.in (C_OBJS): Include c-pretty-print.o
- 	(c-pretty-print.o): Add depency rule.
- 	* pretty-print.h: Add more macros.
- 	* c-pretty-print.c: New file.
- 	* c-pretty-print.h: Likewise.
- 
- 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
- 	constants to __ev64_s32__.
- 	(__internal_ev_mwhgsmian): Same.
- 	(__internal_ev_mwhgsmfan): Same.
- 	(__internal_ev_mwhgssfan): Same.
- 	(__internal_ev_mwhgumiaa): Same.
- 	(__internal_ev_mwhgsmiaa): Same.
- 	(__internal_ev_mwhgsmfaa): Same.
- 	(__internal_ev_mwhgssfaa): Same.
- 
- 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* varasm.c (assemble_variable): Narrow test for uninitialized
- 	without BSS target support.
- 
- 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* profile.c: Add file comment describing the overall algorithm and
- 	structures.
- 	(struct edge_info): Add comments.
- 	(struct bb_info): Add comments.
- 	* basic-block.h (EDGE_*): Add comments.
- 	* doc/gcov.texi (Gcov Data Files): Document bit flags.
- 
- 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h, config/xtensa/linux.h
- 	(TARGET_OS_CPP_BUILTINS): Define.
- 	(CPP_PREDEFINES): Remove.
- 	* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
- 	(CPP_SPEC): Remove.
- 
- 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* gensupport.c: Include hashtab.h.
- 	(insn_elision, condition_table, hash_c_test, cmp_c_test,
- 	maybe_eval_c_test): New routines and data structures to
- 	support insn elision.
- 	(init_md_reader): Read and initialize the condition_table.
- 	(read_md_rtx): Discard insn patterns whose C test is provably
- 	always false.
- 	* gensupport.h: Declare new functions and data structures.
- 
- 	* genconditions.c, dummy-conditions.c: New files.
- 	* Makefile.in: Build genconditions; run it to construct
- 	insn-conditions.c; build that and link it into most gen*
- 	programs.
- 	(HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
- 	(GEN): Delete, unused.
- 	(STAGESTUFF): Update.
- 
- 	* gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
- 	CODE_FOR_nothing for all elided patterns.
- 	(main): Tweaked to support this.
- 	* genflags.c (gen_proto): Emit a static inline generator
- 	function here for all elided patterns, which simply returns
- 	NULL_RTX.
- 	(gen_insn): Do not define HAVE_xxx for elided patterns.
- 	(main): Tweaked to support this.  No need to forward-declare
- 	struct rtx_def.
- 	* genrecog.c: Do not bother emitting the C test if it's known
- 	to be true at compile time.
- 
- 2002-07-29  Mike Stump  <mrs@apple.com>
- 
- 	* config.gcc (target_gtfiles): Initialize, as otherwise cross
- 	compilers hosted on powerpc-apple-darwin6.0 won't even build.
- 
- 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
- 	remove clobber of LR.
- 	(sibcall_insn, sibcall_value_insn): Update accordingly.
- 	(sibcall_epilogue): Remove debugging comment from assembler stream.
- 
- 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* pretty-print.h: Define more macros.
- 	* diagnostic.h (output_formatted_integer): Moved from...
- 	* diagnostic.c: ... here.
- 
- 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
- 
- 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
- 	arguments.  Always use ".-symbol" as expression argument.
- 	* doc/tm.texi: Update to match.  Document requirement for
- 	".size symbol, .-symbol" to be acceptable to assembler.
- 
- 	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
- 	config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
- 	config/i386/freebsd-aout.h, config/i386/sco5.h,
- 	config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
- 	config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
- 
- 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gengtype-lex.c): Fix error in last change.
- 
- 	* alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
- 	backslash.
- 
- 	* Makefile.in (vmsdbgout.o): Depend on function.h.
- 
- 	* vmsdbgout.c: Include function.h.
- 
- 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* prefix.c (update_path): Don't strip single `.' path components
- 	unless stripping a later `..' component.  Exit loop as soon as
- 	a valid path is found.
- 
- 2002-07-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
- 	argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
- 	BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
- 	floating point unordered comparisons (e.g. __builtin_isgreater)
- 	as const, and leave the remaining GCC_BUILTINs unchanged.
- 
- 	* c-decl.c (builtin_function): No need to explicitly mark
- 	BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
- 
- 2002-07-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* Makefile.in: rtlanal.o now depends upon real.h.
- 
- 	* flags.h [flag_signaling_nans]: New flag.
- 	[HONOR_SNANS]: New macro.
- 
- 	* toplev.c [flag_signaling_nans]: Initialize to false.
- 	(f_options): Add processing for "-fsignaling-nans".
- 	(set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
- 	(process_options): flag_signaling_nans implies flag_trapping_math.
- 
- 	* c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
- 	when -fsignaling-nans.  First step to implementing WG14's N965.
- 
- 	* fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
- 	1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
- 	[RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
- 
- 	* simplify-rtx.c (simplify_relational_operation): Conditionalize
- 	transforming abs(x) < 0.0 into false on !HONOR_SNANS.
- 
- 	* rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
- 	required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
- 	UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
- 	-fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
- 	not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
- 
- 	* doc/invoke.texi: Document new -fsignaling-nans compiler option.
- 
- 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gengtype-lex.c): Work around a bug in flex.
- 	* gengtype-lex.l (YY_USE_PROTOS): Undef.
- 	(YY_DECL): Define.
- 
- 2002-07-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/invoke.texi: Document that both -fno-builtin-foo and
- 	-fno-builtin are supported by the g++ front-end.
- 
- 2002-07-27  Stan Shebs  <shebs@apple.com>
- 
- 	* configure.in: Rename config_gtfiles to target_gtfiles.
- 	* configure: Regenerate.
- 	* doc/gty.texi: Update reference.
- 	* config.gcc (powerpc-*-darwin*): Set target_gtfiles
- 	instead of appending to it.
- 
- 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg_advance): SPE vararg
- 	vectors are split into two registers.
- 	(function_arg): Same.
- 
- Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* pa.md (extv): Check predicates before emitting extv_32.
- 
- 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_traceback_name): New var.
- 	(rs6000_traceback): New var.
- 	(rs6000_override_options): Set rs6000_traceback.
- 	(rs6000_output_function_epilogue): Implement traceback options.
- 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
- 	(rs6000_traceback_name): Declare.
- 
- 	* config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
- 	label reference when NO_PROFILE_COUNTERS.
- 
- 2002-07-26  Jason Merrill  <jason@redhat.com>
- 
- 	* function.c (assign_parms): Handle frontend-directed pass by
- 	invisible reference.
- 
- 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* doc/cppopts.texi: Update.
- 
- 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppmacro.c (_cpp_create_definition): Don't attempt redefinition
- 	warnings on assertions.
- 
- 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
- 	RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
- 	RID_COMPL): Remove.
- 	* c-parse.in (rid_to_yy): Similarly.
- 
- 2002-07-26  Jason Merrill  <jason@redhat.com>
- 
- 	* c-dump.c: Resurrect.
- 	* tree-dump.c: Move C-specific stuff to c-dump.c.
- 	* c-common.h: Declare c_dump_tree.
- 	* c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
- 	* Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
- 	(c-dump.o): New rule.
- 
- 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: Enable patterns using rlwinm for
- 	PowerPC64.  Replace "T" and "S" constraints with "n" when the
- 	predicate will do.  Formatting fixes.
- 	(extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
- 	as for extzvsi_internal1.
- 
- 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
- 	DERIV_END_LABEL_FMT): Remove.
- 	(SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
- 
- 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
- 	Remove.
- 
- 2002-07-25  Stan Shebs  <shebs@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
- 	local var dwarfp.
- 	(output_compiler_stub): Remove unused locals.
- 	(output_call): Always initialize line number.
- 
- Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
- 	* sh.md (truncdiqi2, movqi_media): Likewise.
- 
- 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* gcse.c (obstack_chunk_alloc): Remove.
- 	(gcse_alloc): Fix to count allocated bytes.
- 	* collect2.c (SYMBOL__MAIN): Remove.
- 
- 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
- 	HAVE_TARGET_EXECUTABLE_SUFFIX.
- 
- Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
- 	SIZE, EXPR and OFFSET.
- 
- 2002-07-25  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
- 	in ARRAY_REF of DECL_P case.
- 
- 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
- 	description.  Document -mips32, -mips64, and the associated -march
- 	values.  Describe the "mipsN" arguments to -march.  Say that the
- 	-mipsN options are equivalent to -march.  Reword the description
- 	of default type sizes.
- 	* toplev.h (target_flags_explicit): Declare.
- 	* toplev.c (target_flags_explicit): New var.
- 	(set_target_switch): Update target_flags_explicit.
- 	* config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
- 	* config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
- 	* config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
- 	* config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
- 	* config/mips/mips.h (mips_cpu_info): New struct.
- 	(mips_cpu_string, mips_explicit_type_size_string): Remove.
- 	(mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
- 	(MIPS_CPP_SET_PROCESSOR): New macro.
- 	(TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
- 	Define _MIPS_ARCH and _MIPS_TUNE.
- 	(MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
- 	(MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
- 	MIPS_ISA_DEFAULT were already defined.
- 	(MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
- 	(TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
- 	(ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
- 	(GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
- 	(ABI_GAS_ASM_SPEC): Remove.
- 	(MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
- 	(ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
- 	Invoke %(asm_abi_default_spec) if no ABI was specified.
- 	(CC1_SPEC): Remove ISA -> register-size rules.
- 	(EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
- 	* config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
- 	(mips_cpu_string, mips_explicit_type_size_string): Remove.
- 	(mips_cpu_info_table): New array.
- 	(mips_set_architecture, mips_set_tune): New fns.
- 	(override_options): Rework to make -mipsN equivalent to -march.
- 	Detect more erroneous cases, including those removed from CC1_SPEC.
- 	Don't change the ABI based on architecture, or vice versa.
- 	Unify logic with GAS.
- 	(mips_asm_file_start): Get architecture name from mips_arch_info.
- 	(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
- 	(mips_parse_cpu): Take the name of the option as argument.  Handle
- 	'from-abi'.  Raise an error if the option is wrong.
- 	(mips_cpu_info_from_isa): New fn.
- 
- 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
- 	(tablejump_mips162): Likewise.
- 
- Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
- 	int_mode_for_mode.
- 
- 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-common.c (c_sizeof_or_alignof_type): Take a third argument for
- 	complaining.
- 	* c-common.h (c_sizeof): Adjust definition.
- 	(c_alignof): Likewise.
- 	* c-tree.h (c_sizeof_nowarn): Now macro.
- 	* c-typeck.c (c_sizeof_nowarn): Remove definition.
- 
- 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-decl.c (c_decode_option): No need to handle switches
- 	cpplib handles.
- 
- 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
- 	ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
- 	* doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
- 	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
- 
- 	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
- 	config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
- 	config/cris/aout.h, config/i386/freebsd-aout.h,
- 	config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
- 	config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
- 	config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
- 	config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
- 	config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
- 	config/xtensa/elf.h, config/xtensa/linux.h:
- 	Use the new macros.
- 	Where possible, remove redundant definitions of SIZE_ASM_OP,
- 	TYPE_ASM_OP, and TYPE_OPERAND_FMT.
- 
- 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
- 	TARGET_ISEL, and TARGET_FPRS.
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
- 	-mabi=spe, -mabi=no-spe, and -misel=.
- 
- 	* config/rs6000/rs6000-protos.h: Add output_isel.
- 	Move vrsave_operation prototype here.
- 
- 	* config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
- 	(smaxsi3): Same.
- 	(uminsi3): Same.
- 	(umaxsi3): Same.
- 	(abssi2_nopower): Disallow when TARGET_ISEL.
- 	(*ne0): Same.
- 	(negsf2): Change to expand and rename old pattern to *negsf2.
- 	(abssf2): Change to expand and rename old pattern to *abssf2.
- 
- 	New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
- 	fixunssfsi2.
- 
- 	Change patterns that check for TARGET_HARD_FLOAT or
- 	TARGET_SOFT_FLOAT to also check TARGET_FPRS.
- 
- 	* config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
- 	rs6000_isel, rs6000_fprs, rs6000_isel_string.
- 	(rs6000_override_options): Add 8540 case to
- 	processor_target_table.
- 	Set rs6000_isel for the 8540.
- 	Call rs6000_parse_isel_option.
- 	(enable_mask_for_builtins): New.
- 	(rs6000_parse_isel_option): New.
- 	(rs6000_parse_abi_options): Add spe and no-spe.
- 	(easy_fp_constant): Treat !TARGET_FPRS as soft-float.
- 	(rs6000_legitimize_address): Check for TARGET_FPRS when checking
- 	for TARGET_HARD_FLOAT.
- 	Add case for SPE_VECTOR_MODE.
- 	(rs6000_legitimize_reload_address): Handle SPE vector modes.
- 	(rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
- 	vector modes.
- 	Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
- 	(rs6000_emit_move): Check for TARGET_FPRS.
- 	Add cases for SPE vector modes.
- 	(function_arg_boundary): Return 64 for SPE vector modes.
- 	(function_arg_advance): Check for TARGET_FPRS and
- 	Handle SPE vectors.
- 	(function_arg): Same.
- 	(setup_incoming_varargs): Check for TARGET_FPRS.
- 	(rs6000_va_arg): Same.
- 	(struct builtin_description): Un-constify mask field.  Move up in
- 	file.
- 	(bdesc_2arg): Un-constify and add SPE builtins.
- 	(bdesc_1arg): Same.
- 	(bdesc_spe_predicates): New.
- 	(bdesc_spe_evsel): New.
- 	(rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
- 	(rs6000_expand_binop_builtin): Same.
- 	(bdesc_2arg_spe): New.
- 	(spe_expand_builtin): New.
- 	(spe_expand_predicate_builtin): New.
- 	(spe_expand_evsel_builtin): New.
- 	(rs6000_expand_builtin): Call spe_expand_builtin for SPE.
- 	(rs6000_init_builtins): Initialize SPE builtins.  Call
- 	rs6000_common_init_builtins.
- 	(altivec_init_builtins): Move all non-altivec builtin code to...
- 	(rs6000_common_init_builtins): ...here.  New function.
- 	(branch_positive_comparison_operator): Allow NE code for SPE.
- 	(ccr_bit): Return correct ccr bit for SPE fp.
- 	(print_operand): Emit crnor in 'D' case for SPE.
- 	New case 't'.
- 	Add SPE code for 'y' case.
- 	(rs6000_generate_compare): Generate rtl for SPE fp.
- 	(output_cbranch): Handle SPE hard floats.
- 	(rs6000_emit_cmove): Handle isel.
- 	(rs6000_emit_int_cmove): New.
- 	(output_isel): New.
- 	(rs6000_stack_info): Adjust stack frame so GPRs are saved in
- 	64-bits for SPE.
- 	(debug_stack_info): Add SPE info.
- 	(gen_frame_mem_offset): New.
- 	(rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
- 	Change mode of frame pointer, when saving it, to Pmode.
- 	(rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
- 	Misc cleanups and use gen_frame_mem_offset when appropriate.
- 
- 	* config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
- 	(TARGET_SPE_ABI): New.
- 	(TARGET_SPE): New.
- 	(TARGET_ISEL): New.
- 	(TARGET_FPRS): New.
- 	(FIXED_SCRATCH): New.
- 	(RTX_COSTS): Add PROCESSOR_PPC8540.
- 	(ASM_CPU_SPEC): Add case for 8540.
- 	(TARGET_OPTIONS): Add isel= case.
- 	(rs6000_spe_abi): New.
- 	(rs6000_isel): New.
- 	(rs6000_fprs): New.
- 	(rs6000_isel_string): New.
- 	(UNITS_PER_SPE_WORD): New.
- 	(LOCAL_ALIGNMENT): Adjust for SPE.
- 	(HARD_REGNO_MODE_OK): Same.
- 	(DATA_ALIGNMENT): Same.
- 	(MEMBER_TYPE_FORCES_BLK): New.
- 	(FIRST_PSEUDO_REGISTER): Set to 113.
- 	(FIXED_REGISTERS): Add SPE registers.
- 	(reg_class): Same.
- 	(REG_CLASS_NAMES): Same.
- 	(REG_CLASS_CONTENTS): Same.
- 	(REGNO_REG_CLASS): Same.
- 	(REGISTER_NAMES): Same.
- 	(DEBUG_REGISTER_NAMES): Same.
- 	(ADDITIONAL_REGISTER_NAMES): Same.
- 	(CALL_USED_REGISTERS): Same.
- 	(CALL_REALLY_USED_REGISTERS): Same.
- 	(SPE_ACC_REGNO): New.
- 	(SPEFSCR_REGNO): New.
- 	(SPE_SIMD_REGNO_P): New.
- 	(HARD_REGNO_NREGS): Adjust for SPE.
- 	(VECTOR_MODE_SUPPORTED_P): Same.
- 	(REGNO_REG_CLASS): Same.
- 	(FUNCTION_VALUE): Same.
- 	(LIBCALL_VALUE): Same.
- 	(LEGITIMATE_OFFSET_ADDRESS_P): Same.
- 	(SPE_VECTOR_MODE): New.
- 	(CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
- 	the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
- 	(rs6000_stack): Add spe_gp_size, spe_padding_size,
- 	spe_gp_save_offset.
- 	(USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
- 	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
- 	(SPE_CONST_OFFSET_OK): New.
- 	(rs6000_builtins): Add SPE builtins.
- 
- 	* testsuite/gcc.dg/ppc-spe.c: New.
- 
- 	* config/rs6000/eabispe.h: New.
- 
- 	* config/rs6000/spe.h: New.
- 
- 	* config/rs600/spe.md: New.
- 
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- 	__SIMD__ for TARGET_SPE.
- 
- 	* config.gcc: Add powerpc-*-eabispe* case.
- 	Add spe.h to user headers for powerpc.
- 
- 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
- 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
- 	* config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
- 
- 2002-07-24  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
- 	form when not optimizing.
- 
- 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
- 	thread_pointer_rtx as unchanging.
- 
- 2002-07-24  Michael Matz  <matz@suse.de>
- 
- 	* ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
- 	(free_reg): Use it.
- 
- 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
- 	pattern.
- 	(arm_buneq_reversed, arm_bltgt_reversed): Likewise.
- 	(movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
- 
- 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
- 	* config/mips/elf64.h (STARTFILE_SPEC): Likewise.
- 	* config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
- 
- Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation): Dump loops before clobbering
- 	the structure.
- 
- Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
- 
- 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
- 
- 	PR optimization/7291
- 	* config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
- 	problem on x86_64.
- 
- 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* pretty-print.h: Add macros from cp/error.c
- 
- 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
- 	(mask64_2_operand): Declare.
- 	(build_mask64_2_operands): Declare.
- 	(and64_2_operand): Declare.
- 	(extract_MB): Declare.
- 	(extract_ME): Declare.
- 	* config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
- 	CONST_DOUBLE code.
- 	(mask_operand_wrap): New insn predicate.
- 	(mask64_2_operand): Likewise.
- 	(and64_2_operand): Likewise.
- 	(build_mask64_2_operands): New function.
- 	(extract_MB): New function.
- 	(extract_ME): New function.
- 	(print_operand <case m,M>): Use extract_MB and extract_ME.
- 	(print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
- 	* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
- 	(PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
- 	mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
- 	* config/rs6000/rs6000.md (andsi3_internal3): New
- 	(andsi3_internal3+1): Enable split for powerpc64.
- 	(andsi3_internal3+2): New split.
- 	(andsi3_internal4): Renamed old andsi3_internal3.
- 	(andsi3_internal5): New.
- 	(andsi3_internal5+1): Enable split for powerpc64.
- 	(andsi3_internal5+2): New split.
- 	(andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
- 	(anddi3): Handle 't' constraint.
- 	(anddi3+1): New split.
- 	(anddi3_internal2): Handle 't' constraint.
- 	(anddi3_internal2+1): New split.
- 	(anddi3_internal3): Handle 't' constraint.
- 	(anddi3_internal3+1): New split.
- 
- 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: Remove scratch reg on insns using
- 	addze and similar (plus (comparison r1 r2) r3) insns.  Add
- 	missing scratch reg in one case.  Formatting fixes.
- 
- 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (parse_defined): Mark macro used.
- 	* cpphash.h (struct cpp_macro): New member "used".
- 	(_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
- 	(struct cpp_reader): New member.
- 	* cppinit.c (cpp_finish_options): Set first_unused_line.
- 	(cpp_finish): Warn of unused macros if requested.
- 	(OPT_TABLE): New switches.
- 	(cpp_handle_option): Handle them.
- 	* cpplib.c (do_undef): Warn if macro unused.
- 	(do_ifdef, do_ifndef): Mark macro used.
- 	* cpplib.h (struct cpp_options): New member.
- 	* cppmacro.c (_cpp_warn_if_unused_macro): New.
- 	(enter_macro_context): Mark macro used.
- 	(_cpp_create_definition): Mark macro unused; warn if unused
- 	when redefined.
- 	* cpptrad.c (scan_out_logcial_line, push_replacement_text):
- 	Mark macros used.
- 	* doc/cppopts.texi: Update.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* dwarf2out.c (SECTION_ASM_OP,
- 	ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
- 	* system.h (SECTION_ASM_OP): Poison.
- 	* tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
- 	* config/alpha/alpha-interix.h, config/mips/linux.h
- 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
- 	* config/mmix/mmix-protos.h, config/mmix/mmix.c
- 	(mmix_asm_output_define_label_difference_symbol): Remove.
- 	* config/mmix/mmix.h
- 	(ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
- 	* doc/tm.texi: Remove documentation.
- 
- Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
- 	(constrain_operands): Likewise.
- 	* regclass.c (record_reg_classes): Likewise.
- 	* reload.c (find_reloads): Likewise.
- 	* doc/md.texi: Likewise.
- 
- 	* reload.c (find_reloads_toplev): Use simplify_gen_subreg.
- 	* simplify-rtx.c (simplify_subreg): When converting to a non-int
- 	mode, try to convert to an integer mode of matching size first.
- 
- 	* simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
- 	from individual subregs, check that each subreg has been generated
- 	sucessfully.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
- 	* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
- 	FOR_EACH_BB_IN_SBITMAP): Remove.
- 	* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
- 	* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
- 	LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
- 	* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
- 	PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
- 	* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
- 
- 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* pretty-print.h: New file.
- 
- 2002-07-23	Paul Koning	<pkoning@equallogic.com>
- 
- 	* real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
- 	(LARGEST_EXPONENT_IS_NORMAL): Ditto.
- 	(VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
- 	(TARGET_G_FLOAT): Default to 0 if not defined.
- 	(ieeetoe): New, common routine to convert target format floats
- 	to internal form.
- 	(e24toe, e53toe): Change to use ieeetoe, distinguish DEC
- 	vs. others.
- 	(e113toe): Change to use ieeetoe.
- 
- 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
- 
- 	* real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
- 	IBM.
- 	(e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
- 	(e64toe): Remove special cases for DEC and IBM. Remove support for
- 	ARM_EXTENDED_IEEE_FORMAT.
- 	(e24toe): Remove special cases for DEC.
- 	(significand_size): Simplify. Indent.
- 	(ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
- 	(etoieee, toieee): New.
- 	(etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
- 	etoieee and toieee for IEEE arithmetic.
- 
- 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* doc/extend.texi: Say ISO C90, not ISO C89.
- 	* doc/invoke.texi: Likewise.
- 	* doc/standards.texi: Likewise.
- 
- 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
- 	Fix permutation of conversion and plus/mult.
- 	* gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
- 	ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
- 	(expand_builtin_strncpy) Ditto.
- 	(expand_builtin_memset) Ditto.
- 
- 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	Fix PR/7363:
- 	* c-common.c (c_sizeof_or_alignof_type): New function.
- 	(c_alignof): Remove definition.
- 	* c-common.h (c_sizeof, c_alignof): Define as macros.
- 	(c_sizeof_or_alignof_type): Declare.
- 	(my_friendly_assert): Moved from cp/cp-tree.h
- 	* c-typeck.c (c_sizeof): Remove definition.
- 
- 2002-07-23  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (try_replace_reg): Use num_changes_pending.
- 	* recog.c (num_changes_pending): New function.
- 	(validate_replace_src): Use validate_repalce_src_group.
- 	(validate_replace_src_group): New.
- 	* recog.h (validate_repalce_src_group): New.
- 	(num_changes_pending): Likewise.
- 
- Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* calls.c (emit_library_call_value_1): If
- 	FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
- 	libcall, const call nor pure call.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/m88k/m88k.h (SECTION_ASM_OP): Remove.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* vmsdbgout.c (SECTION_ASM_OP): Remove.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/i386/i386.c (AT_BP): Remove.
- 
- 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* defaults.h (obstack_chunk_alloc, obstack_chunk_free):
- 	Default definition.
- 	* gcse.c: Don't define obstack_chunk_free.
- 	* collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
- 	flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
- 	integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
- 	reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
- 	Don't define obstack macros.
- 
- 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR target/6744
- 	* config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
- 	ASM_OPERANDS instructions.
- 
- 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	PR target/7361
- 	* config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
- 	constant addresses only on 68HC12.
- 
- 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (stack_include_file): Correct test of whether
- 	a dependency should be output.
- 
- 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (is_ctor_dtor): Add other possible JOINER values.
- 
- 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (movqi): If optimizing and we can create pseudos, use
- 	a ZERO_EXTEND to load from memory, then copy the result into the
- 	target.
- 	(movhi): Likewise, but only for ARMv4.
- 
- 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* ssa-ccp.c (PHI_PARMS): Remove.
- 
- 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
- 	on big-endian targets.
- 
- 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
- 	HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
- 	HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
- 	New formatting macros.
- 
- 	* ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
- 
- Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* rtlanal.c (subreg_regno_offset): Return correct offset for
- 	big endian paradoxical subregs.
- 
- 	* optabs.c (expand_vector_unop): Don't expand using sub_optab
- 	if we got the wrong mode.
- 
- 	* hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
- 	* genrecog.c (write_switch, write_cond): Use it.
- 	* genemit.c (gen_exp): Likewise.
- 
- 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
- 
- 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (build_compound_literal): Defer compound literal decls
- 	until until file end to emit them only if they are actually used.
- 
- 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ra-build.c (check_conflict_numbers): Hide unused function.
- 	(livethrough_conflicts_bb): Avoid automatic aggregate
- 	initialization.
- 	(parts_to_webs_1): Avoid `U' integer constant modifier.
- 	(conflicts_between_webs): Wrap a variable in the macro controlling
- 	its usage.
- 	* ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
- 	(dump_igraph, dump_graph_cost): Avoid string concatenation
- 	(dump_static_insn_cost): Avoid automatic aggregate
- 	initialization.
- 	* ra-rewrite.c (insert_stores): Avoid automatic aggregate
- 	initialization.
- 	(dump_cost): Avoid string concatenation
- 
- 2002-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
- 	GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
- 
- 2002-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
- 	that are not unrolled completely.
- 
- 2002-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
- 	* loop.c (strength_reduce): Update.
- 	* toplev.c (rest_of_compilation): Do unrolling in the first
- 	loop pass, not the second.
- 
- 2002-07-21  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
- 	when flag_argument_noalias == 2.
- 	* alias.c (nonoverlapping_memrefs_p): Handle that.
- 	* print-rtl.c (print_mem_expr): Likewise.
- 
- 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
- 
- 	* libgcc2.c (__divdi3, __moddi3): Use unary minus operator
- 	instead of __negdi2 directly.
- 
- 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
- 	* function.c (SYMBOL__MAIN): Remove definition.
- 	* global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
- 	* predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
- 	* profile.c (GCOV_INDEX_TO_BB): Remove.
- 	* sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
- 	* simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
- 
- 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-lex.c (GET_ENVIRONMENT): Remove.
- 	* collect2.c (GET_ENV_PATH_LIST): Remove.
- 	(prefix_from_env): Use GET_ENVIRONMENT.
- 	* cppinit.c (GET_ENV_PATH_LIST): Remove.
- 	(init_standard_includes): Use GET_ENVIRONMENT.
- 	* defaults.h (GET_ENVIRONMENT): Define here if not already.
- 	* gcc.c (GET_ENV_PATH_LIST): Remove.
- 	(make_relative_prefix, process_command): Update.
- 	* protoize.c (GET_ENV_PATH_LIST): Remove.
- 	(do_processing): Update.
- 
- 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
- 
- 	* c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
- 	(grokdeclarator): Likewise.
- 	* c-format.c (C_STD_NAME): Likewise.
- 	* c-lex.c (interpret_integer): Likewise.
- 	* c-typeck.c (build_array_ref): Likewise.
- 	* cpplex.c (_cpp_lex_direct): Likewise.
- 	* toplev.c (documented_lang_options): Likewise.
- 
- 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-format.c (T99_I, T99_UI): Remove.
- 
- 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
- 
- Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
- 	do_local_cprop.
- 
- 2002-07-21  Andreas Jaeger  <aj@suse.de>
- 
- 	* reload1.c (fixup_abnormal_edges): Remove unused variable.
- 
- 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
- 
- 	Improvements for the ifcvt pass from Michael Meissner, with patches
- 	by Richard Sandiford <rsandifo@redhat.com>
- 	* basic-block.h (struct ce_if_block, ce_if_block_t): New types.
- 	* ifcvt.c (cond_exec_changed_p): New static variable.
- 	(last_active_insn): New function, renamed from last_active_insn_p
- 	and changed to return the last active insn in a basic block. All
- 	callers updated.
- 	(block_fallthru): New function.
- 	(cond_exec_process_insns): New argument CE_INFO.  Pass it to
- 	IFCVT_MODIFY_INSN.  All callers updated.
- 	Return false if START or END are NULL.
- 	Handle case where we're processing an insn that is already
- 	conditional.
- 
- 	(noce_process_if_block): CE_INFO argument rather than
- 	multiple args containing the involved basic blocks.  All callers
- 	changed.
- 	(process_if_block, merge_if_block, find_if_block,
- 	cond_exec_process_if_block): Likewise.
- 
- 	(cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
- 	changed.
- 	Use new function last_active_insn to simplify some code.
- 	New code to handle multiple tests.
- 	Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
- 	cond_exec_changed_p to TRUE.
- 
- 	(process_if_block): New code to handle multiple tests.
- 	(merge_if_block): Likewise.
- 	(find_if_header): New arg PASS.  Changed to return the currently
- 	processed basic block or NULL instead of true/false. All callers
- 	changed.
- 	Call IFCVT_INIT_EXTRA_FIELDS.
- 	(block_jumps_and_fallthru_p): New function.
- 	(find_if_block): Discover opportunities to convert multiple tests.
- 	Add additional debugging output.
- 	Update the ce_info structure before returning.
- 
- 	(if_convert): Run multiple passes of if-conversion.
- 	* doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
- 	IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
- 	IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
- 	these macros.
- 
- Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c: Include cselib.h
- 	(constptop_register): Break out from ...
- 	(cprop_insn): ... here; kill basic_block argument.
- 	(do_local_cprop, local_cprop_pass): New functions.
- 	(one_cprop_pass): Call local_cprop_pass.
- 
- 2002-07-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* simplify-rtx.c (simplify_relational_operation): Optimize
- 	abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
- 
- 2002-07-20  Michae Matz  <matz@suse.de>
- 
- 	* ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
- 
- 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (struct op): Add token pointer.
- 	(check_promotion, CHECK_PROMOTION): New.
- 	(optab): Update.
- 	(_cpp_parse_expr): Update, use token pointer of struct op.
- 	(reduce): Warn about change of sign owing to promotion.
- 	* cppinit.c (cpp_handle_option): New warning if -Wall.
- 	* cpplib.h (struct cpp_options): New member.
- 
- 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
- 	fpu list.  Separate Power4 compare and delayed_compare.  Correct
- 	Power4 fpcompare.
- 	(fix_truncdfsi2_internal): Restore FPR preference.
- 	* config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
- 	mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
- 
- 2002-07-19  Momchil Velikov <velco@fadata.bg>
- 
- 	* reload1.c (reload_as_needed): Duplicate oldpat.
- 
- 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR optimization/7130
- 	* loop.h (struct loop_info): Add "preconditioned".
- 	* unroll.c (unroll_loop): Set it.
- 	* doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
- 
- 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.def (CODE_LABEL): Remove slot 8.
- 	* rtl.h (struct rtx_def): Document new uses of jump and call fields.
- 	(LABEL_ALTERNATE_NAME): Delete.
- 	(LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
- 	* defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
- 
- 	* final.c (output_alternate_entry_point): New.
- 	(final_scan_insn): Use it instead of
- 	ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
- 	of a case label being an alternate entry point.
- 
- 	* cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
- 	* emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
- 	Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
- 	(field deleted).
- 	* print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
- 
- 	* doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
- 	LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
- 	* doc/tm.texi: Delete documentation of
- 	ASM_OUTPUT_ALTERNATE_LABEL_NAME.
- 
- 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
- 	(PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
- 	(LINK_SPEC): Define.
- 	(STARTFILE_SPEC): Define.
- 	(ENDFILE_SPEC): Define.
- 
- 	* config/mips/iris6-o32.h (LINK_SPEC): Move ...
- 	* config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
- 
- 	* config/mips/iris6-o32-gas.h: New file.
- 	* config.gcc (mips-sgi-irix6*o32): Use it.
- 
- 	* config/mips/t-iris5-gas: New file.
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
- 
- 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (ALWAYS_EVAL): Remove.
- 	(optab, reduce): Always evaluate.
- 	(num_unary_op, num_binary_op, num_div_op): Issue diagnostics
- 	only if not skipping evaluation.
- 
- 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (debug_hard_reg_set): Remove.
- 
- 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* gcc.c (cpp_options): Include "%1" (cc1_spec).
- 
- 2002-07-19  Richard Henderson  <rth@redhat.com>
- 
- 	* loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
- 
- 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* prefix.c (update_path): Don't zap single `.' path components
- 	unless followed by another `.' and fix typo last patch.
- 
- 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (cpp_num_mul): Remove unused parameter.
- 	(UNARY, BINARY, OTHER, binary_handler): Remove.
- 	(ALWAYS_EVAL): New.
- 	(optab): Update.
- 	(reduce): Refactor to a large switch, don't use a function
- 	pointer.
- 
- 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
- 
- 	* config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
- 
- Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
- 	(sh_expand_binop_v2sf): Likewise.
- 	* sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
- 	(int_gpr_dest, trunc_hi_operand): New functions.
- 	* sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
- 	trunc_hi_operand.
- 	(SPECIAL_MODE_PREDICATES, any_register_operand): Define.
- 	* sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
- 	(adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
- 	(ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
- 	(and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
- 	(zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
- 	(extendhisi2_media+1, extendqisi2_media+1): Likewise.
- 	(movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
- 	(movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
- 	(movsf_ie+1): Likewise.
- 	(loaddi_trunc): Use int_gpr_dest predicate.
- 	(use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
- 	(mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
- 	(casesi_worker_0+[12], casesi_worker): Likewise.
- 	(shcompact_preserve_incoming_args): Likewise.
- 	(mov_nop): Use any_register_operand predicate.
- 	(mperm_w0): Use trunc_hi_operand predicate.
- 
- 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
- 	* pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
- 	numbering.
- 
- 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
- 
- 2002-07-18  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/7147
- 	* ifcvt.c (noce_get_condition): Make certain that the condition
- 	is valid at JUMP.
- 
- Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (barrier_align, push): Shut up compiler warnings.
- 	(initial_elimination_offset,sh_media_init_builtins): Likewise.
- 	(reg_no_subreg_operand): Delete.
- 
- 2002-07-17  Bo Thorsen  <bo@suse.de>
- 
- 	* config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
- 	(STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
- 	(STARTFILE_SPEC): Remove hardcoded library paths.
- 	(ENDFILE_SPEC): Likewise.
- 
- Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
- 
- 	* gcse.c (try_replace_reg): Do not return false positives.
- 
- 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* prefix.c: (update_path): Strip ".." components when prior dir
- 	doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
- 	(ASM_OUTPUT_REG_POP): Likewise.
- 
- 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
- 	adjustments to first_reg for profiling case.
- 	(output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
- 	Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
- 	Save static chain reg to sp + 12 on ABI_AIX_NODESC.
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
- 	(ASM_OUTPUT_REG_POP): Define.
- 	* config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
- 	(ASM_OUTPUT_REG_POP): Undef.
- 
- 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplib.c (do_sccs): Handle #sccs on all systems.
- 	* system.h (SCCS_DIRECTIVE): Poison.
- 	* config/darwin.h, config/freebsd.h, config/netbsd.h,
- 	config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
- 	config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
- 	config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
- 	config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
- 	config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
- 	config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
- 	config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
- 	Remove all references to SCCS_DIRECTIVE.
- 	* doc/cpp.texi, doc/tm.texi: Update.
- 
- Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* regrename.c (maybe_mode_change): New function.
- 	(find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
- 
- 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
- 
- 	* config/i386/i386.c (ix86_expand_int_movcc): In the general case
- 	suppress addition when either ct or cf are zero.
- 
- 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
- 	    Glen Nakamura <glen@imodulo.com>
- 
- 	PR optimization/6713
- 	* loop.c (loop_givs_rescan): Explicitly delete the insn that
- 	sets a non-replaceable giv after issuing the new one.
- 
- 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
- 	eval_token): Clarify and correct use of "bool" variables.
- 	* cpplib.h (struct cpp_options): Similarly.
- 	* cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
- 	* cpptrad.c (recursive_macro): Similarly.
- 
- Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
- 	SHmedia code.
- 
- 	* sh.md (cmpgtudi_media): Remove spurious @.
- 
- 	* config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
- 	* sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
- 
- 	* config/sh/lib1funcs.asm (init_trampoline): New entry point.
- 	* sh-protos.h (sh_initialize_trampoline): Declare.
- 	* sh.c (sh_initialize_trampoline): New function.
- 	* sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
- 	(TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
- 	(INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
- 	(TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
- 	* sh.md (initialize_trampoline, double_shori): New patterns.
- 	(initialize_trampoline_compact): Likewise.
- 	(shmedia32_initialize_trampoline_big): Remove.
- 	(shmedia32_initialize_trampoline_little): Likewise.
- 
- 	* sh-protos.h (binary_float_operator): Remove declaration.
- 	(sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
- 	* sh.c (print_operand, case 'N'): Check against CONST0_RTX.
- 	(unary_float_operator, sh_expand_unop_v2sf): New functions.
- 	(sh_expand_binop_v2sf): Likewise.
- 	(zero_vec_operand): Delete.
- 	(SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
- 	all non-shared ones.
- 	(bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
- 	Enable nsb and byterev.
- 	* sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
- 	(HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
- 	in general regs.
- 	(enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
- 	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
- 	immediate operands.
- 	(SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
- 	Add DF_HI_REGS.
- 	(CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
- 	lowpart fp regs - only for big endian for now.
- 	(LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
- 	when FPU is in use.
- 	(EXTRA_CONTRAINT_U): Check against CONST0_RTX.
- 	(LOAD_EXTEND_OP): NIL for SImode.
- 	(REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
- 	general and fp registers is 4.
- 	PREDICATE_CODES: Amend binary_float_operator entry.
- 	Remove zero_vec_operand.  Add unary_float_operator.
- 	* sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
- 	subreg SET_DEST.
- 	(truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
- 	(truncdiqi2): Do sign extension.
- 	(movsi_media, movdi_media): Allow to use r63 to an fp register.
- 	(movdf_media, movsf_media): Likewise.
- 	(movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
- 	Collapse to one define_insn_and_split.  Allow immediate sources.
- 	(addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
- 	(movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
- 	(movv4sf): Allow immediate sources.
- 	(movsf_media_nofpu+1): Don't split moves to FP registers.
- 	(unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
- 	(movv8qi_i+3): Check against CONST0_RTX.
- 	(mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
- 	for input and output operands.  Fix argument 3 to gen_mextr_rl.
- 	(mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
- 	(msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
- 	(mshf0_w, fipr, ftrv): Likewise.
- 	(mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
- 
- 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
- 
- 	* arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
- 	NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
- 	* arm.c: Similarly.
- 
- 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_sign_extend): Declare.
- 	* config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
- 	(TARGET_SWITCHES): Remove debugh.
- 	(ISA_HAS_TRUNC_W): New macro.
- 	(CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
- 	(PREDICATE_CODES): Remove se_nonimmediate_operand.
- 	* config/mips/mips.c (movdi_operand): Allow sign-extensions of
- 	any SImode move_operand.
- 	(se_nonimmediate_operand): Remove.
- 	(mips_sign_extend): New.
- 	(mips_move_2words): Use it for sign-extended source operands.
- 	(override_options): Allow integers to be put into single FPRs.
- 	(mips_secondary_reload_class): Handle integers in float registers.
- 	* config/mips/mips.md (extendsidi2): Turn into a define_expand.
- 	(fix_truncsfsi2, fix_truncdfsi2): Likewise.
- 	(fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
- 	(fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
- 	(fix_truncdfdi2): Provide only a single alternative, in which the
- 	integer is in a float register.  Depend on TARGET_FLOAT64 rather
- 	than TARGET_64BIT.
- 	(fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
- 	(floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
- 	(movdi_internal2): Don't allow the source operand to be sign-extended.
- 	Add alternatives for float registers.
- 	(*movdi_internal2_extend): New.  Version of movdi_internal2 that
- 	allows sign-extension.
- 	(*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
- 	(movsi_internal2): Rename to movsi_internal.  Add alternatives for
- 	float registers.  Remove TARGET_DEBUG_H_MODE test.
- 	(movhi_internal1): Rename to movhi_internal.  Don't check
- 	TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
- 	(movqi_internal1): Rename to movqi_internal and remove
- 	TARGET_DEBUG_H_MODE dependency.
- 	(movsi_internal1, movhi_internal2, movqi_internal2): Remove.
- 
- 2002-07-16  Jim Wilson  <wilson@redhat.com>
- 
- 	* toplev.c (lang_dependent_init): Create function context for
- 	init_expr_once.
- 
- 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
- 	--gc-sections if -r.
- 	* config/cris/cris.h: Ditto.
- 
- 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
- 
- 	* config/i386/i386.c (ix86_expand_int_movcc): In the case where
- 	the comparison directly gives a mask suppress addition when cf is
- 	zero by complementing the mask.
- 
- 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in: Delete references to enquire.
- 	* enquire.c: Move to contrib.
- 
- 2002-07-16  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
- 	config/rs6000/darwin.h.
- 	(ASM_OUTPUT_SKIP): Ditto.
- 	(TEXT_SECTION_ASM_OP): Ditto.
- 	(DATA_SECTION_ASM_OP): Ditto.
- 	(ASM_APP_ON): Define.
- 	(ASM_APP_OFF): Define.
- 	* config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
- 	TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
- 
- 	* config/darwin.c (func_name_maybe_scoped): Remove unused decl.
- 	(machopic_function_base_name): Declare result to be const.
- 	(machopic_non_lazy_ptr_name): Ditto.
- 	(machopic_stub_name): Ditto.
- 	* config/darwin-protos.h: Ditto for the prototypes.
- 
- Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
- 
- Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (prefetch): Fix for 64bit mode.
- 	(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
- 
- Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (MACHINE_DEPENDENT_REORG): New macro.
- 	* i386.c (x86_machine_dependent_reorg): New function.
- 	* i386-protos.h (x86_machine_dependent_reorg): Declare.
- 
- 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* builtins.c (std_expand_builtin_va_start): Remove unused
- 	first argument.
- 	(expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
- 	std_expand_builtin_va_start with just two arguments.
- 	* expr.h: Update prototypes.
- 
- 	* alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
- 	arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
- 	i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
- 	m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
- 	mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
- 	rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
- 	s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
- 	sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
- 	xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
- 	argument from all implementations of EXPAND_BUILTIN_VA_START
- 	and all uses of std_expand_builtin_va_start.
- 
- Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* regrename.c (copy_value): Don't record high part copies.
- 
- 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
- 	(fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
- 	* gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
- 
- 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
- 
- 	* doc/invoke.texi (NS32K Options): Document -mieee-compare option
- 
- 	* config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
- 	into addsi3 using register class "x" and "y".
- 
- 	* config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
- 	"earlyclobber" constraint modifier for some alternative.
- 
- 	* config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
- 	(*ble, *blt): Flag to indicate bCOND and sCOND should check for
- 	unordered.
- 	config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
- 
- 	* config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
- 	(TARGET_SWITCHES): Add -mieee-compare option.
- 	(OVERRIDE_OPTIONS): 32332 is a subset of
- 	32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
- 	(TARGET_SWITCHES): Fix description of bitfield option.
- 	* config/ns32k/netbsd.h (TARGET_DEFAULT): Add
- 	-mieee-compare option. Remove 32332 flag.
- 
- 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* explow.c (convert_memory_address): Remove special handling
- 	when POINTERS_EXTEND_UNSIGNED < 0.
- 	* config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
- 	(movedi_symbolic): Fix typo.
- 	(load_fptr): Remove mode restriction so it works for SI and DI.
- 	(load_fptr_internal1): Ditto.
- 	(load_gprel): Ditto.
- 	(load_symptr_internal1): Ditto.
- 	(call_pic): Ditto.
- 	* config/ia64.c (call_operand): Modify mode check.
- 	(ia64_expand_load_address): Handle DI and SI addresses and symbols.
- 	(ia64_expand_move): Ditto.
- 	(ia64_assemble_integer): Handle SImode function pointers.
- 	(ia64_expand_fetch_and_op): Handle SImode mem addresses.
- 	(ia64_expand_op_and_fetch): Ditto.
- 	(ia64_expand_compare_and_swap): Ditto.
- 	(ia64_expand_lock_test_and_set): Ditto.
- 	(ia64_expand_lock_release): Ditto.
- 
- 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
- 
- 	* arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
- 
- 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
- 	    Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
- 	CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
- 
- 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (stack_tie): New insn.  Use an idiom that the alias code
- 	understands to be a memory clobber.
- 	* arm.c (arm_expand_prologue): Use it.
- 
- 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* ra-rewrite.c: #include reload.h, insn-config.h
- 	* ra-build.c: #include reload.h
- 	* Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
- 	depend on reload.h, insn-config.h.
- 
- Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* expr.c (emit_move_insn_1): Handle arbitrary moves that are
- 	the same size as a word.
- 
- 	* regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
- 	BYTES_BIG_ENDIAN into account.
- 
- Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (prefetch): Fix for 64bit mode.
- 	(prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
- 
- 	* i386.md (movss, movsd): Use xorps/xorpd for Athlon.
- 
- 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
- 
- 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ginclude/varargs.h: Replace with stub which issues #error.
- 	* ginclude/stdarg.h: __builtin_stdarg_start is renamed
- 	__builtin_va_start.
- 
- 	* builtins.def (BUILT_IN_VARARGS_START): Delete.
- 	(BUILT_IN_VA_START): New.
- 	* builtins.c (expand_builtin_va_start): Eliminate first
- 	argument and code to implement pre-ISO varargs.
- 	(std_expand_builtin_va_start): Ignore first argument; it is
- 	always 1.
- 	(expand_builtin): Handle BUILT_IN_VA_START and
- 	BUILT_IN_STDARG_START identically.  Delete
- 	BUILT_IN_VARARGS_START case.
- 
- 	* function.c (assign_parms): Delete hide_last_arg and all
- 	its uses.
- 	(mark_varargs): Delete function.
- 	* function.h (struct function): Delete 'varargs' bit.
- 	(current_function_varargs): Delete macro.
- 	* tree.h: Don't declare mark_varargs.
- 
- 	* c-decl.c (c_function_varargs, c_mark_varargs): Delete.
- 	(c_expand_body): Don't call mark_varargs.
- 	* c-objc-common.c: Handle BUILT_IN_VA_START and
- 	BUILT_IN_STDARG_START identically.  Delete
- 	BUILT_IN_VARARGS_START case.
- 	* c-tree.h: Don't declare c_mark_varargs.
- 	* c-parse.in: Remove grammar rules for '&...' (which has been
- 	commented out since before 2.7.2) and for '...' in K+R
- 	argument declarations.
- 
- 	* builtins.c, function.c, integrate.c, sibcall.c,
- 	config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
- 	config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
- 	config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
- 	config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
- 	config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
- 	config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
- 	config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
- 	config/stormy16/stormy16.c: Delete all references to
- 	current_function_varargs, and code predicated on that flag.
- 
- 	* config/alpha/alpha.c (alpha_va_start),
- 	config/arc/arc.c (arc_va_start),
- 	config/i386/i386.c (ix86_va_start),
- 	config/mips/mips.c (mips_va_start),
- 	config/mn10300/mn10300.c (mn10300_va_start),
- 	config/rs6000/rs6000.c (rs6000_va_start),
- 	config/s390/s390.c (s390_va_start),
- 	config/sh/sh.c (sh_va_start),
- 	Ignore first argument; it is always 1.
- 
- 	* config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
- 	* config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
- 	* config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
- 	Delete m68hc11_va_start.
- 	* config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
- 	No need to define EXPAND_BUILTIN_VA_START.
- 
- 	* doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
- 	doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
- 
- 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
- 
- 	PR optimization/7153
- 	* regmove.c (optimize_reg_copy_3): Don't optimize if the register
- 	dies in more than one insn.
- 
- 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
- 
- 2002-07-15  Michael Matz  <matz@suse.de>,
- 	    Daniel Berlin  <dberlin@dberlin.org>,
- 	    Denis Chertykov  <denisc@overta.ru>
- 
- 	Add a new register allocator.
- 
- 	* ra.c: New file.
- 	* ra.h: New file.
- 	* ra-build.c: New file.
- 	* ra-colorize.c: New file.
- 	* ra-debug.c: New file.
- 	* ra-rewrite.c: New file.
- 
- 	* Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
- 	(ra-rewrite.o): New .o files for libbackend.a.
- 	(GTFILES): Add basic-block.h.
- 
- 	* toplev.c (flag_new_regalloc): New.
- 	(f_options): New option "new-ra".
- 	(rest_of_compilation): Call initialize_uninitialized_subregs()
- 	only for the old allocator.  If flag_new_regalloc is set, call
- 	new allocator, instead of local_alloc(), global_alloc() and
- 	friends.
- 
- 	* doc/invoke.texi: Document -fnew-ra.
- 	* basic-block.h (FOR_ALL_BB): New.
- 	* config/rs6000/rs6000.c (print_operand): Write small constants
- 	as @l+80.
- 
- 	* df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
- 	(df_reg_table_realloc): Make size at least as large as max_reg_num().
- 	(df_insn_table_realloc): Size argument now is absolute, not relative.
- 	Changed all callers.
- 
- 	* gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
- 	* regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
- 
- 	2002-06-20  Michael Matz  <matz@suse.de>
- 
- 	* df.h (struct ref.id): Make unsigned.
- 	* df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
- 
- 	2002-06-13  Michael Matz  <matz@suse.de>
- 
- 	* df.h (DF_REF_MODE_CHANGE): New flag.
- 	* df.c (df_def_record_1, df_uses_record): Set this flag for refs
- 	involving subregs with invalid mode changes, when
- 	CLASS_CANNOT_CHANGE_MODE is defined.
- 
- 	2002-05-07  Michael Matz  <matz@suse.de>
- 
- 	* reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
- 
- 	2002-05-03  Michael Matz  <matz@suse.de>
- 
- 	* sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
- 
- 	Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
- 
- 	* regclass.c (regclass): Work with all regs which have sets or
- 	refs.
- 	(reg_scan_mark_refs): Count regs inside (clobber ...).
- 
- 	2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
- 
- 	* df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
- 	(df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
- 	add new refs.
- 	(df_bb_refs_update): Don't clear insns_modified here, ...
- 	(df_analyse): ... but here.
- 
- 	* sbitmap.c (dump_sbitmap_file): New.
- 	(debug_sbitmap): Use it.
- 
- 	* sbitmap.h (dump_sbitmap_file): Add prototype.
- 
- 	2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* df.c (df_insn_modify): Grow the UID table if necessary, rather
- 	than assume all emits go through df_insns_modify.
- 
- 	2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
- 
- 	* regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
- 	increase REG_N_REFS (like flow does), so that regclass doesn't
- 	think a reg is useless, and thus, not calculate a class, when it
- 	really should have.
- 
- 	2001-01-28  Daniel Berlin  <dberlin@redhat.com>
- 
- 	* sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
- 	dataflow analysis.
- 
- 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR middle-end/7245
- 	* config/i386/i386.c (const_int_1_31_operand): New.
- 	* config/i386/i386.h (PREDICATE_CODES): Add it.
- 	* config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
- 	ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
- 	lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
- 
- 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/7282
- 	* config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
- 	(floatunssidf2): Likewise.
- 	(floatsidf_ppc64): New insn_and_split.
- 	(floatunssidf_ppc64): Likewise.
- 
- 2002-07-14  Andreas Jaeger  <aj@suse.de>
- 
- 	* config.gcc (sh64): Remove unused
- 	target_requires_64bit_host_wide_int.
- 
- 2002-07-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c [CLEAR_RATIO]: New macro defining the maximum number
- 	of move instructions to use when clearing memory, c.f. MOVE_RATIO.
- 	[CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
- 	whether clear_by_pieces should be used to clear storage.
- 	(clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
- 
- 	* doc/tm.texi: Document these two new target macros.
- 
- 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
- 	the scratch register.
- 	("*movhi2_push"): Accept Z_REG because a split pattern can make use
- 	of it, forbid reload to use it.
- 
- 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
- 	usage on 64-bit hosts, return value was truncated to 32 bits.
- 
- Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Handle floating point
- 	CONST_DOUBLEs.  When an integer subreg of a smaller mode than
- 	the element mode is requested, compute a subreg with an
- 	integer mode of the same size as the element mode first.
- 
- Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* combine.c (try_combine): When converting a paradoxical subreg
- 	to an extension, take LOAD_EXTEND_OP into account.
- 
- 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config.gcc (mips-sgi-irix6*o32): New configuration.
- 
- 	* configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
- 	configurations.
- 	* configure: Regenerate.
- 
- 	* config/mips/iris6-o32-as.h: New file.
- 	* config/mips/iris6-o32.h: New file.
- 
- 	* config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
- 	(NM_FLAGS): Define.
- 	(HAVE_AS_SHF_MERGE): Undefine.
- 
- 	* config/mips/t-iris5-as: New file.
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
- 
- 	* config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
- 	SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
- 	SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
- 	dp-bit.c, fp-bit.c): Move ...
- 	* config/mips/t-iris5-6: ... here.
- 	New file, shared by IRIX 5 and IRIX 6.
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
- 	mips-sgi-irix5*): Use it.
- 
- 	* config/mips/iris6.h: Remove duplicate comment.
- 
- 	* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
- 	!TARGET_IRIX6]: Define.
- 	(mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
- 
- 	* config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
- 
- 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
- 	and delete code to force constant to register.
- 	* pa-protos.h (adddi3_operand): Add prototype.
- 	* pa.c (adddi3_operand): New function.
- 
- 2002-07-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-decl.c (duplicate_decls): Preserve the noreturn attribute on
- 	non-ANSI builtin functions.
- 
- Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* rtl.h (gen_rtx_CONST_VECTOR): Declare.
- 	* gengenrtl.c (special_rtx): Check for CONST_VECTOR.
- 	* emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
- 	(gen_const_vector_0): Use it.
- 
- 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa.md (adddi3): For 32-bit targets, force constants to a register
- 	if they don't fit in an 11-bit immediate.  Change insn predicate to
- 	arith11_operand.  Remove comment.
- 	* pa.c (cint_ok_for_move): Fix comment.
- 	(emit_move_sequence):  Don't directly split DImode constants on 32-bit
- 	targets.
- 
- 2002-07-11  Tim Josling  <tej@melbpc.org.au>
- 
- 	Remove front end hard coding from gengtype.c.
- 
- 	* Makefile.in
- 	(STAGESTUFF): add gtyp-gen.h
- 	(GTFILES): Remove front end specific files.
- 	(GTFILES_FILES_LANGS): New, from configure..
- 	(GTFILES_FILES_FILES): Likewise.
- 	(GTFILES_LANG_DIR_NAMES): Likewise.
- 	(GTFILES_SRCDIR): Likewise.
- 	(gtyp-gen.h): Build from configure information.
- 	(s-gtype): Remove command line parameters from gengtype.
- 	(gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
- 	(mostlyclean): Delete files generated by and for gengtype.
- 
- 	* c-config-lang.in: New file.
- 
- 	* configure.in (all_gtfiles_files_langs): New. Accumulate files
- 	for each language.
- 	(all_gtfiles_files_files): New. Accumulate language for each file
- 	accumulated.
- 	(gtfiles): Pick up value for C.
- 	(srcdir): AC-SUBST this variable.
- 	(all_gtfiles_files_langs): AC-SUBST this variable.
- 	(all_gtfiles_files_files): AC-SUBST this variable.
- 
- 	* configure: Regenerate.
- 
- 	* gengtype-lex.l (parse_file): Make parameter const.
- 
- 	* gengtype.c (toplevel): include gtyp-gen.h.
- 	(BASE_FILE_<language> unnamed enum): Delete.
- 	(lang_names): Delete (replaced by gtyp-gen.h)
- 	(lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
- 	all references.
- 	(NUM_GT_FILES): New.
- 	(NUM_LANG_FILES): New.
- 	(srcdir_len): New.
- 	(NUM_BASE_FILES): Change calculation.
- 	(open_base_files): Change prototype to avoid warning.
- 	(startswith): Delete.
- 	(get_file_basename): Iterate through generated language list not
- 	hard coded list.
- 	(get_base_file_bitmap): Use generated list of files and languages.
- 	(close_output_files): Add prototype to rmove warning.
- 	(main): Iterate through list of generated files from gtyp-gen.h
- 	rather than command line paramaters.  Ignore duplicated file
- 	names.
- 
- 	* gengtype.h (parse_file): Amend prototype for const parameter.
- 
- 	* doc/sourcebuild.texi: Document gtfiles variable.
- 
- 	* doc/gty.texi: Document changes to gtfiles variable for front
- 	ends.
- 
- 	* objc/config-lang.in (gtfiles): Add files needed for objc front
- 	end.
- 
- 2002-07-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/2454
- 	* combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
- 	to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
- 
- 2002-07-10  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* builtins.def: Make the argument types of abort and exit
- 	independent of the front-end.
- 
- 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (ASM_SPEC): Define.
- 
- 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (emit_frame_save): New.
- 	(rs6000_frame_related): Replace reg2 before reg.
- 	(rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
- 	and eh_return registers.
- 
- 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	Revert all patches for optimization of Complex .op. Real.
- 	* complex_part_zero_p: Remove
- 	* expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
- 	with x.
- 	* expand_cmplxdiv_wide: Ditto.
- 	* expand_binop: Ditto.
- 
- 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.md: Fix two 0x80000000 constants to make them
- 	negative also on 64-bit hosts.
- 
- 	Default to -fno-reorder-blocks when optimizing for size.
- 	* config/avr/avr-protos.h (avr_optimization_options): Declare.
- 	* config/avr/avr.c (avr_optimization_options): New function.
- 	* config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
- 
- 	Optimize returning from simple functions.
- 	* config/avr/avr-protos.h (avr_simple_epilogue): Declare.
- 	* config/avr/avr.c (avr_simple_epilogue): New function.
- 	* config/avr/avr.md (return): New insn.
- 
- 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
- 	HAS_INIT_SECTION to protection.
- 
- 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/invoke.texi (Debugging Options): Mention that -gdwarf is
- 	deprecated.
- 
- Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* combine.c (gen_lowpart_for_combine): Handle vector modes.
- 	Supply non-VOID mode to simplify_gen_subreg.
- 
- Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
- 
- 2002-07-10  Jeffrey A Law  <law@redhat.com>
- 
- 	* mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
- 	as appropriate.
- 
- 	* mn10200.c (expand_epilogue): Fix test to determine which scratch
- 	register to use.
- 
- Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
- 	Get mode from dest.
- 	If simplify_gen_subreg fails, try next equivalent.
- 
- 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
- 
- 	* diagnostic.h: #include location.h
- 	(location_t): Move definition to..
- 	* location.h: ... here.  New file.
- 	* tree.h: #include location.h
- 	(DECL_SOURCE_LOCATION): New macro.
- 	(DECL_SOURCE_FILE): Use.
- 	(DECL_SOURCE_LINE): Likewise.
- 	(struct tree_decl): REplace filename and linenum with locus.
- 	* Makefile.in (TREE_H): add location.h
- 	(diagnostic.o): Depends on gt-location.h
- 	(gt-location.h): Depends on s-gtype
- 
- 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* config/rs6000/aix.h: Convert CPP_PREDEFINES to
- 	TARGET_OS_CPP_BUILTINS.
- 	* config/rs6000/aix31.h: Likewise.
- 	* config/rs6000/aix41.h: Likewise.
- 	* config/rs6000/aix43.h: Likewise.
- 	* config/rs6000/aix51.h: Likewise.
- 	* config/rs6000/beos.h: Likewise.
- 	* config/rs6000/darwin.h: Likewise.
- 	* config/rs6000/eabi.h: Likewise.
- 	* config/rs6000/eabisim.h: Likewise.
- 	* config/rs6000/linux.h: Likewise.
- 	* config/rs6000/linux64.h: Likewise.
- 	* config/rs6000/lynx.h: Likewise.
- 	* config/rs6000/mach.h: Likewise.
- 	* config/rs6000/rtems.h: Likewise.
- 	* config/rs6000/sysv4.h: Likewise.
- 	* config/rs6000/vxppc.h: Likewise.
- 
- 2002-07-09 Devang Patel <dpatel@apple.com>
- 	* objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
- 	Do not allow ObjC objects as a parameter type for Objective-C methods.
- 	My previous patch restricted  'struct' also.
- 
- 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpperror.c (cpp_error): Default to directive_line within
- 	directives here.
- 	* cppexp.c (cpp_interpret_integer): Only use traditional
- 	number semantics in directives.
- 	* cpplib.c (prepare_directive_trad): Don't reset pfile->line.
- 	(do_include_common): Similarly.
- 	* cpptrad.c (scan_out_logical_line): Implement accurate
- 	quoting of <> in #include.
- 	* doc/cpp.texi: Update.
- 
- Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
- 			  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
- 	* sh.md (attribute issues): Replace with:
- 	(attribute pipe_model).  All users changed.
- 	(attribute type): Change pt / ptabs to pt_media / ptabs_media.
- 	All users changed.
- 	(function units sh5issue, sh5fds): New.
- 	(attribute is_mac_media): New.
- 	(adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
- 	(andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
- 	(ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
- 	(movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
- 	(call_media, call_value_media, sibcall_media): Likewise.
- 	(casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
- 	(return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
- 	(mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
- 	(fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
- 	(cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
- 	(sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
- 	(muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
- 	(fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
- 	(cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
- 	(sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
- 	(truncdfsf2_media): Likewise.
- 	(movsi_media, movsi_media_nofpu, movdi_media): Use new types.
- 	(movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
- 
- Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
- 	* sh.c (general_extend_operand, inqhi_operand): New functions.
- 	* sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
- 	alternatives using 'N' modifier.  Add type.
- 	(adddi3z_media): Likewise.  Enable generator function generation.
- 	(movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
- 	exact predicates / constraints.  Add type.
- 	(subsi3): Allow 0 for SHMEDIA.
- 	(udivsi3_i4_media): Use match_operand for input values
- 	rather than hard registers.
- 	(udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
- 	unnecessarily through hard registers.  Keep copies of pseudo
- 	registers outside of the libcall sequence.
- 	(mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
- 	(ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
- 	(zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
- 	(extendhidi2, extendqidi2): Likewise.
- 	(andsi3_compact): Name.
- 	(andcdi3): Enable generator function generation.
- 	(zero_extendhisi2, zero_extendqisi2): Rename to
- 	(zero_extendhisi2_compact, zero_extendqisi2_compact).
- 	(extendhisi2, extendqisi2): Rename to
- 	(extendhisi2_compact, extendqisi2_compact).
- 	(rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
- 	(loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
- 	(zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
- 	(zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
- 	(extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
- 	(extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
- 	(truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
- 	(shmedia32_initialize_trampoline_big): Likewise.
- 	(shmedia32_initialize_trampoline_little): Likewise.
- 	(nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
- 	(negdi2): Remove spurious T clobber.
- 	(zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
- 	(movsi_media, movsi_media_nofpu): Remove spurious *k after b.
- 	(movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
- 	(movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
- 	(ic_invalidate_line_media): Write back data cache before invalidating
- 	instruction cache.  Add type.
- 	(movsf_media): Sign-extend when the destination is a general
- 	purpose register.  Add type.
- 	(bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
- 	(casesi_worker_0+1): Only increment ref count for proper label.
- 	(casesi_worker_0+2): Likewise.
- 
- 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
- 
- 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
- 	from Pmode to ptr_mode.
- 	(get_exception_pointer): Ditto.
- 	(connect_post_landing_pads): Ditto.
- 	(dw2_build_landing_pads): Ditto.
- 
- 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
- 	* gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
- 	* gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
- 	(handle_pragma_redefine_extname): Change to use new function.
- 
- 2002-07-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (combine_simplify_rtx): Add an explicit cast
- 	to avoid signed/unsigned comparison warning.
- 	(simplify_if_then_else): Likewise.
- 	(extended_count): Likewise.
- 	(simplify_shift_const): Likewise.
- 	(simplify_comparison): Likewise.
- 
- 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Add imadd type.  Update scheduler description
- 	to use imadd as well as imul.
- 	(*mul_acc_si, *madsi): Change imul alternatives to imadd.
- 	(*mul_acc_di, *mul_acc_64bit_di): Likewise.
- 	(*mul_sub_si): Likewise for first alternative.  Change second
- 	alternative from imul to multi.
- 
- 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (c_common_post_options): Update prototype;
- 	don't init backends if preprocessing only.
- 	* langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
- 	* langhooks.h (struct lang_hooks): Update post_options to
- 	return a boolean.
- 	* toplev.c (parse_options_and_default_flags, do_compile,
- 	lang_independent_init): Update prototypes.  Allow the
- 	front end to specify that there is no need to initialize
- 	the back end.
- 	(general_init): Move call to hex_init here...
- 	(toplev_main): ...from here.  Pass flag for back end init
- 	suppression.
- 
- Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
- 	(PREDICATE_CODES): Add entries for equality_comparison_operator,
- 	greater_comparison_operator and less_comparison_operator.
- 	* sh.c (print_operand): Add '\'' code.  Make 'o' handle
- 	more operators.
- 	(equality_comparison_operator): New function.
- 	(greater_comparison_operator, less_comparison_operator): Likewise.
- 	* sh.md (beq_media_i): Disable generator function generation.
- 	Use match_operator to handle a whole class of comparisons.  Add
- 	modifier in output template to provide branch prediction.  Add type.
- 	(bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
- 	(bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
- 	(blt_media_i, bleu_media_i, bltu_media_i): Likewise.
- 	(bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
- 
- 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	Emit MMIX function prologue and epilogue as rtl.
- 	* config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
- 	not unprototyped get_hard_reg_initial_val.
- 	("call_value", "nonlocal_goto_receiver"): Ditto.
- 	("return"): Make define_expand.  Move real insn to...
- 	("*expanded_return"): New pattern.
- 	("prologue", "epilogue"): New define_expands.
- 	* config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
- 	(struct machine_function): New member in_prologue.
- 	(FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
- 	(MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
- 	(MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
- 	(REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
- 	(LOCAL_REGNO): Define.  Adjust comment.
- 	* config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
- 	Consider regs_ever_live[MMIX_rJ_REGNUM], not just
- 	leaf_function_p.
- 	(MMIX_OUTPUT_REGNO): Don't translate registers while outputting
- 	the prologue.
- 	(mmix_target_asm_function_prologue): Make static.  Just mark that
- 	the prologue is being emitted.  Move guts to...
- 	(mmix_expand_prologue): New function.  Adjust for emitting
- 	prologue as rtl.  For sizes, use HOST_WIDE_INT only.
- 	(mmix_target_asm_function_epilogue): Make static.  Simply emit a
- 	\n.  Move guts to...
- 	(mmix_expand_epilogue): New function.  Adjust for emitting
- 	epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
- 	(mmix_target_asm_function_end_prologue): Mark that the prologue
- 	has ended.
- 	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
- 	(mmix_conditional_register_usage): Improve comments.
- 	(mmix_local_regno): New function.
- 	(mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
- 	* config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
- 	(mmix_expand_prologue, mmix_expand_epilogue): Ditto.
- 	(mmix_get_hard_reg_initial_val): Ditto.
- 
- 2002-07-06  Andreas Jaeger  <aj@suse.de>
- 
- 	* toplev.c (set_fast_math_flags): Don't use ISO C style function
- 	definitions.
- 	* gengtype.c (open_base_files): Likewise.
- 	(close_output_files): Likewise.
- 	* tracer.c (find_best_predecessor): Likewise.
- 	(find_best_successor): Likewise.
- 	(ignore_bb_p): Likewise.
- 
- 2002-07-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c++/7099
- 	* builtin-attrs.def: Define new attribute lists for use in
- 	builtins.def.
- 	* builtins.def [DEF_BUILTIN]: Modify to take an additional
- 	ATTRS argument, an enumerated value defined in builtin-attrs.def
- 	that represents the attribute list for the builtins.  Modify
- 	all builtin functions to pass an appropriate attribute list.
- 	Specify "abort", "exit", "_exit" and "_Exit" builtins here with
- 	their required noreturn attributes.
- 	* tree.h (enum_builtin_function): Ignore the additional parameter
- 	to DEF_BUILTIN.
- 	* builtins.c (built_in_names): Likewise.
- 	* c-common.c: (builtin_function_2): Replace the "int noreturn_p"
- 	argument with a tree representing the functions attribute list.
- 	Pass this "attrs" argument to builtin_function.  No longer handle
- 	the noreturn_p processing manually.
- 	(built_in_attributes): Move the definitions from builtin-attrs.def
- 	before c_common_nodes_and_builtins.
- 	(c_common_nodes_and_builtins): Handle the new ATTRS parameter in
- 	DEF_BUILTIN, passing it to both builtin_function and the changed
- 	builtin_function_2.
- 
- 	* doc/extend.texi: Document __builtin_abort, __builtin_exit,
- 	__builtin__exit and __builtin__Exit.
- 
- 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
- 	QI mode registers in soft registers.
- 	("zero_extendqihi2"): Do not take into account soft registers
- 	for register allocation (use '*' constraint).
- 
- 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
- 	it is dead.
- 	("*ashrsi3"): Likewise.
- 	("*lshrsi3"): Likewise.
- 
- 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_max_insn_queue_index_def): Take latencies
- 	into account.
- 
- 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
- 	address computation and memory moves.
- 
- 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/6706
- 	* dwarfout.c (output_reg_number): Fix warning message.
- 	(output_bound_representation): Check SAVE_EXPR_RTL is not NULL
- 	before using it.
- 
- 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* gcc/gcc.c (asm_debug): Move initialization ...
- 	(init_spec): ... here.
- 
- 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-parse.in (extdef): Append ';'.
- 	(old_style_parm_decls): Append ';'.
- 
- 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
- 	gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
- 	to gcc_cv_as_gstabs_flag.
- 	* configure: Rebuilt.
- 
- 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* ggc.h (ggc_add_root): Document as obsolete.
- 
- Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
- 	(mshflo_w): Likewise.
- 
- Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Reduce problem of finding
- 	vector mode subregs of constants to finding integer mode
- 	subregs of constants.
- 	* cse.c (cse_insn): Use simplify_gen_subreg.
- 	* convert.c (convert_to_integer): Don't strip a NOP_EXPR
- 	From a vector mode expression of different size than the
- 	target mode.
- 
- 2002-07-03  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
- 	* config/mips/mips.h: Remove deprecated -m<processor> options
- 	and cc1_cpu_spec associated.
- 	(CONSTANT_ADDRESS_P): Fix last patch.
- 	(ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
- 	* config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
- 	sunge_sf): Remove.
- 
- 2002-07-03  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
- 	(STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
- 	(CPP_SPEC): Remove insertion of APPLE_CC definition.
- 
- 2002-07-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (struct_undo): Change types of recorded substitutions
- 	to be either "int" or "rtx", instead of "unsigned int" and "rtx".
- 	(do_SUBST_INT): Change types of the substitution from unsigned int
- 	to int, to avoid compilation warning from SUBST_INT's only caller.
- 
- 	(make_extraction): Add cast to avoid compilation warning.
- 	(force_to_mode): Remove cast to avoid compilation warning.
- 
- 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* i386.md (length_immediate attribute): Fix typo.
- 	(length_address attribute): Likewise.
- 	(modrm attribute): Set it to 0 for immediate call instructions.
- 	(jcc_1 pattern): Set modrm attribute to 0.
- 	(jcc_2 pattern ): Likewise.
- 	(jump pattern): Likewise.
- 	(doloop_end_internal pattern): Explicitly set length.
- 	(leave pattern): Fix typo.
- 	(leave_rex64 pattern): Likewise.
- 
- 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
- 	in FPR as preference.
- 	(fctiwz): Same.
- 	(floatdidf2, fix_truncdfdi2): Same.
- 	(floatdisf2, floatditf2, fix_trunctfdi2): Same.
- 	(floatditf2): Same.
- 	(floatsitf2, fix_trunctfsi2): SImode in GPR.
- 	(ctrdi): Remove FPR alternative and splitter.
- 
- 2002-07-03  Will Cohen  <wcohen@redhat.com>
- 
- 	* config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
- 
- Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
- 	than UNITS_PER_WORD, unless this is little endian and the first unit
- 	in this word.  Let extract_bit_field decide how to load an element.
- 	Force arguments to matching mode.
- 	(expand_vector_unop): Likewise.
- 
- 	* simplify-rtx.c (simplify_subreg): Don't assume that all vectors
- 	consist of word_mode elements.
- 	* c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
- 	BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
- 	(build_unary_op): Allow vector types for BIT_NOT_EPR.
- 	* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
- 	CONST_VECTOR.
- 	* optabs.c (expand_vector_binop): Try to perform operation in
- 	smaller vector modes with same inner size.  Add handling of AND, IOR
- 	and XOR.  Reject expansion to inner-mode sized scalars when using
- 	OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
- 	(expand_vector_unop): Try to perform operation in smaller vector
- 	modes with same inner size.  Add handling of one's complement.
- 	When there is no vector negate operation, try a vector subtract
- 	operation.  Use simplify_gen_subreg on constants.
- 	* simplify-rtx.c (simplify_subreg): Add capability to convert vector
- 	constants into smaller vectors with same inner mode, and to
- 	integer CONST_DOUBLEs.
- 
- 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-parse.in (parsing_iso_function_signature): New variable.
- 	(extdef_1): New, copied from...
- 	(extdef): ... here.  Reset parsing_iso_function_signature.
- 	(old_style_parm_decls):  Reset parsing_iso_function_signature.
- 	(old_style_parm_decls_1): New, copied from old_style_parm_decls.
- 	Warn about ISO C style function definitions.
- 	(nested_function, notype_nested_function): Reset
- 	parsing_iso_function_signature.
- 	(parmlist_2): Set parsing_iso_function_signature.
- 
- 	* doc/invoke.texi (-Wtraditional): Document new behavior.
- 
- 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mips*el-*-*): Use tm_defines to set
- 	TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
- 	* config/mips/little.h: Remove.
- 
- 2002-07-02 Devang Patel <dpatel@apple.com>
- 
- 	* objc/objc-act.c (adjust_type_for_id_default): Do not allow an
- 	object as parameter. Prevent something like 'NSObject' to be
- 	used as the type for a method argument.
- 
- 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpptrad.c: Update comment.
- 
- 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* doc/cpp.texi: Update for traditional preprocessing changes.
- 	* goc/cppopts.texi: Similarly.
- 
- 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
- 
- 	* c-parse.in (designator): Enable designated initializers if ObjC.
- 	(objcmessageexpr): Remove references to objc_receiver_context.
- 	* objc/objc-act.h (objc_receiver_context): Remove decl.
- 	* objc/objc-act.c (objc_receiver_context): Remove.
- 	(lookup_objc_ivar): Test objc_method_context instead of
- 	objc_receiver_context.
- 
- Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (print_operand, case 'N'): Allow zero vector.
- 	(arith_reg_or_0_operand): Likewise.
- 	(zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
- 	* sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
- 	IOR, XOR, PLUS and SET and take their respective constant
- 	ranges into account.
- 	(PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
- 	* sh.md (subdi3, subdi3_media): Allow zero operand.
- 	(movv8qi_i+3): Only vector that is not split is the zero vector.
- 	Fix operand 3 to simplify_subreg.
- 	(movv2si_i): Split alternative 1.
- 	(mshfhi_l_di_rev+1): New splitter.
- 
- 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR preprocessor/7029
- 	* cppinit.c (cpp_handle_option):  Suppress warnings with an
- 	implicit "-w" for "-M" and "-MM".
- 	* doc/cppopts.texi: Update.
- 
- 2002-07-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
- 	identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
- 	builtin_function.
- 
- 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* README.Portability: Fix typos.
- 
- 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/7177
- 	* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
- 	of indirections for register inside sign-extended mem part.
- 
- 2002-07-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.h:  Modify builtin_function interface to take an extra
- 	argument ATTRS, which is a tree representing an attribute list.
- 
- 	* c-decl.c (builtin_function): Accept additional parameter.
- 	* objc/objc-act.c (builtin_function): Likewise.
- 	* f/com.c (builtin_function): Likewise.
- 	* java/decl.c (builtin_function): Likewise.
- 	* ada/utils.c (builtin_function): Likewise.
- 	* cp/decl.c (builtin_function): Likewise.
- 	(builtin_function_1): Likewise.
- 
- 	* c-common.c (c_common_nodes_and_builtins): Pass an additional
- 	NULL_TREE argument to builtin_function.  (builtin_function_2):
- 	Likewise.
- 	* cp/call.c (build_java_interface_fn_ref): Likewise.
- 	* objc/objc-act.c (synth_module_prologue): Likewise.
- 	* java/decl.c (java_init_decl_processing): Likewise.
- 	* f/com.c (ffe_com_init_0): Likewise.
- 
- 	* config/alpha/alpha.c (alpha_init_builtins): Pass an additional
- 	NULL_TREE argument to builtin_function.
- 	* config/arm/arm.c (def_builtin): Likewise.
- 	* config/c4x/c4x.c (c4x_init_builtins): Likewise.
- 	* config/i386/i386.c (def_builtin): Likewise.
- 	* config/ia64/ia64.c (def_builtin): Likewise.
- 	* config/rs6000/rs6000.c (def_builtin): Likewise.
- 
- 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
- 	* config/mips/t-isa3264: Likewise.
- 	* config/mmix/t-mmix: Likewise.
- 
- 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
- 
- 2002-07-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR opt/4046
- 	* fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
- 	A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
- 	B are truth values.
- 
- 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
- 
- 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* README.Portability (Function prototypes): Give an example of
- 	declaring and defining a function with no arguments.
- 
- 	* README.Portability (Function prototypes): Document new
- 	variable-argument function macros.
- 
- Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (langhooks.h): Include.
- 	(sh_init_builtins, sh_media_init_builtins): New functions.
- 	(sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
- 	(mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
- 	(sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
- 	(builtin_description): New struct tag.
- 	(signature_args, bdesc): New arrays.
- 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
- 	(print_operand): Add 'N' modifier.
- 	* sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
- 	(EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
- 	(EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
- 	(CONST_COSTS): Add special case for SHmedia AND.
- 	(PREDICATE_CODES): Add and_operand, arith_reg_dest,
- 	extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
- 	sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
- 	target_operand can also be const or unspec.
- 	* sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
- 	(UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
- 	(attribute type): Add new types.
- 	(anddi3): Add splitter.
- 	(movdi_const_16bit+1): Add code to handle vector constants and
- 	bitmasks efficiently.
- 	(shori_media): Have generator function made.
- 	(movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
- 	(movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
- 	(movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
- 	(ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
- 	(negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
- 	(negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
- 	(mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
- 	(mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
- 	(mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
- 	(mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
- 	(mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
- 	(mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
- 	(mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
- 	(mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
- 	(mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
- 	(mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
- 	(mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
- 	(lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
- 	(ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
- 	(ftrv): Likewise.
- 
- 	(fpu_switch+1, fpu_switch+2): Remove constraint.
- 
- 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* tree.c (build_function_type_list): Update function comment.
- 	Rename first argument to return_type.
- 
- 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
- 	tradcif.y and related files.
- 
- 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpptrad.c (skip_whitespace): Pass pointer to prior char.
- 
- 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
- 
- See ChangeLog.7 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ChangeLog.9 gcc-4.1.0/gcc/ChangeLog.9
*** gcc-4.0.2/gcc/ChangeLog.9	Thu Jul 24 17:18:40 2003
--- gcc-4.1.0/gcc/ChangeLog.9	Thu Jan  1 00:00:00 1970
***************
*** 1,21488 ****
- 2003-06-30  Bruno Haible  <bruno@clisp.org>
- 
- 	PR middle-end/6578
- 	* libgcc2.c (__subvsi3): Remove simplification that would not work
- 	when subtracting -0x80000000.
- 	(__subvdi3): Remove simplification that would return a wrong result.
- 	(__mulvsi3): Fix overflow check.
- 	(__absvdi2): Fix simplification that would return a wrong result.
- 	(__mulvdi3): Fix overflow check.
- 
- 2003-06-30  Jeff Law  <law@redhat.com>
- 
- 	* stmt.c (any_pending_cleanups): Lose argument THIS_CONTOUR, it
- 	was always passed in the value '1'.  Simplify body appropriately.
- 	* tree.h (any_pending_cleanups): Corresponding changes.
- 	* calls.c: (expand_call): Corresponding changes.
- 
- 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (distribute_notes): Don't bother REG_WAS_0.
- 	* cse.c (cse_insn): Likewise.
- 	* final.c (final_scan_insn): Likewise.
- 	* jump.c (duplicate_loop_exit_test): Likewise.
- 	* rtl.c (reg_note_name): Remove REG_WAS_0.
- 	* rtl.h (REG_WAS_0): Remove.
- 	* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
- 	* config/avr/avr.c (output_movqi): Don't use reg_was_0.
- 	(output_movhi): Likewise.
- 	(output_movsisf): Likewise.
- 	(reg_was_0): Remove.
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
- 	REG_WAS_0.
- 	(m68hc11_gen_movqi): Likewise.
- 	* config/vax/vax-protos.h: Remove the prototype for
- 	reg_was_0_p.
- 	* config/vax/vax.c (follows_p): Remove.
- 	(reg_was_0_p): Likewise.
- 	* config/vax/vax.md (movsi): Don't use reg_was_0_p.
- 	(movhi): Likewise.
- 	(movqi): Likewise.
- 	* doc/rtl.texi (REG_WAS_0): Remove.
- 
- 2003-06-30  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/rs6000/spe.h (__ev_set_spefscr_frmc): Set the flag.
- 
- 2003-06-30  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib1funcs.asm: Use "xtensa-config.h" from
- 	top-level include directory.
- 	* config/xtensa/lib2funcs.S: Likewise.
- 	* config/xtensa/xtensa.h: Likewise.
- 	* config/xtensa/xtensa-config.h: Remove.
- 	* doc/install.texi: Update location of "xtensa-config.h" header.
- 
- 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_extra_constraint): New function.
- 	* config/s390/s390-protos.h (s390_extra_constraint): Declare it.
- 	* config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
- 	* config/s390/s390.c (q_constraint): Remove.
- 	* config/s390/s390-protos.h (q_constraint): Likewise.
- 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Add 'R', 'S', 'T'.
- 	(EXTRA_ADDRESS_CONSTRAINT): Define.
- 
- 	* config/s390/s390.c (larl_operand): Refuse out-of-range operands.
- 	(DISP_IN_RANGE, s390_short_displacement): New.
- 	(legitimate_reload_operand_p): Support long displacements.
- 	(s390_decompose_address): Likewise.
- 	(legitimize_pic_address): Likewise.
- 	(legitimize_address): Likewise.
- 	(s390_fixup_clobbered_return_reg): Likewise.
- 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
- 	(s390_output_mi_thunk): Likewise.
- 
- 	* config/s390/s390.md (attr "op_type"): Add "RXY", "RSY", "SIY".
- 	(attr "atype", attr "length"): Add defaults for new op_types.
- 	(all insns): Change op_type attribute where appropriate.
- 
- 	("*movdi_lay", "*movsi_lay", "*extendqidi2", "*extendqisi2"): New insns.
- 	("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", *tmqi_mem",
- 	"*tstsi", "*tstsi_cconly", "*tsthiCCT", "*tsthiCCT_cconly",
- 	"*tsthi", "*tsthi_cconly", "*tstqiCCT", "*tstqiCCT_cconly",
- 	"*tstqi", "*tstqi_cconly", "*cmpsi_ccs_sign", "*cmpsi_ccs",
- 	"*cmpsi_ccu", "*cmphi_ccu", "*cmpqi_ccu", "*cli",
- 	"movti", "*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
- 	"movqi", "*movstrictqi", "*movstricthi", "movstrictsi",
- 	"*movdf_64", "*movdf_31", "*movsf",
- 	"*load_multiple_si", "*store_multiple_di",
- 	"*sethighqisi", "*sethighhisi", "*sethighqidi_31", "*extendhisi2",
- 	"*la_64", "*la_31", "*la_31_and", "force_la_31",
- 	"*addsi3_carry1_cc", *addsi3_carry1_cconly",
- 	"*addsi3_carry2_cc", *addsi3_carry2_cconly",
- 	"*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2",
- 	"*addsi3_sign", "*addsi3_sub", "addsi3",
- 	"*subsi3_borrow_cc", "*subsi3_borrow_cconly", "*subsi3_cc",
- 	"*subsi3_cconly", "*subsi3_sign", "*subsi3_sub", "subsi3",
- 	"mulsi3"
- 	"*andsi3_cc", "*andsi3_cconly", "andsi3",
- 	"*andqi3_ss", "*andqi3_ss_inv",
- 	"*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
- 	"*iorqi3_ss", "*iorqi3_ss_inv",
- 	"*xorsi3_cc", "*xorsi3_cconly", "xorsi3",
- 	"*xorqi3_ss", "*xorqi3_ss_inv",
- 	"*tls_load_31"): Add alternatives for long-displacement instructions.
- 
- 	("*cmpdf_ccs", "*cmpdf_ccs_ibm", "*cmpsf_ccs", "*cmpsf_ccs_ibm",
- 	"*load_multiple_di", "*store_multiple_di",
- 	"*sethighqidi_64", "*zero_extendhisi2_31",
- 	"truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
- 	"adddf3", "*adddf3", "*adddf3_ibm",
- 	"addsf3", "*addsf3", "*addsf3_ibm",
- 	"subdf3", "*subdf3", "*subdf3_ibm",
- 	"subsf3", "*subsf3", "*subsf3_ibm",
- 	"mulsi_6432", "divmoddisi3",
- 	"muldf3", "*muldf3", "*muldf3_ibm",
- 	"mulsf3", "*mulsf3", "*mulsf3_ibm",
- 	"divdf3", "*divdf3", "*divdf3_ibm",
- 	"divsf3", "div*sf3", "*divsf3_ibm",
- 	"sqrtdf2", "sqrtsf2",
- 	"*cjump_long", "*icjump_long", "indirect_jump", "casesi_jump",
- 	"*doloop_si_long", "*doloop_di_long", "bas_64", "bas_31",
- 	"bas_r_64", "bas_r_31", "bas_tls_31", "bas_tls_64"): Adapt memory
- 	and address constraints for instructions that do not accept long
- 	displacements.
- 
- 2003-06-30  Hartmut Penner  <hpenner@de.ibm.com>
- 	    Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/2084.md: New file.
- 	* config/s390/s390.md: Include it.
- 	* config/s390/s390.c (s390_adjust_priority): New function.
- 	(TARGET_SCHED_ADJUST_PRIORITY): Define.
- 	(s390_first_cycle_multipass_dfa_lookahead): New function.
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
- 	(s390_sched_reorder2): New function.
- 	(TARGET_SCHED_REORDER2): Define.
- 	(s390_adjust_cost): Support PROCESSOR_2084_Z990 cpu type.
- 	(s390_issue_rate): Likewise.
- 
- Mon Jun 30 23:47:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (GTFILES): Add cgraph.h.
- 	* cgraph.c (known_decls): Remove.
- 	(cgraph_hash, cgraph_nodes, cgraph_nodes_queue,
- 	cgraph_varpool_hash, cgraph_varpool_nodes_queue): GTYize.
- 	(cgraph_node): Do not allocate known_decls; use polutate hashtable.
- 	(cgraph_varpool_node): Likewise; add next pointer.
- 	(cgraph_varpool_nodes): New static variable.
- 	* cgraph.h (cgraph_local_info, cgraph_global_info, cgraph_rtl_info,
- 	cgraph_node, cgraph_edge, cgraph_varpool_node, cgraph_nodes, cgraph_n_nodes,
- 	cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): GTYize.
- 	* gengtype.c (open_base_files): Include cgraph.h
- 
- 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* Changelog: Remove ">>>>>>>" from previous change.
- 
- 2003-06-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* config/cris/cris.c: Fix spelling for "testcase".
- 	* config/cris/cris.h: Likewise.
- 	* config/cris/cris.md: Likewise.
- 	* config/mmix/crti.asm: Likewise.
- 	* config/mmix/mmix.h: Likewise.
- 	* config/mmix/mmix.md: Likewise.
- 
- 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Make it always
- 	1.
- 
- 2003-06-30  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
- 	--with-mode configure options.
- 	* config/s390/s390.h (OPTION_DEFAULT_SPECS): Define.
- 	(DRIVER_SELF_SPECS): Define.
- 	* config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu
- 	architecture to assembler.
- 	(LINK_SPEC): Merge 31-bit and 64-bit variants.
- 	(LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove.
- 	* config/s390/s390.c (override_options): New default rules for
- 	architecture mode and cpu architecture selection.
- 	* doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document
- 	new default rules.
- 
- 	* config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990.
- 	* config/s390/s390.md (attr "cpu"): Add "z990" processor type.
- 	* config/s390/s390.c (override_options): Add "z990" to
- 	processor_alias_table.
- 	* doc/invoke.texi (-march): Document "z990" processor type.
- 
- 	* config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables.
- 	* config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare.
- 	(enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH,
- 	TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New.
- 	* config/s390/s390.c (override_options): Replace enum pta_flags by
- 	enum processor_flags.  Fill in s390_tune_flags and s390_arch_flags.
- 
- 	* config/s390/s390.c (s390_cpu): Rename to ...
- 	(s390_tune): ... this.
- 	* config/s390/s390.h (s390_cpu, s390_tune): Likewise.
- 	* config/s390/s390.c (s390_issue_rate, override_options): Likewise.
- 	* config/s390/s390.md (attr "cpu"): Likewise.
- 
- 2003-06-30  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.c (enum c_language_kind, flag_objc): Remove.
- 	(fix_string_type, check_case_value, c_common_nodes_and_builtins,
- 	c_add_case_label, finish_label_addr_expr, boolean_increment):
- 	Use c_dialect_ macros.
- 	* c-common.h (enum c_language_kind): Extend.
- 	(c_dialect_cxx, c_dialect_objc): New.
- 	(flag_objc): Remove.
- 	(c_common_init_options): Update prototype.
- 	* c-cppbuiltin.c (define__GNUC__, c_cpp_builtins): Use c_dialect_
- 	macros.
- 	* c-decl.c (finsih_decl, grokfield, finish_struct): Use c_dialect_
- 	macros.
- 	* c-format.c (C_STD_VER, C_STD_NAME): Similarly.
- 	* c-lang.c (c_init_options): Remove.
- 	(c_language): Define.
- 	(LANG_HOOKS_INIT_OPTIONS): Use common hook.
- 	* c-lex.c (lex_charconst): Use c_dialect_ macros.
- 	* c-opts.c (lang_flags): Make function-local.
- 	(c_common_init_options): Use c_dialect_ macros.  Handle
- 	C++ diagnostic requirements.
- 	(c_common_handle_option, c_common_post_options): Use flag_cxx.
- 	* c-parse.in (init_reswords): Use c_dialect_objc ().
- 	* c-pch.c (get_ident): Use c_language.
- 	* c-pretty-print.c (pp_c_bool_literal): Use c_dialect_ macros.
- 	* c-typeck.c (comptypes, build_c_cast): Similarly.
- 	* objc/objc-lang.c (c_language): Define.
- 	(LANG_HOOKS_INIT_OPTIONS): Use common hook.
- 	(objc_init_options): Remove.
- 
- 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.h (FUNCTION_ARG_PADDING): Remove.
- 	* config/alpha/unicosmk.h: Don't #undef FUNCTION_ARG_PADDING.
- 
- 2003-06-30  Wolfgang Bangerth  <bangerth@dealii.org>
- 
- 	* doc/sourcebuild.texi: Don't reference gnats.html any more.
- 
- 2003-06-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_mov_length): Fix length of
- 	mov:SF on H8/300.
- 
- 2003-06-30  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Make defintion
- 	constant.
- 
- Mon Jun 30 15:36:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	(fyl2x_sfxf3, fyl2x_dfxf3, fscale_sfxf3, fscale_dfxf3): Fix condition.
- 
- 2003-06-30 Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_split_altivec_in_gprs): New function.
- 	(altivec_in_gprs_p): New function.
- 
- 	* config/rs6000/rs6000-protos (rs6000_split_altivec_in_gprs): New
- 	prototype.
- 	(altivec_in_gprs_p): New prototype.
- 
- 	* config/rs6000/altivec.md (*movv4si_internal): Change
- 	multi-assembler alternative to '#'. Add postreload splitter to
- 	handle this cases.
- 	(*movv4hi_internal): Likewise.
- 	(*movv4qi_internal): Likewise.
- 	(*movv4sf_internal): Likewise.
- 
- 2003-06-30  Jason Merrill  <jason@redhat.com>
- 
- 	* defaults.h (PUSH_ARGS_REVERSED): Define default here.
- 	* calls.c: Not here.
- 
- 2003-06-30  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_rtx_costs): Remove #if 0 block.
- 	(bad_signed_byte_operand): Likewise.
- 	(arm_output_epilogue): Likewise.
- 	(arm_final_prescan_insn): Likewise.
- 
- 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* cfgrtl.c (mark_killed_regs): Cast HARD_REGNO_NREGS to int.
- 
- 2003-06-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* c-pch.c (c_common_write_pch): Flush asm_out_file to allow for
- 	subsequent writes.
- 
- Mon Jun 30 10:03:02 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (verify_flow_info): Accept degenerated condjumps
- 	in cfglayout mode.
- 
- Mon Jun 30 09:52:39 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (standard_80387_constant_p): Accept TFmode constants too.
- 	(init_ext_80387_constants): Likewise.
- 	(standard_80387_constant_rtx): Likewise.
- 	* i386.md (atanxf): Disable for TARGET_128BIT_LONG_LONG
- 	(atantf): Disable for !TARGET_128BIT_LONG_LONG
- 	(fyl2x_sfxf3, fyl2x_dfxf3): Accept TFmode operands.
- 	(fyl2x_xfxf3, fyl2x_tfxf3): Enable/disable as needed.
- 	(fscale_sfxf3, fscale_dfxf3): Accept TFmode operands.
- 	(fscale_xfxf3, fscale_tfxf3): Enable/disable as needed.
- 	(frndinttf2): New.
- 	(f2xm1tf2): New.
- 	(exp?f2): Use expsf2_tf when needed.
- 	(exp?f2_tf): New.
- 	(exptf): New.
- 
- 2003-06-29 Uwe Stieber <uwe@kaos-group.de>
- 
- 	* config.gcc (sh*-*-kaos*): Put tm_file setting in separate case
- 	statement from tmake_file set.
- 
- 2003-06-29  James E Wilson  <wilson@tuliptree.org>
- 
- 	* reload.c (find_reloads): Change push_reloads to push_reload in
- 	comment.
- 	* reload1.c (eliminate_regs): Likewise.
- 	(dump_needs): Delete prototype for deleted function.
- 
- 2003-06-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (gcc_diag, gcc_cdiag, gcc_cxxdiag): New
- 	format attributes.
- 	* c-format.c (enum format_type): Add gcc_diag_format_type,
- 	gcc_cdiag_format_type, and gcc_cxxdiag_format_type.
- 	(gcc_diag_length_specs, gcc_cdiag_length_specs,
- 	gcc_cxxdiag_length_specs, gcc_diag_flag_pairs,
- 	gcc_cdiag_flag_pairs, gcc_cxxdiag_flag_pairs, gcc_diag_flag_specs,
- 	gcc_cdiag_flag_specs, gcc_cxxdiag_flag_specs, gcc_diag_char_table,
- 	gcc_cdiag_char_table, gcc_cxxdiag_char_table): New.
- 	(format_types_orig): Add new data.
- 	(find_char_info_specifier_index, init_dynamic_diag_info): New
- 	functions.
- 	(handle_format_attribute): Update to handle new format attributes.
- 
- 2003-06-29  Dara Hazeghi  <dhazeghi@yahoo.com>
- 
- 	* doc/install.texi: Remove install documentation for obsoleted targets
- 	i?86-*-sco, i?86-*-sco3.2v4, powerpcle-*-pe, powerpcle-*-winnt,
- 	arm-*-aof.
- 	Update information about IA64 toolchain, AIX make requirements,
- 	and binutils for m68k-*-hpux and *-*-linuxaout targets.
- 
- Mon Jun 30 00:50:43 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* regmove.c (regmove_optimize): Don't try to make src and dst match
- 	when they are in different modes.
- 
- Sun Jun 29 23:06:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
- 	busy work when builtin is not supported by the backend.
- 
- 2003-06-29  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop.c (count_one_set): Fix detection of registers set in more
- 	than one basic block.
- 
- 2003-06-29  Andreas Jaeger  <aj@suse.de>
- 
- 	* target-def.h: Remove usage of OBJECT_FORMAT_ROSE.
- 	* system.h: Poison OBJ_FORMAT_ROSE.
- 	* doc/tm.texi (Macros for Initialization): Remove documentatin of
- 	OBJECT_FORMAT_ROSE.
- 	* config/rs6000/lynx.h: Remove undef of OBJECT_FORMAT_ROSE.
- 	* collect2.c: Remove usage of OBJECT_FORMAT_ROSE.
- 
- 2003-06-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (update_total_code_bytes): New function.
- 	(last_address): Number of bytes output for a function and its
- 	associated thunks.
- 	(compute_frame_size): Use BITS_PER_UNIT.
- 	(pa_output_function_epilogue): Compute last_address.  Use
- 	update_total_code_bytes.
- 	(output_lbranch): Handle long branch on portable runtime.
- 	(attr_length_millicode_call, attr_length_call,
- 	attr_length_indirect_call): Only use total_code_bytes for calls in
- 	the text section.
- 	(output_call): Only use an indirect call sequence when the target is
- 	not local.
- 	(pa_asm_output_mi_thunk): Handle updating of total_code_bytes.  Improve
- 	test to determine when an IA-relative branch can be used.  Add various
- 	long branch sequences.  Avoid using an indirect branch on all ports
- 	except SOM.
- 
- 2003-06-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (clear_by_pieces): Fix prototype.
- 
- 2003-06-29  Andreas Jaeger  <aj@suse.de>
- 
- 	* cse.c: Convert prototypes to ISO C90.
- 	* cselib.c: Likewise.
- 	* cselib.h: Likewise.
- 	* dbxout.c: Likewise.
- 	* debug.c: Likewise.
- 	* df.c: Likewise.
- 	* df.h: Likewise.
- 	* dojump.c: Likewise.
- 	* doloop.c: Likewise.
- 	* dominance.c: Likewise.
- 	* dwarf2asm.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarf2out.h: Likewise.
- 	* dwarfout.c: Likewise.
- 	* except.c: Likewise.
- 	* except.h: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* et-forest.c: Likewise.
- 	* et-forest.h: Likewise.
- 	* except.c: Likewise.
- 	* explow.c: Likewise.
- 	* expmed.c: Likewise.
- 	* expr.c: Likewise.
- 	* expr.h: Likewise.
- 
- 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alloc-pool.c: Fix comment formatting.
- 	* bitmap.c: Likewise.
- 	* bitmap.h: Likewise.
- 	* bt-load.c: Likewise.
- 	* builtins.c: Likewise.
- 	* caller-save.c: Likewise.
- 	* cfganal.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 	* collect2.c: Likewise.
- 	* cse.c: Likewise.
- 	* df.c: Likewise.
- 	* diagnostic.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* expmed.c: Likewise.
- 	* final.c: Likewise.
- 	* flags.h: Likewise.
- 	* fold-const.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* libgcov.c: Likewise.
- 	* mips-tfile.c: Likewise.
- 	* optabs.c: Likewise.
- 	* prefix.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* stmt.c: Likewise.
- 	* stor-layout.c: Likewise.
- 	* toplev.c: Likewise.
- 	* varasm.c: Likewise.
- 	* vmsdbgout.c: Likewise.
- 
- 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (emit_single_push_insn): If padding is needed
- 	downward, adjust the stack pointer first, and then store the
- 	data into the stack location using an offset.
- 
- 2003-06-29  Andreas Jaeger  <aj@suse.de>
- 
- 	* collect2.h: Convert prototypes to ISO C90.
- 	* collect2.c: Likewise.
- 	* conflict.c: Likewise.
- 	* coverage.c: Likewise.
- 	* convert.h: Likewise.
- 	* convert.c: Likewise.
- 
- 2003-06-29  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-decl.c (c_init_decl_processing): Use a location_t. Set input
- 	filename to <internal>.
- 	* tree.c (make_node): Just copy the current location.
- 
- 2003-06-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11210
- 	* fold-const (decode_field_reference): Revert 2003-06-26 patch.
- 
- 2003-06-29  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* toplev.c (flag_dummy): Remove.
- 	(f_options): Restore flag pointers.
- 
- 2003-06-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (processor_target_table): Add 970.
- 	* config.gcc: Add 970.
- 
- 2003-06-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* dwarf2out.c (add_AT_string): Replace ggc_alloc_string (X,
- 	-1) with ggc_strdup.
- 	* stmt.c (expand_asm_operands): Likewise.
- 	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ip2k/ip2k.c (ip2k_reorg): Use INSN_P instead of its
- 	definition.
- 
- 2003-06-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* opts.c: Include insn-attr.h.
- 	* Makefile.in (opts.o): Depend on INSN_ATTR_H.
- 
- 2003-06-27  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* flow.c (propagate_one_insn): Use proper test for a register
- 	being part of the return value.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.c: Fix a comment typo.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr-protos.h: Replace avr_simplify_comparision_p
- 	with avr_simplify_comparison_p.
- 	* config/avr/avr.c: Likewise.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Follow spelling conventions.
- 	* cgraph.c: Likewise.
- 	* cpplex.c: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/iwmmxt.md: Likewise.
- 	* config/c4x/c4x-modes.def: Likewise.
- 	* config/c4x/c4x.c: Likewise.
- 	* config/c4x/c4x.h: Likewise.
- 	* config/c4x/c4x.md: Likewise.
- 	* config/i386/i386-interix.h: Likewise.
- 	* config/mips/mips.h: Likewise.
- 
- 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Predicate
- 	__mc68020__ on TARGET_68020.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Fix a comment typo.
- 
- 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-parse.in (yylexstring): Use a location_t.
- 
- 	* diagnostic.h (diagnostic_set_info): Replace file and lineno
- 	parameters with a location_t.
- 	* diagnostic.c (diagnostic_set_info): Replace file and lineno
- 	parameters with a location_t.
- 	(inform, warning, pedwarn, error, sorry, fatal_error,
- 	internal_error, warning_with_decl, pedwarn_with_decl,
- 	error_with_decl): Adjust.
- 	* c-error.c (pedwarn_c99): Adjust.
- 	* c-format.c (status_warning): Adjust.
- 	* rtl-error.c (file_and_line_for_asm): Rename to ...
- 	(location_for_asm): Return a location_t.
- 	(diagnostic_for_asm): Adjust.
- 
- 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpptrad.c (skip_macro_block_comment): New.
- 	(copy_comment): Use it if appropriate.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (compute_ld_motion_mems): Use INSN_P instead of its
- 	definition.
- 	(store_killed_in_insn): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* config/frv/frv.c (frv_final_prescan_insn): Likewise.
- 	* config/m68hc11/m68hc11.c (dead_register_here): Likewise.
- 	(m68hc11_reassign_regs): Likewise.
- 	(m68hc11_reorg): Likewise.
- 
- 2003-06-28  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (output_integer_with_precision): New macro.
- 	(output_format): Use it.  Handle more format specifiers.
- 	(output_long_decimal): Remove.
- 	(output_unsigned_decimal): Likewise.
- 	(output_long_unsigned_decimal): Likewise.
- 	(output_octal): Likewise.
- 	(output_long_octal): Likewise.
- 	(output_hexadecimal): Likewise.
- 	(output_long_hexadecimal): Likewise.
- 	(output_long_long_decimal): Likewise.
- 
- 2003-06-28  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.md: Follow recent emit_note API change.
- 
- 2003-06-28  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-parse.in (%union): Replace filename & lineno with location.
- 	(save_filename, save_lineno): Remove.
- 	(save_location): New.
- 	(fndef, old_style_parm_decls_1, lineno_datadecl, lineno_decl,
- 	nested_function, notype_nested_function, if_prefix, lineno_stmt,
- 	lineno_label, label): Adjust.
- 
- 2003-06-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (c_strlen): Add only_value argument.
- 	Handle COND_EXPR and COMPOUND_EXPR.
- 	(expand_builtin_strlen): Optimize also strlen (i++ ? "foo" : "bar").
- 	Adjust c_strlen callers.
- 	(expand_builtin_strcpy, expand_builtin_strncpy,
- 	expand_builtin_strcmp, expand_builtin_strncmp,
- 	expand_builtin_fputs, expand_builtin_sprintf,
- 	fold_builtin): Adjust c_strlen callers.
- 
- 2003-06-28  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* bb-reorder.c (find_traces_1_round): Do not send basic block
- 	to next round when we are in the last round.
- 
- 2003-06-28  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* opts.c: Include tm_p.h.
- 	(handle_options): Make static.
- 	(decode_options): Copied from toplev.c.
- 	* opts.h (decode_options): New.
- 	* toplev.c (parse_options_and_default_flags): Move most to opts.c,
- 	some to...
- 	(general_init): ...here.
- 	(toplev_main): Use decode_options instead.
- 	* toplev.h (save_argc, save_argv): New.
- 
- 2003-06-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* explow.c (find_next_ref): Remove.
- 	* rtl.h: Remove the prototype for find_next_ref.
- 
- 2003-06-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/alpha/alpha.md (anonymous define_split): Adjust emit_note
- 	call to match recent API change.
- 
- 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* dbxout.c (flag_debug_only_used_symbols): Delete redundant
- 	declaration.
- 
- 	* c-format.c (check_format_string, get_constant)
- 	* cfgrtl.c (rtl_split_edge):
- 	Mark the definition static, matching the forward declaration.
- 
- 2003-06-27  Gunther Nikl <gni@gecko.de>
- 
- 	* unwind-c.c (PERSONALITY_FUNCTION): Delete duplicate define.
- 
- 	PR target/11014
- 	* config/m68k/m68k.c (m68k_output_mi_thunk): Use correct assembly
- 	syntax for MIT / MOTOROLA.
- 
- 	PR other/10240
- 	* configure.in: Removed $(XCFLAGS) from BUILD_CFLAGS for build != host.
- 	* configure: Rebuilt.
- 
- 2003-06-27  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.c (mips_build_va_list): Make padding in
- 	va_list structure explicit to avoid -Wpadded warnings.
- 
- 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define.
- 	* config/s390/s390.c (s390_secondary_output_reload_class): New function.
- 	* config/s390/s390-protos.h (s390_secondary_output_reload_class):
- 	Declare it.
- 	* config/s390/s390.md ("reload_outti", "reload_outdi",
- 	"reload_outdf"): New expanders.
- 
- 	* config/s390/s390.md ("movti" + splitters): Handle non-offsettable
- 	memory operands as source.
- 	("movdi" + splitters): Likewise.
- 	("movdf" + splitters): Likewise.
- 	* config/s390/s390.c (s390_split_ok_p): New function.
- 	* config/s390/s390-protos.h (s390_split_ok_p): Declare it.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (force_to_mode): Replace the equality comparison
- 	of INTVALs with a pointer equality comparison.
- 	(simplify_comparison): Likewise.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* jump.c (rtx_renumbered_equal_p): Replace an expression that
- 	is known to be 0 with 0.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (expr_equiv_p): Replace expressions that are known to
- 	be 0 with 0.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* cse.c (fold_rtx): Replace the equality comparison of INTVALs
- 	with a pointer equality comparison.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* rtlanal.c (reg_mentioned_p): Return 0 earlier if REG and IN
- 	are known to be not equivalent.
- 
- 2003-06-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (function_arg): Don't pass small aggregates
- 	in floating point registers.  Validate that we don't receive complex
- 	values here.  Use #elif.
- 	(return_in_memory, function_value): New.
- 	(alpha_va_arg): Handle complex values as two arguments.
- 	* config/alpha/alpha.h (RETURN_IN_MEMORY): Use return_in_memory.
- 	(FUNCTION_VALUE, LIBCALL_VALUE): Use function_value.
- 	(SPLIT_COMPLEX_ARGS): New.
- 	* config/alpha/alpha-protos.h: Update.
- 
- 2003-06-27  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* ggc-page.c (inverse_table): Change type of mult to size_t.
- 	(compute_inverse): Compute inverse using size_t, not unsigned int.
- 	Compute inverse also for sizes larger than half a machine page.
- 
- Fri Jun 27 18:36:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_decl_compilation):  Only varpoolize argument
- 	when called before cgraph_optimize.
- 
- 2003-06-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/darwin.h, config/elfos.h, config/i960/i960-coff.h
- 	* config/m68k/coff.h: ASM_FILE_START_FILE_DIRECTIVE should
- 	be TARGET_ASM_FILE_START_FILE_DIRECTIVE.
- 
- Fri Jun 27 17:41:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_node, cgraph_varpool_node): Avoid re-initializing
- 	of known_decls.
- 
- 2003-06-27  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* defaults.h (REGISTER_MOVE_COST): Define default here.
- 	* regclass.c: Don't define default REGISTER_MOVE_COST here.
- 	* reload.c, reload1.c: Ditto.
- 
- 2003-06-27  Richard Earnshaw <rearnsha@arm.com>
- 
- 	* flags.h: Really install previous change.
- 
- 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* rtl.h (emit_note): Remove FILE parameter.
- 	* emit-rtl.c (emit_line_note): Adjust emit_note call.
- 	(emit_note): Remove FILE parameter. Adjust.
- 	* builtins.c (expand_builtin_expect): Adjust emit_note call.
- 	* c-semantics.c (genrtl_scope_stmt): Likewise.
- 	(expand_stmt): Likewise.
- 	* cfglayout.c (reemit_insn_block_notes): Likewise.
- 	(duplicate_insn_chain): Likewise.
- 	* except.c (expand_eh_region_start, expand_eh_region_end,
- 	sjlj_emit_function_enter): Likewise.
- 	* explow.c (probe_stack_range): Likewise.
- 	* expr.c (emit_block_move_via_loop): Likewise.
- 	* function.c (init_function_start, expand_function_start,
- 	expand_function_end, thread_prologue_and_epilogue_insns): Likewise.
- 	* integrate.c (expand_inline_function, copy_insn_list): Likewise.
- 	* reg-stack.c (compensate_edge): Likewise.
- 	* reload1.c (reload): Likewise.
- 	* rtlanal.c (hoist_insn_to_edge): Likewise.
- 	* stmt.c (expand_fixup, expand_start_loop, expand_start_null_loop,
- 	expand_loop_continue_here, expand_end_loop, expand_continue_loop,
- 	expand_exit_loop_top_cond, expand_value_return,
- 	expand_start_bindings_and_block, expand_end_bindings,
- 	expand_decl_cleanup, expand_start_case): Likewise.
- 	* unroll.c (copy_loop_body
- 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Likewise.
- 	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_emit_eh_toc_restore,
- 	rs6000_emit_allocate_stack, rs6000_output_function_prologue,
- 	rs6000_output_function_epilogue, rs6000_output_mi_thunk): Likewise.
- 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
- 
- 2003-06-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-tree.h (grokfield): Remove unused filename and line parameters.
- 	* c-decl.c (grokfield): Remove unused filename and line	parameters.
- 	* c-parse.in (component_decl): Adjust field grokking rules, adjust
- 	grokfield calls.
- 	(component_declarator): Likewise.
- 	(component_notype_declarator): Likewise.
- 	* objc/objc-act.c (build_module_descriptor): Adjust grokfield
- 	calls.
- 	(build_protocol_template, build_method_prototype_list_template,
- 	build_method_prototype_template, build_category_template,
- 	build_selector_template, build_class_template,
- 	build_super_template, build_ivar_template,
- 	build_ivar_list_template, build_method_list_template,
- 	build_method_template, add_instance_variable): Likewise.
- 
- 2003-06-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
- 	OP2 are known to be not equivalent.
- 
- 2003-06-26  Devang Patel <dpatel@apple.com>
- 
- 	* final.c (debug_flush_symbol_queue): New function.
- 	(debug_queue_symbol): New function.
- 	(debug_free_queue): New function.
- 	(debug_nesting): New variable.
- 	(symbol_queue): New variable.
- 	(symbol_queue_index): Same.
- 	(symbol_queue_size): Same.
- 	* debug.h (debug_flush_symbol_queue): New.
- 	(debug_queue_symbol): New.
- 	(debug_free_queue): New.
- 	(debug_nesting): New.
- 	(symbol_queue_index): New.
- 	* dbxout.c (DBXOUT_DECR_NESTING): New macro.
- 	(DBXOUT_DECR_NESTING_AND_RETURN): New macro.
- 	(dbxout_init): Delay symbol output.
- 	(dbxout_global_decl): Save, set and reset TREE_USED bit around
- 	dbxout_symbol() call.
- 	(dbxout_begin_function): Same.
- 	(dbxout_finish): Free symbol queue.
- 	(dbxout_type): Put appropriate symbols in queue.
- 	(dbxout_symbol): Put info for symbol's type in queue.
- 	Decrement/Increment nesting counts flush symbol queue appropriately.
- 	(dbxout_parms): Increment dbxout nesting.
- 	(dbxout_reg_parms): Same.
- 	* flags.h (flag_debug_only_used_symbols): New.
- 	* toplev.c (flag_debug_only_used_symbols): New variable.
- 	(lang_independent_options): Add entries for new option
- 	-feliminate-unused-debug-symbols.
- 	* common.opt: Add entry for -feliminate-unused-debug-symbols.
- 	* opts.c (common_handle_options): Same.
- 	* config/rs6000/darwin.h (CC1_SPEC): Interpret -gused as
- 	-feliminate-unused-debug-symbols.
- 	* doc/invoke.texi (Debugging Options): Document
- 	-feliminate-unused-debug-symbols.
- 
- 2003-06-26  Roger Sayle  <roger@eyesopen.com>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_sprintf): Use c_getstr and strlen to
- 	obtain the format string instead of using TREE_STRING_POINTER and
- 	TREE_STRING_LENGTH.  Only optimize sprintf(dst,"%s",src) when the
- 	return value is unused or the length of src is a known constant.
- 
- 2003-06-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (REGISTER_NAMES): R0 is really AP.
- 
- 2003-06-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_call): Don't add ar.pfs for sibcalls.
- 	(ia64_split_call): Only load descriptor for GP register inputs.
- 	(ia64_expand_epilogue): Check current_frame_info.mask not
- 	current_function_is_leaf to restore ar.pfs.
- 
- 2003-06-26  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (try_split): Append to new CALL_INSN_FUNCTION_USAGE
- 	instead of replacing it.
- 
- 2003-06-26  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (propagate_one_insn): Kill function return value
- 	registers across tail calls.
- 
- 	* flow.c (propagate_one_insn): Preserve live-at-end registers
- 	across tail calls.
- 
- 2003-06-26  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* reload.c (can_reload_into): New function.
- 	(push_reload): Use it.
- 
- 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_a_rotate_length): Fix the
- 	references to the amount of a rotation.
- 
- 2003-06-26  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/sh/coff.h: Don't include dbxcoff.h.
- 	* config.gcc: List it here.
- 
- 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* postreload.c (reload_cse_simplify_set): Call cselib_lookup
- 	earlier.  Don't check if SRC is a constant.
- 
- 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* Makefile.in (OBJS): Add postreload.o.
- 	Remove cselib.h from the dependency list for reload1.o.
- 	Add a dependency list for postreload.o.
- 	* reload.h: Change the comment for the prototype of
- 	reload_cse_regs.
- 	* reload1.c: Don't include cselib.h.
- 	(reload_cse_regs): Move to postreload.c
- 	(reload_cse_regs_1): Likewise.
- 	(reload_cse_noop_set_p): Likewise.
- 	(reload_cse_simplify_set): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	(RELOAD_COMBINE_MAX_USES): Likewise.
- 	(reload_combine_ruid): Likewise.
- 	(LABEL_LIVE): Likewise.
- 	(reload_combine): Likewise.
- 	(reload_combine_note_use): Likewise.
- 	(reload_combine_note_store): Likewise.
- 	(reg_set_luid): Likewise.
- 	(reg_offset): Likewise.
- 	(reg_base_reg): Likewise.
- 	(reg_mode): Likewise.
- 	(move2add_luid): Likewise.
- 	(move2add_last_label_luid): Likewise.
- 	(MODES_OK_FOR_MOVE2ADD): Likewise.
- 	(reload_cse_move2add): Likewise.
- 	(move2add_note_store): Likewise.
- 	(reload_cse_simplify): Likewise.
- 	* postreload.c: New.
- 
- 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/avr/avr.c (final_prescan_insn): Remove support for
- 	-mrtl.
- 	* config/avr/avr.h (MASK_RTL_DUMP): Remove.
- 	(TARGET_RTL_DUMP): Likewise.
- 	(TARGET_SWITCHES): Remove -mrtl.
- 
- 2003-06-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Change emit_a_rotate to
- 	output_a_rotate.  Add a prototype for compute_a_rotate_length.
- 	* config/h8300/h8300.c (emit_a_rotate): Change to
- 	output_a_rotate.
- 	(compute_a_rotate_length): New.
- 	(h8300_adjust_insn_length): Remove.
- 	* config/h8300/h8300.h (ADJUST_INSN_LENGTH): Remove.
- 	* config/h8300/h8300.md (adjust_length): Remove.
- 	(*rotlqi3_1): Use output_a_rotate and compute_a_rotate_length.
- 	(*rotlhi3_1): Likewise.
- 	(*rotlsi3_1): Likewise.
- 
- 2003-06-26  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_mathfn): Always stabilize the argument
- 	list against re-evaluation.  If expand_unop fails, call expand_call
- 	with the stabilized argument list rather than return NULL_RTX.
- 	(expand_builtin_mathfn2): Likewise, always stabilize the argument
- 	list, and call expand_call ourselves if expand_binop fails.
- 
- 2003-06-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11210
- 	* fold-const (decode_field_reference): Strip only NOPs that
- 	don't affect the sign.
- 
- 2003-06-26  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
- 
- 	* gcc/config/sh/sh.md (push_fpscr): Enable for TARGET_SH2E.
- 	(pop_fpscr, fpu_switch): Likewise.
- 
- 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* value-prof.c: New.
- 	* value-prof.h: New.
- 	* Makefile.in (value-prof.o): New.
- 	(LIBGCOV): Add _gcov_merge_single and _gcov_merge_delta
- 	(profile.o): Add value-prof.h and tree.h dependency.
- 	* flags.h (flag_profile_values): Declare.
- 	* gcov-io.h (GCOV_COUNTERS, GCOV_COUNTER_NAMES, GCOV_MERGE_FUNCTIONS):
- 	Add new counters.
- 	(GCOV_COUNTER_V_INTERVAL, GCOV_COUNTER_V_POW2, GCOV_COUNTER_V_SINGLE,
- 	GCOV_COUNTER_V_DELTA): New counter sections.
- 	(__gcov_merge_single, __gcov_merge_delta): Declare.
- 	* flow.c (mark_used_regs): Set subregs_of_mode only when the
- 	structure is initialized.
- 	* libgcov.c (__gcov_merge_single, __gcov_merge_delta): New functions.
- 	* profile.c: Include value-prof.h and tree.h.
- 	(gen_interval_profiler, gen_pow2_profiler, gen_one_value_profiler,
- 	gen_const_delta_profiler, instrument_values): New static functions.
- 	(get_exec_counts): Fix comment.
- 	(branch_prob): Invoke instrument_values.
- 	* toplev.c (flag_profile_values): New flag.
- 	* doc/invoke.texi (-fprofile-values): Document.
- 
- 2003-06-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (cfgrtl.o): Add expr.h dependency.
- 	* cfgrtl.c: Include expr.h.
- 	(mark_killed_regs, safe_insert_insn_on_edge): New
- 	functions.
- 	* config/i386/i386.h (AVOID_CCMODE_COPIES): Define.
- 	* basic-block.h (safe_insert_insn_on_edge): Declare.
- 
- 2003-06-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (missing_arg): Make non-static.
- 	(c_common_handle_option): Don't check for missing arguments.
- 	* opts.c (handle_option): Check for missing arguments.
- 
- 2003-06-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md (power4-veccomplex): Correct latency.
- 
- 2003-06-25  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* configure.in (ld_vers): Portability [sed].
- 	* configure: Regenerate with autoconf213.
- 
- 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
- 
- 	* doc/extend.texi: Document new builtin functions for Intel
- 	Prescott New Intrunctions.
- 
- 	* doc/invoke.texi: Document new command-line options, -mpni and
- 	-mno-pni, for Intel Prescott New Intrunctions.
- 
- 	* config.gcc (extra_headers): Add pmmintrin.h for i[34567]86-*-*.
- 
- 	* config/i386/i386.c (override_options): Turn on MASK_SSE2
- 	for -mpni. Turn on MASK_SSE for -msse2.
- 	(bdesc_2arg): Add PNI builtins with 2 args.
- 	(bdesc_1arg): Add PNI builtins with 1 arg.
- 	(ix86_init_mmx_sse_builtins): Handle PNI builtins.
- 	(ix86_expand_builtin): Likewise.
- 
- 	* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A,
- 	MASK_128BIT_LONG_DOUBLE, MASK_64BIT, MASK_MS_BITFIELD_LAYOUT,
- 	MASK_TLS_DIRECT_SEG_REFS): Renumbered.
- 	(TARGET_PNI): New.
- 	(TARGET_SWITCHES): Don't enable MASK_SSE for -msse2 here. Add
- 	-mpni and -mno-pni.
- 	(TARGET_CPU_CPP_BUILTINS): Defined __PNI__ for PNI.
- 	(ix86_builtins): Add PNI builtins.
- 	(config/i386/i386.md): Add PNI patterns.
- 
- 	* config/i386/pmmintrin.h: New file.
- 
- 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (call): Fix the insn lengths.
- 	(call_value): Likewise.
- 
- Thu Jun 26 00:13:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-common.c (handle_used_attribute): Use mark_referenced.
- 	* varasm.c (mark_referenced): Break out from ...
- 	(assemble_name): ... here.
- 	* tree.h (mark_referenced): Declare.
- 
- 2003-06-25  Wolfgang Bangerth  <bangerth@dealii.org>
- 
- 	* gccbug.in: Add PCH to list of categories.
- 
- 2003-06-25 Martin Schaffner <schaffner@gmx.li>
- 
- 	* cppfiles.c: Clarify comments.
- 	* cpphash.h: Likewise.
- 	* cpplib.h: Likewise.
- 	* cppmacro.c: Likewise.
- 	* mkdeps.h: Likewise.
- 
- 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (complain_wrong_lang, write_langs): Remove.
- 	(c_common_handle_option): Complaints about wrong language are
- 	handled in opts.c now.
- 	* opts.c (complain_wrong_lang, write_langs, handle_options): New.
- 	(find_opt): Fix thinko.
- 	(handle_option): Update prototype.  Complain about switches for
- 	a different front end.
- 	* opts.h (lang_names, handle_options): New.
- 	(handle_option): Remove.
- 	* opts.sh: Write out language names array.
- 	* toplev.c (parse_options_and_default_flags): Use handle_options.
- 
- 2003-06-25  H.J. Lu <hongjiu.lu@intel.com>
- 
- 	* config/i386/i386.c (MASK_SSE1): Removed.
- 	(MASK_SSE164): Removed.
- 	(MASK_SSE264): Removed.
- 	(bdesc_2arg): Replace MASK_SSE1 with MASK_SSE. Replace
- 	MASK_SSE164 with MASK_SSE | MASK_64BIT. Replace MASK_SSE264
- 	with MASK_SSE2 | MASK_64BIT.
- 	(bdesc_1arg): Likewise.
- 	(ix86_init_mmx_sse_builtins): Likewise.
- 
- 	* config/i386/i386.h (TARGET_SSE): Remove MASK_SSE2.
- 	(TARGET_SWITCHES): Enable both MASK_SSE and MASK_SSE2 for
- 	-msse2.
- 
- 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* hwint.h (HOST_WIDE_INT_PRINT, HOST_WIDE_INT_PRINT_C): New macros.
- 	(HOST_WIDE_INT_PRINT_DEC_SPACE,
- 	HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
- 	HOST_WIDEST_INT_PRINT_DEC_SPACE,
- 	HOST_WIDEST_INT_PRINT_UNSIGNED_SPACE): Delete.
- 	(HOST_WIDE_INT_PRINT_DEC, HOST_WIDE_INT_PRINT_DEC_C,
- 	HOST_WIDE_INT_PRINT_UNSIGNED, HOST_WIDE_INT_PRINT_HEX): Define in
- 	terms of HOST_WIDE_INT_PRINT and possibly HOST_WIDE_INT_PRINT_C.
- 
- 	* final.c (asm_fprintf): Use HOST_WIDE_INT_PRINT.
- 	* ra-debug.c (dump_static_insn_cost): Likewise.
- 
- 2003-06-26  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.h (BIGGEST_FIELD_ALIGNMENT): Define instead
- 	of ADJUST_FIELD_ALIGN if IN_TARGET_LIBS.
- 	Replace occurances of '???' with 'XXX' incase they are
- 	mistaken for trigraphs.
- 	(THUMB_PRINT_OPERAND_ADDRESS): abort if a compound address
- 	does not have a register for the first operand.
- 
- 2003-06-25	Dhananjay Deshpande <dhananjayd@kpitcummins.com>
- 
- 	* config/sh/sh.c (sh_register_move_cost):
- 	Add case for moving between MAC_REGS.
- 
- 2003-06-25  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR 10178
- 	* langhooks.h (struct lang_hooks): Add no_body_blocks bool.
- 	* langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): New; default false.
- 	* c-lang.c, objc/objc-lang.c: Override LANG_HOOKS_NO_BODY_BLOCKS
- 	to true.
- 	* stmt.c (is_body_block): If lang_hooks.no_body_blocks, always
- 	return 0.
- 
- 2003-06-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (bt-load.o): Depend on $(TM_P_H).
- 	* bt-load.c: Include "tm_p.h".
- 
- 2003-06-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (compute_mov_length): Adjust for the
- 	new optimization.
- 	* config/h8300/h8300.md (*movsi_h8300): Optimize the load of
- 	an SImode constant whose upper and lower are the same.
- 
- Wed Jun 25 11:31:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* varasm.c (assemble_name): Mark needed variables even when
- 	global info is ready.
- 
- 2003-06-24  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	PR other/11280
- 	* gcc/doc/invoke.texi (Optimization Options): Remove -Os from
- 	-freorder-functions description.
- 
- 2003-06-25  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* dwarf2out.c (gen_field_die): Return if type of decl is error mark.
- 
- 2003-06-25  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.c (common_handle_option): Add missing break;s.
- 
- 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	compute_mov_length.
- 	* config/h8300/h8300.c (compute_mov_length): New.
- 	* config/h8300/h8300.md (*movqi_h8300): Use it.
- 	(*movqi_h8300hs): Likewise.
- 	(movstrictqi): Likewise.
- 	(*movhi_h8300): Likewise.
- 	(*movhi_h8300hs): Likewise.
- 	(movstricthi): Likewise.
- 	(*movsi_h8300): Likewise.
- 	(*movsf_h8300): Likewise.
- 	(*movsi_h8300hs): Likewise.
- 	(*movsf_h8300hs): Likewise.
- 
- 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* jump.c (next_nondeleted_insn): Remove.
- 	* rtl.h: Remove the prototype for next_nondeleted_insn.
- 
- 2003-06-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/11311
- 	* builtins.c (powi_cost): Fix typo.  The number of multiplications
- 	required is the number to reduce the argument, result, plus the
- 	cost of calculating the residual, val [not n, the original value].
- 
- 2003-06-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/alpha/osf5.h (TARGET_C99_FUNCTIONS): Define.
- 
- 2003-06-24  Richard Henderson  <rth@redhat.com>
- 	    (blame to: Loren James Rittle  <ljrittle@acm.org>)
- 
- 	* real.h (ieee_extended_intel_96_round_53_format): New.
- 	* real.c (ieee_extended_intel_96_round_53_format): New.
- 	* config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Use it
- 	for XFmode and TFmode.
- 
- 2003-06-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (4 anonymous patterns): Give internal
- 	names.
- 	(movsi_h8300): Change the name to *movsi_h8300.
- 	(movsi_h8300hs): Change the name to *movsi_h8300hs.
- 	(movsf_h8300): Change the name to *movsf_h8300.
- 	(movsf_h8300hs): Change the name to *movsf_h8300hs.
- 
- 2003-06-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_strcpy): Don't evaluate side-effects in
- 	src twice.
- 
- 2003-06-24  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	Back out these patches:
- 	 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
- 	  * sh.h (OLD_ARG_MODE): New macro.
- 	  (FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
- 	  (FUNCTION_ARG_1): Break out of:
- 	  (FUNCTION_ARG).  Use OLD_ARG_MODE.
- 	 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
- 	  * sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
- 	  of the generated register.
- 
- 	* sh.h (FUNCTION_ARG_SCmode_WART): Define.
- 	(FUNCTION_ARG): Unless FUNCTION_ARG_SCmode_WART is defined and
- 	an even number of floating point regs are in use, use the same
- 	sequence of argument passing registers for SCmode as would be
- 	used for two SFmode values.
- 	* sh.c (sh_va_arg): If FUNCTION_ARG_SCmode_WART is defined,
- 	swap real / imaginary parts in incoming SCmode values passed
- 	in registers.
- 
- 2003-06-24  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR target/11260
- 	* config/alpha/alpha.md (sqrtdf2): Fix operand substitution.
- 
- Tue Jun 24 18:49:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cgraph.o): Depend on output.h, not depend on
- 	tree-inline.h
- 	* cgraph.c: Do not include tree-inline.h; include output.h
- 	(known_fns): Rename to ...
- 	(known_decls): ... this one; update all uses.
- 	(cgraph_varpool_hash): New static variable.
- 	(cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): New global
- 	variables.
- 	(cgraph_varpool_hash_node, eq_cgraph_varpool_node, cgraph_varpool_node,
- 	cgraph_varpool_node_for_identifier, cgraph_varpool_mark_needed_node,
- 	cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
- 	New functions.
- 	* cgraph.h (cgraph_varpool_node): New structure.
- 	(cgraph_varpool_n_nodes, cgraph_varpool_nodes_queue): Declare.
- 	(cgraph_varpool_node, cgraph_varpool_node_for_identifier,
- 	cgraph_varpool_finalize_decl, cgraph_varpool_mark_needed_node,
- 	cgraph_varpool_asemble_pending_decls): Declare.
- 	* cgraphunit.c (record_call_1): Notice variable references.
- 	(cgraph_finalize_compilation_unit): Assemble pending variables.
- 	* toplev.c (wrapup_global_declarations): Use varpool.
- 	(compile_file): Assemble pending declarations.
- 	(rest_of_decl_compilation): Use varpool in unit-at-a-time mode.
- 	* varasm.c (assemble_name): Notice varpool references.
- 
- Tue Jun 24 13:52:11 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): New macro.
- 	* langhooks.h (lang_hooks_for_decls): Add prepare_assemble_variable.
- 	* varasm.c (assemble_variable): Call prepare_assemble_variable.
- 
- 2003-06-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin): Use expand_builtin_pow to expand
- 	calls for pow, powf, powl and their __builtin_ variants.
- 	(expand_builtin_pow): If the second argument is a constant
- 	integer and compiling with -ffast-math, use expand_powi to
- 	generate RTL if powi_cost is less than POWI_MAX_MULTS.
- 	(powi_cost): New function to return the number of multiplications
- 	necessary to evaluate an Nth power, for integer constant N.
- 	(expand_powi): New function to expand the RTL for evaluating
- 	the Nth power of a floating point value, for integer constant N.
- 
- 	* doc/tm.texi (POWI_MAX_MULTS): Document new target macro.
- 
- Mon Jun 23 23:07:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_nodes_queue): Declare.
- 	(eq_node): Take identifier as p2.
- 	(cgraph_node): Update htab_find_slot_with_hash call.
- 	(cgraph_node_for_identifier): New.
- 	(cgraph_mark_needed_node): Move here from cgraphunit.c.
- 	* cgraph.h (cgraph_nodes_queue): Declare.
- 	(cgraph_node_for_identifier): Declare.
- 	* cgraphunit.c (cgraph_finalize_function): Collect entry points here
- 	instead of in cgraph_finalize_compilation_unit; constructors and
- 	destructors are entry points.
- 	(cgraph_finalize_compilation_unit): Reorganize debug outout;
- 	examine nested functions after lowerng; call collect_functions hook.
- 	(cgraph_mark_local_functions): DECL_COMDAT functions are not local.
- 	(cgraph_finalize_compilation_unit): Do not collect entry points.
- 	* varasm.c: Include cgraph.h
- 	(assemble_name): Mark referenced identifier as needed.
- 
- 	* cgraphunit.c (record_call_1): Use get_callee_fndecl.
- 
- 2003-06-23  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/i386/i386.c (x86_output_mi_thunk): Don't pass MEM to %P0,
- 	just SYMBOL_REF.
- 	* config/s390/s390.c (s390_output_mi_thunk): Avoid .plt in -m31
- 	mode, as it requires pic register loaded.
- 
- 	* varasm.c (resolve_unique_section): Remove prototype.  No longer
- 	static.
- 	* tree.h (resolve_unique_section): New prototype.
- 
- 2003-06-23  Andreas Schwab  <schwab@suse.de>
- 
- 	PR debug/9905
- 	* dwarf2out.c (loc_descriptor_from_tree): Handle MODIFY_EXPR by
- 	recursing through first argument.
- 
- 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog.1: Fix a typo.
- 	* cfgrtl.c: Fix comment typos.
- 	* dwarf2out.c: Likewise.
- 	* expmed.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* jump.c: Likewise.
- 	* rtlanal.c: Likewise.
- 	* ssa-dce.c: Likewise.
- 	* toplev.c: Likewise.
- 
- 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/extend.texi: Fix typos.
- 	* doc/md.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Fix comment formatting.
- 	* bt-load.c: Likewise.
- 	* builtins.c: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-format.c: Likewise.
- 	* coverage.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* cpppch.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* diagnostic.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* expr.c: Likewise.
- 	* fold-const.c: Likewise.
- 	* function.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcov-io.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* profile.c: Likewise.
- 	* real.h: Likewise.
- 	* sched-deps.c: Likewise.
- 
- 2003-06-23  Roger Sayle  <roger@eyesopen.com>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add a note on testing and
- 	remove duplicates from testers list.
- 
- 2003-06-23  Nick Clifton  <nickc@redhat.com>
- 
- 	* read-rtl.c (read_braced_string): Check for EOF.  If
- 	encountered issue an error message.
- 
- 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Document dump options, dT and dW.
- 
- 2003-06-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genrecog.c (pred_table): Remove the entry for
- 	mode_independent_operand.
- 	* recog.c (next_insns_test_no_inequality): Remove.
- 	(mode_independent_operand): Likewise.
- 	* recog.h: Remove the prototype for mode_independent_operand.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_simode_bld): Use rotxl.l to
- 	store into bit 0.
- 	* config/h8300/h8300.md (*extzv_1_r_h8300hs): Change cc of the
- 	second alternative to set_znv.
- 	(*extzv_1_r_inv_h8300hs): Likewise.
- 
- 2003-06-23  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* configure.in (in_tree_gas): Find out here whether GAS is ELF,
- 	set in_tree_gas_is_elf accordingly.
- 	(in_tree_ld): Find out whether LD emulation is ELF, set
- 	in_tree_ld_is_elf accordingly.
- 	(gcc_cv_as_subsections, gcc_cv_as_hidden, gcc_cv_as_leb128)
- 	(gcc_cv_as_eh_frame, gcc_cv_as_shf_merge)
- 	(gcc_cv_as_dwarf2_debug_line, gcc_cv_as_gdwarf2_flag)
- 	(gcc_cv_as_gstabs_flag): Use $in_tree_gas_is_elf instead of
- 	grepping gas/Makefile.
- 	(gcc_cv_ld_ro_rw_mix, gcc_cv_ld_eh_frame_hdr, gcc_cv_ld_pie): Use
- 	$in_tree_ld_is_elf instead of grepping ld/Makefile.
- 	* configure: Regenerate.
- 
- 2003-06-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_mathfn_2): Use tree_cons to build
- 	up the stabilized argument list, not build_tree_list.
- 	(expand_builtin_strcpy): Construct new argument list manually
- 	instead of using chainon to modify the original argument list.
- 	(expand_builtin_stpcpy): Construct new argument list manually
- 	instead of using copy_list and chainon.
- 	(expand_builtin_sprintf): New function.  Optimize calls to
- 	sprintf when the format is "%s" or doesn't contain a '%'.
- 	(expand_builtin): Expand BUILT_IN_SPRINTF using the new function
- 	expand_builtin_sprintf.
- 
- 2003-06-22  Andreas Schwab  <schwab@suse.de>
- 
- 	* function.c (set_insn_locators): Mark as unused.
- 
- 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* common.opt: Add -finline-limit.
- 	* opts.c (common_handle_options): Handle it.
- 	* opts.sh: Temporary kludge for -finline-limit.
- 	* toplev.c (decode_f_option, independent_decode_option): Die.
- 	(parse_options_and_default_flags): No independent_decode_option.
- 
- 2003-06-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* calls.c (emit_call_1): Readd lost ATTRIBUTE_UNUSED.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Document dumps, .btl, .cfg, and .bypass.
- 
- 2003-06-22  Andreas Schwab  <schwab@suse.de>
- 
- 	* doc/invoke.texi: Remove leading `-' from options in index.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* bt-load.c: Follow spelling conventions.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* expr.c (emit_move_insn_1): Fix a comment typo.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Alphabetize dump options.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Remove a duplicate -dk.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Update dump file names.
- 
- 2003-06-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/i370/i370.c, config/i370/i370.h: Use HOST_CHARSET_ASCII
- 	and HOST_CHARSET_EBCDIC, not HC_ASCII and HC_EBCDIC.
- 
- 2003-06-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/rtl.texi: Fix the @findex for pre_modify.
- 
- 2003-06-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* caller-save.c: Convert to ISO C90.
- 	* calls.c: Likewise.
- 	* cfg.c: Likewise.
- 	* cfganal.c: Likewise.
- 	* cfgbuild.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfghooks.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfglayout.h: Likewise.
- 	* cfgloop.c: Likewise.
- 	* cfgloop.h: Likewise.
- 	* cfgloopanal.c: Likewise.
- 	* cfgloopmainip.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 
- 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (BIGGEST_ALIGNMENT): Use TARGET_REALLY_IWMMXT for selecting
- 	64-bit alignment.
- 
- 2003-06-22  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (all call_value patterns): Remove register constraints on
- 	value operand.
- 
- 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* common.opt: More -f switches.
- 	* opts.c (common_handle_options): Handle them.
- 	* toplev.c (time_report): Make extern.
- 	(f_options): USe flag_dummy.
- 	(decode_f_option): No need to use f_options now.
- 	* toplev.h (flag_cprop_registers, flag_ssa, flag_ssa_ccp,
- 	flag_ssa_dce, time_report, flag_new_regalloc): Make extern.
- 
- 2003-06-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-lex.c: Convert to ISO C90.
- 	* c-objc-common.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* c-pch.c: Likewise.
- 	* c-ppoutput.c: Likewise.
- 	* c-pragma.h: Likewise.
- 	* c-pretty-print.c: Likewise.
- 	* c-pretty-print.h: Likewise.
- 	* c-semantics.c: Likewise.
- 	* c-tree.h: Likewise.
- 	* c-typeck.c: Likewise.
- 
- 	* c-lang.c: Convert to ISO C90.
- 
- 2003-06-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.c (find_opt): Fix to always guarantee a find of a
- 	switch with joined parameter.
- 	* opts.h (struct cl_option): New member back_chain.
- 	* opts.sh: Update to calculate and add back_chain member.
- 
- 2003-06-22  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* diagnostic.h (output_host_wide_integer): Declare.
- 	* diagnostic.c (output_long_long_decicaml): New function.
- 	(output_host_wide_integer): Likewise.
- 	(output_format): Use them.  Handle "%ll" and "%w".
- 
- 2003-06-21  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (*-*-netbsd*): Add t-libgcc-pic to tmake_file.
- 
- 2003-06-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (gcc_AC_C_CHARSET): Delete.
- 	* configure.in: Don't use gcc_AC_C_CHARSET.
- 	* configure, config.in: Regenerate.
- 	* config/i370/i370.c, config/i370/i370.h: Use
- 	(HOST_CHARSET == HC_EBCDIC) or (HOST_CHARSET == HC_ASCII)
- 	instead of HOST_EBCDIC or !HOST_EBCDIC.  Clarify comments a tad.
- 
- 2003-06-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* common.opt: New switches.
- 	* opts.c: Include diagnostic.h.
- 	(common_handle_option): Handle new switches.
- 	* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
- 	flag_if_conversion2, flag_delete_null_pointer_checks,
- 	flag_rerun_cse_after_loop): Make extern.
- 	(flag_dummy): New.
- 	(f_options): Update to use flag_dummy for moved options.
- 	(decode_f_option): Some switches moved to opts.c.
- 	* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
- 	flag_if_conversion2, flag_delete_null_pointer_checks,
- 	flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
- 	flag_tracer, flag_thread_jumps, flag_unroll_loops,
- 	flag_unroll_all_loops, flag_unswitch_loops): New.
- 
- Sat Jun 21 13:41:00 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_va_arg): Fix allocation of temporary slot.
- 
- 2003-06-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	same_cmp_preceding_p.
- 	* config/h8300/h8300.c (same_cmp_preceding): New.
- 	* config/h8300/h8300.md: Extend peephole2's that transform
- 	compare:SI into shorter sequences so that they can deal with
- 	signed comparisons.
- 
- 2003-06-21  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Use Windows instead of Win32.
- 
- 	Update Andreas Jaeger's entry.
- 
- 	Merge the two entries of Kaveh Ghazi, David Edelsohn, and
- 	Loren J. Rittle.
- 
- 2003-06-21  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* mkconfig.sh: Add multiple inclusion guards to generated headers.
- 
- 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-decl.c (store_parm_decls): Make saved_warn_shadow boolean.
- 	* common.opt: Add remaining -W options and -g.
- 	* diagnostic.c (warnings_are_errors): Remove.
- 	* flags.h: Make most warning flags boolean.
- 	* opts.c (common_handle_option): Handle remaining -W options, and -g.
- 	Move many warning flags from toplev.c, making them boolean.
- 	* toplev.c: Remove many warning flags.
- 	(decode_W_option): Remove.
- 	(decode_g_option): Make extern.  Error on unknown switch.
- 	(lang_independent_W_options): Use warn_dummy.
- 	(independent_decode_option): Just handle -f switches now.
- 	* toplev.h (decode_g_option): New.
- 
- 2003-06-20  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR/11092
- 	* config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Adjust for
- 	vectors.
- 
- 2003-06-20  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* opts.sh: Tweak awk script for portability.
- 
- 2003-06-20  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/10888
- 	* tree-inline.c (expand_call_inline): Do not warn about failing to
- 	inline functions declared in system headers.
- 	* doc/invoke.texi (-Winline): Expand on documentation.
- 
- 2003-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_file_start): Disable
- 	file_start_file_directive for ELF and not MDEBUG.
- 
- 2003-06-20  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (ROUND_TYPE_ALIGN): Remove.
- 
- 2003-06-20  Richard Henderson  <rth@redhat.com>
- 
- 	* hooks.c (hook_int_void_no_regs): Rename from
- 	hook_reg_class_void_no_regs; change return type.
- 	* hooks.h: Update.
- 	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Update.
- 	* target.h (branch_target_register_class): Change return type to int.
- 	Add documentation.
- 	* config/sh/sh.c (sh_target_reg_class): Change return type.
- 	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Likewise.
- 
- 2003-06-20  Andreas Tobler <toa@pop.agri.ch>
- 
- 	* c-format.c: Change _Bool to bool reverting part of the last
- 	patch.
- 
- 2003-06-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* som.h (ASM_OUTPUT_SOURCE_LINE): Use targetm.strip_name_encoding to
- 	strip name encoding.
- 
- 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_as_gstabs_flag): Disable if assembler warns.
- 	* configure: Regenerate.
- 	Fixes PR driver/9362.
- 
- 2003-06-20  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/alpha/alpha.c (alpha_file_start): Fix typo.
- 
- 2003-06-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/mips.h (PUT_SDB_FUNCTION_END): Pass 0 as third arg
- 	to ASM_OUTPUT_SOURCE_LINE.
- 
- 2003-06-20  Daniel Egger  <degger@fhm.edu>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Building): Correct and improve statement
- 	about parallel builds.
- 
- 2003-06-20  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-common.c: Change _Bool to bool reverting part of the last
- 	patch.
- 
- 2003-06-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (expand_function_end): Remove all parameters.
- 	* function.c (expand_function_end): Remove all parameters.
- 	Use input_location. Never expand_end_bindings.
- 	* c-decl.c (c_expand_body_1): Adjust expand_function_end call.
- 	* coverage.c (create_coverage): Likewise.
- 
- 2003-06-20  Nick Clifton  <nickc@redhat.com>
- 
- 	* doc/extend.texi (ARM Built-in Functions): New node.  Document
- 	ARM builtin functions for iWMMXt support.
- 
- 2003-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (--with-gnu-as): Mention SPARC/Solaris and
- 	SPARC64/Solaris as platforms where --with-gnu-as makes a difference.
- 	(--with-as): Add @anchor.
- 	(--with-gnu-ld): Fix typo.
- 	(--with-ld): Add @uref to --with-as.
- 
- 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/tm.texi: Uniformly use @defmac for macros, rather than
- 	@table items.  Minor formatting and editorial corrections.
- 
- 2003-06-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* line-map.c, line-map.h: Convert to ISO prototypes.
- 
- 2003-06-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (store_killed_in_insn): Fix.
- 
- 2003-06-19  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* target.h (asm_out.file_start, file_start_app_off,
- 	file_start_file_directive): New hooks.
- 	* target-def.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
- 	TARGET_ASM_FILE_START_APP_OFF, TARGET_ASM_FILE_START):
- 	New hook-definition macros.
- 	* doc/tm.texi: Document new hooks; remove docs of ASM_FILE_START.
- 	* varasm.c (default_file_start): New.
- 	* output.h: Prototype it.
- 	* toplev.c (init_asm_output): Use targetm.asm_out.file_start.
- 	* system.h: Poison ASM_FILE_START.
- 
- 	* config/alpha/alpha.c (alpha_write_verstamp): Delete.
- 	(alpha_file_start): New, define if !TARGET_ABI_UNICOSMK.
- 	(unicosmk_asm_file_start): Rename unicosmk_file_start,
- 	make static, take no arguments.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_END,
- 	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set as appropriate.
- 	* config/alpha/unicosmk.h: Don't define ASM_FILE_START nor
- 	TARGET_ASM_FILE_END.  Remove reference to ASM_FILE_START in
- 	comment.
- 	* config/arc/arc.c (arc_asm_file_start): Rename
- 	arc_file_start, take no arguments, make static.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/arm/arm.c (aof_file_start): New static function.
- 	(TARGET_ASM_FILE_START): Set it, when appropriate.
- 	* config/arm/coff.h, config/arm/elf.h:
- 	Set TARGET_ASM_FILE_START_APP_OFF to true.
- 	* config/avr/avr.c (asm_file_start): Rename avr_file_start,
- 	take no arguments, make static.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
- 	Set them.
- 	* config/c4x/c4x.c (c4x_file_start): New static function.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE):
- 	Set them.
- 	* config/cris/cris.c (cris_file_start): New static function.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/dsp16xx/dsp16xx.c (coff_dsp16xx_file_start): Rename
- 	dsp16xx_file_start, make static.
- 	(luxworks_dsp16xx_file_start): Delete.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/h8300/h8300.c (asm_file_start): Rename
- 	h8300_file_start, make static, take no arguments.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/i370/i370.c (i370_file_start): New static function.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/i386/i386.c (x86_file_start): New static function.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/i386/i386.h (X86_FILE_START_VERSION_DIRECTIVE,
- 	X86_FILE_START_FLTUSED): New macros, default to false.
- 	* config/i386/i386-interix.h: Override X86_FILE_START_FLTUSED to 1.
- 	* config/i386/sysv4.h, config/i386/sco5.h: Override
- 	X86_FILE_START_VERSION_DIRECTIVE to true.
- 	* config/ia64/ia64.c (ia64_file_start): New static function.
- 	(TARGET_ASM_FILE_START): Set it.
- 	(emit_safe_across_calls): Take no arguments.
- 	* config/ia64/ia64.md: Update to match.
- 	* config/m32r/m32r.c (m32r_asm_file_start): Rename
- 	m32r_file_start, make static, take no arguments.
- 	(TARGET_ASM_FILE_START): Set it.
- 	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Rename
- 	m68hc11_file_start, make static, take no arguments.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	(print_options): Delete.
- 	* config/m68k/m68k.c (m68k_hp320_file_start): New static function.
- 	(TARGET_ASM_FILE_START_APP_OFF): Set.
- 	* config/m68k/hp320.h: Set TARGET_ASM_FILE_START to
- 	m68k_hp320_file_start.
- 	* config/mips/mips.c (iris6_asm_file_start, mips_asm_file_start):
- 	Make static, take no arguments.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	* config/mmix/mmix.c (mmix_asm_file_start): Rename
- 	mmix_file_start, make static, take no arguments.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	* config/mn10300/mn10300.c (asm_file_start): Rename
- 	mn10300_file_start, make static, take no arguments.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	* config/ns32k/ns32k.c (TARGET_ASM_FILE_START_APP_OFF): Set.
- 	* config/pa/pa.c (pa_file_start_level, pa_file_start_space,
- 	pa_file_start_file, pa_file_start_mcount, pa_elf_file_start,
- 	pa_som_file_start, pa_linux_file_start, pa_hpux64_gas_file_start,
- 	pa_hpux64_hpas_file_start): New static functions.
- 	* config/pa/elf.h: Set TARGET_ASM_FILE_START to pa_elf_file_start.
- 	* config/pa/pa-linux.h: Set TARGET_ASM_FILE_START to
- 	pa_linux_file_start.
- 	* config/pa/pa64-hpux.h: Set TARGET_ASM_FILE_START to
- 	pa_hpux64_gas_file_start or pa_hpux64_hpas_file_start, as
- 	appropriate.
- 	* config/pa/som.h: Set TARGET_ASM_FILE_START to pa_som_file_start.
- 	* config/rs6000/rs6000.c: Include xcoffout.h when TARGET_XCOFF.
- 	(rs6000_file_start): Make static, take no arguments.  Reset
- 	default_cpu under certain conditions.
- 	(rs6000_xcoff_file_start): New function.
- 	* config/rs6000/rs6000.h (TARGET_ASM_FILE_START): Set.
- 	* config/rs6000/xcoff.h (TARGET_ASM_FILE_START,
- 	TARGET_ASM_FILE_START_FILE_DIRECTIVE): Override.
- 	* config/sh/sh.c (output_file_start): Rename
- 	sh_file_start, make static, take no arguments.  Merge in old
- 	code from sh/elf.h's ASM_FILE_START, conditioned on TARGET_ELF.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	* config/sh/sh.c (TARGET_ELF): Define to 0.
- 	* config/sh/elf.h (TARGET_ELF): Redefine to 1.
- 	* config/v850/v850.c (asm_file_start): Delete.
- 	(TARGET_ASM_FILE_START_FILE_DIRECTIVE): Set.
- 	* config/vax/vax.c (vax_file_start): New static function.
- 	(TARGET_ASM_FILE_START, TARGET_ASM_FILE_START_APP_OFF): Set.
- 
- 	* config/darwin.h: Override ASM_FILE_START_FILE_DIRECTIVE to false.
- 	* config/elfos.h, config/svr3.h, config/arm/elf.h, config/arm/pe.h
- 	* config/i386/att.h, config/i386/gas.h, config/i386/linux.h
- 	* config/i386/sysv4.h, config/i386/sco5.h, config/i960/i960-coff.h
- 	* config/m68k/coff.h, config/m68k/hp320.h, config/mcore/mcore-pe.h
- 	* config/vax/vaxv.h: Set ASM_FILE_START_FILE_DIRECTIVE to true.
- 
- 	* config/darwin.h, config/elfos.h, config/alpha/elf.h
- 	* config/alpha/openbsd.h, config/alpha/osf.h, config/alpha/vms.h
- 	* config/arc/arc.h, config/arm/aof.h, config/arm/aout.h
- 	* config/arm/coff.h, config/arm/elf.h, config/arm/pe.h
- 	* config/avr/avr.h, config/c4x/c4x.h, config/cris/cris.h
- 	* config/dsp16xx/dsp16xx.h, config/h8300/elf.h, config/h8300/h8300.h
- 	* config/i370/i370.h, config/i386/att.h, config/i386/gas.h
- 	* config/i386/i386-interix.h, config/i386/linux.h, config/i386/sysv4.h
- 	* config/i386/sco5.h, config/i960/i960-coff.h, config/i960/i960.h
- 	* config/ia64/ia64.h, config/ia64/sysv4.h, config/m32r/m32r.h
- 	* config/m68hc11/m68hc11.h, config/m68k/coff.h, config/m68k/m68k.h
- 	* config/mcore/mcore-pe.h, config/mips/iris6.h, config/mips/mips.h
- 	* config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h
- 	* config/pa/elf.h, config/pa/pa-linux.h, config/pa/pa64-hpux.h
- 	* config/pa/som.h, config/pdp11/pdp11.h, config/rs6000/linux64.h
- 	* config/rs6000/lynx.h, config/rs6000/xcoff.h, config/sh/elf.h
- 	* config/sh/sh.h, config/sparc/sparc.h, config/v850/v850.h
- 	* config/vax/vax.h, config/vax/vaxv.h: Don't (re)define ASM_FILE_START.
- 
- 	* config/alpha/alpha-protos.h, config/arc/arc-protos.h
- 	* config/avr/avr-protos.h, config/dsp16xx/dsp16xx-protos.h
- 	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
- 	* config/m32r/m32r-protos.h, config/m68hc11/m68hc11-protos.h
- 	* config/mips/mips-protos.h, config/mmix/mmix-protos.h
- 	* config/mn10300/mn10300-protos.h, config/rs6000/rs6000-protos.h
- 	* config/sh/sh-protos.h, config/v850/v850-protos.h: Update.
- 
- 	* xcoffout.h, config/rs6000/aix.h, config/rs6000/xcoff.h:
- 	Remove reference to ASM_FILE_START in comment.
- 	* config/arm/aof.h, config/arm/aout.h, config/arm/freebsd.h
- 	* config/arm/linux-gas.h, config/arm/netbsd-elf.h
- 	* config/arm/netbsd.h: Delete definition of ARM_OS_NAME.
- 
- 2003-06-19  Graeme Peterson <gp@qnx.com>
- 
- 	* gcc.c (target_sysroot_suffix, target_sysroot_hdrs_suffix,
- 	SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC, sysroot_suffix_spec,
- 	sysroot_hdrs_suffix_spec): New.
- 	(static_specs): Initialize new variables.
- 	(add_sysroot_suffix_prefix, do_spec_1, main): Use new variables.
- 	* doc/tm.texi (SYSROOT_SUFFIX_SPEC, SYSROOT_HEADERS_SUFFIX_SPEC):
- 	New macros.
- 
- 2003-06-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-aux-info.c: Convert to ISO C90.
- 	* c-pragma.c: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-convert.c: Likewise.
- 	* c-cppbuiltin.c: Likewise.
- 	* c-dump.c: Likewise.
- 	* c-decl.c: Likewise
- 	* c-format.c: Likewise.
- 	* c-incpath.c: Likewise.
- 	* c-incpath.h: Likewise.
- 
- 2003-06-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_errno_check): Assume that flag_errno_math
- 	and HONOR_NANS have been tested before calling here.  Only try
- 	to set errno ourselves if the decl can't throw an exception.
- 	(expand_builtin_mathfn): Move the code to stabilize the arg
- 	after the main switch, so that that its only done when needed.
- 	BUILT_IN_SQRT{,F,L} doesn't set errno if its arg is nonnegative.
- 	Don't modify the original expr when stabilizing the argument.
- 	(expand_builtin_mathfn_2): Likewise, move the code to stabilize
- 	the args after the main switch, and don't modify the orginal exp.
- 
- 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expr.c (const_vector_from_tree): Initialize remaining elements
- 	to 0.
- 
- 2003-06-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md ("spe_evfscfsi"): Change operand types.
- 	Change "fix" to "float".
- 
- 2003-06-19  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-tree.h: Remove declaration of poplevel.
- 
- 	* tree.h: Remove declaration of approx_sqrt.
- 
- 	* c-lex.c: Remove redundant declaration of asm_out_file.
- 
- 	* flags.h: Remove declaration of warn_unknown_pragma and
- 	main_input_filename.
- 
- 	* rtl.h: Remove functions from fold-const.c since they're already
- 	declared in tree.h.
- 
- 	* regs.h: Remove redundant declaration of reg_names.
- 
- 	* bt-load.c (migrate_btr_defs): Correct printf arguments.
- 
- 	* protoize.c: Fix breakage from last patch.
- 
- 2003-06-19  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* hooks.h (hook_reg_class_void_no_regs): Only declare if tm.h
- 	has been included.
- 
- 2003-06-18  James A Morrison <ja2morri@student.math.uwaterloo.ca>
- 
- 	* config/sparc/sparc.c: Update copyright year.
- 
- 2003-06-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (init_cumulative_args): Limit CALL_LIBCALL
- 	to ABI_V4.
- 
- 2003-06-18  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	PR bootstrap/4068
- 	* config/i386/liunx.h: Don't include sys/ucontext.h for glibc 2.0.
- 
- 2003-06-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (TARGET_INITIALIZER and friends): Move
- 	to the end of the file.  Remove unnecessary prototypes.
- 
- 2003-06-19  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize
- 	calls to insn_default_latency and result_ready_cost.  Initialize
- 	def_latency to 1.
- 
- 2003-06-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (_Unwind_GetCFA): New.
- 	(_Unwind_FindEnclosingFunction): Implement.
- 
- 2003-06-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* toplev.c (rest_of_handle_sched): Hide the entire function if
- 	INSN_SCHEDULING is not defined.
- 	(rest_of_compilation): Call rest_of_handle_sched() only when
- 	INSN_SCHEDULING is defined.
- 
- 2003-06-18  Stephen Clarke <stephen.clarke@superh.com>
- 	    J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* bt-load.c: New file.
- 	* Makefile.in (OBJS): Include bt-load.o
- 	(bt-load.o): Add dependencies.
- 	* flags.h (flag_branch_target_load_optimize): Declare.
- 	(flag_branch_target_load_optimize2): Likewise.
- 	* hooks.c (hook_reg_class_void_no_regs): New function.
- 	(hook_bool_bool_false): Likewise.
- 	* hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare.
- 	* rtl.h (branch_target_load_optimize): Declare.
- 	* target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define.
- 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
- 	(TARGET_INITIALIZER): Include these.
- 	* target.h (struct gcc_target): Add branch_target_register_class
- 	and branch_target_register_callee_saved members.
- 	* toplev.c (enum dump_file_index): Add DFI_branch_target_load
- 	(dump_file) Add "tars" entry.
- 	(flag_branch_target_load_optimize): New variable.
- 	(flag_branch_target_load_optimize2): Likewise.
- 	(lang_independent_options): Add entries for new options.
- 	(rest_of_compilation): Call branch_target_load_optimize.
- 	* doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document.
- 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
- 	* doc/invoke.texi: Document -fbranch-target-load-optimize and
- 	-fbranch-target-load-optimize2.
- 	* rtl.h (epilogue_completed): Declare.
- 	* recog.c (epilogue_completed): New variable.
- 	* toplev.c (rest_of_compilation): Set it.
- 	* flow.c (mark_regs_live_at_end): Use it.
- 	* config/ia64/ia64.c (ia64_output_mi_thunk): Set it.
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
- 	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
- 
- 	* sh.c (shmedia_space_reserved_for_target_registers): New variable.
- 	(sh_target_reg_class): New function.
- 	(sh_optimize_target_register_callee_saved): Likwise.
- 	(shmedia_target_regs_stack_space): Likewise.
- 	(shmedia_reserve_space_for_target_registers_p): Likewise.
- 	(shmedia_target_regs_stack_adjust): Likewise.
- 	(TARGET_BRANCH_TARGET_REGISTER_CLASS): Override.
- 	(TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise.
- 	(calc_live_regs): If flag_branch_target_load_optimize2 and
- 	TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved
- 	for target registers, make sure that we save all target registers.
- 	(sh_expand_prologue, sh_expand_epilogue): Take target register
- 	optimizations into account.  Collapse stack adjustments if that
- 	is beneficial.
- 	(initial_elimination_offset): Reserve space for target registers
- 	if necessary.
- 	* sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define.
- 	(OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize.
- 
- 2003-06-18  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add an extra_header for ARM targets.
- 	Support configuring with --with-cpu=iwmmxt.
- 	* doc/invoke.texi: Document new value for -mcpu= ARM switch.
- 	* config/arm/aof.h (REGISTER_NAMES): Add iwmmxt register
- 	names.  Fix formatting.
- 	* config/arm/aout.h (REGISTER_NAMES): Add iwmmxt register
- 	names.
- 	* config/arm/arm-protos.h (arm_emit_vector_const): New
- 	prototype.
- 	(arm_output_load_gr): New prototype.
- 	* config/arm/arm.c (extra_reg_names1): Delete.
- 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN, FL_IWMMXT,
- 	* arch_is_iwmmxt): Define.
- 	(all_cores, all_architecture): Add entry for iwmmxt.
- 	(arm_override_options): Add support for iwmmxt.
- 	(use_return_insn, arm_function_arg, arm_legitimate_index_p,
- 	arm_print_value, arm_rtx_costs_1, output_move_double,
- 	arm_compute_save_reg_mask, arm_output_epilogue,
- 	arm_get_frame_size, arm_expand_prologue, arm_print_operand,
- 	arm_assemble_integer, arm_hard_regno_ok, arm_regno_class):
- 	Likewise.
- 	(arm_init_cumulative_args): Count iwmmxt registers.
- 	(arm_function_ok_for_sibcall): Return false of sibcall_blocked
- 	has been set.
- 	(struct minipool_node): Add fix_size field.
- 	(add_minipool_forward_ref): Add support for 8-byte aligning of
- 	the pool.
- 	(add_minipool_backward_ref, add_minipool_offsets,
- 	dump_minipool, push_minipool_fix): Likewise.
- 	(struct builtin_description): New struct.
- 	(builtin_description): New array of iwmmxt builtin functions.
- 	(arm_init_iwmmxt_builtins): New function.
- 	(arm_init_builtins): New function.
- 	(safe_vector_operand): New function.
- 	(arm_expand_binop_builtin): New function.
- 	(arm_expand_unop_builtin): New function.
- 	(arm_expand_builtin): New function.
- 	(arm_emit_vector_const): New function.
- 	(arm_output_load_gr): New function.
- 	* config/arm/arm.h (TARGET_CPU_iwmmxt, TARGET_IWMMXT,
- 	TARGET_REALLY_IWMMXT, arm_arch_iwmmxt, IWMMXT_ALIGNMENT,
- 	TYPE_NEEDS_IWMMXT_ALIGNMENT, ADJUST_FIELD_ALIGN,
- 	DATA_ALIGNMENT, LOCAL_ALIGNMENT, VECTOR_MODE_SUPPORTED_P): Define.
- 	(BIGGEST_ALIGNMENT): Set to 64 if ATPCS support is enabled.
- 	(CPP_CPU_ARCH_SPEC): Add entries for iwmmxt.
- 	(FIXED_REGISTERS, CALL_USED_REGISTERS, REG_ALLOC_ORDER,
- 	reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
- 	REG_CLASS_FOR_LETTER): Add iwmmxt registers.
- 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Disable iwmmxt
- 	registers unless the iwmmxt target is selected.
- 	(FIRST_IWMMXT_GR_REGNUM, LAST_IWMMXT_GR_REGNUM,
- 	FIRST_IWMMXT_REGNUM, LAST_IWMMXT_REGNUM, IS_IWMMXT_REGNUM,
- 	IS_IWMMXT_GR_REGNUM): Define.
- 	(FIRST_PSEUDO_REGISTER): Bump to 63.
- 	(struct machine_function): Add sibcall_blocked field.
- 	(Struct CUMULATIVE_ARGS): Add iwmmxt_nregs, named_count and
- 	nargs fields.
- 	(enum arm_builtins): New enum list.
- 	* config/arm/arm.md (UNSPEC_WSHUFH, UNSPEC_WACC,
- 	UNSPEC_TMOVMSK, UNSPEC_WSAD, UNSPEC_WSADZ, UNSPEC_WMACS,
- 	UNSPEC_WMACU, UNSPEC_WMACSZ, UNSPEC_WMACUZ, UNSPEC_CLRDI,
- 	UNSPEC_WMADDS, UNSPEC_WMADDU): New unspecs.
- 	(VUNSPEC_TMRC, VUNSPEC_TMCR, VUNSPEC_ALIGN8, VUNSPEC_WCMP_EQ,
- 	VUNSPEC_WCMP_GTU, VUNSPEC_WCMP_GT): New vunspecs.
- 	(movv2si, movv4hi, movv8qi): New expands for vector moves.
- 	Include iwmmxt.md.
- 	* config/arm/t-xscale-elf (MULTILIB_OPITONS): Add iwmmxt
- 	multilib.
- 	(MULTILIB_DIRNAMES, MULTILIB_REDUNDANT_DIRS): Likewise.
- 	* config/arm/mmintrin.h: New ARM specific header file.
- 	* config/arm/iwmmx.md: New iWMMXt specific machine patterns.
- 
- 2003-06-18  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* toplev.c (Remaining -d letters summary): Update.
- 
- 2003-06-18  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* config/rs6000/rs6000.c (init_cumulative_args): Add and handle LIBCALL
- 	argument.
- 	(function_arg): Handle CALL_LIBCALL flag.
- 	* config/rs6000/rs6000-protos.h (init_cumulative_args): Update
- 	prototype.
- 	* config/rs6000/rs6000.h (CALL_LIBCALL): New macro.
- 	(INIT_CUMULATIVE_LIBCALL_ARGS): New macro.
- 	(INIT_CUMULATIVE_ARGS): Add LIBCALL argument.
- 	(INIT_CUMULATIVE_INCOMING_ARGS): Likewise.
- 
- 2003-06-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* common.opt: New options.
- 	* opts.c (maybe_warn_unused_parameter, set_Wextra, handle_param,
- 	set_Wunused): New.
- 	(common_handle_option): Handle new options.
- 	* toplev.c (set_target_switch): Export.
- 	(set_Wextra, set_Wunused, maybe_warn_unused_parameter): Move to opts.c.
- 	(decode_W_option): -Wunused and -Wextra handled in opts.c now.
- 	(independent_decode_option): More options handled in opts.c now.
- 	Change prototype.
- 	* toplev.h (set_target_switch): New.
- 
- 2003-06-17  Robert Abeles  <rabeles@archaelogic.com>
- 
- 	PR debug/4252
- 	* c-opts.c (c_common_handle_option): Pass -fdump argument suffix
- 	to dump_switch_p().
- 	* tree-dump.c (dump_switch_p): Remove redundant 'dump-' prefix
- 	from static strings in dump_files.
- 
- 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (ANSI_PROTOTYPES, PTR_CONST, LONG_DOUBLE, VPARAMS,
- 	VA_OPEN, VA_FIXEDARG, VA_CLOSE, VA_START): undef and poison these
- 	libiberty macros.
- 
- 2003-06-17  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/10929
- 	* tree-inline.c (expand_call_inline): Don't warn about failing to
- 	inline a function which was made inline by -finline-functions.
- 
- 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update to ISO C.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 
- 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Replace BUILD_CC references with CC_FOR_BUILD.
- 	* configure: Regenerate.
- 	* Makefile.in: Replace BUILD_CC references with CC_FOR_BUILD.
- 
- 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	* install.texi (Testing): Add information on how to run Java
- 	runtime tests separately.
- 
- 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/mips.md (trap): Use break 0 when !TARGET_GAS.
- 
- 	* config/mips/iris6-o32.h (MIPS_ISA_DEFAULT): Remove.
- 	(MIPS_CPU_STRING_DEFAULT): Redefine to mips2.
- 
- 2003-06-17  Christopher Faylor  <cgf@redhat.com>
- 
- 	* doc/install.texi: Add msvc rebuild caveat.
- 
- 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/coff.h: Replace Hitachi with Renesas.
- 	* config/sh/elf.h: Likewise.
- 	* config/sh/embed-elf.h: Likewise.
- 	* config/sh/lib1funcs.asm: Likewise.
- 	* config/sh/sh-protos.h: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.h: Likewise.
- 	* config/sh/sh.md: Likewise.
- 
- 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog.3: Fix comment typos.
- 	* ChangeLog.6: Likewise.
- 	* config/d30v/d30v.c: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/ns32k/NOTES: Likewise.
- 
- 2003-06-17  Ranjit Mathew  <rmathew@hotmail.com>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/sourcebuild.texi (libgcj Tests): Simplify instructions on how
- 	to run Java runtime tests separately.
- 
- 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update a comment.
- 
- 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (ROUND_TYPE_ALIGN, LOCAL_ALIGNMENT): Complex modes
- 	are aligned like integral modes.
- 	(SH5_WOULD_BE_PARTIAL_NREGS): Also test for CDImode and DCmode.
- 
- 	* sh.h (EXTRA_CONSTRAINT_Csy): Allow PIC_DIRECT_ADDR_P.
- 	(LEGITIMATE_PIC_OPERAND_P): Allow LABEL_REF.
- 	* sh.md (*pt): Remove.
- 
- 	* sh.h (REG_ALLOC_ORDER): Avoid squandering call-saved registers.
- 
- 	* sh.md (return_media_rte): New pattern.
- 	(return_media): Use it.
- 
- 2003-06-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/contrib.texi: Replace Hitachi with Renesas.
- 	* doc/install.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 
- 2003-06-17  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (CONST_OK_FOR_J16): Fix HOST_BITS_PER_WIDE_INT >= 64
- 	behaviour.
- 
- 2003-06-17  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* doc/tm.texi (MD_FALLBACK_FRAME_STATE_FOR): Mention MAKE_THROW_FRAME.
- 
- 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Partly revert
- 	2003-01-23 patch. Corrected to handle kernels with changed ucontext.
- 
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Error on invalid
- 	-msdata=eabi usages.
- 
- 	* gcc/config/rs6000/sysv4.h (USE_LIBC_1): Delete all uses.
- 
- 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alloc-pool.c: Don't check HAVE_LONG_DOUBLE.
- 	* fixinc/gnu-regex.c: Don't define `volatile'.
- 	* ggc-page.c: Don't check HAVE_LONG_DOUBLE.
- 	* ggc-simple.c: Likewise.
- 	* system.h: Don't define `volatile'.
- 
- 	* aclocal.m4 (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Delete.
- 	* configure.in (gcc_AC_C_VOLATILE, gcc_AC_C_LONG_DOUBLE): Don't
- 	call these macros.
- 	* config.in, configure: Regenerated.
- 
- 2003-06-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/ia64/ia64.c (ia64_expand_builtin, case IA64_BUILTIN_BSP):
- 	Handle POINTERS_EXTEND_UNSIGNED.
- 
- 2003-06-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
- 	!TARGET_IRIX6]: Define as NULL.
- 
- 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (sparc_va_arg): Don't align 16-byte+ structures.
- 
- 2003-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* dbxout.c (dbxout_source_line_counter): New global variable.
- 	Mark it with GTY(()).
- 	(dbxout_source_line): Increment dbxout_source_line_counter
- 	and pass it to ASM_OUTPUT_SOURCE_LINE.
- 	* sdbout.c (sdbout_source_line_counter): New global variable.
- 	Mark it with GTY(()).
- 	(unnamed_struct_number): Mark it with GTY(()).
- 	(sdbout_source_line): Increment sdbout_source_line_counter
- 	and pass it to ASM_OUTPUT_SOURCE_LINE.
- 	* xcoffout.c (ASM_OUTPUT_SOURCE_LINE): Add third parameter
- 	(xcoffout_source_line): Pass 0 as third argument to
- 	ASM_OUTPUT_SOURCE_LINE.
- 	(xcoffout_begin_prologue): Likewise.
- 	* config/dbxout.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	Use it instead of 'sym_lineno' but without incrementing it.
- 	* config/dbxelf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/lynx.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/ptx4.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/alpha/alpha.c (alpha_start_function): Pass 0 as third
- 	argument to ASM_OUTPUT_SOURCE_LINE.
- 	* config/alpha/alpha.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	* config/arm/aout.h: Remove useless comment.
- 	* config/avr/avr.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	* config/i960/i960.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/m32r/m32r.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	Use it instead of 'sym_lineno' but without incrementing it.
- 	* config/m68k/hp320.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	* config/mcore/mcore-pe.h (ASM_OUTPUT_SOURCE_LINE): Add third
- 	parameter. Use it instead of 'sym_lineno' but without incrementing it.
- 	* config/mips/mips.c (mips_output_function_prologue): Pass 0 as third
- 	argument to ASM_OUTPUT_SOURCE_LINE.
- 	* config/mips/mips.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/pa/som.h (ASM_OUTPUT_SOURCE_LINE): Add third parameter.
- 	Use it instead of 'sym_lineno' but without incrementing it.
- 	* config/rs6000/linux64.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/sh/elf.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/sparc/aout.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* config/sparc/pbd.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
- 	* doc/tm.texi (ASM_OUTPUT_SOURCE_LINE): Document third parameter.
- 
- 2003-06-17  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_expand_block_move): Declare.
- 	(expand_block_move, output_block_move): Remove.
- 	* config/mips/mips.h (enum block_move_type): Remove.
- 	* config/mips/mips.c (block_move_call, output_block_move): Remove.
- 	(mips_block_move_straight, mips_adjust_block_mem): New function.
- 	(mips_block_move_loop): Renamed and reworked from block_move_loop.
- 	(mips_expand_block_move): Likewise expand_block_move.  Return false
- 	to fall back on the target-independent code.
- 	* config/mips/mips.md (movstrsi): Use mips_expand_block_move.
- 	(movstrsi_internal*): Remove.
- 
- 2003-06-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplib.h, cpphash.h, cppcharset.c, cpperror.c, cppexp.c
- 	* cppfiles.c, cpphash.c, cppinit.c, cpplex.c, cpplib.c
- 	* cppmacro.c, cpppch.c, cpptrad.c, cppspec.c: Convert to
- 	ISO C: new-style function declarations, no need for PARAMS,
- 	no special punctuation on indirect function calls, use string
- 	constant concatenation where convenient.
- 
- 2003-06-17  Andreas Jaeger  <aj@suse.de>
- 
- 	* rtl.h: Remove declarations from coverage.h.
- 	* toplev.c: Include coverage.h.
- 	* Makefile.in (toplev.o): Depend on coverage.h.
- 
- 	* toplev.h: Remove extra declaration of print_time.
- 
- 	* gengtype.c (close_output_files): Remove duplicated declaration.
- 
- 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/sparc/sysv4.h: Remove target-independent comment;
- 	replace "GNU CC" with "GCC".
- 	* config/vxworks.h: Replace "GNU compiler" with "GCC".
- 	* config/sparc/aout.h, config/sparc/biarch64.h, config/sparc/elf.h,
- 	config/sparc/freebsd.h, config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/lite.h, config/sparc/litecoff.h, config/sparc/liteelf.h,
- 	config/sparc/netbsd-elf.h, config/sparc/openbsd.h,
- 	config/sparc/rtemself.h, config/sparc/sol2-64.h,
- 	config/sparc/sol2-bi.h, config/sparc/sol2-gas-bi.h,
- 	config/sparc/sol2-gld-bi.h, config/sparc/sol2-gld.h,
- 	config/sparc/sol2.h, config/sparc/sp64-aout.h,
- 	config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h,
- 	config/sparc/sparc-protos.h, config/sparc/sysv4-only.h: Replace
- 	"GNU compiler", "GNU CC" with "GCC".
- 	* config/sparc/cypress.md, config/sparc/hypersparc.md,
- 	config/sparc/sparc-modes.def, config/sparc/sparc.c,
- 	config/sparc/sparc.md, config/sparc/sparclet.md,
- 	config/sparc/supersparc.md, config/sparc/ultra1_2.md,
- 	config/sparc/ultra3.md: Replace "GNU CC", "GNU Compiler", and
- 	"GNU C Compiler" with "GCC".
- 	* config/ip2k/ip2k.h: Replace "GNU CC" and "GNU compiler" with "GCC".
- 
- 2003-06-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Do not over-extend vector
- 	constants.
- 
- 	* testsuite/gcc.c-torture/execute/simd-4.c: New.
- 
- 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/ip2k/ip2k.h: Remove target-independent comments.
- 
- 	* config.gcc: Explicitly mention elfos.h in ip2k entry.
- 	* config/ip2k/ip2k.h: Don't #include it here.
- 
- 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* bitmap.c, builtins.c, c-incpath.c, cgraph.c, config/frv/frv.c,
- 	config/mips/mips.c, cppfiles.c, cpphash.c, cppinit.c, cpplib.c,
- 	dwarf2out.c, dwarfout.c, except.c, expr.c, expr.h, fold-const.c,
- 	function.c, gcc.c, genoutput.c, gensupport.c, global.c,
- 	haifa-sched.c, hashtable.c, ifcvt.c, integrate.c, local-alloc.c,
- 	loop.c, mips-tdump.c, mips-tfile.c, mkdeps.c, protoize.c,
- 	read-rtl.c, recog.h, reload1.c, sbitmap.c, ssa-dce.c,
- 	stringpool.c, tlink.c, tree.c, varasm.c, varray.c: Don't use
- 	the PTR macro.
- 
- 	* gengtype.c: Don't use UNION_INIT_ZERO.
- 	* system.h (UNION_INIT_ZERO): Delete.
- 
- 2003-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx.c (simplify_subreg): Use GET_MODE_SIZE instead of
- 	GET_MODE_UNIT_SIZE when simplifying constant vectors.
- 
- 2003-06-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* timevar.c (get_run_time): Remove function provided also by
- 	libiberty.
- 	* timevar.h: Remove get_run_time declaration.
- 
- 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): Remove
- 	unreachable code.
- 
- 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def, builtin-attrs.def, builtins.c, cpplex.c,
- 	cpplib.c, gencheck.c, gengenrtl.c, machmode.def, protoize.c: Don't
- 	use macros from "symcat.h", instead rely on ISO C.
- 
- 	* system.h: Don't include "symcat.h".
- 	* configure.in (AC_C_STRINGIZE): Delete.
- 	* config.in, configure: Regenerate.
- 
- 2003-06-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* Makefile.in (install-mkheaders): Use INSTALL_SCRIPT for scripts.
- 
- 	* tree.h (STMT_CHECK): New macro.
- 	Also upper-case argument names on all checking macros and
- 	fix some whitespace problems; assume CODE argument does not
- 	have side-effects.
- 
- 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* scan.h: Convert to ISO C.
- 	* system.h: Likewise.
- 
- 	* c-format.c (dynamic_format_types): New pointer for dynamic data.
- 	(find_length_info_modifier_index, init_dynamic_asm_fprintf_info):
- 	New functions split out of...
- 	(handle_format_attribute): ...here.
- 
- 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (REG_CLASS_FROM_LETTER): Change to:
- 	(REG_CLASS_FROM_CONSTRAINT).
- 	(CONST_OK_FOR_I): Rename to:
- 	(CONST_OK_FOR_I08).  Changed all users.
- 	(CONST_OK_FOR_J): Rename to:
- 	(CONST_OK_FOR_I16).  Changed all users.
- 	(CONST_OK_FOR_K): Rename to:
- 	(CONST_OK_FOR_P27).  Changed all users.
- 	(CONST_OK_FOR_L): Rename to:
- 	(CONST_OK_FOR_K08).  Changed all users.
- 	(CONST_OK_FOR_O): Rename to:
- 	(CONST_OK_FOR_I06).  Changed all users.
- 	(CONST_OK_FOR_P): Rename to:
- 	(CONST_OK_FOR_I10).  Changed all users.
- 	(CONSTRAINT_LEN, CONST_OK_FOR_I, CONST_OK_FOR_J16): Define.
- 	(CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_P): Likewise.
- 	(EXTRA_CONSTRAINT_A, EXTRA_CONSTRAINT_Bsc): Likewise.
- 	(EXTRA_CONSTRAINT_B, PIC_OFFSET_P, PIC_DIRECT_ADDR_P): Likewise.
- 	(EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C): Likewise.
- 	(EXTRA_MEMORY_CONSTRAINT,(EXTRA_CONSTRAINT_Sr0): Likewise.
- 	(CONST_OK_FOR_LETTER_P): Replace with
- 	(CONST_OK_FOR_CONSTRAINT_P).
- 	(EXTRA_CONSTRAINT_S): Rename to:
- 	(EXTRA_CONSTRAINT_C16).  Changed all users.
- 	(MOVI_SHORI_BASE_OPERAND_P): Don't allow direct addresses.
- 	(EXTRA_CONSTRAINT_T): Rename to:
- 	(EXTRA_CONSTRAINT_Csy).  Changed all users.
- 	(EXTRA_CONSTRAINT_Z): Remove.
- 	(EXTRA_CONSTRAINT): Replace with:
- 	(EXTRA_CONSTRAINT_STR).
- 	(EXTRA_CONSTRAINT_U): Rename to:
- 	 (EXTRA_CONSTRAINT_Z).  Changed all users.
- 	* sh.c (and_operand): Use CONST_OK_FOR_J16.
- 	* sh.md (cmpeqsi_t-1, cmpeqsi_t, adddi3_media): Use new constraints.
- 	(addsi3_media, addsi3_compact, andsi3_compact, anddi3): Likewise.
- 	(iorsi3, iordi3, xorsi3, xordi3, ashlsi3_std, ashlhi3_k): Likewise.
- 	(lshrsi3_k, movsi_i, movsi_ie, movsi_i_lowpart, movsi_media): Likewise.
- 	(movsi_media_nofpu, movqi_media, movhi_i, movhi_media): Likewise.
- 	(*movdi_i, movdi_media, movdi_media_nofpu, shori_media): Likewise.
- 	(movdf_media, movdf_media_nofpu, movv2sf_i, movv4sf_i): Likewise.
- 	(movsf_media, movsf_media_nofpu, movsi_y, beq_media): Likewise.
- 	(beq_media_i, bne_media, pt, ptb, movv8qi_i, movv2hi_i): Likewise.
- 	(movv4hi_i, movv2si_i, negcmpeqv8qi, negcmpeqv2si): Likewise.
- 	(negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si, negcmpgtv4hi): Likewise.
- 	(mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub, mextr_rl, mextr_lr): Likewise.
- 	(mextr1, mextr2, mextr3, mextr4, mextr5, mextr6, mextr7): Likewise.
- 	(mperm_w, mperm_w_little, mperm_w_big, msad_ubq_i): Likewise.
- 	(mshards_q, mshfhi_b, mshflo_b, mshf4_b, mshf0_b, mshfhi_l): Likewise.
- 	(mshflo_l, mshf4_l, mshf0_l, mshfhi_w, mshflo_w, mshf4_w): Likewise.
- 	(mshf0_w, mshflo_w_x, mshfhi_l_di, mshfhi_l_di_rev): Likewise.
- 	(mshflo_l_di_rev, mshflo_l_di_x, concat_v2sf): Likewise.
- 	(mshflo_l_di_x_rev, subv2si3, subv4hi3, sssubv2si3): Likewise.
- 	(sssubv4hi3): Likewise.
- 	(movsf_i): Change I[08]/r to G/r.
- 	(movsf_ie): Change f/{G,H}/c/X to f/{G,H}/c/Bsc.
- 
- 	* sh.c (sh_output_mi_thunk): Use CONST_OK_FOR_ADD.
- 
- 2003-06-16  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/i386/i386.c (ix86_memory_move_cost): Fix typo.
- 
- 2003-06-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* basic-block.h: Remove duplicate prototype of
- 	note_prediction_to_br_prob.
- 
- 	* tree.h: Remove duplicate prototype of strip_float_extensions.
- 
- 2003-06-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/c4x/c4x.c: Don't include "c-tree.h".
- 	* config/pa/pa.c: Likewise.
- 	* langhooks.c: Likewise.
- 	* tree.h (poplevel): Declare.
- 
- 2003-06-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (const_costs): Move this to ...
- 	(h8300_rtx_costs): ... here.
- 
- 2003-06-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.h (enum optab_index): Add new OTI_tan and OTI_atan.
- 	(tan_optab, atan_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize tan_optab and atan_optab.
- 	* genopinit.c (optabs): Implement tan_optab and atan_optab
- 	using tan?f2 and atan?f2 patterns.
- 	* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_TAN{,F,L}
- 	using tan_optab, and BUILT_IN_ATAN{,F,L} using atan_optab.
- 	Change the default value of errno_set to false.
- 	(expand_builtin): Expand BUILT_IN_TAN{,F,L} and BUILT_IN_ATAN{,F,L}
- 	using expand_builtin_mathfn.
- 
- 	* config/i386/i386.md (atansf2, atandf2, atanxf2, atantf2): New
- 	expander patterns implemented using existing atan2?f3 patterns.
- 
- 2003-06-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr <PLUS_EXPR>): If operand_equal_p considers
- 	both operands of the addition equal, reuse the expanded RTL.
- 	(expand_expr <MULT_EXPR>): Likewise for multiplication.
- 
- 2003-06-16  Roger Sayle  <roger@eyesopen.com>
- 	    Jeff Law  <law@redhat.com>
- 
- 	* fold-const.c (operand_equal_p): Consider two calls to "const"
- 	functions with identical non-volatile arguments to be equal.
- 	Consider the FUNCTION_DECL for the "__builtin_foo" form of a
- 	built-in function to be equal to the "foo" form.
- 
- 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/rs6000/sysv4le.h: Remove target-independent comment.
- 	Replace "GNU compiler" with "GCC" in comment.
- 
- 2003-06-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* tracer.c: Remove duplicate declaration.
- 
- 	* toplev.c: Remove extra declaration of decode_d_option.
- 
- 	* ssa.c: Remove duplicate declaration.
- 
- 	* sreal.c: Remove extra declaration of dump_sreal.
- 
- 	* reload1.c: Remove duplicate declarations.
- 
- 	* integrate.c: Remove extra declaration of
- 	set_decl_abstract_flags.
- 
- 	* flow.c: Remove extra declaration of dump_flow_info.
- 
- 	* alias.c: Remove extra declaration of get_addr.
- 
- 2003-06-16  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/rtems.h, config/sol2.h, config/svr4.h, config/usegas.h,
- 	config/vxworks.h: GNU CC -> GCC.
- 
- 	* convert.c, dwarf2out.c, dwarfout.c, emit-rtl.c, function.c,
- 	lists.c, print-rtl.c, print-tree.c, read-rtl.c, rtl-error.c,
- 	stmt.c, toplev.c, integrate.h, loop.h, machmode.h, rtl.h,
- 	ssa.h, tree.def: Replace overly specific references to "GNU C"
- 	and "GNU C Compiler" with references to "GCC".
- 
- 2003-06-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (prepare_move_operand): Check if operand 0 is an invalid
- 	memory reference.  Fix test that checks if operand 1 is using r0.
- 	* sh.md (movhi_i): Don't allow st.w r0,@(rX,rY) .
- 
- 	* defaults.h (REG_CLASS_FROM_CONSTRAINT): Only define if not already
- 	defined.
- 
- 2003-06-15  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* function.h (struct emit_status): Remove x_last_linenum,
- 	x_last_filename. Add x_last_location.
- 	* rtl.h: #include "input.h".
- 	(NOTE_DATA): New.
- 	* cfglayout.c (duplicate_insn_chain): Use emit_line_note for line
- 	number notes.
- 	* emit-rtl.c (last_linenum, last_filename): Remove.
- 	(last_location): New.
- 	(emit_line_note_after): LINE must always be >= 0.
- 	(emit_line_note): Likewise. Check not duplicate here...
- 	(emit_note): ... rather than here.
- 	(emit_line_note_force, force_next_line_note, init_emit): Adjust.
- 	* integrate.c (expand_inline_function): Use emit_line_note for
- 	line number notes.
- 	(copy_insn_list): Likewise.
- 	* unroll.c (copy_loop_body): Likewise.
- 	* Makefile.in (RTL_H): Add input.h.
- 
- 2003-06-16  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* optabs.c (emit_libcall_block): Don't hoist insns past a label.
- 
- 2003-06-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha-protos.h, config/alpha/elf.h,
- 	config/alpha/osf.h, config/alpha/unicosmk.h, config/alpha/vms.h,
- 	config/alpha/vms-cc.c, config/alpha/vms-ld.c: Update to ISO C.
- 	* config/alpha/alpha.c: Likewise.  Move targetm init to end of file.
- 	Remove unneeded static function decls.
- 
- 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_handle_option): s/on/value/.
- 	(OPT_fabi_version_, OPT_ftabstop_, OPT_ftemplate_depth_): Use value
- 	directly rather than converting the argument.
- 	* c.opt: Update docs.  Use UInteger where appropriate.
- 	* common.opt: Use UInteger where appropriate.
- 	* opts.c (integral_argument): New.
- 	(handle_argument): Handle integral arguments, and optional
- 	joined arguments.
- 	(common_handle_option): Update.
- 	* opts.h (CL_MISSING_OK, CL_UINTEGER): New.
- 	* opts.sh: Handle JoinedOrMissing and UInteger flags.
- 
- 2003-06-16  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Remove
- 	unnecessary extern declaration.
- 
- 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/gofast.h, config/interix.h, config/interix3.h,
- 	config/libgloss.h, config/linux-aout.h, config/linux.h,
- 	config/lynx-ng.h, config/lynx.h: GNU CC -> GCC.
- 	* config/kaos.h: "GNU compiler" -> GCC.
- 	* config/linux-aout.h, config/lynx.h: Clarify comment describing file.
- 
- 	* config/ip2k/crt0.S, config/ip2k/ip2k-protos.h,
- 	config/ip2k/ip2k.c, config/ip2k/ip2k.md, config/ip2k/libgcc.S:
- 	GNU CC -> GCC.
- 
- 	* config/svr3.h: Remove #if 0 code, misleading comments.
- 	GNU CC -> GCC.
- 
- 2003-06-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* vmsdbgout.c (vmsdbgout_finish): Rename parameter to
- 	main_input_filename to avoid conflict with input_filename macro.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/mips/mips.h (asm_file_name, g_switch_set,
- 	g_switch_value): Remove.
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
- 	unnecessary extern declarations.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/frv/frv.h: Remove declaration of g_switch_value.
- 	* config/m32r/m32r.h: Remove declaration of g_switch_value.
- 	* config/m68hc11/m68hc11.c: Remove declaration of asm_file_name.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.sh: Quote '+' in regex.
- 
- 2003-06-15  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/t-rs6000: Add dependence of cfglayout.h to rs6000.o.
- 	* config/rs6000/rs6000.c: Include cfglayout.h.
- 	* config/alpha/alpha.c: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/sparc/sparc.c: Likewise.
- 	* config/sh/sh.c: Likewise.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.sh: Quote '+' in regex.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (lang_flags): Update for new spelling of flags.
- 	(write_langs): Similarly.
- 	* c.opt: Specify languages.
- 	* opts.h: Remove languages.
- 	* opts.sh: Recognise front-end defined languages.
- 	* doc/sourcebuild.texi: Update.
- 
- 2003-06-15  Andreas Jaeger  <aj@suse.de>
- 
- 	* alloc-pool.c: Convert to ISO C90 prototypes.
- 	* alloc-pool.h: Likewise.
- 	* alias.c: Likewise.
- 	* attribs.c: Likewise.
- 	* bb-reorder.c: Likewise.
- 	* bitmap.h: Likewise.
- 	* bitmap.c: Likewise.
- 	* builtins.c: Likewise.
- 
- 	* tree.h: Convert prototypes of attribs.c to ISO C90.
- 	* basic-block.h: Convert prototypes of bb-reorder.c to ISO C90.
- 	* rtl.h: Convert prototypes of alias.c and builtins.c to ISO C90.
- 	* expr.h: Convert prototypes of builtins.c to ISO C90.
- 
- 2003-06-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.md (expsf2, expdf2, expxf2): New patterns to
- 	implement exp, expf and expl built-ins as inline x87 intrinsics.
- 	(UNSPEC_FSCALE, UNSPEC_FRNDINT, UNSPEC_F2XM1): New unspecs to
- 	represent x87's fscale, frndint and f2xm1 insns respectively.
- 	(*fscale_sfxf3, *fscale_dfxf3, *fscale_xf3): New insn patterns
- 	to encode x87's "fscale" instruction followed by a pop.
- 	(*frndintxf2): New insn pattern for "frndint".
- 	(*f2xm1xf2): New insn pattern for "f2xm1".
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FRNDINT and
- 	UNSPEC_F2XM1 like UNSPEC_{SIN,COS} and handle UNSPEC_FSCALE like
- 	UNSPEC_FPATAN.
- 
- 2003-06-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* gencheck.c (main): Avoid generating duplicate macros.
- 
- 	* Makefile.in (stagefeedback-start): Use $(SUBDIRS) instead of
- 	knowing names of language subdirectories.
- 
- 2003-06-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-pch.c (asm_file_name): Remove.
- 	* common.opt: Add more switches.
- 	* flags.h (g_switch_set): Boolify.
- 	* opts.c (g_switch_value, g_switch_set, exit_after_options,
- 	version_flag): Move from toplev.c.
- 	(common_handle_option): Handle more switches from toplev.c.
- 	* toplev.c (display_help, display_target_options, decode_d_option,
- 	print_version): Make non-static, remove prototypes.
- 	(aux_base_name, asm_file_name, aux_info_file_name): Constify.
- 	(version_flag, g_switch_value, g_switch_set, exit_after_options):
- 	Remove.
- 	(independent_decode_option): Move some handlers to opts.c.
- 	* toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
- 	exit_after_options, version_flag, display_help, display_target_options,
- 	print_version, decode_d_option): New.
- 
- 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/alpha/alpha.md: Follow spelling conventions.
- 	* config/arm/arm.c: Likewise.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/arm.md: Likewise.
- 	* config/arm/crtn.asm: Likewise.
- 	* config/m32r/m32r.c: Likewise.
- 	* config/m32r/m32r.md: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 
- 2003-06-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
- 	insn_locators_initialize.
- 	* config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
- 	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
- 	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
- 	* config/sh/sh.c (sh_output_mi_thunk): Do it later.
- 
- 2003-06-15  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c (expand_builtin_expect_jump): Remove redundant
- 	tests that are also in any_condjump_p().
- 
- 2003-06-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* libgcc2.c: Delete sysV68 L_trampoline section.
- 	* config/m68k/mot3300-crt0.S: Delete file.
- 	* config/m68k/mot3300Mcrt0.S: Likewise.
- 
- 2003-06-15  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/aoutos.h: Remove.
- 	* config.gcc: Remove reference to aoutos.h.
- 	* config/m68k/m68k-aout.h: Remove reference to aoutos.h.
- 
- 2003-06-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/install.texi: Follow spelling conventions.
- 	* doc/tm.texi: Likewise.
- 	* config/fp-bit.c: Likewise.
- 	* config/arm/arm.c: Likewise.
- 	* config/frv/frv.c: Likewise.
- 	* config/ns32k/NOTES: Likewise.
- 	* config/ns32k/STATUS: Likewise.
- 
- 2003-06-14  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.h (STORE_FLAG_VALUE): Remove default definition from here.
- 	* defaults.h (STORE_FLAG_VALUE): Move default definition to here.
- 	* doc/tm.texi (STORE_FLAG_VALUE): Document the default value.
- 
- 	* config/alpha/alpha.h (STORE_FLAG_VALUE): Remove definition.
- 	* config/arc/arc.h (STORE_FLAG_VALUE): Likewise.
- 	* config/arm/arm.h (STORE_FLAG_VALUE): Likewise.
- 	* config/cris/cris.h (STORE_FLAG_VALUE): Likewise.
- 	* config/i370/i370.h (STORE_FLAG_VALUE): Likewise.
- 	* config/i386/i386.h (STORE_FLAG_VALUE): Likewise.
- 	* config/i960/i960.h (STORE_FLAG_VALUE): Likewise.
- 	* config/ia64/ia64.h (STORE_FLAG_VALUE): Likewise.
- 	* config/ip2k/ip2k.h (STORE_FLAG_VALUE): Likewise.
- 	* config/m32r/m32r.h (STORE_FLAG_VALUE): Likewise.
- 	* config/mcore/mcore.h (STORE_FLAG_VALUE): Likewise.
- 	* config/mips/mips.h (STORE_FLAG_VALUE): Likewise.
- 	* config/mmix/mmix.h (STORE_FLAG_VALUE): Likewise.
- 	* config/ns32k/ns32k.h (STORE_FLAG_VALUE): Likewise.
- 	* config/pa/pa.h (STORE_FLAG_VALUE): Likewise.
- 	* config/pdp11/pdp11.h (STORE_FLAG_VALUE): Likewise.
- 	* config/sh/sh.h (STORE_FLAG_VALUE): Likewise.
- 	* config/sparc/sparc.h (STORE_FLAG_VALUE): Likewise.
- 	* config/v850/v850.h (STORE_FLAG_VALUE): Likewise.
- 	* config/xtensa/xtensa.h (STORE_FLAG_VALUE): Likewise.
- 
- 2003-06-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* opts.sh (POSIXLY_CORRECT): Unset it.
- 
- 	* tree.h (init_function_start): Remove filename and line paramters.
- 	* function.c (init_function_start): Remove filename and line
- 	parameters. Use DECL_SOURCE_LOCATION.
- 	* c-decl.c (store_parm_decls): Adjust init_function_start call.
- 	(c_expand_body_1): Likewise.
- 	* coverage.c (create_coverage): Likewise.
- 	* objc/objc-act.c (build_tmp_function_decl): Set line number to
- 	zero.
- 	(hack_method_prototype): Adjust init_function_start call.
- 
- 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/3724
- 	* arm/linux-elf.h (PROFILE_HOOK): Define.
- 
- 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/11183
- 	* arm.h (CANNOT_CHANGE_MODE_CLASS): Define.
- 
- 2003-06-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* opts.sh: Work around a mysterious feature in cygwin's gawk
- 	where specifying the input files explicitly has a different
- 	behavior to piping them via stdin.
- 
- 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* doc/sourcebuild.texi: Update.
- 
- 2003-06-14  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/11183
- 	* arm.c (output_move_double): Pass SImode to adjust_address.
- 
- 2003-06-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update to use common.opt and lang_opt_files.
- 	(c-options.c, c-options.h): Remove.
- 	(options.c, options.h): Add.
- 	* c-opts.c: Include options.h not c-options.h.
- 	* common.opt: New file.
- 	* configure, configure.in: Add lang_opt_files.
- 	* opts.c: Include flags.h and diagnostic.h.
- 	(common_handle_option): New.
- 	(handle_option): Update to recognize common options and all
- 	language-dependent options.
- 	* opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New.
- 	(struct cl_option): Make flags of type int.
- 	* opts.h: Flag option with front ends to which it applies.
- 	Handle duplicate options.
- 	* toplev.c (filename): Remove.
- 	(independent_decode_option): Don't handle filenames and -quiet.
- 	(process_options, do_compile): Update.
- 
- 2003-06-14  Nick Clifton  <nickc@redhat.com>
- 
- 	* doc/install.texi (Specific): Add description of different
- 	ARM supported file format targets.
- 
- Sat Jun 14 11:12:04 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* reorg.c (emit_delay_sequence, dbr_schedule): Clear insn locators
- 	inside delay slots.
- 
- 2003-06-13  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* unwind-c.c: Define NO_SIZE_OF_ENCODED_VALUE.
- 	* unwind-pe.h (size_of_encoded_value): Do not define if
- 	NO_SIZE_OF_ENCODED_VALUE is defined.
- 
- 2003-06-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (expand_expr <COMPLEX_CST>): Handle the case of
- 	expanding a complex constant into a CONCAT target.
- 
- 2003-06-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/svr3.h (ASM_FILE_START): Don't use ASM_FILE_START_1.
- 	(ASM_FILE_START_1): Delete.
- 	* config/i386/att.h, config/i386/sco5.h,
- 	config/i386/sysv3.h
- 	(ASM_FILE_START_1): Delete.
- 
- 2003-06-13  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* config/i386/bsd.h: Remove ASM_FILE_START.
- 	* config/i386/djgpp.h: Likewise.
- 	* config/i386/gas.h (ASM_FILE_START): Output .file before .intel_syntax.
- 
- 	* config/i386/djgpp.h: Move included unix.h, bsd.h, gas.h to ...
- 	* config.gcc (i[34567]86-pc-msdosdjgpp): ... here.
- 
- 2003-06-13  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	PR bootstrap/10835
- 	* haifa-sched.c (max_lookahead_tries,
- 	cached_first_cycle_multipass_dfa_lookahead,
- 	cached_issue_rate): New variables.
- 	(max_issue): Check the number of tries.
- 	(choose_ready): Calculate max_lookahead_tries.
- 	(sched_init): Check cached_issue_rate.
- 
- 2003-06-13  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgbuild.c (make_edges): Set ABNORMAL with SIBCALL.
- 	* cfgrtl.c (purge_dead_edges): Expect it too.
- 
- 2003-06-13  Jim Wilson  <wilson@tuliptree.org>
- 	    Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR bootstrap/10983
- 	* combine.c (make_extraction): Use gen_lowpart_for_combine
- 	when extracting from a REG and not in the destination of a SET.
- 
- 2003-06-13  Doug Evans  <dje@sebabeach.org>
- 
- 	* tsystem.h (abort): Declare in inhibit_libc case to remove build
- 	warnings for addvsi3, et.al.
- 
- 2003-06-13  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* c-common.c (handle_mode_attribute): Use VECTOR_MODE_P macro.
- 
- 	* simplify-rtx.c (simplify_subreg): Same.
- 
- 	* emit-rtl.c (gen_lowpart_common): Same.
- 
- 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* builtins.c: Fix comment typos.
- 	* fold-const.c: Likewise.
- 
- 2003-06-13  Doug Evans  <dje@sebabeach.org>
- 	    Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r-protos.h (m32r_pass_by_reference): Declare.
- 	* config/m32r/m32r.c (m32r_pass_by_reference): New fn.
- 	(m32r_va_arg): Use it.
- 	* config/m32r/m32r.h (FUNCTION_ARG_PASS_BY_REFERENCE): Ditto.
- 	(RETURN_IN_MEMORY): Ditto.
- 
- 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* c-typeck.c: Remove #if 0 clauses.
- 
- 	PR other/1494
- 	* config/alpha/openbsd.h, config/i386/openbsd.h,
- 	config/m68k/openbsd.h, config/sparc/openbsd.h: Remove
- 	residual reference to EGCS.
- 
- 2003-06-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (output_call_mem): If the address references the link-register
- 	use an instruction sequence that avoids early-clobbering IP.
- 	(eliminate_lr2ip): Delete.
- 
- 2003-06-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-format.c (format_types_orig): Disallow '*' width/precision in
- 	asm_fprintf format checks.
- 
- 2003-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_va_arg): Fix alignment when retrieving
- 	non-integral types from integer register save area slots.
- 
- 2003-06-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/i386/svr3dbx.h: GNU CC -> GCC; Intel 385 -> Intel 386.
- 
- 2003-06-13  Florian Weimer  <fw@deneb.enyo.de>
- 
- 	* doc/invoke.texi (SPARC Options): Document ``-mimpure-text''.
- 
- 2003-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (TARGET_ASM_FILE_END): Set TARGET_ASM_FILE_END
- 	to file_end_indicate_exec_stack.
- 
- 2003-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/11089
- 	* config/i386/i386.md (sse_movaps): Use an expander to force
- 	one operand to be a register.
- 	(sse_movups): Likewise.
- 
- 2003-06-13  Doug Evans  <dje@sebabeach.org>
- 
- 	Remove some build warnings.
- 	* config/m32r/initfini.c (__CTOR_LIST__,__DTOR_LIST__): Attribute used.
- 	(__do_global_ctors,__do_global_dtors): Ditto.
- 
- 2003-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/10557
- 	* rtlanal.c (subreg_offset_representable_p): Relax subreg check.
- 
- 2003-06-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m32r/m32r.md: Fix a comment typo.
- 
- 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
- 
- 	PR target/10142
- 	* config/sparc/sparc.c (function_arg_record_value_parms): Add
- 	new 'stack' field.
- 	(function_arg_record_value_1): Set 'stack' to 1 if we run out of
- 	integer slots for an integer field.
- 	(function_arg_record_value_3): Shift vector index.
- 	(function_arg_record_value_2): Likewise.
- 	(function_arg_record_value): Initialize 'stack' to 0.
- 	Set 'stack' to 1 if we run out of integer slots for an integer field.
- 	Generate (parallel [(expr_list (nil) ...) ...]) if 'stack' is set to 1.
- 
- 2003-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/10955
- 	* unroll.c (unroll_loop): Fix off-by-one bug.
- 
- 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Remove typo.
- 
- 2003-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (legitimate_constant_p): Handle UNSPEC_NTPOFF
- 	and UNSPEC_DTPOFF.
- 
- 2003-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/10475
- 	* expmed.c (emit_store_flag): Use simplify_gen_subreg directly
- 	for extracting sub-words.
- 
- 2003-06-12  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/7594
- 	* config/m68k/m68k.md (zero_extendhisi2): Use gen_lowpart_SUBREG.
- 	(zero_extendqihi2, zero_extendqisi2): Likewise.
- 
- 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (function_arg): Always split vectors for
- 	e500 if it's a stdarg function.
- 	(function_arg_advance): Advance 2 registers for vectors in a
- 	stdarg function.
- 	(init_cumulative_args): Initialize stdarg.
- 	(rs6000_spe_function_arg): New.
- 
- 	* config/rs6000/rs6000.h (rs6000_args): Add stdarg.
- 
- 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (MODES_TIEABLE_P): Add SPE vectors.
- 
- 2003-06-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/168
- 	* fold-const.c (tree_expr_nonnegative_p):  Handle addition
- 	and multiplication of zero extensions, floating point division,
- 	and integer<->fp, fp<->fp and zero extension conversions.
- 	The built-in ceil and floor functions preserve signedness.
- 
- 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ChangeLog: Follow spelling conventions.
- 	* ChangeLog.2: Likewise.
- 	* c-decl.c: Likewise.
- 	* cfgloop.h: Likewise.
- 	* cgraph.c: Likewise.
- 	* coverage.c: Likewise.
- 	* cppcharset.c: Likewise.
- 	* cpphash.h: Likewise.
- 	* cpplex.c: Likewise.
- 	* cpplib.c: Likewise.
- 	* dbxout.c: Likewise.
- 	* df.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* dwarfout.c: Likewise.
- 	* emit-rtl.c: Likewise.
- 	* explow.c: Likewise.
- 	* gcov-io.c: Likewise.
- 	* gcov-io.h: Likewise.
- 	* gcov.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* ggc.h: Likewise.
- 	* opts.c: Likewise.
- 	* real.c: Likewise.
- 	* reload.c: Likewise.
- 	* stmt.c: Likewise.
- 
- 2003-06-12  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (m32r-*-elf): Change company to Renesas.
- 
- Thu Jun 12 20:00:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* basic-block.h (flow_delete_block_noexpunge): Kill.
- 	* cfgrtl.c (flow_delete_block_noexpunge): Merge to
- 	rtl_delete_block.
- 
- 2003-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	PR inline-asm/4823
- 	* reg-stack.c (any_malformed_asm): New.
- 	(check_asm_stack_operands): Set it.
- 	(convert_regs_1): Check it before aborting.
- 
- 2003-06-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md: Change all clobbers of the accumulator to sets.
- 
- 2003-06-12  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-opts.c (complain_wrong_lang): Add on argument.
- 	Print no- switch if on is false.
- 	(c_common_decode_option): Adjust caller.
- 
- 2003-06-12  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologue): Use LA instead of AR
- 	to initialize GOT register.
- 
- 2003-06-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (tree_expr_nonnegative_p): Add support for
- 	floating point constants, addition and multiplication.
- 
- 2003-06-12  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (adddi3_compact, subdi3_compact): Add earlyclobber
- 	constraint modifier for operand 0.
- 
- 2003-06-12  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	Don't warn on dollars in builtin macro definitions,
- 	e.g. __REGISTER_PREFIX__.
- 	* cpphash.h (struct cpp_reader): Move member warn_dollars...
- 	* cpplib.h (struct cpp_options): ...to here.  Change type to
- 	unsigned char.
- 	* cppinit.c (cpp_create_reader): Set it to 1 here.
- 	(post_options): Don't set it here.
- 	* c-opts.c (c_common_init_options): Reset it to 0 here.
- 	(finish_options): Set it here.
- 	* cpplex.c (forms_identifier_p): Tweak for new location of
- 	warn_dollars.
- 
- 	* configure.in (assembler dwarf2 debug_line support): Define insn
- 	for cris-*-* and mmix-*-*.
- 	* configure: Regenerate.
- 
- 2003-06-11  Uwe Stieber  <uwe@kaos-group.de>
- 
- 	* config.gcc (arm*-*-kaos*, i[34567]86-*-kaos*, powerpc-*-kaos*,
- 	powerpcle-*-kaos*, strongarm-*-kaos*): New targets.
- 	(sh-*-elf*): Add sh*-*-kaos* support.
- 	* config/kaos.h, config/arm/kaos-strongarm.h, config/arm/kaos-arm.h,
- 	config/i386/kaos-i386.h, config/rs6000/kaos-ppc.h,
- 	config/sh/kaos-sh.h: New files.
- 
- 2003-06-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (fis_get_condition): Make it a global function.
- 	* reload1.c (reload_cse_move2add): Detect implicit sets.
- 	* rtl.h: Add a prototype for fis_get_condition.
- 
- 2003-06-11  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (expand_asm_operands): Don't warn for memories with
- 	queued addresses.
- 
- 2003-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
- 	brackets.
- 
- 2003-06-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* hooks.c (hook_int_size_t_constcharptr_int_0): New.
- 	* hooks.h (hook_int_size_t_constcharptr_int_0): New.
- 	* langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
- 	(LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.c (lhd_decode_option): Remove.
- 	* langhooks.h (struct lang_hooks): Remove decode_option.
- 	* opts.c (handle_option): No longer use decode_option.
- 
- 2003-06-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopanal.c (variable_initial_value): Update the set of altered
- 	registers correctly.
- 
- 2003-06-11  Roger Sayle  <roger@eyesopen.com>
- 	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/d30v/d30v.h: Delete reference to ASM_FINAL_SPEC.
- 	* config/i386/netbsd-elf.h: Likewise.
- 	* config/m32r/m32r.h: Likewise.
- 	* config/mn10300/mn10300.h: Likewise.
- 	* config/stormy16/stormy16.h: Likewise.
- 	* config/v850/v850.h: Likewise.
- 	* config/vax/netbsd-elf.h: Likewise.
- 	* config/xtensa/elf.h: Likewise.
- 	* config/xtensa/linux.h: Likewise.
- 
- 2003-06-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris5gas.h (MDEBUG_ASM_SPEC): Override to match
- 	DWARF 2 default.
- 
- 	* config/mips/dbxmdebug.h: New file.
- 	* config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it with
- 	gas and --with-stabs.
- 
- 2003-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* expr.c (can_move_by_pieces): align argument may be unused.
- 
- 2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* expr.c (convert_move): Handle moves between two CONCATs.
- 
- 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
- 	!TARGET_H8300.
- 
- 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (final_prescan_insn): Don't dump rtl.
- 	* config/h8300/h8300.h (MASK_RTL_DUMP): Remove.
- 	(TARGET_RTL_DUMP): Likewise.
- 	(TARGET_SWITHCES): Remove -mrtl-dump.
- 
- 2003-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (gen_cond_trap): Fix prepare_operand typo.
- 
- 2003-06-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md (call_gp): Fix memory mode.
- 
- 2003-06-10  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR target/8812
- 	* reload1.c (choose_reload_regs): For equiv reg, add loop over all
- 	hard regs for reload_reg_used_at_all and reg_class_contents checks.
- 
- 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand): Remove support for
- 	operand character 'b'.
- 	Add the AND case to operand character 'c'.
- 	* config/h8300/h8300.md (two anonymous patterns): Replace
- 	operand character 'b' with 'c'.
- 
- 2003-06-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (print_operand): Remove support for
- 	operand character 'u'.
- 
- 2003-06-10  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Fix typo.
- 	* configure: Regenerate.
- 
- 2003-06-10  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/alpha/alpha.c (unicosmk_file_end): Add conditional
- 	compilation guard.
- 
- 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh-protos.h (function_symbol): Declare.
- 	* sh.c (expand_block_move, expand_ashiftrt): Use it.
- 	(sh_expand_prologue, sh_expand_epilogue): Likewise.
- 	(sh_initialize_trampoline): Likewise.
- 	(function_symbol): New function.
- 	* sh.md (udivsi3, divsi3, mulsi3, ic_invalidate_line): Use it.
- 	(initialize_trampoline, call, call_pop, call_value, sibcall): Likewise.
- 	(call_value_pop, shcompact_return_tramp): Likewise.
- 
- 	* sh.h (OVERRIDE_OPTIONS): Don't suppress --profile-arc-flag.
- 
- 	* sh.md (GOTaddr2picreg): Use gen_lowpart to get lowpart of
- 	target register.
- 
- 2003-06-10  DJ Delorie  <dj@redhat.com>
- 
- 	* doc/md.texi (Machine Constraints): Document stormy's Z
- 	constraint.
- 
- 2003-06-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* except.c (call_site_base): Mark with GTY.
- 
- 2003-06-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm-proto.h: Convert to ISO C90 prototypes.
- 	* arm.c: Likewise.
- 
- 2003-06-10  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_output_mi_thunk): Call insn_locators_initialize.
- 
- 2003-06-10  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* calls.c (expand_call): Convert structure_value_addr to Pmode if
- 	necessary.
- 
- 2003-06-10  Andrew Haley  <aph@redhat.com>
- 
- 	* langhooks-def.h (LANG_HOOKS_DECL_OK_FOR_SIBCALL): New.
- 	(LANG_HOOKS_DECLS): Add LANG_HOOKS_DECL_OK_FOR_SIBCALL.
- 	(lhd_decl_ok_for_sibcall): New.
- 	* langhooks.c (lhd_decl_ok_for_sibcall): New.
- 	* langhooks.h (lang_hooks_for_decls.ok_for_sibcall): New field.
- 	* calls.c (expand_call): Check lang_hook before generating a
- 	sibcall.
- 
- 2003-06-10  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_extra_constraint_p): Add Z,
- 	which matches (const_int 0) for addhi3.
- 	* config/stormy16/stormy16.md: Document known constraints.
- 	(addhi3): Handle adding zero.
- 
- 2003-06-10  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
- 
- 	* config/m32r/m32r.h (HARD_REGNO_RENAME_OK): New.
- 	* config/m32r/m32r.c (m32r_hard_regno_rename_ok): New.
- 	* config/m32r/m32r-protos.h: Prototype it.
- 
- 2003-06-10  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/eabi.h (TARGET_OS_CPP_BUILTINS): Define builtins
- 	common to rs6000 sysv targets.
- 	* config/rs6000/eabisim.h (TARGET_OS_CPP_BUILTINS): Ditto.
- 	* config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Ditto.
- 
- 2003-06-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc: Add arm-wince-pe target.
- 	* config/arm/pe.h (MULTILIB_DEFAULTS): Define.
- 	Add comment about default apcs26 support.
- 	* config/arm/t-pe (MULTILIB_OPTIONS): Add an -mapcs-32
- 	multilib.
- 	(MULTILIB_DIRNAMES): Add 'apcs32'.
- 	* config/arm/t-wince-pe: New makefile fragment.
- 	* config/arm/wince-pe.h: New file.  Overrides a few definitions
- 	in arm/pe.h
- 
- 2003-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
- 	* fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
- 	when x is easily negated and f is sin, tan or atan.
- 	(fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
- 	sin(x) with flag_unsafe_math_optimizations.
- 	(fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
- 	sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).
- 
- 2003-06-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold <EQ_EXPR>):  Don't fold x == x only if x
- 	is a floating point type *and* we currently honor NaNs.
- 	(fold <NE_EXPR>): Likewise.
- 
- 2003-06-10  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/11131
- 	* tree-inline.c (inlinable_function_p): Call the language-specific
- 	hook early.
- 
- 2003-06-09  David Taylor  <dtaylor@emc.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_va_start, rs6000_va_arg):  Skip over
- 	the f_res field.
- 
- 2003-06-09  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Remove references to host_truncate_target.
- 	* configure: Regenerate.
- 	* config.gcc: Remove references to truncate_target,
- 	host_truncate_target.
- 
- 	* Makefile.in, configure.in, config/m68hc11/t-m68hc11-gas:
- 	Replace "build_canonical" with build, "host_canonical" with host.
- 	* configure.in: Use GCC_TOPLEV_SUBDIRS.
- 	* aclocal.m4: Include ../config/acx.m4.
- 	* configure: Regenerate.
- 
- 2003-06-09  David Taylor  <dtaylor@emc.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_build_va_list): Give the two
- 	bytes of padding in the __va_list_tag structure a name (reserved).
- 
- 2003-06-09  Jason Merrill  <jason@redhat.com>
- 
- 	* fold-const.c (operand_equal_p): Handle ADDR_EXPR and TRUTH_NOT_EXPR.
- 
- 2003-06-09  Osku Salerma  <osku@iki.fi>
- 
- 	* c-format.c (check_format_string, get_constant): New.
- 	(handle_format_attribute, handle_format_arg_attribute,
- 	decode_format_attr): Change to use above functions.
- 
- 2003-06-09  Richard Henderson  <rth@redhat.com>
- 
- 	* stmt.c (expand_asm_operands): Re-word warning.
- 
- 2003-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
- 
- 	PR target/8787
- 	* config/i386/djgpp.h (ASM_FILE_START): emit `.intel_syntax'
- 	if -masm=intel.
- 
- 2003-06-09  James E Wilson  <wilson@tuliptree.org>
- 
- 	* config/frv/cmovc.c, config/frv/cmovh.c, config/frv/cmovw.c,
- 	config/frv/frvbegin.c, config/frv/frvend.c, config/frv/lib1funcs.asm:
- 	Add libgcc exception.
- 
- 2003-06-09  David Edelsohn  <edelsohn@gnu.org>
- 	    Ayal Zaks  <gcchaifa@us.ibm.com>
- 
- 	* config/rs6000/rs6000.md (define_attr "type"): Add insert_word.
- 	(insvsi*): Add insert_word attribute.
- 	* config/rs6000/rs6000.c (rs6000_variable_issue): Add TYPE_INSERT_WORD.
- 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
- 	power4.md,rios1.md,rios2.md,rs64.md}: Add insert_word.
- 
- 2003-06-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* fold-const.c (fold): Fix a comment typo.
- 
- 2003-06-09  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree-inline.c (expand_call_inline): DECL_SOURCE_LINE_FIRST is
- 	removed.
- 
- 2003-06-09  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (gen_block_redirect): Use locators.
- 
- 2003-06-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (THUMB_PRINT_OPERAND_ADDRESS): Use %wd in format and remove
- 	cast to int.
- 
- 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* configure.in: Assume gas 2.14 and above can handle MIPS relocation
- 	operators.
- 	* configure: Regenerated.
- 
- 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
- 	    Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (GLOBAL_POINTER_REGNUM): New macro.
- 	(PIC_OFFSET_TABLE_REGNUM): Look at pic_offset_table_rtx after reload.
- 	(STARTING_FRAME_OFFSET): Don't allocate a cprestore slot for
- 	n32/64 PIC.
- 	(MUST_SAVE_REGISTERS): Delete.
- 	* config/mips/mips.c (mips_frame_info): Remove extra_size field.
- 	(machine_function): Add global_pointer field.
- 	(mips_classify_constant): Check for (const $gp) using pointer equality
- 	with pic_offset_table_rtx.
- 	(mips_classify_constant): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
- 	(mips_restore_gp): Use current_function_outgoing_args_size.
- 	(print_operand): Use PIC_OFFSET_TABLE_REGNUM instead of
- 	GP_REG_FIRST + 28.  Handle relocation strings that have
- 	more than one '('.
- 	(mips_reloc_string): Handle RELOC_LOADGP_HI and RELOC_LOADGP_LO.
- 	(mips_global_pointer): New function.
- 	(mips_save_reg_p): New function, mostly split out from...
- 	(compute_frame_size): ...here.  Remove handling of extra_size.
- 	Reclaim args_size if no variables depend on it.  Don't treat gp
- 	as a special case: handle it in the main GPR loop.
- 	(mips_initial_elimination_offset): Fix comment.
- 	(save_restore_insns): Save every register in the GPR mask,
- 	removing distinction between mask and real_mask.
- 	(mips_output_function_prologue): Update .frame psuedo-op after
- 	the removal of extra_size.  Move the SVR4 PIC stack allocation
- 	and cprestore instructions to mips_expand_prologue.
- 	(mips_gp_insn): New function.
- 	(mips_expand_prologue): Set REGNO (pic_offset_table_rtx) to
- 	the chosen global pointer.  Handle SVR4 PIC stack allocation
- 	in the same way as other ABIs.  Adjust varargs code accordingly.
- 	Emit a cprestore insn after allocating the stack.  Use mips_gp_insn
- 	to emit the loadgp sequence.  Follow it with a loadgp_blockage
- 	if not using explicit relocs.
- 	(mips_output_function_epilogue): Reinstate the default gp register.
- 	(mips16_gp_pseudo_reg): Use pic_offset_table_rtx.
- 	(mips16_optimize_gp): Likewise.
- 	* config/mips/mips.md (UNSPEC_LOADGP): Remove.
- 	(UNSPEC_SETJMP, UNSPEC_LONGJMP): Remove.
- 	(UNSPEC_CPRESTORE, RELOC_LOADGP_HI, RELOC_LOADGP_LO): New.
- 	(loadgp): Remove.
- 	(loadgp_blockage, cprestore): New instructions.
- 	(builtin_setjmp_setup): Implement using emit_move_insn.  Use
- 	pic_offset_table_rtx.
- 	(builtin_setjmp_setup_32, builtin_setjmp_setup_64): Remove.
- 	(builtin_longjmp): Use gen_raw_REG to force use of $28.
- 
- 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_output_division): Declare.
- 	* config/mips/mips.h (MASK_CHECK_RANGE_DIV): Remove.
- 	(MASK_BRANCHLIKELY): Use MASK_CHECK_RANGE_DIV's old number.
- 	(TARGET_NO_CHECK_ZERO_DIV, TARGET_CHECK_RANGE_DIV): Remove.
- 	(TARGET_CHECK_ZERO_DIV): New macro.
- 	(TARGET_SWITCHES): Remove -mcheck-range-div & -mno-check-range-div.
- 	* config/mips/mips.c (mips_output_division): New function.
- 	* config/mips/mips.md (length): Take TARGET_CHECK_ZERO_DIV into
- 	account when calculating the default length of a division.
- 	(divmodsi4, divmoddi4, udivmodsi4, udivmoddi4): Turn into define_insns.
- 	Enable regardless of optimization level.  Use mips_output_division.
- 	(divmodsi4_internal, divmoddi4_internal, udivmodsi4_internal,
- 	udivmoddi4_internal, div_trap, div_trap_normal, div_trap_mips16,
- 	divsi3, divsi3_internal, divdi3, divdi3_internal, modsi3,
- 	modsi3_internal, moddi3, moddi3_internal, udivsi3, udivsi3_internal,
- 	udivdi3, udivdi3_internal, umodsi3, umodsi3_internal, umoddi3,
- 	umoddi3_internal): Remove.
- 
- 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_reg_names): Change hilo entry to "".
- 	(mips_sw_reg_names): Likewise.
- 	(mips_regno_to_class): Change hilo entry to NO_REGS.
- 	(hilo_operand): Use MD_REG_P.
- 	(extend_operator): New predicate.
- 	(override_options): Remove 'a' constraint.
- 	(mips_secondary_reload_class): Remove hilo handling.  Also remove
- 	handling of (plus sp reg) reloads for mips16.
- 	(mips_register_move_cost): Remove hilo handling.
- 	* config/mips/mips.h (FIXED_REGISTERS): Make hilo entry fixed.
- 	(MD_REG_LAST): Remove hilo from range.
- 	(HILO_REGNUM): Delete.
- 	(reg_class): Remove HILO_REG and HILO_AND_GR_REGS.
- 	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
- 	(PREDICATE_CODES): Add entry for extend_operator.
- 	(DEBUG_REGISTER_NAMES): Change hilo entry to "".
- 	* config/mips/mips.md: Remove hilo clobbers wherever they occur.
- 	Remove constraints from multiplication define_expands.  Remove
- 	clobbers from "decorative" define_expand patterns.
- 	(UNSPEC_HILO_DELAY): Delete.
- 	(*mul_acc_si, *mul_sub_si): Add early-clobber to operand 6.
- 	(mulsidi3, umulsidi3): Change pattern to match the TARGET_64BIT case.
- 	Adjust C code to just emit insns for !TARGET_64BIT.
- 	(mulsidi3_internal): Rename to mulsidi3_32bit.
- 	(mulsidi3_64bit): Use a "d" constraint for the destination.
- 	Use extend_operator so that the pattern can handle umulsidi3 as well.
- 	Split the instruction after reload.
- 	(*mulsidi3_64bit_parts): New pattern, generated by mulsidi3_64bit.
- 	(umulsidi3_internal): Rename to umulsidi3_32bit.
- 	(umulsidi3_64bit): Remove.
- 	(*smsac_di, *umsac_di): Line-wrap fixes.
- 	(udivsi3_internal): Don't allow operand 2 to be constant.
- 	(udivdi3_internal, umodsi3_internal, umoddi3_internal): Likewise.
- 	(movdi_internal2, movsi_internal): Remove hilo alternatives.
- 	(reload_in[sd]i, reload_out[sd]i, hilo_delay): Remove.
- 
- 2003-06-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	PR target/10913
- 	* config/mips/mips.h (TARGET_FILE_SWITCHING, NO_DBX_FUNCTION_END,
- 	PUT_SDB_SCL, PUT_SDB_INT_VAL, PUT_SDB_VAL, PUT_SDB_ENDEF,
- 	PUT_SDB_TYPE, PUT_SDB_SIZE, PUT_SDB_DIM, PUT_SDB_START_DIM,
- 	PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM, PUT_SDB_TAG, PUT_SDB_SRC_FILE,
- 	SDB_GENERATE_FAKE, TEXT_SECTION): Delete.
- 	(PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, PUT_SDB_BLOCK_START,
- 	PUT_SDB_BLOCK_END, PUT_SDB_FUNCTION_END): Replace use of
- 	asm_out_text_file with asm_out_file.
- 	* config/mips/iris5gas.h (PUT_SDB_SIZE, PUT_SDB_TYPE): Likewise.
- 	* config/mips/elf.h (TEXT_SECTION): Undefine.
- 	* config/mips/elf64.h (TEXT_SECION): Undefine.
- 	* config/mips/openbsd.h (TEXT_SECION): Undefine.
- 	* config/mips/mips.c (asm_out_text_file, asm_out_data_file): Delete.
- 	(override_options): Disable small-data optimizations unless using
- 	gas or explicit relocations.
- 	(mips_asm_file_start, mips_asm_file_end, mips_output_function_epilogue,
- 	iris6_asm_named_section, iris6_asm_file_start): Remove code for
- 	handling TARGET_FILE_SWITCHING.
- 	(copy_file_data): Move into TARGET_IRIX6 block.
- 
- 2003-06-08  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (EXPAND_MEMORY): New.
- 	* expr.c (expand_expr): Check it.
- 	* stmt.c (expand_asm_operands): Provide it when the constraint
- 	requires a memory.  Warn for memory input constraints without
- 	a memory operand.
- 
- 2003-06-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* varasm.c: Don't include c-tree.h.
- 
- 2003-06-08  Andreas Jaeger  <aj@suse.de>
- 
- 	* predict.h: Convert to ISO C90 prototypes.
- 	* predict.c: Likewise.
- 	* tree-dump.h: Likewise.
- 	* tree-dump.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* diagnostic.c: Likewise.
- 	* combine.c: Likewise.
- 
- 	* rtl.h: Convert prototypes of combine.c to ISO C90.
- 
- Sun Jun  8 21:27:41 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfglayout.c (insn_scope): New static function
- 	(block_locators_*, line_locators*, file_locators*): New static varrays.
- 	(scope_to_insns_initialize): Use them.
- 	(insn_line, insn_file): New functions.
- 	(scope_to_insns_finalize): Use insn_scope.
- 	(prologue_locator, epilogue_locator): New global variables.
- 	* emit-rt.c (try_split, make_insn_raw, make_jump_insn_raw,
- 	make_call_insn_raw, emit_copy_of_insn_after): Use locators.
- 	(emit_insn_after_scope, emit_insn_before_scope
- 	emit_jump_insn_after_scope, emit_jump_insn_before_scope
- 	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
- 	(emit_insn_after_setloc, emit_insn_before_setloc
- 	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
- 	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
- 	use locators.
- 	* final.c (notice_source_line): Use locators.
- 	(final_start_function): Set initial source file and line.
- 	(final_scan_insn): Use locators.
- 	* ifcvt.c (noce_try_store_flag, noce_try_store_flag_constants,
- 	noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove,
- 	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
- 	noce_process_if_block, find_cond_trap): Likewise.
- 	* integrate.c (copy_insn_list): Likewise.
- 	* jump.c (duplicate_loop_exit_test): LIkewise.
- 	* print-rtl.c (print_rtx): Print locators.
- 	* recog.c (peephole2_optimize): Likewise.
- 	* rtl.h (INSN_SCOPE): Remove.
- 	(emit_insn_after_scope, emit_insn_before_scope
- 	emit_jump_insn_after_scope, emit_jump_insn_before_scope
- 	emit_call_insn_after_scope, emit_call_insn_before_scope): Rename to...
- 	(emit_insn_after_setloc, emit_insn_before_setloc
- 	emit_jump_insn_after_setloc, emit_jump_insn_before_setloc
- 	emit_call_insn_after_setloc, emit_call_insn_before_setloc): ... these;
- 	(insn_file, insn_line, prologue_locator, epilogue_locator): Declare.
- 	* unroll.c (copy_loop_body): Use locators.
- 	* function.c (set_insn_locators): New function.
- 	(thread_prologue_and_epilogue_insns): Set the locators accordingly.
- 
- 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (LONG_LONG_TYPE_SIZE): Set to 64.
- 	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _floatdisf
- 	_fixsfdi _fixunssfdi.
- 	(LIB2FUNCS_EXTRA): Add entries for clzhi2, ctzhi2, parityhi2,
- 	popcounthi2.
- 	(TARGET_LIBGCC2_CFLAGS): Remove -DDI=SI.
- 	* config/h8300/clzhi2.c: New.
- 	* config/h8300/ctzhi2.c: Likewise.
- 	* config/h8300/parityhi2.c: Likewise.
- 	* config/h8300/popcounthi2.c: Likewise.
- 
- Sun Jun  8 15:52:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (subsi_3_zext, sse2_nandv2di3): Fix predicates.
- 	* i386.c (k8_avoid_jump_misspredicts): Fix debug output.
- 
- 	* cfg.c (verify_flow_info): Move IL independent checks from cfgrtl here.
- 	(dump_bb): New based on old dump_bb in cfgrtl.c
- 	(debug_bb, debug_bb_n): Move the functions from cfgrtl.c here.
- 	* cfghooks.h (cfgh_verify_flow_info): Return status.
- 	* cfglayout.c (cfg_layout_finalize): Verify CFG correctness.
- 	* cfgrtl.c (debug_bb, debug_bb_n): Move to cfg.c
- 	(dump_bb): Remove generic parts.
- 	(rtl_verify_flow_info_1): Break out from rtl_verify_flow_info.
- 	(rtl_verify_flow_info): Only check things dependeing on linearized RTL.
- 
- 2003-06-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Rename options.c and options.h to c-options.c and
- 	c-options.h.
- 	(OBJS): Remove options.o.
- 	* c-opts.c: Don'tInclude c-options.h instead of options.h.
- 	* opts.c: Don't include options.h.
- 	(find_opt): Can't use enum opt_code or N_OPTS.
- 	* opts.h (struct cl_option, cl_options, cl_options_count): Move from...
- 	* opts.sh: ... here.
- 
- 2003-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
- 
- 	PR pch/9830
- 	* ggc-common.c (HAVE_MMAP_FILE): Include sys/types.h
- 	if HAVE_MINCORE is defined.
- 	(MAP_FAILED): Define if not defined.
- 	(gt_pch_save): Test against MAP_FAILED.
- 	(gt_pch_restore): If HAVE_MINCORE, use MAP_FIXED to force
- 	the mapping address to the preferred base after checking it
- 	is possible to do so. Test against MAP_FAILED.
- 	* configure.in: Test for the presence of mincore in libc.
- 	* config.in: Regenerate.
- 	* configure: Regenerate.
- 
- 2003-06-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Fix
- 	conditional compilation guard.
- 
- 2003-06-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c (expand_abs): Set result_unsignedp to 1 if
- 	flag_trav is zero.
- 
- 2003-06-07  Richard Henderson  <rth@redhat.com>
- 
- 	* c-cppbuiltin.c (c_cpp_builtins): Define __EXCEPTIONS for C also.
- 
- 2003-06-07  Richard Henderson  <rth@redhat.com>
- 
- 	* basic-block.h (EDGE_SIBCALL): New.
- 	(EDGE_ALL_FLAGS): Update.
- 	* cfg.c (dump_edge_info): Add sibcall name.
- 	* cfgbuild.c (make_edges): Use EDGE_SIBCALL.
- 	* cfgrtl.c (purge_dead_edges): Handle sibcalls.
- 
- 2003-06-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* mklibgcc.in (lib2funcs): Remove _exit.
- 	* libgcc2.c: Remove L_exit.
- 	* gbl-ctors.h: Remove declarations dependend on NEED_ATEXIT.
- 
- 	* system.h: Poison NEED_ATEXIT, ON_EXIT, EXIT_BODY.
- 
- 	* doc/tm.texi (Misc): Remove NEED_ATEXIT, ON_EXIT, EXIT_BODY.
- 
- 	* ggc.h: Convert to ISO C90 prototypes.
- 	* ggc-none.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* ggc-page.c: Likewise.
- 	* ggc-simple.c: Likewise.
- 
- 	* crtstuff.c: Remove undefined usage of INIT_SECTION_PREAMBLE.
- 
- 	* system.h: Poison INIT_SECTION_PREAMBLE.
- 
- 2003-06-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc (with_cpu handling): Translate sparc64 in
- 	$machine to --with-cpu=v9.
- 	* config/alpha/alpha.c
- 	(TARGET_ASM_GLOBALIZE_LABEL [TARGET_ABI_UNICOSMK]): Correct definition.
- 	(alpha_setup_incoming_varargs): #ifdef out when TARGET_ABI_UNICOSMK.
- 
- 	* target.h: New hook asm_out.file_end.
- 	* target.h: Update to match.  New hook macro TARGET_ASM_FILE_END.
- 	* toplev.c (compile_file): Use targetm.asm_out.file_end.
- 	* system.h: Poison ASM_FILE_END.
- 	* varasm.c (file_end_indicate_exec_stack): New.
- 	* output.h: Prototype it.
- 	* doc/tm.texi: Document TARGET_ASM_FILE_END and
- 	file_end_indicate_exec_stack.  Delete references to attasm.h.
- 
- 	* config/darwin.h (TARGET_ASM_FILE_END): Reset to darwin_file_end.
- 	(ASM_FILE_END): Delete; move code...
- 	* config/darwin.c (darwin_file_end): Here; new function.
- 	* config/darwin-protos.h: Prototype it.
- 	* config/alpha/alpha.c (unicosmk_asm_file_end): Make static,
- 	rename unicosmk_file_end.
- 	* config/arm/aof.h (ASM_FILE_END): Delete; move code...
- 	* config/arm/arm.c (aof_file_end): ... here; new static function.
- 	Set TARGET_ASM_FILE_END to aof_file_end if AOF_ASSEMBLER.
- 	Make aof_dump_imports and aof_dump_pic_table static.
- 	* config/avr/avr.c (asm_file_end): Rename avr_file_end, make static.
- 	Set TARGET_ASM_FILE_END to avr_file_end.
- 	* config/c4x/c4x.c (c4x_file_end): Make static.  Take no arguments.
- 	Set TARGET_ASM_FILE_END to c4x_file_end.
- 	* config/h8300/h8300.c (asm_file_end): Rename h8300_file_end,
- 	make static. Take no arguments.  Set TARGET_ASM_FILE_END to
- 	h8300_file_end.
- 	* config/i370/i370.h (ASM_FILE_END): Delete; move code...
- 	* config/i370/i370.c (i370_file_end): ... here; new static function.
- 	Set TARGET_ASM_FILE_END to i370_file_end.
- 	 * config/i386/i386.c (ix86_asm_file_end): Rename ix86_file_end.
- 	 Take no arguments.  Call file_end_indicate_exec_stack if
- 	 NEED_INDICATE_EXEC_STACK; don't use SUBTARGET_FILE_END.
- 	* config/i386/i386.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
- 	Define NEED_INDICATE_EXEC_STACK to 0.
- 	* config/i386/linux.h, config/i386/linux64.h: Redefine
- 	NEED_INDICATE_EXEC_STACK to 1 instead of setting SUBTARGET_FILE_END.
- 	* config/i386/winnt.c (i386_pe_asm_file_end): Rename to
- 	i386_pe_file_end.  Take no arguments.  Use ix86_file_end.
- 	* config/ia64/ia64.c (ia64_hpux_asm_file_end): Rename to
- 	ia64_hpux_file_end, make static.  Take no arguments.
- 	* config/ip2k/ip2k.c (asm_file_start, asm_file_end,
- 	commands_in_prologues, commands_in_epilogues): Delete.
- 	(function_epilogue): Update to match.
- 	* config/mips/mips.c (mips_asm_file_end): Rename mips_file_end,
- 	make static.  Take no arguments.
- 	(iris6_asm_file_end): Rename iris6_file_end, make static, use
- 	mips_file_end, take no arguments.
- 	Set TARGET_ASM_FILE_END to iris6_file_end or mips_file_end as
- 	appropriate.
- 	* config/mmix/mmix.c (mmix_asm_file_end): Rename mmix_file_end,
- 	make static, take no arguments. Set TARGET_ASM_FILE_END to
- 	mmix_file_end.
- 	* config/pa/pa.c (output_deferred_plabels): Make static, take
- 	no arguments.  Set TARGET_ASM_FILE_END to output_deferred_plabels.
- 	* config/rs6000/xcoff.h (TARGET_ASM_FILE_END): Set it.
- 	(ASM_FILE_END): Delete; move code...
- 	* config/rs6000/rs6000.c (rs6000_xcoff_file_end): ... here;
- 	new static function.
- 
- 	* config/avr/avr.h, config/cris/cris.h, config/h8300/h8300.h
- 	* config/mmix/mmix.h, config/mips/iris6.h, config/mips/mips.h:
- 	Don't set ASM_FILE_END.
- 	* config/alpha/linux-elf.h, config/m68k/linux.h, config/rs6000/linux.h
- 	* config/rs6000/linux64.h, config/s390/linux.h, config/sparc/linux.h
- 	* config/sparc/linux64.h: Set TARGET_ASM_FILE_END to
- 	file_end_indicate_exec_stack; don't set ASM_FILE_END.
- 	* config/alpha/unicosmk.h, config/i386/cygming.h
- 	* config/ia64/hpux.h: Set TARGET_ASM_FILE_END, not ASM_FILE_END.
- 	* config/arm/arm-protos.h, config/alpha/alpha-protos.h
- 	* config/avr/avr-protos.h, config/c4x/c4x-protos.h
- 	* config/h8300/h8300-protos.h, config/ia64/ia64-protos.h
- 	* config/ip2k/ip2k-protos.h, config/mips/mips-protos.h
- 	* config/mmix/mmix-protos.h, config/pa/pa-protos.h: Update.
- 
- Sat Jun  7 18:32:13 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (OPTION_DEFAULT_SPECS): Avoid -mcpu default when -march is
- 	specified.
- 
- Sat Jun  7 15:20:01 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (stageprofile_build): Kill redundant target.
- 	* i386.c (mdep_reorg): Don't pad jumps for Athlon.
- 
- 2003-06-07  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/tm.texi (Costs): Remove DONT_REDUCE_ADDR documentation.
- 
- 	* config/avr/avr.h: Remove comment regarding DONT_REDUCE_ADDR.
- 	* config/dsp16xx/dsp16xx.h: Likewise.
- 	* config/i386/i386.h: Likewise.
- 	* config/ip2k/ip2k.h: Likewise.
- 
- 2003-06-07  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (OJBS, c-opts.o): Update.
- 	(c-options.c, c-options.h): Rename options.h and options.c.
- 	(options.h): Rename options_.h.
- 	(opts.o): New.
- 	* c-common.h (c_common_handle_option): Replace c_common_decode_option.
- 	(c_common_init_options): Update prototype.
- 	* c-lang.c (c_init_options): Update prototype.
- 	(LANG_HOOKS_HANDLE_OPTION): Override.
- 	(LANG_HOOKS_DECODE_OPTION): Drop.
- 	* c-opts.c: Include opts.h and options.h instead of c-options.h
- 	and c-options.c.
- 	(lang_flags): Move to file scope.
- 	(find_opt, c_common_decode_option): Remove.
- 	(CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE,
- 	CL_REJECT_NEGATIVE): Move to opts.h.
- 	(missing_arg): Update prototype.
- 	(c_common_init_options): Update for new prototype.
- 	(c_common_handle_options): Filenames are passed as N_OPTS.
- 	* hooks.c (hook_int_void_0): New.
- 	* hooks.h (hook_int_void_0): New.
- 	* langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default.
- 	(LANG_HOOKS_HANDLE_OPTION): Default to NULL for now.
- 	(LANG_HOOKS_INITIALIZER): Update.
- 	* langhooks.h (init_options): Update.
- 	(handle_option): New.
- 	* opts.c, opts.h: New files.
- 	* opts.sh: Update c file to include opts.h and options.h.
- 	* toplev.c: Include opts.h; change options.h to options_.h.
- 	(parse_options_and_default_flags): Get lang_mask, use
- 	handle_option for language-specific handling.
- 	* objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop.
- 	(LANG_HOOKS_HANDLE_OPTION): Override.
- 	(objc_init_options): Update.
- 
- 2003-06-07  Magnus Kreth <magnus.kreth@gmx.de>
- 	    Thibaud Gaillard <thibaud.gaillard@nto.atmel.com>
- 
- 	PR other/7031
- 	* Makefile.in (install-common): Remove GCOV_INSTALL_NAME instead of
- 	gcov.
- 
- 2003-06-07  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Remove quotes in
- 	section names.
- 	* configure: Regenerate.
- 
- 2003-06-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (CRT_CALL_STATIC_FUNCTION): Define.
- 
- 2003-06-06  James E Wilson  <wilson@tuliptree.org>
- 
- 	PR inline-asm/10890
- 	* reload1.c (merge_assigned_reloads): Abort only if two reloads have
- 	different in fields.
- 
- 2003-06-06  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Make $(target_subdir) correspond with top level usage.
- 	* Makefile.in: Likewise.
- 	* configure: Regenerate.
- 
- 2003-06-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_COMMON,
- 	ASM_OUTPUT_ALIGNED_LOCAL): Cast `SIZE' and `ALIGNED' parameters to
- 	unsigned HOST_WIDE_INT.
- 	* pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMOM, ASM_OUTPUT_ALIGNED_LOCAL):
- 	Likewise.
- 	* pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL):
- 	Likewise.
- 
- 2003-06-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* doc/install.texi (Prerequisites): New section documenting
- 	tools and packages necessary prior to building and/or
- 	modifying GCC.
- 	* doc/install.texi2html: Also generate prerequisites.html.
- 
- 2003-06-06  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR target/11052
- 	* ifcvt.c (noce_process_if_block): Fail if the destination has
- 	side-effects.
- 
- 2003-06-06  Jason Merrill  <jason@redhat.com>
- 
- 	* stmt.c (resolve_asm_operand_names): Rename from
- 	resolve_operand_names.  No longer static.  Avoid needless copying.
- 	Don't build array of constraints.
- 	(expand_asm_operands): Build it here.
- 	* tree.h: Declare resolve_asm_operand_names.
- 
- 	* stmt.c (expand_decl): Put artificial vars into registers even
- 	when not optimizing, and don't mark the regs as user vars.
- 
- 2003-06-06  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (FUNCTION_ARG_1): Consistently use NEW_MODE for the mode
- 	of the generated register.
- 
- 2003-06-06  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Add a missing sparc64 case.
- 
- 2003-06-06  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* mklibgcc.in: Propagate .note.GNU-stack section if needed into
- 	the .hidden assembly stubs.
- 
- 2003-06-06  H.J. Lu <hongjiu.lu@intel.com>
- 
- 	* config.gcc (extra_headers): Add emmintrin.h for i[34567]86-*-*
- 	and x86_64-*-*.
- 
- 	* config/i386/mmintrin.h: Update version and add alternate
- 	intrinsic names.
- 	* config/i386/xmmintrin.h: Likewise.
- 
- 	* config/i386/xmmintrin.h: Include <emmintrin.h>. Move SSE2
- 	intrinsics to ...
- 	* config/i386/emmintrin.h: Here. New file.
- 
- 2003-06-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold <ABS_EXPR>):  Re-fold the result of folding
- 	fabs(-x) into fabs(x).  Use tree_expr_nonnegative_p to determine
- 	when the ABS_EXPR (fabs or abs) is not required.
- 	(tree_expr_nonnegative_p): Move the logic that sqrt and exp are
- 	always nonnegative from fold to here.  Additionally, cabs and fabs
- 	are always non-negative, and pow and atan are non-negative if
- 	their first argument is non-negative.
- 
- 	* builtins.c (fold_builtin_cabs): New function to fold cabs{,f,l}.
- 	Evaluate cabs of a constant at compile-time.  Convert cabs of a
- 	non-complex argument into fabs.  Convert cabs(z) into
- 	sqrt(z.r*z.r + z.i*z.i) at the tree-level with -ffast-math or
- 	-funsafe-math-optimizations or -ffast-math.
- 	(fold_builtin): Convert BUILT_IN_FABS{,F,L} into an ABS_EXPR.
- 	Fold BUILT_IN_CABS{,F,L} using fold_builtin_cabs.
- 
- Thu Jun  5 20:51:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* sourcebuild.texi (Front End Directory): Document new hooks.
- 
- Fri Jun  6 11:02:35 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* function.c (FLOOR_ROUND, CEIL_ROUND): Fix.
- 	* i386.md (gen_pro_epilogue_adjust_stack): Deal with gigantic
- 	stack frames.
- 	(pro_epilogue_adjust_stack_rex64_2): New pattern
- 
- Fri Jun  6 11:03:14 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 			       Pop Sebastian
- 			       Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfghooks.h, cfghooks.c: New files.
- 	* Makefile.in (BASIC_BLOCK_H): Depends on cfghooks.h.
- 	(OBJS): Add cfghooks.o.
- 	(cfghooks.o): New rule.
- 	* basic-block.h (split_edge): Rename to rtl_split_edge.
- 	(verify_flow_info): Rename to rtl_verify_flow_info.
- 	(cfghooks.h): Included here.
- 	* cfgrtl.c (split_edge): Renamed rtl_split_edge.
- 	(verify_flow_info): Renamed rtl_verify_flow_info.
- 	* toplev.c (rest_of_compilation): Call rtl_register_cfg_hooks.
- 
- 	* basic-block.h (split_block, split_edge, flow_delete_block,
- 	redirect_edge_and_branch, redirect_edge_and_branch_force): Delete.
- 	(flow_delete_block_noexpunge):  Return void.
- 	* cfg.c (verify_flow_info): New function.
- 	* cfgcleanup.c (try_simplify_condjump, outgoing_edges_match,
- 	try_crossjump_to_edge, try_optimize_cfg, delete_unreachable_blocks):
- 	Use delete_block.
- 	* cfglayout.c (function_footer): Rename to...
- 	(cfg_layout_function_footer): ... this variable
- 	(unlink_insn_chain): Make global.
- 	(fixup_reorder_chain, record_effective_endpoints): Update.
- 	(cleanup_unconditional_jumps): Use delete_block.
- 	(cfg_layout_redirect_edge, cfg_layout_split_block): Move to cfgrtl.c
- 	(cfg_layout_duplicate_bb): Use redirect_edge_and_branch_force.
- 	(cfg_layout_initialize, cfg_layout_finalize): Update hooks.
- 	* cfglayout.h (cfg_layout_redirect_edge, cfg_layout_split_block):  Delete.
- 	(cfg_layout_function_footer): Declare.
- 	* cfgloopmanip (split_loop_bb): Do not update RBI.
- 	(remove_bbs): Use delete_block.
- 	(loop_reidrect_edge, loop_delete_branch_edge): Use
- 	redirect_edge_and_branch.
- 	(create_preheader): Use split_block and redirect_edge_and_branch_force.
- 	(split_edge_with): Likewise.
- 	* cfgrtl.c: Include cfglayout.h
- 	(split_edge): Rename to ...
- 	(rtl_split_edge) ... this one; make local.
- 	(redirect_edge_and_branch): Rename to ...
- 	(rtl_redirect_edge_and_branch) ... this one; make local.
- 	(redirect_edge_and_branch_force): Rename to ...
- 	(rtl_redirect_edge_and_branch_force) ... this one; make local.
- 	(cfg_layout_delete_block, cfg_layout_delete_edge_and_branch_force): New.
- 	(cfg_layout_redirect_edge_and_branch, cfg_layout_split_block): Move here from
- 	cfglayout.c; update to directly call RTL counterparts.
- 	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): New functions.
- 	* ifcvt.c (find_cond_trap): Use delete_block.
- 	(find_if_case_1): Use delete_block.
- 	(find_if_case_2): Use delete_block.
- 	* rtl.h (unlink_insn_chain): Declare.
- 	* toplev.c (rtl_reigster_cfg_hooks): New.
- 
- 2003-06-05  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (peephole2_optimize): Revert last change.
- 
- 2003-06-05  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (peephole2_optimize): Don't split block unless
- 	can_throw_internal.
- 
- 2003-06-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Correct the syntax of rotxl.
- 	* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): Likewise.
- 
- 2003-06-05  Kelley Cook  <kelleycook@wideopenwest.com>
- 
- 	PR optimization/4490
- 	* config/i386/i386.md: Don't use XFMode if TARGET_128BIT_LONG_DOUBLE.
- 	* doc/invoke.texi (m96bit-long-double, m128bit-long-double):  Reword
- 	documentation to accurately reflect what these options do.
- 
- 2003-06-06  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/linux.h (STARTFILE_SPEC): Handle -pie.  Simplify.
- 	(ENDFILE_SPEC): Redefine to handle -pie.
- 
- 2003-06-05  Phil Edwards <phil@jaj.com>
- 
- 	* Makefile.in (qmtest-g++): Use target_alias, not target.
- 
- 2003-06-05  Per Bothner  <pbothner@apple.com>
- 
- 	* toplev.c (push_srcloc):  Simplify behavior to save current location
- 	and set current location to parameters.
- 	(pop_srcloc):  Simplify semantics.
- 	(lang_dependent_init):  Remove now-useless initial push_srcloc.
- 
- 2003-05-06  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Return 0 for
- 	language-specific tree codes.
- 
- 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR middle-end/9986
- 	* pa.c (pa_init_builtins): Also set implicit_built_in_decls for
- 	BUILT_IN_FPUTC_UNLOCKED to NULL_TREE.
- 
- Thu Jun  5 18:32:46 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* install.tex: Document profiledbootstrap.
- 
- 	* configure.in:  Add support for lang.stageprofile and
- 	lang.stagefeedback
- 	* Makefile.in (clean, distclean): Kill new stages
- 	(POSTSTAGE1_FLAGS_TO_PASS): Break from ...
- 	(STAGE2_FLAGS_TO_PASS): ... this one.
- 	(STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS): New.
- 	(stage[2-4]_build): Add POSTSTAGE1_FLAGS_TO_PASS.
- 	(stageprofile_build, stageprofile_copy, stagefeedback_build,
- 	stagefeedback_copy): New.
- 	(restageprofile, restagefeedback, stageprofile-start,
- 	stageprofile, stagefeedback-start): Likewise.
- 
- 2003-06-05  David Miller  <davem@redhat.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (HAVE_conditional_trap): Provide default.
- 	(gen_conditional_trap): Likewise.
- 	(init_optabs): Merge init_traps.
- 	(gen_cond_trap): Use prepare_operand.  Restructure and avoid ifdef.
- 
- Thu Jun  5 14:59:44 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (simplify_if_then_else): (IF_THEN_ELSE (NE REG 0) (0) (8))
- 	is REG for nonzero_bits (REG) == 8.
- 
- Thu Jun  5 13:23:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (align): Fix warning; clarify what to do when no p2align
- 	is available.
- 
- 2003-06-05  Nick Clifton  <nickc@redhat.com>
- 
- 	* config.gcc (m32r-elf): Revert previous delta.
- 	* config/m32r/t-m32r (crtinit.o): Fix rule to work with
- 	multilibs.  Remove m32rx specific version.
- 	(crtfini.o): Likewise.
- 	(EXTRA_MULTILIB_PARTS): Define.
- 
- 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/md.texi (Machine Constraints): Correct the meaning of
- 	constraints related to floating-point registers on SPARC.
- 
- 2003-06-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Paolo Bonzini  <bonzini@gnu.org>
- 
- 	PR target/10663
- 	* configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Redirect
- 	assembler and linker output to /dev/null.
- 	Use a 'sed' construct instead of 'grep -A1'.
- 	* configure: Regenerate.
- 
- 2003-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (struct ix86_address): Add seg.
- 	(no_seg_address_operand): New.
- 	(ix86_decompose_address): Restructure PLUS loop.  Accept one
- 	UNSPEC_TP if TARGET_TLS_DIRECT_SEG_REFS.  Adjust ESP swap test
- 	to test for a regnum, not stack_pointer_rtx.
- 	(ix86_address_cost): Reduce cost if non-default segment.
- 	(legitimate_address_p): Remove UNSPEC_TP check.
- 	(get_thread_pointer): Add to_reg argument.  Don't represent
- 	the thread pointer as a memory load.
- 	(legitimize_tls_address): Split out of ...
- 	(legitimize_address): ... here.
- 	(print_operand_address): Handle parts.seg.
- 	(ix86_expand_move): Use legitimize_tls_address.
- 	(ix86_rtx_costs): Handle UNSPEC_TP.
- 	* config/i386/i386.h (MASK_TLS_DIRECT_SEG_REFS): New.
- 	(TARGET_TLS_DIRECT_SEG_REFS): New.
- 	(TARGET_SWITCHES): Add tls-direct-seg-refs.
- 	(TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): Default.
- 	(PREDICATE_CODES): Add no_seg_address_operand.
- 	* config/i386/i386.md (lea_1): Use it.
- 	(lea_1_rex64, lea_1_zext, lea_2_rex64): Likewise.
- 	(load_tp_si, add_tp_si, load_tp_di, add_tp_di): New.
- 	* config/i386/linux.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
- 	* config/i386/linux64.h (TARGET_TLS_DIRECT_SEG_REFS_DEFAULT): New.
- 	* doc/invoke.texi: Add -mtls-direct-seg-refs.
- 
- 2003-06-04  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (QMTESTRUNFLAGS): Set for DejaGNU emulation.
- 	(QMTEST_GPP_TESTS): Use "g++" by default.
- 	(stamp-qmtest): Tweak database creation.
- 	(QMTEST_DIR/context): Update context file format.
- 	(qmtest-g++): Tweak command-line.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (varasm.o): Don't set -Wno-error.
- 	* rs6000/t-rs6000 (varasm.o, out_object_file): Don't clear.
- 
- 2003-06-04  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR bootstrap/3163
- 	* aclocal.m4 (AC_FUNC_MMAP_ANYWHERE, AC_FUNC_MMAP_FILE): Delete.
- 	(gcc_AC_FUNC_MMAP_BLACKLIST): New.
- 	* configure.in: Check for sys/mman.h and mmap in AC_CHECK_HEADERS
- 	and AC_CHECK_FUNCS lists, respectively.  Use
- 	gcc_AC_FUNC_MMAP_BLACKLIST, not AC_FUNC_MMAP_ANYWHERE nor
- 	AC_FUNC_MMAP_FILE.
- 	* configure, config.in: Regenerate.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arm/aout.h (ASM_OUTPUT_SKIP): Fix cast for format specifier warning.
- 	* arm.c (arm_output_function_prologue): Fix format specifiers.
- 	* arm.h (ARM_PRINT_OPERAND_ADDRESS): Likewise.
- 	* m68k.c (m68k_output_mi_thunk): Use more readable %wd instead of
- 	HOST_WIDE_INT_PRINT_DEC.
- 	* vax.c (vax_output_function_prologue): Fix format specifiers.
- 
- 2003-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (find_best_addr): Consider binary operators even if second
- 	argument is not CONST_INT.
- 
- 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* doc/invoke.texi (max-cse-path-length): Document.
- 
- 2003-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (align): Use ASM_OUTPUT_*ALIGN macros.
- 
- 2003-06-04  Andrew Pinski <pinskia@physics.uc.edu>
- 
- 	* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME):
- 	Remove semi-colon at the end of the expression.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i370.c (mvs_function_name_length): Fix signed/unsigned warnings.
- 	* i370.h (mvs_function_name_length): Likewise.
- 	* i960.h (CONSTANT_ALIGNMENT): Likewise.
- 	* mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* pa/pa-pro-end.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* pa.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Delete unused
- 	variable.
- 
- 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Reorganize --with-cpu logic.  Set
- 	configure_default_options according to the default CPU, --with-cpu,
- 	--with-arch, --with-tune, --with-schedule, --with-abi, and
- 	--with-float.  Check for legal values of various options.
- 	* configure.in: Define configure_default_options in configargs.h.
- 	* configure: Regenerated.
- 	* config/mips/mips.h (TARGET_DEFAULT_ARCH_P)
- 	(TARGET_DEFAULT_FLOAT_P): New macros.
- 	* gcc.c (do_option_spec): New function.
- 	(struct default_spec, option_default_specs): New.
- 	(main): Call do_option_spec.
- 	* config/alpha/alpha.h, config/arm/arm.h, config/i386/i386.h,
- 	config/mips/mips.h, config/pa/pa.h, config/rs6000/rs6000.h,
- 	config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Define.
- 
- 	* doc/install.texi: Update --with-cpu documentation.  Mention
- 	--with-arch, --with-schedule, --with-tune, --with-abi, and
- 	--with-float.
- 	* doc/tm.texi (Driver): Document OPTION_DEFAULT_SPECS.
- 
- 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Only process --with-cpu logic in the third pass.
- 
- 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Reorganize --with-cpu section.  Remove an
- 	obsolete comment about the default CPU for x86-64.  Fix
- 	a typo for the ep9312.  Update the list of supported PowerPC
- 	CPUs.  Support a limited set of new --with-cpu options
- 	for i386.
- 
- 2003-06-04  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_complex_function_value): Unpack
- 	complex numbers <= 32 bits into two registers.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alpha.c (print_operand_address): Fix format specifier warnings.
- 	* alpha/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* arm/aof.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
- 	* arm/pe.h (ASM_OUTPUT_COMMON): Likewise.
- 	* avr.h (ASM_OUTPUT_COMMON, ASM_GENERATE_INTERNAL_LABEL,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* c4x.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* dsp16xx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* h8300.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_COMMON):
- 	Likewise.
- 	* i370.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* i386/cygming.h (ASM_OUTPUT_COMMON): Likewise.
- 	* i386/darwin.h (ASM_OUTPUT_COMMON): Likewise.
- 	* i960.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* m68k/hp320.h (PRINT_OPERAND_ADDRESS): Likewise.
- 	* mcore.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* pdp11.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* ptx4.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	* sparc/freebsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	* svr3.h (ASM_OUTPUT_COMMON): Likewise.
- 
- 2003-06-04  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-decl.c (c_init_decl_processing): Clear input_file_name
- 	while building common nodes.
- 	* dwarf2out.c (gen_compile_unit_die, dwarf2out_finish):
- 	Don't add working directory for strings like <built-in> .
- 
- 2003-06-04  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/install.texi (*-ibm-aix*): Native as and ld required
- 	to bootstrap on AIX 5L.
- 
- 2003-06-04  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (handle_cleanup_attribute): New.
- 	(c_common_attributes): Add it.
- 	* c-decl.c (finish_decl): Honor the cleanup attribute.
- 	* doc/extend.texi (Variable Attributes): Document it.
- 
- 	* unwind-c.c: New file.
- 	* Makefile.in (LIB2ADDEH): Add it.
- 	* config/t-darwin, config/t-linux, config/t-linux-gnulibc1,
- 	config/ia64/t-ia64: Likewise.
- 
- 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* function.c (trampolines_created): New variable.
- 	(expand_function_end): Set it when doing INITIALIZE_TRAMPOLINE.
- 	* function.h (trampolines_created): Add.
- 	* config/s390/linux.h (ASM_FILE_END): Define.
- 	* config/alpha/linux-elf.h (ASM_FILE_END): Define.
- 	* config/m68k/linux.h (ASM_FILE_END): Define.
- 	* config/rs6000/linux.h (ASM_FILE_END): Define.
- 	* config/rs6000/linux64.h (ASM_FILE_END): Define.
- 	* config/rs6000/ppc-asm.h: Add .note.GNU-stack on powerpc-linux.
- 	* config/sparc/linux.h (ASM_FILE_END): Define.
- 	* config/sparc/linux64.h (ASM_FILE_END): Define.
- 	* config/i386/i386.c (ix86_asm_file_end): Use SUBTARGET_FILE_END.
- 	* config/i386/linux.h (SUBTARGET_FILE_END): Define.
- 	* config/i386/linux64.h (SUBTARGET_FILE_END): Define.
- 
- Wed Jun  4 18:39:33 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (min_insn_size, k8_avoid_jump_misspredicts): New functions
- 	(ix86_reorg): Use it.
- 	* i386.md (align): New insn pattern.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* toplev.c (rest_of_type_compilation): Fix typo.
- 
- 2003-06-04  Jakub Jelinek  <jakub@redhat.com>
- 	    Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/i386/linux.h (NO_PROFILE_COUNTERS): Define to 1.
- 	* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
- 	* config/i386/netbsd-elf.h (NO_PROFILE_COUNTERS): Likewise.
- 	* config/xtensa/xtensa.h (NO_PROFILE_COUTNERS): Likewise.
- 	* config/darwin.h (NO_PROFILE_COUNTERS): Likewise.
- 	* final.c (NO_PROFILE_COUNTERS): Define to 0 if not defined.
- 	(profile_function): Allow NO_PROFILE_COUNTERS to be non-constant.
- 	* config/rs6000/rs6000.c (output_profile_hook): Likewise.
- 
- 	* configure.in (powerpc*-*, s390*-*): Set tls_as_opt.
- 	Pass it to $gcc_cv_as.
- 	* configure: Rebuilt.
- 
- 	* config/rs6000/rs6000.c (rs6000_abi_name): Remove initializer.
- 	(print_operand): Allow TARGET_AIX to be non-constant.
- 	(rs6000_aix_emit_builtin_unwind_init, rs6000_emit_eh_toc_restore):
- 	Define unconditionally.
- 	(rs6000_elf_declare_function_name): New function.
- 	* config/rs6000/rs6000.md (eh_return): Allow TARGET_AIX to be
- 	non-constant.
- 	* config/rs6000/linux64.h [!RS6000_BI_ARCH] (TARGET_64BIT): Define
- 	to 1.
- 	(DEFAULT_ARCH64_P, RS6000_BI_ARCH_P): Define.
- 	[IN_LIBGCC2] (TARGET_64BIT): Define based on whether __powerpc64__
- 	is defined.
- 	(TARGET_AIX): Define to 1 if TARGET_64BIT.
- 	(PROCESSOR_DEFAULT): Remove.
- 	(TARGET_RELOCATABLE, RS6000_ABI_NAME, INVALID_64BIT,
- 	INVALID_32BIT, SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
- 	[RS6000_BI_ARCH] (OVERRIDE_OPTIONS, ASM_FILE_START): Define.
- 	(ASM_DEFAULT_SPEC, ASM_SPEC, LINK_OS_LINUX_SPEC): Define for both
- 	-m32 and -m64.
- 	(MULTILIB_DEFAULTS): Define.
- 	(SUBSUBTARGET_EXTRA_SPECS): Define.
- 	(ASM_SPEC32, ASM_SPEC64, ASM_SPEC_COMMON): Define.
- 	(TARGET_TOC): Define only if !RS6000_BI_ARCH.
- 	(TARGET_NO_TOC): Remove.
- 	[!RS6000_BI_ARCH] (TARGET_RELOCATABLE, TARGET_EABI,
- 	TARGET_PROTOTYPE): Define to 0.
- 	(NO_PROFILE_COUNTERS): Define to TARGET_64BIT.
- 	(PROFILE_HOOK): Only call output_profile_hook if TARGET_64BIT.
- 	(ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Adjust to work properly
- 	if !TARGET_64BIT.
- 	(USER_LABEL_PREFIX): Remove.
- 	(JUMP_TABLES_IN_TEXT_SECTION): Define to TARGET_64BIT.
- 	(SETUP_FRAME_ADDRESSES): Only call rs6000_aix_emit_builtin_unwind_init
- 	if TARGET_64BIT.
- 	(TARGET_OS_CPP_BUILTINS): Handle both -m32 and -m64.
- 	(LINK_OS_LINUX_SPEC32, LINK_OS_LINUX_SPEC64): Define.
- 	(STARTFILE_LINUX_SPEC, ENDFILE_LINUX_SPEC): Remove.
- 	(TOC_SECTION_ASM_OP): Define depending on TARGET_64BIT.
- 	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
- 	(SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define depending on
- 	TARGET_64BIT.
- 	(RS6000_CALL_GLUE): Likewise.
- 	(SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
- 	RESTORE_FP_SUFFIX): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Remove.
- 	(ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_SOURCE_LINE,
- 	DBX_OUTPUT_BRAC, DBX_OUTPUT_NFUN): Only output dot before function
- 	name if TARGET_64BIT.
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Handle both TARGET_64BIT and
- 	!TARGET_64BIT.
- 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Remove undefs.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Take TARGET_64BIT into account.
- 	(DRAFT_V4_STRUCT_RET): Define.
- 	(SIGNAL_FRAMESIZE): New enum value.
- 	(MD_FALLBACK_FRAME_STATE_FOR): Define.
- 	* config/rs6000/default64.h: New file.
- 	* config/rs6000/sysv4.h (SUBTARGET_SWITCHES): Add -m32 and -m64
- 	options.
- 	(SUBTARGET_OVERRIDE_OPTIONS): If rs6000_abi_name is NULL, set it
- 	to RS6000_ABI_NAME.  Only disallow mixing of -fPIC with -mcall-aixdesc
- 	if !TARGET_64BIT.
- 	[!RS6000_BI_ARCH] (SUBSUBTARGET_OVERRIDE_OPTIONS): Define.
- 	(ASM_DECLARE_FUNCTION_NAME): Use rs6000_elf_declare_function_name
- 	function.
- 	(TARGET_OS_SYSV_CPP_BUILTINS): Define.
- 	(TARGET_OS_CPP_BUILTINS): Use it.
- 	(CPP_SYSV_SPEC): Remove.
- 	(CPP_SPEC): Remove cpp_sysv.
- 	(SUBTARGET_EXTRA_SPECS): Remove cpp_sysv.
- 	Add SUBSUBTARGET_EXTRA_SPECS.
- 	(SUBSUBTARGET_EXTRA_SPECS): Define.
- 	* config/rs6000/biarch64.h: New file.
- 	* config/rs6000/rs6000-protos.h (rs6000_elf_declare_function_name):
- 	New prototype.
- 	* config/rs6000/x-linux64: New file.
- 	* config/rs6000/t-linux64: Build -m64, -m32 and -m32 -msoft-float
- 	multilibs.
- 	* config/rs6000/eabi-ci.asm: Protect with #ifndef __powerpc64__.
- 	* config/rs6000/eabi-cn.asm: Likewise.
- 	* config/rs6000/tramp.asm: Likewise.
- 	* config/rs6000/sol-ci.asm: Likewise.
- 	* config/rs6000/sol-cn.asm: Likewise.
- 	* config/rs6000/linux.h (TARGET_64BIT): Define to 0.
- 	(TARGET_OS_CPP_BUILTINS): Use TARGET_OS_SYSV_CPP_BUILTINS.
- 	* config/rs6000/ppc-asm.h: Move __powerpc64__ section before
- 	_CALL_AIXDESC section.
- 	* config.gcc (powerpc64-*-linux*): Configure a bi-arch compiler,
- 	defaulting to -m64 unless --with-cpu= is one of the 32-bit CPUs
- 	or default32.
- 
- 2003-06-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config.gcc: Revert accidentally committed ARM changes.
- 
- 2003-06-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (dconstpi, dconste): New mathematical constants.
- 	(init_builtin_dconsts): New function to initialize dconstpi
- 	and dconste.
- 	(fold_builtin): Optimize exp(1.0) = e.  Evaluate exp(x) at
- 	compile time with -ffast-math when x is an integer constant.
- 	Optimize tan(0.0) = 0.0.  Optimize atan(0.0) = 0.0,
- 	atan(1.0) = pi/4 and tan(atan(x)) = x with -ffast-math.
- 
- 2003-06-04  Roger Sayle  <roger@eyesopen.com>
- 
- 	* calls.c (expand_call): Avoid calling pure or const functions
- 	when the result is ignored (or void) and none of the arguments
- 	are volatile.  Move warning diagnostic earlier in function.
- 
- 2003-06-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* system.h: Do not poison TDESC_SECTION_ASM_OP,
- 	RDATA_SECTION_ASM_OP and SUBTARGET_PROLOGUE.
- 
- 2003-06-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* final.c (asm_fprintf): Update comments, accept "-+ #0" flags,
- 	optimize '%' case, handle %c, don't accept %p, %e, %f or %g,
- 	handle %ll, optimize regular character case.
- 
- 2003-06-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (cse.o): Add params.h dependency.
- 	* cse.c: Include params.h.
- 	(PATHLENGTH): Removed.
- 	(struct cse_basic_block_data): Make path array dynamic.
- 	(cse_end_of_basic_block): Use PARAM_MAX_CSE_PATH_LENGTH instead
- 	of PATHLENGTH.
- 	(cse_main, cse_basic_block): Allocate path array.
- 	* params.def (PARAM_MAX_CSE_PATH_LENGTH): New.
- 
- Wed Jun  4 09:49:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_reorg): Replace the jump instead of adding nop.
- 	* i386.md (UNSPEC_REP): New constant.
- 	(return_internal_long): New pattern.
- 
- 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/11018
- 	* config/sparc/sparc.c (sparc_v8plus_shift): Use which_alternative
- 	consistently to decide whether the scratch register is really
- 	required.
- 
- 2003-06-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/10876
- 	* config/sparc/sparc.h (CONST_OK_FOR_LETTER): Add
- 	new 'O' constraint for constant 4096.
- 	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
- 	* config/sparc/sparc.md (adddi3 expander): Canonicalize pattern.
- 	Do not transform into MINUS insn for constant 4096.
- 	(*adddi3_sp64 insn): Canonicalize pattern. Add new alternative
- 	for constant 4096 as third operand.
- 	(addsi3 expander): Remove.
- 	(*addsi3 insn): Rename into 'addsi3'. Canonicalize pattern. Add
- 	new alternative for constant 4096 as third operand.
- 	(subdi3 expander): Do not transform into PLUS insn for constant 4096.
- 	(*subdi3_sp64 insn): Add new alternative for constant 4096 as third
- 	operand.
- 	(subsi3 expander): Remove.
- 	(*subsi3 insn): Rename into 'subsi3'. Add new alternative for
- 	constant 4096 as third operand.
- 	* doc/md.texi (Machine Constraints): Document new 'O' constraint for
- 	the SPARC port.
- 
- 2003-06-03  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/t-linux64 (CRTSTUFF_T_CFLAGS_S): Define.
- 
- 2003-06-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/uwin.h: Remove SUBTARGET_PROLOGUE.
- 
- 	* config/i386/i386.c (ix86_expand_prologue): Do not use
- 	SUBTARGET_PROLOGUE.
- 
- 	* system.h: Poision SUBTARGET_PROLOGUE.
- 
- 	* config/arm/arm-protos.h: Remove unused rdate_section prototype.
- 
- 	* output.h: Remove TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP
- 	dependend code.
- 
- 	* system.h: Poison TDESC_SECTION_ASM_OP and RDATA_SECTION_ASM_OP.
- 
- 	* system.h: Poison INSN_CACHE_DEPTH, INSN_CACHE_SIZE and
- 	INSN_CACHE_LINE_WIDTH.
- 
- 	* libgcc2.c (INSN_CACHE_PLANE_SIZE): Removed.
- 	(__clear_cache): Remove code dependend on INSN_CACHE_DEPTH,
- 	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
- 
- 	* doc/tm.texi (Trampolines): Remove INSN_CACHE_DEPTH,
- 	INSN_CACHE_SIZE and INSN_CACHE_LINE_WIDTH.
- 
- 	* dbxout.c (dbxout_type): Remove usage of DBX_OUTPUT_ENUM.
- 	(dbxout_symbol): Remove usage of DBX_OUTPUT_CONSTANT_SYMBOL.
- 	(dbxout_block): Remove usage of DBX_OUTPUT_CATCH.
- 	(dbxout_block): Remove usage of DBX_LBRAC_FIRST.
- 	(dbxout_source_file): Remove usage of DBX_OUTPUT_SOURCE_FILENAME.
- 	(dbxout_init): Remove test for DBX_WORKING_DIRECTORY.
- 
- 	* doc/tm.texi (DBX Options): Do not document DBX_LBRAC_FIRST,
- 	DBX_OUTPUT_SOURCE_FILENAME and DBX_OUTPUT_ENUM and
- 	DBX_WORKING_DIRECTORY.
- 
- 	* system.h: Poison DBX_LBRAC_FIRST, DBX_OUTPUT_ENUM,
- 	DBX_OUTPUT_SOURCE_FILENAME and DBX_WORKING_DIRECTORY.
- 
- 	* config/frv/frv-protos.h: Remove unused const_section
- 	declaration.
- 	* config/vax/vax-protos.h: Likewise.
- 
- 	* output.h: Remove CONST_SECTION_ASM_OP usage.
- 
- 	* system.h: Poison CONST_SECTION_ASM_OP.
- 
- 	* crtstuff.c (__do_global_dtors_aux): Remove usage of
- 	CRT_GET_RFIB_TEXT.
- 	(frame_dummy): Likewise.
- 	* unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
- 	* system.h: Poison CRT_GET_RFIB_TEXT.
- 
- 	* collect2.c (is_ctor_dtor): Remove CFRONT_LOSSAGE dependend code.
- 
- 	* fix-header.c: Remove ADD_MISSING_EXTERN_C dependend variables.
- 	(write_lbrac): Remove ADD_MISSING_EXTERN_C dependend code.
- 	(recognized_function): Likewise.
- 	(read_scan_file): Likewise.
- 
- 2003-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.c (expand_binop): Optimize complex multiplication for
- 	the case of squaring a complex argument.
- 
- 2003-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.c (expand_binop): Attempt to reuse pseudos for duplicate
- 	non-volatile operands of binary operations.
- 	(prepare_cmp_insn): Likewise.
- 
- 2003-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* varasm.c (force_const_mem): Handle alignment of constants not
- 	representable as a type in the front-end language.
- 
- 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* flow.c (initialize_uninitialized_subregs): Use
- 	emit_move_insn instead of emitting a hardcoded move.
- 
- 2003-06-03  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (expand_abs_nojump): Split out from ...
- 	(expand_abs): ... here.
- 	* optabs.h (expand_abs_nojump): Declare.
- 	* ifcvt.c: (noce_try_abs): Use expand_abs_nojump.
- 	* Makefile.in (ifcvt.o): Depend on optabs.h.
- 
- 2003-06-03  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Heed flag_merge_constants.
- 
- 2003-06-03  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (default_use_cxa_atexit): New variable, defaults to no.
- 	(*-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*): Set default_use_cxa_atexit
- 	to yes.
- 	* configure.in: Allow default_use_cxa_atexit to determine the
- 	value of DEFAULT_USE_CXA_ATEXIT if not explicitly enabled or
- 	disabled.
- 	* configure: Regenerate.
- 
- 2003-06-03  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* Makefile.in (TEXI_GCC_FILES): Remove vms.texi entry.
- 	* doc/gcc.texi: Remove vms.texi section.
- 	* doc/vms.texi: Remove obsolete file.
- 
- 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* configure.in (inhibit_libc): Don't define when configuring
- 	with --with-newlib --with-headers.
- 	* configure: Regenerate.
- 
- 	* t-sh: Remove LIB2FUNCS_EXTRA and embed-bb.c rules.
- 
- 2003-06-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in (gcc_cv_as_hidden): Disable .hidden completely on
- 	IRIX 6 without GNU ld.
- 	* configure: Regenerate.
- 
- 2003-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.c (emit_move_insn_1): Use emit_move_insn to move the parts
- 	of a complex number rather than invoke mov_optab directly.
- 
- 2003-06-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_set): Don't move a subreg in SET_SRC to
- 	SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
- 
- 2003-06-03  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/i386/x86-64.h: Remove two target-independent comments;
- 	 replace "GNU CC" with "GCC".
- 
- 2003-06-03  Anthony Green  <green@redhat.com>
- 
- 	* config/frv/t-frv (EXTRA_HEADERS): Remove media.h
- 
- 2003-06-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
- 	New builtins representing ISO C99's cabs, cabsf and cabsl.
- 	* builtins.c (expand_builtin_fabs): New function.
- 	(expand_builtin_cabs): New function.
- 	(expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
- 	using expand_builtin_fabs and expand_builtin_cabs respectively.
- 
- 	* doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
- 
- 2003-06-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* function.c (assign_parms): Split complex arguments.
- 
- 	* doc/tm.texi (SPLIT_COMPLEX_ARGS): Document.
- 
- 	* expr.h (SPLIT_COMPLEX_ARGS): Define.
- 	(split_complex_types): Protoize.
- 	(split_complex_values): Protoize.
- 
- 	* calls.c (expand_call): Split complex arguments on architectures
- 	that require it.
- 	(split_complex_values): New.
- 	(split_complex_types): New.
- 
- 	* config/rs6000/rs6000.c (rs6000_libcall_value): New.
- 	(rs6000_function_value): Handle complex values on AIX.
- 	(rs6000_complex_function_value): New.
- 
- 	* config/rs6000/rs6000-protos.h (rs6000_libcall_value): Protoize.
- 
- 	* config/rs6000/rs6000.h (LIBCALL_VALUE): Call function.
- 	(SPLIT_COMPLEX_ARGS): New.
- 
- 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (HAVE_LD_PIE): Check for ld -pie.
- 	* config.in: Rebuilt.
- 	* configure: Rebuilt.
- 	* toplev.c (flag_pie, flag_shlib): New variables.
- 	(f_options): Add -fpie and -fPIE.
- 	(parse_options_and_default_flags): Set flag_pic if -fpie/-fPIE.
- 	Set flag_shlib if flag_pic and not -fpie/-fPIE.
- 	* flags.h (flag_pic, flag_shlib): Add.
- 	* varasm.c (default_binds_local_p): Use flag_shlib instead of
- 	flag_pic.
- 	* gcc.c (LINK_PIE_SPEC): Define.
- 	(LINK_COMMAND_SPEC): Use LINK_PIE_SPEC.
- 	(option_map): Add --pie -> -pie mapping.
- 	* config/sol2.h (ASM_SPEC): Handle -fpie the same way as -fpic
- 	and -fPIE the same way as -fPIC.
- 	* config/openbsd.h (ASM_SPEC): Likewise.
- 	* config/frv/frv.h (ASM_SPEC): Likewise.
- 	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Likewise.
- 	* config/arm/semi.h (ASM_SPEC): Likewise.
- 	* config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- 	* config/freebsd-spec.h (FBSD_CPP_SPEC): Likewise.
- 	* config/i386/beos-elf.h (CC1_SPEC): Likewise.
- 	* config/i386/freebsd-aout.h (ASM_SPEC): Likewise.
- 	* config/m68k/linux.h (CPP_SPEC): Likewise.
- 	* config/m68k/netbsd.h (ASM_SPEC): Likewise.
- 	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
- 	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
- 	* config/mips/linux.h (SUBTARGET_CPP_SPEC): Likewise.
- 	* config/mips/openbsd.h (SUBTARGET_ASM_SPEC): Likewise.
- 	* config/pa/pa-linux.h (CPP_SPEC): Likewise.
- 	* config/netbsd-aout.h (ASM_SPEC): Likewise.
- 	* config/rs6000/sysv4.h (ASM_SPEC, CPP_SYSV_SPEC): Likewise.
- 	* config/rs6000/vxworks.h (CPP_SPEC): Likewise.
- 	* config/sparc/linux.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
- 	* config/sparc/linux64.h (CPP_SUBTARGET_SPEC, ASM_SPEC): Likewise.
- 	* config/sparc/sparc.h (ASM_SPEC): Likewise.
- 	* config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
- 	* config/sparc/sysv4.h (ASM_SPEC): Likewise.
- 	* config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
- 	* config/sparc/openbsd64.h (ASM_SPEC): Likewise.
- 	* config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
- 	* config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Handle -pie.
- 	Simplify.
- 	* config/alpha/elf.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/i386/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/ia64/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/rs6000/sysv4.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/rs6000/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/sparc/linux.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* config/sparc/linux64.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
- 	* doc/invoke.texi: Document -pie, -fpie and -fPIE options.
- 
- 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_memcpy): Remove endp argument and endp
- 	!= 0 handling.  Pass 0 to store_by_pieces.
- 	(expand_builtin_mempcpy): Add endp argument.  Don't call
- 	expand_builtin_memcpy, call store_by_pieces resp. move_by_pieces
- 	directly.  If ignoring result, only do expand_call.
- 	(expand_builtin_stpcpy): Likewise.  Call expand_builtin_mempcpy
- 	otherwise.
- 	(expand_builtin_strncpy, expand_builtin_memset): Adjust
- 	store_by_pices callers.
- 	(expand_builtin): Adjust expand_builtin_memcpy and
- 	expand_builtin_mempcpy callers.
- 	* expr.c (can_move_by_pieces): New function.
- 	(move_by_pieces): Add endp argument, return to resp. memory at end
- 	or one byte earlier depending on endp.
- 	(store_by_pieces): Likewise.
- 	(emit_block_move): Adjust call to move_by_pieces.
- 	(emit_push_insn): Adjust move_by_pieces caller.
- 	* expr.h (can_move_by_pieces): New prototype.
- 	(store_by_pieces): Adjust prototypes.
- 	* rtl.h (move_by_pieces): Adjust prototype.
- 	* config/mips/mips.c (expand_block_move): Adjust move_by_pieces
- 	caller.
- 
- 2003-06-03  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* doc/md.texi (Processor pipeline description): Improve wording.
- 
- 2003-06-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_handle_option): New, pulled out of
- 	c_common_decode_option.  Substitute uses of argv.
- 	(c_common_decode_option): Broken into two.
- 
- 2003-06-02  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* emit-rtl.c (gen_complex_constant_part):  Remove unnecessary
- 	test of TREE_CONSTANT_POOL_ADDRESS_P.
- 
- 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips.c: Don't include output.h twice.
- 	* stormy16.c: Likewise.
- 	* xtensa.c: Likewise.
- 	* output.h: Protect against multiple inclusion.
- 
- 2003-06-02  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (OLD_ARG_MODE): New macro.
- 	(FUNCTION_ARG_ADVANCE, FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
- 	(FUNCTION_ARG_1): Break out of:
- 	(FUNCTION_ARG).  Use OLD_ARG_MODE.
- 
- 2003-06-02  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
- 
- 	* gcc/config.gcc Add support multilib parts for m32rx processor.
- 
- 2003-06-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (c-options.c): Pass in $(AWK) to opts.sh.
- 	(mostlyclean): Delete c-options.c and c-options.h.
- 
- 2003-06-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (CL_REJECT_NEGATIVE): New.
- 	(c_common_decode_option): Update to use it.
- 	* c.opt: Update documentation; use RejectNegative.
- 	* opts.sh: Handle RejectNegative.
- 
- 2003-06-01  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* ggc-page.c (init_ggc): Give better diagnostics on failure to
- 	open /dev/zero.
- 	* toplev.c (crash_signal): Reset handling for received signal
- 	to SIG_DFL.
- 
- 2003-06-02  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_use_dfa_pipeline_interface): Declare.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE): Define if not already.
- 	(arm_use_dfa_pipeline_interface): Implement.
- 	* config/arm/arm.md (arm): New automaton.
- 	(write_buf): Remove function units; new cpu unit.
- 	(write_blockage): Remove function units; new cpu unit.
- 	(core): Remove function units; new cpu unit.
- 	(r_mem_f_wbuf): New instruction reservation.
- 	(store1_wbuf, store2_wbuf, store3_wbuf, store4_wbuf): Likewise.
- 	(store1_ldsched, store2, store3, store4): Likewise.
- 	(load_ldsched, load_ldsched_xscale, load_or_store): Likewise.
- 	(mult, mult_ldsched, mult_ldsched_strongarm): Likewise.
- 	(multi_cycle, single_cycle): Likewise.
- 	* config/arm/fpa.md (armfp): New automaton.
- 	(fpa): Remove function units; new cpu unit.
- 	(fpa_mem): Remove function unit; new cpu unit.
- 	(fdivx, fdivd, fdivs, fmul, ffmul, farith, ffarith): New reservations.
- 	(r_2_f, f_2_r, f_load, f_store, r_mem_f, f_mem_r): Likewise.
- 
- 2003-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (ATTR_ASM_FPRINTF): New.
- 	* c-format.c (enum format_type): Add asm_fprintf_format_type.
- 	(NOARGUMENTS, asm_fprintf_length_specs, asm_fprintf_flag_specs,
- 	asm_fprintf_flag_pairs, asm_fprintf_char_table): New.
- 	(format_types_orig): Renamed from format_types.  Add new data.
- 	(format_types): Declare as pointer.
- 	(handle_format_attribute): Move later in file so we have all
- 	necessary declarations.  Add section to capture HOST_WIDE_INT.
- 	* output.h (ATTRIBUTE_ASM_FPRINTF, __gcc_host_wide_int__): New.
- 	(asm_fprintf): Mark with ATTRIBUTE_ASM_FPRINTF.
- 
- 2003-06-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* doc/tm.texi (Storage Layout): Remove ROUND_TYPE_SIZE and
- 	ROUND_TYPE_SIZE_UNIT.
- 
- 	* stor-layout.c (finalize_record_size): Remove usages of
- 	ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
- 	(finalize_type_size): Likewise.
- 	(layout_type): Likewise.
- 
- 	* system.h: Poison ROUND_TYPE_SIZE and ROUND_TYPE_SIZE_UNIT.
- 
- 	* loop.c (check_insn_for_givs): Remove DONT_REDUCE_ADDR macro.
- 
- 	* config/d30v/d30v.h: Remove text copied from the manual.
- 
- 2003-06-01  Roger Sayle  <roger@eyesopen.com>
- 	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 	    Geoffrey Keating  <geoffk@apple.com>
- 
- 	* emit-rtl.c (gen_lowpart_common): Handle interpreting integer
- 	constants as condition code values.
- 
- 2003-06-01  DJ Delorie  <dj@redhat.com>
- 
- 	* cppmacro.c (warn_of_redefinition): Handle cases where the two
- 	definitions have different numbers of tokens.
- 
- 2003-06-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* gen-protos.c (main): Readd unused attribute for argc.
- 
- 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-options.c, c-options.h): Parallel make safe.
- 	* c.opt: End in blank line.
- 	* opts.sh: Take AWK from environment if available; use C locale.
- 
- 2003-06-01  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/linux.h: Remove code protected by USE_GNULIBC_1.
- 
- 2003-06-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* gen-protos.c (main): Revert patch to check for argument.
- 
- 2003-06-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/11044
- 	* config/i386/i386.md (length attribute): Set length to 4
- 	for instructions of type "fcmp".
- 
- 2003-06-01  Andreas Jaeger  <aj@suse.de>
- 
- 	* toplev.c: Use ISO C90 prototypes.
- 
- 	* toplev.h: Use ISO C90 prototypes.
- 
- 	* genrecog.c: Use ISO C90 prototypes.
- 	(nodes_identical): Correct declaration to match prototype.
- 	(maybe_both_true): Likewise.
- 	(merge_trees): Likewise.
- 
- 	* genpeep.c (gen_peephole): Remove #if 0 code.
- 	Use ISO C90 prototypes.
- 
- 	* genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code.
- 	Remove #if 0'ed function simplify_by_alternatives.
- 	(optimize_attrs): Remove #if 0'ed code.
- 	Remove ^L.
- 	Use ISO C90 prototypes.
- 	(make_canonical): Remove #if 0'ed code.
- 	(convert_const_symbol_ref): Remove #if 0'ed function.
- 
- 	* gen-protos.c (main): Check for argument.
- 
- 	* rtl.h: Use ISO C90 prototypes for functions from lists.c.
- 
- 	* params.h: Use ISO C90 prototypes.
- 	* params.c: Likewise.
- 	* intl.c: Likewise.
- 	* intl.h: Likewise.
- 	* lists.c: Likewise.
- 	* errors.c: Likewise.
- 	* errors.h: Likewise.
- 	* gencodes.c: Likewise.
- 	* genpreds.c: Likewise.
- 	* genattr.c: Likewise.
- 	* gen-protos.c: Likewise.
- 	* genflags.c: Likewise
- 	* genconditions.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* gencheck.c: Likewise.
- 	* genconfig.c: Likewise.
- 	* genconstants.c: Likewise.
- 	* genemit.c: Likewise.
- 	* genextract.c: Likewise.
- 	* gengenrtl.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* gengtype.h: Likewise.
- 	* genopinit.c: Likewise.
- 	* genoutput.c: Likewise.
- 	* gensupport.c: Likewise.
- 	* gensupport.h: Likewise.
- 
- 	* sdbout.h: Use ISO C90 prototypes.
- 
- 	* sdbout.c (CONTIN): Removed empty macro.
- 	(sdbout_one_type): Remove CONTIN usages.
- 	Remove ^Ls.
- 	(tag_of_ru_type): Remove #if 0'ed function.
- 	(sdbout_symbol): Remove #if 0'ed code.
- 	(sdbout_one_type): Remove a #if 1.
- 	(sdbout_one_type): Remove #if 0'ed code.
- 	(sdbout_init): Remove RMS_QUICK_HACK_1 code.
- 	Remove PARAMS, use ISO C90 prototypes for all functions.
- 
- 2003-06-01  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* rtl.def (CONST_DOUBLE): Update comment.
- 
- 2003-06-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* opts.sh: Remove path from sort.
- 
- 2003-06-01  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	PR/9680
- 	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Require
- 	TARGET_SPE for SPE_VECTOR_MODE.
- 
- 2003-05-31  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* toplev.c (botch): Remove.
- 	(do_abort): Remove.
- 	(set_Wunused): Comment.
- 	(set_Wextra): Comment.
- 	Remove ^L's.
- 	(rest_of_compilation): Factor out common code into functions.
- 	(rest_of_handle_inlining): New.
- 	(rest_of_handle_ssa): New.
- 	(rest_of_handle_cse): New.
- 	(rest_of_handle_gcse): New.
- 	(rest_of_handle_loop_optimize): New.
- 	(rest_of_handle_jump_bypass): New.
- 	(rest_of_handle_sibling_calls): New.
- 	(rest_of_handle_null_pointer): New.
- 	(rest_of_handle_addresof): New.
- 	(rest_of_handle_flow): New.
- 	(rest_of_handle_branch_prob): New.
- 	(rest_of_handle_if_conversion): New.
- 	(rest_of_handle_tracer): New.
- 	(rest_of_handle_loop2): New.
- 	(rest_of_handle_cse2): New.
- 	(rest_of_handle_life): New.
- 	(rest_of_handle_combine): New.
- 	(rest_of_handle_if_after_combine): New.
- 	(rest_of_handle_regmove): New.
- 	(rest_of_handle_sched): New.
- 	(rest_of_handle_old_regalloc): New.
- 	(rest_of_handle_new_regalloc): New.
- 	(rest_of_handle_regrename): New.
- 	(rest_of_handle_reorder_blocks): New.
- 	(rest_of_handle_sched2): New.
- 	(rest_of_handle_new_regalloc): New.
- 	(rest_of_handle_old_regalloc): New.
- 	(rest_of_handle_regrename): New.
- 	(rest_of_handle_reorder_blocks): New.
- 	(rest_of_handle_stack_regs): New.
- 	(rest_of_handle_machine_reorg): New.
- 	(rest_of_handle_delay_slots): New.
- 	(rest_of_handle_final): New.
- 
- 	* toplev.h (botch): Remove prototype.
- 	(do_abort): Same.
- 
- 2003-05-31  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-opts.o, c-options.h): Update dependencies.
- 	* c-opts.c: Include c-options.h and c-options.c.
- 	(CL_C_ONLY, CL_OBJC_ONLY, CL_CXX_ONLY, CL_OBJCXX_ONLY):
- 	Rename CL_C, CL_OBJC, CL_CXX, CL_OBJCXX.
- 	(CL_ARG, CL_ALL, COMMAND_LINE_OPTIONS, struct cl_option,
- 	OPT, opt_comp): Remove.
- 	(missing_arg, c_common_init_options, c_common_decode_option,
- 	write_langs): Update for macro redefinitions and enumeration
- 	name changes.
- 	* c.opt, opts.sh: New files.
- 	* doc/passes.texi: Update.
- 
- 2003-05-31  Andreas Jaeger  <aj@suse.de>
- 
- 	* function.c (trampoline_address): Remove ALLOCATE_TRAMPOLINE
- 	usage.
- 
- 	* doc/tm.texi (Trampolines): Remove ALLOCATE_TRAMPOLINE.
- 
- 	* config/d30v/d30v.h: Remove traces of ALLOCATE_TRAMPOLINE.
- 
- 	* system.h: Poison ALLOCATE_TRAMPOLINE.
- 
- 	* doc/tm.texi (Misc): Remove HANDLE_PRAGMA.
- 	* system.h: Poison HANDLE_PRAGMA.
- 
- 2003-05-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Update dump file names.
- 
- 2003-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-format.c (format_length_info, format_char_info,
- 	format_flag_spec, format_flag_pair, format_kind_info):
- 	De-const-ify structure members.
- 
- 2003-05-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	* flags.h (flag_wrapv): New flag controlling overflow semantics.
- 	* toplev.c (flag_wrapv): Declare the variable with default false.
- 	(lang_independent_options): New option "-fwrapv" to set the above.
- 
- 	* fold-const.c (extract_muldiv_1): Disable optimization of (2*x)/2
- 	as x, when signed arithmetic overflow wraps around.
- 	(fold): Optimize "-A - B" as "-B - A" if overflow wraps around.
- 	* loop.c (basic_induction_var): Ignore BIVs that rely on undefined
- 	overflow when flag_wrapv is true.
- 
- 	* doc/invoke.texi: Document new -fwrapv command line option.
- 	* doc/c-tree.texi: Mention that the overflow semantics of
- 	NEGATE_EXPR, PLUS_EXPR, MINUS_EXPR and MULT_EXPR is dependent
- 	upon both flag_wrapv and flag_trapv.
- 
- 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi (mips-sgi-irix5): Add missing
- 	HTML <hr> marker.
- 
- 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/md.texi (Machine Constraints): Document
- 	missing SPARC constraints.
- 
- 2003-05-31  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/md.texi (Automaton pipeline description): Use
- 	"type" instead of "cpu" as the attribute in the examples.
- 
- 2003-05-30  Stan Shebs  <shebs@apple.com>
- 
- 	* system.h: Poison OBJC_PROLOGUE.
- 
- 2003-05-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* emit-rtl.c (gen_complex_constant_part): New function for getting
- 	the constant real or imaginary part of a complex constant.
- 	(gen_realpart): Use it.
- 	(gen_imagpart): Likewise.
- 
- 2003-05-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Fix typos.
- 	* doc/rtl.texi: Likewise.
- 
- 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
- 
- 	* config/h8300/crti.asm: Use .h8300hn and .h8300sn for normal
- 	mode.
- 	* config/h8300/crtn.asm: Likewise.
- 	* config/h8300/lib1funcs.asm: Likewise.
- 	* config/h8300/h8300.c (asm_file_start): Likewise.
- 	* config/h8300/elf.h (LINK_SPEC): Use h8300hnelf and
- 	h8300snelf emulations for normal mode.
- 	* config/h8300/h8300.h (LINK_SPEC): Use h8300hn and h8300sn
- 	emulations for normal mode.
- 
- 2003-05-30  Dhananjay Deshpande  <dhananjayd@kpitcummins.com>
- 
- 	* config/h8300/h8300.c (h8300_tiny_constant_address_p): Return
- 	true if TARGET_NORMAL_MODE.
- 
- 2003-05-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (cse_insn): Simplify REG_EQUAL note on libcalls when
- 	making a substitution.
- 	(dead_libcall_p): If directly replacing a libcall with a
- 	constant value produces an invalid instruction, also try forcing
- 	the constant into the constant pool.
- 	* expr.c (emit_move_insn): Add a REG_EQUAL note when it is not
- 	obvious that the source is a constant.
- 	(compress_float_constant): Use set_unique_reg_note to place
- 	REG_EQUAL notes on instructions.
- 
- 2003-05-30  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.c (extern_list): Add GTY marker.
- 	(extern_head): Separate out definition. Add marker.
- 	(mips_output_external): Use ggc_alloc for extern_list
- 	allocation.
- 	(mips_output_external_libcall): Ditto.
- 
- 2003-05-30  Florian Weimer  <fw@deneb.enyo.de>
- 
- 	* doc/install.texi: Ada-enabled bootstrap requires GNAT 3.14 or
- 	later.
- 
- 2003-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* vax.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
- 	warnings.
- 	(PRINT_OPERAND): Likewise.
- 
- 2003-05-30  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Move
- 	-mdebug/-no-mdebug switches ...
- 	(MDEBUG_ASM_SPEC): ... here.
- 	Use only with gas.
- 	(EXTRA_SPECS): Initialize mdebug_asm_spec.
- 
- 2003-05-29  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* gthr-gnat.c: Remove #undef UNUSED.
- 	(__gnat_default_lock, __gnat_default_unlock): Prototype.
- 	(__gnat_task_lock, __gnat_task_unlock): Make declarations
- 	prototypes.
- 	(__gnat_install_locks): Convert declaration to ISO C90, make
- 	parameter declarations prototypes, and remove blank line.
- 	* gthr-gnat.h (__gnat_install_locks): Make parameter
- 	declarations prototypes.
- 
- 2003-05-29  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (unstrap): Remove stage_last after make unstage1.
- 
- 2003-05-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	* mips-tfile.c (PAGE_SIZE): Increase page size to 32K.
- 
- 2003-05-29  Roger Sayle  <roger@eyesopen.com>
- 	    Kaveh Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	PR bootstrap/10169
- 	* mips-tfile.c (main): Use getopt_long instead of getopt.
- 	Add new command line option --version to display version.
- 	Treat --verbose like -v to report a single line version.
- 	(options): New global variable for getopt_long.
- 	* mips-tdump.c (main): Use getopt_long instead of getopt.
- 	New command line options -v, --version and -verbose to display
- 	the program version number (to match mips-tfile's behavior).
- 	(options): New global variable for getopt_long.
- 
- 	* gcov.c (options): Zero-terminate getopt_long array.
- 	* gcov-dump.c (options): Likewise.
- 
- 	* Makefile.in (mips-tdump.o): Add dependency on version.h.
- 
- 2003-05-29  Stan Shebs  <shebs@apple.com>
- 
- 	Remove OBJC_PROLOGUE everywhere.
- 	* objc/objc-act.c (finish_objc): Remove use of OBJC_PROLOGUE.
- 	* config/avr/avr.h: Remove no-op ref to OBJC_PROLOGUE.
- 	* config/d30v/d30v.h: Similarly.
- 	* config/ip2k/ip2k.h: Similarly.
- 	* doc/tm.texi: Remove doc of OBJC_PROLOGUE.
- 
- 2003-05-29  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-semantics.c (genrtl_do_stmt_1): New function split out from...
- 	(gen_rtl_do_stmt): ... here.  Call genrtl_do_stmt_1.
- 	(expand_unreachable_stmt): Expand unreachable while statements
- 	using genrtl_do_stmt_1.
- 
- 2003-05-29  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_output_load_label): Declare.
- 	* config/mips/mips.c (mips_output_load_label): New function.
- 	(mips_output_conditional_branch): Use it.
- 	* config/mips/mips.md (jump): And here.
- 
- 2003-05-28  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa-protos.h (smalloffset_double_mem_p): Delete.
- 	(xtensa_split_operand_pair): New proto.
- 	* config/xtensa/xtensa.c (move_operand): Handle DFmode and DImode.
- 	(smalloffset_double_mem_p): Delete.
- 	(gen_float_relational, printx, print_operand, xtensa_va_arg):
- 	Fix whitespace.
- 	(xtensa_split_operand_pair): New.
- 	(xtensa_dbx_register_number): Fix formatting.
- 	* config/xtensa/xtensa.h (EXTRA_CONSTRAINT): Remove 'S' constraint.
- 	* config/xtensa/xtensa.md (movdi, movdf): Force constants to memory
- 	instead of splitting them into single-word moves.  Remove unnecessary
- 	checks for reload_in_progress and reload_completed.
- 	(movdi_internal, movdf_internal): Change to post-reload split patterns.
- 	Add constraints to allow constant operands.
- 	(movsf_internal): Allow CONST_INT operands.
- 
- 2003-05-27  Danny Smith   <dannysmith@users.sourceforge.net>
- 
- 	* config.gcc (i[34567]86-*-mingw32*): Add host makefile
- 	fragment i386/x-mingw32.
- 	* config/i386/x-mingw32: New file. Make local_includedir
- 	relative to EXEC_PREFIX.
- 
- 2003-05-27  Aaron W. LaFramboise  <awlaframboise@aol.com>
- 
- 	* config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Update.
- 	(MD_STARTFILE_PREFIX): Define.
- 
- 2003-05-27  Denis Chertykov  <denisc@overta.ru>
- 
- 	* cselib.c (cselib_invalidate_regno): Abort if hardreg have a
- 	VOIDmode.
- 	* cselib.c (cselib_process_insn): Pass reg_raw_mode for hardreg in
- 	call of cselib_invalidate_regno.
- 
- 2003-05-28  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* config/mips/linux.h (LIB_SPEC): Add missing -lc and correct
- 	-lthread to -lpthread.
- 
- 2003-05-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Bruce Korb  <bkorb@gnu.org>
- 	    Arno Klaassen  <arno@heho.snv.jussieu.fr>
- 
- 	* fixinc/inclhack.def: Add missing declaration of getpagesize()
- 	to unistd.h on Solaris 2.5.1.
- 	Fix prototype of recv() and send() in sys/socket.h on
- 	Solaris 2.5.1 and 2.6.
- 	* fixinc/tests/base/unistd.h: Add solaris_unistd fix test.
- 	* fixinc/tests/base/sys/socket.h: Add solaris_socket test.
- 	* fixinc/check.tpl: Use 'diff -c', not 'diff -u'.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-05-27  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (expr_first, expr_length): New fns.
- 	* tree.h: Declare them.
- 
- 	* tree.c (iterative_hash_expr): Hash commutative expressions
- 	consistently.
- 
- 2003-05-27  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.h (contains_placeholder_p): Now returns bool.
- 	(CONTAINS_PLACEHOLDER_P): New macro.
- 	(type_contains_placeholder_p): New function.
- 	* tree.c (save_expr): Remove code avoiding folding COMPONENT_REF.
- 	(contains_placeholder_p): Now returns bool.
- 	Rework to use CONTAINS_PLACEHOLDER_P macro.
- 	(type_contains_placeholder_p): New function.
- 	* fold-const.c (fold, case COMPONENT_REF): Don't fold if
- 	type_contains_placeholder_p.
- 	(fold_range_test, fold_mathfn_compare, fold_inf_compare, fold):
- 	Use CONTAINS_PLACEHOLDER_P macro.
- 	* builtins.c (fold_builtin): Likewise.
- 	* calls.c (initialize_argument_information): Likewise.
- 	* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
- 	* explow.c (expr_size): Likewise.
- 	* expr.c (store_constructor, get_inner_reference): Likewise.
- 	* function.c (assign_parms): Likewise.
- 	* stor-layout.c (variable_size): Likewise.
- 
- 2003-05-25  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* diagnostic.h (output_verbatim, verbatim):  Remove  printf
- 	attribute.
- 
- 2003-05-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Update Kean Johnston.
- 
- 2003-05-24  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Add length attribute.
- 
- 2003-05-24  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/rs6000/440.md, config/stormy16/stormy16protos.h,
- 	config/stormy16/stormy16.c, config/stormy16/stormy16.md:
- 	Replace "GNU CC" with "GCC".
- 
- 2003-05-24  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* builtins.c (expand_builtin_memcpy): Use mode of dest_addr for
- 	intermediate computation.
- 
- 2003-05-23  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md (clzsi, clzdi): New patterns.
- 
- 2003-05-23  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gcc.c (default_compilers): Use -o to specify preprocessor's output
- 	file.  Make -no-integrated-cpp work when building PCH files.
- 	* objc/lang-specs.h: Likewise.
- 
- 2003-05-23  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/Makefile.in: Correct description.
- 	* fixinc/Makefile.in, fixinc/fixfixes.c, fixinc/fixincl.c,
- 	fixinc/fixlib.c, fixinc/fixlib.h, fixinc/fixtests.c,
- 	fixinc/genfixes: Replace "GNU CC" with "GCC".
- 
- 2003-05-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def: Define atan, atanf, atanl, tan, tanf and tanl
- 	builtin functions (and their __builtin_* variants).
- 	* builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
- 	(expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
- 	optimizing.
- 
- 	* doc/extend.texi: Document new tan and atan builtins, and
- 	their float and long double variants.
- 
- 2003-05-23  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
- 	__sparcv9 in the TARGET_ARCH64 case.
- 
- Fri May 23 22:17:32 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_reorg): Calls are also jumps.
- 
- 2003-05-23  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* cse.c (count_reg_usage): When processing an INSNs REG_EQUAL
- 	note containing an EXPR_LIST, process all the arguments.
- 
- Fri May 23 21:19:31 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 			       Andreas Jaeger  <aj@suse.de>
- 
- 	* i386.h (TARGET_CPU_CPP_BUILTINS): Define __amd64 and __amd64__;
- 	do not use assertion.
- 
- 2003-05-23  Mike Stump  <mrs@apple.com>
- 
- 	* tlink.c (scan_linker_output): Add support for darwin linker, as it
- 	emits unresolved symbols one per line, consuming the entire line.
- 
- 2003-05-23  Larin Hennessy <larin@science.oregonstate.edu>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* explow.c (allocate_dynamic_stack_space): Remove call to gen_probe.
- 	* config/m68k/m68k.c (m68k_output_function_prologue):
- 	Remove code under #if NEED_PROBE.
- 	* config/m68k/m68k.h: Don't define NEED_PROBE.
- 	* config/m68k/m68k.md: Remove "probe" insn.
- 	* doc/md.texi: Remove documentation of "probe" pattern.
- 
- 2003-05-23  Dorit Naishlos  <gcchaifa@il.ibm.com>
- 
- 	* config/rs6000/rs6000.md (save_fpregs_{si,di}): Add branch attribute.
- 
- 2003-05-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/install.texi: Remove sparc64-*-*. Add sparc64-*-solaris2*.
- 	Document sparcv9-*-solaris2* as a synonym for sparc64-*-solaris2*.
- 
- 2003-05-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_maxval): New function to return the largest finite
- 	value representable in a given mode (i.e. FLT_MAX and DBL_MAX).
- 	* real.h (real_maxval): Prototype here.
- 	* fold-const.c (fold_inf_compare): Transform comparisons against
- 	+-Infinity into comparisons against DBL_MAX (or equivalent).
- 
- 2003-05-22  Mike Stump  <mrs@apple.com>
- 
- 	* config.gcc (*-*-darwin*): Remove use_collect2=no, as it is the
- 	default.
- 
- 2003-05-22  DJ Delorie  <dj@redhat.com>
- 
- 	* calls.c (expand_call): If the arg block is going to grow
- 	downward, we need argblock to point to the top of the block,
- 	not the bottom.
- 
- 2003-05-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* c-decl.c (duplicate_decls): Test DECL for ERROR_MARK.
- 
- 	* expr.c (expand_expr, case CONSTRUCTOR): Put into memory if
- 	constant and EXPAND_CONST_ADDRESS, not just EXPAND_INITIALIZER.
- 
- 2003-05-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* m68hc11.c: Don't use the `0' flag for asm_fprintf specifiers.
- 	* m68k.c: Likewise.
- 	* m68k.h: Likewise.
- 
- 2003-05-22  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR other/2873
- 	* fixinc/inclhack.def (avoid_wchar_t_type): Add bypass
- 	expressions to prevent triggering on recent curses.h,
- 	linux/nls.h, or X11/Xlib.h.
- 	(stdio_va_list): Add _G_va_list to bypass pattern.
- 	(strict_ansi_not): Add bypass pattern for __SCO_VERSION__.
- 	* fixinc/fixincl.x: Regenerate.
- 
- 2003-05-22 Rekha Bhintade <rekhad@kpitcummins.com>
- 
- 	* gcc/config/sh/sh.h (TARGET_SWITCHES): Display all the target
- 	switches when --target-help option is specified.
- 
- 2003-05-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR bootstrap/10805
- 	* doc/install.texi (sparc-sun-solaris2.7): Document bootstrap
- 	failure with Sun assembler 5.0 Alpha 03/27/98.
- 
- 2003-05-21  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Add -D__sparcv9
- 	to match system compiler convention.
- 
- 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* gthr-win32.h (__GTHREAD_HIDE_WIN32API): Test for nonzero
- 	value, not just if defined.
- 	Update copyright year.
- 
- 2003-05-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR target/6428
- 	* pa-hpux10.h (LINK_SPEC, LIB_SPEC): Move -L options for profiling
- 	directories from LIB_SPEC to LINK_SPEC.  Emit warning if `-p' or `-pg'
- 	option is used without `-static'.
- 	* pa-hpux11.h (LINK_SPEC, LIB_SPEC): Likewise.
- 	* pa64-hpux.h (LINK_SPEC, LIB_SPEC): Likewise.
- 
- 2003-05-21  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (MASK_SERIALIZE_VOLATILE,
- 	TARGET_SERIALIZE_VOLATILE): Delete.
- 	(MASK_CONST16, MASK_ABS, MASK_ADDX): Renumber flag bits.
- 	(TARGET_DEFAULT): Remove MASK_SERIALIZE_VOLATILE.
- 	(TARGET_SWITCHES): Remove "-mserialize-volatile" and
- 	"-mno-serialize-volatile".
- 	* config/xtensa/xtensa.c (print_operand): Remove checks of
- 	TARGET_SERIALIZE_VOLATILE.
- 	* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
- 	* doc/invoke.texi (Option Summary, Xtensa Options): Remove
- 	"-mserialize-volatile" and "-mno-serialize-volatile" options.
- 
- 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-parse.in (fndef): Set DECL_SOURCE_LINE and FILE earlier.
- 	(nested_function): Likewise.
- 	(notype_nested_function): Likewise.
- 
- 2003-05-21  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/stormy-abi: Update overflow type for
- 	R_XSTORMY16_16 reloc.
- 
- 2003-05-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-common.h (enum rid): Remove RID_BOUNDED, RID_UNBOUNDED.
- 	* c-parse.in (reswords): Remove __bounded__ and __unbounded__.
- 	(rid_to_yy): Remove RID_BOUNDED, RID_UNBOUNDED slots.
- 	* print-tree.c (print_node): Remove ambient-boundedness.
- 	* tree.h (tree_common): Remove bounded_flag.
- 	(BOUNDED_INDIRECT_YPE_P, BOUNDED_POINTER_TYPE_P,
- 	BOUNDED_REFERENCE_TYPE_P, MAYBE_BOUNDED_INDIRECT_TYPE_P,
- 	MAYBE_BOUNDED_POINTER_TYPE_P, MAYBE_BOUNDED_REFERENCE_TYPE_P,
- 	TREE_BOUNDED, TYPE_MAIN_VARIANTS_PHYSICALLY_EQUAL_P,
- 	TYPE_MAIN_PHYSICAL_VARIANT, TYPE_BOUNDED, TYPE_QUAL_BOUNDED):
- 	Remove.
- 	(TYPE_QUALS): Remove BOUNDED.
- 	(TREE_EXPR_QUALS, TREE_FUNC_QUALS): Remove.
- 	(TYPE_BOUNDED_VALUE, TYPE_BOUNDED_BASE, TYPE_BOUNDED_EXTENT,
- 	TYPE_BOUNDED_SUBTYPE, TYPE_UNBOUNDED_VARIANT, TYPE_POINTER_DEPTH,
- 	TYPE_AMBIENT_BOUNDEDNESS, MAX_POINTER_DEPT,
- 	VA_LIST_POINTER_DEPTH): Remove.
- 	(struct tree_type): Remove pointer_depth.
- 
- 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-pretty-print.c (pp_c_integer_literal): Use
- 	HOST_WIDE_INT_PRINT_DOUBLE_HEX.
- 
- 2003-05-20  Roger Sayle  <roger@eyesopen.com>
- 	    Kazu Hirata  <kazu@cs.umass.edu>
- 	    Joern Rennecke  <joern.rennecke@superh.com>
- 
- 	* gcse.c (cprop_jump):  Make use of REG_EQUAL notes on both
- 	setcc and jump, if they exist.  If substituted instruction
- 	fails to validate, store current effort in a REG_EQUAL note.
- 	(cprop_insn): Don't attempt further substitutions if the
- 	current instruction has been deleted.
- 	(local_cprop_pass): Likewise.
- 
- 	* jump.c (redirect_jump):  Also update REG_EQUAL note, if
- 	one is attached to the jump instruction.
- 	(invert_jump): Delete REG_EQUAL note on jump, if one exists.
- 
- 2003-05-21  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR c++/9738
- 	* config/i386/winnt.c (i386_pe_encode_section_info): Enable
- 	even if not first.
- 
- 2003-05-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genautomata.c (output_description, output_automaton_units,
- 	output_state_arcs): Add missing specifiers.
- 
- 2003-05-20  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib1funcs.asm: Avoid use of .Lfe* in .size directives.
- 	(do_abs, do_addx2, do_addx4, do_addx8): New assembler macros.
- 	(__mulsi3): Use do_addx* instead of ADDX* instructions.  Formatting.
- 	(nsau): Rename to do_nsau.  Provide alternate version for use when
- 	the NSAU instruction is available.
- 	(__udivsi3, __divsi3, __umodsi3, __modsi3): Use do_nsau macro.
- 	(__divsi3, __modsi3): Use do_abs macro instead of ABS instruction.
- 	* config/xtensa/xtensa-config.h: Update comments to match binutils.
- 	(XCHAL_HAVE_ABS, XCHAL_HAVE_ADDX): Define.
- 	* config/xtensa/xtensa.h (MASK_ABS, MASK_ADDX): Define.
- 	(TARGET_ABS, TARGET_ADDX): Define.
- 	(TARGET_DEFAULT): Conditionally add MASK_ABS and MASK_ADDX.
- 	(TARGET_SWITCHES): Add "abs", "no-abs", "addx", and "no-addx".
- 	* config/xtensa/xtensa.md (*addx2, *addx4, *addx8, *subx2, *subx4,
- 	*subx8): Set predicate condition to TARGET_ADDX.
- 	(abssi2): Set predicate condition to TARGET_ABS.
- 	* doc/invoke.texi (Option Summary): Document new "-mabs", "-mno-abs",
- 	"-maddx", and "-mno-addx" options.
- 	(Xtensa Options): Likewise.  Also tag some opcode names with @code.
- 
- 2003-05-20  Kevin Ryde <user42@zip.com.au>
- 	    Wolfgang Bangerth <bangerth@dealii.org>
- 
- 	PR/10355
- 	* doc/extend.texi: Put a warning into the documentation
- 	of attribute regparm.
- 
- 2003-05-20  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.c (expr_last): New fn.
- 	* tree.h: Declare it.
- 	* objc/objc-act (expr_last): Rename to objc_expr_last.
- 
- 2003-05-20  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_register_move_cost): Add clase for moving between
- 	FP registers and MAC registers.
- 
- 2003-05-19  John David Anglin  <dave.anglin@nrc-gnrc.gc.ca>
- 
- 	* pa/milli64.S ($$mulI): Fix typo.
- 
- 2003-05-19  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* alias.c (nonlocal_mentioned_p, nonlocal_referenced_p)
- 	(nonlocal_set_p): Remove initial blank line.
- 	* dwarf2out.c (simple_type_size_in_bits): Likewise.
- 	* et-forest.c (et_forest_create): Likewise.
- 	* explow.c (stabilize): Likewise.
- 	* fix-header.c (write_lbrac): Likewise.
- 	* graph.c (start_fct, node_data): Likewise.
- 	* jump.c (only_sets_cc0_p, sets_cc0_p): Likewise.
- 	* rtlanal.c (global_reg_mentioned_p): Likewise.
- 	* tree.c (bit_position): Likewise.
- 
- 2003-05-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/linux64.h (LIB_SPEC): Add missing -lc and correct
- 	-lthread to -lpthread.
- 
- 2003-05-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (c_common_decode_option): Don't accept dollars
- 	as identifier characters in assembly.
- 	* doc/cpp.texi: Document this.
- 
- 2003-05-19  Seth Arnold  <sarnold@wirex.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Do not add
- 	vrsave_size twice.
- 
- 2003-05-19  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi (function_arg): Fix typo.
- 
- 2003-05-19  Matt Austern  <austern@apple.com>
- 
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-offsetof option.
- 	* c-common.h (warn_invalid_offsetof): Declare.
- 	* c-common.c (warn_invalid_offsetof): Define.
- 	* doc/invoke.texi: Document -Winvalid-offsetof.
- 	* testsuite/g++.dg/other/offsetof3.C: New.
- 	* testsuite/g++.dg/other/offsetof4.C: New.
- 
- 2003-05-19  Kevin B. Hendricks  <kevin.hendricks@sympatico.ca>
- 	    David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_alignment_string,
- 	rs6000_alignment_flags): New variables.
- 	(rs6000_parse_alignment_option): New function.
- 	(rs6000_override_options): Call it.
- 	* config/rs6000/rs6000.h (TARGET_OPTIONS): Add -malign-XXX option.
- 	(MASK_ALIGN_POWER, MASK_ALIGN_NATURAL, TARGET_ALIGN_NATURAL): New
- 	macros.
- 	* config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Always use COMPUTED
- 	natural alignment if TARGET_NATURAL_ALIGNMENT
- 	(ROUND_TYPE_ALIGN): Always use default record alignment if
- 	TAGET_NATURAL_ALIGNMENT.
- 	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Same
- 	(ROUND_TYPE_ALIGN): Same.
- 	* config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Same
- 	(ROUND_TYPE_ALIGN): Same.
- 	* doc/invoke.texi (Option Summary, PowerPC Options): Document
- 	new options.
- 
- 2003-05-19  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-decl.c (finish_decl): When setting the DECL_ASSEMBLER_NAME
- 	of a function using ASMSPEC, prepend a star.
- 
- 2003-05-19  Jason Merrill  <jason@redhat.com>
- 
- 	* tree-inline.c (copy_body_r): Avoid generating &* during inline
- 	substitution.
- 
- 2003-05-19  Andrew Macleod  <amacleod@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Do
- 	not mark assignments to the hard frame pointer as being stack
- 	frame related.
- 	(xstormy16_expand_epilogue): Mark adjustments to the stack
- 	pointer as being stack frame related.
- 
- 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (ISA_HAS_LOAD_DELAY, ISA_HAS_XFER_DELAY,
- 	ISA_HAS_FCMP_DELAY, ISA_HAS_HILO_INTERLOCKS): New macros.
- 	(PREDICATE_CODES): Add hilo_operand.
- 	* config/mips/mips.c (hilo_operand): New predicate.
- 	(mips_adjust_insn_length): Account for the number nops that might
- 	be needed to avoid hardware hazards.
- 	* config/mips/mips.md (dslot): Remove attribute.
- 	(hazard): New attribute.
- 	(can_delay): Use it.  Check for calls, branches & jumps.
- 	(muldi3): Use the standard dmult pattern for mips16 code.
- 	(muldi3_internal, muldi3_internal2): Adjust conditions accordingly.
- 
- 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (final_prescan_insn,
- 	mips_count_memory_refs, mips_fill_delay_slot): Remove.
- 	* config/mips/mips.h (delay_type, dslots_load_total,
- 	dslots_load_filled, dslots_jump_total, dslots_jump_filled,
- 	dslots_number_nops, num_refs, mips_load_reg, mips_load_reg2,
- 	mips_load_reg3, mips_load_reg4): Remove.
- 	(MASK_STATS): Remove.
- 	(MASK_EXPLICIT_RELOCS): Reuse its value.
- 	(TARGET_STATS): Remove.
- 	(TARGET_SWITCHES): Turn -mstats and -mno-stats into no-ops.
- 	Warn that -mstats is now ignored.
- 	(FINAL_PRESCAN_INSN): Undefine.
- 	(DBR_OUTPUT_SEQEND): Remove handling of dslot statistics.
- 	(ASM_OUTPUT_REG_POP): Likewise.
- 	* config/mips/mips.c (dslots_load_total, dslots_load_filled,
- 	dslots_jump_total, dslots_jump_filled, dslots_number_nops, num_refs,
- 	mips_load_reg, mips_load_reg2, mips_load_reg3, mips_load_reg4,
- 	mips_fill_delay_slot, mips_count_memory_refs,
- 	final_prescan_insn): Remove.
- 	(output_block_move): Remove calls to mips_count_memory_refs.
- 	(print_operand): Remove printing of #nop for TARGET_STATS.
- 	(mips_output_function_epilogue): Remove TARGET_STATS code.
- 	Reorganize setting of fnnmae.
- 	* config/mips/mips.md: Remove handling of dslot statistics
- 	throughout file.  Change all fcmp patterns into normal asm
- 	templates, removing calls to mips_fill_delay_slot.
- 	* doc/invoke.texi: Remove documentation of -mstats.
- 
- 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_class_max_nregs): Return the number of
- 	words in the mode.
- 
- 2003-05-19  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Disable explicit
- 	relocs for old ABIs unless using gas.
- 
- 2003-05-18  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.h: Remove definition of g_switch_value.
- 
- 2003-05-18  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* flags.h (g_switch_value): Change to an unsigned
- 	HOST_WIDE_INT.
- 	* toplev.c (g_switch_value): Likewise.
- 
- 	* config/alpha/alpha.c (small_symbolic_operand): Remove
- 	g_switch_value cast.
- 	(alpha_in_small_data_p): Cast size to an unsigned
- 	HOST_WIDE_INT.
- 
- 	* config/frv/frv.c (frv_in_small_data_p): Cast size to an
- 	unsigned HOST_WIDE_INT.
- 	* config/frv/frv.h (g_switch_value, g_switch_set): Remove.
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Declare g_switch_set.
- 
- 	* config/m32r/m32r.c (m32r_in_small_data_p): Cast size to an
- 	unsigned HOST_WIDE_INT.
- 	(m32r_asm_file_start): Use HOST_WIDE_INT_PRINT_UNSIGNED.
- 	* config/m32r/m32r.h (g_switch_value, g_switch_set): Remove.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Declare g_switch_value.
- 
- 	* config/rs6000/rs6000.c (rs6000_file_start): Use
- 	HOST_WIDE_INT_PRINT_UNSIGNED.
- 	(small_data_operand): Cast summand to unsigned HOST_WIDE_INT.
- 	(rs6000_elf_in_small_data_p): Cast size to unsigned
- 	HOST_WIDE_INT.
- 	* config/rs6000/sysv4.h (g_switch_value, g_switch_set):
- 	Remove.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Declare g_switch_value and
- 	g_switch_set.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Declare g_switch_value and remove
- 	g_switch_value cast.
- 
- 2003-05-18  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR middle-end/10472
- 	* builtins.c (expand_builtin_memcpy):  Call force_operand on
- 	expressions and use simplify_gen_binary to create the addition.
- 
- 2003-05-18  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.md: Use define_constants for unspec numbers.
- 
- 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/sparc/sparc.h: Define sparc for now.
- 
- 2003-05-18  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Clear xm_file, md_file at the beginning of each pass.
- 
- 	* config/stormy16/stormy16.h: Remove about 3000 lines of
- 	target-independent comments.  Update copyright notice.
- 
- 	* doc/collect2.texi: GNU CC -> GCC.
- 	* doc/headerdirs.texi: GNU CC -> GCC.
- 
- 2003-05-18  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* hashtable.h (struct ht_identifier): Add data member "hash_value".
- 	* hashtable.c (ht_lookup): Use it when searching, remember.
- 	(ht_expand): Do not recompute.
- 	* tree.h (IDENTIFIER_HASH_VALUE): New macro.
- 
- 2003-05-18  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.c (gcov_read_bytes): Fix fread thinko.
- 
- 2003-05-18  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-cppbuiltin.c (TARGET_OS_CPP_BUILTINS, TARGET_OBJFMT_CPP_BUILTINS):
- 	Default here.
- 	(c_cpp_builtins): Invoke TARGET_OBJFMT_CPP_BUILTINS().
- 	* defaults.h: Don't default TARGET_OS_CPP_BUILTINS here.
- 	* config/elfos.h (TARGET_OBJFMT_CPP_BUILTINS): Define __ELF__.
- 	* config/freebsd-spec.h, config/netbsd-elf.h, config/alpha/gnu.h,
- 	config/arm/linux-elf.h, config/arm/rtems-elf.h,
- 	config/arm/unknown-elf.h, config/cris/cris.h, config/cris/linux.h,
- 	config/h8300/elf.h, config/i370/linux.h, config/i386/beos-elf.h,
- 	config/i386/gnu.h, config/i386/linux.h, config/i386/linux64.h,
- 	config/i386/moss.h, config/i386/rtemself.h, config/ia64/ia64.h,
- 	config/m68k/rtemself.h, config/mcore/mcore-elf.h, config/mips/linux.h,
- 	config/pa/pa-linux.h, config/rs6000/linux.h, config/rs6000/linux64.h,
- 	config/rs6000/sysv4.h, config/rs6000/vxworks.h, config/s390/linux.h,
- 	config/sh/coff.h, config/sh/elf.h, config/sh/rtemself.h,
- 	config/sh/sh.h, config/sparc/linux.h, config/sparc/linux64.h,
- 	config/sparc/openbsd64.h, config/sparc/sp64-elf.h,
- 	config/sparc/sp86x-elf.h, config/xtensa/elf.h, config/xtensa/linux.h:
- 	Don't define __ELF__.
- 	* config/alpha.h, config/m68k/linux.h (TARGET_OBJFMT_CPP_BUILTINS):
- 	Define __ELF__.
- 	* doc/cpp.texi: Document __ELF__.
- 	* doc/tm.texi: Document TARGET_OBJFMT_CPP_BUILTINS.	*
- 
- 2003-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (validate_arglist): Eliminate libiberty VA_ macros,
- 	always use stdarg.
- 	* c-errors.c (pedwarn_c99): Likewise.
- 	* c-format.c (status_warning): Likewise.
- 	* c-semantics.c (build_stmt): Likewise.
- 	* calls.c (emit_library_call, emit_library_call_value): Likewise.
- 	* collect2.c (notice, fatal_perror, fatal, error): Likewise.
- 	* cpperror.c (cpp_error, cpp_error_with_line): Likewise.
- 	* diagnostic.c (build_message_string, output_printf,
- 	output_verbatim, verbatim, inform, warning, pedwarn, error, sorry,
- 	fatal_error, internal_error, warning_with_decl, pedwarn_with_decl,
- 	error_with_decl, fnotice): Likewise.
- 	* dwarf2asm.c (dw2_asm_output_data, dw2_asm_output_delta,
- 	dw2_asm_output_offset, dw2_asm_output_pcrel, dw2_asm_output_addr,
- 	dw2_asm_output_addr_rtx, dw2_asm_output_nstring,
- 	dw2_asm_output_data_uleb128, dw2_asm_output_data_sleb128,
- 	dw2_asm_output_delta_uleb128, dw2_asm_output_delta_sleb128,
- 	dw2_asm_output_encoded_addr_rtx): Likewise.
- 	* emit-rtl.c (gen_rtx, gen_rtvec): Likewise.
- 	* errors.c (warning, error, fatal, internal_error): Likewise.
- 	* final.c (output_operand_lossage, asm_fprintf): Likewise.
- 	* fix-header.c (fatal): Likewise.
- 	* gcc.c (fatal, error, notice): Likewise.
- 	* gcov.c (fnotice): Likewise.
- 	* genattrtab.c (attr_rtx, attr_printf): Likewise.
- 	* gengtype.c (error_at_line, xasprintf, oprintf): Likewise.
- 	* gensupport.c (message_with_line): Likewise.
- 	* mips-tfile.c (fatal, error): Likewise.
- 	* protoize.c (notice): Likewise.
- 	* ra-debug.c (ra_debug_msg): Likewise.
- 	* read-rtl.c (fatal_with_file_and_line): Likewise.
- 	* rtl-error.c (error_for_asm, warning_for_asm): Likewise.
- 	* tree.c (build, build_nt, build_function_type_list): Likewise.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* defaults.h (TARGET_CPU_CPP_BUILTINS, CPP_PREDEFINES): Remove.
- 	* gcc.c (cpp_predefines): Remove.
- 	(cpp_unique_options, do_spec_1): Remove handling of CPP_PREDEFINES.
- 	(static_specs): Remove predefines.
- 	* system.h: Poison CPP_PREDEFINES.
- 	* config/freebsd.h, config/openbsd.h, config/ptx4.h, config/svr3.h,
- 	config/svr4.h, doc/tm.texi: Remove references to CPP_PREDEFINES.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/m68k/hp320.h, config/m68k/linux.h, config/m68k/m68k-none.h,
- 	config/m68k/m68k.h, config/m68k/m68kemb.h, config/m68k/m68kv4.h,
- 	config/m68k/openbsd.h, config/m68k/rtemself.h: Remove CPP_PREDEFINES,
- 	use TARGET_OS_CPP_BUILTINS and TARGET_CPU_CPP_BUILTINS instead.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	PR c/9209
- 	* c-common.c, c-common.h (dollars_in_ident): Remove.
- 	* c-opts.c (DOLLARS_IN_IDENTIFIERS): Default to true.
- 	(c_common_init_options, c_common_decode_option): Set dollars_in_ident.
- 	* cpphash.h (warned_dollar): Rename warn_dollars.
- 	* cppinit.c (struct lang_flags, lang_defaults, cpp_set_lang)
- 	Permit dollars regardless of -std=.
- 	(post_options): Set warn_dollars.
- 	* cpplex.c (forms_identifier_p): Use warn_dollars.
- 	* config/darwin.h, config/alpha/vms.h, config/m68hc11/m68hc11.h:
- 	Remove redundant definitions of DOLLARS_IN_IDENTIFIERS.
- 	* doc/cpp.texi, doc/cppopts.texi, doc/invoke.texi, doc/tm.texi:
- 	Update documentation.
- 
- 2003-05-17  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Use
- 	HOST_WIDE_INT_PRINT_DEC for fprintf and %wd for asm_fprintf when
- 	formatting a HOST_WIDE_INT.
- 	(m68k_output_function_epilogue): Likewise.
- 
- 2003-05-17  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/install.texi: Remove information about desupported targets.
- 
- 2003-05-17  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/coff.h: Remove support for Sun FPA and Sun SKY board.
- 	* config/m68k/linux.h: Likewise.
- 	* config/m68k/m68k-none.h: Likewise.
- 	* config/m68k/netbsd-elf.h: Likewise.
- 	* config/m68k/sgs.h: Likewise.
- 	* config/m68k/m68k.h: Likewise.
- 	* config/m68k/m68k.md: Likewise.
- 	* config/m68k/m68k.c: Likewise.
- 	* doc/md.texi (Machine Constraints): Remove Sun FPA specific
- 	constraints.
- 	* doc/invoke.texi (Option Summary): Remove -mfpa.
- 	(M680x0 Options): Likewise.
- 
- 2003-05-17  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* rs6000.c (rs6000_function_value): Simplify REAL_TYPE logic.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/sol2.h: Add TARGET_SUB_OS_CPP_BUILTINS.
- 	* config/sparc/liteelf.h, config/sparc/openbsd64.h,
- 	config/sparc/rtemself.h, config/sparc/sol2-64.h,
- 	config/sparc/sp64-elf.h, config/sparc/sp86x-elf.h:
- 	Update for use of TARGET_SUB_OS_CPP_BUILTINS.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* i960/i960.h, i960/rtems.h: Use TARGET_OS_CPP_BUILTINS and
- 	TARGET_CPU_CPP_BUILTINS in preference to CPP_PREDEFINES.
- 
- 2003-05-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config.gcc (sparc-*-sysv4*): Add sparc/sysv4-only.h.
- 	* sparc/aout.h, sparc/elf.h, sparc/freebsd.h, sparc/linux.h,
- 	sparc/linux64.h, sparc/lite.h, sparc/litecoff.h, sparc/liteelf.h,
- 	sparc/netbsd-elf.h, sparc/openbsd.h, sparc/openbsd64.h,
- 	sparc/pbd.h, sparc/rtemself.h, sparc/sol2-64.h, sparc/sol2-bi.h,
- 	sparc/sol2.h, sparc/sp64-elf.h, sparc/sp86-elf.h, sparc/sparc.h,
- 	sparc/sysv4.h,
- 	* sparc/sysv4-only.h: New.
- 
- 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* function.c (assign_parms): Check for zero size args.
- 
- 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cfgloopanal.c (test_for_iteration): Use string concatentation on
- 	HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
- 	function calls into one.
- 	* dbxout.c (dbxout_symbol): Likewise.
- 	* defaults.h (ASM_OUTPUT_SIZE_DIRECTIVE): Likewise.
- 	* dwarf2asm.c (dw2_asm_output_data_uleb128,
- 	dw2_asm_output_data_sleb128): Likewise.
- 	* genrecog.c (debug_decision_2): Likewise.
- 	* loop.c (emit_prefetch_instructions): Likewise.
- 	* print-rtl.c (print_rtx): Likewise.
- 	* print-tree.c (print_node_brief, print_node): Likewise.
- 	* ra-debug.c (dump_igraph, dump_graph_cost,
- 	dump_static_insn_cost): Likewise.
- 	* ra-rewrite.c (dump_cost): Likewise.
- 	* sdbout.c (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
- 	* sreal.c (dump_sreal): Likewise.
- 	* unroll.c (unroll_loop, precondition_loop_p): Likewise.
- 	* varasm.c (assemble_vtable_entry): Likewise.
- 
- 	* avr.c (avr_output_function_prologue,
- 	avr_output_function_epilogue, print_operand): Fix format specifier
- 	warnings.
- 	(init_cumulative_args): Mark parameter with ATTRIBUTE_UNUSED.
- 	* avr.h (FUNCTION_VALUE_REGNO_P): Fix signed/unsigned warnings.
- 
- 2003-05-16  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (expand_block_move): Unify the TARGET_STRING
- 	and ! TARGET_STRING cases.
- 
- 	* doc/cppopts.texi (-undef): Fix texinfo warning.
- 
- 	* doc/cppopts.texi (-H): Document that -H works for PCH files too.
- 	* cppfiles.c (validate_pch): When -H is used, print some information
- 	about PCH files found.
- 
- 2003-05-16  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* config/mips/t-elf: Remove obsolete rules adding dependencies on tm.h.
- 	* config/mips/t-isa3264, config/mips/t-r3900: Likewise.
- 	* config/mips/t-sr71k: Likewise.
- 
- 2003-05-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* arc.c (arc_output_function_prologue,
- 	arc_output_function_epilogue): Fix format specifier warnings.
- 	* arc.h (LARGE_INT): Fix signed/unsigned warnings.
- 
- 	* v850.c (print_operand): Fix format specifier warnings.
- 
- 	* ns32k.c (ADJSP, ns32k_output_function_prologue): Fix format
- 	specifier warnings.
- 
- 	* mcore.c (mcore_print_operand_address, mcore_print_operand): Fix
- 	format specifier warnings.
- 
- 	* ip2k.c (function_prologue, function_epilogue, print_operand):
- 	Fix format specifier warnings.
- 	* ip2k.md: Likewise.
- 
- 	* i960.c (i960_output_function_prologue, i960_print_operand,
- 	i960_print_operand_addr): Fix format specifier warnings.
- 
- 	* i370.c (ascebc, ebcasc): Wrap in macros controlling usage.
- 	(i370_output_function_prologue): Fix format specifier warnings.
- 	* i370.h (PRINT_OPERAND): Likewise.
- 
- 	* fr30.c (fr30_print_operand): Fix format specifier warnings.
- 
- 	* dsp16xx.c (print_operand_address): Fix format specifier warning.
- 	* dsp16xx.h (INCLUDE_DEFAULTS): Add missing initializers.
- 
- 	* c4x.c (c4x_print_operand, c4x_print_operand_address): Fix format
- 	specifier warnings.
- 
- 	* alpha.c (print_operand_address, alpha_start_function,
- 	unicosmk_output_ssib): Use string concatentation on
- 	HOST_WIDE_INT_PRINT_* format specifier to collapse multiple
- 	function calls into one.
- 	* arm.c (arm_print_operand): Likewise.
- 	* cris.c (cris_asm_output_mi_thunk): Likewise.
- 	* frv.c (frv_asm_output_mi_thunk): Likewise.
- 	* ia64.c (ia64_print_operand, process_set): Likewise.
- 	* m68k.c (m68k_output_function_epilogue, m68k_output_mi_thunk):
- 	Likewise.
- 	* mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
- 	* mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
- 	* pa.c (output_div_insn, pa_asm_output_mi_thunk): Likewise.
- 	* pa.h (PRINT_OPERAND_ADDRESS): Likewise.
- 	* rs6000.c (rs6000_va_start, print_operand_address): Likewise.
- 	* s390.c (s390_assemble_integer): Likewise.
- 	* sparc.c (sparc_flat_function_prologue,
- 	sparc_flat_function_epilogue): Likewise.
- 	* stormy16.c (xstormy16_print_operand_address, xstormy16_print_operand): Likewise.
- 	* vax.c (vax_output_mi_thunk): Likewise.
- 
- 	* frv.c (frv_print_operand_memory_reference): Fix format specifier
- 	warning.
- 	(frv_rtx_costs): Mark parameter with ATTRIBUTE_UNUSED.
- 
- 	* m68k.c (m68k_output_function_epilogue): Fix format specifier
- 	warnings.
- 
- 	* stormy16-protos.h (xs_hi_general_operand,
- 	xs_hi_nonmemory_operand): Prototype.
- 	* stormy16.c (xstormy16_output_shift): Fix format specifier
- 	warnings.
- 
- 	* cris.c: Fix format specifier warnings.
- 
- 2003-05-16  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/lib1funcs.asm: Fix typo: LSM instead of LSYM.
- 
- 2003-05-16  Wolfgang Bangerth <bangerth@dealii.org>
- 
- 	* doc/bugreport.texi: Remove most of the of the preface of the
- 	bugs section.
- 
- 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/unwind-ia64.c (uw_update_reg_address): Handle
- 	.save XX, r0.
- 
- 2003-05-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/alpha/alpha.h (ASM_OUTPUT_SKIP): Fix typo.
- 
- 2003-05-15  Eric Christopher  <echristo@redhat.com>
- 
- 	* cfgcleanup.c (merge_blocks): Fix return value.
- 
- 2003-05-15 Eric Christopher <echristo@redhat.com>
- 
- 	* combine.c (expand_compound_operation): Make sure
- 	that zero_extend operation is profitable.
- 
- 2003-05-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/linux.h, config/alpha/linux-elf.h: Remove
- 	code protected by USE_GNULIBC_1.
- 
- 2003-05-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Purge all targets obsoleted in GCC 3.3.  Also
- 	remove hppa*-*-mpeix* which could not be built, and prune
- 	files from tmake_file= or tm_file= lists that don't exist.
- 
- 	* config/alpha/alpha-interix.h, config/alpha/alpha32.h
- 	* config/alpha/t-interix, config/arm/conix-elf.h
- 	* config/arm/t-arm-aout, config/arm/t-strongarm-coff
- 	* config/arm/unknown-elf-oabi.h, config/i386/win32.h
- 	* config/m68k/3b1.h, config/m68k/3b1g.h, config/m68k/amix.h
- 	* config/m68k/atari.h, config/m68k/ccur-GAS.h, config/m68k/crds.h
- 	* config/m68k/hp2bsd.h, config/m68k/hp3bsd.h
- 	* config/m68k/hp3bsd44.h, config/m68k/linux-aout.h
- 	* config/m68k/m68k-psos.h, config/m68k/mot3300.h
- 	* config/m68k/pbb.h, config/m68k/plexus.h, config/m68k/sun2.h
- 	* config/m68k/sun2o4.h, config/m68k/sun3.h, config/m68k/sun3mach.h
- 	* config/m68k/sun3n.h, config/m68k/sun3n3.h, config/m68k/sun3o3.h
- 	* config/m68k/t-mot3300, config/m68k/t-mot3300-gald
- 	* config/m68k/t-mot3300-gas, config/m68k/t-mot3300-gld
- 	* config/m68k/tower-as.h, config/m68k/tower.h
- 	* config/m88k/aout-dbx.h, config/m88k/m88k-aout.h
- 	* config/m88k/m88k-modes.def, config/m88k/m88k-move.sh
- 	* config/m88k/m88k-protos.h, config/m88k/m88k.c
- 	* config/m88k/m88k.h, config/m88k/m88k.md, config/m88k/openbsd.h
- 	* config/m88k/sysv4.h, config/m88k/t-luna, config/m88k/t-luna-gas
- 	* config/m88k/t-m88k, config/m88k/t-sysv4, config/mcore/gfloat.h
- 	* config/mips/rtems64.h, config/mips/sni-gas.h
- 	* config/mips/sni-svr4.h, config/mips/t-ecoff
- 	* config/mn10200/lib1funcs.asm, config/mn10200/mn10200-protos.h
- 	* config/mn10200/mn10200.c, config/mn10200/mn10200.h
- 	* config/mn10200/mn10200.md, config/mn10200/t-mn10200
- 	* config/pa/pa-hiux.h, config/pa/pa-hpux7.h, config/pa/pa-hpux9.h
- 	* config/pa/pa-oldas.h, config/pa/t-mpeix, config/psos.h
- 	* config/romp/romp-protos.h, config/romp/romp.c
- 	* config/romp/romp.h, config/romp/romp.md, config/rs6000/aix31.h
- 	* config/rs6000/aix3newas.h, config/rs6000/mach.h
- 	* config/sparc/bsd.h, config/sparc/hal.h
- 	* config/sparc/linux-aout.h, config/sparc/lynx-ng.h
- 	* config/sparc/lynx.h, config/sparc/netbsd.h
- 	* config/sparc/sp86x-aout.h, config/sparc/splet.h
- 	* config/sparc/sun4gas.h, config/sparc/sun4o3.h
- 	* config/sparc/sunos4.h, config/sparc/t-chorus-elf
- 	* config/sparc/t-halos, config/sparc/t-sparcbare
- 	* config/sparc/t-splet, config/sparc/t-sunos41
- 	* config/v850/rtems.h: Delete file.
- 
- 2003-05-15  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000-protos.h (function_value): Protoize.
- 
- 	* config/rs6000/rs6000.h (FUNCTION_VALUE): Call function.
- 
- 	* config/rs6000/rs6000.c (rs6000_function_value): New.
- 
- 2003-05-15  Philip Blundell  <philb@gnu.org>
- 
- 	* config/arm/arm.c (arm_is_xscale): Rename to arm_arch_xscale.
- 	All uses updated.
- 	(arm_tune_xscale): New variable.
- 	(arm_override_options): Set it.
- 	(arm_adjust_cost): Use it in place of arm_arch_xscale.
- 	(arm_gen_load_multiple): Likewise.
- 	(arm_gen_store_multiple): Likewise.
- 	* config/arm/arm.md (is_xscale): Likewise.
- 	* config/arm/arm.h (arm_tune_xscale): Declare.
- 
- 2003-05-15  Philip Blundell  <philb@gnu.org>
- 
- 	PR target/10730
- 	* config/arm/arm.c (adjacent_mem_locations): Reject offsets
- 	involving invalid constants.
- 
- 2003-05-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (hppa_expand_prologue): Remove blockage.
- 
- 2003-05-15  Wolfgang Bangerth <bangerth@dealii.org>
- 
- 	* doc/bugreport.texi: Remove most of the bug reporting
- 	instructions and merge them into bugs.html.
- 
- 2003-05-14  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Cast
- 	g_switch_value to unsigned HOST_WIDE_INT.
- 
- 2003-05-14  Eric Christopher  <echristo@redhat.com>
- 
- 	* combine.c: Fix header comments.
- 	(distribute_notes): Remove usage of elim_i1, elim_i2. Propagate
- 	to all calls and prototype.
- 
- 2003-05-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/10764
- 	* config/i386/i386.md (atan2df3, atan2sf3, atan2xf3, atan2tf3):
- 	Add an explicit clobber to show that UNSPEC_FPATAN clobbers st(1).
- 	(*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3):  Likewise,
- 	add an explicit clobber to show that UNSPEC_FYL2X clobbers st(1).
- 	(logsf2, logdf2, logxf2, logtf2): Update expander patterns to match
- 	the corresponding *fyl2x_?fxf3 instructions.
- 
- 2003-05-14  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Change from 49 to 59.
- 	* config/xtensa/xtensa-config.h (XCHAL_HAVE_CONST16,
- 	XCHAL_HAVE_L32R): New.
- 	* config/xtensa/xtensa-protos.h (non_const_move_operand,
- 	xtensa_load_constant, xtensa_function_prologue,
- 	xtensa_function_epilogue): Delete prototypes.
- 	(xtensa_expand_prologue): New.
- 	* config/xtensa/xtensa.c (frame_size_const,
- 	TARGET_ASM_FUNCTION_PROLOGUE, TARGET_MACHINE_DEPENDENT_REORG,
- 	non_const_move_operand, xtensa_load_constant, xtensa_reorg,
- 	xtensa_function_prologue): Delete.
- 	(add_operand, xtensa_mem_offset): Formatting.
- 	(move_operand): If the const16 option is available, allow any SFmode
- 	and SImode constants.
- 	(xtensa_emit_move_sequence): Inline the former contents of
- 	xtensa_load_constant with modifications to handle the const16 option.
- 	(override_options): Add xtensa_char_to_class['W'] and set it to
- 	the general register class only if the const16 option is enabled.
- 	Fix formatting.  Disallow PIC when using the const16 option.
- 	(print_operand): Reorganize to switch on "letter" instead of the
- 	RTL code.  Add output_operand_lossage calls for invalid cases.
- 	Add support for 't' and 'b' letters.
- 	(xtensa_expand_prologue): New function to replace
- 	xtensa_function_prologue and xtensa_reorg.
- 	(xtensa_function_epilogue): Declare this as static.  Delete code
- 	to print the retw.n or retw instruction.
- 	(xtensa_return_addr): Use A0_REG instead of 0.
- 	(xtensa_rtx_costs): Add costs for using the const16 option.
- 	* config/xtensa/xtensa.h (MASK_CONST16, TARGET_CONST16): New.
- 	(TARGET_DEFAULT): Add CONST16 if L32R instructions not available.
- 	(TARGET_SWITCHES): Add "const16" and "no-const16".
- 	(REG_CLASS_FROM_LETTER): Add comment about new 'W' letter.
- 	(EXTRA_CONSTRAINT): Change 'T' constraint to only apply when not
- 	using the const16 option.
- 	(TRAMPOLINE_TEMPLATE): Rewrite to avoid hardwired use of l32r insn.
- 	(TRAMPOLINE_SIZE): Change from 49 to 59.
- 	(INITIALIZE_TRAMPOLINE): Adjust offsets to match new trampoline.
- 	(GO_IF_LEGITIMATE_ADDRESS): Do not allow constant pool addresses
- 	when using the const16 option.
- 	(PREDICATE_CODES): Delete non_const_move_operand.
- 	* config/xtensa/xtensa.md (define_constants): Add A1_REG, A8_REG, and
- 	UNSPECV_ENTRY.
- 	(movdi, movdf): If the source is a constant, always expand to a
- 	sequence of movsi insns.
- 	(movdi_internal, movdf_internal): Remove alternative using l32r insns.
- 	(movsi_internal, movsf_internal): Add alternative using const16 insns.
- 	(movsf): Add const16 support.
- 	(entry, prologue, epilogue): New.
- 	(set_frame_ptr): Add missing mode for unspec_volatile operation.
- 	Likewise for subsequent split pattern.
- 	* doc/invoke.texi (Option Summary, Xtensa Options): Document new
- 	"-mconst16" and "-mno-const16" options.
- 
- 2003-05-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_load_address): Force destination
- 	to be DImode register.  Merge load_symptr.
- 	* config/ia64/ia64.md (load_symptr): Remove.
- 
- 2003-05-14  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (TREE_CONSTANT_POOL_ADDRESS_P): Rename from
- 	DEFERRED_CONSTANT_P.
- 	* integrate.c (copy_rtx_and_substitute): Update use.
- 	* varasm.c (build_constant_desc): Set SYMBOL_REF_DECL
- 	to the copy generated.
- 	(maybe_output_constant_def_contents): Examine TREE_ASM_WRITTEN
- 	of the constant to see if we should emit.
- 	(mark_constant): Similarly.
- 	(output_constant_def_contents): Set TREE_ASM_WRITTEN.
- 
- 2003-05-14  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movsi_internal2): Use compare for self
- 	move record condition.
- 	(movdi_internal2): Same.
- 
- 2003-05-14  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h (gcov_write_bytes, gcov_read_bytes): Remove here.
- 	(GCOV_TAG_*) Force type to gcov_unsigned_t.
- 	(GCOV_CHECK, GCOV_CHECK_READING, GCOV_CHECK_WRITING): New.
- 	(struct gcov_var): Remove modified. Add start, length, offset,
- 	overread. Have buffer array for libgcov.
- 	(gcov_sync, gcov_seek): Definitions moved to gcov-io.c.
- 	(gcov_position, gcov_rewrite, gcov_is_eof): Adjust.
- 	* gcov-io.c (gcov_open): Set mode, do not read anything.
- 	(gcov_close): Write final block.
- 	 (gcov_write_block, gcov_allocate): New.
- 	(gcov_write_bytes): Make static. Write or allocate buffer.
- 	(gcov_write_unsigned, gcov_write_counter): Buffer can never be
- 	null.
- 	(gcov_write_string): Adjust.
- 	(gcov_write_tag)
- 	(gcov_write_length): Adjust. Flush the block.
- 	(gcov_write_tag_length): Buffer can never be null.
- 	(gcov_read_bytes): Make static. Read in block.
- 	(gcov_sync): Moved here. Adjust.
- 	(gcov_seek): Moved here. Adjust.
- 	* coverage.c (read_counts_file): Adjust.
- 	* gcov-dump.c (print_prefix): Add position parameter.
- 	(flag_dump_positions): New flag.
- 	(options, main, print_usage): Add it.
- 	(dump_file, tag_blocks, tag_arcs, tag_lines, tag_counters,
- 	tag_summary): Adjust.
- 	* gcov.c (read_graph_file, read_count_file): Adjust.
- 	* libgcov.c (gcov_exit): Adjust.
- 
- 	* Makefile.in (LIBGCC_DEPS): Use $(srcdir) on gcov files
- 	(libgcov.a): Depend on libgcc.a.
- 	(gcov.o, gcov-dump.o): Add gcov-io.c.
- 	* mklibgcc.in (libgcov_c_dep): Use $(srcdir).
- 
- 	* loop.c (check_dbra_loop): Factor common test.
- 
- 2003-05-14  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* doc/md.texi (Automaton pipeline description): Grammar fixes.
- 
- 2003-05-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* target-def.h (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(TARGET_INITIALIZER): Include it.
- 	* target.h (struct gcc_target): Add machine_dependent_reorg field.
- 	* toplev.c (rest_of_compilation): Use targetm.machine_dependent_reorg.
- 	* system.h: Poison MACHINE_DEPENDENT_REORG.
- 
- 	* config/alpha/alpha-protos.h (alpha_reorg): Remove declaration.
- 	* config/alpha/alpha.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/alpha/alpha.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(alpha_handle_trap_shadows): Remove "first insn" parameter.
- 	(alpha_align_insns): Likewise.
- 	(alpha_reorg): Likewise.  Make static.  Update calls to above
- 	functions.
- 
- 	* config/arm/arm-protos.h (arm_reorg): Remove declaration.
- 	* config/arm/arm.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/arm/arm.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(arm_reorg): Remove parameter.  Make static.
- 
- 	* config/avr/avr-protos.h (machine_dependent_reorg): Remove.
- 	* config/avr/avr.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/avr/avr.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(avr_reorg): Renamed from machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 
- 	* config/c4x/c4x-protos.h (c4x_process_after_reload): Remove.
- 	* config/c4x/c4x.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/c4x/c4x.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(c4x_reorg): Renamed from c4x_process_after_reload.  Make static.
- 	Remove parameter.
- 
- 	* config/d30v/d30v-protos.h (d30v_machine_dependent_reorg): Remove.
- 	* config/d30v/d30v.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/d30v/d30v.c (d30v_machine_dependent_reorg): Remove.
- 
- 	* config/frv/frv-protos.h (frv_machine_dependent_reorg): Remove.
- 	* config/frv/frv.c: Remove orphaned comment.
- 
- 	* config/i386/i386-protos.h (x86_machine_dependent_reorg): Remove.
- 	* config/i386/i386.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/i386/i386.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(ix86_reorg): Renamed from x86_machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 
- 	* config/ia64/ia64-protos.h (ia64_reorg): Remove declaration.
- 	* config/ia64/ia64.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/ia64/ia64.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(emit_insn_group_barriers): Remove "first insn" parameter.
- 	(emit_all_insn_group_barriers): Likewise.
- 	(ia64_reorg): Likewise.  Make static.  Update calls to above functions.
- 	(ia64_output_mi_thunk): Update call to emit_all_insn_group_barriers.
- 
- 	* config/ip2k/ip2k-protos.h (machine_dependent_reorg): Remove.
- 	* config/ip2k/ip2k.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/ip2k/ip2k.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(ip2k_reorg): Renamed from machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_reorg): Remove declaration.
- 	* config/m68hc11/m68hc11.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/m68hc11/m68hc11.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(m68hc11_reorg): Make static.  Remove parameter.
- 
- 	* config/mcore/mcore-protos.h (mcore_dependent_reorg): Remove.
- 	* config/mcore/mcore.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/mcore/mcore.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(conditionalize_optimization): Remove parameter.
- 	(mcore_reorg): Renamed from mcore_dependent_reorg.  Remove parameter.
- 	Make static.  Update call to conditionalize_optimization.
- 
- 	* config/mips/mips-protos.h (machine_dependent_reorg): Remove.
- 	* config/mips/mips.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/mips/mips.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(mips_reorg): Renamed from machine_dependent_reorg.  Remove parameter.
- 	Make static.
- 
- 	* config/mmix/mmix-protos.h (mmix_machine_dependent_reorg): Remove.
- 	* config/mmix/mmix.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/mmix/mmix.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(mmix_reorg): Renamed from mmix_machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 
- 	* config/pa/pa-protos.h (pa_reorg): Remove declaration.
- 	* config/pa/pa.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/pa/pa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(pa_combine_instructions): Remove "first insn" parameter.
- 	(remove_useless_addtr_insns): Likewise.
- 	(pa_reorg): Likewise.  Make static.  Update calls to above functions.
- 
- 	* config/rs6000/rs6000.h (MACHINE_DEPENDENT_REORG): Remove
- 	commented-out definition.
- 
- 	* config/s390/s390-protos.h (s390_machine_dependent_reorg): Remove.
- 	* config/s390/s390.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/s390/s390.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(s390_reorg): Renamed from s390_machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 
- 	* config/sh/sh-protos.h (machine_dependent_reorg): Remove.
- 	* config/sh/sh.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/sh/sh.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(sh_reorg): Renamed from machine_dependent_reorg.  Make static.
- 	Remove parameter.
- 	(sh_output_mi_thunk): Call sh_reorg directly.
- 	* config/sh/sh.md: Update comment.
- 
- 	* config/stormy16/stormy16.h (MACHINE_DEPENDENT_REORG): Remove
- 	commented-out definition.
- 
- 	* config/v850/v850-protos.h (v850_reorg): Remove declaration.
- 	* config/v850/v850.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/v850/v850.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(v850_reorg): Make static.  Remove parameter.
- 
- 	* config/xtensa/xtensa-protos.h (xtensa_reorg): Remove declaration.
- 	* config/xtensa/xtensa.h (MACHINE_DEPENDENT_REORG): Remove.
- 	* config/xtensa/xtensa.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- 	(xtensa_reorg): Make static.  Remove parameter.
- 
- 	* doc/tm.texi (MACHINE_DEPENDENT_REORG): Remove.
- 	(TARGET_MACHINE_DEPENDENT_REORG): Document.
- 
- 2003-05-13  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (duplicate_decls): Re-invoke make_decl_rtl if
- 	the old decl had instantiated DECL_RTL.
- 
- 2003-05-13  Mike Stump  <mrs@apple.com>
- 
- 	* doc/invoke.texi (Option Summary): Kill off documentation for -$.
- 
- 2003-05-13  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/sysv4.h (OUTPUT_ASM_ALIGNED_LOCAL): Expect
- 	HOST_WIDE_INT argument.
- 
- 2003-05-13  Jason Merrill  <jason@redhat.com>
- 
- 	* tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
- 
- 	* tree.c (iterative_hash_expr): New fn.
- 
- 	* c-semantics.c (emit_local_var): Don't mess with temp slots if
- 	there's no initializer.
- 
- 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* final.c (final_scan_insn): Apply the effects of frame-related
- 	delay slot insns before emitting a delayed branch.
- 
- 2003-05-13  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mcore/mcore.md (jump): Use emit_jump_insn.
- 
- 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Second
- 	parameter of ASM_OUTPUT_SKIP must have type unsigned HOST_WIDE_INT.
- 
- 2003-05-12  DJ Delorie  <dj@redhat.com>
- 
- 	* expr.c (move_by_pieces): Honor the alignment of TO and FROM.
- 	(emit_push_insn): Don't use push when the source alignment is less
- 	than the stack's push rounding.
- 
- 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* diagnostic.c (output_format): Add support for %m.
- 	(output_printf, output_verbatim, diagnostic_set_info,
- 	verbatim): Set err_no field of the text_info structure being
- 	initialized.
- 	(fatal_io_error): Delete function.
- 	* diagnostic.h (text_info): Add err_no field.
- 	* toplev.h (fatal_io_error): Delete prototype.
- 
- 	* c-opts.c, c-pch.c, dwarfout.c, ggc-common.c, ggc-page.c, graph.c
- 	* toplev.c, config/mips/mips.c, config/rs6000/host-darwin.c
- 	* objc/objc-act.c: Replace all calls to fatal_io_error with
- 	calls to fatal_error; add ": %m" to the end of all the affected
- 	error messages.
- 
- 2003-05-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varasm.c (notice_rtl_inlining_of_deferred_constant): New function.
- 	* rtl.h: Prototype it.
- 	* integrate.c (copy_rtx_and_substitute <SYMBOL_REF>): Call it
- 	when appropriate.
- 
- 2003-05-13  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("*iordi3_oi"): Do not mark commutative.
- 	("*iorsi3_oi"): Likewise.
- 
- 2003-05-13  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (compare_scc): Use shorter sequence for EQ case.
- 	(ior_scc_scc_cmp, and_scc_scc_cmp): New insn-and-split patterns.
- 	(and_scc_scc): Ensure split only applies when there is a dominance
- 	of the comparisons.
- 	(and_scc_scc_nodom): New insn-and-split pattern.
- 
- 2003-05-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* unwind-dw2.c (uw_init_context_1): Don't pass &outer_cfa directly
- 	to _Unwind_SetGRPtr().
- 
- 2003-05-13  Michael Eager <eager@mvista.com>
- 
- 	* Makefile.in: Initialize program_transform_cross_name from
- 	@program_transform_name@ instead of target_alias.
- 
- 2003-05-12  Janis Johnson  <janis187@us.ibm.com>
- 	    Alan Modra  <amodra@bigpond.net.au>
- 	    Jakub Jelinek  <jakub@redhat.com>
- 
- 	* configure.in (HAVE_AS_TLS): Add powerpc and powerpc64 tests.
- 	* configure: Rebuild.
- 	* config/rs6000/rs6000-protos.h: Update.
- 	* config/rs6000/rs6000.c (rs6000_tls_size): New.
- 	(rs6000_tls_size_string): New.
- 	(rs6000_parse_tls_size_option): New.
- 	(rs6000_legitimize_tls_address): New.
- 	(rs6000_tls_get_addr): New.
- 	(rs6000_got_sym): New.
- 	(rs6000_tls_symbol_ref): New.
- 	(rs6000_tls_symbol_ref_1): New.
- 	(rs6000_get_some_local_dynamic_name): New.
- 	(rs6000_get_some_local_dynamic_name_1): New.
- 	(TARGET_HAVE_TLS): New.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): New.
- 	(rs6000_override_options): Handle -mtls-size option.
- 	(constant_pool_expr_1): Handle TLS symbols.
- 	(rs6000_legitimize_address): Handle TLS symbols.
- 	(rs6000_tls_referenced_p): New.
- 	(rs6000_legitimate_address): Handle TLS symbols.
- 	(rs6000_emit_move): Handle TLS symbols.
- 	(print_operand): Handle TLS symbols.
- 	(uses_TOC): Handle TLS symbols.
- 	(rs6000_emit_prologue): Use symbol for unspec constant.
- 	* config/rs6000/rs6000.h (HAVE_AS_TLS): New.
- 	(some_ld_name): New.
- 	(LEGITIMATE_CONSTANT_P): Handle TLS symbols.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Handle TLS symbols.
- 	(PREDICATE_CODES): Add rs6000_tls_symbol_ref.
- 	* config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
- 	Support TLS.
- 	(tls_gd_32, tls_gd_64, tls_ld_32, tls_ld_64, tls_dtprel_32,
- 	tls_dtprel_64, tls_dtprel_ha_32, tls_dtprel_ha_64, tls_dtprel_lo_32,
- 	tls_dtprel_lo_64, tls_got_dtprel_32, tls_got_dtprel_64, tls_tprel_32,
- 	tls_tprel_64, tls_tprel_ha_32, tls_tprel_ha_64, tls_tprel_lo_32,
- 	tls_tprel_lo_64, tls_got_tprel_32, tls_got_tprel_64, tls_tls_32,
- 	tls_tls_64): New.
- 	* config/rs6000/sysv4.h (SUBTARGET_OPTIONS): Add tls_size.
- 
- 2003-05-12  Neil Booth  <neil@cat.daikokuya.co.uk>
- 
- 	* Makefile.in (stage2_build, stage3_build, stage4_build):
- 	Set BUILD_CC to the same as CC.
- 
- 2003-05-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* alloc-pool.c (last_id): Put in ENABLE_CHECKING guards.
- 
- 2003-05-12  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/ia64.c (ia64_function_ok_for_sibcall): Mark 'exp'
- 	as unused.
- 	(bundling): Initialize 'pos'.
- 	(ia64_expand_builtin): Initialize 'rmode'.
- 
- 2003-05-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (ASM_OUTPUT_SKIP): Accept HOST_WIDE_INT.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Same.
- 	(ASM_OUTPUT_LOCAL): Same.
- 
- Mon May 12 21:53:29 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* varasm.c (output_constant):  Fix underflow.
- 
- 2003-05-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR other/10745
- 	* configure.in: Correct detection of GNU ld version number.
- 	* configure: Regenerated.
- 
- 2003-05-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* diagnostic.c (diagnostic_for_decl): Take a
- 	diagnostic_context argument.  Restructure to be consistent
- 	with diagnostic_report_diagnostic.
- 	(diagnostic_count_diagnostic): Now static.  Take a
- 	diagnostic_info argument, not just a diagnostic_t.  Some code
- 	moved here from internal_error.  Move a case label for
- 	clarity.
- 	(diagnostic_action_after_output): New function.  Code moved
- 	here from internal_error and fatal_error.
- 	(bug_report_request): New #define so that this text appears in
- 	only one place.
- 	(diagnostic_report_diagnostic): Update to match changes to
- 	diagnostic_count_diagnostic.  Call diagnostic_action_after_output.
- 	(diagnostic_set_info): Call gettext here.
- 
- 	(pedwarn): Update comment.  Don't call gettext here.
- 	(sorry): Use report_diagnostic.  Don't call gettext here.
- 	(fatal_error): Remove final fnotice and exit, but call
- 	real_abort to prevent warnings about noreturn function returning.
- 	(internal_error): Likewise.  Don't do ICE suppression here nor
- 	call context->internal_error.
- 	(warning_with_decl): Suppress for decls in system headers.
- 	Adjust call to diagnostic_for_decl.
- 	(pedwarn_with_decl): Likewise.
- 	(error_with_decl): Adjust call to diagnostic_for_decl.
- 	(error_recursion): Use bug_report_request.
- 
- 	* diagnostic.h: Remove prototype of diagnostic_count_diagnostic.
- 	* objc/objc-act.c (error_with_ivar, warn_with_method): Don't call
- 	diagnostic_count_diagnostic.
- 
- 2003-05-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa64-hpux.h (ASM_OUTPUT_ALIGNED_COMMON): Correct last patch.
- 
- Mon May 12 15:57:54 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* rs6000/darwin.h (ASM_OUTPUT_COMMON): Accept HOST_WIDE_INT
- 	* mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Fix warning.
- 	* mips/mips.h (ASM_OUTPUT_SKIP):  Fix typo in the previous patch.
- 
- 2003-05-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* doc/rtl.texi: Document zero_extract as a valid destination
- 	of a set insn.
- 
- 2003-05-12  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm/lib1funcs.asm (LSYM): Define -- on ELF prefix a local symbol with
- 	'.'.  Change all local symbol definitions and references to use LSYM.
- 
- Mon May 12 11:32:53 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* expr.h (assemble_static_space): Update prototype.
- 	* output.h (assemble_zeros, output_constant): Likewise.
- 	* elfos.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): Make it 64bit clean
- 	* alpha.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASK_OUTPUT_LOCAL): Make
- 	it 64bit clean.
- 	* elf.h (ASM_OTUPUT_SKIP): Likewise.
- 	* unicosmk.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMM): Likewise.
- 	* arm.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Expect HOST_WIDE_INT operand.
- 	* aout.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Expect HOST_WIDE_INT operand.
- 	* unknown-elf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Expect HOST_WIDE_INT operand.
- 	* avr.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP): Expect
- 	HOST_WIDE_INT operand.
- 	* c4x.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP,
- 	ASM_OUTPUT_BSS): Expect HOST_WIDE_INT operand.
- 	* aout.h (ASM_OTUPUT_SKIP): Likewise.
- 	* cris.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
- 	* darwin.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON): Likewise.
- 	* dsp16xx.h (ASM_OTUPUT_SKIP): Likewise.
- 	* frv.h (ASM_OTUPUT_SKIP): Likewise.
- 	* h8300.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_LOCAL): Likewise.
- 	* 370.h (ASM_OTUPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
- 	Make it 64bit
- 	clean.
- 	* att.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand.
- 	* bsd.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
- 	Make it 64bit clean.
- 	* darwin.h (ASM_OUTPUT_SKIP): Make it 64bit clean..
- 	* sco5.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Expect
- 	HOST_WIDE_INT operand
- 	* svr3gas.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
- 	Expect HOST_WIDE_INT operand
- 	* sysv3.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT operand
- 	* i960.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON,
- 	ASM_OUTPUT_ALIGNED_LOCAL): Expect HOST_WIDE_INT operand
- 	* ip2k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Likewise.
- 	* m32r.h (ASM_OUTPUT_COMMON): Likewise.
- 	* 3b1.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Likewise.
- 	* amix.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
- 	* crds.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
- 	* hp320.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* m68k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
- 	Likewise.
- 	* m68kelf.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* m68kv4.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* mot3300.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
- 	* netbsd-elf.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* sgs.h (ASM_OUTPUT_SKIP): Likewise.
- 	* tower-as.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON,
- 	ASM_OUTPUT_SKIP): Likewise.
- 	* m88k.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON, ASM_OUTPUT_SKIP):
- 	Likewise.
- 	* mcore.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_BSS, ASM_OUTPUT_SKIP): Likewise.
- 	* iris.h (ASM_OUTPUT_LOCAL): Likewise.
- 	* mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
- 	* ns32k.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL,
- 	ASM_OUTPUT_SKIP): Make it 64bit clean.
- 	* pa-pro-end.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL):
- 	Make it 64bit clean.
- 	* pa.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL,
- 	ASM_OUTPUT_SKIP): Make it 64bit clean.
- 	* hpux.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_ALIGNED_LOCAL): Make it
- 	64bit clean.
- 	* romp.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
- 	HOST_WIDE_INT argument
- 	* s390.h (ASM_OUTPUT_SKIP): Expect HOST_WIDE_INT argument.
- 	* sh.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Expect
- 	HOST_WIDE_INT argument
- 	* sol2.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
- 	* sparc.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON): HOST_WIDE_INT argument
- 	* svr3.h (ASM_OUTPUT_SKIP): HOST_WIDE_INT argument
- 	* vax.h (ASM_OUTPUT_SKIP, ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):
- 	HOST_WIDE_INT argument
- 	* vaxv.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
- 	* xtensa.h (ASM_OUTPUT_LOCAL): HOST_WIDE_INT argument
- 	* varasm.c (asm_output_bss, asm_output_aligned_bss,
- 	asm_emit_uninitialized, assemble_zeros, assemble_static_space):
- 	HOST_WIDE_INT argument
- 
- 2003-05-10  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* cgraphunit.c (cgraph_create_edges): Drop walk_tree in
- 	favor of walk_tree_without_duplicates.  Add comments.
- 
- 2003-05-12  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* alloc-pool.h (ALLOC_POOL_ID_TYPE): New type.
- 	(struct alloc_pool_def): New element 'id'.
- 	* alloc-pool.c (fancy_abort): Extern function prototype.
- 	(abort): Macro which uses fancy_abort.
- 	(struct allocation_object_def): New structure.
- 	(ALLOCATION_OBJECT_PTR_FROM_USER_PTR): New macro.
- 	(USER_PTR_FROM_ALLOCATION_OBJECT_PTR): New macro.
- 	(last_id): New variable.
- 	(create_alloc_pool): Add the offset of u.data to size of element,
- 	increase and use last_id.
- 	(free_alloc_pool): Do the checking only when ENABLE_CHECKING.
- 	(pool_alloc): Likewise. Set ID for elements.
- 	(pool_free): Check whether the PTR was allocated from POOL.
- 
- 2003-05-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/10675
- 	* c-decl.c: Include hashtab.h.
- 	(detect_field_duplicates): New.
- 	(finish_struct): Use it.
- 	* Makefile.in (c-decl.o): Update.
- 	* c-parse.in (structsp_attr): Nreverse component_decl_list results.
- 	(component_decl_list, component_decl_list2,
- 	components, components_notype): Build list in reverse order.
- 	(enumlist): Clarify docs.  Use TREE_CHAIN not chainon.
- 
- 	* tree.c (chainon): Special case op2 null as well.
- 	Reorg for clarity.
- 
- 2003-05-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.md (logsf2, logdf2, logxf2, logdf2): New patterns
- 	to implement log, logf and logl built-ins as inline x87 intrinsics.
- 	(UNSPEC_FYL2X): New unspec to represent x87's "fyl2x" instruction.
- 	(*fyl2x_sfxf3, *fyl2x_dfxf3, *fyl2x_xf3, *fyl2x_tfxf3): New insn
- 	patterns for x87's "fyl2x" instruction, used by log?f2 patterns.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Handle UNSPEC_FYL2X like
- 	UNSPEC_FPATAN, i.e. replaces two stack operands with single result.
- 
- 2003-05-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (out_object_file): Don't set -Wno-error for ${cpu}.o.
- 
- 	* sparc.c (print_operand): Fix uninitialized warning.
- 
- 2003-05-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopanal.c (num_loop_insns, average_num_loop_insns): Count only
- 	real insns.
- 	* loop-unroll.c (unroll_loop_runtime_iterations): Remove superfluous
- 	condition.
- 
- 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
- 
- 	* doc/cpp.texi: Fix typos.
- 
- 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_function_arg_float): New function.
- 	(s390_function_arg_pass_by_reference): Use it.
- 	(s390_function_arg_advance): Likewise.
- 	(s390_function_arg): Likewise.
- 	(s390_va_arg): Likewise
- 
- 2003-05-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* coverage.h (coverage_counter_alloc): New function.
- 	* function.h (struct function): Remove arc_profile flag.
- 	* coverage.c (fn_ident): Remove.
- 	(fn_b_ctrs, no_coverage): New.
- 	(get_coverage_counts): Use current_function_funcdef_no.
- 	(coverage_counter_alloc): New.
- 	(coverage_counter_ref): Adjust.
- 	(coverage_begin_output): Check no_coverage. Use
- 	current_function_funcdef_no.
- 	(coverage_end_function): Likewise.
- 	(create_coverage): Set no_coverage. Set DECL_UNINLINEABLE rather
- 	than clearing flag_inline_functions. Do not clear arc_profile
- 	flag.
- 	* function.c (prepare_function_start): Do not set arc_profile
- 	flag.
- 	* profile.c (instrument_edges): Return number of instrumented
- 	edges. Use a for loop.
- 	(branch_prob): Call coverage_counter_alloc. Make BB_TO_GCOV_INDEX
- 	local to here and simplify. Use profile_arc_flag not arc_profile
- 	flag.
- 	(find_spanning_tree): Reformat.
- 	* toplev.c (rest_of_compilation): Use profile_arc_flags and
- 	flag_test_coverage rather than arc_profile flag.
- 
- 2003-05-11  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* doc/invoke.texi (Wctor-dtor-privacy): Update documentation.
- 
- 2003-05-11  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* varasm.c (copy_constant, case VIEW_CONVERT_EXPR): New case.
- 
- 2003-05-11  Bruno Haible  <bruno@clisp.org>
- 
- 	* cppfiles.c (find_or_create_entry): Preserve errno.
- 
- 2003-05-11  Neil Booth  <neil@cat.daikokuya.co.uk>
- 
- 	* c-cppbuiltin.c (c_cpp_builtins): Move __STDC_HOSTED__ into
- 	cpplib as it's a Standard Predefined Macro.
- 	* c-opts.c (finish_options): Pass flag_hosted to cpp_init_builtins.
- 	* cppinit.c (_cpp_init_builtins): Take HOSTED.  Define
- 	__STDC_HOSTED__ appropriately.
- 	* cpplib.h (_cpp_init_builtins): Update.
- 	* fix-header.c (read_scan_file): Update.
- 	* doc/cpp.texi, doc/cppopts.texi: Update documentation.
- 
- 2003-05-11  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	PR C++/689
- 	PR C++/9257
- 	* c-opts.c (c_common_decode_option): Don't set
- 	warn_ctor_dtor_privacy wen -Wall.
- 	* c-common.c (warn_ctor_dtor_privacy): Don't turn on by default.
- 
- 2003-05-10  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload1.c (reload_cse_move2add): Revert part of my 2003-05-09's
- 	patch.
- 
- 2003-05-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* diagnostic.c: Reorder functions for clarity, putting all the
- 	functions in the "error" family next to each other, and
- 	likewise all the functions in the "error_with_decl" family.
- 	Some other routines were moved too.  Add comments.
- 	(vbuild_message_string): Fold into sole caller.
- 
- 
- 2003-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* except.c (EH_RETURN_STACKADJ_RTX): Do not define.
- 	(EH_RETURN_HANDLER_RTX): Likewise.
- 	(expand_builtin_eh_return): Do not copy stack adjustment
- 	if EH_RETURN_STACKADJ_RTX is not defined.
- 	(expand_eh_return): Likewise.  Also, do not pass stack
- 	adjustment as argument to the eh_return pattern.
- 	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just
- 	because EH_RETURN_STACKADJ_RTX is not defined.
- 	* unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX
- 	is not defined, treat stack pointer like a regular register.
- 	(uw_init_context_1): Set up fake initial stack pointer register.
- 	(uw_install_context_1): Do not compute stack adjustment if
- 	EH_RETURN_STACKADJ_RTX is not defined.
- 
- 	* config/i386/i386.md ("eh_return"): Remove first argument.
- 	* config/mips/mips.md ("eh_return"): Likewise.
- 	* config/rs6000/rs6000.md ("eh_return"): Likewise.
- 	* config/sh/sh.md ("eh_return"): Likewise.
- 
- 	* config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove.
- 
- 2003-05-10  Alexander Aganichev  <aaganichev@yandex.ru>
- 
- 	* config/i386/i386.h (MODES_TIEABLE_P): Fix typo.
- 
- 2003-05-10  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* defaults.h (GCOV_TYPE_SIZE): Remove.
- 	* gcov-io.h (gcov_type): Set to specific mode int on target.
- 	(gcov_unsigned_t, gcov_position_t): New.
- 	(GCOV_TYPE_NODE): New.
- 	(GCOV_TAG_SUMMARY_LENGTH): Adjust.
- 	(GCOV_COUNTERS_SUMMABLE): New.
- 	(gcov_ctr_summary, gcov_sumary, gcov_fn_info, gcov_merge_fn,
- 	gcov_ctr_info, gcov_info): Adjust types.
- 	(gcov_var): Adjust types.
- 	(gcov_write_unsigned, gcov_write_tag,
- 	gcov_write_length, gcov_write_tag_length, gcov_write_summary,
- 	gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
- 	(gcov_position, gcov_sync, gcov_seek): Adjust gcov types.
- 	* gcov-io.c (gcov_write_unsigned, gcov_write_tag,
- 	gcov_write_length, gcov_write_tag_length, gcov_write_summary,
- 	gcov_read_unsigned, gcov_read_summary): Adjust gcov types.
- 	* libgcov.c (gcov_crc32, gcov_version_mismatch, gcov_exit,
- 	__gcov_init, __gcov_merge_add): Adjust gcov types.
- 	* coverage.c (ctr_merge_functions): Constify.
- 	(ctr_names): New.
- 	(read_counts_file): Adjust gcov types. Only summarize & merge
- 	summable counters.
- 	(coverage_counter_ref): Use GCOV_TYPE_NODE.
- 	(build_fn_info_type, build_fn_info_value, build_ctr_info_type,
- 	build_ctr_info_value, build_gcov_info): Adjust types.
- 	* profile.c (branch_prob): Adjust gcov types.
- 	* gcov_dump (dump_file): Adjust gcov types.
- 
- 2003-05-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (DOM_CC_X_AND_Y, DOM_CC_NX_OR_Y, DOM_CC_X_OR_Y): New
- 	constants.
- 	(ior_scc_scc, and_scc_scc): New insn_and_split patterns.
- 	* arm.c (arm_select_dominance_cc_mode): Renamed from
- 	select_dominance_cc_mode, no-longer static.  Use DOM_CC... constants.
- 	Callers updated.
- 	* arm-protos.h (arm_select_dominance_cc_mode): Add prototype.
- 
- 2003-05-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/alpha/alpha.c (alpha_start_function): Declare frame_size
- 	as unsigned to avoid signed/unsigned comparison warnings.
- 
- 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (xtensa_emit_loop_end): Only use "nop.n"
- 	instruction if the Xtensa density option is enabled.
- 
- 2003-05-09  Matt Kraai <kraai@alumni.cmu.edu>
- 
-        * mklibgcc.in: Remove extra quotes.
- 
- 2003-05-09  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/rs6000/rs6000.c (spe_init_builtins): Fix typo in creation
- 	of int_ftype_void.
- 
- 2003-05-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload1.c (reload_cse_move2add): Don't turn an implicit
- 	truncation into a self-set in the narrow mode.
- 
- 2003-05-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (clzsi2): The CLZ instruction is predicable.
- 
- 2003-05-09  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c: Formatting.
- 
- 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-dump.c (dequeue_and_dump): Use CONSTRUCTOR_ELTS,
- 	instead of TREE_OPERAND to access the operand of a
- 	CONSTRUCTOR node.
- 
- 2003-05-09  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* tree-dump.c (dequeue_and_dump): CONSTRUCTOR nodes contain only
- 	one operand.
- 
- 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* toplev.h (warning_with_file_and_line): Don't declare.
- 	(error_with_file_and_line): Likewise.
- 	* diagnostic.c (error_with_file_and_line): Remove.
- 	(warning_with_file_and_line): Likewise.
- 
- 2003-05-09  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* c-parse.in (if_stmt_locus): New object.
- 	(if_prefix rule): Use it.  Don't use warning_with_file_and_line.
- 	(select_or_iter_stmt rule): Likewise.
- 	(if_stmt_file): Remove.
- 	(if_stmt_line): Likewise.
- 	* jump.c: include "diagnostic.h"
- 	(never_reached_warning): Don't use warning_with_file_and_line.
- 	* Makefile.in (jump.o): Add dependce on diagnostic.h
- 
- 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* expr.c (move_block_from_reg): Remove "size" parm.  Localize vars.
- 	Move code handling pieces not larger than a word to..
- 	* function.c (assign_parms): ..here, but use change_address instead
- 	of adjust_address and operand_subword, and expand_binop instead of
- 	expand_shift.  Adjust calls to move_block_from_reg.
- 	* expr.h (move_block_from_reg): Update declaration.
- 	(copy_blkmode_from_reg): Formatting.
- 	* Makefile.in (function.o): Add $(OPTABS_H) to deps.
- 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust
- 	move_block_from_reg calls.
- 	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
- 	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
- 	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
- 	* config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise.
- 	* config/mips/mips.c (mips_setup_incoming_varargs): Likewise.
- 	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
- 	* config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise.
- 	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
- 	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
- 
- 2003-05-08  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_builtin_va_arg): Fix
- 	to handle arguments for which MUST_PASS_IN_STACK is true (e.g.,
- 	variable-sized types).
- 	(xstormy16_function_arg): New.  Pass them that way too.
- 	* config/stormy16/stormy16-protos.h (xstormy16_function_arg): New.
- 	* config/stormy16/stormy16.h (FUNCTION_ARG): Call it.
- 
- 2003-05-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* mklibgcc.in: Use mkinstalldirs when installing multilib
- 	directories.
- 
- 2003-05-08  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (gen_block_redirect, split_branches): Use CODE_FOR_jump_compact
- 	instead of CODE_FOR_jump
- 
- 2003-05-08  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* objc/objc-act.c (error_with_ivar): Don't use
- 	error_with_file_and_line.
- 	(warn_with_method): Don't use warning_with_file_and_line.
- 
- 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* stmt.c (emit_locus): New macro.
- 	(emit_filename): Remove.
- 	(emit_lineno): Likewise.
- 	(struct stmt_status): Replace members x_emit_filename and
- 	x_emit_lineno with x_emit_locus.
- 	(set_file_and_line_for_stmt): Adjust.
- 	(expand_expr_stmt_value): Don't use warning_with_file_and_line.
- 	(warn_if_unused_value): Likewise.
- 	(check_seenlabel): Likewise.
- 
- 2003-05-08  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-decl.c (define_label): Tidy.  Don't use any of
- 	error_with_file_and_line or warning_with_file_and_file.
- 	(pending_xref_error): Likewise.
- 	(store_parm_decls): Likewise.
- 	(current_function_prototype_locus): New object.  Package from
- 	current_function_prototype_file and current_function_prototype_line.
- 	(start_function): Use it.
- 	(current_function_prototype_file): Remove.
- 	(current_function_prototype_line): Remove;
- 
- 2003-05-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (readonly_data_expr): New function.
- 	(expand_builtin_memmove): Optimize any rodata source, not just
- 	strings.
- 
- 2003-05-07  David Mosberger <davidm@hpl.hp.com>
- 
- 	* unwind-libunwind.c (_Unwind_FindEnclosingFunction): New.
- 
- 2003-05-07  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_split_long_move): Fix base register
- 	mode for XFmode splits for TARGET_64BIT.
- 
- 2003-05-07  Richard Henderson  <rth@redhat.com>
- 
- 	* sched-ebb.c (schedule_ebb): Supply the correct starting
- 	block number to save_line_notes.
- 
- 2003-05-07  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (enum dump_file_index): Swap DFI_ce3, DFI_bbro.
- 	(dump_file): Likewise.
- 
- 2003-05-07  David Mosberger <davidm@hpl.hp.com>
- 
- 	* config/ia64/crtbegin.asm (__do_jv_register_classes): Don't
- 	forget to preserve gp.
- 	* config/ia64/crtend.asm (__do_global_ctors_au): Ditto.
- 
- 	* config/ia64/crtbegin.asm (__do_jv_register_classes): Add missing
- 	.prologue directive.
- 	Use .skip instead of data8 for .bss section to make Intel
- 	Assembler (ias) happy.  Minor whitespace fixups.  Make "nop 0"
- 	explicit in the .mib bundles and remove the unnecessary stop
- 	bits.  Replace local labels with normal labels, to make ias
- 	happy.  Don't register __do_global_ctors_aux here, do it in
- 	crtend.asm instead.
- 
- 	* config/ia64/crtend.asm [HAVE_INIT_FINI_ARRAY]: Register
- 	__do_global_ctors_aux in .init_array section instead of
- 	declaring it as a hidden global.  Replace local labels with
- 	ordinary labels to make ias happy.
- 
- 2003-05-07  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/10570
- 	* except.c: Revert 04-01 and 04-02 forced-unwind changes.
- 	* flags.h, toplev.c, doc/invoke.texi: Likewise.
- 
- 	* unwind-dw2.c (_Unwind_GetCFA): Fix ptr->int conversion warning.
- 	* unwind.inc (_Unwind_DeleteException): Check for null
- 	exception_cleanup.
- 
- 	* unwind-sjlj.c (_Unwind_SjLj_Resume_or_Rethrow): New.
- 	* unwind.inc (_Unwind_Resume_or_Rethrow): New.
- 	* unwind.h: Declare them.
- 	* libgcc-std.ver (GCC_3.3): Export them.
- 
- 2003-05-07  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2.c (_Unwind_GetCFA): Cast pointer to _Unwind_Ptr,
- 	not _Unwind_Word.
- 
- 2003-05-07  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* stmt.c (force_label_rtx): New function, based on logic
- 	formerly found in expand_expr.
- 	* expr.h: Prototype it.
- 	* expr.c (expand_expr <LABEL_DECL>): Use force_label_rtx if
- 	appropriate.
- 	* varasm.c (decode_addr_const <LABEL_DECL>): Use force_label_rtx.
- 
- 	* print-tree.c (debug_tree): Free the table after we're done
- 	with it.  Use putc.
- 
- 2003-05-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Reverse arguments for __ev_subfw.
- 	Unreverse arguments for __ev_subw.
- 
- 	* config/rs6000/spe.md (evsubfw): Reverse arguments of assembly.
- 
- 2003-05-07  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/stormy16/stormy-abi: Update to include
- 	R_XSTORMY16_FPTR16, R_XSTORMY16_LO16, R_XSTORMY16_HI16 and
- 	R_XSTORMY16_12 relocs.
- 
- 2003-05-07  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* function.c (assign_parms): Correct reversed reg_parm_stack_space
- 	test.  Add partial in-regs size to stack_args_size.
- 
- 2003-05-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/invoke.texi (Warning Options): Mark -Wmissing-declarations
- 	as a C only option.
- 
- 2003-05-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h (GCOV_LOCKED): New #define.
- 	(GCOV_LINKAGE): Make sure it is #defined.
- 	(gcov_write_string, gcov_write_tag, gcov_write_length,
- 	gcov_read_string, gcov_time): Poison in libgcov.
- 	(gcov_seek_end): Remove.
- 	(gcov_write_tag_length, gcov_sync, gcov_rewrite): New.
- 	(GCOV_TAG_FUNCTION_LENGTH, GCOV_TAG_BLOCKS_LENGTH,
- 	GCOV_TAG_ARCS_LENGTH, GCOV_TAG_COUNTER_LENGTH,
- 	GCOV_TAG_SUMMARY_LENGTH): New #defines.
- 	(gcov_write_tag, gcov_write_length): Not in libgcov.
- 	* gcov-io.c (gcov_open): Use GCOV_LOCKED.
- 	(gcov_write_tag, gcov_write_length): Not in libgcov.
- 	(gcov_write_tag_length): New.
- 	(gcov_write_summary): Use gcov_write_tag_length.
- 	* libgcov.c: Always #include gcov-io.h.
- 	(IN_LIBGCOV): -1 for inhibit_libc, +1 otherwise.
- 	(GCOV_LINKAGE): Define to nothing for L_gcov.
- 	(gcov_exit): Replace gcov_write_tag, gcov_write_length with
- 	gcov_write_tag_length. Use gcov_rewrite & gcov_seek.
- 	* gcov.c (read_graph_file): Replace gcov_seek by gcov_sync.
- 	(read_count_file): Likewise.
- 	* gcov-dump.c (dump_file): Likewise.
- 	* coverag.c (read_counts_file): Likewise.
- 
- 2003-05-06  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR other/10658
- 	* gcc.c (process_command): Update copyright date.
- 
- 2003-05-06  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* doc/install.texi (mips-*-*):  Add note about libstdc++.
- 
- 2003-05-06  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_function_profiler): New.
- 	* config/stormy16/stormy16.h (FUNCTION_PROFILER): Call it.
- 	* config/stormy16/stormy16-protos.h (xstormy16_function_profiler): New.
- 
- 2003-05-06    <neil@cat.daikokuya.co.uk>
- 
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Reject -Wmissing-prototypes
- 	and -Wstrict-prototypes if C++.
- 
- 2003-05-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/linuxspe.h: New file.
- 
- 	* config.gcc: Add powerpc-*-linux-gnuspe* target.
- 
- 2003-05-06  Richard Henderson  <rth@redhat.com>
- 
- 	* unwind-dw2.c (uw_update_context_1): Only set cfa as sp if
- 	previous frame didn't save sp.  Clear sp for next frame.
- 	(uw_install_context_1): Honor saved sp from frame.
- 
- 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_subword, mips_output_move): Declare.
- 	(mips_move_1word, mips_move_2words): Remove declaration.
- 	(mips_split_64bit_move_p, mips_split_64bit_move): Declare.
- 	(mips_restore_gp): Remove insn argument.
- 	* config/mips/mips.h (FP_REG_RTX_P): New macro.
- 	* config/mips/mips.c (volatile_buffer): Remove.
- 	(mips_subword, mips_split_64bit_move_p, mips_split_64bit_move): New.
- 	(mips_move_1word, mips_move_2words): Remove, replacing with...
- 	(mips_output_move): ...this new function.
- 	(mips_restore_gp): Remove insn argument.  Adjust for above changes.
- 	(print_operand): Make '%h' print %hi(op) for HIGH operands.  Remove
- 	handling of floating-point constants.  Handle zero CONST_DOUBLE
- 	arguments.
- 	(mips_annotate_frame_insn): Replace with...
- 	(mips_set_frame_expr): ...this, which just takes one argument.
- 	(mips_frame_set): Change the register argument to an rtx.
- 	(mips_emit_frame_related_store): Use mips_split_64bit_move_p to
- 	check whether moves should be split.  Use mips_split_64bit_move
- 	to split them.  Use mips_subword to generate the high and low
- 	parts of a paired FPR.  Adjust calls to frame_set and
- 	mips_set_frame_expr.
- 	(mips_expand_prologue): Simplify due to above changes.
- 	* config/mips/mips.md:	Add splitters for 64-bit moves on 32-bit
- 	targets, replacing xisting register-only versions.
- 	(UNSPEC_STORE_DF_HIGH): New unspec.
- 	(UNSPEC_LOAD_DF_LOW, UNSPEC_LOAD_DF_HIGH): New unspecs.
- 	(mulsi3_r4000, muldi3_internal2): Avoid use of mips_move_1word.
- 	(*paradoxical_extendhidi2): Remove.
- 	(movdi_internal, movdi_internal2): Use mips_output_move.
- 	(*movdi_internal2_mips16, movsi_internal, movcc): Likewise.
- 	(movsf_internal1, movsf_internal2): Likewise.
- 	(movdf_internal1a): Likewise.  Fix length and type of f <- G case.
- 	(movdf_internal1b): Use mips_output_move.  Fix type of f <- G case.
- 	(movdf_internal2): Use mips_output_move.  Fix lengths of FPR moves.
- 	Add m <- G alternative.
- 	(load_df_low, load_df_high, store_df_low): New patterns.
- 	(movhi_internal): Use @ template instead of calling a function.
- 	Remove unnecessary 'z' alternatives.
- 	(movqi_internal): Likewise.
- 	(exception_receiver): Update call to mips_restore_gp.
- 
- 2003-05-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Remove.
- 	(mips_delegitimize_address): Declare.
- 	* config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine.
- 	(FIND_BASE_TERM): Define.
- 	* config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Defi~e.
- 	(mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr.
- 	Handle small-data addresses.
- 
- 2003-05-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_powi): New function to calculate the value of
- 	a real raised to an integer power, i.e. pow(x,n) for int n.
- 	(real_sqrt): Convert to using the faster do_add, do_multiply
- 	and do_divide API for consistency with the rest of real.c.
- 	* real.h (real_powi): Prototype here.
- 	* builtins.c (fold_builtin):  Avoid local variable mode when
- 	evaluating sqrt at compile time.  Attempt to evaluate pow at
- 	compile-time, by checking for an integral exponent.
- 
- 2003-05-05  Richard Henderson  <rth@redhat.com>
- 
- 	* doc/extend.texi (Variable Attributes): Re-sort table and tidy.
- 
- 2003-05-05  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/rs6000/sysv4.h (CPP_OS_FREEBSD_SPEC): Add __ELF__ to mirror
- 	other FreeBSD ports.
- 	(LINK_OS_FREEBSD_SPEC): Mirror conventions on other FreeBSD ports.
- 	(_LITTLE_ENDIAN): Use __LITTLE_ENDIAN__ instead.
- 
- 2003-05-05  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* Makefile.in: (site.exp): Add ALT_CC_UNDER_TEST, add quotes around
- 	expanded variables.
- 	* doc/sourcebuild.texi (C tests): Describe gcc.dg/compat tests.
- 
- 2003-05-05  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* rtl.h (STRING_POOL_ADDRESS_P): Rename to DEFERRED_CONSTANT_P.
- 	* varasm.c (struct varasm_status): Add deferred_constants field.
- 	(n_deferred_strings): Delete variable.
- 	(n_deferred_constants): New #define.
- 	(struct constant_descriptor_tree): Kill next and label fields.
- 	(const_hash_table, MAX_HASH_TABLE): Delete.
- 	(const_desc_htab): New static variable.
- 	(const_hash): Rename const_desc_hash, and make it fit the
- 	hashtab.h interface.
- 	(const_desc_eq): New.
- 	(const_hash_1, compare_constant): Const-ify arguments.
- 	(build_constant_desc): Set DEFERRED_CONSTANT_P on all new
- 	SYMBOL_REFs.  Clarify comments.  Don't set desc->label.
- 	(output_constant_def): Do the lookup/insert using the
- 	hashtab.h interface.  Don't muck with n_deferred_constants or
- 	DEFERRED_CONSTANT_P here.
- 	Always call maybe_output_constant_def_contents.
- 	(maybe_output_constant_def_contents): Take a pointer to the
- 	descriptor, not the EXP and RTL separately.  Return
- 	immediately if this constant is not deferred.  Defer output of
- 	everything, except writable string constants.  Update
- 	n_deferred_constants here.
- 	(output_constant_def_contents): Now takes just one argument,
- 	an rtx.  Clear DEFERRED_CONSTANT_P here.
- 	(mark_constant_pool): Update for rename of n_deferred_strings.
- 	(mark_constant): Don't clear DEFERRED_CONSTANT_P here.
- 
- 	(init_varasm_status): Clear p->deferred_constants.
- 	(init_varasm_once): Call htab_create_ggc for const_desc_htab.
- 
- 2003-05-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_stpcpy): Only expand when the length
- 	of the source string can be evaluated at compile-time.
- 
- 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/gcc.c-torture/compile/simd-6.c: New.
- 
- 	* c-typeck.c (digest_init): Handle arrays of vector constants.
- 
- 2003-05-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.c (expand_builtin_mempcpy): New function.
- 	(expand_builtin_stpcpy): Optimize stpcpy whose return value is
- 	ignored into strcpy no matter what arguments it has.
- 	(expand_builtin) <case BUILT_IN_MEMPCPY>: Call
- 	expand_builtin_mempcpy.
- 
- 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/gcc.dg/20030505.c: New.
- 
- 	* c-typeck.c (convert_for_assignment): Opaque pointers can
- 	interconvert.
- 
- 	* config/rs6000/rs6000.c: New global opaque_p_V2SI_type_node.
- 	(rs6000_init_builtins): Initialize opaque_p_V2SI_type_node.
- 	(spe_init_builtins): Rename all pv2si_type_node to
- 	opaque_p_V2SI_type_node.
- 	Remove declaration of pv2si_type_node.
- 	(is_ev64_opaque_type): Accept opaque pointers.
- 
- 2003-05-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (validate_condition_mode): Use
- 	flag_finite_math_only.
- 	(rs6000_reverse_condition): Never return UNKNOWN; use
- 	flag_finite_math_only.
- 	(rs6000_generate_compare): Use flag_finite_math_only.
- 	(rs6000_emit_cmove): Handle UNLE.  Support UNEQ under -ffast-math.
- 	Use HONOR_* rather than flag_unsafe_math_optimizations.  Correct
- 	UNGE and GT cases.  Handle UNEQ and LTGT when ! HONOR_NANS.
- 
- 	* toplev.c (check_global_declarations): Suppress not-used warning
- 	for volatile variables.
- 
- 2003-05-05  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* expr.c (expand_expr, case BIT_FIELD_REF): Refine the test forcing
- 	usage of bitfield instructions for mode1 != BLKmode, only ignoring
- 	SLOW_UNALIGNED_ACCESS if the field is not byte aligned.
- 	(store_field): Likewise.
- 
- 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Add
- 	evsubifw to builtins accepting 5-bit unsigned constants.
- 	(easy_vector_constant): Return if V1DImode.  Fix typo.
- 
- 2003-05-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Revert licensing change from last patch.
- 
- 2003-05-05  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.md (negsi2): Allocate the pseudos
- 	before reload, but defer the split until after.
- 	* config/stormy16/stormy16.c (xstormy16_expand_arith): Modify
- 	to match.
- 
- 2003-05-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add 440 support.
- 	* config/rs6000/vxworks.h (CC1_SPEC): Use -mcpu=440 for t440.
- 
- 2003-05-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* libgcov.c (__gcov_merge_add): Do not use gcov_type when inhibit_libc
- 	is defined.
- 
- 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
- 	ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
- 	ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
- 
- 	(ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
- 	ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
- 	ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
- 	New.
- 
- 	* builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
- 	(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
- 
- 	(BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
- 	BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
- 	BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
- 	BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
- 	BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
- 	BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
- 	BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
- 	BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
- 	BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
- 	BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
- 	BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
- 	BUILT_IN_STRDUP): Add "nonnull" attribute.
- 
- 2003-05-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_field): Don't clobber TEMP in shift: it might be
- 	a variable.
- 	(get_inner_reference): Don't go through a VIEW_CONVERT_EXPR
- 	whose purpose is to step up the alignment.
- 	(expand_expr, case ADDR_EXPR): Force LO_SUM into memory, just like REG.
- 
- 	* stor-layout.c (compute_record_mode): Relax restriction
- 	on fields crossing word boundaries forcing BLKmode.
- 
- 2003-05-04  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppinit.c (cpp_create_reader, post_options): Warn about
- 	trigraphs unless explicity set or -trigraphs.
- 	* cpplex.c (warn_in_comment): New.
- 	(_cpp_process_line_notes): Better handling of -Wtrigraphs.
- 	(_cpp_skip_block_comment): Add call to _cpp_process_line_notes.
- 	* doc/cppopts.texi, doc/cpp.texi: Update.
- 
- 2003-05-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (LIBGCOV): Add _gcov_merge_add.
- 	* gcov-io.h: Make GCOV_LINKAGE extern in libgcov and prevent resulting
- 	namespace clash.
- 	(GCOV_MERGE_FUNCTIONS): New.
- 	(gcov_merge_fn): Declare.
- 	(struct gcov_ctr_info): New field "merge".
- 	(__gcov_merge_add): Declare.
- 	* coverage.c (ctr_merge_functions): New.
- 	(build_ctr_info_type, build_ctr_info_value): Initialize merge field
- 	of gcov_ctr_info type.
- 	* libgcov.c (__gcov_merge_add): New.
- 	(gcov_exit): Call a hook to merge values of counters.
- 
- 2003-05-04  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* toplev.h (pedwarn_with_file_and_line): Don't declare.
- 	* diagnostic.c (pedwarn_with_file_and_line): Remove.
- 
- 2003-05-04  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* varasm.c (assemble_variable): Don't use error_with_file_and_line.
- 
- 2003-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_constant_p, expand_builtin_strlen,
- 	expand_builtin_frame_address): Update prototypes.
- 	(expand_builtin_constant_p, expand_builtin_strlen,
- 	expand_builtin_strcpy, expand_builtin_memset,
- 	expand_builtin_bzero, expand_builtin_args_info,
- 	expand_builtin_frame_address): Pass in just the argument(s)
- 	needed, not the entire expression `exp'.
- 	(expand_builtin): Update all calls to these functions.
- 
- 2003-05-03  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove.
- 	<BUILT_IN_DWARF_SP_COLUMN>: New.
- 	* builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove.
- 	(BUILT_IN_DWARF_SP_COLUMN): New.
- 	* dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove.
- 	(expand_builtin_dwarf_sp_column): New.
- 	* except.h: Update to match.
- 	* unwind-dw2.c (execute_stack_op): Correct stack push typo.
- 	(execute_cfa_program): Record location expression address
- 	before extracting length.
- 	(uw_update_context_1): Install old CFA into stack pointer column.
- 	(uw_init_context_1): Set cfa_reg to stack pointer column.
- 
- 2003-05-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/rs6000/rs6000.c (constant_pool_expr_p): Make static and
- 	return bool.
- 	(toc_relative_expr_p): Likewise.
- 	(SPE_CONST_OFFSET_OK): Move from rs6000.h.
- 	(legitimate_constant_pool_address_p): Move from rs6000.h, change
- 	into a function, downcase all users.
- 	(legitimate_small_data_p): Likewise.
- 	(legitimate_offset_address_p): Likewise.
- 	(legitimate_indexed_address_p): Likewise.
- 	(legitimate_indirect_address_p): Likewise.
- 	(legitimate_lo_sum_address_p): Likewise.
- 	(rs6000_mode_dependent_address): Likewise.
- 	* rs6000.h (CONSTANT_POOL_EXPR_P, TOC_RELATIVE_EXPR_P): Remove.
- 	(SPE_CONST_OFFSET_OK, LEGITIMATE_CONSTANT_POOL_ADDRESS_P,
- 	LEGITIMATE_SMALL_DATA_P, LEGITIMATE_OFFSET_ADDRESS_P,
- 	LEGITIMATE_INDEXED_ADDRESS_P, LEGITIMATE_INDIRECT_ADDRESS_P,
- 	LEGITIMATE_LO_SUM_ADDRESS_P): Move into rs6000.c.
- 	(LEGITIMATE_ADDRESS_INTEGER_P): Remove.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS): Use rs6000_mode_dependent_address.
- 	* config/rs6000/rs6000-protos.h: Update.
- 
- 2003-05-03  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.h (REVERSIBLE_CC_MODE): Define.
- 	(REVERSE_CONDITION): Define.
- 
- 	* config/rs6000/rs6000.c (scc_comparison_operator): Make equivalent
- 	to branch_positive_comparison_operator.
- 	(ccr_bit): Check that sCOND conditions are actually a positive bit.
- 	(print_operand): Remove %D substitution.
- 	(rs6000_emit_sCOND): Generate complement operation to ensure that
- 	sCOND input is a positive bit.
- 	* config/rs6000/rs6000.md: Rearrange sCOND templates to be in the
- 	same order as bCOND, and add the missing ones.  Remove the %D
- 	substitutions from the scc patterns.
- 
- 	* simplify-rtx.c (simplify_relational_operation): Add case for
- 	! (fabs(x) < 0.0).
- 
- 2003-05-03  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc/fixinc/fixincl.tpl(dne): restore this to force merge conflicts
- 	in fixincl.x
- 	* gcc/fixinc/inclhack.def(bsd_stdio_attrs_conflict): fix placement
- 
- 2003-05-03  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Remove unecessary casts.  Misc cleanups.
- 
- 2003-05-03  Zack Weinberg  <zack@codesourcery.com>
- 
- 	PR c/10604
- 	* c-common.c (warn_sign_compare): Initialize to -1.
- 	* c-opts.c (c_common_init_options): Don't set warn_sign_compare here.
- 	(c_common_decode_option <OPT_Wall>): Set warn_sign_compare
- 	for C++ only.
- 	(c_common_post_options): Set warn_sign_compare from extra_warnings
- 	if it's still -1 at this point.
- 
- 	* toplev.c (maybe_warn_unused_parameter): New static variable.
- 	(set_Wextra): New static function.
- 	(W_options): Remove "extra".
- 	(decode_W_option): Call set_Wextra.
- 	(independent_decode_option): Likewise.
- 	(set_Wunused): Cooperate with set_Wextra in setting
- 	warn_unused_parameter.
- 	(rest_of_compilation): No need to check extra_warnings as
- 	well as warn_uninitialized.
- 
- 	* c-typeck.c (build_binary_op, build_conditional_expr):
- 	No need to check extra_warnings as well as warn_sign_compare.
- 	(internal_build_compound_expr): No need to check extra_warnings
- 	as well as warn_unused_value.
- 	* function.c (expand_function_end): No need to check extra_warnings
- 	as well as warn_unused_parameter.
- 	* stmt.c (expand_expr_stmt_value): No need to check extra_warnings
- 	as well as warn_unused_value.
- 
- 	* doc/invoke.texi: Clarify documentation of -Wsign-compare.
- 
- 	* Makefile.in: Disable -Werror for gengtype-lex.o.
- 
- 2003-05-03  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* emit-rtl.c (last_call_insn, add_function_usage_to): New functions.
- 	* rtl.h (last_call_insn, add_function_usage_to): New prototypes.
- 	* builtins.c (expand_builtin_apply): Use the new emit-rtl functions.
- 	* calls.c (emit_call_1): Likewise.
- 	(expand_call): For calls initializing constant memory, replace
- 	emission of standalone mem /u clobber with function usage entry.
- 	* expr.c (emit_block_move_via_libcall): Likewise.
- 	* cse.c (count_reg_usage, case EXPR_LIST): New case.
- 	* flow.c (propagate_one_insn): Pass entire operand of
- 	CALL_INSN_FUNCTION_USAGE to mark_used_regs.
- 	* integrate.c (try_constants): For CALL_INSNs, substitute constants
- 	within the FUNCTION_USAGE also.
- 	* loop.c (prescan_loop): Note clobbers of const mem mentioned in
- 	FUNCTION_USAGE lists.
- 	* reload1.c (replace_pseudos_in): Renamed.
- 	(reload): Use it for clobbers surviving until the end of the reload.
- 
- 2003-05-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Don't use
- 	gen_lowpart on non-integer modes.
- 
- 	* stor-layout.c (place_field): When adjusting offset_align, use
- 	desired_align, not DECL_ALIGN.
- 
- 2003-05-03  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* c-decl.c (pending_invalid_xref_file): Remove.
- 	(pending_invalid_xref_line): Remove.
- 	(pending_invalid_xref_location): New.
- 	(lookup_label): Use location_t and input_location directly.
- 	(lookup_tag): Likewise.
- 	(pending_xref_error): Likewise.
- 	(c_expand_body_1): Likewise.
- 	* c-common.c (x_expand_start_cond): Likewise.
- 	* c-semantics.c (genrtl_for_stmt): Likewise.
- 	(find_reachable_label): Likewise.
- 	* expr.c (expand_expr): Likewise.
- 	* integrate.c (output_inline_function): Likewise.
- 	* tree-inline.c (find_alloca_call): Likewise.
- 	(find_builtin_longjmp_call): Likewise.
- 	* gcc.c (input_filename): Make static.
- 
- 2003-05-03  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Fix comment typo.
- 
- 	* config/mips/mips.c (mips_integer_op): New structure.
- 	(MIPS_MAX_INTEGER_OPS): Define.
- 	(mips_const_insns): Use mips_build_integer to determine the number
- 	of instructions needed to load a CONST_INT.
- 	(move_operand): Reject compound CONST_INTs.
- 	(mips_build_shift, mips_build_lower, mips_build_integer): New fns.
- 	(mips_move_integer): New fn.
- 	(mips_legitimize_const_move): Pass CONST_INTs to mips_move_integer.
- 	(mips_legitimize_move): Only legitimize constants when moving
- 	word or subword values.
- 
- 2003-05-02  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* Makefile.in (gcov-iov.h): Use move-if-change and a stamp.
- 
- 2003-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_stpcpy): Copy `arglist' before
- 	modifying it.
- 
- 2003-05-03  Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add Zdenek Dvorak, Aldy
- 	Hernandez, and Kazu Hirata.  Update Richard Henderson.
- 
- 2003-05-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_attribute_table): Add 'extern'
- 	to tentative declaration.
- 
- 	* config/rs6000/sysv4.h (SYMBOL_FLAG_SMALL_V4): Delete.
- 	(SYMBOL_FLAG_SMALL_V4): Delete.
- 	* config/rs6000/rs6000.c (small_data_operand): Use SYMBOL_REF_SMALL_P.
- 	(rs6000_elf_encode_section_info): Don't set SYMBOL_FLAG_SMALL_V4.
- 	(rs6000_elf_in_small_data_p): Add extra section names.  Add
- 	comment about TREE_PUBLIC test.
- 
- 	* c-semantics.c (genrtl_switch_stmt, genrtl_if_stmt): Call
- 	expand_stmt on result of expand_unreachable_stmt.
- 
- 2003-05-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add Daniel Berlin.
- 
- 2003-05-02  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/{603.md,6xx.md,7450.md,7xx.md,rs64.md}: Decrease
- 	number of automata.
- 
- 	* config/rs6000/rs6000.c (symbol_ref_operand): Check
- 	SYMBOL_REF_FUNCTION_P on AIX.
- 	(current_file_function_operand): Same.
- 	* config/rs6000/rs6000.md (call,call_value): Force non-function
- 	symbol_ref into register on AIX.
- 
- 2003-05-02  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (struct arg_data): Move offset, slot_offset, size and
- 	alignment_pad to struct locate_and_pad_arg_data.  Update all refs.
- 	(initialize_argument_information): Adjust call to locate_and_pad_parm.
- 	Delete alignment_pad var.  Don't calculate slot_offset here.
- 	(emit_library_call_value_1): Delete alignment_pad, offset and size
- 	vars.  Use struct locate_and_pad_arg_data instead.  Adjust refs.
- 	Adjust call to locate_and_pad_parm.  Don't tweak arg size for
- 	partial in-regs here.  Formatting fixes.
- 	* expr.h (struct locate_and_pad_arg_data): New struct.
- 	(locate_and_pad_parm): Adjust declaration.
- 	* function.c (assign_parms): Localize vars.  Use "locate" instead of
- 	other arg location vars.  Don't invoke FUNCTION_ARG or
- 	FUNCTION_INCOMING_ARG unless pretend_named is different from
- 	named_arg.  Heed MUST_PASS_IN_STACK and set up "partial" before
- 	calling locate_and_pad_parm.  Adjust locate_and_pad_parm call.
- 	Use slot_offset for stack home of reg parms.  Correct test for
- 	parm passed in memory.  Formatting fixes.
- 	(locate_and_pad_parm): Add "partial" to params.  Replace offset_ptr
- 	arg_size_ptr and alignment pad with "locate".  Set slot_offset here.
- 	Correct initial_offset_ptr handling.  Localize vars.  Always pad
- 	locate->offset even when in_regs.
- 
- 2003-05-02  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (TREE_H): Replace location.h with input.h.
- 	(GTFILES) Remove location.h
- 	(gt-lists.h): Replace gt-location.h with gt-input.h
- 	* input.h (input_filename, input_line): Remove variables.
- 	(location_s, location_t): Move from location.h.
- 	(input_location): New.
- 	(input_filename, input_line): New #defines.
- 	* location.h: Remove.
- 	* tree.h: Replace location.h with input.h.
- 	(input_filename, input_line): Remove.
- 	* diagnostic.h: Replace location.h with input.h.
- 	* gcc.h (input_filename, input_filename_length): Remove declarations.
- 	* toplev.c (input_filename, input_line): Remove.
- 	(input_location): Define.
- 	(push_srcloc, pop_srcloc): Adjust.
- 	* diagnostic.c (diagnostic_report_current_module): Adjust.
- 
- 2003-05-02  Nick Clifton  <nickc@redhat.com>
- 
- 	* configure.in: Add xstormy16 to list of targets that has a nop
- 	instruction and hence which can be tested to see if the
- 	assembler supports the --gdwarf2 switch.
- 	* configure: Regenerate.
- 
- 2003-05-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR target/8257
- 	* config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
- 	alpha_start_function, alpha_expand_epilogue, unicosmk_gen_dsib):
- 	Avoid undefined shifts by making the shift operand unsigned.
- 
- 2003-05-01  DJ Delorie  <dj@redhat.com>
- 
- 	* reload.c (find_reloads): Also check that all of a multi-reg
- 	value is in the class.
- 
- 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* scan.h (lineno): Revert the rename here.
- 
- 2003-05-01  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin.c (darwin_encode_section_info): Call
- 	default_encode_section_info.
- 
- 2003-05-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (define_attr "type"): Add mfjmpr.
- 	(movsi_internal1): Use new mfjmpr attribute.
- 	(movhi_internal): Same.
- 	(movqi_internal): Same.
- 	(movcc_internal1): Same.
- 	(movdi_internal64): Same.
- 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
- 	power4.md,rios1.md,rios2.md,rs64.md}: Add mfjmpr.
- 	* config/rs6000/40x.md: Add fpu_405.
- 	* config/rs6000/power4.md: Merge power4lsu and power4disp automata
- 	into power4misc automata.  Remove extraneous parentheses.
- 	* config/rs6000/440.md: New file.
- 	* config/rs6000/rs6000.c (processor_target_table): Add 440,
- 	440fp.  Rename 405f to 405fp.
- 	(function_arg_padding): Correct formatting.
- 	(rs6000_rtx_costs): Add PROCESSOR_PPC440 cases.
- 
- 2003-05-01  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* input.h (lineno): Rename to ...
- 	(input_line): ... here.
- 	* tree.h (lineno): Rename to ...
- 	(input_line): ... here.
- 	* scan.h (lineno): Rename to ...
- 	(input_line): ... here.
- 	* toplev.c (lineno): Rename to ...
- 	(input_line): ... here.
- 	(push_srcloc, pop_srcloc):  Rename lineno to input_line.
- 	* c-common.c (c_expand_start_cond, fname_decl): Likewise.
- 	* c-decl.c (poplevel, pop_label_level, lookup_label, lookup_tag,
- 	store_parm_decls, c_expand_body_1): Likewise.
- 	* c-errors.c (pedwarn_c99): Likewise.
- 	* c-format.c (status_warning): Likewise.
- 	* c-lex.c (fe_file_change, cb_def_pragma, c_lex): Likewise.
- 	* c-opts.c (c_common_post_options, c_common_parse_file): Likewise.
- 	* c-parse.in (save_filename, maybe_type_qual, ifc): Likwise.
- 	* c-semantics.c (finish_stmt_tree, build_stmt, emit_local_var,
- 	gentrtl_goto_stmt, genrtl_expr_stmt_value, genrtl_decl_stmt,
- 	genrtl_if_stmt, genrtl_while_stmt, genrtl_do_stmt,
- 	genrtl_return_stmt, genrtl_for_stmt, build_break_stmt,
- 	build_continue_stmt, genrtl_switch_stmt, genrtl_asm_stmt,
- 	prep_stmt, find_reachable_label, expand_unreachable_stmt): Likewise.
- 	* coverage.c (create_coverage): Likewise.
- 	* diagnostic.c (pedwarn, sorry, error, fatal_error,
- 	internal_error, warning, diagnostic_report_current_module,
- 	inform): Likewise.
- 	* expr.c (expand_expr): Likewise.
- 	* integrate.c (expand_inline_function,
- 	output_inline_function): Likewise.
- 	* rtl-error.c (file_and_line_for_asm): Likewise.
- 	* tree-inline.c (find_alloca_call, find_builtin_longjmp_call,
- 	walk_tree): Likewise.
- 	* tree.c (make_node): Likewise.
- 	* ada, cp, f, java, objc, treelang: Likewise.
- 	* objc/objc-act.c (objc_init): Rename lineno to input_line.
- 	(build_module_descriptor, build_selector_translation_table,
- 	build_protocol_template, build_method_prototype_list_template,
- 	build_category_template, build_selector_table,
- 	build_class_template, build_super_template, build_ivar_template,
- 	build_ivar_list_template, build_method_list_template,
- 	build_method_template, add_instance_variable): Likewise.
- 
- 	* dwarf2out.c (dwarf2out_init, dwarf2out_finish): Change parameter
- 	name from input_filename.
- 
- 2003-04-30  Eric Christopher  <echristo@redhat.com>
- 	    Richard Sandiford <rsandifo@redhat.com>
- 
- 	* configure: Regenerate from patches below.
- 	* combine.c (gen_lowpart_for_combine): Fix comment and add tests
- 	for all symbolic operands.
- 	* config/mips/mips.c: Migrate RTX_COSTS and CONST_COSTS
- 	to function.
- 	* config/mips/linux.h: Fix typo.
- 	* Merge from mips-3_4-rewrite branch:
- 
- 	2003-04-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (mips_classify_symbol): Add catch-all case for
- 		handling local labels when TARGET_ABICALLS.
- 
- 	2003-04-04  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_expand_epilogue): Add an
- 		integer argument.
- 		(mips_expand_call): Likewise.
- 		* config/mips/mips.h (TARGET_SIBCALLS): New macro.
- 		(FIXED_REGISTERS): Clear $31 entry.
- 		(CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTER): Likewise.
- 		(EPILOGUE_USES): Define.
- 		* config/mips/mips.c (mips_function_ok_for_sibcall): New function.
- 		(TARGET_FUNCTION_OK_FOR_SIBCALL): Use it.
- 		(override_options): Add a 'j' register class.
- 		(mips_expand_call): Handle sibcalls
- 		(mips_expand_epilogue): Handle epilogues for sibcalls.
- 		* config/mips/mips.md (epilogue): Adjust call to mips_expand_epilogue.
- 		(sibcall_epilogue): New pattern.
- 		(call, call_value): Adjust calls to mips_expand_call.
- 		(sibcall, sibcall_value): New expanders.
- 		(sibcall_internal, sibcall_value_internal): New patterns.
- 		(sibcall_value_multiple_internal): New pattern.
- 
- 	2003-03-25  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.md (extended_mips16): New attribute.
- 		(define_attr length): Default to 8 if extended_mips16 == yes.
- 		(truncdisi2): Set extended_mips16 to yes for the sll alternative.
- 		(truncdihi2, truncdiqi2, *extendsidi2): Likewise.
- 		(call_internal): Set extended_mips16 to yes for direct jumps.
- 		Remove redundant mode attribute.
- 		(call_value_internal, call_value_multiple_internal): Likewise.
- 		(call_split): Remove redundant mode attribute.
- 		(call_value_split, call_value_multiple_split): Likewise.
- 
- 		* config/mips/mips.c (mips_symbol_insns): Rework.  Fix handling
- 		of unaligned offsets.
- 
- 		* config/mips/mips.c (mips_splittable_symbol_p): Fix handling
- 		of SYMBOL_GENERAL.
- 
- 	2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (TARGET_EXPLICIT_RELOCS): Add commentary.
- 		* config/mips/mips.c (override_options): Disable -mexplicit-relocs
- 		for mips16 code.
- 
- 	2003-03-22  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (ADDRESS_COST): Define.
- 
- 	2003-03-20  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (EXTRA_CONSTRAINT): Give existing meaning of
- 		'R' to 'U'.  Make 'R' mean a single-instruction memory reference.
- 		* config/mips/mips.md: Replace 'R' constraints with 'U'.
- 
- 	2003-03-18  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.md (truncdisi2): Add commentary.  Use sll instead
- 		of a two-instruction sequence.  Add register->memory alternative.
- 		(truncdihi2, truncdiqi2): Likewise.
- 		Rework shift/truncate instructions so that they only handle right
- 		shifts of 32 (or more, in the case of arithmetic shifts).
- 		Add patterns for truncate/sign-extend.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* configure.in (mips*-*-*): Check for explicit relocation support.
- 		* configure: Regenerate.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (TARGET_SWITCHES): Add -mexplicit-relocs
- 		and -mno-explicit-relocs.
- 		(MASK_EXPLICIT_RELOCS): Define.
- 		(TARGET_EXPLICIT_RELOCS): Use it.
- 		(mips_split_addresses): Remove declaration.
- 		* config/mips/mips.c (override_options): Update comment for
- 		mips_split_addresses.  Clear MASK_EXPLICIT_RELOCS for non-PIC n64.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* combine.c (gen_lowpart_for_combine): Treat the lowpart Pmode of
- 		a CONST as identity.  Check the return value of gen_lowpart_common.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (mips_legitimize_symbol): Handle small data
- 		references for TARGET_EXPLICIT_RELOCS.
- 		(mips_reloc_string): Return "%gp_rel(" for RELOC_GPREL16 if
- 		!TARGET_MIPS16.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.md: Replace 'IQ' mips16 constraints with just 'Q'.
- 		(addsi3): Remove redundant constraints.
- 		(addsi3_internal): Use separate register & constant alternatives.
- 		Use a 'Q' constraint and "addiu" insn for the latter.
- 		(adddi3_internal_3, addsi3_internal_2): Likewise.
- 
- 	2003-03-13  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_expand_unaligned_load): Declare.
- 		(mips_expand_unaligned_store): Declare.
- 		* config/mips/mips.c (mips_get_unaligned_mem): New fn.
- 		(mips_expand_unaligned_load, mips_expand_unaligned_store): New fns.
- 		* config/mips/mips.md (UNSPEC_ULW, UNSPEC_USW): Remove.
- 		(UNSPEC_ULD, UNSPEC_USD): Remove.
- 		(UNSPEC_LWL, UNSPEC_LWR, UNSPEC_SWL, UNSPEC_SWR): New.
- 		(UNSPEC_LDL, UNSPEC_LDR, UNSPEC_SDL, UNSPEC_SDR): New.
- 		(extv, extzv): Use mips_expand_unaligned_load.
- 		(insv): Use mips_expand_unaligned_store.  Use a reg_or_0_operand
- 		predicate for operand 3.
- 		(movsi_ulw, movsi_usw): Replace with...
- 		(mov_lwl, mov_lwr, mov_swl, move_swr): ...these new insns.
- 		(movdi_uld, movdi_usd): Likewise replace with...
- 		(mov_ldl, mov_ldr, mov_sdl, move_sdr): ...these insns.
- 
- 	2003-02-26  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_global_pic_constant_p): Declare.
- 		* config/mips/mips.h (LEA_REGS): New register class.
- 		(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add entries for it.
- 		(GR_REG_CLASS_P): Include LEA_REGS.
- 		(DANGEROUS_FOR_LA25_P): New macro.
- 		(EXTRA_CONSTRAINT): Add !DANGEROUS_FOR_LA25_P to R's condition.
- 		Add a T constraint for the DANGEROUS_FOR_LA25_P case.
- 		* config/mips/mips.c (mips_regno_to_class): Change GR_REGS
- 		entries to LEA_REGS.
- 		(mips_global_pic_constant_p): New function.
- 		(override_options): Add 'e' register constraint.
- 		(mips_secondary_reload_class): Return LEA_REGS when reloading
- 		a dangerous constant into a class containing $25.
- 		* config/mips/mips.md (movdi_internal2): Add an e <- T alternative.
- 		(movsi_internal): Likewise.
- 
- 	2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (TARGET_SPLIT_CALLS): New macro.
- 		* config/mips/mips.md (call_split): New insn.
- 		(call_value_split, call_value_multiple_split): New insns.
- 		(call_internal): Turn into a define_insn_and_split.  Split the
- 		instruction into a call and $gp load if TARGET_SPLIT_CALLS.
- 		(call_value_internal, call_value_multiple_internal): Likewise.
- 
- 	2003-02-23  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (mips_reloc_string): Return "%got(" for
- 		RELOC_GOT_PAGE and RELOC_GOT_DISP if !TARGET_NEWABI.
- 		(mips_encode_section_info): Don't take symbol visibility into
- 		account if TARGET_ABICALLS.  Add more commentary.
- 		* config/mips/mips.md: Add commentary above reloc constants.
- 
- 	2003-02-12  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (mips_legitimize_const_move): New, extracted
- 		from mips_legitimize_move.  Legitimize constant pool references.
- 		(mips_legitimize_move): Call mips_legitimize_const_move.  Attach
- 		a REG_EQUAL note to the last instruction.
- 
- 	2003-02-11  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_simplify_dwarf_addr): Declare.
- 		* config/mips/mips.h (TARGET_EXPLICIT_RELOCS, TARGET_NEWABI): New.
- 		(ASM_SIMPLIFY_DWARF_ADDR): Define to mips_simplify_dwarf_addr.
- 		(EXTRA_CONSTRAINT): Allow symbolic call addresses for TARGET_ABICALLS.
- 		* config/mips/mips.md (UNSPEC_HIGH): New constant.
- 		(UNSPEC_RELOC_GPREL16): Rename to...
- 		(RELOC_GPREL16): ...this.
- 		(RELOC_GOT_HI, RELOC_GOT_LO, RELOC_GOT_PAGE, RELOC_GOT_DISP): New.
- 		(RELOC_CALL16, RELOC_CALL_HI, RELOC_CALL_LO): New.
- 		(macro_calls): New attribute.
- 		(length): Use it to set the default length of calls.  Don't allow
- 		calls to have delay slots if macro_calls is "yes".
- 		(luisi, luidi): New patterns.
- 		(lowsi, lowdi): Use '%R' to print the relocation.
- 		(lowdi_extend): Remove.
- 		(loadgp): Remove mode from operand 0.  Use '%0' instead of '%a0'.
- 		(call_internal): Merge alternatives.  Always use "jal".
- 		(call_value_internal, call_value_multiple_internal): Likewise.
- 		(reloc_gprel16): Remove.
- 		* config/mips/mips.c (mips_got_alias_set): New variable.
- 		(mips_classify_constant): Handle the new relocation constants.
- 		(mips_classify_symbol): Reverse the sense of SYMBOL_REF_FLAG for PIC.
- 		(mips_symbolic_address_p): Return false if generating explicit relocs.
- 		Otherwise allow local PIC symbols to have an offset.
- 		(mips_splittable_symbol_p): New function.
- 		(mips_classify_address): Use it to check whether a LO_SUM is valid.
- 		(mips_const_insns): Always accept HIGH.
- 		(call_insn_operand): Don't accept global symbols if using explicit
- 		relocs.
- 		(move_operand): Don't accept HIGH when generating PIC.
- 		(mips_reloc, mips_lui_reloc): New functions.
- 		(mips_force_temporary): Remove MODE argument.  Expect VALUE to
- 		be a valid right-hand-side for a SET pattern.
- 		(mips_load_got, mips_load_got16, mips_load_got32): New functions.
- 		(mips_emit_high): New function.
- 		(mips_legitimize_symbol): Use mips_reloc for the mips16 gp-relative
- 		case.  Use mips_splittable_symbol_p to check whether a LO_SUM
- 		address should be used.  Use mips_emit_high to generate the
- 		high part of such an address.  Adjust the global symbol + offset
- 		case to match the change to mips_force_temprorary.
- 		(mips_legitimize_move): Shuffle call to mips_legitimize_symbol.
- 		If generating explicit-reloc PIC, load the address of global
- 		symbols from the GOT.  Use mips_emit_high to emit the high part
- 		of an address.
- 		(mips_simplify_dwarf_addr): New function.
- 		(mips_move_1word): Use lwc1 instead of l.s and swc1 instead of s.s.
- 		(mips_move_2words): Likewise ldc1/l.d and sdc1/s.d if TARGET_64BIT.
- 		(mips_expand_call): Load the addresses of global functions using
- 		%call* relocs if generating explicit-reloc PIC.  Don't generate
- 		an exception_receiver pattern.
- 		(override_options): Initialize mips_got_alias_set.
- 		(print_relocation): Remove in favor of...
- 		(mips_reloc_string): ...this new function.
- 		(print_operand): Handle '%R'.  Use mips_reloc_string.
- 		(print_operand_address): Use print_operand to print the symbolic
- 		part of a LO_SUM address.
- 		(mips_output_function_prologue): Use .cprestore, reverting last patch.
- 		(mips_encode_section_info): Factor out DECL_RTL accesses.  Reverse
- 		sense of SYMBOL_REF_FLAG for PIC, using binds_local_p to check
- 		for local symbols.
- 
- 	2003-02-02  Eric Christopher  <echristo@redhat.com>
- 
- 		* config/mips/mips.c (mips_sign_extend): Remove.
- 		* config/mips/mips-protos.h: Ditto.
- 		* config/mips/mips.md (movdi_internal2_extend): Remove.
- 		(extendsidi2): Fix mode of convert_memory_address.
- 
- 	2003-01-24  Eric Christopher  <echristo@redhat.com>
- 
- 		* config/mips/mips.md: Rewrite zero_extend* and extend*
- 		patterns. Use explicit instructions and split after reload
- 		for register extensions.
- 		(ashlsi3_internal1_extend): New combiner pattern for
- 		shift and extend combinations.
- 		* config/mips/mips.h: Change Pmode back to ptr_mode
- 		for performance enhancement.
- 		* combine.c (expand_compound_operation): Make sure
- 		that zero_extend operation is profitable.
- 
- 	2003-01-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (TRAMPOLINE_TEMPLATE): Make size of stored
- 		addresses depend on ptr_mode rather than Pmode.
- 		(TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT): Update acoordingly.
- 		(INITIALIZE_TRAMPOLINE): Rework to handle Pmode != ptr_mode.
- 		(CASE_VECTOR_MODE): Use ptr_mode for !TARGET_MIPS16.
- 		(ASM_OUTPUT_ADDR_VEC_ELT): Update accordingly.
- 		* config/mips/mips.md (tablejump): Likewise.  Remove Pmode
- 		condition for selecting cpaddsi or cpadddi: use cpadd instead.
- 		(tablejump_internal1): Remove condition.
- 		(tablejump_internal2): Change condition to TARGET_64BIT.
- 		(cpaddsi): Rename to...
- 		(cpadd): ...this.
- 		(cpadddi): Remove.
- 
- 	2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips16_constant_after_function_p,
- 		mips_address_cost, mips_check_split, double_memory_operand,
- 		mips16_gp_offset, mips16_gp_offset_p, mips16_constant,
- 		pic_address_needs_scratch, symbolic_operand): Remove declarations.
- 		(mips_legitimate_address_p): Return bool.
- 		(mips_address_insns, mips_fetch_insns, mips_const_insns,
- 		mips_legitimize_address, mips_legitimize_move,
- 		mips_expand_call): Declare.
- 		(mips_return_addr): Move outside #ifdef RTX_CODE.
- 
- 		* config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): New macro.
- 		(PIC_FN_ADDR_REG): New reg_class.
- 		(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add corresponding entries.
- 		(GR_REG_CLASS_P): True for PIC_FN_ADDR_REG.
- 		(SMALL_OPERAND, SMALL_OPERAND_UNSIGNED, LUI_OPERAND,
- 		CONST_HIGH_PART, CONST_LOW_PART, LUI_INT): New macros.
- 		(SMALL_INT, SMALL_INT_UNSIGNED, CONST_OK_FOR_LETTER_P): Use new macros.
- 		(EXTRA_CONSTRAINTS): Give new meanings to Q, R and S.
- 		(CONSTANT_ADDRESS_P): Use mips_legitimate_address_p.
- 		(LEGITIMATE_PIC_OPERAND): Undefine.
- 		(LEGITIMATE_CONSTANT_P): Use mips_const_insns.
- 		(LEGITIMIZE_ADDRESS): Use mips_legitimize_address.
- 		(CONSTANT_AFTER_FUNCTION_P): Remove definition in #if 0 block.
- 		(FUNCTION_MODE): Change to SImode.
- 		(CONST_COSTS): Use mips_const_insns to calculate the cost of
- 		most constants.  Treat const_artih_operands specially if they
- 		occur in a PLUS or MINUS.
- 		(CONSTANT_POOL_COST): New macro.
- 		(RTX_COSTS): Use mips_address_insns for MEMs, with a base cost of 2.
- 		Add LO_SUM handling.
- 		(ADDRESS_COST): Undefine.
- 		(PREDICATE_CODES): Add symbolic_operand and const_arith_operand.
- 		Add CONST to the list of codes for arith_operand.  Add LABEL_REF
- 		to call_insn_operand and remove CONST_INT.
- 
- 		* config/mips/mips.c: Include integrate.h.
- 		(SINGLE_WORD_MODE_P): New macro.
- 		(mips_constant_type, mips_symbol_type, mips_address_type): New enums.
- 		(mips_constant_info, mips_address_info): New structs.
- 		(mips_regno_to_class): Map $25 to PIC_FN_ADDR_REG.
- 		(mips_classify_constant, mips_classify_symbol,
- 		mips_valid_base_register_p, mips_symbolic_address_p,
- 		mips_classify_address, mips_symbol_insns,
- 		mips16_unextended_reference_p, mips_address_insns, mips_const_insns,
- 		mips_fetch_insns, mips_force_temporary, mips_add_offset,
- 		mips_legitimize_symbol, mips_legitimize_address, mips_legitimize_move,
- 		mips_print_relocation): New functions.
- 		(const_arith_operand): New operand predicate.
- 		(arith_operand): Use it.
- 		(mips_const_double_ok, mips16_simple_memory_operand,
- 		simple_memory_operand, double_memory_operand, mips_check_split,
- 		mips_address_cost, pic_address_needs_scratch, mips16_gp_offset,
- 		mips16_gp_offset_p, mips16_output_gp_offset,
- 		mips16_constant_after_function_p, mips16_constant): Remove.
- 		(call_insn_operand): Be more fussy about symbolic constants.
- 		Use register_operand.
- 		(move_operand): Use mips_symbolic_address_p to check symbolic
- 		operands and general_operand to check the rest.
- 		(symbolic_operand): Use mips_classify_constant.
- 		(mips_legitimate_address_p): Use mips_classify_address.
- 		(mips_move_1word): Combine handling of symbolic addresses.
- 		Remove special treatment of gp-relative loads for TARGET_MIPS16.
- 		(move_move_2words): Likewise.  Assume addresses are offsettable
- 		if they need to refer to more than one word.  Add HIGH handling.
- 		(mips_restore_gp): Use ptr_mode for the GP save slot.
- 		(mips_expand_call): New function, combining the old mips.md
- 		call and call_internal define_expands.  If the address isn't
- 		a call_insn_operand, force it into a register.  For SVR4 PIC,
- 		emit an exception_receiver instruction after the call.
- 		(override_options): Only override flag_pic for TARGET_ABICALLS
- 		if it is currently zero.  Allow mips_split_addresses when
- 		Pmode == DImode too, except when ABI_HAS_64BIT_SYMBOLS.
- 		Add new register class letter, 'c'.
- 		(print_operand): Use mips_classify_constant for constant operands.
- 		(print_operand_address): Use mips_classify_address.
- 		(mips_output_function_prologue): Don't use .cprestore.
- 		(mips_expand_epilogue): For TARGET_MIPS16, only adjust the stack
- 		via the frame pointer if current_function_calls_eh_return.
- 		(mips_encode_section_info): For TARGET_ABICALLS, use SYMBOL_REF_FLAG
- 		to mark whether a symbol is local or global.
- 		(build_mips16_call_stub): Expect the address of the function rather
- 		than a MEM reference to it.  Update call generation sequences.
- 		(mips16_optimize_gp): Remove Pmode checks.  Temporarily disable
- 		small-data adjustments.
- 
- 		* config/mips/mips.md: Remove 'R'/'m' memory distinction.  Use default
- 		length for loads and stores.
- 		(UNSPEC_CPADD, UNSPEC_RELOC_GPREL16): New constants.
- 		(define_attr type): Add const and prefetch.
- 		(define_attr length): Use mips_const_insns for const instructions.
- 		Use mips_fetch_insns for load and store instructions.
- 		(define_attr single_insn): New.
- 		(define_attr can_delay): Use it.
- 		(define_attr abicalls): Remove.
- 		(define_delay): Use can_delay.  Always allow calls to have delay slots.
- 		(addsi3_internal_2): Add 'Q' constraint.
- 		(movsi_ulw, movsi_usw, movdi_uld, movdi_usd): Set length to 8.
- 		(high): Remove.
- 		(lowsi): Renamed from low.
- 		(lowdi): New pattern.
- 		(movdi, movsi): Use mips_legitimize_move.  Remove define_split.
- 		(lwxc1, ldxc1, swxc1, sdxc1): Set length to 4.
- 		(loadgp): Change operand 0 to an immediate_operand.
- 		(tablejump): Use the same patterns for SVR4 PIC but emit a cpadd
- 		beforehand.
- 		(cpaddsi, cpadddi): New patterns.
- 		(tablejump_internal3, tablejump_internal4): Remove define_expands
- 		and associated define_splits.
- 		(call, call_value): Use mips_expand_call.
- 		(call_internal): New, replacing all existing call_internal* insns.
- 		(call_value_internal): Likewise call_value_internal*.
- 		(call_value_multiple_internal): Likewise call_value_multiple_internal*.
- 		(untyped_call): Remove if (operands[0]) magic.
- 		(prefetch_si_address, prefetch_si): Change type to "prefetch".
- 		(prefetch_di_address, prefetch_di): Likewise.
- 		(leasi, leadi): Remove.
- 		(reloc_gprel16): New.
- 
- 		* config/mips/5400.md (ir_vr54_hilo): Include const type.
- 		* config/mips/5500.md (ir_vr55_hilo): Likewise.
- 		* config/mips/sr71k.md (ir_sr70_hilo): Likewise.
- 
- 	2003-01-08  Eric Christopher  <echristo@redhat.com>
- 
- 		* config.gcc (mipsisa32*): Change ABI_MEABI to ABI_EABI.
- 		* config/mips/elf.h (STARTFILE_SPEC): Remove ABI_MEABI references and
- 		configure check for libgloss.
- 		* config/mips/elf64.h: Ditto.
- 		* config/mips/mips.c: Remove ABI_MEABI.
- 		* config/mips/mips.h: Ditto.
- 
- 	2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		Fix merge fallout.
- 		* config/mips/mips.md (mul_acc_si): Reapply 2002-10-16 change.
- 		(muldi3_internal): Remove outdated comment.
- 		(*muls_di, *umuls_di): Fix comment and 64-bitness.
- 		(*smsac_di, *umsac_di): Likewise.  Reformat.
- 		(umulsi3_highpart): Minor formatting tweaks.
- 		(umulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.  Remove
- 		redundant scratch operand.  Minor formatting tweak.
- 		(umulsi3_highpart_mulhi_internal): Use for !TARGET_64BIT as well.
- 		(umulsi3_highpart_neg_mulhi_internal): Likewise.  Fix asm template.
- 		(smulsi3_highpart): As for the unsigned version.
- 		(smulsi3_highpart_internal): Likewise.
- 		(smulsi3_highpart_mulhi_internal): Likewise.
- 		(smulsi3_highpart_neg_mulhi_internal): Likewise.
- 		(smuldi3_highpart, umuldi3_highpart): Minor formatting tweaks.
- 		(*smul_acc_di): Remove duplicated pattern.
- 		(*umul_acc_di, *smul_acc_di): Reapply 2002-10-16 change.
- 		(anddi3) [unnamed mips16 pattern]: Remove reintroduced length.
- 		(zero_extendsidi2_internal2): Remove new, but commented-out pattern.
- 
- 	2002-10-22  Eric Christopher  <echristo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_return_addr): New.
- 		* config/mips/mips.c (mips_return_addr): New.
- 		(movdi_operand): Remove.
- 		(se_register_operand): Ditto.
- 		(se_reg_or_0_operand): Ditto.
- 		(se_uns_arith_operand): Ditto.
- 		(se_arith_operand): Ditto.
- 		(se_nonmemory_operand): Ditto.
- 		(extend_operator): Ditto.
- 		(highpart_shift_operator): Ditto.
- 		(mips_initial_elimination_offset): Remove return address pointer
- 		elimination.
- 		(mips_reg_names): Remove $ra.
- 		(mips_regno_to_class): Ditto.
- 		* config/mips/mips.h (POINTER_SIZE): Define based on TARGET_LONG64
- 		and TARGET_64BIT.
- 		(POINTER_BOUNDARY): Remove.
- 		(POINTERS_EXTEND_UNSIGNED): Define to 0.
- 		(PROMOTE_MODE): Promote to Pmode.
- 		(SHORT_IMMEDIATES_SIGN_EXTEND): Define.
- 		(Pmode): Define to TARGET_64BIT.
- 		(FUNCTION_MODE): Define as Pmode.
- 		(mips_args): Remove deleted functions.
- 		(SIZE_TYPE): Depend on POINTER_SIZE.
- 		(PTRDIFF_TYPE): Ditto.
- 		(FIXED_REGISTERS): Fix extra registers.
- 		(CALL_USED_REGISTERS): Ditto.
- 		(CALL_REALLY_USED_REGISTERS): Ditto.
- 		(RAP_REG_NUM): Remove.
- 		(RETURN_ADDRESS_POINTER_REGNUM): Ditto.
- 		(RETURN_ADDR_RTX): Define to mips_return_addr.
- 		(ELIMINABLE_REGS): Remove RETURN_ADDRESS_POINTER_REGNUM.
- 		(CAN_ELIMINATE): Ditto.
- 		* config/mips/mips.md: For DImode patterns, take into account
- 		deletions above. Split mulsidi patterns into sign_extend and
- 		zero_extend.
- 
- 	2002-10-16  Richard Sandiford  <rsandifo@redhat.com>
- 		    Michael Meissner  <meissner@redhat.com>
- 
- 		* config/mips/mips.h (ISA_HAS_MACC): True for normal-mode vr4120 code.
- 		* config/mips/mips.md (mulsi3_mult3): Add a define_peephole2 to
- 		mop up unnecessarly moves through LO.
- 		(*mul_acc_si): Remove vr5400 and vr5500 handling from here.
- 		(*macc): New pattern for ISA_HAS_MACC.  Add define_peephole2s to
- 		change mtlo/macc sequences into mul/add sequences when a three-
- 		address mul is available.
- 		(*macc2): New pattern.  Add a define_peephole2 to generate it.
- 		(*mul_sub_si): Fix contraint for operand 5.
- 		(*muls): Use in 32-bit code as well.
- 		(*msac): Likewise.  Use msub instead of msac in vr5500 code
- 		if the destination is LO.  Remove duplicate define_split.
- 		(*muls_di): Use only in 32-bit code.  Adjust rtl accordingly.
- 		(*msac_di): Likewise.  Fix formatting.
- 		(smulsi3_highpart, umulsi3_highpart): Use mulhi in 32-bit code too.
- 		(*xmulsi3_highpart_internal): Use only if !ISA_HAS_MULHI.
- 		(*xmulsi3_highpart_mulhi): Use even if !TARGET_64BIT.
- 		(*xmulsi3_neg_highpart_mulhi): Likewise.
- 		(*mul_acc_64bit_di): Remove.
- 		(*mul_acc_di): Use only in 32-bit code.  Handle ISA_HAS_MACC as well.
- 
- 	2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/vr.h (DRIVER_SELF_SPECS): Define.
- 		* config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
- 		(MULTILIB_DIRNAMES): Remove long32.
- 		(MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
- 		(MULTILIB_REDUNDANT_DIRS): Remove.
- 
- 	2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* doc/tm.texi (DRIVER_SELF_SPECS): Document.
- 		* gcc.c (driver_self_specs): New variable.
- 		(do_self_spec): New function.
- 		(main): Use it to process driver_self_specs.
- 
- 	2002-10-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.md (one_cmpldi2): Use only if TARGET_64BIT.
- 		Remove DImode define_split for !TARGET_64BIT.
- 		(anddi3): Remove !TARGET_64BIT support from here as well.
- 		Change operand 2's predicate to se_uns_arith_operand.
- 		Add constant alternatives to define_insn.
- 		(iordi3, xordi3, *nordi3): Likewise.
- 		(anddi3_internal1, xordi3_immed): Remove.
- 
- 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
- 		(TARGET_MIPS4121): Rename to TARGET_MIPS4120.
- 		* config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
- 		* config/mips/mips.md: Apply same renaming here.
- 
- 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
- 		(GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
- 		* config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
- 		* config/mips/mips.md (define_attr cpu): Remove r4320.
- 		Remove vr4320 scheduler and uses of TARGET_MIPS4320.
- 
- 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.c (mips16_strings): New variable.
- 		(mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
- 		symbol in mips16_strings.  Free the list.
- 		(mips_encode_section_info): Keep track of local strings.
- 
- 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
- 		(sordered_df, sordered_sf): Remove.
- 		* config/mips/mips.c (get_float_compare_codes): New fn.
- 		(gen_int_relational, gen_conditional_move): Use it.
- 
- 	2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 		* config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
- 		* config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
- 		* config/mips/mips.c (fcc_register_operand): New function.
- 		(mips_emit_fcc_reload): New function, extracted from reload_incc.
- 		(override_options): Allow TFmode values in float registers
- 		if ISA_HAS_8CC.
- 		* cnfig/mips/mips.md (reload_incc): Change destination prediate
- 		to fcc_register_operand.  Remove misleading source constraint.
- 		Use mips_emit_fcc_reload.
- 		(reload_outcc): Duplicate reload_incc.
- 
- 
- 2003-04-30  Diego Novillo  <dnovillo@redhat.com>
- 
- 	* builtins.def (BUILTIN_CONSTANT_P): Mark as constant.
- 
- 2003-04-30  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree-inline.c (inlinable_function_p): Back out last change, it's
- 	unnecessary.
- 
- 2003-04-30  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* ggc-page.c (TREE_EXP_SIZE): Define.
- 	(extra_order_size_table): New entry for expr trees with
- 	two operands.
- 
- 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* c-common.c (if_elt): Use location_t in lieu of "file, line" pair.
- 	(c_expand_start_cond): Adjust.
- 	(c_expand_end_cond): Don't use warning_with_file_and_file.
- 	(shadow_warning): Likewise.
- 
- 2003-04-30  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (DECL_POINTER_DEPTH): Remove.
- 	(struct tree_decl): Remove pointer_depth.
- 
- 2003-04-30  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/linux64.h (ASM_OUTPUT_LABELREF): Remove.
- 	* config/rs6000/rs6000.c (rs6000_elf_strip_name_encoding): Remove.
- 	(rs6000_xcoff_encode_section_info): Remove.
- 	(current_file_function_operand): Use SYMBOL_REF_FLAGS; fix latent bug.
- 	(rs6000_output_mi_thunk): Remove dead code; use SYMBOL_REF_FLAGS.
- 	(small_data_operand, rs6000_emit_move, rs6000_elf_in_small_data_p,):
- 	Use SYMBOL_REF_FLAGS.
- 	(rs6000_elf_encode_section_info): Call default_encode_section_info for
- 	generic flags, use SYMBOL_REF_FLAGS; code cleanups.
- 	* sysv4.h (TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
- 	(SYMBOL_FLAG_SMALL_V4, SYMBOL_REF_SMALL_V4_P): New.
- 	* xcoff.h (TARGET_ENCODE_SECTION_INFO): Remove.
- 	(ASM_DECLARE_FUNCTION_NAME): Remove setting of SYMBOL_REF_FLAG.
- 
- 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* diagnostic.c (output_pointer): Use HOST_PTR_PRINTF.
- 
- 2003-04-30  Andreas Schwab  <schwab@suse.de>
- 
- 	* doc/extend.texi (Other Builtins): Enclose multiple word data
- 	type in braces for @deftypefn.
- 
- 2003-04-30  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (mode_for_size_tree): Use BLKmode if SIZE overflows.
- 
- 	* doc/install.texi (--enable-threads): Document "gnat" option.
- 
- 2003-04-30  Gabriel Dos Reis <gdr@integrable-solutions.net>
- 
- 	* diagnostic.h (output_formatted_scalar): Tweak.
- 	* diagnostic.c (output_long_decimal): Likewise.
- 	(output_unsigned_decimal): Likewise.
- 	(output_long_unsigned_decimal): Likewise.
- 	(output_octal): Likewise.
- 	(output_long_octal): Likewise.
- 	(output_hexadecimal): Likewise.
- 	(output_long_hexadecimal): Likewise.
- 	(output_pointer): New function.
- 	(output_format): Use it.  Recognize "%p" format specifier.
- 
- 2003-04-30  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* function.c (purge_addressof_1): Postpone insn in fewer cases.
- 
- 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/host-darwin.c (segv_handler): When -dH is used,
- 	call abort() after running out of stack space.
- 
- 	* c-typeck.c (function_types_compatible_p): Ignore incompatible
- 	'volatile' qualifiers on a function's return type in GNU mode.
- 
- 2003-04-29  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* expr.c (emit_group_load): Dump parallels of simd types to
- 	memory.
- 
- 2003-04-29  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (add_vect): Check undefined value for range type
- 	too.
- 
- 2003-04-29  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* configure.in:  More general test for cmp --ignore-initial.
- 	* configure:  Regenerate.
- 
- 2003-04-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (mode_for_size_tree): Use tree_low_cst.
- 	(layout_decl, place_field): Likewise.
- 	Also make minor type and whitespace changes.
- 
- 	* tree.c (save_expr): Don't fold a COMPONENT_REF.
- 
- 2003-04-29  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* calls.c (expand_call): When modes of target and valreg match,	force
- 	sibcall failure when target is a MEM.
- 
- 2003-04-29  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree-inline.c (inlinable_function_p): Don't support inlining
- 	functions using varargs.
- 
- 	* doc/invoke.texi (Overall Options): Mention -x objective-c-header.
- 
- 	* dwarf2out.c (output_call_frame_info): No need to output EH
- 	unwind information if all_throwers_are_sibcalls.
- 
- 	* c-semantics.c (expand_unreachable_stmt): Return a tree.
- 	(expand_stmt): Update for change to expand_unreachable_stmt.
- 	(expand_unreachable_if_stmt): Likewise.
- 
- 	* Makefile.in (quickstrap): Pass BOOT_CFLAGS to submake.
- 
- 2003-04-29  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/10336
- 	* jump.c (never_reached_warning): Really stop looking if we reach
- 	the beginning of the function.
- 
- 2003-04-29  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE, USER_LABEL_PREFIX):
- 	Remove redundant macros.
- 	(WCHAR_TYPE, WCHAR_TYPE_SIZE): Change to "short unsigned int".
- 	(LOCAL_LABEL_PREFIX): Define unconditionally.
- 	(NO_DOT_IN_LABEL): Clarify comment.
- 	* config/xtensa/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Add explicit
- 	definition to "long int".
- 
- 2003-04-29  Alexander Kabaev  <kan@FreeBSD.ORG>
- 
- 	bootstrap/10452
- 	* gengtype-yacc.y: Improve portability.
- 
- 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config.gcc: Install obsolete target list for GCC 3.3.
- 	* doc/install.texi: Mention in specific-target instructions
- 	that certain configurations are deprecated.
- 
- 2003-04-29  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h: Delete no-checking definition of CST_OR_CONSTRUCTOR_CHECK.
- 
- 2003-04-29  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
- 
- 	* c-pragma.c (maybe_apply_renaming_pragma): Fix typo.
- 	* gcc.c (display_help): Likewise.
- 	* toplev.c (f_options): Likewise.
- 	* params.def (PARAM_MAX_INLINE_SCOPE): Likewise.
- 	* config/c4x/c4x.h (TARGET_SWITCHES): Likewise.
- 	* config/mcore/mcore.h (TARGET_SWITCHES): Likewise.
- 	* config/s390/s390.h (TARGET_SWITCHES): Likewise.
- 	* config/v850/v850.h (TARGET_SWITCHES): Likewise.
- 
- 2003-04-29  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* varasm.c (default_assemble_visibility): Use assemble_name.
- 
- 2003-04-29  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/freebsd64.h (LINK_SPEC): Mirror FreeBSD linker.
- 	* config/rs6000/freebsd.h (LINK_SHLIB_SPEC): New macro.
- 	(SIZE_TYPE): New macro.
- 	* config/i386/freebsd-aout.h (NO_PROFILE_COUNTERS): New macro.
- 	(SET_ASM_OP): New macro.
- 	(HANDLE_SYSV_PRAGMA): New macro.
- 	(ASM_WEAKEN_LABEL): New macro.
- 
- 2003-04-28  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/10180
- 	* tree-inline.c (expand_call_inline): Call push_srcloc when
- 	encountering EXPR_WITH_FILE_LOCATION.  Honor warn_inline.
- 
- 2003-04-28  Mike Stump  <mrs@apple.com>
- 
- 	* gdbinit.in: Update to reflect new identifier structure.
- 
- 2003-04-28  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.h (TREE_CST_RTL, CST_OR_CONSTRUCTOR_CHECK): Delete.
- 	(struct tree_int_cst, struct tree_real_cst, struct tree_string,
- 	struct tree_complex, struct tree_vector): Remove RTL field.
- 	(CONSTRUCTOR_ELTS): Use elt 0.
- 	* tree.def (CONSTRUCTOR): Delete first of its two operands.
- 	* varasm.c (output_constant_def): Remove early exit if
- 	TREE_CST_RTL is set.  Don't set TREE_CST_RTL.
- 	(decode_addr_const): Don't mention TREE_CST_RTL in comment.
- 	* target.h (select_section): Don't mention TREE_CST_RTL in comment.
- 	* doc/tm.texi (encode_section_info): Don't talk about TREE_CST_RTL.
- 
- 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* c-decl.c (finish_decl): When prototype with asmspec is found
- 	for built-in, adjust built_in_decls as well as expr.c decls.
- 	* expr.c (init_block_move_fn, init_block_clear_fn): New functions.
- 	(emit_block_move_libcall_fn, clear_storage_libcall_fn): Use it.
- 	* expr.c (init_block_move_fn, init_block_clear_fn): New prototypes.
- 
- 2003-04-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (print_operand): Add 's' to sign-extend.
- 	* config/sparc/sparc.md (const_mulsidi3_v8plus): Fix mode of
- 	integral constant mult operand.
- 	(const_mulsidi3_sp32, const_mulsidi3_sp64): Likewise.
- 	(const_smulsi3_highpart_v8plus): Likewise.
- 	(const_smulsi3_highpart): Likewise.
- 	(const_umulsidi3_sp32): Likewise; sign-extend it in the output.
- 	(const_umulsidi3_sp64, const_umulsidi3_v8plus): Likewise.
- 	(const_umulsi3_highpart_v8plus): Likewise.
- 	(const_umulsi3_highpart): Likewise.
- 
- 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/x86-64.h (NO_PROFILE_COUNTERS, HAVE_AS_DWARF2_DEBUG_LINE):
- 	Define as 1.
- 
- 2003-04-28  David O'Brien  <obrien@FreeBSD.org>
- 
- 	* config/i386/i386.h (builtin_define): Add __amd64 and __amd64__.
- 
- 2003-04-28  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New.
- 	* builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New.
- 	* builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New
- 	functions.
- 	(expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE.
- 
- 2003-04-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/elf.h (ASM_OUTPUT_ALIGNED_COMMON): Remove definition.
- 
- 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* expr.c (expand_expr <COMPLEX_CST, STRING_CST>): Always call
- 	output_constant_def, use its result instead of TREE_CST_RTL (exp).
- 	Can assume it has the form (mem (symbol_ref ".LCxxx")).
- 	(expand_expr <COMPONENT_REF>): Can always just extract the
- 	relevant field of a CONSTRUCTOR.
- 	(expand_expr <ARRAY_REF, COMPONENT_REF, BIT_FIELD_REF,
- 	ARRAY_RANGE_REF>): Make control flow explicit.
- 	* varasm.c (output_constant_def): Can look at TREE_CST_RTL of
- 	an INTEGER_CST.
- 
- 2003-04-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reg_set_luid): Fix a comment typo.
- 
- 2003-04-27  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varasm.c (const_str_htab_hash, const_str_htab_eq, STRHASH,
- 	struct deferred_string, const_str_htab): Kill.
- 	(n_deferred_strings): New static variable.
- 	(build_constant_desc): Set SYMBOL_REF_DECL of the new
- 	symbol_ref to point to the constant.
- 	(output_constant_def): When a deferred string is forced out,
- 	just clear STRING_POOL_ADDRESS_P and decrement n_deferred_strings.
- 	(mark_constant): Likewise.
- 	(maybe_output_constant_def_contents): When deferring a string
- 	constant, just set STRING_POOL_ADDRESS_P and increment
- 	n_deferred_strings.
- 	(mark_constant_pool): Check n_deferred_strings, not the size
- 	of const_str_htab.
- 	(init_varasm_once): No need to create const_str_htab.
- 
- 	* rtl.def, rtl.h, doc/rtl.texi: Document possibility that
- 	SYMBOL_REF_DECL points to a constant.
- 
- 2003-04-26  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varasm.c (output_constant_def): Split out two new static
- 	functions, build_constant_desc and maybe_output_constant_def_contents.
- 	Restructure for comprehensibility.  Don't call
- 	output_addressed_constants.  Treat defstr being non-NULL for
- 	STRING_POOL_ADDRESS_P constants as an invariant.
- 	(struct deferred_string): Remove labelno field.
- 	(output_constant_def_contents): Kill labelno argument. Call
- 	output_addressed_constants here.  Use ASM_OUTPUT_LABEL,	not
- 	asm_out.internal_label.
- 	(mark_constant): Update call to	output_constant_def_contents.
- 	Treat defstr being non-NULL for STRING_POOL_ADDRESS_P
- 	constants as an invariant.
- 
- 2003-04-26  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (output_pic_addr_const): Use SYMBOL_REF_LOCAL_P.
- 	(ix86_expand_call, ix86_rtx_consts): Likewise.
- 
- 2003-04-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* doc/md.texi (cmpstr): Document additional restrictions.
- 
- 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* flags.h (time_report): Remove.
- 	* timevar.c (timevar_enable): New.
- 	(TIMEVAR_ENABLE): Remove, use timevar_enable.
- 	(timevar_init): Rename from init_timevar.
- 	* timevar.h (timevar_init): Rename from init_timevar.
- 	* toplev.c (time_report): Make static.
- 	(do_compile): Conditionally call init_timevar first.
- 	(preprocess_options): Move some code to do_compile.
- 
- 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* doc/install.texi (Binaries): Mention binaries for HC11/HC12.
- 
- 2003-04-26  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* _cpp_lex_direct: Remove pointless code.
- 
- 2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
- 
- 	* doc/extend.texi (Function Attributes): Document "near" and "far"
- 	for 68HC11 and 68HC12.
- 
- 2003-04-25  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* expr.c (store_field): When making temporary for store, don't
- 	make it TYPE_QUAL_CONST.
- 
- 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* toplev.c (read_integral_parameter):  Use "argument" in error
- 	message to distinguish it from actual invalid options.
- 
- 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Back out previous
- 	addition of __PIC__ and __pic__ macros.
- 	* config/xtensa/xtensa.h: Clean up indentation.
- 
- 2003-04-25  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Remove definition of
- 	_GNU_SOURCE.  Add definitions of __PIC__ and __pic__.
- 	(SUBTARGET_CPP_SPEC): Define.
- 	(LIB_SPEC): Delete.
- 	* config/xtensa/xtensa-protos.h (xtensa_declare_object): Delete.
- 	* config/xtensa/xtensa.c (xtensa_declare_object): Delete.
- 	* config/xtensa/xtensa.h (CPP_SPEC, SUBTARGET_CPP_SPEC, EXTRA_SPECS):
- 	Define.
- 	(ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
- 	(ASM_OUTPUT_ALIGNED_BSS, BSS_SECTION_ASM_OP): Define.
- 
- 2003-04-25  H.J. Lu <hjl@gnu.org>
- 
- 	* config/ia64/ia64.c (ia64_expand_compare_and_swap): Add rmode
- 	for return mode.
- 	(ia64_expand_builtin): Set rmode to SImode for
- 	IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_SI,
- 	IA64_BUILTIN_VAL_COMPARE_AND_SWAP_SI and
- 	IA64_BUILTIN_BOOL_COMPARE_AND_SWAP_DI. Set remode to DImode
- 	for IA64_BUILTIN_VAL_COMPARE_AND_SWAP_DI.
- 
- 2003-04-25  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* configure.in (make_compare_target):  Test for GNU cmp and set this
- 	variable appropriately.
- 	* Makefile.in (compare, compare3, compare4, compare-lean, compare3-lean,
- 	compare4-lean): Rename actual targets to slowcompare*.  New compare*
- 	targets depend on names based on make_compare_target.
- 	* configure:  Regenerated.
- 
- 2003-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_compute_frame_size): Allow inline asm
- 	to clobber ar.pfs and ar.unat.
- 	(ia64_expand_prologue): Force alloc instruction if ar.pfs saved;
- 	fix test for spilling ar.pfs to the stack.
- 
- 2003-04-25  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/10315
- 	* config/rs6000/rs6000.c (rs6000_emit_move): Only elide proper
- 	checks during reload; use validize_mem instead of adjust_address.
- 
- 2003-04-26  Ben Elliston  <bje@wasabisystems.com>
- 
- 	* config/arm/arm.c (arm_adjust_cost): Correct logic that tests the
- 	return values from recog_memoized().
- 
- 2003-04-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR opt/8705
- 	* gcse.c (try_replace_reg): On a successful substitution of a constant
- 	into a single set, try to simplify the source of the set.
- 	* loop.c (scan_loop): Don't try to optimize a MODE_CC set with a
- 	constant source.
- 
- 2003-04-24  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplex.c (cpp_token_len): Tighten up.
- 	(cpp_token_as_text): Need extra byte now.
- 	* cpplib.c (glue_header_name): Need extra 2 bytes.
- 	* cppmacro.c (cpp_macro_definition): Need extra byte.
- 
- 2003-04-24  Alexander Kabaev <kan@FreeBSD.ORG>
- 
- 	* config/sparc/sparc.md (umulsidi3, mulsidi3): Avoid using
- 	const_umulsidi3_sp32 and const_mulsidi3_sp32 on 64bit targets
- 	where they might be not present. Use their _sp64 equivalent
- 	instead.
- 
- Thu Apr 24 20:42:12 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cvtsi2sdq): Fix typo in previous patch.
- 
- 2003-04-24  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* configure.in: Check whether mbstowcs works.
- 	* configure, config.in: Regenerate.
- 	* intl.c: Use HAVE_WORKING_MBSTOWCS.
- 
- 2003-04-24  H.J. Lu <hjl@gnu.org>
- 
- 	* config/ia64/ia64.c (ia64_init_builtins): Add si_ftype_pdi_di_di
- 	for __sync_bool_compare_and_swap_di for int return type.
- 
- 	* config/ia64/ia64intrin.h (__sync_bool_compare_and_swap_di):
- 	Change return type to int.
- 	(__sync_bool_compare_and_swap): Likewise.
- 
- Thu Apr 24 16:55:26 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgbuild.c (make_edges):  Do not use next_nonnote_insn when
- 	looking for fallthru edge.
- 
- 	* athlon.md (athlon-agu, athlon-store, athlon-fany, athlon-faddmul):
- 	Fix.
- 	(athlon-load2, athlon-store2, athlon-fpsched, athlon-fpload,
- 	athlon-fvector): New.
- 	(athlon_*): Revisit to match new optimization guide.
- 	* i386.c (ix86_adjust_cost):  Fix memory operand costs on Athlon/k8
- 	* i386.md (cvt??2?? patterns): Fix modes.
- 	(fistp patterns): Set modes.
- 
- 	Accidentaly commited with my earlier reload patch:
- 	PR c/10308
- 	* reload.c (find_reloads_address_1): Reload plus at the place of
- 	index register.
- 
- 2003-04-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	New GCOV_TAG_FUNCTION layout
- 	* coverage.c (struct function_list): Replace name with ident.
- 	(struct counts_entry): Likewise.
- 	(fn_ident): New.
- 	(htab_counts_entry_hash, htab_counts_entry_eq,
- 	htab_counts_entry_del): Adjust.
- 	(reads_count_file, get_coverage_counts,
- 	coverage_begin_output, coverage_end_function): Adjust.
- 	(build_fn_info_type, build_fn_info_value): Likewise.
- 	* gcov-dump.c (tag_function): Adjust.
- 	* gcov-io.c (gcov_write_string, gcov_read_string): Not in LIBGCOV.
- 	* gcov-io.h (gcov_write_string, gcov_read_string): Not in LIBGCOV.
- 	* gcov.c (struct function_info): Add ident.
- 	(read_graph_file, read_count_file): Adjust.
- 	* libgcov.c (gcov_exit): Adjust.
- 
- 2003-04-23  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/8300
- 	* toplev.c (rest_of_compilation): Delay no_new_pseudos until
- 	after initialize_uninitialized_subregs; update reg info assuming
- 	new pseudos were created.
- 
- 2003-04-23  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-lex.o, LIBCPP_OBJS, cpplex.o): Update.
- 	* c-lex.c (MULTIBYTE_CHARS): Remove conditionals.
- 	(lex_string): Take cpp_string with full spelling.
- 	(cb_ident): Update.
- 	(c_lex): Update diagnostics.
- 	* cpplex.c (SPELL_NUMBER, SPELL_STRING): Combine into SPELL_LITERAL.
- 	(create_literal): New.
- 	(lex_string): Unterminated literals have type CPP_OTHER.
- 	(_cpp_lex_direct): Update calls to lex_string.  Use create_literal
- 	for CPP_OTHER.
- 	(cpp_token_len, cpp_spell_token, cpp_output_token): Simplify.
- 	(_cpp_equiv_tokens, cpp_interpret_charconst): Update.
- 	* cpplib.c (parse_include, do_line, do_linemarker,
- 	destringize_and_run): Update for token storing full spelling.
- 	* cpplib.h: Update token spelling types.
- 	* cppmacro.c (stringify_arg, check_trad_stringification):
- 	Update for token storing full spelling.
- 
- 2003-04-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_expand_cmpstr): Disable CLC loop.
- 
- 2003-04-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (TARGET_OPTIONS): Add value field.
- 
- 2003-04-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/extend.texi: Remove duplicate 2003 copyright date.
- 
- 2003-04-23  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (LIBGCC_DEPS): Add gcov headers.
- 	(libgcov.a): Depends on LIBGCC_DEPS.
- 	* basic-block.h (profile_info): Moved here from coverage.h. Made
- 	a pointer.
- 	* coverage.c (struct function_list): Fixed array of counter types.
- 	(struct counts_entry): Keyed by counter type, contains summary.
- 	(profile_info): Moved to profile.c.
- 	(prg_ctr_mask, prg_n_ctrs, fn_ctr_mask, fn_n_ctrs): New global
- 	vars.
- 	(profiler_label): Remove.
- 	(ctr_labels): New.
- 	(set_purpose, label_for_tag, build_counter_section_fields,
- 	build_counter_section_value, build_counter_section_data_fields,
- 	build_counter_section_data_values, build_function_info_fields,
- 	build_function_info_value, gcov_info_fields, gcov_info_value): Remove.
- 	(build_fn_info_type, build_fn_info_value, build_ctr_info_type,
- 	build_ctr_info_value, build_gcov_info): New.
- 	(htab_counts_entry_hash, htab_counts_entry_eq): Adjust.
- 	(reads_counts_file): Adjust.
- 	(get_coverage_counts): Takes counter number. Add summary
- 	parameter. Adjust.
- 	(coverage_counter_ref): Tkaes counter number. Adjust. Lazily
- 	create counter array labels.
- 	(coverage_end_function): Adjust.
- 	(create_coverage): Adjust.
- 	(find_counters_section): Remove.
- 	* coverage.h (MAX_COUNTER_SECTIONS): Remove.
- 	(struct section_info, struct profile_info): Remove.
- 	(profile_info): Moved to basic-block.h.
- 	(coverage_counter_ref): Takes a counter number.
- 	(get_coverage_counts): Takes a counter number. Added summary
- 	parameter.
- 	(find_counters_section): Remove.
- 	* gcov-dump.c (tag_arc_counts): Rename to ...
- 	(tag_counters): ... here. Adjust.
- 	(tag_table): Move tag_counters to 3rd entry. Remove
- 	PROGRAM_PLACEHOLDER and PROGRAM_INCORRECT entries.
- 	(dump_file): Check for counter tag values here.
- 	(tag_summary): Adjust.
- 	* gcov-io.c (gcov_write_summary, gcov_read_summary): Adjust.
- 	* gcov-io.h (GCOV_LOCKED): New.
- 	(GCOV_TAG_ARC_COUNTS): Rename to ...
- 	(GCOV_TAG_COUNTS_BASE): ... here.
- 	(GCOV_TAG_PLACEHOLDER_SUMMARY, GCOV_TAG_INCORRECT_SUMMARY):
- 	Remove.
- 	(GCOV_COUNTER_ARCS, GCOV_COUNTERS, GCOV_NAMES): New.
- 	(GCOV_TAG_FOR_COUNTER, GCOV_COUNTER_FOR_TAG,
- 	GCOV_TAG_IS_COUNTER): New.
- 	(struct gcov_ctr_summary): New.
- 	(struct gcov_summary): Adjust.
- 	(struct gcov_counter_section): Remove.
- 	struct gcov_counter_section_data): Remove.
- 	(struct gcov_function_info): Rename to ...
- 	(struct gcov_fn_info): ... here. Adjust.
- 	(struct gcov_ctr_info): New.
- 	(struct gcov_info): Adjust.
- 	* gcov.c (read_count_file): Adjust.
- 	(output_lines): Adjust.
- 	* libgcov.c (gcov_exit): Adjust.
- 	(__gcov_flush): Adjust.
- 	* mklibgcc.in (libgcc2_c_dep): Add gcov headers.
- 	* predict.c (maybe_hot_bb_p, probably_cold_bb_p,
- 	probably_never_executed_bb_p, compute_frequency_function): Adjust
- 	profile_info use.
- 	* profile.c (struct counts_entry): Remove.
- 	(profile_info): Define here.
- 	(get_exec_counts): Adjust get_coverage_counts call.
- 	(compute_branch_probablilities): Remove find_counters_section
- 	call.
- 	(gen_edge_profiler): Adjust coverage_counter_ref call.
- 	* tracer.c (tail_duplicate): Adjust profile_info use.
- 
- 2003-04-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/10339
- 	* builtins.c (expand_builtin_strcmp): Try to emit cmpstrsi insn
- 	directly instead of unsafely transforming call into a memcmp.
- 	(expand_builtin_strncmp): Likewise.
- 
- 2003-04-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* alias.c (mark_constant_function):  Check for constancy and
- 	purity even of void functions.  Update both the function decl
- 	and the cgraph RTL info with the results.
- 
- 2003-04-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (do_add): Change to return a bool indicating that the
- 	result of the operation may be inexact due to loss of precision.
- 	(do_multiply): Likewise.
- 	(do_divide): Likewise.
- 
- 2003-04-22  Geoffrey Keating  <geoffk@apple.com>
- 	    Loren James Rittle  <ljrittle@acm.org>
- 
- 	* dwarf2out.c (fde_table_allocated): Mark with GTY.
- 	(decl_die_table_allocated): Likewise.
- 	(abbrev_die_table_allocated): Likewise.
- 	(line_info_table_allocated): Likewise.
- 	(separate_line_info_table_allocated): Likewise.
- 	(pubname_table_allocated): Likewise.
- 	(arange_table_allocated): Likewise.
- 	(ranges_table_allocated): Likewise.
- 	(decl_die_table_in_use): Unconditionalize; mark with GTY.
- 	(abbrev_die_table_in_use): Likewise.
- 	(line_info_table_in_use): Likewise.
- 	(separate_line_info_table_in_use): Likewise.
- 	(pubname_table_in_use): Likewise.
- 	(arange_table_in_use): Likewise.
- 	(ranges_table_in_use): Likewise.
- 	(have_location_lists): Likewise.
- 	(emitcount): New GTY-marked static, moved...
- 	(maybe_emit_file): ...from here.
- 	(label_num): New GTY-marked static, moved...
- 	(gen_internal_sym): ...from here.
- 
- 2003-04-22  Richard Henderson  <rth@redhat.com>
- 
- 	PR 8866
- 	* rtl.h (MEM_NOTRAP_P): New.
- 	(MEM_COPY_ATTRIBUTES): Copy it.
- 	* rtlanal.c (may_trap_p): Check it.
- 	* expr.c (do_tablejump): Set it.
- 	* doc/rtl.texi (Flags): Document it.
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Revert last three changes.
- 
- 2003-04-22  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* config/alpha/alpha.c (alpha_expand_prologue [OPEN_VMS_ABI]): Don't
- 	set FRP on stack adjustment for outgoing args if frame_pointer_needed.
- 
- 2003-04-22  Vincent Celier <celier@gnat.com>
- 
- 	* gthr-gnat.h, gthr-gnat.c: new sources for implementation of
- 	--enable-threads=gnat.
- 	* Makefile.in: Add gthr-gnat.c to LIB2ADDEH.
- 	* configure.in: Add gnat to the list of thread packages
- 	* configure: Rebuild.
- 	* config/t-linux: Add gthr-gnat.c to LIB2ADDEH and LIB2ADDEHDEP
- 
- 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplex.c (_cpp_get_fresh_line): Pop the buffer if return_at_eof.
- 
- 2003-04-22  Devang Patel  <dpatel@apple.com>
- 
- 	* cpptrad.c (_cpp_replacement_text_len): Add check for macro
- 	parameter count.
- 	(_cpp_copy_replacement_text): Same.
- 
- 2003-04-22  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-lex.c (c_lex): Handle CPP_OTHER differently.
- 	* cppexp.c (_cpp_parse_expr): Similarly.
- 	* cpplex.c (SPELL_CHAR): Remove.
- 	(_cpp_lex_direct): Stray chars are saved as byte strings.
- 	(cpp_spell_token, cpp_output_token, _cpp_equiv_token): Don't
- 	handle SPELL_CHAR.
- 	(cpp_avoid_paste): Update handling of CPP_OTHER.
- 	* cpplib.h: Spell CPP_OTHER like a number.
- 	(struct cpp_token): Remove member c.
- 	* cppmacro.c (stringify_arg): Update handling of CPP_OTHER.
- 
- 2003-04-22  David Turner <novalis@gnu.org>
- 
- 	* gbl-ctors.h: Add special license exception.
- 	* libgcc2.h: Likewise.
- 	* tsystem.h: Likewise.
- 	* gcov-io.h: Likewise.
- 
- 2003-04-22  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* fold-const.c (fold_range_test): Use RANGE_TEST_NON_SHORT_CIRCUIT
- 	macro defaulting to original BRANCH_COST heuristic.
- 	* doc/tm.texi (RANGE_TEST_NON_SHORT_CIRCUIT): Document.
- 
- 	* config/rs6000/rs6000.h (RANGE_TEST_NON_SHORT_CIRCUIT): Define.
- 
- 2003-04-22  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/t-spe: Merge in t-fprules into file.
- 
- 	* config.gcc: Add t-spe to powerpc-eabispe.
- 
- 2003-04-22  Kean Johnston  <jkj@sco.com>
- 
- 	* tlink.c (recompile_files): Add missing '=' to putenv calls
- 
- 2003-04-22  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* ginclude/stddef.h: Provide C++ safe offsetof.
- 
- 2003-04-22  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* function.c (purge_addressof_1): In (mem (addressof (reg))) case
- 	for reg notes, if there are no substitutions, just use a SUBREG.
- 
- 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* Makefile.in (calls.o): Depend on except.h.
- 	* calls.c: Include except.h.
- 	(emit_call_1): Call note_eh_region_may_contain_throw if
- 	appropriate.
- 	* except.c (eh_region): Add may_contain_throw.
- 	(expand_eh_region_end_cleanup): Do not include handler code when
- 	it cannot be reached.
- 	(note_eh_region_may_contain_throw): New function.
- 	* except.h (note_eh_region_may_contain_throw): New function.
- 
- 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/winnt.c (i386_pe_mark_dllimport): Revert previous
- 	changes.
- 
- 2003-04-21  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): No SPE means
- 	64-bit long doubles.
- 
- 2003-04-21  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* fold-const.c (fold, case PLUS_EXPR and case MULT_EXPR): Restore
- 	a number of conversions required for type consistency and previously
- 	stripped off by STRIP_NOPS.
- 
- 	* calls.c (expand_call): Prevent sibcall optimization for calls to
- 	nested subprograms.
- 
- 	* expmed.c (extract_bit_field): Reverse operands of && condition to
- 	prevent a potential division by zero in the previously first branch.
- 	* config/pa/pa.md (extv, extzv): FAIL if the bitfield length is zero.
- 
- 2003-04-21  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dwarf2out.c (is_ada, is_ada_subrange_type): New functions.
- 	(subrange_type_die): Likewise.
- 	(modified_type_die): Emit a subrange_type DIE for Ada subrange types.
- 	(is_c_family, is_cxx, is_java, is_fortran): Return bool and clean up.
- 
- 2003-04-21  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Break out coverage routines to new file.
- 	* Makefile.in (COVERAGE_H): New variable
- 	(C_OBJS): Add coverage.o
- 	(coverage.o): New target.
- 	(profile.o, loop-init.o, sched-ebb.o, predict.o, tracer.o): Adjust
- 	dependencies.
- 	(GTFILES): Adjust.
- 	(gt-coverage.h): New target.
- 	(gt-profile.h): Remove.
- 	* profile.h: Remove. Move to ...
- 	* coverage.h: ... here. New. #include gcov-io.h.
- 	* gcov-io.h: Move function definitions to ...
- 	* gcov-io.c: ... here. New.
- 	* profile.c: Move coverage routines to coverage.c.
- 	(instrument_edges, get_exec_counts, branch_prob, init_branch_prob,
- 	end_branch_prob): Adjust.
- 	* coverage.c: New. Coverage routines from profile.c
- 	(coverage_counter_ref, coverage_init, coverage_finish,
- 	coverage_end_function, coverage_begin_output,
- 	coverage_counter_ref, get_coverage_counts): Define.
- 	* gcov-dump.c, gcov.c: #include gcov-io.c.
- 	* libgcov.c: Likewise. Adjust.
- 	* loop-init.c: Don't #include profile.h
- 	* tracer.c, predict.c, sched-ebb.c: Adjust #includes.
- 	* rtl.h: Add coverage prototypes.
- 	* toplev.c (compile_file): Init coverage, not branch_prob.
- 	Always call coverage_finish.
- 	(rest_of_compilation): Call coverage_end_function.
- 
- 2003-04-21  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* config/rs6000/rs6000.md (*movsf_softfloat): Add "h" <- "0" case.
- 
- 2003-04-21  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-ppoutput.c (cb_include): Don't take a cpp_token.
- 	* cppfiles.c: Don't undef strcmp.
- 	(find_include_file): Don't take a cpp_token.  Check for empty
- 	file names.
- 	(_cpp_execute_include, _cpp_compare_file_date): Don't take a cpp_token.
- 	(cpp_push_include): Simplify.
- 	* cpphash.h (_cpp_execute_include, _cpp_compare_file_date): Update.
- 	* cpplib.c (glue_header_name): Return the file name, not a cpp_token.
- 	(parse_include): Similary.  Don't check for zero-length filenames.
- 	(do_include_common, do_pragma_dependency): Update accordingly.
- 	* cpplib.h (struct cpp_callbacks): Change prototype of include.
- 
- 2003-04-21  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* doc/rtl.texi (RTX_UNCHANGING_P): Point to true_dependence for
- 	details of conflict handling.
- 
- 	* fold-const.c (extract_muldiv, case CONVERT_EXPR): Detect case
- 	when conversion overflows.
- 
- 	* stor-layout.c (layout_decl): Don't set DECL_SIZE_UNIT if already set.
- 
- 	* expr.c (store_constructor): Set RTX_UNCHANGING_P if readonly_field_p
- 	before clearing.
- 
- 2003-04-21  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* config/i386/winnt.c (i386_pe_mark_dllimport): Make the new RTL
- 	have the same form as the old RTL.
- 
- 2003-04-21  Andreas Jaeger  <aj@suse.de>
- 
- 	* cppcharset.c (_cpp_valid_ucn): Cast field precision to int.
- 
- 2003-04-20  Chris Lattner  <sabre@nondot.org>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.h, c-semantics.c: Rename genrtl_decl_cleanup to
- 	genrtl_cleanup_stmt.  Correct comment at head of
- 	genrtl_cleanup_stmt (no such thing as a DECL_CLEANUP).
- 
- 	* stmt.c (struct nesting): Kill n_function_calls.
- 	(expand_start_bindings): Don't set
- 	thisblock->data.block.n_function_calls.
- 	(expand_end_bindings): Compare function_call_count against 0.
- 	(expand_cleanups): Kill DONT_DO argument; all callers passed
- 	NULL_TREE. All callers updated to match.
- 
- 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varasm.c (struct deferred_constant, defer_addressed_constants_flag)
- 	(defer_addressed_constants, output_deferred_addressed_constants): Kill.
- 	(output_constant_def): Remove code predicated on
- 	defer_addressed_constants_flag.
- 
- 	* output.h: Remove prototypes of deleted functions.
- 	* c-typeck.c (constructor_subconstants_deferred): Kill.
- 	(struct initializer_stack): Remove 'deferred' field.
- 	(start_init): Remove all references to the above.
- 	(finish_init): Likewise. Also remove never-executed call to
- 	output_deferred_addressed_constants.  Pull assignment to
- 	defstr out of if expression.
- 
- 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (NOTE_ESC_NL, NOTE_ESC_SPACE_NL, NOTE_TRIGRAPH,
- 	NOTE_NEWLINE): Remove.
- 	* cpplex.c (_cpp_clean_line, _cpp_process_line_notes): Update
- 	to handle new form of line note type.
- 
- 2003-04-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* target.h (encode_section_info): Add new argument carrying
- 	the RTL to be modified by the hook.
- 
- 	* varasm.c (make_decl_rtl, output_constant_def): Update calls
- 	to encode_section_info.
- 	(default_encode_section_info): Take and use RTL argument,
- 	don't use TREE_CST_RTL or DECL_RTL.
- 	* output.h: Update prototype of default_encode_section_info.
- 	* config/darwin.h (ASM_DECLARE_OBJECT_NAME)
- 	(ASM_DECLARE_FUNCTION_NAME, ASM_OUTPUT_ALIGNED_DECL_LOCAL):
- 	Update calls to encode_section_info.
- 
- 	* config/darwin.c, config/arm/arm.c, config/arm/pe.c
- 	* config/h8300/h8300.c, config/i386/winnt.c, config/m32r/m32r.c
- 	* config/m68hc11/m68hc11.c, config/m88k/m88k.c, config/mcore/mcore.c
- 	* config/mips/mips.c, config/mmix/mmix.c, config/pa/pa.c
- 	* config/romp/romp.c, config/rs6000/rs6000.c, config/s390/s390.c
- 	* config/v850/v850.c (TARGET_ENCODE_SECTION_INFO definitions):
- 	Take and use RTL argument, don't use TREE_CST_RTL or DECL_RTL,
- 	except for PE dllimport/dllexport.  Update calls to
- 	default_encode_section_info.
- 
- 	* config/darwin-protos.h, config/arm/arm-protos.h, config/i386-protos.h:
- 	Update prototypes.
- 
- 	* doc/tm.texi (TARGET_ENCODE_SECTION_INFO): Update.
- 
- 2003-04-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR/8705
- 	* pa.md (movccfp): New expander.
- 	(setccfp0, setccfp1): Rename to movccfp0 and movccfp1, respectively.
- 	Reverse fcmp conditions.
- 
- 2003-04-20  Marek Michalkiewicz  <marekm@amelek.gda.pl>
- 
- 	* config/avr/avr.md (*cmpqi_sign_extend): Handle negative values
- 	of operand 1 correctly.
- 
- 2003-04-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* cpplex.c (_cpp_lex_direct): Set BOL for CPP_EOF tokens.
- 	* gcov.c (output_lines): Don't be so fussy about going past EOF.
- 
- 2003-04-20  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (LIBCPP_OBJS): Add cppcharset.o.
- 	(cppcharset.o): New target.
- 	* c-lex.c (is_extended_char): Move to cppcharset.c.
- 	(utf8_extend_token): Delete.
- 	* cppcharset.c: New file.
- 	* cpphash.h (_cpp_valid_ucn): New.
- 	* cpplex.c (lex_identifier): Update prototype.
- 	(continues_identifier_p): Rename forms_identifier_p.  Handle UCN
- 	escapes.
- 	(maybe_read_ucs): Rename maybe_read_ucn.  Update to use code
- 	in cppcharset.c.
- 	(lex_number, lex_identifier, cpp_parse_escape): Update.
- 	(_cpp_lex_direct): Update to handle UCNs.
- 	(cpp_avoid_paste): Don't paste to form a UCN.
- 
- 2003-04-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin):  Don't expand a pure or const
- 	built-in function if the result will be ignored and none of
- 	its arguments are volatile.
- 
- 2003-04-19  Kean Johnston  <jkj@sco.com>
- 
- 	* unwind-dw2.c (_Unwind_GetCFA): cast return to avoid warning
- 	* config.gcc: make SCO use dbxelf.h and elfos.h; only use one
- 	target fragment now: t-sco5; dont compile crti.o.
- 	* config/i386/sco5.h: major overhaul to remove all COFF remnants
- 	and to use elfos.h for most definitions.
- 	(BSS_SECTION_ASM_OP): set correct segment attributes.
- 	(PREFERED_DEBUGGING_TYPE): set to DWARF-2.
- 	(DWARF2_UNWIND_INFO): Always set to 1.
- 	(MD_STARTFILE_PREFIX): Make /usr/gnu/lib the default.
- 	(MD_STARTFILE_PREFIX_1): Define.
- 	(MD_EXEC_PREFIX): Adjust to /usr/gnu/bin if using GAS.
- 	(DEFAULT_LINKER): Define if not specified to configure.
- 	(CTORS_SECTION_ASM_OP): Remove COFF crud.
- 	(DTORS_SECTION_ASM_OP): Remove COFF crud.
- 	(WINT_TYPE): Define.
- 	(SDB_DEBUGGING_INFO): Remove.
- 	(EXTRA_SECTIONS): Likewise.
- 	(EXTRA_SECTION_FUNCTIONS): Likewise.
- 	(CTOR_LIST_BEGIN): Likewise.
- 	(CTOR_LIST_END): Likewise.
- 	(INIT_SECTION_FUNCTION): Likewise.
- 	(FINI_SECTION_FUNCTION): Likewise.
- 	(SUBTARGET_FRAME_POINTER_REQUIRED): Likewise.
- 	(LOCAL_LABEL_PREFIX): Likewise.
- 	(NON_SAVING_SETJMP): Likewise.
- 	(RETURN_POPS_ARGS): Likewise.
- 	(ASM_OUTPUT_SKIP): Likewise.
- 	(TARGET_ASM_NAMED_SECTION): Likewise.
- 	(ASM_OUTPUT_INTERNAL_LABEL): Likewise.
- 	(ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
- 	(ASM_OUTPUT_IDENT): Likewise.
- 	(ASM_OUTPUT_CASE_LABEL): Likewise.
- 	(ASM_OUTPUT_ASCII): Likewise.
- 	(ASM_OUTPUT_LIMITED_STRING): Likewise.
- 	(ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
- 	(ASM_OUTPUT_ALIGNED_COMMON): Likewise.
- 	(ASM_GENERATE_INTERNAL_LABEL): Likewise.
- 	(ASM_FINISH_DECLARE_OBJECT): Likewise.
- 	(ASM_DECLARE_OBJECT_NAME): Likewise.
- 	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
- 	(ASM_DECLARE_FUNCTION_NAME): Likewise.
- 	(ASM_DECLARE_RESULT): Likewise.
- 	(ASM_WEAKEN_LABEL): Likewise.
- 	(SUPPORTS_WEAK): Likewise.
- 	(APPLY_RESULT_SIZE): Likewise.
- 	(LPREFIX): Likewise.
- 	(ALIGN_ASM_OP): Likewise.
- 	(ASCII_DATA_ASM_OP): Likewise.
- 	(IDENT_ASM_OP): Likewise.
- 	(ASM_SHORT): Likewise.
- 	(ASM_LONG): Likewise.
- 	(TYPE_ASM_OP): Likewise.
- 	(SIZE_ASM_OP): Likewise.
- 	(STRING_ASM_OP): Likewise.
- 	(SKIP_ASM_OP): Likewise.
- 	(EH_FRAME_SECTION_ASM_OP): Likewise.
- 	(READONLY_DATA_SECTION_ASM_OP): Likewise.
- 	(INIT_SECTION_ASM_OP): Likewise.
- 	(FINI_SECTION_ASM_OP): Likewise.
- 	(TEXT_SECTION_ASM_OP): Likewise.
- 	(DATA_SECTION_ASM_OP): Likewise.
- 	(TYPE_OPERANT_FORMAT): Likewise.
- 	(ASM_SPEC): Remove COFF code.
- 	(STARTFILE_SPEC): Likewise. Always use crti.o; add -p and -pp support;
- 	cause -pg to emit an error; use pcrt1elf.o with -pp
- 	(ENDFILE_SPEC): Likewise.
- 	(TARGET_OS_CPP_BUILTINS): Add _SCO_DS_LL.
- 	(CPP_SPEC): Remove COFF crud; always look in /usr/gnu/include first.
- 	(LINK_SPEC): Remove COFF crud; use -E for environment switch not -R;
- 	add -z alt_resolve to support weak symbols the way GCC wants them.
- 	(LIB_SPEC): Use the profiler libraries in -p or -pp mode.
- 	(LIBGCC_SPEC): Dont use -lgcc in -G mode.
- 	(ASM_PREFERED_EH_DATA_FORMAT): Remove.
- 	* config/i386/t-sco5 (TARGET_LIBGCC2_CFLAGS): Remove.
- 	(CRTSTUFF_T_CFLAGS_S): Define.
- 	(MULTILIB_OPTIONS): Likewise.
- 	(MULTILIB_DIRNAMES): Likewise.
- 	(MULTILIB_MATCHES): Likewise.
- 	(MULTILIB_EXTRA_OPTS): Likewise.
- 	(LIBGCC): Likewise.
- 	(INSTALL_LIBGCC): Likewise.
- 	(crti.o): Remove.
- 	* config/i386/t-sco5gas: Remove.
- 	* doc/install.texi: Updated for new OpenServer instructions.
- 	* testsuite/gcc.dg/nest.c: Allow failure on SCO (-pg not supported)
- 
- 2003-04-19  Kean Johnston  <jkj@sco.com>
- 
- 	* fixinc/check.tpl: Allow user to over-ride diff program.
- 	* fixinc/inclhack.def: Removed extraneous #ifndef SVR5.
- 	(sco_math): Added test for SCO math header files.
- 	(sco_regset): Added check for conflicts with ieeefp.h.
- 	(svr4_disable_opt): Removed extraneous #ifdef SVR4.
- 	* fixinc/fixincl.x: Regenerated
- 	* fixinc/tests/base/math.h: Added sco_math tests.
- 	* fixinc/tests/base/string.h: New file.
- 	* fixinc/tests/base/sys/regset.h: New file.
- 
- 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (struct cpp_buffer): Remove backup_to.
- 	* cpplex.c (BACKUP, get_effective_char): Die.
- 	(_cpp_skip_block_comment): Assume '*' is location on entry.
- 	(continues_identifier_p): Respect -fno-dollars-in-identifiers.
- 	(IF_NEXT_IS): Update.
- 	(_cpp_lex_direct): Don't use backup_to; look ahead directly.
- 
- 2003-04-19  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* README.Portability: Move to a new section and obsolete K+R
- 	portability issues.
- 
- Sat Apr 19 14:56:17 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* rtlanal.c (subreg_offset_representable_p):  Fix call of
- 	subreg_lowpart.
- 
- 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpphash.h (struct cpp_reader): New member warned_dollar.
- 	* cpplex.c (continues_identifier_p): New function.
- 	(parse_identifier, parse_number, parse_string): Rename lex_identifer,
- 	lex_number and lex_string, and simplify.
- 	(parse_slow, unescaped_terminator_p): Die.
- 	(_cpp_lex_direct): Update.
- 
- 2003-04-19  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* calls.c (expand_call): Provide init for old_stack_pointer_delta.
- 
- 2003-04-19  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* doc/invoke.texi (-fprofile-arcs): Mention -lgcov, locking and
- 	fork behavior.
- 
- 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppexp.c (eval_token): Permit true and false even if pedantic.
- 
- 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cpplex.c (skip_whitespace): Rearrange to avoid stage1 ICE.
- 
- 2003-04-19  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (ENABLE_VALGRIND_CHECKING, VALGRIND_DISCARD,
- 	MMAP_THRESHOLD, TEST_THRESHOLD, SHOULD_MMAP): Remove.
- 	(struct include_file): Remove fefcnt, mapped members.
- 	(open_file, stack_include_file, _cpp_pop_file_buffer): Disable caching.
- 	(read_include_file): Don't use mmap, terminate buffers in '\r'.
- 	(purge_cache): Don't use munmap.
- 	* cpphash.h (CPP_BUF_COLUMN): Update.
- 	(lexer_state): Remove lexing_comment.
- 	(struct _cpp_line_note): New.
- 	(struct cpp_buffer): New members cur_note, notes_used, notes_cap,
- 	next_line and need_line.  Remove col_adjust and saved_flags.
- 	(_cpp_process_line_notes, _cpp_clean_line, _cpp_get_fresh_line,
- 	_cpp_skip_block_comment, scan_out_logical_line): New.
- 	(_cpp_init_mbchar): Remove.
- 	* cppinit.c (init_library): Remove call to _cpp_init_mbchar.
- 	(cpp_read_main_file): Set line to 1 earlier.
- 	(post_options): -traditional-cpp doesn't want trigraphs.
- 	* cpplex.c (MULTIBYTE_CHARS): Remove code predicated on this.
- 	(add_line_note, _cpp_clean_line, _cpp_process_line_notes,
- 	_cpp_get_fresh_line): New.
- 	(handle_newline, skip_escaped_newlines, trigraph_p,
- 	continue_after_nul, _cpp_init_mbchar): Remove.
- 	(get_effective_char): Update.
- 	(_cpp_skip_block_comment): Rename from skip_block_comment, simplify.
- 	(skip_line_comment): Simplify.
- 	(skip_whitespace, parse_identifier, parse_slow, parse_number,
- 	parse_string): Update.
- 	(cpp_lex_direct): Use clean lines and process line notes.  Update.
- 	(cpp_interpret_charconst): No MULTIBYTE_CHARS.
- 	* cpplib.c (prepare_directive_trad): Call scan_out_logical_line
- 	directly.
- 	(_cpp_handle_directive): Don't set saved_flags.
- 	(run_directive, destringize_and_run, cpp_define, cpp_define_builtin,
- 	cpp_undef, handle_assertion, cpp_push_buffer): Update.
- 	(_cpp_pop_buffer): Free notes.
- 	* cppmacro.c (builtin_macro, paste_tokens): \n terminate buffer.
- 	* cpppch.c (cpp_read_state): \n terminate buffer.
- 	* cpptrad.c (skip_escaped_newlines, handle_newline): Remove.
- 	(copy_comment): Use _cpp_skip_block_comment.
- 	(skip_whitespace, lex_identifier, _cpp_read_logical_line_trad):
- 	Simplify.
- 	(_cpp_overlay_buffer, _cpp_remove_overlay, push_replacement_text,
- 	save_replacement_text): Update.
- 	(scan_out_logical_line): Update to use clean lines and process
- 	line notes.
- 	* fix-header.c (read_scan_file): Update.
- 
- 2003-04-18  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* unwind-dw2-fde.c (__register_frame_info_bases): Check for
- 	null begin parameter (as well as pointer to null).
- 	(__deregister_frame_info_bases): Likewise.
- 
- 2003-04-18  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* function.c (purge_addressof_1): For ADDRESSOF, see if SUB is a
- 	hard or virtual register and copy into pseudo if replacement fails.
- 
- 	* cfgcleanup.c (flow_find_cross_jump): Use INSN_P, not active_insn_p.
- 
- 	* expmed.c (mask_rtx): Avoid undefined shifts for BITSIZE of 0.
- 
- 2003-04-18  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* calls.c (expand_call): Move special case for constructor calls
- 	to right place. Ensures constructor calls used to initialize
- 	arguments get a clean outgoing argument block for themselves.
- 	Move check for stack deallocation completeness until after last
- 	deallocation.  Add stack_pointer_delta to set of state
- 	variables saved and restored along with current stack_level.
- 
- 	* integrate.c (expand_inline_function): Ensure non-const actuals
- 	don't end up const in the caller's flow after conversion to possibly
- 	const formal type.
- 
- 2003-04-18  Vincent Celier  <celier@gnat.com>
- 
- 	* dwarf2out.c (loc_descriptor_from_tree): Treat all *_MOD_EXPR
- 	and *_DIV_EXPR as TRUNC_*_EXPR.
- 
- 2003-04-18  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block
- 	for orphaned jump tables.
- 
- 2003-04-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c: Revert my previous patch on 2002-04-17.
- 
- 2003-04-18  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Prefer "bug fix" over "bugfix".
- 	Add Segher Boessenkool.
- 
- 2003-04-18  Alexander Sotirov  <sluncho@mirizma.org>
- 
- 	PR c/9177
- 	* c-decl.c (c_expand_body): Don't garbage collect the function
- 	body if we are going to dump it later.
- 
- 2003-04-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): Remove.
- 	(alpha_end_function): Don't set them.
- 	(decl_in_text_section): Remove.
- 	(alpha_encode_section_info): Remove.
- 	(samegp_function_operand): Use SYMBOL_REF LOCAL_P and EXTERNAL_P.
- 	(direct_call_operand): Use SYMBOL_REF_DECL and compare actual
- 	sections, rather than decl_in_text_section results.
- 
- 2003-04-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* rtlanal.c (reg_overlap_mentioned_p): Handle ZERO_EXTRACT
- 	and SIGN_EXTRACT.
- 
- 2003-04-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/7675
- 	* c-typeck.c (build_external_ref): Set the DECL_NONLOCAL flag
- 	on VAR_DECL, PARM_DECL and FUNCTION_DECL from within
- 	nested functions if they refer to declarations from parent functions.
- 	* stmt.c (expand_decl): Don't put automatic variables in registers
- 	if the DECL_NONLOCAL flag is set.
- 
- 2003-04-18  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* gcse.c (compute_ld_motion_mems): For MEM destinations, only
- 	consider those to be movable where the source matches
- 	want_to_gcse_p.
- 	(update_ld_motion_stores): In comment, refer to
- 	compute_ld_motion_mems for validity of replacement.
- 
- Fri Apr 18 01:28:51 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcov-dump.c (tag_summary): Remove max_sum
- 	* gcov-io.h (gcov_summary, gcov_write_summary,
- 	gcov_read_summary): Kill max_sum.
- 	* libgcov.c (gcov_exit): Do one pass over the data.  Make error
- 	message more verbose.
- 
- 	* emit-rtl.c (subreg_hard_regno):  Check that register is
- 	representable.
- 
- 	* reload.c (reload_inner_reg_of_subreg):  When register is not
- 	representable, reload the whole thing.
- 	(find_reloads): Likewsie.
- 	* rtlanal.c (subreg_representable_p):  New function.
- 
- 	* profile.c (compute_branch_probabilities):  Cleanup sanity checking;
- 	allow negative probabilities for edges from the call to exit.
- 	(branch_prob): Do not add fake edges for functions that may return
- 	twice.
- 
- 2003-04-17  DJ Delorie  <dj@redhat.com>
- 
- 	* toplev.c (target_options): Add value field.
- 	(set_target_switch): Handle target options with	values.
- 	* doc/tm.texi: Document how fixed vs variable target
- 	options work.
- 	* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
- 	config/c4x/c4x.h, config/cris/aout.h, config/cris/cris.h,
- 	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
- 	config/frv/frv.h, config/i386/i386.h, config/ia64/ia64.h,
- 	config/m32r/m32r.h, config/m68hc11/m68hc11.h,
- 	config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
- 	config/mips/mips.h, config/mmix/mmix.h, config/pa/pa.h,
- 	config/rs6000/rs6000.h, config/rs6000/sysv4.h,
- 	config/s390/s390.h, config/sparc/sparc.h, config/v850/v850.h:
- 	Add value initializer to target options.
- 
- 2003-04-07  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* cpppch.c (cpp_valid_state): Unconditionally initialize nl.
- 
- 2003-04-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (move2add_last_cc0): New.
- 	(reload_cse_move2add): Detect implicit sets.
- 	(move2add_note_store): Notice a store into cc0.
- 
- 2003-04-17  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/10375
- 	* c-decl.c (duplicate_decls): Preserve "const" and "noreturn"
- 	function attributes.
- 
- 2003-04-17  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/sourcebuild.texi (Test Suites): Document support for testing
- 	binary compatibility (moved from testsuite/README.compat).
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_in_small_data_p): Disallow strings.
- 
- 2003-04-17  Simon Law  <sfllaw@engmail.uwaterloo.ca>
- 
- 	* doc/include/gpl.texi: Fix double-spacing after "MA" to match
- 	the one provided by the FSF.
- 
- 2003-04-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Binaries): Update URL and list of platforms
- 	provided by ftp.thewrittenword.com.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/xtensa/xtensa.c (xtensa_encode_section_info): Remove.
- 	(call_insn_operand): Use SYMBOL_REF_LOCAL_P.
- 	* config/xtensa/xtensa.md (call, call_value): Likewise.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/v850/v850.c (print_operand): Use SYMBOL_REF_[ZST]DA.
- 	(print_operand_address): Likewise.
- 	(ep_memory_operand): Likewise.
- 	(special_symbolref_operand): Likewise.
- 	(v850_encode_data_area): Use SYMBOL_REF_FLAGS.
- 	(v850_encode_section_info): Call default_encode_section_info.
- 	(v850_strip_name_encoding): Remove.
- 	* config/v850/v850.h (EXTRA_CONSTRAINT): Use SYMBOL_REF_[ZST]DA.
- 	(ASM_OUTPUT_LABELREF): Remove.
- 	(ZDA_NAME_FLAG_CHAR, ZDA_NAME_P): Remove.
- 	(SDA_NAME_FLAG_CHAR, SDA_NAME_P): Remove.
- 	(TDA_NAME_FLAG_CHAR, TDA_NAME_P): Remove.
- 	(ENCODED_NAME_P): Remove.
- 	(SYMBOL_FLAG_ZDA, SYMBOL_REF_ZDA_P): New.
- 	(SYMBOL_FLAG_SDA, SYMBOL_REF_SDA_P): New.
- 	(SYMBOL_FLAG_TDA, SYMBOL_REF_TDA_P): New.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_encode_section_info): Kill.
- 	* config/stormy16/stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use
- 	SYMBOL_REF_FUNCTION_P.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sparc/sparc.c (sparc_encode_section_info): Remove.
- 	(data_segment_operand): Use SYMBOL_REF_FUNCTION_P.
- 	(text_segment_operand): Likewise.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/sh/sh.c (gen_datalabel_ref): Don't add SH_DATALABEL_ENCODING.
- 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
- 	(legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
- 	(sh_encode_section_info): Remove.
- 	(sh_strip_name_encoding): Remove.
- 	* config/sh/sh.h (SH_DATALABEL_ENCODING): Remove.
- 	(DATALABEL_SYMNAME_P, STRIP_DATALABEL_ENCODING): Remove.
- 	(SH_TLS_ENCODING, TLS_SYMNAME_P, STRIP_TLS_ENCODING): Remove.
- 	(ASM_OUTPUT_LABELREF): Remove.
- 	(ASM_OUTPUT_SYMBOL_REF): Use SYMBOL_REF_FUNCTION_P.
- 	* config/sh/sh.md (*): Use SYMBOL_REF_LOCAL_P.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/s390/s390.c (SYMBOL_FLAG_ALIGN1): New.
- 	(tls_model_chars): Remove.
- 	(larl_operand): Use SYMBOL_REF_FLAGS.
- 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
- 	(legitimize_pic_address): Use SYMBOL_REF_LOCAL_P.
- 	(s390_output_mi_thunk): Likewise.
- 	(s390_emit_prologue): Set SYMBOL_FLAG_LOCAL as needed.
- 	(s390_function_profiler): Likewise.
- 	(s390_encode_section_info): Use default_encode_section_info
- 	and SYMBOL_FLAG_ALIGN1.
- 	(s390_strip_name_encoding): Remove.
- 	* config/s390/s390.h (ASM_OUTPUT_LABELREF): Remove.
- 	* config/s390/s390.md (call, call_value): Use SYMBOL_REF_LOCAL_P.
- 	(builtin_setjmp_receiver): Set SYMBOL_FLAG_LOCAL as needed.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ns32k/ns32k.c (ns32k_encode_section_info): Remove.
- 	(global_symbolic_reference_mentioned_p): Use SYMBOL_REF_LOCAL_P.
- 	(print_operand_address): Likewise.
- 
- 	* config/ns32k/ns32k.h (CANNOT_CHANGE_MODE_CLASS): Add CLASS argument.
- 	* config/ns32k/ns32k.c (expand_block_move): Don't check
- 	flag_unroll_loops.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/mcore/mcore.c (mcore_encode_section_info): Don't set
- 	SYMBOL_REF_FLAG.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (SYMBOL_FLAG_MACH_DEP_SHIFT): New.
- 
- 	* config/m32r/m32r.c (SYMBOL_FLAG_MODEL_SHIFT): New.
- 	(SYMBOL_REF_MODEL): New.
- 	(LIT_NAME_P): Move from m32r.h.
- 	(m32r_select_section): Remove.
- 	(m32r_encode_section_info): Use SYMBOL_REF_FLAGS.
- 	(m32r_strip_name_encoding): Remove.
- 	(m32r_in_small_data_p): New.
- 	(small_data_operand): Use SYMBOL_REF_SMALL_P.
- 	(addr24_operand): Use SYMBOL_REF_MODEL.
- 	(call26_operand): Likewise.
- 	(addr32_operand): Tidy.
- 	(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
- 	* config/m32r/m32r.h (RODATA_SECTION_ASM_OP): Remove.
- 	(SDATA_SECTION_ASM_OP, SBSS_SECTION_ASM_OP): Remove.
- 	(READONLY_DATA_SECTION_ASM_OP): Remove.
- 	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Remove.
- 	(SDATA_SECTION_FUNCTION, SBSS_SECTION_FUNCTION): Remove.
- 	(TARGET_ASM_SELECT_SECTION): Remove.
- 	(SDATA_FLAG_CHAR, MEDIUM_FLAG_CHAR, LARGE_FLAG_CHAR): Remove.
- 	(SDATA_NAME_P, SMALL_NAME_P, MEDIUM_NAME_P): Remove.
- 	(LARGE_NAME_P, ENCODED_NAME_P): Remove.
- 	(ASM_OUTPUT_LABELREF): Remove.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ip2k/ip2k.c (is_regfile_address): Use SYMBOL_REF_FUNCTION_P.
- 	(encode_section_info): Remove.
- 	* config/ip2k/ip2k-protos.h: Update.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* varasm.c (default_encode_section_info): Don't set
- 	SYMBOL_FLAG_EXTERNAL if not TREE_PUBLIC.
- 	* config/i370/i370.c (i370_encode_section_info): Remove.
- 	* config/i370/i370.h (CONSTANT_ADDRESS_P): Use SYMBOL_REF_EXTERNAL_P.
- 	(PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Likewise.
- 	* config/i370/i370.md (movsi): Likewise.
- 
- 	* config/i370/t-i370: Add missing backslash.
- 
- 2003-04-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/invoke.texi (inline-limit): Fix pasto.
- 
- 2003-04-17  Richard Henderson  <rth@redhat.com>
- 
- 	* config/h8300/h8300.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): New.
- 	(small_call_insn_operand): Use it.
- 	(SYMBOL_FLAG_EIGHTBIT_DATA): New.
- 	(h8300_eightbit_constant_address_p): Use it.
- 	(SYMBOL_FLAG_TINY_DATA): New.
- 	(h8300_tiny_constant_address_p): Use it.
- 	(h8300_encode_label, h8300_strip_name_encoding): Remove.
- 	(h8300_encode_section_info): Set SYMBOL_REF_FLAGS.
- 	* config/h8300/h8300.h (TINY_DATA_NAME_P): Remove.
- 	(ASM_OUTPUT_LABELREF): Remove.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/frv/frv.c (symbol_ref_small_data_p): Remove.  Replace
- 	all users with SYMBOL_REF_SMALL_P.
- 	(const_small_data_p): Use SYMBOL_REF_SMALL_P.
- 	(frv_encode_section_info): Remove.
- 	(frv_strip_name_encoding): Remove.
- 	(frv_in_small_data_p): Merge tests from encode_section_info.
- 	(frv_print_operand): Use '@' not SDATA_FLAG_CHAR.
- 	* config/frv/frv.h (SDATA_FLAG_CHAR): Remove.
- 	(SDATA_NAME_P): Remove.
- 	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): Use SIZE not SDATA_NAME_P.
- 	(ASM_OUTPUT_LABELREF): Remove.
- 	(PRINT_OPERAND_PUNCT_VALID_P): Use '@' not SDATA_FLAG_CHAR.
- 
- 	* config/frv/frv.c (frv_asm_out_constructor): New.
- 	(frv_asm_out_destructor): New.
- 	* config/frv/frv.h (CTORS_SECTION_ASM_OP): New.
- 	(DTORS_SECTION_ASM_OP): New.
- 	(ASM_OUTPUT_CONSTRUCTOR): Remove.
- 	(ASM_OUTPUT_DESTRUCTOR): Remove.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use
- 	SYMBOL_REF_LOCAL_P; abort if not pic.
- 	(cris_encode_section_info): Remove.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/c4x/c4x.c (c4x_encode_section_info): Remove.
- 	(c4x_T_constraint): Use SYMBOL_REF_FUNCTION_P.
- 
- 	* config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Declare
- 	flag_inline_trees.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/avr/avr.c (avr_encode_section_info): Remove.
- 	(avr_insert_attributes): New.
- 	(print_operand_address): Use SYMBOL_REF_FUNCTION_P.
- 	(avr_assemble_integer): Likewise.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* arc.c (arc_encode_section_info): Remove.
- 	(arc_assemble_integer): Use SYMBOL_REF_FUNCTION_P.
- 	(arc_print_operand, arc_print_operand_address): Likewise.
- 	* arc.h (EXTRA_CONSTRAINT): Likewise.
- 
- 2003-04-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-semantics.c (find_reachable_label): New function to find a
- 	potentially reachable label in an expression.
- 	(expand_unreachable_if_stmt): Similar to expand_if_stmt but
- 	assumes the start of the IF_STMT is unreachable (dead) code.
- 	(expand_unreachable_stmt): Similar to expand_stmt but assumes
- 	the start of the statement list is unreachable (dead) code.
- 	(genrtl_if_stmt):  If the controlling expression of the IF
- 	is constant, use expand_unreachable_stmt for the THEN or ELSE
- 	clause as appropriate.
- 	(genrtl_switch_stmt):  Use expand_unreachable_stmt to expand
- 	the body of a SWITCH statement.
- 	(expand_stmt): The code immediately following a "return",
- 	"break", "continue" or "goto" is unreachable.
- 	* Makefile.in (c-semantics.o): Depend upon tree-inline.h.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.h (MEM_ALIAS_SET): Update documentation.
- 	* doc/rtl.texi (Special Accessors): New node.
- 	(SYMBOL_REF_FLAG): Note relationship with SYMBOL_REF_FLAGS.
- 
- 2003-04-16  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload1.c (reload_cse_noop_set_p): Return false if mode of
- 	SET_DEST is not the same as that returned by...
- 	* cselib.h (cselib_reg_set_mode): ... new function.
- 	* cselib.c (cselib_reg_set_mode): Define it.
- 	(REG_VALUES): Document semantics of first element as set mode.
- 	(cselib_subst_to_values): Skip first element if ELT is NULL.
- 	(cselib_lookup): Likewise.  Insert past the first element.
- 	(cselib_invalidate_regno): NULLify first element.
- 	(cselib_record_set): Set first element.
- 
- 2003-04-16  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* tree.c (skip_simple_arithmetics_at, saved_expr_p): New functions.
- 	(save_expr): Replace loop by call to skip_simple_arithmetics_at.
- 	* tree.h: Add prototypes for the two new functions.
- 	* fold-const.c (fold_binary_op_with_conditional_arg): Replace test
- 	updates introduced in the previous revision by call to saved_expr_p.
- 	* stor-layout.c (put_pending_size): Use skip_simple_arithmetics_at.
- 
- 	* expr.c (store_field): Force usage of bitfield instructions when
- 	the field position requires it, whatever SLOW_UNALIGNED_ACCESS.
- 	(expand_expr, case BIT_FIELD_REF): likewise.
- 
- 2003-04-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR middle-end/8866
- 	* cfgtrl.c (try_redirect_by_replacing_jump): Do not delete
- 	jumptables.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (sdata_symbolic_operand): Use
- 	SYMBOL_REF_SMALL_P and SYMBOL_REF_LOCAL_P.
- 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
- 	(function_operand): Use SYMBOL_REF_FUNCTION_P.
- 	(ia64_expand_load_address): Likewise.
- 	(ia64_assemble_integer): Likewise.
- 	(ia64_encode_section_info): Remove.
- 	(ia64_strip_name_encoding): Remove.
- 	* config/ia64/ia64.h (ENCODE_SECTION_INFO_CHAR): Remove.
- 	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't strip it.
- 
- 2003-04-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP): New.
- 	(samegp_function_operand): Use SYMBOL_FLAG_SAMEGP.
- 	(direct_call_operand): Use SYMBOL_FLAG_NEAR.
- 	(local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
- 	(small_symbolic_operand): Use SYMBOL_REF_SMALL_P.
- 	(global_symbolic_operand): Similarly.
- 	(tls_symbolic_operand_1): Use SYMBOL_REF_TLS_MODEL.
- 	(tls_symbolic_operand_type): Likewise.
- 	(alpha_encode_section_info): Use default_encode_section_info.
- 	(alpha_strip_name_encoding): Remove.
- 	(get_tls_get_addr): Split out from ...
- 	(alpha_legitimize_address): ... here.
- 	(alpha_emit_xfloating_libcall): Use init_one_libfunc.
- 	(get_some_local_dynamic_name_1): Use SYMBOL_REF_TLS_MODEL.
- 	(alpha_initialize_trampoline): Use init_one_libfunc.
- 	(alpha_setup_incoming_varargs): Mark unused parameters.
- 	(alpha_initial_elimination_offset): Likewise.
- 	(alpha_end_function): Use SYMBOL_FLAG_NEAR, SYMBOL_FLAG_SAMEGP.
- 	(unicosmk_unique_section): Use default_strip_name_encoding.
- 	(unicosmk_ssib_name, unicosmk_output_externs): Likewise.
- 
- 2003-04-16  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config.gcc: Add t-spe for eabispe.
- 
- 	* config/rs6000/t-spe: New.
- 
- 2003-04-16  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	Re-apply this patch:
- 
- 	2002-05-16  Dale Johannesen  <dalej@apple.com>
- 	  * combine.c (cant_combine_insn_p):  Reenable combinations
- 	  involving hard regs unless CLASS_LIKELY_SPILLED_P.
- 
- 2003-04-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR/10271
- 	* pa-protos.h (function_arg): Remove last argument.
- 	* pa.c (function_arg): Likewise.  Use CUMULATIVE_ARGS struct instead.
- 	* pa.h (struct hppa_args): Add member incoming.
- 	(INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Initialize
- 	member incoming.
- 	(FUNCTION_ARG): Revise call to function_arg.
- 	(FUNCTION_INCOMING_ARG): Delete.
- 
- 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Unify the code which creates symlinks to a
- 	just-built as, ld, objdump, and nm with the code that detects
- 	their presence for purposes of feature tests.
- 	* configure: Regenerate.
- 
- 2003-04-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* varasm.c (output_constant_def): Do not consult
- 	CONSTANT_AFTER_FUNCTION_P.  Remove all code predicated on it.
- 	(after_function_constants, output_after_function_constants): Delete.
- 	* doc/tm.texi: Delete documentation of CONSTANT_AFTER_FUNCTION_P.
- 	* config/mips/mips-protos.h, config/mips/mips.c
- 	(mips16_constant_after_function_p): Delete.
- 	* config/mips/mips.h: Delete #if-0-ed definition of
- 	CONSTANT_AFTER_FUNCTION_P.
- 	* config/d30v/d30v.h, config/stormy16/stormy16.h: Remove
- 	mention of CONSTANT_AFTER_FUNCTION_P in comment.
- 
- 2003-04-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* tree.c (next_decl_uid): Mark with GTY.
- 	(next_type_uid): Likewise.
- 
- 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	PR target/9594:
- 	* sh.c (barrier_align): Also recognize stuff_delay_slot as
- 	an indicator that a barrier was created by branch splitting.
- 
- 2003-04-15  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-decl.c (implicitly_declare): Copy declarations that are going
- 	to be placed in a local scope.
- 
- 2003-04-15  James A. Morrison  <ja2morri@uwaterloo.ca>
- 
- 	* invoke.texi (Spec Files): Wrap if-exists-else example.
- 	(MCore): Remove duplicate @itemx entries and @opindex entries.
- 
- 2003-04-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* unwind.inc (_Unwind_Backtrace): New function.
- 	* unwind.h (_Unwind_Backtrace): Declare it.
- 	* libgcc-std.ver (_Unwind_Backtrace): Export it.
- 
- 2003-04-14  Jason Merrill  <jason@redhat.com>
- 
- 	PR middle-end/10336, c++/10401
- 	* jump.c (never_reached_warning): Also stop looking if we reach the
- 	beginning of the function.
- 
- 2003-04-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	PR target/10338
- 	PR bootstrap/10198
- 	PR bootstrap/10140
- 	* fixinc/gnu-regex.c (regerror): Use mempcpy not __mempcpy.
- 
- 2003-04-15  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* i386.md (abssf2_if+1): Make condition agree with abssf2_1 .
- 
- 2003-04-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* optabs.c (expand_binop): In multi-word add cases, ensure
- 	XTARGET is copied to TARGET if they are different.
- 
- 2003-04-15  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* except.c (resolve_fixup_regions): Avoid dereferencing null pointer
- 	to region, possible after integration of function with unreachable
- 	regions that were optimized away.
- 
- 2003-04-15  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.h (EPILOGUE_USES): Use register 2,
- 	instead of TOC_REGISTER in epilogue in
- 	current_function_calls_eh_return functions.
- 
- 2003-04-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/extend.texi (Empty Structures): Correct description of G++'s
- 	handling of these structures.
- 
- 	* c-decl.c (grokdeclarator): Reject extern redeclarations of
- 	static variables.
- 
- 2003-04-14  Janis Johnson  <janis287@us.ibm.com>
- 
- 	* config/rs6000/rs6000.md (define_constants): Define constants for
- 	all UNSPEC usage, including new values for TLS support.
- 	(aux_truncdfsf2, fctiwz, movsi_got, movsi_got_internal,
- 	load_toc_aix_si, load_toc_aix_di, load_toc_v4_pic_si,
- 	load_toc_v4_PIC_1, load_toc_v4_PIC_1b, load_macho_picbase,
- 	macho_correct_pic, blockage, move_from_CR_ov_bit, movesi_from_cr,
- 	stack_tie, movsi_to_cr_one, movsi_to_cr, mtcrfsi, eh_set_lr_si,
- 	eh_set_lr_di): Use them.
- 	* rs6000.c: (mtcrf_operation, uses_TOC, rs6000_emit_prologue,
- 	rs6000_emit_epilogue) Use them.
- 
- 	* rtl.h (SYMBOL_REF_TLS_MODEL): Fix mask value.
- 
- 2003-04-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-opts.o): Use custom action.
- 
- 2003-04-14  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* ifcvt.c (noce_process_if_block): Fail on BLKmode move.
- 
- 2003-04-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stor-layout.c (layout_type, case ARRAY_TYPE): Add missing code to
- 	handle "superflat arrays" in Ada.
- 
- 	* integrate.c (expand_inline_function): Don't inline if would
- 	lose /u on a BLKmode TARGET.
- 
- 2003-04-14  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dbxout.c (print_int_cst_bounds_in_octal_p): New function,
- 	extracted from dbxout_type.
- 	(dbxout_range_type): print large bounds in octal format.
- 	(dbxout_type): Replace extracted code by call to
- 	print_int_cst_bounds_in_octal_p.
- 
- 	* dwarf2out.c (gen_compile_unit_die): Emit DW_LANG_Ada95 instead
- 	of DW_LANG_Ada83 for Ada units.
- 
- 2003-04-14  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* explow.c (round_push): Use HOST_WIDE_INT instead of int for the
- 	temporary used to round CONST_INT sizes.
- 
- 	* tree.c (int_fits_type_p): Extract generic checks from the case
- 	of constant type bounds. Refine the checks against constant type
- 	bounds to allow for possible decisions against each of these bounds
- 	without requiring both bounds to be constant.
- 	(tree_int_cst_msb): Put back.
- 	* tree.h (tree_int_cst_msb): Likewise.
- 
- 	* global.c (global_conflicts): Prevent allocation of call clobbered
- 	hard regs to pseudos live across abnormal edges, as later passes are
- 	not ready to handle them.
- 
- 	* fold-const.c (fold): Reorder tests for conditional expressions.
- 
- 	* expr.c (highest_pow2_factor): Return unsigned.
- 	* expr.h (offset_address): Likewise.
- 	* emit-rtl.c (offset_address): POW2 argument now unsigned.
- 
- 2003-04-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (expand_builtin_strlen):  Evaluate the lengths of
- 	string literals at compile-time.
- 
- 2003-04-14  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold):  Transform (c1 - x) cmp c2, where cmp is a
- 	comparison operation and c1/c2 are floating point constants into
- 	x swap(cmp) (c1 - c2).
- 
- 2003-04-14  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (output_translate_vect): Fix a typo in loop
- 	condition.
- 
- 2003-04-14  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	PR target/10377
- 	* config/cris/cris.md ("*mov_sideqi", "*mov_sidehi")
- 	("*mov_sidesi", "*mov_sideqi_mem", "*mov_sidehi_mem")
- 	("*mov_sidesi_mem", "*clear_sidesi", "*clear_sidehi")
- 	("*clear_sideqi", "*ext_sideqihi", "*ext_sideqisi")
- 	("*ext_sidehisi", "*op_sideqi", "*op_sidehi", "*op_sidesi")
- 	("*op_swap_sideqi", "*op_swap_sidehi", "*op_swap_sidesi")
- 	("*extopqihi_side", "*extopqisi_side", "*extophisi_side")
- 	("*extopqihi_swap_side", "*extopqisi_swap_side")
- 	("*extophisi_swap_side", 8th, 9th, 10th, 11th, 14th peepholes):
- 	When next to constraint R, replace constraint i with n.
- 
- Mon Apr 14 16:18:37 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/10024
- 	* cfgrtl.c (force_nonfallthru_and_redirect): Use unchecked_make_edge.
- 
- 2003-04-14  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>
- 
- 	* doc/contrib.texi (Contributors): Correct my entry.
- 
- 2003-04-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* tree.h (DECL_BUILT_IN_NONANSI): Remove.
- 	* c-common.c (builtin_function_2): Don't set DECL_BUILT_IN_NONANSI.
- 	* c-decl.c (duplicate_decls): Use invariant DECL_BUILT_IN_NONANSI
- 	implies DECL_BUILT_IN to simplify logic.
- 	* print-tree.c (print_node): Don't dump DECL_BUILT_IN_NONANSI.
- 
- 2003-04-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
- 	(BT_FN_PTR_SIZE_SIZE): Likewise.
- 	* builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP):
- 	New built-in functions for malloc, calloc and strdup respectively.
- 	* calls.c (special_function_p): No need to handle malloc-like
- 	functions any longer.  ECF_MALLOC is set via built-in attributes.
- 
- 	* c-decl.c (duplicate_decls): Preserve pure and malloc attributes.
- 
- 	* doc/extend.texi: Document these new built-in functions.
- 
- 2003-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.
- 	(expand_builtin_stpcpy): New.
- 	(expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY.
- 	* builtins.def: Add mempcpy & stpcpy support.
- 	* doc/extend.texi (mempcpy, stpcpy): Document new builtins.
- 
- 2003-04-13  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/rs6000.c: Replace occurrences of "GNU CC" with
- 	"GCC".
- 	* config/rs6000/40x.md, config/rs6000/603.md,
- 	config/rs6000/6xx.md, config/rs6000/7450.md, config/rs6000/7xx.md,
- 	config/rs6000/8540.md, config/rs6000/aix.h, config/rs6000/aix31.h,
- 	config/rs6000/aix3newas.h, config/rs6000/aix41.h,
- 	config/rs6000/aix43.h, config/rs6000/aix51.h,
- 	config/rs6000/aix52.h, config/rs6000/altivec-defs.h,
- 	config/rs6000/altivec.h, config/rs6000/altivec.md,
- 	config/rs6000/beos.h, config/rs6000/darwin.h,
- 	config/rs6000/eabi.h, config/rs6000/eabialtivec.h,
- 	config/rs6000/eabisim.h, config/rs6000/eabispe.h,
- 	config/rs6000/freebsd.h, config/rs6000/gnu.h,
- 	config/rs6000/host-darwin.c, config/rs6000/linux.h,
- 	config/rs6000/linux64.h, config/rs6000/linuxaltivec.h,
- 	config/rs6000/lynx.h, config/rs6000/mach.h, config/rs6000/mpc.md,
- 	config/rs6000/netbsd.h, config/rs6000/power4.md,
- 	config/rs6000/rios1.md, config/rs6000/rios2.md,
- 	config/rs6000/rs6000-c.c, config/rs6000/rs6000-modes.def,
- 	config/rs6000/rs6000-protos.h, config/rs6000/rs6000.c,
- 	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
- 	config/rs6000/rs64.md, config/rs6000/rtems.h, config/rs6000/spe.h,
- 	config/rs6000/spe.md, config/rs6000/sysv4.h,
- 	config/rs6000/sysv4le.h, config/rs6000/vxworks.h,
- 	config/rs6000/windiss.h, config/rs6000/xcoff.h: Likewise.
- 
- 2003-04-13  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Delete
- 	support for -mcall-aix switch.
- 	* config/rs6000/eabiaix.h: Delete.
- 	* config/rs6000/rs6000.h (rs6000_abi): Remove ABI_AIX_NODESC.
- 	(RS6000_REG_SAVE, RS6000_SAVE_AREA, FP_ARGS_MAX_REG,
- 	RETURN_ADDRESS_OFFSET): Remove use of ABI_AIX_NODESC.
- 	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Likewise.
- 	* config/rs6000/rs6000.c (print_operand, rs6000_stack_info,
- 	debug_stack_info, output_function_profiler,
- 	rs6000_trampoline_size, rs6000_initialise_trampoline): Likewise.
- 	* config/rs6000/rs6000.md (call, call_value, call_nonlocal_sysv,
- 	call_indirect_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
- 	call_value_nonlocal_sysv, sibcall_value_nonlocal_sysv,
- 	sibcall_nonlocal_sysv, sibcall_value_local64): Likewise.
- 	* config/rs6000/t-ppcgas (MULTILIB_OPTIONS): Remove mcall-aix
- 	multilibs.
- 	(MULTILIB_DIRNAMES): Remove mcall-aix directories.
- 	(MULTILIB_EXCEPTIONS): Delete.
- 	(MULTILIB_MATCHES): Remove mcall-aix matches.
- 
- 	* doc/fragments.texi: Replace -mcall-aix example with an ARM
- 	one.
- 	* doc/install.texi: Delete powerpc-*-eabiaix target.
- 	* doc/invoke.texi: Remove documentation of mcall-aix switch.
- 	* doc/tm.texi: Remove mcall-aix from example CPP_SPEC.
- 	* config.gcc: Delete powerpc-*-eabiaix target.
- 
- 2003-04-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/invoke.texi: Fix typos.
- 	* doc/tm.texi: Likewise.
- 
- 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-typeck.c (digest_init, push_init_level): Use CONSTRUCTOR_ELTS.
- 
- 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c (build_constructor): New function.
- 	* tree.h: Prototype it.
- 
- 	* c-typeck.c (build_c_cast, pop_init_level)
- 	* profile.c (build_function_info_value, build_gcov_info_value)
- 	(create_profiler):
- 	Use build_constructor.
- 
- 	* builtins.c (expand_builtin_args_info): Remove #if 0 blocks.
- 
- 	* objc/objc-act.c (build_constructor):
- 	Rename objc_build_constructor. Use build_constructor.
- 	(build_objc_string_object, objc_add_static_instance)
- 	(init_def_list, init_objc_symtab, init_module_descriptor)
- 	(generate_static_references, build_selector_translation_table)
- 	(build_descriptor_table_initializer, generate_descriptor_table)
- 	(build_protocol_initializer, build_ivar_list_initializer)
- 	(generate_ivars_list, build_dispatch_table_initializer)
- 	(generate_dispatch_table, generate_protocol_list)
- 	(build_category_initializer, build_shared_structure_initializer):
- 	Update to match.
- 
- 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* intl.h: #define gcc_gettext_width to strlen when !ENABLE_NLS.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11-protos.h
- 	(m68hc11_eq_compare_operator): Declare
- 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register new predicate.
- 	* config/m68hc11/m68hc11.c (m68hc11_eq_compare_operator): New predicate
- 	(d_register_operand): Check the operand mode.
- 	(hard_addr_reg_operand): Likewise.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("decrement_and_branch_until_zero"): New
- 	pattern for dbcc/ibcc generation for 68HC12.
- 	("doloop_end"): New pattern.
- 	("m68hc12_dbcc_dec_hi"): New pattern for dbeq/dbne.
- 	("m68hc12_dbcc_inc_hi"): New pattern for ibeq/ibne.
- 	("m68hc12_dbcc_dec_qi"): New pattern.
- 	("m68hc12_dbcc_inc_qi"): New pattern.
- 	(split): Add split for the above when we can't use dbcc/ibcc due to
- 	reloading.
- 	(peephole2): Add peephole2 to generate the above when possible.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("bitcmpqi" split): No need to test the
- 	mode of operand 0.
- 	(peephole2 optimize const load): Likewise for operand 2.
- 	("*rotlhi3_with_carry"): Change pattern to a const 1 rotate which
- 	clobbers CC_REGNUM.
- 	("*rotrhi3_with_carry"): Likewise.
- 	(ashift:DI 1 split): Update pattern to create the above rotate.
- 	(lshiftrt:DI 1 split): Likewise.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md (SOFT_Z_REGNUM): New constant.
- 	("tstqi_z_used" split): Use it.
- 	("cmphi_z_used"): Likewise.
- 	("bitcmpqi_z_used"): Likewise; also use SP_REGNUM constant.
- 	("cmpqi_z_used"): Likewise.
- 
- 2003-04-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/7910
- 	* config/i386/winnt.c (i386_pe_mark_dllimport): Fix thinko.
- 
- 2003-04-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Check for wchar.h, mbstowcs, and wcswidth.
- 	* configure, config.in: Regenerate.
- 	* intl.c (gcc_gettext_width): New function.
- 	* intl.h: Prototype it.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (TARGET_SWITCHES): Fix -mnominmax option;
- 	recognize -mnorelax.
- 	(reg_class): Add Z_OR_S_REGS to represent soft registers with Z
- 	(REG_CLASS_NAMES): Add its name.
- 	(REG_CLASS_CONTENTS): Define its content.
- 
- 2003-04-12  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/larith.asm (memcpy): Use ARG macro to access stack
- 	parameters so that offsets are valid for far definition.
- 	(__mulsi3): Likewise and use ret to return.
- 	(___adddi3, ___subdi3, ___notdi2, ): Don't use it to save the result.
- 
- 2003-04-12  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_hash_constant): Skip '0' fields.
- 
- 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* mklibgcc.in (libgcc-stage-start): For every multilib  directory
- 	containing a libgcc.a, move lib* to the corresponding stage dir.
- 
- 	* Makefile.in (stage1-start, stage2-start, stage3-start,
- 	stage4-start): Move $(SPECS) to specs in stage dir.
- 	(unstage1 unstage2 unstage3 unstage4): Move specs in stage dir
- 	back as $(SPECS).
- 
- 	* mklibgcc.in (libgcc-stage-start): Move into the stage directory
- 	object files from the non-libgcc/ multilib directories as well.
- 
- 2003-04-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* profile.c (read_counts_file): Initialise 'checksum'.
- 
- 	* emit-rtl.c (gen_rtx): Really correct typo.
- 
- 	PR c++/9393
- 	* doc/invoke.texi (Debugging Options): Document -frandom-seed.
- 	* configure.in: Check for gettimeofday.
- 	* tree.c (flag_random_seed): Define.
- 	(default_flag_random_seed): New.
- 	(append_random_chars): Use flag_random_seed rather than trying
- 	to acquire randomness here.
- 	* tree.h (default_flag_random_seed): Declare.
- 	* toplev.c (display_help): Add -frandom-seed and -fstack-limit-*
- 	descriptions.
- 	(decode_f_option): Handle -frandom-seed.
- 	(print_switch_values): Call default_flag_random_seed.
- 	* flags.h (flag_random_seed): Declare.
- 	* configure: Regenerate.
- 	* config.in: Regenerate.
- 	* config/alpha/t-crtfm: Use -frandom-seed.
- 
- 	* doc/extend.texi (Empty Structures): New.
- 
- 	* c-pch.c: Include flags.h.  Add comments to routines.
- 	(struct c_pch_validity): New.
- 	(get_ident): Update PCH file version number.
- 	(pch_init): Output current debugging type.
- 	(c_common_valid_pch): Check debugging type.
- 	* Makefile.in (c-pch.o): Update dependencies.
- 	* flags.h (debug_type_names): Declare.
- 	* toplev.c (debug_type_names): Move out of decode_g_option.
- 
- 2003-04-11  Eric Christopher  <echristo@redhat.com>
- 
- 	* emit-rtl.c (gen_rtx): Fix typos.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (gen_rtx): Zero '0' fields.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR c++/10202
- 	* expr.c (expand_expr): Use COMPLETE_OR_UNBOUND_ARRAY_TYPE_P
- 	not COMPLETE_TYPE_P for re-invoking layout_decl.
- 
- 2003-04-11  Simon Law  <sfllaw@engmail.uwaterloo.ca>
- 
- 	* doc/bugreport.texi: Fix paragraph breaking between sections
- 	in preparation for TeXinfo's paragraph indentation fixes.
- 	* doc/extend.texi: Ditto.
- 	* doc/invoke.texi: Ditto.
- 	* doc/objc.texi: Ditto.
- 	* doc/gcov.texi: Wrap 'gcov' in @command{}.
- 	* doc/invoke.texi (Darwin Options): Add a preamble.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (tls_model_chars): Remove.
- 	(ix86_encode_section_info, ix86_strip_name_encoding): Remove.
- 	(local_symbolic_operand): Use SYMBOL_REF_LOCAL_P.
- 	(tls_symbolic_operand): Use SYMBOL_REF_TLS_MODEL.
- 	(tls_symbolic_operand_1): Likewise.
- 	(legitimate_pic_address_disp_p): Use SYMBOL_REF_LOCAL_P.
- 	* config/i386/i386.h (TARGET_ENCODE_SECTION_INFO): Remove.
- 	(TARGET_STRIP_NAME_ENCODING, ASM_OUTPUT_LABELREF): Remove.
- 	* config/i386/winnt.c (i386_pe_encode_section_info): Replace
- 	bits "copied from i386.h" with default_encode_section_info.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* rtl.def (SYMBOL_REF): Add two 0 fields.
- 	* gengtype.c (adjust_field_rtx_def): Handle them.
- 	* print-rtl.c (print_rtx): Print them.
- 	* rtl.h (SYMBOL_REF_DECL, SYMBOL_REF_FLAGS): New.
- 	(SYMBOL_FLAG_FUNCTION, SYMBOL_REF_FUNCTION_P): New.
- 	(SYMBOL_FLAG_LOCAL, SYMBOL_REF_LOCAL_P): New.
- 	(SYMBOL_FLAG_SMALL, SYMBOL_REF_SMALL_P): New.
- 	(SYMBOL_FLAG_TLS_SHIFT, SYMBOL_REF_TLS_MODEL): New.
- 	(SYMBOL_FLAG_EXTERNAL, SYMBOL_REF_EXTERNAL_P): New.
- 	(SYMBOL_FLAG_MACH_DEP): New.
- 	* optabs.c (init_one_libfunc): Zap fake SYMBOL_REF_DECL.
- 	* varasm.c (make_decl_rtl): Set SYMBOL_REF_DECL.
- 	(assemble_static_space): Set SYMBOL_REF_FLAGS.
- 	(assemble_trampoline_template): Likewise.
- 	(output_constant_def, force_const_mem): Likewise.
- 	(default_encode_section_info): New.
- 	* output.h: Declare it.
- 	* target-def.h (TARGET_ENCODE_SECTION_INFO): Use it.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	* libfuncs.h (LTI_setbits, LTI_gcov_flush, LTI_gcov_init): New.
- 	(setbits_libfunc, gcov_flush_libfunc, gcov_init_libfunc): New.
- 	* optabs.c (init_optabs): Initialize them.
- 	(init_libfuncs): Use init_one_libfunc.
- 	* calls.c (expand_call): Use gcov_flush_libfunc.
- 	* expr.c (store_constructor): Use setbits_libfunc.
- 	* function.c (expand_main_function): Use init_one_libfunc.
- 	* profile.c (create_profiler): Use gcov_init_libfunc and DECL_RTL.
- 
- 2003-04-11  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* doc/c-tree.texi (Functions): Remove DECL_REAL_CONTEXT
- 	documentation; add DECL_FRIEND_CONTEXT.
- 
- 2003-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* doc/install.texi (hppa): Update links for HP-UX patches.  Revise
- 	notes on linker selection and configuration for 64-bit HP-UX port.
- 	* doc/invoke.texi (hppa): Remove hppa text from description for
- 	-ffunction-sections and -fdata-sections.  Document -static, -nolibdld
- 	and -threads options.
- 
- 	* pa-hpux10.h (LIB_SPEC): Add link options to resolve dependency of
- 	libc.a on libdld.sl when -static is specified and -nolibdld is not
- 	specified.
- 	* pa64-hpux.h (LIB_SPEC): Likewise.
- 	* pa-hpux11.h (LIB_SPEC): Likewise.
- 	(LINK_SPEC): Add __gcc_plt_call as an undefined symbol when -shared
- 	is not specified.
- 
- 2003-04-11  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/darwin-c.c (darwin_pragma_unused): Use lookup_name,
- 	not IDENTIFIER_LOCAL_VALUE.
- 
- 2003-04-11  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/10201
- 	* expr.c (expand_expr): Move DECL_RTL frobbing ...
- 	* stor-layout.c (layout_decl): ... here.
- 
- 2003-04-11  James A. Morrison <ja2morri@uwaterloo.ca>
- 
- 	* doc/invoke.texi: Eliminate extra white-space caused by
- 	@gccoptlist{ on its own line.
- 	* doc/invoke.texi: Ensured there are two spaces between each option.
- 	* doc/invoke.texi: Re-wrapped option lines that were too wide.
- 	Added @gol to options that didn't have them.
- 
- 2003-04-11  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (loop-init.o): Do not depend on gcov-io.h,
- 	gcov-iov.h.
- 
- 	Simplify interface to gcov reading and writing.
- 	* gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer,
- 	gcov_alloc, gcov_modified, gcov_errored): Move into ...
- 	(struct gcov_var gcov_var): ... this static structure.
- 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string):
- 	Return void.
- 	(gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return
- 	read object.
- 	(gcov_read_bytes, gcov_write_bytes): Set error flag on error.
- 	(gcov_reserve_length): Remove.
- 	(gcov_write_tag): New.
- 	(gcov_write_length): Adjust.
- 	(gcov_read_summary, gcov_write_summary): Adjust.
- 	(gcov_eof, gcov_ok): Rename to ...
- 	(gcov_is_eof, gcov_is_error): ... here. Return error code.
- 	(gcov_save_position, gcov_resync): Rename to ...
- 	(gcov_position, gcov_seek): ... here.
- 	(gcov_skip, gcov_skip_string): Remove.
- 	(gcov_error): Remove.
- 	(gcov_open, gcov_close): Adjust.
- 	* gcov.c (find_source): Take const char *, copy it on allocation.
- 	(read_graph_file): Adjust.
- 	(read_count_file): Adjust.
- 	* libgcov.c (gcov_exit): Adjust.
- 	* gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines,
- 	tag_arc_counts, tag_summary): Return void. Adjust.
- 	(struct tag_format): Adjust proc member.
- 	(dump_file): Adjust gcov calls.
- 
- 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (fixinc.sh): Pass BUILD_LIBERTY as LIBERTY to
- 	mkfixinc.sh.
- 	* fixinc/mkfixinc.sh (defs): Add LIBERTY.
- 	* configure.in (STMP_FIXINC, STMP_FIXPROTO): Don't disable on
- 	build != host sysrooted builds.
- 	* configure.in (SYSTEM_HEADER_DIR): Make sure it contains
- 	TARGET_SYSTEM_ROOT even on sysrooted natives.
- 	* configure: Rebuilt.
- 
- 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-decl.c (struct binding_level): Add shadowed_tags and
- 	function_body; remove this_block, tag_transparent, and
- 	subblocks_tag_transparent; update comments.
- 	(clear_binding_level, lookup_tag_reverse): Kill.
- 	(make_binding_level): Use ggc_alloc_cleared or memset.
- 	(lookup_tag): Remove struct binding_level* parameter.  All
- 	callers changed. Just look at IDENTIFIER_TAG_VALUE, and
- 	current_binding_level->tags if asked for thislevel_only or if
- 	we might have to diagnose "struct foo; union foo;"
- 	(pushlevel): Ignore argument.  Do not push another binding
- 	level on the transition from the parameters to the top level
- 	of the function body; just tweak the flags and proceed.
- 	(poplevel): Overhaul.  Clear IDENTIFIER_TAG_VALUEs; on exiting
- 	a function body, separate the parameter list from the
- 	top-level local variables.
- 	(set_block): Do nothing.
- 	(pushtag): Set IDENTIFIER_TAG_VALUE and add an entry to
- 	shadowed_tags if necessary.
- 	(warn_if_shadowing): Nuke the special case for local shadowing
- 	parameter.
- 	(pushdecl): Do not create a shadow entry if we are replacing
- 	an older decl in the same binding level.
- 	(pushdecl_function_level): Tweak for new way of indicating
- 	function scope.
- 	(shadow_tag_warned): Use TYPE_NAME, not	lookup_tag_reverse.
- 	(start_function): Don't set subblocks_tag_transparent.
- 	(finish_function): Fix up the binding_level stack for totally
- 	empty functions.  Otherwise, don't call poplevel.
- 
- 	* c-common.c (shadow_warning): MANDATORY argument is no longer
- 	necessary.  Always use plain warning.
- 	* c-common.h: Update to match.
- 
- 	* cfglayout.c (scope_to_insns_initialize): Clear block when we
- 	hit the FUNCTION_DECL.
- 	* function.c: Do not create cyclic tree structure.
- 
- 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-tree.h (struct lang_identifier): Replace global_value,
- 	local_value members with symbol_value, tag_value.  Kill
- 	implicit_decl and limbo_value.
- 	(IDENTIFIER_GLOBAL_VALUE, IDENTIFIER_LOCAL_VALUE,
- 	IDENTIFIER_LIMBO_VALUE, IDENTIFIER_IMPLICIT_DECL,
- 	C_MISSING_PROTOTYPE_WARNED): Kill.
- 	(IDENTIFIER_SYMBOL_VALUE, IDENTIFIER_TAG_VALUE,
- 	C_DECL_IMPLICIT, C_DECL_ISNT_PROTOTYPE): New.
- 	(C_DECL_ANTICIPATED): Rename to C_DECL_INVISIBLE.
- 	(implicit_decl_warning, lookup_name_current_level,
- 	record_function_scope_shadow): Don't prototype.
- 	(pushdecl_function_level): Prototype.
- 
- 	* c-decl.c (truly_local_externals): New variable.
- 	(struct binding_level): Adjust commentary.
- 	(get_function_binding_level, clear_limbo_values,
- 	record_function_scope_shadow): Kill.
- 	(lookup_name_current_level, implicit_decl_warning): Are	now static.
- 	(any_external_decl, record_external_decl): New static functions.
- 	(clone_underlying type): Split out of pushdecl.
- 	(c_print_identifier): Update to match changes to struct
- 	lang_identifier.
- 	(poplevel): Delete #if 0 block.  Make externals invisible
- 	instead of clearing their IDENTIFIER_SYMBOL_VALUEs.  Don't
- 	call clear_limbo_values.  Refer to IDENTIFIER_SYMBOL_VALUE not
- 	IDENTIFIER_GLOBAL_VALUE or IDENTIFIER_LOCAL_VALUE.
- 	(duplicate-decls): For real parm decl after a forward decl,
- 	set TREE_ASM_WRITTEN here.  Allow void foo(...) followed by
- 	foo(...) { } with only a warning.  Say whether a previous
- 	declaration was implicit.
- 	(warn_if_shadowing): Now handles all shadowing, not just
- 	local-over-local.  Clarify comments.
- 	(pushdecl): Rewritten.  There is no longer a distinction
- 	between global and local symbol values; they're all
- 	IDENTIFIER_SYMBOL_VALUE.  Call record_external_decl on all
- 	DECL_EXTERNAL decls, and use any_external_decl to check
- 	against previous externals.  Kill #if 0 blocks.  Don't
- 	tolerate error_mark_node being NULL.
- 	(pushdecl_top_level): Handle only those cases which
- 	Objective C (the only user) needs.
- 	(pushdecl_function_level): New function.
- 	(implicitly_declare): Create ordinary decls with
- 	C_DECL_IMPLICIT set.  Recycle old decls, however they got
- 	created.
- 	(lookup_name): It's always IDENTIFIER_SYMBOL_VALUE. Return 0
- 	for C_DECL_INVISIBLE symbols.
- 	(lookup_name_current_level): Likewise.  Use chain_member.
- 	(c_make_fname_decl): Don't muck with DECL_CONTEXT.
- 	Use pushdecl_function_level.
- 	(builtin_function): Use C_DECL_INVISIBLE.
- 	(start_function): Don't muck with IDENTIFIER_IMPLICIT_DECL.
- 	Use C_DECL_ISNT_PROTOTYPE and C_DECL_IMPLICIT.
- 	(store_parm_decls): It's IDENTIFIER_SYMBOL_VALUE now.
- 	(identifier_global_value): Same.  Must scan
- 	global_binding_level in extremis.
- 
- 	* c-typeck.c (undeclared_variable): New static function, split
- 	from build_external_ref.
- 	(build_external_ref): Use DECL_CONTEXT, not
- 	IDENTIFIER_LOCAL_VALUE, to decide whether a local hides
- 	an instance variable.  Restructure for clarity.
- 	* objc/objc-act.c: Use identifier_global_value, not
- 	IDENTIFIER_GLOBAL_VALUE.
- 
- 2003-04-08  Jonathan Wakely  <redi@gcc.gnu.org>
- 
- 	* doc/extend.texi (Template Instantiation): Refer to ISO standard,
- 	not Working Paper.
- 	* doc/invoke.texi (C++ Dialect Options): Same.
- 
- 2003-04-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c (tree_operand_check_failed): New function.
- 	* tree.h (TREE_OPERAND_CHECK, TREE_OPERAND_CHECK_CODE,
- 	TREE_RTL_OPERAND_CHECK): New checking macros.
- 	(TREE_OPERAND, SAVE_EXPR_CONTEXT, SAVE_EXPR_RTL,
- 	RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, WITH_CLEANUP_EXPR_RTL,
- 	CONSTRUCTOR_ELTS, LABELED_BLOCK_LABEL, LABELED_BLOCK_BODY,
- 	EXIT_BLOCK_RETURN, LOOP_EXPR_BODY, EXPR_WFL_NODE,
- 	EXPR_WFL_FILENAME_NODE, EXPR_WFL_FILENAME, TARGET_EXPR_SLOT,
- 	TARGET_EXPR_INITIAL, TARGET_EXPR_CLEANUP): Use the new
- 	checking macros.
- 
- Thu Apr 10 23:52:30 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR inline-asm/8803
- 	* function.c (instantate_virtual_regs):  Verify that all ASM statements
- 	match after the virutal regs instantiation.
- 
- 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* ia64-protos.h (addp4_optimize_ok): New.
- 	* ia64.c (addp4_optimize_ok): New.
- 	* ia64.md (*ptr_extend_plus_1): Use addp4_optimize_ok.
- 	(*ptr_extend_plus_2): Ditto.
- 
- 2003-04-10  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* expr.c (expand_assignment): Extend offset_rtx with convert_to_mode
- 	not with convert_memory_address.
- 	(store_constructor): Ditto, and same for copy_size_rtx.
- 	(expand_expr): Ditto.
- 
- 2003-04-10  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/i386/i386.c (ix86_ms_bitfield_layout_p): Fix formatting.
- 
- 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Flush data cache
- 	even if it is configured to be write-through.
- 
- 2003-04-10  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (larl_operand): Do not allow symbols
- 	marked with '@'.
- 	(s390_encode_section_info): Mark symbols with forced 1-byte
- 	alignment with '@'.
- 	(s390_strip_name_encoding): Strip '@'.
- 	(legitimize_pic_address): Handle symbols that are not valid
- 	LARL operands in 64-bit mode.
- 
- 2003-04-10  Andrew Haley  <aph@redhat.com>
- 
- 	* tree-inline.c (inlinable_function_p): Disable inlining for
- 	synchronized methods.
- 
- 2003-04-09  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* c-common.h (lang_statement_code_p): Remove declaration.
- 	(statement_code_p): Ditto.
- 	(c_common_stmt_codes): Define; list of c-common statement codes.
- 	(statement_code_p): New extern declaration.
- 	(STATEMENT_CODE_P): Define.
- 	(INIT_STATEMENT_CODES): Define.
- 	* c-common.c (statement_code_p): Kill the function, declare
- 	as an array of bools instead.
- 	(lang_statement_code_p): Remove.
- 	(walk_stmt_tree): Use STATEMENT_CODE_P not statement_code_p.
- 	(c_safe_from_p): Ditto.
- 	* c-objc-common.c (c_objc_common_init): Use INIT_STATEMENT_CODES
- 	to initialize the statement_code_p array.
- 	* tree-inline.c (walk_tree): Use STATEMENT_CODE_P instead of
- 	statement_code_p.
- 	(copy_tree_r): Ditto.
- 	* cp/cp-tree.h (cp_stmt_codes): Define; list of C++ specific
- 	statement tree codes.
- 	* cp/lex.c (cxx_init): Add missing print line break.  Use
- 	INIT_STATEMENT_CODES to initialize the statement_code_p array.
- 	* cp/parser.c (cp_parser_statement): Use STATEMENT_CODE_P
- 	instead of statement_code_p.
- 	* cp/pt.c (tsubst_expr): Ditto.
- 	* cp/tree.c (verify_stmt_tree_r): Ditto.
- 	(cp_statement_code_p): Remove.
- 	(init_tree): Don't set lang_statement_code_p, it's gone.
- 
- 2003-04-09  Dan Nicolaescu  <dann@ics.uci.edu>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* regrename.c (struct du_chain): Use a bitfield for reg_class.
- 	* cse.c (struct qty_table_elem, struct table_elt, struct set):
- 	Use bitfields for fields holding enum rtx_code or
- 	enum machine_mode values.  Add comments explaining size choices.
- 
- 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/fp-bit.c (unpack_d): Handle pair of doubles with
- 	different signs correctly.
- 
- 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* sched-deps.c (reg_pending_barrier_mode): New enumeration.
- 	(reg_pending_barrier): Make it of the enumeration type.
- 	(sched_analyze_2): Define the barrier as MOVE_BARRIER or
- 	TRUE_BARRIER.
- 	(sched_analyze): Ditto.
- 	(sched_analyze_insn): Ditto.  Use anti-dependencies for
- 	MOVE_BARRIER and true-dependencies as TRUE_BARRIER.
- 	(init_deps_global): Initialize the barrier as NO_BARRIER.
- 
- 2003-04-09  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c (issue_nops_and_insn): Add new parameter.
- 	Check that asm insn starts on a new cycle.  Add nops after asm
- 	insn to end bundle.
- 	(bundling): Move insn type evaluation from the loop.  Call
- 	issue_nops_and_insn with the new parameter.  Ignore changing
- 	position for nops after asm insn.
- 
- 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* optabs.c: Comment that gen_add2_insn and others may actually
- 	return emitted insns, if the gen functions turn out to return
- 	emitted insns.
- 	* reload1.c (reload_cse_move2add): Cope with emitted insns from
- 	gen_add2_insn.
- 
- 2003-04-09  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (move_operand): Allow symbolic_operand,
- 	but not tls_symbolic_operand.
- 	(ia64_expand_load_address): Remove scratch operand.
- 	(ia64_expand_tls_address): Split out from ia64_expand_move.
- 	(ia64_expand_move): Split symbolics only after reload.
- 	(ia64_emit_cond_move): New.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.md (movsi_symbolic, movdi_symbolic): Remove.
- 	(symbolic splitter): Accept SImode operands too.
- 	(cmove splitter): Use ia64_emit_cond_move.
- 
- 2003-04-09  Nick Clifton  <nickc@redhat.com>
- 
- 	* doc/install.texi: Note that ARM toolchains need binutils 2.13 or
- 	newer.
- 	* config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
- 	instead of -mno-fpu.
- 	* config/arm/semi.h (ASM_SPEC): Likewise.
- 	* config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
- 	but only if -msoft-float is specified pass.  Otherwise pass
- 	-mfpu=softvfp.
- 
- 2003-04-09  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* function.c (purge_addressof): Use free_INSN_LIST_node instead of
- 	free_EXPR_LIST_node.
- 
- 2003-04-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold):  Use "fold" following build in more places.
- 	Optimize sqrt(x)*sqrt(x) as x, pow(x,y)*pow(z,y) as pow(x*z,y),
- 	pow(x,y)*pow(x,z) as pow(x,y+z) and x/pow(y,z) as x*pow(y,-z).
- 
- 2003-04-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (fold_builtin):  Constant fold expressions as x*0.5
- 	instead of x/2.0.  Optimize sqrt(pow(x,y)) as pow(x,y*0.5),
- 	log(pow(x,y)) as y*log(x), pow(exp(x),y) as exp(x*y),
- 	pow(sqrt(x),y) as pow(x,y*0.5) and pow(pow(x,y),z) as pow(x,y*z).
- 	Delete function scope "fcode" variable to avoid shadowing.
- 
- 2003-04-08  Kevin Buettner  <kevinb@redhat.com>
- 
- 	* dwarf2out.c (DWARF_ARANGES_HEADER_SIZE, DWARF_ARANGES_PAD_SIZE):
- 	Take into account DWARF_INITIAL_LENGTH_SIZE.
- 
- 2003-04-08  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* reorg.c (fill_slots_from_thread): When considering changing the
- 	insn following a reg-to-reg copy insn to use the source reg of the
- 	copy, bail out if there's overlap between the registers.
- 
- 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* function.c (postponed_insns): New.
- 	(purge_addressof_1): Postpone processing of insns if addressofs
- 	are not put into stack.
- 	(purge_addressof): Process postponed insns.
- 
- 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (NORMAL_MODE): If interrupt handler and TARGET_FMOVD,
- 	this is FP_MODE_DOUBLE .
- 	* sh.c (ra.h): #include.
- 	(push_regs): Add second parameter.  Changed all callers.
- 	If necessary, set fpscr before saving floating point registers.
- 	(calc_live_regs): If interrupt handler and TARGET_FMOVD, always
- 	do saves / restores with SZ == 1.
- 	(sh_expand_prologue): If interrupt handler, don't use gen_toggle_sz.
- 	(sh_expand_epilogue): Likewise.  For TARGET_FMOVD, if floating point
- 	registers are being restored, restore FPSCR only after restoring them.
- 
- 2003-04-08  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_init_builtins): Set opaque types
- 	regardless of architecture.
- 	(spe_init_builtins): Change V2SI and V2SF types to opaque types.
- 
- 2003-04-08  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (push_regs, calc_live_regs): Return int.  Take single
- 	HARD_REG_SET * parameter.  Changed all callers.
- 
- Tue Apr  8 11:12:07 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (legitimate_pic_address_disp_p): Do not accept PLUS in the
- 	GOTOFF operand.
- 	(legitimize_pic_address): Move plus outside the unspec.
- 	* i386.c (legitimate_constant_p):  Check (CONST (PLUS (UNSPEC ...
- 	for validity.
- 
- 2003-04-08  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov-io.h (gcov_save_position): Remove __inline__ from
- 	declaration.
- 
- 2003-04-07  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* doc/install.texi: Use @command and @samp for single- and
- 	multi-word commands respectively.
- 	* doc/makefile.texi: Likewise.
- 	* doc/sourcebuild.texi: Likewise.
- 
- 2003-04-07  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR c/9516
- 	* expr.c (safe_from_p): Rearrange to avoid deep recursion in
- 	favor of looping and tail recursion for TREE_LIST and binops.
- 
- 2003-04-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Provide defaults
- 	for insns without luid.
- 
- 2003-04-07  Glen Nakamura  <glen@imodulo.com>
- 
- 	PR opt/8634
- 	* explow.c (maybe_set_unchanging): Don't flag non-static const
- 	aggregate type initializers with RTX_UNCHANGING_P.
- 
- 2003-04-07  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/8634
- 	* function.c (purge_addressof_1): Don't try arithmetics for
- 	unchanging memories.
- 
- 2003-04-07  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/sourcebuild.texi (Test Suites): Document testing support for
- 	gcov and profile-directed optimizations; describe gcc.misc-tests.
- 
- Mon Apr  7 22:19:59 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/10077
- 	* i386.md (movsi_1, movsi_nointerunit_1):  Fix SSEMOV alternative.
- 
- 2003-04-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* doc/rtl.texi (Comparison operations): Update to
- 	record the allowed comparison modes.
- 
- 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_common_init_builtins): Rename all
- 	V2SI_type_node to opaque_V2SI_type_node.  Rename all
- 	V2SF_type_node to opaque_V2SF_type_node.
- 	(rs6000_init_builtins): Define opaque_V2SI_type_node and
- 	opaque_V2SF_type_node.
- 	(is_ev64_opaque_type): The types opaque_V2SI_type_node and
- 	opaque_V2SF_type_node are opaque types.
- 
- 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* gcse.c (replace_store_insn): Use single_set.
- 
- 2003-04-07  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Change gcov file interface to single file at a time.
- 	* gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV.
- 	Convert to C89 prototypes.
- 	(gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc,
- 	gcov_error, gcov_modified): New static variables.
- 	(gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New
- 	functions.
- 	(gcov_write_unsigned, gcov_write_counter, gcov_write_string,
- 	gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust.
- 	(gcov_read_summary, gcov_write_summary): Adjust.
- 	(gcov_save_position, gcov_reserve_length, gcov_write_length):
- 	Adjust.
- 	(gcov_resync, gcov_skip, gcov_skip_string): Adjust.
- 	(da_file_open, da_file_close, da_file_eof, da_file_error): Remove.
- 	(da_file_position, da_file_seek, da_file_write, da_file_read):
- 	Remove.
- 	(gcov_error, gcov_eof, gcov_ok, gcov_time): New functions.
- 	* gcov.c (gcov_type): Don't typedef here.
- 	(IN_GCOV): #define
- 	(read_graph_file, read_count_file): Adjust.
- 	* gcov-dump.c (gcov_type): Don't typedef here.
- 	(IN_GCOV): #define.
- 	(tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts):
- 	Remove FILE parameter, adjust.
- 	(struct tag_format): Adjust proc member.
- 	(dump_file): Adjust.
- 	* libgcov.c (IN_LIBGCOV): #define.
- 	(gcov_exit): Adjust.
- 	* loop-init.c: Don't #include gcov-io.h
- 	* profile.c (struct counts_entry): New structure to hold counter
- 	values.
- 	(struct section_reference, struct da_index_entry): Remove.
- 	(bbg_file, da_file): Remove.
- 	(htab_counts_index_hash, htab_counts_index_eq,
- 	htab_counts_index_del): Replace with ...
- 	(htab_counts_entry_hash, htab_counts_entry_eq,
- 	htab_counts_entry_del): ... these.
- 	(cleanup_counts_index, index_counts_file): Remove.
- 	(read_counts_file): New function.
- 	(get_exec_counts): Adjust.
- 	(compute_branch_probabilities): Don't free the exec counts here.
- 	(branch_prob): Adjust.
- 	(init_branch_prob): Adjust.
- 	(end_branch_prob): Adjust.
- 
- 2003-04-07  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
- 	-mfloat-gprs.
- 
- 	* config/rs6000/rs6000.c: Delete rs6000_fprs.
- 	Declare rs6000_float_gprs.
- 	Declare rs6000_float_gprs_string.
- 	(rs6000_parse_float_gprs_option): New.
- 	(rs6000_override_options): Genericize rs6000_parse_* calls to use
- 	rs6000_parse_yes_no_option.
- 	Change check for cpu=8540, to use TARGET_E500.
- 	(rs6000_parse_isel_option): Delete.
- 	(rs6000_parse_spe_option): Delete.
- 	(rs6000_parse_vrsave_option): Delete.
- 
- 	* config/rs6000/rs6000.h: Rename rs6000_fprs to rs6000_float_gprs.
- 	Define rs6000_float_gprs_string.
- 	(TARGET_OPTIONS): Add rs6000_float_gprs option.
- 
- 	* config/rs6000/eabi.h (TARGET_FPRS): Change to use rs6000_float_gprs.
- 
- 	* config/rs6000/eabispe.h: Set rs6000_float_gprs.
- 
- Mon Apr  7 14:36:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/10024
- 	* cfglayout.c (cfg_layout_redirect_edge):
- 	Redirect any branch edges unified with the fallthru one.
- 	* cfgrtl.c (force_nonfallthru_and_redirect):  Do not special
- 	case fallthru edges when called via cfglayout.c
- 
- 2003-04-07  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* c-typeck.c (output_init_element): Check for type == error_mark_node.
- 
- 2003-04-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Always
- 	split.
- 	(a splitter): Do zero-extension via HImode.
- 
- 2003-04-07  James A. Morrison <ja2morri@uwaterloo.ca>
- 
- 	* doc/invoke.texi: Eliminate extra white-space caused by
- 	@gccoptlist{ on its own line.
- 	* doc/invoke.texi: Ensured there are two spaces between each option.
- 	* doc/invoke.texi: Re-wrapped option lines that were too wide.
- 	Added @gol to options that didn't have them.
- 
- 2003-04-07  James A Morrison <ja2morri@student.math.uwaterloo.ca>
- 
- 	* doc/extend.texi (Darwin Pragmas): Fix spelling of Mac OS.
- 
- 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* tree.c (tree_size): For all 'c' and 'x' nodes, look directly
- 	at the sizes of the relevant structures, rather than relying
- 	on TREE_CODE_LENGTH.  Call lang_hooks.tree_size to get the
- 	sizes of any such we don't know about.  Use
- 	lang_hooks.identifier_size for IDENTIFIER_NODE.
- 
- 	(initializer_zerop): Use CONSTRUCTOR_ELTS.
- 	* tree.def: Update commentary.  Make fourth element of
- 	the definition for all 'c' and 'x' nodes zero.
- 
- 	* langhooks.h: New hook, tree_size / LANG_HOOKS_TREE_SIZE.
- 	* langhooks-def.h: Update to match.
- 	* langhooks.c: New default, lhd_tree_size.
- 
- 	* c-common.def (SRCLOC): Kill.
- 	* c-pretty-print.c (pp_c_postfix_expression [case SRCLOC]):
- 	Remove entirely - was already #if-ed out.
- 
- 
- 2003-04-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* mklibgcc.in: Use a here document to avoid running afoul of
- 	shells that generate control-A from "echo \1".
- 
- 2003-04-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/invoke.texi (RS/6000 and PowerPC Options): Document -mspe
- 	option.
- 
- 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Set
- 	rs6000_spe.
- 
- 	* config/rs6000/eabi.h (TARGET_E500): Define.
- 
- 	* config/rs6000/rs6000.h (TARGET_E500): Define.
- 	(TARGET_OPTIONS): Add spe= option.
- 	Declare rs6000_spe and rs6000_spe_string extern.
- 
- 	* config/rs6000/rs6000.c (branch_positive_comparison_operator):
- 	Change TARGET_SPE to TARGET_E500.
- 	(ccr_bit): Change TARGET_SPE to TARGET_E500.  Check for
- 	!TARGET_FPRS.
- 	(print_operand): Same.
- 	(rs6000_generate_compare): Same.
- 	(output_cbranch): Same.
- 	(rs6000_spe): Declare.
- 	(rs6000_spe_string): Declare.
- 	(rs6000_override_options): Call rs6000_parse_spe_option.
- 	(rs6000_parse_spe_option): New.
- 
- 2003-04-06  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* hashtable.c (gcc_obstack_init): Delete this function
- 	and everything related to it.
- 	* hashtable.h: Remove prototype.
- 	* bitmap.c (bitmap_element_allocate): Cleanup redundant
- 	defines.  Cleanup some unnecessary whitespace.
- 	* defaults.h (obstack_chunk_alloc): Redefine with
- 	appropriate casts for libiberty obstacks.
- 	(obstack_chunk_free): Ditto.
- 	(OBSTACK_CHUNK_SIZE): Define, default to 0.
- 	(gcc_obstack_init): Define as a call to _obstack_begin.
- 	* tree.c (print_obstack_statistics): Delete this unused
- 	function.
- 	* tree.h (obstack): Don't forward-declare.
- 	(print_obstack_statistics): Delete prototype.
- 	(print_obstack_name): Ditto.
- 	(gcc_obstack_init): Ditto.
- 	* rtl.h (gcc_obstack_init): Ditto.
- 	* java/jv-scan.c (gcc_obstack_init): Delete this
- 	function, its prototype and related defines.
- 	* java/jvgenmain.c (gcc_obstack_init): Delete this
- 	function, and related defines.
- 	* java/parse-scan.y (obstack_chunk_alloc): Don't define.
- 	(obstack_chunk_free): Ditto
- 
- 2003-04-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* dbxout.c (dbxout_handle_pch): Move prototype out from
- 	#if defined DBX_DEBUGGING_INFO.
- 
- 2003-04-05  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c (struct arc_info): Replace local_span with cycle.
- 	(struct block_info): Replace u.span with u.cycle. Add is_call_return.
- 	(solve_flow_graph): Set is_call_return.
- 	(add_line_counts): Adjust. In block mode, blocks attach to last line.
- 	(accumulate_line_counts): Find graph cycles, not spanning tree.
- 	(output_branch_count): Adjust.
- 	(output_lines): Adjust.
- 	* doc/gcov.texi: Update.
- 
- 2003-04-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*zero_extendqisi2_h8300hs): Change
- 	the second alternative to "#".
- 
- 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (single_one_operand): Use GET_MODE_MASK.
- 	(single_zero_operand): Likewise.
- 
- 2003-04-05  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* Makefile.in (df.o):  Depend on alloc-pool.h, not obstack.h.
- 	* df.c: Include alloc-pool.h, not obstack.h.
- 	(df_ref_obstack): Remove.
- 	(df_ref_pool, df_link_pool): Add pools.
- 	(df_alloc): Init the new pools.
- 	(df_free): And free them.
- 	(df_link_create): Use the pools.
- 	(df_ref_create): Ditto.
- 
- 2003-04-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* simplify-rtx.c: Fix formatting.
- 
- 2003-04-05  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/rs6000/rs6000.c (addrs_ok_for_quad_peep): Allow addr2
- 	reg with reg1 == reg2 and offset1 = -8.
- 
- 2003-04-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_rtx_costs): Halve Power4
- 	multiply costs.  Correct Power4 divide costs.
- 	* config/rs6000/power4.md: Restore multiply and FP latency.
- 
- 2003-04-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* alias.c (find_base_term): Export.
- 	* rtl.h (find_base_term): Declare.
- 	* gcse.c (find_moveable_store): Test for flag_non_call_exceptions
- 	instead of flag_exceptions.  Move test for parameter passing ...
- 	(store_killed_in_insn): ... here.
- 
- 2003-04-05  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	PR bootstrap/10267
- 	* doc/install.texi (*-*-solaris2): /bin/ksh is not just recommended
- 	for configuring.
- 
- 2003-04-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* dbxout.c (scope_labelno): Add GTY.
- 	(have_used_extensions): Add GTY.
- 	(source_label_number): Add GTY.
- 	(lastfile): Add GTY.
- 	(lastfile_is_base): New.
- 	(base_input_file): New.
- 	(dbxout_handle_pch): New.
- 	(dbx_debug_hooks): Add handle_pch.
- 	(xcoff_debug_hooks): Likewise.
- 	(dbxout_function_end): Remove scope_labelno.
- 	(dbxout_init): Set base_input_file.
- 	(dbxout_handle_pch): New.
- 	(dbxout_source_file): Honour lastfile_is_base.
- 	* dwarfout.c (dwarf_debug_hooks): Add dummy handle_pch.
- 	* sdbout.c (sdb_debug_hooks): Add dummy handle_pch.
- 	* vmsdbgout.c (vmsdbg_debug_hooks): Add dummy handle_pch.
- 	* dwarf2out.c (dwarf2_debug_hooks): Add dummy handle_pch.
- 	* debug.c (do_nothing_debug_hooks): Add dummy handle_pch.
- 	* debug.h (struct gcc_debug_hooks): Add handle_pch.
- 	* c-pch.c (pch_init): Don't call start_source_file, but do call
- 	handle_pch.
- 	(c_common_write_pch): Call handle_pch.
- 	(c_common_read_pch): Don't call start_source_file,
- 	or end_source_file.
- 
- Fri Apr  4 17:43:52 2003  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* emit-rtl.c (get_mem_attrs): Adjust alignment tests determining
- 	use of default attributes to agree MEM_ALIGN macro.
- 
- Fri Apr  4 17:33:24 2003  Joel Brobecker  <brobecker@gnat.com>
- 
- 	* dbxout.c (dbxout_type): When printing type index of range type
- 	whose bounds are printed in octal format, print type of parent type if
- 	it exists so enumerated type descriptions are not transformed
- 	into unsigned types.
- 
- 2003-04-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	compute_a_shift_cc.
- 	* config/h8300/h8300.c (shift_one): Update the CC status.
- 	(shift_two): Likewise.
- 	(output_a_shift_cc): Set cc_inline and cc_special.
- 	(compute_a_shift_cc): New.
- 	* config/h8300/h8300.md (shift insns): Use compute_a_shift_cc.
- 
- 2003-04-04  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (fold_rtx): Fix 03-30 change; do check insn non-null.
- 
- 2003-04-04  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* fixinc/inclhack.def (bsd_stdio_attrs_conflict): New.
- 	* fixinc/fixincl.x: Rebuilt.
- 	* fixinc/tests/base/stdio.h: Regenerated.
- 
- 2003-04-04  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c (accumulate_line_counts): Fix span tree merge bug.
- 
- Fri Apr  4 15:58:52 2003  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (ACTUAL_NORMAL_MODE): New macro, broken out of
- 	(NORMAL_MODE).
- 	* sh.c (fpscr_set_from_mem): Use ACTUAL_NORMAL_MODE.
- 
- 2003-04-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Add entries for Wolfgang
- 	Bangerth, DJ Delorie, Christian Ehrhardt, Christopher Faylor,
- 	Nathanael Nerode, Diego Novillo, Hartmut Penner, Volker Reichelt,
- 	Danny Smith, and Ulrich Weigand.
- 	Update Kriang Lerdsuwanakij and fix a typo in Janis Johnson's
- 	entry.
- 
- 2003-04-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sparc/sol2-bi.h: Revert previous delta.
- 	* config/sparc/sol2-gas-bi.h (AS_SPARC64_FLAG): Prepend -TSO
- 
- 2003-04-04  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/v850/v850.c (expand_prologue): Only use register save
- 	helper functions if long calls are not being used.
- 	Add a clobber of r11 id using long calls.
- 	(pattern_is_ok_for_prologue): Account for the extra clobber.
- 	(construct_save_jarl): Likewise.
- 	* config/v850/v850.md (prolog pattern): Do not use this pattern
- 	for v850e's.
- 
- 2003-04-04  Andreas Schwab  <schwab@suse.de>
- 
- 	* stor-layout.c (layout_decl): Avoid syntax error in last change
- 	when PCC_BITFIELD_TYPE_MATTERS is defined but not
- 	EMPTY_FIELD_BOUNDARY.
- 
- 2003-04-03  Jason Merrill  <jason@redhat.com>
- 
- 	PR c/10175
- 	* jump.c (never_reached_warning): Revert patch of 2002-11-02.
- 	Look backwards for a line note.
- 
- 2003-04-03  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* fix-header.c (read_scan_file): Defer switch processing.
- 
- 2003-04-03  Matt Austern  <austern@apple.com>
- 
- 	* cpppch.c (reset_ht): Remove.
- 	(cpp_read_state): Remove loop to reset hashtable identifiers.
- 	* ggc-common.c (gt_pch_save): Add call to gt_pch_fixup_stringpool
- 	after pch file is written.
- 	* ggc.h (gt_pch_fixup_stringpool): Declare.
- 	* stringpool.c (ht_copy_and_clear): Define.  Callback.  Copy
- 	hashnode's value to another hashtable, then clear the original.
- 	(saved_ident_hash): Define.
- 	(gt_pch_save_stringpool): Create saved_ident_hash, use it to
- 	store definitions in ident_hash, and clear ident_hash.
- 	(gt_pch_fixup_stringpool): Define.  Restore definitions from
- 	saved_ident_hash to ident_hash, then destroy saved_ident_hash.
- 
- Thu Apr  3 22:27:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
- 
- 2003-04-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/10157
- 	* gcse.c (can_copy_p): Rename it to can_copy.
- 	(can_copy_init_p): Remove.
- 	(compute_can_copy): Use can_copy instead of can_copy_p.
- 	(can_copy_p): New exported function. Call compute_can_copy.
- 	(hash_scan_set): Use it.
- 	(gcse_main): Don't call compute_can_copy.
- 	(bypass_jumps): Don't call compute_can_copy.
- 	* rtl.h (can_copy_p): Declare.
- 	* loop.c (scan_loop): Don't move the source and add a reg-to-reg
- 	copy if the mode doesn't support copy operations.
- 
- 2003-04-03  Jason Merrill  <jason@redhat.com>
- 
- 	* Makefile.in (unstrap): Also remove stage_last.
- 
- 	* dwarf2out.c (lookup_filename): Don't check for "<internal>".
- 	(dwarf2out_source_line): Don't do anything if line==0.
- 
- 	* stor-layout.c (do_type_align): New fn, split out from...
- 	(layout_decl): ...here.  Do all alignment calculations for
- 	FIELD_DECLs here.
- 	(update_alignment_for_field): Not here.
- 	(start_record_layout, debug_rli): Remove unpadded_align.
- 	* tree.h (struct record_layout_info_s): Remove unpadded_align.
- 	* c-decl.c (finish_enum): Don't set DECL_SIZE, DECL_ALIGN
- 	or DECL_MODE on the CONST_DECLs.
- 	(finish_struct): Don't mess with DECL_ALIGN.
- 
- Thu Apr  3 18:57:19 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (print_operand): Do not bypass output_addr_const at flag_pic.
- 
- Thu Apr  3 17:08:09 2003  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (sh_function_ok_for_sibcall): Return 0 if the current
- 	function is an interrupt handler.
- 
- 	* sh.c (sh_expand_epilogue): Avoid clash of temp register for
- 	restoring target registers with EH_RETURN_STACKADJ_RTX; use
- 	multiple registers in round-robin fashion.
- 
- 2003-04-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* gengtype-lex.l (IWORD): Add CHAR_BITFIELD.
- 	* system.h (CHAR_BITFIELD): New.
- 
- 2003-04-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Generalize to accept GT
- 	and LE.
- 	(another peephole2): Likewise.
- 
- 2003-04-03  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/sparc/sol2-bi.h (ASM_CPU64_DEFAULT_SPEC): Add -TSO.
- 	(DEF_ARCH64_SPEC): Likewise.
- 
- Thu Apr  3 09:53:40 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (constant_address_p): Use legitimate_constant_p.
- 	(legitimate_address_p): Do not use CONSTANT_ADDRESS_P.
- 
- 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	gtle_operator.
- 	* config/h8300/h8300.c (gtle_operator): New.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Add an entry for
- 	gtle_operator.
- 	* config/h8300/h8300.md (a peephole2): Generalize to accept GT
- 	and LE.
- 
- 2003-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc-std.ver (_Unwind_GetCFA): New.
- 	* unwind-dw2.c (_Unwind_GetCFA): New.
- 	* unwind-libunwind.c (_Unwind_GetCFA): New.
- 	* unwind-sjlj.c (_Unwind_GetCFA): New.
- 	* unwind.h: Declare it.
- 
- Thu Apr  3 00:31:21 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR inline-asm/8088
- 	* i386.c (ix86_hard_regno_mode_ok):  Return 0 for MMX/SSE registers
- 	when MMX/SSE is not available.
- 
- 2003-04-02  Mike Stump  <mrs@apple.com>
- 
- 	* doc/install.texi (Specific): Update pointers to apple.com.
- 
- Thu Apr  3 00:18:49 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (override_options):  Disable red zone by default on i386.
- 	(compute_frame_layout, ix86_force_to_memory, ix86_free_from_memory):
- 	Do not test TARGET_64BIT together with TARGET_RED_ZONE
- 
- 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Tighten the condition.
- 
- 2003-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* longlong.h (umul_ppmm) [alpha]: Use __builtin_alpha_umulh.
- 
- 2003-04-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (sjlj_find_directly_reachable_regions): Recognize when
- 	must-not-throw region has been deleted.
- 
- 2003-04-02  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (output_call_frame_info): Ignore fde->nothrow as an
- 	optimization when flag_exceptions not enabled.
- 
- 2003-04-02  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/rs6000/rs6000.c
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Redefine the
- 	macros.
- 	(rs6000_issue_rate): Add case for 8540.
- 	(rs6000_use_sched_lookahead): New function.
- 
- 	* config/rs6000/8540.md: Rename SIU units into SU ones and MIU
- 	units into MU ones.
- 	(ppc8540_branch, ppc8540_cr_logical): Add one cycle in the
- 	reservation before retirement.
- 	(ppc8540_multiply, ppc8540_load, ppc8540_store,
- 	ppc8540_simple_float, ppc8540_vector_load, ppc8540_vector_store):
- 	Remove additional cycle in the reservation before retirement.
- 	(ppc8540_mfcr, ppc8540_mtcrf, ppc8540_mtjmpr): Add missed
- 	reservation of ppc8540_issue.
- 
- 2003-04-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* real.c (decode_ieee_single): Fix decoding of SNaN bit.
- 
- 2003-04-01  Richard Henderson  <rth@redhat.com>
- 
- 	* except.c (convert_from_eh_region_ranges_1): Smash REG_EH_REGION
- 	notes for nothrow calls if flag_forced_unwind_exceptions.
- 	(build_post_landing_pads): Mind flag_forced_unwind_exceptions.
- 	(sjlj_find_directly_reachable_regions): Likewise.
- 	(reachable_handlers): Likewise.
- 	(can_throw_external): Likewise.
- 	(collect_one_action_chain): Record cleanups after catch-all and
- 	must-not-throw if flag_forced_unwind_exceptions.
- 	* flags.h (flag_forced_unwind_exceptions): Declare.
- 	* toplev.c (flag_forced_unwind_exceptions): New.
- 	(lang_independent_options): Add it.
- 	* doc/invoke.text: Add it.
- 
- 2003-04-01  David Mosberger <davidm@hpl.hp.com>
- 
- 	* config/ia64/crti.asm: Clean up trailing whitespace.
- 	Remove trailing hashes (#) from identifiers.
- 
- 	* config/ia64/crtn.asm: Ditto.
- 
- 	* config/ia64/crtend.asm: Remove trailing hashes (#) from
- 	identifiers.
- 	(__do_global_ctors_aux): Align to 32-byte boundary.  Add unwind
- 	directives.  Drop explicit bundling---it just makes the code
- 	harder to read.  Don't save/restore gp needlessly.
- 
- 	* config/ia64/crtbegin.asm: Remove trailing hashes (#) from
- 	identifiers (they're only needed if the identifier would clash
- 	with a register name otherwise).
- 	(__do_global_dtors_aux): Align to 32-byte boundary. Add unwind
- 	directives.  Drop explicit bundling---it just makes the code
- 	harder to read.
- 	(__do_jv_register_classes): Ditto.
- 	(.fini_array): Remove "progbits" (newer
- 	assemblers don't like wrong section-types).
- 	(.init_array): Ditto.
- 
- 2003-04-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR fortran/9974
- 	* gcse.c (reg_killed_on_edge): New function to test whether the
- 	given reg is overwritten by any instruction queued on an edge.
- 	(bypass_block): Ignore substitutions killed on incoming edges.
- 	Don't bypass outgoing edges that have queued instructions.
- 
- 2003-04-01  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* real.h (EXP_BITS): Make room for...
- 	(struct real_value): ... added canonical bit.
- 	(struct real_format): Added pnan.
- 	(mips_single_format, mips_double_format, mips_extended_format,
- 	mips_quad_format): New.
- 	* real.c: Copy p to pnan in all formats.
- 	(get_canonical_qnan, get_canonical_snan): Set canonical bit.
- 	(real_nan): Use pnan to compute significand's shift.
- 	(real_identical): Disregard significand in canonical
- 	NaNs.
- 	(real_hash): Likewise.  Take signalling into account.
- 	(encode_ieee_single, encode_ieee_double, encode_ieee_quad):
- 	Disregard significand bits in canonical NaNs.  Set all bits of
- 	canonical NaN if !qnan_msb_set.
- 	(encode_ibm_extended, decode_ibm_extended): Likewise.  Use
- 	qnan_msb_set to tell the base double format.
- 	(ibm_extended_format): Use 53 as pnan.
- 	(mips_single_format, mips_double_format, mips_extended_format,
- 	mips_quad_format): Copied from the corresponding ieee/ibm
- 	formats, with qnan_msb_set false.
- 	* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Use mips_extended_format.
- 	* config/mips/linux64.h (MIPS_TFMODE_FORMAT): Use mips_quad_format.
- 	* config/mips/mips.c (override_options): Use mips_single_format
- 	and mips_double_format.  Default TFmode to mips_quad_format.
- 	* config/mips/t-linux64 (tp-bit.c): Define QUIET_NAN_NEGATED.
- 	* config/mips/t-irix6: Likewise.
- 	* config/mips/t-mips (fp-bit.c, dp-bit.c): Likewise.
- 	* config/fp-bit.c (pack_d, unpack_d): Obey it.
- 
- 2003-04-01  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* unwind-dw2-fde-darwin.c (DESTRUCTOR_MAY_BE_CALLED_LIVE): New.
- 	(live_image_destructor): Reset image to initial state.
- 	(examine_objects): Set DESTRUCTOR_MAY_BE_CALLED_LIVE.
- 
- 2003-04-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	* config/sparc/sparc.c (input_operand): Accept bare
- 	CONSTANT_P_RTX operands.
- 
- 2003-04-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (struct ls_expr): Added pattern_regs field.
- 	(ldst_entry): Initialize it.
- 	(extract_mentioned_regs, extract_mentioned_regs_helper): New.
- 	(store_ops_ok): Use regs precomputed by them.
- 	(find_loads, store_killed_in_insn, load_kills_store): Change return
- 	type to bool.
- 	(store_killed_before, store_killed_after): Take position of register
- 	set in account.
- 	(reg_set_info): Store position of the setter.
- 	(gcse_main): Enable store motion.
- 	(mems_conflict_for_gcse_p): Enable load motion of non-symbol mems.
- 	(pre_insert_copy_insn, update_ld_motion_stores, insert_store): Prevent rtl
- 	sharing.
- 	(simple_mem): Enable store motion of non-symbol mems.
- 	(regvec): Type changed.
- 	(LAST_AVAIL_CHECK_FAILURE): New.
- 	(compute_store_table_current_insn): New.
- 	(build_store_vectors): Computation of availability and anticipatability
- 	moved ...
- 	(compute_store_table, find_moveable_store): ... here.
- 	(delete_store): Remove senseless comment.
- 	(store_motion): Reorganize.
- 
- 2003-04-01  Kevin Buettner  <kevinb@redhat.com>
- 
- 	* config/mips/mips.c (override_options): Provide mappings for
- 	HI_REGNUM and LO_REGNUM.
- 	* config/mips/mips.h (MD_DBX_FIRST): Define.
- 
- 2003-04-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* combine.c (merge_outer_ops): Fix typo.
- 
- 	* varasm.c (make_decl_one_only): Revert 2003-03-09 patch.
- 
- 2003-04-01  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/{40x.md,603.md,6xx.md,7450.md,7xx.md,mpc.md,
- 	power4.md,rios1.md,rios2.md,rs64.md}: Change mult_compare to
- 	imul_compare.  Add lmul_compare.
- 	* config/rs6000/power4.md: Bump some latencies.  Model extra cycle
- 	in second pair of dispatch slots.  Model stores more accurately.
- 	Tweak multiply model.  Add bypasses for CR instructions dependent
- 	on complicated compares.
- 	* config/rs6000/rs6000.md (mulsi3): Name imul_compare patterns.
- 	(muldi3): Add lmul_compare patterns.
- 	* config/rs6000/rs6000.c (rs6000_variable_issue): Move FPLOAD_UX
- 	and FPSTORE_UX to split instructions and add COMPARE,
- 	DELAYED_COMPARE, IMUL_COMPARE, LMUL_COMPARE, IDIV, LDIV.
- 	(rs6000_adjust_cost): Add IMUL_COMPARE and LMUL_COMPARE.
- 	(rs6000_rtx_costs): Separate POWER4 multiply case.
- 
- 2003-04-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_fixup_clobbered_return_reg):
- 	Do nothing if __builtin_return_address was not used.
- 
- Tue Apr  1 18:18:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (test patterns):  Allow memory operand in operand1.
- 
- 2003-04-01  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/gcc.c-torture/execute/simd-3.c: New.
- 
- 	* expr.c (expand_expr): Handle VECTOR_CST.
- 	(const_vector_from_tree): New.
- 
- 	* varasm.c (output_constant): Handle VECTOR_CST.
- 
- 	* c-typeck.c (digest_init): Build a vector constant from a
- 	VECTOR_TYPE.
- 
- 	* config/rs6000/rs6000.c: Remove prototype for
- 	easy_vector_constant.
- 	(easy_vector_constant): Add mode parameter.  Rewrite to handle
- 	more easy constants.
- 	(rs6000_emit_move): Pass mode to easy_vector_constant.
- 	Call emit_easy_vector_insn for SPE V2SI vector constant moves.
- 	(emit_easy_vector_insn): New.
- 	(easy_vector_same): New.
- 	(EASY_VECTOR_15): New macro.
- 	(EASY_VECTOR_15_ADD_SELF): New macro.
- 	(bdesc_2arg): Rename to xorv2si3.
- 	(easy_vector_constant_add_self): New.
- 	(input_operand): Allow vector constants.
- 
- 	* config/rs6000/rs6000.h (PREDICATE_CODES): Add
- 	easy_vector_constant, easy_vector_constant_add_self.
- 	(EXTRA_CONSTRAINT): Add 'W'.
- 
- 	* config/rs6000/rs6000-protos.h: Add prototype for
- 	easy_vector_constant, emit_easy_vector_insn.
- 
- 	* config/rs6000/altivec.md (xorv8hi3): New.
- 	(xorv16qi3): New.
- 	Remove all _const0 patterns.
- 	(movv4si_internal): Rewrite to use code.  Add vector constant to
- 	vector alternative.  Add splitter.
- 	(movv8hi_internal): Same.
- 	(movv16qi_internal): Same.
- 	(movv4sf_internal): Same.
- 	Change the unspecs for vspltis* to use constants.
- 
- 	* config/rs6000/spe.md ("xorv4hi3"): New.
- 	("spe_evxor"): Rename to xorv2si3.
- 	("xorv1di3"): New.
- 	Remove all _const0 patterns.
- 	(movv2si_internal): Rewrite to use code.  Add vector constant to
- 	alternatives.  Add splitter.
- 	(movv4hi_internal): Add vector constant to alternatives.
- 	(movv1di_internal): Same.
- 	(movv2sf_internal): Same.
- 
- 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c/9936
- 	* c-decl.c (grokdeclarator): Clear SAVE_EXPR_CONTEXT for
- 	variably-sized arrays in parameters.
- 	(set_save_expr_context): New function.
- 	(c_expand_body): Use it, via walk_tree.
- 
- 2003-03-31  Eric Christopher  <echristo@redhat.com>
- 
- 	* combine.c (can_combine_p): Allow ZERO_EXTRACT and STRICT_LOW_PART.
- 	(combinable_i3pat): Remove call to expand_field_assignment and
- 	#if 0'd code.
- 
- 2003-03-31  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/10278
- 	* c-common.c (finish_label_address_expr): Handle the
- 	error_mark_node.
- 
- 2003-03-31  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_identical): Reorg so as to not compare
- 	signalling for normals.
- 
- 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (hard_reg_operand): Check the mode.
- 
- 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't rely on REG_WAS_0
- 	notes as they are boggus.
- 	(m68hc11_gen_movqi): Likewise.
- 
- 2003-03-31  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (expand_prologue): For an interrupt handler
- 	save the soft registers after the frame pointer so that gdb can unwind
- 	the frame more easily.
- 	(expand_epilogue): Likewise in opposite order; allow to use X register
- 	as scratch if the return value is by reference.
- 
- 2003-03-31  Jason Merrill  <jason@redhat.com>
- 
- 	PR java/10145
- 	* stor-layout.c (update_alignment_for_field): Respect
- 	DECL_USER_ALIGN for zero-length bitfields, too.
- 	* c-decl.c (finish_struct): Don't set DECL_ALIGN for normal
- 	fields.
- 
- 2003-03-31  Matt Austern  <austern@apple.com>
- 
- 	* cpppch.c (struct cpp_savedstate): Add defs and n_defs members.
- 	(count_defs): Keep track of number of defs as well as total size.
- 	(write_defs): Put every definition in cpp_savedstate's defs array.
- 	(comp_hashnode): Define.  Comparison function for qsort.
- 	(cpp_write_pch_deps): Sort definitions before writing them.
- 	(struct ht_node_list): Define. Like cpp_savedstate but simpler.
- 	(collect_ht_nodes): Define.
- 	(cpp_valid_state): When verifying that undefined identifiers in
- 	the pch file are still undefined, read a sorted list of undefined
- 	identifiers, collect all defined identifiers into a sorted list,
- 	and walk through both lists to make sure there's no match.
- 
- 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-03-31  Michael Matz  <matz@suse.de>
- 
- 	* config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Change 1 into 0.
- 
- 2003-03-31  Segher Boessenkool  <segher@koffie.nl>
- 
- 	PR target/10177
- 	* config/rs6000/rs6000.h (HARD_REGNO_RENAME_OK): New.
- 	* config/rs6000/rs6000.c (compute_vrsave_mask): Don't mark
- 	all call-clobbered registers as used.
- 
- 2003-03-31  Michael Matz  <matz@suse.de>
- 
- 	* cppexp.c (cpp_classify_number): Accept '.' after "0x".
- 	* testsuite/gcc.dg/cpp/c99-hexfloat-3.c: New file.
- 
- 2003-03-31  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* gcov.c: Add -a & -u options.
- 	(struct arc_info): Add local_span, is_call_non_return,
- 	is_nonlocal_return, is_unconditional flags, remove is_call flag.
- 	(struct block_info): Add flags, is_call_site, is_nonlocal_return
- 	members. Make encodings a union with span member.
- 	(struct function_info): Add blocks_executed, line, src, line_next
- 	members.
- 	(struct coverage_info): Make branches a union with blocks member.
- 	(struct source_info): Add functions member.
- 	(object_summary, program_count): New global variables.
- 	(flag_all_blocks, flag_unconditional): New flags.
- 	(find_source, output_branch_count): New functions.
- 	(print_usage): Adjust.
- 	(options): Adjust.
- 	(process_args): Adjust.
- 	(read_graph_file) <GCOV_TAG_FUNCTION>: Adjust.
- 	<GCOV_TAG_BLOCKS>: Read flags.
- 	<GCOV_TAG_LINES>: Adjust.
- 	(read_count_file): Process SUMMARY tags.
- 	(solve_flow_graph): Set is_unconditional and clear is_call_site
- 	appropriately.
- 	(add_branch_counts): Adjust. Don't count unconditional branches.
- 	(add_line_counts): Deal with all-blocks mode, accumulate block
- 	coverage.
- 	(accumulate_line_counts): Adjust, generate local spanning tree for
- 	all-blocks mode.
- 	(output_lines): Adjust.
- 	* profile.c (branch_prob): Alter GCOV_FUNCTION_TAG record.
- 	* doc/gcov.texi: Document.
- 
- 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Organize peephole2's that transform
- 	(compare (reg:HI) (const_int)).
- 
- 2003-03-31  Roger Sayle  <roger@eyesopen.com>
- 
- 	* emit-rtl.c (dconstm2, dconsthalf): New real constants.
- 	(init_emit_once): Initialize dconstm2 and dconsthalf here.
- 	* real.h (dconstm2, dconsthalf): Add prototypes here.
- 	* real.c (real_sqrt): Use dconsthalf rather than local copy.
- 	* builtins.c (fold_builtin): When optimizing sqrt(exp(x)) as
- 	exp(x/2.0) remember to fold the division if possible.
- 	Fold sin(0.0) as 0.0, cos(0.0) as 1.0, pow(x,1.0) as x,
- 	pow(x,-1.0) as 1.0/x, pow(x,2.0) as x*x, pow(x,-2.0) as
- 	1.0/(x*x) and pow(x,0.5) as sqrt(x).
- 
- 2003-03-31  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a new peephole2): New.
- 
- 2003-03-31  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* gcse.c (simple_mem): Return false for floating-point accesses
- 	if flag_float_store is true.
- 
- 2003-03-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (gcse_constant_p): New function to identify constants
- 	suitable for constant propagation, including COMPARE with two
- 	integer constant arguments.
- 	(hash_scan_set): Use gcse_constant_p.
- 	(find_avail_set): Likewise.
- 	(cprop_insn): Likewise.
- 	(do_local_cprop): Likewise.
- 	(find_implicit_sets): Likewise.
- 	(find_bypass_set): Likewise.
- 
- 2003-03-30  Matt Kraai  <kraai@alumni.cmu.edu>
- 
- 	* except.h: Remove definition of varray_type.
- 
- 2003-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/10011, opt/10252:
- 	* toplev.c (rest_of_compilation): Run purge_builtin_constant_p
- 	before post-gcse cse pass.
- 
- 2003-03-30  Roger Sayle  <roger@eyesopen.com>
- 
- 	* dojump.c (do_jump): Copy SUBREGs into a pseudo for comparison.
- 
- 2003-03-30  DJ Delorie  <dj@redhat.com>
- 
- 	* profile.c (instrument_edges): Make sure any newly created
- 	jump insns have correct jump label info.
- 
- 2003-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgbuild.c (make_edges): Use tablejump_p.
- 	* cfgcleanup.c (label_is_jump_target_p): Likewise.
- 	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
- 	* cfgrtl.c (flow_delete_block_noexpunge): Likewise.
- 	(try_redirect_by_replacing_jump): Likewise.
- 	(redirect_edge_and_branch): Likewise.
- 	* cse.c (fold_rtx): Likewise.
- 	* jump.c (delete_related_insns): Likewise.
- 	* rtlanal.c (get_jump_table_offset): Likewise.
- 	* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
- 
- 2003-03-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* Makefile.in (STRICT_WARN): Don't warn for ISO C constructs.
- 	(STRICT2_WARN): Likewise.
- 
- 2003-03-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	PR other/6955
- 	* collect2.c (collect_wait): Use WCOREDUMP and fix output message.
- 	* system.h (WCOREDUMP, WCOREFLG): Define if necessary.
- 
- 2003-03-30  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/10083
- 	* config/alpha/alpha.md (umuldi3_highpart): Change to expander;
- 	don't zero_extend const inputs.
- 
- 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reload_cse_move2add): Fix a comment typo.
- 
- 2003-03-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Remove useless code.
- 
- 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi3_and_ashift): New.
- 	(*iorsi3_and_lshiftrt): Likewise.
- 	(*iorsi3_zero_extract): Likewise.
- 
- 2003-03-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*insv_si_8_8): New.
- 	(*insv_si_8_8_lshiftrt_8): Likewise.
- 	(a peephole2): Likewise.
- 
- 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi: Add Eric Botcazou and Roger Sayle.
- 	Uniformly use bugfix instead of bug fix.
- 
- 2003-03-29  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	PR doc/895
- 	* ONEWS: Remove those items that already appear in the EGCS
- 	release notes on our web pages.
- 
- 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Respect
- 	TARGET_HARD_FLOAT.  Reformat.
- 	(FUNCTION_ARG_REGNO_P): Likewise, and remove unneeded casts.
- 
- 2003-03-28  Albert Chin-A-Young  <china@thewrittenword.com>
- 
- 	* gcc/fixinc/inclhack.def: Update solaris_mutex_init_1 to
- 	work on Solaris 2.5.1.
- 
- 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*addsi3_and_r_1): Put under plus:SI
- 	section of h8300.md
- 	(*addsi3_and_nor_r_1): Likewise.
- 
- 2003-03-29  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_emit_prologoue): Make sure backchain is
- 	set up before any trapping memory access if flag_non_call_exceptions.
- 
- 2003-03-29  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* reload1.c (reload_as_needed): Allow a USE in asm reloads.
- 
- 	* loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
- 
- 2003-03-28  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Clarify comments.
- 	* configure: Regenerate.
- 
- 2003-03-28  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("literal_pool_31"): Output pool anchor
- 	label even if pool empty when generating PIC.
- 	("literal_pool_31", "literal_pool_64"): Coding style cleanup.
- 
- 2003-03-28  Kazu Hirata  <kazu@cs.umass.edu>,
- 	    Dhananjay Deshpande  <dhananjayd@kpit.com>
- 
- 	PR target/10205
- 	* config/h8300/h8300.c (h8300_initial_elimination_offset):
- 	Correct the offset computation when TARGET_NORMAL.
- 
- 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/10067
- 	* config/sparc/sparc.md (jump pattern): Correct order
- 	when issuing the annuling marker.
- 
- 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/8281
- 	* config/sparc/sparc.md (movdi_insn_sp32_v9): Remove 'f-f' alternative.
- 	(movdi reg/reg split): Match only on sparc32, and v9 when int regs.
- 
- 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/alpha/elf.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
- 	globalize_label.
- 	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/i960/i960.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/sparc/sparc.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
- 	* config/v850/v850.c (v850_output_aligned_bss): Likewise.
- 
- 2003-03-28  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* loop.c: (find_mem_in_note_1, find_mem_in_note): New functions.
- 	(replace_loop_mems): Add "written" param.  Remove invalid REG_EQUAL
- 	notes after hoisting.
- 	(load_mems): Adjust replace_loop_mems call.
- 
- 2003-03-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR target/10114 and PR target/10084
- 	* dwarf2out.c (mem_loc_descriptor): Handle LO_SUM.
- 
- 2003-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.md (adddi_er_high_l): Valid only after reload.
- 
- 2003-03-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_inf_compare):  New function to simplify FP
- 	comparisons against +Infinity or -Infinity.
- 	(fold):  Optimize floating point comparisons against Infs and NaNs.
- 
- 2003-03-27  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* libgcov.c: Provide only dummy functions if libc is not available.
- 
- 2003-03-27  Richard Henderson  <rth@redhat.com>
- 
- 	* real.h (struct real_value): Add signalling.
- 	(EXP_BITS): Decrement.
- 	* real.c (get_canonical_qnan): Don't set MSB-1.
- 	(get_canonical_snan): Likewise.  Set signalling.
- 	(real_identical): Compare signalling.
- 	(round_for_format): Remove force-one-bit on code.
- 	(real_nan): Likewise.  Set signalling.
- 	(encode_ieee_single): Add force-one-bit code; honor signalling.
- 	(encode_ieee_double, encode_ieee_extended, encode_ieee_quad): Likewise.
- 	(decode_ieee_single): Set signalling.
- 	(decode_ieee_double, decode_ieee_extended, decode_ieee_quad): Likewise.
- 
- 2003-03-27  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	PR ada/9953
- 	* ada/Makefile.in (gnatlib configuration for HPUX): Split
- 	the general section for HPUX into specific sections for
- 	HPUX 10 and HPUX 11. Fix the setting of TGT_LIB in the HPUX
- 	11 case.
- 
- 2003-03-27  Glen Nakamura  <glen@imodulo.com>
- 
- 	PR opt/10087
- 	* loop.c (loop_givs_reduce): Skip bivs with duplicate locations
- 	while incrementing giv.
- 	(record_biv): Check for duplicate biv locations and
- 	set (struct induction *) v->same if found.
- 
- 2003-03-27  David Mosberger  <davidm@hpl.hp.com>
- 
- 	* unwind-libunwind.c (uw_frame_state_for): Adjust for libunwind
- 	v0.9 API change: replace read of UNW_REG_HANDLER with
- 	unw_get_proc_info().
- 	(_Unwind_GetLanguageSpecificData): Replace read of UNW_REG_LSDA
- 	with unw_get_proc_info().
- 	(_Unwind_GetRegionStart): Replace UNW_REG_PROC_START with
- 	unw_get_proc_info().
- 
- 2003-03-27  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/rs6000/8540.md: Use presence_set instead of absence_set.
- 
- 2003-03-26  Richard Henderson  <rth@redhat.com>
- 
- 	* c-decl.c (finish_function): Always defer if DECL_DECLARED_INLINE_P.
- 
- 2003-03-26  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR bootstrap/10051, PR bootstrap/10169.
- 	* mips-tfile.c (init_file): Don't provide a static initializer.
- 	(initialize_init_file): Initialize the contents of init_file.
- 	(add_file): Call initialize_init_file if not already initialized.
- 
- 2003-03-26  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_optimize_prolog): Do not save/restore
- 	registers used for global asm variables.
- 	(s390_frame_info, s390_arg_frame_offset): Likewise.
- 	(s390_emit_prologue, s390_emit_epilogue): Likewise.
- 
- 2003-03-26  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/rs6000/8540.md: New file.
- 
- 	* config/rs6000/{40x.md, 603.md, 6xx.md, 7450.md, 7xx.md, mpc.md,
- 	power4.md, rios1.md, rios2.md, rs64.md}: Add mult_compare to
- 	reservations for imul.
- 
- 	* config/rs6000/rs6000.md: Include 8540.md.  Change
- 	delayed_compare onto mult_compare for insns generating
- 	multiplication.
- 	(mult_compare, fpsimple, brinc, vecdiv, veccmpsimple, vecfdiv):
- 	New type attribute values.
- 
- 	* config/rs6000/spe.md (*negsf2_gp, *abssf2_gpr): Use type
- 	fpsimple instead of fp.
- 	(*divsf3_gpr): Use type vecfdiv instead of fp.
- 	(spe_evfsabs, spe_evfsnabs, spe_evfsneg): Use type vecsimple
- 	instead of vecfloat.
- 	(spe_evfsdive): Use type vecfdiv instead of vecfloat.
- 	(spe_brinc): Use type brinc instead of veccomplex.
- 	(spe_evaddw, spe_evaddiw): Use type vecsimple instead of
- 	veccomplex.
- 	(spe_evdivws, spe_evdivwu): Use type vecdiv instead of veccomplex.
- 	(*movv2si_internal, *movv1di_internal, *movv4hi_internal,
- 	*movv2sf_internal): Define type attribute values for all
- 	alternatives.
- 	(cmpsfeq_gpr, cmpsfgt_gpr, cmpsflt_gpr): Use type veccmp instead
- 	of fpcompare.
- 	(tstsfeq_gpr, tstsfgt_gpr, tstsflt_gpr): Use type veccmpsimple
- 	instead of fpcompare.
- 
- 2003-03-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md: Allow delay between dispatch and
- 	function units for simple instructions.  Correct store units.
- 	Allow branch to occupy as many dispatch slots as necessary.
- 
- 2003-03-26  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_expand_op_and_fetch): Fix comment.
- 	(ia64_expand_compare_and_swap): Use always DImode ar.ccv,
- 	zero extend old to it.
- 	* config/ia64/ia64.md (cmpxchg_acq_si): Remove mode from ccv
- 	operand.
- 
- 2003-03-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/7784
- 	* reload.c (find_reloads_address): Handle
- 	(PLUS (PLUS (REG) (REG)) (CONST_INT)) form for
- 	all base registers.
- 
- 2003-03-25  Marcelo Abreu  <mmabreu@inf.ufrgs.br>
- 
- 	PR other/10203
- 	* version.c: Reference the GCC web site in the URL.
- 
- 2003-03-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* c-incpath.c (add_standard_paths): Add both "translated" and
- 	non-translated header paths.
- 
- 2003-03-25  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* doc/install.texi (*-*-freebsd*): Update with known status.
- 
- 2003-03-21  Jason Merrill  <jason@redhat.com>
- 
- 	PR optimization/10171
- 	* unroll.c (unroll_loop): Don't delete the jump at the end unless
- 	we also delete a jump at the beginning.
- 
- 2003-03-25  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* doc/contrib.texi (Contributors): Mention self as 68HC11/68HC12
- 	contributor.
- 
- Tue Mar 25 20:35:51 CET 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_rtx_costs): For -fpic and x86-64 local symbolic
- 	constants are not expensive.
- 
- Mon Mar 24 20:03:03 CET 2003  Jan Hubicka  <jh@suse.cz>
- 
- 	PR opt/10056
- 	* cfglayout.c (fixup_reorder_chain):  Fix dealing with the conditional
- 	jump jumping to the next instruction.
- 	* cfgrtl.c (force_nonfallthru_and_redirect):  Likewise.
- 
- 2003-03-25  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/passes.texi (Passes): Properly document that we do not
- 	perform jump2 any longer; remove command-line option -dJ.
- 
- 2003-03-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/8746
- 	* config/i386/i386.md (and promoting splitters): Disable HImode to
- 	SImode promoting when the sign bit matters and is not preserved, or
- 	when TARGET_FAST_PREFIX is true. Disable promoting when optimizing
- 	for size.
- 
- 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Extend to support loads
- 	in QImode and HImode.
- 
- 2003-03-24  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Add _call_far and
- 	_return_far
- 	(MULTILIB_OPTIONS): Don't multilib on -mlong-calls.
- 	(MULTILIB_EXCEPTIONS): Likewise.
- 	* config/m68hc11/m68hc11.md ("call"): Support far calls for 68HC11
- 	by calling some board support routine.
- 	("call_value"): Likewise.
- 	("*return_void"): Likewise for return.
- 	("*return_16bit"): Likewise.
- 	("*return_32bit"): Likewise.
- 	* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Generate .far
- 	for 68HC11 too.
- 	(DWARF2_ADDR_SIZE): Use 4 so that addresses can
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Accept
- 	-mlong-calls for 68HC11.
- 	* config/m68hc11/larith.asm (declare_near): New macro.
- 	(__premain, ___negsi2, ___one_cmplsi2, ___ashlsi3): Use it.
- 	(___ashrsi3, ___lshrsi3, ___lshrhi3, ___lshlhi3): Likewise.
- 	(___rotrhi3, ___rotlhi3, ___ashrhi3, ___ashrqi3): Likewise.
- 	(___lshlqi3, __divmodhi4, ___mulqi3, ___mulhi3): Likewise.
- 	(__mulhi32): Likewise.
- 	(ret): Update macro for 68HC11.
- 	(__far_trampoline): Implement for 68HC11.
- 	(__call_a16, __call_a32, __return_void, __return_16): New support
- 	routines for 68HC11 memory bank switching calling support.
- 	(__return_32): Likewise.
- 
- 2003-03-24  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* toplev.c (independent_decode_option): Don't skip a 'Y' prefix.
- 
- 2003-03-24  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* doc/install.texi (Testing): Mention test result links from build
- 	status pages.
- 
- 2003-03-24  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* function.c (put_var_into_stack): Change bool parameter to int.
- 	(gen_mem_addressof): Likewise.
- 	* rtl.h (gen_mem_addressof): Likewise.
- 	* tree.h (put_var_into_stack): Likewise.
- 	* config/alpha/alpha.c (alpha_gp_save_rtx): Adjust call to
- 	gen_mem_addressof or put_var_into_stack.
- 	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
- 	* config/ia64/ia64.c (spill_tfmode_operand): Likewise.
- 
- 2003-03-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-03-24  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dojump.c (do_jump): Handle UNSAVE_EXPR specially.
- 
- 2003-03-24  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/contrib.texi (Contributors): Update Janis Johnson.
- 
- 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR target/10072
- 	* combine.c (simplify_if_then_else): Check that the mode
- 	has MODE_INT class before applying the (OP Z (mult COND C2))
- 	transformation.
- 
- 2003-03-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/9414
- 	* config/sparc/sparc.md (widening peepholes): Use
- 	widen_memory_access instead of change_address.
- 
- 2003-03-23  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/7086
- 	* c-typeck.c (c_mark_addressable): Adjust calls to
- 	put_var_into_stack.
- 	* expr.c (expand_expr): Likewise.
- 	* function.c (put_var_into_stack): Add rescan parameter.  Do not
- 	call fixup_var_refs when rescan is false.
- 	(gen_mem_addressof): Likewise.
- 	(assign_parms): Adjust calls to put_var_into_stack.
- 	(setjmp_protect): Likewise.
- 	(setjmp_protect_args): Likewise.
- 	* rtl.h (gen_mem_addressof): Change prototype.
- 	* stmt.c (expand_decl): Adjust calls to put_var_into_stack.
- 	* tree.h (put_var_into_stack): Change prototype.
- 
- 2003-03-23  Arpad Beszedes <beszedes@cc.u-szeged.hu>
- 
- 	PR middle-end/9967
- 	* builtins.c (expand_builtin_fputs): When optimizing for size,
- 	don't transform fputs into fwrite.
- 
- 2003-03-23  Glen Nakamura <glen@imodulo.com>
- 
- 	PR c/8224
- 	* fold-const.c (extract_muldiv_1): Don't pass through type conversions
- 	when signedness changes for division or modulus.
- 
- 2003-03-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Remove unnecessary
- 	globalize_label.
- 
- 2003-03-23  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c/10178
- 	* stmt.c (expand_end_case_type): Check for overflow in range when
- 	determining whether to use a bit-test implementation.
- 
- 2003-03-23  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
- 	before flow2.
- 	* cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
- 
- 2003-03-23  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/10116
- 	* ifcvt.c (find_if_block): Disallow tablejump insns outgoing
- 	from then_bb or else_bb after flow2.
- 
- 2003-03-23  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Check whether it is necessary to link against
- 	libm to use ldexp.
- 	* configure: Regenerate.
- 	* Makefile.in: Add LDEXP_LIB substitution variable.
- 
- 2003-03-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Fix comment typos.
- 
- 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (output_cbranch): Fix typo in comment.
- 
- 2003-03-22  Richard Henderson <rth@redhat.com>
- 
- 	* cfgcleanup.c (insns_match_p): Do not do EQUIV substitution
- 	after reload.
- 
- 2003-03-22  DJ Delorie  <dj at redhat dot com>,
- 	Bruce Korb  <bkorb at gnu dot org>
- 
- 	* fixinc/inclhack.def (solaris_mutex_init_1): New; Fix
- 	buggy Solaris 2.6 mutex/cond initializers.
- 	(solaris_mutex_init): Rename to solaris_mutex_init_2.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/pthread.h: Update.
- 	* fixinc/fixincl.c(initialize): be explicit about the default case
- 	and indicate verbose level when being very, very verbose.
- 	* fixinc/check.tpl(VERBOSE): provide a means for passing the value in
- 
- 2003-03-22  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.c (ix86_init_machine_status): Return value.
- 
- 2003-03-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (output_cbranch, output_bb, output_bvb): Output nop for
- 	conditional branch to the following instruction.  Use next_real_insn
- 	instead of next_active_insn.
- 	(output_dbra, output_movb, jump_in_call_delay): Use next_real_insn
- 	instead of next_active_insn.
- 
- 2003-03-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("movti", "*movdi_31", "*movdf_31"): Use 'o'
- 	instead of 'm' constraint in forced-split alternatives.
- 	("*adddi3_31", "*subdi3_31"): Likewise.  Also, pass 0 instead of 1 as
- 	VALIDATE_ADDRESS parameter to operand_subword.
- 
- 2003-03-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (notice_update_cc): Correctly handle
- 	the case where the set destination is STRICT_LOW_PART.
- 
- 2003-03-22  Svein E. Seldal  <Svein.Seldal@solidas.com>
- 
- 	* config/c4x/t-c4x (INSTALL_LIBGCC): Make gcc recognize a c33 as a
- 	c30 instead of a c40 processor.
- 
- 2003-03-22  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* combine.c (simplify_comparison <AND>): Use gen_int_mode.  Tidy.
- 
- 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-common.c: Include intl.h.
- 	(shadow_warning): Rewrite to allow better diagnostic translations.
- 	* c-common.h: Update prototype of shadow_warning.  Declare sw_kind enum.
- 	* c-decl.c (warn_if_shadowing): Update calls to shadow_warning;
- 	use it throughout.
- 	* Makefile.in (c-common.o): Add intl.h.
- 
- 2003-03-21  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config.gcc: Remove 'float_format'.
- 
- 	* fixproto: Define NULL and size_t in generated stdlib.h and
- 	unistd.h.  Kill unused required_stdlib_h, required_unistd_h.
- 	Rearrange file generation loop for readability.  Generate time.h,
- 	string.h if missing.
- 	* tsystem.h: Include <string.h>, <time.h> unconditionally.
- 	* config.gcc: Blow away POSIX defines.
- 
- 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("call_value"): Fix trap check.
- 
- 2003-03-22  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (ASM_DECLARE_FUNCTION_NAME): Fix typo in
- 	writing .interrupt command.
- 	* config/m68hc11/m68hc11.md ("call"): Look at the symbol to see
- 	if it's a far or near function.
- 	("call_value"): Likewise.
- 	* config/m68hc11/m68hc11.c (m68hc11_attribute_table): Add far and
- 	near attributes.
- 	(m68hc11_handle_fntype_attribute): Accept attributes on methods.
- 	(m68hc11_override_options): Ignore -mlong-calls for 68HC11.
- 	(m68hc11_initial_elimination_offset): Set current_function_far
- 	according to attributes.
- 	(expand_prologue): Likewise.
- 	(trap_handler_symbol): New global to keep track of trap handlers.
- 	(m68hc11_encode_section_info): Mark symbol as far if needed; set
- 	trap symbol.
- 	(m68hc11_is_far_symbol): New function.
- 	(m68hc11_is_trap_symbol): New function.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_is_far_symbol): Declare.
- 	(m68hc11_is_trap_symbol): Declare.
- 
- 2003-03-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_compute_frame_layout): Recompute fast prologues
- 	only when amount of saved regs changed.
- 	(ix86_init_machine_status): Initialize use_fast_prologue_epilgoue_nregs.
- 	* i386.h (machine_function): New fields use_fast_prologue_epilgoue_nregs.
- 
- 2003-03-21  Jan Hubicka  <jh@suse.cz>
- 
- 	PR inline-asm/7916
- 	* function.c (instantiate_virtual_regs_lossage): New function.
- 	(instantiate_virtual_regs_1): Use it.
- 	(instantiate_virtual_regs): Do not continue in substition when insn has
- 	been deleted.
- 
- 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (make_field_assignment): Fix a warning.
- 
- 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*insv_si_1_n_lshiftrt_16): New.
- 
- 2003-03-21  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.h (REG_ALLOC_ORDER):  Increase
- 	priority for R2 on Darwin.
- 	(HARD_REGNO_MODE_OK):  Don't accept R31 for DFmode.
- 
- 2003-03-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (make_field_assignment): Remove unnecessary AND
- 	when storing into zero_extract.
- 
- 2003-03-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* aclocal.m4 (gcc_AC_EXAMINE_OBJECT, gcc_AC_C_FLOAT_FORMAT): Delete.
- 	* configure.in: Don't call gcc_AC_C_FLOAT_FORMAT.
- 	* defaults.h: Remove reference to HOST_FLOAT_WORDS_BIG_ENDIAN
- 	in comment.
- 
- 2003-03-21  DJ Delorie  <dj@redhat.com>
- 
- 	* optabs.c (init_integral_libfuncs): Make sure we init at least up
- 	to "long long" size words.
- 
- 2003-03-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h: Do not include fixdfdi.h on s390x.
- 	(TARGET_64BIT): Define as compile-time constant when IN_LIBGCC2.
- 	(MIN_UNITS_PER_WORD): Do not define when IN_LIBGCC2.
- 
- 2003-03-21  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	PR doc-bug/9813
- 	* doc/extend.texi: Move misplaced paragraph about underscores in
- 	variables in macros.
- 
- 2003-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/8366
- 	* config/sparc/sparc.h: (SYMBOLIC_CONST): New macro.
- 	(GO_IF_LEGITIMATE_ADDRESS): Use it. Reject the form
- 	PIC+SYMBOLIC_CONST in other modes than Pmode.
- 	(GO_IF_MODE_DEPENDENT_ADDRESS): Use it. Mark
- 	the form PIC+SYMBOLIC_CONST as mode dependent.
- 
- 2003-03-21  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_arith): Make
- 	sure we always emit at least one insn.
- 
- 2003-03-21  Christopher Faylor  <cgf@redhat.com>
- 
- 	* config.gcc (i[34567]86-*-cygwin*): Use new common makefile
- 	stub t-cygming. Use common target header cygming.h. Add extra
- 	c_target_obj and cxx_target_obj file. Default cygwin to posix
- 	threading. Enforce i386 as float format.
- 	(i[34567]86-*-mingw*): Use new common makefile stub t-cygming.
- 	Remove cygwin.h as target header. Use common target header
- 	cygming.h  Enforce i386 as float format. Correct typo.
- 	* config/i386/cygming.h: New file, containing definitions
- 	common to mingw32 and cygwin.
- 	* config/i386/cygwin.h: Remove definitions common to cygwin and
- 	mingw.	Simplify special spec logic.  Define "wrappers" around
- 	certain include path defines to accommodate -mno-cygwin.
- 	Remove some #if 0'ed code.
- 	(STANDARD_INCLUDE_DIR) Always define when not cross-compiling.
- 	(LINK_SPEC): Don't use cyg search prefix when -mno-cygwin.
- 	(GCC_DRIVER_HOST_INITIALIZATION): Define as call to mingw_scan.
- 	* config/i386/mingw32.h: Remove definitions common to cygwin and
- 	mingw.
- 	(EXTRA_OS_CPP_BUILTINS): Adjust.
- 	(TARGET_VERSION): Define.
- 	* config/i386/crtdll.h (EXTRA_OS_CPP_BUILTINS): Override
- 	mingw32.h definitions.
- 	(LIBGCC_SPEC): Add libmingwex.a as in mingw32.h.
- 	* config/i386/t-cygwin (EXTRA_GCC_OBJS): Define as cygwin1.o.
- 	Add compilation rules for cygwin1.o cygwin2.o.
- 	* config/i386/cygwin1.c: New file.
- 	* config/i386/cygwin2.c: New file.
- 	* config/i386/t-cygming: New makefile stub.
- 
- 2003-03-20  Richard Henderson  <rth@redhat.com>
- 
- 	* fold-const.c (extract_muldiv_1): Revert changing order of
- 	operands in case MULT_EXPR of 2003-02-16 patch.
- 
- 2003-03-20  Daniel Berlin  <dberlin@dberlin.org>
- 	Merge changes from new-regalloc-branch
- 
- 	From Michael Matz  <matz@suse.de>
- 	* df.c (df_ref_record_1): Move init of loc to safe point.
- 	Only recurse on interesting things in parallels.
- 	Handle CLASS_CANNOT_CHANGE_MODE smarter.
- 	(df_uses_record): Ditto.
- 
- 	* df.h (DF_REF_MEM_OK): New enum member, used to mark ref's which
- 	it's already okay to use memory operands in (IE doesn't require
- 	adding another insn or anything).
- 
- 2003-03-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR middle-end/6348
- 	* explow.c (allocate_dynamic_stack_space): Handle STACK_SIZE_MODE
- 	different from word_mode.
- 
- 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*insv_si_1_n_lshiftrt): Restrict the
- 	source operand to those that can be extracted with bld.
- 
- 2003-03-20  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR 10066
- 	* arm.md (UNSPEC_PIC_BASE): New constant.
- 	(pic_add_dot_plus_four): Wrap with unspec.
- 	(pic_add_dot_plus_eight): Likewise.
- 
- 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*insv_si_1_n): New.
- 	(*insv_si_1_n_lshiftrt): Likewise.
- 
- 2003-03-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_mathfn_compare): New function to simplify
- 	comparisons against built-in math functions.  Fold comparisons
- 	of sqrt against constants.
- 	(fold): Call fold_mathfn_compare when appropriate.
- 
- 2003-03-20 Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* ifcvt.c (find_if_case_1): If we add a new bb, update the dominance
- 	information.
- 
- 2003-03-20  Per Bothner  <pbothner@apple.com>
- 
- 	Various cleanups to help compile server.
- 
- 	* cppinit.c (cpp_create_reader):  Take extra hash_table* argument,
- 	and pass that to _cpp_init_hashtable.
- 	(cpp_read_main_file):  Drop hash_table* argument; don't call
- 	_cpp_init_hashtable.
- 	* cpplib.h:  Update declarations to match.
- 	* c-opts.c (c_common_init_options):  Pass ident_hash to
- 	cpp_create_reader.
- 	(c_common_post_options):  Don't pass ident_hash to cpp_read_main_file.
- 	* fix-header.c (read_scan_file):  Likewise pass NULL table to
- 	cpp_create_reader rather than cpp_read_main_file.
- 
- 	* cppfiles.c (cpp_rename_file):  Generalized and renamed
- 	to cpp_change_file.
- 	* cpplib.h:  Update declaration to match.
- 	* c-opts.c (push_command_line_line, finish_options):  Change
- 	cpp_rename_file calls to cpp_change_file.
- 
- 	* line-map.c (add_line_map):  Allow leaving the outermost file.
- 	Allowing entering an outermost-file after the initial time.
- 
- 	* toplev.c (pop_srcloc):  Allow popping from initial file.
- 
- 2003-03-20  Kazu Hirata  <kazu at cs dot umass dot edu>
- 
- 	* fold-const.c (fold): Fold A - (A & B) into ~B & A.
- 
- 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-03-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*addsi3_and_r_1): New.
- 	(*addsi3_and_not_r_1): Likewise.
- 
- 2003-03-19  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* Makefile.in (STRICT2_WARN): Add @WERROR@.
- 	(GCC_WARN_CFLAGS): Remove $(WERROR).
- 	(fixinc.sh-warn): New.
- 	* ada/Make-lang.in (ada-warn): Add $(WERROR).
- 	* cp/Make-lang.in (cp-warn): Add $(WERROR).
- 	* f/Make-lang.in (f-warn): Add $(WERROR).
- 	* java/Make-lang.in (java-warn): Add $(WERROR).
- 	* treelang/Make-lang.in (treelang-warn): Add $(WERROR).
- 
- 2003-03-19  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* c-common.h (c_dump_tree), c-dump.c (c_dump_tree),
- 	langhooks-def.h (lhd_tree_dump_dump_tree),
- 	langhooks.c (lhd_tree_dump_dump_tree), langhooks.h (*dump_tree):
- 	Change return type from 'int' to 'bool'.  Replace 0 and 1 with
- 	true and false in return statements.
- 
- 2003-03-19  Kevin Buettner  <kevinb@redhat.com>
- 
- 	* dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE): Define.
- 	(DWARF_COMPILE_UNIT_HEADER_SIZE): Take into account
- 	DWARF_INITIAL_LENGTH_SIZE.
- 	(output_compilation_unit_header, output_pubnames, output_aranges)
- 	(output_line_info): Output 0xffffffff escape value for 64-bit
- 	DWARF extension.
- 	* config/mips/iris6.h (DWARF_INITIAL_LENGTH_SIZE): Define.
- 
- 2003-03-19  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_preferred_reload_class): Do not
- 	force constants to the pool unless necessary.
- 	(s390_decompose_address): Prefer to use pointer as base,
- 	not index register.
- 	* config/s390/s390.md ("*tsthiCCT_only"): Remove '?' from
- 	Q alternative.
- 	("*movdi_64", "*movsi", "movhi", "movqi_64", "movqi",
- 	"*movdf_64", "*movsf"): Add '?' to Q->Q alternatives.
- 	("*extractqi", "*extracthi", "*zero_extendhisi2_31",
- 	"*zero_extendqisi2_31", "*zero_extendqihi2_31",
- 	"*adddi3_31", "*subdi3_31"): Do not set "type" attribute.
- 
- 2003-03-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.h (machine_function): New fields use_fast_prologue_epilogue.
- 	* i386.c (use_fast_prologue_epilogue): Remove.
- 	(ix86_frame): New field save_regs-using_mov;
- 	(ix86_compute_frame_layout):  Decide on fast prologues;
- 	allocate saved registers in red zone.
- 	(ix86_expand_epilogue, ix86_expand_prolgoues): Obey new parameters.
- 
- 2003-03-19  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/mcore/mcore.h (CPP_SPEC): Remove trailing semi-colon.
- 
- 2003-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR 10062
- 	* config/pa/pa-hpux.h (TARGET_HPUX_UNWIND_LIBRARY): Redefine.
- 	* pa-protos.h (output_lbranch): New prototype.
- 	* pa.c (compute_frame_size): Change size of the frame marker on the
- 	64-bit ports to 48 bytes.
- 	(pa_output_function_prologue): Document why SAVE_SP is set.
- 	(hppa_expand_prologue): Save previous stack pointer into frame marker
- 	on targets which use the hpux unwind library.
- 	(output_cbranch): Use output_lbranch.
- 	(output_lbranch): New function to output long unconditional branches.
- 	* pa.h (TARGET_HPUX_UNWIND_LIBRARY): Define.
- 	(STACK_POINTER_OFFSET): Update offset for 48-byte frame marker on
- 	64-bit ports.
- 	* pa.md (jump): Use output_lbranch.
- 	(allocate_stack): New expander for dynamic stack allocation.
- 
- 2003-03-19  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Only require a frame
- 	when debugging on XCOFF targets.  Delete "abi" temp.
- 
- 	PR target/10073
- 	* combine.c (force_to_mode <NOT>): Use gen_int_mode.
- 
- 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/s390/s390.c (s390_output_dwarf_dtprel): New.
- 	* config/s390/s390-protos.h (s390_output_dwarf_dtprel): New proto.
- 	* config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Define.
- 
- 	* config/ia64/ia64.c (ia64_output_dwarf_dtprel): New.
- 	* config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): New proto.
- 	* config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Define.
- 
- 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_prologue): Don't clone
- 	the result of machopic_function_base_name.
- 	* config/darwin.c (machopic_function_base_name): Use a gc-allocated
- 	string rather than a static array.
- 
- 	* Makefile.in (emit-rtl.o): Add gt-emit-rtl.h to dependencies.
- 
- 	* gengtype.c: Include rtl.h.
- 	(enum rtx_code): Don't define.
- 	(rtx_format): Make declaration match rtl.h.
- 	(rtx_next_new): Rename from rtx_next to avoid conflict.  Change all
- 	users.
- 	(adjust_field_rtx_def): Describe strings in NOTE_LINE_NUMBER notes.
- 	* Makefile.in (gengtype.o): Update dependencies.
- 
- 2003-03-18  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.md (iordi3): Fix setting low half to -1.  From
- 	martin@blom.org.
- 
- 2003-03-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* function.c (next_block_index): Mark with GTY.
- 
- 	* config/rs6000/rs6000.md (macho_correct_pic): Correct pattern.
- 
- 2003-03-18  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.md (UNSPECV_SETJMP_RECEIVER): New.
- 	(builtin_setjmp_receiver): Delay call to ia64_reload_gp
- 	until after reload.
- 
- 2003-03-18  Richard Henderson  <rth@redhat.com>
- 
- 	* builtins.c (expand_builtin_unop): New target_mode operand;
- 	use it to convert the result to the correct mode.
- 	(expand_builtin): Update all callers.
- 
- 2003-03-18  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.md ("movti", "movhi", "movqi"): Add "type" attribute.
- 
- 2003-03-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md:  Fix previous commit that mistakely applied the patch
- 	twice.
- 
- 	* alias.c (rtx_equal_for_memref_p): Assume that X and Y has been
- 	canonicalized.
- 	(memrefs_conflict_p): Likewise.
- 	(addr_side_effect_eval): Canonicalize the constructed address.
- 
- 2003-03-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cvtts?2si peep2): New.
- 
- 2003-03-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi3_two_qi_zext): New.
- 
- 2003-03-18  Andreas Schwab  <schwab@suse.de>
- 
- 	* dwarf2out.c (output_file_names): Cast size_t to unsigned long
- 	for format.
- 
- 2003-03-17  Jason Merrill  <jason@redhat.com>
- 
- 	PR c++/10091
- 	* expr.c (expand_expr) [ADDR_EXPR]: Disallow taking the address of
- 	an unaligned member of TREE_ADDRESSABLE type.
- 
- 2003-03-18  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (MASK_PROFILE_KERNEL): Define.
- 	(TARGET_PROFILE_KERNEL): Define.
- 	(SUBTARGET_SWITCHES): Handle -mprofile-kernel.
- 	(PROFILE_BEFORE_PROLOGUE): Don't define.
- 	(PROFILE_KERNEL): Remove hacks.
- 	* config/rs6000/rs6000.c (TARGET_PROFILE_KERNEL): Define default.
- 	(rs6000_stack_info): No need to save lr if just for profiling when
- 	TARGET_PROFILE_KERNEL.
- 	(output_profile_hook): Output nothing when TARGET_PROFILE_KERNEL.
- 	(output_function_profiler): Localize label generation.  Emit code
- 	for kernel profiling.
- 
- 2003-03-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	byte_accesses_mergeable_p.
- 	* config/h8300/h8300.c (byte_accesses_mergeable_p): New.
- 	* config/h8300/h8300.md (*iorhi3_two_qi_mem): Likewise.
- 	(a splitter): Likewise.
- 	(*iorsi3_ashift_16_ashift_24): Likewise.
- 	(*iorsi3_ashift_16_ashift_24_mem): Likewise.
- 
- 2003-03-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dwarf2asm.h: Delete obsolete comment.
- 	(dw2_asm_output_data, dw2_asm_output_delta, dw2_asm_output_offset,
- 	dw2_asm_output_pcrel, dw2_asm_output_addr,
- 	dw2_asm_output_addr_rtx, dw2_asm_output_encoded_addr_rtx,
- 	dw2_asm_output_nstring, dw2_asm_output_data_uleb128,
- 	dw2_asm_output_data_sleb128, dw2_asm_output_delta_uleb128,
- 	dw2_asm_output_delta_sleb128): Add ATTRIBUTE_NULL_PRINTF.
- 
- 2003-03-17  Zack Weinberg <zack@codesourcery.com>
- 
- 	* c-tree.h (struct lang_identifier): Remove error_locus field.
- 	(IDENTIFIER_ERROR_LOCUS): Kill.
- 	(record_function_scope_shadow): New prototype.
- 	* c-typeck.c (build_external_ref): Don't complain if
- 	decl is error_mark_node.  When not at file scope, bind the
- 	decl's local value to error_mark_node to suppress further
- 	warnings, instead of setting IDENTIFIER_ERROR_LOCUS.
- 
- 	* c-decl.c (get_function_binding_level): New static function.
- 	(record_function_scope_shadow): New exported function.
- 	(c_make_fname_decl): Use get_function_binding_level.
- 
- 2003-03-17  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* stmt.c (tail_recursion_args): Call promote_mode to set
- 	unsignedp flag correctly before calling convert_move.
- 
- 2003-03-17  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* loop-unroll.c (decide_peel_completely,
- 	decide_unroll_constant_iterations, decide_unroll_stupid,
- 	decide_unroll_runtime_iterations, decide_peel_simple): Set
- 	loop->has_desc.
- 
- 2003-03-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* ggc-common.c (ggc_mark_roots): Use htab_traverse_noresize.
- 
- 2003-03-17  Olivier Hainque  <hainque@act-europe.fr>
- 
- 	* function.c (assign_parms): For a struct value address passed as
- 	first argument, delay the function's result RTL setup code until
- 	after the emission of parameter conversions.
- 
- 2003-03-17  Dave Love  <fx@gnu.org>
- 	    Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Define __digital__,
- 	__arch64__ to match Compaq cc.
- 
- 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c: Default TARGET_EBCDIC to 0 if not defined.
- 	(c_common_init): Set EBCDIC in cpp options.
- 	* cpplex.c (maybe_read_ucs, cpp_parse_escape): Use EBCDIC option,
- 	not conditional compilation.
- 	* cpplib.h (struct cpp_options): New entry EBCDIC.
- 
- 2003-03-17  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* fix-header.c (read_scan_file): Need to malloc arguments to add_path.
- 
- 2003-03-17  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* function.c (thread_prologue_and_epilogue_insns): Set delete_unused
- 	argument to 0 for redirect_jump.
- 
- 2003-03-16  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/8805
- 	* except.c (eh_region_u_cleanup): Add prev_try.
- 	(expand_eh_region_end_cleanup): Set it.
- 	(reachable_handlers): Use it to skip over cleanup blocks.
- 
- 2003-03-17  Andreas Jaeger  <aj@suse.de>
- 
- 	* Makefile.in (TAGS): Remove obsolete handling of =*.[chy].
- 
- 2003-03-17  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/linux64.h (TARGET_64BIT): Redefine.
- 	(TARGET_RELOCATABLE, TARGET_EABI, TARGET_PROTOTYPE): Likewise.
- 	(SUBTARGET_SWITCHES, SUBTARGET_OPTIONS): Likewise.
- 	(SUBTARGET_OVERRIDE_OPTIONS, CPP_SYSV_SPEC): Likewise.
- 
- 2003-03-16  Richard Henderson  <rth@redhat.com>
- 
- 	* simplify-rtx (simplify_binary_operation): Don't abort for
- 	SS_PLUS, US_PLUS, SS_MINUS, US_MINUS.
- 
- 2003-03-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (movstrictqi, movstrictqi_1): Check
- 	optimize_size as well.
- 
- 2003-03-16  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (print_operand): Handle 'b' modifier
- 	for D register to specify the low part of it, aka B.
- 	(m68hc11_gen_movhi): Use REG_WAS_0 note and increment or decrement
- 	the register if we are loading 1 or -1 to it; avoid using temp
- 	register when moving X/Y to Y/X.
- 	(m68hc11_gen_movqi): Likewise.
- 	(m68hc11_check_z_replacement): Fix last insn setting for compare case.
- 
- 2003-03-14  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR optimization/9016
- 	* config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
- 	into the constant pool.
- 
- 2003-03-16  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR target/9164
- 	* tree.c (get_narrower): For extensions with unchanged bit number,
- 	return the unsignedness of the outer mode.
- 
- 2003-03-16  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-typeck.c (build_component_ref):  Turn "for" into "do .. while"
- 	to avoid "may be used uninitialized" warning on ia64-hpux.
- 	* config/ia64/ia64-c.c: Include "tm_p.h" for function prototypes.
- 
- 2003-03-16  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in: Improve check for memcheck.h.
- 	* configure: Regenerated.
- 
- 2003-03-16  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* doc/cppopts.texi: Remove documentation of -A-.
- 
- 2003-03-15  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* doc/libgcc.texi: Remove @tie.
- 
- 2003-03-15  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* rtl.h (subrtx_p): Renamed to rtx_referenced_p.
- 	(rtx_pair): Added new element update_label_nuses, renamed to
- 	replace_label_data.
- 	* cfgcleanup.c (outgoing_edges_match, try_crossjump_to_edge): Use
- 	replace_label_data instead of rtx_pair.
- 	* loop.c (load_mems): Likewise.
- 	* rtlanal.c (replace_label): Replace label in pool constants and in
- 	INSN_LIST (in REG_LABEL note).
- 	(subrtx_p): Renamed to rtx_referenced_p.
- 	(subrtx_p_1): Renamed to rtx_referenced_p_1, compare the interior of
- 	LABEL_REF with CODE_LABEL, traverse constants from pool.
- 
- 2003-03-15  Aldy Hernandez <aldyh@redhat.com>
- 	    Zack Weinberg  <zack@codesourcery.com>
- 
- 	* Makefile.in (TEXI_GCCINT_FILES): Add libgcc.texi.
- 	* doc/libgcc.texi: New file.
- 	* doc/interface.texi: Delete paragraph about libgcc interface.
- 	* doc/gccint.texi: Add libgcc menu entry and @include libgcc.texi.
- 
- 2003-03-15  Jason Merrill  <jason@redhat.com>
- 
- 	PR debug/9039
- 	* dwarf2out.c (gen_decl_die): Ignore frontend tree codes.
- 
- 	PR debug/6387
- 	* dwarf2out.c (dwarf2out_decl): If we're at -g1, just stick nested
- 	function DIEs at toplevel.
- 	(decls_for_scope): At -g1, don't descend into subblocks.
- 
- 2003-03-15  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* varasm.c (struct rtx_const): Change type of un.addr member
- 	to struct holding an additional 'symbol' member.
- 	(decode_rtx_const): Re-enable optimization to count SYMBOL_REFs
- 	with equal string addresses as equal.
- 	(simplify_subtraction): Adapt to struct rtx_const change.
- 
- 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* fix-header.c (read_scan_file): Read main file before handling -D.
- 
- 2003-03-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-cppbuiltin.c (builtin_define_with_value_n): Fix whitespace.
- 	* c-typeck.c (c_tree_expr_nonnegative_p): Likewise.
- 	* cfgbuild.c (find_many_sub_basic_blocks): Likewise.
- 	(find_sub_basic_blocks): Likewise.
- 	* cgraphunit.c (cgraph_expand_functions): Likewise.
- 	* dwarf2out.c (prune_unused_types): Likewise.
- 	* expr.c (store_field): Likewise.
- 	* genextract.c (print_path): Likewise.
- 	* haifa-sched.c (schedule_insn): Likewise.
- 	* lcm.c (compute_antinout_edge): Likewise.
- 	* loop-unroll.c (decide_peel_once_rolling): Likewise.
- 	* ra-colorize.c (ra_colorize_free_all): Likewise.
- 	* ra-debug.c (dump_igraph): Likewise.
- 	(debug_hard_reg_set): Likewise.
- 	* reg-stack.c (reg_to_stack): Likewise.
- 	* rtlanal.c (refers_to_regno_p): Likewise.
- 	* tracer.c (layout_superblocks): Likewise.
- 
- 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* fix-header.c (read_scan_file): Fix thinko.
- 
- 2003-03-15  Glen Nakamura  <glen@imodulo.com>
- 
- 	* reload1.c (choose_reload_regs): Use && instead of ||
- 	with REG_CANNOT_CHANGE_MODE_P condition.
- 
- 2003-03-15  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.h (cb_register_builtins): Rename c_cpp_builtins.
- 	* c-lex.c (init_c_lex): Register builtins hook is dead.
- 	* c-opts.c (COMMAND_LINE_OPTIONS, missing_arg): Handle -A, -D and -U.
- 	(c_common_decode_option): Don't call cpp_handle_option.
- 	Handle -A, -D and -U.
- 	(handle_deferred_opts): Simplify.
- 	(finish_options): Define builtins and command line macros.
- 	* c-ppoutput.c (init_pp_output): Register builtins hook is dead.
- 	* cppinit.c: Don't include intl.h.
- 	(init_builtins): Rename cpp_init_builtins.  No hook to call.
- 	(init_library): Don't need to sort options.
- 	(cpp_create_reader): Don't set pending.
- 	(cpp_destroy): Don't free pending.
- 	(struct pending_option, cl_directive_handler, struct cpp_pending,
- 	APPEND, free_chain, new_pending_directive, parse_option, opt_comp,
- 	cpp_finish_options, COMMAND_LINE_OPTIONS, DEF_OPT, struct cl_option,
- 	cl_options, cpp_handle_option): Remove.
- 	* cpplib.h (struct cpp_pending, register_builtins, cpp_handle_option,
- 	cpp_finish_options): Remove.
- 	(cpp_init_builtins): New.
- 	* fix-header.c (read_scan_file): Update to handle -D.  Fix
- 	handling of -I.  Replace call to cpp_finish_options.
- 
- 2003-03-15  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	PR optimization/9387
- 	* function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
- 	for conditional returns.
- 
- 2003-03-14  Jason Merrill  <jason@redhat.com>
- 
- 	PR optimization/6871
- 	* varasm.c (assemble_variable): Leave constant zeroes in .rodata.
- 
- 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-opts.c (finish_options): New.
- 	(COMMAND_LINE_OPTIONS, c_common_decode_option): Add -imacros.
- 	(missing_arg): Handle OPT_include and OPT_imacros.
- 	(c_common_init, c_common_parse_file): Use finish_options.
- 	(handle_deferred_opts): Update.
- 	* cppinit.c (struct cpp_pending): Remove imacros_head and imacros_tail.
- 	(cpp_finish_options): Don't handle -imacros here.
- 	(no_fil): Remove.
- 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -imacros.
- 
- 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Don't call
- 	rs6000_maybe_dead if !fromprolog.
- 
- 2003-03-14  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.h (fe_file_change, pp_file_change): New.
- 	* c-lex.c (init_c_lex): Don't set cb_file_change.
- 	(c_common_parse_file): Move to c-opts.c.
- 	(cb_file_change): Rename fe_file_change.
- 	* c-opts.c: Include debug.h.
- 	(warn_unused_macros, include_cursor): New.
- 	(push_command_line_include, cb_file_change): New.
- 	(COMMAND_LINE_OPTIONS): Handle -include.
- 	(c_common_decode_option): Use local warn_unused_macros.
- 	Handle OPT_include.
- 	(c_common_post_options): Set file change callback.
- 	(handle_deferred_opts): Skip -include.  Don't free the array.
- 	(c_common_init): Call cpp_finish_options here, and push an
- 	initial -include file.
- 	* c-ppoutput.c (cb_file_change): Rename pp_file_change.
- 	(preprocess_file): Don't call cpp_finish_options.
- 	(init_pp_output): Don't set the file change callback.
- 	(pp_file_change): Return if no line commands or no output.
- 	* cpphash.h (next_include_file, first_unused_line): Remove.
- 	* cppinit.c (include_head, include_tail): Remove.
- 	(cpp_destroy): Don't free -include chain.
- 	(cpp_finish_options): Don't handle -include, or worry about
- 	-Wunused-macros.
- 	(_cpp_maybe_push_include_file): Remove.
- 	(COMMAND_LINE_OPTIONS, cpp_handle_option): Don't handle -include.
- 	* cpplib.c (_cpp_pop_buffer): Don't handle -include.
- 	* cppmacro.c (_cpp_warn_if_unused_macro, _cpp_create_definition):
- 	Used flag is set based upon the state of the warn_unused_macros
- 	flag, and so use of first_unused_line is unnecessary.
- 
- 2003-03-13  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (clear_table): Do not take argument; always clear just
- 	used slots.
- 	(cselib_process_insn):  Update call of clear_table
- 	(cselib_init): Do not call clear_table.
- 	(cselib_finish): Clear table.
- 
- 	* cse.c (count_reg_usage): Do not check side_effects_p.
- 	* rtlanal.c (set_noop_p): Check side_effects_p only when set looks
- 	like noop.
- 	(find_reg_equal_equiv_note): Do not use find_reg_note.
- 
- 2003-03-14  Richard Henderson  <rth@redhat.com>
- 
- 	PR target/9700
- 	* config/alpha/alpha.c (alpha_va_start): Account for
- 	current_function_pretend_args_size in the AP offset.
- 
- 	* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Move out of line.
- 	(INITIAL_ELIMINATION_OFFSET): Move out of line.
- 	* config/alpha/alpha.c (alpha_setup_incoming_varargs): New.
- 	(alpha_initial_elimination_offset) New.
- 	* config/alpha/alpha-protos.h: Update.
- 
- 2003-03-14  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* stmt.c (expand_start_case): Call emit_queue ().
- 
- 2003-03-14  Chris Demetriou  <cgd@broadcom.com>
- 	    Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
- 	words in new abis.
- 
- 2003-03-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/8396
- 	* tree-inline.c (initialize_inlined_parameters): Make sure the value
- 	of read-only constant arguments is passed with the right type.
- 
- 2003-03-14  Steven Bosscher  <steven@gcc.gnu.org>
- 
- 	* doc/extend.texi (Function Names): Make the example compilable.
- 
- 2003-03-13  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (processor_target_table): Really allow
- 	GP optional instructions on Power4.
- 
- 2003-03-13  Roger Sayle  <roger@eyesopen.com>
- 
- 	* calls.c (flags_from_decl_or_type): Factor and remove redundant
- 	conditional tests.
- 
- 2003-03-13  Mike Stump  <mrs@apple.com>
- 
- 	* ggc-page.c (struct page_entry): Remove varray.h header.
- 	Add index_by_depth field.
- 	Remove save_in_use_p field.
- 	(struct globals): Add depth_in_use, depth_max, by_depth_in_use,
- 	by_depth_max, by_depth, and save_in_use fields.
- 	(INITIAL_PTE_COUNT): Add.
- 	(save_in_use_p_i): Add.
- 	(save_in_use_p): Add.
- 	(adjust_depth): Add.
- 	(move_ptes_to_front): Add.
- 	(push_depth): Add.
- 	(push_by_depth): Add.
- 	(prefetch): Add.
- 	(free_page): Add support for and use faster data structures.
- 	(ggc_alloc): Likewise.
- 	(init_ggc): Likewise.
- 	(ggc_recalculate_in_use_p): Likewise.
- 	(ggc_pop_context): Likewise.
- 	(clear_marks): Likewise.
- 	(ggc_pch_read): Likewise.
- 	* Makefile.in (ggc-page.o): Remove varray.h.
- 
- 2003-03-13  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* ChangeLog: Rotated last year's entries to...
- 	* ChangeLog.8: New.
- 
- 	* config/ia64/fde-glibc.c, config/ia64/freebsd.h,
- 	config/ia64/hpux.h, config/ia64/hpux_longdouble.h,
- 	config/ia64/ia64-c.c, config/ia64/ia64-modes.def,
- 	config/ia64/ia64-protos.h, config/ia64/ia64.c,
- 	config/ia64/ia64.h, config/ia64/ia64.md,
- 	config/ia64/itanium1.md, config/ia64/itanium2.md,
- 	config/ia64/quadlib.c, config/ia64/unwind-ia64.c,
- 	config/ia64/unwind-ia64.h: It's GCC, not GNU CC.
- 
- 2003-03-13  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_dwarf_register_span):
- 	Differentiate endianness.
- 	(s6000_override_options): Use cpu type instead of TARGET_SPE.
- 
- 2003-03-13  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (print_multi_reg): Do not generate a type 2
- 	LDM instructions with writeback enabled.
- 	(output_return_instruction): Likewise.
- 
- 	* config/arm/pe.h (FIXED_REGISTERS): Remove definition.
- 	(CALL_USED_REGISTERS): Remove definition.
- 	(SUBTARGET_CONDITIONAL_REGISTER_USAGE): Define.
- 
- 2003-03-13  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.c (rs6000_flag_pic): Delete.
- 	(rs6000_xcoff_encode_section_info): #ifdef TARGET_XCOFF.
- 	(rs6000_binds_local_p, TARGET_BINDS_LOCAL_P): #if TARGET_MACHO.
- 	(rs6000_override_options): Don't clear flag_pic for ABI_AIX.
- 	(rs6000_legitimize_address): Formatting.
- 	(rs6000_emit_move): Likewise.
- 	(rs6000_return_addr): Test ABI_AIX as well as flag_pic.
- 	(rs6000_emit_prologue <save_LR_around_toc_setup>): Likewise.
- 	(rs6000_elf_select_section): Comment reason for shlib being
- 	set for ABI_AIX.
- 	(rs6000_elf_unique_section): Likewise.
- 	(rs6000_elf_encode_section_info): Test !TARGET_AIX as well as ABI_AIX.
- 	* config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Test ABI_AIX
- 	as well as flag_pic.
- 	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise.
- 	(MINIMAL_TOC_SECTION_ASM_OP): Likewise.
- 	* config/rs6000/linux64.h (TARGET_ENCODE_SECTION_INFO): Don't define.
- 
- 2003-03-13  Richard Henderson  <rth@redhat.com>
- 
- 	* emit-rtl.c (try_split): Handle 1-1 splits of call insns properly.
- 
- 	* config/ia64/ia64.c (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
- 	(ia64_gp_save_reg): Remove.
- 	(struct ia64_frame_info): Move to the beginning of the file;
- 	add reg_save_gp.
- 	(ia64_expand_call): Rearrange for new call patterns.
- 	(ia64_reload_gp): New.
- 	(ia64_split_call): New.
- 	(ia64_compute_frame_size): Allocate reg_save_gp.
- 	(ia64_expand_prologue): Save reg_save_gp.
- 	(ia64_expand_epilogue): Don't restore gp.
- 	(ia64_hard_regno_rename_ok): Remove R4 hack.
- 	(ia64_function_ok_for_sibcall): New.
- 	(ia64_output_mi_thunk): Set reload_completed, no_new_pseudos;
- 	call try_split on sibcall pattern.
- 	* config/ia64/ia64-protos.h: Update.
- 	* config/ia64/ia64.md (call_nogp, call_value_nogp, sibcall_nogp):
- 	Rename from nopic versions.  Confiscate 2nd argument to call as
- 	a marker.
- 	(call_pic, call_value_pic, sibcall_pic): Remove.
- 	(call_gp, call_value_gp, sibcall_gp): New.
- 	(builtin_setjmp_setup): Remove.
- 	(builtin_setjmp_receiver): Call ia64_reload_gp.
- 
- 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
- 	config/dsp16xx/dsp16xx.h, config/dsp16xx/dsp16xx.md: Replace
- 	"GNU CC" with "GCC".
- 
- 	* config/c4x/c4x-c.c, config/c4x/c4x-modes.def,
- 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
- 	config/c4x/c4x.md, config/c4x/libgcc.S, config/c4x/rtems.h:
- 	GCC, not GNU CC.
- 
- 	* genattrtab.h, hosthooks-def.h, hosthooks.h, langhooks-def.h,
- 	langhooks.h, tree-inline.h: Replace "GNU CC" with "GCC".
- 
- 	* c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,
- 	langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c,
- 	unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace
- 	"GNU CC" with "GCC".
- 
- 	* config/v850/lib1funcs.asm, config/v850/rtems.h,
- 	config/v850/v850-c.c, config/v850/v850-protos.h,
- 	config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
- 	GCC, not GNU CC.
- 
- 	* config/vax/bsd.h, config/vax/elf.h, config/vax/netbsd-elf.h,
- 	config/vax/netbsd.h, config/vax/openbsd.h, config/vax/openbsd1.h,
- 	config/vax/ultrix.h, config/vax/vax-protos.h, config/vax/vax.c,
- 	config/vax/vax.h, config/vax/vax.md, config/vax/vaxv.h: GCC, not
- 	GNU CC.
- 
- 2003-03-12  Benjamin Kosnik  <bkoz@redhat.com>
- 
- 	* cpppch.c (cpp_valid_state): Use DL_WARNING_SYSHDR, not DL_WARNING.
- 
- 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* fixinc/fixinc.interix: Remove dead code (most of it).
- 	* fixinc/fixinc.dgux: Remove.
- 
- 	* ginclude/float.h, ginclude/iso646.h, ginclude/stdarg.h,
- 	ginclude/stdbool.h, ginclude/stddef.h: GCC, not GNU CC.
- 
- 2003-03-12  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_init_builtins): Fix warning.
- 
- 2003-03-12  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/ia64.h (ASM_OUTPUT_XDATA_CHAR): Remove.
- 	(ASM_OUTPUT_XDATA_SHORT): Remove.
- 	(ASM_OUTPUT_XDATA_INT): Remove.
- 	(ASM_OUTPUT_XDATA_DOUBLE_INT): Remove.
- 	(ASM_OUTPUT_ADDR_DIFF_ELT): Handled 32 bit address diffs.
- 	(ASM_PREFERRED_EH_DATA_FORMAT): Handle 32 bit EH pointers.
- 	(CASE_VECTOR_MODE): Handle 32 bit pointers in case statement.
- 
- 2003-03-12  Andrew Lewycky  <andrew@mxc.ca>
- 
- 	PR c++/7050
- 	* expr.c (store_expr): Don't attempt to store void-typed trees,
- 	just evaluate them for side effects.
- 
- 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppfiles.c (cpp_rename_file, cpp_push_include): New.
- 	* cppinit.c (push_include): Move with changes to cppfiles.c.
- 	(cpp_read_main_file): Mark named operators here...
- 	(cpp_finish_options): ...not here.  Update.
- 	(_cpp_maybe_push_include_file): Update.
- 	* cpplib.h (cpp_push_include, cpp_rename_file): New.
- 
- 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* aclocal.m4: Introduce gcc_GAS_VERSION_GTE_IFELSE,
- 	_gcc_COMPUTE_GAS_VERSION.
- 	* configure.in: Use them.
- 	* configure: Regenerate.
- 
- 2003-03-12  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.md (adddi3): Don't clobber source operand used
- 	to detect carry.
- 	(subdi3): Reorder emitted instructions.
- 
- 2003-03-12  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/netbsd64.h (TARGET_OS_CPP_BUILTINS): Remove call to
- 	NETBSD_OS_CPP_BUILTINS_LP64.
- 
- 2003-03-12  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in: Eliminate all.indirect.  Update and clean up comments.
- 	Rearrange.  Reorganize.
- 	* configure.in: Rearrange.
- 	* configure: Regenerate.
- 
- 2003-03-12  Andreas Jaeger  <aj@suse.de>
- 
- 	* c-cppbuiltin.c (cb_register_builtins): Define LP64 builtins for
- 	LP64 targets.
- 
- 	* doc/cpp.texi (Common Predefined Macros): Document __LP64__ and
- 	_LP64.
- 
- 	* config/ia64/ia64.h (TARGET_CPU_CPP_BUILTINS): Do not define
- 	_LP64 macros here.
- 	* config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Likewise.
- 
- 	* config/alpha/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove call to
- 	NETBSD_OS_CPP_BUILTINS_LP64.
- 	* config/sh/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
- 	* config/sparc/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Likewise.
- 
- 	* config/netbsd.h (NETBSD_OS_CPP_BUILTINS_LP64): Remove.
- 
- 2003-03-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_setup_incoming_varargs): Set stack_alignment_needed to 128.
- 
- 2003-03-12  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	Fix PR target/9797 and PR c/9853.
- 	* stmt.c (expand_decl_init): Call push_temp_slots () and
- 	pop_temp_slots ().
- 
- 2003-03-12  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c: Include basic-block.h.
- 	(sh_output_mi_thunk, emit_load_ptr): New functions.
- 	(TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine.
- 
- 2003-03-12  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/pe.h (FIXED_REGISTERS): Add Maverick registers.
- 	(CALL_USED_REGISTERS): Likewise.
- 	* config/arm/arm.h (FIRST_PSEUDO_REGISTER): Update comment
- 	describing how this value is calculated.
- 
- 2003-03-12  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* configure.in (rlim_t): Define to long if no valid definition
- 	found in sys/resource.h.
- 	* config.in, configure: Regenerate.
- 
- 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/mcore/mcore-elf.h (CPP_PREDEFINES): Replace with
- 	TARGET_OS_CPP_BUILTINS.
- 	* config/mcore/mcore-pe.h: Similarly.
- 	* config/mcore/mcore.h: Replace CPP_PREDEFINES and part of
- 	CPP_SPEC with TARGET_CPU_CPP_BUILTINS.
- 
- 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/9928
- 	* c-decl.c (duplicate_decls): Discard the initializer of the new decl
- 	only if it is a VAR_DECL.
- 
- 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/9888
- 	* config/i386/i386.md (jcc_1): Fix range.
- 	(jcc_2): Likewise.
- 	(jump): LIkewise.
- 	(doloop_end_internal): Likewise.
- 
- 2003-03-12  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/winnt.c (DLL_IMPORT_PREFIX): New define.
- 	Use throughout instead of DLL_IMPORT_EXPORT_PREFIX and "e."
- 	(DLL_EXPORT_PREFIX): New define. Use throughout instead of
- 	DLL_IMPORT_EXPORT_PREFIX and "i."
- 	(i386_pe_dllexport_name_p): Here.
- 	(i386_pe_dllimport_name_p): Here.
- 	(i386_pe_mark_dllexport): Here. Remove DLL_IMPORT_PREFIX,
- 	not 9 chars when getting identifier name.
- 	(i386_pe_mark_dllimport): Here.
- 	(i386_pe_encode_section_info): Here. Remove DLL_IMPORT_PREFIX,
- 	not 9 chars when getting identifier name. Correct comment.
- 	(i386_pe_strip_name_encoding): Here. Add comments for different
- 	cases.
- 	(gen_fastcall_suffix): Break down xmalloc() argument to
- 	components.
- 	(gen_stdcall_suffix): Likewise.
- 	Update copyright year.
- 
- 2003-03-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR optimization/9888
- 	* config/i386/i386.md (movsi_1): Remove special alternatives
- 	for %eax register.
- 	(movsi_1_nointernunit): Likewise.
- 	(movhi_1): Likewise.
- 	* config/i386/i386.c (memory_address_length): Do not use
- 	short displacement when there is no base.
- 	(ix86_attr_length_address_default): Handle LEA instructions.
- 
- 2003-03-12  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-cppbuiltin.c (builtin_define_std): Make non-static.
- 
- 2003-03-11  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/freebsd-spec.h (FBSD_CPP_PREDEFINES): Remove.
- 	(FBSD_TARGET_OS_CPP_BUILTINS): New port-specific macro.
- 	(FBSD_TARGET_CPU_CPP_BUILTINS): New port-specific macro.
- 	* config/freebsd.h (CPP_PREDEFINES): Remove.
- 	(TARGET_OS_CPP_BUILTINS): New.
- 	* config/alpha/freebsd.h: Use overridden FBSD_TARGET_CPU_CPP_BUILTINS
- 	instead of TARGET_OS_CPP_BUILTINS.
- 	* config/sparc/freebsd.h (CPP_PREDEFINES): Remove.
- 
- 2003-03-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-cppbuiltin.c (builtin_define_std): Add ATTRIBUTE_UNUSED.
- 
- 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Remove
- 	insn_chain_scanned.  Use insn_chain_scanned_p in machine_function.
- 
- 	* config/rs6000/rs6000.h (machine_function): Add insn_chain_scanned_p.
- 
- 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* toplev.c (independent_decode_option): Return success for --help,
- 	--target-help and --version.
- 
- 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/linux64.h (DRIVER_SELF_SPECS): Add endian_spec.
- 	Default to -mips3 on -mabi=64.  Don't add -mips* flag if -march is
- 	specified.
- 	(SUBTARGET_ASM_SPEC): Remove -mips*-adding code obviated by
- 	DRIVER_SELF_SPECS.
- 	(LINK_SPEC): Let endian options affect the linker emulation name.
- 
- 2003-03-11  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.md (reload_inqi): Fix mode for source in second set.
- 
- 2003-03-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (cselib_invalidate_mem_1): Move too ...
- 	(cselib_invalidate_mem): ... here; use new list
- 	(dummy_val, first_containing_mem): New static variables.
- 	(clear_table): Initialize first_containing_mem.
- 	(discard_useless_values):  Compact the containing_mem list.
- 	(add_mem_for_addr): Add to the list.
- 	* cselib.h (cselib_val): Add next_containing_mem.
- 
- 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Disable string
- 	instructions for e500.
- 
- 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-cppbuiltin.c: Include tm_p.h.
- 
- 2003-03-11  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi (Frame Registers): Document DWARF_REG_TO_UNWIND_COLUMN.
- 
- 	* unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Define.
- 	(_Unwind_GetGR): Use DWARF_REG_TO_UNWIND_COLUMN.
- 	(_Unwind_SetGR): Same.
- 	(_Unwind_GetGRPtr): New.
- 	(_Unwind_SetGRPtr): New.
- 	(uw_update_context_1): Use accesor functions instead of accessing
- 	context->reg[] directly.
- 	(uw_install_context_1): Same.
- 	(execute_cfa_program): Same.
- 	(__frame_state_for): Same.
- 
- 	* config/rs6000/rs6000.c (spe_synthesize_frame_save): Use 1200 as
- 	the synthetic register offset.
- 
- 	* config/rs6000/rs6000.h (DWARF_REG_TO_UNWIND_COLUMN): New.
- 
- 2003-03-11  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.md: Remove lingering EGCS reference.
- 	("*extopqihi_side_biap"): For HI operation, match
- 	cris_additive_operand_extend_operator, not
- 	cris_operand_extend_operator.  Adjust condition.
- 	("*extopqihi_side", "*extopqihi"): Ditto.
- 	("*extopqisi_side_biap"): Correct operand numbers in condition.
- 	("*extophisi_side_biap", "*extopqisi_swap_side_biap"): Ditto.
- 	("*extophisi_swap_side_biap", "*extopqisi_swap"): Ditto.
- 	("*extophisi_swap"): Ditto.
- 	("*extopqihi_swap_side_biap"): For HI operation, match a simple
- 	PLUS, not cris_operand_extend_operator.  Adjust condition and
- 	output template.
- 	("*extopqihi_swap_side", "*extopqihi_swap"): Ditto.
- 	* config/cris/cris.h (PREDICATE_CODES): Add
- 	cris_additive_operand_extend_operator.
- 	* config/cris/cris.c (cris_additive_operand_extend_operator):
- 	New predicate.
- 
- 2003-03-11  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* df.c (read_modify_subreg_p): Change from static to global.
- 	* df.h (read_modify_subreg_p): Add prototype.
- 	* sched-deps.c (sched_analyze_1): Generate true dependency for
- 	strict_low_part, certain subregs and zero/sign_extract.
- 
- 2003-03-11  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.c: Don't include real.h or except.h.
- 	(REGISTER_PREFIX): Remove.
- 	(builtin_define_std, builtin_define_with_value,
- 	builtin_define_with_int_value, builtin_define_with_hex_fp_value,
- 	builtin_define_type_max, builtin_define_type_precision,
- 	builtin_define_float_constants): Move to c-cppbuiltin.c.
- 	(c_stddef_cpp_builtins): New.
- 	* c-common.h (builtin_define_with_value, c_stddef_cpp_builtins): New.
- 	* c-cppbuiltin.c: New, extracted from c-common.c.
- 	(define__GNUC__): New.
- 	* cppspec.c (lang_specific_driver): Remove support of -no-gcc.
- 	* gcc.c: Remove support of %v1, %v2 and %v3 specs.
- 	(cpp_unique_options): Don't support no-gcc.
- 	(do_spec_1): Remove support of version specs.
- 	* doc/invoke.texi: Remove documentation of %v1, %v2 and %v3.
- 	* doc/passes.texi: Update.
- 	* doc/tm.texi: Update.
- 
- 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* dwarf2out.c (multiple_reg_loc_descriptor): Fix thinko.
- 
- 2003-03-10  Andrew Pinski  <apinski@apple.com>
- 
- 	* config/darwin.c (machopic_function_base_name): If dynamic-no-pic
- 	is on should not get here.
- 	(machopic_indirect_data_reference): If dynamic-no-pic is on just
- 	generate high/low parts of the address.
- 	(machopic_legitimize_pic_address): Change MACHOPIC_PURE to
- 	MACHOPIC_INDIRECT. Dynamic-no-pic uses 0 as the pic base. Generate
- 	symbol and labels with a new reg.  Dynamic-no-pic does not have a
- 	pic_offset_table_rtx.
- 	(machopic_select_section): Change references of flag_pic to
- 	MACHOPIC_INDIRECT.
- 	(machopic_asm_out_destructor): Likewise.
- 	* config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Change
- 	reference of flag_pic to MACHOPIC_INDIRECT.
- 	(MACHO_DYNAMIC_NO_PIC_P): Define as TARGET_DYNAMIC_NO_PIC.
- 	(MACHOPIC_INDIRECT): Is also true when dynamic-no-pic is on.
- 	(MACHOPIC_JUST_INDIRECT): Is also true when dynamic-no-pic is on.
- 	(MACHOPIC_PURE): Is not pure when dynamic-no-pic is on.
- 	* config/i386/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define as
- 	0 for right now as dynamic-no-pic is not implemented on Darwin/ia32.
- 	* config/rs6000/darwin.h (MASK_MACHO_DYNAMIC_NO_PIC): Define.
- 	(TARGET_DYNAMIC_NO_PIC): Define.
- 	(SUBTARGET_SWITCHES): Define, have sub-target switches for
- 	dynamic-no-pic.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Move check for -fpic from
- 	rs6000_override_options to here. Dynamic-no-pic overrides
- 	pic.
- 	(CC1_SPEC): Change from not static then pic to not static and not
- 	dynamic-no-pic then pic.
- 	* config/rs6000/rs6000.c (rs6000_override_options): Move the
- 	check for -fpic and DARWIN_ABI to config/rs6000/darwin.h
- 	(rs6000_legitimize_reload_address): Add case for loading floating in
- 	dynamic-no-pic.
- 	(rs6000_emit_move): Add case for dynamic-no-pic.  Change reference
- 	of flag_pic to MACHOPIC_INDIRECT.
- 	(secondary_reload_class): Conditional change the reference of
- 	flag_pic to MACHOPIC_INDIRECT.
- 	(rs6000_output_mi_thunk): Change reference of flag_pic to
- 	MACHOPIC_INDIRECT.
- 	(output_profile_hook): Likewise.
- 	(machopic_output_stub):	Non-pure (dynamic-no-pic) is now supported.
- 	* config/rs6000/rs6000.md (movdf_low): Add the case for
- 	MACHO_DYNAMIC_NO_PIC_P.
- 	(call): Change references for flag_pic in TARGET_MACHO to
- 	MACHOPIC_INDIRECT.
- 	(SUBTARGET_OVERRIDE_OPTIONS): Add case where -fpic is on and
- 	-mdynamic-no-pic is on.	 Also move case for -fpic from rs6000.c.
- 	* doc/invoke.texi (-mdynamic-no-pic): Document.
- 
- 2003-03-10  Devang Patel  <dpatel@apple.com>
- 
- 	PR c++/9394
- 	* gcc.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
- 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
- 	* gcc.h (DEFAULT_SWITCH_TAKES_ARG): Add.
- 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Add.
- 	* cppspec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
- 	(DEFAULT_WORD_SWITCH_TAKES_ARG): Remove.
- 
- 2003-03-10  Steven Bosscher  <s.bosscher@student.tudelft.nl>
- 
- 	PR optimization/7189
- 	* toplev.c (rest_of_compilation):  Move
- 	check_function_return_warnings up to just after
- 	delete_unreachable_blocks.
- 
- 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (HARD_REGNO_RENAME_OK): Define.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_hard_regno_rename_ok):
- 	Declare.
- 	* config/m68hc11/m68hc11.c (m68hc11_hard_regno_rename_ok): New function
- 	for reg rename optimization to avoid using Z and Y registers.
- 
- 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("*addhi3_68hc12"): Accept any constant
- 	when adding to X and Y since leax/leay are fast.
- 	("*addhi3"): Accept 'I' constraint when adding to address register.
- 	("rotlhi3"): Operand 1 must be a register_operand.
- 	(peephole2): New peephole to optimize some adds.
- 	* config/m68hc11/m68hc11.h (CONST_OK_FOR_LETTER_P): Use 'I' constraint
- 	to represent -2 .. 2 small integer range.
- 
- 2003-03-10  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_gen_rotate): Set carry before
- 	each 16-bit rotation.
- 
- 2003-03-10  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* c-opts.c (add_prefixed_path): Don't use concat.  When
- 	prefixing with cpp_GCC_INCLUDE_DIR, copy only the first
- 	cpp_GCC_INCLUDE_DIR_len characters.
- 
- 2003-03-10  Segher Boessenkool  <segher@koffie.nl>
- 
- 	* testsuite/gcc.dg/altivec-9.c: New file.
- 
- 	* config/rs6000/rs6000.c (altivec_frame_fixup): Remove.
- 	(rs6000_emit_prologue): Use rs6000_frame_related instead.
- 
- 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Define __ev64_*64__ to use single element
- 	vectors.
- 	(__ev_convert_u64): Remove macro.  Define as inline.
- 	(__ev_convert_s64): Same.
- 
- 2003-03-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.h (DWARF_FRAME_REGISTERS): Define.
- 	(rs6000_stack_t): Add spe_64bit_regs_used.
- 
- 	* config/rs6000/rs6000.c (rs6000_stack_info): Calculate
- 	spe_64bit_regs_used, and use it to determine the size of the
- 	frame.
- 	(spe_func_has_64bit_regs_p): New.
- 	(spe_synthesize_frame_save): New.
- 	(rs6000_frame_related): Handle SPE synthetic registers.
- 	(rs6000_emit_prologue): Only save in 64-bits if the function used
- 	any registers in 64-bit mode.
- 	(rs6000_emit_epilogue): Same, but for restore.
- 
- 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (enum floating_point_type): Delete.  Replace with...
- 	(enum fputype): ... new.
- 	(FPUTYPE_DEFAULT): Renamed from FP_DEFAULT.  Values reworked.
- 	* linux-elf.h (FPUTYPE_DEFAULT): Likewise.
- 	* arm.md (attr fpu): Reworked for new underlying enum values.
- 	* arm.c	(arm_fpu_arch): Now enum fputype.
- 	(arm_fpu_tune): Renamed from arm_fpu.  Now enum fputype.
- 	(arm_override_options, arm_output_epilogue, arm_expand_prologue):
- 	Update uses of arm_fpu_arch and arm_fpu_tune.
- 
- 2003-03-10  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfgcleanup.c (outgoing_edges_match): Compare the jump tables.
- 	(try_crossjump_to_edge): Replace refereces to one jump table by
- 	references to identical jump table.
- 	* loop.c (load_mems): Moved setting the JUMP_LABEL to replace_label.
- 	(replace_label): Moved to rtlanal.c.
- 	(struct rtx_pair): Moved to rtl.h.
- 	* rtl.h (struct rtx_pair): Moved from loop.c.
- 	(replace_label): New extern function.
- 	(subrtx_p): New extern function.
- 	(tablejump_p): New extern function.
- 	* rtlanal.c (replace_label): Moved from loop.c.
- 	(subrtx_p_1): New static function.
- 	(subrtx_p): New function.
- 	(tablejump_p): New function.
- 
- 2003-03-10  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgcleanup.c (try_optimize_cfg): Fix thinko in previous patch.
- 
- 	* cfgcleanup.c (merge_blocks): Return where to iterate next.
- 	(try_optimize_cfg): Use return value of merge_blocks
- 
- 2003-03-10  Michael Matz  <matz@suse.de>
- 
- 	* cfg.c (unchecked_make_edge): New.
- 	(cached_make_edge): Use it.
- 	* basic-block.h (unchecked_make_edge): Declare.
- 	* cfglayout.c (cfg_layout_duplicate_bb): Use it.
- 
- 2003-03-10  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* fpa.md: New file.  Move all patterns relating to FPA co-processor
- 	to here...
- 	* arm.md: ... from here.
- 	(cirrus.md, fpa.md): Include at end of description.
- 	(divsf3, divdf3, modsf3, movdf3, sqrtsf2, sqrtdf2): New expands.
- 	(pic_load_addr_based): Remove register constraint from expander.
- 	(seq, sne, sgt, sle, slt, sge, sgeu, sleu, sgtu, sltu, sunordered)
- 	(sordered, sungt, sunle, sunge, sunlt): Likewise.
- 	(eh_epilogue, tablejump): Likewise.
- 
- 2003-03-09  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* tree.c (substitute_in_expr, case 'e'): Only make recursive call
- 	on operands if it has a PLACEHOLDER_EXPR.
- 
- 2003-03-09  David Edelsohn  <edelsohn@gnu.org>
- 	    Mostafa Hagog
- 
- 	* config/rs6000/rs6000.md (movsi_update1): Add TARGET_UPDATE final
- 	condition.
- 
- 2003-03-09  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/frv/frv.h: Use TARGET_CPU_CPP_BUILTINS, not CPP_PREDEFINES.
- 	* config/ip2k/ip2k.h: Similarly.
- 	* config/m32r/m32r.h: Similarly.
- 	* config/m68hc11/m68hc11.h: Similarly.
- 	* config/mn10200/mn10200.h: Similarly.
- 	* config/mn10300/mn10300.h: Similarly.
- 	* config/pdp11/pdp11.h: Similarly.
- 	* config/v850/v850.h: Similarly.
- 	* config/rs6000/vxworks.h: Similarly for TARGET_OS_CPP_BUILTINS.
- 	* config/v850/retms.h: Similarly for TARGET_OS_CPP_BUILTINS.
- 	* config/mips/iris3.h: Remove #if 0 block.
- 
- 2003-03-09  Roger Sayle  <roger@eyesopen.com>
- 	    Joern Rennecke <joern.rennecke@superh.com>
- 
- 	* gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
- 	pending argument upon return from handle_braces here.
- 	(do_spec_2): Instead handle it upon return from do_spec_1 here.
- 
- 2003-03-09  Roger Sayle  <roger@eyesopen.com>
- 	    Joern Rennecke <joern.rennecke@superh.com>
- 
- 	* gcc.c (do_spec_1) ['{']: Revert 2003-02-24 patch.  Don't handle
- 	pending argument upon return from handle_braces here.
- 	(do_spec_2): Instead handle it upon return from do_spec_1 here.
- 
- 2003-03-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	* varasm.c (make_decl_one_only): Use declare_weak().
- 
- 2003-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	PR middle-end/9986
- 	* c-common.c (c_common_nodes_and_builtins): Initialize target builtins
- 	after the common builtins.
- 	* pa-hpux.h (DONT_HAVE_FPUTC_UNLOCKED): Define.
- 	* pa.c (TARGET_INIT_BUILTINS): Define.
- 	(pa_init_builtins): New function.
- 
- 	* pa.md (call, call_value, sibcall, sibcall_value): When sufficient
- 	space has been allocated for the outgoing arguments, set the arg
- 	pointer for a call emitted after virtuals have been instantiated
- 	using the stack pointer offset, otherwise abort.
- 
- 2003-03-09  DJ Delorie  <dj@redhat.com>
- 
- 	* config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH): Revert.
- 
- 2003-03-09  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (fix_truncsfsi2, fix_truncdfsi2, arm_fix_truncsfsi2)
- 	(arm_fix_truncdfsi2): Add missing fix in floating point mode before
- 	conversion to integer.
- 	* cirrus.md (cirrus_truncsfsi2, cirrus_truncdfsi2): Likewise.
- 
- 2003-03-09  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def: Fix typo and improve grammar.
- 	* loop-unroll.c (decide_peel_completely): Tidy log message.
- 
- 2003-03-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*tstsi_upper_bit): New.
- 	(*iorsi3_e2f): Likewise.
- 
- 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_and_costs): Return the number of
- 	assembly instructions needed.
- 	(h8300_shift_costs): Likewise.
- 
- 2003-03-09  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/cris/aout.h (ENDFILE_SPEC): Undef.
- 
- 	* optabs.c (gen_move_insn): Move logic for synthesizing MODE_CC
- 	moves from here ...
- 	* expr.c (emit_move_insn_1): ... to here.
- 
- 	* config/cris/aout.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__AOUT__ to...
- 	(TARGET_OS_CPP_BUILTINS): New macro.
- 	* config/cris/cris.h (CRIS_CPP_SUBTARGET_SPEC): Move -D__ELF__ to...
- 	(TARGET_OS_CPP_BUILTINS): New macro.
- 	(CPP_PREDEFINES): Don't define.  Move old definitions and...
- 	(CPP_SPEC): ...move -D__CRIS_ABI_version=2 to...
- 	(TARGET_CPU_CPP_BUILTINS): New macro.
- 	* config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC): Move constant
- 	definitions and the optional __PIC__, __pic__ and
- 	__NO_UNDERSCORES__ definitions to...
- 	(TARGET_OS_CPP_BUILTINS): New macro.
- 
- 	* flags.h (flag_leading_underscore): Declare.
- 
- 	* c-opts.c (c_common_post_options): On fopen failure, return
- 	false, not NULL.
- 
- 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/cris/cris_abi_symbol.c: #include tconfig.h and tm.h, not
- 	config.h.
- 	* config/cris/cris.h (HAVE_GAS_HIDDEN): Don't define here.
- 	* config/cris/aout.h (HAVE_GAS_HIDDEN): Undef.
- 
- 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/sh/rtemself.h (TARGET_OS_CPP_BUILTINS): Use instead of
- 	CPP_PREDEFINES.
- 	* config/sh/rtems.h (TARGET_OS_CPP_BUILTINS): Use instead of
- 	CPP_PREDEFINES.
- 
- 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-common.h (c_common_init, c_common_post_options): Update.
- 	* c-objc-common.c (c_objc_common_init): Update for new prototype.
- 	* c-opts.c (saved_lineno): New.
- 	(c_common_post_options, c_common_init): Update prototypes,
- 	move call to cpp_read_main_file from latter to former.
- 	* c-tree.h (c_ojbc_common_init): Update.
- 	* langhooks-def.h (lhd_post_options): New.
- 	(LANG_HOOKS_INIT, LANG_HOOKS_POST_OPTIONS): Update.
- 	* langhooks.c (lhd_post_options): New.
- 	* langhooks.h (struct lang_hooks): Update post_options and init hooks.
- 	* toplev.c (no_backend): New.
- 	(process_options): Call post_options hook and set main_input_filename
- 	and input_filename here.
- 	(lang_dependent_init, do_compile): post_options hook moved to
- 	process_options.
- 	* objc/objc-act.c (objc_init): Update prototype.
- 	* objc/objc-act.h (objc_init): Update prototype.
- 
- 2003-03-08  Roger Sayle  <roger@eyesopen.com>
- 
- 	* emit-rtl.c (gen_lowpart): Don't attempt to load a part of
- 	a complex or vector type, using a load in the original mode.
- 
- 2003-03-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (cgraph.o): Depend on gt-cgraph.h and varray.h.
- 	* gt-cgraph.h: New GC file.
- 	* cgraph.c (known_fns): New static variable.
- 	(cgraph_node): Add the decl into varray.
- 
- 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("*movcc_expanded"): Add missing alternatives.
- 
- 2003-03-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (fpa_rhs_operand, fpa_add_operand, const_double_rtx_ok_for_fpa)
- 	(neg_const_double_ok_for_fpa, output_mov_long_double_fpa_from_arm)
- 	(output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm)
- 	(output_mov_double_arm_from_fpa): Renamed to use fpa instead of fpu.
- 	All callers changed.
- 	* arm.md, arm.h, arm-protos.h: Updated.
- 
- 	* arm.h (enum reg_class FPA_REGS): Renamed from FPU_REGS.
- 	(CLASS_MAX_NREGS, REGISTER_MOVE_COST, REG_CLASS_FROM_LETTER): Updated.
- 	* arm.c (arm_regno_class, f_register_operand): Updated.
- 
- 2003-03-08  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/cris/cris.h: Remove EGCS references.
- 	(CPP_SPEC): Remove "-$".
- 	(INIT_CUMULATIVE_ARGS): Adjust parameter name to FNDECL.
- 
- 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/stormy16/stormy16.h (TARGET_CPU_CPP_BUILTINS): Use in
- 	preference to CPP_PREDEFINES.
- 
- 2003-03-08  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* cppinit.c (cpp_finish_options): Set first_unused_line to -1.
- 
- 2003-03-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_16_8): New.
- 
- 2003-03-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
- 	* cgraph.h: (cgraph_local_info): Add can_inline_once
- 	(cgraph_global_info): Add inline_once.
- 	(cgraph_node): Add previous.
- 	(cgraph_remove_node): New.
- 	* cgraphunit.c (cgraph_mark_functions_to_inline_once): New static
- 	function.
- 	(cgraph_optimize): Call it.
- 	(cgraph_finalize_function):  Set inlinable flags.
- 	(cgraph_finalize_compilation_unit):  Actually remove the reclaimed nodes.
- 	(cgraph_mark_functions_to_output):  Use new inlining heuristics flags.
- 	(cgraph_expand_function): Likewise.
- 	* cgraph.c
- 	(cgraph_node): Put nodes into doubly linked chain.
- 	(cgraph_remove_node): New function.
- 	* flags.h (flag_inline_functions_called_once): Declare.
- 	* tree-inline.c: Include cgraph.h
- 	(inlinable_functions_p): Add extra argument to bypass limits.
- 	(expand_call_inline):  Obey cgraph flag.
- 	* tree-inline.h (tree_inlinable_function_p): Update prototype.
- 
- 2003-03-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcse.c (bypass_block, bypass_conditional_jumps): Do not create
- 	irreducible loops.
- 
- 	* loop-unroll.c (unroll_loop_runtime_iterations): Update irreducible
- 	loops info correctly.
- 
- 2003-03-08  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR middle-end/7796
- 	* unroll.c (calculate_giv_inc): Handle constants being
- 	loaded with LSHIFTRT.
- 
- 2003-03-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (processor_target_table): Do not disable
- 	GP optional instructions on Power3, Power4, 620, and 630.
- 
- 2003-03-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* calls.c: Fix comment formatting.
- 	* cfgloopanal.c: Likewise.
- 	* cfgloopmanip.c: Likewise.
- 	* combine.c: Likewise.
- 	* dwarf2out.c: Likewise.
- 	* ggc-common.c: Likewise.
- 	* langhooks.c: Likewise.
- 	* loop-unroll.c: Likewise.
- 	* loop.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* sbitmap.c: Likewise.
- 	* toplev.c: Likewise.
- 
- 2003-03-07  James E Wilson  <wilson@tuliptree.org>
- 
- 	* config/sh/sh.h (HARD_REGNO_NREGS): Round up the XD register count.
- 
- 2003-03-07  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* objc/lang-specs.h (objective-c-header): Use .gch not .pch;
- 	support -no-integrated-cpp.
- 
- 	* c-pch.c (get_ident): Use c_language_kind and flag_objc rather
- 	than langhooks.name.
- 
- 2003-03-07  Michael Matz  <matz@suse.de>
- 
- 	* df.h (enum df_ref_flags.DF_REF_STRIPPED): New.
- 	(DF_FOR_REGALLOC): New.
- 	* df.c (df_ref_record): Set DF_REF_STRIPPED.
- 	(read_modify_subreg_p): Simplify.
- 	(df_def_record_1, df_uses_record): Set DF_REF_MODE_CHANGE more often.
- 	Use DF_FOR_REGALLOC.
- 	* ra.h (struct web): New member subreg_stripped.
- 	(invalid_mode_change_regs): Declare.
- 	* ra.c (invalid_mode_change_regs): New.
- 	(init_ra): Initialize it.
- 	* ra-build.c (init_one_web_common, remember_web_was_spilled): Use it.
- 	Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
- 	(reinit_one_web, parts_to_web_1): Deal with subreg_stripped.
- 	* ra-colorize.c (colorize_one_web): Use invalid_mode_change_regs.
- 	Use CANNOT_CHANGE_MODE_CLASS as ifdef guard.
- 
- 2003-03-07  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (addsf3, adddf3, subsf3, subdf3, mulsf3, muldf3, negsf2)
- 	(negdf2, abssi2, abssf2, absdf2, floatsisf2, floatsidf2)
- 	(fix_truncsfsi2, fix_truncdfsi2, truncdfsf2): Moved back into main
- 	machine description file from ...
- 	* cirrus.md: ... here.
- 
- 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Don't use
- 	reg_overlap_mentioned_p.
- 
- 2003-03-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-pch.c: Include langhooks.h.
- 	(IDENT_LENGTH): New.
- 	(get_ident): New.
- 	(pch_ident): Delete.
- 	(pch_init): Use get_ident, IDENT_LENGTH.
- 	(c_common_valid_pch): Likewise.  Also, use actual language
- 	in warning message.
- 	* Makefile.in (c-pch.o): Add langhooks.h to dependencies.
- 
- 	* objc/config-lang.in (gtfiles): Add objc-act.c.  Remove duplicate
- 	c-parse.in.
- 	* objc/Make-lang.in (objc/objc-act.o): Add dependency on
- 	gt-objc-objc-act.h.
- 	(gt-objc-objc-act.h): New rule.
- 	* objc/lang-specs.h: Support PCH.
- 	* objc/objc-act.c: Include gt-objc-objc-act.h.
- 	(objc_add_static_instance): Move num_static_inst out, mark for PCH.
- 	(build_selector_reference_decl): Move idx out, mark for PCH.
- 	(build_class_reference_decl): Likewise.
- 	(build_objc_string_decl): Move *_idx out, mark for PCH.
- 	(build_tmp_function_decl): Move xxx out, mark for PCH.
- 
- 2003-03-06  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_binds_local_p):  Consider
- 	global functions for inlining on Darwin.
- 
- 2003-03-06  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (schedule_block): Don't call reorder when sorting
- 	is prohibited.
- 
- 2003-03-06  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (c-ppoutput.o): Update.
- 	* c-common.h (init_pp_output): New.
- 	(preprocess_file): Update.
- 	* c-lex.c (init_c_lex): Move mbchar initialization to cpplib.
- 	Register builtins.
- 	* c-opts.c (c_common_init): Call init_pp_output if preprocessing.
- 	Make call to cpp_read_main_file common to whether preprocessing
- 	or not.  Don't register builtins.
- 	* c-ppoutput.c: Include c-pragma.h.
- 	(setup_callbacks): Rename init_pp_output.
- 	(preprocess_file): No longer setup callbacks or call
- 	cpp_read_main_file.
- 	* cpphash.h (_cpp_init_mbchar): New.
- 	* cppinit.c (init_library): Call _cpp_init_mbchar.
- 	* cpplex.c (_cpp_init_mbchar): New.
- 
- 2003-03-06  Roger Sayle  <roger@eyesopen.com>
- 
- 	* emit-rtl.c (gen_lowpart): When requesting the low-part of a
- 	MEM, try loading the MEM into a register and taking the low-part
- 	of that, to help CSE see the use of the MEM in its true mode.
- 
- 2003-03-05  Tom Tromey  <tromey@redhat.com>
- 
- 	* config/stormy16/stormy16.h (DWARF_LINE_MIN_INSTR_LENGTH):
- 	Define.
- 
- 2003-03-05  Nick Clifton  <nickc@cambridge.redhat.com>
- 
- 	* config/stormy16/stormy16.md ("*eqbranchsi"): Remove '+' on
- 	operand 2.
- 	("*ineqbranchsi"): Likewise.
- 
- 2003-03-05  Andrew Haley  <aph@cambridge.redhat.com>
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_prologue): Delete
- 	mem_fake_push_rtx.  Instead construct a SEQUENCE to show the
- 	register store followed by a stack increment.
- 
- 2003-03-05  Chris Moller  <cmoller@redhat.com>
- 
- 	* config/stormy16/stormy16.c (REG_NEEDS_SAVE): added a term
- 	to inhibit saving CARRY_REGS.
- 
- 	* config/stormy16/stormy16.c (xs_hi_general_operand):
- 	added predicate to detect and error-out on out-of-range
- 	const_ints for movhi.
- 	* config/stormy16/stormy16.md (movhi): use
- 	xs_hi_general_operand.
- 
- 	* config/stormy16/stormy16.c (xstormy16_expand_prologue):
- 	added a check for local vbl size overflow.
- 	* config/stormy16/stormy16.c (xs_hi_nonmemory_operand):
- 	added predicate to detect and error-out on out-of-range
- 	const_ints for addhi and subhi.
- 	* config/stormy16/stormy16.md (addhi3, addchi4, addchi5,
- 	subhi3, subchi4, subchi5): used xs_hi_nonmemory_operand.
- 
- 	* config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
- 	add a term to accept PRE_MODIFY addresses.
- 	* config/stormy16/stormy16.c (xstormy16_expand_move):
- 	add code to expand PRE_MODIFY addresses to an add followed
- 	by a move.
- 
- 2003-03-06  Jason Merrill  <jason@redhat.com>
- 
- 	* tree-inline.c (inlinable_function_p): Revert earlier change
- 	pending investigation.
- 
- 2003-03-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a new peephole2): New.
- 
- 2003-03-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (cgraph_node): Do not confuse nested functions and methods.
- 
- 2003-03-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* dwarf2out.c (size_of_die): Compute size of external reference to
- 	die correctly.
- 
- 2003-03-06  Hans-Peter Nilsson  <hp@bitrange.com>
- 
- 	* config/mmix/mmix.md ("*movcc_expanded"): New pattern.
- 	("movcc", "movcc_uns", "movcc_fp", "movcc_fpeq", "movcc_fun"): New
- 	expanders.
- 
- 2003-03-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* expr.h (lang_expand_expr): Delete obsolete prototype.
- 
- 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* emit-rtl.c (gen_highpart_mode): Fix a comment typo.
- 
- 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Generalize to
- 	accept a memory operand.
- 
- 2003-03-05  Olivier Hainque <hainque@act-europe.fr>
- 
- 	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '+'.
- 	* config/alpha/alpha.c (print_operand, case '+'): New.
- 	* config/alpha/alpha.md (call_osf_1_noreturn): Document and use.
- 	(call_value_osf_1_noreturn): Likewise.
- 
- 2003-03-05  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
- 
- 	* stmt.c (fixup_gotos): Change meaning of DONT_JUMP_IN.
- 	(expand_end_bindings): Likewise.
- 
- 2003-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md (return_external_pic): Add !TARGET_PA_20 to constraint.
- 	(epilogue): Don't generate return_external_pic when emitting PA 2.0
- 	code.
- 
- 2003-03-05  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi: Document TARGET_DWARF_REGISTER_SPAN.
- 
- 	* config/rs6000/rs6000.c (rs6000_dwarf_register_span): New.
- 
- 	* hooks.c (hook_rtx_rtx_null): New.
- 
- 	* hooks.h (hook_rtx_rtx_null): Protoize.
- 
- 	* target-def.h (TARGET_DWARF_REGISTER_SPAN): New macro.
- 	(TARGET_INITIALIZER): Add TARGET_DWARF_REGISTER_SPAN.
- 
- 	* target.h (struct gcc_target): Add dwarf_register_span.
- 
- 	* dwarf2out.c (multiple_reg_loc_descriptor): New.
- 	(one_reg_loc_descriptor): New.
- 	(reg_loc_descriptor): Add support for values that span more than
- 	one register.
- 
- 2003-03-05  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h
- 	* alias.c:  Include cgraph.h
- 	(mark_constant_function): Use cgraph_rtl_info.
- 	* calls.c:  Include cgraph.h
- 	(flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const
- 	calls.
- 	(expand_call): Use cgraph_rtl_info to set preferred stack boundary.
- 	* cgraph.c (cgraph_rtl_info): New function.
- 	* cgraph.h (cgraph_rtl_info): Declare
- 	(cgraph_rtl_info): Likewise.
- 	* function.h (struct function): Add recursive_call_emit.
- 	* toplev.c: Include cgraph.h.
- 	(rest_of_compilation): Set preferred_incoming_stack_boundary.
- 
- 2003-03-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_simode_bld): Clear the
- 	destination first if possible.
- 	* config/h8300/h8300.md (extzv_1_r_h8300hs): Add an
- 	alternative.
- 	(extzv_1_r_inv_h8300hs): Likewise.
- 
- 2003-03-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* basic-block.h (EDGE_IRREDUCIBLE_LOOP, EDGE_ALL_FLAGS): New.
- 	* cfg.c (dump_edge_info): Add EDGE_IRREDUCIBLE_LOOP flag dump.
- 	* cfgloop.c (flow_loop_free): Made global.
- 	(establish_preds): New static function.
- 	(flow_loop_tree_node_add): Handle subloops of added loop correctly.
- 	(get_loop_exit_edges): New.
- 	(verify_loop_structure): Verify EDGE_IRREDUCIBLE_LOOP flags.
- 	* cfgloop.h (flow_loop_free, get_loop_exit_edges, unloop): Declare.
- 	* cfgloopanal.c (mark_irreducible_loops): Mark edges in irreducible
- 	loops.
- 	* cfgloopmanip.c (loop_delete_branch_edge): Allow to test for
- 	removability of an edge.
- 	(fix_irreducible_loops): New static function.
- 	(find_path, remove_path): Add ability to remove enclosing loops.
- 	(unloop): New.
- 	(copy_bbs, duplicate_loop_to_header_edge): Use EDGE_IRREDUCIBLE_LOOP
- 	flags.
- 	* cfgrtl.c (verify_flow_info): Handle EDGE_IRREDUCIBLE_LOOP flag.
- 	* loop-unroll.c (peel_loops_completely): Do not duplicate loop if
- 	not neccessary.
- 	(decide_peel_completely, peel_loops_completely): Allow complete peeling
- 	of non-duplicable once rolling loops.
- 	* loop-unswitch.c (unswitch_loop): Update EDGE_IRREDUCIBLE_LOOP flags.
- 
- 2003-03-05  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (OVERRIDE_OPTIONS): For TARGET_SHMEDIA, the minimum value
- 	for align_jumps is 4.
- 
- 	(SECONDARY_INPUT_RELOAD_CLASS): If reloading a PLUS into FPUL,
- 	use GENERAL_REGS.
- 
- 2003-03-05  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (PAD_VARARGS_DOWN): Define and return
- 	according to va_arg type.
- 	(EXPAND_BUILTIN_VA_ARG): Remove.
- 	* config/m68hc11/m68hc11.c (m68hc11_va_arg): Remove.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_va_arg): Remove.
- 
- 2003-03-05  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_variable_issue): Remove unnecessary
- 	else clauses.
- 
- 2003-03-05  Michael Matz  <matz@suse.de>
- 
- 	* i386/i386.c (ix86_save_reg): Also test
- 	current_function_uses_const_pool.
- 
- 2003-03-05  Michael Matz  <matz@suse.de>
- 
- 	* unwind.h: Add the GPL exception.
- 	* Makefile.in (USER_H): Add unwind.h.
- 
- 2003-03-05  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/9799
- 	* c-typeck.c (push_init_level): Add sanity check.
- 
- 2003-03-05  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation):  Defer RTL compilation only when
- 	RTL inlining is done.
- 
- 	* cgraphunit.c (cgraph_mark_local_functions): New local function.
- 	(cgraph_optimize): Mark local functions.
- 	* i386-protos.h (init_cumulative_args): Update prototype.
- 	* i386.c (init_cumulative_args): Use register passing convention for
- 	local functions.
- 
- 	* cgraph.c (cgraph_global_info_ready): New global variable
- 	(cgraph_local_info, cgraph_global_info): New functions.
- 	* cgraph.h (struct cgraph_local_info, cgraph_global_info): New
- 	structures.
- 	(cgraph_local_info, cgraph_global_info, cgraph_global_info_ready):
- 	Declare.
- 	* cgraphunit.c (cgraph_finalize_function): Set inline_many.
- 	(cgraph_mark_functions_to_output): Use inline_many.
- 	(cgraph_expand_function): Free DECL_SAVED_TREE uncondtionally.
- 	(cgraph_expand_functions): Expand inline functions last.
- 	(cgraph_optimize): Do not emit uneeded functions.
- 
- 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* expr.c (convert_modes): Check for legal hard register.
- 
- 2003-03-04  Tom Tromey  <tromey@redhat.com>
- 
- 	* doc/sourcebuild.texi (Front End Directory): Document tags.
- 	* configure: Rebuilt.
- 	* configure.in (target_list): Added tags.
- 	* Makefile.in (TAGS): Depend on lang.clean.  Include subdirectory
- 	TAGS files by reference.
- 	* objc/Make-lang.in (objc.tags): New target.
- 
- 2003-03-04  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync,
- 	gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter,
- 	gcov_write_string, gcov_read_unsigned, gcov_read_counter,
- 	gcov_read_string, gcov_write_length): Modified to enable reading/
- 	writing of whole .da file just once.
- 	(da_file_open, da_file_close, da_file_eof, da_file_error,
- 	da_file_position, da_file_seek, da_file_write, da_file_read): New
- 	functions.
- 	(actual_da_file, actual_da_file_position, actual_da_file_length,
- 	actual_da_file_buffer, actual_da_file_buffer_size): New static
- 	functions.
- 	* libgcov.c (gcov_exit): Modified to read/write the whole .da file at
- 	just once.
- 
- 
- 2003-03-04  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.c (m68k_output_function_prologue): Fix CFA
- 	offset without frame pointer.
- 
- 2003-03-04  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* expr.c (expand_expr): Call promote_mode to set unsignedp.
- 
- 2003-03-04  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* configure.in: Don't always define TARGET_SYSTEM_ROOT.
- 	* configure: Regenerated.
- 	* gcc.c: Check whether TARGET_SYSTEM_ROOT is defined.
- 
- 2003-03-04  Andreas Jaeger  <aj@suse.de>
- 
- 	* configure.in: Check for <memcheck.h>.
- 	* configure: Regenerated.
- 
- 	* config.in: Define HAVE_MEMCHECK_H.
- 
- 	* ggc-common.c: Use <memcheck.h> if available instead of
- 	<valgrind.h>.
- 	* ggc-page.c: Likewise.
- 	* cppfiles.c: Likewise.
- 
- 2003-03-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_8_8): Fix cc and lengths.
- 
- 2003-03-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/9262
- 	* c-typeck.c (do_case): Attach the first case label to the SWITCH_BODY.
- 	(c_finish_case): Rechain the next statements to the SWITCH_STMT.
- 
- 2003-03-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* doc/invoke.texi:  Document that unit-at-a-time is enabled for -O3
- 	* toplev.c (parse_options_and_default_flags): Enable flag_unit_at_a_time
- 	for -O3.
- 
- 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* configure.in: Delete three unused variables.  Move a variable
- 	definition closer to its use.  Simplify use_collect2 logic.  Start to
- 	organize.  Simplify tests for in-tree gas and ld.
- 	* configure: Regenerate.
- 
- 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in: Update.
- 	* c-common.c (flag_no_line_commands, flag_no_output,
- 	flag_dump_macros, flag_dump_includes): New.
- 	* c-common.h (flag_no_line_commands, flag_no_output,
- 	flag_dump_macros, flag_dump_includes, preprocess_file): New.
- 	(init_c_lex): Update prototype.
- 	* c-lex.c (init_c_lex): Update prototype; move some code to
- 	c_common_init.
- 	* c-opts.c (preprocess_file): Subsume into c_common_init.
- 	(c_common_decode_option): Update flags.
- 	(c_common_init): Move code from preprocess_file and init_c_lex.
- 	(sanitize_cpp_opts): Update.
- 	* c-ppoutput.c: New, cppmain.c almost verbatim.
- 	* cpphash.h (struct printer): Remove.
- 	(struct cpp_reader): Remove print.
- 	* cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
- 	cpp_preprocess_file): Remove.
- 	(struct cpp_options): Remove no_output, no_line_commands, dump_macros
- 	and dump_includes.
- 	* cppmain.c: Remove.
- 	* doc/passes.texi: Update.
- 
- 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
- 	(assign_stack_local_1): Perform overall stack alignment only when
- 	STACK_ALIGNMENT_NEEDED is nonzero.
- 	* doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
- 
- 	* pa.c (compute_frame_size): Rename fsize to size.  Account for
- 	alignment to a word boundary before general register save block.  Only
- 	account for double-word alignment before floating point register save
- 	block if one or more are saved.  Don't allocate space for %r3 when
- 	frame pointer is needed.
- 	(hppa_expand_prologue): Include alignment to word boundary in local
- 	frame size.
- 	* pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
- 	(STACK_ALIGNMENT_NEEDED): Define.
- 
- 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
- 
- 	* dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
- 	global register variables.
- 
- 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* reload.c (reload_adjust_reg_for_mode): New function.
- 	(subst_reloads): Call it.
- 	(operands_match_p): Adjust registers using HARD_REGNO_NREGS.
- 	* reload.h (reload_adjust_reg_for_mode): Declare.
- 	* reload1.c (emit_input_reload_insns, emit_output_reload_insns):
- 	Call it.
- 
- 2003-03-03  James E Wilson  <wilson@tuliptree.org>
- 
- 	* optabs.c (add_equal_note): Delete SUBREG_REG use.
- 	Fixes PR c/7872.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*ixorsi3_ashift_16): New.
- 	(*ixorsi3_lshiftrt_16): New.
- 	(*iorsi3_ashift_16): Remove.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
- 	pattern.
- 
- 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/install.texi (Specific): Update entry for powerpc-darwin.
- 
- 2003-03-03  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
- 
- 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
- 	(rs6000_variable_issue): Do not return negative value.
- 	(rs6000_issue_rate): Uniformly set issue rate to 1 for first
- 	scheduling pass.
- 
- 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
- 	prune_unused_types calls.
- 
- 2003-03-03  Jason Merrill  <jason@redhat.com>
- 
- 	* tree-inline.c (find_builtin_longjmp_call): Save and restore
- 	lineno and input_filename.
- 	(find_alloca_call): Likewise.
- 	(inlinable_function_p): Run the langhook earlier.
- 
- 	* calls.c (compute_argument_addresses): Give the new MEMs a
- 	minimum alignment of PARM_BOUNDARY.
- 
- 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
- 	subtarget_asm_isa_spec.
- 	(SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
- 	(ASM_SPEC): Define as SH_ASM_SPEC.
- 	(SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
- 	Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
- 	* config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
- 	(SUBTARGET_ASM_ISA_SPEC): Undef / define.
- 
- 	* sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
- 	and align_jumps if not set.
- 	Force align_jumps to be at least 2.
- 	When relaxing, force align_functions to be at least the maximum of
- 	align_loops, align_jumps and 4.
- 	* sh.c (find_barrier, barrier_align): Honour align_jumps_log.
- 	(sh_loop_align): Honour align_loops_log.
- 
- 	* sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
- 	to check for indirect_jump_scratch.
- 	(indirect_jump_scratch): Add second set.
- 	* sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
- 	when looking for indirect_jump_scratch.
- 	Extract scratch register taking new structure of indirect_jump_scratch
- 	into account.
- 	(gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
- 
- 2003-03-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (rtx_for_function_call): Take the address as an argument
- 	(expand_call): Do not modify the expression.
- 
- 	* toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
- 	optimizing.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
- 	TARGET_H8300H and TARGET_H8300S.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_8_8): Use shorter code when
- 	operands[0] and operands[1] are different.
- 
- 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reload_cse_move2add): Remove variable success.
- 
- 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
- 	warnings.
- 
- 2003-03-02  Richard Henderson  <rth@redhat.com>
- 
- 	* configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
- 	* config.in, configure: Rebuild.
- 	* config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
- 	* config/ia64/ia64.md (load_symptr): Use high/lo_sum for the
- 	paired ldtoffx and ldxmov annotations.
- 	(load_symptr_internal1): Remove.
- 	(load_symptr_high, load_symptr_low): New.
- 
- 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-incpath.c (add_path): Fix sysp assignment.
- 
- 2003-03-02  Kurt Garloff  <garloff@suse.de>
- 
- 	* params.def: Introduce parameter max-inline-insns-rtl for
- 	a separate limit for the RTL inliner.
- 	* params.h: Likewise.
- 	* integrate.c (function_cannot_inline_p): Use it.
- 	* toplev.c (decode_f_option): Set multiple parameters
- 	controlling inlining with -finline-limit.
- 	* params.def: Fix orthographic and typographic errors.
- 	* doc/invoke.texi: Document parameters controlling inlining
- 	and the way -finline-limit sets multiple of them.
- 
- 	* tree.h (struct tree_decl): Introduce inlined_function_flag,
- 	recording whether the function became eligible for inlining
- 	by a compiler flag rather than the declaration.
- 	Provide DID_INLINE_FUNC macro to access it.
- 	* c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
- 	* cp/decl.c (grokfndecl): Likewise.
- 	* toplev.c (rest_of_compilation): Likewise.
- 	* cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
- 	* print-tree.c (print_node): Report it.
- 	* params.def: Introduce new max-inline-insns-auto limit.
- 	* params.h: Likewise.
- 	* tree-inline.c (inlinable_function_p): Apply it to functions
- 	with DID_INLINE_FUNC set.
- 	* toplev.c (decode_f_option): Initialize it from -finline-limit
- 	value.
- 	* doc/invoke.texi: Document new parameter.
- 
- 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* fix-header.c (read_scan_file): Don't reference simplify_path.
- 
- 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
- 	min/max instructions by default as may result in reload errors.
- 
- 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
- 	avoid reload problems; define split for it.
- 
- 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
- 	* config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
- 	* config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
- 	* config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for
- 	rotatert and rotate.
- 	("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
- 	("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
- 	("*rotrhi3_addr"): New split for shift insns on address register.
- 	("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
- 	* config/m68hc11/larith.asm (___rotlhi3): New asm function.
- 	(___rotrhi3): Likewise.
- 	* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
- 
- 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* toplev.c (aux_base_name): Moved from toplev.h.
- 	(filename): Constify.
- 	(lang_dependent_init): Don't duplicate name.
- 	(process_options): Set aux_base_name here, not...
- 	(do_compile): ...here.  Change protoype.
- 	(toplev_main): Move some code from do_compile.
- 	* toplev.h: Remove aux_base_name.
- 
- 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	iorxor_operator.
- 	* config/h8300/h8300.c (print_operand): Handle 'c'.
- 	(iorxor_operator): New.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
- 	* config/h8300/h8300.md (*iorhi3_zext): Remove.
- 	(*iorsi3_zexthi): Likewise.
- 	(*iorsi3_zextsi): Likewise.
- 	(*xorhi3_zextqi): Likewise.
- 	(*xorsi3_zexthi): Likewise.
- 	(*xorsi3_zextsi): Likewise.
- 	(*ixorhi3_zext): New.
- 	(*ixorsi3_zext_qi): Likewise.
- 	(*ixorsi3_zext_hi): Likewise.
- 
- 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-incpath.c (remove_component_p, simplify_path): Move back to
- 	cppfiles.c.
- 	(remove_duplicates): Use cpp_simplify_path.
- 	* c-incpath.h (simplify_path): Remove.
- 	* c-lex.c: Don't include c-incpath.h.
- 	(init_c_lex): Remove simplify_path.
- 	* cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
- 	(find_or_create_entry, validate_pch): Revert.
- 
- 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
- 
- 	* gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
- 	  an external cpp during compilation.
- 	(option_map): Likewise.
- 	* objc/lang-specs.h (default_compilers): Similarly.
- 	* doc/invoke.texi: Document -no-integrated-cpp flag.
- 
- 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (zero_extendqisi2): Change to an
- 	expander.
- 	(*zero_extendqisi2_h8300): New.
- 	(*zero_extendqisi2_h8300hs): New.
- 	(two splitters): New.
- 
- 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fp-bit.h (float_to_usi): Fix condition wrapping prototype.
- 
- 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Remove dead code.
- 
- 2003-03-01  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR c++/9367
- 	* builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
- 	(BT_FN_INT_CONST_STRING_VALIST_ARG,
- 	BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
- 	BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
- 	BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
- 	BT_FN_INT_STRING_CONST_STRING_VAR,
- 	BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
- 	BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
- 	* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
- 	ATTR_NONNULL_3): Also include the nothrow attribute.
- 	(sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
- 	vsnprintf, vscanf, vsscanf): Don't define attributes here.
- 	* builtins.def (putchar, puts): Make full C89 built-ins.
- 	(snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
- 	vsscanf, vsnprintf, vsprintf): New built-ins.
- 	* c-common.c (c_common_nodes_and_builtins): Handle new macro
- 	DEF_FUNCTION_TYPE_VAR_3.
- 
- 	* doc/extend.texi: Document these new built-in functions.
- 
- 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* predict.c (estimate_bb_frequencies): Correctly set
- 	real_values_initialized after initialization.
- 
- 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
- 	cppinit.o, cppdefault.o, fix-header): Update.
- 	* c-incpath.c: New file.
- 	* c-incpath.h: New file.
- 	* c-lex.c: Include c-incpath.h.
- 	(init_c_lex): Register path simplifier.
- 	* c-opts.c: Include cppdefault.h and c-incpath.h.
- 	(TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
- 	std_cxx_inc, quote_chain_split, add_prefixed_path): New.
- 	(COMMAND_LINE_OPTIONS): Add more options from cpplib.
- 	(missing_arg, c_common_decode_option): Handle them.
- 	(c_common_post_options): Register include chains.
- 	(print_help): Update.
- 	* cppdefault.h (struct default include): Update.
- 	Move some macros to ...
- 	* cppdefault.c: ... here.
- 	(cpp_include_defaults): Add extra field add_sysroot.
- 	* cppfiles.c (include_file, search_from, find_or_create_entry,
- 	cpp_included, find_include_file, remap_filename): Update for
- 	renaming of search_path to cpp_path, and of the chain headers.
- 	(remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
- 	* cpphash.h (struct search_path): Move to cpplib.h.
- 	(struct cpp_buffer, struct cpp_reader): Update.
- 	(_cpp_simplify_pathname): Remove.
- 	* cppinit.c: Don't include prefix.h and cppdefault.h.
- 	(INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
- 	remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
- 	init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
- 	no_pth, cpp_handle_options): Remove.
- 	(struct pending_option): Remove chain members.
- 	(cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
- 	cpp_handle_option): Update.
- 	* cpplib.h (struct cpp_path, cpp_set_include_chains): New.
- 	(struct cpp_options): Remove quote_include, bracket_include,
- 	include_prefix, include_prefix_len, verbose, ignore_srcdir,
- 	no_standard_includes, no_standard_cplusplus_includes.
- 	(struct cpp_callbacks): Add simplify_path.
- 	(cpp_handle_options): Remove.
- 	* fix-header.c: Include c-incpath.h.
- 	(read_scan_file): Update to use c-incpath functionality.
- 	* doc/passes.texi: Update.
- 
- 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (bit_operand): Accept MEM only if it
- 	satisfies EXTRA_CONSTRAINT 'U'.
- 
- 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
- 	register.
- 	(*tst_extzv_memqi_1_n): Change to a splitter.
- 	(a peephole2): Update.
- 
- 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* predict.c (estimate_bb_frequencies): Initialize the sreal
- 	constants once per compilation.
- 
- 2003-02-28  Richard Henderson  <rth@redhat.com>
- 
- 	* toplev.c (flag_eliminate_unused_debug_types): Enable by default.
- 
- 2003-02-28  scott snyder  <snyder@fnal.gov>
- 
- 	* flags.h: Add flag_eliminate_unused_debug_types.
- 	* toplev.c: Add flag_eliminate_unused_debug_types.
- 	(f_options): Add -feliminate-unused-debug-types.
- 	* dwarf2out.c (struct file_table): Add emitted member.
- 	(splice_child_die): Fix the parent pointer for the child being
- 	spliced.
- 	(lookup_filename): Maintain file_table.emitted array.  Don't
- 	output .file directive here.
- 	(maybe_emit_file): (new)
- 	(init_file_table): Set up file_table.emitted.
- 	(dwarf2out_source_line): Use maybe_emit_file.
- 	(dwarf2out_start_source_file): Use maybe_emit_file.
- 	(dwarf2out_init): Use maybe_emit_file.
- 	(prune_unused_types_walk_attribs): (new)
- 	(prune_unused_types_mark): (new)
- 	(prune_unused_types_walk): (new)
- 	(prune_unused_types_prune): (new)
- 	(prune_unused_types): (new)
- 	(dwarf2out_finish): Call prune_unused_types if
- 	flag_eliminate_unused_debug_types is set.
- 	* doc/invoke.texi (Option Summary): Add
- 	-feliminate-unused-debug-types.
- 	(Debugging Options): Likewise.
- 
- 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi: Change .pch to .gch.
- 	* cppfiles.c (open_file_pch): Likewise.
- 	* gcc.c (default_compilers): Likewise.
- 
- 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* floatlib.c: Remove.
- 
- 2003-02-28  Jason Merrill  <jason@redhat.com>
- 
- 	* stor-layout.c (variable_size): Leave a "minus 1" outside the
- 	SAVE_EXPR.
- 
- 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/power4.md: Add compare bypass.
- 
- 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/netbsd.h: Update copyright years.
- 	(NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
- 	-pthread is specified on the command line.
- 
- 2003-02-28  Dale Johannesen <dalej@apple.com>
- 
- 	* loop.c (struct movable): Add insert_temp, shrink savemode.
- 	(scan_loop): Accept invariants that require copying; mark as
- 	insert_temp.
- 	(combine_movables): Don't combine insert_temp movables.
- 	(move_movables): Insert copies for insert_temp movables.
- 	Don't record the info based on regno for insert_temp's.
- 
- 2003-02-28  Joel Sherrill <joel@OARcorp.com>
- 
- 	PR 9638/other
- 	* config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the
- 	this constant defaults to 1.
- 
- 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
- 
- 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any
- 	ARMv5e processor, not just for XScale.  Instructions are predicable.
- 	(mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
- 
- 2003-02-28  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (note_invalid_constants): Change parameter type
- 	from bool to int.
- 
- 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
- 	test of bit 7.
- 	(*tst_extzv_memqi_1_n): Likewise.
- 	(a peephole2): New.
- 
- 2003-02-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
- 	#ifndef __mips16.
- 
- 2003-02-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (gen_lowpart_for_combine): Update handling of
- 	subregs_of_mode
- 	* flow.c (life_analysis, mark_used_regs): Likewise.
- 	* regclass.c (subregs_of_mode): Turn into single bitmap.
- 	(cannot_change-mode_set_regs, invalid_mode_change_p): Update
- 	dealing with subregs_of_mode
- 	* regs.h (subregs_of_mode): Update prototype.
- 
- 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* emit-rtl.c (set_reg_attrs_for_parm): New function.
- 	* rtl.h (set_reg_attrs_for_parm): New exported function.
- 	* function.c (assign_parms): Use set_reg_attrs_for_parm instead of
- 	set_reg_attrs_from_mem.
- 
- 2003-02-27  Roger Sayle  <roger@eyesopen.com>
- 	    Zack Weinberg <zack@codesourcery.com>
- 
- 	* gcc.c (do_spec_1):  Treat %U like %u for unique associations.
- 
- 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (sext_for_mode): Remove.
- 	(reload_cse_move2add): Use trunc_int_for_mode instead of
- 	sext_for_mode.
- 	(move2add_note_store): Likewise.
- 	Reset register information if we see a set in non-integer
- 	mode.
- 
- 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
- 	option.
- 	(ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
- 	* config/rs6000/aix51.h: Same.
- 	* config/rs6000/aix52.h: Same.
- 	* config/rs6000/power4.md: Additional VMX bypasses.
- 
- 2003-02-27   Geert Bosch <bosch@gnat.com>
- 
- 	* toplev.c (print_version): Add indentation for GGC heuristics and
- 	output after printing version information.
- 
- 2003-02-27  James E Wilson  <wilson@tuliptree.org>
- 
- 	* combine.c (simplify_comparison): Require integral mode when
- 	permuting SUBREG with AND.
- 
- 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
- 
- 	* config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
- 
- 2003-02-27  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (extendsfdf2): Add pattern accidentally
- 	deleted when cirrus instructions were added.
- 
- 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
- 	POSIX thread support by default.
- 
- 2003-02-27  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/cygwin.h: Don't include any other files directly.
- 	* config/i386/mingw32.h: Don't include cygwin.h directly.
- 	* config.gcc (cygwin, mingw32, uwin): Instead make these files
- 	explicit in the tm_files variable.
- 
- 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* config/rs6000/rs6000.md: Add TI constant splitter.
- 
- 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* builtins.c (purge_builtin_constant_p): Handle subreg of
- 	constant_p_rtx too.
- 
- 	* function.c (assign_stack_local_1): Truncate constant added to
- 	frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
- 
- 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config.gcc: Add power4 to PowerPC with_cpu list.
- 
- 2003-02-26  Jan Hubicka  <jh@suse.cz>
- 
- 	* objc-act.c: (mark_referenced_methods): Fix compilation problem.
- 
- 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* gcov-dump.c (print_prefix): Fix signedness warning.
- 	* gcov-io.h (struct counter_section, struct counter_section_data): New.
- 	(struct function_info): n_arc_counts field removed, n_counter_sections,
- 	counter_sections fields added.
- 	(struct gcov_info): arc_counts, n_arc_counts fields removed,
- 	n_counter_sections, counter_sections fields added.
- 	* libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
- 	profile sections.
- 	* profile.h (MAX_COUNTER_SECTIONS): New.
- 	(struct section_info): New.
- 	(struct profile_info): count_instrumented_edges,
- 	count_edges_instrumented_now fields removed, n_sections, section_info
- 	fields added.
- 	(find_counters_section): Declare.
- 	* profile.c (struct function_list): count_edges field removed,
- 	n_counter_sections, counter_sections fields added.
- 	(set_purpose, label_for_tag, build_counter_section_fields,
- 	build_counter_section_value, build_counter_section_data_fields,
- 	build_counter_section_data_value, build_function_info_fields,
- 	build_function_info_value, build_gcov_info_fields,
- 	build_gcov_info_value): New static functions.
- 	(find_counters_section): New function.
- 	(instrument_edges, get_exec_counts, compute_branch_probabilities,
- 	branch_prob, create_profiler): Modified to support multiple profile
- 	sections.
- 
- 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
- 	is 8 * STACK_BOUNDARY.
- 	* pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
- 
- 2003-02-26  Michael Matz  <matz@suse.de>
- 
- 	* ra-colorize.c (merge_moves): Fix list handling.
- 
- 2003-02-26  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (is_load_address): Rename to...
- 	(arm_memory_load_p) ... this and make it check for SUBREGs and
- 	constant loads that will be converted into loads from the
- 	minipool.
- 	(is_cirrus_insn): Rename to ...
- 	(arm_cirrus_insn_p): ... this, for consistency.  Replace test
- 	of CIRRUS_NO with CIRRUS_NOT.
- 	(cirrus_reorg): Use renamed functions.
- 	(note_invalid_constants): Change from a void function to bool.
- 	Add an extra parameter, saying whether the fixups should be
- 	pushed.  Return true if fixups are needed.
- 	(arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
- 	of CIRRUS_NO with CIRRUS_NOT.
- 	* config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
- 	other floating point co-processors can also affect this.
- 	* config/arm/arm.md ("type" attribute): Add mav_farith and
- 	mav_dmult.  Replace references to "cirrus_type" attribute with
- 	"type".
- 	* config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
- 	("cirrus_type" attribute): Delete - use "type" instead.
- 	("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
- 	'normal'.
- 
- 2003-02-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* objc-act.c: Include cgraph.h
- 	(mark_referenced_methods): New function.
- 	(objc_init): Call it.
- 	* objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
- 
- 	* c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
- 	mode.
- 
- 	* optabs.c (expand_fix): Do not widen the input operand.
- 
- 	* expr.c (emit_group_store):  Fix crash when converting single
- 	register into complex register.
- 
- 	* Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
- 	* alias.c: Include timevar.h
- 	(init_alias_analysis):  Set timevar
- 	* jump.c: Include timevar.h
- 	(rebuild_jump_labels):  Set timevar
- 	* regcalss.c: Include timevar.h
- 	(reg_scan):  Set timevar
- 	* timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
- 
- 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
- 
- 	* Makefile.in (loop-unroll.o): New.
- 	* cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
- 	(unroll_and_peel_loops): Declare.
- 	* alias.c (init_alias_analysis): Flag_unroll_loops renamed to
- 	flag_old_unroll_loops.
- 	* loop.c (loop_invariant_p): Ditto.
- 	* unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
- 	flag_old_unroll_all_loops.
- 	* flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
- 	(flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
- 	* params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
- 	(PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
- 	PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
- 	PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
- 	PARAM_MAX_ONCE_PEELED_INSNS): New.
- 	* toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
- 	(flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
- 	instead of old one.
- 	(flag_peel_loops): New.
- 	(lang_independent_options): The new flags added.
- 	(rest_of_compilation): Call new unroller.
- 	(process_options): Setup flags for coexistence of old and new unroller.
- 	* doc/invoke.texi: Document new options.
- 	* doc/passes.texi: Document new unroller pass.
- 
- 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
- 
- 	* fixinc/fixincl.x: Regenerate
- 
- 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* function.c (assign_parms): Set reg_attrs for parameters passed in
- 	registers.
- 
- 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR target/9681
- 	* tlink.c (scan_linker_output): Drop leading '.' from symbol names.
- 
- 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
- 	pseudo-op.
- 
- 2003-02-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
- 	* cse.c (invalidate_skipped_set):  Likewise.
- 	* integrate.c (subst_constants):  Likewise.
- 	* jump.c (reversed_comparison_code_parts):  Likewise.
- 	* loop.c (canonicalize_condition):  Likewise.
- 	* simplify-rtx.c (simplify_relational_operation):  Likewise.
- 
- 2003-02-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
- 	(abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
- 	the appropriate macro to define built-in function.
- 	(fmod,fmodf,fmodl): New built-in functions.
- 
- 	* doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
- 
- 2003-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (function_arg): Pass variable sized
- 	structures correctly on the stack.
- 
- 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
- 	does not reduce the cost of SET.
- 
- 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR target/9732
- 	* config/rs6000/rs6000.c (first_reg_to_save): Handle
- 	PIC_OFFSET_TABLE_REGNUM for -fPIC too.
- 	(rs6000_emit_prologue): Likewise.
- 	(rs6000_emit_epilogue): Likewise.
- 	* config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
- 	PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
- 
- 2003-02-25  Richard Henderson  <rth@redhat.com>
- 
- 	* real.c (real_to_integer2): Force overflow result only for
- 	unsigned overflow.
- 
- 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (cprop_jump): Revert the 2003-02-23 change.
- 
- 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
- 	there is no similar load.
- 
- 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
- 	sched-rgn.c.
- 	(add_forward_dependence): New function prototype.
- 
- 	* sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
- 	sched-init.h.
- 	(CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
- 	them to haifa-sched.c.
- 
- 	* haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
- 	haifa_classify_insn): Move them from sched-rgn.c.
- 
- 	* sched-deps.c (add_dependence): Return flag of creating a new
- 	entry.
- 	(add_forward_dependence): New function.
- 	(compute_forward_dependences): Use the function.
- 
- 	* sched-ebb.c (earliest_block_with_similiar_load): New function.
- 	(add_deps_for_risky_insns): New function.
- 	(schedule_ebb): Call the function.
- 
- 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
- 	TARGET_VECTOR_OPAQUE_P.  Document accordingly.
- 
- 	* testsuite/gcc.dg/20030218-1.c: Check that initialization of
- 	opaque types fail.
- 
- 	* c-typeck.c (comptypes): Change call to vector_types_compatible
- 	to vector_opaque_p.
- 	(convert_for_assignment): Call vector_opaque_p instead of
- 	vector_types_compatible.
- 	(really_start_incremental_init): Disallow initialization of opaque
- 	types.
- 
- 	* target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
- 	Define TARGET_VECTOR_OPAQUE_P.
- 	(TARGET_INITIALIZER): Same.
- 
- 	* target.h (struct gcc_target): Remove vector_types_compatible.
- 	Add vector_opaque_p.
- 
- 	* config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
- 	Remove.
- 	(is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
- 	a vector type.  Change return type to bool.
- 	(TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
- 	(TARGET_VECTOR_OPAQUE_P): Define.
- 
- 	* cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
- 	target hook.
- 	Include target.h.
- 	(cp_parser_init_declarator): Fix typo in function comments.
- 
- 2003-02-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (lcm.o):  Add dependency on function.h
- 	* lcm.c (function.h): Include.
- 	* i386.c (machine_function, ix86_stack_locals,
- 	* ix86_save_varrargs_registers) : Move to
- 	...
- 	* i386.h (machine_function, ix86_stack_locals,
- 	ix86_save_varrargs_registers): ... here; add optimize_mode_switching
- 	(ix86_optimize_mode_switching): New.
- 	* i386.md (fix patterns): Set ix86_optimize_mode_switching
- 
- 2003-02-25  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
- 	of fourth arg is 'fndecl' not 'indirect'.  Update comment
- 	describing the function's parameters.
- 
- 2003-02-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (simplify_shift_const):  Fix previous patch.
- 
- 2003-02-24  Jeff Law  <law@redhat.com>
- 
- 	* i386.md (testdi_1_rex64): Discourage reload from using the %eax
- 	alternative.
- 	(testsi_1, testhi_1, testqi_1): Likewise.
- 
- 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
- 	__EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
- 	* doc/extend.texi (Tru64 Pragmas): Reflect this.
- 
- 	* fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
- 	extern_prefix support for Tru64 UNIX V5 <sys/stat.h>.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
- 	testcase.
- 	Fixes PR c/5059, c/6126, other/9671.
- 
- 2003-02-24  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
- 	from handle_braces in "%{...}".
- 
- 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
- 	(prepare_move_operands): Handle TLS operands.
- 	(tls_symbolic_operand): New.
- 	(nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
- 	(legitimize_pic_address): Do nothing for the TLS symbol.
- 	(sh_encode_section_info): Handle TLS case.
- 	(sh_strip_name_encoding): Drop TLS encoding.
- 	* config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
- 	* config/sh/sh.h (SH_TLS_ENCODING): Define.
- 	(TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
- 	(ASM_OUTPUT_LABELREF): Drop TLS encoding.
- 	(OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
- 	* config/sh/sh.md: Define TLS UNSPEC constants.
- 	(type): Add tls_load.
- 	("tls_global_dynamic", "tls_local_dynamic"): New insns.
- 	("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
- 	("tls_initial_exec"): New insn.
- 	("sym2TPOFF", "symTPOFF2reg"): New expanders.
- 	("load_gbr"): New insn.
- 
- 	* configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
- 	* configure: Regenerate.
- 
- 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
- 
- 	PR 9297, PR 9722
- 	* calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
- 	2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
- 	* expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
- 	(enum block_op_methods): Reorder for better store_expr optimization.
- 	* expr.c (store_expr): Test bit 1 of "want_value" for call param
- 	stores, test bit 0 for original want_value meaning.  Pass
- 	BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
- 	recursive calls, and calls to expand_param.
- 	(expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
- 	expected, set target to 0 rather than to subtarget.  Formatting.
- 
- 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* gcse.c (cprop_jump): Use the REG_EQUAL note if available.
- 
- 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
- 	new default behavior.
- 	* ggc-common.c: Include sys/resource.h.
- 	(ggc_rlimit_bound): New function.
- 	(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
- 	defaults to account for rlimits.
- 
- 2003-02-22  Richard Henderson  <rth@redhat.com>
- 
- 	* i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
- 
- 2003-02-22  Kelley Cook <kelley@dwhoops.info>
- 
- 	* i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
- 	(ix86_tune_string): Rename from ix86_cpu_string.
- 
- 2003-02-22  Kelley Cook <kelleycook@comcast.net>
- 
- 	* config/i386/i386.c: Replace "mcpu" with "mtune".
- 	* config/i386/i386.h (TARGET_OPTIONS): Likewise.
- 	(CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
- 	* doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
- 	with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
- 
- 2003-02-23  Andreas Schwab  <schwab@suse.de>
- 
- 	* config.gcc: Delete references to m68k/t-linux and
- 	m68k/t-linux-aout.
- 	* config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (rest_of_compilation):  Apply fotgotten hunk
- 	of track scheduling patch.
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* config/linux.h (TARGET_HAS_F_SETLKW): Define.
- 	* config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-decl.c (c_expand_body_1): Fix.
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* expmed.c (expand_divmod): Undo sign extensions for unsigned operands
- 
- 	* cfgcleanup.c (try_forward_edges):  Don't check loop structures
- 	when not optimizing.
- 	(cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
- 	when not expensive.
- 	* toplev.c (rest_of_compilation):  Duplicate loop headers only when
- 	optimizing;  Delete trivially dead insns early; fix optimize check.
- 
- 	* Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
- 	dependency on cgraph.h
- 	* c-decl.c: Include cgraph.h
- 	(finish_function): Update call of tree_inlinable_function_p.
- 	* c-objc-common.c: Include cgraph.h
- 	* cgraph.h: New file.
- 	* cgraphunit.c: New file.
- 	* cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
- 	(cgraph_nodes, cgraph_n_nodes): Globalize.
- 	(cgraph_finalize_function, cgraph_finalize_compilation_unit
- 	cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
- 	Move into cgraphunit.c
- 	* tree-inline.c: Include cgraph.h
- 	* tree-inline.c: Include cgraph.h
- 
- 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
- 	for copying a register.
- 
- 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
- 
- 	PR other/3782
- 	* toplev.c (process_options): If flag_detailed_statistics is set,
- 	then set time_report as well.
- 
- 	PR c/8828
- 	* jump.c (never_reached_warning): Don't fall through BARRRIER
- 	insns.  Update comments to reflect what the function really does.
- 
- 2003-02-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (omit_one_operand): No longer static.
- 	* tree.h (omit_one_operand): Prototype here.
- 	(div_and_round_double): Keep fold-const.c prototypes together.
- 	* builtins.c (builtin_mathfn_code): Handle binary built-in
- 	funtions, such as "pow" and "atan2".
- 	(fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
- 	Simplify optimizations using "type" the builtin's return type.
- 
- 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
- 
- 	* config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
- 	Fix functionalization typo.
- 
- 	* regmove.c (optimize_reg_copy_1): Do not replace a hard register
- 	in an asm.
- 
- 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
- 	* doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
- 	documentation.
- 	* ggc-common.c: Include params.h
- 	(ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
- 	init_ggc_heuristics): New functions.
- 	* ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
- 	init_ggc_heuristics): Prototype.
- 	* toplev.c (print_version):  Output GGC heuristics.
- 	(parse_options_and_default_flags): Call init_ggc_heuristics.
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (def_builtin):  Special case 64bit builtins.
- 	(MASK_SSE164, MASK_SSE264): New constants.
- 	(builtin_description): Add 64bit builtins.
- 	(ix86_init_mmx_sse_builtins): Likewise.
- 	* i386.h (enum ix86_builtins): Likewise.
- 	* i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
- 	sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
- 	(sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
- 	* mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
- 	* xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
- 	_mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
- 	_mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
- 
- 2003-02-22  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (builtin_description): Add __builtin_ia32_paddq and
- 	__builtin_ia32_psubq. Fix __builtin_ia32_paddq128
- 	 and __builtin_ia32_psubq128.
- 	* i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
- 	* i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
- 	(mmx_adddi3, mmx_subdi3): New.
- 	* mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
- 	* xmmintrin.h (_mm_movepi64_pi64): New.
- 	(_mm_add_epi64, _mm_sub_epi64): fix.
- 	(_mm_mul_pu16): Rename to...
- 	(_mm_mul_su32): ... this one.
- 
- 	* builtins.c (expand_builtin_expect):  Do not predict
- 	flag_guess_branch_prob is not set.
- 	* c-semantics.c (expand_stmt): Likewise.
- 	* predict.c (predict_insn): Likewise.
- 	* stmt.c (expand_continue_loop): Likewise.
- 	* toplev.c (rest_of_compilation): Do not call
- 	note_prediction_to_br_prob and note_prediction_to_br_prob
- 	when not optimizing.
- 
- 2003-02-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (commit_edge_insertions):  Call
- 	find_many_sub_basic_block only when some code has been emitted.
- 	(commit_edge_insertions_watch_calls): Bring into sync with
- 	commit_edge_insertions
- 
- 2003-02-21  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
- 
- 	* sh.md (binary_sf_op): Use extra constant operand instead of
- 	negating constant operand 4.
- 	* sh.c (sh_expand_binop_v2sf): Supply it.
- 
- 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpphash.h (struct lexer_state): Add directive_wants_padding.
- 	* cpplib.c (_cpp_handle_directive): Set directive_wants_padding
- 	for directives of type INCL.
- 	(glue_header_name, parse_include): Use get_token_no_padding.
- 	* cppmacro.c (replace_args): If directive_wants_padding,
- 	provide padding tokens.
- 
- 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-02-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
- 	(commit_edge_insertions): Call find_many_sub_basic_blocks
- 
- 	* reg-stack.c (convert_regs): Cleax aux for blocks.
- 
- 2003-02-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (parse_options_and_default_flags): Undo accidental commit.
- 
- 2003-02-21  Glen Nakamura  <glen@imodulo.com>
- 
- 	PR optimization/8613
- 	* builtins.c (expand_builtin): Emit postincrements before expanding
- 	builtin functions.
- 
- 2003-02-21  Ben Elliston  <bje@redhat.com>
- 
- 	PR other/5634
- 	* doc/install.texi (Configuration): Explain using $HOME instead of
- 	the ~ metacharacter when referring to home directories.
- 
- 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (TARGET_SYSTEM_ROOT): Set default to
- 	${exec_prefix}/${target_alias}/sys-root.  Match explicit
- 	'${exec_prefix}' (in addition to the expansion thereof) as
- 	relocatable.
- 	* configure: Rebuilt.
- 
- 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (addhi3_incdec): Change the name to
- 	*addhi3_incdec.
- 	(addsi3_incdec): Change the name to *addsi3_incdec.
- 
- 2003-02-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* explow.c (force_reg): Avoid useless REG_EQUAL notes.
- 
- 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
- 
- 	PR fortran/9038
- 	* c-opts.c (sanitize_cpp_opts): Add Fortran front end
- 	options to be ignored.
- 	(c_common_decode_option): Ignore them when preprocessing.
- 
- 2003-02-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
- 	global variables.
- 	(lang_independent_options):  Add -fsched2-use-superblocks
- 	-fsced2-use-traces.
- 	(rest_of_compilation): Deal with it.
- 	* invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
- 	* flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
- 	Declare.
- 	* rtl.h (reg_to_stack):  Update prototype.
- 	* reg-stack.c (reg_to_stack): Return when something has changed;
- 	update liveness when executing after superblock scheduling.
- 
- 	* combine.c (simplify_shift_const):  Simplify few special cases
- 	into constants.
- 
- 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
- 	(add.,subf.,neg.): Change attribute to fast_compare.
- 	All DFA descriptions updated.
- 
- 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	Change base class access representation.
- 	* tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
- 	TREE_VIA_PRIVATE): Remove.
- 	(BINFO_BASEACCESSES): New binfo elt.
- 	(BINFO_BASEACCESS): New accessor.
- 	(BINFO_ELTS): Increase.
- 	(TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
- 	(access_public_node, access_protected_node,
- 	access_private_node): New global nodes.
- 	* tree.c (build_common_tree_nodes_2): Initialize access nodes.
- 	* dbxout.c (dbxout_type): Adjust.
- 	* dwarf2out.c (gen_inheritance_die): Add access parameter.
- 	(gen_member_die): Adjust.
- 	* dwarfout.c (output_inheritance_die): ARG is array of two trees.
- 	(output_type): Adjust.
- 	* tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
- 
- 	Change base class access representation. Share virtual base
- 	binfos.
- 	* cp/call.c (build_special_member_call): Remove binfo_for_vbase
- 	call.
- 	* cp/class.c (build_base_path): Likewise.
- 	(build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
- 	(build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
- 	(make_new_vtable): Adjust.
- 	(force_canonical_binfo_r): Delete.
- 	(force_canonical_binfo): Delete.
- 	(mark_primary_virtual_base): Delete.
- 	(dfs_unshared_virtual_bases): Delete.
- 	(mark_primary_bases): Adjust.
- 	(maybe_warn_about_overly_private_class): Adjust.
- 	(dfs_base_derived_from): Delete.
- 	(base_derived_from): Follow the inheritance chain.
- 	(struct find_final_overrider_data): Add vpath member.
- 	(dfs_find_final_overrider): Adjust.
- 	(dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
- 	(find_final_overrider): Adjust.
- 	(update_vtable_entry_for_fn): Adjust.
- 	(modify_all_vtables): Adjust.
- 	(walk_subobject_offsets): Adjust.
- 	(layout_nonempty_base_or_field): Adjust.
- 	(layout_empty_base): Remove last parameter. Adjust.
- 	(build_base_field): Adjust.
- 	(build_base_fields): Adjust.
- 	(propagate_binfo_offsets): Remove last parameter. Adjust.
- 	(dfs_set_offset_for_unshared_vbases): Delete.
- 	(layout_virtual_bases): Adjust.
- 	(finish_struct_1): Adjust.
- 	(init_class_processing): Don't init access nodes.
- 	(dfs_get_primary_binfo): Delete.
- 	(get_primary_binfo): Adjust.
- 	(dump_class_hierarchy_r): Remove most derived arg, add IGO
- 	parameter. Adjust.
- 	(dump_class_hierarchy): Adjust.
- 	(finish_vtbls): Adjust.
- 	(get_original_base): Delete.
- 	(build_vtt_inits): Adjust.
- 	(dfs_build_secondary_vptr_vtt_inits): Adjust.
- 	(dfs_ctor_vtable_bases_queue_p): Adjust.
- 	(build_ctor_vtbl_group): Adjust.
- 	(dfs_accumulate_vtbl_inits): Adjust.
- 	(build_vtbl_initializer): Adjust.
- 	(build_vbase_offset_vtbl_entries): Adjust.
- 	(add_vcall_offset_vtbl_entries_1): Adjust.
- 	* cp/cp-tree.h (CPTI_ACCESS_*): Remove.
- 	(access_*_node): Remove.
- 	(CANONICAL_BINFO): Delete.
- 	(BINFO_UNSHARED_MARKED): Remove.
- 	(BINFO_MARKED): Set LANG_FLAG_0 directly.
- 	(SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
- 	(BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
- 	(SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
- 	Delete.
- 	(BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
- 	(SET_BINFO_NEW_VTABLE_MARKED): Adjust.
- 	(SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
- 	Delete.
- 	(BINFO_DEPENDENT_BASE_P): New.
- 	(dfs_walk, dfs_walk_real): Queue function takes derived binfo and
- 	index.
- 	(markedp, unmarkedp): Adjust.
- 	(dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
- 	dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
- 	find_vbase_instance, binfo_for_vbase): Delete.
- 	(copied_binfo, original_binfo): Declare.
- 	(finish_base_specifier): Add virtual_p arg.
- 	(unshare_base_binfos): Delete.
- 	(copy_base_binfos): Declare.
- 	(reverse_path): Delete.
- 	* cp/decl.c (xref_basetypes): Access and virtuality passed
- 	differently. Don't copy direct base binfos here. Call
- 	copy_base_binfos.
- 	* cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
- 	(initialize_vtbl_ptrs): Adjust.
- 	(expand_member_init): Adjust.
- 	* cp/parser.c (cp_parser_base_specifier): Adjust.
- 	* cp/pt.c (instantiate_class_template): Adjust.
- 	(get_template_base_recursive): Adjust.
- 	* cp/rtti.c (get_pseudo_ti_init): Adjust.
- 	(get_pseudo_ti_desc): Adjust.
- 	* cp/tree.c (unshare_base_binfos): Rename to ...
- 	(copy_base_binfos): ... here, reimplement.
- 	(make_binfo): Set BINFO_DEPENDENT_BASE_P.
- 	(reverse_path): Remove.
- 	* cp/typeck.c (get_delta_difference): Adjust error messages.
- 	* cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
- 	* cp/search.c (lookup_base_r): Adjust.
- 	(dynamic_cast_base_recurse): Adjust.
- 	(canonical_binfo): Remove.
- 	(dfs_canonical_queue): Remove.
- 	(dfs_assert_unmarked_p): Remove.
- 	(assert_canonical_unmarked): Remove.
- 	(shared_marked_p, shared_unmarked_p): Remove.
- 	(BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
- 	(dfs_access_in_type): Adjust.
- 	(access_in_type): Adjust.
- 	(dfs_accessible_queue_p): Adjust.
- 	(dfs_accessible_p): Adjust.
- 	(is_subobject_of_p_1, is_subobject_of_p): Remove.
- 	(struct lookup_field_info): Remove from_dep_base_p field.
- 	(lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
- 	(lookup_field_r): Remove dependent base code.
- 	(lookup_member): Likewise.
- 	(dfs_walk, dfs_walk_real): Add access arg to queue fn.
- 	(dfs_unmarked_real_bases_queue_p): Remove.
- 	(dfs_marked_real_bases_queue_p): Remove.
- 	(dfs_skip_vbases): Remove.
- 	(dfs_get_pure_virtuals): Adjust.
- 	(markedp, unmarkedp): Adjust.
- 	(marked_vtable_pathp, unmarked_vtable_pathp): Remove.
- 	(marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
- 	(dfs_unmark): Adjust.
- 	(dfs_get_vbase_types):Remove.
- 	(dfs_build_inheritance_graph_order): Remove.
- 	(get_vbase_types): Remove
- 	(dfs_find_vbase_instance): Remove.
- 	(find_vbase_instance): Remove.
- 	(dfs_debug_unmarkedp): Adjust.
- 	(dependent_base_p): Remove.
- 	(dfs_push_type_decls): Adjust.
- 	(dfs_push_decls): Adjust.
- 	(dfs_no_overlap_yet): Adjust.
- 	(copied_binfo): New function.
- 	(original_binfo): New function.
- 	(binfo_for_vbase): Remove.
- 
- 	Change base class access representation.
- 	* java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
- 	(add_interface_do): Likewise.
- 
- 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
- 	* config/rs6000/power4.md (power4-store,power4-vecstore): New
- 	insn reservations.
- 	(power4-fpstore): Compact.
- 
- 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi3_w): New.
- 
- 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* combine.c (distribute_notes): Kill REG_EXEC_COUNT.
- 	* rtl.c (reg_note_name): Likewise.
- 	* rtl.h (enum reg_note): Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 
- 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* bb-reorder.c (find_traces_1_round): Fix comment typo.
- 
- 2003-02-19  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (fold_real_zero_addition_p): Don't fold a zero
- 	addition in the presence of signaling NaNs.
- 
- 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
- 
- 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Optimize or.l when
- 	ORing with 0xffff??00 with the highest bit of the ?? part set.
- 	(compute_logical_op_length): Update.
- 	(compute_logical_op_cc): Likewise.
- 
- 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* bb-reorder.c (find_traces_1_round): Fixed condition for small
- 	destination block with multiple predecessors.
- 	(connect_traces): Check whether the block is a start of trace.
- 
- 2003-02-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
- 	* function.c (assign_params): Likewise.
- 	* arm-protos.h (arm_init_cumulative_args): Update prototype.
- 	* arm.c (arm_init_cumulative_args): Update function.
- 	* arm.h (INIT_CUMULATIVE_ARGS): Update.
- 	* avr-protos.h (init_cumulative_args): Update prototype.
- 	* avr.c (init_cumulative_args): Update function.
- 	* avr.h (INIT_CUMULATIVE_ARGS): Update.
- 	* d30v-protos.h (d30v_init_cumulative_args): Update prototype.
- 	* d30v.c (d30v_init_cumulative_args): Update function.
- 	* d30v.h (INIT_CUMULATIVE_ARGS): Update.
- 	* frv-protos.h (frv_init_cumulative_args): Update prototype.
- 	* frv.c (frv_init_cumulative_args): Update function.
- 	* frv.h (INIT_CUMULATIVE_ARGS): Update.
- 	* mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
- 	* pa.h (INIT_CUMULATIVE_ARGS): Update.
- 	* sparc-protos.h (init_cumulative_args): Update prototype.
- 	* sparc.c (init_cumulative_args): Update function.
- 	* sparc.h (INIT_CUMULATIVE_ARGS): Update.
- 	* tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
- 
- 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
- 	(*ashiftsi_sextqi_7): Likewise.
- 
- 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
- 	ISO C99 and C++.
- 
- 	* fixinc/inclhack.def (irix___restrict): Don't change __restrict
- 	for C++ on IRIX 6.5.1[89].
- 	* fixinc/tests/base/internal/sgimacros.h: New file.
- 
- 	* fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
- 	* fixinc/tests/base/internal/wchar_core.h: New file.
- 
- 	* fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
- 	socklen_t definition.
- 	* fixinc/fixincl.x: Regenerate.
- 	* fixinc/tests/base/sys/socket.h: New file.
- 	Fixes PR libgcj/9652.
- 
- 2003-02-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movsfcc_1, movdfcc_1): Fix constrains.
- 
- 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_override_options): Initialize
- 	align_jumps_max_skip and align_loops_max_skip.
- 
- 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
- 	test size if named section.
- 
- 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* expr.c (expand_expr): Use gen_int_mode for the argument
- 	to gen_rtx_MULT.
- 
- 2003-02-19  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (cosxf2):  Fix conditional.
- 
- 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (extendqisi2): Change to an expander.
- 	(*extendqisi2_h8300): New.
- 	(*extendqisi2_h8300hs): Likewise.
- 
- 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	split_adds_subs.  Remove the prototypes for
- 	const_int_le_2_operand and const_int_le_6_operand.
- 	* config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
- 	(const_int_le_2_operand): Remove.
- 	(const_int_le_6_operand): Likewise.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
- 	for const_int_le_2_operand and const_int_le_6_operand.
- 	* config/h8300/h8300.md: Update all uses of split_adds_subs.
- 	(a peephole2): New.
- 
- 2003-02-18  Jan Hubicka  <jh@suse.cz>
- 
- 	* cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
- 	(cgraph_expand_function): Rewrite.
- 
- 2003-02-18  Matt Austern <austern@apple.com>
- 
- 	* toplev.c, langhooks.c, langhooks-def.h: Move
- 	write_global_declarations from toplev.c to langhooks.c.
- 
- 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (general_operand_src): Always check
- 	MODE.
- 	(general_operand_dst): Likewise.
- 
- 2003-02-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* convert.c (convert_to_real): Also optimize (float)log(x) into
- 	logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
- 
- 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (unspec_caller_rtx_p): New.
- 	(sh_cannot_copy_insn_p): New.
- 	(TARGET_CANNOT_COPY_INSN_P): New.
- 
- 2003-02-18  Richard Henderson  <rth@redhat.com>
- 
- 	* c-common.c (handle_used_attribute): Accept static data too.
- 
- 2003-02-18  Nick Clifton  <nickc@redhat.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* testsuite/gcc.dg/20030218-1.c: New.
- 
- 	* doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
- 
- 	* target-def.h (TARGET_INITIALIZER): Add
- 	TARGET_VECTOR_TYPES_COMPATIBLE.
- 	(TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
- 
- 	* target.h (struct gcc_target): Add field vector_types_compatible.
- 
- 	* c-typeck.c (comptypes): Take into account
- 	TARGET_VECTOR_TYPES_COMPATIBLE.
- 	(convert_for_assignment): Same.
- 
- 	* config/rs6000/rs6000.c (is_ev64_opaque_type): New.
- 	(rs6000_spe_vector_types_compatible): New.
- 	(TARGET_VECTOR_TYPES_COMPATIBLE): Define.
- 
- 2003-02-19  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
- 	* toplev.c: Include langhooks-def.h.
- 
- 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config/mips/mips.h (enum processor_type): Sort entries
- 	alphabetically.
- 	* config/mips/mips.md (define_attr cpu): Sync with processor_type
- 	enum values, including adding entries that were missing.
- 
- 2003-02-18  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* sh.c (calc_live_regs): Also check GET_CODE when checking if
- 	initial value for PR_REG is still the PR_REG register.
- 
- 2003-02-18  Jim Wilson  <wilson@redhat.com>
- 
- 	* config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
- 	instruction in output template.
- 	(bsp_value): Change output template from string to C code, add %,
- 	before actual instruction.
- 	(flushrs): Mark as not predicable.
- 
- 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
- 
- 	* inclhack.def (netbsd_bogus_semicolon): New fix.
- 	* fixincl.x: Rebuilt.
- 	* tests/base/ctype.h: Update.
- 
- 2003-02-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* fold-const.c (negate_expr_p): New function to determine whether
- 	an expression can be negated cheaply.
- 	(fold) [MINUS_EXPR]: Use it to determine whether to transform
- 	-A - B into -B - A for floating point types.
- 
- 2003-02-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* sbitmap.c (sbitmap_resize): New function.
- 	* sbitmap.h (sbitmap_resize): Prototype here.
- 	* recog.c (split_all_insns): Use sbitmap_resize.
- 
- 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
- 	insn length.
- 	(extendqisi2): Likewise.
- 	(*extendhisi2_h8300): Likewise.
- 
- 2003-02-18  Matt Austern <austern@apple.com>
- 
- 	* langhooks.h, langhooks-def.h: introduce new langhook,
- 	final_write_globals, with write_global_declarations as default.
- 	* toplev.c: Move invocation of wrapup_global_declarations from
- 	compile_file to new function, write_global_declarations.  Change
- 	compile_file to use final_write_globals hook.  Change
- 	wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
- 	conditional.
- 
- 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.md: Correct and enhance comment.
- 
- 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gcc.c (validate_switches): Don't scan past closing '}'.
- 
- 2003-02-18  Ben Elliston  <bje@redhat.com>
- 
- 	PR c++/1607
- 	* doc/extend.texi (Function Attributes): Document the effect of
- 	the C++ "this" parameter on the counting of arguments for the
- 	"format" and "format_arg" attributes.
- 
- 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
- 	(__ev_stdw): Same.
- 	(__ev_stdh): Same.
- 
- 2003-02-17  Jan Hubicka  <jh@suse.cz>
- 
- 	* recog.c (split_all_insns):  Fix memory overflow.
- 
- 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (cmpqi): Remove mode from compare.
- 	(cmphi): Likewise.
- 	(*cmphi_h8300): Likewise.
- 	(*cmphi_h8300hs): Likewise.
- 	(cmpsi): Likewise.
- 	(7 peephole2): Likewise.
- 
- 2003-02-16  Jan Hubicka  <jh@suse.cz>
- 
- 	* c-typeck.c (build_c_cast):  Fold constant variables into
- 	initial values.
- 
- 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): Fix link for m68k-att-sysv.
- 	(Binaries): Ditto for Sinix/Reliant Unix.
- 
- 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_reload_in_hi): Ensure that the scratch register does
- 	not overlap the final result register.
- 
- 2003-02-16 Arend Bayer <arend.bayer@web.de>
- 	   Richard Henderson  <rth@redhat.com>
- 
- 	PR c/8068
- 	* fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
- 	rearrange mult arguments for less recursion.
- 	(extract_muldiv): New.  Prevent runaway recursion.
- 
- 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
- 	MASK_ALIGN_DOUBLE.
- 
- 2003-02-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
- 	to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
- 	(ext_80387_constants_table): Global table of 80387 special constants
- 	guarded by ext_80387_constants_init flag when not initialized.
- 	(init_ext_80387_constants): New function to initialize this table.
- 	(standard_80387_constant_p): Extend to recognize extra 80387
- 	constants, in XFmode, on processors where this is a win.
- 	(standard_80387_constant_opcode): New function to return the
- 	opcode associated with standard_80387_constant_p.
- 	(standard_80387_constant_rtx): New function to return the XFmode
- 	CONST_DOUBLE associated with standard_80387_constant_p.
- 	(ix86_rtx_costs): Give the new constants the same cost as 1.0.
- 
- 	* config/i386/i386-protos.h (standard_80387_constant_opcode):
- 	Prototype here.
- 	(standard_80387_constant_rtx): Likewise.
- 
- 	* config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
- 	*movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
- 	*movtf_integer): Simplify using new standard_80387_constant_opcode.
- 
- 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi (Optimize Options): Correct @option syntax.
- 
- 2003-02-15  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (cfglayout.o): Depend on TARGET_H.
- 	* cfglayout.c: Include target.h.
- 	(cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
- 	* target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
- 	* target.h (struct gcc_target): Add cannot_copy_insn_p.
- 
- 	* config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
- 	(TARGET_CANNOT_COPY_INSN_P): New.
- 	(override_options): Revert 2003-02-08 hack.
- 
- 2003-02-15  Richard Henderson  <rth@redhat.com>
- 
- 	* gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
- 	(bypass_conditional_jumps): Accept computed_jump_p insns as well.
- 
- 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (processor_type): Add PPC440.
- 	* config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_VARIABLE_ISSUE): Define.
- 	(rs6000_use_dfa_pipeline_interface): New function.
- 	(rs6000_multipass_dfa_lookahead): New Function.
- 	(rs6000_variable_issue): New function.
- 	(rs6000_adjust_cost): Add CMP and DELAYED_CR types.
- 	(rs6000_issue_rate): Add PPC440.
- 	* config/rs6000/rs6000.md (unspec list): Correct typo.
- 	(attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
- 	store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
- 	cmp, delayed_cr, mfcr, mtcr.
- 	(automata_option): Set "ndfa".
- 	(extendMMNN2): Update attributes.
- 	(movcc_internal1): Discourage move to non-cr0.  Update
- 	attributes.
- 	(movMM_update): Update attributes.
- 	(cmpMM_internal): Update attributes.
- 	(sCC CR materialization): Update attributes.
- 	(branch patterns): Do not discourage non-cr0.
- 	(cr logical patterns): Prefer destructive register allocation.
- 	Update attributes.
- 	(movesi_from_cr): Update attribute.
- 	(mtcrf_operation): Update attribute.
- 	(mtcrfsi): Update attribute.
- 	* config/rs6000/40x.md: New file.
- 	* config/rs6000/603.md: New file.
- 	* config/rs6000/6xx.md: New file.
- 	* config/rs6000/7450.md: New file.
- 	* config/rs6000/7xx.md: New file.
- 	* config/rs6000/mpc.md: New file.
- 	* config/rs6000/power4.md: New file.
- 	* config/rs6000/rios1.md: New file.
- 	* config/rs6000/rios2.md: New file.
- 	* config/rs6000/rs64.md: New file.
- 	[Some DFA descriptions based on work by Michael Hayes]
- 
- 2003-02-15  Richard Henderson  <rth@redhat.com>
- 
- 	* bb-reorder.c (find_traces_1_round): Don't connect easy to copy
- 	successors with multiple predecessors.
- 	(connect_traces): Try harder to copy traces of length 1.
- 
- 	* function.h (struct function): Add computed_goto_common_label,
- 	computed_goto_common_reg.
- 	* function.c (free_after_compilation): Zap them.
- 	* stmt.c (expand_computed_goto): Use them to produce one
- 	indirect branch per function.
- 
- 2003-02-15  Richard Henderson  <rth@redhat.com>
- 
- 	* cfgcleanup.c: Include params.h.
- 	(try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
- 	too many outgoing edges from a block.
- 	* Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
- 	* params.def (max-crossjump-edges): New.
- 	* doc/invoke.texi: Document it.
- 
- 2003-02-15  Richard Henderson  <rth@redhat.com>
- 
- 	* recog.c (split_all_insns): Include new blocks in life update;
- 	do a global life update.
- 
- 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
- 	Update copyright.
- 	* config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
- 	-mno-cygwin case.
- 
- 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR optimization/7702
- 	* reload1.c (reload_cse_simplify_set): Honor
- 	CANNOT_CHANGE_MODE_CLASS.
- 
- 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
- 	function.
- 	* config/mn10300/mn10300-protos.h: Declare it.
- 	* config/mn10300/mn10300.md (movdi, movdf): Use it to compute
- 	attribute cc of instructions that may use clr.
- 
- 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* simplify-rtx.c (simplify_binary_operation): Simplify ~y when
- 	(x - (x & y)) is found.
- 
- 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
- 
- 	* configure.in: Fix typo.
- 	* configure: Regenerate.
- 
- 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
- 
- 2003-02-13  Adam Nemet  <anemet@lnxw.com>
- 
- 	PR opt/2391
- 	* combine.c: Fix spelling in comment.
- 	(cached_nonzero_bits): New function.
- 	(cached_num_sign_bit_copies): New function.
- 	(nonzero_bits_with_known): New macro.
- 	(num_sign_bit_copies_with_known): New macro.
- 	(nonzero_bits1): Rename from nonzero_bits.  Add three new
- 	arguments.  Change calls from nonzero_bits to
- 	nonzero_bits_with_known.
- 	(num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
- 	three new arguments.  Change calls from num_sign_bit_copies to
- 	num_sign_bit_copies_with_known.
- 	(nonzero_bits): New macro.
- 	(num_sign_bit_copies): New macro.
- 	(update_table_tick): Don't traverse identical subexpression more
- 	than once.
- 	(get_last_value_validate): Likewise.
- 
- 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
- 	* function.h (struct emit_status): Length of regno_pointer_align
- 	and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
- 	not regno_pointer_align_length (i.e. length actually used, not
- 	length as allocated)
- 
- 	* config/i386/i386.c (struct stack_local_entry): New.
- 	(struct machine_function): Replace huge array with alist.
- 	(assign_386_stack_local): Change to match.
- 
- 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
- 
- 	* inclhack.def (hpux_long_double): Tighten select and add bypass
- 	regexp.
- 	* fixincl.x: Rebuilt.
- 
- 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfgcleanup.c (outgoing_edges_match): When there is single outgoing
- 	edge and block ends with a jump insn it must be simple jump.
- 
- 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* Makefile.in (PREPROCESSOR_DEFINES): Add
- 	@TARGET_SYSTEM_ROOT_DEFINE@.
- 	* configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
- 	is specified or if building a cross compiler.
- 	(TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
- 	if the sysroot is under $exec_prefix.
- 	* configure: Regenerated.
- 	* cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
- 	defined.
- 	(struct default_include): Add add_sysroot field.
- 	(cpp_SYSROOT): Declare.
- 	* cppdefault.c (cpp_include_defaults): Fill in add_sysroot
- 	field.
- 	(cpp_SYSROOT): New variable.
- 	* cppinit.c (cpp_create_reader): Initialize
- 	CPP_OPTION (pfile, sysroot).
- 	(init_standard_includes): Handle add_sysroot.  Do not
- 	add unrelocated copies of relocated directories.
- 	(COMMAND_LINE_OPTIONS): Add -isysroot.
- 	(cpp_handle_option): Handle -isysroot.
- 	* cpplib.h (struct cpp_options): Add sysroot member.
- 	* gcc.c (The Specs Language): Update description of %I.
- 	(target_system_root_changed): New variable.
- 	(process_command): Conditionalize make_relative_prefix call
- 	on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
- 	target_system_root_changed.
- 	(do_spec_1): Add -isysroot to %I.
- 	* doc/invoke.texi (Spec Files): Update description of %I.
- 	* doc/install.texi (--with-sysroot): Update comment about
- 	relocation.
- 
- 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-02-13  Robert Lipe <robertlipe@usa.net>
- 	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): Update three SCO-related URLs.
- 
- 2003-02-13  Andreas Schwab  <schwab@suse.de>
- 
- 	* cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
- 	Parenthesize properly.
- 	(NPREDECESORS): Parenthesize properly.
- 
- 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
- 
- 2003-02-12  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
- 	(atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
- 
- 	* reg-stack.c (subst_stack_regs_pat): Add support for binary
- 	UNSPEC instructions (e.g. "fpatan").
- 
- 2003-02-12  Mike Stump  <mrs@apple.com>
- 
- 	* varray.c (element_size): Remove.
- 	(uses_ggc): Remove.
- 	(element): Add.
- 	(varray_init): Use new interface.
- 	(varray_grow): Use new interface.
- 	(varray_clear): Use new interface.
- 
- 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Add casts to the arguments of the following
- 	macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
- 	evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
- 	evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
- 	__ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
- 	__ev_get_u16, __ev_get_s16.
- 
- 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-02-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
- 	(OBJS): Add cgraph.o
- 	(cgraph.o): New.
- 	* c-decl.c (expand_body_1): Break out from ...
- 	(expand_body): This one;  change calling convention
- 	(finish_function): Move some of expand_body logic here.
- 	(c_expand_deferred_function): Update call of expand_body
- 	(c_expand_stmt): Use c_expand_body_1.
- 	* c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
- 	* c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
- 	* c-tree.h (c_expand_body): Declare.
- 	* cgraph.c: New file.
- 	* flags.h (flag_unit_at_a_time): Declare.
- 	* langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
- 	LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
- 	LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
- 	* langhooks.h (struct lang_hooks_for_callgraph): New.
- 	(struct lang_hooks): Add callgraph field.
- 	* toplev.c (flag_unit_at_a_time): New.
- 	(lang_independent_options): Add flag_unit_at_a_time.
- 	(process_options): Disable unit-at-a-time mode for frontends not
- 	supporting callgraph.
- 	* tree-inline.c (typedef struct inline_data): Add "decl"
- 	(expand_call_inline): Update callgraph.
- 	(optimize_inline_calls): Set id.decl.
- 	* tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
- 	cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
- 	cgraph_calls_p): Declare.
- 	* invoke.texi (-funit-at-a-time): Document.
- 
- 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.h: Fix misc formatting.
- 	(__ev_create_ufix32_fs): Cast ev argument.
- 	(__ev_create_sfix32_fs): Same.
- 	(__ev_get_sfix32_fs_internal): Cast arguments to builtins.
- 	(__ev_get_ufix32_fs_internal): Same.
- 
- 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
- 
- 	* doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
- 	* config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
- 
- 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* cpplib.c (do_include_common): Move warnings for
- 	#include_next and #import out to callers.  Use early-return
- 	instead of nested ifs.  Don't do check_eol here.
- 	(parse_include): Do check_eol here with the rest of the
- 	parsing stuff.
- 	(do_include_next, do_import): Now handle warnings.
- 
- 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
- 
- 2003-02-12  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (estimate_probability):  Fix roundoff error.
- 
- 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Don't handle 65535.
- 	(two peephole2): New.
- 
- 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (several peephole2): Replace
- 	find_regno_note with peep2_reg_dead_p.
- 
- 2003-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	* gcse.c (lookup_set): Remove unused argument PAT.  Update
- 	both callers.
- 
- 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* diagnostic.c (real_abort): New.
- 	(diagnostic_report_diagnostic): Call real_abort on error.
- 	* diagnostic.h (diagnostic_abort_on_error): New.
- 	(struct diagnostic_context): Add abort_on_error field.
- 	* toplev.c (setup_core_dumping): New.
- 	(decode_d_option): Handle 'H' case.
- 	* doc/invoke.texi (Debugging Options): Document -dH.
- 
- 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
- 	which refers to obsolete directories.
- 
- 2003-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
- 
- 2002-10-21  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (contains_128bit_aligned_vector_p): New function.
- 	(ix86_function_arg_boundary): Properly align vector modes.
- 
- 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
- 	* config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
- 	as a SET pattern.
- 
- 2003-02-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c:  Fix failure caused by commiting wrong patch.
- 
- 2003-02-11  Dale Johannesen  <dalej@apple.com>
- 	* ra-build.c (compare_and_free_webs):  Relax checking.
- 	* config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
- 	(UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
- 
- 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR optimization/9651
- 	* rtlanal.c (may_trap_p): Handle FIX.
- 
- 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
- 
- 	* config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
- 	* doc/invoke.texi: Extra alias.
- 
- 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/host-darwin.c: Fix comment.
- 
- 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (divmodsi4): Use register_operand
- 	predicate for mod result.
- 
- 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
- 	hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
- 	* fixincl.x: Rebuilt.
- 	* tests/base/stdlib.h: Update.
- 	* tests/base/ctype.h: New file.
- 
- 2003-02-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
- 
- 2003-02-11  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
- 	appropriated as globals.
- 	(ix86_expand_clrstr): Similarly.
- 	* config/i386/i386.md (cmpstrsi): Similarly.
- 
- 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Add a case of 255.
- 
- 2003-02-11  Roger Sayle  <roger@eyesopen.com>
- 
- 	* optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
- 	(pow_optab, atan2_optab): Define corresponding macros.
- 	* optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
- 	* genopinit.c (optabs): Implement pow_optab and atan2_optab
- 	using pow?f3 and atan2?f3 patterns.
- 	* builtins.c (expand_errno_check): New function to update errno
- 	if necessary, split out from expand_builtin_mathfn.
- 	(expand_builtin_mathfn): Use expand_errno_check.
- 	(expand_builtin_mathfn_2): New function to handle expanding binary
- 	math functions, reusing the code in expand_errno_check.
- 	(expand_builtin): Handle the pow and atan2 math built-ins,
- 	BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
- 	expand_builtin_mathfn_2.
- 
- 	* doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
- 
- 2003-02-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Fix folding of
- 	nested float_truncates.
- 
- 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (a peephole2): Fix a typo.
- 
- 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.mc (return_address_mask): Use CC_REGNUM for the condition code
- 	register number.
- 
- 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	gtuleu_operator.
- 	* config/h8300/h8300.c (gtuleu_operator): New.
- 	* config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
- 	* config/h8300/h8300.md (a peephole2): New.
- 
- 2003-02-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
- 
- 2003-02-11  Jan Hubicka  <jh@suse.cz>
- 
- 	* predict.c (choose_function_section): Choose sections correctly.
- 
- 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* reload1.c (first_label_num): New.
- 	(reload): Index offsets_known_at and offsets_at using difference of
- 	label number and first label number.  Don't use offset pointers.
- 	(set_label_offsets, set_initial_label_offsets): Likewise.
- 
- 2003-02-10  Roger Sayle  <roger@eyesopen.com>
- 
- 	* mips-tfile.c (init_file): Add missing initializers in the
- 	"#ifdef __alpha" case.
- 	(file_offset, max_file_offset): Declare as unsigned long.
- 	(write_varray): Cast to "unsigned long" in comparisons against
- 	either file_offset or max_file_offset.
- 	(write_object): Likewise.
- 	(read_seek): Likewise.
- 	(copy_object): Likewise. Declare "ifd" as int to match its use
- 	in add_ext_symbol, and avoid signed/unsigned conditional warning.
- 
- 2003-02-10  Nick Clifton  <nickc@redhat.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
- 	override options which have been specified on the command line.
- 
- 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (abssf2): New.
- 	(*abssf2_h8300): Likewise.
- 	(*abssf2_h8300hs): Likewise.
- 
- 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* tree.c (build_tree_list):  Fix parameter names in comment.
- 
- 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
- 
- 	* config/rs6000/ppc64-fp.c: New file.
- 	* config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
- 
- 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
- 	* bb-reorder.c (make_reorder_chain): Deleted.
- 	(make_reorder_chain_1): Deleted.
- 	(find_traces): New function.
- 	(rotate_loop): New function.
- 	(mark_bb_visited): New function.
- 	(find_traces_1_round): New function.
- 	(copy_bb): New function.
- 	(bb_to_key): New function.
- 	(better_edge_p): New function.
- 	(connect_traces): New function.
- 	(copy_bb_p): New function.
- 	(get_uncond_jump_length): New function.
- 	(reorder_basic_blocks): Use new functions (Software Trace Cache).
- 	* cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
- 	boundaries.
- 
- 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
- 
- 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
- 
- 	* tree.h (struct tree_decl): Remove unused live_range_rtl field.
- 	(DECL_LIVE_RANGE_RTL): Remove.
- 
- 2003-02-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
- 	config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
- 	config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
- 	config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
- 	config/arm/freebsd.h, config/arm/linux-elf.h,
- 	config/arm/linux-gas.h, config/arm/netbsd-elf.h,
- 	config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
- 	config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
- 	config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
- 	config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
- 	config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
- 	config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
- 	and reformat as appropriate.
- 
- 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/clzsi2.c: Remove.
- 	* config/h8300/ctzsi2.c: Likewise.
- 	* config/h8300/paritysi2.c: Likewise.
- 	* config/h8300/popcountsi2.c: Likewise.
- 	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
- 	ctzsi2, paritysi2, and popcountsi2.
- 
- 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 	    Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
- 
- 	PR c/7741
- 	* c-decl.c (duplicate_decls): Discard the initializer of the
- 	new decl when the types are conflicting.
- 
- 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* Makefile.in (sreal.o): Added.
- 	(predict.o): Depends on sreal.h instead of real.h.
- 	* sreal.c: New file.
- 	* sreal.h: New file.
- 	* predict.c: Use sreal.c instead of real.c.
- 
- 2003-02-10  Nick Clifton  <nickc@redhat.com>
- 
- 	* Contributed support for the Cirrus EP9312 "Maverick"
- 	floating point co-processor.  Written by Aldy Hernandez
- 	<aldyh@redhat.com>.
- 	(config/arm/arm.c): Add Cirrus support.
- 	(config/arm/arm.h): Likewise.
- 	(config/arm/aout.h): Likewise.
- 	(config/arm/arm.md): Likewise.
- 	(config/arm/arm-protos.h): Likewise.
- 	(config.gcc): Likewise.
- 	(doc/invoke.texi): Describe new -mcpu value and new
- 	-mcirrus-fix-invalid-insns switch,
- 	(cirrus.md): New file.
- 
- 2003-02-10  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx): Simplify using
- 	(float_truncate (float x)) is (float x)
- 	(float_extend (float_extend x)) is (float_extend x).
- 
- 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (try_to_integrate): Tidy stack_usage_map access.
- 	(emit_library_call_value_1): Likewise.	Formatting.
- 	(store_one_arg): Likewise.
- 
- 2003-02-09  Nick Clifton  <nickc@redhat.com>
- 	    Aldy Hernandez  <aldyh@redhat.com>
- 
- 	* config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
- 	spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
- 	spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
- 	spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
- 	spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
- 	docs.  Add range test for immediate value.
- 
- 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	Rename spe_evxor to xorv2si3.
- 	(xorv4hi3): New.
- 	(xorv1di3): New.
- 
- 2003-02-10  Glen Nakamura  <glen@imodulo.com>
- 
- 	* doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
- 	tag.
- 
- 2003-02-10  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (vector_move_operand): New predicate.
- 	(ix86_expand_vector_move): Be happy about 0.
- 	* i386.h (PREDICATE_CODES): Add sse-move_operand.
- 	* i386.md (mov*_internal): Add 'C' alternative.
- 
- 2003-02-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (floathi*): Deal with SSE.
- 
- 2003-02-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* simplify-rtx.c (simplify_unary_operation,
- 	simplify_binary_operation):  Deal with vector modes
- 	(simplify_ternary_operation):  Deal with no-op VEC_MERGE.
- 
- 2003-02-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* toplev.c (rest_of_compilation): Recompute register usage after
- 	split_all_insns.
- 
- 2003-02-09  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc-std.ver (__clztf2): New.
- 	(__ctztf2, __popcounttf2, __paritytf2): New.
- 	* libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
- 	__popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
- 	adjust code to match the different type sizes.
- 	* libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
- 	__clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
- 
- 	* optabs.c (init_integral_libfuncs): Don't hard-code SImode and
- 	TImode; select word_mode and twice that.
- 	(init_floating_libfuncs): Don't hard-code SFmode and TFmode;
- 	select the modes from float, double, and long double.
- 	(init_optabs): Remove duplicate initializations.
- 
- 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
- 
- 	* doc/install.texi: Squeeze and streamline section on
- 	testing and regression checking.
- 
- 2003-02-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (ahi?v*3): Set third operand type to TImode.
- 	* i386.c (ix86_expand_binop_builtin): Extend operand when needed.
- 
- 	* simplify-rtx.c (simplify_subreg): Fix conversion from vector into
- 	integer mode.
- 
- 	* rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
- 	Change code so they are arithmetic expressions now.
- 	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
- 	simplify_ternary_operation): Deal with VEC_* expressions.
- 
- 	* i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
- 
- 2003-02-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
- 	* reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
- 	possibly got duplicated.
- 
- 2003-02-08  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (override_options): Turn off explicit
- 	relocs until post-peep2 code duplication resolved.
- 
- 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* optabs.c (expand_unop): Widen clz properly when clz is done
- 	via libcall.
- 
- 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
- 	* config/h8300/crti.asm: Likewise.
- 	* config/h8300/crtn.asm: Likewise.
- 	* config/h8300/ctzsi2.c: Likewise.
- 	* config/h8300/fixunssfsi.c: Likewise.
- 	* config/h8300/h8300-protos.h: Likewise.
- 	* config/h8300/h8300.c: Likewise.
- 	* config/h8300/h8300.h: Likewise.
- 	* config/h8300/h8300.md: Likewise.
- 	* config/h8300/paritysi2.c: Likewise.
- 	* config/h8300/popcountsi2.c: Likewise.
- 	* config/h8300/rtems.h: Likewise.
- 
- 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* doc/invoke.texi: Documentation for my previous commit.
- 	* doc/passes.texi: Ditto.
- 
- 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
- 	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
- 	Declare.
- 	(DLTHE_FLAG_UPDATE_FREQ): New.
- 	* cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
- 	loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
- 	rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
- 	fix_bb_placement, fix_bb_placements, place_new_loop,
- 	scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
- 	New static functions.
- 	(fix_loop_placement, can_duplicate_loop_p,
- 	duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
- 	New functions.
- 
- 	* cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
- 	unswitch_loops): Declare.
- 	* loop-init.c: New file.
- 	* loop-unswitch.c: New file.
- 	* Makefile.in (loop-init.o, loop-unswitch.o): New.
- 	* params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
- 	* toplev.c (DFI_loop2): New dump.
- 	(flag_unswitch_loops): New.
- 	(lang_independent_options): Add it.
- 	(rest_of_compilation): Call new loop optimizer.
- 	(parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
- 
- 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/clzsi2.c: New.
- 	* config/h8300/ctzsi2.c: Likewise.
- 	* config/h8300/paritysi2.c: Likewise.
- 	* config/h8300/popcountsi2.c: Likewise.
- 	* config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
- 
- 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
- 	* config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
- 	(ctzsi2): New pattern.
- 	(ffssi2): Use clz instead of unspec.
- 	(clzdi2): Rename from cntlzd2.
- 	(ctzdi2): New pattern.
- 	(ffsdi2): Use clz instead of unspec.
- 
- 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
- 	* config/ia64/freebsd.h (LINK_SPEC): Likewise.
- 	* config/sparc/freebsd.h (LINK_SPEC): Likewise.
- 	* config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
- 
- 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
- 
- 	* doc/trouble.texi: Document pitfalls of two-stage name lookup.
- 
- 2003-02-07  Richard Henderson  <rth@redhat.com>
- 
- 	PR 9226
- 	* gcse.c (local_cprop_find_used_regs): New.
- 	(local_cprop_pass): Use it.
- 
- 2003-02-07  Fred Fish  <fnf@intrinsity.com>
- 
- 	* mips-tfile.c (parse_def): Parenthesize assignments to fix
- 	precedence bugs.
- 
- 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
- 
- 	* genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
- 
- 2003-02-07  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
- 	(BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
- 	(BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
- 	* builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
- 	builtin functions (and their __builtin_* variants).
- 	* builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
- 	(expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
- 	when not optimizing.
- 
- 	* doc/extend.texi: Document new pow and atan2 builtins, and
- 	their float and long double variants.  Realphabetize builtins.
- 
- 2003-02-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (sse2_nandv2di3): Fix.
- 
- 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	* config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
- 	* config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
- 	definition.
- 	* config/i386/i386.h (ix86_return_in_memory): Return aggregate
- 	types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
- 
- 2003-02-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
- 
- 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* cfg.c (dump_flow_info): Add back accidently deleted line.
- 
- 2003-02-07  Andrey Petrov <petrov@netbsd.org>
- 
- 	* optabs.c (expand_float): Search wider integer modes first.
- 
- 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
- 	based on preprocessor flag.
- 
- 2003-02-07  Roger Sayle  <roger@eyesopen.com>
- 	    Richard Henderson  <rth@redhat.com>
- 
- 	* gcse.c (implicit_sets): New.
- 	(compute_hash_table_work): Include them in hash table.
- 	(find_implicit_sets, fis_get_condition): New.
- 	(one_cprop_pass): Allocate and free implicit_sets; call
- 	find_implicit_sets before building hash table.
- 
- 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
- 
- 	* config/t-netbsd (USER_H): Revert previous change.
- 
- 2003-02-07  Gabor Greif  <ggreif@lucent.com>
- 
- 	* doc/c-tree.texi (Namespaces): Fix typo.
- 
- 2003-02-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* regrename.c (do_replace, find_oldest_value_reg,
- 	copyprop_hardreg_forward_1): Update register attributes.
- 
- 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
- 	VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
- 	variables starting with underscore.
- 	(struct unit_usage): New structure.
- 	(unit_usages, cycle_alt_unit_usages): New global variables.
- 	(check_unit_distribution_in_reserv): Remove it.
- 	(store_alt_unit_usage): New function.
- 	(check_regexp_units_distribution): Rewrite it.
- 
- 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
- 	target_cpu_default.
- 	* pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
- 	if not MASK_NO_SPACE_REGS.
- 	(output_call): Adjust return pointer, don't load new space register
- 	into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
- 	(pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
- 	TARGET_NO_SPACE_REGS is true.
- 	* pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
- 	conditions.
- 	(epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
- 	(interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
- 	true.  Use bve when TARGET_64BIT is true.
- 
- 2003-02-06  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (nonzero_bits): Fix double break.
- 
- 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
- 	    Richard Henderson <rth@redhat.com>
- 
- 	PR c/9530
- 	* config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
- 	from functions that return a float to functions that don't.
- 
- 2003-02-06  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (x86_inter_unit_moves): New variable.
- 	(ix86_secondary_memory_needed): Fix 64bit case, honor
- 	TARGET_INTER_UNIT_MOVES
- 	* i386.h (x86_inter_unit_moves): Declare.
- 	(TARGET_INTER_UNIT_MOVES): New macro.
- 	* i386.md (movsi_1): Cleanup constraints; disable
- 	when not doing inter-unit moves.
- 	(movsi_1_nointernunit): New.
- 	(movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
- 	(movdi_1_rex64_nointerunit): New.
- 	(mivsf_1): disable when not doing inter-unit moves.
- 	(movsf_1_nointerunit): New.
- 
- 	* basic-block.h (inside_basic_block_p):  Declare.
- 	* cfgbuild.c (inside_basic_block_p): Make global.
- 	* haifa-sched.c (unlink_other_notes): Deal with NOT_INSN_BASIC_BLOCK.
- 	* scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
- 	update CFG.
- 	(fix_basic_block_boundaries, add_missing_bbs): New.
- 	(rank): Use profile.
- 	(scheudle_ebbs): Rely on CFG; update coments.
- 
- 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (host_hook_obj): New.
- 	(OBJS): Add $(host_hook_obj).
- 	(host_default.o): New rule.
- 	* config.gcc (host_hook_obj): New, default to host-default.o.
- 	(powerpc-*-darwin*): Use host-darwin.o.
- 	(out_host_hook_obj): New.
- 	* configure: Regenerate.
- 	* configure.in: Print information about out_host_hook_obj, substitute
- 	into output files.
- 	* host-default.c: New file.
- 	* hosthooks.h: New file.
- 	* toplev.c (general_init): Call host_hooks.extra_signals.
- 	* config/rs6000/host-darwin.c: New file.
- 	* config/rs6000/x-darwin: New file.
- 	* doc/hostconfig.texi: Add documentation for new host hook.
- 	Rearrange existing documentation.
- 
- 2003-02-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
- 	with *targetm.delegitimize_address.
- 	(rtl_for_decl_location): Likewise.
- 	* dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
- 	* Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
- 
- 	* config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
- 	* config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
- 	prototype.
- 	* config/i386/i386.c (ix86_delegitimize_address): Renamed from
- 	i386_simplify_dwarf_addr.  Made static.  Prototyped.
- 	(TARGET_DELEGITIMIZE_ADDRESS): Update definition from
- 	i386_simplify_dwarf_addr to ix86_delegitimize_address.
- 	(ix86_find_base_term): Likewise.
- 	(maybe_get_pool_constant): Likewise.
- 
- 	* config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
- 	* config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
- 	prototype.
- 	* config/s390/s390.c (s390_delegitimize_address): Renamed from
- 	s390_simplify_dwarf_addr.  Made static.  Prototyped.
- 	(TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
- 
- 2003-02-05  Richard Henderson  <rth@redhat.com>
- 
- 	PR c/8602
- 	* integrate.c (output_inline_function): Reset input_filename
- 	and lineno from the decl before rest_of_compilation.
- 
- 2003-02-05  Richard Henderson  <rth@redhat.com>
- 
- 	* defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
- 	(CTZ_DEFINED_VALUE_AT_ZERO): New.
- 	* doc/rtl.texi, doc/tm.texi: Document them.
- 
- 	* combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
- 	of the value at zero properly.
- 	* fold-const.c (tree_expr_nonnegative_p): Likewise.
- 	* simplify-rtx.c (simplify_unary_operation): Likewise.
- 
- 	* config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
- 	(CTZ_DEFINED_VALUE_AT_ZERO): New.
- 
- 	* config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
- 	(TARGET_EXPAND_BUILTIN): Remove.
- 	(def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
- 	* config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
- 	(enum arm_builtins): Remove.
- 	* config/arm/arm.md (UNSPEC_CLZ): Remove.
- 	(clzsi2): Rename from clz; use clz instead of unspec.
- 	(ctzsi2): New.
- 	* config/arm/arm-protos.h: Update.
- 
- 2003-02-05  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386-protos.h (x86_emit_floatuns):  Declare.
- 	* i386.c (x86_emit_floatuns): New global function.
- 	* i386.md (floatunssisf2, floatunsdisf2,
- 	floatunsdidf2):  New patterns.
- 
- 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
- 
- 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
- 
- 	* config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
- 	  config/ia64/linux.h
- 
- 2003-02-05  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
- 
- 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
- 
- 	PR optimization/8555
- 	* config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
- 	instead of aborting.
- 
- 2003-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (UNSPEC_BSF): Remove.
- 	(ffssi2): Split into cmove and no_cmove insns and splitters;
- 	lose pentium float trick for now.
- 	(ffssi_1): Add * to name; use CTZ instead of UNSPEC.
- 	(ctzsi2, clzsi2, bsr): New.
- 
- 2003-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
- 	UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
- 	* config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
- 	(ffsdi2): Use popcount instead of unspec.
- 	(popcountdi2): Rename from *popcnt.
- 	(ctzdi2, clzdi2, getf_exp_tf): New.
- 
- 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* genconfig.c (main): Generate CC0_P.
- 	* rtl.h (CC0_P): Remove.
- 
- 2003-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.h, libgcc2.c (__ffsSI2): New.
- 	(__ffsDI2): Rename from __ffsdi2.
- 	* mklibgcc.in (lib2funcs): Add _ffssi2.
- 
- 2003-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
- 	rounds with a "bit table" lookup.
- 
- 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads): Do not use the mode specified in the insn
- 	pattern as reload mode for address operands.  Do not generate optional
- 	reloads for operands where a mandatory reload was already pushed.
- 
- 2003-02-04  Richard Henderson  <rth@redhat.com>
- 
- 	* longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
- 	builtins instead of inline assembly.
- 
- 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	PR c/9376
- 	* libgcc2.c (__subvdi3): Fix typo.
- 
- 2003-02-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (movti_rex64):  Fix constraint.
- 
- 2003-02-04  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (vector push splitters):  Fix typo in resolving conflict.
- 
- 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
- 
- 	* config/i386/i386.c (x86_function_profiler): Fix typo in format.
- 
- 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	* doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
- 	for recent libstdc++.  Remove formatting cruft.
- 
- 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
- 
- 	* dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
- 	attribute even if input file name is absolute, but one of the
- 	includes is relative.
- 
- 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
- 
- 	* doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
- 	doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
- 	* doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
- 
- 2003-02-03  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
- 	__popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
- 	return type to "int".  Shuffle declarations and undef int trap.
- 	* libgcc2.h: Remove their declarations.
- 	* optabs.c (expand_unop): Force outmode to int for bitops.
- 
- 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
- 	coprocessor registers before floating-point registers.
- 	* config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
- 	to account for a previously removed register.
- 	(SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
- 	Delete unused macros.
- 
- 2003-02-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_store_builtin):  Always force op1 to register.
- 	(mov*_internal): Fix predicates; require one of operands to not be
- 	memory.
- 	(SSE?MMX move expanders):  Fix predicates; force one of operands to
- 	register.
- 	(SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
- 	(movups/movupd/movdqu patterns): Force one of operands to not be
- 	memory.
- 
- 2003-02-03  Roger Sayle  <roger@eyesopen.com>
- 
- 	* hooks.c (hook_rtx_rtx_identity): Generic hook function that
- 	takes a single rtx and returns it unmodified.
- 	* hooks.h (hook_rtx_rtx_identity): Prototype here.
- 	* target.h (struct gcc_target): Add "delegitimize_address"
- 	field to target structure.
- 	* target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
- 	for delegitimize_address target using hook_rtx_rtx_identity.
- 	(TARGET_INITIALIZER): Initialize delegitimize_address field
- 	using TARGET_DELEGITIMIZE_ADDRESS macro.
- 	* simplify-rtx.c (avoid_constant_pool_reference): Handle float
- 	extensions of constant pool references.  Use delegitimize_address
- 	to undo the obfuscation of "-fpic".
- 	* Makefile.in (simplify-rtx.o): Add dependency on target.h.
- 
- 	* config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
- 	i386_simplify_dwarf_addr.
- 	(ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
- 	(maybe_get_pool_constant): Likewise.
- 
- 2003-02-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
- 
- 2003-02-03  Jan Hubicka  <jh@suse.cz>
- 
- 	* regclass.c (cannot_change_mode_set_regs): Correct argument order.
- 
- 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
- 	define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
- 
- 2003-02-02  Andreas Schwab  <schwab@suse.de>
- 
- 	* varasm.c (asm_output_aligned_bss): Declare as possibly unused.
- 
- 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.md (sibcall_epilogue): Set the "conds" to "clob".
- 	(epilogue_insns): Likewise.
- 
- 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
- 
- 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa-protos.h (attr_length_millicode_call): Remove second argument.
- 	(attr_length_indirect_call, attr_length_indirect_call,
- 	attr_length_save_restore_dltp): New prototypes.
- 	* pa.c (attr_length_millicode_call): Remove second argument.  Check
- 	INSN_ADDRESSES_SET_P in distance calculation.
- 	(output_millicode_call): Check INSN_ADDRESSES_SET_P before using
- 	INSN_ADDRESSES.
- 	(attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
- 	(output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
- 	Call attr_length_call directly.
- 	(attr_length_indirect_call, output_indirect_call,
- 	attr_length_save_restore_dltp): New functions.
- 	* pa.md (attr_length_millicode_call): Drop second argument from all
- 	patterns.
- 	(return_internal_pic): Delete.
- 	(return_external_pic): Remove use of PIC register and pic operand and
- 	flag checks.
- 	(epilogue): Use return_internal for both normal and pic code.
- 	(call, call_value): Emit new 32-bit pic patterns for symref and
- 	indirect calls.  Remove uses for arg pointer and pic register.
- 	(call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
- 	call_reg_pic_post_reload, call_val_symref_pic,
- 	call_val_symref_pic_post_reload, call_val_reg_pic,
- 	call_val_reg_pic_post_reload): New pre and post reload insn patterns.
- 	Implement define_split and define_peephole2 patterns for pre reload
- 	patterns.
- 	(call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
- 	call_value_internal_reg_64bit): Shorten names.
- 	(all call patterns): Explicitly indicate registers used and clobbered.
- 	Use attr_length_indirect_call and attr_length_save_restore_dltp for
- 	attribute length calculation.  Move code generation for indirect calls
- 	to output_indirect_call.
- 	(sibcall, sibcall_value): Don't restore PIC register.
- 	(exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
- 	register retore.
- 
- 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Testing): Simplify and compress instructions
- 	concerning Dejagnu.
- 
- 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* collect2.c (pexecute_pid): Rename to pid.
- 	(collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
- 	pid.
- 
- 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/extend.texi (Function Attributes): Remove documentation
- 	for PowerPC Windows NT function attributes..
- 
- 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
- 
- 	* dwarf2out.c (gen_type_die): Check for typedefs before calling
- 	for TYPE_MAIN_VARIANT.
- 
- 2003-02-01  Richard Henderson  <rth@redhat.com>
- 
- 	* libgcc2.c: Include auto-host.h.
- 	(ATTRIBUTE_HIDDEN): New.
- 	(__clz_tab): Don't declare here for clz and ctz.
- 	(__clzsi2, __clzdi2): Use count_leading_zeros.
- 	(__ctzsi2, __ctzdi2): Use count_trailing_zeros.
- 	(__popcount_tab): Mark ATTRIBUTE_HIDDEN.
- 	(__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
- 	* longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
- 
- 2003-02-01  Richard Henderson  <rth@redhat.com>
- 
- 	* config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
- 	to the conditional.
- 	(ashlsi3_1_zext splitter): Likewise.
- 
- 2003-02-01  Richard Henderson  <rth@redhat.com>
- 
- 	* optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
- 	* libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
- 	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
- 	return type to Wtype.
- 
- 	* libgcc-std.ver (GCC_3.4): Fix inheritance.
- 
- 	* config/i386/i386.md (ffssi2): Use nonimmediate_operand for
- 	expander input constraint.
- 
- 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
- 
- 	* optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
- 	OTI_parity.
- 	(clz_optab, ctz_optab, popcount_optab, parity_optab): New.
- 	* optabs.c (widen_clz, expand_parity): New.
- 	(expand_unop): Handle clz and parity.  Hardcode SImode as outmode
- 	for libcalls to clz, ctz, popcount, and parity.
- 	(init_optabs): Init clz_optab, ctz_optab, popcount_optab and
- 	parity_optab, and set up libfunc handlers.
- 	* libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
- 	__popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
- 	__popcount_tab): New.
- 	* libgcc2.h: Declare them.
- 	* libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
- 	* genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
- 	and parity_optab.
- 	* builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
- 	* builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
- 	BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
- 	BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
- 	BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
- 	BUILT_IN_PARITYLL): New.
- 	* builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
- 	and add optab argument.
- 	(expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
- 	* tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
- 	* expr.c (expand_expr): Handle them.
- 	* fold-const.c (tree_expr_nonnegative_p): Likewise.
- 	* rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
- 	* reload1.c (eliminate_regs): Handle them.
- 	(elimination_effects): Likewise.
- 	* function.c (instantiate_virtual_regs_1): Likewise
- 	* genattrtab.c (check_attr_value): Likewise.
- 	* simplify-rtx.c (simplify_unary_operation): Likewise.
- 	* c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
- 	* combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
- 	(nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
- 	* config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
- 	* config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
- 	__builtin_arm_clz.
- 	* Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
- 	* mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
- 	* doc/extend.texi (Other Builtins): Add new builtins.
- 	* doc/md.texi (Standard Names): Add new patterns.
- 
- 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c: Revert 2003-01-31 change.
- 
- 2003-02-01  Jan Hubicka  <jh@suse.cz>
- 
- 	* combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
- 
- 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* flags.h (flag_volatile): Remove declaration.
- 	(flag_volatile_global, flag_volatile_static): Likewise.
- 	* c-typeck.c (build_indirect_ref): Don't check flag_volatile.
- 	* toplev.c (flag_volatile): Remove definition.
- 	(flag_volatile_global, flag_volatile_static): Likewise.
- 	(f_options): Remove corresponding entries here.
- 	* varasm.c (make_decl_rtl): Don't check flag_volatile_global
- 	or flag_volatile_static.
- 	* doc/invoke.texi: Remove documentation of -fvolatile,
- 	-fvolatile-global and -fvolatile-static.
- 
- 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
- 	updating of total_code_bytes from prologue to epilogue.
- 
- 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (find_reloads): Do not use the mode specified in the insn
- 	pattern as reload mode for address operands.  Do not generate optional
- 	reloads for operands where a mandatory reload was already pushed.
- 	Generate optional reloads only in the final pass though find_reloads.
- 	(have_replacement_p): New function.
- 
- 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Testing): Remove a reference to our obsolete
- 	/testresults web pages and strip redundant information concerning
- 	test results.
- 	(Binaries): Refer to Microsoft Windows instead of listing all
- 	possible variants.
- 
- 2003-02-01  Jan Hubicka  <jh@suse.cz>
- 
- 	* loop.c (emit_prefetch_instructions):  Do conversion at right place in
- 	RTL chain.
- 
- 	* combine.c (simplify_set): Reverse order of ragumetns to
- 	REG_CANNOT_CHANGE_MODE_P
- 	* df.c (df_def_record_1): Likewise.
- 	* recog.c (register_operand): Likewise.
- 	* simplify-rtx.c (simplify_subreg): Likewise.
- 	* hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
- 	CANNOT_CHANGE_MODE_CLASS.
- 	* regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
- 	Likewise.
- 	* reload.c (push_reload): Likewise.
- 	* alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* mips-protos.h (mips_cannot_change_mode_class): Update prototype.
- 	* mips.c (mips_cannot_change_mode_class): Update.
- 	* pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
- 	* sh-protos.h (sh_cannot_change_mode_class): Update prototype.
- 	* sh.c (sh_cannot_change_mode_class): Update.
- 	* i386.h (CANNOT_CHANGE_MODE_CLASS): New.
- 	* tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
- 
- 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
- 	change to LINK_COMMAND_SPEC in gcc.c.
- 
- 2003-01-31  Jan Hubicka  <jh@suse.cz>
- 
- 	PR c/9506
- 	* i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
- 
- 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
- 	duplicated code.
- 
- 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
- 	(BINFO_ELTS): New #define.
- 	* stor-layout.c (finalize_record_size): Don't set them.
- 	* cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
- 	BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
- 	(BINFO_LANG_ELTS): New #define.
- 	* cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
- 	* java/class.c (make_class): Use BINFO_ELTS.
- 	(set_super_info): Likewse.
- 	(add_interface_do): Likewise.
- 	* objc/objc-act.c (start_class): Use BINFO_ELTS.
- 
- 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
- 
- 	* timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
- 	(times): Don't ever declare if not HAVE_TIMES.
- 	(clock): Don't ever declare if not HAVE_CLOCK.
- 
- 2003-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* flow.c (update_life_info): Zap life info after cleanup_cfg.
- 	(regno_uninitialized): Use correct live at function entry set.
- 	(regno_clobbered_at_setjmp): Likewise.
- 
- 	* expr.c (store_expr): Promote all MEM intermediates to regs.
- 
- 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm.c: Fix comment typos.
- 	* config/arm/arm.h: Likewise.
- 	* config/arm/netbsd-elf.h: Likewise.
- 	* config/arm/netbsd.h: Likewise.
- 
- 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (struct walk_type_data): Add needs_cast_p.
- 	(walk_type): Set needs_cast_p in walk_type_data.
- 	(write_types_process_field): Supply casts when required to suppress
- 	warnings.
- 	(write_root): Cast gt_pch_n_S to suppress warning.
- 	* Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
- 	* config/rs6000/rs6000.c (print_operand): Mask off high bits only
- 	when they might exist.
- 	* config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
- 	insn-conditions.o, and rs6000.o.
- 
- 2003-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* ggc-page.c (G.context_depth_allocations): New.
- 	(G.context_depth_collections): New.
- 	(alloc_page): Set G.context_depth_allocations.
- 	(ggc_collect): Set G.context_depth_collections.
- 	(ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
- 	(ggc_pop_context): Early exit for no allocations or collections.
- 
- 2003-01-30  Richard Henderson  <rth@redhat.com>
- 
- 	* tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
- 
- 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_compute_initial_elimination_offset): If optimizing for
- 	size, the link register is always saved if any other register is
- 	saved.
- 
- 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Update the prototype for
- 	compute_plussi_cc.
- 	(cpp_reader): Declare before it is used.
- 	* config/h8300/h8300.c (compute_plussi_cc): Change the return
- 	type to int.
- 	* config/h8300/h8300.md (monitor_prologue): Call abort() if we
- 	see an unknown H8 variant.
- 
- 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
- 
- 	PR target/9316
- 	* config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
- 	* config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
- 	* config/rs6000/t-rtems: New file. multilib variants to match OS.
- 	* config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
- 	rs6000/t-ppcgas so we get the desired multilibs.
- 
- 2003-01-30  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (arm_output_epilogue): Update stack pointer
- 	when popping saved IP register off the stack.
- 
- 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/rs6000/aix43.h: Fix comment typos.
- 	* config/rs6000/aix51.h: Likewise.
- 	* config/rs6000/aix52.h: Likewise.
- 	* config/rs6000/altivec.h: Likewise.
- 	* config/rs6000/rs6000.c: Likewise.
- 	* config/rs6000/rs6000.h: Likewise.
- 	* config/rs6000/rs6000.md: Likewise.
- 	* config/rs6000/spe.md: Likewise.
- 
- 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
- 
- 	* c-common.c (builtin_define_float_constants): Define
- 	__<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
- 
- 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/sh/lib1funcs.asm: Fix comment typos.
- 	* config/sh/linux.h: Likewise.
- 	* config/sh/sh.c: Likewise.
- 	* config/sh/sh.md: Likewise.
- 
- 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
- 
- 	* objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
- 
- 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/fp-bit.h (__make_dp): Declare if TMODES.
- 
- 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (PREDICATE_CODES): Add entries for
- 	general_operand_src and general_operand_dst.
- 
- 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (function_arg_pass_by_reference):
- 	Return true for variable sized types.
- 	(rs6000_va_arg): Handle variable sized types passed by reference
- 	on non-SVR4 ABI.
- 
- 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_legtimize_address): New function.
- 	* arm-protos.h (arm_legtimize_address): Add prototype.
- 	* arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
- 	(LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
- 	do ... while (0)
- 
- 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
- 
- 	PR bootstrap/9296
- 	* gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
- 	depended on it being defined until now.
- 
- 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
- 
- 	PR target/9295
- 	* config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
- 	RTEMS code knows which C++ initialization style the toolset
- 	configuration is using.
- 
- 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
- 
- 	PR bootstrap/9293
- 	* config/m68k/t-crtstuff: Replace spaces with tabs, add
- 	 $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
- 
- 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
- 
- 	PR bootstrap/9292
- 	* config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
- 	RTEMS threads.
- 	* config/pa/rtems.h (LIB_SPEC): Use -N when linking.
- 
- 2003-01-29  Nick Clifton  <nickc@redhat.com>
- 
- 	* Makefile.in (c-parse.o): Locate source file in $(parsedir)
- 	not $(srcdir).
- 
- 2003-01-29  Andrew Haley  <aph@redhat.com>
- 
- 	* tree-inline.c (walk_tree): Add CHAR_TYPE.
- 
- 2003-01-29  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (subdi3_carry_rex64): Fix typo.
- 
- 2003-01-28  Stan Shebs  <shebs@apple.com>
- 
- 	* coretypes.h (cpp_reader): Forward declare struct.
- 	* c-pragma.h (cpp_reader): Remove forward declaration.
- 	* hashtable.h (cpp_reader): Likewise.
- 	* scan.h (cpp_reader): Likewise.
- 	* tree.h (cpp_reader): Likewise.
- 	* config/darwin-protos.h (cpp_reader): Likewise.
- 	* config/arm/arm-protos.h (cpp_reader): Likewise.
- 	* config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
- 	struct cpp_reader in prototypes.
- 
- 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
- 
- 	* doc/install.texi: Add documentation for installation into
- 	tooldirs and with DESTDIR.
- 
- 2003-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config.gcc (ia64*-*-aix*): Remove.
- 	* config/ia64/aix.h, config/ia64/t-aix: Remove file.
- 	* config/ia64/unwind-aix.c: Remove file.
- 
- 2003-01-28  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/m68k/m68k.md (tablejump+2): Don't sign extend an address
- 	register.
- 	* config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
- 	* config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
- 
- 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* combine.c (nonzero_bits): Fix check for negative divide operands.
- 
- 2003-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
- 	* config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
- 
- 2003-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* cse.c (find_best_addr): Kill !ADDRESS_COST code.
- 
- 	* config/cris/cris.c (cris_address_cost): Make static.
- 	(TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
- 	* config/cris/cris.h (ADDRESS_COST): Remove.
- 	* config/cris/cris-protos.h: Update.
- 
- 2003-01-23  Mike Stump  <mrs@apple.com>
- 
- 	* regclass.c (init_reg_autoinc): New function.
- 	(regclass): Move initialization of forbidden_inc_dec_class from
- 	here...
- 	(init_regs): to here.  Avoids reinitialization for each function,
- 	saving compilation time.
- 
- 2003-01-28  Jason Merrill  <jason@redhat.com>
- 
- 	* cpplib.h (struct cpp_options): Add warn_deprecated field.
- 	* cppinit.c (cpp_create_reader): Turn it on by default.
- 	* c-opts.c (c_common_decode_option): Set it.
- 	* cpplib.c (do_pragma_once): Only complain about #pragma once
- 	if warn_deprecated is set.
- 
- 2003-01-28  Dale Johannesen  <dalej@apple.com>
- 
- 	* emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
- 	* loop.c (scan_loop):  Move movables on -Os rich-register targets.
- 	* config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
- 
- 2003-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* target.h (targetm.address_cost): New.
- 	* target-def.h (TARGET_ADDRESS_COST): New.
- 	(TARGET_RTX_COSTS): Uncomment.  Oops.
- 	* cse.c (address_cost): Use new target hook.
- 	(default_address_cost): New.
- 	* output.h (default_address_cost): Declare.
- 	* hooks.c (hook_int_rtx_0): New.
- 	* hooks.h (hook_int_rtx_0): Declare.
- 	* loop.c (combine_givs_p): Remove if 0 code.
- 	* system.h (ADDRESS_COST): Poison.
- 
- 	* config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
- 	config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
- 	config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
- 	config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
- 	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
- 	config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
- 	config/xtensa/xtensa.c, config/xtensa/xtensa.h
- 	(TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
- 	(ADDRESS_COST): Remove.
- 
- 	* config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
- 	config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
- 	config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
- 	config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
- 	config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
- 	config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
- 	config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
- 	config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
- 	config/mips/mips.c, config/mips/mips.h,
- 	config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
- 	config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
- 	config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
- 	config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
- 	config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
- 	config/vax/vax.c, config/vax/vax.h
- 	(foo_address_cost): Make static.
- 	(TARGET_ADDRESS_COST): New.
- 	(ADDRESS_COST): Remove.
- 
- 	* config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
- 	config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
- 	config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
- 	config/stormy16/stormy16.h
- 	(ADDRESS_COST): Move code ...
- 	(foo_address_cost): ... here.
- 	(TARGET_ADDRESS_COST): New.
- 
- 	* config/m32r/m32r.c (m32r_address_cost): Remove.
- 	* config/m32r/m32r-protos.h: Update.
- 
- 	* config/mmix/mmix.c (mmix_address_cost): Remove.
- 	* config/mmix/mmix-protos.h: Update.
- 
- 	* config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
- 	mn10300_address_cost; move unsig allocation ...
- 	(mn10300_address_cost): ... here.
- 	(TARGET_ADDRESS_COST): New.
- 	* config/mn10300/mn10300-protos.h: Update.
- 	* config/mn10300/mn10300.h (ADDRESS_COST): Remove.
- 
- 	* doc/tm.texi: Update.
- 
- 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (schedule_insn): Return necessary cycle advance
- 	after issuing the insn.
- 	(rank_for_schedule): Make a insn with /S the highest priority
- 	insn.
- 	(move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
- 	(choose_ready): Check SCHED_GROUP_P.
- 	(schedule_block): Advance cycle after issuing insn if it is
- 	necessary.  Don't reorder insns if there is an insn with /S.
- 	(set_priorities): Ignore schedule groups.
- 
- 	* sched-deps.c (remove_dependence, group_leader): Remove the
- 	functions.
- 	(add_dependence): Ignore schedule groups.
- 	(set_sched_group_p): Don't make copy of dependencies from previous
- 	insn of the schedule group.  Add anti-dependency to the previous
- 	insn of the schedule group.
- 	(compute_forward_dependences): Ignore schedule groups.
- 
- 	* sched-ebb.c (init_ready_list): Ignore schedule groups.
- 
- 	* sched-rgn.c (init_ready_list): Ditto.
- 	(can_schedule_ready_p): Ditto.
- 
- 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
- 	register to another one.
- 
- 2003-01-28  Richard Henderson  <rth@redhat.com>
- 
- 	* calls.c (default_must_pass_in_stack): Fix typo in !type case.
- 
- 2003-01-28  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
- 
- 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
- 	class contains a floating-point register, return the size of the
- 	mode in half words.
- 
- 2003-01-28  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_carry_flag_operator):  New predicate.
- 	(fcmov_operator): Fix whitespace.
- 	(ix86_expand_carry_flag_compare):  Deal with floating point.
- 	(ix86_expand_int_movcc): Deal with fp; update insn expansion
- 	(ix86_expand_int_addcc): Likewise.
- 	(ix86_expand_strlensi_unroll_1): likewsie.
- 	* i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
- 	* i386.md (add?i_carry_rex64): Use new predicate.
- 	(sub?i3_carry_rex64): Likewise.
- 	(x86_mov?icc_0_m1*): Likewise.
- 
- 2003-01-28  Andreas Schwab  <schwab@suse.de>
- 
- 	* cfgloopmanip.c (create_preheader): Initialize src to avoid
- 	warning.
- 
- 	* expmed.c (emit_store_flag): Fix cast to avoid sign
- 	comparison warning.
- 
- 	* combine.c (force_to_mode): Add cast to fix warning when
- 	STORE_FLAG_VALUE is negative.
- 
- 2003-01-27  Richard Henderson  <rth@redhat.com>
- 
- 	* Makefile.in (cse.o): Depend on TARGET_H.
- 	* cse.c (rtx_cost): Use targetm.rtx_costs.
- 	* system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
- 	* doc/tm.texi: Update.
- 
- 	* target.h (targetm.rtx_costs): New.
- 	* target-def.h (TARGET_RTX_COSTS): New.
- 	* hooks.c (hook_bool_rtx_int_int_intp_false): New.
- 	* hooks.h: Update.
- 
- 	* config/alpha/alpha.c (alpha_rtx_cost_data): New.
- 	(alpha_rtx_costs, TARGET_RTX_COSTS): New.
- 	* config/alpha/alpha.h (PROCESSOR_MAX): New.
- 	(CONST_COSTS, RTX_COSTS): Remove.
- 
- 	* config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
- 	config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
- 	config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
- 	config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
- 	config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
- 	config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
- 	config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
- 	config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
- 	config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
- 	config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
- 	config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
- 	config/mn10200/mn10200.h, config/mn10300/mn10300.c,
- 	config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
- 	config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
- 	config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
- 	config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
- 	config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
- 	config/stormy16/stormy16.c, config/stormy16/stormy16.h,
- 	config/v850/v850.c, config/v850/v850.h,
- 	config/xtensa/xtensa.c, config/xtensa/xtensa.h
- 	(CONST_COSTS, RTX_COSTS): Move code ...
- 	(foo_rtx_costs, TARGET_RTX_COSTS): ... here.
- 
- 	* config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
- 	(arm_rtx_costs, TARGET_RTX_COSTS): New.
- 	* config/arm/arm-protos.h: Update.
- 	* config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
- 
- 	* config/avr/avr.h (CONST_COSTS): Move code ...
- 	* config/avr/avr.c (avr_rtx_costs): ... here.
- 	(default_rtx_costs): Make static.
- 	* config/avr/avr-protos.h: Update.
- 
- 	* config/h8300/h8300.c (const_costs): Make static.
- 	(h8300_and_costs, h8300_shift_costs): Likewise.
- 	* config/h8300/h8300-protos.h: Update.
- 
- 	* config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
- 	(CONST_COSTS): Move code ...
- 	* config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
- 	default_rtx_costs; update for signature change.
- 	* config/ip2k/ip2k-protos.h: Update.
- 
- 	* config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
- 	(CONST_COSTS): Move code ...
- 	* config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
- 	(TARGET_RTX_COSTS): New.
- 	(m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
- 	* config/m68hc11/m68hc11-protos.h: Update.
- 
- 	* config/m68k/m68k.c (const_int_cost): Make static.
- 	* config/m68k/m68k-protos.h: Update.
- 
- 	* config/mcore/mcore.c (mcore_const_costs): Make static.
- 	(mcore_and_cost, mcore_ior_cost): Likewise.
- 	* config/mcore/mcore-protos.h: Update.
- 
- 	* config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
- 	(mmix_rtx_cost_recalculated): Remove.
- 	* config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
- 	* config/mmix/mmix-protos.h: Update.
- 
- 	* config/sh/sh.c (shiftcosts): Make static.
- 	(addsubcosts, andcosts, multcosts): Likewise.
- 	* config/sh/sh-protos.h: Update.
- 
- 	* config/sparc/sparc.c (TARGET_RTX_COSTS): New.
- 	(sparc_rtx_costs): Make static; update for change in signature.
- 	* config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
- 	* config/sparc/sparc-protos.h: Update.
- 
- 	* config/v850/v850.c (const_costs): Make static.
- 	* config/v850/v850-protos.h: Update.
- 
- 	* config/vax/vax.h (RTX_COSTS): Remove.
- 	(CONST_COSTS): Move code ...
- 	* config/vax/vax.c (vax_rtx_costs_1): ... here; rename
- 	from vax_rtx_cost.
- 	(vax_rtx_costs, TARGET_RTX_COSTS): New.
- 
- 2003-01-27  Richard Henderson  <rth@redhat.com>
- 
- 	* config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
- 	* config/vax/vax-protos.h: Update.  Really.
- 
- 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
- 	(UNITS_PER_FPVALUE): Defined as the width of a long double, or
- 	zero if no hardware floating point.
- 	(LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
- 	(MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
- 	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
- 	(BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
- 	(FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
- 	* config/mips/mips.c (mips_arg_info): Pass TFmode values in
- 	even FP registers on N32 and N64.
- 	(mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
- 	(mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
- 	(mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
- 	even-register-like alignment to 128-bit arguments.
- 	(save_restore_insns): Use UNITS_PER_HWFPVALUE.
- 	(mips_function_value): Likewise.  Return TFmode in $f0 and $f2
- 	on N32 or N64.
- 	* config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
- 	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
- 	(TPBIT): Set to tp-bit.c.
- 	(tp-bit.c): Create out of fp-bit.c.
- 
- 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* c-parse.in: Remove '%expect 32' directive in objc mode.
- 
- 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* Makefile.in (LIB2FUNCS_ST): Remove _gcov.
- 	(LIBGCOV): New variable.
- 	(libgcc.mk): Add LIBGCOV.
- 	(LIBGCC_DEPS): Add libgcov.c.
- 	(libgcov.a): New target.
- 	(clean): Remove libgcov.a.
- 	(install-libgcc): Do libgcov too.
- 	(stage1-start, stage2-start, stage3-start, stage4-start): Deal
- 	with libgcov.a.
- 	* libgcc2.c (L_gcov): Move into ...
- 	* libgcov.c: ... here. New file.
- 	* mklibgcc.in: Add libgcov rules.
- 	* gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
- 
- 	* doc/invoke.texi (profile-arcs, test-coverage): Update and
- 	clarify.
- 
- 	* profile.c (index_counts_file): Remove duplicate check for open file.
- 
- 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* gcc/doc/invoke.texi (Optimization Options): Group together
- 	optional and experimental flags.  Move trapv and bounds-check
- 	out of this section.  Group floating point flags together.
- 	(Code Gen Options): Move trapv and bounds-check to here.
- 
- 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
- 
- 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	PR optimization/9090
- 	* function.c (purge_addressof_1): After pushing an addressed register
- 	onto the stack, simplify the result.
- 
- 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/extend.texi: Fix typo.
- 
- 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/cppopts.texi: Fix typo.
- 	* doc/objc.texi: Likewise.
- 	* doc/passes.texi: Likewise.
- 
- 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* real.c (ibm_extended_format): Add 53 to minimum exponent.
- 	(encode_ibm_extended): Adjust.
- 
- 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
- 
- 	* timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
- 	timevar_id enumerations.
- 
- 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c: Fix formatting.
- 
- 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/gccint.texi: Update the copyright.
- 
- 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* doc/cpp.texi: Fix typos.
- 	* doc/extend.texi: Likewise.
- 	* doc/gty.texi: Likewise.
- 	* doc/install.texi: Likewise.
- 	* doc/passes.texi: Likewise.
- 	* doc/rtl.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 
- 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/ia64/fde-glibc.c: Fix comment typos.
- 	* config/ia64/hpux.h: Likewise.
- 	* config/ia64/ia64.c: Likewise.
- 	* config/ia64/ia64.h: Likewise.
- 	* config/ia64/unwind-ia64.c: Likewise.
- 
- 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/i386/i386-modes.def: Fix comment typos.
- 	* config/i386/i386.c: Likewise.
- 	* config/i386/i386.md: Likewise.
- 
- 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
- 
- 	* config/avr/avr.h, config/cris/aout.h, config/elfos.h,
- 	config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
- 	ASM_FINISH_DECLARE_OBJECT before defining it.
- 	* toplev.c (rest_of_decl_compilation):  Don't define
- 	ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
- 	(rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
- 	parameters for DWARF2 targets because they _are_ used.
- 
- 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* fp-bit.h: Define macros for TFmode floating-point constants
- 	in IBM-extended TFmode types.
- 	(TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
- 	widths.
- 	* config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
- 	TFmode type.
- 
- 	* config/fp-bit.h: Define macros for TFmode floating-point
- 	constants in IEEE quad TFmode type.  Declare functions according
- 	to L_ macros.
- 	(TMODES): Define if __LDBL_MANT_DIG__ is 113.
- 	(TFtype, TItype, UTItype): Define if TMODES is defined.
- 	(MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
- 	(F_T_BITOFF, D_T_BITOFF): Define.
- 	(IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
- 	guaranteed to be wide enough.
- 	* config/fp-bit.c: Check for L_ macros for tf functions.
- 	(__thenan_tf): New.
- 	(nan): Adjust.
- 	(pack_d, unpack_d): Support IEEE 854 quad type.
- 	(_fpmul_parts): Support TFmode.  Compute exponent adjustment
- 	from FRAC_NBITS, FRAC_BITS and NGARDS.
- 	(usi_to_float): Cast constants to be shifted to fractype
- 	instead of assuming long long is wide enough.
- 	(sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
- 
- 2003-01-26  Andreas Jaeger  <aj@suse.de>
- 
- 	* df.c: Remove prototype of unused function df_regno_rtl_debug.
- 
- 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
- 	(DBBIT_FUNCS): Added _df_to_tf.
- 	(TPBIT_FUNCS): New.
- 	(libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
- 	(LIBGCC_DEPS): Added TPBIT.
- 	* mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
- 
- 	* optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
- 	been able to move the result to target.
- 
- 	* expr.c (emit_group_store): Initialize dst with CONST0_RTX
- 	for the appropriate mode.
- 
- 	* calls.c (emit_library_call_value_1): Handle return values
- 	in a PARALLEL.
- 
- 	* rtl.c (get_mode_alignment): Moved to...
- 	* stor-layout.c: ... here.
- 
- 	* print-rtl.c (print_rtx): Don't print MEM details in
- 	GENERATOR_FILEs.
- 
- 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
- 
- 	* df.h: Update comments, tidy formatting.
- 	(DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
- 	REVERSE, UNION, INTERSECTION.  All uses updated.
- 	(OLD_DF_INTERFACE): Remove.
- 	(struct insn_info): Remove commented out insn field.
- 	* df.c: Update comments, tidy formatting.
- 	(df_def_table_realloc): Remove.
- 
- 
- 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* calls.c (save_fixed_argument_area): Tidy.
- 	(restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
- 	(expand_call): Comment typo fixes.  Don't init low_to_save.  Start
- 	call chain loop at 1 if !try_tail_call.  Formatting.
- 	(emit_library_call_value_1): Don't init low_to_save or high_to_save.
- 	Use save_fixed_argument_area and restore_fixed_argument_area.
- 
- 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* df.c (df_uses_record): Handle CC0.
- 
- 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* reload.c (maybe_memory_address_p): New function.
- 	(find_reloads_address): Use it instead of memory_address_p.
- 
- 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* final.c (shorten_branches): Align the address of code label
- 	when computing initial lengths and addresses.
- 
- 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/m68hc11/m68hc11.md: Fix a comment typo.
- 
- 2003-01-25  Andreas Jaeger  <aj@suse.de>
- 
- 	* config/i386/i386.c (x86_output_mi_thunk): Correct test for
- 	TARGET_MACHO.
- 
- 2003-01-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (bypass_last_basic_block): New global variable.
- 	(bypass_block):  Use redirect_edge_and_branch_force to redirect
- 	fall-through edges.  Use bypass_last_basic_block to determine
- 	which blocks have valid PRE information.
- 	(bypass_conditional_jumps): Initialize bypass_last_basic_block.
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* gcse.c (local_cprop_pass): Update reg_sets table when needed.
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
-             Eric Botcazou <ebotcazou@libertysurf.fr>
- 
- 	PR opt/8492
- 	* gcse.c (one_cprop_pass): Delete unreachable blocks.
- 
- 2003-01-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
- 	from ia64_aix_select_rtx_section.
- 	(ia64_rwreloc_select_section): Simlarly; use default*_1 function
- 	instead of saving and restoring flag_pic.
- 	(ia64_rwreloc_unique_section): Similarly.
- 	* config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
- 	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
- 	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
- 	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
- 
- 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
- 	comment.
- 
- 2003-01-25  Richard Henderson  <rth@redhat.com>
- 
- 	* config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
- 
- 2003-01-25  Kelley Cook <kelleycook@comcast.net>
- 
- 	* ggc-simple.c (debug_ggc_tree): Add PTR cast.
- 
- 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
- 
- 	* bitmap.h (BITMAP_WORD): New typedef: fundamental storage
- 	type for bitmaps.  Use unsigned long.
- 	(nBITMAP_WORD_BITS): New macro.
- 	(BITMAP_WORD_BITS): New macro.
- 	(rest of file): Use it.
- 	* bitmap.c: Use it.
- 
- 2003-01-25  Richard Henderson  <rth@redhat.com>
- 
- 	2002-02-19  Robert Lipe  <robertlipe@usa.net>
- 	* config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
- 
- 2003-01-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* builtins.c (purge_builtin_constant_p): Scan insn stream
- 	sequentially rather than by basic block.
- 	* function.c (purge_addressof): Simplify test with INSN_P.
- 
- 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* combine.c (simplify_comparison, case AND): Remove a redundant test.
- 
- 2003-01-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* function.h (struct function): New field calls_constant_p.
- 	(current_function_calls_constant_p): New macro for above.
- 	* function.c (prepare_function_start): Initialize calls_eh_return
- 	and calls_constant_p.
- 	* builtins.c (expand_builtin_constant_p): Set calls_constant_p.
- 	* toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
- 	when the current_function_calls_constant_p.
- 	* integrate.c (expand_inline_function): Set calls_constant_p if
- 	the function being inlined has calls_constant_p set.
- 
- 2003-01-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
- 	optimizing, even if flag_gcse is true.
- 	* toplev.c (rest_of_compilation): purge_builtin_constant_p
- 	only needs to be called when "optimize > 0 && flag_gcse".
- 
- 2003-01-25  Roger Sayle  <roger@eyesopen.com>
- 
- 	* stmt.c (emit_case_bit_tests): New routine to implement suitable
- 	switch statements using the equivalent of "if ((1<<x) & cst) ... ".
- 	(case_bit_test_cmp): New comparison function for "qsort" to order
- 	case_bit_tests by decreasing number of destination nodes.
- 	(lshift_cheap_p): New function to determine if "1 << x" is cheap.
- 	(expand_end_case_type): Use emit_case_bit_tests to implement
- 	suitable switch statments.
- 	(CASE_USE_BIT_TESTS): New target macro to disable the above.
- 	* Makefile.in (stmt.o): Add dependency on optab.h.
- 	* doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
- 
- 2003-01-23  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
- 	__do_global_ctors_aux hidden global and don't put it in
- 	.init_array.
- 	* config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
- 	instead so that it comes first.
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
- 	subreg is read/modify.
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
- 	do libcall for large blocks.
- 	* i386.md (comi patterns): Set type to ssecomi.
- 	(sse2_unpck?pd): Fix mode of vec_select.
- 
- 	* cse.c: Include except.h
- 	(cse_set_around_loop):  Do not create new basic blocks.
- 	* Makefile.in (cse.o): Add dependnecy on except.h
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (fold_trunc_transparent_mathfn): New function.
- 	(fold_builtin): Use it.
- 	* convert.c (convert_to_real): Re-enable code to convert
- 	math functions; add support for floor familly functions.
- 
- 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
- 	dependencies on coretypes.h and $(TM_H).
- 
- 2003-01-25  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
- 
- 2003-01-24  Stuart Hastings  <stuart@apple.com>
- 
- 	* config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
- 
- 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.md (UNSPEC_BU): New constants.
- 	(UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
- 	(UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
- 	(UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
- 	(UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
- 	(UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
- 	(UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
- 	(UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
- 
- 2003-01-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* emit-rtl.c (reg_attrs_htab): New static variable.
- 	(reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
- 	functions.
- 	(reg_rtx): Do not maintain regno_decl.
- 	(gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
- 	set_mem_attrs_from_reg): New global function.
- 	(init_emit): Do not initialize regno_decl.
- 	(init_emit_once): initialize reg_attrs_htab.
- 	* final.c (alter_subreg): Do not replace REG by SUBREG.
- 	(gen_mem_expr_from_op): Improve output.
- 	(output_asm_operands): Likewise.
- 	* function.c (assign_params): Do not set REGNO_DECL.
- 	* function.h (struct function): Kill regno_decl.
- 	(REGNO_DECL): Kill.
- 	* gengtype.c (adjust_field_rtx_def): Handle new field of reg.
- 	* print_rtl.c (print_rtx): Output REG information.
- 	* regclass.c (reg_scan_mark_refs): Update attrs.
- 	* reload1.c (alter_reg): Likewise.
- 	* simplify_rtx.c (simplify_subreg): Likewise.
- 	* stmt.c (expand_decl): Likewise.
- 	* rtl.def (REG): Add new field.
- 	* rtl.h (struct reg_attrs): New.
- 	(rtunion_def): At rtreg.
- 	(X0MEMATTR): Add checking.
- 	(X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
- 	(set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
- 	Declare.
- 	* tree.h (SET_DECL_RTL): Call set_decl_rtl.
- 
- 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config/xtensa/xtensa.c: Remove unused include of machmode.h.
- 	(xtensa_emit_call, print_operand): Fix printf format strings
- 	to avoid compile warnings.
- 	(xtensa_function_prologue, xtensa_function_epilogue): Change type
- 	of "size" argument to HOST_WIDE_INT to fix compile warnings.
- 	* config/xtensa/xtensa-protos.h
- 	(xtensa_function_prologue, xtensa_function_epilogue): Ditto.
- 
- 2003-01-24  Jan Hubicka  <jh@suse.cz>
- 
- 	* builtins.c (DEF_BUILTIN): Accept 10 arguments.
- 	(implicit_built_in_decls): New global array.
- 	(mathfn_built_in): New global function.
- 	(fold_trunc_transparent_mathfn): New static function
- 	(expand_builtin_strstr, expand_bultin_strchr,
- 	expand_builtin_strpbrk, expand_builtin_strcpy,
- 	expand_builtin_strncpy, expand_bultin_strcmp,
- 	expand_bultin_strncat, expand_builtin_fputs): Use
- 	implicint_built_in_decls.
- 	(fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
- 	* builtins.def: Fix comments.
- 	(DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
- 	DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
- 	DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
- 	DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
- 	(DEF_C99_C90RES_BULTIN): New.
- 	(*f, *l builtins): Update.
- 	* c-common.c (DEF_BUILTIN): Initialize implicit array.
- 	(c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
- 	* convert.c (strip_float_extensions): New global function.
- 	* tree.h (DEF_BUILTIN): Accept 10 arguments.
- 	(implicit_built_in_decls, mathfn_built_in, strip_float_extension):
- 	Declare.
- 	* java/builtins.c (define_builtin): Handle implicit.
- 	(DEF_BUILTIN): Update.
- 	* tm.texi (TARGET_C99_FUNCTIONS): Document.
- 	* defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
- 	* config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
- 	when using glibc2.
- 
- 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
- 
- 	* config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
- 	extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
- 	(xtensa-*-linux*): Add xtensa/t-linux tmake_file.
- 	* config/xtensa/crti.asm: New file.
- 	* config/xtensa/crtn.asm: New file.
- 	* config/xtensa/t-elf: New file.
- 	* config/xtensa/t-linux: New file.
- 	* config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
- 	Move various CFLAGS settings to new t-elf file.
- 
- 2003-01-24  Richard Henderson  <rth@redhat.com>
- 
- 	PR optimization/4382
- 	* tree-inline.c (find_builtin_longjmp_call_1): New.
- 	(find_builtin_longjmp_call): New.
- 	(inlinable_function_p): Use it.
- 
- 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
- 	* config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
- 	* config/i386/i386.c (function_arg_pass_by_reference): New.
- 	(ix86_va_arg): Support arguments passed by reference.
- 
- 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloopanal.c: New file.
- 	* cfgloopmanip.c: New file.
- 	* Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
- 	(toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
- 	cfglayout.o): Add dependency on cfgloop.h.
- 	(cfgloop.o): Add flags.h dependency.
- 	* basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
- 	(VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
- 	(struct loop, struct loops, flow_loops_find, flow_loops_update,
- 	flow_loops_free, flow_loops_dump, flow_loop_dump,
- 	flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
- 	LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
- 	LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
- 	flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
- 	loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
- 	find_common_loop, verify_loop_structure): Declarations moved to ...
- 	* cfgloop.h: New file.
- 	* bb-reorder.c (reorder_basic_blocks): Modified.
- 	* cfglayout.c: Include cfgloop.h.
- 	(cleanup_unconditional_jumps, cfg_layout_redirect_edge,
- 	cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
- 	(break_superblocks): New static function.
- 	(cfg_layout_finalize): Use it.
- 	(cfg_layout_split_block): New function.
- 	* cfglayout.h (struct reorder_block_def): Add copy and duplicated
- 	fields.
- 	(cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
- 	changed.
- 	(cfg_layout_split_block): Declare.
- 	* cfgloop.c: Include cfgloop.h and flags.h.
- 	(flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
- 	get_loop_body): Avoid signed versus unsigned comparison warnings.
- 	(make_forwarder_block, flow_loops_find, loop_preheader_edge,
- 	loop_latch_edge): Modified.
- 	(verify_loop_structure): Modified to use flags stored in loop structure;
- 	check irreducible loops.
- 	(cancel_loop, cancel_loop_tree): New functions.
- 	(estimate_probability): Use loop analysis code for predictions.
- 	(estimate_loops_at_level):  Avoid signed versus unsigned comparison
- 	warnings.
- 	* doloop.c: Include cfgloop.h.
- 	* loop.c: Include cfgloop.h.
- 	* predict.c: Include cfgloop.h.
- 	* toplev.c: Include cfgloop.h.
- 	* unroll.c: Include cfgloop.h.
- 	* tracer.c (tracer): Modified.
- 
- 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Fix a typo.
- 
- 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
- 	* configure: Regenerate.
- 
- 	* config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
- 	(tls_symbolic_reference_mentioned_p): Add prototype.
- 	(s390_tls_get_offset): Add prototype.
- 	(emit_pic_move): Remove prototype, replace by ...
- 	(emit_symbolic_move): .. this new prototype.
- 
- 	* config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
- 	(tls_model_chars): New global variable.
- 	(s390_encode_section_info): Encode TLS model.
- 	Use targetm.binds_local_p to check for local symbols.
- 	(s390_strip_name_encoding): New function.
- 	(TARGET_STRIP_NAME_ENCODING): Define.
- 
- 	(get_thread_pointer): New function.
- 	(legitimize_tls_address): New function.
- 	(legitimize_address): Call it.
- 	(emit_pic_move): Remove, replace by ...
- 	(emit_symbolic_move): ... this new function.
- 
- 	(larl_operand): Handle TLS operands.
- 	(legitimate_constant_p): Likewise.
- 	(s390_decompose_address): Likewise.
- 	(s390_cannot_force_const_mem): New function.
- 	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
- 
- 	(s390_output_symbolic_const): Handle TLS unspecs.
- 	(print_operand): New code 'J'.
- 	(machine_function): Add struct member 'some_ld_name'.
- 	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
- 
- 	(enum s390_builtin): New type.
- 	(code_for_builtin_64, code_for_builtin_31): New global variables.
- 	(s390_init_builtins, s390_expand_builtin): New functions.
- 	(TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
- 
- 	* config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
- 	(ASM_OUTPUT_LABELREF): Define.
- 	(ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
- 
- 	* config/s390/s390.md: Define TLS UNSPEC constants.
- 	("movdi", "movsi"): Handle TLS operands.
- 	("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
- 	("*tls_load_64", "*tls_load_31"): New insns.
- 	("call_value_tls", "call_value_tls_exp"): New expanders.
- 	("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
- 	"bas_tls_64", "bas_tls_31"): New insns.
- 
- 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
- 
- 	* config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
- 	spe ABI is configured, if requested.
- 
- 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/passes.texi: Fix typo.
- 
- 2003-01-24  Andreas Schwab  <schwab@suse.de>
- 
- 	* stor-layout.c (excess_unit_span): Only define if used.
- 
- 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
- 
- 	* gcc/doc/invoke.texi (Optimization Options): List -O levels
- 	for each optimization flag.
- 
- 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
- 
- 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	* doc/bugreport.texi: Use @command instead of @code for commands.
- 	* doc/collect2.texi: Likewise.
- 	* doc/headerdirs.texi: Likewise.
- 	* doc/invoke.texi: Likewise.
- 	* doc/standards.texi: Likewise.
- 	* doc/tm.texi: Likewise.
- 	* doc/trouble.texi: Likewise.
- 
- 2003-01-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.c (use_return_insn): Do not use a single return
- 	instruction for interrupt handelrs which have to create a stack
- 	frame.
- 	(arm_expand_prologue): Do not pre-bias the return address of
- 	interrupt handlers which create a stack frame.
- 
- 2003-01-24  Nick Clifton  <nickc@redhat.com>
- 
- 	* Add sh2e support:
- 
- 	2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
- 
- 		* config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
- 		med_cbranches.  Fix logic in short_cbranches.
- 
- 	2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
- 
- 		* config/sh/sh.md (delay for cbranch): Don't annul delay
- 		slots on SH2e.
- 		* config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
- 		cbranch with unfilled delay slot on SH2e.
- 		(output_branch): Fill with a nop the delay slot of a
- 		branch that required a delay slot but didn't get one.
- 
- 	2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
- 
- 		* doc/invoke.texi (SH options): Document -m2e.
- 		* config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
- 		* config/sh/lib1funcs.asm: Likewise.
- 		* config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
- 		* config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
- 		not __sh1__.
- 		(CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
- 		SH2E up.
- 		(SH3E_BIT): Renamed to...
- 		(SH_E_BIT): ... this.  Replace all uses.
- 		(TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
- 		Replace all uses of TARGET_SH3E with TARGET_SH2E.
- 		(TARGET_SWITCHES): Added 2e.
- 		(OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
- 		(processor_type): Added PROCESSOR_SH2E.
- 		* config/sh/sh.md: Replace all uses of TARGET_SH3E with
- 		TARGET_SH2E, except in sqrtsf2_i.
- 		(attribute cpu): Added sh2e.
- 		* config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
- 		(MULTILIB_MATCHES): Use m2e multilib for m3e.
- 		* config.gcc: Add sh2e target support.
- 
- 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
- 
- 	Rename -W to -Wextra.
- 	* c-decl.c:  Update comments.
- 	* c-typeck.c:  Likewise.
- 	* flags.h:  Likewise.
- 	* function.c:  Likewise.
- 	* stmt.c:  Likewise.
- 	* toplev.c:  Update comments.
- 	(W_options):  Add 'extra'.
- 	(display_help):  Remove '-W'.
- 	(decode_W_option):  Special warn_uninitialized treatment in the case
- 	of -Wextra.
- 	* doc/invoke.texi:  Update with new entries.
- 
- 2003-01-23  Richard Henderson  <rth@redhat.com>
- 
- 	* ifcvt.c (noce_process_if_block): Re-add check vs X being changed
- 	in no-else-block case.  Add commentary.
- 
- 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Revert last change.
- 
- 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* configure.in: Don't include ansidecl.h in tconfig.h.
- 	* gcov-io.h (PARAMS, ATTRIBUTE_UNUSED): Define if IN_LIBGCC2.
- 	* unwind-dw2-fde.h (last_fde): Use __attribute__, not
- 	ATTRIBUTE_UNUSED.
- 
- 	* configure: Regenerate.
- 
- 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
- 
- 	PR java/6748
- 	* config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
- 	regs->nip. Fix rt_sigreturn frame layout. Add support for newer
- 	kernels.
- 
- 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
- 
- 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* genattrtab.c (write_attr_get): Mark 'insn' paramter
- 	as ATTRIBUTE_UNUSED.
- 
- 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (thumb_base_register_rtx_p): New function.
- 	(thumb_index_register_rtx_p): New function.
- 	(thumb_legitimate_address_p): New function.
- 	(thumb_legitimate_offset_p): New function.
- 	* arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
- 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
- 	definitions.
- 	(THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
- 	(THUMB_LEGITIMATE_OFFSET): Delte.
- 	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
- 	* arm-protos.h (thumb_legitimate_address_p): Add prototype.
- 	(thumb_legitimate_offset_p): Likewise.
- 
- 2003-01-23  Andreas Schwab  <schwab@suse.de>
- 
- 	* unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
- 
- 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* fixinc/Makefile.in (FL_LIST): Revert last change.
- 
- 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
- 
- 	PR other/7341
- 	* invoke.texi (ftest-coverage): Fix broken cross-reference.
- 	Change @code to @command for gcov command.
- 
- 	* gcc.texi: Adjust title of gcov section.
- 	Adjust copyright.
- 	* gcov.texi: Likewise.
- 
- 2003-01-22  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR optimization/8423
- 	* cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
- 	its argument is constant, or 0 if !flag_gcse.
- 	* simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
- 	if it's argument is constant.
- 	* gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
- 	(hash_scan_set): Don't record CONSTANT_P_RTX expressions.
- 	(do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
- 	* builtins.c (purge_builtin_constant_p): New function to force
- 	instantiation of any remaining CONSTANT_P_RTX nodes.
- 	* rtl.h (purge_builtin_constant_p): Prototype here.
- 	* toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
- 	pass after GCSE and before loop.
- 	(flag_gcse): No longer static.
- 	* flags.h (flag_gcse): Prototype here.
- 
- 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
- 	introduced by last change.
- 
- 2003-01-22  Andreas Schwab  <schwab@suse.de>
- 
- 	* ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
- 
- 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
- 	request a scratch reg on H8S when the shift count is 8.
- 
- 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* config/s390/s390-protos.h (preferred_la_operand_p):
- 	Remove second parameter.
- 	* config/s390/s390.c (preferred_la_operand_p): Likewise.
- 	* config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
- 	(HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
- 	* config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
- 	Add peepholes to transform ADD to LOAD ADDRESS.
- 
- 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.c (arm_address_register_rtx_p): New function.
- 	(arm_legitimate_address_p): New function.
- 	(arm_legitimate_index_p): New function.
- 	(legitimize_pic_address): Use arm_legitimate_index_p.
- 	* arm-protos.h (arm_legtimate_address_p): Add prototype.
- 	* arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
- 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
- 
- 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
- 	* config/s390/2064.md (define_bypass): Correct 'Load' and
- 	'Load-address' bypass values.
- 
- 2003-01-22  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
- 
- 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genautomata.c (output_internal_insn_latency_func,
- 	output_print_reservation_func): Short circuit when there is no
- 	automaton to generate code for.
- 
- 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
- 	(df.o): Delete duplicate dependency on coretypes.h $(TM_H).
- 
- 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* config/rs6000/rs6000.md: Remove warning.
- 	(builtin_setjmp_receiver): Likewise.
- 	* config/darwin.c (update_stubs): Slightly improve terrible hack
- 	with identifiers.  Add comment pointing out problems with it.
- 	(update_non_lazy_ptrs): Likewise.
- 
- 2003-01-21  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (lookup_filename): Fix printf format warning.
- 	* system.h (fread_unlocked, fwrite_unlocked): Undef.
- 
- 	* fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
- 	(fixincl.o-warn, gnu-regex.o-warn): New.
- 	* fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
- 	* fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
- 	* fixinc/fixincl.c (process): Fix printf format warning.
- 
- 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* dwarf2out (output_file_names): Don't crash if called
- 	with empty file_table.
- 
- 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genautomata.c (output_internal_insn_latency_func): Add
- 	missing break statement to generated code.
- 
- 2003-01-21  Roger Sayle  <roger@eyesopen.com>
- 
- 	* stmt.c (same_case_target_p): New function to determine whether
- 	two case labels branch to the same target.  Split out from...
- 	(group_case_nodes): ... here.  Use same_case_target_p instead.
- 	(strip_default_case_nodes): Remove explicit case nodes
- 	that branch to the default destination.
- 	(expand_end_case_type): Call strip_default_case_nodes after
- 	group_case_nodes, to simplify the case-list before we count it.
- 	Only generate table_label RTX when actually needed.  Try to share
- 	thiscase->exit_label and thiscase->data.case_stmt.default_label
- 	when a switch has no explicit default case.  Simplify test for
- 	constant index.
- 
- 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
- 	\t.
- 	(*negsf2_h8300hs): Likewise.
- 	(*addsi3_lshiftrt_16_zexthi): Likewise.
- 	(*iorhi3_lshiftrt_8): Likewise.
- 
- 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
- 
- 	* dwarf2out.c (fde_table_in_use): Mark GTY.
- 	(dwarf2out_cfi_label_num): New variable, marked GTY.
- 	(dwarf2out_cfi_label): Use it instead of static label_num.
- 	* emit-rtl.c (label_num): Mark GTY.
- 
- 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_plussi): Support H8/300.
- 	(compute_plussi_length): Likewise.
- 	(compute_plussi_cc): Likewise.
- 	* config/h8300/h8300.md (addsi_h8300): Use output_plussi to
- 	output assembly instructions.
- 
- 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* calls.c (fix_unsafe_tree): Prototype.
- 
- 	* Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
- 	(gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
- 	insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
- 	c-parse.o-warn): Add -Wno-error.
- 	(STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
- 
- 	* configure.in (--enable-werror): Add new flag.
- 	* doc/install.texi (--enable-werror): Document.
- 	* configure: Regenerate.
- 
- 	* objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
- 
- 2003-01-21  Andreas Schwab  <schwab@suse.de>
- 
- 	* genautomata.c (output_internal_insn_latency_func): Fix missing
- 	close paren in output.
- 
- 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* genautomata.c: Space savings in generated code:
- 	(output_dfa_insn_code_func): Split out the table-enlargement
- 	path to an out-of-line static function, dfa_insn_code_enlarge.
- 	(output_internal_insn_latency_func): Use a lookup table for the
- 	default latencies.
- 	(output_print_reservation_func): Use a lookup table for the
- 	strings.
- 
- 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
- 
- 	PR opt/7507
- 	* calls.c (fix_unsafe_tree): Split out from ...
- 	(expand_call): ... here.  Use it on the function address too.
- 
- 2003-01-20  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (default_must_pass_in_stack): Move decl outside ifdef.
- 
- 2003-01-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/7154
- 	* stmt.c (expand_asm_operands): Validize memory operands.
- 
- 2003-01-20  Richard Henderson  <rth@redhat.com>
- 
- 	PR opt/8848
- 	* ifcvt.c (noce_process_if_block): Correct arguments to
- 	modified_between_p for no-else-block case.
- 
- 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (const_costs): Remove a warning.
- 	(output_plussi): Likewise.
- 	(compute_plussi_length): Likewise.
- 	(compute_plussi_cc): Likewise.
- 
- 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (addsi_h8300): Remove the last
- 	alternative.
- 
- 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (get_shift_alg): Remove redundant code.
- 
- 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* system.h (__NO_STRING_INLINES): Define.
- 
- 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
- 
- 	* ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
- 	is not a scalar int mode.
- 
- 2003-01-20  Roger Sayle  <roger@eyesopen.com>
- 
- 	* cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
- 	insn's notes following a substitution inside a libcall.
- 
- 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* configure.in: Check for system-provided 'uchar' type.
- 	* configure, config.in: Regenerate.
- 	* cpphash.h: Only typedef 'uchar' if the system doesn't.
- 
- 2003-01-20  Richard Henderson  <rth@redhat.com>
- 
- 	* expr.h (MUST_PASS_IN_STACK): Move implementation...
- 	* calls.c (default_must_pass_in_stack): ... here.
- 
- 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
- 
- 	* genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
- 
- 	* genattr.c (main): Output default definition of AUTOMATON_ALTS.
- 	Wrap up definition of `insn_alts'.
- 
- 	* genattrtab.c (main): Wrap up `insn_alts'.
- 
- 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
- 	prototyping.
- 	* configure.in: Check for <ldfcn.h> and ldgetname() prototype.
- 
- 	* config.in, configure: Regenerate.
- 
- 2003-01-20  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/arm/arm.md (sibcall_epilogue): Add an
- 	UNSPEC_PROLOGUE_USE to prevent the link register from being
- 	considered dead.
- 
- 2003-01-20  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
- 
- 2003-01-20  Andreas Schwab  <schwab@suse.de>
- 
- 	* system.h: Don't declare strsignal if the decl test hasn't been
- 	run yet.
- 
- 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (notice_update_cc): Don't assume that
- 	recog_data.operands[0] is always associated with cc0.
- 
- 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* collect2.c (ldgetname): Expand declaration to prototype.
- 	* read-rtl.c (atoll): Add prototype.
- 	* system.h (strsignal): Also declare if no declaration found.
- 
- 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config.gcc (mips64*-*-linux*): Added.
- 	* config/mips/linux64.h, config/mips/t-linux64: New file.
- 	* config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
- 	* config/mips/mips.c (override_options): Use it.
- 	* config/mips/mips.h (TARGET_SWITCHES): Added...
- 	(SUBTARGET_TARGET_SWITCHES): New, empty by default.
- 	* Makefile.in (SPECS): New.
- 	(STAGESTUFF, specs, mostlyclean, install-common): Use it.
- 	* gcc.c (process_command): Move self-spec processing past spec
- 	file loading.
- 	* doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
- 	* doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
- 	CRTSTUFF_T_CFLAGS.
- 	(SPECS): Document.
- 	* doc/invoke.texi (-mabi-fake-default): Document.
- 
- 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
- 	z_reg, z_reg_qi): Declare static and GTY().
- 	(da_reg): Remove.
- 	(create_regs_rtx): Don't create da_reg.
- 	("gt-m68hc11.h"): Include for GTY roots.
- 	* config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
- 	and GTY() here.
- 	(m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
- 	(m68hc11_soft_tmp_reg): Likewise.
- 	* config/m68hc11/m68hc11-protos.h: Remove above declarations.
- 
- 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* basic-block.h: Fix comment formatting.
- 	* calls.c: Likewise.
- 	* combine.c: Likewise.
- 	* convert.c: Likewise.
- 	* gcov.c: Likewise.
- 	* haifa-sched.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* loop.c: Likewise.
- 	* profile.c: Likewise.
- 	* system.h: Likewise.
- 
- 2003-01-18  Roger Sayle  <roger@eyesopen.com>
- 
- 	* config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
- 
- 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ra-build.c (undef_to_size_word): Avoid `switch' warning.
- 
- 2003-01-17  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
- 	  (*floatunssidf2_internal):  Ditto.
- 
- 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* alias.c: Fix comment typos.
- 	* basic-block.h: Likewise.
- 	* c-common.c: Likewise.
- 	* c-common.h: Likewise.
- 	* c-decl.c: Likewise.
- 	* c-opts.c: Likewise.
- 	* c-pragma.c: Likewise.
- 	* c-pretty-print.h: Likewise.
- 	* cfg.c: Likewise.
- 	* cfganal.c: Likewise.
- 	* cfgbuild.c: Likewise.
- 	* cfgcleanup.c: Likewise.
- 	* cfglayout.c: Likewise.
- 	* cfgrtl.c: Likewise.
- 	* convert.c: Likewise.
- 	* cpphash.h: Likewise.
- 	* cpplex.c: Likewise.
- 	* cpplib.h: Likewise.
- 	* df.h: Likewise.
- 	* diagnostic.c: Likewise.
- 	* diagnostic.h: Likewise.
- 	* dwarf2.h: Likewise.
- 
- 2003-01-17  Stan Shebs  <shebs@apple.com>
- 
- 	* config/darwin-protos.h: Forward-declare struct cpp_reader.
- 
- 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/alpha/alpha.c (alpha_need_linkage): Fix obvious
- 	mistake in last checkin.
- 
- 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* et-forest.c: Fix comment typos.
- 	* et-forest.h: Likewise.
- 	* except.c: Likewise.
- 	* expr.c: Likewise.
- 	* flags.h: Likewise.
- 	* flow.c: Likewise.
- 	* gcc.c: Likewise.
- 	* gcse.c: Likewise.
- 	* genattrtab.c: Likewise.
- 	* genautomata.c: Likewise.
- 	* gengtype.c: Likewise.
- 	* genrecog.c: Likewise.
- 	* global.c: Likewise.
- 	* gthr-rtems.h: Likewise.
- 
- 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* i386.c (x86_function_profiler): Fix format specifier.
- 
- 2003-01-17  Richard Henderson  <rth@redhat.com>
- 
- 	* gengtype.c (walk_type): Allow paramN_is.
- 
- 2003-01-17  Nick Clifton  <nickc@redhat.com>
- 
- 	* config/i960/t-960bare (i960-c.o): Add missing newline escape.
- 
- 2003-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
- 
- 2003-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
- 	(alpha_next_sequence_number): Likewise.
- 	(alpha_this_literal_sequence_number): Likewise.
- 	(alpha_this_gpdisp_sequence_number): Likewise.
- 	(struct alpha_funcs, alpha_funcs_num): Likewise.
- 	(struct alpha_links): Fix branch merge error.
- 	(alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
- 
- 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/mips/mips.h: Don't use #elif.  Reported by Kaveh
- 	R. Ghazi.
- 
- 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* ifcvt.c: Fix comment typos.
- 	* lcm.c: Likewise.
- 	* libgcc2.c: Likewise.
- 	* local-alloc.c: Likewise.
- 	* loop.c: Likewise.
- 	* predict.c: Likewise.
- 	* ra-build.c: Likewise.
- 	* ra.c: Likewise.
- 	* ra-colorize.c: Likewise.
- 	* ra.h: Likewise.
- 	* ra-rewrite.c: Likewise.
- 	* regmove.c: Likewise.
- 	* reload.h: Likewise.
- 	* rtlanal.c: Likewise.
- 	* toplev.c: Likewise.
- 	* tree.h: Likewise.
- 	* unwind-dw2-fde-glibc.c: Likewise.
- 	* vmsdbgout.c: Likewise.
- 
- 2003-01-16  Richard Henderson  <rth@redhat.com>
- 
- 	* dwarf2out.c (struct file_table): Remove.
- 	(FILE_TABLE_INCREMENT): Remove.
- 	(file_table): Make a varray; mark for GC.  Update all users.
- 	(file_table_last_lookup_index): Extract from struct file_table.
- 	(output_file_names): Fix unsigned compare warnings.
- 	(add_name_attribute): Remove inline marker.
- 	(add_comp_dir_attribute): Split out from gen_compile_unit_die.
- 	(lookup_filename): Don't manage size of file_table.
- 	(init_file_table): Allocate file_table with GC.
- 	(dwarf2out_init): Don't record main_input_filename here.
- 	(dwarf2out_finish): Do it here instead.
- 
- 2003-01-16  Bruce Korb  <bkorb@gnu.org>
- 
- 	* gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
- 
- 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
- 	instead of rotldi3_mextr.
- 
- 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (move_insn): Restore moving all schedule group.
- 	(set_priorities): Restore taking SCHED_GROUP_P into account.
- 
- 	* sched-deps.c (add_dependence): Restore processing the last group
- 	insn.
- 	(remove_dependence, group_leader): Restore the functions.
- 	(set_sched_group_p): Restore adding dependencies from previous insn
- 	in the group.
- 	(compute_forward_dependences): Restore usage of group_leader.
- 
- 	* sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
- 	account.
- 
- 	* sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
- 	account.
- 	(can_schedule_ready_p): Ditto.
- 	(add_branch_dependences): Restore skipping over the group insns.
- 
- 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
- 	68HC12 pre/post inc/dec side effects.
- 
- 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (MASK_M6812): Define.
- 
- 2003-01-16  J"orn Rennecke <amylaar@onetel.net.uk>
- 
- 	* sh.md (mshflo_w_x): Fix description of operation.
- 
- 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* config/rs6000/rs6000.h: Mention Altivec registers in
- 	commentary.  Fix typo.
- 
- 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.md (movti_string): Remove clobber.
- 	* config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
- 	generate PARALLEL with clobber for TARGET_POWER.
- 
- 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* ra-colorize.c (colorize_one_web): Initialize variable.
- 	* regmove.c (fixup_match_1): Likewise.
- 	* reload1.c (reload_as_needed): Likewise.
- 	* sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
- 
- 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
- 
- 	* cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
- 
- 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* dbxout.c (lastfile, cwd): Fix `unused' warning.
- 	* dwarf2out.c (fde_table_in_use, current_funcdef_fde,
- 	dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
- 	is_main_source, file_table, decl_die_table_in_use,
- 	abbrev_die_table_in_use, line_info_table_in_use,
- 	separate_line_info_table_in_use, pubname_table_in_use,
- 	arange_table_in_use, ranges_table_in_use,
- 	current_function_has_inlines): Likewise.
- 	* flow.c (life_analysis): Likewise.
- 	* genemit.c (gen_insn): Likewise.
- 	* protoize.c (cplus_suffix): Likewise.
- 
- 	* arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
- 	* arm.h (ROUND_UP_WORD): Likewise.
- 
- 	* arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
- 	warning.
- 	* emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
- 	init_emit_once): Likewise.
- 	* flow.c (mark_regs_live_at_end, calculate_global_regs_live):
- 	Likewise.
- 	* function.c (assign_stack_temp_for_type): Likewise.
- 	* loop.c (loop_invariant_p): Likewise.
- 	* recog.c (push_operand): Likewise.
- 	* regclass.c (init_reg_sets_1): Likewise.
- 	* reload.c (update_auto_inc_notes): Likewise.
- 	* reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
- 	* stmt.c (expand_asm_operands): Likewise.
- 	* stor-layout.c (start_record_layout): Likewise.
- 
- 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
- 
- 	* config/c4x/c4x.md (epilogue): Correct last patch.
- 
- 2003-01-15  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
- 	also check that GP is being used.
- 	(alpha_find_lo_sum_using_gp): New.
- 	(alpha_does_function_need_gp): Use get_attr_usegp.
- 	* config/alpha/alpha-protos.h: Update.
- 	* config/alpha/alpha.md (attr usegp): New.  Annotate patterns
- 	as needed.
- 
- 2003-01-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* gcse.c (one_cprop_pass): Change function arguments to take both
- 	cprop_jumps and bypass_jumps flags instead of just alter_jumps.
- 	(gcse_main): Update calls to one_cprop_pass, disabling bypassing.
- 	(bypass_jumps): New function to perform separate jump bypassing pass.
- 	* rtl.h (bypass_jumps): Add function prototype.
- 	* timevar.def (TV_BYPASS): New timing variable.
- 	* toplev.c (enum dump_file_index): Add new entry DFI_bypass.
- 	(dump_file): New entry for the bypass RTL dump file.
- 	(rest_of_compilation): Insert new jump bypassing optimization
- 	pass after loop.
- 	* doc/passes.texi: Document new pass.
- 
- 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
- 	ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
- 	* pa.h (TARGET_SOM_SDEF): Define.
- 	* pa-hpux11.h (TARGET_SOM_SDEF): Define.
- 
- 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
- 	allocate 4-bytes of locals on 68HC11.
- 	(expand_epilogue): Likewise.
- 	(m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
- 
- 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
- 	and -mshort-double to the assembler to specify the ABI.
- 	(LINK_SPEC): Likewise.
- 	(CPP_SPEC): Pass HCS12 specific define.
- 	(MASK_M68S12): New define.
- 	(TARGET_M68S12): Likewise.
- 	(TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
- 	(TARGET_VERSION): Update.
- 	* config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
- 	(LINK_SPEC): Update.
- 	(ASM_SPEC): Update.
- 	* config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
- 	* doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
- 
- 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
- 
- 	* config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
- 	the return code.
- 
- 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
- 	flag before setting it.
- 
- 2003-01-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
- 	when loop condition is known true, i.e.  "while (1) { ... }".
- 	(genrtl_for_stmt): Similarly for "for" statements.
- 
- 2003-01-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	* real.c (real_sqrt): Return a bool result indicating whether
- 	a floating point exception or trap should be raised.
- 	* real.h (real_sqrt): Update function prototype.
- 	* builtins.c (fold_builtin): Only fold non-trapping square
- 	roots unless we're ignoring errno and trapping math.
- 
- 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
- 
- 	* expr.h (emit_conditional_add): Add PARAMS to declaration.
- 	* gengtype-lex.l (malloc, realloc): Move defines after include of
- 	system.h.  Remove duplicate include of system.h.
- 
- 2003-01-15  Roger Sayle  <roger@eyesopen.com>
- 
- 	PR middle-end/9009
- 	* optabs.c (expand_unop):  When manipulating the FP sign bit
- 	using integer operations, account for targets with different
- 	integer and FP word orders.
- 	(expand_abs): Likewise.
- 
- 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
- 	file extension in section name.
- 
- 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
- 	constant offset.
- 
- 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
- 	(HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
- 	(ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
- 	(ARM_PRINT_OPERAND_ADDRESS): Likewise.
- 
- 2003-01-15  Jan Hubicka  <jh@suse.cz>
- 
- 	PR f/9258
- 	* global.c (struct allocno): Add no_stack_reg.
- 	(global_conflicts): Set no_stack_reg.
- 	(find_reg): Use it.
- 
- 	* convert.c (convert_to_real): Fold - and abs only when profitable.
- 	* fold-const.c (fold): Fold truncates in - and abs.
- 
- 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	Segher Boessenkool  <segher@koffie.nl>
- 
- 	* predict.c (real_inv_br_prob_base): New variable.
- 	(propagate_freq): Use multiply by reciprocal instead of
- 	division.  Don't divide by 1.0 at all.
- 	(estimate_bb_frequencies): Similar.
- 
- 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
- 	* configure: Rebuilt.
- 
- 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* config/s390/s390.c (s390_safe_attr_type): New function.
- 	(s390_use_dfa_pipeline_interface): New function, return true for z900.
- 	(s390_issue_rate): New function.
- 	(s390_agen_dep_p): New function.
- 	(addr_generation_dependency_p): Use 's390_safe_attr_type'.
- 	(s390_adjust_cost): Return 'cost' if new DFA is used.
- 	(s390_adjust_priority): Delete function.
- 	* config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
- 	* config/s390/s390.md (atype attribute): Attribute 'atype' default
- 	determined by 'op_type'.
- 	(type attribute): Added more type attributes.
- 	* config/s390/2064.md: New DFA description for z900 pipeline.
- 
- 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* config/i386/i386.c (ix86_expand_vector_move): Validize constant
- 	forced to memory.  Fixes PR bootstrap/9036.
- 
- 	* config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
- 	to set $gp before the call.
- 
- 2003-01-14  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_expand_mov): Use correct mode
- 	for force_const_mem.
- 
- 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* genattr.c (main): Rearrange output to avoid prototype warning.
- 	* genautomata.c (transform_3): Fix ambiguous-else warning.
- 	* local-alloc.c (requires_inout): Add parentheses around
- 	assignment used as truth-value.
- 	* timevar.c: Move system includes above local includes.  Include
- 	toplev.h
- 	* Makefile.in (timevar.o): Depend on toplev.h.
- 
- 2003-01-14  Denis Chertykov  <denisc@overta.ru>
- 
- 	* config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
- 	(VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
- 
- 	* config/ip2k/ip2k.c (ip2k_attribute_table): New table of
- 	attributes.
- 	(TARGET_ATTRIBUTE_TABLE): New macro.
- 	(valid_machine_type_attribute): Remove.
- 	(valid_machine_decl_attribute): Remove.
- 	(ip2k_handle_progmem_attribute): New function.
- 	(ip2k_handle_fndecl_attribute): New function.
- 
- 2003-01-10  Andrew Haley  <aph@redhat.com>
- 
- 	* config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
- 	registers to be in correct order.  Add rip.
- 
- 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
- 	(*iorsi3_and_lshiftrt_9_sb): Likewise.
- 
- 2003-01-14  Jan Hubicka  <jh@suse.cz>
- 
- 	* convert.c (strip_float_extensions):  Look for narrowest type handling
- 	FP constants.
- 
- 	* fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
- 	float1 CMP float2.
- 	* convert.c (strip_float_extensions): Make global.
- 	* tree.h (strip_float_extensions): Declare.
- 
- 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
- 
- 	* timevar.def: define TV_NAME_LOOKUP.
- 	* timevar.c (timevar_pop): Be verbose when aborting.
- 
- 2003-01-13  Andreas Schwab  <schwab@suse.de>
- 
- 	* Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
- 	$(parsedir), just move the temporary file at the end.
- 	($(parsedir)/gengtype-yacc.c): Likewise.
- 
- 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
- 
- 	* aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
- 	${ac_tool_prefix} to ADAC or CC.  Protect them from word
- 	splitting.
- 	* configure: Rebuilt.
- 
- 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
- 	internal_mcount): Don't use PARAMS.
- 	(monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
- 	ISO C style.
- 	(internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
- 
- 2003-01-13  Andreas Schwab  <schwab@suse.de>
- 
- 	* config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
- 	directive.
- 
- 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
- 	(*iorsi3_and_lshiftrt_n_sb): Likewise.
- 
- 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
- 
- 	PR c++/9264
- 	* c-lex.c (c_lex): Set the token value to error_mark_node for
- 	invalid numeric constants.
- 
- 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* c-pch.c (asm_file_startpos): Change to `long'.
- 	(pch_init): Use ftell, not ftello.
- 	(c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
- 	Use `long' instead of `off_t'.
- 	(c_common_read_pch): Likewise.
- 	* ggc-common.c (gt_pch_save): Use long/ftell instead of
- 	off_t/ftello.
- 
- 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
- 
- 	* expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
- 
- 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
- 
- 	* arm-protos.h (struct cpp_reader): Add declaration.
- 
- 2003-01-11  Jan Hubicka  <jh@suse.cz>
- 
- 	PR target/9068
- 	* i386.c (output_fp_compare): Fix typo.
- 
- 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
- 
- 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (parsedir): New variable.
- 	(docobjdir): New variable.
- 	(c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
- 	gengtype-lex.c, gengtype-yacc.c): Use parsedir.
- 	(info, cpp.info, gcc.info, gccint.info, gccinstall.info,
- 	cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
- 	gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
- 	Use docobjdir.
- 	* objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
- 	objc.maintainer-clean): Use parsedir.
- 
- 	* varasm.c (struct constant_descriptor_rtx): Remove unused
- 	`label' field.
- 
- 	* toplev.c (documented_lang_options): Document -Winvalid-pch.
- 
- 2003-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
- 	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
- 
- 2003-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
- 	not INTEGRAL_MODE_P when widening extensions.
- 
- 2003-01-10  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
- 
- 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-page.c (ggc_collect): Avoid overflow computing
- 	min_expand.
- 
- 	* Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
- 	(RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
- 	Remove calls.
- 	* mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
- 
- 2003-01-10  Jan Hubicka  <jh@suse.cz>
- 
- 	* ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
- 	with weird operands.
- 
- 2003-01-10  Dale Johannesen <dalej@apple.com>
- 
- 	* calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
- 	parameters.  Call check_sibcall_argument_overlap if indicated.
- 	(check_sibcall_argument_overlap):  Add mark_stored_args_map
- 	parameter.  Don't mark parameter area as clobbered if not set.
- 	(expand_call):	Adjust calls to above.
- 
- 2003-01-10 Kelley Cook <kelleycook@comcast.net>
- 
- 	* configure.in (linker read-only and read-write section mixing):
- 	Squelch some assembler warnings.
- 	* configure: Likewise.
- 
- 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
- 
- 	* doc/invoke.texi: Document -mtune, delete -mcpu
- 	option for S/390 and zSeries.
- 	* config/s390/s390.c (s390_tune_string) New variable.
- 	(s390_cpu_string) Delete variable.
- 	(override_options): Use s390_tune_string instead of
- 	s390_cpu_string.
- 	* config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
- 
- 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorsi3_ashift_31): New.
- 
- 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
- 
- 	* jump.c (next_nonnote_insn_in_loop): New function.
- 	(copy_loop_headers): Use next_nonnote_insn_in_loop instead of
- 	next_nonnote_insn.
- 	(duplicate_loop_exit_test). Likewise.
- 
- 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
- 
- 	Merge from pch-branch:
- 
- 	2003-01-06  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-page.c (ggc_pch_read): Update the statistics after a PCH
- 	load.
- 
- 	2002-12-24  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* cpplib.c (count_registered_pragmas): New function.
- 	(save_registered_pragmas): New function.
- 	(_cpp_save_pragma_names): New function.
- 	(restore_registered_pragmas): New function.
- 	(_cpp_restore_pragma_names): New function.
- 	* cpphash.h (_cpp_save_pragma_names): Prototype.
- 	(_cpp_restore_pragma_names): Likewise.
- 	* cpppch.c (struct save_macro_item): Split from save_macro_data.
- 	(struct save_macro_data): New field 'saved_pragmas'.
- 	(save_macros): Update for changes to struct save_macro_data.
- 	(cpp_prepare_state): Call _cpp_save_pragma_names, update
- 	for changes to struct save_macro_data.
- 	(cpp_read_state): Call _cpp_restore_pragma_names, update
- 	for changes to struct save_macro_data.
- 
- 	* cpppch.c (cpp_read_state): Restore the hashtable references
- 	in the cpp_reader.
- 
- 	* tree.h (built_in_decls): Mark for PCH.
- 
- 	* dbxout.c (lastfile): Don't mark for PCH.
- 
- 	* ggc.h: Document PCH calls into memory managers.
- 
- 	2002-12-18  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/invoke.texi (Precompiled Headers): Document the
- 	directory form of PCH.
- 	* cppfiles.c (validate_pch): New function.
- 	(open_file_pch): Search suitably-named directories for PCH files.
- 
- 	2002-12-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* doc/gty.texi (GTY Options): Document chain_next, chain_prev,
- 	reorder options.
- 	(Type Information): Mention that the information is also
- 	used to implement PCH.
- 	* doc/passes.texi (Passes): Improve documentation of
- 	language-specific files.
- 
- 	2002-12-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (struct write_types_data): Add reorder_note_routine field.
- 	(struct walk_type_data): Add reorder_fn field.
- 	(walk_type): Process 'reorder' option.
- 	(write_types_process_field): Reorder parameters to gt_pch_note_object,
- 	call reorder_note_routine.
- 	(write_func_for_structure): Reorder parameters to gt_pch_note_object.
- 	(ggc_wtd): Update for change to struct write_types_data.
- 	(pch_wtd): Likewise.
- 	* ggc.h (gt_pch_note_object): Reorder parameters.
- 	(gt_handle_reorder): New definition.
- 	(gt_pch_note_reorder): New prototype.
- 	* ggc-common.c (struct ptr_data): Add reorder_fn.
- 	(gt_pch_note_object): Reorder parameters.
- 	(gt_pch_note_reorder): New.
- 	(gt_pch_save): Call reorder_fn.
- 	* stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
- 
- 	* dbxout.c (cwd): Don't mark for PCH.
- 
- 	2002-12-09  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (finish_root_table): Fix some warnings.
- 	(write_root): Handle TYPE_STRING.
- 	* ggc.h (gt_ggc_m_S): Add prototype.
- 	* stringpool.c (gt_ggc_m_S): New function.
- 
- 	2002-11-30  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* dwarf2out.c (dw2_string_counter): New.
- 	(AT_string_form): Use it.
- 	(same_dw_val_p): Update for removal of hashtable.h hash tables.
- 
- 	2002-11-22  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* dbxout.c: Include gt-dbxout.h.
- 	(lastfile): Mark for PCH/GGC.
- 	(cwd): Likewise.
- 	(struct typeinfo): Likewise.
- 	(typevec): Likewise.
- 	(typevec_len): Likewise.
- 	(next_type_number): Likewise.
- 	(struct dbx_file): Likewise.
- 	(current_file): Likewise.
- 	(next_file_number): Likewise.
- 	(dbxout_init): Allocate typevec, struct dbx_file with GGC.
- 	(dbxout_start_source_file): Allocate struct dbx_file with GGC.
- 	(dbxout_end_source_file): Don't free struct dbx_file.
- 	(dbxout_type): Use GGC to allocate typevec.
- 	* Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
- 	(GTFILES): Add dbxout.c.
- 	(gt-dbxout.h): New rule.
- 
- 	* Makefile.in (c-pch.o): Add debug.h as dependency.
- 	* c-pch.c: Include debug.h.
- 	(pch_init): Call start_source_file to keep nesting right.
- 	(c_common_read_pch): Add orig_name parameter.  Call
- 	start_source_file debug hook.  Call end_source_file debug hook.
- 	* c-common.h (c_common_read_pch): Update prototype.
- 	* cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
- 	callback.
- 	* cppfiles.c (struct include_file): Add new field `header_name'.
- 	(find_or_create_entry): Default it to `name'.
- 	(open_file_pch): Set it to the original header file searched for.
- 	(stack_include_file): Don't stack an empty buffer, just handle
- 	PCH files immediately.  Pass header_name field to read_pch callback.
- 
- 	2002-11-19  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* function.c (funcdef_no): Mark to be saved in a PCH.
- 
- 	2002-11-15  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
- 
- 	* cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
- 
- 	2002-11-14  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* optabs.h (code_to_optab): Add GTY marker.
- 
- 	2002-11-13  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* Makefile.in (GTFILES): Add cpplib.h.
- 	* c-common.h (struct c_common_identifier): Don't skip 'node' field.
- 	* c-decl.c (build_compound_literal): Don't use var_labelno.
- 	* cpplib.h (struct cpp_hashnode): Use gengtype to mark.
- 	* dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
- 	* varasm.c (const_labelno): Use gengtype to mark.
- 	(var_labelno): Likewise.
- 	(in_section): Likewise.
- 	(in_named_name): Likewise.
- 	(struct in_named_entry): Likewise.
- 	(in_named_htab): Likewise.
- 	(set_named_section_flags): Use GGC to allocate struct in_named_entry.
- 	(init_varasm_once): Use GGC to allocate in_named_htab.
- 	* config/darwin.c (current_pic_label_num): Mark for PCH.
- 
- 	2002-11-11  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-simple.c (init_ggc_pch): New stub procedure.
- 	(ggc_pch_count_object): Likewise.
- 	(ggc_pch_total_size): Likewise.
- 	(ggc_pch_this_base): Likewise.
- 	(ggc_pch_alloc_object): Likewise.
- 	(ggc_pch_prepare_write): Likewise.
- 	(ggc_pch_write_object): Likewise
- 	(ggc_pch_finish): Likewise.
- 	(ggc_pch_read): Likewise.
- 
- 	2002-11-08  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* c-pch.c (c_common_write_pch): Write the macro definitions after
- 	the GCed data.
- 	(c_common_read_pch): Call cpp_prepare_state.  Restore the macro
- 	definitions after the GCed data.
- 	* cpplib.c (save_macros): New.
- 	(reset_ht): New.
- 	(cpp_write_pch_deps): Split out of cpp_write_pch.
- 	(cpp_write_pch_state): Split out of cpp_write_pch.
- 	(cpp_write_pch): Delete.
- 	(struct save_macro_data): Delete.
- 	(cpp_prepare_state): New.
- 	(cpp_read_state): Erase and restore initial macro definitions.
- 	* cpplib.h (struct save_macro_data): Forward-declare.
- 	(cpp_write_pch_deps): Prototype.
- 	(cpp_write_pch_state): Prototype.
- 	(cpp_write_pch): Delete prototype.
- 	(cpp_prepare_state): Prototype.
- 	(cpp_read_state): Add fourth argument.
- 
- 	2002-11-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
- 	(write_array): Remove warning.
- 
- 	* gengtype.c (contains_scalar_p): New.
- 	(finish_root_table): Add the table to all languages, even if it's
- 	empty.
- 	(write_roots): Output gt_pch_scalar_rtab.
- 	* ggc-common.c (gt_pch_save): Write out scalars.
- 	(gt_pch_restore): Read scalars back.
- 
- 	* ggc-page.c (OBJECTS_IN_PAGE): New macro.
- 	(struct page_entry): Delete pch_page field.
- 	(ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
- 	(clear_marks): Likewise.
- 	(sweep_pages): Likewise.
- 	(poison_pages): Likewise.
- 	(ggc_print_statistics): Likewise.
- 	(ggc_pch_read): Don't free objects read from a PCH.
- 	Properly set up in_use_p and page_tails.
- 
- 	2002-10-25  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (struct write_types_data): New.
- 	(struct walk_type_data): Make `cookie' const; add extra
- 	prev_val item; add `orig_s' field.
- 	(walk_type): Update prev_val[3].
- 	(write_types_process_field): New.
- 	(write_func_for_structure): Take write_types_data structure.
- 	(write_types): New.
- 	(ggc_wtd): New.
- 	(pch_wtd): New.
- 	(write_types_local_process_field): New.
- 	(gc_mark_process_field): Delete.
- 	(write_local_func_for_structure): New.
- 	(gc_mark_func_name): Delete.
- 	(write_gc_types): Delete.
- 	(write_local): New.
- 	(finish_root_table): Don't include 'ggc_' in PFX.
- 	(write_root): Rename from write_root.  Fill pchw field of structures.
- 	(write_array): New.
- 	(write_roots): Rename from write_gc_roots.  Split out to write_array.
- 	Update to changes to other routines.  Write gt_pch_cache_rtab table.
- 	(main): Write PCH walking routines.
- 	* ggc-common.c: Include toplev.h, sys/mman.h.
- 	(ggc_mark_roots): For cache hashtables, also mark the hash table
- 	and the array of entries.
- 	(saving_htab): New.
- 	(struct ptr_data): New.
- 	(POINTER_HASH): New.
- 	(gt_pch_note_object): New.
- 	(saving_htab_hash): New.
- 	(saving_htab_eq): New.
- 	(struct traversal_state): New.
- 	(call_count): New.
- 	(call_alloc): New.
- 	(compare_ptr_data): New.
- 	(relocate_ptrs): New.
- 	(write_pch_globals): New.
- 	(struct mmap_info): New.
- 	(gt_pch_save): New.
- 	(gt_pch_restore): New.
- 	* ggc-page.c (ROUND_UP_VALUE): New.
- 	(ROUND_UP): New.
- 	(struct page_entry): Add field `pch_page'.
- 	(init_ggc): Use ROUND_UP.
- 	(struct ggc_pch_data): Declare.
- 	(init_ggc_pch): New.
- 	(ggc_pch_count_object): New.
- 	(ggc_pch_total_size): New.
- 	(ggc_pch_this_base): New.
- 	(ggc_pch_alloc_object): New.
- 	(ggc_pch_prepare_write): New.
- 	(ggc_pch_write_object): New.
- 	(ggc_pch_finish): New.
- 	(ggc_pch_read): New.
- 	* ggc.h (gt_pointer_operator): New.
- 	(gt_note_pointers): New.
- 	(gt_pch_note_object): New prototype.
- 	(gt_pointer_walker): New.
- 	(struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
- 	(LAST_GGC_ROOT_TAB): Update.
- 	(gt_pch_cache_rtab): Declare.
- 	(gt_pch_scalar_rtab): Declare.
- 	(struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
- 	(LAST_GGC_CACHE_TAB): Update.
- 	(gt_pch_save_stringpool): Declare.
- 	(gt_pch_restore_stringpool): Declare.
- 	(gt_pch_p_S): Declare.
- 	(gt_pch_n_S): Declare.
- 	(struct ggc_pch_data): Forward-declare.
- 	(init_ggc_pch): Declare.
- 	(ggc_pch_count_object): Declare.
- 	(ggc_pch_total_size): Declare.
- 	(ggc_pch_this_base): Declare.
- 	(ggc_pch_alloc_object): Declare.
- 	(ggc_pch_prepare_write): Declare.
- 	(ggc_pch_write_object): Declare.
- 	(ggc_pch_finish): Declare.
- 	(ggc_pch_read): Declare.
- 	(gt_pch_save): Declare.
- 	(gt_pch_restore): Declare.
- 	* fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
- 	* emit-rtl.c (init_emit_once): Allocate const_int_htab,
- 	const_double_htab, mem_attrs_htab using GGC.
- 	* c-pch.c: Include ggc.h.
- 	(pch_init): Allow reading PCH file back.
- 	(c_common_write_pch): Call gt_pch_save.
- 	(c_common_read_pch): Call gt_pch_restore.
- 	* c-parse.in (init_reswords): Delete now-untrue comment.
- 	Allocate ridpointers using GGC.
- 	* c-objc-common.c (c_objc_common_finish_file): Write PCH before
- 	calling expand_deferred_fns.
- 	* c-common.h (ridpointers): Mark for GTY machinery.
- 	* Makefile.in (stringpool.o): Update dependencies.
- 	(c-pch.o): Update dependencies.
- 	(ggc-common.o): Update dependencies.
- 	* stringpool.c: Include gt-stringpool.h.
- 	(gt_pch_p_S): New.
- 	(gt_pch_n_S): New.
- 	(struct string_pool_data): New.
- 	(spd): New.
- 	(gt_pch_save_stringpool): New.
- 	(gt_pch_restore_stringpool): New.
- 	* tree.c (init_ttree): Make type_hash_table allocated using GC.
- 
- 	2002-10-04  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
- 	(output_mangled_typename): Don't pass size_t to printf.
- 
- 	* tree.h (union tree_type_symtab): Add tag to `address' field.
- 	(union tree_decl_u2): Add tag to 'i' field.
- 	* varasm.c (union rtx_const_un): Add tags to all fields.
- 	* gengtype.c (struct walk_type_data): New.
- 	(output_escaped_param): Take struct walk_type_data parameter.
- 	(write_gc_structure_fields): Delete.
- 	(walk_type): New.
- 	(write_gc_marker_routine_for_structure): Delete.
- 	(write_func_for_structure): New.
- 	(gc_mark_process_field): New.
- 	(gc_mark_func_name): New.
- 	(gc_counter): Delete.
- 	(write_gc_types): Use write_func_for_structure.
- 	(write_gc_roots): Use walk_type.
- 
- 	2002-10-02  Geoffrey Keating  <geoffk@apple.com>
- 
- 	* ggc-common.c (ggc_mark_roots): Delete 'x'.
- 	(ggc_splay_dont_free): Fix warning about unused 'x'.
- 	(ggc_print_common_statistics): Remove warnings.
- 
- 	2002-10-01  Mike Stump  <mrs@apple.com>
- 
- 	* ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
- 	* gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
- 
- 	2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
- 	    Catherine Moore  <clm@redhat.com>
- 
- 	* Makefile (c-pch.o): Update dependencies.
- 	(LIBCPP_OBJS): Add cpppch.o.
- 	(cpppch.o): New.
- 	* c-common.c (c_common_init): Don't call pch_init here.
- 	* c-common.h (c_common_read_pch): Update prototype.
- 	* c-lex.c (c_common_parse_file): Call pch_init here.
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
- 	(c_common_decode_option): Handle them.
- 	* c-pch.c: Include c-pragma.h.
- 	(save_asm_offset): Delete.
- 	(pch_init): Move contents of save_asm_offset into here, call
- 	cpp_save_state.
- 	(c_common_write_pch): Call cpp_write_pch.
- 	(c_common_valid_pch): Warn only when -Winvalid-pch.  Call
- 	cpp_valid_state.
- 	(c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
- 	* cppfiles.c (stack_include_file): Update for change to
- 	parameters of cb.read_pch.
- 	* cpphash.h (struct cpp_reader): Add `savedstate' field.
- 	* cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
- 	`restore_pch_deps' fields.
- 	(struct cpp_callbacks): Add NAME parameter to `read_pch'.
- 	(cpp_save_state): Prototype.
- 	(cpp_write_pch): Prototype.
- 	(cpp_valid_state): Prototype.
- 	(cpp_read_state): Prototype.
- 	* cpppch.c: New file.
- 	* flags.h (version_flag): Remove prototype.
- 	* mkdeps.c (deps_save): New.
- 	(deps_restore): New.
- 	* mkdeps.h (deps_save): Prototype.
- 	(deps_restore): Prototype.
- 	* toplev.c (late_init_hook): Delete.
- 	(version_flag): Make static again.
- 	(compile_file): Don't call late_init_hook.
- 	* toplev.h (late_init_hook): Delete.
- 	* doc/cppopts.texi: Document -fpch-deps.
- 	* doc/invoke.texi (Warning Options): Document -Winvalid-pch.
- 
- 	2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-pch.c (c_common_write_pch): Rename from c_write_pch, change
- 	callers.
- 	(c_common_valid_pch): Rename from c_valid_pch, change callers.
- 	(c_common_read_pch): Rename from c_read_pch, change callers.
- 
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
- 	a space between it and its argument.
- 
- 	2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-pch.c: New file.
- 	* toplev.h (late_init_hook): Declare.
- 	* toplev.c (late_init_hook): Define.
- 	(version_flag): Make globally visible.
- 	(compile_file): Call late_init_hook.
- 	(init_asm_output): Make output file seekable.
- 	* gcc.c (default_compilers): Update c-header rule.
- 	* flags.h (version_flag): Declare.
- 	* cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
- 	fields.
- 	* cppfiles.c (struct include_file): Add 'pch' field.
- 	(INCLUDE_PCH_P): New.
- 	(open_file_pch): New.
- 	(stack_include_file): Handle PCH files specially.
- 	(find_include_file): Call open_file_pch instead of open_file.
- 	(_cpp_read_file): Explain why open_file is used instead of
- 	open_file_pch.
- 	* c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
- 	* c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
- 	* c-lex.c (init_c_lex): Set valid_pch and read_pch fields
- 	in cpplib callbacks.
- 	* c-common.c (pch_file): Correct comment.
- 	(allow_pch): Define.
- 	(c_common_init): Call pch_init.
- 	* c-common.h (allow_pch): Declare.
- 	(pch_init): Declare.
- 	(c_valid_pch): Declare.
- 	(c_read_pch): Declare.
- 	(c_write_pch): Declare.
- 	* Makefile.in (c-pch.o): New.
- 	(C_AND_OBJC_OBJS): Add c-pch.o.
- 	* doc/invoke.texi (Precompiled Headers): Add index entries,
- 	complete truncated paragraph.
- 
- 	2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* c-common.c: (pch_file): Define.
- 	* c-common.h (pch_file): Declare.
- 	* c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
- 	(missing_arg): Require --output-pch= to have an argument.
- 	(c_common_decode_option): Handle --output-pch=.
- 	* gcc.c: Document new %V.
- 	(default_compilers): Handle compiling C header files.
- 	(do_spec_1): Implement %V.
- 	(main): Handle "gcc foo.h" without trying to run linker.
- 	* doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
- 	(Overall Options): Document what the driver does with header files,
- 	document new -x option possibilities.
- 	(Invoking G++): More documentation for PCH.
- 	(Precompiled Headers): New.
- 
- 	2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* ggc.h: Don't include varray.h.  Rearrange functions to be more
- 	organized.
- 	(ggc_add_root): Delete.
- 	(ggc_mark_rtx): Delete.
- 	(ggc_mark_tree): Delete.
- 	(struct ggc_statistics): Remove contents.
- 	* ggc-common.c: Remove unneeded includes.
- 	(struct ggc_root): Delete.
- 	(roots): Delete.
- 	(ggc_add_root): Delete.
- 	(ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
- 	(ggc_print_common_statistics): Remove most of the contents.
- 	* Makefile.in (GGC_H): No longer uses varray.h.
- 	(ggc-common.o): Update dependencies.
- 	(c-parse.o): Add varray.h to dependencies.
- 	(c-common.o): Add varray.h.
- 	* stringpool.c (mark_ident): Use mangled name for tree marker routine.
- 	(mark_ident_hash): Rename to ggc_mark_stringpool.
- 	(init_stringpool): Don't use ggc_add_root.
- 	* c-parse.in: Include varray.h.
- 	* c-common.c: Include varray.h.
- 	* objc/Make-lang.in (objc-act.o): Add varray.h.
- 	* objc/objc-act.c: Include varray.h.
- 
- 	2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
- 	(dw_cfi_oprnd1_desc): Likewise.
- 
- 	2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
- 	move out of ifdef.
- 	(alpha_links): Use gengtype to mark; move out of ifdef.
- 	(mark_alpha_links_node): Delete.
- 	(mark_alpha_links): Delete.
- 	(alpha_need_linkage): Use GGC to allocate splay tree, struct
- 	alpha_links, strings.  Don't use ggc_add_root.
- 	* ggc-common.c (ggc_splay_alloc): New.
- 	(ggc_splay_dont_free): New.
- 	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
- 	(ggc_mark_tree): Likewise.
- 	(splay_tree_new_ggc): New.
- 	(ggc_splay_alloc): Declare.
- 	(ggc_splay_dont_free): Declare.
- 	* dwarf2asm.c: Include gt-dwarf2asm.h.
- 	(mark_indirect_pool_entry): Delete.
- 	(mark_indirect_pool): Delete.
- 	(indirect_pool): Use gengtype to mark.
- 	(dw2_force_const_mem): Don't use ggc_add_root.
- 	* Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
- 	(GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
- 	(gt-dwarf2asm.h): Depend on s-gtype.
- 
- 	2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
- 
- 	* tree.h (union tree_type_symtab): Mark `die' field.
- 	* Makefile.in (dwarf2out.o): Update dependencies.
- 	* dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
- 	hash tables.
- 	(dw_cfi_oprnd1_desc): New function.
- 	(dw_cfi_oprnd2_desc): New function.
- 	(indirect_string_alloc): Delete.
- 	(debug_str_do_hash): New function.
- 	(debug_str_eq): New function.
- 	(mark_limbo_die_list): Delete.
- 	(dwarf2out_init): Don't call ggc_add_root.
- 
- 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	The following changes are merged from itanium-sched-branch:
- 
- 	2003-01-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/md.texi: Clarify assignment of units to automata description.
- 
- 	2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (unit_decl): Remove members
- 	`the_same_automaton_unit' and
- 	`the_same_automaton_message_reported_p'.
- 	(process_unit_to_form_the_same_automaton_unit_lists,
- 	form_the_same_automaton_unit_lists_from_regexp,
- 	form_the_same_automaton_unit_lists, the_same_automaton_lists):
- 	Remove them.
- 	(annotation_message_reported_p): New global variable.
- 	(check_unit_distribution_in_reserv,
- 	check_regexp_units_distribution): New functions.
- 	(check_unit_distributions_to_automata): Rewrite it.
- 
- 	2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
- 	Use continue instead of break if cycle is too big.
- 
- 	2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (check_unit_distributions_to_automata): Output at
- 	most one message for a unit.
- 	(process_unit_to_form_the_same_automaton_unit_lists): Check
- 	automaton of units instead of units themself.
- 
- 	* doc/md.texi: Describe the constraint about assigning unit to
- 	automata.
- 
- 	2002-12-20  Jan Hubicka  <jH@suse.cz>
- 		    Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
- 	and `in_set_p'.
- 	(gen_cpu_unit): Initialize the new members.
- 	(process_regexp_cycles): Calculate minimal finish cycle too.  Set
- 	up `min_occ_cycle_num'.
- 	(evaluate_max_reserv_cycles): Change the function call.
- 	(CLEAR_BIT): New macro.
- 	(states_union, state_shift): Use the mask.
- 	(initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
- 	(form_reservs_matter): New function.
- 	(make_automaton): Call the function and use the mask.
- 	(estimate_one_automaton_bound): Take `min_occ_cycle_num' into
- 	account.
- 
- 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/itanium2.md (lfetch): Change the insn reservation.
- 
- 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
- 	for Itanium.
- 
- 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c (ia64_override_options): Make itanium2 as
- 	default cpu.
- 
- 	2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
- 		2002-10-31  Dale Johannesen <dalej@apple.com>
- 
- 	* haifa-sched.c (find_set_reg_weight): New function.
- 	(find_insn_reg_weight): Use the new function.
- 	(schedule_block): Do sorting ready queue always
- 	after insn issue.
- 
- 	2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
- 
- 	2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (choice_entry): New structure.
- 	(choice_stack, cycle_issued_insns): New variables.
- 	(max_issue): Rewrite it.
- 	(choose_ready): Set up ready_try for unknown insns too.
- 	(schedule_block): Allocate and free choice_stack.  Set up
- 	and modify cycle_issued_insns.
- 
- 	* config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
- 	with and without filling the bundle.
- 	(bundling): Combine calls of issue_nops_and_insn.
- 
- 	2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/itanium1.md: New file.
- 
- 	* config/ia64/itanium2.md: New file.
- 
- 	* config/ia64/ia64.md: Move DFA descriptions into the new files.
- 	Remove the old pipeline description.
- 
- 	* config/ia64/ia64.c (ia64_override_options): Add aliases of
- 	itanium processor names.
- 
- 	2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.c (bundling): Print states for Itanium2 too.
- 	(ia64_reorg):  Set up queried unit codes for Itanium2 too.
- 
- 	* config/ia64/ia64.md: Add descriptions for Itanium2.
- 
- 	2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.h (processor_type): New enumeration.
- 	(ia64_tune, ia64_tune_string): New external declarations.
- 	(TARGET_OPTIONS): Add option `tune='.
- 
- 	* config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
- 	variables.
- 	(ia64_override_options): Set up `ia64_tune'.
- 	(ia64_sched_reorder2): Set up `clocks' only for Itanium.
- 	(ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
- 	(bundling): Add nops for MM-insns only for Itanium.
- 	(ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
- 	Itanium.
- 
- 	* config/ia64/ia64.md (cpu): New attribute.
- 	(DFA description): Enable it only for Itanium.
- 
- 	2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
- 		    Richard Henderson  <rth@redhat.com>
- 
- 	* config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
- 	MASK_EARLY_STOP_BITS.
- 	(TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
- 	(TARGET_SWITCHES): Rename option `tune-stop-bits' to
- 	`early-stop-bits'.
- 
- 	* config/ia64/ia64.c (ia64_dfa_new_cycle,
- 	final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
- 	instead of TARGET_TUNE_STOP_BITS.
- 
- 	* doc/invoke.texi: Rename option `-mtune-stop-bits' to
- 	`-mearly-stop-bits'.
- 
- 	* config/ia64/ia64.c (automata_option "v"): Comment it.
- 
- 	2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
- 	New macros.
- 	(TARGET_SWITCHES): Add entries for the new option.
- 
- 	* config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
- 	dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
- 	(stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
- 	global variables.
- 	(ia64_sched_reorder2): Set up `clocks'.
- 	(ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
- 	(ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
- 	queue when TARGET_TUNE_STOP_BITS.
- 	(bundling): Insert additional nops for MM-insns.
- 	(final_emit_insn_group_barriers): Add insertion of stop bits
- 	according `stops_p'.
- 	(ia64_reorg): Initiate the new varibales.
- 
- 	* doc/invoke.texi: Add description of option `-mtune-stop-bits'.
- 
- 	2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* haifa-sched.c (schedule_block): Modify INSN_TICK of depended
- 	insns at the end of block insn scheduling.
- 
- 	2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* sched-deps.c (remove_dependence, group_leader): Remove it.
- 	(add_dependence): Add dependence to group leader to.
- 	(set_sched_group_p): Add dependence to the first insn of the
- 	schedule group too.
- 	(sched_analyze_insn): Make dependence to jump as anti-dependence.
- 	Change true dependence by anti-dependence when
- 	`reg_pending_barrier'.
- 
- 	* sched-rgn.c (init_ready_list, can_schedule_ready_p,
- 	add_branch_dependences): Ignore schedule groups.
- 
- 	* sched-ebb.c (init_ready_list): Ditto.
- 
- 	* (move_insn, set_priorities): Ditto.
- 
- 	* config/ia64/ia64.c (ia64_sched_init): Check that schedule group
- 	flag is clear after reload.
- 	(adjust_cost): Change cost only for output dependencies.
- 
- 	* config/ia64/ia64.md: Add more insns into bypass for MM-insns.
- 
- 	2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
- 
- 	* target.h (gcc_target): Add member
- 	`dependencies_evaluation_hook'.
- 
- 	* target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
- 	macro.
- 	(TARGET_SCHED): Add initiatialization of the new member.
- 
- 	* sched-ebb.c: Include `target.h'.
- 	(schedule_ebb): Call `dependencies_evaluation_hook'.
- 
- 	* sched-rgn.c (schedule_region): Call
- 	`dependencies_evaluation_hook'.
- 
- 	* config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
- 	New macro.
- 	(ia64_dependencies_evaluation_hook): New function.
- 
- 	* doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
- 	Describe the new hook.
- 
- 	2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* target.h (gcc_target): Add members
- 	`first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
- 
- 	* target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
- 	macros.
- 	(TARGET_SCHED): Add initiatialization of the new members.
- 
- 	* haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
- 	insn scheduling too.
- 	(choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
- 	initialize `ready_try'.
- 	(schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
- 	`dfa_new_cycle' says not to do it.
- 
- 	* config/ia64/ia64.md: Add DFA Itanium 1 description for insn
- 	bundling.
- 
- 	* config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
- 
- 	* config/ia64/ia64.c: Include `hashtab.h'.
- 	(ia64_first_cycle_multipass_dfa_lookahead_guard,
- 	ia64_dfa_new_cycle, final_emit_insn_group_barriers,
- 	ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
- 	initiate_bundle_states, finish_bundle_states, bundle_state_hash,
- 	bundle_state_eq_p, insert_bundle_state,
- 	initiate_bundle_state_table, finish_bundle_state_table,
- 	try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
- 	get_template, get_next_important_insn, bundling): New functions.
- 	(ia64_internal_sched_reorder): Remove it.
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
- 	TARGET_SCHED_DFA_NEW_CYCLE): New macros.
- 	(ia64_safe_itanium_requires_unit0): Remove it.
- 	(group_barrier_needed_p): Place group barrier right before a real
- 	insn.
- 	(bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
- 	Remove them.
- 	(bundle_name): New variable.
- 	(_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
- 	_0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
- 	_1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
- 	pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
- 	temp_dfa_state, prev_cycle_state): New global variables.
- 	(insn_matches_slot, maybe_rotate, finish_last_head,
- 	rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
- 	cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
- 	find_best_packet, itanium_reorder, dump_current_packet,
- 	schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
- 	(sched_data, sched_ready, sched_types): Remove them.
- 	(ia64_sched_init): Initiate only `last_scheduled_insn' and call
- 	`init_insn_group_barriers'.
- 	(ia64_sched_reorder, ia64_sched_reorder2): Call
- 	ia64_dfa_sched_reorder.
- 	(ia64_variable_issue): Rewrite it.
- 	(bundle_state): New structure.
- 	(index_to_bundle_states, bundle_states_num,
- 	allocated_bundle_states_chain, free_bundle_state_chain): New
- 	global variables.
- 	(ia64_sched_finish): Add stop bits and call `bundling' after the
- 	2nd insn scheduling.
- 	(ia64_use_dfa_pipeline_interface): Return zero always.
- 	(ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
- 	insn scheduling.
- 	(ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
- 	`temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
- 	(ia64_reorg): Add bundling insns.
- 
- 	* doc/tm.texi
- 	(TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
- 	TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
- 
- 	2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* config/ia64/ia64.md: Add Itanium1 DFA description.
- 	(itanium_class): Add `nop' and `pre_cycle'.  Add
- 	define_function_unit for `nop'.
- 	(nop): Change attribute `itanium_class'.
- 	(pre_cycle): New define_insn.
- 
- 	* config/ia64/ia64-protos.h (bundling_p): New external variable.
- 	(ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
- 	ia64_produce_address_p): New function prototypes.
- 
- 	* config/ia64/ia64.c (bundling_p): New global variable.
- 	(ia64_use_dfa_pipeline_interface,
- 	ia64_first_cycle_multipass_dfa_lookahead,
- 	ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
- 	functions.
- 	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
- 	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
- 	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
- 	TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
- 	(ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
- 	ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
- 	(dfa_pre_cycle_insn): New variable.
- 
- 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
- 	constructions.
- 
- 	* genattrtab.h (gen_final_presence_set, gen_final_absence_set):
- 	New function prototypes.
- 
- 	* genattrtab.c (main): Process the new constructions.
- 
- 	* genautomata.c (gen_presence_absence_set,
- 	process_presence_absence_names, process_presence_absence_patterns,
- 	add_presence_absence, check_absence_pattern_sets): Add parameter
- 	`final_p'.
- 	(unit_decl): Add new members `final_presence_list' and
- 	`final_absence_list'.
- 	(unit_pattern_rel_decl): Add new member `final_p'.
- 	(gen_final_presence_set, gen_final_absence_set): New functions.
- 	(process_decls): Use member `final_p'.
- 	(temp_reserv): New global variable.
- 	(reserv_sets_are_intersected): Add processing `final_presence_set'
- 	and `final_absence_set'.
- 	(initiate_states): Allocate `temp_reserv'.
- 	(unit_final_presence_set_table, unit_final_absence_set_table): New
- 	gloabal variables.
- 	(initiate_presence_absence_pattern_sets): Initiate them.
- 	(NDFA_to_DFA): Fix typo.
- 	(output_description): Output `final_presence_set' and
- 	`final_absence_set'.
- 
- 	* doc/md.texi (final_presence_set, final_absence_set): Describe
- 	them.
- 
- 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genautomata.c (transform_3): Process a missing case (nothing on
- 	unit place).
- 
- 	2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
- 	comments about queried units and the minimization.
- 
- 	* doc/md.texi: Ditto.
- 
- 	* genautomata.c (create_composed_state): Return nonzero if the new
- 	state has been created.
- 	(first_cycle_unit_presence): New function.
- 	(state_is_differed): Add new parameter.  Use the new function.
- 	Take queried units into account.
- 	(partition_equiv_class): Pass additional parameter to
- 	`state_is_differed'.
- 	(merge_states): Process composed states too.
- 	(build_automaton, create_automata, output_min_issue_delay_table,
- 	output_tables, output_statistics): Output more information.
- 	(output_reserved_units_table): Use function
- 	`first_cycle_unit_presence'.
- 	(output_tables): Output table of queried units even if the
- 	minimization is switched on.
- 	(write_automata): Output code for querying units even if the
- 	minimization is switched on.
- 
- 	2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
- 	syntax of the constructions.
- 
- 	* doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
- 	extended syntax of the constructions.
- 
- 	* genautomata.c (unit_rel_decl): Rename it to
- 	`unit_pattern_rel_decl'.
- 	(pattern_set_el, pattern_reserv): New structures.
- 	(pattern_set_el_t, pattern_reserv_t): New types.
- 	(gen_presence_absence_set): New function.
- 	(process_presence_absence): Remove it.
- 	(process_presence_absence_names,
- 	process_presence_absence_patterns): New functions.
- 	(get_presence_absence_set): Remove it.
- 	(initiate_presence_absence_sets): Rename it on
- 	`initiate_presence_absence_pattern_sets'.  Use new function
- 	`form_reserv_sets_list'.
- 	(form_reserv_sets_list, check_presence_pattern_sets,
- 	check_absence_pattern_sets, output_pattern_set_el_list): New
- 	functions.
- 	(unit_decl): Change types of members `presence_list' and
- 	`absence_list'.
- 	(unit_rel_decl): Rename member `names_num' to `all_names_num'.
- 	(decl): Change types of members `excl', `presence', and `absence'.
- 	(get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
- 	at the end of the vector.
- 	(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
- 	gen_automaton, gen_regexp_repeat, gen_regexp_allof,
- 	gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
- 	(gen_presence_set, gen_absence_set): Use new function
- 	`gen_presence_absence_set'.
- 	(add_presence_absence): Process `pattern_list' instead of
- 	`source_list'.
- 	(process_decls): USe new functions
- 	`process_presence_absence_names' and
- 	`process_presence_absence_patterns'.
- 	(reserv_sets_are_intersected): Use new function
- 	`check_presence_pattern_sets'.
- 	(presence_set, absence_set): Remove them.
- 	(unit_presence_set_table, unit_absence_set_table): New global
- 	variables.
- 	(output_description): Use new function
- 	`output_pattern_set_el_list'.
- 	(generate): Use `initiate_presence_absence_pattern_sets'.
- 
- 	2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
- 
- 	* genattr.c (main): Add output of prototype of new interface
- 	function `dfa_clean_insn_cache'.
- 
- 	* genautomata.c (output_dfa_clean_insn_cache_func): New function.
- 	(DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
- 	(output_dfa_start_func): Use function `dfa_clean_insn_cache' in
- 	the generated code.
- 	(write_automata): Call the new function.
- 
- 2003-01-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
- 	correctly.
- 
- 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
- 
- 	* doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
- 
- 2003-01-09  J"orn Rennecke <joern.rennecke@superh.com>
- 
- 	* defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
- 	(EXTRA_ADDRESS_CONSTRAINT): Likewise.
- 	(CONSTRAINT_LEN): Provide default definition.
- 	(CONST_OK_FOR_CONSTRAINT_P): Likewise.
- 	(CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
- 	(EXTRA_CONSTRAINT_STR): Likewise.
- 	(REG_CLASS_FROM_CONSTRAINT): Define.
- 	* genoutput.c (check_constraint_len, constraint_len): New functions.
- 	(validate_insn_alternatives): Check CONSTRAINT_LEN for each
- 	constraint / modifier.
- 	(gen_insn): Call check_constraint_len.
- 	* local-alloc.c (block_alloc): Update to use new macros / pass
- 	second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
- 	* ra-build.c (handle_asm_insn): Likewise.
- 	* recog.c (asm_operand_ok, preprocess_constraints): Likewise.
- 	(constrain_operands, peep2_find_free_register): Likewise.
- 	* regclass.c (record_operand_costs, record_reg_classes): Likewise.
- 	* regmove.c (find_matches): Likewise.
- 	* reload.c (push_secondary_reload, find_reloads): Likewise.
- 	(alternative_allows_memconst): Likewise.
- 	* reload1.c (maybe_fix_stack_asms): Likewise.
- 	(reload_cse_simplify_operands): Likewise.
- 	* stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
- 	* doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
- 	(CONST_OK_FOR_CONSTRAINT_P): Likewise.
- 	(CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
- 	(EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
- 	* config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
- 
- 	* sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
- 
- 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
- 	length.
- 	(*extzv_1_r_h8300hs): Likewise.
- 	(*extzv_1_r_inv_h8300): Likewise.
- 	(*extzv_1_r_inv_h8300hs): Likewise.
- 
- 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (PREDICATE_CODES): New.
- 
- 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*addsi3_upper): New.
- 	(*iorsi3_shift): Likewise.
- 	(two splitters): Likewise.
- 	(*addsi3_shift): Likewise.
- 	(two splitters): Likewise.
- 
- 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (optabs.o): Add dependency on basic-block.h.
- 	* basic-block.h (control_flow_insn_p): Fuction was exported.
- 	* cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
- 	* optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
- 	notes only when the region is contained in a single basic block.
- 
- 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR inline-asm/8832
- 	* tree.h (expand_asm): New prototype.
- 	* stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
- 	to do so.
- 	* c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
- 	down to expand_asm.
- 	* c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
- 	* rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
- 	(volatile_refs_p) [ASM_INPUT]: Likewise.
- 	(side_effects_p) [ASM_INPUT]: Likewise.
- 
- 2003-01-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (*mul*): FIx constraints; remove confused comment; fix
- 	athlon_decode attributes
- 	(imul/k8 optimization peep2s): New.
- 
- 	* athlon.md (athlon_ssecmp*): Handle ssecomi as well.
- 	* i386.md (type attribute): Add ssecomi.
- 	(unit, memory, prefix attributes): Handle ssecomi.
- 	(cvt?2? patterns): Fix athlon_decode attribute
- 	(comi patterns): Set attribute to ssecomi.
- 
- 	PR target/8343
- 	* m68k.md (umulsidi, mulsidi expanders): Use register operand.
- 
- 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
- 	that match register_operands.
- 	* config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
- 	register_operand the default case.
- 
- 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
- 
- 	PR c/8032
- 	* c-typeck.c (process_init_element) [RECORD_TYPE]: For
- 	an empty element, do not advance the pointer to unfilled
- 	fields if there are pending initializers.
- 
- 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
- 
- 	* Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
- 	(install-gcc-tooldir, install-cpp, installdirs,
- 	install-common, install-driver, install-info, install-man,
- 	install-headers, install-include-dir, install-headers-tar,
- 	install-headers-cpio, install-headers-cp, install-mkheaders,
- 	install-collect2, uninstall): Prepend $(DESTDIR) to
- 	destination paths in all (un)installation commands.
- 	(install-driver): Rewrite $(LN) commands to support DESTDIR
- 	with "ln" as well as with "ln -s".
- 	(installdirs): Simply use mkinstalldirs.
- 	(install-libgcc, install-multilib): Also pass DESTDIR.
- 	* mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
- 	installation destination variable ldir.
- 	* config/alpha/t-osf4, config/arm/t-netbsd,
- 	config/ia64/t-hpux, config/mips/t-iris5-6,
- 	config/pa/t-hpux-shlib, config/rs6000/t-aix43,
- 	config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
- 	config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
- 	in the definition of SHLIB_INSTALL.
- 	* config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
- 	$(libsubdir) in the installation commands.
- 
- 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
- 
- 	* config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
- 	non-optimizing compile.
- 	(ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
- 	compile.
- 
- 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
- 
- 	* config/i386/i386.c (ix86_attribute_table): Add new attributes
- 	ms_struct and gcc_struct.
- 	(ix86_handle_struct_attribute): New function.
- 	(ix86_ms_bitfield_layout_p): Update to take new attributes
- 	into account.
- 	* doc/extend.texi: Document new attributes.
- 	* testsuite/gcc.dg/bf-ms-attrib.c: New test.
- 
- 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
- 
- 	PR optimization/8750
- 	* config/i386/i386.c (ix86_expand_prologue): Don't allow
- 	scheduling pass to move insns across __alloca call.
- 
- 2003-01-08  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/rs6000/rs6000.md:  Replace *store_multiple_string
- 	with *stmsi[3-8].
- 
- 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
- 
- 	PR target/9210
- 	* config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
- 	Set SYMBOL_REF_FLAG on local data sym_ref.
- 
- 2003-01-08  Dale Johannesen  <dalej@apple.com>
- 
- 	* function.c (assign_parms):  Don't set pretend_args_size if
- 	  REG_PARM_STACK_SPACE.
- 	  config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
- 	  pretend_args_size.
- 
- 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
- 
- 	* gcc.hlp: Delete.
- 
- 2003-01-09  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.c  (ix86_expand_int_addcc): Fix thinko.
- 
- 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
- 	* config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
- 	as hook_bool_tree_hwi_hwi_tree_true.
- 	(rs6000_emit_allocate_stack): Use TARGET_32BIT.
- 	(rs6000_emit_epilogue): Same.
- 	(rs6000_output_mi_thunk): Re-implement as RTL.
- 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
- 	xcoffout_declare_function if any debugging enabled.
- 
- 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
- 	targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
- 	* config/mips/mips.h (enum processor_type): Rename
- 	PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
- 	PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
- 	Add PROCESSOR_M4K.
- 	(TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
- 	(ISA_MIPS32R2): New define.
- 	(GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
- 	(ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
- 	(ISA_HAS_PREFETCH): Add support for MIPS32R2.
- 	(MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
- 	(TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
- 	predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
- 	(ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
- 	compiling MIPS16 code.
- 	(ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
- 	comment.
- 	(ISA_HAS_SEB_SEH): New define.
- 	(ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
- 	* config/mips/mips.c (mips_cpu_info_table): Adjust for enum
- 	processor_type value renaming.  Add support for MIPS32R2.
- 	Clean up comments, and move "sb1" entry with other MIPS64 CPU
- 	entries.
- 	(override_options): Reimplement -mipsN option handling so that
- 	it will work correctly for -mips32r2.  Avoid branch-likely
- 	instructions on MIPS32R2.
- 	* config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
- 	(extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
- 	(extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
- 	(extendhisi2_hw, extendqisi2_hw): New.
- 	* config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
- 	for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
- 	MIPS32R2, and MIPS64.
- 	(LINK_SPEC): Pass -mips32r2 to linker.
- 	* config/mips/t-isa3264: Built -mips32r2 multilibs.
- 	* doc/invoke.texi (MIPS Options): Add -mips32r2, add support
- 	for mips32r2 in the -march description.  Alphabetically sort
- 	CPU names in the -march description.  Add long-missed -mips32
- 	and -mips64 to MIPS option summary.
- 
- 	* config.gcc: Update copyright years to include 2003.
- 	* config/mips/mips.c: Likewise.
- 	* config/mips/mips.h: Likewise.
- 	* config/mips/mips.md: Likewise.
- 	* config/mips/netbsd.h: Likewise.
- 	* doc/invoke.texi: Likewise.
- 
- 2003-01-08  Andreas Schwab  <schwab@suse.de>
- 
- 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
- 	variable.
- 	* configure: Regenerated.
- 
- 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Replace byte/word
- 	extraction of det with b0, b1, w0, w2, etc.
- 	(compute_logical_op_length): Likewise.
- 	(compute_logical_op_cc): Likewise.
- 
- 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
- 	HIGH on all variants.
- 
- 2003-01-08  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
- 
- 	* Makefile.in (PARTITION_H): New.
- 	(BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
- 	* basic-block.h: Include hard-reg-set.h.
- 
- 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
- 
- 	* arm.h (ENABLE_XF_PATTERNS): Delete.
- 	* arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
- 	(sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
- 	(extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
- 	(cmpxf_trap): Delete.
- 	(movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
- 
- 2003-01-08  Jan Hubicka  <jh@suse.cz>
- 
- 	* i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
- 	(addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
- 	(add??cc): New expanders.
- 	* i386.c (expand_int_addcc): New function.
- 	* i386-protos.h (expand_int_addcc): Declare.
- 
- 	* alias.c (memory_modified_1): New static function.
- 	(memory_modified): New static varaible.
- 	(memory_modified_in_insn_p): New global function.
- 	* rtl.h (memory_modified_in_insn_p): Declare.
- 	* rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
- 	references.
- 
- 	* expr.h (emit_conditional_add): Declare.
- 
- 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
- 
- 	PR other/8947
- 	* doc/invoke.texi (-malign-double): Explain that the option breaks
- 	binary compatibility.
- 
- 2003-01-08  Andreas Schwab  <schwab@suse.de>
- 
- 	* config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
- 	should come from the generic *-*-linux* entry.
- 
- 2003-01-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* cselib.c (cselib_current_insn_in_libcall): New static variable.
- 	(new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
- 	we are inside libcall.
- 	* cselib.h (elt_loc_list): Add in_libcall.
- 	* gcse.c (do_local_cprop): Do not copy propagate using insns
- 	in libcalls.
- 
- 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
- 
- 	* doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
- 	not normally affect to issue rate.
- 
- 2003-01-07  Jan Hubicka  <jh@suse.cz>
- 
- 	* genopinit.c (optabs): Add addc_optab.
- 	* ifcvt.c (noce_try_store_flag): Rename to ...
- 	(noce_try_addcc): ... this one; handle generic conditional increment.
- 	(noce_process_if_block): Update noce_try_addcc call.
- 	* optabs.c (emit_conditional_add): New.
- 	(init_obtabs): Initialize addc_optab.
- 	* optabs.h (optab_index): Add OTI_addcc.
- 	(addcc_optab): New macro.
- 	* md.texi: Document addMcc
- 
- 	PR target/8322
- 	* i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
- 	* xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
- 	* xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
- 
- 	* reload1.c (delete_output_reload): Avoid repeated attempts
- 	to delete insn.
- 
- 2003-01-07  Andreas Schwab  <schwab@suse.de>
- 
- 	* configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
- 	Move --enable-initfini-array check ...
- 	* aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
- 	HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
- 	Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
- 	* configure: Rebuild.
- 
- 2003-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* alias.c (find_base_value): Only use new_reg_base_value shortcut
- 	if the register is set once.
- 
- 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
- 
- 	* config/i386/i386.c (ix86_init_mmx_sse_builtins):
- 	__builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
- 	* config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
- 
- 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
- 	    Sunil Davasam  <sunil.k.davasam@intel.com>
- 
- 	PR libstdc++/9076
- 	* unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
- 	DW_CFA_same_value, read next and ignore.
- 
- 2003-01-07  Richard Henderson  <rth@redhat.com>
- 
- 	* cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
- 
- 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* cfg.c: Include alloc-pool.h
- 	(edge_pool): New pool.
- 	(bb_pool): New pool.
- 	(first_deleted_edge): Remove.
- 	(first_deleted_block): Remove.
- 	(init_flow): Alloc/free the pools.
- 	(free_edge): Use pools.
- 	(alloc_block): Ditto.
- 	(expunge_block): Ditto.
- 	(cached_make_edge): Ditto.
- 
- 	* Makefile.in (cfg.o): Add alloc-pool.h dependency.
- 
- 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
- 
- 	* et-forest.c: Include alloc-pool.h.
- 	(struct et_forest): Add node_pool and occur_pool.
- 	(et_forest_create): Create the new pools.
- 	(et_forest_delete): Delete them.
- 	(et_forest_add_node): Allocate and free using pools.
- 	(et_forest_add_edge): Ditto.
- 	(et_forest_remove_node): Ditto.
- 	(et_forest_remove_edge): Ditto.
- 
- 	* Makefile.in (et-forest.o): Add alloc-pool.h dependency.
- 
- 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Simplify and
- 	optimize the handling of SImode.
- 	* config/h8300/h8300.c (compute_logical_op_length): Update
- 	accordingly.
- 	* config/h8300/h8300.c (compute_logical_op_cc): Likewise.
- 
- 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.c (mips_va_arg): In the EABI code, apply the
- 	big-endian correction to indirect arguments too.
- 
- 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	Segher Boessenkool  <segher@koffie.nl>
- 
- 	* config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
- 	(alt_reg_names): Ditto, fix formatting.
- 	* config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
- 
- 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (final_prescan_insn): Constify uid.
- 	(output_logical_op): Constify intval and det.
- 	(compute_logical_length): Likewise.
- 	(compute_logical_cc): Likewise.
- 	(output_a_shift): Constify mask.
- 	(h8300_encode_label): Constify len.
- 
- 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
- 	(h8300_expand_epilogue): Likewise.
- 
- 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
- 
- 	Segher Boessenkool  <segher@koffie.nl>
- 
- 	* config/rs6000/altivec.md: Remove spaces from assembler
- 	instruction argument lists.
- 
- 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
- 
- 	* config/c4x/c4x.c (c4x_naked_function_p): Rename from
- 	c4x_assembler_function_p.
- 	(c4x_null_epilogue_p): Complement return value, all uses updated.
- 	(c4x_insert_attributes): Add naked.
- 	* config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
- 	* doc/extend.texi: Update C4x function attributes.
- 
- 2003-01-06  Richard Henderson  <rth@redhat.com>
- 
- 	* config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
- 	properly when changing "local-ness".
- 	* config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
- 
- 2003-01-06  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin-protos.h:  Add prototypes for new section functions.
- 
- 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
- 
- 	* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
- 	to EABI.
- 
- 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
- 
- 	* hwint.h: If the current compiler has no 64-bit type at all,
- 	make HOST_WIDEST_INT 32 bits.
- 
- 2003-01-06  Eric Christopher  <echristo@redhat.com>
- 
- 	* config/mips/mips.md (movdf_internal2): Fix constraints.
- 
- 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*twoshifts_l16_r1): New.
- 
- 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md (leadi): Use dla rather than la.
- 
- 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
- 
- 	* config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
- 	in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
- 
- 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
- 
- 	* config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
- 	redefinition.
- 
- 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*extzv_8_23): New.
- 
- 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
- 
- 	* pa64-hpux.h (JCR_SECTION_NAME): Define.
- 	(PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
- 	USE_EH_FRAME_REGISTRY when defining.
- 
- 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_a_shift): Do not output a
- 	variable shift.
- 	* config/h8300/h8300.md (two splitters): New.
- 
- 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
- 
- 	* config/mips/mips.md: Disable the movstrsi define_split.
- 
- 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* alloc-pool.c: Don't include "libiberty.h".
- 	* config/sparc/gmon-sol2.c: Include <fcntl.h>.
- 	* convert.c (convert_to_real): Hide unused variable.
- 
- 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
- 
- 	* Makefile.in (gtyp-gen.h): Const-ify.
- 	* gcov-dump.c (tag_table): Likewise.
- 
- 2003-01-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
- 	of *both* the file name and the fix name.
- 
- 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
- 
- 	* config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
- 	collect2.
- 	* pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
- 	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
- 	* pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
- 	GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
- 	GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
- 	(CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
- 	elfos.h.
- 	(EH_FRAME_IN_DATA_SECTION): Delete define.
- 	(HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
- 	(STARTFILE_SPEC): Use crtbegin.o.
- 	(ENDFILE_SPEC): Use crtend.o.
- 	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
- 	SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
- 	PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
- 	DTOR_LIST_BEGIN): Define.
- 	* pa.c (TARGET_ASM_CONSTRUCTOR): Define.
- 	(pa_asm_out_constructor, pa_asm_out_destructor): New functions.
- 	* som.h (SUPPORTS_INIT_PRIORITY): Delete define.
- 
- 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
- 
- 	* fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
- 	* fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
- 	m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
- 	Cleanup handling of replacement text.
- 	* fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
- 
- 2003-01-04  Bruce Korb  <bkorb@gnu.org>
- 
- 	* fixinc/tests/base/math.h: removed obsolete results
- 	* fixinc/tests/base/stdlib.h: ditto
- 	* fixinc/tests/base/sys/param.h: ditto
- 	* fixinc/tests/base/sys/stat.h: ditto
- 	* fixinc/tests/base/time.h: ditto
- 	* fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
- 	* fixinc/tests/base/sys/byteorder.h: ditto
- 	* fixinc/inclhack.def: Remove superfluous backslashes
- 
- 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add prototypes for
- 	the new functions defined below.
- 	* config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
- 	define.
- 	(dosize): Emit RTL instead of assembly code.
- 	(push): Likewise.
- 	(pop): Likewise.
- 	(h8300_output_function_prologue): Remove.
- 	(h8300_expand_prologue): New.
- 	(h8300_expand_epilogue): New.
- 	(h8300_output_function_epilogue): Do only the reset of
- 	pragma_saveall.
- 	* config/h8300/h8300.md (push_h8300): New.
- 	(push_h8300hs): Likewise.
- 	(pop_h8300): Likewise.
- 	(pop_h8300hs): Likewise.
- 	(*stm_h8300s_2): Change the name to stm_h8300s_2.
- 	(*stm_h8300s_3): Change the name to stm_h8300s_3.
- 	(*stm_h8300s_4): Change the name to stm_h8300s_4.
- 	(*ldm_h8300s_2): New.
- 	(*ldm_h8300s_3): Likewise.
- 	(*ldm_h8300s_4): Likewise.
- 	(return): Likewise.
- 	(*return_1): Likewise.
- 	(prologue): Likewise.
- 	(epilogue): Likewise.
- 	(monitor_prologue): Likewise.
- 
- 2003-01-03  Dale Johannesen  <dalej@apple.com>
- 
- 	* config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
- 	  machopic_picsymbol_stub1.
- 	  (EXTRA_SECTION_FUNCTIONS):  Ditto.
- 	* rs6000/rs6000.c:  Update copyright.
- 	  (machopic_output_stub):  Use them.  Remove an insn from stub code.
- 
- 2003-01-02  Jason Merrill  <jason@redhat.com>
- 
- 	* fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
- 
- 	* integrate.c (copy_decl_for_inlining): Don't clear the rtl for
- 	static/external decls.
- 
- 	* c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
- 	outermost scope.
- 	* c-decl.c (c_make_fname_decl): Push the decls there, too.
- 
- 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300-protos.h: Add a prototype for
- 	h8300_current_function_interrupt_function_p.
- 	* config/h8300/h8300.c (interrupt_handler): Remove.
- 	(os_task): Likewise.
- 	(monitor): Likewise.
- 	(pragma_interrupt): New.
- 	(WORD_REG_USED): Use
- 	h8300_current_function_interrupt_function_p.
- 	(dosize): Likewise.
- 	(h8300_output_function_prologue): Likewise.
- 	Do not set interrupt_handler, os_task, monitor.
- 	(h8300_output_function_prologue): Use
- 	h8300_current_function_interrupt_function_p.
- 	Do not set interrupt_handler, os_task, monitor.
- 	(h8300_current_function_interrupt_function_p): New.
- 	(h8300_pr_interrupt): Set pragma_interrupt.
- 	(h8300_insert_attributes): Reset pragma_interrupt.
- 
- 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
- 
- 	* doc/install.texi (Configuration): Fix markup for reference to
- 	gcc/config.gcc.
- 
- 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
- 	(*iorhi3_two_qi): Likewise.
- 	(*iorsi3_zexthi): Likewise.
- 	(*xorhi3_zextqi): Likewise.
- 	(*xorsi3_zexthi): Likewise.
- 	(*xorsi3_zextqi): Likewise.
- 
- 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (stack_pointer_operand): New.
- 	(const_int_gt_2_operand): Likewise.
- 	(const_int_ge_8_operand): Likewise.
- 	* config/h8300/h8300.md (a splitter): Likewise.
- 	(a peephole2): Likewise.
- 	* config/h8300/h8300-protos.h: Add prototypes for the new
- 	functions above.
- 
- 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
- 
- 	* objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
- 	objc/objc-act.h: Fix copyright years.
- 
- 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
- 
- 	* doc/passes.texi: Fix documentation for -fssa-ccp
- 
- 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* gccbug.in: Update for new categories.
- 
- 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.md: Reorder some patterns.
- 
- 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c (output_logical_op): Fix a warning.
- 
- 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/darwin-protos.h, config/c4x/c4x-protos.h,
- 	config/cris/cris-protos.h, config/i370/i370-protos.h,
- 	config/i960/i960-protos.h, config/ia64/ia64-protos.h,
- 	config/v850/v850-protos.h: Use struct, and don't conditionally
- 	compile on GCC_C_PRAGMA_H.
- 
- 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
- 	* config/h8300/h8300-protos.h: Likewise.
- 	* config/sh/sh-protos.h: Likewise.
- 
- 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/arm/arm-protos.h: Use struct cpp_reader instead of
- 	cpp_reader.
- 	* config/h8300/h8300-protos.h: Likewise.
- 	* config/sh/sh-protos.h: Likewise.
- 
- 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
- 	arm_pr_long_calls_off): Use struct.
- 	* config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
- 	: Similarly.
- 	Don't include cpplib.h.
- 	* config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
- 	sh_pr_nosave_low_regs): Similarly.
- 
- 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
- 
- 	* config/h8300/h8300.c: Include cpplib.h.
- 
- 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
- 
- 	* objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
- 	  objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
- 	  objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
- 	  "GCC" in the copyright header.
- 
- 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
- 
- 	* c-pragma.c (c_register_pragma): New.
- 	(init_pragma): Use it.
- 	* c-pragma.h (cpp_register_pragma): Don't declare.
- 	(c_register_pragma): New.
- 	* cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
- 	* config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
- 	* doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
- 
- See ChangeLog.8 for earlier changes.
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/DATESTAMP gcc-4.1.0/gcc/DATESTAMP
*** gcc-4.0.2/gcc/DATESTAMP	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/DATESTAMP	Tue Feb 28 00:17:25 2006
***************
*** 0 ****
--- 1 ----
+ 20060228
diff -Nrcpad gcc-4.0.2/gcc/Makefile.in gcc-4.1.0/gcc/Makefile.in
*** gcc-4.0.2/gcc/Makefile.in	Fri Sep  9 21:05:39 2005
--- gcc-4.1.0/gcc/Makefile.in	Thu Feb 16 15:23:24 2006
***************
*** 18,25 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston MA 02111-1307, USA.
  
  # The targets for external use include:
  # all, doc, proto, install, install-cross, install-cross-rest,
--- 18,25 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston MA 02110-1301, USA.
  
  # The targets for external use include:
  # all, doc, proto, install, install-cross, install-cross-rest,
*************** top_builddir = .
*** 83,90 ****
--- 83,97 ----
  # It's normally the absolute path to the current directory.
  objdir = @objdir@
  
+ host_subdir=@host_subdir@
  build_subdir=@build_subdir@
  
+ ifeq ($(host_subdir),.)
+ build_objdir := ../$(build_subdir)
+ else
+ build_objdir := ../../$(build_subdir)
+ endif
+ 
  # --------
  # Defined vpaths
  # --------
*************** LOOSE_WARN = -W -Wall -Wwrite-strings -W
*** 169,175 ****
  STRICT_WARN = @strict1_warn@
  WERROR_FLAGS = @WERROR@
  STRICT2_WARN = -pedantic -Wno-long-long -Wno-variadic-macros \
!   -Wold-style-definition $(WERROR_FLAGS)
  
  # This is set by --enable-checking.  The idea is to catch forgotten
  # "extern" tags in header files.
--- 176,182 ----
  STRICT_WARN = @strict1_warn@
  WERROR_FLAGS = @WERROR@
  STRICT2_WARN = -pedantic -Wno-long-long -Wno-variadic-macros \
!   -Wold-style-definition -Wmissing-format-attribute $(WERROR_FLAGS)
  
  # This is set by --enable-checking.  The idea is to catch forgotten
  # "extern" tags in header files.
*************** gcc.o-warn = -Wno-error
*** 193,199 ****
  build/insn-conditions.o-warn = -Wno-error
  # Bison-1.75 output often yields (harmless) -Wtraditional warnings
  build/gengtype-yacc.o-warn = -Wno-error
- c-parse.o-warn = -Wno-error
  # flex output may yield harmless "no previous prototype" warnings
  build/gengtype-lex.o-warn = -Wno-error
  # SYSCALLS.c misses prototypes
--- 200,205 ----
*************** USER_H = $(srcdir)/ginclude/float.h \
*** 307,315 ****
  	 $(srcdir)/ginclude/stdbool.h \
  	 $(srcdir)/ginclude/stddef.h \
  	 $(srcdir)/ginclude/varargs.h \
- 	 $(srcdir)/unwind.h \
  	 $(EXTRA_HEADERS)
  
  # The GCC to use for compiling libgcc.a and crt*.o.
  # Usually the one we just built.
  # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
--- 313,322 ----
  	 $(srcdir)/ginclude/stdbool.h \
  	 $(srcdir)/ginclude/stddef.h \
  	 $(srcdir)/ginclude/varargs.h \
  	 $(EXTRA_HEADERS)
  
+ UNWIND_H = $(srcdir)/unwind-generic.h
+ 
  # The GCC to use for compiling libgcc.a and crt*.o.
  # Usually the one we just built.
  # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
*************** GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./x
*** 318,324 ****
  # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
  # It omits XCFLAGS, and specifies -B./.
  # It also specifies -isystem ./include to find, e.g., stddef.h.
! GCC_CFLAGS=$(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_WARN) -Wold-style-definition $($@-warn) -isystem ./include $(TCFLAGS)
  
  # ---------------------------------------------------
  # Programs which produce files for the target machine
--- 325,331 ----
  # This is used instead of ALL_CFLAGS when compiling with GCC_FOR_TARGET.
  # It omits XCFLAGS, and specifies -B./.
  # It also specifies -isystem ./include to find, e.g., stddef.h.
! GCC_CFLAGS=$(CFLAGS_FOR_TARGET) $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(LOOSE_WARN) -Wold-style-definition $($@-warn) -isystem ./include $(TCFLAGS)
  
  # ---------------------------------------------------
  # Programs which produce files for the target machine
*************** AR_FOR_TARGET := $(shell \
*** 337,342 ****
--- 344,351 ----
  AR_FLAGS_FOR_TARGET =
  AR_CREATE_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) rc
  AR_EXTRACT_FOR_TARGET = $(AR_FOR_TARGET) $(AR_FLAGS_FOR_TARGET) x
+ LIPO_FOR_TARGET = lipo
+ ORIGINAL_AS_FOR_TARGET = @ORIGINAL_AS_FOR_TARGET@
  RANLIB_FOR_TARGET := $(shell \
    if [ -f $(objdir)/../binutils/ranlib ] ; then \
      echo $(objdir)/../binutils/ranlib ; \
*************** RANLIB_FOR_TARGET := $(shell \
*** 347,362 ****
         t='$(program_transform_name)'; echo ranlib | sed -e $$t ; \
      fi; \
    fi)
! NM_FOR_TARGET := $(shell \
!   if [ -f ./nm ] ; then \
!     echo ./nm ; \
!   elif [ -f $(objdir)/../binutils/nm-new ] ; then \
!     echo $(objdir)/../binutils/nm-new ; \
    else \
      if [ "$(host)" = "$(target)" ] ; then \
!       echo $(NM); \
      else \
!        t='$(program_transform_name)'; echo nm | sed -e $$t ; \
      fi; \
    fi)
  
--- 356,372 ----
         t='$(program_transform_name)'; echo ranlib | sed -e $$t ; \
      fi; \
    fi)
! ORIGINAL_LD_FOR_TARGET = @ORIGINAL_LD_FOR_TARGET@
! ORIGINAL_NM_FOR_TARGET = @ORIGINAL_NM_FOR_TARGET@
! NM_FOR_TARGET = ./nm
! STRIP_FOR_TARGET := $(shell \
!   if [ -f $(objdir)/../binutils/strip ] ; then \
!     echo $(objdir)/../binutils/strip ; \
    else \
      if [ "$(host)" = "$(target)" ] ; then \
!       echo strip; \
      else \
!        t='$(program_transform_name)'; echo strip | sed -e $$t ; \
      fi; \
    fi)
  
*************** GCC_THREAD_FILE=@thread_file@
*** 419,429 ****
  OBJC_BOEHM_GC=@objc_boehm_gc@
  GTHREAD_FLAGS=@gthread_flags@
  extra_modes_file=@extra_modes_file@
  host_hook_obj=@out_host_hook_obj@
- # Be prepared for gcc2 merges.
- gcc_version=@gcc_version@
- gcc_version_trigger=@gcc_version_trigger@
- version=$(gcc_version)
  
  # ------------------------
  # Installation directories
--- 429,436 ----
  OBJC_BOEHM_GC=@objc_boehm_gc@
  GTHREAD_FLAGS=@gthread_flags@
  extra_modes_file=@extra_modes_file@
+ extra_opt_files=@extra_opt_files@
  host_hook_obj=@out_host_hook_obj@
  
  # ------------------------
  # Installation directories
*************** GGC_LIB=
*** 515,524 ****
  LIBGCC = libgcc.a
  INSTALL_LIBGCC = install-libgcc
  
  # Options to use when compiling libgcc2.a.
  #
  LIBGCC2_DEBUG_CFLAGS = -g
! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED @inhibit_libc@
  
  # Additional options to use when compiling libgcc2.a.
  # Some targets override this to -isystem include
--- 522,541 ----
  LIBGCC = libgcc.a
  INSTALL_LIBGCC = install-libgcc
  
+ # "true" if the target C library headers are unavailable; "false"
+ # otherwise.
+ inhibit_libc = @inhibit_libc@
+ ifeq ($(inhibit_libc),true)
+ INHIBIT_LIBC_CFLAGS = -Dinhibit_libc
+ endif
+ 
  # Options to use when compiling libgcc2.a.
  #
  LIBGCC2_DEBUG_CFLAGS = -g
! LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \
! 		 $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \
! 		 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
! 		 $(INHIBIT_LIBC_CFLAGS)
  
  # Additional options to use when compiling libgcc2.a.
  # Some targets override this to -isystem include
*************** TARGET_LIBGCC2_CFLAGS =
*** 530,543 ****
  # Options to use when compiling crtbegin/end.
  CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
    -finhibit-size-directive -fno-inline-functions -fno-exceptions \
!   -fno-zero-initialized-in-bss -fno-unit-at-a-time
  
  # Additional sources to handle exceptions; overridden by targets as needed.
  LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
     $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
  LIB2ADDEHSTATIC = $(LIB2ADDEH)
  LIB2ADDEHSHARED = $(LIB2ADDEH)
! LIB2ADDEHDEP = unwind.h unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h
  
  # Don't build libunwind by default.
  LIBUNWIND =
--- 547,561 ----
  # Options to use when compiling crtbegin/end.
  CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
    -finhibit-size-directive -fno-inline-functions -fno-exceptions \
!   -fno-zero-initialized-in-bss -fno-unit-at-a-time \
!   $(INHIBIT_LIBC_CFLAGS)
  
  # Additional sources to handle exceptions; overridden by targets as needed.
  LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
     $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
  LIB2ADDEHSTATIC = $(LIB2ADDEH)
  LIB2ADDEHSHARED = $(LIB2ADDEH)
! LIB2ADDEHDEP = $(UNWIND_H) unwind-pe.h unwind.inc unwind-dw2-fde.h unwind-dw2.h
  
  # Don't build libunwind by default.
  LIBUNWIND =
*************** CONFIG_H  = config.h  $(host_xm_file_lis
*** 679,686 ****
  TCONFIG_H = tconfig.h $(xm_file_list)
  TM_P_H    = tm_p.h    $(tm_p_file_list)
  GTM_H     = tm.h      $(tm_file_list)
! TM_H      = $(GTM_H) insn-constants.h insn-flags.h
  
  TARGET_H = $(TM_H) target.h insn-modes.h
  MACHMODE_H = machmode.h mode-classes.def insn-modes.h
  HOOKS_H = hooks.h $(MACHMODE_H)
--- 697,725 ----
  TCONFIG_H = tconfig.h $(xm_file_list)
  TM_P_H    = tm_p.h    $(tm_p_file_list)
  GTM_H     = tm.h      $(tm_file_list)
! TM_H      = $(GTM_H) insn-constants.h insn-flags.h options.h
! 
! # Variables for version information.
! BASEVER     := $(srcdir)/BASE-VER  # 4.x.y
! DEVPHASE    := $(srcdir)/DEV-PHASE # experimental, prerelease, ""
! DATESTAMP   := $(srcdir)/DATESTAMP # YYYYMMDD or empty
  
+ BASEVER_c   := $(shell cat $(BASEVER))
+ DEVPHASE_c  := $(shell cat $(DEVPHASE))
+ DATESTAMP_c := $(shell cat $(DATESTAMP))
+ 
+ version     := $(BASEVER_c)
+ 
+ # For use in version.c - double quoted strings, with appropriate
+ # surrounding punctuation and spaces, and with the datestamp and
+ # development phase collapsed to the empty string in release mode
+ # (i.e. if DEVPHASE_c is empty).  The space immediately after the
+ # comma in the $(if ...) constructs is significant - do not remove it.
+ BASEVER_s   := "\"$(BASEVER_c)\""
+ DEVPHASE_s  := "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\""
+ DATESTAMP_s := "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\""
+ 
+ # Shorthand variables for dependency lists.
  TARGET_H = $(TM_H) target.h insn-modes.h
  MACHMODE_H = machmode.h mode-classes.def insn-modes.h
  HOOKS_H = hooks.h $(MACHMODE_H)
*************** HOSTHOOKS_DEF_H = hosthooks-def.h $(HOOK
*** 688,701 ****
  LANGHOOKS_DEF_H = langhooks-def.h $(HOOKS_H)
  TARGET_DEF_H = target-def.h $(HOOKS_H)
  RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H) reg-notes.def insn-notes.def \
!   input.h statistics.h
  RTL_H = $(RTL_BASE_H) genrtl.h
  PARAMS_H = params.h params.def
  TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h builtins.def \
!           input.h statistics.h vec.h
  BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \
            hard-reg-set.h cfghooks.h $(OBSTACK_H)
! COVERAGE_H = coverage.h gcov-io.h gcov-iov.h
  DEMANGLE_H = $(srcdir)/../include/demangle.h
  RECOG_H = recog.h
  ALIAS_H = alias.h
--- 727,741 ----
  LANGHOOKS_DEF_H = langhooks-def.h $(HOOKS_H)
  TARGET_DEF_H = target-def.h $(HOOKS_H)
  RTL_BASE_H = rtl.h rtl.def $(MACHMODE_H) reg-notes.def insn-notes.def \
!   input.h real.h statistics.h
  RTL_H = $(RTL_BASE_H) genrtl.h
  PARAMS_H = params.h params.def
  TREE_H = tree.h tree.def $(MACHMODE_H) tree-check.h builtins.def \
!           input.h statistics.h vec.h treestruct.def
  BASIC_BLOCK_H = basic-block.h bitmap.h sbitmap.h varray.h $(PARTITION_H) \
            hard-reg-set.h cfghooks.h $(OBSTACK_H)
! GCOV_IO_H = gcov-io.h gcov-iov.h auto-host.h
! COVERAGE_H = coverage.h $(GCOV_IO_H)
  DEMANGLE_H = $(srcdir)/../include/demangle.h
  RECOG_H = recog.h
  ALIAS_H = alias.h
*************** EMIT_RTL_H = emit-rtl.h
*** 703,724 ****
  FLAGS_H = flags.h options.h
  EXPR_H = expr.h insn-config.h function.h $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
  OPTABS_H = optabs.h insn-codes.h
! REGS_H = regs.h varray.h $(MACHMODE_H) $(OBSTACK_H) $(BASIC_BLOCK_H)
  RESOURCE_H = resource.h hard-reg-set.h
  SCHED_INT_H = sched-int.h $(INSN_ATTR_H) $(BASIC_BLOCK_H) $(RTL_H)
  INTEGRATE_H = integrate.h varray.h
  CFGLAYOUT_H = cfglayout.h $(BASIC_BLOCK_H)
  CFGLOOP_H = cfgloop.h $(BASIC_BLOCK_H) $(RTL_H)
! CGRAPH_H = cgraph.h tree.h 
  DF_H = df.h bitmap.h sbitmap.h $(BASIC_BLOCK_H)
  DDG_H = ddg.h sbitmap.h $(DF_H)
  GCC_H = gcc.h version.h
  GGC_H = ggc.h gtype-desc.h
  TIMEVAR_H = timevar.h timevar.def
  INSN_ATTR_H = insn-attr.h $(srcdir)/insn-addr.h $(srcdir)/varray.h
! C_COMMON_H = c-common.h $(SPLAY_TREE_H) $(CPPLIB_H)
  C_PRAGMA_H = c-pragma.h $(CPPLIB_H)
! C_TREE_H = c-tree.h $(C_COMMON_H)
  SYSTEM_H = system.h hwint.h $(srcdir)/../include/libiberty.h
  PREDICT_H = predict.h predict.def
  CPPLIB_H = $(srcdir)/../libcpp/include/line-map.h \
--- 743,767 ----
  FLAGS_H = flags.h options.h
  EXPR_H = expr.h insn-config.h function.h $(RTL_H) $(FLAGS_H) $(TREE_H) $(MACHMODE_H) $(EMIT_RTL_H)
  OPTABS_H = optabs.h insn-codes.h
! REGS_H = regs.h varray.h $(MACHMODE_H) $(OBSTACK_H) $(BASIC_BLOCK_H) $(FUNCTION_H)
  RESOURCE_H = resource.h hard-reg-set.h
  SCHED_INT_H = sched-int.h $(INSN_ATTR_H) $(BASIC_BLOCK_H) $(RTL_H)
  INTEGRATE_H = integrate.h varray.h
  CFGLAYOUT_H = cfglayout.h $(BASIC_BLOCK_H)
  CFGLOOP_H = cfgloop.h $(BASIC_BLOCK_H) $(RTL_H)
! IPA_UTILS_H = ipa-utils.h $(TREE_H) $(CGRAPH_H) 
! IPA_REFERENCE_H = ipa-reference.h bitmap.h $(TREE_H)  
! IPA_TYPE_ESCAPE_H = ipa-type-escape.h $(TREE_H)  
! CGRAPH_H = cgraph.h $(TREE_H)
  DF_H = df.h bitmap.h sbitmap.h $(BASIC_BLOCK_H)
  DDG_H = ddg.h sbitmap.h $(DF_H)
  GCC_H = gcc.h version.h
  GGC_H = ggc.h gtype-desc.h
  TIMEVAR_H = timevar.h timevar.def
  INSN_ATTR_H = insn-attr.h $(srcdir)/insn-addr.h $(srcdir)/varray.h
! C_COMMON_H = c-common.h $(SPLAY_TREE_H) $(CPPLIB_H) $(GGC_H)
  C_PRAGMA_H = c-pragma.h $(CPPLIB_H)
! C_TREE_H = c-tree.h $(C_COMMON_H) toplev.h $(DIAGNOSTIC_H)
  SYSTEM_H = system.h hwint.h $(srcdir)/../include/libiberty.h
  PREDICT_H = predict.h predict.def
  CPPLIB_H = $(srcdir)/../libcpp/include/line-map.h \
*************** TREE_DUMP_H = tree-dump.h $(SPLAY_TREE_H
*** 730,743 ****
  TREE_GIMPLE_H = tree-gimple.h tree-iterator.h
  TREE_FLOW_H = tree-flow.h tree-flow-inline.h tree-ssa-operands.h \
  		bitmap.h $(BASIC_BLOCK_H) hard-reg-set.h $(TREE_GIMPLE_H) \
! 		$(HASHTAB_H) $(CGRAPH_H)
  TREE_SSA_LIVE_H = tree-ssa-live.h $(PARTITION_H)
  PRETTY_PRINT_H = pretty-print.h input.h $(OBSTACK_H)
  DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
  C_PRETTY_PRINT_H = c-pretty-print.h $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H)
! SCEV_H = tree-scalar-evolution.h $(GGC_H) tree-chrec.h
  LAMBDA_H = lambda.h tree.h vec.h $(GGC_H)
  TREE_DATA_REF_H = tree-data-ref.h $(LAMBDA_H)
  
  #
  # Now figure out from those variables how to compile and link.
--- 773,787 ----
  TREE_GIMPLE_H = tree-gimple.h tree-iterator.h
  TREE_FLOW_H = tree-flow.h tree-flow-inline.h tree-ssa-operands.h \
  		bitmap.h $(BASIC_BLOCK_H) hard-reg-set.h $(TREE_GIMPLE_H) \
! 		$(HASHTAB_H) $(CGRAPH_H) $(IPA_REFERENCE_H)
  TREE_SSA_LIVE_H = tree-ssa-live.h $(PARTITION_H)
  PRETTY_PRINT_H = pretty-print.h input.h $(OBSTACK_H)
  DIAGNOSTIC_H = diagnostic.h diagnostic.def $(PRETTY_PRINT_H)
  C_PRETTY_PRINT_H = c-pretty-print.h $(PRETTY_PRINT_H) $(C_COMMON_H) $(TREE_H)
! SCEV_H = tree-scalar-evolution.h $(GGC_H) tree-chrec.h $(PARAMS_H)
  LAMBDA_H = lambda.h tree.h vec.h $(GGC_H)
  TREE_DATA_REF_H = tree-data-ref.h $(LAMBDA_H)
+ VARRAY_H = varray.h $(MACHMODE_H) $(SYSTEM_H) coretypes.h $(TM_H)
  
  #
  # Now figure out from those variables how to compile and link.
*************** ALL_CPPFLAGS = $(INCLUDES) $(CPPFLAGS) $
*** 759,765 ****
  
  # Build and host support libraries.
  LIBIBERTY = ../libiberty/libiberty.a
! BUILD_LIBIBERTY = ../$(build_subdir)/libiberty/libiberty.a
  
  # Dependencies on the intl and portability libraries.
  LIBDEPS= $(CPPLIB) $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP)
--- 803,809 ----
  
  # Build and host support libraries.
  LIBIBERTY = ../libiberty/libiberty.a
! BUILD_LIBIBERTY = $(build_objdir)/libiberty/libiberty.a
  
  # Dependencies on the intl and portability libraries.
  LIBDEPS= $(CPPLIB) $(LIBIBERTY) $(LIBINTL_DEP) $(LIBICONV_DEP)
*************** export INCLUDES
*** 830,837 ****
--- 874,883 ----
  export INSTALL_DATA
  export LIB1ASMSRC
  export LIBGCC2_CFLAGS
+ export LIPO_FOR_TARGET
  export MACHMODE_H
  export NM_FOR_TARGET
+ export STRIP_FOR_TARGET
  export RANLIB_FOR_TARGET
  export libsubdir
  export slibdir
*************** SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_
*** 876,881 ****
--- 922,930 ----
  #
  # Lists of files for various purposes.
  
+ # All option source files
+ ALL_OPT_FILES=$(lang_opt_files) $(extra_opt_files)
+ 
  # Target specific, C specific object file
  C_TARGET_OBJS=@c_target_objs@
  
*************** CXX_TARGET_OBJS=@cxx_target_objs@
*** 886,911 ****
  C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
    c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \
    c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \
!   c-objc-common.o c-dump.o c-pch.o $(C_TARGET_OBJS) \
    c-gimplify.o tree-mudflap.o c-pretty-print.o
  
  # Language-specific object files for C.
! C_OBJS = c-parse.o c-lang.o stub-objc.o $(C_AND_OBJC_OBJS)
  
  # Language-independent object files.
  OBJS-common = \
   tree-chrec.o tree-scalar-evolution.o tree-data-ref.o			   \
   tree-cfg.o tree-dfa.o tree-eh.o tree-ssa.o tree-optimize.o tree-gimple.o  \
!  gimplify.o tree-pretty-print.o tree-into-ssa.o          \
!  tree-outof-ssa.o tree-ssa-ccp.o tree-vn.o             \
!  tree-ssa-dce.o  tree-ssa-copy.o tree-nrv.o tree-ssa-copyrename.o  \
   tree-ssa-pre.o tree-ssa-live.o tree-ssa-operands.o tree-ssa-alias.o       \
   tree-ssa-phiopt.o tree-ssa-forwprop.o tree-nested.o tree-ssa-dse.o	   \
   tree-ssa-dom.o domwalk.o tree-tailcall.o gimple-low.o tree-iterator.o	   \
!  tree-phinodes.o tree-ssanames.o tree-sra.o tree-complex.o tree-ssa-loop.o \
!  tree-ssa-loop-niter.o tree-ssa-loop-manip.o tree-ssa-threadupdate.o	   \
   tree-vectorizer.o tree-vect-analyze.o tree-vect-transform.o		   \
!  tree-ssa-loop-ivcanon.o tree-ssa-propagate.o	 	   		   \
   tree-ssa-loop-ivopts.o tree-if-conv.o tree-ssa-loop-unswitch.o		   \
   alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o	  	   \
   cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfglayout.o cfgloop.o		   \
--- 935,962 ----
  C_AND_OBJC_OBJS = attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
    c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o \
    c-incpath.o cppdefault.o c-ppoutput.o c-cppbuiltin.o prefix.o \
!   c-objc-common.o c-dump.o c-pch.o c-parser.o $(C_TARGET_OBJS) \
    c-gimplify.o tree-mudflap.o c-pretty-print.o
  
  # Language-specific object files for C.
! C_OBJS = c-lang.o stub-objc.o $(C_AND_OBJC_OBJS)
  
  # Language-independent object files.
  OBJS-common = \
   tree-chrec.o tree-scalar-evolution.o tree-data-ref.o			   \
   tree-cfg.o tree-dfa.o tree-eh.o tree-ssa.o tree-optimize.o tree-gimple.o  \
!  gimplify.o tree-pretty-print.o tree-into-ssa.o				   \
!  tree-outof-ssa.o tree-ssa-ccp.o tree-vn.o tree-ssa-uncprop.o		   \
!  tree-ssa-dce.o  tree-ssa-copy.o tree-nrv.o tree-ssa-copyrename.o	   \
   tree-ssa-pre.o tree-ssa-live.o tree-ssa-operands.o tree-ssa-alias.o       \
   tree-ssa-phiopt.o tree-ssa-forwprop.o tree-nested.o tree-ssa-dse.o	   \
   tree-ssa-dom.o domwalk.o tree-tailcall.o gimple-low.o tree-iterator.o	   \
!  tree-phinodes.o tree-ssanames.o tree-sra.o tree-complex.o		   \
!  tree-vect-generic.o tree-ssa-loop.o tree-ssa-loop-niter.o		   \
!  tree-ssa-loop-manip.o tree-ssa-threadupdate.o				   \
   tree-vectorizer.o tree-vect-analyze.o tree-vect-transform.o		   \
!  tree-ssa-loop-ivcanon.o tree-ssa-propagate.o tree-ssa-address.o	   \
!  tree-ssa-math-opts.o							   \
   tree-ssa-loop-ivopts.o tree-if-conv.o tree-ssa-loop-unswitch.o		   \
   alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o	  	   \
   cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfglayout.o cfgloop.o		   \
*************** OBJS-common = \
*** 919,927 ****
   haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o	   \
   insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o	   \
   integrate.o intl.o jump.o  langhooks.o lcm.o lists.o local-alloc.o  	   \
!  loop.o modulo-sched.o optabs.o options.o opts.o			   \
   params.o postreload.o postreload-gcse.o predict.o			   \
!  insn-preds.o pointer-set.o postreload.o				   \
   print-rtl.o print-tree.o profile.o value-prof.o var-tracking.o		   \
   real.o recog.o reg-stack.o regclass.o regmove.o regrename.o		   \
   reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o	   \
--- 970,978 ----
   haifa-sched.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-modes.o	   \
   insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o	   \
   integrate.o intl.o jump.o  langhooks.o lcm.o lists.o local-alloc.o  	   \
!  loop.o mode-switching.o modulo-sched.o optabs.o options.o opts.o	   \
   params.o postreload.o postreload-gcse.o predict.o			   \
!  insn-preds.o pointer-set.o 					   	   \
   print-rtl.o print-tree.o profile.o value-prof.o var-tracking.o		   \
   real.o recog.o reg-stack.o regclass.o regmove.o regrename.o		   \
   reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o	   \
*************** OBJS-common = \
*** 930,941 ****
   targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o		   \
   varasm.o varray.o vec.o version.o vmsdbgout.o xcoffout.o alloc-pool.o	   \
   et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o passes.o	   \
!  rtl-profile.o tree-profile.o rtlhooks.o cfgexpand.o lambda-mat.o          \
!  lambda-trans.o	lambda-code.o tree-loop-linear.o
  
  OBJS-md = $(out_object_file)
  OBJS-archive = $(EXTRA_OBJS) $(host_hook_obj) tree-inline.o		   \
!   cgraph.o cgraphunit.o tree-nomudflap.o
  
  OBJS = $(OBJS-common) $(out_object_file) $(OBJS-archive)
  
--- 981,997 ----
   targhooks.o timevar.o toplev.o tracer.o tree.o tree-dump.o		   \
   varasm.o varray.o vec.o version.o vmsdbgout.o xcoffout.o alloc-pool.o	   \
   et-forest.o cfghooks.o bt-load.o pretty-print.o $(GGC) web.o passes.o	   \
!  tree-profile.o rtlhooks.o cfgexpand.o lambda-mat.o    			   \
!  lambda-trans.o	lambda-code.o tree-loop-linear.o tree-ssa-sink.o 	   \
!  tree-vrp.o tree-stdarg.o tree-cfgcleanup.o tree-ssa-reassoc.o		   \
!  tree-ssa-structalias.o tree-object-size.o
! 
  
  OBJS-md = $(out_object_file)
  OBJS-archive = $(EXTRA_OBJS) $(host_hook_obj) tree-inline.o		   \
!   cgraph.o cgraphunit.o tree-nomudflap.o ipa.o ipa-inline.o                \
!   ipa-utils.o ipa-reference.o ipa-pure-const.o ipa-type-escape.o           \
!   ipa-prop.o ipa-cp.o
  
  OBJS = $(OBJS-common) $(out_object_file) $(OBJS-archive)
  
*************** STAGECOPYSTUFF = insn-flags.h insn-confi
*** 953,964 ****
  
  # Files to be moved away after each stage in building.
  STAGEMOVESTUFF = *$(objext) s-* \
!  xgcc$(exeext) cpp$(exeext) cc1$(exeext) $(EXTRA_PASSES) \
   $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
   protoize$(exeext) unprotoize$(exeext) \
   $(SPECS) collect2$(exeext) \
   gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
!  *.[0-9][0-9].* *.[si] libbackend.a libgcc.mk \
   $(LANG_STAGESTUFF)
  
  # Defined in libgcc2.c, included only in the static library.
--- 1009,1020 ----
  
  # Files to be moved away after each stage in building.
  STAGEMOVESTUFF = *$(objext) s-* \
!  xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \
   $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \
   protoize$(exeext) unprotoize$(exeext) \
   $(SPECS) collect2$(exeext) \
   gcov-iov$(build_exeext) gcov$(exeext) gcov-dump$(exeext) \
!  *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a libgcc.mk \
   $(LANG_STAGESTUFF)
  
  # Defined in libgcc2.c, included only in the static library.
*************** LIB2FUNCS_ST = _eprintf __gcc_bcmp
*** 967,973 ****
  # Defined in libgcov.c, included only in gcov library
  LIBGCOV = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
      _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
!     _gcov_execv _gcov_execvp _gcov_execve
  
  FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
      _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
--- 1023,1030 ----
  # Defined in libgcov.c, included only in gcov library
  LIBGCOV = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
      _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
!     _gcov_execv _gcov_execvp _gcov_execve \
!     _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler
  
  FPBIT_FUNCS = _pack_sf _unpack_sf _addsub_sf _mul_sf _div_sf \
      _fpcmp_parts_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
*************** LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udi
*** 1007,1015 ****
  # language hooks, generated by configure
  @language_hooks@
  
- # Set up library path if needed.
- @set_gcc_lib_path@
- 
  # per-language makefile fragments
  ifneq ($(LANG_MAKEFRAGS),)
  include $(LANG_MAKEFRAGS)
--- 1064,1069 ----
*************** endif
*** 1034,1040 ****
  # Rebuilding this configuration
  # -----------------------------
  
! Makefile: config.status $(srcdir)/Makefile.in $(srcdir)/version.c $(LANG_MAKEFRAGS)
  	LANGUAGES="$(CONFIG_LANGUAGES)" \
  	CONFIG_HEADERS= \
  	CONFIG_SHELL="$(SHELL)" \
--- 1088,1094 ----
  # Rebuilding this configuration
  # -----------------------------
  
! Makefile: config.status $(srcdir)/Makefile.in $(LANG_MAKEFRAGS)
  	LANGUAGES="$(CONFIG_LANGUAGES)" \
  	CONFIG_HEADERS= \
  	CONFIG_SHELL="$(SHELL)" \
*************** cs-bconfig.h: Makefile
*** 1058,1064 ****
  
  cs-tconfig.h: Makefile
  	TARGET_CPU_DEFAULT="" \
! 	HEADERS="$(xm_include_list)" DEFINES="$(xm_defines)" \
  	$(SHELL) $(srcdir)/mkconfig.sh tconfig.h
  
  cs-tm.h: Makefile
--- 1112,1118 ----
  
  cs-tconfig.h: Makefile
  	TARGET_CPU_DEFAULT="" \
! 	HEADERS="$(xm_include_list)" DEFINES="USED_FOR_TARGET $(xm_defines)" \
  	$(SHELL) $(srcdir)/mkconfig.sh tconfig.h
  
  cs-tm.h: Makefile
*************** cstamp-h: config.in config.status
*** 1111,1117 ****
  # Really, really stupid make features, such as SUN's KEEP_STATE, may force
  # a target to build even if it is up-to-date.  So we must verify that
  # config.status does not exist before failing.
! config.status: $(srcdir)/configure $(srcdir)/config.gcc version.c
  	@if [ ! -f config.status ] ; then \
  	  echo You must configure gcc.  Look at http://gcc.gnu.org/install/ for details.; \
  	  false; \
--- 1165,1171 ----
  # Really, really stupid make features, such as SUN's KEEP_STATE, may force
  # a target to build even if it is up-to-date.  So we must verify that
  # config.status does not exist before failing.
! config.status: $(srcdir)/configure $(srcdir)/config.gcc
  	@if [ ! -f config.status ] ; then \
  	  echo You must configure gcc.  Look at http://gcc.gnu.org/install/ for details.; \
  	  false; \
*************** cpp$(exeext): gcc.o cppspec.o version.o 
*** 1174,1179 ****
--- 1228,1287 ----
  	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ gcc.o cppspec.o intl.o \
  	  prefix.o version.o $(EXTRA_GCC_OBJS) $(LIBS)
  
+ # Create links to binutils, especially for in-tree builds, to make -B.
+ # use them.  We need hard links so that directories can be shuffled
+ # during toplevel bootstrap.
+ # Go through an additional indirection, because the file we create
+ # can be either `sometool' (if it is a script) or `sometool$(exeext)'
+ # (if it is a hard link).
+ stamp-as: $(ORIGINAL_AS_FOR_TARGET)
+ 	@echo creating as; \
+ 	case "$(ORIGINAL_AS_FOR_TARGET)" in \
+ 	  ./as) ;; \
+ 	  ../*) \
+ 	     rm -f as$(exeext); \
+ 	     echo $(LN) $< as$(exeext); \
+ 	     $(LN) $< as$(exeext) || cp $< as$(exeext) ;; \
+ 	  *) \
+ 	     rm -f as; \
+ 	     echo '#!$(SHELL)' > as; \
+ 	     echo 'exec $(ORIGINAL_AS_FOR_TARGET) "$$@"' >> as ; \
+ 	     chmod +x as ;; \
+ 	esac
+ 	echo timestamp > $@
+ 
+ stamp-collect-ld: $(ORIGINAL_LD_FOR_TARGET)
+ 	@echo creating collect-ld; \
+ 	case "$(ORIGINAL_LD_FOR_TARGET)" in \
+ 	  ./collect-ld) ;; \
+ 	  ../*) \
+ 	     rm -f collect-ld$(exeext); \
+ 	     echo $(LN) $< collect-ld$(exeext); \
+ 	     $(LN) $< collect-ld$(exeext) || cp $< collect-ld$(exeext) ;; \
+ 	  *) \
+ 	     rm -f collect-ld$(exeext); \
+ 	     echo '#!$(SHELL)' > collect-ld; \
+ 	     echo 'exec $(ORIGINAL_LD_FOR_TARGET) "$$@"' >> collect-ld ; \
+ 	     chmod +x collect-ld ;; \
+ 	esac
+ 	echo timestamp > $@
+ 
+ stamp-nm: $(ORIGINAL_NM_FOR_TARGET)
+ 	@echo creating nm; \
+ 	case "$(ORIGINAL_NM_FOR_TARGET)" in \
+ 	  ./nm) ;; \
+ 	  ../*) \
+ 	     rm -f nm$(exeext); \
+ 	     echo $(LN) $< nm$(exeext); \
+ 	     $(LN) $< nm$(exeext) || cp $< nm$(exeext) ;; \
+ 	  *) \
+ 	     rm -f nm$(exeext); \
+ 	     echo '#!$(SHELL)' > nm; \
+ 	     echo 'exec $(ORIGINAL_NM_FOR_TARGET) "$$@"' >> nm ; \
+ 	     chmod +x nm ;; \
+ 	esac
+ 	echo timestamp > $@
+ 
  # Dump a specs file to make -B./ read these specs over installed ones.
  $(SPECS): xgcc$(exeext)
  	$(GCC_FOR_TARGET) -dumpspecs > tmp-specs
*************** $(SPECS): xgcc$(exeext)
*** 1185,1193 ****
  gcc-cross: xgcc$(exeext)
  	cp xgcc$(exeext) gcc-cross$(exeext)
  
! cc1$(exeext): $(C_OBJS) $(BACKEND) $(LIBDEPS)
! 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o cc1$(exeext) \
! 		$(C_OBJS) $(BACKEND) $(LIBS)
  
  # Build the version of limits.h that we will install.
  xlimits.h: glimits.h limitx.h limity.h
--- 1293,1310 ----
  gcc-cross: xgcc$(exeext)
  	cp xgcc$(exeext) gcc-cross$(exeext)
  
! cc1-dummy$(exeext): $(C_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS)
! 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) dummy-checksum.o \
! 	  $(BACKEND) $(LIBS)
! 
! cc1-checksum.c : cc1-dummy$(exeext) build/genchecksum$(build_exeext)
! 	build/genchecksum$(build_exeext) cc1-dummy$(exeext) > $@
! 
! cc1-checksum.o : cc1-checksum.c
! 
! cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
! 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) cc1-checksum.o \
! 	  $(BACKEND) $(LIBS)
  
  # Build the version of limits.h that we will install.
  xlimits.h: glimits.h limitx.h limity.h
*************** xlimits.h: glimits.h limitx.h limity.h
*** 1203,1209 ****
  LIB2ADD = $(LIB2FUNCS_EXTRA)
  LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
  
! libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext) specs
  	objext='$(objext)' \
  	LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \
  	LIB2FUNCS_ST='$(LIB2FUNCS_ST)' \
--- 1320,1327 ----
  LIB2ADD = $(LIB2FUNCS_EXTRA)
  LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
  
! libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) specs \
! 		xgcc$(exeext) stamp-as stamp-collect-ld stamp-nm
  	objext='$(objext)' \
  	LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \
  	LIB2FUNCS_ST='$(LIB2FUNCS_ST)' \
*************** libgcc.mk: config.status Makefile mklibg
*** 1237,1242 ****
--- 1355,1361 ----
  	SHLIB_NM_FLAGS='$(SHLIB_NM_FLAGS)' \
  	MULTILIB_OSDIRNAMES='$(MULTILIB_OSDIRNAMES)' \
  	ASM_HIDDEN_OP='$(ASM_HIDDEN_OP)' \
+ 	GCC_FOR_TARGET='$(GCC_FOR_TARGET)' \
  	mkinstalldirs='$(mkinstalldirs)' \
  	  $(SHELL) mklibgcc > tmp-libgcc.mk
  	mv tmp-libgcc.mk libgcc.mk
*************** libgcc.mk: config.status Makefile mklibg
*** 1244,1250 ****
  # All the things that might cause us to want to recompile bits of libgcc.
  LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
  	libgcc.mk $(srcdir)/libgcc2.c $(srcdir)/libgcov.c $(TCONFIG_H) \
! 	$(MACHMODE_H) longlong.h gbl-ctors.h config.status \
  	tsystem.h $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
  	$(LIB2ADD_ST) $(LIB2ADDEH) $(LIB2ADDEHDEP) $(EXTRA_PARTS) \
  	$(srcdir)/config/$(LIB1ASMSRC) \
--- 1363,1369 ----
  # All the things that might cause us to want to recompile bits of libgcc.
  LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
  	libgcc.mk $(srcdir)/libgcc2.c $(srcdir)/libgcov.c $(TCONFIG_H) \
! 	$(MACHMODE_H) longlong.h gbl-ctors.h config.status $(srcdir)/libgcc2.h \
  	tsystem.h $(FPBIT) $(DPBIT) $(TPBIT) $(LIB2ADD) \
  	$(LIB2ADD_ST) $(LIB2ADDEH) $(LIB2ADDEHDEP) $(EXTRA_PARTS) \
  	$(srcdir)/config/$(LIB1ASMSRC) \
*************** stmp-multilib: $(LIBGCC_DEPS)
*** 1299,1331 ****
  $(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN \
  	  -o $(T)crtbegin$(objext)
  
  $(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_END \
  	  -o $(T)crtend$(objext)
  
  # These are versions of crtbegin and crtend for shared libraries.
  $(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
! 	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \
  	  -o $(T)crtbeginS$(objext)
  
  $(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
! 	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_END -DCRTSTUFFS_O \
  	  -o $(T)crtendS$(objext)
  
  # This is a version of crtbegin for -static links.
  $(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  @inhibit_libc@ -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \
  	  -o $(T)crtbeginT$(objext)
  
  # Compile the start modules crt0.o and mcrt0.o that are linked with
--- 1418,1450 ----
  $(T)crtbegin.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN \
  	  -o $(T)crtbegin$(objext)
  
  $(T)crtend.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  -c $(srcdir)/crtstuff.c -DCRT_END \
  	  -o $(T)crtend$(objext)
  
  # These are versions of crtbegin and crtend for shared libraries.
  $(T)crtbeginS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
! 	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFS_O \
  	  -o $(T)crtbeginS$(objext)
  
  $(T)crtendS.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS_S) \
! 	  -c $(srcdir)/crtstuff.c -DCRT_END -DCRTSTUFFS_O \
  	  -o $(T)crtendS$(objext)
  
  # This is a version of crtbegin for -static links.
  $(T)crtbeginT.o: crtstuff.c $(GCC_PASSES) $(TCONFIG_H) auto-host.h \
    gbl-ctors.h stmp-int-hdrs tsystem.h coretypes.h $(TM_H)
  	$(GCC_FOR_TARGET) $(CRTSTUFF_CFLAGS) $(CRTSTUFF_T_CFLAGS) \
! 	  -c $(srcdir)/crtstuff.c -DCRT_BEGIN -DCRTSTUFFT_O \
  	  -o $(T)crtbeginT$(objext)
  
  # Compile the start modules crt0.o and mcrt0.o that are linked with
*************** s-crt0:	$(CRT0_S) $(MCRT0_S) $(GCC_PASSE
*** 1349,1372 ****
  
  c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) $(TM_P_H)
! c-parse.o : c-parse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(GGC_H) intl.h $(C_TREE_H) input.h $(FLAGS_H) toplev.h output.h \
!     $(CPPLIB_H) varray.h gt-c-parse.h langhooks.h $(C_COMMON_H) $(C_PRAGMA_H)
  
  srcextra: gcc.srcextra lang.srcextra
  
! gcc.srcextra: c-parse.y c-parse.c gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
  	-cp -p $^ $(srcdir)
  
- c-parse.c: c-parse.y
- 	-$(BISON) $(BISONFLAGS) -o $@ $<
- 
- c-parse.y: c-parse.in
- 	echo '/*WARNING: This file is automatically generated!*/' >tmp-c-parse.y
- 	sed -e "/^@@ifobjc.*/,/^@@end_ifobjc.*/d" \
- 	    -e "/^@@ifc.*/d" -e "/^@@end_ifc.*/d" $< >>tmp-c-parse.y
- 	$(SHELL) $(srcdir)/../move-if-change tmp-c-parse.y $@
- 
  c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
  		intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
  		$(MACHMODE_H)
--- 1468,1482 ----
  
  c-errors.o: c-errors.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(C_TREE_H) $(FLAGS_H) $(DIAGNOSTIC_H) $(TM_P_H)
! c-parser.o : c-parser.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(GGC_H) $(TIMEVAR_H) $(C_TREE_H) input.h $(FLAGS_H) toplev.h output.h \
!     $(CPPLIB_H) gt-c-parser.h langhooks.h $(C_COMMON_H) $(C_PRAGMA_H)
  
  srcextra: gcc.srcextra lang.srcextra
  
! gcc.srcextra: gengtype-lex.c gengtype-yacc.c gengtype-yacc.h
  	-cp -p $^ $(srcdir)
  
  c-incpath.o: c-incpath.c c-incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \
  		intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \
  		$(MACHMODE_H)
*************** c-incpath.o: c-incpath.c c-incpath.h $(C
*** 1374,1411 ****
  c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) function.h output.h \
      $(EXPR_H) debug.h toplev.h intl.h $(TM_P_H) tree-inline.h $(TIMEVAR_H) \
!     opts.h $(C_PRAGMA_H) gt-c-decl.h $(CGRAPH_H) $(HASHTAB_H) libfuncs.h except.h \
!     $(LANGHOOKS_DEF_H) $(TREE_DUMP_H)
! c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(C_TREE_H) \
!     $(TARGET_H) $(FLAGS_H) intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H) \
!     langhooks.h
  c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(C_TREE_H) $(C_PRETTY_PRINT_H) $(DIAGNOSTIC_H) \
      $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h \
!     c-objc-common.h c-pragma.h
  stub-objc.o : stub-objc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
!     $(GGC_H) $(C_COMMON_H)
  c-lex.o : c-lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(RTL_H) debug.h $(C_TREE_H) $(C_COMMON_H) real.h c-incpath.h cppdefault.h \
      $(C_PRAGMA_H) input.h intl.h $(FLAGS_H) toplev.h output.h \
!     $(CPPLIB_H) $(EXPR_H) $(TM_P_H)
  c-ppoutput.o : c-ppoutput.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(C_COMMON_H) $(TREE_H) $(CPPLIB_H) $(srcdir)/../libcpp/internal.h $(TM_P_H) $(C_PRAGMA_H)
! c-objc-common.o : c-objc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(C_TREE_H) $(RTL_H) insn-config.h $(INTEGRATE_H) $(EXPR_H) \
!     $(FLAGS_H) toplev.h tree-inline.h $(DIAGNOSTIC_H) $(VARRAY_H) \
!     langhooks.h $(GGC_H) $(TARGET_H) $(CGRAPH_H) $(C_PRETTY_PRINT_H) c-objc-common.h
  c-aux-info.o : c-aux-info.c  $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(C_TREE_H) $(FLAGS_H) toplev.h
! c-convert.o : c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(FLAGS_H) toplev.h $(C_COMMON_H) real.h
  c-pragma.o: c-pragma.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
      $(TREE_H) function.h $(C_PRAGMA_H) toplev.h output.h $(GGC_H) $(TM_P_H) \
!     $(C_COMMON_H) $(TARGET_H) gt-c-pragma.h
! graph.o: graph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h $(FLAGS_H) output.h \
!     $(RTL_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) graph.h
! sbitmap.o: sbitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!     hard-reg-set.h $(BASIC_BLOCK_H)
  
  COLLECT2_OBJS = collect2.o tlink.o intl.o version.o
  COLLECT2_LIBS = @COLLECT2_LIBS@
--- 1484,1527 ----
  c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(RTL_H) $(C_TREE_H) $(GGC_H) $(TARGET_H) $(FLAGS_H) function.h output.h \
      $(EXPR_H) debug.h toplev.h intl.h $(TM_P_H) tree-inline.h $(TIMEVAR_H) \
!     opts.h $(C_PRAGMA_H) gt-c-decl.h $(CGRAPH_H) $(HASHTAB_H) libfuncs.h \
!     except.h $(LANGHOOKS_DEF_H) $(TREE_DUMP_H) $(C_COMMON_H) $(CPPLIB_H) \
!     $(DIAGNOSTIC_H) input.h langhooks.h $(TREE_GIMPLE_H) tree-mudflap.h  \
!     pointer-set.h
! c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(TREE_H) $(C_TREE_H) $(TARGET_H) $(FLAGS_H) intl.h output.h $(EXPR_H) \
!     $(RTL_H) toplev.h $(TM_P_H) langhooks.h $(GGC_H) $(TREE_FLOW_H) \
!     $(TREE_GIMPLE_H) tree-iterator.h
  c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(C_TREE_H) $(DIAGNOSTIC_H) \
      $(GGC_H) langhooks.h $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-c.h \
!     c-objc-common.h $(C_PRAGMA_H) c-common.def tree-inline.h
  stub-objc.o : stub-objc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
!     $(C_COMMON_H)
  c-lex.o : c-lex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!     $(RTL_H) debug.h $(C_TREE_H) $(C_COMMON_H) real.h $(SPLAY_TREE_H) \
      $(C_PRAGMA_H) input.h intl.h $(FLAGS_H) toplev.h output.h \
!     $(CPPLIB_H) $(TIMEVAR_H) $(TM_P_H)
  c-ppoutput.o : c-ppoutput.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(C_COMMON_H) $(TREE_H) $(CPPLIB_H) $(srcdir)/../libcpp/internal.h \
!     $(C_PRAGMA_H)
! c-objc-common.o : c-objc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!     $(TM_H) $(TREE_H) $(C_TREE_H) $(RTL_H) insn-config.h $(INTEGRATE_H) \
!     function.h $(FLAGS_H) toplev.h tree-inline.h $(DIAGNOSTIC_H) $(VARRAY_H) \
!     langhooks.h $(GGC_H) $(TARGET_H) $(C_PRETTY_PRINT_H) c-objc-common.h \
!     tree-mudflap.h
  c-aux-info.o : c-aux-info.c  $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
      $(C_TREE_H) $(FLAGS_H) toplev.h
! c-convert.o : c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(TREE_H) $(FLAGS_H) toplev.h $(C_COMMON_H) convert.h $(C_TREE_H) \
!     langhooks.h
  c-pragma.o: c-pragma.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
      $(TREE_H) function.h $(C_PRAGMA_H) toplev.h output.h $(GGC_H) $(TM_P_H) \
!     $(C_COMMON_H) $(TARGET_H) gt-c-pragma.h $(CPPLIB_H) $(FLAGS_H)
! graph.o: graph.c $(SYSTEM_H) coretypes.h $(TM_H) toplev.h $(FLAGS_H) output.h \
!     $(RTL_H) function.h hard-reg-set.h $(BASIC_BLOCK_H) graph.h $(OBSTACK_H)
! sbitmap.o: sbitmap.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!     $(FLAGS_H) hard-reg-set.h $(BASIC_BLOCK_H) $(OBSTACK_H)
  
  COLLECT2_OBJS = collect2.o tlink.o intl.o version.o
  COLLECT2_LIBS = @COLLECT2_LIBS@
*************** collect2$(exeext): $(COLLECT2_OBJS) $(LI
*** 1415,1421 ****
  		$(COLLECT2_OBJS) $(LIBS) $(COLLECT2_LIBS)
  	mv -f T$@ $@
  
! collect2.o : collect2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) gstab.h intl.h \
  	$(OBSTACK_H) $(DEMANGLE_H) collect2.h version.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS)  \
  	-DTARGET_MACHINE=\"$(target_noncanonical)\" \
--- 1531,1537 ----
  		$(COLLECT2_OBJS) $(LIBS) $(COLLECT2_LIBS)
  	mv -f T$@ $@
  
! collect2.o : collect2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h \
  	$(OBSTACK_H) $(DEMANGLE_H) collect2.h version.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS)  \
  	-DTARGET_MACHINE=\"$(target_noncanonical)\" \
*************** tlink.o: tlink.c $(DEMANGLE_H) $(HASHTAB
*** 1429,1466 ****
  c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
  	$(OBSTACK_H) $(C_COMMON_H) $(FLAGS_H) toplev.h output.h $(C_PRAGMA_H) \
  	$(GGC_H) $(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def \
! 	$(DIAGNOSTIC_H) gt-c-common.h langhooks.h varray.h $(RTL_H) \
  	$(TARGET_H) $(C_TREE_H) tree-iterator.h langhooks.h tree-mudflap.h \
  	intl.h opts.h real.h $(CPPLIB_H) tree-inline.h $(HASHTAB_H) \
  	builtins.def
  
  c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \
! 	$(C_COMMON_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h \
! 	$(DIAGNOSTIC_H)
  
  c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)		\
          $(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) toplev.h langhooks.h		\
          tree-inline.h $(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H)	\
!         opts.h options.h $(PARAMS_H) $(MKDEPS_H)
  	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  		$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
  
  c-cppbuiltin.o : c-cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
  	$(TREE_H) version.h $(C_COMMON_H) $(C_PRAGMA_H) $(FLAGS_H) toplev.h \
! 	langhooks.h output.h except.h real.h $(TARGET_H) $(TM_P_H)
  
  # A file used by all variants of C and some other languages.
  
! attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(FLAGS_H) \
! 	toplev.h output.h $(C_PRAGMA_H) $(RTL_H) $(GGC_H) $(EXPR_H) $(TM_P_H) \
! 	builtin-types.def $(TARGET_H) langhooks.h
  
  c-format.o : c-format.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) langhooks.h \
  	$(C_COMMON_H) $(FLAGS_H) toplev.h intl.h $(DIAGNOSTIC_H) c-format.h
  
! c-semantics.o : c-semantics.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
! 	$(C_TREE_H) $(FLAGS_H) toplev.h output.h $(C_PRAGMA_H) $(RTL_H) $(GGC_H) \
! 	$(EXPR_H) $(PREDICT_H) tree-inline.h
  
  c-dump.o : c-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
  	$(C_TREE_H) $(TREE_DUMP_H)
--- 1545,1584 ----
  c-common.o : c-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
  	$(OBSTACK_H) $(C_COMMON_H) $(FLAGS_H) toplev.h output.h $(C_PRAGMA_H) \
  	$(GGC_H) $(EXPR_H) $(TM_P_H) builtin-types.def builtin-attrs.def \
! 	$(DIAGNOSTIC_H) gt-c-common.h langhooks.h $(VARRAY_H) $(RTL_H) \
  	$(TARGET_H) $(C_TREE_H) tree-iterator.h langhooks.h tree-mudflap.h \
  	intl.h opts.h real.h $(CPPLIB_H) tree-inline.h $(HASHTAB_H) \
  	builtins.def
  
  c-pretty-print.o : c-pretty-print.c $(C_PRETTY_PRINT_H) \
! 	$(C_TREE_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) real.h \
! 	$(DIAGNOSTIC_H) tree-iterator.h
  
  c-opts.o : c-opts.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)		\
          $(TREE_H) $(C_PRAGMA_H) $(FLAGS_H) toplev.h langhooks.h		\
          tree-inline.h $(DIAGNOSTIC_H) intl.h debug.h $(C_COMMON_H)	\
!         opts.h options.h $(MKDEPS_H) c-incpath.h cppdefault.h
  	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  		$< $(OUTPUT_OPTION) @TARGET_SYSTEM_ROOT_DEFINE@
  
  c-cppbuiltin.o : c-cppbuiltin.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
  	$(TREE_H) version.h $(C_COMMON_H) $(C_PRAGMA_H) $(FLAGS_H) toplev.h \
! 	output.h except.h real.h $(TARGET_H) $(TM_P_H)
  
  # A file used by all variants of C and some other languages.
  
! attribs.o : attribs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
! 	$(FLAGS_H) toplev.h output.h $(RTL_H) $(GGC_H) $(TM_P_H) \
! 	$(TARGET_H) langhooks.h $(CPPLIB_H)
  
  c-format.o : c-format.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) langhooks.h \
  	$(C_COMMON_H) $(FLAGS_H) toplev.h intl.h $(DIAGNOSTIC_H) c-format.h
  
! c-semantics.o : c-semantics.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
! 	$(TREE_H) $(FLAGS_H) toplev.h output.h $(RTL_H) $(GGC_H) \
! 	$(PREDICT_H) tree-inline.h $(C_COMMON_H) except.h function.h \
! 	langhooks.h $(SPLAY_TREE_H) $(TIMEVAR_H) $(TREE_GIMPLE_H) \
! 	$(VARRAY_H)
  
  c-dump.o : c-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
  	$(C_TREE_H) $(TREE_DUMP_H)
*************** DRIVER_DEFINES = \
*** 1488,1494 ****
    `test "X$${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"`
  
  gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
!     Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H)
  	(SHLIB_LINK='$(SHLIB_LINK)' \
  	SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
--- 1606,1613 ----
    `test "X$${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"`
  
  gcc.o: gcc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) intl.h multilib.h \
!     Makefile $(lang_specs_files) specs.h prefix.h $(GCC_H) $(FLAGS_H) \
!     configargs.h $(OBSTACK_H)
  	(SHLIB_LINK='$(SHLIB_LINK)' \
  	SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
*************** gccspec.o: gccspec.c $(CONFIG_H) $(SYSTE
*** 1504,1509 ****
--- 1623,1636 ----
  
  cppspec.o: cppspec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H)
  
+ build/genchecksum$(build_exeext) : build/genchecksum.o $(BUILD_LIBDEPS)
+ 	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) -o $@ \
+ 	 build/genchecksum.o $(BUILD_LIBS)
+ 
+ build/genchecksum.o : genchecksum.c $(BCONFIG_H) $(SYSTEM_H) $(MD5_H)
+ 
+ dummy-checksum.o : dummy-checksum.c
+ 
  tree-check.h: s-check ; @true
  s-check : build/gencheck$(build_exeext)
  	$(RUN_GEN) build/gencheck$(build_exeext) > tmp-check.h
*************** s-specs : Makefile
*** 1534,1561 ****
  	$(STAMP) s-specs
  
  optionlist: s-options ; @true
! s-options: $(lang_opt_files) Makefile $(srcdir)/opt-gather.awk
! 	$(AWK) -f $(srcdir)/opt-gather.awk $(lang_opt_files) > tmp-optionlist
  	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
  	$(STAMP) s-options
  
- 
  options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/optc-gen.awk
  	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/optc-gen.awk \
! 	       -v header_name="options.h" < $< > $@ 
  
! options.h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opth-gen.awk
  	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opth-gen.awk \
! 	       < $< > $@
  
! options.o: options.c options.h opts.h intl.h
  
  dumpvers: dumpvers.c
  
! version.o: version.c version.h
  
  gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
! 	varray.h $(HASHTAB_H) $(SPLAY_TREE_H) bitmap.h $(TREE_H) $(RTL_H) \
  	function.h insn-config.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
  	cselib.h insn-addr.h $(OPTABS_H) libfuncs.h debug.h $(GGC_H) \
  	$(CGRAPH_H) $(TREE_FLOW_H) reload.h $(CPP_ID_DATA_H)
--- 1661,1693 ----
  	$(STAMP) s-specs
  
  optionlist: s-options ; @true
! s-options: $(ALL_OPT_FILES) Makefile $(srcdir)/opt-gather.awk
! 	$(AWK) -f $(srcdir)/opt-gather.awk $(ALL_OPT_FILES) > tmp-optionlist
  	$(SHELL) $(srcdir)/../move-if-change tmp-optionlist optionlist
  	$(STAMP) s-options
  
  options.c: optionlist $(srcdir)/opt-functions.awk $(srcdir)/optc-gen.awk
  	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/optc-gen.awk \
! 	       -v header_name="config.h system.h coretypes.h tm.h" < $< > $@ 
  
! options.h: s-options-h ; @true
! s-options-h: optionlist $(srcdir)/opt-functions.awk $(srcdir)/opth-gen.awk
  	$(AWK) -f $(srcdir)/opt-functions.awk -f $(srcdir)/opth-gen.awk \
! 	       < $< > tmp-options.h
! 	$(SHELL) $(srcdir)/../move-if-change tmp-options.h options.h
! 	$(STAMP) $@
  
! options.o: options.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) opts.h intl.h
  
  dumpvers: dumpvers.c
  
! version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
! 	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
! 	-DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
! 	-DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION)
  
  gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
! 	$(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) bitmap.h $(TREE_H) $(RTL_H) \
  	function.h insn-config.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
  	cselib.h insn-addr.h $(OPTABS_H) libfuncs.h debug.h $(GGC_H) \
  	$(CGRAPH_H) $(TREE_FLOW_H) reload.h $(CPP_ID_DATA_H)
*************** ggc-common.o: ggc-common.c $(CONFIG_H) $
*** 1566,1822 ****
  ggc-page.o: ggc-page.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
  	$(FLAGS_H) toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H) $(TREE_FLOW_H)
  
! ggc-zone.o: ggc-zone.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
! 	$(FLAGS_H) toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H)
  
! ggc-none.o: ggc-none.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H)
  
  stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
! 	$(TREE_H) $(GGC_H) gt-stringpool.h
  
! prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) Makefile prefix.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
! 	-DPREFIX=\"$(prefix)\" \
  	  -c $(srcdir)/prefix.c $(OUTPUT_OPTION)
  
! convert.o: convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(FLAGS_H) \
!    convert.h toplev.h langhooks.h
  
! langhooks.o : langhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) toplev.h \
!    tree-inline.h $(RTL_H) insn-config.h $(INTEGRATE_H) langhooks.h \
!    $(LANGHOOKS_DEF_H) $(FLAGS_H) $(GGC_H) diagnostic.h intl.h
  tree.o : tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     $(FLAGS_H) function.h $(PARAMS_H) \
     toplev.h $(GGC_H) $(HASHTAB_H) $(TARGET_H) output.h $(TM_P_H) langhooks.h \
!    real.h gt-tree.h tree-iterator.h $(BASIC_BLOCK_H) $(TREE_FLOW_H)
! tree-dump.o: tree-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(C_TREE_H) $(FLAGS_H) langhooks.h toplev.h output.h $(C_PRAGMA_H) $(RTL_H) \
!    $(GGC_H) $(EXPR_H) $(SPLAY_TREE_H) $(TREE_DUMP_H) tree-iterator.h tree-pass.h
  tree-inline.o : tree-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) $(RTL_H) $(EXPR_H) $(FLAGS_H) $(PARAMS_H) input.h insn-config.h \
!    $(INTEGRATE_H) $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
!    langhooks.h $(C_COMMON_H) tree-inline.h $(CGRAPH_H) intl.h function.h \
!    pointer-set.h $(TREE_GIMPLE_H) debug.h
  print-tree.o : print-tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(GGC_H) langhooks.h real.h
  stor-layout.o : stor-layout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(PARAMS_H) $(FLAGS_H) function.h $(EXPR_H) $(RTL_H) toplev.h \
!    $(GGC_H) $(TM_P_H) $(TARGET_H) langhooks.h $(REGS_H) gt-stor-layout.h
  tree-ssa.o : tree-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h diagnostic.h \
!    errors.h toplev.h function.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) langhooks.h $(CFGLOOP_H) \
!    tree-pass.h
  tree-into-ssa.o : tree-into-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h diagnostic.h \
!    errors.h toplev.h function.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) langhooks.h domwalk.h tree-pass.h \
!    $(GGC_H)
  tree-outof-ssa.o : tree-outof-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h diagnostic.h \
!    errors.h toplev.h function.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) langhooks.h domwalk.h \
!    tree-pass.h $(TREE_SSA_LIVE_H)
  tree-ssa-dse.o : tree-ssa-dse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) errors.h $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) domwalk.h $(FLAGS_H)
  tree-ssa-forwprop.o : tree-ssa-forwprop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) errors.h $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H)
  tree-ssa-phiopt.o : tree-ssa-phiopt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) errors.h $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) langhooks.h $(FLAGS_H)
  tree-nrv.o : tree-nrv.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
     $(TM_H) $(TREE_H) $(RTL_H) function.h $(BASIC_BLOCK_H) $(EXPR_H) \
!    diagnostic.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TREE_DUMP_H) tree-pass.h \
     langhooks.h
  tree-ssa-copy.o : tree-ssa-copy.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h diagnostic.h \
!    errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(BASIC_BLOCK_H) tree-pass.h langhooks.h
  tree-ssa-propagate.o : tree-ssa-propagate.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    diagnostic.h errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
     $(TREE_DUMP_H) $(BASIC_BLOCK_H) tree-pass.h langhooks.h \
!    tree-ssa-propagate.h vec.h gt-tree-ssa-propagate.h
  tree-ssa-dom.o : tree-ssa-dom.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h diagnostic.h \
!    errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
     $(BASIC_BLOCK_H) domwalk.h real.h tree-pass.h $(FLAGS_H) langhooks.h \
!    tree-ssa-propagate.h
  tree-ssa-threadupdate.o : tree-ssa-threadupdate.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    diagnostic.h errors.h function.h $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(BASIC_BLOCK_H) $(FLAGS_H)  tree-pass.h
  tree-ssanames.o : tree-ssanames.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(TREE_H) varray.h $(GGC_H) gt-tree-ssanames.h  $(TREE_FLOW_H)
  tree-phinodes.o : tree-phinodes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(TREE_H) varray.h $(GGC_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
!    gt-tree-phinodes.h $(RTL_H)
  domwalk.o : domwalk.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) domwalk.h $(GGC_H)
  tree-ssa-live.o : tree-ssa-live.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h diagnostic.h \
!    errors.h toplev.h function.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_SSA_LIVE_H)
  tree-ssa-copyrename.o : tree-ssa-copyrename.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    diagnostic.h errors.h toplev.h function.h $(TIMEVAR_H) tree-pass.h \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_SSA_LIVE_H)
  tree-ssa-pre.o : tree-ssa-pre.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(TM_P_H) $(EXPR_H) \
!    $(GGC_H) output.h diagnostic.h errors.h toplev.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) $(CFGLOOP_H)
  tree-vn.o : tree-vn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) \
     $(TREE_H) $(TREE_FLOW_H) $(HASHTAB_H) langhooks.h tree-pass.h \
!    $(TREE_DUMP_H) diagnostic.h
  tree-cfg.o : tree-cfg.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) $(FLAGS_H) output.h \
!    diagnostic.h errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) except.h langhooks.h $(CFGLOOP_H) gt-tree-cfg.h tree-pass.h \
!    $(CFGLAYOUT_H)
  tree-tailcall.o : tree-tailcall.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) function.h $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) diagnostic.h except.h tree-pass.h $(FLAGS_H) langhooks.h
  tree-nested.o: tree-nested.c $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(TREE_H) \
!    $(RTL_H) $(TM_P_H) function.h tree-dump.h tree-inline.h tree-iterator.h \
!    tree-gimple.h $(CGRAPH_H) $(EXPR_H) langhooks.h $(GGC_H) gt-tree-nested.h
  tree-if-conv.o: tree-if-conv.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(FLAGS_H) $(TIMEVAR_H) varray.h $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
!    cfgloop.h $(RTL_H) c-common.h tree-chrec.h tree-data-ref.h \
!    tree-scalar-evolution.h tree-pass.h 
  tree-iterator.o : tree-iterator.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!    coretypes.h $(GGC_H) tree-iterator.h tree-gimple.h gt-tree-iterator.h
  tree-dfa.o : tree-dfa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h diagnostic.h \
!    errors.h tree-inline.h $(HASHTAB_H) pointer-set.h $(FLAGS_H) function.h $(TIMEVAR_H) \
!    convert.h $(TM_H) coretypes.h langhooks.h \
!    $(TREE_DUMP_H) tree-pass.h params.h $(CGRAPH_H)
  tree-ssa-operands.o : tree-ssa-operands.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(TM_P_H) $(GGC_H) $(CGRAPH_H) diagnostic.h \
!    errors.h tree-inline.h $(FLAGS_H) function.h $(TM_H) $(TIMEVAR_H) \
!    tree-pass.h gt-tree-ssa-operands.h
  tree-eh.o : tree-eh.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_H) $(FLAGS_H) function.h except.h langhooks.h \
!    $(GGC_H) tree-pass.h gt-tree-eh.h
  tree-ssa-loop.o : tree-ssa-loop.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) \
     output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(FLAGS_H) tree-inline.h $(SCEV_H)
! tree-ssa-loop-unswitch.o : tree-ssa-loop-unswitch.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) domwalk.h $(PARAMS_H)\
!    output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h
  tree-ssa-loop-niter.o : tree-ssa-loop-niter.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) cfgloop.h $(PARAMS_H) tree-inline.h \
!    output.h diagnostic.h $(TM_H) coretypes.h $(TREE_DUMP_H) $(FLAGS_H) \
!    tree-pass.h $(SCEV_H) tree-data-ref.h
  tree-ssa-loop-ivcanon.o : tree-ssa-loop-ivcanon.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) $(PARAMS_H) tree-inline.h \
!    output.h diagnostic.h $(TM_H) coretypes.h $(TREE_DUMP_H) $(FLAGS_H) \
!    tree-pass.h $(SCEV_H)
  tree-ssa-loop-ch.o : tree-ssa-loop-ch.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) tree-inline.h \
!    output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(FLAGS_H)
  tree-ssa-loop-ivopts.o : tree-ssa-loop-ivopts.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) varray.h $(EXPR_H) \
!    output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
     tree-pass.h $(GGC_H) $(RECOG_H) insn-config.h $(HASHTAB_H) $(SCEV_H) \
!    cfgloop.h $(PARAMS_H) sbitmap.h langhooks.h
  tree-ssa-loop-manip.o : tree-ssa-loop-manip.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) \
!    output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h cfglayout.h $(SCEV_H)
  tree-ssa-loop-im.o : tree-ssa-loop-im.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) domwalk.h $(PARAMS_H)\
!    output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(FLAGS_H) $(HASHTAB_H)
  tree-ssa-alias.o : tree-ssa-alias.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) tree-inline.h $(FLAGS_H) \
!    function.h $(TIMEVAR_H) convert.h $(TM_H) coretypes.h \
!    langhooks.h $(TREE_DUMP_H) tree-pass.h params.h
! tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) \
!    $(GGC_H) output.h diagnostic.h errors.h $(FLAGS_H) \
!    $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) toplev.h function.h \
!    langhooks.h $(FLAGS_H) $(CGRAPH_H) tree-inline.h tree-mudflap.h $(GGC_H) \
!    $(CGRAPH_H) tree-pass.h
! c-gimplify.o : c-gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
!    $(C_TREE_H) $(C_COMMON_H) diagnostic.h $(TREE_GIMPLE_H) varray.h $(FLAGS_H) \
!    langhooks.h toplev.h rtl.h $(TREE_FLOW_H) langhooks-def.h \
!    $(TM_H) coretypes.h $(C_PRETTY_PRINT_H) $(CGRAPH_H)
! gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
!    diagnostic.h $(TREE_GIMPLE_H) tree-inline.h varray.h langhooks.h \
!    langhooks-def.h $(TREE_FLOW_H) $(CGRAPH_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
!    except.h $(FLAGS_H) $(RTL_H) function.h $(EXPR_H) output.h $(GGC_H) \
!    gt-gimplify.h
! gimple-low.o : gimple-low.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) errors.h \
!    diagnostic.h $(TREE_GIMPLE_H) tree-inline.h varray.h langhooks.h \
!    langhooks-def.h $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h except.h \
!    $(FLAGS_H) $(RTL_H) function.h $(EXPR_H) tree-pass.h
  tree-browser.o : tree-browser.c tree-browser.def $(CONFIG_H) $(SYSTEM_H) \
!    $(TREE_H) errors.h tree-inline.h diagnostic.h $(HASHTAB_H) \
     $(TM_H) coretypes.h
  tree-chrec.o: tree-chrec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(TREE_H) tree-chrec.h tree-pass.h
  tree-scalar-evolution.o: tree-scalar-evolution.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) errors.h $(GGC_H) $(TREE_H) real.h $(RTL_H) \
!    $(BASIC_BLOCK_H) diagnostic.h $(TREE_FLOW_H) $(TREE_DUMP_H) \
!    $(TIMEVAR_H) cfgloop.h $(SCEV_H) tree-pass.h $(FLAGS_H)
  tree-data-ref.o: tree-data-ref.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h \
!    tree-data-ref.h $(SCEV_H) tree-pass.h $(LAMBDA_H)
! tree-vect-analyze.o: tree-vect-analyze.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h \
!    tree-vectorizer.h tree-data-ref.h $(SCEV_H) $(EXPR_H)
! tree-vect-transform.o: tree-vect-transform.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h target.h tree-pass.h $(EXPR_H) \
!    tree-vectorizer.h tree-data-ref.h $(SCEV_H) langhooks.h toplev.h
! tree-vectorizer.o: tree-vectorizer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h tree-pass.h $(EXPR_H) \
!    tree-vectorizer.h tree-data-ref.h $(SCEV_H) input.h target.h cfglayout.h
! tree-loop-linear.o: tree-loop-linear.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    errors.h $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h tree-pass.h \
!    $(TREE_DATA_REF_H) $(SCEV_H) $(EXPR_H)
  tree-gimple.o : tree-gimple.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(EXPR_H) \
! 	$(RTL_H) $(TREE_GIMPLE_H) $(TM_H) coretypes.h bitmap.h $(GGC_H)
! tree-mudflap.o : $(CONFIG_H) errors.h $(SYSTEM_H) $(TREE_H) tree-inline.h \
!    $(C_TREE_H) $(C_COMMON_H) $(TREE_GIMPLE_H) diagnostic.h $(HASHTAB_H) \
!    output.h varray.h langhooks.h tree-mudflap.h $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) tree-pass.h $(CGRAPH_H) $(GGC_H) gt-tree-mudflap.h
! tree-nomudflap.o : $(CONFIG_H) errors.h $(SYSTEM_H) $(TREE_H) tree-inline.h \
!    $(C_TREE_H) $(C_COMMON_H) $(TREE_GIMPLE_H) diagnostic.h $(HASHTAB_H) \
!    output.h varray.h langhooks.h tree-mudflap.h $(TM_H) coretypes.h
  tree-pretty-print.o : tree-pretty-print.c $(CONFIG_H) $(SYSTEM_H) \
!    errors.h $(TREE_H) diagnostic.h real.h $(HASHTAB_H) $(TREE_FLOW_H) \
!    $(TM_H) coretypes.h tree-iterator.h tree-chrec.h
  fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(FLAGS_H) real.h toplev.h $(HASHTAB_H) $(EXPR_H) $(RTL_H) $(GGC_H) \
!    $(TM_P_H) langhooks.h $(MD5_H)
  diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) version.h $(TM_P_H) $(FLAGS_H) input.h toplev.h intl.h \
!    $(DIAGNOSTIC_H) langhooks.h $(LANGHOOKS_DEF_H)
  opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \
! 	coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(RTL_H) \
! 	output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h target.h
! targhooks.o : targhooks.c targhooks.h $(CONFIG_H) $(SYSTEM_H) \
! 	coretypes.h $(TREE_H) $(EXPR_H) $(TM_H) $(RTL_H) $(TM_P_H) function.h \
! 	output.h toplev.h
  
! toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) version.h $(RTL_H) \
!    function.h $(FLAGS_H) xcoffout.h input.h $(INSN_ATTR_H) output.h $(DIAGNOSTIC_H) \
!    debug.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h \
!    dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
!    graph.h except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
!    $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
!    langhooks.h insn-flags.h $(CFGLAYOUT_H) real.h $(CFGLOOP_H) \
!    hosthooks.h $(LANGHOOKS_DEF_H) $(CGRAPH_H) $(COVERAGE_H) alloc-pool.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  	  -DTARGET_NAME=\"$(target_noncanonical)\" \
  	  -c $(srcdir)/toplev.c $(OUTPUT_OPTION)
--- 1698,2038 ----
  ggc-page.o: ggc-page.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
  	$(FLAGS_H) toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) $(PARAMS_H) $(TREE_FLOW_H)
  
! ggc-zone.o: ggc-zone.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
! 	$(TREE_H) $(FLAGS_H) toplev.h $(GGC_H) $(TIMEVAR_H) $(TM_P_H) \
! 	$(PARAMS_H) bitmap.h $(VARRAY_H)
  
! ggc-none.o: ggc-none.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H) \
! 	$(BCONFIG_H)
  
  stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
! 	$(TREE_H) $(GGC_H) gt-stringpool.h $(CPPLIB_H) $(SYMTAB_H)
  
! prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) prefix.h \
! 	Makefile $(BASEVER)
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
! 	-DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) \
  	  -c $(srcdir)/prefix.c $(OUTPUT_OPTION)
  
! convert.o: convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(FLAGS_H) convert.h toplev.h langhooks.h real.h
  
! langhooks.o : langhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) toplev.h tree-inline.h $(RTL_H) insn-config.h $(INTEGRATE_H) \
!    langhooks.h $(LANGHOOKS_DEF_H) $(FLAGS_H) $(GGC_H) $(DIAGNOSTIC_H) intl.h \
!    $(TREE_GIMPLE_H)
  tree.o : tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
     $(FLAGS_H) function.h $(PARAMS_H) \
     toplev.h $(GGC_H) $(HASHTAB_H) $(TARGET_H) output.h $(TM_P_H) langhooks.h \
!    real.h gt-tree.h tree-iterator.h $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
!    $(OBSTACK_H) pointer-set.h
! tree-dump.o: tree-dump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) langhooks.h toplev.h $(SPLAY_TREE_H) $(TREE_DUMP_H) \
!    tree-iterator.h tree-pass.h $(DIAGNOSTIC_H)
  tree-inline.o : tree-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) $(RTL_H) $(EXPR_H) $(FLAGS_H) $(PARAMS_H) input.h insn-config.h \
!    $(VARRAY_H) $(HASHTAB_H) $(SPLAY_TREE_H) toplev.h \
!    langhooks.h tree-inline.h $(CGRAPH_H) intl.h function.h $(TREE_GIMPLE_H) \
!    debug.h $(DIAGNOSTIC_H) $(TREE_FLOW_H) tree-iterator.h tree-mudflap.h \
!    ipa-prop.h
  print-tree.o : print-tree.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(GGC_H) langhooks.h real.h tree-iterator.h
  stor-layout.o : stor-layout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(PARAMS_H) $(FLAGS_H) function.h $(EXPR_H) $(RTL_H) \
!    $(GGC_H) $(TM_P_H) $(TARGET_H) langhooks.h $(REGS_H) gt-stor-layout.h \
!    toplev.h
! tree-ssa-structalias.o: tree-ssa-structalias.c tree-ssa-structalias.h \
!    $(SYSTEM_H) $(CONFIG_H) $(GGC_H) $(TREE_H) $(TREE_FLOW_H) \
!    $(TM_H) coretypes.h cgraph.h tree-pass.h $(TIMEVAR_H) $(PARAMS_H) \
!    gt-tree-ssa-structalias.h
  tree-ssa.o : tree-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \
!    toplev.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) langhooks.h tree-pass.h $(BASIC_BLOCK_H) bitmap.h \
!    $(FLAGS_H) $(GGC_H) hard-reg-set.h $(HASHTAB_H) pointer-set.h \
!    $(TREE_GIMPLE_H) tree-inline.h $(VARRAY_H)
  tree-into-ssa.o : tree-into-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \
!    function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    langhooks.h domwalk.h tree-pass.h $(GGC_H) $(PARAMS_H) $(BASIC_BLOCK_H) \
!    bitmap.h $(CFGLOOP_H) $(FLAGS_H) hard-reg-set.h $(HASHTAB_H) \
!    $(TREE_GIMPLE_H) tree-inline.h $(VARRAY_H)
  tree-outof-ssa.o : tree-outof-ssa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) output.h $(DIAGNOSTIC_H) \
!    function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    langhooks.h tree-pass.h $(TREE_SSA_LIVE_H) $(BASIC_BLOCK_H) bitmap.h \
!    $(FLAGS_H) $(GGC_H) hard-reg-set.h $(HASHTAB_H) $(TREE_GIMPLE_H) \
!    tree-inline.h $(VARRAY_H) toplev.h
  tree-ssa-dse.o : tree-ssa-dse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) domwalk.h $(FLAGS_H) \
!    $(DIAGNOSTIC_H) $(TIMEVAR_H)
  tree-ssa-forwprop.o : tree-ssa-forwprop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) \
!    langhooks.h
  tree-ssa-phiopt.o : tree-ssa-phiopt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(TREE_H) $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) langhooks.h $(FLAGS_H) \
!    $(DIAGNOSTIC_H) $(TIMEVAR_H)
  tree-nrv.o : tree-nrv.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
     $(TM_H) $(TREE_H) $(RTL_H) function.h $(BASIC_BLOCK_H) $(EXPR_H) \
!    $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TIMEVAR_H) $(TREE_DUMP_H) tree-pass.h \
     langhooks.h
  tree-ssa-copy.o : tree-ssa-copy.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h $(DIAGNOSTIC_H) \
!    function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(BASIC_BLOCK_H) tree-pass.h langhooks.h tree-ssa-propagate.h $(FLAGS_H)
  tree-ssa-propagate.o : tree-ssa-propagate.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
     $(TREE_DUMP_H) $(BASIC_BLOCK_H) tree-pass.h langhooks.h \
!    tree-ssa-propagate.h vec.h gt-tree-ssa-propagate.h $(FLAGS_H) $(VARRAY_H)
  tree-ssa-dom.o : tree-ssa-dom.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h $(DIAGNOSTIC_H) \
!    function.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
     $(BASIC_BLOCK_H) domwalk.h real.h tree-pass.h $(FLAGS_H) langhooks.h \
!    tree-ssa-propagate.h $(CFGLOOP_H) $(PARAMS_H)
! tree-ssa-uncprop.o : tree-ssa-uncprop.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) $(BASIC_BLOCK_H) domwalk.h real.h tree-pass.h $(FLAGS_H) \
!    langhooks.h tree-ssa-propagate.h
  tree-ssa-threadupdate.o : tree-ssa-threadupdate.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    $(DIAGNOSTIC_H) function.h $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(BASIC_BLOCK_H) $(FLAGS_H) tree-pass.h $(CFGLOOP_H)
  tree-ssanames.o : tree-ssanames.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(TREE_H) $(VARRAY_H) $(GGC_H) gt-tree-ssanames.h  $(TREE_FLOW_H)
  tree-phinodes.o : tree-phinodes.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(TREE_H) $(VARRAY_H) $(GGC_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
!    gt-tree-phinodes.h $(RTL_H) toplev.h
  domwalk.o : domwalk.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) domwalk.h $(GGC_H)
  tree-ssa-live.o : tree-ssa-live.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(TREE_H) $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_SSA_LIVE_H) $(BASIC_BLOCK_H) \
!    bitmap.h $(FLAGS_H) $(HASHTAB_H) $(TREE_GIMPLE_H) tree-inline.h \
!    $(VARRAY_H) toplev.h
  tree-ssa-copyrename.o : tree-ssa-copyrename.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) tree-pass.h \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_SSA_LIVE_H) $(BASIC_BLOCK_H) \
!    bitmap.h $(FLAGS_H) $(HASHTAB_H) langhooks.h $(TREE_GIMPLE_H) \
!    tree-inline.h
  tree-ssa-pre.o : tree-ssa-pre.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) $(CFGLOOP_H) \
!    alloc-pool.h $(BASIC_BLOCK_H) bitmap.h $(HASHTAB_H) $(TREE_GIMPLE_H) \
!    tree-inline.h tree-iterator.h
  tree-vn.o : tree-vn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) \
     $(TREE_H) $(TREE_FLOW_H) $(HASHTAB_H) langhooks.h tree-pass.h \
!    $(TREE_DUMP_H) $(DIAGNOSTIC_H)
! tree-vrp.o : tree-vrp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(TREE_FLOW_H) tree-pass.h $(TREE_DUMP_H) $(DIAGNOSTIC_H) $(GGC_H) \
!    $(BASIC_BLOCK_H) tree-ssa-propagate.h $(FLAGS_H) $(TREE_DUMP_H) \
!    $(CFGLOOP_H) $(SCEV_H) tree-chrec.h $(TIMEVAR_H)
  tree-cfg.o : tree-cfg.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) $(FLAGS_H) output.h \
!    $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) except.h langhooks.h $(CFGLOOP_H) tree-pass.h \
!    $(CFGLAYOUT_H) $(BASIC_BLOCK_H) hard-reg-set.h $(HASHTAB_H) toplev.h \
!    tree-ssa-propagate.h
! tree-cfgcleanup.o : tree-cfgcleanup.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) $(FLAGS_H) output.h \
!    $(DIAGNOSTIC_H) errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) except.h langhooks.h $(CFGLOOP_H) tree-pass.h \
!    $(CFGLAYOUT_H) $(BASIC_BLOCK_H) hard-reg-set.h $(HASHTAB_H) toplev.h \
!    tree-ssa-propagate.h $(SCEV_H)
  tree-tailcall.o : tree-tailcall.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) function.h $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) $(DIAGNOSTIC_H) except.h tree-pass.h $(FLAGS_H) langhooks.h \
!    $(BASIC_BLOCK_H) hard-reg-set.h
! tree-ssa-sink.o : tree-ssa-sink.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) alloc-pool.h \
!    $(BASIC_BLOCK_H) bitmap.h $(CFGLOOP_H) $(FIBHEAP_H) $(HASHTAB_H) \
!    langhooks.h real.h $(TREE_GIMPLE_H) tree-inline.h tree-iterator.h
  tree-nested.o: tree-nested.c $(CONFIG_H) $(SYSTEM_H) $(TM_H) $(TREE_H) \
!    $(RTL_H) $(TM_P_H) function.h $(TREE_DUMP_H) tree-inline.h \
!    tree-iterator.h $(TREE_GIMPLE_H) $(CGRAPH_H) $(EXPR_H) langhooks.h \
!    $(GGC_H) gt-tree-nested.h coretypes.h $(TREE_FLOW_H)
  tree-if-conv.o: tree-if-conv.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(FLAGS_H) $(TIMEVAR_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) \
!    $(CFGLOOP_H) $(RTL_H) $(C_COMMON_H) tree-chrec.h $(TREE_DATA_REF_H) \
!    $(SCEV_H) tree-pass.h $(DIAGNOSTIC_H) $(TARGET_H) $(TREE_DUMP_H) \
!    $(VARRAY_H)
  tree-iterator.o : tree-iterator.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!    coretypes.h $(GGC_H) tree-iterator.h $(TREE_GIMPLE_H) gt-tree-iterator.h
  tree-dfa.o : tree-dfa.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h $(DIAGNOSTIC_H) \
!    tree-inline.h $(HASHTAB_H) pointer-set.h $(FLAGS_H) function.h \
!    $(TIMEVAR_H) convert.h $(TM_H) coretypes.h langhooks.h $(TREE_DUMP_H) \
!    tree-pass.h $(PARAMS_H) $(CGRAPH_H) $(BASIC_BLOCK_H) hard-reg-set.h \
!    $(TREE_GIMPLE_H) 
  tree-ssa-operands.o : tree-ssa-operands.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) errors.h tree-inline.h \
!    $(FLAGS_H) function.h $(TM_H) $(TIMEVAR_H) tree-pass.h toplev.h \
!    gt-tree-ssa-operands.h coretypes.h langhooks.h tree-ssa-opfinalize.h \
!    $(IPA_REFERENCE_H)
  tree-eh.o : tree-eh.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_H) $(FLAGS_H) function.h except.h langhooks.h \
!    $(GGC_H) tree-pass.h coretypes.h $(TIMEVAR_H) $(TM_P_H) \
!    $(TREE_DUMP_H) tree-inline.h tree-iterator.h toplev.h
  tree-ssa-loop.o : tree-ssa-loop.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) \
+    output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
+    tree-pass.h $(FLAGS_H) tree-inline.h $(SCEV_H) $(BASIC_BLOCK_H) \
+    hard-reg-set.h
+ tree-ssa-loop-unswitch.o : tree-ssa-loop-unswitch.c $(TREE_FLOW_H) \
+    $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) \
+    domwalk.h $(PARAMS_H) output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) \
+    coretypes.h $(TREE_DUMP_H) tree-pass.h $(BASIC_BLOCK_H) hard-reg-set.h
+ tree-ssa-address.o : tree-ssa-address.c $(TREE_FLOW_H) $(CONFIG_H) \
+    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) \
     output.h diagnostic.h $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(FLAGS_H) tree-inline.h $(RECOG_H) insn-config.h $(EXPR_H) \
!    gt-tree-ssa-address.h $(GGC_H)
  tree-ssa-loop-niter.o : tree-ssa-loop-niter.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) $(PARAMS_H) \
!    tree-inline.h output.h $(DIAGNOSTIC_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(FLAGS_H) tree-pass.h $(SCEV_H) $(TREE_DATA_REF_H) $(BASIC_BLOCK_H) \
!    $(GGC_H) hard-reg-set.h tree-chrec.h intl.h
  tree-ssa-loop-ivcanon.o : tree-ssa-loop-ivcanon.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) $(PARAMS_H) \
!    tree-inline.h output.h $(DIAGNOSTIC_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    $(FLAGS_H) tree-pass.h $(SCEV_H) $(BASIC_BLOCK_H) $(GGC_H) hard-reg-set.h \
!    tree-chrec.h
  tree-ssa-loop-ch.o : tree-ssa-loop-ch.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) tree-inline.h \
!    output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(FLAGS_H) $(BASIC_BLOCK_H) hard-reg-set.h
  tree-ssa-loop-ivopts.o : tree-ssa-loop-ivopts.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) $(EXPR_H) \
!    output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
     tree-pass.h $(GGC_H) $(RECOG_H) insn-config.h $(HASHTAB_H) $(SCEV_H) \
!    $(CFGLOOP_H) $(PARAMS_H) langhooks.h $(BASIC_BLOCK_H) hard-reg-set.h \
!    tree-chrec.h $(VARRAY_H)
  tree-ssa-loop-manip.o : tree-ssa-loop-manip.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) \
!    output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) \
!    tree-pass.h $(CFGLAYOUT_H) $(SCEV_H) $(BASIC_BLOCK_H) hard-reg-set.h
  tree-ssa-loop-im.o : tree-ssa-loop-im.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(CFGLOOP_H) domwalk.h \
!    $(PARAMS_H) output.h $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
!    $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) real.h $(BASIC_BLOCK_H) \
!    hard-reg-set.h
! tree-ssa-math-opts.o : tree-ssa-math-opts.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(TIMEVAR_H) tree-pass.h $(TM_H) $(FLAGS_H) \
!    alloc-pool.h $(BASIC_BLOCK_H) $(TARGET_H)
  tree-ssa-alias.o : tree-ssa-alias.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) tree-inline.h $(FLAGS_H) \
!    function.h $(TIMEVAR_H) convert.h $(TM_H) coretypes.h langhooks.h \
!    $(TREE_DUMP_H) tree-pass.h $(PARAMS_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) \
!    hard-reg-set.h $(TREE_GIMPLE_H) vec.h tree-ssa-structalias.h \
!    $(IPA_TYPE_ESCAPE_H)
! tree-ssa-reassoc.o : tree-ssa-reassoc.c $(TREE_FLOW_H) $(CONFIG_H) \
!    $(SYSTEM_H) $(TREE_H) $(GGC_H) $(DIAGNOSTIC_H) errors.h $(TIMEVAR_H) \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) tree-iterator.h\
!    $(BASIC_BLOCK_H) $(HASHTAB_H) $(TREE_GIMPLE_H) tree-inline.h
! tree-optimize.o : tree-optimize.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
!    $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h $(DIAGNOSTIC_H) \
!    $(FLAGS_H) $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) toplev.h \
!    function.h langhooks.h $(FLAGS_H) $(CGRAPH_H) tree-inline.h \
!    tree-mudflap.h $(GGC_H) $(CGRAPH_H) tree-pass.h $(CFGLOOP_H) \
!    $(BASIC_BLOCK_H) graph.h hard-reg-set.h
! c-gimplify.o : c-gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!    $(C_TREE_H) $(C_COMMON_H) $(DIAGNOSTIC_H) $(TREE_GIMPLE_H) $(VARRAY_H) \
!    $(FLAGS_H) langhooks.h toplev.h $(RTL_H) $(TREE_FLOW_H) $(LANGHOOKS_DEF_H) \
!    $(TM_H) coretypes.h $(C_PRETTY_PRINT_H) $(CGRAPH_H) $(BASIC_BLOCK_H) \
!    hard-reg-set.h $(TREE_DUMP_H) tree-inline.h
! gimplify.o : gimplify.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!    $(DIAGNOSTIC_H) $(TREE_GIMPLE_H) tree-inline.h $(VARRAY_H) langhooks.h \
!    $(LANGHOOKS_DEF_H) $(TREE_FLOW_H) $(CGRAPH_H) $(TIMEVAR_H) $(TM_H) \
!    coretypes.h except.h $(FLAGS_H) $(RTL_H) function.h $(EXPR_H) output.h \
!    $(GGC_H) gt-gimplify.h $(HASHTAB_H) real.h $(TARGET_H) toplev.h
! gimple-low.o : gimple-low.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!    $(DIAGNOSTIC_H) $(TREE_GIMPLE_H) tree-inline.h $(VARRAY_H) langhooks.h \
!    $(LANGHOOKS_DEF_H) $(TREE_FLOW_H) $(TIMEVAR_H) $(TM_H) coretypes.h \
!    except.h $(FLAGS_H) $(RTL_H) function.h $(EXPR_H) tree-pass.h \
!    $(HASHTAB_H) toplev.h
  tree-browser.o : tree-browser.c tree-browser.def $(CONFIG_H) $(SYSTEM_H) \
!    $(TREE_H) tree-inline.h $(DIAGNOSTIC_H) $(HASHTAB_H) \
     $(TM_H) coretypes.h
  tree-chrec.o: tree-chrec.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(GGC_H) $(TREE_H) real.h $(SCEV_H) tree-pass.h $(PARAMS_H) \
!    $(DIAGNOSTIC_H) $(VARRAY_H) $(CFGLOOP_H) $(TREE_FLOW_H)
  tree-scalar-evolution.o: tree-scalar-evolution.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(GGC_H) $(TREE_H) real.h $(RTL_H) \
!    $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
!    $(TIMEVAR_H) $(CFGLOOP_H) $(SCEV_H) tree-pass.h $(FLAGS_H) tree-chrec.h
  tree-data-ref.o: tree-data-ref.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(GGC_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) \
!    $(TREE_DATA_REF_H) $(SCEV_H) tree-pass.h tree-chrec.h
! tree-vect-analyze.o: tree-vect-analyze.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(OPTABS_H) $(TREE_H) $(BASIC_BLOCK_H) \
!    $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) \
!    tree-vectorizer.h $(TREE_DATA_REF_H) $(SCEV_H) $(EXPR_H) tree-chrec.h
! tree-vect-transform.o: tree-vect-transform.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(GGC_H) $(OPTABS_H) $(RECOG_H) $(TREE_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) \
!    $(TIMEVAR_H) $(CFGLOOP_H) $(TARGET_H) tree-pass.h $(EXPR_H) \
!    tree-vectorizer.h $(TREE_DATA_REF_H) $(SCEV_H) langhooks.h toplev.h \
!    tree-chrec.h
! tree-vectorizer.o: tree-vectorizer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) \
!    $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) \
!    tree-pass.h $(EXPR_H) tree-vectorizer.h $(TREE_DATA_REF_H) $(SCEV_H) \
!    input.h $(TARGET_H) $(CFGLAYOUT_H) toplev.h tree-chrec.h
! tree-loop-linear.o: tree-loop-linear.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(GGC_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) \
!    $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) \
!    tree-pass.h $(TREE_DATA_REF_H) $(SCEV_H) $(EXPR_H) $(LAMBDA_H) \
!    $(TARGET_H) tree-chrec.h $(VARRAY_H)
! tree-stdarg.o: tree-stdarg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) function.h $(DIAGNOSTIC_H) $(TREE_FLOW_H) tree-pass.h \
!    tree-stdarg.h $(TARGET_H) langhooks.h
! tree-object-size.o: tree-object-size.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(TREE_H) $(DIAGNOSTIC_H) $(TREE_FLOW_H) tree-pass.h \
!    tree-ssa-propagate.h
  tree-gimple.o : tree-gimple.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(EXPR_H) \
!    $(RTL_H) $(TREE_GIMPLE_H) $(TM_H) coretypes.h bitmap.h $(GGC_H) \
!    output.h $(TREE_FLOW_H)
! tree-mudflap.o : $(CONFIG_H) $(SYSTEM_H) $(TREE_H) tree-inline.h \
!    $(TREE_GIMPLE_H) $(DIAGNOSTIC_H) $(HASHTAB_H) langhooks.h tree-mudflap.h \
!    $(TM_H) coretypes.h $(TREE_DUMP_H) tree-pass.h $(CGRAPH_H) $(GGC_H) \
!    gt-tree-mudflap.h $(BASIC_BLOCK_H) $(FLAGS_H) function.h hard-reg-set.h \
!    $(RTL_H) $(TM_P_H) $(TREE_FLOW_H) toplev.h
! tree-nomudflap.o : $(CONFIG_H) $(SYSTEM_H) $(TREE_H) tree-inline.h \
!    $(C_TREE_H) $(C_COMMON_H) $(TREE_GIMPLE_H) $(DIAGNOSTIC_H) $(HASHTAB_H) \
!    output.h $(VARRAY_H) langhooks.h tree-mudflap.h $(TM_H) coretypes.h \
!    $(GGC_H) gt-tree-mudflap.h tree-pass.h toplev.h
  tree-pretty-print.o : tree-pretty-print.c $(CONFIG_H) $(SYSTEM_H) \
!    $(TREE_H) $(DIAGNOSTIC_H) real.h $(HASHTAB_H) $(TREE_FLOW_H) \
!    $(TM_H) coretypes.h tree-iterator.h tree-chrec.h langhooks.h tree-pass.h
  fold-const.o : fold-const.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(FLAGS_H) real.h toplev.h $(HASHTAB_H) $(EXPR_H) $(RTL_H) \
!    $(GGC_H) $(TM_P_H) langhooks.h $(MD5_H)
  diagnostic.o : diagnostic.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(TREE_H) version.h $(TM_P_H) $(FLAGS_H) input.h toplev.h intl.h \
!    $(DIAGNOSTIC_H) langhooks.h $(LANGHOOKS_DEF_H) diagnostic.def opts.h
  opts.o : opts.c opts.h options.h toplev.h $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TREE_H) $(TM_H) langhooks.h $(GGC_H) $(RTL_H) \
!    output.h $(DIAGNOSTIC_H) $(TM_P_H) $(INSN_ATTR_H) intl.h $(TARGET_H) \
!    $(FLAGS_H) $(PARAMS_H) tree-pass.h
! targhooks.o : targhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
!    $(EXPR_H) $(TM_H) $(RTL_H) $(TM_P_H) function.h output.h toplev.h \
!    $(MACHMODE_H) $(TARGET_DEF_H) $(TARGET_H) $(GGC_H) gt-targhooks.h
  
! toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    version.h $(RTL_H) function.h $(FLAGS_H) xcoffout.h input.h \
!    $(INSN_ATTR_H) output.h $(DIAGNOSTIC_H) debug.h insn-config.h intl.h \
!    $(RECOG_H) Makefile toplev.h dwarf2out.h sdbout.h dbxout.h $(EXPR_H) \
!    hard-reg-set.h $(BASIC_BLOCK_H) graph.h except.h $(REGS_H) $(TIMEVAR_H) \
!    value-prof.h $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
!    langhooks.h insn-flags.h $(CFGLAYOUT_H) real.h $(CFGLOOP_H) hosthooks.h \
!    $(CGRAPH_H) $(COVERAGE_H) alloc-pool.h $(GGC_H) $(INTEGRATE_H) \
!    $(CPPLIB_H) opts.h params.def tree-mudflap.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  	  -DTARGET_NAME=\"$(target_noncanonical)\" \
  	  -c $(srcdir)/toplev.c $(OUTPUT_OPTION)
*************** passes.o : passes.c $(CONFIG_H) $(SYSTEM
*** 1828,2184 ****
     graph.h except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
     $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
     langhooks.h insn-flags.h $(CFGLAYOUT_H) real.h $(CFGLOOP_H) \
!    hosthooks.h $(LANGHOOKS_DEF_H) $(CGRAPH_H) $(COVERAGE_H) alloc-pool.h \
!    tree-pass.h tree-dump.h
  
  main.o : main.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h
  
! host-default.o : host-default.c $(CONFIG_H) $(SYSTEM_H) $(HOOKS_H) coretypes.h \
! 	hosthooks.h $(HOSTHOOKS_DEF_H)
  
! rtl-error.o: rtl-error.c $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(INSN_ATTR_H) \
!    insn-config.h input.h toplev.h intl.h $(DIAGNOSTIC_H) $(CONFIG_H)
  
  rtl.o : rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h \
!   $(GGC_H) errors.h
  
  print-rtl.o : print-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) real.h $(FLAGS_H)
  rtlanal.o : rtlanal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
!    $(RTL_H) hard-reg-set.h $(TM_P_H) insn-config.h $(RECOG_H) real.h $(FLAGS_H) \
!    $(BASIC_BLOCK_H) $(REGS_H) output.h target.h function.h
  
! varasm.o : varasm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
!    $(FLAGS_H) function.h $(EXPR_H) hard-reg-set.h $(REGS_H) \
     output.h $(C_PRAGMA_H) toplev.h xcoffout.h debug.h $(GGC_H) $(TM_P_H) \
!    $(HASHTAB_H) $(TARGET_H) langhooks.h gt-varasm.h real.h
  function.o : function.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(CFGLAYOUT_H) $(TREE_GIMPLE_H) \
!    $(FLAGS_H) function.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(REGS_H) hard-reg-set.h \
!    insn-config.h $(RECOG_H) output.h toplev.h except.h $(HASHTAB_H) $(GGC_H) \
!    $(TM_P_H) langhooks.h gt-function.h $(TARGET_H) basic-block.h
! stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) \
!    function.h insn-config.h hard-reg-set.h $(EXPR_H) libfuncs.h except.h \
!    $(RECOG_H) toplev.h output.h varray.h $(GGC_H) $(TM_P_H) \
!    langhooks.h $(PREDICT_H) $(OPTABS_H) $(TARGET_H)
  except.o : except.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) except.h function.h $(EXPR_H) libfuncs.h $(INTEGRATE_H) \
     langhooks.h insn-config.h hard-reg-set.h $(BASIC_BLOCK_H) output.h \
     dwarf2asm.h dwarf2out.h toplev.h $(HASHTAB_H) intl.h $(GGC_H) \
!    gt-except.h $(CGRAPH_H)
  expr.o : expr.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(TREE_H) $(FLAGS_H) function.h $(REGS_H) $(EXPR_H) $(OPTABS_H) \
     libfuncs.h $(INSN_ATTR_H) insn-config.h $(RECOG_H) output.h \
     typeclass.h hard-reg-set.h toplev.h hard-reg-set.h except.h reload.h \
     $(GGC_H) langhooks.h intl.h $(TM_P_H) real.h $(TARGET_H) \
!    tree-iterator.h gt-expr.h
  dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) function.h $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \
     langhooks.h $(GGC_H) gt-dojump.h
! builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H)\
!    $(TREE_GIMPLE_H) $(FLAGS_H) $(TARGET_H) function.h $(REGS_H) $(EXPR_H) $(OPTABS_H) \
!    insn-config.h $(RECOG_H) output.h typeclass.h hard-reg-set.h toplev.h hard-reg-set.h \
!    except.h $(TM_P_H) $(PREDICT_H) libfuncs.h real.h langhooks.h basic-block.h \
!    tree-mudflap.h
! calls.o : calls.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) \
!    $(EXPR_H) $(OPTABS_H) langhooks.h $(TARGET_H) \
!    libfuncs.h $(REGS_H) toplev.h output.h function.h $(TIMEVAR_H) $(TM_P_H) $(CGRAPH_H) except.h
  expmed.o : expmed.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) real.h \
     toplev.h $(TM_P_H) langhooks.h
  explow.o : explow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) hard-reg-set.h insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) \
!    toplev.h function.h $(GGC_H) $(TM_P_H) langhooks.h gt-explow.h
! optabs.o : optabs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) insn-config.h $(EXPR_H) $(OPTABS_H) libfuncs.h $(RECOG_H) reload.h \
!    toplev.h $(GGC_H) real.h $(TM_P_H) except.h gt-optabs.h $(BASIC_BLOCK_H) \
!    $(TARGET_H)
! dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
!    $(FLAGS_H) $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h langhooks.h \
!    insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h toplev.h \
!    $(GGC_H) $(OBSTACK_H) $(EXPR_H) gt-dbxout.h
  debug.o : debug.c debug.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
  sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) debug.h \
!    $(TREE_H) $(GGC_H) varray.h $(RTL_H) $(REGS_H) $(FLAGS_H) insn-config.h \
     output.h toplev.h $(TM_P_H) gsyms.h langhooks.h $(TARGET_H) sdbout.h \
!    gt-sdbout.h
  dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) version.h $(RTL_H) dwarf2.h debug.h $(FLAGS_H) insn-config.h reload.h \
     output.h $(DIAGNOSTIC_H) real.h hard-reg-set.h $(REGS_H) $(EXPR_H) \
!    libfuncs.h toplev.h dwarf2out.h varray.h $(GGC_H) except.h dwarf2asm.h \
     $(TM_P_H) langhooks.h $(HASHTAB_H) gt-dwarf2out.h $(TARGET_H) $(CGRAPH_H) \
!    $(MD5_H) input.h
! dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(FLAGS_H) $(RTL_H) \
!    $(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) gt-dwarf2asm.h
  vmsdbgout.o : vmsdbgout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) version.h \
     $(RTL_H) $(FLAGS_H) output.h vmsdbg.h debug.h langhooks.h function.h $(TARGET_H)
! xcoffout.o : xcoffout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_H) \
!    xcoffout.h $(FLAGS_H) toplev.h output.h dbxout.h $(GGC_H) $(TARGET_H)
! emit-rtl.o : emit-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) function.h $(REGS_H) insn-config.h $(RECOG_H) real.h $(GGC_H) \
!    $(EXPR_H) $(OBSTACK_H) hard-reg-set.h bitmap.h toplev.h \
!    $(HASHTAB_H) $(TM_P_H) debug.h langhooks.h gt-emit-rtl.h
! real.o : real.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) toplev.h $(TM_P_H)
! integrate.o : integrate.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) debug.h $(INTEGRATE_H) insn-config.h $(EXPR_H) real.h $(REGS_H) \
!    intl.h function.h output.h $(RECOG_H) except.h toplev.h \
!    $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h gt-integrate.h
  jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h function.h \
     toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H) \
     $(DIAGNOSTIC_H)
  
! simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
!    output.h function.h $(GGC_H) $(OBSTACK_H) $(TM_P_H) $(TREE_H) $(TARGET_H)
  cgraph.o : cgraph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    langhooks.h toplev.h $(FLAGS_H) $(GGC_H)  $(TARGET_H) $(CGRAPH_H) gt-cgraph.h \
!    output.h intl.h
! cgraphunit.o : cgraphunit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    langhooks.h tree-inline.h toplev.h $(FLAGS_H) $(GGC_H)  $(TARGET_H) $(CGRAPH_H) intl.h \
!    pointer-set.h function.h $(TREE_GIMPLE_H) $(TREE_FLOW_H)
! coverage.o : coverage.c gcov-io.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) function.h \
!    toplev.h $(GGC_H) $(TARGET_H) langhooks.h $(COVERAGE_H) libfuncs.h \
!    gt-coverage.h $(HASHTAB_H)
! cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
!    hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(RECOG_H) $(EMIT_RTL_H) toplev.h \
!    output.h function.h cselib.h $(GGC_H) $(TM_P_H) gt-cselib.h $(PARAMS_H) \
!    alloc-pool.h
  cse.o : cse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
     hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
     output.h function.h $(BASIC_BLOCK_H) $(GGC_H) $(TM_P_H) $(TIMEVAR_H) \
!    except.h $(TARGET_H) $(PARAMS_H) rtlhooks-def.h
! web.o : web.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
!    hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) function.h output.h toplev.h $(DF_H)
! gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
!    hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(GGC_H) $(RECOG_H) $(EXPR_H) \
!    $(BASIC_BLOCK_H) function.h output.h toplev.h $(TM_P_H) $(PARAMS_H) \
!    except.h gt-gcse.h $(TREE_H) cselib.h $(TIMEVAR_H)
! resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(BASIC_BLOCK_H) $(REGS_H) $(FLAGS_H) output.h $(RESOURCE_H) function.h toplev.h \
!    $(INSN_ATTR_H) except.h $(PARAMS_H) $(TM_P_H)
  lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
!    hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(INSN_ATTR_H) $(RECOG_H) $(EXPR_H) \
!    $(BASIC_BLOCK_H) $(TM_P_H) $(DF_H) function.h
! tree-ssa-dce.o : tree-ssa-dce.c $(CONFIG_H) system.h errors.h $(TREE_H) \
!     $(RTL_H) $(TM_P_H) $(TREE_FLOW_H) diagnostic.h $(TIMEVAR_H) $(TM_H) \
!     coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H)
  tree-ssa-ccp.o : tree-ssa-ccp.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    diagnostic.h errors.h function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
     $(TREE_DUMP_H) $(BASIC_BLOCK_H) tree-pass.h langhooks.h \
!    tree-ssa-propagate.h
! tree-sra.o : tree-sra.c $(CONFIG_H) system.h errors.h $(TREE_H) $(RTL_H) \
!     $(TM_P_H) $(TREE_FLOW_H) diagnostic.h tree-inline.h \
      $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_GIMPLE_H) \
!     langhooks.h tree-pass.h $(FLAGS_H) $(EXPR_H)
! tree-complex.o : tree-complex.c $(CONFIG_H) system.h $(TREE_H) \
      $(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
      $(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \
!     langhooks.h $(FLAGS_H) $(DIAGNOSTIC_H) gt-tree-complex.h $(GGC_H)
  df.o : df.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     insn-config.h $(RECOG_H) function.h $(REGS_H) alloc-pool.h hard-reg-set.h \
!    $(BASIC_BLOCK_H) $(DF_H)
  var-tracking.o : var-tracking.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h $(FLAGS_H) \
     $(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H) \
!    $(REGS_H) $(EXPR_H)
  conflict.o : conflict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(OBSTACK_H) \
     $(HASHTAB_H) $(RTL_H) hard-reg-set.h $(BASIC_BLOCK_H)
  profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) function.h \
!    toplev.h $(BASIC_BLOCK_H) $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h
  tree-profile.o : tree-profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) function.h \
!    toplev.h $(BASIC_BLOCK_H) $(COVERAGE_H) $(TREE_H) value-prof.h \
!    tree-pass.h $(TREE_FLOW_H) $(TIMEVAR_H)
! rtl-profile.o : tree-profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) function.h \
!    toplev.h $(BASIC_BLOCK_H) $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h $(GGC_H)
! value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h value-prof.h $(EXPR_H) output.h $(FLAGS_H) \
!    $(RECOG_H) insn-config.h $(OPTABS_H) $(REGS_H) $(GGC_H)
! loop.o : loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    insn-config.h $(REGS_H) hard-reg-set.h $(RECOG_H) $(EXPR_H) \
     real.h $(PREDICT_H) $(BASIC_BLOCK_H) function.h $(CFGLOOP_H) \
!    toplev.h varray.h except.h cselib.h $(OPTABS_H) $(TM_P_H) $(GGC_H)
  loop-doloop.o : loop-doloop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(FLAGS_H) $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) \
     toplev.h $(CFGLOOP_H) output.h $(PARAMS_H)
  alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h $(HASHTAB_H)
! flow.o : flow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
!    $(RECOG_H) function.h except.h $(EXPR_H) $(GGC_H) $(TM_P_H)
! cfg.o : cfg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) insn-config.h \
!    $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
!    function.h except.h $(GGC_H) $(TM_P_H) alloc-pool.h $(TIMEVAR_H) 
! cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(BASIC_BLOCK_H) $(CFGLAYOUT_H) $(TREE_FLOW_H) $(TIMEVAR_H) toplev.h
  cfgexpand.o : cfgexpand.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) function.h $(TIMEVAR_H) $(TM_H) \
!    coretypes.h $(TREE_DUMP_H) except.h langhooks.h cfgloop.h tree-pass.h \
!    $(RTL_H) $(DIAGNOSTIC_H) toplev.h
! cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
!    function.h except.h $(GGC_H) $(TM_P_H) insn-config.h $(EXPR_H)
  cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h insn-config.h $(RECOG_H) $(GGC_H) $(TM_P_H) \
!    $(TIMEVAR_H)
! cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h $(RECOG_H) \
!    function.h except.h $(GGC_H)
  cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(TIMEVAR_H) $(BASIC_BLOCK_H) hard-reg-set.h output.h $(FLAGS_H) \
!    $(RECOG_H) toplev.h $(GGC_H) insn-config.h cselib.h $(TARGET_H) $(TM_P_H) \
!    $(PARAMS_H) $(REGS_H) $(EMIT_RTL_H)
  cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) coretypes.h $(TM_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(FLAGS_H)
  cfgloopanal.o : cfgloopanal.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(EXPR_H) coretypes.h $(TM_H)
! loop-iv.o : loop-iv.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(GGC_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(EXPR_H) coretypes.h $(TM_H)
! loop-invariant.o : loop-invariant.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(GGC_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h cfgloop.h $(EXPR_H) coretypes.h $(TM_H) \
!    function.h $(FLAGS_H) df.h
  cfgloopmanip.o : cfgloopmanip.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) output.h coretypes.h $(TM_H)
  loop-init.o : loop-init.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) \
!    coretypes.h $(TM_H)
  loop-unswitch.o : loop-unswitch.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) $(PARAMS_H) \
!    output.h $(EXPR_H) coretypes.h $(TM_H)
  loop-unroll.o: loop-unroll.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) $(PARAMS_H) \
!    output.h $(EXPR_H) coretypes.h $(TM_H) $(HASHTAB_H) $(RECOG_H) $(VARRAY_H)
  dominance.o : dominance.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    hard-reg-set.h $(BASIC_BLOCK_H) et-forest.h
! et-forest.o : et-forest.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) et-forest.h alloc-pool.h
  combine.o : combine.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(FLAGS_H) function.h insn-config.h $(INSN_ATTR_H) $(REGS_H) $(EXPR_H) \
     rtlhooks-def.h $(BASIC_BLOCK_H) $(RECOG_H) real.h hard-reg-set.h \
!    toplev.h $(TM_P_H) $(TREE_H) $(TARGET_H) output.h $(PARAMS_H) $(OPTABS_H)
  regclass.o : regclass.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) insn-config.h \
     $(RECOG_H) reload.h real.h toplev.h function.h output.h $(GGC_H) \
!    $(TM_P_H) $(EXPR_H) $(TIMEVAR_H) gt-regclass.h
! local-alloc.o : local-alloc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
!    output.h function.h $(INSN_ATTR_H) toplev.h  except.h $(TM_P_H)
  bitmap.o : bitmap.c $(CONFIG_H) $(SYSTEM_H)  coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) $(GGC_H) gt-bitmap.h
! global.o : global.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    reload.h function.h $(RECOG_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h\
!    insn-config.h output.h toplev.h $(TM_P_H)
! varray.o : varray.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) varray.h $(GGC_H) errors.h \
!    $(HASHTAB_H)
! vec.o : vec.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) coretypes.h vec.h $(GGC_H) errors.h
! reload.o : reload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) output.h \
!    $(EXPR_H) $(OPTABS_H) reload.h $(RECOG_H) hard-reg-set.h insn-config.h \
!    $(REGS_H) function.h real.h toplev.h $(TM_P_H) $(PARAMS_H)
! reload1.o : reload1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h $(FLAGS_H) \
     $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \
     $(BASIC_BLOCK_H) $(RECOG_H) output.h function.h toplev.h $(TM_P_H) \
!    except.h $(TREE_H)
  rtlhooks.o :  rtlhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    rtlhooks-def.h $(EXPR_H)
! postreload.o : postreload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h $(FLAGS_H) \
!    $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \
!    $(BASIC_BLOCK_H) $(RECOG_H) output.h function.h toplev.h cselib.h $(TM_P_H) \
!    except.h $(TREE_H)
! postreload-gcse.o : postreload-gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(GGC_H) \
!    $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) function.h output.h toplev.h $(TM_P_H) \
!    except.h $(TREE_H)
  caller-save.o : caller-save.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(FLAGS_H) $(REGS_H) hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) function.h \
     $(RECOG_H) reload.h $(EXPR_H) toplev.h $(TM_P_H)
  bt-load.o : bt-load.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) except.h \
!    $(BASIC_BLOCK_H) $(RTL_H) hard-reg-set.h $(REGS_H) $(OBSTACK_H) $(TM_P_H) \
!    $(FIBHEAP_H) output.h $(TARGET_H) $(EXPR_H) $(FLAGS_H) $(INSN_ATTR_H)
! reorg.o : reorg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) conditions.h \
!    hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h $(INSN_ATTR_H) except.h \
!    $(RECOG_H) function.h $(FLAGS_H) output.h $(EXPR_H) toplev.h $(PARAMS_H) $(TM_P_H)
! alias.o : alias.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) toplev.h output.h $(ALIAS_H) $(EMIT_RTL_H) \
!    $(GGC_H) function.h cselib.h $(TREE_H) $(TM_P_H) langhooks.h $(TARGET_H) \
!    gt-alias.h $(TIMEVAR_H) $(CGRAPH_H)
! regmove.o : regmove.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) insn-config.h \
     $(RECOG_H) output.h $(REGS_H) hard-reg-set.h $(FLAGS_H) function.h \
     $(EXPR_H) $(BASIC_BLOCK_H) toplev.h $(TM_P_H) except.h reload.h
  ddg.o : ddg.c $(DDG_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TARGET_H) \
!    toplev.h $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) regs.h function.h $(FLAGS_H) \
!    insn-config.h insn-attr.h except.h $(RECOG_H) $(SCHED_INT_H) \
!    $(CFGLAYOUT_H) $(CFGLOOP_H) $(EXPR_H)
! modulo-sched.o : modulo-sched.c $(DDG_H) $(CONFIG_H) \
!    $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TARGET_H) \
!    toplev.h $(RTL_H) $(TM_P_H) $(BASIC_BLOCK_H) regs.h function.h $(FLAGS_H) \
!    insn-config.h insn-attr.h except.h $(RECOG_H) $(SCHED_INT_H) \
!    $(CFGLAYOUT_H) $(CFGLOOP_H) $(EXPR_H) params.h $(COVERAGE_H)
  haifa-sched.o : haifa-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h function.h \
     $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(TARGET_H)
! sched-deps.o : sched-deps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h function.h \
!    $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h cselib.h $(PARAMS_H) $(TM_P_H)
! sched-rgn.o : sched-rgn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h function.h \
!    $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(PARAMS_H) $(TM_P_H) $(TARGET_H)
! sched-ebb.o : sched-ebb.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h function.h \
!    $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(PARAMS_H)
! sched-vis.o : sched-vis.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) hard-reg-set.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) $(REGS_H) $(TM_P_H) \
!    $(TARGET_H) real.h
! final.o : final.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) intl.h $(REGS_H) $(RECOG_H) conditions.h insn-config.h $(INSN_ATTR_H) \
!    function.h real.h output.h hard-reg-set.h except.h debug.h xcoffout.h \
!    toplev.h reload.h dwarf2out.h $(BASIC_BLOCK_H) $(TM_P_H) $(TARGET_H) \
!    $(EXPR_H)
! recog.o : recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) function.h \
!    $(BASIC_BLOCK_H) $(REGS_H) $(RECOG_H) $(EXPR_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
!    $(INSN_ATTR_H) real.h toplev.h output.h reload.h $(TM_P_H)
! reg-stack.o : reg-stack.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(RECOG_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h toplev.h reload.h \
!    varray.h function.h $(TM_P_H) $(GGC_H) gt-reg-stack.h basic-block.h
  sreal.o: sreal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) sreal.h
! predict.o: predict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
!    $(RECOG_H) function.h except.h $(EXPR_H) $(TM_P_H) $(PREDICT_H) sreal.h \
!    $(PARAMS_H) $(TARGET_H) $(CFGLOOP_H) $(COVERAGE_H) tree-scalar-evolution.h
  lists.o: lists.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
     $(RTL_H) $(GGC_H) gt-lists.h
  bb-reorder.o : bb-reorder.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(BASIC_BLOCK_H) $(FLAGS_H) $(TIMEVAR_H) output.h $(CFGLAYOUT_H) $(FIBHEAP_H) \
!    $(TARGET_H) function.h $(TM_P_H) $(OBSTACK_H) $(EXPR_H) $(REGS_H)
! tracer.o : tracer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h output.h $(CFGLAYOUT_H) $(FLAGS_H) $(TIMEVAR_H) \
!    $(PARAMS_H) $(COVERAGE_H)
  cfglayout.o : cfglayout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(TREE_H) insn-config.h $(BASIC_BLOCK_H) hard-reg-set.h output.h \
!    function.h $(CFGLAYOUT_H) $(CFGLOOP_H) $(TARGET_H) gt-cfglayout.h $(GGC_H)
! timevar.o : timevar.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TIMEVAR_H) $(FLAGS_H) \
!    intl.h toplev.h
! regrename.o : regrename.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h $(RECOG_H) function.h \
!    $(RESOURCE_H) $(OBSTACK_H) $(FLAGS_H) $(TM_P_H)
  ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(REGS_H) toplev.h $(FLAGS_H) insn-config.h function.h $(RECOG_H) $(TARGET_H) \
!    $(BASIC_BLOCK_H) $(EXPR_H) output.h except.h $(TM_P_H) real.h $(OPTABS_H) \
!    $(CFGLOOP_H)
! lambda-mat.o : lambda-mat.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) $(TM_H)
! lambda-trans.o: lambda-trans.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) $(TM_H)
  lambda-code.o: lambda-code.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) \
!    errors.h $(TM_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) diagnostic.h \
!    $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) cfgloop.h \
!    $(TREE_DATA_REF_H) $(SCEV_H) $(EXPR_H)
  params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) toplev.h
  pointer-set.o: pointer-set.c pointer-set.h $(CONFIG_H) $(SYSTEM_H)
  hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H)
  pretty-print.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h $(PRETTY_PRINT_H) \
     $(TREE_H)
! errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h
  
  $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) $(GGC_H) \
     $(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
--- 2044,2497 ----
     graph.h except.h $(REGS_H) $(TIMEVAR_H) value-prof.h \
     $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
     langhooks.h insn-flags.h $(CFGLAYOUT_H) real.h $(CFGLOOP_H) \
!    hosthooks.h $(CGRAPH_H) $(COVERAGE_H) tree-pass.h $(TREE_DUMP_H) \
!    $(GGC_H) $(INTEGRATE_H) $(CPPLIB_H) opts.h tree-flow.h tree-inline.h
  
  main.o : main.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h
  
! host-default.o : host-default.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    hosthooks.h $(HOSTHOOKS_DEF_H)
  
! rtl-error.o: rtl-error.c $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(INSN_ATTR_H) insn-config.h input.h toplev.h intl.h $(DIAGNOSTIC_H) \
!    $(CONFIG_H)
  
  rtl.o : rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) real.h \
!   $(GGC_H) $(BCONFIG_H) insn-notes.def reg-notes.def toplev.h
  
  print-rtl.o : print-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!     $(RTL_H) $(TREE_H) hard-reg-set.h $(BASIC_BLOCK_H) real.h $(FLAGS_H) \
!     $(BCONFIG_H)
  rtlanal.o : rtlanal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
!    $(RTL_H) hard-reg-set.h $(TM_P_H) insn-config.h $(RECOG_H) real.h \
!    $(FLAGS_H) $(REGS_H) output.h $(TARGET_H) function.h
  
! varasm.o : varasm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(RTL_H) $(FLAGS_H) function.h $(EXPR_H) hard-reg-set.h $(REGS_H) \
     output.h $(C_PRAGMA_H) toplev.h xcoffout.h debug.h $(GGC_H) $(TM_P_H) \
!    $(HASHTAB_H) $(TARGET_H) langhooks.h gt-varasm.h real.h $(BASIC_BLOCK_H) \
!    $(CFGLAYOUT_H) $(CGRAPH_H) tree-mudflap.h
  function.o : function.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(CFGLAYOUT_H) $(TREE_GIMPLE_H) $(FLAGS_H) function.h $(EXPR_H) \
!    $(OPTABS_H) libfuncs.h $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
!    output.h toplev.h except.h $(HASHTAB_H) $(GGC_H) $(TM_P_H) langhooks.h \
!    gt-function.h $(TARGET_H) $(BASIC_BLOCK_H) $(INTEGRATE_H) $(PREDICT_H) \
!    tree-pass.h
! stmt.o : stmt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) function.h insn-config.h hard-reg-set.h $(EXPR_H) \
!    libfuncs.h except.h $(RECOG_H) toplev.h output.h $(GGC_H) $(TM_P_H) \
!    langhooks.h $(PREDICT_H) $(OPTABS_H) $(TARGET_H) $(MACHMODE_H) \
!    $(REGS_H)
  except.o : except.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) except.h function.h $(EXPR_H) libfuncs.h \
     langhooks.h insn-config.h hard-reg-set.h $(BASIC_BLOCK_H) output.h \
     dwarf2asm.h dwarf2out.h toplev.h $(HASHTAB_H) intl.h $(GGC_H) \
!    gt-except.h $(CGRAPH_H) $(INTEGRATE_H) $(DIAGNOSTIC_H) dwarf2.h \
!    $(TARGET_H) $(TM_P_H) tree-pass.h timevar.h
  expr.o : expr.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(TREE_H) $(FLAGS_H) function.h $(REGS_H) $(EXPR_H) $(OPTABS_H) \
     libfuncs.h $(INSN_ATTR_H) insn-config.h $(RECOG_H) output.h \
     typeclass.h hard-reg-set.h toplev.h hard-reg-set.h except.h reload.h \
     $(GGC_H) langhooks.h intl.h $(TM_P_H) real.h $(TARGET_H) \
!    tree-iterator.h gt-expr.h $(MACHMODE_H) $(TIMEVAR_H) $(TREE_FLOW_H) \
!    tree-pass.h
  dojump.o : dojump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) function.h $(EXPR_H) $(OPTABS_H) $(INSN_ATTR_H) insn-config.h \
     langhooks.h $(GGC_H) gt-dojump.h
! builtins.o : builtins.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(TREE_GIMPLE_H) $(FLAGS_H) $(TARGET_H) function.h $(REGS_H) \
!    $(EXPR_H) $(OPTABS_H) insn-config.h $(RECOG_H) output.h typeclass.h \
!    hard-reg-set.h toplev.h hard-reg-set.h except.h $(TM_P_H) $(PREDICT_H) \
!    libfuncs.h real.h langhooks.h $(BASIC_BLOCK_H) tree-mudflap.h \
!    builtins.def $(MACHMODE_H)
! calls.o : calls.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) $(EXPR_H) $(OPTABS_H) langhooks.h $(TARGET_H) \
!    libfuncs.h $(REGS_H) toplev.h output.h function.h $(TIMEVAR_H) $(TM_P_H) \
!    $(CGRAPH_H) except.h sbitmap.h
  expmed.o : expmed.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) real.h \
     toplev.h $(TM_P_H) langhooks.h
  explow.o : explow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(TREE_H) \
     $(FLAGS_H) hard-reg-set.h insn-config.h $(EXPR_H) $(OPTABS_H) $(RECOG_H) \
!    toplev.h function.h $(GGC_H) $(TM_P_H) langhooks.h gt-explow.h target.h
! optabs.o : optabs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) insn-config.h $(EXPR_H) $(OPTABS_H) libfuncs.h \
!    $(RECOG_H) reload.h toplev.h $(GGC_H) real.h $(TM_P_H) except.h \
!    gt-optabs.h $(BASIC_BLOCK_H) $(TARGET_H) function.h
! dbxout.o : dbxout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(RTL_H) $(FLAGS_H) $(REGS_H) debug.h $(TM_P_H) $(TARGET_H) function.h \
!    langhooks.h insn-config.h reload.h gstab.h xcoffout.h output.h dbxout.h \
!    toplev.h $(GGC_H) $(OBSTACK_H) $(EXPR_H) gt-dbxout.h
  debug.o : debug.c debug.h $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H)
  sdbout.o : sdbout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) debug.h \
!    $(TREE_H) $(GGC_H) $(RTL_H) $(REGS_H) $(FLAGS_H) insn-config.h \
     output.h toplev.h $(TM_P_H) gsyms.h langhooks.h $(TARGET_H) sdbout.h \
!    gt-sdbout.h reload.h $(VARRAY_H)
  dwarf2out.o : dwarf2out.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) version.h $(RTL_H) dwarf2.h debug.h $(FLAGS_H) insn-config.h \
     output.h $(DIAGNOSTIC_H) real.h hard-reg-set.h $(REGS_H) $(EXPR_H) \
!    libfuncs.h toplev.h dwarf2out.h reload.h $(GGC_H) except.h dwarf2asm.h \
     $(TM_P_H) langhooks.h $(HASHTAB_H) gt-dwarf2out.h $(TARGET_H) $(CGRAPH_H) \
!    $(MD5_H) input.h function.h $(VARRAY_H)
! dwarf2asm.o : dwarf2asm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(FLAGS_H) $(RTL_H) $(TREE_H) output.h dwarf2asm.h $(TM_P_H) $(GGC_H) \
!    gt-dwarf2asm.h dwarf2.h $(SPLAY_TREE_H) $(TARGET_H)
  vmsdbgout.o : vmsdbgout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) version.h \
     $(RTL_H) $(FLAGS_H) output.h vmsdbg.h debug.h langhooks.h function.h $(TARGET_H)
! xcoffout.o : xcoffout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) $(RTL_H) xcoffout.h $(FLAGS_H) toplev.h output.h dbxout.h \
!    $(GGC_H) $(TARGET_H) gstab.h xcoff.h
! emit-rtl.o : emit-rtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) function.h $(REGS_H) insn-config.h $(RECOG_H) real.h \
!    $(GGC_H) $(EXPR_H) hard-reg-set.h bitmap.h toplev.h $(BASIC_BLOCK_H) \
!    $(HASHTAB_H) $(TM_P_H) debug.h langhooks.h tree-pass.h gt-emit-rtl.h
! real.o : real.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    toplev.h $(TM_P_H) real.h
! integrate.o : integrate.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(TREE_H) $(FLAGS_H) debug.h $(INTEGRATE_H) insn-config.h \
!    $(EXPR_H) real.h $(REGS_H) intl.h function.h output.h $(RECOG_H) \
!    except.h toplev.h $(PARAMS_H) $(TM_P_H) $(TARGET_H) langhooks.h \
!    gt-integrate.h $(GGC_H) tree-pass.h
  jump.o : jump.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    hard-reg-set.h $(REGS_H) insn-config.h $(RECOG_H) $(EXPR_H) real.h except.h \
!    function.h tree-pass.h \
     toplev.h $(INSN_ATTR_H) $(TM_P_H) reload.h $(PREDICT_H) $(TIMEVAR_H) \
     $(DIAGNOSTIC_H)
  
! simplify-rtx.o : simplify-rtx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h \
!    $(RECOG_H) $(EXPR_H) toplev.h output.h function.h $(GGC_H) $(TM_P_H) \
!    $(TREE_H) $(TARGET_H)
  cgraph.o : cgraph.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    langhooks.h toplev.h $(FLAGS_H) $(GGC_H) $(TARGET_H) $(CGRAPH_H) \
!    gt-cgraph.h output.h intl.h $(BASIC_BLOCK_H) debug.h $(HASHTAB_H) \
!    tree-inline.h $(VARRAY_H) tree-dump.h
! cgraphunit.o : cgraphunit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) langhooks.h tree-inline.h toplev.h $(FLAGS_H) $(GGC_H) \
!    $(TARGET_H) $(CGRAPH_H) intl.h pointer-set.h function.h $(TREE_GIMPLE_H) \
!    $(TREE_FLOW_H) tree-pass.h $(C_COMMON_H) debug.h $(DIAGNOSTIC_H) \
!    $(FIBHEAP_H) output.h $(PARAMS_H) $(RTL_H) $(TIMEVAR_H) ipa-prop.h
! ipa.o : ipa.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(CGRAPH_H) 
! ipa-prop.o : ipa-prop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h  \
!    langhooks.h $(GGC_H) target.h $(CGRAPH_H) ipa-prop.h \
!    tree-flow.h $(TM_H) tree-pass.h $(FLAGS_H) $(TREE_H)
! ipa-cp.o : ipa-cp.c $(CONFIG_H) $(SYSTEM_H) coretypes.h  \
!    langhooks.h target.h $(CGRAPH_H) ipa-prop.h  \
!    tree-flow.h $(TM_H) tree-pass.h $(FLAGS_H) $(TREE_H) \
!    diagnostic.h
! ipa-inline.o : ipa-inline.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) langhooks.h tree-inline.h $(FLAGS_H) $(CGRAPH_H) intl.h \
!    $(DIAGNOSTIC_H) $(FIBHEAP_H) $(PARAMS_H) $(TIMEVAR_H) tree-pass.h \
!    $(COVERAGE_H) $(HASHTAB_H)
! ipa-utils.o : ipa-utils.c $(IPA_UTILS_H) $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(TREE_H) $(TREE_FLOW_H) tree-inline.h langhooks.h \
!    pointer-set.h $(GGC_H) $(C_COMMON_H) $(TREE_GIMPLE_H) \
!    $(CGRAPH_H) output.h $(FLAGS_H) tree-pass.h $(DIAGNOSTIC_H) 
! ipa-reference.o : ipa-reference.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(TREE_H) $(TREE_FLOW_H) tree-inline.h langhooks.h \
!    pointer-set.h $(GGC_H) $(IPA_REFERENCE_H) $(IPA_UTILS_H) $(C_COMMON_H) \
!    $(TREE_GIMPLE_H) $(CGRAPH_H) output.h $(FLAGS_H) tree-pass.h $(DIAGNOSTIC_H)  
! ipa-pure-const.o : ipa-pure-const.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(TREE_H) $(TREE_FLOW_H) tree-inline.h langhooks.h \
!    pointer-set.h $(GGC_H) $(IPA_UTILS_H) $(C_COMMON_H) \
!    $(TREE_GIMPLE_H) $(CGRAPH_H) output.h $(FLAGS_H) tree-pass.h $(DIAGNOSTIC_H)  
! ipa-type-escape.o : ipa-type-escape.c $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(TREE_H) $(TREE_FLOW_H) tree-inline.h langhooks.h \
!    pointer-set.h $(GGC_H) $(IPA_TYPE_ESCAPE_H) $(IPA_UTILS_H) $(C_COMMON_H) \
!    $(TREE_GIMPLE_H) $(CGRAPH_H) output.h $(FLAGS_H) tree-pass.h $(DIAGNOSTIC_H)  
! coverage.o : coverage.c $(GCOV_IO_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \
!    function.h toplev.h $(GGC_H) langhooks.h $(COVERAGE_H) gt-coverage.h \
!    $(HASHTAB_H) $(CGRAPH_H) tree-iterator.h
! cselib.o : cselib.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(RECOG_H) \
!    $(EMIT_RTL_H) toplev.h output.h function.h cselib.h $(GGC_H) $(TM_P_H) \
!    gt-cselib.h $(PARAMS_H) alloc-pool.h $(HASHTAB_H)
  cse.o : cse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
     hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(RECOG_H) $(EXPR_H) toplev.h \
     output.h function.h $(BASIC_BLOCK_H) $(GGC_H) $(TM_P_H) $(TIMEVAR_H) \
!    except.h $(TARGET_H) $(PARAMS_H) rtlhooks-def.h tree-pass.h
! web.o : web.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) function.h output.h toplev.h \
!    $(DF_H) $(OBSTACK_H) timevar.h tree-pass.h
! gcse.o : gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(GGC_H) \
!    $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) function.h output.h toplev.h \
!    $(TM_P_H) $(PARAMS_H) except.h gt-gcse.h $(TREE_H) cselib.h $(TIMEVAR_H) \
!    intl.h $(OBSTACK_H) tree-pass.h
! resource.o : resource.c $(CONFIG_H) $(RTL_H) hard-reg-set.h $(SYSTEM_H) \
!    coretypes.h $(TM_H) $(REGS_H) $(FLAGS_H) output.h $(RESOURCE_H) \
!    function.h toplev.h $(INSN_ATTR_H) except.h $(PARAMS_H) $(TM_P_H)
  lcm.o : lcm.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(REGS_H) \
!    hard-reg-set.h $(FLAGS_H) real.h insn-config.h $(INSN_ATTR_H) $(RECOG_H) \
!    $(BASIC_BLOCK_H) $(TM_P_H) function.h output.h
! mode-switching.o : mode-switching.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h \
!    $(INSN_ATTR_H) $(RECOG_H) $(BASIC_BLOCK_H) $(TM_P_H) function.h output.h \
!    tree-pass.h timevar.h
! tree-ssa-dce.o : tree-ssa-dce.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
!     $(RTL_H) $(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) $(TIMEVAR_H) $(TM_H) \
!     coretypes.h $(TREE_DUMP_H) tree-pass.h $(FLAGS_H) $(BASIC_BLOCK_H) \
!     $(GGC_H) hard-reg-set.h $(OBSTACK_H) $(TREE_GIMPLE_H) $(CFGLOOP_H) \
!     $(SCEV_H)
  tree-ssa-ccp.o : tree-ssa-ccp.c $(TREE_FLOW_H) $(CONFIG_H) \
     $(SYSTEM_H) $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) $(GGC_H) output.h \
!    $(DIAGNOSTIC_H) function.h $(TIMEVAR_H) $(TM_H) coretypes.h \
     $(TREE_DUMP_H) $(BASIC_BLOCK_H) tree-pass.h langhooks.h \
!    tree-ssa-propagate.h $(FLAGS_H) $(TARGET_H)
! tree-sra.o : tree-sra.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) \
!     $(TM_P_H) $(TREE_FLOW_H) $(DIAGNOSTIC_H) tree-inline.h \
      $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_GIMPLE_H) \
!     langhooks.h tree-pass.h $(FLAGS_H) $(EXPR_H) $(BASIC_BLOCK_H) \
!     bitmap.h $(GGC_H) hard-reg-set.h $(OBSTACK_H) $(PARAMS_H) $(TARGET_H)
! tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
!     $(TM_H) $(RTL_H) real.h $(FLAGS_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) \
!     tree-iterator.h tree-pass.h tree-ssa-propagate.h $(DIAGNOSTIC_H)
! tree-vect-generic.o : tree-vect-generic.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
      $(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
      $(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \
!     langhooks.h $(FLAGS_H) $(DIAGNOSTIC_H) gt-tree-vect-generic.h $(GGC_H) \
!     coretypes.h insn-codes.h
  df.o : df.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     insn-config.h $(RECOG_H) function.h $(REGS_H) alloc-pool.h hard-reg-set.h \
!    $(BASIC_BLOCK_H) $(DF_H) bitmap.h sbitmap.h $(TM_P_H)
  var-tracking.o : var-tracking.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(TREE_H) hard-reg-set.h insn-config.h reload.h $(FLAGS_H) \
     $(BASIC_BLOCK_H) output.h sbitmap.h alloc-pool.h $(FIBHEAP_H) $(HASHTAB_H) \
!    $(REGS_H) $(EXPR_H) timevar.h tree-pass.h
  conflict.o : conflict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(OBSTACK_H) \
     $(HASHTAB_H) $(RTL_H) hard-reg-set.h $(BASIC_BLOCK_H)
  profile.o : profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) function.h \
!    toplev.h $(COVERAGE_H) $(TREE_FLOW_H) value-prof.h cfghooks.h \
!    cfgloop.h timevar.h tree-pass.h
  tree-profile.o : tree-profile.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(TREE_H) $(FLAGS_H) output.h $(REGS_H) $(EXPR_H) \
!    function.h toplev.h $(COVERAGE_H) $(TREE_H) value-prof.h $(TREE_DUMP_H) \
!    tree-pass.h $(TREE_FLOW_H) $(TIMEVAR_H) $(GGC_H) gt-tree-profile.h
! value-prof.o : value-prof.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h value-prof.h $(EXPR_H) output.h $(FLAGS_H) \
!    $(RECOG_H) insn-config.h $(OPTABS_H) $(REGS_H) $(GGC_H) $(DIAGNOSTIC_H) \
!    $(TREE_H) $(COVERAGE_H) $(RTL_H) $(GCOV_IO_H) $(TREE_FLOW_H) \
!    tree-flow-inline.h timevar.h tree-pass.h
! loop.o : loop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) insn-config.h $(REGS_H) hard-reg-set.h $(RECOG_H) $(EXPR_H) \
     real.h $(PREDICT_H) $(BASIC_BLOCK_H) function.h $(CFGLOOP_H) \
!    toplev.h except.h cselib.h $(OPTABS_H) $(TM_P_H) $(GGC_H) insn-flags.h \
!    timevar.h tree-pass.h
  loop-doloop.o : loop-doloop.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(FLAGS_H) $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) $(TM_P_H) \
     toplev.h $(CFGLOOP_H) output.h $(PARAMS_H)
  alloc-pool.o : alloc-pool.c $(CONFIG_H) $(SYSTEM_H) alloc-pool.h $(HASHTAB_H)
! flow.o : flow.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) \
!    hard-reg-set.h output.h toplev.h $(RECOG_H) function.h except.h \
!    $(EXPR_H) $(TM_P_H) $(OBSTACK_H) $(SPLAY_TREE_H) $(TIMEVAR_H) tree-pass.h
! cfg.o : cfg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(FLAGS_H) \
!    $(REGS_H) hard-reg-set.h output.h toplev.h function.h except.h $(GGC_H) \
!    $(TM_P_H) $(TIMEVAR_H) $(OBSTACK_H) $(TREE_H) alloc-pool.h $(HASHTAB_H)
! cfghooks.o: cfghooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(BASIC_BLOCK_H) $(TREE_FLOW_H) $(TIMEVAR_H) toplev.h
  cfgexpand.o : cfgexpand.c $(TREE_FLOW_H) $(CONFIG_H) $(SYSTEM_H) \
     $(RTL_H) $(TREE_H) $(TM_P_H) $(EXPR_H) function.h $(TIMEVAR_H) $(TM_H) \
!    coretypes.h $(TREE_DUMP_H) except.h langhooks.h tree-pass.h $(RTL_H) \
!    $(DIAGNOSTIC_H) toplev.h $(BASIC_BLOCK_H) $(FLAGS_H) debug.h $(PARAMS_H)
! cfgrtl.o : cfgrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \
!    output.h toplev.h function.h except.h $(TM_P_H) insn-config.h $(EXPR_H) \
!    $(CFGLAYOUT_H) $(CFGLOOP_H) $(OBSTACK_H) $(TARGET_H) $(TREE_H) \
!    tree-pass.h
  cfganal.o : cfganal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h insn-config.h $(RECOG_H) $(TM_P_H) \
!    $(TIMEVAR_H) $(OBSTACK_H) toplev.h
! cfgbuild.o : cfgbuild.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h output.h toplev.h \
!    function.h except.h $(TIMEVAR_H) $(TREE_H)
  cfgcleanup.o : cfgcleanup.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(TIMEVAR_H) hard-reg-set.h output.h $(FLAGS_H) $(RECOG_H) \
!    toplev.h insn-config.h cselib.h $(TARGET_H) $(TM_P_H) $(PARAMS_H) \
!    $(REGS_H) $(EMIT_RTL_H) $(CFGLAYOUT_H) tree-pass.h cfgloop.h expr.h
  cfgloop.o : cfgloop.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) coretypes.h $(TM_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(FLAGS_H) function.h \
!    $(OBSTACK_H) toplev.h $(TREE_FLOW_H) $(TREE_H)
  cfgloopanal.o : cfgloopanal.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(EXPR_H) coretypes.h $(TM_H) \
!    $(OBSTACK_H) output.h
! loop-iv.o : loop-iv.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(BASIC_BLOCK_H) \
!    hard-reg-set.h $(CFGLOOP_H) $(EXPR_H) coretypes.h $(TM_H) $(OBSTACK_H) \
!    output.h intl.h
! loop-invariant.o : loop-invariant.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(EXPR_H) coretypes.h \
!    $(TM_H) $(TM_P_H) function.h $(FLAGS_H) $(DF_H) $(OBSTACK_H) output.h
  cfgloopmanip.o : cfgloopmanip.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
!    $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) output.h \
!    coretypes.h $(TM_H) cfghooks.h $(OBSTACK_H)
  loop-init.o : loop-init.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) \
!    coretypes.h $(TM_H) $(OBSTACK_H) tree-pass.h timevar.h $(FLAGS_H)
  loop-unswitch.o : loop-unswitch.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) $(PARAMS_H) \
!    output.h $(EXPR_H) coretypes.h $(TM_H) $(OBSTACK_H)
  loop-unroll.o: loop-unroll.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TM_H) \
     $(BASIC_BLOCK_H) hard-reg-set.h $(CFGLOOP_H) $(CFGLAYOUT_H) $(PARAMS_H) \
!    output.h $(EXPR_H) coretypes.h $(TM_H) $(HASHTAB_H) $(RECOG_H) $(VARRAY_H) \
!    $(OBSTACK_H)
  dominance.o : dominance.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    hard-reg-set.h $(BASIC_BLOCK_H) et-forest.h $(OBSTACK_H) toplev.h
! et-forest.o : et-forest.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    et-forest.h alloc-pool.h $(BASIC_BLOCK_H)
  combine.o : combine.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(FLAGS_H) function.h insn-config.h $(INSN_ATTR_H) $(REGS_H) $(EXPR_H) \
     rtlhooks-def.h $(BASIC_BLOCK_H) $(RECOG_H) real.h hard-reg-set.h \
!    toplev.h $(TM_P_H) $(TREE_H) $(TARGET_H) output.h $(PARAMS_H) $(OPTABS_H) \
!    insn-codes.h timevar.h tree-pass.h
  regclass.o : regclass.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     hard-reg-set.h $(FLAGS_H) $(BASIC_BLOCK_H) $(REGS_H) insn-config.h \
     $(RECOG_H) reload.h real.h toplev.h function.h output.h $(GGC_H) \
!    $(TM_P_H) $(EXPR_H) $(TIMEVAR_H) gt-regclass.h $(HASHTAB_H)
! local-alloc.o : local-alloc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(FLAGS_H) $(REGS_H) hard-reg-set.h insn-config.h $(RECOG_H) \
!    output.h function.h $(INSN_ATTR_H) toplev.h  except.h reload.h $(TM_P_H) \
!    $(GGC_H) $(INTEGRATE_H) timevar.h tree-pass.h
  bitmap.o : bitmap.c $(CONFIG_H) $(SYSTEM_H)  coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) $(GGC_H) gt-bitmap.h bitmap.h $(OBSTACK_H)
! global.o : global.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) reload.h function.h $(RECOG_H) $(REGS_H) hard-reg-set.h \
!    insn-config.h output.h toplev.h $(TM_P_H) $(MACHMODE_H) tree-pass.h \
!    timevar.h
! varray.o : varray.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GGC_H) \
!    $(HASHTAB_H) $(BCONFIG_H) $(VARRAY_H) toplev.h
! vec.o : vec.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) coretypes.h vec.h $(GGC_H) \
!    toplev.h
! reload.o : reload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) output.h $(EXPR_H) $(OPTABS_H) reload.h $(RECOG_H) \
!    hard-reg-set.h insn-config.h $(REGS_H) function.h real.h toplev.h \
!    $(TM_P_H) $(PARAMS_H) $(TARGET_H)
! reload1.o : reload1.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) hard-reg-set.h insn-config.h \
     $(BASIC_BLOCK_H) $(RECOG_H) output.h function.h toplev.h $(TM_P_H) \
!    except.h $(TREE_H) real.h $(FLAGS_H) $(MACHMODE_H) $(OBSTACK_H)
  rtlhooks.o :  rtlhooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    rtlhooks-def.h $(EXPR_H) $(RECOG_H)
! postreload.o : postreload.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) real.h $(FLAGS_H) $(EXPR_H) $(OPTABS_H) reload.h $(REGS_H) \
!    hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) $(RECOG_H) output.h \
!    function.h toplev.h cselib.h $(TM_P_H) except.h $(TREE_H) $(MACHMODE_H) \
!    $(OBSTACK_H) timevar.h tree-pass.h
! postreload-gcse.o : postreload-gcse.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) real.h insn-config.h \
!    $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) function.h output.h toplev.h \
!    $(TM_P_H) except.h $(TREE_H) $(TARGET_H) $(HASHTAB_H) intl.h $(OBSTACK_H) \
!    $(PARAMS_H) timevar.h tree-pass.h
  caller-save.o : caller-save.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
     $(FLAGS_H) $(REGS_H) hard-reg-set.h insn-config.h $(BASIC_BLOCK_H) function.h \
     $(RECOG_H) reload.h $(EXPR_H) toplev.h $(TM_P_H)
  bt-load.o : bt-load.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) except.h \
!    $(RTL_H) hard-reg-set.h $(REGS_H) $(TM_P_H) $(FIBHEAP_H) output.h $(EXPR_H) \
!    $(TARGET_H) $(FLAGS_H) $(INSN_ATTR_H) function.h tree-pass.h toplev.h
! reorg.o : reorg.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    conditions.h hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) insn-config.h \
!    $(INSN_ATTR_H) except.h $(RECOG_H) function.h $(FLAGS_H) output.h \
!    $(EXPR_H) toplev.h $(PARAMS_H) $(TM_P_H) $(OBSTACK_H) $(RESOURCE_H) \
!    timevar.h target.h tree-pass.h
! alias.o : alias.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(FLAGS_H) hard-reg-set.h $(BASIC_BLOCK_H) $(REGS_H) toplev.h output.h \
!    $(ALIAS_H) $(EMIT_RTL_H) $(GGC_H) function.h cselib.h $(TREE_H) $(TM_P_H) \
!    langhooks.h $(TARGET_H) gt-alias.h $(TIMEVAR_H) $(CGRAPH_H) \
!    $(SPLAY_TREE_H) $(VARRAY_H) $(IPA_TYPE_ESCAPE_H) tree-pass.h
! regmove.o : regmove.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    insn-config.h timevar.h tree-pass.h \
     $(RECOG_H) output.h $(REGS_H) hard-reg-set.h $(FLAGS_H) function.h \
     $(EXPR_H) $(BASIC_BLOCK_H) toplev.h $(TM_P_H) except.h reload.h
  ddg.o : ddg.c $(DDG_H) $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TARGET_H) \
!    toplev.h $(RTL_H) $(TM_P_H) $(REGS_H) function.h \
!    $(FLAGS_H) insn-config.h $(INSN_ATTR_H) except.h $(RECOG_H) \
!    $(SCHED_INT_H) $(CFGLAYOUT_H) $(CFGLOOP_H) $(EXPR_H) bitmap.h $(DF_H) \
!    hard-reg-set.h sbitmap.h $(TM_H)
! modulo-sched.o : modulo-sched.c $(DDG_H) $(CONFIG_H) $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TARGET_H) toplev.h $(RTL_H) $(TM_P_H) $(REGS_H) function.h \
!    $(FLAGS_H) insn-config.h $(INSN_ATTR_H) except.h $(RECOG_H) \
!    $(SCHED_INT_H) $(CFGLAYOUT_H) $(CFGLOOP_H) $(EXPR_H) $(PARAMS_H) \
!    cfghooks.h $(DF_H) $(GCOV_IO_H) hard-reg-set.h $(TM_H) timevar.h tree-pass.h
  haifa-sched.o : haifa-sched.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(SCHED_INT_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h function.h \
     $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) $(TARGET_H)
! sched-deps.o : sched-deps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(SCHED_INT_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
!    function.h $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h cselib.h \
!    $(PARAMS_H) $(TM_P_H) $(DF_H)
! sched-rgn.o : sched-rgn.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(SCHED_INT_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
!    function.h $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(PARAMS_H) \
!    $(TM_P_H) $(TARGET_H) $(CFGLAYOUT_H) timevar.h tree-pass.h
! sched-ebb.o : sched-ebb.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(SCHED_INT_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \
!    function.h $(INSN_ATTR_H) toplev.h $(RECOG_H) except.h $(TM_P_H) \
!    $(PARAMS_H) $(CFGLAYOUT_H) $(TARGET_H)
! sched-vis.o : sched-vis.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(SCHED_INT_H) hard-reg-set.h $(BASIC_BLOCK_H) $(INSN_ATTR_H) \
!    $(REGS_H) $(TM_P_H) $(TARGET_H) real.h toplev.h
! final.o : final.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) intl.h $(REGS_H) $(RECOG_H) conditions.h \
!    insn-config.h $(INSN_ATTR_H) function.h real.h output.h hard-reg-set.h \
!    except.h debug.h xcoffout.h toplev.h reload.h dwarf2out.h tree-pass.h \
!    $(BASIC_BLOCK_H) $(TM_P_H) $(TARGET_H) $(EXPR_H) $(CFGLAYOUT_H) dbxout.h \
!    timevar.h cgraph.h $(COVERAGE_H)
! recog.o : recog.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    function.h $(BASIC_BLOCK_H) $(REGS_H) $(RECOG_H) $(EXPR_H) hard-reg-set.h \
!    $(FLAGS_H) insn-config.h $(INSN_ATTR_H) real.h toplev.h output.h reload.h \
!    $(TM_P_H) timevar.h tree-pass.h
! reg-stack.o : reg-stack.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(TREE_H) $(RECOG_H) $(REGS_H) hard-reg-set.h $(FLAGS_H) \
!    insn-config.h toplev.h reload.h function.h $(TM_P_H) $(GGC_H) \
!    gt-reg-stack.h $(BASIC_BLOCK_H) output.h $(VARRAY_H) timevar.h tree-pass.h \
!    target.h
  sreal.o: sreal.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) sreal.h
! predict.o: predict.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(FLAGS_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) \
!    hard-reg-set.h output.h toplev.h $(RECOG_H) function.h except.h $(EXPR_H) \
!    $(TM_P_H) $(PREDICT_H) sreal.h $(PARAMS_H) $(TARGET_H) $(CFGLOOP_H) \
!    $(COVERAGE_H) $(SCEV_H) $(GGC_H) predict.def $(TIMEVAR_H) $(TREE_DUMP_H) \
!    $(TREE_FLOW_H) tree-pass.h
  lists.o: lists.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h \
     $(RTL_H) $(GGC_H) gt-lists.h
  bb-reorder.o : bb-reorder.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) $(FLAGS_H) $(TIMEVAR_H) output.h $(CFGLAYOUT_H) $(FIBHEAP_H) \
!    $(TARGET_H) function.h $(TM_P_H) $(OBSTACK_H) $(EXPR_H) $(REGS_H) \
!    $(PARAMS_H) toplev.h tree-pass.h
! tracer.o : tracer.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(TREE_H) $(BASIC_BLOCK_H) hard-reg-set.h output.h $(CFGLAYOUT_H) \
!    $(FLAGS_H) $(TIMEVAR_H) $(PARAMS_H) $(COVERAGE_H) $(FIBHEAP_H) \
!    tree-pass.h
  cfglayout.o : cfglayout.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
     $(RTL_H) $(TREE_H) insn-config.h $(BASIC_BLOCK_H) hard-reg-set.h output.h \
!    function.h $(CFGLAYOUT_H) $(CFGLOOP_H) $(TARGET_H) gt-cfglayout.h \
!    $(GGC_H) alloc-pool.h $(FLAGS_H) $(OBSTACK_H) tree-pass.h
! timevar.o : timevar.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TIMEVAR_H) $(FLAGS_H) intl.h toplev.h $(RTL_H) timevar.def
! regrename.o : regrename.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(RTL_H) insn-config.h $(BASIC_BLOCK_H) $(REGS_H) hard-reg-set.h \
!    output.h $(RECOG_H) function.h $(OBSTACK_H) $(FLAGS_H) $(TM_P_H) \
!    reload.h toplev.h timevar.h tree-pass.h
  ifcvt.o : ifcvt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \
!    $(REGS_H) toplev.h $(FLAGS_H) insn-config.h function.h $(RECOG_H) \
!    $(TARGET_H) $(BASIC_BLOCK_H) $(EXPR_H) output.h except.h $(TM_P_H) \
!    real.h $(OPTABS_H) $(CFGLOOP_H) hard-reg-set.h timevar.h tree-pass.h
! lambda-mat.o : lambda-mat.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) \
!    $(TM_H) coretypes.h $(TREE_H) $(VARRAY_H)
! lambda-trans.o: lambda-trans.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) \
!    $(TM_H) coretypes.h $(TARGET_H) $(TREE_H) $(VARRAY_H)
  lambda-code.o: lambda-code.c $(LAMBDA_H) $(GGC_H) $(SYSTEM_H) $(CONFIG_H) \
!    $(TM_H) $(OPTABS_H) $(TREE_H) $(RTL_H) $(BASIC_BLOCK_H) \
!    $(DIAGNOSTIC_H) $(TREE_FLOW_H) $(TREE_DUMP_H) $(TIMEVAR_H) $(CFGLOOP_H) \
!    $(TREE_DATA_REF_H) $(SCEV_H) $(EXPR_H) coretypes.h $(TARGET_H) \
!    tree-chrec.h tree-pass.h vec.h
  params.o : params.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(PARAMS_H) toplev.h
  pointer-set.o: pointer-set.c pointer-set.h $(CONFIG_H) $(SYSTEM_H)
  hooks.o: hooks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(HOOKS_H)
  pretty-print.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h intl.h $(PRETTY_PRINT_H) \
     $(TREE_H)
! errors.o : errors.c $(CONFIG_H) $(SYSTEM_H) errors.h $(BCONFIG_H)
  
  $(out_object_file): $(out_file) $(CONFIG_H) coretypes.h $(TM_H) $(TREE_H) $(GGC_H) \
     $(RTL_H) $(REGS_H) hard-reg-set.h real.h insn-config.h conditions.h \
*************** $(out_object_file): $(out_file) $(CONFIG
*** 2192,2212 ****
  mips-tfile: mips-tfile.o version.o $(LIBDEPS)
  	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)
  
! mips-tfile.o : mips-tfile.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H) version.h
  
  mips-tdump: mips-tdump.o version.o $(LIBDEPS)
  	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tdump.o version.o $(LIBS)
  
! mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h $(TM_H) version.h
  
  # FIXME: writing proper dependencies for this is a *LOT* of work.
  libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
    insn-config.h insn-flags.h insn-codes.h insn-constants.h \
!   insn-attr.h
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  	  -DTARGET_NAME=\"$(target_noncanonical)\" \
  	  -DLOCALEDIR=\"$(localedir)\" \
! 	  -c $(filter %.c,$^) -o $@ -combine
  
  #
  # Generate header and source files from the machine description,
--- 2505,2529 ----
  mips-tfile: mips-tfile.o version.o $(LIBDEPS)
  	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tfile.o version.o $(LIBS)
  
! mips-tfile.o : mips-tfile.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) version.h $(srcdir)/../include/getopt.h gstab.h intl.h
  
  mips-tdump: mips-tdump.o version.o $(LIBDEPS)
  	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ mips-tdump.o version.o $(LIBS)
  
! mips-tdump.o : mips-tdump.c $(CONFIG_H) $(RTL_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) version.h $(srcdir)/../include/getopt.h stab.def
  
  # FIXME: writing proper dependencies for this is a *LOT* of work.
  libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
    insn-config.h insn-flags.h insn-codes.h insn-constants.h \
!   insn-attr.h  $(DATESTAMP) $(BASEVER) $(DEVPHASE)
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
  	  -DTARGET_NAME=\"$(target_noncanonical)\" \
  	  -DLOCALEDIR=\"$(localedir)\" \
! 	  -c $(filter %.c,$^) -o $@  \
! 	  -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
! 	  -DDEVPHASE=$(DEVPHASE_s) -combine
  
  #
  # Generate header and source files from the machine description,
*************** s-constants : $(MD_DEPS) build/genconsta
*** 2285,2291 ****
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
!   $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) $(TM_P_H)
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-emit.c \
  	  $(OUTPUT_OPTION)
  
--- 2602,2609 ----
  
  insn-emit.o : insn-emit.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
    $(RTL_H) $(EXPR_H) real.h output.h insn-config.h $(OPTABS_H) reload.h \
!   $(RECOG_H) toplev.h function.h $(FLAGS_H) hard-reg-set.h $(RESOURCE_H) \
!   $(TM_P_H) $(BASIC_BLOCK_H)
  	$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) -c insn-emit.c \
  	  $(OUTPUT_OPTION)
  
*************** GTFILES = $(srcdir)/input.h $(srcdir)/co
*** 2417,2444 ****
    $(srcdir)/coverage.c $(srcdir)/function.h $(srcdir)/rtl.h \
    $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/libfuncs.h $(SYMTAB_H) \
    $(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
    $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/cgraph.h \
    $(srcdir)/c-common.h $(srcdir)/c-tree.h $(srcdir)/reload.h \
    $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
    $(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
!   $(srcdir)/dojump.c \
    $(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
!   $(srcdir)/function.c \
    $(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \
    $(srcdir)/profile.c $(srcdir)/regclass.c \
    $(srcdir)/reg-stack.c $(srcdir)/cfglayout.c \
    $(srcdir)/sdbout.c $(srcdir)/stor-layout.c \
    $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
    $(srcdir)/tree-mudflap.c $(srcdir)/tree-flow.h \
!   $(srcdir)/c-objc-common.c $(srcdir)/c-common.c $(srcdir)/c-parse.in \
!   $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c \
    $(srcdir)/tree-phinodes.c $(srcdir)/tree-cfg.c \
    $(srcdir)/tree-dfa.c $(srcdir)/tree-ssa-propagate.c \
    $(srcdir)/tree-iterator.c $(srcdir)/gimplify.c \
!   $(srcdir)/tree-chrec.h $(srcdir)/tree-complex.c \
    $(srcdir)/tree-ssa-operands.h $(srcdir)/tree-ssa-operands.c \
!   $(srcdir)/tree-profile.c $(srcdir)/rtl-profile.c $(srcdir)/tree-nested.c \
!   $(out_file) \
    @all_gtfiles@
  
  GTFILES_FILES_LANGS = @all_gtfiles_files_langs@
--- 2735,2766 ----
    $(srcdir)/coverage.c $(srcdir)/function.h $(srcdir)/rtl.h \
    $(srcdir)/optabs.h $(srcdir)/tree.h $(srcdir)/libfuncs.h $(SYMTAB_H) \
    $(srcdir)/real.h $(srcdir)/varray.h $(srcdir)/insn-addr.h $(srcdir)/hwint.h \
+   $(srcdir)/ipa-reference.h \
    $(srcdir)/cselib.h $(srcdir)/basic-block.h  $(srcdir)/cgraph.h \
    $(srcdir)/c-common.h $(srcdir)/c-tree.h $(srcdir)/reload.h \
    $(srcdir)/alias.c $(srcdir)/bitmap.c $(srcdir)/cselib.c $(srcdir)/cgraph.c \
+   $(srcdir)/ipa-prop.c $(srcdir)/ipa-cp.c\
    $(srcdir)/dbxout.c $(srcdir)/dwarf2out.c $(srcdir)/dwarf2asm.c \
!   $(srcdir)/dojump.c $(srcdir)/tree-profile.c \
    $(srcdir)/emit-rtl.c $(srcdir)/except.c $(srcdir)/explow.c $(srcdir)/expr.c \
!   $(srcdir)/function.c $(srcdir)/except.h \
    $(srcdir)/gcse.c $(srcdir)/integrate.c $(srcdir)/lists.c $(srcdir)/optabs.c \
    $(srcdir)/profile.c $(srcdir)/regclass.c \
    $(srcdir)/reg-stack.c $(srcdir)/cfglayout.c \
    $(srcdir)/sdbout.c $(srcdir)/stor-layout.c \
    $(srcdir)/stringpool.c $(srcdir)/tree.c $(srcdir)/varasm.c \
    $(srcdir)/tree-mudflap.c $(srcdir)/tree-flow.h \
!   $(srcdir)/c-objc-common.c $(srcdir)/c-common.c $(srcdir)/c-parser.c \
!   $(srcdir)/tree-ssanames.c $(srcdir)/tree-eh.c $(srcdir)/tree-ssa-address.c \
    $(srcdir)/tree-phinodes.c $(srcdir)/tree-cfg.c \
    $(srcdir)/tree-dfa.c $(srcdir)/tree-ssa-propagate.c \
    $(srcdir)/tree-iterator.c $(srcdir)/gimplify.c \
!   $(srcdir)/tree-chrec.h $(srcdir)/tree-vect-generic.c \
    $(srcdir)/tree-ssa-operands.h $(srcdir)/tree-ssa-operands.c \
!   $(srcdir)/tree-profile.c $(srcdir)/tree-nested.c \
!   $(srcdir)/ipa-reference.c $(srcdir)/tree-ssa-structalias.h \
!   $(srcdir)/tree-ssa-structalias.c \
!   $(srcdir)/targhooks.c $(out_file) \
    @all_gtfiles@
  
  GTFILES_FILES_LANGS = @all_gtfiles_files_langs@
*************** gt-emit-rtl.h gt-explow.h gt-stor-layout
*** 2452,2465 ****
  gt-lists.h gt-alias.h gt-cselib.h gt-gcse.h \
  gt-expr.h gt-sdbout.h gt-optabs.h gt-bitmap.h gt-dojump.h \
  gt-dwarf2out.h gt-reg-stack.h gt-dwarf2asm.h \
! gt-dbxout.h gt-c-common.h gt-c-decl.h gt-c-parse.h \
  gt-c-pragma.h gtype-c.h gt-cfglayout.h \
! gt-tree-mudflap.h gt-tree-complex.h \
! gt-tree-eh.h \
  gt-tree-ssanames.h gt-tree-iterator.h gt-gimplify.h \
! gt-tree-phinodes.h gt-tree-cfg.h gt-tree-nested.h \
  gt-tree-ssa-operands.h gt-tree-ssa-propagate.h \
! gt-stringpool.h : s-gtype ; @true
  
  gtyp-gen.h: s-gtyp-gen ; @true
  s-gtyp-gen: Makefile
--- 2774,2793 ----
  gt-lists.h gt-alias.h gt-cselib.h gt-gcse.h \
  gt-expr.h gt-sdbout.h gt-optabs.h gt-bitmap.h gt-dojump.h \
  gt-dwarf2out.h gt-reg-stack.h gt-dwarf2asm.h \
! gt-dbxout.h gt-c-common.h gt-c-decl.h gt-c-parser.h \
  gt-c-pragma.h gtype-c.h gt-cfglayout.h \
! gt-tree-mudflap.h gt-tree-vect-generic.h \
! gt-tree-profile.h gt-tree-ssa-address.h \
  gt-tree-ssanames.h gt-tree-iterator.h gt-gimplify.h \
! gt-tree-phinodes.h gt-tree-nested.h \
  gt-tree-ssa-operands.h gt-tree-ssa-propagate.h \
! gt-tree-ssa-structalias.h \
! gt-stringpool.h gt-targhooks.h : s-gtype ; @true
! 
! define echo_quoted_to_gtyp
!  echo "\"$(gtyp)\", " >> tmp-gtyp.h
! 
! endef
  
  gtyp-gen.h: s-gtyp-gen ; @true
  s-gtyp-gen: Makefile
*************** s-gtyp-gen: Makefile
*** 2468,2491 ****
  	echo "\"$(GTFILES_SRCDIR)\"" >> tmp-gtyp.h
  	echo ";" >> tmp-gtyp.h
  	echo "static const char *const lang_files[] = {" >> tmp-gtyp.h
! 	ll="$(GTFILES_FILES_FILES)"; \
! 	for f in $$ll; do \
! 	echo "\"$$f\", "; done >> tmp-gtyp.h
  	echo "NULL};" >> tmp-gtyp.h
  	echo "static const char *const langs_for_lang_files[] = {" >> tmp-gtyp.h
! 	ff="$(GTFILES_FILES_LANGS)"; \
! 	for f in $$ff; do \
! 	echo "\"$$f\", " ; done  >> tmp-gtyp.h
  	echo "NULL};" >> tmp-gtyp.h
  	echo "static const char *const all_files[] = {" >> tmp-gtyp.h
! 	gf="$(GTFILES)"; \
! 	for f in $$gf; do \
! 	echo "\"$$f\", "; done >> tmp-gtyp.h
  	echo " NULL};" >> tmp-gtyp.h
  	echo "static const char *const lang_dir_names[] = { \"c\", " >> tmp-gtyp.h
! 	gf="$(GTFILES_LANG_DIR_NAMES)"; \
! 	for l in $$gf; do \
! 	echo "\"$$l\", "; done >> tmp-gtyp.h
  	echo "NULL};" >> tmp-gtyp.h
  	$(SHELL) $(srcdir)/../move-if-change tmp-gtyp.h gtyp-gen.h
  	$(STAMP) s-gtyp-gen
--- 2796,2811 ----
  	echo "\"$(GTFILES_SRCDIR)\"" >> tmp-gtyp.h
  	echo ";" >> tmp-gtyp.h
  	echo "static const char *const lang_files[] = {" >> tmp-gtyp.h
! 	$(foreach gtyp,$(GTFILES_FILES_FILES),$(echo_quoted_to_gtyp))
  	echo "NULL};" >> tmp-gtyp.h
  	echo "static const char *const langs_for_lang_files[] = {" >> tmp-gtyp.h
! 	$(foreach gtyp,$(GTFILES_FILES_LANGS),$(echo_quoted_to_gtyp))
  	echo "NULL};" >> tmp-gtyp.h
  	echo "static const char *const all_files[] = {" >> tmp-gtyp.h
! 	$(foreach gtyp,$(GTFILES),$(echo_quoted_to_gtyp))
  	echo " NULL};" >> tmp-gtyp.h
  	echo "static const char *const lang_dir_names[] = { \"c\", " >> tmp-gtyp.h
! 	$(foreach gtyp,$(GTFILES_LANG_DIR_NAMES),$(echo_quoted_to_gtyp))
  	echo "NULL};" >> tmp-gtyp.h
  	$(SHELL) $(srcdir)/../move-if-change tmp-gtyp.h gtyp-gen.h
  	$(STAMP) s-gtyp-gen
*************** genobjnames=$(genprognames:%=%.o) read-r
*** 2518,2524 ****
  	genconstants.o gen-protos.o scan.o fix-header.o scan-decls.o \
  	gencheck.o dummy-conditions.o genconditions.o errors.o ggc-none.o \
  	min-insn-modes.o rtl.o print-rtl.o varray.o gcov-iov.o \
! 	insn-conditions.o gengtype-lex.o gengtype-yacc.o genmddeps.o
  
  genobjs=$(genobjnames:%=build/%)
  
--- 2838,2845 ----
  	genconstants.o gen-protos.o scan.o fix-header.o scan-decls.o \
  	gencheck.o dummy-conditions.o genconditions.o errors.o ggc-none.o \
  	min-insn-modes.o rtl.o print-rtl.o varray.o gcov-iov.o \
! 	insn-conditions.o gengtype-lex.o gengtype-yacc.o genmddeps.o \
! 	genchecksum.o
  
  genobjs=$(genobjnames:%=build/%)
  
*************** build/genattrtab.o : genattrtab.c $(RTL_
*** 2595,2601 ****
    $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(GGC_H) gensupport.h genattrtab.h
  
  build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \
!   $(SYSTEM_H) coretypes.h $(GTM_H) errors.h varray.h genattrtab.h $(HASHTAB_H)
  
  build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) \
    $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
--- 2916,2923 ----
    $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(GGC_H) gensupport.h genattrtab.h
  
  build/genautomata.o : genautomata.c $(RTL_BASE_H) $(OBSTACK_H) $(BCONFIG_H) \
!   $(SYSTEM_H) coretypes.h $(GTM_H) errors.h $(VARRAY_H) genattrtab.h \
!   $(HASHTAB_H)
  
  build/genoutput.o : genoutput.c $(RTL_BASE_H) $(BCONFIG_H) \
    $(SYSTEM_H) coretypes.h $(GTM_H) errors.h gensupport.h
*************** build/genconditions.o : genconditions.c 
*** 2656,2668 ****
  
  build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
  build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H)
! build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) system.h $(MACHMODE_H)
  build/rtl.o: rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(RTL_H) \
    real.h $(GGC_H) errors.h
  build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
    $(RTL_BASE_H)
  build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
!   varray.h $(RTL_BASE_H) $(GGC_H) $(TREE_H) bitmap.h errors.h
  
  #
  # Remake internationalization support.
--- 2978,2991 ----
  
  build/errors.o : errors.c $(BCONFIG_H) $(SYSTEM_H) errors.h
  build/ggc-none.o : ggc-none.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GGC_H)
! build/min-insn-modes.o : min-insn-modes.c $(BCONFIG_H) $(SYSTEM_H) \
!   $(MACHMODE_H)
  build/rtl.o: rtl.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) $(RTL_H) \
    real.h $(GGC_H) errors.h
  build/print-rtl.o: print-rtl.c $(BCONFIG_H) $(SYSTEM_H) coretypes.h $(GTM_H) \
    $(RTL_BASE_H)
  build/varray.o: varray.c $(BCONFIG_H) coretypes.h $(GTM_H) $(SYSTEM_H) \
!   $(VARRAY_H) $(RTL_BASE_H) $(GGC_H) $(TREE_H) bitmap.h errors.h
  
  #
  # Remake internationalization support.
*************** unprotoize$(exeext): unprotoize.o $(PROT
*** 2704,2710 ****
  	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ unprotoize.o $(PROTO_OBJS) $(LIBS)
  
  protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) Makefile version.h
  	(SHLIB_LINK='$(SHLIB_LINK)' \
  	SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
  	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
--- 3027,3033 ----
  	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ unprotoize.o $(PROTO_OBJS) $(LIBS)
  
  protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
!    coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
  	(SHLIB_LINK='$(SHLIB_LINK)' \
  	SHLIB_MULTILIB='$(SHLIB_MULTILIB)'; \
  	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
*************** test-protoize-simple: ./protoize ./unpro
*** 2760,2779 ****
  	-rm -f tmp-proto.[cs] tmp-proto$(objext)
  
  # gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
! build/gcov-iov.o: gcov-iov.c version.c $(BCONFIG_H) coretypes.h $(GTM_H) \
    $(SYSTEM_H) coretypes.h $(TM_H)
   
  build/gcov-iov$(build_exeext): build/gcov-iov.o
  	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) build/gcov-iov.o -o $@
  
  gcov-iov.h: s-iov
! s-iov: build/gcov-iov$(build_exeext)
! 	build/gcov-iov$(build_exeext) > tmp-gcov-iov.h
  	$(SHELL) $(srcdir)/../move-if-change tmp-gcov-iov.h gcov-iov.h
  	$(STAMP) s-iov
  
! gcov.o: gcov.c gcov-io.h gcov-io.c gcov-iov.h intl.h $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H)
! gcov-dump.o: gcov-dump.c gcov-io.h gcov-io.c gcov-iov.h $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H)
  
  GCOV_OBJS = gcov.o intl.o version.o errors.o
  gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
--- 3083,3105 ----
  	-rm -f tmp-proto.[cs] tmp-proto$(objext)
  
  # gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
! build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
    $(SYSTEM_H) coretypes.h $(TM_H)
   
  build/gcov-iov$(build_exeext): build/gcov-iov.o
  	$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) build/gcov-iov.o -o $@
  
  gcov-iov.h: s-iov
! s-iov: build/gcov-iov$(build_exeext) $(BASEVER) $(DEVPHASE)
! 	build/gcov-iov$(build_exeext) '$(BASEVER_c)' '$(DEVPHASE_c)' \
! 	    > tmp-gcov-iov.h
  	$(SHELL) $(srcdir)/../move-if-change tmp-gcov-iov.h gcov-iov.h
  	$(STAMP) s-iov
  
! gcov.o: gcov.c gcov-io.c $(GCOV_IO_H) intl.h $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(CONFIG_H) version.h
! gcov-dump.o: gcov-dump.c gcov-io.c $(GCOV_IO_H) $(SYSTEM_H) coretypes.h \
!    $(TM_H) $(CONFIG_H)
  
  GCOV_OBJS = gcov.o intl.o version.o errors.o
  gcov$(exeext): $(GCOV_OBJS) $(LIBDEPS)
*************** gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(
*** 2787,2793 ****
  # be rebuilt.
  
  # Build the include directory
! stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
  # Copy in the headers provided with gcc.
  # The sed command gets just the last file name component;
  # this is necessary because VPATH could add a dirname.
--- 3113,3119 ----
  # be rebuilt.
  
  # Build the include directory
! stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h $(UNWIND_H)
  # Copy in the headers provided with gcc.
  # The sed command gets just the last file name component;
  # this is necessary because VPATH could add a dirname.
*************** stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) 
*** 2805,2810 ****
--- 3131,3137 ----
  	done
  	rm -f include/limits.h
  	cp xlimits.h include/limits.h
+ 	cp $(UNWIND_H) include/unwind.h
  	chmod a+r include/limits.h
  # Install the README
  	rm -f include/README
*************** s-macro_list : $(GCC_PASSES) 
*** 2833,2839 ****
  # working directory in object files (-g absent, or -fno-working-dir
  # present), and build and host are the same, fixincl for the host will
  # build after fixincl for the build machine, getting a cache hit,
! # thereby updating the timestamp of fixincl.o in the the host tree.
  # Because of CCACHE_HARDLINK, this will also update the timestamp in
  # the build tree, and so fixincl in the build tree will appear to be
  # out of date.  Yuck.
--- 3160,3166 ----
  # working directory in object files (-g absent, or -fno-working-dir
  # present), and build and host are the same, fixincl for the host will
  # build after fixincl for the build machine, getting a cache hit,
! # thereby updating the timestamp of fixincl.o in the host tree.
  # Because of CCACHE_HARDLINK, this will also update the timestamp in
  # the build tree, and so fixincl in the build tree will appear to be
  # out of date.  Yuck.
*************** s-macro_list : $(GCC_PASSES) 
*** 2841,2849 ****
  
  # Build fixed copies of system files.
  stmp-fixinc: gsyslimits.h macro_list \
!   ../$(build_subdir)/fixincludes/fixincl \
!   ../$(build_subdir)/fixincludes/fixinc.sh
! 	@if test ! -d ${SYSTEM_HEADER_DIR}; then \
  	  echo The directory that should contain system headers does not exist: >&2 ; \
  	  echo "  ${SYSTEM_HEADER_DIR}" >&2 ; \
  	  if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
--- 3168,3176 ----
  
  # Build fixed copies of system files.
  stmp-fixinc: gsyslimits.h macro_list \
!   $(build_objdir)/fixincludes/fixincl \
!   $(build_objdir)/fixincludes/fixinc.sh
! 	@if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \
  	  echo The directory that should contain system headers does not exist: >&2 ; \
  	  echo "  ${SYSTEM_HEADER_DIR}" >&2 ; \
  	  if test "x${SYSTEM_HEADER_DIR}" = "x${gcc_tooldir}/sys-include"; \
*************** stmp-fixinc: gsyslimits.h macro_list \
*** 2854,2860 ****
  	(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
  	  SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
  	  export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
! 	  cd ../$(build_subdir)/fixincludes && \
  	  $(SHELL) ./fixinc.sh ../../gcc/include \
  	    $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) )
  	rm -f include/syslimits.h
--- 3181,3187 ----
  	(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
  	  SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
  	  export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
! 	  cd $(build_objdir)/fixincludes && \
  	  $(SHELL) ./fixinc.sh ../../gcc/include \
  	    $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) )
  	rm -f include/syslimits.h
*************** info: $(INFOFILES) lang.info @GENINSRC@ 
*** 2965,2988 ****
  srcinfo: $(INFOFILES)
  	-cp -p $^ $(srcdir)/doc
  
! TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi
  
! TEXI_GCC_FILES = gcc.texi gcc-common.texi frontends.texi standards.texi \
! 	 invoke.texi extend.texi md.texi objc.texi gcov.texi trouble.texi \
! 	 bugreport.texi service.texi contribute.texi compat.texi funding.texi \
! 	 gnu.texi gpl.texi fdl.texi contrib.texi cppenv.texi cppopts.texi \
  	 implement-c.texi
  
! TEXI_GCCINT_FILES = gccint.texi gcc-common.texi contribute.texi makefile.texi \
! 	 configterms.texi portability.texi interface.texi passes.texi \
! 	 c-tree.texi rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
! 	 configfiles.texi collect2.texi headerdirs.texi funding.texi gnu.texi \
! 	 gpl.texi fdl.texi contrib.texi languages.texi sourcebuild.texi \
! 	 gty.texi libgcc.texi cfg.texi tree-ssa.texi
  
  TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi
  
! TEXI_CPPINT_FILES = cppinternals.texi
  
  # The *.1, *.7, *.info, and *.dvi files are being generated from implicit
  # patterns.  To use them, put each of the specific targets with its
--- 3292,3328 ----
  srcinfo: $(INFOFILES)
  	-cp -p $^ $(srcdir)/doc
  
! TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi		\
! 	 gcc-common.texi gcc-vers.texi
  
! TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi	\
! 	 standards.texi invoke.texi extend.texi md.texi objc.texi	\
! 	 gcov.texi trouble.texi bugreport.texi service.texi		\
! 	 contribute.texi compat.texi funding.texi gnu.texi gpl.texi	\
! 	 fdl.texi contrib.texi cppenv.texi cppopts.texi			\
  	 implement-c.texi
  
! TEXI_GCCINT_FILES = gccint.texi gcc-common.texi gcc-vers.texi		\
! 	 contribute.texi makefile.texi configterms.texi options.texi	\
! 	 portability.texi interface.texi passes.texi c-tree.texi	\
! 	 rtl.texi md.texi tm.texi hostconfig.texi fragments.texi	\
! 	 configfiles.texi collect2.texi headerdirs.texi funding.texi	\
! 	 gnu.texi gpl.texi fdl.texi contrib.texi languages.texi		\
! 	 sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi
  
  TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi
  
! TEXI_CPPINT_FILES = cppinternals.texi gcc-common.texi gcc-vers.texi
! 
! # gcc-vers.texi is generated from the version files.
! gcc-vers.texi: $(BASEVER) $(DEVPHASE)
! 	(echo "@set version-GCC $(BASEVER_c)"; \
! 	 if [ "$(DEVPHASE_c)" = "experimental" ]; \
! 	 then echo "@set DEVELOPMENT"; \
! 	 else echo "@clear DEVELOPMENT"; \
! 	 fi) > $@T
! 	mv -f $@T $@
! 
  
  # The *.1, *.7, *.info, and *.dvi files are being generated from implicit
  # patterns.  To use them, put each of the specific targets with its
*************** doc/cppinternals.info: $(TEXI_CPPINT_FIL
*** 2995,3001 ****
  
  doc/%.info: %.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
! 		$(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
  			-I $(docdir)/include -o $@ $<; \
  	fi
  
--- 3335,3341 ----
  
  doc/%.info: %.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
! 		$(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(docdir) \
  			-I $(docdir)/include -o $@ $<; \
  	fi
  
*************** dvi:: doc/gcc.dvi doc/gccint.dvi doc/gcc
*** 3020,3030 ****
        doc/cppinternals.dvi
  
  doc/%.dvi: %.texi
! 	$(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
  
  # Duplicate entry to handle renaming of gccinstall.dvi
  doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
! 	$(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
  
  html:: $(htmldir)/cpp/index.html $(htmldir)/gcc/index.html \
         $(htmldir)/gccinstall/index.html $(htmldir)/gccint/index.html \
--- 3360,3370 ----
        doc/cppinternals.dvi
  
  doc/%.dvi: %.texi
! 	$(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
  
  # Duplicate entry to handle renaming of gccinstall.dvi
  doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
! 	$(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
  
  html:: $(htmldir)/cpp/index.html $(htmldir)/gcc/index.html \
         $(htmldir)/gccinstall/index.html $(htmldir)/gccint/index.html \
*************** mostlyclean: lang.mostlyclean
*** 3131,3136 ****
--- 3471,3478 ----
  # Delete files generated by gengtype.c
  	-rm -f gtype-*
  	-rm -f gt-*
+ # Delete genchecksum outputs
+ 	-rm -f *-checksum.c
  
  # Delete all files made by compilation
  # that don't exist in the distribution.
*************** distclean: clean lang.distclean
*** 3168,3174 ****
  	-rm -f Makefile *.oaux
  	-rm -f gthr-default.h
  	-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
! 	-rm -f c-parse.y c-parse.c c-parse.output TAGS */TAGS
  	-rm -f *.asm
  	-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
  	-rm -f testsuite/*.log testsuite/*.sum
--- 3510,3516 ----
  	-rm -f Makefile *.oaux
  	-rm -f gthr-default.h
  	-rm -f */stage1 */stage2 */stage3 */stage4 */include */stageprofile */stagefeedback
! 	-rm -f TAGS */TAGS
  	-rm -f *.asm
  	-rm -f site.exp site.bak testsuite/site.exp testsuite/site.bak
  	-rm -f testsuite/*.log testsuite/*.sum
*************** maintainer-clean:
*** 3188,3194 ****
  	@echo 'This command is intended for maintainers to use; it'
  	@echo 'deletes files that may need special tools to rebuild.'
  	$(MAKE) lang.maintainer-clean distclean
- 	-rm -f $(srcdir)/c-parse.y $(srcdir)/c-parse.c
  	-rm -f cpp.??s cpp.*aux
  	-rm -f gcc.??s gcc.*aux
  	-rm -f $(docdir)/*.info $(docdir)/*.1 $(docdir)/*.7 $(docdir)/*.dvi
--- 3530,3535 ----
*************** install: install-common $(INSTALL_HEADER
*** 3204,3210 ****
      lang.install-normal install-driver
  
  # Handle cpp installation.
! install-cpp: cpp$(exeext)
  	-rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
  	-$(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
  	-if [ x$(cpp_install_dir) != x ]; then \
--- 3545,3551 ----
      lang.install-normal install-driver
  
  # Handle cpp installation.
! install-cpp: installdirs cpp$(exeext)
  	-rm -f $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
  	-$(INSTALL_PROGRAM) -m 755 cpp$(exeext) $(DESTDIR)$(bindir)/$(CPP_INSTALL_NAME)$(exeext)
  	-if [ x$(cpp_install_dir) != x ]; then \
*************** $(DESTDIR)$(infodir)/%.info: doc/%.info 
*** 3316,3322 ****
  	else true; fi;
  
  # Install the man pages.
! install-man: installdirs lang.install-man \
  	$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
  	$(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext) \
  	$(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext) \
--- 3657,3663 ----
  	else true; fi;
  
  # Install the man pages.
! install-man: lang.install-man \
  	$(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext) \
  	$(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext) \
  	$(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext) \
*************** install-man: installdirs lang.install-ma
*** 3324,3345 ****
  	$(DESTDIR)$(man7dir)/gfdl$(man7ext) \
  	$(DESTDIR)$(man7dir)/gpl$(man7ext)
  
! $(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext): doc/cpp.1
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext): doc/gcov.1
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
--- 3665,3686 ----
  	$(DESTDIR)$(man7dir)/gfdl$(man7ext) \
  	$(DESTDIR)$(man7dir)/gpl$(man7ext)
  
! $(DESTDIR)$(man7dir)/%$(man7ext): doc/%.7 installdirs
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(GCC_INSTALL_NAME)$(man1ext): doc/gcc.1 installdirs
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(CPP_INSTALL_NAME)$(man1ext): doc/cpp.1 installdirs
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
  
! $(DESTDIR)$(man1dir)/$(GCOV_INSTALL_NAME)$(man1ext): doc/gcov.1 installdirs
  	-rm -f $@
  	-$(INSTALL_DATA) $< $@
  	-chmod a-x $@
*************** install-include-dir: installdirs
*** 3385,3390 ****
--- 3726,3738 ----
  	mkdir $(DESTDIR)$(libsubdir)/include
  	-chmod a+rx $(DESTDIR)$(libsubdir)/include
  
+ # Create or recreate the install-tools include file directory.
+ itoolsdir = $(libexecsubdir)/install-tools
+ itoolsdatadir = $(libsubdir)/install-tools
+ install-itoolsdirs: installdirs
+ 	$(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
+ 	$(mkinstalldirs) $(DESTDIR)$(itoolsdir)
+ 
  # Install the include directory using tar.
  install-headers-tar: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
  # We use `pwd`/include instead of just include to problems with CDPATH
*************** install-headers-cpio: stmp-int-hdrs $(ST
*** 3407,3416 ****
  install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
  	cp -p -r include $(DESTDIR)$(libsubdir)
  
- itoolsdir = $(libexecsubdir)/install-tools
- itoolsdatadir = $(libsubdir)/install-tools
  # Install supporting files for fixincludes to be run later.
! install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
    macro_list xlimits.h
  	for file in $(USER_H); do \
  	  realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
--- 3755,3762 ----
  install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
  	cp -p -r include $(DESTDIR)$(libsubdir)
  
  # Install supporting files for fixincludes to be run later.
! install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-itoolsdirs \
    macro_list xlimits.h
  	for file in $(USER_H); do \
  	  realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
*************** install-mkheaders: stmp-int-hdrs $(STMP_
*** 3418,3423 ****
--- 3764,3770 ----
  	    $(DESTDIR)$(itoolsdatadir)/include/$$realfile ; \
  	done
  	$(INSTALL_DATA) xlimits.h $(DESTDIR)$(itoolsdatadir)/include/limits.h
+ 	$(INSTALL_DATA) $(UNWIND_H) $(DESTDIR)$(itoolsdatadir)/include/unwind.h
  	$(INSTALL_DATA) $(srcdir)/gsyslimits.h \
  	  $(DESTDIR)$(itoolsdatadir)/gsyslimits.h
  	$(INSTALL_DATA) macro_list $(DESTDIR)$(itoolsdatadir)/macro_list
*************** TAGS: lang.tags
*** 3650,3656 ****
  	    incs="$$incs --include $$dir/TAGS.sub";	\
  	  fi;						\
  	done;						\
! 	etags -o TAGS.sub *.y *.h *.c -l yacc c-parse.in; \
  	etags --include TAGS.sub $$incs)
  
  # ------------------------------------------------------
--- 3997,4003 ----
  	    incs="$$incs --include $$dir/TAGS.sub";	\
  	  fi;						\
  	done;						\
! 	etags -o TAGS.sub *.y *.h *.c; \
  	etags --include TAGS.sub $$incs)
  
  # ------------------------------------------------------
*************** STAGEPROFILE_FLAGS_TO_PASS = \
*** 3687,3693 ****
  # Files never linked into the final executable produces warnings about missing
  # profile.
  STAGEFEEDBACK_FLAGS_TO_PASS = \
! 	CFLAGS="$(BOOT_CFLAGS) -fprofile-use"
  
  # Only build the C compiler for stage1, because that is the only one that
  # we can guarantee will build with the native compiler, and also it is the
--- 4034,4040 ----
  # Files never linked into the final executable produces warnings about missing
  # profile.
  STAGEFEEDBACK_FLAGS_TO_PASS = \
! 	CFLAGS="$(BOOT_CFLAGS) -fprofile-use -freorder-blocks-and-partition"
  
  # Only build the C compiler for stage1, because that is the only one that
  # we can guarantee will build with the native compiler, and also it is the
*************** bootstrap4 bootstrap4-lean: stage4_build
*** 3803,3809 ****
  unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
  	-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
  	rm -f $$stage/as$(exeext); \
! 	rm -f $$stage/ld$(exeext); \
  	rm -f $$stage/collect-ld$(exeext); \
  	if test -d $$stage; then \
  	  mv $$stage/specs $(SPECS) 2>/dev/null || :; \
--- 4150,4156 ----
  unstage1 unstage2 unstage3 unstage4 unstageprofile unstagefeedback:
  	-set -vx; stage=`echo $@ | sed -e 's/un//'`; \
  	rm -f $$stage/as$(exeext); \
! 	rm -f $$stage/nm$(exeext); \
  	rm -f $$stage/collect-ld$(exeext); \
  	if test -d $$stage; then \
  	  mv $$stage/specs $(SPECS) 2>/dev/null || :; \
*************** fastcompare fastcompare3 fastcompare4 fa
*** 3895,3918 ****
   gnucompare  gnucompare3  gnucompare4  gnucompare-lean  gnucompare3-lean  gnucompare4-lean: force
  	-rm -f .bad_compare
  	case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
! 	for dir in . $(SUBDIRS); do \
  	  if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
  	    for file in $$dir/*$(objext); do \
  	      case "$@" in \
  		slowcompare* ) \
  		  tail +16c ./$$file > tmp-foo1; \
! 		  tail +16c stage$$stage/$$file > tmp-foo2 \
! 		    && (cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1 || echo $$file differs >> .bad_compare) || true; \
  		  ;; \
  		fastcompare* ) \
  		  cmp $$file stage$$stage/$$file 16 16 > /dev/null 2>&1; \
! 		  test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
  		  ;; \
  		gnucompare* ) \
  		  cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
! 		  test $$? -eq 1 && echo $$file differs >> .bad_compare || true; \
  		  ;; \
  	      esac ; \
  	    done; \
  	  else true; fi; \
  	done
--- 4242,4274 ----
   gnucompare  gnucompare3  gnucompare4  gnucompare-lean  gnucompare3-lean  gnucompare4-lean: force
  	-rm -f .bad_compare
  	case "$@" in *compare | *compare-lean ) stage=2 ;; * ) stage=`echo $@ | sed -e 's,^[a-z]*compare\([0-9][0-9]*\).*,\1,'` ;; esac; \
! 	for dir in . $(SUBDIRS) libgcc; do \
  	  if [ "`echo $$dir/*$(objext)`" != "$$dir/*$(objext)" ] ; then \
  	    for file in $$dir/*$(objext); do \
  	      case "$@" in \
  		slowcompare* ) \
  		  tail +16c ./$$file > tmp-foo1; \
! 		  tail +16c stage$$stage/$$file > tmp-foo2; \
! 		  cmp tmp-foo1 tmp-foo2 > /dev/null 2>&1; \
! 		  cmpret=$$?; \
  		  ;; \
  		fastcompare* ) \
  		  cmp $$file stage$$stage/$$file 16 16 > /dev/null 2>&1; \
! 		  cmpret=$$?; \
  		  ;; \
  		gnucompare* ) \
  		  cmp --ignore-initial=16 $$file stage$$stage/$$file > /dev/null 2>&1; \
! 		  cmpret=$$?; \
  		  ;; \
  	      esac ; \
+ 	      if test $$cmpret -eq 1; then \
+ 		case $$file in \
+ 		  ./cc*-checksum$(objext) | libgcc/* ) \
+ 		    echo warning: $$file differs;; \
+ 		  *) \
+ 		    echo $$file differs >> .bad_compare;; \
+ 		esac ; \
+ 	      fi; \
  	    done; \
  	  else true; fi; \
  	done
*************** stage1-start:
*** 3945,3950 ****
--- 4301,4309 ----
  	 do \
  	   if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
  	 done
+ 	-rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a
+ 	-rm -f stage1/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT)
  # If SPECS is overridden, make sure it is `installed' as specs.
  	-mv $(SPECS) stage1/specs
  	-mv $(STAGEMOVESTUFF) stage1
*************** stage1-start:
*** 3955,3963 ****
  	-if [ -f as$(exeext) ] ; then (cd stage1 && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a
- 	-rm -f stage1/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT)
  	-cp libgcc.a stage1
  	-$(RANLIB_FOR_TARGET) stage1/libgcc.a
  	-cp libgcov.a stage1
--- 4314,4319 ----
*************** stage2-start:
*** 3984,3989 ****
--- 4340,4348 ----
  	 do \
  	   if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
  	 done
+ 	-rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a
+ 	-rm -f stage2/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT)
  # If SPECS is overridden, make sure it is `installed' as specs.
  	-mv $(SPECS) stage2/specs
  	-mv $(STAGEMOVESTUFF) stage2
*************** stage2-start:
*** 3994,4002 ****
  	-if [ -f as$(exeext) ] ; then (cd stage2 && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a
- 	-rm -f stage2/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT)
  	-cp libgcc.a stage2
  	-$(RANLIB_FOR_TARGET) stage2/libgcc.a
  	-cp libgcov.a stage2
--- 4353,4358 ----
*************** stage3-start:
*** 4019,4024 ****
--- 4375,4383 ----
  	 do \
  	   if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
  	 done
+ 	-rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a
+ 	-rm -f stage3/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT)
  # If SPECS is overridden, make sure it is `installed' as specs.
  	-mv $(SPECS) stage3/specs
  	-mv $(STAGEMOVESTUFF) stage3
*************** stage3-start:
*** 4029,4037 ****
  	-if [ -f as$(exeext) ] ; then (cd stage3 && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a
- 	-rm -f stage3/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT)
  	-cp libgcc.a stage3
  	-$(RANLIB_FOR_TARGET) stage3/libgcc.a
  	-cp libgcov.a stage3
--- 4388,4393 ----
*************** stage4-start:
*** 4054,4059 ****
--- 4410,4418 ----
  	 do \
  	   if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
  	 done
+ 	-rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a
+ 	-rm -f stage4/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT)
  # If SPECS is overridden, make sure it is `installed' as specs.
  	-mv $(SPECS) stage4/specs
  	-mv $(STAGEMOVESTUFF) stage4
*************** stage4-start:
*** 4064,4072 ****
  	-if [ -f as$(exeext) ] ; then (cd stage4 && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a
- 	-rm -f stage4/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT)
  	-cp libgcc.a stage4
  	-$(RANLIB_FOR_TARGET) stage4/libgcc.a
  	-cp libgcov.a stage4
--- 4423,4428 ----
*************** stageprofile-start:
*** 4089,4094 ****
--- 4445,4453 ----
  	 do \
  	   if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \
  	 done
+ 	-rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
+ 	-rm -f stageprofile/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT)
  	-mv $(STAGEMOVESTUFF) stageprofile
  	-mv build/* stageprofile/build
  	-cp -p $(STAGECOPYSTUFF) stageprofile
*************** stageprofile-start:
*** 4097,4105 ****
  	-if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a
- 	-rm -f stageprofile/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT)
  	-cp libgcc.a stageprofile
  	-$(RANLIB_FOR_TARGET) stageprofile/libgcc.a
  	-cp libgcov.a stageprofile
--- 4456,4461 ----
*************** stagefeedback-start:
*** 4122,4127 ****
--- 4478,4487 ----
  	 do \
  	   if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \
  	 done
+ 	-rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
+ 	-rm -f stagefeedback/libgcc_s*$(SHLIB_EXT)
+ 	-rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT)
+ 	-rm -f *.da
  	-mv $(STAGEMOVESTUFF) stagefeedback
  	-mv build/* stagefeedback/build
  	-cp -p $(STAGECOPYSTUFF) stagefeedback
*************** stagefeedback-start:
*** 4130,4139 ****
  	-if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi
  	-if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi
  	-if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi
- 	-rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a
- 	-rm -f stagefeedback/libgcc_s*$(SHLIB_EXT)
- 	-rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT)
- 	-rm -f *.da
  	-for dir in fixinc po testsuite $(SUBDIRS); \
  	 do \
  	   rm -f $$dir/*.da ; \
--- 4490,4495 ----
*************** risky-stage4: stage4
*** 4181,4188 ****
  XGETTEXT = @XGETTEXT@
  GMSGFMT = @GMSGFMT@
  MSGMERGE = msgmerge
- 
- PACKAGE = @PACKAGE@
  CATALOGS = @CATALOGS@
  
  .PHONY: build- install- build-po install-po update-po
--- 4537,4542 ----
*************** update-po: $(CATALOGS:.gmo=.pox)
*** 4206,4218 ****
  
  # The new .po has to be gone over by hand, so we deposit it into
  # build/po with a different extension.
! # If build/po/$(PACKAGE).pot exists, use it (it was just created),
  # else use the one in srcdir.
  .po.pox:
  	-test -d po || mkdir po
! 	$(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
! 			then echo po/$(PACKAGE).pot; \
! 			else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
  
  # This rule has to look for .gmo modules in both srcdir and
  # the cwd, and has to check that we actually have a catalog
--- 4560,4572 ----
  
  # The new .po has to be gone over by hand, so we deposit it into
  # build/po with a different extension.
! # If build/po/gcc.pot exists, use it (it was just created),
  # else use the one in srcdir.
  .po.pox:
  	-test -d po || mkdir po
! 	$(MSGMERGE) $< `if test -f po/gcc.pot; \
! 			then echo po/gcc.pot; \
! 			else echo $(srcdir)/po/gcc.pot; fi` -o $@
  
  # This rule has to look for .gmo modules in both srcdir and
  # the cwd, and has to check that we actually have a catalog
*************** install-po:
*** 4229,4236 ****
  	  dir=$(localedir)/$$lang/LC_MESSAGES; \
  	  echo $(mkinstalldirs) $(DESTDIR)$$dir; \
  	  $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
! 	  echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
! 	  $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
  	done
  
  # Rule for regenerating the message template (gcc.pot).
--- 4583,4590 ----
  	  dir=$(localedir)/$$lang/LC_MESSAGES; \
  	  echo $(mkinstalldirs) $(DESTDIR)$$dir; \
  	  $(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
! 	  echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
! 	  $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
  	done
  
  # Rule for regenerating the message template (gcc.pot).
*************** install-po:
*** 4240,4248 ****
  # Note that exgettext has an awk script embedded in it which requires a
  # fairly modern (POSIX-compliant) awk.
  # The .pot file is left in the build directory.
! $(PACKAGE).pot: po/$(PACKAGE).pot
! po/$(PACKAGE).pot: force options.c
  	-test -d po || mkdir po
  	$(MAKE) srcextra
  	AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
! 		$(XGETTEXT) $(PACKAGE) $(srcdir)
--- 4594,4602 ----
  # Note that exgettext has an awk script embedded in it which requires a
  # fairly modern (POSIX-compliant) awk.
  # The .pot file is left in the build directory.
! gcc.pot: po/gcc.pot
! po/gcc.pot: force
  	-test -d po || mkdir po
  	$(MAKE) srcextra
  	AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
! 		$(XGETTEXT) gcc $(srcdir)
diff -Nrcpad gcc-4.0.2/gcc/acinclude.m4 gcc-4.1.0/gcc/acinclude.m4
*** gcc-4.0.2/gcc/acinclude.m4	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/acinclude.m4	Thu Oct  6 15:24:09 2005
***************
*** 0 ****
--- 1,599 ----
+ dnl See whether we need a declaration for a function.
+ dnl The result is highly dependent on the INCLUDES passed in, so make sure
+ dnl to use a different cache variable name in this macro if it is invoked
+ dnl in a different context somewhere else.
+ dnl gcc_AC_CHECK_DECL(SYMBOL,
+ dnl 	[ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
+ AC_DEFUN([gcc_AC_CHECK_DECL],
+ [AC_MSG_CHECKING([whether $1 is declared])
+ AC_CACHE_VAL(gcc_cv_have_decl_$1,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$4],
+ [#ifndef $1
+ char *(*pfn) = (char *(*)) $1 ;
+ #endif])], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
+ if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
+   AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
+ else
+   AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
+ fi
+ ])dnl
+ 
+ dnl Check multiple functions to see whether each needs a declaration.
+ dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
+ dnl gcc_AC_CHECK_DECLS(SYMBOLS,
+ dnl 	[ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
+ AC_DEFUN([gcc_AC_CHECK_DECLS],
+ [AC_FOREACH([gcc_AC_Func], [$1],
+   [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_[]gcc_AC_Func),
+   [Define to 1 if we found a declaration for ']gcc_AC_Func[', otherwise
+    define to 0.])])dnl
+ for ac_func in $1
+ do
+   ac_tr_decl=AS_TR_CPP([HAVE_DECL_$ac_func])
+ gcc_AC_CHECK_DECL($ac_func,
+   [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
+   [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
+ dnl It is possible that the include files passed in here are local headers
+ dnl which supply a backup declaration for the relevant prototype based on
+ dnl the definition of (or lack of) the HAVE_DECL_ macro.  If so, this test
+ dnl will always return success.  E.g. see libiberty.h's handling of
+ dnl `basename'.  To avoid this, we define the relevant HAVE_DECL_ macro to
+ dnl 1 so that any local headers used do not provide their own prototype
+ dnl during this test.
+ #undef $ac_tr_decl
+ #define $ac_tr_decl 1
+   $4
+ )
+ done
+ ])
+ 
+ dnl 'make compare' can be significantly faster, if cmp itself can
+ dnl skip bytes instead of using tail.  The test being performed is
+ dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2"
+ dnl but we need to sink errors and handle broken shells.  We also test
+ dnl for the parameter format "cmp file1 file2 skip1 skip2" which is
+ dnl accepted by cmp on some systems.
+ AC_DEFUN([gcc_AC_PROG_CMP_IGNORE_INITIAL],
+ [AC_CACHE_CHECK([for cmp's capabilities], gcc_cv_prog_cmp_skip,
+ [ echo abfoo >t1
+   echo cdfoo >t2
+   gcc_cv_prog_cmp_skip=slowcompare
+   if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then
+     if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then
+       :
+     else
+       gcc_cv_prog_cmp_skip=gnucompare
+     fi
+   fi
+   if test $gcc_cv_prog_cmp_skip = slowcompare ; then
+     if cmp t1 t2 2 2 > /dev/null 2>&1; then
+       if cmp t1 t2 1 1 > /dev/null 2>&1; then
+         :
+       else
+         gcc_cv_prog_cmp_skip=fastcompare
+       fi
+     fi
+   fi
+   rm t1 t2
+ ])
+ make_compare_target=$gcc_cv_prog_cmp_skip
+ AC_SUBST(make_compare_target)
+ ])
+ 
+ dnl See if symbolic links work and if not, try to substitute either hard links or simple copy.
+ AC_DEFUN([gcc_AC_PROG_LN_S],
+ [AC_MSG_CHECKING(whether ln -s works)
+ AC_CACHE_VAL(gcc_cv_prog_LN_S,
+ [rm -f conftestdata_t
+ echo >conftestdata_f
+ if ln -s conftestdata_f conftestdata_t 2>/dev/null
+ then
+   gcc_cv_prog_LN_S="ln -s"
+ else
+   if ln conftestdata_f conftestdata_t 2>/dev/null
+   then
+     gcc_cv_prog_LN_S=ln
+   else
+     if cp -p conftestdata_f conftestdata_t 2>/dev/null
+     then
+       gcc_cv_prog_LN_S="cp -p"
+     else
+       gcc_cv_prog_LN_S=cp
+     fi
+   fi
+ fi
+ rm -f conftestdata_f conftestdata_t
+ ])dnl
+ LN_S="$gcc_cv_prog_LN_S"
+ if test "$gcc_cv_prog_LN_S" = "ln -s"; then
+   AC_MSG_RESULT(yes)
+ else
+   if test "$gcc_cv_prog_LN_S" = "ln"; then
+     AC_MSG_RESULT([no, using ln])
+   else
+     AC_MSG_RESULT([no, and neither does ln, so using $gcc_cv_prog_LN_S])
+   fi
+ fi
+ AC_SUBST(LN_S)dnl
+ ])
+ 
+ dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
+ dnl of the usual 2.
+ AC_DEFUN([gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG],
+ [AC_CACHE_CHECK([if mkdir takes one argument], gcc_cv_mkdir_takes_one_arg,
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+ #include <sys/types.h>
+ #ifdef HAVE_SYS_STAT_H
+ # include <sys/stat.h>
+ #endif
+ #ifdef HAVE_UNISTD_H
+ # include <unistd.h>
+ #endif
+ #ifdef HAVE_DIRECT_H
+ # include <direct.h>
+ #endif], [mkdir ("foo", 0);])],
+         gcc_cv_mkdir_takes_one_arg=no, gcc_cv_mkdir_takes_one_arg=yes)])
+ if test $gcc_cv_mkdir_takes_one_arg = yes ; then
+   AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
+ fi
+ ])
+ 
+ AC_DEFUN([gcc_AC_PROG_INSTALL],
+ [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+ # Find a good install program.  We prefer a C program (faster),
+ # so one script is as good as another.  But avoid the broken or
+ # incompatible versions:
+ # SysV /etc/install, /usr/sbin/install
+ # SunOS /usr/etc/install
+ # IRIX /sbin/install
+ # AIX /bin/install
+ # AFS /usr/afsws/bin/install, which mishandles nonexistent args
+ # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+ # ./install, which can be erroneously created by make from ./install.sh.
+ AC_MSG_CHECKING(for a BSD compatible install)
+ if test -z "$INSTALL"; then
+ AC_CACHE_VAL(ac_cv_path_install,
+ [  IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+   for ac_dir in $PATH; do
+     # Account for people who put trailing slashes in PATH elements.
+     case "$ac_dir/" in
+     /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+     *)
+       # OSF1 and SCO ODT 3.0 have their own names for install.
+       for ac_prog in ginstall scoinst install; do
+         if test -f $ac_dir/$ac_prog; then
+ 	  if test $ac_prog = install &&
+             grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ 	    # AIX install.  It has an incompatible calling convention.
+ 	    # OSF/1 installbsd also uses dspmsg, but is usable.
+ 	    :
+ 	  else
+ 	    ac_cv_path_install="$ac_dir/$ac_prog -c"
+ 	    break 2
+ 	  fi
+ 	fi
+       done
+       ;;
+     esac
+   done
+   IFS="$ac_save_IFS"
+ ])dnl
+   if test "${ac_cv_path_install+set}" = set; then
+     INSTALL="$ac_cv_path_install"
+   else
+     # As a last resort, use the slow shell script.  We don't cache a
+     # path for INSTALL within a source directory, because that will
+     # break other packages using the cache if that directory is
+     # removed, or if the path is relative.
+     INSTALL="$ac_install_sh"
+   fi
+ fi
+ dnl We do special magic for INSTALL instead of AC_SUBST, to get
+ dnl relative paths right.
+ AC_MSG_RESULT($INSTALL)
+ AC_SUBST(INSTALL)dnl
+ 
+ # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+ # It thinks the first close brace ends the variable substitution.
+ test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+ AC_SUBST(INSTALL_PROGRAM)dnl
+ 
+ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+ AC_SUBST(INSTALL_DATA)dnl
+ ])
+ 
+ # mmap(2) blacklisting.  Some platforms provide the mmap library routine
+ # but don't support all of the features we need from it.
+ AC_DEFUN([gcc_AC_FUNC_MMAP_BLACKLIST],
+ [
+ AC_CHECK_HEADER([sys/mman.h],
+ 		[gcc_header_sys_mman_h=yes], [gcc_header_sys_mman_h=no])
+ AC_CHECK_FUNC([mmap], [gcc_func_mmap=yes], [gcc_func_mmap=no])
+ if test "$gcc_header_sys_mman_h" != yes \
+  || test "$gcc_func_mmap" != yes; then
+    gcc_cv_func_mmap_file=no
+    gcc_cv_func_mmap_dev_zero=no
+    gcc_cv_func_mmap_anon=no
+ else
+    AC_CACHE_CHECK([whether read-only mmap of a plain file works], 
+   gcc_cv_func_mmap_file,
+   [# Add a system to this blacklist if 
+    # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
+    # memory area containing the same data that you'd get if you applied
+    # read() to the same fd.  The only system known to have a problem here
+    # is VMS, where text files have record structure.
+    case "$host_os" in
+      vms* | ultrix*) 
+         gcc_cv_func_mmap_file=no ;;
+      *)
+         gcc_cv_func_mmap_file=yes;;
+    esac])
+    AC_CACHE_CHECK([whether mmap from /dev/zero works],
+   gcc_cv_func_mmap_dev_zero,
+   [# Add a system to this blacklist if it has mmap() but /dev/zero
+    # does not exist, or if mmapping /dev/zero does not give anonymous
+    # zeroed pages with both the following properties:
+    # 1. If you map N consecutive pages in with one call, and then
+    #    unmap any subset of those pages, the pages that were not
+    #    explicitly unmapped remain accessible.
+    # 2. If you map two adjacent blocks of memory and then unmap them
+    #    both at once, they must both go away.
+    # Systems known to be in this category are Windows (all variants),
+    # VMS, and Darwin.
+    case "$host_os" in
+      vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
+         gcc_cv_func_mmap_dev_zero=no ;;
+      *)
+         gcc_cv_func_mmap_dev_zero=yes;;
+    esac])
+ 
+    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
+    AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon,
+     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+ [#include <sys/types.h>
+ #include <sys/mman.h>
+ #include <unistd.h>
+ 
+ #ifndef MAP_ANONYMOUS
+ #define MAP_ANONYMOUS MAP_ANON
+ #endif
+ ],
+ [int n = MAP_ANONYMOUS;])],
+     gcc_cv_decl_map_anon=yes,
+     gcc_cv_decl_map_anon=no)])
+ 
+    if test $gcc_cv_decl_map_anon = no; then
+      gcc_cv_func_mmap_anon=no
+    else
+      AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
+      gcc_cv_func_mmap_anon,
+   [# Add a system to this blacklist if it has mmap() and MAP_ANON or
+    # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
+    # doesn't give anonymous zeroed pages with the same properties listed
+    # above for use of /dev/zero.
+    # Systems known to be in this category are Windows, VMS, and SCO Unix.
+    case "$host_os" in
+      vms* | cygwin* | pe | mingw* | sco* | udk* )
+         gcc_cv_func_mmap_anon=no ;;
+      *)
+         gcc_cv_func_mmap_anon=yes;;
+    esac])
+    fi
+ fi
+ 
+ if test $gcc_cv_func_mmap_file = yes; then
+   AC_DEFINE(HAVE_MMAP_FILE, 1,
+ 	    [Define if read-only mmap of a plain file works.])
+ fi
+ if test $gcc_cv_func_mmap_dev_zero = yes; then
+   AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
+ 	    [Define if mmap of /dev/zero works.])
+ fi
+ if test $gcc_cv_func_mmap_anon = yes; then
+   AC_DEFINE(HAVE_MMAP_ANON, 1,
+ 	    [Define if mmap with MAP_ANON(YMOUS) works.])
+ fi
+ ])
+ 
+ dnl Locate a program and check that its version is acceptable.
+ dnl AC_PROG_CHECK_VER(var, name, version-switch,
+ dnl                  version-extract-regexp, version-glob)
+ AC_DEFUN([gcc_AC_CHECK_PROG_VER],
+ [AC_REQUIRE([gcc_AC_BUILD_EXEEXT])
+ AC_CHECK_PROG([$1], [$2], [$2])
+ if test -n "[$]$1"; then
+   # Found it, now check the version.
+   AC_CACHE_CHECK(for modern $2, gcc_cv_prog_$2_modern,
+ [changequote(<<,>>)dnl
+   ac_prog_version=`<<$>>$1 $3 2>&1 |
+                    sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'`
+ changequote([,])dnl
+   echo "configure:__oline__: version of $2 is $ac_prog_version" >&AS_MESSAGE_LOG_FD
+ changequote(<<,>>)dnl
+   case $ac_prog_version in
+     '')     gcc_cv_prog_$2_modern=no;;
+     <<$5>>)
+             gcc_cv_prog_$2_modern=yes;;
+     *)      gcc_cv_prog_$2_modern=no;;
+   esac
+ changequote([,])dnl
+ ])
+ else
+   gcc_cv_prog_$2_modern=no
+ fi
+ ])
+ 
+ dnl Determine if enumerated bitfields are unsigned.   ISO C says they can 
+ dnl be either signed or unsigned.
+ dnl
+ AC_DEFUN([gcc_AC_C_ENUM_BF_UNSIGNED],
+ [AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
+ [AC_RUN_IFELSE([AC_LANG_SOURCE([#include <stdlib.h>
+ enum t { BLAH = 128 } ;
+ struct s_t { enum t member : 8; } s ;
+ int main(void)
+ {            
+         s.member = BLAH;
+         if (s.member < 0) exit(1);
+         exit(0);
+ 
+ }])], gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
+ if test $gcc_cv_enum_bf_unsigned = yes; then
+   AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
+     [Define if enumerated bitfields are treated as unsigned values.])
+ fi])
+ 
+ dnl Probe number of bits in a byte.
+ dnl Note C89 requires CHAR_BIT >= 8.
+ dnl
+ AC_DEFUN([gcc_AC_C_CHAR_BIT],
+ [AC_CACHE_CHECK(for CHAR_BIT, gcc_cv_decl_char_bit,
+ [AC_EGREP_CPP(found,
+ [#ifdef HAVE_LIMITS_H
+ #include <limits.h>
+ #endif
+ #ifdef CHAR_BIT
+ found
+ #endif], gcc_cv_decl_char_bit=yes, gcc_cv_decl_char_bit=no)
+ ])
+ if test $gcc_cv_decl_char_bit = no; then
+   AC_CACHE_CHECK(number of bits in a byte, gcc_cv_c_nbby,
+ [i=8
+  gcc_cv_c_nbby=
+  while test $i -lt 65; do
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,
+      [switch(0) {
+   case (unsigned char)((unsigned long)1 << $i) == ((unsigned long)1 << $i):
+   case (unsigned char)((unsigned long)1<<($i-1)) == ((unsigned long)1<<($i-1)):
+   ; }])],
+      [gcc_cv_c_nbby=$i; break])
+    i=`expr $i + 1`
+  done
+  test -z "$gcc_cv_c_nbby" && gcc_cv_c_nbby=failed
+ ])
+ if test $gcc_cv_c_nbby = failed; then
+   AC_MSG_ERROR(cannot determine number of bits in a byte)
+ else
+   AC_DEFINE_UNQUOTED(CHAR_BIT, $gcc_cv_c_nbby,
+   [Define as the number of bits in a byte, if \`limits.h' doesn't.])
+ fi
+ fi])
+ 
+ AC_DEFUN([gcc_AC_INITFINI_ARRAY],
+ [AC_ARG_ENABLE(initfini-array,
+ 	[  --enable-initfini-array	use .init_array/.fini_array sections],
+ 	[], [
+ AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
+ 		 gcc_cv_initfini_array, [dnl
+   AC_RUN_IFELSE([AC_LANG_SOURCE([
+ static int x = -1;
+ int main (void) { return x; }
+ int foo (void) { x = 0; }
+ int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;])],
+ 	     [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
+ 	     [gcc_cv_initfini_array=no])])
+   enable_initfini_array=$gcc_cv_initfini_array
+ ])
+ if test $enable_initfini_array = yes; then
+   AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
+     [Define .init_array/.fini_array sections are available and working.])
+ fi])
+ 
+ dnl # _gcc_COMPUTE_GAS_VERSION
+ dnl # Used by gcc_GAS_VERSION_GTE_IFELSE
+ dnl #
+ dnl # WARNING:
+ dnl # gcc_cv_as_gas_srcdir must be defined before this.
+ dnl # This gross requirement will go away eventually.
+ AC_DEFUN([_gcc_COMPUTE_GAS_VERSION],
+ [gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
+ for f in $gcc_cv_as_bfd_srcdir/configure \
+          $gcc_cv_as_gas_srcdir/configure \
+          $gcc_cv_as_gas_srcdir/configure.in \
+          $gcc_cv_as_gas_srcdir/Makefile.in ; do
+   gcc_cv_gas_version=`sed -n -e 's/^[[ 	]]*\(VERSION=[[0-9]]*\.[[0-9]]*.*\)/\1/p' < $f`
+   if test x$gcc_cv_gas_version != x; then
+     break
+   fi
+ done
+ gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
+ gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
+ gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)"`
+ case $gcc_cv_gas_patch_version in
+   "") gcc_cv_gas_patch_version="0" ;;
+ esac
+ gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \
+ 			    + $gcc_cv_gas_minor_version \) \* 1000 \
+ 			    + $gcc_cv_gas_patch_version`
+ ]) []dnl # _gcc_COMPUTE_GAS_VERSION
+ 
+ dnl # gcc_GAS_VERSION_GTE_IFELSE([elf,] major, minor, patchlevel,
+ dnl #                     [command_if_true = :], [command_if_false = :])
+ dnl # Check to see if the version of GAS is greater than or
+ dnl # equal to the specified version.
+ dnl #
+ dnl # The first ifelse() shortens the shell code if the patchlevel
+ dnl # is unimportant (the usual case).  The others handle missing
+ dnl # commands.  Note that the tests are structured so that the most
+ dnl # common version number cases are tested first.
+ AC_DEFUN([_gcc_GAS_VERSION_GTE_IFELSE],
+ [ifelse([$1], elf,
+  [if test $in_tree_gas_is_elf = yes \
+   &&],
+  [if]) test $gcc_cv_gas_vers -ge `expr \( \( $2 \* 1000 \) + $3 \) \* 1000 + $4`
+   then dnl
+ ifelse([$5],,:,[$5])[]dnl
+ ifelse([$6],,,[
+   else $6])
+ fi])
+ 
+ AC_DEFUN([gcc_GAS_VERSION_GTE_IFELSE],
+ [AC_REQUIRE([_gcc_COMPUTE_GAS_VERSION])dnl
+ ifelse([$1], elf, [_gcc_GAS_VERSION_GTE_IFELSE($@)],
+                   [_gcc_GAS_VERSION_GTE_IFELSE(,$@)])])
+ 
+ dnl gcc_GAS_CHECK_FEATURE(description, cv, [[elf,]major,minor,patchlevel],
+ dnl [extra switches to as], [assembler input],
+ dnl [extra testing logic], [command if feature available])
+ dnl
+ dnl Checks for an assembler feature.  If we are building an in-tree
+ dnl gas, the feature is available if the associated assembler version
+ dnl is greater than or equal to major.minor.patchlevel.  If not, then
+ dnl ASSEMBLER INPUT is fed to the assembler and the feature is available
+ dnl if assembly succeeds.  If EXTRA TESTING LOGIC is not the empty string,
+ dnl then it is run instead of simply setting CV to "yes" - it is responsible
+ dnl for doing so, if appropriate.
+ AC_DEFUN([gcc_GAS_CHECK_FEATURE],
+ [AC_CACHE_CHECK([assembler for $1], [$2],
+  [[$2]=no
+   ifelse([$3],,,[dnl
+   if test $in_tree_gas = yes; then
+     gcc_GAS_VERSION_GTE_IFELSE($3, [[$2]=yes])
+   el])if test x$gcc_cv_as != x; then
+     echo ifelse(m4_substr([$5],0,1),[$], "[$5]", '[$5]') > conftest.s
+     if AC_TRY_COMMAND([$gcc_cv_as $4 -o conftest.o conftest.s >&AS_MESSAGE_LOG_FD])
+     then
+ 	ifelse([$6],, [$2]=yes, [$6])
+     else
+       echo "configure: failed program was" >&AS_MESSAGE_LOG_FD
+       cat conftest.s >&AS_MESSAGE_LOG_FD
+     fi
+     rm -f conftest.o conftest.s
+   fi])
+ ifelse([$7],,,[dnl
+ if test $[$2] = yes; then
+   $7
+ fi])])
+ 
+ dnl GCC_TARGET_TEMPLATE(KEY)
+ dnl ------------------------
+ dnl Define KEY as a valid configure key on the target machine.
+ 
+ m4_define([GCC_TARGET_TEMPLATE],
+ [m4_define([GCC_TARGET_TEMPLATE($1)],[])])
+ 
+ dnl AH_TEMPLATE(KEY, DESCRIPTION)
+ dnl -----------------------------
+ dnl Issue an autoheader template for KEY, i.e., a comment composed of
+ dnl DESCRIPTION (properly wrapped), and then #undef KEY.  Redefinition
+ dnl of the macro in autoheader.m4, to support definition of only a few
+ dnl keys while compiling target libraries.
+ 
+ m4_define([AH_TEMPLATE],
+ [AH_VERBATIM([$1],m4_text_wrap([$2 */], [   ], [/* ])
+ m4_ifdef([GCC_TARGET_TEMPLATE($1)],[],[#ifndef USED_FOR_TARGET
+ ])[#undef $1]m4_ifdef([GCC_TARGET_TEMPLATE($1)],[],[
+ #endif
+ ]))])
+ 
+ AC_DEFUN([gcc_AC_TOOL_DIRS], [
+ # When searching for the assembler or linker, search the same directories
+ # that the installed compiler will search.  Else we may find the wrong
+ # assembler or linker and lose.  If we do not find a suitable binary,
+ # then try the user's path.
+ #
+ # Also note we have to check MD_EXEC_PREFIX before checking the user's path.
+ if test "x$exec_prefix" = xNONE; then
+ 	if test "x$prefix" = xNONE; then
+ 		gcc_cv_tool_prefix=/usr/local
+ 	else
+ 		gcc_cv_tool_prefix=$prefix
+ 	fi
+ else
+ 	gcc_cv_tool_prefix=$exec_prefix
+ fi
+ 
+ if test x$host = x$build; then
+     gcc_cv_tool_dirs="$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical/$gcc_version"
+     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/libexec/gcc/$target_noncanonical"
+     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR/usr/lib/gcc/$target_noncanonical/$gcc_version"
+     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR/usr/lib/gcc/$target_noncanonical"
+     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/$target_noncanonical/bin/$target_noncanonical/$gcc_version"
+     gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$gcc_cv_tool_prefix/$target_noncanonical/bin"
+ else
+     gcc_cv_tool_dirs=
+ fi
+ 
+ if test x$build = x$target; then
+     # Rummage through tm_files looking for MD_EXEC_PREFIX
+     md_dirs=
+     for f in ${tm_file_list}; do
+ 	if test -f $f; then
+ 	    if grep '^#[ 	]*undef[ 	]*MD_EXEC_PREFIX' $f > /dev/null; then
+ 		md_dirs=
+ 	    fi
+ 	    md_dirs="$md_dirs "`sed -n -e 's@^#[ 	]*define[ 	]*MD_EXEC_PREFIX[ 	]*"\(.*\)/"@\1@p' < $f`
+ 	fi
+     done
+     for f in ${md_dirs}; do
+         gcc_cv_tool_dirs="$gcc_cv_tool_dirs$PATH_SEPARATOR$f"
+     done
+ fi])
+ 
+ dnl Make sure that build_exeext is looked for
+ AC_DEFUN([gcc_AC_BUILD_EXEEXT], [
+ ac_executable_extensions="$build_exeext"])
+ 
+ AC_DEFUN([gcc_AC_CHECK_TOOL], [
+ AC_REQUIRE([gcc_AC_TOOL_DIRS])
+ AC_REQUIRE([gcc_AC_BUILD_EXEEXT])
+ 
+ dnl shut up useless "checking for..." messages
+ dnl we can still read them in config.log
+ exec AS_MESSAGE_FD([])>/dev/null
+ 
+ # First try the environment variables.  Handle full paths or basenames.
+ if test "x[$]$1" = x && test -n "[$]$4"; then
+ 	AC_PATH_PROG($1, [$]$4)
+ fi
+ if test "x[$]$1" = x && test -n "[$]$5" && test x$host = x$target; then
+ 	AC_PATH_PROG($1, [$]$5)
+ fi
+ 
+ if test "x[$]$1" = x; then
+ 	# The AC_PATH_PROGS macro doesn't work properly when its 4th argument
+ 	# is empty.
+ 	if test "x$gcc_cv_tool_dirs" = x; then
+ 		$1=
+ 	else
+ 		AC_PATH_PROGS($1, $2, , $gcc_cv_tool_dirs)
+ 	fi
+ fi
+ if test "x[$]$1" = x; then
+ 	# If the loop above did not find a tool, then use whatever
+ 	# one we can find in the users's path.  We are looking for a
+ 	# ${build} -> ${target} tool.
+ 	if test "x$program_prefix" != xNONE; then
+ 		default_tool_name=${program_prefix}$2
+ 	elif test x$build != x$host && test x$build != x$target; then
+ 		default_tool_name=${target_noncanonical}-$2
+ 	else
+ 		default_tool_name=`echo $2 | sed "${program_transform_name}"`
+ 	fi
+ 	AC_PATH_PROGS($1, $default_tool_name,
+ 		$gcc_cv_tool_prefix/bin/$default_tool_name$build_exeext)
+ fi
+ test "$silent" != yes && exec AS_MESSAGE_FD([])>&1
+ 
+ $3="[$]$1"
+ AC_SUBST($3)])
diff -Nrcpad gcc-4.0.2/gcc/aclocal.m4 gcc-4.1.0/gcc/aclocal.m4
*** gcc-4.0.2/gcc/aclocal.m4	Thu Dec  2 11:04:01 2004
--- gcc-4.1.0/gcc/aclocal.m4	Tue Sep  6 03:23:48 2005
***************
*** 1,617 ****
! m4_include([../config/accross.m4])
! m4_include([../config/acx.m4])
! m4_include([../config/gettext-sister.m4])
! m4_include([../config/gcc-lib-path.m4])
! m4_include([../config/gcc-version.m4])
! m4_include([../config/iconv.m4])
! m4_include([../config/lcmessage.m4])
! m4_include([../config/lib-ld.m4])
! m4_include([../config/lib-link.m4])
! m4_include([../config/lib-prefix.m4])
! m4_include([../config/progtest.m4])
! 
! dnl See whether we need a declaration for a function.
! dnl The result is highly dependent on the INCLUDES passed in, so make sure
! dnl to use a different cache variable name in this macro if it is invoked
! dnl in a different context somewhere else.
! dnl gcc_AC_CHECK_DECL(SYMBOL,
! dnl 	[ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]])
! AC_DEFUN([gcc_AC_CHECK_DECL],
! [AC_MSG_CHECKING([whether $1 is declared])
! AC_CACHE_VAL(gcc_cv_have_decl_$1,
! [AC_TRY_COMPILE([$4],
! [#ifndef $1
! char *(*pfn) = (char *(*)) $1 ;
! #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")])
! if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then
!   AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2])
! else
!   AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3])
! fi
! ])dnl
! 
! dnl Check multiple functions to see whether each needs a declaration.
! dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate.
! dnl gcc_AC_CHECK_DECLS(SYMBOLS,
! dnl 	[ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]])
! AC_DEFUN([gcc_AC_CHECK_DECLS],
! [AC_FOREACH([gcc_AC_Func], [$1],
!   [AH_TEMPLATE(AS_TR_CPP(HAVE_DECL_[]gcc_AC_Func),
!   [Define to 1 if we found a declaration for ']gcc_AC_Func[', otherwise
!    define to 0.])])dnl
! for ac_func in $1
! do
!   ac_tr_decl=AS_TR_CPP([HAVE_DECL_$ac_func])
! gcc_AC_CHECK_DECL($ac_func,
!   [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2],
!   [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3],
! dnl It is possible that the include files passed in here are local headers
! dnl which supply a backup declaration for the relevant prototype based on
! dnl the definition of (or lack of) the HAVE_DECL_ macro.  If so, this test
! dnl will always return success.  E.g. see libiberty.h's handling of
! dnl `basename'.  To avoid this, we define the relevant HAVE_DECL_ macro to
! dnl 1 so that any local headers used do not provide their own prototype
! dnl during this test.
! #undef $ac_tr_decl
! #define $ac_tr_decl 1
!   $4
! )
! done
! ])
! 
! dnl 'make compare' can be significantly faster, if cmp itself can
! dnl skip bytes instead of using tail.  The test being performed is
! dnl "if cmp --ignore-initial=2 t1 t2 && ! cmp --ignore-initial=1 t1 t2"
! dnl but we need to sink errors and handle broken shells.  We also test
! dnl for the parameter format "cmp file1 file2 skip1 skip2" which is
! dnl accepted by cmp on some systems.
! AC_DEFUN([gcc_AC_PROG_CMP_IGNORE_INITIAL],
! [AC_CACHE_CHECK([for cmp's capabilities], gcc_cv_prog_cmp_skip,
! [ echo abfoo >t1
!   echo cdfoo >t2
!   gcc_cv_prog_cmp_skip=slowcompare
!   if cmp --ignore-initial=2 t1 t2 > /dev/null 2>&1; then
!     if cmp --ignore-initial=1 t1 t2 > /dev/null 2>&1; then
!       :
!     else
!       gcc_cv_prog_cmp_skip=gnucompare
!     fi
!   fi
!   if test $gcc_cv_prog_cmp_skip = slowcompare ; then
!     if cmp t1 t2 2 2 > /dev/null 2>&1; then
!       if cmp t1 t2 1 1 > /dev/null 2>&1; then
!         :
!       else
!         gcc_cv_prog_cmp_skip=fastcompare
!       fi
!     fi
!   fi
!   rm t1 t2
! ])
! make_compare_target=$gcc_cv_prog_cmp_skip
! AC_SUBST(make_compare_target)
! ])
! 
! dnl See if the printf functions in libc support %p in format strings.
! AC_DEFUN([gcc_AC_FUNC_PRINTF_PTR],
! [AC_CACHE_CHECK(whether the printf functions support %p,
!   gcc_cv_func_printf_ptr,
! [AC_TRY_RUN([#include <stdio.h>
! 
! int main()
! {
!   char buf[64];
!   char *p = buf, *q = NULL;
!   sprintf(buf, "%p", p);
!   sscanf(buf, "%p", &q);
!   return (p != q);
! }], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no,
! 	gcc_cv_func_printf_ptr=no)
! rm -f core core.* *.core])
! if test $gcc_cv_func_printf_ptr = yes ; then
!   AC_DEFINE(HAVE_PRINTF_PTR, 1, [Define if printf supports "%p".])
! fi
! ])
! 
! dnl See if symbolic links work and if not, try to substitute either hard links or simple copy.
! AC_DEFUN([gcc_AC_PROG_LN_S],
! [AC_MSG_CHECKING(whether ln -s works)
! AC_CACHE_VAL(gcc_cv_prog_LN_S,
! [rm -f conftestdata_t
! echo >conftestdata_f
! if ln -s conftestdata_f conftestdata_t 2>/dev/null
! then
!   gcc_cv_prog_LN_S="ln -s"
! else
!   if ln conftestdata_f conftestdata_t 2>/dev/null
!   then
!     gcc_cv_prog_LN_S=ln
!   else
!     if cp -p conftestdata_f conftestdata_t 2>/dev/null
!     then
!       gcc_cv_prog_LN_S="cp -p"
!     else
!       gcc_cv_prog_LN_S=cp
!     fi
!   fi
! fi
! rm -f conftestdata_f conftestdata_t
! ])dnl
! LN_S="$gcc_cv_prog_LN_S"
! if test "$gcc_cv_prog_LN_S" = "ln -s"; then
!   AC_MSG_RESULT(yes)
! else
!   if test "$gcc_cv_prog_LN_S" = "ln"; then
!     AC_MSG_RESULT([no, using ln])
!   else
!     AC_MSG_RESULT([no, and neither does ln, so using $gcc_cv_prog_LN_S])
!   fi
! fi
! AC_SUBST(LN_S)dnl
! ])
! 
! dnl Define MKDIR_TAKES_ONE_ARG if mkdir accepts only one argument instead
! dnl of the usual 2.
! AC_DEFUN([gcc_AC_FUNC_MKDIR_TAKES_ONE_ARG],
! [AC_CACHE_CHECK([if mkdir takes one argument], gcc_cv_mkdir_takes_one_arg,
! [AC_TRY_COMPILE([
! #include <sys/types.h>
! #ifdef HAVE_SYS_STAT_H
! # include <sys/stat.h>
! #endif
! #ifdef HAVE_UNISTD_H
! # include <unistd.h>
! #endif
! #ifdef HAVE_DIRECT_H
! # include <direct.h>
! #endif], [mkdir ("foo", 0);], 
!         gcc_cv_mkdir_takes_one_arg=no, gcc_cv_mkdir_takes_one_arg=yes)])
! if test $gcc_cv_mkdir_takes_one_arg = yes ; then
!   AC_DEFINE(MKDIR_TAKES_ONE_ARG, 1, [Define if host mkdir takes a single argument.])
! fi
! ])
! 
! AC_DEFUN([gcc_AC_PROG_INSTALL],
! [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
! # Find a good install program.  We prefer a C program (faster),
! # so one script is as good as another.  But avoid the broken or
! # incompatible versions:
! # SysV /etc/install, /usr/sbin/install
! # SunOS /usr/etc/install
! # IRIX /sbin/install
! # AIX /bin/install
! # AFS /usr/afsws/bin/install, which mishandles nonexistent args
! # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
! # ./install, which can be erroneously created by make from ./install.sh.
! AC_MSG_CHECKING(for a BSD compatible install)
! if test -z "$INSTALL"; then
! AC_CACHE_VAL(ac_cv_path_install,
! [  IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS="${IFS}:"
!   for ac_dir in $PATH; do
!     # Account for people who put trailing slashes in PATH elements.
!     case "$ac_dir/" in
!     /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
!     *)
!       # OSF1 and SCO ODT 3.0 have their own names for install.
!       for ac_prog in ginstall scoinst install; do
!         if test -f $ac_dir/$ac_prog; then
! 	  if test $ac_prog = install &&
!             grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
! 	    # AIX install.  It has an incompatible calling convention.
! 	    # OSF/1 installbsd also uses dspmsg, but is usable.
! 	    :
! 	  else
! 	    ac_cv_path_install="$ac_dir/$ac_prog -c"
! 	    break 2
! 	  fi
! 	fi
!       done
!       ;;
!     esac
!   done
!   IFS="$ac_save_IFS"
! ])dnl
!   if test "${ac_cv_path_install+set}" = set; then
!     INSTALL="$ac_cv_path_install"
!   else
!     # As a last resort, use the slow shell script.  We don't cache a
!     # path for INSTALL within a source directory, because that will
!     # break other packages using the cache if that directory is
!     # removed, or if the path is relative.
!     INSTALL="$ac_install_sh"
!   fi
! fi
! dnl We do special magic for INSTALL instead of AC_SUBST, to get
! dnl relative paths right.
! AC_MSG_RESULT($INSTALL)
! AC_SUBST(INSTALL)dnl
! 
! # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
! # It thinks the first close brace ends the variable substitution.
! test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
! AC_SUBST(INSTALL_PROGRAM)dnl
! 
! test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
! AC_SUBST(INSTALL_DATA)dnl
! ])
! 
! # mmap(2) blacklisting.  Some platforms provide the mmap library routine
! # but don't support all of the features we need from it.
! AC_DEFUN([gcc_AC_FUNC_MMAP_BLACKLIST],
! [
! AC_CHECK_HEADER([sys/mman.h],
! 		[gcc_header_sys_mman_h=yes], [gcc_header_sys_mman_h=no])
! AC_CHECK_FUNC([mmap], [gcc_func_mmap=yes], [gcc_func_mmap=no])
! if test "$gcc_header_sys_mman_h" != yes \
!  || test "$gcc_func_mmap" != yes; then
!    gcc_cv_func_mmap_file=no
!    gcc_cv_func_mmap_dev_zero=no
!    gcc_cv_func_mmap_anon=no
! else
!    AC_CACHE_CHECK([whether read-only mmap of a plain file works], 
!   gcc_cv_func_mmap_file,
!   [# Add a system to this blacklist if 
!    # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
!    # memory area containing the same data that you'd get if you applied
!    # read() to the same fd.  The only system known to have a problem here
!    # is VMS, where text files have record structure.
!    case "$host_os" in
!      vms* | ultrix*) 
!         gcc_cv_func_mmap_file=no ;;
!      *)
!         gcc_cv_func_mmap_file=yes;;
!    esac])
!    AC_CACHE_CHECK([whether mmap from /dev/zero works],
!   gcc_cv_func_mmap_dev_zero,
!   [# Add a system to this blacklist if it has mmap() but /dev/zero
!    # does not exist, or if mmapping /dev/zero does not give anonymous
!    # zeroed pages with both the following properties:
!    # 1. If you map N consecutive pages in with one call, and then
!    #    unmap any subset of those pages, the pages that were not
!    #    explicitly unmapped remain accessible.
!    # 2. If you map two adjacent blocks of memory and then unmap them
!    #    both at once, they must both go away.
!    # Systems known to be in this category are Windows (all variants),
!    # VMS, and Darwin.
!    case "$host_os" in
!      vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
!         gcc_cv_func_mmap_dev_zero=no ;;
!      *)
!         gcc_cv_func_mmap_dev_zero=yes;;
!    esac])
! 
!    # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
!    AC_CACHE_CHECK([for MAP_ANON(YMOUS)], gcc_cv_decl_map_anon,
!     [AC_TRY_COMPILE(
! [#include <sys/types.h>
! #include <sys/mman.h>
! #include <unistd.h>
! 
! #ifndef MAP_ANONYMOUS
! #define MAP_ANONYMOUS MAP_ANON
! #endif
! ],
! [int n = MAP_ANONYMOUS;],
!     gcc_cv_decl_map_anon=yes,
!     gcc_cv_decl_map_anon=no)])
! 
!    if test $gcc_cv_decl_map_anon = no; then
!      gcc_cv_func_mmap_anon=no
!    else
!      AC_CACHE_CHECK([whether mmap with MAP_ANON(YMOUS) works],
!      gcc_cv_func_mmap_anon,
!   [# Add a system to this blacklist if it has mmap() and MAP_ANON or
!    # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
!    # doesn't give anonymous zeroed pages with the same properties listed
!    # above for use of /dev/zero.
!    # Systems known to be in this category are Windows, VMS, and SCO Unix.
!    case "$host_os" in
!      vms* | cygwin* | pe | mingw* | sco* | udk* )
!         gcc_cv_func_mmap_anon=no ;;
!      *)
!         gcc_cv_func_mmap_anon=yes;;
!    esac])
!    fi
! fi
! 
! if test $gcc_cv_func_mmap_file = yes; then
!   AC_DEFINE(HAVE_MMAP_FILE, 1,
! 	    [Define if read-only mmap of a plain file works.])
! fi
! if test $gcc_cv_func_mmap_dev_zero = yes; then
!   AC_DEFINE(HAVE_MMAP_DEV_ZERO, 1,
! 	    [Define if mmap of /dev/zero works.])
! fi
! if test $gcc_cv_func_mmap_anon = yes; then
!   AC_DEFINE(HAVE_MMAP_ANON, 1,
! 	    [Define if mmap with MAP_ANON(YMOUS) works.])
! fi
! ])
! 
! dnl Locate a program and check that its version is acceptable.
! dnl AC_PROG_CHECK_VER(var, name, version-switch,
! dnl                  version-extract-regexp, version-glob)
! AC_DEFUN([gcc_AC_CHECK_PROG_VER],
! [AC_CHECK_PROG([$1], [$2], [$2])
! if test -n "[$]$1"; then
!   # Found it, now check the version.
!   AC_CACHE_CHECK(for modern $2, gcc_cv_prog_$2_modern,
! [changequote(<<,>>)dnl
!   ac_prog_version=`<<$>>$1 $3 2>&1 |
!                    sed -n 's/^.*patsubst(<<$4>>,/,\/).*$/\1/p'`
! changequote([,])dnl
!   echo "configure:__oline__: version of $2 is $ac_prog_version" >&AC_FD_CC
! changequote(<<,>>)dnl
!   case $ac_prog_version in
!     '')     gcc_cv_prog_$2_modern=no;;
!     <<$5>>)
!             gcc_cv_prog_$2_modern=yes;;
!     *)      gcc_cv_prog_$2_modern=no;;
!   esac
! changequote([,])dnl
! ])
! else
!   gcc_cv_prog_$2_modern=no
! fi
! ])
! 
! dnl Determine if enumerated bitfields are unsigned.   ISO C says they can 
! dnl be either signed or unsigned.
! dnl
! AC_DEFUN([gcc_AC_C_ENUM_BF_UNSIGNED],
! [AC_CACHE_CHECK(for unsigned enumerated bitfields, gcc_cv_enum_bf_unsigned,
! [AC_TRY_RUN(#include <stdlib.h>
! enum t { BLAH = 128 } ;
! struct s_t { enum t member : 8; } s ;
! int main(void)
! {            
!         s.member = BLAH;
!         if (s.member < 0) exit(1);
!         exit(0);
! 
! }, gcc_cv_enum_bf_unsigned=yes, gcc_cv_enum_bf_unsigned=no, gcc_cv_enum_bf_unsigned=yes)])
! if test $gcc_cv_enum_bf_unsigned = yes; then
!   AC_DEFINE(ENUM_BITFIELDS_ARE_UNSIGNED, 1,
!     [Define if enumerated bitfields are treated as unsigned values.])
! fi])
! 
! dnl Probe number of bits in a byte.
! dnl Note C89 requires CHAR_BIT >= 8.
! dnl
! AC_DEFUN([gcc_AC_C_CHAR_BIT],
! [AC_CACHE_CHECK(for CHAR_BIT, gcc_cv_decl_char_bit,
! [AC_EGREP_CPP(found,
! [#ifdef HAVE_LIMITS_H
! #include <limits.h>
! #endif
! #ifdef CHAR_BIT
! found
! #endif], gcc_cv_decl_char_bit=yes, gcc_cv_decl_char_bit=no)
! ])
! if test $gcc_cv_decl_char_bit = no; then
!   AC_CACHE_CHECK(number of bits in a byte, gcc_cv_c_nbby,
! [i=8
!  gcc_cv_c_nbby=
!  while test $i -lt 65; do
!    AC_TRY_COMPILE(,
!      [switch(0) {
!   case (unsigned char)((unsigned long)1 << $i) == ((unsigned long)1 << $i):
!   case (unsigned char)((unsigned long)1<<($i-1)) == ((unsigned long)1<<($i-1)):
!   ; }], 
!      [gcc_cv_c_nbby=$i; break])
!    i=`expr $i + 1`
!  done
!  test -z "$gcc_cv_c_nbby" && gcc_cv_c_nbby=failed
! ])
! if test $gcc_cv_c_nbby = failed; then
!   AC_MSG_ERROR(cannot determine number of bits in a byte)
! else
!   AC_DEFINE_UNQUOTED(CHAR_BIT, $gcc_cv_c_nbby,
!   [Define as the number of bits in a byte, if \`limits.h' doesn't.])
! fi
! fi])
! 
! dnl Checking for long long.
! dnl By Caolan McNamara <caolan@skynet.ie>
! dnl Added check for __int64, Zack Weinberg <zackw@stanford.edu>
! dnl
! AC_DEFUN([gcc_AC_C_LONG_LONG],
! [AC_CACHE_CHECK(for long long int, ac_cv_c_long_long,
!   [AC_TRY_COMPILE(,[long long int i;],
!          ac_cv_c_long_long=yes,
!          ac_cv_c_long_long=no)])
!   if test $ac_cv_c_long_long = yes; then
!     AC_DEFINE(HAVE_LONG_LONG, 1,
!       [Define if your compiler supports the \`long long' type.])
!   fi
! AC_CACHE_CHECK(for __int64, ac_cv_c___int64,
!   [AC_TRY_COMPILE(,[__int64 i;],
! 	ac_cv_c___int64=yes,
! 	ac_cv_c___int64=no)])
!   if test $ac_cv_c___int64 = yes; then
!     AC_DEFINE(HAVE___INT64, 1,
!       [Define if your compiler supports the \`__int64' type.])
!   fi
! ])
! 
! dnl From Bruno Haible.
! 
! AC_DEFUN([AM_LANGINFO_CODESET],
! [
!   AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
!     [AC_TRY_LINK([#include <langinfo.h>],
!       [char* cs = nl_langinfo(CODESET);],
!       am_cv_langinfo_codeset=yes,
!       am_cv_langinfo_codeset=no)
!     ])
!   if test $am_cv_langinfo_codeset = yes; then
!     AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
!       [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
!   fi
! ])
! 
! AC_DEFUN([gcc_AC_INITFINI_ARRAY],
! [AC_ARG_ENABLE(initfini-array,
! 	[  --enable-initfini-array	use .init_array/.fini_array sections],
! 	[], [
! AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
! 		 gcc_cv_initfini_array, [dnl
!   AC_TRY_RUN([
! static int x = -1;
! int main (void) { return x; }
! int foo (void) { x = 0; }
! int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;],
! 	     [gcc_cv_initfini_array=yes], [gcc_cv_initfini_array=no],
! 	     [gcc_cv_initfini_array=no])])
!   enable_initfini_array=$gcc_cv_initfini_array
! ])
! if test $enable_initfini_array = yes; then
!   AC_DEFINE(HAVE_INITFINI_ARRAY, 1,
!     [Define .init_array/.fini_array sections are available and working.])
! fi])
! 
! dnl # _gcc_COMPUTE_GAS_VERSION
! dnl # Used by gcc_GAS_VERSION_GTE_IFELSE
! dnl #
! dnl # WARNING:
! dnl # gcc_cv_as_gas_srcdir must be defined before this.
! dnl # This gross requirement will go away eventually.
! AC_DEFUN([_gcc_COMPUTE_GAS_VERSION],
! [gcc_cv_as_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
! for f in $gcc_cv_as_bfd_srcdir/configure \
!          $gcc_cv_as_gas_srcdir/configure \
!          $gcc_cv_as_gas_srcdir/configure.in \
!          $gcc_cv_as_gas_srcdir/Makefile.in ; do
!   gcc_cv_gas_version=`sed -n -e 's/^[[ 	]]*\(VERSION=[[0-9]]*\.[[0-9]]*.*\)/\1/p' < $f`
!   if test x$gcc_cv_gas_version != x; then
!     break
!   fi
! done
! gcc_cv_gas_major_version=`expr "$gcc_cv_gas_version" : "VERSION=\([[0-9]]*\)"`
! gcc_cv_gas_minor_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.\([[0-9]]*\)"`
! gcc_cv_gas_patch_version=`expr "$gcc_cv_gas_version" : "VERSION=[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)"`
! case $gcc_cv_gas_patch_version in
!   "") gcc_cv_gas_patch_version="0" ;;
! esac
! gcc_cv_gas_vers=`expr \( \( $gcc_cv_gas_major_version \* 1000 \) \
! 			    + $gcc_cv_gas_minor_version \) \* 1000 \
! 			    + $gcc_cv_gas_patch_version`
! ]) []dnl # _gcc_COMPUTE_GAS_VERSION
! 
! dnl # gcc_GAS_VERSION_GTE_IFELSE([elf,] major, minor, patchlevel,
! dnl #                     [command_if_true = :], [command_if_false = :])
! dnl # Check to see if the version of GAS is greater than or
! dnl # equal to the specified version.
! dnl #
! dnl # The first ifelse() shortens the shell code if the patchlevel
! dnl # is unimportant (the usual case).  The others handle missing
! dnl # commands.  Note that the tests are structured so that the most
! dnl # common version number cases are tested first.
! AC_DEFUN([_gcc_GAS_VERSION_GTE_IFELSE],
! [ifelse([$1], elf,
!  [if test $in_tree_gas_is_elf = yes \
!   &&],
!  [if]) test $gcc_cv_gas_vers -ge `expr \( \( $2 \* 1000 \) + $3 \) \* 1000 + $4`
!   then dnl
! ifelse([$5],,:,[$5])[]dnl
! ifelse([$6],,,[
!   else $6])
! fi])
! 
! AC_DEFUN([gcc_GAS_VERSION_GTE_IFELSE],
! [AC_REQUIRE([_gcc_COMPUTE_GAS_VERSION])dnl
! ifelse([$1], elf, [_gcc_GAS_VERSION_GTE_IFELSE($@)],
!                   [_gcc_GAS_VERSION_GTE_IFELSE(,$@)])])
! 
! dnl gcc_GAS_CHECK_FEATURE(description, cv, [[elf,]major,minor,patchlevel],
! dnl [extra switches to as], [assembler input],
! dnl [extra testing logic], [command if feature available])
! dnl
! dnl Checks for an assembler feature.  If we are building an in-tree
! dnl gas, the feature is available if the associated assembler version
! dnl is greater than or equal to major.minor.patchlevel.  If not, then
! dnl ASSEMBLER INPUT is fed to the assembler and the feature is available
! dnl if assembly succeeds.  If EXTRA TESTING LOGIC is not the empty string,
! dnl then it is run instead of simply setting CV to "yes" - it is responsible
! dnl for doing so, if appropriate.
! AC_DEFUN([gcc_GAS_CHECK_FEATURE],
! [AC_CACHE_CHECK([assembler for $1], [$2],
!  [[$2]=no
!   ifelse([$3],,,[dnl
!   if test $in_tree_gas = yes; then
!     gcc_GAS_VERSION_GTE_IFELSE($3, [[$2]=yes])
!   el])if test x$gcc_cv_as != x; then
!     echo ifelse(m4_substr([$5],0,1),[$], "[$5]", '[$5]') > conftest.s
!     if AC_TRY_COMMAND([$gcc_cv_as $4 -o conftest.o conftest.s >&AC_FD_CC])
!     then
! 	ifelse([$6],, [$2]=yes, [$6])
!     else
!       echo "configure: failed program was" >&AC_FD_CC
!       cat conftest.s >&AC_FD_CC
!     fi
!     rm -f conftest.o conftest.s
!   fi])
! ifelse([$7],,,[dnl
! if test $[$2] = yes; then
!   $7
! fi])])
! 
! # AM_PROG_CC_C_O
! # --------------
! # Like AC_PROG_CC_C_O, but changed for automake.
! 
! # Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
  
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
  
  # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
! 
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
! 
! AC_DEFUN([AM_PROG_CC_C_O],
! [AC_REQUIRE([AC_PROG_CC_C_O])dnl
! AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
! # FIXME: we rely on the cache variable name because
! # there is no other way.
! set dummy $CC
! ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
! if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
!    # Losing compiler, so override with the script.
!    # FIXME: It is wrong to rewrite CC.
!    # But if we don't then we get into trouble of one sort or another.
!    # A longer-term fix would be to have automake use am__CC in this case,
!    # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
!    CC="$am_aux_dir/compile $CC"
! fi
! ])
! 
! # AM_AUX_DIR_EXPAND
! 
! # Copyright (C) 2001, 2003 Free Software Foundation, Inc.
! 
! # This program is free software; you can redistribute it and/or modify
! # it under the terms of the GNU General Public License as published by
! # the Free Software Foundation; either version 2, or (at your option)
! # any later version.
  
! # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY; without even the implied warranty of
! # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
! # GNU General Public License for more details.
  
! # You should have received a copy of the GNU General Public License
! # along with this program; if not, write to the Free Software
! # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
! # 02111-1307, USA.
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
--- 1,23 ----
! # generated automatically by aclocal 1.9.6 -*- Autoconf -*-
  
! # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
! # 2005  Free Software Foundation, Inc.
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
  # This program is distributed in the hope that it will be useful,
! # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
! # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
! # PARTICULAR PURPOSE.
  
! # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
  
! # Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
! #
! # This file is free software; the Free Software Foundation
! # gives unlimited permission to copy and/or distribute it,
! # with or without modifications, as long as this notice is preserved.
  
  # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
  # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
*************** AC_PREREQ([2.50])dnl
*** 657,659 ****
--- 63,104 ----
  # expand $ac_aux_dir to an absolute path
  am_aux_dir=`cd $ac_aux_dir && pwd`
  ])
+ 
+ # Copyright (C) 1999, 2000, 2001, 2003, 2005  Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+ 
+ # serial 3
+ 
+ # AM_PROG_CC_C_O
+ # --------------
+ # Like AC_PROG_CC_C_O, but changed for automake.
+ AC_DEFUN([AM_PROG_CC_C_O],
+ [AC_REQUIRE([AC_PROG_CC_C_O])dnl
+ AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+ # FIXME: we rely on the cache variable name because
+ # there is no other way.
+ set dummy $CC
+ ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+ if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then
+    # Losing compiler, so override with the script.
+    # FIXME: It is wrong to rewrite CC.
+    # But if we don't then we get into trouble of one sort or another.
+    # A longer-term fix would be to have automake use am__CC in this case,
+    # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+    CC="$am_aux_dir/compile $CC"
+ fi
+ ])
+ 
+ m4_include([../config/acx.m4])
+ m4_include([../config/codeset.m4])
+ m4_include([../config/gettext-sister.m4])
+ m4_include([../config/iconv.m4])
+ m4_include([../config/lcmessage.m4])
+ m4_include([../config/lib-ld.m4])
+ m4_include([../config/lib-link.m4])
+ m4_include([../config/lib-prefix.m4])
+ m4_include([../config/progtest.m4])
+ m4_include([acinclude.m4])
diff -Nrcpad gcc-4.0.2/gcc/ada/5xcrtl.ads gcc-4.1.0/gcc/ada/5xcrtl.ads
*** gcc-4.0.2/gcc/ada/5xcrtl.ads	Thu Mar 18 15:18:36 2004
--- gcc-4.1.0/gcc/ada/5xcrtl.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,159 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                        GNAT RUN-TIME COMPONENTS                          --
- --                                                                          --
- --                         S Y S T E M . C R T L                            --
- --                                                                          --
- --                                S p e c                                   --
- --                                                                          --
- --           Copyright (C) 2004 Free Software Foundation, Inc.              --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- GNAT was originally developed  by the GNAT team at  New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc.      --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- --  This package provides the low level interface to the C Run Time Library
- --  on 64 bit VMS
- 
- with System.Parameters;
- package System.CRTL is
- pragma Preelaborate (CRTL);
- 
-    subtype chars is System.Address;
-    --  Pointer to null-terminated array of characters
- 
-    subtype FILEs is System.Address;
-    --  Corresponds to the C type FILE*
- 
-    subtype int is Integer;
- 
-    type long is range -(2 ** (System.Parameters.long_bits - 1))
-       .. +(2 ** (System.Parameters.long_bits - 1)) - 1;
- 
-    subtype off_t is Integer;
- 
-    type size_t is mod 2 ** Standard'Address_Size;
- 
-    function atoi (A : System.Address) return Integer;
-    pragma Import (C, atoi, "decc$atoi");
- 
-    procedure clearerr (stream : FILEs);
-    pragma Import (C, clearerr, "decc$clearerr");
- 
-    function fclose (stream : FILEs) return int;
-    pragma Import (C, fclose, "decc$fclose");
- 
-    function fdopen (handle : int; mode : chars) return FILEs;
-    pragma Import (C, fdopen, "decc$fdopen");
- 
-    function fflush (stream : FILEs) return int;
-    pragma Import (C, fflush, "decc$fflush");
- 
-    function fgetc (stream : FILEs) return int;
-    pragma Import (C, fgetc, "decc$fgetc");
- 
-    function fgets (strng : chars; n : int; stream : FILEs) return chars;
-    pragma Import (C, fgets, "decc$fgets");
- 
-    function fopen (filename : chars; Mode : chars) return FILEs;
-    pragma Import (C, fopen, "decc$fopen");
- 
-    function fputc (C : int; stream : FILEs) return int;
-    pragma Import (C, fputc, "decc$fputc");
- 
-    function fputs (Strng : chars; Stream : FILEs) return int;
-    pragma Import (C, fputs, "decc$fputs");
- 
-    procedure free (Ptr : System.Address);
-    pragma Import (C, free, "decc$free");
- 
-    function freopen
-      (filename : chars;
-       mode     : chars;
-       stream   : FILEs)
-       return     FILEs;
-    pragma Import (C, freopen, "decc$freopen");
- 
-    function fseek
-      (stream : FILEs;
-       offset : long;
-       origin : int)
-       return   int;
-    pragma Import (C, fseek, "decc$fseek");
- 
-    function ftell (stream : FILEs) return long;
-    pragma Import (C, ftell, "decc$ftell");
- 
-    function getenv (S : String) return System.Address;
-    pragma Import (C, getenv, "decc$getenv");
- 
-    function isatty (handle : int) return int;
-    pragma Import (C, isatty, "decc$isatty");
- 
-    function lseek (fd : int; offset : off_t; direction : int) return off_t;
-    pragma Import (C, lseek, "decc$lseek");
- 
-    function malloc (Size : size_t) return System.Address;
-    pragma Import (C, malloc, "decc$_malloc64");
- 
-    procedure memcpy (S1 : System.Address; S2 : System.Address; N : size_t);
-    pragma Import (C, memcpy, "decc$_memcpy64");
- 
-    procedure memmove (S1 : System.Address; S2 : System.Address; N : size_t);
-    pragma Import (C, memmove, "decc$_memmove64");
- 
-    procedure mktemp (template : chars);
-    pragma Import (C, mktemp, "decc$_mktemp64");
- 
-    function read (fd : int; buffer : chars; nbytes : int) return int;
-    pragma Import (C, read, "decc$read");
- 
-    function realloc
-      (Ptr : System.Address; Size : size_t) return System.Address;
-    pragma Import (C, realloc, "decc$_realloc64");
- 
-    procedure rewind (stream : FILEs);
-    pragma Import (C, rewind, "decc$rewind");
- 
-    function setvbuf
-      (stream : FILEs;
-       buffer : chars;
-       mode   : int;
-       size   : size_t)
-       return   int;
-    pragma Import (C, setvbuf, "decc$setvbuf");
- 
-    procedure tmpnam (string : chars);
-    pragma Import (C, tmpnam, "decc$_tmpnam64");
- 
-    function tmpfile return FILEs;
-    pragma Import (C, tmpfile, "decc$tmpfile");
- 
-    function ungetc (c : int; stream : FILEs) return int;
-    pragma Import (C, ungetc, "decc$ungetc");
- 
-    function unlink (filename : chars) return int;
-    pragma Import (C, unlink, "decc$unlink");
- 
-    function write (fd : int; buffer : chars; nbytes : int) return int;
-    pragma Import (C, write, "decc$write");
- end System.CRTL;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/9drpc.adb gcc-4.1.0/gcc/ada/9drpc.adb
*** gcc-4.0.2/gcc/ada/9drpc.adb	Thu Jul 15 20:34:34 2004
--- gcc-4.1.0/gcc/ada/9drpc.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/ChangeLog gcc-4.1.0/gcc/ada/ChangeLog
*** gcc-4.0.2/gcc/ada/ChangeLog	Wed Sep 21 03:55:43 2005
--- gcc-4.1.0/gcc/ada/ChangeLog	Tue Feb 28 08:28:11 2006
***************
*** 1,20 ****
! 2005-09-20  Release Manager
  
! 	* GCC 4.0.2 released.
  
! 2005-07-07  Release Manager
  
! 	* GCC 4.0.1 released.
  
! 2005-04-24  Laurent GUERBY  <laurent@guerby.net>
  
! 	PR ada/18847
! 	* a-nudira.adb (Value): Check for valid string.
! 	* a-nuflra.adb (Value): Likewise.
  	
! 2005-04-20  Release Manager
  
! 	* GCC 4.0.0 released.
  
  2005-04-07  Laurent GUERBY  <laurent@guerby.net>
  	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
--- 1,4741 ----
! 2006-02-28  Release Manager
  
! 	* GCC 4.1.0 released.
  
! 2006-02-23  Mark Mitchell  <mark@codesourcery.com>
  
! 	Backport:
! 	2005-12-05  Paolo Bonzini  <bonzini@gnu.org>
!         * Makefile.in (gnatlib): Fix regex, using \. instead of . when a
! 	period is meant.
! 	
! 2006-02-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	Backport from mainline:
! 	2006-02-13  Geert Bosch  <bosch@adacore.com>
! 	            Gary Dismukes  <dismukes@adacore.com>
  
! 	* a-tifiio.adb (Put_Digits): Test Last against To'First - 1 instead of
! 	0, since the lower bound of the actual string may be greater than one.
! 
! 	PR ada/20753
! 
! 	(Put): Fix condition to raise Layout_Error when invalid
! 	layout is requested.
! 
! 2006-02-09  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
! 
! 	* Make-lang.in (check-gnat): Run run_acats with $(SHELL).
! 
! 2006-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR target/25926
! 	* initialize.c (__gnat_initialize): Provide HP-UX 10 host and target
! 	implementation that calls __main.
! 
! 2006-01-25  Peter O'Gorman  <peter@pogma.com>
! 
! 	PR bootstrap/25859
! 	* Makefile.in (GCC_LINK): Remove quotes.
! 	(tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)"
! 	or $(GCC_LINK).
! 
! 	(powerpc-darwin): Pass -shared-libgcc when building shared library.
! 
! 2006-01-24  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR ada/18819
! 	* exp_util.adb (Remove_Side_Effects): Lift enclosing type conversion
! 	nodes for elementary types in all cases.
! 
! 2006-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	PR ada/24533
! 	* s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8.
! 
! 2005-12-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
! 
! 	* s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.
! 
! 2005-12-15  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR ada/18659
! 	PR ada/18819
! 	* misc.c (tree_sra_requested): New global.
! 	(gnat_init_options): Detect -ftree-sra.
! 	(gnat_post_options): Enable Tree-SRA only if specifically requested.
! 
! 2005-11-21  Joel Sherrill <joel.sherrill@oarcorp.com>
! 
! 	* socket.c: Add extern int h_errno for rtems since networking header
! 	files are not available at this point in a tool bootstrap. Newlib
! 	only has basic C library header files.
! 
! 2005-11-19  Richard Guenther  <rguenther@suse.de>
! 	Roger Sayle  <roger@eyesopen.com>
! 
! 	PR ada/23717
! 	* misc.c (internal_error_function): Don't use vsprintf to format
! 	the error message text, instead use pp_format_text and the new
! 	pretty printer APIs.  This allows handling of %qs, %w, etc.
! 
! 2005-11-18  Laurent GUERBY  <laurent@guerby.net>
! 
!         PR ada/24857
!         * Makefile.in: Use s-auxdec-empty for RTEMS.
! 
! 2005-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 
! 	PR ada/22333
! 	* trans.c (gnat_gimplify_expr, case ADDR_EXPR): Always make
! 	a temporary if taking the address of something that is neither
! 	reference, declaration, or constant, since the gimplifier
! 	can't handle that case.
! 
! 2005-11-17  Laurent GUERBY  <laurent@guerby.net>
! 
! 	PR ada/24857
! 	* s-auxdec-empty.ads, s-auxdec-empty.adb: New files.
  	
! 2005-11-16  Richard Guenther  <rguenther@suse.de>
  
! 	* Makefile.in: Add EH_MECHANISM=-gcc to s390(x) linux.
! 
! 2005-11-16  Joel Sherrill <joel.sherrill@oarcorp.com>
! 
!         PR ada/24855
!         * raise-gcc.c: Add missing stdarg.h include.
!  
! 2005-11-16  Richard Guenther  <rguenther@suse.de>
! 
! 	* Make-lang.in (ada/decl.o): Add $(EXPR_H) dependency.
! 	(ada/misc.o): Likewise.
! 
! 2005-11-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* g-soccon.ads: Minor reformatting. Update comments.
! 
! 	* gsocket.h: Include <sys/times.h> in the VxWorks case, in order to
! 	gain visibility on the declaration of struct timeval.
! 
! 	* g-soccon-freebsd.ads,
! 	g-soccon-darwin.ads,
! 	g-soccon-tru64.ads,
! 	g-soccon-aix.ads,
! 	g-soccon-irix.ads,
! 	g-soccon-hpux.ads,
! 	g-soccon-solaris.ads,
! 	g-soccon-vms.ads,
! 	g-soccon-mingw.ads,
! 	g-soccon-vxworks.ads (SIZEOF_tv_sec, SIZEOF_tv_usec): New constants.
! 
! 	* g-soccon-hpux-ia64.ads, g-soccon-linux-ppc.ads,
! 	g-soccon-solaris-64.ads, g-soccon-linux-64.ads,
! 	g-soccon-linux-x86.ads: New files.
! 
! 	* g-socthi-mingw.adb: 
! 	(Socket_Error_Message): Remove redundant use of GNAT.Sockets.Constants
! 
! 	* g-socthi-vxworks.ads, g-socthi-vms.ads, g-socthi-mingw.ads
! 	(time_t, suseconds_t): New types constructed to match the tv_sec
! 	and tv_usec fields of C struct timeval.
! 	(Timeval): Construct structure in terms of the new types.
! 	(Host_Errno): New function (imported from socket.c), returns last hosts
! 	database error.
! 
! 	* g-socthi-vxworks.adb:  Add error handling circuitry.
! 
! 	* g-socket.ads, g-socket.adb (To_Timeval): Reflect change of type for
! 	components of struct timeval.
! 	(Get_Host_By_Name, Get_Host_By_Address): Fix error reporting circuitry.
! 	(Check_Selector): In error conditions, clear internal socket sets to
! 	avoid a memory leak.
! 	(Get_Socket_Option, Set_Socket_Option): Support for Multicast_If,
! 	Send_Timeout, Receive_Timeout.
! 
! 	* g-socthi.ads (time_t, suseconds_t): New types constructed to match
! 	the tv_sec and tv_usec fields of C struct timeval.
! 	(Timeval): Construct structure in terms of the new types.
! 	(Host_Errno): New function (imported from socket.c), returns last hosts
! 	database error.
! 
! 	* socket.c (__gnat_get_h_errno): New function to retrieve h_errno, the
! 	hosts database last error code.
! 
! 	* gen-soccon.c: Complete value expansion should not be performed on
! 	TARGET, as it has the form of a math expression, and some components
! 	may be platform-defined macros.
! 	For VxWorks, generate the OK and ERROR values.
! 	New constants giving the sizes of the components of C struct timeval.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	PR ada/18434
! 
! 	* types.ads: Include All_Checks in Suppress_Array
! 
! 	* checks.adb (Check_Needed): Remove kludge for a/=b rewritten as
! 	not(a=b), since we no longer do this rewriting, and hence it is not
! 	needed.
! 	(Elaboration_Checks_Suppressed): Add special casing to
! 	deal with different cases of static and dynamic elaboration checks (all
! 	checks does not count in the first case, but does in the second).
! 	(Expr_Known_Valid): Do not assume that the result of any arbitrary
! 	function call is valid, since this is not the case.
! 	(Ensure_Valid): Do not apply validity check to a real literal
! 	in a universal or fixed context
! 
! 	* exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for
! 	elementary types using the operator in standard. It is cleaner not to
! 	modify the programmers intent, especially in the case of floating-point.
! 	(Rewrite_Comparison): Fix handling of /= (this was always wrong, but
! 	it did not matter because we always rewrote a/=b to not(a=b).
! 	(Expand_Allocator_Expression): For an allocator expression whose nominal
! 	subtype is an unconstrained packed type, convert the expression to its
! 	actual constrained subtype.
! 	Implement warning for <= or >= where < or > not possible
! 	Fix to Vax_Float tests (too early in many routines, causing premature
! 	Vax_Float expansions.
! 
! 	* sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma
! 	to be used with packages and generic packages as well as with
! 	subprograms.
! 	(Suppress): Set All_Checks, but not Elaboration_Check, for case
! 	of pragma Suppress (All_Checks)
! 	(Analyze_Pragma, case Warnings): Implement first argument allowed to be
! 	a string literal for precise control over warnings.
! 	Avoid raise of pragma in case of unrecognized pragma and just return
! 	instead.
! 
! 	* sem_prag.ads: Minor reformatting
! 
! 	* switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;"
! 	with call to new procedure Bad_Switch. Call Scan_Pos with new parameter
! 	Switch. Do not handle any exception.
! 	Include -gnatwx as part of -gnatg (warn on redundant parens)
! 	Allow optional = after -gnatm
! 	(Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no
! 	longer sets Elaboration_Checks.
! 	Code to set warning mode moved to Sem_Warn
! 	so that it can be shared by pragma processing.
! 
! 	* s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if
! 	statement.
! 
! 	* s-taprop-solaris.adb: 
! 	Change some <= to =, to avoid new warning
! 
! 	* a-exexda.adb, prj-proc.adb: 
! 	Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0)
! 	Fix obvious typo (Total_Errors_Detected <= 0 should be = 0)
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_vfpt.adb: Handle /= case
! 	(Expand_Vax_Conversion): Properly recognize Conversion_OK flag
! 	so that we do not get duplicate scaling for fixed point conversions.
! 
! 	* s-vaflop.ads, s-vaflop.adb: (Ne_F): New function
! 
! 2005-11-14  Matthew Gingell  <gingell@adacore.com>
! 
! 	* system-lynxos-ppc.ads, system-lynxos-x86.ads: 
! 	Increase default priority on Lynx from 15 to 17, and meet the Ada
! 	requirement that Default_Priority be ((Priority'First +
! 	Priority'Last) / 2) by increasing the range of Interrupt_Priority.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
! 	mlib-tgt-hpux.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
! 	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb,
! 	mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb,
! 	mlib-tgt-darwin.adb, mlib-tgt.adb, mlib-tgt.ads,
! 	mlib-tgt-lynxos.adb (DLL_Prefix): New function
! 
! 2005-11-14  Doug Rupp  <rupp@adacore.com>
! 
! 	* system-vms.ads, system-vms_64.ads: ADA$GNAT: New exported object in
! 	private part.
! 
! 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-traces-default.adb, s-trafor-default.ads,
! 	s-tratas-default.adb: Fix compilation errors.
! 
! 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
! 
! 	* s-taprop-posix.adb (Initialize_Lock): Destroy mutex attribute before
! 	raising the exception so the memory used is freed.
! 
! 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
! 	(Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used.
! 	(convert_address): Update comments and list of platforms using this.
! 
! 	* s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed,
! 	no longer used.
! 
! 2005-11-14  Pascal Obry  <obry@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 
! 	* gnatdll.adb (Parse_Command_Line): Remove redundant use of
! 	GNAT.Command_Line.
! 
! 	* memroot.adb: Remove redundant with/use clause on
! 	System.Storage_Elements.
! 
! 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* a-except.adb (Zero_Cost_Exceptions): Removed, no longer used.
! 	(builtin_longjmp, Process_Raise_Exceeption): Move setjmp/longjmp
! 	related code to a-exexpr.adb
! 	(Save_Occurrence_And_Private): Move GCC EH related code to
! 	a-exexpr-gcc.adb
! 	(Raise_Current_Excep): Add new variable Id with pragma
!         volatile, to ensure that the variable lives on stack.
! 
! 	* a-exexpr-gcc.adb, raise-gcc.c: New file.
! 
! 	* a-exexpr.adb (builtin_longjmp, Propagate_Exception): Moved here code
! 	from a-except.adb.
! 	Move GCC EH related code to a-exexpr-gcc.adb
! 
! 	* Makefile.in: Add or update g-soccon LIBGNAT pairs for Linux/PPC and
! 	64-bit Solaris
! 	Split the Linux version of g-soccon into separate variants for 32 and 64
! 	bit platforms.
! 	(gnatlib): Use $(AR_FOR_TARGET) and $(RANLIB_FOR_TARGET)
! 	vice $(AR) and $(RANLIB). Remove use of host variable $(RANLIB_FLAGS).
! 	install-gnatlib: Use $(RANLIB_FOR_TARGET) vice $(RANLIB). Remove use
! 	of host variable $(RANLIB_FLAGS).
! 	(alpha64-dec-*vms*): Fix translations for 64 bit compiler.
! 	Code clean up: remove unused/obsolete targets.
! 	(EH_MECHANISM): New variable introduced to differenciate between the
! 	two EH mechanisms statically.
! 	(gnatlib-zcx, gnatlib-sjlj): Force EH_MECHANISM manually.
! 	(LIBGNAT_OBJS): Add raise-gcc.o
! 	(LIBGNAT_TARGET_PAIRS for ppc-vxworks): Use an specialized version of
! 	s-osinte.adb, s-tpopsp.adb, and system.ads for the run time that
! 	supports VxWorks 6 RTPs.
! 	(EXTRA_GNATRTL_NONTASKING_OBJS for ppc-vxworks): Remove the use of
! 	i-vxworks and i-vxwoio from the run time that supports VxWorks 6 RTPs.
! 
! 	* raise.c: Move all GCC EH-related routines to raise-gcc.c
! 
! 2005-11-14  Jose Ruiz  <ruiz@adacore.com>
! 
! 	* s-tassta.adb (Create_Task): Move the code in charge of resetting the
! 	deferral level, when abort is not allowed, to a later stage (the
! 	Task_Wrapper).
! 	(Task_Wrapper): If Abort is not allowed, reset the deferral level since
! 	it will not get changed by the generated code. It was previously done
! 	in Create_Task.
! 
! 2005-11-14  Thomas Quinot  <quinot@adacore.com>
! 	    Olivier Hainque  <hainque@adacore.com>
! 	    Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* decl.c:
! 	Factor common code to build a storage type for an unconstrained object
! 	from a fat or thin pointer type and a constrained object type.
! 	(annotate_value): Handle BIT_AND_EXPR.
! 	(annotate_rep): Don't restrict the back annotation of inherited
! 	components to the type_annotate_only case.
! 	(gnat_to_gnu_entity) <E_Array_Type>: Do not invoke create_type_decl if
! 	we are not defining the type.
! 	<E_Record_Type>: Likewise.
! 	(gnat_to_gnu_entity) <object, renaming>: Adjust comments and structure
! 	to get advantage of the new maybe_stabilize_reference interface, to
! 	ensure that what we reference is indeed stabilized instead of relying
! 	on assumptions on what the stabilizer does.
! 	(gnat_to_gnu_entity) <E_Incomplete_Type>: If the entity is an incomplete
! 	type imported through a limited_with clause, use its non-limited view.
! 	(Has_Stdcall_Convention): New macro, to centralize the Windows vs others
! 	differentiation.
! 	(gnat_to_gnu_entity): Use Has_Stdcall_Convention instead of a spread mix
! 	of #if sections + explicit comparisons of convention identifiers.
! 	(gnat_to_gnu_entity) <E_Variable>: Decrement force_global if necessary
! 	before early-returning for certain types when code generation is
! 	disabled.
! 	(gnat_to_gnu_entity) <object>: Adjust comment attached to the
! 	nullification of gnu_expr we do for objects with address clause and
! 	that we are not defining.
! 	(elaborate_expression_1): Do not create constants when creating
! 	variables needed by the debug info: the dwarf2 writer considers that
! 	CONST_DECLs is used only to represent enumeration constants, and emits
! 	nothing for them.
! 	(gnat_to_gnu_entity) <object>: When turning a non-definition of an
! 	object with an address clause into an indirect reference, drop the
! 	initializing expression.
! 	Include "expr.h".
! 	(STACK_CHECK_BUILTIN): Delete.
! 	(STACK_CHECK_PROBE_INTERVAL): Likewise.
! 	(STACK_CHECK_MAX_FRAME_SIZE): Likewise.
! 	(STACK_CHECK_MAX_VAR_SIZE): Likewise.
! 	(gnat_to_gnu_entity): If gnat_entity is a renaming, do not mark the tree
! 	corresponding to the renamed object as ignored for debugging purposes.
! 
! 	* trans.c (tree_transform, case N_Attribute_Reference, case Attr_Size &
! 	related): For a prefix that is a dereference of a fat or thin pointer,
! 	if there is an actual subtype provided by the front-end, use that
! 	subtype to build an actual type with bounds template.
! 	(tree_transform, case N_Free_Statement): If an Actual_Designated_Subtype
! 	is provided by the front-end, use that subtype to compute the size of
! 	the deallocated object.
! 	(gnat_to_gnu): When adding a statement into an elaboration procedure,
! 	check for a potential violation of a No_Elaboration_Code restriction.
! 	(maybe_stabilize_reference): New function, like gnat_stabilize_reference
! 	with extra arguments to control whether to recurse through non-values
! 	and to let the caller know if the stabilization has succeeded.
! 	(gnat_stabilize_reference): Now a simple wrapper around
! 	maybe_stabilize, for common uses without restriction on lvalues and
! 	without need to check for the success indication.
! 	(gnat_to_gnu, call_to_gnu): Adjust calls to gnat_stabilize_reference, to
! 	pass false instead of 0 as the FORCE argument which is a bool.
! 	(Identifier_to_gnu): Remove checks ensuring that an renamed object
! 	attached to a renaming pointer has been properly stabilized, as no such
! 	object is attached otherwise.
! 	(call_to_gnu): Invoke create_var_decl to create the temporary when the
! 	function uses the "target pointer" return mechanism.
! 	Reinstate conversion of the actual to the type of the formal
! 	parameter before any other specific treatment based on the passing
! 	mechanism. This turns out to be necessary in order for PLACEHOLDER
! 	substitution to work properly when the latter type is unconstrained.
! 
! 	* gigi.h (build_unc_object_type_from_ptr): New subprogram, factoring a
! 	common pattern.
! 	(maybe_stabilize_reference): New function, like gnat_stabilize_reference
! 	with extra arguments to control whether to recurse through non-values
! 	and to let the caller know if the stabilization has succeeded.
! 
! 	* utils2.c (gnat_build_constructor): Only sort the fields for possible
! 	static output of record constructor if all the components are constant.
! 	(gnat_build_constructor): For a record type, sort the list of field
! 	initializers in increasing bit position order.
! 	Factor common code to build a storage type for an unconstrained object
! 	from a fat or thin pointer type and a constrained object type.
! 	(build_unary_op) <ADDR_EXPR>: Always recurse down conversions between
! 	types variants, and process special cases of VIEW_CONVERT expressions
! 	as their NOP_EXPR counterpart to ensure we get to the
! 	CORRESPONDING_VARs associated with CONST_DECls.
! 	(build_binary_op) <MODIFY_EXPR>: Do not strip VIEW_CONVERT_EXPRs
! 	on the right-hand side.
! 
! 	* utils.c (build_unc_object_type_from_ptr): New subprogram, factoring
! 	a common pattern.
! 	(convert) <VIEW_CONVERT_EXPR>: Return the inner operand directly if we
! 	are converting back to its original type.
! 	(convert) <JM input>: Fallthrough regular conversion code instead of
! 	extracting the object if converting to a type variant.
! 	(create_var_decl): When a variable has an initializer requiring code
! 	generation and we are at the top level, check for a potential violation
! 	of a No_Elaboration_Code restriction.
! 	(create_var_decl): call expand_decl for CONST_DECLs, to set MODE, ALIGN
! 	SIZE and SIZE_UNIT which we need for later back-annotations.
! 	* utils.c: (convert) <STRING_CST>: Remove obsolete code.
! 	<VIEW_CONVERT_EXPR>: Do not lift the conversion if the target type
! 	is an unchecked union.
! 	(pushdecl): Set DECL_NO_STATIC_CHAIN on imported nested functions.
! 	(convert) <VIEW_CONVERT_EXPR>: When the types have the same
! 	main variant, just replace the VIEW_CONVERT_EXPR.
! 	<UNION_TYPE>: Revert 2005-03-02 change.
! 
! 	* repinfo.h, repinfo.ads: Add tcode for BIT_AND_EXPR.
! 
! 	* repinfo.adb (Print_Expr, Rep_Value): Handle Bit_And_Expressions.
! 
! 2005-11-14  Matthew Heaney  <heaney@adacore.com>
! 
! 	* a-crbtgo.ads, a-crbtgo.adb, a-coorse.ads, a-coorse.adb, a-convec.ads, 
! 	a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohama.ads, a-cohama.adb, 
! 	a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb, a-cidlli.ads, 
! 	a-cidlli.adb, a-cdlili.ads, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, 
! 	a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
! 	a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorma.adb, a-coorma.adb: 
! 	Compiles against the spec for ordered maps described in sections
! 	A.18.6 of the most recent (August 2005) AI-302 draft.
! 
! 2005-11-14  Olivier Hainque  <hainque@adacore.com>
! 
! 	* cuintp.c (UI_To_gnu): Use a proper type for intermediate computations
! 	to ensure bias adjustments take place when need be and to prevent
! 	occurrences of intermediate overflows.
! 
! 2005-11-14  Matthew Gingell  <gingell@adacore.com>
! 	    Olivier Hainque  <hainque@adacore.com>
! 
! 	* tb-gcc.c (trace_callback): Work around problem with _Unwind_GetIP on
! 	ia64 HP-UX.
! 
! 	* tracebak.c (ia64 configuration): Enable _Unwind_Backtrace driven
! 	tracebacks on ia64 HP-UX and provide explanatory comment.
! 	Enable backtraces on ia64 GNU/Linux.
! 	(x86 configuration): Bump FRAME_LEVEL to 1 to ensure we retrieve a real
! 	base pointer from builtin_frame_address. Adjust BASE_SKIP accordingly.
! 
! 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* rtsfind.ads, exp_util.adb, exp_util.ads, exp_disp.adb, exp_disp.ads,
! 	exp_ch7.adb, sem_ch9.adb, snames.adb, snames.ads,
! 	exp_ch9.adb, exp_ch9.ads, exp_ch6.adb, exp_ch3.adb, exp_ch3.ads,
! 	einfo.ads, einfo.adb: Complete support for Ada 2005 interfaces.
! 
! 	* a-tags.ads, a-tags.adb: Major rewrite and additions to implement
! 	properly new Ada 2005 interfaces (AI-345) and add run-time checks (via
! 	assertions).
! 
! 	* exp_dbug.ads, exp_dbug.adb (Get_Secondary_DT_External_Name): New
! 	subprogram that generates the external name associated with a
! 	secondary dispatch table.
! 	(Get_Secondary_DT_External_Name): New subprogram that generates the
! 	external name associated with a secondary dispatch table.
! 
! 2005-11-14  Emmanuel Briot  <briot@adacore.com>
! 
! 	* xref_lib.adb (Parse_Identifier_Info): It is possible for an entity
! 	line in the ALI file to include both an instantiation reference, and a
! 	returned value.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* clean.adb (Check_Project): Look for Ada code in extending project,
! 	even if Ada is not specified as a language.
! 	Use new function DLL_Prefix for DLL_Name
! 	(Clean_Interface_Copy_Directory): New procedure
! 	(Clean_Library_Directory): New procedure
! 	(Clean_Directory): Remove procedure, no longer used
! 	(Clean_Project): Do not delete any file in an externally built project
! 
! 	* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object
! 	directory of an extending project, even when there are no Ada source
! 	present.
! 	(Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path
! 	(Set_Ada_Paths.Add.Recursive_Add): Ditto
! 
! 	* mlib-prj.adb (Check_Library): For all library projects, get the
! 	library file timestamp.
! 	(Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir
! 	(Build_Library): Use new function DLL_Prefix for the DLL_Name
! 	(Clean): Remove procedure, no longer used
! 	(Ultimate_Extension_Of): New function
! 	(Build_Library): When cleaning the library directory, only remove an
! 	existing library file and any ALI file of a source of the project.
! 	When cleaning the interface copy directory, remove any source that
! 	could be a source of the project.
! 
! 	* prj.ads, prj.adb (Project_Empty): Add values of new components
! 	Library_TS and All_Imported_Projects.
! 	(Project_Empty): Add values for new components of Project_Data:
! 	Library_ALI_Dir and Display_Library_ALI_Dir
! 
! 	* prj-attr.adb: New project level attribute name Library_ALI_Dir
! 
! 	* prj-nmsc.adb (Check_Library_Attributes): Take into account new
! 	attribute Library_ALI_Dir.
! 	(Check_Library_Attributes): The library directory cannot be the same as
! 	any source directory of the project tree.
! 	(Check_Stand_Alone_Library): The interface copy directory cannot be
! 	the same as any source directory of the project tree.
! 
! 	* mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete
! 	all temporary files.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_elab.adb: Change name Is_Package to Is_Package_Or_Generic_Package
! 	(Check_Elab_Call): A call within a protected body is never an
! 	elaboration call, and does not require checking.
! 	(Same_Elaboration_Scope): Take into account protected types for both
! 	entities.
! 	(Activate_Elaborate_All_Desirable): New procedure
! 
! 	* ali.ads, ali.adb: Implement new AD/ED for Elaborate_All/Elaborate
! 	desirable
! 
! 	* binde.adb: Implement new AD/ED for Elaborate_All/Elaborate desirable
! 	(Elab_Error_Msg): Use -da to include internal unit links, not -de.
! 
! 	* lib-writ.ads, lib-writ.adb: 
! 	Implement new AD/ED for Elaborate_All/Elaborate desirable
! 	Use new Elaborate_All_Desirable flag in N_With_Clause node
! 
! 	* sinfo.ads, sinfo.adb (Actual_Designated_Subtype): New attribute for
! 	N_Free_Statement nodes.
! 	Define new class N_Subprogram_Instantiation
! 	Add Elaborate_Desirable flag to N_With_Clause node
! 	Add N_Delay_Statement (covering two kinds of delay)
! 
! 	* debug.adb: Introduce d.f flag for compiler
! 	Add -da switch for binder
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Cyrille Comar  <comar@adacore.com>
! 
! 	* exp_aggr.adb (Build_Record_Aggr_Code): Do not create master entity
! 	for task component, in the case of a limited aggregate. The enclosed
! 	object declaration will create it earlier. Otherwise, in the case of a
! 	nested aggregate, the object may appear in the wrong scope.
! 	(Convert_Aggr_In_Object_Decl): Create a transient scope when needed.
! 	(Gen_Assign): If the component being assigned is an array type and the
! 	expression is itself an aggregate, wrap the assignment in a block to
! 	force finalization actions on the temporary created for each row of the
! 	enclosing object.
! 	(Build_Record_Aggr_Code): Significant rewrite insuring that ctrl
! 	structures are initialized after all discriminants are set so that
! 	they can be accessed even when their offset is dynamic.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 
! 	* sem_attr.adb: Implement Machine_Rounding attribute
! 	(Analyze_Access_Attribute): The access attribute may appear within an
! 	aggregate that has been expanded into a loop.
! 	(Check_Task_Prefix): Add semantic check for attribute 'Callable and
! 	'Terminated whenever the prefix is of a task interface class-wide type.
! 	(Analyze_Attribute): Add semantic check for attribute 'Identity whenever
! 	the prefix is of a task interface class-wide type.
! 
! 	* s-vaflop-vms-alpha.adb: Valid_D, Valid_F, Valid_G: Make Val constant
! 	to avoid warnings.
! 
! 	* s-fatgen.ads, s-fatgen.adb (Machine_Rounding): New function
! 	Remove pragma Inline for [Unaligned_]Valid.
! 	Add comments that Valid routines do not work for Vax_Float
! 
! 	* exp_attr.adb: Implement Machine_Rounding attribute
! 
! 	* snames.h: Add entry for Machine_Rounding attribute
! 
! 2005-11-14  Javier Miranda  <miranda@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 
! 	* exp_attr.adb (Expand_N_Attribute_Reference, cases of Attribute_Size
! 	and related): For a prefix that is an explicit dereference of an
! 	access to unconstrained packed array type, annotate the dereference
! 	with an actual subtype so GIGI can make a correct size computation.
! 	(Expand_N_Attribute_Reference): In case of 'Unchecked_Access and
! 	'Unrestricted_Access, if the designated type is an interface we
! 	add a type conversion to force the displacement of the pointer
! 	to the secondary dispatch table.
! 	Use Universal_Real instead of Long_Long_Float when we need a high
! 	precision float type for the generated code (prevents gratuitous
! 	Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
! 	(Expand_N_Attribute_Reference): Add support for attribute 'Callable and
! 	'Terminated for task interface class-wide objects. Generate a call to
! 	the predefined dispatching routine used to retrieve the _task_id from
! 	a task corresponding record.
! 	(Expand_Fpt_Attribute): Major change to properly handle Vax_Float
! 
! 	* sem_disp.adb: Change name Is_Package to Is_Package_Or_Generic_Package
! 	(Check_Dispatching_Operation): Protect the frontend againts
! 	previously detected errors.
! 
! 	* Makefile.rtl: Add new instantiations of system.fat_gen
! 
! 	* s-fatflt.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads: 
! 	Change name of instantiated package for better consistency
! 	with newly added system.fat_gen instantiations.
! 
! 	* s-filofl.ads, s-fishfl.ads, s-fvadfl.ads, s-fvaffl.ads,
! 	s-fvagfl.ads: New files.
! 
! 2005-11-14  Cyrille Comar  <comar@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_ch5.adb (Expand_N_Assignment_Statement, Tagged_Case): For an
! 	assignment of a value of a tagged type that has been rewritten to a
! 	block statement, it is known by construction that no checks are
! 	necessary for the statements within the block: analyze it with checks
! 	suppressed.
! 	(Expand_N_If_Statement): When killing a dead then-branch in an
! 	if-statement that has elsif_parts, recompute the Current_Value node
! 	for any entity whose value is known from the condition of the first
! 	elsif_part.
! 	(Expand_N_Return_Statement): When returning a mutable record, convert
! 	the return value into its actual subtype in order to help the backend
! 	to return the actual size instead of the maximum. This is another
! 	aftermath of not returning mutable records on the sec-stack anymore.
! 
! 	* sem_ch5.ads, sem_ch5.adb (Analyze_Iteration_Scheme): Minor change to
! 	handling of error msg for suspicious reverse range iteration.
! 	(Check_Possible_Current_Value_Condition): Move declaration from body to
! 	spec, to allow this subprogram to be called from exp_ch5.
! 
! 2005-11-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Append_Array_Traversal): Modify constrained case to
! 	generate a set of nested array aggregates instead of a single flat
! 	aggregate for multi-dimensional arrays.
! 
! 2005-11-14  Pascal Obry  <obry@adacore.com>
! 
! 	* expect.c (__gnat_kill) [Win32]: Fix implementation, the pid returned
! 	by spawnve is a process handle, no need to convert. Add a parameter
! 	close to control wether the process handle must be closed.
! 	(__gnat_waitpid): Fix implementation, the pid returned by spawnve is
! 	a process handle, not need to convert.
! 	(__gnat_kill) [*]: Add dummy parameter close to match the Win32 spec.
! 
! 	* g-expect.adb: (Kill): Document the new close parameter.
! 	(Close): Do not release the process handle in the kill there as
! 	waitpid() is using it.
! 	(Send_Signal): Release the process handle.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_fixd.adb: Use Universal_Real instead of Long_Long_Float when we
! 	need a high precision float type for the generated code (prevents
! 	gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
! 	used).
! 
! 	* exp_imgv.adb: Use Universal_Real instead of Long_Long_Float when we
! 	need a high precision float type for the generated code (prevents
! 	gratuitous Vax_Float stuff when pragma Float_Representation (Vax_Float)
! 	used).
! 	(Expand_Width_Attribute): In configurable run-time, the attribute is not
! 	allowed on non-static enumeration subtypes. Force a load error to emit
! 	the correct diagnostic.
! 
! 2005-11-14  Thomas Quinot  <quinot@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_intr.adb (Expand_Unc_Deallocation): If GIGI needs an actual
! 	subtype to compute the size of the designated object at run-time,
! 	create such a subtype and store it in the Actual_Designated_Subtype
! 	attribute of the N_Free_Statement.
! 	Generate itype for classwide designated object in both cases of
! 	user-specified storage pool: specific and class-wide, not only in the
! 	specific case.
! 	Raise CE when trying to set a not null access type object to null.
! 	(Expand_Dispatching_Constructor_Call): Retrieve subprogram actual with
! 	an explicit loop, because freeze nodes make its position variable.
! 
! 	* sem_intr.adb (Check_Intrinsic_Call): Given warning for freeing not
! 	null object.
! 
! 2005-11-14  Javier Miranda  <miranda@adacore.com>
! 
! 	* exp_strm.adb (Build_Stream_Attr_Profile, Build_Stream_Function,
! 	Build_Stream_Procedure): Add the null-excluding attribute to the first
! 	formal.
! 	This has no semantic meaning under Ada95 mode but it is a
! 	requirement under Ada05 mode.
! 
! 	* par-ch3.adb (P_Access_Definition): Addition of warning message if
! 	the null exclusion is used under Ada95 mode
! 	(P_Null_Exclusion): The qualifier has no semantic meaning in Ada 95.
! 	(P_Access_Definition): Remove assertion that forbids the use of
! 	the null-exclusion feature in Ada95.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* impunit.adb: Exclude container helper units not intended for use by
! 	users.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* freeze.adb (Freeze_Entity): For an access formal that is an access
! 	to subprogram, freeze the anonymous subprogram type at the same time,
! 	to prevent later freezing in the wrong scope, such as the enclosing
! 	subprogram body.
! 	(Freeze_Entity): Freeze the equivalent_type of an access_to_protected_
! 	subprogram whenever available.
! 
! 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	PR ada/23732
! 	* gnatvsn.ads (Library_Version): Bump to 4.1
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* g-debpoo.adb (Set_Valid): Use Integer_Address instead of
! 	Storage_Offset to avoid wrap around causing invalid results.
! 
! 2005-11-14  Pascal Obry  <obry@adacore.com>
! 
! 	* gnatbind.adb (Is_Cross_Compiler): New function returning True for
! 	cross-compiler.
! 	(Scan_Bind_Arg): Fail with an error message if -M option is used
! 	on a native compiler.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 
! 	* gprep.adb: Implement -C switch to scan comments
! 
! 	* scng.adb: Scan comment symbol separately if Replace_In_Comments set
! 
! 	* scans.ads: Comment updates (including new use of Tok_Comment in
! 	preprocessing)
! 
! 	* opt.ads: Add documentation for flags that are used by gprmake,
! 	currently and in the next version of gprmake.
! 	(Verbosity_Level): New variable
! 	Add Replace_In_Comments switch
! 
! 	* vms_data.ads: Add VMS equivalent for new gnatmake switches -vl, -vm
! 	and -vm.
! 	Add /REPLACE_IN_COMMENTS for gnatprep -C switch
! 
! 2005-11-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* g-regpat.adb (Fail): raise Expression_Error including the diagnostic
! 	message, friendlier.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* g-spitbo.adb: (Hash): Rotate by 3 instead of 1
! 
! 2005-11-14  Doug Rupp  <rupp@adacore.com>
! 
! 	* init.c [VMS]: Don't install __gnat_error_handler if DBG$TDBG defined.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* interfac.ads: Change declarations of IEEE float types so that we no
! 	longer need a separate version of this package for VMS.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
! 	internal entity created for the declaration of a child subprogram body
! 	with no spec as coming from source, to generate proper cross-reference
! 	information.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* make.adb (Compile_Sources): Change verbose message to minimum
! 	verbosity level High for "is in an Ada library", "is a read-only
! 	library" and "is an internal library",
! 	(Create_Binder_Mapping_File): Path name of ALI file for library project
! 	must include the library directory, not the object directory.
! 	(Scan_Make_Arg): Make sure that Switch.M.Scan_Make_Switches is called
! 	for new switches -vl, -vm and -vh.
! 	(Verbose_Msg): Add new defaulted parameter Minimum_Verbosity
! 	(Check): Use minimum verbosity Medium for some Verbose_Msg calls
! 	(Compile_Sources): Do not attempt to compile if an ALI file is missing
! 	in a project that is externally built.
! 	(Compute_All_Imported_Projects): New procedure
! 	(Gnatmake): Check if importing libraries should be regenerated because
! 	at least an imported library is more recent.
! 	(Initialize): For each project compute the list of the projects it
! 	imports directly or indirectly.
! 	(Add_Library_Search_Dir): New procedure, used in place of
! 	Add_Lib_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
! 	put in the search paths.
! 	(Add_Source_Search_Dir): New procedure, used in place of
! 	Add_Src_Search_Dir in procedure Scan_Make_Arg so that absolute paths are
! 	put in the search paths.
! 	(Mark_Directory): Resolve the absolute path the directory before marking
! 	it.
! 
! 	* switch-m.adb (Scan_Make_Switches): Replace "raise Bad_Switch;" with
! 	call to new procedure Bad_Switch. Call Scan_Pos with new parameter
! 	Switch. Do not handle any exception.
! 	(Scan_Make_Switches): Increment Ptr for new switches -vl, -vm and -vh
! 	so that the switch is recognized as valid.
! 	(Scan_Make_Switches): Implement new switches -vl, -vm and -vh.
! 
! 2005-11-14  GNAT Script  <nobody@adacore.com>
! 
! 	* Make-lang.in: Makefile automatically updated
! 
! 2005-11-14  Pascal Obry  <obry@adacore.com>
! 
! 	* mdll.adb (Build_Reloc_DLL): Fix parameter handling when a map file is
! 	used.
! 	(Ada_Build_Reloc_DLL): Fix parameter handling when a map file is used.
! 	In both cases the last argument was dropped.
! 
! 2005-11-14  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* namet.h: (Column_Numbe): New type.
! 	(Get_Column_Number): Define to sinput__get_column_number.
! 	(Instantiation): Define to sinput__instantiation.
! 	(Get_Column_Number): Declare.
! 	(Instantiation): Likewise.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* par-ch10.adb (P_Compilation_Unit): Add defenses against junk unit
! 	syntax, which could cause compiler hangs.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-ext.adb: Take into account new environment variable
! 	GPR_PROJECT_PATH. Warn if both GPR_PROJECT_PATH and ADA_PROJECT_PATH
! 	are defined.
! 	(Prj.Ext elaboration): For each directory in the ADA_PROJECT_PATH,
! 	normalize its path name, making it absolute and resolving symbolic
! 	links, and replace the original if resolved path is different.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-part.adb (Create_Virtual_Extending_Project): Put virtual project
! 	into Prj.Tree.Tree_Private_Part.Projects_Htable for GPS.
! 
! 2005-11-14  Emmanuel Briot  <briot@adacore.com>
! 
! 	* prj-pp.adb (Print): Do not output the with statement if the
! 	associated name is empty, which happens for virtual extending projects.
! 	(Print): Preserve the "extends all" attribute when printing the project.
! 
! 	* prj-tree.ads (String_Value_Of): Add comment about returned value for
! 	a virtual extending project.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_aggr.adb (Resolve_Aggregate): An others choice is legal on the
! 	rhs of an assignment even if the type is unconstrained, when the
! 	context is non-expanding.
! 	In an inlined body, if the context type is private,
! 	resolve with its full view, which must be a composite type.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch10.adb: Change name Is_Package to Is_Package_Or_Generic_Package
! 	Do not give obsolescent warning on with of subprogram (since we
! 	diagnose calls)
! 	(Analyze_With_Clause): Add test for obsolescent package
! 	(Install_Context_Clauses): If the unit is the body of a child unit, do
! 	not install twice the private declarations of the parents, to prevent
! 	circular lists of Use_Clauses in a parent.
! 	(Implicit_With_On_Parent): Do add duplicate with_clause on parent when
! 	compiling body of child unit.
! 	Use new class N_Subprogram_Instantiation
! 	(Expand_With_Clause): If this is a private with_clause for a child unit,
! 	appearing in the context of a package declaration, then the implicit
! 	with_clauses generated for parent units are private as well.
! 	(License_Check): Do not generate message if with'ed unit is internal
! 
! 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_ch12.ads, sem_ch12.adb (Map_Entities): Exclude entities whose
! 	names are internal, because they will not have a corresponding partner
! 	in the actual package.
! 	(Analyze_Formal_Package): Move the setting of the formal package spec's
! 	Generic_Parent field so that it occurs prior to analyzing the package,
! 	to allow proper operation of Install_Parent_Private_Declarations.
! 	(Analyze_Package_Instantiation): Set the instantiated package entity's
! 	Package_Instantiation field.
! 	(Get_Package_Instantiation_Node): Move declaration to package spec.
! 	Retrieve the N_Package_Instantiation node when the Package_Instantiation
! 	field is present.
! 	(Check_Generic_Child_Unit): Within an inlined call, the only possible
! 	instantiation is Unchecked_Conversion, for which no parents are needed.
! 	(Inline_Instance_Body): Deinstall and record the use_clauses for all
! 	parent scopes of a scope being removed prior to inlining an instance
! 	body.
! 	(Analyze_Package_Instantiation): Do not perform front-end inlining when
! 	the current context is itself an instance within a non-instance child
! 	unit, to prevent scope stack errors.
! 	(Save_References): If the node is an aggregate that is an actual in a
! 	call, rewrite as a qualified expression to preserve some type
! 	information, to resolve possible ambiguities in the instance.
! 	(Instance_Parent_Unit): New global variable to record the ultimate
! 	parent unit associated with a generic child unit instance (associated
! 	with the existing Parent_Unit_Visible flag).
! 	(type Instance_Env): New component Instance_Parent_Unit for stacking
! 	parents recorded in the global Instance_Parent_Unit.
! 	(Init_Env): Save value of Instance_Parent_Unit in the Instance_Env
! 	stack.
! 	(Install_Spec): Save the parent unit entity in Instance_Parent_Unit when
! 	it's not a top-level unit, and only do this if Instance_Parent_Unit is
! 	not already set. Replace test of Is_Child_Unit with test of parent's
! 	scope against package Standard. Add comments and a ??? comment.
! 	(Remove_Parent): Revise condition for resetting Is_Immediately_Visible
! 	on a child instance parent to test that the parent equals
! 	Instance_Parent rather than simply checking that the unit is not a
! 	child unit.
! 	(Restore_Env): Restore value of Instance_Parent_Unit from Instance_Env.
! 	(Validate_Derived_Interface_Type_Instance): Verify that all ancestors of
! 	a formal interface are ancestors of the corresponding actual.
! 	(Validate_Formal_Interface_Type): Additional legality checks.
! 	(Analyze_Formal_Derived_Interface_Type): New procedure to handle formal
! 	interface types with ancestors.
! 	(Analyze_Formal_Package): If formal is a renaming, use renamed entity
! 	to diagnose attempts to use generic within its own declaration.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_ch3.ads, sem_ch3.adb (Build_Discriminal): Add link to original
! 	discriminant.
! 	(Build_Private_Derived_Type): The entity of the created full view of the
! 	derived type does not come from source. If after installing the private
! 	declarations of the parent scope the parent is still private, use its
! 	full view to construct the full declaration of the derived type.
! 	(Build_Derived_Record_Type): Relax the condition that controls the
! 	execution of the check that verifies that the partial view and
! 	the full view agree in the set of implemented interfaces. In
! 	addition, this test now only takes into account the progenitors.
! 	(Derive_Interface_Subprograms): No need to derive subprograms
! 	of ancestors that are interfaces.
! 	(Derive_Subprograms): Remove formal No_Predefined_Prims and the
! 	associated code.
! 	Change name Is_Package to Is_Package_Or_Generic_Package
! 	(Complete_Subprograms_Derivation): Handle the case in which the full
! 	view is a transitive derivation of the ancestor of the partial view.
! 	(Process_Full_View): Rename local subprogram Find_Interface_In_
! 	Descendant to Find_Ancestor_Interface to leave the code more clear.
! 	Remove wrong code that avoids the generation of an error message
! 	when the immediate ancestor of the partial view is an interface.
! 	In addition some minor reorganization of the code has been done to
! 	leave it more clear.
! 	(Analyze_Type_Declaration): If type has previous incomplete tagged
! 	partial view, inherit properly its primitive operations.
! 	(Collect_Interfaces): Make public, for analysis of formal
! 	interfaces.
! 	(Analyze_Interface_Declaration): New procedure for use for regular and
! 	formal interface declarations.
! 	(Build_Derived_Record_Type): Add support for private types to the code
! 	that checks if a tagged type implements abstract interfaces.
! 	(Check_Aliased_Component_Type): The test applies in the spec of an
! 	instance as well.
! 	(Access_Type_Declaration): Clean up declaration of malformed type
! 	declared as an access to its own classwide type, to prevent cascaded
! 	crash.
! 	(Collect_Interfaces): For private extensions and for derived task types
! 	and derived protected types, the parent may be an interface that must
! 	be included in the interface list.
! 	(Access_Definition): If the designated type is an interface that may
! 	contain tasks, create Master_Id for it before analyzing the expression
! 	of the declaration, which may be an allocator.
! 	(Record_Type_Declaration): Set properly the interface kind, for use
! 	in allocators, the creation of master id's for task interfaces, etc.
! 
! 2005-11-14  Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch6.adb (Check_Conformance): The null-exclusion feature can be
! 	omitted in case of stream attribute subprograms.
! 	(Check_Inline_Pragma): Handle Inline and Inline_Always pragmas that
! 	appear immediately after a subprogram body, when there is no previous
! 	subprogram declaration.
! 	Change name Is_Package to Is_Package_Or_Generic_Package
! 	(Process_Formals): A non null qualifier on a non null named access
! 	type is not an error, and is a warning only if Redundant_Constructs
! 	are flagged.
! 
! 2005-11-14  Gary Dismukes  <dismukes@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch7.adb (Install_Parent_Private_Declarations): New procedure
! 	nested within Analyze_Package_Specification to install the private
! 	declarations and use clauses within each of the parent units of a
! 	package instance of a generic child package.
! 	(Analyze_Package_Specification): When entering a private part of a
! 	package associated with a generic instance or formal package, the
! 	private declarations of the parent must be installed (by calling new
! 	procedure Install_Parent_Private_Declarations).
! 	Change name Is_Package to Is_Package_Or_Generic_Package
! 	(Preserve_Full_Attributes): For a synchronized type, the corresponding
! 	record is absent in a generic context, which does not indicate a
! 	compiler error.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic context, do
! 	not try to rewrite a renamed stream attribute, because the operations
! 	on the type may not have been generated.
! 	Handle properly a renaming_as_body generated for a stream operation
! 	whose default is abstract because the object type itself is abstract.
! 	(Find_Type): If the type is incomplete and appears as the prefix of a
! 	'Class reference, it is tagged, and its list of primitive operations
! 	must be initialized properly.
! 	(Chain_Use_Clauses): When chaining the use clauses that appear in the
! 	private declaration of a parent unit, prior to compiling the private
! 	part of a child unit, find on the scope stack the proper parent entity
! 	on which to link the use clause.
! 	(Note_Redundant_Use): Emit a warning when a redundant use clause is
! 	detected.
! 	(Analyze_Object_Renaming): An attribute reference is not a legal object
! 	if it is not a function call.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_eval.adb: Implement d.f flag
! 	(Subtype_Statically_Match): A generic actual type has unknown
! 	discriminants when the corresponding actual has a similar partial view.
! 	If the routine is called to validate the signature of an inherited
! 	operation in a child instance, the generic actual matches the full view,
! 
! 2005-11-14  Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_res.adb (Resolve_Call): Provide a better error message whenever
! 	a procedure call is used as a select statement trigger and is not an
! 	entry renaming or a primitive of a limited interface.
! 	(Valid_Conversion): If the operand has a single interpretation do not
! 	remove address operations.
! 	(Check_Infinite_Recursion): Skip freeze nodes when looking for a raise
! 	statement to inhibit warning.
! 	(Resolve_Unary_Op): Do not produce a warning when
! 	processing an expression of the form -(A mod B)
! 	Use Universal_Real instead of Long_Long_Float when we need a high
! 	precision float type for the generated code (prevents gratuitous
! 	Vax_Float stuff when pragma Float_Representation (Vax_Float) used)
! 	(Resolve_Concatenation_Arg): Improve error message when argument is an
! 	ambiguous call to a function that returns an array.
! 	(Make_Call_Into_Operator, Operand_Type_In_Scope): Do not check that
! 	there is an implicit operator in the given scope if we are within an
! 	instance: legality check has been performed on the generic.
! 	(Resolve_Unary_Op): Apply warnings checks on argument of Abs operator
! 	after resolving operand, to avoid false warnings on overloaded calls.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	PR ada/15604
! 
! 	* sem_type.adb (Covers): In an inlined body, a composite type matches
! 	a private type whose full view is a composite type.
! 	(Interface_Present_In_Ancestor): Protect the frontend against
! 	previously detected errors to ensure that its compilation
! 	with assertions enabled gives the same output that its
! 	compilation without assertions.
! 	(Interface_Present_In_Ancestor): Add support for private types.
! 	Change name In_Actual to In_Generic_Actual (clean up)
! 	(Disambiguate): New predicate In_Actual, to recognize expressions that
! 	appear in the renaming declaration generated for generic actuals, and
! 	which must be resolved in the outer context.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_util.ads, sem_util.adb: Change name Is_Package to
! 	Is_Package_Or_Generic_Package.
! 	(Check_Obsolescent): New procedure.
! 	(Set_Is_Public): Remove obsolete junk test.
! 	(Set_Public_Status): Do not set Is_Public on an object whose declaration
! 	occurs within a handled_sequence_of_statemets.
! 	(Is_Controlling_Limited_Procedure): Factor some of the logic, account
! 	for a parameterless procedure.
! 	(Enter_Name): Recognize renaming declarations created for private
! 	component of a protected type within protected operations, so that
! 	the source name of the component can be used in the debugger.
! 
! 2005-11-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_warn.ads, sem_warn.adb (Publicly_Referenceable): Generic formals
! 	of a generic subprogram are not visible outside the body.
! 	(Set_Warning_Switch): New procedure (code to set warning mode moved
! 	here from Switch.C so that it can be shared by pragma processing.
! 	(Check_References): Special case warning for non-modified non-imported
! 	volatile objects.
! 	* par-prag.adb: Modify processing of pragma Warnings to accomodate new
! 	form with a string literal argument
! 
! 2005-11-14  Javier Miranda  <miranda@adacore.com>
! 
! 	* s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the
! 	anonymous access.
! 	(Write): Addition of "not null" to the anonymous access.
! 	(Read): Addition of "not null" to the anonymous access.
! 	(Write): Addition of "not null" to the anonymous access.
! 
! 	* s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F,
! 	I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU,
! 	I_SU, I_U, I_WC): Addition of "not null" to the anonymous access.
! 	(W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU,
! 	W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of
! 	"not null" to the anonymous access.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* s-stoele.adb: Fix code for Address mod Storage_Offset for negative
! 	offset values
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* switch.adb (Bad_Switch): New procedure
! 	(Scan_Nat, Scan_Pos): Directly call Osint.Fail with the appropriate
! 	message when in error.
! 
! 	* switch.ads (Bad_Switch, Bad_Switch_Value, Missing_Switch_Value,
! 	Too_Many_Output_Files): Remove declarations, no longer used.
! 	(Scan_Nat): New parameter Switch
! 	(Scan_Pos): Ditto
! 	(Bad_Switch): New procedure
! 
! 	* switch-b.adb (Scan_Binder_Switches): Replace "raise Bad_Switch;"
! 	with call to new procedure Bad_Switch. Call Scan_Pos and Scan_Natwith
! 	new parameter Switch. Replace "raise Too_Many_Output_Files;" with call
! 	to Osint.Fail. Do not handle any exception.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* tempdir.adb (Tempdir): Do not use environment variable TMPDIR if it
! 	designates a non existent directory.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* xgnatugn.adb: Replace invalid membership test by 'Valid
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* makegpr.adb (Gprmake): Do not attempt to build the global archive if
! 	there is no object directory.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* usage.adb: Minor adjustment to output format, use nn instead of nnn
! 	(so that -gnateInnn does not run into next column)
! 
! 2005-11-14  Ed Falis  <falis@adacore.com>
! 
! 	* s-bitops.adb (Bits_Array): corrected comment: "unconstrained" =>
! 	"constrained"
! 
! 2005-11-14  Cyrille Comar  <comar@adacore.com>
! 
! 	* s-chepoo.ads: Add comments on Dereference.
! 	Remove unnecessary inherited abstract primitives.
! 	Cosmetic cleanup.
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_cat.ads (Validate_Access_Type_Declaration): Remove declaration
! 	node parameter, not needed, since it is available as Declaration_Node.
! 
! 2005-11-14  Geert Bosch  <bosch@adacore.com>
! 
! 	* s-exnllf.adb (Exn_LLF): Fix comment to be more precise and
! 	grammatically correct.
! 
! 2005-11-14  Vincent Celier  <celier@adacore.com>
! 
! 	* s-fileio.ads: Correct spelling error in comment
! 
! 2005-11-14  Cyrille Comar  <comar@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 	    Ben Brosgol  <brosgol@adacore.com>
! 	    Jose Ruiz  <ruiz@adacore.com>
! 	    Pascal Obry  <obry@adacore.com>
! 
! 	* gnat_ugn.texi: 
! 	Document that -fstack-check is needed for strict compliance with the
! 	Ada 95 Reference Manual.
! 	Correct reference to VAX systems to meet HP guidelines
! 	Add documentation for new gnatmake switches -vl, -vm and -vh
! 	Replace DEC Ada by HP Ada
! 	Replace DIGITAL by HP
! 	Remove empty section on tools in compatibility section
! 	Clarify the Windows convention semantics.
! 	Document the Win32 calling convention.
! 	The Stdcall, Win32 and DLL convention are synonyms.
! 	Add a note in -gnatR description about zero size record components
! 	Note on new >= and <= warnings for -gnatwc
! 	Document that equal sign after -gnatm is optional.
! 	Note that strip is working fine on DLL built with a Library
! 	Project. The restriction apply only to DLL built with gnatdll.
! 	Update section about the way to debug a DLL.
! 	Update information about the DLL convention.
! 	Document -C switch for gnatprep
! 	Document new attribute Library_ALI_Dir
! 	Update elaboration doc to include implicit Elaborate pragmas now
! 	generated for subprogram instantiations.
! 	Document limitation on executable names that include spaces for --GCC,
! 	--GNATBIND, and --GNATLINK switches.
! 	Document that -w causes -gnatws to be added at start of gcc switches
! 
! 	* gnat_rm.texi: Document that -mieee is needed for generating infinite
! 	and NaN values in case of overflow on machines that are not fully
! 	compliant with the IEEE floating-point standard.
! 	Create a section describing the set of compiler options needed for
! 	strict compliance with the Ada 95 Reference Manual.
! 	Add documentation for pragma Obsolescent applied to a package
! 	Clarify potential issues of mixed language programs related to the
! 	I/O buffering enabling in the elaboration of the GNAT runtime.
! 	Add extra documentation for pragma Restrictions (No_Elaboration_Code)
! 	This documentation only patch adds extra documentsion for pragma
! 	Restrictions (No_Elaboration_Code), explaining why it is not possible
! 	to document this restriction in terms of allowed source constructs.
! 	Document string literal form of pragma Warnings
! 	Document new attribute Library_ALI_Dir
! 	Add documentation on stable attributes in project files that was missing
! 
! 	* gnat-style.texi: Indicate that paragraphs within a single comment
! 	should be separated by empty comment lines
! 
! 	* ug_words: Added replacements for -gnat95 and -gnat05 (/95 and
! 	/05 respectively)
! 
! 	* bindusg.adb: Minor cleanup, put -m before -M for consistency
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-secain.adb, a-slcain.adb, a-shcain.adb, a-chtgke.ads, a-chtgke.adb,
! 	a-stwiha.adb, a-strhas.adb, a-chzla1.ads, a-chzla9.ads, a-stzbou.adb,
! 	a-stzbou.ads, a-stzfix.adb, a-stzhas.adb, a-stzmap.adb, a-stzmap.ads,
! 	a-stzsea.adb, a-stzsea.ads, a-stzsup.adb, a-stzsup.ads, a-stzunb.adb,
! 	a-stzunb.ads, a-szuzha.adb, a-szuzha.ads, a-szuzti.adb, a-szuzti.ads,
! 	a-ztcoau.adb, a-ztcoau.ads, a-ztcoio.adb, a-ztcstr.adb, a-ztcstr.ads,
! 	a-ztdeau.adb, a-ztdeau.ads, a-ztdeio.adb, a-ztdeio.ads, a-ztedit.adb,
! 	a-ztedit.ads, a-ztenau.ads, a-ztenio.adb, a-ztenio.ads, a-ztexio.adb,
! 	a-ztexio.ads, a-ztfiio.adb, a-ztfiio.ads, a-ztflau.adb, a-ztflau.ads,
! 	a-ztflio.adb, a-ztflio.ads, a-ztgeau.adb, a-ztgeau.ads, a-ztinau.adb,
! 	a-ztinau.ads, a-ztinio.adb, a-ztmoau.ads, a-ztmoio.adb, a-ztmoio.ads,
! 	a-zttest.adb, g-enblsp-vms-alpha.adb, g-enblsp-vms-alpha.adb,
! 	g-enblsp-vms-ia64.adb, g-enblsp-vms-ia64.adb, system-linux-hppa.ads,
! 	a-chacon.adb, a-chacon.ads, a-wichun.adb, a-wichun.ads, a-zchuni.adb,
! 	a-zchuni.ads, g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb,
! 	system-hpux-ia64.ads, g-soccon-unixware.ads, g-soliop-unixware.ads,
! 	g-soccon-interix.ads, g-soliop-solaris.ads, g-eacodu-vms.adb,
! 	g-expect-vms.adb, g-socthi-vms.adb, g-soliop-mingw.ads,
! 	a-intnam-unixware.ads, a-intnam-lynxos.ads, a-intnam-tru64.ads,
! 	a-intnam-aix.ads, a-intnam-linux.ads, a-intnam-linux.ads,
! 	a-intnam-dummy.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
! 	a-intnam-solaris.ads, a-calend-vms.adb, a-calend-vms.ads,
! 	a-intnam-vms.ads, a-calend-mingw.adb, a-intnam-mingw.ads,
! 	a-intnam-vxworks.ads, a-numaux-vxworks.ads, system-unixware.ads,
! 	system-linux-ia64.ads, a-intnam-freebsd.ads, system-freebsd-x86.ads,
! 	system-lynxos-ppc.ads, system-linux-x86_64.ads, a-stunha.adb,
! 	a-cgaaso.ads, a-cgaaso.adb, a-chtgop.adb, a-cgcaso.adb, a-cgarso.adb,
! 	a-cohata.ads, a-crbtgk.adb, a-crbltr.ads, a-coprnu.adb, a-rbtgso.adb,
! 	a-intnam-darwin.ads, system-darwin-ppc.ads, gprmake.adb, makegpr.ads,
! 	system-tru64.ads, system-aix.ads, system-solaris-x86.ads,
! 	system-irix-o32.ads, s-interr-sigaction.adb, system-irix-n32.ads,
! 	s-parame-mingw.adb, system-hpux.ads, s-traceb-hpux.adb,
! 	system-linux-x86.ads, s-inmaop-dummy.adb, system-os2.ads,
! 	system-interix.ads, system-solaris-sparc.ads,
! 	system-solaris-sparcv9.ads, s-inmaop-vms.adb,
! 	s-mastop-vms.adb, expander.adb, expander.ads, s-gloloc-mingw.adb,
! 	system-mingw.ads, system-vms-zcx.ads, s-osinte-fsu.adb,
! 	s-traceb-mastop.adb, a-exextr.adb, a-exstat.adb, a-filico.ads,
! 	a-finali.ads, a-interr.ads, a-intsig.adb, a-intsig.ads,
! 	a-except.ads, a-numaux-x86.ads, a-astaco.adb, a-calend.adb,
! 	a-calend.ads, a-chahan.adb, a-chahan.ads, a-chlat9.ads,
! 	a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads,
! 	a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads,
! 	a-elchha.adb, a-decima.adb, a-decima.ads, a-diocst.ads,
! 	a-direio.adb, a-direio.ads, a-excach.adb, a-excach.adb,
! 	a-exctra.ads, ali-util.adb, a-ngcefu.adb, a-ngcoty.adb,
! 	a-ngcoty.ads, a-nudira.adb, a-nudira.ads, a-nuflra.adb,
! 	a-numaux.ads, a-reatim.ads, a-sequio.adb, a-sequio.ads,
! 	a-siocst.ads, a-ssicst.ads, a-stmaco.ads, a-storio.adb,
! 	a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb,
! 	a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads,
! 	a-strsup.adb, a-strsup.ads, a-strunb.adb, a-strunb.ads,
! 	a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb,
! 	a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwisu.adb,
! 	a-stwisu.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb,
! 	a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads,
! 	a-sytaco.adb, a-sytaco.ads, a-tasatt.adb, a-taside.adb,
! 	a-taside.ads, a-teioed.adb, a-textio.adb, a-textio.ads,
! 	a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-tideau.adb,
! 	a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
! 	a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb,
! 	a-tiinio.adb, a-timoau.adb, a-timoio.adb, a-timoio.ads,
! 	a-tiocst.ads, a-titest.adb, atree.adb, a-witeio.adb,
! 	a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb,
! 	a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtedit.adb,
! 	a-wtedit.ads, a-wtenau.adb, a-wtenio.adb, a-wtfiio.adb,
! 	a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
! 	a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, back_end.adb,
! 	bindgen.adb, butil.adb, butil.ads, checks.ads, cio.c, comperr.adb,
! 	csets.ads, cstand.adb, debug.ads, elists.ads, errno.c, errout.adb,
! 	errout.ads, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads,
! 	errutil.ads, err_vars.ads, eval_fat.adb, exp_ch11.adb, exp_ch11.ads,
! 	exp_ch2.adb, exp_ch7.ads, exp_imgv.ads, exp_pakd.adb, exp_prag.adb,
! 	exp_prag.ads, exp_tss.adb, exp_tss.ads, exp_vfpt.ads, fe.h, fmap.adb,
! 	freeze.ads, frontend.adb, frontend.ads, g-arrspl.adb, g-arrspl.ads,
! 	g-awk.adb, g-awk.ads, g-boumai.ads, g-calend.adb, g-calend.ads,
! 	g-catiio.adb, g-comlin.adb, g-comlin.ads, g-comlin.ads, g-comlin.ads,
! 	g-comver.adb, g-crc32.adb, g-crc32.ads, g-ctrl_c.ads, g-curexc.ads,
! 	g-debpoo.ads, g-debuti.adb, g-diopit.adb, g-diopit.ads, g-dirope.adb,
! 	g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-excact.adb, g-excact.ads,
! 	g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.ads, g-flocon.ads,
! 	g-hesorg.ads, g-io.adb, g-locfil.ads, g-md5.adb, g-md5.ads, g-md5.ads,
! 	g-moreex.adb, g-signal.ads, g-signal.adb, gnatbind.ads, gnatchop.adb,
! 	gnatcmd.adb, gnatfind.adb, gnatlbr.adb, gnatmake.ads, gnatmem.adb,
! 	gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, g-os_lib.adb,
! 	g-os_lib.ads, g-pehage.adb, g-pehage.ads, gprep.ads, g-regexp.adb,
! 	g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.ads, g-semaph.adb,
! 	g-socthi.adb, g-soliop.ads, g-spipat.adb, g-spipat.ads, g-sptabo.ads,
! 	g-sptain.ads, g-sptavs.ads, g-string.ads, g-tasloc.adb, g-tasloc.ads,
! 	g-trasym.adb, g-trasym.ads, i-fortra.adb, i-fortra.ads, inline.adb,
! 	layout.adb, live.adb, make.ads, makeutl.ads, makeutl.adb, mdll-fil.adb,
! 	mdll-fil.ads, mdll-utl.ads, memroot.ads, memtrack.adb, mlib.ads,
! 	mlib-fil.adb, mlib-fil.ads, mlib-prj.ads, mlib-utl.adb, mlib-utl.ads,
! 	nlists.adb, nlists.ads, osint.adb, osint.ads, osint-c.adb, osint-l.adb,
! 	osint-l.ads, osint-m.ads, output.adb, par.adb, par.adb, par.ads,
! 	par-ch11.adb, par-ch12.adb, par-ch2.adb, par-ch4.adb, par-ch5.adb,
! 	par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb,
! 	par-tchk.adb, prep.adb, prepcomp.adb, prepcomp.ads, prj-attr.ads,
! 	prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.ads, prj-err.ads,
! 	prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.ads, prj-pars.adb,
! 	prj-pars.ads, prj-part.ads, prj-pp.ads, prj-proc.ads, prj-strt.adb,
! 	prj-strt.ads, prj-tree.adb, prj-util.adb, prj-util.ads, rtsfind.adb,
! 	sem.adb, sem.ads, sem_case.adb, sem_case.ads, sem_ch11.adb,
! 	sem_ch4.adb, sem_ch6.ads, sem_ch7.ads, sem_dist.ads, sem_elab.ads,
! 	sem_elim.ads, sem_eval.ads, sem_intr.ads, sem_maps.adb, sem_maps.ads,
! 	sem_maps.ads, sem_res.ads, sem_type.ads, sfn_scan.adb, sfn_scan.ads,
! 	s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, sinput.adb,
! 	sinput.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads,
! 	s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb,
! 	s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads,
! 	s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb,
! 	s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads,
! 	s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb,
! 	s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads,
! 	s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb,
! 	s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads,
! 	s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb,
! 	s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads,
! 	s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb,
! 	s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads,
! 	s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb,
! 	s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads,
! 	s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb,
! 	s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads,
! 	s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb,
! 	s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads,
! 	s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb,
! 	s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads,
! 	s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.adb, s-pack60.ads,
! 	s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb,
! 	s-pack63.ads, s-parint.adb, s-parint.adb, s-parint.ads, sprint.ads,
! 	s-purexc.ads, s-restri.ads, s-restri.adb, s-scaval.adb, s-scaval.ads,
! 	s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, stand.ads,
! 	s-tasuti.adb, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads,
! 	styleg.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads,
! 	s-valdec.adb, s-valdec.ads, s-valint.adb, s-valint.ads, s-valint.ads,
! 	s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb,
! 	s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads,
! 	s-valuti.adb, s-valuti.ads, s-valwch.ads, s-veboop.adb, s-veboop.ads,
! 	s-vercon.adb, s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads,
! 	s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.adb, s-wchstw.ads,
! 	s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb,
! 	s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads,
! 	s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb,
! 	s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, symbols.adb, symbols.ads,
! 	table.ads, targparm.adb, targparm.ads, tb-alvms.c, tb-alvxw.c,
! 	tbuild.adb, tree_io.ads, treepr.adb, treeprs.adt, ttypef.ads,
! 	ttypes.ads, types.adb, uintp.adb, uintp.ads, uname.ads, urealp.ads,
! 	usage.ads, validsw.ads, vxaddr2line.adb, widechar.adb, widechar.ads,
! 	xeinfo.adb, xnmake.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads,
! 	xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb,
! 	a-dirval.ads, a-dirval.adb, a-dirval-mingw.adb, a-direct.ads,
! 	a-direct.adb, indepsw.ads, prj-attr-pm.ads, system-linux-ppc.ads,
! 	a-numaux-darwin.ads, a-numaux-darwin.adb,
! 	a-swuwha.ads, a-stunha.ads: Minor reformatting
! 
! 2005-11-14  Robert Dewar  <dewar@adacore.com>
! 
! 	PR ada/18434
! 	* osint-m.adb: Add pragma Elaborate_All for Osint
! 
! 2005-11-10  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR ada/23995
! 	* trans.c (call_to_gnu): Restore statement lost in translation.
! 
! 2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* init.c: Use the Linux-specific section for the IA-64/Linux target.
! 	(__gnat_adjust_context_for_raise): Add conditional code so that the
! 	IA-64 is also supported.
! 
! 2005-11-03  James E Wilson  <wilson@specifix.com>
! 
! 	PR ada/23427
! 	* trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
! 	TREE_OVERFLOW check.
! 
! 2005-09-21  Olivier Hainque  <hainque@adacore.com>
! 
! 	PR ada/22418
! 	* decl.c (maybe_pad_type): Use proper bitsizetype for XVZ objects,
! 	as we create them to store a size in bits.
! 
! 2005-10-21  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	PR ada/21937
! 	PR ada/22328
! 	PR ada/22381
! 	PR ada/22383
! 	PR ada/22419
! 	PR ada/22420
! 	* utils2.c (build_return_expr): New helper function.
! 	* gigi.h (build_return_expr): Declare it.
! 	* trans.c (Subprogram_Body_to_gnu): Use build_return_expr instead
! 	of manually building the RETURN_EXPR tree.
! 	(call_to_gnu): Pass MODIFY_EXPR through build_binary_op.
! 	(gnat_to_gnu) <N_Return_Statement>: Pass MODIFY_EXPR through
! 	build_binary_op for the "target pointer" case.  Use build_return_expr
! 	instead of manually building the RETURN_EXPR tree.
! 
! 2005-09-16  Laurent GUERBY  <laurent@guerby.net>
! 
! 	PR ada/23788
! 	* s-tpinop.ads: Make this unit Preelaborate.
! 
! 2005-09-16  Andreas Jaeger  <aj@suse.de>
! 
! 	* socket.c: Add string.h for memcpy.
! 
! 2005-09-05  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* dec-io.ads, dec-io.adb: Removed, no longer used.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* a-calend-mingw.adb: Add call to OS_Primitives.Initialize;
! 
! 	* s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
! 	s-taprop-os2.adb, s-taprop-irix-athread.adb, s-taprop-linux.adb,
! 	s-taprop-hpux-dce.adb, s-taprop-irix.adb, s-taprop-tru64.adb,
! 	s-taprop-lynxos.adb: Move with clauses outside Warnings Off now that
! 	dependent units are Preelaborate.
! 	(Initialize): Call Interrupt_Managemeent.Initialize and
! 	OS_Primitives.Initialize to ensure proper initialization of this unit.
! 	Remove use of System.Soft_Links
! 	Make this unit Preelaborate.
! 
! 	* s-stache.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
! 	s-taspri-vms.ads, s-tasinf-solaris.ads, s-taspri-os2.ads,
! 	s-taspri-lynxos.ads, s-taspri-hpux-dce.ads, s-taspri-tru64.ads,
! 	s-tasinf-tru64.ads, s-tasinf-irix.ads, s-tasinf-irix-athread.ads,
! 	s-proinf-irix-athread.adb, s-proinf-irix-athread.ads,
! 	s-tratas.ads, s-tasinf.ads: Minor reformatting.
! 	Add pragma Preelaborate, since these packages are suitable for this
! 	categorization.
! 	Update comments.
! 
! 	* s-traent-vms.ads, s-intman-dummy.adb,
! 	s-taprop-dummy.adb: Make this unit Preelaborate.
! 
! 	* s-osprim-vxworks.adb, s-osprim-vms.adb, s-osprim-vms.ads,
! 	s-osprim-mingw.adb, s-intman-vxworks.ads, s-intman-vxworks.adb,
! 	s-intman-vms.adb, s-intman-mingw.adb, s-intman-vms.ads,
! 	s-osprim-unix.adb, s-osprim-os2.adb, s-osprim-solaris.adb,
! 	s-intman-solaris.adb, s-intman-irix-athread.adb,
! 	s-intman-irix.adb: Mark this unit Preelaborate.
! 	(Initialize): New procedure.
! 	Update comments.
! 
! 	* s-taspri-linux.ads: Removed.
! 
! 	* s-tpopsp-solaris.adb (Initialize): Create the key in this procedure,
! 	as done by other implementations (e.g. posix).
! 
! 	* s-taprop.ads (Timed_Delay): Update spec since the caller now is
! 	responsible for deferring abort.
! 	Mark this unit Preelaborate.
! 
! 	* s-taprob.adb, s-tarest.adb: Call System.Tasking.Initialize to ensure
! 	proper initialization of the tasking run-time.
! 
! 	* s-tasdeb.ads: Mark this unit Preelaborate.
! 	(Known_Tasks): Add explicit default value to avoid elaboration code.
! 
! 	* s-inmaop-vms.adb (Elaboration code): Add call to
! 	Interrupt_Management.Initialize since the elaboration code depends on
! 	proper initialization of this package.
! 
! 	* s-intman.ads, s-inmaop-posix.adb, s-intman-posix.adb,
! 	s-osprim.ads, s-taprop-posix.adb, s-taspri-posix.ads,
! 	s-osprim-posix.adb: Make this unit Preelaborate.
! 
! 	* a-calend.adb: Add call to OS_Primitives.Initialize
! 
! 	* a-elchha.adb: Update use of Except.Id.Full_Name.
! 	Minor reformatting.
! 	Remove use of Ada.Exceptions.Traceback when possible, cleaner.
! 
! 	* a-dynpri.adb, a-sytaco.adb, a-sytaco.ads:
! 	Move with clauses outside Warnings Off now that dependent units are
! 	Preelaborate.
! 	Use raise xxx with "..."; Ada 2005 form.
! 
! 	* a-taside.ads, a-taside.adb:
! 	Remove some dependencies, to make it easier to make this unit truly
! 	Preelaborate.
! 	Rewrite some code to be conformant with Preelaborate rules.
! 
! 	* g-os_lib.adb: Remove non-preelaborate code so that this unit can be
! 	marked Preelaborate in the future.
! 
! 	* s-proinf.ads, g-string.ads, s-auxdec.ads, s-auxdec-vms_64.ads: Make
! 	these units Preelaborate.
! 
! 	* s-exctab.adb: Update use of Except.Id.Full_Name.
! 
! 	* s-soflin.ads, s-soflin.adb: Mark this unit Preelaborate_05.
! 	(Set_Exc_Stack_Addr_Soft, Get_Exc_Stack_Addr_NT, Set_Exc_Stack_Addr_NT,
! 	Set_Exc_Stack_Addr): Removed, no longer used.
! 	Remove reference to *Machine_State_Addr*, no longer needed.
! 
! 	* s-stalib.ads: Mark this unit as Preelaborate[_05].
! 	(Exception_Data): Full_Name is now a System.Address so that this unit
! 	can be made Preelaborate.
! 	Clean up/simplify code thanks to Full_Name being a System.Address.
! 	Remove obsolete pragma Suppress (All_Checks), no longer needed.
! 
! 	* s-taskin.ads, s-taskin.adb:
! 	Move with clauses outside Warnings Off now that dependent units are
! 	Preelaborate.
! 	Make this unit Preelaborate.
! 	(Initialize): New proceduure, replace elaboration code and makes the
! 	set up of the tasking run-time cleaner.
! 	(Detect_Blocking): Now a function instead of a deferred boolean, to
! 	obey Preelaborate rules.
! 
! 	* s-tassta.adb (Finalize_Global_Tasks): Remove Get/Set_Exc_Stack_Addr
! 	soft links, no longer used.
! 
! 	* s-traces.ads, s-traent.ads: Add pragma Preelaborate, since these
! 	packages are suitable for this categorization.
! 
! 	* s-solita.adb: Replace use of Ada.Exception by raise xxx with "..."
! 	since we compile run-time sources in Ada 2005 mode.
! 	(Timed_Delay_T): Call Abort_Defer/Undefer around Timed_Delay, to
! 	avoid having s-taprop*.adb depend on s-soflin and to avoid code
! 	duplication.
! 	Remove reference to *Machine_State_Addr*, no longer needed.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-mastop-tru64.adb, s-mastop-irix.adb, s-mastop-vms.adb
! 	(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
! 	Remove reference to System.Exceptions.
! 
! 	* s-mastop-x86.adb: Removed, no longer used.
! 
! 	* s-traceb-mastop.adb: Adjust calls to Pop_Frame.
! 
! 	* a-excach.adb: Minor reformatting.
! 
! 	* a-except.ads, a-except.adb: Remove global Warnings (Off) pragma, and
! 	instead fix new warnings that were hidden by this change.
! 	(AAA, ZZZ): Removed, replaced by...
! 	(Code_Address_For_AAA, Code_Address_For_ZZZ): ... these functions, who
! 	are used instead of constants, to help make Ada.Exception truly
! 	preelaborate.
! 	(Rcheck_*, Raise_Constraint_Error, Raise_Program_Error,
! 	Raise_Storage_Error): File is now a System.Address, to simplify code.
! 	(Elab code): Removed, no longer used.
! 	(Null_Occurrence): Remove Warnings Off and make this construct
! 	preelaborate.
! 	Remove code related to front-end zero cost exception handling, since
! 	it is no longer used.
! 	Remove -gnatL/-gnatZ switches.
! 
! 	* a-exexda.adb (Append_Info_Exception_Name, Set_Exception_C_Msg):
! 	Update use of Except.Msg.
! 
! 	* gnat1drv.adb, inline.adb, bindgen.adb, debug.adb, exp_ch11.ads,
! 	freeze.adb, frontend.adb, lib.adb, exp_ch11.adb: Remove code related
! 	to front-end zero cost exception handling, since it is no longer used.
! 	Remove -gnatL/-gnatZ switches.
! 
! 	* lib-writ.ads: Minor reformatting
! 	Remove doc of UX
! 
! 	* Makefile.rtl: Remove references to s-except*, s-mastop-x86*
! 
! 	* Make-lang.in: Remove references to s-except.ads
! 
! 	* s-except.ads: Removed, no longer used.
! 
! 	* s-mastop.ads, s-mastop.adb:
! 	(Enter_Handler, Set_Signal_Machine_State): Removed, no longer used.
! 	Remove reference to System.Exceptions.
! 
! 	* raise.h, usage.adb, targparm.adb, targparm.ads, switch-m.adb,
! 	switch-b.adb: Remove code related to front-end zero cost exception
! 	handling, since it is no longer used.
! 	Remove -gnatL/-gnatZ switches.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* exp_ch4.adb (Expand_N_In): Replace test of expression in its own
! 	type by valid test and generate warning.
! 	(Tagged_Membership): Generate call to the run-time
! 	subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
! 	Change formal name Subtype_Mark to Result_Definition in several calls to
! 	Make_Function_Specification.
! 	(Expand_Allocator_Expression): Add tests for suppression of the AI-344
! 	check for proper accessibility of the operand of a class-wide allocator.
! 	The check can be left out if checks are suppressed or if the expression
! 	has a specific tagged type whose level is known to be safe.
! 
! 	* exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
! 	generates the run-time check associated with null-excluding entities.
! 	(Expand_N_Return_Statement): Add tests to determine if the accessibility
! 	check on the level of the return expression of a class-wide function
! 	can be elided. The check usually isn't needed if the expression has a
! 	specific type (unless it's a conversion or a formal parameter). Also
! 	add a test for whether accessibility checks are suppressed. Augment
! 	the comments to describe the conditions for performing the check.
! 
! 2005-09-01  Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* a-tags.adb (IW_Membership): Give support to
! 	"Iface_CW_Typ in T'Class". For this purpose the functionality of this
! 	subprogram has been extended to look for the tag in the ancestors tag
! 	table.
! 	Update the structure of the GNAT Dispatch Table to reflect the
! 	additional two tables used in dispatching selects.
! 	Introduce appropriate array types and record components in
! 	Type_Specific_Data to reflect the two tables.
! 	(Get_Entry_Index, Set_Entry_Index): Retrieve and set the entry index in
! 	the TSD of a tag, indexed by position.
! 	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Retrieve and set the primitive
! 	operation kind in the TSD of a tag, indexed by position.
! 
! 	* a-tags.ads: Introduce an enumeration type to capture different
! 	primitive operation kinds. Define a constant reflecting the number of
! 	predefined primitive operations.
! 	(Get_Entry_Index, Set_Entry_Index): Set and retrieve the entry index
! 	of an entry wrapper.
! 	(Get_Prim_Op_Kind, Set_Prim_Op_Kind): Set and retrieve the kind of
! 	callable entity of a primitive operation.
! 
! 	* exp_ch3.adb (Freeze_Record_Type): Generate the declarations of the
! 	primitive operations used in dispatching selects for limited
! 	interfaces, limited tagged, task and protected types what implement a
! 	limited interface.
! 	(Freeze_Type): Generate the bodies of the primitive operations used in
! 	dispatching selects for limited tagged, task and protected types that
! 	implement a limited interface. Generate statements to populate the two
! 	auxiliary tables used for dispatching in select statements.
! 	(Freeze_Record_Type): Add call to initialize the dispatch table entries
! 	associated with predefined interface primitive operations.
! 	(Build_Dcheck_Function): Change Set_Subtype_Mark to
! 	Set_Result_Definition.
! 	(Build_Variant_Record_Equality): Change Subtype_Mark to
! 	Result_Definition.
! 	(Freeze_Enumeration_Type): Change Subtype_Mark to Result_Definition.
! 	(Predef_Spec_Or_Body): Change Subtype_Mark to Result_Definition.
! 	(Build_Assignment): Simplify the code that adds the run-time-check.
! 	(Expand_N_Object_Declaration): Code cleanup.
! 
! 	* exp_ch7.adb (Make_Clean): Select the appropriate type for locking
! 	entries when there is a protected type that implements a limited
! 	interface.
! 
! 	* exp_ch9.adb: Add package Select_Expansion_Utilities that contains
! 	common routines used in expansion of dispatching selects.
! 	(Add_Private_Declarations): Select the appropriate protection type when
! 	there is a protected type that implements a limited interface.
! 	(Build_Parameter_Block): Generate a wrapped parameter block.
! 	(Build_Protected_Subprogram_Body): Select the appropriate type for
! 	locking entries when there is a protected type that implements a
! 	limited interface.
! 	(Build_Wrapper_Spec): Set the flag and wrapped entity for procedures
! 	classified as entry wrappers.
! 	(Expand_N_Asynchronous_Select): Add support for expansion of dispatching
! 	asynchronous selects.
! 	(Expand_N_Conditional_Entry_Call): Add support for expansion of
! 	dispatching conditional selects.
! 	(Expand_N_Protected_Type_Declaration): Select the appropriate type for
! 	protection when there is a protected type that implements limited
! 	interfaces.
! 	(Expand_N_Timed_Entry_Call): Add support for expansion of dispatching
! 	timed selects.
! 	(Extract_Dispatching_Call): Extract the entity of the name of a
! 	dispatching call, the object parameter, actual parameters and
! 	corresponding formals.
! 	(Make_Initialize_Protection): Correct logic of protection initialization
! 	when there is a protected type that implements a limited interface.
! 	(Parameter_Block_Pack): Populate a wrapped parameter block with the
! 	values of actual parameters.
! 	(Parameter_Block_Unpack): Retrieve the values from a wrapped parameter
! 	block and assign them to the original actual parameters.
! 
! 	* exp_ch9.ads (Subprogram_Protection_Mode): New type.
! 	(Build_Protected_Sub_Specification): Change the type and name of the
! 	last formal to account for the increased variety of protection modes.
! 
! 	* einfo.ads, einfo.adb (Was_Hidden): New attribute. Present in all
! 	entities. Used to save the value of the Is_Hidden attribute when the
! 	limited-view is installed.
! 	(Is_Primitive_Wrapper, Set_Is_Primitive_Wrapper): Retrieve and change
! 	the attribute of procedures classified as entry wrappers.
! 	(Wrapped_Entity, Set_Wrapped_Entity): Retrieve and change the wrapped
! 	entity of a primitive wrapper.
! 	(Write_Entity_Flags): Output the name and value of the
! 	Is_Primitive_Wrapper attribute.
! 	(Write_Field27_Name): Output the name and entity of the field Wrapped_
! 	Entity.
! 	(Underlying_Type): If we have an incomplete entity that comes from
! 	the limited view then we return the Underlying_Type of its non-limited
! 	view if it is already available.
! 	(Abstract_Interface_Alias): Flag applies to all subrogram kinds,
! 	including operators.
! 	(Write_Field26_Name): Add entry for Overridden_Operation
! 	(Overridden_Operation): New attribute of functions and procedures.
! 
! 	* exp_disp.ads, exp_disp.adb (Default_Prim_Op_Position): Return a
! 	predefined position in the dispatch table for the primitive operations
! 	used in dispatching selects.
! 	(Init_Predefined_Interface_Primitives): Remove the hardcoded number of
! 	predefined primitive operations and replace it with
! 	Default_Prim_Op_Count.
! 	(Make_Disp_Asynchronous_Select_Spec, Make_Disp_Conditional_Select_Spec,
! 	Make_Disp_Get_Prim_Op_Kind_Spec, Make_Disp_Timed_Select_Spec): Update
! 	the names of the generated primitive operations used in dispatching
! 	selects.
! 	(Init_Predefined_Interface_Primitives): No need to inherit primitives in
! 	case of abstract interface types. They will be inherit by the objects
! 	implementing the interface.
! 	(Make_DT): There is no need to inherit the dispatch table of the
! 	ancestor interface for the elaboration of abstract interface types.
! 	The dispatch table will be inherited by the object implementing the
! 	interface.
! 	(Copy_Secondary_DTs): Add documentation.
! 	(Validate_Position): Improve this static check in case of
! 	aliased subprograms because aliased subprograms must have
! 	the same position.
! 	(Init_Predefined_Interface_Primitives): New subprogram that initializes
! 	the entries associated with predefined primitives of all the secondary
! 	dispatch tables.
! 	(Build_Anonymous_Access_Type): Removed.
! 	(Expand_Interface_Actuals): With the previous cleanup there is no need
! 	to build an anonymous access type. This allows further cleanup in the
! 	code generated by the expander.
! 	(Expand_Interface_Conversion): If the actual is an access type then
! 	build an internal function to handle the displacement. If the actual
! 	is null this function returns null because no displacement is
! 	required; otherwise performs a type conversion that will be
! 	expanded in the code that returns the value of the displaced actual.
! 	(Expand_Interface_Actuals): Avoid the generation of unnecessary type
! 	conversions that have no effect in the generated code because no
! 	displacement is required. Code cleanup; use local variables to
! 	avoid repeated calls to the subprogram directly_designated_type().
! 
! 	* exp_util.ads, exp_util.adb (Is_Predefined_Dispatching_Operation):
! 	Classify the primitive operations used in dispatching selects as
! 	predefined.
! 	(Implements_Limited_Interface): Determine whether some type either
! 	directly implements a limited interface or extends a type that
! 	implements a limited interface.
! 	(Build_Task_Image_Function): Change Subtype_Mark to Result_Definition.
! 	(Expand_Subtype_From_Expr): Do not build actual subtype if the
! 	expression is limited.
! 	(Find_Interface_Tag): Add code to handle class-wide types and
! 	entities from the limited-view.
! 
! 	* rtsfind.ads: Add entries in RE_Id and RE_Unit_Table for
! 	Get_Entry_Index, Get_Prim_Op_Kind, POK_Function, POK_Procedure,
! 	POK_Protected_Entry, POK_Protected_Function, POK_Protected_Procedure,
! 	POK_Task_Entry, POK_Task_Procedure, Prim_Op_Kind, Set_Entry_Index,
! 	Set_Prim_Op_Kind.
! 
! 	* sem_ch9.adb (Analyze_Triggering_Alternative): Check for legal type
! 	of procedure name or prefix that appears as a trigger in a triggering
! 	alternative.
! 
! 	* uintp.ads: Introduce constants Uint_11 and Uint_13.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-tataat.adb, a-tasatt.adb:
! 	Replace calls to Defer/Undefer_Abortion by Defer/Undefer_Abort.
! 
! 	* s-tasini.ads, s-tasini.adb (Defer_Abortion, Undefer_Abortion): Moved
! 	these procedures to body, and renamed Abort_Defer, Abort_Undefer.
! 	(Get_Exc_Stack_Addr, Set_Exc_Stack_Addr): Removed, no
! 	longer used.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 	    Jose Ruiz  <ruiz@adacore.com>
! 
! 	* s-taprop-vxworks.adb:
! 	Move with clauses outside Warnings Off now that dependent units are
! 	Preelaborate.
! 	(Initialize): Call Interrupt_Managemeent.Initialize to ensure proper
! 	initialization of this unit.
! 	(Specific): Add new procedures Initialize and Delete so that this
! 	package can be used for VxWorks 5.x and 6.x
! 	(ATCB_Key, ATCB_Key_Address): Moved to Specific package body to hide
! 	differences between VxWorks 5.x and 6.x
! 	Minor reformatting.
! 	(Timed_Delay): Remove calls to Defer/Undefer_Abort, now performed by
! 	caller.
! 	Use only Preelaborate-compatible constructs.
! 
! 	* s-tpopsp-vxworks.adb (ATBC_Key, ATCB_Key_Addr): Moved from
! 	Primitives.Operations.
! 	(Delete, Initialize): New procedures.
! 
! 	* s-osinte-vxworks.adb: Body used to handle differences between
! 	VxWorks 5.x and 6.x
! 	(kill, Set_Time_Slice, VX_FP_TASK): New functions.
! 
! 	* s-osinte-vxworks.ads: Minor reformatting.
! 	Add VxWworks 6.x specific functions (only called from VxWorks 6 files).
! 	(VX_FP_TASK): Now a function, to handle differences between VxWorks 5
! 	and 6.
! 	(Set_Time_Slice): New function, replacing kerneltimeSlice to share code
! 	between Vxworks 5 and 6.
! 	(taskLock, taskUnlock): Removeed, no longer used.
! 
! 	* adaint.c: The wait.h header is not located in the sys directory on
! 	VxWorks when using RTPs.
! 	(__gnat_set_env_value): Use setenv instead of putenv on VxWorks when
! 	using RTPs.
! 	(__gnat_dup): dup is available on Vxworks when using RTPs.
! 	(__gnat_dup2): dup2 is available on Vxworks when using RTPs.
! 
! 	* cal.c: Use the header time.h for Vxworks 6.0 when using RTPs.
! 
! 	* expect.c: The wait.h header is not located in the sys directory on
! 	VxWorks when using RTPs.
! 
! 2005-09-01  Thomas Quinot  <quinot@adacore.com>
! 
! 	* g-soccon-vms.adb: Renamed to g-soccon-vms.ads
! 
! 	* g-soccon-vms.ads: Renamed from g-soccon-vms.adb
! 
! 	* g-soccon.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
! 	g-soccon-darwin.ads, g-soccon-irix.ads, g-soccon-hpux.ads,
! 	g-soccon-solaris.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
! 	g-soccon-freebsd.ads: Add new constants:
! 	 IP_MULTICAST_IF
! 	 SO_RCVTIMEO/SO_SNDTIMEO
! 	 IOV_MAX
! 
! 	* gen-soccon.c:
! 	Move all target-specific file inclusions and macro definitions to
! 	gsocket.h, in order to ensure that any C code in socket.c will see a
! 	set of constants that is consistent with the contents of g-soccon.ads.
! 
! 	* gsocket.h: Code imported from gen-soccon.c:
! 	Move all target-specific file inclusions and macro definitions to
! 	gsocket.h, in order to ensure that any C code in socket.c will see a set
! 	of constants that is consistent with the contents of g-soccon.ads.
! 	This change also makes gen-soccon self-contained (removing dependencies
! 	upon GCC internal headers).
! 
! 	* g-socket.adb (Send_Vector): Make calls to Writev at most IOV_MAX
! 	iovecs at a time.
! 	(To_Inet_Addr): Now a procedure instead of a function, more efficient.
! 
! 	* socket.c: Minor reformatting.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
! 	* fname-sf.adb, mlib-tgt.ads,
! 	back_end.adb, casing.adb, g-debpoo.adb, g-excact.adb, g-spipat.adb,
! 	g-spipat.ads, g-thread.adb, lib-list.adb, makeutl.adb, mlib.adb,
! 	osint.adb, par-ch10.adb, par-load.adb, prep.adb, prj.adb, prj-attr.ads,
! 	prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads,
! 	prj-makr.adb, prj-makr.ads, prj-pars.ads, prj-part.adb, prj-strt.adb,
! 	prj-tree.ads, prj-util.ads, sem_dist.adb, sinput-c.ads, sinput-l.ads,
! 	sinput-p.ads, styleg-c.ads, xr_tabls.adb, prj-attr-pm.ads,
! 	makegpr.adb: Remove redundant use_clauses.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-stoele.ads, s-stopoo.ads, s-stratt.ads, s-strops.ads, s-unstyp.ads,
! 	s-valboo.ads, s-valcha.ads, s-valdec.ads, s-valenu.ads, s-valint.ads,
! 	s-vallld.ads, s-vallli.ads, s-valllu.ads, s-valrea.ads, s-valuns.ads,
! 	s-valuti.ads, s-valwch.ads, s-veboop.ads, s-vector.ads, s-vercon.ads,
! 	s-wchcnv.ads, s-wchcon.ads, s-wchjis.ads, s-wchstw.ads, s-wchwts.ads,
! 	s-widboo.ads, s-widcha.ads, s-widenu.ads, s-widlli.ads, s-widllu.ads,
! 	s-widwch.ads, s-wwdcha.ads, s-wwdenu.ads, s-wwdwch.ads, system.ads,
! 	table.ads, types.ads, system-vms_64.ads, s-crtl-vms64.ads,
! 	s-addope.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
! 	s-vxwork-x86.ads, system-linux-ppc.ads, i-vxwork-x86.ads,
! 	a-numaux-darwin.ads, a-crbtgo.ads, a-crbtgk.ads, a-crbltr.ads,
! 	a-coprnu.ads, a-convec.ads, a-contai.ads, a-coinve.ads, a-cohata.ads,
! 	a-cohama.ads, a-cihama.ads, a-cidlli.ads, a-cdlili.ads,
! 	a-numaux-libc-x86.ads, a-numaux-vxworks.ads, system-linux-ia64.ads,
! 	system-freebsd-x86.ads, system-unixware.ads, system-lynxos-ppc.ads,
! 	system-lynxos-x86.ads, system-linux-x86_64.ads, system-tru64.ads,
! 	s-vxwork-alpha.ads, system-aix.ads, system-vxworks-sparcv9.ads,
! 	system-solaris-x86.ads, system-irix-o32.ads, system-irix-n32.ads,
! 	s-parame-hpux.ads, system-hpux.ads, system-vxworks-m68k.ads,
! 	s-vxwork-m68k.ads, system-linux-x86.ads, system-vxworks-mips.ads,
! 	s-vxwork-mips.ads, system-os2.ads, system-interix.ads,
! 	s-vxwork-ppc.ads, system-solaris-sparc.ads, s-vxwork-sparcv9.ads,
! 	system-solaris-sparcv9.ads, s-parame-vms.ads, system-vms.ads,
! 	s-osinte-mingw.ads, system-mingw.ads, s-parame-vms-restrict.ads,
! 	system-vms-zcx.ads, s-parame-ae653.ads, system-vxworks-ppc.ads,
! 	s-parame-vxworks.ads, system-vxworks-alpha.ads, interfac-vms.ads,
! 	a-numaux-x86.ads, a-astaco.ads, a-chahan.ads, a-charac.ads,
! 	a-chlat1.ads, a-chlat9.ads, a-colire.adb, a-colire.ads, a-comlin.ads,
! 	a-cwila1.ads, a-cwila9.ads, ada.ads, a-decima.ads, a-exextr.adb,
! 	a-filico.ads, a-finali.ads, a-interr.ads, a-ioexce.ads, a-dynpri.ads,
! 	a-ngcefu.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.ads,
! 	a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-numaux.ads, a-numeri.ads,
! 	a-reatim.adb, a-stmaco.ads, a-storio.ads, a-strbou.ads, a-stream.ads,
! 	a-strfix.ads, a-string.ads, a-strmap.ads, a-strsea.ads, a-strsup.ads,
! 	a-strunb.ads, a-stunau.ads, a-stwibo.ads, a-stwifi.ads, a-stwima.ads,
! 	a-stwise.ads, a-stwisu.ads, a-stwiun.ads, a-swmwco.ads, a-textio.ads,
! 	csets.ads, debug.ads, dec.ads, g-curexc.ads, get_targ.ads,
! 	g-except.ads, system-linux-hppa.ads, a-chacon.ads, a-widcha.ads,
! 	a-zchara.ads, system-hpux-ia64.ads, a-ciorma.ads, a-coorma.ads,
! 	a-ciormu.ads, a-coormu.ads, a-rbtgso.ads, a-chzla1.ads, a-chzla9.ads,
! 	a-stzbou.ads, a-stzfix.ads, a-stzmap.ads, a-stzsea.ads, a-stzsup.ads,
! 	a-stzunb.ads, a-swunau.ads, a-szunau.ads, gnat.ads, g-regpat.ads,
! 	g-speche.ads, g-spitbo.ads, g-table.ads, g-tasloc.ads, g-trasym.ads,
! 	i-c.ads, i-cpoint.ads, i-cpp.ads, i-cstrin.ads, i-fortra.ads,
! 	interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads,
! 	i-vxwork.ads, output.ads, s-arit64.ads, s-atacco.ads, s-boarop.ads,
! 	s-casuti.ads, s-crtl.ads, s-exctab.ads, s-exnint.ads, s-exnllf.ads,
! 	s-exnlli.ads, s-expint.ads, s-explli.ads, s-expllu.ads, s-expmod.ads,
! 	s-expuns.ads, s-fatflt.ads, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads,
! 	s-fatsfl.ads, s-finimp.ads, s-finroo.ads, s-fore.ads, s-geveop.ads,
! 	s-htable.ads, s-imgbiu.ads, s-imgboo.ads, s-imgcha.ads, s-imgdec.ads,
! 	s-imgenu.ads, s-imgint.ads, s-imgllb.ads, s-imglld.ads, s-imglli.ads,
! 	s-imgllu.ads, s-imgllw.ads, s-imgrea.ads, s-imguns.ads, s-imgwch.ads,
! 	s-imgwiu.ads, s-io.ads, s-maccod.ads, s-mantis.ads, s-memcop.ads,
! 	s-pack03.ads, s-pack05.ads, s-pack06.ads, s-pack07.ads, s-pack09.ads,
! 	s-pack10.ads, s-pack11.ads, s-pack12.ads, s-pack13.ads, s-pack14.ads,
! 	s-pack15.ads, s-pack17.ads, s-pack18.ads, s-pack19.ads, s-pack20.ads,
! 	s-pack21.ads, s-pack22.ads, s-pack23.ads, s-pack24.ads, s-pack25.ads,
! 	s-pack26.ads, s-pack27.ads, s-pack28.ads, s-pack29.ads, s-pack30.ads,
! 	s-pack31.ads, s-pack33.ads, s-pack34.ads, s-pack35.ads, s-pack36.ads,
! 	s-pack37.ads, s-pack38.ads, s-pack39.ads, s-pack40.ads, s-pack41.ads,
! 	s-pack42.ads, s-pack43.ads, s-pack44.ads, s-pack45.ads, s-pack46.ads,
! 	s-pack47.ads, s-pack48.ads, s-pack49.ads, s-pack50.ads, s-pack51.ads,
! 	s-pack52.ads, s-pack53.ads, s-pack54.ads, s-pack55.ads, s-pack56.ads,
! 	s-pack57.ads, s-pack58.ads, s-pack59.ads, s-pack60.ads, s-pack61.ads,
! 	s-pack62.ads, s-pack63.ads, s-parame.ads, s-pooglo.ads, s-pooloc.ads,
! 	s-poosiz.ads, s-powtab.ads, s-purexc.ads, s-sopco3.ads, s-sopco4.ads,
! 	s-sopco5.ads: Minor reformatting: reindent pragma Pure/Preelaborate
! 	and always use the no parameter form for consistency.
! 
! 	* gnat-style.texi: Document rules about Preelaborate/Pure pragmas.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* binde.adb: Minor reformatting
! 	(Find_Elab_Order): Output warning if -p used with static elab order
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* checks.adb (Check_Needed): New procedure, deals with removing checks
! 	based on analysis of short-circuited forms. Also generates warnings for
! 	improper use of non-short-circuited forms.
! 	Code clean ups.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-ztexio.adb, a-textio.adb, a-witeio.adb: Replace bad range checks
! 	with 'Valid tests.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* errout.ads, errout.adb (Fix Error_Msg_F): Fix implementation to meet
! 	spec.
! 	Implement new insertion char < (conditional warning)
! 	* errutil.adb, erroutc.adb: Implement new insertion char <
! 	(conditional warning).
! 	* sem_elab.adb, prj-dect.adb, erroutc.ads, err_vars.ads
! 	(Error_Msg_Warn): New variable for < insertion char.
! 	* prj-nmsc.adb: Implement new errout insertion char < (conditional
! 	warning).
! 	(Check_For_Source): Change value of Source_Id only after the current
! 	source has been dealt with.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 	    Doug Rupp  <rupp@adacore.com>
! 
! 	* exp_attr.adb: Handle vax fpt for 'Valid attribute
! 	* exp_vfpt.ads, exp_vfpt.adb: (Expand_Vax_Valid): New procedure
! 	* s-vaflop-vms-alpha.adb, s-vaflop.ads, s-vaflop.adb
! 	(Valid_D, Valid_F, Valid_G): New functions
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* exp_ch6.adb (Expand_Call): If an actual is a function call rewritten
! 	from object notation, the original node is unanalyzed and carries no
! 	semantic information, so that accessiblity checks must be performed on
! 	the type of the actual itself.
! 	(Expand_N_Subprogram_Declaration): Change last actual parameter for
! 	compatibility with Build_Protected_Sub_Specification.
! 	(Check_Overriding_Inherited_Interfaces): Add suport to handle
! 	overloaded primitives.
! 	(Register_Interface_DT_Entry): Use the new name of the formal
! 	the the calls to Expand_Interface_Thunk
! 
! 	* exp_dbug.ads: Augment comments on encoding of protected types to
! 	include the generation of dispatching subprograms when the type
! 	implements at least one interface.
! 
! 	* lib.ads: Extend information in Load_Stack to include whether a given
! 	load comes from a Limited_With_Clause.
! 
! 	* lib-load.adb (From_Limited_With_Chain): New predicate to determine
! 	whether a potential circularity is harmless, because it includes units
! 	loaded through a limited_with clause. Extends previous treatment which
! 	did not handle properly arbitrary combinations of limited and
! 	non-limited clauses.
! 
! 2005-09-01  Nicolas Setton  <setton@adacore.com>
! 
! 	* exp_dbug.adb (Get_Encoded_Name): Fixed bug that caused biaised types
! 	to be encoded as typ___XBLU_lowerbound__upperbound instead of
! 	typ___XB_lowerbound__upperbound.
! 
! 2005-09-01  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Add_RACW_TypeCode, Add_RAS_TypeCode): Do not generate
! 	dummy access formal for RACW/RAS TypeCode TSS.
! 	(Build_TypeCode_Call): Do not generate dummy null access actual for
! 	calls to the TypeCode TSS.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_intr.adb (Expand_Source_Name): For Enclosing_Entity, generate
! 	fully qualified name, to distinguish instances with the same local name.
! 
! 	* g-souinf.ads (Enclosing_Entity): Document that entity name is now
! 	fully qualified.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_pakd.adb (Create_Packed_Array_Type): Properly handle very large
! 	packed arrays.
! 
! 2005-09-01  Jerome Lambourg  <lambourg@adacore.com>
! 
! 	* g-expect.adb (Non_Blocking_Spawn): Initialize the filters field to
! 	(Free): New deallocation procedure for filter elements
! 	(Close): Deallocate any existing filter for the concerned connection
! 
! 2005-09-01  Laurent Pautet  <pautet@adacore.com>
! 
! 	* g-pehage.ads, g-pehage.adb (Select_Char_Position): When no character
! 	position set is provided, we compute one in order to reduce the maximum
! 	length of the keys.  This computation first selects a character
! 	position between 1 and the minimum length of the keys in order to
! 	avoid reducing one of the keys to an empty string.
! 	(Initialize, Compute): When the ratio V to K is too low, the algorithm
! 	does not converge. The initialization procedure now comes with a
! 	maximum number of iterations such that when exceeded, an exception is
! 	raised in Compute. The user can initialize this ratio to another value
! 	and try again
! 	Reformating and updated headers.
! 
! 2005-09-01  Javier Miranda  <miranda@adacore.com>
! 
! 	* itypes.ads, itypes.adb (Create_Null_Excluding_Itype): New subprogram
! 	that given an entity T creates and returns an Itype that duplicates the
! 	contents of T. The returned Itype has the null-exclusion
! 	attribute set to True, and its Etype attribute references T
! 	to keep the association between the two entities.
! 	Update copyright notice
! 
! 	* sem_aggr.adb (Check_Can_Never_Be_Null,
! 	Aggregate_Constraint_Checks, Resolve_Aggregate,
! 	Resolve_Array_Aggregate, Resolve_Record_Aggregate): Code cleanup.
! 
! 	* sem_ch5.adb (Analyze_Assignment): Code cleanup.
! 
! 2005-09-01  Gary Dismukes  <dismukes@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 
! 	* layout.adb (SO_Ref_From_Expr): Change Subtype_Mark to
! 	Result_Definition.
! 
! 	* par-ch6.adb (P_Subprogram): Handle parsing of Access_Definitions in
! 	function specs.
! 	Call Set_Result_Definition instead of Set_Subtype_Mark.
! 	(P_Subprogram_Specification): Add parsing of anonymous access result
! 	plus null exclusions. Call Set_Result_Definition instead of
! 	Set_Subtype_Mark.
! 
! 	* par-ch3.adb: Add support for LIMITED NEW for Ada 2005 AI-419
! 	(P_Access_Type_Definition): Add parsing for an anonymous access result
! 	subtype, plus parsing for null exclusions. Call Set_Result_Definition
! 	instead of Set_Subtype_Mark.
! 
! 	* sinfo.adb: Add support for LIMITED NEW for Ada 2005 AI-419
! 	(Null_Exclusion_Present): Allow this flag for N_Function_Specification.
! 	(Result_Definition): New function for N_Function_Specifications.
! 	(Subtype_Mark): No longer allowed for N_Access_Function_Definition and
! 	N_Function_Specification.
! 	(Set_Null_Exclusion_Present): Allow this flag for
! 	N_Function_Specification.
! 	(Set_Result_Definition): New procedure for N_Function_Specifications.
! 	(Set_Subtype_Mark): No longer allowed for N_Access_Function_Definition
! 	and N_Function_Specification.
! 
! 	* sinfo.ads: Update grammar rules for 9.7.2: Entry_Call_Alternative,
! 	Procedure_Or_Entry_Call; 9.7.4: Triggering_Statement.
! 	Add support for LIMITED NEW for Ada 2005 AI-419
! 	Update the syntax of PARAMETER_AND_RESULT_PROFILE to reflect the new
! 	syntax for anonymous access results.
! 	Replace Subtype_Mark field by Result_Definition in
! 	N_Function_Specification and N_Access_Definition specs.
! 	Add Null_Exclusion_Present to spec of N_Function_Specification.
! 	(Result_Definition): New function for N_Function_Specification and
! 	N_Access_Function_Definition.
! 	(Set_Result_Definition): New procedure for N_Function_Specification and
! 	N_Access_Function_Definition.
! 
! 	* sprint.adb (S_Print_Node_Actual): Change Subtype_Mark calls to
! 	Result_Definition for cases of N_Access_Function_Definition and
! 	N_Function_Specification.
! 	Print "not null" if Null_Exclusion_Present on N_Function_Specification.
! 
! 2005-09-01  Vincent Celier  <celier@adacore.com>
! 
! 	* lib-writ.adb: Update Copyright notice
! 	(Write_With_Lines): On platforms where file names are case-insensitive,
! 	record the file names in lower case.
! 	(Write_ALI): For D lines, on platforms where file names are
! 	case-insensitive, record the file names in lower case.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Emmanuel Briot  <briot@adacore.com>
! 
! 	* lib-xref.adb (Output_Overridden_Op): Display information on
! 	overridden operation.
! 
! 	* lib-xref.ads: Add documentation on overridden operations.
! 
! 	* ali.ads (Xref_Entity_Record): Add support for storing the overriding
! 	information.
! 
! 	* ali.adb (Get_Typeref): New subprogram. Adds support for parsing the
! 	overriding entity information.
! 
! 2005-09-01  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-prj.adb (Copy_Interface_Sources): Copy all interface sources,
! 	including those that are inherited.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* opt.ads, opt.adb: Add new switches Debug_Pragmas_Enabled[_Config]
! 
! 	* par-prag.adb: Implement new pragma Debug_Policy
! 
! 	* sem_prag.adb Implement new pragma Debug_Policy
! 	(Analyze_Pragma, case Pack): do not let pragma Pack override an explicit
! 	Component_Size attribute specification. Give warning for ignored pragma
! 	Pack.
! 
! 	* snames.h, snames.ads, snames.adb: Introduce entries in
! 	Preset_Names for Name_Disp_Asynchronous_Select,
! 	Name_Disp_Conditional_Select, Name_Disp_Get_Prim_Op_Kind,
! 	Name_Disp_Timed_Select.
! 	New pragma Debug_Policy
! 
! 	* switch-c.adb (Scan_Front_End_Switches): Set Ada 2005 mode
! 	explicitly.
! 	Switch -gnata also sets Debug_Pragmas_Enabled
! 
! 	* sem.adb, par.adb (Set_Opt_Config_Switch): Add parameter Main_Unit to
! 	handle an explicit -gnata when compiling predefined files.
! 
! 2005-09-01  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Do not add the object
! 	directories of projects that have no Ada sources.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* scng.adb (Check_End_Of_Line): Count characters, rather than bytes
! 	(makes a difference for wide characters)
! 
! 	* widechar.adb, widechar.ads:
! 	Add Wide_Char_Byte_Count feature to count chars vs bytes
! 
! 2005-09-01  Thomas Quinot  <quinot@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_attr.adb (Resolve_Attribute, case 'Address): For an illegal
! 	'Address attribute reference with an overloaded prefix, use the
! 	location of the prefix (not the location of the attribute reference) as
! 	the error location.
! 	(Analyze_Attribute, case 'Size): The name of an enumeration literal, or
! 	a function renaming thereof, is a valid prefix for 'Size (where it is
! 	intepreted as a function call).
! 	(Statically_Denotes_Entity): New predicate to determine whether the
! 	prefix of an array attribute can be considered static.
! 
! 	PR ada/9087
! 	(Eval_Attr): Fix failure to evaluate Component_Size for
! 	unconstrained arrays (resulted in wrong value in packed case, since
! 	back end cannot handle this case)
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_cat.adb (Check_Categorization_Dependencies): Add more detail to
! 	error msgs for most common cases.
! 	Use new errout insertion char < (conditional warning)
! 
! 2005-09-01  Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch10.adb (In_Chain): Moved from the scope of a subprogram to
! 	become local to the whole package.
! 	(Install_Limited_Withed_Unit): Instead of unchaining real entities if
! 	the package was already analyzed the new algorithm "replaces" the
! 	real entities by the shadow ones. This is required to ensure that
! 	the order of these entities in the homonym chains does not change;
! 	otherwise we can have undefined references at linking time because
! 	in case of conflicts the external name of the entities will have
! 	a suffix that depends on the order of the entities in the chain.
! 	(Remove_Limited_With_Clause): Complementary code that completes the
! 	new algorithm and replaces the shadow entities by the real ones.
! 	(Install_Limited_Withed_Unit): When unchaining entities before the
! 	installation of the shadow entities, only regular entities of the
! 	public part must be taken into account. This is required to
! 	keep this routine in synch with the work done by Remove_Limited_
! 	With_Clause
! 	(Install_Limited_With_Clause): Introduce implicit limited_with_clause
! 	even if unit is analyzed, because the analysis of the unit is
! 	idempotent in any case, and the limited view of the unit may have to
! 	be installed for proper visibility.
! 	(Expand_Limited_With_Clause): Even if the unit in the implicit
! 	with_clause has been analyzed already, a limited view of the package
! 	must be built for the current context, if it does not exist yet.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 
! 	* sem_ch12.adb (Instantiate_Subprogram_Body): When creating the
! 	defining entity for the instance body, make a new defining identifier
! 	rather than copying the entity of the spec, to prevent accidental
! 	sharing of the entity list.
! 	(Check_Private_View): When exchanging views of private types, build the
! 	list of exchanged views as a stack, to ensure that on exit the exchanges
! 	are undone in the proper order.
! 	(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
! 	Restore the compilation environment in case of instantiation_error.
! 	(Analyze_Generic_Subprogram_Declaration): Handle creation of type entity
! 	for an anonymous access result.
! 	(Instantiate_Generic_Subprogram): Subtype_Mark => Result_Definition
! 	(Formal_Entity): Handle properly the case of a formal package that
! 	denotes a generic package renaming.
! 
! 2005-09-01  Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Reject the
! 	clause if the array aggregate is surrounded by parentheses.
! 
! 2005-09-01  Cyrille Comar  <comar@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_ch3.ads, sem_ch3.adb (Analyze_Object_Declaration): Go to the
! 	underlying type
! 	to check if a type is Constrained in cases related to code generation
! 	(rather than semantic checking) since otherwise we do not generate
! 	similar code for mutable private types depending if their
! 	discriminants are visible or not.
! 	(Check_Abstract_Overriding): Do not complain about failure to override
! 	the primitive operations used in dispatching selects since they will
! 	always be overriden at the freeze point of the type.
! 	(Access_Definition): Separate out handling for resetting the scope
! 	of an anonymous access function result type. Retrieve the scope
! 	of the associated function rather than using Current_Scope, which
! 	does not have a consistent value (depends on whether we're in the
! 	middle of analyzing formal parameters). Add ??? comment about
! 	finding a cleaner way to handle the special cases of scope setting.
! 	(Process_Incomplete_Dependents): A protected operation is never a
! 	dispatching operation (only its wrapper may be).
! 	(Build_Derived_Record_Type): In case of tagged private types that
! 	implement interfaces add derivation of predefined primitive
! 	operations.
! 	(Derive_Subprograms): Replace the Is_Interface_Derivation parameter
! 	by two parameters that are used in case of derivation from abstract
! 	interface types: No_Predefined_Prims is used to avoid the derivation
! 	of predefined primitives from the interface, and Predefined
! 	Prims_Only is used to complete the derivation predefined primitives
! 	in case of private tagged types implementing interfaces.
! 	Fix typo in comments
! 	(Find_Interface_In_Descendant): Protect the frontend against
! 	wrong code with large circularity chains.
! 	(Is_Private_Overriding): Add support for entities overriding interface
! 	subprograms. The test failed because Entities associated with overriden
! 	interface subprograms are always marked as hidden (and used to build
! 	the secondary dispatch table); in this case the overriden entity is
! 	available through the field abstract_interface_alias (cf. override_
! 	dispatching_operation)
! 	(Access_Definition): Set the scope of the type to Current_Scope for the
! 	case of a function with an anonymous access result type.
! 	(Access_Subprogram_Declaration): Handle creation of the type entity for
! 	an access-to-function type with an anonymous access result.
! 	(Check_Anonymous_Access_Types): Change Subtype_Mark to Result_Definition
! 	in handling for N_Access_Function_Definition.
! 	(Analyze_Subtype_Declaration): Modify the text of error message.
! 	(Derived_Type_Declaration): Modify the text of error message.
! 	(Process_Subtype): Modify the text of error message plus cleanup
! 	of one redundant error message.
! 	(Analyze_Component_Declaration): Code cleanup.
! 	(Analyze_Object_Declaration): Code cleanup.
! 	(Analyze_Subtype_Declaration): Propagate the null-exclusion
! 	attribute in case of access types. Code cleanup.
! 	(Array_Type_Declaration): Code cleanup.
! 	(Process_Discriminants): Create the new null-excluding itype
! 	if required. Code cleanup.
! 	(Process_Subtype): Create the new null-excluding itype if
! 	required. Code cleanup.
! 	(Build_Derived_Record_Type): Code cleanup to avoid calling
! 	twice the subprogram derive_subprograms in case of private
! 	types that implement interfaces. In this particular case the
! 	subprogram Complete_Subprograms_Derivation already does the
! 	job associated with the second call.
! 
!         * exp_strm.adb (Build_Elementary_Input_Call): Add an explicit
!         conversion to the full view when generating an operation for a
!         discriminant whose type may currently be private.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_ch4.adb (Transform_Object_Operation): In a context off the form
! 	V (Obj.F), the rewriting does not involve the indexed component, but
! 	only the selected component itself.
! 	Do not apply the transformation if the analyzed node is an actual of a
! 	call to another subprogram.
! 	(Complete_Object_Operation): Retain the entity of the
! 	dispatching operation in the selector of the rewritten node. The
! 	entity will be used in the expansion of dispatching selects.
! 	(Analyze_One_Call): Improve location of the error message associated
! 	with interface.
! 	(Analyze_Selected_Component): No need to resolve prefix when it is a
! 	function call, resolution is done when parent node is resolved, as
! 	usual.
! 	(Analyze_One_Call): Add a flag to suppress analysis of the first actual,
! 	when attempting to resolve a call transformed from its object notation.
! 	(Try_Object_Operation, Transform_Object_Operastion): Avoid makind copies
! 	of the argument list for each interpretation of the operation.
! 	(Try_Object_Operation): The designated type of an access parameter may
! 	be an incomplete type obtained through a limited_with clause, in which
! 	case the primitive operations of the type are retrieved from its full
! 	view.
! 	(Analyze_Call): If this is an indirect call, and the return type of the
! 	access_to_subprogram is incomplete, use its full view if available.
! 
! 2005-09-01  Javier Miranda  <miranda@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 
! 	* sem_ch6.ads, sem_ch6.adb (Check_Conformance): In case of anonymous
! 	access types the null-exclusion and access-to-constant attributes must
! 	also match.
! 	(Analyze_Return_Statement): When the result type is an anonymous access
! 	type, apply a conversion of the return expression to the access type
! 	to ensure that appropriate accessibility checks are performed.
! 	(Analyze_Return_Type): For the case of an anonymous access result type,
! 	generate the Itype and set Is_Local_Anonymous_Access on the type.
! 	Add ??? placeholder for check to disallow returning a limited object
! 	in Ada 2005 unless it's an aggregate or a result of a function call.
! 	Change calls from Subtype_Mark to Result_Definition.
! 	(Analyze_Subprogram_Body): Change formal Subtype_Mark to
! 	Result_Definition in call to Make_Function_Specification.
! 	(Build_Body_To_Inline): Change Set_Subtype_Mark to
! 	Set_Result_Definition.
! 	(Make_Inequality_Operator): Change formal Subtype_Mark to
! 	Result_Definition in call to Make_Function_Specification.
! 	(Process_Formals): Create the new null-excluding itype if required.
! 	(New_Overloaded_Entity): For an entity overriding an interface primitive
! 	check if the entity also covers other abstract subprograms in the same
! 	scope. This is required to handle the general case, that is, overriding
! 	other interface primitives and overriding abstract subprograms inherited
! 	from some abstract ancestor type.
! 	(New_Overloaded_Entity): For an overriding entity that comes from
! 	source, note the operation that it overrides.
! 	(Check_Conformance, Type_Conformant): Addition of one new formal
! 	to skip controlling formals in the analysis. This is used to
! 	handle overloading of abstract interfaces.
! 	(Base_Types_Match): Add missing case for types imported from
! 	limited-with clauses
! 	(New_Overloaded_Entity): Add barrier to protect the use of
! 	the "alias" attribute.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch8.adb (Analyze_Renamed_Entry): For a renaming_as_declaration,
! 	verify that the procedure and the entry are mode conformant.
! 	(Analyze_Subprogram_Renaming): Emit a warning if an operator is renamed
! 	as a different operator, which is often a cut-and-paste error.
! 
! 2005-09-01  Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_disp.adb (Check_Controlling_Formals): Anonymous access types
! 	used in controlling parameters exclude null because it is necessary to
! 	read the tag to dispatch, and null has no tag.
! 	(Override_Dispatching_Operation): If the previous operation is inherited
! 	from an interface, it becomes hidden  and does not participate in later
! 	name resolution.
! 
! 2005-09-01  Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 
! 	* sem_res.adb (Resolve_Membership_Op): In case of the membership test
! 	"Iface_CW_Typ in T'Class" we have nothing else to do in the frontend;
! 	the expander will generate the corresponding run-time check to evaluate
! 	the expression.
! 	(Resolve_Call): Check for legal type of procedure name or prefix that
! 	appears as a trigger in a triggering alternative.
! 	(Valid_Conversion): If expression is ambiguous and the context involves
! 	an extension of System, remove System.Address interpretations.
! 	(Resolve_Qualified_Expression): Reject the case of a specific-type
! 	qualification applied to a class-wide argument. Enhance comment
! 	to explain checking of Original_Node.
! 	(Resolve_Type_Conversion): The location of the error message was not
! 	general enough to handle the general case and hence it has been removed.
! 	In addition, this patch improves the text of the message.
! 	(Resolve_Type_Conversion): Add missing support for access to interface
! 	types.
! 	(Resolve_Type_Conversion): If the target is a class-wide interface type,
! 	do not expand if the expression is the actual in a call, because proper
! 	expansion will take place when the call itself is expanded.
! 	(Resolve_Allocator): If the context is an unchecked conversion, the
! 	allocator inherits its storage pool, if any, from the target type of
! 	the conversion.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_type.adb (Add_One_Interp): If a candidate operation is an
! 	inherited interface operation that has an implementation, use the
! 	implementation to avoid spurious ambiguities.
! 	(Interface_Present_In_Ancestor): In case of concurrent types we can't
! 	use the Corresponding_Record_Typ attribute to look for the interface
! 	because it is set by the expander (and hence it is not always
! 	available). For this reason we traverse the list of interfaces
! 	(available in the parent of the concurrent type).
! 	(Interface_Present_In_Ancestor): Handle entities from the limited view
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_util.ads, sem_util.adb (Gather_Components): Omit interface tags
! 	from the list of required components.
! 	(Is_Controlling_Limited_Procedure): Determine whether an entity is a
! 	primitive procedure of a limited interface with a controlling first
! 	parameter.
! 	(Is_Renamed_Entry): Determine whether an entry is a procedure renaming
! 	of an entry.
! 	(Safe_To_Capture_Value): A value (such as non_null) is not safe to
! 	capture if it is generated in the second operand of a short-circuit
! 	operation.
! 	Do not capture values for variables with address clauses.
! 	(Is_Object_Reference): Treat a function call as an object reference only
! 	if its type is not Standard_Void_Type.
! 
! 2005-09-01  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_warn.adb (Warn_On_Known_Condition): Refine warning when applied
! 	to a variable that is statically known to be constant.
! 
! 2005-09-01  Geert Bosch  <bosch@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 
! 	* ttypef.ads (VAXDF_Safe_First): Use correct value for constant.
! 	(VAXGF_Safe_First): Idem.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 	    Arnaud Charlet  <charlet@adacore.com>
! 
! 	* g-dirope.ads: Minor reformatting
! 	Document that bounds of result of Base_Name match the input index
! 	positions.
! 	Add documentation on environment variable syntax for Expand_Path
! 
! 	* gnat_ugn.texi: Update documentation to include mention of -m switches
! 	Document new treatment of wide characters in max line length
! 	style check.
! 	Remove -gnatL/-gnatZ switches, no longer used.
! 	Add note on pragmas Assertion_Policy and Debug_Policy in discussion
! 	of -gnata switch.
! 
! 	* gnat_rm.texi: Add doc for two argument form of pragma
! 	Float_Representation.
! 	Add documentation for pragma No_Strict_Aliasing
! 	Add note that explicit component clause overrides pragma Pack.
! 	Add documentation of pragma Debug_Policy
! 
! 2005-09-01  Matthew Heaney  <heaney@adacore.com>
! 
! 	* a-cihase.adb, a-coorse.ads, a-coorse.adb, a-cohama.adb,
! 	a-ciorse.ads, a-ciorse.adb, a-cihama.adb, a-cdlili.adb,
! 	a-cidlli.adb, a-chtgop.adb, a-cihase.adb, a-cihase.ads,
! 	a-cohase.adb, a-cohase.adb, a-cohase.ads: Synchronized with latest
! 	draft (Draft 13, August 2005) of Ada Amendment 1.
! 
! 2005-09-01  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* Makefile.in: Adjust the libgnat target pairs for Xscale to ARM.
! 	Note that the platform-specific version of g-soccon.ads for VMS is now
! 	named g-soccon-vms.ads (it was previously g-soccon-vms.adb, although it
! 	really is a package spec).
! 	Replace s-taspri-linux.ads by s-taspri-posix.ads
! 	Remove references to s-mastop-x86.adb
! 
! 	* system-vxworks-xscale.ads: Removed, no longer used.
! 	* s-vxwork-xscale.ads: Removed, no longer used.
! 
! 2005-09-01  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-dirval-mingw.adb, a-direct.adb, a-coinve.adb,
! 	g-dynhta.adb, g-dynhta.ads, cstand.adb, exp_smem.adb, g-debuti.ads,
! 	g-dirope.adb, g-table.adb, lib-sort.adb, sem_maps.adb,
! 	exp_fixd.adb, exp_aggr.adb, a-intnam-mingw.ads, a-intnam-vxworks.ads,
! 	g-arrspl.adb, g-arrspl.ads, g-awk.adb, g-awk.ads, g-boubuf.ads,
! 	g-boubuf.ads, g-boubuf.ads, g-bubsor.ads, g-bubsor.adb, g-busora.adb,
! 	g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads,
! 	g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb,
! 	g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads,
! 	g-comlin.adb, g-comver.ads, g-semaph.ads, g-socthi.ads,
! 	sem_ch7.adb, a-direio.adb, a-caldel.ads, i-cstrea-vms.adb,
! 	a-ztedit.adb, a-ztenau.adb, g-socthi-vms.adb, g-socthi-vms.ads,
! 	g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.ads,
! 	a-intnam-irix.ads, a-intnam-irix.ads, a-intnam-hpux.ads,
! 	a-intnam-os2.ads, a-intnam-os2.ads, a-caldel-vms.adb, a-calend-vms.adb,
! 	a-calend-vms.ads, g-heasor.adb, g-heasor.ads, g-hesora.adb,
! 	g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads,
! 	g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads,
! 	g-memdum.adb, g-memdum.ads, g-traceb.adb, g-traceb.ads, i-cobol.adb,
! 	i-cobol.ads, i-cstrea.ads, i-cstrin.adb, a-wtedit.adb, a-tifiio.adb,
! 	a-wtenau.adb, a-wtenau.adb, a-teioed.adb: Minor reformatting
! 
! 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
! 
! 	PR ada/23187
! 	* adaint.c
! 	(GNAT_MAXPATH_LEN): Use default value if MAXPATHLEN is undefined.
! 
! 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
! 	    Doug Rupp  <rupp@adacore.com>
! 
! 	* s-stalib.adb: Add missing pragma Warnings (On) to reenable Warnings
! 	when needed.
! 	(Inside_Elab_Final_Code): Moved to init.c to avoid having to keep
! 	this code in the GNAT run-time.
! 
! 	* decl.c, fe.h: Replace GCC_ZCX by Back_End_Exceptions.
! 
! 	PR ada/21053
! 	* init.c (__gnat_error_handler [many]): Mark "msg" as const
! 	(__gnat_error_handler [HPUX]): Mark siginfo parameter as unused
! 
! 	(__gnat_inside_elab_final_code): Moved here from
! 	Standard_Library and only defined for the compiler.
! 	__gnat_error_handler [VMS]: Adjust sigargs to account for PC & PSL.
! 	(__gnat_inum_to_ivec): Do not define this function on VxWorks when
! 	using RTPs because directly vectored Interrupt routines are not
! 	supported on this configuration.
! 	(getpid): Do not redefine this function on VxWorks when using RTPs
! 	because this primitive is well supported by the RTP libraries.
! 	(copy_msg): Correct the code that checks for buffer overflow.
! 	Discovered during code reading.
! 
! 2005-08-29  Olivier Hainque  <hainque@adacore.com>
! 
! 	* decl.c (gnat_to_gnu_entity) <E_Variable>: When allocating storage for
! 	a library level mutable variable with an initializer, tell
! 	build_allocator to ignore the initializer's size. It may not be large
! 	enough for all the values that might be assigned to the variable later
! 	on.
! 
! 2005-08-29  Arnaud Charlet  <charlet@adacore.com>
! 	    Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* trans.c: Protect < in error msg with quote
! 	Replace GCC_ZCX by Back_End_Exceptions.
! 	(addressable_p) <COMPONENT_REF>: Also return 1 if the field
! 	has been sufficiently aligned in the record.
! 
! 2005-08-15  James E. Wilson  <wilson@specifix.com>
! 
! 	* system-linux-alpha.ads: Change ia64 to alpha.
! 
! 2005-08-01  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* decl.c, utils.c: Fix comment typos.
! 
! 2005-07-29  Kazu Hirata  <kazu@codesourcery.com>
! 
! 	* decl.c, init.c, initialize.c: Fix comment typos.
! 
! 2005-07-20  Giovanni Bajo  <giovannibajo@libero.it>
! 
! 	Make CONSTRUCTOR use VEC to store initializers.
! 	* decl.c (gnat_to_gnu_entity): Update to cope with VEC in
! 	CONSTRUCTOR_ELTS.
! 	* trans.c (extract_values): Likewise.
! 	* utils.c (convert, remove_conversions): Likewise.
! 	* utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
! 	gnat_build_constructor): Likewise.
! 
! 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	* decl.c (components_to_record): Use DECL_FCONTEXT instead of
! 	DECL_SECTION_NAME.
! 	(compare_field_bitpos): Likewise.
! 
! 2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	* utils.c (create_var_decl): Only set DECL_COMMON on
! 	VAR_DECLs. Only set SET_DECL_ASSEMBLER_NAME on
! 	VAR_OR_FUNCTION_DECL_P.
! 
! 2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
! 
! 	* utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
! 	removed.
! 
! 2005-07-07  Pascal Obry  <obry@adacore.com>
! 
! 	* g-socthi-mingw.adb (C_Inet_Addr): New body used to convert the
! 	returned type on Windows.
! 
! 	* g-socthi-mingw.ads (C_Inet_Addr): Remove pragma Import for this
! 	routine.
! 
! 	* g-socket.adb (Inet_Addr): Check for empty Image and raises an
! 	exception in this case.
! 	Simplify the code as "Image (Image'Range)" = "Image".
! 
! 2005-07-07  Vincent Celier  <celier@adacore.com>
! 
! 	* bindgen.adb (Gen_Output_File_C): When switch -a was specified, put
! 	the destructor/constructor attributes for <lib>final/<lib>init.
! 
! 	* gnatbind.adb (Gnatbind): Allow -a to be used in conjunction with -C
! 
! 2005-07-07  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* decl.c (gnat_to_gnu_entity) <E_Procedure>: Do not strip the padding
! 	type if the parameter is not passed by copy but reference by default.
! 
! 2005-07-07  Javier Miranda  <miranda@adacore.com>
! 
! 	* exp_ch3.adb (Build_Record_Init_Proc/Freeze_Record_Type):
! 	Reimplementation of the support for abstract interface types in order
! 	to leave the code more clear and easy to maintain.
! 
! 	* exp_ch6.adb (Freeze_Subprogram): Reimplementation of the support for
! 	abstract interface types in order to leave the code clearer and easier
! 	to maintain.
! 
! 	* exp_disp.ads, exp_disp.adb (Fill_DT_Entry): Part of its functionality
! 	is now implemented by the new subprogram Fill_Secondary_DT_Entry.
! 	(Fill_Secondary_DT_Entry): Generate the code necessary to fill the
! 	appropriate entry of the secondary dispatch table.
! 	(Make_DT): Add code to inherit the secondary dispatch tables of
! 	the ancestors.
! 
! 	* exp_util.adb (Find_Interface_Tag/Find_Interface_ADT): Instead of
! 	implementing both functionalities by means of a common routine, each
! 	routine has its own code.
! 
! 2005-07-07  Javier Miranda  <miranda@adacore.com>
! 
! 	* freeze.adb (Freeze_Entity): Check wrong uses of tag incomplete types.
! 
! 	* par-ch3.adb (P_Type_Declaration): Give support to tagged incomplete
! 	types:
! 	--
! 	  type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
! 	--
! 
! 	* sem_attr.adb (Check_Not_Incomplete_Type): Additional checks for wrong
! 	use of tag incomplete types.
! 
! 	* sem_ch3.adb (Analyze_Incomplete_Type): Add mininum decoration to
! 	give support to tagged incomplete types.
! 
! 	* sem_ch5.adb (Analyze_Case_Statement): In generated code, if the
! 	expression is a discriminant reference and its type is private, as can
! 	happen within a stream operation for a mutable record, use the full
! 	view of the type to resolve the case alternatives.
! 	(Analyze_Assignment): Check wrong dereference of incomplete types.
! 
! 	* sem_ch6.adb (Process_Formals): Allow the use of tagged incomplete
! 	types.
! 
! 	* sem_res.adb (Resolve_Explicit_Dereference): Allow the use of tagged
! 	incomplete types.
! 
! 	* sinfo.adb (Taggged_Present/Set_Taggged_Present): Applicable to
! 	N_Incomplete_Type_Declaration nodes.
! 
! 	* sinfo.ads (N_Incomplete_Type_Declaration): Addition of attribute
! 	Tag_Present to give support to tagged incomplete types:
! 	--
! 	  type DEFINING_IDENTIFIER [DISCRIMINANT_PART] [IS TAGGED];
! 	--
! 
! 2005-07-07  Olivier Hainque  <hainque@adacore.com>
! 
! 	PR ada/22301
! 
! 	* raise.c: Only include unwind.h if IN_RTS, and provide dummy type
! 	definitions for the Unwind wrappers in the compiler case.
! 
! 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* par-load.adb (Load): If a child unit is loaded through a limited_with
! 	clause, each parent must be loaded as a limited unit as well.
! 
! 	* sem_ch10.adb (Previous_Withed_Unit): Better name for
! 	Check_Withed_Unit. Return true if there is a previous with_clause for
! 	this unit, whether limited or not.
! 	(Expand_Limited_With_Clause): Do not generate a limited_with_clause on
! 	the current unit.
! 	(Is_Visible_Through_Renamings): New local subprogram of install_limited
! 	_withed_unit that checks if some package installed through normal with
! 	clauses has a renaming declaration of package whose limited-view is
! 	ready to be installed. This enforces the check of the rule 10.1.2 (21/2)
! 	of the current Draft document for Ada 2005.
! 	(Analyze_Context): Complete the list of compilation units that
! 	are allowed to contain limited-with clauses. It also contains
! 	checks that were previously done by Install_Limited_Context_Clauses.
! 	This makes the code more clear and easy to maintain.
! 	(Expand_Limited_With_Clause) It is now a local subprogram of
! 	Install_Limited_Context_Clauses, and contains the code that adds
! 	the implicit limited-with clauses for parents of child units.
! 	This functionality was prevously done by Analyze_Context.
! 
! 	* sem_ch4.adb (Analyze_Selected_Component): Check wrong use of
! 	incomplete type.
! 
! 	* sem_ch7.adb (Analyze_Package_Declaration): Check if the package has
! 	been erroneously named in a limited-with clause of its own context.
! 	In this case the error has been previously notified by Analyze_Context.
! 
! 2005-07-07  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch8.adb (Find_Direct_Name): Handle properly the case of a
! 	generic package that contains local declarations with the same name.
! 	(Analyze_Object_Renaming): Check wrong renaming of incomplete type.
! 
! 2005-07-07  Bernard Banner  <banner@adacore.com>
! 
! 	* tracebak.c: Refine tracebacks to use Unwind_Backtrace scheme on
! 	ia64 platform only on platforms that you the GCC unwind library
! 	rather than the system unwind library.
! 
! 2005-07-07  Thomas Quinot  <quinot@adacore.com>
! 
! 	* expect.c: Minor reformatting
! 
! 2005-07-07  Sergey Rybin  <rybin@adacore.com>
! 
! 	* vms_data.ads: Add VMS qualifiers for new gnatpp switch
! 	--no-separate-is
! 
! 	* gnat_ugn.texi: Add description for new gnatpp option
! 	(--no-separate-is)
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* g-expect-vms.adb, g-expect.ads, g-expect.adb
! 	(Get_Command_Output): New subprogram to launch a process and get its
! 	standard output as a string.
! 
! 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
! 	    Olivier Hainque  <hainque@adacore.com>
! 
! 	* s-mastop-tru64.adb (Pop_Frame): Use exc_lookup_function_entry to
! 	fetch a code-range descriptor associated with the machine state. On
! 	failure set the machine state's PC to 0; on success, pass the
! 	descriptor to exc_virtual_unwind.
! 
! 	* init.c (Tru64 section): New function __gnat_set_code_loc.
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
! 	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
! 	mlib-tgt-mingw.adb, mlib-tgt-darwin.adb (Build_Dynamic_Library):
! 	Remove all auto-initialization code, as this is now done through the
! 	constructor mechanism.
! 
! 	* adaint.h, adaint.c (__gnat_binder_supports_auto_init,
! 	__gnat_sals_init_using_constructors): New functions.
! 
! 	* bindgen.adb (Gen_Output_File_Ada): Generate pragmas
! 	Linker_Constructor and Linker_Destructor when switch -a is used.
! 
! 	* bindusg.adb: Add line for new switch -a
! 
! 	* gnatbind.adb (Gnatbind_Supports_Auto_Init): New Boolean function
! 	(Gnatbind): When switch -a is used, check if it is allowed
! 
! 	* switch-b.adb (Scan_Binder_Switches): Process new switch -a
! 
! 2005-07-04  Joel Brobecker  <brobecker@adacore.com>
! 
! 	* a-tags.adb (Type_Specific_Data): Define Tags_Table as a small array.
! 	This prevents us from hitting a limitation during the debug info
! 	generation when using stabs.
! 	(Prims_Ptr): Likewise.
! 
! 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* checks.adb (Null_Exclusion_Static_Checks): In the case of
! 	N_Object_Declaration, only perform the checks if the Object_Definition
! 	is not an Access_Definition.
! 
!         * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case
!         where the parent of an the access definition is an N_Object_Declaration
!         when determining the Associated_Node_For_Itype and scope of an
!         anonymous access-to-subprogram type.
! 
! 	* exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the
! 	Corresponding_Spec on the body created for a null procedure. Add ???
! 	comment. Remove New_Copy_Tree call on body argument to
! 	Set_Body_To_Inline.
! 
! 	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with
! 	discriminants, use the type of the actual as well, because the
! 	discriminants may be read by the called subprogram.
! 
! 	* sem_ch3.adb (Access_Type_Declaration): If the designated type is an
! 	access type we do not need to handle non-limited views.
! 	(Build_Derived_Record_Type): Additional check to check that in case of
! 	private types, interfaces are only allowed in private extensions.
! 
! 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* decl.c (prepend_attributes) <Pragma_Linker_Constructor>: New case.
! 	<Pragma_Linker_Destructor>: Likewise.
! 
! 	* einfo.ads (Has_Gigi_Rep_Item): Document Pragma_Linker_Constructor and
! 	Pragma_Linker_Destructor.
! 
! 	* gigi.h (attr_type): Add ATTR_LINK_CONSTRUCTOR and
! 	ATTR_LINK_DESTRUCTOR.
! 	(static_ctors, static_dtors): New variables.
! 
! 	* misc.c (gnat_expand_body): Output current function as constructor
! 	and destructor if requested.
! 
! 	* par-prag.adb: Add processing for pragma Linker_Constructor and
! 	Linker_Destructor.
! 
! 	* sem_prag.adb (Find_Unique_Parameterless_Procedure): New function
! 	extracted from Check_Interrupt_Or_Attach_Handler.
! 	(Check_Interrupt_Or_Attach_Handler): Invoke it.
! 	Implement pragma Linker_Constructor and Linker_Destructor with the
! 	help of Find_Unique_Parameterless_Procedure.
! 	Replace Name_Alias with Name_Target for pragma Linker_Alias.
! 
! 	* snames.h, snames.ads, snames.adb:
! 	Add Name_Linker_Constructor and Name_Linker_Destructor.
! 	Add Pragma_Linker_Constructor and Pragma_Linker_Destructor.
! 	* snames.adb: Remove Name_Alias.
! 
! 	* trans.c: Include cgraph.h.
! 	(build_global_cdtor): New function.
! 	(Compilation_Unit_to_gnu): Build global constructor and destructor if
! 	needed.
! 	(tree_transform) <N_Identifier>: Substitute renaming of view-conversions
! 	of objects too.
! 	(addressable_p) <COMPONENT_REF>: Unconditionally test
! 	DECL_NONADDRESSABLE_P on STRICT_ALIGNMENT platforms.
! 
! 	* utils.c (process_attributes) <ATTR_LINK_ALIAS>: Do not assemble the
! 	variable if it is external.
! 
! 	(static_ctors, static_dtors): New global variables.
! 	(process_attributes) <ATTR_LINK_CONSTRUCTOR>: New case.
! 	<ATTR_LINK_DESTRUCTOR>: Likewise.
! 	(end_subprog_body): Chain function as constructor and destructor
! 	if requested.
! 
! 	* exp_util.adb (Force_Evaluation): Unconditionally invoke
! 	Remove_Side_Effects with Variable_Ref set to true.
! 	(Remove_Side_Effects): Handle scalar types first. Use a renaming
! 	for non-scalar types even if Variable_Ref is true and for class-wide
! 	expressions.
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_attr.adb (Mod): Evaluate condition expression with checks off,
! 	to prevent spurious warnings.
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Build_TypeCode_Call): Remove incorrect processing for
! 	Itypes. Itypes are really unexpected there.
! 	(Build_TypeCode_Function): Generalise special processing for Itypes to
! 	handle the case of numeric implicit base types as well as enumerated
! 	ones.
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
! 	controlled, indicate the expected type of the dereference that is
! 	created for the call to Deep_Finalize, to prevent spurious errors when
! 	the designated type is private and completed with a derivation from
! 	another private type.
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* make.adb (Change_To_Object_Directory): When unable to change the
! 	current dir to the object directory, output the full path of the
! 	directory.
! 
! 2005-07-04  Matthew Gingell  <gingell@adacore.com>
! 
! 	* Makefile.in: Replace indepsw-linux.adb by indepsw-gnu.adb
! 
! 	* indepsw-linux.adb: Replace by...
! 
! 	* indepsw-gnu.adb: ...this new file
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-prj.adb (Auto_Initialize): New constant String
! 	(SALs_Use_Constructors): New Boolean function
! 	(Build_Library): Call gnatbind with Auto_Initialize switch when
! 	SALs_Use_Constructors returns True.
! 
! 	* mlib-tgt.ads: Minor reformatting
! 
! 	* mlib-utl.ads: Minor reformatting
! 
! 	* opt.ads: (Use_Pragma_Linker_Constructor): New Boolean flag
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* par-ch9.adb (P_Task, P_Protected): Indicate that single task and
! 	single protected declarations can have an interface list.
! 	(P_Entry_Declaration): Add handler for Error_Resync, which can be raised
! 	with seriously malformed entry declarations, and lead to compilation
! 	abandoned messages.
! 
! 2005-07-04  Javier Miranda  <miranda@adacore.com>
! 
! 	* par-load.adb: Load the context items in two rounds.
! 
! 2005-07-04  Robert Dewar  <dewar@adacore.com>
! 
! 	* scng.adb: Do not consider Mod used as an attribute to be a keyword
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_ch10.adb (Build_Limited_Views): A type declared with a private
! 	type extension needs a limited view.
! 	Remove previous restriction on private types available through the
! 	limited-view (only tagged private types were previously allowed).
! 	(Install_Withed_Unit): In the code that implements the
! 	legality rule given in AI-377, exclude a child unit with the name
! 	Standard, because it is a homonym of the Standard environment package.
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_ch4.adb (Transform_Object_Operation): For an actual that is an
! 	overloaded function call, carry interpretations from the original tree
! 	to the copy.
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch6.adb (Conforming_Types): If the types are anonymous access
! 	types check whether some designated type is a limited view, and use
! 	the non-limited view if available.
! 
! 2005-07-04  Gary Dismukes  <dismukes@adacore.com>
! 
! 	* sem_eval.adb (Subtypes_Statically_Match): Use the discriminant
! 	constraint of full view of a private view T1 if present, when T2 is a
! 	discriminated full view.
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_res.adb (Resolve_Actuals): Do not resolve the expression of an
! 	actual that is a view conversion of a bit packed array reference.
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_type.adb (Covers): Verify that Corresponding_Record_Type is
! 	present before checking whether an interface type covers a synchronized
! 	type.
! 
! 2005-07-04  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_util.adb (Is_Object_Reference): An indexed or selected component
! 	whose prefix is an implicit dereference is an object reference. Removes
! 	spurious errors when compiling with -gnatc.
! 
! 2005-07-04  Robert Dewar  <dewar@adacore.com>
! 
! 	PR ada/22039
! 
! 	* s-sopco3.ads, s-sopco4.ads, s-sopco5.ads: Minor documentation fix
! 
! 2005-07-04  Matthew Gingell  <gingell@adacore.com>
! 
! 	* tracebak.c: Enable tracebacks on ia64 platforms
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* vms_conv.adb (Initialize): Allow multiple ALI files to be given to
! 	the GNAT BIND command, as gnatbind accepts multiples ALI files with
! 	the -L or -n switches.
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* makegpr.adb (Build_Global_Archive): Make sure the list of sources is
! 	correctly computed and the main project data is not modified while
! 	doing so.
! 	(Add_C_Plus_Plus_Link_For_Gnatmake): Always link with the C++ compiler
! 	(Choose_C_Plus_Plus_Link_Process): Do not generate shell script
! 	c++linker as this does not work on some platforms.
! 
! 2005-07-04  Matthew Heaney  <heaney@adacore.com>
! 
! 	* a-convec.ads, a-coinve.ads: Declaration of subtype Extended_Index
! 	was changed.
! 	* a-coinve.adb: Perform constraint checks explicitly.
! 
! 2005-07-04  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
! 	* Make-lang.in: (ada/targtyps.o): Add missing TREE_H dependency.
! 	new target gen-soccon.
! 
! 2005-07-04  Robert Dewar  <dewar@adacore.com>
! 
! 	* s-mastop-irix.adb, s-mastop-vms.adb: Minor reformatting
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* g-socket.ads (Check_Selector): Minor rewording of comment.
! 
! 2005-07-04  Vincent Celier  <celier@adacore.com>
! 
! 	* vms_data.ads: Add VMS qualifiers for new gnatpp switch --eol=
! 
! 2005-07-04  Thomas Quinot  <quinot@adacore.com>
! 
! 	* gen-soccon.c: Add constants SO_SNDTIMEO and SO_RCVTIMEO.
! 
! 2005-07-04  Sergey Rybin  <rybin@adacore.com>
! 
!         * gnat_ugn.texi: Add description of --eol gnatpp option
! 
! 2005-07-04  Eric Botcazou  <ebotcazou@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 
!         * gnat_rm.texi: Add a note that pragma Unreferenced is not appropriate
! 	if the user wants all calls of a subprogram to be flagged,
! 	independently of whether they are made from within the same unit or
! 	another unit.
!         Mention restriction for pragma Linker_Alias on some platforms.
!         Document pragma Linker_Constructor and Linker_Destructor.
!         Rewrite documentation of Weak_External, Linker_Section and
!         Linker_Alias pragmas.
! 
! 2005-07-04  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-stausa.ads, s-stausa.adb: New files.
! 
! 2005-06-30  Kelley Cook
! 
! 	* all files:  Update FSF address in copyright headers.
! 	* gen-soccon.co (main): Output new FSF address in generated files.
! 
! 2005-06-28  Paul Brook  <paul@codesourcery.com>
! 
! 	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
! 
! 2005-06-14  Olivier Hainque  <hainque@adacore.com>
! 	    Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* s-mastop-irix.adb (Pop_Frame): Revert shorcuts avoiding calls to
! 	exc_unwind, now that we are generating proper .debug_frame output for
! 	that target.
! 
! 	* tracebak.c: Remove the mips-irix section, as we are now using the
! 	s-mastop based unwinder again.
! 	Under SPARC/Solaris, take into account the stack bias to compute the
! 	frame offset.  The stack bias is 0 for the V8 ABI and 2047 for the V9
! 	ABI.
! 
! 2005-06-14  Doug Rupp  <rupp@adacore.com>
! 
! 	* g-trasym-vms.adb: renamed g-trasym-vms-alpha.adb
! 
! 	* g-trasym-vms-alpha.adb, g-trasym-vms-ia64.adb: New files
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* a-strhas.ads, a-secain.adb, a-secain.ads, a-rbtgso.ads, a-cgaaso.adb,
! 	a-cgaaso.ads, a-cgarso.adb, a-cgcaso.adb, a-cgarso.ads, a-cgcaso.ads,
! 	a-contai.ads, a-coprnu.ads, a-coprnu.adb: Fix header style (spaces in
! 	package name).
! 
! 	* a-intnam-lynxos.ads, a-intnam-unixware.ads, a-intnam-tru64.ads,
! 	a-intnam-aix.ads, a-intnam-irix.ads, a-excpol-interix.adb,
! 	a-intnam-hpux.ads, a-intnam-linux.ads, a-intnam-dummy.ads,
! 	a-intnam-os2.ads, a-numaux-libc-x86.ads, a-intnam-interix.ads,
! 	a-intnam-solaris.ads, a-caldel-vms.adb, a-calend-vms.ads,
! 	a-intnam-vms.ads, a-excpol-abort.adb, a-intnam-mingw.ads,
! 	a-intnam-vxworks.ads, a-numaux-vxworks.ads, s-osinte-unixware.adb,
! 	s-osinte-unixware.ads, s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads,
! 	s-osinte-hpux.ads, s-osinte-solaris-posix.ads, a-intnam-freebsd.ads,
! 	s-osinte-freebsd.adb, s-osinte-freebsd.ads, s-osinte-lynxos.adb,
! 	s-osinte-lynxos.ads, s-tpopsp-lynxos.adb, s-osinte-tru64.adb,
! 	s-osinte-tru64.ads, s-tpopsp-posix-foreign.adb, s-vxwork-alpha.ads,
! 	s-osinte-aix.adb, s-osinte-aix.ads, s-osinte-aix-fsu.ads,
! 	s-osinte-irix.adb, s-osinte-irix.ads, s-interr-sigaction.adb,
! 	s-osinte-irix-athread.ads, s-osinte-hpux-dce.adb,
! 	s-osinte-hpux-dce.ads, s-osinte-posix.adb, s-osinte-linux.ads,
! 	s-vxwork-m68k.ads, s-osinte-linux-fsu.ads, s-vxwork-mips.ads,
! 	s-osinte-dummy.ads, s-interr-dummy.adb, s-osinte-os2.adb,
! 	s-osinte-os2.ads, s-osprim-os2.adb, s-osinte-interix.ads,
! 	s-osprim-unix.adb, s-vxwork-ppc.ads, s-osinte-solaris.adb,
! 	s-osinte-solaris.ads, s-osprim-solaris.adb, s-tpopsp-solaris.adb,
! 	s-vxwork-sparcv9.ads, s-osinte-solaris-fsu.ads, s-interr-vms.adb,
! 	s-osinte-vms.adb, s-osinte-vms.ads, s-osprim-vms.adb,
! 	s-osprim-vms.ads, s-tpopde-vms.adb, s-tpopde-vms.ads,
! 	s-osprim-mingw.adb, s-vxwork-xscale.ads, s-interr-vxworks.adb,
! 	s-osinte-vxworks.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb,
! 	s-tfsetr-vxworks.adb, s-tpopsp-vxworks.adb, s-intman-posix.adb,
! 	s-osinte-fsu.adb, s-osprim-posix.adb, s-tfsetr-default.adb,
! 	s-tpopsp-posix.adb, s-traces-default.adb, s-trafor-default.adb,
! 	s-trafor-default.ads, s-tratas-default.adb, a-numaux-x86.adb,
! 	a-numaux-x86.ads, a-astaco.adb, a-astaco.ads, a-caldel.adb,
! 	a-caldel.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb,
! 	a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-cwila1.ads,
! 	a-cwila9.ads, ada.ads, a-decima.adb, a-diocst.ads, a-direio.adb,
! 	a-dynpri.adb, a-dynpri.ads, a-excpol.adb, a-flteio.ads, a-fwteio.ads,
! 	a-inteio.ads, a-interr.adb, a-intnam.ads, a-intsig.adb, a-intsig.ads,
! 	a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads,
! 	a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads,
! 	a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngelfu.adb,
! 	a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads,
! 	a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads,
! 	a-nucoty.ads, a-nudira.adb, a-nuelfu.ads, a-nuflra.adb, a-numaux.ads,
! 	a-numeri.ads, a-reatim.adb, a-retide.adb, a-retide.ads, a-sequio.adb,
! 	a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.ads, a-siteio.ads,
! 	a-siwtio.ads, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads,
! 	a-storio.adb, a-strbou.adb, a-strfix.adb, a-string.ads, a-strmap.adb,
! 	a-strsea.adb, a-strsup.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb,
! 	a-stunau.ads, a-stwibo.adb, a-stwifi.adb, a-stwifi.ads, a-stwima.adb,
! 	a-stwise.adb, a-stwisu.adb, a-suteio.adb, a-suteio.ads, a-swuwti.adb,
! 	a-swuwti.ads, a-teioed.adb, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb,
! 	a-tideau.adb, a-tideio.adb, a-tienau.adb, a-tienio.adb, a-tifiio.adb,
! 	a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinio.adb, a-timoau.adb,
! 	a-timoio.adb, a-timoio.ads, a-tiocst.ads, a-titest.adb, a-titest.ads,
! 	a-witeio.adb, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads,
! 	a-wtcstr.ads, a-wtdeau.adb, a-wtdeio.adb, a-wtenau.adb, a-wtenio.adb,
! 	a-wtfiio.adb, a-wtflio.adb, a-wtgeau.adb, a-wtinau.adb, a-wtinio.adb,
! 	a-wtinio.ads, a-wtmoau.adb, a-wtmoio.adb, a-wttest.adb, calendar.ads,
! 	dec.ads, dec-io.adb, dec-io.ads, directio.ads, errno.c, g-bubsor.adb,
! 	g-bubsor.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads,
! 	g-casuti.adb, g-casuti.ads, g-debuti.ads, g-heasor.adb, g-heasor.ads,
! 	g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb,
! 	g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads,
! 	g-memdum.adb, g-memdum.ads, g-sestin.ads, g-signal.ads, g-signal.adb,
! 	gnat.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-table.adb,
! 	g-table.ads, g-thread.adb, g-thread.ads, ioexcept.ads, i-vxwoio.adb,
! 	i-vxwoio.ads, math_lib.adb, s-assert.adb, s-assert.ads, s-asthan.ads,
! 	s-bitops.adb, s-bitops.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads,
! 	s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb,
! 	s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads,
! 	s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb,
! 	s-caun64.ads, s-direio.adb, s-direio.ads, sequenio.ads, s-errrep.adb,
! 	s-errrep.ads, s-exnint.adb, s-exnint.ads, s-exnllf.adb, s-exnllf.ads,
! 	s-exnlli.adb, s-exnlli.ads, s-expint.adb, s-expint.ads, s-explli.adb,
! 	s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads,
! 	s-expuns.adb, s-expuns.ads, s-fore.adb, s-fore.ads, s-geveop.adb,
! 	s-geveop.ads, s-htable.adb, s-htable.ads, s-imgbiu.adb, s-imgbiu.ads,
! 	s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb,
! 	s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads,
! 	s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb,
! 	s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads,
! 	s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwiu.adb, s-imgwiu.ads
! 	s-interr.ads, s-io.adb, s-mantis.adb, s-mantis.ads, s-osprim.ads,
! 	s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb,
! 	s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads,
! 	s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb,
! 	s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads,
! 	s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb,
! 	s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads,
! 	s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb,
! 	s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads,
! 	s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb,
! 	s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads,
! 	s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb,
! 	s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads,
! 	s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb,
! 	s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads,
! 	s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb,
! 	s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads,
! 	s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb,
! 	s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads,
! 	s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb,
! 	s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads,
! 	s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb,
! 	s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads,
! 	s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-scaval.adb,
! 	s-scaval.ads, s-sequio.adb, s-sequio.ads, s-stache.adb, s-stache.ads,
! 	s-stratt.adb, s-stratt.ads, s-strcom.adb, s-strcom.ads, s-strops.adb,
! 	s-strops.ads, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb,
! 	s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.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.ads, s-tasres.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-tpoben.ads, s-tpobop.ads, s-tporft.adb, s-tposen.ads,
! 	s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-valint.ads,
! 	s-unstyp.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, s-vercon.adb,
! 	s-vercon.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchjis.adb, s-wchjis.ads,
! 	s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb,
! 	s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads,
! 	s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-wwdcha.ads,
! 	s-wwdenu.adb, s-wwdwch.ads, text_io.ads, s-stchop.ads, s-stchop.adb,
! 	s-stchop-vxworks.adb, a-intnam-darwin.ads, s-osinte-darwin.adb,
! 	s-osinte-darwin.ads, s-vxwork-x86.ads, a-numaux-darwin.ads,
! 	a-numaux-darwin.adb, a-chzla1.ads, a-chzla9.ads, a-lfztio.ads,
! 	a-liztio.ads, a-llfzti.ads, a-llizti.ads, a-sfztio.ads, a-siztio.ads,
! 	a-ssizti.ads, a-stzbou.adb, a-stzfix.adb, a-stzfix.ads, a-stzmap.adb,
! 	a-stzsea.adb, a-stzsup.adb, a-swunau.adb, a-swunau.ads, a-szuzti.adb,
! 	a-szuzti.ads, a-tiunio.ads, a-wwunio.ads, a-ztcoau.adb, a-ztcoau.ads,
! 	a-ztcoio.adb, a-ztcoio.ads, a-ztcstr.ads, a-ztdeau.adb, a-ztdeio.adb,
! 	a-ztenio.adb, a-ztexio.adb, a-ztfiio.adb, a-ztflio.adb, a-ztgeau.adb,
! 	a-ztinau.adb, a-ztinio.adb, a-ztinio.ads, a-ztmoau.adb, a-ztmoio.adb,
! 	a-zttest.adb, a-zzunio.ads, g-utf_32.adb: Fix header style.
! 	"GNU Ada" to GNAT, use proper casing for RUN-TIME.
! 
! 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
! 	    Arnaud Charlet  <charlet@adacore.com>
! 
! 	* a-sytaco.ads, a-sytaco.adb (Suspension_Object): These objects are no
! 	longer protected objects. They have been replaced by lower-level
! 	suspension objects made up by a mutex and a condition variable (or
! 	their equivalent given a particular OS) plus some internal data to
! 	reflect the state of the suspension object.
! 	(Initialize, Finalize): Add this initialization procedure for
! 	Suspension_Object, which is a controlled type.
! 	(Finalize): Add the finalization procedure for Suspension_Object,
! 	which is a controlled type.
! 
! 	* a-sytaco-vxworks.ads, a-sytaco-vxworks.adb: Remove this version of
! 	Ada.Synchronous_Task_Control because there is no longer a need for a
! 	VxWorks specific version of this package. Target dependencies
! 	has been moved to System.Task_Primitives.Operations.
! 
! 	* s-osinte-mingw.ads (pCRITICAL_SECTION): Remove this type which is no
! 	longer needed.
! 	(InitializeCriticalSection, EnterCriticalSection,
! 	LeaveCriticalSection, DeleteCriticalSection): Replace the type
! 	pCriticalSection by an anonymous access type so that we avoid problems
! 	of accessibility to local objects.
! 
! 	* s-taprop.ads, s-taprop-posix.adb, s-taprop-vxworks.adb,
! 	s-taprop-mingw.adb, s-taprop-vms.adb, s-taprop-solaris.adb,
! 	s-taprop-os2.adb, s-taprop-dummy.adb, s-taprop-hpux-dce.adb,
! 	s-taprop-linux.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb,
! 	s-taprop-tru64.adb, s-taprop-lynxos.adb (Elaboration Code): No longer
! 	set the environment task mask here.
! 	(Current_State): Add this function that returns the state of the
! 	suspension object.
! 	(Set_False): Add this procedure that sets the state of the suspension
! 	object to False.
! 	(Set_True): Add this procedure that sets the state of the suspension
! 	object to True, releasing the task that was suspended, if any.
! 	(Suspend_Until_True): Add this procedure that blocks the calling task
! 	until the state of the object is True. Program_Error is raised if
! 	another task is already waiting on that suspension object.
! 	(Initialize): Add this procedure for initializing the suspension
! 	object. It initializes the mutex and the condition variable which are
! 	used for synchronization and queuing, and it sets the internal state
! 	to False.
! 	(Finalize): Add this procedure for finalizing the suspension object,
! 	destroying the mutex and the condition variable.
! 
! 	* s-taspri-posix.ads, s-taspri-vxworks.ads, s-taspri-mingw.ads,
! 	s-taspri-vms.ads, s-taspri-solaris.ads, s-taspri-os2.ads,
! 	s-taspri-dummy.ads, s-taspri-hpux-dce.ads, s-taspri-linux.ads,
! 	s-taspri-tru64.ads, s-taspri-lynxos.ads (Suspension_Object): New object
! 	which provides a low-level abstraction (using operating system
! 	primitives) for Ada.Synchronous_Task_Control.
! 	This object is made up by a mutex (for ensuring mutual exclusion), a
! 	condition variable (for queuing threads until the condition is
! 	signaled), a Boolean (State) indicating whether the object is open,
! 	and a Boolean (Waiting) reflecting whether there is a task already
! 	suspended on this object.
! 
! 	* s-intman.ads, s-intman-irix.adb, s-intman-irix-athread.adb,
! 	s-intman-dummy.adb, s-intman-solaris.adb, s-intman-vms.adb,
! 	s-intman-vms.ads, s-intman-mingw.adb,
! 	(Initialize_Interrupts): Removed, no longer used.
! 
! 	* s-inmaop-posix.adb, s-inmaop-vms.adb, s-inmaop-dummy.adb,
! 	(Setup_Interrupt_Mask): New procedure.
! 
! 	* s-intman-vxworks.ads, s-intman-vxworks.adb:  Update comments.
! 
! 	* s-inmaop.ads (Setup_Interrupt_Mask): New procedure
! 
! 	* s-interr.adb: Add explicit call to Setup_Interrupt_Mask now that
! 	this is no longer done in the body of s-taprop
! 	(Server_Task): Explicitely test for Pending_Action in case
! 	System.Parameters.No_Abort is True.
! 
! 	* s-taasde.adb: Add explicit call to Setup_Interrupt_Mask now that this
! 	is no longer done in the body of s-taprop
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
! 	system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
! 	system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
! 	system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
! 	system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
! 	system-linux-x86.ads, system-vxworks-mips.ads, system-vxworks-mips.ads,
! 	system-os2.ads, system-interix.ads, system-solaris-sparc.ads,
! 	system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
! 	system-vms-zcx.ads, system-vxworks-ppc.ads, system.ads,
! 	system-darwin-ppc.ads, system-vxworks-x86.ads, system-linux-ppc.ads,
! 	system-linux-hppa.ads, system-vms_64.ads,
! 	system-vxworks-alpha.ads: Minor comment update for
! 	AI-362 (unit is Pure).
! 
! 	* a-chahan.ads, a-chahan.adb: Move Wide_Wide functions to Conversions
! 	Add pragma Pure_05 for AI-362
! 	Make remaining conversion functions obsolescent in Ada 95
! 
! 	* impunit.adb: Change a-swunha to a-swuwha and a-szunha to a-szuzha
! 	Make Ada.Wide_Characters[.Unicode] available in Ada 95 mode
! 	Add entries for a-wichun and a-zchuni
! 	Add a-widcha a-zchara for AI-395
! 	Add a-chacon (Ada.Characters.Conversions) to list of Ada 2005 routines
! 
! 	* Makefile.rtl: Change a-swunha to a-swuwha and a-szunha to a-szuzha
! 	Add entries for a-wichun.o and a-zchuni.o
! 	Entries for a-widcha.o and a-zchara.o
! 	Add entry for a-chacon.o
! 
! 	* a-ztenau.adb: Add with of Ada.Characters.Conversions
! 
! 	* a-chacon.ads, a-chacon.adb: New files.
! 
! 	* a-taside.adb, a-exstat.adb, a-excach.adb: Add warnings off to allow
! 	categorization violations.
! 
! 	* a-strmap.ads: Add pragma Pure_05 for AI-362
! 	* a-strmap.ads: Add note on implicit categorization for AI-362
! 
! 	* a-tgdico.ads, a-taside.ads: Add pragma Preelaborate_05 for AI-362
! 
! 	* par-prag.adb: Dummy entry for pragma Persistent_BSS
! 	Set Ada_Version_Explicit, for implementation of AI-362
! 	Add processing for pragma Pure_05 and Preelaborate_05
! 	Add entry for Assertion_Policy pragma
! 
! 	* sem.adb: Make sure predefined units are compiled with GNAT_Mode true
! 	when needed for proper processing of categorization stuff
! 
! 	* sem_cat.adb:
! 	For several cases, make errors in preealborate units warnings,
! 	instead of errors, if GNAT_Mode is set. For AI-362.
! 
! 	* sem_elab.adb (Check_Elab_Call): Call to non-static subprogram in
! 	preelaborate unit is now warning if in GNAT mode
! 
! 	* s-stoele.ads: Document AI-362 for pragma preelaborate
! 
! 2005-06-14  Doug Rupp  <rupp@adacore.com>
! 
! 	* s-parame-vms.ads, s-parame-hpux.ads, s-parame-vms-restrict.ads,
! 	s-parame-ae653.ads, s-parame.ads, s-parame-vxworks.ads:
! 	Default_Exception_Msg_Max_Length: new parameter.
! 
! 	* a-except.ads: (Exception_Msg_Max_Length): Set to
! 	System.Parameters.Default_Exception_Msg_Max_Length
! 	Add pragma Preelaborate_05 for AI-362
! 	Add warnings off to allow categorization violations for AI-362
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* gnatsym.adb: Adapt to modification of package Symbols: procedure
! 	Process is now in package Processing.
! 
! 	* symbols.ads, symbols.adb:
! 	(Processing): New package, containing procedure Process
! 
! 	* symbols-vms-alpha.adb:
! 	Replaced by symbols-vms.adb and symbols-processing-vms-alpha.adb
! 
! 	* symbols-vms.adb, symbols-processing-vms-alpha.adb,
! 	symbols-processing-vms-ia64.adb: New files.
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* mlib-tgt-mingw.adb (Build_Dynamic_Library): Replace the previous
! 	implementation. This new version generates the proper DllMain routine
! 	to initialize the SAL. The DllMain is generated in Ada and compiled
! 	before being added as option to the library build command.
! 
! 2005-06-14  Doug Rupp  <rupp@adacore.com>
! 	    Pascal Obry  <obry@adacore.com>
! 
! 	* adaint.c (__gnat_to_canonical_file_spec): Check for error returns in
! 	call to decc$translate_vms.
! 	(__gnat_locate_regular_file): Check if the path_val contains quotes. We
! 	need to remove those quotes before catenating the filename.
! 	(__gnat_locate_exec_on_path): improvements to the Win32 section:
! 	* avoid allocating the memory twice for better efficiency;
! 	* allocate 32K buffer for environment expansion as suggested by MSDN;
! 	* prepend ".;" to the path so that current directory is searched too.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-except.adb (Exception_Identity): return Null_Id for null occurrence
! 	instead of raising CE (AI-241)
! 	Add warnings off to allow categorization violations for AI-362
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* ali-util.adb, gnatbind.adb: Remove references to
! 	Force_RM_Elaboration_Order.
! 
! 	* switch-b.adb: Remove recognition of -f switch
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* a-stzunb.adb, a-stwiun.adb, a-strunb.adb (Realloc_For_Chunk): New
! 	implementation which is slightly more efficient.
! 
! 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 
! 	* exp_ch4.adb (Expand_Allocator_Expression): When an initialized
! 	allocator's designated type is a class-wide type, and compiling for
! 	Ada 2005, emit a run-time check that the accessibility level of the
! 	type given in the allocator's expression is not deeper than the level
! 	of the allocator's access type.
! 
! 	(Tagged_Membership): Modified to gives support to abstract interface
! 	types.
! 
! 	* a-tags.ads, a-tags.adb (type Type_Specific_Data): Add component
! 	Access_Level.
! 	(Descendant_Tag): New predefined function
! 	(Is_Descendant_At_Same_Level): New predefined function
! 	(Get_Access_Level): New private function
! 	(Set_Access_Level): New private procedure
! 	(IW_Membership): New function. Given the tag of an object and the tag
! 	associated with an interface, evaluate if the object implements the
! 	interface.
! 	(Register_Interface_Tag): New procedure used to initialize the table of
! 	interfaces used by the IW_Membership function.
! 	(Set_Offset_To_Top): Initialize the Offset_To_Top field in the prologue
! 	of the dispatch table.
! 	(Inherit_TSD): Modified to copy the table of ancestor tags plus the
! 	table of interfaces of the parent.
! 	(Expanded_Name): Raise Tag_Error if the passed tag equals No_Tag.
! 	(External_Tag): Raise Tag_Error if the passed tag equals No_Tag.
! 	(Parent_Tag): Return No_Tag in the case of a root-level tagged type,
! 	and raise Tag_Error if the passed tag equalis No_Tag, to conform with
! 	Ada 2005 semantics for the new predefined function.
! 
! 	* exp_attr.adb (Expand_N_Attribute, case Attribute_Input): Generate
! 	call to Descendant_Tag rather than Internal_Tag.
! 	(Expand_N_Attribute, case Attribute_Output): Emit a check to ensure that
! 	the accessibility level of the attribute's Item parameter is not deeper
! 	than the level of the attribute's prefix type. Tag_Error is raised if
! 	the check fails. The check is only emitted for Ada_05.
! 	(Find_Stream_Subprogram): If a TSS exists on the type itself for the
! 	requested stream attribute, use it.
! 	(Expand_N_Attribute_Reference): If the designated type is an interface
! 	then rewrite the referenced object as a conversion to force the
! 	displacement of the pointer to the secondary dispatch table.
! 	(Expand_N_Attribute_Reference, case 'Constrained): Return false if this
! 	is a dereference of an object with a constrained partial view.
! 
! 	* exp_ch5.adb (Expand_N_Return_Statement): When a function's result
! 	type is a class-wide type, emit a run-time check that the accessibility
! 	level of the returned object is not deeper than the level of the
! 	function's master (only when compiling for Ada 2005).
! 
! 	* exp_disp.ads, exp_disp.adb (Ada_Actions, Action_Is_Proc,
! 	Action_Nb_Arg): Add entries for new Get_Access_Level and
! 	Set_Access_Level routines in these tables.
! 	(Make_DT): Generate a call to set the accessibility level of the
! 	tagged type in its TSD.
! 	(Make_DT): Code cleanup. The functionality of generating all the
! 	secondary dispatch tables has been moved to freeze_record_type.
! 	(Make_Abstract_Interface_DT): Minor code cleanup.
! 	(Set_All_DT_Position): Code cleanup. As part of the code cleanup
! 	this subprogram implements a new algorithm that provides the
! 	same functionality and it is more clear in case of primitives
! 	associated with abstract interfaces.
! 	(Set_All_Interfaces_DTC_Entity): Removed. As part of the code
! 	clean up, the functionality of this subprogram is now provided
! 	by Set_All_DT_Position.
! 	(Write_DT): New subprogram: a debugging procedure designed to be called
! 	within gdb to display the dispatch tables associated with a tagged
! 	type.
! 	(Collect_All_Interfaces): New subprogram that collects the whole list
! 	of interfaces that are directly or indirectly implemented by a tagged
! 	type.
! 	(Default_Prim_Op_Position): New subprogram that returns the fixed
! 	position in the dispatch table of the default primitive operations.
! 	(Expand_Interface_Actuals): New subprogram to generate code that
! 	displaces all the actuals corresponding to class-wide interfaces to
! 	reference the interface tag of the actual object.
! 	(Expand_Interface_Conversion): New subprogram. Reference the base of
! 	the object to give access to the interface tag associated with the
! 	secondary dispatch table.
! 	(Expand_Interface_Thunk): New subprogram that generates the code of the
! 	thunk. This is required for compatibility with the C+ ABI.
! 	(Make_Abstract_Interface_DT): New subprogram that generate the
! 	declarations for the secondary dispatch tables associated with an
! 	abstract interface.
! 	(Set_All_Interfaces_DTC_Entity): New subprogram that sets the DTC_Entity
! 	attribute for each primitive operation covering interface subprograms
! 	(Expand_Dispatching_Call, Fill_DT_Entry, Make_DT, Set_All_DT_Position):
! 	These subprograms were upgraded to give support to abstract interfaces
! 
! 	* rtsfind.ads (type RE_Id): Add RE_Descendant_Tag,
! 	RE_Is_Descendant_At_Same_Level, RE_Get_Access_Level, and
! 	RE_Set_Access_Level.
! 	(RE_Unit_Table): Add entries for new Ada.Tags operations.
! 	Add support to call the followig new run-time subprograms:
! 	IW_Membership, Register_Interface_Tag, and Set_Offset_To_Top
! 
! 	* sem_ch3.adb (Constant_Redeclaration): Allow a deferred constant to
! 	match its full declaration when both have an access definition with
! 	statically matching designated subtypes.
! 	(Analyze_Component_Declaration): Delete commented out code that was
! 	incorrectly setting the scope of an anonymous access component's type.
! 	(Process_Discriminants): Set Is_Local_Anonymous_Access for the type of
! 	an access discriminant when the containing type is nonlimited.
! 	(Make_Incomplete_Type_Declaration): Create an incomplete type
! 	declaration for a record type that includes self-referential access
! 	components.
! 	(Check_Anonymous_Access_Types): Before full analysis of a record type
! 	declaration, create anonymous access types for each self-referential
! 	access component.
! 	(Analyze_Component_Declaration, Array_Type_Declaration): Indicate that
! 	an access component in this context is a Local_Anonymous_Access, for
! 	proper accessibility checks.
! 	(Access_Definition): Set properly the scope of the anonymous access type
! 	created for a stand-alone access object.
! 	(Find_Type_Of_Object): An object declaration may be given with an access
! 	definition.
! 	(Complete_Subprograms_Derivation): New subprogram used to complete
! 	type derivation of private tagged types implementing interfaces.
! 	In this case some interface primitives may have been overriden
! 	with the partial-view and, instead of re-calculating them, they
! 	are included in the list of primitive operations of the full-view.
! 	(Build_Derived_Record_Type): Modified to give support to private
! 	types implemening interfaces.
! 	(Access_Definition): Reject ALL on anonymous access types.
! 	(Build_Derived_Record_Type): In the case of Ada 2005, allow a tagged
! 	type derivation to occur at a deeper accessibility level than the
! 	parent type.
! 	For the case of derivation within a generic body however, disallow the
! 	derivation if the derived type has an ancestor that is a formal type
! 	declared in the formal part of an enclosing generic.
! 	(Analyze_Object_Declaration): For protected objects, remove the check
! 	that they cannot contain interrupt handlers if not declared at library
! 	level.
! 	(Add_Interface_Tag_Components): New subprogram to add the tag components
! 	corresponding to all the abstract interface types implemented by a
! 	record type or a derived record type.
! 	(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
! 	Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
! 	Process_Full_View, Record_Type_Declaration): Modified to give
! 	support to abstract interface types
! 	(Collect_Interfaces): New subprogram that collects the list of
! 	interfaces that are not already implemented by the ancestors
! 	(Process_Full_View): Set flag Has_Partial_Constrained_View appropriately
! 	when partial view has no discriminants and full view has defaults.
! 	(Constrain_Access): Reject a constraint on a general access type
! 	if the discriminants of the designated type have defaults.
! 	(Access_Subprogram_Declaration): Associate the Itype node with the inner
! 	full-type declaration or subprogram spec. This is required to handle
! 	nested anonymous declarations.
! 	(Analyze_Private_Extension_Declaration, Build_Derived_Record_Type,
! 	Derived_Type_Declaration, Find_Type_Name, Inherit_Components,
! 	Process_Full_View, Record_Type_Declaration): Modified to give
! 	support to abstract interface types
! 	(Derive_Subprograms): Addition of a new formal to indicate if
! 	we are in the case of an abstact-interface derivation
! 	(Find_Type_Of_Subtype_Indic): Moved from the body of the package
! 	to the specification because it is requied to analyze all the
! 	identifiers found in a list of interfaces
! 
! 	* debug.adb: Complete documentation of flag "-gnatdZ"
! 
! 	* exp_ch3.adb: Implement config version of persistent_bss pragma
! 	(Check_Stream_Attributes): Use Stream_Attribute_Available instead of
! 	testing for TSS presence to properly enforce visibility rules.
! 	(Freeze_Record_Type): Code cleanup. Modified to call the subprogram
! 	Make_Abstract_Interfaces_DT to generate the secondary tables
! 	associated with abstract interfaces.
! 	(Build_Init_Procedure): Modified to initialize all the tags
! 	corresponding.
! 	(Component_Needs_Simple_Initialization): Similar to other tags,
! 	interface tags do not need initialization.
! 	(Freeze_Record_Type): Modified to give support to abstract interface
! 	types.
! 	(Expand_N_Object_Declaration): Do not generate an initialization for
! 	a scalar temporary marked as internal.
! 
! 	* exp_ch6.adb (Add_Simple_Call_By_Copy_Code): Handle properly an
! 	in-out parameter that is a component in an initialization procedure,
! 	whose constraint might depend on discriminants, and that may be
! 	misaligned because of packing or representation clauses.
! 	(Is_Legal_Copy): New predicate to determine whether a possibly
! 	misaligned in-out actual can actually be passed by copy/return. This
! 	is an error in case the type is by_reference, and a warning if this is
! 	the consequence of a DEC import pragma on the subprogram.
! 	(Expand_Call, Freeze_Subprogram): Modified to give support to abstract
! 	interface types
! 	(Expand_Inlined_Call): Mark temporary generated for the return value as
! 	internal, so that no useless scalar normalization is generated for it.
! 	(Expand_N_Subprogram_Declaration): Save unanalyzed body so calls to
! 	null procedure can always be inlined.
! 	(Expand_N_Subprogram_Declaration): If this is the declaration of a null
! 	procedure, generate an explicit empty body for it.
! 
! 	* exp_util.ads, exp_util.adb (Find_Interface_ADT): New subprogram.
! 	Given a type implementing an interface, returns the corresponding
! 	access_disp_table value.
! 	(Find_Interface_Tag): New subprogram. Given a type implementing an
! 	interface, returns the record component containing the tag of the
! 	interface.
! 	(Find_Interface_Tag): New overloaded subprogram. Subsidiary to the
! 	previous ones that return the corresponding tag and access_disp_table
! 	entities.
! 	(Is_Predefined_Dispatching_Operation): Determines if a subprogram
! 	is a predefined primitive operation.
! 	(Expand_Subtype_From_Expr): If the expression is a selected component
! 	within an initialization procedure, compute its actual subtype, because
! 	the component may depend on the discriminants of the enclosing record.
! 
! 	* i-cpp.ads, i-cpp.adb:
! 	This package has been left available for compatibility with previous
! 	versions of the frontend. As part of the new layout this is now a
! 	dummy package that uses declarations available at a-tags.ads
! 
! 	* par-ch3.adb (P_Identifier_Declarations): Give an error for use of
! 	"constant access" and "aliased [constant] access" when not compiling
! 	with -gnat05.
! 	Suppress Ada 2005 keyword warning if -gnatwY used
! 	(P_Identifier_Declarations): Add support for object declarations with
! 	access definitions.
! 	(Private_Extension_Declaration): Complete the documentation
! 	(P_Derived_Type_Def_Or_Private_Ext_Decl): Fill the inteface_list
! 	attribute in case of private extension declaration
! 	(P_Type_Declaration): Mark as "abstract" the type declarations
! 	corresponding with protected, synchronized and task interfaces
! 	(P_Declarative_Items): "not" and "overriding" are overriding indicators
! 	for a subprogram or instance declaration.
! 
! 	* sem_ch12.adb (Analyze_Subprogram_Instantiation): Verify that an
! 	instantiation that is a dispatching operation has controlling access
! 	parameters that are null excluding.
! 	Save and restore Ada_Version_Explicit, for implementation of AI-362
! 	(Validate_Derived_Type_Instance): Add check for abstract interface
! 	types.
! 	(Analyze_Formal_Package): Establish Instantiation source for the copy of
! 	the generic that is created to represent the formal package.
! 	(Analyze_Package_Instantiation): Instantiate body immediately if the
! 	package is a predefined unit that contains inlined subprograms, and
! 	we are compiling for a Configurable_Run_Time.
! 	(Instantiate_Formal_Subprogram): Indicate that null default subprogram
! 	If the program has a null default, generate an empty body for it.
! 
! 	* sem_ch6.adb, sem_ch9.adb (Analyze_Subprograms_Declaration): Update
! 	error message condition, null procedures are correctly detected now.
! 	(New_Overloaded_Entity): Bypass trivial overriding indicator check
! 	for subprograms in the context of protected types. Instead, the
! 	indicator is examined in Sem_Ch9 while analysing the subprogram
! 	declaration.
! 	(Check_Overriding_Indicator): Check consistency of overriding indicator
! 	on subprogram stubs as well.
! 	(Analyze_Subprogram_Declaration): Diagnose null procedures declared at
! 	the library level.
! 	(Analize_Subprogram_Specification): When analyzing a subprogram in which
! 	the type of the first formal is a concurrent type, replace this type
! 	by the corresponding record type.
! 	(Analyze_Subprogram_Body): Undo the previous work.
! 	(Analyze_Procedure_Call): If the call has the form Object.Op, the
! 	analysis of the prefix ends up analyzing the call itself, after which
! 	we are done.
! 	(Has_Interface_Formals): New subprogram subsidiary to analyze
! 	subprogram_specification that returns true if some non
! 	class-wide interface subprogram is found
! 	(New_Overloaded_Entity): Modified to give support to abstract
! 	interface types
! 	(Conforming_Types): In Ada 2005 mode, conformance checking of anonymous
! 	access to subprograms must be recursive.
! 	(Is_Unchecked_Conversion): Improve the test that recognizes
! 	instantiations of Unchecked_Conversion, and allows them in bodies that
! 	are to be inlined by the front-end. When the body comes from an
! 	instantiation, a reference to Unchecked_Conversion will be an
! 	Expanded_Name, even though the body has not been analyzed yet.
! 	Replace Is_Overriding and Not_Overriding in subprogram_indication with
! 	Must_Override and Must_Not_Override, to better express intent of AI.
! 	(Analyze_Subprogram_Body): If an overriding indicator is given, check
! 	that it is consistent with the overrinding status of the subprogram
! 	at this point.
! 	(Analyze_Subprogram_Declaration): Indicate that a null procedure is
! 	always inlined.
! 	If the subprogram is a null procedure, indicate that it does not need
! 	a completion.
! 
! 	* sem_disp.adb (Check_Controlling_Type): Give support to entities
! 	available through limited-with clauses.
! 	(Check_Dispatching_Operation): A stub acts like a body, and therefore is
! 	allowed as the last primitive of a tagged type if it has no previous
! 	spec.
! 	(Override_Dispatching_Operation, Check_Dispatching_Operation): Modified
! 	to give support to abstract interface types
! 
! 	* sem_res.adb (Valid_Conversion): Perform an accessibility level check
! 	in the case where the target type is an anonymous access type of an
! 	object or component (that is, when Is_Local_Anonymous_Access is true).
! 	Prevent the special checks for conversions of access discriminants in
! 	the case where the discriminant belongs to a nonlimited type, since
! 	such discriminants have their accessibility level defined in the same
! 	way as a normal component of an anonymous access type.
! 	(Resolve_Allocator): When an allocator's designated type is a class-wide
! 	type, check that the accessibility level of type given in the
! 	allocator's expression or subtype indication is not statically deeper
! 	than the level of the allocator's access type.
! 	(Check_Discriminant_Use): Diagnose discriminant given by an expanded
! 	name in a discriminant constraint of a record component.
! 	(Resolve_Explicit_Dereference): Do not check whether the type is
! 	incomplete when the dereference is a use of an access discriminant in
! 	an initialization procedure.
! 	(Resolve_Type_Conversion): Handle conversions to abstract interface
! 	types.
! 	(Valid_Tagged_Conversion): The conversion of a tagged type to an
! 	abstract interface type is always valid.
! 	(Valid_Conversion): Modified to give support to abstract interface types
! 	(Resolve_Actuals): Enable full error reporting on view conversions
! 	between unrelated by_reference array types.
! 	The rule for view conversions of arrays with aliased components is
! 	weakened in Ada 2005.
! 	Call to obsolescent subprogram is now considered to be a violation of
! 	pragma Restrictions (No_Obsolescent_Features).
! 	(Check_Direct_Boolean_Operator): If the boolean operation has been
! 	constant-folded, there is nothing to check.
! 	(Resolve_Comparison_Op, Resolve_Equality_Op, Resolve_Boolean_Op): Defer
! 	check on possible violation of restriction No_Direct_Boolean_Operators
! 	until after expansion of operands, to prevent spurious errors when
! 	operation is constant-folded.
! 
! 	* sem_type.ads, sem_type.adb (Covers, Intersect_Types, Specific_Type,
! 	Has_Compatible_Type): Modified to give support to abstract interface
! 	types.
! 	(Interface_Present_In_Ancestor): New function to theck if some ancestor
! 	of a given type implements a given interface
! 
! 	* sem_ch4.adb (Analyze_Call): Handle properly an indirect call whose
! 	prefix is a parameterless function that returns an access_to_procedure.
! 	(Transform_Object_Operation): Handle properly function calls of the
! 	form Obj.Op (X), which prior to analysis appear as indexed components.
! 	(Analyze_One_Call): Complete the error notification to help new Ada
! 	2005 users.
! 	(Analyze_Allocator): For an allocator without an initial value, where
! 	the designated type has a constrained partial view, a discriminant
! 	constraint is illegal.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-textio.adb (Set_Col): Fix two errors noticed recently, having to
! 	do with treatment of Set_Col when positioned at end of line character.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* atree.adb: (Elist*): Protect against uninitialized field
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* checks.adb (Install_Null_Excluding_Check): Do not generate checks
! 	for an attribute reference that returns an access type.
! 	(Apply_Discriminant_Check): No need for check if (designated) type has
! 	constrained partial view.
! 
! 	(Apply_Float_Conversion_Check): Generate a short-circuit expression for
! 	both bound checks, rather than a conjunction.
! 	(Insert_Valid_Check): If the expression is an actual that is an indexed
! 	component of a bit-packed array, force expansion of the packed element
! 	reference, because it is specifically inhibited elsewhere.
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* clean.adb (Clean_Project): Correctly delete executable specified as
! 	absolute path names.
! 
! 	* make.adb (Gnatmake): Allow relative executable path names with
! 	directory information even when project files are used.
! 	(Change_To_Object_Directory): Fail gracefully when unable to change
! 	current working directory to object directory of a project.
! 	(Gnatmake): Remove exception handler that could no longer be exercized
! 	(Compile_Sources.Compile): Use deep copies of arguments, as some of them
! 	may be deallocated by Normalize_Arguments.
! 	(Collect_Arguments): Eliminate empty arguments
! 
! 	* gnatcmd.adb (All_Projects): New Boolean flag, initialized to False,
! 	and set to True when -U is used for GNAT PRETTY or GNAT METRIC.
! 	(Check_Project): Return False when Project is No_Project. Return True
! 	when All_Projects is True.
! 	(GNATCmd): Recognize switch -U for GNAT PRETTY and GNAT METRIC and set
! 	All_Projects to True.
! 	Minor reformatting
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Hristian Kirtchev  <kirtchev@adacore.com>
! 	    Gary Dismukes  <dismukes@adacore.com>
! 
! 	* einfo.ads, einfo.adb (Is_Local_Anonymous_Access): New flag on
! 	anonymous access types, to indicate that the accessibility level of
! 	the type is determined by that of the enclosing declaration.
! 	(Has_Persistent_BSS): New flag
! 	(Set_Is_Primitive_Wrapper): Upgrade the barrier to allow the usage
! 	of this attribute with functions.
! 	(Is_Primitive_Wrapper): Remove the barrier.
! 	(Has_Specified_Stream_Input, Has_Specified_Stream_Output,
! 	Has_Specified_Stream_Read, Has_Specified_Stream_Write):
! 	New subprograms.
! 	(Set_Has_Specified_Stream_Input, Set_Has_Specified_Stream_Output,
! 	Set_Has_Specified_Stream_Read, Set_Has_Specified_Stream_Write):
! 	New subprograms.
! 	(Is_Pure_Unit_Access_Type): New flag
! 	(Abstract_Interfaces): Complete the assertion to cover all usages.
! 	(Set_Is_Interface): Complete the assertion to cover all usages.
! 	(Is_Primitive_Wrapper): New attribute.
! 	(Is_Obsolescent): Now applies to all entities (though it is only set
! 	for subprograms currently)
! 	New flag:  Has_Constrained_Partial_View, to implemente Ada 2005 AI-363,
! 	which solves various problems concerning access subtypes.
! 	(Has_Persistent_BSS): New flag
! 	(Is_Primitive_Wrapper, Set_Primitive_Wrapper): Code cleanup.
! 	Remove these subprograms because this attribute is currently
! 	not used.
! 	New entity flags:
! 	Has_Specified_Stream_Input (Flag190)
! 	Has_Specified_Stream_Output (Flag191)
! 	Has_Specified_Stream_Read (Flag192)
! 	Has_Specified_Stream_Write (Flag193)
! 	Present in all type and subtype entities. Set for a given view if the
! 	corresponding stream-oriented attribute has been defined by an
! 	attribute definition clause. When such a clause occurs, a TSS is set
! 	on the underlying full view; the flags are used to track visibility of
! 	the attribute definition clause for partial or incomplete views.
! 	(Is_Pure_Unit_Access_Type): New flag
! 	Clarify use of Is_Internal.
! 	(Is_Primitive_Wrapper): New attribute present in primitive subprograms
! 	internally generated to wrap the invocation of tasks and protected
! 	types that implement interfaces.
! 	(Implementation_Base_Type): Documentation correction
! 	(Is_Obsolescent): Now applies to all entities (though it is only set
! 	for subprograms currently)
! 	New flag:  Has_Constrained_Partial_View, to implement Ada 2005 AI-363,
! 	which solves various problems concerning access subtypes.
! 
! 	* exp_ch9.adb (Type_Conformant_Parameters): Introduce mode conformance
! 	for examined parameters. Identify unequal parameter list lengths as
! 	non-conformant parameters.
! 	(Overriding_Possible): Do not check for "All" qualifier in declaration
! 	of controlling access parameter, following prescription of AI-404.
! 	(Build_Entry_Wrapper_Spec, Build_Entry_Wrapper_Body): New subprograms
! 	that build the procedure body that wraps an entry invocation
! 	(Build_Corresponding_Record, Build_Protected_Sub_Specification,
! 	Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration,
! 	Expand_N_Task_Body, Expand_N_Task_Type_Declaration): Modified to
! 	give support to abstract interface types
! 
! 	* freeze.adb (Freeze_Entity): Issue error message if
! 	Is_Pure_Unit_Access_Type set, unless we are in Ada 2005 mode and the
! 	type has no storage pool (Ada 2005) AI-366.
! 	Also modified to give support to abstract interface types
! 	(Freeze_Subprogram): Issue an error for a dispatching subprogram with an
! 	Inline_Always pragma.
! 
! 	* par-ch9.adb (P_Task_Items): Reserved words "not" or "overriding" may
! 	now begin an entry declaration.
! 	(P_Entry_Or_Subprogram_With_Indicator): New procedure in
! 	P_Protected_Operation_Declaration_Opt. Parse an entry declaration or
! 	a subprogram declaration preceded by an overriding indicator.
! 	(P_Protected_Operation_Declaration_Opt): Add case for parsing entry
! 	declarations or subprogram declarations preceded by reserved words
! 	"not" or "overriding".
! 	(P_Entry_Declaration): Update comment. Parse and check overriding
! 	indicator, set semantic flags of entry declarations.
! 	(P_Task): New error message in case of private applied
! 	to a task type declaration.
! 	(P_Protected): New error message in case of private applied
! 	to a task type declaration.
! 
! 	* sem_ch7.adb (Preserve_Full_Attributes): Modified to handle the case
! 	in which the full view of a type implementing an interface is a
! 	concurrent type.
! 	(Has_Overriding_Pragma): Remove obsolete implementation of AI-218.
! 	Declare_Inherited_Private_Subprograms): If an explicit operation
! 	overrides an operation that is inherited in the private part, mark the
! 	explicit one as overriding, to enable overriding indicator checks.
! 	(Preserve_Full_Attributes): Propagate Is_Unchecked_Union attribute from
! 	full view to partial view, to simplify handling in back-end.
! 
! 	* sprint.adb: Print interface lists where needed: derived types,
! 	protected types, task types.
! 	output "is null" for null procedures. Part of implementation of
! 
! 	* sem_cat.adb (Validate_Access_Type_Declaration): Implement AI-366
! 	relaxation of rules for access types in pure, shared passive partitions.
! 
! 	* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Reorganize to
! 	first read discriminants into temporary objects, performing checks on
! 	the read values, then possibly performing discriminant checks on the
! 	actual (if it is constrained), and only finally reading the components
! 	into a constrained temporary object.
! 	(Build_Elementary_Input_Call): Adjust the specific circuitry for the
! 	case of reading discriminants of a mutable record type to recognize
! 	the new form of the code generated by
! 	Build_Mutable_Record_Read_Procedure.
! 
! 	* exp_tss.ads, exp_tss.adb (Make_Init_Proc_Name): Reimplement in terms
! 	of a simple call to Make_TSS_Name.
! 	(Make_TSS_Name_Local): Add the TSS name as the last thing in the name
! 	buffer, in order for Is_TSS to work correctly on local TSS names.
! 
! 	* sem_attr.ads, sem_attr.adb (Resolve_Attribute, case 'Access): Use flag
! 	Is_Local_Anonymous_Access to check legaliy of attributes in the
! 	context of  access components and stand-alone access objects.
! 	(Stream_Attribute_Available): In Ada 95 mode, a stream attribute is
! 	treated as available for a limited private type if there is an
! 	attribute_definition_clause that applies to its full view, but not in
! 	other cases where the attribute is available for the full view
! 	(specifically, the sole fact that the full view is non-limited does not
! 	make the attribute available for the partial view).
! 	(Build_Access_Subprogram_Type): Diagnose attempt to apply 'access to a
! 	non-overloaded intrinsic subprogram.
! 	(Check_Stream_Attribute): Reject an attribute reference for an
! 	unavailable stream attribute even if the prefix is not a limited type
! 	(case of a 'Input attribute reference for an abstract, non-classwide
! 	type)
! 	(Stream_Attribute_Available): New function to determine whether a stream
! 	attribute is available at a place.
! 	(Check_Attribute): Use Stream_Attribute_Available instead of just
! 	testing for TSS presence on the implementation base type.
! 	(Analyze_Attribute): Modified to give support to task interfaces.
! 	(Analyze_Access_Attribute): Add error check for use of an Access (or
! 	Unrestricted_Access) attribute with a subprogram marked as
! 	Inline_Always.
! 	(Analyze_Attribute, case Attribute_Address): Add error check for use of
! 	an Address attribute with a subprogram marked as Inline_Always.
! 	Update Eval_Attribute to handle new value of Width from AI-395
! 
! 	* sem_ch13.adb (Analyze_Stream_TSS_Definition): New subprogram.
! 	(Analyze_Attribute_Definition_Clause, cases Input, Output, Read, Write):
! 	Factor common code across the stream-oriented attribute circcuits into
! 	a new subprogram, Analyze_Stream_TSS_Definition. The new uniform
! 	processing is functionally identical to the previous duplicated one,
! 	except that an expression that denotes an abstract subprogram will now
! 	be rejected, as mandated by AI-195 item 5.
! 
! 	* sem_util.ads, sem_util.adb (Type_Access_Level): Use flag
! 	Is_Local_Anonymous_Access to apply accessibility checks to access
! 	components and stand-alone access objects.
! 	(Has_Discriminant_Dependent_Constraint): Moved to spec for use
! 	elsewhere.
! 	(Is_Potentially_Persistent_Type): New function
! 	(Is_Dependent_Component_Of_Mutable_Object): If the enclosing object is
! 	a heap-object whose type has a constrained partial view, the object is
! 	unconstrained and the component may depend on a discriminant, making its
! 	renaming illegal.
! 
! 	* sinfo.ads, sinfo.adb
! 	(Must_Not_Override): Flag applicable to N_Entry_Declaration.
! 	(Must_Override): Flag applicable to N_Entry_Declaration.
! 	Indicate that interface_list can appear in single task and single
! 	protected declarations.
! 	Replace Is_Overriding and Not_Overriding with Must_Override and
! 	Must_Not_Override, to better express intent of AI.
! 	Is_Overriding, Not_Overriding: Ada2005 flags that indicate the presence
! 	of an overriding indicator in a subprogram or instance.
! 	Ada 2005 (AI-248) Null_Present can appear in a procedure specification.
! 	Add the overriding indicator [[not] overriding] construct to the
! 	following grammar productions:
! 	 ENTRY_DECLARATION
! 	 GENERIC_INSTANTIATION
! 	 SUBPROGRAM_SPECIFICATION
! 
! 	* par-ch10.adb (P_Compilation_Unit): Subprogram declaration or body
! 	can start with an overriding indicator.
! 
! 	* par-ch6.adb (P_Subprogram): Recognize overriding indicator, and set
! 	flags accordingly on subrogram specifications or instances.
! 
! 	* sem_ch8.adb:
! 	(Analyze_Subprogram_Renaming): For a renaming_as_body, verify that the
! 	overriding_indicator, if present, is consistent with status of spec.
! 	Improve error message for null-excluding checks on controlling access
! 	parameters.
! 	(Check_In_Previous_With_Clause): Protect the frontend against
! 	previously reported critical errors in the context clauses.
! 	Save and restore Ada_Version_Explicit, for implementation of AI-362
! 	(Analyze_Subprogram_Renaming): If the new entity is a dispatching
! 	operation verify that controlling formals of the renamed entity that
! 	are access parameters are explicitly non-null.
! 	(Find_Expanded_Name): Improve error message when prefix is an illegal
! 	reference to a private child unit.
! 
! 	* exp_imgv.adb, s-imgwch.ads, s-imgwch.adb, s-valwch.adb,
! 	s-valwch.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdwch.adb:
! 	Rewrite to correspond to new wide character names in AI-395
! 
!         * par-ch12.adb (P_Formal_Subprogram_Declaration): Recognize null
!         default procedures.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 
! 	* errout.ads, errout.adb (Error_Msg_NW): Only emit warning on user
! 	code, not on the bodies of predefined operations, to cut down on
! 	spurious noise.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_aggr.adb (Aggr_Size_OK): An array with no components can always
! 	be expanded in place. The size computation does not require a
! 	subtraction, which would raise an exception on a compiler built with
! 	assertions when the upper bound is Integer'first.
! 	(Flatten): For an array of composite components, take into account the
! 	size of the components to determine whether it is safe to expand the
! 	array into a purely positional representation.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_ch2.adb (Param_Entity): Take the case of an expanded_name
! 	denoting a formal parameter into account.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_ch7.adb (Find_Node_To_Be_Wrapped): If the node appears within
! 	the entry_call alternative of a conditional entry call, wrap the
! 	conditional entry call itself.
! 
! 2005-06-14  Nicolas Setton  <setton@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_dbug.ads, exp_dbug.adb (Get_Variant_Part): Fix the encoding of
! 	the "simple_choice" member in a variant record, in accordance with the
! 	description in the package spec: the information output for a constant
! 	should be "S number", not "SS number".
! 	(Get_Encoded_Name): Return at once if not generating code. Avoids name
! 	overflow problem when compiling with -gnatct, for ASIS/gnatmetrics.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): For an
! 	RACW without any primitives, do not generate the if statement for
! 	dispatching by name in the PolyORB/DSA case, as it would be malformed
! 	(it would have an Elsif_Parts list that is not No_List, but with a
! 	length of 0).
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_intr.adb, par-ch5.adb: Minor fix to error message text
! 
! 2005-06-14  Jose Ruiz  <ruiz@adacore.com>
! 
! 	* fe.h: Add entry for Opt.Exception_Locations_Suppressed so that gigi
! 	can determine whether pragma Suppress_Exception_Locations is in effect.
! 
! 	* utils2.c (build_call_raise): Do not pass the file name to the
! 	exception handler if pragma Suppress_Exception_Locations is in effect.
! 	(build_allocator): Add and process arg IGNORE_INIT_TYPE.
! 
! 2005-06-14  Emmanuel Briot  <briot@adacore.com>
! 
! 	* g-debpoo.adb (Deallocate, Dereference): Improve output.
! 
! 2005-06-14  Nicolas Roche  <roche@adacore.com>
! 
! 	* g-diopit.adb (Wildcard_Iterator): Return directly if Path is equal
! 	to ""
! 	(Next_Level): Fix minor bug in handling of ../dir case
! 	(Read): Add dir separator to Directory name so that "" is understood as
! 	 "/"
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* g-dynhta.ads, g-dynhta.adb (Reset): Free the table itself after
! 	releasing the items.
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 	    Cyrille Comar  <comar@adacore.com>
! 
! 	* g-os_lib.ads, g-os_lib.adb (Non_Blocking_Spawn): Two new versions
! 	with output file descriptor and with output file name.
! 	(Dup, Dup2): Now global procedures as they are used by two subprograms
! 	(Copy): Allocate the 200K buffer on the heap rather than on the stack.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	PR ada/6717
! 
! 	* g-socket.ads, g-socket.adb (Inet_Addr): Special case the all-ones
! 	broadcast address.
! 	(Create_Selector): Bind listening socket used to create the signalling
! 	socket pair to 127.0.0.1 to limit the scope for 'theft' of connection.
! 	Set listen backlog to 1 to ensure that we detect socket theft by a
! 	failure of our own connect(2) call.
! 	(Check_Selector): Improve documentation of the selector mechanism.
! 	(Broadcast_Inet_Addr): New constant.
! 
! 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
! 
! 	* layout.adb (Discrimify): Remove resetting of Vtype to the underlying
! 	type which turns out to be an incomplete and incorrect fix.
! 	(Layout_Array_Type): Use Underlying_Type when checking whether the scope
! 	of the type is declared in a record (for determination of insertion
! 	type).
! 	(SO_Ref_From_Expr): Test whether Vtype denotes a partial or full view of
! 	a private type and ensure that the primary entity is used for the type
! 	of the newly created function's V formal by taking the Etype of the
! 	view.
! 
! 2005-06-14  Javier Miranda  <miranda@adacore.com>
! 	    Jose Ruiz  <ruiz@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* lib-load.ads, lib-load.adb (Load_Unit): Addition of a new parameter
! 	that indicates if we are parsing a compilation unit found in a
! 	limited-with clause.
! 	It is use to avoid the circularity check.
! 
! 	* par.ads, par.adb (Par): Addition of a new parameter to indicate if
! 	we are parsing a compilation unit found in a limited-with clause. This
! 	is use to avoid the circularity check.
! 
! 	* par-load.adb (Load): Indicate Lib.Load_Unit if we are loading the
! 	unit as a consequence of parsing a limited-with clause. This is used
! 	to avoid the circularity check.
! 
! 	* sem_ch10.adb: Suppress Ada 2005 unit warning if -gnatwY used
! 	(Analyze_Context): Limited-with clauses are now allowed
! 	in more compilation units.
! 	(Analyze_Subunit_Context, Check_Parent): Protect the frontend
! 	againts previously reported critical errors in context clauses
! 	(Install_Limited_Withed_Unit): Code cleanup plus static detection
! 	of two further errors: renamed subprograms and renamed packages
! 	are not allowed in limited with clauses.
! 	(Install_Siblings): Do not install private_with_clauses on the package
! 	declaration for a non-private child unit.
! 	(Re_Install_Parents): When a parent of the subunit is reinstalled,
! 	reset visibility of child units properly.
! 	(Install_Withed_Unit): When a child unit appears in a with_clause of its
! 	parent, it is immediately visible.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 	    Emmanuel Briot  <briot@adacore.com>
! 
! 	* lib-xref.ads, lib-xref.adb (Generate_Definition): Treat any entity
! 	declared within an inlined body as referenced, to prevent spurious
! 	warnings.
! 	(Output_One_Ref): If an entity renames an array component, indicate in
! 	the ALI file that this aliases (renames) the array. Capture as well
! 	function renamings that rename predefined operations.
! 	Add information about generic parent for package and subprogram
! 	instances.
! 	(Get_Type_Reference): For a subtype that is the renaming of an actual in
! 	an instantiation, use the first_subtype to ensure that we don't generate
! 	cross-reference information for internal types.
! 	For objects and parameters of a generic private type, retain the '*'
! 	indicator to distinguish such an entity from its type.
! 
!         * ali.ads (Xref_Entity_Record): New fields Iref_File_Num and Iref_Line,
!         to store information about instantiated entities.
! 
!         * ali.adb (Scan_ALI): Add support for parsing the reference to the
!         generic parent
! 
!         * xref_lib.adb (Skip_To_Matching_Closing_Bracket): New subprogram
!         (Parse_Identifier_Info, Parse_Token): Add support for the generic parent
!         information.
! 
! 2005-06-10  Doug Rupp  <rupp@adacore.com>
! 	    Arnaud Charlet  <charlet@adacore.com>
! 	    Olivier Hainque  <hainque@adacore.com>
! 	    Jose Ruiz  <ruiz@adacore.com>
! 
! 	* Make-lang.in: Add initialize.o when needed.
! 	Remove obsolete references to RT_FLAGS.
! 	Add missing dependencies for sdefault.o
! 
! 	* initialize.c: New file.
! 
! 	* init.c [VMS] Declare ADA$ externs weak to fix build problem in IVMS.
! 	[VMS] cond_signal_table: Fix problem in declaration.
! 	[VMS] __gnat_error_handler: rewrite.
! 	Move all __gnat_initialize() routines to initialize.c
! 	Specialize the former "hpux" section to "hppa hpux", as this is what the
! 	section really is here for and we now have other hpux ports that need
! 	different contents.
! 	(__gnat_adjust_context_for_raise) i386-linux: First version of this
! 	function for this target. Adjust PC by one in the machine context. This
! 	adjustment was previously done in the MD_FALLBACK_FRAME_STATE_FOR, but
! 	it is more reliable to do that in the signal handler itself.
! 	(__gnat_install_handler) i386-linux: Set SA_SIGINFO in the sigaction
! 	flags, so that the handler is passed the context structure to adjust
! 	prior to the raise.
! 	(__gnat_error_handler) i386-linux: Adjust the signature to match what a
! 	SA_SIGINFO sigaction should look like. Call
! 	__gnat_adjust_context_for_raise before actually raising. Cleanup unused
! 	Machine_State_Operations stuff.
! 	Add conditional code so that the x86_64 is also supported.
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* mdll.adb (Get_Dll_Name): New routine that returns the DLL name given
! 	the library name.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* opt.ads, opt.adb: New flags for persistent_bss mode
! 	Add Ada_Version_Explicit, for implementation of AI-362
! 	Add Assertions_Enabled_Config and associated handling
! 	Needed since setting can be changed with Assertion_Policy pragma
! 	Add new flag Warn_On_Ada_2005_Compatibility
! 
! 	* switch-c.adb: Recognize -gnatwy/Y
! 	Set Ada_Version_Explicit, for implementation of AI-362
! 	The -gnatg switch now includes -gnatyu
! 
! 	* usage.adb: Add -gnatwy/Y
! 	Remove wrong asterisk on -gnatwX line
! 	Add line for -gnatyu switch
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* osint.adb (Add_Default_Search_Dirs): Put source and object
! 	directories of project files before directories coming from
! 	ADA_INCLUDE_PATH and ADA_OBJECTS_PATH.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	PR ada/15613
! 
! 	* par-ch2.adb (Scan_Pragma_Argument): New procedure
! 	(P_Pragma): Implement RM 2.8(4) check for no pos args after named args
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* prep.adb (Preprocess): Ignore error when scanning the first token of
! 	a line.
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-nmsc.adb (Suffix_For): Change default suffix for C++ to ".cpp"
! 	(Check_Stand_Alone_Library): If the specified reference symbol file does
! 	not exist, only issue a warning when the symbol policy is not
! 	Controlled. And, when symbol policy is Compliant, set the symbol
! 	policy to Autonomous.
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-part.adb (Pre_Parse_Context_Clause): Call Set_Is_Not_Last_In_List
! 	when the project file in a with clause is not the last one, that is the
! 	project file name is followed by a comma.
! 	* prj-pp.adb: (First_With_In_List): New Boolean global variable
! 	(Print): Issue list of project files separated by commas in with clauses
! 	according to the values returned by Is_Not_Last_In_List.
! 	* prj-tree.ads, prj-tree.adb: (Is_Not_Last_In_List): New function
! 	(Set_Is_Not_Last_In_List): New procedure
! 
! 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* s-atacco.ads: Put a pragma No_Strict_Aliasing on Object_Pointer.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* scng.adb: Add call to new Check_EOF routine
! 	(Accumulate_Checksum): Properly handle wide wide char >= 2 ** 24
! 	Add some comments regarding wide character handling
! 
! 	* style.ads, styleg.ads, styleg.adb: Implement new style switch -gnatyu
! 
! 	* stylesw.ads, stylesw.adb: Implement new style switch -gnatyu
! 
! 	* g-utf_32.ads, g-utf_32.adb (Is_UTF_32_Non_Graphic): Other_Format
! 	characters are now considered graphic characters and hence yield false
! 	in this call.
! 
!         * nmake.adt: Modify header so that xnmake does not generate output
!         files with multiple blank lines.
! 
!         * treeprs.adt: Remove a blank line so that output from xtreeprs does
!         not have an extra blank line
! 
! 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
! 
! 	* sem_aggr.adb (Aggregate_Constraint_Checks): Apply a conversion to the
! 	expression when the component type is an anonymous access type to
! 	ensure that appropriate accessibility checks are done.
! 
! 	* sem_ch5.adb (Analyze_Assignment): Apply a implicit conversion to the
! 	expression of an assignment when the target object is of an anonymous
! 	access type. This ensures that required accessibility checks are done.
! 	(One_Bound): Move the check for type Universal_Integer to
! 	Process_Bounds.
! 	(Process_Bounds): Check whether the type of the preanalyzed range is
! 	Universal_Integer, and in that case set Typ to Integer_Type prior
! 	to setting the type of the original range and the calls to One_Bound.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_case.adb (Expand_Others_Choice): Improve warning.
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_eval.adb (Subtypes_Statically_Match): Use discriminant
! 	constraint of full view if present, when other type is discriminated.
! 	(Eval_Relational_Op): Recognize tests of pointer values against Null,
! 	when the pointer is known to be non-null, and emit appropriate warning.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	PR ada/10671
! 
! 	* sem_prag.adb: Implement pragma Persistent_BSS
! 	Remove obsolete pragma Persistent_Data, Persistent_Object
! 	Set Ada_Version_Explicit, for implementation of AI-362
! 	Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
! 	Add processing for pragma Pure_05 and Preelaborate_05
! 	Add processing for Assertion_Policy pragma
! 	Add pragma identifiers for Assert
! 	(Analyze_Pragma, case Assert): Check number of arguments
! 	(Process_Inline): Additional guard against an illegal program, where the
! 	argument of the pragma is undefined, and warnings on redundant
! 	constructs are enabled.
! 	(Analyze_Pragma, case Obsolescent): Allow an optional second argument
! 	Ada_05 to this pragma, specifying that the pragma is only active in
! 	Ada_05 mode.
! 	(Check_Arg_Order): New procedure
! 	Add appropriate calls to this procedure throughout
! 	Also throughout, check entity name before doing any other checks
! 
! 	* snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
! 	Remove obsolete pragma Persistent_Data, Persistent_Object
! 	Add entries for pragma Pure_05 and Preelaborate_05
! 	Add entries for Assertion_Policy pragma and associated names
! 	Add some names for pragma argument processing
! 
! 	* tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
! 
! 2005-06-14  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_warn.adb (Warn_On_Known_Condition): If the constant expression
! 	appears within a negation (either from source or as a rewriting of
! 	inequality) adjust text of warning accordingly.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* s-strxdr.adb: Follow AI95-00132
! 
! 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* s-tasren.adb (Exceptional_Complete_Rendezvous): Fix race condition.
! 
! 2005-06-14  Arnaud Charlet  <charlet@adacore.com>
! 	    Jose Ruiz  <ruiz@adacore.com>
! 
! 	* s-tposen.adb, s-tpobop.adb
! 	(Exceptional_Complete_Rendezvous): Save the occurrence and not only
! 	the exception id.
! 	(PO_Do_Or_Queue): Before queuing a task on an entry queue we check that
! 	there is no violation of the Max_Entry_Queue_Length restriction (if it
! 	has been set); Program_Error is raised otherwise.
! 	(Requeue_Call): Before requeuing the task on the target entry queue we
! 	check that there is no violation of the Max_Entry_Queue_Length
! 	restriction (if it has been set); Program_Error is raised otherwise.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* styleg.adb: Fix several remaining problems in -gnatyu switch
! 	Blank line count not reset at start
! 	Scanning outside source buffer in some cases
! 	Confusing message for blanks at end of file
! 	Non-empty blank lines not recognized
! 
! 	* nmake.adt: Modify header so that xnmake does not generate output
! 	files with multiple blank lines.
! 
!         * treeprs.adt: Remove a blank line so that output from xtreeprs does
!         not have an extra blank line
! 
! 2005-06-14  Sergey Rybin  <rybin@adacore.com>
! 
! 	* styleg-c.adb (Body_With_No_Spec): Remove ':' from warning message.
! 
! 2005-06-14  Doug Rupp  <rupp@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 
! 	* vms_conv.ads, vms_conv.adb: Remove "Library" command.
! 	Update copyright.
! 
! 	* vms_data.ads: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
! 	Remove "Library" command.
! 	Change keyword for style check -gnatyd from NOCRLF to
! 	DOS_LINE_ENDINGS.
! 	Remove useless second style check keyword NONE
! 	Remove help documentation for inexistent style check keyword
! 	RM_COLUMN_LAYOUT.
! 	Add help documentation for style check keywords DOS_LINE_ENDINGS,
! 	UNNECESSARY_BLANK_LINES and XTRA_PARENS
! 	Add UNNECESSARY_BLANK_LINES for -gnatyu
! 	Add qualifiers /ALL_PROJECTS (-U) for GNAT PRETTY and GNAT METRIC
! 
!         * ug_words: Add entry for -gnaty/Y [NO]ADA_2005_COMPATIBILITY
! 
! 2005-06-14  Vincent Celier  <celier@adacore.com>
! 
! 	* makegpr.adb (Compile_Link_With_Gnatmake): Invoke gnatmake with -d if
! 	gprmake was invoked with -d.
! 	(Compile_Sources): If -d was used, output the "completed ..." message
! 	for each compilation.
! 	(Scan_Arg): Recognize new switch -d
! 	When -c and at least one main is specified, set
! 	Unique_Compile to True to guarantee that no other sources will be
! 	compiled.
! 
! 2005-06-14  Matthew Heaney  <heaney@adacore.com>
! 
! 	* a-swunha.ads, a-swunha.adb: Removed. Replaced by a-swuwha.ad[sb]
! 	* a-swuwha.ads, a-swuwha.adb: New files
! 
! 	* a-szunha.ads, a-szunha.adb: Removed, replaced by a-szuzha.ad[sb]
! 	* a-szuzha.ads, a-szuzha.adb: New files.
! 
! 	* a-rbtgso.adb, a-crbtgo.ads, a-crbtgo.adb, a-crbtgk.ads,
! 	a-crbtgk.adb, a-crbltr.ads, a-coorse.ads, a-coorse.adb, a-convec.ads,
! 	a-convec.adb, a-coinve.ads, a-coinve.adb, a-cohata.ads, a-cohama.ads,
! 	a-cohama.adb, a-ciorse.ads, a-ciorse.adb, a-cihama.ads, a-cihama.adb,
! 	a-cidlli.ads, a-cidlli.adb, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
! 	a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb,
! 	a-cohase.ads, a-ciorma.ads, a-coorma.ads, a-ciormu.ads, a-coormu.ads,
! 	a-swunha.adb, a-stunha.adb, a-ciorma.adb, a-coorma.adb, a-shcain.ads,
! 	a-shcain.adb, a-chtgke.ads, a-chtgke.adb, a-stwiha.ads, a-stwiha.adb,
! 	a-strhas.adb, a-stzhas.adb: synchronized to the latest version of the
! 	Ada 2005 RM.
! 
! 2005-06-10  Eric Botcazou  <ebotcazou@adacore.com>
! 	    Olivier Hainque  <hainque@adacore.com>
! 	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 	    Pascal Obry  <obry@adacore.com>
! 
! 	* gigi.h: (build_allocator): Add arg IGNORE_INIT_TYPE.
! 
! 	* trans.c (call_to_gnu): Issue a warning for users of Starlet when
! 	making a temporary around a procedure call because of non-addressable
! 	actual parameter.
! 	(process_freeze_entity): If entity is a private type, capture size
! 	information that may have been computed for the full view.
! 	(tree_transform, case N_Allocator): If have initializing expression,
! 	check type for Has_Constrained_Partial_View and pass that to
! 	build_allocator.
! 	(tree_transform, case N_Return_Statement): Pass extra arg to
! 	build_allocator.
! 
! 	* decl.c (annotate_value): Remove early return if -gnatR is not
! 	specified.
! 	(gnat_to_gnu_field): Don't make a packable type for a component clause
! 	if the position is byte aligned, the field is aliased, and the clause
! 	size isn't a multiple of the packable alignment. It serves no useful
! 	purpose packing-wise and would be rejected later on.
! 	(gnat_to_gnu_entity, case object): Pass extra arg to build_allocator.
! 
! 	PR ada/20515
! 	(gnat_to_gnu_entity): Remove use of macro _WIN32 which is wrong in the
! 	context of cross compilers. We use TARGET_DLLIMPORT_DECL_ATTRIBUTES
! 	instead.
! 	(create_concat_name): Idem.
! 
! 2005-06-10  Robert Dewar  <dewar@adacore.com>
! 	    Eric Botcazou  <ebotcazou@adacore.com>
! 	    Ben Brosgol  <brosgol@adacore.com>
! 	    Cyrille Comar  <comar@adacore.com>
! 	    Sergey Rybin  <rybin@adacore.com>
! 	    Pascal Obry  <obry@adacore.com>
! 
! 	* gnat_rm.texi: Add documentation for pragma Persistent_BSS
! 	Document second argument (Ada_05) of pragma Obsolescent
! 	Add note that call to subprogram marked with pragma Obsolescent
! 	is now considered to be a violation of program Restrictions
! 	(No_Obsolescent_Features).
! 	(Implementation Defined Pragmas) <Machine_Attribute>: Make it clear
! 	that only machine-dependent attributes are supported.
! 
! 	* gnat_ugn.texi:
! 	Commented out menu lines and empty section for gnatclean examples
! 	Document -gnatwy/Y
! 	Fix some over long lines
! 	Clarify and enhance documentation of ADA_PROJECT_PATH.
! 	Rework section 2.11.2(3) about linking with a non-GNU compiler.
! 	Mention new switch -fcallgraph-info.
! 	Mention new switch -fstack-usage.
! 	For gnatpp, replace '-notab' with '-N' and add this option to Index
! 	Corrected VMS example.
! 	VMS keyword for style check -gnatyd is DOS_LINE_ENDINGS, no NOCRLF
! 	Minor reformatting
! 	Add documentation for -gnatyu switch (unnecessary blank lines)
! 	Document new switch -U for GNAT PRETTY and GNAT METRIC
! 	Add note about Stdcall being handled as C convention on non Windows OS.
! 	Remove some junk typo in description of gnatbind -S switch
! 	Remove reference to Extensions_Allowed pragma
! 	Document the new order of the directories to be searched (source and
! 	object directories of project files before directories in ADA_*_PATH
! 	environment variables.
! 
!         * g-trasym.ads: Document that IRIX is supported
! 
! 2005-06-10  Arnaud Charlet  <charlet@adacore.com>
! 
! 	* Makefile.in: Add initialize.o when needed.
! 	Adapt to new VMS package body Symbols and subunits
! 	No specialized version of a-sytaco is needed for VxWorks.
! 
! 	* a-wichun.ads, a-wichun.adb, a-zchuni.ads, a-zchuni.adb: New files.
! 	* a-zchara.ads, a-widcha.ads: New files.
! 
! 	* system-hpux-ia64.ads: New file.
! 
! 	* i-vxwork-x86.ads, i-vxwork.ads (intContext): Add this function which
! 	is imported from the VxWorks kernel.
! 
! 2005-06-14  Robert Dewar  <dewar@adacore.com>
! 
! 	* g-soliop-mingw.ads, g-soccon-vms.adb, a-swmwco.ads, exp_smem.adb,
! 	fmap.adb, a-szmzco.ads, s-traent-vms.adb, s-traent-vms.ads,
! 	a-direio.ads, a-exctra.ads, a-exexda.adb, a-exextr.adb, a-stream.ads,
! 	s-restri.ads, s-restri.adb, s-traent.adb, s-traent.ads, a-slcain.adb,
! 	a-stzhas.ads, a-tiinau.adb, comperr.adb, exp_ch11.adb, g-boubuf.adb,
! 	g-calend.adb, g-debpoo.ads, g-moreex.ads, gprep.adb, g-regpat.ads,
! 	i-cexten.ads, i-os2thr.ads, makeutl.ads, memroot.adb, mlib-prj.adb,
! 	namet.adb, namet.ads, prj-makr.adb, prj-proc.adb, sem_dist.adb,
! 	sem_elim.ads, s-valint.adb, s-vallli.adb, s-vallli.adb, s-vallli.ads,
! 	s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, scn.adb,
! 	s-tasinf.adb, targparm.adb, uname.adb, uname.ads, xnmake.adb,
! 	xsinfo.adb, a-direct.ads: Remove extra blank lines. Minor reformatting.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* xeinfo.adb: Fix typo in comment
! 
! 2005-06-14  Javier Miranda  <miranda@adacore.com>
! 
! 	* repinfo.ads: Fix typo in comment
! 
! 2005-06-14  Gary Dismukes  <dismukes@adacore.com>
! 
! 	* s-finimp.adb (Parent_Tag): Delete this imported function (function
! 	Parent_Tag is now in the visible part of Ada.Tags).
! 	(Get_Deep_Controller): Call Ada.Tags.Parent_Tag directly instead of
! 	using imported function.
! 
! 2005-06-14  Bernard Banner  <banner@adacore.com>
! 
! 	* vxaddr2line.adb: Add support for Windows hosted x86 vxworks. Should
! 	also apply for handling support for VxSim 653.
! 
! 2005-06-14  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* xsnames.adb: Add automatic generation of snames.h.
! 
! 2005-06-14  Thomas Quinot  <quinot@adacore.com>
! 
! 	* gen-soccon.c: Add IP_MULTICAST_IF constant
! 	Minor reformatting and adjustments to prevent warnings.
! 
! 2005-06-14  Pascal Obry  <obry@adacore.com>
! 
! 	* seh_init.c: Do not include <sys/stat.h>. This is not needed.
! 
! 2005-06-03  Andrew Pinski  <pinskia@physics.uc.edu>
! 
! 	* trans.c (gnat_gimplify_expr): Call
! 	recompute_tree_invarant_for_addr_expr when we change
! 	the operand of the ADDR_EXPR.
! 
! 2005-05-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
! 
! 	* misc.c: Don't include errors.h.
! 
! 2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
! 
! 	* raise.c (db): Add ATTRIBUTE_PRINTF_2.
! 
! 2005-05-29  Kazu Hirata  <kazu@cs.umass.edu>
! 
! 	* cal.c, decl.c, init.c, raise.c, trans.c, utils2.c: Fix
! 	comment typos.
! 	* gnat_rm.texi, gnat_ugn.texi: Fix typos.
! 
! 2005-05-16  Nathanael Nerode <neroden@gcc.gnu.org>
! 
! 	PR ada/20270
! 	* Makefile.in: Make TGT_LIB behave correctly.
! 
! 2005-04-23  DJ Delorie  <dj@redhat.com>
! 
! 	* misc.c: Adjust warning() callers.
! 
! 2005-04-16  Laurent GUERBY  <laurent@guerby.net>
! 
!         PR ada/18847
!         * a-nudira.adb (Value): Check for valid string.
!         * a-nuflra.adb (Value): Likewise.
! 
! 2005-04-11  Richard Sandiford  <rsandifo@redhat.com>
! 
! 	* lang.opt: Refer to the GCC internals documentation instead of c.opt.
! 
! 2005-04-10  Kazu Hirata  <kazu@cs.umass.edu>
! 
! 	* adaint.c, init.c, tracebak.c: Fix comment typos.
! 	* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.
  
  2005-04-07  Laurent GUERBY  <laurent@guerby.net>
  	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
***************
*** 23,74 ****
  	* system-hpux.ads: Define Signed_Zeros to be True.
  	* system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
  
! 2005-04-07  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/18659
! 	PR ada/18819
! 	* misc.c (tree_sra_requested): New global.
! 	(gnat_init_options): Detect -ftree-sra.
! 	(gnat_post_options): Enable Tree-SRA only if specifically requested.
  
! 2005-04-04  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/19956
! 	Backport from mainline:
  
! 	2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  	* utils.c (finish_record_type): Use variable_size when setting sizes.
  
! 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/20255
! 	Backport from mainline:
  
! 	2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 	* utils.c (convert) <UNION_TYPE>: Accept slight type variations when
! 	converting to an unchecked union type.
  
  2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/18727
! 	Backport from mainline:
  
! 	2005-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 	* exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
! 	replace the N_Freeze_Entity with a null statement.
! 	* exp_ch3.adb (Freeze_Type): Now a function that returns True if
! 	the N_Freeze_Entity is to be deleted.
! 	* exp_ch3.ads (Freeze_Type): Now a function that returns Boolean.
! 	* freeze.adb (Undelay_Type): New Subprogram.
! 	(Set_Small_Size): Pass T, the type to modify; all callers changed.
! 	(Freeze_Entity, Freeze_Record_Type): Change the way we handle types
! 	within records; allow them to have freeze nodes if their base types
! 	aren't frozen yet.
! 	* sem_ch3.adb (Constrain_Access, Constrain_Array): Allow itypes to be
! 	delayed.
! 	* gigi.h (gnat_to_gnu_field_decl): New decl.
! 	* decl.c (gnat_to_gnu_entity, case E_Array_Subtype): Call
! 	copy_alias_set.
  	(gnat_to_gnu_field_decl): New function.
  	(substitution_list, annotate_rep): Call it.
  	(gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
--- 4744,5771 ----
  	* system-hpux.ads: Define Signed_Zeros to be True.
  	* system-linux-hppa.ads, s-osinte-linux-hppa.ads: New files.
  
! 2005-04-01  Kazu Hirata  <kazu@cs.umass.edu>
  
! 	* adaint.c, cal.c, decl.c, gigi.h, gmem.c, init.c, link.c,
! 	raise.c, tracebak.c, trans.c, utils2.c, utils.c: Fix comment
! 	typos.
  
! 2005-03-30  Tom Tromey  <tromey@redhat.com>
  
! 	* decl.c (gnat_substitute_in_type): Don't handle FILE_TYPE.
  
! 2005-03-30  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
! 
! 	* adaint.c (_gnat_set_close_on_exec): Mark parameters unused.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_res.adb (Resolve_Real_Literal): Generate warning if static
! 	fixed-point expression has value that is not a multiple of the Small
! 	value.
! 
! 	* opt.ads (Warn_On_Bad_Fixed_Value): New flag
! 
! 	* s-taprop-tru64.adb (RT_Resolution): Return an integer number of
! 	nanoseconds.
! 
! 	* ug_words: Add entry for [NO_]BAD_FIXED_VALUES for -gnatwb/-gnatwB
! 
! 2005-03-29  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb
! 	(Build_Dynamic_Library.Version_String): Return the empty string when
! 	Lib_Version is empty or when the symbol policy is not Autonomous.
! 
! 	* symbols-vms-alpha.adb (Finalize): For symbol policy Compliant, when
! 	a symbol is not in the reference symbol file, increase the Major ID
! 	and set the Minor ID to 0.
! 	Use gsmatch=lequal instead of gsmatch=equal
! 
! 2005-03-29  Doug Rupp  <rupp@adacore.com>
! 
! 	* adaint.c (__gnat_to_canonical_file_spec [VMS]): Check for logical
! 	name and translate.
! 
! 2005-03-29  Javier Miranda  <miranda@adacore.com>
! 
! 	* a-tags.ads, a-tags.adb (Get_TSD): Subprogram removed.
! 	(Inherit_DT): The first formal has been redefined as a Tag.
! 	This allows us the removal of the subprogram Get_TSD.
! 	(TSD): Replace the call to Get_TSD by the actual code.
! 
! 	* exp_disp.ads, exp_disp.adb: Remove support to call Get_TSD.
! 	(Make_DT): Upgrade the call to Inherit_TSD according to the
! 	new interface: the first formal is now a Tag.
! 
! 	* i-cpp.ads, i-cpp.adb (CPP_Inherit_DT): The first formal has been
! 	redefined as a Tag.
! 	This change allows us to remove the subprogram Get_TSD.
! 	(CPP_Get_TSD): Subprogram removed.
! 	(TSD): Replace the call to CPP_Get_TSD by the actual code.
! 
! 	* rtsfind.ads: Remove support to call the run-time
! 	subprogram Get_TSD
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* errutil.adb, errout.adb:
! 	Minor comment updates on Line_Terminator references
! 
! 	* par-ch10.adb: Add ??? comment about line terminator
! 
! 	* styleg.adb (Check_Line_Terminator): Add check for new switch -gnatyd
! 	(check dos line terminator).
! 	(Check_Line_Max_Length): New procedure, split off from the existing
! 	Check_Line_Terminator routine. Separating this out allows -gnatyf to
! 	be properly recognized.
! 
! 	* styleg.adb: Add ??? comment for line terminator reference
! 
! 	* scng.adb (Check_End_Of_Line): Fix bug of -gnatyf being ignored
! 	(Check_End_Of_Line): Add -gnatyd handling (check dos line terminators)
! 
! 	* styleg.ads (Check_Line_Terminator): Add check for new switch -gnatyd
! 	(check dos line terminator).
! 	(Check_Line_Max_Length): New procedure, split off from the existing
! 	Check_Line_Terminator routine. Separating this out allows -gnatyf to
! 	be properly recognized.
! 
! 	* stylesw.ads, stylesw.adb:
! 	Add handling for new -gnatyd switch (check dos line terminator)
! 
! 	* switch-c.adb: Recognize new -gnatyd switch (check dos line terminator)
! 	Recognize -gnatwb/-gnatwB switches
! 	Include Warn_On_Bad_Fixed_Value for -gnatg
! 
! 	* usage.adb:
! 	Add line for new -gnatyd switch (check dos line terminator)
! 
! 	* usage.adb: Add lines for -gnatwb/-gnatwB
! 
! 	* vms_data.ads: Add entry for NOCRLF (-gnatyd)
! 
! 	* vms_data.ads: [NO_]BAD_FIXED_VALUES synonym for -gnatwb/-gnatwB
! 
! 	* gnat_ugn.texi: Fix overlong lines
! 	Document new -gnatyd switch
! 	Document new -gnatwb/-gnatwB switches
! 
! 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_ch4.adb (Has_Unconstrained_UU_Component): Use the base type in
! 	order to retrieve the component list of the type, before examining
! 	individual components.
! 
! 	* sem_type.adb (Covers): Types are compatible if one is the base type
! 	of the other, even though their base types might differ when private
! 	views are involved.
! 
! 2005-03-29  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Add_RAST_Features, PolyORB version): Set the From_Any,
! 	To_Any and TypeCode TSSs on RAS types directly using Set_TSS, instead
! 	of using Set_Renaming_TSS. This ensures that the TSS bodies are not
! 	analyzed if expansion is disabled (which could otherwise cause spurious
! 	error messages if expansion has been disabled due to previous
! 	(unrelated) errors).
! 
! 	* sem_prag.adb (Analyze_Pragma, case Asynchronous): If RAS expansion
! 	is disabled, the entity denoted by the argument is the access type
! 	itself, not an underlying record type, so there is no need to go back
! 	to the Corresponding_Remote_Type.
! 
! 2005-03-29  Gary Dismukes  <dismukes@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_intr.adb (Expand_Dispatching_Constructor_Call): New procedure to
! 	expand a call to an instance of
! 	Ada.Tags.Generic_Dispatching_Constructor into a dispatching call to the
! 	Constructor actual of the instance. A class-wide membership
! 	check is also generated, to ensure that the tag passed to the instance
! 	denotes a type in the class.
! 	(Expand_Intrinsic_Call): Call Expand_Dispatching_Constructor in the case
! 	of Name_Generic_Dispatching_Constructor.
! 
! 	* Makefile.rtl: Add a-tgdico.ads to the list of library units (new Ada
! 	05 unit for AI-260-02).
! 
! 	* a-tgdico.ads: New file.
! 
! 	* impunit.adb (Non_Imp_File_Names_05): Add entry "a-tgdico" for new
! 	predefined Ada 05 generic unit Ada.Tags.Generic_Dispatching_Constructor.
! 
! 	* snames.ads, snames.adb (Preset_Names): Add entry for
! 	Generic_Dispatching_Constructor.
! 
! 	PR ada/20300
! 
! 	* sem_ch8.adb (Find_Direct_Name): Go to root type for check of
! 	character type cases.
! 	(Analyze_Subprogram_Renaming): Add special handling for
! 	the case of renaming of stream attributes when the renaming denotes a
! 	generic formal subprogram association for an abstract formal subprogram.
! 	Check that the attribute is a primitive stream attribute (and not
! 	a class-wide stream attribute) and then rewrite the attribute name
! 	as the name of the appropriate compiler-generated stream primitive.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* exp_util.adb (Remove_Side_Effects): Properly propagate arguments to
! 	recursive calls.
! 	(Is_Possibly_Unaligned_Object): Correct typo that
! 	resulted in inaccurate result for unaligned scalars within records.
! 
! 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* freeze.adb (Freeze_Record_Type): If the type of the component is an
! 	itype whose parent is controlled and not yet frozen, do not create a
! 	freeze node for the itype if expansion is disabled.
! 
! 2005-03-29  Vincent Celier  <celier@adacore.com>
! 
! 	* make.adb (Gnatmake): Don't fail if the main project file is declared
! 	as having no Ada sources. Do not display message "no sources to
! 	compile" in quiet output.
! 
! 2005-03-29  Doug Rupp  <rupp@adacore.com>
! 
! 	* Makefile.in [VMS] (EXTRA_GNATTOOLS): Add vms_help and gnat.hlp as
! 	extra tools.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* par-ch12.adb (P_Generic): Give better msg for illegal private generic
! 	child.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* par-ch3.adb (P_Type_Declaration): Fix bad error recovery after
! 	missing TYPE Improve the error message generated when compiling a
! 	limited interface in Ada83 or Ada95 mode.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* par-ch4.adb (P_Name): When a bad attribute is returned, return error,
! 	rather than proceed ahead using a junk attribute name.
! 
! 2005-03-29  Vincent Celier  <celier@adacore.com>
! 
! 	* prj.ads, prj.adb: (Project_Data): Add new component Display_Name
! 
! 	* prj-part.adb (Parse_Single_Project): Set the location of a project
! 	on its defining identifier, rather than on the reserved word "project".
! 
! 	* prj-proc.adb (Expression): Adapt to the fact that default of external
! 	references may be string expressions, not always literal strings.
! 	(Recursive_Process): Set Display_Name equal to Name
! 	when Location is No_Location, that is when there is no actual file.
! 	Get the Display_Name of the project from the source, when it is not a
! 	virtual project.
! 	(Process): Use the Display_Name in error messages
! 
! 	* prj-strt.adb (External_Reference): Allow default to be string
! 	expressions, not only literal strings.
! 
! 2005-03-29  Vincent Celier  <celier@adacore.com>
! 
! 	* prj-nmsc.adb (Check_Stand_Alone_Library): Do not forbid the symbol
! 	file and the reference symbol file to be the same file.
! 
! 2005-03-29  Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_cat.adb (Validate_Remote_Types_Type_Conversion): Perform check to
! 	forbid conversion of a local access-to-subprogram type to a remote one.
! 
! 	* sem_util.adb (Wrong_Type): For a record type that is the expanded
! 	equivalent type for a remote access-to-subprogram type, go back to the
! 	original RAS entity when displaying an error message, so the casing is
! 	the original source casing.
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_ch11.adb (Analyze_Raise_Statement): Change message for warning
! 	on param update.
! 
! 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch4.adb (Analyze_Selected_Component): Do not generate an actual
! 	subtype if code is being pre-analyzed, to prevent un-expanded
! 	references to protected formals, among others.
! 	(Analyze_Explicit_Dereference): If the overloaded prefix includes some
! 	interpretation that can be a call, include the result of the call as a
! 	possible interpretation of the dereference.
! 
! 	* sem_ch5.adb (Process_Bounds): Determine type of range by
! 	pre-analyzing a copy of the original range, and then analyze the range
! 	with the expected type.
! 
! 	* sem_res.adb (Check_Parameterless_Call): For an explicit dereference
! 	with an overloaded prefix where not all interpretations yield an
! 	access to subprogram, do not rewrite node as a call.
! 	(Resolve_Explicit_Dereference): Recognize the previous case and rewrite
! 	the node as a call once the context identifies the interpretation of
! 	the prefix whose call yields the context type.
! 	(Valid_Conversion): For the case of a conversion between
! 	local access-to-subprogram types, check subtype conformance using
! 	Check_Subtype_Conformant instead of Subtype_Conformant, to have a more
! 	detailed error message.
! 
! 2005-03-29  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch6.adb (Set_Formal_Mode): If the subtype has a non_null
! 	indicator, indicate that the formal can never be null.
! 	(Process_Formals): If a formal has a non_null indicator, insert the
! 	resulting subtype immediately before the enclosing subprogram decl,
! 	and not at the beginning of the corresponding declarative part, to
! 	prevent access before elaboration (Ada2005).
! 
! 2005-03-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 
! 	PR ada/19956
  	* utils.c (finish_record_type): Use variable_size when setting sizes.
  
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
  
! 	* xtreeprs.adb, xnmake.adb: Use Stream_IO instead of Text_IO to
! 	guarantee Unix style line terminators for the output files, even when
! 	running on windows.
  
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-direct.ads, a-direct.adb (Start_Search): Free allocated search
! 	buffer if an exception is raised.
! 
! 2005-03-29  Ed Falis  <falis@adacore.com>
! 
! 	* cio.c: Undefine putchar and getchar for VTHREADS: incompatible with
! 	VxWorks 653 1.4
! 
! 2005-03-29  Robert Dewar  <dewar@adacore.com>
! 
! 	* sem_util.ads: Minor reformatting
! 	* gnat_rm.texi: Minor editing.
! 
! 2005-03-29  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* decl.c (gnat_to_gnu_entity) <E_Variable>: Rework comment.
! 	* trans.c (tree_transform) <N_Identifier>: Use correct predicates.
! 
! 2005-03-24  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
! 
! 	* adaint.c (__gnat_portable_spawn): Adjust cast.
! 
! 2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
! 
! 	* misc.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
! 
! 2005-03-17  Pascal Obry  <obry@adacore.com>
! 
! 	* adaint.h, adaint.c (__gnat_waitpid): Moved to expect.c where it is
! 	used.
! 
! 	* expect.c (__gnat_waitpid): Moved here from adaint.c.
! 	Reimplement under Win32 using Win32 API.
! 
! 	(__gnat_kill) [Win32]: Properly close the process handle before leaving
! 	this routine.
  
  2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	* ada-tree.h: (DECL_RENAMING_GLOBAL_P): New predicate.
! 	(DECL_RENAMED_OBJECT): New accessor macro.
! 	(SET_DECL_RENAMED_OBJECT): New setter macro.
  
! 	* decl.c (gnat_to_gnu_entity) <E_Variable>: Stabilize the renamed
! 	object in all cases.  Attach the renamed object to the VAR_DECL.
! 	(gnat_to_gnu_field): Do not lift the record wrapper if the size of the
! 	field is not prescribed.
! 
! 	* misc.c (gnat_handle_option): Handle -gnatO separately.
! 	(gnat_print_decl) <VAR_DECL>: New case.
! 	Print the DECL_RENAMED_OBJECT node.
! 
! 	* lang.opt:  Declare separate -gnatO option.
! 
! 	* trans.c (tree_transform) <N_Identifier>: If the object is a renaming
! 	pointer, replace it with the renamed object.
! 	<N_Validate_Unchecked_Conversion>: Warn for a conversion to a fat
! 	pointer type if the source is not a fat pointer type whose underlying
! 	array has the same non-zero alias set as that of the destination array.
! 
! 2005-03-17  Javier Miranda  <miranda@adacore.com>
! 
! 	* a-tags.ads, a-tags.adb (Get_Expanded_Name): Removed.
! 	(Get_Inheritance_Depth): Removed.
! 	(Set_Inheritance_Depth): Removed.
! 
! 	* rtsfind.ads, exp_disp.ads, exp_disp.adb: Remove support to call the
! 	subprogram Get_Expanded_Name because it is not referenced by the
! 	frontend.
! 
! 	* i-cpp.ads, i-cpp.adb (CPP_Get_Expanded_Name): Removed.
! 	(CPP_Get_Inheritance_Depth): Removed.
! 	(CPP_Set_Inheritance_Depth): Removed.
! 
! 	* tbuild.ads, tbuild.adb (Make_DT_Component): Removed.
! 
! 2005-03-17  Robert Dewar  <dewar@adacore.com>
! 
! 	* checks.adb (Apply_Array_Size_Check): Completely remove this for GCC
! 	3, since we now expect GCC 3 to do all the work.
! 
! 2005-03-17  Javier Miranda  <miranda@adacore.com>
! 
! 	* einfo.adb (First_Private_Entity, Set_First_Private_Entity): Addition
! 	of one barrier to avoid wrong usage of this attribute.
! 
! 	* sem_ch12.adb (Formal_Entity): Fix erroneous usage of the attribute
! 	First_Private_Entity.
! 
! 	* sem_ch7.adb (Install_Visible_Declarations): Add a barrier to protect
! 	the subprogram against wrong usage.
! 	Adapt the code to traverse the entities in the
! 	scope of a record_type because in addition to its usage regarding
! 	packages, this subprogram is also called by Expand_N_Freeze_Entity
! 	to install the visible declarations of the enclosing scope of a
! 	record_type_with_private to establish the proper visibility before
! 	freezing the entity and related subprograms.
! 
! 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_ch2.adb (In_Assignment_Context): Recognize slice assignments to
! 	entry formals.
! 
! 2005-03-17  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_ch3.adb (Check_Attr): New subprogram.
! 	(Check_Stream_Attribute): Move the code for 13.13.2(9/1) enforcement
! 	into a new Check_Attr subprogram, in order to provide a more
! 	explanatory error message (including the name of the missing attribute).
! 	(Stream_Operation_OK): Renamed from Stream_Operations_OK. This
! 	subprogram determines whether a default implementation exists for a
! 	given stream attribute.
! 	(Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies):
! 	Determine whether to generate a default implementation for each stream
! 	attribute separately, as this depends on the specific attribute.
! 
! 	* exp_strm.adb (Make_Field_Attribute): For the case of an illegal
! 	limited extension where a stream attribute is missing for a limited
! 	component (which will have been flagged in Exp_Ch3.Sem_Attr), do not
! 	generate a bogus reference to the missing attribute to prevent
! 	cascaded errors. Instead, generate a null statement.
! 
! 	* sem_attr.adb (Check_Stream_Attribute): A stream attribute is
! 	available for a limited type if it has been specified for an ancestor
! 	of the type.
! 
! 2005-03-17  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_ch6.adb (Expand_Inlined_Call): handle the case when the renamed
! 	entity is an operator.
! 
! 2005-03-17  Thomas Quinot  <quinot@adacore.com>
! 
! 	* exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
! 	spec, to make this predicate available to other units.
! 
! 	* rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
! 	reimplementing it.
! 
! 	* sem_ch8.adb: Disable expansion of remote access-to-subprogram types
! 	when no distribution runtime library is available.
! 
! 	* sem_res.adb, sem_dist.adb: Disable expansion of remote
! 	access-to-subprogram types when no distribution runtime library is
! 	available.
! 	(Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
! 	predicate available to other units.
! 
! 	* sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
! 	spec, to make this predicate available to other units.
! 
! 2005-03-17  Vincent Celier  <celier@adacore.com>
! 
! 	* make.adb (Insert_Project_Sources): Make sure the Q is always
! 	initialized.
! 
! 	* prj-nmsc.adb (Check_Ada_Naming_Scheme_Validity): Check Naming against
! 	the default for the tree, not the global default naming.
! 
! 	* prj-proc.adb (Recursive_Process): No need to put the default naming
! 	in the project data, it's already there.
! 
! 2005-03-17  Doug Rupp  <rupp@adacore.com>
! 
! 	* Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads.
! 
!         * 5xcrtl.ads: Renamed to...
!         * s-crtl-vms64.ads: ...this new file
! 
! 2005-03-17  Robert Dewar  <dewar@adacore.com>
! 
! 	PR ada/19519
! 
! 	* namet.adb (Copy_One_Character): Set proper wide character encoding
! 	for upper half character if we have upper half encoding.
! 
! 2005-03-17  Robert Dewar  <dewar@adacore.com>
! 
! 	* par.adb (Par): Improved msg for attempt to recompile predefined unit
! 
! 2005-03-17  Thomas Quinot  <quinot@adacore.com>
! 
! 	* sem_ch13.adb (New_Stream_Function, New_Stream_Procedure): For a
! 	tagged limited type, the TSS is a newly built renaming declaration:
! 	insert it using Set_TSS, not Copy_TSS.
! 
! 2005-03-17  Javier Miranda  <miranda@adacore.com>
! 
! 	* sem_ch4.adb (Try_Primitive_Operation, Class_Wide_Operation and
! 	Try_Object_Operation): Analyze the object that is accessible
! 	through the prefix of the subprogram call before we apply
! 	the transformation of the object-operation notation.
! 
! 2005-03-17  Jose Ruiz  <ruiz@adacore.com>
! 
! 	* s-taprob.adb (Initialize_Protection): Initialize the protected
! 	object's owner to Null_Task.
! 	(Lock): If pragma Detect_Blocking is in effect and the caller of this
! 	procedure is already the protected object's owner then Program_Error
! 	is raised. In addition the protected object's owner is updated.
! 	(Lock_Read_Only): If pragma Detect_Blocking is in effect and the caller
! 	of this procedure is already the protected object's owner then
! 	Program_Error is raised.
! 	In addition the protected object's owner is updated.
! 	(Unlock): Remove the ownership of the protected object.
! 
! 	* s-taprob.ads (Protection): Add the field Owner, used to store the
! 	protected object's owner.
! 	This component is needed for detecting one type of potentially blocking
! 	operations (external calls on a protected subprogram with the same
! 	target object as that of the protected action). Document the rest of
! 	the components.
! 
! 	* s-tposen.adb, s-tpoben.adb (Initialize_Protection_Entries):
! 	Initialize the protected object's owner to Null_Task.
! 	(Lock_Read_Only_Entries): If pragma Detect_Blocking is in effect and the
! 	caller of this procedure is already the protected object's owner then
! 	Program_Error is raised.
! 	Do not raise Program_Error when this procedure is called from a
! 	protected action.
! 	(Unlock_Entries): Remove the ownership of the protected object.
! 	(Lock_Entries): If pragma Detect_Blocking is in effect and the caller
! 	of this procedure is already the protected object's owner then
! 	Program_Error is raised.
! 	Do not raise Program_Error when this procedure is called from
! 	a protected action.
! 
! 	* s-tposen.ads, s-tpoben.ads (Protection_Entries): Add the field Owner,
! 	used to store the protected object's owner.
! 
! 	* s-tpobop.adb (Protected_Entry_Call): If pragma Detect_Blocking is in
! 	effect and this procedure (a potentially blocking operation) is called
! 	from whithin a protected action, Program_Error is raised.
! 	(Timed_Protected_Entry_Call): If pragma Detect_Blocking is in effect
! 	and this procedure (a potentially blocking operation) is called from
! 	whithin a protected action, Program_Error is raised.
! 
! 2005-03-17  Vincent Celier  <celier@adacore.com>
! 	    Nicolas Setton  <setton@adacore.com>
! 
! 	* mlib-tgt-darwin.adb (Build_Dynamic_Library): Remove the "-fini"
! 	switch, not supported by the linker on Darwin. Add '_' before
! 	<library>init, as this character is added unconditionally by the
! 	compiler.
! 	(Is_Archive_Ext): Replace the wrong library extension ".dyld" by the
! 	correct one ".dylib". This fixes detection of the archive files when
! 	building library projects.
! 
! 2005-03-17  Vincent Celier  <celier@adacore.com>
! 
! 	* switch-m.adb (Normalize_Compiler_Switches): Recognize switches
! 	-gnat83, -gnat95 and -gnat05.
! 
! 2005-03-17  Vasiliy Fofanov  <fofanov@adacore.com>
! 
! 	* gnat_ugn.texi: Document gnatmem restriction
! 
! 2005-03-17  Thomas Quinot  <quinot@adacore.com>
! 
! 	* snames.adb: Document new TSS names introduced by exp_dist/exp_tss
! 	cleanup
! 
! 2005-03-17  Robert Dewar  <dewar@adacore.com>
! 
! 	* s-interr.ads, s-interr.adb, sem_ch3.adb, prj.ads, prj.adb,
! 	a-interr.adb, a-interr.ads, s-interr-sigaction.adb, s-interr-dummy.adb,
! 	s-interr-vms.adb, s-interr-vxworks.adb: Minor reformatting
! 
! 	* casing.adb: Comment improvements
! 
! 2005-03-17  Pascal Obry  <obry@adacore.com>
! 
! 	* g-expect.adb: Minor reformatting.
! 
! 2005-03-15  Zack Weinberg  <zack@codesourcery.com>
! 
! 	* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
! 	(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
! 	to dependencies.
! 
! 2005-03-15  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-tgt-darwin.adb (Library_Exist_For, Library_File_Name_For):
! 	Add new parameter In_Tree to specify the project tree: needed
! 	by the project manager. Adapt to changes in project manager
! 	using new parameter In_Tree.
! 
! 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
! 
! 	* Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
! 	ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
! 	ada/bldtools to avoid make -jN failures.
! 
! 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* trans.c (gnat_to_gnu) <N_Return_Statement>: Set gnu_result
! 	to NULL_TREE on entry.
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* system-unixware.ads, system-linux-ia64.ads, system-freebsd-x86.ads,
! 	system-lynxos-ppc.ads, system-lynxos-x86.ads, system-linux-x86_64.ads,
! 	system-tru64.ads, system-aix.ads, system-vxworks-sparcv9.ads,
! 	system-vxworks-xscale.ads, system-solaris-x86.ads, system-irix-o32.ads,
! 	system-irix-n32.ads, system-hpux.ads, system-vxworks-m68k.ads,
! 	system-linux-x86.ads, system-vxworks-mips.ads, system-os2.ads,
! 	system-interix.ads, system-solaris-sparc.ads,
! 	system-solaris-sparcv9.ads, system-vms.ads, system-mingw.ads,
! 	system-vms-zcx.ads, system-vxworks-ppc.ads, system-vxworks-alpha.ads,
! 	system-vms_64.ads, system-darwin-ppc.ads, system-vxworks-x86.ads,
! 	system-linux-ppc.ads, system-linux-alpha.ads, system-linux-sparc.ads,
! 	system-linux-s390.ads, system-linux-s390x.ads: Add line defining
! 	Compiler_System_Version to be False.
! 
! 	* opt.ads: Add new flag Opt.Address_Is_Private
! 
! 	* targparm.ads, targparm.adb: Set new flag Opt.Address_Is_Private
! 	Add new parameter Compiler_System_Version to avoid checking for
! 	completeness of parameters when compiler is compiling itself.
! 	Allows old versions of GNAT to be compiled with new compiler.
! 
! 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* s-osinte-tru64.ads, s-osinte-tru64.adb (Get_Stack_Base): New function
! 	(Hide_Yellow_Zone): New procedure to hide the Yellow Zone of the
! 	calling thread.
! 	(Stack_Base_Available): New flag.
! 	(Get_Page_Size): New overloaded functions imported from C.
! 	(PROT_NONE, PROT_READ, PROT_WRITE, PROT_EXEC, PROT_ALL,
! 	PROT_ON, PROT_OFF): New constants.
! 	(mprotect): New function imported from C.
! 	(pthread_teb_t): New record type.
! 
! 	* s-taprop-tru64.adb: (Enter_Task): Invoke Hide_Yellow_Zone.
! 	(Create_Task): Account for the Yellow Zone and the guard page.
! 
! 2005-03-15  Vincent Celier  <celier@adacore.com>
! 
! 	* mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb,
! 	mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb,
! 	mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb,
! 	mlib-tgt-vxworks.adb, mlib-tgt-lynxos.adb (Library_Exist_For,
! 	Library_File_Name_For): Add new parameter In_Tree
! 	to specify the project tree: needed by the project manager.
! 	Adapt to changes in project manager using new parameter In_Tree.
! 	Remove local imports, use functions in System.CRTL.
! 
! 	* make.adb, clean.adb, gnatcmd.adb (Project_Tree): New constant needed
! 	to use the project manager.
! 
! 	* makeutl.ads, makeutl.adb (Linker_Options_Switches): New parameter
! 	In_Tree to designate the project tree. Adapt to changes in the project
! 	manager, using In_Tree.
! 
! 	* mlib-prj.ads, mlib-prj.adb (Build_Library, Check_Library,
! 	Copy_Interface_Sources): Add new parameter In_Tree to specify the
! 	project tree: needed by the project manager.
! 	(Build_Library): Check that Arg'Length >= 6 before checking if it
! 	contains "--RTS=...".
! 
! 	* mlib-tgt.ads, mlib-tgt.adb (Library_Exist_For,
! 	Library_File_Name_For): Add new parameter In_Tree to specify the
! 	project tree: needed by the project manager.
! 
! 	* prj.ads, prj.adb: Major modifications to allow several project trees
! 	in memory at the same time.
! 	Change tables to dynamic tables and hash tables to dynamic hash
! 	tables. Move tables and hash tables from Prj.Com (in the visible part)
! 	and Prj.Env (in the private part). Move some constants from the visible
! 	part to the private part. Make other constants deferred.
! 	(Project_Empty): Make it a variable, not a function
! 	(Empty_Project): Add parameter Tree. Returns the data with the default
! 	naming data of the project tree Tree.
! 	(Initialize): After updating Std_Naming_Data, copy its value to the
! 	component Naming of Project Empty.
! 	(Register_Default_Naming_Scheme): Use and update the default naming
! 	component of the project tree, instead of the global variable
! 	Std_Naming_Data.
! 	(Standard_Naming_Data): Add defaulted parameter Tree. If project tree
! 	Tree is not defaulted, return the default naming data of the Tree.
! 	(Initial_Buffer_Size): Constant moved from private part
! 	(Default_Ada_Spec_Suffix_Id, Default_Ada_Body_Suffix_Id, Slash_Id); new
! 	variables initialized in procedure Initialize.
! 	(Add_To_Buffer): Add two in out parameters to replace global variables
! 	Buffer and Buffer_Last.
! 	(Default_Ada_Spec_Suffix, Default_Body_Spec_Suffix, Slash): New
! 	functions.
! 	Adapt to changes to use new type Project_Tree_Ref and dynamic tables and
! 	hash tables.
! 	(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
! 	for the project tree.
! 	(Project_Tree_Data, Project_Tree_Ref, No_Project): Declare types and
! 	constant at the beginning of the package spec, so that they cane be used
! 	in subprograms before their full declarations.
! 	(Standard_Naming_Data): Add defaulted parameter of type Project_Node_Ref
! 	(Empty_Project): Add parameter of type Project_Node_Ref
! 	(Private_Project_Tree_Data): Add component Default_Naming of type
! 	Naming_Data.
! 	(Buffer, Buffer_Last): remove global variables
! 	(Add_To_Buffer): Add two in out parameters to replace global variables
! 	Buffer and Buffer_Last.
! 	(Current_Packages_To_Check): Remove global variable
! 	(Empty_Name): Move to private part
! 	(No-Symbols): Make it a constant
! 	(Private_Project_Tree_Data): New type for the private part of the
! 	project tree data.
! 	(Project_Tree_Data): New type for the data of a project tree
! 	(Project_Tree_Ref): New type to designate a project tree
! 	(Initialize, Reset, register-Default_Namng-Scheme): Add a new parameter
! 	for the project tree.
! 
! 	* prj-attr.ads: Add with Table; needed, as package Prj no longer
! 	imports package Table.
! 
! 	* prj-com.adb: Remove empty, no longer needed body
! 
! 	* prj-com.ads: Move most of the content of this package to package Prj.
! 
! 	* prj-dect.ads, prj-dect.adb (Parse): New parameters In_Tree to
! 	designate the project node tree and Packages_To_Check to replace
! 	global variable Current_Packages_To_Check.
! 	Add new parameters In_Tree and Packages_To_Check to local subprograms,
! 	when needed. Adapt to changes in project manager with project node tree
! 	In_Tree.
! 
! 	* prj-env.ads, prj-env.adb: Add new parameter In_Tree to designate the
! 	project tree to most subprograms. Move tables and hash tables to
! 	private part of package Prj.
! 	Adapt to changes in project manager using project tree In_Tree.
! 
! 	* prj-makr.adb (Tree): New constant to designate the project node tree
! 	Adapt to change in project manager using project node tree Tree
! 
! 	* prj-nmsc.ads, prj-nmsc.adb (Check_Stand_Alone_Library): Correctly
! 	display the Library_Src_Dir and the Library_Dir.
! 	Add new parameter In_Tree to designate the project node tree to most
! 	subprograms. Adapt to changes in the project manager, using project tree
! 	In_Tree.
! 	(Check_Naming_Scheme): Do not alter the casing on platforms where
! 	the casing of file names is not significant.
! 	(Check): Add new parameter In_Tree to designate the
! 
! 	* prj-pars.ads, prj-pars.adb (Parse): Add new parameter In_Tree to
! 	designate the project tree.
! 	Declare a project node tree to call Prj.Part.Parse and Prj.Proc.Process
! 
! 	* prj-part.ads, prj-part.adb (Buffer, Buffer_Last): Global variables,
! 	to replace those that were in the private part of package Prj.
! 	Add new parameter In__Tree to designate the project node tree to most
! 	subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
! 	(Post_Parse_Context_Clause): When specifying the project node of a with
! 	clause, indicate that it is a limited with only if there is "limited"
! 	in the with clause, not necessarily when In_Limited is True.
! 	(Parse): Add new parameter In_Tree to designate the project node tree
! 
! 	* prj-pp.ads, prj-pp.adb (Pretty_Print): Add new parameter In_Tree to
! 	designate the project node tree. Adapt to change in Prj.Tree with
! 	project node tree In_Tree.
! 
! 	* prj-proc.ads, prj-proc.adb (Recursive_Process): Specify the project
! 	tree In_Tree in the call to function Empty_Process to give its initial
! 	value to the project data Processed_Data.
! 	Add new parameters In_Tree to designate the project tree and
! 	From_Project_Node_Tree to designate the project node tree to several
! 	subprograms. Adapt to change in project manager with project tree
! 	In_Tree and project node tree From_Project_Node_Tree.
! 
! 	* prj-strt.ads, prj-strt.adb (Buffer, Buffer_Last): Global variables,
! 	to replace those that were in the private part of package Prj.
! 	Add new parameter In_Tree to designate the project node tree to most
! 	subprograms. Adapt to change in Prj.Tree with project node tree In_Tree.
! 
! 	* prj-tree.ads, prj-tree.adb: Add new parameter of type
! 	Project_Node_Tree_Ref to most subprograms.
! 	Use this new parameter to store project nodes in the designated project
! 	node tree.
! 	(Project_Node_Tree_Ref): New type to designate a project node tree
! 	(Tree_Private_Part): Change table to dynamic table and hash tables to
! 	dynamic hash tables.
! 
! 	* prj-util.ads, prj-util.adb: Add new parameter In_Tree to designate
! 	the project tree to most subprograms. Adapt to changes in project
! 	manager using project tree In_Tree.
! 
! 	* makegpr.adb (Project_Tree): New constant needed to use project
! 	manager.
! 
! 2005-03-15  Olivier Hainque  <hainque@adacore.com>
! 
! 	* s-intman-posix.adb (Notify_Exception): Adjust signature, as handler
! 	for sigactions with SA_SIGINFO set. Call
! 	__gnat_adjust_context_for_raise before raising, to perform the
! 	potentially required adjustments to the machine context for the GCC
! 	unwinder.
! 
! 	* raise.h (__gnat_adjust_context_for_raise): New prototype.
! 
! 	* init.c (__gnat_adjust_context_for_raise) HPUX: Initial revision.
! 	Adjust PC by one in the provided machine context.
! 	(__gnat_install_handler) HPUX: Set SA_SIGINFO in the sigaction flags,
! 	so that the handler is passed the context structure to adjust prior to
! 	the raise.
! 	(__gnat_error_handler) HPUX: Adjust the signature to match what an
! 	SA_SIGINFO sigaction should look like. Call
! 	__gnat_adjust_context_for_raise before actually raising.
! 	(__gnat_adjust_context_for_raise): Default noop to help PC
! 	adjustments before raise from signal handlers.
! 	(__gnat_error_handler): Indirectly call a predicate function to
! 	determine if a condition should be resignaled or not.
! 	(__gnat_set_resignal_predicate): User interface to modify the predicate.
! 	(__gnat_default_resignal_p): Default GNAT predicate.
! 
! 2005-03-15  Doug Rupp  <rupp@adacore.com>
! 
! 	* adaint.c: Prefix #include of VMS system header files with vms/
! 	[VMS] (HOST_EXECUTABLE_SUFFIX, HOST_OBJECT_SUFFIX): Define for VMS.
! 	Do not define a dummy function "convert_addresses" under Darwin,
! 	not needed.
! 
! 	* tb-alvms.c, expect.c: Prefix #include of VMS system header files
! 	with vms/
! 
! 2005-03-15  Nicolas Setton  <setton@adacore.com>
! 
! 	* tracebak.c: Under Darwin, use the same unwinding mechanisms as under
! 	PPC/AIX.
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-reatim.ads, a-reatim.adb: Add functions Minutes and Seconds for
! 	AI-386.
! 
! 	* a-retide.ads: Minor comment changes
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* a-stzunb.adb, a-stzunb.adb a-stzunb.ads, a-stzunb.ads,
! 	a-stwiun.ads, a-stwiun.adb, a-strunb.ads, a-strunb.adb: Move
! 	Realloc_For_Chunk to private part of package.
! 	New subprograms for AI-301
! 
! 	* a-szuzti.adb, a-suteio.adb, a-swuwti.adb: Improve efficiency of
! 	Get_Line procedure.
! 	Avoid unnecessary use of Get/Set_Wide_String
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	PR ada/13470
! 
! 	* a-stunau.ads, a-stunau.adb:
! 	Change interface to allow efficient (and correct) implementation
! 	The previous changes to allow extra space in unbounded strings had
! 	left this interface a bit broken.
! 
! 	* a-suteio.adb: Avoid unnecessary use of Get/Set_String
! 
! 	* g-spipat.ads, g-spipat.adb: New interface for Get_String
! 	Minor reformatting (function specs)
! 
! 	* g-spitbo.adb: New interface for Get_String
! 
! 	* g-spitbo.ads: Minor reformatting
! 
! 	* a-swunau.ads, a-swunau.adb: New interface for Get_Wide_String
! 
! 	* a-szunau.ads, a-szunau.adb: New interface for Get_Wide_Wide_String
! 
! 2005-03-15  Javier Miranda  <miranda@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Thomas Quinot  <quinot@adacore.com>
! 	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 
! 	* atree.ads, atree.adb: Add support for Elist24 field
! 
! 	* atree.h: Fix wrong definition of Field27
! 	Add support for Elist16 field
! 	Add support for Elist24 field
! 
! 	* einfo.ads, einfo.adb (Abstract_Interfaces,
! 	Set_Abstract_Interfaces): New subprograms.
! 	(Abstract_Interface_Alias, Set_Abstract_Interface_Alias): New
! 	subprograms.
! 	(Access_Disp_Table, Set_Access_Disp_Table): Modified to handle a list of
! 	entities rather than a single node.
! 	(Is_Interface, Set_Is_Interface): New subprogram
! 	(First_Tag_Component): New syntesized attribute
! 	(Next_Tag_Component): New synthesized attribute
! 	(Write_Entity_Flags): Upgraded to write Is_Interface
! 	(Write_Field24_Name): Upgraded to write Abstract_Interfaces
! 	(Write_Field25_Name): Upgraded to write Abstract_Interface_Alias
! 	(Task_Body_Procedure): New subprogram to read this attribute.
! 	(Set_Task_Body_Procedure): New subprogram to set this attribute.
! 	(Has_Controlled_Component): Now applies to all entities.
! 	This is only a documentation change, since it always worked to apply
! 	this to other than composite types (yielding false), but now this is
! 	official.
! 	Update documentation on Must_Be_Byte_Aligned for new spec
! 
! 	* tbuild.adb, exp_dist.adb, exp_disp.adb, exp_ch3.ads, exp_ch3.adb,
! 	exp_attr.adb, exp_aggr.adb, exp_ch4.adb, exp_ch5.adb: Upgrade all the
! 	uses of the Access_Disp_Table attribute to reference the first dispatch
! 	table associated with a tagged type. As
! 	part of the implementation of abstract interface types,
! 	Access_Disp_Table has been redefined to contain a list of dispatch
! 	tables (rather than a single dispatch table).
! 	Similarly, upgrade all the references to Tag_Component by the
! 	new attribute First_Tag_Component.
! 	(Find_Inherited_TSS): Moved to exp_tss.
! 	Clean up test in Expand_N_Object_Declaration for cases
! 	where we need to do a separate assignment of the initial value.
! 	(Expand_N_Object_Declaration): If the expression in the
! 	declaration of a tagged type is an aggregate, no need to generate an
! 	additional tag assignment.
! 	(Freeze_Type): Now a function that returns True if the N_Freeze_Entity
! 	is to be deleted.
! 	Bit packed array ops are only called if operands are known to be
! 	aligned.
! 	(Component_Equality): When returning an N_Raise_Program_Error statement,
! 	ensure that its Etype is set to Empty to avoid confusing GIGI (which
! 	expects that only expressions have a bona fide type).
! 	(Make_Tag_Ctrl_Assignment): Use Build_Actual_Subtype to correctly
! 	determine the amount of data to be copied.
! 
! 	* par.adb (P_Interface_Type_Definition): New subprogram that parses the
! 	new syntax rule of Ada 2005 interfaces (for AI-251 and AI-345):
! 	    INTERFACE_TYPE_DEFINITION ::=
! 	      [limited | task | protected | synchronized] interface
! 		[AND interface_list]
! 
! 	* par-ch3.adb (P_Type_Declaration): Modified to give support to
! 	interfaces.
! 	(P_Derived_Type_Def_Or_Private_Ext_Decl): Modified to give support to
! 	interfaces.
! 	(P_Interface_Type_Definition): New subprogram that parses the new
! 	syntax rule of Ada 2005 interfaces
! 	(P_Identifier_Declarations): fix two occurrences of 'RENAMES' in error
! 	messages by the correct RENAMES (quotes removed).
! 
! 	* sem_prag.adb: Upgrade all the references to Tag_Component by the new
! 	attribute First_Tag_Component.
! 
! 	* sinfo.ads, sinfo.adb: Remove OK_For_Stream flag, not used, not needed
! 	(Interface_List, Set_Interface_List): New subprograms.
! 	(Interface_Present, Set_Interface_Present): New subprograms.
! 	(Limited_Present, Set_Limited_Present): Available also in derived
! 	type definition nodes.
! 	(Protected_Present, Set_Protected_Present): Available also in
! 	record type definition and
! 	derived type definition nodes.
! 	(Synchronized_Present, Set_Synchronized_Present): New subprograms.
! 	(Task_Present, Set_Task_Present): New subprogram.
! 	(Task_Body_Procedure): Removed.
! 	(Set_Task_Body_Procedure): Removed.
! 	These subprogram have been removed because the attribute
! 	Task_Body_Procedure has been moved to the corresponding task type
! 	or task subtype entity to leave a field free to store the list
! 	of interfaces implemented by a task (for AI-345)
! 	Add Expression field to N_Raise_Statement node for Ada 2005 AI-361
! 	(Null_Exclusion_Present): Change to Flag11, to avoid conflict with
! 	expression flag Do_Range_Check
! 	(Exception_Junk): Change to Flag7 to accomodate above change
! 	(Box_Present, Default_Name, Specification, Set_Box_Present,
! 	Set_Default_Name, Set_Specification): Expand the expression
! 	"X in N_Formal_Subprogram_Declaration" into the corresponding
! 	two comparisons. Required to use the csinfo tool.
! 
! 	* exp_ch11.adb (Expand_N_Raise_Statement): Deal with case where
! 	"with string" given.
! 
! 	* sem_ch11.adb (Analyze_Raise_Statement): Handle case where string
! 	expression given.
! 
! 	* par-ch11.adb (P_Raise_Statement): Recognize with string expression
! 	in 2005 mode
! 
! 	* exp_ch9.adb (Build_Task_Proc_Specification): Modified to use entity
! 	attribute Task_Body_Procedure rather than the old semantic field that
! 	was available in the task_type_declaration node.
! 
! 	* par-ch12.adb (P_Formal_Type_Definition): Modified to handle formal
! 	interface type definitions.
! 	(P_Formal_Derived_Type_Definition): Modified to handle the list of
! 	interfaces.
! 
! 	* par-ch9.adb (P_Task): Modified to handle the list of interfaces in a
! 	task type declaration.
! 	(P_Protected): Modified to handle the list of interfaces in a
! 	protected type declaration.
! 
! 2005-03-15  Doug Rupp  <rupp@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 
! 	* bindgen.adb (Gen_Main_C): Change WBI __posix_exit to decc$posix_exit
! 	(Gen_Output_File_C): Likewise.
! 	(Gen_Main_C): Issue #include <stdlib.h> to avoid warning
! 
! 2005-03-15  Thomas Quinot  <quinot@adacore.com>
! 
! 	* checks.adb (Get_E_First_Or_Last): When the expression being retrieved
! 	is an N_Raise_Constraint_Error node, create a new copy of it without
! 	going through a call to Duplicate_Subexpr.
! 
! 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
! 	    Nicolas Setton  <setton@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	PR ada/19900
! 	PR ada/19408
! 	PR ada/19140
! 	PR ada/20255
! 
! 	* decl.c (gnat_to_gnu_field): Reject aliased components with a
! 	representation clause that prescribes a size not equal to the rounded
! 	size of their types.
! 	(gnat_to_gnu_entity, case E_Component): Always look at
! 	Original_Record_Component if Present and not the entity.
! 	(gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
! 	of tagged extension types by not making field for components that are
! 	inside the parent.
! 	(gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
! 	(gnat_to_gnu_entity) <E_Variable>: Do not convert again the
! 	expression to the type of the object when the object is constant.
! 	Reverse defer_debug_incomplete_list before traversing it, so that trees
! 	are processed in the order at which they were added to the list. This
! 	order is important when using the stabs debug format.
! 	If we are deferring the output of debug information, also defer this
! 	output for a function return type.
! 	When adding fields to a record, prevent emitting debug information
! 	for incomplete records, emit the information only when the record is
! 	complete.
! 	(components_to_record): New parameter defer_debug.
! 	(gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
  	(gnat_to_gnu_field_decl): New function.
  	(substitution_list, annotate_rep): Call it.
  	(gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
***************
*** 76,151 ****
  	No longer update discriminants to not be a COMPONENT_REF.
  	(copy_alias_set): Strip padding from input type; also handle
  	unconstrained arrays properly.
- 	* trans.c (gnat_to_gnu, case N_Selected_Component): Call
- 	gnat_to_gnu_field_decl.
- 	(assoc_to_constructor): Likewise.
  
! 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/19408
! 	PR ada/19900
! 	Backport from mainline:
  
- 	2005-03-15  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  	* exp_util.adb (Remove_Side_Effects): Properly test for
  	Expansion_Delayed and handle case when it's inside an
  	N_Qualified_Expression.
! 	* decl.c (gnat_to_gnu_entity, case E_Component): Always look at
! 	Original_Record_Component if Present and not the entity.
! 	(gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtype
! 	of tagged extension types by not making field for components that are
! 	inside the parent.
  	* trans.c (gnat_to_gnu, case N_Aggregate): Verify that
  	Expansion_Delayed is False.
  	(assoc_to_constructor): Ignore fields that have a
  	Corresponding_Discriminant.
!     
! 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
! 	PR ada/19140
! 	Backport from mainline:
  
! 	2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 	* decl.c (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
! 	expression to the type of the object when the object is constant.
! 	* trans.c (gnat_to_gnu) <N_Return_Statement>: Restructure.  Set
! 	gnu_result to NULL_TREE on entry.  If the function returns "by
! 	target", dereference the target pointer using the type of the
! 	actual return value.
! 	<all>: Be prepared for a null gnu_result.
! 	* utils2.c (build_binary_op): Fix typo.
  
! 2005-03-17  Eric Botcazou  <ebotcazou@adacore.com>
  
  	PR ada/20344
- 	Backport from mainline:
  
! 	2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
  	* lang.opt: Fix specification of -fRTS=.
- 	* misc.c (gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
-     
- 2005-03-15  Jakub Jelinek  <jakub@redhat.com>
  
! 	* Make-lang.in (ada/treeprs.ads, ada/einfo.h, ada/sinfo.h,
! 	ada/nmake.adb, ada/nmake.ads): Use unique subdirectories of
! 	ada/bldtools to avoid make -jN failures.
  
  2005-03-08  Laurent Guerby <laurent@guerby.net>
  
  	* system-linux-sparc.ads: Fix typo in previous commit.
  
! 2005-03-07  James A. Morrison <phython@gcc.gnu.org>	
!             Laurent Guerby <laurent@guerby.net>
  
  	PR ada/20035
  	* system-linux-sparc.ads: New.
  	* Makefile.in: Add sparc linux entry.
! 	
  2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
  
  	PR ada/19942
! 	* utils.c (gnat_type_for_mode): Return null instead of ICE because we asked
! 	for an unknown mode.
  
  2005-02-12  Richard Henderson  <rth@redhat.com>
  
--- 5773,6135 ----
  	No longer update discriminants to not be a COMPONENT_REF.
  	(copy_alias_set): Strip padding from input type; also handle
  	unconstrained arrays properly.
  
! 	* gigi.h (write_record_type_debug_info): New function.
! 	Convert to use ANSI-style prototypes. Remove unused
! 	declarations for emit_stack_check, elab_all_gnat and
! 	set_second_error_entity.
! 	(gnat_to_gnu_field_decl): New decl.
  
! 	* utils.c (write_record_type_debug_info): New function.
! 	(finish_record_type): Delegate generation of debug information to
! 	write_record_type_debug_info.
! 	(update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
! 	(update_pointer_to): Fix pasto.
! 	(convert) <UNION_TYPE>: Accept slight type variations when
! 	converting to an unchecked union type.
! 
! 	* exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
! 	replace the N_Freeze_Entity with a null statement.
! 
! 	* freeze.adb (Freeze_Expression): If the freeze nodes are generated
! 	within a constrained subcomponent of an enclosing record, place the
! 	freeze nodes in the scope stack entry for the enclosing record.
! 	(Undelay_Type): New Subprogram.
! 	(Set_Small_Size): Pass T, the type to modify; all callers changed.
! 	(Freeze_Entity, Freeze_Record_Type): Change the way we handle types
! 	within records; allow them to have freeze nodes if their base types
! 	aren't frozen yet.
  
  	* exp_util.adb (Remove_Side_Effects): Properly test for
  	Expansion_Delayed and handle case when it's inside an
  	N_Qualified_Expression.
! 
! 	* sem_ch3.adb (Derived_Type_Declaration): New predicate
! 	Comes_From_Generic, to recognize accurately that the parent type in a
! 	derived type declaration can be traced back to a formal type, because
! 	it is one or is derived from one, or because its completion is derived
! 	from one.
! 	(Constrain_Component_Type): If component comes from source and has no
! 	explicit constraint, no need to constrain in in a subtype of the
! 	enclosing record.
! 	(Constrain_Access, Constrain_Array): Allow itypes to be delayed.
! 	Minor change to propagate Is_Ada_2005 flag
! 
  	* trans.c (gnat_to_gnu, case N_Aggregate): Verify that
  	Expansion_Delayed is False.
  	(assoc_to_constructor): Ignore fields that have a
  	Corresponding_Discriminant.
! 	(gnat_to_gnu) <N_Return_Statement>: Restructure. If the
! 	function returns "by target", dereference the target pointer using the
! 	type of the actual return value.
! 	<all>: Be prepared for a null gnu_result.
! 	(processed_inline_subprograms): Check flag_really_no_inline
! 	instead of flag_no_inline.
! 	(set_second_error_entity): Remove unused function.
! 	(gnat_to_gnu, case N_Selected_Component): Call
! 	gnat_to_gnu_field_decl.
! 	(assoc_to_constructor): Likewise.
  
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 	    Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
  
! 	* exp_pakd.adb (Create_Packed_Array_Type): Do not set
! 	Must_Be_Byte_Aligned for cases where we do not need to use a
! 	System.Pack_nn unit.
  
! 	* exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
! 	as procedures.
! 	Needed now that we do some processing for IN parameters as well. This
! 	may well fix some unrelated errors.
! 	(Expand_Call): Handle case of unaligned objects (in particular those
! 	that come from packed arrays).
! 	(Expand_Inlined_Call): If the subprogram is a renaming as body, and the
! 	renamed entity is an inherited operation, re-expand the call using the
! 	original operation, which is the one to call.
! 	Detect attempt to inline parameterless recursive subprogram.
! 	(Represented_As_Scalar): Fix to work properly with private types
! 	(Is_Possibly_Unaligned_Object): Major rewrite to get a much more
! 	accurate estimate. Yields True in far fewer cases than before,
! 	improving the quality of code that depends on this test.
! 
! 	* exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
! 	over both visible and private declarations to remove them from tree,
! 	and mark subprograms declared in package as eliminated, to prevent
! 	spurious use in subsequent compilation of generic units in the context.
! 
! 	* exp_util.ads: Minor cleanup in variable names
! 
! 	* sem_eval.ads, sem_eval.adb: Minor reformatting
! 	(Compile_Time_Known_Bounds): New function
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_ch7.adb (Convert_View): Use base types of underlying types when
! 	determining whether an unchecked conversion is needed for the argument
! 	of an initialization call.
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* exp_intr.adb (Expand_Unc_Conversion): As a target type, use the type
! 	that appears in the instantiation rather than the internal subtype
! 	generated in the wrapper package, to avoid anomalies in gigi when the
! 	target is derived from a private type whose full view is an access type.
  
+ 2005-03-15  Robert Dewar  <dewar@adacore.com>
+ 
+ 	* exp_smem.adb, sem_attr.adb: Remove OK_For_Stream flag, not used,
+ 	not needed.
+ 	Add documentation to replace the use of this flag
+ 	Fix kludge for Maximum_Alignment on x86 so that it does not apply to
+ 	the x86_64.
+ 
+ 2005-03-15  Thomas Quinot  <quinot@adacore.com>
+ 
+ 	* exp_tss.ads, exp_tss.adb (Find_Inherited_TSS): New subprogram, moved
+ 	here from exp_attr so it can be shared between exp_attr and exp_dist.
+ 	(TSS_Names): Renamed from OK_TSS_Names. This array contains the list of
+ 	all TSS names, not a subset thereof, and the previous name introduced
+ 	an unnecessarily confusion that a distinction might exist between
+ 	"OK" TSS names and some "not OK" TSS names.
+ 
+ 2005-03-15  Doug Rupp  <rupp@adacore.com>
+ 
+ 	* gnatchop.adb (Locate_Executable): Normalize the possibly VMS style
+ 	Command_Name.
+ 
+ 2005-03-15  Pascal Obry  <obry@adacore.com>
+ 	    Eric Botcazou  <ebotcazou@adacore.com>
+ 
+ 	PR ada/20226
  	PR ada/20344
  
! 	* init.c (__gnat_initialize): Do not call __gnat_install_SEH_handler()
! 	when IN_RTS. This is to work around a bootstrap path problem.
! 
! 	* misc.c (gnat_parse_file): Create a SEH (Structured Exception Handler)
! 	table and pass it to __gnat_install_SEH_handler().
! 	(gnat_handle_option): Accept OPT_fRTS_, not OPT_fRTS.
! 
  	* lang.opt: Fix specification of -fRTS=.
  
! 2005-03-15  Doug Rupp  <rupp@adacore.com>
! 	    Bernard Banner  <banner@adacore.com>
! 	    Vincent Celier  <celier@adacore.com>
! 	    Arnaud Charlet  <charlet@adacore.com>
! 
! 	PR ada/6852
! 	This change works fine when gnatlib is built from the gcc directory,
! 	but does not work when using the libada Makefile, since GCC_FOR_TARGET
! 	is not passed to ada/Makefile.in, so more work is needed by a
! 	Makefile/configure expert.
! 
! 	* Makefile.in(gnatlib): Use $(GCC_FOR_TARGET) for compiling library.
! 	set GMEM_LIB on ia64 linux to add optional support for gnatmem.
! 	Setup gnatlink switch -M for x86_64 linux, as it is already setup
! 	for Linux x86.
! 	(gnatlib-shared-default): Use GNATLIBCFLAGS as well.
! 	Run ranlib on libgccprefix.a
! 	Define PREFIX_OBJS for Darwin, to build libgccprefix.
! 	(ADA_INCLUDE_SRCS): Split Ada packages.
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* Make-lang.in: Add g-utf_32 unit for gnat and gnatbind
! 
! 	* impunit.adb: Add GNAT.UTF_32
! 
! 	* scng.adb: Use gnat.utf_32 instead of widechar for utf_32 stuff
! 
! 	* widechar.ads, widechar.adb: Remove redundant UTF-32 tables (scng
! 	now uses GNAT.UTF_32).
! 
! 	* g-utf_32.ads, g-utf_32.adb: This is a new unit with full
! 	capabilities for categorizing characters using Unicode categories
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch10.adb (Build_Ancestor_Name): If the ancestor is an
! 	instantiation that has been rewritten as a package body, retrieve spec
! 	to generate proper name for implicit_with_clause.
! 	(Install_Parents): Recognize a parent that is an instantiation but has
! 	been rewritten as a package declaration during analysis.
! 
! 2005-03-15  Javier Miranda  <miranda@adacore.com>
! 	    Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch12.adb (Instantiate_Object): If the analysis of the actual
! 	parameter reported some error we immediately return. This improves the
! 	behaviour of the frontend in case of errors.
! 	(Install_Parent, Remove_Parent): Introduce new flag
! 	Parent_Unit_Visible, to preserve the proper visibility of the ultimate
! 	ancestor of a generic child unit, when the child is being instantiated.
! 	(Inline_Instance_Body): If we are compiling the private
! 	part or the body of a child unit, restore the proper visibility of the
! 	parents after compiling the instance body.
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 	    Javier Miranda  <miranda@adacore.com>
! 
! 	PR ada/15608
! 	* sem_util.adb (Get_Task_Body_Procedure): Type may be the completion
! 	of a private type, in which case it is underlying_type that denotes
! 	the proper task. Also modified to use the new entity attribute
! 	that is directly available in the task type and task subtype entities
! 	(Build_Actual_Subtype_Of_Component): Handle properly multidimensional
! 	arrays when other dimensions than the first are constrained by
! 	discriminants of an enclosing record.
! 	(Insert_Explicit_Dereference): If the prefix is an indexed component or
! 	a combination of indexed and selected components, find ultimate entity
! 	and generate the appropriate reference for it, to suppress spurious
! 	warnings.
! 	(Note_Possible_Modification): If an entity name has no entity, return.
! 	(Is_Variable): A function call never denotes a variable.
! 	(Requires_Transient_Scope): For record types, recurse only on
! 	components, not on internal subtypes that may have been generated for
! 	constrained components.
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch4.adb (Analyze_Concatenation): Do not consider operators marked
! 	Eliminated as candidates for resolution. Both efficient, and avoids
! 	anomalies with operators declared in deleted code.
! 	(Process_Implicit_Dereference_Prefix): Use this procedure whenever
! 	expansion is disabled (as when compiling a generic) to prevent spurious
! 	warnings on prefixes of selected components.
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch6.adb (Is_Private_Declaration): Verify that the declaration is
! 	attached to a list before checking whether it appears in the private
! 	declarations of the current package.
! 	(Make_Inequality_Operator): Insert declaration in proper declarative
! 	list rather than just setting the Parent field, so that
! 	Is_Private_Declaration can handle it properly.
! 
! 2005-03-15  Ed Schonberg  <schonberg@adacore.com>
! 
! 	* sem_ch8.adb (Analyze_Subprogram_Renaming): In a generic, if this is
! 	a renaming a body, check that the renamed subprogram in not intrinsic.
! 	(Find_Direct_Name): If several use_visible entities hide
! 	each other, and the context is a predefined file compiled through
! 	rtsfind, keep only the entity that comes from a predefined file.
! 
! 2005-03-15  Geert Bosch  <bosch@adacore.com>
! 
! 	* s-fatgen.adb (Valid): Extend special exceptions to account for long
! 	long float padding to also cover AMD64 and IA64.
! 
! 2005-03-15  Gary Dismukes  <dismukes@adacore.com>
! 
! 	* s-imgwch.adb: Add with and use of Interfaces.
! 	(Img_Wide_Character): Change type of Val to Unsigned_16.
! 	(Img_Wide_Wide_Character): Change type of Val to Unsigned_32.
! 
! 2005-03-15  Matthew Gingell  <gingell@adacore.com>
! 
! 	* sysdep.c: Implement __gnat_localtime_r as call to localtime_r on AIX.
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* usage.adb: Add missing lines for -gnat95 and -gnat05 switches
! 
! 	* sem_ch7.adb: Minor change to propagate Is_Ada_2005 flag
! 
! 	* i-c.adb: Clarify that AI-258 behavior is also intended in Ada 95
! 
! 2005-03-15  Robert Dewar  <dewar@adacore.com>
! 
! 	* s-bitops.adb, s-bitops.ads,
! 	s-taprop-os2.adb, s-intman-vms.ads, s-intman-vxworks.ads,
! 	s-taprop-vxworks.adb, a-caldel.ads, a-calend.adb, a-tasatt.adb,
! 	tbuild.ads, s-finimp.adb, s-imgwch.adb, s-intman.ads, s-intman.ads,
! 	s-memory.adb, s-soflin.ads, s-taasde.ads, s-taprob.adb, s-taprop.ads,
! 	s-taprop.ads, s-tasini.adb, s-tasini.ads, s-tasini.ads, s-tasini.ads,
! 	s-taskin.ads, s-tasren.adb, s-tassta.adb, s-tassta.ads, s-tassta.ads,
! 	s-tasuti.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads, s-tataat.ads,
! 	s-tpoben.adb, s-tpoben.adb, s-tpobop.ads: Update comments. Minor
! 	reformatting.
! 
! 2005-03-15  Eric Botcazou  <ebotcazou@adacore.com>
! 
! 	* utils2.c (build_binary_op): Fix typo.
! 
! 2005-03-15  Doug Rupp  <rupp@adacore.com>
! 
! 	* s-crtl.ads (popen,pclose): New imports.
! 
! 2005-03-15  Cyrille Comar  <comar@adacore.com>
! 
! 	* comperr.adb (Compiler_Abort): remove references to obsolete
! 	procedures in the bug boxes for various GNAT builds.
! 
! 2005-03-15  Vincent Celier  <celier@adacore.com>
! 
! 	* snames.ads, snames.adb: Save as Unix text file, not as DOS text file
! 
! 2005-03-15  Geert Bosch  <bosch@adacore.com>
! 	    Arnaud Charlet  <charlet@adacore.com>
! 	    Robert Dewar  <dewar@adacore.com>
! 	    Cyrille Comar  <comar@adacore.com>
! 	    Sergey Rybin  <rybin@adacore.com>
! 
! 	* gnat_ugn.texi: Remove extended inline assembly example, as it was far
! 	too specific and long-winded to be appropriate for the GNAT User's
! 	Guide.
! 	Warn about use of GCC switches not documented in the GNAT User's Guide,
! 	as these may cause generated code to not conform to Ada semantics.
! 	Remove mention of -gdwarf-2 for sparc64, since this is now the default.
! 	Add documentation for -gnat95 and -gnat05 switches
! 	Remove paragraph documenting obsolete way to refer to third party
! 	libraries.
! 	Add a few references to Ada_05 that were missing.
! 	Update documentation on -gnatZ/-gnatL.
! 	Document limitation when using -m64 under Solaris.
! 	Change the "Name Casing" subsection of the pretty-printer section
! 	according to the changes in the dictionary processing.
! 
! 	* gnat_rm.texi: Document the Ada_05 pragma.
! 	Section on record representation clauses describes the new more
! 	relaxed rules about placement of large packed bit array components.
! 	Add documentation of GNAT.UTF_32
! 
! 2005-03-12  Daniel Berlin <dberlin@dberlin.org>
! 
! 	* misc.c (gnat_post_options): Turn off structural
! 	aliasing for now.
  
  2005-03-08  Laurent Guerby <laurent@guerby.net>
  
  	* system-linux-sparc.ads: Fix typo in previous commit.
  
! 2005-03-07  James A. Morrison <phython@gcc.gnu.org>
! 	    Laurent Guerby <laurent@guerby.net>
  
  	PR ada/20035
  	* system-linux-sparc.ads: New.
  	* Makefile.in: Add sparc linux entry.
! 
! 2005-02-27  Danny Smith  <dannysmith@users.sourceforge.net>
! 
! 	* seh_init.c (__gnat_SEH_error_handler): Mark third and fourth
! 	parameters as unused.
! 
! 2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
! 	Partial merge from libada-gnattools-branch:
! 
! 	2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
! 	* Makefile.in: Move gnattools{1,1re,2,3,4} and corresponding flags
! 	into code in gnattools/Makefile.in.  Remove direct dependencies on
! 	stamp-tools by tools clauses.
! 	2004-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
! 	* config-lang.in: Add gnattools to $lang_dirs.
! 
  2005-02-13  Andrew Pinski  <pinskia@physics.uc.edu>
  
  	PR ada/19942
! 	* utils.c (gnat_type_for_mode): Return null instead of ICE because
! 	we asked for an unknown mode.
  
  2005-02-12  Richard Henderson  <rth@redhat.com>
  
***************
*** 335,341 ****
  	(Structured Exception handling).
  	(Gen_Main_C): Idem.
  
! 	* bindgen.adb: 
  	(Gen_Main_Ada): Set the default exit code if specified.
  	(Gen_Main_C): Likewise.
  	Part of *DC20-006.
--- 6319,6325 ----
  	(Structured Exception handling).
  	(Gen_Main_C): Idem.
  
! 	* bindgen.adb:
  	(Gen_Main_Ada): Set the default exit code if specified.
  	(Gen_Main_C): Likewise.
  	Part of *DC20-006.
***************
*** 589,596 ****
  
  2005-02-09  Robert Dewar  <dewar@adacore.com>
  
!         * a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
!         Fix name of Set routine
  
  	* a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
  	fixed packages.
--- 6573,6580 ----
  
  2005-02-09  Robert Dewar  <dewar@adacore.com>
  
! 	* a-strunb.ads, a-strunb.adb: Add missing pragma Ada_05 statements
! 	Fix name of Set routine
  
  	* a-strfix.ads, a-strfix.adb: Add new index functions from AI-301 to
  	fixed packages.
***************
*** 632,638 ****
  
  	Fix for c330001 - PR ada/19386
  
! 	* decl.c: 
  	(gnat_to_gnu_field): Do not necessarily invoke make_packable_type
  	on the field if Pragma Component_Alignment (Storage_Unit).
  	(gnat_to_gnu_entity, case object): Do not treat a renaming that has
--- 6616,6622 ----
  
  	Fix for c330001 - PR ada/19386
  
! 	* decl.c:
  	(gnat_to_gnu_field): Do not necessarily invoke make_packable_type
  	on the field if Pragma Component_Alignment (Storage_Unit).
  	(gnat_to_gnu_entity, case object): Do not treat a renaming that has
***************
*** 843,849 ****
  
  2005-02-09  Pascal Obry  <obry@adacore.com>
  
! 	* gnat_ugn.texi: 
  	Document the procedure to debug the DllMain routine on Windows.
  	Add note about -funwind-tables and mixed Ada and C/C++ programming in
  	ZCX mode.
--- 6827,6833 ----
  
  2005-02-09  Pascal Obry  <obry@adacore.com>
  
! 	* gnat_ugn.texi:
  	Document the procedure to debug the DllMain routine on Windows.
  	Add note about -funwind-tables and mixed Ada and C/C++ programming in
  	ZCX mode.
***************
*** 856,862 ****
  
  2005-02-09  Robert Dewar  <dewar@adacore.com>
  
! 	* gnat_rm.texi: 
  	Changes to document new wide wide character support
  	For AI-285
  	Update documentation on Normalize_Scalars and Initialize_Scalars
--- 6840,6846 ----
  
  2005-02-09  Robert Dewar  <dewar@adacore.com>
  
! 	* gnat_rm.texi:
  	Changes to document new wide wide character support
  	For AI-285
  	Update documentation on Normalize_Scalars and Initialize_Scalars
***************
*** 937,944 ****
  2005-01-27  Laurent GUERBY <laurent@guerby.net>
  
  	* Makefile.in: Rename GNAT RTEMS specific files.
! 	* 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,  
!  	5rosinte.ads, 5rparame.adb: Replaced by files below.
  	* s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
  	s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
  
--- 6921,6928 ----
  2005-01-27  Laurent GUERBY <laurent@guerby.net>
  
  	* Makefile.in: Rename GNAT RTEMS specific files.
! 	* 5rtpopsp.adb, 4rintnam.ads, 5rosinte.adb,
! 	5rosinte.ads, 5rparame.adb: Replaced by files below.
  	* s-tpopsp-rtems.adb, a-intman-rtems.ads, s-osinte-rtems.adb,
  	s-osinte-rtems.ads, s-parame-rtems.adb: Replace files above.
  
***************
*** 947,960 ****
  
  	PR ada/19488
  	* 5rosinte.ads: Add No_Key constant.
!         * 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
!         * gsocket.h: Do not include <sys/socket.h> with RTEMS either.
  
  2005-01-26  Laurent GUERBY <laurent@guerby.net>
  
  	PR ada/19414
  	* i-cobol.adb (Valid_Numeric): Handle zero length case.
! 	
  2005-01-20  Richard Henderson  <rth@redhat.com>
  
  	* Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
--- 6931,6944 ----
  
  	PR ada/19488
  	* 5rosinte.ads: Add No_Key constant.
! 	* 5rtpopsp.adb: Initialize ATCB_Key with No_Key and fix style.
! 	* gsocket.h: Do not include <sys/socket.h> with RTEMS either.
  
  2005-01-26  Laurent GUERBY <laurent@guerby.net>
  
  	PR ada/19414
  	* i-cobol.adb (Valid_Numeric): Handle zero length case.
! 
  2005-01-20  Richard Henderson  <rth@redhat.com>
  
  	* Makefile.in (alpha-linux, LIBGNAT_TARGET_PAIRS): Use
***************
*** 1034,1040 ****
  	pragma restrictions.
  	New entry for Ada 2005 attribute Mod.
  
! 	* par-prag.adb: 
  	Add recognition of new pragma Restrictions No_Dependence
  	Recognize restriction No_Obsolescent_Features at parse time
  
--- 7018,7024 ----
  	pragma restrictions.
  	New entry for Ada 2005 attribute Mod.
  
! 	* par-prag.adb:
  	Add recognition of new pragma Restrictions No_Dependence
  	Recognize restriction No_Obsolescent_Features at parse time
  
***************
*** 1150,1156 ****
  	* eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
  	(Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
  	(Pred): Implement in terms of Succ.
! 	
  	* trans.c (convert_with_check): Reimplement conversion of float to
  	integer.
  
--- 7134,7140 ----
  	* eval_fat.adb: (Eps_Model,Eps_Denorm): Remove, no longer used.
  	(Succ): Re-implement using Scaling, Exponent and Ceiling attributes.
  	(Pred): Implement in terms of Succ.
! 
  	* trans.c (convert_with_check): Reimplement conversion of float to
  	integer.
  
***************
*** 1175,1181 ****
  
  2005-01-03  Thomas Quinot  <quinot@adacore.com>
  
! 	* exp_dist.adb: 
  	Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
  	amount of PCS-specific code in RACW stubs generation.
  	(Copy_Specification): Set Etype on copied formal parameter entities, as
--- 7159,7165 ----
  
  2005-01-03  Thomas Quinot  <quinot@adacore.com>
  
! 	* exp_dist.adb:
  	Declare subprogram index in Build_RPC_Receiver_Body, to reduce the
  	amount of PCS-specific code in RACW stubs generation.
  	(Copy_Specification): Set Etype on copied formal parameter entities, as
***************
*** 1613,1622 ****
  	(Insert_Partition_Check): Use runtime library function to perform
  	E.4(19) check.
  
!         * rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
!         (RE_Same_Partition): New entity, from s-parint.
  
!         * s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
  
  2004-12-07  Gary Dismukes  <dismukes@adacore.com>
  
--- 7597,7606 ----
  	(Insert_Partition_Check): Use runtime library function to perform
  	E.4(19) check.
  
! 	* rtsfind.ads: New entity System.PolyORB_Interface.Make_Ref
! 	(RE_Same_Partition): New entity, from s-parint.
  
! 	* s-parint.ads, s-parint.adb (Same_Partition): New subprogram.
  
  2004-12-07  Gary Dismukes  <dismukes@adacore.com>
  
***************
*** 2500,2506 ****
  
  2004-10-05  Vincent Celier  <celier@gnat.com>
  
!         * mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
  
  2004-10-04  Laurent GUERBY <laurent@guerby.net>
  
--- 8484,8490 ----
  
  2004-10-05  Vincent Celier  <celier@gnat.com>
  
! 	* mlib-tgt.ads: (Build_Dynamic_Library): New parameter Options_2
  
  2004-10-04  Laurent GUERBY <laurent@guerby.net>
  
***************
*** 14864,14870 ****
  	into Command, an array conversion is illegal here. Uncovered by
  	ACATS B460005.
  
! 2001/11/28  Geert Bosch <bosch@gnat.com>
  
  	* init.c: Minor whitespace changes.
  
--- 20848,20854 ----
  	into Command, an array conversion is illegal here. Uncovered by
  	ACATS B460005.
  
! 2001-11-28  Geert Bosch <bosch@gnat.com>
  
  	* init.c: Minor whitespace changes.
  
diff -Nrcpad gcc-4.0.2/gcc/ada/Make-lang.in gcc-4.1.0/gcc/ada/Make-lang.in
*** gcc-4.0.2/gcc/ada/Make-lang.in	Tue Mar 15 20:52:43 2005
--- gcc-4.1.0/gcc/ada/Make-lang.in	Thu Feb  9 17:30:56 2006
***************
*** 1,6 ****
  # Top level -*- makefile -*- fragment for GNU Ada (GNAT).
  #   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
! #   2003, 2004 Free Software Foundation, Inc.
  
  #This file is part of GCC.
  
--- 1,6 ----
  # Top level -*- makefile -*- fragment for GNU Ada (GNAT).
  #   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
! #   2003, 2004, 2005, 2006 Free Software Foundation, Inc.
  
  #This file is part of GCC.
  
***************
*** 16,23 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston, MA 02111-1307, USA.
  
  # This file provides the language dependent support in the main Makefile.
  # Each language makefile fragment must provide the following targets:
--- 16,23 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston, MA 02110-1301, USA.
  
  # This file provides the language dependent support in the main Makefile.
  # Each language makefile fragment must provide the following targets:
*************** ADA_TOOLS_FLAGS_TO_PASS=\
*** 105,118 ****
  # Object files for gnat1 from C sources.
  GNAT1_C_OBJS = ada/b_gnat1.o ada/adadecode.o ada/adaint.o ada/cstreams.o \
   ada/cio.o ada/targtyps.o ada/decl.o ada/misc.o ada/utils.o ada/utils2.o \
!  ada/trans.o ada/cuintp.o ada/argv.o ada/raise.o ada/init.o ada/tracebak.o
  
  # Object files from Ada sources that are used by gnat1
  
  GNAT_ADA_OBJS = ada/ada.o ada/a-charac.o ada/a-chlat1.o ada/a-except.o \
   ada/a-elchha.o ada/a-ioexce.o \
   ada/s-memory.o ada/s-carun8.o ada/s-casuti.o ada/s-strcom.o ada/s-purexc.o \
!  ada/s-htable.o ada/s-traceb.o ada/s-mastop.o ada/s-except.o ada/ali.o \
   ada/alloc.o ada/atree.o ada/butil.o ada/casing.o ada/checks.o ada/comperr.o \
   ada/csets.o ada/cstand.o ada/debug.o ada/debug_a.o ada/einfo.o ada/elists.o \
   ada/errout.o ada/erroutc.o ada/err_vars.o ada/eval_fat.o ada/exp_attr.o \
--- 105,119 ----
  # Object files for gnat1 from C sources.
  GNAT1_C_OBJS = ada/b_gnat1.o ada/adadecode.o ada/adaint.o ada/cstreams.o \
   ada/cio.o ada/targtyps.o ada/decl.o ada/misc.o ada/utils.o ada/utils2.o \
!  ada/trans.o ada/cuintp.o ada/argv.o ada/raise.o ada/init.o ada/tracebak.o \
!  ada/initialize.o
  
  # Object files from Ada sources that are used by gnat1
  
  GNAT_ADA_OBJS = ada/ada.o ada/a-charac.o ada/a-chlat1.o ada/a-except.o \
   ada/a-elchha.o ada/a-ioexce.o \
   ada/s-memory.o ada/s-carun8.o ada/s-casuti.o ada/s-strcom.o ada/s-purexc.o \
!  ada/s-htable.o ada/s-traceb.o ada/s-mastop.o ada/ali.o \
   ada/alloc.o ada/atree.o ada/butil.o ada/casing.o ada/checks.o ada/comperr.o \
   ada/csets.o ada/cstand.o ada/debug.o ada/debug_a.o ada/einfo.o ada/elists.o \
   ada/errout.o ada/erroutc.o ada/err_vars.o ada/eval_fat.o ada/exp_attr.o \
*************** GNAT_ADA_OBJS = ada/ada.o ada/a-charac.o
*** 123,129 ****
   ada/exp_prag.o ada/exp_smem.o ada/exp_strm.o ada/exp_tss.o ada/exp_util.o \
   ada/exp_vfpt.o ada/expander.o ada/fname.o ada/fname-uf.o ada/fmap.o \
   ada/freeze.o ada/frontend.o ada/gnat.o ada/g-hesora.o ada/g-htable.o \
!  ada/g-os_lib.o ada/g-speche.o ada/g-string.o ada/s-crc32.o ada/get_targ.o \
   ada/gnatvsn.o ada/hlo.o ada/hostparm.o ada/impunit.o ada/interfac.o \
   ada/itypes.o ada/inline.o ada/krunch.o ada/lib.o ada/layout.o ada/lib-load.o \
   ada/lib-util.o ada/lib-xref.o ada/lib-writ.o ada/live.o ada/namet.o \
--- 124,131 ----
   ada/exp_prag.o ada/exp_smem.o ada/exp_strm.o ada/exp_tss.o ada/exp_util.o \
   ada/exp_vfpt.o ada/expander.o ada/fname.o ada/fname-uf.o ada/fmap.o \
   ada/freeze.o ada/frontend.o ada/gnat.o ada/g-hesora.o ada/g-htable.o \
!  ada/g-os_lib.o ada/g-speche.o ada/g-string.o ada/g-utf_32.o \
!  ada/s-crc32.o ada/get_targ.o \
   ada/gnatvsn.o ada/hlo.o ada/hostparm.o ada/impunit.o ada/interfac.o \
   ada/itypes.o ada/inline.o ada/krunch.o ada/lib.o ada/layout.o ada/lib-load.o \
   ada/lib-util.o ada/lib-xref.o ada/lib-writ.o ada/live.o ada/namet.o \
*************** GNATBIND_OBJS = \
*** 161,166 ****
--- 163,169 ----
   ada/cstreams.o   \
   ada/final.o      \
   ada/init.o       \
+  ada/initialize.o \
   ada/seh_init.o   \
   ada/link.o       \
   ada/raise.o      \
*************** GNATBIND_OBJS = \
*** 192,197 ****
--- 195,201 ----
   ada/g-htable.o   \
   ada/g-os_lib.o   \
   ada/g-string.o   \
+  ada/g-utf_32.o   \
   ada/gnat.o       \
   ada/gnatbind.o   \
   ada/gnatvsn.o    \
*************** GNATBIND_OBJS = \
*** 211,217 ****
   ada/s-casuti.o   \
   ada/s-crc32.o    \
   ada/s-crtl.o     \
-  ada/s-except.o   \
   ada/s-exctab.o   \
   ada/s-htable.o   \
   ada/s-imgenu.o   \
--- 215,220 ----
*************** gnat-cross: force
*** 285,290 ****
--- 288,303 ----
  	make $(GNAT1_ADA_OBJS) CC="gcc -B../stage1/" CFLAGS="-S -gnatp" \
  		$(FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) HOST_CFLAGS= HOST_CC=cc
  
+ gen-soccon: force
+ 	$(MAKE) -C ada $(FLAGS_TO_PASS)  \
+ 	   GNATLIBFLAGS="$(GNATLIBFLAGS)" \
+ 	   GNATLIBCFLAGS="$(GNATLIBCFLAGS)" \
+ 	   TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
+ 	   THREAD_KIND="$(THREAD_KIND)" \
+ 	   TRACE="$(TRACE)" \
+ 	   LIBGNAT_OBJS=gen-soccon \
+ 	   gnatlib
+ 
  gt-ada-decl.h gt-ada-trans.h gt-ada-utils.h gtype-ada.h : s-gtype ; @true
  
  # Build hooks:
*************** doc/gnat_ugn_unw.texi: $(srcdir)/ada/gna
*** 377,392 ****
  	ada/doctools/xgnatugn unw $(srcdir)/ada/gnat_ugn.texi \
  	   $(srcdir)/ada/ug_words doc/gnat_ugn_unw.texi
  
! doc/gnat_ugn_unw.info: doc/gnat_ugn_unw.texi \
!    $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f $(@)*; \
  	  $(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
              -I$(srcdir)/ada -o $@ $<; \
  	else true; fi
  
! doc/gnat_rm.info: ada/gnat_rm.texi $(docdir)/include/fdl.texi \
!    $(docdir)/include/gcc-common.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f $(@)*; \
  	  $(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
--- 390,407 ----
  	ada/doctools/xgnatugn unw $(srcdir)/ada/gnat_ugn.texi \
  	   $(srcdir)/ada/ug_words doc/gnat_ugn_unw.texi
  
! doc/gnat_ugn_unw.info: doc/gnat_ugn_unw.texi			\
!    $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi	\
!    gcc-vers.texi
! 
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f $(@)*; \
  	  $(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
              -I$(srcdir)/ada -o $@ $<; \
  	else true; fi
  
! doc/gnat_rm.info: ada/gnat_rm.texi $(docdir)/include/fdl.texi	\
!    $(docdir)/include/gcc-common.texi gcc-vers.texi
  	if [ x$(BUILD_INFO) = xinfo ]; then \
  	  rm -f $(@)*; \
  	  $(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
*************** install-info:: $(DESTDIR)$(infodir)/gnat
*** 415,426 ****
  dvi:: doc/gnat_ugn_unw.dvi \
        doc/gnat_rm.dvi doc/gnat-style.dvi
  
! doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi \
! 	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
  	$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
  
! doc/gnat_rm.dvi: ada/gnat_rm.texi \
! 	$(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
  	$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
  
  doc/gnat-style.dvi: ada/gnat-style.texi $(docdir)/include/fdl.texi
--- 430,441 ----
  dvi:: doc/gnat_ugn_unw.dvi \
        doc/gnat_rm.dvi doc/gnat-style.dvi
  
! doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi $(docdir)/include/fdl.texi	\
! 	$(docdir)/include/gcc-common.texi gcc-vers.texi
  	$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
  
! doc/gnat_rm.dvi: ada/gnat_rm.texi $(docdir)/include/fdl.texi	\
! 	$(docdir)/include/gcc-common.texi gcc-vers.texi
  	$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
  
  doc/gnat-style.dvi: ada/gnat-style.texi $(docdir)/include/fdl.texi
*************** ACATSDIR = $(TESTSUITEDIR)/ada/acats
*** 809,815 ****
  check-gnat:
  	test -d $(ACATSDIR) || mkdir -p $(ACATSDIR)
  	testdir=`cd ${srcdir}/${ACATSDIR}; ${PWD_COMMAND}`; \
! 	export testdir; cd $(ACATSDIR); $${testdir}/run_acats $(CHAPTERS)
  
  .PHONY: check-gnat
  
--- 824,830 ----
  check-gnat:
  	test -d $(ACATSDIR) || mkdir -p $(ACATSDIR)
  	testdir=`cd ${srcdir}/${ACATSDIR}; ${PWD_COMMAND}`; \
! 	export testdir; cd $(ACATSDIR); $(SHELL) $${testdir}/run_acats $(CHAPTERS)
  
  .PHONY: check-gnat
  
*************** ada/stamp-sdefault : $(srcdir)/version.c
*** 938,944 ****
  
  ada/sdefault.o : ada/sdefault.ads ada/sdefault.adb ada/types.ads \
     ada/unchdeal.ads ada/system.ads ada/s-exctab.ads ada/s-stalib.ads \
!    ada/unchconv.ads ada/osint.ads
  
  ADA_TREE_H = ada/ada-tree.h ada/ada-tree.def
  
--- 953,959 ----
  
  ada/sdefault.o : ada/sdefault.ads ada/sdefault.adb ada/types.ads \
     ada/unchdeal.ads ada/system.ads ada/s-exctab.ads ada/s-stalib.ads \
!    ada/unchconv.ads ada/osint.ads ada/g-os_lib.ads ada/g-string.ads
  
  ADA_TREE_H = ada/ada-tree.h ada/ada-tree.def
  
*************** ada/final.o    : ada/final.c $(CONFIG_H)
*** 1005,1019 ****
  ada/link.o     : ada/link.c
  
  ada/cio.o     : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(RT_FLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  ada/init.o    : ada/init.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(RT_FLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  ada/raise.o   : ada/raise.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) $(RT_FLAGS) \
  		 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  # Need to keep the frame pointer in this file to pop the stack properly on
--- 1020,1038 ----
  ada/link.o     : ada/link.c
  
  ada/cio.o     : ada/cio.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  ada/init.o    : ada/init.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) \
! 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
! 
! ada/initialize.o : ada/initialize.c
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  ada/raise.o   : ada/raise.c $(CONFIG_H) $(SYSTEM_H) ada/adaint.h ada/raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ALL_ADA_CFLAGS) \
  		 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  # Need to keep the frame pointer in this file to pop the stack properly on
*************** ada/decl.o : ada/decl.c $(CONFIG_H) $(SY
*** 1030,1039 ****
     flags.h toplev.h convert.h target.h ada/ada.h ada/types.h ada/atree.h \
     ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h \
     ada/namet.h ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
!    gt-ada-decl.h
  
  ada/misc.o : ada/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(RTL_H) expr.h insn-codes.h insn-flags.h insn-config.h recog.h flags.h \
     diagnostic.h output.h except.h $(TM_P_H) langhooks.h debug.h \
     $(LANGHOOKS_DEF_H) libfuncs.h $(OPTABS_H) ada/ada.h ada/types.h \
     ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h \
--- 1049,1058 ----
     flags.h toplev.h convert.h target.h ada/ada.h ada/types.h ada/atree.h \
     ada/nlists.h ada/elists.h ada/uintp.h ada/sinfo.h ada/einfo.h ada/snames.h \
     ada/namet.h ada/stringt.h ada/repinfo.h ada/fe.h $(ADA_TREE_H) ada/gigi.h \
!    gt-ada-decl.h $(EXPR_H)
  
  ada/misc.o : ada/misc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \
!    $(RTL_H) $(EXPR_H) insn-codes.h insn-flags.h recog.h flags.h \
     diagnostic.h output.h except.h $(TM_P_H) langhooks.h debug.h \
     $(LANGHOOKS_DEF_H) libfuncs.h $(OPTABS_H) ada/ada.h ada/types.h \
     ada/atree.h ada/nlists.h ada/elists.h ada/sinfo.h ada/einfo.h ada/namet.h \
*************** ada/misc.o : ada/misc.c $(CONFIG_H) $(SY
*** 1041,1048 ****
     ada/adadecode.h opts.h options.h target.h real.h
  
  ada/targtyps.o : ada/targtyps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h ada/uintp.h \
!    ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h \
     ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
  
  ada/trans.o : ada/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
--- 1060,1067 ----
     ada/adadecode.h opts.h options.h target.h real.h
  
  ada/targtyps.o : ada/targtyps.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
!    $(TREE_H) ada/ada.h ada/types.h ada/atree.h ada/nlists.h ada/elists.h \
!    ada/uintp.h ada/sinfo.h ada/einfo.h ada/namet.h ada/snames.h ada/stringt.h \
     ada/urealp.h ada/fe.h $(ADA_TREE_H) ada/gigi.h
  
  ada/trans.o : ada/trans.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
*************** ada/a-chlat1.o : ada/ada.ads ada/a-chara
*** 1073,1095 ****
     ada/system.ads 
  
  ada/a-elchha.o : ada/ada.ads ada/a-except.ads ada/a-elchha.ads \
!    ada/a-elchha.adb ada/system.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/s-traent.ads ada/unchconv.ads 
  
  ada/a-except.o : ada/ada.ads ada/a-except.ads ada/a-except.adb \
     ada/a-excach.adb ada/a-exexda.adb ada/a-exexpr.adb ada/a-exextr.adb \
     ada/a-elchha.ads ada/a-excpol.adb ada/a-exstat.adb ada/a-unccon.ads \
     ada/a-uncdea.ads ada/interfac.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-except.ads ada/s-mastop.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traceb.ads ada/s-traent.ads ada/s-traent.adb ada/s-unstyp.ads \
!    ada/unchconv.ads 
  
  ada/a-ioexce.o : ada/ada.ads ada/a-except.ads ada/a-ioexce.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/ada.o : ada/ada.ads ada/system.ads 
  
--- 1092,1112 ----
     ada/system.ads 
  
  ada/a-elchha.o : ada/ada.ads ada/a-except.ads ada/a-elchha.ads \
!    ada/a-elchha.adb ada/system.ads ada/s-parame.ads ada/s-stalib.ads \
     ada/s-traent.ads ada/unchconv.ads 
  
  ada/a-except.o : ada/ada.ads ada/a-except.ads ada/a-except.adb \
     ada/a-excach.adb ada/a-exexda.adb ada/a-exexpr.adb ada/a-exextr.adb \
     ada/a-elchha.ads ada/a-excpol.adb ada/a-exstat.adb ada/a-unccon.ads \
     ada/a-uncdea.ads ada/interfac.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traceb.ads \
!    ada/s-traent.ads ada/s-traent.adb ada/s-unstyp.ads ada/unchconv.ads 
  
  ada/a-ioexce.o : ada/ada.ads ada/a-except.ads ada/a-ioexce.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/ada.o : ada/ada.ads ada/system.ads 
  
*************** ada/ali-util.o : ada/ada.ads ada/a-excep
*** 1097,1113 ****
     ada/ali-util.ads ada/ali-util.adb ada/alloc.ads ada/binderr.ads \
     ada/casing.ads ada/csets.ads ada/debug.ads ada/err_vars.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads \
!    ada/rident.ads ada/scans.ads ada/scng.ads ada/scng.adb ada/sinput.ads \
!    ada/sinput.adb ada/sinput-c.ads ada/snames.ads ada/stringt.ads \
!    ada/stringt.adb ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
!    ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
--- 1114,1131 ----
     ada/ali-util.ads ada/ali-util.adb ada/alloc.ads ada/binderr.ads \
     ada/casing.ads ada/csets.ads ada/debug.ads ada/err_vars.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/g-utf_32.adb ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/namet.ads ada/namet.adb ada/opt.ads \
!    ada/osint.ads ada/output.ads ada/rident.ads ada/scans.ads ada/scng.ads \
!    ada/scng.adb ada/sinput.ads ada/sinput.adb ada/sinput-c.ads \
!    ada/snames.ads ada/stringt.ads ada/stringt.adb ada/styleg.ads \
!    ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-htable.adb ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
*************** ada/ali.o : ada/ada.ads ada/a-except.ads
*** 1117,1127 ****
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads ada/rident.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-htable.adb ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/alloc.o : ada/alloc.ads ada/system.ads 
  
--- 1135,1145 ----
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads ada/rident.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-htable.adb ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/alloc.o : ada/alloc.ads ada/system.ads 
  
*************** ada/atree.o : ada/ada.ads ada/a-except.a
*** 1129,1143 ****
     ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/back_end.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/back_end.ads ada/back_end.adb ada/casing.ads \
--- 1147,1161 ----
     ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/back_end.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/back_end.ads ada/back_end.adb ada/casing.ads \
*************** ada/back_end.o : ada/ada.ads ada/a-excep
*** 1149,1177 ****
     ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/switch.ads ada/switch-c.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/bcheck.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/ali-util.ads \
     ada/ali-util.adb ada/alloc.ads ada/bcheck.ads ada/bcheck.adb \
     ada/binderr.ads ada/butil.ads ada/casing.ads ada/csets.ads \
     ada/debug.ads ada/err_vars.ads ada/fname.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/namet.ads \
!    ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads ada/rident.ads \
!    ada/scans.ads ada/scng.ads ada/scng.adb ada/sinput.ads ada/sinput-c.ads \
!    ada/snames.ads ada/stringt.ads ada/styleg.ads ada/styleg.adb \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/binde.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
     ada/binde.ads ada/binde.adb ada/binderr.ads ada/butil.ads \
--- 1167,1195 ----
     ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/switch.ads ada/switch-c.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/bcheck.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/ali-util.ads \
     ada/ali-util.adb ada/alloc.ads ada/bcheck.ads ada/bcheck.adb \
     ada/binderr.ads ada/butil.ads ada/casing.ads ada/csets.ads \
     ada/debug.ads ada/err_vars.ads ada/fname.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads \
!    ada/rident.ads ada/scans.ads ada/scng.ads ada/scng.adb ada/sinput.ads \
!    ada/sinput-c.ads ada/snames.ads ada/stringt.ads ada/styleg.ads \
!    ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/binde.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
     ada/binde.ads ada/binde.adb ada/binderr.ads ada/butil.ads \
*************** ada/binde.o : ada/ada.ads ada/a-except.a
*** 1179,1205 ****
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/namet.ads ada/namet.adb ada/opt.ads \
     ada/output.ads ada/rident.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/widechar.ads 
  
  ada/binderr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/binderr.ads \
     ada/binderr.adb ada/butil.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/bindgen.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
!    ada/binde.ads ada/bindgen.ads ada/bindgen.adb ada/butil.ads \
!    ada/casing.ads ada/debug.ads ada/fname.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/opt.ads \
!    ada/osint.ads ada/osint-b.ads ada/output.ads ada/rident.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-memory.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-strops.ads \
     ada/s-sopco3.ads ada/s-sopco4.ads ada/s-sopco5.ads ada/s-traent.ads \
--- 1197,1224 ----
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/namet.ads ada/namet.adb ada/opt.ads \
     ada/output.ads ada/rident.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/binderr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/binderr.ads \
     ada/binderr.adb ada/butil.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/bindgen.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
!    ada/binde.ads ada/bindgen.ads ada/bindgen.adb ada/casing.ads \
!    ada/debug.ads ada/fname.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/namet.ads ada/opt.ads ada/osint.ads \
!    ada/osint-b.ads ada/output.ads ada/rident.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-memory.ads ada/s-parame.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-strops.ads \
     ada/s-sopco3.ads ada/s-sopco4.ads ada/s-sopco5.ads ada/s-traent.ads \
*************** ada/butil.o : ada/ada.ads ada/a-except.a
*** 1216,1253 ****
     ada/butil.adb ada/debug.ads ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/opt.ads ada/output.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/casing.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/casing.adb ada/csets.ads ada/csets.adb ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/widechar.ads 
  
  ada/checks.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch7.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/itypes.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-load.ads \
!    ada/lib-sort.adb ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb \
!    ada/sem.ads ada/sem_cat.ads ada/sem_ch7.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
--- 1235,1273 ----
     ada/butil.adb ada/debug.ads ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/opt.ads ada/output.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/casing.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/casing.adb ada/csets.ads ada/csets.adb ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/widechar.ads 
  
  ada/checks.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch7.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/itypes.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-load.ads ada/lib-sort.adb ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/rtsfind.adb ada/sem.ads ada/sem_cat.ads ada/sem_ch3.ads \
!    ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_dist.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
*************** ada/comperr.o : ada/ada.ads ada/a-except
*** 1267,1278 ****
     ada/output.adb ada/sdefault.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/sinput.adb ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/treepr.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/csets.o : ada/csets.ads ada/csets.adb ada/gnat.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/system.ads \
--- 1287,1298 ----
     ada/output.adb ada/sdefault.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/sinput.adb ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/treepr.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/csets.o : ada/csets.ads ada/csets.adb ada/gnat.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/system.ads \
*************** ada/cstand.o : ada/ada.ads ada/a-except.
*** 1285,1294 ****
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/fname.ads ada/freeze.ads \
     ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/layout.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
     ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
     ada/sem_ch8.ads ada/sem_eval.ads ada/sem_mech.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
--- 1305,1314 ----
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/fname.ads ada/freeze.ads \
     ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/layout.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/rident.ads ada/rtsfind.ads \
     ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
     ada/sem_ch8.ads ada/sem_eval.ads ada/sem_mech.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
*************** ada/cstand.o : ada/ada.ads ada/a-except.
*** 1296,1308 ****
     ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
     ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypef.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/urealp.adb ada/widechar.ads 
  
  ada/debug.o : ada/debug.ads ada/debug.adb ada/system.ads 
  
--- 1316,1329 ----
     ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
     ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tree_io.ads ada/ttypef.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
!    ada/widechar.ads 
  
  ada/debug.o : ada/debug.ads ada/debug.adb ada/system.ads 
  
*************** ada/debug_a.o : ada/ada.ads ada/a-except
*** 1310,1323 ****
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
     ada/debug_a.adb ada/einfo.ads ada/elists.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/nlists.ads ada/nlists.adb ada/opt.ads \
!    ada/output.ads ada/sinfo.ads ada/sinput.ads ada/snames.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/einfo.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 1331,1344 ----
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
     ada/debug_a.adb ada/einfo.ads ada/elists.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinput.ads ada/snames.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/einfo.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/einfo.o : ada/ada.ads ada/a-except.a
*** 1326,1353 ****
     ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/snames.adb \
     ada/stand.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/elists.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/elists.ads ada/elists.adb ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
     ada/output.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/err_vars.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/err_vars.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-memory.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/errout.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 1347,1375 ----
     ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/snames.adb \
     ada/stand.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/elists.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/elists.ads ada/elists.adb ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
     ada/output.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/err_vars.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/err_vars.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/errout.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/errout.o : ada/ada.ads ada/a-except.
*** 1361,1371 ****
     ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/erroutc.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/err_vars.ads ada/erroutc.ads ada/erroutc.adb \
--- 1383,1393 ----
     ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/erroutc.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/err_vars.ads ada/erroutc.ads ada/erroutc.adb \
*************** ada/erroutc.o : ada/ada.ads ada/a-except
*** 1373,1382 ****
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/output.adb ada/rident.ads ada/sinput.ads ada/sinput.adb \
     ada/snames.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/eval_fat.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 1395,1404 ----
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/output.adb ada/rident.ads ada/sinput.ads ada/sinput.adb \
     ada/snames.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/eval_fat.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/eval_fat.o : ada/ada.ads ada/a-excep
*** 1387,1405 ****
     ada/rident.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tree_io.ads ada/ttypef.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/urealp.adb 
  
  ada/exp_aggr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_aggr.adb ada/exp_ch11.ads ada/exp_ch2.ads \
!    ada/exp_ch3.ads ada/exp_ch7.ads ada/exp_ch9.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/exp_util.adb ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
--- 1409,1427 ----
     ada/rident.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tree_io.ads ada/ttypef.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/exp_aggr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_aggr.adb ada/exp_ch2.ads ada/exp_ch3.ads \
!    ada/exp_ch7.ads ada/exp_ch9.ads ada/exp_pakd.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/exp_util.adb ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
*************** ada/exp_aggr.o : ada/ada.ads ada/a-excep
*** 1413,1447 ****
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/system.ads \
     ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/validsw.ads 
  
  ada/exp_attr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_attr.ads ada/exp_attr.adb \
!    ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_imgv.ads ada/exp_pakd.ads ada/exp_strm.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/fname.ads ada/fname-uf.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
--- 1435,1470 ----
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/system.ads \
     ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_attr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_aggr.ads \
!    ada/exp_attr.ads ada/exp_attr.adb ada/exp_ch2.ads ada/exp_ch7.ads \
!    ada/exp_ch9.ads ada/exp_imgv.ads ada/exp_pakd.ads ada/exp_strm.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/exp_vfpt.ads \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_ch7.ads \
!    ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
*************** ada/exp_attr.o : ada/ada.ads ada/a-excep
*** 1451,1481 ****
     ada/widechar.ads 
  
  ada/exp_ch11.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/casing.adb ada/checks.ads \
!    ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads \
!    ada/exp_ch11.adb ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/restrict.adb ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_ch5.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/exp_ch12.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
--- 1474,1498 ----
     ada/widechar.ads 
  
  ada/exp_ch11.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/casing.adb ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch11.adb \
!    ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
!    ada/fname-uf.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads \
!    ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/restrict.adb \
!    ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_ch8.ads \
!    ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/exp_ch12.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
*************** ada/exp_ch12.o : ada/ada.ads ada/a-excep
*** 1485,1498 ****
     ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
     ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
     ada/rident.ads ada/rtsfind.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/exp_ch13.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
--- 1502,1515 ----
     ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
     ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
     ada/rident.ads ada/rtsfind.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/exp_ch13.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
*************** ada/exp_ch13.o : ada/ada.ads ada/a-excep
*** 1506,1521 ****
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tree_io.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/exp_ch2.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch2.ads \
     ada/exp_ch2.adb ada/exp_ch7.ads ada/exp_smem.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/exp_util.adb ada/exp_vfpt.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
--- 1523,1539 ----
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/exp_ch2.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_aggr.ads ada/exp_ch2.ads \
     ada/exp_ch2.adb ada/exp_ch7.ads ada/exp_smem.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/exp_util.adb ada/exp_vfpt.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
*************** ada/exp_ch2.o : ada/ada.ads ada/a-except
*** 1523,1538 ****
     ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
     ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
     ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_util.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/validsw.ads 
  
  ada/exp_ch3.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
--- 1541,1556 ----
     ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
     ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
     ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch3.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
*************** ada/exp_ch3.o : ada/ada.ads ada/a-except
*** 1540,1584 ****
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
     ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch3.ads \
     ada/exp_ch3.adb ada/exp_ch4.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_disp.ads ada/exp_dist.ads ada/exp_smem.ads ada/exp_strm.ads \
!    ada/exp_tss.ads ada/exp_tss.adb ada/exp_util.ads ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/lib.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/sem.ads ada/sem_ch3.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_mech.ads ada/sem_res.ads ada/sem_util.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
!    ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch4.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch3.ads \
!    ada/exp_ch4.ads ada/exp_ch4.adb ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_disp.ads ada/exp_fixd.ads ada/exp_pakd.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/exp_vfpt.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/itypes.ads ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_cat.ads \
!    ada/sem_ch13.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_eval.adb \
     ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
!    ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
--- 1558,1602 ----
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
     ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch3.ads \
     ada/exp_ch3.adb ada/exp_ch4.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_disp.ads ada/exp_dist.ads ada/exp_pakd.ads ada/exp_smem.ads \
!    ada/exp_strm.ads ada/exp_tss.ads ada/exp_tss.adb ada/exp_util.ads \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads ada/namet.ads \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/restrict.adb ada/rident.ads \
!    ada/rtsfind.ads ada/sem.ads ada/sem_attr.ads ada/sem_ch3.ads \
!    ada/sem_ch8.ads ada/sem_eval.ads ada/sem_mech.ads ada/sem_res.ads \
!    ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch4.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch3.ads ada/exp_ch4.ads \
!    ada/exp_ch4.adb ada/exp_ch7.ads ada/exp_ch9.ads ada/exp_fixd.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/exp_vfpt.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/itypes.ads ada/lib.ads \
!    ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/sem.ads ada/sem_cat.ads ada/sem_ch13.ads \
!    ada/sem_ch3.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_eval.adb \
     ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
!    ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
*************** ada/exp_ch4.o : ada/ada.ads ada/a-except
*** 1589,1617 ****
  ada/exp_ch5.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch5.ads \
!    ada/exp_ch5.adb ada/exp_ch7.ads ada/exp_dbug.ads ada/exp_pakd.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch13.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
     ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
--- 1607,1636 ----
  ada/exp_ch5.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch2.ads \
!    ada/exp_ch5.ads ada/exp_ch5.adb ada/exp_ch7.ads ada/exp_dbug.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_ch13.ads \
!    ada/sem_ch3.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
     ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
*************** ada/exp_ch6.o : ada/ada.ads ada/a-except
*** 1619,1679 ****
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch3.ads \
     ada/exp_ch6.ads ada/exp_ch6.adb ada/exp_ch7.ads ada/exp_ch9.ads \
     ada/exp_dbug.ads ada/exp_disp.ads ada/exp_dist.ads ada/exp_intr.ads \
     ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
     ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/restrict.adb \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_ch12.ads ada/sem_ch13.ads \
!    ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
!    ada/widechar.ads 
! 
! ada/exp_ch7.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
!    ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch7.ads ada/exp_ch7.adb \
!    ada/exp_ch9.ads ada/exp_dbug.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/exp_util.adb ada/fname.ads ada/fname-uf.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/itypes.ads ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/sem.ads \
!    ada/sem_ch3.ads ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
     ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
     ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch8.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch7.ads ada/exp_ch8.ads \
     ada/exp_ch8.adb ada/exp_dbug.ads ada/exp_tss.ads ada/exp_util.ads \
     ada/exp_util.adb ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
--- 1638,1699 ----
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch3.ads \
     ada/exp_ch6.ads ada/exp_ch6.adb ada/exp_ch7.ads ada/exp_ch9.ads \
     ada/exp_dbug.ads ada/exp_disp.ads ada/exp_dist.ads ada/exp_intr.ads \
     ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
     ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch12.ads ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch6.ads \
!    ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_eval.ads ada/sem_mech.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
!    ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
     ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
     ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads 
! 
! ada/exp_ch7.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
!    ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_aggr.ads ada/exp_ch11.ads ada/exp_ch7.ads \
!    ada/exp_ch7.adb ada/exp_ch9.ads ada/exp_dbug.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/fname.ads ada/fname-uf.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/itypes.ads ada/lib.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/sem.ads ada/sem_ch3.ads ada/sem_ch7.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch8.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_aggr.ads ada/exp_ch7.ads ada/exp_ch8.ads \
     ada/exp_ch8.adb ada/exp_dbug.ads ada/exp_tss.ads ada/exp_util.ads \
     ada/exp_util.adb ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
*************** ada/exp_ch8.o : ada/ada.ads ada/a-except
*** 1681,1723 ****
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/opt.ads \
     ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
!    ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_ch9.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads \
!    ada/exp_ch3.ads ada/exp_ch6.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_ch9.adb ada/exp_dbug.ads ada/exp_smem.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/fname.ads ada/fname-uf.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch11.ads ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads 
  
  ada/exp_code.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
--- 1701,1745 ----
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/opt.ads \
     ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/validsw.ads 
  
  ada/exp_ch9.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_aggr.ads \
!    ada/exp_ch11.ads ada/exp_ch3.ads ada/exp_ch6.ads ada/exp_ch7.ads \
!    ada/exp_ch9.ads ada/exp_ch9.adb ada/exp_dbug.ads ada/exp_smem.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
!    ada/itypes.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/restrict.adb ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_ch11.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_elab.ads ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
!    ada/widechar.ads 
  
  ada/exp_code.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
*************** ada/exp_code.o : ada/ada.ads ada/a-excep
*** 1725,1744 ****
     ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_code.ads \
     ada/exp_code.adb ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_cat.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
     ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
     ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
--- 1747,1766 ----
     ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_code.ads \
     ada/exp_code.adb ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_cat.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_eval.adb \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-carun8.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
     ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
     ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
*************** ada/exp_dbug.o : ada/ada.ads ada/a-excep
*** 1755,1778 ****
     ada/sem_eval.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
  ada/exp_disp.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads \
     ada/exp_ch7.ads ada/exp_disp.ads ada/exp_disp.adb ada/exp_tss.ads \
     ada/exp_tss.adb ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
     ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_ch8.ads \
--- 1777,1799 ----
     ada/sem_eval.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
  ada/exp_disp.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_aggr.ads \
     ada/exp_ch7.ads ada/exp_disp.ads ada/exp_disp.adb ada/exp_tss.ads \
     ada/exp_tss.adb ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
     ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_ch8.ads \
*************** ada/exp_disp.o : ada/ada.ads ada/a-excep
*** 1781,1792 ****
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
--- 1802,1813 ----
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
*************** ada/exp_dist.o : ada/ada.ads ada/a-excep
*** 1794,1813 ****
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/exp_dist.ads ada/exp_dist.adb ada/exp_strm.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/fname.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_ch3.ads \
!    ada/sem_ch8.ads ada/sem_dist.ads ada/sem_util.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
     ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
     ada/unchdeal.ads ada/urealp.ads 
  
--- 1815,1835 ----
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
     ada/exp_dist.ads ada/exp_dist.adb ada/exp_strm.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/fname.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/sem.ads \
!    ada/sem_ch3.ads ada/sem_ch8.ads ada/sem_dist.ads ada/sem_eval.ads \
!    ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
     ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
     ada/unchdeal.ads ada/urealp.ads 
  
*************** ada/exp_fixd.o : ada/ada.ads ada/a-excep
*** 1823,1834 ****
     ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tbuild.ads ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/exp_imgv.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
--- 1845,1856 ----
     ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/exp_imgv.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
*************** ada/exp_imgv.o : ada/ada.ads ada/a-excep
*** 1840,1861 ****
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/sem_res.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/exp_intr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch4.ads \
!    ada/exp_ch7.ads ada/exp_code.ads ada/exp_fixd.ads ada/exp_intr.ads \
!    ada/exp_intr.adb ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
     ada/itypes.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
     ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
--- 1862,1884 ----
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/sem_res.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/exp_intr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_aggr.ads \
!    ada/exp_ch11.ads ada/exp_ch4.ads ada/exp_ch7.ads ada/exp_code.ads \
!    ada/exp_disp.ads ada/exp_fixd.ads ada/exp_intr.ads ada/exp_intr.adb \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
     ada/itypes.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
     ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
*************** ada/exp_intr.o : ada/ada.ads ada/a-excep
*** 1864,1873 ****
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
!    ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
--- 1887,1896 ----
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
!    ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
*************** ada/exp_pakd.o : ada/ada.ads ada/a-excep
*** 1880,1886 ****
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_dbug.ads \
     ada/exp_pakd.ads ada/exp_pakd.adb ada/exp_tss.ads ada/exp_util.ads \
     ada/exp_util.adb ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
--- 1903,1909 ----
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_dbug.ads \
     ada/exp_pakd.ads ada/exp_pakd.adb ada/exp_tss.ads ada/exp_util.ads \
     ada/exp_util.adb ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
*************** ada/exp_pakd.o : ada/ada.ads ada/a-excep
*** 1888,1904 ****
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
     ada/rtsfind.ads ada/sem.ads ada/sem_ch13.ads ada/sem_ch3.ads \
!    ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads ada/sem_util.ads \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/validsw.ads 
  
  ada/exp_prag.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/casing.adb ada/csets.ads ada/debug.ads \
--- 1911,1927 ----
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
     ada/rtsfind.ads ada/sem.ads ada/sem_ch13.ads ada/sem_ch3.ads \
!    ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads 
  
  ada/exp_prag.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/casing.adb ada/csets.ads ada/debug.ads \
*************** ada/exp_prag.o : ada/ada.ads ada/a-excep
*** 1911,1924 ****
     ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_eval.ads \
     ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/snames.adb ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
     ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/types.ads \
!    ada/types.adb ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/exp_smem.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 1934,1947 ----
     ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_eval.ads \
     ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/snames.adb ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
     ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/exp_smem.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/exp_smem.o : ada/ada.ads ada/a-excep
*** 1930,1941 ****
     ada/rtsfind.ads ada/sem.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/exp_strm.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 1953,1965 ----
     ada/rtsfind.ads ada/sem.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/exp_strm.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/exp_strm.o : ada/ada.ads ada/a-excep
*** 1944,1958 ****
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads \
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/exp_tss.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 1968,1982 ----
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads \
     ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/exp_tss.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/exp_tss.o : ada/ada.ads ada/a-except
*** 1965,1980 ****
     ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/exp_util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_ch11.ads \
     ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
     ada/fname.ads ada/fname-uf.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
--- 1989,2004 ----
     ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/exp_util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_aggr.ads \
     ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
     ada/fname.ads ada/fname-uf.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
*************** ada/exp_util.o : ada/ada.ads ada/a-excep
*** 1987,1999 ****
     ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/stringt.adb ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads 
  
  ada/exp_vfpt.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 2011,2024 ----
     ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/stringt.adb ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
!    ada/validsw.ads 
  
  ada/exp_vfpt.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/exp_vfpt.o : ada/ada.ads ada/a-excep
*** 2003,2014 ****
     ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/rtsfind.ads \
     ada/sem_res.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tbuild.ads ada/tree_io.ads \
!    ada/ttypef.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/expander.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
--- 2028,2040 ----
     ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/rtsfind.ads \
     ada/sem_res.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypef.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/urealp.adb 
  
  ada/expander.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
*************** ada/expander.o : ada/ada.ads ada/a-excep
*** 2019,2043 ****
     ada/exp_ch7.ads ada/exp_ch8.ads ada/exp_ch9.ads ada/exp_prag.ads \
     ada/expander.ads ada/expander.adb ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/rtsfind.ads ada/sem.ads ada/sem_ch8.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinput.ads ada/snames.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/fmap.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/fmap.ads ada/fmap.adb ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/fname-uf.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/casing.ads ada/debug.ads ada/fmap.ads ada/fname.ads \
--- 2045,2069 ----
     ada/exp_ch7.ads ada/exp_ch8.ads ada/exp_ch9.ads ada/exp_prag.ads \
     ada/expander.ads ada/expander.adb ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/namet.ads ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/rtsfind.ads ada/sem.ads ada/sem_ch8.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinput.ads ada/snames.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/fmap.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/fmap.ads ada/fmap.adb ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/fname-uf.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/casing.ads ada/debug.ads ada/fmap.ads ada/fname.ads \
*************** ada/fname-uf.o : ada/ada.ads ada/a-excep
*** 2045,2073 ****
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/krunch.ads ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/fname.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/fname.ads ada/fname.adb ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/opt.ads ada/output.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/freeze.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/exp_ch11.ads ada/exp_ch7.ads ada/exp_pakd.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/expander.ads ada/fname.ads ada/freeze.ads \
     ada/freeze.adb ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/itypes.ads ada/layout.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
     ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
--- 2071,2099 ----
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/krunch.ads ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/fname.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/fname.ads ada/fname.adb ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads \
     ada/opt.ads ada/output.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/freeze.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/exp_ch7.ads ada/exp_disp.ads ada/exp_pakd.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/expander.ads ada/fname.ads ada/freeze.ads \
     ada/freeze.adb ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/itypes.ads ada/layout.ads \
!    ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
     ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
*************** ada/freeze.o : ada/ada.ads ada/a-except.
*** 2080,2117 ****
     ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
     ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
     ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/frontend.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads \
     ada/cstand.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads \
!    ada/exp_dbug.ads ada/fmap.ads ada/fname.ads ada/fname-uf.ads \
!    ada/frontend.ads ada/frontend.adb ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/lib.ads \
     ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
!    ada/live.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/osint.ads ada/output.ads ada/par.ads \
!    ada/prepcomp.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch8.ads ada/sem_elab.ads ada/sem_prag.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/sinput-l.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/g-hesora.o : ada/gnat.ads ada/g-hesora.ads ada/g-hesora.adb \
     ada/system.ads 
--- 2106,2145 ----
     ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
     ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
     ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/frontend.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads \
     ada/cstand.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_dbug.ads \
!    ada/fmap.ads ada/fname.ads ada/fname-uf.ads ada/frontend.ads \
!    ada/frontend.adb ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/lib.ads \
     ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
!    ada/live.ads ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/osint.ads ada/output.ads \
!    ada/par.ads ada/prepcomp.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_ch8.ads ada/sem_elab.ads ada/sem_prag.ads \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/sinput.adb ada/sinput-l.ads ada/snames.ads ada/sprint.ads \
!    ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/g-hesora.o : ada/gnat.ads ada/g-hesora.ads ada/g-hesora.adb \
     ada/system.ads 
*************** ada/g-speche.o : ada/gnat.ads ada/g-spec
*** 2132,2137 ****
--- 2160,2168 ----
  ada/g-string.o : ada/gnat.ads ada/g-string.ads ada/g-string.adb \
     ada/system.ads ada/unchdeal.ads 
  
+ ada/g-utf_32.o : ada/gnat.ads ada/g-utf_32.ads ada/g-utf_32.adb \
+    ada/system.ads 
+ 
  ada/get_targ.o : ada/get_targ.ads ada/get_targ.adb ada/system.ads \
     ada/s-exctab.ads ada/s-stalib.ads ada/s-unstyp.ads ada/types.ads \
     ada/unchconv.ads ada/unchdeal.ads 
*************** ada/gnat1drv.o : ada/ada.ads ada/a-excep
*** 2154,2166 ****
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
     ada/sinput-l.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tree_gen.ads ada/tree_io.ads ada/treepr.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/usage.ads 
  
  ada/gnatbind.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/ali-util.ads \
     ada/alloc.ads ada/bcheck.ads ada/binde.ads ada/binderr.ads \
--- 2185,2198 ----
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
     ada/sinput-l.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tree_gen.ads ada/tree_io.ads ada/treepr.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/usage.ads \
!    ada/widechar.ads 
  
  ada/gnatbind.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/ali-util.ads \
     ada/alloc.ads ada/bcheck.ads ada/binde.ads ada/binderr.ads \
*************** ada/gnatbind.o : ada/ada.ads ada/a-excep
*** 2169,2182 ****
     ada/g-os_lib.ads ada/g-string.ads ada/gnatbind.ads ada/gnatbind.adb \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/opt.ads \
     ada/osint.ads ada/osint-b.ads ada/output.ads ada/rident.ads \
!    ada/switch.ads ada/switch-b.ads ada/system.ads ada/s-casuti.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-strops.ads \
!    ada/s-sopco3.ads ada/s-sopco4.ads ada/s-sopco5.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/gnatvsn.o : ada/gnatvsn.ads ada/gnatvsn.adb ada/system.ads \
     ada/s-secsta.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
--- 2201,2214 ----
     ada/g-os_lib.ads ada/g-string.ads ada/gnatbind.ads ada/gnatbind.adb \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/opt.ads \
     ada/osint.ads ada/osint-b.ads ada/output.ads ada/rident.ads \
!    ada/snames.ads ada/switch.ads ada/switch-b.ads ada/system.ads \
!    ada/s-casuti.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-strops.ads ada/s-sopco3.ads ada/s-sopco4.ads \
!    ada/s-sopco5.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/gnatvsn.o : ada/gnatvsn.ads ada/gnatvsn.adb ada/system.ads \
     ada/s-secsta.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
*************** ada/impunit.o : ada/ada.ads ada/a-except
*** 2196,2226 ****
     ada/namet.adb ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/widechar.ads 
  
  ada/inline.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/elists.adb ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch7.ads ada/exp_tss.ads \
!    ada/exp_tss.adb ada/exp_util.ads ada/fname.ads ada/fname-uf.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/inline.adb ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/rtsfind.ads ada/sem_ch10.ads \
!    ada/sem_ch12.ads ada/sem_ch8.ads ada/sem_util.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/interfac.o : ada/interfac.ads ada/system.ads 
  
--- 2228,2258 ----
     ada/namet.adb ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/inline.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/elists.adb ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/exp_ch7.ads ada/exp_tss.ads ada/exp_tss.adb \
!    ada/exp_util.ads ada/fname.ads ada/fname-uf.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/inline.adb \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/namet.ads \
!    ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
!    ada/rtsfind.ads ada/sem_ch10.ads ada/sem_ch12.ads ada/sem_ch8.ads \
!    ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/interfac.o : ada/interfac.ads ada/system.ads 
  
*************** ada/itypes.o : ada/ada.ads ada/a-except.
*** 2232,2242 ****
     ada/output.ads ada/sem.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/krunch.o : ada/hostparm.ads ada/krunch.ads ada/krunch.adb \
     ada/system.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
--- 2264,2274 ----
     ada/output.ads ada/sem.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/krunch.o : ada/hostparm.ads ada/krunch.ads ada/krunch.adb \
     ada/system.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
*************** ada/layout.o : ada/ada.ads ada/a-except.
*** 2247,2324 ****
     ada/errout.ads ada/erroutc.ads ada/exp_ch3.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/layout.ads \
!    ada/layout.adb ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/repinfo.ads ada/repinfo.adb ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_ch13.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/lib-load.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
     ada/erroutc.ads ada/fname.ads ada/fname-uf.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib-load.ads \
!    ada/lib-load.adb ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/osint.ads ada/osint-c.ads \
!    ada/output.ads ada/par.ads ada/restrict.ads ada/rident.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/sinput-l.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/lib-util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/lib-util.ads ada/lib-util.adb \
     ada/namet.ads ada/opt.ads ada/osint.ads ada/osint-c.ads ada/output.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/lib-writ.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
     ada/atree.ads ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
     ada/errout.ads ada/erroutc.ads ada/fname.ads ada/fname-uf.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib-util.ads ada/lib-util.adb ada/lib-writ.ads ada/lib-writ.adb \
!    ada/lib-xref.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/osint.ads ada/osint-c.ads \
!    ada/output.ads ada/par.ads ada/restrict.ads ada/rident.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
!    ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
!    ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/lib-xref.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 2279,2358 ----
     ada/errout.ads ada/erroutc.ads ada/exp_ch3.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/layout.ads ada/layout.adb ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/repinfo.ads \
!    ada/repinfo.adb ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_ch13.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/lib-load.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/einfo.adb ada/elists.ads ada/err_vars.ads ada/errout.ads \
     ada/erroutc.ads ada/fname.ads ada/fname-uf.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib-load.ads ada/lib-load.adb ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/osint.ads ada/osint-c.ads ada/output.ads ada/par.ads \
!    ada/restrict.ads ada/rident.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/sinput-l.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/lib-util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/lib-util.ads ada/lib-util.adb \
     ada/namet.ads ada/opt.ads ada/osint.ads ada/osint-c.ads ada/output.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/lib-writ.o : ada/ada.ads ada/a-except.ads ada/ali.ads ada/alloc.ads \
     ada/atree.ads ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads \
     ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
     ada/errout.ads ada/erroutc.ads ada/fname.ads ada/fname-uf.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/lib.ads ada/lib-util.ads ada/lib-util.adb ada/lib-writ.ads \
!    ada/lib-writ.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/osint.ads ada/osint-c.ads ada/output.ads ada/par.ads \
!    ada/restrict.ads ada/rident.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-casuti.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/lib-xref.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/lib-xref.o : ada/ada.ads ada/a-excep
*** 2328,2341 ****
     ada/hostparm.ads ada/lib.ads ada/lib-util.ads ada/lib-util.adb \
     ada/lib-xref.ads ada/lib-xref.adb ada/namet.ads ada/nlists.ads \
     ada/nlists.adb ada/opt.ads ada/osint.ads ada/osint-c.ads ada/output.ads \
!    ada/sem_prag.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/lib.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 2362,2377 ----
     ada/hostparm.ads ada/lib.ads ada/lib-util.ads ada/lib-util.adb \
     ada/lib-xref.ads ada/lib-xref.adb ada/namet.ads ada/nlists.ads \
     ada/nlists.adb ada/opt.ads ada/osint.ads ada/osint-c.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/sem.ads ada/sem_prag.ads \
!    ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/widechar.ads 
  
  ada/lib.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/lib.o : ada/ada.ads ada/a-except.ads
*** 2346,2357 ****
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/widechar.ads 
  
  ada/live.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 2382,2393 ----
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/live.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/live.o : ada/ada.ads ada/a-except.ad
*** 2362,2398 ****
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/memtrack.o : ada/ada.ads ada/a-except.ads ada/gnat.ads ada/g-io.ads \
!    ada/system.ads ada/s-memory.ads ada/memtrack.adb ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traceb.ads ada/s-traent.ads ada/s-traent.adb ada/unchconv.ads 
  
  ada/namet.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/namet.adb ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-carun8.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/types.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/nlists.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinput.ads ada/snames.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/nmake.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
--- 2398,2436 ----
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/memtrack.o : ada/ada.ads ada/a-except.ads ada/gnat.ads ada/g-io.ads \
!    ada/system.ads ada/s-memory.ads ada/memtrack.adb ada/s-parame.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traceb.ads ada/s-traent.ads ada/s-traent.adb \
!    ada/unchconv.ads 
  
  ada/namet.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/namet.adb ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-carun8.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/types.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/nlists.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinput.ads \
!    ada/snames.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/nmake.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
*************** ada/nmake.o : ada/ada.ads ada/a-except.a
*** 2401,2438 ****
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/opt.o : ada/ada.ads ada/a-except.ads ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
!    ada/opt.adb ada/system.ads ada/s-exctab.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/osint-b.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/osint.ads \
     ada/osint-b.ads ada/osint-b.adb ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/osint-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads \
     ada/osint-c.ads ada/osint-c.adb ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/widechar.ads 
  
  ada/osint.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/fmap.ads ada/gnat.ads ada/g-htable.ads \
--- 2439,2477 ----
     ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/opt.o : ada/ada.ads ada/a-except.ads ada/gnat.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
!    ada/opt.adb ada/system.ads ada/s-exctab.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/osint-b.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/osint.ads \
     ada/osint-b.ads ada/osint-b.adb ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/osint-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads \
     ada/osint-c.ads ada/osint-c.adb ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/osint.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/fmap.ads ada/gnat.ads ada/g-htable.ads \
*************** ada/osint.o : ada/ada.ads ada/a-except.a
*** 2440,2450 ****
     ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads ada/osint.adb \
     ada/output.ads ada/sdefault.ads ada/system.ads ada/s-casuti.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-strops.ads ada/s-sopco3.ads \
!    ada/s-sopco4.ads ada/s-sopco5.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/output.o : ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/output.ads ada/output.adb ada/system.ads ada/s-exctab.ads \
--- 2479,2490 ----
     ada/namet.ads ada/namet.adb ada/opt.ads ada/osint.ads ada/osint.adb \
     ada/output.ads ada/sdefault.ads ada/system.ads ada/s-casuti.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-htable.adb ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-strops.ads \
!    ada/s-sopco3.ads ada/s-sopco4.ads ada/s-sopco5.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/widechar.ads 
  
  ada/output.o : ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/output.ads ada/output.adb ada/system.ads ada/s-exctab.ads \
*************** ada/par.o : ada/ada.ads ada/a-except.ads
*** 2456,2485 ****
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
     ada/errout.ads ada/erroutc.ads ada/fname.ads ada/fname-uf.ads \
     ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-speche.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-load.ads ada/lib-sort.adb ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/osint.ads ada/output.ads ada/par.ads ada/par.adb ada/par-ch10.adb \
!    ada/par-ch11.adb ada/par-ch12.adb ada/par-ch13.adb ada/par-ch2.adb \
!    ada/par-ch3.adb ada/par-ch4.adb ada/par-ch5.adb ada/par-ch6.adb \
!    ada/par-ch7.adb ada/par-ch8.adb ada/par-ch9.adb ada/par-endh.adb \
!    ada/par-labl.adb ada/par-load.adb ada/par-prag.adb ada/par-sync.adb \
!    ada/par-tchk.adb ada/par-util.adb ada/restrict.ads ada/rident.ads \
!    ada/scans.ads ada/scans.adb ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
!    ada/sinput.adb ada/sinput-l.ads ada/snames.ads ada/snames.adb \
!    ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
!    ada/widechar.ads 
  
  ada/prep.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
--- 2496,2525 ----
     ada/einfo.adb ada/elists.ads ada/elists.adb ada/err_vars.ads \
     ada/errout.ads ada/erroutc.ads ada/fname.ads ada/fname-uf.ads \
     ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-speche.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/osint.ads ada/output.ads ada/par.ads ada/par.adb \
!    ada/par-ch10.adb ada/par-ch11.adb ada/par-ch12.adb ada/par-ch13.adb \
!    ada/par-ch2.adb ada/par-ch3.adb ada/par-ch4.adb ada/par-ch5.adb \
!    ada/par-ch6.adb ada/par-ch7.adb ada/par-ch8.adb ada/par-ch9.adb \
!    ada/par-endh.adb ada/par-labl.adb ada/par-load.adb ada/par-prag.adb \
!    ada/par-sync.adb ada/par-tchk.adb ada/par-util.adb ada/restrict.ads \
!    ada/rident.ads ada/scans.ads ada/scans.adb ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads \
!    ada/sinput.ads ada/sinput.adb ada/sinput-l.ads ada/snames.ads \
!    ada/snames.adb ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-carun8.ads ada/s-crc32.ads \
!    ada/s-crc32.adb ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads 
  
  ada/prep.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
*************** ada/prep.o : ada/ada.ads ada/a-except.ad
*** 2488,2511 ****
     ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads ada/prep.ads \
     ada/prep.adb ada/scans.ads ada/sinput.ads ada/snames.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/prepcomp.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/casing.ads ada/csets.ads ada/debug.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/gnat.ads \
     ada/g-dyntab.ads ada/g-dyntab.adb ada/g-hesorg.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/lib.ads ada/lib-writ.ads ada/namet.ads ada/opt.ads ada/osint.ads \
!    ada/output.ads ada/prep.ads ada/prepcomp.ads ada/prepcomp.adb \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sinput.ads \
!    ada/sinput.adb ada/sinput-l.ads ada/snames.ads ada/stringt.ads \
!    ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-crc32.adb ada/s-exctab.ads ada/s-memory.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
--- 2528,2552 ----
     ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads ada/prep.ads \
     ada/prep.adb ada/scans.ads ada/sinput.ads ada/snames.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/prepcomp.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/casing.ads ada/csets.ads ada/debug.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/gnat.ads \
     ada/g-dyntab.ads ada/g-dyntab.adb ada/g-hesorg.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/lib-writ.ads ada/namet.ads \
!    ada/namet.adb ada/opt.ads ada/osint.ads ada/output.ads ada/prep.ads \
!    ada/prepcomp.ads ada/prepcomp.adb ada/scans.ads ada/scn.ads \
!    ada/scng.ads ada/scng.adb ada/sinput.ads ada/sinput.adb \
!    ada/sinput-l.ads ada/snames.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
*************** ada/repinfo.o : ada/ada.ads ada/a-except
*** 2521,2531 ****
     ada/repinfo.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/restrict.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 2562,2573 ----
     ada/repinfo.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/widechar.ads 
  
  ada/restrict.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/restrict.o : ada/ada.ads ada/a-excep
*** 2538,2548 ****
     ada/rident.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/rident.o : ada/rident.ads ada/system.ads ada/s-rident.ads 
  
--- 2580,2591 ----
     ada/rident.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/rident.o : ada/rident.ads ada/system.ads ada/s-rident.ads 
  
*************** ada/rtsfind.o : ada/ada.ads ada/a-except
*** 2554,2577 ****
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads \
     ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
     ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/rtsfind.ads \
!    ada/rtsfind.adb ada/sem.ads ada/sem_ch7.ads ada/sem_util.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tbuild.ads ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/s-addope.o : ada/system.ads ada/s-addope.ads ada/s-addope.adb \
     ada/unchconv.ads 
  
  ada/s-assert.o : ada/ada.ads ada/a-except.ads ada/system.ads \
     ada/s-assert.ads ada/s-assert.adb ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-carun8.o : ada/system.ads ada/s-addope.ads ada/s-addope.adb \
     ada/s-carun8.ads ada/s-carun8.adb ada/s-stoele.ads ada/s-stoele.adb \
--- 2597,2623 ----
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads \
     ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
     ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb ada/sem.ads \
!    ada/sem_ch7.ads ada/sem_dist.ads ada/sem_util.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/s-addope.o : ada/system.ads ada/s-addope.ads ada/s-addope.adb \
     ada/unchconv.ads 
  
  ada/s-assert.o : ada/ada.ads ada/a-except.ads ada/system.ads \
     ada/s-assert.ads ada/s-assert.adb ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/unchconv.ads 
  
  ada/s-carun8.o : ada/system.ads ada/s-addope.ads ada/s-addope.adb \
     ada/s-carun8.ads ada/s-carun8.adb ada/s-stoele.ads ada/s-stoele.adb \
*************** ada/s-crc32.o : ada/interfac.ads ada/sys
*** 2584,2596 ****
  
  ada/s-crtl.o : ada/system.ads ada/s-crtl.ads ada/s-parame.ads 
  
- ada/s-except.o : ada/ada.ads ada/a-except.ads ada/system.ads \
-    ada/s-except.ads ada/s-stalib.ads ada/s-traent.ads ada/unchconv.ads 
- 
  ada/s-exctab.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-htable.adb ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-htable.o : ada/ada.ads ada/a-uncdea.ads ada/system.ads \
     ada/s-htable.ads ada/s-htable.adb 
--- 2630,2640 ----
  
  ada/s-crtl.o : ada/system.ads ada/s-crtl.ads ada/s-parame.ads 
  
  ada/s-exctab.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-htable.adb ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/unchconv.ads 
  
  ada/s-htable.o : ada/ada.ads ada/a-uncdea.ads ada/system.ads \
     ada/s-htable.ads ada/s-htable.adb 
*************** ada/s-htable.o : ada/ada.ads ada/a-uncde
*** 2598,2606 ****
  ada/s-imgenu.o : ada/system.ads ada/s-imgenu.ads ada/s-imgenu.adb \
     ada/s-secsta.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
  
! ada/s-mastop.o : ada/ada.ads ada/a-except.ads ada/system.ads \
!    ada/s-except.ads ada/s-mastop.ads ada/s-mastop.adb ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-memory.o : ada/ada.ads ada/a-except.ads ada/system.ads \
     ada/s-crtl.ads ada/s-memory.ads ada/s-memory.adb ada/s-parame.ads \
--- 2642,2649 ----
  ada/s-imgenu.o : ada/system.ads ada/s-imgenu.ads ada/s-imgenu.adb \
     ada/s-secsta.ads ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
  
! ada/s-mastop.o : ada/system.ads ada/s-mastop.ads ada/s-mastop.adb \
!    ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
  
  ada/s-memory.o : ada/ada.ads ada/a-except.ads ada/system.ads \
     ada/s-crtl.ads ada/s-memory.ads ada/s-memory.adb ada/s-parame.ads \
*************** ada/s-secsta.o : ada/ada.ads ada/a-excep
*** 2617,2625 ****
     ada/s-traent.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/s-soflin.o : ada/ada.ads ada/a-except.ads ada/system.ads \
!    ada/s-except.ads ada/s-mastop.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-soflin.adb ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-sopco3.o : ada/system.ads ada/s-secsta.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-strops.ads ada/s-sopco3.ads ada/s-sopco3.adb \
--- 2660,2668 ----
     ada/s-traent.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/s-soflin.o : ada/ada.ads ada/a-except.ads ada/system.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-soflin.adb \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-sopco3.o : ada/system.ads ada/s-secsta.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-strops.ads ada/s-sopco3.ads ada/s-sopco3.adb \
*************** ada/s-stache.o : ada/system.ads ada/s-st
*** 2637,2645 ****
     ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
  
  ada/s-stalib.o : ada/ada.ads ada/a-except.ads ada/system.ads \
!    ada/s-memory.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stalib.adb ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/unchconv.ads 
  
  ada/s-stoele.o : ada/system.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/unchconv.ads 
--- 2680,2688 ----
     ada/s-stoele.ads ada/s-stoele.adb ada/unchconv.ads 
  
  ada/s-stalib.o : ada/ada.ads ada/a-except.ads ada/system.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stalib.adb ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/unchconv.ads 
  
  ada/s-stoele.o : ada/system.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/unchconv.ads 
*************** ada/s-wchjis.o : ada/system.ads ada/s-wc
*** 2666,2713 ****
  ada/scans.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/output.ads ada/scans.ads ada/scans.adb \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/scn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
!    ada/scans.ads ada/scn.ads ada/scn.adb ada/scng.ads ada/scng.adb \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
     ada/snames.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
!    ada/widechar.ads 
  
  ada/scng.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/namet.ads ada/opt.ads ada/output.ads ada/scans.ads \
!    ada/scng.ads ada/scng.adb ada/sinput.ads ada/snames.ads ada/stringt.ads \
!    ada/styleg.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
     ada/debug_a.adb ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/expander.ads \
!    ada/fname.ads ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hlo.ads \
!    ada/hostparm.ads ada/inline.ads ada/lib.ads ada/lib.adb \
     ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/namet.ads \
     ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/sem.ads ada/sem.adb \
--- 2709,2758 ----
  ada/scans.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/output.ads ada/scans.ads ada/scans.adb \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/scn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/g-utf_32.adb ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/scans.ads ada/scn.ads ada/scn.adb ada/scng.ads \
!    ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
     ada/snames.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/types.adb ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/urealp.adb ada/widechar.ads 
  
  ada/scng.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/namet.ads ada/opt.ads \
!    ada/output.ads ada/scans.ads ada/scng.ads ada/scng.adb ada/sinput.ads \
!    ada/snames.ads ada/stringt.ads ada/styleg.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/sem.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/debug_a.ads \
     ada/debug_a.adb ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_tss.ads \
!    ada/expander.ads ada/fname.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hlo.ads ada/hostparm.ads ada/inline.ads ada/lib.ads ada/lib.adb \
     ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/namet.ads \
     ada/nlists.ads ada/nlists.adb ada/opt.ads ada/output.ads \
     ada/restrict.ads ada/rident.ads ada/sem.ads ada/sem.adb \
*************** ada/sem.o : ada/ada.ads ada/a-except.ads
*** 2717,2779 ****
     ada/sem_ch8.ads ada/sem_ch9.ads ada/sem_prag.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-carun8.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_aggr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch7.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/fname.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-speche.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_aggr.adb ada/sem_cat.ads ada/sem_ch13.ads ada/sem_ch8.ads \
     ada/sem_eval.ads ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads \
     ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/validsw.ads ada/widechar.ads 
  
  ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
     ada/a-except.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
     ada/casing.ads ada/checks.ads ada/checks.adb ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_ch11.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/expander.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/itypes.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/sdefault.ads ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_attr.adb ada/sem_cat.ads ada/sem_ch4.ads ada/sem_ch6.ads \
!    ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads \
!    ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/snames.ads ada/snames.adb ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
     ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
     ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
--- 2762,2827 ----
     ada/sem_ch8.ads ada/sem_ch9.ads ada/sem_prag.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-carun8.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_aggr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch7.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-speche.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_aggr.adb \
!    ada/sem_cat.ads ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch8.ads \
     ada/sem_eval.ads ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads \
     ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
!    ada/widechar.ads 
  
  ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
     ada/a-except.ads ada/alloc.ads ada/atree.ads ada/atree.adb \
     ada/casing.ads ada/checks.ads ada/checks.adb ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_aggr.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_disp.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/expander.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/itypes.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
!    ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/sdefault.ads ada/sem.ads \
!    ada/sem_aggr.ads ada/sem_attr.ads ada/sem_attr.adb ada/sem_cat.ads \
!    ada/sem_ch3.ads ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_warn.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
!    ada/snames.adb ada/sprint.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/system.ads ada/s-carun8.ads ada/s-exctab.ads \
!    ada/s-exctab.adb ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
     ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
     ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
     ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
*************** ada/sem_case.o : ada/ada.ads ada/a-excep
*** 2792,2802 ****
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_cat.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 2840,2851 ----
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tbuild.ads ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sem_cat.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/sem_cat.o : ada/ada.ads ada/a-except
*** 2809,2827 ****
     ada/sem_cat.adb ada/sem_eval.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_ch10.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/fname.ads ada/fname-uf.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/impunit.ads ada/inline.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
     ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
     ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
--- 2858,2877 ----
     ada/sem_cat.adb ada/sem_eval.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sem_ch10.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/impunit.ads ada/inline.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
     ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
     ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
*************** ada/sem_ch10.o : ada/ada.ads ada/a-excep
*** 2835,2847 ****
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch11.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
--- 2885,2897 ----
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch11.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
*************** ada/sem_ch11.o : ada/ada.ads ada/a-excep
*** 2854,2865 ****
     ada/sem_ch11.adb ada/sem_ch5.ads ada/sem_ch8.ads ada/sem_res.ads \
     ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_ch12.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/checks.ads \
--- 2904,2915 ----
     ada/sem_ch11.adb ada/sem_ch5.ads ada/sem_ch8.ads ada/sem_res.ads \
     ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_ch12.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/checks.ads \
*************** ada/sem_ch12.o : ada/ada.ads ada/a-excep
*** 2868,2895 ****
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-load.ads \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_cat.ads ada/sem_ch10.ads ada/sem_ch12.ads ada/sem_ch12.adb \
!    ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch6.ads ada/sem_ch7.ads \
!    ada/sem_ch8.ads ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads \
!    ada/sinput.ads ada/sinput-l.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-htable.adb \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads 
  
  ada/sem_ch13.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
--- 2918,2946 ----
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_cat.ads ada/sem_ch10.ads ada/sem_ch12.ads \
!    ada/sem_ch12.adb ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch6.ads \
!    ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_elab.ads \
!    ada/sem_elim.ads ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads ada/sinput-l.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/urealp.adb ada/widechar.ads 
  
  ada/sem_ch13.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/debug.ads ada/einfo.ads \
*************** ada/sem_ch13.o : ada/ada.ads ada/a-excep
*** 2904,2916 ****
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/sem_ch2.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
--- 2955,2967 ----
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/sem_ch2.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
*************** ada/sem_ch2.o : ada/ada.ads ada/a-except
*** 2921,2959 ****
     ada/sem_ch2.ads ada/sem_ch2.adb ada/sem_ch8.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-carun8.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_ch3.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/debug_a.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/elists.adb ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/eval_fat.ads ada/exp_ch11.ads ada/exp_ch2.ads \
!    ada/exp_ch3.ads ada/exp_ch7.ads ada/exp_dist.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/exp_util.adb ada/expander.ads ada/fname.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/layout.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_aggr.ads ada/sem_attr.ads ada/sem_case.ads ada/sem_case.adb \
!    ada/sem_cat.ads ada/sem_cat.adb ada/sem_ch13.ads ada/sem_ch3.ads \
!    ada/sem_ch3.adb ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch7.ads \
!    ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_elim.ads ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads \
!    ada/sem_mech.ads ada/sem_res.ads ada/sem_res.adb ada/sem_smem.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
!    ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
--- 2972,3012 ----
     ada/sem_ch2.ads ada/sem_ch2.adb ada/sem_ch8.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-carun8.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_ch3.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/debug_a.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/elists.adb ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/eval_fat.ads ada/exp_aggr.ads ada/exp_ch2.ads \
!    ada/exp_ch3.ads ada/exp_ch7.ads ada/exp_disp.ads ada/exp_dist.ads \
!    ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb \
!    ada/expander.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/interfac.ads ada/itypes.ads ada/layout.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_attr.ads ada/sem_case.ads ada/sem_case.adb ada/sem_cat.ads \
!    ada/sem_cat.adb ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch3.adb \
!    ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch7.ads ada/sem_ch8.ads \
!    ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads ada/sem_elim.ads \
!    ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads ada/sem_mech.ads \
!    ada/sem_res.ads ada/sem_res.adb ada/sem_smem.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
!    ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
*************** ada/sem_ch3.o : ada/ada.ads ada/a-except
*** 2965,2989 ****
  ada/sem_ch4.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch7.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-speche.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch3.ads ada/sem_ch4.ads \
!    ada/sem_ch4.adb ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads \
!    ada/sem_dist.ads ada/sem_elab.ads ada/sem_eval.ads ada/sem_intr.ads \
!    ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
--- 3018,3043 ----
  ada/sem_ch4.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/exp_ch7.ads ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/expander.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-speche.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/itypes.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_cat.ads ada/sem_ch3.ads ada/sem_ch4.ads ada/sem_ch4.adb \
!    ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_elab.ads ada/sem_eval.ads ada/sem_intr.ads ada/sem_res.ads \
!    ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
     ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
     ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
     ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
*************** ada/sem_ch5.o : ada/ada.ads ada/a-except
*** 2995,3021 ****
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_ch2.ads ada/exp_tss.ads ada/exp_util.ads ada/expander.ads \
!    ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_case.ads \
!    ada/sem_case.adb ada/sem_cat.ads ada/sem_ch3.ads ada/sem_ch5.ads \
!    ada/sem_ch5.adb ada/sem_ch8.ads ada/sem_disp.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
--- 3049,3076 ----
     ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
     ada/csets.ads ada/debug.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/eval_fat.ads \
!    ada/exp_ch2.ads ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/expander.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_case.ads ada/sem_case.adb ada/sem_cat.ads \
!    ada/sem_ch3.ads ada/sem_ch5.ads ada/sem_ch5.adb ada/sem_ch8.ads \
!    ada/sem_disp.ads ada/sem_eval.ads ada/sem_eval.adb ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads \
!    ada/sprint.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
     ada/widechar.ads 
  
*************** ada/sem_ch6.o : ada/ada.ads ada/a-except
*** 3025,3047 ****
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch7.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_cat.ads ada/sem_ch12.ads \
!    ada/sem_ch3.ads ada/sem_ch4.ads ada/sem_ch5.ads ada/sem_ch6.ads \
!    ada/sem_ch6.adb ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_elim.ads ada/sem_eval.ads ada/sem_mech.ads ada/sem_prag.ads \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads \
!    ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
--- 3080,3103 ----
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch7.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
!    ada/itypes.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_cat.ads ada/sem_ch10.ads ada/sem_ch12.ads ada/sem_ch3.ads \
!    ada/sem_ch4.ads ada/sem_ch5.ads ada/sem_ch6.ads ada/sem_ch6.adb \
!    ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_elim.ads \
!    ada/sem_eval.ads ada/sem_mech.ads ada/sem_prag.ads ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
!    ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
*************** ada/sem_ch7.o : ada/ada.ads ada/a-except
*** 3055,3065 ****
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_dbug.ads \
     ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
     ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
     ada/scng.adb ada/sem.ads ada/sem_cat.ads ada/sem_ch10.ads \
     ada/sem_ch12.ads ada/sem_ch3.ads ada/sem_ch6.ads ada/sem_ch7.ads \
--- 3111,3121 ----
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_dbug.ads \
     ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads ada/interfac.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
     ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
     ada/scng.adb ada/sem.ads ada/sem_cat.ads ada/sem_ch10.ads \
     ada/sem_ch12.ads ada/sem_ch3.ads ada/sem_ch6.ads ada/sem_ch7.ads \
*************** ada/sem_ch7.o : ada/ada.ads ada/a-except
*** 3069,3110 ****
     ada/snames.ads ada/snames.adb ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch8.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads ada/expander.ads \
!    ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-speche.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_cat.ads ada/sem_ch12.ads ada/sem_ch3.ads ada/sem_ch4.ads \
!    ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_ch8.adb ada/sem_disp.ads \
!    ada/sem_dist.ads ada/sem_elab.ads ada/sem_eval.ads ada/sem_intr.ads \
!    ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinfo-cn.ads ada/sinput.ads ada/sinput.adb ada/snames.ads \
!    ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch9.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
--- 3125,3167 ----
     ada/snames.ads ada/snames.adb ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch8.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/exp_ch7.ads ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/expander.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-speche.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-load.ads \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_aggr.ads ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch12.ads \
!    ada/sem_ch3.ads ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_ch8.adb ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
!    ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_ch9.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
*************** ada/sem_ch9.o : ada/ada.ads ada/a-except
*** 3112,3135 ****
     ada/csets.ads ada/debug.ads ada/debug_a.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/eval_fat.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
!    ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/itypes.ads ada/lib.ads \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_aggr.ads ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch3.ads \
!    ada/sem_ch4.ads ada/sem_ch5.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_ch9.ads ada/sem_ch9.adb ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_elab.ads ada/sem_eval.ads ada/sem_intr.ads ada/sem_res.ads \
!    ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/sinput.adb ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
--- 3169,3193 ----
     ada/csets.ads ada/debug.ads ada/debug_a.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/eval_fat.ads ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_ch9.ads \
!    ada/exp_disp.ads ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/expander.ads ada/fname.ads ada/fname-uf.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch3.ads ada/sem_ch4.ads \
!    ada/sem_ch5.ads ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_ch9.ads \
!    ada/sem_ch9.adb ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
     ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
*************** ada/sem_disp.o : ada/ada.ads ada/a-excep
*** 3144,3153 ****
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch7.ads \
     ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/lib-xref.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
     ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
     ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_disp.adb \
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
--- 3202,3211 ----
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch7.ads \
     ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-htable.ads \
!    ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/rident.ads ada/rtsfind.ads \
     ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
     ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_disp.adb \
     ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
*************** ada/sem_disp.o : ada/ada.ads ada/a-excep
*** 3155,3186 ****
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/widechar.ads 
  
  ada/sem_dist.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/exp_dist.ads ada/exp_tss.ads ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/lib.ads ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/sem.ads ada/sem_dist.ads \
     ada/sem_dist.adb ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
!    ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_elab.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
--- 3213,3243 ----
     ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
     ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
     ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_dist.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/exp_dist.ads ada/exp_tss.ads ada/gnat.ads ada/g-htable.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/namet.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
!    ada/opt.ads ada/output.ads ada/rtsfind.ads ada/sem.ads ada/sem_dist.ads \
     ada/sem_dist.adb ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
     ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
     ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sem_elab.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
*************** ada/sem_elab.o : ada/ada.ads ada/a-excep
*** 3188,3213 ****
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/expander.ads ada/fname.ads ada/fname-uf.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_cat.ads \
!    ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_elab.ads ada/sem_elab.adb \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_elim.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads \
--- 3245,3271 ----
     ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_tss.ads \
     ada/exp_util.ads ada/expander.ads ada/fname.ads ada/fname-uf.ads \
     ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_cat.ads ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_elab.ads \
!    ada/sem_elab.adb ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
!    ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-crc32.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/sem_elim.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads \
     ada/alloc.ads ada/atree.ads ada/atree.adb ada/casing.ads ada/debug.ads \
*************** ada/sem_elim.o : ada/ada.ads ada/a-excep
*** 3219,3256 ****
     ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
     ada/stand.ads ada/stringt.ads ada/system.ads ada/s-exctab.ads \
     ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_eval.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/expander.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch4.ads ada/sem_ch6.ads \
!    ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads \
!    ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
     ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads 
  
  ada/sem_intr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
--- 3277,3315 ----
     ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
     ada/stand.ads ada/stringt.ads ada/system.ads ada/s-exctab.ads \
     ada/s-htable.ads ada/s-htable.adb ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_eval.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
     ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
     ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch7.ads ada/exp_disp.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/expander.ads ada/fname.ads ada/freeze.ads \
!    ada/get_targ.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_cat.ads ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads ada/sem_res.adb \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
     ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads 
  
  ada/sem_intr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
*************** ada/sem_intr.o : ada/ada.ads ada/a-excep
*** 3263,3274 ****
     ada/sem_eval.ads ada/sem_intr.ads ada/sem_intr.adb ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_maps.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 3322,3334 ----
     ada/sem_eval.ads ada/sem_intr.ads ada/sem_intr.adb ada/sem_util.ads \
     ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sem_maps.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/sem_maps.o : ada/ada.ads ada/a-excep
*** 3278,3288 ****
     ada/sem_maps.ads ada/sem_maps.adb ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_mech.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
--- 3338,3348 ----
     ada/sem_maps.ads ada/sem_maps.adb ada/sinfo.ads ada/sinfo.adb \
     ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_mech.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
*************** ada/sem_mech.o : ada/ada.ads ada/a-excep
*** 3293,3365 ****
     ada/sem_mech.ads ada/sem_mech.adb ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sem_prag.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/casing.adb ada/checks.ads \
!    ada/csets.ads ada/debug.ads ada/debug_a.ads ada/einfo.ads ada/einfo.adb \
!    ada/elists.ads ada/elists.adb ada/err_vars.ads ada/errout.ads \
!    ada/erroutc.ads ada/eval_fat.ads ada/exp_ch7.ads ada/exp_dist.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-speche.ads \
!    ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/itypes.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/lib-writ.ads ada/lib-xref.ads ada/namet.ads \
     ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/restrict.adb \
     ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
     ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_cat.ads ada/sem_ch13.ads ada/sem_ch3.ads ada/sem_ch4.ads \
!    ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads ada/sem_eval.adb \
!    ada/sem_intr.ads ada/sem_mech.ads ada/sem_prag.ads ada/sem_prag.adb \
!    ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_vfpt.ads ada/sem_warn.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads ada/sinput.adb \
!    ada/snames.ads ada/snames.adb ada/stand.ads ada/stringt.ads \
     ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
     ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/types.adb \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads \
!    ada/widechar.ads 
! 
! ada/sem_res.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
!    ada/csets.ads ada/debug.ads ada/debug_a.ads ada/debug_a.adb \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_ch11.ads \
!    ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/exp_util.adb ada/expander.ads ada/fname.ads ada/fname-uf.ads \
!    ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/inline.ads ada/interfac.ads ada/itypes.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_aggr.ads ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch4.ads \
!    ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads \
!    ada/sem_elab.ads ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads \
!    ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
--- 3353,3426 ----
     ada/sem_mech.ads ada/sem_mech.adb ada/sem_util.ads ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_prag.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/debug_a.ads ada/einfo.ads ada/einfo.adb ada/elists.ads \
!    ada/elists.adb ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
!    ada/eval_fat.ads ada/exp_ch7.ads ada/exp_disp.ads ada/exp_dist.ads \
     ada/exp_tss.ads ada/exp_util.ads ada/expander.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-speche.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/lib-writ.ads ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/nmake.adb ada/opt.ads ada/output.ads ada/restrict.ads \
!    ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
!    ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads ada/sem_aggr.ads \
!    ada/sem_attr.ads ada/sem_cat.ads ada/sem_ch13.ads ada/sem_ch3.ads \
!    ada/sem_ch4.ads ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_disp.ads \
!    ada/sem_dist.ads ada/sem_elab.ads ada/sem_elim.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_intr.ads ada/sem_mech.ads ada/sem_prag.ads \
!    ada/sem_prag.adb ada/sem_res.ads ada/sem_res.adb ada/sem_type.ads \
!    ada/sem_util.ads ada/sem_util.adb ada/sem_vfpt.ads ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinfo-cn.ads ada/sinput.ads \
!    ada/sinput.adb ada/snames.ads ada/snames.adb ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-carun8.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-exctab.adb \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/ttypes.ads ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/urealp.adb ada/validsw.ads ada/widechar.ads 
! 
! ada/sem_res.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
!    ada/atree.adb ada/casing.ads ada/checks.ads ada/checks.adb \
!    ada/csets.ads ada/debug.ads ada/debug_a.ads ada/debug_a.adb \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/eval_fat.ads ada/exp_aggr.ads \
!    ada/exp_ch2.ads ada/exp_ch7.ads ada/exp_disp.ads ada/exp_pakd.ads \
!    ada/exp_tss.ads ada/exp_util.ads ada/exp_util.adb ada/expander.ads \
!    ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads \
     ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb \
     ada/opt.ads ada/output.ads ada/restrict.ads ada/restrict.adb \
     ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
     ada/scng.adb ada/sem.ads ada/sem_aggr.ads ada/sem_attr.ads \
!    ada/sem_cat.ads ada/sem_ch3.ads ada/sem_ch4.ads ada/sem_ch6.ads \
!    ada/sem_ch8.ads ada/sem_disp.ads ada/sem_dist.ads ada/sem_elab.ads \
!    ada/sem_eval.ads ada/sem_eval.adb ada/sem_intr.ads ada/sem_res.ads \
!    ada/sem_res.adb ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
!    ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/sprint.ads ada/stand.ads ada/stringt.ads \
     ada/stringt.adb ada/style.ads ada/styleg.ads ada/styleg.adb \
     ada/styleg-c.ads ada/stylesw.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
     ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
     ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
     ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
*************** ada/sem_smem.o : ada/ada.ads ada/a-excep
*** 3376,3411 ****
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sem_smem.ads \
     ada/sem_smem.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_type.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/err_vars.ads \
!    ada/errout.ads ada/erroutc.ads ada/exp_tss.ads ada/exp_util.ads \
!    ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
!    ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_ch6.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_res.ads ada/sem_type.ads ada/sem_type.adb ada/sem_util.ads \
!    ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/casing.adb ada/checks.ads \
--- 3437,3473 ----
     ada/nlists.adb ada/opt.ads ada/output.ads ada/sem_smem.ads \
     ada/sem_smem.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/snames.ads ada/stand.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_type.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
!    ada/einfo.ads ada/einfo.adb ada/elists.ads ada/elists.adb \
!    ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_tss.ads \
!    ada/exp_util.ads ada/fname.ads ada/freeze.ads ada/get_targ.ads \
!    ada/gnat.ads ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads \
!    ada/g-string.ads ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads \
!    ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/opt.ads ada/output.ads \
!    ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads \
!    ada/scng.adb ada/sem.ads ada/sem_ch6.ads ada/sem_ch8.ads \
!    ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_type.adb \
!    ada/sem_util.ads ada/sem_util.adb ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/casing.adb ada/checks.ads \
*************** ada/sem_util.o : ada/ada.ads ada/a-excep
*** 3414,3438 ****
     ada/eval_fat.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/rtsfind.ads ada/rtsfind.adb \
!    ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb ada/sem.ads \
!    ada/sem_cat.ads ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_eval.ads \
!    ada/sem_eval.adb ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
!    ada/sem_util.adb ada/sem_warn.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/sinput.adb ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
!    ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads ada/system.ads \
!    ada/s-carun8.ads ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
--- 3476,3501 ----
     ada/eval_fat.ads ada/exp_tss.ads ada/exp_util.ads ada/fname.ads \
     ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-load.ads \
!    ada/lib-sort.adb ada/lib-xref.ads ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
!    ada/rtsfind.adb ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sem.ads ada/sem_cat.ads ada/sem_ch7.ads ada/sem_ch8.ads \
!    ada/sem_dist.ads ada/sem_eval.ads ada/sem_eval.adb ada/sem_res.ads \
!    ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput.adb \
!    ada/snames.ads ada/stand.ads ada/stringt.ads ada/stringt.adb \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-carun8.ads ada/s-crc32.ads \
!    ada/s-crc32.adb ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
!    ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
     ada/widechar.ads 
  
*************** ada/sem_vfpt.o : ada/ada.ads ada/a-excep
*** 3444,3455 ****
     ada/rident.ads ada/sem_vfpt.ads ada/sem_vfpt.adb ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/targparm.ads ada/tree_io.ads ada/ttypef.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_warn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
--- 3507,3518 ----
     ada/rident.ads ada/sem_vfpt.ads ada/sem_vfpt.adb ada/sinfo.ads \
     ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/targparm.ads ada/tree_io.ads \
!    ada/ttypef.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sem_warn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/checks.ads ada/csets.ads ada/debug.ads \
*************** ada/sem_warn.o : ada/ada.ads ada/a-excep
*** 3457,3466 ****
     ada/errout.ads ada/erroutc.ads ada/exp_tss.ads ada/exp_util.ads \
     ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/lib.ads \
!    ada/lib.adb ada/lib-list.adb ada/lib-sort.adb ada/lib-xref.ads \
!    ada/namet.ads ada/namet.adb ada/nlists.ads ada/nlists.adb ada/nmake.ads \
!    ada/opt.ads ada/output.ads ada/restrict.ads ada/rident.ads \
     ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
--- 3520,3529 ----
     ada/errout.ads ada/erroutc.ads ada/exp_tss.ads ada/exp_util.ads \
     ada/fname.ads ada/freeze.ads ada/get_targ.ads ada/gnat.ads \
     ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/g-utf_32.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-sort.adb \
!    ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/opt.ads ada/output.ads ada/rident.ads \
     ada/rtsfind.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
     ada/sem.ads ada/sem_ch8.ads ada/sem_eval.ads ada/sem_res.ads \
     ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb ada/sem_warn.ads \
*************** ada/sem_warn.o : ada/ada.ads ada/a-excep
*** 3468,3559 ****
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sinfo-cn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo-cn.ads \
!    ada/sinfo-cn.adb ada/sinput.ads ada/snames.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/sinfo.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/nlists.ads ada/nlists.adb \
!    ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/snames.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sinput-c.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
     ada/alloc.ads ada/casing.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/sinput.ads \
     ada/sinput-c.ads ada/sinput-c.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/sinput-d.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/osint.ads \
     ada/osint-c.ads ada/output.ads ada/sinput.ads ada/sinput-d.ads \
     ada/sinput-d.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/sinput-l.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/gnat.ads ada/g-dyntab.ads ada/g-dyntab.adb ada/g-hesorg.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/interfac.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/osint.ads ada/output.ads ada/prep.ads \
!    ada/prepcomp.ads ada/scans.ads ada/scn.ads ada/scng.ads ada/scng.adb \
!    ada/sinfo.ads ada/sinfo.adb ada/sinput.ads ada/sinput-l.ads \
!    ada/sinput-l.adb ada/snames.ads ada/stringt.ads ada/style.ads \
!    ada/styleg.ads ada/styleg.adb ada/styleg-c.ads ada/stylesw.ads \
!    ada/system.ads ada/s-crc32.ads ada/s-crc32.adb ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-secsta.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sinput.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/namet.adb \
     ada/opt.ads ada/output.ads ada/sinput.ads ada/sinput.adb ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-secsta.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/snames.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/snames.ads ada/snames.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/sprint.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 3531,3625 ----
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
     ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sinfo-cn.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads \
!    ada/sinfo-cn.ads ada/sinfo-cn.adb ada/sinput.ads ada/snames.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/sinfo.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/nlists.ads \
!    ada/nlists.adb ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/sinput-c.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
     ada/alloc.ads ada/casing.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/namet.ads ada/opt.ads ada/output.ads ada/sinput.ads \
     ada/sinput-c.ads ada/sinput-c.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/sinput-d.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/osint.ads \
     ada/osint-c.ads ada/output.ads ada/sinput.ads ada/sinput-d.ads \
     ada/sinput-d.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/sinput-l.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
     ada/elists.ads ada/err_vars.ads ada/errout.ads ada/erroutc.ads \
     ada/gnat.ads ada/g-dyntab.ads ada/g-dyntab.adb ada/g-hesorg.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/g-utf_32.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads ada/namet.ads \
!    ada/namet.adb ada/nlists.ads ada/nlists.adb ada/opt.ads ada/osint.ads \
!    ada/output.ads ada/prep.ads ada/prepcomp.ads ada/scans.ads ada/scn.ads \
!    ada/scng.ads ada/scng.adb ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
!    ada/sinput-l.ads ada/sinput-l.adb ada/snames.ads ada/stringt.ads \
!    ada/style.ads ada/styleg.ads ada/styleg.adb ada/styleg-c.ads \
!    ada/stylesw.ads ada/system.ads ada/s-crc32.ads ada/s-crc32.adb \
!    ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/sinput.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/namet.adb \
     ada/opt.ads ada/output.ads ada/sinput.ads ada/sinput.adb ada/system.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/widechar.ads 
  
  ada/snames.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/snames.ads ada/snames.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/sprint.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/sprint.o : ada/ada.ads ada/a-except.
*** 3566,3593 ****
     ada/sinput-d.ads ada/snames.ads ada/sprint.ads ada/sprint.adb \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/stand.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads ada/stand.ads \
     ada/stand.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/stringt.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/types.adb ada/unchconv.ads \
!    ada/unchdeal.ads 
  
  ada/style.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 3632,3659 ----
     ada/sinput-d.ads ada/snames.ads ada/sprint.ads ada/sprint.adb \
     ada/stand.ads ada/stringt.ads ada/stringt.adb ada/system.ads \
     ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
     ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/stand.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads ada/stand.ads \
     ada/stand.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/stringt.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
     ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/types.adb \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/style.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/style.o : ada/ada.ads ada/a-except.a
*** 3599,3609 ****
     ada/snames.ads ada/stand.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/styleg-c.adb ada/stylesw.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/styleg-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 3665,3675 ----
     ada/snames.ads ada/stand.ads ada/style.ads ada/styleg.ads \
     ada/styleg.adb ada/styleg-c.ads ada/styleg-c.adb ada/stylesw.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/styleg-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/styleg-c.o : ada/ada.ads ada/a-excep
*** 3612,3630 ****
     ada/output.ads ada/sinfo.ads ada/sinput.ads ada/snames.ads \
     ada/stand.ads ada/styleg.ads ada/styleg-c.ads ada/styleg-c.adb \
     ada/stylesw.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/styleg.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/opt.ads ada/output.ads ada/scans.ads ada/sinput.ads ada/styleg.ads \
     ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/stylesw.o : ada/gnat.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/stylesw.ads ada/stylesw.adb \
--- 3678,3697 ----
     ada/output.ads ada/sinfo.ads ada/sinput.ads ada/snames.ads \
     ada/stand.ads ada/styleg.ads ada/styleg-c.ads ada/styleg-c.adb \
     ada/stylesw.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/styleg.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/casing.ads \
     ada/csets.ads ada/debug.ads ada/err_vars.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/opt.ads ada/output.ads ada/scans.ads ada/sinput.ads ada/styleg.ads \
     ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-exctab.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/stylesw.o : ada/gnat.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/stylesw.ads ada/stylesw.adb \
*************** ada/stylesw.o : ada/gnat.ads ada/g-strin
*** 3634,3659 ****
  ada/switch-b.o : ada/ada.ads ada/a-except.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/opt.ads ada/osint.ads ada/switch.ads ada/switch-b.ads \
!    ada/switch-b.adb ada/system.ads ada/s-exctab.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/switch-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/opt.ads ada/osint.ads ada/output.ads \
     ada/prepcomp.ads ada/stylesw.ads ada/switch.ads ada/switch-c.ads \
     ada/switch-c.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/validsw.ads 
  
  ada/switch.o : ada/ada.ads ada/a-except.ads ada/switch.ads ada/switch.adb \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/system.o : ada/system.ads 
  
--- 3701,3726 ----
  ada/switch-b.o : ada/ada.ads ada/a-except.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads \
     ada/opt.ads ada/osint.ads ada/switch.ads ada/switch-b.ads \
!    ada/switch-b.adb ada/system.ads ada/s-exctab.ads ada/s-parame.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/switch-c.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/lib.ads ada/opt.ads ada/osint.ads ada/output.ads \
     ada/prepcomp.ads ada/stylesw.ads ada/switch.ads ada/switch-c.ads \
     ada/switch-c.adb ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads ada/validsw.ads 
  
  ada/switch.o : ada/ada.ads ada/a-except.ads ada/switch.ads ada/switch.adb \
     ada/system.ads ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads \
!    ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/system.o : ada/system.ads 
  
*************** ada/targparm.o : ada/ada.ads ada/a-excep
*** 3667,3695 ****
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/namet.adb \
     ada/opt.ads ada/osint.ads ada/output.ads ada/rident.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-rident.ads \
!    ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
!    ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
!    ada/targparm.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/widechar.ads 
  
  ada/tbuild.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
!    ada/elists.ads ada/fname.ads ada/gnat.ads ada/g-hesora.ads \
!    ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
!    ada/hostparm.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
!    ada/lib-sort.adb ada/namet.ads ada/namet.adb ada/nlists.ads \
!    ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
!    ada/restrict.ads ada/rident.ads ada/sinfo.ads ada/sinfo.adb \
!    ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/tree_gen.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads ada/fname.ads \
--- 3734,3763 ----
     ada/debug.ads ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/namet.ads ada/namet.adb \
     ada/opt.ads ada/osint.ads ada/output.ads ada/rident.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/targparm.ads ada/targparm.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads 
  
  ada/tbuild.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
!    ada/elists.ads ada/elists.adb ada/fname.ads ada/gnat.ads \
!    ada/g-hesora.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
!    ada/gnatvsn.ads ada/hostparm.ads ada/lib.ads ada/lib.adb \
!    ada/lib-list.adb ada/lib-sort.adb ada/namet.ads ada/namet.adb \
!    ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
!    ada/output.ads ada/restrict.ads ada/rident.ads ada/sinfo.ads \
!    ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
!    ada/stringt.ads ada/stringt.adb ada/system.ads ada/s-exctab.ads \
!    ada/s-htable.ads ada/s-imgenu.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/types.ads \
!    ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/tree_gen.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/casing.ads ada/debug.ads ada/einfo.ads ada/elists.ads ada/fname.ads \
*************** ada/tree_gen.o : ada/ada.ads ada/a-excep
*** 3698,3714 ****
     ada/osint.ads ada/osint-c.ads ada/output.ads ada/repinfo.ads \
     ada/sinfo.ads ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_gen.ads ada/tree_gen.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads 
  
  ada/tree_io.o : ada/ada.ads ada/a-except.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/tree_io.ads ada/tree_io.adb \
!    ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/treepr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
--- 3766,3782 ----
     ada/osint.ads ada/osint-c.ads ada/output.ads ada/repinfo.ads \
     ada/sinfo.ads ada/sinput.ads ada/snames.ads ada/stand.ads \
     ada/stringt.ads ada/system.ads ada/s-exctab.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_gen.ads \
!    ada/tree_gen.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/tree_io.o : ada/ada.ads ada/a-except.ads ada/debug.ads ada/gnat.ads \
     ada/g-os_lib.ads ada/g-string.ads ada/output.ads ada/system.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-parame.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/tree_io.ads \
!    ada/tree_io.adb ada/types.ads ada/unchconv.ads ada/unchdeal.ads 
  
  ada/treepr.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
     ada/atree.adb ada/casing.ads ada/csets.ads ada/debug.ads ada/einfo.ads \
*************** ada/treepr.o : ada/ada.ads ada/a-except.
*** 3720,3739 ****
     ada/sem_mech.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/treepr.ads ada/treepr.adb ada/treeprs.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/treeprs.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/output.ads ada/sinfo.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/treeprs.ads ada/types.ads \
!    ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/ttypef.o : ada/system.ads ada/ttypef.ads 
  
--- 3788,3808 ----
     ada/sem_mech.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/treepr.ads ada/treepr.adb \
!    ada/treeprs.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads 
  
  ada/treeprs.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/output.ads ada/sinfo.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/treeprs.ads \
!    ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads 
  
  ada/ttypef.o : ada/system.ads ada/ttypef.ads 
  
*************** ada/ttypes.o : ada/get_targ.ads ada/syst
*** 3742,3759 ****
     ada/unchconv.ads ada/unchdeal.ads 
  
  ada/types.o : ada/ada.ads ada/a-except.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/types.ads ada/types.adb \
!    ada/unchconv.ads ada/unchdeal.ads 
  
  ada/uintp.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
     ada/output.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-htable.adb ada/s-memory.ads ada/s-stalib.ads ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads 
  
  ada/uname.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
--- 3811,3828 ----
     ada/unchconv.ads ada/unchdeal.ads 
  
  ada/types.o : ada/ada.ads ada/a-except.ads ada/system.ads ada/s-carun8.ads \
!    ada/s-exctab.ads ada/s-exctab.adb ada/s-htable.ads ada/s-parame.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/types.ads \
!    ada/types.adb ada/unchconv.ads ada/unchdeal.ads 
  
  ada/uintp.o : ada/ada.ads ada/a-except.ads ada/a-uncdea.ads ada/alloc.ads \
     ada/debug.ads ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads \
     ada/output.ads ada/system.ads ada/s-exctab.ads ada/s-htable.ads \
!    ada/s-htable.adb ada/s-memory.ads ada/s-parame.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
     ada/unchconv.ads ada/unchdeal.ads 
  
  ada/uname.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/atree.ads \
*************** ada/uname.o : ada/ada.ads ada/a-except.a
*** 3765,3792 ****
     ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
!    ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-traent.ads \
!    ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
!    ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
!    ada/uname.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads 
  
  ada/urealp.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-memory.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
!    ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
!    ada/urealp.adb 
  
  ada/usage.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/usage.ads ada/usage.adb 
  
  ada/validsw.o : ada/gnat.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/system.ads ada/s-exctab.ads \
--- 3834,3862 ----
     ada/opt.ads ada/output.ads ada/sinfo.ads ada/sinfo.adb ada/sinput.ads \
     ada/sinput.adb ada/snames.ads ada/stand.ads ada/stringt.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imgenu.ads \
!    ada/s-memory.ads ada/s-parame.ads ada/s-secsta.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
!    ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
!    ada/uname.ads ada/uname.adb ada/unchconv.ads ada/unchdeal.ads \
!    ada/urealp.ads ada/widechar.ads 
  
  ada/urealp.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-htable.ads ada/g-os_lib.ads ada/g-string.ads \
     ada/gnatvsn.ads ada/hostparm.ads ada/opt.ads ada/output.ads \
     ada/system.ads ada/s-exctab.ads ada/s-htable.ads ada/s-memory.ads \
!    ada/s-parame.ads ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads \
!    ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
!    ada/types.ads ada/uintp.ads ada/uintp.adb ada/unchconv.ads \
!    ada/unchdeal.ads ada/urealp.ads ada/urealp.adb 
  
  ada/usage.o : ada/ada.ads ada/a-except.ads ada/alloc.ads ada/debug.ads \
     ada/gnat.ads ada/g-os_lib.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/namet.ads ada/opt.ads ada/osint.ads ada/output.ads \
!    ada/system.ads ada/s-exctab.ads ada/s-memory.ads ada/s-parame.ads \
!    ada/s-stalib.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
!    ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/usage.ads ada/usage.adb 
  
  ada/validsw.o : ada/gnat.ads ada/g-string.ads ada/gnatvsn.ads \
     ada/hostparm.ads ada/opt.ads ada/system.ads ada/s-exctab.ads \
*************** ada/validsw.o : ada/gnat.ads ada/g-strin
*** 3795,3804 ****
  
  ada/widechar.o : ada/ada.ads ada/a-except.ads ada/gnat.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/opt.ads ada/system.ads ada/s-exctab.ads ada/s-soflin.ads \
!    ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
!    ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcnv.ads ada/s-wchcnv.adb \
!    ada/s-wchcon.ads ada/s-wchjis.ads ada/types.ads ada/unchconv.ads \
!    ada/unchdeal.ads ada/widechar.ads ada/widechar.adb 
  
  # end of regular dependencies
--- 3865,3874 ----
  
  ada/widechar.o : ada/ada.ads ada/a-except.ads ada/gnat.ads \
     ada/g-string.ads ada/gnatvsn.ads ada/hostparm.ads ada/interfac.ads \
!    ada/opt.ads ada/system.ads ada/s-exctab.ads ada/s-parame.ads \
!    ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
!    ada/s-stoele.adb ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcnv.ads \
!    ada/s-wchcnv.adb ada/s-wchcon.ads ada/s-wchjis.ads ada/types.ads \
!    ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads ada/widechar.adb 
  
  # end of regular dependencies
diff -Nrcpad gcc-4.0.2/gcc/ada/Makefile.generic gcc-4.1.0/gcc/ada/Makefile.generic
*** gcc-4.0.2/gcc/ada/Makefile.generic	Wed Sep  1 11:51:48 2004
--- gcc-4.1.0/gcc/ada/Makefile.generic	Thu Jan  1 00:00:00 1970
***************
*** 1,503 ****
- # Generic Makefile to support compilation for multiple languages.
- # See also Makefile.prolog
- #
- #   Copyright (C) 2001-2004 Free Software Foundation, Inc.
- 
- # This file is part of GCC.
- 
- # GCC is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2, or (at your option)
- # any later version.
- 
- # GCC is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- # GNU General Public License for more details.
- 
- # You should have received a copy of the GNU General Public License
- # along with GCC; see the file COPYING.  If not, write to
- # the Free Software Foundation, 59 Temple Place - Suite 330,
- # Boston, MA 02111-1307, USA.
- 
- # This Makefile provides a very generic framework of the following
- # functionalities:
- #
- # Multi-language support (currently any combination of Ada/C/C++ supported)
- # Automatic handling of source dependencies
- # Handling of various C/C++ compilers
- # Handling of Ada sources using the GNAT toolchain
- # Complete build process (compile/bind/link)
- # Individual compilation (on a file, or on a language)
- # Handling of an object directory
- 
- # Here are the rules that can be used from the command line:
- #
- # build:         complete compile/bind/link process
- # compile:       compile all files that are not up-to-date
- # link:          bind/link
- # ada:           compile all Ada files that are not up-to-date
- # c:             ditto for C files
- # c++:           ditto for C++ files
- # <ada file>:    compile the specified file if needed.
- # <object file>: compile the corresponding C/C++ source file if needed.
- # clean:         remove all temporary files
- 
- # This Makefile expects the following variables to be set by the caller
- # (typically another Makefile):
- #
- # ADA_SPEC         extension of Ada spec files (optional, default to .ads)
- # ADA_BODY         extension of Ada body files (optional, default to .adb)
- # C_EXT            extension of C files (optional, default to .c)
- # CXX_EXT          extension of C++ files (optional, default to .cc)
- # OBJ_EXT          extension of object files (optional, default to .o)
- # SRC_DIRS         blank separated list of source directories
- # C_SRCS           explicit list of C sources (optional)
- # C_SRCS_DEFINED   if set, indicates that C_SRCS is already set
- # CXX_SRCS         explicit list of C++ sources (optional)
- # CXX_SRCS_DEFINED is set, indicates that CXX_SRCS is already set
- # OBJ_DIR          a single directory where object files should be put
- # EXEC_DIR         a single directory where executables should be put (optional)
- # LANGUAGES        a blank separated list of languages supported, e.g "ada c"
- #                  the current list of recognized languages is: ada, c, c++
- # CC               name of the C compiler (optional, default to gcc)
- # CXX              name of the C++ compiler (optional, default to gcc)
- # AR_CMD           command to create an archive (optional, default to "ar rc")
- # AR_EXT           file extension of an archive (optional, default to ".a")
- # RANLIB           command to generate an index (optional, default to "ranlib")
- # GNATMAKE         name of the GNAT builder (optional, default to "gnatmake")
- # ADAFLAGS         additional Ada compilation switches, e.g "-gnatf" (optional)
- # CFLAGS           default C compilation switches, e.g "-O2 -g" (optional)
- # CXXFLAGS         default C++ compilation switches (optional)
- # LIBS             libraries to link with (optional)
- # LDFLAGS          linker switches (optional)
- # ADA_SOURCES      list of main Ada sources (optional)
- # EXEC             name of the final executable (optional)
- # MAIN             language of the main program (optional)
- # MAIN_OBJECT      main object file (optional)
- # PROJECT_FILE     name of the project file, without the .gpr extension
- # DEPS_PROJECTS    list of project dependencies (optional)
- 
- # SILENT           (optional) when defined, make -s will not output anything
- #                  when all commands are successful.
- 
- # Set the source search path for C and C++ if needed
- 
- ifndef MAIN
-    MAIN=ada
- endif
- 
- ifndef ADA_SPEC
-    ADA_SPEC=.ads
- endif
- 
- ifndef ADA_BODY
-    ADA_BODY=.adb
- endif
- 
- ifndef CC
-    CC=gcc
- endif
- 
- ifndef CXX
-    CXX=gcc
- endif
- 
- ifndef CXX_EXT
-    CXX_EXT=.cc
- endif
- 
- vpath %$(C_EXT) $(SRC_DIRS)
- vpath %$(CXX_EXT) $(SRC_DIRS)
- 
- ifndef OBJ_EXT
-    OBJ_EXT=.o
- endif
- 
- ifndef AR_EXT
-    AR_EXT=.a
- endif
- 
- ifndef AR_CMD
-    AR_CMD=ar rc
- endif
- 
- ifndef RANLIB
-    RANLIB=ranlib
- endif
- 
- ifndef GNATMAKE
-    GNATMAKE:=gnatmake
- endif
- 
- ifndef ARCHIVE
-    ARCHIVE=$(OBJ_DIR)/lib$(PROJECT_BASE)-full$(AR_EXT)
- endif
- 
- ifeq ($(EXEC_DIR),)
-    EXEC_DIR=$(OBJ_DIR)
- endif
- 
- # Define display to echo only when SILENT is not defined
- 
- ifdef SILENT
- define display
-    @gprcmd ignore
- endef
- 
- else
- define display
-    @echo
- endef
- endif
- 
- # Make sure gnatmake is called silently when SILENT is set
- ifdef SILENT
-    GNATMAKE:=$(GNATMAKE) -q
- endif
- 
- # If C/C++ compiler is gcc, make sure gcc is called with the switch indicating
- # the language, in case the extension is not standard.
- 
- ifeq ($(strip $(filter-out %gcc,$(CC))),)
-    C_Compiler=$(CC) -x c
- else
-    C_Compiler=$(CC)
- endif
- 
- ifeq ($(strip $(filter-out %gcc %g++,$(CXX))),)
-    CXX_Compiler=$(CXX) -x c++
- else
-    CXX_Compiler=$(CXX)
- endif
- 
- # Set the object search path
- 
- vpath %$(OBJ_EXT) $(OBJ_DIR)
- vpath %$(AR_EXT) $(OBJ_DIR)
- 
- # A target can't have a character ':' otherwise it will confuse make. We
- # replace ':' by a pipe character. Note that there is less chance than a pipe
- # character be part of a pathname on UNIX and this character can't be used in
- # a pathname on Windows.
- 
- clean_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=clean_%))
- compile_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=compile_%))
- object_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=object_%))
- ada_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=ada_%))
- c_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=c_%))
- c++_deps = $(subst :,__GPRCOLON__,$(DEPS_PROJECTS:%=c++_%))
- 
- # Default target is to build (compile/bind/link)
- all: build
- 
- clean: $(clean_deps) internal-clean
- build: $(compile_deps) internal-compile internal-build
- compile: $(compile_deps) internal-compile $(ADA_SOURCES)
- ada: $(ada_deps) internal-ada
- archive-objects: $(object_deps) internal-archive-objects
- c: $(c_deps) internal-c
- c++: $(c++deps) internal-c++
- 
- $(clean_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:clean_%=%))) -f Makefile.$(notdir $@) internal-clean
- 
- $(compile_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:compile_%=%))) -f Makefile.$(notdir $@) internal-compile
- 
- $(object_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:object_%=%))) -f Makefile.$(notdir $@) internal-archive-objects ARCHIVE=$(ARCHIVE)
- 
- $(ada_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:ada_%=%))) -f Makefile.$(notdir $@) internal-ada
- 
- $(c_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:c_%=%))) -f Makefile.$(notdir $@) internal-c
- 
- $(c++_deps): force
- 	@$(MAKE) -C $(dir $(subst __GPRCOLON__,:,$(@:c++_%=%))) -f Makefile.$(notdir $@) internal-c++
- 
- ifneq ($(EXEC),)
-    EXEC_RULE=-o $(EXEC)
- endif
- 
- PROJECT_BASE = $(notdir $(PROJECT_FILE))
- 
- # Set C/C++ linker command & target
- 
- ifeq ($(filter c++,$(LANGUAGES)),c++)
-    LINKER = $(CXX)
- 
-    ifeq ($(filter ada,$(LANGUAGES)),ada)
-       # C++ and Ada mixed
-       LARGS = --LINK=$(LINKER)
- 
-       ifeq ($(strip $(filter-out %gcc %g++,$(CXX))),)
-          # Case of GNAT and a GNU C++ compiler
- $(LINKER):
- 
-       else
-          # Case of GNAT and a non GNU C++ compiler
-          LINKER = $(OBJ_DIR)/c++linker
- 
- $(LINKER): Makefile.$(PROJECT_BASE)
- 	@echo \#!/bin/sh > $(LINKER)
- 	@echo $(CXX) $$\* $(shell gcc -print-libgcc-file-name) >> $(LINKER)
- 	@chmod +x $(LINKER)
-       endif
-    endif
- else
-    ifeq ($(strip $(LANGUAGES)),c)
-       # Case of C only
-       LINKER = $(CC)
-    endif
- endif
- 
- C_INCLUDES := $(foreach name,$(SRC_DIRS),-I$(name))
- ALL_CFLAGS = $(CFLAGS) $(DEP_CFLAGS)
- ALL_CXXFLAGS = $(CXXFLAGS) $(DEP_CFLAGS)
- LDFLAGS := $(LIBS) $(LDFLAGS)
- 
- # Compute list of objects based on languages
- 
- ifeq ($(strip $(filter c,$(LANGUAGES))),c)
-    # Compute list of C sources automatically unless already specified
- 
-    ifndef C_SRCS_DEFINED
-       ifndef C_SRCS
-          C_SRCS := \
-            $(foreach name,$(SRC_DIRS),$(notdir $(wildcard $(name)/*$(C_EXT))))
-       endif
-    endif
- 
-    C_OBJECTS := $(C_SRCS:$(C_EXT)=$(OBJ_EXT))
-    OBJECTS += $(C_OBJECTS)
- endif
- 
- ifeq ($(strip $(filter c++,$(LANGUAGES))),c++)
-    # Compute list of C++ sources automatically unless already specified
- 
-    ifndef CXX_SRCS_DEFINED
-       ifndef CXX_SRCS
-          CXX_SRCS := \
-          $(foreach name,$(SRC_DIRS),$(notdir $(wildcard $(name)/*$(CXX_EXT))))
-       endif
-    endif
- 
-    CXX_OBJECTS := $(CXX_SRCS:$(CXX_EXT)=$(OBJ_EXT))
-    OBJECTS += $(CXX_OBJECTS)
- endif
- 
- OBJ_FILES := $(foreach name,$(OBJECTS),$(OBJ_DIR)/$(name))
- 
- # To handle C/C++ dependencies, we associate a small file for each
- # source that will list the dependencies as a make rule, so that we can then
- # include these rules in this makefile, and recompute them on a file by file
- # basis
- 
- DEP_FILES := $(OBJ_FILES:$(OBJ_EXT)=.d)
- 
- # Ada compilations are taken care of automatically, so do not mess with Ada
- # objects, only with main sources.
- 
- ifeq ($(strip $(OBJECTS)),)
- internal-compile:
- internal-archive-objects:
- 
- else
- internal-compile: lib$(PROJECT_BASE)$(AR_EXT)
- 
- lib$(PROJECT_BASE)$(AR_EXT): $(OBJECTS)
- 	@$(display) creating archive file for $(PROJECT_BASE)
- 	cd $(OBJ_DIR); $(AR_CMD) $@ $(strip $(OBJECTS))
- 	-$(RANLIB) $(OBJ_DIR)/$@
- 
- internal-archive-objects: $(OBJECTS)
- #	@echo $(AR_CMD) $(ARCHIVE) $(strip $(OBJECTS))
- #	cd $(OBJ_DIR); $(AR_CMD) $(ARCHIVE) $(strip $(OBJECTS))
- #	-$(RANLIB) $(OBJ_DIR)/$@
- 
- endif
- 
- # Linking rules
- 
- # There are three cases:
- #
- # - C/C++ sources
- #
- # - Ada/C/C++, main program is in Ada
- #
- # - Ada/C/C++, main program is in C/C++
- 
- ifeq ($(strip $(filter-out c c++,$(LANGUAGES))),)
- # link with C/C++
- ifeq ($(MAIN_OBJECT),)
- link:
- 	@echo link: no main object specified, exiting...
- 	exit 1
- else
- ifeq ($(EXEC),)
- 
- link:
- 	@echo link: no executable specified, exiting...
- 	exit 1
- else
- 
- link: $(EXEC_DIR)/$(EXEC) archive-objects
- $(EXEC_DIR)/$(EXEC): $(OBJECTS)
- 	@$(display) $(LINKER) -o $(EXEC_DIR)/$(EXEC) $(OBJ_DIR)/$(MAIN_OBJECT) $(LDFLAGS) $(FLDFLAGS)
- 	@$(LINKER) -o $(EXEC_DIR)/$(EXEC) $(OBJ_DIR)/$(MAIN_OBJECT) $(LDFLAGS) $(FLDFLAGS)
- endif
- endif
- 
- internal-build: internal-compile link
- 
- else
- ifeq ($(strip $(filter-out c c++ ada,$(LANGUAGES))),)
- # link with Ada/C/C++
- 
- ifeq ($(MAIN),ada)
- # Ada main
- link: $(LINKER) archive-objects force
- 	@$(display) $(GNATMAKE) -b -l -P$(PROJECT_FILE) $(ADA_SOURCES)
- 	@$(GNATMAKE) -b -l -P$(PROJECT_FILE) $(ADA_SOURCES) \
- 		 -largs $(LARGS) $(LDFLAGS)
- 
- internal-build: $(LINKER) archive-objects force
- 	@$(display) $(GNATMAKE) -P$(PROJECT_FILE) $(ADA_SOURCES) $(EXEC_RULE) $(ADAFLAGS)
- 	@$(GNATMAKE) -P$(PROJECT_FILE) $(EXEC_RULE) $(ADA_SOURCES) $(ADAFLAGS) \
- 	 -largs $(LARGS) $(LDFLAGS)
- 
- else
- # C/C++ main
- 
- link: $(LINKER) archive-objects force
- 	@$(display) $(GNATMAKE) $(EXEC_RULE) -B -P$(PROJECT_FILE) $(ADA_SOURCES)
- 	@$(GNATMAKE) $(EXEC_RULE) -B -P$(PROJECT_FILE) $(ADA_SOURCES) \
- 		 -largs $(OBJ_DIR)/$(MAIN_OBJECT) $(LARGS) $(LDFLAGS) $(FLDFLAGS)
- 
- internal-build: $(LINKER) archive-objects force
- 	@$(display) $(GNATMAKE) $(EXEC_RULE) -B -P$(PROJECT_FILE) $(ADA_SOURCES) $(ADAFLAGS)
- 	@$(GNATMAKE) $(EXEC_RULE) \
- 		 -B -P$(PROJECT_FILE) $(ADA_SOURCES) $(ADAFLAGS) \
- 		 -largs $(OBJ_DIR)/$(MAIN_OBJECT) $(LARGS) $(LDFLAGS) $(FLDFLAGS)
- endif
- 
- else
- # unknown set of languages, fail
- link:
- 	@echo do not know how to link with the following languages: $(LANGUAGES)
- 	exit 1
- endif
- endif
- 
- # Automatic handling of dependencies
- 
- ifeq ($(strip $(filter-out %gcc %g++,$(CC) $(CXX))),)
- # Compiler is GCC, take avantage of the preprocessor option -MD and
- # the CPATH environment variable
- 
- empty:=
- space:=$(empty) $(empty)
- path_sep:=$(shell gprcmd path_sep)
- SRC_DIRS_PATH:= $(subst $(space),$(path_sep),$(SRC_DIRS))
- export CPATH:=$(SRC_DIRS_PATH)$(path_sep)$(CPATH)
- 
- DEP_CFLAGS = -Wp,-MD,$(OBJ_DIR)/$(*F).d
- 
- define post-compile
-   @gprcmd deps $(OBJ_EXT) $(OBJ_DIR)/$(*F).d gcc
- endef
- 
- # Default rule to create dummy dependency files the first time
- 
- $(OBJ_DIR)/%.d:
- 	@echo $(*F)$(OBJ_EXT): > $@
- 
- else
- # Compiler unknown, use a more general approach based on the output of $(CC) -M
- 
- ALL_CFLAGS := $(ALL_CFLAGS) $(C_INCLUDES)
- ALL_CXXFLAGS := $(ALL_CXXFLAGS) $(C_INCLUDES)
- 
- DEP_FLAGS  = -M
- DEP_CFLAGS =
- 
- define post-compile
- endef
- 
- $(OBJ_DIR)/%.d: %$(C_EXT)
- 	@$(CC) $(DEP_FLAGS) $(ALL_CFLAGS) $< > $@
- 	@gprcmd deps $(OBJ_EXT) $@
- 
- $(OBJ_DIR)/%.d: %$(CXX_EXT)
- 	@$(CXX) $(DEP_FLAGS) $(ALL_CXXFLAGS) $< > $@
- 	@gprcmd deps $(OBJ_EXT) $@
- endif
- 
- ifneq ($(DEP_FILES),)
- -include $(DEP_FILES)
- endif
- 
- # Compilation rules
- 
- # File rules
- 
- # Compile C files individually
- %$(OBJ_EXT) : %$(C_EXT)
- 	@$(display) $(C_Compiler) -c $(CFLAGS) $< -o $(OBJ_DIR)/$@
- ifndef FAKE_COMPILE
- 	@$(C_Compiler) -c $(ALL_CFLAGS) $< -o $(OBJ_DIR)/$@
- 	@$(post-compile)
- endif
- 
- # Compile C++ files individually
- %$(OBJ_EXT) : %$(CXX_EXT)
- 	@$(display) $(CXX_Compiler) -c $(CXXFLAGS) $< -o $(OBJ_DIR)/$@
- ifndef FAKE_COMPILE
- 	@$(CXX_Compiler) -c $(ALL_CXXFLAGS) $< -o $(OBJ_DIR)/$@
- 	@$(post-compile)
- endif
- 
- # Compile Ada body files individually
- %$(ADA_BODY) : force
- 	$(GNATMAKE) -c -P$(PROJECT_FILE) $@ $(ADAFLAGS)
- 
- # Compile Ada spec files individually
- %$(ADA_SPEC) : force
- 	$(GNATMAKE) -c -P$(PROJECT_FILE) $@ $(ADAFLAGS)
- 
- # Languages rules
- 
- # Compile all Ada files in the project
- internal-ada :
- 	$(GNATMAKE) -c -P$(PROJECT_FILE) $(ADAFLAGS)
- 
- # Compile all C files in the project
- internal-c : $(C_OBJECTS)
- 
- # Compile all C++ files in the project
- internal-c++ : $(CXX_OBJECTS)
- 
- .PHONY: force internal-clean internal-archive internal-build internal-compile internal-ada internal-c internal-c++ build compile clean ada c c++
- 
- internal-clean:
- 	@$(display) $(RM) $(OBJ_DIR)/*$(OBJ_EXT)
- 	@$(RM) $(OBJ_DIR)/*$(OBJ_EXT)
- 	@$(display) $(RM) $(OBJ_DIR)/*.ali
- 	@$(RM) $(OBJ_DIR)/*.ali
- 	@$(display) $(RM) $(OBJ_DIR)/b~*
- 	@$(RM) $(OBJ_DIR)/b~*
- 	@$(display) $(RM) $(OBJ_DIR)/b_*
- 	@$(RM) $(OBJ_DIR)/b_*
- 	@$(display) $(RM) $(OBJ_DIR)/*$(AR_EXT)
- 	@$(RM) $(OBJ_DIR)/*$(AR_EXT)
- 	@$(display) $(RM) $(OBJ_DIR)/*.d
- 	@$(RM) $(OBJ_DIR)/*.d
- ifneq ($(EXEC),)
- 	@$(display) $(RM) $(EXEC_DIR)/$(EXEC)
- 	@$(RM) $(EXEC_DIR)/$(EXEC)
- endif
- 
- force:
- 
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/Makefile.in gcc-4.1.0/gcc/ada/Makefile.in
*** gcc-4.0.2/gcc/ada/Makefile.in	Thu Apr  7 20:03:50 2005
--- gcc-4.1.0/gcc/ada/Makefile.in	Fri Feb 24 03:49:43 2006
***************
*** 15,22 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston, MA 02111-1307, USA.
  
  # The makefile built from this file lives in the language subdirectory.
  # Its purpose is to provide support for:
--- 15,22 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston, MA 02110-1301, USA.
  
  # The makefile built from this file lives in the language subdirectory.
  # Its purpose is to provide support for:
*************** SYSLIBS = @GNAT_LIBEXC@
*** 193,201 ****
  # List of extra object files linked in with various programs.
  EXTRA_GNATTOOLS_OBJS = ../../prefix.o ../../version.o
  
- # List extra gnattools
- EXTRA_GNATTOOLS =
- 
  # List of target dependent sources, overridden below as necessary
  TARGET_ADA_SRCS =
  
--- 193,198 ----
*************** LIBIBERTY = ../../libiberty/libiberty.a
*** 248,254 ****
  # and the system's installed libraries.
  LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS)
  LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY)
! TOOLS_LIBS = $(LIBGNAT) $(EXTRA_GNATTOOLS_OBJS) link.o ../../../libiberty/libiberty.a $(SYSLIBS)
  
  # Specify the directories to be searched for header files.
  # Both . and srcdir are used, in that order,
--- 245,253 ----
  # and the system's installed libraries.
  LIBS = $(LIBINTL) $(LIBIBERTY) $(SYSLIBS)
  LIBDEPS = $(LIBINTL_DEP) $(LIBIBERTY)
! # Default is no TGT_LIB; one might be passed down or something
! TGT_LIB =
! TOOLS_LIBS = $(LIBGNAT) $(EXTRA_GNATTOOLS_OBJS) link.o ../../../libiberty/libiberty.a $(SYSLIBS) $(TGT_LIB)
  
  # Specify the directories to be searched for header files.
  # Both . and srcdir are used, in that order,
*************** s-osprim.adb<s-osprim-posix.adb \
*** 349,354 ****
--- 348,358 ----
  s-taprop.adb<s-taprop-dummy.adb \
  s-taspri.ads<s-taspri-dummy.ads
  
+ # When using the GCC exception handling mechanism, we need to use an
+ # alternate body for a-exexpr.adb (a-exexpr-gcc.adb)
+ 
+ EH_MECHANISM=
+ 
  # Default shared object option. Note that we rely on the fact that the "soname"
  # option will always be present and last in this flag, so that we can have
  # $(SO_OPTS)libgnat-x.xx
*************** LIB_VERSION = $(strip $(shell grep ' Lib
*** 382,493 ****
  # $(strip STRING) removes leading and trailing spaces from STRING.
  # If what's left is null then it's a match.
  
- ifeq ($(strip $(filter-out %86 os2 OS2 os2_emx,$(arch) $(osys))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-excpol.adb<a-excpol-abort.adb \
-   a-intnam.ads<a-intnam-dummy.ads \
-   a-numaux.adb<a-numaux-x86.adb \
-   a-numaux.ads<a-numaux-x86.ads \
-   s-inmaop.adb<s-inmaop-dummy.adb \
-   s-interr.adb<s-interr-dummy.adb \
-   s-intman.adb<s-intman-dummy.adb \
-   s-mastop.adb<s-mastop-x86.adb \
-   s-osinte.adb<s-osinte-os2.adb \
-   s-osinte.ads<s-osinte-os2.ads \
-   s-osprim.adb<s-osprim-os2.adb \
-   s-parame.adb<s-parame-os2.adb \
-   system.ads<system-os2.ads \
-   s-taprop.adb<s-taprop-os2.adb \
-   s-taspri.ads<s-taspri-os2.ads
- 
-   EXTRA_GNATRTL_NONTASKING_OBJS = \
-   i-os2err.o \
-   i-os2lib.o \
-   i-os2syn.o \
-   i-os2thr.o
- endif
- 
- ifeq ($(strip $(filter-out %86 interix%,$(arch) $(osys))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-excpol.adb<a-excpol-interix.adb \
-   a-intnam.ads<a-intnam-interix.ads \
-   a-numaux.adb<a-numaux-x86.adb \
-   a-numaux.ads<a-numaux-x86.ads \
-   g-soccon.ads<g-soccon-interix.ads \
-   s-inmaop.adb<s-inmaop-posix.adb \
-   s-intman.adb<s-intman-posix.adb \
-   s-mastop.adb<s-mastop-x86.adb \
-   s-osinte.adb<s-osinte-fsu.adb \
-   s-osinte.ads<s-osinte-interix.ads \
-   s-osprim.adb<s-osprim-unix.adb \
-   s-taprop.adb<s-taprop-posix.adb \
-   system.ads<system-interix.ads \
-   s-taspri.ads<s-taspri-posix.ads \
-   s-tpopsp.adb<s-tpopsp-posix.adb
- 
-   THREADSLIB = -lgthreads -lmalloc
-   PREFIX_OBJS=$(PREFIX_REAL_OBJS)
- endif
- 
- # sysv5uw is SCO UnixWare 7
- ifeq ($(strip $(filter-out %86 sysv5uw%,$(arch) $(osys))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-excpol.adb<a-excpol-abort.adb \
-   a-intnam.ads<a-intnam-unixware.ads \
-   a-numaux.adb<a-numaux-x86.adb \
-   a-numaux.ads<a-numaux-x86.ads \
-   s-inmaop.adb<s-inmaop-posix.adb \
-   s-intman.adb<s-intman-posix.adb \
-   s-mastop.adb<s-mastop-x86.adb \
-   s-osinte.ads<s-osinte-unixware.ads \
-   s-osinte.adb<s-osinte-unixware.adb \
-   s-osprim.adb<s-osprim-unix.adb \
-   s-taprop.adb<s-taprop-posix.adb \
-   s-taspri.ads<s-taspri-posix.ads \
-   s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
-   system.ads<system-unixware.ads \
-   g-soccon.ads<g-soccon-unixware.ads \
-   g-soliop.ads<g-soliop-unixware.ads
- 
-   THREADSLIB = -lthread
-   PREFIX_OBJS=$(PREFIX_REAL_OBJS)
-   SO_OPTS = -Wl,-h,
-   GNATLIB_SHARED = gnatlib-shared-dual
-   LIBRARY_VERSION := $(LIB_VERSION)
- endif
- 
- ifeq ($(strip $(filter-out alpha% dec vx%,$(targ))),)
-   LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
-   a-intnam.ads<a-intnam-vxworks.ads \
-   a-numaux.ads<a-numaux-vxworks.ads \
-   s-inmaop.adb<s-inmaop-posix.adb \
-   s-interr.adb<s-interr-vxworks.adb \
-   s-intman.ads<s-intman-vxworks.ads \
-   s-intman.adb<s-intman-vxworks.adb \
-   s-osinte.adb<s-osinte-vxworks.adb \
-   s-osinte.ads<s-osinte-vxworks.ads \
-   s-osprim.adb<s-osprim-vxworks.adb \
-   s-parame.ads<s-parame-vxworks.ads \
-   s-stchop.adb<s-stchop-vxworks.adb \
-   s-taprop.adb<s-taprop-vxworks.adb \
-   s-tpopsp.adb<s-tpopsp-vxworks.adb \
-   s-taspri.ads<s-taspri-vxworks.ads \
-   s-vxwork.ads<s-vxwork-alpha.ads \
-   g-soccon.ads<g-soccon-vxworks.ads \
-   g-socthi.ads<g-socthi-vxworks.ads \
-   g-socthi.adb<g-socthi-vxworks.adb \
-   system.ads<system-vxworks-alpha.ads
- 
-   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o
-   EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
- endif
- 
  ifeq ($(strip $(filter-out m68k% wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
--- 386,393 ----
*************** endif
*** 525,551 ****
  
  ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-interr.adb<s-interr-vxworks.adb \
    s-intman.ads<s-intman-vxworks.ads \
    s-intman.adb<s-intman-vxworks.adb \
-   s-osinte.adb<s-osinte-vxworks.adb \
    s-osinte.ads<s-osinte-vxworks.ads \
    s-osprim.adb<s-osprim-vxworks.adb \
    s-parame.ads<s-parame-vxworks.ads \
    s-stchop.adb<s-stchop-vxworks.adb \
    s-taprop.adb<s-taprop-vxworks.adb \
    s-taspri.ads<s-taspri-vxworks.ads \
-   s-tpopsp.adb<s-tpopsp-vxworks.adb \
    s-vxwork.ads<s-vxwork-ppc.ads \
    g-soccon.ads<g-soccon-vxworks.ads \
    g-socthi.ads<g-socthi-vxworks.ads \
!   g-socthi.adb<g-socthi-vxworks.adb \
!   system.ads<system-vxworks-ppc.ads
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb
  
--- 425,446 ----
  
  ifeq ($(strip $(filter-out powerpc% wrs vxworks,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-interr.adb<s-interr-vxworks.adb \
    s-intman.ads<s-intman-vxworks.ads \
    s-intman.adb<s-intman-vxworks.adb \
    s-osinte.ads<s-osinte-vxworks.ads \
    s-osprim.adb<s-osprim-vxworks.adb \
    s-parame.ads<s-parame-vxworks.ads \
    s-stchop.adb<s-stchop-vxworks.adb \
    s-taprop.adb<s-taprop-vxworks.adb \
    s-taspri.ads<s-taspri-vxworks.ads \
    s-vxwork.ads<s-vxwork-ppc.ads \
    g-soccon.ads<g-soccon-vxworks.ads \
    g-socthi.ads<g-socthi-vxworks.ads \
!   g-socthi.adb<g-socthi-vxworks.adb
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb
  
*************** ifeq ($(strip $(filter-out powerpc% wrs 
*** 558,571 ****
      s-tfsetr.adb<s-tfsetr-vxworks.adb 
    endif
  
!   EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
    EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
  endif
  
  ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
--- 453,479 ----
      s-tfsetr.adb<s-tfsetr-vxworks.adb 
    endif
  
!   ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),)
!     LIBGNAT_TARGET_PAIRS += \
!     s-osinte.adb<s-osinte-vxworks-rtp.adb \
!     s-tpopsp.adb<s-tpopsp-vxworks-rtp.adb \
!     system.ads<system-vxworks-ppc-rtp.ads
! 
!     EXTRA_GNATRTL_NONTASKING_OBJS=s-vxwexc.o
!   else
!     LIBGNAT_TARGET_PAIRS += \
!     s-osinte.adb<s-osinte-vxworks.adb \
!     s-tpopsp.adb<s-tpopsp-vxworks.adb \
!     system.ads<system-vxworks-ppc.ads
! 
!     EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-vxwexc.o
!   endif
! 
    EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
  endif
  
  ifeq ($(strip $(filter-out sparc% wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
*************** endif
*** 594,601 ****
  
  ifeq ($(strip $(filter-out %86 wrs vxworks,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    i-vxwork.ads<i-vxwork-x86.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
--- 502,507 ----
*************** ifeq ($(strip $(filter-out %86 wrs vxwor
*** 633,642 ****
    EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
  endif
  
! ifeq ($(strip $(filter-out xscale% coff wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
--- 539,546 ----
    EXTRA_GNATRTL_TASKING_OBJS=s-vxwork.o
  endif
  
! ifeq ($(strip $(filter-out arm% coff wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
*************** ifeq ($(strip $(filter-out xscale% coff 
*** 651,661 ****
    s-taprop.adb<s-taprop-vxworks.adb \
    s-taspri.ads<s-taspri-vxworks.ads \
    s-tpopsp.adb<s-tpopsp-vxworks.adb \
!   s-vxwork.ads<s-vxwork-xscale.ads \
    g-soccon.ads<g-soccon-vxworks.ads \
    g-socthi.ads<g-socthi-vxworks.ads \
    g-socthi.adb<g-socthi-vxworks.adb \
!   system.ads<system-elf-sparc.ads
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb
  
--- 555,565 ----
    s-taprop.adb<s-taprop-vxworks.adb \
    s-taspri.ads<s-taspri-vxworks.ads \
    s-tpopsp.adb<s-tpopsp-vxworks.adb \
!   s-vxwork.ads<s-vxwork-arm.ads \
    g-soccon.ads<g-soccon-vxworks.ads \
    g-socthi.ads<g-socthi-vxworks.ads \
    g-socthi.adb<g-socthi-vxworks.adb \
!   system.ads<system-vxworks-arm.ads
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-vxworks.adb
  
*************** endif
*** 665,672 ****
  
  ifeq ($(strip $(filter-out mips% wrs vx%,$(targ))),)
    LIBGNAT_TARGET_PAIRS = \
-   a-sytaco.ads<a-sytaco-vxworks.ads \
-   a-sytaco.adb<a-sytaco-vxworks.adb \
    a-intnam.ads<a-intnam-vxworks.ads \
    a-numaux.ads<a-numaux-vxworks.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
--- 569,574 ----
*************** ifeq ($(strip $(filter-out sparc sun sol
*** 713,718 ****
--- 615,621 ----
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-solaris.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lposix4 -lthread
    MISCLIB = -lposix4 -lnsl -lsocket
    SO_OPTS = -Wl,-h,
*************** ifeq ($(strip $(filter-out sparc sun sol
*** 721,744 ****
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
  
-   ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),)
-     LIBGNAT_TARGET_PAIRS = \
-     a-intnam.ads<a-intnam-solaris.ads \
-     s-inmaop.adb<s-inmaop-posix.adb \
-     s-intman.adb<s-intman-solaris.adb \
-     s-osinte.adb<s-osinte-fsu.adb \
-     s-osinte.ads<s-osinte-solaris-fsu.ads \
-     s-osprim.adb<s-osprim-solaris.adb \
-     s-taprop.adb<s-taprop-posix.adb \
-     s-taspri.ads<s-taspri-posix.ads \
-     s-tpopsp.adb<s-tpopsp-posix.adb \
-     g-soccon.ads<g-soccon-solaris.ads \
-     g-soliop.ads<g-soliop-solaris.ads \
-     system.ads<system-solaris-sparc.ads
- 
-     THREADSLIB = -lgthreads -lmalloc
-   endif
- 
    ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),)
      LIBGNAT_TARGET_PAIRS = \
      a-intnam.ads<a-intnam-solaris.ads \
--- 624,629 ----
*************** ifeq ($(strip $(filter-out sparc sun sol
*** 771,777 ****
      s-tasinf.ads<s-tasinf-solaris.ads \
      s-taspri.ads<s-taspri-solaris.ads \
      s-tpopsp.adb<s-tpopsp-solaris.adb \
!     g-soccon.ads<g-soccon-solaris.ads \
      g-soliop.ads<g-soliop-solaris.ads \
      system.ads<system-solaris-sparcv9.ads
    endif
--- 656,662 ----
      s-tasinf.ads<s-tasinf-solaris.ads \
      s-taspri.ads<s-taspri-solaris.ads \
      s-tpopsp.adb<s-tpopsp-solaris.adb \
!     g-soccon.ads<g-soccon-solaris-64.ads \
      g-soliop.ads<g-soliop-solaris.ads \
      system.ads<system-solaris-sparcv9.ads
    endif
*************** ifeq ($(strip $(filter-out %86 solaris2%
*** 784,790 ****
    a-intnam.ads<a-intnam-solaris.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-solaris.adb \
-   s-mastop.adb<s-mastop-x86.adb \
    s-osinte.adb<s-osinte-solaris.adb \
    s-osinte.ads<s-osinte-solaris.ads \
    s-osprim.adb<s-osprim-solaris.adb \
--- 669,674 ----
*************** ifeq ($(strip $(filter-out %86 linux%,$(
*** 814,859 ****
    a-intnam.ads<a-intnam-linux.ads \
    a-numaux.adb<a-numaux-x86.adb \
    a-numaux.ads<a-numaux-x86.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
-   s-mastop.adb<s-mastop-x86.adb \
    s-osinte.adb<s-osinte-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-x86.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
- 
-   ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),)
-     LIBGNAT_TARGET_PAIRS = \
-     a-intnam.ads<a-intnam-linux.ads \
-     a-numaux.adb<a-numaux-x86.adb \
-     a-numaux.ads<a-numaux-x86.ads \
-     s-inmaop.adb<s-inmaop-posix.adb \
-     s-intman.adb<s-intman-posix.adb \
-     s-mastop.adb<s-mastop-x86.adb \
-     s-osinte.adb<s-osinte-fsu.adb \
-     s-osinte.ads<s-osinte-linux-fsu.ads \
-     s-osprim.adb<s-osprim-posix.adb \
-     s-taprop.adb<s-taprop-posix.adb \
-     s-taspri.ads<s-taspri-posix.ads \
-     s-tpopsp.adb<s-tpopsp-posix.adb \
-     system.ads<system-linux-x86.ads
- 
-     THREADSLIB = -lgthreads -lmalloc
-   endif
  endif
  
  ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
--- 698,725 ----
    a-intnam.ads<a-intnam-linux.ads \
    a-numaux.adb<a-numaux-x86.adb \
    a-numaux.ads<a-numaux-x86.ads \
+   g-soccon.ads<g-soccon-linux-x86.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
    s-osinte.adb<s-osinte-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-x86.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
  
  ifeq ($(strip $(filter-out %86 freebsd%,$(arch) $(osys))),)
*************** ifeq ($(strip $(filter-out %86 freebsd%,
*** 864,870 ****
    g-soccon.ads<g-soccon-freebsd.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
-   s-mastop.adb<s-mastop-x86.adb \
    s-osinte.adb<s-osinte-freebsd.adb \
    s-osinte.ads<s-osinte-freebsd.ads \
    s-osprim.adb<s-osprim-posix.adb \
--- 730,735 ----
*************** ifeq ($(strip $(filter-out s390% linux%,
*** 893,899 ****
      s-osinte.ads<s-osinte-linux.ads \
      s-osprim.adb<s-osprim-posix.adb \
      s-taprop.adb<s-taprop-linux.adb \
!     s-taspri.ads<s-taspri-linux.ads \
      s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
      s-parame.adb<s-parame-linux.adb \
      system.ads<system-linux-s390x.ads
--- 758,764 ----
      s-osinte.ads<s-osinte-linux.ads \
      s-osprim.adb<s-osprim-posix.adb \
      s-taprop.adb<s-taprop-linux.adb \
!     s-taspri.ads<s-taspri-posix.ads \
      s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
      s-parame.adb<s-parame-linux.adb \
      system.ads<system-linux-s390x.ads
*************** ifeq ($(strip $(filter-out s390% linux%,
*** 906,912 ****
      s-osinte.ads<s-osinte-linux.ads \
      s-osprim.adb<s-osprim-posix.adb \
      s-taprop.adb<s-taprop-linux.adb \
!     s-taspri.ads<s-taspri-linux.ads \
      s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
      s-parame.adb<s-parame-linux.adb \
      system.ads<system-linux-s390.ads
--- 771,777 ----
      s-osinte.ads<s-osinte-linux.ads \
      s-osprim.adb<s-osprim-posix.adb \
      s-taprop.adb<s-taprop-linux.adb \
!     s-taspri.ads<s-taspri-posix.ads \
      s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
      s-parame.adb<s-parame-linux.adb \
      system.ads<system-linux-s390.ads
*************** ifeq ($(strip $(filter-out s390% linux%,
*** 915,920 ****
--- 780,786 ----
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
*************** ifeq ($(strip $(filter-out mips sgi irix
*** 945,970 ****
      GNATLIB_SHARED = gnatlib-shared-default
  
    else
!     LIBGNAT_TARGET_PAIRS = \
!     a-intnam.ads<a-intnam-irix.ads \
!     s-inmaop.adb<s-inmaop-dummy.adb \
!     s-interr.adb<s-interr-sigaction.adb \
!     s-intman.adb<s-intman-irix-athread.adb \
      s-mastop.adb<s-mastop-irix.adb \
-     s-osinte.adb<s-osinte-irix.adb \
-     s-osinte.ads<s-osinte-irix-athread.ads \
      s-osprim.adb<s-osprim-posix.adb \
-     s-proinf.adb<s-proinf-irix-athread.adb \
-     s-proinf.ads<s-proinf-irix-athread.ads \
-     s-taprop.adb<s-taprop-irix-athread.adb \
-     s-tasinf.adb<s-tasinf-irix-athread.adb \
-     s-tasinf.ads<s-tasinf-irix-athread.ads \
-     s-taspri.ads<s-taspri-posix.ads \
      s-traceb.adb<s-traceb-mastop.adb \
      g-soccon.ads<g-soccon-irix.ads \
      system.ads<system-irix-o32.ads
    endif
  
    TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-irix.adb
    TGT_LIB = -lexc
    MISCLIB = -lexc
--- 811,825 ----
      GNATLIB_SHARED = gnatlib-shared-default
  
    else
!     LIBGNAT_TARGET_PAIRS += \
      s-mastop.adb<s-mastop-irix.adb \
      s-osprim.adb<s-osprim-posix.adb \
      s-traceb.adb<s-traceb-mastop.adb \
      g-soccon.ads<g-soccon-irix.ads \
      system.ads<system-irix-o32.ads
    endif
  
+   EH_MECHANISM=-gcc
    TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-irix.adb
    TGT_LIB = -lexc
    MISCLIB = -lexc
*************** ifeq ($(strip $(filter-out hppa% hp hpux
*** 989,994 ****
--- 844,850 ----
    g-soccon.ads<g-soccon-hpux.ads \
    system.ads<system-hpux.ads
  
+   EH_MECHANISM=-gcc
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
  endif
  
*************** ifeq ($(strip $(filter-out hppa% hp hpux
*** 1009,1014 ****
--- 865,871 ----
    system.ads<system-hpux.ads
  
    TOOLS_TARGET_PAIRS = mlib-tgt.adb<mlib-tgt-hpux.adb
+   EH_MECHANISM=-gcc
    TGT_LIB = /usr/lib/libcl.a
    THREADSLIB = -lpthread
    GMEM_LIB = gmemlib
*************** ifeq ($(strip $(filter-out hppa% hp hpux
*** 1017,1043 ****
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
    GNATLIB_SHARED = gnatlib-shared-dual
    LIBRARY_VERSION := $(LIB_VERSION)
- 
-   ifeq ($(strip $(filter-out dce DCE,$(THREAD_KIND))),)
-     LIBGNAT_TARGET_PAIRS = \
-     a-excpol.adb<a-excpol-abort.adb \
-     a-intnam.ads<a-intnam-hpux.ads \
-     s-inmaop.adb<s-inmaop-posix.adb \
-     s-interr.adb<s-interr-sigaction.adb \
-     s-intman.adb<s-intman-posix.adb \
-     s-osinte.adb<s-osinte-hpux-dce.adb \
-     s-osinte.ads<s-osinte-hpux-dce.ads \
-     s-parame.ads<s-parame-hpux.ads \
-     s-osprim.adb<s-osprim-posix.adb \
-     s-taprop.adb<s-taprop-hpux-dce.adb \
-     s-taspri.ads<s-taspri-hpux-dce.ads \
-     s-tpopsp.adb<s-tpopsp-posix.adb \
-     g-soccon.ads<g-soccon-hpux.ads \
-     system.ads<system-hpux.ads
- 
-     TGT_LIB =
-     THREADSLIB = -lcma
-   endif
  endif
  
  ifeq ($(strip $(filter-out ibm aix%,$(manu) $(osys))),)
--- 874,879 ----
*************** ifeq ($(strip $(filter-out ibm aix%,$(ma
*** 1057,1079 ****
    THREADSLIB = -lpthreads
    PREFIX_OBJS=$(PREFIX_REAL_OBJS)
  
-   ifeq ($(strip $(filter-out fsu FSU,$(THREAD_KIND))),)
-     LIBGNAT_TARGET_PAIRS = \
-     a-intnam.ads<a-intnam-aix.ads \
-     s-inmaop.adb<s-inmaop-posix.adb \
-     s-intman.adb<s-intman-posix.adb \
-     s-osinte.adb<s-osinte-fsu.adb \
-     s-osinte.ads<s-osinte-aix-fsu.ads \
-     s-osprim.adb<s-osprim-posix.adb \
-     s-taprop.adb<s-taprop-posix.adb \
-     s-taspri.ads<s-taspri-posix.ads \
-     s-tpopsp.adb<s-tpopsp-posix.adb \
-     g-soccon.ads<g-soccon-aix.ads \
-     system.ads<system-aix.ads
- 
-     THREADSLIB = -lgthreads -lmalloc
-   endif
- 
    TOOLS_TARGET_PAIRS = \
    mlib-tgt.adb<mlib-tgt-aix.adb \
    indepsw.adb<indepsw-aix.adb
--- 893,898 ----
*************** ifeq ($(strip $(filter-out ibm aix%,$(ma
*** 1082,1095 ****
  endif
  
  ifeq ($(strip $(filter-out lynxos,$(osys))),)
!   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-lynxos.adb 
  
    ifeq ($(strip $(filter-out %86 lynxos,$(arch) $(osys))),)
      LIBGNAT_TARGET_PAIRS = \
      a-numaux.adb<a-numaux-x86.adb \
      a-numaux.ads<a-numaux-x86.ads \
      a-intnam.ads<a-intnam-lynxos.ads \
-     s-mastop.adb<s-mastop-x86.adb \
      s-inmaop.adb<s-inmaop-posix.adb \
      s-intman.adb<s-intman-posix.adb \
      s-osinte.adb<s-osinte-lynxos.adb \
--- 901,915 ----
  endif
  
  ifeq ($(strip $(filter-out lynxos,$(osys))),)
!   TOOLS_TARGET_PAIRS = \
!   mlib-tgt.adb<mlib-tgt-lynxos.adb \
!   indepsw.adb<indepsw-gnu.adb
  
    ifeq ($(strip $(filter-out %86 lynxos,$(arch) $(osys))),)
      LIBGNAT_TARGET_PAIRS = \
      a-numaux.adb<a-numaux-x86.adb \
      a-numaux.ads<a-numaux-x86.ads \
      a-intnam.ads<a-intnam-lynxos.ads \
      s-inmaop.adb<s-inmaop-posix.adb \
      s-intman.adb<s-intman-posix.adb \
      s-osinte.adb<s-osinte-lynxos.adb \
*************** ifeq ($(strip $(filter-out lynxos,$(osys
*** 1107,1133 ****
      a-intnam.ads<a-intnam-lynxos.ads \
      s-inmaop.adb<s-inmaop-posix.adb \
      s-intman.adb<s-intman-posix.adb \
!     s-osinte.adb<s-osinte-lynxos-3.adb \
!     s-osinte.ads<s-osinte-lynxos-3.ads \
      s-osprim.adb<s-osprim-posix.adb \
!     s-taprop.adb<s-taprop-posix.adb \
!     s-taspri.ads<s-taspri-posix.ads \
!     s-tpopsp.adb<s-tpopsp-posix.adb \
      system.ads<system-lynxos-ppc.ads
- 
-     ifeq ($(strip $(filter-out pthread PTHREAD,$(THREAD_KIND))),)
-       LIBGNAT_TARGET_PAIRS = \
-       a-intnam.ads<a-intnam-lynxos.ads \
-       s-inmaop.adb<s-inmaop-posix.adb \
-       s-intman.adb<s-intman-posix.adb \
-       s-osinte.adb<s-osinte-lynxos.adb \
-       s-osinte.ads<s-osinte-lynxos.ads \
-       s-osprim.adb<s-osprim-posix.adb \
-       s-taprop.adb<s-taprop-lynxos.adb \
-       s-taspri.ads<s-taspri-lynxos.ads \
-       s-tpopsp.adb<s-tpopsp-lynxos.adb \
-       system.ads<system-lynxos-ppc.ads
-     endif
    endif
  endif
  
--- 927,939 ----
      a-intnam.ads<a-intnam-lynxos.ads \
      s-inmaop.adb<s-inmaop-posix.adb \
      s-intman.adb<s-intman-posix.adb \
!     s-osinte.adb<s-osinte-lynxos.adb \
!     s-osinte.ads<s-osinte-lynxos.ads \
      s-osprim.adb<s-osprim-posix.adb \
!     s-taprop.adb<s-taprop-lynxos.adb \
!     s-taspri.ads<s-taspri-lynxos.ads \
!     s-tpopsp.adb<s-tpopsp-lynxos.adb \
      system.ads<system-lynxos-ppc.ads
    endif
  endif
  
*************** ifeq ($(strip $(filter-out rtems%,$(osys
*** 1142,1147 ****
--- 948,955 ----
    s-parame.adb<s-parame-rtems.adb \
    s-taprop.adb<s-taprop-posix.adb \
    s-taspri.ads<s-taspri-posix.ads \
+   s-auxdec.ads<s-auxdec-empty.ads \
+   s-auxdec.adb<s-auxdec-empty.adb \
    s-tpopsp.adb<s-tpopsp-rtems.adb
  endif
  
*************** ifeq ($(strip $(filter-out alpha% dec os
*** 1164,1169 ****
--- 972,978 ----
  
    TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-tru64.adb
  
+   EH_MECHANISM=-gcc
    GMEM_LIB=gmemlib
    THREADSLIB = -lpthread -lmach -lexc -lrt
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
*************** ifeq ($(strip $(filter-out alpha% dec os
*** 1171,1212 ****
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
  
! ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(host))),)
  
  soext  = .exe
  hyphen = _
  LN = cp -p
  LN_S = cp -p
  
- ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
- AR = iar
- endif
- 
  .SUFFIXES: .sym
  
  .o.sym: 
  	@ gnu:[bin]vmssymvec $<
  endif
  
! ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(targ))),)
  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
    LIBGNAT_TARGET_PAIRS_AUX1 = \
    g-enblsp.adb<g-enblsp-vms-ia64.adb \
    s-auxdec.ads<s-auxdec-vms_64.ads \
!   s-crtl.ads<s-crtl-vms.ads \
    s-osinte.adb<s-osinte-vms-ia64.adb \
    s-osinte.ads<s-osinte-vms-ia64.ads \
    system.ads<system-vms_64.ads
  else
! ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),)
    LIBGNAT_TARGET_PAIRS_AUX1 = \
    g-enblsp.adb<g-enblsp-vms-alpha.adb \
    s-asthan.adb<s-asthan-vms-alpha.adb \
!   s-crtl.ads<s-crtl-vms.ads \
    s-osinte.adb<s-osinte-vms.adb \
    s-osinte.ads<s-osinte-vms.ads \
    s-vaflop.adb<s-vaflop-vms-alpha.adb \
!   system.ads<system-vms-zcx.ads
  endif
  endif
  ifeq ($(strip $(filter-out express EXPRESS,$(THREAD_KIND))),)
--- 980,1021 ----
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
  
! ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(host))),)
  
  soext  = .exe
  hyphen = _
  LN = cp -p
  LN_S = cp -p
  
  .SUFFIXES: .sym
  
  .o.sym: 
  	@ gnu:[bin]vmssymvec $<
  endif
  
! ifeq ($(strip $(filter-out alpha64 ia64 dec hp vms% openvms% alphavms%,$(targ))),)
  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
    LIBGNAT_TARGET_PAIRS_AUX1 = \
    g-enblsp.adb<g-enblsp-vms-ia64.adb \
+   g-trasym.adb<g-trasym-vms-ia64.adb \
    s-auxdec.ads<s-auxdec-vms_64.ads \
!   s-crtl.ads<s-crtl-vms64.ads \
    s-osinte.adb<s-osinte-vms-ia64.adb \
    s-osinte.ads<s-osinte-vms-ia64.ads \
+   s-vaflop.adb<s-vaflop-vms-ia64.adb \
    system.ads<system-vms_64.ads
  else
! ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(targ))),)
    LIBGNAT_TARGET_PAIRS_AUX1 = \
    g-enblsp.adb<g-enblsp-vms-alpha.adb \
+   g-trasym.adb<g-trasym-vms-alpha.adb \
    s-asthan.adb<s-asthan-vms-alpha.adb \
!   s-auxdec.ads<s-auxdec-vms_64.ads \
!   s-crtl.ads<s-crtl-vms64.ads \
    s-osinte.adb<s-osinte-vms.adb \
    s-osinte.ads<s-osinte-vms.ads \
    s-vaflop.adb<s-vaflop-vms-alpha.adb \
!   system.ads<system-vms_64.ads
  endif
  endif
  ifeq ($(strip $(filter-out express EXPRESS,$(THREAD_KIND))),)
*************** endif
*** 1226,1238 ****
    a-intnam.ads<a-intnam-vms.ads \
    a-numaux.ads<a-numaux-vms.ads \
    g-expect.adb<g-expect-vms.adb \
!   g-soccon.ads<g-soccon-vms.adb \
    g-socthi.ads<g-socthi-vms.ads \
    g-socthi.adb<g-socthi-vms.adb \
-   g-trasym.adb<g-trasym-vms.adb \
    i-cstrea.adb<i-cstrea-vms.adb \
-   i-cpp.adb<i-cpp-vms.adb \
-   interfac.ads<interfac-vms.ads \
    s-inmaop.adb<s-inmaop-vms.adb \
    s-interr.adb<s-interr-vms.adb \
    s-intman.adb<s-intman-vms.adb \
--- 1035,1044 ----
    a-intnam.ads<a-intnam-vms.ads \
    a-numaux.ads<a-numaux-vms.ads \
    g-expect.adb<g-expect-vms.adb \
!   g-soccon.ads<g-soccon-vms.ads \
    g-socthi.ads<g-socthi-vms.ads \
    g-socthi.adb<g-socthi-vms.adb \
    i-cstrea.adb<i-cstrea-vms.adb \
    s-inmaop.adb<s-inmaop-vms.adb \
    s-interr.adb<s-interr-vms.adb \
    s-intman.adb<s-intman-vms.adb \
*************** endif
*** 1252,1273 ****
  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
    TOOLS_TARGET_PAIRS= \
    mlib-tgt.adb<mlib-tgt-vms-ia64.adb \
!   symbols.adb<symbols-vms-ia64.adb
  else
    TOOLS_TARGET_PAIRS= \
    mlib-tgt.adb<mlib-tgt-vms-alpha.adb \
!   symbols.adb<symbols-vms-alpha.adb
  endif
  
    GNATLIB_SHARED=gnatlib-shared-vms
! ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),)
    EXTRA_LIBGNAT_SRCS=vmshandler.asm
    EXTRA_LIBGNAT_OBJS=vmshandler.o
  endif
    EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o
    EXTRA_GNATTOOLS = \
!      ../../gnatlbr$(exeext) \
!      ../../gnatsym$(exeext)
    # This command transforms (YYYYMMDD) into YY,MMDD
    GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\)/\2,\3/')
    TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe
--- 1058,1084 ----
  ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
    TOOLS_TARGET_PAIRS= \
    mlib-tgt.adb<mlib-tgt-vms-ia64.adb \
!   symbols.adb<symbols-vms.adb \
!   symbols-processing.adb<symbols-processing-vms-ia64.adb
  else
    TOOLS_TARGET_PAIRS= \
    mlib-tgt.adb<mlib-tgt-vms-alpha.adb \
!   symbols.adb<symbols-vms.adb \
!   symbols-processing.adb<symbols-processing-vms-alpha.adb
  endif
  
+   EH_MECHANISM=-gcc
    GNATLIB_SHARED=gnatlib-shared-vms
! ifeq ($(strip $(filter-out alpha64 dec vms% openvms% alphavms%,$(targ))),)
    EXTRA_LIBGNAT_SRCS=vmshandler.asm
    EXTRA_LIBGNAT_OBJS=vmshandler.o
  endif
    EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o
    EXTRA_GNATTOOLS = \
!      ../../gnatlbr$(exeext)  \
!      ../../gnatsym$(exeext)  \
!      ../../vms_help$(exeext) \
!      ../../gnat.hlp
    # This command transforms (YYYYMMDD) into YY,MMDD
    GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\)/\2,\3/')
    TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe
*************** ifeq ($(strip $(filter-out cygwin32% min
*** 1286,1292 ****
    s-inmaop.adb<s-inmaop-dummy.adb \
    s-interr.adb<s-interr-sigaction.adb \
    s-intman.adb<s-intman-mingw.adb \
-   s-mastop.adb<s-mastop-x86.adb \
    s-memory.adb<s-memory-mingw.adb \
    s-osinte.ads<s-osinte-mingw.ads \
    s-osprim.adb<s-osprim-mingw.adb \
--- 1097,1102 ----
*************** ifeq ($(strip $(filter-out cygwin32% min
*** 1303,1308 ****
--- 1113,1119 ----
    mlib-tgt.adb<mlib-tgt-mingw.adb \
    indepsw.adb<indepsw-mingw.adb
  
+   EH_MECHANISM=-gcc
    MISCLIB = -lwsock32
    GMEM_LIB = gmemlib
    PREFIX_OBJS = $(PREFIX_REAL_OBJS)
*************** endif
*** 1319,1339 ****
  ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-linux.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
    s-osinte.adb<s-osinte-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-ppc.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
--- 1130,1152 ----
  ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-linux.ads \
+   g-soccon.ads<g-soccon-linux-ppc.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
    s-osinte.adb<s-osinte-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-ppc.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
*************** ifeq ($(strip $(filter-out sparc% linux%
*** 1350,1364 ****
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-sparc.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
--- 1163,1178 ----
    s-osinte.ads<s-osinte-linux.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-sparc.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
*************** ifeq ($(strip $(filter-out hppa% linux%,
*** 1375,1389 ****
    s-osinte.ads<s-osinte-linux-hppa.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-hppa.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
--- 1189,1204 ----
    s-osinte.ads<s-osinte-linux-hppa.ads \
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
    s-parame.adb<s-parame-linux.adb \
    system.ads<system-linux-hppa.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    THREADSLIB = -lpthread
    GNATLIB_SHARED = gnatlib-shared-dual
    GMEM_LIB = gmemlib
*************** ifeq ($(strip $(filter-out %ia64 linux%,
*** 1395,1400 ****
--- 1210,1216 ----
    LIBGNAT_TARGET_PAIRS = \
    a-intnam.ads<a-intnam-linux.ads \
    a-numaux.ads<a-numaux-libc-x86.ads \
+   g-soccon.ads<g-soccon-linux-64.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
*************** ifeq ($(strip $(filter-out %ia64 linux%,
*** 1402,1417 ****
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    system.ads<system-linux-ia64.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    MISCLIB=
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
    PREFIX_OBJS=$(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
--- 1218,1235 ----
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    system.ads<system-linux-ia64.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    MISCLIB=
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
+   GMEM_LIB = gmemlib
    PREFIX_OBJS=$(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
  endif
*************** ifeq ($(strip $(filter-out alpha% linux%
*** 1426,1438 ****
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    system.ads<system-linux-alpha.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-linux.adb
  
    MISCLIB=
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
--- 1244,1257 ----
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    system.ads<system-linux-alpha.ads
  
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
  
+   EH_MECHANISM=-gcc
    MISCLIB=
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
*************** ifeq ($(strip $(filter-out %x86_64 linux
*** 1445,1450 ****
--- 1264,1270 ----
    a-intnam.ads<a-intnam-linux.ads \
    a-numaux.adb<a-numaux-x86.adb \
    a-numaux.ads<a-numaux-x86.ads \
+   g-soccon.ads<g-soccon-linux-64.ads \
    s-inmaop.adb<s-inmaop-posix.adb \
    s-intman.adb<s-intman-posix.adb \
    s-osinte.ads<s-osinte-linux.ads \
*************** ifeq ($(strip $(filter-out %x86_64 linux
*** 1452,1461 ****
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-linux.ads \
    system.ads<system-linux-x86_64.ads
  
!   TOOLS_TARGET_PAIRS=mlib-tgt.adb<mlib-tgt-linux.adb
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
    GMEM_LIB = gmemlib
--- 1272,1285 ----
    s-osprim.adb<s-osprim-posix.adb \
    s-taprop.adb<s-taprop-linux.adb \
    s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
!   s-taspri.ads<s-taspri-posix.ads \
    system.ads<system-linux-x86_64.ads
  
!   TOOLS_TARGET_PAIRS =  \
!     mlib-tgt.adb<mlib-tgt-linux.adb \
!     indepsw.adb<indepsw-gnu.adb
! 
!   EH_MECHANISM=-gcc
    THREADSLIB=-lpthread
    GNATLIB_SHARED=gnatlib-shared-dual
    GMEM_LIB = gmemlib
*************** ifeq ($(strip $(filter-out powerpc darwi
*** 1482,1496 ****
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-darwin.adb
  
    GNATLIB_SHARED = gnatlib-shared-darwin
!   SO_OPTS = -Wl,-flat_namespace
    RANLIB = ranlib -c
    GMEM_LIB = gmemlib
! 
    LIBRARY_VERSION := $(LIB_VERSION)
    soext = .dylib
  endif
  
  # The runtime library for gnat comprises two directories.  One contains the
  # Ada source files that the compiler (gnat1) needs -- these files are listed
  # by ADA_INCLUDE_SRCS -- and the other contains the object files and their
--- 1306,1327 ----
    TOOLS_TARGET_PAIRS =  \
      mlib-tgt.adb<mlib-tgt-darwin.adb
  
+   EH_MECHANISM=-gcc
    GNATLIB_SHARED = gnatlib-shared-darwin
!   SO_OPTS = -Wl,-flat_namespace -shared-libgcc
    RANLIB = ranlib -c
    GMEM_LIB = gmemlib
!   PREFIX_OBJS=$(PREFIX_REAL_OBJS)
    LIBRARY_VERSION := $(LIB_VERSION)
    soext = .dylib
  endif
  
+ ifneq ($(EH_MECHANISM),)
+   LIBGNAT_TARGET_PAIRS += a-exexpr.adb<a-exexpr$(EH_MECHANISM).adb
+   EXTRA_LIBGNAT_SRCS+=raise$(EH_MECHANISM).c
+   EXTRA_LIBGNAT_OBJS+=raise$(EH_MECHANISM).o
+ endif
+ 
  # The runtime library for gnat comprises two directories.  One contains the
  # Ada source files that the compiler (gnat1) needs -- these files are listed
  # by ADA_INCLUDE_SRCS -- and the other contains the object files and their
*************** endif
*** 1502,1514 ****
  # subdirectory and copied.
  LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \
    errno.c exit.c cal.c ctrl_c.c \
!   raise.h raise.c sysdep.c aux-io.c init.c seh_init.c \
    final.c tracebak.c tb-alvms.c tb-alvxw.c expect.c mkdir.c socket.c gsocket.h \
    $(EXTRA_LIBGNAT_SRCS)
  
  LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o ctrl_c.o errno.o exit.o \
!   raise.o sysdep.o aux-io.o init.o seh_init.o cal.o final.o \
!   tracebak.o expect.o mkdir.o socket.o $(EXTRA_LIBGNAT_OBJS)
  
  # NOTE ??? - when the -I option for compiling Ada code is made to work,
  #  the library installation will change and there will be a
--- 1333,1345 ----
  # subdirectory and copied.
  LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \
    errno.c exit.c cal.c ctrl_c.c \
!   raise.h raise.c sysdep.c aux-io.c init.c initialize.c seh_init.c \
    final.c tracebak.c tb-alvms.c tb-alvxw.c expect.c mkdir.c socket.c gsocket.h \
    $(EXTRA_LIBGNAT_SRCS)
  
  LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o ctrl_c.o errno.o exit.o \
!   raise.o sysdep.o aux-io.o init.o initialize.o seh_init.o cal.o \
!   final.o tracebak.o expect.o mkdir.o socket.o $(EXTRA_LIBGNAT_OBJS)
  
  # NOTE ??? - when the -I option for compiling Ada code is made to work,
  #  the library installation will change and there will be a
*************** GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS
*** 1528,1571 ****
  ADA_INCLUDE_SRCS =\
   ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \
   machcode.ads text_io.ads unchconv.ads unchdeal.ads \
!  sequenio.ads system.ads Makefile.adalib memtrack.adb \
!  a-*.adb a-*.ads g-*.ad? i-*.ad? \
!  s-[a-o]*.adb s-[p-z]*.adb \
!  s-[a-o]*.ads s-[p-z]*.ads
  
  LIBGNAT=../rts/libgnat.a 
! TOOLS_FLAGS_TO_PASS=		\
!         "CC=$(CC)" 		\
!         "CFLAGS=$(CFLAGS)"	\
! 	"LDFLAGS=$(LDFLAGS)"	\
!         "ADAFLAGS=$(ADAFLAGS)"	\
!         "INCLUDES=$(INCLUDES_FOR_SUBDIR)"\
! 	"ADA_INCLUDES=$(ADA_INCLUDES) $(ADA_INCLUDES_FOR_SUBDIR)"\
! 	"libsubdir=$(libsubdir)"	\
! 	"exeext=$(exeext)"	\
! 	"fsrcdir=$(fsrcdir)"	\
! 	"srcdir=$(fsrcdir)"	\
!         "TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)"	\
! 	"GNATMAKE=$(GNATMAKE)"	\
! 	"GNATLINK=$(GNATLINK)"	\
! 	"GNATBIND=$(GNATBIND)"
! 
! GCC_LINK="$(CC) -static-libgcc $(ADA_INCLUDES)"
! 
! # Build directory for the tools. Let's copy the target-dependent
! # sources using the same mechanism as for gnatlib. The other sources are 
! # accessed using the vpath directive below
! 
! ../stamp-tools:
! 	-$(RM) tools/*
! 	-$(RMDIR) tools
! 	-$(MKDIR) tools
! 	-(cd tools; $(LN_S) ../sdefault.adb .)
! 	-$(foreach PAIR,$(TOOLS_TARGET_PAIRS), \
! 	          $(RM) tools/$(word 1,$(subst <, ,$(PAIR)));\
! 	          $(LN_S) $(fsrcdir)/$(word 2,$(subst <, ,$(PAIR))) \
! 	                tools/$(word 1,$(subst <, ,$(PAIR)));)
! 	touch ../stamp-tools
  
  # when compiling the tools, the runtime has to be first on the path so that
  # it hides the runtime files lying with the rest of the sources
--- 1359,1370 ----
  ADA_INCLUDE_SRCS =\
   ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \
   machcode.ads text_io.ads unchconv.ads unchdeal.ads \
!  sequenio.ads system.ads memtrack.adb \
!  a-[a-o]*.adb a-[p-z]*.adb a-[a-o]*.ads a-[p-z]*.ads g-*.ad? i-*.ad? \
!  s-[a-o]*.adb s-[p-z]*.adb s-[a-o]*.ads s-[p-z]*.ads  
  
  LIBGNAT=../rts/libgnat.a 
! GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES)
  
  # when compiling the tools, the runtime has to be first on the path so that
  # it hides the runtime files lying with the rest of the sources
*************** ifeq ($(TOOLSCASE),cross)
*** 1585,1710 ****
    vpath %.h   ../
  endif
  
- # gnatmake/link tools cannot always be built with gnatmake/link for bootstrap 
- # reasons: gnatmake should be built with a recent compiler, a recent compiler
- # may not generate ALI files compatible with an old gnatmake so it is important
- # to be able to build gnatmake without a version of gnatmake around. Once 
- # everything has been compiled once, gnatmake can be recompiled with itself 
- # (see target gnattools1-re) 
- gnattools1: ../stamp-tools ../stamp-gnatlib
- 	$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
- 	  TOOLSCASE=native \
- 	  ../../gnatmake$(exeext) ../../gnatlink$(exeext) ../../gnatbl$(exeext)
- 
- # gnatmake/link can be built with recent gnatmake/link if they are available.
- # This is especially convenient for building cross tools or for rebuilding
- # the tools when the original bootstrap has already be done.
- gnattools1-re: ../stamp-tools
- 	$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
- 	  TOOLSCASE=cross INCLUDES="" gnatmake-re gnatlink-re
- 
- # these tools are built with gnatmake & are common to native and cross
- gnattools2: ../stamp-tools
- 	$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
- 	  TOOLSCASE=native \
- 	  ../../gnatchop$(exeext) ../../gnat$(exeext) ../../gnatkr$(exeext) \
- 	  ../../gnatls$(exeext) ../../gnatprep$(exeext) \
- 	  ../../gnatxref$(exeext) \
- 	  ../../gnatfind$(exeext) ../../gnatname$(exeext) \
- 	  ../../gnatclean$(exeext) ../../gprmake$(exeext)
- 
- # These tools are only built for the native version.
- gnattools3: ../stamp-tools
- ifneq ($(EXTRA_GNATTOOLS),)
- 	$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
- 	  TOOLSCASE=native top_builddir=../../.. $(EXTRA_GNATTOOLS)
- endif
- 
- # those tools are only built for the cross version
- gnattools4: ../stamp-tools
- 	$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
- 	  TOOLSCASE=cross top_buildir=../../.. \
-            ../../vxaddr2line$(exeext)
  
! ../../gnatchop$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop 
! 	$(GNATLINK) -v gnatchop -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnat$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd 
! 	$(GNATLINK) -v gnatcmd -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatkr$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr 
! 	$(GNATLINK) -v gnatkr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatls$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls 
! 	$(GNATLINK) -v gnatls -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatname$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname 
! 	$(GNATLINK) -v gnatname -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gprmake$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
! 	$(GNATLINK) -v gprmake -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatprep$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep 
! 	$(GNATLINK) -v gnatprep -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatxref$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref 
! 	$(GNATLINK) -v gnatxref -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatfind$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind 
! 	$(GNATLINK) -v gnatfind -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatclean$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
! 	$(GNATLINK) -v gnatclean -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatsym$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
! 	$(GNATLINK) -v gnatsym -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../gnatdll$(exeext): ../stamp-tools
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
! 	$(GNATLINK) -v gnatdll -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
! ../../vxaddr2line$(exeext): ../stamp-tools
  	$(GNATMAKE) -c  $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line 
! 	$(GNATLINK) -v vxaddr2line -o $@ --GCC=$(GCC_LINK) $(CLIB)
  
! gnatmake-re: ../stamp-tools link.o
  	$(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake 
  	$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
! 		--GCC=$(GCC_LINK) $(TOOLS_LIBS)
  
  # Note the use of the "mv" command in order to allow gnatlink to be linked with
  # with the former version of gnatlink itself which cannot override itself.
! gnatlink-re: ../stamp-tools link.o
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink 
  	$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
! 		    --GCC=$(GCC_LINK) $(TOOLS_LIBS)
  	$(MV)  ../../gnatlinknew$(exeext)  ../../gnatlink$(exeext)
    
  # Needs to be built with CC=gcc
--- 1384,1469 ----
    vpath %.h   ../
  endif
  
  
! ../../gnatchop$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop 
! 	$(GNATLINK) -v gnatchop -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnat$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd 
! 	$(GNATLINK) -v gnatcmd -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatkr$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr 
! 	$(GNATLINK) -v gnatkr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatls$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls 
! 	$(GNATLINK) -v gnatls -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatname$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname 
! 	$(GNATLINK) -v gnatname -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gprmake$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
! 	$(GNATLINK) -v gprmake -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatprep$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep 
! 	$(GNATLINK) -v gnatprep -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatxref$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref 
! 	$(GNATLINK) -v gnatxref -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatfind$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind 
! 	$(GNATLINK) -v gnatfind -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatclean$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
! 	$(GNATLINK) -v gnatclean -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatsym$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
! 	$(GNATLINK) -v gnatsym -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../gnatdll$(exeext): 
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
! 	$(GNATLINK) -v gnatdll -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
! ../../vxaddr2line$(exeext): 
  	$(GNATMAKE) -c  $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line 
! 	$(GNATLINK) -v vxaddr2line -o $@ --GCC="$(GCC_LINK)" $(CLIB)
  
! gnatmake-re:  link.o
  	$(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake 
  	$(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
! 		--GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  
  # Note the use of the "mv" command in order to allow gnatlink to be linked with
  # with the former version of gnatlink itself which cannot override itself.
! gnatlink-re:  link.o
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink 
  	$(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
! 		    --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
  	$(MV)  ../../gnatlinknew$(exeext)  ../../gnatlink$(exeext)
    
  # Needs to be built with CC=gcc
*************** gnatlink-re: ../stamp-tools link.o
*** 1713,1727 ****
  
  # Likewise for the tools
  ../../gnatmake$(exeext): $(P) b_gnatm.o link.o $(GNATMAKE_OBJS)
! 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
! 	      $(TOOLS_LIBS)
  
  ../../gnatlink$(exeext): $(P) b_gnatl.o link.o $(GNATLINK_OBJS)
! 	$(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
! 	      $(TOOLS_LIBS)
  
  ../../gnatbl$(exeext): gnatbl.o
! 	$(CC) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
  
  gnatbl.o: gnatbl.c adaint.h
  	$(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION)
--- 1472,1486 ----
  
  # Likewise for the tools
  ../../gnatmake$(exeext): $(P) b_gnatm.o link.o $(GNATMAKE_OBJS)
! 	$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatm.o $(GNATMAKE_OBJS) \
! 		    $(TOOLS_LIBS)
  
  ../../gnatlink$(exeext): $(P) b_gnatl.o link.o $(GNATLINK_OBJS)
! 	$(GCC_LINK) $(ALL_CFLAGS) $(LDFLAGS) -o $@ b_gnatl.o $(GNATLINK_OBJS) \
! 		    $(TOOLS_LIBS)
  
  ../../gnatbl$(exeext): gnatbl.o
! 	$(GCC_LINK) -o $@ $(ALL_CFLAGS) $(LDFLAGS) gnatbl.o $(TOOLS_LIBS)
  
  gnatbl.o: gnatbl.c adaint.h
  	$(CC) $(ALL_CFLAGS) $(INCLUDES) -c $< $(OUTPUT_OPTION)
*************** install-gnatlib: ../stamp-gnatlib
*** 1751,1757 ****
  	-$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
  	-cd rts; for file in *$(arext);do \
  	    $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
! 	    $(RANLIB) $(RANLIB_FLAGS) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
  	done
  	-$(foreach file, $(EXTRA_ADALIB_FILES), \
  	    $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
--- 1510,1516 ----
  	-$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
  	-cd rts; for file in *$(arext);do \
  	    $(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
! 	    $(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
  	done
  	-$(foreach file, $(EXTRA_ADALIB_FILES), \
  	    $(INSTALL_DATA_DATE) rts/$(file) $(DESTDIR)$(ADA_RTL_OBJ_DIR) && \
*************** install-gnatlib: ../stamp-gnatlib
*** 1824,1836 ****
  # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS)
  # is guaranteed to overflow the buffer.
  
  gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2
! 	$(MAKE) -C rts CC="../../xgcc -B../../" \
  	        INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
                  CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
  		srcdir=$(fsrcdir) \
  	        -f ../Makefile $(LIBGNAT_OBJS)
! 	$(MAKE) -C rts CC="../../xgcc -B../../" \
  	        ADA_INCLUDES="" \
                  CFLAGS="$(GNATLIBCFLAGS)" \
  	        ADAFLAGS="$(GNATLIBFLAGS)" \
--- 1583,1604 ----
  # Example: cd rts; ar rc libfoo.a $(LONG_LIST_OF_OBJS)
  # is guaranteed to overflow the buffer.
  
+ # ??? GCC_FOR_TARGET is supposed to be passed from the top level
+ # Makefile, but this is not the case from e.g. libada, so provide a suitable
+ # default
+ GCC_FOR_TARGET=./xgcc -B./ $(FLAGS_FOR_TARGET)
+ 
  gnatlib: ../stamp-gnatlib1 ../stamp-gnatlib2
! 	$(MAKE) -C rts \
! 		CC="`echo \"$(GCC_FOR_TARGET)\" \
! 		| sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
  	        INCLUDES="$(INCLUDES_FOR_SUBDIR) -I./../.." \
                  CFLAGS="$(GNATLIBCFLAGS_FOR_C)" \
  		srcdir=$(fsrcdir) \
  	        -f ../Makefile $(LIBGNAT_OBJS)
! 	$(MAKE) -C rts \
! 		CC="`echo \"$(GCC_FOR_TARGET)\" \
! 		| sed -e 's,^\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'`" \
  	        ADA_INCLUDES="" \
                  CFLAGS="$(GNATLIBCFLAGS)" \
  	        ADAFLAGS="$(GNATLIBFLAGS)" \
*************** gnatlib: ../stamp-gnatlib1 ../stamp-gnat
*** 1838,1855 ****
  	        -f ../Makefile \
  	        $(GNATRTL_OBJS)
  	$(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
! 	$(AR) $(AR_FLAGS) rts/libgnat$(arext) \
  	   $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
          ifneq ($(PREFIX_OBJS),)
! 		$(AR) $(AR_FLAGS) rts/libgccprefix$(arext) $(PREFIX_OBJS);
          endif
! 	-$(RANLIB) $(RANLIB_FLAGS) rts/libgnat$(arext)
! 	$(AR) $(AR_FLAGS) rts/libgnarl$(arext) \
  	   $(addprefix rts/,$(GNATRTL_TASKING_OBJS))
! 	-$(RANLIB) $(RANLIB_FLAGS) rts/libgnarl$(arext)
          ifeq ($(GMEM_LIB),gmemlib)
! 		$(AR) $(AR_FLAGS) rts/libgmem$(arext) rts/memtrack.o
! 		-$(RANLIB) $(RANLIB_FLAGS) rts/libgmem$(arext)
          endif
  	$(CHMOD) a-wx rts/*.ali
  	touch ../stamp-gnatlib
--- 1606,1626 ----
  	        -f ../Makefile \
  	        $(GNATRTL_OBJS)
  	$(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
! 	$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \
  	   $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
          ifneq ($(PREFIX_OBJS),)
! 		$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \
! 		  $(PREFIX_OBJS);
! 		$(RANLIB_FOR_TARGET) rts/libgccprefix$(arext)
          endif
! 	$(RANLIB_FOR_TARGET) rts/libgnat$(arext)
! 	$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnarl$(arext) \
  	   $(addprefix rts/,$(GNATRTL_TASKING_OBJS))
! 	$(RANLIB_FOR_TARGET) rts/libgnarl$(arext)
          ifeq ($(GMEM_LIB),gmemlib)
! 		$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgmem$(arext) \
! 		  rts/memtrack.o
! 		$(RANLIB_FOR_TARGET) rts/libgmem$(arext)
          endif
  	$(CHMOD) a-wx rts/*.ali
  	touch ../stamp-gnatlib
*************** gnatlib-shared-default:
*** 1862,1873 ****
  	     THREAD_KIND="$(THREAD_KIND)" \
               gnatlib
  	$(RM) rts/libgna*$(soext)
! 	cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
  		-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
  		$(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(MISCLIB) -lm
! 	cd rts; ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \
  		-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(GNATRTL_TASKING_OBJS) \
  		$(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
--- 1633,1646 ----
  	     THREAD_KIND="$(THREAD_KIND)" \
               gnatlib
  	$(RM) rts/libgna*$(soext)
! 	cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
! 		$(TARGET_LIBGCC2_CFLAGS) \
  		-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
  		$(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(MISCLIB) -lm
! 	cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
! 		$(TARGET_LIBGCC2_CFLAGS) \
  		-o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
  		$(GNATRTL_TASKING_OBJS) \
  		$(SO_OPTS)libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \
*************** gnatlib-shared:
*** 1988,1994 ****
  	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
               $(GNATLIB_SHARED)
  
! gnatlib-sjlj: ../stamp-gnatlib1
  	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := False;/' rts/system.ads > rts/s.ads
  	$(MV) rts/s.ads rts/system.ads
  	$(MAKE) $(FLAGS_TO_PASS) \
--- 1761,1768 ----
  	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" \
               $(GNATLIB_SHARED)
  
! gnatlib-sjlj:
! 	$(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="" ../stamp-gnatlib1
  	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := False;/' rts/system.ads > rts/s.ads
  	$(MV) rts/s.ads rts/system.ads
  	$(MAKE) $(FLAGS_TO_PASS) \
*************** gnatlib-sjlj: ../stamp-gnatlib1
*** 1997,2003 ****
  	     THREAD_KIND="$(THREAD_KIND)" \
  	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib
  
! gnatlib-zcx: ../stamp-gnatlib1
  	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := True;/' rts/system.ads > rts/s.ads
  	$(MV) rts/s.ads rts/system.ads
  	$(MAKE) $(FLAGS_TO_PASS) \
--- 1771,1778 ----
  	     THREAD_KIND="$(THREAD_KIND)" \
  	     TARGET_LIBGCC2_CFLAGS="$(TARGET_LIBGCC2_CFLAGS)" gnatlib
  
! gnatlib-zcx:
! 	$(MAKE) $(FLAGS_TO_PASS) EH_MECHANISM="-gcc" ../stamp-gnatlib1
  	sed -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := True;/' rts/system.ads > rts/s.ads
  	$(MV) rts/s.ads rts/system.ads
  	$(MAKE) $(FLAGS_TO_PASS) \
*************** adadecode.o : adadecode.c adadecode.h
*** 2072,2111 ****
  aux-io.o  : aux-io.c
  argv.o    : argv.c
  cal.o     : cal.c
! deftarg.o  : deftarg.c
  errno.o   : errno.c
! exit.o    : raise.h exit.c
  expect.o  : expect.c
! final.o   : raise.h final.c
  gmem.o    : gmem.c
  link.o    : link.c
  mkdir.o   : mkdir.c
  socket.o  : socket.c gsocket.h
  sysdep.o  : sysdep.c
  
  gen-soccon: gen-soccon.c gsocket.h
! 	$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
! 		$(ALL_CPPFLAGS) $(INCLUDES) -DTARGET=\"$(target_alias)\" \
  		$< $(OUTPUT_OPTION)
  
  cio.o     : cio.c
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  init.o    : init.c ada.h types.h raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  # No optimization to compile this file as optimizations (-O1 or above) breaks
  # the SEH handling on Windows. The reasons are not clear.
  seh_init.o : seh_init.c raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) -O0 \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
- raise.o   : raise.c raise.h
- 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
- 		 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
- 
  # Need to keep the frame pointer in this file to pop the stack properly on
  # some targets.
  tracebak.o  : tracebak.c tb-alvms.c tb-alvxw.c
--- 1847,1888 ----
  aux-io.o  : aux-io.c
  argv.o    : argv.c
  cal.o     : cal.c
! deftarg.o : deftarg.c
  errno.o   : errno.c
! exit.o    : adaint.h exit.c
  expect.o  : expect.c
! final.o   : final.c
  gmem.o    : gmem.c
  link.o    : link.c
  mkdir.o   : mkdir.c
  socket.o  : socket.c gsocket.h
  sysdep.o  : sysdep.c
+ raise-gcc.o : raise-gcc.c raise.h
+ raise.o   : raise.c raise.h
  
  gen-soccon: gen-soccon.c gsocket.h
! 	$(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
! 		-UIN_GCC -DTARGET=\"$(target_alias)\" \
  		$< $(OUTPUT_OPTION)
  
  cio.o     : cio.c
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  init.o    : init.c ada.h types.h raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
! 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
! 
! initialize.o : initialize.c
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  # No optimization to compile this file as optimizations (-O1 or above) breaks
  # the SEH handling on Windows. The reasons are not clear.
  seh_init.o : seh_init.c raise.h
! 	$(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) -O0 \
  	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
  
  # Need to keep the frame pointer in this file to pop the stack properly on
  # some targets.
  tracebak.o  : tracebak.c tb-alvms.c tb-alvxw.c
*************** tracebak.o  : tracebak.c tb-alvms.c tb-a
*** 2118,2126 ****
  
  force:
  
! # Gnatlbr is only used on VMS
  
  ../../gnatlbr$(exeext): ../../prefix.o
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr
! 	$(GNATLINK) -v gnatlbr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
--- 1895,1912 ----
  
  force:
  
! # Gnatlbr, Vms_help, and Gnat.hlp are only used on VMS
  
  ../../gnatlbr$(exeext): ../../prefix.o
  	$(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)"
  	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr
! 	$(GNATLINK) -v gnatlbr -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
! 
! ../../vms_help$(exeext):
! 	$(GNATMAKE) -c $(ADA_INCLUDES) vms_help --GCC="$(CC) $(ALL_ADAFLAGS)"
! 	$(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vms_help
! 	$(GNATLINK) -v vms_help -o $@ --GCC="$(GCC_LINK)" $(TOOLS_LIBS)
! 
! ../../gnat.hlp: ../../vms_help$(exeext)
! 	../../vms_help$(exeext) $(fsrcdir)/gnat.help_in \
! 	                        $(fsrcdir)/vms_data.ads ../../gnat.hlp
diff -Nrcpad gcc-4.0.2/gcc/ada/Makefile.prolog gcc-4.1.0/gcc/ada/Makefile.prolog
*** gcc-4.0.2/gcc/ada/Makefile.prolog	Wed Feb 18 11:52:55 2004
--- gcc-4.1.0/gcc/ada/Makefile.prolog	Thu Jan  1 00:00:00 1970
***************
*** 1,67 ****
- # Makefile included at the beginning of the makefiles generated by gpr2make
- # to support compilation for multiple languages.
- # See also Makefile.generic
- #
- #   Copyright (C) 2001-2004 Free Software Foundation, Inc.
- 
- # This file is part of GCC.
- 
- # GCC is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2, or (at your option)
- # any later version.
- 
- # GCC is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- # GNU General Public License for more details.
- 
- # You should have received a copy of the GNU General Public License
- # along with GCC; see the file COPYING.  If not, write to
- # the Free Software Foundation, 59 Temple Place - Suite 330,
- # Boston, MA 02111-1307, USA.
- 
- # all reserved variables are saved in <VAR>.saved
- 
- BASE_DIR.saved := $(BASE_DIR)
- C_EXT.saved:=$(C_EXT)
- CXX_EXT.saved:=$(CXX_EXT)
- OBJ_EXT.saved:=$(OBJ_EXT)
- SRC_DIRS.saved:=$(SRC_DIRS)
- C_SRCS.saved:=$(C_SRCS)
- CXX_SRCS.saved:=$(CXX_SRCS)
- OBJ_DIR.saved:=$(OBJ_DIR)
- LANGUAGES.saved:=$(LANGUAGES)
- CC.saved:=$(CC)
- CXX.saved:=$(CXX)
- AR_CMD.saved:=$(AR_CMD)
- AR_EXT.saved:=$(AR_EXT)
- GNATMAKE.saved:=$(GNATMAKE)
- ADAFLAGS.saved:=$(ADAFLAGS)
- CFLAGS.saved:=$(CFLAGS)
- CXXFLAGS.saved:=$(CXXFLAGS)
- FLDFLAGS.saved:=$(FLDFLAGS)
- LIBS.saved:=$(LIBS)
- LDFLAGS.saved:=$(LDFLAGS)
- ADA_SOURCES.saved:=$(ADA_SOURCES)
- EXEC.saved:=$(EXEC)
- EXEC_DIR.saved:=$(EXEC_DIR)
- MAIN.saved:=$(MAIN)
- PROJECT_FILE.saved:=$(PROJECT_FILE)
- DEPS_PROJECTS.saved:=$(DEPS_PROJECTS)
- 
- # Default settings
- 
- LANGUAGES:=ada
- C_EXT:=.c
- CXX_EXT:=.cc
- AR_EXT=.a
- OBJ_EXT=.o
- CC=gcc
- FLDFLAGS:=
- 
- # Default target is to build (compile/bind/link)
- # Target build is defined in Makefile.generic
- 
- default: build
- 
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/Makefile.rtl gcc-4.1.0/gcc/ada/Makefile.rtl
*** gcc-4.0.2/gcc/ada/Makefile.rtl	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/Makefile.rtl	Tue Nov 15 13:57:25 2005
***************
*** 15,22 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston, MA 02111-1307, USA.
  
  # This makefile fragment is included in the ada Makefile (both Unix
  # and NT and VMS versions).
--- 15,22 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston, MA 02110-1301, USA.
  
  # This makefile fragment is included in the ada Makefile (both Unix
  # and NT and VMS versions).
*************** GNATRTL_NONTASKING_OBJS= \
*** 79,84 ****
--- 79,85 ----
    a-cgaaso$(objext) \
    a-cgarso$(objext) \
    a-cgcaso$(objext) \
+   a-chacon$(objext) \
    a-chahan$(objext) \
    a-charac$(objext) \
    a-chlat1$(objext) \
*************** GNATRTL_NONTASKING_OBJS= \
*** 205,217 ****
    a-suteio$(objext) \
    a-swmwco$(objext) \
    a-swunau$(objext) \
!   a-swunha$(objext) \
    a-swuwti$(objext) \
    a-szmzco$(objext) \
    a-szunau$(objext) \
!   a-szunha$(objext) \
    a-szuzti$(objext) \
    a-tags$(objext) \
    a-teioed$(objext) \
    a-textio$(objext) \
    a-ticoau$(objext) \
--- 206,219 ----
    a-suteio$(objext) \
    a-swmwco$(objext) \
    a-swunau$(objext) \
!   a-swuwha$(objext) \
    a-swuwti$(objext) \
    a-szmzco$(objext) \
    a-szunau$(objext) \
!   a-szuzha$(objext) \
    a-szuzti$(objext) \
    a-tags$(objext) \
+   a-tgdico$(objext) \
    a-teioed$(objext) \
    a-textio$(objext) \
    a-ticoau$(objext) \
*************** GNATRTL_NONTASKING_OBJS= \
*** 233,238 ****
--- 235,242 ----
    a-tiunio$(objext) \
    a-unccon$(objext) \
    a-uncdea$(objext) \
+   a-wichun$(objext) \
+   a-widcha$(objext) \
    a-witeio$(objext) \
    a-wtcoau$(objext) \
    a-wtcoio$(objext) \
*************** GNATRTL_NONTASKING_OBJS= \
*** 252,257 ****
--- 256,263 ----
    a-wtmoio$(objext) \
    a-wttest$(objext) \
    a-wwunio$(objext) \
+   a-zchara$(objext) \
+   a-zchuni$(objext) \
    a-ztcoau$(objext) \
    a-ztcoio$(objext) \
    a-ztcstr$(objext) \
*************** GNATRTL_NONTASKING_OBJS= \
*** 369,375 ****
    s-crc32$(objext)  \
    s-direio$(objext) \
    s-errrep$(objext) \
-   s-except$(objext) \
    s-exctab$(objext) \
    s-exnint$(objext) \
    s-exnllf$(objext) \
--- 375,380 ----
*************** GNATRTL_NONTASKING_OBJS= \
*** 386,394 ****
--- 391,404 ----
    s-fatsfl$(objext) \
    s-ficobl$(objext) \
    s-fileio$(objext) \
+   s-filofl$(objext) \
+   s-fishfl$(objext) \
    s-finimp$(objext) \
    s-finroo$(objext) \
    s-fore$(objext)   \
+   s-fvadfl$(objext) \
+   s-fvaffl$(objext) \
+   s-fvagfl$(objext) \
    s-geveop$(objext) \
    s-htable$(objext) \
    s-imgbiu$(objext) \
diff -Nrcpad gcc-4.0.2/gcc/ada/a-astaco.adb gcc-4.1.0/gcc/ada/a-astaco.adb
*** gcc-4.0.2/gcc/ada/a-astaco.adb	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-astaco.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --     Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc.     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-astaco.ads gcc-4.1.0/gcc/ada/a-astaco.ads
*** gcc-4.0.2/gcc/ada/a-astaco.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-astaco.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . A S Y N C H R O N O U S _ T A S K _ C O N T R O L         --
  --                                                                          --
***************
*** 13,32 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
!    --  This unit is not implemented in typical GNAT implementations that
!    --  lie on top of operating systems, because it is infeasible to implement
!    --  in such environments. The RM anticipates this situation (RM D.11(10)),
!    --  and permits an implementation to leave this unimplemented even if the
!    --  Real-Time Systems annex is fully supported.
  
!    --  If a target environment provides appropriate support for this package,
!    --  then the Unimplemented_Unit pragma should be removed from this spec,
!    --  and an appropriate body provided. The framework for such a body is
!    --  included in the distributed sources.
  
  with Ada.Task_Identification;
  
  package Ada.Asynchronous_Task_Control is
  
     pragma Unimplemented_Unit;
  
--- 13,34 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This unit is not implemented in typical GNAT implementations that lie on
! --  top of operating systems, because it is infeasible to implement in such
! --  environments. The RM anticipates this situation (RM D.11(10)), and permits
! --  an implementation to leave this unimplemented even if the Real-Time Systems
! --  annex is fully supported.
  
! --  If a target environment provides appropriate support for this package, then
! --  the Unimplemented_Unit pragma should be removed from this spec, and an
! --  appropriate body provided. The framework for such a body is included in the
! --  distributed sources.
  
  with Ada.Task_Identification;
  
  package Ada.Asynchronous_Task_Control is
+    pragma Preelaborate_05;
+    --  In accordance with Ada 2005 AI-362
  
     pragma Unimplemented_Unit;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-caldel-vms.adb gcc-4.1.0/gcc/ada/a-caldel-vms.adb
*** gcc-4.0.2/gcc/ada/a-caldel-vms.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-caldel-vms.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version.
  
  with System.OS_Primitives;
  --  Used for Max_Sensible_Delay
--- 32,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version
  
  with System.OS_Primitives;
  --  Used for Max_Sensible_Delay
diff -Nrcpad gcc-4.0.2/gcc/ada/a-caldel.adb gcc-4.1.0/gcc/ada/a-caldel.adb
*** gcc-4.0.2/gcc/ada/a-caldel.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-caldel.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-caldel.ads gcc-4.1.0/gcc/ada/a-caldel.ads
*** gcc-4.0.2/gcc/ada/a-caldel.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-caldel.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-1998, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . C A L E N D A R . D E L A Y S                  --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package implements Calendar.Time delays using protected objects.
  
  --  Note: the compiler generates direct calls to this interface, in the
  --  processing of time types.
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package implements Calendar.Time delays using protected objects
  
  --  Note: the compiler generates direct calls to this interface, in the
  --  processing of time types.
***************
*** 39,56 ****
  package Ada.Calendar.Delays is
  
     procedure Delay_For (D : Duration);
!    --  Delay until an interval of length (at least) D seconds has passed,
!    --  or the task is aborted to at least the current ATC nesting level.
!    --  This is an abort completion point.
!    --  The body of this procedure must perform all the processing
!    --  required for an abortion point.
  
     procedure Delay_Until (T : Time);
!    --  Delay until Clock has reached (at least) time T,
!    --  or the task is aborted to at least the current ATC nesting level.
!    --  The body of this procedure must perform all the processing
!    --  required for an abortion point.
  
     function To_Duration (T : Time) return Duration;
  
  end Ada.Calendar.Delays;
--- 39,55 ----
  package Ada.Calendar.Delays is
  
     procedure Delay_For (D : Duration);
!    --  Delay until an interval of length (at least) D seconds has passed, or
!    --  the task is aborted to at least the current ATC nesting level. This is
!    --  an abort completion point. The body of this procedure must perform all
!    --  the processing required for an abort point.
  
     procedure Delay_Until (T : Time);
!    --  Delay until Clock has reached (at least) time T, or the task is aborted
!    --  to at least the current ATC nesting level. The body of this procedure
!    --  must perform all the processing required for an abort point.
  
     function To_Duration (T : Time) return Duration;
+    --  Convert Time to Duration
  
  end Ada.Calendar.Delays;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-calend-mingw.adb gcc-4.1.0/gcc/ada/a-calend-mingw.adb
*** gcc-4.0.2/gcc/ada/a-calend-mingw.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-calend-mingw.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1997-2002 Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Windows NT/95 version.
  
  with System.OS_Primitives;
  --  used for Clock
--- 31,40 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Windows NT/95 version
! 
! --  Why do we need separate version ???
! --  Do we need *this* much code duplication???
  
  with System.OS_Primitives;
  --  used for Clock
*************** package body Ada.Calendar is
*** 173,179 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DD;
--- 176,181 ----
*************** package body Ada.Calendar is
*** 203,209 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DS;
--- 205,210 ----
*************** package body Ada.Calendar is
*** 262,268 ****
  
        end if;
  
!       --  Date_Int is the number of seconds from Epoch.
  
        Date_Int := Long_Long_Integer
          (Int_Date * Sec_Unit / system_time_ns) + epoch_1970;
--- 263,269 ----
  
        end if;
  
!       --  Date_Int is the number of seconds from Epoch
  
        Date_Int := Long_Long_Integer
          (Int_Date * Sec_Unit / system_time_ns) + epoch_1970;
*************** package body Ada.Calendar is
*** 366,372 ****
           Sub_Sec : constant Duration := Seconds - Duration (Int_Secs);
        begin
           Date := Time ((Now - epoch_1970) * system_time_ns / Sec_Unit) +
!            Sub_Sec;
        end;
  
        if Add_One_Day then
--- 367,373 ----
           Sub_Sec : constant Duration := Seconds - Duration (Int_Secs);
        begin
           Date := Time ((Now - epoch_1970) * system_time_ns / Sec_Unit) +
!                    Sub_Sec;
        end;
  
        if Add_One_Day then
*************** package body Ada.Calendar is
*** 391,394 ****
--- 392,397 ----
        return DY;
     end Year;
  
+ begin
+    System.OS_Primitives.Initialize;
  end Ada.Calendar;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-calend-vms.adb gcc-4.1.0/gcc/ada/a-calend-vms.adb
*** gcc-4.0.2/gcc/ada/a-calend-vms.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-calend-vms.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1992-2003 Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version.
  
  with System.Aux_DEC; use System.Aux_DEC;
  
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version
  
  with System.Aux_DEC; use System.Aux_DEC;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-calend-vms.ads gcc-4.1.0/gcc/ada/a-calend-vms.ads
*** gcc-4.0.2/gcc/ada/a-calend-vms.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-calend-vms.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                         A D A . C A L E N D A R                          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                         A D A . C A L E N D A R                          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version.
  
  with System.OS_Primitives;
  package Ada.Calendar is
--- 35,41 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Alpha/VMS version
  
  with System.OS_Primitives;
  package Ada.Calendar is
diff -Nrcpad gcc-4.0.2/gcc/ada/a-calend.adb gcc-4.1.0/gcc/ada/a-calend.adb
*** gcc-4.0.2/gcc/ada/a-calend.adb	Mon Sep 13 10:18:38 2004
--- gcc-4.1.0/gcc/ada/a-calend.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Calendar is
*** 91,105 ****
     --  The following constants are used in adjusting Ada dates so that they
     --  fit into a 56 year range that can be handled by Unix (1970 included -
     --  2026 excluded). Dates that are not in this 56 year range are shifted
!    --  by multiples of 56 years to fit in this range
     --  The trick is that the number of days in any four year period in the Ada
     --  range of years (1901 - 2099) has a constant number of days. This is
     --  because we have the special case of 2000 which, contrary to the normal
!    --  exception for centuries, is a leap year after all.
!    --  56 has been chosen, because it is not only a multiple of 4, but also
!    --  a multiple of 7. Thus two dates 56 years apart fall on the same day of
!    --  the week, and the Daylight Saving Time change dates are usually the same
!    --  for these two years.
  
     Unix_Year_Min : constant := 1970;
     Unix_Year_Max : constant := 2026;
--- 91,106 ----
     --  The following constants are used in adjusting Ada dates so that they
     --  fit into a 56 year range that can be handled by Unix (1970 included -
     --  2026 excluded). Dates that are not in this 56 year range are shifted
!    --  by multiples of 56 years to fit in this range.
! 
     --  The trick is that the number of days in any four year period in the Ada
     --  range of years (1901 - 2099) has a constant number of days. This is
     --  because we have the special case of 2000 which, contrary to the normal
!    --  exception for centuries, is a leap year after all. 56 has been chosen,
!    --  because it is not only a multiple of 4, but also a multiple of 7. Thus
!    --  two dates 56 years apart fall on the same day of the week, and the
!    --  Daylight Saving Time change dates are usually the same for these two
!    --  years.
  
     Unix_Year_Min : constant := 1970;
     Unix_Year_Max : constant := 2026;
*************** package body Ada.Calendar is
*** 125,131 ****
        pragma Unsuppress (Overflow_Check);
     begin
        return (Left + Time (Right));
- 
     exception
        when Constraint_Error =>
           raise Time_Error;
--- 126,131 ----
*************** package body Ada.Calendar is
*** 135,141 ****
        pragma Unsuppress (Overflow_Check);
     begin
        return (Time (Left) + Right);
- 
     exception
        when Constraint_Error =>
           raise Time_Error;
--- 135,140 ----
*************** package body Ada.Calendar is
*** 149,155 ****
        pragma Unsuppress (Overflow_Check);
     begin
        return Left - Time (Right);
- 
     exception
        when Constraint_Error =>
           raise Time_Error;
--- 148,153 ----
*************** package body Ada.Calendar is
*** 159,165 ****
        pragma Unsuppress (Overflow_Check);
     begin
        return Duration (Left) - Duration (Right);
- 
     exception
        when Constraint_Error =>
           raise Time_Error;
--- 157,162 ----
*************** package body Ada.Calendar is
*** 219,225 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DD;
--- 216,221 ----
*************** package body Ada.Calendar is
*** 234,240 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DM;
--- 230,235 ----
*************** package body Ada.Calendar is
*** 249,255 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DS;
--- 244,249 ----
*************** package body Ada.Calendar is
*** 291,301 ****
  
        D := Duration (Date);
  
!       --  First of all, filter out completely ludicrous values. Remember
!       --  that we use the full stored range of duration values, which may
!       --  be significantly larger than the allowed range of Ada times. Note
!       --  that these checks are wider than required to make absolutely sure
!       --  that there are no end effects from time zone differences.
  
        if D < LowD or else D > HighD then
           raise Time_Error;
--- 285,295 ----
  
        D := Duration (Date);
  
!       --  First of all, filter out completely ludicrous values. Remember that
!       --  we use the full stored range of duration values, which may be
!       --  significantly larger than the allowed range of Ada times. Note that
!       --  these checks are wider than required to make absolutely sure that
!       --  there are no end effects from time zone differences.
  
        if D < LowD or else D > HighD then
           raise Time_Error;
*************** package body Ada.Calendar is
*** 306,316 ****
        --  required range of years (the guaranteed range available is only
        --  EPOCH through EPOCH + N seconds). N is in practice 2 ** 31 - 1.
  
!       --  If we have a value outside this range, then we first adjust it
!       --  to be in the required range by adding multiples of 56 years.
!       --  For the range we are interested in, the number of days in any
!       --  consecutive 56 year period is constant. Then we do the split
!       --  on the adjusted value, and readjust the years value accordingly.
  
        Year_Val := 0;
  
--- 300,310 ----
        --  required range of years (the guaranteed range available is only
        --  EPOCH through EPOCH + N seconds). N is in practice 2 ** 31 - 1.
  
!       --  If we have a value outside this range, then we first adjust it to be
!       --  in the required range by adding multiples of 56 years. For the range
!       --  we are interested in, the number of days in any consecutive 56 year
!       --  period is constant. Then we do the split on the adjusted value, and
!       --  readjust the years value accordingly.
  
        Year_Val := 0;
  
*************** package body Ada.Calendar is
*** 325,337 ****
        end loop;
  
        --  Now we need to take the value D, which is now non-negative, and
!       --  break it down into seconds (to pass to the localtime_r function)
!       --  and fractions of seconds (for the adjustment below).
  
        --  Surprisingly there is no easy way to do this in Ada, and certainly
!       --  no easy way to do it and generate efficient code. Therefore we
!       --  do it at a low level, knowing that it is really represented as
!       --  an integer with units of Small
  
        declare
           type D_Int is range 0 .. 2 ** (Duration'Size - 1) - 1;
--- 319,331 ----
        end loop;
  
        --  Now we need to take the value D, which is now non-negative, and
!       --  break it down into seconds (to pass to the localtime_r function) and
!       --  fractions of seconds (for the adjustment below).
  
        --  Surprisingly there is no easy way to do this in Ada, and certainly
!       --  no easy way to do it and generate efficient code. Therefore we do it
!       --  at a low level, knowing that it is really represented as an integer
!       --  with units of Small
  
        declare
           type D_Int is range 0 .. 2 ** (Duration'Size - 1) - 1;
*************** package body Ada.Calendar is
*** 356,373 ****
        Day      := Tm_Val.tm_mday;
  
        --  The Seconds value is a little complex. The localtime function
!       --  returns the integral number of seconds, which is what we want,
!       --  but we want to retain the fractional part from the original
!       --  Time value, since this is typically stored more accurately.
  
        Seconds := Duration (Tm_Val.tm_hour * 3600 +
                             Tm_Val.tm_min  * 60 +
                             Tm_Val.tm_sec)
                     + Frac_Sec;
  
!       --  Note: the above expression is pretty horrible, one of these days
!       --  we should stop using time_of and do everything ourselves to avoid
!       --  these unnecessary divides and multiplies???.
  
        --  The Year may still be out of range, since our entry test was
        --  deliberately crude. Trying to make this entry test accurate is
--- 350,367 ----
        Day      := Tm_Val.tm_mday;
  
        --  The Seconds value is a little complex. The localtime function
!       --  returns the integral number of seconds, which is what we want, but
!       --  we want to retain the fractional part from the original Time value,
!       --  since this is typically stored more accurately.
  
        Seconds := Duration (Tm_Val.tm_hour * 3600 +
                             Tm_Val.tm_min  * 60 +
                             Tm_Val.tm_sec)
                     + Frac_Sec;
  
!       --  Note: the above expression is pretty horrible, one of these days we
!       --  should stop using time_of and do everything ourselves to avoid these
!       --  unnecessary divides and multiplies???.
  
        --  The Year may still be out of range, since our entry test was
        --  deliberately crude. Trying to make this entry test accurate is
*************** package body Ada.Calendar is
*** 404,411 ****
     begin
        --  The following checks are redundant with respect to the constraint
        --  error checks that should normally be made on parameters, but we
!       --  decide to raise Constraint_Error in any case if bad values come
!       --  in (as a result of checks being off in the caller, or for other
        --  erroneous or bounded error cases).
  
        if        not Year   'Valid
--- 398,405 ----
     begin
        --  The following checks are redundant with respect to the constraint
        --  error checks that should normally be made on parameters, but we
!       --  decide to raise Constraint_Error in any case if bad values come in
!       --  (as a result of checks being off in the caller, or for other
        --  erroneous or bounded error cases).
  
        if        not Year   'Valid
*************** package body Ada.Calendar is
*** 433,442 ****
        TM_Val.tm_mon  := Month - 1;
  
        --  For the year, we have to adjust it to a year that Unix can handle.
!       --  We do this in 56 year steps, since the number of days in 56 years
!       --  is constant, so the timezone effect on the conversion from local
!       --  time to GMT is unaffected; also the DST change dates are usually
!       --  not modified.
  
        while Year_Val < Unix_Year_Min loop
           Year_Val := Year_Val + 56;
--- 427,436 ----
        TM_Val.tm_mon  := Month - 1;
  
        --  For the year, we have to adjust it to a year that Unix can handle.
!       --  We do this in 56 year steps, since the number of days in 56 years is
!       --  constant, so the timezone effect on the conversion from local time
!       --  to GMT is unaffected; also the DST change dates are usually not
!       --  modified.
  
        while Year_Val < Unix_Year_Min loop
           Year_Val := Year_Val + 56;
*************** package body Ada.Calendar is
*** 450,457 ****
  
        TM_Val.tm_year := Year_Val - 1900;
  
!       --  Since we do not have information on daylight savings,
!       --  rely on the default information.
  
        TM_Val.tm_isdst := -1;
        Result_Secs := mktime (TM_Val'Unchecked_Access);
--- 444,451 ----
  
        TM_Val.tm_year := Year_Val - 1900;
  
!       --  Since we do not have information on daylight savings, rely on the
!       --  default information.
  
        TM_Val.tm_isdst := -1;
        Result_Secs := mktime (TM_Val'Unchecked_Access);
*************** package body Ada.Calendar is
*** 459,472 ****
        --  That gives us the basic value in seconds. Two adjustments are
        --  needed. First we must undo the year adjustment carried out above.
        --  Second we put back the fraction seconds value since in general the
!       --  Day_Duration value we received has additional precision which we
!       --  do not want to lose in the constructed result.
  
        return
          Time (Duration (Result_Secs) +
                Duration_Adjust +
                (Seconds - Duration (Int_Secs)));
- 
     end Time_Of;
  
     ----------
--- 453,465 ----
        --  That gives us the basic value in seconds. Two adjustments are
        --  needed. First we must undo the year adjustment carried out above.
        --  Second we put back the fraction seconds value since in general the
!       --  Day_Duration value we received has additional precision which we do
!       --  not want to lose in the constructed result.
  
        return
          Time (Duration (Result_Secs) +
                Duration_Adjust +
                (Seconds - Duration (Int_Secs)));
     end Time_Of;
  
     ----------
*************** package body Ada.Calendar is
*** 478,487 ****
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
- 
     begin
        Split (Date, DY, DM, DD, DS);
        return DY;
     end Year;
  
  end Ada.Calendar;
--- 471,481 ----
        DM : Month_Number;
        DD : Day_Number;
        DS : Day_Duration;
     begin
        Split (Date, DY, DM, DD, DS);
        return DY;
     end Year;
  
+ begin
+    System.OS_Primitives.Initialize;
  end Ada.Calendar;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-calend.ads gcc-4.1.0/gcc/ada/a-calend.ads
*** gcc-4.0.2/gcc/ada/a-calend.ads	Mon Jun  7 14:16:15 2004
--- gcc-4.1.0/gcc/ada/a-calend.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cdlili.adb gcc-4.1.0/gcc/ada/a-cdlili.adb
*** gcc-4.0.2/gcc/ada/a-cdlili.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cdlili.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.DOUBLY_LINKED_LISTS                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --   A D A . C O N T A I N E R S . D O U B L Y _ L I N K E D _ L I S T S    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 34,59 ****
  ------------------------------------------------------------------------------
  
  with System;  use type System.Address;
  with Ada.Unchecked_Deallocation;
  
  package body Ada.Containers.Doubly_Linked_Lists is
  
-    procedure Free is
-      new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
- 
     -----------------------
     -- Local Subprograms --
     -----------------------
  
!    procedure Delete_Node
!      (Container : in out List;
!       Node      : in out Node_Access);
  
     procedure Insert_Internal
       (Container : in out List;
        Before    : Node_Access;
        New_Node  : Node_Access);
  
     ---------
     -- "=" --
     ---------
--- 34,57 ----
  ------------------------------------------------------------------------------
  
  with System;  use type System.Address;
+ 
  with Ada.Unchecked_Deallocation;
  
  package body Ada.Containers.Doubly_Linked_Lists is
  
     -----------------------
     -- Local Subprograms --
     -----------------------
  
!    procedure Free (X : in out Node_Access);
  
     procedure Insert_Internal
       (Container : in out List;
        Before    : Node_Access;
        New_Node  : Node_Access);
  
+    function Vet (Position : Cursor) return Boolean;
+ 
     ---------
     -- "=" --
     ---------
*************** package body Ada.Containers.Doubly_Linke
*** 88,125 ****
     ------------
  
     procedure Adjust (Container : in out List) is
!       Src    : Node_Access := Container.First;
!       Length : constant Count_Type := Container.Length;
  
     begin
        if Src = null then
           pragma Assert (Container.Last = null);
!          pragma Assert (Length = 0);
           return;
        end if;
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!       pragma Assert (Length > 0);
  
        Container.First := null;
        Container.Last := null;
        Container.Length := 0;
  
        Container.First := new Node_Type'(Src.Element, null, null);
- 
        Container.Last := Container.First;
!       loop
!          Container.Length := Container.Length + 1;
!          Src := Src.Next;
!          exit when Src = null;
           Container.Last.Next := new Node_Type'(Element => Src.Element,
                                                 Prev    => Container.Last,
                                                 Next    => null);
           Container.Last := Container.Last.Next;
!       end loop;
  
!       pragma Assert (Container.Length = Length);
     end Adjust;
  
     ------------
--- 86,126 ----
     ------------
  
     procedure Adjust (Container : in out List) is
!       Src : Node_Access := Container.First;
  
     begin
        if Src = null then
           pragma Assert (Container.Last = null);
!          pragma Assert (Container.Length = 0);
!          pragma Assert (Container.Busy = 0);
!          pragma Assert (Container.Lock = 0);
           return;
        end if;
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!       pragma Assert (Container.Length > 0);
  
        Container.First := null;
        Container.Last := null;
        Container.Length := 0;
+       Container.Busy := 0;
+       Container.Lock := 0;
  
        Container.First := new Node_Type'(Src.Element, null, null);
        Container.Last := Container.First;
!       Container.Length := 1;
! 
!       Src := Src.Next;
!       while Src /= null loop
           Container.Last.Next := new Node_Type'(Element => Src.Element,
                                                 Prev    => Container.Last,
                                                 Next    => null);
           Container.Last := Container.Last.Next;
!          Container.Length := Container.Length + 1;
  
!          Src := Src.Next;
!       end loop;
     end Adjust;
  
     ------------
*************** package body Ada.Containers.Doubly_Linke
*** 140,151 ****
     -----------
  
     procedure Clear (Container : in out List) is
     begin
!       Delete_Last (Container, Count => Container.Length);
     end Clear;
  
     --------------
!    -- Continue --
     --------------
  
     function Contains
--- 141,188 ----
     -----------
  
     procedure Clear (Container : in out List) is
+       X : Node_Access;
+ 
     begin
!       if Container.Length = 0 then
!          pragma Assert (Container.First = null);
!          pragma Assert (Container.Last = null);
!          pragma Assert (Container.Busy = 0);
!          pragma Assert (Container.Lock = 0);
!          return;
!       end if;
! 
!       pragma Assert (Container.First.Prev = null);
!       pragma Assert (Container.Last.Next = null);
! 
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       while Container.Length > 1 loop
!          X := Container.First;
!          pragma Assert (X.Next.Prev = Container.First);
! 
!          Container.First := X.Next;
!          Container.First.Prev := null;
! 
!          Container.Length := Container.Length - 1;
! 
!          Free (X);
!       end loop;
! 
!       X := Container.First;
!       pragma Assert (X = Container.Last);
! 
!       Container.First := null;
!       Container.Last := null;
!       Container.Length := 0;
! 
!       Free (X);
     end Clear;
  
     --------------
!    -- Contains --
     --------------
  
     function Contains
*************** package body Ada.Containers.Doubly_Linke
*** 165,187 ****
        Position  : in out Cursor;
        Count     : Count_Type := 1)
     is
     begin
!       if Position = No_Element then
           return;
        end if;
  
!       if Position.Container /= List_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
        for Index in 1 .. Count loop
!          Delete_Node (Container, Position.Node);
  
!          if Position.Node = null then
!             Position.Container := null;
              return;
           end if;
        end loop;
     end Delete;
  
     ------------------
--- 202,258 ----
        Position  : in out Cursor;
        Count     : Count_Type := 1)
     is
+       X : Node_Access;
+ 
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Delete");
! 
!       if Position.Node = Container.First then
!          Delete_First (Container, Count);
!          Position := No_Element; --  Post-York behavior
           return;
        end if;
  
!       if Count = 0 then
!          Position := No_Element;  --  Post-York behavior
!          return;
!       end if;
! 
!       if Container.Busy > 0 then
           raise Program_Error;
        end if;
  
        for Index in 1 .. Count loop
!          X := Position.Node;
!          Container.Length := Container.Length - 1;
  
!          if X = Container.Last then
!             Position := No_Element;
! 
!             Container.Last := X.Prev;
!             Container.Last.Next := null;
! 
!             Free (X);
              return;
           end if;
+ 
+          Position.Node := X.Next;
+ 
+          X.Next.Prev := X.Prev;
+          X.Prev.Next := X.Next;
+ 
+          Free (X);
        end loop;
+ 
+       Position := No_Element;  --  Post-York behavior
     end Delete;
  
     ------------------
*************** package body Ada.Containers.Doubly_Linke
*** 192,201 ****
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       Node : Node_Access := Container.First;
     begin
!       for J in 1 .. Count_Type'Min (Count, Container.Length) loop
!          Delete_Node (Container, Node);
        end loop;
     end Delete_First;
  
--- 263,294 ----
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       X : Node_Access;
! 
     begin
!       if Count >= Container.Length then
!          Clear (Container);
!          return;
!       end if;
! 
!       if Count = 0 then
!          return;
!       end if;
! 
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       for I in 1 .. Count loop
!          X := Container.First;
!          pragma Assert (X.Next.Prev = Container.First);
! 
!          Container.First := X.Next;
!          Container.First.Prev := null;
! 
!          Container.Length := Container.Length - 1;
! 
!          Free (X);
        end loop;
     end Delete_First;
  
*************** package body Ada.Containers.Doubly_Linke
*** 207,261 ****
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       Node : Node_Access;
!    begin
!       for J in 1 .. Count_Type'Min (Count, Container.Length) loop
!          Node := Container.Last;
!          Delete_Node (Container, Node);
!       end loop;
!    end Delete_Last;
! 
!    -----------------
!    -- Delete_Node --
!    -----------------
! 
!    procedure Delete_Node
!      (Container : in out List;
!       Node      : in out Node_Access)
!    is
!       X : Node_Access := Node;
  
     begin
!       Node := X.Next;
!       Container.Length := Container.Length - 1;
  
!       if X = Container.First then
!          Container.First := X.Next;
  
!          if X = Container.Last then
!             pragma Assert (Container.First = null);
!             pragma Assert (Container.Length = 0);
!             Container.Last := null;
!          else
!             pragma Assert (Container.Length > 0);
!             Container.First.Prev := null;
!          end if;
  
!       elsif X = Container.Last then
!          pragma Assert (Container.Length > 0);
  
           Container.Last := X.Prev;
           Container.Last.Next := null;
  
!       else
!          pragma Assert (Container.Length > 0);
! 
!          X.Next.Prev := X.Prev;
!          X.Prev.Next := X.Next;
!       end if;
  
!       Free (X);
!    end Delete_Node;
  
     -------------
     -- Element --
--- 300,333 ----
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       X : Node_Access;
  
     begin
!       if Count >= Container.Length then
!          Clear (Container);
!          return;
!       end if;
  
!       if Count = 0 then
!          return;
!       end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       for I in 1 .. Count loop
!          X := Container.Last;
!          pragma Assert (X.Prev.Next = Container.Last);
  
           Container.Last := X.Prev;
           Container.Last.Next := null;
  
!          Container.Length := Container.Length - 1;
  
!          Free (X);
!       end loop;
!    end Delete_Last;
  
     -------------
     -- Element --
*************** package body Ada.Containers.Doubly_Linke
*** 263,268 ****
--- 335,346 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position), "bad cursor in Element");
+ 
        return Position.Node.Element;
     end Element;
  
*************** package body Ada.Containers.Doubly_Linke
*** 280,287 ****
     begin
        if Node = null then
           Node := Container.First;
!       elsif Position.Container /= List_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
        end if;
  
        while Node /= null loop
--- 358,370 ----
     begin
        if Node = null then
           Node := Container.First;
! 
!       else
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Position), "bad cursor in Find");
        end if;
  
        while Node /= null loop
*************** package body Ada.Containers.Doubly_Linke
*** 314,447 ****
  
     function First_Element (Container : List) return Element_Type is
     begin
        return Container.First.Element;
     end First_Element;
  
!    -------------------
!    -- Generic_Merge --
!    -------------------
  
!    procedure Generic_Merge
!      (Target : in out List;
!       Source : in out List)
!    is
!       LI : Cursor := First (Target);
!       RI : Cursor := First (Source);
  
     begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
  
!       while RI.Node /= null loop
!          if LI.Node = null then
!             Splice (Target, No_Element, Source);
!             return;
!          end if;
  
!          if RI.Node.Element < LI.Node.Element then
!             declare
!                RJ : constant Cursor := RI;
!             begin
!                RI.Node := RI.Node.Next;
!                Splice (Target, LI, Source, RJ);
!             end;
  
!          else
!             LI.Node := LI.Node.Next;
!          end if;
!       end loop;
!    end Generic_Merge;
  
!    ------------------
!    -- Generic_Sort --
!    ------------------
  
!    procedure Generic_Sort (Container : in out List) is
  
!       procedure Partition
!         (Pivot : in Node_Access;
!          Back  : in Node_Access);
  
!       procedure Sort (Front, Back : Node_Access);
  
!       ---------------
!       -- Partition --
!       ---------------
  
!       procedure Partition
!         (Pivot : Node_Access;
!          Back  : Node_Access)
        is
!          Node : Node_Access := Pivot.Next;
  
        begin
!          while Node /= Back loop
!             if Node.Element < Pivot.Element then
!                declare
!                   Prev : constant Node_Access := Node.Prev;
!                   Next : constant Node_Access := Node.Next;
! 
!                begin
!                   Prev.Next := Next;
! 
!                   if Next = null then
!                      Container.Last := Prev;
!                   else
!                      Next.Prev := Prev;
!                   end if;
! 
!                   Node.Next := Pivot;
!                   Node.Prev := Pivot.Prev;
  
!                   Pivot.Prev := Node;
  
!                   if Node.Prev = null then
!                      Container.First := Node;
!                   else
!                      Node.Prev.Next := Node;
!                   end if;
  
!                   Node := Next;
                 end;
  
              else
!                Node := Node.Next;
              end if;
           end loop;
!       end Partition;
  
        ----------
        -- Sort --
        ----------
  
!       procedure Sort (Front, Back : Node_Access) is
!          Pivot : Node_Access;
  
        begin
!          if Front = null then
!             Pivot := Container.First;
!          else
!             Pivot := Front.Next;
           end if;
  
!          if Pivot /= Back then
!             Partition (Pivot, Back);
!             Sort (Front, Pivot);
!             Sort (Pivot, Back);
           end if;
-       end Sort;
  
!    --  Start of processing for Generic_Sort
  
!    begin
!       Sort (Front => null, Back => null);
  
!       pragma Assert (Container.Length = 0
!                        or else
!                          (Container.First.Prev = null
!                             and then Container.Last.Next = null));
!    end Generic_Sort;
  
     -----------------
     -- Has_Element --
--- 397,590 ----
  
     function First_Element (Container : List) return Element_Type is
     begin
+       if Container.First = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.First.Element;
     end First_Element;
  
!    ----------
!    -- Free --
!    ----------
  
!    procedure Free (X : in out Node_Access) is
!       procedure Deallocate is
!          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     begin
!       X.Prev := X;
!       X.Next := X;
!       Deallocate (X);
!    end Free;
  
!    ---------------------
!    -- Generic_Sorting --
!    ---------------------
  
!    package body Generic_Sorting is
  
!       ---------------
!       -- Is_Sorted --
!       ---------------
  
!       function Is_Sorted (Container : List) return Boolean is
!          Node : Node_Access := Container.First;
  
!       begin
!          for I in 2 .. Container.Length loop
!             if Node.Next.Element < Node.Element then
!                return False;
!             end if;
  
!             Node := Node.Next;
!          end loop;
  
!          return True;
!       end Is_Sorted;
  
!       -----------
!       -- Merge --
!       -----------
  
!       procedure Merge
!         (Target : in out List;
!          Source : in out List)
        is
!          LI : Cursor := First (Target);
!          RI : Cursor := First (Source);
  
        begin
!          if Target'Address = Source'Address then
!             return;
!          end if;
  
!          if Target.Busy > 0
!            or else Source.Busy > 0
!          then
!             raise Program_Error;
!          end if;
  
!          while RI.Node /= null loop
!             if LI.Node = null then
!                Splice (Target, No_Element, Source);
!                return;
!             end if;
  
!             if RI.Node.Element < LI.Node.Element then
!                declare
!                   RJ : Cursor := RI;
!                begin
!                   RI.Node := RI.Node.Next;
!                   Splice (Target, LI, Source, RJ);
                 end;
  
              else
!                LI.Node := LI.Node.Next;
              end if;
           end loop;
!       end Merge;
  
        ----------
        -- Sort --
        ----------
  
!       procedure Sort (Container : in out List) is
! 
!          procedure Partition
!            (Pivot : in Node_Access;
!             Back  : in Node_Access);
! 
!          procedure Sort (Front, Back : Node_Access);
! 
!          ---------------
!          -- Partition --
!          ---------------
! 
!          procedure Partition
!            (Pivot : Node_Access;
!             Back  : Node_Access)
!          is
!             Node : Node_Access := Pivot.Next;
! 
!          begin
!             while Node /= Back loop
!                if Node.Element < Pivot.Element then
!                   declare
!                      Prev : constant Node_Access := Node.Prev;
!                      Next : constant Node_Access := Node.Next;
! 
!                   begin
!                      Prev.Next := Next;
! 
!                      if Next = null then
!                         Container.Last := Prev;
!                      else
!                         Next.Prev := Prev;
!                      end if;
! 
!                      Node.Next := Pivot;
!                      Node.Prev := Pivot.Prev;
! 
!                      Pivot.Prev := Node;
! 
!                      if Node.Prev = null then
!                         Container.First := Node;
!                      else
!                         Node.Prev.Next := Node;
!                      end if;
! 
!                      Node := Next;
!                   end;
! 
!                else
!                   Node := Node.Next;
!                end if;
!             end loop;
!          end Partition;
! 
!          ----------
!          -- Sort --
!          ----------
! 
!          procedure Sort (Front, Back : Node_Access) is
!             Pivot : Node_Access;
! 
!          begin
!             if Front = null then
!                Pivot := Container.First;
!             else
!                Pivot := Front.Next;
!             end if;
! 
!             if Pivot /= Back then
!                Partition (Pivot, Back);
!                Sort (Front, Pivot);
!                Sort (Pivot, Back);
!             end if;
!          end Sort;
! 
!       --  Start of processing for Sort
  
        begin
!          if Container.Length <= 1 then
!             return;
           end if;
  
!          pragma Assert (Container.First.Prev = null);
!          pragma Assert (Container.Last.Next = null);
! 
!          if Container.Busy > 0 then
!             raise Program_Error;
           end if;
  
!          Sort (Front => null, Back => null);
  
!          pragma Assert (Container.First.Prev = null);
!          pragma Assert (Container.Last.Next = null);
!       end Sort;
  
!    end Generic_Sorting;
  
     -----------------
     -- Has_Element --
*************** package body Ada.Containers.Doubly_Linke
*** 449,455 ****
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       return Position.Container /= null and then Position.Node /= null;
     end Has_Element;
  
     ------------
--- 592,599 ----
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
     end Has_Element;
  
     ------------
*************** package body Ada.Containers.Doubly_Linke
*** 466,475 ****
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
        if Count = 0 then
--- 610,621 ----
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null then
!          if Before.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad cursor in Insert");
        end if;
  
        if Count = 0 then
*************** package body Ada.Containers.Doubly_Linke
*** 477,486 ****
           return;
        end if;
  
        New_Node := new Node_Type'(New_Item, null, null);
        Insert_Internal (Container, Before.Node, New_Node);
  
!       Position := Cursor'(Before.Container, New_Node);
  
        for J in Count_Type'(2) .. Count loop
           New_Node := new Node_Type'(New_Item, null, null);
--- 623,640 ----
           return;
        end if;
  
+       if Container.Length > Count_Type'Last - Count then
+          raise Constraint_Error;
+       end if;
+ 
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        New_Node := new Node_Type'(New_Item, null, null);
        Insert_Internal (Container, Before.Node, New_Node);
  
!       Position := Cursor'(Container'Unchecked_Access, New_Node);
  
        for J in Count_Type'(2) .. Count loop
           New_Node := new Node_Type'(New_Item, null, null);
*************** package body Ada.Containers.Doubly_Linke
*** 508,517 ****
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
        if Count = 0 then
--- 662,673 ----
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null then
!          if Before.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad cursor in Insert");
        end if;
  
        if Count = 0 then
*************** package body Ada.Containers.Doubly_Linke
*** 519,528 ****
           return;
        end if;
  
        New_Node := new Node_Type;
        Insert_Internal (Container, Before.Node, New_Node);
  
!       Position := Cursor'(Before.Container, New_Node);
  
        for J in Count_Type'(2) .. Count loop
           New_Node := new Node_Type;
--- 675,692 ----
           return;
        end if;
  
+       if Container.Length > Count_Type'Last - Count then
+          raise Constraint_Error;
+       end if;
+ 
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        New_Node := new Node_Type;
        Insert_Internal (Container, Before.Node, New_Node);
  
!       Position := Cursor'(Container'Unchecked_Access, New_Node);
  
        for J in Count_Type'(2) .. Count loop
           New_Node := new Node_Type;
*************** package body Ada.Containers.Doubly_Linke
*** 595,606 ****
       (Container : List;
        Process   : not null access procedure (Position : Cursor))
     is
        Node : Node_Access := Container.First;
     begin
!       while Node /= null loop
!          Process (Cursor'(Container'Unchecked_Access, Node));
!          Node := Node.Next;
!       end loop;
     end Iterate;
  
     ----------
--- 759,784 ----
       (Container : List;
        Process   : not null access procedure (Position : Cursor))
     is
+       C : List renames Container'Unrestricted_Access.all;
+       B : Natural renames C.Busy;
+ 
        Node : Node_Access := Container.First;
+ 
     begin
!       B := B + 1;
! 
!       begin
!          while Node /= null loop
!             Process (Cursor'(Container'Unchecked_Access, Node));
!             Node := Node.Next;
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Doubly_Linke
*** 622,627 ****
--- 800,809 ----
  
     function Last_Element (Container : List) return Element_Type is
     begin
+       if Container.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Last.Element;
     end Last_Element;
  
*************** package body Ada.Containers.Doubly_Linke
*** 647,656 ****
           return;
        end if;
  
!       if Target.Length > 0 then
!          raise Constraint_Error;
        end if;
  
        Target.First := Source.First;
        Source.First := null;
  
--- 829,840 ----
           return;
        end if;
  
!       if Source.Busy > 0 then
!          raise Program_Error;
        end if;
  
+       Clear (Target);
+ 
        Target.First := Source.First;
        Source.First := null;
  
*************** package body Ada.Containers.Doubly_Linke
*** 667,672 ****
--- 851,858 ----
  
     procedure Next (Position : in out Cursor) is
     begin
+       pragma Assert (Vet (Position), "bad cursor in procedure Next");
+ 
        if Position.Node = null then
           return;
        end if;
*************** package body Ada.Containers.Doubly_Linke
*** 680,685 ****
--- 866,873 ----
  
     function Next (Position : Cursor) return Cursor is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Next");
+ 
        if Position.Node = null then
           return No_Element;
        end if;
*************** package body Ada.Containers.Doubly_Linke
*** 714,719 ****
--- 902,909 ----
  
     procedure Previous (Position : in out Cursor) is
     begin
+       pragma Assert (Vet (Position), "bad cursor in procedure Previous");
+ 
        if Position.Node = null then
           return;
        end if;
*************** package body Ada.Containers.Doubly_Linke
*** 727,732 ****
--- 917,924 ----
  
     function Previous (Position : Cursor) return Cursor is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Previous");
+ 
        if Position.Node = null then
           return No_Element;
        end if;
*************** package body Ada.Containers.Doubly_Linke
*** 751,757 ****
        Process  : not null access procedure (Element : in Element_Type))
     is
     begin
!       Process (Position.Node.Element);
     end Query_Element;
  
     ----------
--- 943,975 ----
        Process  : not null access procedure (Element : in Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       declare
!          C : List renames Position.Container.all'Unrestricted_Access.all;
!          B : Natural renames C.Busy;
!          L : Natural renames C.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Doubly_Linke
*** 766,772 ****
        X : Node_Access;
  
     begin
!       Clear (Item);  --  ???
        Count_Type'Base'Read (Stream, N);
  
        if N = 0 then
--- 984,990 ----
        X : Node_Access;
  
     begin
!       Clear (Item);
        Count_Type'Base'Read (Stream, N);
  
        if N = 0 then
*************** package body Ada.Containers.Doubly_Linke
*** 806,873 ****
        end loop;
     end Read;
  
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Position : Cursor;
!       By       : Element_Type)
     is
     begin
!       Position.Node.Element := By;
!    end Replace_Element;
! 
!    ------------------
!    -- Reverse_Find --
!    ------------------
! 
!    function Reverse_Find
!      (Container : List;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
!       Node : Node_Access := Position.Node;
  
!    begin
!       if Node = null then
!          Node := Container.Last;
!       elsif Position.Container /= List_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       while Node /= null loop
!          if Node.Element = Item then
!             return Cursor'(Container'Unchecked_Access, Node);
!          end if;
! 
!          Node := Node.Prev;
!       end loop;
! 
!       return No_Element;
!    end Reverse_Find;
  
!    ---------------------
!    -- Reverse_Iterate --
!    ---------------------
  
!    procedure Reverse_Iterate
!      (Container : List;
!       Process   : not null access procedure (Position : Cursor))
!    is
!       Node : Node_Access := Container.Last;
!    begin
!       while Node /= null loop
!          Process (Cursor'(Container'Unchecked_Access, Node));
!          Node := Node.Prev;
!       end loop;
!    end Reverse_Iterate;
  
!    ------------------
!    -- Reverse_List --
!    ------------------
  
!    procedure Reverse_List (Container : in out List) is
        I : Node_Access := Container.First;
        J : Node_Access := Container.Last;
  
--- 1024,1069 ----
        end loop;
     end Read;
  
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor)
+    is
+    begin
+       raise Program_Error;
+    end Read;
+ 
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Container : in out List;
!       Position  : Cursor;
!       New_Item  : Element_Type)
     is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unchecked_Access then
           raise Program_Error;
        end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
!       end if;
  
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
  
!       Position.Node.Element := New_Item;
!    end Replace_Element;
  
!    ----------------------
!    -- Reverse_Elements --
!    ----------------------
  
!    procedure Reverse_Elements (Container : in out List) is
        I : Node_Access := Container.First;
        J : Node_Access := Container.Last;
  
*************** package body Ada.Containers.Doubly_Linke
*** 911,923 ****
           end if;
        end Swap;
  
!    --  Start of processing for Reverse_List
  
     begin
        if Container.Length <= 1 then
           return;
        end if;
  
        Container.First := J;
        Container.Last := I;
        loop
--- 1107,1126 ----
           end if;
        end Swap;
  
!    --  Start of processing for Reverse_Elements
  
     begin
        if Container.Length <= 1 then
           return;
        end if;
  
+       pragma Assert (Container.First.Prev = null);
+       pragma Assert (Container.Last.Next = null);
+ 
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        Container.First := J;
        Container.Last := I;
        loop
*************** package body Ada.Containers.Doubly_Linke
*** 940,946 ****
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!    end Reverse_List;
  
     ------------
     -- Splice --
--- 1143,1214 ----
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!    end Reverse_Elements;
! 
!    ------------------
!    -- Reverse_Find --
!    ------------------
! 
!    function Reverse_Find
!      (Container : List;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
!       Node : Node_Access := Position.Node;
! 
!    begin
!       if Node = null then
!          Node := Container.Last;
! 
!       else
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Position), "bad cursor in Reverse_Find");
!       end if;
! 
!       while Node /= null loop
!          if Node.Element = Item then
!             return Cursor'(Container'Unchecked_Access, Node);
!          end if;
! 
!          Node := Node.Prev;
!       end loop;
! 
!       return No_Element;
!    end Reverse_Find;
! 
!    ---------------------
!    -- Reverse_Iterate --
!    ---------------------
! 
!    procedure Reverse_Iterate
!      (Container : List;
!       Process   : not null access procedure (Position : Cursor))
!    is
!       C : List renames Container'Unrestricted_Access.all;
!       B : Natural renames C.Busy;
! 
!       Node : Node_Access := Container.Last;
! 
!    begin
!       B := B + 1;
! 
!       begin
!          while Node /= null loop
!             Process (Cursor'(Container'Unchecked_Access, Node));
!             Node := Node.Prev;
!          end loop;
! 
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
!    end Reverse_Iterate;
  
     ------------
     -- Splice --
*************** package body Ada.Containers.Doubly_Linke
*** 952,961 ****
        Source : in out List)
     is
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
        if Target'Address = Source'Address
--- 1220,1231 ----
        Source : in out List)
     is
     begin
!       if Before.Container /= null then
!          if Before.Container /= Target'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad cursor in Splice");
        end if;
  
        if Target'Address = Source'Address
*************** package body Ada.Containers.Doubly_Linke
*** 964,970 ****
--- 1234,1255 ----
           return;
        end if;
  
+       pragma Assert (Source.First.Prev = null);
+       pragma Assert (Source.Last.Next = null);
+ 
+       if Target.Length > Count_Type'Last - Source.Length then
+          raise Constraint_Error;
+       end if;
+ 
+       if Target.Busy > 0
+         or else Source.Busy > 0
+       then
+          raise Program_Error;
+       end if;
+ 
        if Target.Length = 0 then
+          pragma Assert (Target.First = null);
+          pragma Assert (Target.Last = null);
           pragma Assert (Before = No_Element);
  
           Target.First := Source.First;
*************** package body Ada.Containers.Doubly_Linke
*** 987,992 ****
--- 1272,1279 ----
           Target.First := Source.First;
  
        else
+          pragma Assert (Target.Length >= 2);
+ 
           Before.Node.Prev.Next := Source.First;
           Source.First.Prev := Before.Node.Prev;
  
*************** package body Ada.Containers.Doubly_Linke
*** 1006,1194 ****
        Before   : Cursor;
        Position : Cursor)
     is
-       X : Node_Access := Position.Node;
- 
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Position.Container /= null
!         and then Position.Container /= List_Access'(Target'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if X = null
!         or else X = Before.Node
!         or else X.Next = Before.Node
        then
           return;
        end if;
  
!       pragma Assert (Target.Length > 0);
  
        if Before.Node = null then
!          pragma Assert (X /= Target.Last);
  
!          if X = Target.First then
!             Target.First := X.Next;
              Target.First.Prev := null;
           else
!             X.Prev.Next := X.Next;
!             X.Next.Prev := X.Prev;
           end if;
  
!          Target.Last.Next := X;
!          X.Prev := Target.Last;
  
!          Target.Last := X;
           Target.Last.Next := null;
  
           return;
        end if;
  
        if Before.Node = Target.First then
!          pragma Assert (X /= Target.First);
  
!          if X = Target.Last then
!             Target.Last := X.Prev;
              Target.Last.Next := null;
           else
!             X.Prev.Next := X.Next;
!             X.Next.Prev := X.Prev;
           end if;
  
!          Target.First.Prev := X;
!          X.Next := Target.First;
  
!          Target.First := X;
           Target.First.Prev := null;
  
           return;
        end if;
  
!       if X = Target.First then
!          Target.First := X.Next;
           Target.First.Prev := null;
  
!       elsif X = Target.Last then
!          Target.Last := X.Prev;
           Target.Last.Next := null;
  
        else
!          X.Prev.Next := X.Next;
!          X.Next.Prev := X.Prev;
        end if;
  
!       Before.Node.Prev.Next := X;
!       X.Prev := Before.Node.Prev;
  
!       Before.Node.Prev := X;
!       X.Next := Before.Node;
     end Splice;
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Source   : in out List;
!       Position : Cursor)
     is
-       X : Node_Access := Position.Node;
- 
     begin
        if Target'Address = Source'Address then
           Splice (Target, Before, Position);
           return;
        end if;
  
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Position.Container /= null
!         and then Position.Container /= List_Access'(Source'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if X = null then
!          return;
        end if;
  
!       pragma Assert (Source.Length > 0);
!       pragma Assert (Source.First.Prev = null);
!       pragma Assert (Source.Last.Next = null);
  
!       if X = Source.First then
!          Source.First := X.Next;
!          Source.First.Prev := null;
  
!          if X = Source.Last then
              pragma Assert (Source.First = null);
              pragma Assert (Source.Length = 1);
              Source.Last := null;
           end if;
  
!       elsif X = Source.Last then
!          Source.Last := X.Prev;
           Source.Last.Next := null;
  
        else
!          X.Prev.Next := X.Next;
!          X.Next.Prev := X.Prev;
        end if;
  
        if Target.Length = 0 then
-          pragma Assert (Before = No_Element);
           pragma Assert (Target.First = null);
           pragma Assert (Target.Last = null);
  
!          Target.First := X;
!          Target.Last := X;
  
        elsif Before.Node = null then
!          Target.Last.Next := X;
!          X.Next := Target.Last;
  
!          Target.Last := X;
           Target.Last.Next := null;
  
        elsif Before.Node = Target.First then
!          Target.First.Prev := X;
!          X.Next := Target.First;
  
!          Target.First := X;
           Target.First.Prev := null;
  
        else
!          Before.Node.Prev.Next := X;
!          X.Prev := Before.Node.Prev;
  
!          Before.Node.Prev := X;
!          X.Next := Before.Node;
        end if;
  
        Target.Length := Target.Length + 1;
        Source.Length := Source.Length - 1;
     end Splice;
  
     ----------
     -- Swap --
     ----------
  
!    --  Is this defined when I and J designate elements in different containers,
!    --  or should it raise an exception (Program_Error)???
! 
!    procedure Swap (I, J : in Cursor) is
!       EI : constant Element_Type := I.Node.Element;
     begin
!       I.Node.Element := J.Node.Element;
!       J.Node.Element := EI;
     end Swap;
  
     ----------------
--- 1293,1539 ----
        Before   : Cursor;
        Position : Cursor)
     is
     begin
!       if Before.Container /= null then
!          if Before.Container /= Target'Unchecked_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad Before cursor in Splice");
        end if;
  
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Target'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Position), "bad Position cursor in Splice");
! 
!       if Position.Node = Before.Node
!         or else Position.Node.Next = Before.Node
        then
           return;
        end if;
  
!       pragma Assert (Target.Length >= 2);
! 
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
  
        if Before.Node = null then
!          pragma Assert (Position.Node /= Target.Last);
  
!          if Position.Node = Target.First then
!             Target.First := Position.Node.Next;
              Target.First.Prev := null;
           else
!             Position.Node.Prev.Next := Position.Node.Next;
!             Position.Node.Next.Prev := Position.Node.Prev;
           end if;
  
!          Target.Last.Next := Position.Node;
!          Position.Node.Prev := Target.Last;
  
!          Target.Last := Position.Node;
           Target.Last.Next := null;
  
           return;
        end if;
  
        if Before.Node = Target.First then
!          pragma Assert (Position.Node /= Target.First);
  
!          if Position.Node = Target.Last then
!             Target.Last := Position.Node.Prev;
              Target.Last.Next := null;
           else
!             Position.Node.Prev.Next := Position.Node.Next;
!             Position.Node.Next.Prev := Position.Node.Prev;
           end if;
  
!          Target.First.Prev := Position.Node;
!          Position.Node.Next := Target.First;
  
!          Target.First := Position.Node;
           Target.First.Prev := null;
  
           return;
        end if;
  
!       if Position.Node = Target.First then
!          Target.First := Position.Node.Next;
           Target.First.Prev := null;
  
!       elsif Position.Node = Target.Last then
!          Target.Last := Position.Node.Prev;
           Target.Last.Next := null;
  
        else
!          Position.Node.Prev.Next := Position.Node.Next;
!          Position.Node.Next.Prev := Position.Node.Prev;
        end if;
  
!       Before.Node.Prev.Next := Position.Node;
!       Position.Node.Prev := Before.Node.Prev;
  
!       Before.Node.Prev := Position.Node;
!       Position.Node.Next := Before.Node;
! 
!       pragma Assert (Target.First.Prev = null);
!       pragma Assert (Target.Last.Next = null);
     end Splice;
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Source   : in out List;
!       Position : in out Cursor)
     is
     begin
        if Target'Address = Source'Address then
           Splice (Target, Before, Position);
           return;
        end if;
  
!       if Before.Container /= null then
!          if Before.Container /= Target'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad Before cursor in Splice");
        end if;
  
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Source'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Position), "bad Position cursor in Splice");
! 
!       if Target.Length = Count_Type'Last then
!          raise Constraint_Error;
        end if;
  
!       if Target.Busy > 0
!         or else Source.Busy > 0
!       then
!          raise Program_Error;
!       end if;
  
!       if Position.Node = Source.First then
!          Source.First := Position.Node.Next;
  
!          if Position.Node = Source.Last then
              pragma Assert (Source.First = null);
              pragma Assert (Source.Length = 1);
              Source.Last := null;
+ 
+          else
+             Source.First.Prev := null;
           end if;
  
!       elsif Position.Node = Source.Last then
!          pragma Assert (Source.Length >= 2);
!          Source.Last := Position.Node.Prev;
           Source.Last.Next := null;
  
        else
!          pragma Assert (Source.Length >= 3);
!          Position.Node.Prev.Next := Position.Node.Next;
!          Position.Node.Next.Prev := Position.Node.Prev;
        end if;
  
        if Target.Length = 0 then
           pragma Assert (Target.First = null);
           pragma Assert (Target.Last = null);
+          pragma Assert (Before = No_Element);
  
!          Target.First := Position.Node;
!          Target.Last := Position.Node;
! 
!          Target.First.Prev := null;
!          Target.Last.Next := null;
  
        elsif Before.Node = null then
!          pragma Assert (Target.Last.Next = null);
!          Target.Last.Next := Position.Node;
!          Position.Node.Prev := Target.Last;
  
!          Target.Last := Position.Node;
           Target.Last.Next := null;
  
        elsif Before.Node = Target.First then
!          pragma Assert (Target.First.Prev = null);
!          Target.First.Prev := Position.Node;
!          Position.Node.Next := Target.First;
  
!          Target.First := Position.Node;
           Target.First.Prev := null;
  
        else
!          pragma Assert (Target.Length >= 2);
!          Before.Node.Prev.Next := Position.Node;
!          Position.Node.Prev := Before.Node.Prev;
  
!          Before.Node.Prev := Position.Node;
!          Position.Node.Next := Before.Node;
        end if;
  
        Target.Length := Target.Length + 1;
        Source.Length := Source.Length - 1;
+ 
+       Position.Container := Target'Unchecked_Access;
     end Splice;
  
     ----------
     -- Swap --
     ----------
  
!    procedure Swap
!      (Container : in out List;
!       I, J      : Cursor)
!    is
     begin
!       if I.Node = null
!         or else J.Node = null
!       then
!          raise Constraint_Error;
!       end if;
! 
!       if I.Container /= Container'Unchecked_Access
!         or else J.Container /= Container'Unchecked_Access
!       then
!          raise Program_Error;
!       end if;
! 
!       if I.Node = J.Node then
!          return;
!       end if;
! 
!       if Container.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (I), "bad I cursor in Swap");
!       pragma Assert (Vet (J), "bad J cursor in Swap");
! 
!       declare
!          EI : Element_Type renames I.Node.Element;
!          EJ : Element_Type renames J.Node.Element;
! 
!          EI_Copy : constant Element_Type := EI;
! 
!       begin
!          EI := EJ;
!          EJ := EI_Copy;
!       end;
     end Swap;
  
     ----------------
*************** package body Ada.Containers.Doubly_Linke
*** 1200,1226 ****
        I, J      : Cursor)
     is
     begin
!       if I = No_Element
!         or else J = No_Element
        then
           raise Constraint_Error;
        end if;
  
!       if I.Container /= List_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
!       end if;
! 
!       if J.Container /= I.Container then
           raise Program_Error;
        end if;
  
-       pragma Assert (Container.Length >= 1);
- 
        if I.Node = J.Node then
           return;
        end if;
  
!       pragma Assert (Container.Length >= 2);
  
        declare
           I_Next : constant Cursor := Next (I);
--- 1545,1572 ----
        I, J      : Cursor)
     is
     begin
!       if I.Node = null
!         or else J.Node = null
        then
           raise Constraint_Error;
        end if;
  
!       if I.Container /= Container'Unrestricted_Access
!         or else I.Container /= J.Container
!       then
           raise Program_Error;
        end if;
  
        if I.Node = J.Node then
           return;
        end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (I), "bad I cursor in Swap_Links");
!       pragma Assert (Vet (J), "bad J cursor in Swap_Links");
  
        declare
           I_Next : constant Cursor := Next (I);
*************** package body Ada.Containers.Doubly_Linke
*** 1253,1264 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type)) is
     begin
!       Process (Position.Node.Element);
     end Update_Element;
  
     -----------
     -- Write --
     -----------
--- 1599,1780 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out List;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type))
!    is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unchecked_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Update_Element");
! 
!       declare
!          B : Natural renames Container.Busy;
!          L : Natural renames Container.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
+    ---------
+    -- Vet --
+    ---------
+ 
+    function Vet (Position : Cursor) return Boolean is
+    begin
+       if Position.Node = null then
+          return Position.Container = null;
+       end if;
+ 
+       if Position.Container = null then
+          return False;
+       end if;
+ 
+       if Position.Node.Next = Position.Node then
+          return False;
+       end if;
+ 
+       if Position.Node.Prev = Position.Node then
+          return False;
+       end if;
+ 
+       declare
+          L : List renames Position.Container.all;
+       begin
+          if L.Length = 0 then
+             return False;
+          end if;
+ 
+          if L.First = null then
+             return False;
+          end if;
+ 
+          if L.Last = null then
+             return False;
+          end if;
+ 
+          if L.First.Prev /= null then
+             return False;
+          end if;
+ 
+          if L.Last.Next /= null then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev = null
+            and then Position.Node /= L.First
+          then
+             return False;
+          end if;
+ 
+          if Position.Node.Next = null
+            and then Position.Node /= L.Last
+          then
+             return False;
+          end if;
+ 
+          if L.Length = 1 then
+             return L.First = L.Last;
+          end if;
+ 
+          if L.First = L.Last then
+             return False;
+          end if;
+ 
+          if L.First.Next = null then
+             return False;
+          end if;
+ 
+          if L.Last.Prev = null then
+             return False;
+          end if;
+ 
+          if L.First.Next.Prev /= L.First then
+             return False;
+          end if;
+ 
+          if L.Last.Prev.Next /= L.Last then
+             return False;
+          end if;
+ 
+          if L.Length = 2 then
+             if L.First.Next /= L.Last then
+                return False;
+             end if;
+ 
+             if L.Last.Prev /= L.First then
+                return False;
+             end if;
+ 
+             return True;
+          end if;
+ 
+          if L.First.Next = L.Last then
+             return False;
+          end if;
+ 
+          if L.Last.Prev = L.First then
+             return False;
+          end if;
+ 
+          if Position.Node = L.First then
+             return True;
+          end if;
+ 
+          if Position.Node = L.Last then
+             return True;
+          end if;
+ 
+          if Position.Node.Next = null then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev = null then
+             return False;
+          end if;
+ 
+          if Position.Node.Next.Prev /= Position.Node then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev.Next /= Position.Node then
+             return False;
+          end if;
+ 
+          if L.Length = 3 then
+             if L.First.Next /= Position.Node then
+                return False;
+             end if;
+ 
+             if L.Last.Prev /= Position.Node then
+                return False;
+             end if;
+          end if;
+ 
+          return True;
+       end;
+    end Vet;
+ 
     -----------
     -- Write --
     -----------
*************** package body Ada.Containers.Doubly_Linke
*** 1278,1282 ****
        end loop;
     end Write;
  
! end Ada.Containers.Doubly_Linked_Lists;
  
--- 1794,1805 ----
        end loop;
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Doubly_Linked_Lists;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cdlili.ads gcc-4.1.0/gcc/ada/a-cdlili.ads
*** gcc-4.0.2/gcc/ada/a-cdlili.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cdlili.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.DOUBLY_LINKED_LISTS                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --   A D A . C O N T A I N E R S . D O U B L Y _ L I N K E D _ L I S T S    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 43,49 ****
        return Boolean is <>;
  
  package Ada.Containers.Doubly_Linked_Lists is
!    pragma Preelaborate (Doubly_Linked_Lists);
  
     type List is tagged private;
  
--- 43,49 ----
        return Boolean is <>;
  
  package Ada.Containers.Doubly_Linked_Lists is
!    pragma Preelaborate;
  
     type List is tagged private;
  
*************** package Ada.Containers.Doubly_Linked_Lis
*** 63,111 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type));
! 
!    procedure Replace_Element
!      (Position : Cursor;
!       By       : Element_Type);
  
     procedure Move
       (Target : in out List;
        Source : in out List);
  
!    procedure Prepend
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Append
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
     procedure Insert
       (Container : in out List;
        Before    : Cursor;
!       New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
-       Before    : Cursor;
        New_Item  : Element_Type;
-       Position  : out Cursor;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
!       Before    : Cursor;
!       Position  : out Cursor;
        Count     : Count_Type := 1);
  
     procedure Delete
--- 63,113 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out List;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out List;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Move
       (Target : in out List;
        Source : in out List);
  
!    procedure Insert
       (Container : in out List;
+       Before    : Cursor;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
+       Before    : Cursor;
        New_Item  : Element_Type;
+       Position  : out Cursor;
        Count     : Count_Type := 1);
  
     procedure Insert
       (Container : in out List;
        Before    : Cursor;
!       Position  : out Cursor;
        Count     : Count_Type := 1);
  
!    procedure Prepend
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Append
       (Container : in out List;
!       New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
     procedure Delete
*************** package Ada.Containers.Doubly_Linked_Lis
*** 121,139 ****
       (Container : in out List;
        Count     : Count_Type := 1);
  
!    generic
!       with function "<" (Left, Right : Element_Type)
!          return Boolean is <>;
!    procedure Generic_Sort (Container : in out List);
! 
!    generic
!       with function "<" (Left, Right : Element_Type)
!          return Boolean is <>;
!    procedure Generic_Merge (Target : in out List; Source : in out List);
! 
!    procedure Reverse_List (Container : in out List);
  
!    procedure Swap (I, J : in Cursor);
  
     procedure Swap_Links
       (Container : in out List;
--- 123,133 ----
       (Container : in out List;
        Count     : Count_Type := 1);
  
!    procedure Reverse_Elements (Container : in out List);
  
!    procedure Swap
!      (Container : in out List;
!       I, J      : Cursor);
  
     procedure Swap_Links
       (Container : in out List;
*************** package Ada.Containers.Doubly_Linked_Lis
*** 147,158 ****
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
!       Position : Cursor);
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
-       Source   : in out List;
        Position : Cursor);
  
     function First (Container : List) return Cursor;
--- 141,152 ----
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
!       Source   : in out List;
!       Position : in out Cursor);
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Position : Cursor);
  
     function First (Container : List) return Cursor;
*************** package Ada.Containers.Doubly_Linked_Lis
*** 163,171 ****
  
     function Last_Element (Container : List) return Element_Type;
  
!    function Contains
!      (Container : List;
!       Item      : Element_Type) return Boolean;
  
     function Find
       (Container : List;
--- 157,169 ----
  
     function Last_Element (Container : List) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
! 
!    procedure Next (Position : in out Cursor);
! 
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Previous (Position : in out Cursor);
  
     function Find
       (Container : List;
*************** package Ada.Containers.Doubly_Linked_Lis
*** 177,189 ****
        Item      : Element_Type;
        Position  : Cursor := No_Element) return Cursor;
  
!    function Next (Position : Cursor) return Cursor;
! 
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Next (Position : in out Cursor);
! 
!    procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
--- 175,183 ----
        Item      : Element_Type;
        Position  : Cursor := No_Element) return Cursor;
  
!    function Contains
!      (Container : List;
!       Item      : Element_Type) return Boolean;
  
     function Has_Element (Position : Cursor) return Boolean;
  
*************** package Ada.Containers.Doubly_Linked_Lis
*** 195,213 ****
       (Container : List;
        Process   : not null access procedure (Position : Cursor));
  
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
     type Node_Type is
!       record
           Element : Element_Type;
           Next    : Node_Access;
           Prev    : Node_Access;
        end record;
  
-    function "=" (L, R : Node_Type) return Boolean is abstract;
- 
     use Ada.Finalization;
  
     type List is
--- 189,217 ----
       (Container : List;
        Process   : not null access procedure (Position : Cursor));
  
+    generic
+       with function "<" (Left, Right : Element_Type) return Boolean is <>;
+    package Generic_Sorting is
+ 
+       function Is_Sorted (Container : List) return Boolean;
+ 
+       procedure Sort (Container : in out List);
+ 
+       procedure Merge (Target, Source : in out List);
+ 
+    end Generic_Sorting;
+ 
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
     type Node_Type is
!       limited record
           Element : Element_Type;
           Next    : Node_Access;
           Prev    : Node_Access;
        end record;
  
     use Ada.Finalization;
  
     type List is
*************** private
*** 215,220 ****
--- 219,226 ----
          First  : Node_Access;
          Last   : Node_Access;
          Length : Count_Type := 0;
+         Busy   : Natural := 0;
+         Lock   : Natural := 0;
       end record;
  
     procedure Adjust (Container : in out List);
*************** private
*** 235,241 ****
  
     for List'Write use Write;
  
!    Empty_List : constant List := List'(Controlled with null, null, 0);
  
     type List_Access is access constant List;
     for List_Access'Storage_Size use 0;
--- 241,247 ----
  
     for List'Write use Write;
  
!    Empty_List : constant List := (Controlled with null, null, 0, 0, 0);
  
     type List_Access is access constant List;
     for List_Access'Storage_Size use 0;
*************** private
*** 246,252 ****
           Node      : Node_Access;
        end record;
  
     No_Element : constant Cursor := Cursor'(null, null);
  
  end Ada.Containers.Doubly_Linked_Lists;
- 
--- 252,269 ----
           Node      : Node_Access;
        end record;
  
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
+    procedure Write
+      (Stream : access Root_Stream_Type'Class;
+       Item   : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
     No_Element : constant Cursor := Cursor'(null, null);
  
  end Ada.Containers.Doubly_Linked_Lists;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgaaso.adb gcc-4.1.0/gcc/ada/a-cgaaso.adb
*** gcc-4.0.2/gcc/ada/a-cgaaso.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgaaso.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.GENERIC_ANONYMOUS_ARRAY_SORT                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --        G E N E R I C _ A N O N Y M O U S _ A R R A Y _ S O R T           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgaaso.ads gcc-4.1.0/gcc/ada/a-cgaaso.ads
*** gcc-4.0.2/gcc/ada/a-cgaaso.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgaaso.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.GENERIC_ANONYMOUS_ARRAY_SORT                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --        G E N E R I C _ A N O N Y M O U S _ A R R A Y _ S O R T           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgarso.adb gcc-4.1.0/gcc/ada/a-cgarso.adb
*** gcc-4.0.2/gcc/ada/a-cgarso.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgarso.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.GENERIC_ARRAY_SORT                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . C O N T A I N E R S . G E N E R I C _ A R R A Y _ S O R T     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgarso.ads gcc-4.1.0/gcc/ada/a-cgarso.ads
*** gcc-4.0.2/gcc/ada/a-cgarso.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgarso.ads	Thu Jun 16 08:26:28 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.GENERIC_ARRAY_SORT                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . C O N T A I N E R S . G E N E R I C _ A R R A Y _ S O R T     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
*************** generic
*** 24,28 ****
  procedure Ada.Containers.Generic_Array_Sort (Container : in out Array_Type);
  
  pragma Pure (Ada.Containers.Generic_Array_Sort);
- 
- 
--- 24,26 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgcaso.adb gcc-4.1.0/gcc/ada/a-cgcaso.adb
*** gcc-4.0.2/gcc/ada/a-cgcaso.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgcaso.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.GENERIC_CONSTRAINED_ARRAY_SORT               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --       G E N E R I C _ C O N S T R A I N E D _ A R R A Y _ S O R T        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cgcaso.ads gcc-4.1.0/gcc/ada/a-cgcaso.ads
*** gcc-4.0.2/gcc/ada/a-cgcaso.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cgcaso.ads	Thu Jun 16 08:26:28 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.GENERIC_CONSTRAINED_ARRAY_SORT               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,9 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --       G E N E R I C _ C O N S T R A I N E D _ A R R A Y _ S O R T        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chacon.adb gcc-4.1.0/gcc/ada/a-chacon.adb
*** gcc-4.0.2/gcc/ada/a-chacon.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-chacon.adb	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,267 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --              A D A . C H A R A C T E R S . H A N D L I N G               --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- This specification is derived from the Ada Reference Manual for use with --
+ -- GNAT. The copyright notice above, and the license provisions that follow --
+ -- apply solely to the  contents of the part following the private keyword. --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ package body Ada.Characters.Conversions is
+ 
+    ------------------
+    -- Is_Character --
+    ------------------
+ 
+    function Is_Character (Item : Wide_Character) return Boolean is
+    begin
+       return Wide_Character'Pos (Item) < 256;
+    end Is_Character;
+ 
+    function Is_Character (Item : Wide_Wide_Character) return Boolean is
+    begin
+       return Wide_Wide_Character'Pos (Item) < 256;
+    end Is_Character;
+ 
+    ---------------
+    -- Is_String --
+    ---------------
+ 
+    function Is_String (Item : Wide_String) return Boolean is
+    begin
+       for J in Item'Range loop
+          if Wide_Character'Pos (Item (J)) >= 256 then
+             return False;
+          end if;
+       end loop;
+ 
+       return True;
+    end Is_String;
+ 
+    function Is_String (Item : Wide_Wide_String) return Boolean is
+    begin
+       for J in Item'Range loop
+          if Wide_Wide_Character'Pos (Item (J)) >= 256 then
+             return False;
+          end if;
+       end loop;
+ 
+       return True;
+    end Is_String;
+ 
+    -----------------------
+    -- Is_Wide_Character --
+    -----------------------
+ 
+    function Is_Wide_Character (Item : Wide_Wide_Character) return Boolean is
+    begin
+       return Wide_Wide_Character'Pos (Item) < 2**16;
+    end Is_Wide_Character;
+ 
+    --------------------
+    -- Is_Wide_String --
+    --------------------
+ 
+    function Is_Wide_String (Item : Wide_Wide_String) return Boolean is
+    begin
+       for J in Item'Range loop
+          if Wide_Wide_Character'Pos (Item (J)) >= 2**16 then
+             return False;
+          end if;
+       end loop;
+ 
+       return True;
+    end Is_Wide_String;
+ 
+    ------------------
+    -- To_Character --
+    ------------------
+ 
+    function To_Character
+      (Item       : Wide_Character;
+       Substitute : Character := ' ') return Character
+    is
+    begin
+       if Is_Character (Item) then
+          return Character'Val (Wide_Character'Pos (Item));
+       else
+          return Substitute;
+       end if;
+    end To_Character;
+ 
+    function To_Character
+      (Item       : Wide_Wide_Character;
+       Substitute : Character := ' ') return Character
+    is
+    begin
+       if Is_Character (Item) then
+          return Character'Val (Wide_Wide_Character'Pos (Item));
+       else
+          return Substitute;
+       end if;
+    end To_Character;
+ 
+    ---------------
+    -- To_String --
+    ---------------
+ 
+    function To_String
+      (Item       : Wide_String;
+       Substitute : Character := ' ') return String
+    is
+       Result : String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) := To_Character (Item (J), Substitute);
+       end loop;
+ 
+       return Result;
+    end To_String;
+ 
+    function To_String
+      (Item       : Wide_Wide_String;
+       Substitute : Character := ' ') return String
+    is
+       Result : String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) := To_Character (Item (J), Substitute);
+       end loop;
+ 
+       return Result;
+    end To_String;
+ 
+    -----------------------
+    -- To_Wide_Character --
+    -----------------------
+ 
+    function To_Wide_Character
+      (Item : Character) return Wide_Character
+    is
+    begin
+       return Wide_Character'Val (Character'Pos (Item));
+    end To_Wide_Character;
+ 
+    function To_Wide_Character
+      (Item       : Wide_Wide_Character;
+       Substitute : Wide_Character := ' ') return Wide_Character
+    is
+    begin
+       if Wide_Wide_Character'Pos (Item) < 2**16 then
+          return Wide_Character'Val (Wide_Wide_Character'Pos (Item));
+       else
+          return Substitute;
+       end if;
+    end To_Wide_Character;
+ 
+    --------------------
+    -- To_Wide_String --
+    --------------------
+ 
+    function To_Wide_String
+      (Item : String) return Wide_String
+    is
+       Result : Wide_String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) := To_Wide_Character (Item (J));
+       end loop;
+ 
+       return Result;
+    end To_Wide_String;
+ 
+    function To_Wide_String
+      (Item       : Wide_Wide_String;
+       Substitute : Wide_Character := ' ') return Wide_String
+    is
+       Result : Wide_String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) :=
+            To_Wide_Character (Item (J), Substitute);
+       end loop;
+ 
+       return Result;
+    end To_Wide_String;
+ 
+    ----------------------------
+    -- To_Wide_Wide_Character --
+    ----------------------------
+ 
+    function To_Wide_Wide_Character
+      (Item : Character) return Wide_Wide_Character
+    is
+    begin
+       return Wide_Wide_Character'Val (Character'Pos (Item));
+    end To_Wide_Wide_Character;
+ 
+    function To_Wide_Wide_Character
+      (Item : Wide_Character) return Wide_Wide_Character
+    is
+    begin
+       return Wide_Wide_Character'Val (Wide_Character'Pos (Item));
+    end To_Wide_Wide_Character;
+ 
+    -------------------------
+    -- To_Wide_Wide_String --
+    -------------------------
+ 
+    function To_Wide_Wide_String
+      (Item : String) return Wide_Wide_String
+    is
+       Result : Wide_Wide_String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) := To_Wide_Wide_Character (Item (J));
+       end loop;
+ 
+       return Result;
+    end To_Wide_Wide_String;
+ 
+    function To_Wide_Wide_String
+      (Item : Wide_String) return Wide_Wide_String
+    is
+       Result : Wide_Wide_String (1 .. Item'Length);
+ 
+    begin
+       for J in Item'Range loop
+          Result (J - (Item'First - 1)) := To_Wide_Wide_Character (Item (J));
+       end loop;
+ 
+       return Result;
+    end To_Wide_Wide_String;
+ 
+ end Ada.Characters.Conversions;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chacon.ads gcc-4.1.0/gcc/ada/a-chacon.ads
*** gcc-4.0.2/gcc/ada/a-chacon.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-chacon.ads	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,88 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --              A D A . C H A R A C T E R S . H A N D L I N G               --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- This specification is derived from the Ada Reference Manual for use with --
+ -- GNAT. The copyright notice above, and the license provisions that follow --
+ -- apply solely to the  contents of the part following the private keyword. --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ package Ada.Characters.Conversions is
+    pragma Pure;
+ 
+    function Is_Character (Item : Wide_Character)      return Boolean;
+    function Is_String    (Item : Wide_String)         return Boolean;
+    function Is_Character (Item : Wide_Wide_Character) return Boolean;
+    function Is_String    (Item : Wide_Wide_String)    return Boolean;
+ 
+    function Is_Wide_Character (Item : Wide_Wide_Character) return Boolean;
+    function Is_Wide_String    (Item : Wide_Wide_String)    return Boolean;
+ 
+    function To_Wide_Character (Item : Character) return Wide_Character;
+    function To_Wide_String    (Item : String)    return Wide_String;
+ 
+    function To_Wide_Wide_Character
+      (Item : Character) return Wide_Wide_Character;
+ 
+    function To_Wide_Wide_String
+      (Item : String) return Wide_Wide_String;
+ 
+    function To_Wide_Wide_Character
+      (Item : Wide_Character) return Wide_Wide_Character;
+ 
+    function To_Wide_Wide_String
+      (Item : Wide_String) return Wide_Wide_String;
+ 
+    function To_Character
+      (Item       : Wide_Character;
+       Substitute : Character := ' ') return Character;
+ 
+    function To_String
+      (Item       : Wide_String;
+       Substitute : Character := ' ') return String;
+ 
+    function To_Character
+      (Item       : Wide_Wide_Character;
+       Substitute : Character := ' ') return Character;
+ 
+    function To_String
+      (Item       : Wide_Wide_String;
+       Substitute : Character := ' ') return String;
+ 
+    function To_Wide_Character
+      (Item       : Wide_Wide_Character;
+       Substitute : Wide_Character := ' ') return Wide_Character;
+ 
+    function To_Wide_String
+      (Item       : Wide_Wide_String;
+       Substitute : Wide_Character := ' ') return Wide_String;
+ 
+ end Ada.Characters.Conversions;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chahan.adb gcc-4.1.0/gcc/ada/a-chahan.adb
*** gcc-4.0.2/gcc/ada/a-chahan.adb	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-chahan.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,39 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Latin_1;      use Ada.Characters.Latin_1;
! with Ada.Strings.Maps;            use Ada.Strings.Maps;
! with Ada.Strings.Maps.Constants;  use Ada.Strings.Maps.Constants;
  
  package body Ada.Characters.Handling is
  
--- 31,39 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Latin_1;     use Ada.Characters.Latin_1;
! with Ada.Strings.Maps;           use Ada.Strings.Maps;
! with Ada.Strings.Maps.Constants; use Ada.Strings.Maps.Constants;
  
  package body Ada.Characters.Handling is
  
*************** package body Ada.Characters.Handling is
*** 304,314 ****
        return Wide_Character'Pos (Item) < 256;
     end Is_Character;
  
-    function Is_Character (Item : Wide_Wide_Character) return Boolean is
-    begin
-       return Wide_Wide_Character'Pos (Item) < 256;
-    end Is_Character;
- 
     ----------------
     -- Is_Control --
     ----------------
--- 304,309 ----
*************** package body Ada.Characters.Handling is
*** 410,426 ****
        return True;
     end Is_String;
  
-    function Is_String (Item : Wide_Wide_String) return Boolean is
-    begin
-       for J in Item'Range loop
-          if Wide_Wide_Character'Pos (Item (J)) >= 256 then
-             return False;
-          end if;
-       end loop;
- 
-       return True;
-    end Is_String;
- 
     --------------
     -- Is_Upper --
     --------------
--- 405,410 ----
*************** package body Ada.Characters.Handling is
*** 430,459 ****
        return (Char_Map (Item) and Upper) /= 0;
     end Is_Upper;
  
-    -----------------------
-    -- Is_Wide_Character --
-    -----------------------
- 
-    function Is_Wide_Character (Item : Wide_Wide_Character) return Boolean is
-    begin
-       return Wide_Wide_Character'Pos (Item) < 2**16;
-    end Is_Wide_Character;
- 
-    --------------------
-    -- Is_Wide_String --
-    --------------------
- 
-    function Is_Wide_String (Item : Wide_Wide_String) return Boolean is
-    begin
-       for J in Item'Range loop
-          if Wide_Wide_Character'Pos (Item (J)) >= 2**16 then
-             return False;
-          end if;
-       end loop;
- 
-       return True;
-    end Is_Wide_String;
- 
     --------------
     -- To_Basic --
     --------------
--- 414,419 ----
*************** package body Ada.Characters.Handling is
*** 490,507 ****
        end if;
     end To_Character;
  
-    function To_Character
-      (Item       : Wide_Wide_Character;
-       Substitute : Character := ' ') return Character
-    is
-    begin
-       if Is_Character (Item) then
-          return Character'Val (Wide_Wide_Character'Pos (Item));
-       else
-          return Substitute;
-       end if;
-    end To_Character;
- 
     ----------------
     -- To_ISO_646 --
     ----------------
--- 450,455 ----
*************** package body Ada.Characters.Handling is
*** 574,593 ****
        return Result;
     end To_String;
  
-    function To_String
-      (Item       : Wide_Wide_String;
-       Substitute : Character := ' ') return String
-    is
-       Result : String (1 .. Item'Length);
- 
-    begin
-       for J in Item'Range loop
-          Result (J - (Item'First - 1)) := To_Character (Item (J), Substitute);
-       end loop;
- 
-       return Result;
-    end To_String;
- 
     --------------
     -- To_Upper --
     --------------
--- 522,527 ----
*************** package body Ada.Characters.Handling is
*** 623,640 ****
        return Wide_Character'Val (Character'Pos (Item));
     end To_Wide_Character;
  
-    function To_Wide_Character
-      (Item       : Wide_Wide_Character;
-       Substitute : Wide_Character := ' ') return Wide_Character
-    is
-    begin
-       if Wide_Wide_Character'Pos (Item) < 2**16 then
-          return Wide_Character'Val (Wide_Wide_Character'Pos (Item));
-       else
-          return Substitute;
-       end if;
-    end To_Wide_Character;
- 
     --------------------
     -- To_Wide_String --
     --------------------
--- 557,562 ----
*************** package body Ada.Characters.Handling is
*** 652,718 ****
        return Result;
     end To_Wide_String;
  
-    function To_Wide_String
-      (Item       : Wide_Wide_String;
-       Substitute : Wide_Character := ' ') return Wide_String
-    is
-       Result : Wide_String (1 .. Item'Length);
- 
-    begin
-       for J in Item'Range loop
-          Result (J - (Item'First - 1)) :=
-            To_Wide_Character (Item (J), Substitute);
-       end loop;
- 
-       return Result;
-    end To_Wide_String;
- 
-    ----------------------------
-    -- To_Wide_Wide_Character --
-    ----------------------------
- 
-    function To_Wide_Wide_Character
-      (Item : Character) return Wide_Wide_Character
-    is
-    begin
-       return Wide_Wide_Character'Val (Character'Pos (Item));
-    end To_Wide_Wide_Character;
- 
-    function To_Wide_Wide_Character
-      (Item : Wide_Character) return Wide_Wide_Character
-    is
-    begin
-       return Wide_Wide_Character'Val (Wide_Character'Pos (Item));
-    end To_Wide_Wide_Character;
- 
-    -------------------------
-    -- To_Wide_Wide_String --
-    -------------------------
- 
-    function To_Wide_Wide_String
-      (Item : String) return Wide_Wide_String
-    is
-       Result : Wide_Wide_String (1 .. Item'Length);
- 
-    begin
-       for J in Item'Range loop
-          Result (J - (Item'First - 1)) := To_Wide_Wide_Character (Item (J));
-       end loop;
- 
-       return Result;
-    end To_Wide_Wide_String;
- 
-    function To_Wide_Wide_String
-      (Item : Wide_String) return Wide_Wide_String
-    is
-       Result : Wide_Wide_String (1 .. Item'Length);
- 
-    begin
-       for J in Item'Range loop
-          Result (J - (Item'First - 1)) := To_Wide_Wide_Character (Item (J));
-       end loop;
- 
-       return Result;
-    end To_Wide_Wide_String;
- 
  end Ada.Characters.Handling;
--- 574,577 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chahan.ads gcc-4.1.0/gcc/ada/a-chahan.ads
*** gcc-4.0.2/gcc/ada/a-chahan.ads	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-chahan.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,43 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  package Ada.Characters.Handling is
! pragma Preelaborate (Handling);
  
     ----------------------------------------
     -- Character Classification Functions --
--- 35,44 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  package Ada.Characters.Handling is
!    pragma Preelaborate;
!    pragma Pure_05;
!    --  In accordance with Ada 2005 AI-362
  
     ----------------------------------------
     -- Character Classification Functions --
*************** pragma Preelaborate (Handling);
*** 90,143 ****
     -- Classifications of Wide_Character and Characters --
     ------------------------------------------------------
  
!    function Is_Character (Item : Wide_Character)           return Boolean;
!    function Is_Character (Item : Wide_Wide_Character)      return Boolean;
!    function Is_String    (Item : Wide_String)              return Boolean;
!    function Is_String    (Item : Wide_Wide_String)         return Boolean;
!    function Is_Wide_Character (Item : Wide_Wide_Character) return Boolean;
!    function Is_Wide_String (Item : Wide_Wide_String)       return Boolean;
  
!    ---------------------------------------------------------------------------
!    -- Conversions between Wide_Wide_Character, Wide_Character and Character --
!    ---------------------------------------------------------------------------
  
!    function To_Character
!      (Item       : Wide_Character;
!       Substitute : Character := ' ')      return Character;
  
     function To_Character
!      (Item       : Wide_Wide_Character;
!       Substitute : Character := ' ')      return Character;
  
     function To_String
       (Item       : Wide_String;
!       Substitute : Character := ' ')      return String;
! 
!    function To_String
!      (Item       : Wide_Wide_String;
!       Substitute : Character := ' ')      return String;
  
     function To_Wide_Character
!      (Item : Character)                   return Wide_Character;
!    function To_Wide_Character
!      (Item       : Wide_Wide_Character;
!       Substitute : Wide_Character := ' ') return Wide_Character;
  
     function To_Wide_String
!      (Item : String)                      return Wide_String;
!    function To_Wide_String
!      (Item       : Wide_Wide_String;
!       Substitute : Wide_Character := ' ') return Wide_String;
! 
!    function To_Wide_Wide_Character
!      (Item : Character)                   return Wide_Wide_Character;
!    function To_Wide_Wide_Character
!      (Item : Wide_Character)              return Wide_Wide_Character;
! 
!    function To_Wide_Wide_String
!      (Item : String)                      return Wide_Wide_String;
!    function To_Wide_Wide_String
!      (Item : Wide_String)                 return Wide_Wide_String;
  
  private
     pragma Inline (Is_Control);
--- 91,139 ----
     -- Classifications of Wide_Character and Characters --
     ------------------------------------------------------
  
!    --  Ada 2005 AI 395: these functions are moved to Ada.Characters.Conversions
!    --  and are considered obsolete in Ada.Characters.Handling. We deal with
!    --  this by using the special Ada_05 form of pragma Obsolescent which is
!    --  only active in Ada_05 mode.
  
!    function Is_Character (Item : Wide_Character) return Boolean;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.Is_Character", Ada_05);
  
!    function Is_String (Item : Wide_String) return Boolean;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.Is_String", Ada_05);
! 
!    ------------------------------------------------------
!    -- Conversions between Wide_Character and Character --
!    ------------------------------------------------------
! 
!    --  Ada 2005 AI 395: these functions are moved to Ada.Characters.Conversions
!    --  and are considered obsolete in Ada.Characters.Handling. We deal with
!    --  this by using the special Ada_05 form of pragma Obsolescent which is
!    --  only active in Ada_05 mode.
  
     function To_Character
!      (Item       : Wide_Character;
!       Substitute : Character := ' ') return Character;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.To_Character", Ada_05);
  
     function To_String
       (Item       : Wide_String;
!       Substitute : Character := ' ') return String;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.To_String", Ada_05);
  
     function To_Wide_Character
!      (Item : Character) return Wide_Character;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.To_Wide_Character", Ada_05);
  
     function To_Wide_String
!      (Item : String)return Wide_String;
!    pragma Obsolescent
!      ("(Ada 2005) use Ada.Characters.Conversions.To_Wide_String", Ada_05);
  
  private
     pragma Inline (Is_Control);
*************** private
*** 157,162 ****
     pragma Inline (Is_Character);
     pragma Inline (To_Character);
     pragma Inline (To_Wide_Character);
-    pragma Inline (To_Wide_Wide_Character);
  
  end Ada.Characters.Handling;
--- 153,157 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-charac.ads gcc-4.1.0/gcc/ada/a-charac.ads
*** gcc-4.0.2/gcc/ada/a-charac.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-charac.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       A D A . C H A R A C T E R S                        --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       A D A . C H A R A C T E R S                        --
  --                                                                          --
***************
*** 14,19 ****
  ------------------------------------------------------------------------------
  
  package Ada.Characters is
! pragma Pure (Characters);
  
  end Ada.Characters;
--- 14,19 ----
  ------------------------------------------------------------------------------
  
  package Ada.Characters is
!    pragma Pure;
  
  end Ada.Characters;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chlat1.ads gcc-4.1.0/gcc/ada/a-chlat1.ads
*** gcc-4.0.2/gcc/ada/a-chlat1.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-chlat1.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . C H A R A C T E R S . L A T I N _ 1                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . C H A R A C T E R S . L A T I N _ 1                --
  --                                                                          --
***************
*** 14,20 ****
  ------------------------------------------------------------------------------
  
  package Ada.Characters.Latin_1 is
! pragma Pure (Latin_1);
  
     ------------------------
     -- Control Characters --
--- 14,20 ----
  ------------------------------------------------------------------------------
  
  package Ada.Characters.Latin_1 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chlat9.ads gcc-4.1.0/gcc/ada/a-chlat9.ads
*** gcc-4.0.2/gcc/ada/a-chlat9.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-chlat9.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . C H A R A C T E R S . L A T I N _ 9                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2002 Free Software Foundation, Inc.             --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . C H A R A C T E R S . L A T I N _ 9                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 21,28 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,46 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides definitions for Latin-9 (ISO-8859-9) analogous to
  --  those defined in the standard package Ada.Characters.Latin_1 for Latin-1.
  
  package Ada.Characters.Latin_9 is
! pragma Pure (Latin_9);
  
     ------------------------
     -- Control Characters --
--- 36,46 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides definitions for Latin-9 (ISO-8859-15) analogous to
  --  those defined in the standard package Ada.Characters.Latin_1 for Latin-1.
  
  package Ada.Characters.Latin_9 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chtgke.adb gcc-4.1.0/gcc/ada/a-chtgke.adb
*** gcc-4.0.2/gcc/ada/a-chtgke.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-chtgke.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                 ADA.CONTAINERS.HASH_TABLES.GENERIC_KEYS                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --             H A S H _ T A B L E S . G E N E R I C _ K E Y S              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Containers.Hash_Tables.
*** 40,46 ****
     --------------------------
  
     procedure Delete_Key_Sans_Free
!      (HT   : in out HT_Type;
        Key  : Key_Type;
        X    : out Node_Access)
     is
--- 41,47 ----
     --------------------------
  
     procedure Delete_Key_Sans_Free
!      (HT   : in out Hash_Table_Type;
        Key  : Key_Type;
        X    : out Node_Access)
     is
*************** package body Ada.Containers.Hash_Tables.
*** 49,66 ****
  
     begin
        if HT.Length = 0 then
!          X := Null_Node;
           return;
        end if;
  
        Indx := Index (HT, Key);
        X := HT.Buckets (Indx);
  
!       if X = Null_Node then
           return;
        end if;
  
        if Equivalent_Keys (Key, X) then
           HT.Buckets (Indx) := Next (X);
           HT.Length := HT.Length - 1;
           return;
--- 50,70 ----
  
     begin
        if HT.Length = 0 then
!          X := null;
           return;
        end if;
  
        Indx := Index (HT, Key);
        X := HT.Buckets (Indx);
  
!       if X = null then
           return;
        end if;
  
        if Equivalent_Keys (Key, X) then
+          if HT.Busy > 0 then
+             raise Program_Error;
+          end if;
           HT.Buckets (Indx) := Next (X);
           HT.Length := HT.Length - 1;
           return;
*************** package body Ada.Containers.Hash_Tables.
*** 70,80 ****
           Prev := X;
           X := Next (Prev);
  
!          if X = Null_Node then
              return;
           end if;
  
           if Equivalent_Keys (Key, X) then
              Set_Next (Node => Prev, Next => Next (X));
              HT.Length := HT.Length - 1;
              return;
--- 74,87 ----
           Prev := X;
           X := Next (Prev);
  
!          if X = null then
              return;
           end if;
  
           if Equivalent_Keys (Key, X) then
+             if HT.Busy > 0 then
+                raise Program_Error;
+             end if;
              Set_Next (Node => Prev, Next => Next (X));
              HT.Length := HT.Length - 1;
              return;
*************** package body Ada.Containers.Hash_Tables.
*** 87,93 ****
     ----------
  
     function Find
!      (HT  : HT_Type;
        Key : Key_Type) return Node_Access is
  
        Indx : Hash_Type;
--- 94,100 ----
     ----------
  
     function Find
!      (HT  : Hash_Table_Type;
        Key : Key_Type) return Node_Access is
  
        Indx : Hash_Type;
*************** package body Ada.Containers.Hash_Tables.
*** 95,114 ****
  
     begin
        if HT.Length = 0 then
!          return Null_Node;
        end if;
  
        Indx := Index (HT, Key);
  
        Node := HT.Buckets (Indx);
!       while Node /= Null_Node loop
           if Equivalent_Keys (Key, Node) then
              return Node;
           end if;
           Node := Next (Node);
        end loop;
  
!       return Null_Node;
     end Find;
  
     --------------------------------
--- 102,121 ----
  
     begin
        if HT.Length = 0 then
!          return null;
        end if;
  
        Indx := Index (HT, Key);
  
        Node := HT.Buckets (Indx);
!       while Node /= null loop
           if Equivalent_Keys (Key, Node) then
              return Node;
           end if;
           Node := Next (Node);
        end loop;
  
!       return null;
     end Find;
  
     --------------------------------
*************** package body Ada.Containers.Hash_Tables.
*** 116,125 ****
     --------------------------------
  
     procedure Generic_Conditional_Insert
!      (HT      : in out HT_Type;
!       Key     : Key_Type;
!       Node    : out Node_Access;
!       Success : out Boolean)
     is
        Indx : constant Hash_Type := Index (HT, Key);
        B    : Node_Access renames HT.Buckets (Indx);
--- 123,132 ----
     --------------------------------
  
     procedure Generic_Conditional_Insert
!      (HT       : in out Hash_Table_Type;
!       Key      : Key_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean)
     is
        Indx : constant Hash_Type := Index (HT, Key);
        B    : Node_Access renames HT.Buckets (Indx);
*************** package body Ada.Containers.Hash_Tables.
*** 127,138 ****
        subtype Length_Subtype is Count_Type range 0 .. Count_Type'Last - 1;
  
     begin
!       if B = Null_Node then
           declare
              Length : constant Length_Subtype := HT.Length;
           begin
!             Node := New_Node (Next => Null_Node);
!             Success := True;
  
              B := Node;
              HT.Length := Length + 1;
--- 134,149 ----
        subtype Length_Subtype is Count_Type range 0 .. Count_Type'Last - 1;
  
     begin
!       if B = null then
!          if HT.Busy > 0 then
!             raise Program_Error;
!          end if;
! 
           declare
              Length : constant Length_Subtype := HT.Length;
           begin
!             Node := New_Node (Next => null);
!             Inserted := True;
  
              B := Node;
              HT.Length := Length + 1;
*************** package body Ada.Containers.Hash_Tables.
*** 144,163 ****
        Node := B;
        loop
           if Equivalent_Keys (Key, Node) then
!             Success := False;
              return;
           end if;
  
           Node := Next (Node);
  
!          exit when Node = Null_Node;
        end loop;
  
        declare
           Length : constant Length_Subtype := HT.Length;
        begin
           Node := New_Node (Next => B);
!          Success := True;
  
           B := Node;
           HT.Length := Length + 1;
--- 155,178 ----
        Node := B;
        loop
           if Equivalent_Keys (Key, Node) then
!             Inserted := False;
              return;
           end if;
  
           Node := Next (Node);
  
!          exit when Node = null;
        end loop;
  
+       if HT.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        declare
           Length : constant Length_Subtype := HT.Length;
        begin
           Node := New_Node (Next => B);
!          Inserted := True;
  
           B := Node;
           HT.Length := Length + 1;
*************** package body Ada.Containers.Hash_Tables.
*** 169,175 ****
     -----------
  
     function Index
!      (HT  : HT_Type;
        Key : Key_Type) return Hash_Type is
     begin
        return Hash (Key) mod HT.Buckets'Length;
--- 184,190 ----
     -----------
  
     function Index
!      (HT  : Hash_Table_Type;
        Key : Key_Type) return Hash_Type is
     begin
        return Hash (Key) mod HT.Buckets'Length;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chtgke.ads gcc-4.1.0/gcc/ada/a-chtgke.ads
*** gcc-4.0.2/gcc/ada/a-chtgke.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-chtgke.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,28 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                 ADA.CONTAINERS.HASH_TABLES.GENERIC_KEYS                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! -- This specification is adapted from the Ada Reference Manual for use with --
! -- GNAT.  In accordance with the copyright of that document, you can freely --
! -- copy and modify this specification,  provided that if you redistribute a --
! -- modified version,  any changes that you have made are clearly indicated. --
  --                                                                          --
  ------------------------------------------------------------------------------
  
  generic
     with package HT_Types is
       new Generic_Hash_Table_Types (<>);
  
-    type HT_Type is new HT_Types.Hash_Table_Type with private;
- 
     use HT_Types;
  
-    Null_Node : Node_Access;
- 
     with function Next (Node : Node_Access) return Node_Access;
  
     with procedure Set_Next
--- 2,45 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --             H A S H _ T A B L E S . G E N E R I C _ K E Y S              --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
! --                                                                          --
! -- This specification is derived from the Ada Reference Manual for use with --
! -- GNAT. The copyright notice above, and the license provisions that follow --
! -- apply solely to the  contents of the part following the private keyword. --
  --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
  generic
     with package HT_Types is
       new Generic_Hash_Table_Types (<>);
  
     use HT_Types;
  
     with function Next (Node : Node_Access) return Node_Access;
  
     with procedure Set_Next
*************** package Ada.Containers.Hash_Tables.Gener
*** 41,64 ****
     pragma Preelaborate;
  
     function Index
!      (HT  : HT_Type;
        Key : Key_Type) return Hash_Type;
     pragma Inline (Index);
  
     procedure Delete_Key_Sans_Free
!      (HT   : in out HT_Type;
        Key  : Key_Type;
        X    : out Node_Access);
  
!    function Find (HT  : HT_Type; Key : Key_Type) return Node_Access;
  
     generic
        with function New_Node
          (Next : Node_Access) return Node_Access;
     procedure Generic_Conditional_Insert
!      (HT      : in out HT_Type;
!       Key     : Key_Type;
!       Node    : out Node_Access;
!       Success : out Boolean);
  
  end Ada.Containers.Hash_Tables.Generic_Keys;
--- 58,81 ----
     pragma Preelaborate;
  
     function Index
!      (HT  : Hash_Table_Type;
        Key : Key_Type) return Hash_Type;
     pragma Inline (Index);
  
     procedure Delete_Key_Sans_Free
!      (HT   : in out Hash_Table_Type;
        Key  : Key_Type;
        X    : out Node_Access);
  
!    function Find (HT  : Hash_Table_Type; Key : Key_Type) return Node_Access;
  
     generic
        with function New_Node
          (Next : Node_Access) return Node_Access;
     procedure Generic_Conditional_Insert
!      (HT       : in out Hash_Table_Type;
!       Key      : Key_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean);
  
  end Ada.Containers.Hash_Tables.Generic_Keys;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chtgop.adb gcc-4.1.0/gcc/ada/a-chtgop.adb
*** gcc-4.0.2/gcc/ada/a-chtgop.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-chtgop.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.HASH_TABLES.GENERIC_OPERATIONS               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       A D A . C O N T A I N E R S .                      --
! --       H A S H _ T A B L E S . G E N E R I C _ O P E R A T I O N S        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Containers.Hash_Tables.
*** 41,54 ****
     procedure Free is
       new Ada.Unchecked_Deallocation (Buckets_Type, Buckets_Access);
  
-    -----------------------
-    -- Local Subprograms --
-    -----------------------
- 
-    procedure Rehash
-      (HT   : in out Hash_Table_Type;
-       Size : Hash_Type);
- 
     ------------
     -- Adjust --
     ------------
--- 42,47 ----
*************** package body Ada.Containers.Hash_Tables.
*** 68,74 ****
--- 61,69 ----
        end if;
  
        HT.Buckets := new Buckets_Type (Src_Buckets'Range);
+       --  TODO: allocate minimum size req'd.  (See note below.)
  
+       --  NOTE: see note below about these comments.
        --  Probably we have to duplicate the Size (Src), too, in order
        --  to guarantee that
  
*************** package body Ada.Containers.Hash_Tables.
*** 80,90 ****
        --  If we relax the requirement that the hash value must be the
        --  same, then of course we can't guarantee that following
        --  assignment that Dst = Src is true ???
  
        for Src_Index in Src_Buckets'Range loop
           Src_Node := Src_Buckets (Src_Index);
  
!          if Src_Node /= Null_Node then
              declare
                 Dst_Node : constant Node_Access := Copy_Node (Src_Node);
  
--- 75,104 ----
        --  If we relax the requirement that the hash value must be the
        --  same, then of course we can't guarantee that following
        --  assignment that Dst = Src is true ???
+       --
+       --  NOTE: 17 Apr 2005
+       --  What I said above is no longer true.  The semantics of (map) equality
+       --  changed, such that we use key in the left map to look up the
+       --  equivalent key in the right map, and then compare the elements (using
+       --  normal equality) of the equivalent keys.  So it doesn't matter that
+       --  the maps have different capacities (i.e. the hash tables have
+       --  different lengths), since we just look up the key, irrespective of
+       --  its map's hash table length.  All the RM says we're required to do
+       --  it arrange for the target map to "=" the source map following an
+       --  assignment (that is, following an Adjust), so it doesn't matter
+       --  what the capacity of the target map is.  What I'll probably do is
+       --  allocate a new hash table that has the minimum size necessary,
+       --  instead of allocating a new hash table whose size exactly matches
+       --  that of the source.  (See the assignment that immediately precedes
+       --  these comments.)  What we really need is a special Assign operation
+       --  (not unlike what we have already for Vector) that allows the user to
+       --  choose the capacity of the target.
+       --  END NOTE.
  
        for Src_Index in Src_Buckets'Range loop
           Src_Node := Src_Buckets (Src_Index);
  
!          if Src_Node /= null then
              declare
                 Dst_Node : constant Node_Access := Copy_Node (Src_Node);
  
*************** package body Ada.Containers.Hash_Tables.
*** 100,106 ****
              end;
  
              Src_Node := Next (Src_Node);
!             while Src_Node /= Null_Node loop
                 declare
                    Dst_Node : constant Node_Access := Copy_Node (Src_Node);
  
--- 114,120 ----
              end;
  
              Src_Node := Next (Src_Node);
!             while Src_Node /= null loop
                 declare
                    Dst_Node : constant Node_Access := Copy_Node (Src_Node);
  
*************** package body Ada.Containers.Hash_Tables.
*** 145,152 ****
        Node  : Node_Access;
  
     begin
        while HT.Length > 0 loop
!          while HT.Buckets (Index) = Null_Node loop
              Index := Index + 1;
           end loop;
  
--- 159,170 ----
        Node  : Node_Access;
  
     begin
+       if HT.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        while HT.Length > 0 loop
!          while HT.Buckets (Index) = null loop
              Index := Index + 1;
           end loop;
  
*************** package body Ada.Containers.Hash_Tables.
*** 158,164 ****
                 Bucket := Next (Bucket);
                 HT.Length := HT.Length - 1;
                 Free (Node);
!                exit when Bucket = Null_Node;
              end loop;
           end;
        end loop;
--- 176,182 ----
                 Bucket := Next (Bucket);
                 HT.Length := HT.Length - 1;
                 Free (Node);
!                exit when Bucket = null;
              end loop;
           end;
        end loop;
*************** package body Ada.Containers.Hash_Tables.
*** 172,178 ****
       (HT : in out Hash_Table_Type;
        X  : Node_Access)
     is
!       pragma Assert (X /= Null_Node);
  
        Indx : Hash_Type;
        Prev : Node_Access;
--- 190,196 ----
       (HT : in out Hash_Table_Type;
        X  : Node_Access)
     is
!       pragma Assert (X /= null);
  
        Indx : Hash_Type;
        Prev : Node_Access;
*************** package body Ada.Containers.Hash_Tables.
*** 186,192 ****
        Indx := Index (HT, X);
        Prev := HT.Buckets (Indx);
  
!       if Prev = Null_Node then
           raise Program_Error;
        end if;
  
--- 204,210 ----
        Indx := Index (HT, X);
        Prev := HT.Buckets (Indx);
  
!       if Prev = null then
           raise Program_Error;
        end if;
  
*************** package body Ada.Containers.Hash_Tables.
*** 203,209 ****
        loop
           Curr := Next (Prev);
  
!          if Curr = Null_Node then
              raise Program_Error;
           end if;
  
--- 221,227 ----
        loop
           Curr := Next (Prev);
  
!          if Curr = null then
              raise Program_Error;
           end if;
  
*************** package body Ada.Containers.Hash_Tables.
*** 217,291 ****
        end loop;
     end Delete_Node_Sans_Free;
  
-    ---------------------
-    -- Ensure_Capacity --
-    ---------------------
- 
-    procedure Ensure_Capacity
-      (HT : in out Hash_Table_Type;
-       N  : Count_Type)
-    is
-       NN : Hash_Type;
- 
-    begin
-       if N = 0 then
-          if HT.Length = 0 then
-             Free (HT.Buckets);
- 
-          elsif HT.Length < HT.Buckets'Length then
-             NN := Prime_Numbers.To_Prime (HT.Length);
- 
-             --  ASSERT: NN >= HT.Length
- 
-             if NN < HT.Buckets'Length then
-                Rehash (HT, Size => NN);
-             end if;
-          end if;
- 
-          return;
-       end if;
- 
-       if HT.Buckets = null then
-          NN := Prime_Numbers.To_Prime (N);
- 
-          --  ASSERT: NN >= N
- 
-          Rehash (HT, Size => NN);
-          return;
-       end if;
- 
-       if N <= HT.Length then
-          if HT.Length >= HT.Buckets'Length then
-             return;
-          end if;
- 
-          NN := Prime_Numbers.To_Prime (HT.Length);
- 
-          --  ASSERT: NN >= HT.Length
- 
-          if NN < HT.Buckets'Length then
-             Rehash (HT, Size => NN);
-          end if;
- 
-          return;
-       end if;
- 
-       --  ASSERT: N > HT.Length
- 
-       if N = HT.Buckets'Length then
-          return;
-       end if;
- 
-       NN := Prime_Numbers.To_Prime (N);
- 
-       --  ASSERT: NN >= N
-       --  ASSERT: NN > HT.Length
- 
-       if NN /= HT.Buckets'Length then
-          Rehash (HT, Size => NN);
-       end if;
-    end Ensure_Capacity;
- 
     --------------
     -- Finalize --
     --------------
--- 235,240 ----
*************** package body Ada.Containers.Hash_Tables.
*** 305,316 ****
  
     begin
        if HT.Length = 0 then
!          return Null_Node;
        end if;
  
        Indx := HT.Buckets'First;
        loop
!          if HT.Buckets (Indx) /= Null_Node then
              return HT.Buckets (Indx);
           end if;
  
--- 254,265 ----
  
     begin
        if HT.Length = 0 then
!          return null;
        end if;
  
        Indx := HT.Buckets'First;
        loop
!          if HT.Buckets (Indx) /= null then
              return HT.Buckets (Indx);
           end if;
  
*************** package body Ada.Containers.Hash_Tables.
*** 331,337 ****
        end if;
  
        for J in Buckets'Range loop
!          while Buckets (J) /= Null_Node loop
              Node := Buckets (J);
              Buckets (J) := Next (Node);
              Free (Node);
--- 280,286 ----
        end if;
  
        for J in Buckets'Range loop
!          while Buckets (J) /= null loop
              Node := Buckets (J);
              Buckets (J) := Next (Node);
              Free (Node);
*************** package body Ada.Containers.Hash_Tables.
*** 370,376 ****
  
        loop
           L_Node := L.Buckets (L_Index);
!          exit when L_Node /= Null_Node;
           L_Index := L_Index + 1;
        end loop;
  
--- 319,325 ----
  
        loop
           L_Node := L.Buckets (L_Index);
!          exit when L_Node /= null;
           L_Index := L_Index + 1;
        end loop;
  
*************** package body Ada.Containers.Hash_Tables.
*** 385,391 ****
  
           L_Node := Next (L_Node);
  
!          if L_Node = Null_Node then
              if N = 0 then
                 return True;
              end if;
--- 334,340 ----
  
           L_Node := Next (L_Node);
  
!          if L_Node = null then
              if N = 0 then
                 return True;
              end if;
*************** package body Ada.Containers.Hash_Tables.
*** 393,399 ****
              loop
                 L_Index := L_Index + 1;
                 L_Node := L.Buckets (L_Index);
!                exit when L_Node /= Null_Node;
              end loop;
           end if;
        end loop;
--- 342,348 ----
              loop
                 L_Index := L_Index + 1;
                 L_Node := L.Buckets (L_Index);
!                exit when L_Node /= null;
              end loop;
           end if;
        end loop;
*************** package body Ada.Containers.Hash_Tables.
*** 404,425 ****
     -----------------------
  
     procedure Generic_Iteration (HT : Hash_Table_Type) is
!       Node : Node_Access;
  
     begin
!       if HT.Buckets = null
!         or else HT.Length = 0
!       then
           return;
        end if;
  
!       for Indx in HT.Buckets'Range loop
!          Node := HT.Buckets (Indx);
!          while Node /= Null_Node loop
!             Process (Node);
!             Node := Next (Node);
           end loop;
!       end loop;
     end Generic_Iteration;
  
     ------------------
--- 353,384 ----
     -----------------------
  
     procedure Generic_Iteration (HT : Hash_Table_Type) is
!       Busy : Natural renames HT'Unrestricted_Access.all.Busy;
  
     begin
!       if HT.Length = 0 then
           return;
        end if;
  
!       Busy := Busy + 1;
! 
!       declare
!          Node : Node_Access;
!       begin
!          for Indx in HT.Buckets'Range loop
!             Node := HT.Buckets (Indx);
!             while Node /= null loop
!                Process (Node);
!                Node := Next (Node);
!             end loop;
           end loop;
!       exception
!          when others =>
!             Busy := Busy - 1;
!             raise;
!       end;
! 
!       Busy := Busy - 1;
     end Generic_Iteration;
  
     ------------------
*************** package body Ada.Containers.Hash_Tables.
*** 436,475 ****
        N, M    : Count_Type'Base;
  
     begin
-       --  As with the sorted set, it's not clear whether read is allowed to
-       --  have side effect if it fails. For now, we assume side effects are
-       --  allowed since it simplifies the algorithm ???
-       --
        Clear (HT);
  
-       declare
-          B : Buckets_Access := HT.Buckets;
-       begin
-          HT.Buckets := null;
-          HT.Length := 0;
-          Free (B); -- can this fail???
-       end;
- 
        Hash_Type'Read (Stream, Last);
  
!       if Last /= 0 then
           HT.Buckets := new Buckets_Type (0 .. Last);
        end if;
  
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
!       while N > 0 loop
           Hash_Type'Read (Stream, I);
           pragma Assert (I in HT.Buckets'Range);
!          pragma Assert (HT.Buckets (I) = Null_Node);
  
           Count_Type'Base'Read (Stream, M);
           pragma Assert (M >= 1);
           pragma Assert (M <= N);
  
           HT.Buckets (I) := New_Node (Stream);
!          pragma Assert (HT.Buckets (I) /= Null_Node);
!          pragma Assert (Next (HT.Buckets (I)) = Null_Node);
  
           Y := HT.Buckets (I);
  
--- 395,440 ----
        N, M    : Count_Type'Base;
  
     begin
        Clear (HT);
  
        Hash_Type'Read (Stream, Last);
  
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
! 
!       if N = 0 then
!          return;
!       end if;
! 
!       if HT.Buckets = null
!         or else HT.Buckets'Last /= Last
!       then
!          Free (HT.Buckets);
           HT.Buckets := new Buckets_Type (0 .. Last);
        end if;
  
!       --  TODO: should we rewrite this algorithm so that it doesn't
!       --  depend on preserving the exactly length of the hash table
!       --  array?  We would prefer to not have to (re)allocate a
!       --  buckets array (the array that HT already has might be large
!       --  enough), and to not have to stream the count of the number
!       --  of nodes in each bucket.  The algorithm below is vestigial,
!       --  as it was written prior to the meeting in Palma, when the
!       --  semantics of equality were changed (and which obviated the
!       --  need to preserve the hash table length).
! 
!       loop
           Hash_Type'Read (Stream, I);
           pragma Assert (I in HT.Buckets'Range);
!          pragma Assert (HT.Buckets (I) = null);
  
           Count_Type'Base'Read (Stream, M);
           pragma Assert (M >= 1);
           pragma Assert (M <= N);
  
           HT.Buckets (I) := New_Node (Stream);
!          pragma Assert (HT.Buckets (I) /= null);
!          pragma Assert (Next (HT.Buckets (I)) = null);
  
           Y := HT.Buckets (I);
  
*************** package body Ada.Containers.Hash_Tables.
*** 477,484 ****
  
           for J in Count_Type range 2 .. M loop
              X := New_Node (Stream);
!             pragma Assert (X /= Null_Node);
!             pragma Assert (Next (X) = Null_Node);
  
              Set_Next (Node => Y, Next => X);
              Y := X;
--- 442,449 ----
  
           for J in Count_Type range 2 .. M loop
              X := New_Node (Stream);
!             pragma Assert (X /= null);
!             pragma Assert (Next (X) = null);
  
              Set_Next (Node => Y, Next => X);
              Y := X;
*************** package body Ada.Containers.Hash_Tables.
*** 487,492 ****
--- 452,459 ----
           end loop;
  
           N := N - M;
+ 
+          exit when N = 0;
        end loop;
     end Generic_Read;
  
*************** package body Ada.Containers.Hash_Tables.
*** 514,527 ****
           return;
        end if;
  
        for Indx in HT.Buckets'Range loop
           X := HT.Buckets (Indx);
  
!          if X /= Null_Node then
              M := 1;
              loop
                 X := Next (X);
!                exit when X = Null_Node;
                 M := M + 1;
              end loop;
  
--- 481,496 ----
           return;
        end if;
  
+       --  TODO: see note in Generic_Read???
+ 
        for Indx in HT.Buckets'Range loop
           X := HT.Buckets (Indx);
  
!          if X /= null then
              M := 1;
              loop
                 X := Next (X);
!                exit when X = null;
                 M := M + 1;
              end loop;
  
*************** package body Ada.Containers.Hash_Tables.
*** 534,540 ****
                 X := Next (X);
              end loop;
  
!             pragma Assert (X = Null_Node);
           end if;
        end loop;
     end Generic_Write;
--- 503,509 ----
                 X := Next (X);
              end loop;
  
!             pragma Assert (X = null);
           end if;
        end loop;
     end Generic_Write;
*************** package body Ada.Containers.Hash_Tables.
*** 567,580 ****
           return;
        end if;
  
!       if Target.Length > 0 then
!          raise Constraint_Error;
        end if;
  
!       Free (Target.Buckets);
  
!       Target.Buckets := Source.Buckets;
!       Source.Buckets := null;
  
        Target.Length := Source.Length;
        Source.Length := 0;
--- 536,553 ----
           return;
        end if;
  
!       if Source.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       Clear (Target);
  
!       declare
!          Buckets : constant Buckets_Access := Target.Buckets;
!       begin
!          Target.Buckets := Source.Buckets;
!          Source.Buckets := Buckets;
!       end;
  
        Target.Length := Source.Length;
        Source.Length := 0;
*************** package body Ada.Containers.Hash_Tables.
*** 591,701 ****
        Result : Node_Access := Next (Node);
  
     begin
!       if Result /= Null_Node then
           return Result;
        end if;
  
        for Indx in Index (HT, Node) + 1 .. HT.Buckets'Last loop
           Result := HT.Buckets (Indx);
  
!          if Result /= Null_Node then
              return Result;
           end if;
        end loop;
  
!       return Null_Node;
     end Next;
  
!    ------------
!    -- Rehash --
!    ------------
  
!    procedure Rehash
!      (HT   : in out Hash_Table_Type;
!       Size : Hash_Type)
     is
!       subtype Buckets_Range is Hash_Type range 0 .. Size - 1;
  
!       Dst_Buckets : Buckets_Access := new Buckets_Type (Buckets_Range);
!       Src_Buckets : Buckets_Access := HT.Buckets;
  
!       L  : Count_Type renames HT.Length;
!       LL : constant Count_Type := L;
  
-    begin
-       if Src_Buckets = null then
-          pragma Assert (L = 0);
-          HT.Buckets := Dst_Buckets;
           return;
        end if;
  
!       if L = 0 then
!          HT.Buckets := Dst_Buckets;
!          Free (Src_Buckets);
           return;
        end if;
  
!       --  We might want to change this to iter from 1 .. L instead ???
  
!       for Src_Index in Src_Buckets'Range loop
  
!          declare
!             Src_Bucket : Node_Access renames Src_Buckets (Src_Index);
!          begin
!             while Src_Bucket /= Null_Node loop
!                declare
!                   Src_Node   : constant Node_Access := Src_Bucket;
!                   Dst_Index  : constant Hash_Type :=
!                                  Index (Dst_Buckets.all, Src_Node);
!                   Dst_Bucket : Node_Access renames Dst_Buckets (Dst_Index);
!                begin
!                   Src_Bucket := Next (Src_Node);
!                   Set_Next (Src_Node, Dst_Bucket);
!                   Dst_Bucket := Src_Node;
!                end;
  
!                pragma Assert (L > 0);
!                L := L - 1;
  
!             end loop;
  
!          exception
!             when others =>
  
!                --  Not clear that we can deallocate the nodes,
!                --  because they may be designated by outstanding
!                --  iterators.  Which means they're now lost... ???
  
!                --                 for J in NB'Range loop
!                --                    declare
!                --                       Dst : Node_Access renames NB (J);
!                --                       X   : Node_Access;
!                --                    begin
!                --                       while Dst /= Null_Node loop
!                --                          X := Dst;
!                --                          Dst := Succ (Dst);
!                --                          Free (X);
!                --                       end loop;
!                --                    end;
!                --                 end loop;
  
  
!                Free (Dst_Buckets);
!                raise;
!          end;
  
!          --  exit when L = 0;
!          --  need to bother???
  
!       end loop;
  
!       pragma Assert (L = 0);
  
!       HT.Buckets := Dst_Buckets;
!       HT.Length := LL;
  
!       Free (Src_Buckets);
!    end Rehash;
  
! end Ada.Containers.Hash_Tables.Generic_Operations;
  
--- 564,731 ----
        Result : Node_Access := Next (Node);
  
     begin
!       if Result /= null then
           return Result;
        end if;
  
        for Indx in Index (HT, Node) + 1 .. HT.Buckets'Last loop
           Result := HT.Buckets (Indx);
  
!          if Result /= null then
              return Result;
           end if;
        end loop;
  
!       return null;
     end Next;
  
!    ----------------------
!    -- Reserve_Capacity --
!    ----------------------
  
!    procedure Reserve_Capacity
!      (HT : in out Hash_Table_Type;
!       N  : Count_Type)
     is
!       NN : Hash_Type;
  
!    begin
!       if HT.Buckets = null then
!          if N > 0 then
!             NN := Prime_Numbers.To_Prime (N);
!             HT.Buckets := new Buckets_Type (0 .. NN - 1);
!          end if;
  
!          return;
!       end if;
! 
!       if HT.Length = 0 then
!          if N = 0 then
!             Free (HT.Buckets);
!             return;
!          end if;
! 
!          if N = HT.Buckets'Length then
!             return;
!          end if;
! 
!          NN := Prime_Numbers.To_Prime (N);
! 
!          if NN = HT.Buckets'Length then
!             return;
!          end if;
! 
!          declare
!             X : Buckets_Access := HT.Buckets;
!          begin
!             HT.Buckets := new Buckets_Type (0 .. NN - 1);
!             Free (X);
!          end;
  
           return;
        end if;
  
!       if N = HT.Buckets'Length then
           return;
        end if;
  
!       if N < HT.Buckets'Length then
!          if HT.Length >= HT.Buckets'Length then
!             return;
!          end if;
  
!          NN := Prime_Numbers.To_Prime (HT.Length);
  
!          if NN >= HT.Buckets'Length then
!             return;
!          end if;
  
!       else
!          NN := Prime_Numbers.To_Prime (Count_Type'Max (N, HT.Length));
  
!          if NN = HT.Buckets'Length then -- can't expand any more
!             return;
!          end if;
!       end if;
  
!       if HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       Rehash : declare
!          Dst_Buckets : Buckets_Access := new Buckets_Type (0 .. NN - 1);
!          Src_Buckets : Buckets_Access := HT.Buckets;
  
!          L : Count_Type renames HT.Length;
!          LL : constant Count_Type := L;
  
+          Src_Index : Hash_Type := Src_Buckets'First;
  
!       begin
!          while L > 0 loop
!             declare
!                Src_Bucket : Node_Access renames Src_Buckets (Src_Index);
  
!             begin
!                while Src_Bucket /= null loop
!                   declare
!                      Src_Node : constant Node_Access := Src_Bucket;
  
!                      Dst_Index : constant Hash_Type :=
!                        Index (Dst_Buckets.all, Src_Node);
  
!                      Dst_Bucket : Node_Access renames Dst_Buckets (Dst_Index);
  
!                   begin
!                      Src_Bucket := Next (Src_Node);
  
!                      Set_Next (Src_Node, Dst_Bucket);
  
!                      Dst_Bucket := Src_Node;
!                   end;
! 
!                   pragma Assert (L > 0);
!                   L := L - 1;
!                end loop;
!             exception
!                when others =>
!                   --  If there's an error computing a hash value during a
!                   --  rehash, then AI-302 says the nodes "become lost."  The
!                   --  issue is whether to actually deallocate these lost nodes,
!                   --  since they might be designated by extant cursors.  Here
!                   --  we decide to deallocate the nodes, since it's better to
!                   --  solve real problems (storage consumption) rather than
!                   --  imaginary ones (the user might, or might not, dereference
!                   --  a cursor designating a node that has been deallocated),
!                   --  and because we have a way to vet a dangling cursor
!                   --  reference anyway, and hence can actually detect the
!                   --  problem.
! 
!                   for Dst_Index in Dst_Buckets'Range loop
!                      declare
!                         B : Node_Access renames Dst_Buckets (Dst_Index);
!                         X : Node_Access;
!                      begin
!                         while B /= null loop
!                            X := B;
!                            B := Next (X);
!                            Free (X);
!                         end loop;
!                      end;
!                   end loop;
  
+                   Free (Dst_Buckets);
+                   raise Program_Error;
+             end;
+ 
+             Src_Index := Src_Index + 1;
+          end loop;
+ 
+          HT.Buckets := Dst_Buckets;
+          HT.Length := LL;
+ 
+          Free (Src_Buckets);
+       end Rehash;
+    end Reserve_Capacity;
+ 
+ end Ada.Containers.Hash_Tables.Generic_Operations;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chtgop.ads gcc-4.1.0/gcc/ada/a-chtgop.ads
*** gcc-4.0.2/gcc/ada/a-chtgop.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-chtgop.ads	Thu Jun 16 08:56:24 2005
***************
*** 2,13 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.HASH_TABLES.GENERIC_OPERATIONS               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
- --             Copyright (C) 2004 Free Software Foundation, Inc.            --
- --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
  -- copy and modify this specification,  provided that if you redistribute a --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       A D A . C O N T A I N E R S .                      --
! --       H A S H _ T A B L E S . G E N E R I C _ O P E R A T I O N S        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
  -- copy and modify this specification,  provided that if you redistribute a --
*************** generic
*** 22,33 ****
     with package HT_Types is
       new Generic_Hash_Table_Types (<>);
  
-    type Hash_Table_Type is new HT_Types.Hash_Table_Type with private;
- 
     use HT_Types;
  
-    Null_Node : in Node_Access;
- 
     with function Hash_Node (Node : Node_Access) return Hash_Type;
  
     with function Next (Node : Node_Access) return Node_Access;
--- 21,28 ----
*************** package Ada.Containers.Hash_Tables.Gener
*** 72,78 ****
  
     function Capacity (HT : Hash_Table_Type) return Count_Type;
  
!    procedure Ensure_Capacity
       (HT : in out Hash_Table_Type;
        N  : Count_Type);
  
--- 67,73 ----
  
     function Capacity (HT : Hash_Table_Type) return Count_Type;
  
!    procedure Reserve_Capacity
       (HT : in out Hash_Table_Type;
        N  : Count_Type);
  
*************** package Ada.Containers.Hash_Tables.Gener
*** 108,111 ****
        HT     : out Hash_Table_Type);
  
  end Ada.Containers.Hash_Tables.Generic_Operations;
- 
--- 103,105 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chzla1.ads gcc-4.1.0/gcc/ada/a-chzla1.ads
*** gcc-4.0.2/gcc/ada/a-chzla1.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-chzla1.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . C H A R A C T E R S . W I D E _ W I D E _ L A T I N _ 1      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . C H A R A C T E R S . W I D E _ W I D E _ L A T I N _ 1      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,43 ****
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Wide_Latin_1 is
! pragma Pure (Wide_Wide_Latin_1);
  
     ------------------------
     -- Control Characters --
--- 37,43 ----
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Wide_Latin_1 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-chzla9.ads gcc-4.1.0/gcc/ada/a-chzla9.ads
*** gcc-4.0.2/gcc/ada/a-chzla9.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-chzla9.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . C H A R A C T E R S . W I D E _ W I D E _ L A T I N _ 9      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . C H A R A C T E R S . W I D E _ W I D E _ L A T I N _ 9      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,43 ****
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Wide_Latin_9 is
! pragma Pure (Wide_Wide_Latin_9);
  
     ------------------------
     -- Control Characters --
--- 37,43 ----
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Wide_Latin_9 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cidlli.adb gcc-4.1.0/gcc/ada/a-cidlli.adb
*** gcc-4.0.2/gcc/ada/a-cidlli.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cidlli.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.INDEFINITE_DOUBLY_LINKED_LISTS               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --        I N D E F I N I T E _ D O U B L Y _ L I N K E D _ L I S T S       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Unchecked_Deallocation;
*** 39,62 ****
  package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
  
     procedure Free is
-      new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
- 
-    procedure Free is
       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
     -----------------------
     -- Local Subprograms --
     -----------------------
  
!    procedure Delete_Node
!      (Container : in out List;
!       Node      : in out Node_Access);
  
     procedure Insert_Internal
       (Container : in out List;
        Before    : Node_Access;
        New_Node  : Node_Access);
  
     ---------
     -- "=" --
     ---------
--- 40,60 ----
  package body Ada.Containers.Indefinite_Doubly_Linked_Lists is
  
     procedure Free is
       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
     -----------------------
     -- Local Subprograms --
     -----------------------
  
!    procedure Free (X : in out Node_Access);
  
     procedure Insert_Internal
       (Container : in out List;
        Before    : Node_Access;
        New_Node  : Node_Access);
  
+    function Vet (Position : Cursor) return Boolean;
+ 
     ---------
     -- "=" --
     ---------
*************** package body Ada.Containers.Indefinite_D
*** 77,91 ****
        L := Left.First;
        R := Right.First;
        for J in 1 .. Left.Length loop
!          if L.Element = null then
!             if R.Element /= null then
!                return False;
!             end if;
! 
!          elsif R.Element = null then
!             return False;
! 
!          elsif L.Element.all /= R.Element.all then
              return False;
           end if;
  
--- 75,81 ----
        L := Left.First;
        R := Right.First;
        for J in 1 .. Left.Length loop
!          if L.Element.all /= R.Element.all then
              return False;
           end if;
  
*************** package body Ada.Containers.Indefinite_D
*** 108,113 ****
--- 98,105 ----
        if Src = null then
           pragma Assert (Container.Last = null);
           pragma Assert (Container.Length = 0);
+          pragma Assert (Container.Busy = 0);
+          pragma Assert (Container.Lock = 0);
           return;
        end if;
  
*************** package body Ada.Containers.Indefinite_D
*** 118,158 ****
        Container.First := null;
        Container.Last := null;
        Container.Length := 0;
  
!       Dst := new Node_Type'(null, null, null);
  
!       if Src.Element /= null then
           begin
!             Dst.Element := new Element_Type'(Src.Element.all);
           exception
              when others =>
!                Free (Dst);
                 raise;
           end;
-       end if;
- 
-       Container.First := Dst;
- 
-       Container.Last := Dst;
-       loop
-          Container.Length := Container.Length + 1;
-          Src := Src.Next;
-          exit when Src = null;
- 
-          Dst := new Node_Type'(null, Prev => Container.Last, Next => null);
- 
-          if Src.Element /= null then
-             begin
-                Dst.Element := new Element_Type'(Src.Element.all);
-             exception
-                when others =>
-                   Free (Dst);
-                   raise;
-             end;
-          end if;
  
           Container.Last.Next := Dst;
           Container.Last := Dst;
        end loop;
     end Adjust;
  
--- 110,149 ----
        Container.First := null;
        Container.Last := null;
        Container.Length := 0;
+       Container.Busy := 0;
+       Container.Lock := 0;
  
!       declare
!          Element : Element_Access := new Element_Type'(Src.Element.all);
!       begin
!          Dst := new Node_Type'(Element, null, null);
!       exception
!          when others =>
!             Free (Element);
!             raise;
!       end;
  
!       Container.First := Dst;
!       Container.Last := Dst;
!       Container.Length := 1;
! 
!       Src := Src.Next;
!       while Src /= null loop
!          declare
!             Element : Element_Access := new Element_Type'(Src.Element.all);
           begin
!             Dst := new Node_Type'(Element, null, Prev => Container.Last);
           exception
              when others =>
!                Free (Element);
                 raise;
           end;
  
           Container.Last.Next := Dst;
           Container.Last := Dst;
+          Container.Length := Container.Length + 1;
+ 
+          Src := Src.Next;
        end loop;
     end Adjust;
  
*************** package body Ada.Containers.Indefinite_D
*** 174,181 ****
     -----------
  
     procedure Clear (Container : in out List) is
     begin
!       Delete_Last (Container, Count => Container.Length);
     end Clear;
  
     --------------
--- 165,208 ----
     -----------
  
     procedure Clear (Container : in out List) is
+       X : Node_Access;
+ 
     begin
!       if Container.Length = 0 then
!          pragma Assert (Container.First = null);
!          pragma Assert (Container.Last = null);
!          pragma Assert (Container.Busy = 0);
!          pragma Assert (Container.Lock = 0);
!          return;
!       end if;
! 
!       pragma Assert (Container.First.Prev = null);
!       pragma Assert (Container.Last.Next = null);
! 
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       while Container.Length > 1 loop
!          X := Container.First;
!          pragma Assert (X.Next.Prev = Container.First);
! 
!          Container.First := X.Next;
!          Container.First.Prev := null;
! 
!          Container.Length := Container.Length - 1;
! 
!          Free (X);
!       end loop;
! 
!       X := Container.First;
!       pragma Assert (X = Container.Last);
! 
!       Container.First := null;
!       Container.Last := null;
!       Container.Length := 0;
! 
!       Free (X);
     end Clear;
  
     --------------
*************** package body Ada.Containers.Indefinite_D
*** 184,190 ****
  
     function Contains
       (Container : List;
!       Item      : Element_Type) return Boolean is
     begin
        return Find (Container, Item) /= No_Element;
     end Contains;
--- 211,218 ----
  
     function Contains
       (Container : List;
!       Item      : Element_Type) return Boolean
!    is
     begin
        return Find (Container, Item) /= No_Element;
     end Contains;
*************** package body Ada.Containers.Indefinite_D
*** 198,220 ****
        Position  : in out Cursor;
        Count     : Count_Type := 1)
     is
     begin
!       if Position = No_Element then
           return;
        end if;
  
!       if Position.Container /= List_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
        for Index in 1 .. Count loop
!          Delete_Node (Container, Position.Node);
  
!          if Position.Node = null then
!             Position.Container := null;
              return;
           end if;
        end loop;
     end Delete;
  
     ------------------
--- 226,286 ----
        Position  : in out Cursor;
        Count     : Count_Type := 1)
     is
+       X : Node_Access;
+ 
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Delete");
! 
!       if Position.Node = Container.First then
!          Delete_First (Container, Count);
!          Position := No_Element;  --  Post-York behavior
           return;
        end if;
  
!       if Count = 0 then
!          Position := No_Element;  --  Post-York behavior
!          return;
!       end if;
! 
!       if Container.Busy > 0 then
           raise Program_Error;
        end if;
  
        for Index in 1 .. Count loop
!          X := Position.Node;
!          Container.Length := Container.Length - 1;
  
!          if X = Container.Last then
!             Position := No_Element;
! 
!             Container.Last := X.Prev;
!             Container.Last.Next := null;
! 
!             Free (X);
              return;
           end if;
+ 
+          Position.Node := X.Next;
+ 
+          X.Next.Prev := X.Prev;
+          X.Prev.Next := X.Next;
+ 
+          Free (X);
        end loop;
+ 
+       Position := No_Element;  --  Post-York behavior
     end Delete;
  
     ------------------
*************** package body Ada.Containers.Indefinite_D
*** 225,234 ****
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       Node : Node_Access := Container.First;
     begin
!       for J in 1 .. Count_Type'Min (Count, Container.Length) loop
!          Delete_Node (Container, Node);
        end loop;
     end Delete_First;
  
--- 291,322 ----
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       X : Node_Access;
! 
     begin
!       if Count >= Container.Length then
!          Clear (Container);
!          return;
!       end if;
! 
!       if Count = 0 then
!          return;
!       end if;
! 
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       for I in 1 .. Count loop
!          X := Container.First;
!          pragma Assert (X.Next.Prev = Container.First);
! 
!          Container.First := X.Next;
!          Container.First.Prev := null;
! 
!          Container.Length := Container.Length - 1;
! 
!          Free (X);
        end loop;
     end Delete_First;
  
*************** package body Ada.Containers.Indefinite_D
*** 240,296 ****
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       Node : Node_Access;
!    begin
!       for J in 1 .. Count_Type'Min (Count, Container.Length) loop
!          Node := Container.Last;
!          Delete_Node (Container, Node);
!       end loop;
!    end Delete_Last;
! 
!    -----------------
!    -- Delete_Node --
!    -----------------
! 
!    procedure Delete_Node
!      (Container : in out List;
!       Node      : in out Node_Access)
!    is
!       X : Node_Access := Node;
  
     begin
!       Node := X.Next;
!       Container.Length := Container.Length - 1;
  
!       if X = Container.First then
!          Container.First := X.Next;
  
!          if X = Container.Last then
!             pragma Assert (Container.First = null);
!             pragma Assert (Container.Length = 0);
!             Container.Last := null;
!          else
!             pragma Assert (Container.Length > 0);
!             Container.First.Prev := null;
!          end if;
  
!       elsif X = Container.Last then
!          pragma Assert (Container.Length > 0);
  
           Container.Last := X.Prev;
           Container.Last.Next := null;
  
!       else
!          pragma Assert (Container.Length > 0);
! 
!          X.Next.Prev := X.Prev;
!          X.Prev.Next := X.Next;
! 
!       end if;
  
!       Free (X.Element);
!       Free (X);
!    end Delete_Node;
  
     -------------
     -- Element --
--- 328,361 ----
       (Container : in out List;
        Count     : Count_Type := 1)
     is
!       X : Node_Access;
  
     begin
!       if Count >= Container.Length then
!          Clear (Container);
!          return;
!       end if;
  
!       if Count = 0 then
!          return;
!       end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       for I in 1 .. Count loop
!          X := Container.Last;
!          pragma Assert (X.Prev.Next = Container.Last);
  
           Container.Last := X.Prev;
           Container.Last.Next := null;
  
!          Container.Length := Container.Length - 1;
  
!          Free (X);
!       end loop;
!    end Delete_Last;
  
     -------------
     -- Element --
*************** package body Ada.Containers.Indefinite_D
*** 298,303 ****
--- 363,378 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Position.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position), "bad cursor in Element");
+ 
        return Position.Node.Element.all;
     end Element;
  
*************** package body Ada.Containers.Indefinite_D
*** 315,328 ****
     begin
        if Node = null then
           Node := Container.First;
!       elsif Position.Container /= List_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
        end if;
  
        while Node /= null loop
!          if Node.Element /= null
!            and then Node.Element.all = Item
!          then
              return Cursor'(Container'Unchecked_Access, Node);
           end if;
  
--- 390,410 ----
     begin
        if Node = null then
           Node := Container.First;
! 
!       else
!          if Node.Element = null then
!             raise Program_Error;
!          end if;
! 
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Position), "bad cursor in Find");
        end if;
  
        while Node /= null loop
!          if Node.Element.all = Item then
              return Cursor'(Container'Unchecked_Access, Node);
           end if;
  
*************** package body Ada.Containers.Indefinite_D
*** 351,488 ****
  
     function First_Element (Container : List) return Element_Type is
     begin
        return Container.First.Element.all;
     end First_Element;
  
!    -------------------
!    -- Generic_Merge --
!    -------------------
  
!    procedure Generic_Merge
!      (Target : in out List;
!       Source : in out List)
!    is
!       LI : Cursor;
!       RI : Cursor;
  
     begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
! 
!       LI := First (Target);
!       RI := First (Source);
!       while RI.Node /= null loop
!          if LI.Node = null then
!             Splice (Target, No_Element, Source);
!             return;
!          end if;
! 
!          if LI.Node.Element = null then
!             LI.Node := LI.Node.Next;
! 
!          elsif RI.Node.Element = null
!            or else RI.Node.Element.all < LI.Node.Element.all
!          then
!             declare
!                RJ : constant Cursor := RI;
!             begin
!                RI.Node := RI.Node.Next;
!                Splice (Target, LI, Source, RJ);
!             end;
  
!          else
!             LI.Node := LI.Node.Next;
!          end if;
!       end loop;
!    end Generic_Merge;
  
!    ------------------
!    -- Generic_Sort --
!    ------------------
  
!    procedure Generic_Sort (Container : in out List) is
!       procedure Partition (Pivot : Node_Access; Back  : Node_Access);
  
!       procedure Sort (Front, Back : Node_Access);
  
        ---------------
!       -- Partition --
        ---------------
  
!       procedure Partition (Pivot : Node_Access; Back  : Node_Access) is
!          Node : Node_Access := Pivot.Next;
  
        begin
!          while Node /= Back loop
!             if Pivot.Element = null then
!                Node := Node.Next;
  
!             elsif Node.Element = null
!               or else Node.Element.all < Pivot.Element.all
!             then
!                declare
!                   Prev : constant Node_Access := Node.Prev;
!                   Next : constant Node_Access := Node.Next;
!                begin
!                   Prev.Next := Next;
  
!                   if Next = null then
!                      Container.Last := Prev;
!                   else
!                      Next.Prev := Prev;
!                   end if;
  
!                   Node.Next := Pivot;
!                   Node.Prev := Pivot.Prev;
  
!                   Pivot.Prev := Node;
  
!                   if Node.Prev = null then
!                      Container.First := Node;
!                   else
!                      Node.Prev.Next := Node;
!                   end if;
  
!                   Node := Next;
                 end;
  
              else
!                Node := Node.Next;
              end if;
           end loop;
!       end Partition;
  
        ----------
        -- Sort --
        ----------
  
!       procedure Sort (Front, Back : Node_Access) is
!          Pivot : Node_Access;
  
        begin
!          if Front = null then
!             Pivot := Container.First;
!          else
!             Pivot := Front.Next;
           end if;
  
!          if Pivot /= Back then
!             Partition (Pivot, Back);
!             Sort (Front, Pivot);
!             Sort (Pivot, Back);
           end if;
-       end Sort;
  
!    --  Start of processing for Generic_Sort
  
!    begin
!       Sort (Front => null, Back => null);
  
!       pragma Assert (Container.Length = 0
!                        or else (Container.First.Prev = null
!                                   and Container.Last.Next = null));
!    end Generic_Sort;
  
     -----------------
     -- Has_Element --
--- 433,631 ----
  
     function First_Element (Container : List) return Element_Type is
     begin
+       if Container.First = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.First.Element.all;
     end First_Element;
  
!    ----------
!    -- Free --
!    ----------
  
!    procedure Free (X : in out Node_Access) is
!       procedure Deallocate is
!          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     begin
!       X.Next := X;
!       X.Prev := X;
  
!       begin
!          Free (X.Element);
!       exception
!          when others =>
!             X.Element := null;
!             Deallocate (X);
!             raise;
!       end;
  
!       Deallocate (X);
!    end Free;
  
!    ---------------------
!    -- Generic_Sorting --
!    ---------------------
  
!    package body Generic_Sorting is
  
        ---------------
!       -- Is_Sorted --
        ---------------
  
!       function Is_Sorted (Container : List) return Boolean is
!          Node : Node_Access := Container.First;
  
        begin
!          for I in 2 .. Container.Length loop
!             if Node.Next.Element.all < Node.Element.all then
!                return False;
!             end if;
  
!             Node := Node.Next;
!          end loop;
  
!          return True;
!       end Is_Sorted;
  
!       -----------
!       -- Merge --
!       -----------
  
!       procedure Merge
!         (Target : in out List;
!          Source : in out List)
!       is
!          LI : Cursor;
!          RI : Cursor;
  
!       begin
!          if Target'Address = Source'Address then
!             return;
!          end if;
  
!          if Target.Busy > 0
!            or else Source.Busy > 0
!          then
!             raise Program_Error;
!          end if;
! 
!          LI := First (Target);
!          RI := First (Source);
!          while RI.Node /= null loop
!             if LI.Node = null then
!                Splice (Target, No_Element, Source);
!                return;
!             end if;
! 
!             if RI.Node.Element.all < LI.Node.Element.all then
!                declare
!                   RJ : Cursor := RI;
!                begin
!                   RI.Node := RI.Node.Next;
!                   Splice (Target, LI, Source, RJ);
                 end;
  
              else
!                LI.Node := LI.Node.Next;
              end if;
           end loop;
!       end Merge;
  
        ----------
        -- Sort --
        ----------
  
!       procedure Sort (Container : in out List) is
!          procedure Partition (Pivot : Node_Access; Back  : Node_Access);
! 
!          procedure Sort (Front, Back : Node_Access);
! 
!          ---------------
!          -- Partition --
!          ---------------
! 
!          procedure Partition (Pivot : Node_Access; Back : Node_Access) is
!             Node : Node_Access := Pivot.Next;
! 
!          begin
!             while Node /= Back loop
!                if Node.Element.all < Pivot.Element.all then
!                   declare
!                      Prev : constant Node_Access := Node.Prev;
!                      Next : constant Node_Access := Node.Next;
!                   begin
!                      Prev.Next := Next;
! 
!                      if Next = null then
!                         Container.Last := Prev;
!                      else
!                         Next.Prev := Prev;
!                      end if;
! 
!                      Node.Next := Pivot;
!                      Node.Prev := Pivot.Prev;
! 
!                      Pivot.Prev := Node;
! 
!                      if Node.Prev = null then
!                         Container.First := Node;
!                      else
!                         Node.Prev.Next := Node;
!                      end if;
! 
!                      Node := Next;
!                   end;
! 
!                else
!                   Node := Node.Next;
!                end if;
!             end loop;
!          end Partition;
! 
!          ----------
!          -- Sort --
!          ----------
! 
!          procedure Sort (Front, Back : Node_Access) is
!             Pivot : Node_Access;
! 
!          begin
!             if Front = null then
!                Pivot := Container.First;
!             else
!                Pivot := Front.Next;
!             end if;
! 
!             if Pivot /= Back then
!                Partition (Pivot, Back);
!                Sort (Front, Pivot);
!                Sort (Pivot, Back);
!             end if;
!          end Sort;
! 
!       --  Start of processing for Sort
  
        begin
!          if Container.Length <= 1 then
!             return;
           end if;
  
!          pragma Assert (Container.First.Prev = null);
!          pragma Assert (Container.Last.Next = null);
! 
!          if Container.Busy > 0 then
!             raise Program_Error;
           end if;
  
!          Sort (Front => null, Back => null);
  
!          pragma Assert (Container.First.Prev = null);
!          pragma Assert (Container.Last.Next = null);
!       end Sort;
  
!    end Generic_Sorting;
  
     -----------------
     -- Has_Element --
*************** package body Ada.Containers.Indefinite_D
*** 490,496 ****
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       return Position.Container /= null and then Position.Node /= null;
     end Has_Element;
  
     ------------
--- 633,640 ----
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
     end Has_Element;
  
     ------------
*************** package body Ada.Containers.Indefinite_D
*** 507,516 ****
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
        if Count = 0 then
--- 651,668 ----
        New_Node : Node_Access;
  
     begin
!       if Before.Container /= null then
!          if Before.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          if Before.Node = null
!            or else Before.Node.Element = null
!          then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad cursor in Insert");
        end if;
  
        if Count = 0 then
*************** package body Ada.Containers.Indefinite_D
*** 518,523 ****
--- 670,683 ----
           return;
        end if;
  
+       if Container.Length > Count_Type'Last - Count then
+          raise Constraint_Error;
+       end if;
+ 
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        declare
           Element : Element_Access := new Element_Type'(New_Item);
        begin
*************** package body Ada.Containers.Indefinite_D
*** 529,535 ****
        end;
  
        Insert_Internal (Container, Before.Node, New_Node);
!       Position := Cursor'(Before.Container, New_Node);
  
        for J in Count_Type'(2) .. Count loop
  
--- 689,695 ----
        end;
  
        Insert_Internal (Container, Before.Node, New_Node);
!       Position := Cursor'(Container'Unchecked_Access, New_Node);
  
        for J in Count_Type'(2) .. Count loop
  
*************** package body Ada.Containers.Indefinite_D
*** 623,659 ****
       (Container : List;
        Process   : not null access procedure (Position : in Cursor))
     is
!       Node : Node_Access := Container.First;
!    begin
!       while Node /= null loop
!          Process (Cursor'(Container'Unchecked_Access, Node));
!          Node := Node.Next;
!       end loop;
!    end Iterate;
  
!    ----------
!    -- Move --
!    ----------
  
-    procedure Move (Target : in out List; Source : in out List) is
     begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
! 
!       if Target.Length > 0 then
!          raise Constraint_Error;
!       end if;
! 
!       Target.First := Source.First;
!       Source.First := null;
  
!       Target.Last := Source.Last;
!       Source.Last := null;
  
!       Target.Length := Source.Length;
!       Source.Length := 0;
!    end Move;
  
     ----------
     -- Last --
--- 783,809 ----
       (Container : List;
        Process   : not null access procedure (Position : in Cursor))
     is
!       C : List renames Container'Unrestricted_Access.all;
!       B : Natural renames C.Busy;
  
!       Node : Node_Access := Container.First;
  
     begin
!       B := B + 1;
  
!       begin
!          while Node /= null loop
!             Process (Cursor'(Container'Unchecked_Access, Node));
!             Node := Node.Next;
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
  
!       B := B - 1;
!    end Iterate;
  
     ----------
     -- Last --
*************** package body Ada.Containers.Indefinite_D
*** 674,679 ****
--- 824,833 ----
  
     function Last_Element (Container : List) return Element_Type is
     begin
+       if Container.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Last.Element.all;
     end Last_Element;
  
*************** package body Ada.Containers.Indefinite_D
*** 687,697 ****
--- 841,879 ----
     end Length;
  
     ----------
+    -- Move --
+    ----------
+ 
+    procedure Move (Target : in out List; Source : in out List) is
+    begin
+       if Target'Address = Source'Address then
+          return;
+       end if;
+ 
+       if Source.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
+       Clear (Target);
+ 
+       Target.First := Source.First;
+       Source.First := null;
+ 
+       Target.Last := Source.Last;
+       Source.Last := null;
+ 
+       Target.Length := Source.Length;
+       Source.Length := 0;
+    end Move;
+ 
+    ----------
     -- Next --
     ----------
  
     procedure Next (Position : in out Cursor) is
     begin
+       pragma Assert (Vet (Position), "bad cursor in procedure Next");
+ 
        if Position.Node = null then
           return;
        end if;
*************** package body Ada.Containers.Indefinite_D
*** 705,710 ****
--- 887,894 ----
  
     function Next (Position : Cursor) return Cursor is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Next");
+ 
        if Position.Node = null then
           return No_Element;
        end if;
*************** package body Ada.Containers.Indefinite_D
*** 739,744 ****
--- 923,930 ----
  
     procedure Previous (Position : in out Cursor) is
     begin
+       pragma Assert (Vet (Position), "bad cursor in procedure Previous");
+ 
        if Position.Node = null then
           return;
        end if;
*************** package body Ada.Containers.Indefinite_D
*** 752,757 ****
--- 938,945 ----
  
     function Previous (Position : Cursor) return Cursor is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Previous");
+ 
        if Position.Node = null then
           return No_Element;
        end if;
*************** package body Ada.Containers.Indefinite_D
*** 776,782 ****
        Process  : not null access procedure (Element : in Element_Type))
     is
     begin
!       Process (Position.Node.Element.all);
     end Query_Element;
  
     ----------
--- 964,1000 ----
        Process  : not null access procedure (Element : in Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       declare
!          C : List renames Position.Container.all'Unrestricted_Access.all;
!          B : Natural renames C.Busy;
!          L : Natural renames C.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element.all);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Indefinite_D
*** 787,797 ****
       (Stream : access Root_Stream_Type'Class;
        Item   : out List)
     is
!       N : Count_Type'Base;
!       X : Node_Access;
  
     begin
!       Clear (Item);  --  ???
  
        Count_Type'Base'Read (Stream, N);
  
--- 1005,1015 ----
       (Stream : access Root_Stream_Type'Class;
        Item   : out List)
     is
!       N   : Count_Type'Base;
!       Dst : Node_Access;
  
     begin
!       Clear (Item);
  
        Count_Type'Base'Read (Stream, N);
  
*************** package body Ada.Containers.Indefinite_D
*** 799,904 ****
           return;
        end if;
  
!       X := new Node_Type;
! 
        begin
!          X.Element := new Element_Type'(Element_Type'Input (Stream));
        exception
           when others =>
!             Free (X);
              raise;
        end;
  
!       Item.First := X;
! 
!       Item.Last := X;
!       loop
!          Item.Length := Item.Length + 1;
!          exit when Item.Length = N;
! 
!          X := new Node_Type;
  
           begin
!             X.Element := new Element_Type'(Element_Type'Input (Stream));
           exception
              when others =>
!                Free (X);
                 raise;
           end;
  
!          X.Prev := Item.Last;
!          Item.Last.Next := X;
!          Item.Last := X;
        end loop;
     end Read;
  
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Position : Cursor;
!       By       : Element_Type)
     is
-       X : Element_Access := Position.Node.Element;
     begin
!       Position.Node.Element := new Element_Type'(By);
!       Free (X);
!    end Replace_Element;
! 
!    ------------------
!    -- Reverse_Find --
!    ------------------
! 
!    function Reverse_Find
!      (Container : List;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
!       Node : Node_Access := Position.Node;
  
!    begin
!       if Node = null then
!          Node := Container.Last;
!       elsif Position.Container /= List_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       while Node /= null loop
!          if Node.Element /= null
!            and then Node.Element.all = Item
!          then
!             return Cursor'(Container'Unchecked_Access, Node);
!          end if;
! 
!          Node := Node.Prev;
!       end loop;
  
!       return No_Element;
!    end Reverse_Find;
  
!    ---------------------
!    -- Reverse_Iterate --
!    ---------------------
  
!    procedure Reverse_Iterate
!      (Container : List;
!       Process   : not null access procedure (Position : in Cursor))
!    is
!       Node : Node_Access := Container.Last;
  
!    begin
!       while Node /= null loop
!          Process (Cursor'(Container'Unchecked_Access, Node));
!          Node := Node.Prev;
!       end loop;
!    end Reverse_Iterate;
  
!    ------------------
!    -- Reverse_List --
!    ------------------
  
!    procedure Reverse_List (Container : in out List) is
        I : Node_Access := Container.First;
        J : Node_Access := Container.Last;
  
--- 1017,1105 ----
           return;
        end if;
  
!       declare
!          Element : Element_Access :=
!                      new Element_Type'(Element_Type'Input (Stream));
        begin
!          Dst := new Node_Type'(Element, null, null);
        exception
           when others =>
!             Free (Element);
              raise;
        end;
  
!       Item.First := Dst;
!       Item.Last := Dst;
!       Item.Length := 1;
  
+       while Item.Length < N loop
+          declare
+             Element : Element_Access :=
+                         new Element_Type'(Element_Type'Input (Stream));
           begin
!             Dst := new Node_Type'(Element, Next => null, Prev => Item.Last);
           exception
              when others =>
!                Free (Element);
                 raise;
           end;
  
!          Item.Last.Next := Dst;
!          Item.Last := Dst;
!          Item.Length := Item.Length + 1;
        end loop;
     end Read;
  
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor)
+    is
+    begin
+       raise Program_Error;
+    end Read;
+ 
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Container : in out List;
!       Position  : Cursor;
!       New_Item  : Element_Type)
     is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unchecked_Access then
           raise Program_Error;
        end if;
  
!       if Position.Container.Lock > 0 then
!          raise Program_Error;
!       end if;
  
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
  
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
  
!       declare
!          X : Element_Access := Position.Node.Element;
  
!       begin
!          Position.Node.Element := new Element_Type'(New_Item);
!          Free (X);
!       end;
!    end Replace_Element;
  
!    ----------------------
!    -- Reverse_Elements --
!    ----------------------
  
!    procedure Reverse_Elements (Container : in out List) is
        I : Node_Access := Container.First;
        J : Node_Access := Container.Last;
  
*************** package body Ada.Containers.Indefinite_D
*** 942,954 ****
           end if;
        end Swap;
  
!    --  Start of processing for Reverse_List
  
     begin
        if Container.Length <= 1 then
           return;
        end if;
  
        Container.First := J;
        Container.Last := I;
        loop
--- 1143,1162 ----
           end if;
        end Swap;
  
!    --  Start of processing for Reverse_Elements
  
     begin
        if Container.Length <= 1 then
           return;
        end if;
  
+       pragma Assert (Container.First.Prev = null);
+       pragma Assert (Container.Last.Next = null);
+ 
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        Container.First := J;
        Container.Last := I;
        loop
*************** package body Ada.Containers.Indefinite_D
*** 971,977 ****
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!    end Reverse_List;
  
     ------------
     -- Splice --
--- 1179,1253 ----
  
        pragma Assert (Container.First.Prev = null);
        pragma Assert (Container.Last.Next = null);
!    end Reverse_Elements;
! 
!    ------------------
!    -- Reverse_Find --
!    ------------------
! 
!    function Reverse_Find
!      (Container : List;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
!       Node : Node_Access := Position.Node;
! 
!    begin
!       if Node = null then
!          Node := Container.Last;
! 
!       else
!          if Node.Element = null then
!             raise Program_Error;
!          end if;
! 
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Position), "bad cursor in Reverse_Find");
!       end if;
! 
!       while Node /= null loop
!          if Node.Element.all = Item then
!             return Cursor'(Container'Unchecked_Access, Node);
!          end if;
! 
!          Node := Node.Prev;
!       end loop;
! 
!       return No_Element;
!    end Reverse_Find;
! 
!    ---------------------
!    -- Reverse_Iterate --
!    ---------------------
! 
!    procedure Reverse_Iterate
!      (Container : List;
!       Process   : not null access procedure (Position : in Cursor))
!    is
!       C : List renames Container'Unrestricted_Access.all;
!       B : Natural renames C.Busy;
! 
!       Node : Node_Access := Container.Last;
! 
!    begin
!       B := B + 1;
! 
!       begin
!          while Node /= null loop
!             Process (Cursor'(Container'Unchecked_Access, Node));
!             Node := Node.Prev;
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
!    end Reverse_Iterate;
  
     ------------
     -- Splice --
*************** package body Ada.Containers.Indefinite_D
*** 983,992 ****
        Source : in out List)
     is
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
        if Target'Address = Source'Address
--- 1259,1276 ----
        Source : in out List)
     is
     begin
!       if Before.Container /= null then
!          if Before.Container /= Target'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          if Before.Node = null
!            or else Before.Node.Element = null
!          then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad cursor in Splice");
        end if;
  
        if Target'Address = Source'Address
*************** package body Ada.Containers.Indefinite_D
*** 995,1002 ****
--- 1279,1301 ----
           return;
        end if;
  
+       pragma Assert (Source.First.Prev = null);
+       pragma Assert (Source.Last.Next = null);
+ 
+       if Target.Length > Count_Type'Last - Source.Length then
+          raise Constraint_Error;
+       end if;
+ 
+       if Target.Busy > 0
+         or else Source.Busy > 0
+       then
+          raise Program_Error;
+       end if;
+ 
        if Target.Length = 0 then
           pragma Assert (Before = No_Element);
+          pragma Assert (Target.First = null);
+          pragma Assert (Target.Last = null);
  
           Target.First := Source.First;
           Target.Last := Source.Last;
*************** package body Ada.Containers.Indefinite_D
*** 1018,1023 ****
--- 1317,1323 ----
           Target.First := Source.First;
  
        else
+          pragma Assert (Target.Length >= 2);
           Before.Node.Prev.Next := Source.First;
           Source.First.Prev := Before.Node.Prev;
  
*************** package body Ada.Containers.Indefinite_D
*** 1037,1177 ****
        Before   : Cursor;
        Position : Cursor)
     is
-       X : Node_Access := Position.Node;
- 
     begin
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if Position.Container /= null
!         and then Position.Container /= List_Access'(Target'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if X = null
!         or else X = Before.Node
!         or else X.Next = Before.Node
        then
           return;
        end if;
  
!       pragma Assert (Target.Length > 0);
  
        if Before.Node = null then
!          pragma Assert (X /= Target.Last);
  
!          if X = Target.First then
!             Target.First := X.Next;
              Target.First.Prev := null;
           else
!             X.Prev.Next := X.Next;
!             X.Next.Prev := X.Prev;
           end if;
  
!          Target.Last.Next := X;
!          X.Prev := Target.Last;
  
!          Target.Last := X;
           Target.Last.Next := null;
  
           return;
        end if;
  
        if Before.Node = Target.First then
!          pragma Assert (X /= Target.First);
  
!          if X = Target.Last then
!             Target.Last := X.Prev;
              Target.Last.Next := null;
           else
!             X.Prev.Next := X.Next;
!             X.Next.Prev := X.Prev;
           end if;
  
!          Target.First.Prev := X;
!          X.Next := Target.First;
  
!          Target.First := X;
           Target.First.Prev := null;
  
           return;
        end if;
  
!       if X = Target.First then
!          Target.First := X.Next;
           Target.First.Prev := null;
  
!       elsif X = Target.Last then
!          Target.Last := X.Prev;
           Target.Last.Next := null;
  
        else
!          X.Prev.Next := X.Next;
!          X.Next.Prev := X.Prev;
        end if;
  
!       Before.Node.Prev.Next := X;
!       X.Prev := Before.Node.Prev;
  
!       Before.Node.Prev := X;
!       X.Next := Before.Node;
     end Splice;
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Source   : in out List;
!       Position : Cursor)
     is
-       X : Node_Access := Position.Node;
- 
     begin
        if Target'Address = Source'Address then
           Splice (Target, Before, Position);
           return;
        end if;
  
!       if Before.Container /= null
!         and then Before.Container /= List_Access'(Target'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if Position.Container /= null
!         and then Position.Container /= List_Access'(Source'Unchecked_Access)
!       then
           raise Program_Error;
        end if;
  
!       if X = null then
!          return;
        end if;
  
!       pragma Assert (Source.Length > 0);
!       pragma Assert (Source.First.Prev = null);
!       pragma Assert (Source.Last.Next = null);
  
!       if X = Source.First then
!          Source.First := X.Next;
!          Source.First.Prev := null;
  
!          if X = Source.Last then
              pragma Assert (Source.First = null);
              pragma Assert (Source.Length = 1);
              Source.Last := null;
           end if;
  
!       elsif X = Source.Last then
!          Source.Last := X.Prev;
           Source.Last.Next := null;
  
        else
!          X.Prev.Next := X.Next;
!          X.Next.Prev := X.Prev;
        end if;
  
        if Target.Length = 0 then
--- 1337,1517 ----
        Before   : Cursor;
        Position : Cursor)
     is
     begin
!       if Before.Container /= null then
!          if Before.Container /= Target'Unchecked_Access then
!             raise Program_Error;
!          end if;
! 
!          if Before.Node = null
!            or else Before.Node.Element = null
!          then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad Before cursor in Splice");
!       end if;
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
           raise Program_Error;
        end if;
  
!       if Position.Container /= Target'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Position), "bad Position cursor in Splice");
! 
!       if Position.Node = Before.Node
!         or else Position.Node.Next = Before.Node
        then
           return;
        end if;
  
!       pragma Assert (Target.Length >= 2);
! 
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
  
        if Before.Node = null then
!          pragma Assert (Position.Node /= Target.Last);
  
!          if Position.Node = Target.First then
!             Target.First := Position.Node.Next;
              Target.First.Prev := null;
           else
!             Position.Node.Prev.Next := Position.Node.Next;
!             Position.Node.Next.Prev := Position.Node.Prev;
           end if;
  
!          Target.Last.Next := Position.Node;
!          Position.Node.Prev := Target.Last;
  
!          Target.Last := Position.Node;
           Target.Last.Next := null;
  
           return;
        end if;
  
        if Before.Node = Target.First then
!          pragma Assert (Position.Node /= Target.First);
  
!          if Position.Node = Target.Last then
!             Target.Last := Position.Node.Prev;
              Target.Last.Next := null;
           else
!             Position.Node.Prev.Next := Position.Node.Next;
!             Position.Node.Next.Prev := Position.Node.Prev;
           end if;
  
!          Target.First.Prev := Position.Node;
!          Position.Node.Next := Target.First;
  
!          Target.First := Position.Node;
           Target.First.Prev := null;
  
           return;
        end if;
  
!       if Position.Node = Target.First then
!          Target.First := Position.Node.Next;
           Target.First.Prev := null;
  
!       elsif Position.Node = Target.Last then
!          Target.Last := Position.Node.Prev;
           Target.Last.Next := null;
  
        else
!          Position.Node.Prev.Next := Position.Node.Next;
!          Position.Node.Next.Prev := Position.Node.Prev;
        end if;
  
!       Before.Node.Prev.Next := Position.Node;
!       Position.Node.Prev := Before.Node.Prev;
  
!       Before.Node.Prev := Position.Node;
!       Position.Node.Next := Before.Node;
! 
!       pragma Assert (Target.First.Prev = null);
!       pragma Assert (Target.Last.Next = null);
     end Splice;
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Source   : in out List;
!       Position : in out Cursor)
     is
     begin
        if Target'Address = Source'Address then
           Splice (Target, Before, Position);
           return;
        end if;
  
!       if Before.Container /= null then
!          if Before.Container /= Target'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          if Before.Node = null
!            or else Before.Node.Element = null
!          then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Before), "bad Before cursor in Splice");
!       end if;
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
           raise Program_Error;
        end if;
  
!       if Position.Container /= Source'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Position), "bad Position cursor in Splice");
! 
!       if Target.Length = Count_Type'Last then
!          raise Constraint_Error;
        end if;
  
!       if Target.Busy > 0
!         or else Source.Busy > 0
!       then
!          raise Program_Error;
!       end if;
  
!       if Position.Node = Source.First then
!          Source.First := Position.Node.Next;
  
!          if Position.Node = Source.Last then
              pragma Assert (Source.First = null);
              pragma Assert (Source.Length = 1);
              Source.Last := null;
+ 
+          else
+             Source.First.Prev := null;
           end if;
  
!       elsif Position.Node = Source.Last then
!          pragma Assert (Source.Length >= 2);
!          Source.Last := Position.Node.Prev;
           Source.Last.Next := null;
  
        else
!          pragma Assert (Source.Length >= 3);
!          Position.Node.Prev.Next := Position.Node.Next;
!          Position.Node.Next.Prev := Position.Node.Prev;
        end if;
  
        if Target.Length = 0 then
*************** package body Ada.Containers.Indefinite_D
*** 1179,1227 ****
           pragma Assert (Target.First = null);
           pragma Assert (Target.Last = null);
  
!          Target.First := X;
!          Target.Last := X;
  
        elsif Before.Node = null then
!          Target.Last.Next := X;
!          X.Next := Target.Last;
  
!          Target.Last := X;
           Target.Last.Next := null;
  
        elsif Before.Node = Target.First then
!          Target.First.Prev := X;
!          X.Next := Target.First;
  
!          Target.First := X;
           Target.First.Prev := null;
  
        else
!          Before.Node.Prev.Next := X;
!          X.Prev := Before.Node.Prev;
  
!          Before.Node.Prev := X;
!          X.Next := Before.Node;
        end if;
  
        Target.Length := Target.Length + 1;
        Source.Length := Source.Length - 1;
     end Splice;
  
     ----------
     -- Swap --
     ----------
  
!    procedure Swap (I, J : Cursor) is
  
!       --  Is this op legal when I and J designate elements in different
!       --  containers, or should it raise an exception (e.g. Program_Error).
  
!       EI : constant Element_Access := I.Node.Element;
  
!    begin
!       I.Node.Element := J.Node.Element;
!       J.Node.Element := EI;
     end Swap;
  
     ----------------
--- 1519,1600 ----
           pragma Assert (Target.First = null);
           pragma Assert (Target.Last = null);
  
!          Target.First := Position.Node;
!          Target.Last := Position.Node;
! 
!          Target.First.Prev := null;
!          Target.Last.Next := null;
  
        elsif Before.Node = null then
!          pragma Assert (Target.Last.Next = null);
!          Target.Last.Next := Position.Node;
!          Position.Node.Prev := Target.Last;
  
!          Target.Last := Position.Node;
           Target.Last.Next := null;
  
        elsif Before.Node = Target.First then
!          pragma Assert (Target.First.Prev = null);
!          Target.First.Prev := Position.Node;
!          Position.Node.Next := Target.First;
  
!          Target.First := Position.Node;
           Target.First.Prev := null;
  
        else
!          pragma Assert (Target.Length >= 2);
!          Before.Node.Prev.Next := Position.Node;
!          Position.Node.Prev := Before.Node.Prev;
  
!          Before.Node.Prev := Position.Node;
!          Position.Node.Next := Before.Node;
        end if;
  
        Target.Length := Target.Length + 1;
        Source.Length := Source.Length - 1;
+ 
+       Position.Container := Target'Unchecked_Access;
     end Splice;
  
     ----------
     -- Swap --
     ----------
  
!    procedure Swap
!      (Container : in out List;
!       I, J      : Cursor)
!    is
!    begin
!       if I.Node = null
!         or else J.Node = null
!       then
!          raise Constraint_Error;
!       end if;
  
!       if I.Container /= Container'Unchecked_Access
!         or else J.Container /= Container'Unchecked_Access
!       then
!          raise Program_Error;
!       end if;
  
!       if I.Node = J.Node then
!          return;
!       end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (I), "bad I cursor in Swap");
!       pragma Assert (Vet (J), "bad J cursor in Swap");
! 
!       declare
!          EI_Copy : constant Element_Access := I.Node.Element;
! 
!       begin
!          I.Node.Element := J.Node.Element;
!          J.Node.Element := EI_Copy;
!       end;
     end Swap;
  
     ----------------
*************** package body Ada.Containers.Indefinite_D
*** 1233,1259 ****
        I, J      : Cursor)
     is
     begin
!       if I = No_Element
!         or else J = No_Element
        then
           raise Constraint_Error;
        end if;
  
!       if I.Container /= List_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
!       end if;
! 
!       if J.Container /= I.Container then
           raise Program_Error;
        end if;
  
-       pragma Assert (Container.Length >= 1);
- 
        if I.Node = J.Node then
           return;
        end if;
  
!       pragma Assert (Container.Length >= 2);
  
        declare
           I_Next : constant Cursor := Next (I);
--- 1606,1633 ----
        I, J      : Cursor)
     is
     begin
!       if I.Node = null
!         or else J.Node = null
        then
           raise Constraint_Error;
        end if;
  
!       if I.Container /= Container'Unrestricted_Access
!         or else I.Container /= J.Container
!       then
           raise Program_Error;
        end if;
  
        if I.Node = J.Node then
           return;
        end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (I), "bad I cursor in Swap_Links");
!       pragma Assert (Vet (J), "bad J cursor in Swap_Links");
  
        declare
           I_Next : constant Cursor := Next (I);
*************** package body Ada.Containers.Indefinite_D
*** 1278,1283 ****
--- 1652,1660 ----
              end;
           end if;
        end;
+ 
+       pragma Assert (Container.First.Prev = null);
+       pragma Assert (Container.Last.Next = null);
     end Swap_Links;
  
     --------------------
*************** package body Ada.Containers.Indefinite_D
*** 1285,1297 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
     begin
!       Process (Position.Node.Element.all);
     end Update_Element;
  
     -----------
     -- Write --
     -----------
--- 1662,1851 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out List;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container /= Container'Unchecked_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position), "bad cursor in Update_Element");
! 
!       declare
!          B : Natural renames Container.Busy;
!          L : Natural renames Container.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element.all);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
+    ---------
+    -- Vet --
+    ---------
+ 
+    function Vet (Position : Cursor) return Boolean is
+    begin
+       if Position.Node = null then
+          return Position.Container = null;
+       end if;
+ 
+       if Position.Container = null then
+          return False;
+       end if;
+ 
+       if Position.Node.Next = Position.Node then
+          return False;
+       end if;
+ 
+       if Position.Node.Prev = Position.Node then
+          return False;
+       end if;
+ 
+       if Position.Node.Element = null then
+          return False;
+       end if;
+ 
+       declare
+          L : List renames Position.Container.all;
+       begin
+          if L.Length = 0 then
+             return False;
+          end if;
+ 
+          if L.First = null then
+             return False;
+          end if;
+ 
+          if L.Last = null then
+             return False;
+          end if;
+ 
+          if L.First.Prev /= null then
+             return False;
+          end if;
+ 
+          if L.Last.Next /= null then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev = null
+            and then Position.Node /= L.First
+          then
+             return False;
+          end if;
+ 
+          if Position.Node.Next = null
+            and then Position.Node /= L.Last
+          then
+             return False;
+          end if;
+ 
+          if L.Length = 1 then
+             return L.First = L.Last;
+          end if;
+ 
+          if L.First = L.Last then
+             return False;
+          end if;
+ 
+          if L.First.Next = null then
+             return False;
+          end if;
+ 
+          if L.Last.Prev = null then
+             return False;
+          end if;
+ 
+          if L.First.Next.Prev /= L.First then
+             return False;
+          end if;
+ 
+          if L.Last.Prev.Next /= L.Last then
+             return False;
+          end if;
+ 
+          if L.Length = 2 then
+             if L.First.Next /= L.Last then
+                return False;
+             end if;
+ 
+             if L.Last.Prev /= L.First then
+                return False;
+             end if;
+ 
+             return True;
+          end if;
+ 
+          if L.First.Next = L.Last then
+             return False;
+          end if;
+ 
+          if L.Last.Prev = L.First then
+             return False;
+          end if;
+ 
+          if Position.Node = L.First then
+             return True;
+          end if;
+ 
+          if Position.Node = L.Last then
+             return True;
+          end if;
+ 
+          if Position.Node.Next = null then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev = null then
+             return False;
+          end if;
+ 
+          if Position.Node.Next.Prev /= Position.Node then
+             return False;
+          end if;
+ 
+          if Position.Node.Prev.Next /= Position.Node then
+             return False;
+          end if;
+ 
+          if L.Length = 3 then
+             if L.First.Next /= Position.Node then
+                return False;
+             end if;
+ 
+             if L.Last.Prev /= Position.Node then
+                return False;
+             end if;
+          end if;
+ 
+          return True;
+       end;
+    end Vet;
+ 
     -----------
     -- Write --
     -----------
*************** package body Ada.Containers.Indefinite_D
*** 1301,1314 ****
        Item   : List)
     is
        Node : Node_Access := Item.First;
     begin
        Count_Type'Base'Write (Stream, Item.Length);
        while Node /= null loop
           Element_Type'Output (Stream, Node.Element.all);  --  X.all
           Node := Node.Next;
        end loop;
     end Write;
  
! end Ada.Containers.Indefinite_Doubly_Linked_Lists;
! 
  
--- 1855,1876 ----
        Item   : List)
     is
        Node : Node_Access := Item.First;
+ 
     begin
        Count_Type'Base'Write (Stream, Item.Length);
+ 
        while Node /= null loop
           Element_Type'Output (Stream, Node.Element.all);  --  X.all
           Node := Node.Next;
        end loop;
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Indefinite_Doubly_Linked_Lists;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cidlli.ads gcc-4.1.0/gcc/ada/a-cidlli.ads
*** gcc-4.0.2/gcc/ada/a-cidlli.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cidlli.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --              ADA.CONTAINERS.INDEFINITE_DOUBLY_LINKED_LISTS               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --        I N D E F I N I T E _ D O U B L Y _ L I N K E D _ L I S T S       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Finalization;
*** 37,50 ****
  with Ada.Streams;
  
  generic
- 
     type Element_Type (<>) is private;
  
     with function "=" (Left, Right : Element_Type)
        return Boolean is <>;
  
  package Ada.Containers.Indefinite_Doubly_Linked_Lists is
!    pragma Preelaborate (Indefinite_Doubly_Linked_Lists);
  
     type List is tagged private;
  
--- 38,50 ----
  with Ada.Streams;
  
  generic
     type Element_Type (<>) is private;
  
     with function "=" (Left, Right : Element_Type)
        return Boolean is <>;
  
  package Ada.Containers.Indefinite_Doubly_Linked_Lists is
!    pragma Preelaborate;
  
     type List is tagged private;
  
*************** package Ada.Containers.Indefinite_Doubly
*** 62,107 ****
  
     procedure Clear (Container : in out List);
  
!    function Element (Position : Cursor)
!       return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type));
! 
!    procedure Replace_Element
!      (Position : Cursor;
!       By       : Element_Type);
  
     procedure Move
       (Target : in out List;
        Source : in out List);
  
!    procedure Prepend
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Append
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
-       Before    : Cursor;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
-       Before    : Cursor;
        New_Item  : Element_Type;
-       Position  : out Cursor;
        Count     : Count_Type := 1);
  
     procedure Delete
--- 62,108 ----
  
     procedure Clear (Container : in out List);
  
!    function Element (Position : Cursor) return Element_Type;
! 
!    procedure Replace_Element
!      (Container : in out List;
!       Position  : Cursor;
!       New_Item  : Element_Type);
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out List;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Move
       (Target : in out List;
        Source : in out List);
  
!    procedure Insert
       (Container : in out List;
+       Before    : Cursor;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Insert
       (Container : in out List;
+       Before    : Cursor;
        New_Item  : Element_Type;
+       Position  : out Cursor;
        Count     : Count_Type := 1);
  
!    procedure Prepend
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
!    procedure Append
       (Container : in out List;
        New_Item  : Element_Type;
        Count     : Count_Type := 1);
  
     procedure Delete
*************** package Ada.Containers.Indefinite_Doubly
*** 117,137 ****
       (Container : in out List;
        Count     : Count_Type := 1);
  
!    generic
!       with function "<" (Left, Right : Element_Type)
!          return Boolean is <>;
!    procedure Generic_Sort (Container : in out List);
! 
!    generic
!       with function "<" (Left, Right : Element_Type)
!          return Boolean is <>;
!    procedure Generic_Merge
!      (Target : in out List;
!       Source : in out List);
! 
!    procedure Reverse_List (Container : in out List);
  
!    procedure Swap (I, J : Cursor);
  
     procedure Swap_Links (Container : in out List; I, J : Cursor);
  
--- 118,126 ----
       (Container : in out List;
        Count     : Count_Type := 1);
  
!    procedure Reverse_Elements (Container : in out List);
  
!    procedure Swap (Container : in out List; I, J : Cursor);
  
     procedure Swap_Links (Container : in out List; I, J : Cursor);
  
*************** package Ada.Containers.Indefinite_Doubly
*** 143,154 ****
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
!       Position : Cursor);
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
-       Source   : in out List;
        Position : Cursor);
  
     function First (Container : List) return Cursor;
--- 132,143 ----
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
!       Source   : in out List;
!       Position : in out Cursor);
  
     procedure Splice
       (Target   : in out List;
        Before   : Cursor;
        Position : Cursor);
  
     function First (Container : List) return Cursor;
*************** package Ada.Containers.Indefinite_Doubly
*** 159,167 ****
  
     function Last_Element (Container : List) return Element_Type;
  
!    function Contains
!      (Container : List;
!       Item      : Element_Type) return Boolean;
  
     function Find
       (Container : List;
--- 148,160 ----
  
     function Last_Element (Container : List) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
! 
!    procedure Next (Position : in out Cursor);
! 
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Previous (Position : in out Cursor);
  
     function Find
       (Container : List;
*************** package Ada.Containers.Indefinite_Doubly
*** 173,185 ****
        Item      : Element_Type;
        Position  : Cursor := No_Element) return Cursor;
  
!    function Next (Position : Cursor) return Cursor;
! 
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Next (Position : in out Cursor);
! 
!    procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
--- 166,174 ----
        Item      : Element_Type;
        Position  : Cursor := No_Element) return Cursor;
  
!    function Contains
!      (Container : List;
!       Item      : Element_Type) return Boolean;
  
     function Has_Element (Position : Cursor) return Boolean;
  
*************** package Ada.Containers.Indefinite_Doubly
*** 191,196 ****
--- 180,197 ----
       (Container : List;
        Process   : not null access procedure (Position : Cursor));
  
+    generic
+       with function "<" (Left, Right : Element_Type) return Boolean is <>;
+    package Generic_Sorting is
+ 
+       function Is_Sorted (Container : List) return Boolean;
+ 
+       procedure Sort (Container : in out List);
+ 
+       procedure Merge (Target, Source : in out List);
+ 
+    end Generic_Sorting;
+ 
  private
     type Node_Type;
     type Node_Access is access Node_Type;
*************** private
*** 198,211 ****
     type Element_Access is access Element_Type;
  
     type Node_Type is
!       record
           Element : Element_Access;
           Next    : Node_Access;
           Prev    : Node_Access;
        end record;
  
-    function "=" (L, R : Node_Type) return Boolean is abstract;
- 
     use Ada.Finalization;
  
     type List is
--- 199,210 ----
     type Element_Access is access Element_Type;
  
     type Node_Type is
!       limited record
           Element : Element_Access;
           Next    : Node_Access;
           Prev    : Node_Access;
        end record;
  
     use Ada.Finalization;
  
     type List is
*************** private
*** 213,218 ****
--- 212,219 ----
          First  : Node_Access;
          Last   : Node_Access;
          Length : Count_Type := 0;
+         Busy   : Natural := 0;
+         Lock   : Natural := 0;
       end record;
  
     procedure Adjust (Container : in out List);
*************** private
*** 233,239 ****
  
     for List'Write use Write;
  
!    Empty_List : constant List := List'(Controlled with null, null, 0);
  
     type List_Access is access constant List;
     for List_Access'Storage_Size use 0;
--- 234,240 ----
  
     for List'Write use Write;
  
!    Empty_List : constant List := List'(Controlled with null, null, 0, 0, 0);
  
     type List_Access is access constant List;
     for List_Access'Storage_Size use 0;
*************** private
*** 244,251 ****
           Node      : Node_Access;
        end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
! end Ada.Containers.Indefinite_Doubly_Linked_Lists;
  
  
--- 245,262 ----
           Node      : Node_Access;
        end record;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
  
!    for Cursor'Read use Read;
! 
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
+    for Cursor'Write use Write;
  
+    No_Element : constant Cursor := Cursor'(null, null);
+ 
+ end Ada.Containers.Indefinite_Doubly_Linked_Lists;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cihama.adb gcc-4.1.0/gcc/ada/a-cihama.adb
*** gcc-4.0.2/gcc/ada/a-cihama.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cihama.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_HASHED_MAPS                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --               I N D E F I N I T E _ H A S H E D _ M A P S                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Unchecked_Deallocation;
*** 43,57 ****
  
  package body Ada.Containers.Indefinite_Hashed_Maps is
  
-    type Key_Access is access Key_Type;
-    type Element_Access is access Element_Type;
- 
-    type Node_Type is limited record
-       Key     : Key_Access;
-       Element : Element_Access;
-       Next    : Node_Access;
-    end record;
- 
     procedure Free_Key is
        new Ada.Unchecked_Deallocation (Key_Type, Key_Access);
  
--- 44,49 ----
*************** package body Ada.Containers.Indefinite_H
*** 65,81 ****
     function Copy_Node (Node : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Equivalent_Keys
       (Key  : Key_Type;
        Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
     function Find_Equal_Key
!      (R_Map  : Map;
        L_Node : Node_Access) return Boolean;
  
     procedure Free (X : in out Node_Access);
!    pragma Inline (Free);
  
     function Hash_Node (Node : Node_Access) return Hash_Type;
     pragma Inline (Hash_Node);
--- 57,73 ----
     function Copy_Node (Node : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Equivalent_Key_Node
       (Key  : Key_Type;
        Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Key_Node);
  
     function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
        L_Node : Node_Access) return Boolean;
  
     procedure Free (X : in out Node_Access);
!    --  pragma Inline (Free);
  
     function Hash_Node (Node : Node_Access) return Hash_Type;
     pragma Inline (Hash_Node);
*************** package body Ada.Containers.Indefinite_H
*** 89,94 ****
--- 81,88 ----
     procedure Set_Next (Node : Node_Access; Next : Node_Access);
     pragma Inline (Set_Next);
  
+    function Vet (Position : Cursor) return Boolean;
+ 
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
        Node   : Node_Access);
*************** package body Ada.Containers.Indefinite_H
*** 100,107 ****
     package HT_Ops is
        new Ada.Containers.Hash_Tables.Generic_Operations
          (HT_Types          => HT_Types,
-          Hash_Table_Type   => Map,
-          Null_Node         => null,
           Hash_Node         => Hash_Node,
           Next              => Next,
           Set_Next          => Set_Next,
--- 94,99 ----
*************** package body Ada.Containers.Indefinite_H
*** 111,123 ****
     package Key_Ops is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
-         HT_Type   => Map,
-         Null_Node => null,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Key_Type,
          Hash      => Hash,
!         Equivalent_Keys => Equivalent_Keys);
  
     ---------
     -- "=" --
--- 103,113 ----
     package Key_Ops is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Key_Type,
          Hash      => Hash,
!         Equivalent_Keys => Equivalent_Key_Node);
  
     ---------
     -- "=" --
*************** package body Ada.Containers.Indefinite_H
*** 125,150 ****
  
     function Is_Equal is new HT_Ops.Generic_Equal (Find_Equal_Key);
  
!    function "=" (Left, Right : Map) return Boolean renames Is_Equal;
  
     ------------
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) renames HT_Ops.Adjust;
  
     --------------
     -- Capacity --
     --------------
  
!    function Capacity (Container : Map)
!      return Count_Type renames HT_Ops.Capacity;
  
     -----------
     -- Clear --
     -----------
  
!    procedure Clear (Container : in out Map) renames HT_Ops.Clear;
  
     --------------
     -- Contains --
--- 115,151 ----
  
     function Is_Equal is new HT_Ops.Generic_Equal (Find_Equal_Key);
  
!    function "=" (Left, Right : Map) return Boolean is
!    begin
!       return Is_Equal (Left.HT, Right.HT);
!    end "=";
  
     ------------
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) is
!    begin
!       HT_Ops.Adjust (Container.HT);
!    end Adjust;
  
     --------------
     -- Capacity --
     --------------
  
!    function Capacity (Container : Map) return Count_Type is
!    begin
!       return HT_Ops.Capacity (Container.HT);
!    end Capacity;
  
     -----------
     -- Clear --
     -----------
  
!    procedure Clear (Container : in out Map) is
!    begin
!       HT_Ops.Clear (Container.HT);
!    end Clear;
  
     --------------
     -- Contains --
*************** package body Ada.Containers.Indefinite_H
*** 182,188 ****
        X : Node_Access;
  
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container, Key, X);
  
        if X = null then
           raise Constraint_Error;
--- 183,189 ----
        X : Node_Access;
  
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container.HT, Key, X);
  
        if X = null then
           raise Constraint_Error;
*************** package body Ada.Containers.Indefinite_H
*** 193,209 ****
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Map_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
!       Free (Position.Node);
  
        Position.Container := null;
     end Delete;
  
--- 194,216 ----
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Delete");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       if Container.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
+       HT_Ops.Delete_Node_Sans_Free (Container.HT, Position.Node);
+ 
+       Free (Position.Node);
        Position.Container := null;
     end Delete;
  
*************** package body Ada.Containers.Indefinite_H
*** 212,241 ****
     -------------
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
!       C : constant Cursor := Find (Container, Key);
     begin
!       return C.Node.Element.all;
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
        return Position.Node.Element.all;
     end Element;
  
!    ---------------------
!    -- Equivalent_Keys --
!    ---------------------
  
!    function Equivalent_Keys
       (Key  : Key_Type;
        Node : Node_Access) return Boolean
     is
     begin
        return Equivalent_Keys (Key, Node.Key.all);
!    end Equivalent_Keys;
  
     function Equivalent_Keys (Left, Right : Cursor) return Boolean is
     begin
        return Equivalent_Keys (Left.Node.Key.all, Right.Node.Key.all);
     end Equivalent_Keys;
  
--- 219,272 ----
     -------------
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
! 
     begin
!       if Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       return Node.Element.all;
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Element");
+ 
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Position.Node.Element.all;
     end Element;
  
!    -------------------------
!    -- Equivalent_Key_Node --
!    -------------------------
  
!    function Equivalent_Key_Node
       (Key  : Key_Type;
        Node : Node_Access) return Boolean
     is
     begin
        return Equivalent_Keys (Key, Node.Key.all);
!    end Equivalent_Key_Node;
! 
!    ---------------------
!    -- Equivalent_Keys --
!    ---------------------
  
     function Equivalent_Keys (Left, Right : Cursor) return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
+ 
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left.Node.Key.all, Right.Node.Key.all);
     end Equivalent_Keys;
  
*************** package body Ada.Containers.Indefinite_H
*** 244,249 ****
--- 275,286 ----
        Right : Key_Type) return Boolean
     is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+ 
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left.Node.Key.all, Right);
     end Equivalent_Keys;
  
*************** package body Ada.Containers.Indefinite_H
*** 252,257 ****
--- 289,300 ----
        Right : Cursor) return Boolean
     is
     begin
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
+ 
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left, Right.Node.Key.all);
     end Equivalent_Keys;
  
*************** package body Ada.Containers.Indefinite_H
*** 262,268 ****
     procedure Exclude (Container : in out Map; Key : Key_Type) is
        X : Node_Access;
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container, Key, X);
        Free (X);
     end Exclude;
  
--- 305,311 ----
     procedure Exclude (Container : in out Map; Key : Key_Type) is
        X : Node_Access;
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container.HT, Key, X);
        Free (X);
     end Exclude;
  
*************** package body Ada.Containers.Indefinite_H
*** 270,283 ****
     -- Finalize --
     --------------
  
!    procedure Finalize (Container : in out Map) renames HT_Ops.Finalize;
  
     ----------
     -- Find --
     ----------
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
!       Node : constant Node_Access := Key_Ops.Find (Container, Key);
  
     begin
        if Node = null then
--- 313,329 ----
     -- Finalize --
     --------------
  
!    procedure Finalize (Container : in out Map) is
!    begin
!       HT_Ops.Finalize (Container.HT);
!    end Finalize;
  
     ----------
     -- Find --
     ----------
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
  
     begin
        if Node = null then
*************** package body Ada.Containers.Indefinite_H
*** 292,302 ****
     --------------------
  
     function Find_Equal_Key
!      (R_Map  : Map;
        L_Node : Node_Access) return Boolean
     is
!       R_Index : constant Hash_Type := Key_Ops.Index (R_Map, L_Node.Key.all);
!       R_Node  : Node_Access := R_Map.Buckets (R_Index);
  
     begin
        while R_Node /= null loop
--- 338,348 ----
     --------------------
  
     function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
        L_Node : Node_Access) return Boolean
     is
!       R_Index : constant Hash_Type := Key_Ops.Index (R_HT, L_Node.Key.all);
!       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
     begin
        while R_Node /= null loop
*************** package body Ada.Containers.Indefinite_H
*** 315,321 ****
     -----------
  
     function First (Container : Map) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container);
     begin
        if Node = null then
           return No_Element;
--- 361,368 ----
     -----------
  
     function First (Container : Map) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container.HT);
! 
     begin
        if Node = null then
           return No_Element;
*************** package body Ada.Containers.Indefinite_H
*** 332,342 ****
        procedure Deallocate is
           new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
     begin
!       if X /= null then
           Free_Key (X.Key);
           Free_Element (X.Element);
!          Deallocate (X);
!       end if;
     end Free;
  
     -----------------
--- 379,418 ----
        procedure Deallocate is
           new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
     begin
!       if X = null then
!          return;
!       end if;
! 
!       X.Next := X;  --  detect mischief (in Vet)
! 
!       begin
           Free_Key (X.Key);
+       exception
+          when others =>
+             X.Key := null;
+ 
+             begin
+                Free_Element (X.Element);
+             exception
+                when others =>
+                   X.Element := null;
+             end;
+ 
+             Deallocate (X);
+             raise;
+       end;
+ 
+       begin
           Free_Element (X.Element);
!       exception
!          when others =>
!             X.Element := null;
! 
!             Deallocate (X);
!             raise;
!       end;
! 
!       Deallocate (X);
     end Free;
  
     -----------------
*************** package body Ada.Containers.Indefinite_H
*** 345,351 ****
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       return Position /= No_Element;
     end Has_Element;
  
     ---------------
--- 421,428 ----
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
     end Has_Element;
  
     ---------------
*************** package body Ada.Containers.Indefinite_H
*** 376,386 ****
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
           K := Position.Node.Key;
           E := Position.Node.Element;
  
           Position.Node.Key := new Key_Type'(Key);
!          Position.Node.Element := new Element_Type'(New_Item);
  
           Free_Key (K);
           Free_Element (E);
--- 453,474 ----
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.HT.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           K := Position.Node.Key;
           E := Position.Node.Element;
  
           Position.Node.Key := new Key_Type'(Key);
! 
!          begin
!             Position.Node.Element := new Element_Type'(New_Item);
!          exception
!             when others =>
!                Free_Key (K);
!                raise;
!          end;
  
           Free_Key (K);
           Free_Element (E);
*************** package body Ada.Containers.Indefinite_H
*** 400,406 ****
     is
        function New_Node (Next : Node_Access) return Node_Access;
  
!       procedure Insert is
          new Key_Ops.Generic_Conditional_Insert (New_Node);
  
        --------------
--- 488,494 ----
     is
        function New_Node (Next : Node_Access) return Node_Access;
  
!       procedure Local_Insert is
          new Key_Ops.Generic_Conditional_Insert (New_Node);
  
        --------------
*************** package body Ada.Containers.Indefinite_H
*** 410,415 ****
--- 498,504 ----
        function New_Node (Next : Node_Access) return Node_Access is
           K  : Key_Access := new Key_Type'(Key);
           E  : Element_Access;
+ 
        begin
           E := new Element_Type'(New_Item);
           return new Node_Type'(K, E, Next);
*************** package body Ada.Containers.Indefinite_H
*** 420,430 ****
              raise;
        end New_Node;
  
     --  Start of processing for Insert
  
     begin
!       HT_Ops.Ensure_Capacity (Container, Container.Length + 1);
!       Insert (Container, Key, Position.Node, Inserted);
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
--- 509,531 ----
              raise;
        end New_Node;
  
+       HT : Hash_Table_Type renames Container.HT;
+ 
     --  Start of processing for Insert
  
     begin
!       if HT_Ops.Capacity (HT) = 0 then
!          HT_Ops.Reserve_Capacity (HT, 1);
!       end if;
! 
!       Local_Insert (HT, Key, Position.Node, Inserted);
! 
!       if Inserted
!         and then HT.Length > HT_Ops.Capacity (HT)
!       then
!          HT_Ops.Reserve_Capacity (HT, HT.Length);
!       end if;
! 
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
*************** package body Ada.Containers.Indefinite_H
*** 450,456 ****
  
     function Is_Empty (Container : Map) return Boolean is
     begin
!       return Container.Length = 0;
     end Is_Empty;
  
     -------------
--- 551,557 ----
  
     function Is_Empty (Container : Map) return Boolean is
     begin
!       return Container.HT.Length = 0;
     end Is_Empty;
  
     -------------
*************** package body Ada.Containers.Indefinite_H
*** 479,485 ****
     --  Start of processing Iterate
  
     begin
!       Iterate (Container);
     end Iterate;
  
     ---------
--- 580,586 ----
     --  Start of processing Iterate
  
     begin
!       Iterate (Container.HT);
     end Iterate;
  
     ---------
*************** package body Ada.Containers.Indefinite_H
*** 488,493 ****
--- 589,600 ----
  
     function Key (Position : Cursor) return Key_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Key");
+ 
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Position.Node.Key.all;
     end Key;
  
*************** package body Ada.Containers.Indefinite_H
*** 497,503 ****
  
     function Length (Container : Map) return Count_Type is
     begin
!       return Container.Length;
     end Length;
  
     ----------
--- 604,610 ----
  
     function Length (Container : Map) return Count_Type is
     begin
!       return Container.HT.Length;
     end Length;
  
     ----------
*************** package body Ada.Containers.Indefinite_H
*** 506,512 ****
  
     procedure Move
       (Target : in out Map;
!       Source : in out Map) renames HT_Ops.Move;
  
     ----------
     -- Next --
--- 613,623 ----
  
     procedure Move
       (Target : in out Map;
!       Source : in out Map)
!    is
!    begin
!       HT_Ops.Move (Target => Target.HT, Source => Source.HT);
!    end Move;
  
     ----------
     -- Next --
*************** package body Ada.Containers.Indefinite_H
*** 524,536 ****
  
     function Next (Position : Cursor) return Cursor is
     begin
!       if Position = No_Element then
           return No_Element;
        end if;
  
        declare
!          M    : Map renames Position.Container.all;
!          Node : constant Node_Access := HT_Ops.Next (M, Position.Node);
  
        begin
           if Node = null then
--- 635,649 ----
  
     function Next (Position : Cursor) return Cursor is
     begin
!       pragma Assert (Vet (Position), "bad cursor in function Next");
! 
!       if Position.Node = null then
           return No_Element;
        end if;
  
        declare
!          HT   : Hash_Table_Type renames Position.Container.HT;
!          Node : constant Node_Access := HT_Ops.Next (HT, Position.Node);
  
        begin
           if Node = null then
*************** package body Ada.Containers.Indefinite_H
*** 547,556 ****
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Key.all, Position.Node.Element.all);
     end Query_Element;
  
     ----------
--- 660,702 ----
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Key     : Key_Type;
!                                             Element : Element_Type))
     is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       declare
!          M  : Map renames Position.Container.all;
!          HT : Hash_Table_Type renames M.HT'Unrestricted_Access.all;
! 
!          B : Natural renames HT.Busy;
!          L : Natural renames HT.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key.all;
!             E : Element_Type renames Position.Node.Element.all;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Indefinite_H
*** 561,567 ****
  
     procedure Read
       (Stream    : access Root_Stream_Type'Class;
!       Container : out Map) renames Read_Nodes;
  
     ---------------
     -- Read_Node --
--- 707,725 ----
  
     procedure Read
       (Stream    : access Root_Stream_Type'Class;
!       Container : out Map)
!    is
!    begin
!       Read_Nodes (Stream, Container.HT);
!    end Read;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
  
     ---------------
     -- Read_Node --
*************** package body Ada.Containers.Indefinite_H
*** 602,608 ****
        Key       : Key_Type;
        New_Item  : Element_Type)
     is
!       Node : constant Node_Access := Key_Ops.Find (Container, Key);
  
        K : Key_Access;
        E : Element_Access;
--- 760,766 ----
        Key       : Key_Type;
        New_Item  : Element_Type)
     is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
  
        K : Key_Access;
        E : Element_Access;
*************** package body Ada.Containers.Indefinite_H
*** 612,622 ****
           raise Constraint_Error;
        end if;
  
        K := Node.Key;
        E := Node.Element;
  
        Node.Key := new Key_Type'(Key);
!       Node.Element := new Element_Type'(New_Item);
  
        Free_Key (K);
        Free_Element (E);
--- 770,791 ----
           raise Constraint_Error;
        end if;
  
+       if Container.HT.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        K := Node.Key;
        E := Node.Element;
  
        Node.Key := new Key_Type'(Key);
! 
!       begin
!          Node.Element := new Element_Type'(New_Item);
!       exception
!          when others =>
!             Free_Key (K);
!             raise;
!       end;
  
        Free_Key (K);
        Free_Element (E);
*************** package body Ada.Containers.Indefinite_H
*** 626,636 ****
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element (Position : Cursor; By : Element_Type) is
!       X : Element_Access := Position.Node.Element;
     begin
!       Position.Node.Element := new Element_Type'(By);
!       Free_Element (X);
     end Replace_Element;
  
     ----------------------
--- 795,827 ----
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container.HT.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       declare
!          X : Element_Access := Position.Node.Element;
! 
!       begin
!          Position.Node.Element := new Element_Type'(New_Item);
!          Free_Element (X);
!       end;
     end Replace_Element;
  
     ----------------------
*************** package body Ada.Containers.Indefinite_H
*** 639,645 ****
  
     procedure Reserve_Capacity
       (Container : in out Map;
!       Capacity  : Count_Type) renames HT_Ops.Ensure_Capacity;
  
     --------------
     -- Set_Next --
--- 830,840 ----
  
     procedure Reserve_Capacity
       (Container : in out Map;
!       Capacity  : Count_Type)
!    is
!    begin
!       HT_Ops.Reserve_Capacity (Container.HT, Capacity);
!    end Reserve_Capacity;
  
     --------------
     -- Set_Next --
*************** package body Ada.Containers.Indefinite_H
*** 655,667 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
     begin
!       Process (Position.Node.Key.all, Position.Node.Element.all);
     end Update_Element;
  
     -----------
     -- Write --
     -----------
--- 850,961 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
!                                              Element : in out Element_Type))
     is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Update_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       declare
!          HT : Hash_Table_Type renames Container.HT;
! 
!          B : Natural renames HT.Busy;
!          L : Natural renames HT.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key.all;
!             E : Element_Type renames Position.Node.Element.all;
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
+    ---------
+    -- Vet --
+    ---------
+ 
+    function Vet (Position : Cursor) return Boolean is
+    begin
+       if Position.Node = null then
+          return Position.Container = null;
+       end if;
+ 
+       if Position.Container = null then
+          return False;
+       end if;
+ 
+       if Position.Node.Next = Position.Node then
+          return False;
+       end if;
+ 
+       if Position.Node.Key = null then
+          return False;
+       end if;
+ 
+       if Position.Node.Element = null then
+          return False;
+       end if;
+ 
+       declare
+          HT : Hash_Table_Type renames Position.Container.HT;
+          X  : Node_Access;
+ 
+       begin
+          if HT.Length = 0 then
+             return False;
+          end if;
+ 
+          if HT.Buckets = null
+            or else HT.Buckets'Length = 0
+          then
+             return False;
+          end if;
+ 
+          X := HT.Buckets (Key_Ops.Index (HT, Position.Node.Key.all));
+ 
+          for J in 1 .. HT.Length loop
+             if X = Position.Node then
+                return True;
+             end if;
+ 
+             if X = null then
+                return False;
+             end if;
+ 
+             if X = X.Next then -- to prevent endless loop
+                return False;
+             end if;
+ 
+             X := X.Next;
+          end loop;
+ 
+          return False;
+       end;
+    end Vet;
+ 
     -----------
     -- Write --
     -----------
*************** package body Ada.Containers.Indefinite_H
*** 670,676 ****
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
!       Container : Map) renames Write_Nodes;
  
     ----------------
     -- Write_Node --
--- 964,982 ----
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
!       Container : Map)
!    is
!    begin
!       Write_Nodes (Stream, Container.HT);
!    end Write;
! 
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
     ----------------
     -- Write_Node --
*************** package body Ada.Containers.Indefinite_H
*** 686,689 ****
     end Write_Node;
  
  end Ada.Containers.Indefinite_Hashed_Maps;
- 
--- 992,994 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cihama.ads gcc-4.1.0/gcc/ada/a-cihama.ads
*** gcc-4.0.2/gcc/ada/a-cihama.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cihama.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_HASHED_MAPS                   --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --               I N D E F I N I T E _ H A S H E D _ M A P S                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,40 ****
--- 36,42 ----
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
+ with Ada.Finalization;
  
  generic
     type Key_Type (<>) is private;
*************** generic
*** 45,51 ****
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Hashed_Maps is
!    pragma Preelaborate (Indefinite_Hashed_Maps);
  
     type Map is tagged private;
     type Cursor is private;
--- 47,53 ----
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Hashed_Maps is
!    pragma Preelaborate;
  
     type Map is tagged private;
     type Cursor is private;
*************** package Ada.Containers.Indefinite_Hashed
*** 55,82 ****
  
     function "=" (Left, Right : Map) return Boolean;
  
     function Length (Container : Map) return Count_Type;
  
     function Is_Empty (Container : Map) return Boolean;
  
     procedure Clear (Container : in out Map);
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Key     : Key_Type;
                                              Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Key     : Key_Type;
                                              Element : in out Element_Type));
  
-    procedure Replace_Element
-      (Position : Cursor;
-       By       : Element_Type);
- 
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
--- 57,94 ----
  
     function "=" (Left, Right : Map) return Boolean;
  
+    function Capacity (Container : Map) return Count_Type;
+ 
+    procedure Reserve_Capacity
+      (Container : in out Map;
+       Capacity  : Count_Type);
+ 
     function Length (Container : Map) return Count_Type;
  
     function Is_Empty (Container : Map) return Boolean;
  
     procedure Clear (Container : in out Map);
  
+    function Key (Position : Cursor) return Key_Type;
+ 
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Map;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Key     : Key_Type;
                                              Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
                                              Element : in out Element_Type));
  
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
*************** package Ada.Containers.Indefinite_Hashed
*** 101,135 ****
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Delete
!      (Container : in out Map;
!       Key       : Key_Type);
! 
!    procedure Exclude
!      (Container : in out Map;
!       Key       : Key_Type);
! 
!    procedure Delete
!      (Container : in out Map;
!       Position  : in out Cursor);
! 
!    function Contains
!      (Container : Map;
!       Key       : Key_Type) return Boolean;
! 
!    function Find
!      (Container : Map;
!       Key       : Key_Type) return Cursor;
! 
!    function Element
!      (Container : Map;
!       Key       : Key_Type) return Element_Type;
  
!    function Capacity (Container : Map) return Count_Type;
  
!    procedure Reserve_Capacity
!      (Container : in out Map;
!       Capacity  : Count_Type);
  
     function First (Container : Map) return Cursor;
  
--- 113,123 ----
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Exclude (Container : in out Map; Key : Key_Type);
  
!    procedure Delete (Container : in out Map; Key : Key_Type);
  
!    procedure Delete (Container : in out Map; Position : in out Cursor);
  
     function First (Container : Map) return Cursor;
  
*************** package Ada.Containers.Indefinite_Hashed
*** 137,171 ****
  
     procedure Next (Position : in out Cursor);
  
!    function Has_Element (Position : Cursor) return Boolean;
  
!    function Key (Position : Cursor) return Key_Type;
  
!    function Equivalent_Keys (Left, Right : Cursor)
!      return Boolean;
  
!    function Equivalent_Keys
!      (Left  : Cursor;
!       Right : Key_Type) return Boolean;
  
!    function Equivalent_Keys
!      (Left  : Key_Type;
!       Right : Cursor) return Boolean;
  
     procedure Iterate
       (Container : Map;
        Process   : not null access procedure (Position : Cursor));
  
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package HT_Types is
!       new Hash_Tables.Generic_Hash_Table_Types (Node_Access);
  
!    use HT_Types;
  
!    type Map is new Hash_Table_Type with null record;
  
     procedure Adjust (Container : in out Map);
  
--- 125,185 ----
  
     procedure Next (Position : in out Cursor);
  
!    function Find (Container : Map; Key : Key_Type) return Cursor;
  
!    function Contains (Container : Map; Key : Key_Type) return Boolean;
  
!    function Element (Container : Map; Key : Key_Type) return Element_Type;
  
!    function Has_Element (Position : Cursor) return Boolean;
  
!    function Equivalent_Keys (Left, Right : Cursor) return Boolean;
! 
!    function Equivalent_Keys (Left : Cursor; Right : Key_Type) return Boolean;
! 
!    function Equivalent_Keys (Left : Key_Type; Right : Cursor) return Boolean;
  
     procedure Iterate
       (Container : Map;
        Process   : not null access procedure (Position : Cursor));
  
  private
+    pragma Inline ("=");
+    pragma Inline (Length);
+    pragma Inline (Is_Empty);
+    pragma Inline (Clear);
+    pragma Inline (Key);
+    pragma Inline (Element);
+    pragma Inline (Move);
+    pragma Inline (Contains);
+    pragma Inline (Capacity);
+    pragma Inline (Reserve_Capacity);
+    pragma Inline (Has_Element);
+    pragma Inline (Equivalent_Keys);
+ 
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Key_Access is access Key_Type;
!    type Element_Access is access Element_Type;
  
!    type Node_Type is limited record
!       Key     : Key_Access;
!       Element : Element_Access;
!       Next    : Node_Access;
!    end record;
  
!    package HT_Types is new Hash_Tables.Generic_Hash_Table_Types
!      (Node_Type,
!       Node_Access);
! 
!    type Map is new Ada.Finalization.Controlled with record
!       HT : HT_Types.Hash_Table_Type;
!    end record;
! 
!    use HT_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
  
     procedure Adjust (Container : in out Map);
  
*************** private
*** 180,191 ****
           Node      : Node_Access;
        end record;
  
     No_Element : constant Cursor :=
       (Container => null,
        Node      => null);
  
-    use Ada.Streams;
- 
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
        Container : Map);
--- 194,215 ----
           Node      : Node_Access;
        end record;
  
+    procedure Write
+      (Stream : access Root_Stream_Type'Class;
+       Item   : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
     No_Element : constant Cursor :=
       (Container => null,
        Node      => null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
        Container : Map);
*************** private
*** 198,206 ****
  
     for Map'Read use Read;
  
!    Empty_Map : constant Map := (Hash_Table_Type with null record);
  
  end Ada.Containers.Indefinite_Hashed_Maps;
- 
- 
- 
--- 222,227 ----
  
     for Map'Read use Read;
  
!    Empty_Map : constant Map := (Controlled with HT => (null, 0, 0, 0));
  
  end Ada.Containers.Indefinite_Hashed_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cihase.adb gcc-4.1.0/gcc/ada/a-cihase.adb
*** gcc-4.0.2/gcc/ada/a-cihase.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cihase.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_HASHED_SETS                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --               I N D E F I N I T E _ H A S H E D _ S E T S                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;  use type System.Address;
*** 45,655 ****
  
  with Ada.Containers.Prime_Numbers;
  
- with Ada.Finalization;  use Ada.Finalization;
- 
  package body Ada.Containers.Indefinite_Hashed_Sets is
  
!    type Element_Access is access Element_Type;
  
!    type Node_Type is
!       limited record
!          Element : Element_Access;
!          Next    : Node_Access;
!       end record;
  
!    function Hash_Node
!      (Node : Node_Access) return Hash_Type;
!    pragma Inline (Hash_Node);
  
!    function Hash_Node
!      (Node : Node_Access) return Hash_Type is
!    begin
!       return Hash (Node.Element.all);
!    end Hash_Node;
  
!    function Next
!      (Node : Node_Access) return Node_Access;
!    pragma Inline (Next);
  
!    function Next
!      (Node : Node_Access) return Node_Access is
!    begin
!       return Node.Next;
!    end Next;
  
!    procedure Set_Next
!      (Node : Node_Access;
!       Next : Node_Access);
!    pragma Inline (Set_Next);
  
!    procedure Set_Next
!      (Node : Node_Access;
!       Next : Node_Access) is
!    begin
!       Node.Next := Next;
!    end Set_Next;
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean is
!    begin
!       return Equivalent_Keys (Key, Node.Element.all);
!    end Equivalent_Keys;
  
!    function Copy_Node
!      (Source : Node_Access) return Node_Access;
!    pragma Inline (Copy_Node);
  
!    function Copy_Node
!      (Source : Node_Access) return Node_Access is
  
!       Target : constant Node_Access :=
!         new Node_Type'(Element => Source.Element,
!                        Next    => null);
!    begin
!       return Target;
!    end Copy_Node;
  
  
!    procedure Free_Element is
!       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
!    procedure Free (X : in out Node_Access);
  
!    procedure Free (X : in out Node_Access) is
!       procedure Deallocate is
!          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
!    begin
!       if X /= null then
!          Free_Element (X.Element);
!          Deallocate (X);
!       end if;
!    end Free;
  
     package HT_Ops is
        new Hash_Tables.Generic_Operations
!        (HT_Types          => HT_Types,
!         Hash_Table_Type   => Set,
!         Null_Node         => null,
!         Hash_Node         => Hash_Node,
!         Next              => Next,
!         Set_Next          => Set_Next,
!         Copy_Node         => Copy_Node,
!         Free              => Free);
  
     package Element_Keys is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
-         HT_Type   => Set,
-         Null_Node => null,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Element_Type,
          Hash      => Hash,
          Equivalent_Keys => Equivalent_Keys);
  
  
!    procedure Adjust (Container : in out Set) renames HT_Ops.Adjust;
! 
!    procedure Finalize (Container : in out Set) renames HT_Ops.Finalize;
! 
! 
!    function Find_Equal_Key
!      (R_Set  : Set;
!       L_Node : Node_Access) return Boolean;
  
!    function Find_Equal_Key
!      (R_Set  : Set;
!       L_Node : Node_Access) return Boolean is
  
!       R_Index : constant Hash_Type :=
!         Element_Keys.Index (R_Set, L_Node.Element.all);
  
!       R_Node  : Node_Access := R_Set.Buckets (R_Index);
  
     begin
  
!       loop
! 
!          if R_Node = null then
!             return False;
!          end if;
! 
!          if L_Node.Element.all = R_Node.Element.all then
!             return True;
!          end if;
! 
!          R_Node := Next (R_Node);
! 
!       end loop;
! 
!    end Find_Equal_Key;
! 
!    function Is_Equal is
!       new HT_Ops.Generic_Equal (Find_Equal_Key);
! 
!    function "=" (Left, Right : Set) return Boolean renames Is_Equal;
! 
  
!    function Length (Container : Set) return Count_Type is
     begin
!       return Container.Length;
!    end Length;
  
  
!    function Is_Empty (Container : Set) return Boolean is
     begin
!       return Container.Length = 0;
!    end Is_Empty;
  
  
!    procedure Clear (Container : in out Set) renames HT_Ops.Clear;
  
  
!    function Element (Position : Cursor) return Element_Type is
     begin
!       return Position.Node.Element.all;
!    end Element;
  
  
!    procedure Query_Element
!      (Position : in Cursor;
!       Process  : not null access procedure (Element : in Element_Type)) is
     begin
!       Process (Position.Node.Element.all);
!    end Query_Element;
  
  
! --  TODO:
! --     procedure Replace_Element (Container : in out Set;
! --                                Position  : in     Node_Access;
! --                                By        : in     Element_Type);
  
! --     procedure Replace_Element (Container : in out Set;
! --                                Position  : in     Node_Access;
! --                                By        : in     Element_Type) is
  
! --        Node : Node_Access := Position;
  
! --     begin
  
! --        if Equivalent_Keys (Node.Element.all, By) then
  
! --           declare
! --              X : Element_Access := Node.Element;
! --           begin
! --              Node.Element := new Element_Type'(By);
! --              --
! --              --  NOTE: If there's an exception here, then just
! --              --  let it propagate.  We haven't modified the
! --              --  state of the container, so there's nothing else
! --              --  we need to do.
  
! --              Free_Element (X);
! --           end;
  
! --           return;
  
! --        end if;
  
! --        HT_Ops.Delete_Node_Sans_Free (Container, Node);
  
! --        begin
! --           Free_Element (Node.Element);
! --        exception
! --           when others =>
! --              Node.Element := null;  --  don't attempt to dealloc X.E again
! --              Free (Node);
! --              raise;
! --        end;
  
! --        begin
! --           Node.Element := new Element_Type'(By);
! --        exception
! --           when others =>
! --              Free (Node);
! --              raise;
! --        end;
  
! --        declare
! --           function New_Node (Next : Node_Access) return Node_Access;
! --           pragma Inline (New_Node);
  
! --           function New_Node (Next : Node_Access) return Node_Access is
! --           begin
! --              Node.Next := Next;
! --              return Node;
! --           end New_Node;
  
! --           procedure Insert is
! --              new Element_Keys.Generic_Conditional_Insert (New_Node);
  
! --           Result  : Node_Access;
! --           Success : Boolean;
! --        begin
! --           Insert
! --             (HT      => Container,
! --              Key     => Node.Element.all,
! --              Node    => Result,
! --              Success => Success);
  
! --           if not Success then
! --              Free (Node);
! --              raise Program_Error;
! --           end if;
  
! --           pragma Assert (Result = Node);
! --        end;
  
! --     end Replace_Element;
  
  
! --     procedure Replace_Element (Container : in out Set;
! --                                Position  : in     Cursor;
! --                                By        : in     Element_Type) is
! --     begin
  
! --        if Position.Container = null then
! --           raise Constraint_Error;
! --        end if;
  
! --        if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --           raise Program_Error;
! --        end if;
  
! --        Replace_Element (Container, Position.Node, By);
  
! --     end Replace_Element;
  
  
!    procedure Move (Target : in out Set;
!                    Source : in out Set) renames HT_Ops.Move;
  
  
!    procedure Insert (Container : in out Set;
!                      New_Item  : in     Element_Type;
!                      Position  :    out Cursor;
!                      Inserted  :    out Boolean) is
  
!       function New_Node (Next : Node_Access) return Node_Access;
!       pragma Inline (New_Node);
  
-       function New_Node (Next : Node_Access) return Node_Access is
-          Element : Element_Access := new Element_Type'(New_Item);
        begin
!          return new Node_Type'(Element, Next);
        exception
           when others =>
!             Free_Element (Element);
              raise;
!       end New_Node;
! 
!       procedure Insert is
!         new Element_Keys.Generic_Conditional_Insert (New_Node);
! 
!    begin
! 
!       HT_Ops.Ensure_Capacity (Container, Container.Length + 1);
!       Insert (Container, New_Item, Position.Node, Inserted);
!       Position.Container := Container'Unchecked_Access;
! 
!    end Insert;
! 
  
!    procedure Insert (Container : in out Set;
!                      New_Item  : in     Element_Type) is
  
!       Position : Cursor;
!       Inserted : Boolean;
  
     begin
  
!       Insert (Container, New_Item, Position, Inserted);
! 
!       if not Inserted then
           raise Constraint_Error;
        end if;
  
!    end Insert;
  
  
!    procedure Replace (Container : in out Set;
!                       New_Item  : in     Element_Type) is
  
!       Node : constant Node_Access :=
!         Element_Keys.Find (Container, New_Item);
  
!       X : Element_Access;
  
     begin
  
!       if Node = null then
           raise Constraint_Error;
        end if;
  
!       X := Node.Element;
! 
!       Node.Element := new Element_Type'(New_Item);
! 
!       Free_Element (X);
! 
!    end Replace;
! 
! 
!    procedure Include (Container : in out Set;
!                       New_Item  : in     Element_Type) is
! 
!       Position : Cursor;
!       Inserted : Boolean;
  
!       X : Element_Access;
  
     begin
  
!       Insert (Container, New_Item, Position, Inserted);
! 
!       if not Inserted then
! 
!          X := Position.Node.Element;
! 
!          Position.Node.Element := new Element_Type'(New_Item);
! 
!          Free_Element (X);
! 
        end if;
  
!    end Include;
! 
! 
!    procedure Delete (Container : in out Set;
!                      Item      : in     Element_Type) is
  
!       X : Node_Access;
  
     begin
  
!       Element_Keys.Delete_Key_Sans_Free (Container, Item, X);
! 
!       if X = null then
           raise Constraint_Error;
        end if;
  
!       Free (X);
  
!    end Delete;
  
  
!    procedure Exclude (Container : in out Set;
!                       Item      : in     Element_Type) is
  
!       X : Node_Access;
  
     begin
! 
!       Element_Keys.Delete_Key_Sans_Free (Container, Item, X);
        Free (X);
- 
     end Exclude;
  
  
!    procedure Delete (Container : in out Set;
!                      Position  : in out Cursor) is
     begin
  
!       if Position = No_Element then
!          return;
!       end if;
! 
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
!       end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
!       Free (Position.Node);
  
!       Position.Container := null;
  
!    end Delete;
  
  
  
!    procedure Union (Target : in out Set;
!                     Source : in     Set) is
  
!       procedure Process (Src_Node : in Node_Access);
  
!       procedure Process (Src_Node : in Node_Access) is
  
!          Src : Element_Type renames Src_Node.Element.all;
  
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
  
!          function New_Node (Next : Node_Access) return Node_Access is
!             Tgt : Element_Access := new Element_Type'(Src);
!          begin
!             return new Node_Type'(Tgt, Next);
!          exception
!             when others =>
!                Free_Element (Tgt);
!                raise;
!          end New_Node;
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!          Tgt_Node : Node_Access;
!          Success  : Boolean;
  
!       begin
  
!          Insert (Target, Src, Tgt_Node, Success);
  
!       end Process;
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process);
  
     begin
! 
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       HT_Ops.Ensure_Capacity (Target, Target.Length + Source.Length);
! 
!       Iterate (Source);
  
!    end Union;
  
  
  
!    function Union (Left, Right : Set) return Set is
  
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
!    begin
  
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
  
!       if Right.Length = 0 then
!          return Left;
!       end if;
  
!       if Left.Length = 0 then
!          return Right;
!       end if;
  
!       declare
!          Size : constant Hash_Type :=
!            Prime_Numbers.To_Prime (Left.Length + Right.Length);
!       begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
!       end;
  
!       declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Process (L_Node : Node_Access) is
!             I : constant Hash_Type :=
!               Hash (L_Node.Element.all) mod Buckets'Length;
!          begin
!             Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
!          end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
!       begin
!          Iterate (Left);
!       exception
!          when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end;
  
!       Length := Left.Length;
  
!       declare
!          procedure Process (Src_Node : Node_Access);
  
!          procedure Process (Src_Node : Node_Access) is
  
!             Src : Element_Type renames Src_Node.Element.all;
  
!             I : constant Hash_Type :=
!               Hash (Src) mod Buckets'Length;
  
!             Tgt_Node : Node_Access := Buckets (I);
  
!          begin
  
!             while Tgt_Node /= null loop
  
!                if Equivalent_Keys (Src, Tgt_Node.Element.all) then
!                   return;
!                end if;
  
!                Tgt_Node := Next (Tgt_Node);
  
!             end loop;
  
!             declare
!                Tgt : Element_Access := new Element_Type'(Src);
!             begin
!                Buckets (I) := new Node_Type'(Tgt, Buckets (I));
!             exception
!                when others =>
!                   Free_Element (Tgt);
!                   raise;
!             end;
  
!             Length := Length + 1;
  
!          end Process;
  
-          procedure Iterate is
-             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Right);
        exception
           when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
! 
!    end Union;
! 
  
!    function Is_In
!      (HT  : Set;
!       Key : Node_Access) return Boolean;
!    pragma Inline (Is_In);
  
-    function Is_In
-      (HT  : Set;
-       Key : Node_Access) return Boolean is
     begin
!       return Element_Keys.Find (HT, Key.Element.all) /= null;
!    end Is_In;
  
  
!    procedure Intersection (Target : in out Set;
!                            Source : in     Set) is
  
        Tgt_Node : Node_Access;
  
     begin
- 
        if Target'Address = Source'Address then
           return;
        end if;
--- 46,732 ----
  
  with Ada.Containers.Prime_Numbers;
  
  package body Ada.Containers.Indefinite_Hashed_Sets is
  
!    -----------------------
!    -- Local Subprograms --
!    -----------------------
  
!    function Copy_Node (Source : Node_Access) return Node_Access;
!    pragma Inline (Copy_Node);
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
!    function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean;
  
!    function Find_Equivalent_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean;
  
!    procedure Free (X : in out Node_Access);
  
!    function Hash_Node (Node : Node_Access) return Hash_Type;
!    pragma Inline (Hash_Node);
  
!    procedure Insert
!      (HT       : in out Hash_Table_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean);
  
!    function Is_In (HT  : Hash_Table_Type; Key : Node_Access) return Boolean;
!    pragma Inline (Is_In);
  
!    function Next (Node : Node_Access) return Node_Access;
!    pragma Inline (Next);
  
!    function Read_Node (Stream : access Root_Stream_Type'Class)
!      return Node_Access;
!    pragma Inline (Read_Node);
  
!    procedure Replace_Element
!      (HT       : in out Hash_Table_Type;
!       Node     : Node_Access;
!       New_Item : Element_Type);
  
!    procedure Set_Next (Node : Node_Access; Next : Node_Access);
!    pragma Inline (Set_Next);
  
+    function Vet (Position : Cursor) return Boolean;
  
!    procedure Write_Node
!      (Stream : access Root_Stream_Type'Class;
!       Node   : Node_Access);
!    pragma Inline (Write_Node);
  
!    --------------------------
!    -- Local Instantiations --
!    --------------------------
  
!    procedure Free_Element is
!       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
     package HT_Ops is
        new Hash_Tables.Generic_Operations
!        (HT_Types  => HT_Types,
!         Hash_Node => Hash_Node,
!         Next      => Next,
!         Set_Next  => Set_Next,
!         Copy_Node => Copy_Node,
!         Free      => Free);
  
     package Element_Keys is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Element_Type,
          Hash      => Hash,
          Equivalent_Keys => Equivalent_Keys);
  
+    function Is_Equal is
+       new HT_Ops.Generic_Equal (Find_Equal_Key);
  
!    function Is_Equivalent is
!       new HT_Ops.Generic_Equal (Find_Equivalent_Key);
  
!    procedure Read_Nodes is
!       new HT_Ops.Generic_Read (Read_Node);
  
!    procedure Write_Nodes is
!      new HT_Ops.Generic_Write (Write_Node);
  
!    ---------
!    -- "=" --
!    ---------
  
+    function "=" (Left, Right : Set) return Boolean is
     begin
+       return Is_Equal (Left.HT, Right.HT);
+    end "=";
  
!    ------------
!    -- Adjust --
!    ------------
  
!    procedure Adjust (Container : in out Set) is
     begin
!       HT_Ops.Adjust (Container.HT);
!    end Adjust;
  
+    --------------
+    -- Capacity --
+    --------------
  
!    function Capacity (Container : Set) return Count_Type is
     begin
!       return HT_Ops.Capacity (Container.HT);
!    end Capacity;
  
+    -----------
+    -- Clear --
+    -----------
  
!    procedure Clear (Container : in out Set) is
!    begin
!       HT_Ops.Clear (Container.HT);
!    end Clear;
  
+    --------------
+    -- Contains --
+    --------------
  
!    function Contains (Container : Set; Item : Element_Type) return Boolean is
     begin
!       return Find (Container, Item) /= No_Element;
!    end Contains;
  
+    ---------------
+    -- Copy_Node --
+    ---------------
  
!    function Copy_Node (Source : Node_Access) return Node_Access is
!       E : Element_Access := new Element_Type'(Source.Element.all);
     begin
!       return new Node_Type'(Element => E, Next => null);
!    exception
!       when others =>
!          Free_Element (E);
!          raise;
!    end Copy_Node;
  
+    ------------
+    -- Delete --
+    ------------
  
!    procedure Delete
!      (Container : in out Set;
!       Item      : Element_Type)
!    is
!       X : Node_Access;
  
!    begin
!       Element_Keys.Delete_Key_Sans_Free (Container.HT, Item, X);
  
!       if X = null then
!          raise Constraint_Error;
!       end if;
  
!       Free (X);
!    end Delete;
  
!    procedure Delete
!      (Container : in out Set;
!       Position  : in out Cursor)
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Delete");
  
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
  
!       if Container.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container.HT, Position.Node);
  
!       Free (Position.Node);
!       Position.Container := null;
!    end Delete;
  
!    ----------------
!    -- Difference --
!    ----------------
  
!    procedure Difference
!      (Target : in out Set;
!       Source : Set)
!    is
!       Tgt_Node : Node_Access;
  
!    begin
!       if Target'Address = Source'Address then
!          Clear (Target);
!          return;
!       end if;
  
!       if Source.Length = 0 then
!          return;
!       end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       --  TODO: This can be written in terms of a loop instead as
!       --  active-iterator style, sort of like a passive iterator.
  
!       Tgt_Node := HT_Ops.First (Target.HT);
!       while Tgt_Node /= null loop
!          if Is_In (Source.HT, Tgt_Node) then
!             declare
!                X : Node_Access := Tgt_Node;
!             begin
!                Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target.HT, X);
!                Free (X);
!             end;
  
!          else
!             Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
!          end if;
!       end loop;
!    end Difference;
  
+    function Difference (Left, Right : Set) return Set is
+       Buckets : HT_Types.Buckets_Access;
+       Length  : Count_Type;
  
!    begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
  
!       if Left.Length = 0 then
!          return Empty_Set;
!       end if;
  
!       if Right.Length = 0 then
!          return Left;
!       end if;
  
!       declare
!          Size : constant Hash_Type := Prime_Numbers.To_Prime (Left.Length);
!       begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
!       end;
  
!       Length := 0;
  
+       Iterate_Left : declare
+          procedure Process (L_Node : Node_Access);
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
  
+          -------------
+          -- Process --
+          -------------
  
!          procedure Process (L_Node : Node_Access) is
!          begin
!             if not Is_In (Right.HT, L_Node) then
!                declare
!                   Src    : Element_Type renames L_Node.Element.all;
!                   Indx   : constant Hash_Type := Hash (Src) mod Buckets'Length;
!                   Bucket : Node_Access renames Buckets (Indx);
!                   Tgt    : Element_Access := new Element_Type'(Src);
!                begin
!                   Bucket := new Node_Type'(Tgt, Bucket);
!                exception
!                   when others =>
!                      Free_Element (Tgt);
!                      raise;
!                end;
  
!                Length := Length + 1;
!             end if;
!          end Process;
! 
!       --  Start of processing for Iterate_Left
  
        begin
!          Iterate (Left.HT);
        exception
           when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Left;
  
!       return (Controlled with HT => (Buckets, Length, 0, 0));
!    end Difference;
  
!    -------------
!    -- Element --
!    -------------
  
+    function Element (Position : Cursor) return Element_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Element");
  
!       if Position.Node = null then
           raise Constraint_Error;
        end if;
  
!       if Position.Node.Element = null then  --  handle dangling reference
!          raise Program_Error;
!       end if;
  
+       return Position.Node.Element.all;
+    end Element;
  
!    ---------------------
!    -- Equivalent_Sets --
!    ---------------------
  
!    function Equivalent_Sets (Left, Right : Set) return Boolean is
!    begin
!       return Is_Equivalent (Left.HT, Right.HT);
!    end Equivalent_Sets;
  
!    -------------------------
!    -- Equivalent_Elements --
!    -------------------------
  
+    function Equivalent_Elements (Left, Right : Cursor)
+      return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
  
!       if Left.Node = null
!         or else Right.Node = null
!       then
           raise Constraint_Error;
        end if;
  
!       if Left.Node.Element = null  --  handle dangling cursor reference
!         or else Right.Node.Element = null
!       then
!          raise Program_Error;
!       end if;
  
!       return Equivalent_Elements
!                (Left.Node.Element.all,
!                 Right.Node.Element.all);
!    end Equivalent_Elements;
  
+    function Equivalent_Elements (Left : Cursor; Right : Element_Type)
+      return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
  
!       if Left.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Left.Node.Element = null then  --  handling dangling reference
!          raise Program_Error;
!       end if;
  
!       return Equivalent_Elements (Left.Node.Element.all, Right);
!    end Equivalent_Elements;
  
+    function Equivalent_Elements (Left : Element_Type; Right : Cursor)
+      return Boolean is
     begin
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
  
!       if Right.Node = null then
           raise Constraint_Error;
        end if;
  
!       if Right.Node.Element = null then  --  handle dangling cursor reference
!          raise Program_Error;
!       end if;
  
!       return Equivalent_Elements (Left, Right.Node.Element.all);
!    end Equivalent_Elements;
  
+    ---------------------
+    -- Equivalent_Keys --
+    ---------------------
  
!    function Equivalent_Keys (Key : Element_Type; Node : Node_Access)
!      return Boolean is
!    begin
!       return Equivalent_Elements (Key, Node.Element.all);
!    end Equivalent_Keys;
  
!    -------------
!    -- Exclude --
!    -------------
  
+    procedure Exclude
+      (Container : in out Set;
+       Item      : Element_Type)
+    is
+       X : Node_Access;
     begin
!       Element_Keys.Delete_Key_Sans_Free (Container.HT, Item, X);
        Free (X);
     end Exclude;
  
+    --------------
+    -- Finalize --
+    --------------
  
!    procedure Finalize (Container : in out Set) is
     begin
+       HT_Ops.Finalize (Container.HT);
+    end Finalize;
  
!    ----------
!    -- Find --
!    ----------
  
!    function Find
!      (Container : Set;
!       Item      : Element_Type) return Cursor
!    is
!       Node : constant Node_Access := Element_Keys.Find (Container.HT, Item);
  
!    begin
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
!    end Find;
  
+    --------------------
+    -- Find_Equal_Key --
+    --------------------
  
+    function Find_Equal_Key
+      (R_HT   : Hash_Table_Type;
+       L_Node : Node_Access) return Boolean
+    is
+       R_Index : constant Hash_Type :=
+                   Element_Keys.Index (R_HT, L_Node.Element.all);
  
!       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
!    begin
!       loop
!          if R_Node = null then
!             return False;
!          end if;
  
!          if L_Node.Element.all = R_Node.Element.all then
!             return True;
!          end if;
  
!          R_Node := Next (R_Node);
!       end loop;
!    end Find_Equal_Key;
  
!    -------------------------
!    -- Find_Equivalent_Key --
!    -------------------------
  
!    function Find_Equivalent_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean
!    is
!       R_Index : constant Hash_Type :=
!                   Element_Keys.Index (R_HT, L_Node.Element.all);
  
!       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
!    begin
!       loop
!          if R_Node = null then
!             return False;
!          end if;
  
!          if Equivalent_Elements (L_Node.Element.all, R_Node.Element.all) then
!             return True;
!          end if;
  
!          R_Node := Next (R_Node);
!       end loop;
!    end Find_Equivalent_Key;
  
!    -----------
!    -- First --
!    -----------
  
!    function First (Container : Set) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container.HT);
  
     begin
!       if Node = null then
!          return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
!    end First;
  
!    ----------
!    -- Free --
!    ----------
  
+    procedure Free (X : in out Node_Access) is
+       procedure Deallocate is
+          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
+    begin
+       if X = null then
+          return;
+       end if;
  
!       X.Next := X;  --  detect mischief (in Vet)
  
!       begin
!          Free_Element (X.Element);
!       exception
!          when others =>
!             X.Element := null;
!             Deallocate (X);
!             raise;
!       end;
  
!       Deallocate (X);
!    end Free;
  
!    -----------------
!    -- Has_Element --
!    -----------------
  
!    function Has_Element (Position : Cursor) return Boolean is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
!    end Has_Element;
  
!    ---------------
!    -- Hash_Node --
!    ---------------
  
!    function Hash_Node (Node : Node_Access) return Hash_Type is
!    begin
!       return Hash (Node.Element.all);
!    end Hash_Node;
  
!    -------------
!    -- Include --
!    -------------
  
!    procedure Include
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Position : Cursor;
!       Inserted : Boolean;
  
!       X : Element_Access;
  
!    begin
!       Insert (Container, New_Item, Position, Inserted);
  
!       if not Inserted then
!          if Container.HT.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          X := Position.Node.Element;
  
!          Position.Node.Element := new Element_Type'(New_Item);
  
!          Free_Element (X);
!       end if;
!    end Include;
  
!    ------------
!    -- Insert --
!    ------------
  
!    procedure Insert
!      (Container : in out Set;
!       New_Item  : Element_Type;
!       Position  : out Cursor;
!       Inserted  : out Boolean)
!    is
!    begin
!       Insert (Container.HT, New_Item, Position.Node, Inserted);
!       Position.Container := Container'Unchecked_Access;
!    end Insert;
  
!    procedure Insert
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Position : Cursor;
!       Inserted : Boolean;
  
!    begin
!       Insert (Container, New_Item, Position, Inserted);
  
!       if not Inserted then
!          raise Constraint_Error;
!       end if;
!    end Insert;
  
!    procedure Insert
!      (HT       : in out Hash_Table_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean)
!    is
!       function New_Node (Next : Node_Access) return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Insert is
!          new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node (Next : Node_Access) return Node_Access is
!          Element : Element_Access := new Element_Type'(New_Item);
  
        begin
!          return new Node_Type'(Element, Next);
        exception
           when others =>
!             Free_Element (Element);
              raise;
!       end New_Node;
  
!    --  Start of processing for Insert
  
     begin
!       if HT_Ops.Capacity (HT) = 0 then
!          HT_Ops.Reserve_Capacity (HT, 1);
!       end if;
  
+       Local_Insert (HT, New_Item, Node, Inserted);
  
!       if Inserted
!         and then HT.Length > HT_Ops.Capacity (HT)
!       then
!          HT_Ops.Reserve_Capacity (HT, HT.Length);
!       end if;
!    end Insert;
  
+    ------------------
+    -- Intersection --
+    ------------------
+ 
+    procedure Intersection
+      (Target : in out Set;
+       Source : Set)
+    is
        Tgt_Node : Node_Access;
  
     begin
        if Target'Address = Source'Address then
           return;
        end if;
*************** package body Ada.Containers.Indefinite_H
*** 659,664 ****
--- 736,745 ----
           return;
        end if;
  
+       if Target.HT.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        --  TODO: optimize this to use an explicit
        --  loop instead of an active iterator
        --  (similar to how a passive iterator is
*************** package body Ada.Containers.Indefinite_H
*** 668,705 ****
        --  set is smaller, and iterate over the
        --  smaller set.
  
!       Tgt_Node := HT_Ops.First (Target);
! 
        while Tgt_Node /= null loop
! 
!          if Is_In (Source, Tgt_Node) then
! 
!             Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
  
           else
- 
              declare
                 X : Node_Access := Tgt_Node;
              begin
!                Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target, X);
                 Free (X);
              end;
- 
           end if;
- 
        end loop;
- 
     end Intersection;
  
- 
     function Intersection (Left, Right : Set) return Set is
- 
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
- 
        if Left'Address = Right'Address then
           return Left;
        end if;
--- 749,776 ----
        --  set is smaller, and iterate over the
        --  smaller set.
  
!       Tgt_Node := HT_Ops.First (Target.HT);
        while Tgt_Node /= null loop
!          if Is_In (Source.HT, Tgt_Node) then
!             Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
  
           else
              declare
                 X : Node_Access := Tgt_Node;
              begin
!                Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target.HT, X);
                 Free (X);
              end;
           end if;
        end loop;
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
        if Left'Address = Right'Address then
           return Left;
        end if;
*************** package body Ada.Containers.Indefinite_H
*** 718,893 ****
  
        Length := 0;
  
!       declare
           procedure Process (L_Node : Node_Access);
  
           procedure Process (L_Node : Node_Access) is
           begin
!             if Is_In (Right, L_Node) then
! 
                 declare
!                   I : constant Hash_Type :=
!                     Hash (L_Node.Element.all) mod Buckets'Length;
                 begin
!                   Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
                 end;
  
                 Length := Length + 1;
- 
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
  
     end Intersection;
  
  
!    procedure Difference (Target : in out Set;
!                          Source : in     Set) is
! 
  
!       Tgt_Node : Node_Access;
  
     begin
  
!       if Target'Address = Source'Address then
!          Clear (Target);
!          return;
        end if;
  
!       if Source.Length = 0 then
!          return;
        end if;
  
!       --  TODO: As I noted above, this can be
!       --  written in terms of a loop instead as
!       --  active-iterator style, sort of like a
!       --  passive iterator.
  
!       Tgt_Node := HT_Ops.First (Target);
  
!       while Tgt_Node /= null loop
  
!          if Is_In (Source, Tgt_Node) then
  
!             declare
!                X : Node_Access := Tgt_Node;
!             begin
!                Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target, X);
!                Free (X);
!             end;
  
!          else
  
!             Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
  
!          end if;
  
!       end loop;
  
!    end Difference;
  
  
  
!    function Difference (Left, Right : Set) return Set is
  
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
     begin
  
!       if Left'Address = Right'Address then
!          return Empty_Set;
        end if;
  
!       if Left.Length = 0 then
!          return Empty_Set;
        end if;
  
        if Right.Length = 0 then
!          return Left;
        end if;
  
        declare
!          Size : constant Hash_Type := Prime_Numbers.To_Prime (Left.Length);
        begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
!       Length := 0;
  
!       declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right, L_Node) then
  
!                declare
!                   I : constant Hash_Type :=
!                     Hash (L_Node.Element.all) mod Buckets'Length;
!                begin
!                   Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
!                end;
  
!                Length := Length + 1;
  
!             end if;
!          end Process;
  
-          procedure Iterate is
-             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end;
  
!       return (Controlled with Buckets, Length);
  
!    end Difference;
  
  
  
!    procedure Symmetric_Difference (Target : in out Set;
!                                    Source : in     Set) is
     begin
  
        if Target'Address = Source'Address then
           Clear (Target);
           return;
        end if;
  
!       HT_Ops.Ensure_Capacity (Target, Target.Length + Source.Length);
  
!       if Target.Length = 0 then
  
!          declare
              procedure Process (Src_Node : Node_Access);
  
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element.all;
!                B : Buckets_Type renames Target.Buckets.all;
!                I : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.Length;
              begin
                 declare
                    X : Element_Access := new Element_Type'(E);
                 begin
!                   B (I) := new Node_Type'(X, B (I));
                 exception
                    when others =>
                       Free_Element (X);
--- 789,1327 ----
  
        Length := 0;
  
!       Iterate_Left : declare
           procedure Process (L_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (L_Node : Node_Access) is
           begin
!             if Is_In (Right.HT, L_Node) then
                 declare
!                   Src : Element_Type renames L_Node.Element.all;
! 
!                   Indx : constant Hash_Type := Hash (Src) mod Buckets'Length;
! 
!                   Bucket : Node_Access renames Buckets (Indx);
! 
!                   Tgt : Element_Access := new Element_Type'(Src);
! 
                 begin
!                   Bucket := new Node_Type'(Tgt, Bucket);
!                exception
!                   when others =>
!                      Free_Element (Tgt);
!                      raise;
                 end;
  
                 Length := Length + 1;
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Left
! 
        begin
!          Iterate (Left.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Left;
  
+       return (Controlled with HT => (Buckets, Length, 0, 0));
     end Intersection;
  
+    --------------
+    -- Is_Empty --
+    --------------
  
!    function Is_Empty (Container : Set) return Boolean is
!    begin
!       return Container.HT.Length = 0;
!    end Is_Empty;
  
!    -----------
!    -- Is_In --
!    -----------
  
+    function Is_In (HT  : Hash_Table_Type; Key : Node_Access) return Boolean is
     begin
+       return Element_Keys.Find (HT, Key.Element.all) /= null;
+    end Is_In;
  
!    ---------------
!    -- Is_Subset --
!    ---------------
! 
!    function Is_Subset
!      (Subset : Set;
!       Of_Set : Set) return Boolean
!    is
!       Subset_Node : Node_Access;
! 
!    begin
!       if Subset'Address = Of_Set'Address then
!          return True;
        end if;
  
!       if Subset.Length > Of_Set.Length then
!          return False;
        end if;
  
!       --  TODO: rewrite this to loop in the
!       --  style of a passive iterator.
  
!       Subset_Node := HT_Ops.First (Subset.HT);
!       while Subset_Node /= null loop
!          if not Is_In (Of_Set.HT, Subset_Node) then
!             return False;
!          end if;
  
!          Subset_Node := HT_Ops.Next (Subset.HT, Subset_Node);
!       end loop;
  
!       return True;
!    end Is_Subset;
  
!    -------------
!    -- Iterate --
!    -------------
  
!    procedure Iterate
!      (Container : Set;
!       Process   : not null access procedure (Position : Cursor))
!    is
!       procedure Process_Node (Node : Node_Access);
!       pragma Inline (Process_Node);
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process_Node);
  
!       ------------------
!       -- Process_Node --
!       ------------------
  
!       procedure Process_Node (Node : Node_Access) is
!       begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
!       end Process_Node;
  
!       HT : Hash_Table_Type renames Container'Unrestricted_Access.all.HT;
  
+    --  Start of processing for Iterate
  
+    begin
+       --  TODO: resolve whether HT_Ops.Generic_Iteration should
+       --  manipulate busy bit.
  
!       Iterate (HT);
!    end Iterate;
  
!    ------------
!    -- Length --
!    ------------
  
+    function Length (Container : Set) return Count_Type is
     begin
+       return Container.HT.Length;
+    end Length;
  
!    ----------
!    -- Move --
!    ----------
! 
!    procedure Move (Target : in out Set; Source : in out Set) is
!    begin
!       HT_Ops.Move (Target => Target.HT, Source => Source.HT);
!    end Move;
! 
!    ----------
!    -- Next --
!    ----------
! 
!    function Next (Node : Node_Access) return Node_Access is
!    begin
!       return Node.Next;
!    end Next;
! 
!    function Next (Position : Cursor) return Cursor is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in function Next");
! 
!       if Position.Node = null then
!          return No_Element;
        end if;
  
!       if Position.Node.Element = null then
!          raise Program_Error;
        end if;
  
+       declare
+          HT   : Hash_Table_Type renames Position.Container.HT;
+          Node : constant Node_Access := HT_Ops.Next (HT, Position.Node);
+ 
+       begin
+          if Node = null then
+             return No_Element;
+          end if;
+ 
+          return Cursor'(Position.Container, Node);
+       end;
+    end Next;
+ 
+    procedure Next (Position : in out Cursor) is
+    begin
+       Position := Next (Position);
+    end Next;
+ 
+    -------------
+    -- Overlap --
+    -------------
+ 
+    function Overlap (Left, Right : Set) return Boolean is
+       Left_Node : Node_Access;
+ 
+    begin
        if Right.Length = 0 then
!          return False;
!       end if;
! 
!       if Left'Address = Right'Address then
!          return True;
!       end if;
! 
!       Left_Node := HT_Ops.First (Left.HT);
!       while Left_Node /= null loop
!          if Is_In (Right.HT, Left_Node) then
!             return True;
!          end if;
! 
!          Left_Node := HT_Ops.Next (Left.HT, Left_Node);
!       end loop;
! 
!       return False;
!    end Overlap;
! 
!    -------------------
!    -- Query_Element --
!    -------------------
! 
!    procedure Query_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
        end if;
  
        declare
!          HT : Hash_Table_Type renames
!                 Position.Container'Unrestricted_Access.all.HT;
! 
!          B : Natural renames HT.Busy;
!          L : Natural renames HT.Lock;
! 
        begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element.all);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
        end;
+    end Query_Element;
  
!    ----------
!    -- Read --
!    ----------
  
!    procedure Read
!      (Stream    : access Root_Stream_Type'Class;
!       Container : out Set)
!    is
!    begin
!       Read_Nodes (Stream, Container.HT);
!    end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
! 
!    ---------------
!    -- Read_Node --
!    ---------------
! 
!    function Read_Node
!      (Stream : access Root_Stream_Type'Class) return Node_Access
!    is
!       X : Element_Access := new Element_Type'(Element_Type'Input (Stream));
! 
!    begin
!       return new Node_Type'(X, null);
!    exception
!       when others =>
!          Free_Element (X);
!          raise;
!    end Read_Node;
! 
!    -------------
!    -- Replace --
!    -------------
! 
!    procedure Replace
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Node : constant Node_Access :=
!                Element_Keys.Find (Container.HT, New_Item);
! 
!       X : Element_Access;
! 
!    begin
!       if Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Container.HT.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       X := Node.Element;
! 
!       Node.Element := new Element_Type'(New_Item);
! 
!       Free_Element (X);
!    end Replace;
! 
!    ---------------------
!    -- Replace_Element --
!    ---------------------
! 
!    procedure Replace_Element
!      (HT       : in out Hash_Table_Type;
!       Node     : Node_Access;
!       New_Item : Element_Type)
!    is
!    begin
!       if Equivalent_Elements (Node.Element.all, New_Item) then
!          pragma Assert (Hash (Node.Element.all) = Hash (New_Item));
! 
!          if HT.Lock > 0 then
!             raise Program_Error;
!          end if;
! 
!          declare
!             X : Element_Access := Node.Element;
           begin
!             Node.Element := new Element_Type'(New_Item);  --  OK if fails
!             Free_Element (X);
!          end;
  
!          return;
!       end if;
  
!       if HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       HT_Ops.Delete_Node_Sans_Free (HT, Node);
! 
!       Insert_New_Element : declare
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
! 
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
! 
!          ------------------------
!          -- Insert_New_Element --
!          ------------------------
! 
!          function New_Node (Next : Node_Access) return Node_Access is
!          begin
!             Node.Element := new Element_Type'(New_Item);  -- OK if fails
!             Node.Next := Next;
!             return Node;
!          end New_Node;
! 
!          Result   : Node_Access;
!          Inserted : Boolean;
! 
!          X : Element_Access := Node.Element;
! 
!       --  Start of processing for Insert_New_Element
  
        begin
!          Attempt_Insert : begin
!             Insert
!               (HT       => HT,
!                Key      => New_Item,
!                Node     => Result,
!                Inserted => Inserted);
!          exception
!             when others =>
!                Inserted := False;  -- Assignment failed
!          end Attempt_Insert;
! 
!          if Inserted then
!             Free_Element (X);  -- Just propagate if fails
!             return;
!          end if;
!       end Insert_New_Element;
! 
!       Reinsert_Old_Element :
!       declare
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
! 
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
! 
!          --------------
!          -- New_Node --
!          --------------
! 
!          function New_Node (Next : Node_Access) return Node_Access is
!          begin
!             Node.Next := Next;
!             return Node;
!          end New_Node;
! 
!          Result   : Node_Access;
!          Inserted : Boolean;
! 
!       --  Start of processing for Reinsert_Old_Element
! 
!       begin
!          Insert
!            (HT       => HT,
!             Key      => Node.Element.all,
!             Node     => Result,
!             Inserted => Inserted);
        exception
           when others =>
!             null;
!       end Reinsert_Old_Element;
  
!       raise Program_Error;
!    end Replace_Element;
  
!    procedure Replace_Element
!      (Container : in out Set;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
  
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
  
+       if Position.Node.Element = null then
+          raise Program_Error;
+       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       Replace_Element (Container.HT, Position.Node, New_Item);
!    end Replace_Element;
! 
!    ----------------------
!    -- Reserve_Capacity --
!    ----------------------
! 
!    procedure Reserve_Capacity
!      (Container : in out Set;
!       Capacity  : Count_Type)
!    is
     begin
+       HT_Ops.Reserve_Capacity (Container.HT, Capacity);
+    end Reserve_Capacity;
  
+    --------------
+    -- Set_Next --
+    --------------
+ 
+    procedure Set_Next (Node : Node_Access; Next : Node_Access) is
+    begin
+       Node.Next := Next;
+    end Set_Next;
+ 
+    --------------------------
+    -- Symmetric_Difference --
+    --------------------------
+ 
+    procedure Symmetric_Difference
+      (Target : in out Set;
+       Source : Set)
+    is
+    begin
        if Target'Address = Source'Address then
           Clear (Target);
           return;
        end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       declare
!          N : constant Count_Type := Target.Length + Source.Length;
!       begin
!          if N > HT_Ops.Capacity (Target.HT) then
!             HT_Ops.Reserve_Capacity (Target.HT, N);
!          end if;
!       end;
  
!       if Target.Length = 0 then
!          Iterate_Source_When_Empty_Target : declare
              procedure Process (Src_Node : Node_Access);
  
+             procedure Iterate is
+                new HT_Ops.Generic_Iteration (Process);
+ 
+             -------------
+             -- Process --
+             -------------
+ 
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element.all;
!                B : Buckets_Type renames Target.HT.Buckets.all;
!                J : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.HT.Length;
! 
              begin
                 declare
                    X : Element_Access := new Element_Type'(E);
                 begin
!                   B (J) := new Node_Type'(X, B (J));
                 exception
                    when others =>
                       Free_Element (X);
*************** package body Ada.Containers.Indefinite_H
*** 897,925 ****
                 N := N + 1;
              end Process;
  
!             procedure Iterate is
!                new HT_Ops.Generic_Iteration (Process);
           begin
!             Iterate (Source);
!          end;
  
        else
! 
!          declare
              procedure Process (Src_Node : Node_Access);
  
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element.all;
!                B : Buckets_Type renames Target.Buckets.all;
!                I : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.Length;
!             begin
!                if B (I) = null then
  
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      B (I) := new Node_Type'(X, null);
                    exception
                       when others =>
                          Free_Element (X);
--- 1331,1365 ----
                 N := N + 1;
              end Process;
  
!          --  Start of processing for Iterate_Source_When_Empty_Target
! 
           begin
!             Iterate (Source.HT);
!          end Iterate_Source_When_Empty_Target;
  
        else
!          Iterate_Source : declare
              procedure Process (Src_Node : Node_Access);
  
+             procedure Iterate is
+                new HT_Ops.Generic_Iteration (Process);
+ 
+             -------------
+             -- Process --
+             -------------
+ 
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element.all;
!                B : Buckets_Type renames Target.HT.Buckets.all;
!                J : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.HT.Length;
  
+             begin
+                if B (J) = null then
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      B (J) := new Node_Type'(X, null);
                    exception
                       when others =>
                          Free_Element (X);
*************** package body Ada.Containers.Indefinite_H
*** 928,951 ****
  
                    N := N + 1;
  
!                elsif Equivalent_Keys (E, B (I).Element.all) then
! 
                    declare
!                      X : Node_Access := B (I);
                    begin
!                      B (I) := B (I).Next;
                       N := N - 1;
                       Free (X);
                    end;
  
                 else
- 
                    declare
!                      Prev : Node_Access := B (I);
                       Curr : Node_Access := Prev.Next;
                    begin
                       while Curr /= null loop
!                         if Equivalent_Keys (E, Curr.Element.all) then
                             Prev.Next := Curr.Next;
                             N := N - 1;
                             Free (Curr);
--- 1368,1390 ----
  
                    N := N + 1;
  
!                elsif Equivalent_Elements (E, B (J).Element.all) then
                    declare
!                      X : Node_Access := B (J);
                    begin
!                      B (J) := B (J).Next;
                       N := N - 1;
                       Free (X);
                    end;
  
                 else
                    declare
!                      Prev : Node_Access := B (J);
                       Curr : Node_Access := Prev.Next;
+ 
                    begin
                       while Curr /= null loop
!                         if Equivalent_Elements (E, Curr.Element.all) then
                             Prev.Next := Curr.Next;
                             N := N - 1;
                             Free (Curr);
*************** package body Ada.Containers.Indefinite_H
*** 959,965 ****
                       declare
                          X : Element_Access := new Element_Type'(E);
                       begin
!                         B (I) := new Node_Type'(X, B (I));
                       exception
                          when others =>
                             Free_Element (X);
--- 1398,1404 ----
                       declare
                          X : Element_Access := new Element_Type'(E);
                       begin
!                         B (J) := new Node_Type'(X, B (J));
                       exception
                          when others =>
                             Free_Element (X);
*************** package body Ada.Containers.Indefinite_H
*** 968,995 ****
  
                       N := N + 1;
                    end;
- 
                 end if;
              end Process;
  
!             procedure Iterate is
!                new HT_Ops.Generic_Iteration (Process);
!          begin
!             Iterate (Source);
!          end;
  
        end if;
- 
     end Symmetric_Difference;
  
- 
     function Symmetric_Difference (Left, Right : Set) return Set is
- 
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
- 
        if Left'Address = Right'Address then
           return Empty_Set;
        end if;
--- 1407,1428 ----
  
                       N := N + 1;
                    end;
                 end if;
              end Process;
  
!          --  Start of processing for Iterate_Source
  
+          begin
+             Iterate (Source.HT);
+          end Iterate_Source;
        end if;
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
        if Left'Address = Right'Address then
           return Empty_Set;
        end if;
*************** package body Ada.Containers.Indefinite_H
*** 1004,1031 ****
  
        declare
           Size : constant Hash_Type :=
!            Prime_Numbers.To_Prime (Left.Length + Right.Length);
        begin
           Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
        Length := 0;
  
!       declare
           procedure Process (L_Node : Node_Access);
  
           procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right, L_Node) then
                 declare
                    E : Element_Type renames L_Node.Element.all;
!                   I : constant Hash_Type := Hash (E) mod Buckets'Length;
!                begin
  
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      Buckets (I) := new Node_Type'(X, Buckets (I));
                    exception
                       when others =>
                          Free_Element (X);
--- 1437,1471 ----
  
        declare
           Size : constant Hash_Type :=
!                   Prime_Numbers.To_Prime (Left.Length + Right.Length);
        begin
           Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
        Length := 0;
  
!       Iterate_Left : declare
           procedure Process (L_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right.HT, L_Node) then
                 declare
                    E : Element_Type renames L_Node.Element.all;
!                   J : constant Hash_Type := Hash (E) mod Buckets'Length;
  
+                begin
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      Buckets (J) := new Node_Type'(X, Buckets (J));
                    exception
                       when others =>
                          Free_Element (X);
*************** package body Ada.Containers.Indefinite_H
*** 1037,1067 ****
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
  
!       declare
           procedure Process (R_Node : Node_Access);
  
           procedure Process (R_Node : Node_Access) is
           begin
!             if not Is_In (Left, R_Node) then
                 declare
                    E : Element_Type renames R_Node.Element.all;
!                   I : constant Hash_Type := Hash (E) mod Buckets'Length;
!                begin
  
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      Buckets (I) := new Node_Type'(X, Buckets (I));
                    exception
                       when others =>
                          Free_Element (X);
--- 1477,1514 ----
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Left
! 
        begin
!          Iterate (Left.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Left;
  
!       Iterate_Right : declare
           procedure Process (R_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (R_Node : Node_Access) is
           begin
!             if not Is_In (Left.HT, R_Node) then
                 declare
                    E : Element_Type renames R_Node.Element.all;
!                   J : constant Hash_Type := Hash (E) mod Buckets'Length;
  
+                begin
                    declare
                       X : Element_Access := new Element_Type'(E);
                    begin
!                      Buckets (J) := new Node_Type'(X, Buckets (J));
                    exception
                       when others =>
                          Free_Element (X);
*************** package body Ada.Containers.Indefinite_H
*** 1069,1531 ****
                    end;
  
                    Length := Length + 1;
- 
                 end;
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Right);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
  
     end Symmetric_Difference;
  
  
!    function Is_Subset (Subset : Set;
!                        Of_Set : Set) return Boolean is
! 
!       Subset_Node : Node_Access;
  
     begin
  
!       if Subset'Address = Of_Set'Address then
!          return True;
!       end if;
  
!       if Subset.Length > Of_Set.Length then
!          return False;
!       end if;
  
!       --  TODO: rewrite this to loop in the
!       --  style of a passive iterator.
  
!       Subset_Node := HT_Ops.First (Subset);
  
!       while Subset_Node /= null loop
!          if not Is_In (Of_Set, Subset_Node) then
!             return False;
!          end if;
  
!          Subset_Node := HT_Ops.Next (Subset, Subset_Node);
!       end loop;
  
!       return True;
  
!    end Is_Subset;
  
  
!    function Overlap (Left, Right : Set) return Boolean is
  
!       Left_Node : Node_Access;
  
     begin
  
!       if Right.Length = 0 then
!          return False;
        end if;
  
        if Left'Address = Right'Address then
!          return True;
        end if;
  
!       Left_Node := HT_Ops.First (Left);
  
!       while Left_Node /= null loop
!          if Is_In (Right, Left_Node) then
!             return True;
!          end if;
  
!          Left_Node := HT_Ops.Next (Left, Left_Node);
!       end loop;
  
!       return False;
  
!    end Overlap;
  
  
!    function Find (Container : Set;
!                   Item      : Element_Type) return Cursor is
  
!       Node : constant Node_Access := Element_Keys.Find (Container, Item);
  
!    begin
  
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
  
!    end Find;
  
  
!    function Contains (Container : Set;
!                       Item      : Element_Type) return Boolean is
!    begin
!       return Find (Container, Item) /= No_Element;
!    end Contains;
  
  
  
!    function First (Container : Set) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container);
!    begin
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
!    end First;
  
  
! --     function First_Element (Container : Set) return Element_Type is
! --        Node : constant Node_Access := HT_Ops.First (Container);
! --     begin
! --        return Node.Element;
! --     end First_Element;
  
  
!    function Next (Position : Cursor) return Cursor is
!    begin
!       if Position.Container = null
!         or else Position.Node = null
!       then
!          return No_Element;
!       end if;
  
-       declare
-          S : Set renames Position.Container.all;
-          Node : constant Node_Access := HT_Ops.Next (S, Position.Node);
        begin
!          if Node = null then
!             return No_Element;
!          end if;
  
!          return Cursor'(Position.Container, Node);
!       end;
!    end Next;
  
  
!    procedure Next (Position : in out Cursor) is
     begin
!       Position := Next (Position);
!    end Next;
! 
  
-    function Has_Element (Position : Cursor) return Boolean is
-    begin
        if Position.Container = null then
           return False;
        end if;
  
!       if Position.Node = null then
           return False;
        end if;
  
!       return True;
!    end Has_Element;
  
  
!    function Equivalent_Keys (Left, Right : Cursor)
!      return Boolean is
!    begin
!       return Equivalent_Keys (Left.Node.Element.all, Right.Node.Element.all);
!    end Equivalent_Keys;
  
  
!    function Equivalent_Keys (Left  : Cursor;
!                              Right : Element_Type)
!     return Boolean is
!    begin
!       return Equivalent_Keys (Left.Node.Element.all, Right);
!    end Equivalent_Keys;
  
  
!    function Equivalent_Keys (Left  : Element_Type;
!                              Right : Cursor)
!     return Boolean is
!    begin
!       return Equivalent_Keys (Left, Right.Node.Element.all);
!    end Equivalent_Keys;
  
  
!    procedure Iterate
!      (Container : in Set;
!       Process   : not null access procedure (Position : in Cursor)) is
  
!       procedure Process_Node (Node : in Node_Access);
!       pragma Inline (Process_Node);
  
!       procedure Process_Node (Node : in Node_Access) is
!       begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
!       end Process_Node;
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process_Node);
     begin
!       Iterate (Container);
!    end Iterate;
! 
! 
!    function Capacity (Container : Set) return Count_Type
!      renames HT_Ops.Capacity;
! 
!    procedure Reserve_Capacity
!      (Container : in out Set;
!       Capacity  : in     Count_Type)
!      renames HT_Ops.Ensure_Capacity;
! 
  
!    procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : in     Node_Access);
!    pragma Inline (Write_Node);
  
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : in     Node_Access) is
     begin
        Element_Type'Output (Stream, Node.Element.all);
     end Write_Node;
  
-    procedure Write_Nodes is
-       new HT_Ops.Generic_Write (Write_Node);
- 
-    procedure Write
-      (Stream    : access Root_Stream_Type'Class;
-       Container : in     Set) renames Write_Nodes;
- 
- 
-    function Read_Node (Stream : access Root_Stream_Type'Class)
-      return Node_Access;
-    pragma Inline (Read_Node);
- 
-    function Read_Node (Stream : access Root_Stream_Type'Class)
-      return Node_Access is
- 
-       X : Element_Access := new Element_Type'(Element_Type'Input (Stream));
-    begin
-       return new Node_Type'(X, null);
-    exception
-       when others =>
-          Free_Element (X);
-          raise;
-    end Read_Node;
- 
-    procedure Read_Nodes is
-       new HT_Ops.Generic_Read (Read_Node);
- 
-    procedure Read
-      (Stream    : access Root_Stream_Type'Class;
-       Container :    out Set) renames Read_Nodes;
- 
- 
     package body Generic_Keys is
  
!       function Equivalent_Keys (Left  : Cursor;
!                                 Right : Key_Type)
!         return Boolean is
!       begin
!          return Equivalent_Keys (Right, Left.Node.Element.all);
!       end Equivalent_Keys;
! 
!       function Equivalent_Keys (Left  : Key_Type;
!                                 Right : Cursor)
!         return Boolean is
!       begin
!          return Equivalent_Keys (Left, Right.Node.Element.all);
!       end Equivalent_Keys;
  
!       function Equivalent_Keys
          (Key  : Key_Type;
           Node : Node_Access) return Boolean;
!       pragma Inline (Equivalent_Keys);
  
!       function Equivalent_Keys
!         (Key  : Key_Type;
!          Node : Node_Access) return Boolean is
!       begin
!          return Equivalent_Keys (Key, Node.Element.all);
!       end Equivalent_Keys;
  
        package Key_Keys is
           new Hash_Tables.Generic_Keys
            (HT_Types  => HT_Types,
-            HT_Type   => Set,
-            Null_Node => null,
             Next      => Next,
             Set_Next  => Set_Next,
             Key_Type  => Key_Type,
             Hash      => Hash,
!            Equivalent_Keys => Equivalent_Keys);
! 
! 
!       function Find (Container : Set;
!                      Key       : Key_Type)
!          return Cursor is
  
!          Node : constant Node_Access :=
!            Key_Keys.Find (Container, Key);
  
        begin
  
!          if Node = null then
!             return No_Element;
!          end if;
! 
!          return Cursor'(Container'Unchecked_Access, Node);
! 
!       end Find;
  
  
-       function Contains (Container : Set;
-                          Key       : Key_Type) return Boolean is
        begin
!          return Find (Container, Key) /= No_Element;
!       end Contains;
  
  
!       function Element (Container : Set;
!                         Key       : Key_Type)
!         return Element_Type is
  
!          Node : constant Node_Access := Key_Keys.Find (Container, Key);
        begin
           return Node.Element.all;
        end Element;
  
  
!       function Key (Position : Cursor) return Key_Type is
        begin
!          return Key (Position.Node.Element.all);
!       end Key;
! 
! 
! --  TODO:
! --        procedure Replace (Container : in out Set;
! --                           Key       : in     Key_Type;
! --                           New_Item  : in     Element_Type) is
! 
! --           Node : constant Node_Access :=
! --             Key_Keys.Find (Container, Key);
  
! --        begin
  
! --           if Node = null then
! --              raise Constraint_Error;
! --           end if;
  
! --           Replace_Element (Container, Node, New_Item);
  
! --        end Replace;
  
  
!       procedure Delete (Container : in out Set;
!                         Key       : in     Key_Type) is
  
!          X : Node_Access;
  
        begin
  
!          Key_Keys.Delete_Key_Sans_Free (Container, Key, X);
! 
!          if X = null then
              raise Constraint_Error;
           end if;
  
!          Free (X);
! 
!       end Delete;
  
  
!       procedure Exclude (Container : in out Set;
!                          Key       : in     Key_Type) is
  
!          X : Node_Access;
  
        begin
  
!          Key_Keys.Delete_Key_Sans_Free (Container, Key, X);
!          Free (X);
! 
!       end Exclude;
! 
  
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : in     Cursor;
           Process   : not null access
!            procedure (Element : in out Element_Type)) is
  
        begin
  
!          if Position.Container = null then
              raise Constraint_Error;
           end if;
  
!          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
              raise Program_Error;
           end if;
  
           declare
!             Old_Key : Key_Type renames Key (Position.Node.Element.all);
           begin
!             Process (Position.Node.Element.all);
  
!             if Equivalent_Keys (Old_Key, Position.Node.Element.all) then
                 return;
              end if;
           end;
  
!          declare
!             function New_Node (Next : Node_Access) return Node_Access;
!             pragma Inline (New_Node);
  
!             function New_Node (Next : Node_Access) return Node_Access is
!             begin
!                Position.Node.Next := Next;
!                return Position.Node;
!             end New_Node;
  
!             procedure Insert is
!                new Key_Keys.Generic_Conditional_Insert (New_Node);
  
!             Result  : Node_Access;
!             Success : Boolean;
!          begin
!             HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
  
!             Insert
!               (HT      => Container,
!                Key     => Key (Position.Node.Element.all),
!                Node    => Result,
!                Success => Success);
  
!             if not Success then
!                declare
!                   X : Node_Access := Position.Node;
!                begin
!                   Free (X);
!                end;
  
!                raise Program_Error;
!             end if;
  
!             pragma Assert (Result = Position.Node);
           end;
  
!       end Checked_Update_Element;
  
     end Generic_Keys;
  
  end Ada.Containers.Indefinite_Hashed_Sets;
- 
--- 1516,2077 ----
                    end;
  
                    Length := Length + 1;
                 end;
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Right
! 
        begin
!          Iterate (Right.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Right;
  
+       return (Controlled with HT => (Buckets, Length, 0, 0));
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
  
!    function To_Set (New_Item : Element_Type) return Set is
!       HT       : Hash_Table_Type;
!       Node     : Node_Access;
!       Inserted : Boolean;
  
     begin
+       Insert (HT, New_Item, Node, Inserted);
+       return Set'(Controlled with HT);
+    end To_Set;
  
!    -----------
!    -- Union --
!    -----------
  
!    procedure Union
!      (Target : in out Set;
!       Source : Set)
!    is
!       procedure Process (Src_Node : Node_Access);
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Src_Node : Node_Access) is
!          Src : Element_Type renames Src_Node.Element.all;
  
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!          --------------
!          -- New_Node --
!          --------------
  
+          function New_Node (Next : Node_Access) return Node_Access is
+             Tgt : Element_Access := new Element_Type'(Src);
  
!          begin
!             return new Node_Type'(Tgt, Next);
!          exception
!             when others =>
!                Free_Element (Tgt);
!                raise;
!          end New_Node;
  
!          Tgt_Node : Node_Access;
!          Success  : Boolean;
! 
!       --  Start of processing for Process
! 
!       begin
!          Insert (Target.HT, Src, Tgt_Node, Success);
!       end Process;
! 
!    --  Start of processing for Union
  
     begin
+       if Target'Address = Source'Address then
+          return;
+       end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
        end if;
  
+       declare
+          N : constant Count_Type := Target.Length + Source.Length;
+       begin
+          if N > HT_Ops.Capacity (Target.HT) then
+             HT_Ops.Reserve_Capacity (Target.HT, N);
+          end if;
+       end;
+ 
+       Iterate (Source.HT);
+    end Union;
+ 
+    function Union (Left, Right : Set) return Set is
+       Buckets : HT_Types.Buckets_Access;
+       Length  : Count_Type;
+ 
+    begin
        if Left'Address = Right'Address then
!          return Left;
        end if;
  
!       if Right.Length = 0 then
!          return Left;
!       end if;
  
!       if Left.Length = 0 then
!          return Right;
!       end if;
  
!       declare
!          Size : constant Hash_Type :=
!                   Prime_Numbers.To_Prime (Left.Length + Right.Length);
!       begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
!       end;
  
!       Iterate_Left : declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
  
+          -------------
+          -- Process --
+          -------------
  
!          procedure Process (L_Node : Node_Access) is
!             Src : Element_Type renames L_Node.Element.all;
  
!             J : constant Hash_Type := Hash (Src) mod Buckets'Length;
  
!             Bucket : Node_Access renames Buckets (J);
  
!             Tgt : Element_Access := new Element_Type'(Src);
  
!          begin
!             Bucket := new Node_Type'(Tgt, Bucket);
!          exception
!             when others =>
!                Free_Element (Tgt);
!                raise;
!          end Process;
  
!       --  Start of processing for Process
  
+       begin
+          Iterate (Left.HT);
+       exception
+          when others =>
+             HT_Ops.Free_Hash_Table (Buckets);
+             raise;
+       end Iterate_Left;
  
!       Length := Left.Length;
  
+       Iterate_Right : declare
+          procedure Process (Src_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
  
!          -------------
!          -- Process --
!          -------------
  
!          procedure Process (Src_Node : Node_Access) is
!             Src : Element_Type renames Src_Node.Element.all;
!             Idx : constant Hash_Type := Hash (Src) mod Buckets'Length;
  
+             Tgt_Node : Node_Access := Buckets (Idx);
  
!          begin
!             while Tgt_Node /= null loop
!                if Equivalent_Elements (Src, Tgt_Node.Element.all) then
!                   return;
!                end if;
!                Tgt_Node := Next (Tgt_Node);
!             end loop;
  
+             declare
+                Tgt : Element_Access := new Element_Type'(Src);
+             begin
+                Buckets (Idx) := new Node_Type'(Tgt, Buckets (Idx));
+             exception
+                when others =>
+                   Free_Element (Tgt);
+                   raise;
+             end;
  
!             Length := Length + 1;
!          end Process;
! 
!       --  Start of processing for Iterate_Right
  
        begin
!          Iterate (Right.HT);
!       exception
!          when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end Iterate_Right;
  
!       return (Controlled with HT => (Buckets, Length, 0, 0));
!    end Union;
  
+    ---------
+    -- Vet --
+    ---------
  
!    function Vet (Position : Cursor) return Boolean is
     begin
!       if Position.Node = null then
!          return Position.Container = null;
!       end if;
  
        if Position.Container = null then
           return False;
        end if;
  
!       if Position.Node.Next = Position.Node then
           return False;
        end if;
  
!       if Position.Node.Element = null then
!          return False;
!       end if;
  
+       declare
+          HT : Hash_Table_Type renames Position.Container.HT;
+          X  : Node_Access;
  
!       begin
!          if HT.Length = 0 then
!             return False;
!          end if;
  
+          if HT.Buckets = null
+            or else HT.Buckets'Length = 0
+          then
+             return False;
+          end if;
  
!          X := HT.Buckets (Element_Keys.Index (HT, Position.Node.Element.all));
  
+          for J in 1 .. HT.Length loop
+             if X = Position.Node then
+                return True;
+             end if;
  
!             if X = null then
!                return False;
!             end if;
  
+             if X = X.Next then  --  to prevent unnecessary looping
+                return False;
+             end if;
  
!             X := X.Next;
!          end loop;
  
!          return False;
!       end;
!    end Vet;
  
!    -----------
!    -- Write --
!    -----------
  
!    procedure Write
!      (Stream    : access Root_Stream_Type'Class;
!       Container : Set)
!    is
     begin
!       Write_Nodes (Stream, Container.HT);
!    end Write;
  
!    procedure Write
       (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
! 
!    ----------------
!    -- Write_Node --
!    ----------------
  
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : Node_Access)
!    is
     begin
        Element_Type'Output (Stream, Node.Element.all);
     end Write_Node;
  
     package body Generic_Keys is
  
!       -----------------------
!       -- Local Subprograms --
!       -----------------------
  
!       function Equivalent_Key_Node
          (Key  : Key_Type;
           Node : Node_Access) return Boolean;
!       pragma Inline (Equivalent_Key_Node);
  
!       --------------------------
!       -- Local Instantiations --
!       --------------------------
  
        package Key_Keys is
           new Hash_Tables.Generic_Keys
            (HT_Types  => HT_Types,
             Next      => Next,
             Set_Next  => Set_Next,
             Key_Type  => Key_Type,
             Hash      => Hash,
!            Equivalent_Keys => Equivalent_Key_Node);
  
!       --------------
!       -- Contains --
!       --------------
  
+       function Contains
+         (Container : Set;
+          Key       : Key_Type) return Boolean
+       is
        begin
+          return Find (Container, Key) /= No_Element;
+       end Contains;
  
!       ------------
!       -- Delete --
!       ------------
  
+       procedure Delete
+         (Container : in out Set;
+          Key       : Key_Type)
+       is
+          X : Node_Access;
  
        begin
!          Key_Keys.Delete_Key_Sans_Free (Container.HT, Key, X);
  
+          if X = null then
+             raise Constraint_Error;
+          end if;
  
!          Free (X);
!       end Delete;
  
!       -------------
!       -- Element --
!       -------------
! 
!       function Element
!         (Container : Set;
!          Key       : Key_Type) return Element_Type
!       is
!          Node : constant Node_Access := Key_Keys.Find (Container.HT, Key);
        begin
           return Node.Element.all;
        end Element;
  
+       -------------------------
+       -- Equivalent_Key_Node --
+       -------------------------
  
!       function Equivalent_Key_Node
!         (Key  : Key_Type;
!          Node : Node_Access) return Boolean is
        begin
!          return Equivalent_Keys (Key, Generic_Keys.Key (Node.Element.all));
!       end Equivalent_Key_Node;
  
!       -------------
!       -- Exclude --
!       -------------
  
!       procedure Exclude
!         (Container : in out Set;
!          Key       : Key_Type)
!       is
!          X : Node_Access;
!       begin
!          Key_Keys.Delete_Key_Sans_Free (Container.HT, Key, X);
!          Free (X);
!       end Exclude;
  
!       ----------
!       -- Find --
!       ----------
  
!       function Find
!         (Container : Set;
!          Key       : Key_Type) return Cursor
!       is
!          Node : constant Node_Access := Key_Keys.Find (Container.HT, Key);
  
+       begin
+          if Node = null then
+             return No_Element;
+          end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
!       end Find;
  
!       ---------
!       -- Key --
!       ---------
  
+       function Key (Position : Cursor) return Key_Type is
        begin
+          pragma Assert (Vet (Position), "bad cursor in function Key");
  
!          if Position.Node = null then
              raise Constraint_Error;
           end if;
  
!          if Position.Node.Element = null then
!             raise Program_Error;
!          end if;
  
+          return Key (Position.Node.Element.all);
+       end Key;
  
!       -------------
!       -- Replace --
!       -------------
  
!       procedure Replace
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type)
!       is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.HT, Key);
  
        begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
  
!          Replace_Element (Container.HT, Node, New_Item);
!       end Replace;
  
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : in     Cursor;
           Process   : not null access
!            procedure (Element : in out Element_Type))
!       is
!          HT   : Hash_Table_Type renames Container.HT;
!          Indx : Hash_Type;
  
        begin
+          pragma Assert
+            (Vet (Position),
+             "bad cursor in Update_Element_Preserving_Key");
  
!          if Position.Node = null then
              raise Constraint_Error;
           end if;
  
!          if Position.Node.Element = null
!            or else Position.Node.Next = Position.Node
!          then
              raise Program_Error;
           end if;
  
+          if Position.Container /= Container'Unrestricted_Access then
+             raise Program_Error;
+          end if;
+ 
+          if HT.Buckets = null
+            or else HT.Buckets'Length = 0
+            or else HT.Length = 0
+          then
+             raise Program_Error;
+          end if;
+ 
+          Indx := HT_Ops.Index (HT, Position.Node);
+ 
           declare
!             E : Element_Type renames Position.Node.Element.all;
!             K : constant Key_Type := Key (E);
! 
!             B : Natural renames HT.Busy;
!             L : Natural renames HT.Lock;
! 
           begin
!             B := B + 1;
!             L := L + 1;
  
!             begin
!                Process (E);
!             exception
!                when others =>
!                   L := L - 1;
!                   B := B - 1;
!                   raise;
!             end;
! 
!             L := L - 1;
!             B := B - 1;
! 
!             if Equivalent_Keys (K, Key (E)) then
!                pragma Assert (Hash (K) = Hash (E));
                 return;
              end if;
           end;
  
!          if HT.Buckets (Indx) = Position.Node then
!             HT.Buckets (Indx) := Position.Node.Next;
  
!          else
!             declare
!                Prev : Node_Access := HT.Buckets (Indx);
  
!             begin
!                while Prev.Next /= Position.Node loop
!                   Prev := Prev.Next;
  
!                   if Prev = null then
!                      raise Program_Error;
!                   end if;
!                end loop;
  
!                Prev.Next := Position.Node.Next;
!             end;
!          end if;
  
!          HT.Length := HT.Length - 1;
  
!          declare
!             X : Node_Access := Position.Node;
  
!          begin
!             Free (X);
           end;
  
!          raise Program_Error;
!       end Update_Element_Preserving_Key;
  
     end Generic_Keys;
  
  end Ada.Containers.Indefinite_Hashed_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cihase.ads gcc-4.1.0/gcc/ada/a-cihase.ads
*** gcc-4.0.2/gcc/ada/a-cihase.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cihase.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_HASHED_SETS                   --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --               I N D E F I N I T E _ H A S H E D _ S E T S                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,56 ****
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
  
  generic
     type Element_Type (<>) is private;
  
     with function Hash (Element : Element_Type) return Hash_Type;
  
!    --  TODO: get a ruling from ARG in Atlanta re the name and
!    --  order of these declarations ???
! 
!    with function Equivalent_Keys (Left, Right : Element_Type) return Boolean;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Hashed_Sets is
! 
!    pragma Preelaborate (Indefinite_Hashed_Sets);
  
     type Set is tagged private;
  
--- 36,55 ----
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
+ with Ada.Finalization;
  
  generic
     type Element_Type (<>) is private;
  
     with function Hash (Element : Element_Type) return Hash_Type;
  
!    with function Equivalent_Elements (Left, Right : Element_Type)
!                                      return Boolean;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Hashed_Sets is
!    pragma Preelaborate;
  
     type Set is tagged private;
  
*************** package Ada.Containers.Indefinite_Hashed
*** 62,67 ****
--- 61,76 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
+    function Capacity (Container : Set) return Count_Type;
+ 
+    procedure Reserve_Capacity
+      (Container : in out Set;
+       Capacity  : Count_Type);
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** package Ada.Containers.Indefinite_Hashed
*** 70,84 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
- --  TODO: resolve in atlanta ???
- --   procedure Replace_Element (Container : in out Set;
- --                              Position  : Cursor;
- --                              By        : Element_Type);
- 
     procedure Move
       (Target : in out Set;
        Source : in out Set);
--- 79,93 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Move
       (Target : in out Set;
        Source : in out Set);
*************** package Ada.Containers.Indefinite_Hashed
*** 95,104 ****
  
     procedure Replace (Container : in out Set; New_Item : Element_Type);
  
-    procedure Delete  (Container : in out Set; Item : Element_Type);
- 
     procedure Exclude (Container : in out Set; Item : Element_Type);
  
     procedure Delete (Container : in out Set; Position  : in out Cursor);
  
     procedure Union (Target : in out Set; Source : Set);
--- 104,113 ----
  
     procedure Replace (Container : in out Set; New_Item : Element_Type);
  
     procedure Exclude (Container : in out Set; Item : Element_Type);
  
+    procedure Delete  (Container : in out Set; Item : Element_Type);
+ 
     procedure Delete (Container : in out Set; Position  : in out Cursor);
  
     procedure Union (Target : in out Set; Source : Set);
*************** package Ada.Containers.Indefinite_Hashed
*** 126,144 ****
     function "xor" (Left, Right : Set) return Set
       renames Symmetric_Difference;
  
-    function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
- 
     function Overlap (Left, Right : Set) return Boolean;
  
!    function Contains (Container : Set; Item : Element_Type) return Boolean;
! 
!    function Find (Container : Set; Item : Element_Type) return Cursor;
! 
!    function Capacity (Container : Set) return Count_Type;
! 
!    procedure Reserve_Capacity
!      (Container : in out Set;
!       Capacity  : Count_Type);
  
     function First (Container : Set) return Cursor;
  
--- 135,143 ----
     function "xor" (Left, Right : Set) return Set
       renames Symmetric_Difference;
  
     function Overlap (Left, Right : Set) return Boolean;
  
!    function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
     function First (Container : Set) return Cursor;
  
*************** package Ada.Containers.Indefinite_Hashed
*** 146,160 ****
  
     procedure Next (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
!    function Equivalent_Keys (Left, Right : Cursor) return Boolean;
  
!    function Equivalent_Keys
       (Left  : Cursor;
        Right : Element_Type) return Boolean;
  
!    function Equivalent_Keys
       (Left  : Element_Type;
        Right : Cursor) return Boolean;
  
--- 145,163 ----
  
     procedure Next (Position : in out Cursor);
  
+    function Find (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
!    function Equivalent_Elements (Left, Right : Cursor) return Boolean;
  
!    function Equivalent_Elements
       (Left  : Cursor;
        Right : Element_Type) return Boolean;
  
!    function Equivalent_Elements
       (Left  : Element_Type;
        Right : Cursor) return Boolean;
  
*************** package Ada.Containers.Indefinite_Hashed
*** 163,228 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
        with function Hash (Key : Key_Type) return Hash_Type;
  
!       with function Equivalent_Keys
!         (Key     : Key_Type;
!          Element : Element_Type) return Boolean;
  
     package Generic_Keys is
  
-       function Contains (Container : Set; Key : Key_Type) return Boolean;
- 
-       function Find (Container : Set; Key : Key_Type) return Cursor;
- 
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
! --  TODO: resolve in atlanta???
! --      procedure Replace (Container : in out Set;
! --                         Key       : Key_Type;
! --                         New_Item  : Element_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
                         procedure (Element : in out Element_Type));
  
-       function Equivalent_Keys
-         (Left  : Cursor;
-          Right : Key_Type) return Boolean;
- 
-       function Equivalent_Keys
-         (Left  : Key_Type;
-          Right : Cursor) return Boolean;
     end Generic_Keys;
  
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package HT_Types is
!       new Hash_Tables.Generic_Hash_Table_Types (Node_Access);
  
!    use HT_Types;
  
!    type Set is new Hash_Table_Type with null record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set);
  
!    type Set_Access is access constant Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is
--- 166,235 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
        with function Hash (Key : Key_Type) return Hash_Type;
  
!       with function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
     package Generic_Keys is
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       procedure Replace           -- TODO: ask Randy why this is still here
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type);
! 
!       procedure Exclude (Container : in out Set; Key : Key_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       function Find (Container : Set; Key : Key_Type) return Cursor;
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
                         procedure (Element : in out Element_Type));
  
     end Generic_Keys;
  
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Element_Access is access Element_Type;
  
!    type Node_Type is
!       limited record
!          Element : Element_Access;
!          Next    : Node_Access;
!       end record;
  
!    package HT_Types is new Hash_Tables.Generic_Hash_Table_Types
!      (Node_Type,
!       Node_Access);
! 
!    type Set is new Ada.Finalization.Controlled with record
!       HT : HT_Types.Hash_Table_Type;
!    end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set);
  
!    use HT_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is
*************** private
*** 231,242 ****
           Node      : Node_Access;
        end record;
  
     No_Element : constant Cursor :=
                    (Container => null,
                     Node      => null);
  
-    use Ada.Streams;
- 
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
        Container : Set);
--- 238,259 ----
           Node      : Node_Access;
        end record;
  
+    procedure Write
+      (Stream : access Root_Stream_Type'Class;
+       Item   : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
     No_Element : constant Cursor :=
                    (Container => null,
                     Node      => null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
        Container : Set);
*************** private
*** 249,255 ****
  
     for Set'Read use Read;
  
!    Empty_Set : constant Set := (Hash_Table_Type with null record);
  
  end Ada.Containers.Indefinite_Hashed_Sets;
- 
--- 266,271 ----
  
     for Set'Read use Read;
  
!    Empty_Set : constant Set := (Controlled with HT => (null, 0, 0, 0));
  
  end Ada.Containers.Indefinite_Hashed_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciorma.adb gcc-4.1.0/gcc/ada/a-ciorma.adb
*** gcc-4.0.2/gcc/ada/a-ciorma.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciorma.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_ORDERED_MAPS                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --             I N D E F I N I T E _ O R D E R E D _ M A P S                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 41,64 ****
  with Ada.Containers.Red_Black_Trees.Generic_Keys;
  pragma Elaborate_All (Ada.Containers.Red_Black_Trees.Generic_Keys);
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Indefinite_Ordered_Maps is
  
-    use Red_Black_Trees;
- 
-    type Key_Access is access Key_Type;
-    type Element_Access is access Element_Type;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Key     : Key_Access;
-       Element : Element_Access;
-    end record;
- 
     -----------------------------
     -- Node Access Subprograms --
     -----------------------------
--- 42,49 ----
*************** package body Ada.Containers.Indefinite_O
*** 97,106 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
- 
-    procedure Delete_Tree (X : in out Node_Access);
- 
     procedure Free (X : in out Node_Access);
  
     function Is_Equal_Node_Node
--- 82,87 ----
*************** package body Ada.Containers.Indefinite_O
*** 122,130 ****
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!        (Tree_Types => Tree_Types,
!         Null_Node  => Node_Access'(null));
  
     use Tree_Operations;
  
--- 103,115 ----
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations (Tree_Types);
! 
!    procedure Delete_Tree is
!       new Tree_Operations.Generic_Delete_Tree (Free);
! 
!    function Copy_Tree is
!       new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
  
     use Tree_Operations;
  
*************** package body Ada.Containers.Indefinite_O
*** 150,165 ****
--- 135,190 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Key = null
+         or else Right.Node.Key = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Key.all < Right.Node.Key.all;
     end "<";
  
     function "<" (Left : Cursor; Right : Key_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Key = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Key.all < Right;
     end "<";
  
     function "<" (Left : Key_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Key = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Key.all;
     end "<";
  
*************** package body Ada.Containers.Indefinite_O
*** 169,178 ****
  
     function "=" (Left, Right : Map) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return True;
-       end if;
- 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
--- 194,199 ----
*************** package body Ada.Containers.Indefinite_O
*** 182,197 ****
--- 203,258 ----
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Key = null
+         or else Right.Node.Key = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Key.all < Left.Node.Key.all;
     end ">";
  
     function ">" (Left : Cursor; Right : Key_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Key = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
        return Right < Left.Node.Key.all;
     end ">";
  
     function ">" (Left : Key_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Key = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Key.all < Left;
     end ">";
  
*************** package body Ada.Containers.Indefinite_O
*** 199,222 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) is
!       Tree : Tree_Type renames Container.Tree;
! 
!       N : constant Count_Type := Tree.Length;
!       X : constant Node_Access := Tree.Root;
  
     begin
!       if N = 0 then
!          pragma Assert (X = null);
!          return;
!       end if;
! 
!       Tree := (Length => 0, others => null);
! 
!       Tree.Root := Copy_Tree (X);
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
!       Tree.Length := N;
     end Adjust;
  
     -------------
--- 260,271 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Map) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 225,248 ****
  
     function Ceiling (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Ceiling (Container.Tree, Key);
     begin
        if Node = null then
           return No_Element;
-       else
-          return Cursor'(Container'Unchecked_Access, Node);
        end if;
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Map) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 274,298 ----
  
     function Ceiling (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Ceiling (Container.Tree, Key);
+ 
     begin
        if Node = null then
           return No_Element;
        end if;
+ 
+       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Map) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 268,326 ****
     ---------------
  
     function Copy_Node (Source : Node_Access) return Node_Access is
!       Target : constant Node_Access :=
!          new Node_Type'(Parent  => null,
!                         Left    => null,
!                         Right   => null,
!                         Color   => Source.Color,
!                         Key     => Source.Key,
!                         Element => Source.Element);
!    begin
!       return Target;
!    end Copy_Node;
! 
!    ---------------
!    -- Copy_Tree --
!    ---------------
! 
!    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
!       Target_Root : Node_Access := Copy_Node (Source_Root);
! 
!       P, X : Node_Access;
! 
     begin
!       if Source_Root.Right /= null then
!          Target_Root.Right := Copy_Tree (Source_Root.Right);
!          Target_Root.Right.Parent := Target_Root;
!       end if;
! 
!       P := Target_Root;
!       X := Source_Root.Left;
!       while X /= null loop
!          declare
!             Y : Node_Access := Copy_Node (X);
! 
!          begin
!             P.Left := Y;
!             Y.Parent := P;
! 
!             if X.Right /= null then
!                Y.Right := Copy_Tree (X.Right);
!                Y.Right.Parent := Y;
!             end if;
! 
!             P := Y;
!             X := X.Left;
!          end;
!       end loop;
! 
!       return Target_Root;
  
     exception
        when others =>
!          Delete_Tree (Target_Root);
           raise;
!    end Copy_Tree;
  
     ------------
     -- Delete --
--- 318,340 ----
     ---------------
  
     function Copy_Node (Source : Node_Access) return Node_Access is
!       K : Key_Access := new Key_Type'(Source.Key.all);
!       E : Element_Access;
     begin
!       E := new Element_Type'(Source.Element.all);
  
+       return new Node_Type'(Parent  => null,
+                             Left    => null,
+                             Right   => null,
+                             Color   => Source.Color,
+                             Key     => K,
+                             Element => E);
     exception
        when others =>
!          Free_Key (K);
!          Free_Element (E);
           raise;
!    end Copy_Node;
  
     ------------
     -- Delete --
*************** package body Ada.Containers.Indefinite_O
*** 331,345 ****
        Position  : in out Cursor)
     is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Map_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
--- 345,368 ----
        Position  : in out Cursor)
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Node.Key = null
!         or else Position.Node.Element = null
!       then
           raise Program_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Delete");
! 
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
*************** package body Ada.Containers.Indefinite_O
*** 347,359 ****
  
     procedure Delete (Container : in out Map; Key : Key_Type) is
        X : Node_Access := Key_Ops.Find (Container.Tree, Key);
     begin
        if X = null then
           raise Constraint_Error;
-       else
-          Delete_Node_Sans_Free (Container.Tree, X);
-          Free (X);
        end if;
     end Delete;
  
     ------------------
--- 370,383 ----
  
     procedure Delete (Container : in out Map; Key : Key_Type) is
        X : Node_Access := Key_Ops.Find (Container.Tree, Key);
+ 
     begin
        if X = null then
           raise Constraint_Error;
        end if;
+ 
+       Delete_Node_Sans_Free (Container.Tree, X);
+       Free (X);
     end Delete;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 361,369 ****
     ------------------
  
     procedure Delete_First (Container : in out Map) is
!       Position : Cursor := First (Container);
     begin
!       Delete (Container, Position);
     end Delete_First;
  
     -----------------
--- 385,397 ----
     ------------------
  
     procedure Delete_First (Container : in out Map) is
!       X : Node_Access := Container.Tree.First;
! 
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
!          Free (X);
!       end if;
     end Delete_First;
  
     -----------------
*************** package body Ada.Containers.Indefinite_O
*** 371,396 ****
     -----------------
  
     procedure Delete_Last (Container : in out Map) is
!       Position : Cursor := Last (Container);
!    begin
!       Delete (Container, Position);
!    end Delete_Last;
! 
!    -----------------
!    -- Delete_Tree --
!    -----------------
  
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
     begin
!       while X /= null loop
!          Y := X.Right;
!          Delete_Tree (Y);
!          Y := X.Left;
           Free (X);
!          X := Y;
!       end loop;
!    end Delete_Tree;
  
     -------------
     -- Element --
--- 399,412 ----
     -----------------
  
     procedure Delete_Last (Container : in out Map) is
!       X : Node_Access := Container.Tree.Last;
  
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
!       end if;
!    end Delete_Last;
  
     -------------
     -- Element --
*************** package body Ada.Containers.Indefinite_O
*** 398,412 ****
--- 414,459 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Position.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element.all;
     end Element;
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
        Node : constant Node_Access := Key_Ops.Find (Container.Tree, Key);
+ 
     begin
+       if Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Node.Element.all;
     end Element;
  
+    ---------------------
+    -- Equivalent_Keys --
+    ---------------------
+ 
+    function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Keys;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 416,422 ****
  
     begin
        if X /= null then
!          Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
--- 463,469 ----
  
     begin
        if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
*************** package body Ada.Containers.Indefinite_O
*** 427,438 ****
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Find (Container.Tree, Key);
     begin
        if Node = null then
           return No_Element;
-       else
-          return Cursor'(Container'Unchecked_Access, Node);
        end if;
     end Find;
  
     -----------
--- 474,486 ----
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Find (Container.Tree, Key);
+ 
     begin
        if Node = null then
           return No_Element;
        end if;
+ 
+       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 440,451 ****
     -----------
  
     function First (Container : Map) return Cursor is
     begin
!       if Container.Tree.First = null then
           return No_Element;
-       else
-          return Cursor'(Container'Unchecked_Access, Container.Tree.First);
        end if;
     end First;
  
     -------------------
--- 488,501 ----
     -----------
  
     function First (Container : Map) return Cursor is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
           return No_Element;
        end if;
+ 
+       return Cursor'(Container'Unrestricted_Access, T.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Indefinite_O
*** 453,460 ****
     -------------------
  
     function First_Element (Container : Map) return Element_Type is
     begin
!       return Container.Tree.First.Element.all;
     end First_Element;
  
     ---------------
--- 503,516 ----
     -------------------
  
     function First_Element (Container : Map) return Element_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.First.Element.all;
     end First_Element;
  
     ---------------
*************** package body Ada.Containers.Indefinite_O
*** 462,469 ****
     ---------------
  
     function First_Key (Container : Map) return Key_Type is
     begin
!       return Container.Tree.First.Key.all;
     end First_Key;
  
     -----------
--- 518,531 ----
     ---------------
  
     function First_Key (Container : Map) return Key_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.First.Key.all;
     end First_Key;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 472,483 ****
  
     function Floor (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Floor (Container.Tree, Key);
     begin
        if Node = null then
           return No_Element;
-       else
-          return Cursor'(Container'Unchecked_Access, Node);
        end if;
     end Floor;
  
     ----------
--- 534,546 ----
  
     function Floor (Container : Map; Key : Key_Type) return Cursor is
        Node : constant Node_Access := Key_Ops.Floor (Container.Tree, Key);
+ 
     begin
        if Node = null then
           return No_Element;
        end if;
+ 
+       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 487,498 ****
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
     begin
!       if X /= null then
           Free_Key (X.Key);
           Free_Element (X.Element);
!          Deallocate (X);
!       end if;
     end Free;
  
     -----------------
--- 550,593 ----
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
     begin
!       if X = null then
!          return;
!       end if;
! 
!       X.Parent := X;
!       X.Left := X;
!       X.Right := X;
! 
!       begin
           Free_Key (X.Key);
+       exception
+          when others =>
+             X.Key := null;
+ 
+             begin
+                Free_Element (X.Element);
+             exception
+                when others =>
+                   X.Element := null;
+             end;
+ 
+             Deallocate (X);
+             raise;
+       end;
+ 
+       begin
           Free_Element (X.Element);
!       exception
!          when others =>
!             X.Element := null;
! 
!             Deallocate (X);
!             raise;
!       end;
! 
!       Deallocate (X);
     end Free;
  
     -----------------
*************** package body Ada.Containers.Indefinite_O
*** 523,533 ****
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
           K := Position.Node.Key;
           E := Position.Node.Element;
  
           Position.Node.Key := new Key_Type'(Key);
!          Position.Node.Element := new Element_Type'(New_Item);
  
           Free_Key (K);
           Free_Element (E);
--- 618,639 ----
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.Tree.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           K := Position.Node.Key;
           E := Position.Node.Element;
  
           Position.Node.Key := new Key_Type'(Key);
! 
!          begin
!             Position.Node.Element := new Element_Type'(New_Item);
!          exception
!             when others =>
!                Free_Key (K);
!                raise;
!          end;
  
           Free_Key (K);
           Free_Element (E);
*************** package body Ada.Containers.Indefinite_O
*** 571,577 ****
  
              --  On exception, deallocate key and elem
  
!             Free (Node);
              raise;
        end New_Node;
  
--- 677,683 ----
  
              --  On exception, deallocate key and elem
  
!             Free (Node);  --  Note that Free deallocates key and elem too
              raise;
        end New_Node;
  
*************** package body Ada.Containers.Indefinite_O
*** 584,590 ****
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unchecked_Access;
     end Insert;
  
     procedure Insert
--- 690,696 ----
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unrestricted_Access;
     end Insert;
  
     procedure Insert
*************** package body Ada.Containers.Indefinite_O
*** 620,626 ****
     function Is_Equal_Node_Node
       (L, R : Node_Access) return Boolean is
     begin
!       return L.Element.all = R.Element.all;
     end Is_Equal_Node_Node;
  
     -------------------------
--- 726,740 ----
     function Is_Equal_Node_Node
       (L, R : Node_Access) return Boolean is
     begin
!       if L.Key.all < R.Key.all then
!          return False;
! 
!       elsif R.Key.all < L.Key.all then
!          return False;
! 
!       else
!          return L.Element.all = R.Element.all;
!       end if;
     end Is_Equal_Node_Node;
  
     -------------------------
*************** package body Ada.Containers.Indefinite_O
*** 668,680 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     ---------
--- 782,806 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       B : Natural renames Container.Tree'Unrestricted_Access.all.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (Container.Tree);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ---------
*************** package body Ada.Containers.Indefinite_O
*** 683,688 ****
--- 809,825 ----
  
     function Key (Position : Cursor) return Key_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Position.Node.Key = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Key");
+ 
        return Position.Node.Key.all;
     end Key;
  
*************** package body Ada.Containers.Indefinite_O
*** 691,702 ****
     ----------
  
     function Last (Container : Map) return Cursor is
     begin
!       if Container.Tree.Last = null then
           return No_Element;
-       else
-          return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
        end if;
     end Last;
  
     ------------------
--- 828,841 ----
     ----------
  
     function Last (Container : Map) return Cursor is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
           return No_Element;
        end if;
+ 
+       return Cursor'(Container'Unrestricted_Access, T.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 704,711 ****
     ------------------
  
     function Last_Element (Container : Map) return Element_Type is
     begin
!       return Container.Tree.Last.Element.all;
     end Last_Element;
  
     --------------
--- 843,856 ----
     ------------------
  
     function Last_Element (Container : Map) return Element_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.Last.Element.all;
     end Last_Element;
  
     --------------
*************** package body Ada.Containers.Indefinite_O
*** 713,720 ****
     --------------
  
     function Last_Key (Container : Map) return Key_Type is
     begin
!       return Container.Tree.Last.Key.all;
     end Last_Key;
  
     ----------
--- 858,871 ----
     --------------
  
     function Last_Key (Container : Map) return Key_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.Last.Key.all;
     end Last_Key;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 739,750 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Map; Source : in out Map) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 890,900 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Map; Source : in out Map) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Indefinite_O
*** 758,765 ****
           return No_Element;
        end if;
  
        declare
!          Node : constant Node_Access := Tree_Operations.Next (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 908,923 ----
           return No_Element;
        end if;
  
+       pragma Assert (Position.Node /= null);
+       pragma Assert (Position.Node.Key /= null);
+       pragma Assert (Position.Node.Element /= null);
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
!          Node : constant Node_Access :=
!                   Tree_Operations.Next (Position.Node);
! 
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Indefinite_O
*** 793,801 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Previous (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 951,966 ----
           return No_Element;
        end if;
  
+       pragma Assert (Position.Node /= null);
+       pragma Assert (Position.Node.Key /= null);
+       pragma Assert (Position.Node.Element /= null);
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Previous (Position.Node);
! 
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Indefinite_O
*** 816,825 ****
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Key.all, Position.Node.Element.all);
     end Query_Element;
  
     ----------
--- 981,1029 ----
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Key     : Key_Type;
!                                             Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Key = null
!         or else Position.Node.Element = null
!       then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key.all;
!             E : Element_Type renames Position.Node.Element.all;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 830,872 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : out Map)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Read is new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
- 
        begin
           Node.Key := new Key_Type'(Key_Type'Input (Stream));
           Node.Element := new Element_Type'(Element_Type'Input (Stream));
           return Node;
- 
        exception
           when others =>
! 
!             --  Deallocate key and elem too on exception
! 
!             Free (Node);
              raise;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
! 
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
  
!       Local_Read (Container.Tree, N);
     end Read;
  
     -------------
--- 1034,1076 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : out Map)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
!       procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
        begin
           Node.Key := new Key_Type'(Key_Type'Input (Stream));
           Node.Element := new Element_Type'(Element_Type'Input (Stream));
           return Node;
        exception
           when others =>
!             Free (Node);  --  Note that Free deallocates key and elem too
              raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
!    end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
     end Read;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 889,899 ****
           raise Constraint_Error;
        end if;
  
        K := Node.Key;
        E := Node.Element;
  
        Node.Key := new Key_Type'(Key);
!       Node.Element := new Element_Type'(New_Item);
  
        Free_Key (K);
        Free_Element (E);
--- 1093,1114 ----
           raise Constraint_Error;
        end if;
  
+       if Container.Tree.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        K := Node.Key;
        E := Node.Element;
  
        Node.Key := new Key_Type'(Key);
! 
!       begin
!          Node.Element := new Element_Type'(New_Item);
!       exception
!          when others =>
!             Free_Key (K);
!             raise;
!       end;
  
        Free_Key (K);
        Free_Element (E);
*************** package body Ada.Containers.Indefinite_O
*** 903,913 ****
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element (Position : Cursor; By : Element_Type) is
!       X : Element_Access := Position.Node.Element;
     begin
!       Position.Node.Element := new Element_Type'(By);
!       Free_Element (X);
     end Replace_Element;
  
     ---------------------
--- 1118,1157 ----
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Key = null
!         or else Position.Node.Element = null
!       then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       if Container.Tree.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
! 
!       declare
!          X : Element_Access := Position.Node.Element;
! 
!       begin
!          Position.Node.Element := new Element_Type'(New_Item);
!          Free_Element (X);
!       end;
     end Replace_Element;
  
     ---------------------
*************** package body Ada.Containers.Indefinite_O
*** 930,942 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     -----------
--- 1174,1198 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       B : Natural renames Container.Tree'Unrestricted_Access.all.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (Container.Tree);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 989,999 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
     begin
!       Process (Position.Node.Key.all, Position.Node.Element.all);
     end Update_Element;
  
     -----------
--- 1245,1299 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
!                                              Element : in out Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Key = null
!         or else Position.Node.Element = null
!       then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Update_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key.all;
!             E : Element_Type renames Position.Node.Element.all;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 1004,1031 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : Map)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is
!         new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Key_Type'Output (Stream, Node.Key.all);
           Element_Type'Output (Stream, Node.Element.all);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
! end Ada.Containers.Indefinite_Ordered_Maps;
  
--- 1304,1342 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : Map)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Key_Type'Output (Stream, Node.Key.all);
           Element_Type'Output (Stream, Node.Element.all);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Indefinite_Ordered_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciorma.ads gcc-4.1.0/gcc/ada/a-ciorma.ads
*** gcc-4.0.2/gcc/ada/a-ciorma.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciorma.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_ORDERED_MAPS                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --             I N D E F I N I T E _ O R D E R E D _ M A P S                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Finalization;
*** 38,54 ****
  with Ada.Streams;
  
  generic
- 
     type Key_Type (<>) is private;
- 
     type Element_Type (<>) is private;
  
     with function "<" (Left, Right : Key_Type) return Boolean is <>;
- 
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Maps is
! pragma Preelaborate (Indefinite_Ordered_Maps);
  
     type Map is tagged private;
  
--- 39,54 ----
  with Ada.Streams;
  
  generic
     type Key_Type (<>) is private;
     type Element_Type (<>) is private;
  
     with function "<" (Left, Right : Key_Type) return Boolean is <>;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Maps is
!    pragma Preelaborate;
! 
!    function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
     type Map is tagged private;
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 70,86 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Key     : Key_Type;
                                              Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Key     : Key_Type;
!                                             Element : in out Element_Type));
! 
!    procedure Replace_Element (Position : Cursor; By : Element_Type);
  
     procedure Move (Target : in out Map; Source : in out Map);
  
--- 70,90 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Map;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Key     : Key_Type;
                                              Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
!                                              Element : in out Element_Type));
  
     procedure Move (Target : in out Map; Source : in out Map);
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 106,166 ****
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Delete
!      (Container : in out Map;
!       Key       : Key_Type);
  
!    procedure Exclude
!      (Container : in out Map;
!       Key       : Key_Type);
  
!    procedure Delete
!      (Container : in out Map;
!       Position  : in out Cursor);
  
     procedure Delete_First (Container : in out Map);
  
     procedure Delete_Last (Container : in out Map);
  
!    function Contains
!      (Container : Map;
!       Key       : Key_Type) return Boolean;
  
!    function Find
!      (Container : Map;
!       Key       : Key_Type) return Cursor;
  
!    function Element
!      (Container : Map;
!       Key       : Key_Type) return Element_Type;
  
!    function Floor
!      (Container : Map;
!       Key       : Key_Type) return Cursor;
  
!    function Ceiling
!      (Container : Map;
!       Key       : Key_Type) return Cursor;
  
!    function First (Container : Map) return Cursor;
  
!    function First_Key (Container : Map) return Key_Type;
  
!    function First_Element (Container : Map) return Element_Type;
  
!    function Last (Container : Map) return Cursor;
  
!    function Last_Key (Container : Map) return Key_Type;
  
!    function Last_Element (Container : Map) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    function Previous (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
--- 110,154 ----
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Exclude (Container : in out Map; Key : Key_Type);
  
!    procedure Delete (Container : in out Map; Key : Key_Type);
  
!    procedure Delete (Container : in out Map; Position : in out Cursor);
  
     procedure Delete_First (Container : in out Map);
  
     procedure Delete_Last (Container : in out Map);
  
!    function First (Container : Map) return Cursor;
  
!    function First_Element (Container : Map) return Element_Type;
  
!    function First_Key (Container : Map) return Key_Type;
  
!    function Last (Container : Map) return Cursor;
  
!    function Last_Element (Container : Map) return Element_Type;
  
!    function Last_Key (Container : Map) return Key_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    function Previous (Position : Cursor) return Cursor;
  
!    procedure Previous (Position : in out Cursor);
  
!    function Find (Container : Map; Key : Key_Type) return Cursor;
  
!    function Element (Container : Map; Key : Key_Type) return Element_Type;
  
!    function Floor (Container : Map; Key : Key_Type) return Cursor;
  
!    function Ceiling (Container : Map; Key : Key_Type) return Cursor;
  
!    function Contains (Container : Map; Key : Key_Type) return Boolean;
  
     function Has_Element (Position : Cursor) return Boolean;
  
*************** private
*** 189,209 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!      new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Map is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Map);
  
     procedure Finalize (Container : in out Map) renames Clear;
  
!    type Map_Access is access constant Map;
     for Map_Access'Storage_Size use 0;
  
     type Cursor is record
--- 177,212 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Key_Access is access Key_Type;
!    type Element_Access is access Element_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Key     : Key_Access;
!       Element : Element_Access;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
! 
!    type Map is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Map);
  
     procedure Finalize (Container : in out Map) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Map_Access is access all Map;
     for Map_Access'Storage_Size use 0;
  
     type Cursor is record
*************** private
*** 211,219 ****
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 214,232 ----
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 228,234 ****
     for Map'Read use Read;
  
     Empty_Map : constant Map :=
!      (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Indefinite_Ordered_Maps;
- 
--- 241,251 ----
     for Map'Read use Read;
  
     Empty_Map : constant Map :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Indefinite_Ordered_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciormu.adb gcc-4.1.0/gcc/ada/a-ciormu.adb
*** gcc-4.0.2/gcc/ada/a-ciormu.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciormu.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.INDEFINITE_ORDERED_MULTISETS                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --         I N D E F I N I T E _ O R D E R E D _ M U L T I S E T S          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 44,65 ****
  with Ada.Containers.Red_Black_Trees.Generic_Set_Operations;
  pragma Elaborate_All (Ada.Containers.Red_Black_Trees.Generic_Set_Operations);
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Indefinite_Ordered_Multisets is
  
-    use Red_Black_Trees;
- 
-    type Element_Access is access Element_Type;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Element : Element_Access;
-    end record;
- 
     -----------------------------
     -- Node Access Subprograms --
     -----------------------------
--- 45,52 ----
*************** package body Ada.Containers.Indefinite_O
*** 98,109 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
- 
-    procedure Delete_Tree (X : in out Node_Access);
- 
     procedure Free (X : in out Node_Access);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
        Dst_Hint : Node_Access;
--- 85,97 ----
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
     procedure Free (X : in out Node_Access);
  
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access);
+ 
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
        Dst_Hint : Node_Access;
*************** package body Ada.Containers.Indefinite_O
*** 126,139 ****
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!        (Tree_Types => Tree_Types,
!         Null_Node  => Node_Access'(null));
  
     use Tree_Operations;
  
--- 114,136 ----
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
+    procedure Replace_Element
+      (Tree : in out Tree_Type;
+       Node : Node_Access;
+       Item : Element_Type);
+ 
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations (Tree_Types);
! 
!    procedure Delete_Tree is
!      new Tree_Operations.Generic_Delete_Tree (Free);
! 
!    function Copy_Tree is
!      new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
  
     use Tree_Operations;
  
*************** package body Ada.Containers.Indefinite_O
*** 165,180 ****
--- 162,217 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null
+         or else Right.Node.Element = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Element.all < Right.Node.Element.all;
     end "<";
  
     function "<" (Left : Cursor; Right : Element_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Element.all < Right;
     end "<";
  
     function "<" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Element.all;
     end "<";
  
*************** package body Ada.Containers.Indefinite_O
*** 182,192 ****
     -- "=" --
     ---------
  
!    function "=" (Left, Right : Set) return Boolean is begin
!       if Left'Address = Right'Address then
!          return True;
!       end if;
! 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
--- 219,226 ----
     -- "=" --
     ---------
  
!    function "=" (Left, Right : Set) return Boolean is
!    begin
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
*************** package body Ada.Containers.Indefinite_O
*** 194,213 ****
     -- ">" --
     ---------
  
-    function ">" (Left : Cursor; Right : Element_Type) return Boolean is
-    begin
-       return Right < Left.Node.Element.all;
-    end ">";
- 
     function ">" (Left, Right : Cursor) return Boolean is
     begin
        --  L > R same as R < L
  
        return Right.Node.Element.all < Left.Node.Element.all;
     end ">";
  
     function ">" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
        return Right.Node.Element.all < Left;
     end ">";
  
--- 228,287 ----
     -- ">" --
     ---------
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null
+         or else Right.Node.Element = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        --  L > R same as R < L
  
        return Right.Node.Element.all < Left.Node.Element.all;
     end ">";
  
+    function ">" (Left : Cursor; Right : Element_Type) return Boolean is
+    begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       return Right < Left.Node.Element.all;
+    end ">";
+ 
     function ">" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Element.all < Left;
     end ">";
  
*************** package body Ada.Containers.Indefinite_O
*** 215,238 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
! 
!       N : constant Count_Type := Tree.Length;
!       X : constant Node_Access := Tree.Root;
  
     begin
!       if N = 0 then
!          pragma Assert (X = null);
!          return;
!       end if;
! 
!       Tree := (Length => 0, others => null);
! 
!       Tree.Root := Copy_Tree (X);
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
!       Tree.Length := N;
     end Adjust;
  
     -------------
--- 289,300 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Set) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 248,266 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Set) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 310,328 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Set) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 301,349 ****
           raise;
     end Copy_Node;
  
-    ---------------
-    -- Copy_Tree --
-    ---------------
- 
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
-       Target_Root : Node_Access := Copy_Node (Source_Root);
- 
-       P, X : Node_Access;
- 
-    begin
-       if Source_Root.Right /= null then
-          Target_Root.Right := Copy_Tree (Source_Root.Right);
-          Target_Root.Right.Parent := Target_Root;
-       end if;
- 
-       P := Target_Root;
-       X := Source_Root.Left;
-       while X /= null loop
-          declare
-             Y : Node_Access := Copy_Node (X);
- 
-          begin
-             P.Left := Y;
-             Y.Parent := P;
- 
-             if X.Right /= null then
-                Y.Right := Copy_Tree (X.Right);
-                Y.Right.Parent := Y;
-             end if;
- 
-             P := Y;
-             X := X.Left;
-          end;
-       end loop;
- 
-       return Target_Root;
- 
-    exception
-       when others =>
-          Delete_Tree (Target_Root);
-          raise;
-    end Copy_Tree;
- 
     ------------
     -- Delete --
     ------------
--- 363,368 ----
*************** package body Ada.Containers.Indefinite_O
*** 371,385 ****
  
     procedure Delete (Container : in out Set; Position : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
--- 390,407 ----
  
     procedure Delete (Container : in out Set; Position : in out Cursor) is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Delete");
! 
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
*************** package body Ada.Containers.Indefinite_O
*** 419,466 ****
        Free (X);
     end Delete_Last;
  
-    -----------------
-    -- Delete_Tree --
-    -----------------
- 
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
-    begin
-       while X /= null loop
-          Y := X.Right;
-          Delete_Tree (Y);
-          Y := X.Left;
-          Free (X);
-          X := Y;
-       end loop;
-    end Delete_Tree;
- 
     ----------------
     -- Difference --
     ----------------
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Difference;
  
     -------------
--- 441,460 ----
        Free (X);
     end Delete_Last;
  
     ----------------
     -- Difference --
     ----------------
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Difference;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 469,477 ****
--- 463,530 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Position.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element.all;
     end Element;
  
+    -------------------------
+    -- Equivalent_Elements --
+    -------------------------
+ 
+    function Equivalent_Elements (Left, Right : Element_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Elements;
+ 
+    ---------------------
+    -- Equivalent_Sets --
+    ---------------------
+ 
+    function Equivalent_Sets (Left, Right : Set) return Boolean is
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean;
+       pragma Inline (Is_Equivalent_Node_Node);
+ 
+       function Is_Equivalent is
+          new Tree_Operations.Generic_Equal (Is_Equivalent_Node_Node);
+ 
+       -----------------------------
+       -- Is_Equivalent_Node_Node --
+       -----------------------------
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean is
+       begin
+          if L.Element.all < R.Element.all then
+             return False;
+          elsif R.Element.all < L.Element.all then
+             return False;
+          else
+             return True;
+          end if;
+       end Is_Equivalent_Node_Node;
+ 
+    --  Start of processing for Equivalent_Sets
+ 
+    begin
+       return Is_Equivalent (Left.Tree, Right.Tree);
+    end Equivalent_Sets;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 481,486 ****
--- 534,540 ----
        Node : Node_Access := Element_Keys.Ceiling (Tree, Item);
        Done : constant Node_Access := Element_Keys.Upper_Bound (Tree, Item);
        X    : Node_Access;
+ 
     begin
        while Node /= Done loop
           X := Node;
*************** package body Ada.Containers.Indefinite_O
*** 503,509 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Find;
  
     -----------
--- 557,563 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 516,522 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.First);
     end First;
  
     -------------------
--- 570,576 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Indefinite_O
*** 525,530 ****
--- 579,592 ----
  
     function First_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.First = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Container.Tree.First.Element = null then
+          raise Program_Error;
+       end if;
+ 
        return Container.Tree.First.Element.all;
     end First_Element;
  
*************** package body Ada.Containers.Indefinite_O
*** 541,547 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Floor;
  
     ----------
--- 603,609 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 551,561 ****
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
     begin
!       if X /= null then
!          Free_Element (X.Element);
!          Deallocate (X);
        end if;
     end Free;
  
     ------------------
--- 613,638 ----
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
     begin
!       if X = null then
!          return;
        end if;
+ 
+       X.Parent := X;
+       X.Left := X;
+       X.Right := X;
+ 
+       begin
+          Free_Element (X.Element);
+       exception
+          when others =>
+             X.Element := null;
+             Deallocate (X);
+             raise;
+       end;
+ 
+       Deallocate (X);
     end Free;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 589,622 ****
             Is_Less_Key_Node    => Is_Less_Key_Node,
             Is_Greater_Key_Node => Is_Greater_Key_Node);
  
-       ---------
-       -- "<" --
-       ---------
- 
-       function "<" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left < Right.Node.Element.all;
-       end "<";
- 
-       function "<" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right > Left.Node.Element.all;
-       end "<";
- 
-       ---------
-       -- ">" --
-       ---------
- 
-       function ">" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left > Right.Node.Element.all;
-       end ">";
- 
-       function ">" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right < Left.Node.Element.all;
-       end ">";
- 
        -------------
        -- Ceiling --
        -------------
--- 666,671 ----
*************** package body Ada.Containers.Indefinite_O
*** 630,706 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Ceiling;
  
-       ----------------------------
-       -- Checked_Update_Element --
-       ----------------------------
- 
-       procedure Checked_Update_Element
-         (Container : in out Set;
-          Position  : Cursor;
-          Process   : not null access procedure (Element : in out Element_Type))
-       is
-       begin
-          if Position.Container = null then
-             raise Constraint_Error;
-          end if;
- 
-          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
-             raise Program_Error;
-          end if;
- 
-          declare
-             Old_Key : Key_Type renames Key (Position.Node.Element.all);
- 
-          begin
-             Process (Position.Node.Element.all);
- 
-             if Old_Key < Position.Node.Element.all
-               or else Old_Key > Position.Node.Element.all
-             then
-                null;
-             else
-                return;
-             end if;
-          end;
- 
-          Delete_Node_Sans_Free (Container.Tree, Position.Node);
- 
-          Do_Insert : declare
-             Result : Node_Access;
- 
-             function New_Node return Node_Access;
-             pragma Inline (New_Node);
- 
-             procedure Insert_Post is
-               new Key_Keys.Generic_Insert_Post (New_Node);
- 
-             procedure Insert is
-               new Key_Keys.Generic_Unconditional_Insert (Insert_Post);
- 
-             --------------
-             -- New_Node --
-             --------------
- 
-             function New_Node return Node_Access is
-             begin
-                return Position.Node;
-             end New_Node;
- 
-          --  Start of processing for Do_Insert
- 
-          begin
-             Insert
-               (Tree    => Container.Tree,
-                Key     => Key (Position.Node.Element.all),
-                Node    => Result);
- 
-             pragma Assert (Result = Position.Node);
-          end Do_Insert;
-       end Checked_Update_Element;
- 
        --------------
        -- Contains --
        --------------
--- 679,687 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Ceiling;
  
        --------------
        -- Contains --
        --------------
*************** package body Ada.Containers.Indefinite_O
*** 740,750 ****
        -------------
  
        function Element (Container : Set; Key : Key_Type) return Element_Type is
!          Node : constant Node_Access := Key_Keys.Find (Container.Tree, Key);
        begin
           return Node.Element.all;
        end Element;
  
        -------------
        -- Exclude --
        -------------
--- 721,752 ----
        -------------
  
        function Element (Container : Set; Key : Key_Type) return Element_Type is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.Tree, Key);
! 
        begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
+ 
           return Node.Element.all;
        end Element;
  
+       ---------------------
+       -- Equivalent_Keys --
+       ---------------------
+ 
+       function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+       begin
+          if Left < Right
+            or else Right < Left
+          then
+             return False;
+          else
+             return True;
+          end if;
+       end Equivalent_Keys;
+ 
        -------------
        -- Exclude --
        -------------
*************** package body Ada.Containers.Indefinite_O
*** 776,782 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Find;
  
        -----------
--- 778,784 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Find;
  
        -----------
*************** package body Ada.Containers.Indefinite_O
*** 791,797 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Floor;
  
        -------------------------
--- 793,799 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Floor;
  
        -------------------------
*************** package body Ada.Containers.Indefinite_O
*** 800,808 ****
  
        function Is_Greater_Key_Node
          (Left  : Key_Type;
!          Right : Node_Access) return Boolean is
        begin
!          return Left > Right.Element.all;
        end Is_Greater_Key_Node;
  
        ----------------------
--- 802,811 ----
  
        function Is_Greater_Key_Node
          (Left  : Key_Type;
!          Right : Node_Access) return Boolean
!       is
        begin
!          return Key (Right.Element.all) < Left;
        end Is_Greater_Key_Node;
  
        ----------------------
*************** package body Ada.Containers.Indefinite_O
*** 811,819 ****
  
        function Is_Less_Key_Node
          (Left  : Key_Type;
!          Right : Node_Access) return Boolean is
        begin
!          return Left < Right.Element.all;
        end Is_Less_Key_Node;
  
        -------------
--- 814,823 ----
  
        function Is_Less_Key_Node
          (Left  : Key_Type;
!          Right : Node_Access) return Boolean
!       is
        begin
!          return Left < Key (Right.Element.all);
        end Is_Less_Key_Node;
  
        -------------
*************** package body Ada.Containers.Indefinite_O
*** 837,849 ****
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unchecked_Access, Node));
           end Process_Node;
  
        --  Start of processing for Iterate
  
        begin
!          Local_Iterate (Container.Tree, Key);
        end Iterate;
  
        ---------
--- 841,866 ----
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unrestricted_Access, Node));
           end Process_Node;
  
+          T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+          B : Natural renames T.Busy;
+ 
        --  Start of processing for Iterate
  
        begin
!          B := B + 1;
! 
!          begin
!             Local_Iterate (T, Key);
!          exception
!             when others =>
!                B := B - 1;
!                raise;
!          end;
! 
!          B := B - 1;
        end Iterate;
  
        ---------
*************** package body Ada.Containers.Indefinite_O
*** 852,880 ****
  
        function Key (Position : Cursor) return Key_Type is
        begin
!          return Key (Position.Node.Element.all);
!       end Key;
! 
!       -------------
!       -- Replace --
!       -------------
! 
!       --  In post-madision api: ???
  
! --     procedure Replace
! --       (Container : in out Set;
! --        Key       : Key_Type;
! --        New_Item  : Element_Type)
! --     is
! --           Node : Node_Access := Key_Keys.Find (Container.Tree, Key);
  
! --        begin
! --           if Node = null then
! --              raise Constraint_Error;
! --           end if;
  
! --           Replace_Node (Container, Node, New_Item);
! --        end Replace;
  
        ---------------------
        -- Reverse_Iterate --
--- 869,887 ----
  
        function Key (Position : Cursor) return Key_Type is
        begin
!          if Position.Node = null then
!             raise Constraint_Error;
!          end if;
  
!          if Position.Node.Element = null then
!             raise Program_Error;
!          end if;
  
!          pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                         "bad cursor in Key");
  
!          return Key (Position.Node.Element.all);
!       end Key;
  
        ---------------------
        -- Reverse_Iterate --
*************** package body Ada.Containers.Indefinite_O
*** 901,915 ****
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unchecked_Access, Node));
           end Process_Node;
  
        --  Start of processing for Reverse_Iterate
  
        begin
!          Local_Reverse_Iterate (Container.Tree, Key);
        end Reverse_Iterate;
  
     end Generic_Keys;
  
     -----------------
--- 908,1000 ----
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unrestricted_Access, Node));
           end Process_Node;
  
+          T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+          B : Natural renames T.Busy;
+ 
        --  Start of processing for Reverse_Iterate
  
        begin
!          B := B + 1;
! 
!          begin
!             Local_Reverse_Iterate (T, Key);
!          exception
!             when others =>
!                B := B - 1;
!                raise;
!          end;
! 
!          B := B - 1;
        end Reverse_Iterate;
  
+       -----------------------------------
+       -- Update_Element_Preserving_Key --
+       -----------------------------------
+ 
+       procedure Update_Element_Preserving_Key
+         (Container : in out Set;
+          Position  : Cursor;
+          Process   : not null access procedure (Element : in out Element_Type))
+       is
+          Tree : Tree_Type renames Container.Tree;
+ 
+       begin
+          if Position.Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          if Position.Node.Element = null then
+             raise Program_Error;
+          end if;
+ 
+          if Position.Container /= Container'Unrestricted_Access then
+             raise Program_Error;
+          end if;
+ 
+          pragma Assert (Vet (Container.Tree, Position.Node),
+                         "bad cursor in Update_Element_Preserving_Key");
+ 
+          declare
+             E : Element_Type renames Position.Node.Element.all;
+             K : constant Key_Type := Key (E);
+ 
+             B : Natural renames Tree.Busy;
+             L : Natural renames Tree.Lock;
+ 
+          begin
+             B := B + 1;
+             L := L + 1;
+ 
+             begin
+                Process (E);
+             exception
+                when others =>
+                   L := L - 1;
+                   B := B - 1;
+                   raise;
+             end;
+ 
+             L := L - 1;
+             B := B - 1;
+ 
+             if Equivalent_Keys (Left => K, Right => Key (E)) then
+                return;
+             end if;
+          end;
+ 
+          declare
+             X : Node_Access := Position.Node;
+          begin
+             Tree_Operations.Delete_Node_Sans_Free (Tree, X);
+             Free (X);
+          end;
+ 
+          raise Program_Error;
+       end Update_Element_Preserving_Key;
+ 
     end Generic_Keys;
  
     -----------------
*************** package body Ada.Containers.Indefinite_O
*** 936,941 ****
--- 1021,1044 ----
        New_Item  : Element_Type;
        Position  : out Cursor)
     is
+    begin
+       Insert_Sans_Hint
+         (Container.Tree,
+          New_Item,
+          Position.Node);
+ 
+       Position.Container := Container'Unrestricted_Access;
+    end Insert;
+ 
+    ----------------------
+    -- Insert_Sans_Hint --
+    ----------------------
+ 
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access)
+    is
        function New_Node return Node_Access;
        pragma Inline (New_Node);
  
*************** package body Ada.Containers.Indefinite_O
*** 956,962 ****
           return new Node_Type'(Parent  => null,
                                 Left    => null,
                                 Right   => null,
!                                Color   => Red,
                                 Element => X);
  
        exception
--- 1059,1065 ----
           return new Node_Type'(Parent  => null,
                                 Left    => null,
                                 Right   => null,
!                                Color   => Red_Black_Trees.Red,
                                 Element => X);
  
        exception
*************** package body Ada.Containers.Indefinite_O
*** 965,980 ****
              raise;
        end New_Node;
  
!    --  Start of processing for Insert
  
     begin
        Unconditional_Insert_Sans_Hint
!         (Container.Tree,
           New_Item,
!          Position.Node);
! 
!       Position.Container := Container'Unchecked_Access;
!    end Insert;
  
     ----------------------
     -- Insert_With_Hint --
--- 1068,1081 ----
              raise;
        end New_Node;
  
!    --  Start of processing for Insert_Sans_Hint
  
     begin
        Unconditional_Insert_Sans_Hint
!         (Tree,
           New_Item,
!          Node);
!    end Insert_Sans_Hint;
  
     ----------------------
     -- Insert_With_Hint --
*************** package body Ada.Containers.Indefinite_O
*** 1036,1060 ****
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Intersection (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Intersection;
  
     --------------
--- 1137,1150 ----
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Intersection (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Intersection;
  
     --------------
*************** package body Ada.Containers.Indefinite_O
*** 1116,1125 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean is
     begin
-       if Subset'Address = Of_Set'Address then
-          return True;
-       end if;
- 
        return Set_Ops.Is_Subset (Subset => Subset.Tree, Of_Set => Of_Set.Tree);
     end Is_Subset;
  
--- 1206,1211 ----
*************** package body Ada.Containers.Indefinite_O
*** 1144,1156 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree, Item);
     end Iterate;
  
     procedure Iterate
--- 1230,1255 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T, Item);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     procedure Iterate
*************** package body Ada.Containers.Indefinite_O
*** 1169,1181 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     ----------
--- 1268,1293 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 1188,1194 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
     end Last;
  
     ------------------
--- 1300,1306 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 1197,1202 ****
--- 1309,1318 ----
  
     function Last_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.Last.Element.all;
     end Last_Element;
  
*************** package body Ada.Containers.Indefinite_O
*** 1222,1233 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 1338,1348 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Indefinite_O
*** 1241,1246 ****
--- 1356,1364 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
           Node : constant Node_Access :=
                    Tree_Operations.Next (Position.Node);
*************** package body Ada.Containers.Indefinite_O
*** 1265,1274 ****
  
     function Overlap (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return Left.Tree.Length /= 0;
-       end if;
- 
        return Set_Ops.Overlap (Left.Tree, Right.Tree);
     end Overlap;
  
--- 1383,1388 ----
*************** package body Ada.Containers.Indefinite_O
*** 1291,1296 ****
--- 1405,1413 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
                    Tree_Operations.Previous (Position.Node);
*************** package body Ada.Containers.Indefinite_O
*** 1318,1324 ****
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Element.all);
     end Query_Element;
  
     ----------
--- 1435,1473 ----
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element.all);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 1329,1478 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Read is new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
- 
        begin
!          begin
!             Node.Element := new Element_Type'(Element_Type'Input (Stream));
!          exception
!             when others =>
!                Free (Node);
!                raise;
!          end;
! 
           return Node;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
! 
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
! 
!       Local_Read (Container.Tree, N);
     end Read;
  
!    -------------
!    -- Replace --
!    -------------
! 
!    --  NOTE: from post-madison api???
! 
! --   procedure Replace
! --     (Container : in out Set;
! --      Position  : Cursor;
! --      By        : Element_Type)
! --   is
! --   begin
! --      if Position.Container = null then
! --         raise Constraint_Error;
! --      end if;
  
! --      if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --         raise Program_Error;
! --      end if;
  
! --      Replace_Node (Container, Position.Node, By);
! --   end Replace;
  
!    ------------------
!    -- Replace_Node --
!    ------------------
  
!    --  NOTE: from post-madison api???
  
! --   procedure Replace_Node
! --     (Container : in out Set;
! --      Position  : Node_Access;
! --      By        : Element_Type);
! --   is
! --      Tree : Tree_Type renames Container.Tree;
! --      Node : Node_Access := Position;
  
! --   begin
! --      if By < Node.Element
! --        or else Node.Element < By
! --      then
! --         null;
  
! --      else
! --         begin
! --            Node.Element := By;
  
! --         exception
! --            when others =>
! --               Tree_Operations.Delete_Node_Sans_Free (Tree, Node);
! --               Free (Node);
! --               raise;
! --         end;
  
! --         return;
! --      end if;
  
! --      Tree_Operations.Delete_Node_Sans_Free (Tree, Node);
  
! --      begin
! --         Node.Element := By;
  
! --      exception
! --         when others =>
! --            Free (Node);
! --            raise;
! --      end;
  
! --      declare
! --         Result  : Node_Access;
! --         Success : Boolean;
  
! --         function New_Node return Node_Access;
! --         pragma Inline (New_Node);
  
! --         procedure Insert_Post is
! --           new Element_Keys.Generic_Insert_Post (New_Node);
  
! --         procedure Insert is
! --           new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
! --         --------------
! --         -- New_Node --
! --         --------------
! --
! --         function New_Node return Node_Access is
! --         begin
! --            return Node;
! --         end New_Node;
  
! --      --  Start of processing for Replace_Node
  
! --      begin
! --         Insert
! --           (Tree    => Tree,
! --            Key     => Node.Element,
! --            Node    => Result,
! --            Success => Success);
  
! --         if not Success then
! --            Free (Node);
! --            raise Program_Error;
! --         end if;
  
! --         pragma Assert (Result = Node);
! --      end;
! --   end Replace_Node;
  
     ---------------------
     -- Reverse_Iterate --
--- 1478,1617 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
!       procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
        begin
!          Node.Element := new Element_Type'(Element_Type'Input (Stream));
           return Node;
!       exception
!          when others =>
!             Free (Node);  --  Note that Free deallocates elem too
!             raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
     end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
  
!    ---------------------
!    -- Replace_Element --
!    ---------------------
  
!    procedure Replace_Element
!      (Tree : in out Tree_Type;
!       Node : Node_Access;
!       Item : Element_Type)
!    is
!    begin
!       if Item < Node.Element.all
!         or else Node.Element.all < Item
!       then
!          null;
!       else
!          if Tree.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          declare
!             X : Element_Access := Node.Element;
!          begin
!             Node.Element := new Element_Type'(Item);
!             Free_Element (X);
!          end;
  
!          return;
!       end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Tree, Node);  -- Checks busy-bit
  
!       Insert_New_Item : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
!          procedure Unconditional_Insert is
!             new Element_Keys.Generic_Unconditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node return Node_Access is
!          begin
!             Node.Element := new Element_Type'(Item);  -- OK if fails
!             Node.Color := Red_Black_Trees.Red;
!             Node.Parent := null;
!             Node.Left := null;
!             Node.Right := null;
  
!             return Node;
!          end New_Node;
  
!          Result : Node_Access;
  
!          X : Element_Access := Node.Element;
  
!       --  Start of processing for Insert_New_Item
  
!       begin
!          Unconditional_Insert
!            (Tree => Tree,
!             Key  => Item,
!             Node => Result);
!          pragma Assert (Result = Node);
  
!          Free_Element (X);  -- OK if fails
!       end Insert_New_Item;
!    end Replace_Element;
  
!    procedure Replace_Element
!     (Container : in out Set;
!      Position  : Cursor;
!      New_Item  : Element_Type)
!    is
!    begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
  
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
  
!       Replace_Element (Container.Tree, Position.Node, New_Item);
!    end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
*************** package body Ada.Containers.Indefinite_O
*** 1495,1507 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree, Item);
     end Reverse_Iterate;
  
     procedure Reverse_Iterate
--- 1634,1659 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T, Item);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     procedure Reverse_Iterate
*************** package body Ada.Containers.Indefinite_O
*** 1520,1532 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     -----------
--- 1672,1697 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 1580,1630 ****
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Symmetric_Difference;
  
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
!    function Union (Left, Right : Set) return Set is begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type := Set_Ops.Union (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Union;
  
     -----------
--- 1745,1787 ----
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
+ 
+    function To_Set (New_Item : Element_Type) return Set is
+       Tree     : Tree_Type;
+       Node     : Node_Access;
+ 
+    begin
+       Insert_Sans_Hint (Tree, New_Item, Node);
+       return Set'(Controlled with Tree);
+    end To_Set;
+ 
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
!    function Union (Left, Right : Set) return Set is
!       Tree : constant Tree_Type :=
!                Set_Ops.Union (Left.Tree, Right.Tree);
!    begin
!       return Set'(Controlled with Tree);
     end Union;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 1635,1659 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Element_Type'Output (Stream, Node.Element.all);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
  end Ada.Containers.Indefinite_Ordered_Multisets;
--- 1792,1829 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Element_Type'Output (Stream, Node.Element.all);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
!    end Write;
! 
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
     end Write;
  
  end Ada.Containers.Indefinite_Ordered_Multisets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciormu.ads gcc-4.1.0/gcc/ada/a-ciormu.ads
*** gcc-4.0.2/gcc/ada/a-ciormu.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciormu.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.INDEFINITE_ORDERED_MULTISETS                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --         I N D E F I N I T E _ O R D E R E D _ M U L T I S E T S          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 44,50 ****
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Multisets is
! pragma Preelaborate (Indefinite_Ordered_Multisets);
  
     type Set is tagged private;
  
--- 45,53 ----
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Multisets is
!    pragma Preelaborate;
! 
!    function Equivalent_Elements (Left, Right : Element_Type) return Boolean;
  
     type Set is tagged private;
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 56,61 ****
--- 59,68 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** pragma Preelaborate (Indefinite_Ordered_
*** 64,69 ****
--- 71,81 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
*************** pragma Preelaborate (Indefinite_Ordered_
*** 77,103 ****
  
     procedure Insert (Container : in out Set; New_Item : Element_Type);
  
!    procedure Delete (Container : in out Set; Item : Element_Type);
  
     procedure Exclude (Container : in out Set; Item : Element_Type);
  
     procedure Delete (Container : in out Set; Position : in out Cursor);
  
     procedure Delete_First (Container : in out Set);
  
     procedure Delete_Last (Container : in out Set);
  
! 
!    --  NOTE: The following operation is named Replace in the Madison API.
!    --  However, it should be named Replace_Element ???
!    --
!    --   procedure Replace
!    --     (Container : in out Set;
!    --      Position  : Cursor;
!    --      By        : Element_Type);
! 
!    procedure Union (Target : in out Set;
!                     Source : Set);
  
     function Union (Left, Right : Set) return Set;
  
--- 89,111 ----
  
     procedure Insert (Container : in out Set; New_Item : Element_Type);
  
! --  TODO: include Replace too???
! --
! --     procedure Replace
! --       (Container : in out Set;
! --        New_Item  : Element_Type);
  
     procedure Exclude (Container : in out Set; Item : Element_Type);
  
+    procedure Delete (Container : in out Set; Item : Element_Type);
+ 
     procedure Delete (Container : in out Set; Position : in out Cursor);
  
     procedure Delete_First (Container : in out Set);
  
     procedure Delete_Last (Container : in out Set);
  
!    procedure Union (Target : in out Set; Source : Set);
  
     function Union (Left, Right : Set) return Set;
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 125,138 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
-    function Contains (Container : Set; Item : Element_Type) return Boolean;
- 
-    function Find (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Floor (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
- 
     function First (Container : Set) return Cursor;
  
     function First_Element (Container : Set) return Element_Type;
--- 133,138 ----
*************** pragma Preelaborate (Indefinite_Ordered_
*** 143,154 ****
  
     function Next (Position : Cursor) return Cursor;
  
-    function Previous (Position : Cursor) return Cursor;
- 
     procedure Next (Position : in out Cursor);
  
     procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
--- 143,162 ----
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
+    function Previous (Position : Cursor) return Cursor;
+ 
     procedure Previous (Position : in out Cursor);
  
+    function Find (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Floor (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
*************** pragma Preelaborate (Indefinite_Ordered_
*** 182,231 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
! 
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left : Key_Type; Right : Element_Type)
!           return Boolean is <>;
! 
!       with function ">" (Left : Key_Type; Right : Element_Type)
!           return Boolean is <>;
  
     package Generic_Keys is
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       function Find (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       --  NOTE: in post-madison api ???
!       --      procedure Replace
!       --        (Container : in out Set;
!       --         Key       : Key_Type;
!       --         New_Item  : Element_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       procedure Exclude (Container : in out Set; Key : Key_Type);
! 
!       function "<" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function ">" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function "<" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       function ">" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
--- 190,222 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left, Right : Key_Type) return Boolean is <>;
  
     package Generic_Keys is
  
!       function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       procedure Exclude (Container : in out Set; Key : Key_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       function Find (Container : Set; Key : Key_Type) return Cursor;
  
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
  
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
  
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
*************** private
*** 248,268 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!       new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Set is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    type Set_Access is access constant Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
--- 239,272 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Element_Access is access Element_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Element : Element_Access;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
! 
!    type Set is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
*************** private
*** 270,278 ****
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write (Stream : access Root_Stream_Type'Class; Container : Set);
  
--- 274,292 ----
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write (Stream : access Root_Stream_Type'Class; Container : Set);
  
*************** private
*** 285,290 ****
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Indefinite_Ordered_Multisets;
--- 299,309 ----
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Indefinite_Ordered_Multisets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciorse.adb gcc-4.1.0/gcc/ada/a-ciorse.adb
*** gcc-4.0.2/gcc/ada/a-ciorse.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciorse.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_ORDERED_SETS                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --              I N D E F I N I T E _ O R D E R E D _ S E T S               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 44,65 ****
  
  with Ada.Unchecked_Deallocation;
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Indefinite_Ordered_Sets is
  
-    type Element_Access is access Element_Type;
- 
-    use Red_Black_Trees;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Element : Element_Access;
-    end record;
- 
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 45,52 ----
*************** package body Ada.Containers.Indefinite_O
*** 70,81 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
- 
-    procedure Delete_Tree (X : in out Node_Access);
- 
     procedure Free (X : in out Node_Access);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
        Dst_Hint : Node_Access;
--- 57,70 ----
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
     procedure Free (X : in out Node_Access);
  
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access;
+       Inserted : out Boolean);
+ 
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
        Dst_Hint : Node_Access;
*************** package body Ada.Containers.Indefinite_O
*** 101,106 ****
--- 90,100 ----
     function Parent (Node : Node_Access) return Node_Access;
     pragma Inline (Parent);
  
+    procedure Replace_Element
+      (Tree : in out Tree_Type;
+       Node : Node_Access;
+       Item : Element_Type);
+ 
     function Right (Node : Node_Access) return Node_Access;
     pragma Inline (Right);
  
*************** package body Ada.Containers.Indefinite_O
*** 124,132 ****
       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!        (Tree_Types => Tree_Types,
!         Null_Node  => Node_Access'(null));
  
     use Tree_Operations;
  
--- 118,130 ----
       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations (Tree_Types);
! 
!    procedure Delete_Tree is
!      new Tree_Operations.Generic_Delete_Tree (Free);
! 
!    function Copy_Tree is
!      new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
  
     use Tree_Operations;
  
*************** package body Ada.Containers.Indefinite_O
*** 152,167 ****
--- 150,205 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null
+         or else Right.Node.Element = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Element.all < Right.Node.Element.all;
     end "<";
  
     function "<" (Left : Cursor; Right : Element_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Element.all < Right;
     end "<";
  
     function "<" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Element.all;
     end "<";
  
*************** package body Ada.Containers.Indefinite_O
*** 189,208 ****
     --  Start of processing for "="
  
     begin
-       if Left'Address = Right'Address then
-          return True;
-       end if;
- 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
- 
     ---------
     -- ">" --
     ---------
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
        --  L > R same as R < L
  
        return Right.Node.Element.all < Left.Node.Element.all;
--- 227,259 ----
     --  Start of processing for "="
  
     begin
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
     ---------
     -- ">" --
     ---------
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null
+         or else Right.Node.Element = null
+       then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        --  L > R same as R < L
  
        return Right.Node.Element.all < Left.Node.Element.all;
*************** package body Ada.Containers.Indefinite_O
*** 210,220 ****
--- 261,293 ----
  
     function ">" (Left : Cursor; Right : Element_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Left.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
        return Right < Left.Node.Element.all;
     end ">";
  
     function ">" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Right.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Element.all < Left;
     end ">";
  
*************** package body Ada.Containers.Indefinite_O
*** 222,246 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
  
     begin
!       if Tree.Length = 0 then
!          pragma Assert (Tree.Root = null);
!          return;
!       end if;
! 
!       begin
!          Tree.Root := Copy_Tree (Tree.Root);
!       exception
!          when others =>
!             Tree := (Length => 0, others => null);
!             raise;
!       end;
! 
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
     end Adjust;
  
     -------------
--- 295,306 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Set) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 256,274 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Set) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 316,334 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Set) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 295,300 ****
--- 355,361 ----
  
     function Copy_Node (Source : Node_Access) return Node_Access is
        Element : Element_Access := new Element_Type'(Source.Element.all);
+ 
     begin
        return new Node_Type'(Parent  => null,
                              Left    => null,
*************** package body Ada.Containers.Indefinite_O
*** 307,372 ****
           raise;
     end Copy_Node;
  
-    ---------------
-    -- Copy_Tree --
-    ---------------
- 
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
-       Target_Root : Node_Access := Copy_Node (Source_Root);
-       P, X        : Node_Access;
- 
-    begin
-       if Source_Root.Right /= null then
-          Target_Root.Right := Copy_Tree (Source_Root.Right);
-          Target_Root.Right.Parent := Target_Root;
-       end if;
- 
-       P := Target_Root;
-       X := Source_Root.Left;
- 
-       while X /= null loop
-          declare
-             Y : Node_Access := Copy_Node (X);
- 
-          begin
-             P.Left := Y;
-             Y.Parent := P;
- 
-             if X.Right /= null then
-                Y.Right := Copy_Tree (X.Right);
-                Y.Right.Parent := Y;
-             end if;
- 
-             P := Y;
-             X := X.Left;
-          end;
-       end loop;
- 
-       return Target_Root;
- 
-    exception
-       when others =>
-          Delete_Tree (Target_Root);
-          raise;
-    end Copy_Tree;
- 
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Set; Position  : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, Position.Node);
!       Free (Position.Node);
  
        Position.Container := null;
     end Delete;
  
--- 368,392 ----
           raise;
     end Copy_Node;
  
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Set; Position  : in out Cursor) is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Delete");
  
+       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, Position.Node);
+       Free (Position.Node);
        Position.Container := null;
     end Delete;
  
*************** package body Ada.Containers.Indefinite_O
*** 379,385 ****
           raise Constraint_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
--- 399,405 ----
           raise Constraint_Error;
        end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
*************** package body Ada.Containers.Indefinite_O
*** 388,396 ****
     ------------------
  
     procedure Delete_First (Container : in out Set) is
!       C : Cursor := First (Container);
     begin
!       Delete (Container, C);
     end Delete_First;
  
     -----------------
--- 408,421 ----
     ------------------
  
     procedure Delete_First (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
!       X    : Node_Access := Tree.First;
! 
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Tree, X);
!          Free (X);
!       end if;
     end Delete_First;
  
     -----------------
*************** package body Ada.Containers.Indefinite_O
*** 398,423 ****
     -----------------
  
     procedure Delete_Last (Container : in out Set) is
!       C : Cursor := Last (Container);
!    begin
!       Delete (Container, C);
!    end Delete_Last;
! 
!    -----------------
!    -- Delete_Tree --
!    -----------------
  
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
     begin
!       while X /= null loop
!          Y := X.Right;
!          Delete_Tree (Y);
!          Y := X.Left;
           Free (X);
!          X := Y;
!       end loop;
!    end Delete_Tree;
  
     ----------------
     -- Difference --
--- 423,437 ----
     -----------------
  
     procedure Delete_Last (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
!       X    : Node_Access := Tree.Last;
  
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Tree, X);
           Free (X);
!       end if;
!    end Delete_Last;
  
     ----------------
     -- Difference --
*************** package body Ada.Containers.Indefinite_O
*** 425,450 ****
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!            Set_Ops.Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Difference;
  
     -------------
--- 439,452 ----
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Difference;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 453,461 ****
--- 455,522 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       if Position.Node.Element = null then
+          raise Program_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element.all;
     end Element;
  
+    -------------------------
+    -- Equivalent_Elements --
+    -------------------------
+ 
+    function Equivalent_Elements (Left, Right : Element_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Elements;
+ 
+    ---------------------
+    -- Equivalent_Sets --
+    ---------------------
+ 
+    function Equivalent_Sets (Left, Right : Set) return Boolean is
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean;
+       pragma Inline (Is_Equivalent_Node_Node);
+ 
+       function Is_Equivalent is
+          new Tree_Operations.Generic_Equal (Is_Equivalent_Node_Node);
+ 
+       -----------------------------
+       -- Is_Equivalent_Node_Node --
+       -----------------------------
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean is
+       begin
+          if L.Element.all < R.Element.all then
+             return False;
+          elsif R.Element.all < L.Element.all then
+             return False;
+          else
+             return True;
+          end if;
+       end Is_Equivalent_Node_Node;
+ 
+    --  Start of processing for Equivalent_Sets
+ 
+    begin
+       return Is_Equivalent (Left.Tree, Right.Tree);
+    end Equivalent_Sets;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 463,471 ****
     procedure Exclude (Container : in out Set; Item : Element_Type) is
        X : Node_Access :=
              Element_Keys.Find (Container.Tree, Item);
     begin
        if X /= null then
!          Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
--- 524,533 ----
     procedure Exclude (Container : in out Set; Item : Element_Type) is
        X : Node_Access :=
              Element_Keys.Find (Container.Tree, Item);
+ 
     begin
        if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
*************** package body Ada.Containers.Indefinite_O
*** 483,489 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Find;
  
     -----------
--- 545,551 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 496,502 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.First);
     end First;
  
     -------------------
--- 558,564 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Indefinite_O
*** 505,510 ****
--- 567,576 ----
  
     function First_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.First = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.First.Element.all;
     end First_Element;
  
*************** package body Ada.Containers.Indefinite_O
*** 521,527 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Floor;
  
     ----------
--- 587,593 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 531,541 ****
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
     begin
!       if X /= null then
!          Free_Element (X.Element);
!          Deallocate (X);
        end if;
     end Free;
  
     ------------------
--- 597,622 ----
     procedure Free (X : in out Node_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
     begin
!       if X = null then
!          return;
        end if;
+ 
+       X.Parent := X;
+       X.Left := X;
+       X.Right := X;
+ 
+       begin
+          Free_Element (X.Element);
+       exception
+          when others =>
+             X.Element := null;
+             Deallocate (X);
+             raise;
+       end;
+ 
+       Deallocate (X);
     end Free;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 569,602 ****
             Is_Less_Key_Node    => Is_Less_Key_Node,
             Is_Greater_Key_Node => Is_Greater_Key_Node);
  
-       ---------
-       -- "<" --
-       ---------
- 
-       function "<" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left < Right.Node.Element.all;
-       end "<";
- 
-       function "<" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right > Left.Node.Element.all;
-       end "<";
- 
-       ---------
-       -- ">" --
-       ---------
- 
-       function ">" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left > Right.Node.Element.all;
-       end ">";
- 
-       function ">" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right < Left.Node.Element.all;
-       end ">";
- 
        -------------
        -- Ceiling --
        -------------
--- 650,655 ----
*************** package body Ada.Containers.Indefinite_O
*** 610,699 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Ceiling;
  
-       ----------------------------
-       -- Checked_Update_Element --
-       ----------------------------
- 
-       procedure Checked_Update_Element
-         (Container : in out Set;
-          Position  : Cursor;
-          Process   : not null access
-                         procedure (Element : in out Element_Type))
-       is
-       begin
-          if Position.Container = null then
-             raise Constraint_Error;
-          end if;
- 
-          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
-             raise Program_Error;
-          end if;
- 
-          declare
-             Old_Key : Key_Type renames Key (Position.Node.Element.all);
- 
-          begin
-             Process (Position.Node.Element.all);
- 
-             if Old_Key < Position.Node.Element.all
-               or else Old_Key > Position.Node.Element.all
-             then
-                null;
-             else
-                return;
-             end if;
-          end;
- 
-          declare
-             Result  : Node_Access;
-             Success : Boolean;
- 
-             function New_Node return Node_Access;
-             pragma Inline (New_Node);
- 
-             procedure Insert_Post is
-               new Key_Keys.Generic_Insert_Post (New_Node);
- 
-             procedure Insert is
-               new Key_Keys.Generic_Conditional_Insert (Insert_Post);
- 
-             --------------
-             -- New_Node --
-             --------------
- 
-             function New_Node return Node_Access is
-             begin
-                return Position.Node;
-             end New_Node;
- 
-          --  Start of processing for Checked_Update_Element
- 
-          begin
-             Delete_Node_Sans_Free (Container.Tree, Position.Node);
- 
-             Insert
-               (Tree    => Container.Tree,
-                Key     => Key (Position.Node.Element.all),
-                Node    => Result,
-                Success => Success);
- 
-             if not Success then
-                declare
-                   X : Node_Access := Position.Node;
-                begin
-                   Free (X);
-                end;
- 
-                raise Program_Error;
-             end if;
- 
-             pragma Assert (Result = Position.Node);
-          end;
-       end Checked_Update_Element;
- 
        --------------
        -- Contains --
        --------------
--- 663,671 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Ceiling;
  
        --------------
        -- Contains --
        --------------
*************** package body Ada.Containers.Indefinite_O
*** 715,721 ****
              raise Constraint_Error;
           end if;
  
!          Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end Delete;
  
--- 687,693 ----
              raise Constraint_Error;
           end if;
  
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end Delete;
  
*************** package body Ada.Containers.Indefinite_O
*** 724,734 ****
        -------------
  
        function Element (Container : Set; Key : Key_Type) return Element_Type is
!          C : constant Cursor := Find (Container, Key);
        begin
!          return C.Node.Element.all;
        end Element;
  
        -------------
        -- Exclude --
        -------------
--- 696,727 ----
        -------------
  
        function Element (Container : Set; Key : Key_Type) return Element_Type is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.Tree, Key);
! 
        begin
!          if Node = null then
!             raise Constraint_Error;
!          end if;
! 
!          return Node.Element.all;
        end Element;
  
+       ---------------------
+       -- Equivalent_Keys --
+       ---------------------
+ 
+       function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+       begin
+          if Left < Right
+            or else Right < Left
+          then
+             return False;
+          else
+             return True;
+          end if;
+       end Equivalent_Keys;
+ 
        -------------
        -- Exclude --
        -------------
*************** package body Ada.Containers.Indefinite_O
*** 738,744 ****
  
        begin
           if X /= null then
!             Delete_Node_Sans_Free (Container.Tree, X);
              Free (X);
           end if;
        end Exclude;
--- 731,737 ----
  
        begin
           if X /= null then
!             Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
              Free (X);
           end if;
        end Exclude;
*************** package body Ada.Containers.Indefinite_O
*** 756,762 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Find;
  
        -----------
--- 749,755 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Find;
  
        -----------
*************** package body Ada.Containers.Indefinite_O
*** 772,778 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Floor;
  
        -------------------------
--- 765,771 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Floor;
  
        -------------------------
*************** package body Ada.Containers.Indefinite_O
*** 783,789 ****
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left > Right.Element.all;
        end Is_Greater_Key_Node;
  
        ----------------------
--- 776,782 ----
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Key (Right.Element.all) < Left;
        end Is_Greater_Key_Node;
  
        ----------------------
*************** package body Ada.Containers.Indefinite_O
*** 794,800 ****
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left < Right.Element.all;
        end Is_Less_Key_Node;
  
        ---------
--- 787,793 ----
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left < Key (Right.Element.all);
        end Is_Less_Key_Node;
  
        ---------
*************** package body Ada.Containers.Indefinite_O
*** 803,811 ****
--- 796,900 ----
  
        function Key (Position : Cursor) return Key_Type is
        begin
+          if Position.Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          if Position.Node.Element = null then
+             raise Program_Error;
+          end if;
+ 
+          pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                         "bad cursor in Key");
+ 
           return Key (Position.Node.Element.all);
        end Key;
  
+       -------------
+       -- Replace --
+       -------------
+ 
+       procedure Replace
+         (Container : in out Set;
+          Key       : Key_Type;
+          New_Item  : Element_Type)
+       is
+          Node : constant Node_Access := Key_Keys.Find (Container.Tree, Key);
+ 
+       begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          Replace_Element (Container.Tree, Node, New_Item);
+       end Replace;
+ 
+       -----------------------------------
+       -- Update_Element_Preserving_Key --
+       -----------------------------------
+ 
+       procedure Update_Element_Preserving_Key
+         (Container : in out Set;
+          Position  : Cursor;
+          Process   : not null access
+                         procedure (Element : in out Element_Type))
+       is
+          Tree : Tree_Type renames Container.Tree;
+ 
+       begin
+          if Position.Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          if Position.Node.Element = null then
+             raise Program_Error;
+          end if;
+ 
+          if Position.Container /= Container'Unrestricted_Access then
+             raise Program_Error;
+          end if;
+ 
+          pragma Assert (Vet (Container.Tree, Position.Node),
+                         "bad cursor in Update_Element_Preserving_Key");
+ 
+          declare
+             E : Element_Type renames Position.Node.Element.all;
+             K : constant Key_Type := Key (E);
+ 
+             B : Natural renames Tree.Busy;
+             L : Natural renames Tree.Lock;
+ 
+          begin
+             B := B + 1;
+             L := L + 1;
+ 
+             begin
+                Process (E);
+             exception
+                when others =>
+                   L := L - 1;
+                   B := B - 1;
+                   raise;
+             end;
+ 
+             L := L - 1;
+             B := B - 1;
+ 
+             if Equivalent_Keys (K, Key (E)) then
+                return;
+             end if;
+          end;
+ 
+          declare
+             X : Node_Access := Position.Node;
+          begin
+             Tree_Operations.Delete_Node_Sans_Free (Tree, X);
+             Free (X);
+          end;
+ 
+          raise Program_Error;
+       end Update_Element_Preserving_Key;
+ 
     end Generic_Keys;
  
     -----------------
*************** package body Ada.Containers.Indefinite_O
*** 831,836 ****
--- 920,929 ----
        Insert (Container, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.Tree.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           X := Position.Node.Element;
           Position.Node.Element := new Element_Type'(New_Item);
           Free_Element (X);
*************** package body Ada.Containers.Indefinite_O
*** 847,859 ****
        Position  : out Cursor;
        Inserted  : out Boolean)
     is
        function New_Node return Node_Access;
        pragma Inline (New_Node);
  
        procedure Insert_Post is
          new Element_Keys.Generic_Insert_Post (New_Node);
  
!       procedure Insert_Sans_Hint is
          new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
        --------------
--- 940,983 ----
        Position  : out Cursor;
        Inserted  : out Boolean)
     is
+    begin
+       Insert_Sans_Hint
+         (Container.Tree,
+          New_Item,
+          Position.Node,
+          Inserted);
+ 
+       Position.Container := Container'Unrestricted_Access;
+    end Insert;
+ 
+    procedure Insert (Container : in out Set; New_Item  : Element_Type) is
+       Position : Cursor;
+       Inserted : Boolean;
+    begin
+       Insert (Container, New_Item, Position, Inserted);
+ 
+       if not Inserted then
+          raise Constraint_Error;
+       end if;
+    end Insert;
+ 
+    ----------------------
+    -- Insert_Sans_Hint --
+    ----------------------
+ 
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access;
+       Inserted : out Boolean)
+    is
        function New_Node return Node_Access;
        pragma Inline (New_Node);
  
        procedure Insert_Post is
          new Element_Keys.Generic_Insert_Post (New_Node);
  
!       procedure Conditional_Insert_Sans_Hint is
          new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
        --------------
*************** package body Ada.Containers.Indefinite_O
*** 862,872 ****
  
        function New_Node return Node_Access is
           Element : Element_Access := new Element_Type'(New_Item);
        begin
           return new Node_Type'(Parent  => null,
                                 Left    => null,
                                 Right   => null,
!                                Color   => Red,
                                 Element => Element);
        exception
           when others =>
--- 986,997 ----
  
        function New_Node return Node_Access is
           Element : Element_Access := new Element_Type'(New_Item);
+ 
        begin
           return new Node_Type'(Parent  => null,
                                 Left    => null,
                                 Right   => null,
!                                Color   => Red_Black_Trees.Red,
                                 Element => Element);
        exception
           when others =>
*************** package body Ada.Containers.Indefinite_O
*** 874,901 ****
              raise;
        end New_Node;
  
!    --  Start of processing for Insert
  
     begin
!       Insert_Sans_Hint
!         (Container.Tree,
           New_Item,
!          Position.Node,
           Inserted);
! 
!       Position.Container := Container'Unchecked_Access;
!    end Insert;
! 
!    procedure Insert (Container : in out Set; New_Item  : Element_Type) is
!       Position : Cursor;
!       Inserted : Boolean;
!    begin
!       Insert (Container, New_Item, Position, Inserted);
! 
!       if not Inserted then
!          raise Constraint_Error;
!       end if;
!    end Insert;
  
     ----------------------
     -- Insert_With_Hint --
--- 999,1013 ----
              raise;
        end New_Node;
  
!    --  Start of processing for Insert_Sans_Hint
  
     begin
!       Conditional_Insert_Sans_Hint
!         (Tree,
           New_Item,
!          Node,
           Inserted);
!    end Insert_Sans_Hint;
  
     ----------------------
     -- Insert_With_Hint --
*************** package body Ada.Containers.Indefinite_O
*** 961,985 ****
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Intersection (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Intersection;
  
     --------------
--- 1073,1086 ----
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Intersection (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Intersection;
  
     --------------
*************** package body Ada.Containers.Indefinite_O
*** 988,994 ****
  
     function Is_Empty (Container : Set) return Boolean is
     begin
!       return Length (Container) = 0;
     end Is_Empty;
  
     -----------------------------
--- 1089,1095 ----
  
     function Is_Empty (Container : Set) return Boolean is
     begin
!       return Container.Tree.Length = 0;
     end Is_Empty;
  
     -----------------------------
*************** package body Ada.Containers.Indefinite_O
*** 1004,1010 ****
        return Right.Element.all < Left;
     end Is_Greater_Element_Node;
  
- 
     --------------------------
     -- Is_Less_Element_Node --
     --------------------------
--- 1105,1110 ----
*************** package body Ada.Containers.Indefinite_O
*** 1031,1040 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean is
     begin
-       if Subset'Address = Of_Set'Address then
-          return True;
-       end if;
- 
        return Set_Ops.Is_Subset (Subset => Subset.Tree, Of_Set => Of_Set.Tree);
     end Is_Subset;
  
--- 1131,1136 ----
*************** package body Ada.Containers.Indefinite_O
*** 1058,1070 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
!    --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     ----------
--- 1154,1179 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
!       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
!       B : Natural renames T.Busy;
! 
!    --  Start of prccessing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 1077,1083 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
     end Last;
  
     ------------------
--- 1186,1192 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Indefinite_O
*** 1086,1091 ****
--- 1195,1204 ----
  
     function Last_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.Last.Element.all;
     end Last_Element;
  
*************** package body Ada.Containers.Indefinite_O
*** 1111,1122 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 1224,1234 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Indefinite_O
*** 1135,1143 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Next (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 1247,1259 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Next (Position.Node);
! 
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Indefinite_O
*** 1153,1162 ****
  
     function Overlap (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return Left.Tree.Length /= 0;
-       end if;
- 
        return Set_Ops.Overlap (Left.Tree, Right.Tree);
     end Overlap;
  
--- 1269,1274 ----
*************** package body Ada.Containers.Indefinite_O
*** 1184,1192 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Previous (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 1296,1308 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Previous (Position.Node);
! 
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Indefinite_O
*** 1205,1211 ****
        Process   : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Element.all);
     end Query_Element;
  
     ----------
--- 1321,1359 ----
        Process   : not null access procedure (Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element.all);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Indefinite_O
*** 1213,1233 ****
     ----------
  
     procedure Read
!      (Stream    : access Ada.Streams.Root_Stream_Type'Class;
        Container : out Set)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
  
        procedure Read is
!         new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
  
        begin
--- 1361,1383 ----
     ----------
  
     procedure Read
!      (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
        procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
  
        begin
*************** package body Ada.Containers.Indefinite_O
*** 1236,1252 ****
  
        exception
           when others =>
!             Free (Node);
              raise;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
!       Read (Container.Tree, N);
     end Read;
  
     -------------
--- 1386,1407 ----
  
        exception
           when others =>
!             Free (Node);  --  Note that Free deallocates elem too
              raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
!    end Read;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
     end Read;
  
     -------------
*************** package body Ada.Containers.Indefinite_O
*** 1264,1397 ****
           raise Constraint_Error;
        end if;
  
        X := Node.Element;
        Node.Element := new Element_Type'(New_Item);
        Free_Element (X);
     end Replace;
  
- --  TODO ???
- --        procedure Replace
- --          (Container : in out Set;
- --           Key       : Key_Type;
- --           New_Item  : Element_Type)
- --        is
- --           Node : Node_Access := Key_Keys.Find (Container.Tree, Key);
- 
- --        begin
- --           if Node = null then
- --              raise Constraint_Error;
- --           end if;
- 
- --           Replace_Element (Container, Node, New_Item);
- --        end Replace;
- 
     ---------------------
     -- Replace_Element --
     ---------------------
  
! --  TODO: ???
! --     procedure Replace_Element
! --       (Container : in out Set;
! --        Position  : Node_Access;
! --        By        : Element_Type)
! --   is
  
! --        Node : Node_Access := Position;
  
! --     begin
! --        if By < Node.Element.all
! --          or else Node.Element.all < By
! --        then
! --           null;
  
! --        else
! --           declare
! --              X : Element_Access := Node.Element;
  
! --           begin
! --              Node.Element := new Element_Type'(By);
  
! --              --  NOTE: If there's an exception here, then just
! --              --  let it propagate.  We haven't modified the
! --              --  state of the container, so there's nothing else
! --              --  we need to do.
  
! --              Free_Element (X);
! --           end;
  
! --           return;
! --        end if;
  
! --        Delete_Node_Sans_Free (Container.Tree, Node);
  
! --        begin
! --           Free_Element (Node.Element);
! --        exception
! --           when others =>
! --              Node.Element := null;  --  don't attempt to dealloc X.E again
! --              Free (Node);
! --              raise;
! --        end;
  
! --        begin
! --           Node.Element := new Element_Type'(By);
! --        exception
! --           when others =>
! --              Free (Node);
! --              raise;
! --        end;
  
! --        declare
! --           function New_Node return Node_Access;
! --           pragma Inline (New_Node);
  
! --           function New_Node return Node_Access is
! --           begin
! --              return Node;
! --           end New_Node;
  
! --           procedure Insert_Post is
! --             new Element_Keys.Generic_Insert_Post (New_Node);
  
! --           procedure Insert is
! --             new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
! --           Result  : Node_Access;
! --           Success : Boolean;
  
! --        begin
! --           Insert
! --             (Tree    => Container.Tree,
! --              Key     => Node.Element.all,
! --              Node    => Result,
! --              Success => Success);
  
! --           if not Success then
! --              Free (Node);
! --              raise Program_Error;
! --           end if;
  
! --           pragma Assert (Result = Node);
! --        end;
! --     end Replace_Element;
  
  
! --     procedure Replace_Element
! --      (Container : in out Set;
! --       Position  : Cursor;
! --       By        : Element_Type)
! --     is
! --     begin
! --        if Position.Container = null then
! --           raise Constraint_Error;
! --        end if;
  
! --        if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --           raise Program_Error;
! --        end if;
  
! --        Replace_Element (Container, Position.Node, By);
! --     end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
--- 1419,1581 ----
           raise Constraint_Error;
        end if;
  
+       if Container.Tree.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        X := Node.Element;
        Node.Element := new Element_Type'(New_Item);
        Free_Element (X);
     end Replace;
  
     ---------------------
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Tree : in out Tree_Type;
!       Node : Node_Access;
!       Item : Element_Type)
!    is
!    begin
!       if Item < Node.Element.all
!         or else Node.Element.all < Item
!       then
!          null;
!       else
!          if Tree.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          declare
!             X : Element_Access := Node.Element;
!          begin
!             Node.Element := new Element_Type'(Item);
!             Free_Element (X);
!          end;
  
!          return;
!       end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Tree, Node);  -- Checks busy-bit
  
!       Insert_New_Item : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node return Node_Access is
!          begin
!             Node.Element := new Element_Type'(Item);  -- OK if fails
!             Node.Color := Red;
!             Node.Parent := null;
!             Node.Right := null;
!             Node.Left := null;
  
!             return Node;
!          end New_Node;
  
!          Result   : Node_Access;
!          Inserted : Boolean;
  
!          X : Element_Access := Node.Element;
  
!       --  Start of processing for Insert_New_Item
  
!       begin
!          Attempt_Insert : begin
!             Insert
!               (Tree    => Tree,
!                Key     => Item,
!                Node    => Result,
!                Success => Inserted);  --  TODO: change name of formal param
!          exception
!             when others =>
!                Inserted := False;
!          end Attempt_Insert;
  
!          if Inserted then
!             pragma Assert (Result = Node);
!             Free_Element (X);  -- OK if fails
!             return;
!          end if;
!       end Insert_New_Item;
  
!       Reinsert_Old_Element : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
+          function New_Node return Node_Access is
+          begin
+             Node.Color := Red;
+             Node.Parent := null;
+             Node.Right := null;
+             Node.Left := null;
  
!             return Node;
!          end New_Node;
  
!          Result   : Node_Access;
!          Inserted : Boolean;
  
!       --  Start of processing for Reinsert_Old_Element
! 
!       begin
!          Insert
!            (Tree    => Tree,
!             Key     => Node.Element.all,
!             Node    => Result,
!             Success => Inserted);  --  TODO: change name of formal param
!       exception
!          when others =>
!             null;
!       end Reinsert_Old_Element;
! 
!       raise Program_Error;
!    end Replace_Element;
! 
!    procedure Replace_Element
!     (Container : in out Set;
!      Position  : Cursor;
!      New_Item  : Element_Type)
!    is
!    begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Node.Element = null then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
! 
!       Replace_Element (Container.Tree, Position.Node, New_Item);
!    end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
*************** package body Ada.Containers.Indefinite_O
*** 1413,1425 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     -----------
--- 1597,1622 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 1473,1525 ****
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Symmetric_Difference;
  
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Union (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Union;
  
     -----------
--- 1670,1713 ----
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
+ 
+    function To_Set (New_Item : Element_Type) return Set is
+       Tree     : Tree_Type;
+       Node     : Node_Access;
+       Inserted : Boolean;
+ 
+    begin
+       Insert_Sans_Hint (Tree, New_Item, Node, Inserted);
+       return Set'(Controlled with Tree);
+    end To_Set;
+ 
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Union (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Union;
  
     -----------
*************** package body Ada.Containers.Indefinite_O
*** 1527,1557 ****
     -----------
  
     procedure Write
!      (Stream    : access Ada.Streams.Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is
!         new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Element_Type'Output (Stream, Node.Element.all);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
! end Ada.Containers.Indefinite_Ordered_Sets;
! 
  
--- 1715,1755 ----
     -----------
  
     procedure Write
!      (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Element_Type'Output (Stream, Node.Element.all);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Indefinite_Ordered_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ciorse.ads gcc-4.1.0/gcc/ada/a-ciorse.ads
*** gcc-4.0.2/gcc/ada/a-ciorse.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-ciorse.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                  ADA.CONTAINERS.INDEFINITE_ORDERED_SETS                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      A D A . C O N T A I N E R S .                       --
! --              I N D E F I N I T E _ O R D E R E D _ S E T S               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 44,50 ****
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Sets is
! pragma Preelaborate (Indefinite_Ordered_Sets);
  
     type Set is tagged private;
  
--- 45,53 ----
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Ordered_Sets is
!    pragma Preelaborate;
! 
!    function Equivalent_Elements (Left, Right : Element_Type) return Boolean;
  
     type Set is tagged private;
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 56,61 ****
--- 59,68 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** pragma Preelaborate (Indefinite_Ordered_
*** 64,79 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
-    --  TODO: resolve in Atlanta???
-    --   procedure Replace_Element
-    --     (Container : in out Set;
-    --      Position  : Cursor;
-    --      By        : Element_Type);
- 
     procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
--- 71,85 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
*************** pragma Preelaborate (Indefinite_Ordered_
*** 94,104 ****
       (Container : in out Set;
        New_Item  : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
--- 100,110 ----
       (Container : in out Set;
        New_Item  : Element_Type);
  
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 122,129 ****
  
     function "and" (Left, Right : Set) return Set renames Intersection;
  
!    procedure Difference (Target : in out Set;
!                          Source : Set);
  
     function Difference (Left, Right : Set) return Set;
  
--- 128,134 ----
  
     function "and" (Left, Right : Set) return Set renames Intersection;
  
!    procedure Difference (Target : in out Set; Source : Set);
  
     function Difference (Left, Right : Set) return Set;
  
*************** pragma Preelaborate (Indefinite_Ordered_
*** 139,152 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
-    function Contains (Container : Set; Item : Element_Type) return Boolean;
- 
-    function Find (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Floor (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
- 
     function First (Container : Set) return Cursor;
  
     function First_Element (Container : Set) return Element_Type;
--- 144,149 ----
*************** pragma Preelaborate (Indefinite_Ordered_
*** 157,168 ****
  
     function Next (Position : Cursor) return Cursor;
  
-    function Previous (Position : Cursor) return Cursor;
- 
     procedure Next (Position : in out Cursor);
  
     procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
--- 154,173 ----
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
+    function Previous (Position : Cursor) return Cursor;
+ 
     procedure Previous (Position : in out Cursor);
  
+    function Find (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Floor (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
*************** pragma Preelaborate (Indefinite_Ordered_
*** 186,206 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left : Key_Type; Right : Element_Type)
!           return Boolean is <>;
! 
!       with function ">" (Left : Key_Type; Right : Element_Type)
!           return Boolean is <>;
  
     package Generic_Keys is
  
!       function Contains
!         (Container : Set;
!          Key       : Key_Type) return Boolean;
  
        function Find
          (Container : Set;
--- 191,218 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left, Right : Key_Type) return Boolean is <>;
  
     package Generic_Keys is
  
!       function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
! 
!       function Key (Position : Cursor) return Key_Type;
! 
!       function Element (Container : Set; Key : Key_Type) return Element_Type;
! 
!       procedure Replace
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type);
! 
!       procedure Exclude (Container : in out Set; Key : Key_Type);
! 
!       procedure Delete (Container : in out Set; Key : Key_Type);
  
        function Find
          (Container : Set;
*************** pragma Preelaborate (Indefinite_Ordered_
*** 214,245 ****
          (Container : Set;
           Key       : Key_Type) return Cursor;
  
!       function Key (Position : Cursor) return Key_Type;
! 
!       function Element
          (Container : Set;
!          Key       : Key_Type) return Element_Type;
! 
!       --  TODO: resolve in Atlanta???
!       --      procedure Replace
!       --        (Container : in out Set;
!       --         Key       : Key_Type;
!       --         New_Item  : Element_Type);
! 
!       procedure Delete (Container : in out Set; Key : Key_Type);
! 
!       procedure Exclude (Container : in out Set; Key : Key_Type);
! 
!       function "<" (Left : Cursor; Right : Key_Type) return Boolean;
! 
!       function ">" (Left : Cursor; Right : Key_Type) return Boolean;
! 
!       function "<" (Left : Key_Type; Right : Cursor) return Boolean;
! 
!       function ">" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       --  TODO: resolve name in Atlanta???
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
--- 226,236 ----
          (Container : Set;
           Key       : Key_Type) return Cursor;
  
!       function Contains
          (Container : Set;
!          Key       : Key_Type) return Boolean;
  
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
*************** private
*** 252,272 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!      new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Set is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    type Set_Access is access constant Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
--- 243,276 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Element_Access is access Element_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Element : Element_Access;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
! 
!    type Set is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
*************** private
*** 274,282 ****
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 278,296 ----
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 291,296 ****
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Indefinite_Ordered_Sets;
--- 305,315 ----
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Indefinite_Ordered_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cohama.adb gcc-4.1.0/gcc/ada/a-cohama.adb
*** gcc-4.0.2/gcc/ada/a-cohama.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cohama.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.CONTAINERS.HASHED_MAPS                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --            A D A . C O N T A I N E R S . H A S H E D _ M A P S           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Has
*** 43,54 ****
  
  package body Ada.Containers.Hashed_Maps is
  
-    type Node_Type is limited record
-       Key     : Key_Type;
-       Element : Element_Type;
-       Next    : Node_Access;
-    end record;
- 
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 43,48 ----
*************** package body Ada.Containers.Hashed_Maps 
*** 57,69 ****
       (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Equivalent_Keys
       (Key  : Key_Type;
        Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
     function Find_Equal_Key
!      (R_Map  : Map;
        L_Node : Node_Access) return Boolean;
  
     function Hash_Node (Node : Node_Access) return Hash_Type;
--- 51,65 ----
       (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Equivalent_Key_Node
       (Key  : Key_Type;
        Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Key_Node);
! 
!    procedure Free (X : in out Node_Access);
  
     function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
        L_Node : Node_Access) return Boolean;
  
     function Hash_Node (Node : Node_Access) return Hash_Type;
*************** package body Ada.Containers.Hashed_Maps 
*** 79,84 ****
--- 75,82 ----
     procedure Set_Next (Node : Node_Access; Next : Node_Access);
     pragma Inline (Set_Next);
  
+    function Vet (Position : Cursor) return Boolean;
+ 
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
        Node   : Node_Access);
*************** package body Ada.Containers.Hashed_Maps 
*** 88,101 ****
     -- Local Instantiations --
     --------------------------
  
-    procedure Free is
-      new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
- 
     package HT_Ops is
        new Hash_Tables.Generic_Operations
         (HT_Types          => HT_Types,
-         Hash_Table_Type   => Map,
-         Null_Node         => null,
          Hash_Node         => Hash_Node,
          Next              => Next,
          Set_Next          => Set_Next,
--- 86,94 ----
*************** package body Ada.Containers.Hashed_Maps 
*** 105,117 ****
     package Key_Ops is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
-         HT_Type   => Map,
-         Null_Node => null,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Key_Type,
          Hash      => Hash,
!         Equivalent_Keys => Equivalent_Keys);
  
     function Is_Equal is new HT_Ops.Generic_Equal (Find_Equal_Key);
  
--- 98,108 ----
     package Key_Ops is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Key_Type,
          Hash      => Hash,
!         Equivalent_Keys => Equivalent_Key_Node);
  
     function Is_Equal is new HT_Ops.Generic_Equal (Find_Equal_Key);
  
*************** package body Ada.Containers.Hashed_Maps 
*** 122,147 ****
     -- "=" --
     ---------
  
!    function "=" (Left, Right : Map) return Boolean renames Is_Equal;
  
     ------------
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) renames HT_Ops.Adjust;
  
     --------------
     -- Capacity --
     --------------
  
!    function Capacity (Container : Map) return Count_Type
!      renames HT_Ops.Capacity;
  
     -----------
     -- Clear --
     -----------
  
!    procedure Clear (Container : in out Map) renames HT_Ops.Clear;
  
     --------------
     -- Contains --
--- 113,149 ----
     -- "=" --
     ---------
  
!    function "=" (Left, Right : Map) return Boolean is
!    begin
!       return Is_Equal (Left.HT, Right.HT);
!    end "=";
  
     ------------
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) is
!    begin
!       HT_Ops.Adjust (Container.HT);
!    end Adjust;
  
     --------------
     -- Capacity --
     --------------
  
!    function Capacity (Container : Map) return Count_Type is
!    begin
!       return HT_Ops.Capacity (Container.HT);
!    end Capacity;
  
     -----------
     -- Clear --
     -----------
  
!    procedure Clear (Container : in out Map) is
!    begin
!       HT_Ops.Clear (Container.HT);
!    end Clear;
  
     --------------
     -- Contains --
*************** package body Ada.Containers.Hashed_Maps 
*** 175,181 ****
        X : Node_Access;
  
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container, Key, X);
  
        if X = null then
           raise Constraint_Error;
--- 177,183 ----
        X : Node_Access;
  
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container.HT, Key, X);
  
        if X = null then
           raise Constraint_Error;
*************** package body Ada.Containers.Hashed_Maps 
*** 186,202 ****
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Map_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
!       Free (Position.Node);
  
        Position.Container := null;
     end Delete;
  
--- 188,210 ----
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Delete");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       if Container.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
+       HT_Ops.Delete_Node_Sans_Free (Container.HT, Position.Node);
+ 
+       Free (Position.Node);
        Position.Container := null;
     end Delete;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 205,230 ****
     -------------
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
!       C : constant Cursor := Find (Container, Key);
     begin
!       return C.Node.Element;
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
        return Position.Node.Element;
     end Element;
  
!    ---------------------
!    -- Equivalent_Keys --
!    ---------------------
  
!    function Equivalent_Keys
       (Key  : Key_Type;
        Node : Node_Access) return Boolean is
     begin
        return Equivalent_Keys (Key, Node.Key);
!    end Equivalent_Keys;
  
     ---------------------
     -- Equivalent_Keys --
--- 213,249 ----
     -------------
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
! 
     begin
!       if Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       return Node.Element;
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Element");
+ 
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Position.Node.Element;
     end Element;
  
!    -------------------------
!    -- Equivalent_Key_Node --
!    -------------------------
  
!    function Equivalent_Key_Node
       (Key  : Key_Type;
        Node : Node_Access) return Boolean is
     begin
        return Equivalent_Keys (Key, Node.Key);
!    end Equivalent_Key_Node;
  
     ---------------------
     -- Equivalent_Keys --
*************** package body Ada.Containers.Hashed_Maps 
*** 233,248 ****
--- 252,288 ----
     function Equivalent_Keys (Left, Right : Cursor)
       return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
+ 
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left.Node.Key, Right.Node.Key);
     end Equivalent_Keys;
  
     function Equivalent_Keys (Left : Cursor; Right : Key_Type) return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+ 
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left.Node.Key, Right);
     end Equivalent_Keys;
  
     function Equivalent_Keys (Left : Key_Type; Right : Cursor) return Boolean is
     begin
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
+ 
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Equivalent_Keys (Left, Right.Node.Key);
     end Equivalent_Keys;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 253,259 ****
     procedure Exclude (Container : in out Map; Key : Key_Type) is
        X : Node_Access;
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container, Key, X);
        Free (X);
     end Exclude;
  
--- 293,299 ----
     procedure Exclude (Container : in out Map; Key : Key_Type) is
        X : Node_Access;
     begin
!       Key_Ops.Delete_Key_Sans_Free (Container.HT, Key, X);
        Free (X);
     end Exclude;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 261,274 ****
     -- Finalize --
     --------------
  
!    procedure Finalize (Container : in out Map) renames HT_Ops.Finalize;
  
     ----------
     -- Find --
     ----------
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
!       Node : constant Node_Access := Key_Ops.Find (Container, Key);
  
     begin
        if Node = null then
--- 301,317 ----
     -- Finalize --
     --------------
  
!    procedure Finalize (Container : in out Map) is
!    begin
!       HT_Ops.Finalize (Container.HT);
!    end Finalize;
  
     ----------
     -- Find --
     ----------
  
     function Find (Container : Map; Key : Key_Type) return Cursor is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
  
     begin
        if Node = null then
*************** package body Ada.Containers.Hashed_Maps 
*** 283,293 ****
     --------------------
  
     function Find_Equal_Key
!      (R_Map  : Map;
        L_Node : Node_Access) return Boolean
     is
!       R_Index : constant Hash_Type := Key_Ops.Index (R_Map, L_Node.Key);
!       R_Node  : Node_Access := R_Map.Buckets (R_Index);
  
     begin
        while R_Node /= null loop
--- 326,336 ----
     --------------------
  
     function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
        L_Node : Node_Access) return Boolean
     is
!       R_Index : constant Hash_Type := Key_Ops.Index (R_HT, L_Node.Key);
!       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
     begin
        while R_Node /= null loop
*************** package body Ada.Containers.Hashed_Maps 
*** 306,312 ****
     -----------
  
     function First (Container : Map) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container);
  
     begin
        if Node = null then
--- 349,355 ----
     -----------
  
     function First (Container : Map) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container.HT);
  
     begin
        if Node = null then
*************** package body Ada.Containers.Hashed_Maps 
*** 316,328 ****
        return Cursor'(Container'Unchecked_Access, Node);
     end First;
  
     -----------------
     -- Has_Element --
     -----------------
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       return Position /= No_Element;
     end Has_Element;
  
     ---------------
--- 359,386 ----
        return Cursor'(Container'Unchecked_Access, Node);
     end First;
  
+    ----------
+    -- Free --
+    ----------
+ 
+    procedure Free (X : in out Node_Access) is
+       procedure Deallocate is
+          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+    begin
+       if X /= null then
+          X.Next := X;     --  detect mischief (in Vet)
+          Deallocate (X);
+       end if;
+    end Free;
+ 
     -----------------
     -- Has_Element --
     -----------------
  
     function Has_Element (Position : Cursor) return Boolean is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
     end Has_Element;
  
     ---------------
*************** package body Ada.Containers.Hashed_Maps 
*** 350,355 ****
--- 408,417 ----
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.HT.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           Position.Node.Key := Key;
           Position.Node.Element := New_Item;
        end if;
*************** package body Ada.Containers.Hashed_Maps 
*** 390,400 ****
              raise;
        end New_Node;
  
     --  Start of processing for Insert
  
     begin
!       HT_Ops.Ensure_Capacity (Container, Container.Length + 1);
!       Local_Insert (Container, Key, Position.Node, Inserted);
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
--- 452,474 ----
              raise;
        end New_Node;
  
+       HT : Hash_Table_Type renames Container.HT;
+ 
     --  Start of processing for Insert
  
     begin
!       if HT_Ops.Capacity (HT) = 0 then
!          HT_Ops.Reserve_Capacity (HT, 1);
!       end if;
! 
!       Local_Insert (HT, Key, Position.Node, Inserted);
! 
!       if Inserted
!         and then HT.Length > HT_Ops.Capacity (HT)
!       then
!          HT_Ops.Reserve_Capacity (HT, HT.Length);
!       end if;
! 
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 421,431 ****
           return Node;
        end New_Node;
  
     --  Start of processing for Insert
  
     begin
!       HT_Ops.Ensure_Capacity (Container, Container.Length + 1);
!       Local_Insert (Container, Key, Position.Node, Inserted);
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
--- 495,517 ----
           return Node;
        end New_Node;
  
+       HT : Hash_Table_Type renames Container.HT;
+ 
     --  Start of processing for Insert
  
     begin
!       if HT_Ops.Capacity (HT) = 0 then
!          HT_Ops.Reserve_Capacity (HT, 1);
!       end if;
! 
!       Local_Insert (HT, Key, Position.Node, Inserted);
! 
!       if Inserted
!         and then HT.Length > HT_Ops.Capacity (HT)
!       then
!          HT_Ops.Reserve_Capacity (HT, HT.Length);
!       end if;
! 
        Position.Container := Container'Unchecked_Access;
     end Insert;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 451,457 ****
  
     function Is_Empty (Container : Map) return Boolean is
     begin
!       return Container.Length = 0;
     end Is_Empty;
  
     -------------
--- 537,543 ----
  
     function Is_Empty (Container : Map) return Boolean is
     begin
!       return Container.HT.Length = 0;
     end Is_Empty;
  
     -------------
*************** package body Ada.Containers.Hashed_Maps 
*** 479,485 ****
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container);
     end Iterate;
  
     ---------
--- 565,571 ----
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.HT);
     end Iterate;
  
     ---------
*************** package body Ada.Containers.Hashed_Maps 
*** 488,493 ****
--- 574,585 ----
  
     function Key (Position : Cursor) return Key_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Key");
+ 
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Position.Node.Key;
     end Key;
  
*************** package body Ada.Containers.Hashed_Maps 
*** 497,503 ****
  
     function Length (Container : Map) return Count_Type is
     begin
!       return Container.Length;
     end Length;
  
     ----------
--- 589,595 ----
  
     function Length (Container : Map) return Count_Type is
     begin
!       return Container.HT.Length;
     end Length;
  
     ----------
*************** package body Ada.Containers.Hashed_Maps 
*** 506,512 ****
  
     procedure Move
       (Target : in out Map;
!       Source : in out Map) renames HT_Ops.Move;
  
     ----------
     -- Next --
--- 598,608 ----
  
     procedure Move
       (Target : in out Map;
!       Source : in out Map)
!    is
!    begin
!       HT_Ops.Move (Target => Target.HT, Source => Source.HT);
!    end Move;
  
     ----------
     -- Next --
*************** package body Ada.Containers.Hashed_Maps 
*** 519,531 ****
  
     function Next (Position : Cursor) return Cursor is
     begin
!       if Position = No_Element then
           return No_Element;
        end if;
  
        declare
!          M    : Map renames Position.Container.all;
!          Node : constant Node_Access := HT_Ops.Next (M, Position.Node);
  
        begin
           if Node = null then
--- 615,629 ----
  
     function Next (Position : Cursor) return Cursor is
     begin
!       pragma Assert (Vet (Position), "bad cursor in function Next");
! 
!       if Position.Node = null then
           return No_Element;
        end if;
  
        declare
!          HT   : Hash_Table_Type renames Position.Container.HT;
!          Node : constant Node_Access := HT_Ops.Next (HT, Position.Node);
  
        begin
           if Node = null then
*************** package body Ada.Containers.Hashed_Maps 
*** 547,556 ****
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Key, Position.Node.Element);
     end Query_Element;
  
     ----------
--- 645,687 ----
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access
!                    procedure (Key : Key_Type; Element : Element_Type))
     is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       declare
!          M  : Map renames Position.Container.all;
!          HT : Hash_Table_Type renames M.HT'Unrestricted_Access.all;
! 
!          B : Natural renames HT.Busy;
!          L : Natural renames HT.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key;
!             E : Element_Type renames Position.Node.Element;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Hashed_Maps 
*** 559,565 ****
  
     procedure Read
       (Stream    : access Root_Stream_Type'Class;
!       Container : out Map) renames Read_Nodes;
  
     ---------------
     -- Read_Node --
--- 690,708 ----
  
     procedure Read
       (Stream    : access Root_Stream_Type'Class;
!       Container : out Map)
!    is
!    begin
!       Read_Nodes (Stream, Container.HT);
!    end Read;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
  
     ---------------
     -- Read_Node --
*************** package body Ada.Containers.Hashed_Maps 
*** 590,602 ****
        Key       : Key_Type;
        New_Item  : Element_Type)
     is
!       Node : constant Node_Access := Key_Ops.Find (Container, Key);
  
     begin
        if Node = null then
           raise Constraint_Error;
        end if;
  
        Node.Key := Key;
        Node.Element := New_Item;
     end Replace;
--- 733,749 ----
        Key       : Key_Type;
        New_Item  : Element_Type)
     is
!       Node : constant Node_Access := Key_Ops.Find (Container.HT, Key);
  
     begin
        if Node = null then
           raise Constraint_Error;
        end if;
  
+       if Container.HT.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        Node.Key := Key;
        Node.Element := New_Item;
     end Replace;
*************** package body Ada.Containers.Hashed_Maps 
*** 605,613 ****
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element (Position : Cursor; By : Element_Type) is
     begin
!       Position.Node.Element := By;
     end Replace_Element;
  
     ----------------------
--- 752,778 ----
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       if Position.Container.HT.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       Position.Node.Element := New_Item;
     end Replace_Element;
  
     ----------------------
*************** package body Ada.Containers.Hashed_Maps 
*** 616,622 ****
  
     procedure Reserve_Capacity
       (Container : in out Map;
!       Capacity  : Count_Type) renames HT_Ops.Ensure_Capacity;
  
     --------------
     -- Set_Next --
--- 781,791 ----
  
     procedure Reserve_Capacity
       (Container : in out Map;
!       Capacity  : Count_Type)
!    is
!    begin
!       HT_Ops.Reserve_Capacity (Container.HT, Capacity);
!    end Reserve_Capacity;
  
     --------------
     -- Set_Next --
*************** package body Ada.Containers.Hashed_Maps 
*** 632,651 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
     begin
!       Process (Position.Node.Key, Position.Node.Element);
     end Update_Element;
  
     -----------
     -- Write --
     -----------
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
!       Container : Map) renames Write_Nodes;
  
     ----------------
     -- Write_Node --
--- 801,922 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
!                                              Element : in out Element_Type))
     is
     begin
!       pragma Assert (Vet (Position), "bad cursor in Update_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       declare
!          HT : Hash_Table_Type renames Container.HT;
!          B  : Natural renames HT.Busy;
!          L  : Natural renames HT.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key;
!             E : Element_Type renames Position.Node.Element;
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
+    ---------
+    -- Vet --
+    ---------
+ 
+    function Vet (Position : Cursor) return Boolean is
+    begin
+       if Position.Node = null then
+          return Position.Container = null;
+       end if;
+ 
+       if Position.Container = null then
+          return False;
+       end if;
+ 
+       if Position.Node.Next = Position.Node then
+          return False;
+       end if;
+ 
+       declare
+          HT : Hash_Table_Type renames Position.Container.HT;
+          X  : Node_Access;
+ 
+       begin
+          if HT.Length = 0 then
+             return False;
+          end if;
+ 
+          if HT.Buckets = null
+            or else HT.Buckets'Length = 0
+          then
+             return False;
+          end if;
+ 
+          X := HT.Buckets (Key_Ops.Index (HT, Position.Node.Key));
+ 
+          for J in 1 .. HT.Length loop
+             if X = Position.Node then
+                return True;
+             end if;
+ 
+             if X = null then
+                return False;
+             end if;
+ 
+             if X = X.Next then  --  to prevent endless loop
+                return False;
+             end if;
+ 
+             X := X.Next;
+          end loop;
+ 
+          return False;
+       end;
+    end Vet;
+ 
     -----------
     -- Write --
     -----------
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
!       Container : Map)
!    is
!    begin
!       Write_Nodes (Stream, Container.HT);
!    end Write;
! 
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
     ----------------
     -- Write_Node --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cohama.ads gcc-4.1.0/gcc/ada/a-cohama.ads
*** gcc-4.0.2/gcc/ada/a-cohama.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cohama.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.CONTAINERS.HASHED_MAPS                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --            A D A . C O N T A I N E R S . H A S H E D _ M A P S           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,54 ****
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
  
  generic
     type Key_Type is private;
- 
     type Element_Type is private;
  
     with function Hash (Key : Key_Type) return Hash_Type;
- 
     with function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
- 
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Hashed_Maps is
! pragma Preelaborate (Hashed_Maps);
  
     type Map is tagged private;
  
--- 35,52 ----
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
+ with Ada.Finalization;
  
  generic
     type Key_Type is private;
     type Element_Type is private;
  
     with function Hash (Key : Key_Type) return Hash_Type;
     with function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Hashed_Maps is
!    pragma Preelaborate;
  
     type Map is tagged private;
  
*************** pragma Preelaborate (Hashed_Maps);
*** 60,73 ****
  
     function "=" (Left, Right : Map) return Boolean;
  
     function Length (Container : Map) return Count_Type;
  
     function Is_Empty (Container : Map) return Boolean;
  
     procedure Clear (Container : in out Map);
  
!    function Element (Position : Cursor)
!       return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
--- 58,82 ----
  
     function "=" (Left, Right : Map) return Boolean;
  
+    function Capacity (Container : Map) return Count_Type;
+ 
+    procedure Reserve_Capacity (Container : in out Map;
+                                Capacity  : Count_Type);
+ 
     function Length (Container : Map) return Count_Type;
  
     function Is_Empty (Container : Map) return Boolean;
  
     procedure Clear (Container : in out Map);
  
!    function Key (Position : Cursor) return Key_Type;
! 
!    function Element (Position : Cursor) return Element_Type;
! 
!    procedure Replace_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       New_Item  : Element_Type);
  
     procedure Query_Element
       (Position : Cursor;
*************** pragma Preelaborate (Hashed_Maps);
*** 75,86 ****
                     procedure (Key : Key_Type; Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access
                     procedure (Key : Key_Type; Element : in out Element_Type));
  
-    procedure Replace_Element (Position : Cursor; By : Element_Type);
- 
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
--- 84,94 ----
                     procedure (Key : Key_Type; Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access
                     procedure (Key : Key_Type; Element : in out Element_Type));
  
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
*************** pragma Preelaborate (Hashed_Maps);
*** 93,98 ****
--- 101,112 ----
     procedure Insert
       (Container : in out Map;
        Key       : Key_Type;
+       Position  : out Cursor;
+       Inserted  : out Boolean);
+ 
+    procedure Insert
+      (Container : in out Map;
+       Key       : Key_Type;
        New_Item  : Element_Type);
  
     procedure Include
*************** pragma Preelaborate (Hashed_Maps);
*** 105,142 ****
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Insert
!      (Container : in out Map;
!       Key       : Key_Type;
!       Position  : out Cursor;
!       Inserted  : out Boolean);
  
     procedure Delete (Container : in out Map; Key : Key_Type);
  
-    procedure Exclude (Container : in out Map; Key : Key_Type);
- 
     procedure Delete (Container : in out Map; Position : in out Cursor);
  
-    function Contains (Container : Map; Key : Key_Type) return Boolean;
- 
-    function Find (Container : Map; Key : Key_Type) return Cursor;
- 
-    function Element (Container : Map; Key : Key_Type) return Element_Type;
- 
-    function Capacity (Container : Map) return Count_Type;
- 
-    procedure Reserve_Capacity (Container : in out Map;
-                                Capacity  : Count_Type);
- 
     function First (Container : Map) return Cursor;
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
!    function Has_Element (Position : Cursor) return Boolean;
  
!    function Key (Position : Cursor) return Key_Type;
  
     function Equivalent_Keys (Left, Right : Cursor) return Boolean;
  
--- 119,143 ----
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Exclude (Container : in out Map; Key : Key_Type);
  
     procedure Delete (Container : in out Map; Key : Key_Type);
  
     procedure Delete (Container : in out Map; Position : in out Cursor);
  
     function First (Container : Map) return Cursor;
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
!    function Find (Container : Map; Key : Key_Type) return Cursor;
  
!    function Contains (Container : Map; Key : Key_Type) return Boolean;
! 
!    function Element (Container : Map; Key : Key_Type) return Element_Type;
! 
!    function Has_Element (Position : Cursor) return Boolean;
  
     function Equivalent_Keys (Left, Right : Cursor) return Boolean;
  
*************** pragma Preelaborate (Hashed_Maps);
*** 149,163 ****
        Process   : not null access procedure (Position : Cursor));
  
  private
  
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package HT_Types is new Hash_Tables.Generic_Hash_Table_Types (Node_Access);
  
!    use HT_Types;
  
!    type Map is new Hash_Table_Type with null record;
  
     procedure Adjust (Container : in out Map);
  
--- 150,187 ----
        Process   : not null access procedure (Position : Cursor));
  
  private
+    pragma Inline ("=");
+    pragma Inline (Length);
+    pragma Inline (Is_Empty);
+    pragma Inline (Clear);
+    pragma Inline (Key);
+    pragma Inline (Element);
+    pragma Inline (Move);
+    pragma Inline (Contains);
+    pragma Inline (Capacity);
+    pragma Inline (Reserve_Capacity);
+    pragma Inline (Has_Element);
+    pragma Inline (Equivalent_Keys);
  
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Node_Type is limited record
!       Key     : Key_Type;
!       Element : Element_Type;
!       Next    : Node_Access;
!    end record;
  
!    package HT_Types is new Hash_Tables.Generic_Hash_Table_Types
!      (Node_Type,
!       Node_Access);
  
!    type Map is new Ada.Finalization.Controlled with record
!       HT : HT_Types.Hash_Table_Type;
!    end record;
! 
!    use HT_Types;
!    use Ada.Finalization;
  
     procedure Adjust (Container : in out Map);
  
*************** private
*** 177,183 ****
  
     for Map'Read use Read;
  
!    Empty_Map : constant Map := (Hash_Table_Type with null record);
  
     type Map_Access is access constant Map;
     for Map_Access'Storage_Size use 0;
--- 201,207 ----
  
     for Map'Read use Read;
  
!    Empty_Map : constant Map := (Controlled with HT => (null, 0, 0, 0));
  
     type Map_Access is access constant Map;
     for Map_Access'Storage_Size use 0;
*************** private
*** 188,193 ****
--- 212,229 ----
           Node      : Node_Access;
        end record;
  
+    procedure Write
+      (Stream : access Root_Stream_Type'Class;
+       Item   : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
+    procedure Read
+      (Stream : access Root_Stream_Type'Class;
+       Item   : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
     No_Element : constant Cursor := (Container => null, Node => null);
  
  end Ada.Containers.Hashed_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cohase.adb gcc-4.1.0/gcc/ada/a-cohase.adb
*** gcc-4.0.2/gcc/ada/a-cohase.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cohase.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.CONTAINERS.HASHED_SETS                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . H A S H E D _ S E T S            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Has
*** 41,590 ****
  with Ada.Containers.Hash_Tables.Generic_Keys;
  pragma Elaborate_All (Ada.Containers.Hash_Tables.Generic_Keys);
  
- with System;  use type System.Address;
- 
  with Ada.Containers.Prime_Numbers;
  
! with Ada.Finalization;  use Ada.Finalization;
  
  package body Ada.Containers.Hashed_Sets is
  
!    type Node_Type is
!       limited record
!          Element : Element_Type;
!          Next    : Node_Access;
!       end record;
  
!    function Hash_Node
!      (Node : Node_Access) return Hash_Type;
!    pragma Inline (Hash_Node);
  
!    function Hash_Node
!      (Node : Node_Access) return Hash_Type is
!    begin
!       return Hash (Node.Element);
!    end Hash_Node;
  
!    function Next
!      (Node : Node_Access) return Node_Access;
!    pragma Inline (Next);
  
!    function Next
!      (Node : Node_Access) return Node_Access is
!    begin
!       return Node.Next;
!    end Next;
  
!    procedure Set_Next
!      (Node : Node_Access;
!       Next : Node_Access);
!    pragma Inline (Set_Next);
  
!    procedure Set_Next
!      (Node : Node_Access;
!       Next : Node_Access) is
!    begin
!       Node.Next := Next;
!    end Set_Next;
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean is
!    begin
!       return Equivalent_Keys (Key, Node.Element);
!    end Equivalent_Keys;
  
!    function Copy_Node
!      (Source : Node_Access) return Node_Access;
!    pragma Inline (Copy_Node);
  
!    function Copy_Node
!      (Source : Node_Access) return Node_Access is
  
!       Target : constant Node_Access :=
!         new Node_Type'(Element => Source.Element,
!                        Next    => null);
!    begin
!       return Target;
!    end Copy_Node;
  
  
!    procedure Free is
!       new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     package HT_Ops is
        new Hash_Tables.Generic_Operations
!        (HT_Types          => HT_Types,
!         Hash_Table_Type   => Set,
!         Null_Node         => null,
!         Hash_Node         => Hash_Node,
!         Next              => Next,
!         Set_Next          => Set_Next,
!         Copy_Node         => Copy_Node,
!         Free              => Free);
  
     package Element_Keys is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
-         HT_Type   => Set,
-         Null_Node => null,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Element_Type,
          Hash      => Hash,
          Equivalent_Keys => Equivalent_Keys);
  
  
!    procedure Adjust (Container : in out Set) renames HT_Ops.Adjust;
! 
!    procedure Finalize (Container : in out Set) renames HT_Ops.Finalize;
! 
! 
!    function Find_Equal_Key
!      (R_Set  : Set;
!       L_Node : Node_Access) return Boolean;
  
!    function Find_Equal_Key
!      (R_Set  : Set;
!       L_Node : Node_Access) return Boolean is
  
!       R_Index : constant Hash_Type :=
!         Element_Keys.Index (R_Set, L_Node.Element);
  
!       R_Node  : Node_Access := R_Set.Buckets (R_Index);
  
     begin
  
!       loop
! 
!          if R_Node = null then
!             return False;
!          end if;
! 
!          if L_Node.Element = R_Node.Element then
!             --  pragma Assert (Is_Equal_Key (L_Node.Element, R_Node.Element));
!             return True;
!          end if;
! 
!          R_Node := Next (R_Node);
! 
!       end loop;
! 
!    end Find_Equal_Key;
! 
!    function Is_Equal is
!       new HT_Ops.Generic_Equal (Find_Equal_Key);
! 
!    function "=" (Left, Right : Set) return Boolean renames Is_Equal;
! 
  
!    function Length (Container : Set) return Count_Type is
     begin
!       return Container.Length;
!    end Length;
  
  
!    function Is_Empty (Container : Set) return Boolean is
     begin
!       return Container.Length = 0;
!    end Is_Empty;
  
  
!    procedure Clear (Container : in out Set) renames HT_Ops.Clear;
  
  
!    function Element (Position : Cursor) return Element_Type is
     begin
!       return Position.Node.Element;
!    end Element;
  
  
!    procedure Query_Element
!      (Position : in Cursor;
!       Process  : not null access procedure (Element : in Element_Type)) is
     begin
!       Process (Position.Node.Element);
!    end Query_Element;
  
  
! --  TODO:
! --     procedure Replace_Element (Container : in out Set;
! --                                Position  : in     Node_Access;
! --                                By        : in     Element_Type) is
  
! --        Node : Node_Access := Position;
  
! --     begin
  
! --        if Equivalent_Keys (Node.Element, By) then
  
! --           begin
! --              Node.Element := By;
! --           exception
! --              when others =>
! --                 HT_Ops.Delete_Node_Sans_Free (Container, Node);
! --                 Free (Node);
! --                 raise;
! --           end;
  
! --           return;
  
! --        end if;
  
! --        HT_Ops.Delete_Node_Sans_Free (Container, Node);
  
! --        begin
! --           Node.Element := By;
! --        exception
! --           when others =>
! --              Free (Node);
! --              raise;
! --        end;
  
! --        declare
! --           function New_Node (Next : Node_Access) return Node_Access;
! --           pragma Inline (New_Node);
  
! --           function New_Node (Next : Node_Access) return Node_Access is
! --           begin
! --              Node.Next := Next;
! --              return Node;
! --           end New_Node;
  
! --           procedure Insert is
! --              new Element_Keys.Generic_Conditional_Insert (New_Node);
  
! --           Result  : Node_Access;
! --           Success : Boolean;
! --        begin
! --           Insert
! --             (HT      => Container,
! --              Key     => Node.Element,
! --              Node    => Result,
! --              Success => Success);
  
! --           if not Success then
! --              Free (Node);
! --              raise Program_Error;
! --           end if;
  
! --           pragma Assert (Result = Node);
! --        end;
  
! --     end Replace_Element;
  
  
! --     procedure Replace_Element (Container : in out Set;
! --                                Position  : in     Cursor;
! --                                By        : in     Element_Type) is
! --     begin
  
! --        if Position.Container = null then
! --           raise Constraint_Error;
! --        end if;
  
! --        if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --           raise Program_Error;
! --        end if;
  
! --        Replace_Element (Container, Position.Node, By);
  
! --     end Replace_Element;
  
  
!    procedure Move (Target : in out Set;
!                    Source : in out Set) renames HT_Ops.Move;
  
  
!    procedure Insert (Container : in out Set;
!                      New_Item  : in     Element_Type;
!                      Position  :    out Cursor;
!                      Inserted  :    out Boolean) is
  
!       function New_Node (Next : Node_Access) return Node_Access;
!       pragma Inline (New_Node);
  
!       function New_Node (Next : Node_Access) return Node_Access is
!          Node : constant Node_Access := new Node_Type'(New_Item, Next);
!       begin
!          return Node;
!       end New_Node;
  
!       procedure Insert is
!         new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!    begin
  
!       HT_Ops.Ensure_Capacity (Container, Container.Length + 1);
!       Insert (Container, New_Item, Position.Node, Inserted);
!       Position.Container := Container'Unchecked_Access;
  
!    end Insert;
  
  
!    procedure Insert (Container : in out Set;
!                      New_Item  : in     Element_Type) is
  
!       Position : Cursor;
!       Inserted : Boolean;
  
     begin
  
!       Insert (Container, New_Item, Position, Inserted);
! 
!       if not Inserted then
           raise Constraint_Error;
        end if;
  
!    end Insert;
  
  
!    procedure Replace (Container : in out Set;
!                       New_Item  : in     Element_Type) is
  
!       X : Node_Access := Element_Keys.Find (Container, New_Item);
  
     begin
  
!       if X = null then
           raise Constraint_Error;
        end if;
  
!       X.Element := New_Item;
! 
!    end Replace;
! 
! 
!    procedure Include (Container : in out Set;
!                       New_Item  : in     Element_Type) is
! 
!       Position : Cursor;
!       Inserted : Boolean;
  
     begin
  
!       Insert (Container, New_Item, Position, Inserted);
! 
!       if not Inserted then
!          Position.Node.Element := New_Item;
        end if;
  
!    end Include;
! 
! 
!    procedure Delete (Container : in out Set;
!                      Item      : in     Element_Type) is
! 
!       X : Node_Access;
  
     begin
  
!       Element_Keys.Delete_Key_Sans_Free (Container, Item, X);
! 
!       if X = null then
           raise Constraint_Error;
        end if;
  
!       Free (X);
  
!    end Delete;
  
  
!    procedure Exclude (Container : in out Set;
!                       Item      : in     Element_Type) is
  
        X : Node_Access;
- 
     begin
! 
!       Element_Keys.Delete_Key_Sans_Free (Container, Item, X);
        Free (X);
- 
     end Exclude;
  
  
!    procedure Delete (Container : in out Set;
!                      Position  : in out Cursor) is
     begin
  
!       if Position = No_Element then
!          return;
!       end if;
  
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
!          raise Program_Error;
!       end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
!       Free (Position.Node);
  
!       Position.Container := null;
  
!    end Delete;
  
  
  
!    procedure Union (Target : in out Set;
!                     Source : in     Set) is
  
!       procedure Process (Src_Node : in Node_Access);
  
!       procedure Process (Src_Node : in Node_Access) is
  
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
  
!          function New_Node (Next : Node_Access) return Node_Access is
!             Node : constant Node_Access :=
!               new Node_Type'(Src_Node.Element, Next);
!          begin
!             return Node;
!          end New_Node;
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!          Tgt_Node : Node_Access;
!          Success  : Boolean;
  
!       begin
  
!          Insert (Target, Src_Node.Element, Tgt_Node, Success);
  
!       end Process;
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process);
  
     begin
! 
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       HT_Ops.Ensure_Capacity (Target, Target.Length + Source.Length);
! 
!       Iterate (Source);
! 
!    end Union;
! 
! 
  
!    function Union (Left, Right : Set) return Set is
  
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
     begin
! 
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       if Right.Length = 0 then
!          return Left;
        end if;
  
!       if Left.Length = 0 then
!          return Right;
!       end if;
  
!       declare
!          Size : constant Hash_Type :=
!            Prime_Numbers.To_Prime (Left.Length + Right.Length);
!       begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
!       end;
  
!       declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Process (L_Node : Node_Access) is
!             I : constant Hash_Type :=
!               Hash (L_Node.Element) mod Buckets'Length;
!          begin
!             Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
!          end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
!       begin
!          Iterate (Left);
!       exception
!          when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end;
  
!       Length := Left.Length;
  
!       declare
!          procedure Process (Src_Node : Node_Access);
  
!          procedure Process (Src_Node : Node_Access) is
  
!             I : constant Hash_Type :=
!               Hash (Src_Node.Element) mod Buckets'Length;
  
!             Tgt_Node : Node_Access := Buckets (I);
  
!          begin
  
!             while Tgt_Node /= null loop
  
!                if Equivalent_Keys (Src_Node.Element, Tgt_Node.Element) then
!                   return;
!                end if;
  
!                Tgt_Node := Next (Tgt_Node);
  
!             end loop;
  
!             Buckets (I) := new Node_Type'(Src_Node.Element, Buckets (I));
!             Length := Length + 1;
  
!          end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Right);
!       exception
!          when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
! 
!    end Union;
! 
  
!    function Is_In
!      (HT  : Set;
!       Key : Node_Access) return Boolean;
!    pragma Inline (Is_In);
  
-    function Is_In
-      (HT  : Set;
-       Key : Node_Access) return Boolean is
     begin
!       return Element_Keys.Find (HT, Key.Element) /= null;
!    end Is_In;
  
  
!    procedure Intersection (Target : in out Set;
!                            Source : in     Set) is
  
        Tgt_Node : Node_Access;
  
     begin
- 
        if Target'Address = Source'Address then
           return;
        end if;
--- 41,674 ----
  with Ada.Containers.Hash_Tables.Generic_Keys;
  pragma Elaborate_All (Ada.Containers.Hash_Tables.Generic_Keys);
  
  with Ada.Containers.Prime_Numbers;
  
! with System; use type System.Address;
  
  package body Ada.Containers.Hashed_Sets is
  
!    -----------------------
!    -- Local Subprograms --
!    -----------------------
  
!    function Copy_Node (Source : Node_Access) return Node_Access;
!    pragma Inline (Copy_Node);
  
!    function Equivalent_Keys
!      (Key  : Element_Type;
!       Node : Node_Access) return Boolean;
!    pragma Inline (Equivalent_Keys);
  
!    function Find_Equal_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean;
  
!    function Find_Equivalent_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean;
  
!    procedure Free (X : in out Node_Access);
  
!    function Hash_Node (Node : Node_Access) return Hash_Type;
!    pragma Inline (Hash_Node);
  
!    procedure Insert
!      (HT       : in out Hash_Table_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean);
  
!    function Is_In
!      (HT  : Hash_Table_Type;
!       Key : Node_Access) return Boolean;
!    pragma Inline (Is_In);
  
!    function Next (Node : Node_Access) return Node_Access;
!    pragma Inline (Next);
  
!    function Read_Node (Stream : access Root_Stream_Type'Class)
!      return Node_Access;
!    pragma Inline (Read_Node);
  
!    procedure Replace_Element
!      (HT       : in out Hash_Table_Type;
!       Node     : Node_Access;
!       New_Item : Element_Type);
  
+    procedure Set_Next (Node : Node_Access; Next : Node_Access);
+    pragma Inline (Set_Next);
  
!    function Vet (Position : Cursor) return Boolean;
! 
!    procedure Write_Node
!      (Stream : access Root_Stream_Type'Class;
!       Node   : Node_Access);
!    pragma Inline (Write_Node);
! 
!    --------------------------
!    -- Local Instantiations --
!    --------------------------
  
     package HT_Ops is
        new Hash_Tables.Generic_Operations
!        (HT_Types  => HT_Types,
!         Hash_Node => Hash_Node,
!         Next      => Next,
!         Set_Next  => Set_Next,
!         Copy_Node => Copy_Node,
!         Free      => Free);
  
     package Element_Keys is
        new Hash_Tables.Generic_Keys
         (HT_Types  => HT_Types,
          Next      => Next,
          Set_Next  => Set_Next,
          Key_Type  => Element_Type,
          Hash      => Hash,
          Equivalent_Keys => Equivalent_Keys);
  
+    function Is_Equal is
+       new HT_Ops.Generic_Equal (Find_Equal_Key);
  
!    function Is_Equivalent is
!       new HT_Ops.Generic_Equal (Find_Equivalent_Key);
  
!    procedure Read_Nodes is
!       new HT_Ops.Generic_Read (Read_Node);
  
!    procedure Write_Nodes is
!       new HT_Ops.Generic_Write (Write_Node);
  
!    ---------
!    -- "=" --
!    ---------
  
+    function "=" (Left, Right : Set) return Boolean is
     begin
+       return Is_Equal (Left.HT, Right.HT);
+    end "=";
  
!    ------------
!    -- Adjust --
!    ------------
  
!    procedure Adjust (Container : in out Set) is
     begin
!       HT_Ops.Adjust (Container.HT);
!    end Adjust;
  
+    --------------
+    -- Capacity --
+    --------------
  
!    function Capacity (Container : Set) return Count_Type is
     begin
!       return HT_Ops.Capacity (Container.HT);
!    end Capacity;
  
+    -----------
+    -- Clear --
+    -----------
  
!    procedure Clear (Container : in out Set) is
!    begin
!       HT_Ops.Clear (Container.HT);
!    end Clear;
  
+    --------------
+    -- Contains --
+    --------------
  
!    function Contains (Container : Set; Item : Element_Type) return Boolean is
     begin
!       return Find (Container, Item) /= No_Element;
!    end Contains;
  
+    ---------------
+    -- Copy_Node --
+    ---------------
  
!    function Copy_Node (Source : Node_Access) return Node_Access is
     begin
!       return new Node_Type'(Element => Source.Element, Next => null);
!    end Copy_Node;
  
+    ------------
+    -- Delete --
+    ------------
  
!    procedure Delete
!      (Container : in out Set;
!       Item      : Element_Type)
!    is
!       X : Node_Access;
  
!    begin
!       Element_Keys.Delete_Key_Sans_Free (Container.HT, Item, X);
  
!       if X = null then
!          raise Constraint_Error;
!       end if;
  
!       Free (X);
!    end Delete;
  
!    procedure Delete
!      (Container : in out Set;
!       Position  : in out Cursor)
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Delete");
  
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
  
!       if Container.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       HT_Ops.Delete_Node_Sans_Free (Container.HT, Position.Node);
  
!       Free (Position.Node);
!       Position.Container := null;
!    end Delete;
  
!    ----------------
!    -- Difference --
!    ----------------
  
!    procedure Difference
!      (Target : in out Set;
!       Source : Set)
!    is
!       Tgt_Node : Node_Access;
  
!    begin
!       if Target'Address = Source'Address then
!          Clear (Target);
!          return;
!       end if;
  
!       if Source.Length = 0 then
!          return;
!       end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       --  TODO: This can be written in terms of a loop instead as
!       --  active-iterator style, sort of like a passive iterator.
  
+       Tgt_Node := HT_Ops.First (Target.HT);
+       while Tgt_Node /= null loop
+          if Is_In (Source.HT, Tgt_Node) then
+             declare
+                X : Node_Access := Tgt_Node;
+             begin
+                Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
+                HT_Ops.Delete_Node_Sans_Free (Target.HT, X);
+                Free (X);
+             end;
  
!          else
!             Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
!          end if;
!       end loop;
!    end Difference;
  
!    function Difference (Left, Right : Set) return Set is
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
!    begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
  
!       if Left.Length = 0 then
!          return Empty_Set;
!       end if;
  
!       if Right.Length = 0 then
!          return Left;
!       end if;
  
+       declare
+          Size : constant Hash_Type := Prime_Numbers.To_Prime (Left.Length);
+       begin
+          Buckets := new Buckets_Type (0 .. Size - 1);
+       end;
  
!       Length := 0;
  
+       Iterate_Left : declare
+          procedure Process (L_Node : Node_Access);
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
  
!          -------------
!          -- Process --
!          -------------
  
!          procedure Process (L_Node : Node_Access) is
!          begin
!             if not Is_In (Right.HT, L_Node) then
!                declare
!                   J : constant Hash_Type :=
!                         Hash (L_Node.Element) mod Buckets'Length;
  
!                   Bucket : Node_Access renames Buckets (J);
  
!                begin
!                   Bucket := new Node_Type'(L_Node.Element, Bucket);
!                end;
  
!                Length := Length + 1;
!             end if;
!          end Process;
  
!       --  Start of processing for Iterate_Left
  
+       begin
+          Iterate (Left.HT);
+       exception
+          when others =>
+             HT_Ops.Free_Hash_Table (Buckets);
+             raise;
+       end Iterate_Left;
  
!       return (Controlled with HT => (Buckets, Length, 0, 0));
!    end Difference;
  
!    -------------
!    -- Element --
!    -------------
  
+    function Element (Position : Cursor) return Element_Type is
     begin
+       pragma Assert (Vet (Position), "bad cursor in function Element");
  
!       if Position.Node = null then
           raise Constraint_Error;
        end if;
  
!       return Position.Node.Element;
!    end Element;
  
+    ---------------------
+    -- Equivalent_Sets --
+    ---------------------
  
!    function Equivalent_Sets (Left, Right : Set) return Boolean is
!    begin
!       return Is_Equivalent (Left.HT, Right.HT);
!    end Equivalent_Sets;
  
!    -------------------------
!    -- Equivalent_Elements --
!    -------------------------
  
+    function Equivalent_Elements (Left, Right : Cursor)
+      return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
  
!       if Left.Node = null
!         or else Right.Node = null
!       then
           raise Constraint_Error;
        end if;
  
!       return Equivalent_Elements (Left.Node.Element, Right.Node.Element);
!    end Equivalent_Elements;
  
+    function Equivalent_Elements (Left : Cursor; Right : Element_Type)
+      return Boolean is
     begin
+       pragma Assert (Vet (Left), "bad Left cursor in Equivalent_Keys");
  
!       if Left.Node = null then
!          raise Constraint_Error;
        end if;
  
!       return Equivalent_Elements (Left.Node.Element, Right);
!    end Equivalent_Elements;
  
+    function Equivalent_Elements (Left : Element_Type; Right : Cursor)
+      return Boolean is
     begin
+       pragma Assert (Vet (Right), "bad Right cursor in Equivalent_Keys");
  
!       if Right.Node = null then
           raise Constraint_Error;
        end if;
  
!       return Equivalent_Elements (Left, Right.Node.Element);
!    end Equivalent_Elements;
  
!    ---------------------
!    -- Equivalent_Keys --
!    ---------------------
  
+    function Equivalent_Keys (Key : Element_Type; Node : Node_Access)
+      return Boolean is
+    begin
+       return Equivalent_Elements (Key, Node.Element);
+    end Equivalent_Keys;
  
!    -------------
!    -- Exclude --
!    -------------
  
+    procedure Exclude
+      (Container : in out Set;
+       Item      : Element_Type)
+    is
        X : Node_Access;
     begin
!       Element_Keys.Delete_Key_Sans_Free (Container.HT, Item, X);
        Free (X);
     end Exclude;
  
+    --------------
+    -- Finalize --
+    --------------
  
!    procedure Finalize (Container : in out Set) is
     begin
+       HT_Ops.Finalize (Container.HT);
+    end Finalize;
  
!    ----------
!    -- Find --
!    ----------
  
!    function Find
!      (Container : Set;
!       Item      : Element_Type) return Cursor
!    is
!       Node : constant Node_Access := Element_Keys.Find (Container.HT, Item);
  
!    begin
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
!    end Find;
  
!    --------------------
!    -- Find_Equal_Key --
!    --------------------
  
+    function Find_Equal_Key
+      (R_HT   : Hash_Table_Type;
+       L_Node : Node_Access) return Boolean
+    is
+       R_Index : constant Hash_Type :=
+                   Element_Keys.Index (R_HT, L_Node.Element);
  
+       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
!    begin
!       loop
!          if R_Node = null then
!             return False;
!          end if;
  
!          if L_Node.Element = R_Node.Element then
!             return True;
!          end if;
  
!          R_Node := Next (R_Node);
!       end loop;
!    end Find_Equal_Key;
  
!    -------------------------
!    -- Find_Equivalent_Key --
!    -------------------------
  
!    function Find_Equivalent_Key
!      (R_HT   : Hash_Table_Type;
!       L_Node : Node_Access) return Boolean
!    is
!       R_Index : constant Hash_Type :=
!                   Element_Keys.Index (R_HT, L_Node.Element);
  
!       R_Node  : Node_Access := R_HT.Buckets (R_Index);
  
!    begin
!       loop
!          if R_Node = null then
!             return False;
!          end if;
  
!          if Equivalent_Elements (L_Node.Element, R_Node.Element) then
!             return True;
!          end if;
  
!          R_Node := Next (R_Node);
!       end loop;
!    end Find_Equivalent_Key;
  
!    -----------
!    -- First --
!    -----------
  
!    function First (Container : Set) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container.HT);
  
     begin
!       if Node = null then
!          return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
!    end First;
  
!    ----------
!    -- Free --
!    ----------
  
!    procedure Free (X : in out Node_Access) is
!       procedure Deallocate is
!          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     begin
!       if X /= null then
!          X.Next := X;     --  detect mischief (in Vet)
!          Deallocate (X);
        end if;
+    end Free;
  
!    -----------------
!    -- Has_Element --
!    -----------------
  
!    function Has_Element (Position : Cursor) return Boolean is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Has_Element");
!       return Position.Node /= null;
!    end Has_Element;
  
!    ---------------
!    -- Hash_Node --
!    ---------------
  
!    function Hash_Node (Node : Node_Access) return Hash_Type is
!    begin
!       return Hash (Node.Element);
!    end Hash_Node;
  
!    -------------
!    -- Include --
!    -------------
  
!    procedure Include
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Position : Cursor;
!       Inserted : Boolean;
  
!    begin
!       Insert (Container, New_Item, Position, Inserted);
  
!       if not Inserted then
!          if Container.HT.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          Position.Node.Element := New_Item;
!       end if;
!    end Include;
  
!    ------------
!    -- Insert --
!    ------------
  
!    procedure Insert
!      (Container : in out Set;
!       New_Item  : Element_Type;
!       Position  : out Cursor;
!       Inserted  : out Boolean)
!    is
!    begin
!       Insert (Container.HT, New_Item, Position.Node, Inserted);
!       Position.Container := Container'Unchecked_Access;
!    end Insert;
  
!    procedure Insert
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Position : Cursor;
!       Inserted : Boolean;
  
!    begin
!       Insert (Container, New_Item, Position, Inserted);
  
!       if not Inserted then
!          raise Constraint_Error;
!       end if;
!    end Insert;
  
!    procedure Insert
!      (HT       : in out Hash_Table_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean)
!    is
!       function New_Node (Next : Node_Access) return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Insert is
!         new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node (Next : Node_Access) return Node_Access is
        begin
!          return new Node_Type'(New_Item, Next);
!       end New_Node;
  
!    --  Start of processing for Insert
  
     begin
!       if HT_Ops.Capacity (HT) = 0 then
!          HT_Ops.Reserve_Capacity (HT, 1);
!       end if;
  
+       Local_Insert (HT, New_Item, Node, Inserted);
  
!       if Inserted
!         and then HT.Length > HT_Ops.Capacity (HT)
!       then
!          HT_Ops.Reserve_Capacity (HT, HT.Length);
!       end if;
!    end Insert;
  
+    ------------------
+    -- Intersection --
+    ------------------
+ 
+    procedure Intersection
+      (Target : in out Set;
+       Source : Set)
+    is
        Tgt_Node : Node_Access;
  
     begin
        if Target'Address = Source'Address then
           return;
        end if;
*************** package body Ada.Containers.Hashed_Sets 
*** 594,599 ****
--- 678,687 ----
           return;
        end if;
  
+       if Target.HT.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        --  TODO: optimize this to use an explicit
        --  loop instead of an active iterator
        --  (similar to how a passive iterator is
*************** package body Ada.Containers.Hashed_Sets 
*** 603,640 ****
        --  set is smaller, and iterate over the
        --  smaller set.
  
!       Tgt_Node := HT_Ops.First (Target);
! 
        while Tgt_Node /= null loop
! 
!          if Is_In (Source, Tgt_Node) then
! 
!             Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
  
           else
- 
              declare
                 X : Node_Access := Tgt_Node;
              begin
!                Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target, X);
                 Free (X);
              end;
- 
           end if;
- 
        end loop;
- 
     end Intersection;
  
- 
     function Intersection (Left, Right : Set) return Set is
- 
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
- 
        if Left'Address = Right'Address then
           return Left;
        end if;
--- 691,718 ----
        --  set is smaller, and iterate over the
        --  smaller set.
  
!       Tgt_Node := HT_Ops.First (Target.HT);
        while Tgt_Node /= null loop
!          if Is_In (Source.HT, Tgt_Node) then
!             Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
  
           else
              declare
                 X : Node_Access := Tgt_Node;
              begin
!                Tgt_Node := HT_Ops.Next (Target.HT, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target.HT, X);
                 Free (X);
              end;
           end if;
        end loop;
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
        if Left'Address = Right'Address then
           return Left;
        end if;
*************** package body Ada.Containers.Hashed_Sets 
*** 653,868 ****
  
        Length := 0;
  
!       declare
           procedure Process (L_Node : Node_Access);
  
           procedure Process (L_Node : Node_Access) is
           begin
!             if Is_In (Right, L_Node) then
! 
                 declare
!                   I : constant Hash_Type :=
!                     Hash (L_Node.Element) mod Buckets'Length;
                 begin
!                   Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
                 end;
  
                 Length := Length + 1;
- 
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
  
     end Intersection;
  
  
!    procedure Difference (Target : in out Set;
!                          Source : in     Set) is
! 
  
!       Tgt_Node : Node_Access;
  
     begin
  
!       if Target'Address = Source'Address then
!          Clear (Target);
!          return;
        end if;
  
!       if Source.Length = 0 then
!          return;
        end if;
  
!       --  TODO: As I noted above, this can be
!       --  written in terms of a loop instead as
!       --  active-iterator style, sort of like a
!       --  passive iterator.
  
!       Tgt_Node := HT_Ops.First (Target);
  
!       while Tgt_Node /= null loop
  
!          if Is_In (Source, Tgt_Node) then
  
!             declare
!                X : Node_Access := Tgt_Node;
!             begin
!                Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
!                HT_Ops.Delete_Node_Sans_Free (Target, X);
!                Free (X);
!             end;
  
!          else
  
!             Tgt_Node := HT_Ops.Next (Target, Tgt_Node);
  
!          end if;
  
!       end loop;
  
!    end Difference;
  
  
  
!    function Difference (Left, Right : Set) return Set is
  
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
     begin
  
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
  
!       if Left.Length = 0 then
!          return Empty_Set;
        end if;
  
        if Right.Length = 0 then
!          return Left;
        end if;
  
        declare
!          Size : constant Hash_Type := Prime_Numbers.To_Prime (Left.Length);
        begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
!       Length := 0;
  
!       declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right, L_Node) then
  
!                declare
!                   I : constant Hash_Type :=
!                     Hash (L_Node.Element) mod Buckets'Length;
!                begin
!                   Buckets (I) := new Node_Type'(L_Node.Element, Buckets (I));
!                end;
  
!                Length := Length + 1;
  
!             end if;
!          end Process;
  
-          procedure Iterate is
-             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end;
  
!       return (Controlled with Buckets, Length);
  
!    end Difference;
  
  
  
!    procedure Symmetric_Difference (Target : in out Set;
!                                    Source : in     Set) is
     begin
  
        if Target'Address = Source'Address then
           Clear (Target);
           return;
        end if;
  
!       HT_Ops.Ensure_Capacity (Target, Target.Length + Source.Length);
  
!       if Target.Length = 0 then
  
!          declare
              procedure Process (Src_Node : Node_Access);
  
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element;
!                B : Buckets_Type renames Target.Buckets.all;
!                I : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.Length;
              begin
!                B (I) := new Node_Type'(E, B (I));
                 N := N + 1;
              end Process;
  
!             procedure Iterate is
!                new HT_Ops.Generic_Iteration (Process);
           begin
!             Iterate (Source);
!          end;
  
        else
! 
!          declare
              procedure Process (Src_Node : Node_Access);
  
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element;
!                B : Buckets_Type renames Target.Buckets.all;
!                I : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.Length;
!             begin
!                if B (I) = null then
  
!                   B (I) := new Node_Type'(E, null);
                    N := N + 1;
  
!                elsif Equivalent_Keys (E, B (I).Element) then
! 
                    declare
!                      X : Node_Access := B (I);
                    begin
!                      B (I) := B (I).Next;
                       N := N - 1;
                       Free (X);
                    end;
  
                 else
- 
                    declare
!                      Prev : Node_Access := B (I);
                       Curr : Node_Access := Prev.Next;
                    begin
                       while Curr /= null loop
!                         if Equivalent_Keys (E, Curr.Element) then
                             Prev.Next := Curr.Next;
                             N := N - 1;
                             Free (Curr);
--- 731,1270 ----
  
        Length := 0;
  
!       Iterate_Left : declare
           procedure Process (L_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (L_Node : Node_Access) is
           begin
!             if Is_In (Right.HT, L_Node) then
                 declare
!                   J : constant Hash_Type :=
!                         Hash (L_Node.Element) mod Buckets'Length;
! 
!                   Bucket : Node_Access renames Buckets (J);
! 
                 begin
!                   Bucket := new Node_Type'(L_Node.Element, Bucket);
                 end;
  
                 Length := Length + 1;
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Left
! 
        begin
!          Iterate (Left.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Left;
  
+       return (Controlled with HT => (Buckets, Length, 0, 0));
     end Intersection;
  
+    --------------
+    -- Is_Empty --
+    --------------
  
!    function Is_Empty (Container : Set) return Boolean is
!    begin
!       return Container.HT.Length = 0;
!    end Is_Empty;
  
!    -----------
!    -- Is_In --
!    -----------
  
+    function Is_In (HT : Hash_Table_Type; Key : Node_Access) return Boolean is
     begin
+       return Element_Keys.Find (HT, Key.Element) /= null;
+    end Is_In;
  
!    ---------------
!    -- Is_Subset --
!    ---------------
! 
!    function Is_Subset (Subset : Set; Of_Set : Set) return Boolean is
!       Subset_Node : Node_Access;
! 
!    begin
!       if Subset'Address = Of_Set'Address then
!          return True;
        end if;
  
!       if Subset.Length > Of_Set.Length then
!          return False;
        end if;
  
!       --  TODO: rewrite this to loop in the
!       --  style of a passive iterator.
  
!       Subset_Node := HT_Ops.First (Subset.HT);
!       while Subset_Node /= null loop
!          if not Is_In (Of_Set.HT, Subset_Node) then
!             return False;
!          end if;
!          Subset_Node := HT_Ops.Next (Subset.HT, Subset_Node);
!       end loop;
  
!       return True;
!    end Is_Subset;
  
!    -------------
!    -- Iterate --
!    -------------
  
!    procedure Iterate
!      (Container : Set;
!       Process   : not null access procedure (Position : Cursor))
!    is
!       procedure Process_Node (Node : Node_Access);
!       pragma Inline (Process_Node);
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process_Node);
  
!       ------------------
!       -- Process_Node --
!       ------------------
  
!       procedure Process_Node (Node : Node_Access) is
!       begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
!       end Process_Node;
  
!    --  Start of processing for Iterate
  
!    begin
!       --  TODO: resolve whether HT_Ops.Generic_Iteration should
!       --  manipulate busy bit.
  
+       Iterate (Container.HT);
+    end Iterate;
  
+    ------------
+    -- Length --
+    ------------
  
!    function Length (Container : Set) return Count_Type is
!    begin
!       return Container.HT.Length;
!    end Length;
  
!    ----------
!    -- Move --
!    ----------
  
+    procedure Move (Target : in out Set; Source : in out Set) is
     begin
+       HT_Ops.Move (Target => Target.HT, Source => Source.HT);
+    end Move;
  
!    ----------
!    -- Next --
!    ----------
  
!    function Next (Node : Node_Access) return Node_Access is
!    begin
!       return Node.Next;
!    end Next;
! 
!    function Next (Position : Cursor) return Cursor is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in function Next");
! 
!       if Position.Node = null then
!          return No_Element;
        end if;
  
+       declare
+          HT   : Hash_Table_Type renames Position.Container.HT;
+          Node : constant Node_Access := HT_Ops.Next (HT, Position.Node);
+ 
+       begin
+          if Node = null then
+             return No_Element;
+          end if;
+ 
+          return Cursor'(Position.Container, Node);
+       end;
+    end Next;
+ 
+    procedure Next (Position : in out Cursor) is
+    begin
+       Position := Next (Position);
+    end Next;
+ 
+    -------------
+    -- Overlap --
+    -------------
+ 
+    function Overlap (Left, Right : Set) return Boolean is
+       Left_Node : Node_Access;
+ 
+    begin
        if Right.Length = 0 then
!          return False;
!       end if;
! 
!       if Left'Address = Right'Address then
!          return True;
!       end if;
! 
!       Left_Node := HT_Ops.First (Left.HT);
!       while Left_Node /= null loop
!          if Is_In (Right.HT, Left_Node) then
!             return True;
!          end if;
!          Left_Node := HT_Ops.Next (Left.HT, Left_Node);
!       end loop;
! 
!       return False;
!    end Overlap;
! 
!    -------------------
!    -- Query_Element --
!    -------------------
! 
!    procedure Query_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Query_Element");
! 
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
        declare
!          HT : Hash_Table_Type renames Position.Container.HT;
! 
!          B : Natural renames HT.Busy;
!          L : Natural renames HT.Lock;
! 
        begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
        end;
+    end Query_Element;
  
!    ----------
!    -- Read --
!    ----------
  
!    procedure Read
!      (Stream    : access Root_Stream_Type'Class;
!       Container :    out Set)
!    is
!    begin
!       Read_Nodes (Stream, Container.HT);
!    end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
! 
!    ---------------
!    -- Read_Node --
!    ---------------
! 
!    function Read_Node (Stream : access Root_Stream_Type'Class)
!      return Node_Access
!    is
!       Node : Node_Access := new Node_Type;
! 
!    begin
!       Element_Type'Read (Stream, Node.Element);
!       return Node;
!    exception
!       when others =>
!          Free (Node);
!          raise;
!    end Read_Node;
! 
!    -------------
!    -- Replace --
!    -------------
! 
!    procedure Replace
!      (Container : in out Set;
!       New_Item  : Element_Type)
!    is
!       Node : constant Node_Access :=
!                Element_Keys.Find (Container.HT, New_Item);
! 
!    begin
!       if Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Container.HT.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       Node.Element := New_Item;
!    end Replace;
! 
!    ---------------------
!    -- Replace_Element --
!    ---------------------
! 
!    procedure Replace_Element
!      (HT       : in out Hash_Table_Type;
!       Node     : Node_Access;
!       New_Item : Element_Type)
!    is
!    begin
!       if Equivalent_Elements (Node.Element, New_Item) then
!          pragma Assert (Hash (Node.Element) = Hash (New_Item));
! 
!          if HT.Lock > 0 then
!             raise Program_Error;
!          end if;
! 
!          Node.Element := New_Item;  --  Note that this assignment can fail
!          return;
!       end if;
! 
!       if HT.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       HT_Ops.Delete_Node_Sans_Free (HT, Node);
! 
!       Insert_New_Element : declare
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
! 
!          procedure Local_Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
! 
!          --------------
!          -- New_Node --
!          --------------
! 
!          function New_Node (Next : Node_Access) return Node_Access is
           begin
!             Node.Element := New_Item;  -- Note that this assignment can fail
!             Node.Next := Next;
!             return Node;
!          end New_Node;
  
!          Result   : Node_Access;
!          Inserted : Boolean;
  
!       --  Start of processing for Insert_New_Element
  
!       begin
!          Local_Insert
!            (HT       => HT,
!             Key      => New_Item,
!             Node     => Result,
!             Inserted => Inserted);
! 
!          if Inserted then
!             return;
!          end if;
!       exception
!          when others =>
!             null;   --  Assignment must have failed
!       end Insert_New_Element;
! 
!       Reinsert_Old_Element : declare
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
! 
!          procedure Local_Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
! 
!          --------------
!          -- New_Node --
!          --------------
! 
!          function New_Node (Next : Node_Access) return Node_Access is
!          begin
!             Node.Next := Next;
!             return Node;
!          end New_Node;
! 
!          Result   : Node_Access;
!          Inserted : Boolean;
! 
!       --  Start of processing for Reinsert_Old_Element
  
        begin
!          Local_Insert
!            (HT       => HT,
!             Key      => Node.Element,
!             Node     => Result,
!             Inserted => Inserted);
        exception
           when others =>
!             null;
!       end Reinsert_Old_Element;
  
!       raise Program_Error;
!    end Replace_Element;
  
!    procedure Replace_Element
!      (Container : in out Set;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
!    begin
!       pragma Assert (Vet (Position), "bad cursor in Replace_Element");
  
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
  
+       if Position.Container /= Container'Unrestricted_Access then
+          raise Program_Error;
+       end if;
  
!       Replace_Element (Container.HT, Position.Node, New_Item);
!    end Replace_Element;
! 
!    ----------------------
!    -- Reserve_Capacity --
!    ----------------------
! 
!    procedure Reserve_Capacity
!      (Container : in out Set;
!       Capacity  : Count_Type)
!    is
!    begin
!       HT_Ops.Reserve_Capacity (Container.HT, Capacity);
!    end Reserve_Capacity;
! 
!    --------------
!    -- Set_Next --
!    --------------
! 
!    procedure Set_Next (Node : Node_Access; Next : Node_Access) is
     begin
+       Node.Next := Next;
+    end Set_Next;
+ 
+    --------------------------
+    -- Symmetric_Difference --
+    --------------------------
  
+    procedure Symmetric_Difference
+      (Target : in out Set;
+       Source : Set)
+    is
+    begin
        if Target'Address = Source'Address then
           Clear (Target);
           return;
        end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       declare
!          N : constant Count_Type := Target.Length + Source.Length;
!       begin
!          if N > HT_Ops.Capacity (Target.HT) then
!             HT_Ops.Reserve_Capacity (Target.HT, N);
!          end if;
!       end;
  
!       if Target.Length = 0 then
!          Iterate_Source_When_Empty_Target : declare
              procedure Process (Src_Node : Node_Access);
  
+             procedure Iterate is
+                new HT_Ops.Generic_Iteration (Process);
+ 
+             -------------
+             -- Process --
+             -------------
+ 
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element;
!                B : Buckets_Type renames Target.HT.Buckets.all;
!                J : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.HT.Length;
! 
              begin
!                B (J) := new Node_Type'(E, B (J));
                 N := N + 1;
              end Process;
  
!          --  Start of processing for Iterate_Source_When_Empty_Target
! 
           begin
!             Iterate (Source.HT);
!          end Iterate_Source_When_Empty_Target;
  
        else
!          Iterate_Source : declare
              procedure Process (Src_Node : Node_Access);
  
+             procedure Iterate is
+                new HT_Ops.Generic_Iteration (Process);
+ 
+             -------------
+             -- Process --
+             -------------
+ 
              procedure Process (Src_Node : Node_Access) is
                 E : Element_Type renames Src_Node.Element;
!                B : Buckets_Type renames Target.HT.Buckets.all;
!                J : constant Hash_Type := Hash (E) mod B'Length;
!                N : Count_Type renames Target.HT.Length;
  
!             begin
!                if B (J) = null then
!                   B (J) := new Node_Type'(E, null);
                    N := N + 1;
  
!                elsif Equivalent_Elements (E, B (J).Element) then
                    declare
!                      X : Node_Access := B (J);
                    begin
!                      B (J) := B (J).Next;
                       N := N - 1;
                       Free (X);
                    end;
  
                 else
                    declare
!                      Prev : Node_Access := B (J);
                       Curr : Node_Access := Prev.Next;
+ 
                    begin
                       while Curr /= null loop
!                         if Equivalent_Elements (E, Curr.Element) then
                             Prev.Next := Curr.Next;
                             N := N - 1;
                             Free (Curr);
*************** package body Ada.Containers.Hashed_Sets 
*** 873,903 ****
                          Curr := Prev.Next;
                       end loop;
  
!                      B (I) := new Node_Type'(E, B (I));
                       N := N + 1;
                    end;
- 
                 end if;
              end Process;
  
!             procedure Iterate is
!                new HT_Ops.Generic_Iteration (Process);
!          begin
!             Iterate (Source);
!          end;
  
        end if;
- 
     end Symmetric_Difference;
  
- 
     function Symmetric_Difference (Left, Right : Set) return Set is
- 
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
- 
        if Left'Address = Right'Address then
           return Empty_Set;
        end if;
--- 1275,1299 ----
                          Curr := Prev.Next;
                       end loop;
  
!                      B (J) := new Node_Type'(E, B (J));
                       N := N + 1;
                    end;
                 end if;
              end Process;
  
!          --  Start of processing for Iterate_Source
  
+          begin
+             Iterate (Source.HT);
+          end Iterate_Source;
        end if;
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
        Buckets : HT_Types.Buckets_Access;
        Length  : Count_Type;
  
     begin
        if Left'Address = Right'Address then
           return Empty_Set;
        end if;
*************** package body Ada.Containers.Hashed_Sets 
*** 912,1417 ****
  
        declare
           Size : constant Hash_Type :=
!            Prime_Numbers.To_Prime (Left.Length + Right.Length);
        begin
           Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
        Length := 0;
  
!       declare
           procedure Process (L_Node : Node_Access);
  
           procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right, L_Node) then
                 declare
                    E : Element_Type renames L_Node.Element;
!                   I : constant Hash_Type := Hash (E) mod Buckets'Length;
                 begin
!                   Buckets (I) := new Node_Type'(E, Buckets (I));
                    Length := Length + 1;
                 end;
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Left);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
  
!       declare
           procedure Process (R_Node : Node_Access);
  
           procedure Process (R_Node : Node_Access) is
           begin
!             if not Is_In (Left, R_Node) then
                 declare
                    E : Element_Type renames R_Node.Element;
!                   I : constant Hash_Type := Hash (E) mod Buckets'Length;
                 begin
!                   Buckets (I) := new Node_Type'(E, Buckets (I));
                    Length := Length + 1;
                 end;
              end if;
           end Process;
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
        begin
!          Iterate (Right);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end;
! 
!       return (Controlled with Buckets, Length);
  
     end Symmetric_Difference;
  
  
!    function Is_Subset (Subset : Set;
!                        Of_Set : Set) return Boolean is
! 
!       Subset_Node : Node_Access;
  
     begin
  
!       if Subset'Address = Of_Set'Address then
!          return True;
!       end if;
  
!       if Subset.Length > Of_Set.Length then
!          return False;
!       end if;
  
!       --  TODO: rewrite this to loop in the
!       --  style of a passive iterator.
  
!       Subset_Node := HT_Ops.First (Subset);
  
!       while Subset_Node /= null loop
!          if not Is_In (Of_Set, Subset_Node) then
!             return False;
!          end if;
  
!          Subset_Node := HT_Ops.Next (Subset, Subset_Node);
!       end loop;
  
!       return True;
  
!    end Is_Subset;
  
  
!    function Overlap (Left, Right : Set) return Boolean is
  
!       Left_Node : Node_Access;
  
!    begin
  
!       if Right.Length = 0 then
!          return False;
        end if;
  
!       if Left'Address = Right'Address then
!          return True;
        end if;
  
!       Left_Node := HT_Ops.First (Left);
! 
!       while Left_Node /= null loop
!          if Is_In (Right, Left_Node) then
!             return True;
           end if;
  
!          Left_Node := HT_Ops.Next (Left, Left_Node);
!       end loop;
  
!       return False;
  
!    end Overlap;
  
  
!    function Find (Container : Set;
!                   Item      : Element_Type) return Cursor is
  
!       Node : constant Node_Access := Element_Keys.Find (Container, Item);
  
!    begin
  
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
  
!    end Find;
  
  
!    function Contains (Container : Set;
!                       Item      : Element_Type) return Boolean is
!    begin
!       return Find (Container, Item) /= No_Element;
!    end Contains;
  
  
  
!    function First (Container : Set) return Cursor is
!       Node : constant Node_Access := HT_Ops.First (Container);
!    begin
!       if Node = null then
!          return No_Element;
!       end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
!    end First;
  
  
! --     function First_Element (Container : Set) return Element_Type is
! --        Node : constant Node_Access := HT_Ops.First (Container);
! --     begin
! --        return Node.Element;
! --     end First_Element;
  
  
!    function Next (Position : Cursor) return Cursor is
!    begin
!       if Position.Container = null
!         or else Position.Node = null
!       then
!          return No_Element;
!       end if;
  
!       declare
!          S : Set renames Position.Container.all;
!          Node : constant Node_Access := HT_Ops.Next (S, Position.Node);
!       begin
!          if Node = null then
!             return No_Element;
!          end if;
  
!          return Cursor'(Position.Container, Node);
!       end;
!    end Next;
  
  
!    procedure Next (Position : in out Cursor) is
!    begin
!       Position := Next (Position);
!    end Next;
  
  
!    function Has_Element (Position : Cursor) return Boolean is
     begin
        if Position.Container = null then
           return False;
        end if;
  
!       if Position.Node = null then
           return False;
        end if;
  
!       return True;
!    end Has_Element;
! 
  
!    function Equivalent_Keys (Left, Right : Cursor)
!      return Boolean is
!    begin
!       return Equivalent_Keys (Left.Node.Element, Right.Node.Element);
!    end Equivalent_Keys;
  
  
!    function Equivalent_Keys (Left  : Cursor;
!                              Right : Element_Type)
!     return Boolean is
!    begin
!       return Equivalent_Keys (Left.Node.Element, Right);
!    end Equivalent_Keys;
  
  
!    function Equivalent_Keys (Left  : Element_Type;
!                              Right : Cursor)
!     return Boolean is
!    begin
!       return Equivalent_Keys (Left, Right.Node.Element);
!    end Equivalent_Keys;
  
  
!    procedure Iterate
!      (Container : in Set;
!       Process   : not null access procedure (Position : in Cursor)) is
  
!       procedure Process_Node (Node : in Node_Access);
!       pragma Inline (Process_Node);
  
!       procedure Process_Node (Node : in Node_Access) is
!       begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
!       end Process_Node;
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process_Node);
     begin
!       Iterate (Container);
!    end Iterate;
! 
! 
!    function Capacity (Container : Set) return Count_Type
!      renames HT_Ops.Capacity;
! 
!    procedure Reserve_Capacity
!      (Container : in out Set;
!       Capacity  : in     Count_Type)
!      renames HT_Ops.Ensure_Capacity;
! 
  
!    procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : in     Node_Access);
!    pragma Inline (Write_Node);
  
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : in     Node_Access) is
     begin
        Element_Type'Write (Stream, Node.Element);
     end Write_Node;
  
-    procedure Write_Nodes is
-       new HT_Ops.Generic_Write (Write_Node);
- 
-    procedure Write
-      (Stream    : access Root_Stream_Type'Class;
-       Container : in     Set) renames Write_Nodes;
- 
- 
-    function Read_Node (Stream : access Root_Stream_Type'Class)
-      return Node_Access;
-    pragma Inline (Read_Node);
- 
-    function Read_Node (Stream : access Root_Stream_Type'Class)
-      return Node_Access is
- 
-       Node : Node_Access := new Node_Type;
-    begin
-       Element_Type'Read (Stream, Node.Element);
-       return Node;
-    exception
-       when others =>
-          Free (Node);
-          raise;
-    end Read_Node;
- 
-    procedure Read_Nodes is
-       new HT_Ops.Generic_Read (Read_Node);
- 
-    procedure Read
-      (Stream    : access Root_Stream_Type'Class;
-       Container :    out Set) renames Read_Nodes;
- 
- 
     package body Generic_Keys is
  
!       function Equivalent_Keys (Left  : Cursor;
!                                 Right : Key_Type)
!         return Boolean is
!       begin
!          return Equivalent_Keys (Right, Left.Node.Element);
!       end Equivalent_Keys;
! 
!       function Equivalent_Keys (Left  : Key_Type;
!                                 Right : Cursor)
!         return Boolean is
!       begin
!          return Equivalent_Keys (Left, Right.Node.Element);
!       end Equivalent_Keys;
  
!       function Equivalent_Keys
          (Key  : Key_Type;
           Node : Node_Access) return Boolean;
!       pragma Inline (Equivalent_Keys);
  
!       function Equivalent_Keys
!         (Key  : Key_Type;
!          Node : Node_Access) return Boolean is
!       begin
!          return Equivalent_Keys (Key, Node.Element);
!       end Equivalent_Keys;
  
        package Key_Keys is
           new Hash_Tables.Generic_Keys
            (HT_Types  => HT_Types,
-            HT_Type   => Set,
-            Null_Node => null,
             Next      => Next,
             Set_Next  => Set_Next,
             Key_Type  => Key_Type,
             Hash      => Hash,
!            Equivalent_Keys => Equivalent_Keys);
! 
! 
!       function Find (Container : Set;
!                      Key       : Key_Type)
!          return Cursor is
  
!          Node : constant Node_Access :=
!            Key_Keys.Find (Container, Key);
  
        begin
  
!          if Node = null then
!             return No_Element;
!          end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
  
!       end Find;
  
  
!       function Contains (Container : Set;
!                          Key       : Key_Type) return Boolean is
!       begin
!          return Find (Container, Key) /= No_Element;
!       end Contains;
  
  
!       function Element (Container : Set;
!                         Key       : Key_Type)
!         return Element_Type is
  
-          Node : constant Node_Access := Key_Keys.Find (Container, Key);
        begin
           return Node.Element;
        end Element;
  
  
!       function Key (Position : Cursor) return Key_Type is
        begin
!          return Key (Position.Node.Element);
!       end Key;
! 
! 
! --  TODO:
! --        procedure Replace (Container : in out Set;
! --                           Key       : in     Key_Type;
! --                           New_Item  : in     Element_Type) is
! 
! --           Node : constant Node_Access :=
! --             Key_Keys.Find (Container, Key);
  
! --        begin
  
! --           if Node = null then
! --              raise Constraint_Error;
! --           end if;
  
! --           Replace_Element (Container, Node, New_Item);
  
! --        end Replace;
  
  
!       procedure Delete (Container : in out Set;
!                         Key       : in     Key_Type) is
  
!          X : Node_Access;
  
        begin
  
!          Key_Keys.Delete_Key_Sans_Free (Container, Key, X);
! 
!          if X = null then
              raise Constraint_Error;
           end if;
  
!          Free (X);
! 
!       end Delete;
! 
  
!       procedure Exclude (Container : in out Set;
!                          Key       : in     Key_Type) is
  
!          X : Node_Access;
  
        begin
  
!          Key_Keys.Delete_Key_Sans_Free (Container, Key, X);
!          Free (X);
! 
!       end Exclude;
  
  
!       procedure Checked_Update_Element
          (Container : in out Set;
!          Position  : in     Cursor;
           Process   : not null access
!            procedure (Element : in out Element_Type)) is
  
        begin
  
!          if Position.Container = null then
              raise Constraint_Error;
           end if;
  
!          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
              raise Program_Error;
           end if;
  
           declare
!             Old_Key : Key_Type renames Key (Position.Node.Element);
           begin
!             Process (Position.Node.Element);
  
!             if Equivalent_Keys (Old_Key, Position.Node.Element) then
                 return;
              end if;
           end;
  
!          declare
!             function New_Node (Next : Node_Access) return Node_Access;
!             pragma Inline (New_Node);
  
!             function New_Node (Next : Node_Access) return Node_Access is
!             begin
!                Position.Node.Next := Next;
!                return Position.Node;
!             end New_Node;
  
!             procedure Insert is
!                new Key_Keys.Generic_Conditional_Insert (New_Node);
  
!             Result  : Node_Access;
!             Success : Boolean;
!          begin
!             HT_Ops.Delete_Node_Sans_Free (Container, Position.Node);
  
!             Insert
!               (HT      => Container,
!                Key     => Key (Position.Node.Element),
!                Node    => Result,
!                Success => Success);
  
!             if not Success then
!                declare
!                   X : Node_Access := Position.Node;
!                begin
!                   Free (X);
!                end;
  
!                raise Program_Error;
!             end if;
  
!             pragma Assert (Result = Position.Node);
           end;
  
!       end Checked_Update_Element;
  
     end Generic_Keys;
  
--- 1308,1900 ----
  
        declare
           Size : constant Hash_Type :=
!                   Prime_Numbers.To_Prime (Left.Length + Right.Length);
        begin
           Buckets := new Buckets_Type (0 .. Size - 1);
        end;
  
        Length := 0;
  
!       Iterate_Left : declare
           procedure Process (L_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (L_Node : Node_Access) is
           begin
!             if not Is_In (Right.HT, L_Node) then
                 declare
                    E : Element_Type renames L_Node.Element;
!                   J : constant Hash_Type := Hash (E) mod Buckets'Length;
! 
                 begin
!                   Buckets (J) := new Node_Type'(E, Buckets (J));
                    Length := Length + 1;
                 end;
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Left
! 
        begin
!          Iterate (Left.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Left;
  
!       Iterate_Right : declare
           procedure Process (R_Node : Node_Access);
  
+          procedure Iterate is
+             new HT_Ops.Generic_Iteration (Process);
+ 
+          -------------
+          -- Process --
+          -------------
+ 
           procedure Process (R_Node : Node_Access) is
           begin
!             if not Is_In (Left.HT, R_Node) then
                 declare
                    E : Element_Type renames R_Node.Element;
!                   J : constant Hash_Type := Hash (E) mod Buckets'Length;
! 
                 begin
!                   Buckets (J) := new Node_Type'(E, Buckets (J));
                    Length := Length + 1;
                 end;
              end if;
           end Process;
  
!       --  Start of processing for Iterate_Right
! 
        begin
!          Iterate (Right.HT);
        exception
           when others =>
              HT_Ops.Free_Hash_Table (Buckets);
              raise;
!       end Iterate_Right;
  
+       return (Controlled with HT => (Buckets, Length, 0, 0));
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
  
!    function To_Set (New_Item : Element_Type) return Set is
!       HT       : Hash_Table_Type;
!       Node     : Node_Access;
!       Inserted : Boolean;
  
     begin
+       Insert (HT, New_Item, Node, Inserted);
+       return Set'(Controlled with HT);
+    end To_Set;
  
!    -----------
!    -- Union --
!    -----------
  
!    procedure Union
!      (Target : in out Set;
!       Source : Set)
!    is
!       procedure Process (Src_Node : Node_Access);
  
!       procedure Iterate is
!          new HT_Ops.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Src_Node : Node_Access) is
!          function New_Node (Next : Node_Access) return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (New_Node);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node (Next : Node_Access) return Node_Access is
!             Node : constant Node_Access :=
!                      new Node_Type'(Src_Node.Element, Next);
!          begin
!             return Node;
!          end New_Node;
  
+          Tgt_Node : Node_Access;
+          Success  : Boolean;
  
!       --  Start of processing for Process
  
!       begin
!          Insert (Target.HT, Src_Node.Element, Tgt_Node, Success);
!       end Process;
  
!    --  Start of processing for Union
  
!    begin
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       if Target.HT.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       declare
!          N : constant Count_Type := Target.Length + Source.Length;
!       begin
!          if N > HT_Ops.Capacity (Target.HT) then
!             HT_Ops.Reserve_Capacity (Target.HT, N);
           end if;
+       end;
  
!       Iterate (Source.HT);
!    end Union;
  
!    function Union (Left, Right : Set) return Set is
!       Buckets : HT_Types.Buckets_Access;
!       Length  : Count_Type;
  
!    begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
  
+       if Right.Length = 0 then
+          return Left;
+       end if;
  
!       if Left.Length = 0 then
!          return Right;
!       end if;
  
!       declare
!          Size : constant Hash_Type :=
!                   Prime_Numbers.To_Prime (Left.Length + Right.Length);
!       begin
!          Buckets := new Buckets_Type (0 .. Size - 1);
!       end;
  
!       Iterate_Left : declare
!          procedure Process (L_Node : Node_Access);
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
  
!          -------------
!          -- Process --
!          -------------
  
!          procedure Process (L_Node : Node_Access) is
!             J : constant Hash_Type :=
!                   Hash (L_Node.Element) mod Buckets'Length;
  
+          begin
+             Buckets (J) := new Node_Type'(L_Node.Element, Buckets (J));
+          end Process;
  
!       --  Start of processing for Iterate_Left
  
+       begin
+          Iterate (Left.HT);
+       exception
+          when others =>
+             HT_Ops.Free_Hash_Table (Buckets);
+             raise;
+       end Iterate_Left;
  
+       Length := Left.Length;
  
!       Iterate_Right : declare
!          procedure Process (Src_Node : Node_Access);
  
!          procedure Iterate is
!             new HT_Ops.Generic_Iteration (Process);
  
+          -------------
+          -- Process --
+          -------------
  
!          procedure Process (Src_Node : Node_Access) is
!             J : constant Hash_Type :=
!                   Hash (Src_Node.Element) mod Buckets'Length;
  
+             Tgt_Node : Node_Access := Buckets (J);
  
!          begin
!             while Tgt_Node /= null loop
!                if Equivalent_Elements (Src_Node.Element, Tgt_Node.Element) then
!                   return;
!                end if;
  
!                Tgt_Node := Next (Tgt_Node);
!             end loop;
  
!             Buckets (J) := new Node_Type'(Src_Node.Element, Buckets (J));
!             Length := Length + 1;
!          end Process;
  
+       --  Start of processing for Iterate_Right
  
!       begin
!          Iterate (Right.HT);
!       exception
!          when others =>
!             HT_Ops.Free_Hash_Table (Buckets);
!             raise;
!       end Iterate_Right;
  
+       return (Controlled with HT => (Buckets, Length, 0, 0));
+    end Union;
  
!    ---------
!    -- Vet --
!    ---------
! 
!    function Vet (Position : Cursor) return Boolean is
     begin
+       if Position.Node = null then
+          return Position.Container = null;
+       end if;
+ 
        if Position.Container = null then
           return False;
        end if;
  
!       if Position.Node.Next = Position.Node then
           return False;
        end if;
  
!       declare
!          HT : Hash_Table_Type renames Position.Container.HT;
!          X  : Node_Access;
  
!       begin
!          if HT.Length = 0 then
!             return False;
!          end if;
  
+          if HT.Buckets = null
+            or else HT.Buckets'Length = 0
+          then
+             return False;
+          end if;
  
!          X := HT.Buckets (Element_Keys.Index (HT, Position.Node.Element));
  
+          for J in 1 .. HT.Length loop
+             if X = Position.Node then
+                return True;
+             end if;
  
!             if X = null then
!                return False;
!             end if;
  
+             if X = X.Next then  --  to prevent unnecessary looping
+                return False;
+             end if;
  
!             X := X.Next;
!          end loop;
  
!          return False;
!       end;
!    end Vet;
  
!    -----------
!    -- Write --
!    -----------
  
!    procedure Write
!      (Stream    : access Root_Stream_Type'Class;
!       Container : Set)
!    is
     begin
!       Write_Nodes (Stream, Container.HT);
!    end Write;
  
!    procedure Write
       (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
! 
!    ----------------
!    -- Write_Node --
!    ----------------
  
     procedure Write_Node
       (Stream : access Root_Stream_Type'Class;
!       Node   : Node_Access)
!    is
     begin
        Element_Type'Write (Stream, Node.Element);
     end Write_Node;
  
     package body Generic_Keys is
  
!       -----------------------
!       -- Local Subprograms --
!       -----------------------
  
!       function Equivalent_Key_Node
          (Key  : Key_Type;
           Node : Node_Access) return Boolean;
!       pragma Inline (Equivalent_Key_Node);
  
!       --------------------------
!       -- Local Instantiations --
!       --------------------------
  
        package Key_Keys is
           new Hash_Tables.Generic_Keys
            (HT_Types  => HT_Types,
             Next      => Next,
             Set_Next  => Set_Next,
             Key_Type  => Key_Type,
             Hash      => Hash,
!            Equivalent_Keys => Equivalent_Key_Node);
  
!       --------------
!       -- Contains --
!       --------------
  
+       function Contains
+         (Container : Set;
+          Key       : Key_Type) return Boolean
+       is
        begin
+          return Find (Container, Key) /= No_Element;
+       end Contains;
  
!       ------------
!       -- Delete --
!       ------------
  
!       procedure Delete
!         (Container : in out Set;
!          Key       : Key_Type)
!       is
!          X : Node_Access;
  
!       begin
!          Key_Keys.Delete_Key_Sans_Free (Container.HT, Key, X);
  
+          if X = null then
+             raise Constraint_Error;
+          end if;
  
!          Free (X);
!       end Delete;
  
+       -------------
+       -- Element --
+       -------------
  
!       function Element
!         (Container : Set;
!          Key       : Key_Type) return Element_Type
!       is
!          Node : constant Node_Access := Key_Keys.Find (Container.HT, Key);
  
        begin
           return Node.Element;
        end Element;
  
+       -------------------------
+       -- Equivalent_Key_Node --
+       -------------------------
  
!       function Equivalent_Key_Node
!         (Key  : Key_Type;
!          Node : Node_Access) return Boolean
!       is
        begin
!          return Equivalent_Keys (Key, Generic_Keys.Key (Node.Element));
!       end Equivalent_Key_Node;
  
!       -------------
!       -- Exclude --
!       -------------
  
!       procedure Exclude
!         (Container : in out Set;
!          Key       : Key_Type)
!       is
!          X : Node_Access;
!       begin
!          Key_Keys.Delete_Key_Sans_Free (Container.HT, Key, X);
!          Free (X);
!       end Exclude;
  
!       ----------
!       -- Find --
!       ----------
  
!       function Find
!         (Container : Set;
!          Key       : Key_Type) return Cursor
!       is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.HT, Key);
  
+       begin
+          if Node = null then
+             return No_Element;
+          end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
!       end Find;
  
!       ---------
!       -- Key --
!       ---------
  
+       function Key (Position : Cursor) return Key_Type is
        begin
+          pragma Assert (Vet (Position), "bad cursor in function Key");
  
!          if Position.Node = null then
              raise Constraint_Error;
           end if;
  
!          return Key (Position.Node.Element);
!       end Key;
  
!       -------------
!       -- Replace --
!       -------------
  
!       procedure Replace
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type)
!       is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.HT, Key);
  
        begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
  
!          Replace_Element (Container.HT, Node, New_Item);
!       end Replace;
  
+       -----------------------------------
+       -- Update_Element_Preserving_Key --
+       -----------------------------------
  
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
!          Position  : Cursor;
           Process   : not null access
!                        procedure (Element : in out Element_Type))
!       is
!          HT   : Hash_Table_Type renames Container.HT;
!          Indx : Hash_Type;
  
        begin
+          pragma Assert
+            (Vet (Position),
+             "bad cursor in Update_Element_Preserving_Key");
  
!          if Position.Node = null then
              raise Constraint_Error;
           end if;
  
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          if HT.Buckets = null
!            or else HT.Buckets'Length = 0
!            or else HT.Length = 0
!            or else Position.Node.Next = Position.Node
!          then
              raise Program_Error;
           end if;
  
+          Indx := HT_Ops.Index (HT, Position.Node);
+ 
           declare
!             E : Element_Type renames Position.Node.Element;
!             K : constant Key_Type := Key (E);
! 
!             B : Natural renames HT.Busy;
!             L : Natural renames HT.Lock;
! 
           begin
!             B := B + 1;
!             L := L + 1;
  
!             begin
!                Process (E);
!             exception
!                when others =>
!                   L := L - 1;
!                   B := B - 1;
!                   raise;
!             end;
! 
!             L := L - 1;
!             B := B - 1;
! 
!             if Equivalent_Keys (K, Key (E)) then
!                pragma Assert (Hash (K) = Hash (E));
                 return;
              end if;
           end;
  
!          if HT.Buckets (Indx) = Position.Node then
!             HT.Buckets (Indx) := Position.Node.Next;
  
!          else
!             declare
!                Prev : Node_Access := HT.Buckets (Indx);
  
!             begin
!                while Prev.Next /= Position.Node loop
!                   Prev := Prev.Next;
  
!                   if Prev = null then
!                      raise Program_Error;
!                   end if;
!                end loop;
  
!                Prev.Next := Position.Node.Next;
!             end;
!          end if;
  
!          HT.Length := HT.Length - 1;
  
!          declare
!             X : Node_Access := Position.Node;
  
!          begin
!             Free (X);
           end;
  
!          raise Program_Error;
!       end Update_Element_Preserving_Key;
  
     end Generic_Keys;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cohase.ads gcc-4.1.0/gcc/ada/a-cohase.ads
*** gcc-4.0.2/gcc/ada/a-cohase.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cohase.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.CONTAINERS.HASHED_SETS                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . H A S H E D _ S E T S            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,55 ****
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
  
  generic
     type Element_Type is private;
  
     with function Hash (Element : Element_Type) return Hash_Type;
  
!    --  TODO: get a ruling from ARG in Atlanta re the name and
!    --  order of these declarations. ???
!    --
!    with function Equivalent_Keys (Left, Right : Element_Type) return Boolean;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Hashed_Sets is
! pragma Preelaborate (Hashed_Sets);
  
     type Set is tagged private;
  
--- 35,54 ----
  
  with Ada.Containers.Hash_Tables;
  with Ada.Streams;
+ with Ada.Finalization;
  
  generic
     type Element_Type is private;
  
     with function Hash (Element : Element_Type) return Hash_Type;
  
!    with function Equivalent_Elements (Left, Right : Element_Type)
!                                      return Boolean;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Hashed_Sets is
!    pragma Preelaborate;
  
     type Set is tagged private;
  
*************** pragma Preelaborate (Hashed_Sets);
*** 61,66 ****
--- 60,75 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
+    function Capacity (Container : Set) return Count_Type;
+ 
+    procedure Reserve_Capacity
+      (Container : in out Set;
+       Capacity  : Count_Type);
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** pragma Preelaborate (Hashed_Sets);
*** 69,84 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
-    --  TODO: resolve in atlanta
-    --   procedure Replace_Element
-    --     (Container : in out Set;
-    --      Position  : Cursor;
-    --      By        : Element_Type);
- 
     procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
--- 78,92 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
*************** pragma Preelaborate (Hashed_Sets);
*** 93,102 ****
  
     procedure Replace (Container : in out Set; New_Item : Element_Type);
  
-    procedure Delete  (Container : in out Set; Item     : Element_Type);
- 
     procedure Exclude (Container : in out Set; Item     : Element_Type);
  
     procedure Delete (Container : in out Set; Position  : in out Cursor);
  
     procedure Union (Target : in out Set; Source : Set);
--- 101,110 ----
  
     procedure Replace (Container : in out Set; New_Item : Element_Type);
  
     procedure Exclude (Container : in out Set; Item     : Element_Type);
  
+    procedure Delete  (Container : in out Set; Item     : Element_Type);
+ 
     procedure Delete (Container : in out Set; Position  : in out Cursor);
  
     procedure Union (Target : in out Set; Source : Set);
*************** pragma Preelaborate (Hashed_Sets);
*** 128,160 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
-    function Contains (Container : Set; Item : Element_Type) return Boolean;
- 
-    function Find
-      (Container : Set;
-       Item      : Element_Type) return Cursor;
- 
-    function Capacity (Container : Set) return Count_Type;
- 
-    procedure Reserve_Capacity
-      (Container : in out Set;
-       Capacity  : Count_Type);
- 
     function First (Container : Set) return Cursor;
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
!    function Equivalent_Keys (Left, Right : Cursor) return Boolean;
  
!    function Equivalent_Keys
       (Left  : Cursor;
        Right : Element_Type) return Boolean;
  
!    function Equivalent_Keys
       (Left  : Element_Type;
        Right : Cursor) return Boolean;
  
--- 136,162 ----
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
     function First (Container : Set) return Cursor;
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
+    function Find
+      (Container : Set;
+       Item      : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
!    function Equivalent_Elements (Left, Right : Cursor) return Boolean;
  
!    function Equivalent_Elements
       (Left  : Cursor;
        Right : Element_Type) return Boolean;
  
!    function Equivalent_Elements
       (Left  : Element_Type;
        Right : Cursor) return Boolean;
  
*************** pragma Preelaborate (Hashed_Sets);
*** 163,242 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
        with function Hash (Key : Key_Type) return Hash_Type;
  
!       with function Equivalent_Keys
!         (Key     : Key_Type;
!          Element : Element_Type) return Boolean;
  
     package Generic_Keys is
  
-       function Contains (Container : Set; Key : Key_Type) return Boolean;
- 
-       function Find (Container : Set; Key : Key_Type) return Cursor;
- 
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       --  TODO: resolve in atlanta
!       --      procedure Replace
!       --        (Container : in out Set;
!       --         Key       : Key_Type;
!       --         New_Item  : Element_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       --  TODO: resolve name in atlanta: ???
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
                         procedure (Element : in out Element_Type));
  
-       function Equivalent_Keys
-         (Left  : Cursor;
-          Right : Key_Type) return Boolean;
- 
-       function Equivalent_Keys
-         (Left  : Key_Type;
-          Right : Cursor) return Boolean;
- 
     end Generic_Keys;
  
  private
- 
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package HT_Types is
!      new Hash_Tables.Generic_Hash_Table_Types (Node_Access);
  
!    use HT_Types;
  
!    type Set is new Hash_Table_Type with null record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set);
  
!    type Set_Access is access constant Set;
     for Set_Access'Storage_Size use 0;
  
!    type Cursor is record
!       Container : Set_Access;
!       Node      : Node_Access;
!    end record;
  
!    No_Element : constant Cursor := (Container => null, Node => null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 165,253 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
        with function Hash (Key : Key_Type) return Hash_Type;
  
!       with function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
     package Generic_Keys is
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       procedure Replace          --  TODO: ask Randy why this wasn't removed
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type);
! 
!       procedure Exclude (Container : in out Set; Key : Key_Type);
  
        procedure Delete (Container : in out Set; Key : Key_Type);
  
!       function Find (Container : Set; Key : Key_Type) return Cursor;
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
                         procedure (Element : in out Element_Type));
  
     end Generic_Keys;
  
  private
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Node_Type is
!       limited record
!          Element : Element_Type;
!          Next    : Node_Access;
!       end record;
  
!    package HT_Types is new Hash_Tables.Generic_Hash_Table_Types
!      (Node_Type,
!       Node_Access);
  
!    type Set is new Ada.Finalization.Controlled with record
!       HT : HT_Types.Hash_Table_Type;
!    end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set);
  
!    use HT_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
     for Set_Access'Storage_Size use 0;
  
!    type Cursor is
!       record
!          Container : Set_Access;
!          Node      : Node_Access;
!       end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := (Container => null, Node => null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 250,255 ****
  
     for Set'Read use Read;
  
!    Empty_Set : constant Set := (Hash_Table_Type with null record);
  
  end Ada.Containers.Hashed_Sets;
--- 261,266 ----
  
     for Set'Read use Read;
  
!    Empty_Set : constant Set := (Controlled with HT => (null, 0, 0, 0));
  
  end Ada.Containers.Hashed_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cohata.ads gcc-4.1.0/gcc/ada/a-cohata.ads
*** gcc-4.0.2/gcc/ada/a-cohata.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-cohata.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,34 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.CONTAINERS.HASH_TABLES                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! -- This specification is adapted from the Ada Reference Manual for use with --
! -- GNAT.  In accordance with the copyright of that document, you can freely --
! -- copy and modify this specification,  provided that if you redistribute a --
! -- modified version,  any changes that you have made are clearly indicated. --
  --                                                                          --
  ------------------------------------------------------------------------------
  
- with Ada.Finalization;
- 
  package Ada.Containers.Hash_Tables is
! pragma Preelaborate;
  
     generic
!       type Node_Access is private;
  
     package Generic_Hash_Table_Types is
        type Buckets_Type is array (Hash_Type range <>) of Node_Access;
  
        type Buckets_Access is access Buckets_Type;
  
!       type Hash_Table_Type is new Ada.Finalization.Controlled with record
           Buckets : Buckets_Access;
           Length  : Count_Type := 0;
        end record;
     end Generic_Hash_Table_Types;
  
--- 2,56 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --            A D A . C O N T A I N E R S . H A S H _ T A B L E S           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
! --                                                                          --
! -- This specification is derived from the Ada Reference Manual for use with --
! -- GNAT. The copyright notice above, and the license provisions that follow --
! -- apply solely to the  contents of the part following the private keyword. --
! --                                                                          --
! -- GNAT is free software;  you can  redistribute it  and/or modify it under --
! -- terms of the  GNU General Public License as published  by the Free Soft- --
! -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
! -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
! -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
! -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
! -- for  more details.  You should have  received  a copy of the GNU General --
! -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
  package Ada.Containers.Hash_Tables is
!    pragma Preelaborate;
  
     generic
!       type Node_Type (<>) is limited private;
! 
!       type Node_Access is access Node_Type;
  
     package Generic_Hash_Table_Types is
        type Buckets_Type is array (Hash_Type range <>) of Node_Access;
  
        type Buckets_Access is access Buckets_Type;
  
!       type Hash_Table_Type is tagged record
           Buckets : Buckets_Access;
           Length  : Count_Type := 0;
+          Busy    : Natural := 0;
+          Lock    : Natural := 0;
        end record;
     end Generic_Hash_Table_Types;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coinve.adb gcc-4.1.0/gcc/ada/a-coinve.adb
*** gcc-4.0.2/gcc/ada/a-coinve.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coinve.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.INDEFINITE_VECTORS                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . C O N T A I N E R S . I N D E F I N I T E _ V E C T O R S     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;  use type System.Address;
*** 39,269 ****
  
  package body Ada.Containers.Indefinite_Vectors is
  
- 
     type Int is range System.Min_Int .. System.Max_Int;
  
     procedure Free is
!       new Ada.Unchecked_Deallocation (Elements_Type, Elements_Access);
  
     procedure Free is
!       new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
! 
! 
!    procedure Adjust (Container : in out Vector) is
!    begin
! 
!       if Container.Elements = null then
!          return;
!       end if;
  
!       if Container.Elements'Length = 0
!         or else Container.Last < Index_Type'First
!       then
!          Container.Elements := null;
!          return;
!       end if;
  
!       declare
!          E : Elements_Type renames Container.Elements.all;
!          L : constant Index_Type := Container.Last;
!       begin
  
!          Container.Elements := null;
!          Container.Last := Index_Type'Pred (Index_Type'First);
  
!          Container.Elements := new Elements_Type (Index_Type'First .. L);
  
!          for I in Container.Elements'Range loop
  
!             if E (I) /= null then
!                Container.Elements (I) := new Element_Type'(E (I).all);
!             end if;
  
!             Container.Last := I;
  
!          end loop;
  
!       end;
  
!    end Adjust;
  
  
!    procedure Finalize (Container : in out Vector) is
  
!       E : Elements_Access := Container.Elements;
!       L : constant Index_Type'Base := Container.Last;
  
!    begin
  
!       Container.Elements := null;
!       Container.Last := Index_Type'Pred (Index_Type'First);
  
!       for I in Index_Type'First .. L loop
!          Free (E (I));
!       end loop;
  
!       Free (E);
  
!    end Finalize;
  
  
!    procedure Write
!      (Stream    : access Root_Stream_Type'Class;
!       Container : in     Vector) is
  
!       N : constant Count_Type := Length (Container);
  
!    begin
  
!       Count_Type'Base'Write (Stream, N);
  
!       if N = 0 then
!          return;
!       end if;
  
!       declare
!          E : Elements_Type renames Container.Elements.all;
!       begin
!          for I in Index_Type'First .. Container.Last loop
  
!             --  There's another way to do this.  Instead a separate
!             --  Boolean for each element, you could write a Boolean
!             --  followed by a count of how many nulls or non-nulls
!             --  follow in the array.  Alternately you could use a
!             --  signed integer, and use the sign as the indicator
!             --  or null-ness.
  
!             if E (I) = null then
!                Boolean'Write (Stream, False);
!             else
!                Boolean'Write (Stream, True);
!                Element_Type'Output (Stream, E (I).all);
!             end if;
  
!          end loop;
        end;
  
!    end Write;
! 
! 
!    procedure Read
!      (Stream    : access Root_Stream_Type'Class;
!       Container :    out Vector) is
! 
!       Length : Count_Type'Base;
!       Last   : Index_Type'Base := Index_Type'Pred (Index_Type'First);
! 
!       B : Boolean;
  
     begin
  
!       Clear (Container);
  
!       Count_Type'Base'Read (Stream, Length);
  
!       if Length > Capacity (Container) then
!          Reserve_Capacity (Container, Capacity => Length);
        end if;
  
!       for I in Count_Type range 1 .. Length loop
! 
!          Last := Index_Type'Succ (Last);
! 
!          Boolean'Read (Stream, B);
  
!          if B then
!             Container.Elements (Last) :=
!               new Element_Type'(Element_Type'Input (Stream));
           end if;
  
!          Container.Last := Last;
! 
!       end loop;
! 
!    end Read;
! 
! 
!    function To_Vector (Length : Count_Type) return Vector is
!    begin
! 
!       if Length = 0 then
!          return Empty_Vector;
!       end if;
! 
!       declare
  
!          First : constant Int := Int (Index_Type'First);
  
!          Last_As_Int : constant Int'Base :=
!            First + Int (Length) - 1;
  
!          Last : constant Index_Type :=
!            Index_Type (Last_As_Int);
  
!          Elements : constant Elements_Access :=
!            new Elements_Type (Index_Type'First .. Last);
  
!       begin
  
!          return (Controlled with Elements, Last);
  
        end;
  
!    end To_Vector;
! 
  
  
!    function To_Vector
!      (New_Item : Element_Type;
!       Length   : Count_Type) return Vector is
  
!    begin
  
!       if Length = 0 then
!          return Empty_Vector;
        end if;
  
        declare
- 
-          First : constant Int := Int (Index_Type'First);
- 
           Last_As_Int : constant Int'Base :=
!            First + Int (Length) - 1;
  
!          Last : constant Index_Type :=
!            Index_Type (Last_As_Int);
  
!          Elements : Elements_Access :=
!            new Elements_Type (Index_Type'First .. Last);
  
!       begin
  
!          for I in Elements'Range loop
  
              begin
!                Elements (I) := new Element_Type'(New_Item);
              exception
                 when others =>
-                   for J in Index_Type'First .. Index_Type'Pred (I) loop
-                      Free (Elements (J));
-                   end loop;
- 
                    Free (Elements);
                    raise;
              end;
  
!          end loop;
  
!          return (Controlled with Elements, Last);
  
        end;
  
!    end To_Vector;
  
  
     function "=" (Left, Right : Vector) return Boolean is
     begin
- 
        if Left'Address = Right'Address then
           return True;
        end if;
--- 39,381 ----
  
  package body Ada.Containers.Indefinite_Vectors is
  
     type Int is range System.Min_Int .. System.Max_Int;
  
     procedure Free is
!      new Ada.Unchecked_Deallocation (Elements_Type, Elements_Access);
  
     procedure Free is
!      new Ada.Unchecked_Deallocation (Element_Type, Element_Access);
  
!    ---------
!    -- "&" --
!    ---------
  
!    function "&" (Left, Right : Vector) return Vector is
!       LN : constant Count_Type := Length (Left);
!       RN : constant Count_Type := Length (Right);
  
!    begin
!       if LN = 0 then
!          if RN = 0 then
!             return Empty_Vector;
!          end if;
  
!          declare
!             RE : Elements_Type renames
!                    Right.Elements (Index_Type'First .. Right.Last);
  
!             Elements : Elements_Access :=
!                          new Elements_Type (RE'Range);
  
!          begin
!             for I in Elements'Range loop
!                begin
!                   if RE (I) /= null then
!                      Elements (I) := new Element_Type'(RE (I).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             return (Controlled with Elements, Right.Last, 0, 0);
!          end;
  
!       end if;
  
!       if RN = 0 then
!          declare
!             LE : Elements_Type renames
!                    Left.Elements (Index_Type'First .. Left.Last);
  
+             Elements : Elements_Access :=
+                          new Elements_Type (LE'Range);
  
!          begin
!             for I in Elements'Range loop
!                begin
!                   if LE (I) /= null then
!                      Elements (I) := new Element_Type'(LE (I).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             return (Controlled with Elements, Left.Last, 0, 0);
!          end;
!       end if;
  
!       declare
!          Last_As_Int : constant Int'Base :=  -- TODO: handle overflow
!                          Int (Index_Type'First) + Int (LN) + Int (RN) - 1;
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             LE : Elements_Type renames
!                    Left.Elements (Index_Type'First .. Left.Last);
  
+             RE : Elements_Type renames
+                    Right.Elements (Index_Type'First .. Right.Last);
  
!             Elements : Elements_Access :=
!                          new Elements_Type (Index_Type'First .. Last);
  
!             I : Index_Type'Base := No_Index;
  
!          begin
!             for LI in LE'Range loop
!                I := I + 1;
  
!                begin
!                   if LE (LI) /= null then
!                      Elements (I) := new Element_Type'(LE (LI).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             for RI in RE'Range loop
!                I := I + 1;
  
!                begin
!                   if RE (RI) /= null then
!                      Elements (I) := new Element_Type'(RE (RI).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             return (Controlled with Elements, Last, 0, 0);
!          end;
        end;
+    end "&";
  
!    function "&" (Left : Vector; Right : Element_Type) return Vector is
!       LN : constant Count_Type := Length (Left);
  
     begin
+       if LN = 0 then
+          declare
+             subtype Elements_Subtype is
+               Elements_Type (Index_Type'First .. Index_Type'First);
  
!             Elements : Elements_Access := new Elements_Subtype;
  
!          begin
!             begin
!                Elements (Elements'First) := new Element_Type'(Right);
!             exception
!                when others =>
!                   Free (Elements);
!                   raise;
!             end;
  
!             return (Controlled with Elements, Index_Type'First, 0, 0);
!          end;
        end if;
  
!       declare
!          Last_As_Int : constant Int'Base :=
!                          Int (Index_Type'First) + Int (LN);
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
           end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             LE : Elements_Type renames
!                    Left.Elements (Index_Type'First .. Left.Last);
  
!             Elements : Elements_Access :=
!                         new Elements_Type (Index_Type'First .. Last);
  
!          begin
!             for I in LE'Range loop
!                begin
!                   if LE (I) /= null then
!                      Elements (I) := new Element_Type'(LE (I).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             begin
!                Elements (Elements'Last) := new Element_Type'(Right);
!             exception
!                when others =>
!                   for J in Index_Type'First .. Elements'Last - 1 loop
!                      Free (Elements (J));
!                   end loop;
  
!                   Free (Elements);
!                   raise;
!             end;
  
+             return (Controlled with Elements, Last, 0, 0);
+          end;
        end;
+    end "&";
  
!    function "&" (Left : Element_Type; Right : Vector) return Vector is
!       RN : constant Count_Type := Length (Right);
  
+    begin
+       if RN = 0 then
+          declare
+             subtype Elements_Subtype is
+               Elements_Type (Index_Type'First .. Index_Type'First);
  
!             Elements : Elements_Access := new Elements_Subtype;
  
!          begin
!             begin
!                Elements (Elements'First) := new Element_Type'(Left);
!             exception
!                when others =>
!                   Free (Elements);
!                   raise;
!             end;
  
!             return (Controlled with Elements, Index_Type'First, 0, 0);
!          end;
        end if;
  
        declare
           Last_As_Int : constant Int'Base :=
!                          Int (Index_Type'First) + Int (RN);
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             RE : Elements_Type renames
!                    Right.Elements (Index_Type'First .. Right.Last);
  
!             Elements : Elements_Access :=
!                          new Elements_Type (Index_Type'First .. Last);
  
+             I : Index_Type'Base := Index_Type'First;
+ 
+          begin
              begin
!                Elements (I) := new Element_Type'(Left);
              exception
                 when others =>
                    Free (Elements);
                    raise;
              end;
  
!             for RI in RE'Range loop
!                I := I + 1;
  
!                begin
!                   if RE (RI) /= null then
!                      Elements (I) := new Element_Type'(RE (RI).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. I - 1 loop
!                         Free (Elements (J));
!                      end loop;
  
+                      Free (Elements);
+                      raise;
+                end;
+             end loop;
+ 
+             return (Controlled with Elements, Last, 0, 0);
+          end;
        end;
+    end "&";
  
!    function "&" (Left, Right : Element_Type) return Vector is
!    begin
!       if Index_Type'First >= Index_Type'Last then
!          raise Constraint_Error;
!       end if;
! 
!       declare
!          Last : constant Index_Type := Index_Type'First + 1;
! 
!          subtype ET is Elements_Type (Index_Type'First .. Last);
! 
!          Elements : Elements_Access := new ET;
!       begin
!          begin
!             Elements (Elements'First) := new Element_Type'(Left);
!          exception
!             when others =>
!                Free (Elements);
!                raise;
!          end;
! 
!          begin
!             Elements (Elements'Last) := new Element_Type'(Right);
!          exception
!             when others =>
!                Free (Elements (Elements'First));
!                Free (Elements);
!                raise;
!          end;
! 
!          return (Controlled with Elements, Elements'Last, 0, 0);
!       end;
!    end "&";
  
+    ---------
+    -- "=" --
+    ---------
  
     function "=" (Left, Right : Vector) return Boolean is
     begin
        if Left'Address = Right'Address then
           return True;
        end if;
*************** package body Ada.Containers.Indefinite_V
*** 272,2171 ****
           return False;
        end if;
  
!       for I in Index_Type'First .. Left.Last loop
! 
!          --  NOTE:
!          --  I think it's a bounded error to read or otherwise manipulate
!          --  an "empty" element, which here means that it has the value
!          --  null.  If it's a bounded error then an exception might
!          --  propagate, or it might not.  We take advantage of that
!          --  permission here to allow empty elements to be compared.
!          --
!          --  Whether this is the right decision I'm not really sure.  If
!          --  you have a contrary argument then let me know.
!          --  END NOTE.
! 
!          if Left.Elements (I) = null then
! 
!             if Right.Elements (I) /= null then
                 return False;
              end if;
  
!          elsif Right.Elements (I) = null then
! 
              return False;
  
!          elsif Left.Elements (I).all /= Right.Elements (I).all then
! 
              return False;
- 
           end if;
- 
        end loop;
  
        return True;
- 
     end "=";
  
  
!    function Length (Container : Vector) return Count_Type is
! 
!       L : constant Int := Int (Container.Last);
!       F : constant Int := Int (Index_Type'First);
! 
!       N : constant Int'Base := L - F + 1;
!    begin
!       return Count_Type (N);
!    end Length;
! 
! 
!    function Is_Empty (Container : Vector) return Boolean is
!    begin
!       return Container.Last < Index_Type'First;
!    end Is_Empty;
! 
! 
!    procedure Set_Length
!      (Container : in out Vector;
!       Length    : in     Count_Type) is
! 
!       N : constant Count_Type := Indefinite_Vectors.Length (Container);
! 
     begin
! 
!       if Length = N then
!          return;
!       end if;
! 
!       if Length = 0 then
!          Clear (Container);
           return;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=
!            Int (Index_Type'First) + Int (Length) - 1;
  
-          Last : constant Index_Type :=
-            Index_Type (Last_As_Int);
        begin
  
!          if Length > N then
  
!             if Length > Capacity (Container) then
!                Reserve_Capacity (Container, Capacity => Length);
              end if;
  
!             Container.Last := Last;
! 
!             return;
! 
!          end if;
! 
!          for I in reverse Index_Type'Succ (Last) .. Container.Last loop
! 
!             declare
!                X : Element_Access := Container.Elements (I);
!             begin
!                Container.Elements (I) := null;
!                Container.Last := Index_Type'Pred (Container.Last);
!                Free (X);
!             end;
! 
           end loop;
- 
        end;
  
!    end Set_Length;
! 
  
!    procedure Clear (Container : in out Vector) is
     begin
  
!       for I in reverse Index_Type'First .. Container.Last loop
! 
!          declare
!             X : Element_Access := Container.Elements (I);
!          begin
!             Container.Elements (I) := null;
!             Container.Last := Index_Type'Pred (I);
!             Free (X);
!          end;
! 
!       end loop;
! 
!    end Clear;
  
  
!    procedure Append (Container : in out Vector;
!                      New_Item  : in     Element_Type;
!                      Count     : in     Count_Type := 1) is
     begin
        if Count = 0 then
           return;
        end if;
  
        Insert
          (Container,
!          Index_Type'Succ (Container.Last),
           New_Item,
           Count);
     end Append;
  
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : in     Extended_Index;
!       New_Item  : in     Element_Type;
!       Count     : in     Count_Type := 1) is
! 
!       Old_Last_As_Int : constant Int := Int (Container.Last);
! 
!       N : constant Int := Int (Count);
! 
!       New_Last_As_Int : constant Int'Base := Old_Last_As_Int + N;
! 
!       New_Last : constant Extended_Index := Extended_Index (New_Last_As_Int);
! 
!       Index : Index_Type;
! 
!       Dst_Last : Index_Type;
!       Dst      : Elements_Access;
! 
     begin
! 
!       if Count = 0 then
!          return;
        end if;
  
!       declare
!          subtype Before_Subtype is Index_Type'Base range
!            Index_Type'First .. Index_Type'Succ (Container.Last);
! 
!          Old_First : constant Before_Subtype := Before;
! 
!          Old_First_As_Int : constant Int := Int (Old_First);
  
!          New_First_As_Int : constant Int'Base := Old_First_As_Int + N;
!       begin
!          Index := Index_Type (New_First_As_Int);
!       end;
  
!       if Container.Elements = null then
  
           declare
!             subtype Elements_Subtype is
!               Elements_Type (Index_Type'First .. New_Last);
           begin
!             Container.Elements := new Elements_Subtype;
!             Container.Last := Index_Type'Pred (Index_Type'First);
! 
!             for I in Container.Elements'Range loop
!                Container.Elements (I) := new Element_Type'(New_Item);
!                Container.Last := I;
!             end loop;
           end;
  
!          return;
! 
!       end if;
! 
!       if New_Last <= Container.Elements'Last then
! 
!          declare
!             E : Elements_Type renames Container.Elements.all;
!          begin
!             E (Index .. New_Last) := E (Before .. Container.Last);
!             Container.Last := New_Last;
  
!             --  NOTE:
!             --  Now we do the allocation.  If it fails, we can propagate the
!             --  exception and invariants are more or less satisfied.  The
!             --  issue is that we have some slots still null, and the client
!             --  has no way of detecting whether the slot is null (unless we
!             --  give him a way).
!             --
!             --  Another way is to allocate a subarray on the stack, do the
!             --  allocation into that array, and if that success then do
!             --  the insertion proper.  The issue there is that you have to
!             --  allocate the subarray on the stack, and that may fail if the
!             --  subarray is long.
!             --
!             --  Or we could try to roll-back the changes: deallocate the
!             --  elements we have successfully deallocated, and then copy
!             --  the elements ptrs back to their original posns.
!             --  END NOTE.
  
!             --  NOTE: I have written the loop manually here.  I could
!             --  have done it this way too:
!             --    E (Before .. Index_Type'Pred (Index)) :=
!             --      (others => new Element_Type'New_Item);
!             --  END NOTE.
  
!             for I in Before .. Index_Type'Pred (Index) loop
  
!                begin
!                   E (I) := new Element_Type'(New_Item);
!                exception
!                   when others =>
!                      E (I .. Index_Type'Pred (Index)) := (others => null);
!                      raise;
!                end;
  
!             end loop;
!          end;
  
           return;
  
        end if;
  
        declare
  
!          First : constant Int := Int (Index_Type'First);
! 
!          New_Size : constant Int'Base :=
!            New_Last_As_Int - First + 1;
! 
!          Max_Size : constant Int'Base :=
!            Int (Index_Type'Last) - First + 1;
  
!          Size, Dst_Last_As_Int : Int'Base;
  
        begin
  
!          if New_Size >= Max_Size / 2 then
! 
!             Dst_Last := Index_Type'Last;
  
           else
  
!             Size := Container.Elements'Length;
! 
!             if Size = 0 then
!                Size := 1;
!             end if;
! 
!             while Size < New_Size loop
!                Size := 2 * Size;
!             end loop;
  
!             Dst_Last_As_Int := First + Size - 1;
!             Dst_Last := Index_Type (Dst_Last_As_Int);
  
           end if;
- 
        end;
  
!       Dst := new Elements_Type (Index_Type'First .. Dst_Last);
! 
!       declare
!          Src : Elements_Type renames Container.Elements.all;
!       begin
!          Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
!            Src (Index_Type'First .. Index_Type'Pred (Before));
! 
!          Dst (Index .. New_Last) := Src (Before .. Container.Last);
!       end;
! 
!       declare
!          X : Elements_Access := Container.Elements;
!       begin
!          Container.Elements := Dst;
!          Container.Last := New_Last;
! 
!          Free (X);
!       end;
! 
!       --  NOTE:
!       --  Now do the allocation.  If the allocation fails,
!       --  then the worst thing is that we have a few null slots.
!       --  Our invariants are otherwise satisfied.
!       --  END NOTE.
! 
!       for I in Before .. Index_Type'Pred (Index) loop
!          Dst (I) := new Element_Type'(New_Item);
!       end loop;
! 
!    end Insert;
! 
! 
!    procedure Insert_Space
       (Container : in out Vector;
!       Before    : in     Extended_Index;
!       Count     : in     Count_Type := 1) is
! 
!       Old_Last_As_Int : constant Int := Int (Container.Last);
! 
!       N : constant Int := Int (Count);
  
!       New_Last_As_Int : constant Int'Base := Old_Last_As_Int + N;
  
!       New_Last : constant Extended_Index := Extended_Index (New_Last_As_Int);
  
!       Index : Index_Type;
  
!       Dst_Last : Index_Type;
!       Dst      : Elements_Access;
  
     begin
- 
        if Count = 0 then
           return;
        end if;
  
!       declare
!          subtype Before_Subtype is Index_Type'Base range
!            Index_Type'First .. Index_Type'Succ (Container.Last);
! 
!          Old_First : constant Before_Subtype := Before;
! 
!          Old_First_As_Int : constant Int := Int (Old_First);
! 
!          New_First_As_Int : constant Int'Base := Old_First_As_Int + N;
!       begin
!          Index := Index_Type (New_First_As_Int);
!       end;
! 
!       if Container.Elements = null then
! 
!          declare
!             subtype Elements_Subtype is
!               Elements_Type (Index_Type'First .. New_Last);
!          begin
!             Container.Elements := new Elements_Subtype;
!             Container.Last := New_Last;
!          end;
! 
           return;
- 
        end if;
  
!       if New_Last <= Container.Elements'Last then
  
!          declare
!             E : Elements_Type renames Container.Elements.all;
!          begin
!             E (Index .. New_Last) := E (Before .. Container.Last);
!             E (Before .. Index_Type'Pred (Index)) := (others => null);
  
!             Container.Last := New_Last;
!          end;
  
           return;
  
        end if;
  
        declare
! 
!          First : constant Int := Int (Index_Type'First);
! 
!          New_Size : constant Int'Base :=
!            Int (New_Last_As_Int) - First + 1;
! 
!          Max_Size : constant Int'Base :=
!            Int (Index_Type'Last) - First + 1;
! 
!          Size, Dst_Last_As_Int : Int'Base;
  
        begin
  
!          if New_Size >= Max_Size / 2 then
! 
!             Dst_Last := Index_Type'Last;
! 
!          else
! 
!             Size := Container.Elements'Length;
  
!             if Size = 0 then
!                Size := 1;
!             end if;
  
!             while Size < New_Size loop
!                Size := 2 * Size;
!             end loop;
  
!             Dst_Last_As_Int := First + Size - 1;
!             Dst_Last := Index_Type (Dst_Last_As_Int);
  
           end if;
  
        end;
  
!       Dst := new Elements_Type (Index_Type'First .. Dst_Last);
  
!       declare
!          Src : Elements_Type renames Container.Elements.all;
!       begin
!          Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
!            Src (Index_Type'First .. Index_Type'Pred (Before));
  
!          Dst (Index .. New_Last) := Src (Before .. Container.Last);
!       end;
  
        declare
           X : Elements_Access := Container.Elements;
        begin
!          Container.Elements := Dst;
!          Container.Last := New_Last;
! 
           Free (X);
        end;
  
!    end Insert_Space;
  
  
!    procedure Delete_First (Container : in out Vector;
!                            Count     : in     Count_Type := 1) is
     begin
  
!       if Count = 0 then
!          return;
!       end if;
  
!       if Count >= Length (Container) then
!          Clear (Container);
!          return;
!       end if;
  
!       Delete (Container, Index_Type'First, Count);
  
!    end Delete_First;
  
  
!    procedure Delete_Last (Container : in out Vector;
!                           Count     : in     Count_Type := 1) is
  
!       Index : Int'Base;
  
     begin
  
!       if Count = 0 then
!          return;
!       end if;
  
!       if Count >= Length (Container) then
!          Clear (Container);
!          return;
!       end if;
  
!       Index := Int'Base (Container.Last) - Int'Base (Count) + 1;
  
!       Delete (Container, Index_Type'Base (Index), Count);
  
!    end Delete_Last;
  
  
!    procedure Delete
!      (Container : in out Vector;
!       Index     : in     Extended_Index;  --  TODO: verify in Atlanta
!       Count     : in     Count_Type := 1) is
  
!    begin
  
!       if Count = 0 then
!          return;
!       end if;
  
!       declare
  
!          subtype I_Subtype is Index_Type'Base range
!            Index_Type'First .. Container.Last;
  
!          I : constant I_Subtype := Index;
!          I_As_Int : constant Int := Int (I);
  
!          Old_Last_As_Int : constant Int := Int (Container.Last);
  
!          Count1 : constant Int'Base := Int (Count);
!          Count2 : constant Int'Base := Old_Last_As_Int - I_As_Int + 1;
  
!          N : constant Int'Base := Int'Min (Count1, Count2);
  
!          J_As_Int : constant Int'Base := I_As_Int + N;
!          J : constant Index_Type'Base := Index_Type'Base (J_As_Int);
  
!          E : Elements_Type renames Container.Elements.all;
  
!          New_Last_As_Int : constant Int'Base := Old_Last_As_Int - N;
  
!          New_Last : constant Extended_Index :=
!            Extended_Index (New_Last_As_Int);
  
!       begin
  
!          for K in I .. Index_Type'Pred (J) loop
  
              begin
!                Free (E (K));
!             exception
!                when others =>
!                   E (K) := null;
!                   raise;
              end;
  
           end loop;
  
!          E (I .. New_Last) := E (J .. Container.Last);
!          Container.Last := New_Last;
! 
!       end;
  
!    end Delete;
  
  
!    function Capacity (Container : Vector) return Count_Type is
!    begin
!       if Container.Elements = null then
!          return 0;
!       end if;
  
!       return Container.Elements'Length;
!    end Capacity;
  
  
!    procedure Reserve_Capacity (Container : in out Vector;
!                                Capacity  : in     Count_Type) is
  
!       N : constant Count_Type := Length (Container);
  
     begin
  
!       if Capacity = 0 then
  
!          if N = 0 then
  
!             declare
!                X : Elements_Access := Container.Elements;
!             begin
!                Container.Elements := null;
!                Free (X);
!             end;
  
!          elsif N < Container.Elements'Length then
  
!             declare
!                subtype Array_Index_Subtype is Index_Type'Base range
!                  Index_Type'First .. Container.Last;
  
!                Src : Elements_Type renames
!                  Container.Elements (Array_Index_Subtype);
  
!                subtype Array_Subtype is
!                  Elements_Type (Array_Index_Subtype);
  
!                X : Elements_Access := Container.Elements;
!             begin
!                Container.Elements := new Array_Subtype'(Src);
!                Free (X);
!             end;
  
           end if;
  
!          return;
  
        end if;
  
        if Container.Elements = null then
  
!          declare
!             Last_As_Int : constant Int'Base :=
!               Int (Index_Type'First) + Int (Capacity) - 1;
! 
!             Last : constant Index_Type :=
!               Index_Type (Last_As_Int);
  
!             subtype Array_Subtype is
!               Elements_Type (Index_Type'First .. Last);
!          begin
!             Container.Elements := new Array_Subtype;
!          end;
  
           return;
- 
        end if;
  
!       if Capacity <= N then
! 
!          if N < Container.Elements'Length then
! 
!             declare
!                subtype Array_Index_Subtype is Index_Type'Base range
!                  Index_Type'First .. Container.Last;
! 
!                Src : Elements_Type renames
!                  Container.Elements (Array_Index_Subtype);
  
!                subtype Array_Subtype is
!                  Elements_Type (Array_Index_Subtype);
  
!                X : Elements_Access := Container.Elements;
!             begin
!                Container.Elements := new Array_Subtype'(Src);
!                Free (X);
!             end;
  
!          end if;
  
!          return;
  
!       end if;
  
-       if Capacity = Container.Elements'Length then
           return;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=
!            Int (Index_Type'First) + Int (Capacity) - 1;
  
!          Last : constant Index_Type :=
!            Index_Type (Last_As_Int);
  
!          subtype Array_Subtype is
!            Elements_Type (Index_Type'First .. Last);
  
!          X : Elements_Access := Container.Elements;
!       begin
!          Container.Elements := new Array_Subtype;
  
           declare
!             Src : Elements_Type renames
!               X (Index_Type'First .. Container.Last);
! 
!             Tgt : Elements_Type renames
!               Container.Elements (Index_Type'First .. Container.Last);
           begin
!             Tgt := Src;
           end;
  
!          Free (X);
        end;
  
!    end Reserve_Capacity;
  
  
!    function First_Index (Container : Vector) return Index_Type is
!       pragma Warnings (Off, Container);
!    begin
!       return Index_Type'First;
!    end First_Index;
  
  
!    function First_Element (Container : Vector) return Element_Type is
!    begin
!       return Element (Container, Index_Type'First);
!    end First_Element;
  
  
!    function Last_Index (Container : Vector) return Extended_Index is
!    begin
!       return Container.Last;
!    end Last_Index;
  
  
!    function Last_Element (Container : Vector) return Element_Type is
!    begin
!       return Element (Container, Container.Last);
!    end Last_Element;
  
  
!    function Element (Container : Vector;
!                      Index     : Index_Type)
!       return Element_Type is
  
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Container.Last;
     begin
!       return Container.Elements (T'(Index)).all;
!    end Element;
  
  
!    procedure Replace_Element (Container : in Vector;
!                               Index     : in Index_Type;
!                               By        : in Element_Type) is
  
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
  
!       X : Element_Access := Container.Elements (T'(Index));
!    begin
!       Container.Elements (T'(Index)) := new Element_Type'(By);
!       Free (X);
!    end Replace_Element;
  
  
!    procedure Generic_Sort (Container : in Vector) is
  
!       function Is_Less (L, R : Element_Access) return Boolean;
!       pragma Inline (Is_Less);
  
-       function Is_Less (L, R : Element_Access) return Boolean is
        begin
!          if L = null then
!             return R /= null;
!          elsif R = null then
!             return False;
!          else
!             return L.all < R.all;
!          end if;
!       end Is_Less;
! 
!       procedure Sort is
!          new Generic_Array_Sort
!           (Index_Type,
!            Element_Access,
!            Elements_Type,
!            "<" => Is_Less);
  
!    begin
  
!       if Container.Elements = null then
!          return;
!       end if;
  
!       Sort (Container.Elements (Index_Type'First .. Container.Last));
  
!    end Generic_Sort;
  
  
!    function Find_Index
!      (Container : Vector;
!       Item      : Element_Type;
!       Index     : Index_Type := Index_Type'First)
!      return Extended_Index is
  
!    begin
  
!       for I in Index .. Container.Last loop
!          if Container.Elements (I) /= null
!            and then Container.Elements (I).all = Item
!          then
!             return I;
           end if;
-       end loop;
  
!       return No_Index;
  
!    end Find_Index;
  
  
!    function Reverse_Find_Index
!      (Container : Vector;
!       Item      : Element_Type;
!       Index     : Index_Type := Index_Type'Last)
!      return Extended_Index is
  
!       Last : Index_Type'Base;
  
     begin
  
!       if Index > Container.Last then
!          Last := Container.Last;
!       else
!          Last := Index;
        end if;
  
!       for I in reverse Index_Type'First .. Last loop
!          if Container.Elements (I) /= null
!            and then Container.Elements (I).all = Item
!          then
!             return I;
           end if;
-       end loop;
- 
-       return No_Index;
- 
-    end Reverse_Find_Index;
- 
- 
-    function Contains (Container : Vector;
-                       Item      : Element_Type) return Boolean is
-    begin
-       return Find_Index (Container, Item) /= No_Index;
-    end Contains;
  
  
  
!    procedure Assign
!      (Target : in out Vector;
!       Source : in     Vector) is
  
!       N : constant Count_Type := Length (Source);
  
     begin
! 
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       Clear (Target);
  
-       if N = 0 then
           return;
        end if;
  
!       if N > Capacity (Target) then
!          Reserve_Capacity (Target, Capacity => N);
!       end if;
! 
!       for I in Index_Type'First .. Source.Last loop
! 
!          declare
!             EA : constant Element_Access := Source.Elements (I);
!          begin
!             if EA /= null then
!                Target.Elements (I) := new Element_Type'(EA.all);
!             end if;
!          end;
! 
!          Target.Last := I;
  
!       end loop;
  
!    end Assign;
  
  
!    procedure Move
!      (Target : in out Vector;
!       Source : in out Vector) is
  
!       X : Elements_Access := Target.Elements;
  
     begin
! 
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       if Target.Last >= Index_Type'First then
!          raise Constraint_Error;
        end if;
  
!       Target.Elements := null;
!       Free (X);  --  shouldn't fail
! 
!       Target.Elements := Source.Elements;
!       Target.Last := Source.Last;
  
!       Source.Elements := null;
!       Source.Last := Index_Type'Pred (Index_Type'First);
  
!    end Move;
  
  
!    procedure Query_Element
!      (Container : in Vector;
!       Index     : in Index_Type;
!       Process   : not null access procedure (Element : in Element_Type)) is
  
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Container.Last;
     begin
!       Process (Container.Elements (T'(Index)).all);
!    end Query_Element;
! 
  
!    procedure Update_Element
!      (Container : in Vector;
!       Index     : in Index_Type;
!       Process   : not null access procedure (Element : in out Element_Type)) is
  
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
!    begin
!       Process (Container.Elements (T'(Index)).all);
!    end Update_Element;
  
  
!    procedure Prepend (Container : in out Vector;
!                       New_Item  : in     Element_Type;
!                       Count     : in     Count_Type := 1) is
!    begin
!       Insert (Container,
!               Index_Type'First,
!               New_Item,
!               Count);
!    end Prepend;
  
  
!    procedure Swap
!      (Container : in Vector;
!       I, J      : in Index_Type) is
  
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
  
!       EI : constant Element_Access := Container.Elements (T'(I));
  
!    begin
  
!       Container.Elements (T'(I)) := Container.Elements (T'(J));
!       Container.Elements (T'(J)) := EI;
  
!    end Swap;
  
  
!    function "&" (Left, Right : Vector) return Vector is
  
!       LN : constant Count_Type := Length (Left);
!       RN : constant Count_Type := Length (Right);
  
!    begin
  
!       if LN = 0 then
  
!          if RN = 0 then
!             return Empty_Vector;
           end if;
  
!          declare
!             RE : Elements_Type renames
!               Right.Elements (Index_Type'First .. Right.Last);
! 
!             Elements : Elements_Access :=
!               new Elements_Type (RE'Range);
!          begin
!             for I in Elements'Range loop
!                begin
!                   if RE (I) /= null then
!                      Elements (I) := new Element_Type'(RE (I).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. Index_Type'Pred (I) loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             return (Controlled with Elements, Right.Last);
!          end;
  
        end if;
  
!       if RN = 0 then
! 
           declare
!             LE : Elements_Type renames
!               Left.Elements (Index_Type'First .. Left.Last);
  
-             Elements : Elements_Access :=
-               new Elements_Type (LE'Range);
           begin
!             for I in Elements'Range loop
!                begin
!                   if LE (I) /= null then
!                      Elements (I) := new Element_Type'(LE (I).all);
!                   end if;
!                exception
!                   when others =>
!                      for J in Index_Type'First .. Index_Type'Pred (I) loop
!                         Free (Elements (J));
!                      end loop;
  
!                      Free (Elements);
!                      raise;
!                end;
!             end loop;
  
!             return (Controlled with Elements, Left.Last);
           end;
  
        end if;
  
        declare
! 
!          Last_As_Int : constant Int'Base :=
!             Int (Index_Type'First) + Int (LN) + Int (RN) - 1;
! 
!          Last : constant Index_Type := Index_Type (Last_As_Int);
! 
!          LE : Elements_Type renames
!            Left.Elements (Index_Type'First .. Left.Last);
! 
!          RE : Elements_Type renames
!            Right.Elements (Index_Type'First .. Right.Last);
! 
!          Elements : Elements_Access :=
!            new Elements_Type (Index_Type'First .. Last);
! 
!          I : Index_Type'Base := Index_Type'Pred (Index_Type'First);
  
        begin
  
!          for LI in LE'Range loop
! 
!             I := Index_Type'Succ (I);
! 
!             begin
!                if LE (LI) /= null then
!                   Elements (I) := new Element_Type'(LE (LI).all);
!                end if;
!             exception
!                when others =>
!                   for J in Index_Type'First .. Index_Type'Pred (I) loop
!                      Free (Elements (J));
!                   end loop;
! 
!                   Free (Elements);
!                   raise;
!             end;
! 
!          end loop;
! 
!          for RI in RE'Range loop
! 
!             I := Index_Type'Succ (I);
! 
!             begin
!                if RE (RI) /= null then
!                   Elements (I) := new Element_Type'(RE (RI).all);
!                end if;
!             exception
!                when others =>
!                   for J in Index_Type'First .. Index_Type'Pred (I) loop
!                      Free (Elements (J));
!                   end loop;
! 
!                   Free (Elements);
!                   raise;
!             end;
! 
           end loop;
  
!          return (Controlled with Elements, Last);
!       end;
! 
!    end "&";
! 
! 
!    function "&" (Left  : Vector;
!                  Right : Element_Type) return Vector is
! 
!       LN : constant Count_Type := Length (Left);
! 
!    begin
! 
!       if LN = 0 then
  
           declare
!             Elements : Elements_Access :=
!               new Elements_Type (Index_Type'First .. Index_Type'First);
           begin
! 
!             begin
!                Elements (Elements'First) := new Element_Type'(Right);
!             exception
!                when others =>
!                   Free (Elements);
!                   raise;
!             end;
! 
!             return (Controlled with Elements, Index_Type'First);
! 
           end;
  
!       end if;
  
        declare
! 
!          Last_As_Int : constant Int'Base :=
!             Int (Index_Type'First) + Int (LN);
! 
!          Last : constant Index_Type := Index_Type (Last_As_Int);
! 
!          LE : Elements_Type renames
!            Left.Elements (Index_Type'First .. Left.Last);
! 
!          Elements : Elements_Access :=
!            new Elements_Type (Index_Type'First .. Last);
  
        begin
  
!          for I in LE'Range loop
  
              begin
!                if LE (I) /= null then
!                   Elements (I) := new Element_Type'(LE (I).all);
!                end if;
!             exception
!                when others =>
!                   for J in Index_Type'First .. Index_Type'Pred (I) loop
!                      Free (Elements (J));
!                   end loop;
  
!                   Free (Elements);
!                   raise;
              end;
  
!          end loop;
! 
!          begin
!             Elements (Elements'Last) := new Element_Type'(Right);
!          exception
!             when others =>
! 
!                declare
!                   subtype J_Subtype is Index_Type'Base range
!                     Index_Type'First .. Index_Type'Pred (Elements'Last);
!                begin
!                   for J in J_Subtype loop
!                      Free (Elements (J));
!                   end loop;
!                end;
! 
!                Free (Elements);
!                raise;
!          end;
  
!          return (Controlled with Elements, Last);
        end;
  
!    end "&";
! 
! 
! 
!    function "&" (Left  : Element_Type;
!                  Right : Vector) return Vector is
! 
!       RN : constant Count_Type := Length (Right);
  
     begin
! 
!       if RN = 0 then
! 
!          declare
!             Elements : Elements_Access :=
!               new Elements_Type (Index_Type'First .. Index_Type'First);
!          begin
! 
!             begin
!                Elements (Elements'First) := new Element_Type'(Left);
!             exception
!                when others =>
!                   Free (Elements);
!                   raise;
!             end;
! 
!             return (Controlled with Elements, Index_Type'First);
! 
!          end;
! 
        end if;
  
!       declare
! 
!          Last_As_Int : constant Int'Base :=
!             Int (Index_Type'First) + Int (RN);
! 
!          Last : constant Index_Type := Index_Type (Last_As_Int);
! 
!          RE : Elements_Type renames
!            Right.Elements (Index_Type'First .. Right.Last);
! 
!          Elements : Elements_Access :=
!            new Elements_Type (Index_Type'First .. Last);
! 
!          I : Index_Type'Base := Index_Type'First;
! 
!       begin
! 
!          begin
!             Elements (I) := new Element_Type'(Left);
!          exception
!             when others =>
!                Free (Elements);
!                raise;
!          end;
! 
!          for RI in RE'Range loop
  
!             I := Index_Type'Succ (I);
  
!             begin
!                if RE (RI) /= null then
!                   Elements (I) := new Element_Type'(RE (RI).all);
!                end if;
!             exception
!                when others =>
!                   for J in Index_Type'First .. Index_Type'Pred (I) loop
!                      Free (Elements (J));
!                   end loop;
  
!                   Free (Elements);
!                   raise;
!             end;
  
!          end loop;
  
!          return (Controlled with Elements, Last);
!       end;
  
!    end "&";
  
  
!    function "&" (Left, Right  : Element_Type) return Vector is
  
!       subtype IT is Index_Type'Base range
!         Index_Type'First .. Index_Type'Succ (Index_Type'First);
  
!       Elements : Elements_Access := new Elements_Type (IT);
  
     begin
  
        begin
!          Elements (Elements'First) := new Element_Type'(Left);
!       exception
!          when others =>
!             Free (Elements);
!             raise;
!       end;
! 
!       begin
!          Elements (Elements'Last) := new Element_Type'(Right);
        exception
           when others =>
!             Free (Elements (Elements'First));
!             Free (Elements);
              raise;
        end;
  
!       return (Controlled with Elements, Elements'Last);
! 
!    end "&";
  
  
!    function To_Cursor (Container : Vector;
!                        Index     : Extended_Index)
!       return Cursor is
     begin
!       if Index not in Index_Type'First .. Container.Last then
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Index);
!    end To_Cursor;
  
  
!    function To_Index (Position : Cursor) return Extended_Index is
     begin
!       if Position.Container = null then
!          return No_Index;
!       end if;
  
!       if Position.Index <= Position.Container.Last then
!          return Position.Index;
!       end if;
  
!       return No_Index;
!    end To_Index;
  
  
-    function Element (Position : Cursor) return Element_Type is
     begin
!       return Element (Position.Container.all, Position.Index);
!    end Element;
  
  
!    function Next (Position : Cursor) return Cursor is
!    begin
  
!       if Position.Container = null then
!          return No_Element;
        end if;
  
!       if Position.Index < Position.Container.Last then
!          return (Position.Container, Index_Type'Succ (Position.Index));
        end if;
  
!       return No_Element;
  
!    end Next;
  
  
!    function Previous (Position : Cursor) return Cursor is
!    begin
  
        if Position.Container = null then
           return No_Element;
        end if;
  
!       if Position.Index > Index_Type'First then
!          return (Position.Container, Index_Type'Pred (Position.Index));
        end if;
  
        return No_Element;
  
!    end Previous;
! 
  
     procedure Next (Position : in out Cursor) is
     begin
- 
        if Position.Container = null then
           return;
        end if;
  
        if Position.Index < Position.Container.Last then
!          Position.Index := Index_Type'Succ (Position.Index);
        else
           Position := No_Element;
        end if;
- 
     end Next;
  
  
!    procedure Previous (Position : in out Cursor) is
     begin
  
        if Position.Container = null then
           return;
        end if;
  
        if Position.Index > Index_Type'First then
!          Position.Index := Index_Type'Pred (Position.Index);
        else
           Position := No_Element;
        end if;
- 
     end Previous;
  
! 
!    function Has_Element (Position : Cursor) return Boolean is
     begin
- 
        if Position.Container = null then
!          return False;
        end if;
  
!       return Position.Index <= Position.Container.Last;
! 
!    end Has_Element;
! 
! 
!    procedure Iterate
!      (Container : in Vector;
!       Process   : not null access procedure (Position : in Cursor)) is
!    begin
  
!       for I in Index_Type'First .. Container.Last loop
!          Process (Cursor'(Container'Unchecked_Access, I));
!       end loop;
  
!    end Iterate;
  
  
-    procedure Reverse_Iterate
-      (Container : in Vector;
-       Process   : not null access procedure (Position : in Cursor)) is
     begin
  
!       for I in reverse Index_Type'First .. Container.Last loop
!          Process (Cursor'(Container'Unchecked_Access, I));
!       end loop;
! 
!    end Reverse_Iterate;
  
  
!    procedure Query_Element
!      (Position : in Cursor;
!       Process  : not null access procedure (Element : in Element_Type)) is
  
!       C : Vector renames Position.Container.all;
!       E : Elements_Type renames C.Elements.all;
  
!       subtype T is Index_Type'Base range
!         Index_Type'First .. C.Last;
     begin
!       Process (E (T'(Position.Index)).all);
     end Query_Element;
  
  
!    procedure Update_Element
!      (Position : in Cursor;
!       Process  : not null access procedure (Element : in out Element_Type)) is
  
!       C : Vector renames Position.Container.all;
!       E : Elements_Type renames C.Elements.all;
  
-       subtype T is Index_Type'Base range
-         Index_Type'First .. C.Last;
     begin
!       Process (E (T'(Position.Index)).all);
!    end Update_Element;
  
  
!    procedure Replace_Element (Position : in Cursor;
!                               By       : in Element_Type) is
  
!       C : Vector renames Position.Container.all;
!       E : Elements_Type renames C.Elements.all;
  
!       subtype T is Index_Type'Base range
!         Index_Type'First .. C.Last;
  
!       X : Element_Access := E (T'(Position.Index));
!    begin
!       E (T'(Position.Index)) := new Element_Type'(By);
!       Free (X);
!    end Replace_Element;
  
  
!    procedure Insert (Container : in out Vector;
!                      Before    : in     Extended_Index;
!                      New_Item  : in     Vector) is
  
!       N : constant Count_Type := Length (New_Item);
  
     begin
  
!       if N = 0 then
!          return;
        end if;
  
!       Insert_Space (Container, Before, Count => N);
  
!       if Container'Address = New_Item'Address then
  
!          declare
!             Dst_Last_As_Int : constant Int'Base :=
!               Int'Base (Before) + Int'Base (N) - 1;
  
!             Dst_Last : constant Index_Type := Index_Type (Dst_Last_As_Int);
  
!             Dst_Index : Index_Type'Base := Index_Type'Pred (Before);
  
!             Dst : Elements_Type renames
!               Container.Elements (Before .. Dst_Last);
!          begin
  
              declare
!                subtype Src_Index_Subtype is Index_Type'Base range
!                  Index_Type'First .. Index_Type'Pred (Before);
! 
!                Src : Elements_Type renames
!                  Container.Elements (Src_Index_Subtype);
              begin
!                for Src_Index in Src'Range loop
!                   Dst_Index := Index_Type'Succ (Dst_Index);
! 
!                   if Src (Src_Index) /= null then
!                      Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                   end if;
!                end loop;
              end;
  
              declare
!                subtype Src_Index_Subtype is Index_Type'Base range
!                  Index_Type'Succ (Dst_Last) .. Container.Last;
  
                 Src : Elements_Type renames
!                  Container.Elements (Src_Index_Subtype);
!             begin
!                for Src_Index in Src'Range loop
!                   Dst_Index := Index_Type'Succ (Dst_Index);
  
!                   if Src (Src_Index) /= null then
!                      Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                   end if;
!                end loop;
!             end;
  
!          end;
  
!       else
  
!          declare
!             Dst_Last_As_Int : constant Int'Base :=
!               Int'Base (Before) + Int'Base (N) - 1;
  
!             Dst_Last : constant Index_Type := Index_Type (Dst_Last_As_Int);
  
!             Dst_Index : Index_Type'Base := Index_Type'Pred (Before);
  
!             Src : Elements_Type renames
!               New_Item.Elements (Index_Type'First .. New_Item.Last);
  
!             Dst : Elements_Type renames
!               Container.Elements (Before .. Dst_Last);
!          begin
!             for Src_Index in Src'Range loop
!                Dst_Index := Index_Type'Succ (Dst_Index);
  
!                if Src (Src_Index) /= null then
!                   Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                end if;
!             end loop;
           end;
  
        end if;
  
!    end Insert;
  
  
!    procedure Insert (Container : in out Vector;
!                      Before    : in     Cursor;
!                      New_Item  : in     Vector) is
  
!       Index : Index_Type'Base;
  
!    begin
  
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Is_Empty (New_Item) then
           return;
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          Index := Index_Type'Succ (Container.Last);
!       else
!          Index := Before.Index;
        end if;
  
!       Insert (Container, Index, New_Item);
  
!    end Insert;
  
  
  
!    procedure Insert (Container : in out Vector;
!                      Before    : in     Cursor;
!                      New_Item  : in     Vector;
!                      Position  :    out Cursor) is
  
!       Index : Index_Type'Base;
  
!    begin
  
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
!       end if;
  
!       if Is_Empty (New_Item) then
  
!          if Before.Container = null
!            or else Before.Index > Container.Last
!          then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
!          end if;
  
           return;
- 
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          Index := Index_Type'Succ (Container.Last);
!       else
!          Index := Before.Index;
        end if;
  
!       Insert (Container, Index, New_Item);
  
!       Position := (Container'Unchecked_Access, Index);
  
!    end Insert;
  
  
!    procedure Insert (Container : in out Vector;
!                      Before    : in     Cursor;
!                      New_Item  : in     Element_Type;
!                      Count     : in     Count_Type := 1) is
  
!       Index : Index_Type'Base;
  
     begin
! 
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
        then
           raise Program_Error;
        end if;
  
!       if Count = 0 then
!          return;
!       end if;
! 
!       if Before.Container = null
!         or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
!          Index := Before.Index;
        end if;
  
!       Insert (Container, Index, New_Item, Count);
! 
!    end Insert;
  
  
!    procedure Insert (Container : in out Vector;
!                      Before    : in     Cursor;
!                      New_Item  : in     Element_Type;
!                      Position  :    out Cursor;
!                      Count     : in     Count_Type := 1) is
  
!       Index : Index_Type'Base;
  
     begin
! 
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Count = 0 then
! 
!          if Before.Container = null
!            or else Before.Index > Container.Last
           then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
           end if;
  
!          return;
  
!       end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          Index := Index_Type'Succ (Container.Last);
!       else
!          Index := Before.Index;
!       end if;
  
!       Insert (Container, Index, New_Item, Count);
  
!       Position := (Container'Unchecked_Access, Index);
  
!    end Insert;
  
  
  
-    procedure Prepend (Container : in out Vector;
-                       New_Item  : in     Vector) is
     begin
!       Insert (Container, Index_Type'First, New_Item);
!    end Prepend;
  
  
-    procedure Append (Container : in out Vector;
-                      New_Item  : in     Vector) is
-    begin
-       if Is_Empty (New_Item) then
           return;
        end if;
  
!       Insert
!         (Container,
!          Index_Type'Succ (Container.Last),
!          New_Item);
!    end Append;
! 
  
  
!    procedure Insert_Space (Container : in out Vector;
!                            Before    : in     Cursor;
!                            Position  :    out Cursor;
!                            Count     : in     Count_Type := 1) is
  
!       Index : Index_Type'Base;
  
     begin
! 
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
        then
!          raise Program_Error;
        end if;
  
!       if Count = 0 then
! 
!          if Before.Container = null
!            or else Before.Index > Container.Last
!          then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
!          end if;
! 
           return;
- 
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          Index := Index_Type'Succ (Container.Last);
!       else
!          Index := Before.Index;
        end if;
  
!       Insert_Space (Container, Index, Count);
! 
!       Position := (Container'Unchecked_Access, Index);
  
!    end Insert_Space;
  
  
!    procedure Delete (Container : in out Vector;
!                      Position  : in out Cursor;
!                      Count     : in     Count_Type := 1) is
     begin
! 
!       if Position.Container /= null
!         and then Position.Container /=
!                    Vector_Access'(Container'Unchecked_Access)
        then
!          raise Program_Error;
        end if;
  
!       if Position.Container = null
!         or else Position.Index > Container.Last
        then
!          Position := No_Element;
!          return;
        end if;
  
!       Delete (Container, Position.Index, Count);
  
!       if Position.Index <= Container.Last then
!          Position := (Container'Unchecked_Access, Position.Index);
!       else
!          Position := No_Element;
        end if;
  
!    end Delete;
  
  
!    function First (Container : Vector) return Cursor is
     begin
!       if Is_Empty (Container) then
!          return No_Element;
        end if;
  
!       return (Container'Unchecked_Access, Index_Type'First);
!    end First;
  
  
!    function Last (Container : Vector) return Cursor is
     begin
!       if Is_Empty (Container) then
!          return No_Element;
        end if;
  
!       return (Container'Unchecked_Access, Container.Last);
!    end Last;
  
  
!    procedure Swap (I, J : in Cursor) is
  
!       --  NOTE: I've liberalized the behavior here, to
!       --  allow I and J to designate different containers.
!       --  TODO: I think this is suppose to raise P_E.
  
!       subtype TI is Index_Type'Base range
!         Index_Type'First .. I.Container.Last;
  
!       EI : Element_Access renames
!         I.Container.Elements (TI'(I.Index));
  
!       EI_Copy : constant Element_Access := EI;
  
!       subtype TJ is Index_Type'Base range
!         Index_Type'First .. J.Container.Last;
  
!       EJ : Element_Access renames
!         J.Container.Elements (TJ'(J.Index));
  
!    begin
  
!       EI := EJ;
!       EJ := EI_Copy;
  
!    end Swap;
  
  
!    function Find (Container : Vector;
!                   Item      : Element_Type;
!                   Position  : Cursor := No_Element) return Cursor is
  
     begin
  
!       if Position.Container /= null
!         and then Position.Container /=
!                    Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       for I in Position.Index .. Container.Last loop
!          if Container.Elements (I) /= null
!            and then Container.Elements (I).all = Item
!          then
!             return (Container'Unchecked_Access, I);
!          end if;
!       end loop;
  
!       return No_Element;
  
!    end Find;
  
  
!    function Reverse_Find (Container : Vector;
!                           Item      : Element_Type;
!                           Position  : Cursor := No_Element) return Cursor is
  
!       Last : Index_Type'Base;
  
     begin
  
!       if Position.Container /= null
!         and then Position.Container /=
!                    Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Position.Container = null
!         or else Position.Index > Container.Last
!       then
!          Last := Container.Last;
!       else
!          Last := Position.Index;
!       end if;
  
!       for I in reverse Index_Type'First .. Last loop
!          if Container.Elements (I) /= null
!            and then Container.Elements (I).all = Item
!          then
!             return (Container'Unchecked_Access, I);
!          end if;
!       end loop;
  
!       return No_Element;
  
!    end Reverse_Find;
  
  
  end Ada.Containers.Indefinite_Vectors;
- 
--- 384,2510 ----
           return False;
        end if;
  
!       for J in Index_Type'First .. Left.Last loop
!          if Left.Elements (J) = null then
!             if Right.Elements (J) /= null then
                 return False;
              end if;
  
!          elsif Right.Elements (J) = null then
              return False;
  
!          elsif Left.Elements (J).all /= Right.Elements (J).all then
              return False;
           end if;
        end loop;
  
        return True;
     end "=";
  
+    ------------
+    -- Adjust --
+    ------------
  
!    procedure Adjust (Container : in out Vector) is
     begin
!       if Container.Last = No_Index then
!          Container.Elements := null;
           return;
        end if;
  
        declare
!          E : Elements_Type renames Container.Elements.all;
!          L : constant Index_Type := Container.Last;
  
        begin
+          Container.Elements := null;
+          Container.Last := No_Index;
+          Container.Busy := 0;
+          Container.Lock := 0;
  
!          Container.Elements := new Elements_Type (Index_Type'First .. L);
  
!          for I in Container.Elements'Range loop
!             if E (I) /= null then
!                Container.Elements (I) := new Element_Type'(E (I).all);
              end if;
  
!             Container.Last := I;
           end loop;
        end;
+    end Adjust;
  
!    ------------
!    -- Append --
!    ------------
  
!    procedure Append (Container : in out Vector; New_Item : Vector) is
     begin
+       if Is_Empty (New_Item) then
+          return;
+       end if;
  
!       if Container.Last = Index_Type'Last then
!          raise Constraint_Error;
!       end if;
  
+       Insert
+         (Container,
+          Container.Last + 1,
+          New_Item);
+    end Append;
  
!    procedure Append
!      (Container : in out Vector;
!       New_Item  : Element_Type;
!       Count     : Count_Type := 1)
!    is
     begin
        if Count = 0 then
           return;
        end if;
  
+       if Container.Last = Index_Type'Last then
+          raise Constraint_Error;
+       end if;
+ 
        Insert
          (Container,
!          Container.Last + 1,
           New_Item,
           Count);
     end Append;
  
+    --------------
+    -- Capacity --
+    --------------
  
!    function Capacity (Container : Vector) return Count_Type is
     begin
!       if Container.Elements = null then
!          return 0;
        end if;
  
!       return Container.Elements'Length;
!    end Capacity;
  
!    -----------
!    -- Clear --
!    -----------
  
!    procedure Clear (Container : in out Vector) is
!    begin
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
  
+       while Container.Last >= Index_Type'First loop
           declare
!             X : Element_Access := Container.Elements (Container.Last);
           begin
!             Container.Elements (Container.Last) := null;
!             Container.Last := Container.Last - 1;
!             Free (X);
           end;
+       end loop;
+    end Clear;
  
!    --------------
!    -- Contains --
!    --------------
  
!    function Contains
!      (Container : Vector;
!       Item      : Element_Type) return Boolean
!    is
!    begin
!       return Find_Index (Container, Item) /= No_Index;
!    end Contains;
  
!    ------------
!    -- Delete --
!    ------------
  
!    procedure Delete
!      (Container : in out Vector;
!       Index     : Extended_Index;
!       Count     : Count_Type := 1)
!    is
!    begin
!       if Index < Index_Type'First then
!          raise Constraint_Error;
!       end if;
  
!       if Index > Container.Last then
!          if Index > Container.Last + 1 then
!             raise Constraint_Error;
!          end if;
  
!          return;
!       end if;
  
+       if Count = 0 then
           return;
+       end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
        end if;
  
        declare
+          Index_As_Int    : constant Int := Int (Index);
+          Old_Last_As_Int : constant Int := Int (Container.Last);
  
!          --  TODO: somewhat vestigial...fix ???
!          Count1 : constant Int'Base := Int (Count);
!          Count2 : constant Int'Base := Old_Last_As_Int - Index_As_Int + 1;
!          N      : constant Int'Base := Int'Min (Count1, Count2);
  
!          J_As_Int : constant Int'Base := Index_As_Int + N;
!          E        : Elements_Type renames Container.Elements.all;
  
        begin
+          if J_As_Int > Old_Last_As_Int then
+             while Container.Last >= Index loop
+                declare
+                   K : constant Index_Type := Container.Last;
+                   X : Element_Access := E (K);
  
!                begin
!                   E (K) := null;
!                   Container.Last := K - 1;
!                   Free (X);
!                end;
!             end loop;
  
           else
+             declare
+                J : constant Index_Type := Index_Type (J_As_Int);
  
!                New_Last_As_Int : constant Int'Base := Old_Last_As_Int - N;
!                New_Last        : constant Index_Type :=
!                                    Index_Type (New_Last_As_Int);
  
!             begin
!                for K in Index .. J - 1 loop
!                   declare
!                      X : Element_Access := E (K);
!                   begin
!                      E (K) := null;
!                      Free (X);
!                   end;
!                end loop;
  
+                E (Index .. New_Last) := E (J .. Container.Last);
+                Container.Last := New_Last;
+             end;
           end if;
        end;
+    end Delete;
  
!    procedure Delete
       (Container : in out Vector;
!       Position  : in out Cursor;
!       Count     : Count_Type := 1)
!    is
!    begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unchecked_Access
!         or else Position.Index > Container.Last
!       then
!          raise Program_Error;
!       end if;
  
!       Delete (Container, Position.Index, Count);
  
!       Position := No_Element;  -- See comment in a-convec.adb
!    end Delete;
  
!    ------------------
!    -- Delete_First --
!    ------------------
  
+    procedure Delete_First
+      (Container : in out Vector;
+       Count     : Count_Type := 1)
+    is
     begin
        if Count = 0 then
           return;
        end if;
  
!       if Count >= Length (Container) then
!          Clear (Container);
           return;
        end if;
  
!       Delete (Container, Index_Type'First, Count);
!    end Delete_First;
  
!    -----------------
!    -- Delete_Last --
!    -----------------
  
!    procedure Delete_Last
!      (Container : in out Vector;
!       Count     : Count_Type := 1)
!    is
!       N : constant Count_Type := Length (Container);
  
+    begin
+       if Count = 0
+         or else N = 0
+       then
           return;
+       end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
        end if;
  
        declare
!          E : Elements_Type renames Container.Elements.all;
  
        begin
+          for Indx in 1 .. Count_Type'Min (Count, N) loop
+             declare
+                J : constant Index_Type := Container.Last;
+                X : Element_Access := E (J);
  
!             begin
!                E (J) := null;
!                Container.Last := J - 1;
!                Free (X);
!             end;
!          end loop;
!       end;
!    end Delete_Last;
  
!    -------------
!    -- Element --
!    -------------
  
!    function Element
!      (Container : Vector;
!       Index     : Index_Type) return Element_Type
!    is
!    begin
!       if Index > Container.Last then
!          raise Constraint_Error;
!       end if;
  
!       declare
!          EA : constant Element_Access := Container.Elements (Index);
  
+       begin
+          if EA = null then
+             raise Constraint_Error;
           end if;
  
+          return EA.all;
        end;
+    end Element;
  
!    function Element (Position : Cursor) return Element_Type is
!    begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
!       return Element (Position.Container.all, Position.Index);
!    end Element;
  
!    --------------
!    -- Finalize --
!    --------------
! 
!    procedure Finalize (Container : in out Vector) is
!    begin
!       Clear (Container);
  
        declare
           X : Elements_Access := Container.Elements;
        begin
!          Container.Elements := null;
           Free (X);
        end;
+    end Finalize;
  
!    ----------
!    -- Find --
!    ----------
  
+    function Find
+      (Container : Vector;
+       Item      : Element_Type;
+       Position  : Cursor := No_Element) return Cursor
+    is
+    begin
+       if Position.Container /= null
+         and then (Position.Container /= Container'Unchecked_Access
+                     or else Position.Index > Container.Last)
+       then
+          raise Program_Error;
+       end if;
  
!       for J in Position.Index .. Container.Last loop
!          if Container.Elements (J) /= null
!            and then Container.Elements (J).all = Item
!          then
!             return (Container'Unchecked_Access, J);
!          end if;
!       end loop;
! 
!       return No_Element;
!    end Find;
! 
!    ----------------
!    -- Find_Index --
!    ----------------
! 
!    function Find_Index
!      (Container : Vector;
!       Item      : Element_Type;
!       Index     : Index_Type := Index_Type'First) return Extended_Index
!    is
     begin
+       for Indx in Index .. Container.Last loop
+          if Container.Elements (Indx) /= null
+            and then Container.Elements (Indx).all = Item
+          then
+             return Indx;
+          end if;
+       end loop;
  
!       return No_Index;
!    end Find_Index;
  
!    -----------
!    -- First --
!    -----------
  
!    function First (Container : Vector) return Cursor is
!    begin
!       if Is_Empty (Container) then
!          return No_Element;
!       end if;
  
!       return (Container'Unchecked_Access, Index_Type'First);
!    end First;
  
+    -------------------
+    -- First_Element --
+    -------------------
  
!    function First_Element (Container : Vector) return Element_Type is
!    begin
!       return Element (Container, Index_Type'First);
!    end First_Element;
  
!    -----------------
!    -- First_Index --
!    -----------------
  
+    function First_Index (Container : Vector) return Index_Type is
+       pragma Unreferenced (Container);
     begin
+       return Index_Type'First;
+    end First_Index;
  
!    ---------------------
!    -- Generic_Sorting --
!    ---------------------
  
!    package body Generic_Sorting is
  
!       -----------------------
!       -- Local Subprograms --
!       -----------------------
  
!       function Is_Less (L, R : Element_Access) return Boolean;
!       pragma Inline (Is_Less);
  
!       -------------
!       -- Is_Less --
!       -------------
  
+       function Is_Less (L, R : Element_Access) return Boolean is
+       begin
+          if L = null then
+             return R /= null;
+          elsif R = null then
+             return False;
+          else
+             return L.all < R.all;
+          end if;
+       end Is_Less;
  
!       ---------------
!       -- Is_Sorted --
!       ---------------
  
!       function Is_Sorted (Container : Vector) return Boolean is
!       begin
!          if Container.Last <= Index_Type'First then
!             return True;
!          end if;
  
!          declare
!             E : Elements_Type renames Container.Elements.all;
!          begin
!             for I in Index_Type'First .. Container.Last - 1 loop
!                if Is_Less (E (I + 1), E (I)) then
!                   return False;
!                end if;
!             end loop;
!          end;
  
!          return True;
!       end Is_Sorted;
  
!       -----------
!       -- Merge --
!       -----------
  
!       procedure Merge (Target, Source : in out Vector) is
!          I : Index_Type'Base := Target.Last;
!          J : Index_Type'Base;
  
!       begin
!          if Target.Last < Index_Type'First then
!             Move (Target => Target, Source => Source);
!             return;
!          end if;
  
!          if Target'Address = Source'Address then
!             return;
!          end if;
  
!          if Source.Last < Index_Type'First then
!             return;
!          end if;
  
!          if Source.Busy > 0 then
!             raise Program_Error;
!          end if;
  
!          Target.Set_Length (Length (Target) + Length (Source));
  
!          J := Target.Last;
!          while Source.Last >= Index_Type'First loop
!             if I < Index_Type'First then
!                declare
!                   Src : Elements_Type renames
!                     Source.Elements (Index_Type'First .. Source.Last);
  
!                begin
!                   Target.Elements (Index_Type'First .. J) := Src;
!                   Src := (others => null);
!                end;
  
!                Source.Last := No_Index;
!                return;
!             end if;
  
!             declare
!                Src : Element_Access renames Source.Elements (Source.Last);
!                Tgt : Element_Access renames Target.Elements (I);
  
              begin
!                if Is_Less (Src, Tgt) then
!                   Target.Elements (J) := Tgt;
!                   Tgt := null;
!                   I := I - 1;
! 
!                else
!                   Target.Elements (J) := Src;
!                   Src := null;
!                   Source.Last := Source.Last - 1;
!                end if;
              end;
  
+             J := J - 1;
           end loop;
+       end Merge;
  
!       ----------
!       -- Sort --
!       ----------
  
!       procedure Sort (Container : in out Vector)
!       is
!          procedure Sort is
!             new Generic_Array_Sort
!              (Index_Type   => Index_Type,
!               Element_Type => Element_Access,
!               Array_Type   => Elements_Type,
!               "<"          => Is_Less);
  
+       --  Start of processing for Sort
  
!       begin
!          if Container.Last <= Index_Type'First then
!             return;
!          end if;
  
!          if Container.Lock > 0 then
!             raise Program_Error;
!          end if;
  
+          Sort (Container.Elements (Index_Type'First .. Container.Last));
+       end Sort;
  
!    end Generic_Sorting;
  
!    -----------------
!    -- Has_Element --
!    -----------------
  
+    function Has_Element (Position : Cursor) return Boolean is
     begin
+       if Position.Container = null then
+          return False;
+       end if;
  
!       return Position.Index <= Position.Container.Last;
!    end Has_Element;
  
!    ------------
!    -- Insert --
!    ------------
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Extended_Index;
!       New_Item  : Element_Type;
!       Count     : Count_Type := 1)
!    is
!       N : constant Int := Int (Count);
  
!       New_Last_As_Int : Int'Base;
!       New_Last        : Index_Type;
  
!       Dst : Elements_Access;
  
!    begin
!       if Before < Index_Type'First then
!          raise Constraint_Error;
!       end if;
  
!       if Before > Container.Last
!         and then Before > Container.Last + 1
!       then
!          raise Constraint_Error;
!       end if;
  
!       if Count = 0 then
!          return;
!       end if;
! 
!       declare
!          Old_Last_As_Int : constant Int := Int (Container.Last);
  
+       begin
+          New_Last_As_Int := Old_Last_As_Int + N;
+ 
+          if New_Last_As_Int > Index_Type'Pos (Index_Type'Last) then
+             raise Constraint_Error;
           end if;
  
!          New_Last := Index_Type (New_Last_As_Int);
!       end;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
        end if;
  
        if Container.Elements = null then
+          Container.Elements :=
+            new Elements_Type (Index_Type'First .. New_Last);
  
!          Container.Last := No_Index;
  
!          for J in Container.Elements'Range loop
!             Container.Elements (J) := new Element_Type'(New_Item);
!             Container.Last := J;
!          end loop;
  
           return;
        end if;
  
!       if New_Last <= Container.Elements'Last then
!          declare
!             E : Elements_Type renames Container.Elements.all;
!          begin
!             if Before <= Container.Last then
!                declare
!                   Index_As_Int : constant Int'Base :=
!                                    Index_Type'Pos (Before) + N;
  
!                   Index : constant Index_Type := Index_Type (Index_As_Int);
  
!                   J : Index_Type'Base := Before;
  
!                begin
!                   E (Index .. New_Last) := E (Before .. Container.Last);
!                   Container.Last := New_Last;
  
!                   while J < Index loop
!                      E (J) := new Element_Type'(New_Item);
!                      J := J + 1;
!                   end loop;
!                exception
!                   when others =>
!                      E (J .. Index - 1) := (others => null);
!                      raise;
!                end;
  
!             else
!                for J in Before .. New_Last loop
!                   E (J) := new Element_Type'(New_Item);
!                   Container.Last := J;
!                end loop;
!             end if;
!          end;
  
           return;
        end if;
  
        declare
!          First    : constant Int := Int (Index_Type'First);
!          New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Size     : Int'Base := Int'Max (1, Container.Elements'Length);
  
!       begin
!          while Size < New_Size loop
!             if Size > Int'Last / 2 then
!                Size := Int'Last;
!                exit;
!             end if;
  
!             Size := 2 * Size;
!          end loop;
  
!          --  TODO: The following calculations aren't quite right, since
!          --  there will be overflow if Index_Type'Range is very large
!          --  (e.g. this package is instantiated with a 64-bit integer).
!          --  END TODO.
  
           declare
!             Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
           begin
!             if Size > Max_Size then
!                Size := Max_Size;
!             end if;
           end;
  
!          declare
!             Dst_Last : constant Index_Type := Index_Type (First + Size - 1);
!          begin
!             Dst := new Elements_Type (Index_Type'First .. Dst_Last);
!          end;
        end;
  
!       if Before <= Container.Last then
!          declare
!             Index_As_Int : constant Int'Base :=
!                              Index_Type'Pos (Before) + N;
  
+             Index : constant Index_Type := Index_Type (Index_As_Int);
  
!             Src : Elements_Access := Container.Elements;
  
+          begin
+             Dst (Index_Type'First .. Before - 1) :=
+               Src (Index_Type'First .. Before - 1);
  
!             Dst (Index .. New_Last) := Src (Before .. Container.Last);
  
+             Container.Elements := Dst;
+             Container.Last := New_Last;
+             Free (Src);
  
!             for J in Before .. Index - 1 loop
!                Dst (J) := new Element_Type'(New_Item);
!             end loop;
!          end;
  
+       else
+          declare
+             Src : Elements_Access := Container.Elements;
  
!          begin
!             Dst (Index_Type'First .. Container.Last) :=
!               Src (Index_Type'First .. Container.Last);
! 
!             Container.Elements := Dst;
!             Free (Src);
  
+             for J in Before .. New_Last loop
+                Dst (J) := new Element_Type'(New_Item);
+                Container.Last := J;
+             end loop;
+          end;
+       end if;
+    end Insert;
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Extended_Index;
!       New_Item  : Vector)
!    is
!       N : constant Count_Type := Length (New_Item);
  
     begin
!       if Before < Index_Type'First then
!          raise Constraint_Error;
!       end if;
  
+       if Before > Container.Last
+         and then Before > Container.Last + 1
+       then
+          raise Constraint_Error;
+       end if;
  
!       if N = 0 then
!          return;
!       end if;
  
!       Insert_Space (Container, Before, Count => N);
  
!       declare
!          Dst_Last_As_Int : constant Int'Base :=
!                              Int'Base (Before) + Int'Base (N) - 1;
  
+          Dst_Last : constant Index_Type := Index_Type (Dst_Last_As_Int);
  
!          Dst : Elements_Type renames
!                  Container.Elements (Before .. Dst_Last);
  
!          Dst_Index : Index_Type'Base := Before - 1;
  
        begin
!          if Container'Address /= New_Item'Address then
!             declare
!                Src : Elements_Type renames
!                        New_Item.Elements (Index_Type'First .. New_Item.Last);
  
!             begin
!                for Src_Index in Src'Range loop
!                   Dst_Index := Dst_Index + 1;
  
!                   if Src (Src_Index) /= null then
!                      Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                   end if;
!                end loop;
!             end;
  
!             return;
!          end if;
  
!          declare
!             subtype Src_Index_Subtype is Index_Type'Base range
!               Index_Type'First .. Before - 1;
  
+             Src : Elements_Type renames
+                     Container.Elements (Src_Index_Subtype);
  
!          begin
!             for Src_Index in Src'Range loop
!                Dst_Index := Dst_Index + 1;
  
!                if Src (Src_Index) /= null then
!                   Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                end if;
!             end loop;
!          end;
  
!          if Dst_Last = Container.Last then
!             return;
           end if;
  
!          declare
!             subtype Src_Index_Subtype is Index_Type'Base range
!               Dst_Last + 1 .. Container.Last;
  
!             Src : Elements_Type renames
!                     Container.Elements (Src_Index_Subtype);
  
+          begin
+             for Src_Index in Src'Range loop
+                Dst_Index := Dst_Index + 1;
  
!                if Src (Src_Index) /= null then
!                   Dst (Dst_Index) := new Element_Type'(Src (Src_Index).all);
!                end if;
!             end loop;
!          end;
!       end;
!    end Insert;
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Cursor;
!       New_Item  : Vector)
!    is
!       Index : Index_Type'Base;
  
     begin
+       if Before.Container /= null
+         and then Before.Container /= Container'Unchecked_Access
+       then
+          raise Program_Error;
+       end if;
  
!       if Is_Empty (New_Item) then
!          return;
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
           end if;
  
+          Index := Container.Last + 1;
  
+       else
+          Index := Before.Index;
+       end if;
  
!       Insert (Container, Index, New_Item);
!    end Insert;
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Cursor;
!       New_Item  : Vector;
!       Position  : out Cursor)
!    is
!       Index : Index_Type'Base;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Is_Empty (New_Item) then
!          if Before.Container = null
!            or else Before.Index > Container.Last
!          then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
!          end if;
  
           return;
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
  
!          Index := Container.Last + 1;
  
!       else
!          Index := Before.Index;
!       end if;
  
+       Insert (Container, Index, New_Item);
  
!       Position := Cursor'(Container'Unchecked_Access, Index);
!    end Insert;
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Cursor;
!       New_Item  : Element_Type;
!       Count     : Count_Type := 1)
!    is
!       Index : Index_Type'Base;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Count = 0 then
!          return;
        end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
  
!          Index := Container.Last + 1;
  
!       else
!          Index := Before.Index;
!       end if;
  
+       Insert (Container, Index, New_Item, Count);
+    end Insert;
  
!    procedure Insert
!      (Container : in out Vector;
!       Before    : Cursor;
!       New_Item  : Element_Type;
!       Position  : out Cursor;
!       Count     : Count_Type := 1)
!    is
!       Index : Index_Type'Base;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
!       end if;
  
!       if Count = 0 then
!          if Before.Container = null
!            or else Before.Index > Container.Last
!          then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
!          end if;
  
!          return;
!       end if;
  
+       if Before.Container = null
+         or else Before.Index > Container.Last
+       then
+          if Container.Last = Index_Type'Last then
+             raise Constraint_Error;
+          end if;
  
!          Index := Container.Last + 1;
  
+       else
+          Index := Before.Index;
+       end if;
  
!       Insert (Container, Index, New_Item, Count);
  
!       Position := (Container'Unchecked_Access, Index);
!    end Insert;
  
!    ------------------
!    -- Insert_Space --
!    ------------------
  
!    procedure Insert_Space
!      (Container : in out Vector;
!       Before    : Extended_Index;
!       Count     : Count_Type := 1)
!    is
!       N : constant Int := Int (Count);
  
!       New_Last_As_Int : Int'Base;
!       New_Last        : Index_Type;
  
!       Dst : Elements_Access;
  
+    begin
+       if Before < Index_Type'First then
+          raise Constraint_Error;
+       end if;
  
!       if Before > Container.Last
!         and then Before > Container.Last + 1
!       then
!          raise Constraint_Error;
!       end if;
  
!       if Count = 0 then
!          return;
!       end if;
  
!       declare
!          Old_Last_As_Int : constant Int := Int (Container.Last);
  
!       begin
!          New_Last_As_Int := Old_Last_As_Int + N;
  
!          if New_Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
           end if;
  
!          New_Last := Index_Type (New_Last_As_Int);
!       end;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       if Container.Elements = null then
!          Container.Elements :=
!            new Elements_Type (Index_Type'First .. New_Last);
  
+          Container.Last := New_Last;
+          return;
        end if;
  
!       if New_Last <= Container.Elements'Last then
           declare
!             E : Elements_Type renames Container.Elements.all;
  
           begin
!             if Before <= Container.Last then
!                declare
!                   Index_As_Int : constant Int'Base :=
!                                    Index_Type'Pos (Before) + N;
  
!                   Index : constant Index_Type := Index_Type (Index_As_Int);
  
!                begin
!                   E (Index .. New_Last) := E (Before .. Container.Last);
!                   E (Before .. Index - 1) := (others => null);
!                end;
!             end if;
           end;
  
+          Container.Last := New_Last;
+          return;
        end if;
  
        declare
!          First    : constant Int := Int (Index_Type'First);
!          New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Size     : Int'Base := Int'Max (1, Container.Elements'Length);
  
        begin
+          while Size < New_Size loop
+             if Size > Int'Last / 2 then
+                Size := Int'Last;
+                exit;
+             end if;
  
!             Size := 2 * Size;
           end loop;
  
!          --  TODO: The following calculations aren't quite right, since
!          --  there will be overflow if Index_Type'Range is very large
!          --  (e.g. this package is instantiated with a 64-bit integer).
!          --  END TODO.
  
           declare
!             Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
           begin
!             if Size > Max_Size then
!                Size := Max_Size;
!             end if;
           end;
  
!          declare
!             Dst_Last : constant Index_Type := Index_Type (First + Size - 1);
!          begin
!             Dst := new Elements_Type (Index_Type'First .. Dst_Last);
!          end;
!       end;
  
        declare
!          Src : Elements_Access := Container.Elements;
  
        begin
+          if Before <= Container.Last then
+             declare
+                Index_As_Int : constant Int'Base :=
+                                 Index_Type'Pos (Before) + N;
  
!                Index : constant Index_Type := Index_Type (Index_As_Int);
  
              begin
!                Dst (Index_Type'First .. Before - 1) :=
!                  Src (Index_Type'First .. Before - 1);
  
!                Dst (Index .. New_Last) := Src (Before .. Container.Last);
              end;
  
!          else
!             Dst (Index_Type'First .. Container.Last) :=
!               Src (Index_Type'First .. Container.Last);
!          end if;
  
!          Container.Elements := Dst;
!          Container.Last := New_Last;
!          Free (Src);
        end;
+    end Insert_Space;
  
!    procedure Insert_Space
!      (Container : in out Vector;
!       Before    : Cursor;
!       Position  : out Cursor;
!       Count     : Count_Type := 1)
!    is
!       Index : Index_Type'Base;
  
     begin
!       if Before.Container /= null
!         and then Before.Container /= Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Count = 0 then
!          if Before.Container = null
!            or else Before.Index > Container.Last
!          then
!             Position := No_Element;
!          else
!             Position := (Container'Unchecked_Access, Before.Index);
!          end if;
  
!          return;
!       end if;
  
!       if Before.Container = null
!         or else Before.Index > Container.Last
!       then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
  
!          Index := Container.Last + 1;
  
!       else
!          Index := Before.Index;
!       end if;
  
!       Insert_Space (Container, Index, Count);
  
!       Position := Cursor'(Container'Unchecked_Access, Index);
!    end Insert_Space;
  
+    --------------
+    -- Is_Empty --
+    --------------
  
!    function Is_Empty (Container : Vector) return Boolean is
!    begin
!       return Container.Last < Index_Type'First;
!    end Is_Empty;
  
!    -------------
!    -- Iterate --
!    -------------
  
!    procedure Iterate
!      (Container : Vector;
!       Process   : not null access procedure (Position : in Cursor))
!    is
!       V : Vector renames Container'Unrestricted_Access.all;
!       B : Natural renames V.Busy;
  
     begin
+       B := B + 1;
  
        begin
!          for Indx in Index_Type'First .. Container.Last loop
!             Process (Cursor'(Container'Unchecked_Access, Indx));
!          end loop;
        exception
           when others =>
!             B := B - 1;
              raise;
        end;
  
!       B := B - 1;
!    end Iterate;
  
+    ----------
+    -- Last --
+    ----------
  
!    function Last (Container : Vector) return Cursor is
     begin
!       if Is_Empty (Container) then
           return No_Element;
        end if;
  
!       return (Container'Unchecked_Access, Container.Last);
!    end Last;
  
+    ------------------
+    -- Last_Element --
+    ------------------
  
!    function Last_Element (Container : Vector) return Element_Type is
     begin
!       return Element (Container, Container.Last);
!    end Last_Element;
  
!    ----------------
!    -- Last_Index --
!    ----------------
  
!    function Last_Index (Container : Vector) return Extended_Index is
!    begin
!       return Container.Last;
!    end Last_Index;
  
+    ------------
+    -- Length --
+    ------------
+ 
+    function Length (Container : Vector) return Count_Type is
+       L : constant Int := Int (Container.Last);
+       F : constant Int := Int (Index_Type'First);
+       N : constant Int'Base := L - F + 1;
  
     begin
!       if N > Count_Type'Pos (Count_Type'Last) then
!          raise Constraint_Error;
!       end if;
  
+       return Count_Type (N);
+    end Length;
  
!    ----------
!    -- Move --
!    ----------
  
!    procedure Move
!      (Target : in out Vector;
!       Source : in out Vector)
!    is
!    begin
!       if Target'Address = Source'Address then
!          return;
        end if;
  
!       if Source.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       Clear (Target);
  
!       declare
!          Target_Elements : constant Elements_Access := Target.Elements;
!       begin
!          Target.Elements := Source.Elements;
!          Source.Elements := Target_Elements;
!       end;
  
+       Target.Last := Source.Last;
+       Source.Last := No_Index;
+    end Move;
  
!    ----------
!    -- Next --
!    ----------
  
+    function Next (Position : Cursor) return Cursor is
+    begin
        if Position.Container = null then
           return No_Element;
        end if;
  
!       if Position.Index < Position.Container.Last then
!          return (Position.Container, Position.Index + 1);
        end if;
  
        return No_Element;
+    end Next;
  
!    ----------
!    -- Next --
!    ----------
  
     procedure Next (Position : in out Cursor) is
     begin
        if Position.Container = null then
           return;
        end if;
  
        if Position.Index < Position.Container.Last then
!          Position.Index := Position.Index + 1;
        else
           Position := No_Element;
        end if;
     end Next;
  
+    -------------
+    -- Prepend --
+    -------------
+ 
+    procedure Prepend (Container : in out Vector; New_Item : Vector) is
+    begin
+       Insert (Container, Index_Type'First, New_Item);
+    end Prepend;
  
!    procedure Prepend
!      (Container : in out Vector;
!       New_Item  : Element_Type;
!       Count     : Count_Type := 1)
!    is
     begin
+       Insert (Container,
+               Index_Type'First,
+               New_Item,
+               Count);
+    end Prepend;
+ 
+    --------------
+    -- Previous --
+    --------------
  
+    procedure Previous (Position : in out Cursor) is
+    begin
        if Position.Container = null then
           return;
        end if;
  
        if Position.Index > Index_Type'First then
!          Position.Index := Position.Index - 1;
        else
           Position := No_Element;
        end if;
     end Previous;
  
!    function Previous (Position : Cursor) return Cursor is
     begin
        if Position.Container = null then
!          return No_Element;
        end if;
  
!       if Position.Index > Index_Type'First then
!          return (Position.Container, Position.Index - 1);
!       end if;
  
!       return No_Element;
!    end Previous;
  
!    -------------------
!    -- Query_Element --
!    -------------------
  
+    procedure Query_Element
+      (Container : Vector;
+       Index     : Index_Type;
+       Process   : not null access procedure (Element : in Element_Type))
+    is
+       V : Vector renames Container'Unrestricted_Access.all;
+       B : Natural renames V.Busy;
+       L : Natural renames V.Lock;
  
     begin
+       if Index > Container.Last then
+          raise Constraint_Error;
+       end if;
  
!       if V.Elements (Index) = null then
!          raise Constraint_Error;
!       end if;
  
+       B := B + 1;
+       L := L + 1;
  
!       begin
!          Process (V.Elements (Index).all);
!       exception
!          when others =>
!             L := L - 1;
!             B := B - 1;
!             raise;
!       end;
  
!       L := L - 1;
!       B := B - 1;
!    end Query_Element;
  
!    procedure Query_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in Element_Type))
!    is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
! 
!       Query_Element (Position.Container.all, Position.Index, Process);
     end Query_Element;
  
+    ----------
+    -- Read --
+    ----------
  
!    procedure Read
!      (Stream    : access Root_Stream_Type'Class;
!       Container : out Vector)
!    is
!       Length : Count_Type'Base;
!       Last   : Index_Type'Base := Index_Type'Pred (Index_Type'First);
  
!       B : Boolean;
  
     begin
!       Clear (Container);
  
+       Count_Type'Base'Read (Stream, Length);
  
!       if Length > Capacity (Container) then
!          Reserve_Capacity (Container, Capacity => Length);
!       end if;
  
!       for J in Count_Type range 1 .. Length loop
!          Last := Last + 1;
  
!          Boolean'Read (Stream, B);
  
!          if B then
!             Container.Elements (Last) :=
!               new Element_Type'(Element_Type'Input (Stream));
!          end if;
  
+          Container.Last := Last;
+       end loop;
+    end Read;
  
!    procedure Read
!      (Stream   : access Root_Stream_Type'Class;
!       Position : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
  
!    ---------------------
!    -- Replace_Element --
!    ---------------------
  
+    procedure Replace_Element
+      (Container : in out Vector;
+       Index     : Index_Type;
+       New_Item  : Element_Type)
+    is
     begin
+       if Index > Container.Last then
+          raise Constraint_Error;
+       end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
        end if;
  
!       declare
!          X : Element_Access := Container.Elements (Index);
!       begin
!          Container.Elements (Index) := new Element_Type'(New_Item);
!          Free (X);
!       end;
!    end Replace_Element;
  
!    procedure Replace_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
!    begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
  
!       Replace_Element (Container, Position.Index, New_Item);
!    end Replace_Element;
  
!    ----------------------
!    -- Reserve_Capacity --
!    ----------------------
  
!    procedure Reserve_Capacity
!      (Container : in out Vector;
!       Capacity  : Count_Type)
!    is
!       N : constant Count_Type := Length (Container);
  
+    begin
+       if Capacity = 0 then
+          if N = 0 then
              declare
!                X : Elements_Access := Container.Elements;
              begin
!                Container.Elements := null;
!                Free (X);
              end;
  
+          elsif N < Container.Elements'Length then
+             if Container.Busy > 0 then
+                raise Program_Error;
+             end if;
+ 
              declare
!                subtype Array_Index_Subtype is Index_Type'Base range
!                  Index_Type'First .. Container.Last;
  
                 Src : Elements_Type renames
!                        Container.Elements (Array_Index_Subtype);
  
!                subtype Array_Subtype is
!                  Elements_Type (Array_Index_Subtype);
  
!                X : Elements_Access := Container.Elements;
  
!             begin
!                Container.Elements := new Array_Subtype'(Src);
!                Free (X);
!             end;
!          end if;
  
!          return;
!       end if;
  
!       if Container.Elements = null then
!          declare
!             Last_As_Int : constant Int'Base :=
!                             Int (Index_Type'First) + Int (Capacity) - 1;
  
!          begin
!             if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!                raise Constraint_Error;
!             end if;
  
!             declare
!                Last : constant Index_Type := Index_Type (Last_As_Int);
  
!                subtype Array_Subtype is
!                  Elements_Type (Index_Type'First .. Last);
  
!             begin
!                Container.Elements := new Array_Subtype;
!             end;
           end;
  
+          return;
        end if;
  
!       if Capacity <= N then
!          if N < Container.Elements'Length then
!             if Container.Busy > 0 then
!                raise Program_Error;
!             end if;
  
+             declare
+                subtype Array_Index_Subtype is Index_Type'Base range
+                  Index_Type'First .. Container.Last;
  
!                Src : Elements_Type renames
!                        Container.Elements (Array_Index_Subtype);
  
!                subtype Array_Subtype is
!                  Elements_Type (Array_Index_Subtype);
  
!                X : Elements_Access := Container.Elements;
  
!             begin
!                Container.Elements := new Array_Subtype'(Src);
!                Free (X);
!             end;
!          end if;
! 
!          return;
        end if;
  
!       if Capacity = Container.Elements'Length then
           return;
        end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       declare
!          Last_As_Int : constant Int'Base :=
!                          Int (Index_Type'First) + Int (Capacity) - 1;
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
! 
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
+             subtype Array_Subtype is
+               Elements_Type (Index_Type'First .. Last);
  
+             X : Elements_Access := Container.Elements;
  
!          begin
!             Container.Elements := new Array_Subtype;
  
!             declare
!                Src : Elements_Type renames
!                        X (Index_Type'First .. Container.Last);
  
!                Tgt : Elements_Type renames
!                        Container.Elements (Index_Type'First .. Container.Last);
  
!             begin
!                Tgt := Src;
!             end;
  
!             Free (X);
!          end;
!       end;
!    end Reserve_Capacity;
  
!    ----------------------
!    -- Reverse_Elements --
!    ----------------------
  
+    procedure Reverse_Elements (Container : in out Vector) is
+    begin
+       if Container.Length <= 1 then
           return;
        end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
        end if;
  
!       declare
!          I : Index_Type := Index_Type'First;
!          J : Index_Type := Container.Last;
!          E : Elements_Type renames Container.Elements.all;
  
!       begin
!          while I < J loop
!             declare
!                EI : constant Element_Access := E (I);
  
!             begin
!                E (I) := E (J);
!                E (J) := EI;
!             end;
  
+             I := I + 1;
+             J := J - 1;
+          end loop;
+       end;
+    end Reverse_Elements;
  
!    ------------------
!    -- Reverse_Find --
!    ------------------
  
!    function Reverse_Find
!      (Container : Vector;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
!       Last : Index_Type'Base;
  
     begin
!       if Position.Container /= null
!         and then Position.Container /= Container'Unchecked_Access
        then
           raise Program_Error;
        end if;
  
!       if Position.Container = null
!         or else Position.Index > Container.Last
        then
!          Last := Container.Last;
        else
!          Last := Position.Index;
        end if;
  
!       for Indx in reverse Index_Type'First .. Last loop
!          if Container.Elements (Indx) /= null
!            and then Container.Elements (Indx).all = Item
!          then
!             return (Container'Unchecked_Access, Indx);
!          end if;
!       end loop;
  
+       return No_Element;
+    end Reverse_Find;
  
!    ------------------------
!    -- Reverse_Find_Index --
!    ------------------------
  
!    function Reverse_Find_Index
!      (Container : Vector;
!       Item      : Element_Type;
!       Index     : Index_Type := Index_Type'Last) return Extended_Index
!    is
!       Last : Index_Type'Base;
  
     begin
!       if Index > Container.Last then
!          Last := Container.Last;
!       else
!          Last := Index;
        end if;
  
!       for Indx in reverse Index_Type'First .. Last loop
!          if Container.Elements (Indx) /= null
!            and then Container.Elements (Indx).all = Item
           then
!             return Indx;
           end if;
+       end loop;
  
!       return No_Index;
!    end Reverse_Find_Index;
  
!    ---------------------
!    -- Reverse_Iterate --
!    ---------------------
  
!    procedure Reverse_Iterate
!      (Container : Vector;
!       Process   : not null access procedure (Position : in Cursor))
!    is
!       V : Vector renames Container'Unrestricted_Access.all;
!       B : Natural renames V.Busy;
  
!    begin
!       B := B + 1;
  
!       begin
!          for Indx in reverse Index_Type'First .. Container.Last loop
!             Process (Cursor'(Container'Unchecked_Access, Indx));
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
  
!       B := B - 1;
!    end Reverse_Iterate;
  
+    ----------------
+    -- Set_Length --
+    ----------------
  
+    procedure Set_Length
+      (Container : in out Vector;
+       Length    : Count_Type)
+    is
+       N : constant Count_Type := Indefinite_Vectors.Length (Container);
  
     begin
!       if Length = N then
!          return;
!       end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
+       if Length < N then
+          for Index in 1 .. N - Length loop
+             declare
+                J : constant Index_Type := Container.Last;
+                X : Element_Access := Container.Elements (J);
+ 
+             begin
+                Container.Elements (J) := null;
+                Container.Last := J - 1;
+                Free (X);
+             end;
+          end loop;
  
           return;
        end if;
  
!       if Length > Capacity (Container) then
!          Reserve_Capacity (Container, Capacity => Length);
!       end if;
  
+       declare
+          Last_As_Int : constant Int'Base :=
+                          Int (Index_Type'First) + Int (Length) - 1;
  
!       begin
!          Container.Last := Index_Type (Last_As_Int);
!       end;
!    end Set_Length;
  
!    ----------
!    -- Swap --
!    ----------
  
+    procedure Swap
+      (Container : in out Vector;
+       I, J      : Index_Type)
+    is
     begin
!       if I > Container.Last
!         or else J > Container.Last
        then
!          raise Constraint_Error;
        end if;
  
!       if I = J then
           return;
        end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
        end if;
  
!       declare
!          EI : Element_Access renames Container.Elements (I);
!          EJ : Element_Access renames Container.Elements (J);
  
!          EI_Copy : constant Element_Access := EI;
  
+       begin
+          EI := EJ;
+          EJ := EI_Copy;
+       end;
+    end Swap;
  
!    procedure Swap
!      (Container : in out Vector;
!       I, J      : Cursor)
!    is
     begin
!       if I.Container = null
!         or else J.Container = null
        then
!          raise Constraint_Error;
        end if;
  
!       if I.Container /= Container'Unrestricted_Access
!         or else J.Container /= Container'Unrestricted_Access
        then
!          raise Program_Error;
        end if;
  
!       Swap (Container, I.Index, J.Index);
!    end Swap;
  
!    ---------------
!    -- To_Cursor --
!    ---------------
! 
!    function To_Cursor
!      (Container : Vector;
!       Index     : Extended_Index) return Cursor
!    is
!    begin
!       if Index not in Index_Type'First .. Container.Last then
!          return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Index);
!    end To_Cursor;
  
+    --------------
+    -- To_Index --
+    --------------
  
!    function To_Index (Position : Cursor) return Extended_Index is
     begin
!       if Position.Container = null then
!          return No_Index;
        end if;
  
!       if Position.Index <= Position.Container.Last then
!          return Position.Index;
!       end if;
  
+       return No_Index;
+    end To_Index;
  
!    ---------------
!    -- To_Vector --
!    ---------------
! 
!    function To_Vector (Length : Count_Type) return Vector is
     begin
!       if Length = 0 then
!          return Empty_Vector;
        end if;
  
!       declare
!          First       : constant Int := Int (Index_Type'First);
!          Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : Index_Type;
!          Elements    : Elements_Access;
  
+       begin
+          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
+             raise Constraint_Error;
+          end if;
  
!          Last := Index_Type (Last_As_Int);
!          Elements := new Elements_Type (Index_Type'First .. Last);
  
!          return (Controlled with Elements, Last, 0, 0);
!       end;
!    end To_Vector;
  
!    function To_Vector
!      (New_Item : Element_Type;
!       Length   : Count_Type) return Vector
!    is
!    begin
!       if Length = 0 then
!          return Empty_Vector;
!       end if;
  
!       declare
!          First       : constant Int := Int (Index_Type'First);
!          Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : Index_Type'Base;
!          Elements    : Elements_Access;
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          Last := Index_Type (Last_As_Int);
!          Elements := new Elements_Type (Index_Type'First .. Last);
  
!          Last := Index_Type'First;
  
!          begin
!             loop
!                Elements (Last) := new Element_Type'(New_Item);
!                exit when Last = Elements'Last;
!                Last := Last + 1;
!             end loop;
!          exception
!             when others =>
!                for J in Index_Type'First .. Last - 1 loop
!                   Free (Elements (J));
!                end loop;
  
!                Free (Elements);
!                raise;
!          end;
  
!          return (Controlled with Elements, Last, 0, 0);
!       end;
!    end To_Vector;
  
+    --------------------
+    -- Update_Element --
+    --------------------
  
!    procedure Update_Element
!      (Container : in out Vector;
!       Index     : Index_Type;
!       Process   : not null access procedure (Element : in out Element_Type))
!    is
!       B : Natural renames Container.Busy;
!       L : Natural renames Container.Lock;
  
     begin
+       if Index > Container.Last then
+          raise Constraint_Error;
+       end if;
  
!       if Container.Elements (Index) = null then
!          raise Constraint_Error;
        end if;
  
!       B := B + 1;
!       L := L + 1;
  
!       begin
!          Process (Container.Elements (Index).all);
!       exception
!          when others =>
!             L := L - 1;
!             B := B - 1;
!             raise;
!       end;
  
!       L := L - 1;
!       B := B - 1;
!    end Update_Element;
! 
!    procedure Update_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type))
!    is
!    begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
  
+       if Position.Container /= Container'Unrestricted_Access then
+          raise Program_Error;
+       end if;
  
!       Update_Element (Container, Position.Index, Process);
!    end Update_Element;
  
!    -----------
!    -- Write --
!    -----------
! 
!    procedure Write
!      (Stream    : access Root_Stream_Type'Class;
!       Container : Vector)
!    is
!       N : constant Count_Type := Length (Container);
  
     begin
+       Count_Type'Base'Write (Stream, N);
  
!       if N = 0 then
!          return;
        end if;
  
!       declare
!          E : Elements_Type renames Container.Elements.all;
  
!       begin
!          for Indx in Index_Type'First .. Container.Last loop
  
!             --  There's another way to do this.  Instead a separate
!             --  Boolean for each element, you could write a Boolean
!             --  followed by a count of how many nulls or non-nulls
!             --  follow in the array.
  
!             if E (Indx) = null then
!                Boolean'Write (Stream, False);
!             else
!                Boolean'Write (Stream, True);
!                Element_Type'Output (Stream, E (Indx).all);
!             end if;
!          end loop;
!       end;
!    end Write;
  
+    procedure Write
+      (Stream   : access Root_Stream_Type'Class;
+       Position : Cursor)
+    is
+    begin
+       raise Program_Error;
+    end Write;
  
  end Ada.Containers.Indefinite_Vectors;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coinve.ads gcc-4.1.0/gcc/ada/a-coinve.ads
*** gcc-4.0.2/gcc/ada/a-coinve.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coinve.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.CONTAINERS.INDEFINITE_VECTORS                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . C O N T A I N E R S . I N D E F I N I T E _ V E C T O R S     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Streams;
*** 38,60 ****
  
  generic
     type Index_Type is range <>;
- 
     type Element_Type (<>) is private;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Vectors is
! pragma Preelaborate (Indefinite_Vectors);
  
     subtype Extended_Index is Index_Type'Base
       range Index_Type'First - 1 ..
!             Index_Type'Last +
!             Boolean'Pos (Index_Type'Base'Last > Index_Type'Last);
  
     No_Index : constant Extended_Index := Extended_Index'First;
  
-    subtype Index_Subtype is Index_Type;
- 
     type Vector is tagged private;
  
     type Cursor is private;
--- 38,56 ----
  
  generic
     type Index_Type is range <>;
     type Element_Type (<>) is private;
  
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Indefinite_Vectors is
!    pragma Preelaborate;
  
     subtype Extended_Index is Index_Type'Base
       range Index_Type'First - 1 ..
!            Index_Type'Min (Index_Type'Base'Last - 1, Index_Type'Last) + 1;
  
     No_Index : constant Extended_Index := Extended_Index'First;
  
     type Vector is tagged private;
  
     type Cursor is private;
*************** pragma Preelaborate (Indefinite_Vectors)
*** 63,68 ****
--- 59,66 ----
  
     No_Element : constant Cursor;
  
+    function "=" (Left, Right : Vector) return Boolean;
+ 
     function To_Vector (Length : Count_Type) return Vector;
  
     function To_Vector
*************** pragma Preelaborate (Indefinite_Vectors)
*** 77,84 ****
  
     function "&" (Left, Right : Element_Type) return Vector;
  
-    function "=" (Left, Right : Vector) return Boolean;
- 
     function Capacity (Container : Vector) return Count_Type;
  
     procedure Reserve_Capacity
--- 75,80 ----
*************** pragma Preelaborate (Indefinite_Vectors)
*** 87,92 ****
--- 83,92 ----
  
     function Length (Container : Vector) return Count_Type;
  
+    procedure Set_Length
+      (Container : in out Vector;
+       Length    : Count_Type);
+ 
     function Is_Empty (Container : Vector) return Boolean;
  
     procedure Clear (Container : in out Vector);
*************** pragma Preelaborate (Indefinite_Vectors)
*** 103,108 ****
--- 103,118 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Vector;
+       Index     : Index_Type;
+       New_Item  : Element_Type);
+ 
+    procedure Replace_Element
+      (Container : in out Vector;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Container : Vector;
        Index     : Index_Type;
*************** pragma Preelaborate (Indefinite_Vectors)
*** 113,136 ****
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type));
! 
!    procedure Replace_Element
!      (Container : Vector;
!       Index     : Index_Type;
!       By        : Element_Type);
! 
!    procedure Replace_Element
!      (Position : Cursor;
!       By       : Element_Type);
! 
!    procedure Assign (Target : in out Vector; Source : Vector);
  
     procedure Move (Target : in out Vector; Source : in out Vector);
  
--- 123,136 ----
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Update_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Move (Target : in out Vector; Source : in out Vector);
  
*************** pragma Preelaborate (Indefinite_Vectors)
*** 198,210 ****
        Position  : out Cursor;
        Count     : Count_Type := 1);
  
-    procedure Set_Length
-      (Container : in out Vector;
-       Length    : Count_Type);
- 
     procedure Delete
       (Container : in out Vector;
!       Index     : Extended_Index;  --  TODO: verify
        Count     : Count_Type := 1);
  
     procedure Delete
--- 198,206 ----
        Position  : out Cursor;
        Count     : Count_Type := 1);
  
     procedure Delete
       (Container : in out Vector;
!       Index     : Extended_Index;
        Count     : Count_Type := 1);
  
     procedure Delete
*************** pragma Preelaborate (Indefinite_Vectors)
*** 220,225 ****
--- 216,227 ----
       (Container : in out Vector;
        Count     : Count_Type := 1);
  
+    procedure Reverse_Elements (Container : in out Vector);
+ 
+    procedure Swap (Container : in out Vector; I, J : Index_Type);
+ 
+    procedure Swap (Container : in out Vector; I, J : Cursor);
+ 
     function First_Index (Container : Vector) return Index_Type;
  
     function First (Container : Vector) return Cursor;
*************** pragma Preelaborate (Indefinite_Vectors)
*** 232,244 ****
  
     function Last_Element (Container : Vector) return Element_Type;
  
!    procedure Swap (Container : Vector; I, J : Index_Type);
  
!    procedure Swap (I, J : Cursor);
  
!    generic
!       with function "<" (Left, Right : Element_Type) return Boolean is <>;
!    procedure Generic_Sort (Container : Vector);
  
     function Find_Index
       (Container : Vector;
--- 234,246 ----
  
     function Last_Element (Container : Vector) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Previous (Position : in out Cursor);
  
     function Find_Index
       (Container : Vector;
*************** pragma Preelaborate (Indefinite_Vectors)
*** 248,277 ****
     function Find
       (Container : Vector;
        Item      : Element_Type;
!        Position  : Cursor := No_Element) return Cursor;
  
     function Reverse_Find_Index
       (Container : Vector;
        Item      : Element_Type;
        Index     : Index_Type := Index_Type'Last) return Extended_Index;
  
!    function Reverse_Find (Container : Vector;
!                           Item      : Element_Type;
!                           Position  : Cursor := No_Element)
!       return Cursor;
  
     function Contains
       (Container : Vector;
        Item      : Element_Type) return Boolean;
  
-    function Next (Position : Cursor) return Cursor;
- 
-    function Previous (Position : Cursor) return Cursor;
- 
-    procedure Next (Position : in out Cursor);
- 
-    procedure Previous (Position : in out Cursor);
- 
     function Has_Element (Position : Cursor) return Boolean;
  
     procedure Iterate
--- 250,271 ----
     function Find
       (Container : Vector;
        Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor;
  
     function Reverse_Find_Index
       (Container : Vector;
        Item      : Element_Type;
        Index     : Index_Type := Index_Type'Last) return Extended_Index;
  
!    function Reverse_Find
!      (Container : Vector;
!       Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor;
  
     function Contains
       (Container : Vector;
        Item      : Element_Type) return Boolean;
  
     function Has_Element (Position : Cursor) return Boolean;
  
     procedure Iterate
*************** pragma Preelaborate (Indefinite_Vectors)
*** 282,287 ****
--- 276,293 ----
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor));
  
+    generic
+       with function "<" (Left, Right : Element_Type) return Boolean is <>;
+    package Generic_Sorting is
+ 
+       function Is_Sorted (Container : Vector) return Boolean;
+ 
+       procedure Sort (Container : in out Vector);
+ 
+       procedure Merge (Target : in out Vector; Source : in out Vector);
+ 
+    end Generic_Sorting;
+ 
  private
  
     pragma Inline (First_Index);
*************** private
*** 307,312 ****
--- 313,320 ----
     type Vector is new Controlled with record
        Elements : Elements_Access;
        Last     : Extended_Index := No_Index;
+       Busy     : Natural := 0;
+       Lock     : Natural := 0;
     end record;
  
     procedure Adjust (Container : in out Vector);
*************** private
*** 327,333 ****
  
     for Vector'Read use Read;
  
!    Empty_Vector : constant Vector := Vector'(Controlled with null, No_Index);
  
     type Vector_Access is access constant Vector;
     for Vector_Access'Storage_Size use 0;
--- 335,341 ----
  
     for Vector'Read use Read;
  
!    Empty_Vector : constant Vector := (Controlled with null, No_Index, 0, 0);
  
     type Vector_Access is access constant Vector;
     for Vector_Access'Storage_Size use 0;
*************** private
*** 337,343 ****
        Index     : Index_Type := Index_Type'First;
     end record;
  
     No_Element : constant Cursor := Cursor'(null, Index_Type'First);
  
  end Ada.Containers.Indefinite_Vectors;
- 
--- 345,362 ----
        Index     : Index_Type := Index_Type'First;
     end record;
  
+    procedure Write
+      (Stream   : access Root_Stream_Type'Class;
+       Position : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
+    procedure Read
+      (Stream   : access Root_Stream_Type'Class;
+       Position : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
     No_Element : constant Cursor := Cursor'(null, Index_Type'First);
  
  end Ada.Containers.Indefinite_Vectors;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-colien.adb gcc-4.1.0/gcc/ada/a-colien.adb
*** gcc-4.0.2/gcc/ada/a-colien.adb	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-colien.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . C O M M A N D _ L I N E . E N V I R O N M E N T          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1996-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . C O M M A N D _ L I N E . E N V I R O N M E N T          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with System;
+ 
  package body Ada.Command_Line.Environment is
  
     -----------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/a-colien.ads gcc-4.1.0/gcc/ada/a-colien.ads
*** gcc-4.0.2/gcc/ada/a-colien.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-colien.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . C O M M A N D _ L I N E . E N V I R O N M E N T          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --         Copyright (C) 1996-2002 Free Software Foundation, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . C O M M A N D _ L I N E . E N V I R O N M E N T          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-colire.adb gcc-4.1.0/gcc/ada/a-colire.adb
*** gcc-4.0.2/gcc/ada/a-colire.adb	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-colire.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . C O M M A N D _ L I N E . R E M O V E                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --        Copyright (C) 1999 Free Software Foundation, Inc.                 --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . C O M M A N D _ L I N E . R E M O V E                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1999-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Command_Line.Remove is
*** 38,44 ****
     -----------------------
  
     procedure Initialize;
!    --  Initialize the Remove_Count and Remove_Args variables.
  
     ----------------
     -- Initialize --
--- 38,44 ----
     -----------------------
  
     procedure Initialize;
!    --  Initialize the Remove_Count and Remove_Args variables
  
     ----------------
     -- Initialize --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-colire.ads gcc-4.1.0/gcc/ada/a-colire.ads
*** gcc-4.0.2/gcc/ada/a-colire.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-colire.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . C O M M A N D _ L I N E . R E M O V E                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --        Copyright (C) 1999 Free Software Foundation, Inc.                 --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . C O M M A N D _ L I N E . R E M O V E                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1999-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  --  argument, Argument_Count will be 2, and Argument (2) will return C.
  
  package Ada.Command_Line.Remove is
! pragma Preelaborate (Remove);
  
     procedure Remove_Argument (Number : in Positive);
     --  Removes the argument identified by Number, which must be in the
--- 41,47 ----
  --  argument, Argument_Count will be 2, and Argument (2) will return C.
  
  package Ada.Command_Line.Remove is
!    pragma Preelaborate;
  
     procedure Remove_Argument (Number : in Positive);
     --  Removes the argument identified by Number, which must be in the
diff -Nrcpad gcc-4.0.2/gcc/ada/a-comlin.adb gcc-4.1.0/gcc/ada/a-comlin.adb
*** gcc-4.0.2/gcc/ada/a-comlin.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-comlin.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . C O M M A N D _ L I N E                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . C O M M A N D _ L I N E                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-comlin.ads gcc-4.1.0/gcc/ada/a-comlin.ads
*** gcc-4.0.2/gcc/ada/a-comlin.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-comlin.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,42 ****
  ------------------------------------------------------------------------------
  
  package Ada.Command_Line is
! pragma Preelaborate (Command_Line);
  
     function Argument_Count return Natural;
     --  If the external execution environment supports passing arguments to a
--- 36,42 ----
  ------------------------------------------------------------------------------
  
  package Ada.Command_Line is
!    pragma Preelaborate;
  
     function Argument_Count return Natural;
     --  If the external execution environment supports passing arguments to a
diff -Nrcpad gcc-4.0.2/gcc/ada/a-contai.ads gcc-4.1.0/gcc/ada/a-contai.ads
*** gcc-4.0.2/gcc/ada/a-contai.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-contai.ads	Mon Sep  5 07:51:25 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                              ADA.CONTAINERS                              --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       A D A . C O N T A I N E R S                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
***************
*** 14,20 ****
  ------------------------------------------------------------------------------
  
  package Ada.Containers is
! pragma Pure (Containers);
  
     type Hash_Type is mod 2**32;
     type Count_Type is range 0 .. 2**31 - 1;
--- 14,20 ----
  ------------------------------------------------------------------------------
  
  package Ada.Containers is
!    pragma Pure;
  
     type Hash_Type is mod 2**32;
     type Count_Type is range 0 .. 2**31 - 1;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-convec.adb gcc-4.1.0/gcc/ada/a-convec.adb
*** gcc-4.0.2/gcc/ada/a-convec.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-convec.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                          ADA.CONTAINERS.VECTORS                          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                A D A . C O N T A I N E R S . V E C T O R S               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Containers.Vectors is
*** 67,73 ****
                           new Elements_Type'(RE);
  
           begin
!             return (Controlled with Elements, Right.Last);
           end;
        end if;
  
--- 67,73 ----
                           new Elements_Type'(RE);
  
           begin
!             return (Controlled with Elements, Right.Last, 0, 0);
           end;
        end if;
  
*************** package body Ada.Containers.Vectors is
*** 80,107 ****
                           new Elements_Type'(LE);
  
           begin
!             return (Controlled with Elements, Left.Last);
           end;
  
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (LN) + Int (RN) - 1;
  
!          Last : constant Index_Type := Index_Type (Last_As_Int);
  
!          LE : Elements_Type renames
!                 Left.Elements (Index_Type'First .. Left.Last);
  
!          RE : Elements_Type renames
!                 Right.Elements (Index_Type'First .. Right.Last);
  
!          Elements : constant Elements_Access :=
                           new Elements_Type'(LE & RE);
  
!       begin
!          return (Controlled with Elements, Last);
        end;
     end "&";
  
--- 80,114 ----
                           new Elements_Type'(LE);
  
           begin
!             return (Controlled with Elements, Left.Last, 0, 0);
           end;
  
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=  -- TODO: handle overflow
                           Int (Index_Type'First) + Int (LN) + Int (RN) - 1;
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             LE : Elements_Type renames
!                    Left.Elements (Index_Type'First .. Left.Last);
  
!             RE : Elements_Type renames
!                    Right.Elements (Index_Type'First .. Right.Last);
! 
!             Elements : constant Elements_Access :=
                           new Elements_Type'(LE & RE);
  
!          begin
!             return (Controlled with Elements, Last, 0, 0);
!          end;
        end;
     end "&";
  
*************** package body Ada.Containers.Vectors is
*** 118,142 ****
                           new Elements_Subtype'(others => Right);
  
           begin
!             return (Controlled with Elements, Index_Type'First);
           end;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (LN);
  
!          Last : constant Index_Type := Index_Type (Last_As_Int);
  
!          LE : Elements_Type renames
!                 Left.Elements (Index_Type'First .. Left.Last);
  
!          subtype ET is Elements_Type (Index_Type'First .. Last);
  
!          Elements : constant Elements_Access := new ET'(LE & Right);
  
!       begin
!          return (Controlled with Elements, Last);
        end;
     end "&";
  
--- 125,156 ----
                           new Elements_Subtype'(others => Right);
  
           begin
!             return (Controlled with Elements, Index_Type'First, 0, 0);
           end;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=  -- TODO: handle overflow
                           Int (Index_Type'First) + Int (LN);
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             LE : Elements_Type renames
!                    Left.Elements (Index_Type'First .. Left.Last);
  
!             subtype ET is Elements_Type (Index_Type'First .. Last);
  
!             Elements : constant Elements_Access := new ET'(LE & Right);
! 
!          begin
!             return (Controlled with Elements, Last, 0, 0);
!          end;
        end;
     end "&";
  
*************** package body Ada.Containers.Vectors is
*** 153,190 ****
                           new Elements_Subtype'(others => Left);
  
           begin
!             return (Controlled with Elements, Index_Type'First);
           end;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (RN);
  
!          Last : constant Index_Type := Index_Type (Last_As_Int);
  
!          RE : Elements_Type renames
!                 Right.Elements (Index_Type'First .. Right.Last);
  
!          subtype ET is Elements_Type (Index_Type'First .. Last);
  
!          Elements : constant Elements_Access := new ET'(Left & RE);
  
!       begin
!          return (Controlled with Elements, Last);
        end;
     end "&";
  
     function "&" (Left, Right  : Element_Type) return Vector is
!       subtype IT is Index_Type'Base range
!         Index_Type'First .. Index_Type'Succ (Index_Type'First);
  
!       subtype ET is Elements_Type (IT);
  
!       Elements : constant Elements_Access := new ET'(Left, Right);
  
!    begin
!       return Vector'(Controlled with Elements, Elements'Last);
     end "&";
  
     ---------
--- 167,217 ----
                           new Elements_Subtype'(others => Left);
  
           begin
!             return (Controlled with Elements, Index_Type'First, 0, 0);
           end;
        end if;
  
        declare
!          Last_As_Int : constant Int'Base :=  -- TODO: handle overflow
                           Int (Index_Type'First) + Int (RN);
  
!       begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             RE : Elements_Type renames
!                    Right.Elements (Index_Type'First .. Right.Last);
  
!             subtype ET is Elements_Type (Index_Type'First .. Last);
  
!             Elements : constant Elements_Access := new ET'(Left & RE);
! 
!          begin
!             return (Controlled with Elements, Last, 0, 0);
!          end;
        end;
     end "&";
  
     function "&" (Left, Right  : Element_Type) return Vector is
!    begin
!       if Index_Type'First >= Index_Type'Last then
!          raise Constraint_Error;
!       end if;
  
!       declare
!          Last : constant Index_Type := Index_Type'First + 1;
  
!          subtype ET is Elements_Type (Index_Type'First .. Last);
  
!          Elements : constant Elements_Access := new ET'(Left, Right);
! 
!       begin
!          return (Controlled with Elements, Last, 0, 0);
!       end;
     end "&";
  
     ---------
*************** package body Ada.Containers.Vectors is
*** 216,240 ****
  
     procedure Adjust (Container : in out Vector) is
     begin
!       if Container.Elements = null then
!          return;
!       end if;
! 
!       if Container.Elements'Length = 0
!         or else Container.Last < Index_Type'First
!       then
           Container.Elements := null;
           return;
        end if;
  
        declare
!          X : constant Elements_Access := Container.Elements;
!          L : constant Index_Type'Base := Container.Last;
!          E : Elements_Type renames X (Index_Type'First .. L);
        begin
           Container.Elements := null;
!          Container.Last := Index_Type'Pred (Index_Type'First);
!          Container.Elements := new Elements_Type'(E);
           Container.Last := L;
        end;
     end Adjust;
--- 243,263 ----
  
     procedure Adjust (Container : in out Vector) is
     begin
!       if Container.Last = No_Index then
           Container.Elements := null;
           return;
        end if;
  
        declare
!          E : constant Elements_Access := Container.Elements;
!          L : constant Index_Type := Container.Last;
! 
        begin
           Container.Elements := null;
!          Container.Last := No_Index;
!          Container.Busy := 0;
!          Container.Lock := 0;
!          Container.Elements := new Elements_Type'(E (Index_Type'First .. L));
           Container.Last := L;
        end;
     end Adjust;
*************** package body Ada.Containers.Vectors is
*** 249,257 ****
           return;
        end if;
  
        Insert
          (Container,
!          Index_Type'Succ (Container.Last),
           New_Item);
     end Append;
  
--- 272,284 ----
           return;
        end if;
  
+       if Container.Last = Index_Type'Last then
+          raise Constraint_Error;
+       end if;
+ 
        Insert
          (Container,
!          Container.Last + 1,
           New_Item);
     end Append;
  
*************** package body Ada.Containers.Vectors is
*** 265,308 ****
           return;
        end if;
  
        Insert
          (Container,
!          Index_Type'Succ (Container.Last),
           New_Item,
           Count);
     end Append;
  
-    ------------
-    -- Assign --
-    ------------
- 
-    procedure Assign
-      (Target : in out Vector;
-       Source : Vector)
-    is
-       N : constant Count_Type := Length (Source);
- 
-    begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
-       Clear (Target);
- 
-       if N = 0 then
-          return;
-       end if;
- 
-       if N > Capacity (Target) then
-          Reserve_Capacity (Target, Capacity => N);
-       end if;
- 
-       Target.Elements (Index_Type'First .. Source.Last) :=
-         Source.Elements (Index_Type'First .. Source.Last);
- 
-       Target.Last := Source.Last;
-    end Assign;
- 
     --------------
     -- Capacity --
     --------------
--- 292,308 ----
           return;
        end if;
  
+       if Container.Last = Index_Type'Last then
+          raise Constraint_Error;
+       end if;
+ 
        Insert
          (Container,
!          Container.Last + 1,
           New_Item,
           Count);
     end Append;
  
     --------------
     -- Capacity --
     --------------
*************** package body Ada.Containers.Vectors is
*** 322,328 ****
  
     procedure Clear (Container : in out Vector) is
     begin
!       Container.Last := Index_Type'Pred (Index_Type'First);
     end Clear;
  
     --------------
--- 322,332 ----
  
     procedure Clear (Container : in out Vector) is
     begin
!       if Container.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       Container.Last := No_Index;
     end Clear;
  
     --------------
*************** package body Ada.Containers.Vectors is
*** 347,385 ****
        Count     : Count_Type := 1)
     is
     begin
!       if Count = 0 then
!          return;
        end if;
  
!       declare
!          subtype I_Subtype is Index_Type'Base range
!            Index_Type'First .. Container.Last;
  
!          I : constant I_Subtype := Index;
!          --  TODO: not sure whether to relax this check ???
  
!          I_As_Int : constant Int := Int (I);
  
           Old_Last_As_Int : constant Int := Index_Type'Pos (Container.Last);
  
           Count1 : constant Int'Base := Count_Type'Pos (Count);
           Count2 : constant Int'Base := Old_Last_As_Int - I_As_Int + 1;
! 
!          N : constant Int'Base := Int'Min (Count1, Count2);
  
           J_As_Int : constant Int'Base := I_As_Int + N;
-          J        : constant Index_Type'Base := Index_Type'Base (J_As_Int);
  
!          E : Elements_Type renames Container.Elements.all;
  
!          New_Last_As_Int : constant Int'Base := Old_Last_As_Int - N;
  
!          New_Last : constant Extended_Index :=
!                       Extended_Index (New_Last_As_Int);
  
!       begin
!          E (I .. New_Last) := E (J .. Container.Last);
!          Container.Last := New_Last;
        end;
     end Delete;
  
--- 351,404 ----
        Count     : Count_Type := 1)
     is
     begin
!       if Index < Index_Type'First then
!          raise Constraint_Error;
        end if;
  
!       if Index > Container.Last then
!          if Index > Container.Last + 1 then
!             raise Constraint_Error;
!          end if;
  
!          return;
!       end if;
  
!       if Count = 0 then
!          return;
!       end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
+       declare
+          I_As_Int        : constant Int := Int (Index);
           Old_Last_As_Int : constant Int := Index_Type'Pos (Container.Last);
  
           Count1 : constant Int'Base := Count_Type'Pos (Count);
           Count2 : constant Int'Base := Old_Last_As_Int - I_As_Int + 1;
!          N      : constant Int'Base := Int'Min (Count1, Count2);
  
           J_As_Int : constant Int'Base := I_As_Int + N;
  
!       begin
!          if J_As_Int > Old_Last_As_Int then
!             Container.Last := Index - 1;
  
!          else
!             declare
!                J : constant Index_Type := Index_Type (J_As_Int);
!                E : Elements_Type renames Container.Elements.all;
  
!                New_Last_As_Int : constant Int'Base := Old_Last_As_Int - N;
!                New_Last        : constant Index_Type :=
!                                    Index_Type (New_Last_As_Int);
  
!             begin
!                E (Index .. New_Last) := E (J .. Container.Last);
!                Container.Last := New_Last;
!             end;
!          end if;
        end;
     end Delete;
  
*************** package body Ada.Containers.Vectors is
*** 389,416 ****
        Count     : Count_Type := 1)
     is
     begin
! 
!       if Position.Container /= null
!         and then Position.Container /=
!                    Vector_Access'(Container'Unchecked_Access)
!       then
!          raise Program_Error;
        end if;
  
!       if Position.Container = null
          or else Position.Index > Container.Last
        then
!          Position := No_Element;
!          return;
        end if;
  
        Delete (Container, Position.Index, Count);
  
!       if Position.Index <= Container.Last then
!          Position := (Container'Unchecked_Access, Position.Index);
!       else
!          Position := No_Element;
!       end if;
     end Delete;
  
     ------------------
--- 408,436 ----
        Count     : Count_Type := 1)
     is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access
          or else Position.Index > Container.Last
        then
!          raise Program_Error;
        end if;
  
        Delete (Container, Position.Index, Count);
  
!       --  This is the old behavior, prior to the York API (2005/06):
! 
!       --  if Position.Index <= Container.Last then
!       --    Position := (Container'Unchecked_Access, Position.Index);
!       --  else
!       --    Position := No_Element;
!       --  end if;
! 
!       --  This is the behavior specified by the York API:
! 
!       Position := No_Element;
     end Delete;
  
     ------------------
*************** package body Ada.Containers.Vectors is
*** 449,462 ****
           return;
        end if;
  
!       if Count >= Length (Container) then
!          Clear (Container);
!          return;
        end if;
  
!       Index := Int'Base (Container.Last) - Int'Base (Count) + 1;
  
!       Delete (Container, Index_Type'Base (Index), Count);
     end Delete_Last;
  
     -------------
--- 469,485 ----
           return;
        end if;
  
!       if Container.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       Index := Int'Base (Container.Last) - Int'Base (Count);
  
!       if Index < Index_Type'Pos (Index_Type'First) then
!          Container.Last := No_Index;
!       else
!          Container.Last := Index_Type (Index);
!       end if;
     end Delete_Last;
  
     -------------
*************** package body Ada.Containers.Vectors is
*** 467,480 ****
       (Container : Vector;
        Index     : Index_Type) return Element_Type
     is
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Container.Last;
     begin
!       return Container.Elements (T'(Index));
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
        return Element (Position.Container.all, Position.Index);
     end Element;
  
--- 490,509 ----
       (Container : Vector;
        Index     : Index_Type) return Element_Type
     is
     begin
!       if Index > Container.Last then
!          raise Constraint_Error;
!       end if;
! 
!       return Container.Elements (Index);
     end Element;
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Container = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Element (Position.Container.all, Position.Index);
     end Element;
  
*************** package body Ada.Containers.Vectors is
*** 484,492 ****
  
     procedure Finalize (Container : in out Vector) is
        X : Elements_Access := Container.Elements;
     begin
        Container.Elements := null;
!       Container.Last := Index_Type'Pred (Index_Type'First);
        Free (X);
     end Finalize;
  
--- 513,526 ----
  
     procedure Finalize (Container : in out Vector) is
        X : Elements_Access := Container.Elements;
+ 
     begin
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        Container.Elements := null;
!       Container.Last := No_Index;
        Free (X);
     end Finalize;
  
*************** package body Ada.Containers.Vectors is
*** 497,508 ****
     function Find
       (Container : Vector;
        Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor is
! 
     begin
        if Position.Container /= null
!         and then Position.Container /=
!                    Vector_Access'(Container'Unchecked_Access)
        then
           raise Program_Error;
        end if;
--- 531,542 ----
     function Find
       (Container : Vector;
        Item      : Element_Type;
!       Position  : Cursor := No_Element) return Cursor
!    is
     begin
        if Position.Container /= null
!         and then (Position.Container /= Container'Unrestricted_Access
!                     or else Position.Index > Container.Last)
        then
           raise Program_Error;
        end if;
*************** package body Ada.Containers.Vectors is
*** 523,529 ****
     function Find_Index
       (Container : Vector;
        Item      : Element_Type;
!       Index     : Index_Type := Index_Type'First) return Extended_Index is
     begin
        for Indx in Index .. Container.Last loop
           if Container.Elements (Indx) = Item then
--- 557,564 ----
     function Find_Index
       (Container : Vector;
        Item      : Element_Type;
!       Index     : Index_Type := Index_Type'First) return Extended_Index
!    is
     begin
        for Indx in Index .. Container.Last loop
           if Container.Elements (Indx) = Item then
*************** package body Ada.Containers.Vectors is
*** 566,591 ****
        return Index_Type'First;
     end First_Index;
  
!    ------------------
!    -- Generic_Sort --
!    ------------------
  
!    procedure Generic_Sort (Container : Vector)
!    is
!       procedure Sort is
!          new Generic_Array_Sort
!           (Index_Type   => Index_Type,
!            Element_Type => Element_Type,
!            Array_Type   => Elements_Type,
!            "<"          => "<");
  
!    begin
!       if Container.Elements = null then
!          return;
!       end if;
  
!       Sort (Container.Elements (Index_Type'First .. Container.Last));
!    end Generic_Sort;
  
     -----------------
     -- Has_Element --
--- 601,712 ----
        return Index_Type'First;
     end First_Index;
  
!    ---------------------
!    -- Generic_Sorting --
!    ---------------------
  
!    package body Generic_Sorting is
  
!       ---------------
!       -- Is_Sorted --
!       ---------------
  
!       function Is_Sorted (Container : Vector) return Boolean is
!       begin
!          if Container.Last <= Index_Type'First then
!             return True;
!          end if;
! 
!          declare
!             E : Elements_Type renames Container.Elements.all;
!          begin
!             for I in Index_Type'First .. Container.Last - 1 loop
!                if E (I + 1) < E (I) then
!                   return False;
!                end if;
!             end loop;
!          end;
! 
!          return True;
!       end Is_Sorted;
! 
!       -----------
!       -- Merge --
!       -----------
! 
!       procedure Merge (Target, Source : in out Vector) is
!          I : Index_Type'Base := Target.Last;
!          J : Index_Type'Base;
! 
!       begin
!          if Target.Last < Index_Type'First then
!             Move (Target => Target, Source => Source);
!             return;
!          end if;
! 
!          if Target'Address = Source'Address then
!             return;
!          end if;
! 
!          if Source.Last < Index_Type'First then
!             return;
!          end if;
! 
!          if Source.Busy > 0 then
!             raise Program_Error;
!          end if;
! 
!          Target.Set_Length (Length (Target) + Length (Source));
! 
!          J := Target.Last;
!          while Source.Last >= Index_Type'First loop
!             if I < Index_Type'First then
!                Target.Elements (Index_Type'First .. J) :=
!                  Source.Elements (Index_Type'First .. Source.Last);
! 
!                Source.Last := No_Index;
!                return;
!             end if;
! 
!             if Source.Elements (Source.Last) < Target.Elements (I) then
!                Target.Elements (J) := Target.Elements (I);
!                I := I - 1;
! 
!             else
!                Target.Elements (J) := Source.Elements (Source.Last);
!                Source.Last := Source.Last - 1;
!             end if;
! 
!             J := J - 1;
!          end loop;
!       end Merge;
! 
!       ----------
!       -- Sort --
!       ----------
! 
!       procedure Sort (Container : in out Vector)
!       is
!          procedure Sort is
!             new Generic_Array_Sort
!              (Index_Type   => Index_Type,
!               Element_Type => Element_Type,
!               Array_Type   => Elements_Type,
!               "<"          => "<");
! 
!       begin
!          if Container.Last <= Index_Type'First then
!             return;
!          end if;
! 
!          if Container.Lock > 0 then
!             raise Program_Error;
!          end if;
! 
!          Sort (Container.Elements (Index_Type'First .. Container.Last));
!       end Sort;
! 
!    end Generic_Sorting;
  
     -----------------
     -- Has_Element --
*************** package body Ada.Containers.Vectors is
*** 610,649 ****
        New_Item  : Element_Type;
        Count     : Count_Type := 1)
     is
-       Old_Last : constant Extended_Index := Container.Last;
- 
-       Old_Last_As_Int : constant Int := Index_Type'Pos (Old_Last);
- 
        N : constant Int := Count_Type'Pos (Count);
  
!       New_Last_As_Int : constant Int'Base := Old_Last_As_Int + N;
  
!       New_Last : constant Extended_Index := Extended_Index (New_Last_As_Int);
  
!       Index : Index_Type;
  
!       Dst_Last : Index_Type;
!       Dst      : Elements_Access;
  
-    begin
        if Count = 0 then
           return;
        end if;
  
        declare
!          subtype Before_Subtype is Index_Type'Base range
!            Index_Type'First .. Index_Type'Succ (Container.Last);
  
!          Old_First : constant Before_Subtype := Before;
  
!          Old_First_As_Int : constant Int := Index_Type'Pos (Old_First);
  
!          New_First_As_Int : constant Int'Base := Old_First_As_Int + N;
  
!       begin
!          Index := Index_Type (New_First_As_Int);
        end;
  
        if Container.Elements = null then
           declare
              subtype Elements_Subtype is
--- 731,777 ----
        New_Item  : Element_Type;
        Count     : Count_Type := 1)
     is
        N : constant Int := Count_Type'Pos (Count);
  
!       New_Last_As_Int : Int'Base;
!       New_Last        : Index_Type;
  
!       Dst : Elements_Access;
  
!    begin
!       if Before < Index_Type'First then
!          raise Constraint_Error;
!       end if;
  
!       if Before > Container.Last
!         and then Before > Container.Last + 1
!       then
!          raise Constraint_Error;
!       end if;
  
        if Count = 0 then
           return;
        end if;
  
        declare
!          Old_Last : constant Extended_Index := Container.Last;
  
!          Old_Last_As_Int : constant Int := Index_Type'Pos (Old_Last);
  
!       begin
!          New_Last_As_Int := Old_Last_As_Int + N;
  
!          if New_Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          New_Last := Index_Type (New_Last_As_Int);
        end;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        if Container.Elements = null then
           declare
              subtype Elements_Subtype is
*************** package body Ada.Containers.Vectors is
*** 660,667 ****
           declare
              E : Elements_Type renames Container.Elements.all;
           begin
!             E (Index .. New_Last) := E (Before .. Container.Last);
!             E (Before .. Index_Type'Pred (Index)) := (others => New_Item);
           end;
  
           Container.Last := New_Last;
--- 788,810 ----
           declare
              E : Elements_Type renames Container.Elements.all;
           begin
!             if Before <= Container.Last then
!                declare
!                   Index_As_Int : constant Int'Base :=
!                                    Index_Type'Pos (Before) + N;
! 
!                   Index : constant Index_Type := Index_Type (Index_As_Int);
! 
!                begin
!                   E (Index .. New_Last) := E (Before .. Container.Last);
! 
!                   E (Before .. Index_Type'Pred (Index)) :=
!                       (others => New_Item);
!                end;
! 
!             else
!                E (Before .. New_Last) := (others => New_Item);
!             end if;
           end;
  
           Container.Last := New_Last;
*************** package body Ada.Containers.Vectors is
*** 669,703 ****
        end if;
  
        declare
!          First : constant Int := Int (Index_Type'First);
! 
           New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
! 
!          Size, Dst_Last_As_Int : Int'Base;
  
        begin
!          if New_Size >= Max_Size / 2 then
!             Dst_Last := Index_Type'Last;
  
!          else
!             Size := Container.Elements'Length;
  
!             if Size = 0 then
!                Size := 1;
!             end if;
  
!             while Size < New_Size loop
!                Size := 2 * Size;
!             end loop;
  
!             Dst_Last_As_Int := First + Size - 1;
!             Dst_Last := Index_Type (Dst_Last_As_Int);
!          end if;
        end;
  
-       Dst := new Elements_Type (Index_Type'First .. Dst_Last);
- 
        declare
           Src : Elements_Type renames Container.Elements.all;
  
--- 812,851 ----
        end if;
  
        declare
!          First    : constant Int := Int (Index_Type'First);
           New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Size     : Int'Base := Int'Max (1, Container.Elements'Length);
  
        begin
!          while Size < New_Size loop
!             if Size > Int'Last / 2 then
!                Size := Int'Last;
!                exit;
!             end if;
  
!             Size := 2 * Size;
!          end loop;
  
!          --  TODO: The following calculations aren't quite right, since
!          --  there will be overflow if Index_Type'Range is very large
!          --  (e.g. this package is instantiated with a 64-bit integer).
!          --  END TODO.
  
!          declare
!             Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
!          begin
!             if Size > Max_Size then
!                Size := Max_Size;
!             end if;
!          end;
  
!          declare
!             Dst_Last : constant Index_Type := Index_Type (First + Size - 1);
!          begin
!             Dst := new Elements_Type (Index_Type'First .. Dst_Last);
!          end;
        end;
  
        declare
           Src : Elements_Type renames Container.Elements.all;
  
*************** package body Ada.Containers.Vectors is
*** 705,716 ****
           Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
             Src (Index_Type'First .. Index_Type'Pred (Before));
  
!          Dst (Before .. Index_Type'Pred (Index)) :=
!            (others => New_Item);
  
!          Dst (Index .. New_Last) :=
!            Src (Before .. Container.Last);
  
        exception
           when others =>
              Free (Dst);
--- 853,873 ----
           Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
             Src (Index_Type'First .. Index_Type'Pred (Before));
  
!          if Before <= Container.Last then
!             declare
!                Index_As_Int : constant Int'Base :=
!                                 Index_Type'Pos (Before) + N;
  
!                Index : constant Index_Type := Index_Type (Index_As_Int);
  
+             begin
+                Dst (Before .. Index_Type'Pred (Index)) := (others => New_Item);
+                Dst (Index .. New_Last) := Src (Before .. Container.Last);
+             end;
+ 
+          else
+             Dst (Before .. New_Last) := (others => New_Item);
+          end if;
        exception
           when others =>
              Free (Dst);
*************** package body Ada.Containers.Vectors is
*** 734,739 ****
--- 891,906 ----
        N : constant Count_Type := Length (New_Item);
  
     begin
+       if Before < Index_Type'First then
+          raise Constraint_Error;
+       end if;
+ 
+       if Before > Container.Last
+         and then Before > Container.Last + 1
+       then
+          raise Constraint_Error;
+       end if;
+ 
        if N = 0 then
           return;
        end if;
*************** package body Ada.Containers.Vectors is
*** 747,797 ****
           Dst_Last : constant Index_Type := Index_Type (Dst_Last_As_Int);
  
        begin
!          if Container'Address = New_Item'Address then
!             declare
!                subtype Src_Index_Subtype is Index_Type'Base range
!                  Index_Type'First .. Index_Type'Pred (Before);
  
!                Src : Elements_Type renames
!                        Container.Elements (Src_Index_Subtype);
  
!                Index_As_Int : constant Int'Base :=
!                                 Int (Before) + Src'Length - 1;
  
!                Index : constant Index_Type'Base :=
!                          Index_Type'Base (Index_As_Int);
  
!                Dst : Elements_Type renames
!                        Container.Elements (Before .. Index);
  
!             begin
!                Dst := Src;
!             end;
  
!             declare
!                subtype Src_Index_Subtype is Index_Type'Base range
!                  Index_Type'Succ (Dst_Last) .. Container.Last;
  
!                Src : Elements_Type renames
!                        Container.Elements (Src_Index_Subtype);
  
!                Index_As_Int : constant Int'Base :=
!                                 Dst_Last_As_Int - Src'Length + 1;
  
!                Index : constant Index_Type'Base :=
!                          Index_Type'Base (Index_As_Int);
  
!                Dst : Elements_Type renames
!                        Container.Elements (Index .. Dst_Last);
  
!             begin
!                Dst := Src;
!             end;
  
!          else
!             Container.Elements (Before .. Dst_Last) :=
!               New_Item.Elements (Index_Type'First .. New_Item.Last);
!          end if;
        end;
     end Insert;
  
--- 914,969 ----
           Dst_Last : constant Index_Type := Index_Type (Dst_Last_As_Int);
  
        begin
!          if Container'Address /= New_Item'Address then
!             Container.Elements (Before .. Dst_Last) :=
!               New_Item.Elements (Index_Type'First .. New_Item.Last);
  
!             return;
!          end if;
  
!          declare
!             subtype Src_Index_Subtype is Index_Type'Base range
!               Index_Type'First .. Before - 1;
  
!             Src : Elements_Type renames
!                     Container.Elements (Src_Index_Subtype);
  
!             Index_As_Int : constant Int'Base :=
!                              Int (Before) + Src'Length - 1;
  
!             Index : constant Index_Type'Base :=
!                       Index_Type'Base (Index_As_Int);
  
!             Dst : Elements_Type renames
!                     Container.Elements (Before .. Index);
  
!          begin
!             Dst := Src;
!          end;
  
!          if Dst_Last = Container.Last then
!             return;
!          end if;
  
!          declare
!             subtype Src_Index_Subtype is Index_Type'Base range
!               Dst_Last + 1 .. Container.Last;
  
!             Src : Elements_Type renames
!                     Container.Elements (Src_Index_Subtype);
  
!             Index_As_Int : constant Int'Base :=
!                              Dst_Last_As_Int - Src'Length + 1;
  
!             Index : constant Index_Type :=
!                       Index_Type (Index_As_Int);
! 
!             Dst : Elements_Type renames
!                     Container.Elements (Index .. Dst_Last);
! 
!          begin
!             Dst := Src;
!          end;
        end;
     end Insert;
  
*************** package body Ada.Containers.Vectors is
*** 816,822 ****
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
           Index := Before.Index;
        end if;
--- 988,999 ----
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
! 
!          Index := Container.Last + 1;
! 
        else
           Index := Before.Index;
        end if;
*************** package body Ada.Containers.Vectors is
*** 854,860 ****
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
           Index := Before.Index;
        end if;
--- 1031,1042 ----
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
! 
!          Index := Container.Last + 1;
! 
        else
           Index := Before.Index;
        end if;
*************** package body Ada.Containers.Vectors is
*** 886,892 ****
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
           Index := Before.Index;
        end if;
--- 1068,1079 ----
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
! 
!          Index := Container.Last + 1;
! 
        else
           Index := Before.Index;
        end if;
*************** package body Ada.Containers.Vectors is
*** 925,931 ****
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
           Index := Before.Index;
        end if;
--- 1112,1123 ----
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
! 
!          Index := Container.Last + 1;
! 
        else
           Index := Before.Index;
        end if;
*************** package body Ada.Containers.Vectors is
*** 935,940 ****
--- 1127,1157 ----
        Position := Cursor'(Container'Unchecked_Access, Index);
     end Insert;
  
+    procedure Insert
+      (Container : in out Vector;
+       Before    : Extended_Index;
+       Count     : Count_Type := 1)
+    is
+       New_Item : Element_Type;  -- Default-initialized value
+       pragma Warnings (Off, New_Item);
+ 
+    begin
+       Insert (Container, Before, New_Item, Count);
+    end Insert;
+ 
+    procedure Insert
+      (Container : in out Vector;
+       Before    : Cursor;
+       Position  : out Cursor;
+       Count     : Count_Type := 1)
+    is
+       New_Item : Element_Type;  -- Default-initialized value
+       pragma Warnings (Off, New_Item);
+ 
+    begin
+       Insert (Container, Before, New_Item, Position, Count);
+    end Insert;
+ 
     ------------------
     -- Insert_Space --
     ------------------
*************** package body Ada.Containers.Vectors is
*** 944,983 ****
        Before    : Extended_Index;
        Count     : Count_Type := 1)
     is
-       Old_Last : constant Extended_Index := Container.Last;
- 
-       Old_Last_As_Int : constant Int := Index_Type'Pos (Old_Last);
- 
        N : constant Int := Count_Type'Pos (Count);
  
!       New_Last_As_Int : constant Int'Base := Old_Last_As_Int + N;
  
!       New_Last : constant Extended_Index := Extended_Index (New_Last_As_Int);
  
!       Index : Index_Type;
  
!       Dst_Last : Index_Type;
!       Dst      : Elements_Access;
  
-    begin
        if Count = 0 then
           return;
        end if;
  
        declare
!          subtype Before_Subtype is Index_Type'Base range
!            Index_Type'First .. Index_Type'Succ (Container.Last);
  
!          Old_First : constant Before_Subtype := Before;
  
!          Old_First_As_Int : constant Int := Index_Type'Pos (Old_First);
  
!          New_First_As_Int : constant Int'Base := Old_First_As_Int + N;
  
!       begin
!          Index := Index_Type (New_First_As_Int);
        end;
  
        if Container.Elements = null then
           Container.Elements :=
             new Elements_Type (Index_Type'First .. New_Last);
--- 1161,1207 ----
        Before    : Extended_Index;
        Count     : Count_Type := 1)
     is
        N : constant Int := Count_Type'Pos (Count);
  
!       New_Last_As_Int : Int'Base;
!       New_Last        : Index_Type;
  
!       Dst : Elements_Access;
  
!    begin
!       if Before < Index_Type'First then
!          raise Constraint_Error;
!       end if;
  
!       if Before > Container.Last
!         and then Before > Container.Last + 1
!       then
!          raise Constraint_Error;
!       end if;
  
        if Count = 0 then
           return;
        end if;
  
        declare
!          Old_Last : constant Extended_Index := Container.Last;
  
!          Old_Last_As_Int : constant Int := Index_Type'Pos (Old_Last);
  
!       begin
!          New_Last_As_Int := Old_Last_As_Int + N;
  
!          if New_Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
  
!          New_Last := Index_Type (New_Last_As_Int);
        end;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        if Container.Elements = null then
           Container.Elements :=
             new Elements_Type (Index_Type'First .. New_Last);
*************** package body Ada.Containers.Vectors is
*** 990,996 ****
           declare
              E : Elements_Type renames Container.Elements.all;
           begin
!             E (Index .. New_Last) := E (Before .. Container.Last);
           end;
  
           Container.Last := New_Last;
--- 1214,1230 ----
           declare
              E : Elements_Type renames Container.Elements.all;
           begin
!             if Before <= Container.Last then
!                declare
!                   Index_As_Int : constant Int'Base :=
!                                    Index_Type'Pos (Before) + N;
! 
!                   Index : constant Index_Type := Index_Type (Index_As_Int);
! 
!                begin
!                   E (Index .. New_Last) := E (Before .. Container.Last);
!                end;
!             end if;
           end;
  
           Container.Last := New_Last;
*************** package body Ada.Containers.Vectors is
*** 998,1032 ****
        end if;
  
        declare
!          First : constant Int := Int (Index_Type'First);
! 
           New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
! 
!          Size, Dst_Last_As_Int : Int'Base;
  
        begin
!          if New_Size >= Max_Size / 2 then
!             Dst_Last := Index_Type'Last;
  
!          else
!             Size := Container.Elements'Length;
  
!             if Size = 0 then
!                Size := 1;
!             end if;
  
!             while Size < New_Size loop
!                Size := 2 * Size;
!             end loop;
  
!             Dst_Last_As_Int := First + Size - 1;
!             Dst_Last := Index_Type (Dst_Last_As_Int);
!          end if;
        end;
  
-       Dst := new Elements_Type (Index_Type'First .. Dst_Last);
- 
        declare
           Src : Elements_Type renames Container.Elements.all;
  
--- 1232,1271 ----
        end if;
  
        declare
!          First    : constant Int := Int (Index_Type'First);
           New_Size : constant Int'Base := New_Last_As_Int - First + 1;
!          Size     : Int'Base := Int'Max (1, Container.Elements'Length);
  
        begin
!          while Size < New_Size loop
!             if Size > Int'Last / 2 then
!                Size := Int'Last;
!                exit;
!             end if;
  
!             Size := 2 * Size;
!          end loop;
  
!          --  TODO: The following calculations aren't quite right, since
!          --  there will be overflow if Index_Type'Range is very large
!          --  (e.g. this package is instantiated with a 64-bit integer).
!          --  END TODO.
  
!          declare
!             Max_Size : constant Int'Base := Int (Index_Type'Last) - First + 1;
!          begin
!             if Size > Max_Size then
!                Size := Max_Size;
!             end if;
!          end;
  
!          declare
!             Dst_Last : constant Index_Type := Index_Type (First + Size - 1);
!          begin
!             Dst := new Elements_Type (Index_Type'First .. Dst_Last);
!          end;
        end;
  
        declare
           Src : Elements_Type renames Container.Elements.all;
  
*************** package body Ada.Containers.Vectors is
*** 1034,1042 ****
           Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
             Src (Index_Type'First .. Index_Type'Pred (Before));
  
!          Dst (Index .. New_Last) :=
!            Src (Before .. Container.Last);
  
        exception
           when others =>
              Free (Dst);
--- 1273,1289 ----
           Dst (Index_Type'First .. Index_Type'Pred (Before)) :=
             Src (Index_Type'First .. Index_Type'Pred (Before));
  
!          if Before <= Container.Last then
!             declare
!                Index_As_Int : constant Int'Base :=
!                                 Index_Type'Pos (Before) + N;
  
+                Index : constant Index_Type := Index_Type (Index_As_Int);
+ 
+             begin
+                Dst (Index .. New_Last) := Src (Before .. Container.Last);
+             end;
+          end if;
        exception
           when others =>
              Free (Dst);
*************** package body Ada.Containers.Vectors is
*** 1048,1054 ****
        begin
           Container.Elements := Dst;
           Container.Last := New_Last;
- 
           Free (X);
        end;
     end Insert_Space;
--- 1295,1300 ----
*************** package body Ada.Containers.Vectors is
*** 1083,1094 ****
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          Index := Index_Type'Succ (Container.Last);
        else
           Index := Before.Index;
        end if;
  
!       Insert_Space (Container, Index, Count);
  
        Position := Cursor'(Container'Unchecked_Access, Index);
     end Insert_Space;
--- 1329,1345 ----
        if Before.Container = null
          or else Before.Index > Container.Last
        then
!          if Container.Last = Index_Type'Last then
!             raise Constraint_Error;
!          end if;
! 
!          Index := Container.Last + 1;
! 
        else
           Index := Before.Index;
        end if;
  
!       Insert_Space (Container, Index, Count => Count);
  
        Position := Cursor'(Container'Unchecked_Access, Index);
     end Insert_Space;
*************** package body Ada.Containers.Vectors is
*** 1110,1119 ****
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor))
     is
     begin
!       for Indx in Index_Type'First .. Container.Last loop
!          Process (Cursor'(Container'Unchecked_Access, Indx));
!       end loop;
     end Iterate;
  
     ----------
--- 1361,1383 ----
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor))
     is
+       V : Vector renames Container'Unrestricted_Access.all;
+       B : Natural renames V.Busy;
+ 
     begin
!       B := B + 1;
! 
!       begin
!          for Indx in Index_Type'First .. Container.Last loop
!             Process (Cursor'(Container'Unchecked_Access, Indx));
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Vectors is
*** 1155,1161 ****
--- 1419,1430 ----
        L : constant Int := Int (Container.Last);
        F : constant Int := Int (Index_Type'First);
        N : constant Int'Base := L - F + 1;
+ 
     begin
+       if N > Count_Type'Pos (Count_Type'Last) then
+          raise Constraint_Error;
+       end if;
+ 
        return Count_Type (N);
     end Length;
  
*************** package body Ada.Containers.Vectors is
*** 1167,1191 ****
       (Target : in out Vector;
        Source : in out Vector)
     is
-       X : Elements_Access := Target.Elements;
- 
     begin
        if Target'Address = Source'Address then
           return;
        end if;
  
!       if Target.Last >= Index_Type'First then
!          raise Constraint_Error;
        end if;
  
!       Target.Elements := null;
!       Free (X);
  
!       Target.Elements := Source.Elements;
!       Target.Last := Source.Last;
  
!       Source.Elements := null;
!       Source.Last := Index_Type'Pred (Index_Type'First);
     end Move;
  
     ----------
--- 1436,1463 ----
       (Target : in out Vector;
        Source : in out Vector)
     is
     begin
        if Target'Address = Source'Address then
           return;
        end if;
  
!       if Target.Busy > 0 then
!          raise Program_Error;
        end if;
  
!       if Source.Busy > 0 then
!          raise Program_Error;
!       end if;
  
!       declare
!          Target_Elements : constant Elements_Access := Target.Elements;
!       begin
!          Target.Elements := Source.Elements;
!          Source.Elements := Target_Elements;
!       end;
  
!       Target.Last := Source.Last;
!       Source.Last := No_Index;
     end Move;
  
     ----------
*************** package body Ada.Containers.Vectors is
*** 1199,1205 ****
        end if;
  
        if Position.Index < Position.Container.Last then
!          return (Position.Container, Index_Type'Succ (Position.Index));
        end if;
  
        return No_Element;
--- 1471,1477 ----
        end if;
  
        if Position.Index < Position.Container.Last then
!          return (Position.Container, Position.Index + 1);
        end if;
  
        return No_Element;
*************** package body Ada.Containers.Vectors is
*** 1216,1222 ****
        end if;
  
        if Position.Index < Position.Container.Last then
!          Position.Index := Index_Type'Succ (Position.Index);
        else
           Position := No_Element;
        end if;
--- 1488,1494 ----
        end if;
  
        if Position.Index < Position.Container.Last then
!          Position.Index := Position.Index + 1;
        else
           Position := No_Element;
        end if;
*************** package body Ada.Containers.Vectors is
*** 1254,1260 ****
        end if;
  
        if Position.Index > Index_Type'First then
!          Position.Index := Index_Type'Pred (Position.Index);
        else
           Position := No_Element;
        end if;
--- 1526,1532 ----
        end if;
  
        if Position.Index > Index_Type'First then
!          Position.Index := Position.Index - 1;
        else
           Position := No_Element;
        end if;
*************** package body Ada.Containers.Vectors is
*** 1267,1273 ****
        end if;
  
        if Position.Index > Index_Type'First then
!          return (Position.Container, Index_Type'Pred (Position.Index));
        end if;
  
        return No_Element;
--- 1539,1545 ----
        end if;
  
        if Position.Index > Index_Type'First then
!          return (Position.Container, Position.Index - 1);
        end if;
  
        return No_Element;
*************** package body Ada.Containers.Vectors is
*** 1282,1304 ****
        Index     : Index_Type;
        Process   : not null access procedure (Element : Element_Type))
     is
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
     begin
!       Process (Container.Elements (T'(Index)));
     end Query_Element;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type))
     is
-       Container : Vector renames Position.Container.all;
- 
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Container.Last;
- 
     begin
!       Process (Container.Elements (T'(Position.Index)));
     end Query_Element;
  
     ----------
--- 1554,1594 ----
        Index     : Index_Type;
        Process   : not null access procedure (Element : Element_Type))
     is
!       V : Vector renames Container'Unrestricted_Access.all;
!       B : Natural renames V.Busy;
!       L : Natural renames V.Lock;
! 
     begin
!       if Index > Container.Last then
!          raise Constraint_Error;
!       end if;
! 
!       B := B + 1;
!       L := L + 1;
! 
!       begin
!          Process (V.Elements (Index));
!       exception
!          when others =>
!             L := L - 1;
!             B := B - 1;
!             raise;
!       end;
! 
!       L := L - 1;
!       B := B - 1;
     end Query_Element;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
! 
!       Query_Element (Position.Container.all, Position.Index, Process);
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Vectors is
*** 1310,1316 ****
        Container : out Vector)
     is
        Length : Count_Type'Base;
!       Last   : Index_Type'Base := Index_Type'Pred (Index_Type'First);
  
     begin
        Clear (Container);
--- 1600,1606 ----
        Container : out Vector)
     is
        Length : Count_Type'Base;
!       Last   : Index_Type'Base := No_Index;
  
     begin
        Clear (Container);
*************** package body Ada.Containers.Vectors is
*** 1322,1353 ****
        end if;
  
        for J in Count_Type range 1 .. Length loop
!          Last := Index_Type'Succ (Last);
           Element_Type'Read (Stream, Container.Elements (Last));
           Container.Last := Last;
        end loop;
     end Read;
  
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Container : Vector;
        Index     : Index_Type;
!       By        : Element_Type)
     is
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Container.Last;
     begin
!       Container.Elements (T'(Index)) := By;
     end Replace_Element;
  
!    procedure Replace_Element (Position : Cursor; By : Element_Type) is
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Position.Container.Last;
     begin
!       Position.Container.Elements (T'(Position.Index)) := By;
     end Replace_Element;
  
     ----------------------
--- 1612,1667 ----
        end if;
  
        for J in Count_Type range 1 .. Length loop
!          Last := Last + 1;
           Element_Type'Read (Stream, Container.Elements (Last));
           Container.Last := Last;
        end loop;
     end Read;
  
+    procedure Read
+      (Stream   : access Root_Stream_Type'Class;
+       Position : out Cursor)
+    is
+    begin
+       raise Program_Error;
+    end Read;
+ 
     ---------------------
     -- Replace_Element --
     ---------------------
  
     procedure Replace_Element
!      (Container : in out Vector;
        Index     : Index_Type;
!       New_Item  : Element_Type)
     is
     begin
!       if Index > Container.Last then
!          raise Constraint_Error;
!       end if;
! 
!       if Container.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       Container.Elements (Index) := New_Item;
     end Replace_Element;
  
!    procedure Replace_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       Replace_Element (Container, Position.Index, New_Item);
     end Replace_Element;
  
     ----------------------
*************** package body Ada.Containers.Vectors is
*** 1371,1376 ****
--- 1685,1694 ----
              end;
  
           elsif N < Container.Elements'Length then
+             if Container.Busy > 0 then
+                raise Program_Error;
+             end if;
+ 
              declare
                 subtype Array_Index_Subtype is Index_Type'Base range
                   Index_Type'First .. Container.Last;
*************** package body Ada.Containers.Vectors is
*** 1397,1409 ****
              Last_As_Int : constant Int'Base :=
                              Int (Index_Type'First) + Int (Capacity) - 1;
  
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             subtype Array_Subtype is
!               Elements_Type (Index_Type'First .. Last);
  
!          begin
!             Container.Elements := new Array_Subtype;
           end;
  
           return;
--- 1715,1733 ----
              Last_As_Int : constant Int'Base :=
                              Int (Index_Type'First) + Int (Capacity) - 1;
  
!          begin
!             if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!                raise Constraint_Error;
!             end if;
  
!             declare
!                Last : constant Index_Type := Index_Type (Last_As_Int);
  
!                subtype Array_Subtype is
!                  Elements_Type (Index_Type'First .. Last);
!             begin
!                Container.Elements := new Array_Subtype;
!             end;
           end;
  
           return;
*************** package body Ada.Containers.Vectors is
*** 1411,1416 ****
--- 1735,1744 ----
  
        if Capacity <= N then
           if N < Container.Elements'Length then
+             if Container.Busy > 0 then
+                raise Program_Error;
+             end if;
+ 
              declare
                 subtype Array_Index_Subtype is Index_Type'Base range
                   Index_Type'First .. Container.Last;
*************** package body Ada.Containers.Vectors is
*** 1437,1479 ****
           return;
        end if;
  
        declare
           Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (Capacity) - 1;
  
-          Last : constant Index_Type := Index_Type (Last_As_Int);
- 
-          subtype Array_Subtype is
-            Elements_Type (Index_Type'First .. Last);
- 
-          E : Elements_Access := new Array_Subtype;
- 
        begin
           declare
!             Src : Elements_Type renames
!                     Container.Elements (Index_Type'First .. Container.Last);
  
!             Tgt : Elements_Type renames
!                     E (Index_Type'First .. Container.Last);
  
           begin
!             Tgt := Src;
  
!          exception
!             when others =>
!                Free (E);
!                raise;
!          end;
  
!          declare
!             X : Elements_Access := Container.Elements;
!          begin
!             Container.Elements := E;
!             Free (X);
           end;
        end;
     end Reserve_Capacity;
  
     ------------------
     -- Reverse_Find --
     ------------------
--- 1765,1853 ----
           return;
        end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
        declare
           Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (Capacity) - 1;
  
        begin
+          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
+             raise Constraint_Error;
+          end if;
+ 
           declare
!             Last : constant Index_Type := Index_Type (Last_As_Int);
  
!             subtype Array_Subtype is
!               Elements_Type (Index_Type'First .. Last);
! 
!             E : Elements_Access := new Array_Subtype;
  
           begin
!             declare
!                Src : Elements_Type renames
!                        Container.Elements (Index_Type'First .. Container.Last);
  
!                Tgt : Elements_Type renames
!                        E (Index_Type'First .. Container.Last);
  
!             begin
!                Tgt := Src;
! 
!             exception
!                when others =>
!                   Free (E);
!                   raise;
!             end;
! 
!             declare
!                X : Elements_Access := Container.Elements;
!             begin
!                Container.Elements := E;
!                Free (X);
!             end;
           end;
        end;
     end Reserve_Capacity;
  
+    ----------------------
+    -- Reverse_Elements --
+    ----------------------
+ 
+    procedure Reverse_Elements (Container : in out Vector) is
+    begin
+       if Container.Length <= 1 then
+          return;
+       end if;
+ 
+       if Container.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
+       declare
+          I : Index_Type := Index_Type'First;
+          J : Index_Type := Container.Last;
+          E : Elements_Type renames Container.Elements.all;
+ 
+       begin
+          while I < J loop
+             declare
+                EI : constant Element_Type := E (I);
+ 
+             begin
+                E (I) := E (J);
+                E (J) := EI;
+             end;
+ 
+             I := I + 1;
+             J := J - 1;
+          end loop;
+       end;
+    end Reverse_Elements;
+ 
     ------------------
     -- Reverse_Find --
     ------------------
*************** package body Ada.Containers.Vectors is
*** 1545,1554 ****
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor))
     is
     begin
!       for Indx in reverse Index_Type'First .. Container.Last loop
!          Process (Cursor'(Container'Unchecked_Access, Indx));
!       end loop;
     end Reverse_Iterate;
  
     ----------------
--- 1919,1943 ----
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor))
     is
+       V : Vector renames Container'Unrestricted_Access.all;
+       B : Natural renames V.Busy;
+ 
     begin
! 
!       B := B + 1;
! 
!       begin
!          for Indx in reverse Index_Type'First .. Container.Last loop
!             Process (Cursor'(Container'Unchecked_Access, Indx));
!          end loop;
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
! 
     end Reverse_Iterate;
  
     ----------------
*************** package body Ada.Containers.Vectors is
*** 1557,1579 ****
  
     procedure Set_Length (Container : in out Vector; Length : Count_Type) is
     begin
!       if Length = 0 then
!          Clear (Container);
           return;
        end if;
  
        declare
           Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (Length) - 1;
- 
-          Last        : constant Index_Type := Index_Type (Last_As_Int);
- 
        begin
!          if Length > Capacity (Container) then
!             Reserve_Capacity (Container, Capacity => Length);
!          end if;
! 
!          Container.Last := Last;
        end;
     end Set_Length;
  
--- 1946,1968 ----
  
     procedure Set_Length (Container : in out Vector; Length : Count_Type) is
     begin
!       if Length = Vectors.Length (Container) then
           return;
        end if;
  
+       if Container.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
+       if Length > Capacity (Container) then
+          Reserve_Capacity (Container, Capacity => Length);
+       end if;
+ 
        declare
           Last_As_Int : constant Int'Base :=
                           Int (Index_Type'First) + Int (Length) - 1;
        begin
!          Container.Last := Index_Type'Base (Last_As_Int);
        end;
     end Set_Length;
  
*************** package body Ada.Containers.Vectors is
*** 1581,1624 ****
     -- Swap --
     ----------
  
!    procedure Swap
!      (Container : Vector;
!       I, J      : Index_Type)
!    is
! 
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
! 
!       EI : constant Element_Type := Container.Elements (T'(I));
! 
     begin
  
!       Container.Elements (T'(I)) := Container.Elements (T'(J));
!       Container.Elements (T'(J)) := EI;
! 
!    end Swap;
! 
!    procedure Swap (I, J : Cursor) is
  
!       --  NOTE: The behavior has been liberalized here to
!       --  allow I and J to designate different containers.
!       --  TODO: Probably this is supposed to raise P_E ???
  
!       subtype TI is Index_Type'Base range
!         Index_Type'First .. I.Container.Last;
  
!       EI : Element_Type renames I.Container.Elements (TI'(I.Index));
  
!       EI_Copy : constant Element_Type := EI;
  
!       subtype TJ is Index_Type'Base range
!         Index_Type'First .. J.Container.Last;
  
!       EJ : Element_Type renames J.Container.Elements (TJ'(J.Index));
  
!    begin
!       EI := EJ;
!       EJ := EI_Copy;
     end Swap;
  
     ---------------
--- 1970,2018 ----
     -- Swap --
     ----------
  
!    procedure Swap (Container : in out Vector; I, J : Index_Type) is
     begin
+       if I > Container.Last
+         or else J > Container.Last
+       then
+          raise Constraint_Error;
+       end if;
  
!       if I = J then
!          return;
!       end if;
  
!       if Container.Lock > 0 then
!          raise Program_Error;
!       end if;
  
!       declare
!          EI : Element_Type renames Container.Elements (I);
!          EJ : Element_Type renames Container.Elements (J);
  
!          EI_Copy : constant Element_Type := EI;
  
!       begin
!          EI := EJ;
!          EJ := EI_Copy;
!       end;
!    end Swap;
  
!    procedure Swap (Container : in out Vector; I, J : Cursor) is
!    begin
!       if I.Container = null
!         or else J.Container = null
!       then
!          raise Constraint_Error;
!       end if;
  
!       if I.Container /= Container'Unrestricted_Access
!         or else J.Container /= Container'Unrestricted_Access
!       then
!          raise Program_Error;
!       end if;
  
!       Swap (Container, I.Index, J.Index);
     end Swap;
  
     ---------------
*************** package body Ada.Containers.Vectors is
*** 1667,1677 ****
        declare
           First       : constant Int := Int (Index_Type'First);
           Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : constant Index_Type := Index_Type (Last_As_Int);
!          Elements    : constant Elements_Access :=
!                          new Elements_Type (Index_Type'First .. Last);
        begin
!          return (Controlled with Elements, Last);
        end;
     end To_Vector;
  
--- 2061,2078 ----
        declare
           First       : constant Int := Int (Index_Type'First);
           Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : Index_Type;
!          Elements    : Elements_Access;
! 
        begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
! 
!          Last := Index_Type (Last_As_Int);
!          Elements := new Elements_Type (Index_Type'First .. Last);
! 
!          return (Controlled with Elements, Last, 0, 0);
        end;
     end To_Vector;
  
*************** package body Ada.Containers.Vectors is
*** 1687,1698 ****
        declare
           First       : constant Int := Int (Index_Type'First);
           Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : constant Index_Type := Index_Type (Last_As_Int);
!          Elements    : constant Elements_Access :=
!                          new Elements_Type'
!                                    (Index_Type'First .. Last => New_Item);
        begin
!          return (Controlled with Elements, Last);
        end;
     end To_Vector;
  
--- 2088,2105 ----
        declare
           First       : constant Int := Int (Index_Type'First);
           Last_As_Int : constant Int'Base := First + Int (Length) - 1;
!          Last        : Index_Type;
!          Elements    : Elements_Access;
! 
        begin
!          if Last_As_Int > Index_Type'Pos (Index_Type'Last) then
!             raise Constraint_Error;
!          end if;
! 
!          Last := Index_Type (Last_As_Int);
!          Elements := new Elements_Type'(Index_Type'First .. Last => New_Item);
! 
!          return (Controlled with Elements, Last, 0, 0);
        end;
     end To_Vector;
  
*************** package body Ada.Containers.Vectors is
*** 1701,1724 ****
     --------------------
  
     procedure Update_Element
!      (Container : Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type))
     is
!       subtype T is Index_Type'Base range
!         Index_Type'First .. Container.Last;
     begin
!       Process (Container.Elements (T'(Index)));
     end Update_Element;
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
-       subtype T is Index_Type'Base range
-         Index_Type'First .. Position.Container.Last;
     begin
!       Process (Position.Container.Elements (T'(Position.Index)));
     end Update_Element;
  
     -----------
--- 2108,2156 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type))
     is
!       B : Natural renames Container.Busy;
!       L : Natural renames Container.Lock;
! 
     begin
!       if Index > Container.Last then
!          raise Constraint_Error;
!       end if;
! 
!       B := B + 1;
!       L := L + 1;
! 
!       begin
!          Process (Container.Elements (Index));
!       exception
!          when others =>
!             L := L - 1;
!             B := B - 1;
!             raise;
!       end;
! 
!       L := L - 1;
!       B := B - 1;
     end Update_Element;
  
     procedure Update_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type))
     is
     begin
!       if Position.Container = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       Update_Element (Container, Position.Index, Process);
     end Update_Element;
  
     -----------
*************** package body Ada.Containers.Vectors is
*** 1737,1741 ****
        end loop;
     end Write;
  
! end Ada.Containers.Vectors;
  
--- 2169,2180 ----
        end loop;
     end Write;
  
!    procedure Write
!      (Stream   : access Root_Stream_Type'Class;
!       Position : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Vectors;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-convec.ads gcc-4.1.0/gcc/ada/a-convec.ads
*** gcc-4.0.2/gcc/ada/a-convec.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-convec.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                          ADA.CONTAINERS.VECTORS                          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                A D A . C O N T A I N E R S . V E C T O R S               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 42,58 ****
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Vectors is
! pragma Preelaborate (Vectors);
  
     subtype Extended_Index is Index_Type'Base
       range Index_Type'First - 1 ..
!            Index_Type'Last +
!               Boolean'Pos (Index_Type'Base'Last > Index_Type'Last);
  
     No_Index : constant Extended_Index := Extended_Index'First;
  
-    subtype Index_Subtype is Index_Type;
- 
     type Vector is tagged private;
  
     type Cursor is private;
--- 42,55 ----
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Vectors is
!    pragma Preelaborate;
  
     subtype Extended_Index is Index_Type'Base
       range Index_Type'First - 1 ..
!            Index_Type'Min (Index_Type'Base'Last - 1, Index_Type'Last) + 1;
  
     No_Index : constant Extended_Index := Extended_Index'First;
  
     type Vector is tagged private;
  
     type Cursor is private;
*************** pragma Preelaborate (Vectors);
*** 61,66 ****
--- 58,65 ----
  
     No_Element : constant Cursor;
  
+    function "=" (Left, Right : Vector) return Boolean;
+ 
     function To_Vector (Length : Count_Type) return Vector;
  
     function To_Vector
*************** pragma Preelaborate (Vectors);
*** 75,82 ****
  
     function "&" (Left, Right : Element_Type) return Vector;
  
-    function "=" (Left, Right : Vector) return Boolean;
- 
     function Capacity (Container : Vector) return Count_Type;
  
     procedure Reserve_Capacity
--- 74,79 ----
*************** pragma Preelaborate (Vectors);
*** 85,90 ****
--- 82,91 ----
  
     function Length (Container : Vector) return Count_Type;
  
+    procedure Set_Length
+      (Container : in out Vector;
+       Length    : Count_Type);
+ 
     function Is_Empty (Container : Vector) return Boolean;
  
     procedure Clear (Container : in out Vector);
*************** pragma Preelaborate (Vectors);
*** 101,106 ****
--- 102,117 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Vector;
+       Index     : Index_Type;
+       New_Item  : Element_Type);
+ 
+    procedure Replace_Element
+      (Container : in out Vector;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Container : Vector;
        Index     : Index_Type;
*************** pragma Preelaborate (Vectors);
*** 111,132 ****
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type));
! 
!    procedure Replace_Element
!      (Container : Vector;
!       Index     : Index_Type;
!       By        : Element_Type);
! 
!    procedure Replace_Element (Position : Cursor; By : Element_Type);
! 
!    procedure Assign (Target : in out Vector; Source : Vector);
  
     procedure Move (Target : in out Vector; Source : in out Vector);
  
--- 122,135 ----
        Process  : not null access procedure (Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Vector;
        Index     : Index_Type;
        Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Update_Element
!      (Container : in out Vector;
!       Position  : Cursor;
!       Process   : not null access procedure (Element : in out Element_Type));
  
     procedure Move (Target : in out Vector; Source : in out Vector);
  
*************** pragma Preelaborate (Vectors);
*** 165,170 ****
--- 168,184 ----
        Position  : out Cursor;
        Count     : Count_Type := 1);
  
+    procedure Insert
+      (Container : in out Vector;
+       Before    : Extended_Index;
+       Count     : Count_Type := 1);
+ 
+    procedure Insert
+      (Container : in out Vector;
+       Before    : Cursor;
+       Position  : out Cursor;
+       Count     : Count_Type := 1);
+ 
     procedure Prepend
       (Container : in out Vector;
        New_Item  : Vector);
*************** pragma Preelaborate (Vectors);
*** 194,206 ****
        Position  : out Cursor;
        Count     : Count_Type := 1);
  
-    procedure Set_Length
-      (Container : in out Vector;
-       Length    : Count_Type);
- 
     procedure Delete
       (Container : in out Vector;
!       Index     : Extended_Index;  --  TODO: verify
        Count     : Count_Type := 1);
  
     procedure Delete
--- 208,216 ----
        Position  : out Cursor;
        Count     : Count_Type := 1);
  
     procedure Delete
       (Container : in out Vector;
!       Index     : Extended_Index;
        Count     : Count_Type := 1);
  
     procedure Delete
*************** pragma Preelaborate (Vectors);
*** 216,221 ****
--- 226,237 ----
       (Container : in out Vector;
        Count     : Count_Type := 1);
  
+    procedure Reverse_Elements (Container : in out Vector);
+ 
+    procedure Swap (Container : in out Vector; I, J : Index_Type);
+ 
+    procedure Swap (Container : in out Vector; I, J : Cursor);
+ 
     function First_Index (Container : Vector) return Index_Type;
  
     function First (Container : Vector) return Cursor;
*************** pragma Preelaborate (Vectors);
*** 228,240 ****
  
     function Last_Element (Container : Vector) return Element_Type;
  
!    procedure Swap (Container : Vector; I, J : Index_Type);
  
!    procedure Swap (I, J : Cursor);
  
!    generic
!       with function "<" (Left, Right : Element_Type) return Boolean is <>;
!    procedure Generic_Sort (Container : Vector);
  
     function Find_Index
       (Container : Vector;
--- 244,256 ----
  
     function Last_Element (Container : Vector) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    function Previous (Position : Cursor) return Cursor;
! 
!    procedure Previous (Position : in out Cursor);
  
     function Find_Index
       (Container : Vector;
*************** pragma Preelaborate (Vectors);
*** 260,273 ****
       (Container : Vector;
        Item      : Element_Type) return Boolean;
  
-    function Next (Position : Cursor) return Cursor;
- 
-    function Previous (Position : Cursor) return Cursor;
- 
-    procedure Next (Position : in out Cursor);
- 
-    procedure Previous (Position : in out Cursor);
- 
     function Has_Element (Position : Cursor) return Boolean;
  
     procedure Iterate
--- 276,281 ----
*************** pragma Preelaborate (Vectors);
*** 278,283 ****
--- 286,303 ----
       (Container : Vector;
        Process   : not null access procedure (Position : Cursor));
  
+    generic
+       with function "<" (Left, Right : Element_Type) return Boolean is <>;
+    package Generic_Sorting is
+ 
+       function Is_Sorted (Container : Vector) return Boolean;
+ 
+       procedure Sort (Container : in out Vector);
+ 
+       procedure Merge (Target : in out Vector; Source : in out Vector);
+ 
+    end Generic_Sorting;
+ 
  private
  
     pragma Inline (First_Index);
*************** private
*** 301,306 ****
--- 321,328 ----
     type Vector is new Controlled with record
        Elements : Elements_Access;
        Last     : Extended_Index := No_Index;
+       Busy     : Natural := 0;
+       Lock     : Natural := 0;
     end record;
  
     procedure Adjust (Container : in out Vector);
*************** private
*** 321,327 ****
  
     for Vector'Read use Read;
  
!    Empty_Vector : constant Vector := (Controlled with null, No_Index);
  
     type Vector_Access is access constant Vector;
     for Vector_Access'Storage_Size use 0;
--- 343,349 ----
  
     for Vector'Read use Read;
  
!    Empty_Vector : constant Vector := (Controlled with null, No_Index, 0, 0);
  
     type Vector_Access is access constant Vector;
     for Vector_Access'Storage_Size use 0;
*************** private
*** 331,336 ****
--- 353,370 ----
        Index     : Index_Type := Index_Type'First;
     end record;
  
+    procedure Write
+      (Stream   : access Root_Stream_Type'Class;
+       Position : Cursor);
+ 
+    for Cursor'Write use Write;
+ 
+    procedure Read
+      (Stream   : access Root_Stream_Type'Class;
+       Position : out Cursor);
+ 
+    for Cursor'Read use Read;
+ 
     No_Element : constant Cursor := Cursor'(null, Index_Type'First);
  
  end Ada.Containers.Vectors;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coorma.adb gcc-4.1.0/gcc/ada/a-coorma.adb
*** gcc-4.0.2/gcc/ada/a-coorma.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-coorma.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.ORDERED_MAPS                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . O R D E R E D _ M A P S          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 41,61 ****
  with Ada.Containers.Red_Black_Trees.Generic_Keys;
  pragma Elaborate_All (Ada.Containers.Red_Black_Trees.Generic_Keys);
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Ordered_Maps is
  
-    use Red_Black_Trees;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Key     : Key_Type;
-       Element : Element_Type;
-    end record;
- 
     -----------------------------
     -- Node Access Subprograms --
     -----------------------------
--- 41,48 ----
*************** package body Ada.Containers.Ordered_Maps
*** 94,102 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
! 
!    procedure Delete_Tree (X : in out Node_Access);
  
     function Is_Equal_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Equal_Node_Node);
--- 81,87 ----
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    procedure Free (X : in out Node_Access);
  
     function Is_Equal_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Equal_Node_Node);
*************** package body Ada.Containers.Ordered_Maps
*** 115,126 ****
     -- Local Instantiations --
     --------------------------
  
-    procedure Free is new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
- 
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!        (Tree_Types => Tree_Types,
!         Null_Node  => Node_Access'(null));
  
     use Tree_Operations;
  
--- 100,113 ----
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!       new Red_Black_Trees.Generic_Operations (Tree_Types);
! 
!    procedure Delete_Tree is
!       new Tree_Operations.Generic_Delete_Tree (Free);
! 
!    function Copy_Tree is
!       new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
  
     use Tree_Operations;
  
*************** package body Ada.Containers.Ordered_Maps
*** 140,155 ****
--- 127,168 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Key < Right.Node.Key;
     end "<";
  
     function "<" (Left : Cursor; Right : Key_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Key < Right;
     end "<";
  
     function "<" (Left : Key_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Key;
     end "<";
  
*************** package body Ada.Containers.Ordered_Maps
*** 159,168 ****
  
     function "=" (Left, Right : Map) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return True;
-       end if;
- 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
--- 172,177 ----
*************** package body Ada.Containers.Ordered_Maps
*** 172,187 ****
--- 181,222 ----
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Key < Left.Node.Key;
     end ">";
  
     function ">" (Left : Cursor; Right : Key_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
        return Right < Left.Node.Key;
     end ">";
  
     function ">" (Left : Key_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Key < Left;
     end ">";
  
*************** package body Ada.Containers.Ordered_Maps
*** 189,212 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Map) is
!       Tree : Tree_Type renames Container.Tree;
! 
!       N : constant Count_Type := Tree.Length;
!       X : constant Node_Access := Tree.Root;
  
     begin
!       if N = 0 then
!          pragma Assert (X = null);
!          return;
!       end if;
! 
!       Tree := (Length => 0, others => null);
! 
!       Tree.Root := Copy_Tree (X);
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
!       Tree.Length := N;
     end Adjust;
  
     -------------
--- 224,235 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Map) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Ordered_Maps
*** 221,239 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Map) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 244,262 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Map) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Ordered_Maps
*** 260,333 ****
  
     function Copy_Node (Source : Node_Access) return Node_Access is
        Target : constant Node_Access :=
!                  new Node_Type'(Parent  => null,
!                                 Left    => null,
!                                 Right   => null,
!                                 Color   => Source.Color,
                                  Key     => Source.Key,
!                                 Element => Source.Element);
     begin
        return Target;
     end Copy_Node;
  
-    ---------------
-    -- Copy_Tree --
-    ---------------
- 
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
-       Target_Root : Node_Access := Copy_Node (Source_Root);
-       P, X : Node_Access;
- 
-    begin
-       if Source_Root.Right /= null then
-          Target_Root.Right := Copy_Tree (Source_Root.Right);
-          Target_Root.Right.Parent := Target_Root;
-       end if;
- 
-       P := Target_Root;
-       X := Source_Root.Left;
- 
-       while X /= null loop
-          declare
-             Y : Node_Access := Copy_Node (X);
- 
-          begin
-             P.Left := Y;
-             Y.Parent := P;
- 
-             if X.Right /= null then
-                Y.Right := Copy_Tree (X.Right);
-                Y.Right.Parent := Y;
-             end if;
- 
-             P := Y;
-             X := X.Left;
-          end;
-       end loop;
- 
-       return Target_Root;
- 
-    exception
-       when others =>
-          Delete_Tree (Target_Root);
-          raise;
-    end Copy_Tree;
- 
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Map_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
--- 283,317 ----
  
     function Copy_Node (Source : Node_Access) return Node_Access is
        Target : constant Node_Access :=
!                  new Node_Type'(Color   => Source.Color,
                                  Key     => Source.Key,
!                                 Element => Source.Element,
!                                 Parent  => null,
!                                 Left    => null,
!                                 Right   => null);
     begin
        return Target;
     end Copy_Node;
  
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Map; Position : in out Cursor) is
+       Tree : Tree_Type renames Container.Tree;
+ 
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Tree, Position.Node), "bad cursor in Delete");
! 
!       Tree_Operations.Delete_Node_Sans_Free (Tree, Position.Node);
        Free (Position.Node);
  
        Position.Container := null;
*************** package body Ada.Containers.Ordered_Maps
*** 341,347 ****
           raise Constraint_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
--- 325,331 ----
           raise Constraint_Error;
        end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
*************** package body Ada.Containers.Ordered_Maps
*** 350,358 ****
     ------------------
  
     procedure Delete_First (Container : in out Map) is
!       Position : Cursor := First (Container);
     begin
!       Delete (Container, Position);
     end Delete_First;
  
     -----------------
--- 334,346 ----
     ------------------
  
     procedure Delete_First (Container : in out Map) is
!       X : Node_Access := Container.Tree.First;
! 
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
!          Free (X);
!       end if;
     end Delete_First;
  
     -----------------
*************** package body Ada.Containers.Ordered_Maps
*** 360,386 ****
     -----------------
  
     procedure Delete_Last (Container : in out Map) is
!       Position : Cursor := Last (Container);
!    begin
!       Delete (Container, Position);
!    end Delete_Last;
! 
! 
!    -----------------
!    -- Delete_Tree --
!    -----------------
  
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
     begin
!       while X /= null loop
!          Y := X.Right;
!          Delete_Tree (Y);
!          Y := X.Left;
           Free (X);
!          X := Y;
!       end loop;
!    end Delete_Tree;
  
     -------------
     -- Element --
--- 348,361 ----
     -----------------
  
     procedure Delete_Last (Container : in out Map) is
!       X : Node_Access := Container.Tree.Last;
  
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
!       end if;
!    end Delete_Last;
  
     -------------
     -- Element --
*************** package body Ada.Containers.Ordered_Maps
*** 388,402 ****
--- 363,404 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element;
     end Element;
  
     function Element (Container : Map; Key : Key_Type) return Element_Type is
        Node : constant Node_Access := Key_Ops.Find (Container.Tree, Key);
+ 
     begin
+       if Node = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Node.Element;
     end Element;
  
+    ---------------------
+    -- Equivalent_Keys --
+    ---------------------
+ 
+    function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Keys;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Ordered_Maps
*** 406,412 ****
  
     begin
        if X /= null then
!          Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
--- 408,414 ----
  
     begin
        if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
*************** package body Ada.Containers.Ordered_Maps
*** 423,429 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Find;
  
     -----------
--- 425,431 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Ordered_Maps
*** 431,442 ****
     -----------
  
     function First (Container : Map) return Cursor is
     begin
!       if Container.Tree.First = null then
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.First);
     end First;
  
     -------------------
--- 433,446 ----
     -----------
  
     function First (Container : Map) return Cursor is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, T.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Ordered_Maps
*** 444,451 ****
     -------------------
  
     function First_Element (Container : Map) return Element_Type is
     begin
!       return Container.Tree.First.Element;
     end First_Element;
  
     ---------------
--- 448,461 ----
     -------------------
  
     function First_Element (Container : Map) return Element_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.First.Element;
     end First_Element;
  
     ---------------
*************** package body Ada.Containers.Ordered_Maps
*** 453,460 ****
     ---------------
  
     function First_Key (Container : Map) return Key_Type is
     begin
!       return Container.Tree.First.Key;
     end First_Key;
  
     -----------
--- 463,476 ----
     ---------------
  
     function First_Key (Container : Map) return Key_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.First = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.First.Key;
     end First_Key;
  
     -----------
*************** package body Ada.Containers.Ordered_Maps
*** 469,477 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Floor;
  
     -----------------
     -- Has_Element --
     -----------------
--- 485,513 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
+    ----------
+    -- Free --
+    ----------
+ 
+    procedure Free (X : in out Node_Access) is
+       procedure Deallocate is
+          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
+    begin
+       if X = null then
+          return;
+       end if;
+ 
+       X.Parent := X;
+       X.Left := X;
+       X.Right := X;
+ 
+       Deallocate (X);
+    end Free;
+ 
     -----------------
     -- Has_Element --
     -----------------
*************** package body Ada.Containers.Ordered_Maps
*** 497,502 ****
--- 533,542 ----
        Insert (Container, Key, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.Tree.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           Position.Node.Key := Key;
           Position.Node.Element := New_Item;
        end if;
*************** package body Ada.Containers.Ordered_Maps
*** 523,537 ****
        --------------
  
        function New_Node return Node_Access is
-          Node : constant Node_Access :=
-                   new Node_Type'(Parent  => null,
-                                  Left    => null,
-                                  Right   => null,
-                                  Color   => Red,
-                                  Key     => Key,
-                                  Element => New_Item);
        begin
!          return Node;
        end New_Node;
  
     --  Start of processing for Insert
--- 563,575 ----
        --------------
  
        function New_Node return Node_Access is
        begin
!          return new Node_Type'(Key     => Key,
!                                Element => New_Item,
!                                Color   => Red_Black_Trees.Red,
!                                Parent  => null,
!                                Left    => null,
!                                Right   => null);
        end New_Node;
  
     --  Start of processing for Insert
*************** package body Ada.Containers.Ordered_Maps
*** 543,549 ****
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unchecked_Access;
     end Insert;
  
     procedure Insert
--- 581,587 ----
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unrestricted_Access;
     end Insert;
  
     procedure Insert
*************** package body Ada.Containers.Ordered_Maps
*** 586,603 ****
        --------------
  
        function New_Node return Node_Access is
-          Node : Node_Access := new Node_Type;
- 
        begin
!          begin
!             Node.Key := Key;
!          exception
!             when others =>
!                Free (Node);
!                raise;
!          end;
! 
!          return Node;
        end New_Node;
  
     --  Start of processing for Insert
--- 624,636 ----
        --------------
  
        function New_Node return Node_Access is
        begin
!          return new Node_Type'(Key     => Key,
!                                Element => <>,
!                                Color   => Red_Black_Trees.Red,
!                                Parent  => null,
!                                Left    => null,
!                                Right   => null);
        end New_Node;
  
     --  Start of processing for Insert
*************** package body Ada.Containers.Ordered_Maps
*** 609,615 ****
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unchecked_Access;
     end Insert;
  
     --------------
--- 642,648 ----
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unrestricted_Access;
     end Insert;
  
     --------------
*************** package body Ada.Containers.Ordered_Maps
*** 628,634 ****
     function Is_Equal_Node_Node
       (L, R : Node_Access) return Boolean is
     begin
!       return L.Element = R.Element;
     end Is_Equal_Node_Node;
  
     -------------------------
--- 661,675 ----
     function Is_Equal_Node_Node
       (L, R : Node_Access) return Boolean is
     begin
!       if L.Key < R.Key then
!          return False;
! 
!       elsif R.Key < L.Key then
!          return False;
! 
!       else
!          return L.Element = R.Element;
!       end if;
     end Is_Equal_Node_Node;
  
     -------------------------
*************** package body Ada.Containers.Ordered_Maps
*** 677,689 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     ---------
--- 718,742 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       B : Natural renames Container.Tree'Unrestricted_Access.all.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (Container.Tree);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ---------
*************** package body Ada.Containers.Ordered_Maps
*** 692,697 ****
--- 745,757 ----
  
     function Key (Position : Cursor) return Key_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Key");
+ 
        return Position.Node.Key;
     end Key;
  
*************** package body Ada.Containers.Ordered_Maps
*** 700,711 ****
     ----------
  
     function Last (Container : Map) return Cursor is
     begin
!       if Container.Tree.Last = null then
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
     end Last;
  
     ------------------
--- 760,773 ----
     ----------
  
     function Last (Container : Map) return Cursor is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, T.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Ordered_Maps
*** 713,720 ****
     ------------------
  
     function Last_Element (Container : Map) return Element_Type is
     begin
!       return Container.Tree.Last.Element;
     end Last_Element;
  
     --------------
--- 775,788 ----
     ------------------
  
     function Last_Element (Container : Map) return Element_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.Last.Element;
     end Last_Element;
  
     --------------
*************** package body Ada.Containers.Ordered_Maps
*** 722,729 ****
     --------------
  
     function Last_Key (Container : Map) return Key_Type is
     begin
!       return Container.Tree.Last.Key;
     end Last_Key;
  
     ----------
--- 790,803 ----
     --------------
  
     function Last_Key (Container : Map) return Key_Type is
+       T : Tree_Type renames Container.Tree;
+ 
     begin
!       if T.Last = null then
!          raise Constraint_Error;
!       end if;
! 
!       return T.Last.Key;
     end Last_Key;
  
     ----------
*************** package body Ada.Containers.Ordered_Maps
*** 748,759 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Map; Source : in out Map) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 822,832 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Map; Source : in out Map) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Ordered_Maps
*** 772,777 ****
--- 845,853 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
           Node : constant Node_Access :=
                    Tree_Operations.Next (Position.Node);
*************** package body Ada.Containers.Ordered_Maps
*** 809,814 ****
--- 885,893 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
                    Tree_Operations.Previous (Position.Node);
*************** package body Ada.Containers.Ordered_Maps
*** 828,837 ****
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Key, Position.Node.Element);
     end Query_Element;
  
     ----------
--- 907,949 ----
  
     procedure Query_Element
       (Position : Cursor;
!       Process  : not null access procedure (Key     : Key_Type;
!                                             Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key;
!             E : Element_Type renames Position.Node.Element;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Ordered_Maps
*** 842,882 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : out Map)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Read is new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
- 
        begin
!          begin
!             Key_Type'Read (Stream, Node.Key);
!             Element_Type'Read (Stream, Node.Element);
!          exception
!             when others =>
!                Free (Node);
!                raise;
!          end;
! 
           return Node;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
  
!       Local_Read (Container.Tree, N);
     end Read;
  
     -------------
--- 954,996 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : out Map)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
!       procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
        begin
!          Key_Type'Read (Stream, Node.Key);
!          Element_Type'Read (Stream, Node.Element);
           return Node;
!       exception
!          when others =>
!             Free (Node);
!             raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
!    end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
     end Read;
  
     -------------
*************** package body Ada.Containers.Ordered_Maps
*** 895,900 ****
--- 1009,1018 ----
           raise Constraint_Error;
        end if;
  
+       if Container.Tree.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        Node.Key := Key;
        Node.Element := New_Item;
     end Replace;
*************** package body Ada.Containers.Ordered_Maps
*** 903,911 ****
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element (Position : Cursor; By : Element_Type) is
     begin
!       Position.Node.Element := By;
     end Replace_Element;
  
     ---------------------
--- 1021,1048 ----
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       if Container.Tree.Lock > 0 then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
! 
!       Position.Node.Element := New_Item;
     end Replace_Element;
  
     ---------------------
*************** package body Ada.Containers.Ordered_Maps
*** 928,940 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
        --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     -----------
--- 1065,1089 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       B : Natural renames Container.Tree'Unrestricted_Access.all.Busy;
+ 
        --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (Container.Tree);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Ordered_Maps
*** 976,982 ****
        Node.Parent := Parent;
     end Set_Parent;
  
- 
     ---------------
     -- Set_Right --
     ---------------
--- 1125,1130 ----
*************** package body Ada.Containers.Ordered_Maps
*** 991,1001 ****
     --------------------
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access procedure (Element : in out Element_Type))
     is
     begin
!       Process (Position.Node.Key, Position.Node.Element);
     end Update_Element;
  
     -----------
--- 1139,1187 ----
     --------------------
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access procedure (Key     : Key_Type;
!                                              Element : in out Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Update_Element");
! 
!       declare
!          T : Tree_Type renames Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          declare
!             K : Key_Type renames Position.Node.Key;
!             E : Element_Type renames Position.Node.Element;
! 
!          begin
!             Process (K, E);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Update_Element;
  
     -----------
*************** package body Ada.Containers.Ordered_Maps
*** 1006,1031 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : Map)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Key_Type'Write (Stream, Node.Key);
           Element_Type'Write (Stream, Node.Element);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
  end Ada.Containers.Ordered_Maps;
--- 1192,1230 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : Map)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Key_Type'Write (Stream, Node.Key);
           Element_Type'Write (Stream, Node.Element);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
!    end Write;
! 
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
     end Write;
  
  end Ada.Containers.Ordered_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coorma.ads gcc-4.1.0/gcc/ada/a-coorma.ads
*** gcc-4.0.2/gcc/ada/a-coorma.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-coorma.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.ORDERED_MAPS                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . O R D E R E D _ M A P S          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Finalization;
*** 38,53 ****
  with Ada.Streams;
  
  generic
- 
     type Key_Type is private;
- 
     type Element_Type is private;
  
     with function "<" (Left, Right : Key_Type) return Boolean is <>;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Maps is
! pragma Preelaborate (Ordered_Maps);
  
     type Map is tagged private;
  
--- 38,53 ----
  with Ada.Streams;
  
  generic
     type Key_Type is private;
     type Element_Type is private;
  
     with function "<" (Left, Right : Key_Type) return Boolean is <>;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Maps is
!    pragma Preelaborate;
! 
!    function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
     type Map is tagged private;
  
*************** pragma Preelaborate (Ordered_Maps);
*** 69,86 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access
                     procedure (Key : Key_Type; Element : Element_Type));
  
     procedure Update_Element
!      (Position : Cursor;
!       Process  : not null access
                     procedure (Key : Key_Type; Element : in out Element_Type));
  
-    procedure Replace_Element (Position : Cursor; By : in Element_Type);
- 
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
--- 69,90 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Map;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access
                     procedure (Key : Key_Type; Element : Element_Type));
  
     procedure Update_Element
!      (Container : in out Map;
!       Position  : Cursor;
!       Process   : not null access
                     procedure (Key : Key_Type; Element : in out Element_Type));
  
     procedure Move (Target : in out Map; Source : in out Map);
  
     procedure Insert
*************** pragma Preelaborate (Ordered_Maps);
*** 93,98 ****
--- 97,108 ----
     procedure Insert
       (Container : in out Map;
        Key       : Key_Type;
+       Position  : out Cursor;
+       Inserted  : out Boolean);
+ 
+    procedure Insert
+      (Container : in out Map;
+       Key       : Key_Type;
        New_Item  : Element_Type);
  
     procedure Include
*************** pragma Preelaborate (Ordered_Maps);
*** 105,155 ****
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Insert
!      (Container : in out Map;
!       Key       : Key_Type;
!       Position  : out Cursor;
!       Inserted  : out Boolean);
  
     procedure Delete (Container : in out Map; Key : Key_Type);
  
-    procedure Exclude (Container : in out Map; Key : Key_Type);
- 
     procedure Delete (Container : in out Map; Position : in out Cursor);
  
     procedure Delete_First (Container : in out Map);
  
     procedure Delete_Last (Container : in out Map);
  
!    function Contains (Container : Map; Key : Key_Type) return Boolean;
  
!    function Find (Container : Map; Key : Key_Type) return Cursor;
  
!    function Element (Container : Map; Key : Key_Type) return Element_Type;
  
!    function Floor (Container : Map; Key : Key_Type) return Cursor;
  
!    function Ceiling (Container : Map; Key : Key_Type) return Cursor;
  
!    function First (Container : Map) return Cursor;
  
!    function First_Key (Container : Map) return Key_Type;
  
!    function First_Element (Container : Map) return Element_Type;
  
!    function Last (Container : Map) return Cursor;
  
!    function Last_Key (Container : Map) return Key_Type;
  
!    function Last_Element (Container : Map) return Element_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    function Previous (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
--- 115,159 ----
        Key       : Key_Type;
        New_Item  : Element_Type);
  
!    procedure Exclude (Container : in out Map; Key : Key_Type);
  
     procedure Delete (Container : in out Map; Key : Key_Type);
  
     procedure Delete (Container : in out Map; Position : in out Cursor);
  
     procedure Delete_First (Container : in out Map);
  
     procedure Delete_Last (Container : in out Map);
  
!    function First (Container : Map) return Cursor;
  
!    function First_Element (Container : Map) return Element_Type;
  
!    function First_Key (Container : Map) return Key_Type;
  
!    function Last (Container : Map) return Cursor;
  
!    function Last_Element (Container : Map) return Element_Type;
  
!    function Last_Key (Container : Map) return Key_Type;
  
!    function Next (Position : Cursor) return Cursor;
  
!    procedure Next (Position : in out Cursor);
  
!    function Previous (Position : Cursor) return Cursor;
  
!    procedure Previous (Position : in out Cursor);
  
!    function Find (Container : Map; Key : Key_Type) return Cursor;
  
!    function Element (Container : Map; Key : Key_Type) return Element_Type;
  
!    function Floor (Container : Map; Key : Key_Type) return Cursor;
  
!    function Ceiling (Container : Map; Key : Key_Type) return Cursor;
  
!    function Contains (Container : Map; Key : Key_Type) return Boolean;
  
     function Has_Element (Position : Cursor) return Boolean;
  
*************** private
*** 178,198 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!      new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Map is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Map);
  
     procedure Finalize (Container : in out Map) renames Clear;
  
!    type Map_Access is access constant Map;
     for Map_Access'Storage_Size use 0;
  
     type Cursor is record
--- 182,214 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Key     : Key_Type;
!       Element : Element_Type;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
  
!    type Map is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Map);
  
     procedure Finalize (Container : in out Map) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Map_Access is access all Map;
     for Map_Access'Storage_Size use 0;
  
     type Cursor is record
*************** private
*** 200,208 ****
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 216,234 ----
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 210,216 ****
  
     for Map'Write use Write;
  
- 
     procedure Read
       (Stream    : access Root_Stream_Type'Class;
        Container : out Map);
--- 236,241 ----
*************** private
*** 218,223 ****
     for Map'Read use Read;
  
     Empty_Map : constant Map :=
!                  (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Ordered_Maps;
--- 243,253 ----
     for Map'Read use Read;
  
     Empty_Map : constant Map :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Ordered_Maps;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coormu.adb gcc-4.1.0/gcc/ada/a-coormu.adb
*** gcc-4.0.2/gcc/ada/a-coormu.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-coormu.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                     ADA.CONTAINERS.ORDERED_MULTISETS                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --     A D A . C O N T A I N E R S . O R D E R E D _ M U L T I S E T S      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 44,63 ****
  with Ada.Containers.Red_Black_Trees.Generic_Set_Operations;
  pragma Elaborate_All (Ada.Containers.Red_Black_Trees.Generic_Set_Operations);
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Ordered_Multisets is
  
-    use Red_Black_Trees;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Element : Element_Type;
-    end record;
- 
     -----------------------------
     -- Node Access Subprograms --
     -----------------------------
--- 44,51 ----
*************** package body Ada.Containers.Ordered_Mult
*** 96,104 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
  
!    procedure Delete_Tree (X : in out Node_Access);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
--- 84,95 ----
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    procedure Free (X : in out Node_Access);
  
!    procedure Insert_Sans_Hint
!      (Tree     : in out Tree_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
*************** package body Ada.Containers.Ordered_Mult
*** 122,140 ****
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!        (Tree_Types => Tree_Types,
!         Null_Node  => Node_Access'(null));
  
!    use Tree_Operations;
  
!    procedure Free is
!      new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     function Is_Equal is
       new Tree_Operations.Generic_Equal (Is_Equal_Node_Node);
--- 113,137 ----
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
+    procedure Replace_Element
+      (Tree : in out Tree_Type;
+       Node : Node_Access;
+       Item : Element_Type);
+ 
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations (Tree_Types);
  
!    procedure Delete_Tree is
!      new Tree_Operations.Generic_Delete_Tree (Free);
  
!    function Copy_Tree is
!      new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
! 
!    use Tree_Operations;
  
     function Is_Equal is
       new Tree_Operations.Generic_Equal (Is_Equal_Node_Node);
*************** package body Ada.Containers.Ordered_Mult
*** 161,178 ****
--- 158,201 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Element < Right.Node.Element;
     end "<";
  
     function "<" (Left : Cursor; Right : Element_Type)
        return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Element < Right;
     end "<";
  
     function "<" (Left : Element_Type; Right : Cursor)
        return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Element;
     end "<";
  
*************** package body Ada.Containers.Ordered_Mult
*** 182,191 ****
  
     function "=" (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return True;
-       end if;
- 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
--- 205,210 ----
*************** package body Ada.Containers.Ordered_Mult
*** 195,200 ****
--- 214,231 ----
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        --  L > R same as R < L
  
        return Right.Node.Element < Left.Node.Element;
*************** package body Ada.Containers.Ordered_Mult
*** 203,214 ****
--- 234,259 ----
     function ">" (Left : Cursor; Right : Element_Type)
        return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
        return Right < Left.Node.Element;
     end ">";
  
     function ">" (Left : Element_Type; Right : Cursor)
        return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Element < Left;
     end ">";
  
*************** package body Ada.Containers.Ordered_Mult
*** 216,239 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
! 
!       N : constant Count_Type := Tree.Length;
!       X : constant Node_Access := Tree.Root;
  
     begin
!       if N = 0 then
!          pragma Assert (X = null);
!          return;
!       end if;
! 
!       Tree := (Length => 0, others => null);
! 
!       Tree.Root := Copy_Tree (X);
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
!       Tree.Length := N;
     end Adjust;
  
     -------------
--- 261,272 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Set) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Ordered_Mult
*** 249,267 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Set) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 282,300 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Set) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Ordered_Mult
*** 297,345 ****
        return Target;
     end Copy_Node;
  
-    ---------------
-    -- Copy_Tree --
-    ---------------
- 
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
-       Target_Root : Node_Access := Copy_Node (Source_Root);
- 
-       P, X : Node_Access;
- 
-    begin
-       if Source_Root.Right /= null then
-          Target_Root.Right := Copy_Tree (Source_Root.Right);
-          Target_Root.Right.Parent := Target_Root;
-       end if;
- 
-       P := Target_Root;
-       X := Source_Root.Left;
-       while X /= null loop
-          declare
-             Y : Node_Access := Copy_Node (X);
- 
-          begin
-             P.Left := Y;
-             Y.Parent := P;
- 
-             if X.Right /= null then
-                Y.Right := Copy_Tree (X.Right);
-                Y.Right.Parent := Y;
-             end if;
- 
-             P := Y;
-             X := X.Left;
-          end;
-       end loop;
- 
-       return Target_Root;
- 
-    exception
-       when others =>
-          Delete_Tree (Target_Root);
-          raise;
-    end Copy_Tree;
- 
     ------------
     -- Delete --
     ------------
--- 330,335 ----
*************** package body Ada.Containers.Ordered_Mult
*** 365,380 ****
        end loop;
     end Delete;
  
!    procedure Delete (Container : in out Set; Position  : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
        Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
--- 355,373 ----
        end loop;
     end Delete;
  
!    procedure Delete (Container : in out Set; Position : in out Cursor) is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
+       pragma Assert (Vet (Container.Tree, Position.Node),
+                      "bad cursor in Delete");
+ 
        Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
  
*************** package body Ada.Containers.Ordered_Mult
*** 415,462 ****
        Free (X);
     end Delete_Last;
  
-    -----------------
-    -- Delete_Tree --
-    -----------------
- 
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
-    begin
-       while X /= null loop
-          Y := X.Right;
-          Delete_Tree (Y);
-          Y := X.Left;
-          Free (X);
-          X := Y;
-       end loop;
-    end Delete_Tree;
- 
     ----------------
     -- Difference --
     ----------------
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Difference;
  
     -------------
--- 408,427 ----
        Free (X);
     end Delete_Last;
  
     ----------------
     -- Difference --
     ----------------
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Difference;
  
     -------------
*************** package body Ada.Containers.Ordered_Mult
*** 465,473 ****
--- 430,493 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element;
     end Element;
  
+    -------------------------
+    -- Equivalent_Elements --
+    -------------------------
+ 
+    function Equivalent_Elements (Left, Right : Element_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Elements;
+ 
+    ---------------------
+    -- Equivalent_Sets --
+    ---------------------
+ 
+    function Equivalent_Sets (Left, Right : Set) return Boolean is
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean;
+       pragma Inline (Is_Equivalent_Node_Node);
+ 
+       function Is_Equivalent is
+         new Tree_Operations.Generic_Equal (Is_Equivalent_Node_Node);
+ 
+       -----------------------------
+       -- Is_Equivalent_Node_Node --
+       -----------------------------
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean is
+       begin
+          if L.Element < R.Element then
+             return False;
+          elsif R.Element < L.Element then
+             return False;
+          else
+             return True;
+          end if;
+       end Is_Equivalent_Node_Node;
+ 
+    --  Start of processing for Equivalent_Sets
+ 
+    begin
+       return Is_Equivalent (Left.Tree, Right.Tree);
+    end Equivalent_Sets;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Ordered_Mult
*** 499,505 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Find;
  
     -----------
--- 519,525 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Ordered_Mult
*** 512,518 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.First);
     end First;
  
     -------------------
--- 532,538 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Ordered_Mult
*** 521,526 ****
--- 541,550 ----
  
     function First_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.First = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.First.Element;
     end First_Element;
  
*************** package body Ada.Containers.Ordered_Mult
*** 537,545 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Floor;
  
     ------------------
     -- Generic_Keys --
     ------------------
--- 561,587 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
+    ----------
+    -- Free --
+    ----------
+ 
+    procedure Free (X : in out Node_Access) is
+       procedure Deallocate is
+          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
+    begin
+       if X /= null then
+          X.Parent := X;
+          X.Left := X;
+          X.Right := X;
+ 
+          Deallocate (X);
+       end if;
+    end Free;
+ 
     ------------------
     -- Generic_Keys --
     ------------------
*************** package body Ada.Containers.Ordered_Mult
*** 571,604 ****
             Is_Less_Key_Node    => Is_Less_Key_Node,
             Is_Greater_Key_Node => Is_Greater_Key_Node);
  
-       ---------
-       -- "<" --
-       ---------
- 
-       function "<" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left < Right.Node.Element;
-       end "<";
- 
-       function "<" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right > Left.Node.Element;
-       end "<";
- 
-       ---------
-       -- ">" --
-       ---------
- 
-       function ">" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right < Left.Node.Element;
-       end ">";
- 
-       function ">" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left > Right.Node.Element;
-       end ">";
- 
        -------------
        -- Ceiling --
        -------------
--- 613,618 ----
*************** package body Ada.Containers.Ordered_Mult
*** 612,688 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Ceiling;
  
-       ----------------------------
-       -- Checked_Update_Element --
-       ----------------------------
- 
-       procedure Checked_Update_Element
-         (Container : in out Set;
-          Position  : Cursor;
-          Process   : not null access procedure (Element : in out Element_Type))
-       is
-       begin
-          if Position.Container = null then
-             raise Constraint_Error;
-          end if;
- 
-          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
-             raise Program_Error;
-          end if;
- 
-          declare
-             Old_Key : Key_Type renames Key (Position.Node.Element);
- 
-          begin
-             Process (Position.Node.Element);
- 
-             if Old_Key < Position.Node.Element
-               or else Old_Key > Position.Node.Element
-             then
-                null;
-             else
-                return;
-             end if;
-          end;
- 
-          Delete_Node_Sans_Free (Container.Tree, Position.Node);
- 
-          Do_Insert : declare
-             Result  : Node_Access;
- 
-             function New_Node return Node_Access;
-             pragma Inline (New_Node);
- 
-             procedure Insert_Post is
-               new Key_Keys.Generic_Insert_Post (New_Node);
- 
-             procedure Insert is
-               new Key_Keys.Generic_Unconditional_Insert (Insert_Post);
- 
-             --------------
-             -- New_Node --
-             --------------
- 
-             function New_Node return Node_Access is
-             begin
-                return Position.Node;
-             end New_Node;
- 
-          --  Start of processing for Do_Insert
- 
-          begin
-             Insert
-               (Tree    => Container.Tree,
-                Key     => Key (Position.Node.Element),
-                Node    => Result);
- 
-             pragma Assert (Result = Position.Node);
-          end Do_Insert;
-       end Checked_Update_Element;
- 
        --------------
        -- Contains --
        --------------
--- 626,634 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Ceiling;
  
        --------------
        -- Contains --
        --------------
*************** package body Ada.Containers.Ordered_Mult
*** 725,733 ****
--- 671,698 ----
           Node : constant Node_Access :=
                    Key_Keys.Find (Container.Tree, Key);
        begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
+ 
           return Node.Element;
        end Element;
  
+       ---------------------
+       -- Equivalent_Keys --
+       ---------------------
+ 
+       function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+       begin
+          if Left < Right
+            or else Right < Left
+          then
+             return False;
+          else
+             return True;
+          end if;
+       end Equivalent_Keys;
+ 
        -------------
        -- Exclude --
        -------------
*************** package body Ada.Containers.Ordered_Mult
*** 737,742 ****
--- 702,708 ----
           Node : Node_Access := Key_Keys.Ceiling (Tree, Key);
           Done : constant Node_Access := Key_Keys.Upper_Bound (Tree, Key);
           X    : Node_Access;
+ 
        begin
           while Node /= Done loop
              X := Node;
*************** package body Ada.Containers.Ordered_Mult
*** 759,765 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Find;
  
        -----------
--- 725,731 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Find;
  
        -----------
*************** package body Ada.Containers.Ordered_Mult
*** 775,781 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Floor;
  
        -------------------------
--- 741,747 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Floor;
  
        -------------------------
*************** package body Ada.Containers.Ordered_Mult
*** 786,792 ****
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left > Right.Element;
        end Is_Greater_Key_Node;
  
        ----------------------
--- 752,758 ----
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Key (Right.Element) < Left;
        end Is_Greater_Key_Node;
  
        ----------------------
*************** package body Ada.Containers.Ordered_Mult
*** 797,803 ****
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left < Right.Element;
        end Is_Less_Key_Node;
  
        -------------
--- 763,769 ----
          (Left  : Key_Type;
           Right : Node_Access) return Boolean is
        begin
!          return Left < Key (Right.Element);
        end Is_Less_Key_Node;
  
        -------------
*************** package body Ada.Containers.Ordered_Mult
*** 821,833 ****
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unchecked_Access, Node));
           end Process_Node;
  
        --  Start of processing for Iterate
  
        begin
!          Local_Iterate (Container.Tree, Key);
        end Iterate;
  
        ---------
--- 787,812 ----
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unrestricted_Access, Node));
           end Process_Node;
  
+          T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+          B : Natural renames T.Busy;
+ 
        --  Start of processing for Iterate
  
        begin
!          B := B + 1;
! 
!          begin
!             Local_Iterate (T, Key);
!          exception
!             when others =>
!                B := B - 1;
!                raise;
!          end;
! 
!          B := B - 1;
        end Iterate;
  
        ---------
*************** package body Ada.Containers.Ordered_Mult
*** 836,864 ****
  
        function Key (Position : Cursor) return Key_Type is
        begin
!          return Key (Position.Node.Element);
!       end Key;
! 
!       -------------
!       -- Replace --
!       -------------
! 
!       --  In post-madision api:???
! 
! --    procedure Replace
! --      (Container : in out Set;
! --       Key       : Key_Type;
! --       New_Item  : Element_Type)
! --    is
! --       Node : Node_Access := Key_Keys.Find (Container.Tree, Key);
  
! --    begin
! --       if Node = null then
! --          raise Constraint_Error;
! --       end if;
  
! --       Replace_Node (Container, Node, New_Item);
! --    end Replace;
  
        ---------------------
        -- Reverse_Iterate --
--- 815,829 ----
  
        function Key (Position : Cursor) return Key_Type is
        begin
!          if Position.Node = null then
!             raise Constraint_Error;
!          end if;
  
!          pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                         "bad cursor in Key");
  
!          return Key (Position.Node.Element);
!       end Key;
  
        ---------------------
        -- Reverse_Iterate --
*************** package body Ada.Containers.Ordered_Mult
*** 881,895 ****
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unchecked_Access, Node));
           end Process_Node;
  
        --  Start of processing for Reverse_Iterate
  
        begin
!          Local_Reverse_Iterate (Container.Tree, Key);
        end Reverse_Iterate;
  
     end Generic_Keys;
  
     -----------------
--- 846,934 ----
  
           procedure Process_Node (Node : Node_Access) is
           begin
!             Process (Cursor'(Container'Unrestricted_Access, Node));
           end Process_Node;
  
+          T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+          B : Natural renames T.Busy;
+ 
        --  Start of processing for Reverse_Iterate
  
        begin
!          B := B + 1;
! 
!          begin
!             Local_Reverse_Iterate (T, Key);
!          exception
!             when others =>
!                B := B - 1;
!                raise;
!          end;
! 
!          B := B - 1;
        end Reverse_Iterate;
  
+       -----------------------------------
+       -- Update_Element_Preserving_Key --
+       -----------------------------------
+ 
+       procedure Update_Element_Preserving_Key
+         (Container : in out Set;
+          Position  : Cursor;
+          Process   : not null access procedure (Element : in out Element_Type))
+       is
+          Tree : Tree_Type renames Container.Tree;
+ 
+       begin
+          if Position.Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          if Position.Container /= Container'Unrestricted_Access then
+             raise Program_Error;
+          end if;
+ 
+          pragma Assert (Vet (Container.Tree, Position.Node),
+                         "bad cursor in Update_Element_Preserving_Key");
+ 
+          declare
+             E : Element_Type renames Position.Node.Element;
+             K : constant Key_Type := Key (E);
+ 
+             B : Natural renames Tree.Busy;
+             L : Natural renames Tree.Lock;
+ 
+          begin
+             B := B + 1;
+             L := L + 1;
+ 
+             begin
+                Process (E);
+             exception
+                when others =>
+                   L := L - 1;
+                   B := B - 1;
+                   raise;
+             end;
+ 
+             L := L - 1;
+             B := B - 1;
+ 
+             if Equivalent_Keys (Left => K, Right => Key (E)) then
+                return;
+             end if;
+          end;
+ 
+          declare
+             X : Node_Access := Position.Node;
+          begin
+             Tree_Operations.Delete_Node_Sans_Free (Tree, X);
+             Free (X);
+          end;
+ 
+          raise Program_Error;
+       end Update_Element_Preserving_Key;
+ 
     end Generic_Keys;
  
     -----------------
*************** package body Ada.Containers.Ordered_Mult
*** 916,921 ****
--- 955,978 ----
        New_Item  : Element_Type;
        Position  : out Cursor)
     is
+    begin
+       Insert_Sans_Hint
+         (Container.Tree,
+          New_Item,
+          Position.Node);
+ 
+       Position.Container := Container'Unrestricted_Access;
+    end Insert;
+ 
+    ----------------------
+    -- Insert_Sans_Hint --
+    ----------------------
+ 
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access)
+    is
        function New_Node return Node_Access;
        pragma Inline (New_Node);
  
*************** package body Ada.Containers.Ordered_Mult
*** 931,955 ****
  
        function New_Node return Node_Access is
           Node : constant Node_Access :=
!                   new Node_Type'(Parent => null,
!                                  Left   => null,
!                                  Right  => null,
!                                  Color  => Red,
                                   Element => New_Item);
        begin
           return Node;
        end New_Node;
  
!    --  Start of processing for Insert
  
     begin
        Unconditional_Insert_Sans_Hint
!         (Container.Tree,
           New_Item,
!          Position.Node);
! 
!       Position.Container := Container'Unchecked_Access;
!    end Insert;
  
     ----------------------
     -- Insert_With_Hint --
--- 988,1010 ----
  
        function New_Node return Node_Access is
           Node : constant Node_Access :=
!                   new Node_Type'(Parent  => null,
!                                  Left    => null,
!                                  Right   => null,
!                                  Color   => Red_Black_Trees.Red,
                                   Element => New_Item);
        begin
           return Node;
        end New_Node;
  
!    --  Start of processing for Insert_Sans_Hint
  
     begin
        Unconditional_Insert_Sans_Hint
!         (Tree,
           New_Item,
!          Node);
!    end Insert_Sans_Hint;
  
     ----------------------
     -- Insert_With_Hint --
*************** package body Ada.Containers.Ordered_Mult
*** 1006,1030 ****
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Intersection (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Intersection;
  
     --------------
--- 1061,1074 ----
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Intersection (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Intersection;
  
     --------------
*************** package body Ada.Containers.Ordered_Mult
*** 1086,1095 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean is
     begin
-       if Subset'Address = Of_Set'Address then
-          return True;
-       end if;
- 
        return Set_Ops.Is_Subset (Subset => Subset.Tree, Of_Set => Of_Set.Tree);
     end Is_Subset;
  
--- 1130,1135 ----
*************** package body Ada.Containers.Ordered_Mult
*** 1113,1125 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     procedure Iterate
--- 1153,1178 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     procedure Iterate
*************** package body Ada.Containers.Ordered_Mult
*** 1139,1151 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Iterate
  
     begin
!       Local_Iterate (Container.Tree, Item);
     end Iterate;
  
     ----------
--- 1192,1217 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T, Item);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Ordered_Mult
*** 1158,1164 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
     end Last;
  
     ------------------
--- 1224,1230 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Ordered_Mult
*** 1167,1172 ****
--- 1233,1242 ----
  
     function Last_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.Last.Element;
     end Last_Element;
  
*************** package body Ada.Containers.Ordered_Mult
*** 1192,1203 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 1262,1272 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Ordered_Mult
*** 1217,1225 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Next (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 1286,1297 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Next (Position.Node);
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Ordered_Mult
*** 1235,1244 ****
  
     function Overlap (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return Left.Tree.Length /= 0;
-       end if;
- 
        return Set_Ops.Overlap (Left.Tree, Right.Tree);
     end Overlap;
  
--- 1307,1312 ----
*************** package body Ada.Containers.Ordered_Mult
*** 1267,1275 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Previous (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 1335,1346 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Previous (Position.Node);
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Ordered_Mult
*** 1288,1294 ****
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Element);
     end Query_Element;
  
     ----------
--- 1359,1393 ----
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Ordered_Mult
*** 1299,1449 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Read is new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
- 
        begin
!          begin
!             Element_Type'Read (Stream, Node.Element);
! 
!          exception
!             when others =>
!                Free (Node);
!                raise;
!          end;
! 
           return Node;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
! 
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
! 
!       Local_Read (Container.Tree, N);
     end Read;
  
!    -------------
!    -- Replace --
!    -------------
! 
!    --  NOTE: from post-madison api ???
! 
! --   procedure Replace
! --     (Container : in out Set;
! --      Position  : Cursor;
! --      By        : Element_Type)
! --   is
! --   begin
! --      if Position.Container = null then
! --         raise Constraint_Error;
! --      end if;
  
! --      if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --         raise Program_Error;
! --      end if;
  
! --      Replace_Node (Container, Position.Node, By);
! --   end Replace;
  
!    ------------------
!    -- Replace_Node --
!    ------------------
  
!    --  NOTE: from post-madison api ???
  
! --   procedure Replace_Node
! --     (Container : in out Set;
! --      Position  : Node_Access;
! --      By        : Element_Type)
! --   is
! --      Tree : Tree_Type renames Container.Tree;
! --      Node : Node_Access := Position;
  
! --   begin
! --      if By < Node.Element
! --        or else Node.Element < By
! --      then
! --         null;
  
! --      else
! --         begin
! --            Node.Element := By;
  
! --         exception
! --            when others =>
! --               Tree_Operations.Delete_Node_Sans_Free (Tree, Node);
! --               Free (Node);
! --               raise;
! --         end;
  
! --         return;
! --      end if;
  
! --      Tree_Operations.Delete_Node_Sans_Free (Tree, Node);
  
! --      begin
! --         Node.Element := By;
  
! --      exception
! --         when others =>
! --            Free (Node);
! --            raise;
! --      end;
! --
! --      Do_Insert : declare
! --         Result  : Node_Access;
! --         Success : Boolean;
  
! --         function New_Node return Node_Access;
! --         pragma Inline (New_Node);
  
! --         procedure Insert_Post is
! --           new Element_Keys.Generic_Insert_Post (New_Node);
! --
! --         procedure Insert is
! --           new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
! --         --------------
! --         -- New_Node --
! --         --------------
  
! --         function New_Node return Node_Access is
! --         begin
! --            return Node;
! --         end New_Node;
  
! --      --  Start of processing for Do_Insert
  
! --      begin
! --         Insert
! --           (Tree    => Tree,
! --            Key     => Node.Element,
! --            Node    => Result,
! --            Success => Success);
! --
! --         if not Success then
! --            Free (Node);
! --            raise Program_Error;
! --         end if;
! --
! --         pragma Assert (Result = Node);
! --      end Do_Insert;
! --   end Replace_Node;
  
     ---------------------
     -- Reverse_Iterate --
--- 1398,1524 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
!       procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
        begin
!          Element_Type'Read (Stream, Node.Element);
           return Node;
!       exception
!          when others =>
!             Free (Node);  --  Note that Free deallocates elem too
!             raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
     end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Read;
  
!    ---------------------
!    -- Replace_Element --
!    ---------------------
  
!    procedure Replace_Element
!      (Tree : in out Tree_Type;
!       Node : Node_Access;
!       Item : Element_Type)
!    is
!    begin
!       if Item < Node.Element
!         or else Node.Element < Item
!       then
!          null;
!       else
!          if Tree.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          Node.Element := Item;
!          return;
!       end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Tree, Node);  -- Checks busy-bit
  
!       Insert_New_Item : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
!          procedure Unconditional_Insert is
!             new Element_Keys.Generic_Unconditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node return Node_Access is
!          begin
!             Node.Element := Item;
!             Node.Color := Red_Black_Trees.Red;
!             Node.Parent := null;
!             Node.Left := null;
!             Node.Right := null;
  
!             return Node;
!          end New_Node;
  
!          Result : Node_Access;
  
!       --  Start of processing for Insert_New_Item
  
!       begin
!          Unconditional_Insert
!            (Tree => Tree,
!             Key  => Item,
!             Node => Result);
  
!          pragma Assert (Result = Node);
!       end Insert_New_Item;
!    end Replace_Element;
  
!    procedure Replace_Element
!      (Container : in out Set;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
!    begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
  
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
  
!       Replace_Element (Container.Tree, Position.Node, New_Item);
!    end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
*************** package body Ada.Containers.Ordered_Mult
*** 1465,1477 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     procedure Reverse_Iterate
--- 1540,1565 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     procedure Reverse_Iterate
*************** package body Ada.Containers.Ordered_Mult
*** 1491,1503 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree, Item);
     end Reverse_Iterate;
  
     -----------
--- 1579,1604 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T, Item);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Ordered_Mult
*** 1551,1603 ****
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Symmetric_Difference;
  
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Union (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Union;
  
     -----------
--- 1652,1694 ----
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
+ 
+    function To_Set (New_Item : Element_Type) return Set is
+       Tree     : Tree_Type;
+       Node     : Node_Access;
+ 
+    begin
+       Insert_Sans_Hint (Tree, New_Item, Node);
+       return Set'(Controlled with Tree);
+    end To_Set;
+ 
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Union (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Union;
  
     -----------
*************** package body Ada.Containers.Ordered_Mult
*** 1608,1635 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is
!         new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Element_Type'Write (Stream, Node.Element);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
! end Ada.Containers.Ordered_Multisets;
! 
  
--- 1699,1736 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Element_Type'Write (Stream, Node.Element);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
+ end Ada.Containers.Ordered_Multisets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coormu.ads gcc-4.1.0/gcc/ada/a-coormu.ads
*** gcc-4.0.2/gcc/ada/a-coormu.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-coormu.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                     ADA.CONTAINERS.ORDERED_MULTISETS                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --     A D A . C O N T A I N E R S . O R D E R E D _ M U L T I S E T S      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 44,50 ****
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Multisets is
! pragma Preelaborate (Ordered_Multisets);
  
     type Set is tagged private;
  
--- 44,52 ----
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Multisets is
!    pragma Preelaborate;
! 
!    function Equivalent_Elements (Left, Right : Element_Type) return Boolean;
  
     type Set is tagged private;
  
*************** pragma Preelaborate (Ordered_Multisets);
*** 56,61 ****
--- 58,67 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** pragma Preelaborate (Ordered_Multisets);
*** 64,76 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
!    procedure Move
!      (Target : in out Set;
!       Source : in out Set);
  
     procedure Insert
       (Container : in out Set;
--- 70,85 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
!    procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
       (Container : in out Set;
*************** pragma Preelaborate (Ordered_Multisets);
*** 81,91 ****
       (Container : in out Set;
        New_Item  : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
--- 90,106 ----
       (Container : in out Set;
        New_Item  : Element_Type);
  
! --  TODO: include Replace too???
! --
! --     procedure Replace
! --       (Container : in out Set;
! --        New_Item  : Element_Type);
! 
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
*************** pragma Preelaborate (Ordered_Multisets);
*** 97,110 ****
  
     procedure Delete_Last (Container : in out Set);
  
-    --  NOTE: The following operation is named Replace in the Madison API.
-    --  However, it should be named Replace_Element. ???
-    --
-    --   procedure Replace
-    --     (Container : in out Set;
-    --      Position  : Cursor;
-    --      By        : Element_Type);
- 
     procedure Union (Target : in out Set; Source : Set);
  
     function Union (Left, Right : Set) return Set;
--- 112,117 ----
*************** pragma Preelaborate (Ordered_Multisets);
*** 133,146 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
-    function Contains (Container : Set; Item : Element_Type) return Boolean;
- 
-    function Find (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Floor (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
- 
     function First (Container : Set) return Cursor;
  
     function First_Element (Container : Set) return Element_Type;
--- 140,145 ----
*************** pragma Preelaborate (Ordered_Multisets);
*** 151,162 ****
  
     function Next (Position : Cursor) return Cursor;
  
-    function Previous (Position : Cursor) return Cursor;
- 
     procedure Next (Position : in out Cursor);
  
     procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
--- 150,169 ----
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
+    function Previous (Position : Cursor) return Cursor;
+ 
     procedure Previous (Position : in out Cursor);
  
+    function Find (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Floor (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
*************** pragma Preelaborate (Ordered_Multisets);
*** 190,244 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left : Key_Type; Right : Element_Type)
!         return Boolean is <>;
! 
!       with function ">" (Left : Key_Type; Right : Element_Type)
!         return Boolean is <>;
  
     package Generic_Keys is
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       function Find (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
-       --  NOTE: in post-madison api ???
-       --      procedure Replace
-       --        (Container : in out Set;
-       --         Key       : Key_Type;
-       --         New_Item  : Element_Type);
- 
-       procedure Delete (Container : in out Set; Key : Key_Type);
- 
        procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       function "<" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function ">" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function "<" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       function ">" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       --  Should name of following be "Update_Element" ???
  
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
!            procedure (Element : in out Element_Type));
  
        procedure Iterate
          (Container : Set;
--- 197,233 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left, Right : Key_Type) return Boolean is <>;
  
     package Generic_Keys is
  
!       function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
        procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       procedure Delete (Container : in out Set; Key : Key_Type);
  
!       function Find (Container : Set; Key : Key_Type) return Cursor;
  
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
  
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
  
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
!                        procedure (Element : in out Element_Type));
  
        procedure Iterate
          (Container : Set;
*************** private
*** 257,277 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!      new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Set is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    type Set_Access is access constant Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
--- 246,277 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Element : Element_Type;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
  
!    type Set is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
     for Set_Access'Storage_Size use 0;
  
     type Cursor is record
*************** private
*** 279,287 ****
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 279,297 ----
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 296,301 ****
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Ordered_Multisets;
--- 306,316 ----
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Ordered_Multisets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coorse.adb gcc-4.1.0/gcc/ada/a-coorse.adb
*** gcc-4.0.2/gcc/ada/a-coorse.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coorse.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.ORDERED_SETS                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . O R D E R E D _ S E T S          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Elaborate_All (Ada.Containers.Red
*** 44,63 ****
  with Ada.Containers.Red_Black_Trees.Generic_Set_Operations;
  pragma Elaborate_All (Ada.Containers.Red_Black_Trees.Generic_Set_Operations);
  
- with System;  use type System.Address;
- 
  package body Ada.Containers.Ordered_Sets is
  
-    use Red_Black_Trees;
- 
-    type Node_Type is limited record
-       Parent  : Node_Access;
-       Left    : Node_Access;
-       Right   : Node_Access;
-       Color   : Red_Black_Trees.Color_Type := Red;
-       Element : Element_Type;
-    end record;
- 
     ------------------------------
     -- Access to Fields of Node --
     ------------------------------
--- 44,51 ----
*************** package body Ada.Containers.Ordered_Sets
*** 96,104 ****
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    function Copy_Tree (Source_Root : Node_Access) return Node_Access;
  
!    procedure Delete_Tree (X : in out Node_Access);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
--- 84,96 ----
     function Copy_Node (Source : Node_Access) return Node_Access;
     pragma Inline (Copy_Node);
  
!    procedure Free (X : in out Node_Access);
  
!    procedure Insert_Sans_Hint
!      (Tree     : in out Tree_Type;
!       New_Item : Element_Type;
!       Node     : out Node_Access;
!       Inserted : out Boolean);
  
     procedure Insert_With_Hint
       (Dst_Tree : in out Tree_Type;
*************** package body Ada.Containers.Ordered_Sets
*** 122,140 ****
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations
!       (Tree_Types => Tree_Types,
!        Null_Node  => Node_Access'(null));
  
!    use Tree_Operations;
  
!    procedure Free is
!      new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
  
     function Is_Equal is
       new Tree_Operations.Generic_Equal (Is_Equal_Node_Node);
--- 114,138 ----
     function Is_Less_Node_Node (L, R : Node_Access) return Boolean;
     pragma Inline (Is_Less_Node_Node);
  
+    procedure Replace_Element
+      (Tree : in out Tree_Type;
+       Node : Node_Access;
+       Item : Element_Type);
+ 
     --------------------------
     -- Local Instantiations --
     --------------------------
  
     package Tree_Operations is
!      new Red_Black_Trees.Generic_Operations (Tree_Types);
  
!    procedure Delete_Tree is
!       new Tree_Operations.Generic_Delete_Tree (Free);
  
!    function Copy_Tree is
!       new Tree_Operations.Generic_Copy_Tree (Copy_Node, Delete_Tree);
! 
!    use Tree_Operations;
  
     function Is_Equal is
       new Tree_Operations.Generic_Equal (Is_Equal_Node_Node);
*************** package body Ada.Containers.Ordered_Sets
*** 161,176 ****
--- 159,200 ----
  
     function "<" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left.Node.Element < Right.Node.Element;
     end "<";
  
     function "<" (Left : Cursor; Right : Element_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in ""<""");
+ 
        return Left.Node.Element < Right;
     end "<";
  
     function "<" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in ""<""");
+ 
        return Left < Right.Node.Element;
     end "<";
  
*************** package body Ada.Containers.Ordered_Sets
*** 180,189 ****
  
     function "=" (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return True;
-       end if;
- 
        return Is_Equal (Left.Tree, Right.Tree);
     end "=";
  
--- 204,209 ----
*************** package body Ada.Containers.Ordered_Sets
*** 193,198 ****
--- 213,230 ----
  
     function ">" (Left, Right : Cursor) return Boolean is
     begin
+       if Left.Node = null
+         or else Right.Node = null
+       then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        --  L > R same as R < L
  
        return Right.Node.Element < Left.Node.Element;
*************** package body Ada.Containers.Ordered_Sets
*** 200,210 ****
--- 232,256 ----
  
     function ">" (Left : Element_Type; Right : Cursor) return Boolean is
     begin
+       if Right.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Right.Container.Tree, Right.Node),
+                      "bad Right cursor in "">""");
+ 
        return Right.Node.Element < Left;
     end ">";
  
     function ">" (Left : Cursor; Right : Element_Type) return Boolean is
     begin
+       if Left.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Left.Container.Tree, Left.Node),
+                      "bad Left cursor in "">""");
+ 
        return Right < Left.Node.Element;
     end ">";
  
*************** package body Ada.Containers.Ordered_Sets
*** 212,235 ****
     -- Adjust --
     ------------
  
!    procedure Adjust (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
! 
!       N : constant Count_Type := Tree.Length;
!       X : constant Node_Access := Tree.Root;
  
     begin
!       if N = 0 then
!          pragma Assert (X = null);
!          return;
!       end if;
! 
!       Tree := (Length => 0, others => null);
! 
!       Tree.Root := Copy_Tree (X);
!       Tree.First := Min (Tree.Root);
!       Tree.Last := Max (Tree.Root);
!       Tree.Length := N;
     end Adjust;
  
     -------------
--- 258,269 ----
     -- Adjust --
     ------------
  
!    procedure Adjust is
!       new Tree_Operations.Generic_Adjust (Copy_Tree);
  
+    procedure Adjust (Container : in out Set) is
     begin
!       Adjust (Container.Tree);
     end Adjust;
  
     -------------
*************** package body Ada.Containers.Ordered_Sets
*** 245,263 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
     procedure Clear (Container : in out Set) is
-       Tree : Tree_Type renames Container.Tree;
-       Root : Node_Access := Tree.Root;
     begin
!       Tree := (Length => 0, others => null);
!       Delete_Tree (Root);
     end Clear;
  
     -----------
--- 279,297 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Ceiling;
  
     -----------
     -- Clear --
     -----------
  
+    procedure Clear is
+       new Tree_Operations.Generic_Clear (Delete_Tree);
+ 
     procedure Clear (Container : in out Set) is
     begin
!       Clear (Container.Tree);
     end Clear;
  
     -----------
*************** package body Ada.Containers.Ordered_Sets
*** 296,360 ****
        return Target;
     end Copy_Node;
  
-    ---------------
-    -- Copy_Tree --
-    ---------------
- 
-    function Copy_Tree (Source_Root : Node_Access) return Node_Access is
-       Target_Root : Node_Access := Copy_Node (Source_Root);
- 
-       P, X : Node_Access;
- 
-    begin
-       if Source_Root.Right /= null then
-          Target_Root.Right := Copy_Tree (Source_Root.Right);
-          Target_Root.Right.Parent := Target_Root;
-       end if;
- 
-       P := Target_Root;
-       X := Source_Root.Left;
-       while X /= null loop
-          declare
-             Y : Node_Access := Copy_Node (X);
- 
-          begin
-             P.Left := Y;
-             Y.Parent := P;
- 
-             if X.Right /= null then
-                Y.Right := Copy_Tree (X.Right);
-                Y.Right.Parent := Y;
-             end if;
- 
-             P := Y;
-             X := X.Left;
-          end;
-       end loop;
- 
-       return Target_Root;
- 
-    exception
-       when others =>
- 
-          Delete_Tree (Target_Root);
-          raise;
-    end Copy_Tree;
- 
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Set; Position : in out Cursor) is
     begin
!       if Position = No_Element then
!          return;
        end if;
  
!       if Position.Container /= Set_Access'(Container'Unchecked_Access) then
           raise Program_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
        Position.Container := null;
     end Delete;
--- 330,353 ----
        return Target;
     end Copy_Node;
  
     ------------
     -- Delete --
     ------------
  
     procedure Delete (Container : in out Set; Position : in out Cursor) is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
        end if;
  
!       if Position.Container /= Container'Unrestricted_Access then
           raise Program_Error;
        end if;
  
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Delete");
! 
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, Position.Node);
        Free (Position.Node);
        Position.Container := null;
     end Delete;
*************** package body Ada.Containers.Ordered_Sets
*** 367,373 ****
           raise Constraint_Error;
        end if;
  
!       Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
--- 360,366 ----
           raise Constraint_Error;
        end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
        Free (X);
     end Delete;
  
*************** package body Ada.Containers.Ordered_Sets
*** 376,384 ****
     ------------------
  
     procedure Delete_First (Container : in out Set) is
!       C : Cursor := First (Container);
     begin
!       Delete (Container, C);
     end Delete_First;
  
     -----------------
--- 369,382 ----
     ------------------
  
     procedure Delete_First (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
!       X    : Node_Access := Tree.First;
! 
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Tree, X);
!          Free (X);
!       end if;
     end Delete_First;
  
     -----------------
*************** package body Ada.Containers.Ordered_Sets
*** 386,411 ****
     -----------------
  
     procedure Delete_Last (Container : in out Set) is
!       C : Cursor := Last (Container);
!    begin
!       Delete (Container, C);
!    end Delete_Last;
! 
!    -----------------
!    -- Delete_Tree --
!    -----------------
  
-    procedure Delete_Tree (X : in out Node_Access) is
-       Y : Node_Access;
     begin
!       while X /= null loop
!          Y := X.Right;
!          Delete_Tree (Y);
!          Y := X.Left;
           Free (X);
!          X := Y;
!       end loop;
!    end Delete_Tree;
  
     ----------------
     -- Difference --
--- 384,398 ----
     -----------------
  
     procedure Delete_Last (Container : in out Set) is
!       Tree : Tree_Type renames Container.Tree;
!       X    : Node_Access := Tree.Last;
  
     begin
!       if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Tree, X);
           Free (X);
!       end if;
!    end Delete_Last;
  
     ----------------
     -- Difference --
*************** package body Ada.Containers.Ordered_Sets
*** 413,438 ****
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Difference;
  
     -------------
--- 400,413 ----
  
     procedure Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Difference (Target.Tree, Source.Tree);
     end Difference;
  
     function Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Difference;
  
     -------------
*************** package body Ada.Containers.Ordered_Sets
*** 441,449 ****
--- 416,478 ----
  
     function Element (Position : Cursor) return Element_Type is
     begin
+       if Position.Node = null then
+          raise Constraint_Error;
+       end if;
+ 
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Element");
+ 
        return Position.Node.Element;
     end Element;
  
+    -------------------------
+    -- Equivalent_Elements --
+    -------------------------
+ 
+    function Equivalent_Elements (Left, Right : Element_Type) return Boolean is
+    begin
+       if Left < Right
+         or else Right < Left
+       then
+          return False;
+       else
+          return True;
+       end if;
+    end Equivalent_Elements;
+ 
+    ---------------------
+    -- Equivalent_Sets --
+    ---------------------
+ 
+    function Equivalent_Sets (Left, Right : Set) return Boolean is
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean;
+       pragma Inline (Is_Equivalent_Node_Node);
+ 
+       function Is_Equivalent is
+          new Tree_Operations.Generic_Equal (Is_Equivalent_Node_Node);
+ 
+       -----------------------------
+       -- Is_Equivalent_Node_Node --
+       -----------------------------
+ 
+       function Is_Equivalent_Node_Node (L, R : Node_Access) return Boolean is
+       begin
+          if L.Element < R.Element then
+             return False;
+          elsif R.Element < L.Element then
+             return False;
+          else
+             return True;
+          end if;
+       end Is_Equivalent_Node_Node;
+ 
+    --  Start of processing for Equivalent_Sets
+ 
+    begin
+       return Is_Equivalent (Left.Tree, Right.Tree);
+    end Equivalent_Sets;
+ 
     -------------
     -- Exclude --
     -------------
*************** package body Ada.Containers.Ordered_Sets
*** 453,459 ****
  
     begin
        if X /= null then
!          Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
--- 482,488 ----
  
     begin
        if X /= null then
!          Tree_Operations.Delete_Node_Sans_Free (Container.Tree, X);
           Free (X);
        end if;
     end Exclude;
*************** package body Ada.Containers.Ordered_Sets
*** 471,477 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Find;
  
     -----------
--- 500,506 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Find;
  
     -----------
*************** package body Ada.Containers.Ordered_Sets
*** 484,490 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.First);
     end First;
  
     -------------------
--- 513,519 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.First);
     end First;
  
     -------------------
*************** package body Ada.Containers.Ordered_Sets
*** 493,498 ****
--- 522,531 ----
  
     function First_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.First = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.First.Element;
     end First_Element;
  
*************** package body Ada.Containers.Ordered_Sets
*** 509,517 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Node);
     end Floor;
  
     ------------------
     -- Generic_Keys --
     ------------------
--- 542,568 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Node);
     end Floor;
  
+    ----------
+    -- Free --
+    ----------
+ 
+    procedure Free (X : in out Node_Access) is
+       procedure Deallocate is
+          new Ada.Unchecked_Deallocation (Node_Type, Node_Access);
+ 
+    begin
+       if X /= null then
+          X.Parent := X;
+          X.Left := X;
+          X.Right := X;
+ 
+          Deallocate (X);
+       end if;
+    end Free;
+ 
     ------------------
     -- Generic_Keys --
     ------------------
*************** package body Ada.Containers.Ordered_Sets
*** 543,576 ****
             Is_Less_Key_Node    => Is_Less_Key_Node,
             Is_Greater_Key_Node => Is_Greater_Key_Node);
  
-       ---------
-       -- "<" --
-       ---------
- 
-       function "<" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left < Right.Node.Element;
-       end "<";
- 
-       function "<" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right > Left.Node.Element;
-       end "<";
- 
-       ---------
-       -- ">" --
-       ---------
- 
-       function ">" (Left : Key_Type; Right : Cursor) return Boolean is
-       begin
-          return Left > Right.Node.Element;
-       end ">";
- 
-       function ">" (Left : Cursor; Right : Key_Type) return Boolean is
-       begin
-          return Right < Left.Node.Element;
-       end ">";
- 
        -------------
        -- Ceiling --
        -------------
--- 594,599 ----
*************** package body Ada.Containers.Ordered_Sets
*** 584,671 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Ceiling;
  
-       ----------------------------
-       -- Checked_Update_Element --
-       ----------------------------
- 
-       procedure Checked_Update_Element
-         (Container : in out Set;
-          Position  : Cursor;
-          Process   : not null access procedure (Element : in out Element_Type))
-       is
-       begin
-          if Position.Container = null then
-             raise Constraint_Error;
-          end if;
- 
-          if Position.Container /= Set_Access'(Container'Unchecked_Access) then
-             raise Program_Error;
-          end if;
- 
-          declare
-             Old_Key : Key_Type renames Key (Position.Node.Element);
- 
-          begin
-             Process (Position.Node.Element);
- 
-             if Old_Key < Position.Node.Element
-               or else Old_Key > Position.Node.Element
-             then
-                null;
-             else
-                return;
-             end if;
-          end;
- 
-          Delete_Node_Sans_Free (Container.Tree, Position.Node);
- 
-          declare
-             Result  : Node_Access;
-             Success : Boolean;
- 
-             function New_Node return Node_Access;
-             pragma Inline (New_Node);
- 
-             procedure Local_Insert_Post is
-               new Key_Keys.Generic_Insert_Post (New_Node);
- 
-             procedure Local_Conditional_Insert is
-                new Key_Keys.Generic_Conditional_Insert (Local_Insert_Post);
- 
-             --------------
-             -- New_Node --
-             --------------
- 
-             function New_Node return Node_Access is
-             begin
-                return Position.Node;
-             end New_Node;
- 
- 
-          begin
-             Local_Conditional_Insert
-               (Tree    => Container.Tree,
-                Key     => Key (Position.Node.Element),
-                Node    => Result,
-                Success => Success);
- 
-             if not Success then
-                declare
-                   X : Node_Access := Position.Node;
-                begin
-                   Free (X);
-                end;
- 
-                raise Program_Error;
-             end if;
- 
-             pragma Assert (Result = Position.Node);
-          end;
-       end Checked_Update_Element;
- 
        --------------
        -- Contains --
        --------------
--- 607,615 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Ceiling;
  
        --------------
        -- Contains --
        --------------
*************** package body Ada.Containers.Ordered_Sets
*** 695,715 ****
        -- Element --
        -------------
  
!       function Element
!         (Container : Set;
!          Key       : Key_Type) return Element_Type
!       is
!          Node : constant Node_Access := Key_Keys.Find (Container.Tree, Key);
        begin
           return Node.Element;
        end Element;
  
        -------------
        -- Exclude --
        -------------
  
        procedure Exclude (Container : in out Set; Key : Key_Type) is
           X : Node_Access := Key_Keys.Find (Container.Tree, Key);
        begin
           if X /= null then
              Delete_Node_Sans_Free (Container.Tree, X);
--- 639,678 ----
        -- Element --
        -------------
  
!       function Element (Container : Set; Key : Key_Type) return Element_Type is
!          Node : constant Node_Access :=
!                   Key_Keys.Find (Container.Tree, Key);
! 
        begin
+          if Node = null then
+             raise Constraint_Error;
+          end if;
+ 
           return Node.Element;
        end Element;
  
+       ---------------------
+       -- Equivalent_Keys --
+       ---------------------
+ 
+       function Equivalent_Keys (Left, Right : Key_Type) return Boolean is
+       begin
+          if Left < Right
+            or else Right < Left
+          then
+             return False;
+          else
+             return True;
+          end if;
+       end Equivalent_Keys;
+ 
        -------------
        -- Exclude --
        -------------
  
        procedure Exclude (Container : in out Set; Key : Key_Type) is
           X : Node_Access := Key_Keys.Find (Container.Tree, Key);
+ 
        begin
           if X /= null then
              Delete_Node_Sans_Free (Container.Tree, X);
*************** package body Ada.Containers.Ordered_Sets
*** 729,735 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Find;
  
        -----------
--- 692,698 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Find;
  
        -----------
*************** package body Ada.Containers.Ordered_Sets
*** 744,750 ****
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unchecked_Access, Node);
        end Floor;
  
        -------------------------
--- 707,713 ----
              return No_Element;
           end if;
  
!          return Cursor'(Container'Unrestricted_Access, Node);
        end Floor;
  
        -------------------------
*************** package body Ada.Containers.Ordered_Sets
*** 756,762 ****
           Right : Node_Access) return Boolean
        is
        begin
!          return Left > Right.Element;
        end Is_Greater_Key_Node;
  
        ----------------------
--- 719,725 ----
           Right : Node_Access) return Boolean
        is
        begin
!          return Key (Right.Element) < Left;
        end Is_Greater_Key_Node;
  
        ----------------------
*************** package body Ada.Containers.Ordered_Sets
*** 768,774 ****
           Right : Node_Access) return Boolean
        is
        begin
!          return Left < Right.Element;
        end Is_Less_Key_Node;
  
        ---------
--- 731,737 ----
           Right : Node_Access) return Boolean
        is
        begin
!          return Left < Key (Right.Element);
        end Is_Less_Key_Node;
  
        ---------
*************** package body Ada.Containers.Ordered_Sets
*** 777,782 ****
--- 740,752 ----
  
        function Key (Position : Cursor) return Key_Type is
        begin
+          if Position.Node = null then
+             raise Constraint_Error;
+          end if;
+ 
+          pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                         "bad cursor in Key");
+ 
           return Key (Position.Node.Element);
        end Key;
  
*************** package body Ada.Containers.Ordered_Sets
*** 784,805 ****
        -- Replace --
        -------------
  
! --    TODO???
  
! --    procedure Replace
! --      (Container : in out Set;
! --        Key       : Key_Type;
! --        New_Item  : Element_Type)
! --    is
! --       Node : Node_Access := Key_Keys.Find (Container.Tree, Key);
  
! --    begin
! --       if Node = null then
! --          raise Constraint_Error;
! --       end if;
  
! --        Replace_Element (Container, Node, New_Item);
! --     end Replace;
  
     end Generic_Keys;
  
--- 754,834 ----
        -- Replace --
        -------------
  
!       procedure Replace
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type)
!       is
!          Node : constant Node_Access := Key_Keys.Find (Container.Tree, Key);
  
!       begin
!          if Node = null then
!             raise Constraint_Error;
!          end if;
  
!          Replace_Element (Container.Tree, Node, New_Item);
!       end Replace;
  
!       -----------------------------------
!       -- Update_Element_Preserving_Key --
!       -----------------------------------
! 
!       procedure Update_Element_Preserving_Key
!         (Container : in out Set;
!          Position  : Cursor;
!          Process   : not null access procedure (Element : in out Element_Type))
!       is
!          Tree : Tree_Type renames Container.Tree;
! 
!       begin
!          if Position.Node = null then
!             raise Constraint_Error;
!          end if;
! 
!          if Position.Container /= Container'Unrestricted_Access then
!             raise Program_Error;
!          end if;
! 
!          pragma Assert (Vet (Container.Tree, Position.Node),
!                         "bad cursor in Update_Element_Preserving_Key");
! 
!          declare
!             E : Element_Type renames Position.Node.Element;
!             K : constant Key_Type := Key (E);
! 
!             B : Natural renames Tree.Busy;
!             L : Natural renames Tree.Lock;
! 
!          begin
!             B := B + 1;
!             L := L + 1;
! 
!             begin
!                Process (E);
!             exception
!                when others =>
!                   L := L - 1;
!                   B := B - 1;
!                   raise;
!             end;
! 
!             L := L - 1;
!             B := B - 1;
! 
!             if Equivalent_Keys (K, Key (E)) then
!                return;
!             end if;
!          end;
! 
!          declare
!             X : Node_Access := Position.Node;
!          begin
!             Tree_Operations.Delete_Node_Sans_Free (Tree, X);
!             Free (X);
!          end;
! 
!          raise Program_Error;
!       end Update_Element_Preserving_Key;
  
     end Generic_Keys;
  
*************** package body Ada.Containers.Ordered_Sets
*** 824,829 ****
--- 853,862 ----
        Insert (Container, New_Item, Position, Inserted);
  
        if not Inserted then
+          if Container.Tree.Lock > 0 then
+             raise Program_Error;
+          end if;
+ 
           Position.Node.Element := New_Item;
        end if;
     end Include;
*************** package body Ada.Containers.Ordered_Sets
*** 838,869 ****
        Position  : out Cursor;
        Inserted  : out Boolean)
     is
-       function New_Node return Node_Access;
-       pragma Inline (New_Node);
- 
-       procedure Insert_Post is
-         new Element_Keys.Generic_Insert_Post (New_Node);
- 
-       procedure Insert_Sans_Hint is
-         new Element_Keys.Generic_Conditional_Insert (Insert_Post);
- 
-       --------------
-       -- New_Node --
-       --------------
- 
-       function New_Node return Node_Access is
-          Node : constant Node_Access :=
-                   new Node_Type'(Parent => null,
-                                  Left   => null,
-                                  Right  => null,
-                                  Color  => Red,
-                                  Element => New_Item);
-       begin
-          return Node;
-       end New_Node;
- 
-    --  Start of processing for Insert
- 
     begin
        Insert_Sans_Hint
          (Container.Tree,
--- 871,876 ----
*************** package body Ada.Containers.Ordered_Sets
*** 871,884 ****
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unchecked_Access;
     end Insert;
  
     procedure Insert
       (Container : in out Set;
        New_Item  : Element_Type)
     is
- 
        Position : Cursor;
        Inserted : Boolean;
  
--- 878,890 ----
           Position.Node,
           Inserted);
  
!       Position.Container := Container'Unrestricted_Access;
     end Insert;
  
     procedure Insert
       (Container : in out Set;
        New_Item  : Element_Type)
     is
        Position : Cursor;
        Inserted : Boolean;
  
*************** package body Ada.Containers.Ordered_Sets
*** 891,896 ****
--- 897,944 ----
     end Insert;
  
     ----------------------
+    -- Insert_Sans_Hint --
+    ----------------------
+ 
+    procedure Insert_Sans_Hint
+      (Tree     : in out Tree_Type;
+       New_Item : Element_Type;
+       Node     : out Node_Access;
+       Inserted : out Boolean)
+    is
+       function New_Node return Node_Access;
+       pragma Inline (New_Node);
+ 
+       procedure Insert_Post is
+         new Element_Keys.Generic_Insert_Post (New_Node);
+ 
+       procedure Conditional_Insert_Sans_Hint is
+         new Element_Keys.Generic_Conditional_Insert (Insert_Post);
+ 
+       --------------
+       -- New_Node --
+       --------------
+ 
+       function New_Node return Node_Access is
+       begin
+          return new Node_Type'(Parent  => null,
+                                Left    => null,
+                                Right   => null,
+                                Color   => Red_Black_Trees.Red,
+                                Element => New_Item);
+       end New_Node;
+ 
+    --  Start of processing for Insert_Sans_Hint
+ 
+    begin
+       Conditional_Insert_Sans_Hint
+         (Tree,
+          New_Item,
+          Node,
+          Inserted);
+    end Insert_Sans_Hint;
+ 
+    ----------------------
     -- Insert_With_Hint --
     ----------------------
  
*************** package body Ada.Containers.Ordered_Sets
*** 948,972 ****
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Intersection (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Intersection;
  
     --------------
--- 996,1009 ----
  
     procedure Intersection (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Intersection (Target.Tree, Source.Tree);
     end Intersection;
  
     function Intersection (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Intersection (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Intersection;
  
     --------------
*************** package body Ada.Containers.Ordered_Sets
*** 975,981 ****
  
     function Is_Empty (Container : Set) return Boolean is
     begin
!       return Length (Container) = 0;
     end Is_Empty;
  
     ------------------------
--- 1012,1018 ----
  
     function Is_Empty (Container : Set) return Boolean is
     begin
!       return Container.Tree.Length = 0;
     end Is_Empty;
  
     ------------------------
*************** package body Ada.Containers.Ordered_Sets
*** 1028,1037 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean is
     begin
-       if Subset'Address = Of_Set'Address then
-          return True;
-       end if;
- 
        return Set_Ops.Is_Subset (Subset => Subset.Tree, Of_Set => Of_Set.Tree);
     end Is_Subset;
  
--- 1065,1070 ----
*************** package body Ada.Containers.Ordered_Sets
*** 1055,1067 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of prccessing for Iterate
  
     begin
!       Local_Iterate (Container.Tree);
     end Iterate;
  
     ----------
--- 1088,1113 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of prccessing for Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Iterate;
  
     ----------
*************** package body Ada.Containers.Ordered_Sets
*** 1074,1080 ****
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unchecked_Access, Container.Tree.Last);
     end Last;
  
     ------------------
--- 1120,1126 ----
           return No_Element;
        end if;
  
!       return Cursor'(Container'Unrestricted_Access, Container.Tree.Last);
     end Last;
  
     ------------------
*************** package body Ada.Containers.Ordered_Sets
*** 1083,1088 ****
--- 1129,1138 ----
  
     function Last_Element (Container : Set) return Element_Type is
     begin
+       if Container.Tree.Last = null then
+          raise Constraint_Error;
+       end if;
+ 
        return Container.Tree.Last.Element;
     end Last_Element;
  
*************** package body Ada.Containers.Ordered_Sets
*** 1108,1119 ****
     -- Move --
     ----------
  
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
--- 1158,1168 ----
     -- Move --
     ----------
  
+    procedure Move is
+       new Tree_Operations.Generic_Move (Clear);
+ 
     procedure Move (Target : in out Set; Source : in out Set) is
     begin
        Move (Target => Target.Tree, Source => Source.Tree);
     end Move;
  
*************** package body Ada.Containers.Ordered_Sets
*** 1127,1135 ****
           return No_Element;
        end if;
  
        declare
           Node : constant Node_Access :=
!            Tree_Operations.Next (Position.Node);
        begin
           if Node = null then
              return No_Element;
--- 1176,1188 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Next");
+ 
        declare
           Node : constant Node_Access :=
!                   Tree_Operations.Next (Position.Node);
! 
        begin
           if Node = null then
              return No_Element;
*************** package body Ada.Containers.Ordered_Sets
*** 1150,1159 ****
  
     function Overlap (Left, Right : Set) return Boolean is
     begin
-       if Left'Address = Right'Address then
-          return Left.Tree.Length /= 0;
-       end if;
- 
        return Set_Ops.Overlap (Left.Tree, Right.Tree);
     end Overlap;
  
--- 1203,1208 ----
*************** package body Ada.Containers.Ordered_Sets
*** 1176,1181 ****
--- 1225,1233 ----
           return No_Element;
        end if;
  
+       pragma Assert (Vet (Position.Container.Tree, Position.Node),
+                      "bad cursor in Previous");
+ 
        declare
           Node : constant Node_Access :=
                    Tree_Operations.Previous (Position.Node);
*************** package body Ada.Containers.Ordered_Sets
*** 1203,1209 ****
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       Process (Position.Node.Element);
     end Query_Element;
  
     ----------
--- 1255,1289 ----
        Process  : not null access procedure (Element : Element_Type))
     is
     begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       pragma Assert (Vet (Position.Container.Tree, Position.Node),
!                      "bad cursor in Query_Element");
! 
!       declare
!          T : Tree_Type renames Position.Container.Tree;
! 
!          B : Natural renames T.Busy;
!          L : Natural renames T.Lock;
! 
!       begin
!          B := B + 1;
!          L := L + 1;
! 
!          begin
!             Process (Position.Node.Element);
!          exception
!             when others =>
!                L := L - 1;
!                B := B - 1;
!                raise;
!          end;
! 
!          L := L - 1;
!          B := B - 1;
!       end;
     end Query_Element;
  
     ----------
*************** package body Ada.Containers.Ordered_Sets
*** 1214,1255 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       N : Count_Type'Base;
! 
!       function New_Node return Node_Access;
!       pragma Inline (New_Node);
  
!       procedure Local_Read is new Tree_Operations.Generic_Read (New_Node);
  
!       --------------
!       -- New_Node --
!       --------------
  
!       function New_Node return Node_Access is
           Node : Node_Access := new Node_Type;
  
        begin
!          begin
!             Element_Type'Read (Stream, Node.Element);
! 
!          exception
!             when others =>
!                Free (Node);
!                raise;
!          end;
! 
           return Node;
!       end New_Node;
  
     --  Start of processing for Read
  
     begin
!       Clear (Container);
! 
!       Count_Type'Base'Read (Stream, N);
!       pragma Assert (N >= 0);
  
!       Local_Read (Container.Tree, N);
     end Read;
  
     -------------
--- 1294,1337 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : out Set)
     is
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!       pragma Inline (Read_Node);
  
!       procedure Read is
!          new Tree_Operations.Generic_Read (Clear, Read_Node);
  
!       ---------------
!       -- Read_Node --
!       ---------------
  
!       function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access
!       is
           Node : Node_Access := new Node_Type;
  
        begin
!          Element_Type'Read (Stream, Node.Element);
           return Node;
! 
!       exception
!          when others =>
!             Free (Node);
!             raise;
!       end Read_Node;
  
     --  Start of processing for Read
  
     begin
!       Read (Stream, Container.Tree);
!    end Read;
  
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor)
!    is
!    begin
!       raise Program_Error;
     end Read;
  
     -------------
*************** package body Ada.Containers.Ordered_Sets
*** 1265,1270 ****
--- 1347,1356 ----
           raise Constraint_Error;
        end if;
  
+       if Container.Tree.Lock > 0 then
+          raise Program_Error;
+       end if;
+ 
        Node.Element := New_Item;
     end Replace;
  
*************** package body Ada.Containers.Ordered_Sets
*** 1272,1366 ****
     -- Replace_Element --
     ---------------------
  
! --  TODO: ???
! --     procedure Replace_Element
! --       (Container : in out Set;
! --        Position  : Node_Access;
! --        By        : Element_Type)
! --     is
! --        Node : Node_Access := Position;
  
! --     begin
! --        if By < Node.Element
! --          or else Node.Element < By
! --        then
! --           null;
  
! --        else
! --           begin
! --              Node.Element := By;
  
! --           exception
! --              when others =>
! --                 Delete_Node_Sans_Free (Container.Tree, Node);
! --                 Free (Node);
! --                 raise;
! --           end;
  
! --           return;
! --        end if;
  
! --        Delete_Node_Sans_Free (Container.Tree, Node);
  
! --        begin
! --           Node.Element := By;
! --        exception
! --           when others =>
! --              Free (Node);
! --              raise;
! --        end;
  
! --        declare
! --           function New_Node return Node_Access;
! --           pragma Inline (New_Node);
  
! --           function New_Node return Node_Access is
! --           begin
! --              return Node;
! --           end New_Node;
  
! --           procedure Insert_Post is
! --              new Element_Keys.Generic_Insert_Post (New_Node);
  
! --           procedure Insert is
! --              new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
! --           Result  : Node_Access;
! --           Success : Boolean;
  
! --        begin
! --           Insert
! --             (Tree    => Container.Tree,
! --              Key     => Node.Element,
! --              Node    => Result,
! --              Success => Success);
  
! --           if not Success then
! --              Free (Node);
! --              raise Program_Error;
! --           end if;
  
! --           pragma Assert (Result = Node);
! --        end;
! --     end Replace_Element;
  
  
! --     procedure Replace_Element
! --       (Container : in out Set;
! --        Position  : Cursor;
! --        By        : Element_Type)
! --     is
! --     begin
! --        if Position.Container = null then
! --           raise Constraint_Error;
! --        end if;
  
! --        if Position.Container /= Set_Access'(Container'Unchecked_Access) then
! --           raise Program_Error;
! --        end if;
  
! --        Replace_Element (Container, Position.Node, By);
! --     end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
--- 1358,1492 ----
     -- Replace_Element --
     ---------------------
  
!    procedure Replace_Element
!      (Tree : in out Tree_Type;
!       Node : Node_Access;
!       Item : Element_Type)
!    is
!    begin
!       if Item < Node.Element
!         or else Node.Element < Item
!       then
!          null;
!       else
!          if Tree.Lock > 0 then
!             raise Program_Error;
!          end if;
  
!          Node.Element := Item;
!          return;
!       end if;
  
!       Tree_Operations.Delete_Node_Sans_Free (Tree, Node);  -- Checks busy-bit
  
!       Insert_New_Item : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
!          procedure Insert is
!             new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node return Node_Access is
!          begin
!             Node.Element := Item;
!             Node.Color := Red;
!             Node.Parent := null;
!             Node.Right := null;
!             Node.Left := null;
  
!             return Node;
!          end New_Node;
  
!          Result   : Node_Access;
!          Inserted : Boolean;
  
!       --  Start of processing for Insert_New_Item
  
!       begin
!          Insert
!            (Tree    => Tree,
!             Key     => Item,
!             Node    => Result,
!             Success => Inserted);  --  TODO: change param name
  
!          if Inserted then
!             pragma Assert (Result = Node);
!             return;
!          end if;
!       exception
!          when others =>
!             null;  -- Assignment must have failed
!       end Insert_New_Item;
  
!       Reinsert_Old_Element : declare
!          function New_Node return Node_Access;
!          pragma Inline (New_Node);
  
!          procedure Insert_Post is
!             new Element_Keys.Generic_Insert_Post (New_Node);
  
+          procedure Insert is
+             new Element_Keys.Generic_Conditional_Insert (Insert_Post);
  
!          --------------
!          -- New_Node --
!          --------------
  
!          function New_Node return Node_Access is
!          begin
!             Node.Color := Red;
!             Node.Parent := null;
!             Node.Right := null;
!             Node.Left := null;
  
!             return Node;
!          end New_Node;
! 
!          Result   : Node_Access;
!          Inserted : Boolean;
! 
!       --  Start of processing for Reinsert_Old_Element
! 
!       begin
!          Insert
!            (Tree    => Tree,
!             Key     => Node.Element,
!             Node    => Result,
!             Success => Inserted);  --  TODO: change param name
!       exception
!          when others =>
!             null;  -- Assignment must have failed
!       end Reinsert_Old_Element;
! 
!       raise Program_Error;
!    end Replace_Element;
! 
!    procedure Replace_Element
!      (Container : in out Set;
!       Position  : Cursor;
!       New_Item  : Element_Type)
!    is
!    begin
!       if Position.Node = null then
!          raise Constraint_Error;
!       end if;
! 
!       if Position.Container /= Container'Unrestricted_Access then
!          raise Program_Error;
!       end if;
! 
!       pragma Assert (Vet (Container.Tree, Position.Node),
!                      "bad cursor in Replace_Element");
! 
!       Replace_Element (Container.Tree, Position.Node, New_Item);
!    end Replace_Element;
  
     ---------------------
     -- Reverse_Iterate --
*************** package body Ada.Containers.Ordered_Sets
*** 1382,1394 ****
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unchecked_Access, Node));
        end Process_Node;
  
     --  Start of processing for Reverse_Iterate
  
     begin
!       Local_Reverse_Iterate (Container.Tree);
     end Reverse_Iterate;
  
     -----------
--- 1508,1533 ----
  
        procedure Process_Node (Node : Node_Access) is
        begin
!          Process (Cursor'(Container'Unrestricted_Access, Node));
        end Process_Node;
  
+       T : Tree_Type renames Container.Tree'Unrestricted_Access.all;
+       B : Natural renames T.Busy;
+ 
     --  Start of processing for Reverse_Iterate
  
     begin
!       B := B + 1;
! 
!       begin
!          Local_Reverse_Iterate (T);
!       exception
!          when others =>
!             B := B - 1;
!             raise;
!       end;
! 
!       B := B - 1;
     end Reverse_Iterate;
  
     -----------
*************** package body Ada.Containers.Ordered_Sets
*** 1442,1494 ****
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
-       if Target'Address = Source'Address then
-          Clear (Target);
-          return;
-       end if;
- 
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Empty_Set;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type :=
!                   Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Symmetric_Difference;
  
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
- 
-       if Target'Address = Source'Address then
-          return;
-       end if;
- 
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
     begin
!       if Left'Address = Right'Address then
!          return Left;
!       end if;
! 
!       declare
!          Tree : constant Tree_Type := Set_Ops.Union (Left.Tree, Right.Tree);
!       begin
!          return (Controlled with Tree);
!       end;
     end Union;
  
     -----------
--- 1581,1624 ----
  
     procedure Symmetric_Difference (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Symmetric_Difference (Target.Tree, Source.Tree);
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Symmetric_Difference (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Symmetric_Difference;
  
+    ------------
+    -- To_Set --
+    ------------
+ 
+    function To_Set (New_Item : Element_Type) return Set is
+       Tree     : Tree_Type;
+       Node     : Node_Access;
+       Inserted : Boolean;
+ 
+    begin
+       Insert_Sans_Hint (Tree, New_Item, Node, Inserted);
+       return Set'(Controlled with Tree);
+    end To_Set;
+ 
     -----------
     -- Union --
     -----------
  
     procedure Union (Target : in out Set; Source : Set) is
     begin
        Set_Ops.Union (Target.Tree, Source.Tree);
     end Union;
  
     function Union (Left, Right : Set) return Set is
+       Tree : constant Tree_Type :=
+                Set_Ops.Union (Left.Tree, Right.Tree);
     begin
!       return Set'(Controlled with Tree);
     end Union;
  
     -----------
*************** package body Ada.Containers.Ordered_Sets
*** 1499,1529 ****
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Process (Node : Node_Access);
!       pragma Inline (Process);
  
!       procedure Iterate is
!         new Tree_Operations.Generic_Iteration (Process);
  
!       -------------
!       -- Process --
!       -------------
  
!       procedure Process (Node : Node_Access) is
        begin
           Element_Type'Write (Stream, Node.Element);
!       end Process;
  
     --  Start of processing for Write
  
     begin
!       Count_Type'Base'Write (Stream, Container.Tree.Length);
!       Iterate (Container.Tree);
     end Write;
  
! 
! 
  
  end Ada.Containers.Ordered_Sets;
- 
- 
--- 1629,1666 ----
       (Stream    : access Root_Stream_Type'Class;
        Container : Set)
     is
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!       pragma Inline (Write_Node);
  
!       procedure Write is
!          new Tree_Operations.Generic_Write (Write_Node);
  
!       ----------------
!       -- Write_Node --
!       ----------------
  
!       procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access)
!       is
        begin
           Element_Type'Write (Stream, Node.Element);
!       end Write_Node;
  
     --  Start of processing for Write
  
     begin
!       Write (Stream, Container.Tree);
     end Write;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor)
!    is
!    begin
!       raise Program_Error;
!    end Write;
  
  end Ada.Containers.Ordered_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coorse.ads gcc-4.1.0/gcc/ada/a-coorse.ads
*** gcc-4.0.2/gcc/ada/a-coorse.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coorse.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.ORDERED_SETS                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . C O N T A I N E R S . O R D E R E D _ S E T S          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Finalization;
*** 38,51 ****
  with Ada.Streams;
  
  generic
- 
     type Element_Type is private;
  
     with function "<" (Left, Right : Element_Type) return Boolean is <>;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Sets is
! pragma Preelaborate (Ordered_Sets);
  
     type Set is tagged private;
  
--- 38,52 ----
  with Ada.Streams;
  
  generic
     type Element_Type is private;
  
     with function "<" (Left, Right : Element_Type) return Boolean is <>;
     with function "=" (Left, Right : Element_Type) return Boolean is <>;
  
  package Ada.Containers.Ordered_Sets is
!    pragma Preelaborate;
! 
!    function Equivalent_Elements (Left, Right : Element_Type) return Boolean;
  
     type Set is tagged private;
  
*************** pragma Preelaborate (Ordered_Sets);
*** 57,62 ****
--- 58,67 ----
  
     function "=" (Left, Right : Set) return Boolean;
  
+    function Equivalent_Sets (Left, Right : Set) return Boolean;
+ 
+    function To_Set (New_Item : Element_Type) return Set;
+ 
     function Length (Container : Set) return Count_Type;
  
     function Is_Empty (Container : Set) return Boolean;
*************** pragma Preelaborate (Ordered_Sets);
*** 65,83 ****
  
     function Element (Position : Cursor) return Element_Type;
  
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
! --  TODO: resolve in Atlanta. ???
! --   procedure Replace_Element
! --     (Container : in out Set;
! --      Position  : Cursor;
! --      By        : Element_Type);
! 
!    procedure Move
!      (Target : in out Set;
!       Source : in out Set);
  
     procedure Insert
       (Container : in out Set;
--- 70,85 ----
  
     function Element (Position : Cursor) return Element_Type;
  
+    procedure Replace_Element
+      (Container : in out Set;
+       Position  : Cursor;
+       New_Item  : Element_Type);
+ 
     procedure Query_Element
       (Position : Cursor;
        Process  : not null access procedure (Element : Element_Type));
  
!    procedure Move (Target : in out Set; Source : in out Set);
  
     procedure Insert
       (Container : in out Set;
*************** pragma Preelaborate (Ordered_Sets);
*** 97,107 ****
       (Container : in out Set;
        New_Item  : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
--- 99,109 ----
       (Container : in out Set;
        New_Item  : Element_Type);
  
!    procedure Exclude
       (Container : in out Set;
        Item      : Element_Type);
  
!    procedure Delete
       (Container : in out Set;
        Item      : Element_Type);
  
*************** pragma Preelaborate (Ordered_Sets);
*** 125,132 ****
  
     function "and" (Left, Right : Set) return Set renames Intersection;
  
!    procedure Difference (Target : in out Set;
!                          Source : Set);
  
     function Difference (Left, Right : Set) return Set;
  
--- 127,133 ----
  
     function "and" (Left, Right : Set) return Set renames Intersection;
  
!    procedure Difference (Target : in out Set; Source : Set);
  
     function Difference (Left, Right : Set) return Set;
  
*************** pragma Preelaborate (Ordered_Sets);
*** 142,155 ****
  
     function Is_Subset (Subset : Set; Of_Set : Set) return Boolean;
  
-    function Contains (Container : Set; Item : Element_Type) return Boolean;
- 
-    function Find (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Floor (Container : Set; Item : Element_Type) return Cursor;
- 
-    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
- 
     function First (Container : Set) return Cursor;
  
     function First_Element (Container : Set) return Element_Type;
--- 143,148 ----
*************** pragma Preelaborate (Ordered_Sets);
*** 160,171 ****
  
     function Next (Position : Cursor) return Cursor;
  
-    function Previous (Position : Cursor) return Cursor;
- 
     procedure Next (Position : in out Cursor);
  
     procedure Previous (Position : in out Cursor);
  
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
--- 153,172 ----
  
     function Next (Position : Cursor) return Cursor;
  
     procedure Next (Position : in out Cursor);
  
+    function Previous (Position : Cursor) return Cursor;
+ 
     procedure Previous (Position : in out Cursor);
  
+    function Find (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Floor (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Ceiling (Container : Set; Item : Element_Type) return Cursor;
+ 
+    function Contains (Container : Set; Item : Element_Type) return Boolean;
+ 
     function Has_Element (Position : Cursor) return Boolean;
  
     function "<" (Left, Right : Cursor) return Boolean;
*************** pragma Preelaborate (Ordered_Sets);
*** 189,240 ****
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is limited private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<"
!         (Left  : Key_Type;
!          Right : Element_Type) return Boolean is <>;
! 
!       with function ">"
!         (Left  : Key_Type;
!          Right : Element_Type) return Boolean is <>;
  
     package Generic_Keys is
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       function Find (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
! 
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
! --  TODO: resolve in Atlanta ???
! --      procedure Replace
! --        (Container : in out Set;
! --         Key       : Key_Type;
! --         New_Item  : Element_Type);
! 
!       procedure Delete (Container : in out Set; Key : Key_Type);
  
        procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       function "<" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function ">" (Left : Cursor; Right : Key_Type) return Boolean;
  
!       function "<" (Left : Key_Type; Right : Cursor) return Boolean;
  
!       function ">" (Left : Key_Type; Right : Cursor) return Boolean;
  
! --  TODO: resolve name in Atlanta. Should name be just "Update_Element" ???
!       procedure Checked_Update_Element
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
--- 190,227 ----
        Process   : not null access procedure (Position : Cursor));
  
     generic
!       type Key_Type (<>) is private;
  
        with function Key (Element : Element_Type) return Key_Type;
  
!       with function "<" (Left, Right : Key_Type) return Boolean is <>;
  
     package Generic_Keys is
  
!       function Equivalent_Keys (Left, Right : Key_Type) return Boolean;
  
        function Key (Position : Cursor) return Key_Type;
  
        function Element (Container : Set; Key : Key_Type) return Element_Type;
  
!       procedure Replace
!         (Container : in out Set;
!          Key       : Key_Type;
!          New_Item  : Element_Type);
  
        procedure Exclude (Container : in out Set; Key : Key_Type);
  
!       procedure Delete (Container : in out Set; Key : Key_Type);
  
!       function Find (Container : Set; Key : Key_Type) return Cursor;
  
!       function Floor (Container : Set; Key : Key_Type) return Cursor;
  
!       function Ceiling (Container : Set; Key : Key_Type) return Cursor;
  
!       function Contains (Container : Set; Key : Key_Type) return Boolean;
! 
!       procedure Update_Element_Preserving_Key
          (Container : in out Set;
           Position  : Cursor;
           Process   : not null access
*************** private
*** 247,276 ****
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    package Tree_Types is
!      new Red_Black_Trees.Generic_Tree_Types (Node_Access);
  
!    use Tree_Types;
!    use Ada.Finalization;
  
!    type Set is new Controlled with record
!       Tree : Tree_Type := (Length => 0, others => null);
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    type Set_Access is access constant Set;
  
     type Cursor is record
        Container : Set_Access;
        Node      : Node_Access;
     end record;
  
!    No_Element : constant Cursor := Cursor'(null, null);
  
!    use Ada.Streams;
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
--- 234,285 ----
     type Node_Type;
     type Node_Access is access Node_Type;
  
!    type Node_Type is limited record
!       Parent  : Node_Access;
!       Left    : Node_Access;
!       Right   : Node_Access;
!       Color   : Red_Black_Trees.Color_Type := Red_Black_Trees.Red;
!       Element : Element_Type;
!    end record;
  
!    package Tree_Types is new Red_Black_Trees.Generic_Tree_Types
!      (Node_Type,
!       Node_Access);
  
!    type Set is new Ada.Finalization.Controlled with record
!       Tree : Tree_Types.Tree_Type;
     end record;
  
     procedure Adjust (Container : in out Set);
  
     procedure Finalize (Container : in out Set) renames Clear;
  
!    use Red_Black_Trees;
!    use Tree_Types;
!    use Ada.Finalization;
!    use Ada.Streams;
! 
!    type Set_Access is access all Set;
!    for Set_Access'Storage_Size use 0;
  
     type Cursor is record
        Container : Set_Access;
        Node      : Node_Access;
     end record;
  
!    procedure Write
!      (Stream : access Root_Stream_Type'Class;
!       Item   : Cursor);
  
!    for Cursor'Write use Write;
! 
!    procedure Read
!      (Stream : access Root_Stream_Type'Class;
!       Item   : out Cursor);
! 
!    for Cursor'Read use Read;
! 
!    No_Element : constant Cursor := Cursor'(null, null);
  
     procedure Write
       (Stream    : access Root_Stream_Type'Class;
*************** private
*** 285,290 ****
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (Length => 0, others => null));
  
  end Ada.Containers.Ordered_Sets;
--- 294,304 ----
     for Set'Read use Read;
  
     Empty_Set : constant Set :=
!                  (Controlled with Tree => (First  => null,
!                                            Last   => null,
!                                            Root   => null,
!                                            Length => 0,
!                                            Busy   => 0,
!                                            Lock   => 0));
  
  end Ada.Containers.Ordered_Sets;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coprnu.adb gcc-4.1.0/gcc/ada/a-coprnu.adb
*** gcc-4.0.2/gcc/ada/a-coprnu.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coprnu.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.PRIME_NUMBERS                       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --         A D A . C O N T A I N E R S . P R I M E _ N U M B E R S          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-coprnu.ads gcc-4.1.0/gcc/ada/a-coprnu.ads
*** gcc-4.0.2/gcc/ada/a-coprnu.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-coprnu.ads	Mon Sep  5 07:51:25 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                       ADA.CONTAINERS.PRIME_NUMBERS                       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --         A D A . C O N T A I N E R S . P R I M E _ N U M B E R S          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
***************
*** 14,20 ****
  ------------------------------------------------------------------------------
  
  package Ada.Containers.Prime_Numbers is
! pragma Pure (Prime_Numbers);
  
     type Primes_Type is array (Positive range <>) of Hash_Type;
  
--- 14,20 ----
  ------------------------------------------------------------------------------
  
  package Ada.Containers.Prime_Numbers is
!    pragma Pure;
  
     type Primes_Type is array (Positive range <>) of Hash_Type;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-crbltr.ads gcc-4.1.0/gcc/ada/a-crbltr.ads
*** gcc-4.0.2/gcc/ada/a-crbltr.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-crbltr.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,31 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                      ADA.CONTAINERS.RED_BLACK_TREES                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! -- This specification is adapted from the Ada Reference Manual for use with --
! -- GNAT.  In accordance with the copyright of that document, you can freely --
! -- copy and modify this specification,  provided that if you redistribute a --
! -- modified version,  any changes that you have made are clearly indicated. --
  --                                                                          --
  ------------------------------------------------------------------------------
  
  package Ada.Containers.Red_Black_Trees is
! pragma Pure (Red_Black_Trees);
  
     type Color_Type is (Red, Black);
  
     generic
!       type Node_Access is private;
     package Generic_Tree_Types is
!       type Tree_Type is record
           First  : Node_Access;
           Last   : Node_Access;
           Root   : Node_Access;
!          Length : Count_Type;
        end record;
     end Generic_Tree_Types;
  end Ada.Containers.Red_Black_Trees;
--- 2,55 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --       A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
! --                                                                          --
! -- This specification is derived from the Ada Reference Manual for use with --
! -- GNAT. The copyright notice above, and the license provisions that follow --
! -- apply solely to the  contents of the part following the private keyword. --
! --                                                                          --
! -- GNAT is free software;  you can  redistribute it  and/or modify it under --
! -- terms of the  GNU General Public License as published  by the Free Soft- --
! -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
! -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
! -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
! -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
! -- for  more details.  You should have  received  a copy of the GNU General --
! -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
  package Ada.Containers.Red_Black_Trees is
!    pragma Pure;
  
     type Color_Type is (Red, Black);
  
     generic
!       type Node_Type (<>) is limited private;
!       type Node_Access is access Node_Type;
     package Generic_Tree_Types is
!       type Tree_Type is tagged record
           First  : Node_Access;
           Last   : Node_Access;
           Root   : Node_Access;
!          Length : Count_Type := 0;
!          Busy   : Natural := 0;
!          Lock   : Natural := 0;
        end record;
     end Generic_Tree_Types;
+ 
  end Ada.Containers.Red_Black_Trees;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-crbtgk.adb gcc-4.1.0/gcc/ada/a-crbtgk.adb
*** gcc-4.0.2/gcc/ada/a-crbtgk.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-crbtgk.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_KEYS                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --        A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .     --
! --                          G E N E R I C _ K E Y S                         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Containers.Red_Black_Tr
*** 48,54 ****
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= Ops.Null_Node loop
           if Is_Greater_Key_Node (Key, X) then
              X := Ops.Right (X);
           else
--- 49,55 ----
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= null loop
           if Is_Greater_Key_Node (Key, X) then
              X := Ops.Right (X);
           else
*************** package body Ada.Containers.Red_Black_Tr
*** 69,75 ****
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= Ops.Null_Node loop
           if Is_Greater_Key_Node (Key, X) then
              X := Ops.Right (X);
           else
--- 70,76 ----
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= null loop
           if Is_Greater_Key_Node (Key, X) then
              X := Ops.Right (X);
           else
*************** package body Ada.Containers.Red_Black_Tr
*** 78,89 ****
           end if;
        end loop;
  
!       if Y = Ops.Null_Node then
!          return Ops.Null_Node;
        end if;
  
        if Is_Less_Key_Node (Key, Y) then
!          return Ops.Null_Node;
        end if;
  
        return Y;
--- 79,90 ----
           end if;
        end loop;
  
!       if Y = null then
!          return null;
        end if;
  
        if Is_Less_Key_Node (Key, Y) then
!          return null;
        end if;
  
        return Y;
*************** package body Ada.Containers.Red_Black_Tr
*** 98,104 ****
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= Ops.Null_Node loop
           if Is_Less_Key_Node (Key, X) then
              X := Ops.Left (X);
           else
--- 99,105 ----
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= null loop
           if Is_Less_Key_Node (Key, X) then
              X := Ops.Left (X);
           else
*************** package body Ada.Containers.Red_Black_Tr
*** 120,131 ****
        Node    : out Node_Access;
        Success : out Boolean)
     is
!       Y : Node_Access := Ops.Null_Node;
        X : Node_Access := Tree.Root;
  
     begin
        Success := True;
!       while X /= Ops.Null_Node loop
           Y := X;
           Success := Is_Less_Key_Node (Key, X);
  
--- 121,132 ----
        Node    : out Node_Access;
        Success : out Boolean)
     is
!       Y : Node_Access := null;
        X : Node_Access := Tree.Root;
  
     begin
        Success := True;
!       while X /= null loop
           Y := X;
           Success := Is_Less_Key_Node (Key, X);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 168,178 ****
        Success  : out Boolean)
     is
     begin
!       if Position = Ops.Null_Node then  -- largest
           if Tree.Length > 0
             and then Is_Greater_Key_Node (Key, Tree.Last)
           then
!             Insert_Post (Tree, Ops.Null_Node, Tree.Last, Key, Node);
              Success := True;
           else
              Conditional_Insert_Sans_Hint (Tree, Key, Node, Success);
--- 169,179 ----
        Success  : out Boolean)
     is
     begin
!       if Position = null then  -- largest
           if Tree.Length > 0
             and then Is_Greater_Key_Node (Key, Tree.Last)
           then
!             Insert_Post (Tree, null, Tree.Last, Key, Node);
              Success := True;
           else
              Conditional_Insert_Sans_Hint (Tree, Key, Node, Success);
*************** package body Ada.Containers.Red_Black_Tr
*** 195,202 ****
  
           begin
              if Is_Greater_Key_Node (Key, Before) then
!                if Ops.Right (Before) = Ops.Null_Node then
!                   Insert_Post (Tree, Ops.Null_Node, Before, Key, Node);
                 else
                    Insert_Post (Tree, Position, Position, Key, Node);
                 end if;
--- 196,203 ----
  
           begin
              if Is_Greater_Key_Node (Key, Before) then
!                if Ops.Right (Before) = null then
!                   Insert_Post (Tree, null, Before, Key, Node);
                 else
                    Insert_Post (Tree, Position, Position, Key, Node);
                 end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 213,219 ****
  
        if Is_Greater_Key_Node (Key, Position) then
           if Position = Tree.Last then
!             Insert_Post (Tree, Ops.Null_Node, Tree.Last, Key, Node);
              Success := True;
              return;
           end if;
--- 214,220 ----
  
        if Is_Greater_Key_Node (Key, Position) then
           if Position = Tree.Last then
!             Insert_Post (Tree, null, Tree.Last, Key, Node);
              Success := True;
              return;
           end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 223,230 ****
  
           begin
              if Is_Less_Key_Node (Key, After) then
!                if Ops.Right (Position) = Ops.Null_Node then
!                   Insert_Post (Tree, Ops.Null_Node, Position, Key, Node);
                 else
                    Insert_Post (Tree, After, After, Key, Node);
                 end if;
--- 224,231 ----
  
           begin
              if Is_Less_Key_Node (Key, After) then
!                if Ops.Right (Position) = null then
!                   Insert_Post (Tree, null, Position, Key, Node);
                 else
                    Insert_Post (Tree, After, After, Key, Node);
                 end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 258,283 ****
        New_Length : constant Count_Type := Length_Subtype'(Tree.Length) + 1;
  
     begin
!       if Y = Ops.Null_Node
!         or else X /= Ops.Null_Node
          or else Is_Less_Key_Node (Key, Y)
        then
!          pragma Assert (Y = Ops.Null_Node
!                           or else Ops.Left (Y) = Ops.Null_Node);
  
           --  Delay allocation as long as we can, in order to defend
           --  against exceptions propagated by relational operators.
  
           Z := New_Node;
  
!          pragma Assert (Z /= Ops.Null_Node);
           pragma Assert (Ops.Color (Z) = Red);
  
!          if Y = Ops.Null_Node then
              pragma Assert (Tree.Length = 0);
!             pragma Assert (Tree.Root = Ops.Null_Node);
!             pragma Assert (Tree.First = Ops.Null_Node);
!             pragma Assert (Tree.Last = Ops.Null_Node);
  
              Tree.Root := Z;
              Tree.First := Z;
--- 259,288 ----
        New_Length : constant Count_Type := Length_Subtype'(Tree.Length) + 1;
  
     begin
!       if Tree.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       if Y = null
!         or else X /= null
          or else Is_Less_Key_Node (Key, Y)
        then
!          pragma Assert (Y = null
!                           or else Ops.Left (Y) = null);
  
           --  Delay allocation as long as we can, in order to defend
           --  against exceptions propagated by relational operators.
  
           Z := New_Node;
  
!          pragma Assert (Z /= null);
           pragma Assert (Ops.Color (Z) = Red);
  
!          if Y = null then
              pragma Assert (Tree.Length = 0);
!             pragma Assert (Tree.Root = null);
!             pragma Assert (Tree.First = null);
!             pragma Assert (Tree.Last = null);
  
              Tree.Root := Z;
              Tree.First := Z;
*************** package body Ada.Containers.Red_Black_Tr
*** 292,305 ****
           end if;
  
        else
!          pragma Assert (Ops.Right (Y) = Ops.Null_Node);
  
           --  Delay allocation as long as we can, in order to defend
           --  against exceptions propagated by relational operators.
  
           Z := New_Node;
  
!          pragma Assert (Z /= Ops.Null_Node);
           pragma Assert (Ops.Color (Z) = Red);
  
           Ops.Set_Right (Y, Z);
--- 297,310 ----
           end if;
  
        else
!          pragma Assert (Ops.Right (Y) = null);
  
           --  Delay allocation as long as we can, in order to defend
           --  against exceptions propagated by relational operators.
  
           Z := New_Node;
  
!          pragma Assert (Z /= null);
           pragma Assert (Ops.Color (Z) = Red);
  
           Ops.Set_Right (Y, Z);
*************** package body Ada.Containers.Red_Black_Tr
*** 331,337 ****
        procedure Iterate (Node : Node_Access) is
           N : Node_Access := Node;
        begin
!          while N /= Ops.Null_Node loop
              if Is_Less_Key_Node (Key, N) then
                 N := Ops.Left (N);
              elsif Is_Greater_Key_Node (Key, N) then
--- 336,342 ----
        procedure Iterate (Node : Node_Access) is
           N : Node_Access := Node;
        begin
!          while N /= null loop
              if Is_Less_Key_Node (Key, N) then
                 N := Ops.Left (N);
              elsif Is_Greater_Key_Node (Key, N) then
*************** package body Ada.Containers.Red_Black_Tr
*** 367,373 ****
        procedure Iterate (Node : Node_Access) is
           N : Node_Access := Node;
        begin
!          while N /= Ops.Null_Node loop
              if Is_Less_Key_Node (Key, N) then
                 N := Ops.Left (N);
              elsif Is_Greater_Key_Node (Key, N) then
--- 372,378 ----
        procedure Iterate (Node : Node_Access) is
           N : Node_Access := Node;
        begin
!          while N /= null loop
              if Is_Less_Key_Node (Key, N) then
                 N := Ops.Left (N);
              elsif Is_Greater_Key_Node (Key, N) then
*************** package body Ada.Containers.Red_Black_Tr
*** 395,405 ****
        Key  : Key_Type;
        Node : out Node_Access)
     is
!       Y : Node_Access := Ops.Null_Node;
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= Ops.Null_Node loop
           Y := X;
  
           if Is_Less_Key_Node (Key, X) then
--- 400,410 ----
        Key  : Key_Type;
        Node : out Node_Access)
     is
!       Y : Node_Access := null;
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= null loop
           Y := X;
  
           if Is_Less_Key_Node (Key, X) then
*************** package body Ada.Containers.Red_Black_Tr
*** 431,441 ****
        --  inserted last in the sequence of equivalent items.) ???
  
     begin
!       if Hint = Ops.Null_Node then  -- largest
           if Tree.Length > 0
             and then Is_Greater_Key_Node (Key, Tree.Last)
           then
!             Insert_Post (Tree, Ops.Null_Node, Tree.Last, Key, Node);
           else
              Unconditional_Insert_Sans_Hint (Tree, Key, Node);
           end if;
--- 436,446 ----
        --  inserted last in the sequence of equivalent items.) ???
  
     begin
!       if Hint = null then  -- largest
           if Tree.Length > 0
             and then Is_Greater_Key_Node (Key, Tree.Last)
           then
!             Insert_Post (Tree, null, Tree.Last, Key, Node);
           else
              Unconditional_Insert_Sans_Hint (Tree, Key, Node);
           end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 455,462 ****
              Before : constant Node_Access := Ops.Previous (Hint);
           begin
              if Is_Greater_Key_Node (Key, Before) then
!                if Ops.Right (Before) = Ops.Null_Node then
!                   Insert_Post (Tree, Ops.Null_Node, Before, Key, Node);
                 else
                    Insert_Post (Tree, Hint, Hint, Key, Node);
                 end if;
--- 460,467 ----
              Before : constant Node_Access := Ops.Previous (Hint);
           begin
              if Is_Greater_Key_Node (Key, Before) then
!                if Ops.Right (Before) = null then
!                   Insert_Post (Tree, null, Before, Key, Node);
                 else
                    Insert_Post (Tree, Hint, Hint, Key, Node);
                 end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 470,476 ****
  
        if Is_Greater_Key_Node (Key, Hint) then
           if Hint = Tree.Last then
!             Insert_Post (Tree, Ops.Null_Node, Tree.Last, Key, Node);
              return;
           end if;
  
--- 475,481 ----
  
        if Is_Greater_Key_Node (Key, Hint) then
           if Hint = Tree.Last then
!             Insert_Post (Tree, null, Tree.Last, Key, Node);
              return;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 478,485 ****
              After : constant Node_Access := Ops.Next (Hint);
           begin
              if Is_Less_Key_Node (Key, After) then
!                if Ops.Right (Hint) = Ops.Null_Node then
!                   Insert_Post (Tree, Ops.Null_Node, Hint, Key, Node);
                 else
                    Insert_Post (Tree, After, After, Key, Node);
                 end if;
--- 483,490 ----
              After : constant Node_Access := Ops.Next (Hint);
           begin
              if Is_Less_Key_Node (Key, After) then
!                if Ops.Right (Hint) = null then
!                   Insert_Post (Tree, null, Hint, Key, Node);
                 else
                    Insert_Post (Tree, After, After, Key, Node);
                 end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 506,512 ****
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= Ops.Null_Node loop
           if Is_Less_Key_Node (Key, X) then
              Y := X;
              X := Ops.Left (X);
--- 511,517 ----
        X : Node_Access := Tree.Root;
  
     begin
!       while X /= null loop
           if Is_Less_Key_Node (Key, X) then
              Y := X;
              X := Ops.Left (X);
*************** package body Ada.Containers.Red_Black_Tr
*** 519,523 ****
     end Upper_Bound;
  
  end Ada.Containers.Red_Black_Trees.Generic_Keys;
- 
- 
--- 524,526 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-crbtgk.ads gcc-4.1.0/gcc/ada/a-crbtgk.ads
*** gcc-4.0.2/gcc/ada/a-crbtgk.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-crbtgk.ads	Mon Sep  5 07:51:25 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --               ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_KEYS                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,9 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --        A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .     --
! --                          G E N E R I C _ K E Y S                         --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
*************** generic
*** 31,37 ****
        R : Node_Access) return Boolean;
  
  package Ada.Containers.Red_Black_Trees.Generic_Keys is
! pragma Pure (Generic_Keys);
  
     generic
        with function New_Node return Node_Access;
--- 32,38 ----
        R : Node_Access) return Boolean;
  
  package Ada.Containers.Red_Black_Trees.Generic_Keys is
!    pragma Pure;
  
     generic
        with function New_Node return Node_Access;
*************** pragma Pure (Generic_Keys);
*** 133,138 ****
        Key  : Key_Type);
  
  end Ada.Containers.Red_Black_Trees.Generic_Keys;
- 
- 
- 
--- 134,136 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-crbtgo.adb gcc-4.1.0/gcc/ada/a-crbtgo.adb
*** gcc-4.0.2/gcc/ada/a-crbtgo.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-crbtgo.adb	Tue Nov 15 13:54:02 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --            ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_OPERATIONS             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --        A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .     --
! --                    G E N E R I C _ O P E R A T I O N S                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,38 ****
--- 34,41 ----
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
+ with System;  use type System.Address;
+ 
  package body Ada.Containers.Red_Black_Trees.Generic_Operations is
  
     -----------------------
*************** package body Ada.Containers.Red_Black_Tr
*** 46,136 ****
     procedure Left_Rotate  (Tree : in out Tree_Type; X : Node_Access);
     procedure Right_Rotate (Tree : in out Tree_Type; Y : Node_Access);
  
!    ---------------------
!    -- Check_Invariant --
!    ---------------------
! 
!    procedure Check_Invariant (Tree : Tree_Type) is
!       Root : constant Node_Access := Tree.Root;
! 
!       function Check (Node : Node_Access) return Natural;
! 
!       -----------
!       -- Check --
!       -----------
! 
!       function Check (Node : Node_Access) return Natural is
!       begin
!          if Node = Null_Node then
!             return 0;
!          end if;
! 
!          if Color (Node) = Red then
!             declare
!                L : constant Node_Access := Left (Node);
!             begin
!                pragma Assert (L = Null_Node or else Color (L) = Black);
!                null;
!             end;
! 
!             declare
!                R : constant Node_Access := Right (Node);
!             begin
!                pragma Assert (R = Null_Node or else Color (R) = Black);
!                null;
!             end;
! 
!             declare
!                NL : constant Natural := Check (Left (Node));
!                NR : constant Natural := Check (Right (Node));
!             begin
!                pragma Assert (NL = NR);
!                return NL;
!             end;
!          end if;
! 
!          declare
!             NL : constant Natural := Check (Left (Node));
!             NR : constant Natural := Check (Right (Node));
!          begin
!             pragma Assert (NL = NR);
!             return NL + 1;
!          end;
!       end Check;
! 
!    --  Start of processing for Check_Invariant
! 
!    begin
!       if Root = Null_Node then
!          pragma Assert (Tree.First = Null_Node);
!          pragma Assert (Tree.Last = Null_Node);
!          pragma Assert (Tree.Length = 0);
!          null;
! 
!       else
!          pragma Assert (Color (Root) = Black);
!          pragma Assert (Tree.Length > 0);
!          pragma Assert (Tree.Root /= Null_Node);
!          pragma Assert (Tree.First /= Null_Node);
!          pragma Assert (Tree.Last /= Null_Node);
!          pragma Assert (Parent (Tree.Root) = Null_Node);
!          pragma Assert ((Tree.Length > 1)
!                            or else (Tree.First = Tree.Last
!                                       and Tree.First = Tree.Root));
!          pragma Assert (Left (Tree.First) = Null_Node);
!          pragma Assert (Right (Tree.Last) = Null_Node);
  
!          declare
!             L  : constant Node_Access := Left (Root);
!             R  : constant Node_Access := Right (Root);
!             NL : constant Natural := Check (L);
!             NR : constant Natural := Check (R);
!          begin
!             pragma Assert (NL = NR);
!             null;
!          end;
!       end if;
!    end Check_Invariant;
  
     ------------------
     -- Delete_Fixup --
--- 49,139 ----
     procedure Left_Rotate  (Tree : in out Tree_Type; X : Node_Access);
     procedure Right_Rotate (Tree : in out Tree_Type; Y : Node_Access);
  
! --     ---------------------
! --     -- Check_Invariant --
! --     ---------------------
  
! --     procedure Check_Invariant (Tree : Tree_Type) is
! --        Root : constant Node_Access := Tree.Root;
! --
! --        function Check (Node : Node_Access) return Natural;
! --
! --        -----------
! --        -- Check --
! --        -----------
! --
! --        function Check (Node : Node_Access) return Natural is
! --        begin
! --           if Node = null then
! --              return 0;
! --           end if;
! --
! --           if Color (Node) = Red then
! --              declare
! --                 L : constant Node_Access := Left (Node);
! --              begin
! --                 pragma Assert (L = null or else Color (L) = Black);
! --                 null;
! --              end;
! --
! --              declare
! --                 R : constant Node_Access := Right (Node);
! --              begin
! --                 pragma Assert (R = null or else Color (R) = Black);
! --                 null;
! --              end;
! --
! --              declare
! --                 NL : constant Natural := Check (Left (Node));
! --                 NR : constant Natural := Check (Right (Node));
! --              begin
! --                 pragma Assert (NL = NR);
! --                 return NL;
! --              end;
! --           end if;
! --
! --           declare
! --              NL : constant Natural := Check (Left (Node));
! --              NR : constant Natural := Check (Right (Node));
! --           begin
! --              pragma Assert (NL = NR);
! --              return NL + 1;
! --           end;
! --        end Check;
! --
! --     --  Start of processing for Check_Invariant
! --
! --     begin
! --        if Root = null then
! --           pragma Assert (Tree.First = null);
! --           pragma Assert (Tree.Last = null);
! --           pragma Assert (Tree.Length = 0);
! --           null;
! --
! --        else
! --           pragma Assert (Color (Root) = Black);
! --           pragma Assert (Tree.Length > 0);
! --           pragma Assert (Tree.Root /= null);
! --           pragma Assert (Tree.First /= null);
! --           pragma Assert (Tree.Last /= null);
! --           pragma Assert (Parent (Tree.Root) = null);
! --           pragma Assert ((Tree.Length > 1)
! --                             or else (Tree.First = Tree.Last
! --                                        and Tree.First = Tree.Root));
! --           pragma Assert (Left (Tree.First) = null);
! --           pragma Assert (Right (Tree.Last) = null);
! --
! --           declare
! --              L  : constant Node_Access := Left (Root);
! --              R  : constant Node_Access := Right (Root);
! --              NL : constant Natural := Check (L);
! --              NR : constant Natural := Check (R);
! --           begin
! --              pragma Assert (NL = NR);
! --              null;
! --           end;
! --        end if;
! --     end Check_Invariant;
  
     ------------------
     -- Delete_Fixup --
*************** package body Ada.Containers.Red_Black_Tr
*** 157,174 ****
                 W := Right (Parent (X));
              end if;
  
!             if (Left (W)  = Null_Node or else Color (Left (W)) = Black)
                and then
!                (Right (W) = Null_Node or else Color (Right (W)) = Black)
              then
                 Set_Color (W, Red);
                 X := Parent (X);
  
              else
!                if Right (W) = Null_Node
                   or else Color (Right (W)) = Black
                 then
!                   if Left (W) /= Null_Node then
                       Set_Color (Left (W), Black);
                    end if;
  
--- 160,177 ----
                 W := Right (Parent (X));
              end if;
  
!             if (Left (W)  = null or else Color (Left (W)) = Black)
                and then
!                (Right (W) = null or else Color (Right (W)) = Black)
              then
                 Set_Color (W, Red);
                 X := Parent (X);
  
              else
!                if Right (W) = null
                   or else Color (Right (W)) = Black
                 then
!                   if Left (W) /= null then
                       Set_Color (Left (W), Black);
                    end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 196,211 ****
                 W := Left (Parent (X));
              end if;
  
!             if (Left (W)  = Null_Node or else Color (Left (W)) = Black)
                    and then
!                (Right (W) = Null_Node or else Color (Right (W)) = Black)
              then
                 Set_Color (W, Red);
                 X := Parent (X);
  
              else
!                if Left (W) = Null_Node or else Color (Left (W)) = Black then
!                   if Right (W) /= Null_Node then
                       Set_Color (Right (W), Black);
                    end if;
  
--- 199,214 ----
                 W := Left (Parent (X));
              end if;
  
!             if (Left (W)  = null or else Color (Left (W)) = Black)
                    and then
!                (Right (W) = null or else Color (Right (W)) = Black)
              then
                 Set_Color (W, Red);
                 X := Parent (X);
  
              else
!                if Left (W) = null or else Color (Left (W)) = Black then
!                   if Right (W) /= null then
                       Set_Color (Right (W), Black);
                    end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 239,266 ****
        X, Y : Node_Access;
  
        Z : constant Node_Access := Node;
!       pragma Assert (Z /= Null_Node);
  
     begin
!       pragma Assert (Tree.Length > 0);
!       pragma Assert (Tree.Root /= Null_Node);
!       pragma Assert (Tree.First /= Null_Node);
!       pragma Assert (Tree.Last /= Null_Node);
!       pragma Assert (Parent (Tree.Root) = Null_Node);
!       pragma Assert ((Tree.Length > 1)
!                         or else (Tree.First = Tree.Last
!                                    and then Tree.First = Tree.Root));
!       pragma Assert ((Left (Node) = Null_Node)
!                         or else (Parent (Left (Node)) = Node));
!       pragma Assert ((Right (Node) = Null_Node)
!                         or else (Parent (Right (Node)) = Node));
!       pragma Assert (((Parent (Node) = Null_Node) and then (Tree.Root = Node))
!                         or else ((Parent (Node) /= Null_Node) and then
!                                   ((Left (Parent (Node)) = Node)
!                                      or else (Right (Parent (Node)) = Node))));
  
!       if Left (Z) = Null_Node then
!          if Right (Z) = Null_Node then
              if Z = Tree.First then
                 Tree.First := Parent (Z);
              end if;
--- 242,273 ----
        X, Y : Node_Access;
  
        Z : constant Node_Access := Node;
!       pragma Assert (Z /= null);
  
     begin
!       if Tree.Busy > 0 then
!          raise Program_Error;
!       end if;
  
! --    pragma Assert (Tree.Length > 0);
! --    pragma Assert (Tree.Root /= null);
! --    pragma Assert (Tree.First /= null);
! --    pragma Assert (Tree.Last /= null);
! --    pragma Assert (Parent (Tree.Root) = null);
! --    pragma Assert ((Tree.Length > 1)
! --                      or else (Tree.First = Tree.Last
! --                                 and then Tree.First = Tree.Root));
! --    pragma Assert ((Left (Node) = null)
! --                      or else (Parent (Left (Node)) = Node));
! --    pragma Assert ((Right (Node) = null)
! --                      or else (Parent (Right (Node)) = Node));
! --    pragma Assert (((Parent (Node) = null) and then (Tree.Root = Node))
! --                      or else ((Parent (Node) /= null) and then
! --                                ((Left (Parent (Node)) = Node)
! --                                   or else (Right (Parent (Node)) = Node))));
! 
!       if Left (Z) = null then
!          if Right (Z) = null then
              if Z = Tree.First then
                 Tree.First := Parent (Z);
              end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 273,290 ****
                 Delete_Fixup (Tree, Z);
              end if;
  
!             pragma Assert (Left (Z) = Null_Node);
!             pragma Assert (Right (Z) = Null_Node);
  
              if Z = Tree.Root then
                 pragma Assert (Tree.Length = 1);
!                pragma Assert (Parent (Z) = Null_Node);
!                Tree.Root := Null_Node;
              elsif Z = Left (Parent (Z)) then
!                Set_Left (Parent (Z), Null_Node);
              else
                 pragma Assert (Z = Right (Parent (Z)));
!                Set_Right (Parent (Z), Null_Node);
              end if;
  
           else
--- 280,297 ----
                 Delete_Fixup (Tree, Z);
              end if;
  
!             pragma Assert (Left (Z) = null);
!             pragma Assert (Right (Z) = null);
  
              if Z = Tree.Root then
                 pragma Assert (Tree.Length = 1);
!                pragma Assert (Parent (Z) = null);
!                Tree.Root := null;
              elsif Z = Left (Parent (Z)) then
!                Set_Left (Parent (Z), null);
              else
                 pragma Assert (Z = Right (Parent (Z)));
!                Set_Right (Parent (Z), null);
              end if;
  
           else
*************** package body Ada.Containers.Red_Black_Tr
*** 312,318 ****
              end if;
           end if;
  
!       elsif Right (Z) = Null_Node then
           pragma Assert (Z /= Tree.First);
  
           X := Left (Z);
--- 319,325 ----
              end if;
           end if;
  
!       elsif Right (Z) = null then
           pragma Assert (Z /= Tree.First);
  
           X := Left (Z);
*************** package body Ada.Containers.Red_Black_Tr
*** 341,351 ****
           pragma Assert (Z /= Tree.Last);
  
           Y := Next (Z);
!          pragma Assert (Left (Y) = Null_Node);
  
           X := Right (Y);
  
!          if X = Null_Node then
              if Y = Left (Parent (Y)) then
                 pragma Assert (Parent (Y) /= Z);
                 Delete_Swap (Tree, Z, Y);
--- 348,358 ----
           pragma Assert (Z /= Tree.Last);
  
           Y := Next (Z);
!          pragma Assert (Left (Y) = null);
  
           X := Right (Y);
  
!          if X = null then
              if Y = Left (Parent (Y)) then
                 pragma Assert (Parent (Y) /= Z);
                 Delete_Swap (Tree, Z, Y);
*************** package body Ada.Containers.Red_Black_Tr
*** 369,376 ****
                 Set_Parent (Left (Y), Y);
                 Set_Right (Y, Z);
                 Set_Parent (Z, Y);
!                Set_Left (Z, Null_Node);
!                Set_Right (Z, Null_Node);
  
                 declare
                    Y_Color : constant Color_Type := Color (Y);
--- 376,383 ----
                 Set_Parent (Left (Y), Y);
                 Set_Right (Y, Z);
                 Set_Parent (Z, Y);
!                Set_Left (Z, null);
!                Set_Right (Z, null);
  
                 declare
                    Y_Color : constant Color_Type := Color (Y);
*************** package body Ada.Containers.Red_Black_Tr
*** 384,397 ****
                 Delete_Fixup (Tree, Z);
              end if;
  
!             pragma Assert (Left (Z) = Null_Node);
!             pragma Assert (Right (Z) = Null_Node);
  
              if Z = Right (Parent (Z)) then
!                Set_Right (Parent (Z), Null_Node);
              else
                 pragma Assert (Z = Left (Parent (Z)));
!                Set_Left (Parent (Z), Null_Node);
              end if;
  
           else
--- 391,404 ----
                 Delete_Fixup (Tree, Z);
              end if;
  
!             pragma Assert (Left (Z) = null);
!             pragma Assert (Right (Z) = null);
  
              if Z = Right (Parent (Z)) then
!                Set_Right (Parent (Z), null);
              else
                 pragma Assert (Z = Left (Parent (Z)));
!                Set_Left (Parent (Z), null);
              end if;
  
           else
*************** package body Ada.Containers.Red_Black_Tr
*** 467,486 ****
           Set_Left (Parent (Y), Y);
        end if;
  
!       if Right (Y) /= Null_Node then
           Set_Parent (Right (Y), Y);
        end if;
  
!       if Left (Y) /= Null_Node then
           Set_Parent (Left (Y), Y);
        end if;
  
        Set_Parent (Z, Y_Parent);
        Set_Color (Z, Y_Color);
!       Set_Left (Z, Null_Node);
!       Set_Right (Z, Null_Node);
     end Delete_Swap;
  
     -------------------
     -- Generic_Equal --
     -------------------
--- 474,608 ----
           Set_Left (Parent (Y), Y);
        end if;
  
!       if Right (Y) /= null then
           Set_Parent (Right (Y), Y);
        end if;
  
!       if Left (Y) /= null then
           Set_Parent (Left (Y), Y);
        end if;
  
        Set_Parent (Z, Y_Parent);
        Set_Color (Z, Y_Color);
!       Set_Left (Z, null);
!       Set_Right (Z, null);
     end Delete_Swap;
  
+    --------------------
+    -- Generic_Adjust --
+    --------------------
+ 
+    procedure Generic_Adjust (Tree : in out Tree_Type) is
+       N    : constant Count_Type := Tree.Length;
+       Root : constant Node_Access := Tree.Root;
+ 
+    begin
+       if N = 0 then
+          pragma Assert (Root = null);
+          pragma Assert (Tree.Busy = 0);
+          pragma Assert (Tree.Lock = 0);
+          return;
+       end if;
+ 
+       Tree.Root := null;
+       Tree.First := null;
+       Tree.Last := null;
+       Tree.Length := 0;
+ 
+       Tree.Root := Copy_Tree (Root);
+       Tree.First := Min (Tree.Root);
+       Tree.Last := Max (Tree.Root);
+       Tree.Length := N;
+    end Generic_Adjust;
+ 
+    -------------------
+    -- Generic_Clear --
+    -------------------
+ 
+    procedure Generic_Clear (Tree : in out Tree_Type) is
+       Root : Node_Access := Tree.Root;
+    begin
+       if Tree.Busy > 0 then
+          raise Program_Error;
+       end if;
+ 
+       Tree := (First  => null,
+                Last   => null,
+                Root   => null,
+                Length => 0,
+                Busy   => 0,
+                Lock   => 0);
+ 
+       Delete_Tree (Root);
+    end Generic_Clear;
+ 
+    -----------------------
+    -- Generic_Copy_Tree --
+    -----------------------
+ 
+    function Generic_Copy_Tree (Source_Root : Node_Access) return Node_Access is
+       Target_Root : Node_Access := Copy_Node (Source_Root);
+       P, X        : Node_Access;
+ 
+    begin
+       if Right (Source_Root) /= null then
+          Set_Right
+            (Node  => Target_Root,
+             Right => Generic_Copy_Tree (Right (Source_Root)));
+ 
+          Set_Parent
+            (Node   => Right (Target_Root),
+             Parent => Target_Root);
+       end if;
+ 
+       P := Target_Root;
+ 
+       X := Left (Source_Root);
+       while X /= null loop
+          declare
+             Y : constant Node_Access := Copy_Node (X);
+          begin
+             Set_Left (Node => P, Left => Y);
+             Set_Parent (Node => Y, Parent => P);
+ 
+             if Right (X) /= null then
+                Set_Right
+                  (Node  => Y,
+                   Right => Generic_Copy_Tree (Right (X)));
+ 
+                Set_Parent
+                  (Node   => Right (Y),
+                   Parent => Y);
+             end if;
+ 
+             P := Y;
+             X := Left (X);
+          end;
+       end loop;
+ 
+       return Target_Root;
+    exception
+       when others =>
+          Delete_Tree (Target_Root);
+          raise;
+    end Generic_Copy_Tree;
+ 
+    -------------------------
+    -- Generic_Delete_Tree --
+    -------------------------
+ 
+    procedure Generic_Delete_Tree (X : in out Node_Access) is
+       Y : Node_Access;
+    begin
+       while X /= null loop
+          Y := Right (X);
+          Generic_Delete_Tree (Y);
+          Y := Left (X);
+          Free (X);
+          X := Y;
+       end loop;
+    end Generic_Delete_Tree;
+ 
     -------------------
     -- Generic_Equal --
     -------------------
*************** package body Ada.Containers.Red_Black_Tr
*** 490,502 ****
        R_Node : Node_Access;
  
     begin
        if Left.Length /= Right.Length then
           return False;
        end if;
  
        L_Node := Left.First;
        R_Node := Right.First;
!       while L_Node /= Null_Node loop
           if not Is_Equal (L_Node, R_Node) then
              return False;
           end if;
--- 612,628 ----
        R_Node : Node_Access;
  
     begin
+       if Left'Address = Right'Address then
+          return True;
+       end if;
+ 
        if Left.Length /= Right.Length then
           return False;
        end if;
  
        L_Node := Left.First;
        R_Node := Right.First;
!       while L_Node /= null loop
           if not Is_Equal (L_Node, R_Node) then
              return False;
           end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 522,528 ****
        procedure Iterate (P : Node_Access) is
           X : Node_Access := P;
        begin
!          while X /= Null_Node loop
              Iterate (Left (X));
              Process (X);
              X := Right (X);
--- 648,654 ----
        procedure Iterate (P : Node_Access) is
           X : Node_Access := P;
        begin
!          while X /= null loop
              Iterate (Left (X));
              Process (X);
              X := Right (X);
*************** package body Ada.Containers.Red_Black_Tr
*** 536,558 ****
     end Generic_Iteration;
  
     ------------------
!    -- Generic_Read --
     ------------------
  
!    procedure Generic_Read (Tree : in out Tree_Type; N : Count_Type) is
  
!       pragma Assert (Tree.Length = 0);
!       --  Clear and back node reinit was done by caller
  
        Node, Last_Node : Node_Access;
  
     begin
        if N = 0 then
           return;
        end if;
  
!       Node := New_Node;
!       pragma Assert (Node /= Null_Node);
        pragma Assert (Color (Node) = Red);
  
        Set_Color (Node, Black);
--- 662,716 ----
     end Generic_Iteration;
  
     ------------------
!    -- Generic_Move --
     ------------------
  
!    procedure Generic_Move (Target, Source : in out Tree_Type) is
!    begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
  
!       if Source.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       Clear (Target);
! 
!       Target := Source;
! 
!       Source := (First  => null,
!                  Last   => null,
!                  Root   => null,
!                  Length => 0,
!                  Busy   => 0,
!                  Lock   => 0);
!    end Generic_Move;
! 
!    ------------------
!    -- Generic_Read --
!    ------------------
! 
!    procedure Generic_Read
!      (Stream : access Root_Stream_Type'Class;
!       Tree   : in out Tree_Type)
!    is
!       N : Count_Type'Base;
  
        Node, Last_Node : Node_Access;
  
     begin
+       Clear (Tree);
+ 
+       Count_Type'Base'Read (Stream, N);
+       pragma Assert (N >= 0);
+ 
        if N = 0 then
           return;
        end if;
  
!       Node := Read_Node (Stream);
!       pragma Assert (Node /= null);
        pragma Assert (Color (Node) = Red);
  
        Set_Color (Node, Black);
*************** package body Ada.Containers.Red_Black_Tr
*** 567,574 ****
           Last_Node := Node;
           pragma Assert (Last_Node = Tree.Last);
  
!          Node := New_Node;
!          pragma Assert (Node /= Null_Node);
           pragma Assert (Color (Node) = Red);
  
           Set_Right (Node => Last_Node, Right => Node);
--- 725,732 ----
           Last_Node := Node;
           pragma Assert (Last_Node = Tree.Last);
  
!          Node := Read_Node (Stream);
!          pragma Assert (Node /= null);
           pragma Assert (Color (Node) = Red);
  
           Set_Right (Node => Last_Node, Right => Node);
*************** package body Ada.Containers.Red_Black_Tr
*** 594,600 ****
        procedure Iterate (P : Node_Access) is
           X : Node_Access := P;
        begin
!          while X /= Null_Node loop
              Iterate (Right (X));
              Process (X);
              X := Left (X);
--- 752,758 ----
        procedure Iterate (P : Node_Access) is
           X : Node_Access := P;
        begin
!          while X /= null loop
              Iterate (Right (X));
              Process (X);
              X := Left (X);
*************** package body Ada.Containers.Red_Black_Tr
*** 607,612 ****
--- 765,800 ----
        Iterate (Tree.Root);
     end Generic_Reverse_Iteration;
  
+    -------------------
+    -- Generic_Write --
+    -------------------
+ 
+    procedure Generic_Write
+      (Stream : access Root_Stream_Type'Class;
+       Tree   : in     Tree_Type)
+    is
+       procedure Process (Node : Node_Access);
+       pragma Inline (Process);
+ 
+       procedure Iterate is
+          new Generic_Iteration (Process);
+ 
+       -------------
+       -- Process --
+       -------------
+ 
+       procedure Process (Node : Node_Access) is
+       begin
+          Write_Node (Stream, Node);
+       end Process;
+ 
+    --  Start of processing for Generic_Write
+ 
+    begin
+       Count_Type'Base'Write (Stream, Tree.Length);
+       Iterate (Tree);
+    end Generic_Write;
+ 
     -----------------
     -- Left_Rotate --
     -----------------
*************** package body Ada.Containers.Red_Black_Tr
*** 616,627 ****
        --  CLR p266 ???
  
        Y : constant Node_Access := Right (X);
!       pragma Assert (Y /= Null_Node);
  
     begin
        Set_Right (X, Left (Y));
  
!       if Left (Y) /= Null_Node then
           Set_Parent (Left (Y), X);
        end if;
  
--- 804,815 ----
        --  CLR p266 ???
  
        Y : constant Node_Access := Right (X);
!       pragma Assert (Y /= null);
  
     begin
        Set_Right (X, Left (Y));
  
!       if Left (Y) /= null then
           Set_Parent (Left (Y), X);
        end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 655,661 ****
        loop
           Y := Right (X);
  
!          if Y = Null_Node then
              return X;
           end if;
  
--- 843,849 ----
        loop
           Y := Right (X);
  
!          if Y = null then
              return X;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 678,684 ****
        loop
           Y := Left (X);
  
!          if Y = Null_Node then
              return X;
           end if;
  
--- 866,872 ----
        loop
           Y := Left (X);
  
!          if Y = null then
              return X;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 687,709 ****
     end Min;
  
     ----------
-    -- Move --
-    ----------
- 
-    procedure Move (Target, Source : in out Tree_Type) is
-    begin
-       if Target.Length > 0 then
-          raise Constraint_Error;
-       end if;
- 
-       Target := Source;
-       Source := (First => Null_Node,
-                  Last  => Null_Node,
-                  Root  => Null_Node,
-                  Length => 0);
-    end Move;
- 
-    ----------
     -- Next --
     ----------
  
--- 875,880 ----
*************** package body Ada.Containers.Red_Black_Tr
*** 711,721 ****
     begin
        --  CLR p249 ???
  
!       if Node = Null_Node then
!          return Null_Node;
        end if;
  
!       if Right (Node) /= Null_Node then
           return Min (Right (Node));
        end if;
  
--- 882,892 ----
     begin
        --  CLR p249 ???
  
!       if Node = null then
!          return null;
        end if;
  
!       if Right (Node) /= null then
           return Min (Right (Node));
        end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 724,730 ****
           Y : Node_Access := Parent (Node);
  
        begin
!          while Y /= Null_Node
             and then X = Right (Y)
           loop
              X := Y;
--- 895,901 ----
           Y : Node_Access := Parent (Node);
  
        begin
!          while Y /= null
             and then X = Right (Y)
           loop
              X := Y;
*************** package body Ada.Containers.Red_Black_Tr
*** 749,759 ****
  
     function Previous (Node : Node_Access) return Node_Access is
     begin
!       if Node = Null_Node then
!          return Null_Node;
        end if;
  
!       if Left (Node) /= Null_Node then
           return Max (Left (Node));
        end if;
  
--- 920,930 ----
  
     function Previous (Node : Node_Access) return Node_Access is
     begin
!       if Node = null then
!          return null;
        end if;
  
!       if Left (Node) /= null then
           return Max (Left (Node));
        end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 762,768 ****
           Y : Node_Access := Parent (Node);
  
        begin
!          while Y /= Null_Node
             and then X = Left (Y)
           loop
              X := Y;
--- 933,939 ----
           Y : Node_Access := Parent (Node);
  
        begin
!          while Y /= null
             and then X = Left (Y)
           loop
              X := Y;
*************** package body Ada.Containers.Red_Black_Tr
*** 792,798 ****
        --  CLR p.268 ???
  
        X : Node_Access := Node;
!       pragma Assert (X /= Null_Node);
        pragma Assert (Color (X) = Red);
  
        Y : Node_Access;
--- 963,969 ----
        --  CLR p.268 ???
  
        X : Node_Access := Node;
!       pragma Assert (X /= null);
        pragma Assert (Color (X) = Red);
  
        Y : Node_Access;
*************** package body Ada.Containers.Red_Black_Tr
*** 802,808 ****
           if Parent (X) = Left (Parent (Parent (X))) then
              Y := Right (Parent (Parent (X)));
  
!             if Y /= Null_Node and then Color (Y) = Red then
                 Set_Color (Parent (X), Black);
                 Set_Color (Y, Black);
                 Set_Color (Parent (Parent (X)), Red);
--- 973,979 ----
           if Parent (X) = Left (Parent (Parent (X))) then
              Y := Right (Parent (Parent (X)));
  
!             if Y /= null and then Color (Y) = Red then
                 Set_Color (Parent (X), Black);
                 Set_Color (Y, Black);
                 Set_Color (Parent (Parent (X)), Red);
*************** package body Ada.Containers.Red_Black_Tr
*** 824,830 ****
  
              Y := Left (Parent (Parent (X)));
  
!             if Y /= Null_Node and then Color (Y) = Red then
                 Set_Color (Parent (X), Black);
                 Set_Color (Y, Black);
                 Set_Color (Parent (Parent (X)), Red);
--- 995,1001 ----
  
              Y := Left (Parent (Parent (X)));
  
!             if Y /= null and then Color (Y) = Red then
                 Set_Color (Parent (X), Black);
                 Set_Color (Y, Black);
                 Set_Color (Parent (Parent (X)), Red);
*************** package body Ada.Containers.Red_Black_Tr
*** 852,863 ****
  
     procedure Right_Rotate (Tree : in out Tree_Type; Y : Node_Access) is
        X : constant Node_Access := Left (Y);
!       pragma Assert (X /= Null_Node);
  
     begin
        Set_Left (Y, Right (X));
  
!       if Right (X) /= Null_Node then
           Set_Parent (Right (X), Y);
        end if;
  
--- 1023,1034 ----
  
     procedure Right_Rotate (Tree : in out Tree_Type; Y : Node_Access) is
        X : constant Node_Access := Left (Y);
!       pragma Assert (X /= null);
  
     begin
        Set_Left (Y, Right (X));
  
!       if Right (X) /= null then
           Set_Parent (Right (X), Y);
        end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 876,879 ****
--- 1047,1152 ----
        Set_Parent (Y, X);
     end Right_Rotate;
  
+    ---------
+    -- Vet --
+    ---------
+ 
+    function Vet (Tree : Tree_Type; Node : Node_Access) return Boolean is
+    begin
+       if Node = null then
+          return True;
+       end if;
+ 
+       if Parent (Node) = Node
+         or else Left (Node) = Node
+         or else Right (Node) = Node
+       then
+          return False;
+       end if;
+ 
+       if Tree.Length = 0
+         or else Tree.Root = null
+         or else Tree.First = null
+         or else Tree.Last = null
+       then
+          return False;
+       end if;
+ 
+       if Parent (Tree.Root) /= null then
+          return False;
+       end if;
+ 
+       if Left (Tree.First) /= null then
+          return False;
+       end if;
+ 
+       if Right (Tree.Last) /= null then
+          return False;
+       end if;
+ 
+       if Tree.Length = 1 then
+          if Tree.First /= Tree.Last
+            or else Tree.First /= Tree.Root
+          then
+             return False;
+          end if;
+ 
+          if Node /= Tree.First then
+             return False;
+          end if;
+ 
+          if Parent (Node) /= null
+            or else Left (Node) /= null
+            or else Right (Node) /= null
+          then
+             return False;
+          end if;
+ 
+          return True;
+       end if;
+ 
+       if Tree.First = Tree.Last then
+          return False;
+       end if;
+ 
+       if Tree.Length = 2 then
+          if Tree.First /= Tree.Root
+            and then Tree.Last /= Tree.Root
+          then
+             return False;
+          end if;
+ 
+          if Tree.First /= Node
+            and then Tree.Last /= Node
+          then
+             return False;
+          end if;
+       end if;
+ 
+       if Left (Node) /= null
+         and then Parent (Left (Node)) /= Node
+       then
+          return False;
+       end if;
+ 
+       if Right (Node) /= null
+         and then Parent (Right (Node)) /= Node
+       then
+          return False;
+       end if;
+ 
+       if Parent (Node) = null then
+          if Tree.Root /= Node then
+             return False;
+          end if;
+ 
+       elsif Left (Parent (Node)) /= Node
+         and then Right (Parent (Node)) /= Node
+       then
+          return False;
+       end if;
+ 
+       return True;
+    end Vet;
+ 
  end Ada.Containers.Red_Black_Trees.Generic_Operations;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-crbtgo.ads gcc-4.1.0/gcc/ada/a-crbtgo.ads
*** gcc-4.0.2/gcc/ada/a-crbtgo.ads	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-crbtgo.ads	Tue Nov 15 13:54:02 2005
***************
*** 2,24 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --            ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_OPERATIONS             --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! -- This specification is adapted from the Ada Reference Manual for use with --
! -- GNAT.  In accordance with the copyright of that document, you can freely --
! -- copy and modify this specification,  provided that if you redistribute a --
! -- modified version,  any changes that you have made are clearly indicated. --
  --                                                                          --
  ------------------------------------------------------------------------------
  
  generic
     with package Tree_Types is new Generic_Tree_Types (<>);
     use Tree_Types;
  
-    Null_Node : Node_Access;
- 
     with function  Parent (Node : Node_Access) return Node_Access is <>;
     with procedure Set_Parent (Node : Node_Access; Parent : Node_Access) is <>;
     with function  Left (Node : Node_Access) return Node_Access is <>;
--- 2,45 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --        A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .     --
! --                    G E N E R I C _ O P E R A T I O N S                   --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
! --                                                                          --
! -- This specification is derived from the Ada Reference Manual for use with --
! -- GNAT. The copyright notice above, and the license provisions that follow --
! -- apply solely to the  contents of the part following the private keyword. --
  --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
+ with Ada.Streams; use Ada.Streams;
+ 
  generic
     with package Tree_Types is new Generic_Tree_Types (<>);
     use Tree_Types;
  
     with function  Parent (Node : Node_Access) return Node_Access is <>;
     with procedure Set_Parent (Node : Node_Access; Parent : Node_Access) is <>;
     with function  Left (Node : Node_Access) return Node_Access is <>;
*************** generic
*** 29,48 ****
     with procedure Set_Color (Node : Node_Access; Color : Color_Type) is <>;
  
  package Ada.Containers.Red_Black_Trees.Generic_Operations is
! pragma Pure;
  
     function Min (Node : Node_Access) return Node_Access;
  
     function Max (Node : Node_Access) return Node_Access;
  
!    procedure Check_Invariant (Tree : Tree_Type);
  
     function Next (Node : Node_Access) return Node_Access;
  
     function Previous (Node : Node_Access) return Node_Access;
  
-    procedure Move (Target, Source : in out Tree_Type);
- 
     generic
        with function Is_Equal (L, R : Node_Access) return Boolean;
     function Generic_Equal (Left, Right : Tree_Type) return Boolean;
--- 50,74 ----
     with procedure Set_Color (Node : Node_Access; Color : Color_Type) is <>;
  
  package Ada.Containers.Red_Black_Trees.Generic_Operations is
!    pragma Pure;
  
     function Min (Node : Node_Access) return Node_Access;
  
     function Max (Node : Node_Access) return Node_Access;
  
!    --  NOTE: The Check_Invariant operation was used during early
!    --  development of the red-black tree. Now that the tree type
!    --  implementation has matured, we don't really need Check_Invariant
!    --  anymore.
! 
!    --  procedure Check_Invariant (Tree : Tree_Type);
! 
!    function Vet (Tree : Tree_Type; Node : Node_Access) return Boolean;
  
     function Next (Node : Node_Access) return Node_Access;
  
     function Previous (Node : Node_Access) return Node_Access;
  
     generic
        with function Is_Equal (L, R : Node_Access) return Boolean;
     function Generic_Equal (Left, Right : Tree_Type) return Boolean;
*************** pragma Pure;
*** 52,57 ****
--- 78,104 ----
        Node : Node_Access);
  
     generic
+       with procedure Free (X : in out Node_Access);
+    procedure Generic_Delete_Tree (X : in out Node_Access);
+ 
+    generic
+       with function Copy_Node (Source : Node_Access) return Node_Access;
+       with procedure Delete_Tree (X : in out Node_Access);
+    function Generic_Copy_Tree (Source_Root : Node_Access) return Node_Access;
+ 
+    generic
+       with function Copy_Tree (Root : Node_Access) return Node_Access;
+    procedure Generic_Adjust (Tree : in out Tree_Type);
+ 
+    generic
+       with procedure Delete_Tree (X : in out Node_Access);
+    procedure Generic_Clear (Tree : in out Tree_Type);
+ 
+    generic
+       with procedure Clear (Tree : in out Tree_Type);
+    procedure Generic_Move (Target, Source : in out Tree_Type);
+ 
+    generic
        with procedure Process (Node : Node_Access) is <>;
     procedure Generic_Iteration (Tree : Tree_Type);
  
*************** pragma Pure;
*** 60,67 ****
     procedure Generic_Reverse_Iteration (Tree : Tree_Type);
  
     generic
!       with function New_Node return Node_Access is <>;
!    procedure Generic_Read (Tree : in out Tree_Type; N : Count_Type);
  
     procedure Rebalance_For_Insert
       (Tree : in out Tree_Type;
--- 107,126 ----
     procedure Generic_Reverse_Iteration (Tree : Tree_Type);
  
     generic
!       with procedure Write_Node
!         (Stream : access Root_Stream_Type'Class;
!          Node   : Node_Access);
!    procedure Generic_Write
!      (Stream : access Root_Stream_Type'Class;
!       Tree   : Tree_Type);
! 
!    generic
!       with procedure Clear (Tree : in out Tree_Type);
!       with function Read_Node
!         (Stream : access Root_Stream_Type'Class) return Node_Access;
!    procedure Generic_Read
!      (Stream : access Root_Stream_Type'Class;
!       Tree   : in out Tree_Type);
  
     procedure Rebalance_For_Insert
       (Tree : in out Tree_Type;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cwila1.ads gcc-4.1.0/gcc/ada/a-cwila1.ads
*** gcc-4.0.2/gcc/ada/a-cwila1.ads	Thu Apr 24 17:53:52 2003
--- gcc-4.1.0/gcc/ada/a-cwila1.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 1           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 1           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,43 ****
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Latin_1 is
! pragma Pure (Wide_Latin_1);
  
     ------------------------
     -- Control Characters --
--- 37,43 ----
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Latin_1 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-cwila9.ads gcc-4.1.0/gcc/ada/a-cwila9.ads
*** gcc-4.0.2/gcc/ada/a-cwila9.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-cwila9.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 9           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . C H A R A C T E R S . W I D E _ L A T I N _ 9           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,43 ****
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Latin_9 is
! pragma Pure (Wide_Latin_9);
  
     ------------------------
     -- Control Characters --
--- 37,43 ----
  --  is in accordance with the implementation permission in RM (A.3.3(27)).
  
  package Ada.Characters.Wide_Latin_9 is
!    pragma Pure;
  
     ------------------------
     -- Control Characters --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-decima.adb gcc-4.1.0/gcc/ada/a-decima.adb
*** gcc-4.0.2/gcc/ada/a-decima.adb	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-decima.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          A D A . D E C I M A L                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --        Copyright (C) 1992,1993,1994 Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          A D A . D E C I M A L                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-decima.ads gcc-4.1.0/gcc/ada/a-decima.ads
*** gcc-4.0.2/gcc/ada/a-decima.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-decima.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-1997 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,42 ****
  ------------------------------------------------------------------------------
  
  package Ada.Decimal is
! pragma Pure (Decimal);
  
     --  The compiler makes a number of assumptions based on the following five
     --  constants (e.g. there is an assumption that decimal values can always
--- 36,42 ----
  ------------------------------------------------------------------------------
  
  package Ada.Decimal is
!    pragma Pure;
  
     --  The compiler makes a number of assumptions based on the following five
     --  constants (e.g. there is an assumption that decimal values can always
diff -Nrcpad gcc-4.0.2/gcc/ada/a-diocst.adb gcc-4.1.0/gcc/ada/a-diocst.adb
*** gcc-4.0.2/gcc/ada/a-diocst.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-diocst.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-diocst.ads gcc-4.1.0/gcc/ada/a-diocst.ads
*** gcc-4.0.2/gcc/ada/a-diocst.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-diocst.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . D I R E C T _ I O . C _ S T R E A M S               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . D I R E C T _ I O . C _ S T R E A M S               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-direct.adb gcc-4.1.0/gcc/ada/a-direct.adb
*** gcc-4.0.2/gcc/ada/a-direct.adb	Wed Oct 27 13:56:03 2004
--- gcc-4.1.0/gcc/ada/a-direct.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004 Free Software Foundation, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,45 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Directories.Validity; use Ada.Directories.Validity;
! with Ada.Strings.Unbounded;    use Ada.Strings.Unbounded;
  with Ada.Unchecked_Deallocation;
! with Ada.Characters.Handling;  use Ada.Characters.Handling;
  
! with GNAT.Directory_Operations; use GNAT.Directory_Operations;
! with GNAT.OS_Lib;               use GNAT.OS_Lib;
! with GNAT.Regexp;               use GNAT.Regexp;
! --  ??? Ada units cannot depend on GNAT units
  
  with System;
  
--- 31,45 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Directories.Validity;   use Ada.Directories.Validity;
! with Ada.Strings.Unbounded;      use Ada.Strings.Unbounded;
  with Ada.Unchecked_Deallocation;
! with Ada.Characters.Handling;    use Ada.Characters.Handling;
  
! with GNAT.Directory_Operations;  use GNAT.Directory_Operations;
! with GNAT.OS_Lib;                use GNAT.OS_Lib;
! with GNAT.Regexp;                use GNAT.Regexp;
! --  ??? Ada units should not depend on GNAT units
  
  with System;
  
*************** package body Ada.Directories is
*** 62,68 ****
     procedure Free is new Ada.Unchecked_Deallocation (Search_Data, Search_Ptr);
  
     function File_Exists (Name : String) return Boolean;
!    --  Returns True if the named file exists.
  
     procedure Fetch_Next_Entry (Search : Search_Type);
     --  Get the next entry in a directory, setting Entry_Fetched if successful
--- 62,68 ----
     procedure Free is new Ada.Unchecked_Deallocation (Search_Data, Search_Ptr);
  
     function File_Exists (Name : String) return Boolean;
!    --  Returns True if the named file exists
  
     procedure Fetch_Next_Entry (Search : Search_Type);
     --  Get the next entry in a directory, setting Entry_Fetched if successful
*************** package body Ada.Directories is
*** 126,132 ****
        then
           raise Name_Error;
  
!          --  This is not an invalid case. Build the path name.
  
        else
           Last := Containing_Directory'Length;
--- 126,132 ----
        then
           raise Name_Error;
  
!          --  This is not an invalid case so build the path name
  
        else
           Last := Containing_Directory'Length;
*************** package body Ada.Directories is
*** 938,943 ****
--- 938,944 ----
  
        exception
           when Error_In_Regexp =>
+             Free (Search.Value);
              raise Name_Error;
        end;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-direct.ads gcc-4.1.0/gcc/ada/a-direct.ads
*** gcc-4.0.2/gcc/ada/a-direct.ads	Mon Sep 13 10:18:41 2004
--- gcc-4.1.0/gcc/ada/a-direct.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004 Free Software Foundation, Inc.               --
  --                                                                          --
  -- This specification is derived for use with GNAT from AI-00248,  which is --
  -- expected to be a part of a future expected revised Ada Reference Manual. --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived for use with GNAT from AI-00248,  which is --
  -- expected to be a part of a future expected revised Ada Reference Manual. --
***************
*** 21,28 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Ada.Directories is
*** 178,185 ****
     --  and form given by Form, or copying of the file with the name given by
     --  Source_Name (in the absence of Name_Error).
  
! 
!    --  File and directory name operations:
  
     function Full_Name (Name : String) return String;
     --  Returns the full name corresponding to the file name specified by Name.
--- 178,186 ----
     --  and form given by Form, or copying of the file with the name given by
     --  Source_Name (in the absence of Name_Error).
  
!    ----------------------------------------
!    -- File and directory name operations --
!    ----------------------------------------
  
     function Full_Name (Name : String) return String;
     --  Returns the full name corresponding to the file name specified by Name.
*************** package Ada.Directories is
*** 231,245 ****
     --  Name is not a possible simple name (if Extension is null) or base name
     --  (if Extension is non-null).
  
! 
!    --  File and directory queries:
  
     type File_Kind is (Directory, Ordinary_File, Special_File);
     --  The type File_Kind represents the kind of file represented by an
     --  external file or directory.
  
     type File_Size is range 0 .. Long_Long_Integer'Last;
!    --  The type File_Size represents the size of an external file.
  
     function Exists (Name : String) return Boolean;
     --  Returns True if external file represented by Name exists, and False
--- 232,247 ----
     --  Name is not a possible simple name (if Extension is null) or base name
     --  (if Extension is non-null).
  
!    --------------------------------
!    -- File and directory queries --
!    --------------------------------
  
     type File_Kind is (Directory, Ordinary_File, Special_File);
     --  The type File_Kind represents the kind of file represented by an
     --  external file or directory.
  
     type File_Size is range 0 .. Long_Long_Integer'Last;
!    --  The type File_Size represents the size of an external file
  
     function Exists (Name : String) return Boolean;
     --  Returns True if external file represented by Name exists, and False
*************** package Ada.Directories is
*** 304,313 ****
     --  Starts a search in the directory entry in the directory named by
     --  Directory for entries matching Pattern. Pattern represents a file name
     --  matching pattern. If Pattern is null, all items in the directory are
!    --  matched; otherwise, the interpretation of Pattern is
!    --  implementation-defined. Only items which match Filter will be returned.
!    --  After a successful call on Start_Search, the object Search may have
!    --  entries available, but it may have no entries available if no files or
     --  directories match Pattern and Filter. The exception Name_Error is
     --  propagated if the string given by Directory does not identify an
     --  existing directory, or if Pattern does not allow the identification of
--- 306,315 ----
     --  Starts a search in the directory entry in the directory named by
     --  Directory for entries matching Pattern. Pattern represents a file name
     --  matching pattern. If Pattern is null, all items in the directory are
!    --  matched; otherwise, the interpretation of Pattern is implementation-
!    --  defined. Only items which match Filter will be returned. After a
!    --  successful call on Start_Search, the object Search may have entries
!    --  available, but it may have no entries available if no files or
     --  directories match Pattern and Filter. The exception Name_Error is
     --  propagated if the string given by Directory does not identify an
     --  existing directory, or if Pattern does not allow the identification of
*************** package Ada.Directories is
*** 317,323 ****
  
     procedure End_Search (Search : in out Search_Type);
     --  Ends the search represented by Search. After a successful call on
!    --  End_Search, the object Search will have no entries available.
  
     function More_Entries (Search : Search_Type) return Boolean;
     --  Returns True if more entries are available to be returned by a call
--- 319,328 ----
  
     procedure End_Search (Search : in out Search_Type);
     --  Ends the search represented by Search. After a successful call on
!    --  End_Search, the object Search will have no entries available. Note
!    --  that is is not necessary to call End_Search if the call to Start_Search
!    --  was unsuccessful and raised an exception (but it is harmless to make
!    --  the call in this case)>
  
     function More_Entries (Search : Search_Type) return Boolean;
     --  Returns True if more entries are available to be returned by a call
*************** private
*** 400,418 ****
  
     --  Search_Type need to be a controlled type, because it includes component
     --  of type Dir_Type (in GNAT.Directory_Operations) that need to be closed
!    --  (if opened) during finalization.
!    --  The component need to be an access value, because Search_Data is not
!    --  fully defined in the spec.
  
     type Search_Type is new Ada.Finalization.Controlled with record
        Value : Search_Ptr;
     end record;
  
     procedure Finalize (Search : in out Search_Type);
!    --  Close the directory, if opened, and deallocate Value.
  
     procedure End_Search (Search : in out Search_Type) renames Finalize;
  
  end Ada.Directories;
- 
- 
--- 405,420 ----
  
     --  Search_Type need to be a controlled type, because it includes component
     --  of type Dir_Type (in GNAT.Directory_Operations) that need to be closed
!    --  (if opened) during finalization. The component need to be an access
!    --  value, because Search_Data is not fully defined in the spec.
  
     type Search_Type is new Ada.Finalization.Controlled with record
        Value : Search_Ptr;
     end record;
  
     procedure Finalize (Search : in out Search_Type);
!    --  Close the directory, if opened, and deallocate Value
  
     procedure End_Search (Search : in out Search_Type) renames Finalize;
  
  end Ada.Directories;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-direio.adb gcc-4.1.0/gcc/ada/a-direio.adb
*** gcc-4.0.2/gcc/ada/a-direio.adb	Mon Jan  3 15:32:14 2005
--- gcc-4.1.0/gcc/ada/a-direio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                        A D A . D I R E C T _ I O                         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                        A D A . D I R E C T _ I O                         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Direct_IO is
*** 51,57 ****
  
     Zeroes : constant System.Storage_Elements.Storage_Array :=
                (1 .. System.Storage_Elements.Storage_Offset (Bytes) => 0);
!    --  Buffer used to fill out partial records.
  
     package FCB renames System.File_Control_Block;
     package FIO renames System.File_IO;
--- 51,57 ----
  
     Zeroes : constant System.Storage_Elements.Storage_Array :=
                (1 .. System.Storage_Elements.Storage_Offset (Bytes) => 0);
!    --  Buffer used to fill out partial records
  
     package FCB renames System.File_Control_Block;
     package FIO renames System.File_IO;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-direio.ads gcc-4.1.0/gcc/ada/a-direio.ads
*** gcc-4.0.2/gcc/ada/a-direio.ads	Thu Jul 15 20:34:34 2004
--- gcc-4.1.0/gcc/ada/a-direio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  with Ada.IO_Exceptions;
  with System.Direct_IO;
  with Interfaces.C_Streams;
--- 35,40 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dirval-mingw.adb gcc-4.1.0/gcc/ada/a-dirval-mingw.adb
*** gcc-4.0.2/gcc/ada/a-dirval-mingw.adb	Wed Oct 27 13:56:03 2004
--- gcc-4.1.0/gcc/ada/a-dirval-mingw.adb	Tue Nov 15 14:06:45 2005
***************
*** 7,13 ****
  --                                 B o d y                                  --
  --                            (Windows Version)                             --
  --                                                                          --
! --          Copyright (C) 2004 Free Software Foundation, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 7,13 ----
  --                                 B o d y                                  --
  --                            (Windows Version)                             --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Directories.Validity is
*** 147,153 ****
              end if;
           end loop;
  
!          --  If no invalid chars, and not all spaces, file name is valid.
  
           return not Only_Spaces;
        end if;
--- 147,153 ----
              end if;
           end loop;
  
!          --  If no invalid chars, and not all spaces, file name is valid
  
           return not Only_Spaces;
        end if;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dirval-vms.adb gcc-4.1.0/gcc/ada/a-dirval-vms.adb
*** gcc-4.0.2/gcc/ada/a-dirval-vms.adb	Wed Oct 27 13:56:03 2004
--- gcc-4.1.0/gcc/ada/a-dirval-vms.adb	Fri Jul  1 01:29:17 2005
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dirval.adb gcc-4.1.0/gcc/ada/a-dirval.adb
*** gcc-4.0.2/gcc/ada/a-dirval.adb	Wed Oct 27 13:56:03 2004
--- gcc-4.1.0/gcc/ada/a-dirval.adb	Tue Nov 15 14:06:45 2005
***************
*** 7,13 ****
  --                                 B o d y                                  --
  --                             (POSIX Version)                              --
  --                                                                          --
! --          Copyright (C) 2004 Free Software Foundation, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 7,13 ----
  --                                 B o d y                                  --
  --                             (POSIX Version)                              --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dirval.ads gcc-4.1.0/gcc/ada/a-dirval.ads
*** gcc-4.0.2/gcc/ada/a-dirval.ads	Wed Oct 27 13:56:03 2004
--- gcc-4.1.0/gcc/ada/a-dirval.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004 Free Software Foundation, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dynpri.adb gcc-4.1.0/gcc/ada/a-dynpri.adb
*** gcc-4.0.2/gcc/ada/a-dynpri.adb	Mon May 17 13:20:42 2004
--- gcc-4.1.0/gcc/ada/a-dynpri.adb	Mon Sep  5 07:46:06 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS              --
  --                                                                          --
  --                 A D A . D Y N A M I C _ P R I O R I T I E S              --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2004, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                 A D A . D Y N A M I C _ P R I O R I T I E S              --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System.Task_Primitives.Operations;
*** 47,70 ****
  with System.Tasking;
  --  used for Task_Id
  
- with Ada.Exceptions;
- --  used for Raise_Exception
- 
- with System.Tasking.Initialization;
- --  used for Defer/Undefer_Abort
- 
  with System.Parameters;
  --  used for Single_Lock
  
  with Unchecked_Conversion;
  
  package body Ada.Dynamic_Priorities is
  
     package STPO renames System.Task_Primitives.Operations;
  
     use System.Parameters;
     use System.Tasking;
-    use Ada.Exceptions;
  
     function Convert_Ids is new
       Unchecked_Conversion
--- 47,68 ----
  with System.Tasking;
  --  used for Task_Id
  
  with System.Parameters;
  --  used for Single_Lock
  
+ with System.Soft_Links;
+ --  use for Abort_Defer
+ --          Abort_Undefer
+ 
  with Unchecked_Conversion;
  
  package body Ada.Dynamic_Priorities is
  
     package STPO renames System.Task_Primitives.Operations;
+    package SSL renames System.Soft_Links;
  
     use System.Parameters;
     use System.Tasking;
  
     function Convert_Ids is new
       Unchecked_Conversion
*************** package body Ada.Dynamic_Priorities is
*** 85,97 ****
  
     begin
        if Target = Convert_Ids (Ada.Task_Identification.Null_Task_Id) then
!          Raise_Exception (Program_Error'Identity,
!            Error_Message & "null task");
        end if;
  
        if Task_Identification.Is_Terminated (T) then
!          Raise_Exception (Tasking_Error'Identity,
!            Error_Message & "null task");
        end if;
  
        return Target.Common.Base_Priority;
--- 83,93 ----
  
     begin
        if Target = Convert_Ids (Ada.Task_Identification.Null_Task_Id) then
!          raise Program_Error with Error_Message & "null task";
        end if;
  
        if Task_Identification.Is_Terminated (T) then
!          raise Tasking_Error with Error_Message & "null task";
        end if;
  
        return Target.Common.Base_Priority;
*************** package body Ada.Dynamic_Priorities is
*** 114,129 ****
  
     begin
        if Target = Convert_Ids (Ada.Task_Identification.Null_Task_Id) then
!          Raise_Exception (Program_Error'Identity,
!            Error_Message & "null task");
        end if;
  
        if Task_Identification.Is_Terminated (T) then
!          Raise_Exception (Tasking_Error'Identity,
!            Error_Message & "terminated task");
        end if;
  
!       Initialization.Defer_Abort (Self_ID);
  
        if Single_Lock then
           STPO.Lock_RTS;
--- 110,123 ----
  
     begin
        if Target = Convert_Ids (Ada.Task_Identification.Null_Task_Id) then
!          raise Program_Error with Error_Message & "null task";
        end if;
  
        if Task_Identification.Is_Terminated (T) then
!          raise Tasking_Error with Error_Message & "terminated task";
        end if;
  
!       SSL.Abort_Defer.all;
  
        if Single_Lock then
           STPO.Lock_RTS;
*************** package body Ada.Dynamic_Priorities is
*** 141,147 ****
              STPO.Unlock_RTS;
           end if;
  
!          --  Yield is needed to enforce FIFO task dispatching.
  
           --  LL Set_Priority is made while holding the RTS lock so that it
           --  is inheriting high priority until it release all the RTS locks.
--- 135,141 ----
              STPO.Unlock_RTS;
           end if;
  
!          --  Yield is needed to enforce FIFO task dispatching
  
           --  LL Set_Priority is made while holding the RTS lock so that it
           --  is inheriting high priority until it release all the RTS locks.
*************** package body Ada.Dynamic_Priorities is
*** 168,174 ****
           end if;
        end if;
  
!       Initialization.Undefer_Abort (Self_ID);
     end Set_Priority;
  
  end Ada.Dynamic_Priorities;
--- 162,168 ----
           end if;
        end if;
  
!       SSL.Abort_Undefer.all;
     end Set_Priority;
  
  end Ada.Dynamic_Priorities;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-dynpri.ads gcc-4.1.0/gcc/ada/a-dynpri.ads
*** gcc-4.0.2/gcc/ada/a-dynpri.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-dynpri.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . D Y N A M I C _ P R I O R I T I E S                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . D Y N A M I C _ P R I O R I T I E S                --
  --                                                                          --
*************** with System;
*** 17,22 ****
--- 17,24 ----
  with Ada.Task_Identification;
  
  package Ada.Dynamic_Priorities is
+    pragma Preelaborate_05;
+    --  In accordance with Ada 2005 AI-362
  
     procedure Set_Priority
       (Priority : System.Any_Priority;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-einuoc.adb gcc-4.1.0/gcc/ada/a-einuoc.adb
*** gcc-4.0.2/gcc/ada/a-einuoc.adb	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-einuoc.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-einuoc.ads gcc-4.1.0/gcc/ada/a-einuoc.ads
*** gcc-4.0.2/gcc/ada/a-einuoc.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-einuoc.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-elchha.adb gcc-4.1.0/gcc/ada/a-elchha.adb
*** gcc-4.0.2/gcc/ada/a-elchha.adb	Tue Jul 20 10:26:51 2004
--- gcc-4.1.0/gcc/ada/a-elchha.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2003-2004 Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,42 ****
--- 37,44 ----
  
  --  Default version for most targets
  
+ with System.Standard_Library; use System.Standard_Library;
+ 
  procedure Ada.Exceptions.Last_Chance_Handler
    (Except : Exception_Occurrence)
  is
*************** begin
*** 88,94 ****
     --  really an exception at all. We recognize this by the fact that
     --  it is the only exception whose name starts with underscore.
  
!    if Except.Id.Full_Name.all (1) = '_' then
        To_Stderr (Nline);
        To_Stderr ("Execution terminated by abort of environment task");
        To_Stderr (Nline);
--- 90,96 ----
     --  really an exception at all. We recognize this by the fact that
     --  it is the only exception whose name starts with underscore.
  
!    if To_Ptr (Except.Id.Full_Name) (1) = '_' then
        To_Stderr (Nline);
        To_Stderr ("Execution terminated by abort of environment task");
        To_Stderr (Nline);
*************** begin
*** 100,106 ****
     elsif Except.Num_Tracebacks = 0 then
        To_Stderr (Nline);
        To_Stderr ("raised ");
!       To_Stderr (Except.Id.Full_Name.all (1 .. Except.Id.Name_Length - 1));
  
        if Exception_Message_Length (Except) /= 0 then
           To_Stderr (" : ");
--- 102,109 ----
     elsif Except.Num_Tracebacks = 0 then
        To_Stderr (Nline);
        To_Stderr ("raised ");
!       To_Stderr
!         (To_Ptr (Except.Id.Full_Name) (1 .. Except.Id.Name_Length - 1));
  
        if Exception_Message_Length (Except) /= 0 then
           To_Stderr (" : ");
diff -Nrcpad gcc-4.0.2/gcc/ada/a-elchha.ads gcc-4.1.0/gcc/ada/a-elchha.ads
*** gcc-4.0.2/gcc/ada/a-elchha.ads	Fri Dec  5 10:24:04 2003
--- gcc-4.1.0/gcc/ada/a-elchha.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-excach.adb gcc-4.1.0/gcc/ada/a-excach.adb
*** gcc-4.0.2/gcc/ada/a-excach.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-excach.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --                         ADA.EXCEPTIONS.CALL_CHAIN                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 2,12 ----
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --             A D A . E X C E P T I O N S . C A L L _ C H A I N            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,38 ****
--- 31,45 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
+ pragma Warnings (Off);
+ --  Allow withing of non-Preelaborated units in Ada 2005 mode where this
+ --  package will be categorized as Preelaborate. See AI-362 for details.
+ --  It is safe in the context of the run-time to violate the rules!
+ 
  with System.Traceback;
  
+ pragma Warnings (On);
+ 
  separate (Ada.Exceptions)
  procedure Call_Chain (Excep : EOA) is
  
*************** procedure Call_Chain (Excep : EOA) is
*** 42,48 ****
     --  occurrences.
  
  begin
- 
     if Exception_Tracebacks /= 0 and Excep.Num_Tracebacks = 0 then
  
        --  If Exception_Tracebacks = 0 then the program was not
--- 49,54 ----
*************** begin
*** 65,71 ****
           Exclude_Min => Code_Address_For_AAA,
           Exclude_Max => Code_Address_For_ZZZ,
           Skip_Frames => 3);
- 
     end if;
  
  end Call_Chain;
--- 71,76 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-except.adb gcc-4.1.0/gcc/ada/a-except.adb
*** gcc-4.0.2/gcc/ada/a-except.adb	Thu Feb 10 13:50:40 2005
--- gcc-4.1.0/gcc/ada/a-except.adb	Tue Nov 15 13:52:55 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Polling (Off);
*** 35,68 ****
  --  We must turn polling off for this unit, because otherwise we get
  --  elaboration circularities with System.Exception_Tables.
  
- pragma Warnings (Off);
- --  Since several constructs give warnings in 3.14a1, including unreferenced
- --  variables and pragma Unreferenced itself.
- 
  with System;                  use System;
  with System.Standard_Library; use System.Standard_Library;
  with System.Soft_Links;       use System.Soft_Links;
- with System.Machine_State_Operations; use System.Machine_State_Operations;
  
  package body Ada.Exceptions is
  
-    procedure builtin_longjmp (buffer : Address; Flag : Integer);
-    pragma No_Return (builtin_longjmp);
-    pragma Import (C, builtin_longjmp, "_gnat_builtin_longjmp");
- 
     pragma Suppress (All_Checks);
     --  We definitely do not want exceptions occurring within this unit, or
     --  we are in big trouble. If an exceptional situation does occur, better
     --  that it not be raised, since raising it can cause confusing chaos.
  
-    Zero_Cost_Exceptions : Integer;
-    pragma Import (C, Zero_Cost_Exceptions, "__gl_zero_cost_exceptions");
-    --  Boolean indicating if we are handling exceptions using a zero cost
-    --  mechanism.
-    --
-    --  Note that although we currently do not support it, the GCC3 back-end
-    --  tables are also potentially useable for setjmp/longjmp processing.
- 
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 35,51 ----
*************** package body Ada.Exceptions is
*** 71,81 ****
     --  from C clients using the given external name, even though they are not
     --  technically visible in the Ada sense.
  
!    procedure AAA;
!    procedure ZZZ;
!    --  Mark start and end of procedures in this package
     --
!    --  The AAA and ZZZ procedures are used to provide exclusion bounds in
     --  calls to Call_Chain at exception raise points from this unit. The
     --  purpose is to arrange for the exception tracebacks not to include
     --  frames from routines involved in the raise process, as these are
--- 54,64 ----
     --  from C clients using the given external name, even though they are not
     --  technically visible in the Ada sense.
  
!    function Code_Address_For_AAA return System.Address;
!    function Code_Address_For_ZZZ return System.Address;
!    --  Return start and end of procedures in this package
     --
!    --  These procedures are used to provide exclusion bounds in
     --  calls to Call_Chain at exception raise points from this unit. The
     --  purpose is to arrange for the exception tracebacks not to include
     --  frames from routines involved in the raise process, as these are
*************** package body Ada.Exceptions is
*** 83,109 ****
     --
     --  For these bounds to be meaningful, we need to ensure that the object
     --  code for the routines involved in processing a raise is located after
!    --  the object code for AAA and before the object code for ZZZ. This will
!    --  indeed be the case as long as the following rules are respected:
     --
     --  1) The bodies of the subprograms involved in processing a raise
!    --     are located after the body of AAA and before the body of ZZZ.
     --
     --  2) No pragma Inline applies to any of these subprograms, as this
     --     could delay the corresponding assembly output until the end of
     --     the unit.
  
-    Code_Address_For_AAA, Code_Address_For_ZZZ : System.Address;
-    --  Used to represent addresses really inside the code range for AAA and
-    --  ZZZ, initialized to the address of a label inside the corresponding
-    --  procedure. This is initialization takes place inside the procedures
-    --  themselves, which are called as part of the elaboration code.
-    --
-    --  We are doing this instead of merely using Proc'Address because on some
-    --  platforms the latter does not yield the address we want, but the
-    --  address of a stub or of a descriptor instead. This is the case at least
-    --  on Alpha-VMS and PA-HPUX.
- 
     procedure Call_Chain (Excep : EOA);
     --  Store up to Max_Tracebacks in Excep, corresponding to the current
     --  call chain.
--- 66,83 ----
     --
     --  For these bounds to be meaningful, we need to ensure that the object
     --  code for the routines involved in processing a raise is located after
!    --  the object code Code_Address_For_AAA and before the object code
!    --  Code_Address_For_ZZZ. This will indeed be the case as long as the
!    --  following rules are respected:
     --
     --  1) The bodies of the subprograms involved in processing a raise
!    --     are located after the body of Code_Address_For_AAA and before the
!    --     body of Code_Address_For_ZZZ.
     --
     --  2) No pragma Inline applies to any of these subprograms, as this
     --     could delay the corresponding assembly output until the end of
     --     the unit.
  
     procedure Call_Chain (Excep : EOA);
     --  Store up to Max_Tracebacks in Excep, corresponding to the current
     --  call chain.
*************** package body Ada.Exceptions is
*** 139,147 ****
  
        procedure Set_Exception_C_Msg
          (Id   : Exception_Id;
!          Msg1 : Big_String_Ptr;
           Line : Integer        := 0;
!          Msg2 : Big_String_Ptr := null);
        --  This routine is called to setup the exception referenced by the
        --  Current_Excep field in the TSD to contain the indicated Id value
        --  and message. Msg1 is a null terminated string which is generated
--- 113,121 ----
  
        procedure Set_Exception_C_Msg
          (Id   : Exception_Id;
!          Msg1 : System.Address;
           Line : Integer        := 0;
!          Msg2 : System.Address := System.Null_Address);
        --  This routine is called to setup the exception referenced by the
        --  Current_Excep field in the TSD to contain the indicated Id value
        --  and message. Msg1 is a null terminated string which is generated
*************** package body Ada.Exceptions is
*** 210,216 ****
        pragma Export
          (Ada, Tailored_Exception_Information,
             "__gnat_tailored_exception_information");
!       --  This is currently used by System.Tasking.Stages.
  
     end Exception_Data;
  
--- 184,190 ----
        pragma Export
          (Ada, Tailored_Exception_Information,
             "__gnat_tailored_exception_information");
!       --  This is currently used by System.Tasking.Stages
  
     end Exception_Data;
  
*************** package body Ada.Exceptions is
*** 329,337 ****
  
     procedure Raise_With_Location_And_Msg
       (E : Exception_Id;
!       F : Big_String_Ptr;
        L : Integer;
!       M : Big_String_Ptr := null);
     pragma No_Return (Raise_With_Location_And_Msg);
     --  Raise an exception with given exception id value. A filename and line
     --  number is associated with the raise and is stored in the exception
--- 303,311 ----
  
     procedure Raise_With_Location_And_Msg
       (E : Exception_Id;
!       F : System.Address;
        L : Integer;
!       M : System.Address := System.Null_Address);
     pragma No_Return (Raise_With_Location_And_Msg);
     --  Raise an exception with given exception id value. A filename and line
     --  number is associated with the raise and is stored in the exception
*************** package body Ada.Exceptions is
*** 339,345 ****
     --  this (if M is not null).
  
     procedure Raise_Constraint_Error
!      (File : Big_String_Ptr;
        Line : Integer);
     pragma No_Return (Raise_Constraint_Error);
     pragma Export
--- 313,319 ----
     --  this (if M is not null).
  
     procedure Raise_Constraint_Error
!      (File : System.Address;
        Line : Integer);
     pragma No_Return (Raise_Constraint_Error);
     pragma Export
*************** package body Ada.Exceptions is
*** 347,362 ****
     --  Raise constraint error with file:line information
  
     procedure Raise_Constraint_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr);
     pragma No_Return (Raise_Constraint_Error_Msg);
     pragma Export
       (C, Raise_Constraint_Error_Msg, "__gnat_raise_constraint_error_msg");
     --  Raise constraint error with file:line + msg information
  
     procedure Raise_Program_Error
!      (File : Big_String_Ptr;
        Line : Integer);
     pragma No_Return (Raise_Program_Error);
     pragma Export
--- 321,336 ----
     --  Raise constraint error with file:line information
  
     procedure Raise_Constraint_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address);
     pragma No_Return (Raise_Constraint_Error_Msg);
     pragma Export
       (C, Raise_Constraint_Error_Msg, "__gnat_raise_constraint_error_msg");
     --  Raise constraint error with file:line + msg information
  
     procedure Raise_Program_Error
!      (File : System.Address;
        Line : Integer);
     pragma No_Return (Raise_Program_Error);
     pragma Export
*************** package body Ada.Exceptions is
*** 364,379 ****
     --  Raise program error with file:line information
  
     procedure Raise_Program_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr);
     pragma No_Return (Raise_Program_Error_Msg);
     pragma Export
       (C, Raise_Program_Error_Msg, "__gnat_raise_program_error_msg");
     --  Raise program error with file:line + msg information
  
     procedure Raise_Storage_Error
!      (File : Big_String_Ptr;
        Line : Integer);
     pragma No_Return (Raise_Storage_Error);
     pragma Export
--- 338,353 ----
     --  Raise program error with file:line information
  
     procedure Raise_Program_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address);
     pragma No_Return (Raise_Program_Error_Msg);
     pragma Export
       (C, Raise_Program_Error_Msg, "__gnat_raise_program_error_msg");
     --  Raise program error with file:line + msg information
  
     procedure Raise_Storage_Error
!      (File : System.Address;
        Line : Integer);
     pragma No_Return (Raise_Storage_Error);
     pragma Export
*************** package body Ada.Exceptions is
*** 381,389 ****
     --  Raise storage error with file:line information
  
     procedure Raise_Storage_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr);
     pragma No_Return (Raise_Storage_Error_Msg);
     pragma Export
       (C, Raise_Storage_Error_Msg, "__gnat_raise_storage_error_msg");
--- 355,363 ----
     --  Raise storage error with file:line information
  
     procedure Raise_Storage_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address);
     pragma No_Return (Raise_Storage_Error_Msg);
     pragma Export
       (C, Raise_Storage_Error_Msg, "__gnat_raise_storage_error_msg");
*************** package body Ada.Exceptions is
*** 423,434 ****
     --  The following procedures provide an internal interface to help making
     --  this explicit.
  
-    procedure Save_Occurrence_And_Private
-      (Target : out Exception_Occurrence;
-       Source : Exception_Occurrence);
-    --  Copy all the components of Source to Target as well as the
-    --  Private_Data pointer.
- 
     procedure Save_Occurrence_No_Private
       (Target : out Exception_Occurrence;
        Source : Exception_Occurrence);
--- 397,402 ----
*************** package body Ada.Exceptions is
*** 454,490 ****
     --  to the codes defined in Types.ads and a-types.h (for example,
     --  the name Rcheck_05 refers to the Reason whose Pos code is 5).
  
!    procedure Rcheck_00 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_01 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_02 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_03 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_04 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_05 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_06 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_07 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_08 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_09 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_10 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_11 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_12 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_13 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_14 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_15 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_16 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_17 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_18 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_19 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_20 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_21 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_22 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_23 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_24 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_25 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_26 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_27 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_28 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_29 (File : Big_String_Ptr; Line : Integer);
!    procedure Rcheck_30 (File : Big_String_Ptr; Line : Integer);
  
     pragma Export (C, Rcheck_00, "__gnat_rcheck_00");
     pragma Export (C, Rcheck_01, "__gnat_rcheck_01");
--- 422,458 ----
     --  to the codes defined in Types.ads and a-types.h (for example,
     --  the name Rcheck_05 refers to the Reason whose Pos code is 5).
  
!    procedure Rcheck_00 (File : System.Address; Line : Integer);
!    procedure Rcheck_01 (File : System.Address; Line : Integer);
!    procedure Rcheck_02 (File : System.Address; Line : Integer);
!    procedure Rcheck_03 (File : System.Address; Line : Integer);
!    procedure Rcheck_04 (File : System.Address; Line : Integer);
!    procedure Rcheck_05 (File : System.Address; Line : Integer);
!    procedure Rcheck_06 (File : System.Address; Line : Integer);
!    procedure Rcheck_07 (File : System.Address; Line : Integer);
!    procedure Rcheck_08 (File : System.Address; Line : Integer);
!    procedure Rcheck_09 (File : System.Address; Line : Integer);
!    procedure Rcheck_10 (File : System.Address; Line : Integer);
!    procedure Rcheck_11 (File : System.Address; Line : Integer);
!    procedure Rcheck_12 (File : System.Address; Line : Integer);
!    procedure Rcheck_13 (File : System.Address; Line : Integer);
!    procedure Rcheck_14 (File : System.Address; Line : Integer);
!    procedure Rcheck_15 (File : System.Address; Line : Integer);
!    procedure Rcheck_16 (File : System.Address; Line : Integer);
!    procedure Rcheck_17 (File : System.Address; Line : Integer);
!    procedure Rcheck_18 (File : System.Address; Line : Integer);
!    procedure Rcheck_19 (File : System.Address; Line : Integer);
!    procedure Rcheck_20 (File : System.Address; Line : Integer);
!    procedure Rcheck_21 (File : System.Address; Line : Integer);
!    procedure Rcheck_22 (File : System.Address; Line : Integer);
!    procedure Rcheck_23 (File : System.Address; Line : Integer);
!    procedure Rcheck_24 (File : System.Address; Line : Integer);
!    procedure Rcheck_25 (File : System.Address; Line : Integer);
!    procedure Rcheck_26 (File : System.Address; Line : Integer);
!    procedure Rcheck_27 (File : System.Address; Line : Integer);
!    procedure Rcheck_28 (File : System.Address; Line : Integer);
!    procedure Rcheck_29 (File : System.Address; Line : Integer);
!    procedure Rcheck_30 (File : System.Address; Line : Integer);
  
     pragma Export (C, Rcheck_00, "__gnat_rcheck_00");
     pragma Export (C, Rcheck_01, "__gnat_rcheck_01");
*************** package body Ada.Exceptions is
*** 611,629 ****
     --  The actual polling routine is separate, so that it can easily
     --  be replaced with a target dependent version.
  
!    ---------
!    -- AAA --
!    ---------
  
!    --  This dummy procedure gives us the start of the PC range for addresses
     --  within the exception unit itself. We hope that gigi/gcc keep all the
     --  procedures in their original order!
  
!    procedure AAA is
     begin
        <<Start_Of_AAA>>
!       Code_Address_For_AAA := Start_Of_AAA'Address;
!    end AAA;
  
     ----------------
     -- Call_Chain --
--- 579,603 ----
     --  The actual polling routine is separate, so that it can easily
     --  be replaced with a target dependent version.
  
!    --------------------------
!    -- Code_Address_For_AAA --
!    --------------------------
  
!    --  This function gives us the start of the PC range for addresses
     --  within the exception unit itself. We hope that gigi/gcc keep all the
     --  procedures in their original order!
  
!    function Code_Address_For_AAA return System.Address is
     begin
+       --  We are using a label instead of merely using
+       --  Code_Address_For_AAA'Address because on some platforms the latter
+       --  does not yield the address we want, but the address of a stub or of
+       --  a descriptor instead. This is the case at least on Alpha-VMS and
+       --  PA-HPUX.
+ 
        <<Start_Of_AAA>>
!       return Start_Of_AAA'Address;
!    end Code_Address_For_AAA;
  
     ----------------
     -- Call_Chain --
*************** package body Ada.Exceptions is
*** 664,678 ****
     ------------------------
  
     function Exception_Identity
!      (X    : Exception_Occurrence)
!       return Exception_Id
     is
     begin
!       if X.Id = Null_Id then
!          raise Constraint_Error;
!       else
!          return X.Id;
!       end if;
     end Exception_Identity;
  
     ---------------------------
--- 638,655 ----
     ------------------------
  
     function Exception_Identity
!      (X : Exception_Occurrence) return Exception_Id
     is
     begin
!       --  Note that the following test used to be here for the original
!       --  Ada 95 semantics, but these were modified by AI-241 to require
!       --  returning Null_Id instead of raising Constraint_Error.
! 
!       --  if X.Id = Null_Id then
!       --     raise Constraint_Error;
!       --  end if;
! 
!       return X.Id;
     end Exception_Identity;
  
     ---------------------------
*************** package body Ada.Exceptions is
*** 711,717 ****
           raise Constraint_Error;
        end if;
  
!       return Id.Full_Name.all (1 .. Id.Name_Length - 1);
     end Exception_Name;
  
     function Exception_Name (X : Exception_Occurrence) return String is
--- 688,694 ----
           raise Constraint_Error;
        end if;
  
!       return To_Ptr (Id.Full_Name) (1 .. Id.Name_Length - 1);
     end Exception_Name;
  
     function Exception_Name (X : Exception_Occurrence) return String is
*************** package body Ada.Exceptions is
*** 788,867 ****
     is
        pragma Inspection_Point (E);
        --  This is so the debugger can reliably inspect the parameter
- 
-       Jumpbuf_Ptr : constant Address := Get_Jmpbuf_Address.all;
-       Excep       : EOA := Get_Current_Excep.all;
- 
     begin
!       --  WARNING : There should be no exception handler for this body
        --  because this would cause gigi to prepend a setup for a new
!       --  jmpbuf to the sequence of statements. We would then always get
!       --  this new buf in Jumpbuf_Ptr instead of the one for the exception
!       --  we are handling, which would completely break the whole design
!       --  of this procedure.
! 
!       --  Processing varies between zero cost and setjmp/lonjmp processing.
! 
!       if Zero_Cost_Exceptions /= 0 then
! 
!          --  Use the front-end tables to propagate if we have them, otherwise
!          --  resort to the GCC back-end alternative. Backtrace computation is
!          --  performed, if required, by the underlying routine. Notifications
!          --  for the debugger are also not performed here, because we do not
!          --  yet know if the exception is handled.
! 
!          Exception_Propagation.Propagate_Exception (From_Signal_Handler);
! 
!       else
!          --  Compute the backtrace for this occurrence if the corresponding
!          --  binder option has been set. Call_Chain takes care of the reraise
!          --  case.
! 
!          Call_Chain (Excep);
!          --  We used to only do this if From_Signal_Handler was not set,
!          --  based on the assumption that backtracing from a signal handler
!          --  would not work due to stack layout oddities. However, since
!          --
!          --   1. The flag is never set in tasking programs (Notify_Exception
!          --      performs regular raise statements), and
!          --
!          --   2. No problem has shown up in tasking programs around here so
!          --      far, this turned out to be too strong an assumption.
!          --
!          --  As, in addition, the test was
!          --
!          --   1. preventing the production of backtraces in non-tasking
!          --      programs, and
!          --
!          --   2. introducing a behavior inconsistency between
!          --      the tasking and non-tasking cases,
!          --
!          --  we have simply removed it.
! 
!          --  If the jump buffer pointer is non-null, transfer control using
!          --  it. Otherwise announce an unhandled exception (note that this
!          --  means that we have no finalizations to do other than at the outer
!          --  level). Perform the necessary notification tasks in both cases.
! 
!          if Jumpbuf_Ptr /= Null_Address then
! 
!             if not Excep.Exception_Raised then
!                Excep.Exception_Raised := True;
!                Exception_Traces.Notify_Handled_Exception;
!             end if;
! 
!             builtin_longjmp (Jumpbuf_Ptr, 1);
! 
!          else
!             --  The pragma Inspection point here ensures that the debugger
!             --  can inspect the parameter.
! 
!             pragma Inspection_Point (E);
  
!             Exception_Traces.Notify_Unhandled_Exception;
!             Exception_Traces.Unhandled_Exception_Terminate;
!          end if;
!       end if;
     end Process_Raise_Exception;
  
     ----------------------------
--- 765,779 ----
     is
        pragma Inspection_Point (E);
        --  This is so the debugger can reliably inspect the parameter
     begin
!       --  WARNING: There should be no exception handler for this body
        --  because this would cause gigi to prepend a setup for a new
!       --  jmpbuf to the sequence of statements in case of built-in sjljl.
!       --  We would then always get this new buf in Jumpbuf_Ptr instead of the
!       --  one for the exception we are handling, which would completely break
!       --  the whole design of this procedure.
  
!       Exception_Propagation.Propagate_Exception (From_Signal_Handler);
     end Process_Raise_Exception;
  
     ----------------------------
*************** package body Ada.Exceptions is
*** 869,875 ****
     ----------------------------
  
     procedure Raise_Constraint_Error
!      (File : Big_String_Ptr;
        Line : Integer)
     is
     begin
--- 781,787 ----
     ----------------------------
  
     procedure Raise_Constraint_Error
!      (File : System.Address;
        Line : Integer)
     is
     begin
*************** package body Ada.Exceptions is
*** 882,890 ****
     --------------------------------
  
     procedure Raise_Constraint_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr)
     is
     begin
        Raise_With_Location_And_Msg
--- 794,802 ----
     --------------------------------
  
     procedure Raise_Constraint_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address)
     is
     begin
        Raise_With_Location_And_Msg
*************** package body Ada.Exceptions is
*** 896,903 ****
     -------------------------
  
     procedure Raise_Current_Excep (E : Exception_Id) is
        pragma Inspection_Point (E);
!       --  This is so the debugger can reliably inspect the parameter
     begin
        Process_Raise_Exception (E => E, From_Signal_Handler => False);
     end Raise_Current_Excep;
--- 808,830 ----
     -------------------------
  
     procedure Raise_Current_Excep (E : Exception_Id) is
+ 
        pragma Inspection_Point (E);
!       --  This is so the debugger can reliably inspect the parameter when
!       --  inserting a breakpoint at the start of this procedure.
! 
!       Id : Exception_Id := E;
!       pragma Volatile (Id);
!       pragma Warnings (Off, Id);
!       --  In order to provide support for breakpoints on unhandled exceptions,
!       --  the debugger will also need to be able to inspect the value of E from
!       --  another (inner) frame. So we need to make sure that if E is passed in
!       --  a register, its value is also spilled on stack. For this, we store
!       --  the parameter value in a local variable, and add a pragma Volatile to
!       --  make sure it is spilled. The pragma Warnings (Off) is needed because
!       --  the compiler knows that Id is not referenced and that this use of
!       --  pragma Volatile is peculiar!
! 
     begin
        Process_Raise_Exception (E => E, From_Signal_Handler => False);
     end Raise_Current_Excep;
*************** package body Ada.Exceptions is
*** 938,944 ****
  
     procedure Raise_From_Signal_Handler
       (E : Exception_Id;
!       M : Big_String_Ptr)
     is
     begin
        Exception_Data.Set_Exception_C_Msg (E, M);
--- 865,871 ----
  
     procedure Raise_From_Signal_Handler
       (E : Exception_Id;
!       M : System.Address)
     is
     begin
        Exception_Data.Set_Exception_C_Msg (E, M);
*************** package body Ada.Exceptions is
*** 951,957 ****
     -------------------------
  
     procedure Raise_Program_Error
!      (File : Big_String_Ptr;
        Line : Integer)
     is
     begin
--- 878,884 ----
     -------------------------
  
     procedure Raise_Program_Error
!      (File : System.Address;
        Line : Integer)
     is
     begin
*************** package body Ada.Exceptions is
*** 964,972 ****
     -----------------------------
  
     procedure Raise_Program_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr)
     is
     begin
        Raise_With_Location_And_Msg
--- 891,899 ----
     -----------------------------
  
     procedure Raise_Program_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address)
     is
     begin
        Raise_With_Location_And_Msg
*************** package body Ada.Exceptions is
*** 978,984 ****
     -------------------------
  
     procedure Raise_Storage_Error
!      (File : Big_String_Ptr;
        Line : Integer)
     is
     begin
--- 905,911 ----
     -------------------------
  
     procedure Raise_Storage_Error
!      (File : System.Address;
        Line : Integer)
     is
     begin
*************** package body Ada.Exceptions is
*** 991,999 ****
     -----------------------------
  
     procedure Raise_Storage_Error_Msg
!      (File : Big_String_Ptr;
        Line : Integer;
!       Msg  : Big_String_Ptr)
     is
     begin
        Raise_With_Location_And_Msg
--- 918,926 ----
     -----------------------------
  
     procedure Raise_Storage_Error_Msg
!      (File : System.Address;
        Line : Integer;
!       Msg  : System.Address)
     is
     begin
        Raise_With_Location_And_Msg
*************** package body Ada.Exceptions is
*** 1006,1014 ****
  
     procedure Raise_With_Location_And_Msg
       (E : Exception_Id;
!       F : Big_String_Ptr;
        L : Integer;
!       M : Big_String_Ptr := null)
     is
     begin
        Exception_Data.Set_Exception_C_Msg (E, F, L, M);
--- 933,941 ----
  
     procedure Raise_With_Location_And_Msg
       (E : Exception_Id;
!       F : System.Address;
        L : Integer;
!       M : System.Address := System.Null_Address)
     is
     begin
        Exception_Data.Set_Exception_C_Msg (E, F, L, M);
*************** package body Ada.Exceptions is
*** 1039,1197 ****
     -- Calls to Run-Time Check Routines --
     --------------------------------------
  
!    procedure Rcheck_00 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_00'Address));
     end Rcheck_00;
  
!    procedure Rcheck_01 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_01'Address));
     end Rcheck_01;
  
!    procedure Rcheck_02 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_02'Address));
     end Rcheck_02;
  
!    procedure Rcheck_03 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_03'Address));
     end Rcheck_03;
  
!    procedure Rcheck_04 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_04'Address));
     end Rcheck_04;
  
!    procedure Rcheck_05 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_05'Address));
     end Rcheck_05;
  
!    procedure Rcheck_06 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_06'Address));
     end Rcheck_06;
  
!    procedure Rcheck_07 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_07'Address));
     end Rcheck_07;
  
!    procedure Rcheck_08 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_08'Address));
     end Rcheck_08;
  
!    procedure Rcheck_09 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_09'Address));
     end Rcheck_09;
  
!    procedure Rcheck_10 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_10'Address));
     end Rcheck_10;
  
!    procedure Rcheck_11 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_11'Address));
     end Rcheck_11;
  
!    procedure Rcheck_12 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, To_Ptr (Rmsg_12'Address));
     end Rcheck_12;
  
!    procedure Rcheck_13 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_13'Address));
     end Rcheck_13;
  
!    procedure Rcheck_14 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_14'Address));
     end Rcheck_14;
  
!    procedure Rcheck_15 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_15'Address));
     end Rcheck_15;
  
!    procedure Rcheck_16 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_16'Address));
     end Rcheck_16;
  
!    procedure Rcheck_17 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_17'Address));
     end Rcheck_17;
  
!    procedure Rcheck_18 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_18'Address));
     end Rcheck_18;
  
!    procedure Rcheck_19 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_19'Address));
     end Rcheck_19;
  
!    procedure Rcheck_20 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_20'Address));
     end Rcheck_20;
  
!    procedure Rcheck_21 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_21'Address));
     end Rcheck_21;
  
!    procedure Rcheck_22 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_22'Address));
     end Rcheck_22;
  
!    procedure Rcheck_23 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_23'Address));
     end Rcheck_23;
  
!    procedure Rcheck_24 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_24'Address));
     end Rcheck_24;
  
!    procedure Rcheck_25 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, To_Ptr (Rmsg_25'Address));
     end Rcheck_25;
  
!    procedure Rcheck_26 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, To_Ptr (Rmsg_26'Address));
     end Rcheck_26;
  
!    procedure Rcheck_27 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, To_Ptr (Rmsg_27'Address));
     end Rcheck_27;
  
!    procedure Rcheck_28 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, To_Ptr (Rmsg_28'Address));
     end Rcheck_28;
  
!    procedure Rcheck_29 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, To_Ptr (Rmsg_29'Address));
     end Rcheck_29;
  
!    procedure Rcheck_30 (File : Big_String_Ptr; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, To_Ptr (Rmsg_30'Address));
     end Rcheck_30;
  
     -------------
--- 966,1124 ----
     -- Calls to Run-Time Check Routines --
     --------------------------------------
  
!    procedure Rcheck_00 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_00'Address);
     end Rcheck_00;
  
!    procedure Rcheck_01 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_01'Address);
     end Rcheck_01;
  
!    procedure Rcheck_02 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_02'Address);
     end Rcheck_02;
  
!    procedure Rcheck_03 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_03'Address);
     end Rcheck_03;
  
!    procedure Rcheck_04 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_04'Address);
     end Rcheck_04;
  
!    procedure Rcheck_05 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_05'Address);
     end Rcheck_05;
  
!    procedure Rcheck_06 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_06'Address);
     end Rcheck_06;
  
!    procedure Rcheck_07 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_07'Address);
     end Rcheck_07;
  
!    procedure Rcheck_08 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_08'Address);
     end Rcheck_08;
  
!    procedure Rcheck_09 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_09'Address);
     end Rcheck_09;
  
!    procedure Rcheck_10 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_10'Address);
     end Rcheck_10;
  
!    procedure Rcheck_11 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_11'Address);
     end Rcheck_11;
  
!    procedure Rcheck_12 (File : System.Address; Line : Integer) is
     begin
!       Raise_Constraint_Error_Msg (File, Line, Rmsg_12'Address);
     end Rcheck_12;
  
!    procedure Rcheck_13 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_13'Address);
     end Rcheck_13;
  
!    procedure Rcheck_14 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_14'Address);
     end Rcheck_14;
  
!    procedure Rcheck_15 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_15'Address);
     end Rcheck_15;
  
!    procedure Rcheck_16 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_16'Address);
     end Rcheck_16;
  
!    procedure Rcheck_17 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_17'Address);
     end Rcheck_17;
  
!    procedure Rcheck_18 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_18'Address);
     end Rcheck_18;
  
!    procedure Rcheck_19 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_19'Address);
     end Rcheck_19;
  
!    procedure Rcheck_20 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_20'Address);
     end Rcheck_20;
  
!    procedure Rcheck_21 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_21'Address);
     end Rcheck_21;
  
!    procedure Rcheck_22 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_22'Address);
     end Rcheck_22;
  
!    procedure Rcheck_23 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_23'Address);
     end Rcheck_23;
  
!    procedure Rcheck_24 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_24'Address);
     end Rcheck_24;
  
!    procedure Rcheck_25 (File : System.Address; Line : Integer) is
     begin
!       Raise_Program_Error_Msg (File, Line, Rmsg_25'Address);
     end Rcheck_25;
  
!    procedure Rcheck_26 (File : System.Address; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, Rmsg_26'Address);
     end Rcheck_26;
  
!    procedure Rcheck_27 (File : System.Address; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, Rmsg_27'Address);
     end Rcheck_27;
  
!    procedure Rcheck_28 (File : System.Address; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, Rmsg_28'Address);
     end Rcheck_28;
  
!    procedure Rcheck_29 (File : System.Address; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, Rmsg_29'Address);
     end Rcheck_29;
  
!    procedure Rcheck_30 (File : System.Address; Line : Integer) is
     begin
!       Raise_Storage_Error_Msg (File, Line, Rmsg_30'Address);
     end Rcheck_30;
  
     -------------
*************** package body Ada.Exceptions is
*** 1259,1289 ****
        Save_Occurrence_No_Private (Target, Source);
     end Save_Occurrence;
  
!    function Save_Occurrence
!      (Source : Exception_Occurrence)
!       return   EOA
!    is
!       Target : EOA := new Exception_Occurrence;
! 
     begin
        Save_Occurrence (Target.all, Source);
        return Target;
     end Save_Occurrence;
  
     --------------------------------
-    -- Save_Occurrence_And_Private --
-    --------------------------------
- 
-    procedure Save_Occurrence_And_Private
-      (Target : out Exception_Occurrence;
-       Source : Exception_Occurrence)
-    is
-    begin
-       Save_Occurrence_No_Private (Target, Source);
-       Target.Private_Data := Source.Private_Data;
-    end Save_Occurrence_And_Private;
- 
-    --------------------------------
     -- Save_Occurrence_No_Private --
     --------------------------------
  
--- 1186,1199 ----
        Save_Occurrence_No_Private (Target, Source);
     end Save_Occurrence;
  
!    function Save_Occurrence (Source : Exception_Occurrence) return EOA is
!       Target : constant EOA := new Exception_Occurrence;
     begin
        Save_Occurrence (Target.all, Source);
        return Target;
     end Save_Occurrence;
  
     --------------------------------
     -- Save_Occurrence_No_Private --
     --------------------------------
  
*************** package body Ada.Exceptions is
*** 1349,1356 ****
     begin
        Exception_Data.Set_Exception_Msg (E, Message);
  
!       --  DO NOT CALL Abort_Defer.all; !!!!
!       --  why not??? would be nice to have more comments here
  
        Raise_Current_Excep (E);
     end Raise_Exception_No_Defer;
--- 1259,1265 ----
     begin
        Exception_Data.Set_Exception_Msg (E, Message);
  
!       --  Do not call Abort_Defer.all, as specified by the spec
  
        Raise_Current_Excep (E);
     end Raise_Exception_No_Defer;
*************** package body Ada.Exceptions is
*** 1379,1406 ****
        end loop;
     end To_Stderr;
  
!    ---------
!    -- ZZZ --
!    ---------
  
!    --  This dummy procedure gives us the end of the PC range for addresses
     --  within the exception unit itself. We hope that gigi/gcc keeps all the
     --  procedures in their original order!
  
!    procedure ZZZ is
     begin
        <<Start_Of_ZZZ>>
!       Code_Address_For_ZZZ := Start_Of_ZZZ'Address;
!    end ZZZ;
! 
! begin
!    --  Allocate the Non-Tasking Machine_State
! 
!    Set_Machine_State_Addr_NT (System.Address (Allocate_Machine_State));
! 
!    --  Call the AAA/ZZZ routines to setup the code addresses for the
!    --  bounds of this unit.
  
-    AAA;
-    ZZZ;
  end Ada.Exceptions;
--- 1288,1305 ----
        end loop;
     end To_Stderr;
  
!    --------------------------
!    -- Code_Address_For_ZZZ --
!    --------------------------
  
!    --  This function gives us the end of the PC range for addresses
     --  within the exception unit itself. We hope that gigi/gcc keeps all the
     --  procedures in their original order!
  
!    function Code_Address_For_ZZZ return System.Address is
     begin
        <<Start_Of_ZZZ>>
!       return Start_Of_ZZZ'Address;
!    end Code_Address_For_ZZZ;
  
  end Ada.Exceptions;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-except.ads gcc-4.1.0/gcc/ada/a-except.ads
*** gcc-4.0.2/gcc/ada/a-except.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-except.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** pragma Polling (Off);
*** 40,49 ****
--- 40,56 ----
  --  elaboration circularities with ourself.
  
  with System;
+ with System.Parameters;
  with System.Standard_Library;
  with System.Traceback_Entries;
  
  package Ada.Exceptions is
+    pragma Warnings (Off);
+    pragma Preelaborate_05;
+    pragma Warnings (On);
+    --  In accordance with Ada 2005 AI-362. The warnings pragmas are so that we
+    --  can compile this using older compiler versions, which will ignore the
+    --  pragma, which is fine for the bootstrap.
  
     type Exception_Id is private;
     Null_Id : constant Exception_Id;
*************** package Ada.Exceptions is
*** 103,122 ****
  
  private
     package SSL renames System.Standard_Library;
  
     subtype EOA is Exception_Occurrence_Access;
  
!    Exception_Msg_Max_Length : constant := 200;
  
     ------------------
     -- Exception_Id --
     ------------------
  
     subtype Code_Loc is System.Address;
!    --  Code location used in building exception tables and for call
!    --  addresses when propagating an exception.
!    --  Values of this type are created by using Label'Address or
!    --  extracted from machine states using Get_Code_Loc.
  
     Null_Loc : constant Code_Loc := System.Null_Address;
     --  Null code location, used to flag outer level frame
--- 110,129 ----
  
  private
     package SSL renames System.Standard_Library;
+    package SP renames System.Parameters;
  
     subtype EOA is Exception_Occurrence_Access;
  
!    Exception_Msg_Max_Length : constant := SP.Default_Exception_Msg_Max_Length;
  
     ------------------
     -- Exception_Id --
     ------------------
  
     subtype Code_Loc is System.Address;
!    --  Code location used in building exception tables and for call addresses
!    --  when propagating an exception. Values of this type are created by using
!    --  Label'Address or extracted from machine states using Get_Code_Loc.
  
     Null_Loc : constant Code_Loc := System.Null_Address;
     --  Null code location, used to flag outer level frame
*************** private
*** 147,158 ****
     --  to be in the visible part, since this is set by the reference manual).
  
     function Exception_Name_Simple (X : Exception_Occurrence) return String;
!    --  Like Exception_Name, but returns the simple non-qualified name of
!    --  the exception. This is used to implement the Exception_Name function
!    --  in Current_Exceptions (the DEC compatible unit). It is called from
!    --  the compiler generated code (using Rtsfind, which does not respect
!    --  the private barrier, so we can place this function in the private
!    --  part where the compiler can find it, but the spec is unchanged.)
  
     procedure Raise_Exception_Always (E : Exception_Id; Message : String := "");
     pragma No_Return (Raise_Exception_Always);
--- 154,165 ----
     --  to be in the visible part, since this is set by the reference manual).
  
     function Exception_Name_Simple (X : Exception_Occurrence) return String;
!    --  Like Exception_Name, but returns the simple non-qualified name of the
!    --  exception. This is used to implement the Exception_Name function in
!    --  Current_Exceptions (the DEC compatible unit). It is called from the
!    --  compiler generated code (using Rtsfind, which does not respect the
!    --  private barrier, so we can place this function in the private part
!    --  where the compiler can find it, but the spec is unchanged.)
  
     procedure Raise_Exception_Always (E : Exception_Id; Message : String := "");
     pragma No_Return (Raise_Exception_Always);
*************** private
*** 165,186 ****
  
     procedure Raise_From_Signal_Handler
       (E : Exception_Id;
!       M : SSL.Big_String_Ptr);
     pragma Export
       (Ada, Raise_From_Signal_Handler,
             "ada__exceptions__raise_from_signal_handler");
     pragma No_Return (Raise_From_Signal_Handler);
!    --  This routine is used to raise an exception from a signal handler.
!    --  The signal handler has already stored the machine state (i.e. the
!    --  state that corresponds to the location at which the signal was
!    --  raised). E is the Exception_Id specifying what exception is being
!    --  raised, and M is a pointer to a null-terminated string which is the
!    --  message to be raised. Note that this routine never returns, so it is
!    --  permissible to simply jump to this routine, rather than call it. This
!    --  may be appropriate for systems where the right way to get out of a
!    --  signal handler is to alter the PC value in the machine state or in
!    --  some other way ask the operating system to return here rather than
!    --  to the original location.
  
     procedure Reraise_Occurrence_Always (X : Exception_Occurrence);
     pragma No_Return (Reraise_Occurrence_Always);
--- 172,192 ----
  
     procedure Raise_From_Signal_Handler
       (E : Exception_Id;
!       M : System.Address);
     pragma Export
       (Ada, Raise_From_Signal_Handler,
             "ada__exceptions__raise_from_signal_handler");
     pragma No_Return (Raise_From_Signal_Handler);
!    --  This routine is used to raise an exception from a signal handler. The
!    --  signal handler has already stored the machine state (i.e. the state that
!    --  corresponds to the location at which the signal was raised). E is the
!    --  Exception_Id specifying what exception is being raised, and M is a
!    --  pointer to a null-terminated string which is the message to be raised.
!    --  Note that this routine never returns, so it is permissible to simply
!    --  jump to this routine, rather than call it. This may be appropriate for
!    --  systems where the right way to get out of signal handler is to alter the
!    --  PC value in the machine state or in some other way ask the operating
!    --  system to return here rather than to the original location.
  
     procedure Reraise_Occurrence_Always (X : Exception_Occurrence);
     pragma No_Return (Reraise_Occurrence_Always);
*************** private
*** 193,200 ****
     pragma No_Return (Reraise_Occurrence_No_Defer);
     --  Exactly like Reraise_Occurrence, except that abort is not deferred
     --  before the call and the parameter X is known not to be the null
!    --  occurrence. This is used in generated code when it is known
!    --  that abort is already deferred.
  
     -----------------------
     -- Polling Interface --
--- 199,206 ----
     pragma No_Return (Reraise_Occurrence_No_Defer);
     --  Exactly like Reraise_Occurrence, except that abort is not deferred
     --  before the call and the parameter X is known not to be the null
!    --  occurrence. This is used in generated code when it is known that
!    --  abort is already deferred.
  
     -----------------------
     -- Polling Interface --
*************** private
*** 246,252 ****
        Msg : String (1 .. Exception_Msg_Max_Length);
        --  Characters of message
  
!       Cleanup_Flag : Boolean;
        --  The cleanup flag is normally False, it is set True for an exception
        --  occurrence passed to a cleanup routine, and will still be set True
        --  when the cleanup routine does a Reraise_Occurrence call using this
--- 252,258 ----
        Msg : String (1 .. Exception_Msg_Max_Length);
        --  Characters of message
  
!       Cleanup_Flag : Boolean := False;
        --  The cleanup flag is normally False, it is set True for an exception
        --  occurrence passed to a cleanup routine, and will still be set True
        --  when the cleanup routine does a Reraise_Occurrence call using this
*************** private
*** 262,268 ****
        --  it is dealing with the reraise case (which is useful to distinguish
        --  for exception tracing purposes).
  
!       Pid : Natural;
        --  Partition_Id for partition raising exception
  
        Num_Tracebacks : Natural range 0 .. Max_Tracebacks := 0;
--- 268,274 ----
        --  it is dealing with the reraise case (which is useful to distinguish
        --  for exception tracing purposes).
  
!       Pid : Natural := 0;
        --  Partition_Id for partition raising exception
  
        Num_Tracebacks : Natural range 0 .. Max_Tracebacks := 0;
*************** private
*** 289,295 ****
     --  Functions for implementing Exception_Occurrence stream attributes
  
     Null_Occurrence : constant Exception_Occurrence := (
!      Id               => Null_Id,
       Msg_Length       => 0,
       Msg              => (others => ' '),
       Cleanup_Flag     => False,
--- 295,301 ----
     --  Functions for implementing Exception_Occurrence stream attributes
  
     Null_Occurrence : constant Exception_Occurrence := (
!      Id               => null,
       Msg_Length       => 0,
       Msg              => (others => ' '),
       Cleanup_Flag     => False,
diff -Nrcpad gcc-4.0.2/gcc/ada/a-excpol-abort.adb gcc-4.1.0/gcc/ada/a-excpol-abort.adb
*** gcc-4.0.2/gcc/ada/a-excpol-abort.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-excpol-abort.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --                (version supporting asynchronous abort test)              --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2000, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --                (version supporting asynchronous abort test)              --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 39,47 ****
--- 39,54 ----
  
  --  NT, OS/2, HPUX/DCE and SCO currently use this file
  
+ pragma Warnings (Off);
+ --  Allow withing of non-Preelaborated units in Ada 2005 mode where this
+ --  package will be categorized as Preelaborate. See AI-362 for details.
+ --  It is safe in the context of the run-time to violate the rules!
+ 
  with System.Soft_Links;
  --  used for Check_Abort_Status
  
+ pragma Warnings (On);
+ 
  separate (Ada.Exceptions)
  
  ----------
diff -Nrcpad gcc-4.0.2/gcc/ada/a-excpol-interix.adb gcc-4.1.0/gcc/ada/a-excpol-interix.adb
*** gcc-4.0.2/gcc/ada/a-excpol-interix.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-excpol-interix.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --       (version supporting asynchronous abort test and time slicing)      --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2000, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --       (version supporting asynchronous abort test and time slicing)      --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,48 ****
  --  Then in the body of the polling routine we test for asynchronous abort and
  --  yield periodically.
  
! --  HP-UX and SCO currently use this file
  
  with System.Soft_Links;
  --  used for Check_Abort_Status
  
  separate (Ada.Exceptions)
  
  ----------
--- 38,55 ----
  --  Then in the body of the polling routine we test for asynchronous abort and
  --  yield periodically.
  
! --  This is currently used only by Interix
! 
! pragma Warnings (Off);
! --  Allow withing of non-Preelaborated units in Ada 2005 mode where this
! --  package will be categorized as Preelaborate. See AI-362 for details.
! --  It is safe in the context of the run-time to violate the rules!
  
  with System.Soft_Links;
  --  used for Check_Abort_Status
  
+ pragma Warnings (On);
+ 
  separate (Ada.Exceptions)
  
  ----------
diff -Nrcpad gcc-4.0.2/gcc/ada/a-excpol.adb gcc-4.1.0/gcc/ada/a-excpol.adb
*** gcc-4.0.2/gcc/ada/a-excpol.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-excpol.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                 (dummy version where polling is not used)                --
  --                                                                          --
! --          Copyright (C) 1992-1998, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . E X C E P T I O N S . P O L L                  --
  --                                                                          --
  --                                  B o d y                                 --
  --                 (dummy version where polling is not used)                --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exctra.adb gcc-4.1.0/gcc/ada/a-exctra.adb
*** gcc-4.0.2/gcc/ada/a-exctra.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-exctra.adb	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exctra.ads gcc-4.1.0/gcc/ada/a-exctra.ads
*** gcc-4.0.2/gcc/ada/a-exctra.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-exctra.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1999-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1999-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package is part of the support for tracebacks on exceptions.
  
  with System.Traceback_Entries;
  
--- 35,41 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package is part of the support for tracebacks on exceptions
  
  with System.Traceback_Entries;
  
*************** package Ada.Exceptions.Traceback is
*** 47,53 ****
     --  Code location in executing program
  
     type Tracebacks_Array is array (Positive range <>) of TBE.Traceback_Entry;
!    --  A traceback array is an array of traceback entries.
  
     function Tracebacks (E : Exception_Occurrence) return Tracebacks_Array;
     --  This function extracts the traceback information from an exception
--- 47,53 ----
     --  Code location in executing program
  
     type Tracebacks_Array is array (Positive range <>) of TBE.Traceback_Entry;
!    --  A traceback array is an array of traceback entries
  
     function Tracebacks (E : Exception_Occurrence) return Tracebacks_Array;
     --  This function extracts the traceback information from an exception
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exexda.adb gcc-4.1.0/gcc/ada/a-exexda.adb
*** gcc-4.0.2/gcc/ada/a-exexda.adb	Tue Jul 20 10:26:51 2004
--- gcc-4.1.0/gcc/ada/a-exexda.adb	Tue Nov 15 13:51:09 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Exception_Data is
*** 152,158 ****
        Info : in out String;
        Ptr  : in out Natural);
  
- 
     --  The "functional" interface to the exception information not involving
     --  a traceback decorator uses preallocated intermediate buffers to avoid
     --  the use of secondary stack. Preallocation requires preliminary length
--- 152,157 ----
*************** package body Exception_Data is
*** 387,393 ****
        Ptr  : in out Natural)
     is
     begin
!       if X.Num_Tracebacks <= 0 then
           return;
        end if;
  
--- 386,392 ----
        Ptr  : in out Natural)
     is
     begin
!       if X.Num_Tracebacks = 0 then
           return;
        end if;
  
*************** package body Exception_Data is
*** 477,483 ****
  
        declare
           Len  : constant Natural := Exception_Name_Length (Id);
!          Name : constant String (1 .. Len) := Id.Full_Name (1 .. Len);
        begin
           Append_Info_String (Name, Info, Ptr);
        end;
--- 476,482 ----
  
        declare
           Len  : constant Natural := Exception_Name_Length (Id);
!          Name : constant String (1 .. Len) := To_Ptr (Id.Full_Name) (1 .. Len);
        begin
           Append_Info_String (Name, Info, Ptr);
        end;
*************** package body Exception_Data is
*** 557,565 ****
  
     procedure Set_Exception_C_Msg
       (Id   : Exception_Id;
!       Msg1 : Big_String_Ptr;
        Line : Integer        := 0;
!       Msg2 : Big_String_Ptr := null)
     is
        Excep  : constant EOA := Get_Current_Excep.all;
        Val    : Integer := Line;
--- 556,564 ----
  
     procedure Set_Exception_C_Msg
       (Id   : Exception_Id;
!       Msg1 : System.Address;
        Line : Integer        := 0;
!       Msg2 : System.Address := System.Null_Address)
     is
        Excep  : constant EOA := Get_Current_Excep.all;
        Val    : Integer := Line;
*************** package body Exception_Data is
*** 576,586 ****
        Excep.Msg_Length       := 0;
        Excep.Cleanup_Flag     := False;
  
!       while Msg1 (Excep.Msg_Length + 1) /= ASCII.NUL
          and then Excep.Msg_Length < Exception_Msg_Max_Length
        loop
           Excep.Msg_Length := Excep.Msg_Length + 1;
!          Excep.Msg (Excep.Msg_Length) := Msg1 (Excep.Msg_Length);
        end loop;
  
        --  Append line number if present
--- 575,585 ----
        Excep.Msg_Length       := 0;
        Excep.Cleanup_Flag     := False;
  
!       while To_Ptr (Msg1) (Excep.Msg_Length + 1) /= ASCII.NUL
          and then Excep.Msg_Length < Exception_Msg_Max_Length
        loop
           Excep.Msg_Length := Excep.Msg_Length + 1;
!          Excep.Msg (Excep.Msg_Length) := To_Ptr (Msg1) (Excep.Msg_Length);
        end loop;
  
        --  Append line number if present
*************** package body Exception_Data is
*** 614,631 ****
  
        --  Append second message if present
  
!       if Msg2 /= null
          and then Excep.Msg_Length + 1 < Exception_Msg_Max_Length
        then
           Excep.Msg_Length := Excep.Msg_Length + 1;
           Excep.Msg (Excep.Msg_Length) := ' ';
  
           Ptr := 1;
!          while Msg2 (Ptr) /= ASCII.NUL
             and then Excep.Msg_Length < Exception_Msg_Max_Length
           loop
              Excep.Msg_Length := Excep.Msg_Length + 1;
!             Excep.Msg (Excep.Msg_Length) := Msg2 (Ptr);
              Ptr := Ptr + 1;
           end loop;
        end if;
--- 613,630 ----
  
        --  Append second message if present
  
!       if Msg2 /= System.Null_Address
          and then Excep.Msg_Length + 1 < Exception_Msg_Max_Length
        then
           Excep.Msg_Length := Excep.Msg_Length + 1;
           Excep.Msg (Excep.Msg_Length) := ' ';
  
           Ptr := 1;
!          while To_Ptr (Msg2) (Ptr) /= ASCII.NUL
             and then Excep.Msg_Length < Exception_Msg_Max_Length
           loop
              Excep.Msg_Length := Excep.Msg_Length + 1;
!             Excep.Msg (Excep.Msg_Length) := To_Ptr (Msg2) (Ptr);
              Ptr := Ptr + 1;
           end loop;
        end if;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exexpr-gcc.adb gcc-4.1.0/gcc/ada/a-exexpr-gcc.adb
*** gcc-4.0.2/gcc/ada/a-exexpr-gcc.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-exexpr-gcc.adb	Tue Nov 15 13:52:55 2005
***************
*** 0 ****
--- 1,726 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --  A D A . E X C E P T I O N S . E X C E P T I O N _ P R O P A G A T I O N --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  This is the version using the GCC EH mechanism
+ 
+ with Ada.Unchecked_Conversion;
+ with Ada.Unchecked_Deallocation;
+ 
+ with System.Storage_Elements;  use System.Storage_Elements;
+ 
+ separate (Ada.Exceptions)
+ package body Exception_Propagation is
+ 
+    ------------------------------------------------
+    -- Entities to interface with the GCC runtime --
+    ------------------------------------------------
+ 
+    --  These come from "C++ ABI for Itanium: Exception handling", which is
+    --  the reference for GCC. They are used only when we are relying on
+    --  back-end tables for exception propagation, which in turn is currenly
+    --  only the case for Zero_Cost_Exceptions in GNAT5.
+ 
+    --  Return codes from the GCC runtime functions used to propagate
+    --  an exception.
+ 
+    type Unwind_Reason_Code is
+      (URC_NO_REASON,
+       URC_FOREIGN_EXCEPTION_CAUGHT,
+       URC_PHASE2_ERROR,
+       URC_PHASE1_ERROR,
+       URC_NORMAL_STOP,
+       URC_END_OF_STACK,
+       URC_HANDLER_FOUND,
+       URC_INSTALL_CONTEXT,
+       URC_CONTINUE_UNWIND);
+ 
+    pragma Unreferenced
+      (URC_FOREIGN_EXCEPTION_CAUGHT,
+       URC_PHASE2_ERROR,
+       URC_PHASE1_ERROR,
+       URC_NORMAL_STOP,
+       URC_END_OF_STACK,
+       URC_HANDLER_FOUND,
+       URC_INSTALL_CONTEXT,
+       URC_CONTINUE_UNWIND);
+ 
+    pragma Convention (C, Unwind_Reason_Code);
+ 
+    --  Phase identifiers
+ 
+    type Unwind_Action is
+      (UA_SEARCH_PHASE,
+       UA_CLEANUP_PHASE,
+       UA_HANDLER_FRAME,
+       UA_FORCE_UNWIND);
+ 
+    for Unwind_Action use
+       (UA_SEARCH_PHASE  => 1,
+        UA_CLEANUP_PHASE => 2,
+        UA_HANDLER_FRAME => 4,
+        UA_FORCE_UNWIND  => 8);
+ 
+    pragma Convention (C, Unwind_Action);
+ 
+    --  Mandatory common header for any exception object handled by the
+    --  GCC unwinding runtime.
+ 
+    type Exception_Class is mod 2 ** 64;
+ 
+    GNAT_Exception_Class : constant Exception_Class := 16#474e552d41646100#;
+    --  "GNU-Ada\0"
+ 
+    type Unwind_Word is mod 2 ** System.Word_Size;
+    for Unwind_Word'Size use System.Word_Size;
+    --  Map the corresponding C type used in Unwind_Exception below
+ 
+    type Unwind_Exception is record
+       Class    : Exception_Class := GNAT_Exception_Class;
+       Cleanup  : System.Address  := System.Null_Address;
+       Private1 : Unwind_Word;
+       Private2 : Unwind_Word;
+    end record;
+    --  Map the GCC struct used for exception handling
+ 
+    for Unwind_Exception'Alignment use Standard'Maximum_Alignment;
+    --  The C++ ABI mandates the common exception header to be at least
+    --  doubleword aligned, and the libGCC implementation actually makes it
+    --  maximally aligned (see unwind.h). See additional comments on the
+    --  alignment below.
+ 
+    --------------------------------------------------------------
+    -- GNAT Specific Entities To Deal With The GCC EH Circuitry --
+    --------------------------------------------------------------
+ 
+    --  A GNAT exception object to be dealt with by the personality routine
+    --  called by the GCC unwinding runtime.
+ 
+    type GNAT_GCC_Exception is record
+       Header : Unwind_Exception;
+       --  ABI Exception header first
+ 
+       Id : Exception_Id;
+       --  GNAT Exception identifier.  This is filled by Propagate_Exception
+       --  and then used by the personality routine to determine if the context
+       --  it examines contains a handler for the exception beeing propagated.
+ 
+       N_Cleanups_To_Trigger : Integer;
+       --  Number of cleanup only frames encountered in SEARCH phase.  This is
+       --  initialized to 0 by Propagate_Exception and maintained by the
+       --  personality routine to control a forced unwinding phase triggering
+       --  all the cleanups before calling Unhandled_Exception_Terminate when
+       --  an exception is not handled.
+ 
+       Next_Exception : EOA;
+       --  Used to create a linked list of exception occurrences
+    end record;
+ 
+    pragma Convention (C, GNAT_GCC_Exception);
+ 
+    --  There is a subtle issue with the common header alignment, since the C
+    --  version is aligned on BIGGEST_ALIGNMENT, the Ada version is aligned on
+    --  Standard'Maximum_Alignment, and those two values don't quite represent
+    --  the same concepts and so may be decoupled someday. One typical reason
+    --  is that BIGGEST_ALIGNMENT may be larger than what the underlying system
+    --  allocator guarantees, and there are extra costs involved in allocating
+    --  objects aligned to such factors.
+ 
+    --  To deal with the potential alignment differences between the C and Ada
+    --  representations, the Ada part of the whole structure is only accessed
+    --  by the personality routine through the accessors declared below.  Ada
+    --  specific fields are thus always accessed through consistent layout, and
+    --  we expect the actual alignment to always be large enough to avoid traps
+    --  from the C accesses to the common header. Besides, accessors aleviate
+    --  the need for a C struct whole conterpart, both painful and errorprone
+    --  to maintain anyway.
+ 
+    type GNAT_GCC_Exception_Access is access all GNAT_GCC_Exception;
+ 
+    function To_GNAT_GCC_Exception is new
+      Unchecked_Conversion (System.Address, GNAT_GCC_Exception_Access);
+ 
+    procedure Free is new Unchecked_Deallocation
+      (GNAT_GCC_Exception, GNAT_GCC_Exception_Access);
+ 
+    procedure Free is new Unchecked_Deallocation
+      (Exception_Occurrence, EOA);
+ 
+    function CleanupUnwind_Handler
+      (UW_Version   : Integer;
+       UW_Phases    : Unwind_Action;
+       UW_Eclass    : Exception_Class;
+       UW_Exception : access GNAT_GCC_Exception;
+       UW_Context   : System.Address;
+       UW_Argument  : System.Address) return Unwind_Reason_Code;
+    --  Hook called at each step of the forced unwinding we perform to
+    --  trigger cleanups found during the propagation of an unhandled
+    --  exception.
+ 
+    --  GCC runtime functions used. These are C non-void functions, actually,
+    --  but we ignore the return values. See raise.c as to why we are using
+    --  __gnat stubs for these.
+ 
+    procedure Unwind_RaiseException
+      (UW_Exception : access GNAT_GCC_Exception);
+    pragma Import (C, Unwind_RaiseException, "__gnat_Unwind_RaiseException");
+ 
+    procedure Unwind_ForcedUnwind
+      (UW_Exception : access GNAT_GCC_Exception;
+       UW_Handler   : System.Address;
+       UW_Argument  : System.Address);
+    pragma Import (C, Unwind_ForcedUnwind, "__gnat_Unwind_ForcedUnwind");
+ 
+    ------------------------------------------------------------------
+    -- Occurrence Stack Management Facilities for the GCC-EH Scheme --
+    ------------------------------------------------------------------
+ 
+    function Remove
+      (Top   : EOA;
+       Excep : GNAT_GCC_Exception_Access) return Boolean;
+    --  Remove Excep from the stack starting at Top.
+    --  Return True if Excep was found and removed, false otherwise.
+ 
+    --  Hooks called when entering/leaving an exception handler for a given
+    --  occurrence, aimed at handling the stack of active occurrences. The
+    --  calls are generated by gigi in tree_transform/N_Exception_Handler.
+ 
+    procedure Begin_Handler (GCC_Exception : GNAT_GCC_Exception_Access);
+    pragma Export (C, Begin_Handler, "__gnat_begin_handler");
+ 
+    procedure End_Handler (GCC_Exception : GNAT_GCC_Exception_Access);
+    pragma Export (C, End_Handler, "__gnat_end_handler");
+ 
+    Setup_Key : constant := 16#DEAD#;
+    --  To handle the case of a task "transferring" an exception occurrence to
+    --  another task, for instance via Exceptional_Complete_Rendezvous, we need
+    --  to be able to identify occurrences which have been Setup and not yet
+    --  Propagated. We hijack one of the common header fields for that purpose,
+    --  setting it to a special key value during the setup process, clearing it
+    --  at the very beginning of the propagation phase, and expecting it never
+    --  to be reset to the special value later on. A 16-bit value is used rather
+    --  than a 32-bit value for static compatibility with 16-bit targets such as
+    --  AAMP (where type Unwind_Word will be 16 bits).
+ 
+    function Is_Setup_And_Not_Propagated (E : EOA) return Boolean;
+ 
+    procedure Set_Setup_And_Not_Propagated (E : EOA);
+    procedure Clear_Setup_And_Not_Propagated (E : EOA);
+ 
+    procedure Save_Occurrence_And_Private
+      (Target : out Exception_Occurrence;
+       Source : Exception_Occurrence);
+    --  Copy all the components of Source to Target as well as the
+    --  Private_Data pointer.
+ 
+    ------------------------------------------------------------
+    -- Accessors to basic components of a GNAT exception data --
+    ------------------------------------------------------------
+ 
+    --  As of today, these are only used by the C implementation of the
+    --  GCC propagation personality routine to avoid having to rely on a C
+    --  counterpart of the whole exception_data structure, which is both
+    --  painful and error prone. These subprograms could be moved to a
+    --  more widely visible location if need be.
+ 
+    function Is_Handled_By_Others (E : Exception_Data_Ptr) return Boolean;
+    pragma Export (C, Is_Handled_By_Others, "__gnat_is_handled_by_others");
+ 
+    function Language_For (E : Exception_Data_Ptr) return Character;
+    pragma Export (C, Language_For, "__gnat_language_for");
+ 
+    function Import_Code_For (E : Exception_Data_Ptr) return Exception_Code;
+    pragma Export (C, Import_Code_For, "__gnat_import_code_for");
+ 
+    function EID_For (GNAT_Exception : GNAT_GCC_Exception_Access)
+      return Exception_Id;
+    pragma Export (C, EID_For, "__gnat_eid_for");
+ 
+    procedure Adjust_N_Cleanups_For
+      (GNAT_Exception : GNAT_GCC_Exception_Access;
+       Adjustment     : Integer);
+    pragma Export (C, Adjust_N_Cleanups_For, "__gnat_adjust_n_cleanups_for");
+ 
+    ---------------------------------------------------------------------------
+    -- Objects to materialize "others" and "all others" in the GCC EH tables --
+    ---------------------------------------------------------------------------
+ 
+    --  Currently, these only have their address taken and compared so there is
+    --  no real point having whole exception data blocks allocated. In any case
+    --  the types should match what gigi and the personality routine expect.
+    --  The initial value is an arbitrary value that will not exceed the range
+    --  of Integer on 16-bit targets (such as AAMP).
+ 
+    Others_Value : constant Integer := 16#7FFF#;
+    pragma Export (C, Others_Value, "__gnat_others_value");
+ 
+    All_Others_Value : constant Integer := 16#7FFF#;
+    pragma Export (C, All_Others_Value, "__gnat_all_others_value");
+ 
+    ------------
+    -- Remove --
+    ------------
+ 
+    function Remove
+      (Top   : EOA;
+       Excep : GNAT_GCC_Exception_Access) return Boolean
+    is
+       Prev          : GNAT_GCC_Exception_Access := null;
+       Iter          : EOA := Top;
+       GCC_Exception : GNAT_GCC_Exception_Access;
+ 
+    begin
+       --  Pop stack
+ 
+       loop
+          pragma Assert (Iter.Private_Data /= System.Null_Address);
+ 
+          GCC_Exception := To_GNAT_GCC_Exception (Iter.Private_Data);
+ 
+          if GCC_Exception = Excep then
+             if Prev = null then
+ 
+                --  Special case for the top of the stack: shift the contents
+                --  of the next item to the top, since top is at a fixed
+                --  location and can't be changed.
+ 
+                Iter := GCC_Exception.Next_Exception;
+ 
+                if Iter = null then
+ 
+                   --  Stack is now empty
+ 
+                   Top.Private_Data := System.Null_Address;
+ 
+                else
+                   Save_Occurrence_And_Private (Top.all, Iter.all);
+                   Free (Iter);
+                end if;
+ 
+             else
+                Prev.Next_Exception := GCC_Exception.Next_Exception;
+                Free (Iter);
+             end if;
+ 
+             Free (GCC_Exception);
+ 
+             return True;
+          end if;
+ 
+          exit when GCC_Exception.Next_Exception = null;
+ 
+          Prev := GCC_Exception;
+          Iter := GCC_Exception.Next_Exception;
+       end loop;
+ 
+       return False;
+    end Remove;
+ 
+    ---------------------------
+    -- CleanupUnwind_Handler --
+    ---------------------------
+ 
+    function CleanupUnwind_Handler
+      (UW_Version   : Integer;
+       UW_Phases    : Unwind_Action;
+       UW_Eclass    : Exception_Class;
+       UW_Exception : access GNAT_GCC_Exception;
+       UW_Context   : System.Address;
+       UW_Argument  : System.Address) return Unwind_Reason_Code
+    is
+       pragma Unreferenced
+         (UW_Version, UW_Phases, UW_Eclass, UW_Context, UW_Argument);
+ 
+    begin
+       --  Terminate as soon as we know there is nothing more to run. The
+       --  count is maintained by the personality routine.
+ 
+       if UW_Exception.N_Cleanups_To_Trigger = 0 then
+          Unhandled_Exception_Terminate;
+       end if;
+ 
+       --  We know there is at least one cleanup further up. Return so that it
+       --  is searched and entered, after which Unwind_Resume will be called
+       --  and this hook will gain control (with an updated count) again.
+ 
+       return URC_NO_REASON;
+    end CleanupUnwind_Handler;
+ 
+    ---------------------------------
+    -- Is_Setup_And_Not_Propagated --
+    ---------------------------------
+ 
+    function Is_Setup_And_Not_Propagated (E : EOA) return Boolean is
+       GCC_E : constant GNAT_GCC_Exception_Access :=
+                 To_GNAT_GCC_Exception (E.Private_Data);
+    begin
+       return GCC_E /= null and then GCC_E.Header.Private1 = Setup_Key;
+    end Is_Setup_And_Not_Propagated;
+ 
+    ------------------------------------
+    -- Clear_Setup_And_Not_Propagated --
+    ------------------------------------
+ 
+    procedure Clear_Setup_And_Not_Propagated (E : EOA) is
+       GCC_E : constant GNAT_GCC_Exception_Access :=
+                 To_GNAT_GCC_Exception (E.Private_Data);
+    begin
+       pragma Assert (GCC_E /= null);
+       GCC_E.Header.Private1 := 0;
+    end Clear_Setup_And_Not_Propagated;
+ 
+    ----------------------------------
+    -- Set_Setup_And_Not_Propagated --
+    ----------------------------------
+ 
+    procedure Set_Setup_And_Not_Propagated (E : EOA) is
+       GCC_E : constant GNAT_GCC_Exception_Access :=
+                 To_GNAT_GCC_Exception (E.Private_Data);
+    begin
+       pragma Assert (GCC_E /= null);
+       GCC_E.Header.Private1 := Setup_Key;
+    end Set_Setup_And_Not_Propagated;
+ 
+    --------------------------------
+    -- Save_Occurrence_And_Private --
+    --------------------------------
+ 
+    procedure Save_Occurrence_And_Private
+      (Target : out Exception_Occurrence;
+       Source : Exception_Occurrence)
+    is
+    begin
+       Save_Occurrence_No_Private (Target, Source);
+       Target.Private_Data := Source.Private_Data;
+    end Save_Occurrence_And_Private;
+ 
+    ---------------------
+    -- Setup_Exception --
+    ---------------------
+ 
+    --  In the GCC-EH implementation of the propagation scheme, this
+    --  subprogram should be understood as: Setup the exception occurrence
+    --  stack headed at Current for a forthcoming raise of Excep.
+ 
+    procedure Setup_Exception
+      (Excep    : EOA;
+       Current  : EOA;
+       Reraised : Boolean := False)
+    is
+       Top           : constant EOA := Current;
+       Next          : EOA;
+       GCC_Exception : GNAT_GCC_Exception_Access;
+ 
+    begin
+       --  The exception Excep is soon to be propagated, and the
+       --  storage used for that will be the occurrence statically allocated
+       --  for the current thread. This storage might currently be used for a
+       --  still active occurrence, so we need to push it on the thread's
+       --  occurrence stack (headed at that static occurrence) before it gets
+       --  clobbered.
+ 
+       --  What we do here is to trigger this push when need be, and allocate a
+       --  Private_Data block for the forthcoming Propagation.
+ 
+       --  Some tasking rendez-vous attempts lead to an occurrence transfer
+       --  from the server to the client (see Exceptional_Complete_Rendezvous).
+       --  In those cases Setup is called twice for the very same occurrence
+       --  before it gets propagated: once from the server, because this is
+       --  where the occurrence contents is elaborated and known, and then
+       --  once from the client when it detects the case and actually raises
+       --  the exception in its own context.
+ 
+       --  The Is_Setup_And_Not_Propagated predicate tells us when we are in
+       --  the second call to Setup for a Transferred occurrence, and there is
+       --  nothing to be done here in this situation. This predicate cannot be
+       --  True if we are dealing with a Reraise, and we may even be called
+       --  with a raw uninitialized Excep occurrence in this case so we should
+       --  not check anyway. Observe the front-end expansion for a "raise;" to
+       --  see that happening. We get a local occurrence and a direct call to
+       --  Save_Occurrence without the intermediate init-proc call.
+ 
+       if not Reraised and then Is_Setup_And_Not_Propagated (Excep) then
+          return;
+       end if;
+ 
+       --  Allocate what will be the Private_Data block for the exception
+       --  to be propagated.
+ 
+       GCC_Exception := new GNAT_GCC_Exception;
+ 
+       --  If the Top of the occurrence stack is not currently used for an
+       --  active exception (the stack is empty) we just need to setup the
+       --  Private_Data pointer.
+ 
+       --  Otherwise, we also need to shift the contents of the Top of the
+       --  stack in a freshly allocated entry and link everything together.
+ 
+       if Top.Private_Data /= System.Null_Address then
+          Next := new Exception_Occurrence;
+          Save_Occurrence_And_Private (Next.all, Top.all);
+ 
+          GCC_Exception.Next_Exception := Next;
+          Top.Private_Data := GCC_Exception.all'Address;
+       end if;
+ 
+       Top.Private_Data := GCC_Exception.all'Address;
+ 
+       Set_Setup_And_Not_Propagated (Top);
+    end Setup_Exception;
+ 
+    -------------------
+    -- Begin_Handler --
+    -------------------
+ 
+    procedure Begin_Handler (GCC_Exception : GNAT_GCC_Exception_Access) is
+       pragma Unreferenced (GCC_Exception);
+ 
+    begin
+       --  Every necessary operation related to the occurrence stack has
+       --  already been performed by Propagate_Exception. This hook remains for
+       --  potential future necessity in optimizing the overall scheme, as well
+       --  a useful debugging tool.
+ 
+       null;
+    end Begin_Handler;
+ 
+    -----------------
+    -- End_Handler --
+    -----------------
+ 
+    procedure End_Handler (GCC_Exception : GNAT_GCC_Exception_Access) is
+       Removed : Boolean;
+    begin
+       Removed := Remove (Get_Current_Excep.all, GCC_Exception);
+       pragma Assert (Removed);
+    end End_Handler;
+ 
+    -------------------------
+    -- Propagate_Exception --
+    -------------------------
+ 
+    --  Build an object suitable for the libgcc processing and call
+    --  Unwind_RaiseException to actually throw, taking care of handling
+    --  the two phase scheme it implements.
+ 
+    procedure Propagate_Exception (From_Signal_Handler : Boolean) is
+       pragma Unreferenced (From_Signal_Handler);
+ 
+       Excep         : constant EOA := Get_Current_Excep.all;
+       GCC_Exception : GNAT_GCC_Exception_Access;
+ 
+    begin
+       pragma Assert (Excep.Private_Data /= System.Null_Address);
+ 
+       --  Retrieve the Private_Data for this occurrence and set the useful
+       --  flags for the personality routine, which will be called for each
+       --  frame via Unwind_RaiseException below.
+ 
+       GCC_Exception := To_GNAT_GCC_Exception (Excep.Private_Data);
+ 
+       Clear_Setup_And_Not_Propagated (Excep);
+ 
+       GCC_Exception.Id := Excep.Id;
+       GCC_Exception.N_Cleanups_To_Trigger := 0;
+ 
+       --  Compute the backtrace for this occurrence if the corresponding
+       --  binder option has been set. Call_Chain takes care of the reraise
+       --  case.
+ 
+       --  ??? Using Call_Chain here means we are going to walk up the stack
+       --  once only for backtracing purposes before doing it again for the
+       --  propagation per se.
+ 
+       --  The first inspection is much lighter, though, as it only requires
+       --  partial unwinding of each frame. Additionally, although we could use
+       --  the personality routine to record the addresses while propagating,
+       --  this method has two drawbacks:
+ 
+       --  1) the trace is incomplete if the exception is handled since we
+       --  don't walk past the frame with the handler,
+ 
+       --    and
+ 
+       --  2) we would miss the frames for which our personality routine is not
+       --  called, e.g. if C or C++ calls are on the way.
+ 
+       Call_Chain (Excep);
+ 
+       --  Perform a standard raise first. If a regular handler is found, it
+       --  will be entered after all the intermediate cleanups have run. If
+       --  there is no regular handler, control will get back to after the
+       --  call, with N_Cleanups_To_Trigger set to the number of frames with
+       --  cleanups found on the way up, and none of these already run.
+ 
+       Unwind_RaiseException (GCC_Exception);
+ 
+       --  If we get here we know the exception is not handled, as otherwise
+       --  Unwind_RaiseException arranges for the handler to be entered. Take
+       --  the necessary steps to enable the debugger to gain control while the
+       --  stack is still intact.
+ 
+       Notify_Unhandled_Exception;
+ 
+       --  Now, if cleanups have been found, run a forced unwind to trigger
+       --  them. Control should not resume there, as the unwinding hook calls
+       --  Unhandled_Exception_Terminate as soon as the last cleanup has been
+       --  triggered.
+ 
+       if GCC_Exception.N_Cleanups_To_Trigger /= 0 then
+          Unwind_ForcedUnwind (GCC_Exception,
+                               CleanupUnwind_Handler'Address,
+                               System.Null_Address);
+       end if;
+ 
+       --  We get here when there is no handler or cleanup to be run at all.
+       --  The debugger has been notified before the second step above.
+ 
+       Unhandled_Exception_Terminate;
+    end Propagate_Exception;
+ 
+    ---------------------------
+    -- Adjust_N_Cleanups_For --
+    ---------------------------
+ 
+    procedure Adjust_N_Cleanups_For
+      (GNAT_Exception : GNAT_GCC_Exception_Access;
+       Adjustment     : Integer)
+    is
+    begin
+       GNAT_Exception.N_Cleanups_To_Trigger :=
+         GNAT_Exception.N_Cleanups_To_Trigger + Adjustment;
+    end Adjust_N_Cleanups_For;
+ 
+    -------------
+    -- EID_For --
+    -------------
+ 
+    function EID_For
+      (GNAT_Exception : GNAT_GCC_Exception_Access) return Exception_Id
+    is
+    begin
+       return GNAT_Exception.Id;
+    end EID_For;
+ 
+    ---------------------
+    -- Import_Code_For --
+    ---------------------
+ 
+    function Import_Code_For
+      (E : SSL.Exception_Data_Ptr) return Exception_Code
+    is
+    begin
+       return E.all.Import_Code;
+    end Import_Code_For;
+ 
+    --------------------------
+    -- Is_Handled_By_Others --
+    --------------------------
+ 
+    function Is_Handled_By_Others (E : SSL.Exception_Data_Ptr) return Boolean is
+    begin
+       return not E.all.Not_Handled_By_Others;
+    end Is_Handled_By_Others;
+ 
+    ------------------
+    -- Language_For --
+    ------------------
+ 
+    function Language_For (E : SSL.Exception_Data_Ptr) return Character is
+    begin
+       return E.all.Lang;
+    end Language_For;
+ 
+    -----------
+    -- Notes --
+    -----------
+ 
+    --  The current model implemented for the stack of occurrences is a
+    --  simplification of previous attempts, which all prooved to be flawed or
+    --  would have needed significant additional circuitry to be made to work
+    --  correctly.
+ 
+    --  We now represent every propagation by a new entry on the stack, which
+    --  means that an exception occurrence may appear more than once (e.g. when
+    --  it is reraised during the course of its own handler).
+ 
+    --  This may seem overcostly compared to the C++ model as implemented in
+    --  the g++ v3 libstd. This is actually understandable when one considers
+    --  the extra variations of possible run-time configurations induced by the
+    --  freedom offered by the Save_Occurrence/Reraise_Occurrence public
+    --  interface.
+ 
+    --  The basic point is that arranging for an occurrence to always appear at
+    --  most once on the stack requires a way to determine if a given occurence
+    --  is already there, which is not as easy as it might seem.
+ 
+    --  An attempt was made to use the Private_Data pointer for this purpose.
+    --  It did not work because:
+ 
+    --  1) The Private_Data has to be saved by Save_Occurrence to be usable
+    --     as a key in case of a later reraise,
+ 
+    --  2) There is no easy way to synchronize End_Handler for an occurrence
+    --     and the data attached to potential copies, so these copies may end
+    --     up pointing to stale data. Moreover ...
+ 
+    --  3) The same address may be reused for different occurrences, which
+    --     defeats the idea of using it as a key.
+ 
+    --  The example below illustrates:
+ 
+    --  Saved_CE : Exception_Occurrence;
+ 
+    --  begin
+    --    raise Constraint_Error;
+    --  exception
+    --    when CE: others =>
+    --      Save_Occurrence (Saved_CE, CE);      <= Saved_CE.PDA = CE.PDA
+    --  end;
+ 
+    --                                           <= Saved_CE.PDA is stale (!)
+ 
+    --  begin
+    --    raise Program_Error;                   <= Saved_CE.PDA = PE.PDA (!!)
+    --  exception
+    --    when others =>
+    --      Reraise_Occurrence (Saved_CE);
+    --  end;
+ 
+    --  Not releasing the Private_Data via End_Handler could be an option,
+    --  but making this to work while still avoiding memory leaks is far
+    --  from trivial.
+ 
+    --  The current scheme has the advantage of beeing simple, and induces
+    --  extra costs only in reraise cases which is acceptable.
+ 
+ end Exception_Propagation;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exexpr.adb gcc-4.1.0/gcc/ada/a-exexpr.adb
*** gcc-4.0.2/gcc/ada/a-exexpr.adb	Wed Dec  8 11:24:50 2004
--- gcc-4.1.0/gcc/ada/a-exexpr.adb	Tue Nov 15 13:52:55 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,40 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Interfaces;
! 
! with Ada.Unchecked_Conversion;
! with Ada.Unchecked_Deallocation;
  
  with System.Storage_Elements;  use System.Storage_Elements;
  
--- 31,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the default version, using the __builtin_setjmp/longjmp EH
! --  mechanism.
  
  with System.Storage_Elements;  use System.Storage_Elements;
  
*************** pragma Warnings (Off);
*** 45,725 ****
  separate (Ada.Exceptions)
  package body Exception_Propagation is
  
!    ------------------------------------------------
!    -- Entities to interface with the GCC runtime --
!    ------------------------------------------------
! 
!    --  These come from "C++ ABI for Itanium: Exception handling", which is
!    --  the reference for GCC. They are used only when we are relying on
!    --  back-end tables for exception propagation, which in turn is currenly
!    --  only the case for Zero_Cost_Exceptions in GNAT5.
! 
!    --  Return codes from the GCC runtime functions used to propagate
!    --  an exception.
! 
!    type Unwind_Reason_Code is
!      (URC_NO_REASON,
!       URC_FOREIGN_EXCEPTION_CAUGHT,
!       URC_PHASE2_ERROR,
!       URC_PHASE1_ERROR,
!       URC_NORMAL_STOP,
!       URC_END_OF_STACK,
!       URC_HANDLER_FOUND,
!       URC_INSTALL_CONTEXT,
!       URC_CONTINUE_UNWIND);
! 
!    pragma Unreferenced
!      (URC_FOREIGN_EXCEPTION_CAUGHT,
!       URC_PHASE2_ERROR,
!       URC_PHASE1_ERROR,
!       URC_NORMAL_STOP,
!       URC_END_OF_STACK,
!       URC_HANDLER_FOUND,
!       URC_INSTALL_CONTEXT,
!       URC_CONTINUE_UNWIND);
! 
!    pragma Convention (C, Unwind_Reason_Code);
! 
!    --  Phase identifiers
! 
!    type Unwind_Action is
!      (UA_SEARCH_PHASE,
!       UA_CLEANUP_PHASE,
!       UA_HANDLER_FRAME,
!       UA_FORCE_UNWIND);
! 
!    for Unwind_Action use
!       (UA_SEARCH_PHASE  => 1,
!        UA_CLEANUP_PHASE => 2,
!        UA_HANDLER_FRAME => 4,
!        UA_FORCE_UNWIND  => 8);
! 
!    pragma Convention (C, Unwind_Action);
! 
!    --  Mandatory common header for any exception object handled by the
!    --  GCC unwinding runtime.
! 
!    subtype Exception_Class is Interfaces.Unsigned_64;
! 
!    GNAT_Exception_Class : constant Exception_Class := 16#474e552d41646100#;
!    --  "GNU-Ada\0"
! 
!    type Unwind_Word is mod 2 ** System.Word_Size;
!    for Unwind_Word'Size use System.Word_Size;
!    --  Map the corresponding C type used in Unwind_Exception below
! 
!    type Unwind_Exception is record
!       Class    : Exception_Class := GNAT_Exception_Class;
!       Cleanup  : System.Address  := System.Null_Address;
!       Private1 : Unwind_Word;
!       Private2 : Unwind_Word;
!    end record;
!    --  Map the GCC struct used for exception handling
! 
!    for Unwind_Exception'Alignment use Standard'Maximum_Alignment;
!    --  The C++ ABI mandates the common exception header to be at least
!    --  doubleword aligned, and the libGCC implementation actually makes it
!    --  maximally aligned (see unwind.h). See additional comments on the
!    --  alignment below.
! 
!    --------------------------------------------------------------
!    -- GNAT Specific Entities To Deal With The GCC EH Circuitry --
!    --------------------------------------------------------------
! 
!    --  A GNAT exception object to be dealt with by the personality routine
!    --  called by the GCC unwinding runtime.
! 
!    type GNAT_GCC_Exception is record
!       Header : Unwind_Exception;
!       --  ABI Exception header first
! 
!       Id : Exception_Id;
!       --  GNAT Exception identifier.  This is filled by Propagate_Exception
!       --  and then used by the personality routine to determine if the context
!       --  it examines contains a handler for the exception beeing propagated.
! 
!       N_Cleanups_To_Trigger : Integer;
!       --  Number of cleanup only frames encountered in SEARCH phase.  This is
!       --  initialized to 0 by Propagate_Exception and maintained by the
!       --  personality routine to control a forced unwinding phase triggering
!       --  all the cleanups before calling Unhandled_Exception_Terminate when
!       --  an exception is not handled.
! 
!       Next_Exception : EOA;
!       --  Used to create a linked list of exception occurrences
!    end record;
! 
!    pragma Convention (C, GNAT_GCC_Exception);
! 
!    --  There is a subtle issue with the common header alignment, since the C
!    --  version is aligned on BIGGEST_ALIGNMENT, the Ada version is aligned on
!    --  Standard'Maximum_Alignment, and those two values don't quite represent
!    --  the same concepts and so may be decoupled someday. One typical reason
!    --  is that BIGGEST_ALIGNMENT may be larger than what the underlying system
!    --  allocator guarantees, and there are extra costs involved in allocating
!    --  objects aligned to such factors.
! 
!    --  To deal with the potential alignment differences between the C and Ada
!    --  representations, the Ada part of the whole structure is only accessed
!    --  by the personality routine through the accessors declared below.  Ada
!    --  specific fields are thus always accessed through consistent layout, and
!    --  we expect the actual alignment to always be large enough to avoid traps
!    --  from the C accesses to the common header. Besides, accessors aleviate
!    --  the need for a C struct whole conterpart, both painful and errorprone
!    --  to maintain anyway.
! 
!    type GNAT_GCC_Exception_Access is access all GNAT_GCC_Exception;
! 
!    function To_GNAT_GCC_Exception is new
!      Unchecked_Conversion (System.Address, GNAT_GCC_Exception_Access);
! 
!    procedure Free is new Unchecked_Deallocation
!      (GNAT_GCC_Exception, GNAT_GCC_Exception_Access);
! 
!    procedure Free is new Unchecked_Deallocation
!      (Exception_Occurrence, EOA);
! 
!    function CleanupUnwind_Handler
!      (UW_Version   : Integer;
!       UW_Phases    : Unwind_Action;
!       UW_Eclass    : Exception_Class;
!       UW_Exception : access GNAT_GCC_Exception;
!       UW_Context   : System.Address;
!       UW_Argument  : System.Address) return Unwind_Reason_Code;
!    --  Hook called at each step of the forced unwinding we perform to
!    --  trigger cleanups found during the propagation of an unhandled
!    --  exception.
! 
!    --  GCC runtime functions used. These are C non-void functions, actually,
!    --  but we ignore the return values. See raise.c as to why we are using
!    --  __gnat stubs for these.
! 
!    procedure Unwind_RaiseException
!      (UW_Exception : access GNAT_GCC_Exception);
!    pragma Import (C, Unwind_RaiseException, "__gnat_Unwind_RaiseException");
! 
!    procedure Unwind_ForcedUnwind
!      (UW_Exception : access GNAT_GCC_Exception;
!       UW_Handler   : System.Address;
!       UW_Argument  : System.Address);
!    pragma Import (C, Unwind_ForcedUnwind, "__gnat_Unwind_ForcedUnwind");
! 
!    ------------------------------------------------------------------
!    -- Occurrence Stack Management Facilities for the GCC-EH Scheme --
!    ------------------------------------------------------------------
! 
!    function Remove
!      (Top   : EOA;
!       Excep : GNAT_GCC_Exception_Access) return Boolean;
!    --  Remove Excep from the stack starting at Top.
!    --  Return True if Excep was found and removed, false otherwise.
! 
!    --  Hooks called when entering/leaving an exception handler for a given
!    --  occurrence, aimed at handling the stack of active occurrences. The
!    --  calls are generated by gigi in tree_transform/N_Exception_Handler.
! 
!    procedure Begin_Handler (GCC_Exception : GNAT_GCC_Exception_Access);
!    pragma Export (C, Begin_Handler, "__gnat_begin_handler");
! 
!    procedure End_Handler (GCC_Exception : GNAT_GCC_Exception_Access);
!    pragma Export (C, End_Handler, "__gnat_end_handler");
! 
!    Setup_Key : constant := 16#DEAD#;
!    --  To handle the case of a task "transferring" an exception occurrence to
!    --  another task, for instance via Exceptional_Complete_Rendezvous, we need
!    --  to be able to identify occurrences which have been Setup and not yet
!    --  Propagated. We hijack one of the common header fields for that purpose,
!    --  setting it to a special key value during the setup process, clearing it
!    --  at the very beginning of the propagation phase, and expecting it never
!    --  to be reset to the special value later on. A 16-bit value is used rather
!    --  than a 32-bit value for static compatibility with 16-bit targets such as
!    --  AAMP (where type Unwind_Word will be 16 bits).
! 
!    function Is_Setup_And_Not_Propagated (E : EOA) return Boolean;
! 
!    procedure Set_Setup_And_Not_Propagated (E : EOA);
!    procedure Clear_Setup_And_Not_Propagated (E : EOA);
! 
!    ------------------------------------------------------------
!    -- Accessors to basic components of a GNAT exception data --
!    ------------------------------------------------------------
! 
!    --  As of today, these are only used by the C implementation of the
!    --  GCC propagation personality routine to avoid having to rely on a C
!    --  counterpart of the whole exception_data structure, which is both
!    --  painful and error prone. These subprograms could be moved to a
!    --  more widely visible location if need be.
! 
!    function Is_Handled_By_Others (E : Exception_Data_Ptr) return Boolean;
!    pragma Export (C, Is_Handled_By_Others, "__gnat_is_handled_by_others");
! 
!    function Language_For (E : Exception_Data_Ptr) return Character;
!    pragma Export (C, Language_For, "__gnat_language_for");
! 
!    function Import_Code_For (E : Exception_Data_Ptr) return Exception_Code;
!    pragma Export (C, Import_Code_For, "__gnat_import_code_for");
! 
!    function EID_For (GNAT_Exception : GNAT_GCC_Exception_Access)
!      return Exception_Id;
!    pragma Export (C, EID_For, "__gnat_eid_for");
! 
!    procedure Adjust_N_Cleanups_For
!      (GNAT_Exception : GNAT_GCC_Exception_Access;
!       Adjustment     : Integer);
!    pragma Export (C, Adjust_N_Cleanups_For, "__gnat_adjust_n_cleanups_for");
! 
!    ---------------------------------------------------------------------------
!    -- Objects to materialize "others" and "all others" in the GCC EH tables --
!    ---------------------------------------------------------------------------
! 
!    --  Currently, these only have their address taken and compared so there is
!    --  no real point having whole exception data blocks allocated. In any case
!    --  the types should match what gigi and the personality routine expect.
!    --  The initial value is an arbitrary value that will not exceed the range
!    --  of Integer on 16-bit targets (such as AAMP).
! 
!    Others_Value : constant Integer := 16#7FFF#;
!    pragma Export (C, Others_Value, "__gnat_others_value");
! 
!    All_Others_Value : constant Integer := 16#7FFF#;
!    pragma Export (C, All_Others_Value, "__gnat_all_others_value");
! 
!    ------------
!    -- Remove --
!    ------------
! 
!    function Remove
!      (Top   : EOA;
!       Excep : GNAT_GCC_Exception_Access) return Boolean
!    is
!       Prev          : GNAT_GCC_Exception_Access := null;
!       Iter          : EOA := Top;
!       GCC_Exception : GNAT_GCC_Exception_Access;
! 
!    begin
!       --  Pop stack
! 
!       loop
!          pragma Assert (Iter.Private_Data /= System.Null_Address);
! 
!          GCC_Exception := To_GNAT_GCC_Exception (Iter.Private_Data);
! 
!          if GCC_Exception = Excep then
!             if Prev = null then
! 
!                --  Special case for the top of the stack: shift the contents
!                --  of the next item to the top, since top is at a fixed
!                --  location and can't be changed.
! 
!                Iter := GCC_Exception.Next_Exception;
! 
!                if Iter = null then
! 
!                   --  Stack is now empty
! 
!                   Top.Private_Data := System.Null_Address;
! 
!                else
!                   Save_Occurrence_And_Private (Top.all, Iter.all);
!                   Free (Iter);
!                end if;
! 
!             else
!                Prev.Next_Exception := GCC_Exception.Next_Exception;
!                Free (Iter);
!             end if;
! 
!             Free (GCC_Exception);
! 
!             return True;
!          end if;
! 
!          exit when GCC_Exception.Next_Exception = null;
! 
!          Prev := GCC_Exception;
!          Iter := GCC_Exception.Next_Exception;
!       end loop;
! 
!       return False;
!    end Remove;
! 
!    ---------------------------
!    -- CleanupUnwind_Handler --
!    ---------------------------
! 
!    function CleanupUnwind_Handler
!      (UW_Version   : Integer;
!       UW_Phases    : Unwind_Action;
!       UW_Eclass    : Exception_Class;
!       UW_Exception : access GNAT_GCC_Exception;
!       UW_Context   : System.Address;
!       UW_Argument  : System.Address) return Unwind_Reason_Code
!    is
!    begin
!       --  Terminate as soon as we know there is nothing more to run. The
!       --  count is maintained by the personality routine.
! 
!       if UW_Exception.N_Cleanups_To_Trigger = 0 then
!          Unhandled_Exception_Terminate;
!       end if;
! 
!       --  We know there is at least one cleanup further up. Return so that it
!       --  is searched and entered, after which Unwind_Resume will be called
!       --  and this hook will gain control (with an updated count) again.
! 
!       return URC_NO_REASON;
!    end CleanupUnwind_Handler;
! 
!    ---------------------------------
!    -- Is_Setup_And_Not_Propagated --
!    ---------------------------------
! 
!    function Is_Setup_And_Not_Propagated (E : EOA) return Boolean is
!       GCC_E : GNAT_GCC_Exception_Access :=
!                 To_GNAT_GCC_Exception (E.Private_Data);
!    begin
!       return GCC_E /= null and then GCC_E.Header.Private1 = Setup_Key;
!    end Is_Setup_And_Not_Propagated;
! 
!    ------------------------------------
!    -- Clear_Setup_And_Not_Propagated --
!    ------------------------------------
! 
!    procedure Clear_Setup_And_Not_Propagated (E : EOA) is
!       GCC_E : GNAT_GCC_Exception_Access :=
!                 To_GNAT_GCC_Exception (E.Private_Data);
!    begin
!       pragma Assert (GCC_E /= null);
!       GCC_E.Header.Private1 := 0;
!    end Clear_Setup_And_Not_Propagated;
! 
!    ----------------------------------
!    -- Set_Setup_And_Not_Propagated --
!    ----------------------------------
! 
!    procedure Set_Setup_And_Not_Propagated (E : EOA) is
!       GCC_E : GNAT_GCC_Exception_Access :=
!                 To_GNAT_GCC_Exception (E.Private_Data);
!    begin
!       pragma Assert (GCC_E /= null);
!       GCC_E.Header.Private1 := Setup_Key;
!    end Set_Setup_And_Not_Propagated;
  
     ---------------------
     -- Setup_Exception --
     ---------------------
  
-    --  In the GCC-EH implementation of the propagation scheme, this
-    --  subprogram should be understood as : Setup the exception occurrence
-    --  stack headed at Current for a forthcoming raise of Excep.
- 
-    --  In the GNAT-SJLJ case this "stack" only exists implicitely, by way of
-    --  local occurrence declarations together with save/restore operations
-    --  generated by the front-end, and this routine has nothing to do.
- 
-    --  The differenciation is done here and not in the callers to avoid having
-    --  to spread out the test in numerous places.
- 
     procedure Setup_Exception
       (Excep    : EOA;
        Current  : EOA;
        Reraised : Boolean := False)
     is
!       Top           : constant EOA := Current;
!       Next          : EOA;
!       GCC_Exception : GNAT_GCC_Exception_Access;
! 
!    begin
!       --  Just return if we're not in the GCC-EH case. What is otherwise
!       --  performed is useless and even harmful since it potentially involves
!       --  dynamic allocations that would never be released, and participates
!       --  in the Setup_And_Not_Propagated predicate management, only properly
!       --  handled by the rest of the GCC-EH scheme.
! 
!       if Zero_Cost_Exceptions = 0 then
!          return;
!       end if;
! 
!       --  Otherwise, the exception Excep is soon to be propagated, and the
!       --  storage used for that will be the occurrence statically allocated
!       --  for the current thread. This storage might currently be used for a
!       --  still active occurrence, so we need to push it on the thread's
!       --  occurrence stack (headed at that static occurrence) before it gets
!       --  clobbered.
! 
!       --  What we do here is to trigger this push when need be, and allocate a
!       --  Private_Data block for the forthcoming Propagation.
! 
!       --  Some tasking rendez-vous attempts lead to an occurrence transfer
!       --  from the server to the client (see Exceptional_Complete_Rendezvous).
!       --  In those cases Setup is called twice for the very same occurrence
!       --  before it gets propagated: once from the server, because this is
!       --  where the occurrence contents is elaborated and known, and then
!       --  once from the client when it detects the case and actually raises
!       --  the exception in its own context.
! 
!       --  The Is_Setup_And_Not_Propagated predicate tells us when we are in
!       --  the second call to Setup for a Transferred occurrence, and there is
!       --  nothing to be done here in this situation. This predicate cannot be
!       --  True if we are dealing with a Reraise, and we may even be called
!       --  with a raw uninitialized Excep occurrence in this case so we should
!       --  not check anyway. Observe the front-end expansion for a "raise;" to
!       --  see that happening. We get a local occurrence and a direct call to
!       --  Save_Occurrence without the intermediate init-proc call.
! 
!       if not Reraised and then Is_Setup_And_Not_Propagated (Excep) then
!          return;
!       end if;
! 
!       --  Allocate what will be the Private_Data block for the exception
!       --  to be propagated.
! 
!       GCC_Exception := new GNAT_GCC_Exception;
! 
!       --  If the Top of the occurrence stack is not currently used for an
!       --  active exception (the stack is empty) we just need to setup the
!       --  Private_Data pointer.
! 
!       --  Otherwise, we also need to shift the contents of the Top of the
!       --  stack in a freshly allocated entry and link everything together.
! 
!       if Top.Private_Data /= System.Null_Address then
!          Next := new Exception_Occurrence;
!          Save_Occurrence_And_Private (Next.all, Top.all);
! 
!          GCC_Exception.Next_Exception := Next;
!          Top.Private_Data := GCC_Exception.all'Address;
!       end if;
! 
!       Top.Private_Data := GCC_Exception.all'Address;
! 
!       Set_Setup_And_Not_Propagated (Top);
!    end Setup_Exception;
! 
!    -------------------
!    -- Begin_Handler --
!    -------------------
! 
!    procedure Begin_Handler (GCC_Exception : GNAT_GCC_Exception_Access) is
     begin
!       --  Every necessary operation related to the occurrence stack has
!       --  already been performed by Propagate_Exception. This hook remains for
!       --  potential future necessity in optimizing the overall scheme, as well
!       --  a useful debugging tool.
  
        null;
!    end Begin_Handler;
! 
!    -----------------
!    -- End_Handler --
!    -----------------
! 
!    procedure End_Handler (GCC_Exception : GNAT_GCC_Exception_Access) is
!       Removed : Boolean;
!    begin
!       Removed := Remove (Get_Current_Excep.all, GCC_Exception);
!       pragma Assert (Removed);
!    end End_Handler;
  
     -------------------------
     -- Propagate_Exception --
     -------------------------
  
-    --  Build an object suitable for the libgcc processing and call
-    --  Unwind_RaiseException to actually throw, taking care of handling
-    --  the two phase scheme it implements.
- 
     procedure Propagate_Exception (From_Signal_Handler : Boolean) is
!       Excep         : EOA := Get_Current_Excep.all;
!       GCC_Exception : GNAT_GCC_Exception_Access;
! 
     begin
!       pragma Assert (Excep.Private_Data /= System.Null_Address);
! 
!       --  Retrieve the Private_Data for this occurrence and set the useful
!       --  flags for the personality routine, which will be called for each
!       --  frame via Unwind_RaiseException below.
! 
!       GCC_Exception := To_GNAT_GCC_Exception (Excep.Private_Data);
! 
!       Clear_Setup_And_Not_Propagated (Excep);
! 
!       GCC_Exception.Id := Excep.Id;
!       GCC_Exception.N_Cleanups_To_Trigger := 0;
  
!       --  Compute the backtrace for this occurrence if the corresponding
!       --  binder option has been set. Call_Chain takes care of the reraise
!       --  case.
  
!       --  ??? Using Call_Chain here means we are going to walk up the stack
!       --  once only for backtracing purposes before doing it again for the
!       --  propagation per se.
  
!       --  The first inspection is much lighter, though, as it only requires
!       --  partial unwinding of each frame. Additionally, although we could use
!       --  the personality routine to record the addresses while propagating,
!       --  this method has two drawbacks:
  
!       --  1) the trace is incomplete if the exception is handled since we
!       --  don't walk past the frame with the handler,
  
!       --    and
  
!       --  2) we would miss the frames for which our personality routine is not
!       --  called, e.g. if C or C++ calls are on the way.
  
!       Call_Chain (Excep);
  
!       --  Perform a standard raise first. If a regular handler is found, it
!       --  will be entered after all the intermediate cleanups have run. If
!       --  there is no regular handler, control will get back to after the
!       --  call, with N_Cleanups_To_Trigger set to the number of frames with
!       --  cleanups found on the way up, and none of these already run.
  
!       Unwind_RaiseException (GCC_Exception);
  
!       --  If we get here we know the exception is not handled, as otherwise
!       --  Unwind_RaiseException arranges for the handler to be entered. Take
!       --  the necessary steps to enable the debugger to gain control while the
!       --  stack is still intact.
  
!       Notify_Unhandled_Exception;
  
!       --  Now, if cleanups have been found, run a forced unwind to trigger
!       --  them. Control should not resume there, as the unwinding hook calls
!       --  Unhandled_Exception_Terminate as soon as the last cleanup has been
!       --  triggered.
  
!       if GCC_Exception.N_Cleanups_To_Trigger /= 0 then
!          Unwind_ForcedUnwind (GCC_Exception,
!                               CleanupUnwind_Handler'Address,
!                               System.Null_Address);
        end if;
- 
-       --  We get here when there is no handler or cleanup to be run at
-       --  all. The debugger has been notified before the second step above.
- 
-       Unhandled_Exception_Terminate;
     end Propagate_Exception;
  
-    ---------------------------
-    -- Adjust_N_Cleanups_For --
-    ---------------------------
- 
-    procedure Adjust_N_Cleanups_For
-      (GNAT_Exception : GNAT_GCC_Exception_Access;
-       Adjustment     : Integer)
-    is
-    begin
-       GNAT_Exception.N_Cleanups_To_Trigger :=
-         GNAT_Exception.N_Cleanups_To_Trigger + Adjustment;
-    end Adjust_N_Cleanups_For;
- 
-    -------------
-    -- EID_For --
-    -------------
- 
-    function EID_For
-      (GNAT_Exception : GNAT_GCC_Exception_Access) return Exception_Id
-    is
-    begin
-       return GNAT_Exception.Id;
-    end EID_For;
- 
-    ---------------------
-    -- Import_Code_For --
-    ---------------------
- 
-    function Import_Code_For
-      (E : SSL.Exception_Data_Ptr) return Exception_Code
-    is
-    begin
-       return E.all.Import_Code;
-    end Import_Code_For;
- 
-    --------------------------
-    -- Is_Handled_By_Others --
-    --------------------------
- 
-    function Is_Handled_By_Others
-      (E : SSL.Exception_Data_Ptr) return Boolean
-    is
-    begin
-       return not E.all.Not_Handled_By_Others;
-    end Is_Handled_By_Others;
- 
-    ------------------
-    -- Language_For --
-    ------------------
- 
-    function Language_For
-      (E : SSL.Exception_Data_Ptr) return Character
-    is
-    begin
-       return E.all.Lang;
-    end Language_For;
- 
-    -----------
-    -- Notes --
-    -----------
- 
-    --  The current model implemented for the stack of occurrences is a
-    --  simplification of previous attempts, which all prooved to be flawed or
-    --  would have needed significant additional circuitry to be made to work
-    --  correctly.
- 
-    --  We now represent every propagation by a new entry on the stack, which
-    --  means that an exception occurrence may appear more than once (e.g. when
-    --  it is reraised during the course of its own handler).
- 
-    --  This may seem overcostly compared to the C++ model as implemented in
-    --  the g++ v3 libstd. This is actually understandable when one considers
-    --  the extra variations of possible run-time configurations induced by the
-    --  freedom offered by the Save_Occurrence/Reraise_Occurrence public
-    --  interface.
- 
-    --  The basic point is that arranging for an occurrence to always appear at
-    --  most once on the stack requires a way to determine if a given occurence
-    --  is already there, which is not as easy as it might seem.
- 
-    --  An attempt was made to use the Private_Data pointer for this purpose.
-    --  It did not work because:
- 
-    --  1) The Private_Data has to be saved by Save_Occurrence to be usable
-    --     as a key in case of a later reraise,
- 
-    --  2) There is no easy way to synchronize End_Handler for an occurrence
-    --     and the data attached to potential copies, so these copies may end
-    --     up pointing to stale data. Moreover ...
- 
-    --  3) The same address may be reused for different occurrences, which
-    --     defeats the idea of using it as a key.
- 
-    --  The example below illustrates:
- 
-    --  Saved_CE : Exception_Occurrence;
- 
-    --  begin
-    --    raise Constraint_Error;
-    --  exception
-    --    when CE: others =>
-    --      Save_Occurrence (Saved_CE, CE);      <= Saved_CE.PDA = CE.PDA
-    --  end;
- 
-    --                                           <= Saved_CE.PDA is stale (!)
- 
-    --  begin
-    --    raise Program_Error;                   <= Saved_CE.PDA = PE.PDA (!!)
-    --  exception
-    --    when others =>
-    --      Reraise_Occurrence (Saved_CE);
-    --  end;
- 
-    --  Not releasing the Private_Data via End_Handler could be an option,
-    --  but making this to work while still avoiding memory leaks is far
-    --  from trivial.
- 
-    --  The current scheme has the advantage of beeing simple, and induces
-    --  extra costs only in reraise cases which is acceptable.
- 
  end Exception_Propagation;
--- 43,122 ----
  separate (Ada.Exceptions)
  package body Exception_Propagation is
  
!    procedure builtin_longjmp (buffer : Address; Flag : Integer);
!    pragma No_Return (builtin_longjmp);
!    pragma Import (C, builtin_longjmp, "_gnat_builtin_longjmp");
  
     ---------------------
     -- Setup_Exception --
     ---------------------
  
     procedure Setup_Exception
       (Excep    : EOA;
        Current  : EOA;
        Reraised : Boolean := False)
     is
!       pragma Unreferenced (Excep, Current, Reraised);
     begin
!       --  In the GNAT-SJLJ case this "stack" only exists implicitely, by way of
!       --  local occurrence declarations together with save/restore operations
!       --  generated by the front-end, and this routine has nothing to do.
  
        null;
!    end Setup_Exception;
  
     -------------------------
     -- Propagate_Exception --
     -------------------------
  
     procedure Propagate_Exception (From_Signal_Handler : Boolean) is
!       Jumpbuf_Ptr : constant Address := Get_Jmpbuf_Address.all;
!       Excep       : constant EOA := Get_Current_Excep.all;
     begin
!       --  Compute the backtrace for this occurrence if corresponding binder
!       --  option has been set. Call_Chain takes care of the reraise case.
  
!       Call_Chain (Excep);
  
!       --  Note on above call to Call_Chain:
  
!       --  We used to only do this if From_Signal_Handler was not set,
!       --  based on the assumption that backtracing from a signal handler
!       --  would not work due to stack layout oddities. However, since
  
!       --   1. The flag is never set in tasking programs (Notify_Exception
!       --      performs regular raise statements), and
  
!       --   2. No problem has shown up in tasking programs around here so
!       --      far, this turned out to be too strong an assumption.
  
!       --  As, in addition, the test was
  
!       --   1. preventing the production of backtraces in non-tasking
!       --      programs, and
  
!       --   2. introducing a behavior inconsistency between
!       --      the tasking and non-tasking cases,
  
!       --  we have simply removed it
  
!       --  If the jump buffer pointer is non-null, transfer control using
!       --  it. Otherwise announce an unhandled exception (note that this
!       --  means that we have no finalizations to do other than at the outer
!       --  level). Perform the necessary notification tasks in both cases.
  
!       if Jumpbuf_Ptr /= Null_Address then
!          if not Excep.Exception_Raised then
!             Excep.Exception_Raised := True;
!             Exception_Traces.Notify_Handled_Exception;
!          end if;
  
!          builtin_longjmp (Jumpbuf_Ptr, 1);
  
!       else
!          Exception_Traces.Notify_Unhandled_Exception;
!          Exception_Traces.Unhandled_Exception_Terminate;
        end if;
     end Propagate_Exception;
  
  end Exception_Propagation;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exextr.adb gcc-4.1.0/gcc/ada/a-exextr.adb
*** gcc-4.0.2/gcc/ada/a-exextr.adb	Tue Jul 20 10:26:51 2004
--- gcc-4.1.0/gcc/ada/a-exextr.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Exception_Traces is
*** 85,91 ****
  
     procedure Unhandled_Exception;
     pragma Export (C, Unhandled_Exception, "__gnat_unhandled_exception");
!    --  Hook for GDB to support "break exception unhandled".
  
     --  For "break exception", GDB uses __gnat_raise_nodefer_with_msg, which
     --  is not in this section because it fullfills other purposes than a mere
--- 85,91 ----
  
     procedure Unhandled_Exception;
     pragma Export (C, Unhandled_Exception, "__gnat_unhandled_exception");
!    --  Hook for GDB to support "break exception unhandled"
  
     --  For "break exception", GDB uses __gnat_raise_nodefer_with_msg, which
     --  is not in this section because it fullfills other purposes than a mere
*************** package body Exception_Traces is
*** 190,196 ****
        Last_Chance_Handler (Excep.all);
     end Unhandled_Exception_Terminate;
  
- 
     ------------------------------------
     -- Handling GNAT.Exception_Traces --
     ------------------------------------
--- 190,195 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-exstat.adb gcc-4.1.0/gcc/ada/a-exstat.adb
*** gcc-4.0.2/gcc/ada/a-exstat.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-exstat.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,39 ****
--- 31,46 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
+ pragma Warnings (Off);
+ --  Allow withing of non-Preelaborated units in Ada 2005 mode where this
+ --  package will be categorized as Preelaborate. See AI-362 for details.
+ --  It is safe in the context of the run-time to violate the rules!
+ 
  with System.Exception_Table;  use System.Exception_Table;
  with System.Storage_Elements; use System.Storage_Elements;
  
+ pragma Warnings (On);
+ 
  separate (Ada.Exceptions)
  package body Stream_Attributes is
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-filico.adb gcc-4.1.0/gcc/ada/a-filico.adb
*** gcc-4.0.2/gcc/ada/a-filico.adb	Wed Oct 27 12:29:19 2004
--- gcc-4.1.0/gcc/ada/a-filico.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-filico.ads gcc-4.1.0/gcc/ada/a-filico.ads
*** gcc-4.0.2/gcc/ada/a-filico.ads	Wed Oct 27 12:29:19 2004
--- gcc-4.1.0/gcc/ada/a-filico.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                S p e c                                   --
  --                                                                          --
! --          Copyright (C) 1992-1997, 2004 Free Software Foundation, Inc.    --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                S p e c                                   --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,39 ****
  ------------------------------------------------------------------------------
  
  with System.Finalization_Root;
  package Ada.Finalization.List_Controller is
! pragma Elaborate_Body (List_Controller);
  
     package SFR renames System.Finalization_Root;
  
--- 32,40 ----
  ------------------------------------------------------------------------------
  
  with System.Finalization_Root;
+ 
  package Ada.Finalization.List_Controller is
!    pragma Elaborate_Body;
  
     package SFR renames System.Finalization_Root;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-finali.adb gcc-4.1.0/gcc/ada/a-finali.adb
*** gcc-4.0.2/gcc/ada/a-finali.adb	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-finali.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-finali.ads gcc-4.1.0/gcc/ada/a-finali.ads
*** gcc-4.0.2/gcc/ada/a-finali.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-finali.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-1997 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with System.Finalization_Root;
  
  package Ada.Finalization is
! pragma Preelaborate (Finalization);
  
     type Controlled is abstract tagged private;
  
--- 38,44 ----
  with System.Finalization_Root;
  
  package Ada.Finalization is
!    pragma Preelaborate;
  
     type Controlled is abstract tagged private;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-flteio.ads gcc-4.1.0/gcc/ada/a-flteio.ads
*** gcc-4.0.2/gcc/ada/a-flteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-flteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                    A D A . F L O A T _ T E X T _ I O                     --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                    A D A . F L O A T _ T E X T _ I O                     --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-fwteio.ads gcc-4.1.0/gcc/ada/a-fwteio.ads
*** gcc-4.0.2/gcc/ada/a-fwteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-fwteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . F L O A T _ W I D E _ T E X T _ I O                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . F L O A T _ W I D E _ T E X T _ I O                --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-inteio.ads gcc-4.1.0/gcc/ada/a-inteio.ads
*** gcc-4.0.2/gcc/ada/a-inteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-inteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  A D A . I N T E G E R _ T E X T _ I O                   --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  A D A . I N T E G E R _ T E X T _ I O                   --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-interr.adb gcc-4.1.0/gcc/ada/a-interr.adb
*** gcc-4.0.2/gcc/ada/a-interr.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-interr.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                         A D A . I N T E R R U P T S                      --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                         A D A . I N T E R R U P T S                      --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Interrupts is
*** 73,80 ****
     ---------------------
  
     function Current_Handler
!      (Interrupt : Interrupt_ID)
!       return      Parameterless_Handler
     is
     begin
        return To_Ada (SI.Current_Handler (SI.Interrupt_ID (Interrupt)));
--- 73,79 ----
     ---------------------
  
     function Current_Handler
!      (Interrupt : Interrupt_ID) return Parameterless_Handler
     is
     begin
        return To_Ada (SI.Current_Handler (SI.Interrupt_ID (Interrupt)));
*************** package body Ada.Interrupts is
*** 84,90 ****
     -- Detach_Handler --
     --------------------
  
!    procedure Detach_Handler (Interrupt : in Interrupt_ID) is
     begin
        SI.Detach_Handler (SI.Interrupt_ID (Interrupt), False);
     end Detach_Handler;
--- 83,89 ----
     -- Detach_Handler --
     --------------------
  
!    procedure Detach_Handler (Interrupt : Interrupt_ID) is
     begin
        SI.Detach_Handler (SI.Interrupt_ID (Interrupt), False);
     end Detach_Handler;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-interr.ads gcc-4.1.0/gcc/ada/a-interr.ads
*** gcc-4.0.2/gcc/ada/a-interr.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-interr.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,42 ****
  ------------------------------------------------------------------------------
  
  with System.Interrupts;
! --  used for Ada_Interrupt_ID.
  
  package Ada.Interrupts is
  
--- 36,42 ----
  ------------------------------------------------------------------------------
  
  with System.Interrupts;
! --  used for Ada_Interrupt_ID
  
  package Ada.Interrupts is
  
*************** package Ada.Interrupts is
*** 49,56 ****
     function Is_Attached (Interrupt : Interrupt_ID) return Boolean;
  
     function Current_Handler
!      (Interrupt : Interrupt_ID)
!       return      Parameterless_Handler;
  
     procedure Attach_Handler
       (New_Handler : Parameterless_Handler;
--- 49,55 ----
     function Is_Attached (Interrupt : Interrupt_ID) return Boolean;
  
     function Current_Handler
!      (Interrupt : Interrupt_ID) return Parameterless_Handler;
  
     procedure Attach_Handler
       (New_Handler : Parameterless_Handler;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-aix.ads gcc-4.1.0/gcc/ada/a-intnam-aix.ads
*** gcc-4.0.2/gcc/ada/a-intnam-aix.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-aix.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --           Copyright (C) 1991-2002 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,50 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a AIX version of this package.
! --
  --  The following signals are reserved by the run time (native threads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGTERM,
  --  SIGSTOP, SIGKILL
! --
  --  The following signals are reserved by the run time (FSU threads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGALRM,
  --  SIGWAITING, SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
--- 31,50 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a AIX version of this package
! 
  --  The following signals are reserved by the run time (native threads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGTERM,
  --  SIGSTOP, SIGKILL
! 
  --  The following signals are reserved by the run time (FSU threads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGALRM,
  --  SIGWAITING, SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
*************** with System.OS_Interface;
*** 55,64 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 55,63 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-darwin.ads gcc-4.1.0/gcc/ada/a-intnam-darwin.ads
*** gcc-4.0.2/gcc/ada/a-intnam-darwin.ads	Wed Apr 28 09:38:51 2004
--- gcc-4.1.0/gcc/ada/a-intnam-darwin.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,44 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Darwin version of this package.
! --
  --  The following signals are reserved by the run time:
! --
  --  SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
--- 31,44 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the Darwin version of this package
! 
  --  The following signals are reserved by the run time:
! 
  --  SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
*************** with System.OS_Interface;
*** 49,58 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 49,57 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-dummy.ads gcc-4.1.0/gcc/ada/a-intnam-dummy.ads
*** gcc-4.0.2/gcc/ada/a-intnam-dummy.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-dummy.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                           (No Tasking Version)                           --
  --                                                                          --
! --          Copyright (C) 1991-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                           (No Tasking Version)                           --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-freebsd.ads gcc-4.1.0/gcc/ada/a-intnam-freebsd.ads
*** gcc-4.0.2/gcc/ada/a-intnam-freebsd.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-freebsd.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-hpux.ads gcc-4.1.0/gcc/ada/a-intnam-hpux.ads
*** gcc-4.0.2/gcc/ada/a-intnam-hpux.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-hpux.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a HP-UX version of this package.
  
  --  The following signals are reserved by the run time:
  
--- 32,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a HP-UX version of this package
  
  --  The following signals are reserved by the run time:
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-interix.ads gcc-4.1.0/gcc/ada/a-intnam-interix.ads
*** gcc-4.0.2/gcc/ada/a-intnam-interix.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-interix.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --           Copyright (C) 1991-2002 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-irix.ads gcc-4.1.0/gcc/ada/a-intnam-irix.ads
*** gcc-4.0.2/gcc/ada/a-intnam-irix.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-irix.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS              --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can redistribute it  and/or modify it  under --
  -- terms  of  the  GNU  Library General Public License  as published by the --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can redistribute it  and/or modify it  under --
  -- terms  of  the  GNU  Library General Public License  as published by the --
***************
*** 17,24 ****
  -- MERCHANTABILITY  or  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Gen- --
  -- eral Library Public License  for more details.  You should have received --
  -- a  copy of the GNU Library General Public License along with GNARL;  see --
! -- file COPYING.LIB.  If not,  write to the  Free Software Foundation,   59 --
! -- Temple Place - Suite 330, Boston, MA 02111-1307, USA.                    --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- MERCHANTABILITY  or  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Gen- --
  -- eral Library Public License  for more details.  You should have received --
  -- a  copy of the GNU Library General Public License along with GNARL;  see --
! -- file COPYING.LIB.  If not,  write to the  Free Software Foundation,   51 --
! -- Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.                --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Ada.Interrupts.Names is
*** 177,183 ****
     SIGUME : constant Interrupt_ID :=
       System.OS_Interface.SIGUME;      --  Uncorrectable memory error
  
!    --  Signals defined for Posix 1003.1c.
  
     SIGPTINTR : constant Interrupt_ID :=
       System.OS_Interface.SIGPTINTR;    --  Pthread Interrupt Signal
--- 177,183 ----
     SIGUME : constant Interrupt_ID :=
       System.OS_Interface.SIGUME;      --  Uncorrectable memory error
  
!    --  Signals defined for Posix 1003.1c
  
     SIGPTINTR : constant Interrupt_ID :=
       System.OS_Interface.SIGPTINTR;    --  Pthread Interrupt Signal
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-linux.ads gcc-4.1.0/gcc/ada/a-intnam-linux.ads
*** gcc-4.0.2/gcc/ada/a-intnam-linux.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-linux.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --           Copyright (C) 1991-2002 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,50 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a GNU/Linux version of this package.
! --
  --  The following signals are reserved by the run time (FSU threads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGALRM, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
! --
  --  The following signals are reserved by the run time (LinuxThreads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGUSR1, SIGUSR2, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
--- 31,50 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a GNU/Linux version of this package
! 
  --  The following signals are reserved by the run time (FSU threads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGALRM, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
! 
  --  The following signals are reserved by the run time (LinuxThreads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGUSR1, SIGUSR2, SIGVTALRM, SIGUNUSED, SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  --  This target-dependent package spec contains names of interrupts
*************** with System.OS_Interface;
*** 55,64 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 55,63 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-lynxos.ads gcc-4.1.0/gcc/ada/a-intnam-lynxos.ads
*** gcc-4.0.2/gcc/ada/a-intnam-lynxos.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-lynxos.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,45 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a LynxOS version of this package.
! --
  --  The following signals are reserved by the run time:
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGWAITING, SIGLWP, SIGTTIN, SIGTTOU, SIGTSTP, SIGPROF, SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
--- 31,45 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a LynxOS version of this package
! 
  --  The following signals are reserved by the run time:
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGWAITING, SIGLWP, SIGTTIN, SIGTTOU, SIGTSTP, SIGPROF, SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
*************** with System.OS_Interface;
*** 47,54 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one. There may be aliases.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 47,54 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-mingw.ads gcc-4.1.0/gcc/ada/a-intnam-mingw.ads
*** gcc-4.0.2/gcc/ada/a-intnam-mingw.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-mingw.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1997-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,50 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a NT (native) version of this package.
  
! --  This target-dependent package spec contains names of interrupts
! --  supported by the local system.
  
  with System.OS_Interface;
  --  used for names of interrupts
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGINT : constant Interrupt_ID :=
       System.OS_Interface.SIGINT;      --  interrupt (rubout)
--- 31,49 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a NT (native) version of this package
  
! --  This target-dependent package spec contains names of interrupts supported
! --  by the local system.
  
  with System.OS_Interface;
  --  used for names of interrupts
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGINT : constant Interrupt_ID :=
       System.OS_Interface.SIGINT;      --  interrupt (rubout)
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-os2.ads gcc-4.1.0/gcc/ada/a-intnam-os2.ads
*** gcc-4.0.2/gcc/ada/a-intnam-os2.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-os2.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS              --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is an OS/2 version of this package.
  
  --  This target-dependent package spec contains names of interrupts
  --  supported by the local system.
--- 32,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is an OS/2 version of this package
  
  --  This target-dependent package spec contains names of interrupts
  --  supported by the local system.
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-rtems.ads gcc-4.1.0/gcc/ada/a-intnam-rtems.ads
*** gcc-4.0.2/gcc/ada/a-intnam-rtems.ads	Thu Jan 27 20:18:26 2005
--- gcc-4.1.0/gcc/ada/a-intnam-rtems.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-solaris.ads gcc-4.1.0/gcc/ada/a-intnam-solaris.ads
*** gcc-4.0.2/gcc/ada/a-intnam-solaris.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-solaris.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --             Copyright (C) 1991-2002 Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,50 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a Solaris version of this package.
! --
  --  The following signals are reserved by the run time (native threads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGLWP, SIGWAITING, SIGCANCEL, SIGSTOP, SIGKILL
! --
  --  The following signals are reserved by the run time (FSU threads):
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGTERM, SIGABRT, SIGINT,
  --  SIGLWP, SIGALRM, SIGVTALRM, SIGAITING, SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handlers
  
  with System.OS_Interface;
--- 31,50 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a Solaris version of this package
! 
  --  The following signals are reserved by the run time (native threads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGLWP, SIGWAITING, SIGCANCEL, SIGSTOP, SIGKILL
! 
  --  The following signals are reserved by the run time (FSU threads):
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGTERM, SIGABRT, SIGINT,
  --  SIGLWP, SIGALRM, SIGVTALRM, SIGAITING, SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handlers
  
  with System.OS_Interface;
*************** with System.OS_Interface;
*** 52,61 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 52,60 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-tru64.ads gcc-4.1.0/gcc/ada/a-intnam-tru64.ads
*** gcc-4.0.2/gcc/ada/a-intnam-tru64.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-tru64.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,45 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the DEC Unix 4.0 version of this package.
! --
  --  The following signals are reserved by the run time:
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGALRM,
  --  SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
--- 31,45 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the DEC Unix 4.0 version of this package
! 
  --  The following signals are reserved by the run time:
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGABRT, SIGTRAP, SIGINT, SIGALRM,
  --  SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
*************** with System.OS_Interface;
*** 47,56 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one.  There may be aliases.  Also, for all
!    --  signal names that are not supported on the current system
!    --  the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 47,55 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases. Also, for all signal names that are not supported on the
!    --  current system the value of the corresponding constant will be zero.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-unixware.ads gcc-4.1.0/gcc/ada/a-intnam-unixware.ads
*** gcc-4.0.2/gcc/ada/a-intnam-unixware.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-unixware.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,45 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a SCO UnixWare version of this package.
! --
  --  The following signals are reserved by the run time:
! --
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGWAITING, SIGLWP, SIGTTIN, SIGTTOU, SIGTSTP, SIGPROF, SIGSTOP, SIGKILL
! --
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! --
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
--- 31,45 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a SCO UnixWare version of this package
! 
  --  The following signals are reserved by the run time:
! 
  --  SIGFPE, SIGILL, SIGSEGV, SIGBUS, SIGTRAP, SIGABRT, SIGINT,
  --  SIGWAITING, SIGLWP, SIGTTIN, SIGTTOU, SIGTSTP, SIGPROF, SIGSTOP, SIGKILL
! 
  --  The pragma Unreserve_All_Interrupts affects the following signal(s):
! 
  --  SIGINT: made available for Ada handler
  
  with System.OS_Interface;
*************** with System.OS_Interface;
*** 47,54 ****
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be
!    --  many-to-one. There may be aliases.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
--- 47,54 ----
  
  package Ada.Interrupts.Names is
  
!    --  Beware that the mapping of names to signals may be many-to-one. There
!    --  may be aliases.
  
     SIGHUP : constant Interrupt_ID :=
       System.OS_Interface.SIGHUP;      --  hangup
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-vms.ads gcc-4.1.0/gcc/ada/a-intnam-vms.ads
*** gcc-4.0.2/gcc/ada/a-intnam-vms.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-vms.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a OpenVMS/Alpha version of this package.
! --
  --  This target-dependent package spec contains names of interrupts
  --  supported by the local system.
  
--- 31,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is a OpenVMS/Alpha version of this package
! 
  --  This target-dependent package spec contains names of interrupts
  --  supported by the local system.
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam-vxworks.ads gcc-4.1.0/gcc/ada/a-intnam-vxworks.ads
*** gcc-4.0.2/gcc/ada/a-intnam-vxworks.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-intnam-vxworks.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS              --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --           Copyright (C) 1998-2001 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . I N T E R R U P T S . N A M E S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1998-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VxWorks version of this package.
  
  with System.OS_Interface;
  
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VxWorks version of this package
  
  with System.OS_Interface;
  
*************** package Ada.Interrupts.Names is
*** 39,44 ****
  
     subtype Hardware_Interrupts is Interrupt_ID
       range Interrupt_ID'First .. System.OS_Interface.Max_HW_Interrupt;
!    --  Range of values that can be used for hardware interrupts.
  
  end Ada.Interrupts.Names;
--- 39,44 ----
  
     subtype Hardware_Interrupts is Interrupt_ID
       range Interrupt_ID'First .. System.OS_Interface.Max_HW_Interrupt;
!    --  Range of values that can be used for hardware interrupts
  
  end Ada.Interrupts.Names;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intnam.ads gcc-4.1.0/gcc/ada/a-intnam.ads
*** gcc-4.0.2/gcc/ada/a-intnam.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-intnam.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . N A M E S                  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . N A M E S                  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intsig.adb gcc-4.1.0/gcc/ada/a-intsig.adb
*** gcc-4.0.2/gcc/ada/a-intsig.adb	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/a-intsig.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . S I G N A L                --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --           Copyright (C) 2000-2004 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . S I G N A L                --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with System.Interrupt_Management.Operations;
+ 
  package body Ada.Interrupts.Signal is
  
     ------------------------
*************** package body Ada.Interrupts.Signal is
*** 43,46 ****
--- 44,48 ----
        System.Interrupt_Management.Operations.Interrupt_Self_Process
          (System.Interrupt_Management.Interrupt_ID (Interrupt));
     end Generate_Interrupt;
+ 
  end Ada.Interrupts.Signal;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-intsig.ads gcc-4.1.0/gcc/ada/a-intsig.ads
*** gcc-4.0.2/gcc/ada/a-intsig.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-intsig.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . S I G N A L                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --           Copyright (C) 2000-2003 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                 A D A . I N T E R R U P T S . S I G N A L                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,44 ****
  --  by user programs and avoids importing low level children of System
  --  (e.g. System.Interrupt_Management.Operations), or defining an interface
  --  to complex system calls.
! --
  package Ada.Interrupts.Signal is
  
     procedure Generate_Interrupt (Interrupt : Interrupt_ID);
!    --  Generate Interrupt at the process level
  
  end Ada.Interrupts.Signal;
--- 35,44 ----
  --  by user programs and avoids importing low level children of System
  --  (e.g. System.Interrupt_Management.Operations), or defining an interface
  --  to complex system calls.
! 
  package Ada.Interrupts.Signal is
  
     procedure Generate_Interrupt (Interrupt : Interrupt_ID);
!    --  Generate interrupt at the process level
  
  end Ada.Interrupts.Signal;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ioexce.ads gcc-4.1.0/gcc/ada/a-ioexce.ads
*** gcc-4.0.2/gcc/ada/a-ioexce.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-ioexce.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . I O _ E X C E P T I O N S                    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . I O _ E X C E P T I O N S                    --
  --                                                                          --
***************
*** 14,20 ****
  ------------------------------------------------------------------------------
  
  package Ada.IO_Exceptions is
! pragma Pure (IO_Exceptions);
  
     Status_Error : exception;
     Mode_Error   : exception;
--- 14,20 ----
  ------------------------------------------------------------------------------
  
  package Ada.IO_Exceptions is
!    pragma Pure;
  
     Status_Error : exception;
     Mode_Error   : exception;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-iwteio.ads gcc-4.1.0/gcc/ada/a-iwteio.ads
*** gcc-4.0.2/gcc/ada/a-iwteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-iwteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . I N T E G E R _ W I D E _ T E X T _ I O              --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . I N T E G E R _ W I D E _ T E X T _ I O              --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-lfteio.ads gcc-4.1.0/gcc/ada/a-lfteio.ads
*** gcc-4.0.2/gcc/ada/a-lfteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-lfteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . L O N G _ F L O A T _ T E X T _ I O                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . L O N G _ F L O A T _ T E X T _ I O                --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-lfwtio.ads gcc-4.1.0/gcc/ada/a-lfwtio.ads
*** gcc-4.0.2/gcc/ada/a-lfwtio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-lfwtio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . L O N G _ F L O A T _ W I D E _ T E X T _ I O           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . L O N G _ F L O A T _ W I D E _ T E X T _ I O           --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-lfztio.ads gcc-4.1.0/gcc/ada/a-lfztio.ads
*** gcc-4.0.2/gcc/ada/a-lfztio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-lfztio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . L O N G _ F L O A T _ W I D E _ W I D E _ T E X T _ I O      --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . L O N G _ F L O A T _ W I D E _ W I D E _ T E X T _ I O      --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-liteio.ads gcc-4.1.0/gcc/ada/a-liteio.ads
*** gcc-4.0.2/gcc/ada/a-liteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-liteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . L O N G _ I N T E G E R _ T E X T _ I O              --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . L O N G _ I N T E G E R _ T E X T _ I O              --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-liwtio.ads gcc-4.1.0/gcc/ada/a-liwtio.ads
*** gcc-4.0.2/gcc/ada/a-liwtio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-liwtio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . L O N G _ I N T E G E R _ W I D E _ T E X T _ I O         --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . L O N G _ I N T E G E R _ W I D E _ T E X T _ I O         --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-liztio.ads gcc-4.1.0/gcc/ada/a-liztio.ads
*** gcc-4.0.2/gcc/ada/a-liztio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-liztio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . L O N G _ I N T E G E R _ W I D E _ W I D E _ T E X T _ I O    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . L O N G _ I N T E G E R _ W I D E _ W I D E _ T E X T _ I O    --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-llftio.ads gcc-4.1.0/gcc/ada/a-llftio.ads
*** gcc-4.0.2/gcc/ada/a-llftio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-llftio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . L O N G _ L O N G _ F L O A T _ T E X T _ I O           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . L O N G _ L O N G _ F L O A T _ T E X T _ I O           --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-llfwti.ads gcc-4.1.0/gcc/ada/a-llfwti.ads
*** gcc-4.0.2/gcc/ada/a-llfwti.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-llfwti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . L O N G _ L O N G _ F L O A T _ W I D E _ T E X T _ I O      --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . L O N G _ L O N G _ F L O A T _ W I D E _ T E X T _ I O      --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-llfzti.ads gcc-4.1.0/gcc/ada/a-llfzti.ads
*** gcc-4.0.2/gcc/ada/a-llfzti.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-llfzti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --A D A . L O N G _ L O N G _ F L O A T _ W I D E _ W I D E _ T E X T _ I O --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --A D A . L O N G _ L O N G _ F L O A T _ W I D E _ W I D E _ T E X T _ I O --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-llitio.ads gcc-4.1.0/gcc/ada/a-llitio.ads
*** gcc-4.0.2/gcc/ada/a-llitio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-llitio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . L O N G _ L O N G _ I N T E G E R _ T E X T _ I O         --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . L O N G _ L O N G _ I N T E G E R _ T E X T _ I O         --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-lliwti.ads gcc-4.1.0/gcc/ada/a-lliwti.ads
*** gcc-4.0.2/gcc/ada/a-lliwti.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-lliwti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . L O N G _ L O N G _ I N T E G E R _ W I D E _ T E X T _ I O    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . L O N G _ L O N G _ I N T E G E R _ W I D E _ T E X T _ I O    --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-llizti.ads gcc-4.1.0/gcc/ada/a-llizti.ads
*** gcc-4.0.2/gcc/ada/a-llizti.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-llizti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . L O N G _ L O N G _ I N T E G E R _ W I D E _ T E X T _ I O    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . L O N G _ L O N G _ I N T E G E R _ W I D E _ T E X T _ I O    --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ncelfu.ads gcc-4.1.0/gcc/ada/a-ncelfu.ads
*** gcc-4.0.2/gcc/ada/a-ncelfu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-ncelfu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX.ELEMENTARY_FUNCTIONS             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX.ELEMENTARY_FUNCTIONS             --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngcefu.adb gcc-4.1.0/gcc/ada/a-ngcefu.adb
*** gcc-4.0.2/gcc/ada/a-ngcefu.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-ngcefu.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX_ELEMENTARY_FUNCTIONS             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX_ELEMENTARY_FUNCTIONS             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Numerics.Generic_Comple
*** 305,311 ****
        Result : Complex;
  
     begin
!       --  For very small argument, sin (x) = x.
  
        if abs Re (X) < Square_Root_Epsilon and then
           abs Im (X) < Square_Root_Epsilon
--- 305,311 ----
        Result : Complex;
  
     begin
!       --  For very small argument, sin (x) = x
  
        if abs Re (X) < Square_Root_Epsilon and then
           abs Im (X) < Square_Root_Epsilon
*************** package body Ada.Numerics.Generic_Comple
*** 642,648 ****
           end if;
        end if;
  
!       if Im (X) < 0.0 then                 -- halve angle, Sqrt of magnitude
           R_Y := -R_Y;
        end if;
        return Compose_From_Cartesian (R_X, R_Y);
--- 642,648 ----
           end if;
        end if;
  
!       if Im (X) < 0.0 then -- halve angle, Sqrt of magnitude
           R_Y := -R_Y;
        end if;
        return Compose_From_Cartesian (R_X, R_Y);
*************** package body Ada.Numerics.Generic_Comple
*** 650,656 ****
     exception
        when Constraint_Error =>
  
!          --  Rescale and try again.
  
           R := Modulus (Compose_From_Cartesian (Re (X / 4.0), Im (X / 4.0)));
           R_X := 2.0 * Sqrt (0.5 * R + 0.5 * Re (X / 4.0));
--- 650,656 ----
     exception
        when Constraint_Error =>
  
!          --  Rescale and try again
  
           R := Modulus (Compose_From_Cartesian (Re (X / 4.0), Im (X / 4.0)));
           R_X := 2.0 * Sqrt (0.5 * R + 0.5 * Re (X / 4.0));
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngcefu.ads gcc-4.1.0/gcc/ada/a-ngcefu.ads
*** gcc-4.0.2/gcc/ada/a-ngcefu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-ngcefu.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX_ELEMENTARY_FUNCTIONS             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            ADA.NUMERICS.GENERIC_COMPLEX_ELEMENTARY_FUNCTIONS             --
  --                                                                          --
*************** generic
*** 19,25 ****
     use Complex_Types;
  
  package Ada.Numerics.Generic_Complex_Elementary_Functions is
!    pragma Pure (Ada.Numerics.Generic_Complex_Elementary_Functions);
  
     function Sqrt (X : Complex)   return Complex;
  
--- 19,25 ----
     use Complex_Types;
  
  package Ada.Numerics.Generic_Complex_Elementary_Functions is
!    pragma Pure;
  
     function Sqrt (X : Complex)   return Complex;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngcoty.adb gcc-4.1.0/gcc/ada/a-ngcoty.adb
*** gcc-4.0.2/gcc/ada/a-ngcoty.adb	Mon Mar 15 14:50:55 2004
--- gcc-4.1.0/gcc/ada/a-ngcoty.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . N U M E R I C S . G E N E R I C _ C O M P L E X _ T Y P E S    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . N U M E R I C S . G E N E R I C _ C O M P L E X _ T Y P E S    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with Ada.Numerics.Aux; use Ada.Numerics.Aux;
+ 
  package body Ada.Numerics.Generic_Complex_Types is
  
     subtype R is Real'Base;
*************** package body Ada.Numerics.Generic_Comple
*** 51,57 ****
        X := Left.Re * Right.Re - Left.Im * Right.Im;
        Y := Left.Re * Right.Im + Left.Im * Right.Re;
  
!       --  If either component overflows, try to scale.
  
        if abs (X) > R'Last then
           X := R'(4.0) * (R'(Left.Re / 2.0)  * R'(Right.Re / 2.0)
--- 52,58 ----
        X := Left.Re * Right.Re - Left.Im * Right.Im;
        Y := Left.Re * Right.Im + Left.Im * Right.Re;
  
!       --  If either component overflows, try to scale
  
        if abs (X) > R'Last then
           X := R'(4.0) * (R'(Left.Re / 2.0)  * R'(Right.Re / 2.0)
*************** package body Ada.Numerics.Generic_Comple
*** 626,632 ****
        elsif Im2 = 0.0 then
           return abs (X.Re);
  
!          --  in all other cases, the naive computation will do.
  
        else
           return R (Sqrt (Double (Re2 + Im2)));
--- 627,633 ----
        elsif Im2 = 0.0 then
           return abs (X.Re);
  
!       --  In all other cases, the naive computation will do
  
        else
           return R (Sqrt (Double (Re2 + Im2)));
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngcoty.ads gcc-4.1.0/gcc/ada/a-ngcoty.ads
*** gcc-4.0.2/gcc/ada/a-ngcoty.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-ngcoty.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-1997 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 39,46 ****
     type Real is digits <>;
  
  package Ada.Numerics.Generic_Complex_Types is
! 
! pragma Pure (Generic_Complex_Types);
  
     type Complex is record
        Re, Im : Real'Base;
--- 39,45 ----
     type Real is digits <>;
  
  package Ada.Numerics.Generic_Complex_Types is
!    pragma Pure;
  
     type Complex is record
        Re, Im : Real'Base;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngelfu.adb gcc-4.1.0/gcc/ada/a-ngelfu.adb
*** gcc-4.0.2/gcc/ada/a-ngelfu.adb	Fri Jun 25 16:39:24 2004
--- gcc-4.1.0/gcc/ada/a-ngelfu.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                ADA.NUMERICS.GENERIC_ELEMENTARY_FUNCTIONS                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                ADA.NUMERICS.GENERIC_ELEMENTARY_FUNCTIONS                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ngelfu.ads gcc-4.1.0/gcc/ada/a-ngelfu.ads
*** gcc-4.0.2/gcc/ada/a-ngelfu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-ngelfu.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                ADA.NUMERICS.GENERIC_ELEMENTARY_FUNCTIONS                 --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                ADA.NUMERICS.GENERIC_ELEMENTARY_FUNCTIONS                 --
  --                                                                          --
*************** generic
*** 17,23 ****
     type Float_Type is digits <>;
  
  package Ada.Numerics.Generic_Elementary_Functions is
! pragma Pure (Generic_Elementary_Functions);
  
     function Sqrt    (X           : Float_Type'Base) return Float_Type'Base;
     function Log     (X           : Float_Type'Base) return Float_Type'Base;
--- 17,23 ----
     type Float_Type is digits <>;
  
  package Ada.Numerics.Generic_Elementary_Functions is
!    pragma Pure;
  
     function Sqrt    (X           : Float_Type'Base) return Float_Type'Base;
     function Log     (X           : Float_Type'Base) return Float_Type'Base;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nlcefu.ads gcc-4.1.0/gcc/ada/a-nlcefu.ads
*** gcc-4.0.2/gcc/ada/a-nlcefu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nlcefu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              ADA.NUMERICS.LONG_COMPLEX.ELEMENTARY_FUNCTIONS              --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              ADA.NUMERICS.LONG_COMPLEX.ELEMENTARY_FUNCTIONS              --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nlcoty.ads gcc-4.1.0/gcc/ada/a-nlcoty.ads
*** gcc-4.0.2/gcc/ada/a-nlcoty.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nlcoty.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --       A D A . N U M E R I C S . L O N G _ C O M P L E X _ T Y P E S      --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --       A D A . N U M E R I C S . L O N G _ C O M P L E X _ T Y P E S      --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nlelfu.ads gcc-4.1.0/gcc/ada/a-nlelfu.ads
*** gcc-4.0.2/gcc/ada/a-nlelfu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nlelfu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  ADA.NUMERICS.LONG_ELEMENTARY_FUNCTIONS                  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  ADA.NUMERICS.LONG_ELEMENTARY_FUNCTIONS                  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nllcef.ads gcc-4.1.0/gcc/ada/a-nllcef.ads
*** gcc-4.0.2/gcc/ada/a-nllcef.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nllcef.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           ADA.NUMERICS.LONG_LONG_COMPLEX.ELEMENTARY_FUNCTIONS            --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           ADA.NUMERICS.LONG_LONG_COMPLEX.ELEMENTARY_FUNCTIONS            --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nllcty.ads gcc-4.1.0/gcc/ada/a-nllcty.ads
*** gcc-4.0.2/gcc/ada/a-nllcty.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nllcty.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  -- A D A . N U M E R I C S . L O N G _ L O N G _ C O M P L E X _ T Y P E S  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  -- A D A . N U M E R I C S . L O N G _ L O N G _ C O M P L E X _ T Y P E S  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nllefu.ads gcc-4.1.0/gcc/ada/a-nllefu.ads
*** gcc-4.0.2/gcc/ada/a-nllefu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nllefu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               ADA.NUMERICS.LONG_LONG_ELEMENTARY_FUNCTIONS                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               ADA.NUMERICS.LONG_LONG_ELEMENTARY_FUNCTIONS                --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nscefu.ads gcc-4.1.0/gcc/ada/a-nscefu.ads
*** gcc-4.0.2/gcc/ada/a-nscefu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nscefu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              ADA.NUMERICS.SHORT.COMPLEX.ELEMENTARY_FUNCTIONS             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              ADA.NUMERICS.SHORT.COMPLEX.ELEMENTARY_FUNCTIONS             --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nscoty.ads gcc-4.1.0/gcc/ada/a-nscoty.ads
*** gcc-4.0.2/gcc/ada/a-nscoty.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nscoty.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . N U M E R I C S . S H O R T _ C O M P L E X _ T Y P E S     --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . N U M E R I C S . S H O R T _ C O M P L E X _ T Y P E S     --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nselfu.ads gcc-4.1.0/gcc/ada/a-nselfu.ads
*** gcc-4.0.2/gcc/ada/a-nselfu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nselfu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 ADA.NUMERICS.SHORT_ELEMENTARY_FUNCTIONS                  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 ADA.NUMERICS.SHORT_ELEMENTARY_FUNCTIONS                  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nucoty.ads gcc-4.1.0/gcc/ada/a-nucoty.ads
*** gcc-4.0.2/gcc/ada/a-nucoty.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nucoty.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            A D A . N U M E R I C S . C O M P L E X _ T Y P E S           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            A D A . N U M E R I C S . C O M P L E X _ T Y P E S           --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nudira.adb gcc-4.1.0/gcc/ada/a-nudira.adb
*** gcc-4.0.2/gcc/ada/a-nudira.adb	Sun Apr 24 19:21:56 2005
--- gcc-4.1.0/gcc/ada/a-nudira.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . N U M E R I C S . D I S C R E T E _ R A N D O M          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . N U M E R I C S . D I S C R E T E _ R A N D O M          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with Ada.Calendar;
+ 
  with Interfaces; use Interfaces;
  
  package body Ada.Numerics.Discrete_Random is
*************** package body Ada.Numerics.Discrete_Rando
*** 201,207 ****
  
     procedure Reset (Gen : Generator; From_State : State) is
        Genp : constant Pointer := Gen.Gen_State'Unrestricted_Access;
- 
     begin
        Genp.all := From_State;
     end Reset;
--- 202,207 ----
*************** package body Ada.Numerics.Discrete_Rando
*** 261,267 ****
        Outs.FP  := Flt (Outs.P);
        Outs.Scl := (RstL - RstF + 1.0) / (Flt (Outs.P) * Flt (Outs.Q));
  
!       --  Now do *some* sanity checks.
  
        if Outs.Q < 31
          or else Outs.X1 not in 2 .. Outs.P - 1
--- 261,267 ----
        Outs.FP  := Flt (Outs.P);
        Outs.Scl := (RstL - RstF + 1.0) / (Flt (Outs.P) * Flt (Outs.Q));
  
!       --  Now do *some* sanity checks
  
        if Outs.Q < 31
          or else Outs.X1 not in 2 .. Outs.P - 1
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nudira.ads gcc-4.1.0/gcc/ada/a-nudira.ads
*** gcc-4.0.2/gcc/ada/a-nudira.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-nudira.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,48 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  Note: the implementation used in this package was contributed by
! --  Robert Eachus. It is based on the work of L. Blum, M. Blum, and
! --  M. Shub, SIAM Journal of Computing, Vol 15. No 2, May 1986. The
! --  particular choices for P and Q chosen here guarantee a period of
! --  562,085,314,430,582 (about 2**49), and the generated sequence has
! --  excellent randomness properties. For further details, see the
! --  paper "Fast Generation of Trustworthy Random Numbers", by Robert
! --  Eachus, which describes both the algorithm and the efficient
  --  implementation approach used here.
  
  with Interfaces;
--- 35,47 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  Note: the implementation used in this package was contributed by Robert
! --  Eachus. It is based on the work of L. Blum, M. Blum, and M. Shub, SIAM
! --  Journal of Computing, Vol 15. No 2, May 1986. The particular choices for P
! --  and Q chosen here guarantee a period of 562,085,314,430,582 (about 2**49),
! --  and the generated sequence has excellent randomness properties. For further
! --  details, see the paper "Fast Generation of Trustworthy Random Numbers", by
! --  Robert Eachus, which describes both the algorithm and the efficient
  --  implementation approach used here.
  
  with Interfaces;
*************** generic
*** 52,67 ****
  
  package Ada.Numerics.Discrete_Random is
  
!    --  The algorithm used here is reliable from a required statistical point
!    --  of view only up to 48 bits. We try to behave reasonably in the case
!    --  of larger types, but we can't guarantee the required properties.
!    --  So generate a warning for these (slightly) dubious cases.
  
     pragma Compile_Time_Warning
       (Result_Subtype'Size > 48,
        "statistical properties not guaranteed for size '> 48");
  
!    --  Basic facilities.
  
     type Generator is limited private;
  
--- 51,66 ----
  
  package Ada.Numerics.Discrete_Random is
  
!    --  The algorithm used here is reliable from a required statistical point of
!    --  view only up to 48 bits. We try to behave reasonably in the case of
!    --  larger types, but we can't guarantee the required properties. So
!    --  generate a warning for these (slightly) dubious cases.
  
     pragma Compile_Time_Warning
       (Result_Subtype'Size > 48,
        "statistical properties not guaranteed for size '> 48");
  
!    --  Basic facilities
  
     type Generator is limited private;
  
*************** package Ada.Numerics.Discrete_Random is
*** 70,76 ****
     procedure Reset (Gen : Generator);
     procedure Reset (Gen : Generator; Initiator : Integer);
  
!    --  Advanced facilities.
  
     type State is private;
  
--- 69,75 ----
     procedure Reset (Gen : Generator);
     procedure Reset (Gen : Generator; Initiator : Integer);
  
!    --  Advanced facilities
  
     type State is private;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nuelfu.ads gcc-4.1.0/gcc/ada/a-nuelfu.ads
*** gcc-4.0.2/gcc/ada/a-nuelfu.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-nuelfu.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . N U M E R I C S . E L E M E N T A R Y _ F U N C T I O N S    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . N U M E R I C S . E L E M E N T A R Y _ F U N C T I O N S    --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nuflra.adb gcc-4.1.0/gcc/ada/a-nuflra.adb
*** gcc-4.0.2/gcc/ada/a-nuflra.adb	Sun Apr 24 19:21:56 2005
--- gcc-4.1.0/gcc/ada/a-nuflra.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            A D A . N U M E R I C S . F L O A T _ R A N D O M             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            A D A . N U M E R I C S . F L O A T _ R A N D O M             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Numerics.Float_Random i
*** 164,170 ****
        X1 := 2 + Int (Initiator) mod (K1 - 3);
        X2 := 2 + Int (Initiator) mod (K2 - 3);
  
!       --  Eliminate effects of small Initiators.
  
        for J in 1 .. 5 loop
           X1 := Square_Mod_N (X1, K1);
--- 164,170 ----
        X1 := 2 + Int (Initiator) mod (K1 - 3);
        X2 := 2 + Int (Initiator) mod (K2 - 3);
  
!       --  Eliminate effects of small initiators
  
        for J in 1 .. 5 loop
           X1 := Square_Mod_N (X1, K1);
*************** package body Ada.Numerics.Float_Random i
*** 299,305 ****
        Outs.X   := Euclid (Outs.P, Outs.Q);
        Outs.Scl := 1.0 / (Flt (Outs.P) * Flt (Outs.Q));
  
!       --  Now do *some* sanity checks.
  
        if Outs.Q < 31 or else Outs.P < 31
          or else Outs.X1 not in 2 .. Outs.P - 1
--- 299,305 ----
        Outs.X   := Euclid (Outs.P, Outs.Q);
        Outs.Scl := 1.0 / (Flt (Outs.P) * Flt (Outs.Q));
  
!       --  Now do *some* sanity checks
  
        if Outs.Q < 31 or else Outs.P < 31
          or else Outs.X1 not in 2 .. Outs.P - 1
diff -Nrcpad gcc-4.0.2/gcc/ada/a-nuflra.ads gcc-4.1.0/gcc/ada/a-nuflra.ads
*** gcc-4.0.2/gcc/ada/a-nuflra.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-nuflra.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-darwin.adb gcc-4.1.0/gcc/ada/a-numaux-darwin.adb
*** gcc-4.0.2/gcc/ada/a-numaux-darwin.adb	Mon Jan  3 15:34:18 2005
--- gcc-4.1.0/gcc/ada/a-numaux-darwin.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                          (Apple OS X Version)                            --
  --                                                                          --
! --          Copyright (C) 1998-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                          (Apple OS X Version)                            --
  --                                                                          --
! --          Copyright (C) 1998-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  File a-numaux.adb <- a-numaux-darwin.adb
  
  package body Ada.Numerics.Aux is
  
--- 32,38 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  File a-numaux.adb <- a-numaux-d arwin.adb
  
  package body Ada.Numerics.Aux is
  
*************** package body Ada.Numerics.Aux is
*** 95,101 ****
        P5 : constant Double := Double'Leading_Part (Half_Pi - P1 - P2 - P3
                                                                   - P4, HM);
        P6 : constant Double := Double'Model (Half_Pi - P1 - P2 - P3 - P4 - P5);
!       K  : Double := X * Two_Over_Pi;
     begin
        --  For X < 2.0**HM, all products below are computed exactly.
        --  Due to cancellation effects all subtractions are exact as well.
--- 95,102 ----
        P5 : constant Double := Double'Leading_Part (Half_Pi - P1 - P2 - P3
                                                                   - P4, HM);
        P6 : constant Double := Double'Model (Half_Pi - P1 - P2 - P3 - P4 - P5);
!       K  : Double;
! 
     begin
        --  For X < 2.0**HM, all products below are computed exactly.
        --  Due to cancellation effects all subtractions are exact as well.
*************** package body Ada.Numerics.Aux is
*** 103,119 ****
        --  zeros after the binary point, the result will be the correctly
        --  rounded result of X - K * (Pi / 2.0).
  
!       while abs K >= 2.0**HM loop
           K := K * M - (K * M - K);
!          X := (((((X - K * P1) - K * P2) - K * P3)
!                      - K * P4) - K * P5) - K * P6;
           K := X * Two_Over_Pi;
        end loop;
  
!       if K /= K then
! 
!          --  K is not a number, because X was not finite
  
           raise Constraint_Error;
        end if;
  
--- 104,120 ----
        --  zeros after the binary point, the result will be the correctly
        --  rounded result of X - K * (Pi / 2.0).
  
!       K := X * Two_Over_Pi;
!       while abs K >= 2.0 ** HM loop
           K := K * M - (K * M - K);
!          X :=
!            (((((X - K * P1) - K * P2) - K * P3) - K * P4) - K * P5) - K * P6;
           K := X * Two_Over_Pi;
        end loop;
  
!       --  If K is not a number (because X was not finite) raise exception
  
+       if K /= K then
           raise Constraint_Error;
        end if;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-darwin.ads gcc-4.1.0/gcc/ada/a-numaux-darwin.ads
*** gcc-4.0.2/gcc/ada/a-numaux-darwin.ads	Mon Jan  3 15:34:18 2005
--- gcc-4.1.0/gcc/ada/a-numaux-darwin.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                          (Apple OS X Version)                            --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                          (Apple OS X Version)                            --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  --  routines that take 80-bit arguments).
  
  package Ada.Numerics.Aux is
! pragma Pure (Aux);
  
     pragma Linker_Options ("-lm");
  
--- 41,47 ----
  --  routines that take 80-bit arguments).
  
  package Ada.Numerics.Aux is
!    pragma Pure;
  
     pragma Linker_Options ("-lm");
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-libc-x86.ads gcc-4.1.0/gcc/ada/a-numaux-libc-x86.ads
*** gcc-4.0.2/gcc/ada/a-numaux-libc-x86.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-numaux-libc-x86.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version for x86)                        --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version for x86)                        --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,50 ****
  --  double (see file a-numaux.ads).
  
  package Ada.Numerics.Aux is
! pragma Pure (Aux);
  
     pragma Linker_Options ("-lm");
  
--- 44,50 ----
  --  double (see file a-numaux.ads).
  
  package Ada.Numerics.Aux is
!    pragma Pure;
  
     pragma Linker_Options ("-lm");
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-vxworks.ads gcc-4.1.0/gcc/ada/a-numaux-vxworks.ads
*** gcc-4.0.2/gcc/ada/a-numaux-vxworks.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-numaux-vxworks.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version, VxWorks)                       --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version, VxWorks)                       --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,50 ****
  --  long double (see file 4onumaux.ads).
  
  package Ada.Numerics.Aux is
! pragma Pure (Aux);
  
     --  This version omits the pragma linker_options ("-lm") since there is
     --  no libm.a library for VxWorks.
--- 44,50 ----
  --  long double (see file 4onumaux.ads).
  
  package Ada.Numerics.Aux is
!    pragma Pure;
  
     --  This version omits the pragma linker_options ("-lm") since there is
     --  no libm.a library for VxWorks.
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-x86.adb gcc-4.1.0/gcc/ada/a-numaux-x86.adb
*** gcc-4.0.2/gcc/ada/a-numaux-x86.adb	Mon Nov  8 14:03:44 2004
--- gcc-4.1.0/gcc/ada/a-numaux-x86.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                        (Machine Version for x86)                         --
  --                                                                          --
! --          Copyright (C) 1998-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                        (Machine Version for x86)                         --
  --                                                                          --
! --          Copyright (C) 1998-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux-x86.ads gcc-4.1.0/gcc/ada/a-numaux-x86.ads
*** gcc-4.0.2/gcc/ada/a-numaux-x86.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-numaux-x86.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                        (Machine Version for x86)                         --
  --                                                                          --
! --          Copyright (C) 1992-1998 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                        (Machine Version for x86)                         --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 42,48 ****
  --  routines directly.
  
  package Ada.Numerics.Aux is
! pragma Pure (Aux);
  
     type Double is new Long_Long_Float;
  
--- 42,48 ----
  --  routines directly.
  
  package Ada.Numerics.Aux is
!    pragma Pure;
  
     type Double is new Long_Long_Float;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numaux.ads gcc-4.1.0/gcc/ada/a-numaux.ads
*** gcc-4.0.2/gcc/ada/a-numaux.ads	Mon Jan  5 15:20:43 2004
--- gcc-4.1.0/gcc/ada/a-numaux.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version, non-x86)                       --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . N U M E R I C S . A U X                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                       (C Library Version, non-x86)                       --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 46,52 ****
  --  routines that take 80-bit arguments).
  
  package Ada.Numerics.Aux is
! pragma Pure (Aux);
  
     pragma Linker_Options ("-lm");
  
--- 46,52 ----
  --  routines that take 80-bit arguments).
  
  package Ada.Numerics.Aux is
!    pragma Pure;
  
     pragma Linker_Options ("-lm");
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-numeri.ads gcc-4.1.0/gcc/ada/a-numeri.ads
*** gcc-4.0.2/gcc/ada/a-numeri.ads	Thu Feb 10 13:57:00 2005
--- gcc-4.1.0/gcc/ada/a-numeri.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                         A D A . N U M E R I C S                          --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                         A D A . N U M E R I C S                          --
  --                                                                          --
***************
*** 13,21 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  package Ada.Numerics is
! pragma Pure (Numerics);
  
     Argument_Error : exception;
  
--- 13,20 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  package Ada.Numerics is
!    pragma Pure;
  
     Argument_Error : exception;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-rbtgso.adb gcc-4.1.0/gcc/ada/a-rbtgso.adb
*** gcc-4.0.2/gcc/ada/a-rbtgso.adb	Wed Feb  9 11:14:39 2005
--- gcc-4.1.0/gcc/ada/a-rbtgso.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --          ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_SET_OPERATIONS           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,13 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --       A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .      --
! --               G E N E R I C _ S E T _ O P E R A T I O N S                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 21,28 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,40 ****
--- 34,90 ----
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
+ with System; use type System.Address;
+ 
  package body Ada.Containers.Red_Black_Trees.Generic_Set_Operations is
  
+    -----------------------
+    -- Local Subprograms --
+    -----------------------
+ 
+    procedure Clear (Tree : in out Tree_Type);
+ 
+    function Copy (Source : Tree_Type) return Tree_Type;
+ 
+    -----------
+    -- Clear --
+    -----------
+ 
+    procedure Clear (Tree : in out Tree_Type) is
+       pragma Assert (Tree.Busy = 0);
+       pragma Assert (Tree.Lock = 0);
+ 
+       Root : Node_Access := Tree.Root;
+ 
+    begin
+       Tree.Root := null;
+       Tree.First := null;
+       Tree.Last := null;
+       Tree.Length := 0;
+ 
+       Delete_Tree (Root);
+    end Clear;
+ 
+    ----------
+    -- Copy --
+    ----------
+ 
+    function Copy (Source : Tree_Type) return Tree_Type is
+       Target : Tree_Type;
+ 
+    begin
+       if Source.Length = 0 then
+          return Target;
+       end if;
+ 
+       Target.Root := Copy_Tree (Source.Root);
+       Target.First := Tree_Operations.Min (Target.Root);
+       Target.Last := Tree_Operations.Max (Target.Root);
+       Target.Length := Source.Length;
+ 
+       return Target;
+    end Copy;
+ 
     ----------------
     -- Difference --
     ----------------
*************** package body Ada.Containers.Red_Black_Tr
*** 44,62 ****
        Src : Node_Access := Source.First;
  
     begin
  
!       --  NOTE: must be done by client:
!       --      if Target'Address = Source'Address then
!       --         Clear (Target);
!       --         return;
!       --      end if;
  
        loop
!          if Tgt = Tree_Operations.Null_Node then
              return;
           end if;
  
!          if Src = Tree_Operations.Null_Node then
              return;
           end if;
  
--- 94,122 ----
        Src : Node_Access := Source.First;
  
     begin
+       if Target'Address = Source'Address then
+          if Target.Busy > 0 then
+             raise Program_Error;
+          end if;
  
!          Clear (Target);
!          return;
!       end if;
! 
!       if Source.Length = 0 then
!          return;
!       end if;
! 
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
  
        loop
!          if Tgt = null then
              return;
           end if;
  
!          if Src = null then
              return;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 81,87 ****
     end Difference;
  
     function Difference (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type := (Length => 0, others => Tree_Operations.Null_Node);
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
--- 141,147 ----
     end Difference;
  
     function Difference (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type;
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
*************** package body Ada.Containers.Red_Black_Tr
*** 89,109 ****
        Dst_Node : Node_Access;
  
     begin
!       --  NOTE: must by done by client:
!       --      if Left'Address = Right'Address then
!       --         return Empty_Set;
!       --      end if;
  
        loop
!          if L_Node = Tree_Operations.Null_Node then
              return Tree;
           end if;
  
!          if R_Node = Tree_Operations.Null_Node then
!             while L_Node /= Tree_Operations.Null_Node loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => Tree_Operations.Null_Node,
                    Src_Node => L_Node,
                    Dst_Node => Dst_Node);
  
--- 149,176 ----
        Dst_Node : Node_Access;
  
     begin
!       if Left'Address = Right'Address then
!          return Tree;  -- Empty set
!       end if;
! 
!       if Left.Length = 0 then
!          return Tree;  -- Empty set
!       end if;
! 
!       if Right.Length = 0 then
!          return Copy (Left);
!       end if;
  
        loop
!          if L_Node = null then
              return Tree;
           end if;
  
!          if R_Node = null then
!             while L_Node /= null loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => null,
                    Src_Node => L_Node,
                    Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 117,123 ****
           if Is_Less (L_Node, R_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => Tree_Operations.Null_Node,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
--- 184,190 ----
           if Is_Less (L_Node, R_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => null,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 150,162 ****
        Src : Node_Access := Source.First;
  
     begin
!       --  NOTE: must be done by caller: ???
!       --      if Target'Address = Source'Address then
!       --         return;
!       --      end if;
  
!       while Tgt /= Tree_Operations.Null_Node
!         and then Src /= Tree_Operations.Null_Node
        loop
           if Is_Less (Tgt, Src) then
              declare
--- 217,237 ----
        Src : Node_Access := Source.First;
  
     begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
  
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       if Source.Length = 0 then
!          Clear (Target);
!          return;
!       end if;
! 
!       while Tgt /= null
!         and then Src /= null
        loop
           if Is_Less (Tgt, Src) then
              declare
*************** package body Ada.Containers.Red_Black_Tr
*** 175,184 ****
              Src := Tree_Operations.Next (Src);
           end if;
        end loop;
     end Intersection;
  
     function Intersection (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type := (Length => 0, others => Tree_Operations.Null_Node);
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
--- 250,269 ----
              Src := Tree_Operations.Next (Src);
           end if;
        end loop;
+ 
+       while Tgt /= null loop
+          declare
+             X : Node_Access := Tgt;
+          begin
+             Tgt := Tree_Operations.Next (Tgt);
+             Tree_Operations.Delete_Node_Sans_Free (Target, X);
+             Free (X);
+          end;
+       end loop;
     end Intersection;
  
     function Intersection (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type;
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
*************** package body Ada.Containers.Red_Black_Tr
*** 186,202 ****
        Dst_Node : Node_Access;
  
     begin
!       --  NOTE: must be done by caller: ???
!       --      if Left'Address = Right'Address then
!       --         return Left;
!       --      end if;
  
        loop
!          if L_Node = Tree_Operations.Null_Node then
              return Tree;
           end if;
  
!          if R_Node = Tree_Operations.Null_Node then
              return Tree;
           end if;
  
--- 271,286 ----
        Dst_Node : Node_Access;
  
     begin
!       if Left'Address = Right'Address then
!          return Copy (Left);
!       end if;
  
        loop
!          if L_Node = null then
              return Tree;
           end if;
  
!          if R_Node = null then
              return Tree;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 209,215 ****
           else
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => Tree_Operations.Null_Node,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
--- 293,299 ----
           else
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => null,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 233,242 ****
        Of_Set : Tree_Type) return Boolean
     is
     begin
!       --  NOTE: must by done by caller:
!       --      if Subset'Address = Of_Set'Address then
!       --         return True;
!       --      end if;
  
        if Subset.Length > Of_Set.Length then
           return False;
--- 317,325 ----
        Of_Set : Tree_Type) return Boolean
     is
     begin
!       if Subset'Address = Of_Set'Address then
!          return True;
!       end if;
  
        if Subset.Length > Of_Set.Length then
           return False;
*************** package body Ada.Containers.Red_Black_Tr
*** 244,258 ****
  
        declare
           Subset_Node : Node_Access := Subset.First;
!          Set_Node : Node_Access := Of_Set.First;
  
        begin
           loop
!             if Set_Node = Tree_Operations.Null_Node then
!                return Subset_Node = Tree_Operations.Null_Node;
              end if;
  
!             if Subset_Node = Tree_Operations.Null_Node then
                 return True;
              end if;
  
--- 327,341 ----
  
        declare
           Subset_Node : Node_Access := Subset.First;
!          Set_Node    : Node_Access := Of_Set.First;
  
        begin
           loop
!             if Set_Node = null then
!                return Subset_Node = null;
              end if;
  
!             if Subset_Node = null then
                 return True;
              end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 279,292 ****
        R_Node : Node_Access := Right.First;
  
     begin
!       --  NOTE: must be done by caller: ???
!       --      if Left'Address = Right'Address then
!       --         return Left.Tree.Length /= 0;
!       --      end if;
  
        loop
!          if L_Node = Tree_Operations.Null_Node
!            or else R_Node = Tree_Operations.Null_Node
           then
              return False;
           end if;
--- 362,374 ----
        R_Node : Node_Access := Right.First;
  
     begin
!       if Left'Address = Right'Address then
!          return Left.Length /= 0;
!       end if;
  
        loop
!          if L_Node = null
!            or else R_Node = null
           then
              return False;
           end if;
*************** package body Ada.Containers.Red_Black_Tr
*** 317,334 ****
        New_Tgt_Node : Node_Access;
  
     begin
!       --  NOTE: must by done by client: ???
!       --      if Target'Address = Source'Address then
!       --         Clear (Target);
!       --         return;
!       --      end if;
  
        loop
!          if Tgt = Tree_Operations.Null_Node then
!             while Src /= Tree_Operations.Null_Node loop
                 Insert_With_Hint
                   (Dst_Tree => Target,
!                   Dst_Hint => Tree_Operations.Null_Node,
                    Src_Node => Src,
                    Dst_Node => New_Tgt_Node);
  
--- 399,419 ----
        New_Tgt_Node : Node_Access;
  
     begin
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
! 
!       if Target'Address = Source'Address then
!          Clear (Target);
!          return;
!       end if;
  
        loop
!          if Tgt = null then
!             while Src /= null loop
                 Insert_With_Hint
                   (Dst_Tree => Target,
!                   Dst_Hint => null,
                    Src_Node => Src,
                    Dst_Node => New_Tgt_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 338,344 ****
              return;
           end if;
  
!          if Src = Tree_Operations.Null_Node then
              return;
           end if;
  
--- 423,429 ----
              return;
           end if;
  
!          if Src = null then
              return;
           end if;
  
*************** package body Ada.Containers.Red_Black_Tr
*** 369,375 ****
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type := (Length => 0, others => Tree_Operations.Null_Node);
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
--- 454,460 ----
     end Symmetric_Difference;
  
     function Symmetric_Difference (Left, Right : Tree_Type) return Tree_Type is
!       Tree : Tree_Type;
  
        L_Node : Node_Access := Left.First;
        R_Node : Node_Access := Right.First;
*************** package body Ada.Containers.Red_Black_Tr
*** 377,393 ****
        Dst_Node : Node_Access;
  
     begin
!       --  NOTE: must by done by caller ???
!       --      if Left'Address = Right'Address then
!       --         return Empty_Set;
!       --      end if;
  
        loop
!          if L_Node = Tree_Operations.Null_Node then
!             while R_Node /= Tree_Operations.Null_Node loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => Tree_Operations.Null_Node,
                    Src_Node => R_Node,
                    Dst_Node => Dst_Node);
                 R_Node := Tree_Operations.Next (R_Node);
--- 462,485 ----
        Dst_Node : Node_Access;
  
     begin
!       if Left'Address = Right'Address then
!          return Tree;  -- Empty set
!       end if;
! 
!       if Right.Length = 0 then
!          return Copy (Left);
!       end if;
! 
!       if Left.Length = 0 then
!          return Copy (Right);
!       end if;
  
        loop
!          if L_Node = null then
!             while R_Node /= null loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => null,
                    Src_Node => R_Node,
                    Dst_Node => Dst_Node);
                 R_Node := Tree_Operations.Next (R_Node);
*************** package body Ada.Containers.Red_Black_Tr
*** 396,406 ****
              return Tree;
           end if;
  
!          if R_Node = Tree_Operations.Null_Node then
!             while L_Node /= Tree_Operations.Null_Node loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => Tree_Operations.Null_Node,
                    Src_Node => L_Node,
                    Dst_Node => Dst_Node);
  
--- 488,498 ----
              return Tree;
           end if;
  
!          if R_Node = null then
!             while L_Node /= null loop
                 Insert_With_Hint
                   (Dst_Tree => Tree,
!                   Dst_Hint => null,
                    Src_Node => L_Node,
                    Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 413,419 ****
           if Is_Less (L_Node, R_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => Tree_Operations.Null_Node,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
--- 505,511 ----
           if Is_Less (L_Node, R_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => null,
                 Src_Node => L_Node,
                 Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 422,428 ****
           elsif Is_Less (R_Node, L_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => Tree_Operations.Null_Node,
                 Src_Node => R_Node,
                 Dst_Node => Dst_Node);
  
--- 514,520 ----
           elsif Is_Less (R_Node, L_Node) then
              Insert_With_Hint
                (Dst_Tree => Tree,
!                Dst_Hint => null,
                 Src_Node => R_Node,
                 Dst_Node => Dst_Node);
  
*************** package body Ada.Containers.Red_Black_Tr
*** 469,501 ****
     --  Start of processing for Union
  
     begin
!       --  NOTE: must be done by caller: ???
!       --      if Target'Address = Source'Address then
!       --         return;
!       --      end if;
  
        Iterate (Source);
     end Union;
  
     function Union (Left, Right : Tree_Type) return Tree_Type is
-       Tree : Tree_Type;
- 
     begin
!       --  NOTE: must be done by caller:
!       --      if Left'Address = Right'Address then
!       --         return Left;
!       --      end if;
  
!       declare
!          Root : constant Node_Access := Copy_Tree (Left.Root);
!       begin
!          Tree := (Root   => Root,
!                   First  => Tree_Operations.Min (Root),
!                   Last   => Tree_Operations.Max (Root),
!                   Length => Left.Length);
!       end;
  
        declare
           Hint : Node_Access;
  
           procedure Process (Node : Node_Access);
--- 561,594 ----
     --  Start of processing for Union
  
     begin
!       if Target'Address = Source'Address then
!          return;
!       end if;
! 
!       if Target.Busy > 0 then
!          raise Program_Error;
!       end if;
  
        Iterate (Source);
     end Union;
  
     function Union (Left, Right : Tree_Type) return Tree_Type is
     begin
!       if Left'Address = Right'Address then
!          return Copy (Left);
!       end if;
  
!       if Left.Length = 0 then
!          return Copy (Right);
!       end if;
! 
!       if Right.Length = 0 then
!          return Copy (Left);
!       end if;
  
        declare
+          Tree : Tree_Type := Copy (Left);
+ 
           Hint : Node_Access;
  
           procedure Process (Node : Node_Access);
*************** package body Ada.Containers.Red_Black_Tr
*** 521,526 ****
--- 614,620 ----
  
        begin
           Iterate (Right);
+          return Tree;
  
        exception
           when others =>
*************** package body Ada.Containers.Red_Black_Tr
*** 528,534 ****
              raise;
        end;
  
-       return Tree;
     end Union;
  
  end Ada.Containers.Red_Black_Trees.Generic_Set_Operations;
--- 622,627 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-rbtgso.ads gcc-4.1.0/gcc/ada/a-rbtgso.ads
*** gcc-4.0.2/gcc/ada/a-rbtgso.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-rbtgso.ads	Mon Sep  5 07:51:25 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --          ADA.CONTAINERS.RED_BLACK_TREES.GENERIC_SET_OPERATIONS           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,9 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --       A D A . C O N T A I N E R S . R E D _ B L A C K _ T R E E S .      --
! --               G E N E R I C _ S E T _ O P E R A T I O N S                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
*************** generic
*** 36,42 ****
     with procedure Free (X : in out Node_Access);
  
  package Ada.Containers.Red_Black_Trees.Generic_Set_Operations is
! pragma Pure (Generic_Set_Operations);
  
     procedure Union (Target : in out Tree_Type; Source : Tree_Type);
  
--- 37,43 ----
     with procedure Free (X : in out Node_Access);
  
  package Ada.Containers.Red_Black_Trees.Generic_Set_Operations is
!    pragma Pure;
  
     procedure Union (Target : in out Tree_Type; Source : Tree_Type);
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-reatim.adb gcc-4.1.0/gcc/ada/a-reatim.adb
*** gcc-4.0.2/gcc/ada/a-reatim.adb	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-reatim.adb	Mon Sep  5 07:51:25 2005
***************
*** 1,13 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                         A D A . R E A L _ T I M E                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2003, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,13 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 --
  --                                                                          --
  --                         A D A . R E A L _ T I M E                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Real_Time is
*** 154,159 ****
--- 154,168 ----
        return Time_Span_Unit * MS * 1_000_000;
     end Milliseconds;
  
+    -------------
+    -- Minutes --
+    -------------
+ 
+    function Minutes (M : Integer) return Time_Span is
+    begin
+       return Milliseconds (M) * Integer'(60_000);
+    end Minutes;
+ 
     -----------------
     -- Nanoseconds --
     -----------------
*************** package body Ada.Real_Time is
*** 163,168 ****
--- 172,186 ----
        return Time_Span_Unit * NS;
     end Nanoseconds;
  
+    -------------
+    -- Seconds --
+    -------------
+ 
+    function Seconds (S : Integer) return Time_Span is
+    begin
+       return Milliseconds (S) * Integer'(1000);
+    end Seconds;
+ 
     -----------
     -- Split --
     -----------
*************** package body Ada.Real_Time is
*** 180,186 ****
           T_Val := abs (T);
        end if;
  
!       --  Extract the integer part of T, truncating towards zero.
  
        if T_Val < 0.5 then
           SC := 0;
--- 198,204 ----
           T_Val := abs (T);
        end if;
  
!       --  Extract the integer part of T, truncating towards zero
  
        if T_Val < 0.5 then
           SC := 0;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-reatim.ads gcc-4.1.0/gcc/ada/a-reatim.ads
*** gcc-4.0.2/gcc/ada/a-reatim.ads	Tue Oct 21 13:41:53 2003
--- gcc-4.1.0/gcc/ada/a-reatim.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Ada.Real_Time is
*** 86,91 ****
--- 86,97 ----
     function Microseconds (US : Integer) return Time_Span;
     function Milliseconds (MS : Integer) return Time_Span;
  
+    function Seconds (S : Integer) return Time_Span;
+    pragma Ada_05 (Seconds);
+ 
+    function Minutes (M : Integer) return Time_Span;
+    pragma Ada_05 (Minutes);
+ 
     --  Seconds_Count needs 64 bits, since Time has the full range of
     --  Duration. The delta of Duration is 10 ** (-9), so the maximum
     --  number of seconds is 2**63/10**9 = 8*10**9 which does not quite
*************** private
*** 126,129 ****
--- 132,141 ----
     pragma Import (Intrinsic, ">=");
     pragma Import (Intrinsic, "abs");
  
+    pragma Inline (Microseconds);
+    pragma Inline (Milliseconds);
+    pragma Inline (Nanoseconds);
+    pragma Inline (Seconds);
+    pragma Inline (Minutes);
+ 
  end Ada.Real_Time;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-retide.adb gcc-4.1.0/gcc/ada/a-retide.adb
*** gcc-4.0.2/gcc/ada/a-retide.adb	Mon Sep 13 10:18:38 2004
--- gcc-4.1.0/gcc/ada/a-retide.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUNTIME LIBRARY (GNARL) COMPONENTS               --
  --                                                                          --
  --                   A D A . R E A L _ T I M E . D E L A Y S                --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --         Copyright (C) 1992-2004, Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . R E A L _ T I M E . D E L A Y S                --
  --                                                                          --
  --                                  B o d y                                 --
  --                                                                          --
! --         Copyright (C) 1992-2005, Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-retide.ads gcc-4.1.0/gcc/ada/a-retide.ads
*** gcc-4.0.2/gcc/ada/a-retide.ads	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-retide.ads	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                 GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS              --
  --                                                                          --
  --                   A D A . R E A L _ T I M E . D E L A Y S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-2003, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                  GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                --
  --                                                                          --
  --                   A D A . R E A L _ T I M E . D E L A Y S                --
  --                                                                          --
  --                                  S p e c                                 --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 39,49 ****
  package Ada.Real_Time.Delays is
  
     function To_Duration (T : Real_Time.Time) return Duration;
  
     procedure Delay_Until (T : Time);
     --  Delay until Clock has reached (at least) time T,
     --  or the task is aborted to at least the current ATC nesting level.
     --  The body of this procedure must perform all the processing
!    --  required for an abortion point.
  
  end Ada.Real_Time.Delays;
--- 39,50 ----
  package Ada.Real_Time.Delays is
  
     function To_Duration (T : Real_Time.Time) return Duration;
+    --  Convert Time to Duration
  
     procedure Delay_Until (T : Time);
     --  Delay until Clock has reached (at least) time T,
     --  or the task is aborted to at least the current ATC nesting level.
     --  The body of this procedure must perform all the processing
!    --  required for an abort point.
  
  end Ada.Real_Time.Delays;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-secain.adb gcc-4.1.0/gcc/ada/a-secain.adb
*** gcc-4.0.2/gcc/ada/a-secain.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-secain.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.STRINGS.EQUAL_CASE_INSENSITIVE                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --   A D A . S T R I N G S . E Q U A L _ C A S E _ I N S E N S I T I V E    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** begin
*** 63,70 ****
        RI := RI + 1;
     end loop;
  end Ada.Strings.Equal_Case_Insensitive;
- 
- 
- 
- 
- 
--- 63,65 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-secain.ads gcc-4.1.0/gcc/ada/a-secain.ads
*** gcc-4.0.2/gcc/ada/a-secain.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-secain.ads	Thu Jun 16 08:26:28 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.STRINGS.EQUAL_CASE_INSENSITIVE                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --   A D A . S T R I N G S . E Q U A L _ C A S E _ I N S E N S I T I V E    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
*************** function Ada.Strings.Equal_Case_Insensit
*** 17,20 ****
    (Left, Right : String) return Boolean;
  
  pragma Pure (Ada.Strings.Equal_Case_Insensitive);
- 
--- 17,19 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sequio.adb gcc-4.1.0/gcc/ada/a-sequio.adb
*** gcc-4.0.2/gcc/ada/a-sequio.adb	Mon Dec 15 11:51:00 2003
--- gcc-4.1.0/gcc/ada/a-sequio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                    A D A . S E Q U E N T I A L _ I O                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                    A D A . S E Q U E N T I A L _ I O                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sequio.ads gcc-4.1.0/gcc/ada/a-sequio.ads
*** gcc-4.0.2/gcc/ada/a-sequio.ads	Thu Jul 15 20:34:34 2004
--- gcc-4.1.0/gcc/ada/a-sequio.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                    A D A . S E Q U E N T I A L _ I O                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                    A D A . S E Q U E N T I A L _ I O                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  with Ada.IO_Exceptions;
  with System.Sequential_IO;
  
  generic
--- 35,42 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  with Ada.IO_Exceptions;
+ 
  with System.Sequential_IO;
  
  generic
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sfteio.ads gcc-4.1.0/gcc/ada/a-sfteio.ads
*** gcc-4.0.2/gcc/ada/a-sfteio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-sfteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . S H O R T _ F L O A T _ T E X T _ I O               --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . S H O R T _ F L O A T _ T E X T _ I O               --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sfwtio.ads gcc-4.1.0/gcc/ada/a-sfwtio.ads
*** gcc-4.0.2/gcc/ada/a-sfwtio.ads	Thu Apr 24 17:53:53 2003
--- gcc-4.1.0/gcc/ada/a-sfwtio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . S H O R T _ F L O A T _ W I D E _ T E X T _ I O          --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . S H O R T _ F L O A T _ W I D E _ T E X T _ I O          --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sfztio.ads gcc-4.1.0/gcc/ada/a-sfztio.ads
*** gcc-4.0.2/gcc/ada/a-sfztio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-sfztio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . S H O R T _ F L O A T _ W I D E _ W I D E _ T E X T _ I O     --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . S H O R T _ F L O A T _ W I D E _ W I D E _ T E X T _ I O     --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-shcain.adb gcc-4.1.0/gcc/ada/a-shcain.adb
*** gcc-4.0.2/gcc/ada/a-shcain.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-shcain.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.STRINGS.HASH_CASE_INSENSITIVE                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . S T R I N G S . H A S H _ C A S E _ I N S E N S I T I V E     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,39 ****
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Handling;  use Ada.Characters.Handling;
  
  --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
  
--- 33,39 ----
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Handling; use Ada.Characters.Handling;
  
  --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
  
*************** is
*** 52,68 ****
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 1) + Character'Pos (To_Lower (Key (J)));
     end loop;
  
     return Tmp;
  end Ada.Strings.Hash_Case_Insensitive;
- 
- 
- 
- 
- 
- 
- 
- 
- 
--- 52,59 ----
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 3) + Character'Pos (To_Lower (Key (J)));
     end loop;
  
     return Tmp;
  end Ada.Strings.Hash_Case_Insensitive;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-shcain.ads gcc-4.1.0/gcc/ada/a-shcain.ads
*** gcc-4.0.2/gcc/ada/a-shcain.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-shcain.ads	Thu Jun 16 08:56:24 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                    ADA.STRINGS.HASH_CASE_INSENSITIVE                     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --    A D A . S T R I N G S . H A S H _ C A S E _ I N S E N S I T I V E     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-siocst.adb gcc-4.1.0/gcc/ada/a-siocst.adb
*** gcc-4.0.2/gcc/ada/a-siocst.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-siocst.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-siocst.ads gcc-4.1.0/gcc/ada/a-siocst.ads
*** gcc-4.0.2/gcc/ada/a-siocst.ads	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-siocst.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . S E Q U E N T I A L _ I O . C _ S T R E A M S           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . S E Q U E N T I A L _ I O . C _ S T R E A M S           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-siteio.ads gcc-4.1.0/gcc/ada/a-siteio.ads
*** gcc-4.0.2/gcc/ada/a-siteio.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-siteio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            A D A . S H O R T _ I N T E G E R _ T E X T _ I O             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            A D A . S H O R T _ I N T E G E R _ T E X T _ I O             --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-siwtio.ads gcc-4.1.0/gcc/ada/a-siwtio.ads
*** gcc-4.0.2/gcc/ada/a-siwtio.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-siwtio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --       A D A . S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O        --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --       A D A . S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O        --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-siztio.ads gcc-4.1.0/gcc/ada/a-siztio.ads
*** gcc-4.0.2/gcc/ada/a-siztio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-siztio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --  A D A . S H O R T _ I N T E G E R _ W I D E _ W I D E _ T E X T _ I O   --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --  A D A . S H O R T _ I N T E G E R _ W I D E _ W I D E _ T E X T _ I O   --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-slcain.adb gcc-4.1.0/gcc/ada/a-slcain.adb
*** gcc-4.0.2/gcc/ada/a-slcain.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-slcain.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,39 ****
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Handling;  use Ada.Characters.Handling;
  
  function Ada.Strings.Less_Case_Insensitive
    (Left, Right : String) return Boolean
--- 33,39 ----
  -- This unit was originally developed by Matthew J Heaney.                  --
  ------------------------------------------------------------------------------
  
! with Ada.Characters.Handling; use Ada.Characters.Handling;
  
  function Ada.Strings.Less_Case_Insensitive
    (Left, Right : String) return Boolean
*************** begin
*** 76,80 ****
        RI := RI + 1;
     end loop;
  end Ada.Strings.Less_Case_Insensitive;
- 
- 
--- 76,78 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ssicst.adb gcc-4.1.0/gcc/ada/a-ssicst.adb
*** gcc-4.0.2/gcc/ada/a-ssicst.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-ssicst.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ssicst.ads gcc-4.1.0/gcc/ada/a-ssicst.ads
*** gcc-4.0.2/gcc/ada/a-ssicst.ads	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-ssicst.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . S T R E A M S . S T R E A M _ I O . C _ S T R E A M S       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . S T R E A M S . S T R E A M _ I O . C _ S T R E A M S       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ssitio.ads gcc-4.1.0/gcc/ada/a-ssitio.ads
*** gcc-4.0.2/gcc/ada/a-ssitio.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-ssitio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . S H O R T _ S H O R T _ I N T E G E R _ T E X T _ I O       --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . S H O R T _ S H O R T _ I N T E G E R _ T E X T _ I O       --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ssiwti.ads gcc-4.1.0/gcc/ada/a-ssiwti.ads
*** gcc-4.0.2/gcc/ada/a-ssiwti.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-ssiwti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  -- A D A . S H O R T _ S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  -- A D A . S H O R T _ S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ssizti.ads gcc-4.1.0/gcc/ada/a-ssizti.ads
*** gcc-4.0.2/gcc/ada/a-ssizti.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ssizti.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  -- A D A . S H O R T _ S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  -- A D A . S H O R T _ S H O R T _ I N T E G E R _ W I D E _ T E X T _ I O  --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stmaco.ads gcc-4.1.0/gcc/ada/a-stmaco.ads
*** gcc-4.0.2/gcc/ada/a-stmaco.ads	Fri Nov 19 10:55:09 2004
--- gcc-4.1.0/gcc/ada/a-stmaco.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . S T R I N G S . M A P S . C O N S T A N T S            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . S T R I N G S . M A P S . C O N S T A N T S            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Characters.Latin_1;
  
  package Ada.Strings.Maps.Constants is
! pragma Preelaborate (Constants);
  
     Control_Set           : constant Character_Set;
     Graphic_Set           : constant Character_Set;
--- 38,46 ----
  with Ada.Characters.Latin_1;
  
  package Ada.Strings.Maps.Constants is
!    pragma Preelaborate;
!    pragma Pure_05;
!    --  In accordance with Ada 2005 AI-362
  
     Control_Set           : constant Character_Set;
     Graphic_Set           : constant Character_Set;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-storio.adb gcc-4.1.0/gcc/ada/a-storio.adb
*** gcc-4.0.2/gcc/ada/a-storio.adb	Fri Jun 25 16:39:24 2004
--- gcc-4.1.0/gcc/ada/a-storio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       A D A . S T O R A G E _ I O                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       A D A . S T O R A G E _ I O                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-storio.ads gcc-4.1.0/gcc/ada/a-storio.ads
*** gcc-4.0.2/gcc/ada/a-storio.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-storio.ads	Mon Sep  5 07:51:25 2005
*************** generic
*** 20,26 ****
     type Element_Type is private;
  
  package Ada.Storage_IO is
! pragma Preelaborate (Storage_IO);
  
     Buffer_Size : constant System.Storage_Elements.Storage_Count :=
                     System.Storage_Elements.Storage_Count
--- 20,26 ----
     type Element_Type is private;
  
  package Ada.Storage_IO is
!    pragma Preelaborate;
  
     Buffer_Size : constant System.Storage_Elements.Storage_Count :=
                     System.Storage_Elements.Storage_Count
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strbou.adb gcc-4.1.0/gcc/ada/a-strbou.adb
*** gcc-4.0.2/gcc/ada/a-strbou.adb	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-strbou.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  A D A . S T R I N G S . B O U N D E D                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  A D A . S T R I N G S . B O U N D E D                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strbou.ads gcc-4.1.0/gcc/ada/a-strbou.ads
*** gcc-4.0.2/gcc/ada/a-strbou.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-strbou.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Maps;
*** 39,45 ****
  with Ada.Strings.Superbounded;
  
  package Ada.Strings.Bounded is
! pragma Preelaborate (Bounded);
  
     generic
        Max : Positive;
--- 39,45 ----
  with Ada.Strings.Superbounded;
  
  package Ada.Strings.Bounded is
!    pragma Preelaborate;
  
     generic
        Max : Positive;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stream.ads gcc-4.1.0/gcc/ada/a-stream.ads
*** gcc-4.0.2/gcc/ada/a-stream.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-stream.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,43 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  package Ada.Streams is
! pragma Pure (Streams);
  
     type Root_Stream_Type is abstract tagged limited private;
  
--- 35,42 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  package Ada.Streams is
!    pragma Pure;
  
     type Root_Stream_Type is abstract tagged limited private;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strfix.adb gcc-4.1.0/gcc/ada/a-strfix.adb
*** gcc-4.0.2/gcc/ada/a-strfix.adb	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-strfix.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                    A D A . S T R I N G S . F I X E D                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                    A D A . S T R I N G S . F I X E D                     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,44 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  Note: This code is derived from the ADAR.CSH public domain Ada 83
! --  versions of the Appendix C string handling packages. One change is
! --  to avoid the use of Is_In, so that we are not dependent on inlining.
! --  Note that the search function implementations are to be found in the
! --  auxiliary package Ada.Strings.Search. Also the Move procedure is
! --  directly incorporated (ADAR used a subunit for this procedure). A
! --  number of errors having to do with bounds of function return results
! --  were also fixed, and use of & removed for efficiency reasons.
  
  with Ada.Strings.Maps; use Ada.Strings.Maps;
  with Ada.Strings.Search;
--- 31,44 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  Note: This code is derived from the ADAR.CSH public domain Ada 83 versions
! --  of the Appendix C string handling packages. One change is to avoid the use
! --  of Is_In, so that we are not dependent on inlining. Note that the search
! --  function implementations are to be found in the auxiliary package
! --  Ada.Strings.Search. Also the Move procedure is directly incorporated (ADAR
! --  used a subunit for this procedure). number of errors having to do with
! --  bounds of function return results were also fixed, and use of & removed for
! --  efficiency reasons.
  
  with Ada.Strings.Maps; use Ada.Strings.Maps;
  with Ada.Strings.Search;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strfix.ads gcc-4.1.0/gcc/ada/a-strfix.ads
*** gcc-4.0.2/gcc/ada/a-strfix.ads	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-strfix.ads	Mon Sep  5 07:51:25 2005
***************
*** 13,23 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  with Ada.Strings.Maps;
  
  package Ada.Strings.Fixed is
! pragma Preelaborate (Fixed);
  
     --------------------------------------------------------------
     -- Copy Procedure for Strings of Possibly Different Lengths --
--- 13,22 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  with Ada.Strings.Maps;
  
  package Ada.Strings.Fixed is
!    pragma Preelaborate;
  
     --------------------------------------------------------------
     -- Copy Procedure for Strings of Possibly Different Lengths --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strhas.adb gcc-4.1.0/gcc/ada/a-strhas.adb
*** gcc-4.0.2/gcc/ada/a-strhas.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-strhas.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                             ADA.STRINGS.HASH                             --
  --                                                                          --
! --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                     A D A . S T R I N G S . H A S H                      --
  --                                                                          --
! --                                B o d y                                   --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** function Ada.Strings.Hash (Key : String)
*** 48,63 ****
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 1) + Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Hash;
- 
- 
- 
- 
- 
- 
- 
- 
--- 48,55 ----
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 3) + Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Hash;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strhas.ads gcc-4.1.0/gcc/ada/a-strhas.ads
*** gcc-4.0.2/gcc/ada/a-strhas.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-strhas.ads	Thu Jun 16 08:26:28 2005
***************
*** 2,10 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                             ADA.STRINGS.HASH                             --
  --                                                                          --
! --                                 S p e c                                  --
  --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
--- 2,10 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                     A D A . S T R I N G S . H A S H                      --
  --                                                                          --
! --                                S p e c                                   --
  --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
*************** with Ada.Containers;
*** 18,22 ****
  function Ada.Strings.Hash (Key : String) return Containers.Hash_Type;
  
  pragma Pure (Ada.Strings.Hash);
- 
- 
--- 18,20 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-string.ads gcc-4.1.0/gcc/ada/a-string.ads
*** gcc-4.0.2/gcc/ada/a-string.ads	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-string.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          A D A . S T R I N G S                           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          A D A . S T R I N G S                           --
  --                                                                          --
***************
*** 14,20 ****
  ------------------------------------------------------------------------------
  
  package Ada.Strings is
! pragma Pure (Strings);
  
     Space           : constant Character           := ' ';
     Wide_Space      : constant Wide_Character      := ' ';
--- 14,20 ----
  ------------------------------------------------------------------------------
  
  package Ada.Strings is
!    pragma Pure;
  
     Space           : constant Character           := ' ';
     Wide_Space      : constant Wide_Character      := ' ';
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strmap.adb gcc-4.1.0/gcc/ada/a-strmap.adb
*** gcc-4.0.2/gcc/ada/a-strmap.adb	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-strmap.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . S T R I N G S . M A P S                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . S T R I N G S . M A P S                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strmap.ads gcc-4.1.0/gcc/ada/a-strmap.ads
*** gcc-4.0.2/gcc/ada/a-strmap.ads	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-strmap.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Characters.Latin_1;
  
  package Ada.Strings.Maps is
! pragma Preelaborate (Maps);
  
     --------------------------------
     -- Character Set Declarations --
--- 38,46 ----
  with Ada.Characters.Latin_1;
  
  package Ada.Strings.Maps is
!    pragma Preelaborate;
!    pragma Pure_05;
!    --  In accordance with Ada 2005 AI-362
  
     --------------------------------
     -- Character Set Declarations --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strsea.adb gcc-4.1.0/gcc/ada/a-strsea.adb
*** gcc-4.0.2/gcc/ada/a-strsea.adb	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-strsea.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   A D A . S T R I N G S . S E A R C H                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   A D A . S T R I N G S . S E A R C H                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,43 ****
  --  case of identity mappings for Count and Index, and also Index_Non_Blank
  --  is specialized (rather than using the general Index routine).
  
- 
  with Ada.Strings.Maps; use Ada.Strings.Maps;
  
  package body Ada.Strings.Search is
--- 37,42 ----
*************** package body Ada.Strings.Search is
*** 217,223 ****
        Cur_Index     : Natural;
        Mapped_Source : String (Source'Range);
  
- 
     begin
        if Pattern = "" then
           raise Pattern_Error;
--- 216,221 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strsea.ads gcc-4.1.0/gcc/ada/a-strsea.ads
*** gcc-4.0.2/gcc/ada/a-strsea.ads	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-strsea.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  with Ada.Strings.Maps;
  
  private package Ada.Strings.Search is
! pragma Preelaborate (Search);
  
     function Index
       (Source  : String;
--- 41,47 ----
  with Ada.Strings.Maps;
  
  private package Ada.Strings.Search is
!    pragma Preelaborate;
  
     function Index
       (Source  : String;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strsup.adb gcc-4.1.0/gcc/ada/a-strsup.adb
*** gcc-4.0.2/gcc/ada/a-strsup.adb	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-strsup.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . S T R I N G S . S U P E R B O U N D E D              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . S T R I N G S . S U P E R B O U N D E D              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strsup.ads gcc-4.1.0/gcc/ada/a-strsup.ads
*** gcc-4.0.2/gcc/ada/a-strsup.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-strsup.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  with Ada.Strings.Maps;
  
  package Ada.Strings.Superbounded is
! pragma Preelaborate (Superbounded);
  
     type Super_String (Max_Length : Positive) is record
        Current_Length : Natural := 0;
--- 41,47 ----
  with Ada.Strings.Maps;
  
  package Ada.Strings.Superbounded is
!    pragma Preelaborate;
  
     type Super_String (Max_Length : Positive) is record
        Current_Length : Natural := 0;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strunb.adb gcc-4.1.0/gcc/ada/a-strunb.adb
*** gcc-4.0.2/gcc/ada/a-strunb.adb	Thu Feb 10 13:51:37 2005
--- gcc-4.1.0/gcc/ada/a-strunb.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
! --                A D A . S T R I N G S . U N B O U N D E D                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
! --                 A D A . S T R I N G S . U N B O U N D E D                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Strings.Unbounded is
*** 39,54 ****
  
     use Ada.Finalization;
  
-    procedure Realloc_For_Chunk
-      (Source     : in out Unbounded_String;
-       Chunk_Size : Natural);
-    pragma Inline (Realloc_For_Chunk);
-    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
-    --  is safe to add a string of this size at the end of the current content.
-    --  The real size allocated for the string is Chunk_Size + x of the current
-    --  string size. This buffered handling makes the Append unbounded string
-    --  routines very fast.
- 
     ---------
     -- "&" --
     ---------
--- 39,44 ----
*************** package body Ada.Strings.Unbounded is
*** 202,208 ****
        Result.Reference := new String (1 .. Result.Last);
  
        K := 1;
!       for I in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
--- 192,198 ----
        Result.Reference := new String (1 .. Result.Last);
  
        K := 1;
!       for J in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
*************** package body Ada.Strings.Unbounded is
*** 363,369 ****
     procedure Adjust (Object : in out Unbounded_String) is
     begin
        --  Copy string, except we do not copy the statically allocated null
!       --  string, since it can never be deallocated. Note that we do not copy
        --  extra string room here to avoid dragging unused allocated memory.
  
        if Object.Reference /= Null_String'Access then
--- 353,359 ----
     procedure Adjust (Object : in out Unbounded_String) is
     begin
        --  Copy string, except we do not copy the statically allocated null
!       --  string since it can never be deallocated. Note that we do not copy
        --  extra string room here to avoid dragging unused allocated memory.
  
        if Object.Reference /= Null_String'Access then
*************** package body Ada.Strings.Unbounded is
*** 633,639 ****
          (Source.Reference (1 .. Source.Last), Pattern, From, Going, Mapping);
     end Index;
  
- 
     function Index
       (Source  : Unbounded_String;
        Set     : Maps.Character_Set;
--- 623,628 ----
*************** package body Ada.Strings.Unbounded is
*** 765,781 ****
       (Source     : in out Unbounded_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 50;
!       S_Length      : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             Alloc_Chunk_Size : constant Positive :=
!                                  Chunk_Size + (S_Length / Growth_Factor);
!             Tmp : String_Access;
           begin
-             Tmp := new String (1 .. S_Length + Alloc_Chunk_Size);
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
--- 754,789 ----
       (Source     : in out Unbounded_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 32;
!       --  The growth factor controls how much extra space is allocated when
!       --  we have to increase the size of an allocated unbounded string. By
!       --  allocating extra space, we avoid the need to reallocate on every
!       --  append, particularly important when a string is built up by repeated
!       --  append operations of small pieces. This is expressed as a factor so
!       --  32 means add 1/32 of the length of the string as growth space.
! 
!       Min_Mul_Alloc : constant := Standard'Maximum_Alignment;
!       --  Allocation will be done by a multiple of Min_Mul_Alloc This causes
!       --  no memory loss as most (all?) malloc implementations are obliged to
!       --  align the returned memory on the maximum alignment as malloc does not
!       --  know the target alignment.
! 
!       S_Length : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             New_Size : constant Positive :=
!                          S_Length + Chunk_Size + (S_Length / Growth_Factor);
! 
!             New_Rounded_Up_Size : constant Positive :=
!                                     ((New_Size - 1) / Min_Mul_Alloc + 1) *
!                                        Min_Mul_Alloc;
! 
!             Tmp : constant String_Access :=
!                     new String (1 .. New_Rounded_Up_Size);
! 
           begin
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-strunb.ads gcc-4.1.0/gcc/ada/a-strunb.ads
*** gcc-4.0.2/gcc/ada/a-strunb.ads	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-strunb.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
! --                A D A . S T R I N G S . U N B O U N D E D                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
! --                 A D A . S T R I N G S . U N B O U N D E D                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Maps;
*** 39,45 ****
  with Ada.Finalization;
  
  package Ada.Strings.Unbounded is
! pragma Preelaborate (Unbounded);
  
     type Unbounded_String is private;
  
--- 39,45 ----
  with Ada.Finalization;
  
  package Ada.Strings.Unbounded is
!    pragma Preelaborate;
  
     type Unbounded_String is private;
  
*************** private
*** 405,422 ****
     pragma Stream_Convert (Unbounded_String, To_Unbounded, To_String);
  
     pragma Finalize_Storage_Only (Unbounded_String);
  
     procedure Initialize (Object : in out Unbounded_String);
     procedure Adjust     (Object : in out Unbounded_String);
     procedure Finalize   (Object : in out Unbounded_String);
  
!    --  Note: the following declaration is illegal since library level
!    --  controlled objects are not allowed in preelaborated units. See
!    --  AI-161 for a discussion of this issue and an attempt to address it.
!    --  Meanwhile, what happens in GNAT is that this check is omitted for
!    --  internal implementation units (see check in sem_cat.adb).
  
     Null_Unbounded_String : constant Unbounded_String :=
!      (AF.Controlled with Reference => Null_String'Access, Last => 0);
  
  end Ada.Strings.Unbounded;
--- 405,435 ----
     pragma Stream_Convert (Unbounded_String, To_Unbounded, To_String);
  
     pragma Finalize_Storage_Only (Unbounded_String);
+    --  Finalization is required only for freeing storage
  
     procedure Initialize (Object : in out Unbounded_String);
     procedure Adjust     (Object : in out Unbounded_String);
     procedure Finalize   (Object : in out Unbounded_String);
  
!    procedure Realloc_For_Chunk
!      (Source     : in out Unbounded_String;
!       Chunk_Size : Natural);
!    pragma Inline (Realloc_For_Chunk);
!    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
!    --  is safe to add a string of this size at the end of the current content.
!    --  The real size allocated for the string is Chunk_Size + x of the current
!    --  string size. This buffered handling makes the Append unbounded string
!    --  routines very fast. This spec is in the private part so that it can be
!    --  accessed from children (e.g. from Unbounded.Text_IO).
  
     Null_Unbounded_String : constant Unbounded_String :=
!                              (AF.Controlled with
!                                 Reference => Null_String'Access,
!                                 Last => 0);
!    --  Note: this declaration is illegal since library level controlled
!    --  objects are not allowed in preelaborated units. See AI-161 for a
!    --  discussion of this issue and an attempt to address it. Meanwhile,
!    --  what happens in GNAT is that this check is omitted for internal
!    --  implementation units (see check in sem_cat.adb).
  
  end Ada.Strings.Unbounded;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ststio.adb gcc-4.1.0/gcc/ada/a-ststio.adb
*** gcc-4.0.2/gcc/ada/a-ststio.adb	Mon Dec 15 11:51:00 2003
--- gcc-4.1.0/gcc/ada/a-ststio.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                A D A . S T R E A M S . S T R E A M _ I O                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                A D A . S T R E A M S . S T R E A M _ I O                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ststio.ads gcc-4.1.0/gcc/ada/a-ststio.ads
*** gcc-4.0.2/gcc/ada/a-ststio.ads	Wed Oct 27 12:29:19 2004
--- gcc-4.1.0/gcc/ada/a-ststio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stunau.adb gcc-4.1.0/gcc/ada/a-stunau.adb
*** gcc-4.0.2/gcc/ada/a-stunau.adb	Tue Jan 18 22:00:12 2005
--- gcc-4.1.0/gcc/ada/a-stunau.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --            A D A . S T R I N G S . U N B O U N D E D . A U X             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --            A D A . S T R I N G S . U N B O U N D E D . A U X             --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Strings.Unbounded.Aux i
*** 37,67 ****
     -- Get_String --
     ----------------
  
!    function Get_String (U : Unbounded_String) return String_Access is
     begin
!       if U.Last = U.Reference'Length then
!          return U.Reference;
! 
!       else
!          declare
!             type Unbounded_String_Access is access all Unbounded_String;
! 
!             U_Ptr : constant Unbounded_String_Access := U'Unrestricted_Access;
!             --  Unbounded_String is a controlled type which is always passed
!             --  by reference.  It is always safe to take the pointer to such
!             --  object here.  This pointer is used to set the U.Reference
!             --  value which would not be possible otherwise as U is read-only.
! 
!             Old : String_Access := U.Reference;
!             Ret : String_Access;
! 
!          begin
!             Ret := new String'(U.Reference (1 .. U.Last));
!             U_Ptr.Reference := Ret;
!             Free (Old);
!             return Ret;
!          end;
!       end if;
     end Get_String;
  
     ----------------
--- 37,50 ----
     -- Get_String --
     ----------------
  
!    procedure Get_String
!      (U : Unbounded_String;
!       S : out String_Access;
!       L : out Natural)
!    is
     begin
!       S := U.Reference;
!       L := U.Last;
     end Get_String;
  
     ----------------
*************** package body Ada.Strings.Unbounded.Aux i
*** 70,90 ****
  
     procedure Set_String (UP : in out Unbounded_String; S : String) is
     begin
!       if UP.Last = S'Length then
!          UP.Reference.all := S;
! 
!       else
!          declare
!             subtype String_1 is String (1 .. S'Length);
!             Tmp : String_Access;
! 
!          begin
!             Tmp := new String'(String_1 (S));
!             Finalize (UP);
!             UP.Reference := Tmp;
!             UP.Last := UP.Reference'Length;
!          end;
        end if;
     end Set_String;
  
     procedure Set_String (UP : in out Unbounded_String; S : String_Access) is
--- 53,65 ----
  
     procedure Set_String (UP : in out Unbounded_String; S : String) is
     begin
!       if S'Length > UP.Last then
!          Finalize (UP);
!          UP.Reference := new String (1 .. S'Length);
        end if;
+ 
+       UP.Reference (1 .. S'Length) := S;
+       UP.Last := S'Length;
     end Set_String;
  
     procedure Set_String (UP : in out Unbounded_String; S : String_Access) is
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stunau.ads gcc-4.1.0/gcc/ada/a-stunau.ads
*** gcc-4.0.2/gcc/ada/a-stunau.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stunau.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --            A D A . S T R I N G S . U N B O U N D E D . A U X             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --            A D A . S T R I N G S . U N B O U N D E D . A U X             --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,57 ****
  --  utilities (such as GNAT.SPITBOL.Patterns).
  
  package Ada.Strings.Unbounded.Aux is
! pragma Preelaborate (Aux);
  
!    function Get_String (U : Unbounded_String) return String_Access;
     pragma Inline (Get_String);
!    --  This function returns the internal string pointer used in the
!    --  representation of an unbounded string. There is no copy involved,
!    --  so the value obtained references the same string as the original
!    --  unbounded string. The characters of this string may not be modified
!    --  via the returned pointer, and are valid only as long as the original
!    --  unbounded string is not modified. Violating either of these two
!    --  rules results in erroneous execution.
     --
!    --  This function is much more efficient than the use of To_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one.
  
     procedure Set_String (UP : in out Unbounded_String; S : String);
     pragma Inline (Set_String);
--- 37,60 ----
  --  utilities (such as GNAT.SPITBOL.Patterns).
  
  package Ada.Strings.Unbounded.Aux is
!    pragma Preelaborate;
  
!    procedure Get_String
!      (U : Unbounded_String;
!       S : out String_Access;
!       L : out Natural);
     pragma Inline (Get_String);
!    --  This procedure returns the internal string pointer used in the
!    --  representation of an unbounded string as well as the actual current
!    --  length (which may be less than S.all'Length because in general there
!    --  can be extra space assigned). The characters of this string may be
!    --  not be modified via the returned pointer,  and are valid only as
!    --  long as the original unbounded string is not accessed or modified.
     --
!    --  This procedure is much more efficient than the use of To_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one, so the actual
!    --  string data is always accessible as S (1 .. L).
  
     procedure Set_String (UP : in out Unbounded_String; S : String);
     pragma Inline (Set_String);
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stunha.adb gcc-4.1.0/gcc/ada/a-stunha.adb
*** gcc-4.0.2/gcc/ada/a-stunha.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-stunha.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.STRINGS.UNBOUNDED.HASH                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . S T R I N G S . U N B O U N D E D . H A S H            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** is
*** 50,56 ****
  begin
     Tmp := 0;
     for J in 1 .. Key.Last loop
!       Tmp := Rotate_Left (Tmp, 1) + Character'Pos (Key.Reference (J));
     end loop;
  
     return Tmp;
--- 50,56 ----
  begin
     Tmp := 0;
     for J in 1 .. Key.Last loop
!       Tmp := Rotate_Left (Tmp, 3) + Character'Pos (Key.Reference (J));
     end loop;
  
     return Tmp;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stunha.ads gcc-4.1.0/gcc/ada/a-stunha.ads
*** gcc-4.0.2/gcc/ada/a-stunha.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-stunha.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,13 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                        ADA.STRINGS.UNBOUNDED.HASH                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
- --             Copyright (C) 2004 Free Software Foundation, Inc.            --
- --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
  -- copy and modify this specification,  provided that if you redistribute a --
--- 2,11 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --           A D A . S T R I N G S . U N B O U N D E D . H A S H            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
  -- This specification is adapted from the Ada Reference Manual for use with --
  -- GNAT.  In accordance with the copyright of that document, you can freely --
  -- copy and modify this specification,  provided that if you redistribute a --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwibo.adb gcc-4.1.0/gcc/ada/a-stwibo.adb
*** gcc-4.0.2/gcc/ada/a-stwibo.adb	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwibo.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . S T R I N G S . W I D E _ B O U N D E D              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . S T R I N G S . W I D E _ B O U N D E D              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwibo.ads gcc-4.1.0/gcc/ada/a-stwibo.ads
*** gcc-4.0.2/gcc/ada/a-stwibo.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwibo.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Wide_Maps;
*** 39,45 ****
  with Ada.Strings.Wide_Superbounded;
  
  package Ada.Strings.Wide_Bounded is
! pragma Preelaborate (Wide_Bounded);
  
     generic
        Max : Positive;
--- 39,45 ----
  with Ada.Strings.Wide_Superbounded;
  
  package Ada.Strings.Wide_Bounded is
!    pragma Preelaborate;
  
     generic
        Max : Positive;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwifi.adb gcc-4.1.0/gcc/ada/a-stwifi.adb
*** gcc-4.0.2/gcc/ada/a-stwifi.adb	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-stwifi.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Strings.Wide_Maps; use Ada.Strings.Wide_Maps;
  with Ada.Strings.Wide_Search;
  
  package body Ada.Strings.Wide_Fixed is
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Strings.Wide_Maps;   use Ada.Strings.Wide_Maps;
  with Ada.Strings.Wide_Search;
  
  package body Ada.Strings.Wide_Fixed is
*************** package body Ada.Strings.Wide_Fixed is
*** 296,302 ****
        Tlength : constant Integer := Target'Length;
  
        function Is_Padding (Item : Wide_String) return Boolean;
!       --  Determinbe if all characters in Item are pad characters
  
        function Is_Padding (Item : Wide_String) return Boolean is
        begin
--- 296,306 ----
        Tlength : constant Integer := Target'Length;
  
        function Is_Padding (Item : Wide_String) return Boolean;
!       --  Determine if all characters in Item are pad characters
! 
!       ----------------
!       -- Is_Padding --
!       ----------------
  
        function Is_Padding (Item : Wide_String) return Boolean is
        begin
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwifi.ads gcc-4.1.0/gcc/ada/a-stwifi.ads
*** gcc-4.0.2/gcc/ada/a-stwifi.ads	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-stwifi.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
***************
*** 13,23 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  with Ada.Strings.Wide_Maps;
  
  package Ada.Strings.Wide_Fixed is
! pragma Preelaborate (Wide_Fixed);
  
     -------------------------------------------------------------------
     -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
--- 13,22 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  with Ada.Strings.Wide_Maps;
  
  package Ada.Strings.Wide_Fixed is
!    pragma Preelaborate;
  
     -------------------------------------------------------------------
     -- Copy Procedure for Wide_Strings of Possibly Different Lengths --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwiha.adb gcc-4.1.0/gcc/ada/a-stwiha.adb
*** gcc-4.0.2/gcc/ada/a-stwiha.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-stwiha.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                          ADA.STRINGS.WIDE_HASH                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2004 Free Software Foundation, Inc.            --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 2,12 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                A D A . S T R I N G S . W I D E _ H A S H                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** is
*** 50,59 ****
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 1) + Wide_Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Wide_Hash;
- 
- 
--- 50,57 ----
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 3) + Wide_Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Wide_Hash;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwiha.ads gcc-4.1.0/gcc/ada/a-stwiha.ads
*** gcc-4.0.2/gcc/ada/a-stwiha.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-stwiha.ads	Thu Jun 16 08:56:24 2005
***************
*** 2,8 ****
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                          ADA.STRINGS.WIDE_HASH                           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
--- 2,8 ----
  --                                                                          --
  --                         GNAT LIBRARY COMPONENTS                          --
  --                                                                          --
! --                A D A . S T R I N G S . W I D E _ H A S H                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
*************** function Ada.Strings.Wide_Hash
*** 19,24 ****
    (Key : Wide_String) return Containers.Hash_Type;
  
  pragma Pure (Ada.Strings.Wide_Hash);
- 
- 
- 
--- 19,21 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwima.adb gcc-4.1.0/gcc/ada/a-stwima.adb
*** gcc-4.0.2/gcc/ada/a-stwima.adb	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-stwima.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                A D A . S T R I N G S . W I D E _ M A P S                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                A D A . S T R I N G S . W I D E _ M A P S                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwima.ads gcc-4.1.0/gcc/ada/a-stwima.ads
*** gcc-4.0.2/gcc/ada/a-stwima.ads	Thu Feb 10 13:51:38 2005
--- gcc-4.1.0/gcc/ada/a-stwima.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Maps is
!    pragma Preelaborate (Wide_Maps);
  
     -------------------------------------
     -- Wide Character Set Declarations --
--- 38,44 ----
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Maps is
!    pragma Preelaborate;
  
     -------------------------------------
     -- Wide Character Set Declarations --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwise.adb gcc-4.1.0/gcc/ada/a-stwise.adb
*** gcc-4.0.2/gcc/ada/a-stwise.adb	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-stwise.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . S T R I N G S . W I D E _ S E A R C H               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . S T R I N G S . W I D E _ S E A R C H               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwise.ads gcc-4.1.0/gcc/ada/a-stwise.ads
*** gcc-4.0.2/gcc/ada/a-stwise.ads	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-stwise.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  with Ada.Strings.Wide_Maps;
  
  private package Ada.Strings.Wide_Search is
! pragma Preelaborate (Wide_Search);
  
     function Index
       (Source  : Wide_String;
--- 41,47 ----
  with Ada.Strings.Wide_Maps;
  
  private package Ada.Strings.Wide_Search is
!    pragma Preelaborate;
  
     function Index
       (Source  : Wide_String;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwisu.adb gcc-4.1.0/gcc/ada/a-stwisu.adb
*** gcc-4.0.2/gcc/ada/a-stwisu.adb	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwisu.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ S U P E R B O U N D E D         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ S U P E R B O U N D E D         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwisu.ads gcc-4.1.0/gcc/ada/a-stwisu.ads
*** gcc-4.0.2/gcc/ada/a-stwisu.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwisu.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 42,48 ****
  with Ada.Strings.Wide_Maps;
  
  package Ada.Strings.Wide_Superbounded is
! pragma Preelaborate (Wide_Superbounded);
  
     Wide_NUL : constant Wide_Character := Wide_Character'Val (0);
  
--- 42,48 ----
  with Ada.Strings.Wide_Maps;
  
  package Ada.Strings.Wide_Superbounded is
!    pragma Preelaborate;
  
     Wide_NUL : constant Wide_Character := Wide_Character'Val (0);
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwiun.adb gcc-4.1.0/gcc/ada/a-stwiun.adb
*** gcc-4.0.2/gcc/ada/a-stwiun.adb	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwiun.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . S T R I N G S . W I D E _ U N B O U N D E D            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . S T R I N G S . W I D E _ U N B O U N D E D            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Strings.Wide_Unbounded 
*** 39,54 ****
  
     use Ada.Finalization;
  
-    procedure Realloc_For_Chunk
-      (Source     : in out Unbounded_Wide_String;
-       Chunk_Size : Natural);
-    pragma Inline (Realloc_For_Chunk);
-    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
-    --  is safe to add a string of this size at the end of the current
-    --  content. The real size allocated for the string is Chunk_Size + x %
-    --  of the current string size. This buffered handling makes the Append
-    --  unbounded wide string routines very fast.
- 
     ---------
     -- "&" --
     ---------
--- 39,44 ----
*************** package body Ada.Strings.Wide_Unbounded 
*** 142,148 ****
        Result.Reference (1) := Left;
        Result.Reference (2 .. Result.Last) :=
          Right.Reference (1 .. Right.Last);
- 
        return Result;
     end "&";
  
--- 132,137 ----
*************** package body Ada.Strings.Wide_Unbounded 
*** 157,163 ****
        Result : Unbounded_Wide_String;
  
     begin
!       Result.Last := Left;
  
        Result.Reference := new Wide_String (1 .. Left);
        for J in Result.Reference'Range loop
--- 146,152 ----
        Result : Unbounded_Wide_String;
  
     begin
!       Result.Last   := Left;
  
        Result.Reference := new Wide_String (1 .. Left);
        for J in Result.Reference'Range loop
*************** package body Ada.Strings.Wide_Unbounded 
*** 195,201 ****
     is
        Len    : constant Natural := Right.Last;
        K      : Positive;
!       Result   : Unbounded_Wide_String;
  
     begin
        Result.Last := Left * Len;
--- 184,190 ----
     is
        Len    : constant Natural := Right.Last;
        K      : Positive;
!       Result : Unbounded_Wide_String;
  
     begin
        Result.Last := Left * Len;
*************** package body Ada.Strings.Wide_Unbounded 
*** 203,209 ****
        Result.Reference := new Wide_String (1 .. Result.Last);
  
        K := 1;
!       for I in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
--- 192,198 ----
        Result.Reference := new Wide_String (1 .. Result.Last);
  
        K := 1;
!       for J in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
*************** package body Ada.Strings.Wide_Unbounded 
*** 363,372 ****
  
     procedure Adjust (Object : in out Unbounded_Wide_String) is
     begin
!       --  Copy string, except we do not copy the statically allocated
!       --  null string, since it can never be deallocated.
!       --  Note that we do not copy extra string room here to avoid dragging
!       --  unused allocated memory.
  
        if Object.Reference /= Null_Wide_String'Access then
           Object.Reference :=
--- 352,360 ----
  
     procedure Adjust (Object : in out Unbounded_Wide_String) is
     begin
!       --  Copy string, except we do not copy the statically allocated null
!       --  string, since it can never be deallocated. Note that we do not copy
!       --  extra string room here to avoid dragging unused allocated memory.
  
        if Object.Reference /= Null_Wide_String'Access then
           Object.Reference :=
*************** package body Ada.Strings.Wide_Unbounded 
*** 417,429 ****
     function Count
       (Source  : Unbounded_Wide_String;
        Pattern : Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping :=
!                   Wide_Maps.Identity)
        return Natural
     is
     begin
!       return Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
--- 405,417 ----
     function Count
       (Source  : Unbounded_Wide_String;
        Pattern : Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
        return Natural
     is
     begin
!       return
!         Wide_Search.Count
!           (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
*************** package body Ada.Strings.Wide_Unbounded 
*** 432,439 ****
        Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural
     is
     begin
!       return Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
--- 420,428 ----
        Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural
     is
     begin
!       return
!         Wide_Search.Count
!           (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
*************** package body Ada.Strings.Wide_Unbounded 
*** 441,447 ****
        Set    : Wide_Maps.Wide_Character_Set) return Natural
     is
     begin
!       return Wide_Search.Count (Source.Reference (1 .. Source.Last), Set);
     end Count;
  
     ------------
--- 430,438 ----
        Set    : Wide_Maps.Wide_Character_Set) return Natural
     is
     begin
!       return
!         Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Set);
     end Count;
  
     ------------
*************** package body Ada.Strings.Wide_Unbounded 
*** 454,462 ****
        Through : Natural) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Delete
!            (Source.Reference (1 .. Source.Last), From, Through));
     end Delete;
  
     procedure Delete
--- 445,454 ----
        Through : Natural) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Delete
!              (Source.Reference (1 .. Source.Last), From, Through));
     end Delete;
  
     procedure Delete
*************** package body Ada.Strings.Wide_Unbounded 
*** 505,511 ****
  
     procedure Finalize (Object : in out Unbounded_Wide_String) is
        procedure Deallocate is
!         new Ada.Unchecked_Deallocation (Wide_String, Wide_String_Access);
  
     begin
        --  Note: Don't try to free statically allocated null string
--- 497,503 ----
  
     procedure Finalize (Object : in out Unbounded_Wide_String) is
        procedure Deallocate is
!          new Ada.Unchecked_Deallocation (Wide_String, Wide_String_Access);
  
     begin
        --  Note: Don't try to free statically allocated null string
*************** package body Ada.Strings.Wide_Unbounded 
*** 513,518 ****
--- 505,511 ----
        if Object.Reference /= Null_Wide_String'Access then
           Deallocate (Object.Reference);
           Object.Reference := Null_Unbounded_Wide_String.Reference;
+          Object.Last := 0;
        end if;
     end Finalize;
  
*************** package body Ada.Strings.Wide_Unbounded 
*** 539,544 ****
--- 532,538 ----
     procedure Free (X : in out Wide_String_Access) is
        procedure Deallocate is
           new Ada.Unchecked_Deallocation (Wide_String, Wide_String_Access);
+ 
     begin
        --  Note: Do not try to free statically allocated null string
  
*************** package body Ada.Strings.Wide_Unbounded 
*** 557,565 ****
        Pad    : Wide_Character := Wide_Space) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Head (Source.Reference (1 .. Source.Last), Count, Pad));
     end Head;
  
     procedure Head
--- 551,558 ----
        Pad    : Wide_Character := Wide_Space) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Head (Source.Reference (1 .. Source.Last), Count, Pad));
     end Head;
  
     procedure Head
*************** package body Ada.Strings.Wide_Unbounded 
*** 568,577 ****
        Pad    : Wide_Character := Wide_Space)
     is
        Old : Wide_String_Access := Source.Reference;
- 
     begin
!       Source.Reference := new Wide_String'
!         (Wide_Fixed.Head (Source.Reference (1 .. Source.Last), Count, Pad));
        Source.Last := Source.Reference'Length;
        Free (Old);
     end Head;
--- 561,570 ----
        Pad    : Wide_Character := Wide_Space)
     is
        Old : Wide_String_Access := Source.Reference;
     begin
!       Source.Reference :=
!         new Wide_String'
!           (Wide_Fixed.Head (Source.Reference (1 .. Source.Last), Count, Pad));
        Source.Last := Source.Reference'Length;
        Free (Old);
     end Head;
*************** package body Ada.Strings.Wide_Unbounded 
*** 584,595 ****
       (Source  : Unbounded_Wide_String;
        Pattern : Wide_String;
        Going   : Strings.Direction := Strings.Forward;
!       Mapping : Wide_Maps.Wide_Character_Mapping :=
!                         Wide_Maps.Identity) return Natural
     is
     begin
!       return Wide_Search.Index
!         (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
--- 577,589 ----
       (Source  : Unbounded_Wide_String;
        Pattern : Wide_String;
        Going   : Strings.Direction := Strings.Forward;
!       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
!       return Natural
     is
     begin
!       return
!         Wide_Search.Index
!           (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
*************** package body Ada.Strings.Wide_Unbounded 
*** 599,606 ****
        Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural
     is
     begin
!       return Wide_Search.Index
!         (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
--- 593,601 ----
        Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural
     is
     begin
!       return
!         Wide_Search.Index
!           (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
*************** package body Ada.Strings.Wide_Unbounded 
*** 614,626 ****
          (Source.Reference (1 .. Source.Last), Set, Test, Going);
     end Index;
  
     function Index_Non_Blank
       (Source : Unbounded_Wide_String;
        Going  : Strings.Direction := Strings.Forward) return Natural
     is
     begin
!       return Wide_Search.Index_Non_Blank
!         (Source.Reference (1 .. Source.Last), Going);
     end Index_Non_Blank;
  
     ----------------
--- 609,673 ----
          (Source.Reference (1 .. Source.Last), Set, Test, Going);
     end Index;
  
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Pattern : Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
+       return Natural
+    is
+    begin
+       return
+         Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Pattern, From, Going, Mapping);
+    end Index;
+ 
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Pattern : Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural
+    is
+    begin
+       return
+         Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Pattern, From, Going, Mapping);
+    end Index;
+ 
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Set     : Wide_Maps.Wide_Character_Set;
+       From    : Positive;
+       Test    : Membership := Inside;
+       Going   : Direction := Forward) return Natural
+    is
+    begin
+       return
+         Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Set, From, Test, Going);
+    end Index;
+ 
     function Index_Non_Blank
       (Source : Unbounded_Wide_String;
        Going  : Strings.Direction := Strings.Forward) return Natural
     is
     begin
!       return
!         Wide_Search.Index_Non_Blank
!           (Source.Reference (1 .. Source.Last), Going);
!    end Index_Non_Blank;
! 
!    function Index_Non_Blank
!      (Source : Unbounded_Wide_String;
!       From   : Positive;
!       Going  : Direction := Forward) return Natural
!    is
!    begin
!       return
!         Wide_Search.Index_Non_Blank
!           (Source.Reference (1 .. Source.Last), From, Going);
     end Index_Non_Blank;
  
     ----------------
*************** package body Ada.Strings.Wide_Unbounded 
*** 643,651 ****
        New_Item : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Insert
!            (Source.Reference (1 .. Source.Last), Before, New_Item));
     end Insert;
  
     procedure Insert
--- 690,699 ----
        New_Item : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Insert
!              (Source.Reference (1 .. Source.Last), Before, New_Item));
     end Insert;
  
     procedure Insert
*************** package body Ada.Strings.Wide_Unbounded 
*** 687,695 ****
        New_Item : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Overwrite
!            (Source.Reference (1 .. Source.Last), Position, New_Item));
     end Overwrite;
  
     procedure Overwrite
--- 735,744 ----
        New_Item : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Overwrite
!             (Source.Reference (1 .. Source.Last), Position, New_Item));
     end Overwrite;
  
     procedure Overwrite
*************** package body Ada.Strings.Wide_Unbounded 
*** 698,712 ****
        New_Item  : Wide_String)
     is
        NL : constant Natural := New_Item'Length;
- 
     begin
        if Position <= Source.Last - NL + 1 then
           Source.Reference (Position .. Position + NL - 1) := New_Item;
- 
        else
           declare
              Old : Wide_String_Access := Source.Reference;
- 
           begin
              Source.Reference := new Wide_String'
                (Wide_Fixed.Overwrite
--- 747,758 ----
*************** package body Ada.Strings.Wide_Unbounded 
*** 725,742 ****
       (Source     : in out Unbounded_Wide_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 50;
!       S_Length      : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             Alloc_Chunk_Size : constant Positive :=
!                                  Chunk_Size + (S_Length / Growth_Factor);
!             Tmp : Wide_String_Access;
  
           begin
-             Tmp := new Wide_String (1 .. S_Length + Alloc_Chunk_Size);
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
--- 771,806 ----
       (Source     : in out Unbounded_Wide_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 32;
!       --  The growth factor controls how much extra space is allocated when
!       --  we have to increase the size of an allocated unbounded string. By
!       --  allocating extra space, we avoid the need to reallocate on every
!       --  append, particularly important when a string is built up by repeated
!       --  append operations of small pieces. This is expressed as a factor so
!       --  32 means add 1/32 of the length of the string as growth space.
! 
!       Min_Mul_Alloc : constant := Standard'Maximum_Alignment;
!       --  Allocation will be done by a multiple of Min_Mul_Alloc This causes
!       --  no memory loss as most (all?) malloc implementations are obliged to
!       --  align the returned memory on the maximum alignment as malloc does not
!       --  know the target alignment.
! 
!       S_Length : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             New_Size : constant Positive :=
!                          S_Length + Chunk_Size + (S_Length / Growth_Factor);
! 
!             New_Rounded_Up_Size : constant Positive :=
!                                     ((New_Size - 1) / Min_Mul_Alloc + 1) *
!                                        Min_Mul_Alloc;
! 
!             Tmp : constant Wide_String_Access :=
!                     new Wide_String (1 .. New_Rounded_Up_Size);
  
           begin
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
*************** package body Ada.Strings.Wide_Unbounded 
*** 772,791 ****
        By     : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
          (Wide_Fixed.Replace_Slice
             (Source.Reference (1 .. Source.Last), Low, High, By));
     end Replace_Slice;
  
     procedure Replace_Slice
!      (Source   : in out Unbounded_Wide_String;
!       Low      : Positive;
!       High     : Natural;
!       By       : Wide_String)
     is
        Old : Wide_String_Access := Source.Reference;
- 
     begin
        Source.Reference := new Wide_String'
          (Wide_Fixed.Replace_Slice
--- 836,853 ----
        By     : Wide_String) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
          (Wide_Fixed.Replace_Slice
             (Source.Reference (1 .. Source.Last), Low, High, By));
     end Replace_Slice;
  
     procedure Replace_Slice
!      (Source : in out Unbounded_Wide_String;
!       Low    : Positive;
!       High   : Natural;
!       By     : Wide_String)
     is
        Old : Wide_String_Access := Source.Reference;
     begin
        Source.Reference := new Wide_String'
          (Wide_Fixed.Replace_Slice
*************** package body Ada.Strings.Wide_Unbounded 
*** 794,799 ****
--- 856,875 ----
        Free (Old);
     end Replace_Slice;
  
+    -------------------------------
+    -- Set_Unbounded_Wide_String --
+    -------------------------------
+ 
+    procedure Set_Unbounded_Wide_String
+      (Target : out Unbounded_Wide_String;
+       Source : Wide_String)
+    is
+    begin
+       Target.Last          := Source'Length;
+       Target.Reference     := new Wide_String (1 .. Source'Length);
+       Target.Reference.all := Source;
+    end Set_Unbounded_Wide_String;
+ 
     -----------
     -- Slice --
     -----------
*************** package body Ada.Strings.Wide_Unbounded 
*** 808,814 ****
  
        if Low > Source.Last + 1 or else High > Source.Last then
           raise Index_Error;
- 
        else
           return Source.Reference (Low .. High);
        end if;
--- 884,889 ----
*************** package body Ada.Strings.Wide_Unbounded 
*** 821,828 ****
     function Tail
       (Source : Unbounded_Wide_String;
        Count  : Natural;
!       Pad    : Wide_Character := Wide_Space) return Unbounded_Wide_String
!    is
     begin
        return To_Unbounded_Wide_String
          (Wide_Fixed.Tail (Source.Reference (1 .. Source.Last), Count, Pad));
--- 896,902 ----
     function Tail
       (Source : Unbounded_Wide_String;
        Count  : Natural;
!       Pad    : Wide_Character := Wide_Space) return Unbounded_Wide_String is
     begin
        return To_Unbounded_Wide_String
          (Wide_Fixed.Tail (Source.Reference (1 .. Source.Last), Count, Pad));
*************** package body Ada.Strings.Wide_Unbounded 
*** 834,840 ****
        Pad    : Wide_Character := Wide_Space)
     is
        Old : Wide_String_Access := Source.Reference;
- 
     begin
        Source.Reference := new Wide_String'
          (Wide_Fixed.Tail (Source.Reference (1 .. Source.Last), Count, Pad));
--- 908,913 ----
*************** package body Ada.Strings.Wide_Unbounded 
*** 847,853 ****
     ------------------------------
  
     function To_Unbounded_Wide_String
!      (Source : Wide_String) return Unbounded_Wide_String
     is
        Result : Unbounded_Wide_String;
     begin
--- 920,927 ----
     ------------------------------
  
     function To_Unbounded_Wide_String
!      (Source : Wide_String)
!       return Unbounded_Wide_String
     is
        Result : Unbounded_Wide_String;
     begin
*************** package body Ada.Strings.Wide_Unbounded 
*** 867,878 ****
        return Result;
     end To_Unbounded_Wide_String;
  
!    --------------------
     -- To_Wide_String --
     --------------------
  
     function To_Wide_String
!      (Source : Unbounded_Wide_String) return Wide_String
     is
     begin
        return Source.Reference (1 .. Source.Last);
--- 941,953 ----
        return Result;
     end To_Unbounded_Wide_String;
  
!    -------------------
     -- To_Wide_String --
     --------------------
  
     function To_Wide_String
!      (Source : Unbounded_Wide_String)
!       return Wide_String
     is
     begin
        return Source.Reference (1 .. Source.Last);
*************** package body Ada.Strings.Wide_Unbounded 
*** 884,894 ****
  
     function Translate
       (Source  : Unbounded_Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Translate (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
--- 959,972 ----
  
     function Translate
       (Source  : Unbounded_Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping)
!       return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Translate
!              (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
*************** package body Ada.Strings.Wide_Unbounded 
*** 905,912 ****
        return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Translate (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
--- 983,992 ----
        return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Translate
!             (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
*************** package body Ada.Strings.Wide_Unbounded 
*** 926,933 ****
        Side   : Trim_End) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
     end Trim;
  
     procedure Trim
--- 1006,1014 ----
        Side   : Trim_End) return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
     end Trim;
  
     procedure Trim
*************** package body Ada.Strings.Wide_Unbounded 
*** 936,943 ****
     is
        Old : Wide_String_Access := Source.Reference;
     begin
!       Source.Reference := new Wide_String'
!         (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
--- 1017,1025 ----
     is
        Old : Wide_String_Access := Source.Reference;
     begin
!       Source.Reference :=
!         new Wide_String'
!           (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
*************** package body Ada.Strings.Wide_Unbounded 
*** 945,955 ****
     function Trim
       (Source : Unbounded_Wide_String;
        Left   : Wide_Maps.Wide_Character_Set;
!       Right  : Wide_Maps.Wide_Character_Set) return Unbounded_Wide_String
     is
     begin
!       return To_Unbounded_Wide_String
!         (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Left, Right));
     end Trim;
  
     procedure Trim
--- 1027,1040 ----
     function Trim
       (Source : Unbounded_Wide_String;
        Left   : Wide_Maps.Wide_Character_Set;
!       Right  : Wide_Maps.Wide_Character_Set)
!       return Unbounded_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_String
!           (Wide_Fixed.Trim
!              (Source.Reference (1 .. Source.Last), Left, Right));
     end Trim;
  
     procedure Trim
*************** package body Ada.Strings.Wide_Unbounded 
*** 958,969 ****
        Right  : Wide_Maps.Wide_Character_Set)
     is
        Old : Wide_String_Access := Source.Reference;
- 
     begin
!       Source.Reference := new Wide_String'
!         (Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Left, Right));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
  
  end Ada.Strings.Wide_Unbounded;
--- 1043,1087 ----
        Right  : Wide_Maps.Wide_Character_Set)
     is
        Old : Wide_String_Access := Source.Reference;
     begin
!       Source.Reference :=
!         new Wide_String'
!           (Wide_Fixed.Trim
!              (Source.Reference (1 .. Source.Last), Left, Right));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
  
+    ---------------------
+    -- Unbounded_Slice --
+    ---------------------
+ 
+    function Unbounded_Slice
+      (Source : Unbounded_Wide_String;
+       Low    : Positive;
+       High   : Natural) return Unbounded_Wide_String
+    is
+    begin
+       if Low > Source.Last + 1 or else High > Source.Last then
+          raise Index_Error;
+       else
+          return To_Unbounded_Wide_String (Source.Reference.all (Low .. High));
+       end if;
+    end Unbounded_Slice;
+ 
+    procedure Unbounded_Slice
+      (Source : Unbounded_Wide_String;
+       Target : out Unbounded_Wide_String;
+       Low    : Positive;
+       High   : Natural)
+    is
+    begin
+       if Low > Source.Last + 1 or else High > Source.Last then
+          raise Index_Error;
+       else
+          Target :=
+            To_Unbounded_Wide_String (Source.Reference.all (Low .. High));
+       end if;
+    end Unbounded_Slice;
+ 
  end Ada.Strings.Wide_Unbounded;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stwiun.ads gcc-4.1.0/gcc/ada/a-stwiun.ads
*** gcc-4.0.2/gcc/ada/a-stwiun.ads	Thu Feb 10 13:50:15 2005
--- gcc-4.1.0/gcc/ada/a-stwiun.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Wide_Maps;
*** 39,45 ****
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Unbounded is
! pragma Preelaborate (Wide_Unbounded);
  
     type Unbounded_Wide_String is private;
  
--- 39,45 ----
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Unbounded is
!    pragma Preelaborate;
  
     type Unbounded_Wide_String is private;
  
*************** pragma Preelaborate (Wide_Unbounded);
*** 62,68 ****
       (Length : Natural) return Unbounded_Wide_String;
  
     function To_Wide_String
!      (Source : Unbounded_Wide_String) return Wide_String;
  
     procedure Append
       (Source   : in out Unbounded_Wide_String;
--- 62,74 ----
       (Length : Natural) return Unbounded_Wide_String;
  
     function To_Wide_String
!      (Source : Unbounded_Wide_String)
!       return Wide_String;
! 
!    procedure Set_Unbounded_Wide_String
!      (Target : out Unbounded_Wide_String;
!       Source : Wide_String);
!    pragma Ada_05 (Set_Unbounded_Wide_String);
  
     procedure Append
       (Source   : in out Unbounded_Wide_String;
*************** pragma Preelaborate (Wide_Unbounded);
*** 77,83 ****
        New_Item : Wide_Character);
  
     function "&"
!      (Left, Right : Unbounded_Wide_String) return Unbounded_Wide_String;
  
     function "&"
       (Left  : Unbounded_Wide_String;
--- 83,90 ----
        New_Item : Wide_Character);
  
     function "&"
!      (Left  : Unbounded_Wide_String;
!       Right : Unbounded_Wide_String) return Unbounded_Wide_String;
  
     function "&"
       (Left  : Unbounded_Wide_String;
*************** pragma Preelaborate (Wide_Unbounded);
*** 109,114 ****
--- 116,134 ----
        Low    : Positive;
        High   : Natural) return Wide_String;
  
+    function Unbounded_Slice
+      (Source : Unbounded_Wide_String;
+       Low    : Positive;
+       High   : Natural) return Unbounded_Wide_String;
+    pragma Ada_05 (Unbounded_Slice);
+ 
+    procedure Unbounded_Slice
+      (Source : Unbounded_Wide_String;
+       Target : out Unbounded_Wide_String;
+       Low    : Positive;
+       High   : Natural);
+    pragma Ada_05 (Unbounded_Slice);
+ 
     function "="
       (Left  : Unbounded_Wide_String;
        Right : Unbounded_Wide_String) return Boolean;
*************** pragma Preelaborate (Wide_Unbounded);
*** 192,201 ****
--- 212,252 ----
        Test   : Membership := Inside;
        Going  : Direction  := Forward) return Natural;
  
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Pattern : Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Maps.Wide_Character_Mapping := Wide_Maps.Identity)
+       return Natural;
+    pragma Ada_05 (Index);
+ 
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Pattern : Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Maps.Wide_Character_Mapping_Function) return Natural;
+    pragma Ada_05 (Index);
+ 
+    function Index
+      (Source  : Unbounded_Wide_String;
+       Set     : Wide_Maps.Wide_Character_Set;
+       From    : Positive;
+       Test    : Membership := Inside;
+       Going   : Direction := Forward) return Natural;
+    pragma Ada_05 (Index);
+ 
     function Index_Non_Blank
       (Source : Unbounded_Wide_String;
        Going  : Direction := Forward) return Natural;
  
+    function Index_Non_Blank
+      (Source : Unbounded_Wide_String;
+       From   : Positive;
+       Going  : Direction := Forward) return Natural;
+    pragma Ada_05 (Index_Non_Blank);
+ 
     function Count
       (Source  : Unbounded_Wide_String;
        Pattern : Wide_String;
*************** pragma Preelaborate (Wide_Unbounded);
*** 219,230 ****
        Last   : out Natural);
  
     ------------------------------------
!    -- Wide_String Translation Subprograms --
     ------------------------------------
  
     function Translate
       (Source  : Unbounded_Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping) return Unbounded_Wide_String;
  
     procedure Translate
       (Source  : in out Unbounded_Wide_String;
--- 270,282 ----
        Last   : out Natural);
  
     ------------------------------------
!    -- String Translation Subprograms --
     ------------------------------------
  
     function Translate
       (Source  : Unbounded_Wide_String;
!       Mapping : Wide_Maps.Wide_Character_Mapping)
!       return Unbounded_Wide_String;
  
     procedure Translate
       (Source  : in out Unbounded_Wide_String;
*************** pragma Preelaborate (Wide_Unbounded);
*** 240,246 ****
        Mapping : Wide_Maps.Wide_Character_Mapping_Function);
  
     ---------------------------------------
!    -- Wide_String Transformation Subprograms --
     ---------------------------------------
  
     function Replace_Slice
--- 292,298 ----
        Mapping : Wide_Maps.Wide_Character_Mapping_Function);
  
     ---------------------------------------
!    -- String Transformation Subprograms --
     ---------------------------------------
  
     function Replace_Slice
*************** pragma Preelaborate (Wide_Unbounded);
*** 250,259 ****
        By     : Wide_String) return Unbounded_Wide_String;
  
     procedure Replace_Slice
!      (Source   : in out Unbounded_Wide_String;
!       Low      : Positive;
!       High     : Natural;
!       By       : Wide_String);
  
     function Insert
       (Source   : Unbounded_Wide_String;
--- 302,311 ----
        By     : Wide_String) return Unbounded_Wide_String;
  
     procedure Replace_Slice
!      (Source : in out Unbounded_Wide_String;
!       Low    : Positive;
!       High   : Natural;
!       By     : Wide_String);
  
     function Insert
       (Source   : Unbounded_Wide_String;
*************** pragma Preelaborate (Wide_Unbounded);
*** 271,279 ****
        New_Item : Wide_String) return Unbounded_Wide_String;
  
     procedure Overwrite
!      (Source    : in out Unbounded_Wide_String;
!       Position  : Positive;
!       New_Item  : Wide_String);
  
     function Delete
       (Source  : Unbounded_Wide_String;
--- 323,331 ----
        New_Item : Wide_String) return Unbounded_Wide_String;
  
     procedure Overwrite
!      (Source   : in out Unbounded_Wide_String;
!       Position : Positive;
!       New_Item : Wide_String);
  
     function Delete
       (Source  : Unbounded_Wide_String;
*************** private
*** 361,372 ****
       (Unbounded_Wide_String, To_Unbounded_Wide, To_Wide_String);
  
     pragma Finalize_Storage_Only (Unbounded_Wide_String);
  
     procedure Initialize (Object : in out Unbounded_Wide_String);
     procedure Adjust     (Object : in out Unbounded_Wide_String);
     procedure Finalize   (Object : in out Unbounded_Wide_String);
  
     Null_Unbounded_Wide_String : constant Unbounded_Wide_String :=
!      (AF.Controlled with Reference => Null_Wide_String'Access, Last => 0);
  
  end Ada.Strings.Wide_Unbounded;
--- 413,441 ----
       (Unbounded_Wide_String, To_Unbounded_Wide, To_Wide_String);
  
     pragma Finalize_Storage_Only (Unbounded_Wide_String);
+    --  Finalization is required only for freeing storage
  
     procedure Initialize (Object : in out Unbounded_Wide_String);
     procedure Adjust     (Object : in out Unbounded_Wide_String);
     procedure Finalize   (Object : in out Unbounded_Wide_String);
  
+    procedure Realloc_For_Chunk
+      (Source     : in out Unbounded_Wide_String;
+       Chunk_Size : Natural);
+    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
+    --  is safe to add a string of this size at the end of the current content.
+    --  The real size allocated for the string is Chunk_Size + x of the current
+    --  string size. This buffered handling makes the Append unbounded string
+    --  routines very fast.
+ 
     Null_Unbounded_Wide_String : constant Unbounded_Wide_String :=
!                                   (AF.Controlled with
!                                      Reference => Null_Wide_String'Access,
!                                      Last => 0);
!    --  Note: this declaration is illegal since library level controlled
!    --  objects are not allowed in preelaborated units. See AI-161 for a
!    --  discussion of this issue and an attempt to address it. Meanwhile,
!    --  what happens in GNAT is that this check is omitted for internal
!    --  implementation units (see check in sem_cat.adb).
  
  end Ada.Strings.Wide_Unbounded;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzbou.adb gcc-4.1.0/gcc/ada/a-stzbou.adb
*** gcc-4.0.2/gcc/ada/a-stzbou.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzbou.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ W I D E _ B O U N D E D         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ W I D E _ B O U N D E D         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzbou.ads gcc-4.1.0/gcc/ada/a-stzbou.ads
*** gcc-4.0.2/gcc/ada/a-stzbou.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzbou.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Wide_Wide_Maps;
*** 39,45 ****
  with Ada.Strings.Wide_Wide_Superbounded;
  
  package Ada.Strings.Wide_Wide_Bounded is
! pragma Preelaborate (Wide_Wide_Bounded);
  
     generic
        Max : Positive;
--- 39,45 ----
  with Ada.Strings.Wide_Wide_Superbounded;
  
  package Ada.Strings.Wide_Wide_Bounded is
!    pragma Preelaborate;
  
     generic
        Max : Positive;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzfix.adb gcc-4.1.0/gcc/ada/a-stzfix.adb
*** gcc-4.0.2/gcc/ada/a-stzfix.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzfix.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . S T R I N G S . W I D E _ F I X E D                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzfix.ads gcc-4.1.0/gcc/ada/a-stzfix.ads
*** gcc-4.0.2/gcc/ada/a-stzfix.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzfix.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . S T R I N G S . W I D E _ W I D E _ F I X E D           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . S T R I N G S . W I D E _ W I D E _ F I X E D           --
  --                                                                          --
***************
*** 13,23 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- 
  with Ada.Strings.Wide_Wide_Maps;
  
  package Ada.Strings.Wide_Wide_Fixed is
! pragma Preelaborate (Wide_Wide_Fixed);
  
     ------------------------------------------------------------------------
     -- Copy Procedure for Wide_Wide_Strings of Possibly Different Lengths --
--- 13,22 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  with Ada.Strings.Wide_Wide_Maps;
  
  package Ada.Strings.Wide_Wide_Fixed is
!    pragma Preelaborate;
  
     ------------------------------------------------------------------------
     -- Copy Procedure for Wide_Wide_Strings of Possibly Different Lengths --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzhas.adb gcc-4.1.0/gcc/ada/a-stzhas.adb
*** gcc-4.0.2/gcc/ada/a-stzhas.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzhas.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** is
*** 50,59 ****
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 1) + Wide_Wide_Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Wide_Wide_Hash;
- 
- 
--- 50,57 ----
  begin
     Tmp := 0;
     for J in Key'Range loop
!       Tmp := Rotate_Left (Tmp, 3) + Wide_Wide_Character'Pos (Key (J));
     end loop;
  
     return Tmp;
  end Ada.Strings.Wide_Wide_Hash;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzhas.ads gcc-4.1.0/gcc/ada/a-stzhas.ads
*** gcc-4.0.2/gcc/ada/a-stzhas.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzhas.ads	Thu Jun 16 09:00:13 2005
*************** function Ada.Strings.Wide_Wide_Hash
*** 19,24 ****
    (Key : Wide_Wide_String) return Containers.Hash_Type;
  
  pragma Pure (Ada.Strings.Wide_Wide_Hash);
- 
- 
- 
--- 19,21 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzmap.adb gcc-4.1.0/gcc/ada/a-stzmap.adb
*** gcc-4.0.2/gcc/ada/a-stzmap.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzmap.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . S T R I N G S . W I D E _ W I D E _ M A P S            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . S T R I N G S . W I D E _ W I D E _ M A P S            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzmap.ads gcc-4.1.0/gcc/ada/a-stzmap.ads
*** gcc-4.0.2/gcc/ada/a-stzmap.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzmap.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Wide_Maps is
!    pragma Preelaborate (Wide_Wide_Maps);
  
     ------------------------------------------
     -- Wide_Wide_Character Set Declarations --
--- 38,44 ----
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Wide_Maps is
!    pragma Preelaborate;
  
     ------------------------------------------
     -- Wide_Wide_Character Set Declarations --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzsea.adb gcc-4.1.0/gcc/ada/a-stzsea.adb
*** gcc-4.0.2/gcc/ada/a-stzsea.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzsea.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . S T R I N G S . W I D E _ W I D E _ S E A R C H          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . S T R I N G S . W I D E _ W I D E _ S E A R C H          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzsea.ads gcc-4.1.0/gcc/ada/a-stzsea.ads
*** gcc-4.0.2/gcc/ada/a-stzsea.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzsea.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 42,48 ****
  with Ada.Strings.Wide_Wide_Maps;
  
  private package Ada.Strings.Wide_Wide_Search is
! pragma Preelaborate (Wide_Wide_Search);
  
     function Index
       (Source  : Wide_Wide_String;
--- 42,48 ----
  with Ada.Strings.Wide_Wide_Maps;
  
  private package Ada.Strings.Wide_Wide_Search is
!    pragma Preelaborate;
  
     function Index
       (Source  : Wide_Wide_String;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzsup.adb gcc-4.1.0/gcc/ada/a-stzsup.adb
*** gcc-4.0.2/gcc/ada/a-stzsup.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzsup.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ S U P E R B O U N D E D    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ S U P E R B O U N D E D    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzsup.ads gcc-4.1.0/gcc/ada/a-stzsup.ads
*** gcc-4.0.2/gcc/ada/a-stzsup.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzsup.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 42,48 ****
  with Ada.Strings.Wide_Wide_Maps;
  
  package Ada.Strings.Wide_Wide_Superbounded is
! pragma Preelaborate (Wide_Wide_Superbounded);
  
     Wide_Wide_NUL : constant Wide_Wide_Character :=
                       Wide_Wide_Character'Val (0);
--- 42,48 ----
  with Ada.Strings.Wide_Wide_Maps;
  
  package Ada.Strings.Wide_Wide_Superbounded is
!    pragma Preelaborate;
  
     Wide_Wide_NUL : constant Wide_Wide_Character :=
                       Wide_Wide_Character'Val (0);
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzunb.adb gcc-4.1.0/gcc/ada/a-stzunb.adb
*** gcc-4.0.2/gcc/ada/a-stzunb.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzunb.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 39,54 ****
  
     use Ada.Finalization;
  
-    procedure Realloc_For_Chunk
-      (Source     : in out Unbounded_Wide_Wide_String;
-       Chunk_Size : Natural);
-    pragma Inline (Realloc_For_Chunk);
-    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
-    --  is safe to add a string of this size at the end of the current content.
-    --  The real size allocated for the string is Chunk_Size + x of the current
-    --  string size. This buffered handling makes the Append unbounded wide
-    --  string routines very fast.
- 
     ---------
     -- "&" --
     ---------
--- 39,44 ----
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 142,148 ****
        Result.Reference (1) := Left;
        Result.Reference (2 .. Result.Last) :=
          Right.Reference (1 .. Right.Last);
- 
        return Result;
     end "&";
  
--- 132,137 ----
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 157,163 ****
        Result : Unbounded_Wide_Wide_String;
  
     begin
!       Result.Last := Left;
  
        Result.Reference := new Wide_Wide_String (1 .. Left);
        for J in Result.Reference'Range loop
--- 146,152 ----
        Result : Unbounded_Wide_Wide_String;
  
     begin
!       Result.Last   := Left;
  
        Result.Reference := new Wide_Wide_String (1 .. Left);
        for J in Result.Reference'Range loop
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 195,201 ****
     is
        Len    : constant Natural := Right.Last;
        K      : Positive;
!       Result   : Unbounded_Wide_Wide_String;
  
     begin
        Result.Last := Left * Len;
--- 184,190 ----
     is
        Len    : constant Natural := Right.Last;
        K      : Positive;
!       Result : Unbounded_Wide_Wide_String;
  
     begin
        Result.Last := Left * Len;
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 203,209 ****
        Result.Reference := new Wide_Wide_String (1 .. Result.Last);
  
        K := 1;
!       for I in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
--- 192,198 ----
        Result.Reference := new Wide_Wide_String (1 .. Result.Last);
  
        K := 1;
!       for J in 1 .. Left loop
           Result.Reference (K .. K + Len - 1) :=
             Right.Reference (1 .. Right.Last);
           K := K + Len;
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 417,427 ****
       (Source  : Unbounded_Wide_Wide_String;
        Pattern : Wide_Wide_String;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                         Wide_Wide_Maps.Identity) return Natural
     is
     begin
!       return Wide_Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
--- 406,418 ----
       (Source  : Unbounded_Wide_Wide_String;
        Pattern : Wide_Wide_String;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                   Wide_Wide_Maps.Identity)
!       return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Count
!           (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 431,438 ****
        return Natural
     is
     begin
!       return Wide_Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
--- 422,430 ----
        return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Count
!           (Source.Reference (1 .. Source.Last), Pattern, Mapping);
     end Count;
  
     function Count
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 440,447 ****
        Set    : Wide_Wide_Maps.Wide_Wide_Character_Set) return Natural
     is
     begin
!       return Wide_Wide_Search.Count
!                (Source.Reference (1 .. Source.Last), Set);
     end Count;
  
     ------------
--- 432,440 ----
        Set    : Wide_Wide_Maps.Wide_Wide_Character_Set) return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Count
!         (Source.Reference (1 .. Source.Last), Set);
     end Count;
  
     ------------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 454,462 ****
        Through : Natural) return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Delete
!            (Source.Reference (1 .. Source.Last), From, Through));
     end Delete;
  
     procedure Delete
--- 447,456 ----
        Through : Natural) return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Delete
!              (Source.Reference (1 .. Source.Last), From, Through));
     end Delete;
  
     procedure Delete
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 506,512 ****
     procedure Finalize (Object : in out Unbounded_Wide_Wide_String) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation
!               (Wide_Wide_String, Wide_Wide_String_Access);
  
     begin
        --  Note: Don't try to free statically allocated null string
--- 500,506 ----
     procedure Finalize (Object : in out Unbounded_Wide_Wide_String) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation
!           (Wide_Wide_String, Wide_Wide_String_Access);
  
     begin
        --  Note: Don't try to free statically allocated null string
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 514,519 ****
--- 508,514 ----
        if Object.Reference /= Null_Wide_Wide_String'Access then
           Deallocate (Object.Reference);
           Object.Reference := Null_Unbounded_Wide_Wide_String.Reference;
+          Object.Last := 0;
        end if;
     end Finalize;
  
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 540,546 ****
     procedure Free (X : in out Wide_Wide_String_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation
!               (Wide_Wide_String, Wide_Wide_String_Access);
     begin
        --  Note: Do not try to free statically allocated null string
  
--- 535,542 ----
     procedure Free (X : in out Wide_Wide_String_Access) is
        procedure Deallocate is
          new Ada.Unchecked_Deallocation
!           (Wide_Wide_String, Wide_Wide_String_Access);
! 
     begin
        --  Note: Do not try to free statically allocated null string
  
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 560,569 ****
        return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Head
!              (Source.Reference (1 .. Source.Last), Count, Pad));
     end Head;
  
     procedure Head
--- 556,564 ----
        return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Head
!            (Source.Reference (1 .. Source.Last), Count, Pad));
     end Head;
  
     procedure Head
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 572,582 ****
        Pad    : Wide_Wide_Character := Wide_Wide_Space)
     is
        Old : Wide_Wide_String_Access := Source.Reference;
- 
     begin
!       Source.Reference := new Wide_Wide_String'
!         (Wide_Wide_Fixed.Head
!            (Source.Reference (1 .. Source.Last), Count, Pad));
        Source.Last := Source.Reference'Length;
        Free (Old);
     end Head;
--- 567,577 ----
        Pad    : Wide_Wide_Character := Wide_Wide_Space)
     is
        Old : Wide_Wide_String_Access := Source.Reference;
     begin
!       Source.Reference :=
!         new Wide_Wide_String'
!           (Wide_Wide_Fixed.Head
!              (Source.Reference (1 .. Source.Last), Count, Pad));
        Source.Last := Source.Reference'Length;
        Free (Old);
     end Head;
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 590,600 ****
        Pattern : Wide_Wide_String;
        Going   : Strings.Direction := Strings.Forward;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                         Wide_Wide_Maps.Identity) return Natural
     is
     begin
!       return Wide_Wide_Search.Index
!         (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
--- 585,597 ----
        Pattern : Wide_Wide_String;
        Going   : Strings.Direction := Strings.Forward;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                   Wide_Wide_Maps.Identity)
!       return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Index
!           (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 605,612 ****
        return Natural
     is
     begin
!       return Wide_Wide_Search.Index
!         (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
--- 602,610 ----
        return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Index
!           (Source.Reference (1 .. Source.Last), Pattern, Going, Mapping);
     end Index;
  
     function Index
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 620,632 ****
          (Source.Reference (1 .. Source.Last), Set, Test, Going);
     end Index;
  
     function Index_Non_Blank
       (Source : Unbounded_Wide_Wide_String;
        Going  : Strings.Direction := Strings.Forward) return Natural
     is
     begin
!       return Wide_Wide_Search.Index_Non_Blank
!         (Source.Reference (1 .. Source.Last), Going);
     end Index_Non_Blank;
  
     ----------------
--- 618,684 ----
          (Source.Reference (1 .. Source.Last), Set, Test, Going);
     end Index;
  
+    function Index
+      (Source  : Unbounded_Wide_Wide_String;
+       Pattern : Wide_Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
+                   Wide_Wide_Maps.Identity)
+       return Natural
+    is
+    begin
+       return
+         Wide_Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Pattern, From, Going, Mapping);
+    end Index;
+ 
+    function Index
+      (Source  : Unbounded_Wide_Wide_String;
+       Pattern : Wide_Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
+       return Natural
+    is
+    begin
+       return
+         Wide_Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Pattern, From, Going, Mapping);
+    end Index;
+ 
+    function Index
+      (Source : Unbounded_Wide_Wide_String;
+       Set    : Wide_Wide_Maps.Wide_Wide_Character_Set;
+       From   : Positive;
+       Test   : Membership := Inside;
+       Going  : Direction := Forward) return Natural
+    is
+    begin
+       return
+         Wide_Wide_Search.Index
+           (Source.Reference (1 .. Source.Last), Set, From, Test, Going);
+    end Index;
+ 
     function Index_Non_Blank
       (Source : Unbounded_Wide_Wide_String;
        Going  : Strings.Direction := Strings.Forward) return Natural
     is
     begin
!       return
!         Wide_Wide_Search.Index_Non_Blank
!           (Source.Reference (1 .. Source.Last), Going);
!    end Index_Non_Blank;
! 
!    function Index_Non_Blank
!      (Source : Unbounded_Wide_Wide_String;
!       From   : Positive;
!       Going  : Direction := Forward) return Natural
!    is
!    begin
!       return
!         Wide_Wide_Search.Index_Non_Blank
!           (Source.Reference (1 .. Source.Last), From, Going);
     end Index_Non_Blank;
  
     ----------------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 649,657 ****
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Insert
!            (Source.Reference (1 .. Source.Last), Before, New_Item));
     end Insert;
  
     procedure Insert
--- 701,710 ----
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Insert
!              (Source.Reference (1 .. Source.Last), Before, New_Item));
     end Insert;
  
     procedure Insert
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 693,701 ****
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Overwrite
!            (Source.Reference (1 .. Source.Last), Position, New_Item));
     end Overwrite;
  
     procedure Overwrite
--- 746,755 ----
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Overwrite
!             (Source.Reference (1 .. Source.Last), Position, New_Item));
     end Overwrite;
  
     procedure Overwrite
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 704,718 ****
        New_Item  : Wide_Wide_String)
     is
        NL : constant Natural := New_Item'Length;
- 
     begin
        if Position <= Source.Last - NL + 1 then
           Source.Reference (Position .. Position + NL - 1) := New_Item;
- 
        else
           declare
              Old : Wide_Wide_String_Access := Source.Reference;
- 
           begin
              Source.Reference := new Wide_Wide_String'
                (Wide_Wide_Fixed.Overwrite
--- 758,769 ----
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 731,748 ****
       (Source     : in out Unbounded_Wide_Wide_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 50;
!       S_Length      : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             Alloc_Chunk_Size : constant Positive :=
!                                  Chunk_Size + (S_Length / Growth_Factor);
!             Tmp : Wide_Wide_String_Access;
  
           begin
-             Tmp := new Wide_Wide_String (1 .. S_Length + Alloc_Chunk_Size);
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
--- 782,817 ----
       (Source     : in out Unbounded_Wide_Wide_String;
        Chunk_Size : Natural)
     is
!       Growth_Factor : constant := 32;
!       --  The growth factor controls how much extra space is allocated when
!       --  we have to increase the size of an allocated unbounded string. By
!       --  allocating extra space, we avoid the need to reallocate on every
!       --  append, particularly important when a string is built up by repeated
!       --  append operations of small pieces. This is expressed as a factor so
!       --  32 means add 1/32 of the length of the string as growth space.
! 
!       Min_Mul_Alloc : constant := Standard'Maximum_Alignment;
!       --  Allocation will be done by a multiple of Min_Mul_Alloc This causes
!       --  no memory loss as most (all?) malloc implementations are obliged to
!       --  align the returned memory on the maximum alignment as malloc does not
!       --  know the target alignment.
! 
!       S_Length : constant Natural := Source.Reference'Length;
  
     begin
        if Chunk_Size > S_Length - Source.Last then
           declare
!             New_Size : constant Positive :=
!                          S_Length + Chunk_Size + (S_Length / Growth_Factor);
! 
!             New_Rounded_Up_Size : constant Positive :=
!                                     ((New_Size - 1) / Min_Mul_Alloc + 1) *
!                                        Min_Mul_Alloc;
! 
!             Tmp : constant Wide_Wide_String_Access :=
!                     new Wide_Wide_String (1 .. New_Rounded_Up_Size);
  
           begin
              Tmp (1 .. Source.Last) := Source.Reference (1 .. Source.Last);
              Free (Source.Reference);
              Source.Reference := Tmp;
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 778,797 ****
        By     : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
          (Wide_Wide_Fixed.Replace_Slice
             (Source.Reference (1 .. Source.Last), Low, High, By));
     end Replace_Slice;
  
     procedure Replace_Slice
!      (Source   : in out Unbounded_Wide_Wide_String;
!       Low      : Positive;
!       High     : Natural;
!       By       : Wide_Wide_String)
     is
        Old : Wide_Wide_String_Access := Source.Reference;
- 
     begin
        Source.Reference := new Wide_Wide_String'
          (Wide_Wide_Fixed.Replace_Slice
--- 847,864 ----
        By     : Wide_Wide_String) return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
          (Wide_Wide_Fixed.Replace_Slice
             (Source.Reference (1 .. Source.Last), Low, High, By));
     end Replace_Slice;
  
     procedure Replace_Slice
!      (Source : in out Unbounded_Wide_Wide_String;
!       Low    : Positive;
!       High   : Natural;
!       By     : Wide_Wide_String)
     is
        Old : Wide_Wide_String_Access := Source.Reference;
     begin
        Source.Reference := new Wide_Wide_String'
          (Wide_Wide_Fixed.Replace_Slice
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 800,805 ****
--- 867,886 ----
        Free (Old);
     end Replace_Slice;
  
+    ------------------------------------
+    -- Set_Unbounded_Wide_Wide_String --
+    ------------------------------------
+ 
+    procedure Set_Unbounded_Wide_Wide_String
+      (Target : out Unbounded_Wide_Wide_String;
+       Source : Wide_Wide_String)
+    is
+    begin
+       Target.Last          := Source'Length;
+       Target.Reference     := new Wide_Wide_String (1 .. Source'Length);
+       Target.Reference.all := Source;
+    end Set_Unbounded_Wide_Wide_String;
+ 
     -----------
     -- Slice --
     -----------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 814,820 ****
  
        if Low > Source.Last + 1 or else High > Source.Last then
           raise Index_Error;
- 
        else
           return Source.Reference (Low .. High);
        end if;
--- 895,900 ----
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 828,835 ****
       (Source : Unbounded_Wide_Wide_String;
        Count  : Natural;
        Pad    : Wide_Wide_Character := Wide_Wide_Space)
!       return Unbounded_Wide_Wide_String
!    is
     begin
        return To_Unbounded_Wide_Wide_String
          (Wide_Wide_Fixed.Tail
--- 908,914 ----
       (Source : Unbounded_Wide_Wide_String;
        Count  : Natural;
        Pad    : Wide_Wide_Character := Wide_Wide_Space)
!       return Unbounded_Wide_Wide_String is
     begin
        return To_Unbounded_Wide_Wide_String
          (Wide_Wide_Fixed.Tail
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 842,848 ****
        Pad    : Wide_Wide_Character := Wide_Wide_Space)
     is
        Old : Wide_Wide_String_Access := Source.Reference;
- 
     begin
        Source.Reference := new Wide_Wide_String'
          (Wide_Wide_Fixed.Tail
--- 921,926 ----
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 851,859 ****
        Free (Old);
     end Tail;
  
!    ------------------------------
     -- To_Unbounded_Wide_Wide_String --
!    ------------------------------
  
     function To_Unbounded_Wide_Wide_String
       (Source : Wide_Wide_String) return Unbounded_Wide_Wide_String
--- 929,937 ----
        Free (Old);
     end Tail;
  
!    -----------------------------------
     -- To_Unbounded_Wide_Wide_String --
!    -----------------------------------
  
     function To_Unbounded_Wide_Wide_String
       (Source : Wide_Wide_String) return Unbounded_Wide_Wide_String
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 876,884 ****
        return Result;
     end To_Unbounded_Wide_Wide_String;
  
!    --------------------
     -- To_Wide_Wide_String --
!    --------------------
  
     function To_Wide_Wide_String
       (Source : Unbounded_Wide_Wide_String) return Wide_Wide_String
--- 954,962 ----
        return Result;
     end To_Unbounded_Wide_Wide_String;
  
!    -------------------------
     -- To_Wide_Wide_String --
!    -------------------------
  
     function To_Wide_Wide_String
       (Source : Unbounded_Wide_Wide_String) return Wide_Wide_String
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 897,905 ****
        return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Translate
!            (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
--- 975,984 ----
        return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Translate
!              (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 907,914 ****
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
     is
     begin
!       Wide_Wide_Fixed.Translate
!         (Source.Reference (1 .. Source.Last), Mapping);
     end Translate;
  
     function Translate
--- 986,992 ----
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping)
     is
     begin
!       Wide_Wide_Fixed.Translate (Source.Reference (1 .. Source.Last), Mapping);
     end Translate;
  
     function Translate
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 917,925 ****
        return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Translate
!            (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
--- 995,1004 ----
        return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Translate
!             (Source.Reference (1 .. Source.Last), Mapping));
     end Translate;
  
     procedure Translate
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 927,934 ****
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
     is
     begin
!       Wide_Wide_Fixed.Translate
!         (Source.Reference (1 .. Source.Last), Mapping);
     end Translate;
  
     ----------
--- 1006,1012 ----
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
     is
     begin
!       Wide_Wide_Fixed.Translate (Source.Reference (1 .. Source.Last), Mapping);
     end Translate;
  
     ----------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 940,947 ****
        Side   : Trim_End) return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
     end Trim;
  
     procedure Trim
--- 1018,1026 ----
        Side   : Trim_End) return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Trim (Source.Reference (1 .. Source.Last), Side));
     end Trim;
  
     procedure Trim
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 964,972 ****
        return Unbounded_Wide_Wide_String
     is
     begin
!       return To_Unbounded_Wide_Wide_String
!         (Wide_Wide_Fixed.Trim
!            (Source.Reference (1 .. Source.Last), Left, Right));
     end Trim;
  
     procedure Trim
--- 1043,1052 ----
        return Unbounded_Wide_Wide_String
     is
     begin
!       return
!         To_Unbounded_Wide_Wide_String
!           (Wide_Wide_Fixed.Trim
!              (Source.Reference (1 .. Source.Last), Left, Right));
     end Trim;
  
     procedure Trim
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 976,986 ****
     is
        Old : Wide_Wide_String_Access := Source.Reference;
     begin
!       Source.Reference := new Wide_Wide_String'
!         (Wide_Wide_Fixed.Trim
!            (Source.Reference (1 .. Source.Last), Left, Right));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
  
  end Ada.Strings.Wide_Wide_Unbounded;
--- 1056,1100 ----
     is
        Old : Wide_Wide_String_Access := Source.Reference;
     begin
!       Source.Reference :=
!         new Wide_Wide_String'
!           (Wide_Wide_Fixed.Trim
!              (Source.Reference (1 .. Source.Last), Left, Right));
        Source.Last      := Source.Reference'Length;
        Free (Old);
     end Trim;
  
+    ---------------------
+    -- Unbounded_Slice --
+    ---------------------
+ 
+    function Unbounded_Slice
+      (Source : Unbounded_Wide_Wide_String;
+       Low    : Positive;
+       High   : Natural) return Unbounded_Wide_Wide_String
+    is
+    begin
+       if Low > Source.Last + 1 or else High > Source.Last then
+          raise Index_Error;
+       else
+          return
+            To_Unbounded_Wide_Wide_String (Source.Reference.all (Low .. High));
+       end if;
+    end Unbounded_Slice;
+ 
+    procedure Unbounded_Slice
+      (Source : Unbounded_Wide_Wide_String;
+       Target : out Unbounded_Wide_Wide_String;
+       Low    : Positive;
+       High   : Natural)
+    is
+    begin
+       if Low > Source.Last + 1 or else High > Source.Last then
+          raise Index_Error;
+       else
+          Target :=
+            To_Unbounded_Wide_Wide_String (Source.Reference.all (Low .. High));
+       end if;
+    end Unbounded_Slice;
+ 
  end Ada.Strings.Wide_Wide_Unbounded;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-stzunb.ads gcc-4.1.0/gcc/ada/a-stzunb.ads
*** gcc-4.0.2/gcc/ada/a-stzunb.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-stzunb.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with Ada.Strings.Wide_Wide_Maps;
*** 39,45 ****
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Wide_Unbounded is
! pragma Preelaborate (Wide_Wide_Unbounded);
  
     type Unbounded_Wide_Wide_String is private;
  
--- 39,45 ----
  with Ada.Finalization;
  
  package Ada.Strings.Wide_Wide_Unbounded is
!    pragma Preelaborate;
  
     type Unbounded_Wide_Wide_String is private;
  
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 64,69 ****
--- 64,74 ----
     function To_Wide_Wide_String
       (Source : Unbounded_Wide_Wide_String) return Wide_Wide_String;
  
+    procedure Set_Unbounded_Wide_Wide_String
+      (Target : out Unbounded_Wide_Wide_String;
+       Source : Wide_Wide_String);
+    pragma Ada_05 (Set_Unbounded_Wide_Wide_String);
+ 
     procedure Append
       (Source   : in out Unbounded_Wide_Wide_String;
        New_Item : Unbounded_Wide_Wide_String);
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 77,84 ****
        New_Item : Wide_Wide_Character);
  
     function "&"
!      (Left, Right : Unbounded_Wide_Wide_String)
!      return Unbounded_Wide_Wide_String;
  
     function "&"
       (Left  : Unbounded_Wide_Wide_String;
--- 82,89 ----
        New_Item : Wide_Wide_Character);
  
     function "&"
!      (Left  : Unbounded_Wide_Wide_String;
!       Right : Unbounded_Wide_Wide_String) return Unbounded_Wide_Wide_String;
  
     function "&"
       (Left  : Unbounded_Wide_Wide_String;
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 110,115 ****
--- 115,133 ----
        Low    : Positive;
        High   : Natural) return Wide_Wide_String;
  
+    function Unbounded_Slice
+      (Source : Unbounded_Wide_Wide_String;
+       Low    : Positive;
+       High   : Natural) return Unbounded_Wide_Wide_String;
+       pragma Ada_05 (Unbounded_Slice);
+ 
+    procedure Unbounded_Slice
+      (Source : Unbounded_Wide_Wide_String;
+       Target : out Unbounded_Wide_Wide_String;
+       Low    : Positive;
+       High   : Natural);
+       pragma Ada_05 (Unbounded_Slice);
+ 
     function "="
       (Left  : Unbounded_Wide_Wide_String;
        Right : Unbounded_Wide_Wide_String) return Boolean;
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 179,185 ****
        Pattern : Wide_Wide_String;
        Going   : Direction := Forward;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                    Wide_Wide_Maps.Identity) return Natural;
  
     function Index
       (Source  : Unbounded_Wide_Wide_String;
--- 197,204 ----
        Pattern : Wide_Wide_String;
        Going   : Direction := Forward;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                   Wide_Wide_Maps.Identity)
!       return Natural;
  
     function Index
       (Source  : Unbounded_Wide_Wide_String;
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 194,208 ****
        Test   : Membership := Inside;
        Going  : Direction  := Forward) return Natural;
  
     function Index_Non_Blank
       (Source : Unbounded_Wide_Wide_String;
        Going  : Direction := Forward) return Natural;
  
     function Count
       (Source  : Unbounded_Wide_Wide_String;
        Pattern : Wide_Wide_String;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                   Wide_Wide_Maps.Identity) return Natural;
  
     function Count
       (Source  : Unbounded_Wide_Wide_String;
--- 213,261 ----
        Test   : Membership := Inside;
        Going  : Direction  := Forward) return Natural;
  
+    function Index
+      (Source  : Unbounded_Wide_Wide_String;
+       Pattern : Wide_Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
+                   Wide_Wide_Maps.Identity)
+       return Natural;
+    pragma Ada_05 (Index);
+ 
+    function Index
+      (Source  : Unbounded_Wide_Wide_String;
+       Pattern : Wide_Wide_String;
+       From    : Positive;
+       Going   : Direction := Forward;
+       Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function)
+       return Natural;
+    pragma Ada_05 (Index);
+ 
+    function Index
+      (Source : Unbounded_Wide_Wide_String;
+       Set    : Wide_Wide_Maps.Wide_Wide_Character_Set;
+       From   : Positive;
+       Test   : Membership := Inside;
+       Going  : Direction := Forward) return Natural;
+    pragma Ada_05 (Index);
+ 
+    function Index_Non_Blank
+      (Source : Unbounded_Wide_Wide_String;
+       Going  : Direction := Forward) return Natural;
+ 
     function Index_Non_Blank
       (Source : Unbounded_Wide_Wide_String;
+       From   : Positive;
        Going  : Direction := Forward) return Natural;
+    pragma Ada_05 (Index_Non_Blank);
  
     function Count
       (Source  : Unbounded_Wide_Wide_String;
        Pattern : Wide_Wide_String;
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping :=
!                   Wide_Wide_Maps.Identity)
!       return Natural;
  
     function Count
       (Source  : Unbounded_Wide_Wide_String;
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 222,228 ****
        Last   : out Natural);
  
     ------------------------------------
!    -- Wide_Wide_String Translation Subprograms --
     ------------------------------------
  
     function Translate
--- 275,281 ----
        Last   : out Natural);
  
     ------------------------------------
!    -- String Translation Subprograms --
     ------------------------------------
  
     function Translate
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 244,250 ****
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
  
     ---------------------------------------
!    -- Wide_Wide_String Transformation Subprograms --
     ---------------------------------------
  
     function Replace_Slice
--- 297,303 ----
        Mapping : Wide_Wide_Maps.Wide_Wide_Character_Mapping_Function);
  
     ---------------------------------------
!    -- String Transformation Subprograms --
     ---------------------------------------
  
     function Replace_Slice
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 254,263 ****
        By     : Wide_Wide_String) return Unbounded_Wide_Wide_String;
  
     procedure Replace_Slice
!      (Source   : in out Unbounded_Wide_Wide_String;
!       Low      : Positive;
!       High     : Natural;
!       By       : Wide_Wide_String);
  
     function Insert
       (Source   : Unbounded_Wide_Wide_String;
--- 307,316 ----
        By     : Wide_Wide_String) return Unbounded_Wide_Wide_String;
  
     procedure Replace_Slice
!      (Source : in out Unbounded_Wide_Wide_String;
!       Low    : Positive;
!       High   : Natural;
!       By     : Wide_Wide_String);
  
     function Insert
       (Source   : Unbounded_Wide_Wide_String;
*************** pragma Preelaborate (Wide_Wide_Unbounded
*** 275,283 ****
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String;
  
     procedure Overwrite
!      (Source    : in out Unbounded_Wide_Wide_String;
!       Position  : Positive;
!       New_Item  : Wide_Wide_String);
  
     function Delete
       (Source  : Unbounded_Wide_Wide_String;
--- 328,336 ----
        New_Item : Wide_Wide_String) return Unbounded_Wide_Wide_String;
  
     procedure Overwrite
!      (Source   : in out Unbounded_Wide_Wide_String;
!       Position : Positive;
!       New_Item : Wide_Wide_String);
  
     function Delete
       (Source  : Unbounded_Wide_Wide_String;
*************** private
*** 351,361 ****
  
     function To_Unbounded_Wide
       (S : Wide_Wide_String) return Unbounded_Wide_Wide_String
!       renames To_Unbounded_Wide_Wide_String;
  
     type Unbounded_Wide_Wide_String is new AF.Controlled with record
        Reference : Wide_Wide_String_Access := Null_Wide_Wide_String'Access;
!       Last      : Natural := 0;
     end record;
  
     --  The Unbounded_Wide_Wide_String is using a buffered implementation to
--- 404,414 ----
  
     function To_Unbounded_Wide
       (S : Wide_Wide_String) return Unbounded_Wide_Wide_String
!      renames To_Unbounded_Wide_Wide_String;
  
     type Unbounded_Wide_Wide_String is new AF.Controlled with record
        Reference : Wide_Wide_String_Access := Null_Wide_Wide_String'Access;
!       Last      : Natural            := 0;
     end record;
  
     --  The Unbounded_Wide_Wide_String is using a buffered implementation to
*************** private
*** 369,380 ****
       (Unbounded_Wide_Wide_String, To_Unbounded_Wide, To_Wide_Wide_String);
  
     pragma Finalize_Storage_Only (Unbounded_Wide_Wide_String);
  
     procedure Initialize (Object : in out Unbounded_Wide_Wide_String);
     procedure Adjust     (Object : in out Unbounded_Wide_Wide_String);
     procedure Finalize   (Object : in out Unbounded_Wide_Wide_String);
  
     Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String :=
!      (AF.Controlled with Reference => Null_Wide_Wide_String'Access, Last => 0);
  
  end Ada.Strings.Wide_Wide_Unbounded;
--- 422,450 ----
       (Unbounded_Wide_Wide_String, To_Unbounded_Wide, To_Wide_Wide_String);
  
     pragma Finalize_Storage_Only (Unbounded_Wide_Wide_String);
+    --  Finalization is required only for freeing storage
  
     procedure Initialize (Object : in out Unbounded_Wide_Wide_String);
     procedure Adjust     (Object : in out Unbounded_Wide_Wide_String);
     procedure Finalize   (Object : in out Unbounded_Wide_Wide_String);
+    procedure Realloc_For_Chunk
+      (Source     : in out Unbounded_Wide_Wide_String;
+       Chunk_Size : Natural);
+    --  Adjust the size allocated for the string. Add at least Chunk_Size so it
+    --  is safe to add a string of this size at the end of the current content.
+    --  The real size allocated for the string is Chunk_Size + x of the current
+    --  string size. This buffered handling makes the Append unbounded string
+    --  routines very fast.
  
     Null_Unbounded_Wide_Wide_String : constant Unbounded_Wide_Wide_String :=
!                                        (AF.Controlled with
!                                           Reference =>
!                                             Null_Wide_Wide_String'Access,
!                                           Last => 0);
!    --  Note: this declaration is illegal since library level controlled
!    --  objects are not allowed in preelaborated units. See AI-161 for a
!    --  discussion of this issue and an attempt to address it. Meanwhile,
!    --  what happens in GNAT is that this check is omitted for internal
!    --  implementation units (see check in sem_cat.adb).
  
  end Ada.Strings.Wide_Wide_Unbounded;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-suteio.adb gcc-4.1.0/gcc/ada/a-suteio.adb
*** gcc-4.0.2/gcc/ada/a-suteio.adb	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-suteio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . S T R I N G S . U N B O U N D E D . T E X T _ I O        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . S T R I N G S . U N B O U N D E D . T E X T _ I O        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Strings.Unbounded.Aux; use Ada.Strings.Unbounded.Aux;
! with Ada.Text_IO;               use Ada.Text_IO;
  
  package body Ada.Strings.Unbounded.Text_IO is
  
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Text_IO; use Ada.Text_IO;
  
  package body Ada.Strings.Unbounded.Text_IO is
  
*************** package body Ada.Strings.Unbounded.Text_
*** 57,63 ****
           Str1 := Str2;
        end loop;
  
!       Set_String (Result, Str1);
        return Result;
     end Get_Line;
  
--- 56,63 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
*************** package body Ada.Strings.Unbounded.Text_
*** 78,126 ****
           Str1 := Str2;
        end loop;
  
!       Set_String (Result, Str1);
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_String) is
-       Buffer : String (1 .. 1000);
-       Last   : Natural;
-       Str1   : String_Access;
-       Str2   : String_Access;
- 
     begin
!       Get_Line (Buffer, Last);
!       Str1 := new String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
! 
!       Set_String (Item, Str1);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Text_IO.File_Type;
        Item : out Unbounded_String)
     is
-       Buffer : String (1 .. 1000);
-       Last   : Natural;
-       Str1   : String_Access;
-       Str2   : String_Access;
- 
     begin
!       Get_Line (File, Buffer, Last);
!       Str1 := new String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
  
!       Set_String (Item, Str1);
     end Get_Line;
  
     ---------
--- 78,129 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_String) is
     begin
!       Get_Line (Current_Input, Item);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Text_IO.File_Type;
        Item : out Unbounded_String)
     is
     begin
!       --  We are going to read into the string that is already there and
!       --  allocated. Hopefully it is big enough now, if not, we will extend
!       --  it in the usual manner using Realloc_For_Chunk.
  
!       --  Make sure we start with at least 80 characters
! 
!       if Item.Reference'Last < 80 then
!          Realloc_For_Chunk (Item, 80);
!       end if;
! 
!       --  Loop to read data, filling current string as far as possible.
!       --  Item.Last holds the number of characters read so far.
! 
!       Item.Last := 0;
!       loop
!          Get_Line
!            (File,
!             Item.Reference (Item.Last + 1 .. Item.Reference'Last),
!             Item.Last);
! 
!          --  If we hit the end of the line before the end of the buffer, then
!          --  we are all done, and the result length is properly set.
! 
!          if Item.Last < Item.Reference'Last then
!             return;
!          end if;
! 
!          --  If not enough room, double it and keep reading
! 
!          Realloc_For_Chunk (Item, Item.Last);
!       end loop;
     end Get_Line;
  
     ---------
*************** package body Ada.Strings.Unbounded.Text_
*** 129,140 ****
  
     procedure Put (U : Unbounded_String) is
     begin
!       Put (Get_String (U).all);
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_String) is
     begin
!       Put (File, Get_String (U).all);
     end Put;
  
     --------------
--- 132,143 ----
  
     procedure Put (U : Unbounded_String) is
     begin
!       Put (U.Reference (1 .. U.Last));
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_String) is
     begin
!       Put (File, U.Reference (1 .. U.Last));
     end Put;
  
     --------------
*************** package body Ada.Strings.Unbounded.Text_
*** 143,154 ****
  
     procedure Put_Line (U : Unbounded_String) is
     begin
!       Put_Line (Get_String (U).all);
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_String) is
     begin
!       Put_Line (File, Get_String (U).all);
     end Put_Line;
  
  end Ada.Strings.Unbounded.Text_IO;
--- 146,157 ----
  
     procedure Put_Line (U : Unbounded_String) is
     begin
!       Put_Line (U.Reference (1 .. U.Last));
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_String) is
     begin
!       Put_Line (File, U.Reference (1 .. U.Last));
     end Put_Line;
  
  end Ada.Strings.Unbounded.Text_IO;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-suteio.ads gcc-4.1.0/gcc/ada/a-suteio.ads
*** gcc-4.0.2/gcc/ada/a-suteio.ads	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-suteio.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . S T R I N G S . U N B O U N D E D . T E X T _ I O        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . S T R I N G S . U N B O U N D E D . T E X T _ I O        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swmwco.ads gcc-4.1.0/gcc/ada/a-swmwco.ads
*** gcc-4.0.2/gcc/ada/a-swmwco.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-swmwco.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Characters.Wide_Latin_1;
  
  package Ada.Strings.Wide_Maps.Wide_Constants is
! pragma Preelaborate (Wide_Constants);
  
     Control_Set           : constant Wide_Maps.Wide_Character_Set;
     Graphic_Set           : constant Wide_Maps.Wide_Character_Set;
--- 38,44 ----
  with Ada.Characters.Wide_Latin_1;
  
  package Ada.Strings.Wide_Maps.Wide_Constants is
!    pragma Preelaborate;
  
     Control_Set           : constant Wide_Maps.Wide_Character_Set;
     Graphic_Set           : constant Wide_Maps.Wide_Character_Set;
*************** private
*** 182,188 ****
       (AF.Controlled with
        Character_Ranges'Unrestricted_Access);
  
- 
     Lower_Case_Mapping : aliased constant Wide_Character_Mapping_Values :=
       (Length => 56,
  
--- 182,187 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swunau.adb gcc-4.1.0/gcc/ada/a-swunau.adb
*** gcc-4.0.2/gcc/ada/a-swunau.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-swunau.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ U N B O U N D E D . A U X       --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ U N B O U N D E D . A U X       --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Strings.Wide_Unbounded.
*** 37,69 ****
     -- Get_Wide_String --
     ---------------------
  
!    function Get_Wide_String
!      (U : Unbounded_Wide_String) return Wide_String_Access
     is
     begin
!       if U.Last = U.Reference'Length then
!          return U.Reference;
! 
!       else
!          declare
!             type Unbounded_Wide_String_Access is
!               access all Unbounded_Wide_String;
! 
!             U_Ptr : constant Unbounded_Wide_String_Access :=
!                       U'Unrestricted_Access;
!             --  Unbounded_Wide_String is a controlled type which is always
!             --  passed by copy it is always safe to take the pointer to such
!             --  object here. This pointer is used to set the U.Reference value
!             --  which would not be possible otherwise as U is read-only.
! 
!             Old : Wide_String_Access := U.Reference;
! 
!          begin
!             U_Ptr.Reference := new Wide_String'(U.Reference (1 .. U.Last));
!             Free (Old);
!             return U.Reference;
!          end;
!       end if;
     end Get_Wide_String;
  
     ---------------------
--- 37,50 ----
     -- Get_Wide_String --
     ---------------------
  
!    procedure Get_Wide_String
!      (U : Unbounded_Wide_String;
!       S : out Wide_String_Access;
!       L : out Natural)
     is
     begin
!       S := U.Reference;
!       L := U.Last;
     end Get_Wide_String;
  
     ---------------------
*************** package body Ada.Strings.Wide_Unbounded.
*** 75,94 ****
        S  : Wide_String)
     is
     begin
!       if UP.Last = S'Length then
!          UP.Reference.all := S;
! 
!       else
!          declare
!             subtype String_1 is Wide_String (1 .. S'Length);
!             Tmp : Wide_String_Access;
!          begin
!             Tmp := new Wide_String'(String_1 (S));
!             Finalize (UP);
!             UP.Reference := Tmp;
!             UP.Last := UP.Reference'Length;
!          end;
        end if;
     end Set_Wide_String;
  
     procedure Set_Wide_String
--- 56,68 ----
        S  : Wide_String)
     is
     begin
!       if S'Length > UP.Last then
!          Finalize (UP);
!          UP.Reference := new Wide_String (1 .. S'Length);
        end if;
+ 
+       UP.Reference (1 .. S'Length) := S;
+       UP.Last := S'Length;
     end Set_Wide_String;
  
     procedure Set_Wide_String
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swunau.ads gcc-4.1.0/gcc/ada/a-swunau.ads
*** gcc-4.0.2/gcc/ada/a-swunau.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-swunau.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ U N B O U N D E D . A U X       --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --        A D A . S T R I N G S . W I D E _ U N B O U N D E D . A U X       --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,58 ****
  --  utilities.
  
  package Ada.Strings.Wide_Unbounded.Aux is
! pragma Preelaborate (Aux);
  
!    function Get_Wide_String
!      (U : Unbounded_Wide_String) return Wide_String_Access;
     pragma Inline (Get_Wide_String);
!    --  This function returns the internal string pointer used in the
!    --  representation of an unbounded string. There is no copy involved,
!    --  so the value obtained references the same string as the original
!    --  unbounded string. The characters of this string may not be modified
!    --  via the returned pointer, and are valid only as long as the original
!    --  unbounded string is not modified. Violating either of these two
!    --  rules results in erroneous execution.
     --
!    --  This function is much more efficient than the use of To_Wide_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one.
  
     procedure Set_Wide_String
       (UP : in out Unbounded_Wide_String;
--- 37,60 ----
  --  utilities.
  
  package Ada.Strings.Wide_Unbounded.Aux is
!    pragma Preelaborate;
  
!    procedure Get_Wide_String
!      (U : Unbounded_Wide_String;
!       S : out Wide_String_Access;
!       L : out Natural);
     pragma Inline (Get_Wide_String);
!    --  This procedure returns the internal string pointer used in the
!    --  representation of an unbounded string as well as the actual current
!    --  length (which may be less than S.all'Length because in general there
!    --  can be extra space assigned). The characters of this string may be
!    --  not be modified via the returned pointer,  and are valid only as
!    --  long as the original unbounded string is not accessed or modified.
     --
!    --  This procedure is much more efficient than the use of To_Wide_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one, so the actual
!    --  string data is always accessible as S (1 .. L).
  
     procedure Set_Wide_String
       (UP : in out Unbounded_Wide_String;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swunha.adb gcc-4.1.0/gcc/ada/a-swunha.adb
*** gcc-4.0.2/gcc/ada/a-swunha.adb	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-swunha.adb	Thu Jan  1 00:00:00 1970
***************
*** 1,57 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT LIBRARY COMPONENTS                          --
- --                                                                          --
- --                     ADA.STRINGS.WIDE_UNBOUNDED.HASH                      --
- --                                                                          --
- --                                 B o d y                                  --
- --                                                                          --
- --             Copyright (C) 2004 Free Software Foundation, Inc.            --
- --                                                                          --
- -- This specification is derived from the Ada Reference Manual for use with --
- -- GNAT. The copyright notice above, and the license provisions that follow --
- -- apply solely to the  contents of the part following the private keyword. --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- This unit was originally developed by Matthew J Heaney.                  --
- ------------------------------------------------------------------------------
- 
- --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
- 
- function Ada.Strings.Wide_Unbounded.Hash
-   (Key : Unbounded_Wide_String) return Containers.Hash_Type
- is
-    use Ada.Containers;
- 
-    function Rotate_Left
-      (Value  : Hash_Type;
-       Amount : Natural) return Hash_Type;
-    pragma Import (Intrinsic, Rotate_Left);
- 
-    Tmp : Hash_Type;
- 
- begin
-    Tmp := 0;
-    for J in 1 .. Key.Last loop
-       Tmp := Rotate_Left (Tmp, 1) + Wide_Character'Pos (Key.Reference (J));
-    end loop;
- 
-    return Tmp;
- end Ada.Strings.Wide_Unbounded.Hash;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swunha.ads gcc-4.1.0/gcc/ada/a-swunha.ads
*** gcc-4.0.2/gcc/ada/a-swunha.ads	Wed Feb  9 11:14:40 2005
--- gcc-4.1.0/gcc/ada/a-swunha.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,21 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT LIBRARY COMPONENTS                          --
- --                                                                          --
- --                     ADA.STRINGS.WIDE_UNBOUNDED.HASH                      --
- --                                                                          --
- --                                 S p e c                                  --
- --                                                                          --
- -- This specification is adapted from the Ada Reference Manual for use with --
- -- GNAT.  In accordance with the copyright of that document, you can freely --
- -- copy and modify this specification,  provided that if you redistribute a --
- -- modified version,  any changes that you have made are clearly indicated. --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- with Ada.Containers;
- 
- function Ada.Strings.Wide_Unbounded.Hash
-   (Key : Unbounded_Wide_String) return Containers.Hash_Type;
- 
- pragma Preelaborate (Ada.Strings.Wide_Unbounded.Hash);
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swuwha.adb gcc-4.1.0/gcc/ada/a-swuwha.adb
*** gcc-4.0.2/gcc/ada/a-swuwha.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-swuwha.adb	Fri Jul  1 01:29:17 2005
***************
*** 0 ****
--- 1,57 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT LIBRARY COMPONENTS                          --
+ --                                                                          --
+ --  A D A . S T R I N G S . W I D E _ U N B O U N D E D . W I D E _ H A S H --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --          Copyright (C) 2004-2005 Free Software Foundation, Inc.          --
+ --                                                                          --
+ -- This specification is derived from the Ada Reference Manual for use with --
+ -- GNAT. The copyright notice above, and the license provisions that follow --
+ -- apply solely to the  contents of the part following the private keyword. --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
+ ------------------------------------------------------------------------------
+ 
+ --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
+ 
+ function Ada.Strings.Wide_Unbounded.Wide_Hash
+   (Key : Unbounded_Wide_String) return Containers.Hash_Type
+ is
+    use Ada.Containers;
+ 
+    function Rotate_Left
+      (Value  : Hash_Type;
+       Amount : Natural) return Hash_Type;
+    pragma Import (Intrinsic, Rotate_Left);
+ 
+    Tmp : Hash_Type;
+ 
+ begin
+    Tmp := 0;
+    for J in 1 .. Key.Last loop
+       Tmp := Rotate_Left (Tmp, 3) + Wide_Character'Pos (Key.Reference (J));
+    end loop;
+ 
+    return Tmp;
+ end Ada.Strings.Wide_Unbounded.Wide_Hash;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swuwha.ads gcc-4.1.0/gcc/ada/a-swuwha.ads
*** gcc-4.0.2/gcc/ada/a-swuwha.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-swuwha.ads	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,21 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT LIBRARY COMPONENTS                          --
+ --                                                                          --
+ --  A D A . S T R I N G S . W I D E _ U N B O U N D E D . W I D E _ H A S H --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ -- This specification is adapted from the Ada Reference Manual for use with --
+ -- GNAT.  In accordance with the copyright of that document, you can freely --
+ -- copy and modify this specification,  provided that if you redistribute a --
+ -- modified version,  any changes that you have made are clearly indicated. --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ with Ada.Containers;
+ 
+ function Ada.Strings.Wide_Unbounded.Wide_Hash
+   (Key : Unbounded_Wide_String) return Containers.Hash_Type;
+ 
+ pragma Preelaborate (Ada.Strings.Wide_Unbounded.Wide_Hash);
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swuwti.adb gcc-4.1.0/gcc/ada/a-swuwti.adb
*** gcc-4.0.2/gcc/ada/a-swuwti.adb	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-swuwti.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  ADA.STRINGS.WIDE_UNBOUNDED.WIDE_TEXT_IO                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  ADA.STRINGS.WIDE_UNBOUNDED.WIDE_TEXT_IO                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Strings.Wide_Unbounded.Aux; use Ada.Strings.Wide_Unbounded.Aux;
! with Ada.Wide_Text_IO;               use Ada.Wide_Text_IO;
  
  package body Ada.Strings.Wide_Unbounded.Wide_Text_IO is
  
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Wide_Text_IO; use Ada.Wide_Text_IO;
  
  package body Ada.Strings.Wide_Unbounded.Wide_Text_IO is
  
*************** package body Ada.Strings.Wide_Unbounded.
*** 57,63 ****
           Str1 := Str2;
        end loop;
  
!       Set_Wide_String (Result, Str1);
        return Result;
     end Get_Line;
  
--- 56,63 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
*************** package body Ada.Strings.Wide_Unbounded.
*** 73,79 ****
     begin
        Get_Line (File, Buffer, Last);
        Str1 := new Wide_String'(Buffer (1 .. Last));
- 
        while Last = Buffer'Last loop
           Get_Line (File, Buffer, Last);
           Str2 := new Wide_String'(Str1.all & Buffer (1 .. Last));
--- 73,78 ----
*************** package body Ada.Strings.Wide_Unbounded.
*** 81,129 ****
           Str1 := Str2;
        end loop;
  
!       Set_Wide_String (Result, Str1);
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_Wide_String) is
-       Buffer : Wide_String (1 .. 1000);
-       Last   : Natural;
-       Str1   : Wide_String_Access;
-       Str2   : Wide_String_Access;
- 
     begin
!       Get_Line (Buffer, Last);
!       Str1 := new Wide_String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new Wide_String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
! 
!       Set_Wide_String (Item, Str1);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Wide_Text_IO.File_Type;
        Item : out Unbounded_Wide_String)
     is
-       Buffer : Wide_String (1 .. 1000);
-       Last   : Natural;
-       Str1   : Wide_String_Access;
-       Str2   : Wide_String_Access;
- 
     begin
!       Get_Line (File, Buffer, Last);
!       Str1 := new Wide_String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new Wide_String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
  
!       Set_Wide_String (Item, Str1);
     end Get_Line;
  
     ---------
--- 80,131 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_Wide_String) is
     begin
!       Get_Line (Current_Input, Item);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Wide_Text_IO.File_Type;
        Item : out Unbounded_Wide_String)
     is
     begin
!       --  We are going to read into the string that is already there and
!       --  allocated. Hopefully it is big enough now, if not, we will extend
!       --  it in the usual manner using Realloc_For_Chunk.
  
!       --  Make sure we start with at least 80 characters
! 
!       if Item.Reference'Last < 80 then
!          Realloc_For_Chunk (Item, 80);
!       end if;
! 
!       --  Loop to read data, filling current string as far as possible.
!       --  Item.Last holds the number of characters read so far.
! 
!       Item.Last := 0;
!       loop
!          Get_Line
!            (File,
!             Item.Reference (Item.Last + 1 .. Item.Reference'Last),
!             Item.Last);
! 
!          --  If we hit the end of the line before the end of the buffer, then
!          --  we are all done, and the result length is properly set.
! 
!          if Item.Last < Item.Reference'Last then
!             return;
!          end if;
! 
!          --  If not enough room, double it and keep reading
! 
!          Realloc_For_Chunk (Item, Item.Last);
!       end loop;
     end Get_Line;
  
     ---------
*************** package body Ada.Strings.Wide_Unbounded.
*** 132,143 ****
  
     procedure Put (U : Unbounded_Wide_String) is
     begin
!       Put (Get_Wide_String (U).all);
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_Wide_String) is
     begin
!       Put (File, Get_Wide_String (U).all);
     end Put;
  
     --------------
--- 134,145 ----
  
     procedure Put (U : Unbounded_Wide_String) is
     begin
!       Put (U.Reference (1 .. U.Last));
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_Wide_String) is
     begin
!       Put (File, U.Reference (1 .. U.Last));
     end Put;
  
     --------------
*************** package body Ada.Strings.Wide_Unbounded.
*** 146,157 ****
  
     procedure Put_Line (U : Unbounded_Wide_String) is
     begin
!       Put_Line (Get_Wide_String (U).all);
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_Wide_String) is
     begin
!       Put_Line (File, Get_Wide_String (U).all);
     end Put_Line;
  
  end Ada.Strings.Wide_Unbounded.Wide_Text_IO;
--- 148,159 ----
  
     procedure Put_Line (U : Unbounded_Wide_String) is
     begin
!       Put_Line (U.Reference (1 .. U.Last));
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_Wide_String) is
     begin
!       Put_Line (File, U.Reference (1 .. U.Last));
     end Put_Line;
  
  end Ada.Strings.Wide_Unbounded.Wide_Text_IO;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-swuwti.ads gcc-4.1.0/gcc/ada/a-swuwti.ads
*** gcc-4.0.2/gcc/ada/a-swuwti.ads	Thu Feb 10 13:50:14 2005
--- gcc-4.1.0/gcc/ada/a-swuwti.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  ADA.STRINGS.WIDE_UNBOUNDED.WIDE_TEXT_IO                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  ADA.STRINGS.WIDE_UNBOUNDED.WIDE_TEXT_IO                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sytaco-vxworks.adb gcc-4.1.0/gcc/ada/a-sytaco-vxworks.adb
*** gcc-4.0.2/gcc/ada/a-sytaco-vxworks.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-sytaco-vxworks.adb	Thu Jan  1 00:00:00 1970
***************
*** 1,147 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT RUNTIME COMPONENTS                          --
- --                                                                          --
- --         A D A . S Y N C H R O N O U S _ T A S K _ C O N T R O L          --
- --                                                                          --
- --                                 B o d y                                  --
- --                                                                          --
- --            Copyright (C) 1992-2004 Free Software Foundation, Inc.        --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- GNAT was originally developed  by the GNAT team at  New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc.      --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- with Interfaces.C;
- 
- package body Ada.Synchronous_Task_Control is
-    use System.OS_Interface;
-    use type Interfaces.C.int;
- 
-    -------------------
-    -- Current_State --
-    -------------------
- 
-    function Current_State (S : Suspension_Object) return Boolean is
-       St     : STATUS;
-       Result : Boolean := False;
- 
-    begin
-       --  Determine state by attempting to take the semaphore with
-       --  a 0 timeout value.  Status = OK indicates the semaphore was
-       --  full, so reset it to the full state.
- 
-       St := semTake (S.Sema, NO_WAIT);
- 
-       --  If we took the semaphore, reset semaphore state to FULL
- 
-       if St = OK then
-          Result := True;
-          St := semGive (S.Sema);
-       end if;
- 
-       return Result;
-    end Current_State;
- 
-    ---------------
-    -- Set_False --
-    ---------------
- 
-    procedure Set_False (S : in out Suspension_Object) is
-       St : STATUS;
- 
-    begin
-       --  Need to get the semaphore into the "empty" state.
-       --  On return, this task will have made the semaphore
-       --  empty (St = OK) or have left it empty.
- 
-       St := semTake (S.Sema, NO_WAIT);
-       pragma Assert (St = OK);
-    end Set_False;
- 
-    --------------
-    -- Set_True --
-    --------------
- 
-    procedure Set_True (S : in out Suspension_Object) is
-       St : STATUS;
-       pragma Unreferenced (St);
-    begin
-       St := semGive (S.Sema);
-    end Set_True;
- 
-    ------------------------
-    -- Suspend_Until_True --
-    ------------------------
- 
-    procedure Suspend_Until_True (S : in out Suspension_Object) is
-       St : STATUS;
- 
-    begin
-       --  Determine whether another task is pending on the suspension
-       --  object. Should never be called from an ISR. Therefore semTake can
-       --  be called on the mutex
- 
-       St := semTake (S.Mutex, NO_WAIT);
- 
-       if St = OK then
- 
-          --  Wait for suspension object
- 
-          St := semTake (S.Sema, WAIT_FOREVER);
-          St := semGive (S.Mutex);
- 
-       else
-          --  Another task is pending on the suspension object
- 
-          raise Program_Error;
-       end if;
-    end Suspend_Until_True;
- 
-    ----------------
-    -- Initialize --
-    ----------------
- 
-    procedure Initialize (S : in out Suspension_Object) is
-    begin
-       S.Sema := semBCreate (SEM_Q_FIFO, SEM_EMPTY);
- 
-       --  Use simpler binary semaphore instead of VxWorks
-       --  mutual exclusion semaphore, because we don't need
-       --  the fancier semantics and their overhead.
- 
-       S.Mutex := semBCreate (SEM_Q_FIFO, SEM_FULL);
-    end Initialize;
- 
-    --------------
-    -- Finalize --
-    --------------
- 
-    procedure Finalize (S : in out Suspension_Object) is
-       St : STATUS;
-       pragma Unreferenced (St);
-    begin
-       St := semDelete (S.Sema);
-       St := semDelete (S.Mutex);
-    end Finalize;
- 
- end Ada.Synchronous_Task_Control;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sytaco-vxworks.ads gcc-4.1.0/gcc/ada/a-sytaco-vxworks.ads
*** gcc-4.0.2/gcc/ada/a-sytaco-vxworks.ads	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/a-sytaco-vxworks.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,68 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT RUN-TIME COMPONENTS                         --
- --                                                                          --
- --         A D A . S Y N C H R O N O U S _ T A S K _ C O N T R O L          --
- --                                                                          --
- --                                 S p e c                                  --
- --                                                                          --
- --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
- --                                                                          --
- -- This specification is derived from the Ada Reference Manual for use with --
- -- GNAT. The copyright notice above, and the license provisions that follow --
- -- apply solely to the  contents of the part following the private keyword. --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- GNAT was originally developed  by the GNAT team at  New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc.      --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- with System.OS_Interface;
- with Ada.Finalization;
- package Ada.Synchronous_Task_Control is
- 
-    type Suspension_Object is limited private;
- 
-    procedure Set_True (S : in out Suspension_Object);
- 
-    procedure Set_False (S : in out Suspension_Object);
- 
-    function Current_State (S : Suspension_Object) return Boolean;
- 
-    procedure Suspend_Until_True (S : in out Suspension_Object);
- 
- private
- 
-    procedure Initialize (S : in out Suspension_Object);
- 
-    procedure Finalize (S : in out Suspension_Object);
- 
-    --  Implement with a VxWorks binary semaphore. A second semaphore
-    --  is used to avoid a race condition related to the implementation of
-    --  the STC requirement to raise Program_Error when Suspend_Until_True is
-    --  called with a task already pending on the suspension object
- 
-    type Suspension_Object is new Ada.Finalization.Controlled with record
-       Sema  : System.OS_Interface.SEM_ID;
-       Mutex : System.OS_Interface.SEM_ID;
-    end record;
- 
- end Ada.Synchronous_Task_Control;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sytaco.adb gcc-4.1.0/gcc/ada/a-sytaco.adb
*** gcc-4.0.2/gcc/ada/a-sytaco.adb	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-sytaco.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . S Y N C H R O N O U S _ T A S K _ C O N T R O L          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1992-2001 Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . S Y N C H R O N O U S _ T A S K _ C O N T R O L          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,95 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
  
! package body Ada.Synchronous_Task_Control is
! 
!    -------------------
!    -- Suspension_PO --
!    -------------------
! 
!    protected body Suspension_Object is
! 
!       --------------
!       -- Get_Open --
!       --------------
! 
!       function Get_Open return Boolean is
!       begin
!          return Open;
!       end Get_Open;
! 
!       ---------------
!       -- Set_False --
!       ---------------
! 
!       procedure Set_False is
!       begin
!          Open := False;
!       end Set_False;
! 
!       --------------
!       -- Set_True --
!       --------------
! 
!       procedure Set_True is
!       begin
!          Open := True;
!       end Set_True;
  
!       ----------
!       -- Wait --
!       ----------
  
!       entry Wait when Open is
!       begin
!          Open := False;
!       end Wait;
  
!       --------------------
!       -- Wait_Exception --
!       --------------------
  
!       entry Wait_Exception when True is
!       begin
!          if Wait'Count /= 0 then
!             raise Program_Error;
!          end if;
  
!          requeue Wait;
!       end Wait_Exception;
  
!    end Suspension_Object;
  
     -------------------
     -- Current_State --
--- 31,70 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
+ with System.Tasking;
+ --  Used for Detect_Blocking
+ --           Self
  
! with Ada.Exceptions;
! --  Used for Raise_Exception
  
! with System.Task_Primitives.Operations;
! --  Used for Initialize
! --           Finalize
! --           Current_State
! --           Set_False
! --           Set_True
! --           Suspend_Until_True
  
! package body Ada.Synchronous_Task_Control is
  
!    ----------------
!    -- Initialize --
!    ----------------
  
!    procedure Initialize (S : in out Suspension_Object) is
!    begin
!       System.Task_Primitives.Operations.Initialize (S.SO);
!    end Initialize;
  
!    --------------
!    -- Finalize --
!    --------------
  
!    procedure Finalize (S : in out Suspension_Object) is
!    begin
!       System.Task_Primitives.Operations.Finalize (S.SO);
!    end Finalize;
  
     -------------------
     -- Current_State --
*************** package body Ada.Synchronous_Task_Contro
*** 97,103 ****
  
     function Current_State (S : Suspension_Object) return Boolean is
     begin
!       return S.Get_Open;
     end Current_State;
  
     ---------------
--- 72,78 ----
  
     function Current_State (S : Suspension_Object) return Boolean is
     begin
!       return System.Task_Primitives.Operations.Current_State (S.SO);
     end Current_State;
  
     ---------------
*************** package body Ada.Synchronous_Task_Contro
*** 106,112 ****
  
     procedure Set_False (S : in out Suspension_Object) is
     begin
!       S.Set_False;
     end Set_False;
  
     --------------
--- 81,87 ----
  
     procedure Set_False (S : in out Suspension_Object) is
     begin
!       System.Task_Primitives.Operations.Set_False (S.SO);
     end Set_False;
  
     --------------
*************** package body Ada.Synchronous_Task_Contro
*** 115,121 ****
  
     procedure Set_True (S : in out Suspension_Object) is
     begin
!       S.Set_True;
     end Set_True;
  
     ------------------------
--- 90,96 ----
  
     procedure Set_True (S : in out Suspension_Object) is
     begin
!       System.Task_Primitives.Operations.Set_True (S.SO);
     end Set_True;
  
     ------------------------
*************** package body Ada.Synchronous_Task_Contro
*** 124,130 ****
  
     procedure Suspend_Until_True (S : in out Suspension_Object) is
     begin
!       S.Wait_Exception;
     end Suspend_Until_True;
  
  end Ada.Synchronous_Task_Control;
--- 99,116 ----
  
     procedure Suspend_Until_True (S : in out Suspension_Object) is
     begin
!       --  This is a potentially blocking (see ARM D.10, par. 10), so that
!       --  if pragma Detect_Blocking is active then Program_Error must be
!       --  raised if this operation is called from a protected action.
! 
!       if System.Tasking.Detect_Blocking
!         and then System.Tasking.Self.Common.Protected_Action_Nesting > 0
!       then
!          Ada.Exceptions.Raise_Exception
!            (Program_Error'Identity, "potentially blocking operation");
!       end if;
! 
!       System.Task_Primitives.Operations.Suspend_Until_True (S.SO);
     end Suspend_Until_True;
  
  end Ada.Synchronous_Task_Control;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-sytaco.ads gcc-4.1.0/gcc/ada/a-sytaco.ads
*** gcc-4.0.2/gcc/ada/a-sytaco.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-sytaco.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-1998 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,43 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with System;
  
  package Ada.Synchronous_Task_Control is
  
     type Suspension_Object is limited private;
  
--- 35,49 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with System.Task_Primitives;
! --  Used for Suspension_Object
! 
! with Ada.Finalization;
! --  Used for Limited_Controlled
  
  package Ada.Synchronous_Task_Control is
+    pragma Preelaborate_05;
+    --  In accordance with Ada 2005 AI-362
  
     type Suspension_Object is limited private;
  
*************** package Ada.Synchronous_Task_Control is
*** 51,69 ****
  
  private
  
!    --  ??? Using a protected object is overkill; suspension could be
!    --      implemented more efficiently.
  
!    protected type Suspension_Object is
!       entry Wait;
!       procedure Set_False;
!       procedure Set_True;
!       function Get_Open return Boolean;
!       entry Wait_Exception;
  
!       pragma Priority (System.Any_Priority'Last);
!    private
!       Open : Boolean := False;
!    end Suspension_Object;
  
  end Ada.Synchronous_Task_Control;
--- 57,82 ----
  
  private
  
!    procedure Initialize (S : in out Suspension_Object);
!    --  Initialization for Suspension_Object
  
!    procedure Finalize (S : in out Suspension_Object);
!    --  Finalization for Suspension_Object
  
!    type Suspension_Object is
!      new Ada.Finalization.Limited_Controlled with
!    record
!       SO : System.Task_Primitives.Suspension_Object;
!       --  Use low-level suspension objects so that the synchronization
!       --  functionality provided by this object can be achieved using
!       --  efficient operating system primitives.
!    end record;
! 
!    pragma Inline (Set_True);
!    pragma Inline (Set_False);
!    pragma Inline (Current_State);
!    pragma Inline (Suspend_Until_True);
!    pragma Inline (Initialize);
!    pragma Inline (Finalize);
  
  end Ada.Synchronous_Task_Control;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szmzco.ads gcc-4.1.0/gcc/ada/a-szmzco.ads
*** gcc-4.0.2/gcc/ada/a-szmzco.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szmzco.ads	Mon Sep  5 08:11:07 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with Ada.Characters.Wide_Wide_Latin_1;
  
  package Ada.Strings.Wide_Wide_Maps.Wide_Wide_Constants is
! pragma Preelaborate (Wide_Wide_Constants);
  
     Control_Set           : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
     Graphic_Set           : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
--- 38,44 ----
  with Ada.Characters.Wide_Wide_Latin_1;
  
  package Ada.Strings.Wide_Wide_Maps.Wide_Wide_Constants is
!    pragma Preelaborate;
  
     Control_Set           : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
     Graphic_Set           : constant Wide_Wide_Maps.Wide_Wide_Character_Set;
*************** private
*** 182,188 ****
       (AF.Controlled with
        Character_Ranges'Unrestricted_Access);
  
- 
     Lower_Case_Mapping : aliased constant Wide_Wide_Character_Mapping_Values :=
       (Length => 56,
  
--- 182,187 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szunau.adb gcc-4.1.0/gcc/ada/a-szunau.adb
*** gcc-4.0.2/gcc/ada/a-szunau.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szunau.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D . A U X  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D . A U X  --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,95 ****
  
  package body Ada.Strings.Wide_Wide_Unbounded.Aux is
  
!    --------------------------
     -- Get_Wide_Wide_String --
!    --------------------------
  
!    function Get_Wide_Wide_String
!      (U : Unbounded_Wide_Wide_String) return Wide_Wide_String_Access
     is
     begin
!       if U.Last = U.Reference'Length then
!          return U.Reference;
! 
!       else
!          declare
!             type Unbounded_Wide_Wide_String_Access is
!               access all Unbounded_Wide_Wide_String;
! 
!             U_Ptr : constant Unbounded_Wide_Wide_String_Access :=
!                       U'Unrestricted_Access;
!             --  Unbounded_Wide_Wide_String is a controlled type which is always
!             --  passed by copy it is always safe to take the pointer to such
!             --  object here. This pointer is used to set the U.Reference value
!             --  which would not be possible otherwise as U is read-only.
! 
!             Old : Wide_Wide_String_Access := U.Reference;
! 
!          begin
!             U_Ptr.Reference :=
!               new Wide_Wide_String'(U.Reference (1 .. U.Last));
!             Free (Old);
!             return U.Reference;
!          end;
!       end if;
     end Get_Wide_Wide_String;
  
!    --------------------------
     -- Set_Wide_Wide_String --
!    --------------------------
  
     procedure Set_Wide_Wide_String
       (UP : in out Unbounded_Wide_Wide_String;
        S  : Wide_Wide_String)
     is
     begin
!       if UP.Last = S'Length then
!          UP.Reference.all := S;
! 
!       else
!          declare
!             subtype String_1 is Wide_Wide_String (1 .. S'Length);
!             Tmp : Wide_Wide_String_Access;
!          begin
!             Tmp := new Wide_Wide_String'(String_1 (S));
!             Finalize (UP);
!             UP.Reference := Tmp;
!             UP.Last := UP.Reference'Length;
!          end;
        end if;
     end Set_Wide_Wide_String;
  
     procedure Set_Wide_Wide_String
--- 33,68 ----
  
  package body Ada.Strings.Wide_Wide_Unbounded.Aux is
  
!    --------------------
     -- Get_Wide_Wide_String --
!    ---------------------
  
!    procedure Get_Wide_Wide_String
!      (U : Unbounded_Wide_Wide_String;
!       S : out Wide_Wide_String_Access;
!       L : out Natural)
     is
     begin
!       S := U.Reference;
!       L := U.Last;
     end Get_Wide_Wide_String;
  
!    ---------------------
     -- Set_Wide_Wide_String --
!    ---------------------
  
     procedure Set_Wide_Wide_String
       (UP : in out Unbounded_Wide_Wide_String;
        S  : Wide_Wide_String)
     is
     begin
!       if S'Length > UP.Last then
!          Finalize (UP);
!          UP.Reference := new Wide_Wide_String (1 .. S'Length);
        end if;
+ 
+       UP.Reference (1 .. S'Length) := S;
+       UP.Last := S'Length;
     end Set_Wide_Wide_String;
  
     procedure Set_Wide_Wide_String
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szunau.ads gcc-4.1.0/gcc/ada/a-szunau.ads
*** gcc-4.0.2/gcc/ada/a-szunau.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szunau.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUNTIME COMPONENTS                         --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D . A U X  --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                          GNAT RUN-TIME COMPONENTS                        --
  --                                                                          --
  --   A D A . S T R I N G S . W I D E _ W I D E _ U N B O U N D E D . A U X  --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,58 ****
  --  other layered utilities.
  
  package Ada.Strings.Wide_Wide_Unbounded.Aux is
! pragma Preelaborate (Aux);
  
!    function Get_Wide_Wide_String
!      (U : Unbounded_Wide_Wide_String) return Wide_Wide_String_Access;
     pragma Inline (Get_Wide_Wide_String);
!    --  This function returns the internal string pointer used in the
!    --  representation of an unbounded string. There is no copy involved,
!    --  so the value obtained references the same string as the original
!    --  unbounded string. The characters of this string may not be modified
!    --  via the returned pointer, and are valid only as long as the original
!    --  unbounded string is not modified. Violating either of these two
!    --  rules results in erroneous execution.
     --
!    --  This function is much more efficient than the use of To_Wide_Wide_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one.
  
     procedure Set_Wide_Wide_String
       (UP : in out Unbounded_Wide_Wide_String;
--- 37,60 ----
  --  other layered utilities.
  
  package Ada.Strings.Wide_Wide_Unbounded.Aux is
!    pragma Preelaborate;
  
!    procedure Get_Wide_Wide_String
!      (U : Unbounded_Wide_Wide_String;
!       S : out Wide_Wide_String_Access;
!       L : out Natural);
     pragma Inline (Get_Wide_Wide_String);
!    --  This procedure returns the internal string pointer used in the
!    --  representation of an unbounded string as well as the actual current
!    --  length (which may be less than S.all'Length because in general there
!    --  can be extra space assigned). The characters of this string may be
!    --  not be modified via the returned pointer,  and are valid only as
!    --  long as the original unbounded string is not accessed or modified.
     --
!    --  This procedure is more efficient than the use of To_Wide_Wide_String
     --  since it avoids the need to copy the string. The lower bound of the
!    --  referenced string returned by this call is always one, so the actual
!    --  string data is always accessible as S (1 .. L).
  
     procedure Set_Wide_Wide_String
       (UP : in out Unbounded_Wide_Wide_String;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szunha.adb gcc-4.1.0/gcc/ada/a-szunha.adb
*** gcc-4.0.2/gcc/ada/a-szunha.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szunha.adb	Thu Jan  1 00:00:00 1970
***************
*** 1,58 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT LIBRARY COMPONENTS                          --
- --                                                                          --
- --       A D A . S T R I N G S . W I D E _ U N B O U N D E D . H A S H      --
- --                                                                          --
- --                                 B o d y                                  --
- --                                                                          --
- --          Copyright (C) 2004-2005 Free Software Foundation, Inc.          --
- --                                                                          --
- -- This specification is derived from the Ada Reference Manual for use with --
- -- GNAT. The copyright notice above, and the license provisions that follow --
- -- apply solely to the  contents of the part following the private keyword. --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- This unit was originally developed by Matthew J Heaney.                  --
- ------------------------------------------------------------------------------
- 
- --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
- 
- function Ada.Strings.Wide_Wide_Unbounded.Hash
-   (Key : Unbounded_Wide_Wide_String) return Containers.Hash_Type
- is
-    use Ada.Containers;
- 
-    function Rotate_Left
-      (Value  : Hash_Type;
-       Amount : Natural) return Hash_Type;
-    pragma Import (Intrinsic, Rotate_Left);
- 
-    Tmp : Hash_Type;
- 
- begin
-    Tmp := 0;
-    for J in 1 .. Key.Last loop
-       Tmp := Rotate_Left (Tmp, 1) +
-         Wide_Wide_Character'Pos (Key.Reference (J));
-    end loop;
- 
-    return Tmp;
- end Ada.Strings.Wide_Wide_Unbounded.Hash;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szunha.ads gcc-4.1.0/gcc/ada/a-szunha.ads
*** gcc-4.0.2/gcc/ada/a-szunha.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szunha.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,21 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT LIBRARY COMPONENTS                          --
- --                                                                          --
- --       A D A . S T R I N G S . W I D E _ U N B O U N D E D . H A S H      --
- --                                                                          --
- --                                 S p e c                                  --
- --                                                                          --
- -- This specification is adapted from the Ada Reference Manual for use with --
- -- GNAT.  In accordance with the copyright of that document, you can freely --
- -- copy and modify this specification,  provided that if you redistribute a --
- -- modified version,  any changes that you have made are clearly indicated. --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- with Ada.Containers;
- 
- function Ada.Strings.Wide_Wide_Unbounded.Hash
-   (Key : Unbounded_Wide_Wide_String) return Containers.Hash_Type;
- 
- pragma Preelaborate (Ada.Strings.Wide_Wide_Unbounded.Hash);
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szuzha.adb gcc-4.1.0/gcc/ada/a-szuzha.adb
*** gcc-4.0.2/gcc/ada/a-szuzha.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-szuzha.adb	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,58 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT LIBRARY COMPONENTS                          --
+ --                                                                          --
+ --  A D A . S T R I N G S . W I D E _ U N B O U N D E D . W I D E _ H A S H --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --          Copyright (C) 2004-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- This specification is derived from the Ada Reference Manual for use with --
+ -- GNAT. The copyright notice above, and the license provisions that follow --
+ -- apply solely to the  contents of the part following the private keyword. --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- This unit was originally developed by Matthew J Heaney.                  --
+ ------------------------------------------------------------------------------
+ 
+ --  Note: source of this algorithm: GNAT.HTable.Hash (g-htable.adb)
+ 
+ function Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash
+   (Key : Unbounded_Wide_Wide_String) return Containers.Hash_Type
+ is
+    use Ada.Containers;
+ 
+    function Rotate_Left
+      (Value  : Hash_Type;
+       Amount : Natural) return Hash_Type;
+    pragma Import (Intrinsic, Rotate_Left);
+ 
+    Tmp : Hash_Type;
+ 
+ begin
+    Tmp := 0;
+    for J in 1 .. Key.Last loop
+       Tmp := Rotate_Left (Tmp, 3) +
+         Wide_Wide_Character'Pos (Key.Reference (J));
+    end loop;
+ 
+    return Tmp;
+ end Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szuzha.ads gcc-4.1.0/gcc/ada/a-szuzha.ads
*** gcc-4.0.2/gcc/ada/a-szuzha.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-szuzha.ads	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,21 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT LIBRARY COMPONENTS                          --
+ --                                                                          --
+ --  A D A . S T R I N G S . W I D E _ U N B O U N D E D . W I D E _ H A S H --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ -- This specification is adapted from the Ada Reference Manual for use with --
+ -- GNAT.  In accordance with the copyright of that document, you can freely --
+ -- copy and modify this specification,  provided that if you redistribute a --
+ -- modified version,  any changes that you have made are clearly indicated. --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ with Ada.Containers;
+ 
+ function Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash
+   (Key : Unbounded_Wide_Wide_String) return Containers.Hash_Type;
+ 
+ pragma Preelaborate (Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Hash);
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szuzti.adb gcc-4.1.0/gcc/ada/a-szuzti.adb
*** gcc-4.0.2/gcc/ada/a-szuzti.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szuzti.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             ADA.STRINGS.WIDE_WIDE_UNBOUNDED.WIDE_WIDE_TEXT_IO            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             ADA.STRINGS.WIDE_WIDE_UNBOUNDED.WIDE_WIDE_TEXT_IO            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,40 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Strings.Wide_Wide_Unbounded.Aux;
! use Ada.Strings.Wide_Wide_Unbounded.Aux;
! with Ada.Wide_Wide_Text_IO;
! use Ada.Wide_Wide_Text_IO;
  
  package body Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO is
  
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Ada.Wide_Wide_Text_IO; use Ada.Wide_Wide_Text_IO;
  
  package body Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO is
  
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 59,71 ****
           Str1 := Str2;
        end loop;
  
!       Set_Wide_Wide_String (Result, Str1);
        return Result;
     end Get_Line;
  
     function Get_Line
!      (File : Ada.Wide_Wide_Text_IO.File_Type)
!       return Unbounded_Wide_Wide_String
     is
        Buffer : Wide_Wide_String (1 .. 1000);
        Last   : Natural;
--- 56,68 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
     function Get_Line
!      (File : Ada.Wide_Wide_Text_IO.File_Type) return Unbounded_Wide_Wide_String
     is
        Buffer : Wide_Wide_String (1 .. 1000);
        Last   : Natural;
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 84,132 ****
           Str1 := Str2;
        end loop;
  
!       Set_Wide_Wide_String (Result, Str1);
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_Wide_Wide_String) is
-       Buffer : Wide_Wide_String (1 .. 1000);
-       Last   : Natural;
-       Str1   : Wide_Wide_String_Access;
-       Str2   : Wide_Wide_String_Access;
- 
     begin
!       Get_Line (Buffer, Last);
!       Str1 := new Wide_Wide_String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new Wide_Wide_String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
! 
!       Set_Wide_Wide_String (Item, Str1);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Wide_Wide_Text_IO.File_Type;
        Item : out Unbounded_Wide_Wide_String)
     is
-       Buffer : Wide_Wide_String (1 .. 1000);
-       Last   : Natural;
-       Str1   : Wide_Wide_String_Access;
-       Str2   : Wide_Wide_String_Access;
- 
     begin
!       Get_Line (File, Buffer, Last);
!       Str1 := new Wide_Wide_String'(Buffer (1 .. Last));
!       while Last = Buffer'Last loop
!          Get_Line (Buffer, Last);
!          Str2 := new Wide_Wide_String'(Str1.all & Buffer (1 .. Last));
!          Free (Str1);
!          Str1 := Str2;
!       end loop;
  
!       Set_Wide_Wide_String (Item, Str1);
     end Get_Line;
  
     ---------
--- 81,132 ----
           Str1 := Str2;
        end loop;
  
!       Result.Reference := Str1;
!       Result.Last      := Str1'Length;
        return Result;
     end Get_Line;
  
     procedure Get_Line (Item : out Unbounded_Wide_Wide_String) is
     begin
!       Get_Line (Current_Input, Item);
     end Get_Line;
  
     procedure Get_Line
       (File : Ada.Wide_Wide_Text_IO.File_Type;
        Item : out Unbounded_Wide_Wide_String)
     is
     begin
!       --  We are going to read into the string that is already there and
!       --  allocated. Hopefully it is big enough now, if not, we will extend
!       --  it in the usual manner using Realloc_For_Chunk.
  
!       --  Make sure we start with at least 80 characters
! 
!       if Item.Reference'Last < 80 then
!          Realloc_For_Chunk (Item, 80);
!       end if;
! 
!       --  Loop to read data, filling current string as far as possible.
!       --  Item.Last holds the number of characters read so far.
! 
!       Item.Last := 0;
!       loop
!          Get_Line
!            (File,
!             Item.Reference (Item.Last + 1 .. Item.Reference'Last),
!             Item.Last);
! 
!          --  If we hit the end of the line before the end of the buffer, then
!          --  we are all done, and the result length is properly set.
! 
!          if Item.Last < Item.Reference'Last then
!             return;
!          end if;
! 
!          --  If not enough room, double it and keep reading
! 
!          Realloc_For_Chunk (Item, Item.Last);
!       end loop;
     end Get_Line;
  
     ---------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 135,146 ****
  
     procedure Put (U : Unbounded_Wide_Wide_String) is
     begin
!       Put (Get_Wide_Wide_String (U).all);
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_Wide_Wide_String) is
     begin
!       Put (File, Get_Wide_Wide_String (U).all);
     end Put;
  
     --------------
--- 135,146 ----
  
     procedure Put (U : Unbounded_Wide_Wide_String) is
     begin
!       Put (U.Reference (1 .. U.Last));
     end Put;
  
     procedure Put (File : File_Type; U : Unbounded_Wide_Wide_String) is
     begin
!       Put (File, U.Reference (1 .. U.Last));
     end Put;
  
     --------------
*************** package body Ada.Strings.Wide_Wide_Unbou
*** 149,160 ****
  
     procedure Put_Line (U : Unbounded_Wide_Wide_String) is
     begin
!       Put_Line (Get_Wide_Wide_String (U).all);
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_Wide_Wide_String) is
     begin
!       Put_Line (File, Get_Wide_Wide_String (U).all);
     end Put_Line;
  
  end Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO;
--- 149,160 ----
  
     procedure Put_Line (U : Unbounded_Wide_Wide_String) is
     begin
!       Put_Line (U.Reference (1 .. U.Last));
     end Put_Line;
  
     procedure Put_Line (File : File_Type; U : Unbounded_Wide_Wide_String) is
     begin
!       Put_Line (File, U.Reference (1 .. U.Last));
     end Put_Line;
  
  end Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-szuzti.ads gcc-4.1.0/gcc/ada/a-szuzti.ads
*** gcc-4.0.2/gcc/ada/a-szuzti.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-szuzti.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             ADA.STRINGS.WIDE_WIDE_UNBOUNDED.WIDE_WIDE_TEXT_IO            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             ADA.STRINGS.WIDE_WIDE_UNBOUNDED.WIDE_WIDE_TEXT_IO            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tags.adb gcc-4.1.0/gcc/ada/a-tags.adb
*** gcc-4.0.2/gcc/ada/a-tags.adb	Thu Feb 10 13:50:43 2005
--- gcc-4.1.0/gcc/ada/a-tags.adb	Tue Nov 15 13:54:36 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                             A D A . T A G S                              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                             A D A . T A G S                              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 33,160 ****
  
  with Ada.Exceptions;
  with System.HTable;
  
  pragma Elaborate_All (System.HTable);
  
  package body Ada.Tags is
  
! --  Structure of the GNAT Dispatch Table
  
  --           +-----------------------+
  --           |     Offset_To_Top     |
  --           +-----------------------+
! --           | Typeinfo_Ptr/TSD_Ptr  |----> Type Specific Data
  --  Tag ---> +-----------------------+      +-------------------+
  --           |        table of       |      | inheritance depth |
  --           :     primitive ops     :      +-------------------+
! --           |        pointers       |      |   expanded name   |
  --           +-----------------------+      +-------------------+
  --                                          |   external tag    |
  --                                          +-------------------+
! --                                          |   Hash table link |
  --                                          +-------------------+
! --                                          | Remotely Callable |
  --                                          +-------------------+
! --                                          | Rec Ctrler offset |
  --                                          +-------------------+
! --                                          | table of          |
! --                                          :   ancestor        :
! --                                          |      tags         |
  --                                          +-------------------+
  
     subtype Cstring is String (Positive);
     type Cstring_Ptr is access all Cstring;
  
     type Tag_Table is array (Natural range <>) of Tag;
     pragma Suppress_Initialization (Tag_Table);
     pragma Suppress (Index_Check, On => Tag_Table);
-    --  We suppress index checks because the declared size in the record below
-    --  is a dummy size of one (see below).
  
!    type Wide_Boolean is new Boolean;
!    --  This name should probably be changed sometime ??? and indeed probably
!    --  this field could simply be of type Standard.Boolean.
  
     type Type_Specific_Data is record
!       Idepth             : Natural;
!       Expanded_Name      : Cstring_Ptr;
!       External_Tag       : Cstring_Ptr;
!       HT_Link            : Tag;
!       Remotely_Callable  : Wide_Boolean;
!       RC_Offset          : SSE.Storage_Offset;
!       Ancestor_Tags      : Tag_Table (0 .. 1);
     end record;
-    --  The size of the Ancestor_Tags array actually depends on the tagged type
-    --  to which it applies. We are using the same mechanism as for the
-    --  Prims_Ptr array in the Dispatch_Table record. See comments below for
-    --  more details.
  
     type Dispatch_Table is record
!       --  Offset_To_Top : Integer := 0;
!       --  Typeinfo_Ptr  : System.Address; -- Currently TSD is also here???
!       Prims_Ptr    : Address_Array (Positive);
     end record;
  
!    --  Note on the commented out fields of the Dispatch_Table
!    --  ------------------------------------------------------
!    --  According to the C++ ABI the components Offset_To_Top and Typeinfo_Ptr
!    --  are stored just "before" the dispatch table (that is, the Prims_Ptr
!    --  table), and they are referenced with negative offsets referring to the
!    --  base of the dispatch table. The _Tag (or the VTable_Ptr in C++ termi-
!    --  nology) must point to the base of the virtual table, just after these
!    --  components, to point to the Prims_Ptr table. For this purpose the
!    --  expander generates a Prims_Ptr table that has enough space for these
!    --  additional components, and generates code that displaces the _Tag to
!    --  point after these components.
!    --  -----------------------------------------------------------------------
  
!    --  The size of the Prims_Ptr array actually depends on the tagged type to
!    --  which it applies. For each tagged type, the expander computes the
!    --  actual array size, allocates the Dispatch_Table record accordingly, and
!    --  generates code that displaces the base of the record after the
!    --  Typeinfo_Ptr component. For this reason the first two components have
!    --  been commented in the previous declaration. The access to these
!    --  components is done by means of local functions.
!    --
!    --  To avoid the use of discriminants to define the actual size of the
!    --  dispatch table, we used to declare the tag as a pointer to a record
!    --  that contains an arbitrary array of addresses, using Positive as its
!    --  index. This ensures that there are never range checks when accessing
!    --  the dispatch table, but it prevents GDB from displaying tagged types
!    --  properly. A better approach is to declare this record type as holding a
!    --  small number of addresses, and to explicitly suppress checks on it.
!    --
!    --  Note that in both cases, this type is never allocated, and serves only
!    --  to declare the corresponding access type.
  
     ---------------------------------------------
     -- Unchecked Conversions for String Fields --
     ---------------------------------------------
  
     function To_Cstring_Ptr is
       new Unchecked_Conversion (System.Address, Cstring_Ptr);
  
!    function To_Address is
!      new Unchecked_Conversion (Cstring_Ptr, System.Address);
  
!    -----------------------------------------------------------
!    -- Unchecked Conversions for the component offset_to_top --
!    -----------------------------------------------------------
  
!    type Int_Ptr is access Integer;
  
!    function To_Int_Ptr is
!       new Unchecked_Conversion (System.Address, Int_Ptr);
  
     -----------------------
     -- Local Subprograms --
     -----------------------
  
     function Length (Str : Cstring_Ptr) return Natural;
     --  Length of string represented by the given pointer (treating the string
     --  as a C-style string, which is Nul terminated).
  
!    function Offset_To_Top (T : Tag) return Integer;
     --  Returns the current value of the offset_to_top component available in
     --  the prologue of the dispatch table.
  
--- 33,312 ----
  
  with Ada.Exceptions;
  with System.HTable;
+ with System.Storage_Elements; use System.Storage_Elements;
  
  pragma Elaborate_All (System.HTable);
  
  package body Ada.Tags is
  
! --  Structure of the GNAT Primary Dispatch Table
  
  --           +-----------------------+
+ --           |       Signature       |
+ --           +-----------------------+
  --           |     Offset_To_Top     |
  --           +-----------------------+
! --           | Typeinfo_Ptr/TSD_Ptr  | ---> Type Specific Data
  --  Tag ---> +-----------------------+      +-------------------+
  --           |        table of       |      | inheritance depth |
  --           :     primitive ops     :      +-------------------+
! --           |        pointers       |      |   access level    |
  --           +-----------------------+      +-------------------+
+ --                                          |   expanded name   |
+ --                                          +-------------------+
  --                                          |   external tag    |
  --                                          +-------------------+
! --                                          |   hash table link |
  --                                          +-------------------+
! --                                          | remotely callable |
  --                                          +-------------------+
! --                                          | rec ctrler offset |
  --                                          +-------------------+
! --                                          |   num prim ops    |
  --                                          +-------------------+
+ --                                          |  num interfaces   |
+ --                                          +-------------------+
+ --           Select Specific Data      <--- |     SSD_Ptr       |
+ --           +-----------------------+      +-------------------+
+ --           | table of primitive    |      | table of          |
+ --           :    operation          :      :    ancestor       :
+ --           |       kinds           |      |       tags        |
+ --           +-----------------------+      +-------------------+
+ --           | table of              |      | table of          |
+ --           :    entry              :      :    interface      :
+ --           |       indices         |      |       tags        |
+ --           +-----------------------+      +-------------------+
+ 
+ --  Structure of the GNAT Secondary Dispatch Table
+ 
+ --           +-----------------------+
+ --           |       Signature       |
+ --           +-----------------------+
+ --           |     Offset_To_Top     |
+ --           +-----------------------+
+ --           |        OSD_Ptr        |---> Object Specific Data
+ --  Tag ---> +-----------------------+      +---------------+
+ --           |        table of       |      | num prim ops  |
+ --           :      primitive op     :      +---------------+
+ --           |     thunk pointers    |      | table of      |
+ --           +-----------------------+      +   primitive   |
+ --                                          |    op offsets |
+ --                                          +---------------+
+ 
+    Offset_To_Signature : constant SSE.Storage_Count :=
+                            DT_Typeinfo_Ptr_Size
+                              + DT_Offset_To_Top_Size
+                              + DT_Signature_Size;
  
     subtype Cstring is String (Positive);
     type Cstring_Ptr is access all Cstring;
  
+    --  We suppress index checks because the declared size in the record below
+    --  is a dummy size of one (see below).
+ 
     type Tag_Table is array (Natural range <>) of Tag;
     pragma Suppress_Initialization (Tag_Table);
     pragma Suppress (Index_Check, On => Tag_Table);
  
!    --  Object specific data types
! 
!    type Object_Specific_Data_Array is array (Positive range <>) of Positive;
! 
!    type Object_Specific_Data (Nb_Prim : Positive) is record
!       Num_Prim_Ops : Natural;
!       --  Number of primitive operations of the dispatch table. This field is
!       --  used by the run-time check routines that are activated when the
!       --  run-time is compiled with assertions enabled.
! 
!       OSD_Table : Object_Specific_Data_Array (1 .. Nb_Prim);
!       --  Table used in secondary DT to reference their counterpart in the
!       --  select specific data (in the TSD of the primary DT). This construct
!       --  is used in the handling of dispatching triggers in select statements.
!       --  Nb_Prim is the number of non-predefined primitive operations.
!    end record;
! 
!    --  Select specific data types
! 
!    type Select_Specific_Data_Element is record
!       Index : Positive;
!       Kind  : Prim_Op_Kind;
!    end record;
! 
!    type Select_Specific_Data_Array is
!      array (Positive range <>) of Select_Specific_Data_Element;
! 
!    type Select_Specific_Data (Nb_Prim : Positive) is record
!       SSD_Table : Select_Specific_Data_Array (1 .. Nb_Prim);
!       --  NOTE: Nb_Prim is the number of non-predefined primitive operations
!    end record;
! 
!    --  Type specific data types
  
     type Type_Specific_Data is record
!       Idepth : Natural;
!       --  Inheritance Depth Level: Used to implement the membership test
!       --  associated with single inheritance of tagged types in constant-time.
!       --  In addition it also indicates the size of the first table stored in
!       --  the Tags_Table component (see comment below).
! 
!       Access_Level : Natural;
!       --  Accessibility level required to give support to Ada 2005 nested type
!       --  extensions. This feature allows safe nested type extensions by
!       --  shifting the accessibility checks to certain operations, rather than
!       --  being enforced at the type declaration. In particular, by performing
!       --  run-time accessibility checks on class-wide allocators, class-wide
!       --  function return, and class-wide stream I/O, the danger of objects
!       --  outliving their type declaration can be eliminated (Ada 2005: AI-344)
! 
!       Expanded_Name : Cstring_Ptr;
!       External_Tag  : Cstring_Ptr;
!       HT_Link       : Tag;
!       --  Components used to give support to the Ada.Tags subprograms described
!       --  in ARM 3.9
! 
!       Remotely_Callable : Boolean;
!       --  Used to check ARM E.4 (18)
! 
!       RC_Offset : SSE.Storage_Offset;
!       --  Controller Offset: Used to give support to tagged controlled objects
!       --  (see Get_Deep_Controller at s-finimp)
! 
!       Num_Prim_Ops : Natural;
!       --  Number of primitive operations of the dispatch table. This field is
!       --  used for additional run-time checks when the run-time is compiled
!       --  with assertions enabled.
! 
!       Num_Interfaces : Natural;
!       --  Number of abstract interface types implemented by the tagged type.
!       --  The value Idepth+Num_Interfaces indicates the end of the second table
!       --  stored in the Tags_Table component. It is used to implement the
!       --  membership test associated with interfaces (Ada 2005:AI-251).
! 
!       SSD_Ptr : System.Address;
!       --  Pointer to a table of records used in dispatching selects. This
!       --  field has a meaningful value for all tagged types that implement
!       --  a limited, protected, synchronized or task interfaces and have
!       --  non-predefined primitive operations.
! 
!       Tags_Table : Tag_Table (0 .. 1);
!       --  The size of the Tags_Table array actually depends on the tagged type
!       --  to which it applies. The compiler ensures that has enough space to
!       --  store all the entries of the two tables phisically stored there: the
!       --  "table of ancestor tags" and the "table of interface tags". For this
!       --  purpose we are using the same mechanism as for the Prims_Ptr array in
!       --  the Dispatch_Table record. See comments below on Prims_Ptr for
!       --  further details.
     end record;
  
     type Dispatch_Table is record
! 
!       --  According to the C++ ABI the components Offset_To_Top and
!       --  Typeinfo_Ptr are stored just "before" the dispatch table (that is,
!       --  the Prims_Ptr table), and they are referenced with negative offsets
!       --  referring to the base of the dispatch table. The _Tag (or the
!       --  VTable_Ptr in C++ terminology) must point to the base of the virtual
!       --  table, just after these components, to point to the Prims_Ptr table.
!       --  For this purpose the expander generates a Prims_Ptr table that has
!       --  enough space for these additional components, and generates code that
!       --  displaces the _Tag to point after these components.
! 
!       --  Offset_To_Top : Natural;
!       --  Typeinfo_Ptr  : System.Address;
! 
!       Prims_Ptr : Address_Array (1 .. 1);
!       --  The size of the Prims_Ptr array actually depends on the tagged type
!       --  to which it applies. For each tagged type, the expander computes the
!       --  actual array size, allocates the Dispatch_Table record accordingly,
!       --  and generates code that displaces the base of the record after the
!       --  Typeinfo_Ptr component. For this reason the first two components have
!       --  been commented in the previous declaration. The access to these
!       --  components is done by means of local functions.
!       --
!       --  To avoid the use of discriminants to define the actual size of the
!       --  dispatch table, we used to declare the tag as a pointer to a record
!       --  that contains an arbitrary array of addresses, using Positive as its
!       --  index. This ensures that there are never range checks when accessing
!       --  the dispatch table, but it prevents GDB from displaying tagged types
!       --  properly. A better approach is to declare this record type as holding
!       --  small number of addresses, and to explicitly suppress checks on it.
!       --
!       --  Note that in both cases, this type is never allocated, and serves
!       --  only to declare the corresponding access type.
     end record;
  
!    --  Run-time check types and subprograms: These subprograms are used only
!    --  when the run-time is compiled with assertions enabled.
  
!    type Signature_Type is
!       (Must_Be_Primary_DT,
!        Must_Be_Secondary_DT,
!        Must_Be_Primary_Or_Secondary_DT,
!        Must_Be_Interface,
!        Must_Be_Primary_Or_Interface);
!    --  Type of signature accepted by primitives in this package that are called
!    --  during the elaboration of tagged types. This type is used by the routine
!    --  Check_Signature that is called only when the run-time is compiled with
!    --  assertions enabled.
  
     ---------------------------------------------
     -- Unchecked Conversions for String Fields --
     ---------------------------------------------
  
+    function To_Address is
+      new Unchecked_Conversion (Cstring_Ptr, System.Address);
+ 
     function To_Cstring_Ptr is
       new Unchecked_Conversion (System.Address, Cstring_Ptr);
  
!    ------------------------------------------------
!    -- Unchecked Conversions for other components --
!    ------------------------------------------------
  
!    type Acc_Size
!      is access function (A : System.Address) return Long_Long_Integer;
  
!    function To_Acc_Size is new Unchecked_Conversion (System.Address, Acc_Size);
!    --  The profile of the implicitly defined _size primitive
  
!    type Storage_Offset_Ptr is access System.Storage_Elements.Storage_Offset;
! 
!    function To_Storage_Offset_Ptr is
!      new Unchecked_Conversion (System.Address, Storage_Offset_Ptr);
  
     -----------------------
     -- Local Subprograms --
     -----------------------
  
+    function Check_Index
+      (T     : Tag;
+       Index : Natural) return Boolean;
+    --  Check that Index references a valid entry of the dispatch table of T
+ 
+    function Check_Signature (T : Tag; Kind : Signature_Type) return Boolean;
+    --  Check that the signature of T is valid and corresponds with the subset
+    --  specified by the signature Kind.
+ 
+    function Check_Size
+      (Old_T       : Tag;
+       New_T       : Tag;
+       Entry_Count : Natural) return Boolean;
+    --  Verify that Old_T and New_T have at least Entry_Count entries
+ 
+    function Get_Num_Prim_Ops (T : Tag) return Natural;
+    --  Retrieve the number of primitive operations in the dispatch table of T
+ 
+    function Is_Primary_DT (T : Tag) return Boolean;
+    pragma Inline_Always (Is_Primary_DT);
+    --  Given a tag returns True if it has the signature of a primary dispatch
+    --  table.  This is Inline_Always since it is called from other Inline_
+    --  Always subprograms where we want no out of line code to be generated.
+ 
     function Length (Str : Cstring_Ptr) return Natural;
     --  Length of string represented by the given pointer (treating the string
     --  as a C-style string, which is Nul terminated).
  
!    function Offset_To_Top
!      (T : Tag) return System.Storage_Elements.Storage_Offset;
     --  Returns the current value of the offset_to_top component available in
     --  the prologue of the dispatch table.
  
*************** package body Ada.Tags is
*** 162,168 ****
     --  Returns the current value of the typeinfo_ptr component available in
     --  the prologue of the dispatch table.
  
-    pragma Unreferenced (Offset_To_Top);
     pragma Unreferenced (Typeinfo_Ptr);
     --  These functions will be used for full compatibility with the C++ ABI
  
--- 314,319 ----
*************** package body Ada.Tags is
*** 203,225 ****
  
     package body HTable_Subprograms is
  
!    -----------
!    -- Equal --
!    -----------
  
        function Equal (A, B : System.Address) return Boolean is
           Str1 : constant Cstring_Ptr := To_Cstring_Ptr (A);
           Str2 : constant Cstring_Ptr := To_Cstring_Ptr (B);
           J    : Integer := 1;
- 
        begin
           loop
              if Str1 (J) /= Str2 (J) then
                 return False;
- 
              elsif Str1 (J) = ASCII.NUL then
                 return True;
- 
              else
                 J := J + 1;
              end if;
--- 354,373 ----
  
     package body HTable_Subprograms is
  
!       -----------
!       -- Equal --
!       -----------
  
        function Equal (A, B : System.Address) return Boolean is
           Str1 : constant Cstring_Ptr := To_Cstring_Ptr (A);
           Str2 : constant Cstring_Ptr := To_Cstring_Ptr (B);
           J    : Integer := 1;
        begin
           loop
              if Str1 (J) /= Str2 (J) then
                 return False;
              elsif Str1 (J) = ASCII.NUL then
                 return True;
              else
                 J := J + 1;
              end if;
*************** package body Ada.Tags is
*** 258,263 ****
--- 406,498 ----
  
     end HTable_Subprograms;
  
+    -----------------
+    -- Check_Index --
+    -----------------
+ 
+    function Check_Index
+      (T     : Tag;
+       Index : Natural) return Boolean
+    is
+       Max_Entries : constant Natural := Get_Num_Prim_Ops (T);
+ 
+    begin
+       return Index /= 0 and then Index <= Max_Entries;
+    end Check_Index;
+ 
+    ---------------------
+    -- Check_Signature --
+    ---------------------
+ 
+    function Check_Signature (T : Tag; Kind : Signature_Type) return Boolean is
+       Offset_To_Top_Ptr : constant Storage_Offset_Ptr :=
+                             To_Storage_Offset_Ptr (To_Address (T)
+                               - Offset_To_Signature);
+ 
+       Signature : constant Signature_Values :=
+                     To_Signature_Values (Offset_To_Top_Ptr.all);
+ 
+       Signature_Id : Signature_Kind;
+ 
+    begin
+       if Signature (1) /= Valid_Signature then
+          Signature_Id := Unknown;
+ 
+       elsif Signature (2) in Primary_DT .. Abstract_Interface then
+          Signature_Id := Signature (2);
+ 
+       else
+          Signature_Id := Unknown;
+       end if;
+ 
+       case Signature_Id is
+          when Primary_DT         =>
+             if Kind = Must_Be_Secondary_DT
+               or else Kind = Must_Be_Interface
+             then
+                return False;
+             end if;
+ 
+          when Secondary_DT       =>
+             if Kind = Must_Be_Primary_DT
+               or else Kind = Must_Be_Interface
+             then
+                return False;
+             end if;
+ 
+          when Abstract_Interface =>
+             if Kind = Must_Be_Primary_DT
+               or else Kind = Must_Be_Secondary_DT
+               or else Kind = Must_Be_Primary_Or_Secondary_DT
+             then
+                return False;
+             end if;
+ 
+          when others =>
+             return False;
+ 
+       end case;
+ 
+       return True;
+    end Check_Signature;
+ 
+    ----------------
+    -- Check_Size --
+    ----------------
+ 
+    function Check_Size
+      (Old_T       : Tag;
+       New_T       : Tag;
+       Entry_Count : Natural) return Boolean
+    is
+       Max_Entries_Old : constant Natural := Get_Num_Prim_Ops (Old_T);
+       Max_Entries_New : constant Natural := Get_Num_Prim_Ops (New_T);
+ 
+    begin
+       return Entry_Count <= Max_Entries_Old
+         and then Entry_Count <= Max_Entries_New;
+    end Check_Size;
+ 
     -------------------
     -- CW_Membership --
     -------------------
*************** package body Ada.Tags is
*** 266,273 ****
  
     --     Obj in Typ'Class
  
!    --  Each dispatch table contains a reference to a table of ancestors
!    --  (Ancestor_Tags) and a count of the level of inheritance "Idepth" .
  
     --  Obj is in Typ'Class if Typ'Tag is in the table of ancestors that are
     --  contained in the dispatch table referenced by Obj'Tag . Knowing the
--- 501,509 ----
  
     --     Obj in Typ'Class
  
!    --  Each dispatch table contains a reference to a table of ancestors (stored
!    --  in the first part of the Tags_Table) and a count of the level of
!    --  inheritance "Idepth".
  
     --  Obj is in Typ'Class if Typ'Tag is in the table of ancestors that are
     --  contained in the dispatch table referenced by Obj'Tag . Knowing the
*************** package body Ada.Tags is
*** 278,295 ****
     --     = Typ'tag
  
     function CW_Membership (Obj_Tag : Tag; Typ_Tag : Tag) return Boolean is
!       Pos : constant Integer := TSD (Obj_Tag).Idepth - TSD (Typ_Tag).Idepth;
     begin
!       return Pos >= 0 and then TSD (Obj_Tag).Ancestor_Tags (Pos) = Typ_Tag;
     end CW_Membership;
  
     -------------------
     -- Expanded_Name --
     -------------------
  
     function Expanded_Name (T : Tag) return String is
!       Result : constant Cstring_Ptr := TSD (T).Expanded_Name;
     begin
        return Result (1 .. Length (Result));
     end Expanded_Name;
  
--- 514,618 ----
     --     = Typ'tag
  
     function CW_Membership (Obj_Tag : Tag; Typ_Tag : Tag) return Boolean is
!       Pos : Integer;
     begin
!       pragma Assert (Check_Signature (Obj_Tag, Must_Be_Primary_DT));
!       pragma Assert (Check_Signature (Typ_Tag, Must_Be_Primary_DT));
!       Pos := TSD (Obj_Tag).Idepth - TSD (Typ_Tag).Idepth;
!       return Pos >= 0 and then TSD (Obj_Tag).Tags_Table (Pos) = Typ_Tag;
     end CW_Membership;
  
     -------------------
+    -- IW_Membership --
+    -------------------
+ 
+    --  Canonical implementation of Classwide Membership corresponding to:
+ 
+    --     Obj in Iface'Class
+ 
+    --  Each dispatch table contains a table with the tags of all the
+    --  implemented interfaces.
+ 
+    --  Obj is in Iface'Class if Iface'Tag is found in the table of interfaces
+    --  that are contained in the dispatch table referenced by Obj'Tag.
+ 
+    function IW_Membership (This : System.Address; T : Tag) return Boolean is
+       Curr_DT  : constant Tag := To_Tag_Ptr (This).all;
+       Id       : Natural;
+       Last_Id  : Natural;
+       Obj_Base : System.Address;
+       Obj_DT   : Tag;
+       Obj_TSD  : Type_Specific_Data_Ptr;
+ 
+    begin
+       pragma Assert
+         (Check_Signature (Curr_DT, Must_Be_Primary_Or_Secondary_DT));
+       pragma Assert
+         (Check_Signature (T, Must_Be_Primary_Or_Interface));
+ 
+       Obj_Base := This - Offset_To_Top (Curr_DT);
+       Obj_DT   := To_Tag_Ptr (Obj_Base).all;
+ 
+       pragma Assert
+         (Check_Signature (Curr_DT, Must_Be_Primary_DT));
+ 
+       Obj_TSD := TSD (Obj_DT);
+       Last_Id := Obj_TSD.Idepth + Obj_TSD.Num_Interfaces;
+ 
+       if Obj_TSD.Num_Interfaces > 0 then
+ 
+          --  Traverse the ancestor tags table plus the interface tags table.
+          --  The former part is required for:
+ 
+          --     Iface_CW in Typ'Class
+ 
+          Id := 0;
+          loop
+             if Obj_TSD.Tags_Table (Id) = T then
+                return True;
+             end if;
+ 
+             Id := Id + 1;
+             exit when Id > Last_Id;
+          end loop;
+       end if;
+ 
+       return False;
+    end IW_Membership;
+ 
+    --------------------
+    -- Descendant_Tag --
+    --------------------
+ 
+    function Descendant_Tag (External : String; Ancestor : Tag) return Tag is
+       Int_Tag : Tag;
+ 
+    begin
+       pragma Assert (Check_Signature (Ancestor, Must_Be_Primary_DT));
+       Int_Tag := Internal_Tag (External);
+       pragma Assert (Check_Signature (Int_Tag, Must_Be_Primary_DT));
+ 
+       if not Is_Descendant_At_Same_Level (Int_Tag, Ancestor) then
+          raise Tag_Error;
+       end if;
+ 
+       return Int_Tag;
+    end Descendant_Tag;
+ 
+    -------------------
     -- Expanded_Name --
     -------------------
  
     function Expanded_Name (T : Tag) return String is
!       Result : Cstring_Ptr;
! 
     begin
+       if T = No_Tag then
+          raise Tag_Error;
+       end if;
+ 
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Interface));
+       Result := TSD (T).Expanded_Name;
        return Result (1 .. Length (Result));
     end Expanded_Name;
  
*************** package body Ada.Tags is
*** 298,316 ****
     ------------------
  
     function External_Tag (T : Tag) return String is
!       Result : constant Cstring_Ptr := TSD (T).External_Tag;
     begin
        return Result (1 .. Length (Result));
     end External_Tag;
  
!    -----------------------
!    -- Get_Expanded_Name --
!    -----------------------
  
!    function Get_Expanded_Name (T : Tag) return System.Address is
     begin
!       return To_Address (TSD (T).Expanded_Name);
!    end Get_Expanded_Name;
  
     ----------------------
     -- Get_External_Tag --
--- 621,660 ----
     ------------------
  
     function External_Tag (T : Tag) return String is
!       Result : Cstring_Ptr;
! 
     begin
+       if T = No_Tag then
+          raise Tag_Error;
+       end if;
+ 
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Interface));
+       Result := TSD (T).External_Tag;
+ 
        return Result (1 .. Length (Result));
     end External_Tag;
  
!    ----------------------
!    -- Get_Access_Level --
!    ----------------------
  
!    function Get_Access_Level (T : Tag) return Natural is
     begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
!       return TSD (T).Access_Level;
!    end Get_Access_Level;
! 
!    ---------------------
!    -- Get_Entry_Index --
!    ---------------------
! 
!    function Get_Entry_Index (T : Tag; Position : Positive) return Positive is
!       Index : constant Integer := Position - Default_Prim_Op_Count;
!    begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
!       pragma Assert (Index > 0);
!       return SSD (T).SSD_Table (Index).Index;
!    end Get_Entry_Index;
  
     ----------------------
     -- Get_External_Tag --
*************** package body Ada.Tags is
*** 318,334 ****
  
     function Get_External_Tag (T : Tag) return System.Address is
     begin
        return To_Address (TSD (T).External_Tag);
     end Get_External_Tag;
  
!    ---------------------------
!    -- Get_Inheritance_Depth --
!    ---------------------------
  
!    function Get_Inheritance_Depth (T : Tag) return Natural is
     begin
!       return TSD (T).Idepth;
!    end Get_Inheritance_Depth;
  
     -------------------------
     -- Get_Prim_Op_Address --
--- 662,685 ----
  
     function Get_External_Tag (T : Tag) return System.Address is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
        return To_Address (TSD (T).External_Tag);
     end Get_External_Tag;
  
!    ----------------------
!    -- Get_Num_Prim_Ops --
!    ----------------------
  
!    function Get_Num_Prim_Ops (T : Tag) return Natural is
     begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Secondary_DT));
! 
!       if Is_Primary_DT (T) then
!          return TSD (T).Num_Prim_Ops;
!       else
!          return OSD (Interface_Tag (T)).Num_Prim_Ops;
!       end if;
!    end Get_Num_Prim_Ops;
  
     -------------------------
     -- Get_Prim_Op_Address --
*************** package body Ada.Tags is
*** 339,353 ****
--- 690,737 ----
        Position : Positive) return System.Address
     is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Secondary_DT));
+       pragma Assert (Check_Index (T, Position));
        return T.Prims_Ptr (Position);
     end Get_Prim_Op_Address;
  
+    ----------------------
+    -- Get_Prim_Op_Kind --
+    ----------------------
+ 
+    function Get_Prim_Op_Kind
+      (T        : Tag;
+       Position : Positive) return Prim_Op_Kind
+    is
+       Index : constant Integer := Position - Default_Prim_Op_Count;
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       pragma Assert (Index > 0);
+       return SSD (T).SSD_Table (Index).Kind;
+    end Get_Prim_Op_Kind;
+ 
+    ----------------------
+    -- Get_Offset_Index --
+    ----------------------
+ 
+    function Get_Offset_Index
+      (T        : Interface_Tag;
+       Position : Positive) return Positive
+    is
+       Index : constant Integer := Position - Default_Prim_Op_Count;
+    begin
+       pragma Assert (Check_Signature (Tag (T), Must_Be_Secondary_DT));
+       pragma Assert (Index > 0);
+       return OSD (T).OSD_Table (Index);
+    end Get_Offset_Index;
+ 
     -------------------
     -- Get_RC_Offset --
     -------------------
  
     function Get_RC_Offset (T : Tag) return SSE.Storage_Offset is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
        return TSD (T).RC_Offset;
     end Get_RC_Offset;
  
*************** package body Ada.Tags is
*** 357,387 ****
  
     function Get_Remotely_Callable (T : Tag) return Boolean is
     begin
!       return TSD (T).Remotely_Callable = True;
     end Get_Remotely_Callable;
  
-    -------------
-    -- Get_TSD --
-    -------------
- 
-    function Get_TSD  (T : Tag) return System.Address is
-       use type System.Storage_Elements.Storage_Offset;
-       TSD_Ptr : constant Addr_Ptr :=
-                   To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
-    begin
-       return TSD_Ptr.all;
-    end Get_TSD;
- 
     ----------------
     -- Inherit_DT --
     ----------------
  
!    procedure Inherit_DT
!     (Old_T       : Tag;
!      New_T       : Tag;
!      Entry_Count : Natural)
!    is
     begin
        if Old_T /= null then
           New_T.Prims_Ptr (1 .. Entry_Count) :=
             Old_T.Prims_Ptr (1 .. Entry_Count);
--- 741,760 ----
  
     function Get_Remotely_Callable (T : Tag) return Boolean is
     begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
!       return TSD (T).Remotely_Callable;
     end Get_Remotely_Callable;
  
     ----------------
     -- Inherit_DT --
     ----------------
  
!    procedure Inherit_DT (Old_T : Tag; New_T : Tag; Entry_Count : Natural) is
     begin
+       pragma Assert (Check_Signature (Old_T, Must_Be_Primary_Or_Secondary_DT));
+       pragma Assert (Check_Signature (New_T, Must_Be_Primary_Or_Secondary_DT));
+       pragma Assert (Check_Size (Old_T, New_T, Entry_Count));
+ 
        if Old_T /= null then
           New_T.Prims_Ptr (1 .. Entry_Count) :=
             Old_T.Prims_Ptr (1 .. Entry_Count);
*************** package body Ada.Tags is
*** 392,413 ****
     -- Inherit_TSD --
     -----------------
  
!    procedure Inherit_TSD (Old_TSD : System.Address; New_Tag : Tag) is
!       Old_TSD_Ptr  : constant Type_Specific_Data_Ptr :=
!                        To_Type_Specific_Data_Ptr (Old_TSD);
!       New_TSD_Ptr  : constant Type_Specific_Data_Ptr :=
!                        TSD (New_Tag);
  
     begin
!       if Old_TSD_Ptr /= null then
           New_TSD_Ptr.Idepth := Old_TSD_Ptr.Idepth + 1;
!          New_TSD_Ptr.Ancestor_Tags (1 .. New_TSD_Ptr.Idepth) :=
!            Old_TSD_Ptr.Ancestor_Tags (0 .. Old_TSD_Ptr.Idepth);
        else
!          New_TSD_Ptr.Idepth := 0;
        end if;
  
!       New_TSD_Ptr.Ancestor_Tags (0) := New_Tag;
     end Inherit_TSD;
  
     ------------------
--- 765,798 ----
     -- Inherit_TSD --
     -----------------
  
!    procedure Inherit_TSD (Old_Tag : Tag; New_Tag : Tag) is
!       New_TSD_Ptr : Type_Specific_Data_Ptr;
!       Old_TSD_Ptr : Type_Specific_Data_Ptr;
  
     begin
!       pragma Assert (Check_Signature (New_Tag, Must_Be_Primary_Or_Interface));
!       New_TSD_Ptr := TSD (New_Tag);
! 
!       if Old_Tag /= null then
!          pragma Assert
!            (Check_Signature (Old_Tag, Must_Be_Primary_Or_Interface));
!          Old_TSD_Ptr := TSD (Old_Tag);
           New_TSD_Ptr.Idepth := Old_TSD_Ptr.Idepth + 1;
!          New_TSD_Ptr.Num_Interfaces := Old_TSD_Ptr.Num_Interfaces;
! 
!          --  Copy the "table of ancestor tags" plus the "table of interfaces"
!          --  of the parent.
! 
!          New_TSD_Ptr.Tags_Table
!            (1 .. New_TSD_Ptr.Idepth + New_TSD_Ptr.Num_Interfaces) :=
!              Old_TSD_Ptr.Tags_Table
!                (0 .. Old_TSD_Ptr.Idepth + Old_TSD_Ptr.Num_Interfaces);
        else
!          New_TSD_Ptr.Idepth         := 0;
!          New_TSD_Ptr.Num_Interfaces := 0;
        end if;
  
!       New_TSD_Ptr.Tags_Table (0) := New_Tag;
     end Inherit_TSD;
  
     ------------------
*************** package body Ada.Tags is
*** 420,426 ****
  
     begin
        --  Make a copy of the string representing the external tag with
!       --  a null at the end
  
        Ext_Copy (External'Range) := External;
        Ext_Copy (Ext_Copy'Last) := ASCII.NUL;
--- 805,811 ----
  
     begin
        --  Make a copy of the string representing the external tag with
!       --  a null at the end.
  
        Ext_Copy (External'Range) := External;
        Ext_Copy (Ext_Copy'Last) := ASCII.NUL;
*************** package body Ada.Tags is
*** 430,435 ****
--- 815,821 ----
           declare
              Msg1 : constant String := "unknown tagged type: ";
              Msg2 : String (1 .. Msg1'Length + External'Length);
+ 
           begin
              Msg2 (1 .. Msg1'Length) := Msg1;
              Msg2 (Msg1'Length + 1 .. Msg1'Length + External'Length) :=
*************** package body Ada.Tags is
*** 441,446 ****
--- 827,859 ----
        return Res;
     end Internal_Tag;
  
+    ---------------------------------
+    -- Is_Descendant_At_Same_Level --
+    ---------------------------------
+ 
+    function Is_Descendant_At_Same_Level
+      (Descendant : Tag;
+       Ancestor   : Tag) return Boolean
+    is
+    begin
+       return CW_Membership (Descendant, Ancestor)
+         and then TSD (Descendant).Access_Level = TSD (Ancestor).Access_Level;
+    end Is_Descendant_At_Same_Level;
+ 
+    -------------------
+    -- Is_Primary_DT --
+    -------------------
+ 
+    function Is_Primary_DT (T : Tag) return Boolean is
+       Offset_To_Top_Ptr : constant Storage_Offset_Ptr :=
+                             To_Storage_Offset_Ptr (To_Address (T)
+                               - Offset_To_Signature);
+       Signature         : constant Signature_Values :=
+                             To_Signature_Values (Offset_To_Top_Ptr.all);
+    begin
+       return Signature (2) = Primary_DT;
+    end Is_Primary_DT;
+ 
     ------------
     -- Length --
     ------------
*************** package body Ada.Tags is
*** 456,483 ****
        return Len - 1;
     end Length;
  
     -----------------
     -- Parent_Size --
     -----------------
  
-    type Acc_Size
-      is access function (A : System.Address) return Long_Long_Integer;
- 
-    function To_Acc_Size is new Unchecked_Conversion (System.Address, Acc_Size);
-    --  The profile of the implicitly defined _size primitive
- 
     function Parent_Size
       (Obj : System.Address;
        T   : Tag) return SSE.Storage_Count
     is
!       Parent_Tag : constant Tag := TSD (T).Ancestor_Tags (1);
        --  The tag of the parent type through the dispatch table
  
!       F : constant Acc_Size := To_Acc_Size (Parent_Tag.Prims_Ptr (1));
!       --  Access to the _size primitive of the parent. We assume that
!       --  it is always in the first slot of the distatch table
  
     begin
        --  Here we compute the size of the _parent field of the object
  
        return SSE.Storage_Count (F.all (Obj));
--- 869,924 ----
        return Len - 1;
     end Length;
  
+    -------------------
+    -- Offset_To_Top --
+    -------------------
+ 
+    function Offset_To_Top
+      (T : Tag) return System.Storage_Elements.Storage_Offset
+    is
+       Offset_To_Top_Ptr : constant Storage_Offset_Ptr :=
+                             To_Storage_Offset_Ptr (To_Address (T)
+                               - DT_Typeinfo_Ptr_Size
+                               - DT_Offset_To_Top_Size);
+ 
+    begin
+       return Offset_To_Top_Ptr.all;
+    end Offset_To_Top;
+ 
+    ---------
+    -- OSD --
+    ---------
+ 
+    function OSD
+      (T : Interface_Tag) return Object_Specific_Data_Ptr
+    is
+       OSD_Ptr : Addr_Ptr;
+ 
+    begin
+       OSD_Ptr := To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
+       return To_Object_Specific_Data_Ptr (OSD_Ptr.all);
+    end OSD;
+ 
     -----------------
     -- Parent_Size --
     -----------------
  
     function Parent_Size
       (Obj : System.Address;
        T   : Tag) return SSE.Storage_Count
     is
!       Parent_Tag : Tag;
        --  The tag of the parent type through the dispatch table
  
!       F : Acc_Size;
!       --  Access to the _size primitive of the parent. We assume that it is
!       --  always in the first slot of the dispatch table.
  
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       Parent_Tag := TSD (T).Tags_Table (1);
+       F := To_Acc_Size (Parent_Tag.Prims_Ptr (1));
+ 
        --  Here we compute the size of the _parent field of the object
  
        return SSE.Storage_Count (F.all (Obj));
*************** package body Ada.Tags is
*** 489,497 ****
  
     function Parent_Tag (T : Tag) return Tag is
     begin
!       return TSD (T).Ancestor_Tags (1);
     end Parent_Tag;
  
     ------------------
     -- Register_Tag --
     ------------------
--- 930,992 ----
  
     function Parent_Tag (T : Tag) return Tag is
     begin
!       if T = No_Tag then
!          raise Tag_Error;
!       end if;
! 
!       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
! 
!       --  The Parent_Tag of a root-level tagged type is defined to be No_Tag.
!       --  The first entry in the Ancestors_Tags array will be null for such
!       --  a type, but it's better to be explicit about returning No_Tag in
!       --  this case.
! 
!       if TSD (T).Idepth = 0 then
!          return No_Tag;
!       else
!          return TSD (T).Tags_Table (1);
!       end if;
     end Parent_Tag;
  
+    ----------------------------
+    -- Register_Interface_Tag --
+    ----------------------------
+ 
+    procedure Register_Interface_Tag (T : Tag; Interface_T : Tag) is
+       New_T_TSD : Type_Specific_Data_Ptr;
+       Index     : Natural;
+ 
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       pragma Assert (Check_Signature (Interface_T, Must_Be_Interface));
+ 
+       New_T_TSD := TSD (T);
+ 
+       --  Check if the interface is already registered
+ 
+       if New_T_TSD.Num_Interfaces > 0 then
+          declare
+             Id      : Natural          := New_T_TSD.Idepth + 1;
+             Last_Id : constant Natural := New_T_TSD.Idepth
+                                             + New_T_TSD.Num_Interfaces;
+ 
+          begin
+             loop
+                if New_T_TSD.Tags_Table (Id) = Interface_T then
+                   return;
+                end if;
+ 
+                Id := Id + 1;
+                exit when Id > Last_Id;
+             end loop;
+          end;
+       end if;
+ 
+       New_T_TSD.Num_Interfaces := New_T_TSD.Num_Interfaces + 1;
+       Index := New_T_TSD.Idepth + New_T_TSD.Num_Interfaces;
+       New_T_TSD.Tags_Table (Index) := Interface_T;
+    end Register_Interface_Tag;
+ 
     ------------------
     -- Register_Tag --
     ------------------
*************** package body Ada.Tags is
*** 501,512 ****
--- 996,1036 ----
        External_Tag_HTable.Set (T);
     end Register_Tag;
  
+    ----------------------
+    -- Set_Access_Level --
+    ----------------------
+ 
+    procedure Set_Access_Level (T : Tag; Value : Natural) is
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       TSD (T).Access_Level := Value;
+    end Set_Access_Level;
+ 
+    ---------------------
+    -- Set_Entry_Index --
+    ---------------------
+ 
+    procedure Set_Entry_Index
+      (T        : Tag;
+       Position : Positive;
+       Value    : Positive)
+    is
+       Index : constant Integer := Position - Default_Prim_Op_Count;
+ 
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       pragma Assert (Index > 0);
+       SSD (T).SSD_Table (Index).Index := Value;
+    end Set_Entry_Index;
+ 
     -----------------------
     -- Set_Expanded_Name --
     -----------------------
  
     procedure Set_Expanded_Name (T : Tag; Value : System.Address) is
     begin
+       pragma Assert
+         (Check_Signature (T, Must_Be_Primary_Or_Interface));
        TSD (T).Expanded_Name := To_Cstring_Ptr (Value);
     end Set_Expanded_Name;
  
*************** package body Ada.Tags is
*** 516,535 ****
  
     procedure Set_External_Tag (T : Tag; Value : System.Address) is
     begin
        TSD (T).External_Tag := To_Cstring_Ptr (Value);
     end Set_External_Tag;
  
!    ---------------------------
!    -- Set_Inheritance_Depth --
!    ---------------------------
  
!    procedure Set_Inheritance_Depth
       (T     : Tag;
!       Value : Natural)
     is
     begin
!       TSD (T).Idepth := Value;
!    end Set_Inheritance_Depth;
  
     -------------------------
     -- Set_Prim_Op_Address --
--- 1040,1108 ----
  
     procedure Set_External_Tag (T : Tag; Value : System.Address) is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Interface));
        TSD (T).External_Tag := To_Cstring_Ptr (Value);
     end Set_External_Tag;
  
!    ----------------------
!    -- Set_Num_Prim_Ops --
!    ----------------------
  
!    procedure Set_Num_Prim_Ops (T : Tag; Value : Natural) is
!    begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Secondary_DT));
! 
!       if Is_Primary_DT (T) then
!          TSD (T).Num_Prim_Ops := Value;
!       else
!          OSD (Interface_Tag (T)).Num_Prim_Ops := Value;
!       end if;
!    end Set_Num_Prim_Ops;
! 
!    ----------------------
!    -- Set_Offset_Index --
!    ----------------------
! 
!    procedure Set_Offset_Index
!      (T        : Interface_Tag;
!       Position : Positive;
!       Value    : Positive)
!    is
!       Index : constant Integer := Position - Default_Prim_Op_Count;
!    begin
!       pragma Assert (Check_Signature (Tag (T), Must_Be_Secondary_DT));
!       pragma Assert (Index > 0);
!       OSD (T).OSD_Table (Index) := Value;
!    end Set_Offset_Index;
! 
!    -----------------------
!    -- Set_Offset_To_Top --
!    -----------------------
! 
!    procedure Set_Offset_To_Top
       (T     : Tag;
!       Value : System.Storage_Elements.Storage_Offset)
     is
+       Offset_To_Top_Ptr : constant Storage_Offset_Ptr :=
+                             To_Storage_Offset_Ptr (To_Address (T)
+                               - DT_Typeinfo_Ptr_Size
+                               - DT_Offset_To_Top_Size);
     begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Secondary_DT));
!       Offset_To_Top_Ptr.all := Value;
!    end Set_Offset_To_Top;
! 
!    -------------
!    -- Set_OSD --
!    -------------
! 
!    procedure Set_OSD (T : Interface_Tag; Value : System.Address) is
!       OSD_Ptr : Addr_Ptr;
!    begin
!       pragma Assert (Check_Signature (Tag (T), Must_Be_Secondary_DT));
!       OSD_Ptr := To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
!       OSD_Ptr.all := Value;
!    end Set_OSD;
  
     -------------------------
     -- Set_Prim_Op_Address --
*************** package body Ada.Tags is
*** 541,555 ****
--- 1114,1147 ----
        Value    : System.Address)
     is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Secondary_DT));
+       pragma Assert (Check_Index (T, Position));
        T.Prims_Ptr (Position) := Value;
     end Set_Prim_Op_Address;
  
+    ----------------------
+    -- Set_Prim_Op_Kind --
+    ----------------------
+ 
+    procedure Set_Prim_Op_Kind
+      (T        : Tag;
+       Position : Positive;
+       Value    : Prim_Op_Kind)
+    is
+       Index : constant Integer := Position - Default_Prim_Op_Count;
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       pragma Assert (Index > 0);
+       SSD (T).SSD_Table (Index).Kind := Value;
+    end Set_Prim_Op_Kind;
+ 
     -------------------
     -- Set_RC_Offset --
     -------------------
  
     procedure Set_RC_Offset (T : Tag; Value : SSE.Storage_Offset) is
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
        TSD (T).RC_Offset := Value;
     end Set_RC_Offset;
  
*************** package body Ada.Tags is
*** 559,601 ****
  
     procedure Set_Remotely_Callable (T : Tag; Value : Boolean) is
     begin
!       if Value then
!          TSD (T).Remotely_Callable := True;
!       else
!          TSD (T).Remotely_Callable := False;
!       end if;
     end Set_Remotely_Callable;
  
     -------------
     -- Set_TSD --
     -------------
  
     procedure Set_TSD (T : Tag; Value : System.Address) is
!       use type System.Storage_Elements.Storage_Offset;
!       TSD_Ptr : constant Addr_Ptr :=
!                   To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
     begin
        TSD_Ptr.all := Value;
     end Set_TSD;
  
!    -------------------
!    -- Offset_To_Top --
!    -------------------
  
!    function Offset_To_Top (T : Tag) return Integer is
!       use type System.Storage_Elements.Storage_Offset;
!       TSD_Ptr : constant Int_Ptr :=
!                   To_Int_Ptr (To_Address (T) - DT_Prologue_Size);
     begin
!       return TSD_Ptr.all;
!    end Offset_To_Top;
  
     ------------------
     -- Typeinfo_Ptr --
     ------------------
  
     function Typeinfo_Ptr (T : Tag) return System.Address is
-       use type System.Storage_Elements.Storage_Offset;
        TSD_Ptr : constant Addr_Ptr :=
                    To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
     begin
--- 1151,1196 ----
  
     procedure Set_Remotely_Callable (T : Tag; Value : Boolean) is
     begin
!       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
!       TSD (T).Remotely_Callable := Value;
     end Set_Remotely_Callable;
  
     -------------
+    -- Set_SSD --
+    -------------
+ 
+    procedure Set_SSD (T : Tag; Value : System.Address) is
+    begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_DT));
+       TSD (T).SSD_Ptr := Value;
+    end Set_SSD;
+ 
+    -------------
     -- Set_TSD --
     -------------
  
     procedure Set_TSD (T : Tag; Value : System.Address) is
!       TSD_Ptr : Addr_Ptr;
     begin
+       pragma Assert (Check_Signature (T, Must_Be_Primary_Or_Interface));
+       TSD_Ptr := To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
        TSD_Ptr.all := Value;
     end Set_TSD;
  
!    ---------
!    -- SSD --
!    ---------
  
!    function SSD (T : Tag) return Select_Specific_Data_Ptr is
     begin
!       return To_Select_Specific_Data_Ptr (TSD (T).SSD_Ptr);
!    end SSD;
  
     ------------------
     -- Typeinfo_Ptr --
     ------------------
  
     function Typeinfo_Ptr (T : Tag) return System.Address is
        TSD_Ptr : constant Addr_Ptr :=
                    To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
     begin
*************** package body Ada.Tags is
*** 607,614 ****
     ---------
  
     function TSD (T : Tag) return Type_Specific_Data_Ptr is
     begin
!       return To_Type_Specific_Data_Ptr (Get_TSD (T));
     end TSD;
  
  end Ada.Tags;
--- 1202,1211 ----
     ---------
  
     function TSD (T : Tag) return Type_Specific_Data_Ptr is
+       TSD_Ptr : constant Addr_Ptr :=
+                   To_Addr_Ptr (To_Address (T) - DT_Typeinfo_Ptr_Size);
     begin
!       return To_Type_Specific_Data_Ptr (TSD_Ptr.all);
     end TSD;
  
  end Ada.Tags;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tags.ads gcc-4.1.0/gcc/ada/a-tags.ads
*** gcc-4.0.2/gcc/ada/a-tags.ads	Thu Feb 10 13:50:43 2005
--- gcc-4.1.0/gcc/ada/a-tags.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System.Storage_Elements;
*** 40,73 ****
  with Unchecked_Conversion;
  
  package Ada.Tags is
! 
!    pragma Elaborate_Body;
  
     type Tag is private;
  
     function Expanded_Name (T : Tag) return String;
  
     function External_Tag (T : Tag) return String;
  
     function Internal_Tag (External : String) return Tag;
  
     Tag_Error : exception;
  
  private
  
     ---------------------------------------------------------------
     -- Abstract Procedural Interface For The GNAT Dispatch Table --
     ---------------------------------------------------------------
  
     --  GNAT's Dispatch Table format is customizable in order to match the
!    --  format used in another language. GNAT supports programs that use
!    --  two different dispatch table formats at the same time: the native
!    --  format that supports Ada 95 tagged types and which is described in
!    --  Ada.Tags, and a foreign format for types that are imported from some
!    --  other language (typically C++) which is described in Interfaces.CPP.
!    --  The runtime information kept for each tagged type is separated into
!    --  two objects: the Dispatch Table and the Type Specific Data record.
!    --  These two objects are allocated statically using the constants:
  
     --      DT Size  = DT_Prologue_Size  + Nb_Prim * DT_Entry_Size
     --      TSD Size = TSD_Prologue_Size + (1 + Idepth)  * TSD_Entry_Size
--- 40,90 ----
  with Unchecked_Conversion;
  
  package Ada.Tags is
!    pragma Preelaborate_05;
!    --  In accordance with Ada 2005 AI-362
  
     type Tag is private;
  
+    No_Tag : constant Tag;
+ 
     function Expanded_Name (T : Tag) return String;
  
     function External_Tag (T : Tag) return String;
  
     function Internal_Tag (External : String) return Tag;
  
+    function Descendant_Tag
+      (External : String;
+       Ancestor : Tag) return Tag;
+    pragma Ada_05 (Descendant_Tag);
+ 
+    function Is_Descendant_At_Same_Level
+      (Descendant : Tag;
+       Ancestor   : Tag) return Boolean;
+    pragma Ada_05 (Is_Descendant_At_Same_Level);
+ 
+    function Parent_Tag (T : Tag) return Tag;
+    pragma Ada_05 (Parent_Tag);
+ 
     Tag_Error : exception;
  
  private
+    --  The following subprogram specifications are placed here instead of
+    --  the package body to see them from the frontend through rtsfind.
  
     ---------------------------------------------------------------
     -- Abstract Procedural Interface For The GNAT Dispatch Table --
     ---------------------------------------------------------------
  
     --  GNAT's Dispatch Table format is customizable in order to match the
!    --  format used in another language. GNAT supports programs that use two
!    --  different dispatch table formats at the same time: the native format
!    --  that supports Ada 95 tagged types and which is described in Ada.Tags,
!    --  and a foreign format for types that are imported from some other
!    --  language (typically C++) which is described in Interfaces.CPP. The
!    --  runtime information kept for each tagged type is separated into two
!    --  objects: the Dispatch Table and the Type Specific Data record. These
!    --  two objects are allocated statically using the constants:
  
     --      DT Size  = DT_Prologue_Size  + Nb_Prim * DT_Entry_Size
     --      TSD Size = TSD_Prologue_Size + (1 + Idepth)  * TSD_Entry_Size
*************** private
*** 75,114 ****
     --  where Nb_prim is the number of primitive operations of the given
     --  type and Idepth its inheritance depth.
  
!    --  The compiler generates calls to the following SET routines to
!    --  initialize those structures and uses the GET functions to
!    --  retreive the information when needed
  
     type Dispatch_Table;
     type Tag is access all Dispatch_Table;
  
     type Type_Specific_Data;
     type Type_Specific_Data_Ptr is access all Type_Specific_Data;
  
     package SSE renames System.Storage_Elements;
  
     function CW_Membership (Obj_Tag : Tag; Typ_Tag : Tag) return Boolean;
     --  Given the tag of an object and the tag associated to a type, return
     --  true if Obj is in Typ'Class.
  
!    function Get_Expanded_Name (T : Tag) return System.Address;
!    --  Retrieve the address of a null terminated string containing
!    --  the expanded name
  
     function Get_External_Tag (T : Tag) return System.Address;
     --  Retrieve the address of a null terminated string containing
!    --  the external name
  
     function Get_Prim_Op_Address
       (T        : Tag;
        Position : Positive) return System.Address;
!    --  Given a pointer to a dispatch Table (T) and a position in the DT
     --  this function returns the address of the virtual function stored
!    --  in it (used for dispatching calls)
  
!    function Get_Inheritance_Depth (T : Tag) return Natural;
!    --  Given a pointer to a dispatch Table, retrieves the value representing
!    --  the depth in the inheritance tree (used for membership).
  
     function Get_RC_Offset (T : Tag) return SSE.Storage_Offset;
     --  Return the Offset of the implicit record controller when the object
--- 92,196 ----
     --  where Nb_prim is the number of primitive operations of the given
     --  type and Idepth its inheritance depth.
  
!    --  In order to set or retrieve information from the Dispatch Table or
!    --  the Type Specific Data record, GNAT generates calls to Set_XXX or
!    --  Get_XXX routines, where XXX is the name of the field of interest.
  
     type Dispatch_Table;
     type Tag is access all Dispatch_Table;
+    type Interface_Tag is access all Dispatch_Table;
+ 
+    No_Tag : constant Tag := null;
+ 
+    type Object_Specific_Data (Nb_Prim : Positive);
+    type Object_Specific_Data_Ptr is access all Object_Specific_Data;
+    --  Information associated with the secondary dispatch table of tagged-type
+    --  objects implementing abstract interfaces.
+ 
+    type Select_Specific_Data (Nb_Prim : Positive);
+    type Select_Specific_Data_Ptr is access all Select_Specific_Data;
+    --  A table used to store the primitive operation kind and entry index of
+    --  primitive subprograms of a type that implements a limited interface.
+    --  The Select Specific Data table resides in the Type Specific Data of a
+    --  type. This construct is used in the handling of dispatching triggers
+    --  in select statements.
  
     type Type_Specific_Data;
     type Type_Specific_Data_Ptr is access all Type_Specific_Data;
  
+    --  Primitive operation kinds. These values differentiate the kinds of
+    --  callable entities stored in the dispatch table. Certain kinds may
+    --  not be used, but are added for completeness.
+ 
+    type Prim_Op_Kind is
+      (POK_Function,
+       POK_Procedure,
+       POK_Protected_Entry,
+       POK_Protected_Function,
+       POK_Protected_Procedure,
+       POK_Task_Entry,
+       POK_Task_Function,
+       POK_Task_Procedure);
+ 
+    Default_Prim_Op_Count : constant Positive := 15;
+    --  Number of predefined primitive operations added by the Expander for a
+    --  tagged type. It is utilized for indexing in the two auxiliary tables
+    --  used for dispatching asynchronous, conditional and timed selects. In
+    --  order to be space efficient, indexing is performed by subtracting this
+    --  constant value from the provided position in the auxiliary tables (must
+    --  match Exp_Disp.Default_Prim_Op_Count).
+ 
     package SSE renames System.Storage_Elements;
  
     function CW_Membership (Obj_Tag : Tag; Typ_Tag : Tag) return Boolean;
     --  Given the tag of an object and the tag associated to a type, return
     --  true if Obj is in Typ'Class.
  
!    function IW_Membership (This : System.Address; T : Tag) return Boolean;
!    --  Ada 2005 (AI-251): General routine that checks if a given object
!    --  implements a tagged type. Its common usage is to check if Obj is in
!    --  Iface'Class, but it is also used to check if a class-wide interface
!    --  implements a given type (Iface_CW_Typ in T'Class). For example:
!    --
!    --      type I is interface;
!    --      type T is tagged ...
!    --
!    --      function Test (O : in I'Class) is
!    --      begin
!    --         return O in T'Class.
!    --      end Test;
! 
!    function Get_Access_Level (T : Tag) return Natural;
!    --  Given the tag associated with a type, returns the accessibility level
!    --  of the type.
! 
!    function Get_Entry_Index (T : Tag; Position : Positive) return Positive;
!    --  Return a primitive operation's entry index (if entry) given a dispatch
!    --  table T and a position of a primitive operation in T.
  
     function Get_External_Tag (T : Tag) return System.Address;
     --  Retrieve the address of a null terminated string containing
!    --  the external name.
! 
!    function Get_Offset_Index
!      (T        : Interface_Tag;
!       Position : Positive) return Positive;
!    --  Given a pointer to a secondary dispatch table (T) and a position of an
!    --  operation in the DT, retrieve the corresponding operation's position in
!    --  the primary dispatch table from the Offset Specific Data table of T.
  
     function Get_Prim_Op_Address
       (T        : Tag;
        Position : Positive) return System.Address;
!    --  Given a pointer to a dispatch table (T) and a position in the DT
     --  this function returns the address of the virtual function stored
!    --  in it (used for dispatching calls).
  
!    function Get_Prim_Op_Kind
!      (T        : Tag;
!       Position : Positive) return Prim_Op_Kind;
!    --  Return a primitive operation's kind given a dispatch table T and a
!    --  position of a primitive operation in T.
  
     function Get_RC_Offset (T : Tag) return SSE.Storage_Offset;
     --  Return the Offset of the implicit record controller when the object
*************** private
*** 122,192 ****
     function Get_Remotely_Callable (T : Tag) return Boolean;
     --  Return the value previously set by Set_Remotely_Callable
  
!    function  Get_TSD (T : Tag) return System.Address;
!    --  Given a pointer T to a dispatch Table, retreives the address of the
!    --  record containing the Type Specific Data generated by GNAT
! 
!    procedure Inherit_DT
!     (Old_T   : Tag;
!      New_T   : Tag;
!      Entry_Count : Natural);
     --  Entry point used to initialize the DT of a type knowing the tag
     --  of the direct ancestor and the number of primitive ops that are
     --  inherited (Entry_Count).
  
!    procedure Inherit_TSD (Old_TSD : System.Address; New_Tag : Tag);
!    --  Entry point used to initialize the TSD of a type knowing the
!    --  TSD of the direct ancestor.
  
     function Parent_Size
       (Obj : System.Address;
        T   : Tag) return SSE.Storage_Count;
!    --  Computes the size the ancestor part of a tagged extension object
!    --  whose address is 'obj' by calling the indirectly _size function of
!    --  the ancestor. The ancestor is the parent of the type represented by
!    --  tag T. This function assumes that _size is always in slot 1 of
!    --  the dispatch table.
  
     pragma Export (Ada, Parent_Size, "ada__tags__parent_size");
     --  This procedure is used in s-finimp and is thus exported manually
  
!    function Parent_Tag (T : Tag) return Tag;
!    --  Obj is the address of a tagged object. Parent_Tag fetch the tag of the
!    --  immediate ancestor (parent) of the type associated with Obj.
! 
!    pragma Export (Ada, Parent_Tag, "ada__tags__parent_tag");
!    --  This procedure is used in s-finimp and is thus exported manually
  
     procedure Register_Tag (T : Tag);
     --  Insert the Tag and its associated external_tag in a table for the
     --  sake of Internal_Tag
  
!    procedure Set_Inheritance_Depth
       (T     : Tag;
!       Value : Natural);
!    --  Given a pointer to a dispatch Table, stores the value representing
!    --  the depth in the inheritance tree (the second parameter). Used during
!    --  elaboration of the tagged type.
  
     procedure Set_Prim_Op_Address
       (T        : Tag;
        Position : Positive;
        Value    : System.Address);
!    --  Given a pointer to a dispatch Table (T) and a position in the
!    --  dispatch Table put the address of the virtual function in it
!    --  (used for overriding)
  
     procedure Set_TSD (T : Tag; Value : System.Address);
     --  Given a pointer T to a dispatch Table, stores the address of the record
!    --  containing the Type Specific Data generated by GNAT
  
     procedure Set_Expanded_Name (T : Tag; Value : System.Address);
     --  Set the address of the string containing the expanded name
!    --  in the Dispatch table
  
     procedure Set_External_Tag (T : Tag; Value : System.Address);
     --  Set the address of the string containing the external tag
!    --  in the Dispatch table
  
     procedure Set_RC_Offset (T : Tag; Value : SSE.Storage_Offset);
     --  Sets the Offset of the implicit record controller when the object
--- 204,302 ----
     function Get_Remotely_Callable (T : Tag) return Boolean;
     --  Return the value previously set by Set_Remotely_Callable
  
!    procedure Inherit_DT (Old_T : Tag; New_T : Tag; Entry_Count : Natural);
     --  Entry point used to initialize the DT of a type knowing the tag
     --  of the direct ancestor and the number of primitive ops that are
     --  inherited (Entry_Count).
  
!    procedure Inherit_TSD (Old_Tag : Tag; New_Tag : Tag);
!    --  Initialize the TSD of a type knowing the tag of the direct ancestor
! 
!    function OSD (T : Interface_Tag) return Object_Specific_Data_Ptr;
!    --  Ada 2005 (AI-251): Given a pointer T to a secondary dispatch table,
!    --  retrieve the address of the record containing the Objet Specific
!    --  Data table.
  
     function Parent_Size
       (Obj : System.Address;
        T   : Tag) return SSE.Storage_Count;
!    --  Computes the size the ancestor part of a tagged extension object whose
!    --  address is 'obj' by calling indirectly the ancestor _size function. The
!    --  ancestor is the parent of the type represented by tag T. This function
!    --  assumes that _size is always in slot one of the dispatch table.
  
     pragma Export (Ada, Parent_Size, "ada__tags__parent_size");
     --  This procedure is used in s-finimp and is thus exported manually
  
!    procedure Register_Interface_Tag (T : Tag; Interface_T : Tag);
!    --  Ada 2005 (AI-251): Used to initialize the table of interfaces
!    --  implemented by a type. Required to give support to IW_Membership.
  
     procedure Register_Tag (T : Tag);
     --  Insert the Tag and its associated external_tag in a table for the
     --  sake of Internal_Tag
  
!    procedure Set_Entry_Index (T : Tag; Position : Positive; Value : Positive);
!    --  Set the entry index of a primitive operation in T's TSD table indexed
!    --  by Position.
! 
!    procedure Set_Num_Prim_Ops (T : Tag; Value : Natural);
!    --  Set the number of primitive operations in the dispatch table of T. This
!    --  is used for debugging purposes.
! 
!    procedure Set_Offset_Index
!      (T        : Interface_Tag;
!       Position : Positive;
!       Value    : Positive);
!    --  Set the offset value of a primitive operation in a secondary dispatch
!    --  table denoted by T, indexed by Position.
! 
!    procedure Set_Offset_To_Top
       (T     : Tag;
!       Value : System.Storage_Elements.Storage_Offset);
!    --  Ada 2005 (AI-251): Initialize the Offset_To_Top field in the prologue of
!    --  the dispatch table. In primary dispatch tables the value of this field
!    --  is always 0; in secondary dispatch tables this is the offset to the base
!    --  of the enclosing type.
! 
!    procedure Set_OSD (T : Interface_Tag; Value : System.Address);
!    --  Given a pointer T to a secondary dispatch table, store the pointer to
!    --  the record containing the Object Specific Data generated by GNAT.
  
     procedure Set_Prim_Op_Address
       (T        : Tag;
        Position : Positive;
        Value    : System.Address);
!    --  Given a pointer to a dispatch Table (T) and a position in the dispatch
!    --  Table put the address of the virtual function in it (used for
!    --  overriding).
! 
!    procedure Set_Prim_Op_Kind
!      (T        : Tag;
!       Position : Positive;
!       Value    : Prim_Op_Kind);
!    --  Set the kind of a primitive operation in T's TSD table indexed by
!    --  Position.
! 
!    procedure Set_SSD (T : Tag; Value : System.Address);
!    --  Given a pointer T to a dispatch Table, stores the pointer to the record
!    --  containing the Select Specific Data generated by GNAT.
  
     procedure Set_TSD (T : Tag; Value : System.Address);
     --  Given a pointer T to a dispatch Table, stores the address of the record
!    --  containing the Type Specific Data generated by GNAT.
! 
!    procedure Set_Access_Level (T : Tag; Value : Natural);
!    --  Sets the accessibility level of the tagged type associated with T
!    --  in its TSD.
  
     procedure Set_Expanded_Name (T : Tag; Value : System.Address);
     --  Set the address of the string containing the expanded name
!    --  in the Dispatch table.
  
     procedure Set_External_Tag (T : Tag; Value : System.Address);
     --  Set the address of the string containing the external tag
!    --  in the Dispatch table.
  
     procedure Set_RC_Offset (T : Tag; Value : SSE.Storage_Offset);
     --  Sets the Offset of the implicit record controller when the object
*************** private
*** 196,224 ****
     --  Set to true if the type has been declared in a context described
     --  in E.4 (18).
  
     function TSD (T : Tag) return Type_Specific_Data_Ptr;
!    --  This function is conceptually equivalent to Get_TSD, but
!    --  returning a Type_Specific_Data_Ptr type (rather than an Address)
!    --  simplifies the implementation of the other subprograms.
  
     DT_Prologue_Size : constant SSE.Storage_Count :=
                          SSE.Storage_Count
!                           (2 * (Standard'Address_Size / System.Storage_Unit));
     --  Size of the first part of the dispatch table
  
     DT_Typeinfo_Ptr_Size : constant SSE.Storage_Count :=
                              SSE.Storage_Count
                                (Standard'Address_Size / System.Storage_Unit);
!    --  Size of the Typeinfo_Ptr field of the Dispatch Table.
  
     DT_Entry_Size : constant SSE.Storage_Count :=
                       SSE.Storage_Count
                         (1 * (Standard'Address_Size / System.Storage_Unit));
!    --  Size of each primitive operation entry in the Dispatch Table.
  
     TSD_Prologue_Size : constant SSE.Storage_Count :=
                           SSE.Storage_Count
!                            (6 * Standard'Address_Size / System.Storage_Unit);
     --  Size of the first part of the type specific data
  
     TSD_Entry_Size : constant SSE.Storage_Count :=
--- 306,347 ----
     --  Set to true if the type has been declared in a context described
     --  in E.4 (18).
  
+    function SSD (T : Tag) return Select_Specific_Data_Ptr;
+    --  Given a pointer T to a dispatch Table, retrieves the address of the
+    --  record containing the Select Specific Data in T's TSD.
+ 
     function TSD (T : Tag) return Type_Specific_Data_Ptr;
!    --  Given a pointer T to a dispatch Table, retrieves the address of the
!    --  record containing the Type Specific Data generated by GNAT.
  
     DT_Prologue_Size : constant SSE.Storage_Count :=
                          SSE.Storage_Count
!                           (3 * (Standard'Address_Size / System.Storage_Unit));
     --  Size of the first part of the dispatch table
  
+    DT_Signature_Size : constant SSE.Storage_Count :=
+                          SSE.Storage_Count
+                            (Standard'Address_Size / System.Storage_Unit);
+    --  Size of the Signature field of the dispatch table
+ 
+    DT_Offset_To_Top_Size : constant SSE.Storage_Count :=
+                             SSE.Storage_Count
+                               (Standard'Address_Size / System.Storage_Unit);
+    --  Size of the Offset_To_Top field of the Dispatch Table
+ 
     DT_Typeinfo_Ptr_Size : constant SSE.Storage_Count :=
                              SSE.Storage_Count
                                (Standard'Address_Size / System.Storage_Unit);
!    --  Size of the Typeinfo_Ptr field of the Dispatch Table
  
     DT_Entry_Size : constant SSE.Storage_Count :=
                       SSE.Storage_Count
                         (1 * (Standard'Address_Size / System.Storage_Unit));
!    --  Size of each primitive operation entry in the Dispatch Table
  
     TSD_Prologue_Size : constant SSE.Storage_Count :=
                           SSE.Storage_Count
!                           (10 * (Standard'Address_Size / System.Storage_Unit));
     --  Size of the first part of the type specific data
  
     TSD_Entry_Size : constant SSE.Storage_Count :=
*************** private
*** 231,270 ****
     --  of this type are declared with a dummy size of 1, the actual size
     --  depending on the number of primitive operations.
  
     function To_Type_Specific_Data_Ptr is
       new Unchecked_Conversion (System.Address, Type_Specific_Data_Ptr);
  
     function To_Address is
!      new Unchecked_Conversion (Type_Specific_Data_Ptr, System.Address);
  
     function To_Address is
       new Unchecked_Conversion (Tag, System.Address);
  
!    type Addr_Ptr is access System.Address;
  
!    function To_Addr_Ptr is
!       new Unchecked_Conversion (System.Address, Addr_Ptr);
  
     --  Primitive dispatching operations are always inlined, to facilitate
     --  use in a minimal/no run-time environment for high integrity use.
  
     pragma Inline_Always (CW_Membership);
!    pragma Inline_Always (Get_Expanded_Name);
!    pragma Inline_Always (Get_Inheritance_Depth);
     pragma Inline_Always (Get_Prim_Op_Address);
     pragma Inline_Always (Get_RC_Offset);
     pragma Inline_Always (Get_Remotely_Callable);
-    pragma Inline_Always (Get_TSD);
     pragma Inline_Always (Inherit_DT);
     pragma Inline_Always (Inherit_TSD);
     pragma Inline_Always (Register_Tag);
     pragma Inline_Always (Set_Expanded_Name);
     pragma Inline_Always (Set_External_Tag);
!    pragma Inline_Always (Set_Inheritance_Depth);
     pragma Inline_Always (Set_Prim_Op_Address);
     pragma Inline_Always (Set_RC_Offset);
     pragma Inline_Always (Set_Remotely_Callable);
     pragma Inline_Always (Set_TSD);
     pragma Inline_Always (TSD);
  
  end Ada.Tags;
--- 354,446 ----
     --  of this type are declared with a dummy size of 1, the actual size
     --  depending on the number of primitive operations.
  
+    type Signature_Kind is
+       (Unknown,
+        Valid_Signature,
+        Primary_DT,
+        Secondary_DT,
+        Abstract_Interface);
+    for Signature_Kind'Size use 8;
+    --  Kind of signature found in the header of the dispatch table. These
+    --  signatures are generated by the frontend and are used by the Check_XXX
+    --  routines to ensure that the kind of dispatch table managed by each of
+    --  the routines in this package is correct. This additional check is only
+    --  performed with this run-time package is compiled with assertions enabled
+ 
+    --  The signature is a sequence of two bytes. The first byte must have the
+    --  value Valid_Signature, and the second byte must have a value in the
+    --  range Primary_DT .. Abstract_Interface. The Unknown value is used by
+    --  the Check_XXX routines to indicate that the signature is wrong.
+ 
+    --  Unchecked Conversions
+ 
+    type Addr_Ptr is access System.Address;
+    type Tag_Ptr  is access Tag;
+ 
+    type Signature_Values is
+       array (1 .. DT_Signature_Size) of Signature_Kind;
+    --  Type used to see the signature as a sequence of Signature_Kind values
+ 
+    function To_Addr_Ptr is
+       new Unchecked_Conversion (System.Address, Addr_Ptr);
+ 
     function To_Type_Specific_Data_Ptr is
       new Unchecked_Conversion (System.Address, Type_Specific_Data_Ptr);
  
     function To_Address is
!      new Unchecked_Conversion (Interface_Tag, System.Address);
  
     function To_Address is
       new Unchecked_Conversion (Tag, System.Address);
  
!    function To_Address is
!      new Unchecked_Conversion (Type_Specific_Data_Ptr, System.Address);
  
!    function To_Object_Specific_Data_Ptr is
!      new Unchecked_Conversion (System.Address, Object_Specific_Data_Ptr);
! 
!    function To_Select_Specific_Data_Ptr is
!      new Unchecked_Conversion (System.Address, Select_Specific_Data_Ptr);
! 
!    function To_Signature_Values is
!      new Unchecked_Conversion (System.Storage_Elements.Storage_Offset,
!                                Signature_Values);
! 
!    function To_Tag_Ptr is
!      new Unchecked_Conversion (System.Address, Tag_Ptr);
  
     --  Primitive dispatching operations are always inlined, to facilitate
     --  use in a minimal/no run-time environment for high integrity use.
  
     pragma Inline_Always (CW_Membership);
!    pragma Inline_Always (IW_Membership);
!    pragma Inline_Always (Get_Access_Level);
!    pragma Inline_Always (Get_Entry_Index);
!    pragma Inline_Always (Get_Offset_Index);
     pragma Inline_Always (Get_Prim_Op_Address);
+    pragma Inline_Always (Get_Prim_Op_Kind);
     pragma Inline_Always (Get_RC_Offset);
     pragma Inline_Always (Get_Remotely_Callable);
     pragma Inline_Always (Inherit_DT);
     pragma Inline_Always (Inherit_TSD);
+    pragma Inline_Always (OSD);
+    pragma Inline_Always (Register_Interface_Tag);
     pragma Inline_Always (Register_Tag);
+    pragma Inline_Always (Set_Access_Level);
+    pragma Inline_Always (Set_Entry_Index);
     pragma Inline_Always (Set_Expanded_Name);
     pragma Inline_Always (Set_External_Tag);
!    pragma Inline_Always (Set_Num_Prim_Ops);
!    pragma Inline_Always (Set_Offset_Index);
!    pragma Inline_Always (Set_Offset_To_Top);
     pragma Inline_Always (Set_Prim_Op_Address);
+    pragma Inline_Always (Set_Prim_Op_Kind);
     pragma Inline_Always (Set_RC_Offset);
     pragma Inline_Always (Set_Remotely_Callable);
+    pragma Inline_Always (Set_OSD);
+    pragma Inline_Always (Set_SSD);
     pragma Inline_Always (Set_TSD);
+    pragma Inline_Always (SSD);
     pragma Inline_Always (TSD);
  
  end Ada.Tags;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tasatt.adb gcc-4.1.0/gcc/ada/a-tasatt.adb
*** gcc-4.0.2/gcc/ada/a-tasatt.adb	Mon May 17 13:20:42 2004
--- gcc-4.1.0/gcc/ada/a-tasatt.adb	Tue Nov 15 14:06:45 2005
***************
*** 7,13 ****
  --                                 B o d y                                  --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --             Copyright (C) 1995-2004, Ada Core Technologies               --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 7,13 ----
  --                                 B o d y                                  --
  --                                                                          --
  --             Copyright (C) 1991-1994, Florida State University            --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNARL is free software; you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNARL; see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,205 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  The following notes are provided in case someone decides the
! --  implementation of this package is too complicated, or too slow.
! --  Please read this before making any "simplifications".
  
! --  Correct implementation of this package is more difficult than one
! --  might expect. After considering (and coding) several alternatives,
! --  we settled on the present compromise. Things we do not like about
! --  this implementation include:
  
! --  -  It is vulnerable to bad Task_Id values, to the extent of
! --     possibly trashing memory and crashing the runtime system.
  
! --  -  It requires dynamic storage allocation for each new attribute value,
! --     except for types that happen to be the same size as System.Address,
! --     or shorter.
  
  --  -  Instantiations at other than the library level rely on being able to
  --     do down-level calls to a procedure declared in the generic package body.
  --     This makes it potentially vulnerable to compiler changes.
  
! --  The main implementation issue here is that the connection from
! --  task to attribute is a potential source of dangling references.
  
  --  When a task goes away, we want to be able to recover all the storage
! --  associated with its attributes. The Ada mechanism for this is
! --  finalization, via controlled attribute types. For this reason,
! --  the ARM requires finalization of attribute values when the
! --  associated task terminates.
  
! --  This finalization must be triggered by the tasking runtime system,
! --  during termination of the task. Given the active set of instantiations
! --  of Ada.Task_Attributes is dynamic, the number and types of attributes
  --  belonging to a task will not be known until the task actually terminates.
  --  Some of these types may be controlled and some may not. The RTS must find
  --  some way to determine which of these attributes need finalization, and
  --  invoke the appropriate finalization on them.
  
! --  One way this might be done is to create a special finalization chain
! --  for each task, similar to the finalization chain that is used for
! --  controlled objects within the task. This would differ from the usual
! --  finalization chain in that it would not have a LIFO structure, since
! --  attributes may be added to a task at any time during its lifetime.
! --  This might be the right way to go for the longer term, but at present
! --  this approach is not open, since GNAT does not provide such special
! --  finalization support.
  
! --  Lacking special compiler support, the RTS is limited to the
! --  normal ways an application invokes finalization, i.e.
  
! --  a) Explicit call to the procedure Finalize, if we know the type
! --     has this operation defined on it. This is not sufficient, since
! --     we have no way of determining whether a given generic formal
! --     Attribute type is controlled, and no visibility of the associated
! --     Finalize procedure, in the generic body.
  
! --  b) Leaving the scope of a local object of a controlled type.
! --     This does not help, since the lifetime of an instantiation of
! --     Ada.Task_Attributes does not correspond to the lifetimes of the
! --     various tasks which may have that attribute.
  
! --  c) Assignment of another value to the object. This would not help,
! --     since we then have to finalize the new value of the object.
  
! --  d) Unchecked deallocation of an object of a controlled type.
! --     This seems to be the only mechanism available to the runtime
! --     system for finalization of task attributes.
  
! --  We considered two ways of using unchecked deallocation, both based
! --  on a linked list of that would hang from the task control block.
  
  --  In the first approach the objects on the attribute list are all derived
  --  from one controlled type, say T, and are linked using an access type to
! --  T'Class. The runtime system has an Unchecked_Deallocation for T'Class
! --  with access type T'Class, and uses this to deallocate and finalize all
! --  the items in the list. The limitation of this approach is that each
  --  instantiation of the package Ada.Task_Attributes derives a new record
! --  extension of T, and since T is controlled (RM 3.9.1 (3)), instantiation
! --  is only allowed at the library level.
  
! --  In the second approach the objects on the attribute list are of
! --  unrelated but structurally similar types. Unchecked conversion is
! --  used to circument Ada type checking. Each attribute-storage node
! --  contains not only the attribute value and a link for chaining, but
! --  also a pointer to a descriptor for the corresponding instantiation
! --  of Task_Attributes. The instantiation-descriptor contains a
! --  pointer to a procedure that can do the correct deallocation and
! --  finalization for that type of attribute. On task termination, the
! --  runtime system uses the pointer to call the appropriate deallocator.
  
! --  While this gets around the limitation that instantations be at
! --  the library level, it relies on an implementation feature that
! --  may not always be safe, i.e. that it is safe to call the
! --  Deallocate procedure for an instantiation of Ada.Task_Attributes
! --  that no longer exists. In general, it seems this might result in
! --  dangling references.
  
! --  Another problem with instantiations deeper than the library level
! --  is that there is risk of storage leakage, or dangling references
! --  to reused storage. That is, if an instantiation of Ada.Task_Attributes
! --  is made within a procedure, what happens to the storage allocated for
! --  attributes, when the procedure call returns?  Apparently (RM 7.6.1 (4))
! --  any such objects must be finalized, since they will no longer be
! --  accessible, and in general one would expect that the storage they occupy
! --  would be recovered for later reuse. (If not, we would have a case of
! --  storage leakage.)  Assuming the storage is recovered and later reused,
! --  we have potentially dangerous dangling references. When the procedure
! --  containing the instantiation of Ada.Task_Attributes returns, there
! --  may still be unterminated tasks with associated attribute values for
! --  that instantiation. When such tasks eventually terminate, the RTS
! --  will attempt to call the Deallocate procedure on them. If the
! --  corresponding storage has already been deallocated, when the master
! --  of the access type was left, we have a potential disaster. This
! --  disaster is compounded since the pointer to Deallocate is probably
! --  through a "trampoline" which will also have been destroyed.
  
! --  For this reason, we arrange to remove all dangling references
! --  before leaving the scope of an instantiation. This is ugly, since
! --  it requires traversing the list of all tasks, but it is no more ugly
! --  than a similar traversal that we must do at the point of instantiation
! --  in order to initialize the attributes of all tasks. At least we only
! --  need to do these traversals if the type is controlled.
  
! --  We chose to defer allocation of storage for attributes until the
! --  Reference function is called or the attribute is first set to a value
! --  different from the default initial one. This allows a potential
! --  savings in allocation, for attributes that are not used by all tasks.
  
  --  For efficiency, we reserve space in the TCB for a fixed number of
! --  direct-access attributes. These are required to be of a size that
! --  fits in the space of an object of type System.Address. Because
! --  we must use unchecked bitwise copy operations on these values, they
! --  cannot be of a controlled type, but that is covered automatically
! --  since controlled objects are too large to fit in the spaces.
  
  --  We originally deferred the initialization of these direct-access
! --  attributes, just as we do for the indirect-access attributes, and
! --  used a per-task bit vector to keep track of which attributes were
! --  currently defined for that task. We found that the overhead of
! --  maintaining this bit-vector seriously slowed down access to the
! --  attributes, and made the fetch operation non-atomic, so that even
! --  to read an attribute value required locking the TCB. Therefore,
! --  we now initialize such attributes for all existing tasks at the time
! --  of the attribute instantiation, and initialize existing attributes
! --  for each new task at the time it is created.
  
  --  The latter initialization requires a list of all the instantiation
! --  descriptors. Updates to this list, as well as the bit-vector that
! --  is used to reserve slots for attributes in the TCB, require mutual
! --  exclusion. That is provided by the Lock/Unlock_RTS.
  
! --  One special problem that added complexity to the design is that
! --  the per-task list of indirect attributes contains objects of
! --  different types. We use unchecked pointer conversion to link
! --  these nodes together and access them, but the records may not have
! --  identical internal structure. Initially, we thought it would be
! --  enough to allocate all the common components of the records at the
! --  front of each record, so that their positions would correspond.
! --  Unfortunately, GNAT adds "dope" information at the front of a record,
! --  if the record contains any controlled-type components.
  --
! --  This means that the offset of the fields we use to link the nodes is
! --  at different positions on nodes of different types. To get around this,
! --  each attribute storage record consists of a core node and wrapper.
! --  The core nodes are all of the same type, and it is these that are
! --  linked together and generally "seen" by the RTS. Each core node
! --  contains a pointer to its own wrapper, which is a record that contains
! --  the core node along with an attribute value, approximately
! --  as follows:
  
  --    type Node;
  --    type Node_Access is access all Node;
--- 32,201 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  The following notes are provided in case someone decides the implementation
! --  of this package is too complicated, or too slow. Please read this before
! --  making any "simplifications".
  
! --  Correct implementation of this package is more difficult than one might
! --  expect. After considering (and coding) several alternatives, we settled on
! --  the present compromise. Things we do not like about this implementation
! --  include:
  
! --  - It is vulnerable to bad Task_Id values, to the extent of possibly
! --     trashing memory and crashing the runtime system.
  
! --  - It requires dynamic storage allocation for each new attribute value,
! --     except for types that happen to be the same size as System.Address, or
! --     shorter.
  
  --  -  Instantiations at other than the library level rely on being able to
  --     do down-level calls to a procedure declared in the generic package body.
  --     This makes it potentially vulnerable to compiler changes.
  
! --  The main implementation issue here is that the connection from task to
! --  attribute is a potential source of dangling references.
  
  --  When a task goes away, we want to be able to recover all the storage
! --  associated with its attributes. The Ada mechanism for this is finalization,
! --  via controlled attribute types. For this reason, the ARM requires
! --  finalization of attribute values when the associated task terminates.
  
! --  This finalization must be triggered by the tasking runtime system, during
! --  termination of the task. Given the active set of instantiations of
! --  Ada.Task_Attributes is dynamic, the number and types of attributes
  --  belonging to a task will not be known until the task actually terminates.
  --  Some of these types may be controlled and some may not. The RTS must find
  --  some way to determine which of these attributes need finalization, and
  --  invoke the appropriate finalization on them.
  
! --  One way this might be done is to create a special finalization chain for
! --  each task, similar to the finalization chain that is used for controlled
! --  objects within the task. This would differ from the usual finalization
! --  chain in that it would not have a LIFO structure, since attributes may be
! --  added to a task at any time during its lifetime. This might be the right
! --  way to go for the longer term, but at present this approach is not open,
! --  since GNAT does not provide such special finalization support.
  
! --  Lacking special compiler support, the RTS is limited to the normal ways an
! --  application invokes finalization, i.e.
  
! --  a) Explicit call to the procedure Finalize, if we know the type has this
! --     operation defined on it. This is not sufficient, since we have no way
! --     of determining whether a given generic formal Attribute type is
! --     controlled, and no visibility of the associated Finalize procedure, in
! --     the generic body.
  
! --  b) Leaving the scope of a local object of a controlled type. This does not
! --     help, since the lifetime of an instantiation of Ada.Task_Attributes
! --     does not correspond to the lifetimes of the various tasks which may
! --     have that attribute.
  
! --  c) Assignment of another value to the object. This would not help, since
! --     we then have to finalize the new value of the object.
  
! --  d) Unchecked deallocation of an object of a controlled type. This seems to
! --     be the only mechanism available to the runtime system for finalization
! --     of task attributes.
  
! --  We considered two ways of using unchecked deallocation, both based on a
! --  linked list of that would hang from the task control block.
  
  --  In the first approach the objects on the attribute list are all derived
  --  from one controlled type, say T, and are linked using an access type to
! --  T'Class. The runtime system has an Unchecked_Deallocation for T'Class with
! --  access type T'Class, and uses this to deallocate and finalize all the
! --  items in the list. The limitation of this approach is that each
  --  instantiation of the package Ada.Task_Attributes derives a new record
! --  extension of T, and since T is controlled (RM 3.9.1 (3)), instantiation is
! --  only allowed at the library level.
  
! --  In the second approach the objects on the attribute list are of unrelated
! --  but structurally similar types. Unchecked conversion is used to circument
! --  Ada type checking. Each attribute-storage node contains not only the
! --  attribute value and a link for chaining, but also a pointer to descriptor
! --  for the corresponding instantiation of Task_Attributes. The instantiation
! --  descriptor contains pointer to a procedure that can do the correct
! --  deallocation and finalization for that type of attribute. On task
! --  termination, the runtime system uses the pointer to call the appropriate
! --  deallocator.
  
! --  While this gets around the limitation that instantations be at the library
! --  level, it relies on an implementation feature that may not always be safe,
! --  i.e. that it is safe to call the Deallocate procedure for an instantiation
! --  of Ada.Task_Attributes that no longer exists. In general, it seems this
! --  might result in dangling references.
  
! --  Another problem with instantiations deeper than the library level is that
! --  there is risk of storage leakage, or dangling references to reused
! --  storage. That is, if an instantiation of Ada.Task_Attributes is made
! --  within a procedure, what happens to the storage allocated for attributes,
! --  when the procedure call returns? Apparently (RM 7.6.1 (4)) any such
! --  objects must be finalized, since they will no longer be accessible, and in
! --  general one would expect that the storage they occupy would be recovered
! --  for later reuse. (If not, we would have a case of storage leakage.)
! --  Assuming the storage is recovered and later reused, we have potentially
! --  dangerous dangling references. When the procedure containing the
! --  instantiation of Ada.Task_Attributes returns, there may still be
! --  unterminated tasks with associated attribute values for that instantiation.
! --  When such tasks eventually terminate, the RTS will attempt to call the
! --  Deallocate procedure on them. If the corresponding storage has already
! --  been deallocated, when the master of the access type was left, we have a
! --  potential disaster. This disaster is compounded since the pointer to
! --  Deallocate is probably through a "trampoline" which will also have been
! --  destroyed.
  
! --  For this reason, we arrange to remove all dangling references before
! --  leaving the scope of an instantiation. This is ugly, since it requires
! --  traversing the list of all tasks, but it is no more ugly than a similar
! --  traversal that we must do at the point of instantiation in order to
! --  initialize the attributes of all tasks. At least we only need to do these
! --  traversals if the type is controlled.
  
! --  We chose to defer allocation of storage for attributes until the Reference
! --  function is called or the attribute is first set to a value different from
! --  the default initial one. This allows a potential savings in allocation,
! --  for attributes that are not used by all tasks.
  
  --  For efficiency, we reserve space in the TCB for a fixed number of
! --  direct-access attributes. These are required to be of a size that fits in
! --  the space of an object of type System.Address. Because we must use
! --  unchecked bitwise copy operations on these values, they cannot be of a
! --  controlled type, but that is covered automatically since controlled
! --  objects are too large to fit in the spaces.
  
  --  We originally deferred the initialization of these direct-access
! --  attributes, just as we do for the indirect-access attributes, and used a
! --  per-task bit vector to keep track of which attributes were currently
! --  defined for that task. We found that the overhead of maintaining this
! --  bit-vector seriously slowed down access to the attributes, and made the
! --  fetch operation non-atomic, so that even to read an attribute value
! --  required locking the TCB. Therefore, we now initialize such attributes for
! --  all existing tasks at the time of the attribute instantiation, and
! --  initialize existing attributes for each new task at the time it is
! --  created.
  
  --  The latter initialization requires a list of all the instantiation
! --  descriptors. Updates to this list, as well as the bit-vector that is used
! --  to reserve slots for attributes in the TCB, require mutual exclusion. That
! --  is provided by the Lock/Unlock_RTS.
  
! --  One special problem that added complexity to the design is that the
! --  per-task list of indirect attributes contains objects of different types.
! --  We use unchecked pointer conversion to link these nodes together and
! --  access them, but the records may not have identical internal structure.
! --  Initially, we thought it would be enough to allocate all the common
! --  components of the records at the front of each record, so that their
! --  positions would correspond. Unfortunately, GNAT adds "dope" information at
! --  the front of a record, if the record contains any controlled-type
! --  components.
  --
! --  This means that the offset of the fields we use to link the nodes is at
! --  different positions on nodes of different types. To get around this, each
! --  attribute storage record consists of a core node and wrapper. The core
! --  nodes are all of the same type, and it is these that are linked together
! --  and generally "seen" by the RTS. Each core node contains a pointer to its
! --  own wrapper, which is a record that contains the core node along with an
! --  attribute value, approximately as follows:
  
  --    type Node;
  --    type Node_Access is access all Node;
***************
*** 211,261 ****
  --       Wrapper : Access_Wrapper;
  --    end record;
  --    type Wrapper is record
! --       Noed    : aliased Node;
! --       Value   : aliased Attribute;  --  the generic formal type
  --    end record;
  
! --  Another interesting problem is with the initialization of
! --  the instantiation descriptors. Originally, we did this all via
! --  the Initialize procedure of the descriptor type and code in the
! --  package body. It turned out that the Initialize procedure needed
! --  quite a bit of information, including the size of the attribute
! --  type, the initial value of the attribute (if it fits in the TCB),
! --  and a pointer to the deallocator procedure. These needed to be
! --  "passed" in via access discriminants. GNAT was having trouble
! --  with access discriminants, so all this work was moved to the
! --  package body.
  
  with Ada.Task_Identification;
! --  used for Task_Id
  --           Null_Task_Id
  --           Current_Task
  
  with System.Error_Reporting;
! --  used for Shutdown;
  
  with System.Storage_Elements;
! --  used for Integer_Address
  
  with System.Task_Primitives.Operations;
! --  used for Write_Lock
  --           Unlock
  --           Lock/Unlock_RTS
  
  with System.Tasking;
! --  used for Access_Address
  --           Task_Id
  --           Direct_Index_Vector
  --           Direct_Index
  
  with System.Tasking.Initialization;
! --  used for Defer_Abortion
  --           Undefer_Abortion
  --           Initialize_Attributes_Link
  --           Finalize_Attributes_Link
  
  with System.Tasking.Task_Attributes;
! --  used for Access_Node
  --           Access_Dummy_Wrapper
  --           Deallocator
  --           Instance
--- 207,256 ----
  --       Wrapper : Access_Wrapper;
  --    end record;
  --    type Wrapper is record
! --       Dummy_Node : aliased Node;
! --       Value      : aliased Attribute;  --  the generic formal type
  --    end record;
  
! --  Another interesting problem is with the initialization of the
! --  instantiation descriptors. Originally, we did this all via the Initialize
! --  procedure of the descriptor type and code in the package body. It turned
! --  out that the Initialize procedure needed quite a bit of information,
! --  including the size of the attribute type, the initial value of the
! --  attribute (if it fits in the TCB), and a pointer to the deallocator
! --  procedure. These needed to be "passed" in via access discriminants. GNAT
! --  was having trouble with access discriminants, so all this work was moved
! --  to the package body.
  
  with Ada.Task_Identification;
! --  Used for Task_Id
  --           Null_Task_Id
  --           Current_Task
  
  with System.Error_Reporting;
! --  Used for Shutdown;
  
  with System.Storage_Elements;
! --  Used for Integer_Address
  
  with System.Task_Primitives.Operations;
! --  Used for Write_Lock
  --           Unlock
  --           Lock/Unlock_RTS
  
  with System.Tasking;
! --  Used for Access_Address
  --           Task_Id
  --           Direct_Index_Vector
  --           Direct_Index
  
  with System.Tasking.Initialization;
! --  Used for Defer_Abortion
  --           Undefer_Abortion
  --           Initialize_Attributes_Link
  --           Finalize_Attributes_Link
  
  with System.Tasking.Task_Attributes;
! --  Used for Access_Node
  --           Access_Dummy_Wrapper
  --           Deallocator
  --           Instance
*************** with System.Tasking.Task_Attributes;
*** 263,275 ****
  --           Access_Instance
  
  with Ada.Exceptions;
! --  used for Raise_Exception
  
  with Unchecked_Conversion;
  with Unchecked_Deallocation;
  
  pragma Elaborate_All (System.Tasking.Task_Attributes);
! --  to ensure the initialization of object Local (below) will work
  
  package body Ada.Task_Attributes is
  
--- 258,270 ----
  --           Access_Instance
  
  with Ada.Exceptions;
! --  Used for Raise_Exception
  
  with Unchecked_Conversion;
  with Unchecked_Deallocation;
  
  pragma Elaborate_All (System.Tasking.Task_Attributes);
! --  To ensure the initialization of object Local (below) will work
  
  package body Ada.Task_Attributes is
  
*************** package body Ada.Task_Attributes is
*** 295,305 ****
  
     pragma Warnings (Off);
     --  We turn warnings off for the following declarations of the
!    --  To_Attribute_Handle conversions, since these are used only
!    --  for small attributes where we know that there are no problems
!    --  with alignment, but the compiler will generate warnings for
!    --  the occurrences in the large attribute case, even though
!    --  they will not actually be used.
  
     function To_Attribute_Handle is new Unchecked_Conversion
       (System.Address, Attribute_Handle);
--- 290,299 ----
  
     pragma Warnings (Off);
     --  We turn warnings off for the following declarations of the
!    --  To_Attribute_Handle conversions, since these are used only for small
!    --  attributes where we know that there are no problems with alignment, but
!    --  the compiler will generate warnings for the occurrences in the large
!    --  attribute case, even though they will not actually be used.
  
     function To_Attribute_Handle is new Unchecked_Conversion
       (System.Address, Attribute_Handle);
*************** package body Ada.Task_Attributes is
*** 327,336 ****
       (Access_Dummy_Wrapper, Access_Wrapper);
     pragma Warnings (On);
     --  To fetch pointer to actual wrapper of attribute node. We turn off
!    --  warnings since this may generate an alignment warning. The warning
!    --  can be ignored since Dummy_Wrapper is only a non-generic standin
!    --  for the real wrapper type (we never actually allocate objects of
!    --  type Dummy_Wrapper).
  
     function To_Access_Dummy_Wrapper is new Unchecked_Conversion
       (Access_Wrapper, Access_Dummy_Wrapper);
--- 321,330 ----
       (Access_Dummy_Wrapper, Access_Wrapper);
     pragma Warnings (On);
     --  To fetch pointer to actual wrapper of attribute node. We turn off
!    --  warnings since this may generate an alignment warning. The warning can
!    --  be ignored since Dummy_Wrapper is only a non-generic standin for the
!    --  real wrapper type (we never actually allocate objects of type
!    --  Dummy_Wrapper).
  
     function To_Access_Dummy_Wrapper is new Unchecked_Conversion
       (Access_Wrapper, Access_Dummy_Wrapper);
*************** package body Ada.Task_Attributes is
*** 364,370 ****
     --  Initialized in package body
  
     type Wrapper is record
!       Noed : aliased Node;
  
        Value : aliased Attribute := Initial_Value;
        --  The generic formal type, may be controlled
--- 358,364 ----
     --  Initialized in package body
  
     type Wrapper is record
!       Dummy_Node : aliased Node;
  
        Value : aliased Attribute := Initial_Value;
        --  The generic formal type, may be controlled
*************** package body Ada.Task_Attributes is
*** 381,387 ****
  
     procedure Deallocate (P : in out Access_Node) is
        T : Access_Wrapper := To_Access_Wrapper (P.Wrapper);
- 
     begin
        Free (T);
     end Deallocate;
--- 375,380 ----
*************** package body Ada.Task_Attributes is
*** 424,440 ****
  
        else
           declare
!             P : Access_Node := To_Access_Node (TT.Indirect_Attributes);
!             W : Access_Wrapper;
  
           begin
!             Defer_Abortion;
              POP.Lock_RTS;
  
              while P /= null loop
                 if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                    POP.Unlock_RTS;
!                   Undefer_Abortion;
                    return To_Access_Wrapper (P.Wrapper).Value'Access;
                 end if;
  
--- 417,434 ----
  
        else
           declare
!             P       : Access_Node := To_Access_Node (TT.Indirect_Attributes);
!             W       : Access_Wrapper;
!             Self_Id : constant Task_Id := POP.Self;
  
           begin
!             Defer_Abort (Self_Id);
              POP.Lock_RTS;
  
              while P /= null loop
                 if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                    POP.Unlock_RTS;
!                   Undefer_Abort (Self_Id);
                    return To_Access_Wrapper (P.Wrapper).Value'Access;
                 end if;
  
*************** package body Ada.Task_Attributes is
*** 450,467 ****
                    ((null, Local'Unchecked_Access, null), Initial_Value);
              POP.Lock_RTS;
  
!             P := W.Noed'Unchecked_Access;
              P.Wrapper := To_Access_Dummy_Wrapper (W);
              P.Next := To_Access_Node (TT.Indirect_Attributes);
              TT.Indirect_Attributes := To_Access_Address (P);
              POP.Unlock_RTS;
!             Undefer_Abortion;
              return W.Value'Access;
  
           exception
              when others =>
                 POP.Unlock_RTS;
!                Undefer_Abortion;
                 raise;
           end;
        end if;
--- 444,461 ----
                    ((null, Local'Unchecked_Access, null), Initial_Value);
              POP.Lock_RTS;
  
!             P := W.Dummy_Node'Unchecked_Access;
              P.Wrapper := To_Access_Dummy_Wrapper (W);
              P.Next := To_Access_Node (TT.Indirect_Attributes);
              TT.Indirect_Attributes := To_Access_Address (P);
              POP.Unlock_RTS;
!             Undefer_Abort (Self_Id);
              return W.Value'Access;
  
           exception
              when others =>
                 POP.Unlock_RTS;
!                Undefer_Abort (Self_Id);
                 raise;
           end;
        end if;
*************** package body Ada.Task_Attributes is
*** 501,510 ****
           Set_Value (Initial_Value, T);
        else
           declare
!             P, Q : Access_Node;
!             W    : Access_Wrapper;
           begin
!             Defer_Abortion;
              POP.Lock_RTS;
              Q := To_Access_Node (TT.Indirect_Attributes);
  
--- 495,506 ----
           Set_Value (Initial_Value, T);
        else
           declare
!             P, Q    : Access_Node;
!             W       : Access_Wrapper;
!             Self_Id : constant Task_Id := POP.Self;
! 
           begin
!             Defer_Abort (Self_Id);
              POP.Lock_RTS;
              Q := To_Access_Node (TT.Indirect_Attributes);
  
*************** package body Ada.Task_Attributes is
*** 519,525 ****
                    W := To_Access_Wrapper (Q.Wrapper);
                    Free (W);
                    POP.Unlock_RTS;
!                   Undefer_Abortion;
                    return;
                 end if;
  
--- 515,521 ----
                    W := To_Access_Wrapper (Q.Wrapper);
                    Free (W);
                    POP.Unlock_RTS;
!                   Undefer_Abort (Self_Id);
                    return;
                 end if;
  
*************** package body Ada.Task_Attributes is
*** 528,539 ****
              end loop;
  
              POP.Unlock_RTS;
!             Undefer_Abortion;
  
           exception
              when others =>
                 POP.Unlock_RTS;
!                Undefer_Abortion;
                 raise;
           end;
        end if;
--- 524,535 ----
              end loop;
  
              POP.Unlock_RTS;
!             Undefer_Abort (Self_Id);
  
           exception
              when others =>
                 POP.Unlock_RTS;
!                Undefer_Abort (Self_Id);
                 raise;
           end;
        end if;
*************** package body Ada.Task_Attributes is
*** 586,596 ****
        --  Not directly addressed
  
        declare
!          P : Access_Node := To_Access_Node (TT.Indirect_Attributes);
!          W : Access_Wrapper;
  
        begin
!          Defer_Abortion;
           POP.Lock_RTS;
  
           while P /= null loop
--- 582,593 ----
        --  Not directly addressed
  
        declare
!          P       : Access_Node := To_Access_Node (TT.Indirect_Attributes);
!          W       : Access_Wrapper;
!          Self_Id : constant Task_Id := POP.Self;
  
        begin
!          Defer_Abort (Self_Id);
           POP.Lock_RTS;
  
           while P /= null loop
*************** package body Ada.Task_Attributes is
*** 598,629 ****
              if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                 To_Access_Wrapper (P.Wrapper).Value := Val;
                 POP.Unlock_RTS;
!                Undefer_Abortion;
                 return;
              end if;
  
              P := P.Next;
           end loop;
  
!          --  Unlock RTS here to follow the lock ordering rule that
!          --  prevent us from using new (i.e the Global_Lock) while
!          --  holding any other lock.
  
           POP.Unlock_RTS;
           W := new Wrapper'((null, Local'Unchecked_Access, null), Val);
           POP.Lock_RTS;
!          P := W.Noed'Unchecked_Access;
           P.Wrapper := To_Access_Dummy_Wrapper (W);
           P.Next := To_Access_Node (TT.Indirect_Attributes);
           TT.Indirect_Attributes := To_Access_Address (P);
  
           POP.Unlock_RTS;
!          Undefer_Abortion;
  
        exception
           when others =>
              POP.Unlock_RTS;
!             Undefer_Abortion;
              raise;
        end;
  
--- 595,626 ----
              if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                 To_Access_Wrapper (P.Wrapper).Value := Val;
                 POP.Unlock_RTS;
!                Undefer_Abort (Self_Id);
                 return;
              end if;
  
              P := P.Next;
           end loop;
  
!          --  Unlock RTS here to follow the lock ordering rule that prevent us
!          --  from using new (i.e the Global_Lock) while holding any other
!          --  lock.
  
           POP.Unlock_RTS;
           W := new Wrapper'((null, Local'Unchecked_Access, null), Val);
           POP.Lock_RTS;
!          P := W.Dummy_Node'Unchecked_Access;
           P.Wrapper := To_Access_Dummy_Wrapper (W);
           P.Next := To_Access_Node (TT.Indirect_Attributes);
           TT.Indirect_Attributes := To_Access_Address (P);
  
           POP.Unlock_RTS;
!          Undefer_Abort (Self_Id);
  
        exception
           when others =>
              POP.Unlock_RTS;
!             Undefer_Abort (Self_Id);
              raise;
        end;
  
*************** package body Ada.Task_Attributes is
*** 661,669 ****
        if Local.Index /= 0 then
  
           --  Get value of attribute. Warnings off, because for large
!          --  attributes, this code can generate alignment warnings.
!          --  But of course large attributes are never directly addressed
!          --  so in fact we will never execute the code in this case.
  
           pragma Warnings (Off);
           return To_Attribute_Handle
--- 658,666 ----
        if Local.Index /= 0 then
  
           --  Get value of attribute. Warnings off, because for large
!          --  attributes, this code can generate alignment warnings. But of
!          --  course large attributes are never directly addressed so in fact
!          --  we will never execute the code in this case.
  
           pragma Warnings (Off);
           return To_Attribute_Handle
*************** package body Ada.Task_Attributes is
*** 674,684 ****
        --  Not directly addressed
  
        declare
!          P      : Access_Node;
!          Result : Attribute;
  
        begin
!          Defer_Abortion;
           POP.Lock_RTS;
           P := To_Access_Node (TT.Indirect_Attributes);
  
--- 671,682 ----
        --  Not directly addressed
  
        declare
!          P       : Access_Node;
!          Result  : Attribute;
!          Self_Id : constant Task_Id := POP.Self;
  
        begin
!          Defer_Abort (Self_Id);
           POP.Lock_RTS;
           P := To_Access_Node (TT.Indirect_Attributes);
  
*************** package body Ada.Task_Attributes is
*** 686,692 ****
              if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                 Result := To_Access_Wrapper (P.Wrapper).Value;
                 POP.Unlock_RTS;
!                Undefer_Abortion;
                 return Result;
              end if;
  
--- 684,690 ----
              if P.Instance = Access_Instance'(Local'Unchecked_Access) then
                 Result := To_Access_Wrapper (P.Wrapper).Value;
                 POP.Unlock_RTS;
!                Undefer_Abort (Self_Id);
                 return Result;
              end if;
  
*************** package body Ada.Task_Attributes is
*** 694,706 ****
           end loop;
  
           POP.Unlock_RTS;
!          Undefer_Abortion;
           return Initial_Value;
  
        exception
           when others =>
              POP.Unlock_RTS;
!             Undefer_Abortion;
              raise;
        end;
  
--- 692,704 ----
           end loop;
  
           POP.Unlock_RTS;
!          Undefer_Abort (Self_Id);
           return Initial_Value;
  
        exception
           when others =>
              POP.Unlock_RTS;
!             Undefer_Abort (Self_Id);
              raise;
        end;
  
*************** begin
*** 725,732 ****
  
     declare
        Two_To_J : Direct_Index_Vector;
     begin
!       Defer_Abortion;
  
        --  Need protection for updating links to per-task initialization and
        --  finalization routines, in case some task is being created or
--- 723,731 ----
  
     declare
        Two_To_J : Direct_Index_Vector;
+       Self_Id  : constant Task_Id := POP.Self;
     begin
!       Defer_Abort (Self_Id);
  
        --  Need protection for updating links to per-task initialization and
        --  finalization routines, in case some task is being created or
*************** begin
*** 734,746 ****
  
        POP.Lock_RTS;
  
!       --  Add this instantiation to the list of all instantiations.
  
        Local.Next := System.Tasking.Task_Attributes.All_Attributes;
        System.Tasking.Task_Attributes.All_Attributes :=
          Local'Unchecked_Access;
  
!       --  Try to find space for the attribute in the TCB.
  
        Local.Index := 0;
        Two_To_J := 1;
--- 733,745 ----
  
        POP.Lock_RTS;
  
!       --  Add this instantiation to the list of all instantiations
  
        Local.Next := System.Tasking.Task_Attributes.All_Attributes;
        System.Tasking.Task_Attributes.All_Attributes :=
          Local'Unchecked_Access;
  
!       --  Try to find space for the attribute in the TCB
  
        Local.Index := 0;
        Two_To_J := 1;
*************** begin
*** 754,762 ****
                 In_Use := In_Use or Two_To_J;
                 Local.Index := J;
  
!                --  This unchecked conversions can give a warning when the
!                --  the alignment is incorrect, but it will not be used in
!                --  such a case anyway, so the warning can be safely ignored.
  
                 pragma Warnings (Off);
                 To_Attribute_Handle (Local.Initial_Value'Access).all :=
--- 753,761 ----
                 In_Use := In_Use or Two_To_J;
                 Local.Index := J;
  
!                --  This unchecked conversions can give a warning when the the
!                --  alignment is incorrect, but it will not be used in such a
!                --  case anyway, so the warning can be safely ignored.
  
                 pragma Warnings (Off);
                 To_Attribute_Handle (Local.Initial_Value'Access).all :=
*************** begin
*** 773,785 ****
        --  Attribute goes directly in the TCB
  
        if Local.Index /= 0 then
!          --  Replace stub for initialization routine
!          --  that is called at task creation.
  
           Initialization.Initialize_Attributes_Link :=
             System.Tasking.Task_Attributes.Initialize_Attributes'Access;
  
!          --  Initialize the attribute, for all tasks.
  
           declare
              C : System.Tasking.Task_Id := System.Tasking.All_Tasks_List;
--- 772,784 ----
        --  Attribute goes directly in the TCB
  
        if Local.Index /= 0 then
!          --  Replace stub for initialization routine that is called at task
!          --  creation.
  
           Initialization.Initialize_Attributes_Link :=
             System.Tasking.Task_Attributes.Initialize_Attributes'Access;
  
!          --  Initialize the attribute, for all tasks
  
           declare
              C : System.Tasking.Task_Id := System.Tasking.All_Tasks_List;
*************** begin
*** 795,808 ****
        --  Attribute goes into a node onto a linked list
  
        else
!          --  Replace stub for finalization routine
!          --  that is called at task termination.
  
           Initialization.Finalize_Attributes_Link :=
             System.Tasking.Task_Attributes.Finalize_Attributes'Access;
        end if;
  
        POP.Unlock_RTS;
!       Undefer_Abortion;
     end;
  end Ada.Task_Attributes;
--- 794,807 ----
        --  Attribute goes into a node onto a linked list
  
        else
!          --  Replace stub for finalization routine that is called at task
!          --  termination.
  
           Initialization.Finalize_Attributes_Link :=
             System.Tasking.Task_Attributes.Finalize_Attributes'Access;
        end if;
  
        POP.Unlock_RTS;
!       Undefer_Abort (Self_Id);
     end;
  end Ada.Task_Attributes;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tasatt.ads gcc-4.1.0/gcc/ada/a-tasatt.ads
*** gcc-4.0.2/gcc/ada/a-tasatt.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-tasatt.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-taside.adb gcc-4.1.0/gcc/ada/a-taside.adb
*** gcc-4.0.2/gcc/ada/a-taside.adb	Mon May 17 13:20:42 2004
--- gcc-4.1.0/gcc/ada/a-taside.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1992-2004 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,56 ****
  ------------------------------------------------------------------------------
  
  with System.Address_Image;
! --  used for the function itself
! 
  with System.Tasking;
- --  used for Task_List
  
! with System.Tasking.Stages;
! --  used for Terminated
! --           Abort_Tasks
  
! with System.Tasking.Rendezvous;
! --  used for Callable
  
! with System.Task_Primitives.Operations;
! --  used for Self
  
! with Unchecked_Conversion;
  
  package body Ada.Task_Identification is
  
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 32,59 ----
  ------------------------------------------------------------------------------
  
  with System.Address_Image;
! with System.Parameters;
! with System.Soft_Links;
! with System.Task_Primitives.Operations;
  with System.Tasking;
  
! with Unchecked_Conversion;
  
! pragma Warnings (Off);
! --  Allow withing of non-Preelaborated units in Ada 2005 mode where this
! --  package will be categorized as Preelaborate. See AI-362 for details.
! --  It is safe in the context of the run-time to violate the rules!
  
! with System.Tasking.Stages;
  
! pragma Warnings (On);
  
  package body Ada.Task_Identification is
  
+    use System.Parameters;
+ 
+    package STPO renames System.Task_Primitives.Operations;
+ 
     -----------------------
     -- Local Subprograms --
     -----------------------
*************** package body Ada.Task_Identification is
*** 64,70 ****
     -- "=" --
     ---------
  
!    function  "=" (Left, Right : Task_Id) return Boolean is
     begin
        return System.Tasking."=" (Convert_Ids (Left), Convert_Ids (Right));
     end "=";
--- 67,73 ----
     -- "=" --
     ---------
  
!    function "=" (Left, Right : Task_Id) return Boolean is
     begin
        return System.Tasking."=" (Convert_Ids (Left), Convert_Ids (Right));
     end "=";
*************** package body Ada.Task_Identification is
*** 132,142 ****
     -----------------
  
     function Is_Callable (T : Task_Id) return Boolean is
     begin
        if T = Null_Task_Id then
           raise Program_Error;
        else
!          return System.Tasking.Rendezvous.Callable (Convert_Ids (T));
        end if;
     end Is_Callable;
  
--- 135,162 ----
     -----------------
  
     function Is_Callable (T : Task_Id) return Boolean is
+       Result : Boolean;
+       Id     : constant System.Tasking.Task_Id := Convert_Ids (T);
     begin
        if T = Null_Task_Id then
           raise Program_Error;
        else
!          System.Soft_Links.Abort_Defer.all;
! 
!          if Single_Lock then
!             STPO.Lock_RTS;
!          end if;
! 
!          STPO.Write_Lock (Id);
!          Result := Id.Callable;
!          STPO.Unlock (Id);
! 
!          if Single_Lock then
!             STPO.Unlock_RTS;
!          end if;
! 
!          System.Soft_Links.Abort_Undefer.all;
!          return Result;
        end if;
     end Is_Callable;
  
*************** package body Ada.Task_Identification is
*** 145,155 ****
     -------------------
  
     function Is_Terminated (T : Task_Id) return Boolean is
     begin
        if T = Null_Task_Id then
           raise Program_Error;
        else
!          return System.Tasking.Stages.Terminated (Convert_Ids (T));
        end if;
     end Is_Terminated;
  
--- 165,195 ----
     -------------------
  
     function Is_Terminated (T : Task_Id) return Boolean is
+       Result : Boolean;
+       Id     : constant System.Tasking.Task_Id := Convert_Ids (T);
+ 
+       use System.Tasking;
+ 
     begin
        if T = Null_Task_Id then
           raise Program_Error;
        else
!          System.Soft_Links.Abort_Defer.all;
! 
!          if Single_Lock then
!             STPO.Lock_RTS;
!          end if;
! 
!          STPO.Write_Lock (Id);
!          Result := Id.Common.State = Terminated;
!          STPO.Unlock (Id);
! 
!          if Single_Lock then
!             STPO.Unlock_RTS;
!          end if;
! 
!          System.Soft_Links.Abort_Undefer.all;
!          return Result;
        end if;
     end Is_Terminated;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-taside.ads gcc-4.1.0/gcc/ada/a-taside.ads
*** gcc-4.0.2/gcc/ada/a-taside.ads	Mon May 17 13:20:42 2004
--- gcc-4.1.0/gcc/ada/a-taside.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;
*** 39,50 ****
  with System.Tasking;
  
  package Ada.Task_Identification is
  
     type Task_Id is private;
  
     Null_Task_Id : constant Task_Id;
  
!    function  "=" (Left, Right : Task_Id) return Boolean;
     pragma Inline ("=");
  
     function Image (T : Task_Id) return String;
--- 39,52 ----
  with System.Tasking;
  
  package Ada.Task_Identification is
+    pragma Preelaborate_05;
+    --  In accordance with Ada 2005 AI-362
  
     type Task_Id is private;
  
     Null_Task_Id : constant Task_Id;
  
!    function "=" (Left, Right : Task_Id) return Boolean;
     pragma Inline ("=");
  
     function Image (T : Task_Id) return String;
*************** package Ada.Task_Identification is
*** 54,60 ****
  
     procedure Abort_Task (T : Task_Id);
     pragma Inline (Abort_Task);
!    --  Note: parameter is mode IN, not IN OUT, per AI-00101.
  
     function Is_Terminated (T : Task_Id) return Boolean;
     pragma Inline (Is_Terminated);
--- 56,62 ----
  
     procedure Abort_Task (T : Task_Id);
     pragma Inline (Abort_Task);
!    --  Note: parameter is mode IN, not IN OUT, per AI-00101
  
     function Is_Terminated (T : Task_Id) return Boolean;
     pragma Inline (Is_Terminated);
*************** private
*** 66,71 ****
  
     type Task_Id is new System.Tasking.Task_Id;
  
!    Null_Task_Id : constant Task_Id := Task_Id (System.Tasking.Null_Task);
  
  end Ada.Task_Identification;
--- 68,73 ----
  
     type Task_Id is new System.Tasking.Task_Id;
  
!    Null_Task_Id : constant Task_Id := null;
  
  end Ada.Task_Identification;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-teioed.adb gcc-4.1.0/gcc/ada/a-teioed.adb
*** gcc-4.0.2/gcc/ada/a-teioed.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-teioed.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                  A D A . T E X T _ I O . E D I T I N G                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                  A D A . T E X T _ I O . E D I T I N G                   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Text_IO.Editing is
*** 90,96 ****
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last + 1 was a ')' throw it away too.
  
                 Picture_Index := Last + 2;
  
--- 90,96 ----
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last + 1 was a ')' throw it away too
  
                 Picture_Index := Last + 2;
  
*************** package body Ada.Text_IO.Editing is
*** 139,148 ****
        In_Currency   : Boolean := False;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary.
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output.
  
     begin
  
--- 139,148 ----
        In_Currency   : Boolean := False;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output
  
     begin
  
*************** package body Ada.Text_IO.Editing is
*** 236,242 ****
        for J in reverse Last .. Answer'Last loop
           exit when J = Pic.Radix_Position;
  
!          --  Do this test First, Separator_Character can equal Pic.Floater.
  
           if Answer (J) = Pic.Floater then
              exit;
--- 236,242 ----
        for J in reverse Last .. Answer'Last loop
           exit when J = Pic.Radix_Position;
  
!          --  Do this test First, Separator_Character can equal Pic.Floater
  
           if Answer (J) = Pic.Floater then
              exit;
*************** package body Ada.Text_IO.Editing is
*** 692,702 ****
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill.
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it.
  
           Last := Answer'Last;
  
--- 692,702 ----
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it
  
           Last := Answer'Last;
  
*************** package body Ada.Text_IO.Editing is
*** 897,903 ****
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no.
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
--- 897,903 ----
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
*************** package body Ada.Text_IO.Editing is
*** 917,923 ****
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (intger) digits needs a null range.
  
        return Answer;
     end Parse_Number_String;
--- 917,923 ----
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (integer) digits needs a null range
  
        return Answer;
     end Parse_Number_String;
*************** package body Ada.Text_IO.Editing is
*** 953,959 ****
        type Legality is  (Okay, Reject);
  
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings.
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
--- 953,959 ----
        type Legality is  (Okay, Reject);
  
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
*************** package body Ada.Text_IO.Editing is
*** 1067,1073 ****
        begin
           Debug_Start ("Floating_Bracket");
  
!          --  Two different floats not allowed.
  
           if Pic.Floater /= '!' and then Pic.Floater /= '<' then
              raise Picture_Error;
--- 1067,1073 ----
        begin
           Debug_Start ("Floating_Bracket");
  
!          --  Two different floats not allowed
  
           if Pic.Floater /= '!' and then Pic.Floater /= '<' then
              raise Picture_Error;
*************** package body Ada.Text_IO.Editing is
*** 1393,1398 ****
--- 1393,1399 ----
                       raise Picture_Error;
                    else
                       --  Overwrite Floater and Start_Float
+ 
                       Pic.Floater := '*';
                       Pic.Start_Float := Index;
                       Star_Suppression;
*************** package body Ada.Text_IO.Editing is
*** 1411,1417 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make.
  
                    Number_Completion;
                    return;
--- 1412,1418 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make
  
                    Number_Completion;
                    return;
*************** package body Ada.Text_IO.Editing is
*** 1423,1430 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1424,1431 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Text_IO.Editing is
*** 1459,1465 ****
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert.
  
        begin
           Debug_Start ("Leading_Pound");
--- 1460,1466 ----
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert
  
        begin
           Debug_Start ("Leading_Pound");
*************** package body Ada.Text_IO.Editing is
*** 1548,1554 ****
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float.
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
--- 1549,1555 ----
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
*************** package body Ada.Text_IO.Editing is
*** 1565,1572 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1566,1573 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Text_IO.Editing is
*** 1631,1637 ****
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen.
  
           end loop;
        end Number;
--- 1632,1638 ----
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen
  
           end loop;
        end Number;
*************** package body Ada.Text_IO.Editing is
*** 2075,2081 ****
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State.
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
--- 2076,2082 ----
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
*************** package body Ada.Text_IO.Editing is
*** 2136,2142 ****
           Debug_Start ("Picture_Bracket");
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
--- 2137,2143 ----
           Debug_Start ("Picture_Bracket");
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
*************** package body Ada.Text_IO.Editing is
*** 2208,2214 ****
  
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
--- 2209,2215 ----
  
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
*************** package body Ada.Text_IO.Editing is
*** 2253,2259 ****
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign.
  
                    if State = Okay then
                       Set_State (Reject);
--- 2254,2260 ----
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign
  
                    if State = Okay then
                       Set_State (Reject);
*************** package body Ada.Text_IO.Editing is
*** 2272,2278 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2273,2279 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Text_IO.Editing is
*** 2293,2299 ****
           Debug_Start ("Picture_Plus");
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
--- 2294,2300 ----
           Debug_Start ("Picture_Plus");
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
*************** package body Ada.Text_IO.Editing is
*** 2320,2326 ****
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough.
                    Floating_Plus;
                    Trailing_Currency;
                    return;
--- 2321,2327 ----
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough
                    Floating_Plus;
                    Trailing_Currency;
                    return;
*************** package body Ada.Text_IO.Editing is
*** 2341,2347 ****
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign.
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
--- 2342,2348 ----
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
*************** package body Ada.Text_IO.Editing is
*** 2366,2372 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2367,2373 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Text_IO.Editing is
*** 2427,2438 ****
           end case;
  
           --  Blank when zero either if the PIC does not contain a '9' or if
!          --  requested by the user and no '*'
  
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'.
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
--- 2428,2439 ----
           end case;
  
           --  Blank when zero either if the PIC does not contain a '9' or if
!          --  requested by the user and no '*'.
  
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
*************** package body Ada.Text_IO.Editing is
*** 2706,2712 ****
  
        when Constraint_Error =>
  
!          --  To deal with special cases like null strings.
  
        raise Picture_Error;
     end Precalculate;
--- 2707,2713 ----
  
        when Constraint_Error =>
  
!       --  To deal with special cases like null strings
  
        raise Picture_Error;
     end Precalculate;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-teioed.ads gcc-4.1.0/gcc/ada/a-teioed.ads
*** gcc-4.0.2/gcc/ada/a-teioed.ads	Thu Apr 24 17:53:54 2003
--- gcc-4.1.0/gcc/ada/a-teioed.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-textio.adb gcc-4.1.0/gcc/ada/a-textio.adb
*** gcc-4.0.2/gcc/ada/a-textio.adb	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-textio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          A D A . T E X T _ I O                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          A D A . T E X T _ I O                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Text_IO is
*** 896,902 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 896,902 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Text_IO is
*** 1334,1382 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
        FIO.Check_File_Open (AP (File));
  
!       if To = File.Col then
!          return;
!       end if;
  
        if Mode (File) >= Out_File then
           if File.Line_Length /= 0 and then To > File.Line_Length then
              raise Layout_Error;
           end if;
  
           if To < File.Col then
              New_Line (File);
           end if;
  
           while File.Col < To loop
              Put (File, ' ');
           end loop;
  
        else
           loop
              ch := Getc (File);
  
              if ch = EOF then
                 raise End_Error;
  
              elsif ch = LM then
                 File.Line := File.Line + 1;
                 File.Col := 1;
  
              elsif ch = PM and then File.Is_Regular_File then
                 File.Page := File.Page + 1;
                 File.Line := 1;
                 File.Col := 1;
  
              elsif To = File.Col then
                 Ungetc (ch, File);
                 return;
  
              else
                 File.Col := File.Col + 1;
              end if;
--- 1334,1421 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
        FIO.Check_File_Open (AP (File));
  
!       --  Output case
  
        if Mode (File) >= Out_File then
+ 
+          --  Error if we attempt to set Col to a value greater than the
+          --  maximum permissible line length.
+ 
           if File.Line_Length /= 0 and then To > File.Line_Length then
              raise Layout_Error;
           end if;
  
+          --  If we are behind current position, then go to start of new line
+ 
           if To < File.Col then
              New_Line (File);
           end if;
  
+          --  Loop to output blanks till we are at the required column
+ 
           while File.Col < To loop
              Put (File, ' ');
           end loop;
  
+       --  Input case
+ 
        else
+          --  If we are logically before a LM, but physically after it, the
+          --  file position still reflects the position before the LM, so eat
+          --  it now and adjust the file position appropriately.
+ 
+          if File.Before_LM then
+             File.Before_LM := False;
+             File.Before_LM_PM := False;
+             File.Line := File.Line + 1;
+             File.Col := 1;
+          end if;
+ 
+          --  Loop reading characters till we get one at the required Col value
+ 
           loop
+             --  Read next character. The reason we have to read ahead is to
+             --  skip formatting characters, the effect of Set_Col is to set
+             --  us to a real character with the right Col value, and format
+             --  characters don't count.
+ 
              ch := Getc (File);
  
+             --  Error if we hit an end of file
+ 
              if ch = EOF then
                 raise End_Error;
  
+             --  If line mark, eat it and adjust file position
+ 
              elsif ch = LM then
                 File.Line := File.Line + 1;
                 File.Col := 1;
  
+             --  If recognized page mark, eat it, and adjust file position
+ 
              elsif ch = PM and then File.Is_Regular_File then
                 File.Page := File.Page + 1;
                 File.Line := 1;
                 File.Col := 1;
  
+             --  Otherwise this is the character we are looking for, so put it
+             --  back in the input stream (we have not adjusted the file
+             --  position yet, so everything is set right after this ungetc).
+ 
              elsif To = File.Col then
                 Ungetc (ch, File);
                 return;
  
+             --  Keep skipping characters if we are not there yet, updating the
+             --  file position past the skipped character.
+ 
              else
                 File.Col := File.Col + 1;
              end if;
*************** package body Ada.Text_IO is
*** 1422,1428 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1461,1467 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Text_IO is
*** 1467,1473 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1506,1512 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Text_IO is
*** 1500,1506 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1539,1545 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Text_IO is
*** 1528,1534 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1567,1573 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-textio.ads gcc-4.1.0/gcc/ada/a-textio.ads
*** gcc-4.0.2/gcc/ada/a-textio.ads	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-textio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;
*** 47,53 ****
  with System.File_Control_Block;
  
  package Ada.Text_IO is
! pragma Elaborate_Body (Text_IO);
  
     type File_Type is limited private;
     type File_Mode is (In_File, Out_File, Append_File);
--- 47,53 ----
  with System.File_Control_Block;
  
  package Ada.Text_IO is
!    pragma Elaborate_Body;
  
     type File_Type is limited private;
     type File_Mode is (In_File, Out_File, Append_File);
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tgdico.ads gcc-4.1.0/gcc/ada/a-tgdico.ads
*** gcc-4.0.2/gcc/ada/a-tgdico.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-tgdico.ads	Thu Jun 16 08:28:59 2005
***************
*** 0 ****
--- 1,31 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --                 ADA.TAGS.GENERIC_DISPATCHING_CONSTRUCTOR                 --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ -- This specification is adapted from the Ada Reference Manual for use with --
+ -- GNAT.  In accordance with the copyright of that document, you can freely --
+ -- copy and modify this specification,  provided that if you redistribute a --
+ -- modified version,  any changes that you have made are clearly indicated. --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ pragma Warnings (Off);
+ --  Turn of categorization warnings
+ 
+ generic
+    type T (<>) is abstract tagged limited private;
+    type Parameters (<>) is limited private;
+    with function Constructor (Params : access Parameters) return T is abstract;
+ 
+ function Ada.Tags.Generic_Dispatching_Constructor
+   (The_Tag : Tag; Params : access Parameters) return T'Class;
+ pragma Preelaborate_05 (Generic_Dispatching_Constructor);
+ pragma Import (Intrinsic, Generic_Dispatching_Constructor);
+ --  Note: the reason that we use Preelaborate_05 here is so that this will
+ --  compile fine during the normal build procedures. In Ada 2005 mode (which
+ --  is required for this package anyway), this will be treated as Preelaborate
+ --  so everything will be fine.
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ticoau.adb gcc-4.1.0/gcc/ada/a-ticoau.adb
*** gcc-4.0.2/gcc/ada/a-ticoau.adb	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-ticoau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . C O M P L E X _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --   Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.  --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . C O M P L E X _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ticoau.ads gcc-4.1.0/gcc/ada/a-ticoau.ads
*** gcc-4.0.2/gcc/ada/a-ticoau.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-ticoau.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . C O M P L E X _ A U X               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --     Copyright (C) 1992,1993,1994,1995 Free Software Foundation, Inc.     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . C O M P L E X _ A U X               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ticoio.adb gcc-4.1.0/gcc/ada/a-ticoio.adb
*** gcc-4.0.2/gcc/ada/a-ticoio.adb	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-ticoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . T E X T _ I O . C O M P L E X _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --   Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.  --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . T E X T _ I O . C O M P L E X _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ticoio.ads gcc-4.1.0/gcc/ada/a-ticoio.ads
*** gcc-4.0.2/gcc/ada/a-ticoio.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-ticoio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tideau.adb gcc-4.1.0/gcc/ada/a-tideau.adb
*** gcc-4.0.2/gcc/ada/a-tideau.adb	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tideau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . D E C I M A L _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . D E C I M A L _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tideau.ads gcc-4.1.0/gcc/ada/a-tideau.ads
*** gcc-4.0.2/gcc/ada/a-tideau.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tideau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tideio.adb gcc-4.1.0/gcc/ada/a-tideio.adb
*** gcc-4.0.2/gcc/ada/a-tideio.adb	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tideio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . T E X T _ I O . D E C I M A L _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-1999 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . T E X T _ I O . D E C I M A L _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tideio.ads gcc-4.1.0/gcc/ada/a-tideio.ads
*** gcc-4.0.2/gcc/ada/a-tideio.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tideio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tienau.adb gcc-4.1.0/gcc/ada/a-tienau.adb
*** gcc-4.0.2/gcc/ada/a-tienau.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tienau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --          A D A . T E X T _ I O . E N U M E R A T I O N _ A U X           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --          A D A . T E X T _ I O . E N U M E R A T I O N _ A U X           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tienau.ads gcc-4.1.0/gcc/ada/a-tienau.ads
*** gcc-4.0.2/gcc/ada/a-tienau.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tienau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tienio.adb gcc-4.1.0/gcc/ada/a-tienio.adb
*** gcc-4.0.2/gcc/ada/a-tienio.adb	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tienio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . T E X T _ I O . E N U M E R A T I O N _ I O            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-1999 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . T E X T _ I O . E N U M E R A T I O N _ I O            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tienio.ads gcc-4.1.0/gcc/ada/a-tienio.ads
*** gcc-4.0.2/gcc/ada/a-tienio.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tienio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tifiio.adb gcc-4.1.0/gcc/ada/a-tifiio.adb
*** gcc-4.0.2/gcc/ada/a-tifiio.adb	Mon Mar 15 14:50:55 2004
--- gcc-4.1.0/gcc/ada/a-tifiio.adb	Fri Feb 17 11:21:20 2006
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 A D A . T E X T _ I O . F I X E D _ I O                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 A D A . T E X T _ I O . F I X E D _ I O                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2006, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Text_IO.Fixed_IO is
*** 183,189 ****
  
     --    Fore + Aft + Exp + Extra_Layout_Space
  
!    --  is always long enough for formatting any fixed point number.
  
     --  Implementation of Put routines
  
--- 183,189 ----
  
     --    Fore + Aft + Exp + Extra_Layout_Space
  
!    --  is always long enough for formatting any fixed point number
  
     --  Implementation of Put routines
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 247,253 ****
     --  least 20 in order to print T'First, which is at most -2.0**63.
     --  This means D < 0, so use
  
!    --    (1)   Y = -S and Z = -10**(-D).
  
     --  If 1.0 / S is an integer greater than one, use
  
--- 247,253 ----
     --  least 20 in order to print T'First, which is at most -2.0**63.
     --  This means D < 0, so use
  
!    --    (1)   Y = -S and Z = -10**(-D)
  
     --  If 1.0 / S is an integer greater than one, use
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 314,322 ****
     ---------
  
     procedure Get
!      (File  : in File_Type;
        Item  : out Num;
!       Width : in Field := 0)
     is
        pragma Unsuppress (Range_Check);
  
--- 314,322 ----
     ---------
  
     procedure Get
!      (File  : File_Type;
        Item  : out Num;
!       Width : Field := 0)
     is
        pragma Unsuppress (Range_Check);
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 329,335 ****
  
     procedure Get
       (Item  : out Num;
!       Width : in Field := 0)
     is
        pragma Unsuppress (Range_Check);
  
--- 329,335 ----
  
     procedure Get
       (Item  : out Num;
!       Width : Field := 0)
     is
        pragma Unsuppress (Range_Check);
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 341,347 ****
     end Get;
  
     procedure Get
!      (From : in String;
        Item : out Num;
        Last : out Positive)
     is
--- 341,347 ----
     end Get;
  
     procedure Get
!      (From : String;
        Item : out Num;
        Last : out Positive)
     is
*************** package body Ada.Text_IO.Fixed_IO is
*** 359,369 ****
     ---------
  
     procedure Put
!      (File : in File_Type;
!       Item : in Num;
!       Fore : in Field := Default_Fore;
!       Aft  : in Field := Default_Aft;
!       Exp  : in Field := Default_Exp)
     is
        S    : String (1 .. Fore + Aft + Exp + Extra_Layout_Space);
        Last : Natural;
--- 359,369 ----
     ---------
  
     procedure Put
!      (File : File_Type;
!       Item : Num;
!       Fore : Field := Default_Fore;
!       Aft  : Field := Default_Aft;
!       Exp  : Field := Default_Exp)
     is
        S    : String (1 .. Fore + Aft + Exp + Extra_Layout_Space);
        Last : Natural;
*************** package body Ada.Text_IO.Fixed_IO is
*** 373,382 ****
     end Put;
  
     procedure Put
!      (Item : in Num;
!       Fore : in Field := Default_Fore;
!       Aft  : in Field := Default_Aft;
!       Exp  : in Field := Default_Exp)
     is
        S    : String (1 .. Fore + Aft + Exp + Extra_Layout_Space);
        Last : Natural;
--- 373,382 ----
     end Put;
  
     procedure Put
!      (Item : Num;
!       Fore : Field := Default_Fore;
!       Aft  : Field := Default_Aft;
!       Exp  : Field := Default_Exp)
     is
        S    : String (1 .. Fore + Aft + Exp + Extra_Layout_Space);
        Last : Natural;
*************** package body Ada.Text_IO.Fixed_IO is
*** 387,395 ****
  
     procedure Put
       (To   : out String;
!       Item : in Num;
!       Aft  : in Field := Default_Aft;
!       Exp  : in Field := Default_Exp)
     is
        Fore : constant Integer := To'Length
                                  - 1                      -- Decimal point
--- 387,395 ----
  
     procedure Put
       (To   : out String;
!       Item : Num;
!       Aft  : Field := Default_Aft;
!       Exp  : Field := Default_Exp)
     is
        Fore : constant Integer := To'Length
                                  - 1                      -- Decimal point
*************** package body Ada.Text_IO.Fixed_IO is
*** 399,405 ****
        Last : Natural;
  
     begin
!       if Fore not in Field'Range then
           raise Layout_Error;
        end if;
  
--- 399,405 ----
        Last : Natural;
  
     begin
!       if Fore < 1 or else Fore > Field'Last then
           raise Layout_Error;
        end if;
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 419,428 ****
        Exp  : Field)
     is
        subtype Digit is Int64 range 0 .. 9;
!       X     : constant Int64   := Int64'Integer_Value (Item);
!       A     : constant Field   := Field'Max (Aft, 1);
!       Neg   : constant Boolean := (Item < 0.0);
!       Pos   : Integer;  -- Next digit X has value X * 10.0**Pos;
  
        Y, Z : Int64;
        E : constant Integer := Boolean'Pos (not Exact)
--- 419,429 ----
        Exp  : Field)
     is
        subtype Digit is Int64 range 0 .. 9;
! 
!       X   : constant Int64   := Int64'Integer_Value (Item);
!       A   : constant Field   := Field'Max (Aft, 1);
!       Neg : constant Boolean := (Item < 0.0);
!       Pos : Integer;  -- Next digit X has value X * 10.0**Pos;
  
        Y, Z : Int64;
        E : constant Integer := Boolean'Pos (not Exact)
*************** package body Ada.Text_IO.Fixed_IO is
*** 438,444 ****
  
        procedure Put_Digit (X : Digit);
        --  Add digit X to the output string (going from left to right),
!       --  updating Last and Pos, and inserting the sign, leading zeroes
        --  or a decimal point when necessary. After outputting the first
        --  digit, Pos must not be changed outside Put_Digit anymore
  
--- 439,445 ----
  
        procedure Put_Digit (X : Digit);
        --  Add digit X to the output string (going from left to right),
!       --  updating Last and Pos, and inserting the sign, leading zeros
        --  or a decimal point when necessary. After outputting the first
        --  digit, Pos must not be changed outside Put_Digit anymore
  
*************** package body Ada.Text_IO.Fixed_IO is
*** 470,480 ****
  
        procedure Put_Digit (X : Digit) is
           Digs : constant array (Digit) of Character := "0123456789";
        begin
!          if Last = 0 then
              if X /= 0 or Pos <= 0 then
                 --  Before outputting first digit, include leading space,
!                --  posible minus sign and, if the first digit is fractional,
                 --  decimal seperator and leading zeros.
  
                 --  The Fore part has Pos + 1 + Boolean'Pos (Neg) characters,
--- 471,482 ----
  
        procedure Put_Digit (X : Digit) is
           Digs : constant array (Digit) of Character := "0123456789";
+ 
        begin
!          if Last = To'First - 1 then
              if X /= 0 or Pos <= 0 then
                 --  Before outputting first digit, include leading space,
!                --  possible minus sign and, if the first digit is fractional,
                 --  decimal seperator and leading zeros.
  
                 --  The Fore part has Pos + 1 + Boolean'Pos (Neg) characters,
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tifiio.ads gcc-4.1.0/gcc/ada/a-tifiio.ads
*** gcc-4.0.2/gcc/ada/a-tifiio.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tifiio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiflau.adb gcc-4.1.0/gcc/ada/a-tiflau.adb
*** gcc-4.0.2/gcc/ada/a-tiflau.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tiflau.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiflau.ads gcc-4.1.0/gcc/ada/a-tiflau.ads
*** gcc-4.0.2/gcc/ada/a-tiflau.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tiflau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiflio.adb gcc-4.1.0/gcc/ada/a-tiflio.adb
*** gcc-4.0.2/gcc/ada/a-tiflio.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tiflio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 A D A . T E X T _ I O . F L O A T _ I O                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 A D A . T E X T _ I O . F L O A T _ I O                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiflio.ads gcc-4.1.0/gcc/ada/a-tiflio.ads
*** gcc-4.0.2/gcc/ada/a-tiflio.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tiflio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tigeau.adb gcc-4.1.0/gcc/ada/a-tigeau.adb
*** gcc-4.0.2/gcc/ada/a-tigeau.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tigeau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . G E N E R I C _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . G E N E R I C _ A U X               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tigeau.ads gcc-4.1.0/gcc/ada/a-tigeau.ads
*** gcc-4.0.2/gcc/ada/a-tigeau.ads	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tigeau.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . G E N E R I C _ A U X               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . G E N E R I C _ A U X               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiinau.adb gcc-4.1.0/gcc/ada/a-tiinau.adb
*** gcc-4.0.2/gcc/ada/a-tiinau.adb	Thu Dec 11 16:21:39 2003
--- gcc-4.1.0/gcc/ada/a-tiinau.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Text_IO.Integer_Aux is
*** 52,58 ****
       (File : in File_Type;
        Buf  : out String;
        Ptr  : in out Natural);
!    --  This is an auxiliary routine that is used to load an possibly signed
     --  integer literal value from the input file into Buf, starting at Ptr + 1.
     --  On return, Ptr is set to the last character stored.
  
--- 52,58 ----
       (File : in File_Type;
        Buf  : out String;
        Ptr  : in out Natural);
!    --  This is an auxiliary routine that is used to load a possibly signed
     --  integer literal value from the input file into Buf, starting at Ptr + 1.
     --  On return, Ptr is set to the last character stored.
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiinau.ads gcc-4.1.0/gcc/ada/a-tiinau.ads
*** gcc-4.0.2/gcc/ada/a-tiinau.ads	Thu Apr 24 17:53:55 2003
--- gcc-4.1.0/gcc/ada/a-tiinau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiinio.adb gcc-4.1.0/gcc/ada/a-tiinio.adb
*** gcc-4.0.2/gcc/ada/a-tiinio.adb	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-tiinio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . T E X T _ I O . I N T E G E R _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-1999 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . T E X T _ I O . I N T E G E R _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiinio.ads gcc-4.1.0/gcc/ada/a-tiinio.ads
*** gcc-4.0.2/gcc/ada/a-tiinio.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-tiinio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-timoau.adb gcc-4.1.0/gcc/ada/a-timoau.adb
*** gcc-4.0.2/gcc/ada/a-timoau.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-timoau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . M O D U L A R  _ A U X              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . M O D U L A R  _ A U X              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-timoau.ads gcc-4.1.0/gcc/ada/a-timoau.ads
*** gcc-4.0.2/gcc/ada/a-timoau.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-timoau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-timoio.adb gcc-4.1.0/gcc/ada/a-timoio.adb
*** gcc-4.0.2/gcc/ada/a-timoio.adb	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-timoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . T E X T _ I O . M O D U L A R _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --   Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.  --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . T E X T _ I O . M O D U L A R _ I O                --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-timoio.ads gcc-4.1.0/gcc/ada/a-timoio.ads
*** gcc-4.0.2/gcc/ada/a-timoio.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-timoio.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               A D A . T E X T _ I O . M O D U L A R _ I O                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1993-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               A D A . T E X T _ I O . M O D U L A R _ I O                --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1993-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiocst.adb gcc-4.1.0/gcc/ada/a-tiocst.adb
*** gcc-4.0.2/gcc/ada/a-tiocst.adb	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tiocst.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiocst.ads gcc-4.1.0/gcc/ada/a-tiocst.ads
*** gcc-4.0.2/gcc/ada/a-tiocst.ads	Tue Oct 21 13:41:54 2003
--- gcc-4.1.0/gcc/ada/a-tiocst.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                A D A . T E X T _ I O . C _ S T R E A M S                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                A D A . T E X T _ I O . C _ S T R E A M S                 --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-titest.adb gcc-4.1.0/gcc/ada/a-titest.adb
*** gcc-4.0.2/gcc/ada/a-titest.adb	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-titest.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . T E X T _ I O . T E X T _ S T R E A M S              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --   Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.  --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . T E X T _ I O . T E X T _ S T R E A M S              --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-titest.ads gcc-4.1.0/gcc/ada/a-titest.ads
*** gcc-4.0.2/gcc/ada/a-titest.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-titest.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . T E X T _ I O . T E X T _ S T R E A M S              --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . T E X T _ I O . T E X T _ S T R E A M S              --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-tiunio.ads gcc-4.1.0/gcc/ada/a-tiunio.ads
*** gcc-4.0.2/gcc/ada/a-tiunio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-tiunio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --              A D A . T E X T _ I O . U N B O U N D E D _ I O             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --              A D A . T E X T _ I O . U N B O U N D E D _ I O             --
  --                                                                          --
***************
*** 19,25 ****
  --  implementation anyway, since we need access to the internal representation
  --  of Ada.Strings.Unbounded.Unbounded_String.
  
- 
  with Ada.Strings.Unbounded;
  with Ada.Strings.Unbounded.Text_IO;
  
--- 19,24 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wichun.adb gcc-4.1.0/gcc/ada/a-wichun.adb
*** gcc-4.0.2/gcc/ada/a-wichun.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-wichun.adb	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,167 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --         A D A . W I D E _ C H A R A C T E R T S . U N I C O D E          --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ package body Ada.Wide_Characters.Unicode is
+ 
+    package G renames GNAT.UTF_32;
+ 
+    ------------------
+    -- Get_Category --
+    ------------------
+ 
+    function Get_Category (U : Wide_Character) return Category is
+    begin
+       return Category (G.Get_Category (Wide_Character'Pos (U)));
+    end Get_Category;
+ 
+    --------------
+    -- Is_Digit --
+    --------------
+ 
+    function Is_Digit (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Digit (Wide_Character'Pos (U));
+    end Is_Digit;
+ 
+    function Is_Digit (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Digit (G.Category (C));
+    end Is_Digit;
+ 
+    ---------------
+    -- Is_Letter --
+    ---------------
+ 
+    function Is_Letter (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Letter (Wide_Character'Pos (U));
+    end Is_Letter;
+ 
+    function Is_Letter (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Letter (G.Category (C));
+    end Is_Letter;
+ 
+    ------------------------
+    -- Is_Line_Terminator --
+    ------------------------
+ 
+    function Is_Line_Terminator (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Line_Terminator (Wide_Character'Pos (U));
+    end Is_Line_Terminator;
+ 
+    -------------
+    -- Is_Mark --
+    -------------
+ 
+    function Is_Mark (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Mark (Wide_Character'Pos (U));
+    end Is_Mark;
+ 
+    function Is_Mark (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Mark (G.Category (C));
+    end Is_Mark;
+ 
+    --------------------
+    -- Is_Non_Graphic --
+    --------------------
+ 
+    function Is_Non_Graphic (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Non_Graphic (Wide_Character'Pos (U));
+    end Is_Non_Graphic;
+ 
+    function Is_Non_Graphic (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Non_Graphic (G.Category (C));
+    end Is_Non_Graphic;
+ 
+    --------------
+    -- Is_Other --
+    --------------
+ 
+    function Is_Other (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Other (Wide_Character'Pos (U));
+    end Is_Other;
+ 
+    function Is_Other (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Other (G.Category (C));
+    end Is_Other;
+ 
+    --------------------
+    -- Is_Punctuation --
+    --------------------
+ 
+    function Is_Punctuation (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Punctuation (Wide_Character'Pos (U));
+    end Is_Punctuation;
+ 
+    function Is_Punctuation (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Punctuation (G.Category (C));
+    end Is_Punctuation;
+ 
+    --------------
+    -- Is_Space --
+    --------------
+ 
+    function Is_Space (U : Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Space (Wide_Character'Pos (U));
+    end Is_Space;
+ 
+    function Is_Space (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Space (G.Category (C));
+    end Is_Space;
+ 
+    -------------------
+    -- To_Upper_Case --
+    -------------------
+ 
+    function To_Upper_Case
+      (U : Wide_Character) return Wide_Character
+    is
+    begin
+       return
+         Wide_Character'Val
+           (G.UTF_32_To_Upper_Case (Wide_Character'Pos (U)));
+    end To_Upper_Case;
+ 
+ end Ada.Wide_Characters.Unicode;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wichun.ads gcc-4.1.0/gcc/ada/a-wichun.ads
*** gcc-4.0.2/gcc/ada/a-wichun.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-wichun.ads	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,190 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --          A D A . W I D E _ C H A R A C T E R S . U N I C O D E           --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  Unicode categorization routines for Wide_Character. Note that this
+ --  package is strictly speaking Ada 2005 (since it is a child of an
+ --  Ada 2005 unit), but we make it available in Ada 95 mode, since it
+ --  only deals with wide characters.
+ 
+ with GNAT.UTF_32;
+ 
+ package Ada.Wide_Characters.Unicode is
+ 
+    --  The following type defines the categories from the unicode definitions.
+    --  The one addition we make is Fe, which represents the characters FFFE
+    --  and FFFF in any of the planes.
+ 
+    type Category is new GNAT.UTF_32.Category;
+    --  Cc   Other, Control
+    --  Cf   Other, Format
+    --  Cn   Other, Not Assigned
+    --  Co   Other, Private Use
+    --  Cs   Other, Surrogate
+    --  Ll   Letter, Lowercase
+    --  Lm   Letter, Modifier
+    --  Lo   Letter, Other
+    --  Lt   Letter, Titlecase
+    --  Lu   Letter, Uppercase
+    --  Mc   Mark, Spacing Combining
+    --  Me   Mark, Enclosing
+    --  Mn   Mark, Nonspacing
+    --  Nd   Number, Decimal Digit
+    --  Nl   Number, Letter
+    --  No   Number, Other
+    --  Pc   Punctuation, Connector
+    --  Pd   Punctuation, Dash
+    --  Pe   Punctuation, Close
+    --  Pf   Punctuation, Final quote
+    --  Pi   Punctuation, Initial quote
+    --  Po   Punctuation, Other
+    --  Ps   Punctuation, Open
+    --  Sc   Symbol, Currency
+    --  Sk   Symbol, Modifier
+    --  Sm   Symbol, Math
+    --  So   Symbol, Other
+    --  Zl   Separator, Line
+    --  Zp   Separator, Paragraph
+    --  Zs   Separator, Space
+    --  Fe   relative position FFFE/FFFF in plane
+ 
+    function Get_Category (U : Wide_Character) return Category;
+    pragma Inline (Get_Category);
+    --  Given a Wide_Character, returns corresponding Category, or Cn if the
+    --  code does not have an assigned unicode category.
+ 
+    --  The following functions perform category tests corresponding to lexical
+    --  classes defined in the Ada standard. There are two interfaces for each
+    --  function. The second takes a Category (e.g. returned by Get_Category).
+    --  The first takes a Wide_Character. The form taking the Wide_Character is
+    --  typically more efficient than calling Get_Category, but if several
+    --  different tests are to be performed on the same code, it is more
+    --  efficient to use Get_Category to get the category, then test the
+    --  resulting category.
+ 
+    function Is_Letter (U : Wide_Character) return Boolean;
+    function Is_Letter (C : Category)       return Boolean;
+    pragma Inline (Is_Letter);
+    --  Returns true iff U is a letter that can be used to start an identifier,
+    --  or if C is one of the corresponding categories, which are the following:
+    --    Letter, Uppercase (Lu)
+    --    Letter, Lowercase (Ll)
+    --    Letter, Titlecase (Lt)
+    --    Letter, Modifier  (Lm)
+    --    Letter, Other     (Lo)
+    --    Number, Letter    (Nl)
+ 
+    function Is_Digit (U : Wide_Character) return Boolean;
+    function Is_Digit (C : Category)       return Boolean;
+    pragma Inline (Is_Digit);
+    --  Returns true iff U is a digit that can be used to extend an identifer,
+    --  or if C is one of the corresponding categories, which are the following:
+    --    Number, Decimal_Digit (Nd)
+ 
+    function Is_Line_Terminator (U : Wide_Character) return Boolean;
+    pragma Inline (Is_Line_Terminator);
+    --  Returns true iff U is an allowed line terminator for source programs,
+    --  if U is in the category Zp (Separator, Paragaph), or Zs (Separator,
+    --  Line), or if U is a conventional line terminator (CR, LF, VT, FF).
+    --  There is no category version for this function, since the set of
+    --  characters does not correspond to a set of Unicode categories.
+ 
+    function Is_Mark (U : Wide_Character) return Boolean;
+    function Is_Mark (C : Category)       return Boolean;
+    pragma Inline (Is_Mark);
+    --  Returns true iff U is a mark character which can be used to extend an
+    --  identifier, or if C is one of the corresponding categories, which are
+    --  the following:
+    --    Mark, Non-Spacing (Mn)
+    --    Mark, Spacing Combining (Mc)
+ 
+    function Is_Other (U : Wide_Character) return Boolean;
+    function Is_Other (C : Category)       return Boolean;
+    pragma Inline (Is_Other);
+    --  Returns true iff U is an other format character, which means that it
+    --  can be used to extend an identifier, but is ignored for the purposes of
+    --  matching of identiers, or if C is one of the corresponding categories,
+    --  which are the following:
+    --    Other, Format (Cf)
+ 
+    function Is_Punctuation (U : Wide_Character) return Boolean;
+    function Is_Punctuation (C : Category)       return Boolean;
+    pragma Inline (Is_Punctuation);
+    --  Returns true iff U is a punctuation character that can be used to
+    --  separate pices of an identifier, or if C is one of the corresponding
+    --  categories, which are the following:
+    --    Punctuation, Connector (Pc)
+ 
+    function Is_Space (U : Wide_Character) return Boolean;
+    function Is_Space (C : Category)       return Boolean;
+    pragma Inline (Is_Space);
+    --  Returns true iff U is considered a space to be ignored, or if C is one
+    --  of the corresponding categories, which are the following:
+    --    Separator, Space (Zs)
+ 
+    function Is_Non_Graphic (U : Wide_Character) return Boolean;
+    function Is_Non_Graphic (C : Category)       return Boolean;
+    pragma Inline (Is_Non_Graphic);
+    --  Returns true iff U is considered to be a non-graphic character, or if C
+    --  is one of the corresponding categories, which are the following:
+    --    Other, Control (Cc)
+    --    Other, Private Use (Co)
+    --    Other, Surrogate (Cs)
+    --    Separator, Line (Zl)
+    --    Separator, Paragraph (Zp)
+    --    FFFE or FFFF positions in any plane (Fe)
+    --
+    --  Note that the Ada category format effector is subsumed by the above
+    --  list of Unicode categories.
+    --
+    --  Note that Other, Unassiged (Cn) is quite deliberately not included
+    --  in the list of categories above. This means that should any of these
+    --  code positions be defined in future with graphic characters they will
+    --  be allowed without a need to change implementations or the standard.
+    --
+    --  Note that Other, Format (Cf) is also quite deliberately not included
+    --  in the list of categories above. This means that these characters can
+    --  be included in character and string literals.
+ 
+    --  The following function is used to fold to upper case, as required by
+    --  the Ada 2005 standard rules for identifier case folding. Two
+    --  identifiers are equivalent if they are identical after folding all
+    --  letters to upper case using this routine.
+ 
+    function To_Upper_Case (U : Wide_Character) return Wide_Character;
+    pragma Inline (To_Upper_Case);
+    --  If U represents a lower case letter, returns the corresponding upper
+    --  case letter, otherwise U is returned unchanged. The folding is locale
+    --  independent as defined by documents referenced in the note in section
+    --  1 of ISO/IEC 10646:2003
+ 
+ end Ada.Wide_Characters.Unicode;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-widcha.ads gcc-4.1.0/gcc/ada/a-widcha.ads
*** gcc-4.0.2/gcc/ada/a-widcha.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-widcha.ads	Mon Sep  5 07:51:25 2005
***************
*** 0 ****
--- 1,21 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --                  A D A . W I D E _ C H A R A C T E R S                   --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ -- This specification is adapted from the Ada Reference Manual for use with --
+ -- GNAT.  In accordance with the copyright of that document, you can freely --
+ -- copy and modify this specification,  provided that if you redistribute a --
+ -- modified version,  any changes that you have made are clearly indicated. --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  Note: strictly this is an Ada 2005 package, but we make it freely
+ --  available in Ada 95 mode, since it deals only with wide characters.
+ 
+ package Ada.Wide_Characters is
+    pragma Pure;
+ end Ada.Wide_Characters;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-witeio.adb gcc-4.1.0/gcc/ada/a-witeio.adb
*** gcc-4.0.2/gcc/ada/a-witeio.adb	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-witeio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     A D A . W I D E _ T E X T _ I O                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     A D A . W I D E _ T E X T _ I O                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Text_IO is
*** 987,993 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 987,993 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Text_IO is
*** 1346,1352 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1346,1352 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Text_IO is
*** 1434,1440 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1434,1440 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Text_IO is
*** 1479,1485 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1479,1485 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Text_IO is
*** 1512,1518 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1512,1518 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Text_IO is
*** 1570,1576 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1570,1576 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-witeio.ads gcc-4.1.0/gcc/ada/a-witeio.ads
*** gcc-4.0.2/gcc/ada/a-witeio.ads	Thu Feb 10 13:51:39 2005
--- gcc-4.1.0/gcc/ada/a-witeio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcoau.adb gcc-4.1.0/gcc/ada/a-wtcoau.adb
*** gcc-4.0.2/gcc/ada/a-wtcoau.adb	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtcoau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . C O M P L E X _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . C O M P L E X _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Text_IO.Complex_Au
*** 194,200 ****
  
        To (To'Last) := ')';
  
- 
        To (To'Last - Iptr .. To'Last - 1) := I_String (1 .. Iptr);
  
        for J in To'First + Rptr + 2 .. To'Last - Iptr - 1 loop
--- 194,199 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcoau.ads gcc-4.1.0/gcc/ada/a-wtcoau.ads
*** gcc-4.0.2/gcc/ada/a-wtcoau.ads	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtcoau.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . C O M P L E X _ A U X          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . C O M P L E X _ A U X          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcoio.adb gcc-4.1.0/gcc/ada/a-wtcoio.adb
*** gcc-4.0.2/gcc/ada/a-wtcoio.adb	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtcoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ IO . C O M P L E X _ I O           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ IO . C O M P L E X _ I O           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcoio.ads gcc-4.1.0/gcc/ada/a-wtcoio.ads
*** gcc-4.0.2/gcc/ada/a-wtcoio.ads	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtcoio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ IO . C O M P L E X _ I O           --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ IO . C O M P L E X _ I O           --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcstr.adb gcc-4.1.0/gcc/ada/a-wtcstr.adb
*** gcc-4.0.2/gcc/ada/a-wtcstr.adb	Tue Oct 21 13:41:55 2003
--- gcc-4.1.0/gcc/ada/a-wtcstr.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtcstr.ads gcc-4.1.0/gcc/ada/a-wtcstr.ads
*** gcc-4.0.2/gcc/ada/a-wtcstr.ads	Tue Oct 21 13:41:55 2003
--- gcc-4.1.0/gcc/ada/a-wtcstr.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . C _ S T R E A M S            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . C _ S T R E A M S            --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtdeau.adb gcc-4.1.0/gcc/ada/a-wtdeau.adb
*** gcc-4.0.2/gcc/ada/a-wtdeau.adb	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtdeau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . D E C I M A L _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . D E C I M A L _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtdeau.ads gcc-4.1.0/gcc/ada/a-wtdeau.ads
*** gcc-4.0.2/gcc/ada/a-wtdeau.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtdeau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtdeio.adb gcc-4.1.0/gcc/ada/a-wtdeio.adb
*** gcc-4.0.2/gcc/ada/a-wtdeio.adb	Tue Oct 21 13:41:55 2003
--- gcc-4.1.0/gcc/ada/a-wtdeio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . D E C I M A L _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . D E C I M A L _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtdeio.ads gcc-4.1.0/gcc/ada/a-wtdeio.ads
*** gcc-4.0.2/gcc/ada/a-wtdeio.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtdeio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtedit.adb gcc-4.1.0/gcc/ada/a-wtedit.adb
*** gcc-4.0.2/gcc/ada/a-wtedit.adb	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtedit.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Text_IO.Editing is
*** 266,272 ****
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last was a ')' throw it away too.
  
                 Picture_Index := Last + 1;
  
--- 266,272 ----
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last was a ')' throw it away too
  
                 Picture_Index := Last + 1;
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 313,322 ****
        Currency_Pos  : Integer := Pic.Start_Currency;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary.
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output.
  
     begin
  
--- 313,322 ----
        Currency_Pos  : Integer := Pic.Start_Currency;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output
  
     begin
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 856,866 ****
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill.
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it.
  
           Last := Answer'Last;
  
--- 856,866 ----
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it
  
           Last := Answer'Last;
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 1063,1069 ****
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no.
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
--- 1063,1069 ----
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1083,1089 ****
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (intger) digits needs a null range.
  
        return Answer;
     end Parse_Number_String;
--- 1083,1089 ----
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (intger) digits needs a null range
  
        return Answer;
     end Parse_Number_String;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1116,1122 ****
  
        type Legality is  (Okay, Reject);
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings.
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
--- 1116,1122 ----
  
        type Legality is  (Okay, Reject);
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 1426,1432 ****
  
        procedure Leading_Dollar is
        begin
!          --  Treat as a floating dollar, and unwind otherwise.
  
           Pic.Floater := '$';
           Pic.Start_Currency := Index;
--- 1426,1432 ----
  
        procedure Leading_Dollar is
        begin
!          --  Treat as a floating dollar, and unwind otherwise
  
           Pic.Floater := '$';
           Pic.Start_Currency := Index;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1495,1501 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make.
  
                    Number_Completion;
                    return;
--- 1495,1501 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make
  
                    Number_Completion;
                    return;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1507,1514 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1507,1514 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1543,1549 ****
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert.
  
        begin
           --  Treat as a floating currency. If it isn't, this will be
--- 1543,1549 ----
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert
  
        begin
           --  Treat as a floating currency. If it isn't, this will be
*************** package body Ada.Wide_Text_IO.Editing is
*** 1619,1625 ****
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float.
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
--- 1619,1625 ----
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1636,1643 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1636,1643 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Wide_Text_IO.Editing is
*** 1700,1706 ****
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen.
  
           end loop;
        end Number;
--- 1700,1706 ----
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen
  
           end loop;
        end Number;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2130,2136 ****
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State.
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
--- 2130,2136 ----
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
*************** package body Ada.Wide_Text_IO.Editing is
*** 2188,2194 ****
           Pic.Sign_Position := Index;
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
--- 2188,2194 ----
           Pic.Sign_Position := Index;
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2258,2264 ****
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
--- 2258,2264 ----
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2285,2291 ****
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "-- " is enough.
                    Floating_Minus;
                    Trailing_Currency;
                    return;
--- 2285,2291 ----
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "-- " is enough
                    Floating_Minus;
                    Trailing_Currency;
                    return;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2303,2309 ****
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign.
  
                    if State = Okay then
                       Set_State (Reject);
--- 2303,2309 ----
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign
  
                    if State = Okay then
                       Set_State (Reject);
*************** package body Ada.Wide_Text_IO.Editing is
*** 2322,2328 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2322,2328 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2342,2348 ****
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
--- 2342,2348 ----
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2369,2375 ****
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough.
                    Floating_Plus;
                    Trailing_Currency;
                    return;
--- 2369,2375 ----
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough
                    Floating_Plus;
                    Trailing_Currency;
                    return;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2390,2396 ****
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign.
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
--- 2390,2396 ----
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 2410,2416 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2410,2416 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Wide_Text_IO.Editing is
*** 2474,2480 ****
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'.
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
--- 2474,2480 ----
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
*************** package body Ada.Wide_Text_IO.Editing is
*** 2693,2699 ****
  
        when Constraint_Error =>
  
!          --  To deal with special cases like null strings.
  
        raise Picture_Error;
  
--- 2693,2699 ----
  
        when Constraint_Error =>
  
!       --  To deal with special cases like null strings
  
        raise Picture_Error;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtedit.ads gcc-4.1.0/gcc/ada/a-wtedit.ads
*** gcc-4.0.2/gcc/ada/a-wtedit.ads	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wtedit.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtenau.adb gcc-4.1.0/gcc/ada/a-wtenau.adb
*** gcc-4.0.2/gcc/ada/a-wtenau.adb	Tue Oct 21 13:41:56 2003
--- gcc-4.1.0/gcc/ada/a-wtenau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ T E X T _ I O . E N U M E R A T I O N _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ T E X T _ I O . E N U M E R A T I O N _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Text_IO.Enumeratio
*** 46,55 ****
     -----------------------
  
     procedure Store_Char
!      (WC   : Wide_Character;
!       Buf  : out Wide_String;
!       Ptr  : in out Integer);
!    --  Store a single character in buffer, checking for overflow.
  
     --  These definitions replace the ones in Ada.Characters.Handling, which
     --  do not seem to work for some strange not understood reason ??? at
--- 46,55 ----
     -----------------------
  
     procedure Store_Char
!      (WC  : Wide_Character;
!       Buf : out Wide_String;
!       Ptr : in out Integer);
!    --  Store a single character in buffer, checking for overflow
  
     --  These definitions replace the ones in Ada.Characters.Handling, which
     --  do not seem to work for some strange not understood reason ??? at
*************** package body Ada.Wide_Text_IO.Enumeratio
*** 324,332 ****
     ----------------
  
     procedure Store_Char
!      (WC   : Wide_Character;
!       Buf  : out Wide_String;
!       Ptr  : in out Integer)
     is
     begin
        if Ptr = Buf'Last then
--- 324,332 ----
     ----------------
  
     procedure Store_Char
!      (WC  : Wide_Character;
!       Buf : out Wide_String;
!       Ptr : in out Integer)
     is
     begin
        if Ptr = Buf'Last then
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtenau.ads gcc-4.1.0/gcc/ada/a-wtenau.ads
*** gcc-4.0.2/gcc/ada/a-wtenau.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtenau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtenio.adb gcc-4.1.0/gcc/ada/a-wtenio.adb
*** gcc-4.0.2/gcc/ada/a-wtenio.adb	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtenio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --       A D A . W I D E _ T E X T _ I O . E N U M E R A T I O N _ I O      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --       A D A . W I D E _ T E X T _ I O . E N U M E R A T I O N _ I O      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtenio.ads gcc-4.1.0/gcc/ada/a-wtenio.ads
*** gcc-4.0.2/gcc/ada/a-wtenio.ads	Thu Apr 24 17:53:56 2003
--- gcc-4.1.0/gcc/ada/a-wtenio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtfiio.adb gcc-4.1.0/gcc/ada/a-wtfiio.adb
*** gcc-4.0.2/gcc/ada/a-wtfiio.adb	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtfiio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . T E X T _ I O . W I D E _ T E X T _ I O . F I X E D _ I O    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . T E X T _ I O . W I D E _ T E X T _ I O . F I X E D _ I O    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtfiio.ads gcc-4.1.0/gcc/ada/a-wtfiio.ads
*** gcc-4.0.2/gcc/ada/a-wtfiio.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtfiio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtflau.adb gcc-4.1.0/gcc/ada/a-wtflau.adb
*** gcc-4.0.2/gcc/ada/a-wtflau.adb	Tue Oct 21 13:41:56 2003
--- gcc-4.1.0/gcc/ada/a-wtflau.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtflau.ads gcc-4.1.0/gcc/ada/a-wtflau.ads
*** gcc-4.0.2/gcc/ada/a-wtflau.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtflau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtflio.adb gcc-4.1.0/gcc/ada/a-wtflio.adb
*** gcc-4.0.2/gcc/ada/a-wtflio.adb	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtflio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --             A D A . W I D E _ T E X T _ I O . F L O A T _ I O            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --             A D A . W I D E _ T E X T _ I O . F L O A T _ I O            --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtflio.ads gcc-4.1.0/gcc/ada/a-wtflio.ads
*** gcc-4.0.2/gcc/ada/a-wtflio.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtflio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtgeau.adb gcc-4.1.0/gcc/ada/a-wtgeau.adb
*** gcc-4.0.2/gcc/ada/a-wtgeau.adb	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtgeau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . G E N E R I C _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . G E N E R I C _ A U X          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtgeau.ads gcc-4.1.0/gcc/ada/a-wtgeau.ads
*** gcc-4.0.2/gcc/ada/a-wtgeau.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtgeau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtinau.adb gcc-4.1.0/gcc/ada/a-wtinau.adb
*** gcc-4.0.2/gcc/ada/a-wtinau.adb	Tue Oct 21 13:41:57 2003
--- gcc-4.1.0/gcc/ada/a-wtinau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . I N T E G E R  _ A U X         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . I N T E G E R  _ A U X         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtinau.ads gcc-4.1.0/gcc/ada/a-wtinau.ads
*** gcc-4.0.2/gcc/ada/a-wtinau.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtinau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtinio.adb gcc-4.1.0/gcc/ada/a-wtinio.adb
*** gcc-4.0.2/gcc/ada/a-wtinio.adb	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtinio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . I N T E G E R _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . I N T E G E R _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtinio.ads gcc-4.1.0/gcc/ada/a-wtinio.ads
*** gcc-4.0.2/gcc/ada/a-wtinio.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtinio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . I N T E G E R _ I O          --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . I N T E G E R _ I O          --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtmoau.adb gcc-4.1.0/gcc/ada/a-wtmoau.adb
*** gcc-4.0.2/gcc/ada/a-wtmoau.adb	Tue Oct 21 13:41:57 2003
--- gcc-4.1.0/gcc/ada/a-wtmoau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . M O D U L A R  _ A U X         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . M O D U L A R  _ A U X         --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtmoau.ads gcc-4.1.0/gcc/ada/a-wtmoau.ads
*** gcc-4.0.2/gcc/ada/a-wtmoau.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtmoau.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtmoio.adb gcc-4.1.0/gcc/ada/a-wtmoio.adb
*** gcc-4.0.2/gcc/ada/a-wtmoio.adb	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/a-wtmoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . M O D U L A R _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --   Copyright (C) 1992,1993,1994,1995,1996 Free Software Foundation, Inc.  --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --           A D A . W I D E _ T E X T _ I O . M O D U L A R _ I O          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1992-2005, Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wtmoio.ads gcc-4.1.0/gcc/ada/a-wtmoio.ads
*** gcc-4.0.2/gcc/ada/a-wtmoio.ads	Tue Apr 27 10:49:36 2004
--- gcc-4.1.0/gcc/ada/a-wtmoio.ads	Fri Jul  1 01:29:17 2005
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wttest.adb gcc-4.1.0/gcc/ada/a-wttest.adb
*** gcc-4.0.2/gcc/ada/a-wttest.adb	Thu Feb 10 13:51:40 2005
--- gcc-4.1.0/gcc/ada/a-wttest.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . T E X T _ S T R E A M S        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --         A D A . W I D E _ T E X T _ I O . T E X T _ S T R E A M S        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-wwunio.ads gcc-4.1.0/gcc/ada/a-wwunio.ads
*** gcc-4.0.2/gcc/ada/a-wwunio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-wwunio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --   A D A . W I D E _ T E X T _ I O . W I D E _ U N B O U N D E D _ I O    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --   A D A . W I D E _ T E X T _ I O . W I D E _ U N B O U N D E D _ I O    --
  --                                                                          --
***************
*** 19,25 ****
  --  straightforward implementation anyway, since we need access to the
  --  internal representation of Unbounded_Wide_String.
  
- 
  with Ada.Strings.Wide_Unbounded;
  with Ada.Strings.Wide_Unbounded.Wide_Text_IO;
  
--- 19,24 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-zchara.ads gcc-4.1.0/gcc/ada/a-zchara.ads
*** gcc-4.0.2/gcc/ada/a-zchara.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-zchara.ads	Mon Sep  5 07:51:25 2005
***************
*** 0 ****
--- 1,18 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --             A D A . W I D E _ W I D E _ C H A R A C T E R S              --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ -- This specification is adapted from the Ada Reference Manual for use with --
+ -- GNAT.  In accordance with the copyright of that document, you can freely --
+ -- copy and modify this specification,  provided that if you redistribute a --
+ -- modified version,  any changes that you have made are clearly indicated. --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ package Ada.Wide_Wide_Characters is
+    pragma Pure;
+ end Ada.Wide_Wide_Characters;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-zchuni.adb gcc-4.1.0/gcc/ada/a-zchuni.adb
*** gcc-4.0.2/gcc/ada/a-zchuni.adb	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-zchuni.adb	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,167 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --    A D A . W I D E _ W I D E _ C H A R A C T E R T S . U N I C O D E     --
+ --                                                                          --
+ --                                 B o d y                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ package body Ada.Wide_Wide_Characters.Unicode is
+ 
+    package G renames GNAT.UTF_32;
+ 
+    ------------------
+    -- Get_Category --
+    ------------------
+ 
+    function Get_Category (U : Wide_Wide_Character) return Category is
+    begin
+       return Category (G.Get_Category (Wide_Wide_Character'Pos (U)));
+    end Get_Category;
+ 
+    --------------
+    -- Is_Digit --
+    --------------
+ 
+    function Is_Digit (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Digit (Wide_Wide_Character'Pos (U));
+    end Is_Digit;
+ 
+    function Is_Digit (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Digit (G.Category (C));
+    end Is_Digit;
+ 
+    ---------------
+    -- Is_Letter --
+    ---------------
+ 
+    function Is_Letter (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Letter (Wide_Wide_Character'Pos (U));
+    end Is_Letter;
+ 
+    function Is_Letter (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Letter (G.Category (C));
+    end Is_Letter;
+ 
+    ------------------------
+    -- Is_Line_Terminator --
+    ------------------------
+ 
+    function Is_Line_Terminator (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Line_Terminator (Wide_Wide_Character'Pos (U));
+    end Is_Line_Terminator;
+ 
+    -------------
+    -- Is_Mark --
+    -------------
+ 
+    function Is_Mark (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Mark (Wide_Wide_Character'Pos (U));
+    end Is_Mark;
+ 
+    function Is_Mark (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Mark (G.Category (C));
+    end Is_Mark;
+ 
+    --------------------
+    -- Is_Non_Graphic --
+    --------------------
+ 
+    function Is_Non_Graphic (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Non_Graphic (Wide_Wide_Character'Pos (U));
+    end Is_Non_Graphic;
+ 
+    function Is_Non_Graphic (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Non_Graphic (G.Category (C));
+    end Is_Non_Graphic;
+ 
+    --------------
+    -- Is_Other --
+    --------------
+ 
+    function Is_Other (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Other (Wide_Wide_Character'Pos (U));
+    end Is_Other;
+ 
+    function Is_Other (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Other (G.Category (C));
+    end Is_Other;
+ 
+    --------------------
+    -- Is_Punctuation --
+    --------------------
+ 
+    function Is_Punctuation (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Punctuation (Wide_Wide_Character'Pos (U));
+    end Is_Punctuation;
+ 
+    function Is_Punctuation (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Punctuation (G.Category (C));
+    end Is_Punctuation;
+ 
+    --------------
+    -- Is_Space --
+    --------------
+ 
+    function Is_Space (U : Wide_Wide_Character) return Boolean is
+    begin
+       return G.Is_UTF_32_Space (Wide_Wide_Character'Pos (U));
+    end Is_Space;
+ 
+    function Is_Space (C : Category) return Boolean is
+    begin
+       return G.Is_UTF_32_Space (G.Category (C));
+    end Is_Space;
+ 
+    -------------------
+    -- To_Upper_Case --
+    -------------------
+ 
+    function To_Upper_Case
+      (U : Wide_Wide_Character) return Wide_Wide_Character
+    is
+    begin
+       return
+         Wide_Wide_Character'Val
+           (G.UTF_32_To_Upper_Case (Wide_Wide_Character'Pos (U)));
+    end To_Upper_Case;
+ 
+ end Ada.Wide_Wide_Characters.Unicode;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-zchuni.ads gcc-4.1.0/gcc/ada/a-zchuni.ads
*** gcc-4.0.2/gcc/ada/a-zchuni.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/a-zchuni.ads	Tue Nov 15 14:06:45 2005
***************
*** 0 ****
--- 1,188 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT RUN-TIME COMPONENTS                         --
+ --                                                                          --
+ --    A D A . W I D E _ W I D E _ C H A R A C T E R T S . U N I C O D E    --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --            Copyright (C) 2005, Free Software Foundation, Inc.            --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  Unicode categorization routines for Wide_Wide_Character
+ 
+ with GNAT.UTF_32;
+ 
+ package Ada.Wide_Wide_Characters.Unicode is
+ 
+    --  The following type defines the categories from the unicode definitions.
+    --  The one addition we make is Fe, which represents the characters FFFE
+    --  and FFFF in any of the planes.
+ 
+    type Category is new GNAT.UTF_32.Category;
+    --  Cc   Other, Control
+    --  Cf   Other, Format
+    --  Cn   Other, Not Assigned
+    --  Co   Other, Private Use
+    --  Cs   Other, Surrogate
+    --  Ll   Letter, Lowercase
+    --  Lm   Letter, Modifier
+    --  Lo   Letter, Other
+    --  Lt   Letter, Titlecase
+    --  Lu   Letter, Uppercase
+    --  Mc   Mark, Spacing Combining
+    --  Me   Mark, Enclosing
+    --  Mn   Mark, Nonspacing
+    --  Nd   Number, Decimal Digit
+    --  Nl   Number, Letter
+    --  No   Number, Other
+    --  Pc   Punctuation, Connector
+    --  Pd   Punctuation, Dash
+    --  Pe   Punctuation, Close
+    --  Pf   Punctuation, Final quote
+    --  Pi   Punctuation, Initial quote
+    --  Po   Punctuation, Other
+    --  Ps   Punctuation, Open
+    --  Sc   Symbol, Currency
+    --  Sk   Symbol, Modifier
+    --  Sm   Symbol, Math
+    --  So   Symbol, Other
+    --  Zl   Separator, Line
+    --  Zp   Separator, Paragraph
+    --  Zs   Separator, Space
+    --  Fe   relative position FFFE/FFFF in plane
+ 
+    function Get_Category (U : Wide_Wide_Character) return Category;
+    pragma Inline (Get_Category);
+    --  Given a Wide_Wide_Character, returns corresponding Category, or Cn if
+    --  the code does not have an assigned unicode category.
+ 
+    --  The following functions perform category tests corresponding to lexical
+    --  classes defined in the Ada standard. There are two interfaces for each
+    --  function. The second takes a Category (e.g. returned by Get_Category).
+    --  The first takes a Wide_Wide_Character. The form taking the
+    --  Wide_Wide_Character is typically more efficient than calling
+    --  Get_Category, but if several different tests are to be performed on the
+    --  same code, it is more efficient to use Get_Category to get the category,
+    --  then test the resulting category.
+ 
+    function Is_Letter (U : Wide_Wide_Character) return Boolean;
+    function Is_Letter (C : Category)            return Boolean;
+    pragma Inline (Is_Letter);
+    --  Returns true iff U is a letter that can be used to start an identifier,
+    --  or if C is one of the corresponding categories, which are the following:
+    --    Letter, Uppercase (Lu)
+    --    Letter, Lowercase (Ll)
+    --    Letter, Titlecase (Lt)
+    --    Letter, Modifier  (Lm)
+    --    Letter, Other     (Lo)
+    --    Number, Letter    (Nl)
+ 
+    function Is_Digit (U : Wide_Wide_Character) return Boolean;
+    function Is_Digit (C : Category)            return Boolean;
+    pragma Inline (Is_Digit);
+    --  Returns true iff U is a digit that can be used to extend an identifer,
+    --  or if C is one of the corresponding categories, which are the following:
+    --    Number, Decimal_Digit (Nd)
+ 
+    function Is_Line_Terminator (U : Wide_Wide_Character) return Boolean;
+    pragma Inline (Is_Line_Terminator);
+    --  Returns true iff U is an allowed line terminator for source programs,
+    --  if U is in the category Zp (Separator, Paragaph), or Zs (Separator,
+    --  Line), or if U is a conventional line terminator (CR, LF, VT, FF).
+    --  There is no category version for this function, since the set of
+    --  characters does not correspond to a set of Unicode categories.
+ 
+    function Is_Mark (U : Wide_Wide_Character) return Boolean;
+    function Is_Mark (C : Category)            return Boolean;
+    pragma Inline (Is_Mark);
+    --  Returns true iff U is a mark character which can be used to extend an
+    --  identifier, or if C is one of the corresponding categories, which are
+    --  the following:
+    --    Mark, Non-Spacing (Mn)
+    --    Mark, Spacing Combining (Mc)
+ 
+    function Is_Other (U : Wide_Wide_Character) return Boolean;
+    function Is_Other (C : Category)            return Boolean;
+    pragma Inline (Is_Other);
+    --  Returns true iff U is an other format character, which means that it
+    --  can be used to extend an identifier, but is ignored for the purposes of
+    --  matching of identiers, or if C is one of the corresponding categories,
+    --  which are the following:
+    --    Other, Format (Cf)
+ 
+    function Is_Punctuation (U : Wide_Wide_Character) return Boolean;
+    function Is_Punctuation (C : Category)            return Boolean;
+    pragma Inline (Is_Punctuation);
+    --  Returns true iff U is a punctuation character that can be used to
+    --  separate pices of an identifier, or if C is one of the corresponding
+    --  categories, which are the following:
+    --    Punctuation, Connector (Pc)
+ 
+    function Is_Space (U : Wide_Wide_Character) return Boolean;
+    function Is_Space (C : Category)            return Boolean;
+    pragma Inline (Is_Space);
+    --  Returns true iff U is considered a space to be ignored, or if C is one
+    --  of the corresponding categories, which are the following:
+    --    Separator, Space (Zs)
+ 
+    function Is_Non_Graphic (U : Wide_Wide_Character) return Boolean;
+    function Is_Non_Graphic (C : Category)            return Boolean;
+    pragma Inline (Is_Non_Graphic);
+    --  Returns true iff U is considered to be a non-graphic character, or if C
+    --  is one of the corresponding categories, which are the following:
+    --    Other, Control (Cc)
+    --    Other, Private Use (Co)
+    --    Other, Surrogate (Cs)
+    --    Separator, Line (Zl)
+    --    Separator, Paragraph (Zp)
+    --    FFFE or FFFF positions in any plane (Fe)
+    --
+    --  Note that the Ada category format effector is subsumed by the above
+    --  list of Unicode categories.
+    --
+    --  Note that Other, Unassiged (Cn) is quite deliberately not included
+    --  in the list of categories above. This means that should any of these
+    --  code positions be defined in future with graphic characters they will
+    --  be allowed without a need to change implementations or the standard.
+    --
+    --  Note that Other, Format (Cf) is also quite deliberately not included
+    --  in the list of categories above. This means that these characters can
+    --  be included in character and string literals.
+ 
+    --  The following function is used to fold to upper case, as required by
+    --  the Ada 2005 standard rules for identifier case folding. Two
+    --  identifiers are equivalent if they are identical after folding all
+    --  letters to upper case using this routine.
+ 
+    function To_Upper_Case
+      (U : Wide_Wide_Character) return Wide_Wide_Character;
+    pragma Inline (To_Upper_Case);
+    --  If U represents a lower case letter, returns the corresponding upper
+    --  case letter, otherwise U is returned unchanged. The folding is locale
+    --  independent as defined by documents referenced in the note in section
+    --  1 of ISO/IEC 10646:2003
+ 
+ end Ada.Wide_Wide_Characters.Unicode;
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcoau.adb gcc-4.1.0/gcc/ada/a-ztcoau.adb
*** gcc-4.0.2/gcc/ada/a-ztcoau.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcoau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . C O M P L E X _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . C O M P L E X _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Wide_Text_IO.Compl
*** 194,200 ****
  
        To (To'Last) := ')';
  
- 
        To (To'Last - Iptr .. To'Last - 1) := I_String (1 .. Iptr);
  
        for J in To'First + Rptr + 2 .. To'Last - Iptr - 1 loop
--- 194,199 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcoau.ads gcc-4.1.0/gcc/ada/a-ztcoau.ads
*** gcc-4.0.2/gcc/ada/a-ztcoau.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcoau.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . C O M P L E X _ A U X     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . C O M P L E X _ A U X     --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcoio.adb gcc-4.1.0/gcc/ada/a-ztcoio.adb
*** gcc-4.0.2/gcc/ada/a-ztcoio.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ IO . C O M P L E X _ I O      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ IO . C O M P L E X _ I O      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcoio.ads gcc-4.1.0/gcc/ada/a-ztcoio.ads
*** gcc-4.0.2/gcc/ada/a-ztcoio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcoio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ IO . C O M P L E X _ I O      --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ IO . C O M P L E X _ I O      --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcstr.adb gcc-4.1.0/gcc/ada/a-ztcstr.adb
*** gcc-4.0.2/gcc/ada/a-ztcstr.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcstr.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztcstr.ads gcc-4.1.0/gcc/ada/a-ztcstr.ads
*** gcc-4.0.2/gcc/ada/a-ztcstr.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztcstr.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . C _ S T R E A M S       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . C _ S T R E A M S       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztdeau.adb gcc-4.1.0/gcc/ada/a-ztdeau.adb
*** gcc-4.0.2/gcc/ada/a-ztdeau.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztdeau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . D E C I M A L _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . D E C I M A L _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztdeau.ads gcc-4.1.0/gcc/ada/a-ztdeau.ads
*** gcc-4.0.2/gcc/ada/a-ztdeau.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztdeau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztdeio.adb gcc-4.1.0/gcc/ada/a-ztdeio.adb
*** gcc-4.0.2/gcc/ada/a-ztdeio.adb	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztdeio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . D E C I M A L _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . D E C I M A L _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with Ada.Wide_Wide_Text_IO.Decimal_Aux;
+ 
  with System.WCh_Con; use System.WCh_Con;
  with System.WCh_WtS; use System.WCh_WtS;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztdeio.ads gcc-4.1.0/gcc/ada/a-ztdeio.ads
*** gcc-4.0.2/gcc/ada/a-ztdeio.ads	Wed Feb  9 11:14:41 2005
--- gcc-4.1.0/gcc/ada/a-ztdeio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztedit.adb gcc-4.1.0/gcc/ada/a-ztedit.adb
*** gcc-4.0.2/gcc/ada/a-ztedit.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztedit.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 267,273 ****
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last was a ')' throw it away too.
  
                 Picture_Index := Last + 1;
  
--- 267,273 ----
  
                 Result_Index := Result_Index + Count - 1;
  
!                --  Last was a ')' throw it away too
  
                 Picture_Index := Last + 1;
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 314,323 ****
        Currency_Pos  : Integer := Pic.Start_Currency;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary.
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output.
  
     begin
  
--- 314,323 ----
        Currency_Pos  : Integer := Pic.Start_Currency;
  
        Dollar : Boolean := False;
!       --  Overridden immediately if necessary
  
        Zero : Boolean := True;
!       --  Set to False when a non-zero digit is output
  
     begin
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 857,867 ****
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill.
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it.
  
           Last := Answer'Last;
  
--- 857,867 ----
           end case;
        end loop;
  
!       --  Now get rid of Blank_when_Zero and complete Star fill
  
        if Zero and Pic.Blank_When_Zero then
  
!          --  Value is zero, and blank it
  
           Last := Answer'Last;
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1065,1071 ****
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no.
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
--- 1065,1071 ----
                    raise Picture_Error;
                 end if;
  
!                --  Two decimal points is a no-no
  
                 Answer.Has_Fraction    := True;
                 Answer.End_Of_Fraction := J;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1085,1091 ****
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (intger) digits needs a null range.
  
        return Answer;
     end Parse_Number_String;
--- 1085,1091 ----
           Answer.Start_Of_Int := Answer.End_Of_Int + 1;
        end if;
  
!       --  No significant (intger) digits needs a null range
  
        return Answer;
     end Parse_Number_String;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1118,1124 ****
  
        type Legality is  (Okay, Reject);
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings.
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
--- 1118,1124 ----
  
        type Legality is  (Okay, Reject);
        State : Legality := Reject;
!       --  Start in reject, which will reject null strings
  
        Index : Pic_Index := Pic.Picture.Expanded'First;
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1418,1426 ****
        -- Leading_Dollar --
        --------------------
  
!       --  Note that Leading_Dollar can be called in either State.
!       --  It will set state to Okay only if a 9 or (second) $
!       --  is encountered.
  
        --  Also notice the tricky bit with State and Zero_Suppression.
        --  Zero_Suppression is Picture_Error if a '$' or a '9' has been
--- 1418,1425 ----
        -- Leading_Dollar --
        --------------------
  
!       --  Note that Leading_Dollar can be called in either State. It will set
!       --  state to Okay only if a 9 or (second) is encountered.
  
        --  Also notice the tricky bit with State and Zero_Suppression.
        --  Zero_Suppression is Picture_Error if a '$' or a '9' has been
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1428,1434 ****
  
        procedure Leading_Dollar is
        begin
!          --  Treat as a floating dollar, and unwind otherwise.
  
           Pic.Floater := '$';
           Pic.Start_Currency := Index;
--- 1427,1433 ----
  
        procedure Leading_Dollar is
        begin
!          --  Treat as a floating dollar, and unwind otherwise
  
           Pic.Floater := '$';
           Pic.Start_Currency := Index;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1497,1503 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make.
  
                    Number_Completion;
                    return;
--- 1496,1502 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  A single dollar does not a floating make
  
                    Number_Completion;
                    return;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1509,1516 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1508,1515 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one dollar before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1533,1540 ****
        --  this procedure.  Also note that Leading_Pound can be called in
        --  either State.
  
!       --  It will set state to Okay only if a 9 or  (second) # is
!       --  encountered.
  
        --  One Last note:  In ambiguous cases, the currency is treated as
        --  floating unless there is only one '#'.
--- 1532,1538 ----
        --  this procedure.  Also note that Leading_Pound can be called in
        --  either State.
  
!       --  It will set state to Okay only if a 9 or (second) # is encountered
  
        --  One Last note:  In ambiguous cases, the currency is treated as
        --  floating unless there is only one '#'.
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1545,1551 ****
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert.
  
        begin
           --  Treat as a floating currency. If it isn't, this will be
--- 1543,1549 ----
           --  Set to True if a '_', '0', '/', 'B', or 'b' is encountered
  
           Must_Float : Boolean := False;
!          --  Set to true if a '#' occurs after an insert
  
        begin
           --  Treat as a floating currency. If it isn't, this will be
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1621,1627 ****
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float.
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
--- 1619,1625 ----
                 when '9' =>
                    if State /= Okay then
  
!                      --  A single '#' doesn't float
  
                       Pic.Floater := '!';
                       Pic.Start_Float := Invalid_Position;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1638,1645 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay,
!                   --  but doesn't float.
  
                    Pic.Radix_Position := Index;
                    Skip;
--- 1636,1643 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Only one pound before the sign is okay, but doesn't
!                   --  float.
  
                    Pic.Radix_Position := Index;
                    Skip;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 1702,1708 ****
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen.
  
           end loop;
        end Number;
--- 1700,1706 ----
                 return;
              end if;
  
!             --  Will return in Okay state if a '9' was seen
  
           end loop;
        end Number;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2132,2138 ****
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State.
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
--- 2130,2136 ----
        -- Picture --
        -------------
  
!       --  Note that Picture can be called in either State
  
        --  It will set state to Valid only if a 9 is encountered or floating
        --  currency is called.
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2190,2196 ****
           Pic.Sign_Position := Index;
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
--- 2188,2194 ----
           Pic.Sign_Position := Index;
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '<';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2260,2266 ****
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
--- 2258,2264 ----
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '-';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2305,2311 ****
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign.
  
                    if State = Okay then
                       Set_State (Reject);
--- 2303,2309 ----
  
                 when 'Z' | 'z' =>
  
!                   --  Can't have Z and a floating sign
  
                    if State = Okay then
                       Set_State (Reject);
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2324,2330 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2322,2328 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2344,2350 ****
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise.
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
--- 2342,2348 ----
        begin
           Pic.Sign_Position := Index;
  
!          --  Treat as a floating sign, and unwind otherwise
  
           Pic.Floater := '+';
           Pic.Start_Float := Index;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2371,2377 ****
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough.
                    Floating_Plus;
                    Trailing_Currency;
                    return;
--- 2369,2375 ----
                    Pic.Max_Leading_Digits := Pic.Max_Leading_Digits + 1;
                    Pic.End_Float := Index;
                    Skip;
!                   Set_State (Okay);  --  "++" is enough
                    Floating_Plus;
                    Trailing_Currency;
                    return;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2392,2398 ****
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign.
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
--- 2390,2396 ----
                       Set_State (Reject);
                    end if;
  
!                   --  Can't have Z and a floating sign
  
                    Pic.Picture.Expanded (Index) := 'Z'; -- consistency
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2412,2418 ****
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit.
  
                    Picture;
                    return;
--- 2410,2416 ----
                       Pic.End_Float := Invalid_Position;
                    end if;
  
!                   --  Don't assume that state is okay, haven't seen a digit
  
                    Picture;
                    return;
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2476,2482 ****
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'.
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
--- 2474,2480 ----
           Pic.Blank_When_Zero :=
             (Computed_BWZ or Pic.Blank_When_Zero) and not Pic.Star_Fill;
  
!          --  Star fill if '*' and no '9'
  
           Pic.Star_Fill := Pic.Star_Fill and Computed_BWZ;
  
*************** package body Ada.Wide_Wide_Text_IO.Editi
*** 2695,2701 ****
  
        when Constraint_Error =>
  
!          --  To deal with special cases like null strings.
  
        raise Picture_Error;
  
--- 2693,2699 ----
  
        when Constraint_Error =>
  
!          --  To deal with special cases like null strings
  
        raise Picture_Error;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztedit.ads gcc-4.1.0/gcc/ada/a-ztedit.ads
*** gcc-4.0.2/gcc/ada/a-ztedit.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztedit.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztenau.adb gcc-4.1.0/gcc/ada/a-ztenau.adb
*** gcc-4.0.2/gcc/ada/a-ztenau.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztenau.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  -- A D A . W I D E _ W I D E _ T E X T _ I O . E N U M E R A T I O N _ A U X--
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  -- A D A . W I D E _ W I D E _ T E X T _ I O . E N U M E R A T I O N _ A U X--
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with Ada.Wide_Wide_Text_IO.Generic_Aux; use Ada.Wide_Wide_Text_IO.Generic_Aux;
+ with Ada.Characters.Conversions;        use Ada.Characters.Conversions;
  with Ada.Characters.Handling;           use Ada.Characters.Handling;
  with Interfaces.C_Streams;              use Interfaces.C_Streams;
  with System.WCh_Con;                    use System.WCh_Con;
*************** package body Ada.Wide_Wide_Text_IO.Enume
*** 46,55 ****
     -----------------------
  
     procedure Store_Char
!      (WC   : Wide_Wide_Character;
!       Buf  : out Wide_Wide_String;
!       Ptr  : in out Integer);
!    --  Store a single character in buffer, checking for overflow.
  
     --  These definitions replace the ones in Ada.Characters.Handling, which
     --  do not seem to work for some strange not understood reason ??? at
--- 47,56 ----
     -----------------------
  
     procedure Store_Char
!      (WC  : Wide_Wide_Character;
!       Buf : out Wide_Wide_String;
!       Ptr : in out Integer);
!    --  Store a single character in buffer, checking for overflow
  
     --  These definitions replace the ones in Ada.Characters.Handling, which
     --  do not seem to work for some strange not understood reason ??? at
*************** package body Ada.Wide_Wide_Text_IO.Enume
*** 325,333 ****
     ----------------
  
     procedure Store_Char
!      (WC   : Wide_Wide_Character;
!       Buf  : out Wide_Wide_String;
!       Ptr  : in out Integer)
     is
     begin
        if Ptr = Buf'Last then
--- 326,334 ----
     ----------------
  
     procedure Store_Char
!      (WC  : Wide_Wide_Character;
!       Buf : out Wide_Wide_String;
!       Ptr : in out Integer)
     is
     begin
        if Ptr = Buf'Last then
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztenau.ads gcc-4.1.0/gcc/ada/a-ztenau.ads
*** gcc-4.0.2/gcc/ada/a-ztenau.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztenau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztenio.adb gcc-4.1.0/gcc/ada/a-ztenio.adb
*** gcc-4.0.2/gcc/ada/a-ztenio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztenio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --  A D A . W I D E _ W I D E _ T E X T _ I O . E N U M E R A T I O N _ I O --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --  A D A . W I D E _ W I D E _ T E X T _ I O . E N U M E R A T I O N _ I O --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztenio.ads gcc-4.1.0/gcc/ada/a-ztenio.ads
*** gcc-4.0.2/gcc/ada/a-ztenio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztenio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztexio.adb gcc-4.1.0/gcc/ada/a-ztexio.adb
*** gcc-4.0.2/gcc/ada/a-ztexio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztexio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                A D A . W I D E _ W I D E _ T E X T _ I O                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                A D A . W I D E _ W I D E _ T E X T _ I O                 --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Ada.Wide_Wide_Text_IO is
*** 988,994 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 988,994 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Wide_Text_IO is
*** 1348,1354 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1348,1354 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Wide_Text_IO is
*** 1436,1442 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1436,1442 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Wide_Text_IO is
*** 1481,1487 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1481,1487 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Wide_Text_IO is
*** 1514,1520 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if To not in Count then
           raise Constraint_Error;
        end if;
  
--- 1514,1520 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not To'Valid then
           raise Constraint_Error;
        end if;
  
*************** package body Ada.Wide_Wide_Text_IO is
*** 1572,1578 ****
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if Spacing not in Positive_Count then
           raise Constraint_Error;
        end if;
  
--- 1572,1578 ----
        --  explicit test is that we don't want junk values around, even if
        --  checks are off in the caller.
  
!       if not Spacing'Valid then
           raise Constraint_Error;
        end if;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztexio.ads gcc-4.1.0/gcc/ada/a-ztexio.ads
*** gcc-4.0.2/gcc/ada/a-ztexio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztexio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztfiio.adb gcc-4.1.0/gcc/ada/a-ztfiio.adb
*** gcc-4.0.2/gcc/ada/a-ztfiio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztfiio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --     A D A . T E X T _ I O . W I D E _ T E X T _ I O . F I X E D _ I O    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --     A D A . T E X T _ I O . W I D E _ T E X T _ I O . F I X E D _ I O    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztfiio.ads gcc-4.1.0/gcc/ada/a-ztfiio.ads
*** gcc-4.0.2/gcc/ada/a-ztfiio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztfiio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztflau.adb gcc-4.1.0/gcc/ada/a-ztflau.adb
*** gcc-4.0.2/gcc/ada/a-ztflau.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztflau.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztflau.ads gcc-4.1.0/gcc/ada/a-ztflau.ads
*** gcc-4.0.2/gcc/ada/a-ztflau.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztflau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztflio.adb gcc-4.1.0/gcc/ada/a-ztflio.adb
*** gcc-4.0.2/gcc/ada/a-ztflio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztflio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --        A D A . W I D E _ W I D E _ T E X T _ I O . F L O A T _ I O       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --        A D A . W I D E _ W I D E _ T E X T _ I O . F L O A T _ I O       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztflio.ads gcc-4.1.0/gcc/ada/a-ztflio.ads
*** gcc-4.0.2/gcc/ada/a-ztflio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztflio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztgeau.adb gcc-4.1.0/gcc/ada/a-ztgeau.adb
*** gcc-4.0.2/gcc/ada/a-ztgeau.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztgeau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . G E N E R I C _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . G E N E R I C _ A U X     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztgeau.ads gcc-4.1.0/gcc/ada/a-ztgeau.ads
*** gcc-4.0.2/gcc/ada/a-ztgeau.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztgeau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztinau.adb gcc-4.1.0/gcc/ada/a-ztinau.adb
*** gcc-4.0.2/gcc/ada/a-ztinau.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztinau.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R  _ A U X    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R  _ A U X    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztinau.ads gcc-4.1.0/gcc/ada/a-ztinau.ads
*** gcc-4.0.2/gcc/ada/a-ztinau.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztinau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztinio.adb gcc-4.1.0/gcc/ada/a-ztinio.adb
*** gcc-4.0.2/gcc/ada/a-ztinio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztinio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztinio.ads gcc-4.1.0/gcc/ada/a-ztinio.ads
*** gcc-4.0.2/gcc/ada/a-ztinio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztinio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R _ I O     --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . I N T E G E R _ I O     --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztmoau.adb gcc-4.1.0/gcc/ada/a-ztmoau.adb
*** gcc-4.0.2/gcc/ada/a-ztmoau.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztmoau.adb	Fri Jul  1 01:29:17 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . M O D U L A R  _ A U X    --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . M O D U L A R  _ A U X    --
  --                                                                          --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztmoau.ads gcc-4.1.0/gcc/ada/a-ztmoau.ads
*** gcc-4.0.2/gcc/ada/a-ztmoau.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztmoau.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztmoio.adb gcc-4.1.0/gcc/ada/a-ztmoio.adb
*** gcc-4.0.2/gcc/ada/a-ztmoio.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztmoio.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . M O D U L A R _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --      A D A . W I D E _ W I D E _ T E X T _ I O . M O D U L A R _ I O     --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-ztmoio.ads gcc-4.1.0/gcc/ada/a-ztmoio.ads
*** gcc-4.0.2/gcc/ada/a-ztmoio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-ztmoio.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-zttest.adb gcc-4.1.0/gcc/ada/a-zttest.adb
*** gcc-4.0.2/gcc/ada/a-zttest.adb	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-zttest.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . T E X T _ S T R E A M S   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --    A D A . W I D E _ W I D E _ T E X T _ I O . T E X T _ S T R E A M S   --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/a-zzunio.ads gcc-4.1.0/gcc/ada/a-zzunio.ads
*** gcc-4.0.2/gcc/ada/a-zzunio.ads	Wed Feb  9 11:14:42 2005
--- gcc-4.1.0/gcc/ada/a-zzunio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --               ADA.WIDE_WIDE_TEXT_IO.WIDE_WIDE_UNBOUNDED_IO               --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --               ADA.WIDE_WIDE_TEXT_IO.WIDE_WIDE_UNBOUNDED_IO               --
  --                                                                          --
***************
*** 19,25 ****
  --  straightforward implementation anyway, since we need access to the
  --  internal representation of Unbounded_Wide_Wide_String.
  
- 
  with Ada.Strings.Wide_Wide_Unbounded;
  with Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO;
  
--- 19,24 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/ada-tree.def gcc-4.1.0/gcc/ada/ada-tree.def
*** gcc-4.0.2/gcc/ada/ada-tree.def	Fri Sep 17 21:54:47 2004
--- gcc-4.1.0/gcc/ada/ada-tree.def	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
diff -Nrcpad gcc-4.0.2/gcc/ada/ada-tree.h gcc-4.1.0/gcc/ada/ada-tree.h
*** gcc-4.0.2/gcc/ada/ada-tree.h	Thu Feb 10 13:50:48 2005
--- gcc-4.1.0/gcc/ada/ada-tree.h	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
*************** struct lang_type GTY(()) {tree t; };
*** 260,265 ****
--- 260,268 ----
  /* Nonzero in a PARM_DECL if we are to pass by descriptor.  */
  #define DECL_BY_DESCRIPTOR_P(NODE) DECL_LANG_FLAG_5 (PARM_DECL_CHECK (NODE))
  
+ /* Nonzero in a VAR_DECL if it is a pointer renaming a global object.  */
+ #define DECL_RENAMING_GLOBAL_P(NODE) DECL_LANG_FLAG_5 (VAR_DECL_CHECK (NODE))
+ 
  /* In a CONST_DECL, points to a VAR_DECL that is allocatable to
     memory.  Used when a scalar constant is aliased or has its
     address taken.  */
*************** struct lang_type GTY(()) {tree t; };
*** 275,280 ****
--- 278,291 ----
  #define SET_DECL_ORIGINAL_FIELD(NODE, X) \
    SET_DECL_LANG_SPECIFIC (FIELD_DECL_CHECK (NODE), X)
  
+ /* In a VAR_DECL, points to the object being renamed if the VAR_DECL is a
+    renaming pointer, otherwise 0.  Note that this object is guaranteed to
+    be protected against multiple evaluations.  */
+ #define DECL_RENAMED_OBJECT(NODE) \
+   GET_DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE))
+ #define SET_DECL_RENAMED_OBJECT(NODE, X) \
+   SET_DECL_LANG_SPECIFIC (VAR_DECL_CHECK (NODE), X)
+ 
  /* In a FIELD_DECL corresponding to a discriminant, contains the
     discriminant number.  */
  #define DECL_DISCRIMINANT_NUMBER(NODE) DECL_INITIAL (FIELD_DECL_CHECK (NODE))
diff -Nrcpad gcc-4.0.2/gcc/ada/ada.ads gcc-4.1.0/gcc/ada/ada.ads
*** gcc-4.0.2/gcc/ada/ada.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/ada.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                                  A D A                                   --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                                  A D A                                   --
  --                                                                          --
***************
*** 14,19 ****
  ------------------------------------------------------------------------------
  
  package Ada is
! pragma Pure (Ada);
  
  end Ada;
--- 14,19 ----
  ------------------------------------------------------------------------------
  
  package Ada is
!    pragma Pure;
  
  end Ada;
diff -Nrcpad gcc-4.0.2/gcc/ada/ada.h gcc-4.1.0/gcc/ada/ada.h
*** gcc-4.0.2/gcc/ada/ada.h	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/ada.h	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/adadecode.c gcc-4.1.0/gcc/ada/adadecode.c
*** gcc-4.0.2/gcc/ada/adadecode.c	Mon Nov 24 16:38:39 2003
--- gcc-4.1.0/gcc/ada/adadecode.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/adadecode.h gcc-4.1.0/gcc/ada/adadecode.h
*** gcc-4.0.2/gcc/ada/adadecode.h	Fri Oct 24 13:02:42 2003
--- gcc-4.1.0/gcc/ada/adadecode.h	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/adaint.c gcc-4.1.0/gcc/ada/adaint.c
*** gcc-4.0.2/gcc/ada/adaint.c	Thu Feb 10 13:51:58 2005
--- gcc-4.1.0/gcc/ada/adaint.c	Tue Nov 15 13:52:31 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
***************
*** 52,57 ****
--- 52,59 ----
  
  #ifdef VMS
  #define _POSIX_EXIT 1
+ #define HOST_EXECUTABLE_SUFFIX ".exe"
+ #define HOST_OBJECT_SUFFIX ".obj"
  #endif
  
  #ifdef IN_RTS
***************
*** 87,92 ****
--- 89,96 ----
  #if OLD_MINGW
  #include <sys/wait.h>
  #endif
+ #elif defined (__vxworks) && defined (__RTP__)
+ #include <wait.h>
  #else
  #include <sys/wait.h>
  #endif
***************
*** 96,108 ****
  
  /* Header files and definitions for __gnat_set_file_time_name.  */
  
! #include <rms.h>
! #include <atrdef.h>
! #include <fibdef.h>
! #include <stsdef.h>
! #include <iodef.h>
  #include <errno.h>
! #include <descrip.h>
  #include <string.h>
  #include <unixlib.h>
  
--- 100,112 ----
  
  /* Header files and definitions for __gnat_set_file_time_name.  */
  
! #include <vms/rms.h>
! #include <vms/atrdef.h>
! #include <vms/fibdef.h>
! #include <vms/stsdef.h>
! #include <vms/iodef.h>
  #include <errno.h>
! #include <vms/descrip.h>
  #include <string.h>
  #include <unixlib.h>
  
*************** struct vstring
*** 191,196 ****
--- 195,207 ----
  #define DIR_SEPARATOR '/'
  #endif
  
+ /* Check for cross-compilation */
+ #ifdef CROSS_COMPILE
+ int __gnat_is_cross_compiler = 1;
+ #else
+ int __gnat_is_cross_compiler = 0;
+ #endif
+ 
  char __gnat_dir_separator = DIR_SEPARATOR;
  
  char __gnat_path_separator = PATH_SEPARATOR;
*************** const int __gnat_vmsp = 0;
*** 261,267 ****
--- 272,282 ----
  #include <sys/param.h>
  #endif
  
+ #ifdef MAXPATHLEN
  #define GNAT_MAX_PATH_LEN MAXPATHLEN
+ #else
+ #define GNAT_MAX_PATH_LEN 256
+ #endif
  
  #endif
  
*************** __gnat_set_env_value (char *name, char *
*** 1306,1312 ****
  	*next = 0;
  	ile_array[i].len = strlen (curr);
  
! 	/* Code 2 from lnmdef.h means its a string.  */
  	ile_array[i].code = 2;
  	ile_array[i].adr = curr;
  
--- 1321,1327 ----
  	*next = 0;
  	ile_array[i].len = strlen (curr);
  
! 	/* Code 2 from lnmdef.h means it's a string.  */
  	ile_array[i].code = 2;
  	ile_array[i].adr = curr;
  
*************** __gnat_set_env_value (char *name, char *
*** 1326,1331 ****
--- 1341,1349 ----
        LIB$SIGNAL (status);
    }
  
+ #elif defined (__vxworks) && defined (__RTP__)
+   setenv (name, value, 1);
+ 
  #else
    int size = strlen (name) + strlen (value) + 2;
    char *expression;
*************** __gnat_portable_spawn (char *args[])
*** 1577,1583 ****
    strcat (args[0], args_0);
    strcat (args[0], "\"");
  
!   status = spawnvp (P_WAIT, args_0, (char* const*)args);
  
    /* restore previous value */
    free (args[0]);
--- 1595,1601 ----
    strcat (args[0], args_0);
    strcat (args[0], "\"");
  
!   status = spawnvp (P_WAIT, args_0, (const char* const*)args);
  
    /* restore previous value */
    free (args[0]);
*************** __gnat_portable_spawn (char *args[])
*** 1632,1653 ****
  int
  __gnat_dup (int oldfd)
  {
! #if defined (__vxworks)
!    /* Not supported on VxWorks.  */
!    return -1;
  #else
!    return dup (oldfd);
  #endif
  }
  
  /* Make newfd be the copy of oldfd, closing newfd first if necessary.
!    Return -1 if an error occured.  */
  
  int
  __gnat_dup2 (int oldfd, int newfd)
  {
! #if defined (__vxworks)
!   /* Not supported on VxWorks.  */
    return -1;
  #else
    return dup2 (oldfd, newfd);
--- 1650,1673 ----
  int
  __gnat_dup (int oldfd)
  {
! #if defined (__vxworks) && !defined (__RTP__)
!   /* Not supported on VxWorks 5.x, but supported on VxWorks 6.0 when using
!      RTPs. */
!   return -1;
  #else
!   return dup (oldfd);
  #endif
  }
  
  /* Make newfd be the copy of oldfd, closing newfd first if necessary.
!    Return -1 if an error occurred.  */
  
  int
  __gnat_dup2 (int oldfd, int newfd)
  {
! #if defined (__vxworks) && !defined (__RTP__)
!   /* Not supported on VxWorks 5.x, but supported on VxWorks 6.0 when using
!      RTPs.  */
    return -1;
  #else
    return dup2 (oldfd, newfd);
*************** __gnat_portable_wait (int *process_statu
*** 1925,1947 ****
    return pid;
  }
  
- int
- __gnat_waitpid (int pid)
- {
-   int status = 0;
- 
- #if defined (_WIN32)
-   cwait (&status, pid, _WAIT_CHILD);
- #elif defined (__EMX__) || defined (MSDOS) || defined (__vxworks)
-   /* Status is already zero, so nothing to do.  */
- #else
-   waitpid (pid, &status, 0);
-   status =  WEXITSTATUS (status);
- #endif
- 
-   return status;
- }
- 
  void
  __gnat_os_exit (int status)
  {
--- 1945,1950 ----
*************** char *
*** 1954,1966 ****
  __gnat_locate_regular_file (char *file_name, char *path_val)
  {
    char *ptr;
!   int absolute = __gnat_is_absolute_path (file_name, strlen (file_name));
  
    /* Handle absolute pathnames.  */
    if (absolute)
      {
!      if (__gnat_is_regular_file (file_name))
!        return xstrdup (file_name);
  
        return 0;
      }
--- 1957,1986 ----
  __gnat_locate_regular_file (char *file_name, char *path_val)
  {
    char *ptr;
!   char *file_path = alloca (strlen (file_name) + 1);
!   int absolute;
! 
!   /* Remove quotes around file_name if present */
! 
!   ptr = file_name;
!   if (*ptr == '"')
!     ptr++;
! 
!   strcpy (file_path, ptr);
! 
!   ptr = file_path + strlen (file_path) - 1;
! 
!   if (*ptr == '"')
!     *ptr = '\0';
  
    /* Handle absolute pathnames.  */
+ 
+   absolute = __gnat_is_absolute_path (file_path, strlen (file_name));
+ 
    if (absolute)
      {
!      if (__gnat_is_regular_file (file_path))
!        return xstrdup (file_path);
  
        return 0;
      }
*************** __gnat_locate_regular_file (char *file_n
*** 1991,2000 ****
        if (*path_val == 0)
          return 0;
  
        for (ptr = file_path; *path_val && *path_val != PATH_SEPARATOR; )
!         *ptr++ = *path_val++;
  
        ptr--;
        if (*ptr != '/' && *ptr != DIR_SEPARATOR)
          *++ptr = DIR_SEPARATOR;
  
--- 2011,2031 ----
        if (*path_val == 0)
          return 0;
  
+       /* Skip the starting quote */
+ 
+       if (*path_val == '"')
+ 	path_val++;
+ 
        for (ptr = file_path; *path_val && *path_val != PATH_SEPARATOR; )
! 	*ptr++ = *path_val++;
  
        ptr--;
+ 
+       /* Skip the ending quote */
+ 
+       if (*ptr == '"')
+ 	ptr--;
+ 
        if (*ptr != '/' && *ptr != DIR_SEPARATOR)
          *++ptr = DIR_SEPARATOR;
  
*************** __gnat_locate_regular_file (char *file_n
*** 2015,2020 ****
--- 2046,2052 ----
  char *
  __gnat_locate_exec (char *exec_name, char *path_val)
  {
+   char *ptr;
    if (!strstr (exec_name, HOST_EXECUTABLE_SUFFIX))
      {
        char *full_exec_name
*************** __gnat_locate_exec (char *exec_name, cha
*** 2022,2028 ****
  
        strcpy (full_exec_name, exec_name);
        strcat (full_exec_name, HOST_EXECUTABLE_SUFFIX);
!       return __gnat_locate_regular_file (full_exec_name, path_val);
      }
    else
      return __gnat_locate_regular_file (exec_name, path_val);
--- 2054,2064 ----
  
        strcpy (full_exec_name, exec_name);
        strcat (full_exec_name, HOST_EXECUTABLE_SUFFIX);
!       ptr = __gnat_locate_regular_file (full_exec_name, path_val);
! 
!       if (ptr == 0)
!          return __gnat_locate_regular_file (exec_name, path_val);
!       return ptr;
      }
    else
      return __gnat_locate_regular_file (exec_name, path_val);
*************** __gnat_locate_exec_on_path (char *exec_n
*** 2041,2060 ****
  #endif
  #ifdef _WIN32
    /* In Win32 systems we expand the PATH as for XP environment
!      variables are not automatically expanded.  */
!   int len = strlen (path_val) * 3;
!   char *expanded_path_val = alloca (len + 1);
  
!   DWORD res = ExpandEnvironmentStrings (path_val, expanded_path_val, len);
  
!   if (res != 0)
!     {
!       path_val = expanded_path_val;
!     }
! #endif
  
    apath_val = alloca (strlen (path_val) + 1);
    strcpy (apath_val, path_val);
  
    return __gnat_locate_exec (exec_name, apath_val);
  }
--- 2077,2100 ----
  #endif
  #ifdef _WIN32
    /* In Win32 systems we expand the PATH as for XP environment
!      variables are not automatically expanded. We also prepend the
!      ".;" to the path to match normal NT path search semantics */
  
!   #define EXPAND_BUFFER_SIZE 32767
  
!   apath_val = alloca (EXPAND_BUFFER_SIZE);
! 
!   apath_val [0] = '.';
!   apath_val [1] = ';';
! 
!   DWORD res = ExpandEnvironmentStrings
!     (path_val, apath_val + 2, EXPAND_BUFFER_SIZE - 2);
  
+   if (!res) apath_val [0] = '\0';
+ #else
    apath_val = alloca (strlen (path_val) + 1);
    strcpy (apath_val, path_val);
+ #endif
  
    return __gnat_locate_exec (exec_name, apath_val);
  }
*************** __gnat_to_canonical_dir_spec (char *dirs
*** 2219,2236 ****
  }
  
  /* Translate a VMS syntax file specification into Unix syntax.
!    If no indicators of VMS syntax found, return input string.  */
  
  char *
  __gnat_to_canonical_file_spec (char *filespec)
  {
    strncpy (new_canonical_filespec, "", MAXPATH);
  
    if (strchr (filespec, ']') || strchr (filespec, ':'))
      {
!       strncpy (new_canonical_filespec,
! 	       (char *) decc$translate_vms (filespec),
! 	       MAXPATH);
      }
    else
      {
--- 2259,2291 ----
  }
  
  /* Translate a VMS syntax file specification into Unix syntax.
!    If no indicators of VMS syntax found, check if it's an uppercase
!    alphanumeric_ name and if so try it out as an environment
!    variable (logical name). If all else fails return the
!    input string.  */
  
  char *
  __gnat_to_canonical_file_spec (char *filespec)
  {
+   char *filespec1;
+ 
    strncpy (new_canonical_filespec, "", MAXPATH);
  
    if (strchr (filespec, ']') || strchr (filespec, ':'))
      {
!       char *tspec = (char *) decc$translate_vms (filespec);
! 
!       if (tspec != (char *) -1)
! 	strncpy (new_canonical_filespec, tspec, MAXPATH);
!     }
!   else if ((strlen (filespec) == strspn (filespec,
! 	    "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"))
! 	&& (filespec1 = getenv (filespec)))
!     {
!       char *tspec = (char *) decc$translate_vms (filespec1);
! 
!       if (tspec != (char *) -1)
! 	strncpy (new_canonical_filespec, tspec, MAXPATH);
      }
    else
      {
*************** _flush_cache()
*** 2487,2504 ****
  #endif
  
  #if defined (CROSS_COMPILE)  \
!   || (! (defined (sparc) && defined (sun) && defined (__SVR4)) \
!       && ! (defined (linux) && defined (i386)) \
        && ! defined (__FreeBSD__) \
        && ! defined (__hpux__) \
        && ! defined (_AIX) \
        && ! (defined (__alpha__)  && defined (__osf__)) \
        && ! defined (__MINGW32__) \
        && ! (defined (__mips) && defined (__sgi)))
  
! /* Dummy function to satisfy g-trasym.o.  Currently Solaris sparc, HP/UX,
!    GNU/Linux x86, Tru64 & Windows provide a non-dummy version of this
!    procedure in libaddr2line.a.  */
  
  void
  convert_addresses (void *addrs ATTRIBUTE_UNUSED,
--- 2542,2562 ----
  #endif
  
  #if defined (CROSS_COMPILE)  \
!   || (! ((defined (sparc) || defined (i386)) && defined (sun) \
!       && defined (__SVR4)) \
!       && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \
!       && ! (defined (linux) && defined (__ia64__)) \
        && ! defined (__FreeBSD__) \
        && ! defined (__hpux__) \
+       && ! defined (__APPLE__) \
        && ! defined (_AIX) \
        && ! (defined (__alpha__)  && defined (__osf__)) \
        && ! defined (__MINGW32__) \
        && ! (defined (__mips) && defined (__sgi)))
  
! /* Dummy function to satisfy g-trasym.o. See the preprocessor conditional
!    just above for a list of native platforms that provide a non-dummy
!    version of this procedure in libaddr2line.a.  */
  
  void
  convert_addresses (void *addrs ATTRIBUTE_UNUSED,
*************** __gnat_copy_attribs (char *from, char *t
*** 2580,2606 ****
  #endif
  }
  
- /* This function is installed in libgcc.a.  */
- extern void __gnat_install_locks (void (*) (void), void (*) (void));
- 
- /* This function offers a hook for libgnarl to set the
-    locking subprograms for libgcc_eh.
-    This is only needed on OpenVMS, since other platforms use standard
-    --enable-threads=posix option, or similar.  */
- 
- void
- __gnatlib_install_locks (void (*lock) (void) ATTRIBUTE_UNUSED,
-                          void (*unlock) (void) ATTRIBUTE_UNUSED)
- {
- #if defined (IN_RTS) && defined (VMS)
-   __gnat_install_locks (lock, unlock);
-   /* There is a bootstrap path issue if adaint is build with this
-      symbol unresolved for the stage1 compiler. Since the compiler
-      does not use tasking, we simply make __gnatlib_install_locks
-      a no-op in this case. */
- #endif
- }
- 
  int
  __gnat_lseek (int fd, long offset, int whence)
  {
--- 2638,2643 ----
*************** get_gcc_version (void)
*** 2615,2621 ****
  }
  
  int
! __gnat_set_close_on_exec (int fd, int close_on_exec_p)
  {
  #if defined (F_GETFD) && defined (FD_CLOEXEC) && ! defined (__vxworks)
    int flags = fcntl (fd, F_GETFD, 0);
--- 2652,2659 ----
  }
  
  int
! __gnat_set_close_on_exec (int fd ATTRIBUTE_UNUSED,
!                         int close_on_exec_p ATTRIBUTE_UNUSED)
  {
  #if defined (F_GETFD) && defined (FD_CLOEXEC) && ! defined (__vxworks)
    int flags = fcntl (fd, F_GETFD, 0);
*************** __gnat_set_close_on_exec (int fd, int cl
*** 2634,2636 ****
--- 2672,2698 ----
       as by default handles are *not* inherited. */
  #endif
  }
+ 
+ /* Indicates if platforms supports automatic initialization through the
+    constructor mechanism */
+ int
+ __gnat_binder_supports_auto_init ()
+ {
+ #ifdef VMS
+    return 0;
+ #else
+    return 1;
+ #endif
+ }
+ 
+ /* Indicates that Stand-Alone Libraries are automatically initialized through
+    the constructor mechanism */
+ int
+ __gnat_sals_init_using_constructors ()
+ {
+ #if defined (__vxworks) || defined (__Lynx__) || defined (VMS)
+    return 0;
+ #else
+    return 1;
+ #endif
+ }
diff -Nrcpad gcc-4.0.2/gcc/ada/adaint.h gcc-4.1.0/gcc/ada/adaint.h
*** gcc-4.0.2/gcc/ada/adaint.h	Thu Feb 10 13:51:58 2005
--- gcc-4.1.0/gcc/ada/adaint.h	Tue Nov 15 13:52:31 2005
***************
*** 6,12 ****
   *                                                                          *
   *                              C Header File                               *
   *                                                                          *
!  *          Copyright (C) 1992-2005 Free Software Foundation, Inc.          *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                              C Header File                               *
   *                                                                          *
!  *          Copyright (C) 1992-2005, Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
*************** extern int    __gnat_is_symbolic_link		 
*** 93,99 ****
  extern int    __gnat_portable_spawn                (char *[]);
  extern int    __gnat_portable_no_block_spawn       (char *[]);
  extern int    __gnat_portable_wait                 (int *);
- extern int    __gnat_waitpid			   (int);
  extern char  *__gnat_locate_exec                   (char *, char *);
  extern char  *__gnat_locate_exec_on_path	   (char *);
  extern char  *__gnat_locate_regular_file           (char *, char *);
--- 93,98 ----
*************** extern void   __gnat_plist_init         
*** 165,171 ****
  /* This function returns the version of GCC being used.  Here it's GCC 3.  */
  extern int get_gcc_version		     (void);
  
! /* This function offers a hook for libgnarl to set the
!    locking subprograms for libgcc_eh. */
! extern void __gnatlib_install_locks	     (void (*) (void),
! 					      void (*) (void));
--- 164,168 ----
  /* This function returns the version of GCC being used.  Here it's GCC 3.  */
  extern int get_gcc_version		     (void);
  
! extern int __gnat_binder_supports_auto_init (void);
! extern int __gnat_sals_init_using_constructors (void);
diff -Nrcpad gcc-4.0.2/gcc/ada/ali-util.adb gcc-4.1.0/gcc/ada/ali-util.adb
*** gcc-4.0.2/gcc/ada/ali-util.adb	Thu Feb 10 13:50:31 2005
--- gcc-4.1.0/gcc/ada/ali-util.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body ALI.Util is
*** 271,277 ****
                   Scan_ALI
                     (F         => Afile,
                      T         => Text,
!                     Ignore_ED => Force_RM_Elaboration_Order,
                      Err       => False);
  
                 Free (Text);
--- 271,277 ----
                   Scan_ALI
                     (F         => Afile,
                      T         => Text,
!                     Ignore_ED => False,
                      Err       => False);
  
                 Free (Text);
diff -Nrcpad gcc-4.0.2/gcc/ada/ali-util.ads gcc-4.1.0/gcc/ada/ali-util.ads
*** gcc-4.0.2/gcc/ada/ali-util.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/ali-util.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/ali.adb gcc-4.1.0/gcc/ada/ali.adb
*** gcc-4.0.2/gcc/ada/ali.adb	Thu Feb 10 13:50:28 2005
--- gcc-4.1.0/gcc/ada/ali.adb	Tue Nov 15 13:56:27 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body ALI is
*** 208,213 ****
--- 208,223 ----
        function Nextc return Character;
        --  Return current character without modifying pointer P
  
+       procedure Get_Typeref
+         (Current_File_Num : Sdep_Id;
+          Ref             : out Tref_Kind;
+          File_Num        : out Sdep_Id;
+          Line            : out Nat;
+          Ref_Type        : out Character;
+          Col             : out Nat;
+          Standard_Entity : out Name_Id);
+       --  Parse the definition of a typeref (<...>, {...} or (...))
+ 
        procedure Skip_Eol;
        --  Skip past spaces, then skip past end of line (fatal error if not
        --  at end of line). Also skips past any following blank lines.
*************** package body ALI is
*** 439,444 ****
--- 449,455 ----
                   or else Nextc = '(' or else Nextc = ')'
                   or else Nextc = '{' or else Nextc = '}'
                   or else Nextc = '<' or else Nextc = '>'
+                  or else Nextc = '[' or else Nextc = ']'
                   or else Nextc = '=';
              end if;
           end loop;
*************** package body ALI is
*** 536,541 ****
--- 547,640 ----
           return T (P);
        end Nextc;
  
+       -----------------
+       -- Get_Typeref --
+       -----------------
+ 
+       procedure Get_Typeref
+         (Current_File_Num : Sdep_Id;
+          Ref              : out Tref_Kind;
+          File_Num         : out Sdep_Id;
+          Line             : out Nat;
+          Ref_Type         : out Character;
+          Col              : out Nat;
+          Standard_Entity  : out Name_Id)
+       is
+          N : Nat;
+       begin
+          case Nextc is
+             when '<'    => Ref := Tref_Derived;
+             when '('    => Ref := Tref_Access;
+             when '{'    => Ref := Tref_Type;
+             when others => Ref := Tref_None;
+          end case;
+ 
+          --  Case of typeref field present
+ 
+          if Ref /= Tref_None then
+             P := P + 1; -- skip opening bracket
+ 
+             if Nextc in 'a' .. 'z' then
+                File_Num        := No_Sdep_Id;
+                Line            := 0;
+                Ref_Type        := ' ';
+                Col             := 0;
+                Standard_Entity := Get_Name (Ignore_Spaces => True);
+             else
+                N := Get_Nat;
+ 
+                if Nextc = '|' then
+                   File_Num := Sdep_Id (N + Nat (First_Sdep_Entry) - 1);
+                   P := P + 1;
+                   N := Get_Nat;
+                else
+                   File_Num := Current_File_Num;
+                end if;
+ 
+                Line            := N;
+                Ref_Type        := Getc;
+                Col             := Get_Nat;
+                Standard_Entity := No_Name;
+             end if;
+ 
+             --  ??? Temporary workaround for nested generics case:
+             --     4i4 Directories{1|4I9[4|6[3|3]]}
+             --  See C918-002
+ 
+             declare
+                Nested_Brackets : Natural := 0;
+ 
+             begin
+                loop
+                   case Nextc is
+                      when '['   =>
+                         Nested_Brackets := Nested_Brackets + 1;
+                      when ']' =>
+                         Nested_Brackets := Nested_Brackets - 1;
+                      when others =>
+                         if Nested_Brackets = 0 then
+                            exit;
+                         end if;
+                   end case;
+ 
+                   Skipc;
+                end loop;
+             end;
+ 
+             P := P + 1; -- skip closing bracket
+             Skip_Space;
+ 
+          --  No typeref entry present
+ 
+          else
+             File_Num        := No_Sdep_Id;
+             Line            := 0;
+             Ref_Type        := ' ';
+             Col             := 0;
+             Standard_Entity := No_Name;
+          end if;
+       end Get_Typeref;
+ 
        --------------
        -- Skip_Eol --
        --------------
*************** package body ALI is
*** 1457,1462 ****
--- 1556,1562 ----
                 Withs.Table (Withs.Last).Uname              := Get_Name;
                 Withs.Table (Withs.Last).Elaborate          := False;
                 Withs.Table (Withs.Last).Elaborate_All      := False;
+                Withs.Table (Withs.Last).Elab_Desirable     := False;
                 Withs.Table (Withs.Last).Elab_All_Desirable := False;
                 Withs.Table (Withs.Last).SAL_Interface      := False;
  
*************** package body ALI is
*** 1472,1483 ****
                    Withs.Table (Withs.Last).Sfile := Get_Name (Lower => True);
                    Withs.Table (Withs.Last).Afile := Get_Name;
  
!                   --  Scan out possible E, EA, and NE parameters
  
                    while not At_Eol loop
                       Skip_Space;
  
!                      if Nextc = 'E' then
                          P := P + 1;
  
                          if At_End_Of_Field then
--- 1572,1595 ----
                    Withs.Table (Withs.Last).Sfile := Get_Name (Lower => True);
                    Withs.Table (Withs.Last).Afile := Get_Name;
  
!                   --  Scan out possible E, EA, ED, and AD parameters
  
                    while not At_Eol loop
                       Skip_Space;
  
!                      if Nextc = 'A' then
!                         P := P + 1;
!                         Checkc ('D');
!                         Check_At_End_Of_Field;
! 
!                         --  Store AD indication unless ignore required
! 
!                         if not Ignore_ED then
!                            Withs.Table (Withs.Last).Elab_All_Desirable :=
!                              True;
!                         end if;
! 
!                      elsif Nextc = 'E' then
                          P := P + 1;
  
                          if At_End_Of_Field then
*************** package body ALI is
*** 1495,1501 ****
                             --  Store ED indication unless ignore required
  
                             if not Ignore_ED then
!                               Withs.Table (Withs.Last).Elab_All_Desirable :=
                                  True;
                             end if;
                          end if;
--- 1607,1613 ----
                             --  Store ED indication unless ignore required
  
                             if not Ignore_ED then
!                               Withs.Table (Withs.Last).Elab_Desirable :=
                                  True;
                             end if;
                          end if;
*************** package body ALI is
*** 1886,1891 ****
--- 1998,2028 ----
                    XE.Lib    := (Getc = '*');
                    XE.Entity := Get_Name;
  
+                   --  Handle the information about generic instantiations
+ 
+                   if Nextc = '[' then
+                      Skipc; --  Opening '['
+                      N := Get_Nat;
+ 
+                      if Nextc /= '|' then
+                         XE.Iref_File_Num := Current_File_Num;
+                         XE.Iref_Line     := N;
+                      else
+                         XE.Iref_File_Num :=
+                           Sdep_Id (N + Nat (First_Sdep_Entry) - 1);
+                         Skipc;
+                         XE.Iref_Line := Get_Nat;
+                      end if;
+ 
+                      if Getc /= ']' then
+                         Fatal_Error;
+                      end if;
+ 
+                   else
+                      XE.Iref_File_Num := No_Sdep_Id;
+                      XE.Iref_Line     := 0;
+                   end if;
+ 
                    Current_File_Num := XS.File_Num;
  
                    --  Renaming reference is present
*************** package body ALI is
*** 1911,1990 ****
  
                    --  See if type reference present
  
!                   case Nextc is
!                      when '<'    => XE.Tref := Tref_Derived;
!                      when '('    => XE.Tref := Tref_Access;
!                      when '{'    => XE.Tref := Tref_Type;
!                      when others => XE.Tref := Tref_None;
!                   end case;
! 
!                   --  Case of typeref field present
! 
!                   if XE.Tref /= Tref_None then
!                      P := P + 1; -- skip opening bracket
! 
!                      if Nextc in 'a' .. 'z' then
!                         XE.Tref_File_Num        := No_Sdep_Id;
!                         XE.Tref_Line            := 0;
!                         XE.Tref_Type            := ' ';
!                         XE.Tref_Col             := 0;
!                         XE.Tref_Standard_Entity :=
!                           Get_Name (Ignore_Spaces => True);
! 
!                      else
!                         N := Get_Nat;
! 
!                         if Nextc = '|' then
!                            XE.Tref_File_Num :=
!                              Sdep_Id (N + Nat (First_Sdep_Entry) - 1);
!                            P := P + 1;
!                            N := Get_Nat;
! 
!                         else
!                            XE.Tref_File_Num := Current_File_Num;
!                         end if;
! 
!                         XE.Tref_Line            := N;
!                         XE.Tref_Type            := Getc;
!                         XE.Tref_Col             := Get_Nat;
!                         XE.Tref_Standard_Entity := No_Name;
!                      end if;
! 
!                      --  ??? Temporary workaround for nested generics case:
!                      --     4i4 Directories{1|4I9[4|6[3|3]]}
!                      --  See C918-002
  
                       declare
!                         Nested_Brackets : Natural := 0;
! 
                       begin
!                         loop
!                            case Nextc is
!                               when '['   =>
!                                  Nested_Brackets := Nested_Brackets + 1;
!                               when ']' =>
!                                  Nested_Brackets := Nested_Brackets - 1;
!                               when others =>
!                                  if Nested_Brackets = 0 then
!                                     exit;
!                                  end if;
!                            end case;
! 
!                            Skipc;
!                         end loop;
                       end;
- 
-                      P := P + 1; -- skip closing bracket
-                      Skip_Space;
- 
-                   --  No typeref entry present
- 
-                   else
-                      XE.Tref_File_Num        := No_Sdep_Id;
-                      XE.Tref_Line            := 0;
-                      XE.Tref_Type            := ' ';
-                      XE.Tref_Col             := 0;
-                      XE.Tref_Standard_Entity := No_Name;
                    end if;
  
                    XE.First_Xref := Xref.Last + 1;
--- 2048,2077 ----
  
                    --  See if type reference present
  
!                   Get_Typeref
!                     (Current_File_Num, XE.Tref, XE.Tref_File_Num, XE.Tref_Line,
!                      XE.Tref_Type, XE.Tref_Col, XE.Tref_Standard_Entity);
  
+                   --  Do we have an overriding procedure, instead ?
+                   if XE.Tref_Type = 'p' then
+                      XE.Oref_File_Num := XE.Tref_File_Num;
+                      XE.Oref_Line     := XE.Tref_Line;
+                      XE.Oref_Col      := XE.Tref_Col;
+                      XE.Tref_File_Num := No_Sdep_Id;
+                      XE.Tref          := Tref_None;
+                   else
+                      --  We might have additional information about the
+                      --  overloaded subprograms
                       declare
!                         Ref : Tref_Kind;
!                         Typ : Character;
!                         Standard_Entity : Name_Id;
                       begin
!                         Get_Typeref
!                           (Current_File_Num,
!                            Ref, XE.Oref_File_Num,
!                            XE.Oref_Line, Typ, XE.Oref_Col, Standard_Entity);
                       end;
                    end if;
  
                    XE.First_Xref := Xref.Last + 1;
diff -Nrcpad gcc-4.0.2/gcc/ada/ali.ads gcc-4.1.0/gcc/ada/ali.ads
*** gcc-4.0.2/gcc/ada/ali.ads	Thu Feb 10 13:50:31 2005
--- gcc-4.1.0/gcc/ada/ali.ads	Tue Nov 15 13:56:27 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package ALI is
*** 473,478 ****
--- 473,481 ----
        --  Indicates presence of EA parameter
  
        Elab_All_Desirable : Boolean;
+       --  Indicates presence of AD parameter
+ 
+       Elab_Desirable     : Boolean;
        --  Indicates presence of ED parameter
  
        SAL_Interface : Boolean := False;
*************** package ALI is
*** 590,599 ****
  
     type No_Dep_Record is record
        ALI_File : ALI_Id;
!       --  ALI File containing tne entry
  
        No_Dep_Unit : Name_Id;
!       --  Id for names table entry including entire name, including periods.
     end record;
  
     package No_Deps is new Table.Table (
--- 593,602 ----
  
     type No_Dep_Record is record
        ALI_File : ALI_Id;
!       --  ALI File containing the entry
  
        No_Dep_Unit : Name_Id;
!       --  Id for names table entry including entire name, including periods
     end record;
  
     package No_Deps is new Table.Table (
*************** package ALI is
*** 731,736 ****
--- 734,749 ----
        Entity : Name_Id;
        --  Name of entity
  
+       Iref_File_Num : Sdep_Id;
+       --  This field is set to the dependency reference for the file containing
+       --  the generic entity that this one instantiates, or to No_Sdep_Id if
+       --  the current entity is not an instantiation
+ 
+       Iref_Line : Nat;
+       --  This field is set to the line number in Iref_File_Num of the generic
+       --  entity that this one instantiates, or to zero if the current entity
+       --  is not an instantiation.
+ 
        Rref_Line : Nat;
        --  This field is set to the line number of a renaming reference if
        --  one is present, or to zero if no renaming reference is present
*************** package ALI is
*** 772,777 ****
--- 785,800 ----
        --  entity in package Standard, then this field is a Name_Id
        --  reference for the entity name.
  
+       Oref_File_Num : Sdep_Id;
+       --  This field is set to No_Sdep_Id is the entity doesn't override any
+       --  other entity, or to the dependency reference for the overriden
+       --  entity.
+ 
+       Oref_Line : Nat;
+       Oref_Col  : Nat;
+       --  These two fields are set to the line and column of the overriden
+       --  entity.
+ 
        First_Xref : Nat;
        --  Index into Xref table of first cross-reference
  
*************** package ALI is
*** 815,820 ****
--- 838,848 ----
  
        --  Note: for instantiation references, Rtype is set to ' ', and Col is
        --  set to zero. One or more such entries can follow any other reference.
+       --  When there is more than one such entry, this is to be read as:
+       --     e.g. ref1  ref2  ref3
+       --     ref1 is a reference to an entity that was instantied at ref2.
+       --     ref2 itself is also the result of an instantiation, that took
+       --     place at ref3
     end record;
  
     package Xref is new Table.Table (
*************** package ALI is
*** 847,854 ****
     --  switch description settings.
     --
     --    Ignore_ED is normally False. If set to True, it indicates that
!    --    all ED (elaboration desirable) indications in the ALI file are
!    --    to be ignored.
     --
     --    Err determines the action taken on an incorrectly formatted file.
     --    If Err is False, then an error message is output, and the program
--- 875,883 ----
     --  switch description settings.
     --
     --    Ignore_ED is normally False. If set to True, it indicates that
!    --    all AD/ED (elaboration desirable) indications in the ALI file are
!    --    to be ignored. This parameter is obsolete now that the -f switch
!    --    is removed from gnatbind, and should be removed ???
     --
     --    Err determines the action taken on an incorrectly formatted file.
     --    If Err is False, then an error message is output, and the program
diff -Nrcpad gcc-4.0.2/gcc/ada/alloc.ads gcc-4.1.0/gcc/ada/alloc.ads
*** gcc-4.0.2/gcc/ada/alloc.ads	Thu Apr 24 17:53:57 2003
--- gcc-4.1.0/gcc/ada/alloc.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/argv.c gcc-4.1.0/gcc/ada/argv.c
*** gcc-4.0.2/gcc/ada/argv.c	Tue Nov  4 12:51:45 2003
--- gcc-4.1.0/gcc/ada/argv.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/atree.adb gcc-4.1.0/gcc/ada/atree.adb
*** gcc-4.0.2/gcc/ada/atree.adb	Thu Feb 10 13:50:41 2005
--- gcc-4.1.0/gcc/ada/atree.adb	Tue Nov 15 14:06:45 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Atree is
*** 1169,1175 ****
  
        function Copy_Elist_With_Replacement
          (Old_Elist : Elist_Id) return Elist_Id;
!       --  Called during second phase to copy element list doing replacements.
  
        procedure Copy_Itype_With_Replacement (New_Itype : Entity_Id);
        --  Called during the second phase to process a copied Itype. The actual
--- 1169,1175 ----
  
        function Copy_Elist_With_Replacement
          (Old_Elist : Elist_Id) return Elist_Id;
!       --  Called during second phase to copy element list doing replacements
  
        procedure Copy_Itype_With_Replacement (New_Itype : Entity_Id);
        --  Called during the second phase to process a copied Itype. The actual
*************** package body Atree is
*** 1178,1184 ****
        --  the copied Itype and copy them where necessary.
  
        function Copy_List_With_Replacement (Old_List : List_Id) return List_Id;
!       --  Called during second phase to copy list doing replacements.
  
        function Copy_Node_With_Replacement (Old_Node : Node_Id) return Node_Id;
        --  Called during second phase to copy node doing replacements
--- 1178,1184 ----
        --  the copied Itype and copy them where necessary.
  
        function Copy_List_With_Replacement (Old_List : List_Id) return List_Id;
!       --  Called during second phase to copy list doing replacements
  
        function Copy_Node_With_Replacement (Old_Node : Node_Id) return Node_Id;
        --  Called during second phase to copy node doing replacements
*************** package body Atree is
*** 1775,1781 ****
              Visit_Field (Union_Id (Scalar_Range (Old_Itype)), Old_Itype);
  
           elsif Has_Discriminants (Base_Type (Old_Itype)) then
!             --  ??? This should involve call to Visit_Field.
              Visit_Elist (Discriminant_Constraint (Old_Itype));
  
           elsif Is_Array_Type (Old_Itype) then
--- 1775,1781 ----
              Visit_Field (Union_Id (Scalar_Range (Old_Itype)), Old_Itype);
  
           elsif Has_Discriminants (Base_Type (Old_Itype)) then
!             --  ??? This should involve call to Visit_Field
              Visit_Elist (Discriminant_Constraint (Old_Itype));
  
           elsif Is_Array_Type (Old_Itype) then
*************** package body Atree is
*** 2886,2947 ****
        end List14;
  
        function Elist2 (N : Node_Id) return Elist_Id is
        begin
!          return Elist_Id (Nodes.Table (N).Field2);
        end Elist2;
  
        function Elist3 (N : Node_Id) return Elist_Id is
        begin
!          return Elist_Id (Nodes.Table (N).Field3);
        end Elist3;
  
        function Elist4 (N : Node_Id) return Elist_Id is
        begin
!          return Elist_Id (Nodes.Table (N).Field4);
        end Elist4;
  
        function Elist8 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 1).Field8);
        end Elist8;
  
        function Elist13 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 2).Field6);
        end Elist13;
  
        function Elist15 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 2).Field8);
        end Elist15;
  
        function Elist16 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 2).Field9);
        end Elist16;
  
        function Elist18 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 2).Field11);
        end Elist18;
  
        function Elist21 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 3).Field8);
        end Elist21;
  
        function Elist23 (N : Node_Id) return Elist_Id is
-       begin
           pragma Assert (Nkind (N) in N_Entity);
!          return Elist_Id (Nodes.Table (N + 3).Field10);
        end Elist23;
  
        function Name1 (N : Node_Id) return Name_Id is
        begin
           pragma Assert (N in Nodes.First .. Nodes.Last);
--- 2886,3011 ----
        end List14;
  
        function Elist2 (N : Node_Id) return Elist_Id is
+          pragma Assert (N in Nodes.First .. Nodes.Last);
+          Value : constant Union_Id := Nodes.Table (N).Field2;
        begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist2;
  
        function Elist3 (N : Node_Id) return Elist_Id is
+          pragma Assert (N in Nodes.First .. Nodes.Last);
+          Value : constant Union_Id := Nodes.Table (N).Field3;
        begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist3;
  
        function Elist4 (N : Node_Id) return Elist_Id is
+          pragma Assert (N in Nodes.First .. Nodes.Last);
+          Value : constant Union_Id := Nodes.Table (N).Field4;
        begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist4;
  
        function Elist8 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 1).Field8;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist8;
  
        function Elist13 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 2).Field6;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist13;
  
        function Elist15 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 2).Field8;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist15;
  
        function Elist16 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 2).Field9;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist16;
  
        function Elist18 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 2).Field11;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist18;
  
        function Elist21 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 3).Field8;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist21;
  
        function Elist23 (N : Node_Id) return Elist_Id is
           pragma Assert (Nkind (N) in N_Entity);
!          Value : constant Union_Id := Nodes.Table (N + 3).Field10;
!       begin
!          if Value = 0 then
!             return No_Elist;
!          else
!             return Elist_Id (Value);
!          end if;
        end Elist23;
  
+       function Elist24 (N : Node_Id) return Elist_Id is
+          pragma Assert (Nkind (N) in N_Entity);
+          Value : constant Union_Id := Nodes.Table (N + 4).Field6;
+       begin
+          if Value = 0 then
+             return No_Elist;
+          else
+             return Elist_Id (Value);
+          end if;
+       end Elist24;
+ 
        function Name1 (N : Node_Id) return Name_Id is
        begin
           pragma Assert (N in Nodes.First .. Nodes.Last);
*************** package body Atree is
*** 3007,3013 ****
        function Uint8 (N : Node_Id) return Uint is
           pragma Assert (Nkind (N) in N_Entity);
           U : constant Union_Id := Nodes.Table (N + 1).Field8;
- 
        begin
           if U = 0 then
              return Uint_0;
--- 3071,3076 ----
*************** package body Atree is
*** 4845,4850 ****
--- 4908,4919 ----
           Nodes.Table (N + 3).Field10 := Union_Id (Val);
        end Set_Elist23;
  
+       procedure Set_Elist24 (N : Node_Id; Val : Elist_Id) is
+       begin
+          pragma Assert (Nkind (N) in N_Entity);
+          Nodes.Table (N + 4).Field6 := Union_Id (Val);
+       end Set_Elist24;
+ 
        procedure Set_Name1 (N : Node_Id; Val : Name_Id) is
        begin
           pragma Assert (N in Nodes.First .. Nodes.Last);
diff -Nrcpad gcc-4.0.2/gcc/ada/atree.ads gcc-4.1.0/gcc/ada/atree.ads
*** gcc-4.0.2/gcc/ada/atree.ads	Thu Feb 10 13:50:42 2005
--- gcc-4.1.0/gcc/ada/atree.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Atree is
*** 75,136 ****
     --  a node contains a number of fields, much as though the nodes were
     --  defined as a record type. The fields in a node are as follows:
  
!    --   Nkind            Indicates the kind of the node. This field is present
!    --                    in all nodes. The type is Node_Kind, which is declared
!    --                    in the package Sinfo.
  
!    --   Sloc             Location (Source_Ptr) of the corresponding token
!    --                    in the Source buffer. The individual node definitions
!    --                    show which token is referenced by this pointer.
  
!    --   In_List          A flag used to indicate if the node is a member
     --                    of a node list.
  
!    --   Rewrite_Sub      A flag set if the node has been rewritten using
!    --                    the Rewrite procedure. The original value of the
!    --                    node is retrievable with Original_Node.
  
!    --   Rewrite_Ins      A flag set if a node is marked as a rewrite inserted
!    --                    node as a result of a call to Mark_Rewrite_Insertion.
  
!    --   Paren_Count      A 2-bit count used on expression nodes to indicate
!    --                    the level of parentheses. Up to 3 levels can be
!    --                    accomodated. Anything more than 3 levels is treated
!    --                    as 3 levels (conformance tests that complain about
!    --                    this are hereby deemed pathological!) Set to zero
!    --                    for non-subexpression nodes.
  
     --   Comes_From_Source
!    --                    This flag is present in all nodes. It is set if the
!    --                    node is built by the scanner or parser, and clear if
!    --                    the node is built by the analyzer or expander. It
!    --                    indicates that the node corresponds to a construct
!    --                    that appears in the original source program.
  
!    --   Analyzed         This flag is present in all nodes. It is set when
!    --                    a node is analyzed, and is used to avoid analyzing
!    --                    the same node twice. Analysis includes expansion if
!    --                    expansion is active, so in this case if the flag is
!    --                    set it means the node has been analyzed and expanded.
  
!    --   Error_Posted     This flag is present in all nodes. It is set when
!    --                    an error message is posted which is associated with
!    --                    the flagged node. This is used to avoid posting more
!    --                    than one message on the same node.
  
     --   Field1
     --   Field2
     --   Field3
     --   Field4
!    --   Field5           Five fields holding Union_Id values
  
!    --   ElistN           Synonym for FieldN typed as Elist_Id
!    --   ListN            Synonym for FieldN typed as List_Id
!    --   NameN            Synonym for FieldN typed as Name_Id
!    --   NodeN            Synonym for FieldN typed as Node_Id
!    --   StrN             Synonym for FieldN typed as String_Id
!    --   UintN            Synonym for FieldN typed as Uint (Empty = Uint_0)
!    --   UrealN           Synonym for FieldN typed as Ureal
  
     --   Note: the actual usage of FieldN (i.e. whether it contains a Elist_Id,
     --   List_Id, Name_Id, Node_Id, String_Id, Uint or Ureal), depends on the
--- 75,147 ----
     --  a node contains a number of fields, much as though the nodes were
     --  defined as a record type. The fields in a node are as follows:
  
!    --   Nkind         Indicates the kind of the node. This field is present
!    --                 in all nodes. The type is Node_Kind, which is declared
!    --                 in the package Sinfo.
  
!    --   Sloc          Location (Source_Ptr) of the corresponding token
!    --                 in the Source buffer. The individual node definitions
!    --                 show which token is referenced by this pointer.
  
!    --   In_List       A flag used to indicate if the node is a member
     --                    of a node list.
  
!    --   Rewrite_Sub   A flag set if the node has been rewritten using
!    --                 the Rewrite procedure. The original value of the
!    --                 node is retrievable with Original_Node.
  
!    --   Rewrite_Ins   A flag set if a node is marked as a rewrite inserted
!    --                 node as a result of a call to Mark_Rewrite_Insertion.
  
!    --   Paren_Count   A 2-bit count used on expression nodes to indicate
!    --                 the level of parentheses. Up to 3 levels can be
!    --                 accomodated. Anything more than 3 levels is treated
!    --                 as 3 levels (conformance tests that complain about
!    --                 this are hereby deemed pathological!) Set to zero
!    --                 for non-subexpression nodes.
  
     --   Comes_From_Source
!    --                 This flag is present in all nodes. It is set if the
!    --                 node is built by the scanner or parser, and clear if
!    --                 the node is built by the analyzer or expander. It
!    --                 indicates that the node corresponds to a construct
!    --                 that appears in the original source program.
  
!    --   Analyzed      This flag is present in all nodes. It is set when
!    --                 a node is analyzed, and is used to avoid analyzing
!    --                 the same node twice. Analysis includes expansion if
!    --                 expansion is active, so in this case if the flag is
!    --                 set it means the node has been analyzed and expanded.
  
!    --   Error_Posted  This flag is present in all nodes. It is set when
!    --                 an error message is posted which is associated with
!    --                 the flagged node. This is used to avoid posting more
!    --                 than one message on the same node.
  
     --   Field1
     --   Field2
     --   Field3
     --   Field4
!    --   Field5        Five fields holding Union_Id values
  
!    --   ElistN        Synonym for FieldN typed as Elist_Id (Empty = No_Elist)
!    --   ListN         Synonym for FieldN typed as List_Id
!    --   NameN         Synonym for FieldN typed as Name_Id
!    --   NodeN         Synonym for FieldN typed as Node_Id
!    --   StrN          Synonym for FieldN typed as String_Id
!    --   UintN         Synonym for FieldN typed as Uint (Empty = Uint_0)
!    --   UrealN        Synonym for FieldN typed as Ureal
! 
!    --   Note: in the case of ElistN and UintN fields, it is common that we
!    --   end up with a value of Union_Id'(0) as the default value. This value
!    --   is meaningless as a Uint or Elist_Id value. We have two choices here.
!    --   We could require that all Uint and Elist fields be initialized to an
!    --   appropriate value, but that's error prone, since it would be easy to
!    --   miss an initialization. So instead we have the retrieval functions
!    --   generate an appropriate default value (Uint_0 or No_Elist). Probably
!    --   it would be cleaner to generate No_Uint in the Uint case but we got
!    --   stuck with representing an "unset" size value as zero early on, and
!    --   it will take a bit of fiddling to change that ???
  
     --   Note: the actual usage of FieldN (i.e. whether it contains a Elist_Id,
     --   List_Id, Name_Id, Node_Id, String_Id, Uint or Ureal), depends on the
*************** package Atree is
*** 146,191 ****
     --   it is useful to be able to do untyped traversals, and an internal
     --   package in Atree allows for direct untyped accesses in such cases.
  
!    --   Flag4            Fifteen Boolean flags (use depends on Nkind and
!    --   Flag5            Ekind, as described for FieldN). Again the access
!    --   Flag6            is usually via subprograms in Sinfo and Einfo which
!    --   Flag7            provide high-level synonyms for these flags, and
!    --   Flag8            contain debugging code that checks that the values
!    --   Flag9            in Nkind and Ekind are appropriate for the access.
     --   Flag10
!    --   Flag11           Note that Flag1-3 are missing from this list. The
!    --   Flag12           first three flag positions are reserved for the
!    --   Flag13           standard flags (Comes_From_Source, Error_Posted,
!    --   Flag14           and Analyzed)
     --   Flag15
     --   Flag16
     --   Flag17
     --   Flag18
  
!    --   Link             For a node, points to the Parent. For a list, points
!    --                    to the list header. Note that in the latter case, a
!    --                    client cannot modify the link field. This field is
!    --                    private to the Atree package (but is also modified
!    --                    by the Nlists package).
  
     --  The following additional fields are present in extended nodes used
     --  for entities (Nkind in N_Entity).
  
!    --   Ekind            Entity type. This field indicates the type of the
!    --                    entity, it is of type Entity_Kind which is defined
!    --                    in package Einfo.
  
!    --   Flag19           197 additional flags
     --   ...
     --   Flag215
  
!    --   Convention       Entity convention (Convention_Id value)
  
!    --   Field6           Additional Union_Id value stored in tree
  
!    --   Node6            Synonym for Field6 typed as Node_Id
!    --   Elist6           Synonym for Field6 typed as Elist_Id
!    --   Uint6            Synonym for Field6 typed as Uint (Empty = Uint_0)
  
     --   Similar definitions for Field7 to Field27 (and Node7-Node27,
     --   Elist7-Elist27, Uint7-Uint27, Ureal7-Ureal27). Note that not all
--- 157,202 ----
     --   it is useful to be able to do untyped traversals, and an internal
     --   package in Atree allows for direct untyped accesses in such cases.
  
!    --   Flag4         Fifteen Boolean flags (use depends on Nkind and
!    --   Flag5         Ekind, as described for FieldN). Again the access
!    --   Flag6         is usually via subprograms in Sinfo and Einfo which
!    --   Flag7         provide high-level synonyms for these flags, and
!    --   Flag8         contain debugging code that checks that the values
!    --   Flag9         in Nkind and Ekind are appropriate for the access.
     --   Flag10
!    --   Flag11        Note that Flag1-3 are missing from this list. The
!    --   Flag12        first three flag positions are reserved for the
!    --   Flag13        standard flags (Comes_From_Source, Error_Posted,
!    --   Flag14        and Analyzed)
     --   Flag15
     --   Flag16
     --   Flag17
     --   Flag18
  
!    --   Link          For a node, points to the Parent. For a list, points
!    --                 to the list header. Note that in the latter case, a
!    --                 client cannot modify the link field. This field is
!    --                 private to the Atree package (but is also modified
!    --                 by the Nlists package).
  
     --  The following additional fields are present in extended nodes used
     --  for entities (Nkind in N_Entity).
  
!    --   Ekind         Entity type. This field indicates the type of the
!    --                 entity, it is of type Entity_Kind which is defined
!    --                 in package Einfo.
  
!    --   Flag19        197 additional flags
     --   ...
     --   Flag215
  
!    --   Convention    Entity convention (Convention_Id value)
  
!    --   Field6        Additional Union_Id value stored in tree
  
!    --   Node6         Synonym for Field6 typed as Node_Id
!    --   Elist6        Synonym for Field6 typed as Elist_Id (Empty = No_Elist)
!    --   Uint6         Synonym for Field6 typed as Uint (Empty = Uint_0)
  
     --   Similar definitions for Field7 to Field27 (and Node7-Node27,
     --   Elist7-Elist27, Uint7-Uint27, Ureal7-Ureal27). Note that not all
*************** package Atree is
*** 981,986 ****
--- 992,1000 ----
        function Elist23 (N : Node_Id) return Elist_Id;
        pragma Inline (Elist23);
  
+       function Elist24 (N : Node_Id) return Elist_Id;
+       pragma Inline (Elist24);
+ 
        function Name1 (N : Node_Id) return Name_Id;
        pragma Inline (Name1);
  
*************** package Atree is
*** 1903,1908 ****
--- 1917,1925 ----
        procedure Set_Elist23 (N : Node_Id; Val : Elist_Id);
        pragma Inline (Set_Elist23);
  
+       procedure Set_Elist24 (N : Node_Id; Val : Elist_Id);
+       pragma Inline (Set_Elist24);
+ 
        procedure Set_Name1 (N : Node_Id; Val : Name_Id);
        pragma Inline (Set_Name1);
  
*************** package Atree is
*** 2602,2608 ****
        procedure Set_Flag215 (N : Node_Id; Val : Boolean);
        pragma Inline (Set_Flag215);
  
- 
        --  The following versions of Set_Noden also set the parent
        --  pointer of the referenced node if it is non_Empty
  
--- 2619,2624 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/atree.h gcc-4.1.0/gcc/ada/atree.h
*** gcc-4.0.2/gcc/ada/atree.h	Thu Feb 10 13:50:42 2005
--- gcc-4.1.0/gcc/ada/atree.h	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
*************** extern Node_Id Current_Error_Node;
*** 381,387 ****
  #define Field24(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field6)
  #define Field25(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field7)
  #define Field26(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field8)
! #define Field27(N)    (Nodes_Ptr[(N) - First_Node_Id + 3].V.EX.field9)
  
  #define Node1(N)      Field1  (N)
  #define Node2(N)      Field2  (N)
--- 381,387 ----
  #define Field24(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field6)
  #define Field25(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field7)
  #define Field26(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field8)
! #define Field27(N)    (Nodes_Ptr[(N) - First_Node_Id + 4].V.EX.field9)
  
  #define Node1(N)      Field1  (N)
  #define Node2(N)      Field2  (N)
*************** extern Node_Id Current_Error_Node;
*** 425,433 ****
--- 425,435 ----
  #define Elist8(N)     Field8  (N)
  #define Elist13(N)    Field13 (N)
  #define Elist15(N)    Field15 (N)
+ #define Elist16(N)    Field16 (N)
  #define Elist18(N)    Field18 (N)
  #define Elist21(N)    Field21 (N)
  #define Elist23(N)    Field23 (N)
+ #define Elist24(N)    Field24 (N)
  
  #define Name1(N)      Field1  (N)
  #define Name2(N)      Field2  (N)
diff -Nrcpad gcc-4.0.2/gcc/ada/aux-io.c gcc-4.1.0/gcc/ada/aux-io.c
*** gcc-4.0.2/gcc/ada/aux-io.c	Tue Nov  4 12:51:45 2003
--- gcc-4.1.0/gcc/ada/aux-io.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/back_end.adb gcc-4.1.0/gcc/ada/back_end.adb
*** gcc-4.0.2/gcc/ada/back_end.adb	Wed Dec  8 11:25:14 2004
--- gcc-4.1.0/gcc/ada/back_end.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Elists;    use Elists;
*** 30,36 ****
  with Lib;       use Lib;
  with Osint;     use Osint;
  with Opt;       use Opt;
- with Osint;     use Osint;
  with Osint.C;   use Osint.C;
  with Namet;     use Namet;
  with Nlists;    use Nlists;
--- 30,35 ----
*************** package body Back_End is
*** 142,148 ****
        type Arg_Array is array (Nat) of BSP;
        type Arg_Array_Ptr is access Arg_Array;
  
!       --  Import flag_stack_check from toplev.c.
  
        flag_stack_check : Int;
        pragma Import (C, flag_stack_check); -- Import from toplev.c
--- 141,147 ----
        type Arg_Array is array (Nat) of BSP;
        type Arg_Array_Ptr is access Arg_Array;
  
!       --  Import flag_stack_check from toplev.c
  
        flag_stack_check : Int;
        pragma Import (C, flag_stack_check); -- Import from toplev.c
diff -Nrcpad gcc-4.0.2/gcc/ada/back_end.ads gcc-4.1.0/gcc/ada/back_end.ads
*** gcc-4.0.2/gcc/ada/back_end.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/back_end.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/bcheck.adb gcc-4.1.0/gcc/ada/bcheck.adb
*** gcc-4.0.2/gcc/ada/bcheck.adb	Mon Jan  3 15:32:16 2005
--- gcc-4.1.0/gcc/ada/bcheck.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/bcheck.ads gcc-4.1.0/gcc/ada/bcheck.ads
*** gcc-4.0.2/gcc/ada/bcheck.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/bcheck.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/binde.adb gcc-4.1.0/gcc/ada/binde.adb
*** gcc-4.0.2/gcc/ada/binde.adb	Thu Feb 10 13:50:31 2005
--- gcc-4.1.0/gcc/ada/binde.adb	Tue Nov 15 13:56:27 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,37 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Binderr; use Binderr;
! with Butil;   use Butil;
! with Debug;   use Debug;
! with Fname;   use Fname;
! with Lib;     use Lib;
! with Namet;   use Namet;
! with Opt;     use Opt;
! with Output;  use Output;
  
  package body Binde is
  
--- 16,38 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with Binderr;  use Binderr;
! with Butil;    use Butil;
! with Debug;    use Debug;
! with Fname;    use Fname;
! with Lib;      use Lib;
! with Namet;    use Namet;
! with Opt;      use Opt;
! with Output;   use Output;
! with Targparm; use Targparm;
  
  package body Binde is
  
*************** package body Binde is
*** 71,81 ****
        --  elaborated before unit X is elaborated. The Elab_All_Link list
        --  traces the dependencies in the latter case.
  
!       Elab_Desirable,
        --  This is just like Elab_All, except that the elaborate all was not
        --  explicitly present in the source, but rather was created by the
        --  front end, which decided that it was "desirable".
  
        Spec_First);
        --  After is a body, and Before is the corresponding spec
  
--- 72,87 ----
        --  elaborated before unit X is elaborated. The Elab_All_Link list
        --  traces the dependencies in the latter case.
  
!       Elab_All_Desirable,
        --  This is just like Elab_All, except that the elaborate all was not
        --  explicitly present in the source, but rather was created by the
        --  front end, which decided that it was "desirable".
  
+       Elab_Desirable,
+       --  This is just like Elab, except that the elaborate was not
+       --  explicitly present in the source, but rather was created by the
+       --  front end, which decided that it was "desirable".
+ 
        Spec_First);
        --  After is a body, and Before is the corresponding spec
  
*************** package body Binde is
*** 248,254 ****
        Link   : Elab_All_Id);
     --  Used to compute the transitive closure of elaboration links for an
     --  Elaborate_All pragma (Reason = Elab_All) or for an indication of
!    --  Elaborate_All_Desirable (Reason = Elab_Desirable). Unit After has
     --  a pragma Elaborate_All or the front end has determined that a reference
     --  probably requires Elaborate_All is required, and unit Before must be
     --  previously elaborated. First a link is built making sure that unit
--- 254,260 ----
        Link   : Elab_All_Id);
     --  Used to compute the transitive closure of elaboration links for an
     --  Elaborate_All pragma (Reason = Elab_All) or for an indication of
!    --  Elaborate_All_Desirable (Reason = Elab_All_Desirable). Unit After has
     --  a pragma Elaborate_All or the front end has determined that a reference
     --  probably requires Elaborate_All is required, and unit Before must be
     --  previously elaborated. First a link is built making sure that unit
*************** package body Binde is
*** 267,275 ****
  
     function Make_Elab_Entry
       (Unam : Unit_Name_Type;
!       Link : Elab_All_Id)
!       return Elab_All_Id;
!    --  Make an Elab_All_Entries table entry with the given Unam and Link.
  
     function Unit_Id_Of (Uname : Unit_Name_Type) return Unit_Id;
     --  This function uses the Info field set in the names table to obtain
--- 273,280 ----
  
     function Make_Elab_Entry
       (Unam : Unit_Name_Type;
!       Link : Elab_All_Id) return Elab_All_Id;
!    --  Make an Elab_All_Entries table entry with the given Unam and Link
  
     function Unit_Id_Of (Uname : Unit_Name_Type) return Unit_Id;
     --  This function uses the Info field set in the names table to obtain
*************** package body Binde is
*** 480,486 ****
        --  if it becomes zero, then add to no predecessor list.
  
        S := UNR.Table (Chosen).Successors;
- 
        while S /= No_Successor loop
           U := Succ.Table (S).After;
           UNR.Table (U).Num_Pred := UNR.Table (U).Num_Pred - 1;
--- 485,490 ----
*************** package body Binde is
*** 738,744 ****
        --  and we should have found and eliminated at least one bad path.
  
        raise Program_Error;
- 
     end Diagnose_Elaboration_Problem;
  
     --------------------
--- 742,747 ----
*************** package body Binde is
*** 801,809 ****
        SL : Successor_Link renames Succ.Table (S);
  
     begin
!       --  Nothing to do if internal unit involved and no -de flag
  
!       if not Debug_Flag_E
          and then
            (Is_Internal_File_Name (Units.Table (SL.Before).Sfile)
              or else
--- 804,812 ----
        SL : Successor_Link renames Succ.Table (S);
  
     begin
!       --  Nothing to do if internal unit involved and no -da flag
  
!       if not Debug_Flag_A
          and then
            (Is_Internal_File_Name (Units.Table (SL.Before).Sfile)
              or else
*************** package body Binde is
*** 842,848 ****
                ("     reason: pragma Elaborate_All in unit &",
                 Info => True);
  
!          when Elab_Desirable =>
              Error_Msg_Output
                ("     reason: implicit Elaborate_All in unit &",
                 Info => True);
--- 845,851 ----
                ("     reason: pragma Elaborate_All in unit &",
                 Info => True);
  
!          when Elab_All_Desirable =>
              Error_Msg_Output
                ("     reason: implicit Elaborate_All in unit &",
                 Info => True);
*************** package body Binde is
*** 851,856 ****
--- 854,868 ----
                ("     recompile & with -gnatwl for full details",
                 Info => True);
  
+          when Elab_Desirable =>
+             Error_Msg_Output
+               ("     reason: implicit Elaborate in unit &",
+                Info => True);
+ 
+             Error_Msg_Output
+               ("     recompile & with -gnatwl for full details",
+                Info => True);
+ 
           when Spec_First =>
              Error_Msg_Output
                ("     reason: spec always elaborated before body",
*************** package body Binde is
*** 898,903 ****
--- 910,929 ----
           UNR.Table (UNR.Last).Elab_Position := 0;
        end loop;
  
+       --  Output warning if -p used with no -gnatE units
+ 
+       if Pessimistic_Elab_Order
+         and not Dynamic_Elaboration_Checks_Specified
+       then
+          if OpenVMS_On_Target then
+             Error_Msg ("?use of /PESSIMISTIC_ELABORATION questionable");
+          else
+             Error_Msg ("?use of -p switch questionable");
+          end if;
+ 
+          Error_Msg ("?since all units compiled with static elaboration model");
+       end if;
+ 
        --  Gather dependencies and output them if option set
  
        Gather_Dependencies;
*************** package body Binde is
*** 924,929 ****
--- 950,956 ----
        --  nodes have been chosen.
  
        Outer : loop
+ 
           --  If there are no nodes with predecessors, then either we are
           --  done, as indicated by Num_Left being set to zero, or we have
           --  a circularity. In the latter case, diagnose the circularity,
*************** package body Binde is
*** 1078,1084 ****
                       --  Now establish all the links we need
  
                       Elab_All_Links
!                        (Withed_Unit, U, Elab_Desirable,
                          Make_Elab_Entry
                            (Withs.Table (W).Uname, No_Elab_All_Link));
  
--- 1105,1111 ----
                       --  Now establish all the links we need
  
                       Elab_All_Links
!                        (Withed_Unit, U, Elab_All_Desirable,
                          Make_Elab_Entry
                            (Withs.Table (W).Uname, No_Elab_All_Link));
  
*************** package body Binde is
*** 1102,1107 ****
--- 1129,1146 ----
                            (Corresponding_Body (Withed_Unit), U, Elab);
                       end if;
  
+                      --  Elaborate_Desirable case, for this we establish
+                      --  the same links as above, but with a different reason.
+ 
+                   elsif Withs.Table (W).Elab_Desirable then
+                      Build_Link (Withed_Unit, U, Withed);
+ 
+                      if Units.Table (Withed_Unit).Utype = Is_Spec then
+                         Build_Link
+                           (Corresponding_Body (Withed_Unit),
+                            U, Elab_Desirable);
+                      end if;
+ 
                       --  Case of normal WITH with no elaboration pragmas, just
                       --  build the single link to the directly referenced unit
  
*************** package body Binde is
*** 1123,1130 ****
  
     function Make_Elab_Entry
       (Unam : Unit_Name_Type;
!       Link : Elab_All_Id)
!       return Elab_All_Id
     is
     begin
        Elab_All_Entries.Increment_Last;
--- 1162,1168 ----
  
     function Make_Elab_Entry
       (Unam : Unit_Name_Type;
!       Link : Elab_All_Id) return Elab_All_Id
     is
     begin
        Elab_All_Entries.Increment_Last;
*************** package body Binde is
*** 1139,1145 ****
  
     function Unit_Id_Of (Uname : Unit_Name_Type) return Unit_Id is
        Info : constant Int := Get_Name_Table_Info (Uname);
- 
     begin
        pragma Assert (Info /= 0 and then Unit_Id (Info) /= No_Unit_Id);
        return Unit_Id (Info);
--- 1177,1182 ----
*************** package body Binde is
*** 1158,1169 ****
--- 1195,1214 ----
        --  Determines if U is a waiting body, defined as a body which has
        --  not been elaborated, but whose spec has been elaborated.
  
+       ---------------
+       -- Body_Unit --
+       ---------------
+ 
        function Body_Unit (U : Unit_Id) return Boolean is
        begin
           return Units.Table (U).Utype = Is_Body
             or else Units.Table (U).Utype = Is_Body_Only;
        end Body_Unit;
  
+       ------------------
+       -- Waiting_Body --
+       ------------------
+ 
        function Waiting_Body (U : Unit_Id) return Boolean is
        begin
           return Units.Table (U).Utype = Is_Body and then
*************** package body Binde is
*** 1172,1181 ****
  
     --  Start of processing for Worse_Choice
  
-    --  Note: the checks here are applied in sequence, and the ordering is
-    --  significant (i.e. the more important criteria are applied first).
- 
     begin
        --  If either unit is internal, then use Better_Choice, since the
        --  language requires that predefined units not mess up in the choice
        --  of elaboration order, and for internal units, any problems are
--- 1217,1226 ----
  
     --  Start of processing for Worse_Choice
  
     begin
+       --  Note: the checks here are applied in sequence, and the ordering is
+       --  significant (i.e. the more important criteria are applied first).
+ 
        --  If either unit is internal, then use Better_Choice, since the
        --  language requires that predefined units not mess up in the choice
        --  of elaboration order, and for internal units, any problems are
*************** package body Binde is
*** 1263,1269 ****
        First_Name : Boolean := True;
  
     begin
!       if ST.Reason in Elab_All .. Elab_Desirable then
           L := ST.Elab_All_Link;
           while L /= No_Elab_All_Link loop
              Nam := Elab_All_Entries.Table (L).Needed_By;
--- 1308,1314 ----
        First_Name : Boolean := True;
  
     begin
!       if ST.Reason in Elab_All .. Elab_All_Desirable then
           L := ST.Elab_All_Link;
           while L /= No_Elab_All_Link loop
              Nam := Elab_All_Entries.Table (L).Needed_By;
diff -Nrcpad gcc-4.0.2/gcc/ada/binde.ads gcc-4.1.0/gcc/ada/binde.ads
*** gcc-4.0.2/gcc/ada/binde.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/binde.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/binderr.adb gcc-4.1.0/gcc/ada/binderr.adb
*** gcc-4.0.2/gcc/ada/binderr.adb	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/binderr.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/binderr.ads gcc-4.1.0/gcc/ada/binderr.ads
*** gcc-4.0.2/gcc/ada/binderr.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/binderr.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/bindgen.adb gcc-4.1.0/gcc/ada/bindgen.adb
*** gcc-4.0.2/gcc/ada/bindgen.adb	Thu Feb 10 13:50:32 2005
--- gcc-4.1.0/gcc/ada/bindgen.adb	Tue Nov 15 14:06:45 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Bindgen is
*** 201,216 ****
     procedure Gen_Elab_Defs_C;
     --  Generate sequence of definitions for elaboration routines (C code case)
  
-    procedure Gen_Exception_Table_Ada;
-    --  Generate binder exception table (Ada code case). This consists of
-    --  declarations followed by a begin followed by a call. If zero cost
-    --  exceptions are not active, then only the begin is generated.
- 
-    procedure Gen_Exception_Table_C;
-    --  Generate binder exception table (C code case). This has no effect
-    --  if zero cost exceptions are not active, otherwise it generates a
-    --  set of declarations followed by a call.
- 
     procedure Gen_Main_Ada;
     --  Generate procedure main (Ada code case)
  
--- 201,206 ----
*************** package body Bindgen is
*** 279,287 ****
     --  Set given character in Statement_Buffer at the Last + 1 position
     --  and increment Last by one to reflect the stored character.
  
-    procedure Set_EA_Last;
-    --  Output the number of elements in array EA
- 
     procedure Set_Int (N : Int);
     --  Set given value in decimal in Statement_Buffer with no spaces
     --  starting at the Last + 1 position, and updating Last past the value.
--- 269,274 ----
*************** package body Bindgen is
*** 296,302 ****
     --  is generated starting at Last + 1, and Last is updated past it.
  
     procedure Set_Name_Buffer;
!    --  Set the value stored in positions 1 .. Name_Len of the Name_Buffer.
  
     procedure Set_String (S : String);
     --  Sets characters of given string in Statement_Buffer, starting at the
--- 283,289 ----
     --  is generated starting at Last + 1, and Last is updated past it.
  
     procedure Set_Name_Buffer;
!    --  Set the value stored in positions 1 .. Name_Len of the Name_Buffer
  
     procedure Set_String (S : String);
     --  Sets characters of given string in Statement_Buffer, starting at the
*************** package body Bindgen is
*** 550,559 ****
           WBI ("      Handler_Installed : Integer;");
           WBI ("      pragma Import (C, Handler_Installed, " &
                """__gnat_handler_installed"");");
! 
!          --  Generate exception table
! 
!          Gen_Exception_Table_Ada;
  
           --  Generate the call to Set_Globals
  
--- 537,543 ----
           WBI ("      Handler_Installed : Integer;");
           WBI ("      pragma Import (C, Handler_Installed, " &
                """__gnat_handler_installed"");");
!          WBI ("   begin");
  
           --  Generate the call to Set_Globals
  
*************** package body Bindgen is
*** 782,791 ****
  
           --  Code for normal case (standard library not suppressed)
  
-          Gen_Exception_Table_C;
- 
           --  Generate call to set the runtime global variables defined in
!          --  a-init.c. We define the varables in a-init.c, rather than in
           --  the binder generated file itself to avoid undefined externals
           --  when the runtime is linked as a shareable image library.
  
--- 766,773 ----
  
           --  Code for normal case (standard library not suppressed)
  
           --  Generate call to set the runtime global variables defined in
!          --  init.c. We define the varables in init.c, rather than in
           --  the binder generated file itself to avoid undefined externals
           --  when the runtime is linked as a shareable image library.
  
*************** package body Bindgen is
*** 1228,1551 ****
        WBI ("   END ELABORATION ORDER */");
     end Gen_Elab_Order_C;
  
-    -----------------------------
-    -- Gen_Exception_Table_Ada --
-    -----------------------------
- 
-    procedure Gen_Exception_Table_Ada is
-       Num  : Nat;
-       Last : ALI_Id := No_ALI_Id;
- 
-    begin
-       if not Zero_Cost_Exceptions_Specified then
-          WBI ("   begin");
-          return;
-       end if;
- 
-       --  The code we generate looks like
- 
-       --        procedure SDP_Table_Build
-       --          (SDP_Addresses   : System.Address;
-       --           SDP_Count       : Natural;
-       --           Elab_Addresses  : System.Address;
-       --           Elab_Addr_Count : Natural);
-       --        pragma Import (C, SDP_Table_Build, "__gnat_SDP_Table_Build");
-       --
-       --        ST : aliased constant array (1 .. nnn) of System.Address := (
-       --               unit_name_1'UET_Address,
-       --               unit_name_2'UET_Address,
-       --               ...
-       --               unit_name_3'UET_Address,
-       --
-       --        EA : aliased constant array (1 .. eee) of System.Address := (
-       --               adainit'Code_Address,
-       --               adafinal'Code_Address,
-       --               unit_name'elab[spec|body]'Code_Address,
-       --               unit_name'elab[spec|body]'Code_Address,
-       --               unit_name'elab[spec|body]'Code_Address,
-       --               unit_name'elab[spec|body]'Code_Address);
-       --
-       --     begin
-       --        SDP_Table_Build (ST'Address, nnn, EA'Address, eee);
- 
-       Num := 0;
-       for A in ALIs.First .. ALIs.Last loop
-          if not ALIs.Table (A).SAL_Interface
-            and then ALIs.Table (A).Unit_Exception_Table
-          then
-             Num := Num + 1;
-             Last := A;
-          end if;
-       end loop;
- 
-       if Num = 0 then
- 
-          --  Happens with "gnatmake -a -f -gnatL ..."
- 
-          WBI (" ");
-          WBI ("   begin");
-          return;
-       end if;
- 
-       WBI ("      procedure SDP_Table_Build");
-       WBI ("        (SDP_Addresses   : System.Address;");
-       WBI ("         SDP_Count       : Natural;");
-       WBI ("         Elab_Addresses  : System.Address;");
-       WBI ("         Elab_Addr_Count : Natural);");
-       WBI ("      " &
-            "pragma Import (C, SDP_Table_Build, ""__gnat_SDP_Table_Build"");");
- 
-       WBI (" ");
-       Set_String ("      ST : aliased constant array (1 .. ");
-       Set_Int (Num);
-       Set_String (") of System.Address := (");
- 
-       if Num = 1 then
-          Set_String ("1 => ");
- 
-       else
-          Write_Statement_Buffer;
-       end if;
- 
-       for A in ALIs.First .. ALIs.Last loop
-          if not ALIs.Table (A).SAL_Interface
-            and then ALIs.Table (A).Unit_Exception_Table
-          then
-             Get_Decoded_Name_String_With_Brackets
-               (Units.Table (ALIs.Table (A).First_Unit).Uname);
-             Set_Casing (Mixed_Case);
- 
-             if Num /= 1 then
-                Set_String ("        ");
-             end if;
- 
-             Set_String (Name_Buffer (1 .. Name_Len - 2));
-             Set_String ("'UET_Address");
- 
-             if A = Last then
-                Set_String (");");
-             else
-                Set_Char (',');
-             end if;
- 
-             Write_Statement_Buffer;
-          end if;
-       end loop;
- 
-       WBI (" ");
-       Set_String ("      EA : aliased constant array (1 .. ");
-       Set_EA_Last;
-       Set_String (") of System.Address := (");
-       Write_Statement_Buffer;
-       Set_String ("        " & Ada_Init_Name.all & "'Code_Address");
- 
-       --  If compiling for the JVM, we directly reference Adafinal because
-       --  we don't import it via Do_Finalize (see Gen_Output_File_Ada).
- 
-       if not Cumulative_Restrictions.Set (No_Finalization) then
-          Set_Char (',');
-          Write_Statement_Buffer;
- 
-          if Hostparm.Java_VM then
-             Set_String
-               ("        System.Standard_Library.Adafinal'Code_Address");
-          else
-             Set_String
-               ("        Do_Finalize'Code_Address");
-          end if;
-       end if;
- 
-       for E in Elab_Order.First .. Elab_Order.Last loop
-          Get_Decoded_Name_String_With_Brackets
-            (Units.Table (Elab_Order.Table (E)).Uname);
- 
-          if Units.Table (Elab_Order.Table (E)).No_Elab then
-             null;
- 
-          else
-             Set_Char (',');
-             Write_Statement_Buffer;
-             Set_String ("        ");
- 
-             if Name_Buffer (Name_Len) = 's' then
-                Name_Buffer (Name_Len - 1 .. Name_Len + 21) :=
-                                         "'elab_spec'code_address";
-             else
-                Name_Buffer (Name_Len - 1 .. Name_Len + 21) :=
-                                         "'elab_body'code_address";
-             end if;
- 
-             Name_Len := Name_Len + 21;
-             Set_Casing (Units.Table (Elab_Order.Table (E)).Icasing);
-             Set_Name_Buffer;
-          end if;
-       end loop;
- 
-       Set_String (");");
-       Write_Statement_Buffer;
- 
-       WBI (" ");
-       WBI ("   begin");
- 
-       Set_String ("      SDP_Table_Build (ST'Address, ");
-       Set_Int (Num);
-       Set_String (", EA'Address, ");
-       Set_EA_Last;
-       Set_String (");");
-       Write_Statement_Buffer;
-    end Gen_Exception_Table_Ada;
- 
-    ---------------------------
-    -- Gen_Exception_Table_C --
-    ---------------------------
- 
-    procedure Gen_Exception_Table_C is
-       Num  : Nat;
-       Num2 : Nat;
- 
-    begin
-       if not Zero_Cost_Exceptions_Specified then
-          return;
-       end if;
- 
-       --  The code we generate looks like
- 
-       --     extern void *__gnat_unitname1__SDP;
-       --     extern void *__gnat_unitname2__SDP;
-       --     ...
-       --
-       --     void **st[nnn] = {
-       --       &__gnat_unitname1__SDP,
-       --       &__gnat_unitname2__SDP,
-       --       ...
-       --       &__gnat_unitnamen__SDP};
-       --
-       --     extern void unitname1__elabb ();
-       --     extern void unitname2__elabb ();
-       --     ...
-       --
-       --     void (*ea[eee]) () = {
-       --       adainit,
-       --       adafinal,
-       --       unitname1___elab[b,s],
-       --       unitname2___elab[b,s],
-       --       ...
-       --       unitnamen___elab[b,s]};
-       --
-       --     __gnat_SDP_Table_Build (&st, nnn, &ea, eee);
- 
-       Num := 0;
-       for A in ALIs.First .. ALIs.Last loop
-          if not ALIs.Table (A).SAL_Interface
-            and then ALIs.Table (A).Unit_Exception_Table
-          then
-             Num := Num + 1;
- 
-             Set_String ("   extern void *__gnat_");
-             Get_Name_String (Units.Table (ALIs.Table (A).First_Unit).Uname);
-             Set_Unit_Name;
-             Set_String ("__SDP");
-             Set_Char (';');
-             Write_Statement_Buffer;
-          end if;
-       end loop;
- 
-       if Num = 0 then
- 
-          --  Happens with "gnatmake -a -f -gnatL ..."
- 
-          return;
-       end if;
- 
-       WBI (" ");
- 
-       Set_String ("   void **st[");
-       Set_Int (Num);
-       Set_String ("] = {");
-       Write_Statement_Buffer;
- 
-       Num2 := 0;
-       for A in ALIs.First .. ALIs.Last loop
-          if not ALIs.Table (A).SAL_Interface
-            and then ALIs.Table (A).Unit_Exception_Table
-          then
-             Num2 := Num2 + 1;
- 
-             Set_String ("     &__gnat_");
-             Get_Name_String (Units.Table (ALIs.Table (A).First_Unit).Uname);
-             Set_Unit_Name;
-             Set_String ("__SDP");
- 
-             if Num = Num2 then
-                Set_String ("};");
-             else
-                Set_Char (',');
-             end if;
- 
-             Write_Statement_Buffer;
-          end if;
-       end loop;
- 
-       WBI ("");
-       for E in Elab_Order.First .. Elab_Order.Last loop
-          Get_Name_String (Units.Table (Elab_Order.Table (E)).Uname);
- 
-          if Units.Table (Elab_Order.Table (E)).No_Elab then
-             null;
- 
-          else
-             Set_String ("   extern void ");
-             Set_Unit_Name;
-             Set_String ("___elab");
-             Set_Char (Name_Buffer (Name_Len)); -- 's' or 'b' for spec/body
-             Set_String (" ();");
-             Write_Statement_Buffer;
-          end if;
-       end loop;
- 
-       WBI ("");
-       Set_String ("   void (*ea[");
-       Set_EA_Last;
-       Set_String ("]) () = {");
-       Write_Statement_Buffer;
- 
-       Set_String ("     " & Ada_Init_Name.all);
- 
-       if not Cumulative_Restrictions.Set (No_Finalization) then
-          Set_Char (',');
-          Write_Statement_Buffer;
-          Set_String ("     system__standard_library__adafinal");
-       end if;
- 
-       for E in Elab_Order.First .. Elab_Order.Last loop
-          Get_Name_String (Units.Table (Elab_Order.Table (E)).Uname);
- 
-          if Units.Table (Elab_Order.Table (E)).No_Elab then
-             null;
- 
-          else
-             Set_Char (',');
-             Write_Statement_Buffer;
-             Set_String ("     ");
-             Set_Unit_Name;
-             Set_String ("___elab");
-             Set_Char (Name_Buffer (Name_Len)); -- 's' or 'b' for spec/body
-          end if;
-       end loop;
- 
-       Set_String ("};");
-       Write_Statement_Buffer;
- 
-       WBI (" ");
- 
-       Set_String ("   __gnat_SDP_Table_Build (&st, ");
-       Set_Int (Num);
-       Set_String (", ea, ");
-       Set_EA_Last;
-       Set_String (");");
-       Write_Statement_Buffer;
-    end Gen_Exception_Table_C;
- 
     ------------------
     -- Gen_Main_Ada --
     ------------------
--- 1210,1215 ----
*************** package body Bindgen is
*** 1762,1767 ****
--- 1426,1432 ----
     procedure Gen_Main_C is
     begin
        if Exit_Status_Supported_On_Target then
+          WBI ("#include <stdlib.h>");
           Set_String ("int ");
        else
           Set_String ("void ");
*************** package body Bindgen is
*** 1904,1910 ****
              --  For all other systems, we use the standard exit routine.
  
              if OpenVMS_On_Target then
!                WBI ("   __posix_exit (result);");
              else
                 WBI ("   exit (result);");
              end if;
--- 1569,1575 ----
              --  For all other systems, we use the standard exit routine.
  
              if OpenVMS_On_Target then
!                WBI ("   decc$__posix_exit (result);");
              else
                 WBI ("   exit (result);");
              end if;
*************** package body Bindgen is
*** 1921,1927 ****
              --  For all other systems, we use the standard exit routine.
  
              if OpenVMS_On_Target then
!                WBI ("   __posix_exit (gnat_exit_status);");
              else
                 WBI ("   exit (gnat_exit_status);");
              end if;
--- 1586,1592 ----
              --  For all other systems, we use the standard exit routine.
  
              if OpenVMS_On_Target then
!                WBI ("   decc$__posix_exit (gnat_exit_status);");
              else
                 WBI ("   exit (gnat_exit_status);");
              end if;
*************** package body Bindgen is
*** 1942,1948 ****
        --  internal file appears.
  
        procedure Write_Linker_Option;
!       --  Write binder info linker option.
  
        -------------------------
        -- Write_Linker_Option --
--- 1607,1613 ----
        --  internal file appears.
  
        procedure Write_Linker_Option;
!       --  Write binder info linker option
  
        -------------------------
        -- Write_Linker_Option --
*************** package body Bindgen is
*** 2350,2360 ****
--- 2015,2033 ----
        WBI ("   pragma Export (C, " & Ada_Final_Name.all & ", """ &
             Ada_Final_Name.all & """);");
  
+       if Use_Pragma_Linker_Constructor then
+          WBI ("   pragma Linker_Destructor (" & Ada_Final_Name.all & ");");
+       end if;
+ 
        WBI ("");
        WBI ("   procedure " & Ada_Init_Name.all & ";");
        WBI ("   pragma Export (C, " & Ada_Init_Name.all & ", """ &
             Ada_Init_Name.all & """);");
  
+       if Use_Pragma_Linker_Constructor then
+          WBI ("   pragma Linker_Constructor (" & Ada_Init_Name.all & ");");
+       end if;
+ 
        if Bind_Main_Program then
  
           --  If we have the standard library, then Break_Start is defined
*************** package body Bindgen is
*** 2513,2520 ****
        WBI ("  (int, int, char, char, char, char,");
        WBI ("   const char *, const char *,");
        WBI ("   int, int, int, int, int);");
!       WBI ("extern void " & Ada_Final_Name.all & " (void);");
!       WBI ("extern void " & Ada_Init_Name.all & " (void);");
        WBI ("extern void system__standard_library__adafinal (void);");
  
        if not No_Main_Subprogram then
--- 2186,2203 ----
        WBI ("  (int, int, char, char, char, char,");
        WBI ("   const char *, const char *,");
        WBI ("   int, int, int, int, int);");
! 
!       if Use_Pragma_Linker_Constructor then
!          WBI ("extern void " & Ada_Final_Name.all &
!               " (void) __attribute__((destructor));");
!          WBI ("extern void " & Ada_Init_Name.all &
!               " (void) __attribute__((constructor));");
! 
!       else
!          WBI ("extern void " & Ada_Final_Name.all & " (void);");
!          WBI ("extern void " & Ada_Init_Name.all & " (void);");
!       end if;
! 
        WBI ("extern void system__standard_library__adafinal (void);");
  
        if not No_Main_Subprogram then
*************** package body Bindgen is
*** 2535,2541 ****
           end if;
  
           if OpenVMS_On_Target then
!             WBI ("extern void __posix_exit (int);");
           else
              WBI ("extern void exit (int);");
           end if;
--- 2218,2224 ----
           end if;
  
           if OpenVMS_On_Target then
!             WBI ("extern void decc$__posix_exit (int);");
           else
              WBI ("extern void exit (int);");
           end if;
*************** package body Bindgen is
*** 2759,2765 ****
           --  When building libraries, the version number of each unit can
           --  not be computed, since the binder does not know the full list
           --  of units. Therefore, the 'Version and 'Body_Version
!          --  attributes can not supported in this case.
  
           return;
        end if;
--- 2442,2448 ----
           --  When building libraries, the version number of each unit can
           --  not be computed, since the binder does not know the full list
           --  of units. Therefore, the 'Version and 'Body_Version
!          --  attributes cannot supported in this case.
  
           return;
        end if;
*************** package body Bindgen is
*** 2827,2833 ****
           --  When building libraries, the version number of each unit can
           --  not be computed, since the binder does not know the full list
           --  of units. Therefore, the 'Version and 'Body_Version
!          --  attributes can not supported.
  
           return;
        end if;
--- 2510,2516 ----
           --  When building libraries, the version number of each unit can
           --  not be computed, since the binder does not know the full list
           --  of units. Therefore, the 'Version and 'Body_Version
!          --  attributes cannot supported.
  
           return;
        end if;
*************** package body Bindgen is
*** 3113,3136 ****
        Statement_Buffer (Last) := C;
     end Set_Char;
  
-    -----------------
-    -- Set_EA_Last --
-    -----------------
- 
-    procedure Set_EA_Last is
-    begin
-       --  When there is no finalization, only adainit is added
- 
-       if Cumulative_Restrictions.Set (No_Finalization) then
-          Set_Int (Num_Elab_Calls + 1);
- 
-       --  When there is finalization, both adainit and adafinal are added
- 
-       else
-          Set_Int (Num_Elab_Calls + 2);
-       end if;
-    end Set_EA_Last;
- 
     -------------
     -- Set_Int --
     -------------
--- 2796,2801 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/bindgen.ads gcc-4.1.0/gcc/ada/bindgen.ads
*** gcc-4.0.2/gcc/ada/bindgen.ads	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/bindgen.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/bindusg.adb gcc-4.1.0/gcc/ada/bindusg.adb
*** gcc-4.0.2/gcc/ada/bindusg.adb	Thu Feb 10 13:50:32 2005
--- gcc-4.1.0/gcc/ada/bindusg.adb	Tue Nov 15 14:05:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                B o d y                                   --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                B o d y                                   --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** begin
*** 51,56 ****
--- 51,61 ----
     Write_Str ("  -aIdir    Specify source files search path");
     Write_Eol;
  
+    --  Line for a switch
+ 
+    Write_Str ("  -a        Automatically initialize elaboration procedure");
+    Write_Eol;
+ 
     --  Line for A switch
  
     Write_Str ("  -A        Generate binder program in Ada (default)");
*************** begin
*** 127,143 ****
     Write_Str ("renamed to xyzinit/final, implies -n");
     Write_Eol;
  
-    --  Line for -M switch
- 
-    Write_Str ("  -Mxyz     Rename generated main program from main to xyz");
-    Write_Eol;
- 
     --  Line for -m switch
  
     Write_Str ("  -mnnn     Limit number of detected error");
     Write_Str ("s to nnn (1-999999)");
     Write_Eol;
  
     --  Line for -n switch
  
     Write_Str ("  -n        No Ada main program (foreign main routine)");
--- 132,148 ----
     Write_Str ("renamed to xyzinit/final, implies -n");
     Write_Eol;
  
     --  Line for -m switch
  
     Write_Str ("  -mnnn     Limit number of detected error");
     Write_Str ("s to nnn (1-999999)");
     Write_Eol;
  
+    --  Line for -M switch
+ 
+    Write_Str ("  -Mxyz     Rename generated main program from main to xyz");
+    Write_Eol;
+ 
     --  Line for -n switch
  
     Write_Str ("  -n        No Ada main program (foreign main routine)");
diff -Nrcpad gcc-4.0.2/gcc/ada/bindusg.ads gcc-4.1.0/gcc/ada/bindusg.ads
*** gcc-4.0.2/gcc/ada/bindusg.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/bindusg.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/butil.adb gcc-4.1.0/gcc/ada/butil.adb
*** gcc-4.0.2/gcc/ada/butil.adb	Fri Nov 19 10:55:59 2004
--- gcc-4.1.0/gcc/ada/butil.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/butil.ads gcc-4.1.0/gcc/ada/butil.ads
*** gcc-4.0.2/gcc/ada/butil.ads	Fri Nov 19 10:55:59 2004
--- gcc-4.1.0/gcc/ada/butil.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/cal.c gcc-4.1.0/gcc/ada/cal.c
*** gcc-4.0.2/gcc/ada/cal.c	Tue Nov  4 12:51:45 2003
--- gcc-4.1.0/gcc/ada/cal.c	Mon Sep  5 07:49:24 2005
***************
*** 6,12 ****
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2003, Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2005, Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
***************
*** 31,39 ****
   ****************************************************************************/
  
  /*  This file contains those routines named by Import pragmas in package    */
! /*  GNAT.Calendar. It is used to to Duration to timeval convertion.         */
! /*  These are simple wrappers function to abstarct the fact that the C      */
! /*  struct timeval fields type are not normalized (they are generaly        */
  /*  defined as int or long values).                                         */
  
  #if defined(VMS)
--- 31,39 ----
   ****************************************************************************/
  
  /*  This file contains those routines named by Import pragmas in package    */
! /*  GNAT.Calendar. It is used to do Duration to timeval conversion.         */
! /*  These are simple wrappers function to abstract the fact that the C      */
! /*  struct timeval fields type are not normalized (they are generally       */
  /*  defined as int or long values).                                         */
  
  #if defined(VMS)
*************** __gnat_duration_to_timeval (long sec, lo
*** 53,59 ****
--- 53,63 ----
  #else
  
  #if defined (__vxworks)
+ #ifdef __RTP__
+ #include <time.h>
+ #else
  #include <sys/times.h>
+ #endif
  #else
  #include <sys/time.h>
  #endif
*************** __gnat_timeval_to_duration (struct timev
*** 75,81 ****
  void
  __gnat_duration_to_timeval (long sec, long usec, struct timeval *t)
  {
!   /* here we are doing implicit convertion from a long to the struct timeval
       fields types. */
  
    t->tv_sec = sec;
--- 79,85 ----
  void
  __gnat_duration_to_timeval (long sec, long usec, struct timeval *t)
  {
!   /* here we are doing implicit conversion from a long to the struct timeval
       fields types. */
  
    t->tv_sec = sec;
diff -Nrcpad gcc-4.0.2/gcc/ada/calendar.ads gcc-4.1.0/gcc/ada/calendar.ads
*** gcc-4.0.2/gcc/ada/calendar.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/calendar.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                             C A L E N D A R                              --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                             C A L E N D A R                              --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/casing.adb gcc-4.1.0/gcc/ada/casing.adb
*** gcc-4.0.2/gcc/ada/casing.adb	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/casing.adb	Mon Sep  5 07:50:46 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 34,40 ****
  with Csets;    use Csets;
  with Namet;    use Namet;
  with Opt;      use Opt;
- with Types;    use Types;
  with Widechar; use Widechar;
  
  package body Casing is
--- 34,39 ----
*************** package body Casing is
*** 140,145 ****
--- 139,155 ----
        Ptr := 1;
  
        while Ptr <= Name_Len loop
+ 
+          --  Wide character. Note that we do nothing with casing in this case.
+          --  In Ada 2005 mode, required folding of lower case letters happened
+          --  as the identifier was scanned, and we do not attempt any further
+          --  messing with case (note that in any case we do not know how to
+          --  fold upper case to lower case in wide character mode). We also
+          --  do not bother with recognizing punctuation as equivalent to an
+          --  underscore. There is nothing functional at this stage in doing
+          --  the requested casing operation, beyond folding to upper case
+          --  when it is mandatory, which does not involve underscores.
+ 
           if Name_Buffer (Ptr) = ASCII.ESC
             or else Name_Buffer (Ptr) = '['
             or else (Upper_Half_Encoding
*************** package body Casing is
*** 148,159 ****
--- 158,173 ----
              Skip_Wide (Name_Buffer, Ptr);
              After_Und := False;
  
+          --  Underscore, or non-identifer character (error case)
+ 
           elsif Name_Buffer (Ptr) = '_'
              or else not Identifier_Char (Name_Buffer (Ptr))
           then
              After_Und := True;
              Ptr := Ptr + 1;
  
+          --  Lower case letter
+ 
           elsif Is_Lower_Case_Letter (Name_Buffer (Ptr)) then
              if Actual_Casing = All_Upper_Case
                or else (After_Und and then Actual_Casing = Mixed_Case)
*************** package body Casing is
*** 164,169 ****
--- 178,185 ----
              After_Und := False;
              Ptr := Ptr + 1;
  
+          --  Upper case letter
+ 
           elsif Is_Upper_Case_Letter (Name_Buffer (Ptr)) then
              if Actual_Casing = All_Lower_Case
                or else (not After_Und and then Actual_Casing = Mixed_Case)
*************** package body Casing is
*** 174,180 ****
              After_Und := False;
              Ptr := Ptr + 1;
  
!          else  --  all other characters
              After_Und := False;
              Ptr := Ptr + 1;
           end if;
--- 190,198 ----
              After_Und := False;
              Ptr := Ptr + 1;
  
!          --  Other identifier character (must be digit)
! 
!          else
              After_Und := False;
              Ptr := Ptr + 1;
           end if;
diff -Nrcpad gcc-4.0.2/gcc/ada/casing.ads gcc-4.1.0/gcc/ada/casing.ads
*** gcc-4.0.2/gcc/ada/casing.ads	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/casing.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/ceinfo.adb gcc-4.1.0/gcc/ada/ceinfo.adb
*** gcc-4.0.2/gcc/ada/ceinfo.adb	Thu Apr 24 17:53:58 2003
--- gcc-4.1.0/gcc/ada/ceinfo.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/checks.adb gcc-4.1.0/gcc/ada/checks.adb
*** gcc-4.0.2/gcc/ada/checks.adb	Thu Feb 10 13:50:40 2005
--- gcc-4.1.0/gcc/ada/checks.adb	Tue Nov 15 13:51:09 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Debug;    use Debug;
*** 29,34 ****
--- 29,35 ----
  with Einfo;    use Einfo;
  with Errout;   use Errout;
  with Exp_Ch2;  use Exp_Ch2;
+ with Exp_Pakd; use Exp_Pakd;
  with Exp_Util; use Exp_Util;
  with Elists;   use Elists;
  with Eval_Fat; use Eval_Fat;
*************** package body Checks is
*** 217,222 ****
--- 218,247 ----
     --  routine. The Do_Static flag indicates that only a static check is
     --  to be done.
  
+    type Check_Type is (Access_Check, Division_Check);
+    function Check_Needed (Nod : Node_Id; Check : Check_Type) return Boolean;
+    --  This function is used to see if an access or division by zero check is
+    --  needed. The check is to be applied to a single variable appearing in the
+    --  source, and N is the node for the reference. If N is not of this form,
+    --  True is returned with no further processing. If N is of the right form,
+    --  then further processing determines if the given Check is needed.
+    --
+    --  The particular circuit is to see if we have the case of a check that is
+    --  not needed because it appears in the right operand of a short circuited
+    --  conditional where the left operand guards the check. For example:
+    --
+    --    if Var = 0 or else Q / Var > 12 then
+    --       ...
+    --    end if;
+    --
+    --  In this example, the division check is not required. At the same time
+    --  we can issue warnings for suspicious use of non-short-circuited forms,
+    --  such as:
+    --
+    --    if Var = 0 or Q / Var > 12 then
+    --       ...
+    --    end if;
+ 
     procedure Find_Check
       (Expr        : Node_Id;
        Check_Type  : Character;
*************** package body Checks is
*** 253,262 ****
     --  that the access value is non-null, since the checks do not
     --  not apply to null access values.
  
-    procedure Install_Null_Excluding_Check (N : Node_Id);
-    --  Determines whether an access node requires a runtime access check and
-    --  if so inserts the appropriate run-time check
- 
     procedure Install_Static_Check (R_Cno : Node_Id; Loc : Source_Ptr);
     --  Called by Apply_{Length,Range}_Checks to rewrite the tree with the
     --  Constraint_Error node.
--- 278,283 ----
*************** package body Checks is
*** 379,391 ****
        elsif Access_Checks_Suppressed (Etype (P)) then
           return;
  
!          --  We do not need checks if we are not generating code (i.e. the
!          --  expander is not active). This is not just an optimization, there
!          --  are cases (e.g. with pragma Debug) where generating the checks
!          --  can cause real trouble).
  
        elsif not Expander_Active then
           return;
        end if;
  
        --  Case where P is an entity name
--- 400,417 ----
        elsif Access_Checks_Suppressed (Etype (P)) then
           return;
  
!       --  We do not need checks if we are not generating code (i.e. the
!       --  expander is not active). This is not just an optimization, there
!       --  are cases (e.g. with pragma Debug) where generating the checks
!       --  can cause real trouble).
  
        elsif not Expander_Active then
           return;
+ 
+       --  We do not need checks if not needed because of short circuiting
+ 
+       elsif not Check_Needed (P, Access_Check) then
+          return;
        end if;
  
        --  Case where P is an entity name
*************** package body Checks is
*** 714,723 ****
     -- Apply_Array_Size_Check --
     ----------------------------
  
-    --  Note: Really of course this entre check should be in the backend,
-    --  and perhaps this is not quite the right value, but it is good
-    --  enough to catch the normal cases (and the relevant ACVC tests!)
- 
     --  The situation is as follows. In GNAT 3 (GCC 2.x), the size in bits
     --  is computed in 32 bits without an overflow check. That's a real
     --  problem for Ada. So what we do in GNAT 3 is to approximate the
--- 740,745 ----
*************** package body Checks is
*** 726,733 ****
  
     --  In GNAT 5, the size in byte is still computed in 32 bits without
     --  an overflow check in the dynamic case, but the size in bits is
!    --  computed in 64 bits. We assume that's good enough, so we use the
!    --  size in bits for the test.
  
     procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id) is
        Loc  : constant Source_Ptr := Sloc (N);
--- 748,755 ----
  
     --  In GNAT 5, the size in byte is still computed in 32 bits without
     --  an overflow check in the dynamic case, but the size in bits is
!    --  computed in 64 bits. We assume that's good enough, and we do not
!    --  bother to generate any front end test.
  
     procedure Apply_Array_Size_Check (N : Node_Id; Typ : Entity_Id) is
        Loc  : constant Source_Ptr := Sloc (N);
*************** package body Checks is
*** 808,813 ****
--- 830,843 ----
     --  Start of processing for Apply_Array_Size_Check
  
     begin
+       --  Do size check on local arrays. We only need this in the GCC 2
+       --  case, since in GCC 3, we expect the back end to properly handle
+       --  things. This routine can be removed when we baseline GNAT 3.
+ 
+       if Opt.GCC_Version >= 3 then
+          return;
+       end if;
+ 
        --  No need for a check if not expanding
  
        if not Expander_Active then
*************** package body Checks is
*** 843,986 ****
           end if;
        end loop;
  
!       --  GCC 3 case
  
!       if Opt.GCC_Version = 3 then
  
!          --  No problem if size is known at compile time (even if the front
!          --  end does not know it) because the back end does do overflow
!          --  checking on the size in bytes if it is compile time known.
  
!          if Size_Known_At_Compile_Time (Typ) then
              return;
           end if;
-       end if;
  
!       --  Following code is temporarily deleted, since GCC 3 is returning
!       --  zero for size in bits of large dynamic arrays. ???
! 
! --           --  Otherwise we check for the size in bits exceeding 2**31-1 * 8.
! --           --  This is the case in which we could end up with problems from
! --           --  an unnoticed overflow in computing the size in bytes
! --
! --           Check_Siz := (Uint_2 ** 31 - Uint_1) * Uint_8;
! --
! --           Sizx :=
! --             Make_Attribute_Reference (Loc,
! --               Prefix => New_Occurrence_Of (Typ, Loc),
! --               Attribute_Name => Name_Size);
! 
!       --  GCC 2 case (for now this is for GCC 3 dynamic case as well)
  
!       begin
!          --  First step is to calculate the maximum number of elements. For
!          --  this calculation, we use the actual size of the subtype if it is
!          --  static, and if a bound of a subtype is non-static, we go to the
!          --  bound of the base type.
  
!          Siz := Uint_1;
!          Indx := First_Index (Typ);
!          while Present (Indx) loop
!             Xtyp := Etype (Indx);
!             Lo := Type_Low_Bound (Xtyp);
!             Hi := Type_High_Bound (Xtyp);
  
!             --  If any bound raises constraint error, we will never get this
!             --  far, so there is no need to generate any kind of check.
  
!             if Raises_Constraint_Error (Lo)
!               or else
!                 Raises_Constraint_Error (Hi)
!             then
!                Uintp.Release (Umark);
!                return;
!             end if;
  
!             --  Otherwise get bounds values
  
!             if Is_Static_Expression (Lo) then
!                Lob := Expr_Value (Lo);
!             else
!                Lob := Expr_Value (Type_Low_Bound (Base_Type (Xtyp)));
!                Static := False;
!             end if;
  
!             if Is_Static_Expression (Hi) then
!                Hib := Expr_Value (Hi);
!             else
!                Hib := Expr_Value (Type_High_Bound (Base_Type (Xtyp)));
!                Static := False;
!             end if;
  
!             Siz := Siz *  UI_Max (Hib - Lob + 1, Uint_0);
!             Next_Index (Indx);
!          end loop;
  
!          --  Compute the limit against which we want to check. For subprograms,
!          --  where the array will go on the stack, we use 8*2**24, which (in
!          --  bits) is the size of a 16 megabyte array.
  
!          if Is_Subprogram (Scope (Ent)) then
!             Check_Siz := Uint_2 ** 27;
!          else
!             Check_Siz := Uint_2 ** 31;
!          end if;
  
!          --  If we have all static bounds and Siz is too large, then we know
!          --  we know we have a storage error right now, so generate message
  
!          if Static and then Siz >= Check_Siz then
!             Insert_Action (N,
!               Make_Raise_Storage_Error (Loc,
!                 Reason => SE_Object_Too_Large));
!             Error_Msg_N ("?Storage_Error will be raised at run-time", N);
!             Uintp.Release (Umark);
!             return;
!          end if;
  
!          --  Case of component size known at compile time. If the array
!          --  size is definitely in range, then we do not need a check.
  
!          if Known_Esize (Ctyp)
!            and then Siz * Esize (Ctyp) < Check_Siz
!          then
!             Uintp.Release (Umark);
!             return;
           end if;
  
-          --  Here if a dynamic check is required
- 
-          --  What we do is to build an expression for the size of the array,
-          --  which is computed as the 'Size of the array component, times
-          --  the size of each dimension.
- 
-          Uintp.Release (Umark);
- 
           Sizx :=
!            Make_Attribute_Reference (Loc,
!              Prefix =>         New_Occurrence_Of (Ctyp, Loc),
!              Attribute_Name => Name_Size);
! 
!          Indx := First_Index (Typ);
!          for J in 1 .. Number_Dimensions (Typ) loop
!             if Sloc (Etype (Indx)) = Sloc (N) then
!                Ensure_Defined (Etype (Indx), N);
!             end if;
! 
!             Sizx :=
!               Make_Op_Multiply (Loc,
!                 Left_Opnd  => Sizx,
!                 Right_Opnd =>
!                   Make_Attribute_Reference (Loc,
!                     Prefix         => New_Occurrence_Of (Typ, Loc),
!                     Attribute_Name => Name_Length,
!                     Expressions    => New_List (
!                                         Make_Integer_Literal (Loc, J))));
!             Next_Index (Indx);
!          end loop;
!       end;
  
!       --  Common code to actually emit the check
  
        Code :=
          Make_Raise_Storage_Error (Loc,
--- 873,985 ----
           end if;
        end loop;
  
!       --  First step is to calculate the maximum number of elements. For
!       --  this calculation, we use the actual size of the subtype if it is
!       --  static, and if a bound of a subtype is non-static, we go to the
!       --  bound of the base type.
  
!       Siz := Uint_1;
!       Indx := First_Index (Typ);
!       while Present (Indx) loop
!          Xtyp := Etype (Indx);
!          Lo := Type_Low_Bound (Xtyp);
!          Hi := Type_High_Bound (Xtyp);
  
!          --  If any bound raises constraint error, we will never get this
!          --  far, so there is no need to generate any kind of check.
  
!          if Raises_Constraint_Error (Lo)
!            or else
!              Raises_Constraint_Error (Hi)
!          then
!             Uintp.Release (Umark);
              return;
           end if;
  
!          --  Otherwise get bounds values
  
!          if Is_Static_Expression (Lo) then
!             Lob := Expr_Value (Lo);
!          else
!             Lob := Expr_Value (Type_Low_Bound (Base_Type (Xtyp)));
!             Static := False;
!          end if;
  
!          if Is_Static_Expression (Hi) then
!             Hib := Expr_Value (Hi);
!          else
!             Hib := Expr_Value (Type_High_Bound (Base_Type (Xtyp)));
!             Static := False;
!          end if;
  
!          Siz := Siz *  UI_Max (Hib - Lob + 1, Uint_0);
!          Next_Index (Indx);
!       end loop;
  
!       --  Compute the limit against which we want to check. For subprograms,
!       --  where the array will go on the stack, we use 8*2**24, which (in
!       --  bits) is the size of a 16 megabyte array.
  
!       if Is_Subprogram (Scope (Ent)) then
!          Check_Siz := Uint_2 ** 27;
!       else
!          Check_Siz := Uint_2 ** 31;
!       end if;
  
!       --  If we have all static bounds and Siz is too large, then we know
!       --  we know we have a storage error right now, so generate message
  
!       if Static and then Siz >= Check_Siz then
!          Insert_Action (N,
!            Make_Raise_Storage_Error (Loc,
!              Reason => SE_Object_Too_Large));
!          Error_Msg_N ("?Storage_Error will be raised at run-time", N);
!          Uintp.Release (Umark);
!          return;
!       end if;
  
!       --  Case of component size known at compile time. If the array
!       --  size is definitely in range, then we do not need a check.
  
!       if Known_Esize (Ctyp)
!         and then Siz * Esize (Ctyp) < Check_Siz
!       then
!          Uintp.Release (Umark);
!          return;
!       end if;
  
!       --  Here if a dynamic check is required
  
!       --  What we do is to build an expression for the size of the array,
!       --  which is computed as the 'Size of the array component, times
!       --  the size of each dimension.
  
!       Uintp.Release (Umark);
  
!       Sizx :=
!         Make_Attribute_Reference (Loc,
!           Prefix =>         New_Occurrence_Of (Ctyp, Loc),
!           Attribute_Name => Name_Size);
  
!       Indx := First_Index (Typ);
!       for J in 1 .. Number_Dimensions (Typ) loop
!          if Sloc (Etype (Indx)) = Sloc (N) then
!             Ensure_Defined (Etype (Indx), N);
           end if;
  
           Sizx :=
!            Make_Op_Multiply (Loc,
!              Left_Opnd  => Sizx,
!              Right_Opnd =>
!                Make_Attribute_Reference (Loc,
!                  Prefix         => New_Occurrence_Of (Typ, Loc),
!                  Attribute_Name => Name_Length,
!                  Expressions    => New_List (
!                    Make_Integer_Literal (Loc, J))));
!          Next_Index (Indx);
!       end loop;
  
!       --  Emit the check
  
        Code :=
          Make_Raise_Storage_Error (Loc,
*************** package body Checks is
*** 990,996 ****
                Right_Opnd =>
                  Make_Integer_Literal (Loc,
                    Intval    => Check_Siz)),
!                   Reason    => SE_Object_Too_Large);
  
        Set_Size_Check_Code (Defining_Identifier (N), Code);
        Insert_Action (N, Code, Suppress => All_Checks);
--- 989,995 ----
                Right_Opnd =>
                  Make_Integer_Literal (Loc,
                    Intval    => Check_Siz)),
!           Reason => SE_Object_Too_Large);
  
        Set_Size_Check_Code (Defining_Identifier (N), Code);
        Insert_Action (N, Code, Suppress => All_Checks);
*************** package body Checks is
*** 1016,1022 ****
  
        elsif Is_Array_Type (Typ) then
  
!          --  A useful optimization: an aggregate with only an Others clause
           --  always has the right bounds.
  
           if Nkind (N) = N_Aggregate
--- 1015,1021 ----
  
        elsif Is_Array_Type (Typ) then
  
!          --  A useful optimization: an aggregate with only an others clause
           --  always has the right bounds.
  
           if Nkind (N) = N_Aggregate
*************** package body Checks is
*** 1144,1153 ****
           return;
        end if;
  
!       --  No discriminant checks necessary for access when expression
        --  is statically Null. This is not only an optimization, this is
        --  fundamental because otherwise discriminant checks may be generated
!       --  in init procs for types containing an access to a non-frozen yet
        --  record, causing a deadly forward reference.
  
        --  Also, if the expression is of an access type whose designated
--- 1143,1152 ----
           return;
        end if;
  
!       --  No discriminant checks necessary for an access when expression
        --  is statically Null. This is not only an optimization, this is
        --  fundamental because otherwise discriminant checks may be generated
!       --  in init procs for types containing an access to a not-yet-frozen
        --  record, causing a deadly forward reference.
  
        --  Also, if the expression is of an access type whose designated
*************** package body Checks is
*** 1184,1189 ****
--- 1183,1196 ----
  
        if not Is_Constrained (T_Typ) then
           return;
+ 
+       --  Ada 2005: nothing to do if the type is one for which there is a
+       --  partial view that is constrained.
+ 
+       elsif Ada_Version >= Ada_05
+         and then Has_Constrained_Partial_View (Base_Type (T_Typ))
+       then
+          return;
        end if;
  
        --  Nothing to do if the type is an Unchecked_Union
*************** package body Checks is
*** 1378,1384 ****
  
     begin
        if Expander_Active
!         and not Backend_Divide_Checks_On_Target
        then
           Determine_Range (Right, ROK, Rlo, Rhi);
  
--- 1385,1392 ----
  
     begin
        if Expander_Active
!         and then not Backend_Divide_Checks_On_Target
!         and then Check_Needed (Right, Division_Check)
        then
           Determine_Range (Right, ROK, Rlo, Rhi);
  
*************** package body Checks is
*** 1400,1406 ****
           --  Test for extremely annoying case of xxx'First divided by -1
  
           if Do_Overflow_Check (N) then
- 
              if Nkind (N) = N_Op_Divide
                and then Is_Signed_Integer_Type (Typ)
              then
--- 1408,1413 ----
*************** package body Checks is
*** 1609,1615 ****
  
        Insert_Action (Ck_Node,
          Make_Raise_Constraint_Error (Loc,
!           Condition => Make_Op_Not (Loc, Make_Op_And (Loc, Lo_Chk, Hi_Chk)),
            Reason    => Reason));
     end Apply_Float_Conversion_Check;
  
--- 1616,1622 ----
  
        Insert_Action (Ck_Node,
          Make_Raise_Constraint_Error (Loc,
!           Condition => Make_Op_Not (Loc, Make_And_Then (Loc, Lo_Chk, Hi_Chk)),
            Reason    => Reason));
     end Apply_Float_Conversion_Check;
  
*************** package body Checks is
*** 2438,2443 ****
--- 2445,2563 ----
        return Cond;
     end Build_Discriminant_Checks;
  
+    ------------------
+    -- Check_Needed --
+    ------------------
+ 
+    function Check_Needed (Nod : Node_Id; Check : Check_Type) return Boolean is
+       N : Node_Id;
+       P : Node_Id;
+       K : Node_Kind;
+       L : Node_Id;
+       R : Node_Id;
+ 
+    begin
+       --  Always check if not simple entity
+ 
+       if Nkind (Nod) not in N_Has_Entity
+         or else not Comes_From_Source (Nod)
+       then
+          return True;
+       end if;
+ 
+       --  Look up tree for short circuit
+ 
+       N := Nod;
+       loop
+          P := Parent (N);
+          K := Nkind (P);
+ 
+          if K not in N_Subexpr then
+             return True;
+ 
+          --  Or/Or Else case, left operand must be equality test
+ 
+          elsif K = N_Op_Or or else K = N_Or_Else then
+             exit when N = Right_Opnd (P)
+               and then Nkind (Left_Opnd (P)) = N_Op_Eq;
+ 
+          --  And/And then case, left operand must be inequality test
+ 
+          elsif K = N_Op_And or else K = N_And_Then then
+             exit when N = Right_Opnd (P)
+               and then Nkind (Left_Opnd (P)) = N_Op_Ne;
+          end if;
+ 
+          N := P;
+       end loop;
+ 
+       --  If we fall through the loop, then we have a conditional with an
+       --  appropriate test as its left operand. So test further.
+ 
+       L := Left_Opnd (P);
+ 
+       if Nkind (L) = N_Op_Not then
+          L := Right_Opnd (L);
+       end if;
+ 
+       R := Right_Opnd (L);
+       L := Left_Opnd (L);
+ 
+       --  Left operand of test must match original variable
+ 
+       if Nkind (L) not in N_Has_Entity
+         or else Entity (L) /= Entity (Nod)
+       then
+          return True;
+       end if;
+ 
+       --  Right operand of test mus be key value (zero or null)
+ 
+       case Check is
+          when Access_Check =>
+             if Nkind (R) /= N_Null then
+                return True;
+             end if;
+ 
+          when Division_Check =>
+             if not Compile_Time_Known_Value (R)
+               or else Expr_Value (R) /= Uint_0
+             then
+                return True;
+             end if;
+       end case;
+ 
+       --  Here we have the optimizable case, warn if not short-circuited
+ 
+       if K = N_Op_And or else K = N_Op_Or then
+          case Check is
+             when Access_Check =>
+                Error_Msg_N
+                  ("Constraint_Error may be raised (access check)?",
+                   Parent (Nod));
+             when Division_Check =>
+                Error_Msg_N
+                  ("Constraint_Error may be raised (zero divide)?",
+                   Parent (Nod));
+          end case;
+ 
+          if K = N_Op_And then
+             Error_Msg_N ("use `AND THEN` instead of AND?", P);
+          else
+             Error_Msg_N ("use `OR ELSE` instead of OR?", P);
+          end if;
+ 
+          --  If not short-circuited, we need the ckeck
+ 
+          return True;
+ 
+       --  If short-circuited, we can omit the check
+ 
+       else
+          return False;
+       end if;
+    end Check_Needed;
+ 
     -----------------------------------
     -- Check_Valid_Lvalue_Subscripts --
     -----------------------------------
*************** package body Checks is
*** 2485,2702 ****
        Related_Nod        : Node_Id;
        Has_Null_Exclusion : Boolean := False;
  
!       type Msg_Kind is (Components, Formals, Objects);
!       Msg_K : Msg_Kind := Objects;
!       --  Used by local subprograms to generate precise error messages
  
!       procedure Check_Must_Be_Access
!         (Typ                : Entity_Id;
!          Has_Null_Exclusion : Boolean);
!       --  ??? local subprograms must have comment on spec
  
!       procedure Check_Already_Null_Excluding_Type
!         (Typ                : Entity_Id;
!          Has_Null_Exclusion : Boolean;
!          Related_Nod        : Node_Id);
!       --  ??? local subprograms must have comment on spec
  
!       procedure Check_Must_Be_Initialized
!         (N           : Node_Id;
!          Related_Nod : Node_Id);
!       --  ??? local subprograms must have comment on spec
  
!       procedure Check_Null_Not_Allowed (N : Node_Id);
!       --  ??? local subprograms must have comment on spec
  
!       --  ??? following bodies lack comments
  
!       --------------------------
!       -- Check_Must_Be_Access --
!       --------------------------
  
!       procedure Check_Must_Be_Access
!         (Typ                : Entity_Id;
!          Has_Null_Exclusion : Boolean)
!       is
!       begin
!          if Has_Null_Exclusion
!            and then not Is_Access_Type (Typ)
!          then
!             Error_Msg_N ("(Ada 2005) must be an access type", Related_Nod);
!          end if;
!       end Check_Must_Be_Access;
  
!       ---------------------------------------
!       -- Check_Already_Null_Excluding_Type --
!       ---------------------------------------
  
!       procedure Check_Already_Null_Excluding_Type
!         (Typ                : Entity_Id;
!          Has_Null_Exclusion : Boolean;
!          Related_Nod        : Node_Id)
!       is
!       begin
!          if Has_Null_Exclusion
!            and then Can_Never_Be_Null (Typ)
!          then
!             Error_Msg_N
!               ("(Ada 2005) already a null-excluding type", Related_Nod);
!          end if;
!       end Check_Already_Null_Excluding_Type;
  
!       -------------------------------
!       -- Check_Must_Be_Initialized --
!       -------------------------------
  
!       procedure Check_Must_Be_Initialized
!         (N           : Node_Id;
!          Related_Nod : Node_Id)
!       is
!          Expr        : constant Node_Id := Expression (N);
  
!       begin
!          pragma Assert (Nkind (N) = N_Component_Declaration
!                           or else Nkind (N) = N_Object_Declaration);
  
!          if not Present (Expr) then
!             case Msg_K is
!                when Components =>
!                   Error_Msg_N
!                     ("(Ada 2005) null-excluding components must be " &
!                      "initialized", Related_Nod);
  
!                when Formals =>
!                   Error_Msg_N
!                     ("(Ada 2005) null-excluding formals must be initialized",
!                      Related_Nod);
  
!                when Objects =>
!                   Error_Msg_N
!                     ("(Ada 2005) null-excluding objects must be initialized",
!                      Related_Nod);
!             end case;
!          end if;
!       end Check_Must_Be_Initialized;
  
!       ----------------------------
!       -- Check_Null_Not_Allowed --
!       ----------------------------
  
!       procedure Check_Null_Not_Allowed (N : Node_Id) is
           Expr : constant Node_Id := Expression (N);
  
        begin
           if Present (Expr)
             and then Nkind (Expr) = N_Null
           then
!             case Msg_K is
!                when Components =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding components?",
!                       Reason => CE_Null_Not_Allowed,
!                       Rep    => False);
  
!                when Formals =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding formals?",
!                       Reason => CE_Null_Not_Allowed,
!                       Rep    => False);
  
!                when Objects =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding objects?",
!                       Reason => CE_Null_Not_Allowed,
!                       Rep    => False);
              end case;
           end if;
!       end Check_Null_Not_Allowed;
! 
!    --  Start of processing for Null_Exclusion_Static_Checks
! 
!    begin
!       pragma Assert (K = N_Component_Declaration
!                        or else K = N_Parameter_Specification
!                        or else K = N_Object_Declaration
!                        or else K = N_Discriminant_Specification
!                        or else K = N_Allocator);
! 
!       case K is
!          when N_Component_Declaration =>
!             Msg_K := Components;
! 
!             if not Present (Access_Definition (Component_Definition (N))) then
!                Has_Null_Exclusion  := Null_Exclusion_Present
!                                         (Component_Definition (N));
!                Typ := Etype (Subtype_Indication (Component_Definition (N)));
!                Related_Nod := Subtype_Indication (Component_Definition (N));
!                Check_Must_Be_Access (Typ, Has_Null_Exclusion);
!                Check_Already_Null_Excluding_Type
!                  (Typ, Has_Null_Exclusion, Related_Nod);
!                Check_Must_Be_Initialized (N, Related_Nod);
!             end if;
! 
!             Check_Null_Not_Allowed (N);
! 
!          when N_Parameter_Specification =>
!             Msg_K := Formals;
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
!             Typ := Entity (Parameter_Type (N));
!             Related_Nod := Parameter_Type (N);
!             Check_Must_Be_Access (Typ, Has_Null_Exclusion);
!             Check_Already_Null_Excluding_Type
!               (Typ, Has_Null_Exclusion, Related_Nod);
!             Check_Null_Not_Allowed (N);
! 
!          when N_Object_Declaration =>
!             Msg_K := Objects;
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
!             Typ := Entity (Object_Definition (N));
!             Related_Nod := Object_Definition (N);
!             Check_Must_Be_Access (Typ, Has_Null_Exclusion);
!             Check_Already_Null_Excluding_Type
!               (Typ, Has_Null_Exclusion, Related_Nod);
!             Check_Must_Be_Initialized (N, Related_Nod);
!             Check_Null_Not_Allowed (N);
! 
!          when N_Discriminant_Specification =>
!             Msg_K := Components;
! 
!             if Nkind (Discriminant_Type (N)) /= N_Access_Definition then
!                Has_Null_Exclusion := Null_Exclusion_Present (N);
!                Typ := Etype (Defining_Identifier (N));
!                Related_Nod := Discriminant_Type (N);
!                Check_Must_Be_Access (Typ, Has_Null_Exclusion);
!                Check_Already_Null_Excluding_Type
!                  (Typ, Has_Null_Exclusion, Related_Nod);
!             end if;
! 
!             Check_Null_Not_Allowed (N);
! 
!          when N_Allocator =>
!             Msg_K := Objects;
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
!             Typ := Etype (Expression (N));
! 
!             if Nkind (Expression (N)) = N_Qualified_Expression then
!                Related_Nod := Subtype_Mark (Expression (N));
!             else
!                Related_Nod := Expression (N);
!             end if;
! 
!             Check_Must_Be_Access (Typ, Has_Null_Exclusion);
!             Check_Already_Null_Excluding_Type
!               (Typ, Has_Null_Exclusion, Related_Nod);
!             Check_Null_Not_Allowed (N);
! 
!          when others =>
!             raise Program_Error;
!       end case;
     end Null_Exclusion_Static_Checks;
  
     ----------------------------------
--- 2605,2724 ----
        Related_Nod        : Node_Id;
        Has_Null_Exclusion : Boolean := False;
  
!    begin
!       pragma Assert (K = N_Parameter_Specification
!                        or else K = N_Object_Declaration
!                        or else K = N_Discriminant_Specification
!                        or else K = N_Component_Declaration);
  
!       Typ := Etype (Defining_Identifier (N));
  
!       pragma Assert (Is_Access_Type (Typ)
!         or else (K = N_Object_Declaration and then Is_Array_Type (Typ)));
  
!       case K is
!          when N_Parameter_Specification =>
!             Related_Nod        := Parameter_Type (N);
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
  
!          when N_Object_Declaration =>
!             Related_Nod        := Object_Definition (N);
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
  
!          when N_Discriminant_Specification =>
!             Related_Nod        := Discriminant_Type (N);
!             Has_Null_Exclusion := Null_Exclusion_Present (N);
  
!          when N_Component_Declaration =>
!             if Present (Access_Definition (Component_Definition (N))) then
!                Related_Nod := Component_Definition (N);
!                Has_Null_Exclusion :=
!                  Null_Exclusion_Present
!                    (Access_Definition (Component_Definition (N)));
!             else
!                Related_Nod :=
!                  Subtype_Indication (Component_Definition (N));
!                Has_Null_Exclusion :=
!                  Null_Exclusion_Present (Component_Definition (N));
!             end if;
  
!          when others =>
!             raise Program_Error;
!       end case;
  
!       --  Enforce legality rule 3.10 (14/1): A null_exclusion is only allowed
!       --  of the access subtype does not exclude null.
  
!       if Has_Null_Exclusion
!         and then Can_Never_Be_Null (Typ)
  
!          --  No need to check itypes that have the null-excluding attribute
!          --  because they were checked at their point of creation
  
!         and then not Is_Itype (Typ)
!       then
!          Error_Msg_N
!            ("(Ada 2005) already a null-excluding type", Related_Nod);
!       end if;
  
!       --  Check that null-excluding objects are always initialized
  
!       if K = N_Object_Declaration
!         and then not Present (Expression (N))
!       then
!          --  Add a an expression that assignates null. This node is needed
!          --  by Apply_Compile_Time_Constraint_Error, that will replace this
!          --  node by a Constraint_Error node.
  
!          Set_Expression (N, Make_Null (Sloc (N)));
!          Set_Etype (Expression (N), Etype (Defining_Identifier (N)));
  
!          Apply_Compile_Time_Constraint_Error
!            (N      => Expression (N),
!             Msg    => "(Ada 2005) null-excluding objects must be initialized?",
!             Reason => CE_Null_Not_Allowed);
!       end if;
  
!       --  Check that the null value is not used as a single expression to
!       --  assignate a value to a null-excluding component, formal or object;
!       --  otherwise generate a warning message at the sloc of Related_Nod and
!       --  replace Expression (N) by an N_Contraint_Error node.
  
!       declare
           Expr : constant Node_Id := Expression (N);
  
        begin
           if Present (Expr)
             and then Nkind (Expr) = N_Null
           then
!             case K is
!                when N_Discriminant_Specification  |
!                     N_Component_Declaration      =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding components?",
!                       Reason => CE_Null_Not_Allowed);
  
!                when N_Parameter_Specification =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding formals?",
!                       Reason => CE_Null_Not_Allowed);
  
!                when N_Object_Declaration =>
                    Apply_Compile_Time_Constraint_Error
                       (N      => Expr,
                        Msg    => "(Ada 2005) NULL not allowed in"
                                    & " null-excluding objects?",
!                       Reason => CE_Null_Not_Allowed);
! 
!                when others =>
!                   null;
              end case;
           end if;
!       end;
     end Null_Exclusion_Static_Checks;
  
     ----------------------------------
*************** package body Checks is
*** 3235,3249 ****
  
     function Elaboration_Checks_Suppressed (E : Entity_Id) return Boolean is
     begin
        if Present (E) then
           if Kill_Elaboration_Checks (E) then
              return True;
           elsif Checks_May_Be_Suppressed (E) then
!             return Is_Check_Suppressed (E, Elaboration_Check);
           end if;
        end if;
  
!       return Scope_Suppress (Elaboration_Check);
     end Elaboration_Checks_Suppressed;
  
     ---------------------------
--- 3257,3288 ----
  
     function Elaboration_Checks_Suppressed (E : Entity_Id) return Boolean is
     begin
+       --  The complication in this routine is that if we are in the dynamic
+       --  model of elaboration, we also check All_Checks, since All_Checks
+       --  does not set Elaboration_Check explicitly.
+ 
        if Present (E) then
           if Kill_Elaboration_Checks (E) then
              return True;
+ 
           elsif Checks_May_Be_Suppressed (E) then
!             if Is_Check_Suppressed (E, Elaboration_Check) then
!                return True;
!             elsif Dynamic_Elaboration_Checks then
!                return Is_Check_Suppressed (E, All_Checks);
!             else
!                return False;
!             end if;
           end if;
        end if;
  
!       if Scope_Suppress (Elaboration_Check) then
!          return True;
!       elsif Dynamic_Elaboration_Checks then
!          return Scope_Suppress (All_Checks);
!       else
!          return False;
!       end if;
     end Elaboration_Checks_Suppressed;
  
     ---------------------------
*************** package body Checks is
*** 3666,3671 ****
--- 3705,3719 ----
        then
           return;
  
+       --  No check on a univeral real constant. The context will eventually
+       --  convert it to a machine number for some target type, or report an
+       --  illegality.
+ 
+       elsif Nkind (Expr) = N_Real_Literal
+         and then Etype (Expr) = Universal_Real
+       then
+          return;
+ 
        --  An annoying special case. If this is an out parameter of a scalar
        --  type, then the value is not going to be accessed, therefore it is
        --  inappropriate to do any validity check at the call site.
*************** package body Checks is
*** 3821,3831 ****
        then
           return Expr_Known_Valid (Expression (Expr));
  
!       --  The result of any function call or operator is always considered
!       --  valid, since we assume the necessary checks are done by the call.
!       --  For operators on floating-point operations, we must also check
!       --  when the operation is the right-hand side of an assignment, or
!       --  is an actual in a call.
  
        elsif
          Nkind (Expr) in N_Binary_Op or else Nkind (Expr) in N_Unary_Op
--- 3869,3878 ----
        then
           return Expr_Known_Valid (Expression (Expr));
  
!       --  The result of any operator is always considered valid, since we
!       --  assume the necessary checks are done by the operator. For operators
!       --  on floating-point operations, we must also check when the operation
!       --  is the right-hand side of an assignment, or is an actual in a call.
  
        elsif
          Nkind (Expr) in N_Binary_Op or else Nkind (Expr) in N_Unary_Op
*************** package body Checks is
*** 3842,3850 ****
              return True;
           end if;
  
-       elsif Nkind (Expr) = N_Function_Call then
-          return True;
- 
        --  For all other cases, we do not know the expression is valid
  
        else
--- 3889,3894 ----
*************** package body Checks is
*** 4728,4733 ****
--- 4772,4799 ----
                     Attribute_Name => Name_Valid)),
             Reason => CE_Invalid_Data),
           Suppress => All_Checks);
+ 
+       --  If the expression is a a reference to an element of a bit-packed
+       --  array, it is rewritten as a renaming declaration. If the expression
+       --  is an actual in a call, it has not been expanded, waiting for the
+       --  proper point at which to do it. The same happens with renamings, so
+       --  that we have to force the expansion now. This non-local complication
+       --  is due to code in exp_ch2,adb, exp_ch4.adb and exp_ch6.adb.
+ 
+       if Is_Entity_Name (Exp)
+         and then Nkind (Parent (Entity (Exp))) = N_Object_Renaming_Declaration
+       then
+          declare
+             Old_Exp : constant Node_Id := Name (Parent (Entity (Exp)));
+          begin
+             if Nkind (Old_Exp) = N_Indexed_Component
+               and then Is_Bit_Packed_Array (Etype (Prefix (Old_Exp)))
+             then
+                Expand_Packed_Element_Reference (Old_Exp);
+             end if;
+          end;
+       end if;
+ 
        Validity_Checks_On := True;
     end Insert_Valid_Check;
  
*************** package body Checks is
*** 4742,4755 ****
     begin
        pragma Assert (Is_Access_Type (Etyp));
  
!       --  Don't need access check if: 1) we are analyzing a generic, 2) it is
!       --  known to be non-null, or 3) the check was suppressed on the type
  
        if Inside_A_Generic
          or else Access_Checks_Suppressed (Etyp)
        then
           return;
! 
           --  Otherwise install access check
  
        else
--- 4808,4832 ----
     begin
        pragma Assert (Is_Access_Type (Etyp));
  
!       --  Don't need access check if:
!       --   1) we are analyzing a generic
!       --   2) it is known to be non-null
!       --   3) the check was suppressed on the type
!       --   4) This is an attribute reference that returns an access type.
  
        if Inside_A_Generic
          or else Access_Checks_Suppressed (Etyp)
        then
           return;
!       elsif Nkind (N) = N_Attribute_Reference
!         and then
!          (Attribute_Name (N) = Name_Access
!             or else
!           Attribute_Name (N) = Name_Unchecked_Access
!             or else
!           Attribute_Name (N) = Name_Unrestricted_Access)
!       then
!          return;
           --  Otherwise install access check
  
        else
*************** package body Checks is
*** 5775,5781 ****
              return Get_Discriminal (E, Bound);
  
           elsif Nkind (Bound) = N_Integer_Literal then
!             return  Make_Integer_Literal (Loc, Intval (Bound));
  
           else
              return Duplicate_Subexpr_No_Checks (Bound);
--- 5852,5868 ----
              return Get_Discriminal (E, Bound);
  
           elsif Nkind (Bound) = N_Integer_Literal then
!             return Make_Integer_Literal (Loc, Intval (Bound));
! 
!          --  Case of a bound that has been rewritten to an
!          --  N_Raise_Constraint_Error node because it is an out-of-range
!          --  value. We may not call Duplicate_Subexpr on this node because
!          --  an N_Raise_Constraint_Error is not side effect free, and we may
!          --  not assume that we are in the proper context to remove side
!          --  effects on it at the point of reference.
! 
!          elsif Nkind (Bound) = N_Raise_Constraint_Error then
!             return New_Copy_Tree (Bound);
  
           else
              return Duplicate_Subexpr_No_Checks (Bound);
diff -Nrcpad gcc-4.0.2/gcc/ada/checks.ads gcc-4.1.0/gcc/ada/checks.ads
*** gcc-4.0.2/gcc/ada/checks.ads	Mon Jun  7 14:16:16 2004
--- gcc-4.1.0/gcc/ada/checks.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Checks is
*** 159,174 ****
        OK : out Boolean;
        Lo : out Uint;
        Hi : out Uint);
!    --  N is a node for a subexpression. If N is of a discrete type with
!    --  no error indications, and no other peculiarities (e.g. missing
!    --  type fields), then OK is True on return, and Lo and Hi are set
!    --  to a conservative estimate of the possible range of values of N.
!    --  Thus if OK is True on return, the value of the subexpression N is
!    --  known to like in the range Lo .. Hi (inclusive). If the expression
!    --  is not of a discrete type, or some kind of error condition is
!    --  detected, then OK is False on exit, and Lo/Hi are set to No_Uint.
!    --  Thus the significance of OK being False on return is that no
!    --  useful information is available on the range of the expression.
  
     -------------------------------------------------------
     -- Control and Optimization of Range/Overflow Checks --
--- 159,178 ----
        OK : out Boolean;
        Lo : out Uint;
        Hi : out Uint);
!    --  N is a node for a subexpression. If N is of a discrete type with no
!    --  error indications, and no other peculiarities (e.g. missing type
!    --  fields), then OK is True on return, and Lo and Hi are set to a
!    --  conservative estimate of the possible range of values of N. Thus if OK
!    --  is True on return, the value of the subexpression N is known to like in
!    --  the range Lo .. Hi (inclusive). If the expression is not of a discrete
!    --  type, or some kind of error condition is detected, then OK is False on
!    --  exit, and Lo/Hi are set to No_Uint. Thus the significance of OK being
!    --  False on return is that no useful information is available on the range
!    --  of the expression.
! 
!    procedure Install_Null_Excluding_Check (N : Node_Id);
!    --  Determines whether an access node requires a runtime access check and
!    --  if so inserts the appropriate run-time check.
  
     -------------------------------------------------------
     -- Control and Optimization of Range/Overflow Checks --
*************** package Checks is
*** 181,192 ****
     --  in the transitional phase where some of these checks are still done
     --  by the back end, but many are done by the front end.
  
!    --  Overflow checks are similarly controlled by the Do_Overflow_Check
!    --  flag. The difference here is that if Backend_Overflow_Checks is
!    --  is (Backend_Overflow_Checks_On_Target set False), then the actual
!    --  overflow checks are generated by the front end, but if back end
!    --  overflow checks are active (Backend_Overflow_Checks_On_Target
!    --  set True), then the back end does generate the checks.
  
     --  The following two routines are used to set these flags, they allow
     --  for the possibility of eliminating checks. Checks can be eliminated
--- 185,196 ----
     --  in the transitional phase where some of these checks are still done
     --  by the back end, but many are done by the front end.
  
!    --  Overflow checks are similarly controlled by the Do_Overflow_Check flag.
!    --  The difference here is that if Backend_Overflow_Checks is is
!    --  (Backend_Overflow_Checks_On_Target set False), then the actual overflow
!    --  checks are generated by the front end, but if back end overflow checks
!    --  are active (Backend_Overflow_Checks_On_Target set True), then the back
!    --  end does generate the checks.
  
     --  The following two routines are used to set these flags, they allow
     --  for the possibility of eliminating checks. Checks can be eliminated
*************** package Checks is
*** 243,249 ****
     --  be discarded, even if they are not in the current statement range.
  
     procedure Kill_All_Checks;
!    --  This procedure kills all remembered checks.
  
     -----------------------------
     -- Length and Range Checks --
--- 247,253 ----
     --  be discarded, even if they are not in the current statement range.
  
     procedure Kill_All_Checks;
!    --  This procedure kills all remembered checks
  
     -----------------------------
     -- Length and Range Checks --
*************** package Checks is
*** 266,282 ****
  
     --  The checks operate in one of two modes:
  
!    --    If Source_Typ is Empty, then the node Expr is examined, at the
!    --    very least to get the source subtype. In addition for some of
!    --    the checks, the actual form of the node may be examined. For
!    --    example, a node of type Integer whose actual form is an Integer
!    --    conversion from a type with range 0 .. 3 can be determined to
!    --    have a value in the range 0 .. 3.
  
!    --    If Source_Typ is given, then nothing can be assumed about the
!    --    Expr, and indeed its contents are not examined. In this case the
!    --    check is based on the assumption that Expr can be an arbitrary
!    --    value of the given Source_Typ.
  
     --  Currently, the only case in which a Source_Typ is explicitly supplied
     --  is for the case of Out and In_Out parameters, where, for the conversion
--- 270,285 ----
  
     --  The checks operate in one of two modes:
  
!    --    If Source_Typ is Empty, then the node Expr is examined, at the very
!    --    least to get the source subtype. In addition for some of the checks,
!    --    the actual form of the node may be examined. For example, a node of
!    --    type Integer whose actual form is an Integer conversion from a type
!    --    with range 0 .. 3 can be determined to have a value in range 0 .. 3.
  
!    --    If Source_Typ is given, then nothing can be assumed about the Expr,
!    --    and indeed its contents are not examined. In this case the check is
!    --    based on the assumption that Expr can be an arbitrary value of the
!    --    given Source_Typ.
  
     --  Currently, the only case in which a Source_Typ is explicitly supplied
     --  is for the case of Out and In_Out parameters, where, for the conversion
*************** package Checks is
*** 293,300 ****
     --  to Insert_Actions.
     --
     --  For access types, the Directly_Designated_Type is retrieved and
!    --  processing continues as enumerated above, with a guard against
!    --  null values.
     --
     --  Note: calls to Apply_Length_Check currently never supply an explicit
     --  Source_Typ parameter, but Apply_Length_Check takes this parameter and
--- 296,303 ----
     --  to Insert_Actions.
     --
     --  For access types, the Directly_Designated_Type is retrieved and
!    --  processing continues as enumerated above, with a guard against null
!    --  values.
     --
     --  Note: calls to Apply_Length_Check currently never supply an explicit
     --  Source_Typ parameter, but Apply_Length_Check takes this parameter and
*************** package Checks is
*** 305,313 ****
       (Ck_Node    : Node_Id;
        Target_Typ : Entity_Id;
        Source_Typ : Entity_Id := Empty);
!    --  For an Node of kind N_Range, constructs a range check action that
!    --  tests first that the range is not null and then that the range
!    --  is contained in the Target_Typ range.
     --
     --  For scalar types, constructs a range check action that first tests that
     --  the expression is contained in the Target_Typ range. The difference
--- 308,316 ----
       (Ck_Node    : Node_Id;
        Target_Typ : Entity_Id;
        Source_Typ : Entity_Id := Empty);
!    --  For an Node of kind N_Range, constructs a range check action that tests
!    --  first that the range is not null and then that the range is contained in
!    --  the Target_Typ range.
     --
     --  For scalar types, constructs a range check action that first tests that
     --  the expression is contained in the Target_Typ range. The difference
*************** package Checks is
*** 318,330 ****
     --  to check that each Expr range is properly contained in the range of
     --  Target_Typ.
     --
!    --  For a type conversion to an unconstrained array type, constructs
!    --  a range check action to check that the bounds of the source type
!    --  are within the constraints imposed by the Target_Typ.
     --
     --  For access types, the Directly_Designated_Type is retrieved and
!    --  processing continues as enumerated above, with a guard against
!    --  null values.
     --
     --  The source type is used by type conversions to unconstrained array
     --  types to retrieve the corresponding bounds.
--- 321,333 ----
     --  to check that each Expr range is properly contained in the range of
     --  Target_Typ.
     --
!    --  For a type conversion to an unconstrained array type, constructs a range
!    --  check action to check that the bounds of the source type are within the
!    --  constraints imposed by the Target_Typ.
     --
     --  For access types, the Directly_Designated_Type is retrieved and
!    --  processing continues as enumerated above, with a guard against null
!    --  values.
     --
     --  The source type is used by type conversions to unconstrained array
     --  types to retrieve the corresponding bounds.
*************** package Checks is
*** 344,353 ****
        Source_Typ : Entity_Id := Empty;
        Fixed_Int  : Boolean   := False);
     --  For scalar types, determines whether an expression node should be
!    --  flagged as needing a runtime range check. If the node requires such
!    --  a check, the Do_Range_Check flag is turned on. The Fixed_Int flag
!    --  if set causes any fixed-point values to be treated as though they
!    --  were discrete values (i.e. the underlying integer value is used).
  
     type Check_Result is private;
     --  Type used to return result of Range_Check call, for later use in
--- 347,356 ----
        Source_Typ : Entity_Id := Empty;
        Fixed_Int  : Boolean   := False);
     --  For scalar types, determines whether an expression node should be
!    --  flagged as needing a runtime range check. If the node requires such a
!    --  check, the Do_Range_Check flag is turned on. The Fixed_Int flag if set
!    --  causes any fixed-point values to be treated as though they were discrete
!    --  values (i.e. the underlying integer value is used).
  
     type Check_Result is private;
     --  Type used to return result of Range_Check call, for later use in
*************** package Checks is
*** 360,371 ****
        Static_Sloc  : Source_Ptr;
        Flag_Node    : Node_Id);
     --  Called to append range checks as returned by a call to Range_Check.
!    --  Stmts is a list to which either the dynamic check is appended or
!    --  the raise Constraint_Error statement is appended (for static checks).
!    --  Static_Sloc is the Sloc at which the raise CE node points,
!    --  Flag_Node is used as the node at which to set the Has_Dynamic_Check
!    --  flag. Checks_On is a boolean value that says if range and index checking
!    --  is on or not.
  
     procedure Insert_Range_Checks
       (Checks       : Check_Result;
--- 363,373 ----
        Static_Sloc  : Source_Ptr;
        Flag_Node    : Node_Id);
     --  Called to append range checks as returned by a call to Range_Check.
!    --  Stmts is a list to which either the dynamic check is appended or the
!    --  raise Constraint_Error statement is appended (for static checks).
!    --  Static_Sloc is the Sloc at which the raise CE node points, Flag_Node is
!    --  used as the node at which to set the Has_Dynamic_Check flag. Checks_On
!    --  is a boolean value that says if range and index checking is on or not.
  
     procedure Insert_Range_Checks
       (Checks       : Check_Result;
*************** package Checks is
*** 402,413 ****
     -- Expander Routines --
     -----------------------
  
!    --  Some of the earlier processing for checks results in temporarily
!    --  setting the Do_Range_Check flag rather than actually generating
!    --  checks. Now we are moving the generation of such checks into the
!    --  front end for reasons of efficiency and simplicity (there were
!    --  difficutlies in handling this in the back end when side effects
!    --  were present in the expressions being checked).
  
     --  Probably we could eliminate the Do_Range_Check flag entirely and
     --  generate the checks earlier, but this is a delicate area and it
--- 404,415 ----
     -- Expander Routines --
     -----------------------
  
!    --  Some of the earlier processing for checks results in temporarily setting
!    --  the Do_Range_Check flag rather than actually generating checks. Now we
!    --  are moving the generation of such checks into the front end for reasons
!    --  of efficiency and simplicity (there were difficutlies in handling this
!    --  in the back end when side effects were present in the expressions being
!    --  checked).
  
     --  Probably we could eliminate the Do_Range_Check flag entirely and
     --  generate the checks earlier, but this is a delicate area and it
*************** package Checks is
*** 419,455 ****
       (N           : Node_Id;
        Target_Type : Entity_Id;
        Reason      : RT_Exception_Code);
!    --  This procedure is called to actually generate and insert a range
!    --  check. A check is generated to ensure that the value of N lies
!    --  within the range of the target type. Note that the base type of
!    --  N may be different from the base type of the target type. This
!    --  happens in the conversion case. The Reason parameter is the
!    --  exception code to be used for the exception if raised.
     --
!    --  Note on the relation of this routine to the Do_Range_Check flag.
!    --  Mostly for historical reasons, we often set the Do_Range_Check
!    --  flag and then later we call Generate_Range_Check if this flag is
!    --  set. Most probably we could eliminate this intermediate setting
!    --  of the flag (historically the back end dealt with range checks,
!    --  using this flag to indicate if a check was required, then we
!    --  moved checks into the front end).
  
     procedure Generate_Index_Checks (N : Node_Id);
!    --  This procedure is called to generate index checks on the subscripts
!    --  for the indexed component node N. Each subscript expression is
!    --  examined, and if the Do_Range_Check flag is set, an appropriate
!    --  index check is generated and the flag is reset.
  
     --  Similarly, we set the flag Do_Discriminant_Check in the semantic
!    --  analysis to indicate that a discriminant check is required for a
!    --  selected component of a discriminated type. The following routine
!    --  is called from the expander to actually generate the call.
  
     procedure Generate_Discriminant_Check (N : Node_Id);
!    --  N is a selected component for which a discriminant check is required
!    --  to make sure that the discriminants have appropriate values for the
!    --  selection. This is done by calling the appropriate discriminant
!    --  checking routine for the selector.
  
     -----------------------
     -- Validity Checking --
--- 421,456 ----
       (N           : Node_Id;
        Target_Type : Entity_Id;
        Reason      : RT_Exception_Code);
!    --  This procedure is called to actually generate and insert a range check.
!    --  A check is generated to ensure that the value of N lies within the range
!    --  of the target type. Note that the base type of N may be different from
!    --  the base type of the target type. This happens in the conversion case.
!    --  The Reason parameter is the exception code to be used for the exception
!    --  if raised.
     --
!    --  Note on the relation of this routine to the Do_Range_Check flag. Mostly
!    --  for historical reasons, we often set the Do_Range_Check flag and then
!    --  later we call Generate_Range_Check if this flag is set. Most probably we
!    --  could eliminate this intermediate setting of the flag (historically the
!    --  back end dealt with range checks, using this flag to indicate if a check
!    --  was required, then we moved checks into the front end).
  
     procedure Generate_Index_Checks (N : Node_Id);
!    --  This procedure is called to generate index checks on the subscripts for
!    --  the indexed component node N. Each subscript expression is examined, and
!    --  if the Do_Range_Check flag is set, an appropriate index check is
!    --  generated and the flag is reset.
  
     --  Similarly, we set the flag Do_Discriminant_Check in the semantic
!    --  analysis to indicate that a discriminant check is required for selected
!    --  component of a discriminated type. The following routine is called from
!    --  the expander to actually generate the call.
  
     procedure Generate_Discriminant_Check (N : Node_Id);
!    --  N is a selected component for which a discriminant check is required to
!    --  make sure that the discriminants have appropriate values for the
!    --  selection. This is done by calling the appropriate discriminant checking
!    --  routine for the selector.
  
     -----------------------
     -- Validity Checking --
*************** package Checks is
*** 457,471 ****
  
     --  In (RM 13.9.1(9-11)) we have the following rules on invalid values
  
!    --    If the representation of a scalar object does not represent a
!    --    value of the object's subtype (perhaps because the object was not
!    --    initialized), the object is said to have an invalid representation.
!    --    It is a bounded error to evaluate the value of such an object.  If
!    --    the error is detected, either Constraint_Error or Program_Error is
!    --    raised.  Otherwise, execution continues using the invalid
!    --    representation.  The rules of the language outside this subclause
!    --    assume that all objects have valid representations.  The semantics
!    --    of operations on invalid representations are as follows:
     --
     --       10  If the representation of the object represents a value of the
     --           object's type, the value of the type is used.
--- 458,472 ----
  
     --  In (RM 13.9.1(9-11)) we have the following rules on invalid values
  
!    --    If the representation of a scalar object does not represent value of
!    --    the object's subtype (perhaps because the object was not initialized),
!    --    the object is said to have an invalid representation. It is a bounded
!    --    error to evaluate the value of such an object. If the error is
!    --    detected, either Constraint_Error or Program_Error is raised.
!    --    Otherwise, execution continues using the invalid representation. The
!    --    rules of the language outside this subclause assume that all objects
!    --    have valid representations. The semantics of operations on invalid
!    --    representations are as follows:
     --
     --       10  If the representation of the object represents a value of the
     --           object's type, the value of the type is used.
*************** package Checks is
*** 483,491 ****
     --  array assignments, where we don't want to do wild stores, and case
     --  statements where we don't want to do wild jumps.
  
!    --  In GNAT, we control validity checking with a switch -gnatV that
!    --  can take three parameters, n/d/f for None/Default/Full. These
!    --  modes have the following meanings:
  
     --    None (no validity checking)
  
--- 484,492 ----
     --  array assignments, where we don't want to do wild stores, and case
     --  statements where we don't want to do wild jumps.
  
!    --  In GNAT, we control validity checking with a switch -gnatV that can take
!    --  three parameters, n/d/f for None/Default/Full. These modes have the
!    --  following meanings:
  
     --    None (no validity checking)
  
*************** package Checks is
*** 547,553 ****
     --    If all possible stored values are valid, then any uninitialized
     --    value must be valid.
  
!    --    Literals, including enumeration literals, are clearly always valid.
  
     --    Constants are always assumed valid, with a validity check being
     --    performed on the initializing value where necessary to ensure that
--- 548,554 ----
     --    If all possible stored values are valid, then any uninitialized
     --    value must be valid.
  
!    --    Literals, including enumeration literals, are clearly always valid
  
     --    Constants are always assumed valid, with a validity check being
     --    performed on the initializing value where necessary to ensure that
*************** package Checks is
*** 577,588 ****
     --  are checked for validity.
  
     procedure Check_Valid_Lvalue_Subscripts (Expr : Node_Id);
!    --  Expr is a lvalue, i.e. an expression representing the target of
!    --  an assignment. This procedure checks for this expression involving
!    --  an assignment to an array value. We have to be sure that all the
!    --  subscripts in such a case are valid, since according to the rules
!    --  in (RM 13.9.1(9-11)) such assignments are not permitted to result
!    --  in erroneous behavior in the case of invalid subscript values.
  
     procedure Ensure_Valid (Expr : Node_Id; Holes_OK : Boolean := False);
     --  Ensure that Expr represents a valid value of its type. If this type
--- 578,589 ----
     --  are checked for validity.
  
     procedure Check_Valid_Lvalue_Subscripts (Expr : Node_Id);
!    --  Expr is a lvalue, i.e. an expression representing the target of an
!    --  assignment. This procedure checks for this expression involving an
!    --  assignment to an array value. We have to be sure that all the subscripts
!    --  in such a case are valid, since according to the rules in (RM
!    --  13.9.1(9-11)) such assignments are not permitted to result in erroneous
!    --  behavior in the case of invalid subscript values.
  
     procedure Ensure_Valid (Expr : Node_Id; Holes_OK : Boolean := False);
     --  Ensure that Expr represents a valid value of its type. If this type
*************** package Checks is
*** 602,615 ****
     --  valid, raising Constraint_Error if the value is not valid.
  
     function Expr_Known_Valid (Expr : Node_Id) return Boolean;
!    --  This function tests it the value of Expr is known to be valid in
!    --  the sense of RM 13.9.1(9-11). In the case of GNAT, it is only
!    --  discrete types which are a concern, since for non-discrete types
!    --  we simply continue computation with invalid values, which does
!    --  not lead to erroneous behavior. Thus Expr_Known_Valid always
!    --  returns True if the type of Expr is non-discrete. For discrete
!    --  types the value returned is True only if it can be determined
!    --  that the value is Valid. Otherwise False is returned.
  
     procedure Insert_Valid_Check (Expr : Node_Id);
     --  Inserts code that will check for the value of Expr being valid, in
--- 603,616 ----
     --  valid, raising Constraint_Error if the value is not valid.
  
     function Expr_Known_Valid (Expr : Node_Id) return Boolean;
!    --  This function tests it the value of Expr is known to be valid in the
!    --  sense of RM 13.9.1(9-11). In the case of GNAT, it is only discrete types
!    --  which are a concern, since for non-discrete types we simply continue
!    --  computation with invalid values, which does not lead to erroneous
!    --  behavior. Thus Expr_Known_Valid always returns True if the type of Expr
!    --  is non-discrete. For discrete types the value returned is True only if
!    --  it can be determined that the value is Valid. Otherwise False is
!    --  returned.
  
     procedure Insert_Valid_Check (Expr : Node_Id);
     --  Inserts code that will check for the value of Expr being valid, in
*************** private
*** 635,646 ****
     --    responsibility of the caller to rewrite and substitute the nodes with
     --    N_Raise_Constraint_Error nodes.
     --
!    --    For the non-static case a single N_Raise_Constraint_Error node
!    --    with a non-empty Condition field is returned.
     --
!    --  Unused entries in Check_Result, if any, are simply set to Empty
!    --  For external clients, the required processing on this result is
!    --  achieved using the Insert_Range_Checks routine.
  
     pragma Inline (Apply_Length_Check);
     pragma Inline (Apply_Range_Check);
--- 636,647 ----
     --    responsibility of the caller to rewrite and substitute the nodes with
     --    N_Raise_Constraint_Error nodes.
     --
!    --    For the non-static case a single N_Raise_Constraint_Error node with a
!    --    non-empty Condition field is returned.
     --
!    --  Unused entries in Check_Result, if any, are simply set to Empty For
!    --  external clients, the required processing on this result is achieved
!    --  using the Insert_Range_Checks routine.
  
     pragma Inline (Apply_Length_Check);
     pragma Inline (Apply_Range_Check);
diff -Nrcpad gcc-4.0.2/gcc/ada/cio.c gcc-4.1.0/gcc/ada/cio.c
*** gcc-4.0.2/gcc/ada/cio.c	Fri Oct 31 01:08:40 2003
--- gcc-4.1.0/gcc/ada/cio.c	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2003 Free Software Foundation, Inc.          *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2005, Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
***************
*** 51,56 ****
--- 51,61 ----
  #undef stdout
  #endif
  
+ #ifdef VTHREADS
+ #undef putchar
+ #undef getchar
+ #endif
+ 
  int
  get_char (void)
  {
diff -Nrcpad gcc-4.0.2/gcc/ada/clean.adb gcc-4.1.0/gcc/ada/clean.adb
*** gcc-4.0.2/gcc/ada/clean.adb	Thu Feb 10 13:57:00 2005
--- gcc-4.1.0/gcc/ada/clean.adb	Tue Nov 15 13:56:14 2005
***************
*** 16,31 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
- with Ada.Command_Line; use Ada.Command_Line;
- 
  with ALI;      use ALI;
  with Csets;
  with Gnatvsn;
--- 16,29 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
  with ALI;      use ALI;
  with Csets;
  with Gnatvsn;
*************** with Opt;      use Opt;
*** 37,43 ****
  with Osint;    use Osint;
  with Osint.M;  use Osint.M;
  with Prj;      use Prj;
- with Prj.Com;
  with Prj.Env;
  with Prj.Ext;
  with Prj.Pars;
--- 35,40 ----
*************** with Snames;
*** 46,51 ****
--- 43,50 ----
  with Table;
  with Types;    use Types;
  
+ with Ada.Command_Line;          use Ada.Command_Line;
+ 
  with GNAT.Directory_Operations; use GNAT.Directory_Operations;
  with GNAT.IO;                   use GNAT.IO;
  with GNAT.OS_Lib;               use GNAT.OS_Lib;
*************** package body Clean is
*** 92,97 ****
--- 91,98 ----
  
     Project_File_Name : String_Access := null;
  
+    Project_Tree : constant Prj.Project_Tree_Ref := new Prj.Project_Tree_Data;
+ 
     Main_Project : Prj.Project_Id := Prj.No_Project;
  
     All_Projects : Boolean := False;
*************** package body Clean is
*** 190,202 ****
     --  Delete a global archive or a fake library project archive and the
     --  dependency file, if they exist.
  
-    procedure Clean_Directory (Dir : Name_Id);
-    --  Delete all regular files in a library directory or in a library
-    --  interface dir.
- 
     procedure Clean_Executables;
     --  Do the cleaning work when no project file is specified
  
     procedure Clean_Project (Project : Project_Id);
     --  Do the cleaning work when a project file is specified.
     --  This procedure calls itself recursively when there are several
--- 191,207 ----
     --  Delete a global archive or a fake library project archive and the
     --  dependency file, if they exist.
  
     procedure Clean_Executables;
     --  Do the cleaning work when no project file is specified
  
+    procedure Clean_Interface_Copy_Directory (Project : Project_Id);
+    --  Delete files in an interface coy directory directory: any file that is
+    --  a copy of a source of the project.
+ 
+    procedure Clean_Library_Directory (Project : Project_Id);
+    --  Delete the library file in a library directory and any ALI file
+    --  of a source of the project in a library ALI directory.
+ 
     procedure Clean_Project (Project : Project_Id);
     --  Do the cleaning work when a project file is specified.
     --  This procedure calls itself recursively when there are several
*************** package body Clean is
*** 240,245 ****
--- 245,255 ----
     --  Returns True iff Prj is an extension of Of_Project or if Of_Project is
     --  an extension of Prj.
  
+    function Ultimate_Extension_Of (Project : Project_Id) return Project_Id;
+    --  Returns either Project, if it is not extended by another project, or
+    --  the project that extends Project, directly or indirectly, and that is
+    --  not itself extended. Returns No_Project if Project is No_Project.
+ 
     procedure Usage;
     --  Display the usage.
     --  If called several times, the usage is displayed only the first time.
*************** package body Clean is
*** 328,334 ****
  
     procedure Clean_Archive (Project : Project_Id) is
        Current_Dir : constant Dir_Name_Str := Get_Current_Dir;
!       Data        : constant Project_Data := Projects.Table (Project);
  
        Archive_Name : constant String :=
                         "lib" & Get_Name_String (Data.Name) & '.' & Archive_Ext;
--- 338,345 ----
  
     procedure Clean_Archive (Project : Project_Id) is
        Current_Dir : constant Dir_Name_Str := Get_Current_Dir;
!       Data        : constant Project_Data :=
!                       Project_Tree.Projects.Table (Project);
  
        Archive_Name : constant String :=
                         "lib" & Get_Name_String (Data.Name) & '.' & Archive_Ext;
*************** package body Clean is
*** 354,399 ****
        Change_Dir (Current_Dir);
     end Clean_Archive;
  
-    ---------------------
-    -- Clean_Directory --
-    ---------------------
- 
-    procedure Clean_Directory (Dir : Name_Id) is
-       Directory : constant String := Get_Name_String (Dir);
-       Current   : constant Dir_Name_Str := Get_Current_Dir;
- 
-       Direc : Dir_Type;
- 
-       Name : String (1 .. 200);
-       Last : Natural;
- 
-    begin
-       Change_Dir (Directory);
-       Open (Direc, ".");
- 
-       --  For each regular file in the directory, if switch -n has not been
-       --  specified, make it writable and delete the file.
- 
-       loop
-          Read (Direc, Name, Last);
-          exit when Last = 0;
- 
-          if Is_Regular_File (Name (1 .. Last)) then
-             if not Do_Nothing then
-                Set_Writable (Name (1 .. Last));
-             end if;
- 
-             Delete (Directory, Name (1 .. Last));
-          end if;
-       end loop;
- 
-       Close (Direc);
- 
-       --  Restore the initial working directory
- 
-       Change_Dir (Current);
-    end Clean_Directory;
- 
     -----------------------
     -- Clean_Executables --
     -----------------------
--- 365,370 ----
*************** package body Clean is
*** 548,553 ****
--- 519,760 ----
        end loop;
     end Clean_Executables;
  
+    ------------------------------------
+    -- Clean_Interface_Copy_Directory --
+    ------------------------------------
+ 
+    procedure Clean_Interface_Copy_Directory (Project : Project_Id) is
+       Current : constant String := Get_Current_Dir;
+       Data    : constant Project_Data := Project_Tree.Projects.Table (Project);
+ 
+       Direc : Dir_Type;
+ 
+       Name : String (1 .. 200);
+       Last : Natural;
+ 
+       Delete_File : Boolean;
+       Unit        : Unit_Data;
+ 
+    begin
+       if Data.Library and then Data.Library_Src_Dir /= No_Name then
+          declare
+             Directory : constant String :=
+                           Get_Name_String (Data.Library_Src_Dir);
+ 
+          begin
+             Change_Dir (Get_Name_String (Data.Library_Src_Dir));
+             Open (Direc, ".");
+ 
+             --  For each regular file in the directory, if switch -n has not
+             --  been specified, make it writable and delete the file if it is
+             --  a copy of a source of the project.
+ 
+             loop
+                Read (Direc, Name, Last);
+                exit when Last = 0;
+ 
+                if Is_Regular_File (Name (1 .. Last)) then
+                   Canonical_Case_File_Name (Name (1 .. Last));
+                   Delete_File := False;
+ 
+                   --  Compare with source file names of the project
+ 
+                   for Index in 1 .. Unit_Table.Last (Project_Tree.Units) loop
+                      Unit := Project_Tree.Units.Table (Index);
+ 
+                      if Ultimate_Extension_Of
+                        (Unit.File_Names (Body_Part).Project) = Project
+                        and then
+                          Get_Name_String
+                            (Unit.File_Names (Body_Part).Name) =
+                        Name (1 .. Last)
+                      then
+                         Delete_File := True;
+                         exit;
+                      end if;
+ 
+                      if Ultimate_Extension_Of
+                        (Unit.File_Names (Specification).Project) = Project
+                        and then
+                          Get_Name_String
+                            (Unit.File_Names (Specification).Name) =
+                        Name (1 .. Last)
+                      then
+                         Delete_File := True;
+                         exit;
+                      end if;
+                   end loop;
+ 
+                   if Delete_File then
+                      if not Do_Nothing then
+                         Set_Writable (Name (1 .. Last));
+                      end if;
+ 
+                      Delete (Directory, Name (1 .. Last));
+                   end if;
+                end if;
+             end loop;
+ 
+             Close (Direc);
+ 
+             --  Restore the initial working directory
+ 
+             Change_Dir (Current);
+          end;
+       end if;
+    end Clean_Interface_Copy_Directory;
+ 
+    -----------------------------
+    -- Clean_Library_Directory --
+    -----------------------------
+ 
+    procedure Clean_Library_Directory (Project : Project_Id) is
+       Current : constant String := Get_Current_Dir;
+       Data    : constant Project_Data := Project_Tree.Projects.Table (Project);
+ 
+       Lib_Filename : constant String := Get_Name_String (Data.Library_Name);
+       DLL_Name     : constant String :=
+                        DLL_Prefix & Lib_Filename & "." & DLL_Ext;
+       Archive_Name : constant String :=
+                        "lib" & Lib_Filename & "." & Archive_Ext;
+       Direc        : Dir_Type;
+ 
+       Name : String (1 .. 200);
+       Last : Natural;
+ 
+       Delete_File : Boolean;
+ 
+    begin
+       if Data.Library then
+          declare
+             Lib_Directory     : constant String :=
+                                   Get_Name_String (Data.Library_Dir);
+             Lib_ALI_Directory : constant String :=
+                                   Get_Name_String (Data.Library_ALI_Dir);
+ 
+          begin
+             Change_Dir (Lib_Directory);
+             Open (Direc, ".");
+ 
+             --  For each regular file in the directory, if switch -n has not
+             --  been specified, make it writable and delete the file if it is
+             --  the library file.
+ 
+             loop
+                Read (Direc, Name, Last);
+                exit when Last = 0;
+ 
+                if Is_Regular_File (Name (1 .. Last)) then
+                   Canonical_Case_File_Name (Name (1 .. Last));
+                   Delete_File := False;
+ 
+                   if (Data.Library_Kind = Static and then
+                         Name (1 .. Last) =  Archive_Name)
+                     or else
+                       ((Data.Library_Kind = Dynamic or else
+                           Data.Library_Kind = Relocatable)
+                        and then
+                          Name (1 .. Last) = DLL_Name)
+                   then
+                      if not Do_Nothing then
+                         Set_Writable (Name (1 .. Last));
+                      end if;
+ 
+                      Delete (Lib_Directory, Name (1 .. Last));
+                      exit;
+                   end if;
+                end if;
+             end loop;
+ 
+             Close (Direc);
+ 
+             Change_Dir (Lib_ALI_Directory);
+             Open (Direc, ".");
+ 
+             --  For each regular file in the directory, if switch -n has not
+             --  been specified, make it writable and delete the file if it is
+             --  any ALI file of a source of the project.
+ 
+             loop
+                Read (Direc, Name, Last);
+                exit when Last = 0;
+ 
+                if Is_Regular_File (Name (1 .. Last)) then
+                   Canonical_Case_File_Name (Name (1 .. Last));
+                   Delete_File := False;
+ 
+                   if Last > 4 and then Name (Last - 3 .. Last) = ".ali" then
+                      declare
+                         Unit : Unit_Data;
+                      begin
+                         --  Compare with ALI file names of the project
+ 
+                         for
+                           Index in 1 .. Unit_Table.Last (Project_Tree.Units)
+                         loop
+                            Unit := Project_Tree.Units.Table (Index);
+ 
+                            if Unit.File_Names (Body_Part).Project /=
+                              No_Project
+                            then
+                               if  Ultimate_Extension_Of
+                                 (Unit.File_Names (Body_Part).Project) =
+                                  Project
+                               then
+                                  Get_Name_String
+                                    (Unit.File_Names (Body_Part).Name);
+                                  Name_Len := Name_Len -
+                                    File_Extension
+                                      (Name (1 .. Name_Len))'Length;
+                                  if Name_Buffer (1 .. Name_Len) =
+                                      Name (1 .. Last - 4)
+                                  then
+                                     Delete_File := True;
+                                     exit;
+                                  end if;
+                               end if;
+ 
+                            elsif Ultimate_Extension_Of
+                                    (Unit.File_Names (Specification).Project) =
+                                                                         Project
+                            then
+                               Get_Name_String
+                                 (Unit.File_Names (Specification).Name);
+                               Name_Len := Name_Len -
+                                             File_Extension
+                                               (Name (1 .. Name_Len))'Length;
+ 
+                               if Name_Buffer (1 .. Name_Len) =
+                                    Name (1 .. Last - 4)
+                               then
+                                  Delete_File := True;
+                                  exit;
+                               end if;
+                            end if;
+                         end loop;
+                      end;
+                   end if;
+ 
+                   if Delete_File then
+                      if not Do_Nothing then
+                         Set_Writable (Name (1 .. Last));
+                      end if;
+ 
+                      Delete (Lib_ALI_Directory, Name (1 .. Last));
+                   end if;
+ 
+                end if;
+             end loop;
+ 
+             Close (Direc);
+ 
+             --  Restore the initial working directory
+ 
+             Change_Dir (Current);
+          end;
+       end if;
+    end Clean_Library_Directory;
+ 
     -------------------
     -- Clean_Project --
     -------------------
*************** package body Clean is
*** 560,567 ****
        --  Name of the executable file
  
        Current_Dir : constant Dir_Name_Str := Get_Current_Dir;
!       Data        : constant Project_Data := Projects.Table (Project);
!       U_Data      : Prj.Com.Unit_Data;
        File_Name1  : Name_Id;
        Index1      : Int;
        File_Name2  : Name_Id;
--- 767,775 ----
        --  Name of the executable file
  
        Current_Dir : constant Dir_Name_Str := Get_Current_Dir;
!       Data        : constant Project_Data :=
!                       Project_Tree.Projects.Table (Project);
!       U_Data      : Unit_Data;
        File_Name1  : Name_Id;
        Index1      : Int;
        File_Name2  : Name_Id;
*************** package body Clean is
*** 573,580 ****
  
        Global_Archive : Boolean := False;
  
-       use Prj.Com;
- 
     begin
        --  Check that we don't specify executable on the command line for
        --  a main library project.
--- 781,786 ----
*************** package body Clean is
*** 587,830 ****
             ("Cannot specify executable(s) for a Library Project File");
        end if;
  
!       if Verbose_Mode then
!          Put ("Cleaning project """);
!          Put (Get_Name_String (Data.Name));
!          Put_Line ("""");
!       end if;
  
!       --  Add project to the list of processed projects
  
!       Processed_Projects.Increment_Last;
!       Processed_Projects.Table (Processed_Projects.Last) := Project;
  
!       if Data.Object_Directory /= No_Name then
!          declare
!             Obj_Dir : constant String :=
!                         Get_Name_String (Data.Object_Directory);
  
!          begin
!             Change_Dir (Obj_Dir);
  
!             --  First, deal with Ada
  
!             --  Look through the units to find those that are either immediate
!             --  sources or inherited sources of the project.
  
!             if Data.Languages (Ada_Language_Index) then
!                for Unit in 1 .. Prj.Com.Units.Last loop
!                   U_Data := Prj.Com.Units.Table (Unit);
!                   File_Name1 := No_Name;
!                   File_Name2 := No_Name;
  
!                   --  If either the spec or the body is a source of the
!                   --  project, check for the corresponding ALI file in the
!                   --  object directory.
  
!                   if In_Extension_Chain
!                     (U_Data.File_Names (Body_Part).Project, Project)
!                     or else
!                       In_Extension_Chain
!                         (U_Data.File_Names (Specification).Project, Project)
!                   then
!                      File_Name1 := U_Data.File_Names (Body_Part).Name;
!                      Index1     := U_Data.File_Names (Body_Part).Index;
!                      File_Name2 := U_Data.File_Names (Specification).Name;
!                      Index2     := U_Data.File_Names (Specification).Index;
  
!                      --  If there is no body file name, then there may be only
!                      --  a spec.
  
!                      if File_Name1 = No_Name then
!                         File_Name1 := File_Name2;
!                         Index1     := Index2;
!                         File_Name2 := No_Name;
!                         Index2     := 0;
                       end if;
-                   end if;
  
!                   --  If there is either a spec or a body, look for files
!                   --  in the object directory.
  
!                   if File_Name1 /= No_Name then
!                      Lib_File := Osint.Lib_File_Name (File_Name1, Index1);
  
!                      declare
!                         Asm : constant String := Assembly_File_Name (Lib_File);
!                         ALI : constant String := ALI_File_Name      (Lib_File);
!                         Obj : constant String := Object_File_Name   (Lib_File);
!                         Adt : constant String := Tree_File_Name     (Lib_File);
!                         Deb : constant String :=
!                                 Debug_File_Name (File_Name1);
!                         Rep : constant String :=
!                                 Repinfo_File_Name (File_Name1);
!                         Del : Boolean := True;
  
!                      begin
!                         --  If the ALI file exists and is read-only, no file
!                         --  is deleted.
  
!                         if Is_Regular_File (ALI) then
!                            if Is_Writable_File (ALI) then
!                               Delete (Obj_Dir, ALI);
  
!                            else
!                               Del := False;
  
!                               if Verbose_Mode then
!                                  Put ('"');
!                                  Put (Obj_Dir);
  
!                                  if Obj_Dir (Obj_Dir'Last) /=
                                        Dir_Separator
!                                  then
!                                     Put (Dir_Separator);
!                                  end if;
  
!                                  Put (ALI);
!                                  Put_Line (""" is read-only");
                                end if;
                             end if;
-                         end if;
  
!                         if Del then
  
!                            --  Object file
  
!                            if Is_Regular_File (Obj) then
!                               Delete (Obj_Dir, Obj);
!                            end if;
  
!                            --  Assembly file
  
!                            if Is_Regular_File (Asm) then
!                               Delete (Obj_Dir, Asm);
!                            end if;
  
!                            --  Tree file
  
!                            if Is_Regular_File (Adt) then
!                               Delete (Obj_Dir, Adt);
!                            end if;
  
!                            --  First expanded source file
  
!                            if Is_Regular_File (Deb) then
!                               Delete (Obj_Dir, Deb);
!                            end if;
  
!                            --  Repinfo file
  
!                            if Is_Regular_File (Rep) then
!                               Delete (Obj_Dir, Rep);
!                            end if;
  
!                            --  Second expanded source file
  
!                            if File_Name2 /= No_Name then
!                               declare
!                                  Deb : constant String :=
!                                          Debug_File_Name   (File_Name2);
!                                  Rep : constant String :=
!                                          Repinfo_File_Name (File_Name2);
!                               begin
!                                  if Is_Regular_File (Deb) then
!                                     Delete (Obj_Dir, Deb);
!                                  end if;
  
!                                  if Is_Regular_File (Rep) then
!                                     Delete (Obj_Dir, Rep);
!                                  end if;
!                               end;
                             end if;
!                         end if;
!                      end;
!                   end if;
!                end loop;
!             end if;
  
!             --  Check if a global archive and it dependency file could have
!             --  been created and, if they exist, delete them.
  
!             if Project = Main_Project and then not Data.Library then
!                Global_Archive := False;
  
!                for Proj in 1 .. Projects.Last loop
!                   if Projects.Table (Proj).Other_Sources_Present then
!                      Global_Archive := True;
!                      exit;
!                   end if;
!                end loop;
  
!                if Global_Archive then
!                   Clean_Archive (Project);
                 end if;
-             end if;
- 
-             if Data.Other_Sources_Present then
  
!                --  There is non-Ada code: delete the object files and
!                --  the dependency files if they exist.
  
!                Source_Id := Data.First_Other_Source;
  
!                while Source_Id /= No_Other_Source loop
!                   Source := Other_Sources.Table (Source_Id);
  
!                   if Is_Regular_File
                         (Get_Name_String (Source.Object_Name))
!                   then
!                      Delete (Obj_Dir, Get_Name_String (Source.Object_Name));
!                   end if;
  
!                   if Is_Regular_File (Get_Name_String (Source.Dep_Name)) then
!                      Delete (Obj_Dir, Get_Name_String (Source.Dep_Name));
!                   end if;
  
!                   Source_Id := Source.Next;
!                end loop;
  
!                --  If it is a library with only non Ada sources, delete
!                --  the fake archive and the dependency file, if they exist.
  
!                if Data.Library
!                  and then not Data.Languages (Ada_Language_Index)
!                then
!                   Clean_Archive (Project);
                 end if;
!             end if;
!          end;
!       end if;
  
!       --  If this is a library project, clean the library directory, the
!       --  interface copy dir and, for a Stand-Alone Library, the binder
!       --  generated files of the library.
  
!       --  The directories are cleaned only if switch -c is not specified
  
!       if Data.Library then
!          if not Compile_Only then
!             Clean_Directory (Data.Library_Dir);
  
!             if Data.Library_Src_Dir /= No_Name
!               and then Data.Library_Src_Dir /= Data.Library_Dir
              then
!                Clean_Directory (Data.Library_Src_Dir);
              end if;
           end if;
  
!          if Data.Standalone_Library and then
!             Data.Object_Directory /= No_Name
!          then
!             Delete_Binder_Generated_Files
!               (Get_Name_String (Data.Object_Directory), Data.Library_Name);
           end if;
        end if;
  
-       if Verbose_Mode then
-          New_Line;
-       end if;
- 
        --  If switch -r is specified, call Clean_Project recursively for the
        --  imported projects and the project being extended.
  
--- 793,1063 ----
             ("Cannot specify executable(s) for a Library Project File");
        end if;
  
!       --  Nothing to clean in an externally built project
  
!       if Data.Externally_Built then
!          if Verbose_Mode then
!             Put ("Nothing to do to clean externally built project """);
!             Put (Get_Name_String (Data.Name));
!             Put_Line ("""");
!          end if;
  
!       else
!          if Verbose_Mode then
!             Put ("Cleaning project """);
!             Put (Get_Name_String (Data.Name));
!             Put_Line ("""");
!          end if;
  
!          --  Add project to the list of processed projects
  
!          Processed_Projects.Increment_Last;
!          Processed_Projects.Table (Processed_Projects.Last) := Project;
  
!          if Data.Object_Directory /= No_Name then
!             declare
!                Obj_Dir : constant String :=
!                            Get_Name_String (Data.Object_Directory);
  
!             begin
!                Change_Dir (Obj_Dir);
  
!                --  First, deal with Ada
  
!                --  Look through the units to find those that are either
!                --  immediate sources or inherited sources of the project.
!                --  Extending projects may have no language specified, if
!                --  Source_Dirs or Source_Files is specified as an empty list,
!                --  so always look for Ada units in extending projects.
  
!                if Data.Languages (Ada_Language_Index)
!                  or else Data.Extends /= No_Project
!                then
!                   for Unit in Unit_Table.First ..
!                     Unit_Table.Last (Project_Tree.Units)
!                   loop
!                      U_Data := Project_Tree.Units.Table (Unit);
!                      File_Name1 := No_Name;
!                      File_Name2 := No_Name;
  
!                      --  If either the spec or the body is a source of the
!                      --  project, check for the corresponding ALI file in the
!                      --  object directory.
  
!                      if In_Extension_Chain
!                        (U_Data.File_Names (Body_Part).Project, Project)
!                        or else
!                          In_Extension_Chain
!                            (U_Data.File_Names (Specification).Project, Project)
!                      then
!                         File_Name1 := U_Data.File_Names (Body_Part).Name;
!                         Index1     := U_Data.File_Names (Body_Part).Index;
!                         File_Name2 := U_Data.File_Names (Specification).Name;
!                         Index2     := U_Data.File_Names (Specification).Index;
! 
!                         --  If there is no body file name, then there may be
!                         --  only a spec.
! 
!                         if File_Name1 = No_Name then
!                            File_Name1 := File_Name2;
!                            Index1     := Index2;
!                            File_Name2 := No_Name;
!                            Index2     := 0;
!                         end if;
                       end if;
  
!                      --  If there is either a spec or a body, look for files
!                      --  in the object directory.
  
!                      if File_Name1 /= No_Name then
!                         Lib_File := Osint.Lib_File_Name (File_Name1, Index1);
  
!                         declare
!                            Asm : constant String :=
!                                    Assembly_File_Name (Lib_File);
!                            ALI : constant String :=
!                                    ALI_File_Name      (Lib_File);
!                            Obj : constant String :=
!                                    Object_File_Name   (Lib_File);
!                            Adt : constant String :=
!                                    Tree_File_Name     (Lib_File);
!                            Deb : constant String :=
!                                    Debug_File_Name (File_Name1);
!                            Rep : constant String :=
!                                    Repinfo_File_Name (File_Name1);
!                            Del : Boolean := True;
  
!                         begin
!                            --  If the ALI file exists and is read-only, no file
!                            --  is deleted.
  
!                            if Is_Regular_File (ALI) then
!                               if Is_Writable_File (ALI) then
!                                  Delete (Obj_Dir, ALI);
  
!                               else
!                                  Del := False;
  
!                                  if Verbose_Mode then
!                                     Put ('"');
!                                     Put (Obj_Dir);
  
!                                     if Obj_Dir (Obj_Dir'Last) /=
                                        Dir_Separator
!                                     then
!                                        Put (Dir_Separator);
!                                     end if;
  
!                                     Put (ALI);
!                                     Put_Line (""" is read-only");
!                                  end if;
                                end if;
                             end if;
  
!                            if Del then
  
!                               --  Object file
  
!                               if Is_Regular_File (Obj) then
!                                  Delete (Obj_Dir, Obj);
!                               end if;
  
!                               --  Assembly file
  
!                               if Is_Regular_File (Asm) then
!                                  Delete (Obj_Dir, Asm);
!                               end if;
  
!                               --  Tree file
  
!                               if Is_Regular_File (Adt) then
!                                  Delete (Obj_Dir, Adt);
!                               end if;
  
!                               --  First expanded source file
  
!                               if Is_Regular_File (Deb) then
!                                  Delete (Obj_Dir, Deb);
!                               end if;
  
!                               --  Repinfo file
  
!                               if Is_Regular_File (Rep) then
!                                  Delete (Obj_Dir, Rep);
!                               end if;
  
!                               --  Second expanded source file
  
!                               if File_Name2 /= No_Name then
!                                  declare
!                                     Deb : constant String :=
!                                             Debug_File_Name (File_Name2);
!                                     Rep : constant String :=
!                                             Repinfo_File_Name (File_Name2);
  
!                                  begin
!                                     if Is_Regular_File (Deb) then
!                                        Delete (Obj_Dir, Deb);
!                                     end if;
! 
!                                     if Is_Regular_File (Rep) then
!                                        Delete (Obj_Dir, Rep);
!                                     end if;
!                                  end;
!                               end if;
                             end if;
!                         end;
!                      end if;
!                   end loop;
!                end if;
  
!                --  Check if a global archive and it dependency file could have
!                --  been created and, if they exist, delete them.
  
!                if Project = Main_Project and then not Data.Library then
!                   Global_Archive := False;
  
!                   for Proj in Project_Table.First ..
!                     Project_Table.Last (Project_Tree.Projects)
!                   loop
!                      if Project_Tree.Projects.Table
!                        (Proj).Other_Sources_Present
!                      then
!                         Global_Archive := True;
!                         exit;
!                      end if;
!                   end loop;
  
!                   if Global_Archive then
!                      Clean_Archive (Project);
!                   end if;
                 end if;
  
!                if Data.Other_Sources_Present then
  
!                   --  There is non-Ada code: delete the object files and
!                   --  the dependency files if they exist.
  
!                   Source_Id := Data.First_Other_Source;
!                   while Source_Id /= No_Other_Source loop
!                      Source :=
!                        Project_Tree.Other_Sources.Table (Source_Id);
  
!                      if Is_Regular_File
                         (Get_Name_String (Source.Object_Name))
!                      then
!                         Delete (Obj_Dir, Get_Name_String (Source.Object_Name));
!                      end if;
  
!                      if
!                        Is_Regular_File (Get_Name_String (Source.Dep_Name))
!                      then
!                         Delete (Obj_Dir, Get_Name_String (Source.Dep_Name));
!                      end if;
  
!                      Source_Id := Source.Next;
!                   end loop;
  
!                   --  If it is a library with only non Ada sources, delete
!                   --  the fake archive and the dependency file, if they exist.
  
!                   if Data.Library
!                     and then not Data.Languages (Ada_Language_Index)
!                   then
!                      Clean_Archive (Project);
!                   end if;
                 end if;
!             end;
!          end if;
  
!          --  If this is a library project, clean the library directory, the
!          --  interface copy dir and, for a Stand-Alone Library, the binder
!          --  generated files of the library.
  
!          --  The directories are cleaned only if switch -c is not specified
  
!          if Data.Library then
!             if not Compile_Only then
!                Clean_Library_Directory (Project);
  
!                if Data.Library_Src_Dir /= No_Name then
!                   Clean_Interface_Copy_Directory (Project);
!                end if;
!             end if;
! 
!             if Data.Standalone_Library and then
!               Data.Object_Directory /= No_Name
              then
!                Delete_Binder_Generated_Files
!                  (Get_Name_String (Data.Object_Directory), Data.Library_Name);
              end if;
           end if;
  
!          if Verbose_Mode then
!             New_Line;
           end if;
        end if;
  
        --  If switch -r is specified, call Clean_Project recursively for the
        --  imported projects and the project being extended.
  
*************** package body Clean is
*** 839,845 ****
              --  has not been processed already.
  
              while Imported /= Empty_Project_List loop
!                Element := Project_Lists.Table (Imported);
                 Imported := Element.Next;
                 Process := True;
  
--- 1072,1078 ----
              --  has not been processed already.
  
              while Imported /= Empty_Project_List loop
!                Element := Project_Tree.Project_Lists.Table (Imported);
                 Imported := Element.Next;
                 Process := True;
  
*************** package body Clean is
*** 876,882 ****
        if Project = Main_Project and then Data.Exec_Directory /= No_Name then
           declare
              Exec_Dir : constant String :=
!               Get_Name_String (Data.Exec_Directory);
           begin
              Change_Dir (Exec_Dir);
  
--- 1109,1116 ----
        if Project = Main_Project and then Data.Exec_Directory /= No_Name then
           declare
              Exec_Dir : constant String :=
!                          Get_Name_String (Data.Exec_Directory);
! 
           begin
              Change_Dir (Exec_Dir);
  
*************** package body Clean is
*** 887,898 ****
                    Executable :=
                      Executable_Of
                        (Main_Project,
                         Main_Source_File,
                         Current_File_Index);
  
!                   if Is_Regular_File (Get_Name_String (Executable)) then
!                      Delete (Exec_Dir, Get_Name_String (Executable));
!                   end if;
                 end if;
  
                 if Data.Object_Directory /= No_Name then
--- 1121,1146 ----
                    Executable :=
                      Executable_Of
                        (Main_Project,
+                        Project_Tree,
                         Main_Source_File,
                         Current_File_Index);
  
!                   declare
!                      Exec_File_Name : constant String :=
!                                         Get_Name_String (Executable);
! 
!                   begin
!                      if Is_Absolute_Path (Name => Exec_File_Name) then
!                         if Is_Regular_File (Exec_File_Name) then
!                            Delete ("", Exec_File_Name);
!                         end if;
! 
!                      else
!                         if Is_Regular_File (Exec_File_Name) then
!                            Delete (Exec_Dir, Exec_File_Name);
!                         end if;
!                      end if;
!                   end;
                 end if;
  
                 if Data.Object_Directory /= No_Name then
*************** package body Clean is
*** 1099,1111 ****
           --  Set the project parsing verbosity to whatever was specified
           --  by a possible -vP switch.
  
!          Prj.Pars.Set_Verbosity (To => Prj.Com.Current_Verbosity);
  
           --  Parse the project file. If there is an error, Main_Project
           --  will still be No_Project.
  
           Prj.Pars.Parse
             (Project           => Main_Project,
              Project_File_Name => Project_File_Name.all,
              Packages_To_Check => Packages_To_Check_By_Gnatmake);
  
--- 1347,1360 ----
           --  Set the project parsing verbosity to whatever was specified
           --  by a possible -vP switch.
  
!          Prj.Pars.Set_Verbosity (To => Current_Verbosity);
  
           --  Parse the project file. If there is an error, Main_Project
           --  will still be No_Project.
  
           Prj.Pars.Parse
             (Project           => Main_Project,
+             In_Tree           => Project_Tree,
              Project_File_Name => Project_File_Name.all,
              Packages_To_Check => Packages_To_Check_By_Gnatmake);
  
*************** package body Clean is
*** 1121,1132 ****
              New_Line;
           end if;
  
!          --  We add the source directories and the object directories
!          --  to the search paths.
! 
!          Add_Source_Directories (Main_Project);
!          Add_Object_Directories (Main_Project);
  
        end if;
  
        Osint.Add_Default_Search_Dirs;
--- 1370,1379 ----
              New_Line;
           end if;
  
!          --  Add source directories and object directories to the search paths
  
+          Add_Source_Directories (Main_Project, Project_Tree);
+          Add_Object_Directories (Main_Project, Project_Tree);
        end if;
  
        Osint.Add_Default_Search_Dirs;
*************** package body Clean is
*** 1137,1147 ****
  
        if Main_Project /= No_Project and then Osint.Number_Of_Files = 0 then
           declare
!             Value : String_List_Id := Projects.Table (Main_Project).Mains;
              Main  : String_Element;
           begin
              while Value /= Prj.Nil_String loop
!                Main := String_Elements.Table (Value);
                 Osint.Add_File
                   (File_Name => Get_Name_String (Main.Value),
                    Index     => Main.Index);
--- 1384,1395 ----
  
        if Main_Project /= No_Project and then Osint.Number_Of_Files = 0 then
           declare
!             Value : String_List_Id :=
!                       Project_Tree.Projects.Table (Main_Project).Mains;
              Main  : String_Element;
           begin
              while Value /= Prj.Nil_String loop
!                Main := Project_Tree.String_Elements.Table (Value);
                 Osint.Add_File
                   (File_Name => Get_Name_String (Main.Value),
                    Index     => Main.Index);
*************** package body Clean is
*** 1211,1234 ****
           return True;
        end if;
  
!       Data := Projects.Table (Of_Project);
  
        while Data.Extends /= No_Project loop
           if Data.Extends = Prj then
              return True;
           end if;
  
!          Data := Projects.Table (Data.Extends);
        end loop;
  
!       Data := Projects.Table (Prj);
  
        while Data.Extends /= No_Project loop
           if Data.Extends = Of_Project then
              return True;
           end if;
  
!          Data := Projects.Table (Data.Extends);
        end loop;
  
        return False;
--- 1459,1482 ----
           return True;
        end if;
  
!       Data := Project_Tree.Projects.Table (Of_Project);
  
        while Data.Extends /= No_Project loop
           if Data.Extends = Prj then
              return True;
           end if;
  
!          Data := Project_Tree.Projects.Table (Data.Extends);
        end loop;
  
!       Data := Project_Tree.Projects.Table (Prj);
  
        while Data.Extends /= No_Project loop
           if Data.Extends = Of_Project then
              return True;
           end if;
  
!          Data := Project_Tree.Projects.Table (Data.Extends);
        end loop;
  
        return False;
*************** package body Clean is
*** 1258,1264 ****
           Csets.Initialize;
           Namet.Initialize;
           Snames.Initialize;
!          Prj.Initialize;
        end if;
  
        --  Reset global variables
--- 1506,1512 ----
           Csets.Initialize;
           Namet.Initialize;
           Snames.Initialize;
!          Prj.Initialize (Project_Tree);
        end if;
  
        --  Reset global variables
*************** package body Clean is
*** 1480,1492 ****
                             Verbose_Mode := True;
  
                          elsif Arg = "-vP0" then
!                            Prj.Com.Current_Verbosity := Prj.Default;
  
                          elsif Arg = "-vP1" then
!                            Prj.Com.Current_Verbosity := Prj.Medium;
  
                          elsif Arg = "-vP2" then
!                            Prj.Com.Current_Verbosity := Prj.High;
  
                          else
                             Bad_Argument;
--- 1728,1740 ----
                             Verbose_Mode := True;
  
                          elsif Arg = "-vP0" then
!                            Current_Verbosity := Prj.Default;
  
                          elsif Arg = "-vP1" then
!                            Current_Verbosity := Prj.Medium;
  
                          elsif Arg = "-vP2" then
!                            Current_Verbosity := Prj.High;
  
                          else
                             Bad_Argument;
*************** package body Clean is
*** 1587,1592 ****
--- 1835,1860 ----
        return Src & Tree_Suffix;
     end Tree_File_Name;
  
+    ---------------------------
+    -- Ultimate_Extension_Of --
+    ---------------------------
+ 
+    function Ultimate_Extension_Of (Project : Project_Id) return Project_Id is
+       Result : Project_Id := Project;
+       Data   : Project_Data;
+ 
+    begin
+       if Project /= No_Project then
+          loop
+             Data := Project_Tree.Projects.Table (Result);
+             exit when Data.Extended_By = No_Project;
+             Result := Data.Extended_By;
+          end loop;
+       end if;
+ 
+       return Result;
+    end Ultimate_Extension_Of;
+ 
     -----------
     -- Usage --
     -----------
diff -Nrcpad gcc-4.0.2/gcc/ada/clean.ads gcc-4.1.0/gcc/ada/clean.ads
*** gcc-4.0.2/gcc/ada/clean.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/clean.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/comperr.adb gcc-4.1.0/gcc/ada/comperr.adb
*** gcc-4.0.2/gcc/ada/comperr.adb	Mon Jan  3 15:43:24 2005
--- gcc-4.1.0/gcc/ada/comperr.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,26 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
! -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  --                                                                          --
  ------------------------------------------------------------------------------
  
--- 16,26 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
! -- Extensive contributions were provided by AdaCore.                         --
  --                                                                          --
  ------------------------------------------------------------------------------
  
*************** package body Comperr is
*** 78,84 ****
        --  the cause of the compiler abort and about the preferred method
        --  of reporting bugs. The default is a bug box appropriate for
        --  the FSF version of GNAT, but there are specializations for
!       --  the GNATPRO and Public releases by Ada Core Technologies.
  
        procedure End_Line;
        --  Add blanks up to column 76, and then a final vertical bar
--- 78,84 ----
        --  the cause of the compiler abort and about the preferred method
        --  of reporting bugs. The default is a bug box appropriate for
        --  the FSF version of GNAT, but there are specializations for
!       --  the GNATPRO and Public releases by AdaCore.
  
        procedure End_Line;
        --  Add blanks up to column 76, and then a final vertical bar
*************** package body Comperr is
*** 95,106 ****
  
        Is_Public_Version : constant Boolean := Get_Gnat_Build_Type = Public;
        Is_FSF_Version    : constant Boolean := Get_Gnat_Build_Type = FSF;
-       Is_GAP_Version    : constant Boolean := Get_Gnat_Build_Type = GAP;
  
     --  Start of processing for Compiler_Abort
  
     begin
!       --  Prevent recursion through Compiler_Abort, e.g. via SIGSEGV.
  
        if Abort_In_Progress then
           Exit_Program (E_Abort);
--- 95,105 ----
  
        Is_Public_Version : constant Boolean := Get_Gnat_Build_Type = Public;
        Is_FSF_Version    : constant Boolean := Get_Gnat_Build_Type = FSF;
  
     --  Start of processing for Compiler_Abort
  
     begin
!       --  Prevent recursion through Compiler_Abort, e.g. via SIGSEGV
  
        if Abort_In_Progress then
           Exit_Program (E_Abort);
*************** package body Comperr is
*** 268,289 ****
                       " http://gcc.gnu.org/bugs.html.");
                    End_Line;
  
                 else
                    Write_Str
!                     ("| Please submit bug report by email " &
!                      "to report@gnat.com.");
                    End_Line;
  
                    Write_Str
!                     ("| Use a subject line meaningful to you" &
!                      " and us to track the bug.");
                    End_Line;
                 end if;
  
                 if not (Is_Public_Version or Is_FSF_Version) then
                    Write_Str
!                     ("| (include your customer number #nnn " &
!                      "in the subject line).");
                    End_Line;
                 end if;
  
--- 267,308 ----
                       " http://gcc.gnu.org/bugs.html.");
                    End_Line;
  
+                elsif Is_Public_Version then
+                   Write_Str
+                     ("| submit bug report by email " &
+                      "to report@adacore.com.");
+                   End_Line;
+ 
+                   Write_Str
+                     ("| See gnatinfo.txt for full info on procedure " &
+                      "for submitting bugs.");
+                   End_Line;
+ 
                 else
                    Write_Str
!                     ("| Please submit a bug report using GNAT Tracker:");
                    End_Line;
  
                    Write_Str
!                     ("| http://www.adacore.com/gnattracker/ " &
!                      "section 'send a report'.");
!                   End_Line;
! 
!                   Write_Str
!                     ("| alternatively submit a bug report by email " &
!                      "to report@adacore.com.");
                    End_Line;
                 end if;
  
+                Write_Str
+                  ("| Use a subject line meaningful to you" &
+                   " and us to track the bug.");
+                End_Line;
+ 
                 if not (Is_Public_Version or Is_FSF_Version) then
                    Write_Str
!                     ("| Include your customer number #nnn " &
!                      "in the subject line.");
                    End_Line;
                 end if;
  
*************** package body Comperr is
*** 305,339 ****
                   ("| (concatenated together with no headers between files).");
                 End_Line;
  
!                if Is_Public_Version then
!                   Write_Str
!                     ("| (use plain ASCII or MIME attachment).");
!                   End_Line;
! 
!                   Write_Str
!                     ("| See gnatinfo.txt for full info on procedure " &
!                      "for submitting bugs.");
!                   End_Line;
! 
!                elsif Is_GAP_Version then
!                   Write_Str
!                     ("| (use plain ASCII or MIME attachment, or FTP "
!                      & "to your GAP account.).");
!                   End_Line;
! 
!                   Write_Str
!                     ("| Please use your GAP account to report this.");
!                   End_Line;
! 
!                elsif not Is_FSF_Version then
!                   Write_Str
!                     ("| (use plain ASCII or MIME attachment, or FTP "
!                      & "to your customer directory).");
!                   End_Line;
! 
                    Write_Str
!                     ("| See README.GNATPRO for full info on procedure " &
!                      "for submitting bugs.");
                    End_Line;
                 end if;
              end if;
--- 324,332 ----
                   ("| (concatenated together with no headers between files).");
                 End_Line;
  
!                if not Is_FSF_Version then
                    Write_Str
!                     ("| Use plain ASCII or MIME attachment.");
                    End_Line;
                 end if;
              end if;
diff -Nrcpad gcc-4.0.2/gcc/ada/comperr.ads gcc-4.1.0/gcc/ada/comperr.ads
*** gcc-4.0.2/gcc/ada/comperr.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/comperr.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/config-lang.in gcc-4.1.0/gcc/ada/config-lang.in
*** gcc-4.0.2/gcc/ada/config-lang.in	Wed Aug 11 04:10:11 2004
--- gcc-4.1.0/gcc/ada/config-lang.in	Fri Jul  1 01:29:17 2005
***************
*** 15,22 ****
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 59 Temple Place - Suite 330,
! #Boston, MA 02111-1307, USA.
  
  # Configure looks for the existence of this file to auto-config each language.
  # We define several parameters used by configure:
--- 15,22 ----
  
  #You should have received a copy of the GNU General Public License
  #along with GCC; see the file COPYING.  If not, write to
! #the Free Software Foundation, 51 Franklin Street, Fifth Floor,
! #Boston, MA 02110-1301, USA.
  
  # Configure looks for the existence of this file to auto-config each language.
  # We define several parameters used by configure:
*************** gtfiles="\$(srcdir)/ada/ada-tree.h \$(sr
*** 39,44 ****
--- 39,45 ----
  outputs=ada/Makefile
  
  target_libs="target-libada"
+ lang_dirs="gnattools"
  
  # Ada will not work until the front end starts emitting GIMPLE trees.
  build_by_default=no
diff -Nrcpad gcc-4.0.2/gcc/ada/csets.adb gcc-4.1.0/gcc/ada/csets.adb
*** gcc-4.0.2/gcc/ada/csets.adb	Thu Feb 10 13:57:00 2005
--- gcc-4.1.0/gcc/ada/csets.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/csets.ads gcc-4.1.0/gcc/ada/csets.ads
*** gcc-4.0.2/gcc/ada/csets.ads	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/csets.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,38 ****
  ------------------------------------------------------------------------------
  
  package Csets is
! pragma Elaborate_Body (Csets);
  
     --  This package contains character tables for the various character
     --  sets that are supported for source representation. Character and
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  package Csets is
!    pragma Elaborate_Body;
  
     --  This package contains character tables for the various character
     --  sets that are supported for source representation. Character and
diff -Nrcpad gcc-4.0.2/gcc/ada/csinfo.adb gcc-4.1.0/gcc/ada/csinfo.adb
*** gcc-4.0.2/gcc/ada/csinfo.adb	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/csinfo.adb	Mon Sep  5 08:12:54 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** procedure CSinfo is
*** 149,155 ****
  
     procedure Sort (A : in out VStringA) is
        Temp : VString;
- 
     begin
        <<Sort>>
           for J in 1 .. A'Length - 1 loop
--- 149,154 ----
*************** begin
*** 189,222 ****
     Set (Flags, "18", V ("R"));
  
     --  Special fields table. The following fields are not recorded or checked
!    --  by Csinfo, since they are specially handled. This means that he both
!    --  the field definitions, and the corresponding subprograms are ignored.
  
!    Set (Special, "Analyzed",                 True);
!    Set (Special, "Assignment_OK",            True);
!    Set (Special, "Associated_Node",          True);
!    Set (Special, "Cannot_Be_Constant",       True);
!    Set (Special, "Chars",                    True);
!    Set (Special, "Comes_From_Source",        True);
!    Set (Special, "Do_Overflow_Check",        True);
!    Set (Special, "Do_Range_Check",           True);
!    Set (Special, "Entity",                   True);
!    Set (Special, "Error_Posted",             True);
!    Set (Special, "Etype",                    True);
!    Set (Special, "Evaluate_Once",            True);
!    Set (Special, "First_Itype",              True);
!    Set (Special, "Has_Dynamic_Itype",        True);
!    Set (Special, "Has_Dynamic_Range_Check",  True);
!    Set (Special, "Has_Dynamic_Length_Check", True);
!    Set (Special, "Has_Private_View",         True);
!    Set (Special, "Is_Controlling_Actual",    True);
!    Set (Special, "Is_Overloaded",            True);
!    Set (Special, "Is_Static_Expression",     True);
!    Set (Special, "Left_Opnd",                True);
!    Set (Special, "Must_Not_Freeze",          True);
!    Set (Special, "Parens",                   True);
!    Set (Special, "Raises_Constraint_Error",  True);
!    Set (Special, "Right_Opnd",               True);
  
     --  Loop to acquire information from node definitions in sinfo.ads,
     --  checking for consistency in Op/Flag assignments to each synonym
--- 188,222 ----
     Set (Flags, "18", V ("R"));
  
     --  Special fields table. The following fields are not recorded or checked
!    --  by Csinfo, since they are specially handled. This means that both the
!    --  field definitions, and the corresponding subprograms are ignored.
  
!    Set (Special, "Analyzed",                  True);
!    Set (Special, "Assignment_OK",             True);
!    Set (Special, "Associated_Node",           True);
!    Set (Special, "Cannot_Be_Constant",        True);
!    Set (Special, "Chars",                     True);
!    Set (Special, "Comes_From_Source",         True);
!    Set (Special, "Do_Overflow_Check",         True);
!    Set (Special, "Do_Range_Check",            True);
!    Set (Special, "Entity",                    True);
!    Set (Special, "Entity_Or_Associated_Node", True);
!    Set (Special, "Error_Posted",              True);
!    Set (Special, "Etype",                     True);
!    Set (Special, "Evaluate_Once",             True);
!    Set (Special, "First_Itype",               True);
!    Set (Special, "Has_Dynamic_Itype",         True);
!    Set (Special, "Has_Dynamic_Range_Check",   True);
!    Set (Special, "Has_Dynamic_Length_Check",  True);
!    Set (Special, "Has_Private_View",          True);
!    Set (Special, "Is_Controlling_Actual",     True);
!    Set (Special, "Is_Overloaded",             True);
!    Set (Special, "Is_Static_Expression",      True);
!    Set (Special, "Left_Opnd",                 True);
!    Set (Special, "Must_Not_Freeze",           True);
!    Set (Special, "Parens",                    True);
!    Set (Special, "Raises_Constraint_Error",   True);
!    Set (Special, "Right_Opnd",                True);
  
     --  Loop to acquire information from node definitions in sinfo.ads,
     --  checking for consistency in Op/Flag assignments to each synonym
*************** begin
*** 256,262 ****
           Match (Field, Break_Field);
  
           if not Present (Special, Synonym) then
- 
              if Present (Fields, Synonym) then
                 if Field /= Get (Fields, Synonym) then
                    Put_Line
--- 256,261 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/cstand.adb gcc-4.1.0/gcc/ada/cstand.adb
*** gcc-4.0.2/gcc/ada/cstand.adb	Thu Feb 10 13:50:24 2005
--- gcc-4.1.0/gcc/ada/cstand.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body CStand is
*** 114,120 ****
     --  Make an entry in the names table for Nam, and set as Chars field of Id
  
     function New_Operator (Op : Name_Id; Typ : Entity_Id) return Entity_Id;
!    --  Build entity for standard operator with given name and type.
  
     function New_Standard_Entity
       (New_Node_Kind : Node_Kind := N_Defining_Identifier) return Entity_Id;
--- 114,120 ----
     --  Make an entry in the names table for Nam, and set as Chars field of Id
  
     function New_Operator (Op : Name_Id; Typ : Entity_Id) return Entity_Id;
!    --  Build entity for standard operator with given name and type
  
     function New_Standard_Entity
       (New_Node_Kind : Node_Kind := N_Defining_Identifier) return Entity_Id;
*************** package body CStand is
*** 537,543 ****
        Set_Is_Known_Valid             (Standard_Character);
        Set_Size_Known_At_Compile_Time (Standard_Character);
  
!       --  Create the bounds for type Character.
  
        R_Node := New_Node (N_Range, Stloc);
  
--- 537,543 ----
        Set_Is_Known_Valid             (Standard_Character);
        Set_Size_Known_At_Compile_Time (Standard_Character);
  
!       --  Create the bounds for type Character
  
        R_Node := New_Node (N_Range, Stloc);
  
*************** package body CStand is
*** 582,588 ****
        Set_Is_Known_Valid             (Standard_Wide_Character);
        Set_Size_Known_At_Compile_Time (Standard_Wide_Character);
  
!       --  Create the bounds for type Wide_Character.
  
        R_Node := New_Node (N_Range, Stloc);
  
--- 582,588 ----
        Set_Is_Known_Valid             (Standard_Wide_Character);
        Set_Size_Known_At_Compile_Time (Standard_Wide_Character);
  
!       --  Create the bounds for type Wide_Character
  
        R_Node := New_Node (N_Range, Stloc);
  
*************** package body CStand is
*** 1259,1278 ****
                        (Standard_Exception_Type, True);
        Make_Name       (Standard_Exception_Type, "exception");
  
!       Make_Component  (Standard_Exception_Type, Standard_Boolean,
!                                                  "Not_Handled_By_Others");
!       Make_Component  (Standard_Exception_Type, Standard_Character, "Lang");
!       Make_Component  (Standard_Exception_Type, Standard_Natural,
!                                                            "Name_Length");
!       Make_Component  (Standard_Exception_Type, Standard_A_Char,
!                                                              "Full_Name");
!       Make_Component  (Standard_Exception_Type, Standard_A_Char,
!                                                             "HTable_Ptr");
!       Make_Component  (Standard_Exception_Type, Standard_Unsigned,
!                                                           "Import_Code");
!       Make_Component  (Standard_Exception_Type, Standard_A_Char,
!                                                             "Raise_Hook");
!       --  Build tree for record declaration, for use by the back-end.
  
        declare
           Comp_List : List_Id;
--- 1259,1280 ----
                        (Standard_Exception_Type, True);
        Make_Name       (Standard_Exception_Type, "exception");
  
!       Make_Component
!         (Standard_Exception_Type, Standard_Boolean,   "Not_Handled_By_Others");
!       Make_Component
!         (Standard_Exception_Type, Standard_Character, "Lang");
!       Make_Component
!         (Standard_Exception_Type, Standard_Natural,   "Name_Length");
!       Make_Component
!         (Standard_Exception_Type, Standard_A_Char,    "Full_Name");
!       Make_Component
!         (Standard_Exception_Type, Standard_A_Char,    "HTable_Ptr");
!       Make_Component
!         (Standard_Exception_Type, Standard_Unsigned,  "Import_Code");
!       Make_Component
!         (Standard_Exception_Type, Standard_A_Char,    "Raise_Hook");
! 
!       --  Build tree for record declaration, for use by the back-end
  
        declare
           Comp_List : List_Id;
diff -Nrcpad gcc-4.0.2/gcc/ada/cstand.ads gcc-4.1.0/gcc/ada/cstand.ads
*** gcc-4.0.2/gcc/ada/cstand.ads	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/cstand.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/cstreams.c gcc-4.1.0/gcc/ada/cstreams.c
*** gcc-4.0.2/gcc/ada/cstreams.c	Tue Nov 18 10:00:42 2003
--- gcc-4.1.0/gcc/ada/cstreams.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/ctrl_c.c gcc-4.1.0/gcc/ada/ctrl_c.c
*** gcc-4.0.2/gcc/ada/ctrl_c.c	Fri Oct 31 01:08:40 2003
--- gcc-4.1.0/gcc/ada/ctrl_c.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/cuintp.c gcc-4.1.0/gcc/ada/cuintp.c
*** gcc-4.0.2/gcc/ada/cuintp.c	Mon Oct  4 14:56:02 2004
--- gcc-4.1.0/gcc/ada/cuintp.c	Tue Nov 15 13:54:14 2005
***************
*** 6,12 ****
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2003 Free Software Foundation, Inc.          *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *          Copyright (C) 1992-2005 Free Software Foundation, Inc.          *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
***************
*** 41,46 ****
--- 41,47 ----
  #include "stringt.h"
  #include "fe.h"
  #include "gigi.h"
+ #include "ada-tree.h"
  
  /* Universal integers are represented by the Uint type which is an index into
     the Uints_Ptr table containing Uint_Entry values.  A Uint_Entry contains an
*************** UI_To_gnu (Uint Input, tree type)
*** 74,95 ****
  {
    tree gnu_ret;
  
    if (Input <= Uint_Direct_Last)
!     gnu_ret = build_cst_from_int (type, Input - Uint_Direct_Bias);
    else
      {
        Int Idx = Uints_Ptr[Input].Loc;
        Pos Length = Uints_Ptr[Input].Length;
        Int First = Udigits_Ptr[Idx];
!       /* Do computations in integer type or TYPE whichever is wider, then
! 	 convert later.  This avoid overflow if type is short integer.  */
!       tree comp_type
! 	= ((TREE_CODE (type) == REAL_TYPE
! 	    || TYPE_PRECISION (type) >= TYPE_PRECISION (integer_type_node))
! 	   ? type : integer_type_node);
!       tree gnu_base = build_cst_from_int (comp_type, Base);
  
        gcc_assert (Length > 0);
        gnu_ret = build_cst_from_int (comp_type, First);
        if (First < 0)
  	for (Idx++, Length--; Length; Idx++, Length--)
--- 75,115 ----
  {
    tree gnu_ret;
  
+   /* We might have a TYPE with biased representation and be passed an
+      unbiased value that doesn't fit.  We always use an unbiased type able
+      to hold any such possible value for intermediate computations, and
+      then rely on a conversion back to TYPE to perform the bias adjustment
+      when need be.  */
+ 
+   int biased_type_p
+     = (TREE_CODE (type) == INTEGER_TYPE
+        && TYPE_BIASED_REPRESENTATION_P (type));
+ 
+   tree comp_type = biased_type_p ? get_base_type (type) : type;
+ 
    if (Input <= Uint_Direct_Last)
!     gnu_ret = build_cst_from_int (comp_type, Input - Uint_Direct_Bias);
    else
      {
        Int Idx = Uints_Ptr[Input].Loc;
        Pos Length = Uints_Ptr[Input].Length;
        Int First = Udigits_Ptr[Idx];
!       tree gnu_base;
  
        gcc_assert (Length > 0);
+ 
+       /* The computations we perform below always require a type at least as
+ 	 large as an integer not to overflow.  REAL types are always fine, but
+ 	 INTEGER or ENUMERAL types we are handed may be too short.  We use a
+ 	 base integer type node for the computations in this case and will
+ 	 convert the final result back to the incoming type later on.  */
+ 
+       if (TREE_CODE (comp_type) != REAL_TYPE
+ 	  && TYPE_PRECISION (comp_type) < TYPE_PRECISION (integer_type_node))
+ 	comp_type = integer_type_node;
+ 
+       gnu_base = build_cst_from_int (comp_type, Base);
+ 
        gnu_ret = build_cst_from_int (comp_type, First);
        if (First < 0)
  	for (Idx++, Length--; Length; Idx++, Length--)
diff -Nrcpad gcc-4.0.2/gcc/ada/debug.adb gcc-4.1.0/gcc/ada/debug.adb
*** gcc-4.0.2/gcc/ada/debug.adb	Thu Feb 10 13:57:00 2005
--- gcc-4.1.0/gcc/ada/debug.adb	Tue Nov 15 13:56:27 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Debug is
*** 89,104 ****
     --  dU   Enable garbage collection of unreachable entities
     --  dV   Enable viewing of all symbols in debugger
     --  dW   Disable warnings on calls for IN OUT parameters
!    --  dX   Enable Frontend ZCX even when it is not supported
     --  dY   Enable configurable run-time mode
!    --  dZ
  
     --  d.a
     --  d.b
     --  d.c
     --  d.d
     --  d.e
!    --  d.f
     --  d.g
     --  d.h
     --  d.i
--- 89,104 ----
     --  dU   Enable garbage collection of unreachable entities
     --  dV   Enable viewing of all symbols in debugger
     --  dW   Disable warnings on calls for IN OUT parameters
!    --  dX
     --  dY   Enable configurable run-time mode
!    --  dZ   Generate listing showing the contents of the dispatch tables
  
     --  d.a
     --  d.b
     --  d.c
     --  d.d
     --  d.e
!    --  d.f  Inhibit folding of static expressions
     --  d.g
     --  d.h
     --  d.i
*************** package body Debug is
*** 132,138 ****
  
     --  Debug flags for binder (GNATBIND)
  
!    --  da
     --  db
     --  dc  List units as they are chosen
     --  dd
--- 132,138 ----
  
     --  Debug flags for binder (GNATBIND)
  
!    --  da  All links (including internal units) listed if there is a cycle
     --  db
     --  dc  List units as they are chosen
     --  dd
*************** package body Debug is
*** 410,416 ****
     --       indications. This debug flag disconnects the tracking of constant
     --       values (see Exp_Ch2.Expand_Current_Value).
  
!    --  dN   Do not generate file name information in exception messages.
  
     --  dO   Output immediate error messages. This causes error messages to
     --       be output as soon as they are generated (disconnecting several
--- 410,416 ----
     --       indications. This debug flag disconnects the tracking of constant
     --       values (see Exp_Ch2.Expand_Current_Value).
  
!    --  dN   Do not generate file name information in exception messages
  
     --  dO   Output immediate error messages. This causes error messages to
     --       be output as soon as they are generated (disconnecting several
*************** package body Debug is
*** 457,473 ****
     --       task of transitioning incorrect legacy code, we provide this
     --       undocumented feature for suppressing these warnings.
  
-    --  dX   Enable frontend ZCX even when it is not supported. Equivalent to
-    --       -gnatZ but without verifying that System.Front_End_ZCX_Support
-    --       is set. This causes the front end to generate suitable tables
-    --       for ZCX handling even when the runtime cannot handle ZCX. This
-    --       is used for testing the front end for correct ZCX operation, and
-    --       in particular is useful for multi-target testing.
- 
     --  dY   Enable configurable run-time mode, just as though the System file
     --       had Configurable_Run_Time_Mode set to True. This is useful in
     --       testing high integrity mode.
  
     --  d.x  No exception handlers in generated code. This causes exception
     --       handlers to be eliminated from the generated code. They are still
     --       fully compiled and analyzed, they just get eliminated from the
--- 457,470 ----
     --       task of transitioning incorrect legacy code, we provide this
     --       undocumented feature for suppressing these warnings.
  
     --  dY   Enable configurable run-time mode, just as though the System file
     --       had Configurable_Run_Time_Mode set to True. This is useful in
     --       testing high integrity mode.
  
+    --  d.f  Suppress folding of static expressions. This of course results
+    --       in seriously non-conforming behavior, but is useful sometimes
+    --       when tracking down handling of complex expressions.
+ 
     --  d.x  No exception handlers in generated code. This causes exception
     --       handlers to be eliminated from the generated code. They are still
     --       fully compiled and analyzed, they just get eliminated from the
*************** package body Debug is
*** 518,523 ****
--- 515,526 ----
     -- Documentation for Binder Debug Flags --
     ------------------------------------------
  
+    --  da  Normally if there is an elaboration circularity, then in describing
+    --      the cycle, links involving internal units are omitted, since they
+    --      are irrelevant and confusing. This debug flag causes all links to
+    --      be listed, and is useful when diagnosing circularities introduced
+    --      by incorrect changes to the run-time library itself.
+ 
     --  dc  List units as they are chosen. As units are selected for addition to
     --      the elaboration order, a line of output is generated showing which
     --      unit has been selected.
diff -Nrcpad gcc-4.0.2/gcc/ada/debug.ads gcc-4.1.0/gcc/ada/debug.ads
*** gcc-4.0.2/gcc/ada/debug.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/debug.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,43 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- package Debug is
- pragma Preelaborate (Debug);
- 
  --  This package contains global flags used to control the inclusion
  --  of debugging code in various phases of the compiler. Some of these
  --  flags are also used by the binder and gnatmake.
  
     -------------------------
     -- Dynamic Debug Flags --
     -------------------------
--- 31,43 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
  --  This package contains global flags used to control the inclusion
  --  of debugging code in various phases of the compiler. Some of these
  --  flags are also used by the binder and gnatmake.
  
+ package Debug is
+    pragma Preelaborate;
+ 
     -------------------------
     -- Dynamic Debug Flags --
     -------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/debug_a.adb gcc-4.1.0/gcc/ada/debug_a.adb
*** gcc-4.0.2/gcc/ada/debug_a.adb	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/debug_a.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/debug_a.ads gcc-4.1.0/gcc/ada/debug_a.ads
*** gcc-4.0.2/gcc/ada/debug_a.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/debug_a.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/dec-io.adb gcc-4.1.0/gcc/ada/dec-io.adb
*** gcc-4.0.2/gcc/ada/dec-io.adb	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/dec-io.adb	Thu Jan  1 00:00:00 1970
***************
*** 1,209 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT RUNTIME COMPONENTS                          --
- --                                                                          --
- --                               D E C . I O                                --
- --                                                                          --
- --                                 B o d y                                  --
- --                                                                          --
- --            Copyright (C) 2001 Free Software Foundation, Inc.             --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- GNAT was originally developed  by the GNAT team at  New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc.      --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- --  This is an AlphaVMS package that provides the interface between
- --  GNAT, DECLib IO packages and the DECLib Bliss library.
- 
- pragma Extend_System (Aux_DEC);
- 
- with System;                            use  System;
- with System.Task_Primitives;            use  System.Task_Primitives;
- with System.Task_Primitives.Operations; use  System.Task_Primitives.Operations;
- with IO_Exceptions;                     use  IO_Exceptions;
- with Aux_IO_Exceptions;                 use  Aux_IO_Exceptions;
- 
- package body DEC.IO is
- 
-    type File_Type is record
-       FCB : Integer   := 0;   -- Temporary
-       SEQ : Integer   := 0;
-    end record;
- 
-    for File_Type'Size use 64;
-    for File_Type'Alignment use 8;
- 
-    for File_Type use record
-       FCB at 0 range 0 .. 31;
-       SEQ at 4 range 0 .. 31;
-    end record;
- 
-    -----------------------
-    -- Local Subprograms --
-    -----------------------
- 
-    function GNAT_Name_64 (File : File_Type) return String;
-    pragma Export_Function (GNAT_Name_64, "GNAT$NAME_64");
-    --  ??? comment
- 
-    function GNAT_Form_64 (File : File_Type) return String;
-    pragma Export_Function (GNAT_Form_64, "GNAT$FORM_64");
-    --  ??? comment
- 
-    procedure Init_IO;
-    pragma Interface (C, Init_IO);
-    pragma Import_Procedure (Init_IO, "GNAT$$INIT_IO");
-    --  ??? comment
- 
-    ----------------
-    -- IO_Locking --
-    ----------------
- 
-    package body IO_Locking is
- 
-       ------------------
-       -- Create_Mutex --
-       ------------------
- 
-       function Create_Mutex return Access_Mutex is
-          M : constant Access_Mutex := new RTS_Lock;
- 
-       begin
-          Initialize_Lock (M, Global_Task_Level);
-          return M;
-       end Create_Mutex;
- 
-       -------------
-       -- Acquire --
-       -------------
- 
-       procedure Acquire (M : Access_Mutex) is
-       begin
-          Write_Lock (M);
-       end Acquire;
- 
-       -------------
-       -- Release --
-       -------------
- 
-       procedure Release (M : Access_Mutex) is
-       begin
-          Unlock (M);
-       end Release;
- 
-    end IO_Locking;
- 
-    ------------------
-    -- GNAT_Name_64 --
-    ------------------
- 
-    function GNAT_Name_64 (File : File_Type) return String is
-       subtype Buffer_Subtype is String (1 .. 8192);
- 
-       Buffer : Buffer_Subtype;
-       Length : System.Integer_32;
- 
-       procedure Get_Name
-         (File    : System.Address;
-          MaxLen  : System.Integer_32;
-          Buffer  : out Buffer_Subtype;
-          Length  : out System.Integer_32);
-       pragma Interface (C, Get_Name);
-       pragma Import_Procedure
-         (Get_Name, "GNAT$FILE_NAME",
-          Mechanism => (Value, Value, Reference, Reference));
- 
-    begin
-       Get_Name (File'Address, Buffer'Length, Buffer, Length);
-       return Buffer (1 .. Integer (Length));
-    end GNAT_Name_64;
- 
-    ------------------
-    -- GNAT_Form_64 --
-    ------------------
- 
-    function GNAT_Form_64 (File : File_Type) return String is
-       subtype Buffer_Subtype is String (1 .. 8192);
- 
-       Buffer : Buffer_Subtype;
-       Length : System.Integer_32;
- 
-       procedure Get_Form
-         (File    : System.Address;
-          MaxLen  : System.Integer_32;
-          Buffer  : out Buffer_Subtype;
-          Length  : out System.Integer_32);
-       pragma Interface (C, Get_Form);
-       pragma Import_Procedure
-         (Get_Form, "GNAT$FILE_FORM",
-          Mechanism => (Value, Value, Reference, Reference));
- 
-    begin
-       Get_Form (File'Address, Buffer'Length, Buffer, Length);
-       return Buffer (1 .. Integer (Length));
-    end GNAT_Form_64;
- 
-    ------------------------
-    -- Raise_IO_Exception --
-    ------------------------
- 
-    procedure Raise_IO_Exception (EN : Exception_Number) is
-    begin
-       case EN is
-          when GNAT_EN_LOCK_ERROR =>      raise LOCK_ERROR;
-          when GNAT_EN_EXISTENCE_ERROR => raise EXISTENCE_ERROR;
-          when GNAT_EN_KEY_ERROR =>       raise KEY_ERROR;
-          when GNAT_EN_KEYSIZERR =>       raise PROGRAM_ERROR; -- KEYSIZERR;
-          when GNAT_EN_STAOVF =>          raise STORAGE_ERROR; -- STAOVF;
-          when GNAT_EN_CONSTRAINT_ERRO => raise CONSTRAINT_ERROR;
-          when GNAT_EN_IOSYSFAILED =>     raise DEVICE_ERROR;  -- IOSYSFAILED;
-          when GNAT_EN_LAYOUT_ERROR =>    raise LAYOUT_ERROR;
-          when GNAT_EN_STORAGE_ERROR =>   raise STORAGE_ERROR;
-          when GNAT_EN_DATA_ERROR =>      raise DATA_ERROR;
-          when GNAT_EN_DEVICE_ERROR =>    raise DEVICE_ERROR;
-          when GNAT_EN_END_ERROR =>       raise END_ERROR;
-          when GNAT_EN_MODE_ERROR =>      raise MODE_ERROR;
-          when GNAT_EN_NAME_ERROR =>      raise NAME_ERROR;
-          when GNAT_EN_STATUS_ERROR =>    raise STATUS_ERROR;
-          when GNAT_EN_NOT_OPEN =>        raise USE_ERROR;   -- NOT_OPEN;
-          when GNAT_EN_ALREADY_OPEN =>    raise USE_ERROR;   -- ALREADY_OPEN;
-          when GNAT_EN_USE_ERROR =>       raise USE_ERROR;
-          when GNAT_EN_UNSUPPORTED =>     raise USE_ERROR;   -- UNSUPPORTED;
-          when GNAT_EN_FAC_MODE_MISMAT => raise USE_ERROR;   -- FAC_MODE_MISMAT;
-          when GNAT_EN_ORG_MISMATCH =>    raise USE_ERROR;   -- ORG_MISMATCH;
-          when GNAT_EN_RFM_MISMATCH =>    raise USE_ERROR;   -- RFM_MISMATCH;
-          when GNAT_EN_RAT_MISMATCH =>    raise USE_ERROR;   -- RAT_MISMATCH;
-          when GNAT_EN_MRS_MISMATCH =>    raise USE_ERROR;   -- MRS_MISMATCH;
-          when GNAT_EN_MRN_MISMATCH =>    raise USE_ERROR;   -- MRN_MISMATCH;
-          when GNAT_EN_KEY_MISMATCH =>    raise USE_ERROR;   -- KEY_MISMATCH;
-          when GNAT_EN_MAXLINEXC =>       raise CONSTRAINT_ERROR; -- MAXLINEXC;
-          when GNAT_EN_LINEXCMRS =>       raise CONSTRAINT_ERROR; -- LINEXCMRS;
-       end case;
-    end Raise_IO_Exception;
- 
- -------------------------
- -- Package Elaboration --
- -------------------------
- 
- begin
-    Init_IO;
- end DEC.IO;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/dec-io.ads gcc-4.1.0/gcc/ada/dec-io.ads
*** gcc-4.0.2/gcc/ada/dec-io.ads	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/dec-io.ads	Thu Jan  1 00:00:00 1970
***************
*** 1,123 ****
- ------------------------------------------------------------------------------
- --                                                                          --
- --                         GNAT RUNTIME COMPONENTS                          --
- --                                                                          --
- --                               D E C . I O                                --
- --                                                                          --
- --                                 S p e c                                  --
- --                                                                          --
- --          Copyright (C) 1996-2001 Free Software Foundation, Inc.          --
- --                                                                          --
- -- GNAT is free software;  you can  redistribute it  and/or modify it under --
- -- terms of the  GNU General Public License as published  by the Free Soft- --
- -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
- -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
- -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
- -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
- -- for  more details.  You should have  received  a copy of the GNU General --
- -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
- -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
- -- MA 02111-1307, USA.                                                      --
- --                                                                          --
- -- As a special exception,  if other files  instantiate  generics from this --
- -- unit, or you link  this unit with other files  to produce an executable, --
- -- this  unit  does not  by itself cause  the resulting  executable  to  be --
- -- covered  by the  GNU  General  Public  License.  This exception does not --
- -- however invalidate  any other reasons why  the executable file  might be --
- -- covered by the  GNU Public License.                                      --
- --                                                                          --
- -- GNAT was originally developed  by the GNAT team at  New York University. --
- -- Extensive contributions were provided by Ada Core Technologies Inc.      --
- --                                                                          --
- ------------------------------------------------------------------------------
- 
- --  This is an AlphaVMS package that contains the declarations and
- --  function specifications needed by the DECLib IO packages.
- 
- with System.Task_Primitives;
- package DEC.IO is
- private
- 
-    type Exception_Number is (
-      GNAT_EN_LOCK_ERROR,
-      GNAT_EN_EXISTENCE_ERROR,
-      GNAT_EN_KEY_ERROR,
-      GNAT_EN_KEYSIZERR,
-      GNAT_EN_STAOVF,
-      GNAT_EN_CONSTRAINT_ERRO,
-      GNAT_EN_IOSYSFAILED,
-      GNAT_EN_LAYOUT_ERROR,
-      GNAT_EN_STORAGE_ERROR,
-      GNAT_EN_DATA_ERROR,
-      GNAT_EN_DEVICE_ERROR,
-      GNAT_EN_END_ERROR,
-      GNAT_EN_MODE_ERROR,
-      GNAT_EN_NAME_ERROR,
-      GNAT_EN_STATUS_ERROR,
-      GNAT_EN_NOT_OPEN,
-      GNAT_EN_ALREADY_OPEN,
-      GNAT_EN_USE_ERROR,
-      GNAT_EN_UNSUPPORTED,
-      GNAT_EN_FAC_MODE_MISMAT,
-      GNAT_EN_ORG_MISMATCH,
-      GNAT_EN_RFM_MISMATCH,
-      GNAT_EN_RAT_MISMATCH,
-      GNAT_EN_MRS_MISMATCH,
-      GNAT_EN_MRN_MISMATCH,
-      GNAT_EN_KEY_MISMATCH,
-      GNAT_EN_MAXLINEXC,
-      GNAT_EN_LINEXCMRS);
- 
-    for Exception_Number'Size use 32;
- 
-    for Exception_Number use (
-      GNAT_EN_LOCK_ERROR => 1,
-      GNAT_EN_EXISTENCE_ERROR => 2,
-      GNAT_EN_KEY_ERROR => 3,
-      GNAT_EN_KEYSIZERR => 4,
-      GNAT_EN_STAOVF => 5,
-      GNAT_EN_CONSTRAINT_ERRO => 6,
-      GNAT_EN_IOSYSFAILED => 7,
-      GNAT_EN_LAYOUT_ERROR => 8,
-      GNAT_EN_STORAGE_ERROR => 9,
-      GNAT_EN_DATA_ERROR => 10,
-      GNAT_EN_DEVICE_ERROR => 11,
-      GNAT_EN_END_ERROR => 12,
-      GNAT_EN_MODE_ERROR => 13,
-      GNAT_EN_NAME_ERROR => 14,
-      GNAT_EN_STATUS_ERROR => 15,
-      GNAT_EN_NOT_OPEN => 16,
-      GNAT_EN_ALREADY_OPEN => 17,
-      GNAT_EN_USE_ERROR => 18,
-      GNAT_EN_UNSUPPORTED => 19,
-      GNAT_EN_FAC_MODE_MISMAT => 20,
-      GNAT_EN_ORG_MISMATCH => 21,
-      GNAT_EN_RFM_MISMATCH => 22,
-      GNAT_EN_RAT_MISMATCH => 23,
-      GNAT_EN_MRS_MISMATCH => 24,
-      GNAT_EN_MRN_MISMATCH => 25,
-      GNAT_EN_KEY_MISMATCH => 26,
-      GNAT_EN_MAXLINEXC => 27,
-      GNAT_EN_LINEXCMRS => 28);
- 
-    procedure Raise_IO_Exception (EN : Exception_Number);
-    pragma Export_Procedure (Raise_IO_Exception, "GNAT$RAISE_IO_EXCEPTION",
-       Mechanism => Value);
- 
-    package IO_Locking is
-       type Access_Mutex is private;
-       function Create_Mutex return Access_Mutex;
-       procedure Acquire (M : Access_Mutex);
-       procedure Release (M : Access_Mutex);
- 
-    private
-       type Access_Mutex is access System.Task_Primitives.RTS_Lock;
-       pragma Export_Function (Create_Mutex, "GNAT$CREATE_MUTEX",
-           Mechanism => Value);
-       pragma Export_Procedure (Acquire, "GNAT$ACQUIRE_MUTEX",
-           Mechanism => Value);
-       pragma Export_Procedure (Release, "GNAT$RELEASE_MUTEX",
-           Mechanism => Value);
-    end IO_Locking;
- 
- end DEC.IO;
--- 0 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/dec.ads gcc-4.1.0/gcc/ada/dec.ads
*** gcc-4.0.2/gcc/ada/dec.ads	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/dec.ads	Mon Sep  5 07:51:25 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                                  D E C                                   --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1996-2001  Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                                  D E C                                   --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005  Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,40 ****
  --  the bind. It is also a convenient parent for all DEC IO child packages.
  
  package DEC is
! pragma Pure (DEC);
  end DEC;
--- 36,40 ----
  --  the bind. It is also a convenient parent for all DEC IO child packages.
  
  package DEC is
!    pragma Pure;
  end DEC;
diff -Nrcpad gcc-4.0.2/gcc/ada/decl.c gcc-4.1.0/gcc/ada/decl.c
*** gcc-4.0.2/gcc/ada/decl.c	Thu Mar 17 19:53:06 2005
--- gcc-4.1.0/gcc/ada/decl.c	Tue Nov 15 13:53:22 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
***************
*** 35,40 ****
--- 35,41 ----
  #include "ggc.h"
  #include "obstack.h"
  #include "target.h"
+ #include "expr.h"
  
  #include "ada.h"
  #include "types.h"
***************
*** 52,72 ****
  #include "ada-tree.h"
  #include "gigi.h"
  
! /* Provide default values for the macros controlling stack checking.
!    This is copied from GCC's expr.h.  */
  
! #ifndef STACK_CHECK_BUILTIN
! #define STACK_CHECK_BUILTIN 0
! #endif
! #ifndef STACK_CHECK_PROBE_INTERVAL
! #define STACK_CHECK_PROBE_INTERVAL 4096
! #endif
! #ifndef STACK_CHECK_MAX_FRAME_SIZE
! #define STACK_CHECK_MAX_FRAME_SIZE \
!   (STACK_CHECK_PROBE_INTERVAL - UNITS_PER_WORD)
! #endif
! #ifndef STACK_CHECK_MAX_VAR_SIZE
! #define STACK_CHECK_MAX_VAR_SIZE (STACK_CHECK_MAX_FRAME_SIZE / 100)
  #endif
  
  /* These two variables are used to defer recursively expanding incomplete
--- 53,66 ----
  #include "ada-tree.h"
  #include "gigi.h"
  
! /* Convention_Stdcall should be processed in a specific way on Windows targets
!    only.  The macro below is a helper to avoid having to check for a Windows
!    specific attribute throughout this unit.  */
  
! #if TARGET_DLLIMPORT_DECL_ATTRIBUTES
! #define Has_Stdcall_Convention(E) (Convention (E) == Convention_Stdcall)
! #else
! #define Has_Stdcall_Convention(E) (0)
  #endif
  
  /* These two variables are used to defer recursively expanding incomplete
*************** static struct incomplete
*** 80,85 ****
--- 74,85 ----
    Entity_Id full_type;
  } *defer_incomplete_list = 0;
  
+ /* These two variables are used to defer emission of debug information for
+    nested incomplete record types  */
+ 
+ static int defer_debug_level = 0;
+ static tree defer_debug_incomplete_list;
+ 
  static void copy_alias_set (tree, tree);
  static tree substitution_list (Entity_Id, Entity_Id, tree, bool);
  static bool allocatable_size_p (tree, bool);
*************** static tree elaborate_expression_1 (Node
*** 91,97 ****
  static tree make_packable_type (tree);
  static tree gnat_to_gnu_field (Entity_Id, tree, int, bool);
  static void components_to_record (tree, Node_Id, tree, int, bool, tree *,
!                                   bool, bool);
  static int compare_field_bitpos (const PTR, const PTR);
  static Uint annotate_value (tree);
  static void annotate_rep (Entity_Id, tree);
--- 91,97 ----
  static tree make_packable_type (tree);
  static tree gnat_to_gnu_field (Entity_Id, tree, int, bool);
  static void components_to_record (tree, Node_Id, tree, int, bool, tree *,
!                                   bool, bool, bool);
  static int compare_field_bitpos (const PTR, const PTR);
  static Uint annotate_value (tree);
  static void annotate_rep (Entity_Id, tree);
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 151,156 ****
--- 151,158 ----
    bool saved = false;
    /* Nonzero if we incremented defer_incomplete_level.  */
    bool this_deferred = false;
+   /* Nonzero if we incremented defer_debug_level.  */
+   bool debug_deferred = false;
    /* Nonzero if we incremented force_global.  */
    bool this_global = false;
    /* Nonzero if we should check to see if elaborated during processing.  */
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 489,495 ****
--- 491,499 ----
  		 || Present (Renamed_Object (gnat_entity))));
  	bool inner_const_flag = const_flag;
  	bool static_p = Is_Statically_Allocated (gnat_entity);
+ 	bool mutable_p = false;
  	tree gnu_ext_name = NULL_TREE;
+ 	tree renamed_obj = NULL_TREE;
  
  	if (Present (Renamed_Object (gnat_entity)) && !definition)
  	  {
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 521,526 ****
--- 525,532 ----
  	    || TREE_CODE (gnu_type) == VOID_TYPE)
  	  {
  	    gcc_assert (type_annotate_only);
+ 	    if (this_global)
+ 	      force_global--;
  	    return error_mark_node;
  	  }
  
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 585,591 ****
  			     (Etype
  			      (Expression (Declaration_Node (gnat_entity)))));
  	    else
! 	      gnu_size = max_size (TYPE_SIZE (gnu_type), true);
  	  }
  
  	/* If the size is zero bytes, make it one byte since some linkers have
--- 591,600 ----
  			     (Etype
  			      (Expression (Declaration_Node (gnat_entity)))));
  	    else
! 	      {
! 		gnu_size = max_size (TYPE_SIZE (gnu_type), true);
! 		mutable_p = true;
! 	      }
  	  }
  
  	/* If the size is zero bytes, make it one byte since some linkers have
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 657,667 ****
  	{
  	  tree gnu_fat
  	    = TREE_TYPE (gnat_to_gnu_type (Base_Type (Etype (gnat_entity))));
- 	  tree gnu_temp_type
- 	    = TREE_TYPE (TREE_TYPE (TREE_CHAIN (TYPE_FIELDS (gnu_fat))));
  
  	  gnu_type
! 	    = build_unc_object_type (gnu_temp_type, gnu_type,
  				     concat_id_with_name (gnu_entity_id,
  							  "UNC"));
  	}
--- 666,674 ----
  	{
  	  tree gnu_fat
  	    = TREE_TYPE (gnat_to_gnu_type (Base_Type (Etype (gnat_entity))));
  
  	  gnu_type
! 	    = build_unc_object_type_from_ptr (gnu_fat, gnu_type,
  				     concat_id_with_name (gnu_entity_id,
  							  "UNC"));
  	}
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 716,733 ****
  		     (TYPE_SIZE (TREE_TYPE (TYPE_FIELDS (gnu_type)))))))
  	  gnu_expr = convert (gnu_type, gnu_expr);
  
! 	/* See if this is a renaming.  If this is a constant renaming, treat
! 	   it as a normal variable whose initial value is what is being
! 	   renamed.  We cannot do this if the type is unconstrained or
! 	   class-wide.
  
! 	   Otherwise, if what we are renaming is a reference, we can simply
! 	   return a stabilized version of that reference, after forcing any
! 	   SAVE_EXPRs to be evaluated.  But, if this is at global level, we
! 	   can only do this if we know no SAVE_EXPRs will be made.
  
! 	   Otherwise, make this into a constant pointer to the object we are
! 	   to rename.  */
  
  	if (Present (Renamed_Object (gnat_entity)))
  	  {
--- 723,740 ----
  		     (TYPE_SIZE (TREE_TYPE (TYPE_FIELDS (gnu_type)))))))
  	  gnu_expr = convert (gnu_type, gnu_expr);
  
! 	/* See if this is a renaming, and handle appropriately depending on
! 	   what is renamed and in which context.  There are three major
! 	   cases:
  
! 	   1/ This is a constant renaming and we can just make an object
! 	      with what is renamed as its initial value,
  
! 	   2/ We can reuse a stabilized version of what is renamed in place
!               of the renaming,
! 
! 	   3/ If neither 1 or 2 applies, we make the renaming entity a constant
!               pointer to what is being renamed.  */
  
  	if (Present (Renamed_Object (gnat_entity)))
  	  {
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 743,748 ****
--- 750,758 ----
  		gnu_type = TREE_TYPE (gnu_expr);
  	      }
  
+ 	    /* Case 1: If this is a constant renaming, treat it as a normal
+ 	       object whose initial value is what is being renamed.  We cannot
+ 	       do this if the type is unconstrained or class-wide.  */
  	    if (const_flag
  		&& !TREE_SIDE_EFFECTS (gnu_expr)
  		&& TREE_CODE (gnu_type) != UNCONSTRAINED_ARRAY_TYPE
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 751,808 ****
                  && !Is_Array_Type (Etype (gnat_entity)))
  	      ;
  
! 	    /* If this is a declaration or reference that we can stabilize,
! 	       just use that declaration or reference as this entity unless
! 	       the latter has to be materialized.  */
! 	    else if ((DECL_P (gnu_expr) || REFERENCE_CLASS_P (gnu_expr))
! 		     && !Materialize_Entity (gnat_entity)
! 		     && (!global_bindings_p ()
! 			 || (staticp (gnu_expr)
! 			     && !TREE_SIDE_EFFECTS (gnu_expr))))
  	      {
! 		gnu_decl = gnat_stabilize_reference (gnu_expr, true);
! 		save_gnu_tree (gnat_entity, gnu_decl, true);
! 		saved = true;
! 		break;
! 	      }
  
! 	    /* Otherwise, make this into a constant pointer to the object we
! 	       are to rename.
  
! 	       Stabilize it if we are not at the global level since in this
! 	       case the renaming evaluation may directly dereference the
! 	       initial value we make here instead of the pointer we will
! 	       assign it to.  We don't want variables in the expression to be
! 	       evaluated every time the renaming is used, since the value of
! 	       these variables may change in between.
  
! 	       If we are at the global level and the value is not constant,
! 	       create_var_decl generates a mere elaboration assignment and
! 	       does not attach the initial expression to the declaration.
! 	       There is no possible direct initial-value dereference then.  */
! 	    else
! 	      {
! 		inner_const_flag = TREE_READONLY (gnu_expr);
! 		const_flag = true;
! 		gnu_type = build_reference_type (gnu_type);
! 		gnu_expr = build_unary_op (ADDR_EXPR, gnu_type, gnu_expr);
  
! 		if (!global_bindings_p ())
! 		  {
! 		    bool has_side_effects = TREE_SIDE_EFFECTS (gnu_expr);
  
! 		    gnu_expr = gnat_stabilize_reference (gnu_expr, true);
  
! 		    /* If the original expression had side effects, put a
! 		       SAVE_EXPR around this whole thing.  */
! 		    if (has_side_effects)
! 		      gnu_expr = save_expr (gnu_expr);
  
! 		    add_stmt (gnu_expr);
! 		  }
  
! 		gnu_size = NULL_TREE;
! 		used_by_ref = true;
  	      }
  	  }
  
--- 761,860 ----
                  && !Is_Array_Type (Etype (gnat_entity)))
  	      ;
  
! 	    /* Otherwise, see if we can proceed with a stabilized version of
! 	       the renamed entity or if we need to make a pointer.  */
! 	    else
  	      {
! 		bool stabilized;
! 		tree maybe_stable_expr = NULL_TREE;
  
! 		/* Case 2: If the renaming entity need not be materialized and
! 		   the renamed expression is something we can stabilize, use
! 		   that for the renaming after forcing the evaluation of any
! 		   SAVE_EXPR.  At the global level, we can only do this if we
! 		   know no SAVE_EXPRs will be made.  */
! 		if (!Materialize_Entity (gnat_entity)
! 		    && (!global_bindings_p ()
! 			|| (staticp (gnu_expr)
! 			    && !TREE_SIDE_EFFECTS (gnu_expr))))
! 		  {
! 		    maybe_stable_expr
! 		      = maybe_stabilize_reference (gnu_expr, true, false,
! 						   &stabilized);
  
! 		    if (stabilized)
! 		      {
! 			gnu_decl = maybe_stable_expr;
! 			save_gnu_tree (gnat_entity, gnu_decl, true);
! 			saved = true;
! 			break;
! 		      }
  
! 		    /* The stabilization failed.  Keep maybe_stable_expr
! 		       untouched here to let the pointer case below know
! 		       about that failure.  */
! 		  }
  
! 		/* Case 3: Make this into a constant pointer to the object we
! 		   are to rename and attach the object to the pointer if it is
! 		   an lvalue that can be stabilized.
  
! 		   From the proper scope, attached objects will be referenced
! 		   directly instead of indirectly via the pointer to avoid
! 		   subtle aliasing problems with non addressable entities.
! 		   They have to be stable because we must not evaluate the
! 		   variables in the expression every time the renaming is used.
! 		   They also have to be lvalues because the context in which
! 		   they are reused sometimes requires so.  We call pointers
! 		   with an attached object "renaming" pointers.
  
! 		   In the rare cases where we cannot stabilize the renamed
! 		   object, we just make a "bare" pointer, and the renamed
! 		   entity is always accessed indirectly through it.  */
! 		{
! 		  bool has_side_effects = TREE_SIDE_EFFECTS (gnu_expr);
! 		  inner_const_flag = TREE_READONLY (gnu_expr);
! 		  const_flag = true;
! 		  gnu_type = build_reference_type (gnu_type);
  
! 		  /* If a previous attempt at unrestricted
! 		     stabilization failed, there is no point trying
! 		     again and we can reuse the result without
! 		     attaching it to the pointer.  */
! 		  if (maybe_stable_expr)
! 		    ;
  
! 		  /* Otherwise, try to stabilize now, restricting to
! 		     lvalues only, and attach the expression to the pointer
! 		     if the stabilization succeeds.  */
! 		  else
! 		    {
! 		      maybe_stable_expr
! 			= maybe_stabilize_reference (gnu_expr, true, true,
! 						     &stabilized);
! 
! 		      if (stabilized)
! 			renamed_obj = maybe_stable_expr;
! 		      /* Attaching is actually performed downstream, as soon
! 			 as we have a DECL for the pointer we make.  */
! 		    }
! 
! 		  gnu_expr
! 		    = build_unary_op (ADDR_EXPR, gnu_type, maybe_stable_expr);
! 
! 		  if (!global_bindings_p ())
! 		    {
! 		      /* If the original expression had side effects, put a
! 			 SAVE_EXPR around this whole thing.  */
! 		      if (has_side_effects)
! 			gnu_expr = save_expr (gnu_expr);
! 
! 		      add_stmt (gnu_expr);
! 		    }
! 
! 		  gnu_size = NULL_TREE;
! 		  used_by_ref = true;
! 		}
  	      }
  	  }
  
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 839,845 ****
  	  }
  
  	/* If this is a pointer and it does not have an initializing
! 	   expression, initialize it to NULL, unless the obect is
             imported.  */
  	if (definition
  	    && (POINTER_TYPE_P (gnu_type) || TYPE_FAT_POINTER_P (gnu_type))
--- 891,897 ----
  	  }
  
  	/* If this is a pointer and it does not have an initializing
! 	   expression, initialize it to NULL, unless the object is
             imported.  */
  	if (definition
  	    && (POINTER_TYPE_P (gnu_type) || TYPE_FAT_POINTER_P (gnu_type))
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 890,899 ****
  	   imported.  */
  	if ((!definition && Present (Address_Clause (gnat_entity)))
  	    || (Is_Imported (gnat_entity)
! 		&& Convention (gnat_entity) == Convention_Stdcall))
  	  {
  	    gnu_type = build_reference_type (gnu_type);
  	    gnu_size = NULL_TREE;
  	    used_by_ref = true;
  	  }
  
--- 942,956 ----
  	   imported.  */
  	if ((!definition && Present (Address_Clause (gnat_entity)))
  	    || (Is_Imported (gnat_entity)
! 		&& Has_Stdcall_Convention (gnat_entity)))
  	  {
  	    gnu_type = build_reference_type (gnu_type);
  	    gnu_size = NULL_TREE;
+ 
+ 	    gnu_expr = NULL_TREE;
+ 	    /* No point in taking the address of an initializing expression
+ 	       that isn't going to be used.  */
+ 
  	    used_by_ref = true;
  	  }
  
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 928,934 ****
  	       If we have a template initializer only (that we made above),
  	       pretend there is none and rely on what build_allocator creates
  	       again anyway.  Otherwise (if we have a full initializer), get
! 	       the data part and feed that to build_allocator.  */
  
  	    if (definition)
  	      {
--- 985,995 ----
  	       If we have a template initializer only (that we made above),
  	       pretend there is none and rely on what build_allocator creates
  	       again anyway.  Otherwise (if we have a full initializer), get
! 	       the data part and feed that to build_allocator.
! 
! 	       If we are elaborating a mutable object, tell build_allocator to
! 	       ignore a possibly simpler size from the initializer, if any, as
! 	       we must allocate the maximum possible size in this case.  */
  
  	    if (definition)
  	      {
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 940,955 ****
  		    gnu_alloc_type
  		      = TREE_TYPE (TREE_CHAIN (TYPE_FIELDS (gnu_alloc_type)));
  
!                    if (TREE_CODE (gnu_expr) == CONSTRUCTOR
!                        &&
!                        TREE_CHAIN (CONSTRUCTOR_ELTS (gnu_expr)) == NULL_TREE)
!                      gnu_expr = 0;
!                    else
!                      gnu_expr
!                        = build_component_ref
!                          (gnu_expr, NULL_TREE,
!                           TREE_CHAIN (TYPE_FIELDS (TREE_TYPE (gnu_expr))),
! 			  false);
  		  }
  
  		if (TREE_CODE (TYPE_SIZE_UNIT (gnu_alloc_type)) == INTEGER_CST
--- 1001,1016 ----
  		    gnu_alloc_type
  		      = TREE_TYPE (TREE_CHAIN (TYPE_FIELDS (gnu_alloc_type)));
  
! 		    if (TREE_CODE (gnu_expr) == CONSTRUCTOR
! 			&& VEC_length (constructor_elt,
! 				       CONSTRUCTOR_ELTS (gnu_expr)) == 1)
! 		      gnu_expr = 0;
! 		    else
! 		      gnu_expr
! 			= build_component_ref
! 			  (gnu_expr, NULL_TREE,
! 			  TREE_CHAIN (TYPE_FIELDS (TREE_TYPE (gnu_expr))),
! 			      false);
  		  }
  
  		if (TREE_CODE (TYPE_SIZE_UNIT (gnu_alloc_type)) == INTEGER_CST
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 958,965 ****
  		  post_error ("Storage_Error will be raised at run-time?",
  			      gnat_entity);
  
! 		gnu_expr = build_allocator (gnu_alloc_type, gnu_expr,
! 					    gnu_type, 0, 0, gnat_entity);
  	      }
  	    else
  	      {
--- 1019,1026 ----
  		  post_error ("Storage_Error will be raised at run-time?",
  			      gnat_entity);
  
! 		gnu_expr = build_allocator (gnu_alloc_type, gnu_expr, gnu_type,
! 					    0, 0, gnat_entity, mutable_p);
  	      }
  	    else
  	      {
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 1039,1045 ****
  	  gnu_ext_name = create_concat_name (gnat_entity, 0);
  
  	/* If this is constant initialized to a static constant and the
! 	   object has an aggregrate type, force it to be statically
  	   allocated. */
  	if (const_flag && gnu_expr && TREE_CONSTANT (gnu_expr)
  	    && host_integerp (TYPE_SIZE_UNIT (gnu_type), 1)
--- 1100,1106 ----
  	  gnu_ext_name = create_concat_name (gnat_entity, 0);
  
  	/* If this is constant initialized to a static constant and the
! 	   object has an aggregate type, force it to be statically
  	   allocated. */
  	if (const_flag && gnu_expr && TREE_CONSTANT (gnu_expr)
  	    && host_integerp (TYPE_SIZE_UNIT (gnu_type), 1)
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 1055,1060 ****
--- 1116,1126 ----
  				    static_p, attr_list, gnat_entity);
  	DECL_BY_REF_P (gnu_decl) = used_by_ref;
  	DECL_POINTS_TO_READONLY_P (gnu_decl) = used_by_ref && inner_const_flag;
+ 	if (TREE_CODE (gnu_decl) == VAR_DECL && renamed_obj)
+ 	  {
+ 	    SET_DECL_RENAMED_OBJECT (gnu_decl, renamed_obj);
+ 	    DECL_RENAMING_GLOBAL_P (gnu_decl) = global_bindings_p ();
+ 	  }
  
  	/* If we have an address clause and we've made this indirect, it's
  	   not enough to merely mark the type as volatile since volatile
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 1095,1105 ****
  	    SET_DECL_CONST_CORRESPONDING_VAR (gnu_decl, gnu_corr_var);
  	  }
  
! 	/* If this is declared in a block that contains an block with an
  	   exception handler, we must force this variable in memory to
  	   suppress an invalid optimization.  */
  	if (Has_Nested_Block_With_Handler (Scope (gnat_entity))
! 	    && Exception_Mechanism != GCC_ZCX)
  	  TREE_ADDRESSABLE (gnu_decl) = 1;
  
  	/* Back-annotate the Alignment of the object if not already in the
--- 1161,1171 ----
  	    SET_DECL_CONST_CORRESPONDING_VAR (gnu_decl, gnu_corr_var);
  	  }
  
! 	/* If this is declared in a block that contains a block with an
  	   exception handler, we must force this variable in memory to
  	   suppress an invalid optimization.  */
  	if (Has_Nested_Block_With_Handler (Scope (gnat_entity))
! 	    && Exception_Mechanism != Back_End_Exceptions)
  	  TREE_ADDRESSABLE (gnu_decl) = 1;
  
  	/* Back-annotate the Alignment of the object if not already in the
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 1482,1500 ****
  	TYPE_READONLY (gnu_template_type) = 1;
  
  	/* Make a node for the array.  If we are not defining the array
! 	   suppress expanding incomplete types and save the node as the type
! 	   for GNAT_ENTITY.  */
  	gnu_type = make_node (UNCONSTRAINED_ARRAY_TYPE);
  	if (!definition)
! 	  {
! 	    defer_incomplete_level++;
! 	    this_deferred = this_made_decl = true;
! 	    gnu_decl = create_type_decl (gnu_entity_id, gnu_type, attr_list,
! 					 !Comes_From_Source (gnat_entity),
! 					 debug_info_p, gnat_entity);
! 	    save_gnu_tree (gnat_entity, gnu_decl, false);
! 	    saved = true;
! 	  }
  
  	/* Build the fat pointer type.  Use a "void *" object instead of
  	   a pointer to the array type since we don't have the array type
--- 1548,1558 ----
  	TYPE_READONLY (gnu_template_type) = 1;
  
  	/* Make a node for the array.  If we are not defining the array
! 	   suppress expanding incomplete types.  */
  	gnu_type = make_node (UNCONSTRAINED_ARRAY_TYPE);
+ 
  	if (!definition)
! 	  defer_incomplete_level++, this_deferred = true;
  
  	/* Build the fat pointer type.  Use a "void *" object instead of
  	   a pointer to the array type since we don't have the array type
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 2297,2305 ****
  	  }
  
  	/* Make a node for the record.  If we are not defining the record,
! 	   suppress expanding incomplete types and save the node as the type
! 	   for GNAT_ENTITY.  We use the same RECORD_TYPE as for a dummy type
! 	   and reset TYPE_DUMMY_P to show it's no longer a dummy.
  
  	   It is very tempting to delay resetting this bit until we are done
  	   with completing the type, e.g. to let possible intermediate
--- 2355,2363 ----
  	  }
  
  	/* Make a node for the record.  If we are not defining the record,
! 	   suppress expanding incomplete types.  We use the same RECORD_TYPE
! 	   as for a dummy type and reset TYPE_DUMMY_P to show it's no longer
! 	   a dummy.
  
  	   It is very tempting to delay resetting this bit until we are done
  	   with completing the type, e.g. to let possible intermediate
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 2322,2336 ****
  	TYPE_PACKED (gnu_type) = packed || has_rep;
  
  	if (!definition)
! 	  {
! 	    defer_incomplete_level++;
! 	    this_deferred = true;
! 	    gnu_decl = create_type_decl (gnu_entity_id, gnu_type, attr_list,
! 					 !Comes_From_Source (gnat_entity),
! 					 debug_info_p, gnat_entity);
! 	    save_gnu_tree (gnat_entity, gnu_decl, false);
! 	    this_made_decl = saved = true;
! 	  }
  
  	/* If both a size and rep clause was specified, put the size in
  	   the record type now so that it can get the proper mode.  */
--- 2380,2386 ----
  	TYPE_PACKED (gnu_type) = packed || has_rep;
  
  	if (!definition)
! 	  defer_incomplete_level++, this_deferred = true;
  
  	/* If both a size and rep clause was specified, put the size in
  	   the record type now so that it can get the proper mode.  */
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 2348,2354 ****
  	else if (Is_Atomic (gnat_entity))
  	  TYPE_ALIGN (gnu_type)
  	    = (esize >= BITS_PER_WORD ? BITS_PER_WORD
! 	       : 1 << ((floor_log2 (esize) - 1) + 1));
  
  	/* If we have a Parent_Subtype, make a field for the parent.  If
  	   this record has rep clauses, force the position to zero.  */
--- 2398,2404 ----
  	else if (Is_Atomic (gnat_entity))
  	  TYPE_ALIGN (gnu_type)
  	    = (esize >= BITS_PER_WORD ? BITS_PER_WORD
! 	       : 1 << (floor_log2 (esize - 1) + 1));
  
  	/* If we have a Parent_Subtype, make a field for the parent.  If
  	   this record has rep clauses, force the position to zero.  */
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 2439,2445 ****
  	/* Add the listed fields into the record and finish up.  */
  	components_to_record (gnu_type, Component_List (record_definition),
  			      gnu_field_list, packed, definition, NULL,
! 			      false, all_rep);
  
  	/* We used to remove the associations of the discriminants and
  	   _Parent for validity checking, but we may need them if there's
--- 2489,2505 ----
  	/* Add the listed fields into the record and finish up.  */
  	components_to_record (gnu_type, Component_List (record_definition),
  			      gnu_field_list, packed, definition, NULL,
! 			      false, all_rep, this_deferred);
! 
!         if (this_deferred)
! 	  {
! 	    debug_deferred = true;
! 	    defer_debug_level++;
! 
! 	    defer_debug_incomplete_list
! 	      = tree_cons (NULL_TREE, gnu_type,
! 			   defer_debug_incomplete_list);
! 	  }
  
  	/* We used to remove the associations of the discriminants and
  	   _Parent for validity checking, but we may need them if there's
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 2869,2875 ****
  	/* If we are pointing to an incomplete type whose completion is an
  	   unconstrained array, make a fat pointer type instead of a pointer
  	   to VOID.  The two types in our fields will be pointers to VOID and
! 	   will be replaced in update_pointer_to.  Similiarly, if the type
  	   itself is a dummy type or an unconstrained array.  Also make
  	   a dummy TYPE_OBJECT_RECORD_TYPE in case we have any thin
  	   pointers to it.  */
--- 2929,2935 ----
  	/* If we are pointing to an incomplete type whose completion is an
  	   unconstrained array, make a fat pointer type instead of a pointer
  	   to VOID.  The two types in our fields will be pointers to VOID and
! 	   will be replaced in update_pointer_to.  Similarly, if the type
  	   itself is a dummy type or an unconstrained array.  Also make
  	   a dummy TYPE_OBJECT_RECORD_TYPE in case we have any thin
  	   pointers to it.  */
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3406,3418 ****
  	      post_error ("unsupported mechanism for&", gnat_param);
  
  	    /* If this is either a foreign function or if the
! 	       underlying type won't be passed by refererence, strip off
  	       possible padding type.  */
  	    if (TREE_CODE (gnu_param_type) == RECORD_TYPE
  		&& TYPE_IS_PADDING_P (gnu_param_type)
  		&& (req_by_ref || Has_Foreign_Convention (gnat_entity)
! 		    || !must_pass_by_ref (TREE_TYPE (TYPE_FIELDS
! 						     (gnu_param_type)))))
  	      gnu_param_type = TREE_TYPE (TYPE_FIELDS (gnu_param_type));
  
  	    /* If this is an IN parameter it is read-only, so make a variant
--- 3466,3482 ----
  	      post_error ("unsupported mechanism for&", gnat_param);
  
  	    /* If this is either a foreign function or if the
! 	       underlying type won't be passed by reference, strip off
  	       possible padding type.  */
  	    if (TREE_CODE (gnu_param_type) == RECORD_TYPE
  		&& TYPE_IS_PADDING_P (gnu_param_type)
  		&& (req_by_ref || Has_Foreign_Convention (gnat_entity)
! 		    || (!must_pass_by_ref (TREE_TYPE (TYPE_FIELDS
! 					              (gnu_param_type)))
! 			&& (req_by_copy
! 			    || !default_pass_by_ref (TREE_TYPE
! 			    			      (TYPE_FIELDS
! 						       (gnu_param_type)))))))
  	      gnu_param_type = TREE_TYPE (TYPE_FIELDS (gnu_param_type));
  
  	    /* If this is an IN parameter it is read-only, so make a variant
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3590,3597 ****
  	   stubbed since structures are incomplete for the back-end.  */
  	if (gnu_field_list
  	    && Convention (gnat_entity) != Convention_Stubbed)
! 	  finish_record_type (gnu_return_type, nreverse (gnu_field_list),
! 			      false, false);
  
  	/* If we have a CICO list but it has only one entry, we convert
  	   this function into a function that simply returns that one
--- 3654,3677 ----
  	   stubbed since structures are incomplete for the back-end.  */
  	if (gnu_field_list
  	    && Convention (gnat_entity) != Convention_Stubbed)
!            {
!  	    /* If all types are not complete, defer emission of debug
!  	       information for this record types. Otherwise, we risk emitting
!  	       debug information for a dummy type contained in the fields
! 	       for that record.  */
!  	    finish_record_type (gnu_return_type, nreverse (gnu_field_list),
!  			        false, defer_incomplete_level);
! 
!  	    if (defer_incomplete_level)
!  	      {
!  	        debug_deferred = true;
!  	        defer_debug_level++;
! 
! 	        defer_debug_incomplete_list
! 		  = tree_cons (NULL_TREE, gnu_return_type,
! 			       defer_debug_incomplete_list);
!  	      }
!  	  }
  
  	/* If we have a CICO list but it has only one entry, we convert
  	   this function into a function that simply returns that one
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3599,3606 ****
  	if (list_length (gnu_return_list) == 1)
  	  gnu_return_type = TREE_TYPE (TREE_PURPOSE (gnu_return_list));
  
! #ifdef _WIN32
! 	if (Convention (gnat_entity) == Convention_Stdcall)
  	  {
  	    struct attrib *attr
  	      = (struct attrib *) xmalloc (sizeof (struct attrib));
--- 3679,3685 ----
  	if (list_length (gnu_return_list) == 1)
  	  gnu_return_type = TREE_TYPE (TREE_PURPOSE (gnu_return_list));
  
! 	if (Has_Stdcall_Convention (gnat_entity))
  	  {
  	    struct attrib *attr
  	      = (struct attrib *) xmalloc (sizeof (struct attrib));
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3612,3618 ****
  	    attr->error_point = gnat_entity;
  	    attr_list = attr;
  	  }
- #endif
  
  	/* Both lists ware built in reverse.  */
  	gnu_param_list = nreverse (gnu_param_list);
--- 3691,3696 ----
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3696,3702 ****
  	else if (kind == E_Subprogram_Type)
  	  gnu_decl = create_type_decl (gnu_entity_id, gnu_type, attr_list,
  				       !Comes_From_Source (gnat_entity),
! 				       debug_info_p, gnat_entity);
  	else
  	  {
  	    gnu_decl = create_subprog_decl (gnu_entity_id, gnu_ext_name,
--- 3774,3781 ----
  	else if (kind == E_Subprogram_Type)
  	  gnu_decl = create_type_decl (gnu_entity_id, gnu_type, attr_list,
  				       !Comes_From_Source (gnat_entity),
! 				       debug_info_p && !defer_incomplete_level,
! 				       gnat_entity);
  	else
  	  {
  	    gnu_decl = create_subprog_decl (gnu_entity_id, gnu_ext_name,
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 3722,3735 ****
  	 compiling, then just get the type from its Etype.  */
        if (No (Full_View (gnat_entity)))
  	{
! 	  /* If this is an incomplete type with no full view, it must
! 	     be a Taft Amendement type, so just return a dummy type.  */
  	  if (kind == E_Incomplete_Type)
! 	    gnu_type = make_dummy_type (gnat_entity);
  
!           else if (Present (Underlying_Full_View (gnat_entity)))
!              gnu_decl = gnat_to_gnu_entity (Underlying_Full_View (gnat_entity),
! 					    NULL_TREE, 0);
  	  else
  	    {
  	      gnu_decl = gnat_to_gnu_entity (Etype (gnat_entity),
--- 3801,3823 ----
  	 compiling, then just get the type from its Etype.  */
        if (No (Full_View (gnat_entity)))
  	{
! 	  /* If this is an incomplete type with no full view, it must be
! 	     either a limited view brought in by a limited_with clause, in
! 	     which case we use the non-limited view, or a Taft Amendement
! 	     type, in which case we just return a dummy type.  */
  	  if (kind == E_Incomplete_Type)
! 	    {
! 	      if (From_With_Type (gnat_entity)
! 		  && Present (Non_Limited_View (gnat_entity)))
! 		gnu_decl = gnat_to_gnu_entity (Non_Limited_View (gnat_entity),
! 					       NULL_TREE, 0);
! 	      else
! 		gnu_type = make_dummy_type (gnat_entity);
! 	    }
  
! 	  else if (Present (Underlying_Full_View (gnat_entity)))
! 	    gnu_decl = gnat_to_gnu_entity (Underlying_Full_View (gnat_entity),
! 					   NULL_TREE, 0);
  	  else
  	    {
  	      gnu_decl = gnat_to_gnu_entity (Etype (gnat_entity),
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 4043,4049 ****
      DECL_ARTIFICIAL (gnu_decl) = 1;
  
    if (!debug_info_p && DECL_P (gnu_decl)
!       && TREE_CODE (gnu_decl) != FUNCTION_DECL)
      DECL_IGNORED_P (gnu_decl) = 1;
  
    /* If we haven't already, associate the ..._DECL node that we just made with
--- 4131,4138 ----
      DECL_ARTIFICIAL (gnu_decl) = 1;
  
    if (!debug_info_p && DECL_P (gnu_decl)
!       && TREE_CODE (gnu_decl) != FUNCTION_DECL
!       && No (Renamed_Object (gnat_entity)))
      DECL_IGNORED_P (gnu_decl) = 1;
  
    /* If we haven't already, associate the ..._DECL node that we just made with
*************** gnat_to_gnu_entity (Entity_Id gnat_entit
*** 4122,4127 ****
--- 4211,4241 ----
  	  }
      }
  
+    /* If there are no incomplete types and we have deferred emission
+       of debug information, check whether we have finished defining
+       all nested records.
+       If so, handle the list now.  */
+ 
+    if (debug_deferred)
+      defer_debug_level--;
+ 
+    if (defer_debug_incomplete_list
+        && !defer_incomplete_level
+        && !defer_debug_level)
+     {
+       tree c, n;
+ 
+       defer_debug_incomplete_list = nreverse (defer_debug_incomplete_list);
+ 
+       for (c = defer_debug_incomplete_list; c; c = n)
+ 	{
+ 	  n = TREE_CHAIN (c);
+ 	  write_record_type_debug_info (TREE_VALUE (c));
+ 	}
+ 
+       defer_debug_incomplete_list = 0;
+     }
+ 
    if (this_global)
      force_global--;
  
*************** elaborate_entity (Entity_Id gnat_entity)
*** 4166,4172 ****
  	Node_Id gnat_lb = Type_Low_Bound (gnat_entity);
  	Node_Id gnat_hb = Type_High_Bound (gnat_entity);
  
! 	/* ??? Tests for avoiding static constaint error expression
  	   is needed until the front stops generating bogus conversions
  	   on bounds of real types. */
  
--- 4280,4286 ----
  	Node_Id gnat_lb = Type_Low_Bound (gnat_entity);
  	Node_Id gnat_hb = Type_High_Bound (gnat_entity);
  
! 	/* ??? Tests for avoiding static constraint error expression
  	   is needed until the front stops generating bogus conversions
  	   on bounds of real types. */
  
*************** copy_alias_set (tree gnu_new_type, tree 
*** 4291,4297 ****
  /* Return a TREE_LIST describing the substitutions needed to reflect
     discriminant substitutions from GNAT_SUBTYPE to GNAT_TYPE and add
     them to GNU_LIST.  If GNAT_TYPE is not specified, use the base type
!    of GNAT_SUBTYPE. The substitions can be in any order.  TREE_PURPOSE
     gives the tree for the discriminant and TREE_VALUES is the replacement
     value.  They are in the form of operands to substitute_in_expr.
     DEFINITION is as in gnat_to_gnu_entity.  */
--- 4405,4411 ----
  /* Return a TREE_LIST describing the substitutions needed to reflect
     discriminant substitutions from GNAT_SUBTYPE to GNAT_TYPE and add
     them to GNU_LIST.  If GNAT_TYPE is not specified, use the base type
!    of GNAT_SUBTYPE. The substitutions can be in any order.  TREE_PURPOSE
     gives the tree for the discriminant and TREE_VALUES is the replacement
     value.  They are in the form of operands to substitute_in_expr.
     DEFINITION is as in gnat_to_gnu_entity.  */
*************** prepend_attributes (Entity_Id gnat_entit
*** 4466,4471 ****
--- 4580,4593 ----
  	    etype = ATTR_LINK_SECTION;
  	    break;
  
+ 	  case Pragma_Linker_Constructor:
+ 	    etype = ATTR_LINK_CONSTRUCTOR;
+ 	    break;
+ 
+ 	  case Pragma_Linker_Destructor:
+ 	    etype = ATTR_LINK_DESTRUCTOR;
+ 	    break;
+ 
  	  case Pragma_Weak_External:
  	    etype = ATTR_WEAK_EXTERNAL;
  	    break;
*************** elaborate_expression (Node_Id gnat_expr,
*** 4560,4566 ****
  		   && Ekind (Entity (gnat_expr)) == E_Discriminant)))
      return 0;
  
!   /* Otherwise, convert this tree to its GCC equivalant.  */
    gnu_expr
      = elaborate_expression_1 (gnat_expr, gnat_entity, gnat_to_gnu (gnat_expr),
  			      gnu_name, definition, need_debug);
--- 4682,4688 ----
  		   && Ekind (Entity (gnat_expr)) == E_Discriminant)))
      return 0;
  
!   /* Otherwise, convert this tree to its GCC equivalent.  */
    gnu_expr
      = elaborate_expression_1 (gnat_expr, gnat_entity, gnat_to_gnu (gnat_expr),
  			      gnu_name, definition, need_debug);
*************** elaborate_expression_1 (Node_Id gnat_exp
*** 4626,4634 ****
      gnu_decl
        = create_var_decl (create_concat_name (gnat_entity,
  					     IDENTIFIER_POINTER (gnu_name)),
! 			 NULL_TREE, TREE_TYPE (gnu_expr), gnu_expr, true,
! 			 Is_Public (gnat_entity), !definition, false, NULL,
! 			 gnat_entity);
  
    /* We only need to use this variable if we are in global context since GCC
       can do the right thing in the local case.  */
--- 4748,4756 ----
      gnu_decl
        = create_var_decl (create_concat_name (gnat_entity,
  					     IDENTIFIER_POINTER (gnu_name)),
! 			 NULL_TREE, TREE_TYPE (gnu_expr), gnu_expr,
! 			 !need_debug, Is_Public (gnat_entity),
! 			 !definition, false, NULL, gnat_entity);
  
    /* We only need to use this variable if we are in global context since GCC
       can do the right thing in the local case.  */
*************** maybe_pad_type (tree type, tree size, un
*** 4908,4914 ****
  
        if (size && TREE_CODE (size) != INTEGER_CST && definition)
  	create_var_decl (concat_id_with_name (name, "XVZ"), NULL_TREE,
! 			 sizetype, TYPE_SIZE (record), false, false, false,
  			 false, NULL, gnat_entity);
      }
  
--- 5030,5036 ----
  
        if (size && TREE_CODE (size) != INTEGER_CST && definition)
  	create_var_decl (concat_id_with_name (name, "XVZ"), NULL_TREE,
! 			 bitsizetype, TYPE_SIZE (record), false, false, false,
  			 false, NULL, gnat_entity);
      }
  
*************** gnat_to_gnu_field (Entity_Id gnat_field,
*** 5054,5060 ****
  {
    tree gnu_field_id = get_entity_name (gnat_field);
    tree gnu_field_type = gnat_to_gnu_type (Etype (gnat_field));
-   tree gnu_orig_field_type = gnu_field_type;
    tree gnu_pos = 0;
    tree gnu_size = 0;
    tree gnu_field;
--- 5176,5181 ----
*************** gnat_to_gnu_field (Entity_Id gnat_field,
*** 5080,5115 ****
      gnu_size = validate_size (Esize (gnat_field), gnu_field_type,
  			      gnat_field, FIELD_DECL, false, true);
  
-   /* If the field's type is justified modular and the size of the packed
-      array it wraps is the same as that of the field, we can make the field
-      the type of the inner object.  Note that we may need to do so if the
-      record is packed or the field has a component clause, but these cases
-      are handled later.  */
-   if (TREE_CODE (gnu_field_type) == RECORD_TYPE
-       && TYPE_JUSTIFIED_MODULAR_P (gnu_field_type)
-       && tree_int_cst_equal (TYPE_SIZE (gnu_field_type),
- 			     TYPE_ADA_SIZE (gnu_field_type)))
-     gnu_field_type = TREE_TYPE (TYPE_FIELDS (gnu_field_type));
- 
    /* If we are packing this record, have a specified size that's smaller than
!      that of the field type, or a position is specified, and the field type
!      is also a record that's BLKmode and with a small constant size, see if
!      we can get a better form of the type that allows more packing.  If we
!      can, show a size was specified for it if there wasn't one so we know to
!      make this a bitfield and avoid making things wider.  */
    if (TREE_CODE (gnu_field_type) == RECORD_TYPE
        && TYPE_MODE (gnu_field_type) == BLKmode
        && host_integerp (TYPE_SIZE (gnu_field_type), 1)
        && compare_tree_int (TYPE_SIZE (gnu_field_type), BIGGEST_ALIGNMENT) <= 0
        && (packed == 1
! 	  || (gnu_size && tree_int_cst_lt (gnu_size,
! 					   TYPE_SIZE (gnu_field_type)))
  	  || Present (Component_Clause (gnat_field))))
      {
!       gnu_field_type = make_packable_type (gnu_field_type);
  
!       if (gnu_field_type != gnu_orig_field_type && !gnu_size)
! 	gnu_size = rm_size (gnu_field_type);
      }
  
    /* If we are packing the record and the field is BLKmode, round the
--- 5201,5248 ----
      gnu_size = validate_size (Esize (gnat_field), gnu_field_type,
  			      gnat_field, FIELD_DECL, false, true);
  
    /* If we are packing this record, have a specified size that's smaller than
!      that of the field type, or a position is specified, and the field type is
!      also a record that's BLKmode and with a small constant size, see if we
!      can get a better form of the type that allows more packing.  If we can,
!      show a size was specified for it if there wasn't one so we know to make
!      this a bitfield and avoid making things wider.  */
    if (TREE_CODE (gnu_field_type) == RECORD_TYPE
        && TYPE_MODE (gnu_field_type) == BLKmode
        && host_integerp (TYPE_SIZE (gnu_field_type), 1)
        && compare_tree_int (TYPE_SIZE (gnu_field_type), BIGGEST_ALIGNMENT) <= 0
        && (packed == 1
! 	  || (gnu_size
! 	      && tree_int_cst_lt (gnu_size, TYPE_SIZE (gnu_field_type)))
  	  || Present (Component_Clause (gnat_field))))
      {
!       /* See what the alternate type and size would be.  */
!       tree gnu_packable_type = make_packable_type (gnu_field_type);
  
!       /* Compute whether we should avoid the substitution.  */
!       int reject =
!         /* There is no point substituting if there is no change.  */
!         (gnu_packable_type == gnu_field_type
!          ||
!          /* The size of an aliased field must be an exact multiple of the
!             type's alignment, which the substitution might increase.  Reject
!             substitutions that would so invalidate a component clause when the
!             specified position is byte aligned, as the change would have no
!             real benefit from the packing standpoint anyway.  */
!          (Is_Aliased (gnat_field)
!           && Present (Component_Clause (gnat_field))
!           && UI_To_Int (Component_Bit_Offset (gnat_field)) % BITS_PER_UNIT == 0
!           && tree_low_cst (gnu_size, 1) % TYPE_ALIGN (gnu_packable_type) != 0)
!          );
! 
!       /* Substitute unless told otherwise.  */
!       if (!reject)
!         {
!           gnu_field_type = gnu_packable_type;
! 
!           if (gnu_size == 0)
!             gnu_size = rm_size (gnu_field_type);
!         }
      }
  
    /* If we are packing the record and the field is BLKmode, round the
*************** gnat_to_gnu_field (Entity_Id gnat_field,
*** 5146,5159 ****
  	 consistent with the alignment.  */
        if (needs_strict_alignment)
  	{
! 	  tree gnu_min_size = round_up (rm_size (gnu_field_type),
! 					TYPE_ALIGN (gnu_field_type));
  
  	  TYPE_ALIGN (gnu_record_type)
  	    = MAX (TYPE_ALIGN (gnu_record_type), TYPE_ALIGN (gnu_field_type));
  
! 	  /* If Atomic, the size must match exactly and if aliased, the size
! 	     must not be less than the rounded size.  */
  	  if ((Is_Atomic (gnat_field) || Is_Atomic (Etype (gnat_field)))
  	      && !operand_equal_p (gnu_size, TYPE_SIZE (gnu_field_type), 0))
  	    {
--- 5279,5291 ----
  	 consistent with the alignment.  */
        if (needs_strict_alignment)
  	{
! 	  tree gnu_rounded_size = round_up (rm_size (gnu_field_type),
! 					    TYPE_ALIGN (gnu_field_type));
  
  	  TYPE_ALIGN (gnu_record_type)
  	    = MAX (TYPE_ALIGN (gnu_record_type), TYPE_ALIGN (gnu_field_type));
  
! 	  /* If Atomic, the size must match exactly that of the field.  */
  	  if ((Is_Atomic (gnat_field) || Is_Atomic (Etype (gnat_field)))
  	      && !operand_equal_p (gnu_size, TYPE_SIZE (gnu_field_type), 0))
  	    {
*************** gnat_to_gnu_field (Entity_Id gnat_field,
*** 5165,5177 ****
  	      gnu_size = NULL_TREE;
  	    }
  
  	  else if (Is_Aliased (gnat_field)
! 		   && gnu_size && tree_int_cst_lt (gnu_size, gnu_min_size))
  	    {
  	      post_error_ne_tree
! 		("size of aliased field& too small{, minimum required is ^}",
  		 Last_Bit (Component_Clause (gnat_field)), gnat_field,
! 		 gnu_min_size);
  	      gnu_size = NULL_TREE;
    	    }
  
--- 5297,5314 ----
  	      gnu_size = NULL_TREE;
  	    }
  
+ 	  /* If Aliased, the size must match exactly the rounded size.  We
+ 	     used to be more accommodating here and accept greater sizes, but
+ 	     fully supporting this case on big-endian platforms would require
+ 	     switching to a more involved layout for the field.  */
  	  else if (Is_Aliased (gnat_field)
! 		   && gnu_size
! 		   && ! operand_equal_p (gnu_size, gnu_rounded_size, 0))
  	    {
  	      post_error_ne_tree
! 		("size of aliased field& must be ^ bits",
  		 Last_Bit (Component_Clause (gnat_field)), gnat_field,
! 		 gnu_rounded_size);
  	      gnu_size = NULL_TREE;
    	    }
  
*************** is_variable_size (tree type)
*** 5323,5328 ****
--- 5460,5468 ----
     ALL_REP, if true, means a rep clause was found for all the fields.  This
     simplifies the logic since we know we're not in the mixed case.
  
+    DEFER_DEBUG, if true, means that the debugging routines should not be
+    called when finishing constructing the record type.
+ 
     The processing of the component list fills in the chain with all of the
     fields of the record and then the record type is finished.  */
  
*************** static void
*** 5330,5336 ****
  components_to_record (tree gnu_record_type, Node_Id component_list,
                        tree gnu_field_list, int packed, bool definition,
                        tree *p_gnu_rep_list, bool cancel_alignment,
! 		      bool all_rep)
  {
    Node_Id component_decl;
    Entity_Id gnat_field;
--- 5470,5476 ----
  components_to_record (tree gnu_record_type, Node_Id component_list,
                        tree gnu_field_list, int packed, bool definition,
                        tree *p_gnu_rep_list, bool cancel_alignment,
! 		      bool all_rep, bool defer_debug)
  {
    Node_Id component_decl;
    Entity_Id gnat_field;
*************** components_to_record (tree gnu_record_ty
*** 5452,5458 ****
  
  	  components_to_record (gnu_variant_type, Component_List (variant),
  				NULL_TREE, packed, definition,
! 				&gnu_our_rep_list, !all_rep_and_size, all_rep);
  
  	  gnu_qual = choices_to_gnu (gnu_discriminant,
  				     Discrete_Choices (variant));
--- 5592,5599 ----
  
  	  components_to_record (gnu_variant_type, Component_List (variant),
  				NULL_TREE, packed, definition,
! 				&gnu_our_rep_list, !all_rep_and_size, all_rep,
! 				false);
  
  	  gnu_qual = choices_to_gnu (gnu_discriminant,
  				     Discrete_Choices (variant));
*************** components_to_record (tree gnu_record_ty
*** 5548,5560 ****
        tree *gnu_arr = (tree *) alloca (sizeof (tree) * len);
        int i;
  
!       /* Set DECL_SECTION_NAME to increasing integers so we have a
  	 stable sort.  */
        for (i = 0, gnu_field = gnu_our_rep_list; gnu_field;
  	   gnu_field = TREE_CHAIN (gnu_field), i++)
  	{
  	  gnu_arr[i] = gnu_field;
! 	  DECL_SECTION_NAME (gnu_field) = size_int (i);
  	}
  
        qsort (gnu_arr, len, sizeof (tree), compare_field_bitpos);
--- 5689,5701 ----
        tree *gnu_arr = (tree *) alloca (sizeof (tree) * len);
        int i;
  
!       /* Set/abuse DECL_FCONTEXT to increasing integers so we have a
  	 stable sort.  */
        for (i = 0, gnu_field = gnu_our_rep_list; gnu_field;
  	   gnu_field = TREE_CHAIN (gnu_field), i++)
  	{
  	  gnu_arr[i] = gnu_field;
! 	  DECL_FCONTEXT (gnu_field) = size_int (i);
  	}
  
        qsort (gnu_arr, len, sizeof (tree), compare_field_bitpos);
*************** components_to_record (tree gnu_record_ty
*** 5567,5573 ****
  	  TREE_CHAIN (gnu_arr[i]) = gnu_our_rep_list;
  	  gnu_our_rep_list = gnu_arr[i];
  	  DECL_CONTEXT (gnu_arr[i]) = gnu_rep_type;
! 	  DECL_SECTION_NAME (gnu_arr[i]) = NULL_TREE;
  	}
  
        if (gnu_field_list)
--- 5708,5714 ----
  	  TREE_CHAIN (gnu_arr[i]) = gnu_our_rep_list;
  	  gnu_our_rep_list = gnu_arr[i];
  	  DECL_CONTEXT (gnu_arr[i]) = gnu_rep_type;
! 	  DECL_FCONTEXT (gnu_arr[i]) = NULL_TREE;
  	}
  
        if (gnu_field_list)
*************** components_to_record (tree gnu_record_ty
*** 5589,5595 ****
      TYPE_ALIGN (gnu_record_type) = 0;
  
    finish_record_type (gnu_record_type, nreverse (gnu_field_list),
! 		      layout_with_rep, false);
  }
  
  /* Called via qsort from the above.  Returns -1, 1, depending on the
--- 5730,5736 ----
      TYPE_ALIGN (gnu_record_type) = 0;
  
    finish_record_type (gnu_record_type, nreverse (gnu_field_list),
! 		      layout_with_rep, defer_debug);
  }
  
  /* Called via qsort from the above.  Returns -1, 1, depending on the
*************** compare_field_bitpos (const PTR rt1, con
*** 5603,5609 ****
  
    if (tree_int_cst_equal (bit_position (*t1), bit_position (*t2)))
      return
!       (tree_int_cst_lt (DECL_SECTION_NAME (*t1), DECL_SECTION_NAME (*t2))
         ? -1 : 1);
    else if (tree_int_cst_lt (bit_position (*t1), bit_position (*t2)))
      return -1;
--- 5744,5750 ----
  
    if (tree_int_cst_equal (bit_position (*t1), bit_position (*t2)))
      return
!       (tree_int_cst_lt (DECL_FCONTEXT (*t1), DECL_FCONTEXT (*t2))
         ? -1 : 1);
    else if (tree_int_cst_lt (bit_position (*t1), bit_position (*t2)))
      return -1;
*************** annotate_value (tree gnu_size)
*** 5624,5633 ****
    int i;
    int size;
  
-   /* If back annotation is suppressed by the front end, return No_Uint */
-   if (!Back_Annotate_Rep_Info)
-     return No_Uint;
- 
    /* See if we've already saved the value for this node.  */
    if (EXPR_P (gnu_size) && TREE_COMPLEXITY (gnu_size))
      return (Node_Ref_Or_Val) TREE_COMPLEXITY (gnu_size);
--- 5765,5770 ----
*************** annotate_value (tree gnu_size)
*** 5649,5655 ****
        /* For negative values, use NEGATE_EXPR of the supplied value.  */
        if (tree_int_cst_sgn (gnu_size) < 0)
  	{
! 	  /* The rediculous code below is to handle the case of the largest
  	     negative integer.  */
  	  tree negative_size = size_diffop (bitsize_zero_node, gnu_size);
  	  bool adjust = false;
--- 5786,5792 ----
        /* For negative values, use NEGATE_EXPR of the supplied value.  */
        if (tree_int_cst_sgn (gnu_size) < 0)
  	{
! 	  /* The ridiculous code below is to handle the case of the largest
  	     negative integer.  */
  	  tree negative_size = size_diffop (bitsize_zero_node, gnu_size);
  	  bool adjust = false;
*************** annotate_value (tree gnu_size)
*** 5720,5725 ****
--- 5857,5863 ----
      case TRUTH_OR_EXPR:		tcode = Truth_Or_Expr; break;
      case TRUTH_XOR_EXPR:	tcode = Truth_Xor_Expr; break;
      case TRUTH_NOT_EXPR:	tcode = Truth_Not_Expr; break;
+     case BIT_AND_EXPR:		tcode = Bit_And_Expr; break;
      case LT_EXPR:		tcode = Lt_Expr; break;
      case LE_EXPR:		tcode = Le_Expr; break;
      case GT_EXPR:		tcode = Gt_Expr; break;
*************** annotate_rep (Entity_Id gnat_entity, tre
*** 5806,5813 ****
  	    Set_Esize (gnat_field,
  		       annotate_value (DECL_SIZE (TREE_PURPOSE (gnu_entry))));
  	  }
! 	else if (type_annotate_only
! 		 && Is_Tagged_Type (gnat_entity)
  		 && Is_Derived_Type (gnat_entity))
  	  {
  	    /* If there is no gnu_entry, this is an inherited component whose
--- 5944,5950 ----
  	    Set_Esize (gnat_field,
  		       annotate_value (DECL_SIZE (TREE_PURPOSE (gnu_entry))));
  	  }
! 	else if (Is_Tagged_Type (gnat_entity)
  		 && Is_Derived_Type (gnat_entity))
  	  {
  	    /* If there is no gnu_entry, this is an inherited component whose
*************** static int
*** 6268,6274 ****
  compatible_signatures_p (tree ftype1, tree ftype2)
  {
    /* As of now, we only perform very trivial tests and consider it's the
!      programmer's responsability to ensure the type correctness in the Ada
       declaration, as in the regular Import cases.
  
       Mismatches typically result in either error messages from the builtin
--- 6405,6411 ----
  compatible_signatures_p (tree ftype1, tree ftype2)
  {
    /* As of now, we only perform very trivial tests and consider it's the
!      programmer's responsibility to ensure the type correctness in the Ada
       declaration, as in the regular Import cases.
  
       Mismatches typically result in either error messages from the builtin
*************** gnat_substitute_in_type (tree t, tree f,
*** 6348,6354 ****
  
      case OFFSET_TYPE:
      case METHOD_TYPE:
-     case FILE_TYPE:
      case FUNCTION_TYPE:
      case LANG_TYPE:
        /* Don't know how to do these yet.  */
--- 6485,6490 ----
*************** rm_size (tree gnu_type)
*** 6547,6578 ****
  tree
  create_concat_name (Entity_Id gnat_entity, const char *suffix)
  {
    const char *str = (!suffix ? "" : suffix);
    String_Template temp = {1, strlen (str)};
    Fat_Pointer fp = {str, &temp};
  
    Get_External_Name_With_Suffix (gnat_entity, fp);
  
- #ifdef _WIN32
    /* A variable using the Stdcall convention (meaning we are running
       on a Windows box) live in a DLL. Here we adjust its name to use
       the jump-table, the _imp__NAME contains the address for the NAME
       variable. */
!   {
!     Entity_Kind kind = Ekind (gnat_entity);
!     const char *prefix = "_imp__";
!     int plen = strlen (prefix);
  
!     if ((kind == E_Variable || kind == E_Constant)
! 	&& Convention (gnat_entity) == Convention_Stdcall)
!       {
! 	int k;
! 	for (k = 0; k <= Name_Len; k++)
! 	  Name_Buffer [Name_Len - k + plen] = Name_Buffer [Name_Len - k];
! 	strncpy (Name_Buffer, prefix, plen);
!       }
!   }
! #endif
  
    return get_identifier (Name_Buffer);
  }
--- 6683,6710 ----
  tree
  create_concat_name (Entity_Id gnat_entity, const char *suffix)
  {
+   Entity_Kind kind = Ekind (gnat_entity);
+ 
    const char *str = (!suffix ? "" : suffix);
    String_Template temp = {1, strlen (str)};
    Fat_Pointer fp = {str, &temp};
  
    Get_External_Name_With_Suffix (gnat_entity, fp);
  
    /* A variable using the Stdcall convention (meaning we are running
       on a Windows box) live in a DLL. Here we adjust its name to use
       the jump-table, the _imp__NAME contains the address for the NAME
       variable. */
!   if ((kind == E_Variable || kind == E_Constant)
!       && Has_Stdcall_Convention (gnat_entity))
!     {
!       const char *prefix = "_imp__";
!       int k, plen = strlen (prefix);
  
!       for (k = 0; k <= Name_Len; k++)
! 	Name_Buffer [Name_Len - k + plen] = Name_Buffer [Name_Len - k];
!       strncpy (Name_Buffer, prefix, plen);
!     }
  
    return get_identifier (Name_Buffer);
  }
diff -Nrcpad gcc-4.0.2/gcc/ada/deftarg.c gcc-4.1.0/gcc/ada/deftarg.c
*** gcc-4.0.2/gcc/ada/deftarg.c	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/deftarg.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/directio.ads gcc-4.1.0/gcc/ada/directio.ads
*** gcc-4.0.2/gcc/ada/directio.ads	Thu Apr 24 17:53:59 2003
--- gcc-4.1.0/gcc/ada/directio.ads	Thu Jun 16 08:26:28 2005
***************
*** 1,6 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                            D I R E C T _ I O                             --
  --                                                                          --
--- 1,6 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                            D I R E C T _ I O                             --
  --                                                                          --
diff -Nrcpad gcc-4.0.2/gcc/ada/einfo.adb gcc-4.1.0/gcc/ada/einfo.adb
*** gcc-4.0.2/gcc/ada/einfo.adb	Thu Feb 10 13:50:25 2005
--- gcc-4.1.0/gcc/ada/einfo.adb	Tue Nov 15 13:54:36 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body Einfo is
*** 129,135 ****
     --    String_Literal_Low_Bound        Node15
     --    Shared_Var_Read_Proc            Node15
  
!    --    Access_Disp_Table               Node16
     --    Cloned_Subtype                  Node16
     --    DTC_Entity                      Node16
     --    Entry_Formal                    Node16
--- 129,135 ----
     --    String_Literal_Low_Bound        Node15
     --    Shared_Var_Read_Proc            Node15
  
!    --    Access_Disp_Table               Elist16
     --    Cloned_Subtype                  Node16
     --    DTC_Entity                      Node16
     --    Entry_Formal                    Node16
*************** package body Einfo is
*** 210,219 ****
     --    Protected_Operation             Node23
  
     --    Obsolescent_Warning             Node24
  
!    --    (unused)                        Node25
!    --    (unused)                        Node26
!    --    (unused)                        Node27
  
     ---------------------------------------------
     -- Usage of Flags in Defining Entity Nodes --
--- 210,225 ----
     --    Protected_Operation             Node23
  
     --    Obsolescent_Warning             Node24
+    --    Task_Body_Procedure             Node24
+    --    Abstract_Interfaces             Elist24
  
!    --    Abstract_Interface_Alias        Node25
!    --    Current_Use_Clause              Node25
! 
!    --    Overridden_Operation            Node26
!    --    Package_Instantiation           Node26
! 
!    --    Wrapped_Entity                  Node27
  
     ---------------------------------------------
     -- Usage of Flags in Defining Entity Nodes --
*************** package body Einfo is
*** 384,390 ****
     --    Has_Recursive_Call             Flag143
     --    Is_Unsigned_Type               Flag144
     --    Strict_Alignment               Flag145
!    --    Elaborate_All_Desirable        Flag146
     --    Needs_Debug_Info               Flag147
     --    Suppress_Elaboration_Warnings  Flag148
     --    Is_Compilation_Unit            Flag149
--- 390,396 ----
     --    Has_Recursive_Call             Flag143
     --    Is_Unsigned_Type               Flag144
     --    Strict_Alignment               Flag145
!    --    (unused)                       Flag146
     --    Needs_Debug_Info               Flag147
     --    Suppress_Elaboration_Warnings  Flag148
     --    Is_Compilation_Unit            Flag149
*************** package body Einfo is
*** 428,450 ****
     --    Must_Be_On_Byte_Boundary       Flag183
     --    Has_Stream_Size_Clause         Flag184
     --    Is_Ada_2005                    Flag185
  
-    --    (unused)                       Flag186
-    --    (unused)                       Flag187
-    --    (unused)                       Flag188
-    --    (unused)                       Flag189
-    --    (unused)                       Flag190
-    --    (unused)                       Flag191
-    --    (unused)                       Flag192
-    --    (unused)                       Flag193
-    --    (unused)                       Flag194
-    --    (unused)                       Flag195
-    --    (unused)                       Flag196
-    --    (unused)                       Flag197
-    --    (unused)                       Flag198
-    --    (unused)                       Flag199
-    --    (unused)                       Flag200
-    --    (unused)                       Flag201
     --    (unused)                       Flag202
     --    (unused)                       Flag203
     --    (unused)                       Flag204
--- 434,458 ----
     --    Must_Be_On_Byte_Boundary       Flag183
     --    Has_Stream_Size_Clause         Flag184
     --    Is_Ada_2005                    Flag185
+    --    Is_Interface                   Flag186
+    --    Has_Constrained_Partial_View   Flag187
+    --    Has_Persistent_BSS             Flag188
+    --    Is_Pure_Unit_Access_Type       Flag189
+    --    Has_Specified_Stream_Input     Flag190
+ 
+    --    Has_Specified_Stream_Output    Flag191
+    --    Has_Specified_Stream_Read      Flag192
+    --    Has_Specified_Stream_Write     Flag193
+    --    Is_Local_Anonymous_Access      Flag194
+    --    Is_Primitive_Wrapper           Flag195
+    --    Was_Hidden                     Flag196
+    --    Is_Limited_Interface           Flag197
+    --    Is_Protected_Interface         Flag198
+    --    Is_Synchronized_Interface      Flag199
+    --    Is_Task_Interface              Flag200
+ 
+    --    Has_Anon_Block_Suffix          Flag201
  
     --    (unused)                       Flag202
     --    (unused)                       Flag203
     --    (unused)                       Flag204
*************** package body Einfo is
*** 494,508 ****
     -- Attribute Access Functions --
     --------------------------------
  
     function Accept_Address (Id : E) return L is
     begin
        return Elist21 (Id);
     end Accept_Address;
  
!    function Access_Disp_Table (Id : E) return E is
     begin
        pragma Assert (Is_Tagged_Type (Id));
!       return Node16 (Implementation_Base_Type (Id));
     end Access_Disp_Table;
  
     function Actual_Subtype (Id : E) return E is
--- 502,533 ----
     -- Attribute Access Functions --
     --------------------------------
  
+    function Abstract_Interfaces (Id : E) return L is
+    begin
+       pragma Assert
+         (Ekind (Id) = E_Record_Type
+           or else Ekind (Id) = E_Record_Subtype
+           or else Ekind (Id) = E_Record_Type_With_Private
+           or else Ekind (Id) = E_Record_Subtype_With_Private
+           or else Ekind (Id) = E_Class_Wide_Type);
+       return Elist24 (Id);
+    end Abstract_Interfaces;
+ 
+    function Abstract_Interface_Alias (Id : E) return E is
+    begin
+       pragma Assert (Is_Subprogram (Id));
+       return Node25 (Id);
+    end Abstract_Interface_Alias;
+ 
     function Accept_Address (Id : E) return L is
     begin
        return Elist21 (Id);
     end Accept_Address;
  
!    function Access_Disp_Table (Id : E) return L is
     begin
        pragma Assert (Is_Tagged_Type (Id));
!       return Elist16 (Implementation_Base_Type (Id));
     end Access_Disp_Table;
  
     function Actual_Subtype (Id : E) return E is
*************** package body Einfo is
*** 676,681 ****
--- 701,712 ----
        return Node22 (Id);
     end Corresponding_Remote_Type;
  
+    function Current_Use_Clause (Id : E) return E is
+    begin
+       pragma Assert (Ekind (Id) = E_Package);
+       return Node25 (Id);
+    end Current_Use_Clause;
+ 
     function Current_Value (Id : E) return N is
     begin
        pragma Assert (Ekind (Id) in Object_Kind);
*************** package body Einfo is
*** 797,803 ****
  
     function DT_Entry_Count (Id : E) return U is
     begin
!       pragma Assert (Ekind (Id) = E_Component  and then Is_Tag (Id));
        return Uint15 (Id);
     end DT_Entry_Count;
  
--- 828,834 ----
  
     function DT_Entry_Count (Id : E) return U is
     begin
!       pragma Assert (Ekind (Id) = E_Component and then Is_Tag (Id));
        return Uint15 (Id);
     end DT_Entry_Count;
  
*************** package body Einfo is
*** 817,827 ****
        return Node16 (Id);
     end DTC_Entity;
  
-    function Elaborate_All_Desirable (Id : E) return B is
-    begin
-       return Flag146 (Id);
-    end Elaborate_All_Desirable;
- 
     function Elaboration_Entity (Id : E) return E is
     begin
        pragma Assert
--- 848,853 ----
*************** package body Einfo is
*** 983,988 ****
--- 1009,1020 ----
  
     function First_Private_Entity (Id : E) return E is
     begin
+       pragma Assert (Ekind (Id) = E_Package
+                        or else Ekind (Id) = E_Generic_Package
+                        or else Ekind (Id) = E_Protected_Type
+                        or else Ekind (Id) = E_Protected_Subtype
+                        or else Ekind (Id) = E_Task_Type
+                        or else Ekind (Id) = E_Task_Subtype);
        return Node16 (Id);
     end First_Private_Entity;
  
*************** package body Einfo is
*** 1045,1050 ****
--- 1077,1087 ----
        return Flag79 (Id);
     end Has_All_Calls_Remote;
  
+    function Has_Anon_Block_Suffix (Id : E) return B is
+    begin
+       return Flag201 (Id);
+    end Has_Anon_Block_Suffix;
+ 
     function Has_Atomic_Components (Id : E) return B is
     begin
        return Flag86 (Implementation_Base_Type (Id));
*************** package body Einfo is
*** 1078,1083 ****
--- 1115,1126 ----
        return Flag68 (Implementation_Base_Type (Id));
     end Has_Component_Size_Clause;
  
+    function Has_Constrained_Partial_View (Id : E) return B is
+    begin
+       pragma Assert (Is_Type (Id));
+       return Flag187 (Id);
+    end Has_Constrained_Partial_View;
+ 
     function Has_Controlled_Component (Id : E) return B is
     begin
        return Flag43 (Base_Type (Id));
*************** package body Einfo is
*** 1186,1191 ****
--- 1229,1239 ----
        return Flag154 (Id);
     end Has_Per_Object_Constraint;
  
+    function Has_Persistent_BSS (Id : E) return B is
+    begin
+       return Flag188 (Id);
+    end Has_Persistent_BSS;
+ 
     function Has_Pragma_Controlled (Id : E) return B is
     begin
        pragma Assert (Is_Access_Type (Id));
*************** package body Einfo is
*** 1263,1268 ****
--- 1311,1340 ----
        return Flag100 (Implementation_Base_Type (Id));
     end Has_Specified_Layout;
  
+    function Has_Specified_Stream_Input (Id : E) return B is
+    begin
+       pragma Assert (Is_Type (Id));
+       return Flag190 (Id);
+    end Has_Specified_Stream_Input;
+ 
+    function Has_Specified_Stream_Output (Id : E) return B is
+    begin
+       pragma Assert (Is_Type (Id));
+       return Flag191 (Id);
+    end Has_Specified_Stream_Output;
+ 
+    function Has_Specified_Stream_Read (Id : E) return B is
+    begin
+       pragma Assert (Is_Type (Id));
+       return Flag192 (Id);
+    end Has_Specified_Stream_Read;
+ 
+    function Has_Specified_Stream_Write (Id : E) return B is
+    begin
+       pragma Assert (Is_Type (Id));
+       return Flag193 (Id);
+    end Has_Specified_Stream_Write;
+ 
     function Has_Storage_Size_Clause (Id : E) return B is
     begin
        pragma Assert (Is_Access_Type (Id) or else Is_Task_Type (Id));
*************** package body Einfo is
*** 1348,1353 ****
--- 1420,1431 ----
        return Flag19 (Id);
     end Is_Abstract;
  
+    function Is_Local_Anonymous_Access (Id : E) return B is
+    begin
+       pragma Assert (Is_Access_Type (Id));
+       return Flag194 (Id);
+    end Is_Local_Anonymous_Access;
+ 
     function Is_Access_Constant (Id : E) return B is
     begin
        pragma Assert (Is_Access_Type (Id));
*************** package body Einfo is
*** 1551,1556 ****
--- 1629,1639 ----
        return Flag11 (Id);
     end Is_Inlined;
  
+    function Is_Interface (Id : E) return B is
+    begin
+       return Flag186 (Id);
+    end Is_Interface;
+ 
     function Is_Instantiated (Id : E) return B is
     begin
        return Flag126 (Id);
*************** package body Einfo is
*** 1593,1598 ****
--- 1676,1687 ----
        return Flag106 (Id);
     end Is_Limited_Composite;
  
+    function Is_Limited_Interface (Id : E) return B is
+    begin
+       pragma Assert (Is_Interface (Id));
+       return Flag197 (Id);
+    end Is_Limited_Interface;
+ 
     function Is_Limited_Record (Id : E) return B is
     begin
        return Flag25 (Id);
*************** package body Einfo is
*** 1618,1624 ****
  
     function Is_Obsolescent (Id : E) return B is
     begin
-       pragma Assert (Is_Subprogram (Id));
        return Flag153 (Id);
     end Is_Obsolescent;
  
--- 1707,1712 ----
*************** package body Einfo is
*** 1660,1665 ****
--- 1748,1759 ----
        return Flag59 (Id);
     end Is_Preelaborated;
  
+    function Is_Primitive_Wrapper (Id : E) return B is
+    begin
+       pragma Assert (Ekind (Id) = E_Procedure);
+       return Flag195 (Id);
+    end Is_Primitive_Wrapper;
+ 
     function Is_Private_Composite (Id : E) return B is
     begin
        pragma Assert (Is_Type (Id));
*************** package body Einfo is
*** 1671,1676 ****
--- 1765,1776 ----
        return Flag53 (Id);
     end Is_Private_Descendant;
  
+    function Is_Protected_Interface (Id : E) return B is
+    begin
+       pragma Assert (Is_Interface (Id));
+       return Flag198 (Id);
+    end Is_Protected_Interface;
+ 
     function Is_Public (Id : E) return B is
     begin
        pragma Assert (Nkind (Id) in N_Entity);
*************** package body Einfo is
*** 1682,1687 ****
--- 1782,1793 ----
        return Flag44 (Id);
     end Is_Pure;
  
+    function Is_Pure_Unit_Access_Type (Id : E) return B is
+    begin
+       pragma Assert (Is_Access_Type (Id));
+       return Flag189 (Id);
+    end Is_Pure_Unit_Access_Type;
+ 
     function Is_Remote_Call_Interface (Id : E) return B is
     begin
        return Flag62 (Id);
*************** package body Einfo is
*** 1707,1712 ****
--- 1813,1824 ----
        return Flag28 (Id);
     end Is_Statically_Allocated;
  
+    function Is_Synchronized_Interface (Id : E) return B is
+    begin
+       pragma Assert (Is_Interface (Id));
+       return Flag199 (Id);
+    end Is_Synchronized_Interface;
+ 
     function Is_Tag (Id : E) return B is
     begin
        pragma Assert (Nkind (Id) in N_Entity);
*************** package body Einfo is
*** 1718,1723 ****
--- 1830,1841 ----
        return Flag55 (Id);
     end Is_Tagged_Type;
  
+    function Is_Task_Interface (Id : E) return B is
+    begin
+       pragma Assert (Is_Interface (Id));
+       return Flag200 (Id);
+    end Is_Task_Interface;
+ 
     function Is_Thread_Body (Id : E) return B is
     begin
        return Flag77 (Id);
*************** package body Einfo is
*** 1931,1937 ****
  
     function Obsolescent_Warning (Id : E) return N is
     begin
!       pragma Assert (Is_Subprogram (Id));
        return Node24 (Id);
     end Obsolescent_Warning;
  
--- 2049,2056 ----
  
     function Obsolescent_Warning (Id : E) return N is
     begin
!       pragma Assert
!         (Is_Subprogram (Id) or else Is_Package_Or_Generic_Package (Id));
        return Node24 (Id);
     end Obsolescent_Warning;
  
*************** package body Einfo is
*** 1958,1963 ****
--- 2077,2096 ----
        return Node22 (Id);
     end Original_Record_Component;
  
+    function Overridden_Operation (Id : E) return E is
+    begin
+       return Node26 (Id);
+    end Overridden_Operation;
+ 
+    function Package_Instantiation (Id : E) return N is
+    begin
+       pragma Assert
+         (False
+            or else Ekind (Id) = E_Generic_Package
+            or else Ekind (Id) = E_Package);
+       return Node26 (Id);
+    end Package_Instantiation;
+ 
     function Packed_Array_Type (Id : E) return E is
     begin
        pragma Assert (Is_Array_Type (Id));
*************** package body Einfo is
*** 2207,2212 ****
--- 2340,2352 ----
        return Flag165 (Id);
     end Suppress_Style_Checks;
  
+    function Task_Body_Procedure (Id : E) return N is
+    begin
+       pragma Assert (Ekind (Id) = E_Task_Type
+                       or else Ekind (Id) = E_Task_Subtype);
+       return Node24 (Id);
+    end Task_Body_Procedure;
+ 
     function Treat_As_Volatile (Id : E) return B is
     begin
        return Flag41 (Id);
*************** package body Einfo is
*** 2238,2243 ****
--- 2378,2395 ----
        return Flag96 (Id);
     end Warnings_Off;
  
+    function Wrapped_Entity (Id : E) return E is
+    begin
+       pragma Assert (Ekind (Id) = E_Procedure
+                        and then Is_Primitive_Wrapper (Id));
+       return Node27 (Id);
+    end Wrapped_Entity;
+ 
+    function Was_Hidden (Id : E) return B is
+    begin
+       return Flag196 (Id);
+    end Was_Hidden;
+ 
     ------------------------------
     -- Classification Functions --
     ------------------------------
*************** package body Einfo is
*** 2434,2448 ****
     -- Attribute Set Procedures --
     ------------------------------
  
     procedure Set_Accept_Address (Id : E; V : L) is
     begin
        Set_Elist21 (Id, V);
     end Set_Accept_Address;
  
!    procedure Set_Access_Disp_Table (Id : E; V : E) is
     begin
        pragma Assert (Is_Tagged_Type (Id) and then Id = Base_Type (Id));
!       Set_Node16 (Id, V);
     end Set_Access_Disp_Table;
  
     procedure Set_Associated_Final_Chain (Id : E; V : E) is
--- 2586,2618 ----
     -- Attribute Set Procedures --
     ------------------------------
  
+    procedure Set_Abstract_Interfaces (Id : E; V : L) is
+    begin
+       pragma Assert
+         (Ekind (Id) = E_Record_Type
+           or else Ekind (Id) = E_Record_Subtype
+           or else Ekind (Id) = E_Record_Type_With_Private
+           or else Ekind (Id) = E_Record_Subtype_With_Private
+           or else Ekind (Id) = E_Class_Wide_Type);
+       Set_Elist24 (Id, V);
+    end Set_Abstract_Interfaces;
+ 
+    procedure Set_Abstract_Interface_Alias (Id : E; V : E) is
+    begin
+       pragma Assert
+         (Ekind (Id) = E_Procedure or Ekind (Id) = E_Function);
+       Set_Node25 (Id, V);
+    end Set_Abstract_Interface_Alias;
+ 
     procedure Set_Accept_Address (Id : E; V : L) is
     begin
        Set_Elist21 (Id, V);
     end Set_Accept_Address;
  
!    procedure Set_Access_Disp_Table (Id : E; V : L) is
     begin
        pragma Assert (Is_Tagged_Type (Id) and then Id = Base_Type (Id));
!       Set_Elist16 (Id, V);
     end Set_Access_Disp_Table;
  
     procedure Set_Associated_Final_Chain (Id : E; V : E) is
*************** package body Einfo is
*** 2617,2623 ****
        Set_Node22 (Id, V);
     end Set_Corresponding_Remote_Type;
  
!    procedure Set_Current_Value (Id : E; V : E) is
     begin
        pragma Assert (Ekind (Id) in Object_Kind or else Ekind (Id) = E_Void);
        Set_Node9 (Id, V);
--- 2787,2799 ----
        Set_Node22 (Id, V);
     end Set_Corresponding_Remote_Type;
  
!    procedure Set_Current_Use_Clause (Id : E; V : E) is
!    begin
!       pragma Assert (Ekind (Id) = E_Package);
!       Set_Node25 (Id, V);
!    end Set_Current_Use_Clause;
! 
!    procedure Set_Current_Value (Id : E; V : N) is
     begin
        pragma Assert (Ekind (Id) in Object_Kind or else Ekind (Id) = E_Void);
        Set_Node9 (Id, V);
*************** package body Einfo is
*** 2761,2771 ****
        Set_Node16 (Id, V);
     end Set_DTC_Entity;
  
-    procedure Set_Elaborate_All_Desirable (Id : E; V : B := True) is
-    begin
-       Set_Flag146 (Id, V);
-    end Set_Elaborate_All_Desirable;
- 
     procedure Set_Elaboration_Entity (Id : E; V : E) is
     begin
        pragma Assert
--- 2937,2942 ----
*************** package body Einfo is
*** 2928,2934 ****
  
     procedure Set_First_Private_Entity (Id : E; V : E) is
     begin
!       pragma Assert (Nkind (Id) in N_Entity);
        Set_Node16 (Id, V);
     end Set_First_Private_Entity;
  
--- 3099,3110 ----
  
     procedure Set_First_Private_Entity (Id : E; V : E) is
     begin
!       pragma Assert (Ekind (Id) = E_Package
!                        or else Ekind (Id) = E_Generic_Package
!                        or else Ekind (Id) = E_Protected_Type
!                        or else Ekind (Id) = E_Protected_Subtype
!                        or else Ekind (Id) = E_Task_Type
!                        or else Ekind (Id) = E_Task_Subtype);
        Set_Node16 (Id, V);
     end Set_First_Private_Entity;
  
*************** package body Einfo is
*** 2994,2999 ****
--- 3170,3180 ----
        Set_Flag79 (Id, V);
     end Set_Has_All_Calls_Remote;
  
+    procedure Set_Has_Anon_Block_Suffix (Id : E; V : B := True) is
+    begin
+       Set_Flag201 (Id, V);
+    end Set_Has_Anon_Block_Suffix;
+ 
     procedure Set_Has_Atomic_Components (Id : E; V : B := True) is
     begin
        pragma Assert (not Is_Type (Id) or else Base_Type (Id) = Id);
*************** package body Einfo is
*** 3030,3035 ****
--- 3211,3222 ----
        Set_Flag68 (Id, V);
     end Set_Has_Component_Size_Clause;
  
+    procedure Set_Has_Constrained_Partial_View (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Type (Id));
+       Set_Flag187 (Id, V);
+    end Set_Has_Constrained_Partial_View;
+ 
     procedure Set_Has_Contiguous_Rep (Id : E; V : B := True) is
     begin
        Set_Flag181 (Id, V);
*************** package body Einfo is
*** 3140,3145 ****
--- 3327,3337 ----
        Set_Flag154 (Id, V);
     end Set_Has_Per_Object_Constraint;
  
+    procedure Set_Has_Persistent_BSS (Id : E; V : B := True) is
+    begin
+       Set_Flag188 (Id, V);
+    end Set_Has_Persistent_BSS;
+ 
     procedure Set_Has_Pragma_Controlled (Id : E; V : B := True) is
     begin
        pragma Assert (Is_Access_Type (Id));
*************** package body Einfo is
*** 3218,3223 ****
--- 3410,3439 ----
        Set_Flag100 (Id, V);
     end Set_Has_Specified_Layout;
  
+    procedure Set_Has_Specified_Stream_Input (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Type (Id));
+       Set_Flag190 (Id, V);
+    end Set_Has_Specified_Stream_Input;
+ 
+    procedure Set_Has_Specified_Stream_Output (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Type (Id));
+       Set_Flag191 (Id, V);
+    end Set_Has_Specified_Stream_Output;
+ 
+    procedure Set_Has_Specified_Stream_Read (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Type (Id));
+       Set_Flag192 (Id, V);
+    end Set_Has_Specified_Stream_Read;
+ 
+    procedure Set_Has_Specified_Stream_Write (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Type (Id));
+       Set_Flag193 (Id, V);
+    end Set_Has_Specified_Stream_Write;
+ 
     procedure Set_Has_Storage_Size_Clause (Id : E; V : B := True) is
     begin
        pragma Assert (Is_Access_Type (Id) or else Is_Task_Type (Id));
*************** package body Einfo is
*** 3308,3313 ****
--- 3524,3535 ----
        Set_Flag19 (Id, V);
     end Set_Is_Abstract;
  
+    procedure Set_Is_Local_Anonymous_Access (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Access_Type (Id));
+       Set_Flag194 (Id, V);
+    end Set_Is_Local_Anonymous_Access;
+ 
     procedure Set_Is_Access_Constant (Id : E; V : B := True) is
     begin
        pragma Assert (Is_Access_Type (Id));
*************** package body Einfo is
*** 3527,3532 ****
--- 3749,3765 ----
        Set_Flag11 (Id, V);
     end Set_Is_Inlined;
  
+    procedure Set_Is_Interface (Id : E; V : B := True) is
+    begin
+       pragma Assert
+         (Ekind (Id) = E_Record_Type
+           or else Ekind (Id) = E_Record_Subtype
+           or else Ekind (Id) = E_Record_Type_With_Private
+           or else Ekind (Id) = E_Record_Subtype_With_Private
+           or else Ekind (Id) = E_Class_Wide_Type);
+       Set_Flag186 (Id, V);
+    end Set_Is_Interface;
+ 
     procedure Set_Is_Instantiated (Id : E; V : B := True) is
     begin
        Set_Flag126 (Id, V);
*************** package body Einfo is
*** 3570,3575 ****
--- 3803,3814 ----
        Set_Flag106 (Id, V);
     end Set_Is_Limited_Composite;
  
+    procedure Set_Is_Limited_Interface (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Interface (Id));
+       Set_Flag197 (Id, V);
+    end Set_Is_Limited_Interface;
+ 
     procedure Set_Is_Limited_Record (Id : E; V : B := True) is
     begin
        Set_Flag25 (Id, V);
*************** package body Einfo is
*** 3595,3601 ****
  
     procedure Set_Is_Obsolescent (Id : E; V : B := True) is
     begin
-       pragma Assert (Is_Subprogram (Id));
        Set_Flag153 (Id, V);
     end Set_Is_Obsolescent;
  
--- 3834,3839 ----
*************** package body Einfo is
*** 3638,3643 ****
--- 3876,3887 ----
        Set_Flag59 (Id, V);
     end Set_Is_Preelaborated;
  
+    procedure Set_Is_Primitive_Wrapper (Id : E; V : B := True) is
+    begin
+       pragma Assert (Ekind (Id) = E_Procedure);
+       Set_Flag195 (Id, V);
+    end Set_Is_Primitive_Wrapper;
+ 
     procedure Set_Is_Private_Composite (Id : E; V : B := True) is
     begin
        pragma Assert (Is_Type (Id));
*************** package body Einfo is
*** 3649,3654 ****
--- 3893,3904 ----
        Set_Flag53 (Id, V);
     end Set_Is_Private_Descendant;
  
+    procedure Set_Is_Protected_Interface (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Interface (Id));
+       Set_Flag198 (Id, V);
+    end Set_Is_Protected_Interface;
+ 
     procedure Set_Is_Public (Id : E; V : B := True) is
     begin
        pragma Assert (Nkind (Id) in N_Entity);
*************** package body Einfo is
*** 3660,3665 ****
--- 3910,3921 ----
        Set_Flag44 (Id, V);
     end Set_Is_Pure;
  
+    procedure Set_Is_Pure_Unit_Access_Type (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Access_Type (Id));
+       Set_Flag189 (Id, V);
+    end Set_Is_Pure_Unit_Access_Type;
+ 
     procedure Set_Is_Remote_Call_Interface (Id : E; V : B := True) is
     begin
        Set_Flag62 (Id, V);
*************** package body Einfo is
*** 3691,3696 ****
--- 3947,3958 ----
        Set_Flag28 (Id, V);
     end Set_Is_Statically_Allocated;
  
+    procedure Set_Is_Synchronized_Interface (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Interface (Id));
+       Set_Flag199 (Id, V);
+    end Set_Is_Synchronized_Interface;
+ 
     procedure Set_Is_Tag (Id : E; V : B := True) is
     begin
        pragma Assert (Nkind (Id) in N_Entity);
*************** package body Einfo is
*** 3707,3712 ****
--- 3969,3980 ----
        Set_Flag77 (Id, V);
     end Set_Is_Thread_Body;
  
+    procedure Set_Is_Task_Interface (Id : E; V : B := True) is
+    begin
+       pragma Assert (Is_Interface (Id));
+       Set_Flag200 (Id, V);
+    end Set_Is_Task_Interface;
+ 
     procedure Set_Is_True_Constant (Id : E; V : B := True) is
     begin
        Set_Flag163 (Id, V);
*************** package body Einfo is
*** 3913,3919 ****
  
     procedure Set_Obsolescent_Warning (Id : E; V : N) is
     begin
!       pragma Assert (Is_Subprogram (Id));
        Set_Node24 (Id, V);
     end Set_Obsolescent_Warning;
  
--- 4181,4188 ----
  
     procedure Set_Obsolescent_Warning (Id : E; V : N) is
     begin
!       pragma Assert
!         (Is_Subprogram (Id) or else Is_Package_Or_Generic_Package (Id));
        Set_Node24 (Id, V);
     end Set_Obsolescent_Warning;
  
*************** package body Einfo is
*** 3940,3945 ****
--- 4209,4228 ----
        Set_Node22 (Id, V);
     end Set_Original_Record_Component;
  
+    procedure Set_Overridden_Operation (Id : E; V : E) is
+    begin
+       Set_Node26 (Id, V);
+    end Set_Overridden_Operation;
+ 
+    procedure Set_Package_Instantiation (Id : E; V : N) is
+    begin
+       pragma Assert
+         (Ekind (Id) = E_Void
+            or else Ekind (Id) = E_Generic_Package
+            or else Ekind (Id) = E_Package);
+       Set_Node26 (Id, V);
+    end Set_Package_Instantiation;
+ 
     procedure Set_Packed_Array_Type (Id : E; V : E) is
     begin
        pragma Assert (Is_Array_Type (Id));
*************** package body Einfo is
*** 4194,4199 ****
--- 4477,4489 ----
        Set_Flag165 (Id, V);
     end Set_Suppress_Style_Checks;
  
+    procedure Set_Task_Body_Procedure (Id : E; V : N) is
+    begin
+       pragma Assert (Ekind (Id) = E_Task_Type
+                       or else Ekind (Id) = E_Task_Subtype);
+       Set_Node24 (Id, V);
+    end Set_Task_Body_Procedure;
+ 
     procedure Set_Treat_As_Volatile (Id : E; V : B := True) is
     begin
        Set_Flag41 (Id, V);
*************** package body Einfo is
*** 4226,4231 ****
--- 4516,4533 ----
        Set_Flag96 (Id, V);
     end Set_Warnings_Off;
  
+    procedure Set_Was_Hidden (Id : E; V : B := True) is
+    begin
+       Set_Flag196 (Id, V);
+    end Set_Was_Hidden;
+ 
+    procedure Set_Wrapped_Entity (Id : E; V : E) is
+    begin
+       pragma Assert (Ekind (Id) = E_Procedure
+                        and then Is_Primitive_Wrapper (Id));
+       Set_Node27 (Id, V);
+    end Set_Wrapped_Entity;
+ 
     -----------------------------------
     -- Field Initialization Routines --
     -----------------------------------
*************** package body Einfo is
*** 5474,5490 ****
        end if;
     end Is_Limited_Type;
  
!    ----------------
!    -- Is_Package --
!    ----------------
  
!    function Is_Package (Id : E) return B is
     begin
        return
          Ekind (Id) = E_Package
            or else
          Ekind (Id) = E_Generic_Package;
!    end Is_Package;
  
     --------------------------
     -- Is_Protected_Private --
--- 5776,5792 ----
        end if;
     end Is_Limited_Type;
  
!    -----------------------------------
!    -- Is_Package_Or_Generic_Package --
!    -----------------------------------
  
!    function Is_Package_Or_Generic_Package (Id : E) return B is
     begin
        return
          Ekind (Id) = E_Package
            or else
          Ekind (Id) = E_Generic_Package;
!    end Is_Package_Or_Generic_Package;
  
     --------------------------
     -- Is_Protected_Private --
*************** package body Einfo is
*** 6039,6049 ****
        return Kind;
     end Subtype_Kind;
  
!    -------------------
!    -- Tag_Component --
!    -------------------
  
!    function Tag_Component (Id : E) return E is
        Comp : Entity_Id;
        Typ  : Entity_Id := Id;
  
--- 6341,6351 ----
        return Kind;
     end Subtype_Kind;
  
!    -------------------------
!    -- First_Tag_Component --
!    -------------------------
  
!    function First_Tag_Component (Id : E) return E is
        Comp : Entity_Id;
        Typ  : Entity_Id := Id;
  
*************** package body Einfo is
*** 6070,6076 ****
        --  No tag component found
  
        return Empty;
!    end Tag_Component;
  
     ---------------------
     -- Type_High_Bound --
--- 6372,6405 ----
        --  No tag component found
  
        return Empty;
!    end First_Tag_Component;
! 
!    ------------------------
!    -- Next_Tag_Component --
!    ------------------------
! 
!    function Next_Tag_Component (Id : E) return E is
!       Comp : Entity_Id;
!       Typ  : constant Entity_Id := Scope (Id);
! 
!    begin
!       pragma Assert (Ekind (Id) = E_Component
!                        and then Is_Tagged_Type (Typ));
! 
!       Comp := Next_Entity (Id);
!       while Present (Comp) loop
!          if Is_Tag (Comp) then
!             pragma Assert (Chars (Comp) /= Name_uTag);
!             return Comp;
!          end if;
! 
!          Comp := Next_Entity (Comp);
!       end loop;
! 
!       --  No tag component found
! 
!       return Empty;
!    end Next_Tag_Component;
  
     ---------------------
     -- Type_High_Bound --
*************** package body Einfo is
*** 6127,6132 ****
--- 6456,6470 ----
                 return Underlying_Type (Full_View (Id));
              end if;
  
+          --  If we have an incomplete entity that comes from the limited
+          --  view then we return the Underlying_Type of its non-limited
+          --  view.
+ 
+          elsif From_With_Type (Id)
+            and then Present (Non_Limited_View (Id))
+          then
+             return Underlying_Type (Non_Limited_View (Id));
+ 
           --  Otherwise check for the case where we have a derived type or
           --  subtype, and if so get the Underlying_Type of the parent type.
  
*************** package body Einfo is
*** 6211,6217 ****
        W ("Delay_Subprogram_Descriptors",  Flag50  (Id));
        W ("Depends_On_Private",            Flag14  (Id));
        W ("Discard_Names",                 Flag88  (Id));
-       W ("Elaborate_All_Desirable",       Flag146 (Id));
        W ("Elaboration_Entity_Required",   Flag174 (Id));
        W ("Entry_Accepted",                Flag152 (Id));
        W ("Finalize_Storage_Only",         Flag158 (Id));
--- 6549,6554 ----
*************** package body Einfo is
*** 6220,6225 ****
--- 6557,6563 ----
        W ("Has_Aliased_Components",        Flag135 (Id));
        W ("Has_Alignment_Clause",          Flag46  (Id));
        W ("Has_All_Calls_Remote",          Flag79  (Id));
+       W ("Has_Anon_Block_Suffix",         Flag201 (Id));
        W ("Has_Atomic_Components",         Flag86  (Id));
        W ("Has_Biased_Representation",     Flag139 (Id));
        W ("Has_Completion",                Flag26  (Id));
*************** package body Einfo is
*** 6246,6251 ****
--- 6584,6590 ----
        W ("Has_Non_Standard_Rep",          Flag75  (Id));
        W ("Has_Object_Size_Clause",        Flag172 (Id));
        W ("Has_Per_Object_Constraint",     Flag154 (Id));
+       W ("Has_Persistent_BSS",            Flag188 (Id));
        W ("Has_Pragma_Controlled",         Flag27  (Id));
        W ("Has_Pragma_Elaborate_Body",     Flag150 (Id));
        W ("Has_Pragma_Inline",             Flag157 (Id));
*************** package body Einfo is
*** 6260,6265 ****
--- 6599,6608 ----
        W ("Has_Size_Clause",               Flag29  (Id));
        W ("Has_Small_Clause",              Flag67  (Id));
        W ("Has_Specified_Layout",          Flag100 (Id));
+       W ("Has_Specified_Stream_Input",    Flag190 (Id));
+       W ("Has_Specified_Stream_Output",   Flag191 (Id));
+       W ("Has_Specified_Stream_Read",     Flag192 (Id));
+       W ("Has_Specified_Stream_Write",    Flag193 (Id));
        W ("Has_Storage_Size_Clause",       Flag23  (Id));
        W ("Has_Stream_Size_Clause",        Flag184 (Id));
        W ("Has_Subprogram_Descriptor",     Flag93  (Id));
*************** package body Einfo is
*** 6273,6278 ****
--- 6616,6622 ----
        W ("In_Use",                        Flag8   (Id));
        W ("Is_AST_Entry",                  Flag132 (Id));
        W ("Is_Abstract",                   Flag19  (Id));
+       W ("Is_Local_Anonymous_Access",     Flag194 (Id));
        W ("Is_Access_Constant",            Flag69  (Id));
        W ("Is_Ada_2005",                   Flag185 (Id));
        W ("Is_Aliased",                    Flag15  (Id));
*************** package body Einfo is
*** 6311,6316 ****
--- 6655,6661 ----
        W ("Is_Imported",                   Flag24  (Id));
        W ("Is_Inlined",                    Flag11  (Id));
        W ("Is_Instantiated",               Flag126 (Id));
+       W ("Is_Interface",                  Flag186 (Id));
        W ("Is_Internal",                   Flag17  (Id));
        W ("Is_Interrupt_Handler",          Flag89  (Id));
        W ("Is_Intrinsic_Subprogram",       Flag64  (Id));
*************** package body Einfo is
*** 6318,6323 ****
--- 6663,6669 ----
        W ("Is_Known_Valid",                Flag37  (Id));
        W ("Is_Known_Valid",                Flag170 (Id));
        W ("Is_Limited_Composite",          Flag106 (Id));
+       W ("Is_Limited_Interface",          Flag197 (Id));
        W ("Is_Limited_Record",             Flag25  (Id));
        W ("Is_Machine_Code_Subprogram",    Flag137 (Id));
        W ("Is_Non_Static_Subtype",         Flag109 (Id));
*************** package body Einfo is
*** 6330,6346 ****
--- 6676,6697 ----
        W ("Is_Packed_Array_Type",          Flag138 (Id));
        W ("Is_Potentially_Use_Visible",    Flag9   (Id));
        W ("Is_Preelaborated",              Flag59  (Id));
+       W ("Is_Primitive_Wrapper",          Flag195 (Id));
        W ("Is_Private_Composite",          Flag107 (Id));
        W ("Is_Private_Descendant",         Flag53  (Id));
+       W ("Is_Protected_Interface",        Flag198 (Id));
        W ("Is_Public",                     Flag10  (Id));
        W ("Is_Pure",                       Flag44  (Id));
+       W ("Is_Pure_Unit_Access_Type",      Flag189 (Id));
        W ("Is_Remote_Call_Interface",      Flag62  (Id));
        W ("Is_Remote_Types",               Flag61  (Id));
        W ("Is_Renaming_Of_Object",         Flag112 (Id));
        W ("Is_Shared_Passive",             Flag60  (Id));
+       W ("Is_Synchronized_Interface",     Flag199 (Id));
        W ("Is_Statically_Allocated",       Flag28  (Id));
        W ("Is_Tag",                        Flag78  (Id));
        W ("Is_Tagged_Type",                Flag55  (Id));
+       W ("Is_Task_Interface",             Flag200 (Id));
        W ("Is_Thread_Body",                Flag77  (Id));
        W ("Is_True_Constant",              Flag163 (Id));
        W ("Is_Unchecked_Union",            Flag117 (Id));
*************** package body Einfo is
*** 6380,6385 ****
--- 6731,6737 ----
        W ("Uses_Sec_Stack",                Flag95  (Id));
        W ("Vax_Float",                     Flag151 (Id));
        W ("Warnings_Off",                  Flag96  (Id));
+       W ("Was_Hidden",                    Flag196 (Id));
     end Write_Entity_Flags;
  
     -----------------------
*************** package body Einfo is
*** 6939,6945 ****
                E_Procedure                                =>
              Write_Str ("Alias");
  
!          when E_Record_Type                =>
              Write_Str ("Corresponding_Concurrent_Type");
  
           when E_Entry_Index_Parameter                    =>
--- 7291,7297 ----
                E_Procedure                                =>
              Write_Str ("Alias");
  
!          when E_Record_Type                              =>
              Write_Str ("Corresponding_Concurrent_Type");
  
           when E_Entry_Index_Parameter                    =>
*************** package body Einfo is
*** 7255,7263 ****
     procedure Write_Field24_Name (Id : Entity_Id) is
     begin
        case Ekind (Id) is
!          when Subprogram_Kind                            =>
              Write_Str ("Obsolescent_Warning");
  
           when others                                     =>
              Write_Str ("Field24??");
        end case;
--- 7607,7626 ----
     procedure Write_Field24_Name (Id : Entity_Id) is
     begin
        case Ekind (Id) is
!          when E_Record_Type                              |
!               E_Record_Subtype                           |
!               E_Record_Type_With_Private                 |
!               E_Record_Subtype_With_Private              =>
!             Write_Str ("Abstract_Interfaces");
! 
!          when Subprogram_Kind                            |
!               E_Package                                  |
!               E_Generic_Package                          =>
              Write_Str ("Obsolescent_Warning");
  
+          when Task_Kind                                  =>
+             Write_Str ("Task_Body_Procedure");
+ 
           when others                                     =>
              Write_Str ("Field24??");
        end case;
*************** package body Einfo is
*** 7270,7275 ****
--- 7633,7645 ----
     procedure Write_Field25_Name (Id : Entity_Id) is
     begin
        case Ekind (Id) is
+          when E_Procedure                                |
+               E_Function                                 =>
+             Write_Str ("Abstract_Interface_Alias");
+ 
+          when E_Package                                  =>
+             Write_Str ("Current_Use_Clause");
+ 
           when others                                     =>
              Write_Str ("Field25??");
        end case;
*************** package body Einfo is
*** 7282,7287 ****
--- 7652,7665 ----
     procedure Write_Field26_Name (Id : Entity_Id) is
     begin
        case Ekind (Id) is
+          when E_Generic_Package                          |
+               E_Package                                  =>
+             Write_Str ("Package_Instantiation");
+ 
+          when E_Procedure                                |
+               E_Function                                 =>
+             Write_Str ("Overridden_Operation");
+ 
           when others                                     =>
              Write_Str ("Field26??");
        end case;
*************** package body Einfo is
*** 7294,7299 ****
--- 7672,7680 ----
     procedure Write_Field27_Name (Id : Entity_Id) is
     begin
        case Ekind (Id) is
+          when E_Procedure                                =>
+             Write_Str ("Wrapped_Entity");
+ 
           when others                                     =>
              Write_Str ("Field27??");
        end case;
diff -Nrcpad gcc-4.0.2/gcc/ada/einfo.ads gcc-4.1.0/gcc/ada/einfo.ads
*** gcc-4.0.2/gcc/ada/einfo.ads	Thu Feb 10 13:50:25 2005
--- gcc-4.1.0/gcc/ada/einfo.ads	Tue Nov 15 13:54:36 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Einfo is
*** 115,121 ****
  --     There can only be a single statement, contained on a single line,
  --     not counting any pragma Assert statements.
  
! --     This single statement must either by a function call with simple,
  --     single token arguments, or it must be a membership test of the form
  --     a in b, where a and b are single tokens.
  
--- 115,121 ----
  --     There can only be a single statement, contained on a single line,
  --     not counting any pragma Assert statements.
  
! --     This single statement must either be a function call with simple,
  --     single token arguments, or it must be a membership test of the form
  --     a in b, where a and b are single tokens.
  
*************** package Einfo is
*** 183,189 ****
  --       dynamic bounds, it is assumed that the value can range down or up
  --       to the corresponding bound of the ancestor
  
! --    The RM defined attribute Size corresponds to the Value_Size attribute.
  
  --    The Size attribute may be defined for a first-named subtype. This sets
  --    the Value_Size of the first-named subtype to the given value, and the
--- 183,189 ----
  --       dynamic bounds, it is assumed that the value can range down or up
  --       to the corresponding bound of the ancestor
  
! --    The RM defined attribute Size corresponds to the Value_Size attribute
  
  --    The Size attribute may be defined for a first-named subtype. This sets
  --    the Value_Size of the first-named subtype to the given value, and the
*************** package Einfo is
*** 286,291 ****
--- 286,302 ----
  --  and if assertions are enabled, an attempt to set the attribute on a
  --  subtype will raise an assert error.
  
+ --    Abstract_Interfaces (Elist24)
+ --       Present in record types and subtypes. List of abstract interfaces
+ --       implemented by a tagged type that are not already implemented by the
+ --       ancestors (Ada 2005: AI-251).
+ 
+ --    Abstract_Interface_Alias (Node25)
+ --       Present in subprograms that cover a primitive operation of an abstract
+ --       interface type. Points to its associated interface subprogram. It is
+ --       used to register the subprogram in secondary dispatch table of the
+ --       interface (Ada 2005: AI-251).
+ 
  --    Accept_Address (Elist21)
  --       Present in entries. If an accept has a statement sequence, then an
  --       address variable is created, which is used to hold the address of the
*************** package Einfo is
*** 313,321 ****
  --       rather irregular, and the semantic checks that depend on the nominal
  --       subtype being unconstrained use flag Is_Constr_Subt_For_U_Nominal(qv).
  
! --    Access_Disp_Table (Node16) [implementation base type only]
  --       Present in record type entities. For a tagged type, points to the
! --       dispatch table associated with the tagged type. For a non-tagged
  --       record, contains Empty.
  
  --    Address_Clause (synthesized)
--- 324,332 ----
  --       rather irregular, and the semantic checks that depend on the nominal
  --       subtype being unconstrained use flag Is_Constr_Subt_For_U_Nominal(qv).
  
! --    Access_Disp_Table (Elist16) [implementation base type only]
  --       Present in record type entities. For a tagged type, points to the
! --       dispatch tables associated with the tagged type. For a non-tagged
  --       record, contains Empty.
  
  --    Address_Clause (synthesized)
*************** package Einfo is
*** 583,588 ****
--- 594,604 ----
  --      created at the same time as the discriminal, and used to replace
  --      occurrences of the discriminant within the type declaration.
  
+ --    Current_Use_Clause (Node25)
+ --      Present in packages. Indicates the use clause currently in scope
+ --      that makes the package use_visible. Used to detect redundant use
+ --      clauses for the same package.
+ 
  --    Current_Value (Node9)
  --       Present in E_Variable, E_Out_Parameter and E_In_Out_Parameter
  --       entities. Set non-Empty if the (constant) current value of the
*************** package Einfo is
*** 790,802 ****
  --       Present in all entities. Contains a value of the enumeration type
  --       Entity_Kind declared in a subsequent section in this spec.
  
- --    Elaborate_All_Desirable (Flag146)
- --       Present in package and subprogram entities, and in generic package
- --       and subprogram entities. Set if internal analysis of a client that
- --       with's this unit determines that Elaborate_All is desirable, i.e.
- --       that there is a possibility that Program_Error may be raised if
- --       Elaborate_All conditions cannot be met.
- 
  --    Elaboration_Entity (Node13)
  --       Present in generic and non-generic package and subprogram
  --       entities. This is a boolean entity associated with the unit that
--- 806,811 ----
*************** package Einfo is
*** 1219,1224 ****
--- 1228,1238 ----
  --       be RCI entities, so the flag Is_Remote_Call_Interface will always
  --       be set if this flag is set.
  
+ --    Has_Anon_Block_Suffix (Flag201)
+ --       Present in all entities. Set if the entity is nested within one or
+ --       more anonymous blocks and the Chars field contains a name with an
+ --       anonymous block suffix (see Exp_Dbug for furthert details).
+ 
  --    Has_Atomic_Components (Flag86) [implementation base type only]
  --       Present in all types and objects. Set only for an array type or
  --       an array object if a valid pragma Atomic_Components applies to the
*************** package Einfo is
*** 1270,1275 ****
--- 1284,1295 ----
  --       present for the given type. Note that this flag can be False even
  --       if Component_Size is non-zero (happens in the case of derived types).
  
+ --    Has_Constrained_Partial_View (Flag187)
+ --       Present in private type and their completions, when the private
+ --       type has no discriminants and the full view has discriminants with
+ --       defaults. In Ada 2005 heap-allocated objects of such types are not
+ --       constrained, and can change their discriminants with full assignment.
+ 
  --    Has_Contiguous_Rep (Flag181)
  --       Present in enumeration types. True if the type as a representation
  --       clause whose entries are successive integers.
*************** package Einfo is
*** 1279,1288 ****
  --       function of a tagged type which can dispatch on result
  
  --    Has_Controlled_Component (Flag43) [base type only]
! --       Present in composite type entities. Indicates that the type has a
! --       component that either is a controlled type, or itself contains a
! --       controlled component (i.e. either Has_Controlled_Component or
! --       Is_Controlled is set for at least one component).
  
  --    Has_Convention_Pragma (Flag119)
  --       Present in an entity for which a Convention, Import, or Export
--- 1299,1308 ----
  --       function of a tagged type which can dispatch on result
  
  --    Has_Controlled_Component (Flag43) [base type only]
! --       Present in all entities. Set only for composite type entities which
! --       contain a component that either is a controlled type, or itself
! --       contains controlled component (i.e. either Has_Controlled_Component
! --       or Is_Controlled is set for at least one component).
  
  --    Has_Convention_Pragma (Flag119)
  --       Present in an entity for which a Convention, Import, or Export
*************** package Einfo is
*** 1341,1353 ****
  
  --    Has_Gigi_Rep_Item (Flag82)
  --       This flag is set if the rep item chain (referenced by First_Rep_Item
! --       and linked through the Next_Rep_Item chain contains a representation
  --       item that needs to be specially processed by Gigi, i.e. one of the
  --       following items:
  --
  --          Machine_Attribute pragma
  --          Linker_Alias pragma
  --          Linker_Section pragma
  --          Weak_External pragma
  --
  --       If this flag is set, then Gigi should scan the rep item chain to
--- 1361,1375 ----
  
  --    Has_Gigi_Rep_Item (Flag82)
  --       This flag is set if the rep item chain (referenced by First_Rep_Item
! --       and linked through the Next_Rep_Item chain) contains a representation
  --       item that needs to be specially processed by Gigi, i.e. one of the
  --       following items:
  --
  --          Machine_Attribute pragma
  --          Linker_Alias pragma
  --          Linker_Section pragma
+ --          Linker_Constructor pragma
+ --          Linker_Destructor pragma
  --          Weak_External pragma
  --
  --       If this flag is set, then Gigi should scan the rep item chain to
*************** package Einfo is
*** 1417,1422 ****
--- 1439,1451 ----
  --       5. N_Range_Constraint - when the range expression uses the
  --          discriminant of the enclosing type.
  
+ --    Has_Persistent_BSS (Flag188)
+ --       Present in all entities. Set True for entities to which a valid
+ --       pragma Persistent_BSS applies. Note that although the pragma is
+ --       only meaningful for objects, we set it for all entities in a unit
+ --       to which the pragma applies, as well as the unit entity itself, for
+ --       convenience in propagating the flag to contained entities.
+ 
  --    Has_Pragma_Controlled (Flag27) [implementation base type only]
  --       Present in access type entities. It is set if a pragma Controlled
  --       applies to the access type.
*************** package Einfo is
*** 1512,1517 ****
--- 1541,1556 ----
  --       representation clause, and thus is not inherited by a derived type.
  --       This flag is always False for non-record types.
  
+ --    Has_Specified_Stream_Input (Flag190)
+ --    Has_Specified_Stream_Output (Flag191)
+ --    Has_Specified_Stream_Read (Flag192)
+ --    Has_Specified_Stream_Write (Flag193)
+ --       Present in all type and subtype entities. Set for a given view if the
+ --       corresponding stream-oriented attribute has been defined by an
+ --       attribute definition clause. When such a clause occurs, a TSS is set
+ --       on the underlying full view; the flags are used to track visibility of
+ --       the attribute definition clause for partial or incomplete views.
+ 
  --    Has_Storage_Size_Clause (Flag23) [implementation base type only]
  --       Present in task types and access types. It is set if a Storage_Size
  --       clause is present for the type. Used to prevent multiple clauses for
*************** package Einfo is
*** 1597,1606 ****
  --    Implementation_Base_Type (synthesized)
  --       Applies to all types. Similar to Base_Type, but never returns a
  --       private type when applied to a non-private type. Instead in this
! --       case, it always returns the Representation_Type of the base type
! --       in this case, so that we still have a concrete type. Note: it is
! --       allowed to apply Implementation_Base_Type to other than a type,
! --       in which case it simply returns the entity unchanged.
  
  --    In_Package_Body (Flag48)
  --       Set on the entity that denotes the package (the defining occurrence
--- 1636,1645 ----
  --    Implementation_Base_Type (synthesized)
  --       Applies to all types. Similar to Base_Type, but never returns a
  --       private type when applied to a non-private type. Instead in this
! --       case, it always returns the Underlying_Type of the base type, so that
! --       we still have a concrete type. Note: it is allowed to apply
! --       Implementation_Base_Type to other than a type, in which case it
! --       simply returns the entity unchanged.
  
  --    In_Package_Body (Flag48)
  --       Set on the entity that denotes the package (the defining occurrence
*************** package Einfo is
*** 1651,1656 ****
--- 1690,1703 ----
  --       Present in all types, and also for functions and procedures. Set
  --       for abstract types and abstract subprograms.
  
+ --    Is_Local_Anonymous_Access (Flag194)
+ --       Present in access types. Set for an anonymous access type to indicate
+ --       that the type is created for a record component with an access
+ --       definition, an array component, or a stand-alone object. Such
+ --       anonymous types have an accessibility level equal to that of the
+ --       declaration in which they appear, unlike the anonymous access types
+ --       that are created for access parameters and access discriminants.
+ 
  --    Is_Access_Constant (Flag69)
  --       Present in access types and subtypes. Indicates that the keyword
  --       constant was present in the access type definition.
*************** package Einfo is
*** 1959,1968 ****
  --    Is_Integer_Type (synthesized)
  --       Applies to all entities, true for integer types and subtypes
  
  --    Is_Internal (Flag17)
  --       Present in all entities. Set to indicate an entity created during
! --       semantic processing (e.g. an implicit type). Need more documentation
! --       on this one! ???
  
  --    Is_Interrupt_Handler (Flag89)
  --       Present in procedures. Set if a pragma Interrupt_Handler applies
--- 2006,2026 ----
  --    Is_Integer_Type (synthesized)
  --       Applies to all entities, true for integer types and subtypes
  
+ --    Is_Interface (Flag186)
+ --       Present in record types and subtypes to indicate that the current
+ --       entity corresponds with an abstract interface. Because abstract
+ --       interfaces are conceptually a special kind of abstract tagged types
+ --       we represent them by means of tagged record types and subtypes
+ --       marked with this attribute. This allows us to reuse most of the
+ --       compiler support for abstract tagged types to implement interfaces
+ --       (Ada 2005: AI-251).
+ 
  --    Is_Internal (Flag17)
  --       Present in all entities. Set to indicate an entity created during
! --       semantic processing (e.g. an implicit type, or a temporary). The
! --       only current use of this flag is to indicate that temporaries
! --       generated for the result of an inlined function call need not be
! --       initialized, even when scalars are initialized or normalized.
  
  --    Is_Interrupt_Handler (Flag89)
  --       Present in procedures. Set if a pragma Interrupt_Handler applies
*************** package Einfo is
*** 2051,2056 ****
--- 2109,2118 ----
  --       do not become visible until the immediate scope of the composite
  --       type itself (RM 7.3.1 (5)).
  
+ --    Is_Limited_Interface (Flag197)
+ --       Present in types that are interfaces. True if interface is declared
+ --       limited, or is derived from limited interfaces.
+ 
  --    Is_Limited_Record (Flag25)
  --       Present in all entities. Set to true for record (sub)types if the
  --       record is declared to be limited. Note that this flag is not set
*************** package Einfo is
*** 2104,2111 ****
  --       including generic formal parameters.
  
  --    Is_Obsolescent (Flag153)
! --       Present in subprogram entities. Set if a valid pragma Obsolescent
! --       applies to the subprogram.
  
  --    Is_Optional_Parameter (Flag134)
  --       Present in parameter entities. Set if the parameter is specified as
--- 2166,2173 ----
  --       including generic formal parameters.
  
  --    Is_Obsolescent (Flag153)
! --       Present in all entities. Set only for packages and subprograms to
! --       which a valid pragma Obsolescent applies.
  
  --    Is_Optional_Parameter (Flag134)
  --       Present in parameter entities. Set if the parameter is specified as
*************** package Einfo is
*** 2120,2126 ****
  --       Present in subprograms. Set if the subprogram is a primitive
  --       operation of a derived type, that overrides an inherited operation.
  
! --    Is_Package (synthesized)
  --       Applies to all entities. True for packages and generic packages.
  --       False for all other entities.
  
--- 2182,2188 ----
  --       Present in subprograms. Set if the subprogram is a primitive
  --       operation of a derived type, that overrides an inherited operation.
  
! --    Is_Package_Or_Generic_Package (synthesized)
  --       Applies to all entities. True for packages and generic packages.
  --       False for all other entities.
  
*************** package Einfo is
*** 2188,2197 ****
  --       flag is set does not necesarily mean that no elaboration code is
  --       generated for the package.
  
  --    Is_Private_Composite (Flag107)
  --       Present in composite types that have a private component. Used to
  --       enforce the rule that operations on the composite type that depend
! --       on the fulll view of the component, do not become visible until the
  --       immediate scope of the composite type itself (7.3.1 (5)). Both this
  --       flag and Is_Limited_Composite are needed.
  
--- 2250,2264 ----
  --       flag is set does not necesarily mean that no elaboration code is
  --       generated for the package.
  
+ --    Is_Primitive_Wrapper (Flag195)
+ --       Present in E_Procedures. Primitive wrappers are Expander-generated
+ --       procedures that wrap entries of protected or task types implementing
+ --       a limited interface.
+ 
  --    Is_Private_Composite (Flag107)
  --       Present in composite types that have a private component. Used to
  --       enforce the rule that operations on the composite type that depend
! --       on the full view of the component, do not become visible until the
  --       immediate scope of the composite type itself (7.3.1 (5)). Both this
  --       flag and Is_Limited_Composite are needed.
  
*************** package Einfo is
*** 2204,2209 ****
--- 2271,2280 ----
  --       Applies to all entities, true for private types and subtypes,
  --       as well as for record with private types as subtypes
  
+ --    Is_Protected_Interface (Flag198)
+ --       Present in types that are interfaces. True if interface is declared
+ --       protected, or is derived from protected interfaces.
+ 
  --    Is_Protected_Type (synthesized)
  --       Applies to all entities, true for protected types and subtypes
  
*************** package Einfo is
*** 2232,2237 ****
--- 2303,2313 ----
  --       resulting from assignment to out parameters, or to objects designated
  --       by access parameters).
  
+ --    Is_Pure_Unit_Access_Type (Flag189)
+ --       Present in access type and subtype entities. Set if the type or
+ --       subtype appears in a pure unit. Used to give an error message at
+ --       freeze time if the access type has a storage pool.
+ 
  --    Is_Real_Type (synthesized)
  --       Applies to all entities, true for real types and subtypes
  
*************** package Einfo is
*** 2293,2298 ****
--- 2369,2378 ----
  --       or a string slice type, or an array type with one dimension and a
  --       component type that is a character type.
  
+ --    Is_Synchronized_Interface (Flag199)
+ --       Present_types that are interfaces. True is interface is declared
+ --       synchronized, or is derived from synchronized interfaces.
+ 
  --    Is_Tag (Flag78)
  --       Present in E_Component. For regular tagged type this flag is set on
  --       the tag component (whose name is Name_uTag) and for CPP_Class tagged
*************** package Einfo is
*** 2302,2307 ****
--- 2382,2391 ----
  --    Is_Tagged_Type (Flag55)
  --       Present in all entities, true for an entity for a tagged type.
  
+ --    Is_Task_Interface (Flag200)
+ --       Present in types that are interfaces. True is interface is declared
+ --        as such, or if it is derived from task interfaces.
+ 
  --    Is_Task_Record_Type (synthesized)
  --       Applies to all entities, true if Is_Concurrent_Record_Type
  --       Corresponding_Concurrent_Type is a task type.
*************** package Einfo is
*** 2472,2478 ****
  --       accurately a storage unit boundary). The front end checks that
  --       component clauses respect this rule, and the back end ensures
  --       that record packing does not violate this rule. Currently the
! --       flag is set only for packed arrays longer than 64 bits.
  
  --    Needs_Debug_Info (Flag147)
  --       Present in all entities. Set if the entity requires debugging
--- 2556,2563 ----
  --       accurately a storage unit boundary). The front end checks that
  --       component clauses respect this rule, and the back end ensures
  --       that record packing does not violate this rule. Currently the
! --       flag is set only for packed arrays longer than 64 bits where
! --       the component size is not a power of 2.
  
  --    Needs_Debug_Info (Flag147)
  --       Present in all entities. Set if the entity requires debugging
*************** package Einfo is
*** 2666,2673 ****
  --       formals as a value of type Pos.
  
  --    Obsolescent_Warning (Node24)
! --       Present in subprogram entities. Set non-empty only if the pragma
! --       Obsolescent had a string argument, in which case it records the
  --       contents of the corresponding string literal node.
  
  --    Original_Access_Type (Node21)
--- 2751,2758 ----
  --       formals as a value of type Pos.
  
  --    Obsolescent_Warning (Node24)
! --       Present in package and subprogram entities. Set non-empty only if the
! --       pragma Obsolescent had a string argument, in which case it records the
  --       contents of the corresponding string literal node.
  
  --    Original_Access_Type (Node21)
*************** package Einfo is
*** 2708,2713 ****
--- 2793,2814 ----
  --       In subtypes (tagged and untagged):
  --         Points to the component in the base type.
  
+ --    Overridden_Operation (Node26)
+ --       Present in subprograms. For overriding operations, points to the
+ --       user-defined parent subprogram that is being overridden.
+ 
+ --    Package_Instantiation (Node26)
+ --       Present in packages and generic packages. When present, this field
+ --       references an N_Package_Instantiation node associated with an
+ --       instantiated package. In the case where the referenced node has
+ --       been rewritten to an N_Package_Specification, the instantiation
+ --       node is available from the Original_Node field of the package spec
+ --       node. This is currently not guaranteed to be set in all cases, but
+ --       when set, the field is used in Get_Package_Instantiation_Node as
+ --       one of the means of obtaining the instantiation node. Eventually
+ --       it should be set in all cases, including package entities associated
+ --       with formal packages. ???
+ 
  --    Packed_Array_Type (Node23)
  --       Present in array types and subtypes, including the string literal
  --       subtype case, if the corresponding type is packed (either bit packed
*************** package Einfo is
*** 3070,3078 ****
  --       Present in all entities. Suppresses any style checks specifically
  --       associated with the given entity if set.
  
! --    Tag_Component (synthesized)
! --       Applies to tagged record types, returns the entity for the _Tag
! --       field in this record, which must be present.
  
  --    Treat_As_Volatile (Flag41)
  --       Present in all type entities, and also in constants, components and
--- 3171,3189 ----
  --       Present in all entities. Suppresses any style checks specifically
  --       associated with the given entity if set.
  
! --    Task_Body_Procedure (Node24)
! --       Present in task types and subtypes. Points to the entity for
! --       the task body procedure (as further described in Exp_Ch9, task
! --       bodies are expanded into procedures). A convenient function to
! --       retrieve this field is Sem_Util.Get_Task_Body_Procedure.
! 
! --    First_Tag_Component (synthesized)
! --       Applies to tagged record types, returns the entity for the first
! --       _Tag field in this record.
! 
! --    Next_Tag_Component (synthesized)
! --       Applies to components of tagged record types. Given a _Tag field
! --       of a record, returns the next _Tag field in this record.
  
  --    Treat_As_Volatile (Flag41)
  --       Present in all type entities, and also in constants, components and
*************** package Einfo is
*** 3149,3154 ****
--- 3260,3273 ----
  --       is used to suppress warnings for a given entity. It is also used by
  --       the compiler in some situations to kill spurious warnings.
  
+ --    Was_Hidden (Flag196)
+ --       Present in all entities. Used to save the value of the Is_Hidden
+ --       attribute when the limited-view is installed (Ada 2005: AI-217).
+ 
+ --    Wrapped_Entity (Node27)
+ --       Present in an E_Procedure classified as a Is_Primitive_Wrapper. Set
+ --       to the entity that is being wrapped.
+ 
     ------------------
     -- Access Kinds --
     ------------------
*************** package Einfo is
*** 3417,3423 ****
        --  A record type, created by a record type declaration
  
        E_Record_Subtype,
!       --  A record subtype, created by a record subtype declaration.
  
        E_Record_Type_With_Private,
        --  Used for types defined by a private extension declaration, and
--- 3536,3542 ----
        --  A record type, created by a record type declaration
  
        E_Record_Subtype,
!       --  A record subtype, created by a record subtype declaration
  
        E_Record_Type_With_Private,
        --  Used for types defined by a private extension declaration, and
*************** package Einfo is
*** 3428,3434 ****
        --  a private type.
  
        E_Record_Subtype_With_Private,
!       --  A subtype of a type defined by a private extension declaration.
  
        E_Private_Type,
        --  A private type, created by a private type declaration
--- 3547,3553 ----
        --  a private type.
  
        E_Record_Subtype_With_Private,
!       --  A subtype of a type defined by a private extension declaration
  
        E_Private_Type,
        --  A private type, created by a private type declaration
*************** package Einfo is
*** 3902,3908 ****
     --  For each enumeration value defined in Entity_Kind we list all the
     --  attributes defined in Einfo which can legally be applied to an entity
     --  of that kind. The implementation of the attribute functions (and for
!    --  non-synthesized attributes, or the corresponding set procedures) are
     --  in the Einfo body.
  
     --  The following attributes apply to all entities
--- 4021,4027 ----
     --  For each enumeration value defined in Entity_Kind we list all the
     --  attributes defined in Einfo which can legally be applied to an entity
     --  of that kind. The implementation of the attribute functions (and for
!    --  non-synthetized attributes, of the corresponding set procedures) are
     --  in the Einfo body.
  
     --  The following attributes apply to all entities
*************** package Einfo is
*** 3921,3931 ****
--- 4040,4053 ----
     --    Can_Never_Be_Null             (Flag38)
     --    Checks_May_Be_Suppressed      (Flag31)
     --    Debug_Info_Off                (Flag166)
+    --    Has_Anon_Block_Suffix         (Flag201)
+    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    Has_Convention_Pragma         (Flag119)
     --    Has_Delayed_Freeze            (Flag18)
     --    Has_Fully_Qualified_Name      (Flag173)
     --    Has_Gigi_Rep_Item             (Flag82)
     --    Has_Homonym                   (Flag56)
+    --    Has_Persistent_BSS            (Flag188)
     --    Has_Pragma_Elaborate_Body     (Flag150)
     --    Has_Pragma_Inline             (Flag157)
     --    Has_Pragma_Unreferenced       (Flag180)
*************** package Einfo is
*** 3955,3964 ****
--- 4077,4088 ----
     --    Is_Known_Valid                (Flag170)
     --    Is_Limited_Composite          (Flag106)
     --    Is_Limited_Record             (Flag25)
+    --    Is_Obsolescent                (Flag153)
     --    Is_Package_Body_Entity        (Flag160)
     --    Is_Packed_Array_Type          (Flag138)
     --    Is_Potentially_Use_Visible    (Flag9)
     --    Is_Preelaborated              (Flag59)
+    --    Is_Primitive_Wrapper          (Flag195)
     --    Is_Public                     (Flag10)
     --    Is_Pure                       (Flag44)
     --    Is_Remote_Call_Interface      (Flag62)
*************** package Einfo is
*** 3976,3981 ****
--- 4100,4106 ----
     --    Referenced_As_LHS             (Flag36)
     --    Suppress_Elaboration_Warnings (Flag148)
     --    Suppress_Style_Checks         (Flag165)
+    --    Was_Hidden                    (Flag196)
  
     --    Declaration_Node              (synth)
     --    Enclosing_Dynamic_Scope       (synth)
*************** package Einfo is
*** 4005,4016 ****
--- 4130,4146 ----
     --    Has_Alignment_Clause          (Flag46)
     --    Has_Atomic_Components         (Flag86)   (base type only)
     --    Has_Complex_Representation    (Flag140)  (base type only)
+    --    Has_Constrained_Partial_View  (Flag187)
     --    Has_Discriminants             (Flag5)
     --    Has_Non_Standard_Rep          (Flag75)   (base type only)
     --    Has_Object_Size_Clause        (Flag172)
     --    Has_Primitive_Operations      (Flag120)  (base type only)
     --    Has_Size_Clause               (Flag29)
     --    Has_Specified_Layout          (Flag100)  (base type only)
+    --    Has_Specified_Stream_Input    (Flag190)
+    --    Has_Specified_Stream_Output   (Flag191)
+    --    Has_Specified_Stream_Read     (Flag192)
+    --    Has_Specified_Stream_Write    (Flag193)
     --    Has_Task                      (Flag30)   (base type only)
     --    Has_Unchecked_Union           (Flag123)  (base type only)
     --    Has_Volatile_Components       (Flag87)   (base type only)
*************** package Einfo is
*** 4025,4030 ****
--- 4155,4164 ----
     --    Is_Frozen                     (Flag4)
     --    Is_Generic_Actual_Type        (Flag94)
     --    Is_Generic_Type               (Flag13)
+    --    Is_Limited_Interface          (Flag197)
+    --    Is_Protected_Interface        (Flag198)
+    --    Is_Synchronized_Interface     (Flag199)
+    --    Is_Task_Interface             (Flag200)
     --    Is_Non_Static_Subtype         (Flag109)
     --    Is_Packed                     (Flag51)   (base type only)
     --    Is_Private_Composite          (Flag107)
*************** package Einfo is
*** 4078,4084 ****
--- 4212,4220 ----
     --    Associated_Final_Chain        (Node23)
     --    Has_Pragma_Controlled         (Flag27)   (base type only)
     --    Has_Storage_Size_Clause       (Flag23)   (base type only)
+    --    Is_Local_Anonymous_Access     (Flag194)
     --    Is_Access_Constant            (Flag69)
+    --    Is_Pure_Unit_Access_Type      (Flag189)
     --    No_Pool_Assigned              (Flag131)  (base type only)
     --    No_Strict_Aliasing            (Flag136)  (base type only)
     --    (plus type attributes)
*************** package Einfo is
*** 4108,4114 ****
     --    Packed_Array_Type             (Node23)
     --    Component_Alignment           (special)  (base type only)
     --    Has_Component_Size_Clause     (Flag68)   (base type only)
-    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    Has_Pragma_Pack               (Flag121)  (base type only)
     --    Is_Aliased                    (Flag15)
     --    Is_Constrained                (Flag12)
--- 4244,4249 ----
*************** package Einfo is
*** 4137,4143 ****
     --    First_Entity                  (Node17)
     --    Equivalent_Type               (Node18)   (always Empty in type case)
     --    Last_Entity                   (Node20)
-    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    First_Component               (synth)
     --    (plus type attributes)
  
--- 4272,4277 ----
*************** package Einfo is
*** 4165,4170 ****
--- 4299,4305 ----
     --    Treat_As_Volatile             (Flag41)
     --    Is_Protected_Private          (synth)
     --    Next_Component                (synth)
+    --    Next_Tag_Component            (synth)
  
     --  E_Constant
     --  E_Loop_Parameter
*************** package Einfo is
*** 4320,4325 ****
--- 4455,4462 ----
     --    Inner_Instances               (Elist23)  (for a generic function)
     --    Privals_Chain                 (Elist23)  (for a protected function)
     --    Obsolescent_Warning           (Node24)
+    --    Abstract_Interface_Alias      (Node25)
+    --    Overridden_Operation          (Node26)
     --    Body_Needed_For_SAL           (Flag40)
     --    Elaboration_Entity_Required   (Flag174)
     --    Function_Returns_With_DSP     (Flag169)
*************** package Einfo is
*** 4327,4333 ****
     --    Delay_Cleanups                (Flag114)
     --    Delay_Subprogram_Descriptors  (Flag50)
     --    Discard_Names                 (Flag88)
-    --    Elaborate_All_Desirable       (Flag146)
     --    Has_Completion                (Flag26)
     --    Has_Controlling_Result        (Flag98)
     --    Has_Master_Entity             (Flag21)
--- 4464,4469 ----
*************** package Einfo is
*** 4344,4350 ****
     --    Is_Instantiated               (Flag126)  (generic case only)
     --    Is_Intrinsic_Subprogram       (Flag64)
     --    Is_Machine_Code_Subprogram    (Flag137)  (non-generic case only)
-    --    Is_Obsolescent                (Flag153)
     --    Is_Overriding_Operation       (Flag39)   (non-generic case only)
     --    Is_Private_Descendant         (Flag53)
     --    Is_Pure                       (Flag44)
--- 4480,4485 ----
*************** package Einfo is
*** 4496,4505 ****
     --    Generic_Renamings             (Elist23)  (for an instance)
     --    Inner_Instances               (Elist23)  (generic case only)
     --    Limited_View                  (Node23)   (non-generic, not instance)
     --    Delay_Subprogram_Descriptors  (Flag50)
     --    Body_Needed_For_SAL           (Flag40)
     --    Discard_Names                 (Flag88)
-    --    Elaborate_All_Desirable       (Flag146)
     --    Elaboration_Entity_Required   (Flag174)
     --    From_With_Type                (Flag159)
     --    Has_All_Calls_Remote          (Flag79)
--- 4631,4642 ----
     --    Generic_Renamings             (Elist23)  (for an instance)
     --    Inner_Instances               (Elist23)  (generic case only)
     --    Limited_View                  (Node23)   (non-generic, not instance)
+    --    Obsolescent_Warning           (Node24)
+    --    Current_Use_Clause            (Node25)
+    --    Package_Instantiation         (Node26)
     --    Delay_Subprogram_Descriptors  (Flag50)
     --    Body_Needed_For_SAL           (Flag40)
     --    Discard_Names                 (Flag88)
     --    Elaboration_Entity_Required   (Flag174)
     --    From_With_Type                (Flag159)
     --    Has_All_Calls_Remote          (Flag79)
*************** package Einfo is
*** 4567,4572 ****
--- 4704,4713 ----
     --    Inner_Instances               (Elist23)  (for a generic procedure)
     --    Privals_Chain                 (Elist23)  (for a protected procedure)
     --    Obsolescent_Warning           (Node24)
+    --    Abstract_Interface_Alias      (Node25)
+    --    Overridden_Operation          (Node26)
+    --    Wrapped_Entity                (Node27)   (non-generic case only)
+ 
     --    Body_Needed_For_SAL           (Flag40)
     --    Elaboration_Entity_Required   (Flag174)
     --    Function_Returns_With_DSP     (Flag169)  (always False for procedure)
*************** package Einfo is
*** 4574,4580 ****
     --    Delay_Cleanups                (Flag114)
     --    Delay_Subprogram_Descriptors  (Flag50)
     --    Discard_Names                 (Flag88)
-    --    Elaborate_All_Desirable       (Flag146)
     --    Has_Completion                (Flag26)
     --    Has_Master_Entity             (Flag21)
     --    Has_Nested_Block_With_Handler (Flag101)
--- 4715,4720 ----
*************** package Einfo is
*** 4591,4598 ****
     --    Is_Intrinsic_Subprogram       (Flag64)
     --    Is_Machine_Code_Subprogram    (Flag137)  (non-generic case only)
     --    Is_Null_Init_Proc             (Flag178)
-    --    Is_Obsolescent                (Flag153)
     --    Is_Overriding_Operation       (Flag39)   (non-generic case only)
     --    Is_Private_Descendant         (Flag53)
     --    Is_Pure                       (Flag44)
     --    Is_Thread_Body                (Flag77)   (non-generic case only)
--- 4731,4739 ----
     --    Is_Intrinsic_Subprogram       (Flag64)
     --    Is_Machine_Code_Subprogram    (Flag137)  (non-generic case only)
     --    Is_Null_Init_Proc             (Flag178)
     --    Is_Overriding_Operation       (Flag39)   (non-generic case only)
+    --    Is_Primitive_Wrapper          (Flag195)  (non-generic case only)
+ 
     --    Is_Private_Descendant         (Flag53)
     --    Is_Pure                       (Flag44)
     --    Is_Thread_Body                (Flag77)   (non-generic case only)
*************** package Einfo is
*** 4623,4629 ****
     --    Scope_Depth_Value             (Uint22)
     --    Scope_Depth                   (synth)
     --    Stored_Constraint             (Elist23)
-    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    Has_Interrupt_Handler         (synth)
     --    Sec_Stack_Needed_For_Return   (Flag167) ???
     --    Uses_Sec_Stack                (Flag95) ???
--- 4764,4769 ----
*************** package Einfo is
*** 4633,4639 ****
     --  E_Record_Type
     --  E_Record_Subtype
     --    Primitive_Operations          (Elist15)
!    --    Access_Disp_Table             (Node16)   (base type only)
     --    Cloned_Subtype                (Node16)   (subtype case only)
     --    First_Entity                  (Node17)
     --    Corresponding_Concurrent_Type (Node18)
--- 4773,4779 ----
     --  E_Record_Type
     --  E_Record_Subtype
     --    Primitive_Operations          (Elist15)
!    --    Access_Disp_Table             (Elist16)  (base type only)
     --    Cloned_Subtype                (Node16)   (subtype case only)
     --    First_Entity                  (Node17)
     --    Corresponding_Concurrent_Type (Node18)
*************** package Einfo is
*** 4642,4667 ****
     --    Discriminant_Constraint       (Elist21)
     --    Corresponding_Remote_Type     (Node22)
     --    Stored_Constraint             (Elist23)
     --    Component_Alignment           (special)  (base type only)
     --    C_Pass_By_Copy                (Flag125)  (base type only)
-    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    Has_External_Tag_Rep_Clause   (Flag110)
     --    Has_Record_Rep_Clause         (Flag65)   (base type only)
     --    Is_Class_Wide_Equivalent_Type (Flag35)
     --    Is_Concurrent_Record_Type     (Flag20)
     --    Is_Constrained                (Flag12)
     --    Is_Controlled                 (Flag42)   (base type only)
     --    Reverse_Bit_Order             (Flag164)  (base type only)
     --    First_Component               (synth)
     --    First_Discriminant            (synth)
     --    First_Stored_Discriminant     (synth)
!    --    Tag_Component                 (synth)
     --    (plus type attributes)
  
     --  E_Record_Type_With_Private
     --  E_Record_Subtype_With_Private
     --    Primitive_Operations          (Elist15)
!    --    Access_Disp_Table             (Node16)   (base type only)
     --    First_Entity                  (Node17)
     --    Private_Dependents            (Elist18)
     --    Underlying_Full_View          (Node19)
--- 4782,4808 ----
     --    Discriminant_Constraint       (Elist21)
     --    Corresponding_Remote_Type     (Node22)
     --    Stored_Constraint             (Elist23)
+    --    Abstract_Interfaces           (Elist24)
     --    Component_Alignment           (special)  (base type only)
     --    C_Pass_By_Copy                (Flag125)  (base type only)
     --    Has_External_Tag_Rep_Clause   (Flag110)
     --    Has_Record_Rep_Clause         (Flag65)   (base type only)
     --    Is_Class_Wide_Equivalent_Type (Flag35)
     --    Is_Concurrent_Record_Type     (Flag20)
     --    Is_Constrained                (Flag12)
     --    Is_Controlled                 (Flag42)   (base type only)
+    --    Is_Interface                  (Flag186)
     --    Reverse_Bit_Order             (Flag164)  (base type only)
     --    First_Component               (synth)
     --    First_Discriminant            (synth)
     --    First_Stored_Discriminant     (synth)
!    --    First_Tag_Component           (synth)
     --    (plus type attributes)
  
     --  E_Record_Type_With_Private
     --  E_Record_Subtype_With_Private
     --    Primitive_Operations          (Elist15)
!    --    Access_Disp_Table             (Elist16)  (base type only)
     --    First_Entity                  (Node17)
     --    Private_Dependents            (Elist18)
     --    Underlying_Full_View          (Node19)
*************** package Einfo is
*** 4669,4687 ****
     --    Discriminant_Constraint       (Elist21)
     --    Private_View                  (Node22)
     --    Stored_Constraint             (Elist23)
     --    Has_Completion                (Flag26)
     --    Has_Completion_In_Body        (Flag71)
-    --    Has_Controlled_Component      (Flag43)   (base type only)
     --    Has_Record_Rep_Clause         (Flag65)   (base type only)
     --    Has_External_Tag_Rep_Clause   (Flag110)
     --    Is_Concurrent_Record_Type     (Flag20)
     --    Is_Constrained                (Flag12)
     --    Is_Controlled                 (Flag42)   (base type only)
     --    Reverse_Bit_Order             (Flag164)  (base type only)
     --    First_Component               (synth)
     --    First_Discriminant            (synth)
     --    First_Stored_Discriminant     (synth)
!    --    Tag_Component                 (synth)
     --    (plus type attributes)
  
     --  E_Signed_Integer_Type
--- 4810,4829 ----
     --    Discriminant_Constraint       (Elist21)
     --    Private_View                  (Node22)
     --    Stored_Constraint             (Elist23)
+    --    Abstract_Interfaces           (Elist24)
     --    Has_Completion                (Flag26)
     --    Has_Completion_In_Body        (Flag71)
     --    Has_Record_Rep_Clause         (Flag65)   (base type only)
     --    Has_External_Tag_Rep_Clause   (Flag110)
     --    Is_Concurrent_Record_Type     (Flag20)
     --    Is_Constrained                (Flag12)
     --    Is_Controlled                 (Flag42)   (base type only)
+    --    Is_Interface                  (Flag186)
     --    Reverse_Bit_Order             (Flag164)  (base type only)
     --    First_Component               (synth)
     --    First_Discriminant            (synth)
     --    First_Stored_Discriminant     (synth)
!    --    First_Tag_Component           (synth)
     --    (plus type attributes)
  
     --  E_Signed_Integer_Type
*************** package Einfo is
*** 4737,4742 ****
--- 4879,4885 ----
     --    Scope_Depth_Value             (Uint22)
     --    Scope_Depth                   (synth)
     --    Stored_Constraint             (Elist23)
+    --    Task_Body_Procedure           (Node24)
     --    Delay_Cleanups                (Flag114)
     --    Has_Master_Entity             (Flag21)
     --    Has_Storage_Size_Clause       (Flag23)   (base type only)
*************** package Einfo is
*** 5006,5016 ****
     --  section contains the functions used to obtain attribute values which
     --  correspond to values in fields or flags in the entity itself.
  
     function Accept_Address                     (Id : E) return L;
!    function Access_Disp_Table                  (Id : E) return E;
     function Actual_Subtype                     (Id : E) return E;
     function Address_Taken                      (Id : E) return B;
     function Alias                              (Id : E) return E;
     function Alignment                          (Id : E) return U;
     function Associated_Final_Chain             (Id : E) return E;
     function Associated_Formal_Package          (Id : E) return E;
--- 5149,5161 ----
     --  section contains the functions used to obtain attribute values which
     --  correspond to values in fields or flags in the entity itself.
  
+    function Abstract_Interfaces                (Id : E) return L;
     function Accept_Address                     (Id : E) return L;
!    function Access_Disp_Table                  (Id : E) return L;
     function Actual_Subtype                     (Id : E) return E;
     function Address_Taken                      (Id : E) return B;
     function Alias                              (Id : E) return E;
+    function Abstract_Interface_Alias           (Id : E) return E;
     function Alignment                          (Id : E) return U;
     function Associated_Final_Chain             (Id : E) return E;
     function Associated_Formal_Package          (Id : E) return E;
*************** package Einfo is
*** 5036,5041 ****
--- 5181,5187 ----
     function Corresponding_Equality             (Id : E) return E;
     function Corresponding_Record_Type          (Id : E) return E;
     function Corresponding_Remote_Type          (Id : E) return E;
+    function Current_Use_Clause                 (Id : E) return E;
     function Current_Value                      (Id : E) return N;
     function Debug_Info_Off                     (Id : E) return B;
     function Debug_Renaming_Link                (Id : E) return E;
*************** package Einfo is
*** 5059,5065 ****
     function Discriminant_Constraint            (Id : E) return L;
     function Discriminant_Default_Value         (Id : E) return N;
     function Discriminant_Number                (Id : E) return U;
-    function Elaborate_All_Desirable            (Id : E) return B;
     function Elaboration_Entity                 (Id : E) return E;
     function Elaboration_Entity_Required        (Id : E) return B;
     function Enclosing_Scope                    (Id : E) return E;
--- 5205,5210 ----
*************** package Einfo is
*** 5099,5110 ****
--- 5244,5257 ----
     function Has_Aliased_Components             (Id : E) return B;
     function Has_Alignment_Clause               (Id : E) return B;
     function Has_All_Calls_Remote               (Id : E) return B;
+    function Has_Anon_Block_Suffix              (Id : E) return B;
     function Has_Atomic_Components              (Id : E) return B;
     function Has_Biased_Representation          (Id : E) return B;
     function Has_Completion                     (Id : E) return B;
     function Has_Completion_In_Body             (Id : E) return B;
     function Has_Complex_Representation         (Id : E) return B;
     function Has_Component_Size_Clause          (Id : E) return B;
+    function Has_Constrained_Partial_View       (Id : E) return B;
     function Has_Contiguous_Rep                 (Id : E) return B;
     function Has_Controlled_Component           (Id : E) return B;
     function Has_Controlling_Result             (Id : E) return B;
*************** package Einfo is
*** 5126,5131 ****
--- 5273,5279 ----
     function Has_Non_Standard_Rep               (Id : E) return B;
     function Has_Object_Size_Clause             (Id : E) return B;
     function Has_Per_Object_Constraint          (Id : E) return B;
+    function Has_Persistent_BSS                 (Id : E) return B;
     function Has_Pragma_Controlled              (Id : E) return B;
     function Has_Pragma_Elaborate_Body          (Id : E) return B;
     function Has_Pragma_Inline                  (Id : E) return B;
*************** package Einfo is
*** 5139,5144 ****
--- 5287,5296 ----
     function Has_Size_Clause                    (Id : E) return B;
     function Has_Small_Clause                   (Id : E) return B;
     function Has_Specified_Layout               (Id : E) return B;
+    function Has_Specified_Stream_Input         (Id : E) return B;
+    function Has_Specified_Stream_Output        (Id : E) return B;
+    function Has_Specified_Stream_Read          (Id : E) return B;
+    function Has_Specified_Stream_Write         (Id : E) return B;
     function Has_Storage_Size_Clause            (Id : E) return B;
     function Has_Stream_Size_Clause             (Id : E) return B;
     function Has_Subprogram_Descriptor          (Id : E) return B;
*************** package Einfo is
*** 5156,5161 ****
--- 5308,5314 ----
     function Interface_Name                     (Id : E) return N;
     function Is_AST_Entry                       (Id : E) return B;
     function Is_Abstract                        (Id : E) return B;
+    function Is_Local_Anonymous_Access          (Id : E) return B;
     function Is_Access_Constant                 (Id : E) return B;
     function Is_Ada_2005                        (Id : E) return B;
     function Is_Aliased                         (Id : E) return B;
*************** package Einfo is
*** 5189,5194 ****
--- 5342,5348 ----
     function Is_Immediately_Visible             (Id : E) return B;
     function Is_Imported                        (Id : E) return B;
     function Is_Inlined                         (Id : E) return B;
+    function Is_Interface                       (Id : E) return B;
     function Is_Instantiated                    (Id : E) return B;
     function Is_Internal                        (Id : E) return B;
     function Is_Interrupt_Handler               (Id : E) return B;
*************** package Einfo is
*** 5197,5202 ****
--- 5351,5357 ----
     function Is_Known_Non_Null                  (Id : E) return B;
     function Is_Known_Valid                     (Id : E) return B;
     function Is_Limited_Composite               (Id : E) return B;
+    function Is_Limited_Interface               (Id : E) return B;
     function Is_Machine_Code_Subprogram         (Id : E) return B;
     function Is_Non_Static_Subtype              (Id : E) return B;
     function Is_Null_Init_Proc                  (Id : E) return B;
*************** package Einfo is
*** 5207,5223 ****
--- 5362,5384 ----
     function Is_Packed_Array_Type               (Id : E) return B;
     function Is_Potentially_Use_Visible         (Id : E) return B;
     function Is_Preelaborated                   (Id : E) return B;
+    function Is_Primitive_Wrapper               (Id : E) return B;
+ 
     function Is_Private_Composite               (Id : E) return B;
     function Is_Private_Descendant              (Id : E) return B;
+    function Is_Protected_Interface             (Id : E) return B;
     function Is_Public                          (Id : E) return B;
     function Is_Pure                            (Id : E) return B;
+    function Is_Pure_Unit_Access_Type           (Id : E) return B;
     function Is_Remote_Call_Interface           (Id : E) return B;
     function Is_Remote_Types                    (Id : E) return B;
     function Is_Renaming_Of_Object              (Id : E) return B;
     function Is_Shared_Passive                  (Id : E) return B;
     function Is_Statically_Allocated            (Id : E) return B;
+    function Is_Synchronized_Interface          (Id : E) return B;
     function Is_Tag                             (Id : E) return B;
     function Is_Tagged_Type                     (Id : E) return B;
+    function Is_Task_Interface                  (Id : E) return B;
     function Is_Thread_Body                     (Id : E) return B;
     function Is_True_Constant                   (Id : E) return B;
     function Is_Unchecked_Union                 (Id : E) return B;
*************** package Einfo is
*** 5258,5263 ****
--- 5419,5426 ----
     function Original_Access_Type               (Id : E) return E;
     function Original_Array_Type                (Id : E) return E;
     function Original_Record_Component          (Id : E) return E;
+    function Overridden_Operation               (Id : E) return E;
+    function Package_Instantiation              (Id : E) return N;
     function Packed_Array_Type                  (Id : E) return E;
     function Parent_Subtype                     (Id : E) return E;
     function Primitive_Operations               (Id : E) return L;
*************** package Einfo is
*** 5302,5313 ****
--- 5465,5479 ----
     function Suppress_Elaboration_Warnings      (Id : E) return B;
     function Suppress_Init_Proc                 (Id : E) return B;
     function Suppress_Style_Checks              (Id : E) return B;
+    function Task_Body_Procedure                (Id : E) return N;
     function Treat_As_Volatile                  (Id : E) return B;
     function Underlying_Full_View               (Id : E) return E;
     function Unset_Reference                    (Id : E) return N;
     function Uses_Sec_Stack                     (Id : E) return B;
     function Vax_Float                          (Id : E) return B;
     function Warnings_Off                       (Id : E) return B;
+    function Was_Hidden                         (Id : E) return B;
+    function Wrapped_Entity                     (Id : E) return E;
  
     -------------------------------
     -- Classification Attributes --
*************** package Einfo is
*** 5395,5401 ****
     function Is_Dynamic_Scope                   (Id : E) return B;
     function Is_Indefinite_Subtype              (Id : E) return B;
     function Is_Limited_Type                    (Id : E) return B;
!    function Is_Package                         (Id : E) return B;
     function Is_Protected_Private               (Id : E) return B;
     function Is_Protected_Record_Type           (Id : E) return B;
     function Is_Return_By_Reference_Type        (Id : E) return B;
--- 5561,5567 ----
     function Is_Dynamic_Scope                   (Id : E) return B;
     function Is_Indefinite_Subtype              (Id : E) return B;
     function Is_Limited_Type                    (Id : E) return B;
!    function Is_Package_Or_Generic_Package      (Id : E) return B;
     function Is_Protected_Private               (Id : E) return B;
     function Is_Protected_Record_Type           (Id : E) return B;
     function Is_Return_By_Reference_Type        (Id : E) return B;
*************** package Einfo is
*** 5416,5422 ****
     function Scope_Depth_Set                    (Id : E) return B;
     function Size_Clause                        (Id : E) return N;
     function Stream_Size_Clause                 (Id : E) return N;
!    function Tag_Component                      (Id : E) return E;
     function Type_High_Bound                    (Id : E) return N;
     function Type_Low_Bound                     (Id : E) return N;
     function Underlying_Type                    (Id : E) return E;
--- 5582,5589 ----
     function Scope_Depth_Set                    (Id : E) return B;
     function Size_Clause                        (Id : E) return N;
     function Stream_Size_Clause                 (Id : E) return N;
!    function First_Tag_Component                (Id : E) return E;
!    function Next_Tag_Component                 (Id : E) return E;
     function Type_High_Bound                    (Id : E) return N;
     function Type_Low_Bound                     (Id : E) return N;
     function Underlying_Type                    (Id : E) return E;
*************** package Einfo is
*** 5481,5491 ****
     -- Attribute Set Procedures --
     ------------------------------
  
     procedure Set_Accept_Address                (Id : E; V : L);
!    procedure Set_Access_Disp_Table             (Id : E; V : E);
     procedure Set_Actual_Subtype                (Id : E; V : E);
     procedure Set_Address_Taken                 (Id : E; V : B := True);
     procedure Set_Alias                         (Id : E; V : E);
     procedure Set_Alignment                     (Id : E; V : U);
     procedure Set_Associated_Final_Chain        (Id : E; V : E);
     procedure Set_Associated_Formal_Package     (Id : E; V : E);
--- 5648,5660 ----
     -- Attribute Set Procedures --
     ------------------------------
  
+    procedure Set_Abstract_Interfaces           (Id : E; V : L);
     procedure Set_Accept_Address                (Id : E; V : L);
!    procedure Set_Access_Disp_Table             (Id : E; V : L);
     procedure Set_Actual_Subtype                (Id : E; V : E);
     procedure Set_Address_Taken                 (Id : E; V : B := True);
     procedure Set_Alias                         (Id : E; V : E);
+    procedure Set_Abstract_Interface_Alias      (Id : E; V : E);
     procedure Set_Alignment                     (Id : E; V : U);
     procedure Set_Associated_Final_Chain        (Id : E; V : E);
     procedure Set_Associated_Formal_Package     (Id : E; V : E);
*************** package Einfo is
*** 5511,5516 ****
--- 5680,5686 ----
     procedure Set_Corresponding_Equality        (Id : E; V : E);
     procedure Set_Corresponding_Record_Type     (Id : E; V : E);
     procedure Set_Corresponding_Remote_Type     (Id : E; V : E);
+    procedure Set_Current_Use_Clause            (Id : E; V : E);
     procedure Set_Current_Value                 (Id : E; V : N);
     procedure Set_Debug_Info_Off                (Id : E; V : B := True);
     procedure Set_Debug_Renaming_Link           (Id : E; V : E);
*************** package Einfo is
*** 5534,5540 ****
     procedure Set_Discriminant_Constraint       (Id : E; V : L);
     procedure Set_Discriminant_Default_Value    (Id : E; V : N);
     procedure Set_Discriminant_Number           (Id : E; V : U);
-    procedure Set_Elaborate_All_Desirable       (Id : E; V : B := True);
     procedure Set_Elaboration_Entity            (Id : E; V : E);
     procedure Set_Elaboration_Entity_Required   (Id : E; V : B := True);
     procedure Set_Enclosing_Scope               (Id : E; V : E);
--- 5704,5709 ----
*************** package Einfo is
*** 5573,5584 ****
--- 5742,5755 ----
     procedure Set_Has_Aliased_Components        (Id : E; V : B := True);
     procedure Set_Has_Alignment_Clause          (Id : E; V : B := True);
     procedure Set_Has_All_Calls_Remote          (Id : E; V : B := True);
+    procedure Set_Has_Anon_Block_Suffix         (Id : E; V : B := True);
     procedure Set_Has_Atomic_Components         (Id : E; V : B := True);
     procedure Set_Has_Biased_Representation     (Id : E; V : B := True);
     procedure Set_Has_Completion                (Id : E; V : B := True);
     procedure Set_Has_Completion_In_Body        (Id : E; V : B := True);
     procedure Set_Has_Complex_Representation    (Id : E; V : B := True);
     procedure Set_Has_Component_Size_Clause     (Id : E; V : B := True);
+    procedure Set_Has_Constrained_Partial_View  (Id : E; V : B := True);
     procedure Set_Has_Contiguous_Rep            (Id : E; V : B := True);
     procedure Set_Has_Controlled_Component      (Id : E; V : B := True);
     procedure Set_Has_Controlling_Result        (Id : E; V : B := True);
*************** package Einfo is
*** 5599,5604 ****
--- 5770,5776 ----
     procedure Set_Has_Non_Standard_Rep          (Id : E; V : B := True);
     procedure Set_Has_Object_Size_Clause        (Id : E; V : B := True);
     procedure Set_Has_Per_Object_Constraint     (Id : E; V : B := True);
+    procedure Set_Has_Persistent_BSS            (Id : E; V : B := True);
     procedure Set_Has_Pragma_Controlled         (Id : E; V : B := True);
     procedure Set_Has_Pragma_Elaborate_Body     (Id : E; V : B := True);
     procedure Set_Has_Pragma_Inline             (Id : E; V : B := True);
*************** package Einfo is
*** 5613,5618 ****
--- 5785,5794 ----
     procedure Set_Has_Size_Clause               (Id : E; V : B := True);
     procedure Set_Has_Small_Clause              (Id : E; V : B := True);
     procedure Set_Has_Specified_Layout          (Id : E; V : B := True);
+    procedure Set_Has_Specified_Stream_Input    (Id : E; V : B := True);
+    procedure Set_Has_Specified_Stream_Output   (Id : E; V : B := True);
+    procedure Set_Has_Specified_Stream_Read     (Id : E; V : B := True);
+    procedure Set_Has_Specified_Stream_Write    (Id : E; V : B := True);
     procedure Set_Has_Storage_Size_Clause       (Id : E; V : B := True);
     procedure Set_Has_Stream_Size_Clause        (Id : E; V : B := True);
     procedure Set_Has_Subprogram_Descriptor     (Id : E; V : B := True);
*************** package Einfo is
*** 5630,5635 ****
--- 5806,5812 ----
     procedure Set_Interface_Name                (Id : E; V : N);
     procedure Set_Is_AST_Entry                  (Id : E; V : B := True);
     procedure Set_Is_Abstract                   (Id : E; V : B := True);
+    procedure Set_Is_Local_Anonymous_Access     (Id : E; V : B := True);
     procedure Set_Is_Access_Constant            (Id : E; V : B := True);
     procedure Set_Is_Ada_2005                   (Id : E; V : B := True);
     procedure Set_Is_Aliased                    (Id : E; V : B := True);
*************** package Einfo is
*** 5667,5672 ****
--- 5844,5850 ----
     procedure Set_Is_Immediately_Visible        (Id : E; V : B := True);
     procedure Set_Is_Imported                   (Id : E; V : B := True);
     procedure Set_Is_Inlined                    (Id : E; V : B := True);
+    procedure Set_Is_Interface                  (Id : E; V : B := True);
     procedure Set_Is_Instantiated               (Id : E; V : B := True);
     procedure Set_Is_Internal                   (Id : E; V : B := True);
     procedure Set_Is_Interrupt_Handler          (Id : E; V : B := True);
*************** package Einfo is
*** 5675,5680 ****
--- 5853,5859 ----
     procedure Set_Is_Known_Non_Null             (Id : E; V : B := True);
     procedure Set_Is_Known_Valid                (Id : E; V : B := True);
     procedure Set_Is_Limited_Composite          (Id : E; V : B := True);
+    procedure Set_Is_Limited_Interface          (Id : E; V : B := True);
     procedure Set_Is_Limited_Record             (Id : E; V : B := True);
     procedure Set_Is_Machine_Code_Subprogram    (Id : E; V : B := True);
     procedure Set_Is_Non_Static_Subtype         (Id : E; V : B := True);
*************** package Einfo is
*** 5687,5703 ****
--- 5866,5887 ----
     procedure Set_Is_Packed_Array_Type          (Id : E; V : B := True);
     procedure Set_Is_Potentially_Use_Visible    (Id : E; V : B := True);
     procedure Set_Is_Preelaborated              (Id : E; V : B := True);
+    procedure Set_Is_Primitive_Wrapper          (Id : E; V : B := True);
     procedure Set_Is_Private_Composite          (Id : E; V : B := True);
     procedure Set_Is_Private_Descendant         (Id : E; V : B := True);
+    procedure Set_Is_Protected_Interface        (Id : E; V : B := True);
     procedure Set_Is_Public                     (Id : E; V : B := True);
     procedure Set_Is_Pure                       (Id : E; V : B := True);
+    procedure Set_Is_Pure_Unit_Access_Type      (Id : E; V : B := True);
     procedure Set_Is_Remote_Call_Interface      (Id : E; V : B := True);
     procedure Set_Is_Remote_Types               (Id : E; V : B := True);
     procedure Set_Is_Renaming_Of_Object         (Id : E; V : B := True);
     procedure Set_Is_Shared_Passive             (Id : E; V : B := True);
     procedure Set_Is_Statically_Allocated       (Id : E; V : B := True);
+    procedure Set_Is_Synchronized_Interface     (Id : E; V : B := True);
     procedure Set_Is_Tag                        (Id : E; V : B := True);
     procedure Set_Is_Tagged_Type                (Id : E; V : B := True);
+    procedure Set_Is_Task_Interface             (Id : E; V : B := True);
     procedure Set_Is_Thread_Body                (Id : E; V : B := True);
     procedure Set_Is_True_Constant              (Id : E; V : B := True);
     procedure Set_Is_Unchecked_Union            (Id : E; V : B := True);
*************** package Einfo is
*** 5737,5742 ****
--- 5921,5928 ----
     procedure Set_Original_Access_Type          (Id : E; V : E);
     procedure Set_Original_Array_Type           (Id : E; V : E);
     procedure Set_Original_Record_Component     (Id : E; V : E);
+    procedure Set_Overridden_Operation          (Id : E; V : E);
+    procedure Set_Package_Instantiation         (Id : E; V : N);
     procedure Set_Packed_Array_Type             (Id : E; V : E);
     procedure Set_Parent_Subtype                (Id : E; V : E);
     procedure Set_Primitive_Operations          (Id : E; V : L);
*************** package Einfo is
*** 5781,5792 ****
--- 5967,5981 ----
     procedure Set_Suppress_Elaboration_Warnings (Id : E; V : B := True);
     procedure Set_Suppress_Init_Proc            (Id : E; V : B := True);
     procedure Set_Suppress_Style_Checks         (Id : E; V : B := True);
+    procedure Set_Task_Body_Procedure           (Id : E; V : N);
     procedure Set_Treat_As_Volatile             (Id : E; V : B := True);
     procedure Set_Underlying_Full_View          (Id : E; V : E);
     procedure Set_Unset_Reference               (Id : E; V : N);
     procedure Set_Uses_Sec_Stack                (Id : E; V : B := True);
     procedure Set_Vax_Float                     (Id : E; V : B := True);
     procedure Set_Warnings_Off                  (Id : E; V : B := True);
+    procedure Set_Was_Hidden                    (Id : E; V : B := True);
+    procedure Set_Wrapped_Entity                (Id : E; V : E);
  
     -----------------------------------
     -- Field Initialization Routines --
*************** package Einfo is
*** 5912,5918 ****
       (E  : Entity_Id;
        Id : Attribute_Id) return Node_Id;
     --  Searches the Rep_Item chain for a given entity E, for an instance
!    --  of an attribute definition clause with the given attibute Id Id. If
     --  found, the value returned is the N_Attribute_Definition_Clause node,
     --  otherwise Empty is returned.
  
--- 6101,6107 ----
       (E  : Entity_Id;
        Id : Attribute_Id) return Node_Id;
     --  Searches the Rep_Item chain for a given entity E, for an instance
!    --  of an attribute definition clause with the given attribute Id. If
     --  found, the value returned is the N_Attribute_Definition_Clause node,
     --  otherwise Empty is returned.
  
*************** package Einfo is
*** 5930,5936 ****
       (E  : Entity_Id;
        Id : Attribute_Id) return Boolean;
     --  Searches the Rep_Item chain for a given entity E, for an instance
!    --  of an attribute definition clause with the given attibute Id Id. If
     --  found, True is returned, otherwise False indicates that no matching
     --  entry was found.
  
--- 6119,6125 ----
       (E  : Entity_Id;
        Id : Attribute_Id) return Boolean;
     --  Searches the Rep_Item chain for a given entity E, for an instance
!    --  of an attribute definition clause with the given attribute Id. If
     --  found, True is returned, otherwise False indicates that no matching
     --  entry was found.
  
*************** package Einfo is
*** 6012,6021 ****
--- 6201,6212 ----
     --  subprograms meeting the requirements documented in the section on
     --  XEINFO may be referenced in this section.
  
+    pragma Inline (Abstract_Interfaces);
     pragma Inline (Accept_Address);
     pragma Inline (Access_Disp_Table);
     pragma Inline (Actual_Subtype);
     pragma Inline (Address_Taken);
+    pragma Inline (Abstract_Interface_Alias);
     pragma Inline (Alias);
     pragma Inline (Alignment);
     pragma Inline (Associated_Final_Chain);
*************** package Einfo is
*** 6041,6046 ****
--- 6232,6238 ----
     pragma Inline (Corresponding_Equality);
     pragma Inline (Corresponding_Record_Type);
     pragma Inline (Corresponding_Remote_Type);
+    pragma Inline (Current_Use_Clause);
     pragma Inline (Current_Value);
     pragma Inline (Debug_Info_Off);
     pragma Inline (Debug_Renaming_Link);
*************** package Einfo is
*** 6064,6070 ****
     pragma Inline (Discriminant_Constraint);
     pragma Inline (Discriminant_Default_Value);
     pragma Inline (Discriminant_Number);
-    pragma Inline (Elaborate_All_Desirable);
     pragma Inline (Elaboration_Entity);
     pragma Inline (Elaboration_Entity_Required);
     pragma Inline (Enclosing_Scope);
--- 6256,6261 ----
*************** package Einfo is
*** 6103,6114 ****
--- 6294,6307 ----
     pragma Inline (Has_Aliased_Components);
     pragma Inline (Has_Alignment_Clause);
     pragma Inline (Has_All_Calls_Remote);
+    pragma Inline (Has_Anon_Block_Suffix);
     pragma Inline (Has_Atomic_Components);
     pragma Inline (Has_Biased_Representation);
     pragma Inline (Has_Completion);
     pragma Inline (Has_Completion_In_Body);
     pragma Inline (Has_Complex_Representation);
     pragma Inline (Has_Component_Size_Clause);
+    pragma Inline (Has_Constrained_Partial_View);
     pragma Inline (Has_Contiguous_Rep);
     pragma Inline (Has_Controlled_Component);
     pragma Inline (Has_Controlling_Result);
*************** package Einfo is
*** 6129,6134 ****
--- 6322,6328 ----
     pragma Inline (Has_Non_Standard_Rep);
     pragma Inline (Has_Object_Size_Clause);
     pragma Inline (Has_Per_Object_Constraint);
+    pragma Inline (Has_Persistent_BSS);
     pragma Inline (Has_Pragma_Controlled);
     pragma Inline (Has_Pragma_Elaborate_Body);
     pragma Inline (Has_Pragma_Inline);
*************** package Einfo is
*** 6143,6148 ****
--- 6337,6346 ----
     pragma Inline (Has_Size_Clause);
     pragma Inline (Has_Small_Clause);
     pragma Inline (Has_Specified_Layout);
+    pragma Inline (Has_Specified_Stream_Input);
+    pragma Inline (Has_Specified_Stream_Output);
+    pragma Inline (Has_Specified_Stream_Read);
+    pragma Inline (Has_Specified_Stream_Write);
     pragma Inline (Has_Storage_Size_Clause);
     pragma Inline (Has_Stream_Size_Clause);
     pragma Inline (Has_Subprogram_Descriptor);
*************** package Einfo is
*** 6160,6165 ****
--- 6358,6364 ----
     pragma Inline (Interface_Name);
     pragma Inline (Is_AST_Entry);
     pragma Inline (Is_Abstract);
+    pragma Inline (Is_Local_Anonymous_Access);
     pragma Inline (Is_Access_Constant);
     pragma Inline (Is_Ada_2005);
     pragma Inline (Is_Access_Type);
*************** package Einfo is
*** 6216,6221 ****
--- 6415,6421 ----
     pragma Inline (Is_Imported);
     pragma Inline (Is_Incomplete_Or_Private_Type);
     pragma Inline (Is_Inlined);
+    pragma Inline (Is_Interface);
     pragma Inline (Is_Instantiated);
     pragma Inline (Is_Integer_Type);
     pragma Inline (Is_Internal);
*************** package Einfo is
*** 6225,6230 ****
--- 6425,6431 ----
     pragma Inline (Is_Known_Non_Null);
     pragma Inline (Is_Known_Valid);
     pragma Inline (Is_Limited_Composite);
+    pragma Inline (Is_Limited_Interface);
     pragma Inline (Is_Limited_Record);
     pragma Inline (Is_Machine_Code_Subprogram);
     pragma Inline (Is_Modular_Integer_Type);
*************** package Einfo is
*** 6243,6254 ****
--- 6444,6459 ----
     pragma Inline (Is_Packed_Array_Type);
     pragma Inline (Is_Potentially_Use_Visible);
     pragma Inline (Is_Preelaborated);
+    pragma Inline (Is_Primitive_Wrapper);
+ 
     pragma Inline (Is_Private_Composite);
     pragma Inline (Is_Private_Descendant);
     pragma Inline (Is_Private_Type);
+    pragma Inline (Is_Protected_Interface);
     pragma Inline (Is_Protected_Type);
     pragma Inline (Is_Public);
     pragma Inline (Is_Pure);
+    pragma Inline (Is_Pure_Unit_Access_Type);
     pragma Inline (Is_Real_Type);
     pragma Inline (Is_Record_Type);
     pragma Inline (Is_Remote_Call_Interface);
*************** package Einfo is
*** 6259,6266 ****
--- 6464,6473 ----
     pragma Inline (Is_Signed_Integer_Type);
     pragma Inline (Is_Statically_Allocated);
     pragma Inline (Is_Subprogram);
+    pragma Inline (Is_Synchronized_Interface);
     pragma Inline (Is_Tag);
     pragma Inline (Is_Tagged_Type);
+    pragma Inline (Is_Task_Interface);
     pragma Inline (Is_Thread_Body);
     pragma Inline (Is_True_Constant);
     pragma Inline (Is_Task_Type);
*************** package Einfo is
*** 6303,6308 ****
--- 6510,6517 ----
     pragma Inline (Original_Access_Type);
     pragma Inline (Original_Array_Type);
     pragma Inline (Original_Record_Component);
+    pragma Inline (Overridden_Operation);
+    pragma Inline (Package_Instantiation);
     pragma Inline (Packed_Array_Type);
     pragma Inline (Parameter_Mode);
     pragma Inline (Parent_Subtype);
*************** package Einfo is
*** 6348,6359 ****
--- 6557,6571 ----
     pragma Inline (Suppress_Elaboration_Warnings);
     pragma Inline (Suppress_Init_Proc);
     pragma Inline (Suppress_Style_Checks);
+    pragma Inline (Task_Body_Procedure);
     pragma Inline (Treat_As_Volatile);
     pragma Inline (Underlying_Full_View);
     pragma Inline (Unset_Reference);
     pragma Inline (Uses_Sec_Stack);
     pragma Inline (Vax_Float);
     pragma Inline (Warnings_Off);
+    pragma Inline (Was_Hidden);
+    pragma Inline (Wrapped_Entity);
  
     pragma Inline (Init_Alignment);
     pragma Inline (Init_Component_Bit_Offset);
*************** package Einfo is
*** 6362,6371 ****
--- 6574,6585 ----
     pragma Inline (Init_Esize);
     pragma Inline (Init_RM_Size);
  
+    pragma Inline (Set_Abstract_Interfaces);
     pragma Inline (Set_Accept_Address);
     pragma Inline (Set_Access_Disp_Table);
     pragma Inline (Set_Actual_Subtype);
     pragma Inline (Set_Address_Taken);
+    pragma Inline (Set_Abstract_Interface_Alias);
     pragma Inline (Set_Alias);
     pragma Inline (Set_Alignment);
     pragma Inline (Set_Associated_Final_Chain);
*************** package Einfo is
*** 6391,6396 ****
--- 6605,6611 ----
     pragma Inline (Set_Corresponding_Equality);
     pragma Inline (Set_Corresponding_Record_Type);
     pragma Inline (Set_Corresponding_Remote_Type);
+    pragma Inline (Set_Current_Use_Clause);
     pragma Inline (Set_Current_Value);
     pragma Inline (Set_Debug_Info_Off);
     pragma Inline (Set_Debug_Renaming_Link);
*************** package Einfo is
*** 6413,6419 ****
     pragma Inline (Set_Discriminant_Constraint);
     pragma Inline (Set_Discriminant_Default_Value);
     pragma Inline (Set_Discriminant_Number);
-    pragma Inline (Set_Elaborate_All_Desirable);
     pragma Inline (Set_Elaboration_Entity);
     pragma Inline (Set_Elaboration_Entity_Required);
     pragma Inline (Set_Enclosing_Scope);
--- 6628,6633 ----
*************** package Einfo is
*** 6450,6461 ****
--- 6664,6677 ----
     pragma Inline (Set_Has_Aliased_Components);
     pragma Inline (Set_Has_Alignment_Clause);
     pragma Inline (Set_Has_All_Calls_Remote);
+    pragma Inline (Set_Has_Anon_Block_Suffix);
     pragma Inline (Set_Has_Atomic_Components);
     pragma Inline (Set_Has_Biased_Representation);
     pragma Inline (Set_Has_Completion);
     pragma Inline (Set_Has_Completion_In_Body);
     pragma Inline (Set_Has_Complex_Representation);
     pragma Inline (Set_Has_Component_Size_Clause);
+    pragma Inline (Set_Has_Constrained_Partial_View);
     pragma Inline (Set_Has_Contiguous_Rep);
     pragma Inline (Set_Has_Controlled_Component);
     pragma Inline (Set_Has_Controlling_Result);
*************** package Einfo is
*** 6476,6481 ****
--- 6692,6698 ----
     pragma Inline (Set_Has_Non_Standard_Rep);
     pragma Inline (Set_Has_Object_Size_Clause);
     pragma Inline (Set_Has_Per_Object_Constraint);
+    pragma Inline (Set_Has_Persistent_BSS);
     pragma Inline (Set_Has_Pragma_Controlled);
     pragma Inline (Set_Has_Pragma_Elaborate_Body);
     pragma Inline (Set_Has_Pragma_Inline);
*************** package Einfo is
*** 6490,6495 ****
--- 6707,6716 ----
     pragma Inline (Set_Has_Size_Clause);
     pragma Inline (Set_Has_Small_Clause);
     pragma Inline (Set_Has_Specified_Layout);
+    pragma Inline (Set_Has_Specified_Stream_Input);
+    pragma Inline (Set_Has_Specified_Stream_Output);
+    pragma Inline (Set_Has_Specified_Stream_Read);
+    pragma Inline (Set_Has_Specified_Stream_Write);
     pragma Inline (Set_Has_Storage_Size_Clause);
     pragma Inline (Set_Has_Subprogram_Descriptor);
     pragma Inline (Set_Has_Task);
*************** package Einfo is
*** 6506,6511 ****
--- 6727,6733 ----
     pragma Inline (Set_Interface_Name);
     pragma Inline (Set_Is_AST_Entry);
     pragma Inline (Set_Is_Abstract);
+    pragma Inline (Set_Is_Local_Anonymous_Access);
     pragma Inline (Set_Is_Access_Constant);
     pragma Inline (Set_Is_Ada_2005);
     pragma Inline (Set_Is_Aliased);
*************** package Einfo is
*** 6543,6548 ****
--- 6765,6771 ----
     pragma Inline (Set_Is_Immediately_Visible);
     pragma Inline (Set_Is_Imported);
     pragma Inline (Set_Is_Inlined);
+    pragma Inline (Set_Is_Interface);
     pragma Inline (Set_Is_Instantiated);
     pragma Inline (Set_Is_Internal);
     pragma Inline (Set_Is_Interrupt_Handler);
*************** package Einfo is
*** 6551,6556 ****
--- 6774,6780 ----
     pragma Inline (Set_Is_Known_Non_Null);
     pragma Inline (Set_Is_Known_Valid);
     pragma Inline (Set_Is_Limited_Composite);
+    pragma Inline (Set_Is_Limited_Interface);
     pragma Inline (Set_Is_Limited_Record);
     pragma Inline (Set_Is_Machine_Code_Subprogram);
     pragma Inline (Set_Is_Non_Static_Subtype);
*************** package Einfo is
*** 6563,6579 ****
--- 6787,6809 ----
     pragma Inline (Set_Is_Packed_Array_Type);
     pragma Inline (Set_Is_Potentially_Use_Visible);
     pragma Inline (Set_Is_Preelaborated);
+    pragma Inline (Set_Is_Primitive_Wrapper);
+ 
     pragma Inline (Set_Is_Private_Composite);
     pragma Inline (Set_Is_Private_Descendant);
+    pragma Inline (Set_Is_Protected_Interface);
     pragma Inline (Set_Is_Public);
     pragma Inline (Set_Is_Pure);
+    pragma Inline (Set_Is_Pure_Unit_Access_Type);
     pragma Inline (Set_Is_Remote_Call_Interface);
     pragma Inline (Set_Is_Remote_Types);
     pragma Inline (Set_Is_Renaming_Of_Object);
     pragma Inline (Set_Is_Shared_Passive);
     pragma Inline (Set_Is_Statically_Allocated);
+    pragma Inline (Set_Is_Synchronized_Interface);
     pragma Inline (Set_Is_Tag);
     pragma Inline (Set_Is_Tagged_Type);
+    pragma Inline (Set_Is_Task_Interface);
     pragma Inline (Set_Is_Thread_Body);
     pragma Inline (Set_Is_True_Constant);
     pragma Inline (Set_Is_Unchecked_Union);
*************** package Einfo is
*** 6613,6618 ****
--- 6843,6850 ----
     pragma Inline (Set_Original_Access_Type);
     pragma Inline (Set_Original_Array_Type);
     pragma Inline (Set_Original_Record_Component);
+    pragma Inline (Set_Overridden_Operation);
+    pragma Inline (Set_Package_Instantiation);
     pragma Inline (Set_Packed_Array_Type);
     pragma Inline (Set_Parent_Subtype);
     pragma Inline (Set_Primitive_Operations);
*************** package Einfo is
*** 6657,6668 ****
--- 6889,6903 ----
     pragma Inline (Set_Suppress_Elaboration_Warnings);
     pragma Inline (Set_Suppress_Init_Proc);
     pragma Inline (Set_Suppress_Style_Checks);
+    pragma Inline (Set_Task_Body_Procedure);
     pragma Inline (Set_Treat_As_Volatile);
     pragma Inline (Set_Underlying_Full_View);
     pragma Inline (Set_Unset_Reference);
     pragma Inline (Set_Uses_Sec_Stack);
     pragma Inline (Set_Vax_Float);
     pragma Inline (Set_Warnings_Off);
+    pragma Inline (Set_Was_Hidden);
+    pragma Inline (Set_Wrapped_Entity);
  
     --  END XEINFO INLINES
  
*************** package Einfo is
*** 6673,6679 ****
     --  things here which are small, but not of the canonical attribute
     --  access/set format that can be handled by xeinfo.
  
!    pragma Inline (Is_Package);
     pragma Inline (Is_Wrapper_Package);
     pragma Inline (Known_RM_Size);
     pragma Inline (Known_Static_Component_Bit_Offset);
--- 6908,6914 ----
     --  things here which are small, but not of the canonical attribute
     --  access/set format that can be handled by xeinfo.
  
!    pragma Inline (Is_Package_Or_Generic_Package);
     pragma Inline (Is_Wrapper_Package);
     pragma Inline (Known_RM_Size);
     pragma Inline (Known_Static_Component_Bit_Offset);
diff -Nrcpad gcc-4.0.2/gcc/ada/elists.adb gcc-4.1.0/gcc/ada/elists.adb
*** gcc-4.0.2/gcc/ada/elists.adb	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/elists.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/elists.ads gcc-4.1.0/gcc/ada/elists.ads
*** gcc-4.0.2/gcc/ada/elists.ads	Mon Jan  3 15:43:23 2005
--- gcc-4.1.0/gcc/ada/elists.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package Elists is
*** 122,131 ****
     --  that contains no items.
  
     procedure Append_Elmt (Node : Node_Id; To : Elist_Id);
!    --  Appends Node at the end of To, allocating a new element.
  
     procedure Prepend_Elmt (Node : Node_Id; To : Elist_Id);
!    --  Appends Node at the beginning of To, allocating a new element.
  
     procedure Insert_Elmt_After (Node : Node_Id; Elmt : Elmt_Id);
     --  Add a new element (Node) right after the pre-existing element Elmt
--- 122,131 ----
     --  that contains no items.
  
     procedure Append_Elmt (Node : Node_Id; To : Elist_Id);
!    --  Appends Node at the end of To, allocating a new element
  
     procedure Prepend_Elmt (Node : Node_Id; To : Elist_Id);
!    --  Appends Node at the beginning of To, allocating a new element
  
     procedure Insert_Elmt_After (Node : Node_Id; Elmt : Elmt_Id);
     --  Add a new element (Node) right after the pre-existing element Elmt
diff -Nrcpad gcc-4.0.2/gcc/ada/elists.h gcc-4.1.0/gcc/ada/elists.h
*** gcc-4.0.2/gcc/ada/elists.h	Fri Oct 24 13:02:42 2003
--- gcc-4.1.0/gcc/ada/elists.h	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * GNAT was originally developed  by the GNAT team at  New York University. *
   * Extensive contributions were provided by Ada Core Technologies Inc.      *
diff -Nrcpad gcc-4.0.2/gcc/ada/err_vars.ads gcc-4.1.0/gcc/ada/err_vars.ads
*** gcc-4.0.2/gcc/ada/err_vars.ads	Tue Oct 21 13:41:58 2003
--- gcc-4.1.0/gcc/ada/err_vars.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Err_Vars is
*** 103,108 ****
--- 103,112 ----
     --  note get reset by any Error_Msg call, so the caller is responsible
     --  for resetting it.
  
+    Error_Msg_Warn : Boolean;
+    --  Used if current message contains a < insertion character to indicate
+    --  if the current message is a warning message.
+ 
     Warn_On_Instance : Boolean := False;
     --  Normally if a warning is generated in a generic template from the
     --  analysis of the template, then the warning really belongs in the
diff -Nrcpad gcc-4.0.2/gcc/ada/errno.c gcc-4.1.0/gcc/ada/errno.c
*** gcc-4.0.2/gcc/ada/errno.c	Mon Feb  9 10:44:12 2004
--- gcc-4.1.0/gcc/ada/errno.c	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  /****************************************************************************
   *                                                                          *
!  *                GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS               *
   *                                                                          *
   *                                E R R N O                                 *
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *           Copyright (C) 1992-2004 Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 1,12 ----
  /****************************************************************************
   *                                                                          *
!  *                 GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS                 *
   *                                                                          *
   *                                E R R N O                                 *
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *           Copyright (C) 1992-2005, Free Software Foundation, Inc.        *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/errout.adb gcc-4.1.0/gcc/ada/errout.adb
*** gcc-4.0.2/gcc/ada/errout.adb	Thu Feb 10 13:50:48 2005
--- gcc-4.1.0/gcc/ada/errout.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Sinfo;    use Sinfo;
*** 49,55 ****
  with Snames;   use Snames;
  with Stand;    use Stand;
  with Style;
- with Uintp;    use Uintp;
  with Uname;    use Uname;
  
  with Unchecked_Conversion;
--- 49,54 ----
*************** package body Errout is
*** 322,335 ****
           return;
        end if;
  
!       --  The idea at this stage is that we have two kinds of messages.
  
!       --  First, we have those that are to be placed as requested at
!       --  Flag_Location. This includes messages that have nothing to
!       --  do with generics, and also messages placed on generic templates
!       --  that reflect an error in the template itself. For such messages
!       --  we simply call Error_Msg_Internal to place the message in the
!       --  requested location.
  
        if Instantiation (Sindex) = No_Location then
           Error_Msg_Internal (Msg, Flag_Location, Flag_Location, False);
--- 321,333 ----
           return;
        end if;
  
!       --  The idea at this stage is that we have two kinds of messages
  
!       --  First, we have those messages that are to be placed as requested at
!       --  Flag_Location. This includes messages that have nothing to do with
!       --  generics, and also messages placed on generic templates that reflect
!       --  an error in the template itself. For such messages we simply call
!       --  Error_Msg_Internal to place the message in the requested location.
  
        if Instantiation (Sindex) = No_Location then
           Error_Msg_Internal (Msg, Flag_Location, Flag_Location, False);
*************** package body Errout is
*** 493,498 ****
--- 491,499 ----
        --  since there may be white space inside the literal and we don't want
        --  to stop on that white space.
  
+       --  Note: since this is an error recovery issue anyway, it is not worth
+       --  worrying about special UTF_32 line terminator characters here.
+ 
        if Prev_Token = Tok_String_Literal then
           loop
              S1 := S1 + 1;
*************** package body Errout is
*** 512,518 ****
  
        --  Otherwise we search forward for the end of the current token, marked
        --  by a line terminator, white space, a comment symbol or if we bump
!       --  into the following token (i.e. the current token)
  
        else
           while Source (S1) not in Line_Terminator
--- 513,522 ----
  
        --  Otherwise we search forward for the end of the current token, marked
        --  by a line terminator, white space, a comment symbol or if we bump
!       --  into the following token (i.e. the current token).
! 
!       --  Again, it is not worth worrying about UTF_32 special line terminator
!       --  characters in this context, since this is only for error recovery.
  
        else
           while Source (S1) not in Line_Terminator
*************** package body Errout is
*** 528,534 ****
        --  S1 is now set to the location for the flag
  
        Error_Msg (Msg, S1);
- 
     end Error_Msg_AP;
  
     ------------------
--- 532,537 ----
*************** package body Errout is
*** 577,583 ****
        S : String (1 .. Feature'Length + 1 + CCRT'Length);
        L : Natural;
  
- 
     begin
        S (1) := '|';
        S (2 .. Feature'Length + 1) := Feature;
--- 580,585 ----
*************** package body Errout is
*** 602,608 ****
  
     procedure Error_Msg_F (Msg : String; N : Node_Id) is
     begin
!       Error_Msg_NEL (Msg, N, N, First_Sloc (N));
     end Error_Msg_F;
  
     ------------------
--- 604,610 ----
  
     procedure Error_Msg_F (Msg : String; N : Node_Id) is
     begin
!       Error_Msg_NEL (Msg, N, N, Sloc (First_Node (N)));
     end Error_Msg_F;
  
     ------------------
*************** package body Errout is
*** 1029,1035 ****
        N     : Node_Or_Entity_Id)
     is
     begin
!       if Eflag and then In_Extended_Main_Source_Unit (N) then
           Error_Msg_NEL (Msg, N, N, Sloc (N));
        end if;
     end Error_Msg_NW;
--- 1031,1040 ----
        N     : Node_Or_Entity_Id)
     is
     begin
!       if Eflag
!         and then In_Extended_Main_Source_Unit (N)
!         and then Comes_From_Source (N)
!       then
           Error_Msg_NEL (Msg, N, N, Sloc (N));
        end if;
     end Error_Msg_NW;
*************** package body Errout is
*** 1117,1125 ****
        --  Brief Error mode
  
        if Brief_Output or (not Full_List and not Verbose_Mode) then
-          E := First_Error_Msg;
           Set_Standard_Error;
  
           while E /= No_Error_Msg loop
              if not Errors.Table (E).Deleted and then not Debug_Flag_KK then
                 if Full_Path_Name_For_Brief_Errors then
--- 1122,1130 ----
        --  Brief Error mode
  
        if Brief_Output or (not Full_List and not Verbose_Mode) then
           Set_Standard_Error;
  
+          E := First_Error_Msg;
           while E /= No_Error_Msg loop
              if not Errors.Table (E).Deleted and then not Debug_Flag_KK then
                 if Full_Path_Name_For_Brief_Errors then
*************** package body Errout is
*** 1606,1612 ****
     procedure Remove_Warning_Messages (N : Node_Id) is
  
        function Check_For_Warning (N : Node_Id) return Traverse_Result;
!       --  This function checks one node for a possible warning message.
  
        function Check_All_Warnings is new
          Traverse_Func (Check_For_Warning);
--- 1611,1617 ----
     procedure Remove_Warning_Messages (N : Node_Id) is
  
        function Check_For_Warning (N : Node_Id) return Traverse_Result;
!       --  This function checks one node for a possible warning message
  
        function Check_All_Warnings is new
          Traverse_Func (Check_For_Warning);
*************** package body Errout is
*** 1746,1752 ****
        --  Casing required for result. Default value of Mixed_Case is used if
        --  for some reason we cannot find the right file name in the table.
  
- 
     begin
        --  Get length of file name
  
--- 1751,1756 ----
*************** package body Errout is
*** 2234,2240 ****
              when '>' =>
                 Set_Msg_Insertion_Run_Time_Name;
  
- 
              when '^' =>
                 Set_Msg_Insertion_Uint;
  
--- 2238,2243 ----
*************** package body Errout is
*** 2248,2253 ****
--- 2251,2259 ----
              when '?' =>
                 null; -- already dealt with
  
+             when '<' =>
+                null; -- already dealt with
+ 
              when '|' =>
                 null; -- already dealt with
  
diff -Nrcpad gcc-4.0.2/gcc/ada/errout.ads gcc-4.1.0/gcc/ada/errout.ads
*** gcc-4.0.2/gcc/ada/errout.ads	Mon Jan  3 15:43:23 2005
--- gcc-4.1.0/gcc/ada/errout.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Errout is
*** 243,248 ****
--- 243,254 ----
     --      phase anyway. Messages starting with (style) are also treated as
     --      warning messages.
  
+    --    Insertion character < (Less Than: conditional warning message)
+    --      The character < appearing anywhere in a message is used for a
+    --      conditional error message. If Error_Msg_Warn is True, then the
+    --      effect is the same as ? described above. If Error_Msg_Warn is
+    --      False, then there is no effect.
+ 
     --    Insertion character A-Z (Upper case letter: Ada reserved word)
     --      If two or more upper case letters appear in the message, they are
     --      taken as an Ada reserved word, and are converted to the default
*************** package Errout is
*** 327,333 ****
     --  passed to the error message routine for insertion sequences described
     --  above. The reason these are passed globally is that the insertion
     --  mechanism is essentially an untyped one in which the appropriate
!    --  variables are set dependingon the specific insertion characters used.
  
     Error_Msg_Col : Column_Number renames Err_Vars.Error_Msg_Col;
     --  Column for @ insertion character in message
--- 333,342 ----
     --  passed to the error message routine for insertion sequences described
     --  above. The reason these are passed globally is that the insertion
     --  mechanism is essentially an untyped one in which the appropriate
!    --  variables are set depending on the specific insertion characters used.
! 
!    --  Note that is mandatory that the caller ensure that global variables
!    --  are set before the Error_Msg call, otherwise the result is undefined.
  
     Error_Msg_Col : Column_Number renames Err_Vars.Error_Msg_Col;
     --  Column for @ insertion character in message
*************** package Errout is
*** 358,363 ****
--- 367,376 ----
     --  note get reset by any Error_Msg call, so the caller is responsible
     --  for resetting it.
  
+    Error_Msg_Warn : Boolean renames Err_Vars.Error_Msg_Warn;
+    --  Used if current message contains a < insertion character to indicate
+    --  if the current message is a warning message.
+ 
     -----------------------------------------------------
     -- Format of Messages and Manual Quotation Control --
     -----------------------------------------------------
*************** package Errout is
*** 440,446 ****
  
     function Get_Location (E : Error_Msg_Id) return Source_Ptr
       renames Erroutc.Get_Location;
!    --  Returns the flag location of the error message with the given id E.
  
     ------------------------
     -- List Pragmas Table --
--- 453,459 ----
  
     function Get_Location (E : Error_Msg_Id) return Source_Ptr
       renames Erroutc.Get_Location;
!    --  Returns the flag location of the error message with the given id E
  
     ------------------------
     -- List Pragmas Table --
*************** package Errout is
*** 574,580 ****
     --  This routine is used for posting a message conditionally. The message
     --  is posted (with the same effect as Error_Msg_N (Msg, N) if and only
     --  if Eflag is True and if the node N is within the main extended source
!    --  unit. Typically this is a warning mode flag.
  
     procedure Change_Error_Text (Error_Id : Error_Msg_Id; New_Msg : String);
     --  The error message text of the message identified by Id is replaced by
--- 587,593 ----
     --  This routine is used for posting a message conditionally. The message
     --  is posted (with the same effect as Error_Msg_N (Msg, N) if and only
     --  if Eflag is True and if the node N is within the main extended source
!    --  unit and comes from source. Typically this is a warning mode flag.
  
     procedure Change_Error_Text (Error_Id : Error_Msg_Id; New_Msg : String);
     --  The error message text of the message identified by Id is replaced by
*************** package Errout is
*** 601,607 ****
     --  of its descendent nodes. No effect if no such warnings.
  
     procedure Remove_Warning_Messages (L : List_Id);
!    --  Remove warnings on all elements of a list.
  
     procedure Set_Ignore_Errors (To : Boolean);
     --  Following a call to this procedure with To=True, all error calls are
--- 614,620 ----
     --  of its descendent nodes. No effect if no such warnings.
  
     procedure Remove_Warning_Messages (L : List_Id);
!    --  Remove warnings on all elements of a list
  
     procedure Set_Ignore_Errors (To : Boolean);
     --  Following a call to this procedure with To=True, all error calls are
diff -Nrcpad gcc-4.0.2/gcc/ada/erroutc.adb gcc-4.1.0/gcc/ada/erroutc.adb
*** gcc-4.0.2/gcc/ada/erroutc.adb	Mon May 10 16:18:52 2004
--- gcc-4.1.0/gcc/ada/erroutc.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Sinput;   use Sinput;
*** 40,46 ****
  with Snames;   use Snames;
  with Targparm; use Targparm;
  with Table;
- with Types;    use Types;
  with Uintp;    use Uintp;
  
  package body Erroutc is
--- 40,45 ----
*************** package body Erroutc is
*** 983,988 ****
--- 982,992 ----
           then
              Is_Warning_Msg := True;
  
+          elsif Msg (J) = '<'
+            and then (J = Msg'First or else Msg (J - 1) /= ''')
+          then
+             Is_Warning_Msg := Error_Msg_Warn;
+ 
           elsif Msg (J) = '|'
             and then (J = Msg'First or else Msg (J - 1) /= ''')
           then
diff -Nrcpad gcc-4.0.2/gcc/ada/erroutc.ads gcc-4.1.0/gcc/ada/erroutc.ads
*** gcc-4.0.2/gcc/ada/erroutc.ads	Mon May 10 16:18:52 2004
--- gcc-4.1.0/gcc/ada/erroutc.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 28,34 ****
  --  reporting packages, including Errout and Prj.Err.
  
  with Table;
! with Types;  use Types;
  
  package Erroutc is
  
--- 28,34 ----
  --  reporting packages, including Errout and Prj.Err.
  
  with Table;
! with Types; use Types;
  
  package Erroutc is
  
*************** package Erroutc is
*** 122,128 ****
     --  Error_Msg routines.
  
     function Get_Location (E : Error_Msg_Id) return Source_Ptr;
!    --  Returns the flag location of the error message with the given id E.
  
     -----------------------------------
     -- Error Message Data Structures --
--- 122,128 ----
     --  Error_Msg routines.
  
     function Get_Location (E : Error_Msg_Id) return Source_Ptr;
!    --  Returns the flag location of the error message with the given id E
  
     -----------------------------------
     -- Error Message Data Structures --
*************** package Erroutc is
*** 332,338 ****
     --  Handle name insertion (% insertion character)
  
     procedure Set_Msg_Insertion_Reserved_Name;
!    --  Handle insertion of reserved word name (* insertion character).
  
     procedure Set_Msg_Insertion_Reserved_Word
       (Text : String;
--- 332,338 ----
     --  Handle name insertion (% insertion character)
  
     procedure Set_Msg_Insertion_Reserved_Name;
!    --  Handle insertion of reserved word name (* insertion character)
  
     procedure Set_Msg_Insertion_Reserved_Word
       (Text : String;
diff -Nrcpad gcc-4.0.2/gcc/ada/errutil.adb gcc-4.1.0/gcc/ada/errutil.adb
*** gcc-4.0.2/gcc/ada/errutil.adb	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/errutil.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1991-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1991-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Errutil is
*** 44,50 ****
     -----------------------
  
     procedure Error_Msg_AP (Msg : String);
!    --  Output a message just after the previous token.
  
     procedure Output_Source_Line
       (L           : Physical_Line_Number;
--- 44,50 ----
     -----------------------
  
     procedure Error_Msg_AP (Msg : String);
!    --  Output a message just after the previous token
  
     procedure Output_Source_Line
       (L           : Physical_Line_Number;
*************** package body Errutil is
*** 100,105 ****
--- 100,109 ----
        --  since there may be white space inside the literal and we don't want
        --  to stop on that white space.
  
+       --  Note that it is not worth worrying about special UTF_32 line
+       --  terminator characters in this context, since this is only about
+       --  error recovery anyway.
+ 
        if Prev_Token = Tok_String_Literal then
           loop
              S1 := S1 + 1;
*************** package body Errutil is
*** 121,126 ****
--- 125,134 ----
        --  by a line terminator, white space, a comment symbol or if we bump
        --  into the following token (i.e. the current token)
  
+       --  Note that it is not worth worrying about special UTF_32 line
+       --  terminator characters in this context, since this is only about
+       --  error recovery anyway.
+ 
        else
           while Source (S1) not in Line_Terminator
             and then Source (S1) /= ' '
*************** package body Errutil is
*** 176,187 ****
           return;
        end if;
  
!       --  Return without doing anything if message is killed and this
!       --  is not the first error message. The philosophy is that if we
!       --  get a weird error message and we already have had a message,
!       --  then we hope the weird message is a junk cascaded message
  
!       --  Immediate return if warning message and warnings are suppressed
        --  Note that style messages are not warnings for this purpose.
  
        if Is_Warning_Msg and then Warnings_Suppressed (Sptr) then
--- 184,195 ----
           return;
        end if;
  
!       --  Return without doing anything if message is killed and this is not
!       --  the first error message. The philosophy is that if we get a weird
!       --  error message and we already have had a message, then we hope the
!       --  weird message is a junk cascaded message
  
!       --  Immediate return if warning message and warnings are suppressed.
        --  Note that style messages are not warnings for this purpose.
  
        if Is_Warning_Msg and then Warnings_Suppressed (Sptr) then
*************** package body Errutil is
*** 238,257 ****
          and then Errors.Table (Prev_Msg).Sfile =
          Errors.Table (Cur_Msg).Sfile
        then
!          --  Don't delete unconditional messages and at this stage,
!          --  don't delete continuation lines (we attempted to delete
!          --  those earlier if the parent message was deleted.
  
           if not Errors.Table (Cur_Msg).Uncond
             and then not Continuation
           then
  
!             --  Don't delete if prev msg is warning and new msg is
!             --  an error. This is because we don't want a real error
!             --  masked by a warning. In all other cases (that is parse
!             --  errors for the same line that are not unconditional)
!             --  we do delete the message. This helps to avoid
!             --  junk extra messages from cascaded parsing errors
  
              if not (Errors.Table (Prev_Msg).Warn
                        or
--- 246,264 ----
          and then Errors.Table (Prev_Msg).Sfile =
          Errors.Table (Cur_Msg).Sfile
        then
!          --  Don't delete unconditional messages and at this stage, don't
!          --  delete continuation lines (we attempted to delete those earlier
!          --  if the parent message was deleted.
  
           if not Errors.Table (Cur_Msg).Uncond
             and then not Continuation
           then
  
!             --  Don't delete if prev msg is warning and new msg is an error.
!             --  This is because we don't want a real error masked by a warning.
!             --  In all other cases (that is parse errors for the same line that
!             --  are not unconditional) we do delete the message. This helps to
!             --  avoid junk extra messages from cascaded parsing errors
  
              if not (Errors.Table (Prev_Msg).Warn
                        or
*************** package body Errutil is
*** 261,268 ****
                        or
                      Errors.Table (Cur_Msg).Style)
              then
!                --  All tests passed, delete the message by simply
!                --  returning without any further processing.
  
                 if not Continuation then
                    Last_Killed := True;
--- 268,275 ----
                        or
                      Errors.Table (Cur_Msg).Style)
              then
!                --  All tests passed, delete the message by simply returning
!                --  without any further processing.
  
                 if not Continuation then
                    Last_Killed := True;
*************** package body Errutil is
*** 430,436 ****
  
                 Write_Eol;
              end if;
- 
           end loop;
  
           --  Then output errors, if any, for subsidiary units
--- 437,442 ----
*************** package body Errutil is
*** 556,562 ****
           Total_Errors_Detected := Total_Errors_Detected + Warnings_Detected;
           Warnings_Detected := 0;
        end if;
- 
     end Finalize;
  
     ----------------
--- 562,567 ----
*************** package body Errutil is
*** 577,583 ****
        --  an initial dummy entry covering all possible source locations.
  
        Warnings.Init;
- 
     end Initialize;
  
     ------------------------
--- 582,587 ----
*************** package body Errutil is
*** 674,679 ****
--- 678,684 ----
              Set_Msg_Insertion_Name;
  
           elsif C = '$' then
+ 
              --  '$' is ignored
  
              null;
*************** package body Errutil is
*** 682,687 ****
--- 687,693 ----
              Set_Msg_Insertion_File_Name;
  
           elsif C = '}' then
+ 
              --  '}' is ignored
  
              null;
*************** package body Errutil is
*** 690,695 ****
--- 696,702 ----
              Set_Msg_Insertion_Reserved_Name;
  
           elsif C = '&' then
+ 
              --  '&' is ignored
  
              null;
*************** package body Errutil is
*** 716,721 ****
--- 723,731 ----
           elsif C = '?' then
              null;
  
+          elsif C = '<' then
+             null;
+ 
           elsif C = '|' then
              null;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/errutil.ads gcc-4.1.0/gcc/ada/errutil.ads
*** gcc-4.0.2/gcc/ada/errutil.ads	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/errutil.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002 Free Software Foundation, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 27,33 ****
  --  This package contains routines to output error messages and the
  --  corresponding instantiation of Styleg, suitable to instantiate Scng.
  
! --  It is not dependent on the GNAT tree packages (Atree, Sinfo, ...).
  
  --  It uses the same global variables as Errout, located in package
  --  Err_Vars. Like Errout, it also uses the common variables and routines
--- 27,33 ----
  --  This package contains routines to output error messages and the
  --  corresponding instantiation of Styleg, suitable to instantiate Scng.
  
! --  It is not dependent on the GNAT tree packages (Atree, Sinfo, ...)
  
  --  It uses the same global variables as Errout, located in package
  --  Err_Vars. Like Errout, it also uses the common variables and routines
*************** package Errutil is
*** 222,231 ****
     --  preprocessor).
  
     procedure Error_Msg (Msg : String; Flag_Location : Source_Ptr);
!    --  Output a message at specified location.
  
     procedure Error_Msg_S (Msg : String);
!    --  Output a message at current scan pointer location.
  
     procedure Error_Msg_SC (Msg : String);
     --  Output a message at the start of the current token, unless we are at
--- 222,231 ----
     --  preprocessor).
  
     procedure Error_Msg (Msg : String; Flag_Location : Source_Ptr);
!    --  Output a message at specified location
  
     procedure Error_Msg_S (Msg : String);
!    --  Output a message at current scan pointer location
  
     procedure Error_Msg_SC (Msg : String);
     --  Output a message at the start of the current token, unless we are at
*************** package Errutil is
*** 233,239 ****
     --  last real token in the file.
  
     procedure Error_Msg_SP (Msg : String);
!    --  Output a message at the start of the previous token.
  
     procedure Set_Ignore_Errors (To : Boolean);
     --  Indicate, when To = True, that all reported errors should
--- 233,239 ----
     --  last real token in the file.
  
     procedure Error_Msg_SP (Msg : String);
!    --  Output a message at the start of the previous token
  
     procedure Set_Ignore_Errors (To : Boolean);
     --  Indicate, when To = True, that all reported errors should
diff -Nrcpad gcc-4.0.2/gcc/ada/eval_fat.adb gcc-4.1.0/gcc/ada/eval_fat.adb
*** gcc-4.0.2/gcc/ada/eval_fat.adb	Mon Jan  3 15:36:06 2005
--- gcc-4.1.0/gcc/ada/eval_fat.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Eval_Fat is
*** 419,425 ****
              Exponent := Exponent + 1;
           end if;
  
!          --  Put back sign after applying the rounding.
  
           if UR_Is_Negative (X) then
              Fraction := -Fraction;
--- 419,425 ----
              Exponent := Exponent + 1;
           end if;
  
!          --  Put back sign after applying the rounding
  
           if UR_Is_Negative (X) then
              Fraction := -Fraction;
diff -Nrcpad gcc-4.0.2/gcc/ada/eval_fat.ads gcc-4.1.0/gcc/ada/eval_fat.ads
*** gcc-4.0.2/gcc/ada/eval_fat.ads	Mon Apr 19 15:19:57 2004
--- gcc-4.1.0/gcc/ada/eval_fat.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exit.c gcc-4.1.0/gcc/ada/exit.c
*** gcc-4.0.2/gcc/ada/exit.c	Tue Nov  4 12:51:45 2003
--- gcc-4.1.0/gcc/ada/exit.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_aggr.adb gcc-4.1.0/gcc/ada/exp_aggr.adb
*** gcc-4.0.2/gcc/ada/exp_aggr.adb	Thu Feb 10 13:53:58 2005
--- gcc-4.1.0/gcc/ada/exp_aggr.adb	Tue Nov 15 13:56:39 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Aggr is
*** 158,163 ****
--- 158,170 ----
     -- Local Subprograms for Array Aggregate Expansion --
     -----------------------------------------------------
  
+    function Aggr_Size_OK (Typ : Entity_Id) return Boolean;
+    --  Very large static aggregates present problems to the back-end, and
+    --  are transformed into assignments and loops. This function verifies
+    --  that the total number of components of an aggregate is acceptable
+    --  for transformation into a purely positional static form. It is called
+    --  prior to calling Flatten.
+ 
     procedure Convert_Array_Aggr_In_Allocator
       (Decl   : Node_Id;
        Aggr   : Node_Id;
*************** package body Exp_Aggr is
*** 269,274 ****
--- 276,427 ----
     --  the assignment can be done in place even if bounds are not static,
     --  by converting it into a loop over the discrete range of the slice.
  
+    ------------------
+    -- Aggr_Size_OK --
+    ------------------
+ 
+    function Aggr_Size_OK (Typ : Entity_Id) return Boolean is
+       Lo   : Node_Id;
+       Hi   : Node_Id;
+       Indx : Node_Id;
+       Siz  : Int;
+       Lov  : Uint;
+       Hiv  : Uint;
+ 
+       --  The following constant determines the maximum size of an
+       --  aggregate produced by converting named to positional
+       --  notation (e.g. from others clauses). This avoids running
+       --  away with attempts to convert huge aggregates, which hit
+       --  memory limits in the backend.
+ 
+       --  The normal limit is 5000, but we increase this limit to
+       --  2**24 (about 16 million) if Restrictions (No_Elaboration_Code)
+       --  or Restrictions (No_Implicit_Loops) is specified, since in
+       --  either case, we are at risk of declaring the program illegal
+       --  because of this limit.
+ 
+       Max_Aggr_Size : constant Nat :=
+                         5000 + (2 ** 24 - 5000) *
+                           Boolean'Pos
+                             (Restriction_Active (No_Elaboration_Code)
+                                or else
+                              Restriction_Active (No_Implicit_Loops));
+ 
+       function Component_Count (T : Entity_Id) return Int;
+       --  The limit is applied to the total number of components that the
+       --  aggregate will have, which is the number of static expressions
+       --  that will appear in the flattened array. This requires a recursive
+       --  computation of the the number of scalar components of the structure.
+ 
+       ---------------------
+       -- Component_Count --
+       ---------------------
+ 
+       function Component_Count (T : Entity_Id) return Int is
+          Res  : Int := 0;
+          Comp : Entity_Id;
+ 
+       begin
+          if Is_Scalar_Type (T) then
+             return 1;
+ 
+          elsif Is_Record_Type (T) then
+             Comp := First_Component (T);
+             while Present (Comp) loop
+                Res := Res + Component_Count (Etype (Comp));
+                Next_Component (Comp);
+             end loop;
+ 
+             return Res;
+ 
+          elsif Is_Array_Type (T) then
+             declare
+                Lo : constant Node_Id :=
+                       Type_Low_Bound (Etype (First_Index (T)));
+                Hi : constant Node_Id :=
+                       Type_High_Bound (Etype (First_Index (T)));
+ 
+                Siz  : constant Int := Component_Count (Component_Type (T));
+ 
+             begin
+                if not Compile_Time_Known_Value (Lo)
+                  or else not Compile_Time_Known_Value (Hi)
+                then
+                   return 0;
+                else
+                   return
+                     Siz * UI_To_Int (Expr_Value (Hi) - Expr_Value (Lo) + 1);
+                end if;
+             end;
+ 
+          else
+             --  Can only be a null for an access type
+ 
+             return 1;
+          end if;
+       end Component_Count;
+ 
+    --  Start of processing for Aggr_Size_OK
+ 
+    begin
+       Siz  := Component_Count (Component_Type (Typ));
+       Indx := First_Index (Typ);
+ 
+       while Present (Indx) loop
+          Lo  := Type_Low_Bound (Etype (Indx));
+          Hi  := Type_High_Bound (Etype (Indx));
+ 
+          --  Bounds need to be known at compile time
+ 
+          if not Compile_Time_Known_Value (Lo)
+            or else not Compile_Time_Known_Value (Hi)
+          then
+             return False;
+          end if;
+ 
+          Lov := Expr_Value (Lo);
+          Hiv := Expr_Value (Hi);
+ 
+          --  A flat array is always safe
+ 
+          if Hiv < Lov then
+             return True;
+          end if;
+ 
+          declare
+             Rng : constant Uint := Hiv - Lov + 1;
+ 
+          begin
+             --  Check if size is too large
+ 
+             if not UI_Is_In_Int_Range (Rng) then
+                return False;
+             end if;
+ 
+             Siz := Siz * UI_To_Int (Rng);
+          end;
+ 
+          if Siz <= 0
+            or else Siz > Max_Aggr_Size
+          then
+             return False;
+          end if;
+ 
+          --  Bounds must be in integer range, for later array construction
+ 
+          if not UI_Is_In_Int_Range (Lov)
+              or else
+             not UI_Is_In_Int_Range (Hiv)
+          then
+             return False;
+          end if;
+ 
+          Next_Index (Indx);
+       end loop;
+ 
+       return True;
+    end Aggr_Size_OK;
+ 
     ---------------------------------
     -- Backend_Processing_Possible --
     ---------------------------------
*************** package body Exp_Aggr is
*** 892,897 ****
--- 1045,1070 ----
  
              if Present (Comp_Type) and then Controlled_Type (Comp_Type) then
                 Set_No_Ctrl_Actions (A);
+ 
+                --  If this is an aggregate for an array of arrays, each
+                --  subaggregate will be expanded as well, and even with
+                --  No_Ctrl_Actions the assignments of inner components will
+                --  require attachment in their assignments to temporaries.
+                --  These temporaries must be finalized for each subaggregate,
+                --  to prevent multiple attachments of the same temporary
+                --  location to same finalization chain (and consequently
+                --  circular lists). To ensure that finalization takes place
+                --  for each subaggregate we wrap the assignment in a block.
+ 
+                if Is_Array_Type (Comp_Type)
+                  and then Nkind (Expr) = N_Aggregate
+                then
+                   A :=
+                     Make_Block_Statement (Loc,
+                       Handled_Statement_Sequence =>
+                         Make_Handled_Sequence_Of_Statements (Loc,
+                            Statements => New_List (A)));
+                end if;
              end if;
  
              Append_To (L, A);
*************** package body Exp_Aggr is
*** 910,921 ****
                       Make_Selected_Component (Loc,
                         Prefix =>  New_Copy_Tree (Indexed_Comp),
                         Selector_Name =>
!                          New_Reference_To (Tag_Component (Comp_Type), Loc)),
  
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
!                        New_Reference_To (
!                          Access_Disp_Table (Comp_Type), Loc)));
  
                 Append_To (L, A);
              end if;
--- 1083,1096 ----
                       Make_Selected_Component (Loc,
                         Prefix =>  New_Copy_Tree (Indexed_Comp),
                         Selector_Name =>
!                          New_Reference_To
!                            (First_Tag_Component (Comp_Type), Loc)),
  
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
!                        New_Reference_To
!                          (Node (First_Elmt (Access_Disp_Table (Comp_Type))),
!                           Loc)));
  
                 Append_To (L, A);
              end if;
*************** package body Exp_Aggr is
*** 1419,1425 ****
     is
        Loc     : constant Source_Ptr := Sloc (N);
        L       : constant List_Id    := New_List;
-       Start_L : constant List_Id    := New_List;
        N_Typ   : constant Entity_Id  := Etype (N);
  
        Comp      : Node_Id;
--- 1594,1599 ----
*************** package body Exp_Aggr is
*** 1445,1450 ****
--- 1619,1625 ----
  
        Init_Typ : Entity_Id := Empty;
        Attach   : Node_Id;
+       Ctrl_Stuff_Done : Boolean := False;
  
        function Get_Constraint_Association (T : Entity_Id) return Node_Id;
        --  Returns the first discriminant association in the constraint
*************** package body Exp_Aggr is
*** 1472,1477 ****
--- 1647,1656 ----
        --  it to finalization list F. Init_Pr conditions the call to the
        --  init proc since it may already be done due to ancestor initialization
  
+       procedure Gen_Ctrl_Actions_For_Aggr;
+       --  Deal with the various controlled type data structure
+       --  initializations
+ 
        ---------------------------------
        -- Ancestor_Discriminant_Value --
        ---------------------------------
*************** package body Exp_Aggr is
*** 1666,1671 ****
--- 1845,1851 ----
        is
           L   : constant List_Id := New_List;
           Ref : Node_Id;
+          RC  : RE_Id;
  
        begin
           --  Generate:
*************** package body Exp_Aggr is
*** 1699,1746 ****
                and then Present (Etype (Prefix (Expression (Target))))
                and then Is_Limited_Type (Etype (Prefix (Expression (Target)))))
           then
!             if Init_Pr then
!                Append_List_To (L,
!                  Build_Initialization_Call (Loc,
!                    Id_Ref       => Ref,
!                    Typ          => RTE (RE_Limited_Record_Controller),
!                    In_Init_Proc => Within_Init_Proc));
!             end if;
! 
!             Append_To (L,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To
!                          (Find_Prim_Op (RTE (RE_Limited_Record_Controller),
!                     Name_Initialize), Loc),
!                 Parameter_Associations => New_List (New_Copy_Tree (Ref))));
! 
           else
!             if Init_Pr then
!                Append_List_To (L,
!                  Build_Initialization_Call (Loc,
!                    Id_Ref       => Ref,
!                    Typ          => RTE (RE_Record_Controller),
!                    In_Init_Proc => Within_Init_Proc));
!             end if;
! 
!             Append_To (L,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (Find_Prim_Op (RTE (RE_Record_Controller),
!                     Name_Initialize), Loc),
!                 Parameter_Associations => New_List (New_Copy_Tree (Ref))));
  
           end if;
  
           Append_To (L,
             Make_Attach_Call (
               Obj_Ref     => New_Copy_Tree (Ref),
               Flist_Ref   => F,
               With_Attach => Attach));
           return L;
        end Init_Controller;
  
     --  Start of processing for Build_Record_Aggr_Code
  
     begin
--- 1879,2111 ----
                and then Present (Etype (Prefix (Expression (Target))))
                and then Is_Limited_Type (Etype (Prefix (Expression (Target)))))
           then
!             RC := RE_Limited_Record_Controller;
           else
!             RC := RE_Record_Controller;
!          end if;
  
+          if Init_Pr then
+             Append_List_To (L,
+               Build_Initialization_Call (Loc,
+                 Id_Ref       => Ref,
+                 Typ          => RTE (RC),
+                 In_Init_Proc => Within_Init_Proc));
           end if;
  
           Append_To (L,
+            Make_Procedure_Call_Statement (Loc,
+              Name =>
+                New_Reference_To (
+                  Find_Prim_Op (RTE (RC), Name_Initialize), Loc),
+              Parameter_Associations =>
+                New_List (New_Copy_Tree (Ref))));
+ 
+          Append_To (L,
             Make_Attach_Call (
               Obj_Ref     => New_Copy_Tree (Ref),
               Flist_Ref   => F,
               With_Attach => Attach));
+ 
           return L;
        end Init_Controller;
  
+       -------------------------------
+       -- Gen_Ctrl_Actions_For_Aggr --
+       -------------------------------
+ 
+       procedure Gen_Ctrl_Actions_For_Aggr is
+       begin
+          if Present (Obj)
+           and then Finalize_Storage_Only (Typ)
+           and then (Is_Library_Level_Entity (Obj)
+             or else Entity (Constant_Value (RTE (RE_Garbage_Collected))) =
+                                                               Standard_True)
+          then
+             Attach := Make_Integer_Literal (Loc, 0);
+ 
+          elsif Nkind (Parent (N)) = N_Qualified_Expression
+            and then Nkind (Parent (Parent (N))) = N_Allocator
+          then
+             Attach := Make_Integer_Literal (Loc, 2);
+ 
+          else
+             Attach := Make_Integer_Literal (Loc, 1);
+          end if;
+ 
+          --  Determine the external finalization list. It is either the
+          --  finalization list of the outer-scope or the one coming from
+          --  an outer aggregate.  When the target is not a temporary, the
+          --  proper scope is the scope of the target rather than the
+          --  potentially transient current scope.
+ 
+          if Controlled_Type (Typ) then
+             if Present (Flist) then
+                External_Final_List := New_Copy_Tree (Flist);
+ 
+             elsif Is_Entity_Name (Target)
+               and then Present (Scope (Entity (Target)))
+             then
+                External_Final_List
+                  := Find_Final_List (Scope (Entity (Target)));
+ 
+             else
+                External_Final_List := Find_Final_List (Current_Scope);
+             end if;
+ 
+          else
+             External_Final_List := Empty;
+          end if;
+ 
+          --  Initialize and attach the outer object in the is_controlled case
+ 
+          if Is_Controlled (Typ) then
+             if Ancestor_Is_Subtype_Mark then
+                Ref := Convert_To (Init_Typ, New_Copy_Tree (Target));
+                Set_Assignment_OK (Ref);
+                Append_To (L,
+                  Make_Procedure_Call_Statement (Loc,
+                    Name =>
+                      New_Reference_To
+                        (Find_Prim_Op (Init_Typ, Name_Initialize), Loc),
+                    Parameter_Associations => New_List (New_Copy_Tree (Ref))));
+             end if;
+ 
+             if not Has_Controlled_Component (Typ) then
+                Ref := New_Copy_Tree (Target);
+                Set_Assignment_OK (Ref);
+                Append_To (L,
+                  Make_Attach_Call (
+                    Obj_Ref     => Ref,
+                    Flist_Ref   => New_Copy_Tree (External_Final_List),
+                    With_Attach => Attach));
+             end if;
+          end if;
+ 
+          --  In the Has_Controlled component case, all the intermediate
+          --  controllers must be initialized
+ 
+          if Has_Controlled_Component (Typ)
+            and not Is_Limited_Ancestor_Expansion
+          then
+             declare
+                Inner_Typ : Entity_Id;
+                Outer_Typ : Entity_Id;
+                At_Root   : Boolean;
+ 
+             begin
+ 
+                Outer_Typ := Base_Type (Typ);
+ 
+                --  Find outer type with a controller
+ 
+                while Outer_Typ /= Init_Typ
+                  and then not Has_New_Controlled_Component (Outer_Typ)
+                loop
+                   Outer_Typ := Etype (Outer_Typ);
+                end loop;
+ 
+                --  Attach it to the outer record controller to the
+                --  external final list
+ 
+                if Outer_Typ = Init_Typ then
+                   Append_List_To (L,
+                     Init_Controller (
+                       Target  => Target,
+                       Typ     => Outer_Typ,
+                       F       => External_Final_List,
+                       Attach  => Attach,
+                       Init_Pr => False));
+ 
+                   At_Root   := True;
+                   Inner_Typ := Init_Typ;
+ 
+                else
+                   Append_List_To (L,
+                     Init_Controller (
+                       Target  => Target,
+                       Typ     => Outer_Typ,
+                       F       => External_Final_List,
+                       Attach  => Attach,
+                       Init_Pr => True));
+ 
+                   Inner_Typ := Etype (Outer_Typ);
+                   At_Root   :=
+                     not Is_Tagged_Type (Typ) or else Inner_Typ = Outer_Typ;
+                end if;
+ 
+                --  The outer object has to be attached as well
+ 
+                if Is_Controlled (Typ) then
+                   Ref := New_Copy_Tree (Target);
+                   Set_Assignment_OK (Ref);
+                   Append_To (L,
+                     Make_Attach_Call (
+                       Obj_Ref     => Ref,
+                       Flist_Ref   => New_Copy_Tree (External_Final_List),
+                       With_Attach => New_Copy_Tree (Attach)));
+                end if;
+ 
+                --  Initialize the internal controllers for tagged types with
+                --  more than one controller.
+ 
+                while not At_Root and then Inner_Typ /= Init_Typ loop
+                   if Has_New_Controlled_Component (Inner_Typ) then
+                      F :=
+                        Make_Selected_Component (Loc,
+                          Prefix =>
+                            Convert_To (Outer_Typ, New_Copy_Tree (Target)),
+                          Selector_Name =>
+                            Make_Identifier (Loc, Name_uController));
+                      F :=
+                        Make_Selected_Component (Loc,
+                          Prefix => F,
+                          Selector_Name => Make_Identifier (Loc, Name_F));
+ 
+                      Append_List_To (L,
+                        Init_Controller (
+                          Target  => Target,
+                          Typ     => Inner_Typ,
+                          F       => F,
+                          Attach  => Make_Integer_Literal (Loc, 1),
+                          Init_Pr => True));
+                      Outer_Typ := Inner_Typ;
+                   end if;
+ 
+                   --  Stop at the root
+ 
+                   At_Root := Inner_Typ = Etype (Inner_Typ);
+                   Inner_Typ := Etype (Inner_Typ);
+                end loop;
+ 
+                --  If not done yet attach the controller of the ancestor part
+ 
+                if Outer_Typ /= Init_Typ
+                  and then Inner_Typ = Init_Typ
+                  and then Has_Controlled_Component (Init_Typ)
+                then
+                   F :=
+                     Make_Selected_Component (Loc,
+                       Prefix => Convert_To (Outer_Typ, New_Copy_Tree (Target)),
+                       Selector_Name =>
+                         Make_Identifier (Loc, Name_uController));
+                   F :=
+                     Make_Selected_Component (Loc,
+                       Prefix => F,
+                       Selector_Name => Make_Identifier (Loc, Name_F));
+ 
+                   Attach := Make_Integer_Literal (Loc, 1);
+                   Append_List_To (L,
+                     Init_Controller (
+                       Target  => Target,
+                       Typ     => Init_Typ,
+                       F       => F,
+                       Attach  => Attach,
+                       Init_Pr => Ancestor_Is_Expression));
+                end if;
+             end;
+          end if;
+       end Gen_Ctrl_Actions_For_Aggr;
+ 
     --  Start of processing for Build_Record_Aggr_Code
  
     begin
*************** package body Exp_Aggr is
*** 1750,1755 ****
--- 2115,2121 ----
        if Nkind (N) = N_Extension_Aggregate then
           declare
              A : constant Node_Id := Ancestor_Part (N);
+             Assign : List_Id;
  
           begin
              --  If the ancestor part is a subtype mark "T", we generate
*************** package body Exp_Aggr is
*** 1817,1830 ****
                 if Has_Default_Init_Comps (N)
                   or else Has_Task (Base_Type (Init_Typ))
                 then
!                   Append_List_To (Start_L,
                      Build_Initialization_Call (Loc,
                        Id_Ref       => Ref,
                        Typ          => Init_Typ,
                        In_Init_Proc => Within_Init_Proc,
                        With_Default_Init => True));
                 else
!                   Append_List_To (Start_L,
                      Build_Initialization_Call (Loc,
                        Id_Ref       => Ref,
                        Typ          => Init_Typ,
--- 2183,2196 ----
                 if Has_Default_Init_Comps (N)
                   or else Has_Task (Base_Type (Init_Typ))
                 then
!                   Append_List_To (L,
                      Build_Initialization_Call (Loc,
                        Id_Ref       => Ref,
                        Typ          => Init_Typ,
                        In_Init_Proc => Within_Init_Proc,
                        With_Default_Init => True));
                 else
!                   Append_List_To (L,
                      Build_Initialization_Call (Loc,
                        Id_Ref       => Ref,
                        Typ          => Init_Typ,
*************** package body Exp_Aggr is
*** 1843,1849 ****
              elsif Is_Limited_Type (Etype (A)) then
                 Ancestor_Is_Expression := True;
  
!                Append_List_To (Start_L,
                    Build_Record_Aggr_Code (
                      N                             => Expression (A),
                      Typ                           => Etype (Expression (A)),
--- 2209,2215 ----
              elsif Is_Limited_Type (Etype (A)) then
                 Ancestor_Is_Expression := True;
  
!                Append_List_To (L,
                    Build_Record_Aggr_Code (
                      N                             => Expression (A),
                      Typ                           => Etype (Expression (A)),
*************** package body Exp_Aggr is
*** 1859,1867 ****
                 Ancestor_Is_Expression := True;
                 Init_Typ := Etype (A);
  
!                --  Assign the tag before doing the assignment to make sure
!                --  that the dispatching call in the subsequent deep_adjust
!                --  works properly (unless Java_VM, where tags are implicit).
  
                 if not Java_VM then
                    Instr :=
--- 2225,2258 ----
                 Ancestor_Is_Expression := True;
                 Init_Typ := Etype (A);
  
!                --  If the ancestor part is an aggregate, force its full
!                --  expansion, which was delayed.
! 
!                if Nkind (A) = N_Qualified_Expression
!                  and then (Nkind (Expression (A)) = N_Aggregate
!                              or else
!                            Nkind (Expression (A)) = N_Extension_Aggregate)
!                then
!                   Set_Analyzed (A, False);
!                   Set_Analyzed (Expression (A), False);
!                end if;
! 
!                Ref := Convert_To (Init_Typ, New_Copy_Tree (Target));
!                Set_Assignment_OK (Ref);
! 
!                --  Make the assignment without usual controlled actions since
!                --  we only want the post adjust but not the pre finalize here
!                --  Add manual adjust when necessary
! 
!                Assign := New_List (
!                  Make_OK_Assignment_Statement (Loc,
!                    Name       => Ref,
!                    Expression => A));
!                Set_No_Ctrl_Actions (First (Assign));
! 
!                --  Assign the tag now to make sure that the dispatching call in
!                --  the subsequent deep_adjust works properly (unless Java_VM,
!                --  where tags are implicit).
  
                 if not Java_VM then
                    Instr :=
*************** package body Exp_Aggr is
*** 1869,1907 ****
                        Name =>
                          Make_Selected_Component (Loc,
                            Prefix => New_Copy_Tree (Target),
!                           Selector_Name => New_Reference_To (
!                             Tag_Component (Base_Type (Typ)), Loc)),
  
                        Expression =>
                          Unchecked_Convert_To (RTE (RE_Tag),
!                           New_Reference_To (
!                             Access_Disp_Table (Base_Type (Typ)), Loc)));
  
                    Set_Assignment_OK (Name (Instr));
!                   Append_To (L, Instr);
                 end if;
  
!                --  If the ancestor part is an aggregate, force its full
!                --  expansion, which was delayed.
  
!                if Nkind (A) = N_Qualified_Expression
!                  and then (Nkind (Expression (A)) = N_Aggregate
!                              or else
!                            Nkind (Expression (A)) = N_Extension_Aggregate)
!                then
!                   Set_Analyzed (A, False);
!                   Set_Analyzed (Expression (A), False);
                 end if;
  
-                Ref := Convert_To (Init_Typ, New_Copy_Tree (Target));
-                Set_Assignment_OK (Ref);
                 Append_To (L,
!                  Make_Unsuppress_Block (Loc,
!                    Name_Discriminant_Check,
!                    New_List (
!                      Make_OK_Assignment_Statement (Loc,
!                        Name       => Ref,
!                        Expression => A))));
  
                 if Has_Discriminants (Init_Typ) then
                    Check_Ancestor_Discriminants (Init_Typ);
--- 2260,2294 ----
                        Name =>
                          Make_Selected_Component (Loc,
                            Prefix => New_Copy_Tree (Target),
!                           Selector_Name =>
!                             New_Reference_To
!                               (First_Tag_Component (Base_Type (Typ)), Loc)),
  
                        Expression =>
                          Unchecked_Convert_To (RTE (RE_Tag),
!                           New_Reference_To
!                             (Node (First_Elmt
!                                (Access_Disp_Table (Base_Type (Typ)))),
!                              Loc)));
  
                    Set_Assignment_OK (Name (Instr));
!                   Append_To (Assign, Instr);
                 end if;
  
!                --  Call Adjust manually
  
!                if Controlled_Type (Etype (A)) then
!                   Append_List_To (Assign,
!                     Make_Adjust_Call (
!                       Ref         => New_Copy_Tree (Ref),
!                       Typ         => Etype (A),
!                       Flist_Ref   => New_Reference_To (
!                         RTE (RE_Global_Final_List), Loc),
!                       With_Attach => Make_Integer_Literal (Loc, 0)));
                 end if;
  
                 Append_To (L,
!                  Make_Unsuppress_Block (Loc, Name_Discriminant_Check, Assign));
  
                 if Has_Discriminants (Init_Typ) then
                    Check_Ancestor_Discriminants (Init_Typ);
*************** package body Exp_Aggr is
*** 1999,2008 ****
  
                    if not Inside_Init_Proc and not Inside_Allocator then
                       Build_Activation_Chain_Entity (N);
- 
-                      if not Has_Master_Entity (Current_Scope) then
-                         Build_Master_Entity (Etype (N));
-                      end if;
                    end if;
                 end if;
              end;
--- 2386,2391 ----
*************** package body Exp_Aggr is
*** 2019,2029 ****
              goto Next_Comp;
           end if;
  
!          --  ???
  
           if Ekind (Selector) /= E_Discriminant
             or else Nkind (N) = N_Extension_Aggregate
           then
              Comp_Type := Etype (Selector);
              Comp_Expr :=
                Make_Selected_Component (Loc,
--- 2402,2424 ----
              goto Next_Comp;
           end if;
  
!          --  Prepare for component assignment
  
           if Ekind (Selector) /= E_Discriminant
             or else Nkind (N) = N_Extension_Aggregate
           then
+ 
+             --  All the discriminants have now been assigned
+             --  This is now a good moment to initialize and attach all the
+             --  controllers. Their position may depend on the discriminants.
+ 
+             if Ekind (Selector) /= E_Discriminant
+               and then not Ctrl_Stuff_Done
+             then
+                Gen_Ctrl_Actions_For_Aggr;
+                Ctrl_Stuff_Done := True;
+             end if;
+ 
              Comp_Type := Etype (Selector);
              Comp_Expr :=
                Make_Selected_Component (Loc,
*************** package body Exp_Aggr is
*** 2061,2067 ****
                 Internal_Final_List := Empty;
              end if;
  
!             --  ???
  
              if Is_Delayed_Aggregate (Expr_Q) then
                 Append_List_To (L,
--- 2456,2463 ----
                 Internal_Final_List := Empty;
              end if;
  
!             --  Now either create the assignment or generate the code for the
!             --  inner aggregate top-down.
  
              if Is_Delayed_Aggregate (Expr_Q) then
                 Append_List_To (L,
*************** package body Exp_Aggr is
*** 2090,2101 ****
                          Make_Selected_Component (Loc,
                            Prefix =>  New_Copy_Tree (Comp_Expr),
                            Selector_Name =>
!                             New_Reference_To (Tag_Component (Comp_Type), Loc)),
  
                        Expression =>
                          Unchecked_Convert_To (RTE (RE_Tag),
!                           New_Reference_To (
!                             Access_Disp_Table (Comp_Type), Loc)));
  
                    Append_To (L, Instr);
                 end if;
--- 2486,2499 ----
                          Make_Selected_Component (Loc,
                            Prefix =>  New_Copy_Tree (Comp_Expr),
                            Selector_Name =>
!                             New_Reference_To
!                               (First_Tag_Component (Comp_Type), Loc)),
  
                        Expression =>
                          Unchecked_Convert_To (RTE (RE_Tag),
!                           New_Reference_To
!                             (Node (First_Elmt (Access_Disp_Table (Comp_Type))),
!                              Loc)));
  
                    Append_To (L, Instr);
                 end if;
*************** package body Exp_Aggr is
*** 2172,2377 ****
                 Make_Selected_Component (Loc,
                    Prefix => New_Copy_Tree (Target),
                   Selector_Name =>
!                    New_Reference_To (Tag_Component (Base_Type (Typ)), Loc)),
  
               Expression =>
                 Unchecked_Convert_To (RTE (RE_Tag),
!                  New_Reference_To (Access_Disp_Table (Base_Type (Typ)), Loc)));
  
           Append_To (L, Instr);
        end if;
  
!       --  Now deal with the various controlled type data structure
!       --  initializations
! 
!       if Present (Obj)
!         and then Finalize_Storage_Only (Typ)
!         and then (Is_Library_Level_Entity (Obj)
!         or else Entity (Constant_Value (RTE (RE_Garbage_Collected)))
!                   = Standard_True)
!       then
!          Attach := Make_Integer_Literal (Loc, 0);
! 
!       elsif Nkind (Parent (N)) = N_Qualified_Expression
!         and then Nkind (Parent (Parent (N))) = N_Allocator
!       then
!          Attach := Make_Integer_Literal (Loc, 2);
! 
!       else
!          Attach := Make_Integer_Literal (Loc, 1);
!       end if;
! 
!       --  Determine the external finalization list. It is either the
!       --  finalization list of the outer-scope or the one coming from
!       --  an outer aggregate.  When the target is not a temporary, the
!       --  proper scope is the scope of the target rather than the
!       --  potentially transient current scope.
! 
!       if Controlled_Type (Typ) then
!          if Present (Flist) then
!             External_Final_List := New_Copy_Tree (Flist);
! 
!          elsif Is_Entity_Name (Target)
!            and then Present (Scope (Entity (Target)))
!          then
!             External_Final_List := Find_Final_List (Scope (Entity (Target)));
! 
!          else
!             External_Final_List := Find_Final_List (Current_Scope);
!          end if;
! 
!       else
!          External_Final_List := Empty;
!       end if;
! 
!       --  Initialize and attach the outer object in the is_controlled case
! 
!       if Is_Controlled (Typ) then
!          if Ancestor_Is_Subtype_Mark then
!             Ref := Convert_To (Init_Typ, New_Copy_Tree (Target));
!             Set_Assignment_OK (Ref);
!             Append_To (L,
!               Make_Procedure_Call_Statement (Loc,
!                 Name => New_Reference_To (
!                   Find_Prim_Op (Init_Typ, Name_Initialize), Loc),
!                 Parameter_Associations => New_List (New_Copy_Tree (Ref))));
!          end if;
! 
!          if not Has_Controlled_Component (Typ) then
!             Ref := New_Copy_Tree (Target);
!             Set_Assignment_OK (Ref);
!             Append_To (Start_L,
!               Make_Attach_Call (
!                 Obj_Ref     => Ref,
!                 Flist_Ref   => New_Copy_Tree (External_Final_List),
!                 With_Attach => Attach));
!          end if;
!       end if;
! 
!       --  In the Has_Controlled component case, all the intermediate
!       --  controllers must be initialized
! 
!       if Has_Controlled_Component (Typ)
!         and not Is_Limited_Ancestor_Expansion
!       then
!          declare
!             Inner_Typ : Entity_Id;
!             Outer_Typ : Entity_Id;
!             At_Root   : Boolean;
! 
!          begin
! 
!             Outer_Typ := Base_Type (Typ);
! 
!             --  Find outer type with a controller
! 
!             while Outer_Typ /= Init_Typ
!               and then not Has_New_Controlled_Component (Outer_Typ)
!             loop
!                Outer_Typ := Etype (Outer_Typ);
!             end loop;
! 
!             --  Attach it to the outer record controller to the
!             --  external final list
! 
!             if Outer_Typ = Init_Typ then
!                Append_List_To (Start_L,
!                  Init_Controller (
!                    Target  => Target,
!                    Typ     => Outer_Typ,
!                    F       => External_Final_List,
!                    Attach  => Attach,
!                    Init_Pr => Ancestor_Is_Expression));
! 
!                At_Root   := True;
!                Inner_Typ := Init_Typ;
! 
!             else
!                Append_List_To (Start_L,
!                  Init_Controller (
!                    Target  => Target,
!                    Typ     => Outer_Typ,
!                    F       => External_Final_List,
!                    Attach  => Attach,
!                    Init_Pr => True));
! 
!                Inner_Typ := Etype (Outer_Typ);
!                At_Root   :=
!                  not Is_Tagged_Type (Typ) or else Inner_Typ = Outer_Typ;
!             end if;
! 
!             --  The outer object has to be attached as well
! 
!             if Is_Controlled (Typ) then
!                Ref := New_Copy_Tree (Target);
!                Set_Assignment_OK (Ref);
!                Append_To (Start_L,
!                   Make_Attach_Call (
!                     Obj_Ref     => Ref,
!                     Flist_Ref   => New_Copy_Tree (External_Final_List),
!                     With_Attach => New_Copy_Tree (Attach)));
!             end if;
! 
!             --  Initialize the internal controllers for tagged types with
!             --  more than one controller.
! 
!             while not At_Root and then Inner_Typ /= Init_Typ loop
!                if Has_New_Controlled_Component (Inner_Typ) then
!                   F :=
!                     Make_Selected_Component (Loc,
!                       Prefix => Convert_To (Outer_Typ, New_Copy_Tree (Target)),
!                       Selector_Name =>
!                         Make_Identifier (Loc, Name_uController));
!                   F :=
!                     Make_Selected_Component (Loc,
!                       Prefix => F,
!                       Selector_Name => Make_Identifier (Loc, Name_F));
! 
!                   Append_List_To (Start_L,
!                     Init_Controller (
!                       Target  => Target,
!                       Typ     => Inner_Typ,
!                       F       => F,
!                       Attach  => Make_Integer_Literal (Loc, 1),
!                       Init_Pr => True));
!                   Outer_Typ := Inner_Typ;
!                end if;
! 
!                --  Stop at the root
! 
!                At_Root := Inner_Typ = Etype (Inner_Typ);
!                Inner_Typ := Etype (Inner_Typ);
!             end loop;
! 
!             --  If not done yet attach the controller of the ancestor part
! 
!             if Outer_Typ /= Init_Typ
!               and then Inner_Typ = Init_Typ
!               and then Has_Controlled_Component (Init_Typ)
!             then
!                F :=
!                   Make_Selected_Component (Loc,
!                     Prefix => Convert_To (Outer_Typ, New_Copy_Tree (Target)),
!                     Selector_Name => Make_Identifier (Loc, Name_uController));
!                F :=
!                   Make_Selected_Component (Loc,
!                     Prefix => F,
!                     Selector_Name => Make_Identifier (Loc, Name_F));
  
!                Attach := Make_Integer_Literal (Loc, 1);
!                Append_List_To (Start_L,
!                  Init_Controller (
!                    Target  => Target,
!                    Typ     => Init_Typ,
!                    F       => F,
!                    Attach  => Attach,
!                    Init_Pr => Ancestor_Is_Expression));
!             end if;
!          end;
        end if;
  
!       Append_List_To (Start_L, L);
!       return Start_L;
     end Build_Record_Aggr_Code;
  
     -------------------------------
--- 2570,2596 ----
                 Make_Selected_Component (Loc,
                    Prefix => New_Copy_Tree (Target),
                   Selector_Name =>
!                    New_Reference_To
!                      (First_Tag_Component (Base_Type (Typ)), Loc)),
  
               Expression =>
                 Unchecked_Convert_To (RTE (RE_Tag),
!                  New_Reference_To
!                    (Node (First_Elmt (Access_Disp_Table (Base_Type (Typ)))),
!                     Loc)));
  
           Append_To (L, Instr);
        end if;
  
!       --  If the controllers have not been initialized yet (by lack of non-
!       --  discriminant components), let's do it now.
  
!       if not Ctrl_Stuff_Done then
!          Gen_Ctrl_Actions_For_Aggr;
!          Ctrl_Stuff_Done := True;
        end if;
  
!       return L;
     end Build_Record_Aggr_Code;
  
     -------------------------------
*************** package body Exp_Aggr is
*** 2532,2537 ****
--- 2751,2761 ----
           return;
        end if;
  
+       if Requires_Transient_Scope (Typ) then
+          Establish_Transient_Scope (Aggr, Sec_Stack =>
+            Is_Controlled (Typ) or else Has_Controlled_Component (Typ));
+       end if;
+ 
        Insert_Actions_After (N, Late_Expansion (Aggr, Typ, Occ, Obj => Obj));
        Set_No_Initialization (N);
        Initialize_Discriminants (N, Typ);
*************** package body Exp_Aggr is
*** 2665,2671 ****
          (N   : Node_Id;
           Ix  : Node_Id;
           Ixb : Node_Id) return Boolean;
!       --  Convert the aggregate into a purely positional form if possible
  
        function Is_Flat (N : Node_Id; Dims : Int) return Boolean;
        --  Return True iff the array N is flat (which is not rivial
--- 2889,2897 ----
          (N   : Node_Id;
           Ix  : Node_Id;
           Ixb : Node_Id) return Boolean;
!       --  Convert the aggregate into a purely positional form if possible.
!       --  On entry the bounds of all dimensions are known to be static,
!       --  and the total number of components is safe enough to expand.
  
        function Is_Flat (N : Node_Id; Dims : Int) return Boolean;
        --  Return True iff the array N is flat (which is not rivial
*************** package body Exp_Aggr is
*** 2687,2725 ****
           Lov : Uint;
           Hiv : Uint;
  
-          --  The following constant determines the maximum size of an
-          --  aggregate produced by converting named to positional
-          --  notation (e.g. from others clauses). This avoids running
-          --  away with attempts to convert huge aggregates.
- 
-          --  The normal limit is 5000, but we increase this limit to
-          --  2**24 (about 16 million) if Restrictions (No_Elaboration_Code)
-          --  or Restrictions (No_Implicit_Loops) is specified, since in
-          --  either case, we are at risk of declaring the program illegal
-          --  because of this limit.
- 
-          Max_Aggr_Size : constant Nat :=
-                            5000 + (2 ** 24 - 5000) *
-                              Boolean'Pos
-                                (Restriction_Active (No_Elaboration_Code)
-                                   or else
-                                 Restriction_Active (No_Implicit_Loops));
- 
        begin
           if Nkind (Original_Node (N)) = N_String_Literal then
              return True;
           end if;
  
!          --  Bounds need to be known at compile time
! 
!          if not Compile_Time_Known_Value (Lo)
!            or else not Compile_Time_Known_Value (Hi)
!          then
!             return False;
!          end if;
! 
!          --  Get bounds and check reasonable size (positive, not too large)
!          --  Also only handle bounds starting at the base type low bound
           --  for now since the compiler isn't able to handle different low
           --  bounds yet. Case such as new String'(3..5 => ' ') will get
           --  the wrong bounds, though it seems that the aggregate should
--- 2913,2924 ----
           Lov : Uint;
           Hiv : Uint;
  
        begin
           if Nkind (Original_Node (N)) = N_String_Literal then
              return True;
           end if;
  
!          --  Only handle bounds starting at the base type low bound
           --  for now since the compiler isn't able to handle different low
           --  bounds yet. Case such as new String'(3..5 => ' ') will get
           --  the wrong bounds, though it seems that the aggregate should
*************** package body Exp_Aggr is
*** 2729,2750 ****
           Hiv := Expr_Value (Hi);
  
           if Hiv < Lov
-            or else (Hiv - Lov > Max_Aggr_Size)
             or else not Compile_Time_Known_Value (Blo)
             or else (Lov /= Expr_Value (Blo))
           then
              return False;
           end if;
  
-          --  Bounds must be in integer range (for array Vals below)
- 
-          if not UI_Is_In_Int_Range (Lov)
-              or else
-             not UI_Is_In_Int_Range (Hiv)
-          then
-             return False;
-          end if;
- 
           --  Determine if set of alternatives is suitable for conversion
           --  and build an array containing the values in sequence.
  
--- 2928,2939 ----
*************** package body Exp_Aggr is
*** 2972,2978 ****
           return;
        end if;
  
!       if Flatten (N, First_Index (Typ), First_Index (Base_Type (Typ))) then
           Analyze_And_Resolve (N, Typ);
        end if;
     end Convert_To_Positional;
--- 3161,3170 ----
           return;
        end if;
  
!       if Aggr_Size_OK (Typ)
!         and then
!           Flatten (N, First_Index (Typ), First_Index (Base_Type (Typ)))
!       then
           Analyze_And_Resolve (N, Typ);
        end if;
     end Convert_To_Positional;
*************** package body Exp_Aggr is
*** 4282,4288 ****
                Parent_Expr => A);
           else
              Expand_Record_Aggregate (N,
!               Orig_Tag    => New_Occurrence_Of (Access_Disp_Table (Typ), Loc),
                Parent_Expr => A);
           end if;
        end if;
--- 4474,4482 ----
                Parent_Expr => A);
           else
              Expand_Record_Aggregate (N,
!               Orig_Tag    =>
!                 New_Occurrence_Of
!                   (Node (First_Elmt (Access_Disp_Table (Typ))), Loc),
                Parent_Expr => A);
           end if;
        end if;
*************** package body Exp_Aggr is
*** 4649,4655 ****
              elsif Java_VM then
                 Tag_Value := Empty;
              else
!                Tag_Value := New_Occurrence_Of (Access_Disp_Table (Typ), Loc);
              end if;
  
              --  For a derived type, an aggregate for the parent is formed with
--- 4843,4851 ----
              elsif Java_VM then
                 Tag_Value := Empty;
              else
!                Tag_Value :=
!                  New_Occurrence_Of
!                    (Node (First_Elmt (Access_Disp_Table (Typ))), Loc);
              end if;
  
              --  For a derived type, an aggregate for the parent is formed with
*************** package body Exp_Aggr is
*** 4712,4718 ****
              elsif not Java_VM then
                 declare
                    Tag_Name  : constant Node_Id :=
!                                 New_Occurrence_Of (Tag_Component (Typ), Loc);
                    Typ_Tag   : constant Entity_Id := RTE (RE_Tag);
                    Conv_Node : constant Node_Id :=
                                  Unchecked_Convert_To (Typ_Tag, Tag_Value);
--- 4908,4915 ----
              elsif not Java_VM then
                 declare
                    Tag_Name  : constant Node_Id :=
!                                 New_Occurrence_Of
!                                   (First_Tag_Component (Typ), Loc);
                    Typ_Tag   : constant Entity_Id := RTE (RE_Tag);
                    Conv_Node : constant Node_Id :=
                                  Unchecked_Convert_To (Typ_Tag, Tag_Value);
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_aggr.ads gcc-4.1.0/gcc/ada/exp_aggr.ads
*** gcc-4.0.2/gcc/ada/exp_aggr.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_aggr.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_attr.adb gcc-4.1.0/gcc/ada/exp_attr.adb
*** gcc-4.0.2/gcc/ada/exp_attr.adb	Thu Feb 10 13:50:22 2005
--- gcc-4.1.0/gcc/ada/exp_attr.adb	Tue Nov 15 13:56:51 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Exp_Pakd; use Exp_Pakd;
*** 35,40 ****
--- 35,41 ----
  with Exp_Strm; use Exp_Strm;
  with Exp_Tss;  use Exp_Tss;
  with Exp_Util; use Exp_Util;
+ with Exp_VFpt; use Exp_VFpt;
  with Gnatvsn;  use Gnatvsn;
  with Hostparm; use Hostparm;
  with Lib;      use Lib;
*************** package body Exp_Attr is
*** 84,99 ****
  
     procedure Expand_Fpt_Attribute
       (N    : Node_Id;
!       Rtp  : Entity_Id;
        Nam  : Name_Id;
        Args : List_Id);
     --  This procedure expands a call to a floating-point attribute function.
     --  N is the attribute reference node, and Args is a list of arguments to
!    --  be passed to the function call. Rtp is the root type of the floating
!    --  point type involved (used to select the proper generic instantiation
!    --  of the package containing the attribute routines). The Nam argument
!    --  is the attribute processing routine to be called. This is normally
!    --  the same as the attribute name, except in the Unaligned_Valid case.
  
     procedure Expand_Fpt_Attribute_R (N : Node_Id);
     --  This procedure expands a call to a floating-point attribute function
--- 85,101 ----
  
     procedure Expand_Fpt_Attribute
       (N    : Node_Id;
!       Pkg  : RE_Id;
        Nam  : Name_Id;
        Args : List_Id);
     --  This procedure expands a call to a floating-point attribute function.
     --  N is the attribute reference node, and Args is a list of arguments to
!    --  be passed to the function call. Pkg identifies the package containing
!    --  the appropriate instantiation of System.Fat_Gen. Float arguments in Args
!    --  have already been converted to the floating-point type for which Pkg was
!    --  instantiated. The Nam argument is the relevant attribute processing
!    --  routine to be called. This is the same as the attribute name, except in
!    --  the Unaligned_Valid case.
  
     procedure Expand_Fpt_Attribute_R (N : Node_Id);
     --  This procedure expands a call to a floating-point attribute function
*************** package body Exp_Attr is
*** 122,133 ****
     --  A reference to a type within its own scope is resolved to a reference
     --  to the current instance of the type in its initialization procedure.
  
!    function Find_Inherited_TSS
!      (Typ : Entity_Id;
!       Nam : TSS_Name_Type) return Entity_Id;
!    --  Returns the TSS of name Nam of Typ, or of its closest ancestor defining
!    --  such a TSS. Empty is returned is neither Typ nor any of its ancestors
!    --  have such a TSS.
  
     function Find_Stream_Subprogram
       (Typ : Entity_Id;
--- 124,137 ----
     --  A reference to a type within its own scope is resolved to a reference
     --  to the current instance of the type in its initialization procedure.
  
!    procedure Find_Fat_Info
!      (T        : Entity_Id;
!       Fat_Type : out Entity_Id;
!       Fat_Pkg  : out RE_Id);
!    --  Given a floating-point type T, identifies the package containing the
!    --  attributes for this type (returned in Fat_Pkg), and the corresponding
!    --  type for which this package was instantiated from Fat_Gen. Error if T
!    --  is not a floating-point type.
  
     function Find_Stream_Subprogram
       (Typ : Entity_Id;
*************** package body Exp_Attr is
*** 182,188 ****
        if Check then
           Insert_Action (N, Decl);
        else
!          Insert_Action (N, Decl, All_Checks);
        end if;
  
        if Installed then
--- 186,192 ----
        if Check then
           Insert_Action (N, Decl);
        else
!          Insert_Action (N, Decl, Suppress => All_Checks);
        end if;
  
        if Installed then
*************** package body Exp_Attr is
*** 266,283 ****
  
     procedure Expand_Fpt_Attribute
       (N    : Node_Id;
!       Rtp  : Entity_Id;
        Nam  : Name_Id;
        Args : List_Id)
     is
        Loc : constant Source_Ptr := Sloc (N);
        Typ : constant Entity_Id  := Etype (N);
-       Pkg : RE_Id;
        Fnm : Node_Id;
  
     begin
!       --  The function name is the selected component Fat_xxx.yyy where xxx
!       --  is the floating-point root type, and yyy is the argument Nam.
  
        --  Note: it would be more usual to have separate RE entries for each
        --  of the entities in the Fat packages, but first they have identical
--- 270,286 ----
  
     procedure Expand_Fpt_Attribute
       (N    : Node_Id;
!       Pkg  : RE_Id;
        Nam  : Name_Id;
        Args : List_Id)
     is
        Loc : constant Source_Ptr := Sloc (N);
        Typ : constant Entity_Id  := Etype (N);
        Fnm : Node_Id;
  
     begin
!       --  The function name is the selected component Attr_xxx.yyy where
!       --  Attr_xxx is the package name, and yyy is the argument Nam.
  
        --  Note: it would be more usual to have separate RE entries for each
        --  of the entities in the Fat packages, but first they have identical
*************** package body Exp_Attr is
*** 285,300 ****
        --  meet the normal RE rule of separate names for all runtime entities),
        --  and second there would be an awful lot of them!
  
-       if Rtp = Standard_Short_Float then
-          Pkg := RE_Fat_Short_Float;
-       elsif Rtp = Standard_Float then
-          Pkg := RE_Fat_Float;
-       elsif Rtp = Standard_Long_Float then
-          Pkg := RE_Fat_Long_Float;
-       else
-          Pkg := RE_Fat_Long_Long_Float;
-       end if;
- 
        Fnm :=
          Make_Selected_Component (Loc,
            Prefix        => New_Reference_To (RTE (Pkg), Loc),
--- 288,293 ----
*************** package body Exp_Attr is
*** 308,314 ****
        Rewrite (N,
          Unchecked_Convert_To (Base_Type (Etype (N)),
            Make_Function_Call (Loc,
!             Name => Fnm,
              Parameter_Associations => Args)));
  
        Analyze_And_Resolve (N, Typ);
--- 301,307 ----
        Rewrite (N,
          Unchecked_Convert_To (Base_Type (Etype (N)),
            Make_Function_Call (Loc,
!             Name                   => Fnm,
              Parameter_Associations => Args)));
  
        Analyze_And_Resolve (N, Typ);
*************** package body Exp_Attr is
*** 324,335 ****
  
     procedure Expand_Fpt_Attribute_R (N : Node_Id) is
        E1  : constant Node_Id    := First (Expressions (N));
!       Rtp : constant Entity_Id  := Root_Type (Etype (E1));
! 
     begin
        Expand_Fpt_Attribute
!         (N, Rtp, Attribute_Name (N),
!          New_List (Unchecked_Convert_To (Rtp, Relocate_Node (E1))));
     end Expand_Fpt_Attribute_R;
  
     -----------------------------
--- 317,329 ----
  
     procedure Expand_Fpt_Attribute_R (N : Node_Id) is
        E1  : constant Node_Id    := First (Expressions (N));
!       Ftp : Entity_Id;
!       Pkg : RE_Id;
     begin
+       Find_Fat_Info (Etype (E1), Ftp, Pkg);
        Expand_Fpt_Attribute
!         (N, Pkg, Attribute_Name (N),
!          New_List (Unchecked_Convert_To (Ftp, Relocate_Node (E1))));
     end Expand_Fpt_Attribute_R;
  
     -----------------------------
*************** package body Exp_Attr is
*** 343,356 ****
  
     procedure Expand_Fpt_Attribute_RI (N : Node_Id) is
        E1  : constant Node_Id   := First (Expressions (N));
!       Rtp : constant Entity_Id := Root_Type (Etype (E1));
        E2  : constant Node_Id   := Next (E1);
- 
     begin
        Expand_Fpt_Attribute
!         (N, Rtp, Attribute_Name (N),
           New_List (
!            Unchecked_Convert_To (Rtp, Relocate_Node (E1)),
             Unchecked_Convert_To (Standard_Integer, Relocate_Node (E2))));
     end Expand_Fpt_Attribute_RI;
  
--- 337,351 ----
  
     procedure Expand_Fpt_Attribute_RI (N : Node_Id) is
        E1  : constant Node_Id   := First (Expressions (N));
!       Ftp : Entity_Id;
!       Pkg : RE_Id;
        E2  : constant Node_Id   := Next (E1);
     begin
+       Find_Fat_Info (Etype (E1), Ftp, Pkg);
        Expand_Fpt_Attribute
!         (N, Pkg, Attribute_Name (N),
           New_List (
!            Unchecked_Convert_To (Ftp, Relocate_Node (E1)),
             Unchecked_Convert_To (Standard_Integer, Relocate_Node (E2))));
     end Expand_Fpt_Attribute_RI;
  
*************** package body Exp_Attr is
*** 364,378 ****
  
     procedure Expand_Fpt_Attribute_RR (N : Node_Id) is
        E1  : constant Node_Id   := First (Expressions (N));
!       Rtp : constant Entity_Id := Root_Type (Etype (E1));
        E2  : constant Node_Id   := Next (E1);
- 
     begin
        Expand_Fpt_Attribute
!         (N, Rtp, Attribute_Name (N),
           New_List (
!            Unchecked_Convert_To (Rtp, Relocate_Node (E1)),
!            Unchecked_Convert_To (Rtp, Relocate_Node (E2))));
     end Expand_Fpt_Attribute_RR;
  
     ----------------------------------
--- 359,374 ----
  
     procedure Expand_Fpt_Attribute_RR (N : Node_Id) is
        E1  : constant Node_Id   := First (Expressions (N));
!       Ftp : Entity_Id;
!       Pkg : RE_Id;
        E2  : constant Node_Id   := Next (E1);
     begin
+       Find_Fat_Info (Etype (E1), Ftp, Pkg);
        Expand_Fpt_Attribute
!         (N, Pkg, Attribute_Name (N),
           New_List (
!            Unchecked_Convert_To (Ftp, Relocate_Node (E1)),
!            Unchecked_Convert_To (Ftp, Relocate_Node (E2))));
     end Expand_Fpt_Attribute_RR;
  
     ----------------------------------
*************** package body Exp_Attr is
*** 633,638 ****
--- 629,644 ----
                       Rewrite (N, Conversion);
                       Analyze_And_Resolve (N, Typ);
                    end if;
+ 
+                --  Ada 2005 (AI-251): If the designated type is an interface,
+                --  then rewrite the referenced object as a conversion to force
+                --  the displacement of the pointer to the secondary dispatch
+                --  table.
+ 
+                elsif Is_Interface (Directly_Designated_Type (Btyp)) then
+                   Conversion := Convert_To (Typ, New_Copy_Tree (Ref_Object));
+                   Rewrite (N, Conversion);
+                   Analyze_And_Resolve (N, Typ);
                 end if;
              end;
  
*************** package body Exp_Attr is
*** 1003,1014 ****
        -- Callable --
        --------------
  
!       --  Transforms 'Callable attribute into a call to the Callable function.
  
        when Attribute_Callable => Callable :
        begin
!          Rewrite (N,
!            Build_Call_With_Task (Pref, RTE (RE_Callable)));
           Analyze_And_Resolve (N, Standard_Boolean);
        end Callable;
  
--- 1009,1043 ----
        -- Callable --
        --------------
  
!       --  Transforms 'Callable attribute into a call to the Callable function
  
        when Attribute_Callable => Callable :
        begin
!          --  We have an object of a task interface class-wide type as a prefix
!          --  to Callable. Generate:
! 
!          --    callable (Pref._disp_get_task_id);
! 
!          if Ada_Version >= Ada_05
!            and then Ekind (Etype (Pref)) = E_Class_Wide_Type
!            and then Is_Interface      (Etype (Pref))
!            and then Is_Task_Interface (Etype (Pref))
!          then
!             Rewrite (N,
!               Make_Function_Call (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Callable), Loc),
!                 Parameter_Associations => New_List (
!                   Make_Selected_Component (Loc,
!                     Prefix =>
!                       New_Copy_Tree (Pref),
!                     Selector_Name =>
!                       Make_Identifier (Loc, Name_uDisp_Get_Task_Id)))));
!          else
!             Rewrite (N,
!               Build_Call_With_Task (Pref, RTE (RE_Callable)));
!          end if;
! 
           Analyze_And_Resolve (N, Standard_Boolean);
        end Callable;
  
*************** package body Exp_Attr is
*** 1113,1118 ****
--- 1142,1148 ----
  
        when Attribute_Constrained => Constrained : declare
           Formal_Ent : constant Entity_Id := Param_Entity (Pref);
+          Typ        : constant Entity_Id := Etype (Pref);
  
        begin
           --  Reference to a parameter where the value is passed as an extra
*************** package body Exp_Attr is
*** 1196,1210 ****
  
           --  Prefix is not an entity name. These are also cases where
           --  we can always tell at compile time by looking at the form
!          --  and type of the prefix.
  
           else
              Rewrite (N,
                New_Reference_To (
                  Boolean_Literals (
                    not Is_Variable (Pref)
!                     or else Nkind (Pref) = N_Explicit_Dereference
!                     or else Is_Constrained (Etype (Pref))),
                  Loc));
           end if;
  
--- 1226,1245 ----
  
           --  Prefix is not an entity name. These are also cases where
           --  we can always tell at compile time by looking at the form
!          --  and type of the prefix. If an explicit dereference of an
!          --  object with constrained partial view, this is unconstrained
!          --  (Ada 2005 AI-363).
  
           else
              Rewrite (N,
                New_Reference_To (
                  Boolean_Literals (
                    not Is_Variable (Pref)
!                     or else
!                      (Nkind (Pref) = N_Explicit_Dereference
!                         and then
!                           not Has_Constrained_Partial_View (Base_Type (Typ)))
!                     or else Is_Constrained (Typ)),
                  Loc));
           end if;
  
*************** package body Exp_Attr is
*** 1620,1627 ****
  
        --  expands into
  
!       --    Result_Type (System.Fore (Long_Long_Float (Type'First)),
!       --                              Long_Long_Float (Type'Last))
  
        --  Note that we know that the type is a non-static subtype, or Fore
        --  would have itself been computed dynamically in Eval_Attribute.
--- 1655,1662 ----
  
        --  expands into
  
!       --    Result_Type (System.Fore (Universal_Real (Type'First)),
!       --                              Universal_Real (Type'Last))
  
        --  Note that we know that the type is a non-static subtype, or Fore
        --  would have itself been computed dynamically in Eval_Attribute.
*************** package body Exp_Attr is
*** 1637,1648 ****
                 Name => New_Reference_To (RTE (RE_Fore), Loc),
  
                 Parameter_Associations => New_List (
!                  Convert_To (Standard_Long_Long_Float,
                     Make_Attribute_Reference (Loc,
                       Prefix => New_Reference_To (Ptyp, Loc),
                       Attribute_Name => Name_First)),
  
!                  Convert_To (Standard_Long_Long_Float,
                     Make_Attribute_Reference (Loc,
                       Prefix => New_Reference_To (Ptyp, Loc),
                       Attribute_Name => Name_Last))))));
--- 1672,1683 ----
                 Name => New_Reference_To (RTE (RE_Fore), Loc),
  
                 Parameter_Associations => New_List (
!                  Convert_To (Universal_Real,
                     Make_Attribute_Reference (Loc,
                       Prefix => New_Reference_To (Ptyp, Loc),
                       Attribute_Name => Name_First)),
  
!                  Convert_To (Universal_Real,
                     Make_Attribute_Reference (Loc,
                       Prefix => New_Reference_To (Ptyp, Loc),
                       Attribute_Name => Name_Last))))));
*************** package body Exp_Attr is
*** 1672,1678 ****
  
        --    taskV!(Prefix)._Task_Id, converted to the type Task_Id defined
  
!       --  in Ada.Task_Identification.
  
        when Attribute_Identity => Identity : declare
           Id_Kind : Entity_Id;
--- 1707,1713 ----
  
        --    taskV!(Prefix)._Task_Id, converted to the type Task_Id defined
  
!       --  in Ada.Task_Identification
  
        when Attribute_Identity => Identity : declare
           Id_Kind : Entity_Id;
*************** package body Exp_Attr is
*** 1872,1881 ****
                    --  initialize a dummy tag object:
  
                    --    Dnn : Ada.Tags.Tag
!                   --             := Internal_Tag (String'Input (Strm));
  
                    --  This dummy object is used only to provide a controlling
!                   --  argument for the eventual _Input call.
  
                    Dnn :=
                      Make_Defining_Identifier (Loc,
--- 1907,1922 ----
                    --  initialize a dummy tag object:
  
                    --    Dnn : Ada.Tags.Tag
!                   --           := Descendant_Tag (String'Input (Strm), P_Type);
  
                    --  This dummy object is used only to provide a controlling
!                   --  argument for the eventual _Input call. Descendant_Tag is
!                   --  called rather than Internal_Tag to ensure that we have a
!                   --  tag for a type that is descended from the prefix type and
!                   --  declared at the same accessibility level (the exception
!                   --  Tag_Error will be raised otherwise). The level check is
!                   --  required for Ada 2005 because tagged types can be
!                   --  extended in nested scopes (AI-344).
  
                    Dnn :=
                      Make_Defining_Identifier (Loc,
*************** package body Exp_Attr is
*** 1889,1895 ****
                        Expression =>
                          Make_Function_Call (Loc,
                            Name =>
!                             New_Occurrence_Of (RTE (RE_Internal_Tag), Loc),
                            Parameter_Associations => New_List (
                              Make_Attribute_Reference (Loc,
                                Prefix =>
--- 1930,1936 ----
                        Expression =>
                          Make_Function_Call (Loc,
                            Name =>
!                             New_Occurrence_Of (RTE (RE_Descendant_Tag), Loc),
                            Parameter_Associations => New_List (
                              Make_Attribute_Reference (Loc,
                                Prefix =>
*************** package body Exp_Attr is
*** 1897,1911 ****
                                Attribute_Name => Name_Input,
                                Expressions => New_List (
                                  Relocate_Node
!                                   (Duplicate_Subexpr (Strm)))))));
  
                    Insert_Action (N, Decl);
  
                    --  Now we need to get the entity for the call, and construct
                    --  a function call node, where we preset a reference to Dnn
!                   --  as the controlling argument (doing an unchecked
!                   --  conversion to the class-wide tagged type to make it
!                   --  look like a real tagged object).
  
                    Fname := Find_Prim_Op (Rtyp, TSS_Stream_Input);
                    Cntrl := Unchecked_Convert_To (P_Type,
--- 1938,1955 ----
                                Attribute_Name => Name_Input,
                                Expressions => New_List (
                                  Relocate_Node
!                                   (Duplicate_Subexpr (Strm)))),
!                             Make_Attribute_Reference (Loc,
!                               Prefix => New_Reference_To (P_Type, Loc),
!                               Attribute_Name => Name_Tag))));
  
                    Insert_Action (N, Decl);
  
                    --  Now we need to get the entity for the call, and construct
                    --  a function call node, where we preset a reference to Dnn
!                   --  as the controlling argument (doing an unchecked convert
!                   --  to the class-wide tagged type to make it look like a real
!                   --  tagged object).
  
                    Fname := Find_Prim_Op (Rtyp, TSS_Stream_Input);
                    Cntrl := Unchecked_Convert_To (P_Type,
*************** package body Exp_Attr is
*** 1919,1927 ****
              elsif Is_Tagged_Type (U_Type) then
                 Fname := Find_Prim_Op (U_Type, TSS_Stream_Input);
  
!             --  All other record type cases, including protected records.
!             --  The latter only arise for expander generated code for
!             --  handling shared passive partition access.
  
              else
                 pragma Assert
--- 1963,1971 ----
              elsif Is_Tagged_Type (U_Type) then
                 Fname := Find_Prim_Op (U_Type, TSS_Stream_Input);
  
!             --  All other record type cases, including protected records. The
!             --  latter only arise for expander generated code for handling
!             --  shared passive partition access.
  
              else
                 pragma Assert
*************** package body Exp_Attr is
*** 1974,1982 ****
              end if;
           end if;
  
!          --  If we fall through, Fname is the function to be called. The
!          --  result is obtained by calling the appropriate function, then
!          --  converting the result. The conversion does a subtype check.
  
           Call :=
             Make_Function_Call (Loc,
--- 2018,2026 ----
              end if;
           end if;
  
!          --  If we fall through, Fname is the function to be called. The result
!          --  is obtained by calling the appropriate function, then converting
!          --  the result. The conversion does a subtype check.
  
           Call :=
             Make_Function_Call (Loc,
*************** package body Exp_Attr is
*** 2088,2097 ****
        --  function Leading_Part in Fat_xxx (where xxx is the root type)
  
        --  Note: strictly, we should have special case code to deal with
!       --  absurdly large positive arguments (greater than Integer'Last),
!       --  which result in returning the first argument unchanged, but it
!       --  hardly seems worth the effort. We raise constraint error for
!       --  absurdly negative arguments which is fine.
  
        when Attribute_Leading_Part =>
           Expand_Fpt_Attribute_RI (N);
--- 2132,2141 ----
        --  function Leading_Part in Fat_xxx (where xxx is the root type)
  
        --  Note: strictly, we should have special case code to deal with
!       --  absurdly large positive arguments (greater than Integer'Last), which
!       --  result in returning the first argument unchanged, but it hardly seems
!       --  worth the effort. We raise constraint error for absurdly negative
!       --  arguments which is fine.
  
        when Attribute_Leading_Part =>
           Expand_Fpt_Attribute_RI (N);
*************** package body Exp_Attr is
*** 2264,2269 ****
--- 2308,2324 ----
        when Attribute_Machine =>
           Expand_Fpt_Attribute_R (N);
  
+       ----------------------
+       -- Machine_Rounding --
+       ----------------------
+ 
+       --  Transforms 'Machine_Rounding into a call to the floating-point
+       --  attribute function Machine_Rounding in Fat_xxx (where xxx is the root
+       --  type).
+ 
+       when Attribute_Machine_Rounding =>
+          Expand_Fpt_Attribute_R (N);
+ 
        ------------------
        -- Machine_Size --
        ------------------
*************** package body Exp_Attr is
*** 2283,2291 ****
        -- Mantissa --
        --------------
  
!       --  The only case that can get this far is the dynamic case of the
!       --  old Ada 83 Mantissa attribute for the fixed-point case. For this
!       --  case, we expand:
  
        --    typ'Mantissa
  
--- 2338,2346 ----
        -- Mantissa --
        --------------
  
!       --  The only case that can get this far is the dynamic case of the old
!       --  Ada 83 Mantissa attribute for the fixed-point case. For this case, we
!       --  expand:
  
        --    typ'Mantissa
  
*************** package body Exp_Attr is
*** 2354,2370 ****
                    Right_Opnd => Make_Integer_Literal (Loc, Modv))));
  
           --  Here we know that the modulus is larger than type'Last of the
!          --  integer type. There are three possible cases to consider:
  
           --    a) The integer value is non-negative. In this case, it is
           --    returned as the result (since it is less than the modulus).
  
!          --    b) The integer value is negative. In this case, we know that
!          --    the result is modulus + value, where the value might be as
!          --    small as -modulus. The trouble is what type do we use to do
!          --    this subtraction. No type will do, since modulus can be as
!          --    big as 2**64, and no integer type accomodates this value.
!          --    Let's do a bit of algebra
  
           --         modulus + value
           --      =  modulus - (-value)
--- 2409,2424 ----
                    Right_Opnd => Make_Integer_Literal (Loc, Modv))));
  
           --  Here we know that the modulus is larger than type'Last of the
!          --  integer type. There are two cases to consider:
  
           --    a) The integer value is non-negative. In this case, it is
           --    returned as the result (since it is less than the modulus).
  
!          --    b) The integer value is negative. In this case, we know that the
!          --    result is modulus + value, where the value might be as small as
!          --    -modulus. The trouble is what type do we use to do the subtract.
!          --    No type will do, since modulus can be as big as 2**64, and no
!          --    integer type accomodates this value. Let's do bit of algebra
  
           --         modulus + value
           --      =  modulus - (-value)
*************** package body Exp_Attr is
*** 2376,2381 ****
--- 2430,2439 ----
           --    Furthermore, (-value - 1) can be expressed as -(value + 1)
           --    which we can compute using the integer base type.
  
+          --  Once this is done we analyze the conditional expression without
+          --  range checks, because we know everything is in range, and we
+          --  want to prevent spurious warnings on either branch.
+ 
           else
              Rewrite (N,
                Make_Conditional_Expression (Loc,
*************** package body Exp_Attr is
*** 2403,2409 ****
  
           end if;
  
!          Analyze_And_Resolve (N, Btyp);
        end Mod_Case;
  
        -----------
--- 2461,2467 ----
  
           end if;
  
!          Analyze_And_Resolve (N, Btyp, Suppress => All_Checks);
        end Mod_Case;
  
        -----------
*************** package body Exp_Attr is
*** 2459,2468 ****
  
              --     strmtyp'Output (Stream, strmwrite (acttyp (Item)));
  
!             --  where strmwrite is the given Write function that converts
!             --  an argument of type sourcetyp or a type acctyp, from which
!             --  it is derived to type strmtyp. The conversion to acttyp is
!             --  required for the derived case.
  
              Prag := Get_Stream_Convert_Pragma (P_Type);
  
--- 2517,2526 ----
  
              --     strmtyp'Output (Stream, strmwrite (acttyp (Item)));
  
!             --  where strmwrite is the given Write function that converts an
!             --  argument of type sourcetyp or a type acctyp, from which it is
!             --  derived to type strmtyp. The conversion to acttyp is required
!             --  for the derived case.
  
              Prag := Get_Stream_Convert_Pragma (P_Type);
  
*************** package body Exp_Attr is
*** 2525,2531 ****
  
                 begin
                    --  The code is:
!                   --  String'Output (Strm, External_Tag (Item'Tag))
  
                    Insert_Action (N,
                      Make_Attribute_Reference (Loc,
--- 2583,2625 ----
  
                 begin
                    --  The code is:
!                   --  if Get_Access_Level (Item'Tag)
!                   --       /= Get_Access_Level (P_Type'Tag)
!                   --  then
!                   --     raise Tag_Error;
!                   --  end if;
!                   --  String'Output (Strm, External_Tag (Item'Tag));
! 
!                   --  Ada 2005 (AI-344): Check that the accessibility level
!                   --  of the type of the output object is not deeper than
!                   --  that of the attribute's prefix type.
! 
!                   if Ada_Version >= Ada_05 then
!                      Insert_Action (N,
!                        Make_Implicit_If_Statement (N,
!                          Condition =>
!                            Make_Op_Ne (Loc,
!                              Left_Opnd  =>
!                                Make_Function_Call (Loc,
!                                  Name =>
!                                    New_Reference_To
!                                      (RTE (RE_Get_Access_Level), Loc),
!                                  Parameter_Associations =>
!                                    New_List (Make_Attribute_Reference (Loc,
!                                                Prefix         =>
!                                                  Relocate_Node (
!                                                    Duplicate_Subexpr (Item,
!                                                      Name_Req => True)),
!                                                Attribute_Name =>
!                                                   Name_Tag))),
!                              Right_Opnd =>
!                                Make_Integer_Literal
!                                  (Loc, Type_Access_Level (P_Type))),
!                          Then_Statements =>
!                            New_List (Make_Raise_Statement (Loc,
!                                        New_Occurrence_Of (
!                                          RTE (RE_Tag_Error), Loc)))));
!                   end if;
  
                    Insert_Action (N,
                      Make_Attribute_Reference (Loc,
*************** package body Exp_Attr is
*** 2551,2559 ****
              elsif Is_Tagged_Type (U_Type) then
                 Pname := Find_Prim_Op (U_Type, TSS_Stream_Output);
  
!             --  All other record type cases, including protected records.
!             --  The latter only arise for expander generated code for
!             --  handling shared passive partition access.
  
              else
                 pragma Assert
--- 2645,2653 ----
              elsif Is_Tagged_Type (U_Type) then
                 Pname := Find_Prim_Op (U_Type, TSS_Stream_Output);
  
! --              --  All other record type cases, including protected records.
! --              --  The latter only arise for expander generated code for
! --              --  handling shared passive partition access.
  
              else
                 pragma Assert
*************** package body Exp_Attr is
*** 2864,2873 ****
  
              --     Item := sourcetyp (strmread (strmtyp'Input (Stream)));
  
!             --  where strmread is the given Read function that converts
!             --  an argument of type strmtyp to type sourcetyp or a type
!             --  from which it is derived. The conversion to sourcetyp
!             --  is required in the latter case.
  
              --  A special case arises if Item is a type conversion in which
              --  case, we have to expand to:
--- 2958,2967 ----
  
              --     Item := sourcetyp (strmread (strmtyp'Input (Stream)));
  
!             --  where strmread is the given Read function that converts an
!             --  argument of type strmtyp to type sourcetyp or a type from which
!             --  it is derived. The conversion to sourcetyp is required in the
!             --  latter case.
  
              --  A special case arises if Item is a type conversion in which
              --  case, we have to expand to:
*************** package body Exp_Attr is
*** 2950,2958 ****
              elsif Is_Tagged_Type (U_Type) then
                 Pname := Find_Prim_Op (U_Type, TSS_Stream_Read);
  
!             --  All other record type cases, including protected records.
!             --  The latter only arise for expander generated code for
!             --  handling shared passive partition access.
  
              else
                 pragma Assert
--- 3044,3052 ----
              elsif Is_Tagged_Type (U_Type) then
                 Pname := Find_Prim_Op (U_Type, TSS_Stream_Read);
  
!             --  All other record type cases, including protected records. The
!             --  latter only arise for expander generated code for handling
!             --  shared passive partition access.
  
              else
                 pragma Assert
*************** package body Exp_Attr is
*** 3004,3039 ****
        -- Round --
        -----------
  
!       --  The handling of the Round attribute is quite delicate. The
!       --  processing in Sem_Attr introduced a conversion to universal
!       --  real, reflecting the semantics of Round, but we do not want
!       --  anything to do with universal real at runtime, since this
!       --  corresponds to using floating-point arithmetic.
  
!       --  What we have now is that the Etype of the Round attribute
!       --  correctly indicates the final result type. The operand of
!       --  the Round is the conversion to universal real, described
!       --  above, and the operand of this conversion is the actual
!       --  operand of Round, which may be the special case of a fixed
!       --  point multiplication or division (Etype = universal fixed)
  
!       --  The exapander will expand first the operand of the conversion,
!       --  then the conversion, and finally the round attribute itself,
!       --  since we always work inside out. But we cannot simply process
!       --  naively in this order. In the semantic world where universal
!       --  fixed and real really exist and have infinite precision, there
!       --  is no problem, but in the implementation world, where universal
!       --  real is a floating-point type, we would get the wrong result.
  
!       --  So the approach is as follows. First, when expanding a multiply
!       --  or divide whose type is universal fixed, we do nothing at all,
!       --  instead deferring the operation till later.
  
        --  The actual processing is done in Expand_N_Type_Conversion which
!       --  handles the special case of Round by looking at its parent to
!       --  see if it is a Round attribute, and if it is, handling the
!       --  conversion (or its fixed multiply/divide child) in an appropriate
!       --  manner.
  
        --  This means that by the time we get to expanding the Round attribute
        --  itself, the Round is nothing more than a type conversion (and will
--- 3098,3132 ----
        -- Round --
        -----------
  
!       --  The handling of the Round attribute is quite delicate. The processing
!       --  in Sem_Attr introduced a conversion to universal real, reflecting the
!       --  semantics of Round, but we do not want anything to do with universal
!       --  real at runtime, since this corresponds to using floating-point
!       --  arithmetic.
  
!       --  What we have now is that the Etype of the Round attribute correctly
!       --  indicates the final result type. The operand of the Round is the
!       --  conversion to universal real, described above, and the operand of
!       --  this conversion is the actual operand of Round, which may be the
!       --  special case of a fixed point multiplication or division (Etype =
!       --  universal fixed)
  
!       --  The exapander will expand first the operand of the conversion, then
!       --  the conversion, and finally the round attribute itself, since we
!       --  always work inside out. But we cannot simply process naively in this
!       --  order. In the semantic world where universal fixed and real really
!       --  exist and have infinite precision, there is no problem, but in the
!       --  implementation world, where universal real is a floating-point type,
!       --  we would get the wrong result.
  
!       --  So the approach is as follows. First, when expanding a multiply or
!       --  divide whose type is universal fixed, we do nothing at all, instead
!       --  deferring the operation till later.
  
        --  The actual processing is done in Expand_N_Type_Conversion which
!       --  handles the special case of Round by looking at its parent to see if
!       --  it is a Round attribute, and if it is, handling the conversion (or
!       --  its fixed multiply/divide child) in an appropriate manner.
  
        --  This means that by the time we get to expanding the Round attribute
        --  itself, the Round is nothing more than a type conversion (and will
*************** package body Exp_Attr is
*** 3127,3135 ****
                    Rewrite (Pref, New_Occurrence_Of (Etype (Pref), Loc));
                 end if;
  
!                --  For a scalar type for which no size was
!                --  explicitly given, VADS_Size means Object_Size. This is the
!                --  other respect in which VADS_Size differs from Size.
  
                 if Is_Scalar_Type (Etype (Pref))
                   and then No (Size_Clause (Etype (Pref)))
--- 3220,3228 ----
                    Rewrite (Pref, New_Occurrence_Of (Etype (Pref), Loc));
                 end if;
  
!                --  For a scalar type for which no size was explicitly given,
!                --  VADS_Size means Object_Size. This is the other respect in
!                --  which VADS_Size differs from Size.
  
                 if Is_Scalar_Type (Etype (Pref))
                   and then No (Size_Clause (Etype (Pref)))
*************** package body Exp_Attr is
*** 3154,3160 ****
              Rewrite (Prefix (N), New_Occurrence_Of (Entity (Pref), Loc));
              return;
  
!          --  For x'Size applied to an object of a class-wide type, transform
           --  X'Size into a call to the primitive operation _Size applied to X.
  
           elsif Is_Class_Wide_Type (Ptyp) then
--- 3247,3253 ----
              Rewrite (Prefix (N), New_Occurrence_Of (Entity (Pref), Loc));
              return;
  
!          --  For X'Size applied to an object of a class-wide type, transform
           --  X'Size into a call to the primitive operation _Size applied to X.
  
           elsif Is_Class_Wide_Type (Ptyp) then
*************** package body Exp_Attr is
*** 3184,3192 ****
           elsif Nkind (Pref) = N_Indexed_Component then
              Siz := Component_Size (Etype (Prefix (Pref)));
  
!          --  For a record component, we can do Size in the front end
!          --  if there is a component clause, or if the record is packed
!          --  and the component's size is known at compile time.
  
           elsif Nkind (Pref) = N_Selected_Component then
              declare
--- 3277,3285 ----
           elsif Nkind (Pref) = N_Indexed_Component then
              Siz := Component_Size (Etype (Prefix (Pref)));
  
!          --  For a record component, we can do Size in the front end if there
!          --  is a component clause, or if the record is packed and the
!          --  component's size is known at compile time.
  
           elsif Nkind (Pref) = N_Selected_Component then
              declare
*************** package body Exp_Attr is
*** 3211,3218 ****
           else
              Apply_Universal_Integer_Attribute_Checks (N);
  
!             --  If we have Size applied to a formal parameter, that is a
!             --  packed array subtype, then apply size to the actual subtype.
  
              if Is_Entity_Name (Pref)
                and then Is_Formal (Entity (Pref))
--- 3304,3311 ----
           else
              Apply_Universal_Integer_Attribute_Checks (N);
  
!             --  If Size is applied to a formal parameter that is of a packed
!             --  array subtype, then apply Size to the actual subtype.
  
              if Is_Entity_Name (Pref)
                and then Is_Formal (Entity (Pref))
*************** package body Exp_Attr is
*** 3227,3232 ****
--- 3320,3339 ----
                 Analyze_And_Resolve (N, Typ);
              end if;
  
+             --  If Size is applied to a dereference of an access to
+             --  unconstrained packed array, GIGI needs to see its
+             --  unconstrained nominal type, but also a hint to the actual
+             --  constrained type.
+ 
+             if Nkind (Pref) = N_Explicit_Dereference
+               and then Is_Array_Type (Etype (Pref))
+               and then not Is_Constrained (Etype (Pref))
+               and then Is_Packed (Etype (Pref))
+             then
+                Set_Actual_Designated_Subtype (Pref,
+                  Get_Actual_Subtype (Pref));
+             end if;
+ 
              return;
           end if;
  
*************** package body Exp_Attr is
*** 3510,3516 ****
              if not Java_VM then
                 Rewrite (N,
                   Unchecked_Convert_To (RTE (RE_Tag),
!                    New_Reference_To (Access_Disp_Table (Ttyp), Loc)));
                 Analyze_And_Resolve (N, RTE (RE_Tag));
              end if;
  
--- 3617,3624 ----
              if not Java_VM then
                 Rewrite (N,
                   Unchecked_Convert_To (RTE (RE_Tag),
!                    New_Reference_To
!                      (Node (First_Elmt (Access_Disp_Table (Ttyp))), Loc)));
                 Analyze_And_Resolve (N, RTE (RE_Tag));
              end if;
  
*************** package body Exp_Attr is
*** 3519,3525 ****
                Make_Selected_Component (Loc,
                  Prefix => Relocate_Node (Pref),
                  Selector_Name =>
!                   New_Reference_To (Tag_Component (Ttyp), Loc)));
              Analyze_And_Resolve (N, RTE (RE_Tag));
           end if;
        end Tag;
--- 3627,3633 ----
                Make_Selected_Component (Loc,
                  Prefix => Relocate_Node (Pref),
                  Selector_Name =>
!                   New_Reference_To (First_Tag_Component (Ttyp), Loc)));
              Analyze_And_Resolve (N, RTE (RE_Tag));
           end if;
        end Tag;
*************** package body Exp_Attr is
*** 3528,3538 ****
        -- Terminated --
        ----------------
  
!       --  Transforms 'Terminated attribute into a call to Terminated function.
  
        when Attribute_Terminated => Terminated :
        begin
!          if Restricted_Profile then
              Rewrite (N,
                Build_Call_With_Task (Pref, RTE (RE_Restricted_Terminated)));
  
--- 3636,3667 ----
        -- Terminated --
        ----------------
  
!       --  Transforms 'Terminated attribute into a call to Terminated function
  
        when Attribute_Terminated => Terminated :
        begin
!          --  The prefix of Terminated is of a task interface class-wide type.
!          --  Generate:
! 
!          --    terminated (Pref._disp_get_task_id);
! 
!          if Ada_Version >= Ada_05
!            and then Ekind (Etype (Pref)) = E_Class_Wide_Type
!            and then Is_Interface      (Etype (Pref))
!            and then Is_Task_Interface (Etype (Pref))
!          then
!             Rewrite (N,
!               Make_Function_Call (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Terminated), Loc),
!                 Parameter_Associations => New_List (
!                   Make_Selected_Component (Loc,
!                     Prefix =>
!                       New_Copy_Tree (Pref),
!                     Selector_Name =>
!                       Make_Identifier (Loc, Name_uDisp_Get_Task_Id)))));
! 
!          elsif Restricted_Profile then
              Rewrite (N,
                Build_Call_With_Task (Pref, RTE (RE_Restricted_Terminated)));
  
*************** package body Exp_Attr is
*** 3583,3589 ****
        ----------------------
  
        when Attribute_Unchecked_Access =>
!          Expand_Access_To_Type (N);
  
        -----------------
        -- UET_Address --
--- 3712,3737 ----
        ----------------------
  
        when Attribute_Unchecked_Access =>
! 
!          --  Ada 2005 (AI-251): If the designated type is an interface, then
!          --  rewrite the referenced object as a conversion to force the
!          --  displacement of the pointer to the secondary dispatch table.
! 
!          if Is_Interface (Directly_Designated_Type (Btyp)) then
!             declare
!                Ref_Object : constant Node_Id := Get_Referenced_Object (Pref);
!                Conversion : Node_Id;
!             begin
!                Conversion := Convert_To (Typ, New_Copy_Tree (Ref_Object));
!                Rewrite (N, Conversion);
!                Analyze_And_Resolve (N, Typ);
!             end;
! 
!          --  Otherwise this is like normal Access without a check
! 
!          else
!             Expand_Access_To_Type (N);
!          end if;
  
        -----------------
        -- UET_Address --
*************** package body Exp_Attr is
*** 3629,3635 ****
        -------------------------
  
        when Attribute_Unrestricted_Access =>
!          Expand_Access_To_Type (N);
  
        ---------------
        -- VADS_Size --
--- 3777,3802 ----
        -------------------------
  
        when Attribute_Unrestricted_Access =>
! 
!          --  Ada 2005 (AI-251): If the designated type is an interface, then
!          --  rewrite the referenced object as a conversion to force the
!          --  displacement of the pointer to the secondary dispatch table.
! 
!          if Is_Interface (Directly_Designated_Type (Btyp)) then
!             declare
!                Ref_Object : constant Node_Id := Get_Referenced_Object (Pref);
!                Conversion : Node_Id;
!             begin
!                Conversion := Convert_To (Typ, New_Copy_Tree (Ref_Object));
!                Rewrite (N, Conversion);
!                Analyze_And_Resolve (N, Typ);
!             end;
! 
!          --  Otherwise this is like Access without a check
! 
!          else
!             Expand_Access_To_Type (N);
!          end if;
  
        ---------------
        -- VADS_Size --
*************** package body Exp_Attr is
*** 3766,3801 ****
  
           if Is_Floating_Point_Type (Ptyp) then
              declare
!                Rtp : constant Entity_Id := Root_Type (Etype (Pref));
  
              begin
!                --  If the floating-point object might be unaligned, we need
!                --  to call the special routine Unaligned_Valid, which makes
!                --  the needed copy, being careful not to load the value into
!                --  any floating-point register. The argument in this case is
!                --  obj'Address (see Unchecked_Valid routine in s-fatgen.ads).
  
!                if Is_Possibly_Unaligned_Object (Pref) then
!                   Set_Attribute_Name (N, Name_Unaligned_Valid);
!                   Expand_Fpt_Attribute
!                     (N, Rtp, Name_Unaligned_Valid,
!                      New_List (
!                        Make_Attribute_Reference (Loc,
!                          Prefix         => Relocate_Node (Pref),
!                          Attribute_Name => Name_Address)));
  
!                --  In the normal case where we are sure the object is aligned,
!                --  we generate a caqll to Valid, and the argument in this case
!                --  is obj'Unrestricted_Access (after converting obj to the
!                --  right floating-point type).
  
                 else
!                   Expand_Fpt_Attribute
!                     (N, Rtp, Name_Valid,
!                      New_List (
!                        Make_Attribute_Reference (Loc,
!                          Prefix         => Unchecked_Convert_To (Rtp, Pref),
!                          Attribute_Name => Name_Unrestricted_Access)));
                 end if;
  
                 --  One more task, we still need a range check. Required
--- 3933,3982 ----
  
           if Is_Floating_Point_Type (Ptyp) then
              declare
!                Pkg : RE_Id;
!                Ftp : Entity_Id;
  
              begin
!                --  For vax fpt types, call appropriate routine in special vax
!                --  floating point unit. We do not have to worry about loads in
!                --  this case, since these types have no signalling NaN's.
  
!                if Vax_Float (Btyp) then
!                   Expand_Vax_Valid (N);
  
!                --  Non VAX float case
  
                 else
!                   Find_Fat_Info (Etype (Pref), Ftp, Pkg);
! 
!                   --  If the floating-point object might be unaligned, we need
!                   --  to call the special routine Unaligned_Valid, which makes
!                   --  the needed copy, being careful not to load the value into
!                   --  any floating-point register. The argument in this case is
!                   --  obj'Address (see Unchecked_Valid routine in Fat_Gen).
! 
!                   if Is_Possibly_Unaligned_Object (Pref) then
!                      Set_Attribute_Name (N, Name_Unaligned_Valid);
!                      Expand_Fpt_Attribute
!                        (N, Pkg, Name_Unaligned_Valid,
!                         New_List (
!                           Make_Attribute_Reference (Loc,
!                             Prefix => Relocate_Node (Pref),
!                             Attribute_Name => Name_Address)));
! 
!                   --  In the normal case where we are sure the object is
!                   --  aligned, we generate a call to Valid, and the argument in
!                   --  this case is obj'Unrestricted_Access (after converting
!                   --  obj to the right floating-point type).
! 
!                   else
!                      Expand_Fpt_Attribute
!                        (N, Pkg, Name_Valid,
!                         New_List (
!                           Make_Attribute_Reference (Loc,
!                             Prefix => Unchecked_Convert_To (Ftp, Pref),
!                             Attribute_Name => Name_Unrestricted_Access)));
!                   end if;
                 end if;
  
                 --  One more task, we still need a range check. Required
*************** package body Exp_Attr is
*** 3887,3895 ****
              Rewrite (N, New_Occurrence_Of (Standard_True, Loc));
  
           --  For biased representations, we will be doing an unchecked
!          --  conversion without unbiasing the result. That means that
!          --  the range test has to take this into account, and the
!          --  proper form of the test is:
  
           --    Btyp!(Pref) < Btyp!(Ptyp'Range_Length)
  
--- 4068,4076 ----
              Rewrite (N, New_Occurrence_Of (Standard_True, Loc));
  
           --  For biased representations, we will be doing an unchecked
!          --  conversion without unbiasing the result. That means that the range
!          --  test has to take this into account, and the proper form of the
!          --  test is:
  
           --    Btyp!(Pref) < Btyp!(Ptyp'Range_Length)
  
*************** package body Exp_Attr is
*** 3930,3947 ****
  
           --  Unsigned types. Note: it is safe to consider only whether the
           --  subtype is unsigned, since we will in that case be doing all
!          --  unsigned comparisons based on the subtype range. Since we use
!          --  the actual subtype object size, this is appropriate.
  
           --  For example, if we have
  
           --    subtype x is integer range 1 .. 200;
           --    for x'Object_Size use 8;
  
!          --  Now the base type is signed, but objects of this type are 8
!          --  bits unsigned, and doing an unsigned test of the range 1 to
!          --  200 is correct, even though a value greater than 127 looks
!          --  signed to a signed comparison.
  
           elsif Is_Unsigned_Type (Ptyp) then
              if Esize (Ptyp) <= 32 then
--- 4111,4128 ----
  
           --  Unsigned types. Note: it is safe to consider only whether the
           --  subtype is unsigned, since we will in that case be doing all
!          --  unsigned comparisons based on the subtype range. Since we use the
!          --  actual subtype object size, this is appropriate.
  
           --  For example, if we have
  
           --    subtype x is integer range 1 .. 200;
           --    for x'Object_Size use 8;
  
!          --  Now the base type is signed, but objects of this type are bits
!          --  unsigned, and doing an unsigned test of the range 1 to 200 is
!          --  correct, even though a value greater than 127 looks signed to a
!          --  signed comparison.
  
           elsif Is_Unsigned_Type (Ptyp) then
              if Esize (Ptyp) <= 32 then
*************** package body Exp_Attr is
*** 4194,4203 ****
  
              --     strmtyp'Output (Stream, strmwrite (acttyp (Item)));
  
!             --  where strmwrite is the given Write function that converts
!             --  an argument of type sourcetyp or a type acctyp, from which
!             --  it is derived to type strmtyp. The conversion to acttyp is
!             --  required for the derived case.
  
              Prag := Get_Stream_Convert_Pragma (P_Type);
  
--- 4375,4384 ----
  
              --     strmtyp'Output (Stream, strmwrite (acttyp (Item)));
  
!             --  where strmwrite is the given Write function that converts an
!             --  argument of type sourcetyp or a type acctyp, from which it is
!             --  derived to type strmtyp. The conversion to acttyp is required
!             --  for the derived case.
  
              Prag := Get_Stream_Convert_Pragma (P_Type);
  
*************** package body Exp_Attr is
*** 4278,4299 ****
           Rewrite_Stream_Proc_Call (Pname);
        end Write;
  
!       --  Component_Size is handled by Gigi, unless the component size is
!       --  known at compile time, which is always true in the packed array
!       --  case. It is important that the packed array case is handled in
!       --  the front end (see Eval_Attribute) since Gigi would otherwise
!       --  get confused by the equivalent packed array type.
  
        when Attribute_Component_Size =>
           null;
  
        --  The following attributes are handled by Gigi (except that static
!       --  cases have already been evaluated by the semantics, but in any
!       --  case Gigi should not count on that).
  
!       --  In addition Gigi handles the non-floating-point cases of Pred
!       --  and Succ (including the fixed-point cases, which can just be
!       --  treated as integer increment/decrement operations)
  
        --  Gigi also handles the non-class-wide cases of Size
  
--- 4459,4480 ----
           Rewrite_Stream_Proc_Call (Pname);
        end Write;
  
!       --  Component_Size is handled by Gigi, unless the component size is known
!       --  at compile time, which is always true in the packed array case. It is
!       --  important that the packed array case is handled in the front end (see
!       --  Eval_Attribute) since Gigi would otherwise get confused by the
!       --  equivalent packed array type.
  
        when Attribute_Component_Size =>
           null;
  
        --  The following attributes are handled by Gigi (except that static
!       --  cases have already been evaluated by the semantics, but in any case
!       --  Gigi should not count on that).
  
!       --  In addition Gigi handles the non-floating-point cases of Pred and
!       --  Succ (including the fixed-point cases, which can just be treated as
!       --  integer increment/decrement operations)
  
        --  Gigi also handles the non-class-wide cases of Size
  
*************** package body Exp_Attr is
*** 4423,4462 ****
            Reason => CE_Overflow_Check_Failed));
     end Expand_Pred_Succ;
  
!    ------------------------
!    -- Find_Inherited_TSS --
!    ------------------------
  
!    function Find_Inherited_TSS
!      (Typ : Entity_Id;
!       Nam : TSS_Name_Type) return Entity_Id
     is
!       Btyp : Entity_Id := Typ;
!       Proc : Entity_Id;
  
     begin
!       loop
!          Btyp := Base_Type (Btyp);
!          Proc :=  TSS (Btyp, Nam);
  
!          exit when Present (Proc)
!            or else not Is_Derived_Type (Btyp);
  
!          --  If Typ is a derived type, it may inherit attributes from
!          --  some ancestor.
  
!          Btyp := Etype (Btyp);
!       end loop;
  
!       if No (Proc) then
  
!          --  If nothing else, use the TSS of the root type
  
!          Proc := TSS (Base_Type (Underlying_Type (Typ)), Nam);
!       end if;
  
!       return Proc;
!    end Find_Inherited_TSS;
  
     ----------------------------
     -- Find_Stream_Subprogram --
--- 4604,4680 ----
            Reason => CE_Overflow_Check_Failed));
     end Expand_Pred_Succ;
  
!    -------------------
!    -- Find_Fat_Info --
!    -------------------
  
!    procedure Find_Fat_Info
!      (T        : Entity_Id;
!       Fat_Type : out Entity_Id;
!       Fat_Pkg  : out RE_Id)
     is
!       Btyp : constant Entity_Id := Base_Type (T);
!       Rtyp : constant Entity_Id := Root_Type (T);
!       Digs : constant Nat       := UI_To_Int (Digits_Value (Btyp));
  
     begin
!       --  If the base type is VAX float, then get appropriate VAX float type
  
!       if Vax_Float (Btyp) then
!          case Digs is
!             when 6 =>
!                Fat_Type := RTE (RE_Fat_VAX_F);
!                Fat_Pkg  := RE_Attr_VAX_F_Float;
  
!             when 9 =>
!                Fat_Type := RTE (RE_Fat_VAX_D);
!                Fat_Pkg  := RE_Attr_VAX_D_Float;
  
!             when 15 =>
!                Fat_Type := RTE (RE_Fat_VAX_G);
!                Fat_Pkg  := RE_Attr_VAX_G_Float;
  
!             when others =>
!                raise Program_Error;
!          end case;
  
!       --  If root type is VAX float, this is the case where the library has
!       --  been recompiled in VAX float mode, and we have an IEEE float type.
!       --  This is when we use the special IEEE Fat packages.
  
!       elsif Vax_Float (Rtyp) then
!          case Digs is
!             when 6 =>
!                Fat_Type := RTE (RE_Fat_IEEE_Short);
!                Fat_Pkg  := RE_Attr_IEEE_Short;
  
!             when 15 =>
!                Fat_Type := RTE (RE_Fat_IEEE_Long);
!                Fat_Pkg  := RE_Attr_IEEE_Long;
! 
!             when others =>
!                raise Program_Error;
!          end case;
! 
!       --  If neither the base type nor the root type is VAX_Float then VAX
!       --  float is out of the picture, and we can just use the root type.
! 
!       else
!          Fat_Type := Rtyp;
! 
!          if Fat_Type = Standard_Short_Float then
!             Fat_Pkg := RE_Attr_Short_Float;
!          elsif Fat_Type = Standard_Float then
!             Fat_Pkg := RE_Attr_Float;
!          elsif Fat_Type = Standard_Long_Float then
!             Fat_Pkg := RE_Attr_Long_Float;
!          elsif Fat_Type = Standard_Long_Long_Float then
!             Fat_Pkg := RE_Attr_Long_Long_Float;
!          else
!             raise Program_Error;
!          end if;
!       end if;
!    end Find_Fat_Info;
  
     ----------------------------
     -- Find_Stream_Subprogram --
*************** package body Exp_Attr is
*** 4464,4471 ****
  
     function Find_Stream_Subprogram
       (Typ : Entity_Id;
!       Nam : TSS_Name_Type) return Entity_Id is
     begin
        if Is_Tagged_Type (Typ)
          and then Is_Derived_Type (Typ)
        then
--- 4682,4695 ----
  
     function Find_Stream_Subprogram
       (Typ : Entity_Id;
!       Nam : TSS_Name_Type) return Entity_Id
!    is
!       Ent : constant Entity_Id := TSS (Typ, Nam);
     begin
+       if Present (Ent) then
+          return Ent;
+       end if;
+ 
        if Is_Tagged_Type (Typ)
          and then Is_Derived_Type (Typ)
        then
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_attr.ads gcc-4.1.0/gcc/ada/exp_attr.ads
*** gcc-4.0.2/gcc/ada/exp_attr.ads	Mon Jan  3 15:43:24 2005
--- gcc-4.1.0/gcc/ada/exp_attr.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch10.ads gcc-4.1.0/gcc/ada/exp_ch10.ads
*** gcc-4.0.2/gcc/ada/exp_ch10.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch10.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch11.adb gcc-4.1.0/gcc/ada/exp_ch11.adb
*** gcc-4.0.2/gcc/ada/exp_ch11.adb	Thu Feb 10 13:50:42 2005
--- gcc-4.1.0/gcc/ada/exp_ch11.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Errout;   use Errout;
*** 32,39 ****
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Util; use Exp_Util;
  with Hostparm; use Hostparm;
- with Inline;   use Inline;
- with Lib;      use Lib;
  with Namet;    use Namet;
  with Nlists;   use Nlists;
  with Nmake;    use Nmake;
--- 32,37 ----
*************** with Rtsfind;  use Rtsfind;
*** 42,48 ****
  with Restrict; use Restrict;
  with Rident;   use Rident;
  with Sem;      use Sem;
- with Sem_Ch5;  use Sem_Ch5;
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Res;  use Sem_Res;
  with Sem_Util; use Sem_Util;
--- 40,45 ----
*************** with Stringt;  use Stringt;
*** 54,91 ****
  with Targparm; use Targparm;
  with Tbuild;   use Tbuild;
  with Uintp;    use Uintp;
- with Uname;    use Uname;
  
  package body Exp_Ch11 is
  
-    SD_List : List_Id;
-    --  This list gathers the values SDn'Unrestricted_Access used to
-    --  construct the unit exception table. It is set to Empty_List if
-    --  there are no subprogram descriptors.
- 
-    -----------------------
-    -- Local Subprograms --
-    -----------------------
- 
-    procedure Expand_Exception_Handler_Tables (HSS : Node_Id);
-    --  Subsidiary procedure called by Expand_Exception_Handlers if zero
-    --  cost exception handling is installed for this target. Replaces the
-    --  exception handler structure with appropriate labeled code and tables
-    --  that allow the zero cost exception handling circuits to find the
-    --  correct handler (see unit Ada.Exceptions for details).
- 
-    procedure Generate_Subprogram_Descriptor
-      (N     : Node_Id;
-       Loc   : Source_Ptr;
-       Spec  : Entity_Id;
-       Slist : List_Id);
-    --  Procedure called to generate a subprogram descriptor. N is the
-    --  subprogram body node or, in the case of an imported subprogram, is
-    --  Empty, and Spec is the entity of the sunprogram. For details of the
-    --  required structure, see package System.Exceptions. The generated
-    --  subprogram descriptor is appended to Slist. Loc provides the
-    --  source location to be used for the generated descriptor.
- 
     ---------------------------
     -- Expand_At_End_Handler --
     ---------------------------
--- 51,59 ----
*************** package body Exp_Ch11 is
*** 130,136 ****
  
        --  Don't expand if back end exception handling active
  
!       if Exception_Mechanism = Back_End_ZCX_Exceptions then
           return;
        end if;
  
--- 98,104 ----
  
        --  Don't expand if back end exception handling active
  
!       if Exception_Mechanism = Back_End_Exceptions then
           return;
        end if;
  
*************** package body Exp_Ch11 is
*** 172,669 ****
        end if;
     end Expand_At_End_Handler;
  
-    -------------------------------------
-    -- Expand_Exception_Handler_Tables --
-    -------------------------------------
- 
-    --  See Ada.Exceptions specification for full details of the data
-    --  structures that we need to construct here. As an example of the
-    --  transformation that is required, given the structure:
- 
-    --     declare
-    --        {declarations}
-    --        ..
-    --     begin
-    --        {statements-1}
-    --        ...
-    --     exception
-    --        when a | b =>
-    --           {statements-2}
-    --           ...
-    --        when others =>
-    --           {statements-3}
-    --           ...
-    --     end;
- 
-    --  We transform this into:
- 
-    --     declare
-    --        {declarations}
-    --        ...
-    --        L1 : label;
-    --        L2 : label;
-    --        L3 : label;
-    --        L4 : Label;
-    --        L5 : label;
- 
-    --     begin
-    --        <<L1>>
-    --           {statements-1}
-    --        <<L2>>
- 
-    --     exception
- 
-    --        when a | b =>
-    --           <<L3>>
-    --           {statements-2}
- 
-    --           HR2 : constant Handler_Record := (
-    --                   Lo      => L1'Address,
-    --                   Hi      => L2'Address,
-    --                   Id      => a'Identity,
-    --                   Handler => L5'Address);
- 
-    --           HR3 : constant Handler_Record := (
-    --                   Lo      => L1'Address,
-    --                   Hi      => L2'Address,
-    --                   Id      => b'Identity,
-    --                   Handler => L4'Address);
- 
-    --        when others =>
-    --           <<L4>>
-    --           {statements-3}
- 
-    --           HR1 : constant Handler_Record := (
-    --                   Lo      => L1'Address,
-    --                   Hi      => L2'Address,
-    --                   Id      => Others_Id,
-    --                   Handler => L4'Address);
-    --     end;
- 
-    --  The exception handlers in the transformed version are marked with the
-    --  Zero_Cost_Handling flag set, and all gigi does in this case is simply
-    --  to put the handler code somewhere. It can optionally be put inline
-    --  between the goto L3 and the label <<L3>> (which is why we generate
-    --  that goto in the first place).
- 
-    procedure Expand_Exception_Handler_Tables (HSS : Node_Id) is
-       Loc     : constant Source_Ptr := Sloc (HSS);
-       Handlrs : constant List_Id    := Exception_Handlers (HSS);
-       Stms    : constant List_Id    := Statements (HSS);
-       Handler : Node_Id;
- 
-       Hlist : List_Id;
-       --  This is the list to which handlers are to be appended. It is
-       --  either the list for the enclosing subprogram, or the enclosing
-       --  selective accept statement (which will turn into a subprogram
-       --  during expansion later on).
- 
-       L1 : constant Entity_Id :=
-              Make_Defining_Identifier (Loc,
-                Chars => New_Internal_Name ('L'));
- 
-       L2 : constant Entity_Id :=
-              Make_Defining_Identifier (Loc,
-                Chars => New_Internal_Name ('L'));
- 
-       Lnn    : Entity_Id;
-       Choice : Node_Id;
-       E_Id   : Node_Id;
-       HR_Ent : Node_Id;
-       HL_Ref : Node_Id;
-       Item   : Node_Id;
- 
-       Subp_Entity : Entity_Id;
-       --  This is the entity for the subprogram (or library level package)
-       --  to which the handler record is to be attached for later reference
-       --  in a subprogram descriptor for this entity.
- 
-       procedure Append_To_Stms (N : Node_Id);
-       --  Append given statement to the end of the statements of the
-       --  handled sequence of statements and analyze it in place.
- 
-       function Inside_Selective_Accept return Boolean;
-       --  This function is called if we are inside the scope of an entry
-       --  or task. It checks if the handler is appearing in the context
-       --  of a selective accept statement. If so, Hlist is set to
-       --  temporarily park the handlers in the N_Accept_Alternative.
-       --  node. They will subsequently be moved to the procedure entity
-       --  for the procedure built for this alternative. The statements that
-       --  follow the Accept within the alternative are not inside the Accept
-       --  for purposes of this test, and handlers that may appear within
-       --  them belong in the enclosing task procedure.
- 
-       procedure Set_Hlist;
-       --  Sets the handler list corresponding to Subp_Entity
- 
-       --------------------
-       -- Append_To_Stms --
-       --------------------
- 
-       procedure Append_To_Stms (N : Node_Id) is
-       begin
-          Insert_After_And_Analyze (Last (Stms), N);
-          Set_Exception_Junk (N);
-       end Append_To_Stms;
- 
-       -----------------------------
-       -- Inside_Selective_Accept --
-       -----------------------------
- 
-       function Inside_Selective_Accept return Boolean is
-          Parnt : Node_Id;
-          Curr  : Node_Id := HSS;
- 
-       begin
-          Parnt := Parent (HSS);
-          while Nkind (Parnt) /= N_Compilation_Unit loop
-             if Nkind (Parnt) = N_Accept_Alternative
-               and then Curr = Accept_Statement (Parnt)
-             then
-                if Present (Accept_Handler_Records (Parnt)) then
-                   Hlist := Accept_Handler_Records (Parnt);
-                else
-                   Hlist := New_List;
-                   Set_Accept_Handler_Records (Parnt, Hlist);
-                end if;
- 
-                return True;
-             else
-                Curr  := Parnt;
-                Parnt := Parent (Parnt);
-             end if;
-          end loop;
- 
-          return False;
-       end Inside_Selective_Accept;
- 
-       ---------------
-       -- Set_Hlist --
-       ---------------
- 
-       procedure Set_Hlist is
-       begin
-          --  Never try to inline a subprogram with exception handlers
- 
-          Set_Is_Inlined (Subp_Entity, False);
- 
-          if Present (Subp_Entity)
-            and then Present (Handler_Records (Subp_Entity))
-          then
-             Hlist := Handler_Records (Subp_Entity);
-          else
-             Hlist := New_List;
-             Set_Handler_Records (Subp_Entity, Hlist);
-          end if;
-       end Set_Hlist;
- 
-    --  Start of processing for Expand_Exception_Handler_Tables
- 
-    begin
-       --  Nothing to do if this handler has already been processed
- 
-       if Zero_Cost_Handling (HSS) then
-          return;
-       end if;
- 
-       Set_Zero_Cost_Handling (HSS);
- 
-       --  Find the parent subprogram or package scope containing this
-       --  exception frame. This should always find a real package or
-       --  subprogram. If it does not it will stop at Standard, but
-       --  this cannot legitimately occur.
- 
-       --  We only stop at library level packages, for inner packages
-       --  we always attach handlers to the containing procedure.
- 
-       Subp_Entity := Current_Scope;
-       Scope_Loop : loop
- 
-          --  Never need tables expanded inside a generic template
- 
-          if Is_Generic_Unit (Subp_Entity) then
-             return;
- 
-          --  Stop if we reached containing subprogram. Go to protected
-          --  subprogram if there is one defined.
- 
-          elsif Ekind (Subp_Entity) = E_Function
-            or else Ekind (Subp_Entity) = E_Procedure
-          then
-             if Present (Protected_Body_Subprogram (Subp_Entity)) then
-                Subp_Entity := Protected_Body_Subprogram (Subp_Entity);
-             end if;
- 
-             Set_Hlist;
-             exit Scope_Loop;
- 
-          --  Case of within an entry
- 
-          elsif Is_Entry (Subp_Entity) then
- 
-             --  Protected entry, use corresponding body subprogram
- 
-             if Present (Protected_Body_Subprogram (Subp_Entity)) then
-                Subp_Entity := Protected_Body_Subprogram (Subp_Entity);
-                Set_Hlist;
-                exit Scope_Loop;
- 
-             --  Check if we are within a selective accept alternative
- 
-             elsif Inside_Selective_Accept then
- 
-                --  As a side effect, Inside_Selective_Accept set Hlist,
-                --  in much the same manner as Set_Hlist, except that
-                --  the list involved was the one for the selective accept.
- 
-                exit Scope_Loop;
-             end if;
- 
-          --  Case of within library level package
- 
-          elsif Ekind (Subp_Entity) = E_Package
-            and then Is_Compilation_Unit (Subp_Entity)
-          then
-             if Is_Body_Name (Unit_Name (Get_Code_Unit (HSS))) then
-                Subp_Entity := Body_Entity (Subp_Entity);
-             end if;
- 
-             Set_Hlist;
-             exit Scope_Loop;
- 
-          --  Task type case
- 
-          elsif Ekind (Subp_Entity) = E_Task_Type then
- 
-             --  Check if we are within a selective accept alternative
- 
-             if Inside_Selective_Accept then
- 
-                --  As a side effect, Inside_Selective_Accept set Hlist,
-                --  in much the same manner as Set_Hlist, except that the
-                --  list involved was the one for the selective accept.
- 
-                exit Scope_Loop;
- 
-             --  Stop if we reached task type with task body procedure,
-             --  use the task body procedure.
- 
-             elsif Present (Get_Task_Body_Procedure (Subp_Entity)) then
-                Subp_Entity := Get_Task_Body_Procedure (Subp_Entity);
-                Set_Hlist;
-                exit Scope_Loop;
-             end if;
-          end if;
- 
-          --  If we fall through, keep looking
- 
-          Subp_Entity := Scope (Subp_Entity);
-       end loop Scope_Loop;
- 
-       pragma Assert (Subp_Entity /= Standard_Standard);
- 
-       --  Analyze standard labels
- 
-       Analyze_Label_Entity (L1);
-       Analyze_Label_Entity (L2);
- 
-       Insert_Before_And_Analyze (First (Stms),
-         Make_Label (Loc,
-           Identifier => New_Occurrence_Of (L1, Loc)));
-       Set_Exception_Junk (First (Stms));
- 
-       Append_To_Stms (
-         Make_Label (Loc,
-           Identifier => New_Occurrence_Of (L2, Loc)));
- 
-       --  Loop through exception handlers
- 
-       Handler := First_Non_Pragma (Handlrs);
-       while Present (Handler) loop
-          Set_Zero_Cost_Handling (Handler);
- 
-          --  Add label at start of handler, and goto at the end
- 
-          Lnn :=
-            Make_Defining_Identifier (Loc,
-              Chars => New_Internal_Name ('L'));
- 
-          Analyze_Label_Entity (Lnn);
- 
-          Item :=
-            Make_Label (Loc,
-              Identifier => New_Occurrence_Of (Lnn, Loc));
-          Set_Exception_Junk (Item);
-          Insert_Before_And_Analyze (First (Statements (Handler)), Item);
- 
-          --  Loop through choices
- 
-          Choice := First (Exception_Choices (Handler));
-          while Present (Choice) loop
- 
-             --  Others (or all others) choice
- 
-             if Nkind (Choice) = N_Others_Choice then
-                if All_Others (Choice) then
-                   E_Id := New_Occurrence_Of (RTE (RE_All_Others_Id), Loc);
-                else
-                   E_Id := New_Occurrence_Of (RTE (RE_Others_Id), Loc);
-                end if;
- 
-             --  Special case of VMS_Exception. Not clear what we will do
-             --  eventually here if and when we implement zero cost exceptions
-             --  on VMS. But at least for now, don't blow up trying to take
-             --  a garbage code address for such an exception.
- 
-             elsif Is_VMS_Exception (Entity (Choice)) then
-                E_Id := New_Occurrence_Of (RTE (RE_Null_Id), Loc);
- 
-             --  Normal case of specific exception choice
- 
-             else
-                E_Id :=
-                  Make_Attribute_Reference (Loc,
-                    Prefix => New_Occurrence_Of (Entity (Choice), Loc),
-                    Attribute_Name => Name_Identity);
-             end if;
- 
-             HR_Ent :=
-               Make_Defining_Identifier (Loc,
-                 Chars => New_Internal_Name ('H'));
- 
-             HL_Ref :=
-               Make_Attribute_Reference (Loc,
-                 Prefix => New_Occurrence_Of (HR_Ent, Loc),
-                 Attribute_Name => Name_Unrestricted_Access);
- 
-             --  Now we need to add the entry for the new handler record to
-             --  the list of handler records for the current subprogram.
- 
-             --  Normally we end up generating the handler records in exactly
-             --  the right order. Here right order means innermost first,
-             --  since the table will be searched sequentially. Since we
-             --  generally expand from outside to inside, the order is just
-             --  what we want, and we need to append the new entry to the
-             --  end of the list.
- 
-             --  However, there are exceptions, notably in the case where
-             --  a generic body is inserted later on. See for example the
-             --  case of ACVC test C37213J, which has the following form:
- 
-             --    generic package x ... end x;
-             --    package body x is
-             --    begin
-             --       ...
-             --    exception  (1)
-             --       ...
-             --    end x;
- 
-             --    ...
- 
-             --    declare
-             --       package q is new x;
-             --    begin
-             --       ...
-             --    exception (2)
-             --       ...
-             --    end;
- 
-             --  In this case, we will expand exception handler (2) first,
-             --  since the expansion of (1) is delayed till later when the
-             --  generic body is inserted. But (1) belongs before (2) in
-             --  the chain.
- 
-             --  Note that scopes are not totally ordered, because two
-             --  scopes can be in parallel blocks, so that it does not
-             --  matter what order these entries appear in. An ordering
-             --  relation exists if one scope is inside another, and what
-             --  we really want is some partial ordering.
- 
-             --  A simple, not very efficient, but adequate algorithm to
-             --  achieve this partial ordering is to search the list for
-             --  the first entry containing the given scope, and put the
-             --  new entry just before it.
- 
-             declare
-                New_Scop : constant Entity_Id := Current_Scope;
-                Ent      : Node_Id;
- 
-             begin
-                Ent := First (Hlist);
-                loop
-                   --  If all searched, then we can just put the new
-                   --  entry at the end of the list (it actually does
-                   --  not matter where we put it in this case).
- 
-                   if No (Ent) then
-                      Append_To (Hlist, HL_Ref);
-                      exit;
- 
-                   --  If the current scope is within the scope of the
-                   --  entry then insert the entry before to retain the
-                   --  proper order as per above discussion.
- 
-                   --  Note that for equal entries, we just keep going,
-                   --  which is fine, the entry will end up at the end
-                   --  of the list where it belongs.
- 
-                   elsif Scope_Within
-                           (New_Scop, Scope (Entity (Prefix (Ent))))
-                   then
-                      Insert_Before (Ent, HL_Ref);
-                      exit;
- 
-                   --  Otherwise keep looking
- 
-                   else
-                      Next (Ent);
-                   end if;
-                end loop;
-             end;
- 
-             Item :=
-               Make_Object_Declaration (Loc,
-                 Defining_Identifier => HR_Ent,
-                 Constant_Present    => True,
-                 Aliased_Present     => True,
-                 Object_Definition   =>
-                   New_Occurrence_Of (RTE (RE_Handler_Record), Loc),
- 
-                 Expression          =>
-                   Make_Aggregate (Loc,
-                     Expressions => New_List (
-                       Make_Attribute_Reference (Loc,             -- Lo
-                         Prefix => New_Occurrence_Of (L1, Loc),
-                         Attribute_Name => Name_Address),
- 
-                       Make_Attribute_Reference (Loc,             -- Hi
-                         Prefix => New_Occurrence_Of (L2, Loc),
-                         Attribute_Name => Name_Address),
- 
-                       E_Id,                                      -- Id
- 
-                       Make_Attribute_Reference (Loc,
-                         Prefix => New_Occurrence_Of (Lnn, Loc),  -- Handler
-                         Attribute_Name => Name_Address))));
- 
-             Set_Handler_List_Entry (Item, HL_Ref);
-             Set_Exception_Junk (Item);
-             Insert_After_And_Analyze (Last (Statements (Handler)), Item);
-             Set_Is_Statically_Allocated (HR_Ent);
- 
-             --  If this is a late insertion (from body instance) it is being
-             --  inserted in the component list of an already analyzed aggre-
-             --  gate, and must be analyzed explicitly.
- 
-             Analyze_And_Resolve (HL_Ref, RTE (RE_Handler_Record_Ptr));
- 
-             Next (Choice);
-          end loop;
- 
-          Next_Non_Pragma (Handler);
-       end loop;
-    end Expand_Exception_Handler_Tables;
- 
     -------------------------------
     -- Expand_Exception_Handlers --
     -------------------------------
--- 140,145 ----
*************** package body Exp_Ch11 is
*** 730,736 ****
              end;
           end if;
  
- 
           --  If an exception occurrence is present, then we must declare it
           --  and initialize it from the value stored in the TSD
  
--- 206,211 ----
*************** package body Exp_Ch11 is
*** 851,863 ****
        then
           Set_Exception_Handlers (HSS, No_List);
        end if;
- 
-       --  The last step for expanding exception handlers is to expand the
-       --  exception tables if zero cost exception handling is active.
- 
-       if Exception_Mechanism = Front_End_ZCX_Exceptions then
-          Expand_Exception_Handler_Tables (HSS);
-       end if;
     end Expand_Exception_Handlers;
  
     ------------------------------------
--- 326,331 ----
*************** package body Exp_Ch11 is
*** 1067,1072 ****
--- 535,563 ----
        Str   : String_Id;
  
     begin
+       --  If a string expression is present, then the raise statement is
+       --  converted to a call:
+ 
+       --     Raise_Exception (exception-name'Identity, string);
+ 
+       --  and there is nothing else to do
+ 
+       if Present (Expression (N)) then
+          Rewrite (N,
+            Make_Procedure_Call_Statement (Loc,
+              Name => New_Occurrence_Of (RTE (RE_Raise_Exception), Loc),
+              Parameter_Associations => New_List (
+                Make_Attribute_Reference (Loc,
+                  Prefix => Name (N),
+                  Attribute_Name => Name_Identity),
+                Expression (N))));
+          Analyze (N);
+          return;
+       end if;
+ 
+       --  Remaining processing is for the case where no string expression
+       --  is present.
+ 
        --  There is no expansion needed for statement "raise <exception>;" when
        --  compiling for the JVM since the JVM has a built-in exception
        --  mechanism. However we need the keep the expansion for "raise;"
*************** package body Exp_Ch11 is
*** 1152,1158 ****
                 Name_Buffer (Name_Len) := ASCII.NUL;
              end if;
  
- 
              if Opt.Exception_Locations_Suppressed then
                 Name_Len := 0;
              end if;
--- 643,648 ----
*************** package body Exp_Ch11 is
*** 1310,1883 ****
        Analyze_And_Resolve (N, RTE (RE_Code_Loc));
     end Expand_N_Subprogram_Info;
  
-    ------------------------------------
-    -- Generate_Subprogram_Descriptor --
-    ------------------------------------
- 
-    procedure Generate_Subprogram_Descriptor
-      (N     : Node_Id;
-       Loc   : Source_Ptr;
-       Spec  : Entity_Id;
-       Slist : List_Id)
-    is
-       Code  : Node_Id;
-       Ent   : Entity_Id;
-       Decl  : Node_Id;
-       Dtyp  : Entity_Id;
-       Numh  : Nat;
-       Sdes  : Node_Id;
-       Hrc   : List_Id;
- 
-    begin
-       if Exception_Mechanism /= Front_End_ZCX_Exceptions then
-          return;
-       end if;
- 
-       if Restriction_Active (No_Exception_Handlers) then
-          return;
-       end if;
- 
-       --  Suppress descriptor if we are not generating code. This happens
-       --  in the case of a -gnatc -gnatt compilation where we force generics
-       --  to be generated, but we still don't want exception tables.
- 
-       if Operating_Mode /= Generate_Code then
-          return;
-       end if;
- 
-       --  Suppress descriptor if we are in No_Exceptions restrictions mode,
-       --  since we can never propagate exceptions in any case in this mode.
-       --  The same consideration applies for No_Exception_Handlers (which
-       --  is also set in High_Integrity_Mode).
- 
-       if Restriction_Active (No_Exceptions)
-         or Restriction_Active (No_Exception_Handlers)
-       then
-          return;
-       end if;
- 
-       --  Suppress descriptor if we are inside a generic. There are two
-       --  ways that we can tell that, depending on what is going on. If
-       --  we are actually inside the processing for a generic right now,
-       --  then Expander_Active will be reset. If we are outside the
-       --  generic, then we will see the generic entity.
- 
-       if not Expander_Active then
-          return;
-       end if;
- 
-       --  Suppress descriptor is subprogram is marked as eliminated, for
-       --  example if this is a subprogram created to analyze a default
-       --  expression with potential side effects. Ditto if it is nested
-       --  within an eliminated subprogram, for example a cleanup action.
- 
-       declare
-          Scop : Entity_Id;
- 
-       begin
-          Scop := Spec;
-          while Scop /= Standard_Standard loop
-             if Is_Generic_Unit (Scop) or else Is_Eliminated (Scop) then
-                return;
-             end if;
- 
-             Scop := Scope (Scop);
-          end loop;
-       end;
- 
-       --  Suppress descriptor for original protected subprogram (we will
-       --  be called again later to generate the descriptor for the actual
-       --  protected body subprogram.) This does not apply to barrier
-       --  functions which are there own protected subprogram.
- 
-       if Is_Subprogram (Spec)
-         and then Present (Protected_Body_Subprogram (Spec))
-         and then Protected_Body_Subprogram (Spec) /= Spec
-       then
-          return;
-       end if;
- 
-       --  Suppress descriptors for packages unless they have at least one
-       --  handler. The binder will generate the dummy (no handler) descriptors
-       --  for elaboration procedures. We can't do it here, because we don't
-       --  know if an elaboration routine does in fact exist.
- 
-       --  If there is at least one handler for the package spec or body
-       --  then most certainly an elaboration routine must exist, so we
-       --  can safely reference it.
- 
-       if (Nkind (N) = N_Package_Declaration
-             or else
-           Nkind (N) = N_Package_Body)
-         and then No (Handler_Records (Spec))
-       then
-          return;
-       end if;
- 
-       --  Suppress all subprogram descriptors for the file System.Exceptions.
-       --  We similarly suppress subprogram descriptors for Ada.Exceptions.
-       --  These are all init procs for types which cannot raise exceptions.
-       --  The reason this is done is that otherwise we get embarassing
-       --  elaboration dependencies.
- 
-       Get_Name_String (Unit_File_Name (Current_Sem_Unit));
- 
-       if Name_Buffer (1 .. 12) = "s-except.ads"
-            or else
-          Name_Buffer (1 .. 12) = "a-except.ads"
-       then
-          return;
-       end if;
- 
-       --  Similarly, we need to suppress entries for System.Standard_Library,
-       --  since otherwise we get elaboration circularities. Again, this would
-       --  better be done with a Suppress_Initialization pragma :-)
- 
-       if Name_Buffer (1 .. 11) = "s-stalib.ad" then
-          return;
-       end if;
- 
-       --  For now, also suppress entries for s-stoele because we have
-       --  some kind of unexplained error there ???
- 
-       if Name_Buffer (1 .. 11) = "s-stoele.ad" then
-          return;
-       end if;
- 
-       --  And also for g-htable, because it cannot raise exceptions,
-       --  and generates some kind of elaboration order problem.
- 
-       if Name_Buffer (1 .. 11) = "g-htable.ad" then
-          return;
-       end if;
- 
-       --  Suppress subprogram descriptor if already generated. This happens
-       --  in the case of late generation from Delay_Subprogram_Descriptors
-       --  beging set (where there is more than one instantiation in the list)
- 
-       if Has_Subprogram_Descriptor (Spec) then
-          return;
-       else
-          Set_Has_Subprogram_Descriptor (Spec);
-       end if;
- 
-       --  Never generate descriptors for inlined bodies
- 
-       if Analyzing_Inlined_Bodies then
-          return;
-       end if;
- 
-       --  Here we definitely are going to generate a subprogram descriptor
- 
-       declare
-          Hnum : Nat := Homonym_Number (Spec);
- 
-       begin
-          if Hnum = 1 then
-             Hnum := 0;
-          end if;
- 
-          Ent :=
-            Make_Defining_Identifier (Loc,
-              Chars => New_External_Name (Chars (Spec), "SD", Hnum));
-       end;
- 
-       if No (Handler_Records (Spec)) then
-          Hrc  := Empty_List;
-          Numh := 0;
-       else
-          Hrc  := Handler_Records (Spec);
-          Numh := List_Length (Hrc);
-       end if;
- 
-       New_Scope (Spec);
- 
-       --  We need a static subtype for the declaration of the subprogram
-       --  descriptor. For the case of 0-3 handlers we can use one of the
-       --  predefined subtypes in System.Exceptions. For more handlers,
-       --  we build our own subtype here.
- 
-       case Numh is
-          when 0 =>
-             Dtyp := RTE (RE_Subprogram_Descriptor_0);
- 
-          when 1 =>
-             Dtyp := RTE (RE_Subprogram_Descriptor_1);
- 
-          when 2 =>
-             Dtyp := RTE (RE_Subprogram_Descriptor_2);
- 
-          when 3 =>
-             Dtyp := RTE (RE_Subprogram_Descriptor_3);
- 
-          when others =>
-             Dtyp :=
-               Make_Defining_Identifier (Loc,
-                 Chars => New_Internal_Name ('T'));
- 
-             --  Set the constructed type as global, since we will be
-             --  referencing the object that is of this type globally
- 
-             Set_Is_Statically_Allocated (Dtyp);
- 
-             Decl :=
-               Make_Subtype_Declaration (Loc,
-                 Defining_Identifier => Dtyp,
-                 Subtype_Indication =>
-                   Make_Subtype_Indication (Loc,
-                     Subtype_Mark =>
-                       New_Occurrence_Of (RTE (RE_Subprogram_Descriptor), Loc),
-                     Constraint =>
-                       Make_Index_Or_Discriminant_Constraint (Loc,
-                         Constraints => New_List (
-                           Make_Integer_Literal (Loc, Numh)))));
- 
-             Append (Decl, Slist);
- 
-             --  We analyze the descriptor for the subprogram and package
-             --  case, but not for the imported subprogram case (it will
-             --  be analyzed when the freeze entity actions are analyzed.
- 
-             if Present (N) then
-                Analyze (Decl);
-             end if;
- 
-             Set_Exception_Junk (Decl);
-       end case;
- 
-       --  Prepare the code address entry for the table entry. For the normal
-       --  case of being within a procedure, this is simply:
- 
-       --    P'Code_Address
- 
-       --  where P is the procedure, but for the package case, it is
- 
-       --    P'Elab_Body'Code_Address
-       --    P'Elab_Spec'Code_Address
- 
-       --  for the body and spec respectively. Note that we do our own
-       --  analysis of these attribute references, because we know in this
-       --  case that the prefix of ELab_Body/Spec is a visible package,
-       --  which can be referenced directly instead of using the general
-       --  case expansion for these attributes.
- 
-       if Ekind (Spec) = E_Package then
-          Code :=
-            Make_Attribute_Reference (Loc,
-              Prefix         => New_Occurrence_Of (Spec, Loc),
-              Attribute_Name => Name_Elab_Spec);
-          Set_Etype (Code, Standard_Void_Type);
-          Set_Analyzed (Code);
- 
-       elsif Ekind (Spec) = E_Package_Body then
-          Code :=
-            Make_Attribute_Reference (Loc,
-              Prefix         => New_Occurrence_Of (Spec_Entity (Spec), Loc),
-              Attribute_Name => Name_Elab_Body);
-          Set_Etype (Code, Standard_Void_Type);
-          Set_Analyzed (Code);
- 
-       else
-          Code := New_Occurrence_Of (Spec, Loc);
-       end if;
- 
-       Code :=
-         Make_Attribute_Reference (Loc,
-           Prefix         => Code,
-           Attribute_Name => Name_Code_Address);
- 
-       Set_Etype (Code, RTE (RE_Address));
-       Set_Analyzed (Code);
- 
-       --  Now we can build the subprogram descriptor
- 
-       Sdes :=
-         Make_Object_Declaration (Loc,
-           Defining_Identifier      => Ent,
-           Constant_Present         => True,
-           Aliased_Present          => True,
-           Object_Definition        => New_Occurrence_Of (Dtyp, Loc),
- 
-           Expression               =>
-             Make_Aggregate (Loc,
-               Expressions => New_List (
-                 Make_Integer_Literal (Loc, Numh),          -- Num_Handlers
- 
-                 Code,                                      -- Code
- 
- --  temp code ???
- 
- --                Make_Subprogram_Info (Loc,                 -- Subprogram_Info
- --                  Identifier =>
- --                    New_Occurrence_Of (Spec, Loc)),
- 
-                 New_Copy_Tree (Code),
- 
-                 Make_Aggregate (Loc,                       -- Handler_Records
-                   Expressions => Hrc))));
- 
-       Set_Exception_Junk (Sdes);
-       Set_Is_Subprogram_Descriptor (Sdes);
- 
-       Append (Sdes, Slist);
- 
-       --  We analyze the descriptor for the subprogram and package case,
-       --  but not for the imported subprogram case (it will be analyzed
-       --  when the freeze entity actions are analyzed.
- 
-       if Present (N) then
-          Analyze (Sdes);
-       end if;
- 
-       --  We can now pop the scope used for analyzing the descriptor
- 
-       Pop_Scope;
- 
-       --  We need to set the descriptor as statically allocated, since
-       --  it will be referenced from the unit exception table.
- 
-       Set_Is_Statically_Allocated (Ent);
- 
-       --  Append the resulting descriptor to the list. We do this only
-       --  if we are in the main unit. You might think that we could
-       --  simply skip generating the descriptors completely if we are
-       --  not in the main unit, but in fact this is not the case, since
-       --  we have problems with inconsistent serial numbers for internal
-       --  names if we do this.
- 
-       if In_Extended_Main_Code_Unit (Spec) then
-          Append_To (SD_List,
-            Make_Attribute_Reference (Loc,
-              Prefix => New_Occurrence_Of (Ent, Loc),
-              Attribute_Name => Name_Unrestricted_Access));
- 
-          Unit_Exception_Table_Present := True;
-       end if;
- 
-    end Generate_Subprogram_Descriptor;
- 
-    ------------------------------------------------------------
-    -- Generate_Subprogram_Descriptor_For_Imported_Subprogram --
-    ------------------------------------------------------------
- 
-    procedure Generate_Subprogram_Descriptor_For_Imported_Subprogram
-      (Spec  : Entity_Id;
-       Slist : List_Id)
-    is
-    begin
-       Generate_Subprogram_Descriptor (Empty, Sloc (Spec), Spec, Slist);
-    end Generate_Subprogram_Descriptor_For_Imported_Subprogram;
- 
-    ------------------------------------------------
-    -- Generate_Subprogram_Descriptor_For_Package --
-    ------------------------------------------------
- 
-    procedure Generate_Subprogram_Descriptor_For_Package
-      (N    : Node_Id;
-       Spec : Entity_Id)
-    is
-       Adecl : Node_Id;
- 
-    begin
-       --  If N is empty with prior errors, ignore
- 
-       if Total_Errors_Detected /= 0 and then No (N) then
-          return;
-       end if;
- 
-       --  Do not generate if no exceptions
- 
-       if Restriction_Active (No_Exception_Handlers) then
-          return;
-       end if;
- 
-       --  Otherwise generate descriptor
- 
-       Adecl := Aux_Decls_Node (Parent (N));
- 
-       if No (Actions (Adecl)) then
-          Set_Actions (Adecl, New_List);
-       end if;
- 
-       Generate_Subprogram_Descriptor (N, Sloc (N), Spec, Actions (Adecl));
-    end Generate_Subprogram_Descriptor_For_Package;
- 
-    ---------------------------------------------------
-    -- Generate_Subprogram_Descriptor_For_Subprogram --
-    ---------------------------------------------------
- 
-    procedure Generate_Subprogram_Descriptor_For_Subprogram
-      (N    : Node_Id;
-       Spec : Entity_Id)
-    is
-    begin
-       --  If we have no subprogram body and prior errors, ignore
- 
-       if Total_Errors_Detected /= 0 and then No (N) then
-          return;
-       end if;
- 
-       --  Do not generate if no exceptions
- 
-       if Restriction_Active (No_Exception_Handlers) then
-          return;
-       end if;
- 
-       --  Else generate descriptor
- 
-       declare
-          HSS : constant Node_Id := Handled_Statement_Sequence (N);
- 
-       begin
-          if No (Exception_Handlers (HSS)) then
-             Generate_Subprogram_Descriptor
-               (N, Sloc (N), Spec, Statements (HSS));
-          else
-             Generate_Subprogram_Descriptor
-               (N, Sloc (N),
-                Spec, Statements (Last (Exception_Handlers (HSS))));
-          end if;
-       end;
-    end Generate_Subprogram_Descriptor_For_Subprogram;
- 
-    -----------------------------------
-    -- Generate_Unit_Exception_Table --
-    -----------------------------------
- 
-    --  The only remaining thing to generate here is to generate the
-    --  reference to the subprogram descriptor chain. See Ada.Exceptions
-    --  for details of required data structures.
- 
-    procedure Generate_Unit_Exception_Table is
-       Loc      : constant Source_Ptr := No_Location;
-       Num      : Nat;
-       Decl     : Node_Id;
-       Ent      : Entity_Id;
-       Next_Ent : Entity_Id;
-       Stent    : Entity_Id;
- 
-    begin
-       --  Nothing to be done if zero length exceptions not active
- 
-       if Exception_Mechanism /= Front_End_ZCX_Exceptions then
-          return;
-       end if;
- 
-       --  Nothing to do if no exceptions
- 
-       if Restriction_Active (No_Exception_Handlers) then
-          return;
-       end if;
- 
-       --  Remove any entries from SD_List that correspond to eliminated
-       --  subprograms.
- 
-       Ent := First (SD_List);
-       while Present (Ent) loop
-          Next_Ent := Next (Ent);
-          if Is_Eliminated (Scope (Entity (Prefix (Ent)))) then
-             Remove (Ent); -- After this, there is no Next (Ent) anymore
-          end if;
- 
-          Ent := Next_Ent;
-       end loop;
- 
-       --  Nothing to do if no unit exception table present.
-       --  An empty table can result from subprogram elimination,
-       --  in such a case, eliminate the exception table itself.
- 
-       if Is_Empty_List (SD_List) then
-          Unit_Exception_Table_Present := False;
-          return;
-       end if;
- 
-       --  Do not generate table in a generic
- 
-       if Inside_A_Generic then
-          return;
-       end if;
- 
-       --  Generate the unit exception table
- 
-       --    subtype Tnn is Subprogram_Descriptors_Record (Num);
-       --    __gnat_unitname__SDP : aliased constant Tnn :=
-       --                             Num,
-       --                             (sub1'unrestricted_access,
-       --                              sub2'unrestricted_access,
-       --                              ...
-       --                              subNum'unrestricted_access));
- 
-       Num := List_Length (SD_List);
- 
-       Stent :=
-         Make_Defining_Identifier (Loc,
-           Chars => New_Internal_Name ('T'));
- 
-       Insert_Library_Level_Action (
-         Make_Subtype_Declaration (Loc,
-           Defining_Identifier => Stent,
-           Subtype_Indication =>
-             Make_Subtype_Indication (Loc,
-               Subtype_Mark =>
-                 New_Occurrence_Of
-                  (RTE (RE_Subprogram_Descriptors_Record), Loc),
-               Constraint =>
-                 Make_Index_Or_Discriminant_Constraint (Loc,
-                   Constraints => New_List (
-                     Make_Integer_Literal (Loc, Num))))));
- 
-       Set_Is_Statically_Allocated (Stent);
- 
-       Get_External_Unit_Name_String (Unit_Name (Main_Unit));
-       Name_Buffer (1 + 7 .. Name_Len + 7) := Name_Buffer (1 .. Name_Len);
-       Name_Buffer (1 .. 7) := "__gnat_";
-       Name_Len := Name_Len + 7;
-       Add_Str_To_Name_Buffer ("__SDP");
- 
-       Ent :=
-         Make_Defining_Identifier (Loc,
-           Chars => Name_Find);
- 
-       Get_Name_String (Chars (Ent));
-       Set_Interface_Name (Ent,
-         Make_String_Literal (Loc, Strval => String_From_Name_Buffer));
- 
-       Decl :=
-         Make_Object_Declaration (Loc,
-              Defining_Identifier => Ent,
-              Object_Definition   => New_Occurrence_Of (Stent, Loc),
-           Constant_Present => True,
-           Aliased_Present  => True,
-           Expression =>
-             Make_Aggregate (Loc,
-               New_List (
-                 Make_Integer_Literal (Loc, List_Length (SD_List)),
- 
-               Make_Aggregate (Loc,
-                 Expressions => SD_List))));
- 
-       Insert_Library_Level_Action (Decl);
- 
-       Set_Is_Exported             (Ent, True);
-       Set_Is_Public               (Ent, True);
-       Set_Is_Statically_Allocated (Ent, True);
- 
-       Get_Name_String (Chars (Ent));
-       Set_Interface_Name (Ent,
-         Make_String_Literal (Loc,
-           Strval => String_From_Name_Buffer));
- 
-    end Generate_Unit_Exception_Table;
- 
-    ----------------
-    -- Initialize --
-    ----------------
- 
-    procedure Initialize is
-    begin
-       SD_List := Empty_List;
-    end Initialize;
- 
     ----------------------
     -- Is_Non_Ada_Error --
     ----------------------
--- 800,805 ----
*************** package body Exp_Ch11 is
*** 1901,1959 ****
        return True;
     end Is_Non_Ada_Error;
  
-    ----------------------------
-    -- Remove_Handler_Entries --
-    ----------------------------
- 
-    procedure Remove_Handler_Entries (N : Node_Id) is
-       function Check_Handler_Entry (N : Node_Id) return Traverse_Result;
-       --  This function checks one node for a possible reference to a
-       --  handler entry that must be deleted. it always returns OK.
- 
-       function Remove_All_Handler_Entries is new
-         Traverse_Func (Check_Handler_Entry);
-       --  This defines the traversal operation
- 
-       Discard : Traverse_Result;
-       pragma Warnings (Off, Discard);
- 
-       function Check_Handler_Entry (N : Node_Id) return Traverse_Result is
-       begin
-          if Nkind (N) = N_Object_Declaration then
- 
-             if Present (Handler_List_Entry (N)) then
-                Remove (Handler_List_Entry (N));
-                Delete_Tree (Handler_List_Entry (N));
-                Set_Handler_List_Entry (N, Empty);
- 
-             elsif Is_Subprogram_Descriptor (N) then
-                declare
-                   SDN : Node_Id;
- 
-                begin
-                   SDN := First (SD_List);
-                   while Present (SDN) loop
-                      if Defining_Identifier (N) = Entity (Prefix (SDN)) then
-                         Remove (SDN);
-                         Delete_Tree (SDN);
-                         exit;
-                      end if;
- 
-                      Next (SDN);
-                   end loop;
-                end;
-             end if;
-          end if;
- 
-          return OK;
-       end Check_Handler_Entry;
- 
-    --  Start of processing for Remove_Handler_Entries
- 
-    begin
-       if Exception_Mechanism = Front_End_ZCX_Exceptions then
-          Discard := Remove_All_Handler_Entries (N);
-       end if;
-    end Remove_Handler_Entries;
- 
  end Exp_Ch11;
--- 823,826 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch11.ads gcc-4.1.0/gcc/ada/exp_ch11.ads
*** gcc-4.0.2/gcc/ada/exp_ch11.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch11.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Exp_Ch11 is
*** 41,49 ****
     --  See runtime routine Ada.Exceptions for full details on the format and
     --  content of these tables.
  
-    procedure Initialize;
-    --  Initializes these data structures for a new main unit file
- 
     procedure Expand_At_End_Handler (HSS : Node_Id; Block : Node_Id);
     --  Given a handled statement sequence, HSS, for which the At_End_Proc
     --  field is set, and which currently has no exception handlers, this
--- 41,46 ----
*************** package Exp_Ch11 is
*** 59,117 ****
     --  is also called to expand the special exception handler built for
     --  accept bodies (see Exp_Ch9.Build_Accept_Body).
  
-    procedure Generate_Unit_Exception_Table;
-    --  Procedure called by main driver to generate unit exception table if
-    --  zero cost exceptions are enabled. See System.Exceptions for details.
- 
     function Is_Non_Ada_Error (E : Entity_Id) return Boolean;
     --  This function is provided for Gigi use. It returns True if operating on
     --  VMS, and the argument E is the entity for System.Aux_Dec.Non_Ada_Error.
     --  This is used to generate the special matching code for this exception.
  
-    procedure Remove_Handler_Entries (N : Node_Id);
-    --  This procedure is called when optimization circuits determine that
-    --  an entire subtree can be removed. If the subtree contains handler
-    --  entries in zero cost exception mode, then such removal can lead to
-    --  dangling references to non-existent handlers in the handler table.
-    --  This procedure removes such references.
- 
-    --------------------------------------
-    -- Subprogram_Descriptor Generation --
-    --------------------------------------
- 
-    --  Subprogram descriptors are required for all subprograms, including
-    --  explicit subprograms defined in the program, subprograms that are
-    --  imported via pragma Import, and also for the implicit elaboration
-    --  subprograms used to elaborate package specs and bodies.
- 
-    procedure Generate_Subprogram_Descriptor_For_Package
-      (N    : Node_Id;
-       Spec : Entity_Id);
-    --  This is used to create a descriptor for the implicit elaboration
-    --  procedure for a package spec of body. The compiler only generates
-    --  such descriptors if the package spec or body contains exception
-    --  handlers (either explicitly in the case of a body, or from generic
-    --  package instantiations). N is the node for the package body or
-    --  spec, and Spec is the package body or package entity respectively.
-    --  N must be a compilation unit, and the descriptor is placed at
-    --  the end of the actions for the auxiliary compilation unit node.
- 
-    procedure Generate_Subprogram_Descriptor_For_Subprogram
-      (N    : Node_Id;
-       Spec : Entity_Id);
-    --  This is used to create a desriptor for a subprogram, both those
-    --  present in the source, and those implicitly generated by code
-    --  expansion. N is the subprogram body node, and Spec is the entity
-    --  for the subprogram. The descriptor is placed at the end of the
-    --  Last exception handler, or, if there are no handlers, at the end
-    --  of the statement sequence.
- 
-    procedure Generate_Subprogram_Descriptor_For_Imported_Subprogram
-      (Spec  : Entity_Id;
-       Slist : List_Id);
-    --  This is used to create a descriptor for an imported subprogram.
-    --  Such descriptors are needed for propagation of exceptions through
-    --  such subprograms. The descriptor never references any handlers,
-    --  and is appended to the given Slist.
- 
  end Exp_Ch11;
--- 56,64 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch12.adb gcc-4.1.0/gcc/ada/exp_ch12.adb
*** gcc-4.0.2/gcc/ada/exp_ch12.adb	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch12.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch12.ads gcc-4.1.0/gcc/ada/exp_ch12.ads
*** gcc-4.0.2/gcc/ada/exp_ch12.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch12.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch13.adb gcc-4.1.0/gcc/ada/exp_ch13.adb
*** gcc-4.0.2/gcc/ada/exp_ch13.adb	Thu Mar 17 19:53:05 2005
--- gcc-4.1.0/gcc/ada/exp_ch13.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Ch13 is
*** 389,396 ****
           end loop;
        end if;
  
!       --  If we are to delete this N_Freeze_Entity, do so by rewriting
!       --  so that a loop on all nodes being inserted will work propertly.
        if Delete then
           Rewrite (N, Make_Null_Statement (Sloc (N)));
        end if;
--- 389,397 ----
           end loop;
        end if;
  
!       --  If we are to delete this N_Freeze_Entity, do so by rewriting so that
!       --  a loop on all nodes being inserted will work propertly.
! 
        if Delete then
           Rewrite (N, Make_Null_Statement (Sloc (N)));
        end if;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch13.ads gcc-4.1.0/gcc/ada/exp_ch13.ads
*** gcc-4.0.2/gcc/ada/exp_ch13.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch13.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch2.adb gcc-4.1.0/gcc/ada/exp_ch2.adb
*** gcc-4.0.2/gcc/ada/exp_ch2.adb	Wed Dec  8 11:49:37 2004
--- gcc-4.1.0/gcc/ada/exp_ch2.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Ch2 is
*** 475,481 ****
              return In_Assignment_Context (Parent (N));
  
           elsif (Nkind (Parent (N)) = N_Selected_Component
!                  or else Nkind (Parent (N)) = N_Indexed_Component)
             and then In_Assignment_Context (Parent (N))
           then
              return True;
--- 475,482 ----
              return In_Assignment_Context (Parent (N));
  
           elsif (Nkind (Parent (N)) = N_Selected_Component
!                  or else Nkind (Parent (N)) = N_Indexed_Component
!                  or else Nkind (Parent (N)) = N_Slice)
             and then In_Assignment_Context (Parent (N))
           then
              return True;
*************** package body Exp_Ch2 is
*** 712,718 ****
     begin
        --  Simple reference case
  
!       if Nkind (N) = N_Identifier then
           if Is_Formal (Entity (N)) then
              return Entity (N);
  
--- 713,719 ----
     begin
        --  Simple reference case
  
!       if Nkind (N) = N_Identifier or else Nkind (N) = N_Expanded_Name then
           if Is_Formal (Entity (N)) then
              return Entity (N);
  
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch2.ads gcc-4.1.0/gcc/ada/exp_ch2.ads
*** gcc-4.0.2/gcc/ada/exp_ch2.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch2.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch3.adb gcc-4.1.0/gcc/ada/exp_ch3.adb
*** gcc-4.0.2/gcc/ada/exp_ch3.adb	Thu Mar 17 19:53:05 2005
--- gcc-4.1.0/gcc/ada/exp_ch3.adb	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 27,33 ****
  with Atree;    use Atree;
  with Checks;   use Checks;
  with Einfo;    use Einfo;
- with Elists;   use Elists;
  with Errout;   use Errout;
  with Exp_Aggr; use Exp_Aggr;
  with Exp_Ch4;  use Exp_Ch4;
--- 27,32 ----
*************** with Restrict; use Restrict;
*** 49,54 ****
--- 48,54 ----
  with Rident;   use Rident;
  with Rtsfind;  use Rtsfind;
  with Sem;      use Sem;
+ with Sem_Attr; use Sem_Attr;
  with Sem_Ch3;  use Sem_Ch3;
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Eval; use Sem_Eval;
*************** package body Exp_Ch3 is
*** 79,91 ****
     --  used for attachment of any actions required in its construction.
     --  It also supplies the source location used for the procedure.
  
-    procedure Build_Class_Wide_Master (T : Entity_Id);
-    --  for access to class-wide limited types we must build a task master
-    --  because some subsequent extension may add a task component. To avoid
-    --  bringing in the tasking run-time whenever an access-to-class-wide
-    --  limited type is used, we use the soft-link mechanism and add a level
-    --  of indirection to calls to routines that manipulate Master_Ids.
- 
     function Build_Discriminant_Formals
       (Rec_Id : Entity_Id;
        Use_Dl : Boolean) return List_Id;
--- 79,84 ----
*************** package body Exp_Ch3 is
*** 124,131 ****
  
     procedure Check_Stream_Attributes (Typ : Entity_Id);
     --  Check that if a limited extension has a parent with user-defined
!    --  stream attributes, any limited component of the extension also has
!    --  the corresponding user-defined stream attributes.
  
     procedure Expand_Tagged_Root (T : Entity_Id);
     --  Add a field _Tag at the beginning of the record. This field carries
--- 117,125 ----
  
     procedure Check_Stream_Attributes (Typ : Entity_Id);
     --  Check that if a limited extension has a parent with user-defined
!    --  stream attributes, and does not itself have user-definer
!    --  stream-attributes, then any limited component of the extension also
!    --  has the corresponding user-defined stream attributes.
  
     procedure Expand_Tagged_Root (T : Entity_Id);
     --  Add a field _Tag at the beginning of the record. This field carries
*************** package body Exp_Ch3 is
*** 285,294 ****
     --  Freeze entities of all predefined primitive operations. This is needed
     --  because the bodies of these operations do not normally do any freezeing.
  
!    function Stream_Operations_OK (Typ : Entity_Id) return Boolean;
!    --  Check whether stream operations must be emitted for a given type.
!    --  Various restrictions prevent the generation of these operations, as
!    --  a useful optimization or for certification purposes.
  
     --------------------------
     -- Adjust_Discriminants --
--- 279,292 ----
     --  Freeze entities of all predefined primitive operations. This is needed
     --  because the bodies of these operations do not normally do any freezeing.
  
!    function Stream_Operation_OK
!      (Typ       : Entity_Id;
!       Operation : TSS_Name_Type) return Boolean;
!    --  Check whether the named stream operation must be emitted for a given
!    --  type. The rules for inheritance of stream attributes by type extensions
!    --  are enforced by this function. Furthermore, various restrictions prevent
!    --  the generation of these operations, as a useful optimization or for
!    --  certification purposes.
  
     --------------------------
     -- Adjust_Discriminants --
*************** package body Exp_Ch3 is
*** 646,651 ****
--- 644,650 ----
        M_Id : Entity_Id;
        Decl : Node_Id;
        P    : Node_Id;
+       Par  : Node_Id;
  
     begin
        --  Nothing to do if there is no task hierarchy
*************** package body Exp_Ch3 is
*** 654,659 ****
--- 653,668 ----
           return;
        end if;
  
+       --  Find declaration that created the access type: either a
+       --  type declaration, or an object declaration with an
+       --  access definition, in which case the type is anonymous.
+ 
+       if Is_Itype (T) then
+          P := Associated_Node_For_Itype (T);
+       else
+          P := Parent (T);
+       end if;
+ 
        --  Nothing to do if we already built a master entity for this scope
  
        if not Has_Master_Entity (Scope (T)) then
*************** package body Exp_Ch3 is
*** 672,695 ****
                 Make_Explicit_Dereference (Loc,
                   New_Reference_To (RTE (RE_Current_Master), Loc)));
  
-          P := Parent (T);
           Insert_Before (P, Decl);
           Analyze (Decl);
           Set_Has_Master_Entity (Scope (T));
  
           --  Now mark the containing scope as a task master
  
!          while Nkind (P) /= N_Compilation_Unit loop
!             P := Parent (P);
  
              --  If we fall off the top, we are at the outer level, and the
              --  environment task is our effective master, so nothing to mark.
  
!             if Nkind (P) = N_Task_Body
!               or else Nkind (P) = N_Block_Statement
!               or else Nkind (P) = N_Subprogram_Body
              then
!                Set_Is_Task_Master (P, True);
                 exit;
              end if;
           end loop;
--- 681,704 ----
                 Make_Explicit_Dereference (Loc,
                   New_Reference_To (RTE (RE_Current_Master), Loc)));
  
           Insert_Before (P, Decl);
           Analyze (Decl);
           Set_Has_Master_Entity (Scope (T));
  
           --  Now mark the containing scope as a task master
  
!          Par := P;
!          while Nkind (Par) /= N_Compilation_Unit loop
!             Par := Parent (Par);
  
              --  If we fall off the top, we are at the outer level, and the
              --  environment task is our effective master, so nothing to mark.
  
!             if Nkind (Par) = N_Task_Body
!               or else Nkind (Par) = N_Block_Statement
!               or else Nkind (Par) = N_Subprogram_Body
              then
!                Set_Is_Task_Master (Par, True);
                 exit;
              end if;
           end loop;
*************** package body Exp_Ch3 is
*** 706,712 ****
            Defining_Identifier => M_Id,
            Subtype_Mark => New_Reference_To (Standard_Integer, Loc),
            Name => Make_Identifier (Loc, Name_uMaster));
!       Insert_Before (Parent (T), Decl);
        Analyze (Decl);
  
        Set_Master_Id (T, M_Id);
--- 715,721 ----
            Defining_Identifier => M_Id,
            Subtype_Mark => New_Reference_To (Standard_Integer, Loc),
            Name => Make_Identifier (Loc, Name_uMaster));
!       Insert_Before (P, Decl);
        Analyze (Decl);
  
        Set_Master_Id (T, M_Id);
*************** package body Exp_Ch3 is
*** 861,868 ****
           Parameter_List := Build_Discriminant_Formals (Rec_Id, False);
  
           Set_Parameter_Specifications (Spec_Node, Parameter_List);
!          Set_Subtype_Mark (Spec_Node,
!                            New_Reference_To (Standard_Boolean,  Loc));
           Set_Specification (Body_Node, Spec_Node);
           Set_Declarations (Body_Node, New_List);
  
--- 870,877 ----
           Parameter_List := Build_Discriminant_Formals (Rec_Id, False);
  
           Set_Parameter_Specifications (Spec_Node, Parameter_List);
!          Set_Result_Definition (Spec_Node,
!                                 New_Reference_To (Standard_Boolean,  Loc));
           Set_Specification (Body_Node, Spec_Node);
           Set_Declarations (Body_Node, New_List);
  
*************** package body Exp_Ch3 is
*** 1401,1412 ****
  
        function Component_Needs_Simple_Initialization
          (T : Entity_Id) return Boolean;
!       --  Determines if a component needs simple initialization, given its
!       --  type T. This is the same as Needs_Simple_Initialization except
!       --  for the following difference: the types Tag and Vtable_Ptr, which
!       --  are access types which would normally require simple initialization
!       --  to null, do not require initialization as components, since they
!       --  are explicitly initialized by other means.
  
        procedure Constrain_Array
          (SI         : Node_Id;
--- 1410,1421 ----
  
        function Component_Needs_Simple_Initialization
          (T : Entity_Id) return Boolean;
!       --  Determines if a component needs simple initialization, given its type
!       --  T. This is the same as Needs_Simple_Initialization except for the
!       --  following difference: the types Tag, Interface_Tag, and Vtable_Ptr
!       --  which are access types which would normally require simple
!       --  initialization to null, do not require initialization as components,
!       --  since they are explicitly initialized by other means.
  
        procedure Constrain_Array
          (SI         : Node_Id;
*************** package body Exp_Ch3 is
*** 1476,1491 ****
                  Attribute_Name => Name_Unrestricted_Access);
           end if;
  
!          --  Ada 2005 (AI-231): Generate conversion to the null-excluding
!          --  type to force the corresponding run-time check.
  
           if Ada_Version >= Ada_05
!            and then Can_Never_Be_Null (Etype (Id))  -- Lhs
!            and then Present (Etype (Exp))
!            and then not Can_Never_Be_Null (Etype (Exp))
           then
!             Rewrite (Exp, Convert_To (Etype (Id), Relocate_Node (Exp)));
!             Analyze_And_Resolve (Exp, Etype (Id));
           end if;
  
           --  Take a copy of Exp to ensure that later copies of this
--- 1485,1505 ----
                  Attribute_Name => Name_Unrestricted_Access);
           end if;
  
!          --  Ada 2005 (AI-231): Add the run-time check if required
  
           if Ada_Version >= Ada_05
!            and then Can_Never_Be_Null (Etype (Id))            -- Lhs
           then
!             if Nkind (Exp) = N_Null then
!                return New_List (
!                  Make_Raise_Constraint_Error (Sloc (Exp),
!                    Reason => CE_Null_Not_Allowed));
! 
!             elsif Present (Etype (Exp))
!               and then not Can_Never_Be_Null (Etype (Exp))
!             then
!                Install_Null_Excluding_Check (Exp);
!             end if;
           end if;
  
           --  Take a copy of Exp to ensure that later copies of this
*************** package body Exp_Ch3 is
*** 1512,1522 ****
                    Make_Selected_Component (Loc,
                      Prefix =>  New_Copy_Tree (Lhs),
                      Selector_Name =>
!                       New_Reference_To (Tag_Component (Typ), Loc)),
  
                  Expression =>
                    Unchecked_Convert_To (RTE (RE_Tag),
!                     New_Reference_To (Access_Disp_Table (Typ), Loc))));
           end if;
  
           --  Adjust the component if controlled except if it is an
--- 1526,1537 ----
                    Make_Selected_Component (Loc,
                      Prefix =>  New_Copy_Tree (Lhs),
                      Selector_Name =>
!                       New_Reference_To (First_Tag_Component (Typ), Loc)),
  
                  Expression =>
                    Unchecked_Convert_To (RTE (RE_Tag),
!                     New_Reference_To
!                       (Node (First_Elmt (Access_Disp_Table (Typ))), Loc))));
           end if;
  
           --  Adjust the component if controlled except if it is an
*************** package body Exp_Ch3 is
*** 1724,1729 ****
--- 1739,1853 ----
           Record_Extension_Node : Node_Id;
           Init_Tag              : Node_Id;
  
+          procedure Init_Secondary_Tags (Typ : Entity_Id);
+          --  Ada 2005 (AI-251): Initialize the tags of all the secondary
+          --  tables associated with abstract interface types
+ 
+          -------------------------
+          -- Init_Secondary_Tags --
+          -------------------------
+ 
+          procedure Init_Secondary_Tags (Typ : Entity_Id) is
+             ADT : Elmt_Id;
+ 
+             procedure Init_Secondary_Tags_Internal (Typ : Entity_Id);
+             --  Internal subprogram used to recursively climb to the root type
+ 
+             ----------------------------------
+             -- Init_Secondary_Tags_Internal --
+             ----------------------------------
+ 
+             procedure Init_Secondary_Tags_Internal (Typ : Entity_Id) is
+                E     : Entity_Id;
+                Aux_N : Node_Id;
+ 
+             begin
+                if not Is_Interface (Typ) then
+ 
+                   --  Climb to the ancestor (if any) handling private types
+ 
+                   if Present (Full_View (Etype (Typ))) then
+                      if Full_View (Etype (Typ)) /= Typ then
+                         Init_Secondary_Tags_Internal (Full_View (Etype (Typ)));
+                      end if;
+ 
+                   elsif Etype (Typ) /= Typ then
+                      Init_Secondary_Tags_Internal (Etype (Typ));
+                   end if;
+                end if;
+ 
+                if Present (Abstract_Interfaces (Typ))
+                  and then not Is_Empty_Elmt_List (Abstract_Interfaces (Typ))
+                then
+                   E := First_Entity (Typ);
+                   while Present (E) loop
+                      if Is_Tag (E)
+                        and then Chars (E) /= Name_uTag
+                      then
+                         Aux_N := Node (ADT);
+                         pragma Assert (Present (Aux_N));
+ 
+                         --  Initialize the pointer to the secondary DT
+                         --  associated with the interface
+ 
+                         Append_To (Body_Stmts,
+                           Make_Assignment_Statement (Loc,
+                             Name =>
+                               Make_Selected_Component (Loc,
+                                 Prefix => Make_Identifier (Loc, Name_uInit),
+                                 Selector_Name =>
+                                   New_Reference_To (E, Loc)),
+                             Expression =>
+                               New_Reference_To (Aux_N, Loc)));
+ 
+                         --  Generate:
+                         --    Set_Offset_To_Top (DT_Ptr, n);
+ 
+                         Append_To (Body_Stmts,
+                           Make_Procedure_Call_Statement (Loc,
+                             Name => New_Reference_To
+                                       (RTE (RE_Set_Offset_To_Top), Loc),
+                             Parameter_Associations => New_List (
+                               Unchecked_Convert_To (RTE (RE_Tag),
+                                 New_Reference_To (Aux_N, Loc)),
+                               Unchecked_Convert_To (RTE (RE_Storage_Offset),
+                                 Make_Attribute_Reference (Loc,
+                                   Prefix         =>
+                                    Make_Selected_Component (Loc,
+                                      Prefix         => Make_Identifier (Loc,
+                                                          Name_uInit),
+                                      Selector_Name  => New_Reference_To
+                                                          (E, Loc)),
+                                  Attribute_Name => Name_Position)))));
+ 
+                         Next_Elmt (ADT);
+                      end if;
+ 
+                      Next_Entity (E);
+                   end loop;
+                end if;
+             end Init_Secondary_Tags_Internal;
+ 
+          --  Start of processing for Init_Secondary_Tags
+ 
+          begin
+             --  Skip the first _Tag, which is the main tag of the
+             --  tagged type. Following tags correspond with abstract
+             --  interfaces.
+ 
+             ADT := Next_Elmt (First_Elmt (Access_Disp_Table (Typ)));
+ 
+             --  Handle private types
+ 
+             if Present (Full_View (Typ)) then
+                Init_Secondary_Tags_Internal (Full_View (Typ));
+             else
+                Init_Secondary_Tags_Internal (Typ);
+             end if;
+          end Init_Secondary_Tags;
+ 
+       --  Start of processing for Build_Init_Procedure
+ 
        begin
           Body_Stmts := New_List;
           Body_Node := New_Node (N_Subprogram_Body, Loc);
*************** package body Exp_Ch3 is
*** 1825,1834 ****
                    Make_Selected_Component (Loc,
                      Prefix => Make_Identifier (Loc, Name_uInit),
                      Selector_Name =>
!                       New_Reference_To (Tag_Component (Rec_Type), Loc)),
  
                  Expression =>
!                   New_Reference_To (Access_Disp_Table (Rec_Type), Loc));
  
              --  The tag must be inserted before the assignments to other
              --  components,  because the initial value of the component may
--- 1949,1959 ----
                    Make_Selected_Component (Loc,
                      Prefix => Make_Identifier (Loc, Name_uInit),
                      Selector_Name =>
!                       New_Reference_To (First_Tag_Component (Rec_Type), Loc)),
  
                  Expression =>
!                   New_Reference_To
!                     (Node (First_Elmt (Access_Disp_Table (Rec_Type))), Loc));
  
              --  The tag must be inserted before the assignments to other
              --  components,  because the initial value of the component may
*************** package body Exp_Ch3 is
*** 1849,1854 ****
--- 1974,1988 ----
              if not Is_CPP_Class (Etype (Rec_Type)) then
                 Prepend_To (Body_Stmts, Init_Tag);
  
+                --  Ada 2005 (AI-251): Initialization of all the tags
+                --  corresponding with abstract interfaces
+ 
+                if Ada_Version >= Ada_05
+                  and then not Is_Interface (Rec_Type)
+                then
+                   Init_Secondary_Tags (Rec_Type);
+                end if;
+ 
              else
                 declare
                    Nod : Node_Id := First (Body_Stmts);
*************** package body Exp_Ch3 is
*** 2230,2236 ****
           return
             Needs_Simple_Initialization (T)
               and then not Is_RTE (T, RE_Tag)
!              and then not Is_RTE (T, RE_Vtable_Ptr);
        end Component_Needs_Simple_Initialization;
  
        ---------------------
--- 2364,2371 ----
           return
             Needs_Simple_Initialization (T)
               and then not Is_RTE (T, RE_Tag)
!              and then not Is_RTE (T, RE_Vtable_Ptr)
!              and then not Is_RTE (T, RE_Interface_Tag); --  Ada 2005 (AI-251)
        end Component_Needs_Simple_Initialization;
  
        ---------------------
*************** package body Exp_Ch3 is
*** 2362,2367 ****
--- 2497,2509 ----
              return False;
           end if;
  
+          --  If it is a type derived from a type with unknown discriminants,
+          --  we cannot build an initialization procedure for it.
+ 
+          if Has_Unknown_Discriminants (Rec_Id) then
+             return False;
+          end if;
+ 
           --  Otherwise we need to generate an initialization procedure if
           --  Is_CPP_Class is False and at least one of the following applies:
  
*************** package body Exp_Ch3 is
*** 2382,2388 ****
  
           --  6. One or more components is a type that requires simple
           --     initialization (see Needs_Simple_Initialization), except
!          --     that types Tag and Vtable_Ptr are excluded, since fields
           --     of these types are initialized by other means.
  
           --  7. The type is the record type built for a task type (since at
--- 2524,2530 ----
  
           --  6. One or more components is a type that requires simple
           --     initialization (see Needs_Simple_Initialization), except
!          --     that types Tag and Interface_Tag are excluded, since fields
           --     of these types are initialized by other means.
  
           --  7. The type is the record type built for a task type (since at
*************** package body Exp_Ch3 is
*** 2905,2911 ****
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => F,
                Parameter_Specifications => Pspecs,
!               Subtype_Mark => New_Reference_To (Standard_Boolean, Loc)),
            Declarations               => New_List,
            Handled_Statement_Sequence =>
              Make_Handled_Sequence_Of_Statements (Loc,
--- 3047,3053 ----
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => F,
                Parameter_Specifications => Pspecs,
!               Result_Definition => New_Reference_To (Standard_Boolean, Loc)),
            Declarations               => New_List,
            Handled_Statement_Sequence =>
              Make_Handled_Sequence_Of_Statements (Loc,
*************** package body Exp_Ch3 is
*** 3006,3032 ****
  
     procedure Check_Stream_Attributes (Typ : Entity_Id) is
        Comp      : Entity_Id;
!       Par       : constant Entity_Id := Root_Type (Base_Type (Typ));
!       Par_Read  : constant Boolean   := Present (TSS (Par, TSS_Stream_Read));
!       Par_Write : constant Boolean   := Present (TSS (Par, TSS_Stream_Write));
  
     begin
        if Par_Read or else Par_Write then
           Comp := First_Component (Typ);
           while Present (Comp) loop
              if Comes_From_Source (Comp)
!               and then  Original_Record_Component (Comp) = Comp
                and then Is_Limited_Type (Etype (Comp))
              then
!                if (Par_Read and then
!                      No (TSS (Base_Type (Etype (Comp)), TSS_Stream_Read)))
!                  or else
!                   (Par_Write and then
!                      No (TSS (Base_Type (Etype (Comp)), TSS_Stream_Write)))
!                then
!                   Error_Msg_N
!                     ("|component must have Stream attribute",
!                        Parent (Comp));
                 end if;
              end if;
  
--- 3148,3192 ----
  
     procedure Check_Stream_Attributes (Typ : Entity_Id) is
        Comp      : Entity_Id;
!       Par_Read  : constant Boolean :=
!                     Stream_Attribute_Available (Typ, TSS_Stream_Read)
!                       and then not Has_Specified_Stream_Read (Typ);
!       Par_Write : constant Boolean :=
!                     Stream_Attribute_Available (Typ, TSS_Stream_Write)
!                       and then not Has_Specified_Stream_Write (Typ);
! 
!       procedure Check_Attr (Nam : Name_Id; TSS_Nam : TSS_Name_Type);
!       --  Check that Comp has a user-specified Nam stream attribute
! 
!       ----------------
!       -- Check_Attr --
!       ----------------
! 
!       procedure Check_Attr (Nam : Name_Id; TSS_Nam : TSS_Name_Type) is
!       begin
!          if not Stream_Attribute_Available (Etype (Comp), TSS_Nam) then
!             Error_Msg_Name_1 := Nam;
!             Error_Msg_N
!               ("|component& in limited extension must have% attribute", Comp);
!          end if;
!       end Check_Attr;
! 
!    --  Start of processing for Check_Stream_Attributes
  
     begin
        if Par_Read or else Par_Write then
           Comp := First_Component (Typ);
           while Present (Comp) loop
              if Comes_From_Source (Comp)
!               and then Original_Record_Component (Comp) = Comp
                and then Is_Limited_Type (Etype (Comp))
              then
!                if Par_Read then
!                   Check_Attr (Name_Read, TSS_Stream_Read);
!                end if;
! 
!                if Par_Write then
!                   Check_Attr (Name_Write, TSS_Stream_Write);
                 end if;
              end if;
  
*************** package body Exp_Ch3 is
*** 3407,3418 ****
           --  simple initialization expression in place. This special
           --  initialization is required even though No_Init_Flag is present.
  
!          elsif Needs_Simple_Initialization (Typ) then
              Set_No_Initialization (N, False);
              Set_Expression (N, Get_Simple_Init_Val (Typ, Loc, Esize (Def_Id)));
              Analyze_And_Resolve (Expression (N), Typ);
           end if;
  
        --  Explicit initialization present
  
        else
--- 3567,3602 ----
           --  simple initialization expression in place. This special
           --  initialization is required even though No_Init_Flag is present.
  
!          --  An internally generated temporary needs no initialization because
!          --  it will be assigned subsequently. In particular, there is no
!          --  point in applying Initialize_Scalars to such a temporary.
! 
!          elsif Needs_Simple_Initialization (Typ)
!             and then not Is_Internal (Def_Id)
!          then
              Set_No_Initialization (N, False);
              Set_Expression (N, Get_Simple_Init_Val (Typ, Loc, Esize (Def_Id)));
              Analyze_And_Resolve (Expression (N), Typ);
           end if;
  
+          --  Generate attribute for Persistent_BSS if needed
+ 
+          declare
+             Prag : Node_Id;
+          begin
+             if Persistent_BSS_Mode
+               and then Comes_From_Source (N)
+               and then Is_Potentially_Persistent_Type (Typ)
+               and then Is_Library_Level_Entity (Def_Id)
+             then
+                Prag :=
+                  Make_Linker_Section_Pragma
+                    (Def_Id, Sloc (N), ".persistent.bss");
+                Insert_After (N, Prag);
+                Analyze (Prag);
+             end if;
+          end;
+ 
        --  Explicit initialization present
  
        else
*************** package body Exp_Ch3 is
*** 3497,3514 ****
                 end;
              end if;
  
!             --  For tagged types, when an init value is given, the tag has
!             --  to be re-initialized separately in order to avoid the
!             --  propagation of a wrong tag coming from a view conversion
!             --  unless the type is class wide (in this case the tag comes
!             --  from the init value). Suppress the tag assignment when
!             --  Java_VM because JVM tags are represented implicitly
!             --  in objects. Ditto for types that are CPP_CLASS.
  
              if Is_Tagged_Type (Typ)
                and then not Is_Class_Wide_Type (Typ)
                and then not Is_CPP_Class (Typ)
                and then not Java_VM
              then
                 --  The re-assignment of the tag has to be done even if
                 --  the object is a constant
--- 3681,3700 ----
                 end;
              end if;
  
!             --  For tagged types, when an init value is given, the tag has to
!             --  be re-initialized separately in order to avoid the propagation
!             --  of a wrong tag coming from a view conversion unless the type
!             --  is class wide (in this case the tag comes from the init
!             --  value). Suppress the tag assignment when Java_VM because JVM
!             --  tags are represented implicitly in objects. Ditto for types
!             --  that are CPP_CLASS, and for initializations that are
!             --  aggregates, because they have to have the right tag.
  
              if Is_Tagged_Type (Typ)
                and then not Is_Class_Wide_Type (Typ)
                and then not Is_CPP_Class (Typ)
                and then not Java_VM
+               and then Nkind (Expr) /= N_Aggregate
              then
                 --  The re-assignment of the tag has to be done even if
                 --  the object is a constant
*************** package body Exp_Ch3 is
*** 3517,3523 ****
                   Make_Selected_Component (Loc,
                      Prefix => New_Reference_To (Def_Id, Loc),
                      Selector_Name =>
!                       New_Reference_To (Tag_Component (Typ), Loc));
  
                 Set_Assignment_OK (New_Ref);
  
--- 3703,3709 ----
                   Make_Selected_Component (Loc,
                      Prefix => New_Reference_To (Def_Id, Loc),
                      Selector_Name =>
!                       New_Reference_To (First_Tag_Component (Typ), Loc));
  
                 Set_Assignment_OK (New_Ref);
  
*************** package body Exp_Ch3 is
*** 3527,3533 ****
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
                         New_Reference_To
!                          (Access_Disp_Table (Base_Type (Typ)), Loc))));
  
              --  For discrete types, set the Is_Known_Valid flag if the
              --  initializing value is known to be valid.
--- 3713,3722 ----
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
                         New_Reference_To
!                          (Node
!                            (First_Elmt
!                              (Access_Disp_Table (Base_Type (Typ)))),
!                           Loc))));
  
              --  For discrete types, set the Is_Known_Valid flag if the
              --  initializing value is known to be valid.
*************** package body Exp_Ch3 is
*** 3539,3560 ****
  
              elsif Is_Access_Type (Typ) then
  
-                --  Ada 2005 (AI-231): Generate conversion to the null-excluding
-                --  type to force the corresponding run-time check
- 
-                if Ada_Version >= Ada_05
-                  and then (Can_Never_Be_Null (Def_Id)
-                              or else Can_Never_Be_Null (Typ))
-                then
-                   Rewrite
-                     (Expr_Q,
-                      Convert_To (Etype (Def_Id), Relocate_Node (Expr_Q)));
-                   Analyze_And_Resolve (Expr_Q, Etype (Def_Id));
-                end if;
- 
                 --  For access types set the Is_Known_Non_Null flag if the
!                --  initializing value is known to be non-null. We can also
!                --  set Can_Never_Be_Null if this is a constant.
  
                 if Known_Non_Null (Expr) then
                    Set_Is_Known_Non_Null (Def_Id);
--- 3728,3736 ----
  
              elsif Is_Access_Type (Typ) then
  
                 --  For access types set the Is_Known_Non_Null flag if the
!                --  initializing value is known to be non-null. We can also set
!                --  Can_Never_Be_Null if this is a constant.
  
                 if Known_Non_Null (Expr) then
                    Set_Is_Known_Non_Null (Def_Id);
*************** package body Exp_Ch3 is
*** 3575,3595 ****
              end if;
           end if;
  
!          if Is_Possibly_Unaligned_Slice (Expr) then
  
!             --  Make a separate assignment that will be expanded into a
!             --  loop, to bypass back-end problems with misaligned arrays.
  
              declare
                 Stat : constant Node_Id :=
                         Make_Assignment_Statement (Loc,
!                          Name => New_Reference_To (Def_Id, Loc),
                           Expression => Relocate_Node (Expr));
- 
              begin
                 Set_Expression (N, Empty);
                 Set_No_Initialization (N);
                 Set_Assignment_OK (Name (Stat));
                 Insert_After (N, Stat);
                 Analyze (Stat);
              end;
--- 3751,3783 ----
              end if;
           end if;
  
!          --  Cases where the back end cannot handle the initialization
!          --  directly. In such cases, we expand an assignment that will
!          --  be appropriately handled by Expand_N_Assignment_Statement.
  
!          --  The exclusion of the unconstrained case is wrong, but for
!          --  now it is too much trouble ???
! 
!          if (Is_Possibly_Unaligned_Slice (Expr)
!                or else (Is_Possibly_Unaligned_Object (Expr)
!                           and then not Represented_As_Scalar (Etype (Expr))))
  
+             --  The exclusion of the unconstrained case is wrong, but for
+             --  now it is too much trouble ???
+ 
+            and then not (Is_Array_Type (Etype (Expr))
+                            and then not Is_Constrained (Etype (Expr)))
+          then
              declare
                 Stat : constant Node_Id :=
                         Make_Assignment_Statement (Loc,
!                          Name       => New_Reference_To (Def_Id, Loc),
                           Expression => Relocate_Node (Expr));
              begin
                 Set_Expression (N, Empty);
                 Set_No_Initialization (N);
                 Set_Assignment_OK (Name (Stat));
+                Set_No_Ctrl_Actions (Stat);
                 Insert_After (N, Stat);
                 Analyze (Stat);
              end;
*************** package body Exp_Ch3 is
*** 3612,3621 ****
     -- Expand_N_Subtype_Indication --
     ---------------------------------
  
!    --  Add a check on the range of the subtype. The static case is
!    --  partially duplicated by Process_Range_Expr_In_Decl in Sem_Ch3,
!    --  but we still need to check here for the static case in order to
!    --  avoid generating extraneous expanded code.
  
     procedure Expand_N_Subtype_Indication (N : Node_Id) is
        Ran : constant Node_Id   := Range_Expression (Constraint (N));
--- 3800,3809 ----
     -- Expand_N_Subtype_Indication --
     ---------------------------------
  
!    --  Add a check on the range of the subtype. The static case is partially
!    --  duplicated by Process_Range_Expr_In_Decl in Sem_Ch3, but we still need
!    --  to check here for the static case in order to avoid generating
!    --  extraneous expanded code.
  
     procedure Expand_N_Subtype_Indication (N : Node_Id) is
        Ran : constant Node_Id   := Range_Expression (Constraint (N));
*************** package body Exp_Ch3 is
*** 3634,3651 ****
     -- Expand_N_Variant_Part --
     ---------------------------
  
!    --  If the last variant does not contain the Others choice, replace
!    --  it with an N_Others_Choice node since Gigi always wants an Others.
!    --  Note that we do not bother to call Analyze on the modified variant
!    --  part, since it's only effect would be to compute the contents of
!    --  the Others_Discrete_Choices node laboriously, and of course we
!    --  already know the list of choices that corresponds to the others
!    --  choice (it's the list we are replacing!)
  
     procedure Expand_N_Variant_Part (N : Node_Id) is
        Last_Var    : constant Node_Id := Last_Non_Pragma (Variants (N));
        Others_Node : Node_Id;
- 
     begin
        if Nkind (First (Discrete_Choices (Last_Var))) /= N_Others_Choice then
           Others_Node := Make_Others_Choice (Sloc (Last_Var));
--- 3822,3838 ----
     -- Expand_N_Variant_Part --
     ---------------------------
  
!    --  If the last variant does not contain the Others choice, replace it with
!    --  an N_Others_Choice node since Gigi always wants an Others. Note that we
!    --  do not bother to call Analyze on the modified variant part, since it's
!    --  only effect would be to compute the contents of the
!    --  Others_Discrete_Choices node laboriously, and of course we already know
!    --  the list of choices that corresponds to the others choice (it's the
!    --  list we are replacing!)
  
     procedure Expand_N_Variant_Part (N : Node_Id) is
        Last_Var    : constant Node_Id := Last_Non_Pragma (Variants (N));
        Others_Node : Node_Id;
     begin
        if Nkind (First (Discrete_Choices (Last_Var))) /= N_Others_Choice then
           Others_Node := Make_Others_Choice (Sloc (Last_Var));
*************** package body Exp_Ch3 is
*** 3737,3745 ****
           Set_Null_Present (Comp_List, False);
  
        else
!          --  The controller cannot be placed before the _Parent field
!          --  since gigi lays out field in order and _parent must be
!          --  first to preserve the polymorphism of tagged types.
  
           First_Comp := First (Component_Items (Comp_List));
  
--- 3924,3932 ----
           Set_Null_Present (Comp_List, False);
  
        else
!          --  The controller cannot be placed before the _Parent field since
!          --  gigi lays out field in order and _parent must be first to
!          --  preserve the polymorphism of tagged types.
  
           First_Comp := First (Component_Items (Comp_List));
  
*************** package body Exp_Ch3 is
*** 3757,3765 ****
        Set_Ekind (Ent, E_Component);
        Init_Component_Location (Ent);
  
!       --  Move the _controller entity ahead in the list of internal
!       --  entities of the enclosing record so that it is selected
!       --  instead of a potentially inherited one.
  
        declare
           E    : constant Entity_Id := Last_Entity (T);
--- 3944,3952 ----
        Set_Ekind (Ent, E_Component);
        Init_Component_Location (Ent);
  
!       --  Move the _controller entity ahead in the list of internal entities
!       --  of the enclosing record so that it is selected instead of a
!       --  potentially inherited one.
  
        declare
           E    : constant Entity_Id := Last_Entity (T);
*************** package body Exp_Ch3 is
*** 3818,3824 ****
  
        Comp_Decl :=
          Make_Component_Declaration (Sloc_N,
!           Defining_Identifier => Tag_Component (T),
            Component_Definition =>
              Make_Component_Definition (Sloc_N,
                Aliased_Present => False,
--- 4005,4011 ----
  
        Comp_Decl :=
          Make_Component_Declaration (Sloc_N,
!           Defining_Identifier => First_Tag_Component (T),
            Component_Definition =>
              Make_Component_Definition (Sloc_N,
                Aliased_Present => False,
*************** package body Exp_Ch3 is
*** 3835,3842 ****
        end if;
  
        --  We don't Analyze the whole expansion because the tag component has
!       --  already been analyzed previously. Here we just insure that the
!       --  tree is coherent with the semantic decoration
  
        Find_Type (Subtype_Indication (Component_Definition (Comp_Decl)));
  
--- 4022,4029 ----
        end if;
  
        --  We don't Analyze the whole expansion because the tag component has
!       --  already been analyzed previously. Here we just insure that the tree
!       --  is coherent with the semantic decoration
  
        Find_Type (Subtype_Indication (Component_Definition (Comp_Decl)));
  
*************** package body Exp_Ch3 is
*** 3856,3865 ****
     begin
        if not Is_Bit_Packed_Array (Typ) then
  
!          --  If the component contains tasks, so does the array type.
!          --  This may not be indicated in the array type because the
!          --  component may have been a private type at the point of
!          --  definition. Same if component type is controlled.
  
           Set_Has_Task (Base, Has_Task (Component_Type (Typ)));
           Set_Has_Controlled_Component (Base,
--- 4043,4052 ----
     begin
        if not Is_Bit_Packed_Array (Typ) then
  
!          --  If the component contains tasks, so does the array type. This may
!          --  not be indicated in the array type because the component may have
!          --  been a private type at the point of definition. Same if component
!          --  type is controlled.
  
           Set_Has_Task (Base, Has_Task (Component_Type (Typ)));
           Set_Has_Controlled_Component (Base,
*************** package body Exp_Ch3 is
*** 3868,3876 ****
  
           if No (Init_Proc (Base)) then
  
!             --  If this is an anonymous array created for a declaration
!             --  with an initial value, its init_proc will never be called.
!             --  The initial value itself may have been expanded into assign-
              --  ments, in which case the object declaration is carries the
              --  No_Initialization flag.
  
--- 4055,4063 ----
  
           if No (Init_Proc (Base)) then
  
!             --  If this is an anonymous array created for a declaration with
!             --  an initial value, its init_proc will never be called. The
!             --  initial value itself may have been expanded into assign-
              --  ments, in which case the object declaration is carries the
              --  No_Initialization flag.
  
*************** package body Exp_Ch3 is
*** 3911,3919 ****
              end if;
           end if;
  
!       --  For packed case, there is a default initialization, except
!       --  if the component type is itself a packed structure with an
!       --  initialization procedure.
  
        elsif Present (Init_Proc (Component_Type (Base)))
          and then No (Base_Init_Proc (Base))
--- 4098,4106 ----
              end if;
           end if;
  
!       --  For packed case, there is a default initialization, except if the
!       --  component type is itself a packed structure with an initialization
!       --  procedure.
  
        elsif Present (Init_Proc (Component_Type (Base)))
          and then No (Base_Init_Proc (Base))
*************** package body Exp_Ch3 is
*** 3943,3950 ****
        pragma Warnings (Off, Func);
  
     begin
!       --  Various optimization are possible if the given representation
!       --  is contiguous.
  
        Is_Contiguous := True;
        Ent := First_Literal (Typ);
--- 4130,4137 ----
        pragma Warnings (Off, Func);
  
     begin
!       --  Various optimization are possible if the given representation is
!       --  contiguous.
  
        Is_Contiguous := True;
        Ent := First_Literal (Typ);
*************** package body Exp_Ch3 is
*** 3987,3995 ****
        --    typA : array (Natural range 0 .. num - 1) of ctype :=
        --             (v, v, v, v, v, ....)
  
!       --  where ctype is the corresponding integer type. If the
!       --  representation is contiguous, we only keep the first literal,
!       --  which provides the offset for Pos_To_Rep computations.
  
        Arr :=
          Make_Defining_Identifier (Loc,
--- 4174,4182 ----
        --    typA : array (Natural range 0 .. num - 1) of ctype :=
        --             (v, v, v, v, v, ....)
  
!       --  where ctype is the corresponding integer type. If the representation
!       --  is contiguous, we only keep the first literal, which provides the
!       --  offset for Pos_To_Rep computations.
  
        Arr :=
          Make_Defining_Identifier (Loc,
*************** package body Exp_Ch3 is
*** 4044,4065 ****
        --  representation) raises Constraint_Error or returns a unique value
        --  of minus one. The latter case is used, e.g. in 'Valid code.
  
!       --  Note: the reason we use Enum_Rep values in the case here is to
!       --  avoid the code generator making inappropriate assumptions about
!       --  the range of the values in the case where the value is invalid.
!       --  ityp is a signed or unsigned integer type of appropriate width.
  
        --  Note: if exceptions are not supported, then we suppress the raise
        --  and return -1 unconditionally (this is an erroneous program in any
!       --  case and there is no obligation to raise Constraint_Error here!)
!       --  We also do this if pragma Restrictions (No_Exceptions) is active.
  
        --  Representations are signed
  
        if Enumeration_Rep (First_Literal (Typ)) < 0 then
  
           --  The underlying type is signed. Reset the Is_Unsigned_Type
!          --  explicitly, because it might have been inherited from a
           --  parent type.
  
           Set_Is_Unsigned_Type (Typ, False);
--- 4231,4252 ----
        --  representation) raises Constraint_Error or returns a unique value
        --  of minus one. The latter case is used, e.g. in 'Valid code.
  
!       --  Note: the reason we use Enum_Rep values in the case here is to avoid
!       --  the code generator making inappropriate assumptions about the range
!       --  of the values in the case where the value is invalid. ityp is a
!       --  signed or unsigned integer type of appropriate width.
  
        --  Note: if exceptions are not supported, then we suppress the raise
        --  and return -1 unconditionally (this is an erroneous program in any
!       --  case and there is no obligation to raise Constraint_Error here!) We
!       --  also do this if pragma Restrictions (No_Exceptions) is active.
  
        --  Representations are signed
  
        if Enumeration_Rep (First_Literal (Typ)) < 0 then
  
           --  The underlying type is signed. Reset the Is_Unsigned_Type
!          --  explicitly, because it might have been inherited from
           --  parent type.
  
           Set_Is_Unsigned_Type (Typ, False);
*************** package body Exp_Ch3 is
*** 4080,4087 ****
           end if;
        end if;
  
!       --  The body of the function is a case statement. First collect
!       --  case alternatives, or optimize the contiguous case.
  
        Lst := New_List;
  
--- 4267,4274 ----
           end if;
        end if;
  
!       --  The body of the function is a case statement. First collect case
!       --  alternatives, or optimize the contiguous case.
  
        Lst := New_List;
  
*************** package body Exp_Ch3 is
*** 4192,4198 ****
                      Make_Defining_Identifier (Loc, Name_uF),
                    Parameter_Type => New_Reference_To (Standard_Boolean, Loc))),
  
!               Subtype_Mark => New_Reference_To (Standard_Integer, Loc)),
  
              Declarations => Empty_List,
  
--- 4379,4385 ----
                      Make_Defining_Identifier (Loc, Name_uF),
                    Parameter_Type => New_Reference_To (Standard_Boolean, Loc))),
  
!               Result_Definition => New_Reference_To (Standard_Integer, Loc)),
  
              Declarations => Empty_List,
  
*************** package body Exp_Ch3 is
*** 4222,4231 ****
     ------------------------
  
     procedure Freeze_Record_Type (N : Node_Id) is
-       Def_Id      : constant Node_Id := Entity (N);
        Comp        : Entity_Id;
!       Type_Decl   : constant Node_Id := Parent (Def_Id);
        Predef_List : List_Id;
  
        Renamed_Eq  : Node_Id := Empty;
        --  Could use some comments ???
--- 4409,4418 ----
     ------------------------
  
     procedure Freeze_Record_Type (N : Node_Id) is
        Comp        : Entity_Id;
!       Def_Id      : constant Node_Id := Entity (N);
        Predef_List : List_Id;
+       Type_Decl   : constant Node_Id := Parent (Def_Id);
  
        Renamed_Eq  : Node_Id := Empty;
        --  Could use some comments ???
*************** package body Exp_Ch3 is
*** 4303,4331 ****
        end loop;
  
        --  Creation of the Dispatch Table. Note that a Dispatch Table is
!       --  created for regular tagged types as well as for Ada types
!       --  deriving from a C++ Class, but not for tagged types directly
!       --  corresponding to the C++ classes. In the later case we assume
!       --  that the Vtable is created in the C++ side and we just use it.
  
        if Is_Tagged_Type (Def_Id) then
           if Is_CPP_Class (Def_Id) then
              Set_All_DT_Position (Def_Id);
              Set_Default_Constructor (Def_Id);
  
           else
!             --  Usually inherited primitives are not delayed but the first
!             --  Ada extension of a CPP_Class is an exception since the
!             --  address of the inherited subprogram has to be inserted in
!             --  the new Ada Dispatch Table and this is a freezing action
!             --  (usually the inherited primitive address is inserted in the
!             --  DT by Inherit_DT)
  
!             --  Similarly, if this is an inherited operation whose parent
!             --  is not frozen yet, it is not in the DT of the parent, and
!             --  we generate an explicit freeze node for the inherited
!             --  operation, so that it is properly inserted in the DT of the
!             --  current type.
  
              declare
                 Elmt : Elmt_Id := First_Elmt (Primitive_Operations (Def_Id));
--- 4490,4518 ----
        end loop;
  
        --  Creation of the Dispatch Table. Note that a Dispatch Table is
!       --  created for regular tagged types as well as for Ada types deriving
!       --  from a C++ Class, but not for tagged types directly corresponding to
!       --  the C++ classes. In the later case we assume that the Vtable is
!       --  created in the C++ side and we just use it.
  
        if Is_Tagged_Type (Def_Id) then
+ 
           if Is_CPP_Class (Def_Id) then
              Set_All_DT_Position (Def_Id);
              Set_Default_Constructor (Def_Id);
  
           else
!             --  Usually inherited primitives are not delayed but the first Ada
!             --  extension of a CPP_Class is an exception since the address of
!             --  the inherited subprogram has to be inserted in the new Ada
!             --  Dispatch Table and this is a freezing action (usually the
!             --  inherited primitive address is inserted in the DT by
!             --  Inherit_DT)
  
!             --  Similarly, if this is an inherited operation whose parent is
!             --  not frozen yet, it is not in the DT of the parent, and we
!             --  generate an explicit freeze node for the inherited operation,
!             --  so that it is properly inserted in the DT of the current type.
  
              declare
                 Elmt : Elmt_Id := First_Elmt (Primitive_Operations (Def_Id));
*************** package body Exp_Ch3 is
*** 4355,4390 ****
                 Expand_Tagged_Root (Def_Id);
              end if;
  
!             --  Unfreeze momentarily the type to add the predefined
!             --  primitives operations. The reason we unfreeze is so
!             --  that these predefined operations will indeed end up
!             --  as primitive operations (which must be before the
!             --  freeze point).
  
              Set_Is_Frozen (Def_Id, False);
              Make_Predefined_Primitive_Specs
                (Def_Id, Predef_List, Renamed_Eq);
              Insert_List_Before_And_Analyze (N, Predef_List);
              Set_Is_Frozen (Def_Id, True);
              Set_All_DT_Position (Def_Id);
  
              --  Add the controlled component before the freezing actions
!             --  it is referenced in those actions.
  
              if Has_New_Controlled_Component (Def_Id) then
                 Expand_Record_Controller (Def_Id);
              end if;
  
!             --  Suppress creation of a dispatch table when Java_VM because
!             --  the dispatching mechanism is handled internally by the JVM.
  
              if not Java_VM then
!                Append_Freeze_Actions (Def_Id, Make_DT (Def_Id));
              end if;
  
!             --  Make sure that the primitives Initialize, Adjust and
!             --  Finalize are Frozen before other TSS subprograms. We
!             --  don't want them Frozen inside.
  
              if Is_Controlled (Def_Id) then
                 if not Is_Limited_Type (Def_Id) then
--- 4542,4650 ----
                 Expand_Tagged_Root (Def_Id);
              end if;
  
!             --  Unfreeze momentarily the type to add the predefined primitives
!             --  operations. The reason we unfreeze is so that these predefined
!             --  operations will indeed end up as primitive operations (which
!             --  must be before the freeze point).
  
              Set_Is_Frozen (Def_Id, False);
              Make_Predefined_Primitive_Specs
                (Def_Id, Predef_List, Renamed_Eq);
              Insert_List_Before_And_Analyze (N, Predef_List);
+ 
              Set_Is_Frozen (Def_Id, True);
              Set_All_DT_Position (Def_Id);
  
              --  Add the controlled component before the freezing actions
!             --  referenced in those actions.
  
              if Has_New_Controlled_Component (Def_Id) then
                 Expand_Record_Controller (Def_Id);
              end if;
  
!             --  Suppress creation of a dispatch table when Java_VM because the
!             --  dispatching mechanism is handled internally by the JVM.
  
              if not Java_VM then
! 
!                --  Ada 2005 (AI-251): Build the secondary dispatch tables
! 
!                declare
!                   ADT : Elist_Id := Access_Disp_Table (Def_Id);
! 
!                   procedure Add_Secondary_Tables (Typ : Entity_Id);
!                   --  Internal subprogram, recursively climb to the ancestors
! 
!                   --------------------------
!                   -- Add_Secondary_Tables --
!                   --------------------------
! 
!                   procedure Add_Secondary_Tables (Typ : Entity_Id) is
!                      E            : Entity_Id;
!                      Iface        : Elmt_Id;
!                      Result       : List_Id;
!                      Suffix_Index : Int;
! 
!                   begin
!                      --  Climb to the ancestor (if any) handling private types
! 
!                      if Present (Full_View (Etype (Typ))) then
!                         if Full_View (Etype (Typ)) /= Typ then
!                            Add_Secondary_Tables (Full_View (Etype (Typ)));
!                         end if;
! 
!                      elsif Etype (Typ) /= Typ then
!                         Add_Secondary_Tables (Etype (Typ));
!                      end if;
! 
!                      if Present (Abstract_Interfaces (Typ))
!                        and then
!                          not Is_Empty_Elmt_List (Abstract_Interfaces (Typ))
!                      then
!                         Iface := First_Elmt (Abstract_Interfaces (Typ));
!                         Suffix_Index := 0;
! 
!                         E := First_Entity (Typ);
!                         while Present (E) loop
!                            if Is_Tag (E) and then Chars (E) /= Name_uTag then
!                               Make_Secondary_DT
!                                 (Typ             => Def_Id,
!                                  Ancestor_Typ    => Typ,
!                                  Suffix_Index    => Suffix_Index,
!                                  Iface           => Node (Iface),
!                                  AI_Tag          => E,
!                                  Acc_Disp_Tables => ADT,
!                                  Result          => Result);
! 
!                               Append_Freeze_Actions (Def_Id, Result);
!                               Suffix_Index := Suffix_Index + 1;
!                               Next_Elmt (Iface);
!                            end if;
! 
!                            Next_Entity (E);
!                         end loop;
!                      end if;
!                   end Add_Secondary_Tables;
! 
!                --  Start of processing to build secondary dispatch tables
! 
!                begin
!                   --  Handle private types
! 
!                   if Present (Full_View (Def_Id)) then
!                      Add_Secondary_Tables  (Full_View (Def_Id));
!                   else
!                      Add_Secondary_Tables  (Def_Id);
!                   end if;
! 
!                   Set_Access_Disp_Table (Def_Id, ADT);
!                   Append_Freeze_Actions (Def_Id, Make_DT (Def_Id));
!                end;
              end if;
  
!             --  Make sure that the primitives Initialize, Adjust and Finalize
!             --  are Frozen before other TSS subprograms. We don't want them
!             --  Frozen inside.
  
              if Is_Controlled (Def_Id) then
                 if not Is_Limited_Type (Def_Id) then
*************** package body Exp_Ch3 is
*** 4406,4415 ****
  
              Append_Freeze_Actions
                (Def_Id, Predefined_Primitive_Freeze (Def_Id));
           end if;
  
!       --  In the non-tagged case, an equality function is provided only
!       --  for variant records (that are not unchecked unions).
  
        elsif Has_Discriminants (Def_Id)
          and then not Is_Limited_Type (Def_Id)
--- 4666,4677 ----
  
              Append_Freeze_Actions
                (Def_Id, Predefined_Primitive_Freeze (Def_Id));
+             Append_Freeze_Actions
+               (Def_Id, Init_Predefined_Interface_Primitives (Def_Id));
           end if;
  
!       --  In the non-tagged case, an equality function is provided only for
!       --  variant records (that are not unchecked unions).
  
        elsif Has_Discriminants (Def_Id)
          and then not Is_Limited_Type (Def_Id)
*************** package body Exp_Ch3 is
*** 4428,4437 ****
        end if;
  
        --  Before building the record initialization procedure, if we are
!       --  dealing with a concurrent record value type, then we must go
!       --  through the discriminants, exchanging discriminals between the
!       --  concurrent type and the concurrent record value type. See the
!       --  section "Handling of Discriminants" in the Einfo spec for details.
  
        if Is_Concurrent_Record_Type (Def_Id)
          and then Has_Discriminants (Def_Id)
--- 4690,4699 ----
        end if;
  
        --  Before building the record initialization procedure, if we are
!       --  dealing with a concurrent record value type, then we must go through
!       --  the discriminants, exchanging discriminals between the concurrent
!       --  type and the concurrent record value type. See the section "Handling
!       --  of Discriminants" in the Einfo spec for details.
  
        if Is_Concurrent_Record_Type (Def_Id)
          and then Has_Discriminants (Def_Id)
*************** package body Exp_Ch3 is
*** 4472,4487 ****
        Adjust_Discriminants (Def_Id);
        Build_Record_Init_Proc (Type_Decl, Def_Id);
  
!       --  For tagged type, build bodies of primitive operations. Note
!       --  that we do this after building the record initialization
!       --  experiment, since the primitive operations may need the
!       --  initialization routine
  
        if Is_Tagged_Type (Def_Id) then
           Predef_List := Predefined_Primitive_Bodies (Def_Id, Renamed_Eq);
           Append_Freeze_Actions (Def_Id, Predef_List);
-       end if;
  
     end Freeze_Record_Type;
  
     ------------------------------
--- 4734,4765 ----
        Adjust_Discriminants (Def_Id);
        Build_Record_Init_Proc (Type_Decl, Def_Id);
  
!       --  For tagged type, build bodies of primitive operations. Note that we
!       --  do this after building the record initialization experiment, since
!       --  the primitive operations may need the initialization routine
  
        if Is_Tagged_Type (Def_Id) then
           Predef_List := Predefined_Primitive_Bodies (Def_Id, Renamed_Eq);
           Append_Freeze_Actions (Def_Id, Predef_List);
  
+          --  Populate the two auxiliary tables used for dispatching
+          --  asynchronous, conditional and timed selects for tagged
+          --  types that implement a limited interface.
+ 
+          if Ada_Version >= Ada_05
+            and then not Is_Interface  (Def_Id)
+            and then not Is_Abstract   (Def_Id)
+            and then not Is_Controlled (Def_Id)
+            and then
+              Implements_Interface
+                (Typ          => Def_Id,
+                 Kind         => Any_Limited_Interface,
+                 Check_Parent => True)
+          then
+             Append_Freeze_Actions (Def_Id,
+               Make_Select_Specific_Data_Table (Def_Id));
+          end if;
+       end if;
     end Freeze_Record_Type;
  
     ------------------------------
*************** package body Exp_Ch3 is
*** 4525,4534 ****
     -- Freeze_Type --
     -----------------
  
!    --  Full type declarations are expanded at the point at which the type
!    --  is frozen. The formal N is the Freeze_Node for the type. Any statements
!    --  or declarations generated by the freezing (e.g. the procedure generated
!    --  for initialization) are chained in the Acions field list of the freeze
     --  node using Append_Freeze_Actions.
  
     function Freeze_Type (N : Node_Id) return Boolean is
--- 4803,4812 ----
     -- Freeze_Type --
     -----------------
  
!    --  Full type declarations are expanded at the point at which the type is
!    --  frozen. The formal N is the Freeze_Node for the type. Any statements or
!    --  declarations generated by the freezing (e.g. the procedure generated
!    --  for initialization) are chained in the Actions field list of the freeze
     --  node using Append_Freeze_Actions.
  
     function Freeze_Type (N : Node_Id) return Boolean is
*************** package body Exp_Ch3 is
*** 4567,4579 ****
           if Ekind (Def_Id) = E_Record_Type then
              Freeze_Record_Type (N);
  
!          --  The subtype may have been declared before the type was frozen.
!          --  If the type has controlled components it is necessary to create
!          --  the entity for the controller explicitly because it did not
!          --  exist at the point of the subtype declaration. Only the entity is
!          --  needed, the back-end will obtain the layout from the type.
!          --  This is only necessary if this is constrained subtype whose
!          --  component list is not shared with the base type.
  
           elsif Ekind (Def_Id) = E_Record_Subtype
             and then Has_Discriminants (Def_Id)
--- 4845,4857 ----
           if Ekind (Def_Id) = E_Record_Type then
              Freeze_Record_Type (N);
  
!          --  The subtype may have been declared before the type was frozen. If
!          --  the type has controlled components it is necessary to create the
!          --  entity for the controller explicitly because it did not exist at
!          --  the point of the subtype declaration. Only the entity is needed,
!          --  the back-end will obtain the layout from the type. This is only
!          --  necessary if this is constrained subtype whose component list is
!          --  not shared with the base type.
  
           elsif Ekind (Def_Id) = E_Record_Subtype
             and then Has_Discriminants (Def_Id)
*************** package body Exp_Ch3 is
*** 4609,4616 ****
                 Result := True;
              end if;
  
!          --  Similar process if the controller of the subtype is not
!          --  present but the parent has it. This can happen with constrained
           --  record components where the subtype is an itype.
  
           elsif Ekind (Def_Id) = E_Record_Subtype
--- 4887,4894 ----
                 Result := True;
              end if;
  
!          --  Similar process if the controller of the subtype is not present
!          --  but the parent has it. This can happen with constrained
           --  record components where the subtype is an itype.
  
           elsif Ekind (Def_Id) = E_Record_Subtype
*************** package body Exp_Ch3 is
*** 4702,4710 ****
                    DT_Align : Node_Id;
  
                 begin
!                   --  For unconstrained composite types we give a size of
!                   --  zero so that the pool knows that it needs a special
!                   --  algorithm for variable size object allocation.
  
                    if Is_Composite_Type (Desig_Type)
                      and then not Is_Constrained (Desig_Type)
--- 4980,4988 ----
                    DT_Align : Node_Id;
  
                 begin
!                   --  For unconstrained composite types we give a size of zero
!                   --  so that the pool knows that it needs a special algorithm
!                   --  for variable size object allocation.
  
                    if Is_Composite_Type (Desig_Type)
                      and then not Is_Constrained (Desig_Type)
*************** package body Exp_Ch3 is
*** 4731,4741 ****
                      Make_Defining_Identifier (Loc,
                        Chars => New_External_Name (Chars (Def_Id), 'P'));
  
!                   --  We put the code associated with the pools in the
!                   --  entity that has the later freeze node, usually the
!                   --  acces type but it can also be the designated_type;
!                   --  because the pool code requires both those types to be
!                   --  frozen
  
                    if Is_Frozen (Desig_Type)
                      and then (not Present (Freeze_Node (Desig_Type))
--- 5009,5018 ----
                      Make_Defining_Identifier (Loc,
                        Chars => New_External_Name (Chars (Def_Id), 'P'));
  
!                   --  We put the code associated with the pools in the entity
!                   --  that has the later freeze node, usually the acces type
!                   --  but it can also be the designated_type; because the pool
!                   --  code requires both those types to be frozen
  
                    if Is_Frozen (Desig_Type)
                      and then (not Present (Freeze_Node (Desig_Type))
*************** package body Exp_Ch3 is
*** 4797,4812 ****
                 null;
              end if;
  
!             --  For access-to-controlled types (including class-wide types
!             --  and Taft-amendment types which potentially have controlled
!             --  components), expand the list controller object that will
!             --  store the dynamically allocated objects. Do not do this
              --  transformation for expander-generated access types, but do it
              --  for types that are the full view of types derived from other
              --  private types. Also suppress the list controller in the case
              --  of a designated type with convention Java, since this is used
!             --  when binding to Java API specs, where there's no equivalent
!             --  of a finalization list and we don't want to pull in the
              --  finalization support if not needed.
  
              if not Comes_From_Source (Def_Id)
--- 5074,5089 ----
                 null;
              end if;
  
!             --  For access-to-controlled types (including class-wide types and
!             --  Taft-amendment types which potentially have controlled
!             --  components), expand the list controller object that will store
!             --  the dynamically allocated objects. Do not do this
              --  transformation for expander-generated access types, but do it
              --  for types that are the full view of types derived from other
              --  private types. Also suppress the list controller in the case
              --  of a designated type with convention Java, since this is used
!             --  when binding to Java API specs, where there's no equivalent of
!             --  a finalization list and we don't want to pull in the
              --  finalization support if not needed.
  
              if not Comes_From_Source (Def_Id)
*************** package body Exp_Ch3 is
*** 4880,4888 ****
           Result := Freeze_Type (N);
           Set_Entity (N, Def_Id);
  
!       --  All other types require no expander action. There are such
!       --  cases (e.g. task types and protected types). In such cases,
!       --  the freeze nodes are there for use by Gigi.
  
        end if;
  
--- 5157,5165 ----
           Result := Freeze_Type (N);
           Set_Entity (N, Def_Id);
  
!       --  All other types require no expander action. There are such cases
!       --  (e.g. task types and protected types). In such cases, the freeze
!       --  nodes are there for use by Gigi.
  
        end if;
  
*************** package body Exp_Ch3 is
*** 4916,4925 ****
        --  These are the values computed by the procedure Check_Subtype_Bounds
  
        procedure Check_Subtype_Bounds;
!       --  This procedure examines the subtype T, and its ancestor subtypes
!       --  and derived types to determine the best known information about
!       --  the bounds of the subtype. After the call Lo_Bound is set either
!       --  to No_Uint if no information can be determined, or to a value which
        --  represents a known low bound, i.e. a valid value of the subtype can
        --  not be less than this value. Hi_Bound is similarly set to a known
        --  high bound (valid value cannot be greater than this).
--- 5193,5202 ----
        --  These are the values computed by the procedure Check_Subtype_Bounds
  
        procedure Check_Subtype_Bounds;
!       --  This procedure examines the subtype T, and its ancestor subtypes and
!       --  derived types to determine the best known information about the
!       --  bounds of the subtype. After the call Lo_Bound is set either to
!       --  No_Uint if no information can be determined, or to a value which
        --  represents a known low bound, i.e. a valid value of the subtype can
        --  not be less than this value. Hi_Bound is similarly set to a known
        --  high bound (valid value cannot be greater than this).
*************** package body Exp_Ch3 is
*** 4983,4998 ****
     begin
        --  For a private type, we should always have an underlying type
        --  (because this was already checked in Needs_Simple_Initialization).
!       --  What we do is to get the value for the underlying type and then
!       --  do an Unchecked_Convert to the private type.
  
        if Is_Private_Type (T) then
           Val := Get_Simple_Init_Val (Underlying_Type (T), Loc, Size);
  
!          --  A special case, if the underlying value is null, then qualify
!          --  it with the underlying type, so that the null is properly typed
!          --  Similarly, if it is an aggregate it must be qualified, because
!          --  an unchecked conversion does not provide a context for it.
  
           if Nkind (Val) = N_Null
             or else Nkind (Val) = N_Aggregate
--- 5260,5275 ----
     begin
        --  For a private type, we should always have an underlying type
        --  (because this was already checked in Needs_Simple_Initialization).
!       --  What we do is to get the value for the underlying type and then do
!       --  an Unchecked_Convert to the private type.
  
        if Is_Private_Type (T) then
           Val := Get_Simple_Init_Val (Underlying_Type (T), Loc, Size);
  
!          --  A special case, if the underlying value is null, then qualify it
!          --  with the underlying type, so that the null is properly typed
!          --  Similarly, if it is an aggregate it must be qualified, because an
!          --  unchecked conversion does not provide a context for it.
  
           if Nkind (Val) = N_Null
             or else Nkind (Val) = N_Aggregate
*************** package body Exp_Ch3 is
*** 5021,5029 ****
        elsif Is_Scalar_Type (T) then
           pragma Assert (Init_Or_Norm_Scalars);
  
!          --  Compute size of object. If it is given by the caller, we can
!          --  use it directly, otherwise we use Esize (T) as an estimate. As
!          --  far as we know this covers all cases correctly.
  
           if Size = No_Uint or else Size <= Uint_0 then
              Size_To_Use := UI_Max (Uint_1, Esize (T));
--- 5298,5306 ----
        elsif Is_Scalar_Type (T) then
           pragma Assert (Init_Or_Norm_Scalars);
  
!          --  Compute size of object. If it is given by the caller, we can use
!          --  it directly, otherwise we use Esize (T) as an estimate. As far as
!          --  we know this covers all cases correctly.
  
           if Size = No_Uint or else Size <= Uint_0 then
              Size_To_Use := UI_Max (Uint_1, Esize (T));
*************** package body Exp_Ch3 is
*** 5088,5096 ****
  
                 begin
                    --  Normally we like to use the most negative number. The
!                   --  one exception is when this number is in the known subtype
!                   --  range and the largest positive number is not in the known
!                   --  subtype range.
  
                    --  For this exceptional case, use largest positive value
  
--- 5365,5373 ----
  
                 begin
                    --  Normally we like to use the most negative number. The
!                   --  one exception is when this number is in the known
!                   --  subtype range and the largest positive number is not in
!                   --  the known subtype range.
  
                    --  For this exceptional case, use largest positive value
  
*************** package body Exp_Ch3 is
*** 5505,5550 ****
     begin
        Renamed_Eq := Empty;
  
!       --  Spec of _Alignment
  
        Append_To (Res, Predef_Spec_Or_Body (Loc,
          Tag_Typ => Tag_Typ,
!         Name    => Name_uAlignment,
          Profile => New_List (
            Make_Parameter_Specification (Loc,
              Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
              Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!         Ret_Type => Standard_Integer));
  
!       --  Spec of _Size
  
        Append_To (Res, Predef_Spec_Or_Body (Loc,
          Tag_Typ => Tag_Typ,
!         Name    => Name_uSize,
          Profile => New_List (
            Make_Parameter_Specification (Loc,
              Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
              Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!         Ret_Type => Standard_Long_Long_Integer));
! 
!       --  Specs for dispatching stream attributes. We skip these for limited
!       --  types, since there is no question of dispatching in the limited case.
  
!       --  We also skip these operations if dispatching is not available
!       --  or if streams are not available (since what's the point?)
  
!       if Stream_Operations_OK (Tag_Typ) then
!          Append_To (Res,
!            Predef_Stream_Attr_Spec (Loc, Tag_Typ, TSS_Stream_Read));
!          Append_To (Res,
!            Predef_Stream_Attr_Spec (Loc, Tag_Typ, TSS_Stream_Write));
!          Append_To (Res,
!            Predef_Stream_Attr_Spec (Loc, Tag_Typ, TSS_Stream_Input));
!          Append_To (Res,
!            Predef_Stream_Attr_Spec (Loc, Tag_Typ, TSS_Stream_Output));
!       end if;
  
        --  Spec of "=" if expanded if the type is not limited and if a
        --  user defined "=" was not already declared for the non-full
--- 5782,5829 ----
     begin
        Renamed_Eq := Empty;
  
!       --  Spec of _Size
  
        Append_To (Res, Predef_Spec_Or_Body (Loc,
          Tag_Typ => Tag_Typ,
!         Name    => Name_uSize,
          Profile => New_List (
            Make_Parameter_Specification (Loc,
              Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
              Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!         Ret_Type => Standard_Long_Long_Integer));
  
!       --  Spec of _Alignment
  
        Append_To (Res, Predef_Spec_Or_Body (Loc,
          Tag_Typ => Tag_Typ,
!         Name    => Name_uAlignment,
          Profile => New_List (
            Make_Parameter_Specification (Loc,
              Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
              Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!         Ret_Type => Standard_Integer));
  
!       --  Specs for dispatching stream attributes
  
!       declare
!          Stream_Op_TSS_Names :
!            constant array (Integer range <>) of TSS_Name_Type :=
!              (TSS_Stream_Read,
!               TSS_Stream_Write,
!               TSS_Stream_Input,
!               TSS_Stream_Output);
!       begin
!          for Op in Stream_Op_TSS_Names'Range loop
!             if Stream_Operation_OK (Tag_Typ, Stream_Op_TSS_Names (Op)) then
!                Append_To (Res,
!                   Predef_Stream_Attr_Spec (Loc, Tag_Typ,
!                     Stream_Op_TSS_Names (Op)));
!             end if;
!          end loop;
!       end;
  
        --  Spec of "=" if expanded if the type is not limited and if a
        --  user defined "=" was not already declared for the non-full
*************** package body Exp_Ch3 is
*** 5670,5675 ****
--- 5949,6002 ----
                 Parameter_Type      => New_Reference_To (Tag_Typ, Loc)))));
        end if;
  
+       --  Generate the declarations for the following primitive operations:
+       --    disp_asynchronous_select
+       --    disp_conditional_select
+       --    disp_get_prim_op_kind
+       --    disp_get_task_id
+       --    disp_timed_select
+       --  for limited interfaces and tagged types that implement a limited
+       --  interface.
+ 
+       if Ada_Version >= Ada_05
+         and then
+             ((Is_Interface (Tag_Typ)
+                 and then Is_Limited_Record (Tag_Typ))
+           or else
+              (not Is_Abstract (Tag_Typ)
+                 and then not Is_Controlled (Tag_Typ)
+               and then
+                 Implements_Interface
+                   (Typ          => Tag_Typ,
+                    Kind         => Any_Limited_Interface,
+                    Check_Parent => True)))
+       then
+          Append_To (Res,
+            Make_Subprogram_Declaration (Loc,
+              Specification =>
+                Make_Disp_Asynchronous_Select_Spec (Tag_Typ)));
+ 
+          Append_To (Res,
+            Make_Subprogram_Declaration (Loc,
+              Specification =>
+                Make_Disp_Conditional_Select_Spec (Tag_Typ)));
+ 
+          Append_To (Res,
+            Make_Subprogram_Declaration (Loc,
+              Specification =>
+                Make_Disp_Get_Prim_Op_Kind_Spec (Tag_Typ)));
+ 
+          Append_To (Res,
+            Make_Subprogram_Declaration (Loc,
+              Specification =>
+                Make_Disp_Get_Task_Id_Spec (Tag_Typ)));
+ 
+          Append_To (Res,
+            Make_Subprogram_Declaration (Loc,
+              Specification =>
+                Make_Disp_Timed_Select_Spec (Tag_Typ)));
+       end if;
+ 
        --  Specs for finalization actions that may be required in case a
        --  future extension contain a controlled element. We generate those
        --  only for root tagged types where they will get dummy bodies or
*************** package body Exp_Ch3 is
*** 5842,5848 ****
             Make_Function_Specification (Loc,
               Defining_Unit_Name       => Id,
               Parameter_Specifications => Profile,
!              Subtype_Mark             =>
                 New_Reference_To (Ret_Type, Loc));
        end if;
  
--- 6169,6175 ----
             Make_Function_Specification (Loc,
               Defining_Unit_Name       => Id,
               Parameter_Specifications => Profile,
!              Result_Definition        =>
                 New_Reference_To (Ret_Type, Loc));
        end if;
  
*************** package body Exp_Ch3 is
*** 5990,6022 ****
        --  non-limited types (in the limited case there is no dispatching).
        --  We also skip them if dispatching or finalization are not available.
  
!       if Stream_Operations_OK (Tag_Typ) then
!          if No (TSS (Tag_Typ, TSS_Stream_Read)) then
!             Build_Record_Read_Procedure (Loc, Tag_Typ, Decl, Ent);
              Append_To (Res, Decl);
           end if;
  
!          if No (TSS (Tag_Typ, TSS_Stream_Write)) then
!             Build_Record_Write_Procedure (Loc, Tag_Typ, Decl, Ent);
              Append_To (Res, Decl);
           end if;
  
!          --  Skip bodies of _Input and _Output for the abstract case, since
!          --  the corresponding specs are abstract (see Predef_Spec_Or_Body)
  
!          if not Is_Abstract (Tag_Typ) then
!             if No (TSS (Tag_Typ, TSS_Stream_Input)) then
!                Build_Record_Or_Elementary_Input_Function
!                  (Loc, Tag_Typ, Decl, Ent);
!                Append_To (Res, Decl);
!             end if;
  
!             if No (TSS (Tag_Typ, TSS_Stream_Output)) then
!                Build_Record_Or_Elementary_Output_Procedure
!                  (Loc, Tag_Typ, Decl, Ent);
!                Append_To (Res, Decl);
!             end if;
!          end if;
        end if;
  
        if not Is_Limited_Type (Tag_Typ) then
--- 6317,6385 ----
        --  non-limited types (in the limited case there is no dispatching).
        --  We also skip them if dispatching or finalization are not available.
  
!       if Stream_Operation_OK (Tag_Typ, TSS_Stream_Read)
!         and then No (TSS (Tag_Typ, TSS_Stream_Read))
!       then
!          Build_Record_Read_Procedure (Loc, Tag_Typ, Decl, Ent);
!          Append_To (Res, Decl);
!       end if;
! 
!       if Stream_Operation_OK (Tag_Typ, TSS_Stream_Write)
!         and then No (TSS (Tag_Typ, TSS_Stream_Write))
!       then
!          Build_Record_Write_Procedure (Loc, Tag_Typ, Decl, Ent);
!          Append_To (Res, Decl);
!       end if;
! 
!       --  Skip bodies of _Input and _Output for the abstract case, since
!       --  the corresponding specs are abstract (see Predef_Spec_Or_Body)
! 
!       if not Is_Abstract (Tag_Typ) then
!          if Stream_Operation_OK (Tag_Typ, TSS_Stream_Input)
!            and then No (TSS (Tag_Typ, TSS_Stream_Input))
!          then
!             Build_Record_Or_Elementary_Input_Function
!               (Loc, Tag_Typ, Decl, Ent);
              Append_To (Res, Decl);
           end if;
  
!          if Stream_Operation_OK (Tag_Typ, TSS_Stream_Output)
!            and then No (TSS (Tag_Typ, TSS_Stream_Output))
!          then
!             Build_Record_Or_Elementary_Output_Procedure
!               (Loc, Tag_Typ, Decl, Ent);
              Append_To (Res, Decl);
           end if;
+       end if;
  
!       --  Generate the bodies for the following primitive operations:
  
!       --    disp_asynchronous_select
!       --    disp_conditional_select
!       --    disp_get_prim_op_kind
!       --    disp_get_task_id
!       --    disp_timed_select
  
!       --  for limited interfaces and tagged types that implement a limited
!       --  interface. The interface versions will have null bodies.
! 
!       if Ada_Version >= Ada_05
!         and then
!           ((Is_Interface (Tag_Typ) and then Is_Limited_Record (Tag_Typ))
!               or else
!                 (not Is_Abstract (Tag_Typ)
!                    and then not Is_Controlled (Tag_Typ)
!                    and then
!                      Implements_Interface
!                        (Typ          => Tag_Typ,
!                         Kind         => Any_Limited_Interface,
!                         Check_Parent => True)))
!       then
!          Append_To (Res, Make_Disp_Asynchronous_Select_Body (Tag_Typ));
!          Append_To (Res, Make_Disp_Conditional_Select_Body  (Tag_Typ));
!          Append_To (Res, Make_Disp_Get_Prim_Op_Kind_Body    (Tag_Typ));
!          Append_To (Res, Make_Disp_Get_Task_Id_Body         (Tag_Typ));
!          Append_To (Res, Make_Disp_Timed_Select_Body        (Tag_Typ));
        end if;
  
        if not Is_Limited_Type (Tag_Typ) then
*************** package body Exp_Ch3 is
*** 6024,6046 ****
           --  Body for equality
  
           if Eq_Needed then
  
!             Decl := Predef_Spec_Or_Body (Loc,
!               Tag_Typ => Tag_Typ,
!               Name    => Eq_Name,
!               Profile => New_List (
!                 Make_Parameter_Specification (Loc,
!                   Defining_Identifier =>
!                     Make_Defining_Identifier (Loc, Name_X),
!                   Parameter_Type      => New_Reference_To (Tag_Typ, Loc)),
! 
!                 Make_Parameter_Specification (Loc,
!                   Defining_Identifier =>
!                     Make_Defining_Identifier (Loc, Name_Y),
!                   Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!               Ret_Type => Standard_Boolean,
!               For_Body => True);
  
              declare
                 Def          : constant Node_Id := Parent (Tag_Typ);
--- 6387,6409 ----
           --  Body for equality
  
           if Eq_Needed then
+             Decl :=
+               Predef_Spec_Or_Body (Loc,
+                 Tag_Typ => Tag_Typ,
+                 Name    => Eq_Name,
+                 Profile => New_List (
+                   Make_Parameter_Specification (Loc,
+                     Defining_Identifier =>
+                       Make_Defining_Identifier (Loc, Name_X),
+                     Parameter_Type      => New_Reference_To (Tag_Typ, Loc)),
  
!                   Make_Parameter_Specification (Loc,
!                     Defining_Identifier =>
!                       Make_Defining_Identifier (Loc, Name_Y),
!                     Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
  
!                 Ret_Type => Standard_Boolean,
!                 For_Body => True);
  
              declare
                 Def          : constant Node_Id := Parent (Tag_Typ);
*************** package body Exp_Ch3 is
*** 6090,6108 ****
  
           --  Body for dispatching assignment
  
!          Decl := Predef_Spec_Or_Body (Loc,
!            Tag_Typ => Tag_Typ,
!            Name    => Name_uAssign,
!            Profile => New_List (
!              Make_Parameter_Specification (Loc,
!                Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
!                Out_Present         => True,
!                Parameter_Type      => New_Reference_To (Tag_Typ, Loc)),
  
!              Make_Parameter_Specification (Loc,
!                Defining_Identifier => Make_Defining_Identifier (Loc, Name_Y),
!                Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
!            For_Body => True);
  
           Set_Handled_Statement_Sequence (Decl,
             Make_Handled_Sequence_Of_Statements (Loc, New_List (
--- 6453,6472 ----
  
           --  Body for dispatching assignment
  
!          Decl :=
!            Predef_Spec_Or_Body (Loc,
!              Tag_Typ => Tag_Typ,
!              Name    => Name_uAssign,
!              Profile => New_List (
!                Make_Parameter_Specification (Loc,
!                  Defining_Identifier => Make_Defining_Identifier (Loc, Name_X),
!                  Out_Present         => True,
!                  Parameter_Type      => New_Reference_To (Tag_Typ, Loc)),
  
!                Make_Parameter_Specification (Loc,
!                  Defining_Identifier => Make_Defining_Identifier (Loc, Name_Y),
!                  Parameter_Type      => New_Reference_To (Tag_Typ, Loc))),
!              For_Body => True);
  
           Set_Handled_Statement_Sequence (Decl,
             Make_Handled_Sequence_Of_Statements (Loc, New_List (
*************** package body Exp_Ch3 is
*** 6202,6218 ****
        return Res;
     end Predefined_Primitive_Freeze;
  
!    --------------------------
!    -- Stream_Operations_OK --
!    --------------------------
  
-    function Stream_Operations_OK (Typ : Entity_Id) return Boolean is
     begin
        return
!         not Is_Limited_Type (Typ)
            and then RTE_Available (RE_Tag)
            and then RTE_Available (RE_Root_Stream_Type)
            and then not Restriction_Active (No_Dispatch)
            and then not Restriction_Active (No_Streams);
!    end Stream_Operations_OK;
  end Exp_Ch3;
--- 6566,6601 ----
        return Res;
     end Predefined_Primitive_Freeze;
  
!    -------------------------
!    -- Stream_Operation_OK --
!    -------------------------
! 
!    function Stream_Operation_OK
!      (Typ       : Entity_Id;
!       Operation : TSS_Name_Type) return Boolean
!    is
!       Has_Inheritable_Stream_Attribute : Boolean := False;
  
     begin
+       if Is_Limited_Type (Typ)
+         and then Is_Tagged_Type (Typ)
+         and then Is_Derived_Type (Typ)
+       then
+          --  Special case of a limited type extension: a default implementation
+          --  of the stream attributes Read and Write exists if the attribute
+          --  has been specified for an ancestor type.
+ 
+          Has_Inheritable_Stream_Attribute :=
+            Present (Find_Inherited_TSS (Base_Type (Etype (Typ)), Operation));
+       end if;
+ 
        return
!         not (Is_Limited_Type (Typ)
!                and then not Has_Inheritable_Stream_Attribute)
!           and then not Has_Unknown_Discriminants (Typ)
            and then RTE_Available (RE_Tag)
            and then RTE_Available (RE_Root_Stream_Type)
            and then not Restriction_Active (No_Dispatch)
            and then not Restriction_Active (No_Streams);
!    end Stream_Operation_OK;
  end Exp_Ch3;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch3.ads gcc-4.1.0/gcc/ada/exp_ch3.ads
*** gcc-4.0.2/gcc/ada/exp_ch3.ads	Thu Mar 17 19:53:05 2005
--- gcc-4.1.0/gcc/ada/exp_ch3.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1992-2005 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Exp_Ch3 is
*** 40,51 ****
     procedure Expand_Previous_Access_Type (Def_Id : Entity_Id);
     --  For a full type declaration that contains tasks, or that is a task,
     --  check whether there exists an access type whose designated type is an
!    --  incomplete declarations for the current composite type. If so, build
!    --  the master for that access type, now that it is known to denote an
!    --  object with tasks.
  
     procedure Expand_Record_Extension (T : Entity_Id; Def : Node_Id);
!    --  Add a field _parent in the extension part of the record.
  
     procedure Build_Discr_Checking_Funcs (N : Node_Id);
     --  Builds function which checks whether the component name is consistent
--- 40,60 ----
     procedure Expand_Previous_Access_Type (Def_Id : Entity_Id);
     --  For a full type declaration that contains tasks, or that is a task,
     --  check whether there exists an access type whose designated type is an
!    --  incomplete declarations for the current composite type. If so, build the
!    --  master for that access type, now that it is known to denote an object
!    --  with tasks.
  
     procedure Expand_Record_Extension (T : Entity_Id; Def : Node_Id);
!    --  Add a field _parent in the extension part of the record
! 
!    procedure Build_Class_Wide_Master (T : Entity_Id);
!    --  For access to class-wide limited types we must build a task master
!    --  because some subsequent extension may add a task component. To avoid
!    --  bringing in the tasking run-time whenever an access-to-class-wide
!    --  limited type is used, we use the soft-link mechanism and add a level of
!    --  indirection to calls to routines that manipulate Master_Ids. This must
!    --  also be used for anonymous access types whose designated type is a task
!    --  or synchronized interface.
  
     procedure Build_Discr_Checking_Funcs (N : Node_Id);
     --  Builds function which checks whether the component name is consistent
*************** package Exp_Ch3 is
*** 66,75 ****
     --  constructed tree, and Typ is the type of the entity (the initialization
     --  procedure of the base type is the procedure that actually gets called).
     --  In_Init_Proc has to be set to True when the call is itself in an init
!    --  proc in order to enable the use of discriminals. Enclos_type is the
!    --  type of the init proc and it is used for various expansion cases
!    --  including the case where Typ is a task type which is a array component,
!    --  the indices of the enclosing type are used to build the string that
     --  identifies each task at runtime.
     --
     --  Discr_Map is used to replace discriminants by their discriminals in
--- 75,84 ----
     --  constructed tree, and Typ is the type of the entity (the initialization
     --  procedure of the base type is the procedure that actually gets called).
     --  In_Init_Proc has to be set to True when the call is itself in an init
!    --  proc in order to enable the use of discriminals. Enclos_type is the type
!    --  of the init proc and it is used for various expansion cases including
!    --  the case where Typ is a task type which is a array component, the
!    --  indices of the enclosing type are used to build the string that
     --  identifies each task at runtime.
     --
     --  Discr_Map is used to replace discriminants by their discriminals in
*************** package Exp_Ch3 is
*** 84,116 ****
  
     function Freeze_Type (N : Node_Id) return Boolean;
     --  This function executes the freezing actions associated with the given
!    --  freeze type node N and returns True if the node is to be deleted.
!    --  We delete the node if it is present just for front end purpose and
!    --  we don't want Gigi to see the node.  This function can't delete the
!    --  node itself since it would confuse any remaining processing of the
!    --  freeze node.
  
     function Needs_Simple_Initialization (T : Entity_Id) return Boolean;
     --  Certain types need initialization even though there is no specific
!    --  initialization routine. In this category are access types (which
!    --  need initializing to null), packed array types whose implementation
!    --  is a modular type, and all scalar types if Normalize_Scalars is set,
!    --  as well as private types whose underlying type is present and meets
!    --  any of these criteria. Finally, descendants of String and Wide_String
!    --  also need initialization in Initialize/Normalize_Scalars mode.
  
     function Get_Simple_Init_Val
       (T    : Entity_Id;
        Loc  : Source_Ptr;
        Size : Uint := No_Uint) return Node_Id;
!    --  For a type which Needs_Simple_Initialization (see above), prepares
!    --  the tree for an expression representing the required initial value.
!    --  Loc is the source location used in constructing this tree which is
!    --  returned as the result of the call. The Size parameter indicates the
!    --  target size of the object if it is known (indicated by a value that
!    --  is not No_Uint and is greater than zero). If Size is not given (Size
!    --  set to No_Uint, or non-positive), then the Esize of T is used as an
!    --  estimate of the Size. The object size is needed to prepare a known
!    --  invalid value for use by Normalize_Scalars.
  
  end Exp_Ch3;
--- 93,124 ----
  
     function Freeze_Type (N : Node_Id) return Boolean;
     --  This function executes the freezing actions associated with the given
!    --  freeze type node N and returns True if the node is to be deleted. We
!    --  delete the node if it is present just for front end purpose and we don't
!    --  want Gigi to see the node. This function can't delete the node itself
!    --  since it would confuse any remaining processing of the freeze node.
  
     function Needs_Simple_Initialization (T : Entity_Id) return Boolean;
     --  Certain types need initialization even though there is no specific
!    --  initialization routine. In this category are access types (which need
!    --  initializing to null), packed array types whose implementation is a
!    --  modular type, and all scalar types if Normalize_Scalars is set, as well
!    --  as private types whose underlying type is present and meets any of these
!    --  criteria. Finally, descendants of String and Wide_String also need
!    --  initialization in Initialize/Normalize_Scalars mode.
  
     function Get_Simple_Init_Val
       (T    : Entity_Id;
        Loc  : Source_Ptr;
        Size : Uint := No_Uint) return Node_Id;
!    --  For a type which Needs_Simple_Initialization (see above), prepares the
!    --  tree for an expression representing the required initial value. Loc is
!    --  the source location used in constructing this tree which is returned as
!    --  the result of the call. The Size parameter indicates the target size of
!    --  the object if it is known (indicated by a value that is not No_Uint and
!    --  is greater than zero). If Size is not given (Size set to No_Uint, or
!    --  non-positive), then the Esize of T is used as an estimate of the Size.
!    --  The object size is needed to prepare a known invalid value for use by
!    --  Normalize_Scalars.
  
  end Exp_Ch3;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch4.adb gcc-4.1.0/gcc/ada/exp_ch4.adb
*** gcc-4.0.2/gcc/ada/exp_ch4.adb	Thu Feb 10 13:54:15 2005
--- gcc-4.1.0/gcc/ada/exp_ch4.adb	Tue Nov 15 13:51:09 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Exp_Aggr; use Exp_Aggr;
*** 33,44 ****
  with Exp_Ch3;  use Exp_Ch3;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch9;  use Exp_Ch9;
- with Exp_Disp; use Exp_Disp;
  with Exp_Fixd; use Exp_Fixd;
  with Exp_Pakd; use Exp_Pakd;
  with Exp_Tss;  use Exp_Tss;
  with Exp_Util; use Exp_Util;
  with Exp_VFpt; use Exp_VFpt;
  with Hostparm; use Hostparm;
  with Inline;   use Inline;
  with Nlists;   use Nlists;
--- 33,44 ----
  with Exp_Ch3;  use Exp_Ch3;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch9;  use Exp_Ch9;
  with Exp_Fixd; use Exp_Fixd;
  with Exp_Pakd; use Exp_Pakd;
  with Exp_Tss;  use Exp_Tss;
  with Exp_Util; use Exp_Util;
  with Exp_VFpt; use Exp_VFpt;
+ with Freeze;   use Freeze;
  with Hostparm; use Hostparm;
  with Inline;   use Inline;
  with Nlists;   use Nlists;
*************** package body Exp_Ch4 is
*** 362,375 ****
     ---------------------------------
  
     procedure Expand_Allocator_Expression (N : Node_Id) is
!       Loc   : constant Source_Ptr := Sloc (N);
!       Exp   : constant Node_Id    := Expression (Expression (N));
!       Indic : constant Node_Id    := Subtype_Mark (Expression (N));
!       PtrT  : constant Entity_Id  := Etype (N);
!       T     : constant Entity_Id  := Entity (Indic);
!       Flist : Node_Id;
!       Node  : Node_Id;
!       Temp  : Entity_Id;
  
        Aggr_In_Place : constant Boolean := Is_Delayed_Aggregate (Exp);
  
--- 362,376 ----
     ---------------------------------
  
     procedure Expand_Allocator_Expression (N : Node_Id) is
!       Loc    : constant Source_Ptr := Sloc (N);
!       Exp    : constant Node_Id    := Expression (Expression (N));
!       Indic  : constant Node_Id    := Subtype_Mark (Expression (N));
!       PtrT   : constant Entity_Id  := Etype (N);
!       DesigT : constant Entity_Id  := Designated_Type (PtrT);
!       T      : constant Entity_Id  := Entity (Indic);
!       Flist  : Node_Id;
!       Node   : Node_Id;
!       Temp   : Entity_Id;
  
        Aggr_In_Place : constant Boolean := Is_Delayed_Aggregate (Exp);
  
*************** package body Exp_Ch4 is
*** 445,450 ****
--- 446,489 ----
                  Expression          => Node));
           end if;
  
+          --  Ada 2005 (AI-344): For an allocator with a class-wide designated
+          --  type, generate an accessibility check to verify that the level of
+          --  the type of the created object is not deeper than the level of the
+          --  access type. If the type of the qualified expression is class-
+          --  wide, then always generate the check. Otherwise, only generate the
+          --  check if the level of the qualified expression type is statically
+          --  deeper than the access type. Although the static accessibility
+          --  will generally have been performed as a legality check, it won't
+          --  have been done in cases where the allocator appears in generic
+          --  body, so a run-time check is needed in general.
+ 
+          if Ada_Version >= Ada_05
+            and then Is_Class_Wide_Type (DesigT)
+            and then not Scope_Suppress (Accessibility_Check)
+            and then
+              (Is_Class_Wide_Type (Etype (Exp))
+                 or else
+               Type_Access_Level (Etype (Exp)) > Type_Access_Level (PtrT))
+          then
+             Insert_Action (N,
+                Make_Raise_Program_Error (Loc,
+                  Condition =>
+                    Make_Op_Gt (Loc,
+                      Left_Opnd  =>
+                        Make_Function_Call (Loc,
+                          Name =>
+                            New_Reference_To (RTE (RE_Get_Access_Level), Loc),
+                          Parameter_Associations =>
+                            New_List (Make_Attribute_Reference (Loc,
+                                        Prefix         =>
+                                           New_Reference_To (Temp, Loc),
+                                        Attribute_Name =>
+                                           Name_Tag))),
+                      Right_Opnd =>
+                        Make_Integer_Literal (Loc, Type_Access_Level (PtrT))),
+                  Reason => PE_Accessibility_Check_Failed));
+          end if;
+ 
           --  Suppress the tag assignment when Java_VM because JVM tags
           --  are represented implicitly in objects.
  
*************** package body Exp_Ch4 is
*** 458,468 ****
                    Make_Selected_Component (Loc,
                      Prefix => New_Reference_To (Temp, Loc),
                      Selector_Name =>
!                       New_Reference_To (Tag_Component (T), Loc)),
  
                  Expression =>
                    Unchecked_Convert_To (RTE (RE_Tag),
!                     New_Reference_To (Access_Disp_Table (T), Loc)));
  
              --  The previous assignment has to be done in any case
  
--- 497,509 ----
                    Make_Selected_Component (Loc,
                      Prefix => New_Reference_To (Temp, Loc),
                      Selector_Name =>
!                       New_Reference_To (First_Tag_Component (T), Loc)),
  
                  Expression =>
                    Unchecked_Convert_To (RTE (RE_Tag),
!                     New_Reference_To
!                       (Elists.Node (First_Elmt (Access_Disp_Table (T))),
!                        Loc)));
  
              --  The previous assignment has to be done in any case
  
*************** package body Exp_Ch4 is
*** 487,505 ****
                       Make_Selected_Component (Loc,
                         Prefix => Ref,
                         Selector_Name =>
!                          New_Reference_To (Tag_Component (Utyp), Loc)),
  
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
                         New_Reference_To (
!                          Access_Disp_Table (Utyp), Loc)));
  
                 Set_Assignment_OK (Name (Tag_Assign));
                 Insert_Action (N, Tag_Assign);
              end;
           end if;
  
!          if Controlled_Type (Designated_Type (PtrT))
              and then Controlled_Type (T)
           then
              declare
--- 528,547 ----
                       Make_Selected_Component (Loc,
                         Prefix => Ref,
                         Selector_Name =>
!                          New_Reference_To (First_Tag_Component (Utyp), Loc)),
  
                     Expression =>
                       Unchecked_Convert_To (RTE (RE_Tag),
                         New_Reference_To (
!                          Elists.Node (First_Elmt (Access_Disp_Table (Utyp))),
!                          Loc)));
  
                 Set_Assignment_OK (Name (Tag_Assign));
                 Insert_Action (N, Tag_Assign);
              end;
           end if;
  
!          if Controlled_Type (DesigT)
              and then Controlled_Type (T)
           then
              declare
*************** package body Exp_Ch4 is
*** 589,602 ****
           Rewrite (N, New_Reference_To (Temp, Loc));
           Analyze_And_Resolve (N, PtrT);
  
!       elsif Is_Access_Type (Designated_Type (PtrT))
          and then Nkind (Exp) = N_Allocator
          and then Nkind (Expression (Exp)) /= N_Qualified_Expression
        then
           --  Apply constraint to designated subtype indication
  
           Apply_Constraint_Check (Expression (Exp),
!            Designated_Type (Designated_Type (PtrT)),
             No_Sliding => True);
  
           if Nkind (Expression (Exp)) = N_Raise_Constraint_Error then
--- 631,644 ----
           Rewrite (N, New_Reference_To (Temp, Loc));
           Analyze_And_Resolve (N, PtrT);
  
!       elsif Is_Access_Type (DesigT)
          and then Nkind (Exp) = N_Allocator
          and then Nkind (Expression (Exp)) /= N_Qualified_Expression
        then
           --  Apply constraint to designated subtype indication
  
           Apply_Constraint_Check (Expression (Exp),
!            Designated_Type (DesigT),
             No_Sliding => True);
  
           if Nkind (Expression (Exp)) = N_Raise_Constraint_Error then
*************** package body Exp_Ch4 is
*** 623,634 ****
           --  on the qualified expression does not allow sliding,
           --  but this check does (a relaxation from Ada 83).
  
!          if Is_Constrained (Designated_Type (PtrT))
             and then not Subtypes_Statically_Match
!                           (T, Designated_Type (PtrT))
           then
              Apply_Constraint_Check
!               (Exp, Designated_Type (PtrT), No_Sliding => False);
  
           --  The nonsliding check should really be performed
           --  (unconditionally) against the subtype of the
--- 665,676 ----
           --  on the qualified expression does not allow sliding,
           --  but this check does (a relaxation from Ada 83).
  
!          if Is_Constrained (DesigT)
             and then not Subtypes_Statically_Match
!                           (T, DesigT)
           then
              Apply_Constraint_Check
!               (Exp, DesigT, No_Sliding => False);
  
           --  The nonsliding check should really be performed
           --  (unconditionally) against the subtype of the
*************** package body Exp_Ch4 is
*** 637,644 ****
  
           else
              Apply_Constraint_Check
!               (Exp, Designated_Type (PtrT), No_Sliding => True);
           end if;
        end if;
  
     exception
--- 679,711 ----
  
           else
              Apply_Constraint_Check
!               (Exp, DesigT, No_Sliding => True);
!          end if;
! 
!          --  For an access to unconstrained packed array, GIGI needs
!          --  to see an expression with a constrained subtype in order
!          --  to compute the proper size for the allocator.
! 
!          if Is_Array_Type (T)
!            and then not Is_Constrained (T)
!            and then Is_Packed (T)
!          then
!             declare
!                ConstrT      : constant Entity_Id :=
!                                 Make_Defining_Identifier (Loc,
!                                   Chars => New_Internal_Name ('A'));
!                Internal_Exp : constant Node_Id   := Relocate_Node (Exp);
!             begin
!                Insert_Action (Exp,
!                  Make_Subtype_Declaration (Loc,
!                    Defining_Identifier => ConstrT,
!                    Subtype_Indication  =>
!                      Make_Subtype_From_Expr (Exp, T)));
!                Freeze_Itype (ConstrT, Exp);
!                Rewrite (Exp, OK_Convert_To (ConstrT, Internal_Exp));
!             end;
           end if;
+ 
        end if;
  
     exception
*************** package body Exp_Ch4 is
*** 1063,1072 ****
           Test := Expand_Composite_Equality
                     (Nod, Component_Type (Typ), L, R, Decls);
  
!          --  If some (sub)component is an unchecked_union, the whole
!          --  operation will raise program error.
  
           if Nkind (Test) = N_Raise_Program_Error then
              return Test;
  
           else
--- 1130,1145 ----
           Test := Expand_Composite_Equality
                     (Nod, Component_Type (Typ), L, R, Decls);
  
!          --  If some (sub)component is an unchecked_union, the whole operation
!          --  will raise program error.
  
           if Nkind (Test) = N_Raise_Program_Error then
+ 
+             --  This node is going to be inserted at a location where a
+             --  statement is expected: clear its Etype so analysis will
+             --  set it to the expected Standard_Void_Type.
+ 
+             Set_Etype (Test, Empty);
              return Test;
  
           else
*************** package body Exp_Ch4 is
*** 1160,1165 ****
--- 1233,1239 ----
             Handle_One_Dimension (N + 1, Next_Index (Index)));
  
           if Need_Separate_Indexes then
+ 
              --  Generate guard for loop, followed by increments of indices
  
              Append_To (Stm_List,
*************** package body Exp_Ch4 is
*** 1188,1195 ****
                      Expressions    => New_List (New_Reference_To (Bn, Loc)))));
           end if;
  
!          --  If separate indexes, we need a declare block for An and Bn,
!          --  and a loop without an iteration scheme.
  
           if Need_Separate_Indexes then
              Loop_Stm :=
--- 1262,1269 ----
                      Expressions    => New_List (New_Reference_To (Bn, Loc)))));
           end if;
  
!          --  If separate indexes, we need a declare block for An and Bn, and a
!          --  loop without an iteration scheme.
  
           if Need_Separate_Indexes then
              Loop_Stm :=
*************** package body Exp_Ch4 is
*** 1344,1350 ****
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Subtype_Mark => New_Reference_To (Standard_Boolean, Loc)),
  
            Declarations =>  Decls,
  
--- 1418,1424 ----
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Result_Definition => New_Reference_To (Standard_Boolean, Loc)),
  
            Declarations =>  Decls,
  
*************** package body Exp_Ch4 is
*** 1419,1479 ****
        Typ : constant Entity_Id  := Etype (N);
  
     begin
!       if Is_Bit_Packed_Array (Typ) then
           Expand_Packed_Boolean_Operator (N);
  
!       else
!          --  For the normal non-packed case, the general expansion is
!          --  to build a function for carrying out the comparison (using
!          --  Make_Boolean_Array_Op) and then inserting it into the tree.
!          --  The original operator node is then rewritten as a call to
!          --  this function.
  
!          declare
!             Loc       : constant Source_Ptr := Sloc (N);
!             L         : constant Node_Id    := Relocate_Node (Left_Opnd  (N));
!             R         : constant Node_Id    := Relocate_Node (Right_Opnd (N));
!             Func_Body : Node_Id;
!             Func_Name : Entity_Id;
  
!          begin
!             Convert_To_Actual_Subtype (L);
!             Convert_To_Actual_Subtype (R);
!             Ensure_Defined (Etype (L), N);
!             Ensure_Defined (Etype (R), N);
!             Apply_Length_Check (R, Etype (L));
  
!             if Nkind (Parent (N)) = N_Assignment_Statement
!                and then Safe_In_Place_Array_Op (Name (Parent (N)), L, R)
!             then
!                Build_Boolean_Array_Proc_Call (Parent (N), L, R);
  
!             elsif Nkind (Parent (N)) = N_Op_Not
!                and then Nkind (N) = N_Op_And
!                and then
!                  Safe_In_Place_Array_Op (Name (Parent (Parent (N))), L, R)
!             then
!                return;
!             else
  
!                Func_Body := Make_Boolean_Array_Op (Etype (L), N);
!                Func_Name := Defining_Unit_Name (Specification (Func_Body));
!                Insert_Action (N, Func_Body);
  
!                --  Now rewrite the expression with a call
  
!                Rewrite (N,
!                  Make_Function_Call (Loc,
!                    Name => New_Reference_To (Func_Name, Loc),
!                    Parameter_Associations =>
!                      New_List
!                        (L, Make_Type_Conversion
!                           (Loc, New_Reference_To (Etype (L), Loc), R))));
  
!                Analyze_And_Resolve (N, Typ);
!             end if;
!          end;
!       end if;
     end Expand_Boolean_Operator;
  
     -------------------------------
--- 1493,1561 ----
        Typ : constant Entity_Id  := Etype (N);
  
     begin
!       --  Special case of bit packed array where both operands are known
!       --  to be properly aligned. In this case we use an efficient run time
!       --  routine to carry out the operation (see System.Bit_Ops).
! 
!       if Is_Bit_Packed_Array (Typ)
!         and then not Is_Possibly_Unaligned_Object (Left_Opnd (N))
!         and then not Is_Possibly_Unaligned_Object (Right_Opnd (N))
!       then
           Expand_Packed_Boolean_Operator (N);
+          return;
+       end if;
  
!       --  For the normal non-packed case, the general expansion is to build
!       --  function for carrying out the comparison (use Make_Boolean_Array_Op)
!       --  and then inserting it into the tree. The original operator node is
!       --  then rewritten as a call to this function. We also use this in the
!       --  packed case if either operand is a possibly unaligned object.
  
!       declare
!          Loc       : constant Source_Ptr := Sloc (N);
!          L         : constant Node_Id    := Relocate_Node (Left_Opnd  (N));
!          R         : constant Node_Id    := Relocate_Node (Right_Opnd (N));
!          Func_Body : Node_Id;
!          Func_Name : Entity_Id;
  
!       begin
!          Convert_To_Actual_Subtype (L);
!          Convert_To_Actual_Subtype (R);
!          Ensure_Defined (Etype (L), N);
!          Ensure_Defined (Etype (R), N);
!          Apply_Length_Check (R, Etype (L));
  
!          if Nkind (Parent (N)) = N_Assignment_Statement
!            and then Safe_In_Place_Array_Op (Name (Parent (N)), L, R)
!          then
!             Build_Boolean_Array_Proc_Call (Parent (N), L, R);
  
!          elsif Nkind (Parent (N)) = N_Op_Not
!            and then Nkind (N) = N_Op_And
!            and then
!          Safe_In_Place_Array_Op (Name (Parent (Parent (N))), L, R)
!          then
!             return;
!          else
  
!             Func_Body := Make_Boolean_Array_Op (Etype (L), N);
!             Func_Name := Defining_Unit_Name (Specification (Func_Body));
!             Insert_Action (N, Func_Body);
  
!             --  Now rewrite the expression with a call
  
!             Rewrite (N,
!               Make_Function_Call (Loc,
!                 Name                   => New_Reference_To (Func_Name, Loc),
!                 Parameter_Associations =>
!                   New_List (
!                     L,
!                     Make_Type_Conversion
!                       (Loc, New_Reference_To (Etype (L), Loc), R))));
  
!             Analyze_And_Resolve (N, Typ);
!          end if;
!       end;
     end Expand_Boolean_Operator;
  
     -------------------------------
*************** package body Exp_Ch4 is
*** 1781,1787 ****
     --            end loop;
     --         end if;
  
!    --         . . .
  
     --         if Sn'Length /= 0 then
     --            P := Sn'First;
--- 1863,1869 ----
     --            end loop;
     --         end if;
  
!    --         ...
  
     --         if Sn'Length /= 0 then
     --            P := Sn'First;
*************** package body Exp_Ch4 is
*** 2163,2169 ****
          Make_Function_Specification (Loc,
            Defining_Unit_Name       => Func_Id,
            Parameter_Specifications => Param_Specs,
!           Subtype_Mark             => New_Reference_To (Base_Typ, Loc));
  
        --  Construct L's object declaration
  
--- 2245,2251 ----
          Make_Function_Specification (Loc,
            Defining_Unit_Name       => Func_Id,
            Parameter_Specifications => Param_Specs,
!           Result_Definition        => New_Reference_To (Base_Typ, Loc));
  
        --  Construct L's object declaration
  
*************** package body Exp_Ch4 is
*** 2982,3003 ****
        Rop    : constant Node_Id    := Right_Opnd (N);
        Static : constant Boolean    := Is_OK_Static_Expression (N);
  
     begin
!       --  If we have an explicit range, do a bit of optimization based
!       --  on range analysis (we may be able to kill one or both checks).
  
        if Nkind (Rop) = N_Range then
           declare
!             Lcheck : constant Compare_Result :=
!                        Compile_Time_Compare (Lop, Low_Bound (Rop));
!             Ucheck : constant Compare_Result :=
!                        Compile_Time_Compare (Lop, High_Bound (Rop));
  
           begin
!             --  If either check is known to fail, replace result
!             --  by False, since the other check does not matter.
!             --  Preserve the static flag for legality checks, because
!             --  we are constant-folding beyond RM 4.9.
  
              if Lcheck = LT or else Ucheck = GT then
                 Rewrite (N,
--- 3064,3144 ----
        Rop    : constant Node_Id    := Right_Opnd (N);
        Static : constant Boolean    := Is_OK_Static_Expression (N);
  
+       procedure Substitute_Valid_Check;
+       --  Replaces node N by Lop'Valid. This is done when we have an explicit
+       --  test for the left operand being in range of its subtype.
+ 
+       ----------------------------
+       -- Substitute_Valid_Check --
+       ----------------------------
+ 
+       procedure Substitute_Valid_Check is
+       begin
+          Rewrite (N,
+            Make_Attribute_Reference (Loc,
+              Prefix         => Relocate_Node (Lop),
+              Attribute_Name => Name_Valid));
+ 
+          Analyze_And_Resolve (N, Rtyp);
+ 
+          Error_Msg_N ("?explicit membership test may be optimized away", N);
+          Error_Msg_N ("\?use ''Valid attribute instead", N);
+          return;
+       end Substitute_Valid_Check;
+ 
+    --  Start of processing for Expand_N_In
+ 
     begin
!       --  Check case of explicit test for an expression in range of its
!       --  subtype. This is suspicious usage and we replace it with a 'Valid
!       --  test and give a warning.
! 
!       if Is_Scalar_Type (Etype (Lop))
!         and then Nkind (Rop) in N_Has_Entity
!         and then Etype (Lop) = Entity (Rop)
!         and then Comes_From_Source (N)
!       then
!          Substitute_Valid_Check;
!          return;
!       end if;
! 
!       --  Case of explicit range
  
        if Nkind (Rop) = N_Range then
           declare
!             Lo : constant Node_Id := Low_Bound (Rop);
!             Hi : constant Node_Id := High_Bound (Rop);
! 
!             Lo_Orig : constant Node_Id := Original_Node (Lo);
!             Hi_Orig : constant Node_Id := Original_Node (Hi);
! 
!             Lcheck : constant Compare_Result := Compile_Time_Compare (Lop, Lo);
!             Ucheck : constant Compare_Result := Compile_Time_Compare (Lop, Hi);
  
           begin
!             --  If test is explicit x'first .. x'last, replace by valid check
! 
!             if Is_Scalar_Type (Etype (Lop))
!               and then Nkind (Lo_Orig) = N_Attribute_Reference
!               and then Attribute_Name (Lo_Orig) = Name_First
!               and then Nkind (Prefix (Lo_Orig)) in N_Has_Entity
!               and then Entity (Prefix (Lo_Orig)) = Etype (Lop)
!               and then Nkind (Hi_Orig) = N_Attribute_Reference
!               and then Attribute_Name (Hi_Orig) = Name_Last
!               and then Nkind (Prefix (Hi_Orig)) in N_Has_Entity
!               and then Entity (Prefix (Hi_Orig)) = Etype (Lop)
!               and then Comes_From_Source (N)
!             then
!                Substitute_Valid_Check;
!                return;
!             end if;
! 
!             --  If we have an explicit range, do a bit of optimization based
!             --  on range analysis (we may be able to kill one or both checks).
! 
!             --  If either check is known to fail, replace result by False since
!             --  the other check does not matter. Preserve the static flag for
!             --  legality checks, because we are constant-folding beyond RM 4.9.
  
              if Lcheck = LT or else Ucheck = GT then
                 Rewrite (N,
*************** package body Exp_Ch4 is
*** 3400,3407 ****
     --  can be done. This avoids needing to duplicate this expansion code.
  
     procedure Expand_N_Not_In (N : Node_Id) is
!       Loc  : constant Source_Ptr := Sloc (N);
!       Typ  : constant Entity_Id  := Etype (N);
  
     begin
        Rewrite (N,
--- 3541,3549 ----
     --  can be done. This avoids needing to duplicate this expansion code.
  
     procedure Expand_N_Not_In (N : Node_Id) is
!       Loc : constant Source_Ptr := Sloc (N);
!       Typ : constant Entity_Id  := Etype (N);
!       Cfs : constant Boolean    := Comes_From_Source (N);
  
     begin
        Rewrite (N,
*************** package body Exp_Ch4 is
*** 3409,3415 ****
            Right_Opnd =>
              Make_In (Loc,
                Left_Opnd  => Left_Opnd (N),
!               Right_Opnd => Right_Opnd (N))));
        Analyze_And_Resolve (N, Typ);
     end Expand_N_Not_In;
  
--- 3551,3566 ----
            Right_Opnd =>
              Make_In (Loc,
                Left_Opnd  => Left_Opnd (N),
!                      Right_Opnd => Right_Opnd (N))));
! 
!       --  We want this tp appear as coming from source if original does (see
!       --  tranformations in Expand_N_In).
! 
!       Set_Comes_From_Source (N, Cfs);
!       Set_Comes_From_Source (Right_Opnd (N), Cfs);
! 
!       --  Now analyze tranformed node
! 
        Analyze_And_Resolve (N, Typ);
     end Expand_N_Not_In;
  
*************** package body Exp_Ch4 is
*** 3730,3742 ****
     begin
        Binary_Op_Validity_Checks (N);
  
-       --  Vax_Float is a special case
- 
-       if Vax_Float (Typ) then
-          Expand_Vax_Arith (N);
-          return;
-       end if;
- 
        --  N / 1 = N for integer types
  
        if Is_Integer_Type (Typ)
--- 3881,3886 ----
*************** package body Exp_Ch4 is
*** 3827,3833 ****
  
           Analyze_And_Resolve (Left_Opnd (N), Universal_Real);
  
!       --  Non-fixed point cases, do zero divide and overflow checks
  
        elsif Is_Integer_Type (Typ) then
           Apply_Divide_Check (N);
--- 3971,3977 ----
  
           Analyze_And_Resolve (Left_Opnd (N), Universal_Real);
  
!       --  Non-fixed point cases, do integer zero divide and overflow checks
  
        elsif Is_Integer_Type (Typ) then
           Apply_Divide_Check (N);
*************** package body Exp_Ch4 is
*** 3839,3844 ****
--- 3983,3994 ----
           then
              Error_Msg_CRT ("64-bit division", N);
           end if;
+ 
+       --  Deal with Vax_Float
+ 
+       elsif Vax_Float (Typ) then
+          Expand_Vax_Arith (N);
+          return;
        end if;
     end Expand_N_Op_Divide;
  
*************** package body Exp_Ch4 is
*** 3899,3905 ****
              begin
                 --  Per-object constrained selected components require special
                 --  attention. If the enclosing scope of the component is an
!                --  Unchecked_Union, we can not reference its discriminants
                 --  directly. This is why we use the two extra parameters of
                 --  the equality function of the enclosing Unchecked_Union.
  
--- 4049,4055 ----
              begin
                 --  Per-object constrained selected components require special
                 --  attention. If the enclosing scope of the component is an
!                --  Unchecked_Union, we cannot reference its discriminants
                 --  directly. This is why we use the two extra parameters of
                 --  the equality function of the enclosing Unchecked_Union.
  
*************** package body Exp_Ch4 is
*** 3943,3949 ****
                 --     Obj1 : Enclosing_Non_UU_Type;
                 --     Obj2 : Enclosing_Non_UU_Type (1);
  
!                --     . . . Obj1 = Obj2 . . .
  
                 --     Generated code:
  
--- 4093,4099 ----
                 --     Obj1 : Enclosing_Non_UU_Type;
                 --     Obj2 : Enclosing_Non_UU_Type (1);
  
!                --     ...  Obj1 = Obj2 ...
  
                 --     Generated code:
  
*************** package body Exp_Ch4 is
*** 4059,4065 ****
          (Typ : Node_Id) return Boolean
        is
           Tdef  : constant Node_Id :=
!                    Type_Definition (Declaration_Node (Typ));
           Clist : Node_Id;
           Vpart : Node_Id;
  
--- 4209,4215 ----
          (Typ : Node_Id) return Boolean
        is
           Tdef  : constant Node_Id :=
!                    Type_Definition (Declaration_Node (Base_Type (Typ)));
           Clist : Node_Id;
           Vpart : Node_Id;
  
*************** package body Exp_Ch4 is
*** 4115,4128 ****
                 return False;
              end if;
  
              declare
                 Comp : Node_Id := First (Component_Items (Clist));
  
              begin
                 while Present (Comp) loop
- 
-                   --  One component is sufficent
- 
                    if Component_Is_Unconstrained_UU (Comp) then
                       return True;
                    end if;
--- 4265,4277 ----
                 return False;
              end if;
  
+             --  We only need to test one component
+ 
              declare
                 Comp : Node_Id := First (Component_Items (Clist));
  
              begin
                 while Present (Comp) loop
                    if Component_Is_Unconstrained_UU (Comp) then
                       return True;
                    end if;
*************** package body Exp_Ch4 is
*** 4200,4208 ****
  
        if Ekind (Typl) = E_Private_Type then
           Typl := Underlying_Type (Typl);
- 
        elsif Ekind (Typl) = E_Private_Subtype then
           Typl := Underlying_Type (Base_Type (Typl));
        end if;
  
        --  It may happen in error situations that the underlying type is not
--- 4349,4358 ----
  
        if Ekind (Typl) = E_Private_Type then
           Typl := Underlying_Type (Typl);
        elsif Ekind (Typl) = E_Private_Subtype then
           Typl := Underlying_Type (Base_Type (Typl));
+       else
+          null;
        end if;
  
        --  It may happen in error situations that the underlying type is not
*************** package body Exp_Ch4 is
*** 4215,4229 ****
  
        Typl := Base_Type (Typl);
  
-       --  Vax float types
- 
-       if Vax_Float (Typl) then
-          Expand_Vax_Comparison (N);
-          return;
- 
        --  Boolean types (requiring handling of non-standard case)
  
!       elsif Is_Boolean_Type (Typl) then
           Adjust_Condition (Left_Opnd (N));
           Adjust_Condition (Right_Opnd (N));
           Set_Etype (N, Standard_Boolean);
--- 4365,4373 ----
  
        Typl := Base_Type (Typl);
  
        --  Boolean types (requiring handling of non-standard case)
  
!       if Is_Boolean_Type (Typl) then
           Adjust_Condition (Left_Opnd (N));
           Adjust_Condition (Right_Opnd (N));
           Set_Etype (N, Standard_Boolean);
*************** package body Exp_Ch4 is
*** 4254,4273 ****
                 Force_Validity_Checks := Save_Force_Validity_Checks;
              end;
  
!          --  Packed case
  
!          elsif Is_Bit_Packed_Array (Typl) then
              Expand_Packed_Eq (N);
  
           --  Where the component type is elementary we can use a block bit
           --  comparison (if supported on the target) exception in the case
           --  of floating-point (negative zero issues require element by
           --  element comparison), and atomic types (where we must be sure
!          --  to load elements independently).
  
           elsif Is_Elementary_Type (Component_Type (Typl))
             and then not Is_Floating_Point_Type (Component_Type (Typl))
             and then not Is_Atomic (Component_Type (Typl))
             and then Support_Composite_Compare_On_Target
           then
              null;
--- 4398,4422 ----
                 Force_Validity_Checks := Save_Force_Validity_Checks;
              end;
  
!          --  Packed case where both operands are known aligned
  
!          elsif Is_Bit_Packed_Array (Typl)
!            and then not Is_Possibly_Unaligned_Object (Lhs)
!            and then not Is_Possibly_Unaligned_Object (Rhs)
!          then
              Expand_Packed_Eq (N);
  
           --  Where the component type is elementary we can use a block bit
           --  comparison (if supported on the target) exception in the case
           --  of floating-point (negative zero issues require element by
           --  element comparison), and atomic types (where we must be sure
!          --  to load elements independently) and possibly unaligned arrays.
  
           elsif Is_Elementary_Type (Component_Type (Typl))
             and then not Is_Floating_Point_Type (Component_Type (Typl))
             and then not Is_Atomic (Component_Type (Typl))
+            and then not Is_Possibly_Unaligned_Object (Lhs)
+            and then not Is_Possibly_Unaligned_Object (Rhs)
             and then Support_Composite_Compare_On_Target
           then
              null;
*************** package body Exp_Ch4 is
*** 4422,4432 ****
        end if;
  
        --  If we still have an equality comparison (i.e. it was not rewritten
!       --  in some way), then we can test if result is needed at compile time).
  
        if Nkind (N) = N_Op_Eq then
           Rewrite_Comparison (N);
        end if;
     end Expand_N_Op_Eq;
  
     -----------------------
--- 4571,4588 ----
        end if;
  
        --  If we still have an equality comparison (i.e. it was not rewritten
!       --  in some way), then we can test if result is known at compile time).
  
        if Nkind (N) = N_Op_Eq then
           Rewrite_Comparison (N);
        end if;
+ 
+       --  If we still have comparison for Vax_Float, process it
+ 
+       if Vax_Float (Typl) and then Nkind (N) in N_Op_Compare  then
+          Expand_Vax_Comparison (N);
+          return;
+       end if;
     end Expand_N_Op_Eq;
  
     -----------------------
*************** package body Exp_Ch4 is
*** 4741,4751 ****
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Vax_Float (Typ1) then
!          Expand_Vax_Comparison (N);
!          return;
! 
!       elsif Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
--- 4897,4903 ----
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
*************** package body Exp_Ch4 is
*** 4758,4763 ****
--- 4910,4922 ----
        end if;
  
        Rewrite_Comparison (N);
+ 
+       --  If we still have comparison, and Vax_Float type, process it
+ 
+       if Vax_Float (Typ1) and then Nkind (N) in N_Op_Compare then
+          Expand_Vax_Comparison (N);
+          return;
+       end if;
     end Expand_N_Op_Ge;
  
     --------------------
*************** package body Exp_Ch4 is
*** 4773,4783 ****
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Vax_Float (Typ1) then
!          Expand_Vax_Comparison (N);
!          return;
! 
!       elsif Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
--- 4932,4938 ----
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
*************** package body Exp_Ch4 is
*** 4790,4795 ****
--- 4945,4957 ----
        end if;
  
        Rewrite_Comparison (N);
+ 
+       --  If we still have comparison, and Vax_Float type, process it
+ 
+       if Vax_Float (Typ1) and then Nkind (N) in N_Op_Compare then
+          Expand_Vax_Comparison (N);
+          return;
+       end if;
     end Expand_N_Op_Gt;
  
     --------------------
*************** package body Exp_Ch4 is
*** 4805,4815 ****
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Vax_Float (Typ1) then
!          Expand_Vax_Comparison (N);
!          return;
! 
!       elsif Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
--- 4967,4973 ----
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
*************** package body Exp_Ch4 is
*** 4822,4827 ****
--- 4980,4992 ----
        end if;
  
        Rewrite_Comparison (N);
+ 
+       --  If we still have comparison, and Vax_Float type, process it
+ 
+       if Vax_Float (Typ1) and then Nkind (N) in N_Op_Compare then
+          Expand_Vax_Comparison (N);
+          return;
+       end if;
     end Expand_N_Op_Le;
  
     --------------------
*************** package body Exp_Ch4 is
*** 4837,4847 ****
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Vax_Float (Typ1) then
!          Expand_Vax_Comparison (N);
!          return;
! 
!       elsif Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
--- 5002,5008 ----
     begin
        Binary_Op_Validity_Checks (N);
  
!       if Is_Array_Type (Typ1) then
           Expand_Array_Comparison (N);
           return;
        end if;
*************** package body Exp_Ch4 is
*** 4854,4859 ****
--- 5015,5027 ----
        end if;
  
        Rewrite_Comparison (N);
+ 
+       --  If we still have comparison, and Vax_Float type, process it
+ 
+       if Vax_Float (Typ1) and then Nkind (N) in N_Op_Compare then
+          Expand_Vax_Comparison (N);
+          return;
+       end if;
     end Expand_N_Op_Lt;
  
     -----------------------
*************** package body Exp_Ch4 is
*** 5058,5070 ****
           end if;
        end if;
  
-       --  Deal with VAX float case
- 
-       if Vax_Float (Typ) then
-          Expand_Vax_Arith (N);
-          return;
-       end if;
- 
        --  Convert x * 2 ** y to Shift_Left (x, y). Note that the fact that
        --  Is_Power_Of_2_For_Shift is set means that we know that our left
        --  operand is an integer, as required for this to work.
--- 5226,5231 ----
*************** package body Exp_Ch4 is
*** 5175,5180 ****
--- 5336,5347 ----
  
        elsif Is_Signed_Integer_Type (Etype (N)) then
           Apply_Arithmetic_Overflow_Check (N);
+ 
+       --  Deal with VAX float case
+ 
+       elsif Vax_Float (Typ) then
+          Expand_Vax_Arith (N);
+          return;
        end if;
     end Expand_N_Op_Multiply;
  
*************** package body Exp_Ch4 is
*** 5182,5220 ****
     -- Expand_N_Op_Ne --
     --------------------
  
-    --  Rewrite node as the negation of an equality operation, and reanalyze.
-    --  The equality to be used is defined in the same scope and has the same
-    --  signature. It must be set explicitly because in an instance it may not
-    --  have the same visibility as in the generic unit.
- 
     procedure Expand_N_Op_Ne (N : Node_Id) is
!       Loc : constant Source_Ptr := Sloc (N);
!       Neg : Node_Id;
!       Ne  : constant Entity_Id := Entity (N);
  
     begin
!       Binary_Op_Validity_Checks (N);
  
!       Neg :=
!         Make_Op_Not (Loc,
!           Right_Opnd =>
!             Make_Op_Eq (Loc,
!               Left_Opnd =>  Left_Opnd (N),
!               Right_Opnd => Right_Opnd (N)));
!       Set_Paren_Count (Right_Opnd (Neg), 1);
  
!       if Scope (Ne) /= Standard_Standard then
!          Set_Entity (Right_Opnd (Neg), Corresponding_Equality (Ne));
!       end if;
  
!       --  For navigation purposes, the inequality is treated as an implicit
!       --  reference to the corresponding equality. Preserve the Comes_From_
!       --  source flag so that the proper Xref entry is generated.
  
!       Preserve_Comes_From_Source (Neg, N);
!       Preserve_Comes_From_Source (Right_Opnd (Neg), N);
!       Rewrite (N, Neg);
!       Analyze_And_Resolve (N, Standard_Boolean);
     end Expand_N_Op_Ne;
  
     ---------------------
--- 5349,5422 ----
     -- Expand_N_Op_Ne --
     --------------------
  
     procedure Expand_N_Op_Ne (N : Node_Id) is
!       Typ : constant Entity_Id := Etype (Left_Opnd (N));
  
     begin
!       --  Case of elementary type with standard operator
  
!       if Is_Elementary_Type (Typ)
!         and then Sloc (Entity (N)) = Standard_Location
!       then
!          Binary_Op_Validity_Checks (N);
  
!          --  Boolean types (requiring handling of non-standard case)
  
!          if Is_Boolean_Type (Typ) then
!             Adjust_Condition (Left_Opnd (N));
!             Adjust_Condition (Right_Opnd (N));
!             Set_Etype (N, Standard_Boolean);
!             Adjust_Result_Type (N, Typ);
!          end if;
  
!          Rewrite_Comparison (N);
! 
!          --  If we still have comparison for Vax_Float, process it
! 
!          if Vax_Float (Typ) and then Nkind (N) in N_Op_Compare  then
!             Expand_Vax_Comparison (N);
!             return;
!          end if;
! 
!       --  For all cases other than elementary types, we rewrite node as the
!       --  negation of an equality operation, and reanalyze. The equality to be
!       --  used is defined in the same scope and has the same signature. This
!       --  signature must be set explicitly since in an instance it may not have
!       --  the same visibility as in the generic unit. This avoids duplicating
!       --  or factoring the complex code for record/array equality tests etc.
! 
!       else
!          declare
!             Loc : constant Source_Ptr := Sloc (N);
!             Neg : Node_Id;
!             Ne  : constant Entity_Id := Entity (N);
! 
!          begin
!             Binary_Op_Validity_Checks (N);
! 
!             Neg :=
!               Make_Op_Not (Loc,
!                 Right_Opnd =>
!                   Make_Op_Eq (Loc,
!                     Left_Opnd =>  Left_Opnd (N),
!                     Right_Opnd => Right_Opnd (N)));
!             Set_Paren_Count (Right_Opnd (Neg), 1);
! 
!             if Scope (Ne) /= Standard_Standard then
!                Set_Entity (Right_Opnd (Neg), Corresponding_Equality (Ne));
!             end if;
! 
!             --  For navigation purposes, the inequality is treated as an
!             --  implicit reference to the corresponding equality. Preserve the
!             --  Comes_From_ source flag so that the proper Xref entry is
!             --  generated.
! 
!             Preserve_Comes_From_Source (Neg, N);
!             Preserve_Comes_From_Source (Right_Opnd (Neg), N);
!             Rewrite (N, Neg);
!             Analyze_And_Resolve (N, Standard_Boolean);
!          end;
!       end if;
     end Expand_N_Op_Ne;
  
     ---------------------
*************** package body Exp_Ch4 is
*** 5278,5286 ****
           return;
        end if;
  
!       --  Case of array operand. If bit packed, handle it in Exp_Pakd
  
!       if Is_Bit_Packed_Array (Typ) and then Component_Size (Typ) = 1 then
           Expand_Packed_Not (N);
           return;
        end if;
--- 5480,5492 ----
           return;
        end if;
  
!       --  Case of array operand. If bit packed with a component size of 1,
!       --  handle it in Exp_Pakd if the operand is known to be aligned.
  
!       if Is_Bit_Packed_Array (Typ)
!         and then Component_Size (Typ) = 1
!         and then not Is_Possibly_Unaligned_Object (Right_Opnd (N))
!       then
           Expand_Packed_Not (N);
           return;
        end if;
*************** package body Exp_Ch4 is
*** 5385,5391 ****
                  Make_Parameter_Specification (Loc,
                    Defining_Identifier => A,
                    Parameter_Type      => New_Reference_To (Typ, Loc))),
!               Subtype_Mark => New_Reference_To (Typ, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
--- 5591,5597 ----
                  Make_Parameter_Specification (Loc,
                    Defining_Identifier => A,
                    Parameter_Type      => New_Reference_To (Typ, Loc))),
!               Result_Definition => New_Reference_To (Typ, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
*************** package body Exp_Ch4 is
*** 6347,6354 ****
           --  then we do not trust it to be in range (might be infinite)
  
           declare
!             S_Lo : constant Node_Id   := Type_Low_Bound (Xtyp);
!             S_Hi : constant Node_Id   := Type_High_Bound (Xtyp);
  
           begin
              if (not Is_Floating_Point_Type (Xtyp)
--- 6553,6560 ----
           --  then we do not trust it to be in range (might be infinite)
  
           declare
!             S_Lo : constant Node_Id := Type_Low_Bound (Xtyp);
!             S_Hi : constant Node_Id := Type_High_Bound (Xtyp);
  
           begin
              if (not Is_Floating_Point_Type (Xtyp)
*************** package body Exp_Ch4 is
*** 6400,6408 ****
             (Subtype_Mark (Conv), New_Occurrence_Of (Btyp, Loc));
           Set_Etype (Conv, Btyp);
  
!          --  Enable overflow except in the case of integer to float
!          --  conversions, where it is never required, since we can
!          --  never have overflow in this case.
  
           if not Is_Integer_Type (Etype (Operand)) then
              Enable_Overflow_Check (Conv);
--- 6606,6614 ----
             (Subtype_Mark (Conv), New_Occurrence_Of (Btyp, Loc));
           Set_Etype (Conv, Btyp);
  
!          --  Enable overflow except for case of integer to float conversions,
!          --  where it is never required, since we can never have overflow in
!          --  this case.
  
           if not Is_Integer_Type (Etype (Operand)) then
              Enable_Overflow_Check (Conv);
*************** package body Exp_Ch4 is
*** 6455,6467 ****
           return;
        end if;
  
-       --  Deal with Vax floating-point cases
- 
-       if Vax_Float (Operand_Type) or else Vax_Float (Target_Type) then
-          Expand_Vax_Conversion (N);
-          return;
-       end if;
- 
        --  Nothing to do if this is the second argument of read. This
        --  is a "backwards" conversion that will be handled by the
        --  specialized code in attribute processing.
--- 6661,6666 ----
*************** package body Exp_Ch4 is
*** 6748,6754 ****
           --  this type with proper overflow checking, and so gigi is doing an
           --  approximation of what is required by doing floating-point compares
           --  with the end-point. But that can lose precision in some cases, and
!          --  give a wrong result. Converting the operand to Long_Long_Float is
           --  helpful, but still does not catch all cases with 64-bit integers
           --  on targets with only 64-bit floats ???
  
--- 6947,6953 ----
           --  this type with proper overflow checking, and so gigi is doing an
           --  approximation of what is required by doing floating-point compares
           --  with the end-point. But that can lose precision in some cases, and
!          --  give a wrong result. Converting the operand to Universal_Real is
           --  helpful, but still does not catch all cases with 64-bit integers
           --  on targets with only 64-bit floats ???
  
*************** package body Exp_Ch4 is
*** 6756,6766 ****
              Rewrite (Operand,
                Make_Type_Conversion (Loc,
                  Subtype_Mark =>
!                   New_Occurrence_Of (Standard_Long_Long_Float, Loc),
                  Expression =>
                    Relocate_Node (Operand)));
  
!             Set_Etype (Operand, Standard_Long_Long_Float);
              Enable_Range_Check (Operand);
              Set_Do_Range_Check (Expression (Operand), False);
           end if;
--- 6955,6965 ----
              Rewrite (Operand,
                Make_Type_Conversion (Loc,
                  Subtype_Mark =>
!                   New_Occurrence_Of (Universal_Real, Loc),
                  Expression =>
                    Relocate_Node (Operand)));
  
!             Set_Etype (Operand, Universal_Real);
              Enable_Range_Check (Operand);
              Set_Do_Range_Check (Expression (Operand), False);
           end if;
*************** package body Exp_Ch4 is
*** 6853,6863 ****
  
        elsif Is_Floating_Point_Type (Target_Type) then
           Real_Range_Check;
- 
-       --  The remaining cases require no front end processing
- 
-       else
-          null;
        end if;
  
        --  At this stage, either the conversion node has been transformed
--- 7052,7057 ----
*************** package body Exp_Ch4 is
*** 6932,6937 ****
--- 7126,7141 ----
              end if;
           end;
        end if;
+ 
+       --  Final step, if the result is a type conversion involving Vax_Float
+       --  types, then it is subject for further special processing.
+ 
+       if Nkind (N) = N_Type_Conversion
+         and then (Vax_Float (Operand_Type) or else Vax_Float (Target_Type))
+       then
+          Expand_Vax_Conversion (N);
+          return;
+       end if;
     end Expand_N_Type_Conversion;
  
     -----------------------------------
*************** package body Exp_Ch4 is
*** 7654,7660 ****
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Subtype_Mark => New_Reference_To (Standard_Boolean, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
--- 7858,7864 ----
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Result_Definition => New_Reference_To (Standard_Boolean, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
*************** package body Exp_Ch4 is
*** 7670,7676 ****
                Statements => New_List (If_Stat)));
  
        return Func_Body;
- 
     end Make_Array_Comparison_Op;
  
     ---------------------------
--- 7874,7879 ----
*************** package body Exp_Ch4 is
*** 7785,7791 ****
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Subtype_Mark             => New_Reference_To (Typ, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
--- 7988,7994 ----
              Make_Function_Specification (Loc,
                Defining_Unit_Name       => Func_Name,
                Parameter_Specifications => Formals,
!               Result_Definition        => New_Reference_To (Typ, Loc)),
  
            Declarations => New_List (
              Make_Object_Declaration (Loc,
*************** package body Exp_Ch4 is
*** 7827,7832 ****
--- 8030,8047 ----
              True_Result  := Res in Compare_GE;
              False_Result := Res = LT;
  
+             if Res = LE
+               and then Constant_Condition_Warnings
+               and then Comes_From_Source (Original_Node (N))
+               and then Nkind (Original_Node (N)) = N_Op_Ge
+               and then not In_Instance
+               and then not Warnings_Off (Etype (Left_Opnd (N)))
+               and then Is_Integer_Type (Etype (Left_Opnd (N)))
+             then
+                Error_Msg_N
+                  ("can never be greater than, could replace by ""'=""?", N);
+             end if;
+ 
           when N_Op_Gt =>
              True_Result  := Res = GT;
              False_Result := Res in Compare_LE;
*************** package body Exp_Ch4 is
*** 7839,7847 ****
              True_Result  := Res in Compare_LE;
              False_Result := Res = GT;
  
           when N_Op_Ne =>
!             True_Result  := Res = NE;
!             False_Result := Res = LT or else Res = GT or else Res = EQ;
        end case;
  
        if True_Result then
--- 8054,8074 ----
              True_Result  := Res in Compare_LE;
              False_Result := Res = GT;
  
+             if Res = GE
+               and then Constant_Condition_Warnings
+               and then Comes_From_Source (Original_Node (N))
+               and then Nkind (Original_Node (N)) = N_Op_Le
+               and then not In_Instance
+               and then not Warnings_Off (Etype (Left_Opnd (N)))
+               and then Is_Integer_Type (Etype (Left_Opnd (N)))
+             then
+                Error_Msg_N
+                  ("can never be less than, could replace by ""'=""?", N);
+             end if;
+ 
           when N_Op_Ne =>
!             True_Result  := Res = NE or else Res = GT or else Res = LT;
!             False_Result := Res = EQ;
        end case;
  
        if True_Result then
*************** package body Exp_Ch4 is
*** 7984,8007 ****
        Obj_Tag :=
          Make_Selected_Component (Loc,
            Prefix        => Relocate_Node (Left),
!           Selector_Name => New_Reference_To (Tag_Component (Left_Type), Loc));
  
        if Is_Class_Wide_Type (Right_Type) then
!          return
!            Make_DT_Access_Action (Left_Type,
!              Action => CW_Membership,
!              Args   => New_List (
!                Obj_Tag,
!                New_Reference_To (
!                  Access_Disp_Table (Root_Type (Right_Type)), Loc)));
        else
           return
             Make_Op_Eq (Loc,
!            Left_Opnd  => Obj_Tag,
!            Right_Opnd =>
!              New_Reference_To (Access_Disp_Table (Right_Type), Loc));
        end if;
- 
     end Tagged_Membership;
  
     ------------------------------
--- 8211,8263 ----
        Obj_Tag :=
          Make_Selected_Component (Loc,
            Prefix        => Relocate_Node (Left),
!           Selector_Name =>
!             New_Reference_To (First_Tag_Component (Left_Type), Loc));
  
        if Is_Class_Wide_Type (Right_Type) then
! 
!          --  Ada 2005 (AI-251): Class-wide applied to interfaces
! 
!          if Is_Interface (Etype (Class_Wide_Type (Right_Type)))
! 
!             --   Give support to: "Iface_CW_Typ in Typ'Class"
! 
!            or else Is_Interface (Left_Type)
!          then
!             return
!               Make_Function_Call (Loc,
!                  Name => New_Occurrence_Of (RTE (RE_IW_Membership), Loc),
!                  Parameter_Associations => New_List (
!                    Make_Attribute_Reference (Loc,
!                      Prefix => Obj_Tag,
!                      Attribute_Name => Name_Address),
!                    New_Reference_To (
!                      Node (First_Elmt
!                             (Access_Disp_Table (Root_Type (Right_Type)))),
!                      Loc)));
! 
!          --  Ada 95: Normal case
! 
!          else
!             return
!               Make_Function_Call (Loc,
!                  Name => New_Occurrence_Of (RTE (RE_CW_Membership), Loc),
!                  Parameter_Associations => New_List (
!                    Obj_Tag,
!                    New_Reference_To (
!                      Node (First_Elmt
!                             (Access_Disp_Table (Root_Type (Right_Type)))),
!                      Loc)));
!          end if;
! 
        else
           return
             Make_Op_Eq (Loc,
!              Left_Opnd  => Obj_Tag,
!              Right_Opnd =>
!                New_Reference_To
!                  (Node (First_Elmt (Access_Disp_Table (Right_Type))), Loc));
        end if;
     end Tagged_Membership;
  
     ------------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch4.ads gcc-4.1.0/gcc/ada/exp_ch4.ads
*** gcc-4.0.2/gcc/ada/exp_ch4.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch4.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch5.adb gcc-4.1.0/gcc/ada/exp_ch5.adb
*** gcc-4.0.2/gcc/ada/exp_ch5.adb	Wed Dec  8 11:49:37 2004
--- gcc-4.1.0/gcc/ada/exp_ch5.adb	Tue Nov 15 13:57:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 27,32 ****
--- 27,33 ----
  with Atree;    use Atree;
  with Checks;   use Checks;
  with Einfo;    use Einfo;
+ with Elists;   use Elists;
  with Exp_Aggr; use Exp_Aggr;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch11; use Exp_Ch11;
*************** with Rtsfind;  use Rtsfind;
*** 44,49 ****
--- 45,51 ----
  with Sinfo;    use Sinfo;
  with Sem;      use Sem;
  with Sem_Ch3;  use Sem_Ch3;
+ with Sem_Ch5;  use Sem_Ch5;
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Ch13; use Sem_Ch13;
  with Sem_Eval; use Sem_Eval;
*************** package body Exp_Ch5 is
*** 454,466 ****
              end if;
           end Check_Unconstrained_Bit_Packed_Array;
  
!       --  Gigi can always handle the assignment if the right side is a string
!       --  literal (note that overlap is definitely impossible in this case).
!       --  If the type is packed, a string literal is always converted into a
!       --  aggregate, except in the case of a null slice, for which no aggregate
!       --  can be written. In that case, rewrite the assignment as a null
!       --  statement, a length check has already been emitted to verify that
!       --  the range of the left-hand side is empty.
  
        --  Note that this code is not executed if we had an assignment of
        --  a string literal to a non-bit aligned component of a record, a
--- 456,468 ----
              end if;
           end Check_Unconstrained_Bit_Packed_Array;
  
!       --  The back end can always handle the assignment if the right side is a
!       --  string literal (note that overlap is definitely impossible in this
!       --  case). If the type is packed, a string literal is always converted
!       --  into aggregate, except in the case of a null slice, for which no
!       --  aggregate can be written. In that case, rewrite the assignment as a
!       --  null statement, a length check has already been emitted to verify
!       --  that the range of the left-hand side is empty.
  
        --  Note that this code is not executed if we had an assignment of
        --  a string literal to a non-bit aligned component of a record, a
*************** package body Exp_Ch5 is
*** 479,485 ****
        --  If either operand is bit packed, then we need a loop, since we
        --  can't be sure that the slice is byte aligned. Similarly, if either
        --  operand is a possibly unaligned slice, then we need a loop (since
!       --  gigi cannot handle unaligned slices).
  
        elsif Is_Bit_Packed_Array (L_Type)
          or else Is_Bit_Packed_Array (R_Type)
--- 481,487 ----
        --  If either operand is bit packed, then we need a loop, since we
        --  can't be sure that the slice is byte aligned. Similarly, if either
        --  operand is a possibly unaligned slice, then we need a loop (since
!       --  the back end cannot handle unaligned slices).
  
        elsif Is_Bit_Packed_Array (L_Type)
          or else Is_Bit_Packed_Array (R_Type)
*************** package body Exp_Ch5 is
*** 490,496 ****
  
        --  If we are not bit-packed, and we have only one slice, then no
        --  overlap is possible except in the parameter case, so we can let
!       --  gigi handle things.
  
        elsif not (L_Slice and R_Slice) then
           if Forwards_OK (N) then
--- 492,498 ----
  
        --  If we are not bit-packed, and we have only one slice, then no
        --  overlap is possible except in the parameter case, so we can let
!       --  the back end handle things.
  
        elsif not (L_Slice and R_Slice) then
           if Forwards_OK (N) then
*************** package body Exp_Ch5 is
*** 641,647 ****
           if not Loop_Required then
              if Forwards_OK (N) then
                 return;
- 
              else
                 null;
                 --  Here is where a memmove would be appropriate ???
--- 643,648 ----
*************** package body Exp_Ch5 is
*** 843,849 ****
              then
  
                 --  Call TSS procedure for array assignment, passing the
!                --  the explicit bounds of right- and left-hand side.
  
                 declare
                    Proc    : constant Node_Id :=
--- 844,850 ----
              then
  
                 --  Call TSS procedure for array assignment, passing the
!                --  the explicit bounds of right and left hand sides.
  
                 declare
                    Proc    : constant Node_Id :=
*************** package body Exp_Ch5 is
*** 999,1011 ****
             Make_Assignment_Statement (Loc,
               Name =>
                 Make_Indexed_Component (Loc,
!                  Prefix => Duplicate_Subexpr (Larray, Name_Req => True),
                   Expressions => ExprL),
               Expression =>
                 Make_Indexed_Component (Loc,
!                  Prefix => Duplicate_Subexpr (Rarray, Name_Req => True),
                   Expressions => ExprR));
  
           --  Propagate the No_Ctrl_Actions flag to individual assignments
  
           Set_No_Ctrl_Actions (Assign, No_Ctrl_Actions (N));
--- 1000,1019 ----
             Make_Assignment_Statement (Loc,
               Name =>
                 Make_Indexed_Component (Loc,
!                  Prefix      => Duplicate_Subexpr (Larray, Name_Req => True),
                   Expressions => ExprL),
               Expression =>
                 Make_Indexed_Component (Loc,
!                  Prefix      => Duplicate_Subexpr (Rarray, Name_Req => True),
                   Expressions => ExprR));
  
+          --  We set assignment OK, since there are some cases, e.g. in object
+          --  declarations, where we are actually assigning into a constant.
+          --  If there really is an illegality, it was caught long before now,
+          --  and was flagged when the original assignment was analyzed.
+ 
+          Set_Assignment_OK (Name (Assign));
+ 
           --  Propagate the No_Ctrl_Actions flag to individual assignments
  
           Set_No_Ctrl_Actions (Assign, No_Ctrl_Actions (N));
*************** package body Exp_Ch5 is
*** 1356,1364 ****
     -- Expand_N_Assignment_Statement --
     -----------------------------------
  
!    --  For array types, deal with slice assignments and setting the flags
!    --  to indicate if it can be statically determined which direction the
!    --  move should go in. Also deal with generating range/length checks.
  
     procedure Expand_N_Assignment_Statement (N : Node_Id) is
        Loc  : constant Source_Ptr := Sloc (N);
--- 1364,1371 ----
     -- Expand_N_Assignment_Statement --
     -----------------------------------
  
!    --  This procedure implements various cases where an assignment statement
!    --  cannot just be passed on to the back end in untransformed state.
  
     procedure Expand_N_Assignment_Statement (N : Node_Id) is
        Loc  : constant Source_Ptr := Sloc (N);
*************** package body Exp_Ch5 is
*** 1469,1475 ****
  
              declare
                 Uses_Transient_Scope : constant Boolean :=
!                   Scope_Is_Transient and then N = Node_To_Be_Wrapped;
  
              begin
                 if Uses_Transient_Scope then
--- 1476,1483 ----
  
              declare
                 Uses_Transient_Scope : constant Boolean :=
!                                         Scope_Is_Transient
!                                           and then N = Node_To_Be_Wrapped;
  
              begin
                 if Uses_Transient_Scope then
*************** package body Exp_Ch5 is
*** 1535,1541 ****
        --  create dereferences but are not semantic aliasings.
  
        elsif Is_Private_Type (Etype (Lhs))
!         and then  Has_Discriminants (Typ)
          and then Nkind (Lhs) = N_Explicit_Dereference
          and then Comes_From_Source (Lhs)
        then
--- 1543,1549 ----
        --  create dereferences but are not semantic aliasings.
  
        elsif Is_Private_Type (Etype (Lhs))
!         and then Has_Discriminants (Typ)
          and then Nkind (Lhs) = N_Explicit_Dereference
          and then Comes_From_Source (Lhs)
        then
*************** package body Exp_Ch5 is
*** 1614,1630 ****
             (Expression (Rhs), Designated_Type (Etype (Lhs)));
        end if;
  
!       --  Ada 2005 (AI-231): Generate conversion to the null-excluding
!       --  type to force the corresponding run-time check
  
        if Is_Access_Type (Typ)
!         and then
!           ((Is_Entity_Name (Lhs) and then Can_Never_Be_Null (Entity (Lhs)))
!              or else Can_Never_Be_Null (Etype (Lhs)))
        then
!          Rewrite (Rhs, Convert_To (Etype (Lhs),
!                                    Relocate_Node (Rhs)));
!          Analyze_And_Resolve (Rhs, Etype (Lhs));
        end if;
  
        --  If we are assigning an access type and the left side is an
--- 1622,1634 ----
             (Expression (Rhs), Designated_Type (Etype (Lhs)));
        end if;
  
!       --  Ada 2005 (AI-231): Generate the run-time check
  
        if Is_Access_Type (Typ)
!         and then Can_Never_Be_Null (Etype (Lhs))
!         and then not Can_Never_Be_Null (Etype (Rhs))
        then
!          Apply_Constraint_Check (Rhs, Etype (Lhs));
        end if;
  
        --  If we are assigning an access type and the left side is an
*************** package body Exp_Ch5 is
*** 1647,1654 ****
           Expand_Bit_Packed_Element_Set (N);
           return;
  
-       --  Case of tagged type assignment
- 
        elsif Is_Tagged_Type (Typ)
          or else (Controlled_Type (Typ) and then not Is_Array_Type (Typ))
        then
--- 1651,1656 ----
*************** package body Exp_Ch5 is
*** 1673,1691 ****
  
              if Is_Class_Wide_Type (Typ)
  
!             --  If the type is tagged, we may as well use the predefined
!             --  primitive assignment. This avoids inlining a lot of code
!             --  and in the class-wide case, the assignment is replaced by
!             --  a dispatch call to _assign. Note that this cannot be done
!             --  when discriminant checks are locally suppressed (as in
!             --  extension aggregate expansions) because otherwise the
!             --  discriminant check will be performed within the _assign
!             --  call.
  
!             or else (Is_Tagged_Type (Typ)
!               and then Chars (Current_Scope) /= Name_uAssign
!               and then Expand_Ctrl_Actions
!               and then not Discriminant_Checks_Suppressed (Empty))
              then
                 --  Fetch the primitive op _assign and proper type to call
                 --  it. Because of possible conflits between private and
--- 1675,1697 ----
  
              if Is_Class_Wide_Type (Typ)
  
!                --  If the type is tagged, we may as well use the predefined
!                --  primitive assignment. This avoids inlining a lot of code
!                --  and in the class-wide case, the assignment is replaced by
!                --  dispatch call to _assign. Note that this cannot be done
!                --  when discriminant checks are locally suppressed (as in
!                --  extension aggregate expansions) because otherwise the
!                --  discriminant check will be performed within the _assign
!                --  call. It is also suppressed for assignmments created by the
!                --  expander that correspond to initializations, where we do
!                --  want to copy the tag (No_Ctrl_Actions flag set True).
!                --  by the expander and we do not need to mess with tags ever
!                --  (Expand_Ctrl_Actions flag is set True in this case).
  
!                or else (Is_Tagged_Type (Typ)
!                           and then Chars (Current_Scope) /= Name_uAssign
!                           and then Expand_Ctrl_Actions
!                           and then not Discriminant_Checks_Suppressed (Empty))
              then
                 --  Fetch the primitive op _assign and proper type to call
                 --  it. Because of possible conflits between private and
*************** package body Exp_Ch5 is
*** 1787,1794 ****
              then
                 declare
                    Blk : constant Entity_Id :=
!                     New_Internal_Entity (
!                       E_Block, Current_Scope, Sloc (N), 'B');
  
                 begin
                    Set_Scope (Blk, Current_Scope);
--- 1793,1800 ----
              then
                 declare
                    Blk : constant Entity_Id :=
!                           New_Internal_Entity
!                             (E_Block, Current_Scope, Sloc (N), 'B');
  
                 begin
                    Set_Scope (Blk, Current_Scope);
*************** package body Exp_Ch5 is
*** 1803,1809 ****
                 end;
              end if;
  
!             Analyze (N);
              return;
           end Tagged_Case;
  
--- 1809,1819 ----
                 end;
              end if;
  
!             --  N has been rewritten to a block statement for which it is
!             --  known by construction that no checks are necessary: analyze
!             --  it with all checks suppressed.
! 
!             Analyze (N, Suppress => All_Checks);
              return;
           end Tagged_Case;
  
*************** package body Exp_Ch5 is
*** 2254,2259 ****
--- 2264,2276 ----
                 Set_Condition       (N, Condition (Hed));
                 Set_Then_Statements (N, Then_Statements (Hed));
  
+                --  Hed might have been captured as the condition determining
+                --  the current value for an entity. Now it is detached from
+                --  the tree, so a Current_Value pointer in the condition might
+                --  need to be updated.
+ 
+                Check_Possible_Current_Value_Condition (N);
+ 
                 if Is_Empty_List (Elsif_Parts (N)) then
                    Set_Elsif_Parts (N, No_List);
                 end if;
*************** package body Exp_Ch5 is
*** 2757,2836 ****
           Analyze (Exp);
        end if;
  
-       --  Implement the rules of 6.5(8-10), which require a tag check in
-       --  the case of a limited tagged return type, and tag reassignment
-       --  for nonlimited tagged results. These actions are needed when
-       --  the return type is a specific tagged type and the result
-       --  expression is a conversion or a formal parameter, because in
-       --  that case the tag of the expression might differ from the tag
-       --  of the specific result type.
- 
-       if Is_Tagged_Type (Utyp)
-         and then not Is_Class_Wide_Type (Utyp)
-         and then (Nkind (Exp) = N_Type_Conversion
-                     or else Nkind (Exp) = N_Unchecked_Type_Conversion
-                     or else (Is_Entity_Name (Exp)
-                                and then Ekind (Entity (Exp)) in Formal_Kind))
-       then
-          --  When the return type is limited, perform a check that the
-          --  tag of the result is the same as the tag of the return type.
- 
-          if Is_Limited_Type (Return_Type) then
-             Insert_Action (Exp,
-               Make_Raise_Constraint_Error (Loc,
-                 Condition =>
-                   Make_Op_Ne (Loc,
-                     Left_Opnd =>
-                       Make_Selected_Component (Loc,
-                         Prefix => Duplicate_Subexpr (Exp),
-                         Selector_Name =>
-                           New_Reference_To (Tag_Component (Utyp), Loc)),
-                     Right_Opnd =>
-                       Unchecked_Convert_To (RTE (RE_Tag),
-                         New_Reference_To
-                           (Access_Disp_Table (Base_Type (Utyp)), Loc))),
-                 Reason => CE_Tag_Check_Failed));
- 
-          --  If the result type is a specific nonlimited tagged type,
-          --  then we have to ensure that the tag of the result is that
-          --  of the result type. This is handled by making a copy of the
-          --  expression in the case where it might have a different tag,
-          --  namely when the expression is a conversion or a formal
-          --  parameter. We create a new object of the result type and
-          --  initialize it from the expression, which will implicitly
-          --  force the tag to be set appropriately.
- 
-          else
-             Result_Id :=
-               Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
-             Result_Exp := New_Reference_To (Result_Id, Loc);
- 
-             Result_Obj :=
-               Make_Object_Declaration (Loc,
-                 Defining_Identifier => Result_Id,
-                 Object_Definition   => New_Reference_To (Return_Type, Loc),
-                 Constant_Present    => True,
-                 Expression          => Relocate_Node (Exp));
- 
-             Set_Assignment_OK (Result_Obj);
-             Insert_Action (Exp, Result_Obj);
- 
-             Rewrite (Exp, Result_Exp);
-             Analyze_And_Resolve (Exp, Return_Type);
-          end if;
-       end if;
- 
        --  Deal with returning variable length objects and controlled types
  
        --  Nothing to do if we are returning by reference, or this is not
        --  a type that requires special processing (indicated by the fact
        --  that it requires a cleanup scope for the secondary stack case)
  
!       if Is_Return_By_Reference_Type (T)
!         or else not Requires_Transient_Scope (Return_Type)
!       then
           null;
  
        --  Case of secondary stack not used
  
        elsif Function_Returns_With_DSP (Scope_Id) then
--- 2774,2811 ----
           Analyze (Exp);
        end if;
  
        --  Deal with returning variable length objects and controlled types
  
        --  Nothing to do if we are returning by reference, or this is not
        --  a type that requires special processing (indicated by the fact
        --  that it requires a cleanup scope for the secondary stack case)
  
!       if Is_Return_By_Reference_Type (T) then
           null;
  
+       elsif not Requires_Transient_Scope (Return_Type) then
+ 
+          --  mutable records with no variable length components are not
+          --  returned on the sec-stack so we need to make sure that the
+          --  backend will only copy back the size of the actual value  and not
+          --  the maximum size. We create an actual subtype for this purpose
+ 
+          declare
+             Ubt  : constant Entity_Id := Underlying_Type (Base_Type (T));
+             Decl : Node_Id;
+             Ent  : Entity_Id;
+          begin
+             if Has_Discriminants (Ubt)
+               and then not Is_Constrained (Ubt)
+               and then not Has_Unchecked_Union (Ubt)
+             then
+                Decl := Build_Actual_Subtype (Ubt, Exp);
+                Ent := Defining_Identifier (Decl);
+                Insert_Action (Exp, Decl);
+                Rewrite (Exp, Unchecked_Convert_To (Ent, Exp));
+             end if;
+          end;
+ 
        --  Case of secondary stack not used
  
        elsif Function_Returns_With_DSP (Scope_Id) then
*************** package body Exp_Ch5 is
*** 3015,3020 ****
--- 2990,3001 ----
           then
              Set_By_Ref (N);
  
+             --  Remove side effects from the expression now so that
+             --  other part of the expander do not have to reanalyze
+             --  this node without this optimization
+ 
+             Rewrite (Exp, Duplicate_Subexpr_No_Checks (Exp));
+ 
           --  For controlled types, do the allocation on the sec-stack
           --  manually in order to call adjust at the right time
           --    type Anon1 is access Return_Type;
*************** package body Exp_Ch5 is
*** 3080,3085 ****
--- 3061,3172 ----
           end if;
        end if;
  
+       --  Implement the rules of 6.5(8-10), which require a tag check in
+       --  the case of a limited tagged return type, and tag reassignment
+       --  for nonlimited tagged results. These actions are needed when
+       --  the return type is a specific tagged type and the result
+       --  expression is a conversion or a formal parameter, because in
+       --  that case the tag of the expression might differ from the tag
+       --  of the specific result type.
+ 
+       if Is_Tagged_Type (Utyp)
+         and then not Is_Class_Wide_Type (Utyp)
+         and then (Nkind (Exp) = N_Type_Conversion
+                     or else Nkind (Exp) = N_Unchecked_Type_Conversion
+                     or else (Is_Entity_Name (Exp)
+                                and then Ekind (Entity (Exp)) in Formal_Kind))
+       then
+          --  When the return type is limited, perform a check that the
+          --  tag of the result is the same as the tag of the return type.
+ 
+          if Is_Limited_Type (Return_Type) then
+             Insert_Action (Exp,
+               Make_Raise_Constraint_Error (Loc,
+                 Condition =>
+                   Make_Op_Ne (Loc,
+                     Left_Opnd =>
+                       Make_Selected_Component (Loc,
+                         Prefix => Duplicate_Subexpr (Exp),
+                         Selector_Name =>
+                           New_Reference_To (First_Tag_Component (Utyp), Loc)),
+                     Right_Opnd =>
+                       Unchecked_Convert_To (RTE (RE_Tag),
+                         New_Reference_To
+                           (Node (First_Elmt
+                                   (Access_Disp_Table (Base_Type (Utyp)))),
+                            Loc))),
+                 Reason => CE_Tag_Check_Failed));
+ 
+          --  If the result type is a specific nonlimited tagged type,
+          --  then we have to ensure that the tag of the result is that
+          --  of the result type. This is handled by making a copy of the
+          --  expression in the case where it might have a different tag,
+          --  namely when the expression is a conversion or a formal
+          --  parameter. We create a new object of the result type and
+          --  initialize it from the expression, which will implicitly
+          --  force the tag to be set appropriately.
+ 
+          else
+             Result_Id :=
+               Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
+             Result_Exp := New_Reference_To (Result_Id, Loc);
+ 
+             Result_Obj :=
+               Make_Object_Declaration (Loc,
+                 Defining_Identifier => Result_Id,
+                 Object_Definition   => New_Reference_To (Return_Type, Loc),
+                 Constant_Present    => True,
+                 Expression          => Relocate_Node (Exp));
+ 
+             Set_Assignment_OK (Result_Obj);
+             Insert_Action (Exp, Result_Obj);
+ 
+             Rewrite (Exp, Result_Exp);
+             Analyze_And_Resolve (Exp, Return_Type);
+          end if;
+ 
+       --  Ada 2005 (AI-344): If the result type is class-wide, then insert
+       --  a check that the level of the return expression's underlying type
+       --  is not deeper than the level of the master enclosing the function.
+       --  Always generate the check when the type of the return expression
+       --  is class-wide, when it's a type conversion, or when it's a formal
+       --  parameter. Otherwise, suppress the check in the case where the
+       --  return expression has a specific type whose level is known not to
+       --  be statically deeper than the function's result type.
+ 
+       elsif Ada_Version >= Ada_05
+         and then Is_Class_Wide_Type (Return_Type)
+         and then not Scope_Suppress (Accessibility_Check)
+         and then
+           (Is_Class_Wide_Type (Etype (Exp))
+             or else Nkind (Exp) = N_Type_Conversion
+             or else Nkind (Exp) = N_Unchecked_Type_Conversion
+             or else (Is_Entity_Name (Exp)
+                        and then Ekind (Entity (Exp)) in Formal_Kind)
+             or else Scope_Depth (Enclosing_Dynamic_Scope (Etype (Exp))) >
+                       Scope_Depth (Enclosing_Dynamic_Scope (Scope_Id)))
+       then
+          Insert_Action (Exp,
+            Make_Raise_Program_Error (Loc,
+              Condition =>
+                Make_Op_Gt (Loc,
+                  Left_Opnd =>
+                    Make_Function_Call (Loc,
+                      Name =>
+                        New_Reference_To
+                          (RTE (RE_Get_Access_Level), Loc),
+                      Parameter_Associations =>
+                        New_List (Make_Attribute_Reference (Loc,
+                                    Prefix         =>
+                                       Duplicate_Subexpr (Exp),
+                                    Attribute_Name =>
+                                       Name_Tag))),
+                  Right_Opnd =>
+                    Make_Integer_Literal (Loc,
+                      Scope_Depth (Enclosing_Dynamic_Scope (Scope_Id)))),
+              Reason => PE_Accessibility_Check_Failed));
+       end if;
+ 
     exception
        when RE_Not_Available =>
           return;
*************** package body Exp_Ch5 is
*** 3127,3133 ****
        if not Ctrl_Act then
           null;
  
!       --  The left hand side is an uninitialized  temporary
  
        elsif Nkind (L) = N_Type_Conversion
          and then Is_Entity_Name (Expression (L))
--- 3214,3220 ----
        if not Ctrl_Act then
           null;
  
!       --  The left hand side is an uninitialized temporary
  
        elsif Nkind (L) = N_Type_Conversion
          and then Is_Entity_Name (Expression (L))
*************** package body Exp_Ch5 is
*** 3155,3161 ****
               Expression =>
                 Make_Selected_Component (Loc,
                   Prefix        => Duplicate_Subexpr_No_Checks (L),
!                  Selector_Name => New_Reference_To (Tag_Component (T), Loc))));
  
        --  Otherwise Tag_Tmp not used
  
--- 3242,3249 ----
               Expression =>
                 Make_Selected_Component (Loc,
                   Prefix        => Duplicate_Subexpr_No_Checks (L),
!                  Selector_Name => New_Reference_To (First_Tag_Component (T),
!                                                     Loc))));
  
        --  Otherwise Tag_Tmp not used
  
*************** package body Exp_Ch5 is
*** 3194,3200 ****
              --  Index of first byte to be copied after outermost record
              --  controller data.
  
!             Expr, Source_Size      : Node_Id;
              --  Used for computation of the size of the data to be copied
  
              Range_Type  : Entity_Id;
--- 3282,3289 ----
              --  Index of first byte to be copied after outermost record
              --  controller data.
  
!             Expr, Source_Size     : Node_Id;
!             Source_Actual_Subtype : Entity_Id;
              --  Used for computation of the size of the data to be copied
  
              Range_Type  : Entity_Id;
*************** package body Exp_Ch5 is
*** 3269,3294 ****
                 Expr := Expression (Expr);
              end if;
  
              Source_Size :=
                Make_Op_Add (Loc,
                  Left_Opnd =>
                    Make_Attribute_Reference (Loc,
                      Prefix =>
!                       Expr,
                      Attribute_Name =>
                        Name_Size),
                  Right_Opnd =>
                    Make_Integer_Literal (Loc,
                    System_Storage_Unit - 1));
- 
-             --  If Expr is a type conversion, standard Ada does not allow
-             --  'Size to be taken on it, but Gigi can handle this case,
-             --  and thus we can determine the amount of data to be copied.
-             --  The appropriate circuitry is enabled only for conversions
-             --  that do not Come_From_Source.
- 
-             Set_Comes_From_Source (Prefix (Left_Opnd (Source_Size)), False);
- 
              Source_Size :=
                Make_Op_Divide (Loc,
                  Left_Opnd => Source_Size,
--- 3358,3384 ----
                 Expr := Expression (Expr);
              end if;
  
+             Source_Actual_Subtype := Etype (Expr);
+ 
+             if Has_Discriminants (Source_Actual_Subtype)
+               and then not Is_Constrained (Source_Actual_Subtype)
+             then
+                Append_To (Res,
+                  Build_Actual_Subtype (Source_Actual_Subtype, Expr));
+                Source_Actual_Subtype := Defining_Identifier (Last (Res));
+             end if;
+ 
              Source_Size :=
                Make_Op_Add (Loc,
                  Left_Opnd =>
                    Make_Attribute_Reference (Loc,
                      Prefix =>
!                       New_Occurrence_Of (Source_Actual_Subtype, Loc),
                      Attribute_Name =>
                        Name_Size),
                  Right_Opnd =>
                    Make_Integer_Literal (Loc,
                    System_Storage_Unit - 1));
              Source_Size :=
                Make_Op_Divide (Loc,
                  Left_Opnd => Source_Size,
*************** package body Exp_Ch5 is
*** 3484,3490 ****
               Name =>
                 Make_Selected_Component (Loc,
                   Prefix        => Duplicate_Subexpr_No_Checks (L),
!                  Selector_Name => New_Reference_To (Tag_Component (T), Loc)),
               Expression => New_Reference_To (Tag_Tmp, Loc)));
        end if;
  
--- 3574,3581 ----
               Name =>
                 Make_Selected_Component (Loc,
                   Prefix        => Duplicate_Subexpr_No_Checks (L),
!                  Selector_Name => New_Reference_To (First_Tag_Component (T),
!                                                     Loc)),
               Expression => New_Reference_To (Tag_Tmp, Loc)));
        end if;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch5.ads gcc-4.1.0/gcc/ada/exp_ch5.ads
*** gcc-4.0.2/gcc/ada/exp_ch5.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch5.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch6.adb gcc-4.1.0/gcc/ada/exp_ch6.adb
*** gcc-4.0.2/gcc/ada/exp_ch6.adb	Thu Feb 10 13:50:45 2005
--- gcc-4.1.0/gcc/ada/exp_ch6.adb	Tue Nov 15 13:54:36 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Exp_Ch2;  use Exp_Ch2;
*** 34,40 ****
  with Exp_Ch3;  use Exp_Ch3;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch9;  use Exp_Ch9;
- with Exp_Ch11; use Exp_Ch11;
  with Exp_Dbug; use Exp_Dbug;
  with Exp_Disp; use Exp_Disp;
  with Exp_Dist; use Exp_Dist;
--- 34,39 ----
*************** with Sem_Ch12; use Sem_Ch12;
*** 60,65 ****
--- 59,65 ----
  with Sem_Ch13; use Sem_Ch13;
  with Sem_Disp; use Sem_Disp;
  with Sem_Dist; use Sem_Dist;
+ with Sem_Mech; use Sem_Mech;
  with Sem_Res;  use Sem_Res;
  with Sem_Util; use Sem_Util;
  with Sinfo;    use Sinfo;
*************** package body Exp_Ch6 is
*** 99,108 ****
     --  we have an infinite recursion.
  
     procedure Expand_Actuals (N : Node_Id; Subp : Entity_Id);
!    --  For each actual of an in-out parameter which is a numeric conversion
!    --  of the form T(A), where A denotes a variable, we insert the declaration:
     --
!    --    Temp : T := T (A);
     --
     --  prior to the call. Then we replace the actual with a reference to Temp,
     --  and append the assignment:
--- 99,109 ----
     --  we have an infinite recursion.
  
     procedure Expand_Actuals (N : Node_Id; Subp : Entity_Id);
!    --  For each actual of an in-out or out parameter which is a numeric
!    --  (view) conversion of the form T (A), where A denotes a variable,
!    --  we insert the declaration:
     --
!    --    Temp : T[ := T (A)];
     --
     --  prior to the call. Then we replace the actual with a reference to Temp,
     --  and append the assignment:
*************** package body Exp_Ch6 is
*** 123,128 ****
--- 124,132 ----
     --
     --  For all parameter modes, actuals that denote components and slices
     --  of packed arrays are expanded into suitable temporaries.
+    --
+    --  For non-scalar objects that are possibly unaligned, add call by copy
+    --  code (copy in for IN and IN OUT, copy out for OUT and IN OUT).
  
     procedure Expand_Inlined_Call
      (N         : Node_Id;
*************** package body Exp_Ch6 is
*** 168,177 ****
          and then In_Open_Scopes (Scope (Etype (Typ)))
          and then Typ = Base_Type (Typ)
        then
!          --  Subp overrides an inherited private operation if there is
!          --  an inherited operation with a different name than Subp (see
!          --  Derive_Subprogram) whose Alias is a hidden  subprogram with
!          --  the same name as Subp.
  
           Op_Elmt := First_Elmt (Op_List);
           while Present (Op_Elmt) loop
--- 172,181 ----
          and then In_Open_Scopes (Scope (Etype (Typ)))
          and then Typ = Base_Type (Typ)
        then
!          --  Subp overrides an inherited private operation if there is an
!          --  inherited operation with a different name than Subp (see
!          --  Derive_Subprogram) whose Alias is a hidden subprogram with the
!          --  same name as Subp.
  
           Op_Elmt := First_Elmt (Op_List);
           while Present (Op_Elmt) loop
*************** package body Exp_Ch6 is
*** 207,218 ****
        --  List of recursive calls in body of procedure
  
        Shad_List : constant Elist_Id := New_Elmt_List;
!       --  List of entity id's for entities created to capture the
!       --  value of referenced globals on entry to the procedure.
  
        Scop : constant Uint := Scope_Depth (Spec);
!       --  This is used to record the scope depth of the current
!       --  procedure, so that we can identify global references.
  
        Max_Vars : constant := 4;
        --  Do not test more than four global variables
--- 211,222 ----
        --  List of recursive calls in body of procedure
  
        Shad_List : constant Elist_Id := New_Elmt_List;
!       --  List of entity id's for entities created to capture the value of
!       --  referenced globals on entry to the procedure.
  
        Scop : constant Uint := Scope_Depth (Spec);
!       --  This is used to record the scope depth of the current procedure, so
!       --  that we can identify global references.
  
        Max_Vars : constant := 4;
        --  Do not test more than four global variables
*************** package body Exp_Ch6 is
*** 355,363 ****
     --  Start of processing for Detect_Infinite_Recursion
  
     begin
!       --  Do not attempt detection in No_Implicit_Conditional mode,
!       --  since we won't be able to generate the code to handle the
!       --  recursion in any case.
  
        if Restriction_Active (No_Implicit_Conditionals) then
           return;
--- 359,367 ----
     --  Start of processing for Detect_Infinite_Recursion
  
     begin
!       --  Do not attempt detection in No_Implicit_Conditional mode, since we
!       --  won't be able to generate the code to handle the recursion in any
!       --  case.
  
        if Restriction_Active (No_Implicit_Conditionals) then
           return;
*************** package body Exp_Ch6 is
*** 368,376 ****
        if Traverse_Body (N) = Abandon then
           return;
  
!       --  We must have a call, since Has_Recursive_Call was set. If not
!       --  just ignore (this is only an error check, so if we have a funny
!       --  situation, due to bugs or errors, we do not want to bomb!)
  
        elsif Is_Empty_Elmt_List (Call_List) then
           return;
--- 372,380 ----
        if Traverse_Body (N) = Abandon then
           return;
  
!       --  We must have a call, since Has_Recursive_Call was set. If not just
!       --  ignore (this is only an error check, so if we have a funny situation,
!       --  due to bugs or errors, we do not want to bomb!)
  
        elsif Is_Empty_Elmt_List (Call_List) then
           return;
*************** package body Exp_Ch6 is
*** 378,392 ****
  
        --  Here is the case where we detect recursion at compile time
  
!       --  Push our current scope for analyzing the declarations and
!       --  code that we will insert for the checking.
  
        New_Scope (Spec);
  
!       --  This loop builds temporary variables for each of the
!       --  referenced globals, so that at the end of the loop the
!       --  list Shad_List contains these temporaries in one-to-one
!       --  correspondence with the elements in Var_List.
  
        Last := Empty;
        Elm := First_Elmt (Var_List);
--- 382,396 ----
  
        --  Here is the case where we detect recursion at compile time
  
!       --  Push our current scope for analyzing the declarations and code that
!       --  we will insert for the checking.
  
        New_Scope (Spec);
  
!       --  This loop builds temporary variables for each of the referenced
!       --  globals, so that at the end of the loop the list Shad_List contains
!       --  these temporaries in one-to-one correspondence with the elements in
!       --  Var_List.
  
        Last := Empty;
        Elm := First_Elmt (Var_List);
*************** package body Exp_Ch6 is
*** 397,406 ****
               Chars => New_Internal_Name ('S'));
           Append_Elmt (Ent, Shad_List);
  
!          --  Insert a declaration for this temporary at the start of
!          --  the declarations for the procedure. The temporaries are
!          --  declared as constant objects initialized to the current
!          --  values of the corresponding temporaries.
  
           Decl :=
             Make_Object_Declaration (Loc,
--- 401,410 ----
               Chars => New_Internal_Name ('S'));
           Append_Elmt (Ent, Shad_List);
  
!          --  Insert a declaration for this temporary at the start of the
!          --  declarations for the procedure. The temporaries are declared as
!          --  constant objects initialized to the current values of the
!          --  corresponding temporaries.
  
           Decl :=
             Make_Object_Declaration (Loc,
*************** package body Exp_Ch6 is
*** 501,511 ****
        --  also takes care of any constraint checks required for the type
        --  conversion case (on both the way in and the way out).
  
!       procedure Add_Packed_Call_By_Copy_Code;
!       --  This is used when the actual involves a reference to an element
!       --  of a packed array, where we can appropriately use a simpler
!       --  approach than the full call by copy code. We just copy the value
!       --  in and out of an appropriate temporary.
  
        procedure Check_Fortran_Logical;
        --  A value of type Logical that is passed through a formal parameter
--- 505,514 ----
        --  also takes care of any constraint checks required for the type
        --  conversion case (on both the way in and the way out).
  
!       procedure Add_Simple_Call_By_Copy_Code;
!       --  This is similar to the above, but is used in cases where we know
!       --  that all that is needed is to simply create a temporary and copy
!       --  the value in and out of the temporary.
  
        procedure Check_Fortran_Logical;
        --  A value of type Logical that is passed through a formal parameter
*************** package body Exp_Ch6 is
*** 513,518 ****
--- 516,529 ----
        --  representation as True. We assume that .FALSE. = False = 0.
        --  What about functions that return a logical type ???
  
+       function Is_Legal_Copy return Boolean;
+       --  Check that an actual can be copied before generating the temporary
+       --  to be used in the call. If the actual is of a by_reference type then
+       --  the program is illegal (this can only happen in the presence of
+       --  rep. clauses that force an incorrect alignment). If the formal is
+       --  a by_reference parameter imposed by a DEC pragma, emit a warning to
+       --  the effect that this might lead to unaligned arguments.
+ 
        function Make_Var (Actual : Node_Id) return Entity_Id;
        --  Returns an entity that refers to the given actual parameter,
        --  Actual (not including any type conversion). If Actual is an
*************** package body Exp_Ch6 is
*** 532,546 ****
           Expr  : Node_Id;
           Init  : Node_Id;
           Temp  : Entity_Id;
!          Indic : Node_Id := New_Occurrence_Of (Etype (Formal), Loc);
           Var   : Entity_Id;
           F_Typ : constant Entity_Id := Etype (Formal);
           V_Typ : Entity_Id;
           Crep  : Boolean;
  
        begin
           Temp := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
  
           if Nkind (Actual) = N_Type_Conversion then
              V_Typ := Etype (Expression (Actual));
  
--- 543,571 ----
           Expr  : Node_Id;
           Init  : Node_Id;
           Temp  : Entity_Id;
!          Indic : Node_Id;
           Var   : Entity_Id;
           F_Typ : constant Entity_Id := Etype (Formal);
           V_Typ : Entity_Id;
           Crep  : Boolean;
  
        begin
+          if not Is_Legal_Copy then
+             return;
+          end if;
+ 
           Temp := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
  
+          --  Use formal type for temp, unless formal type is an unconstrained
+          --  array, in which case we don't have to worry about bounds checks,
+          --  and we use the actual type, since that has appropriate bounds.
+ 
+          if Is_Array_Type (F_Typ) and then not Is_Constrained (F_Typ) then
+             Indic := New_Occurrence_Of (Etype (Actual), Loc);
+          else
+             Indic := New_Occurrence_Of (Etype (Formal), Loc);
+          end if;
+ 
           if Nkind (Actual) = N_Type_Conversion then
              V_Typ := Etype (Expression (Actual));
  
*************** package body Exp_Ch6 is
*** 584,590 ****
              then
                 --  Actual is a one-dimensional array or slice, and the type
                 --  requires no initialization. Create a temporary of the
!                --  right size, but do copy actual into it (optimization).
  
                 Init := Empty;
                 Indic :=
--- 609,615 ----
              then
                 --  Actual is a one-dimensional array or slice, and the type
                 --  requires no initialization. Create a temporary of the
!                --  right size, but do not copy actual into it (optimization).
  
                 Init := Empty;
                 Indic :=
*************** package body Exp_Ch6 is
*** 621,631 ****
                       Is_Bit_Packed_Array (Etype (Expression (Actual))))
           then
              if Conversion_OK (Actual) then
!                Init :=
!                  OK_Convert_To (F_Typ, New_Occurrence_Of (Var, Loc));
              else
!                Init :=
!                  Convert_To (F_Typ, New_Occurrence_Of (Var, Loc));
              end if;
  
           elsif Ekind (Formal) = E_In_Parameter then
--- 646,654 ----
                       Is_Bit_Packed_Array (Etype (Expression (Actual))))
           then
              if Conversion_OK (Actual) then
!                Init := OK_Convert_To (F_Typ, New_Occurrence_Of (Var, Loc));
              else
!                Init := Convert_To (F_Typ, New_Occurrence_Of (Var, Loc));
              end if;
  
           elsif Ekind (Formal) = E_In_Parameter then
*************** package body Exp_Ch6 is
*** 639,645 ****
             Make_Object_Declaration (Loc,
               Defining_Identifier => Temp,
               Object_Definition   => Indic,
!              Expression => Init);
           Set_Assignment_OK (N_Node);
           Insert_Action (N, N_Node);
  
--- 662,668 ----
             Make_Object_Declaration (Loc,
               Defining_Identifier => Temp,
               Object_Definition   => Indic,
!              Expression          => Init);
           Set_Assignment_OK (N_Node);
           Insert_Action (N, N_Node);
  
*************** package body Exp_Ch6 is
*** 700,737 ****
        end Add_Call_By_Copy_Code;
  
        ----------------------------------
!       -- Add_Packed_Call_By_Copy_Code --
        ----------------------------------
  
!       procedure Add_Packed_Call_By_Copy_Code is
           Temp   : Entity_Id;
           Incod  : Node_Id;
           Outcod : Node_Id;
           Lhs    : Node_Id;
           Rhs    : Node_Id;
  
        begin
!          Reset_Packed_Prefix;
  
           --  Prepare to generate code
  
           Temp := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
           Incod  := Relocate_Node (Actual);
           Outcod := New_Copy_Tree (Incod);
  
           --  Generate declaration of temporary variable, initializing it
!          --  with the input parameter unless we have an OUT variable.
  
           if Ekind (Formal) = E_Out_Parameter then
              Incod := Empty;
           end if;
  
!          Insert_Action (N,
             Make_Object_Declaration (Loc,
               Defining_Identifier => Temp,
!              Object_Definition   =>
!                New_Occurrence_Of (Etype (Formal), Loc),
!              Expression => Incod));
  
           --  The actual is simply a reference to the temporary
  
--- 723,823 ----
        end Add_Call_By_Copy_Code;
  
        ----------------------------------
!       -- Add_Simple_Call_By_Copy_Code --
        ----------------------------------
  
!       procedure Add_Simple_Call_By_Copy_Code is
           Temp   : Entity_Id;
+          Decl   : Node_Id;
           Incod  : Node_Id;
           Outcod : Node_Id;
           Lhs    : Node_Id;
           Rhs    : Node_Id;
+          Indic  : Node_Id;
+          F_Typ  : constant Entity_Id := Etype (Formal);
  
        begin
!          if not Is_Legal_Copy then
!             return;
!          end if;
! 
!          --  Use formal type for temp, unless formal type is an unconstrained
!          --  array, in which case we don't have to worry about bounds checks,
!          --  and we use the actual type, since that has appropriate bounds.
! 
!          if Is_Array_Type (F_Typ) and then not Is_Constrained (F_Typ) then
!             Indic := New_Occurrence_Of (Etype (Actual), Loc);
!          else
!             Indic := New_Occurrence_Of (Etype (Formal), Loc);
!          end if;
  
           --  Prepare to generate code
  
+          Reset_Packed_Prefix;
+ 
           Temp := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
           Incod  := Relocate_Node (Actual);
           Outcod := New_Copy_Tree (Incod);
  
           --  Generate declaration of temporary variable, initializing it
!          --  with the input parameter unless we have an OUT formal or
!          --  this is an initialization call.
! 
!          --  If the formal is an out parameter with discriminants, the
!          --  discriminants must be captured even if the rest of the object
!          --  is in principle uninitialized, because the discriminants may
!          --  be read by the called subprogram.
  
           if Ekind (Formal) = E_Out_Parameter then
              Incod := Empty;
+ 
+             if Has_Discriminants (Etype (Formal)) then
+                Indic := New_Occurrence_Of (Etype (Actual), Loc);
+             end if;
+ 
+          elsif Inside_Init_Proc then
+ 
+             --  Could use a comment here to match comment below ???
+ 
+             if Nkind (Actual) /= N_Selected_Component
+               or else
+                 not Has_Discriminant_Dependent_Constraint
+                   (Entity (Selector_Name (Actual)))
+             then
+                Incod := Empty;
+ 
+             --  Otherwise, keep the component in order to generate the proper
+             --  actual subtype, that depends on enclosing discriminants.
+ 
+             else
+                null;
+             end if;
           end if;
  
!          Decl :=
             Make_Object_Declaration (Loc,
               Defining_Identifier => Temp,
!              Object_Definition   => Indic,
!              Expression          => Incod);
! 
!          if Inside_Init_Proc
!            and then No (Incod)
!          then
!             --  If the call is to initialize a component of a composite type,
!             --  and the component does not depend on discriminants, use the
!             --  actual type of the component. This is required in case the
!             --  component is constrained, because in general the formal of the
!             --  initialization procedure will be unconstrained. Note that if
!             --  the component being initialized is constrained by an enclosing
!             --  discriminant, the presence of the initialization in the
!             --  declaration will generate an expression for the actual subtype.
! 
!             Set_No_Initialization (Decl);
!             Set_Object_Definition (Decl,
!               New_Occurrence_Of (Etype (Actual), Loc));
!          end if;
! 
!          Insert_Action (N, Decl);
  
           --  The actual is simply a reference to the temporary
  
*************** package body Exp_Ch6 is
*** 754,761 ****
                Make_Assignment_Statement (Loc,
                  Name       => Lhs,
                  Expression => Rhs));
           end if;
!       end Add_Packed_Call_By_Copy_Code;
  
        ---------------------------
        -- Check_Fortran_Logical --
--- 840,848 ----
                Make_Assignment_Statement (Loc,
                  Name       => Lhs,
                  Expression => Rhs));
+             Set_Assignment_OK (Name (Last (Post_Call)));
           end if;
!       end Add_Simple_Call_By_Copy_Code;
  
        ---------------------------
        -- Check_Fortran_Logical --
*************** package body Exp_Ch6 is
*** 789,794 ****
--- 876,913 ----
           end if;
        end Check_Fortran_Logical;
  
+       -------------------
+       -- Is_Legal_Copy --
+       -------------------
+ 
+       function Is_Legal_Copy return Boolean is
+       begin
+          --  An attempt to copy a value of such a type can only occur if
+          --  representation clauses give the actual a misaligned address.
+ 
+          if Is_By_Reference_Type (Etype (Formal)) then
+             Error_Msg_N
+               ("misaligned actual cannot be passed by reference", Actual);
+             return False;
+ 
+          --  For users of Starlet, we assume that the specification of by-
+          --  reference mechanism is mandatory. This may lead to unligned
+          --  objects but at least for DEC legacy code it is known to work.
+          --  The warning will alert users of this code that a problem may
+          --  be lurking.
+ 
+          elsif Mechanism (Formal) = By_Reference
+            and then Is_Valued_Procedure (Scope (Formal))
+          then
+             Error_Msg_N
+               ("by_reference actual may be misaligned?", Actual);
+             return False;
+ 
+          else
+             return True;
+          end if;
+       end Is_Legal_Copy;
+ 
        --------------
        -- Make_Var --
        --------------
*************** package body Exp_Ch6 is
*** 821,827 ****
  
        procedure Reset_Packed_Prefix is
           Pfx : Node_Id := Actual;
- 
        begin
           loop
              Set_Analyzed (Pfx, False);
--- 940,945 ----
*************** package body Exp_Ch6 is
*** 834,844 ****
     --  Start of processing for Expand_Actuals
  
     begin
-       Formal := First_Formal (Subp);
-       Actual := First_Actual (N);
- 
        Post_Call := New_List;
  
        while Present (Formal) loop
           E_Formal := Etype (Formal);
  
--- 952,961 ----
     --  Start of processing for Expand_Actuals
  
     begin
        Post_Call := New_List;
  
+       Formal := First_Formal (Subp);
+       Actual := First_Actual (N);
        while Present (Formal) loop
           E_Formal := Etype (Formal);
  
*************** package body Exp_Ch6 is
*** 930,936 ****
              --  [in] out parameters.
  
              elsif Is_Ref_To_Bit_Packed_Array (Actual) then
!                Add_Packed_Call_By_Copy_Code;
  
              --  References to slices of bit packed arrays are expanded
  
--- 1047,1060 ----
              --  [in] out parameters.
  
              elsif Is_Ref_To_Bit_Packed_Array (Actual) then
!                Add_Simple_Call_By_Copy_Code;
! 
!             --  If a non-scalar actual is possibly unaligned, we need a copy
! 
!             elsif Is_Possibly_Unaligned_Object (Actual)
!               and then not Represented_As_Scalar (Etype (Formal))
!             then
!                Add_Simple_Call_By_Copy_Code;
  
              --  References to slices of bit packed arrays are expanded
  
*************** package body Exp_Ch6 is
*** 983,989 ****
              --  the special processing above for the OUT and IN OUT cases
              --  could be performed. We could make the test in Exp_Ch4 more
              --  complex and have it detect the parameter mode, but it is
!             --  easier simply to handle all cases here.
  
              if Nkind (Actual) = N_Indexed_Component
                and then Is_Packed (Etype (Prefix (Actual)))
--- 1107,1113 ----
              --  the special processing above for the OUT and IN OUT cases
              --  could be performed. We could make the test in Exp_Ch4 more
              --  complex and have it detect the parameter mode, but it is
!             --  easier simply to handle all cases here.)
  
              if Nkind (Actual) = N_Indexed_Component
                and then Is_Packed (Etype (Prefix (Actual)))
*************** package body Exp_Ch6 is
*** 997,1003 ****
              --  Is this really necessary in all cases???
  
              elsif Is_Ref_To_Bit_Packed_Array (Actual) then
!                Add_Packed_Call_By_Copy_Code;
  
              --  Similarly, we have to expand slices of packed arrays here
              --  because the result must be byte aligned.
--- 1121,1134 ----
              --  Is this really necessary in all cases???
  
              elsif Is_Ref_To_Bit_Packed_Array (Actual) then
!                Add_Simple_Call_By_Copy_Code;
! 
!             --  If a non-scalar actual is possibly unaligned, we need a copy
! 
!             elsif Is_Possibly_Unaligned_Object (Actual)
!               and then not Represented_As_Scalar (Etype (Formal))
!             then
!                Add_Simple_Call_By_Copy_Code;
  
              --  Similarly, we have to expand slices of packed arrays here
              --  because the result must be byte aligned.
*************** package body Exp_Ch6 is
*** 1022,1031 ****
  
        if not Is_Empty_List (Post_Call) then
  
!          --  If call is not a list member, it must be the triggering
!          --  statement of a triggering alternative or an entry call
!          --  alternative, and we can add the post call stuff to the
!          --  corresponding statement list.
  
           if not Is_List_Member (N) then
              declare
--- 1153,1161 ----
  
        if not Is_Empty_List (Post_Call) then
  
!          --  If call is not a list member, it must be the triggering statement
!          --  of a triggering alternative or an entry call alternative, and we
!          --  can add the post call stuff to the corresponding statement list.
  
           if not Is_List_Member (N) then
              declare
*************** package body Exp_Ch6 is
*** 1086,1105 ****
        Actual        : Node_Id;
        Formal        : Entity_Id;
        Prev          : Node_Id := Empty;
!       Prev_Orig     : Node_Id;
        Scop          : Entity_Id;
        Extra_Actuals : List_Id := No_List;
!       Cond          : Node_Id;
  
        procedure Add_Actual_Parameter (Insert_Param : Node_Id);
        --  Adds one entry to the end of the actual parameter list. Used for
!       --  default parameters and for extra actuals (for Extra_Formals).
!       --  The argument is an N_Parameter_Association node.
  
        procedure Add_Extra_Actual (Expr : Node_Id; EF : Entity_Id);
!       --  Adds an extra actual to the list of extra actuals. Expr
!       --  is the expression for the value of the actual, EF is the
!       --  entity for the extra formal.
  
        function Inherited_From_Formal (S : Entity_Id) return Entity_Id;
        --  Within an instance, a type derived from a non-tagged formal derived
--- 1216,1242 ----
        Actual        : Node_Id;
        Formal        : Entity_Id;
        Prev          : Node_Id := Empty;
! 
!       Prev_Orig : Node_Id;
!       --  Original node for an actual, which may have been rewritten. If the
!       --  actual is a function call that has been transformed from a selected
!       --  component, the original node is unanalyzed. Otherwise, it carries
!       --  semantic information used to generate additional actuals.
! 
        Scop          : Entity_Id;
        Extra_Actuals : List_Id := No_List;
! 
!       CW_Interface_Formals_Present : Boolean := False;
  
        procedure Add_Actual_Parameter (Insert_Param : Node_Id);
        --  Adds one entry to the end of the actual parameter list. Used for
!       --  default parameters and for extra actuals (for Extra_Formals). The
!       --  argument is an N_Parameter_Association node.
  
        procedure Add_Extra_Actual (Expr : Node_Id; EF : Entity_Id);
!       --  Adds an extra actual to the list of extra actuals. Expr is the
!       --  expression for the value of the actual, EF is the entity for the
!       --  extra formal.
  
        function Inherited_From_Formal (S : Entity_Id) return Entity_Id;
        --  Within an instance, a type derived from a non-tagged formal derived
*************** package body Exp_Ch6 is
*** 1189,1196 ****
  
           if Nkind (Parent (S)) /= N_Full_Type_Declaration
             or else not Is_Derived_Type (Defining_Identifier (Parent (S)))
!            or else Nkind (Type_Definition (Original_Node (Parent (S))))
!              /= N_Derived_Type_Definition
             or else not In_Instance
           then
              return Empty;
--- 1326,1333 ----
  
           if Nkind (Parent (S)) /= N_Full_Type_Declaration
             or else not Is_Derived_Type (Defining_Identifier (Parent (S)))
!            or else Nkind (Type_Definition (Original_Node (Parent (S)))) /=
!                                                    N_Derived_Type_Definition
             or else not In_Instance
           then
              return Empty;
*************** package body Exp_Ch6 is
*** 1218,1248 ****
              Gen_Par := Generic_Parent_Type (Parent (Par));
           end if;
  
!          --  If the generic parent type is still the generic type, this
!          --  is a private formal, not a derived formal, and there are no
!          --  operations inherited from the formal.
  
           if Nkind (Parent (Gen_Par)) = N_Formal_Type_Declaration then
              return Empty;
           end if;
  
           Gen_Prim := Collect_Primitive_Operations (Gen_Par);
-          Elmt := First_Elmt (Gen_Prim);
  
           while Present (Elmt) loop
              if Chars (Node (Elmt)) = Chars (S) then
                 declare
                    F1 : Entity_Id;
                    F2 : Entity_Id;
-                begin
  
                    F1 := First_Formal (S);
                    F2 := First_Formal (Node (Elmt));
- 
                    while Present (F1)
                      and then Present (F2)
                    loop
- 
                       if Etype (F1) = Etype (F2)
                         or else Etype (F2) = Gen_Par
                       then
--- 1355,1383 ----
              Gen_Par := Generic_Parent_Type (Parent (Par));
           end if;
  
!          --  If the generic parent type is still the generic type, this is a
!          --  private formal, not a derived formal, and there are no operations
!          --  inherited from the formal.
  
           if Nkind (Parent (Gen_Par)) = N_Formal_Type_Declaration then
              return Empty;
           end if;
  
           Gen_Prim := Collect_Primitive_Operations (Gen_Par);
  
+          Elmt := First_Elmt (Gen_Prim);
           while Present (Elmt) loop
              if Chars (Node (Elmt)) = Chars (S) then
                 declare
                    F1 : Entity_Id;
                    F2 : Entity_Id;
  
+                begin
                    F1 := First_Formal (S);
                    F2 := First_Formal (Node (Elmt));
                    while Present (F1)
                      and then Present (F2)
                    loop
                       if Etype (F1) = Etype (F2)
                         or else Etype (F2) = Gen_Par
                       then
*************** package body Exp_Ch6 is
*** 1313,1319 ****
  
              begin
                 --  The case we catch is where the first argument is obtained
!                --  using the Identity attribute (which must always be non-null)
  
                 if Nkind (FA) = N_Attribute_Reference
                   and then Attribute_Name (FA) = Name_Identity
--- 1448,1455 ----
  
              begin
                 --  The case we catch is where the first argument is obtained
!                --  using the Identity attribute (which must always be
!                --  non-null).
  
                 if Nkind (FA) = N_Attribute_Reference
                   and then Attribute_Name (FA) = Name_Identity
*************** package body Exp_Ch6 is
*** 1329,1334 ****
--- 1465,1512 ----
           end if;
        end if;
  
+       --  Ada 2005 (AI-345): We have a procedure call as a triggering
+       --  alternative in an asynchronous select or as an entry call in
+       --  a conditional or timed select. Check whether the procedure call
+       --  is a renaming of an entry and rewrite it as an entry call.
+ 
+       if Ada_Version >= Ada_05
+         and then Nkind (N) = N_Procedure_Call_Statement
+         and then
+            ((Nkind (Parent (N)) = N_Triggering_Alternative
+                and then Triggering_Statement (Parent (N)) = N)
+           or else
+             (Nkind (Parent (N)) = N_Entry_Call_Alternative
+                and then Entry_Call_Statement (Parent (N)) = N))
+       then
+          declare
+             Ren_Decl : Node_Id;
+             Ren_Root : Entity_Id := Subp;
+ 
+          begin
+             --  This may be a chain of renamings, find the root
+ 
+             if Present (Alias (Ren_Root)) then
+                Ren_Root := Alias (Ren_Root);
+             end if;
+ 
+             if Present (Original_Node (Parent (Parent (Ren_Root)))) then
+                Ren_Decl := Original_Node (Parent (Parent (Ren_Root)));
+ 
+                if Nkind (Ren_Decl) = N_Subprogram_Renaming_Declaration then
+                   Rewrite (N,
+                     Make_Entry_Call_Statement (Loc,
+                       Name =>
+                         New_Copy_Tree (Name (Ren_Decl)),
+                       Parameter_Associations =>
+                         New_Copy_List_Tree (Parameter_Associations (N))));
+ 
+                   return;
+                end if;
+             end if;
+          end;
+       end if;
+ 
        --  First step, compute extra actuals, corresponding to any
        --  Extra_Formals present. Note that we do not access Extra_Formals
        --  directly, instead we simply note the presence of the extra
*************** package body Exp_Ch6 is
*** 1355,1370 ****
           Prev := Actual;
           Prev_Orig := Original_Node (Prev);
  
!          --  Create possible extra actual for constrained case. Usually,
!          --  the extra actual is of the form actual'constrained, but since
!          --  this attribute is only available for unconstrained records,
!          --  TRUE is expanded if the type of the formal happens to be
!          --  constrained (for instance when this procedure is inherited
!          --  from an unconstrained record to a constrained one) or if the
!          --  actual has no discriminant (its type is constrained). An
!          --  exception to this is the case of a private type without
!          --  discriminants. In this case we pass FALSE because the
!          --  object has underlying discriminants with defaults.
  
           if Present (Extra_Constrained (Formal)) then
              if Ekind (Etype (Prev)) in Private_Kind
--- 1533,1566 ----
           Prev := Actual;
           Prev_Orig := Original_Node (Prev);
  
!          if not Analyzed (Prev_Orig)
!            and then Nkind (Actual) = N_Function_Call
!          then
!             Prev_Orig := Prev;
!          end if;
! 
!          --  Ada 2005 (AI-251): Check if any formal is a class-wide interface
!          --  to expand it in a further round.
! 
!          CW_Interface_Formals_Present :=
!            CW_Interface_Formals_Present
!              or else
!                (Ekind (Etype (Formal)) = E_Class_Wide_Type
!                   and then Is_Interface (Etype (Etype (Formal))))
!              or else
!                (Ekind (Etype (Formal)) = E_Anonymous_Access_Type
!                  and then Is_Interface (Directly_Designated_Type
!                                          (Etype (Etype (Formal)))));
! 
!          --  Create possible extra actual for constrained case. Usually, the
!          --  extra actual is of the form actual'constrained, but since this
!          --  attribute is only available for unconstrained records, TRUE is
!          --  expanded if the type of the formal happens to be constrained (for
!          --  instance when this procedure is inherited from an unconstrained
!          --  record to a constrained one) or if the actual has no discriminant
!          --  (its type is constrained). An exception to this is the case of a
!          --  private type without discriminants. In this case we pass FALSE
!          --  because the object has underlying discriminants with defaults.
  
           if Present (Extra_Constrained (Formal)) then
              if Ekind (Etype (Prev)) in Private_Kind
*************** package body Exp_Ch6 is
*** 1392,1417 ****
                 --  test applies to the actual, not the target type.
  
                 declare
!                   Act_Prev : Node_Id := Prev;
  
                 begin
!                   --  Test for unchecked conversions as well, which can
!                   --  occur as out parameter actuals on calls to stream
!                   --  procedures.
  
                    while Nkind (Act_Prev) = N_Type_Conversion
                      or else Nkind (Act_Prev) = N_Unchecked_Type_Conversion
                    loop
                       Act_Prev := Expression (Act_Prev);
                    end loop;
  
!                   Add_Extra_Actual (
!                     Make_Attribute_Reference (Sloc (Prev),
!                       Prefix =>
!                         Duplicate_Subexpr_No_Checks
!                           (Act_Prev, Name_Req => True),
!                       Attribute_Name => Name_Constrained),
!                     Extra_Constrained (Formal));
                 end;
              end if;
           end if;
--- 1588,1629 ----
                 --  test applies to the actual, not the target type.
  
                 declare
!                   Act_Prev : Node_Id;
  
                 begin
!                   --  Test for unchecked conversions as well, which can occur
!                   --  as out parameter actuals on calls to stream procedures.
  
+                   Act_Prev := Prev;
                    while Nkind (Act_Prev) = N_Type_Conversion
                      or else Nkind (Act_Prev) = N_Unchecked_Type_Conversion
                    loop
                       Act_Prev := Expression (Act_Prev);
                    end loop;
  
!                   --  If the expression is a conversion of a dereference,
!                   --  this is internally generated code that manipulates
!                   --  addresses, e.g. when building interface tables. No
!                   --  check should occur in this case, and the discriminated
!                   --  object is not directly a hand.
! 
!                   if not Comes_From_Source (Actual)
!                     and then Nkind (Actual) = N_Unchecked_Type_Conversion
!                     and then Nkind (Act_Prev) = N_Explicit_Dereference
!                   then
!                      Add_Extra_Actual
!                        (New_Occurrence_Of (Standard_False, Loc),
!                         Extra_Constrained (Formal));
! 
!                   else
!                      Add_Extra_Actual
!                        (Make_Attribute_Reference (Sloc (Prev),
!                         Prefix =>
!                           Duplicate_Subexpr_No_Checks
!                             (Act_Prev, Name_Req => True),
!                         Attribute_Name => Name_Constrained),
!                         Extra_Constrained (Formal));
!                   end if;
                 end;
              end if;
           end if;
*************** package body Exp_Ch6 is
*** 1438,1447 ****
                       pragma Assert (Present (Parm_Ent));
  
                       if Present (Extra_Accessibility (Parm_Ent)) then
!                         Add_Extra_Actual (
!                           New_Occurrence_Of
!                             (Extra_Accessibility (Parm_Ent), Loc),
!                           Extra_Accessibility (Formal));
  
                       --  If the actual access parameter does not have an
                       --  associated extra formal providing its scope level,
--- 1650,1659 ----
                       pragma Assert (Present (Parm_Ent));
  
                       if Present (Extra_Accessibility (Parm_Ent)) then
!                         Add_Extra_Actual
!                           (New_Occurrence_Of
!                              (Extra_Accessibility (Parm_Ent), Loc),
!                            Extra_Accessibility (Formal));
  
                       --  If the actual access parameter does not have an
                       --  associated extra formal providing its scope level,
*************** package body Exp_Ch6 is
*** 1449,1458 ****
                       --  accessibility.
  
                       else
!                         Add_Extra_Actual (
!                           Make_Integer_Literal (Loc,
!                             Intval => Scope_Depth (Standard_Standard)),
!                           Extra_Accessibility (Formal));
                       end if;
                    end;
  
--- 1661,1670 ----
                       --  accessibility.
  
                       else
!                         Add_Extra_Actual
!                           (Make_Integer_Literal (Loc,
!                            Intval => Scope_Depth (Standard_Standard)),
!                            Extra_Accessibility (Formal));
                       end if;
                    end;
  
*************** package body Exp_Ch6 is
*** 1460,1469 ****
                 --  level of the actual's access type.
  
                 else
!                   Add_Extra_Actual (
!                     Make_Integer_Literal (Loc,
!                       Intval => Type_Access_Level (Etype (Prev_Orig))),
!                     Extra_Accessibility (Formal));
                 end if;
  
              else
--- 1672,1681 ----
                 --  level of the actual's access type.
  
                 else
!                   Add_Extra_Actual
!                     (Make_Integer_Literal (Loc,
!                      Intval => Type_Access_Level (Etype (Prev_Orig))),
!                      Extra_Accessibility (Formal));
                 end if;
  
              else
*************** package body Exp_Ch6 is
*** 1522,1576 ****
              end if;
           end if;
  
!          --  Perform the check of 4.6(49) that prevents a null value
!          --  from being passed as an actual to an access parameter.
!          --  Note that the check is elided in the common cases of
!          --  passing an access attribute or access parameter as an
!          --  actual. Also, we currently don't enforce this check for
!          --  expander-generated actuals and when -gnatdj is set.
  
!          if Ekind (Etype (Formal)) /= E_Anonymous_Access_Type
!            or else Access_Checks_Suppressed (Subp)
!          then
!             null;
  
!          elsif Debug_Flag_J then
!             null;
  
!          elsif not Comes_From_Source (Prev) then
!             null;
  
!          elsif Is_Entity_Name (Prev)
!            and then Ekind (Etype (Prev)) = E_Anonymous_Access_Type
!          then
!             null;
  
!          elsif Nkind (Prev) = N_Allocator
!            or else Nkind (Prev) = N_Attribute_Reference
!          then
!             null;
  
!          --  Suppress null checks when passing to access parameters
!          --  of Java subprograms. (Should this be done for other
!          --  foreign conventions as well ???)
  
!          elsif Convention (Subp) = Convention_Java then
!             null;
  
!             --  Ada 2005 (AI-231): do not force the check in case of Ada 2005
!             --  unless it is a null-excluding type
  
!          elsif Ada_Version < Ada_05
!            or else Can_Never_Be_Null (Etype (Prev))
!          then
!             Cond :=
!               Make_Op_Eq (Loc,
!                 Left_Opnd => Duplicate_Subexpr_No_Checks (Prev),
!                 Right_Opnd => Make_Null (Loc));
!             Insert_Action (Prev,
!               Make_Raise_Constraint_Error (Loc,
!                 Condition => Cond,
!                 Reason    => CE_Access_Parameter_Is_Null));
           end if;
  
           --  Perform appropriate validity checks on parameters that
--- 1734,1792 ----
              end if;
           end if;
  
!          --  Perform the check of 4.6(49) that prevents a null value from being
!          --  passed as an actual to an access parameter. Note that the check is
!          --  elided in the common cases of passing an access attribute or
!          --  access parameter as an actual. Also, we currently don't enforce
!          --  this check for expander-generated actuals and when -gnatdj is set.
  
!          if Ada_Version >= Ada_05 then
  
!             --  Ada 2005 (AI-231): Check null-excluding access types
  
!             if Is_Access_Type (Etype (Formal))
!               and then Can_Never_Be_Null (Etype (Formal))
!               and then Nkind (Prev) /= N_Raise_Constraint_Error
!               and then (Nkind (Prev) = N_Null
!                           or else not Can_Never_Be_Null (Etype (Prev)))
!             then
!                Install_Null_Excluding_Check (Prev);
!             end if;
  
!          --  Ada_Version < Ada_05
  
!          else
!             if Ekind (Etype (Formal)) /= E_Anonymous_Access_Type
!               or else Access_Checks_Suppressed (Subp)
!             then
!                null;
  
!             elsif Debug_Flag_J then
!                null;
  
!             elsif not Comes_From_Source (Prev) then
!                null;
  
!             elsif Is_Entity_Name (Prev)
!               and then Ekind (Etype (Prev)) = E_Anonymous_Access_Type
!             then
!                null;
  
!             elsif Nkind (Prev) = N_Allocator
!               or else Nkind (Prev) = N_Attribute_Reference
!             then
!                null;
! 
!             --  Suppress null checks when passing to access parameters of Java
!             --  subprograms. (Should this be done for other foreign conventions
!             --  as well ???)
! 
!             elsif Convention (Subp) = Convention_Java then
!                null;
! 
!             else
!                Install_Null_Excluding_Check (Prev);
!             end if;
           end if;
  
           --  Perform appropriate validity checks on parameters that
*************** package body Exp_Ch6 is
*** 1720,1725 ****
--- 1936,1951 ----
           end;
        end if;
  
+       --  Ada 2005 (AI-251): If some formal is a class-wide interface, expand
+       --  it to point to the correct secondary virtual table
+ 
+       if (Nkind (N) = N_Function_Call
+            or else Nkind (N) = N_Procedure_Call_Statement)
+         and then CW_Interface_Formals_Present
+       then
+          Expand_Interface_Actuals (N);
+       end if;
+ 
        --  Deals with Dispatch_Call if we still have a call, before expanding
        --  extra actuals since this will be done on the re-analysis of the
        --  dispatching call. Note that we do not try to shorten the actual
*************** package body Exp_Ch6 is
*** 1768,1780 ****
           end loop;
        end if;
  
!       if Ekind (Subp) = E_Procedure
!          or else (Ekind (Subp) = E_Subprogram_Type
!                    and then Etype (Subp) = Standard_Void_Type)
!          or else Is_Entry (Subp)
!       then
!          Expand_Actuals (N, Subp);
!       end if;
  
        --  If the subprogram is a renaming, or if it is inherited, replace it
        --  in the call with the name of the actual subprogram being called.
--- 1994,2003 ----
           end loop;
        end if;
  
!       --  At this point we have all the actuals, so this is the point at
!       --  which the various expansion activities for actuals is carried out.
! 
!       Expand_Actuals (N, Subp);
  
        --  If the subprogram is a renaming, or if it is inherited, replace it
        --  in the call with the name of the actual subprogram being called.
*************** package body Exp_Ch6 is
*** 1820,1826 ****
             or else Is_Generic_Instance (Parent_Subp)
           then
              while Present (Formal) loop
- 
                 if Etype (Formal) /= Etype (Parent_Formal)
                   and then Is_Scalar_Type (Etype (Formal))
                   and then Ekind (Formal) = E_In_Parameter
--- 2043,2048 ----
*************** package body Exp_Ch6 is
*** 1835,1842 ****
                    Enable_Range_Check (Actual);
  
                 elsif Is_Access_Type (Etype (Formal))
!                  and then Base_Type (Etype (Parent_Formal))
!                    /= Base_Type (Etype (Actual))
                 then
                    if Ekind (Formal) /= E_In_Parameter then
                       Rewrite (Actual,
--- 2057,2064 ----
                    Enable_Range_Check (Actual);
  
                 elsif Is_Access_Type (Etype (Formal))
!                  and then Base_Type (Etype (Parent_Formal)) /=
!                           Base_Type (Etype (Actual))
                 then
                    if Ekind (Formal) /= E_In_Parameter then
                       Rewrite (Actual,
*************** package body Exp_Ch6 is
*** 1924,1937 ****
                         Designated_Type (Base_Type (Etype (Ptr)));
  
              begin
!                Obj := Make_Selected_Component (Loc,
!                  Prefix => Unchecked_Convert_To (T, Ptr),
!                  Selector_Name => New_Occurrence_Of (First_Entity (T), Loc));
  
!                Nam := Make_Selected_Component (Loc,
!                  Prefix => Unchecked_Convert_To (T, Ptr),
!                  Selector_Name => New_Occurrence_Of (
!                    Next_Entity (First_Entity (T)), Loc));
  
                 Nam := Make_Explicit_Dereference (Loc, Nam);
  
--- 2146,2162 ----
                         Designated_Type (Base_Type (Etype (Ptr)));
  
              begin
!                Obj :=
!                  Make_Selected_Component (Loc,
!                    Prefix        => Unchecked_Convert_To (T, Ptr),
!                    Selector_Name =>
!                      New_Occurrence_Of (First_Entity (T), Loc));
  
!                Nam :=
!                  Make_Selected_Component (Loc,
!                    Prefix        => Unchecked_Convert_To (T, Ptr),
!                    Selector_Name =>
!                      New_Occurrence_Of (Next_Entity (First_Entity (T)), Loc));
  
                 Nam := Make_Explicit_Dereference (Loc, Nam);
  
*************** package body Exp_Ch6 is
*** 2004,2012 ****
                 --------------------------
  
                 function In_Unfrozen_Instance return Boolean is
!                   S : Entity_Id := Scop;
  
                 begin
                    while Present (S)
                      and then S /= Standard_Standard
                    loop
--- 2229,2238 ----
                 --------------------------
  
                 function In_Unfrozen_Instance return Boolean is
!                   S : Entity_Id;
  
                 begin
+                   S := Scop;
                    while Present (S)
                      and then S /= Standard_Standard
                    loop
*************** package body Exp_Ch6 is
*** 2026,2035 ****
              --  Start of processing for Inlined_Subprogram
  
              begin
!                --  Verify that the body to inline has already been seen,
!                --  and that if the body is in the current unit the inlining
!                --  does not occur earlier. This avoids order-of-elaboration
!                --  problems in gigi.
  
                 if No (Spec)
                   or else Nkind (Spec) /= N_Subprogram_Declaration
--- 2252,2263 ----
              --  Start of processing for Inlined_Subprogram
  
              begin
!                --  Verify that the body to inline has already been seen, and
!                --  that if the body is in the current unit the inlining does
!                --  not occur earlier. This avoids order-of-elaboration problems
!                --  in the back end.
! 
!                --  This should be documented in sinfo/einfo ???
  
                 if No (Spec)
                   or else Nkind (Spec) /= N_Subprogram_Declaration
*************** package body Exp_Ch6 is
*** 2526,2540 ****
                 Original_Assignment : constant Node_Id := Parent (N);
  
              begin
!                --  Preserve the original assignment node to keep the
!                --  complete assignment subtree consistent enough for
!                --  Analyze_Assignment to proceed (specifically, the
!                --  original Lhs node must still have an assignment
!                --  statement as its parent).
  
!                --  We cannot rely on Original_Node to go back from the
!                --  block node to the assignment node, because the
!                --  assignment might already be a rewrite substitution.
  
                 Discard_Node (Relocate_Node (Original_Assignment));
                 Rewrite (Original_Assignment, Blk);
--- 2754,2767 ----
                 Original_Assignment : constant Node_Id := Parent (N);
  
              begin
!                --  Preserve the original assignment node to keep the complete
!                --  assignment subtree consistent enough for Analyze_Assignment
!                --  to proceed (specifically, the original Lhs node must still
!                --  have an assignment statement as its parent).
  
!                --  We cannot rely on Original_Node to go back from the block
!                --  node to the assignment node, because the assignment might
!                --  already be a rewrite substitution.
  
                 Discard_Node (Relocate_Node (Original_Assignment));
                 Rewrite (Original_Assignment, Blk);
*************** package body Exp_Ch6 is
*** 2584,2591 ****
              if Nkind (N) = N_Identifier
                and then Present (Entity (N))
  
!                --  The original node's entity points to the one in the
!                --  copied body.
  
                and then Nkind (Entity (N)) = N_Identifier
                and then Present (Entity (Entity (N)))
--- 2811,2817 ----
              if Nkind (N) = N_Identifier
                and then Present (Entity (N))
  
!                --  Original node's entity points to the one in the copied body
  
                and then Nkind (Entity (N)) = N_Identifier
                and then Present (Entity (Entity (N)))
*************** package body Exp_Ch6 is
*** 2621,2631 ****
     --  Start of processing for Expand_Inlined_Call
  
     begin
!       --  Check for special case of To_Address call, and if so, just
!       --  do an unchecked conversion instead of expanding the call.
!       --  Not only is this more efficient, but it also avoids a
!       --  problem with order of elaboration when address clauses
!       --  are inlined (address expr elaborated at wrong point).
  
        if Subp = RTE (RE_To_Address) then
           Rewrite (N,
--- 2847,2857 ----
     --  Start of processing for Expand_Inlined_Call
  
     begin
!       --  Check for special case of To_Address call, and if so, just do an
!       --  unchecked conversion instead of expanding the call. Not only is this
!       --  more efficient, but it also avoids problem with order of elaboration
!       --  when address clauses are inlined (address expression elaborated at
!       --  wrong point).
  
        if Subp = RTE (RE_To_Address) then
           Rewrite (N,
*************** package body Exp_Ch6 is
*** 2635,2647 ****
           return;
        end if;
  
!       if Nkind (Orig_Bod) = N_Defining_Identifier then
  
           --  Subprogram is a renaming_as_body. Calls appearing after the
           --  renaming can be replaced with calls to the renamed entity
!          --  directly, because the subprograms are subtype conformant.
  
           Set_Name (N, New_Occurrence_Of (Orig_Bod, Loc));
           return;
        end if;
  
--- 2861,2892 ----
           return;
        end if;
  
!       --  Check for an illegal attempt to inline a recursive procedure. If the
!       --  subprogram has parameters this is detected when trying to supply a
!       --  binding for parameters that already have one. For parameterless
!       --  subprograms this must be done explicitly.
! 
!       if In_Open_Scopes (Subp) then
!          Error_Msg_N ("call to recursive subprogram cannot be inlined?", N);
!          Set_Is_Inlined (Subp, False);
!          return;
!       end if;
  
+       if Nkind (Orig_Bod) = N_Defining_Identifier
+         or else Nkind (Orig_Bod) = N_Defining_Operator_Symbol
+       then
           --  Subprogram is a renaming_as_body. Calls appearing after the
           --  renaming can be replaced with calls to the renamed entity
!          --  directly, because the subprograms are subtype conformant. If
!          --  the renamed subprogram is an inherited operation, we must redo
!          --  the expansion because implicit conversions may be needed.
  
           Set_Name (N, New_Occurrence_Of (Orig_Bod, Loc));
+ 
+          if Present (Alias (Orig_Bod)) then
+             Expand_Call (N);
+          end if;
+ 
           return;
        end if;
  
*************** package body Exp_Ch6 is
*** 2672,2694 ****
           Ret_Type := Etype (Subp);
        end if;
  
-       F := First_Formal (Subp);
-       A := First_Actual (N);
- 
        --  Create temporaries for the actuals that are expressions, or that
        --  are scalars and require copying to preserve semantics.
  
        while Present (F) loop
           if Present (Renamed_Object (F)) then
!             Error_Msg_N (" cannot inline call to recursive subprogram", N);
              return;
           end if;
  
           --  If the argument may be a controlling argument in a call within
!          --  the inlined body, we must preserve its classwide nature to
!          --  insure that dynamic dispatching take place subsequently.
!          --  If the formal has a constraint it must be preserved to retain
!          --  the semantics of the body.
  
           if Is_Class_Wide_Type (Etype (F))
             or else (Is_Access_Type (Etype (F))
--- 2917,2938 ----
           Ret_Type := Etype (Subp);
        end if;
  
        --  Create temporaries for the actuals that are expressions, or that
        --  are scalars and require copying to preserve semantics.
  
+       F := First_Formal (Subp);
+       A := First_Actual (N);
        while Present (F) loop
           if Present (Renamed_Object (F)) then
!             Error_Msg_N ("cannot inline call to recursive subprogram", N);
              return;
           end if;
  
           --  If the argument may be a controlling argument in a call within
!          --  the inlined body, we must preserve its classwide nature to insure
!          --  that dynamic dispatching take place subsequently. If the formal
!          --  has a constraint it must be preserved to retain the semantics of
!          --  the body.
  
           if Is_Class_Wide_Type (Etype (F))
             or else (Is_Access_Type (Etype (F))
*************** package body Exp_Ch6 is
*** 2803,2808 ****
--- 3047,3053 ----
  
              Temp :=
                Make_Defining_Identifier (Loc, New_Internal_Name ('C'));
+             Set_Is_Internal (Temp);
  
              Decl :=
                Make_Object_Declaration (Loc,
*************** package body Exp_Ch6 is
*** 2847,2853 ****
        end if;
  
        --  Analyze Blk with In_Inlined_Body set, to avoid spurious errors on
!       --  conflicting private views that Gigi would ignore. If this is a
        --  predefined unit, analyze with checks off, as is done in the non-
        --  inlined run-time units.
  
--- 3092,3098 ----
        end if;
  
        --  Analyze Blk with In_Inlined_Body set, to avoid spurious errors on
!       --  conflicting private views that Gigi would ignore. If this is
        --  predefined unit, analyze with checks off, as is done in the non-
        --  inlined run-time units.
  
*************** package body Exp_Ch6 is
*** 2884,2890 ****
        --  Cleanup mapping between formals and actuals for other expansions
  
        F := First_Formal (Subp);
- 
        while Present (F) loop
           Set_Renamed_Object (F, Empty);
           Next_Formal (F);
--- 3129,3134 ----
*************** package body Exp_Ch6 is
*** 2907,2919 ****
        --  If the call is the right side of an assignment or the expression in
        --  an object declaration, we don't need to create a temp as the left
        --  side will already trigger stack checking if necessary.
  
        ---------------------------
        -- Returned_By_Reference --
        ---------------------------
  
        function Returned_By_Reference return Boolean is
!          S : Entity_Id := Current_Scope;
  
        begin
           if Is_Return_By_Reference_Type (Typ) then
--- 3151,3169 ----
        --  If the call is the right side of an assignment or the expression in
        --  an object declaration, we don't need to create a temp as the left
        --  side will already trigger stack checking if necessary.
+       --
+       --  If the call is a component in an extension aggregate, it will be
+       --  expanded into assignments as well, so no temporary is needed. This
+       --  also solves the problem of functions returning types with unknown
+       --  discriminants, where it is not possible to declare an object of the
+       --  type altogether.
  
        ---------------------------
        -- Returned_By_Reference --
        ---------------------------
  
        function Returned_By_Reference return Boolean is
!          S : Entity_Id;
  
        begin
           if Is_Return_By_Reference_Type (Typ) then
*************** package body Exp_Ch6 is
*** 2924,2932 ****
  
           elsif Requires_Transient_Scope (Typ) then
  
!             --  Verify that the return type of the enclosing function has
!             --  the same constrained status as that of the expression.
  
              while Ekind (S) /= E_Function loop
                 S := Scope (S);
              end loop;
--- 3174,3183 ----
  
           elsif Requires_Transient_Scope (Typ) then
  
!             --  Verify that the return type of the enclosing function has the
!             --  same constrained status as that of the expression.
  
+             S := Current_Scope;
              while Ekind (S) /= E_Function loop
                 S := Scope (S);
              end loop;
*************** package body Exp_Ch6 is
*** 2957,2962 ****
--- 3208,3216 ----
                  and then Expression (Parent (N)) = N
                    and then Nkind (Parent (Parent (N))) = N_Aggregate
                      and then Rhs_Of_Assign_Or_Decl (Parent (Parent (N))))
+            or else
+              (Nkind (Parent (N)) = N_Extension_Aggregate
+                and then Is_Private_Type (Etype (Typ)))
           then
              return True;
           else
*************** package body Exp_Ch6 is
*** 2968,2983 ****
  
     begin
        --  A special check. If stack checking is enabled, and the return type
!       --  might generate a large temporary, and the call is not the right
!       --  side of an assignment, then generate an explicit temporary. We do
!       --  this because otherwise gigi may generate a large temporary on the
!       --  fly and this can cause trouble with stack checking.
  
        --  This is unecessary if the call is the expression in an object
!       --  declaration, or if it appears outside of any library unit. This
!       --  can only happen if it appears as an actual in a library-level
!       --  instance, in which case a temporary will be generated for it once
!       --  the instance itself is installed.
  
        if May_Generate_Large_Temp (Typ)
          and then not Rhs_Of_Assign_Or_Decl (N)
--- 3222,3237 ----
  
     begin
        --  A special check. If stack checking is enabled, and the return type
!       --  might generate a large temporary, and the call is not the right side
!       --  of an assignment, then generate an explicit temporary. We do this
!       --  because otherwise gigi may generate a large temporary on the fly and
!       --  this can cause trouble with stack checking.
  
        --  This is unecessary if the call is the expression in an object
!       --  declaration, or if it appears outside of any library unit. This can
!       --  only happen if it appears as an actual in a library-level instance,
!       --  in which case a temporary will be generated for it once the instance
!       --  itself is installed.
  
        if May_Generate_Large_Temp (Typ)
          and then not Rhs_Of_Assign_Or_Decl (N)
*************** package body Exp_Ch6 is
*** 2986,2995 ****
        then
           if Stack_Checking_Enabled then
  
!             --  Note: it might be thought that it would be OK to use a call
!             --  to Force_Evaluation here, but that's not good enough, because
!             --  that can results in a 'Reference construct that may still
!             --  need a temporary.
  
              declare
                 Loc      : constant Source_Ptr := Sloc (N);
--- 3240,3249 ----
        then
           if Stack_Checking_Enabled then
  
!             --  Note: it might be thought that it would be OK to use a call to
!             --  Force_Evaluation here, but that's not good enough, because
!             --  that can results in a 'Reference construct that may still need
!             --  a temporary.
  
              declare
                 Loc      : constant Source_Ptr := Sloc (N);
*************** package body Exp_Ch6 is
*** 3025,3033 ****
                       --  object is not classwide.
  
                       Proc := Entity (Name (Parent (N)));
                       F    := First_Formal (Proc);
                       A    := First_Actual (Parent (N));
- 
                       while A /= N loop
                          Next_Formal (F);
                          Next_Actual (A);
--- 3279,3287 ----
                       --  object is not classwide.
  
                       Proc := Entity (Name (Parent (N)));
+ 
                       F    := First_Formal (Proc);
                       A    := First_Actual (Parent (N));
                       while A /= N loop
                          Next_Formal (F);
                          Next_Actual (A);
*************** package body Exp_Ch6 is
*** 3086,3094 ****
     --  Add poll call if ATC polling is enabled, unless the body will be
     --  inlined by the back-end.
  
!    --  Add return statement if last statement in body is not a return
!    --  statement (this makes things easier on Gigi which does not want
!    --  to have to handle a missing return).
  
     --  Add call to Activate_Tasks if body is a task activator
  
--- 3340,3348 ----
     --  Add poll call if ATC polling is enabled, unless the body will be
     --  inlined by the back-end.
  
!    --  Add return statement if last statement in body is not a return statement
!    --  (this makes things easier on Gigi which does not want to have to handle
!    --  a missing return).
  
     --  Add call to Activate_Tasks if body is a task activator
  
*************** package body Exp_Ch6 is
*** 3358,3366 ****
          and then not Has_Pragma_Pure_Function (Spec_Id)
        then
           declare
!             F : Entity_Id := First_Formal (Spec_Id);
  
           begin
              while Present (F) loop
                 if Is_Descendent_Of_Address (Etype (F)) then
                    Set_Is_Pure (Spec_Id, False);
--- 3612,3621 ----
          and then not Has_Pragma_Pure_Function (Spec_Id)
        then
           declare
!             F : Entity_Id;
  
           begin
+             F := First_Formal (Spec_Id);
              while Present (F) loop
                 if Is_Descendent_Of_Address (Etype (F)) then
                    Set_Is_Pure (Spec_Id, False);
*************** package body Exp_Ch6 is
*** 3381,3387 ****
  
        if Init_Or_Norm_Scalars and then Is_Subprogram (Spec_Id) then
           declare
!             F : Entity_Id        := First_Formal (Spec_Id);
              V : constant Boolean := Validity_Checks_On;
  
           begin
--- 3636,3642 ----
  
        if Init_Or_Norm_Scalars and then Is_Subprogram (Spec_Id) then
           declare
!             F : Entity_Id;
              V : constant Boolean := Validity_Checks_On;
  
           begin
*************** package body Exp_Ch6 is
*** 3393,3398 ****
--- 3648,3654 ----
  
              --  Loop through formals
  
+             F := First_Formal (Spec_Id);
              while Present (F) loop
                 if Is_Scalar_Type (Etype (F))
                   and then Ekind (F) = E_Out_Parameter
*************** package body Exp_Ch6 is
*** 3412,3420 ****
  
        Scop := Scope (Spec_Id);
  
!       --  Add discriminal renamings to protected subprograms.
!       --  Install new discriminals for expansion of the next
!       --  subprogram of this protected type, if any.
  
        if Is_List_Member (N)
          and then Present (Parent (List_Containing (N)))
--- 3668,3676 ----
  
        Scop := Scope (Spec_Id);
  
!       --  Add discriminal renamings to protected subprograms. Install new
!       --  discriminals for expansion of the next subprogram of this protected
!       --  type, if any.
  
        if Is_List_Member (N)
          and then Present (Parent (List_Containing (N)))
*************** package body Exp_Ch6 is
*** 3425,3433 ****
           Add_Private_Declarations (Declarations (N), Scop, Name_uObject, Loc);
  
           --  Associate privals and discriminals with the next protected
!          --  operation body to be expanded. These are used to expand
!          --  references to private data objects and discriminants,
!          --  respectively.
  
           Next_Op := Next_Protected_Operation (N);
  
--- 3681,3688 ----
           Add_Private_Declarations (Declarations (N), Scop, Name_uObject, Loc);
  
           --  Associate privals and discriminals with the next protected
!          --  operation body to be expanded. These are used to expand references
!          --  to private data objects and discriminants, respectively.
  
           Next_Op := Next_Protected_Operation (N);
  
*************** package body Exp_Ch6 is
*** 3456,3462 ****
        end if;
  
        --  Returns_By_Ref flag is normally set when the subprogram is frozen
!       --  but subprograms with no specs are not frozen
  
        declare
           Typ  : constant Entity_Id := Etype (Spec_Id);
--- 3711,3717 ----
        end if;
  
        --  Returns_By_Ref flag is normally set when the subprogram is frozen
!       --  but subprograms with no specs are not frozen.
  
        declare
           Typ  : constant Entity_Id := Etype (Spec_Id);
*************** package body Exp_Ch6 is
*** 3488,3494 ****
  
           if Present (Exception_Handlers (H)) then
              Except_H := First_Non_Pragma (Exception_Handlers (H));
- 
              while Present (Except_H) loop
                 Add_Return (Statements (Except_H));
                 Next_Non_Pragma (Except_H);
--- 3743,3748 ----
*************** package body Exp_Ch6 is
*** 3565,3571 ****
  
           begin
              Formal := First_Formal (Spec_Id);
- 
              while Present (Formal) loop
                 Floc := Sloc (Formal);
  
--- 3819,3824 ----
*************** package body Exp_Ch6 is
*** 3592,3609 ****
           Expand_Thread_Body;
        end if;
  
-       --  If the subprogram does not have pending instantiations, then we
-       --  must generate the subprogram descriptor now, since the code for
-       --  the subprogram is complete, and this is our last chance. However
-       --  if there are pending instantiations, then the code is not
-       --  complete, and we will delay the generation.
- 
-       if Is_Subprogram (Spec_Id)
-         and then not Delay_Subprogram_Descriptors (Spec_Id)
-       then
-          Generate_Subprogram_Descriptor_For_Subprogram (N, Spec_Id);
-       end if;
- 
        --  Set to encode entity names in package body before gigi is called
  
        Qualify_Entity_Names (N);
--- 3845,3850 ----
*************** package body Exp_Ch6 is
*** 3630,3635 ****
--- 3871,3878 ----
     --  protected subprogram an associated formals. For a normal protected
     --  operation, this is done when expanding the protected type declaration.
  
+    --  If the declaration is for a null procedure, emit null body
+ 
     procedure Expand_N_Subprogram_Declaration (N : Node_Id) is
        Loc       : constant Source_Ptr := Sloc (N);
        Subp      : constant Entity_Id  := Defining_Entity (N);
*************** package body Exp_Ch6 is
*** 3639,3646 ****
        Prot_Id   : Entity_Id;
  
     begin
!       --  Deal with case of protected subprogram. Do not generate
!       --  protected operation if operation is flagged as eliminated.
  
        if Is_List_Member (N)
          and then Present (Parent (List_Containing (N)))
--- 3882,3889 ----
        Prot_Id   : Entity_Id;
  
     begin
!       --  Deal with case of protected subprogram. Do not generate protected
!       --  operation if operation is flagged as eliminated.
  
        if Is_List_Member (N)
          and then Present (Parent (List_Containing (N)))
*************** package body Exp_Ch6 is
*** 3654,3660 ****
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (N, Scop, Unprotected => True));
  
              --  The protected subprogram is declared outside of the protected
              --  body. Given that the body has frozen all entities so far, we
--- 3897,3903 ----
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (N, Scop, Unprotected_Mode));
  
              --  The protected subprogram is declared outside of the protected
              --  body. Given that the body has frozen all entities so far, we
*************** package body Exp_Ch6 is
*** 3677,3682 ****
--- 3920,3954 ----
              Set_Protected_Body_Subprogram (Subp, Prot_Id);
              Pop_Scope;
           end if;
+ 
+       elsif Nkind (Specification (N)) = N_Procedure_Specification
+         and then Null_Present (Specification (N))
+       then
+          declare
+             Bod : constant Node_Id :=
+                     Make_Subprogram_Body (Loc,
+                       Specification =>
+                         New_Copy_Tree (Specification (N)),
+                       Declarations => New_List,
+                      Handled_Statement_Sequence =>
+                         Make_Handled_Sequence_Of_Statements (Loc,
+                           Statements => New_List (Make_Null_Statement (Loc))));
+          begin
+             Set_Body_To_Inline (N, Bod);
+             Insert_After (N, Bod);
+             Analyze (Bod);
+ 
+             --  Corresponding_Spec isn't being set by Analyze_Subprogram_Body,
+             --  evidently because Set_Has_Completion is called earlier for null
+             --  procedures in Analyze_Subprogram_Declaration, so we force its
+             --  setting here. If the setting of Has_Completion is not set
+             --  earlier, then it can result in missing body errors if other
+             --  errors were already reported (since expansion is turned off).
+ 
+             --  Should creation of the empty body be moved to the analyzer???
+ 
+             Set_Corresponding_Spec (Bod, Defining_Entity (Specification (N)));
+          end;
        end if;
     end Expand_N_Subprogram_Declaration;
  
*************** package body Exp_Ch6 is
*** 3699,3716 ****
        Rec := Make_Identifier (Loc, Name_uObject);
        Set_Etype (Rec, Corresponding_Record_Type (Scop));
  
!       --  Find enclosing protected operation, and retrieve its first
!       --  parameter, which denotes the enclosing protected object.
!       --  If the enclosing operation is an entry, we are immediately
!       --  within the protected body, and we can retrieve the object
!       --  from the service entries procedure. A barrier function has
!       --  has the same signature as an entry. A barrier function is
!       --  compiled within the protected object, but unlike protected
!       --  operations its never needs locks, so that its protected body
!       --  subprogram points to itself.
  
        Proc := Current_Scope;
- 
        while Present (Proc)
          and then Scope (Proc) /= Scop
        loop
--- 3971,3986 ----
        Rec := Make_Identifier (Loc, Name_uObject);
        Set_Etype (Rec, Corresponding_Record_Type (Scop));
  
!       --  Find enclosing protected operation, and retrieve its first parameter,
!       --  which denotes the enclosing protected object. If the enclosing
!       --  operation is an entry, we are immediately within the protected body,
!       --  and we can retrieve the object from the service entries procedure. A
!       --  barrier function has has the same signature as an entry. A barrier
!       --  function is compiled within the protected object, but unlike
!       --  protected operations its never needs locks, so that its protected
!       --  body subprogram points to itself.
  
        Proc := Current_Scope;
        while Present (Proc)
          and then Scope (Proc) /= Scop
        loop
*************** package body Exp_Ch6 is
*** 3738,3754 ****
  
           Set_Entity (Rec, Param);
  
!          --  Rec is a reference to an entity which will not be in scope
!          --  when the call is reanalyzed, and needs no further analysis.
  
           Set_Analyzed (Rec);
  
        else
!          --  Entry or barrier function for entry body.
!          --  The first parameter of the entry body procedure is a
!          --  pointer to the object. We create a local variable
!          --  of the proper type, duplicating what is done to define
!          --  _object later on.
  
           declare
              Decls : List_Id;
--- 4008,4023 ----
  
           Set_Entity (Rec, Param);
  
!          --  Rec is a reference to an entity which will not be in scope when
!          --  the call is reanalyzed, and needs no further analysis.
  
           Set_Analyzed (Rec);
  
        else
!          --  Entry or barrier function for entry body. The first parameter of
!          --  the entry body procedure is pointer to the object. We create a
!          --  local variable of the proper type, duplicating what is done to
!          --  define _object later on.
  
           declare
              Decls : List_Id;
*************** package body Exp_Ch6 is
*** 3774,3782 ****
                  Unchecked_Convert_To (Obj_Ptr,
                    New_Occurrence_Of (Param, Loc)));
  
!             --  Analyze new actual. Other actuals in calls are already
!             --  analyzed and the list of actuals is not renalyzed after
!             --  rewriting.
  
              Set_Parent (Rec, N);
              Analyze (Rec);
--- 4043,4050 ----
                  Unchecked_Convert_To (Obj_Ptr,
                    New_Occurrence_Of (Param, Loc)));
  
!             --  Analyze new actual. Other actuals in calls are already analyzed
!             --  and the list of actuals is not renalyzed after rewriting.
  
              Set_Parent (Rec, N);
              Analyze (Rec);
*************** package body Exp_Ch6 is
*** 3852,3858 ****
     -----------------------
  
     procedure Freeze_Subprogram (N : Node_Id) is
!       E : constant Entity_Id := Entity (N);
  
     begin
        --  When a primitive is frozen, enter its name in the corresponding
--- 4120,4430 ----
     -----------------------
  
     procedure Freeze_Subprogram (N : Node_Id) is
!       Loc : constant Source_Ptr := Sloc (N);
!       E   : constant Entity_Id  := Entity (N);
! 
!       procedure Check_Overriding_Inherited_Interfaces (E : Entity_Id);
!       --  (Ada 2005): Check if the primitive E covers some interface already
!       --  implemented by some ancestor of the tagged-type associated with E.
! 
!       procedure Register_Interface_DT_Entry
!         (Prim                : Entity_Id;
!          Ancestor_Iface_Prim : Entity_Id := Empty);
!       --  (Ada 2005): Register an interface primitive in a secondary dispatch
!       --  table. If Prim overrides an ancestor primitive of its associated
!       --  tagged-type then Ancestor_Iface_Prim indicates the entity of that
!       --  immediate ancestor associated with the interface; otherwise Prim and
!       --  Ancestor_Iface_Prim have the same info.
! 
!       procedure Register_Predefined_DT_Entry (Prim : Entity_Id);
!       --  (Ada 2005): Register a predefined primitive in all the secondary
!       --  dispatch tables of its primitive type.
! 
!       -------------------------------------------
!       -- Check_Overriding_Inherited_Interfaces --
!       -------------------------------------------
! 
!       procedure Check_Overriding_Inherited_Interfaces (E : Entity_Id) is
!          Typ          : Entity_Id;
!          Elmt         : Elmt_Id;
!          Prim_Op      : Entity_Id;
!          Overriden_Op : Entity_Id := Empty;
! 
!       begin
!          if Ada_Version < Ada_05
!            or else not Is_Overriding_Operation (E)
!            or else Is_Predefined_Dispatching_Operation (E)
!            or else Present (Alias (E))
!          then
!             return;
!          end if;
! 
!          --  Get the entity associated with this primitive operation
! 
!          Typ := Scope (DTC_Entity (E));
!          loop
!             exit when Etype (Typ) = Typ
!               or else (Present (Full_View (Etype (Typ)))
!                          and then Full_View (Etype (Typ)) = Typ);
! 
!             --  Climb to the immediate ancestor handling private types
! 
!             if Present (Full_View (Etype (Typ))) then
!                Typ := Full_View (Etype (Typ));
!             else
!                Typ := Etype (Typ);
!             end if;
! 
!             if Present (Abstract_Interfaces (Typ)) then
! 
!                --  Look for the overriden subprogram in the primary dispatch
!                --  table of the ancestor.
! 
!                Overriden_Op := Empty;
!                Elmt         := First_Elmt (Primitive_Operations (Typ));
!                while Present (Elmt) loop
!                   Prim_Op := Node (Elmt);
! 
!                   if Chars (Prim_Op) = Chars (E)
!                     and then Type_Conformant
!                                (New_Id => Prim_Op,
!                                 Old_Id => E,
!                                 Skip_Controlling_Formals => True)
!                     and then DT_Position (Prim_Op) = DT_Position (E)
!                     and then Etype (DTC_Entity (Prim_Op)) = RTE (RE_Tag)
!                     and then not Present (Abstract_Interface_Alias (Prim_Op))
!                   then
!                      if Overriden_Op = Empty then
!                         Overriden_Op := Prim_Op;
! 
!                      --  Additional check to ensure that if two candidates have
!                      --  been found then they refer to the same subprogram.
! 
!                      else
!                         declare
!                            A1 : Entity_Id;
!                            A2 : Entity_Id;
! 
!                         begin
!                            A1 := Overriden_Op;
!                            while Present (Alias (A1)) loop
!                               A1 := Alias (A1);
!                            end loop;
! 
!                            A2 := Prim_Op;
!                            while Present (Alias (A2)) loop
!                               A2 := Alias (A2);
!                            end loop;
! 
!                            if A1 /= A2 then
!                               raise Program_Error;
!                            end if;
!                         end;
!                      end if;
!                   end if;
! 
!                   Next_Elmt (Elmt);
!                end loop;
! 
!                --  If not found this is the first overriding of some abstract
!                --  interface.
! 
!                if Overriden_Op /= Empty then
! 
!                   --  Find the entries associated with interfaces that are
!                   --  alias of this primitive operation in the ancestor.
! 
!                   Elmt := First_Elmt (Primitive_Operations (Typ));
!                   while Present (Elmt) loop
!                      Prim_Op := Node (Elmt);
! 
!                      if Present (Abstract_Interface_Alias (Prim_Op))
!                        and then Alias (Prim_Op) = Overriden_Op
!                      then
!                         Register_Interface_DT_Entry (E, Prim_Op);
!                      end if;
! 
!                      Next_Elmt (Elmt);
!                   end loop;
!                end if;
!             end if;
!          end loop;
!       end Check_Overriding_Inherited_Interfaces;
! 
!       ---------------------------------
!       -- Register_Interface_DT_Entry --
!       ---------------------------------
! 
!       procedure Register_Interface_DT_Entry
!         (Prim                : Entity_Id;
!          Ancestor_Iface_Prim : Entity_Id := Empty)
!       is
!          Prim_Typ     : Entity_Id;
!          Prim_Op      : Entity_Id;
!          Iface_Typ    : Entity_Id;
!          Iface_DT_Ptr : Entity_Id;
!          Iface_Tag    : Entity_Id;
!          New_Thunk    : Node_Id;
!          Thunk_Id     : Entity_Id;
! 
!       begin
!          if not Present (Ancestor_Iface_Prim) then
!             Prim_Typ  := Scope (DTC_Entity (Alias (Prim)));
!             Iface_Typ := Scope (DTC_Entity (Abstract_Interface_Alias (Prim)));
! 
!             --  Generate the code of the thunk only when this primitive
!             --  operation is associated with a secondary dispatch table.
! 
!             if Is_Interface (Iface_Typ) then
!                Iface_Tag := Find_Interface_Tag
!                               (T     => Prim_Typ,
!                                Iface => Iface_Typ);
! 
!                if Etype (Iface_Tag) = RTE (RE_Interface_Tag) then
!                   Thunk_Id  :=
!                     Make_Defining_Identifier (Loc,
!                       Chars => New_Internal_Name ('T'));
! 
!                   New_Thunk :=
!                     Expand_Interface_Thunk
!                       (N           => Prim,
!                        Thunk_Alias => Alias (Prim),
!                        Thunk_Id    => Thunk_Id,
!                        Thunk_Tag   => Iface_Tag);
! 
!                   Insert_After (N, New_Thunk);
! 
!                   Iface_DT_Ptr :=
!                     Find_Interface_ADT
!                       (T     => Prim_Typ,
!                        Iface => Iface_Typ);
! 
!                   Insert_After (New_Thunk,
!                     Fill_Secondary_DT_Entry (Sloc (Prim),
!                       Prim         => Prim,
!                       Iface_DT_Ptr => Iface_DT_Ptr,
!                       Thunk_Id     => Thunk_Id));
!                end if;
!             end if;
! 
!          else
!             Iface_Typ :=
!               Scope (DTC_Entity (Abstract_Interface_Alias
!                                   (Ancestor_Iface_Prim)));
! 
!             Iface_Tag :=
!               Find_Interface_Tag
!                 (T     => Scope (DTC_Entity (Alias (Ancestor_Iface_Prim))),
!                  Iface => Iface_Typ);
! 
!             --  Generate the thunk only if the associated tag is an interface
!             --  tag. The case in which the associated tag is the primary tag
!             --  occurs when a tagged type is a direct derivation of an
!             --  interface. For example:
! 
!             --    type I is interface;
!             --    ...
!             --    type T is new I with ...
! 
!             if Etype (Iface_Tag) = RTE (RE_Interface_Tag) then
!                Thunk_Id :=
!                  Make_Defining_Identifier (Loc,
!                    Chars => New_Internal_Name ('T'));
! 
!                if Present (Alias (Prim)) then
!                   Prim_Op := Alias (Prim);
!                else
!                   Prim_Op := Prim;
!                end if;
! 
!                New_Thunk :=
!                  Expand_Interface_Thunk
!                    (N           => Ancestor_Iface_Prim,
!                     Thunk_Alias => Prim_Op,
!                     Thunk_Id    => Thunk_Id,
!                     Thunk_Tag   => Iface_Tag);
! 
!                Insert_After (N, New_Thunk);
! 
!                Iface_DT_Ptr :=
!                  Find_Interface_ADT
!                    (T     => Scope (DTC_Entity (Prim_Op)),
!                     Iface => Iface_Typ);
! 
!                Insert_After (New_Thunk,
!                  Fill_Secondary_DT_Entry (Sloc (Prim),
!                    Prim         => Ancestor_Iface_Prim,
!                    Iface_DT_Ptr => Iface_DT_Ptr,
!                    Thunk_Id     => Thunk_Id));
!             end if;
!          end if;
!       end Register_Interface_DT_Entry;
! 
!       ----------------------------------
!       -- Register_Predefined_DT_Entry --
!       ----------------------------------
! 
!       procedure Register_Predefined_DT_Entry (Prim : Entity_Id) is
!          Iface_DT_Ptr : Elmt_Id;
!          Iface_Tag    : Entity_Id;
!          Iface_Typ    : Elmt_Id;
!          New_Thunk    : Entity_Id;
!          Prim_Typ     : Entity_Id;
!          Thunk_Id     : Entity_Id;
! 
!       begin
!          Prim_Typ := Scope (DTC_Entity (Prim));
! 
!          if not Present (Access_Disp_Table (Prim_Typ))
!            or else not Present (Abstract_Interfaces (Prim_Typ))
!          then
!             return;
!          end if;
! 
!          --  Skip the first acces-to-dispatch-table pointer since it leads
!          --  to the primary dispatch table. We are only concerned with the
!          --  secondary dispatch table pointers. Note that the access-to-
!          --  dispatch-table pointer corresponds to the first implemented
!          --  interface retrieved below.
! 
!          Iface_DT_Ptr := Next_Elmt (First_Elmt (Access_Disp_Table (Prim_Typ)));
!          Iface_Typ := First_Elmt (Abstract_Interfaces (Prim_Typ));
!          while Present (Iface_DT_Ptr) and then Present (Iface_Typ) loop
!             Iface_Tag := Find_Interface_Tag (Prim_Typ, Node (Iface_Typ));
!             pragma Assert (Present (Iface_Tag));
! 
!             if Etype (Iface_Tag) = RTE (RE_Interface_Tag) then
!                Thunk_Id := Make_Defining_Identifier (Loc,
!                              New_Internal_Name ('T'));
! 
!                New_Thunk :=
!                  Expand_Interface_Thunk
!                   (N           => Prim,
!                    Thunk_Alias => Prim,
!                    Thunk_Id    => Thunk_Id,
!                    Thunk_Tag   => Iface_Tag);
! 
!                Insert_After (N, New_Thunk);
!                Insert_After (New_Thunk,
!                  Make_DT_Access_Action (Node (Iface_Typ),
!                    Action => Set_Prim_Op_Address,
!                    Args   => New_List (
!                      Unchecked_Convert_To (RTE (RE_Tag),
!                        New_Reference_To (Node (Iface_DT_Ptr), Loc)),
! 
!                      Make_Integer_Literal (Loc, DT_Position (Prim)),
! 
!                      Make_Attribute_Reference (Loc,
!                        Prefix         => New_Reference_To (Thunk_Id, Loc),
!                        Attribute_Name => Name_Address))));
!             end if;
! 
!             Next_Elmt (Iface_DT_Ptr);
!             Next_Elmt (Iface_Typ);
!          end loop;
!       end Register_Predefined_DT_Entry;
! 
!    --  Start of processing for Freeze_Subprogram
  
     begin
        --  When a primitive is frozen, enter its name in the corresponding
*************** package body Exp_Ch6 is
*** 3864,3879 ****
        if Is_Dispatching_Operation (E)
          and then not Is_Abstract (E)
          and then Present (DTC_Entity (E))
-         and then not Is_CPP_Class (Scope (DTC_Entity (E)))
          and then not Java_VM
        then
           Check_Overriding_Operation (E);
!          Insert_After (N, Fill_DT_Entry (Sloc (N), E));
        end if;
  
        --  Mark functions that return by reference. Note that it cannot be
        --  part of the normal semantic analysis of the spec since the
!       --  underlying returned type may not be known yet (for private types)
  
        declare
           Typ  : constant Entity_Id := Etype (E);
--- 4436,4489 ----
        if Is_Dispatching_Operation (E)
          and then not Is_Abstract (E)
          and then Present (DTC_Entity (E))
          and then not Java_VM
+         and then not Is_CPP_Class (Scope (DTC_Entity (E)))
        then
           Check_Overriding_Operation (E);
! 
!          if Ada_Version < Ada_05 then
!             Insert_After (N,
!               Fill_DT_Entry (Sloc (N), Prim => E));
! 
!          else
!             declare
!                Typ : constant Entity_Id := Scope (DTC_Entity (E));
! 
!             begin
!                --  There is no dispatch table associated with abstract
!                --  interface types; each type implementing interfaces
!                --  will fill the associated secondary DT entries.
! 
!                if not Is_Interface (Typ)
!                  or else Present (Alias (E))
!                then
!                   --  Ada 2005 (AI-251): Check if this entry corresponds with
!                   --  a subprogram that covers an abstract interface type.
! 
!                   if Present (Abstract_Interface_Alias (E)) then
!                      Register_Interface_DT_Entry (E);
! 
!                   --  Common case: Primitive subprogram
! 
!                   else
!                      --  Generate thunks for all the predefined operations
! 
!                      if Is_Predefined_Dispatching_Operation (E) then
!                         Register_Predefined_DT_Entry (E);
!                      end if;
! 
!                      Insert_After (N,
!                        Fill_DT_Entry (Sloc (N), Prim => E));
!                      Check_Overriding_Inherited_Interfaces (E);
!                   end if;
!                end if;
!             end;
!          end if;
        end if;
  
        --  Mark functions that return by reference. Note that it cannot be
        --  part of the normal semantic analysis of the spec since the
!       --  underlying returned type may not be known yet (for private types).
  
        declare
           Typ  : constant Entity_Id := Etype (E);
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch6.ads gcc-4.1.0/gcc/ada/exp_ch6.ads
*** gcc-4.0.2/gcc/ada/exp_ch6.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch6.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch7.adb gcc-4.1.0/gcc/ada/exp_ch7.adb
*** gcc-4.0.2/gcc/ada/exp_ch7.adb	Wed Dec  8 11:45:51 2004
--- gcc-4.1.0/gcc/ada/exp_ch7.adb	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Ch7 is
*** 291,297 ****
     --      controller but this would not tackle view conversions properly.
     --    - A classwide type can always potentially have controlled components
     --      but the record controller of the corresponding actual type may not
!    --      be nown at compile time so the dispatch table contains a special
     --      field that allows to compute the offset of the record controller
     --      dynamically. See s-finimp.Deep_Tag_Attach and a-tags.RC_Offset
  
--- 291,297 ----
     --      controller but this would not tackle view conversions properly.
     --    - A classwide type can always potentially have controlled components
     --      but the record controller of the corresponding actual type may not
!    --      be known at compile time so the dispatch table contains a special
     --      field that allows to compute the offset of the record controller
     --      dynamically. See s-finimp.Deep_Tag_Attach and a-tags.RC_Offset
  
*************** package body Exp_Ch7 is
*** 984,990 ****
          and then Present (Atyp)
          and then
            (Is_Private_Type (Ftyp) or else Is_Private_Type (Atyp))
!         and then Underlying_Type (Atyp) = Underlying_Type (Ftyp)
        then
           return Unchecked_Convert_To (Ftyp, Arg);
  
--- 984,992 ----
          and then Present (Atyp)
          and then
            (Is_Private_Type (Ftyp) or else Is_Private_Type (Atyp))
!         and then
!            Base_Type (Underlying_Type (Atyp)) =
!              Base_Type (Underlying_Type (Ftyp))
        then
           return Unchecked_Convert_To (Ftyp, Arg);
  
*************** package body Exp_Ch7 is
*** 1558,1576 ****
        end if;
  
        Set_Elaboration_Flag (N, Corresponding_Spec (N));
- 
-       --  Generate a subprogram descriptor for the elaboration routine of
-       --  a package body if the package body has no pending instantiations
-       --  and it has generated at least one exception handler
- 
-       if Present (Handler_Records (Body_Entity (Ent)))
-         and then Is_Compilation_Unit (Ent)
-         and then not Delay_Subprogram_Descriptors (Body_Entity (Ent))
-       then
-          Generate_Subprogram_Descriptor_For_Package
-            (N, Body_Entity (Ent));
-       end if;
- 
        Set_In_Package_Body (Ent, False);
  
        --  Set to encode entity names in package body before gigi is called
--- 1560,1565 ----
*************** package body Exp_Ch7 is
*** 1756,1762 ****
                   N_Procedure_Call_Statement =>
                 if Nkind (Parent (The_Parent)) = N_Entry_Call_Alternative
                   and then
!                    Nkind (Parent (Parent (The_Parent))) = N_Timed_Entry_Call
                 then
                    return Parent (Parent (The_Parent));
                 else
--- 1745,1755 ----
                   N_Procedure_Call_Statement =>
                 if Nkind (Parent (The_Parent)) = N_Entry_Call_Alternative
                   and then
!                    (Nkind (Parent (Parent (The_Parent)))
!                      = N_Timed_Entry_Call
!                    or else
!                      Nkind (Parent (Parent (The_Parent)))
!                        = N_Conditional_Entry_Call)
                 then
                    return Parent (Parent (The_Parent));
                 else
*************** package body Exp_Ch7 is
*** 1800,1805 ****
--- 1793,1805 ----
                    return The_Parent;
                 end if;
  
+             --  A raise statement can be wrapped. This will arise when the
+             --  expression in a raise_with_expression uses the secondary
+             --  stack, for example.
+ 
+             when N_Raise_Statement  =>
+                return The_Parent;
+ 
              --  If the expression is within the iteration scheme of a loop,
              --  we must create a declaration for it, followed by an assignment
              --  in order to have a usable statement to wrap.
*************** package body Exp_Ch7 is
*** 2139,2145 ****
  
           --  Add statements to the cleanup handler of the (ordinary)
           --  subprogram expanded to implement a protected subprogram,
!          --  unlocking the protected object parameter and undeferring abortion.
           --  If this is a protected procedure, and the object contains
           --  entries, this also calls the entry service routine.
  
--- 2139,2145 ----
  
           --  Add statements to the cleanup handler of the (ordinary)
           --  subprogram expanded to implement a protected subprogram,
!          --  unlocking the protected object parameter and undeferring abort.
           --  If this is a protected procedure, and the object contains
           --  entries, this also calls the entry service routine.
  
*************** package body Exp_Ch7 is
*** 2214,2219 ****
--- 2214,2221 ----
                or else Has_Interrupt_Handler (Pid)
                or else (Has_Attach_Handler (Pid)
                           and then not Restricted_Profile)
+               or else (Ada_Version >= Ada_05
+                          and then Present (Interface_List (Parent (Pid))))
              then
                 if Abort_Allowed
                   or else Restriction_Active (No_Entry_Queue) = False
*************** package body Exp_Ch7 is
*** 2733,2745 ****
        Utyp := Underlying_Type (Base_Type (Utyp));
        Set_Assignment_OK (Cref);
  
!       --  Deal with non-tagged derivation of private views
  
        if Is_Untagged_Derivation (Typ) then
!          Utyp := Underlying_Type (Root_Type (Base_Type (Typ)));
           Cref := Unchecked_Convert_To (Utyp, Cref);
           Set_Assignment_OK (Cref);
-          --  To prevent problems with UC see 1.156 RH ???
        end if;
  
        --  If the underlying_type is a subtype, we are dealing with
--- 2735,2761 ----
        Utyp := Underlying_Type (Base_Type (Utyp));
        Set_Assignment_OK (Cref);
  
!       --  Deal with non-tagged derivation of private views. If the parent is
!       --  now known to be protected, the finalization routine is the one
!       --  defined on the corresponding record of the ancestor (corresponding
!       --  records do not automatically inherit operations, but maybe they
!       --  should???)
  
        if Is_Untagged_Derivation (Typ) then
!          if Is_Protected_Type (Typ) then
!             Utyp := Corresponding_Record_Type (Root_Type (Base_Type (Typ)));
!          else
!             Utyp := Underlying_Type (Root_Type (Base_Type (Typ)));
!          end if;
! 
           Cref := Unchecked_Convert_To (Utyp, Cref);
+ 
+          --  We need to set Assignment_OK to prevent problems with unchecked
+          --  conversions, where we do not want them to be converted back in the
+          --  case of untagged record derivation (see code in Make_*_Call
+          --  procedures for similar situations).
+ 
           Set_Assignment_OK (Cref);
        end if;
  
        --  If the underlying_type is a subtype, we are dealing with
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch7.ads gcc-4.1.0/gcc/ada/exp_ch7.ads
*** gcc-4.0.2/gcc/ada/exp_ch7.ads	Mon Jan  3 15:38:00 2005
--- gcc-4.1.0/gcc/ada/exp_ch7.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Exp_Ch7 is
*** 164,170 ****
     function Cleanup_Protected_Object
       (N   : Node_Id;
        Ref : Node_Id) return Node_Id;
!    --  Generate code to finalize a protected object without entries.
  
     function Cleanup_Record
       (N   : Node_Id;
--- 164,170 ----
     function Cleanup_Protected_Object
       (N   : Node_Id;
        Ref : Node_Id) return Node_Id;
!    --  Generate code to finalize a protected object without entries
  
     function Cleanup_Record
       (N   : Node_Id;
*************** package Exp_Ch7 is
*** 176,185 ****
     function Cleanup_Task
       (N   : Node_Id;
        Ref : Node_Id) return Node_Id;
!    --  Generate code to finalize a task.
  
     function Has_Simple_Protected_Object (T : Entity_Id) return Boolean;
!    --  Check whether composite type contains a simple protected component.
  
     function Is_Simple_Protected_Type (T : Entity_Id) return Boolean;
     --  Check whether argument is a protected type without entries.
--- 176,185 ----
     function Cleanup_Task
       (N   : Node_Id;
        Ref : Node_Id) return Node_Id;
!    --  Generate code to finalize a task
  
     function Has_Simple_Protected_Object (T : Entity_Id) return Boolean;
!    --  Check whether composite type contains a simple protected component
  
     function Is_Simple_Protected_Type (T : Entity_Id) return Boolean;
     --  Check whether argument is a protected type without entries.
*************** package Exp_Ch7 is
*** 203,209 ****
     --  secondary stack is brought in, otherwise it isn't.
  
     function Node_To_Be_Wrapped return Node_Id;
!    --  return the node to be wrapped if the current scope is transient.
  
     procedure Store_Before_Actions_In_Scope (L : List_Id);
     --  Append the list L of actions to the end of the before-actions store
--- 203,209 ----
     --  secondary stack is brought in, otherwise it isn't.
  
     function Node_To_Be_Wrapped return Node_Id;
!    --  return the node to be wrapped if the current scope is transient
  
     procedure Store_Before_Actions_In_Scope (L : List_Id);
     --  Append the list L of actions to the end of the before-actions store
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch8.adb gcc-4.1.0/gcc/ada/exp_ch8.adb
*** gcc-4.0.2/gcc/ada/exp_ch8.adb	Wed Dec  8 11:49:37 2004
--- gcc-4.1.0/gcc/ada/exp_ch8.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch8.ads gcc-4.1.0/gcc/ada/exp_ch8.ads
*** gcc-4.0.2/gcc/ada/exp_ch8.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_ch8.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch9.adb gcc-4.1.0/gcc/ada/exp_ch9.adb
*** gcc-4.0.2/gcc/ada/exp_ch9.adb	Wed Dec  8 11:49:38 2004
--- gcc-4.1.0/gcc/ada/exp_ch9.adb	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Restrict; use Restrict;
*** 46,52 ****
  with Rident;   use Rident;
  with Rtsfind;  use Rtsfind;
  with Sem;      use Sem;
! with Sem_Ch6;
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Ch11; use Sem_Ch11;
  with Sem_Elab; use Sem_Elab;
--- 46,52 ----
  with Rident;   use Rident;
  with Rtsfind;  use Rtsfind;
  with Sem;      use Sem;
! with Sem_Ch6;  use Sem_Ch6;
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Ch11; use Sem_Ch11;
  with Sem_Elab; use Sem_Elab;
*************** with Snames;   use Snames;
*** 57,67 ****
  with Stand;    use Stand;
  with Targparm; use Targparm;
  with Tbuild;   use Tbuild;
- with Types;    use Types;
  with Uintp;    use Uintp;
  
  package body Exp_Ch9 is
  
     -----------------------
     -- Local Subprograms --
     -----------------------
--- 57,306 ----
  with Stand;    use Stand;
  with Targparm; use Targparm;
  with Tbuild;   use Tbuild;
  with Uintp;    use Uintp;
  
  package body Exp_Ch9 is
  
+    --------------------------------
+    -- Select_Expansion_Utilities --
+    --------------------------------
+ 
+    --  The following constant establishes the upper bound for the index of
+    --  an entry family. It is used to limit the allocated size of protected
+    --  types with defaulted discriminant of an integer type, when the bound
+    --  of some entry family depends on a discriminant. The limitation to
+    --  entry families of 128K should be reasonable in all cases, and is a
+    --  documented implementation restriction. It will be lifted when protected
+    --  entry families are re-implemented as a single ordered queue.
+ 
+    Entry_Family_Bound : constant Int := 2**16;
+ 
+    --  The following package contains helper routines used in the expansion of
+    --  dispatching asynchronous, conditional and timed selects.
+ 
+    package Select_Expansion_Utilities is
+       function Build_Abort_Block
+         (Loc         : Source_Ptr;
+          Abr_Blk_Ent : Entity_Id;
+          Cln_Blk_Ent : Entity_Id;
+          Blk         : Node_Id) return Node_Id;
+       --  Generate:
+       --    begin
+       --       Blk
+       --    exception
+       --       when Abort_Signal => Abort_Undefer;
+       --    end;
+       --  Abr_Blk_Ent is the name of the generated block, Cln_Blk_Ent is
+       --  the name of the encapsulated cleanup block, Blk is the actual
+       --  block node.
+ 
+       function Build_B
+         (Loc   : Source_Ptr;
+          Decls : List_Id) return Entity_Id;
+       --  Generate:
+       --    B : Boolean := False;
+       --  Append the object declaration to the list and return the name of
+       --  the object.
+ 
+       function Build_C
+         (Loc   : Source_Ptr;
+          Decls : List_Id) return Entity_Id;
+       --  Generate:
+       --    C : Ada.Tags.Prim_Op_Kind;
+       --  Append the object declaration to the list and return the name of
+       --  the object.
+ 
+       function Build_Cleanup_Block
+         (Loc       : Source_Ptr;
+          Blk_Ent   : Entity_Id;
+          Stmts     : List_Id;
+          Clean_Ent : Entity_Id) return Node_Id;
+       --  Generate:
+       --    declare
+       --       procedure _clean is
+       --       begin
+       --          ...
+       --       end _clean;
+       --    begin
+       --       Stmts
+       --    at end
+       --       _clean;
+       --    end;
+       --  Blk_Ent is the name of the generated block, Stmts is the list
+       --  of encapsulated statements and Clean_Ent is the parameter to
+       --  the _clean procedure.
+ 
+       function Build_S
+         (Loc      : Source_Ptr;
+          Decls    : List_Id;
+          Obj      : Entity_Id;
+          Call_Ent : Entity_Id) return Entity_Id;
+       --  Generate:
+       --    S : constant Integer :=
+       --          Ada.Tags.Get_Offset_Index (
+       --            Unchecked_Convert_To (Ada.Tags.Interface_Tag, Obj),
+       --            DT_Position (Call_Ent));
+       --  where Obj is the pointer to a secondary table, Call_Ent is the
+       --  entity of the dispatching call name. Append the object declaration
+       --  to the list and return its defining identifier.
+ 
+    end Select_Expansion_Utilities;
+ 
+    -----------------------------------------
+    -- Body for Select_Expansion_Utilities --
+    -----------------------------------------
+ 
+    package body Select_Expansion_Utilities is
+ 
+       -----------------------
+       -- Build_Abort_Block --
+       -----------------------
+ 
+       function Build_Abort_Block
+         (Loc         : Source_Ptr;
+          Abr_Blk_Ent : Entity_Id;
+          Cln_Blk_Ent : Entity_Id;
+          Blk         : Node_Id) return Node_Id
+       is
+       begin
+          return
+            Make_Block_Statement (Loc,
+              Identifier   => New_Reference_To (Abr_Blk_Ent, Loc),
+ 
+              Declarations => No_List,
+ 
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  Statements =>
+                    New_List (
+                      Make_Implicit_Label_Declaration (Loc,
+                        Defining_Identifier =>
+                          Cln_Blk_Ent,
+                        Label_Construct =>
+                          Blk),
+                      Blk),
+ 
+                  Exception_Handlers =>
+                    New_List (
+                      Make_Exception_Handler (Loc,
+                        Exception_Choices =>
+                          New_List (
+                            New_Reference_To (Stand.Abort_Signal, Loc)),
+                        Statements =>
+                          New_List (
+                            Make_Procedure_Call_Statement (Loc,
+                              Name =>
+                                New_Reference_To (RTE (
+                                  RE_Abort_Undefer), Loc),
+                              Parameter_Associations => No_List))))));
+       end Build_Abort_Block;
+ 
+       -------------
+       -- Build_B --
+       -------------
+ 
+       function Build_B
+         (Loc   : Source_Ptr;
+          Decls : List_Id) return Entity_Id
+       is
+          B : constant Entity_Id := Make_Defining_Identifier (Loc,
+                                      Chars => New_Internal_Name ('B'));
+ 
+       begin
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                B,
+              Object_Definition =>
+                New_Reference_To (Standard_Boolean, Loc),
+              Expression =>
+                New_Reference_To (Standard_False, Loc)));
+ 
+          return B;
+       end Build_B;
+ 
+       -------------
+       -- Build_C --
+       -------------
+ 
+       function Build_C
+         (Loc   : Source_Ptr;
+          Decls : List_Id) return Entity_Id
+       is
+          C : constant Entity_Id := Make_Defining_Identifier (Loc,
+                                      Chars => New_Internal_Name ('C'));
+ 
+       begin
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                C,
+              Object_Definition =>
+                New_Reference_To (RTE (RE_Prim_Op_Kind), Loc)));
+ 
+          return C;
+       end Build_C;
+ 
+       -------------------------
+       -- Build_Cleanup_Block --
+       -------------------------
+ 
+       function Build_Cleanup_Block
+         (Loc       : Source_Ptr;
+          Blk_Ent   : Entity_Id;
+          Stmts     : List_Id;
+          Clean_Ent : Entity_Id) return Node_Id
+       is
+          Cleanup_Block : constant Node_Id :=
+                            Make_Block_Statement (Loc,
+                              Identifier   => New_Reference_To (Blk_Ent, Loc),
+                              Declarations => No_List,
+                              Handled_Statement_Sequence =>
+                                Make_Handled_Sequence_Of_Statements (Loc,
+                                  Statements => Stmts),
+                              Is_Asynchronous_Call_Block => True);
+ 
+       begin
+          Set_Entry_Cancel_Parameter (Blk_Ent, Clean_Ent);
+ 
+          return Cleanup_Block;
+       end Build_Cleanup_Block;
+ 
+       -------------
+       -- Build_S --
+       -------------
+ 
+       function Build_S
+         (Loc      : Source_Ptr;
+          Decls    : List_Id;
+          Obj      : Entity_Id;
+          Call_Ent : Entity_Id) return Entity_Id
+       is
+          S : constant Entity_Id := Make_Defining_Identifier (Loc,
+                                      Chars => New_Internal_Name ('S'));
+ 
+       begin
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier => S,
+              Constant_Present    => True,
+ 
+              Object_Definition   =>
+                New_Reference_To (Standard_Integer, Loc),
+ 
+              Expression          =>
+                Make_Function_Call (Loc,
+                  Name => New_Reference_To (RTE (RE_Get_Offset_Index), Loc),
+                  Parameter_Associations => New_List (
+                    Unchecked_Convert_To (RTE (RE_Interface_Tag), Obj),
+                    Make_Integer_Literal (Loc, DT_Position (Call_Ent))))));
+ 
+          return S;
+       end Build_S;
+    end Select_Expansion_Utilities;
+ 
+    package SEU renames Select_Expansion_Utilities;
+ 
     -----------------------
     -- Local Subprograms --
     -----------------------
*************** package body Exp_Ch9 is
*** 76,92 ****
     --  the expression computed by this function uses the discriminants
     --  of the target task.
  
-    function Index_Constant_Declaration
-      (N        : Node_Id;
-       Index_Id : Entity_Id;
-       Prot     : Entity_Id) return List_Id;
-    --  For an entry family and its barrier function, we define a local entity
-    --  that maps the index in the call into the entry index into the object:
-    --
-    --     I : constant Index_Type := Index_Type'Val (
-    --       E - <<index of first family member>> +
-    --       Protected_Entry_Index (Index_Type'Pos (Index_Type'First)));
- 
     procedure Add_Object_Pointer
       (Decls : List_Id;
        Pid   : Entity_Id;
--- 315,320 ----
*************** package body Exp_Ch9 is
*** 96,102 ****
     --  of the System.Address pointer passed to entry barrier functions
     --  and entry body procedures.
  
!    function Build_Accept_Body (Astat : Node_Id) return  Node_Id;
     --  Transform accept statement into a block with added exception handler.
     --  Used both for simple accept statements and for accept alternatives in
     --  select statements. Astat is the accept statement.
--- 324,342 ----
     --  of the System.Address pointer passed to entry barrier functions
     --  and entry body procedures.
  
!    procedure Add_Formal_Renamings
!      (Spec  : Node_Id;
!       Decls : List_Id;
!       Ent   : Entity_Id;
!       Loc   : Source_Ptr);
!    --  Create renaming declarations for the formals, inside the procedure
!    --  that implements an entry body. The renamings make the original names
!    --  of the formals accessible to gdb, and serve no other purpose.
!    --    Spec is the specification of the procedure being built.
!    --    Decls is the list of declarations to be enhanced.
!    --    Ent is the entity for the original entry body.
! 
!    function Build_Accept_Body (Astat : Node_Id) return Node_Id;
     --  Transform accept statement into a block with added exception handler.
     --  Used both for simple accept statements and for accept alternatives in
     --  select statements. Astat is the accept statement.
*************** package body Exp_Ch9 is
*** 131,136 ****
--- 371,417 ----
     --  of the range of each entry family. A single array with that size is
     --  allocated for each concurrent object of the type.
  
+    function Build_Parameter_Block
+      (Loc     : Source_Ptr;
+       Actuals : List_Id;
+       Formals : List_Id;
+       Decls   : List_Id) return Entity_Id;
+    --  Generate an access type for each actual parameter in the list Actuals.
+    --  Cleate an encapsulating record that contains all the actuals and return
+    --  its type. Generate:
+    --    type Ann1 is access all <actual1-type>
+    --    ...
+    --    type AnnN is access all <actualN-type>
+    --    type Pnn is record
+    --       <formal1> : Ann1;
+    --       ...
+    --       <formalN> : AnnN;
+    --    end record;
+ 
+    function Build_Wrapper_Body
+      (Loc      : Source_Ptr;
+       Proc_Nam : Entity_Id;
+       Obj_Typ  : Entity_Id;
+       Formals  : List_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Build the body that wraps a primitive operation
+    --  associated with a protected or task type. This is required to implement
+    --  dispatching calls through interfaces. Proc_Nam is the entry name to be
+    --  wrapped, Obj_Typ is the type of the newly added formal parameter to
+    --  handle object notation, Formals are the original entry formals that will
+    --  be explicitly replicated.
+ 
+    function Build_Wrapper_Spec
+      (Loc      : Source_Ptr;
+       Proc_Nam : Entity_Id;
+       Obj_Typ  : Entity_Id;
+       Formals  : List_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Build the specification of a primitive operation
+    --  associated with a protected or task type. This is required implement
+    --  dispatching calls through interfaces. Proc_Nam is the entry name to be
+    --  wrapped, Obj_Typ is the type of the newly added formal parameter to
+    --  handle object notation, Formals are the original entry formals that will
+    --  be explicitly replicated.
+ 
     function Build_Find_Body_Index (Typ : Entity_Id) return Node_Id;
     --  Build the function that translates the entry index in the call
     --  (which depends on the size of entry families) into an index into the
*************** package body Exp_Ch9 is
*** 162,168 ****
        Pid       : Node_Id;
        N_Op_Spec : Node_Id) return Node_Id;
     --  This function is used to construct the protected version of a protected
!    --  subprogram. Its statement sequence first defers abortion, then locks
     --  the associated protected object, and then enters a block that contains
     --  a call to the unprotected version of the subprogram (for details, see
     --  Build_Unprotected_Subprogram_Body). This block statement requires
--- 443,449 ----
        Pid       : Node_Id;
        N_Op_Spec : Node_Id) return Node_Id;
     --  This function is used to construct the protected version of a protected
!    --  subprogram. Its statement sequence first defers abort, then locks
     --  the associated protected object, and then enters a block that contains
     --  a call to the unprotected version of the subprogram (for details, see
     --  Build_Unprotected_Subprogram_Body). This block statement requires
*************** package body Exp_Ch9 is
*** 183,190 ****
     --  The object is a limited record and therefore a by_reference type.
  
     function Build_Selected_Name
!      (Prefix, Selector : Name_Id;
!       Append_Char      : Character := ' ') return Name_Id;
     --  Build a name in the form of Prefix__Selector, with an optional
     --  character appended. This is used for internal subprograms generated
     --  for operations of protected types, including barrier functions.
--- 464,472 ----
     --  The object is a limited record and therefore a by_reference type.
  
     function Build_Selected_Name
!      (Prefix      : Entity_Id;
!       Selector    : Entity_Id;
!       Append_Char : Character := ' ') return Name_Id;
     --  Build a name in the form of Prefix__Selector, with an optional
     --  character appended. This is used for internal subprograms generated
     --  for operations of protected types, including barrier functions.
*************** package body Exp_Ch9 is
*** 248,253 ****
--- 530,545 ----
     --  to the use of 'Length on the index type, but must use Family_Offset
     --  to handle properly the case of bounds that depend on discriminants.
  
+    procedure Extract_Dispatching_Call
+      (N        : Node_Id;
+       Call_Ent : out Entity_Id;
+       Object   : out Entity_Id;
+       Actuals  : out List_Id;
+       Formals  : out List_Id);
+    --  Given a dispatching call, extract the entity of the name of the call,
+    --  its object parameter, its actual parameters and the formal parameters
+    --  of the overriden interface-level version.
+ 
     procedure Extract_Entry
       (N       : Node_Id;
        Concval : out Node_Id;
*************** package body Exp_Ch9 is
*** 265,270 ****
--- 557,604 ----
     --  when P is Name_uPriority, the call will also find Interrupt_Priority.
     --  ??? Should be implemented with the rep item chain mechanism.
  
+    function Index_Constant_Declaration
+      (N        : Node_Id;
+       Index_Id : Entity_Id;
+       Prot     : Entity_Id) return List_Id;
+    --  For an entry family and its barrier function, we define a local entity
+    --  that maps the index in the call into the entry index into the object:
+    --
+    --     I : constant Index_Type := Index_Type'Val (
+    --       E - <<index of first family member>> +
+    --       Protected_Entry_Index (Index_Type'Pos (Index_Type'First)));
+ 
+    function Parameter_Block_Pack
+      (Loc     : Source_Ptr;
+       Blk_Typ : Entity_Id;
+       Actuals : List_Id;
+       Formals : List_Id;
+       Decls   : List_Id;
+       Stmts   : List_Id) return Entity_Id;
+    --  Set the components of the generated parameter block with the values of
+    --  the actual parameters. Generate aliased temporaries to capture the
+    --  values for types that are passed by copy. Otherwise generate a reference
+    --  to the actual's value. Return the address of the aggregate block.
+    --  Generate:
+    --    Jnn1 : alias <formal-type1>;
+    --    Jnn1 := <actual1>;
+    --    ...
+    --    P : Blk_Typ := (
+    --      Jnn1'unchecked_access;
+    --      <actual2>'reference;
+    --      ...);
+ 
+    function Parameter_Block_Unpack
+      (Loc     : Source_Ptr;
+       P       : Entity_Id;
+       Actuals : List_Id;
+       Formals : List_Id) return List_Id;
+    --  Retrieve the values of the components from the parameter block and
+    --  assign then to the original actual parameters. Generate:
+    --    <actual1> := P.<formal1>;
+    --    ...
+    --    <actualN> := P.<formalN>;
+ 
     procedure Update_Prival_Subtypes (N : Node_Id);
     --  The actual subtypes of the privals will differ from the type of the
     --  private declaration in the original protected type, if the protected
*************** package body Exp_Ch9 is
*** 464,469 ****
--- 798,804 ----
        Pid   : Entity_Id;
        Loc   : Source_Ptr)
     is
+       Decl    : Node_Id;
        Obj_Ptr : Node_Id;
  
     begin
*************** package body Exp_Ch9 is
*** 481,494 ****
              New_External_Name
                (Chars (Corresponding_Record_Type (Pid)), 'P'));
  
!       Prepend_To (Decls,
          Make_Object_Declaration (Loc,
            Defining_Identifier =>
              Make_Defining_Identifier (Loc, Name_uObject),
            Object_Definition => New_Reference_To (Obj_Ptr, Loc),
            Expression =>
              Unchecked_Convert_To (Obj_Ptr,
!               Make_Identifier (Loc, Name_uO))));
  
        Prepend_To (Decls,
          Make_Full_Type_Declaration (Loc,
--- 816,831 ----
              New_External_Name
                (Chars (Corresponding_Record_Type (Pid)), 'P'));
  
!       Decl :=
          Make_Object_Declaration (Loc,
            Defining_Identifier =>
              Make_Defining_Identifier (Loc, Name_uObject),
            Object_Definition => New_Reference_To (Obj_Ptr, Loc),
            Expression =>
              Unchecked_Convert_To (Obj_Ptr,
!               Make_Identifier (Loc, Name_uO)));
!       Set_Needs_Debug_Info (Defining_Identifier (Decl));
!       Prepend_To (Decls, Decl);
  
        Prepend_To (Decls,
          Make_Full_Type_Declaration (Loc,
*************** package body Exp_Ch9 is
*** 498,503 ****
--- 835,899 ----
                New_Reference_To (Corresponding_Record_Type (Pid), Loc))));
     end Add_Object_Pointer;
  
+    --------------------------
+    -- Add_Formal_Renamings --
+    --------------------------
+ 
+    procedure Add_Formal_Renamings
+      (Spec  : Node_Id;
+       Decls : List_Id;
+       Ent   : Entity_Id;
+       Loc   : Source_Ptr)
+    is
+       Ptr : constant Entity_Id :=
+               Defining_Identifier
+                 (Next (First (Parameter_Specifications (Spec))));
+       --  The name of the formal that holds the address of the parameter block
+       --  for the call.
+ 
+       Comp   : Entity_Id;
+       Decl   : Node_Id;
+       Formal : Entity_Id;
+       New_F  : Entity_Id;
+ 
+    begin
+       Formal := First_Formal (Ent);
+       while Present (Formal) loop
+          Comp   := Entry_Component (Formal);
+          New_F  :=
+            Make_Defining_Identifier (Sloc (Formal), Chars (Formal));
+          Set_Etype (New_F, Etype (Formal));
+          Set_Scope (New_F, Ent);
+          Set_Needs_Debug_Info (New_F);   --  That's the whole point.
+ 
+          if Ekind (Formal) = E_In_Parameter then
+             Set_Ekind (New_F, E_Constant);
+          else
+             Set_Ekind (New_F, E_Variable);
+             Set_Extra_Constrained (New_F, Extra_Constrained (Formal));
+          end if;
+ 
+          Set_Actual_Subtype (New_F, Actual_Subtype (Formal));
+ 
+          Decl :=
+            Make_Object_Renaming_Declaration (Loc,
+            Defining_Identifier => New_F,
+            Subtype_Mark => New_Reference_To (Etype (Formal), Loc),
+            Name =>
+              Make_Explicit_Dereference (Loc,
+                Make_Selected_Component (Loc,
+                  Prefix =>
+                    Unchecked_Convert_To (Entry_Parameters_Type (Ent),
+                      Make_Identifier (Loc, Chars (Ptr))),
+                  Selector_Name =>
+                    New_Reference_To (Comp, Loc))));
+ 
+          Append (Decl, Decls);
+          Set_Renamed_Object (Formal, New_F);
+          Next_Formal (Formal);
+       end loop;
+    end Add_Formal_Renamings;
+ 
     ------------------------------
     -- Add_Private_Declarations --
     ------------------------------
*************** package body Exp_Ch9 is
*** 509,514 ****
--- 905,911 ----
        Loc   : Source_Ptr)
     is
        Def      : constant Node_Id   := Protected_Definition (Parent (Typ));
+       Decl     : Node_Id;
        Body_Ent : constant Entity_Id := Corresponding_Body   (Parent (Typ));
        P        : Node_Id;
        Pdef     : Entity_Id;
*************** package body Exp_Ch9 is
*** 518,545 ****
  
        if Present (Private_Declarations (Def)) then
           P := First (Private_Declarations (Def));
- 
           while Present (P) loop
              if Nkind (P) = N_Component_Declaration then
                 Pdef := Defining_Identifier (P);
!                Prepend_To (Decls,
                   Make_Object_Renaming_Declaration (Loc,
                     Defining_Identifier => Prival (Pdef),
                     Subtype_Mark => New_Reference_To (Etype (Pdef), Loc),
                     Name =>
                       Make_Selected_Component (Loc,
                         Prefix        => Make_Identifier (Loc, Name),
!                        Selector_Name => Make_Identifier (Loc, Chars (Pdef)))));
              end if;
              Next (P);
           end loop;
        end if;
  
!       --  One more "prival" for the object itself, with the right protection
!       --  type.
  
        declare
           Protection_Type : RE_Id;
        begin
           if Has_Attach_Handler (Typ) then
              if Restricted_Profile then
--- 915,944 ----
  
        if Present (Private_Declarations (Def)) then
           P := First (Private_Declarations (Def));
           while Present (P) loop
              if Nkind (P) = N_Component_Declaration then
                 Pdef := Defining_Identifier (P);
!                Decl :=
                   Make_Object_Renaming_Declaration (Loc,
                     Defining_Identifier => Prival (Pdef),
                     Subtype_Mark => New_Reference_To (Etype (Pdef), Loc),
                     Name =>
                       Make_Selected_Component (Loc,
                         Prefix        => Make_Identifier (Loc, Name),
!                        Selector_Name => Make_Identifier (Loc, Chars (Pdef))));
!                Set_Needs_Debug_Info (Defining_Identifier (Decl));
!                Prepend_To (Decls, Decl);
              end if;
+ 
              Next (P);
           end loop;
        end if;
  
!       --  One more "prival" for object itself, with the right protection type
  
        declare
           Protection_Type : RE_Id;
+ 
        begin
           if Has_Attach_Handler (Typ) then
              if Restricted_Profile then
*************** package body Exp_Ch9 is
*** 555,561 ****
           elsif Has_Interrupt_Handler (Typ) then
              Protection_Type := RE_Dynamic_Interrupt_Protection;
  
!          elsif Has_Entries (Typ) then
              if Abort_Allowed
                or else Restriction_Active (No_Entry_Queue) = False
                or else Number_Entries (Typ) > 1
--- 954,966 ----
           elsif Has_Interrupt_Handler (Typ) then
              Protection_Type := RE_Dynamic_Interrupt_Protection;
  
!          --  The type has explicit entries or generated primitive entry
!          --  wrappers.
! 
!          elsif Has_Entries (Typ)
!             or else (Ada_Version >= Ada_05
!                        and then Present (Interface_List (Parent (Typ))))
!          then
              if Abort_Allowed
                or else Restriction_Active (No_Entry_Queue) = False
                or else Number_Entries (Typ) > 1
*************** package body Exp_Ch9 is
*** 569,582 ****
              Protection_Type := RE_Protection;
           end if;
  
!          Prepend_To (Decls,
             Make_Object_Renaming_Declaration (Loc,
               Defining_Identifier => Object_Ref (Body_Ent),
               Subtype_Mark => New_Reference_To (RTE (Protection_Type), Loc),
               Name =>
                 Make_Selected_Component (Loc,
                   Prefix        => Make_Identifier (Loc, Name),
!                  Selector_Name => Make_Identifier (Loc, Name_uObject))));
        end;
     end Add_Private_Declarations;
  
--- 974,989 ----
              Protection_Type := RE_Protection;
           end if;
  
!          Decl :=
             Make_Object_Renaming_Declaration (Loc,
               Defining_Identifier => Object_Ref (Body_Ent),
               Subtype_Mark => New_Reference_To (RTE (Protection_Type), Loc),
               Name =>
                 Make_Selected_Component (Loc,
                   Prefix        => Make_Identifier (Loc, Name),
!                  Selector_Name => Make_Identifier (Loc, Name_uObject)));
!          Set_Needs_Debug_Info (Defining_Identifier (Decl));
!          Prepend_To (Decls, Decl);
        end;
     end Add_Private_Declarations;
  
*************** package body Exp_Ch9 is
*** 594,602 ****
  
     begin
        --  At the end of the statement sequence, Complete_Rendezvous is called.
!       --  A label skipping the Complete_Rendezvous, and all other
!       --  accept processing, has already been added for the expansion
!       --  of requeue statements.
  
        Call := Build_Runtime_Call (Loc, RE_Complete_Rendezvous);
        Insert_Before (Last (Statements (Stats)), Call);
--- 1001,1009 ----
  
     begin
        --  At the end of the statement sequence, Complete_Rendezvous is called.
!       --  A label skipping the Complete_Rendezvous, and all other accept
!       --  processing, has already been added for the expansion of requeue
!       --  statements.
  
        Call := Build_Runtime_Call (Loc, RE_Complete_Rendezvous);
        Insert_Before (Last (Statements (Stats)), Call);
*************** package body Exp_Ch9 is
*** 812,818 ****
              Parameter_Type =>
                New_Reference_To (RTE (RE_Protected_Entry_Index), Loc))),
  
!         Subtype_Mark => New_Reference_To (Standard_Boolean, Loc));
     end Build_Barrier_Function_Specification;
  
     --------------------------
--- 1219,1225 ----
              Parameter_Type =>
                New_Reference_To (RTE (RE_Protected_Entry_Index), Loc))),
  
!         Result_Definition => New_Reference_To (Standard_Boolean, Loc));
     end Build_Barrier_Function_Specification;
  
     --------------------------
*************** package body Exp_Ch9 is
*** 824,830 ****
        E : Entity_Id) return Node_Id
     is
        Loc : constant Source_Ptr := Sloc (N);
- 
     begin
        return
          Make_Function_Call (Loc,
--- 1231,1236 ----
*************** package body Exp_Ch9 is
*** 850,856 ****
        Cdecls   : List_Id;
  
     begin
!       Set_Corresponding_Record_Type (Ctyp, Rec_Ent);
        Set_Ekind                         (Rec_Ent, E_Record_Type);
        Set_Has_Delayed_Freeze            (Rec_Ent, Has_Delayed_Freeze (Ctyp));
        Set_Is_Concurrent_Record_Type     (Rec_Ent, True);
--- 1256,1262 ----
        Cdecls   : List_Id;
  
     begin
!       Set_Corresponding_Record_Type     (Ctyp, Rec_Ent);
        Set_Ekind                         (Rec_Ent, E_Record_Type);
        Set_Has_Delayed_Freeze            (Rec_Ent, Has_Delayed_Freeze (Ctyp));
        Set_Is_Concurrent_Record_Type     (Rec_Ent, True);
*************** package body Exp_Ch9 is
*** 895,903 ****
        end if;
  
        --  Now we can construct the record type declaration. Note that this
!       --  record is limited, reflecting the underlying limitedness of the
!       --  task or protected object that it represents, and ensuring for
!       --  example that it is properly passed by reference.
  
        return
          Make_Full_Type_Declaration (Loc,
--- 1301,1311 ----
        end if;
  
        --  Now we can construct the record type declaration. Note that this
!       --  record is "limited tagged". It is "limited" to reflect the underlying
!       --  limitedness of the task or protected object that it represents, and
!       --  ensuring for example that it is properly passed by reference. It is
!       --  "tagged" to give support to dispatching calls through interfaces (Ada
!       --  2005: AI-345)
  
        return
          Make_Full_Type_Declaration (Loc,
*************** package body Exp_Ch9 is
*** 908,913 ****
--- 1316,1323 ----
                Component_List =>
                  Make_Component_List (Loc,
                    Component_Items => Cdecls),
+               Tagged_Present  =>
+                  Ada_Version >= Ada_05 and then Is_Tagged_Type (Ctyp),
                Limited_Present => True));
     end Build_Corresponding_Record;
  
*************** package body Exp_Ch9 is
*** 929,939 ****
        Typ    : Entity_Id;
  
     begin
-       Ent := First_Entity (Concurrent_Type);
-       Eindx := 0;
- 
        --  Count number of non-family entries
  
        while Present (Ent) loop
           if Ekind (Ent) = E_Entry then
              Eindx := Eindx + 1;
--- 1339,1348 ----
        Typ    : Entity_Id;
  
     begin
        --  Count number of non-family entries
  
+       Eindx := 0;
+       Ent := First_Entity (Concurrent_Type);
        while Present (Ent) loop
           if Ekind (Ent) = E_Entry then
              Eindx := Eindx + 1;
*************** package body Exp_Ch9 is
*** 948,954 ****
  
        Ent := First_Entity (Concurrent_Type);
        Comp := First (Component_List);
- 
        while Present (Ent) loop
           if Ekind (Ent) = E_Entry_Family then
              while Chars (Ent) /= Chars (Defining_Identifier (Comp)) loop
--- 1357,1362 ----
*************** package body Exp_Ch9 is
*** 972,977 ****
--- 1380,1882 ----
     end Build_Entry_Count_Expression;
  
     ---------------------------
+    -- Build_Parameter_Block --
+    ---------------------------
+ 
+    function Build_Parameter_Block
+      (Loc     : Source_Ptr;
+       Actuals : List_Id;
+       Formals : List_Id;
+       Decls   : List_Id) return Entity_Id
+    is
+       Actual   : Entity_Id;
+       Comp_Nam : Node_Id;
+       Comps    : List_Id;
+       Formal   : Entity_Id;
+       Has_Comp : Boolean := False;
+       Rec_Nam  : Node_Id;
+ 
+    begin
+       Actual := First (Actuals);
+       Comps  := New_List;
+       Formal := Defining_Identifier (First (Formals));
+ 
+       while Present (Actual) loop
+          if not Is_Controlling_Actual (Actual) then
+ 
+             --  Generate:
+             --    type Ann is access all <actual-type>
+ 
+             Comp_Nam :=
+               Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
+ 
+             Append_To (Decls,
+               Make_Full_Type_Declaration (Loc,
+                 Defining_Identifier =>
+                   Comp_Nam,
+                 Type_Definition =>
+                   Make_Access_To_Object_Definition (Loc,
+                     All_Present =>
+                       True,
+                     Constant_Present =>
+                       Ekind (Formal) = E_In_Parameter,
+                     Subtype_Indication =>
+                       New_Reference_To (Etype (Actual), Loc))));
+ 
+             --  Generate:
+             --    Param : Ann;
+ 
+             Append_To (Comps,
+               Make_Component_Declaration (Loc,
+                 Defining_Identifier =>
+                   Make_Defining_Identifier (Loc, Chars (Formal)),
+                 Component_Definition =>
+                   Make_Component_Definition (Loc,
+                     Aliased_Present =>
+                       False,
+                     Subtype_Indication =>
+                       New_Reference_To (Comp_Nam, Loc))));
+ 
+             Has_Comp := True;
+          end if;
+ 
+          Next_Actual (Actual);
+          Next_Formal_With_Extras (Formal);
+       end loop;
+ 
+       Rec_Nam :=
+         Make_Defining_Identifier (Loc, New_Internal_Name ('P'));
+ 
+       if Has_Comp then
+ 
+          --  Generate:
+          --    type Pnn is record
+          --       Param1 : Ann1;
+          --       ...
+          --       ParamN : AnnN;
+ 
+          --  where Pnn is a parameter wrapping record, Param1 .. ParamN are
+          --  the original parameter names and Ann1 .. AnnN are the access to
+          --  actual types.
+ 
+          Append_To (Decls,
+            Make_Full_Type_Declaration (Loc,
+              Defining_Identifier =>
+                Rec_Nam,
+              Type_Definition =>
+                Make_Record_Definition (Loc,
+                  Component_List =>
+                    Make_Component_List (Loc, Comps))));
+       else
+          --  Generate:
+          --    type Pnn is null record;
+ 
+          Append_To (Decls,
+            Make_Full_Type_Declaration (Loc,
+              Defining_Identifier =>
+                Rec_Nam,
+              Type_Definition =>
+                Make_Record_Definition (Loc,
+                  Null_Present   => True,
+                  Component_List => Empty)));
+       end if;
+ 
+       return Rec_Nam;
+    end Build_Parameter_Block;
+ 
+    ------------------------
+    -- Build_Wrapper_Body --
+    ------------------------
+ 
+    function Build_Wrapper_Body
+      (Loc      : Source_Ptr;
+       Proc_Nam : Entity_Id;
+       Obj_Typ  : Entity_Id;
+       Formals  : List_Id) return Node_Id
+    is
+       Actuals      : List_Id := No_List;
+       Body_Spec    : Node_Id;
+       Conv_Id      : Node_Id;
+       First_Formal : Node_Id;
+       Formal       : Node_Id;
+ 
+    begin
+       Body_Spec := Build_Wrapper_Spec (Loc, Proc_Nam, Obj_Typ, Formals);
+ 
+       --  If we did not generate the specification do have nothing else to do
+ 
+       if Body_Spec = Empty then
+          return Empty;
+       end if;
+ 
+       --  Map formals to actuals. Use the list built for the wrapper spec,
+       --  skipping the object notation parameter.
+ 
+       First_Formal := First (Parameter_Specifications (Body_Spec));
+ 
+       Formal := First_Formal;
+       Next (Formal);
+ 
+       if Present (Formal) then
+          Actuals := New_List;
+ 
+          while Present (Formal) loop
+             Append_To (Actuals,
+               Make_Identifier (Loc, Chars =>
+                 Chars (Defining_Identifier (Formal))));
+ 
+             Next (Formal);
+          end loop;
+       end if;
+ 
+       --  An access-to-variable first parameter will require an explicit
+       --  dereference in the unchecked conversion. This case occurs when
+       --  a protected entry wrapper must override an interface-level
+       --  procedure with interface access as first parameter.
+ 
+       --     SubprgName (O.all).Proc_Nam (Formal_1 .. Formal_N)
+ 
+       if Nkind (Parameter_Type (First_Formal)) = N_Access_Definition then
+          Conv_Id :=
+            Make_Explicit_Dereference (Loc,
+              Prefix =>
+                Make_Identifier (Loc, Chars => Name_uO));
+       else
+          Conv_Id :=
+            Make_Identifier (Loc, Chars => Name_uO);
+       end if;
+ 
+       if Ekind (Proc_Nam) = E_Function then
+          return
+            Make_Subprogram_Body (Loc,
+              Specification => Body_Spec,
+              Declarations  => Empty_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  Statements =>
+                    New_List (
+                      Make_Return_Statement (Loc,
+                         Make_Function_Call (Loc,
+                           Name =>
+                             Make_Selected_Component (Loc,
+                               Prefix =>
+                                 Unchecked_Convert_To (
+                                   Corresponding_Concurrent_Type (Obj_Typ),
+                                   Conv_Id),
+                               Selector_Name =>
+                                 New_Reference_To (Proc_Nam, Loc)),
+                           Parameter_Associations => Actuals)))));
+       else
+          return
+            Make_Subprogram_Body (Loc,
+              Specification => Body_Spec,
+              Declarations  => Empty_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  Statements =>
+                    New_List (
+                      Make_Procedure_Call_Statement (Loc,
+                        Name =>
+                          Make_Selected_Component (Loc,
+                            Prefix =>
+                              Unchecked_Convert_To (
+                                Corresponding_Concurrent_Type (Obj_Typ),
+                                Conv_Id),
+                            Selector_Name =>
+                              New_Reference_To (Proc_Nam, Loc)),
+                        Parameter_Associations => Actuals))));
+       end if;
+    end Build_Wrapper_Body;
+ 
+    ------------------------
+    -- Build_Wrapper_Spec --
+    ------------------------
+ 
+    function Build_Wrapper_Spec
+      (Loc      : Source_Ptr;
+       Proc_Nam : Entity_Id;
+       Obj_Typ  : Entity_Id;
+       Formals  : List_Id) return Node_Id
+    is
+       New_Name_Id : constant Entity_Id :=
+                       Make_Defining_Identifier (Loc, Chars (Proc_Nam));
+ 
+       First_Param        : Node_Id := Empty;
+       Iface              : Entity_Id;
+       Iface_Elmt         : Elmt_Id := No_Elmt;
+       New_Formals        : List_Id;
+       Obj_Param          : Node_Id;
+       Obj_Param_Typ      : Node_Id;
+       Iface_Prim_Op      : Entity_Id;
+       Iface_Prim_Op_Elmt : Elmt_Id;
+ 
+       function Overriding_Possible
+         (Iface_Prim_Op : Entity_Id;
+          Proc_Nam      : Entity_Id) return Boolean;
+       --  Determine whether a primitive operation can be overriden by the
+       --  wrapper. Iface_Prim_Op is the candidate primitive operation of an
+       --  abstract interface type, Proc_Nam is the generated entry wrapper.
+ 
+       function Replicate_Entry_Formals
+         (Loc     : Source_Ptr;
+          Formals : List_Id) return List_Id;
+       --  An explicit parameter replication is required due to the
+       --  Is_Entry_Formal flag being set for all the formals. The explicit
+       --  replication removes the flag that would otherwise cause a different
+       --  path of analysis.
+ 
+       -------------------------
+       -- Overriding_Possible --
+       -------------------------
+ 
+       function Overriding_Possible
+         (Iface_Prim_Op : Entity_Id;
+          Proc_Nam      : Entity_Id) return Boolean
+       is
+          Prim_Op_Spec  : constant Node_Id := Parent (Iface_Prim_Op);
+          Proc_Spec     : constant Node_Id := Parent (Proc_Nam);
+ 
+          Is_Access_To_Variable : Boolean;
+          Is_Out_Present        : Boolean;
+ 
+          function Type_Conformant_Parameters
+            (Prim_Op_Param_Specs : List_Id;
+             Proc_Param_Specs    : List_Id) return Boolean;
+          --  Determine whether the parameters of the generated entry wrapper
+          --  and those of a primitive operation are type conformant. During
+          --  this check, the first parameter of the primitive operation is
+          --  always skipped.
+ 
+          --------------------------------
+          -- Type_Conformant_Parameters --
+          --------------------------------
+ 
+          function Type_Conformant_Parameters
+            (Prim_Op_Param_Specs : List_Id;
+             Proc_Param_Specs    : List_Id) return Boolean
+          is
+             Prim_Op_Param : Node_Id;
+             Proc_Param    : Node_Id;
+ 
+          begin
+             --  Skip the first parameter of the primitive operation
+ 
+             Prim_Op_Param := Next (First (Prim_Op_Param_Specs));
+             Proc_Param    := First (Proc_Param_Specs);
+             while Present (Prim_Op_Param)
+               and then Present (Proc_Param)
+             loop
+                --  The two parameters must be mode conformant and have
+                --  the exact same types.
+ 
+                if Ekind (Defining_Identifier (Prim_Op_Param)) /=
+                   Ekind (Defining_Identifier (Proc_Param))
+                  or else Etype (Parameter_Type (Prim_Op_Param)) /=
+                          Etype (Parameter_Type (Proc_Param))
+                then
+                   return False;
+                end if;
+ 
+                Next (Prim_Op_Param);
+                Next (Proc_Param);
+             end loop;
+ 
+             --  One of the lists is longer than the other
+ 
+             if Present (Prim_Op_Param) or else Present (Proc_Param) then
+                return False;
+             end if;
+ 
+             return True;
+          end Type_Conformant_Parameters;
+ 
+       --  Start of processing for Overriding_Possible
+ 
+       begin
+          if Chars (Iface_Prim_Op) /= Chars (Proc_Nam) then
+             return False;
+          end if;
+ 
+          --  Special check for protected procedures: If an inherited subprogram
+          --  is implemented by a protected procedure or an entry, then the
+          --  first parameter of the inherited subprogram shall be of mode OUT
+          --  or IN OUT, or an access-to-variable parameter.
+ 
+          if Ekind (Iface_Prim_Op) = E_Procedure then
+ 
+             Is_Out_Present :=
+               Present (Parameter_Specifications (Prim_Op_Spec))
+                 and then
+               Out_Present (First (Parameter_Specifications (Prim_Op_Spec)));
+ 
+             Is_Access_To_Variable :=
+               Present (Parameter_Specifications (Prim_Op_Spec))
+                 and then
+               Nkind (Parameter_Type
+                      (First
+                       (Parameter_Specifications (Prim_Op_Spec))))
+                         = N_Access_Definition;
+ 
+             if not Is_Out_Present
+               and then not Is_Access_To_Variable
+             then
+                return False;
+             end if;
+          end if;
+ 
+          return Type_Conformant_Parameters (
+            Parameter_Specifications (Prim_Op_Spec),
+            Parameter_Specifications (Proc_Spec));
+       end Overriding_Possible;
+ 
+       -----------------------------
+       -- Replicate_Entry_Formals --
+       -----------------------------
+ 
+       function Replicate_Entry_Formals
+         (Loc     : Source_Ptr;
+          Formals : List_Id) return List_Id
+       is
+          New_Formals : constant List_Id := New_List;
+          Formal      : Node_Id;
+ 
+       begin
+          Formal := First (Formals);
+          while Present (Formal) loop
+ 
+             --  Create an explicit copy of the entry parameter
+ 
+             Append_To (New_Formals,
+               Make_Parameter_Specification (Loc,
+                 Defining_Identifier =>
+                   Make_Defining_Identifier (Loc,
+                     Chars          => Chars (Defining_Identifier (Formal))),
+                     In_Present     => In_Present  (Formal),
+                     Out_Present    => Out_Present (Formal),
+                     Parameter_Type => New_Reference_To (Etype (
+                                         Parameter_Type (Formal)), Loc)));
+ 
+             Next (Formal);
+          end loop;
+ 
+          return New_Formals;
+       end Replicate_Entry_Formals;
+ 
+    --  Start of processing for Build_Wrapper_Spec
+ 
+    begin
+       --  The mode is determined by the first parameter of the interface-level
+       --  procedure that the current entry is trying to override.
+ 
+       pragma Assert (Present (Abstract_Interfaces
+                      (Corresponding_Record_Type (Scope (Proc_Nam)))));
+ 
+       Iface_Elmt :=
+         First_Elmt (Abstract_Interfaces
+                     (Corresponding_Record_Type (Scope (Proc_Nam))));
+ 
+       --  We must examine all the protected operations of the implemented
+       --  interfaces in order to discover a possible overriding candidate.
+ 
+       Examine_Interfaces : while Present (Iface_Elmt) loop
+          Iface := Node (Iface_Elmt);
+ 
+          if Present (Primitive_Operations (Iface)) then
+             Iface_Prim_Op_Elmt := First_Elmt (Primitive_Operations (Iface));
+             while Present (Iface_Prim_Op_Elmt) loop
+                Iface_Prim_Op := Node (Iface_Prim_Op_Elmt);
+ 
+                while Present (Alias (Iface_Prim_Op)) loop
+                   Iface_Prim_Op := Alias (Iface_Prim_Op);
+                end loop;
+ 
+                --  The current primitive operation can be overriden by the
+                --  generated entry wrapper.
+ 
+                if Overriding_Possible (Iface_Prim_Op, Proc_Nam) then
+                   First_Param :=
+                     First (Parameter_Specifications (Parent (Iface_Prim_Op)));
+ 
+                   exit Examine_Interfaces;
+                end if;
+ 
+                Next_Elmt (Iface_Prim_Op_Elmt);
+             end loop;
+          end if;
+ 
+          Next_Elmt (Iface_Elmt);
+       end loop Examine_Interfaces;
+ 
+       --  Return if no interface primitive can be overriden
+ 
+       if not Present (First_Param) then
+          return Empty;
+       end if;
+ 
+       New_Formals := Replicate_Entry_Formals (Loc, Formals);
+ 
+       --  ??? Certain source packages contain protected or task types that do
+       --  not implement any interfaces and are compiled with the -gnat05
+       --  switch.  In this case, a default first parameter is created.
+ 
+       if Present (First_Param) then
+          if Nkind (Parameter_Type (First_Param)) = N_Access_Definition then
+             Obj_Param_Typ :=
+               Make_Access_Definition (Loc,
+                 Subtype_Mark =>
+                   New_Reference_To (Obj_Typ, Loc));
+          else
+             Obj_Param_Typ := New_Reference_To (Obj_Typ, Loc);
+          end if;
+ 
+          Obj_Param :=
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uO),
+              In_Present  => In_Present  (First_Param),
+              Out_Present => Out_Present (First_Param),
+              Parameter_Type => Obj_Param_Typ);
+ 
+       else
+          Obj_Param :=
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uO),
+              In_Present  => True,
+              Out_Present => True,
+                Parameter_Type => New_Reference_To (Obj_Typ, Loc));
+       end if;
+ 
+       Prepend_To (New_Formals, Obj_Param);
+ 
+       --  Minimum decoration needed to catch the entity in
+       --  Sem_Ch6.Override_Dispatching_Operation
+ 
+       if Ekind (Proc_Nam) = E_Procedure
+         or else Ekind (Proc_Nam) = E_Entry
+       then
+          Set_Ekind                (New_Name_Id, E_Procedure);
+          Set_Is_Primitive_Wrapper (New_Name_Id);
+          Set_Wrapped_Entity       (New_Name_Id, Proc_Nam);
+ 
+          return
+            Make_Procedure_Specification (Loc,
+              Defining_Unit_Name => New_Name_Id,
+              Parameter_Specifications => New_Formals);
+ 
+       else pragma Assert (Ekind (Proc_Nam) = E_Function);
+          Set_Ekind (New_Name_Id, E_Function);
+ 
+          return
+            Make_Function_Specification (Loc,
+              Defining_Unit_Name => New_Name_Id,
+              Parameter_Specifications => New_Formals,
+              Result_Definition =>
+                New_Copy (Result_Definition (Parent (Proc_Nam))));
+       end if;
+    end Build_Wrapper_Spec;
+ 
+    ---------------------------
     -- Build_Find_Body_Index --
     ---------------------------
  
*************** package body Exp_Ch9 is
*** 1081,1089 ****
        Spec := Build_Find_Body_Index_Spec (Typ);
  
        Ent := First_Entity (Typ);
- 
        while Present (Ent) loop
- 
           if Ekind (Ent) = E_Entry_Family then
              Has_F := True;
              exit;
--- 1986,1992 ----
*************** package body Exp_Ch9 is
*** 1139,1150 ****
  
           elsif Nkind (Ret) = N_If_Statement then
  
!             --  Ranges are in increasing order, so last one doesn't need a
!             --  guard.
  
              declare
                 Nod : constant Node_Id := Last (Elsif_Parts (Ret));
- 
              begin
                 Remove (Nod);
                 Set_Else_Statements (Ret, Then_Statements (Nod));
--- 2042,2051 ----
  
           elsif Nkind (Ret) = N_If_Statement then
  
!             --  Ranges are in increasing order, so last one doesn't need guard
  
              declare
                 Nod : constant Node_Id := Last (Elsif_Parts (Ret));
              begin
                 Remove (Nod);
                 Set_Else_Statements (Ret, Then_Statements (Nod));
*************** package body Exp_Ch9 is
*** 1187,1193 ****
                Defining_Identifier => Parm2,
                Parameter_Type =>
                  New_Reference_To (RTE (RE_Protected_Entry_Index), Loc))),
!           Subtype_Mark => New_Occurrence_Of (
              RTE (RE_Protected_Entry_Index), Loc));
     end Build_Find_Body_Index_Spec;
  
--- 2088,2094 ----
                Defining_Identifier => Parm2,
                Parameter_Type =>
                  New_Reference_To (RTE (RE_Protected_Entry_Index), Loc))),
!           Result_Definition => New_Occurrence_Of (
              RTE (RE_Protected_Entry_Index), Loc));
     end Build_Find_Body_Index_Spec;
  
*************** package body Exp_Ch9 is
*** 1205,1211 ****
        S := Scope (E);
  
        --  Ada 2005 (AI-287): Do not set/get the has_master_entity reminder
!       --  in internal scopes. Required for nested limited aggregates.
  
        if Ada_Version >= Ada_05 then
           while Is_Internal (S) loop
--- 2106,2113 ----
        S := Scope (E);
  
        --  Ada 2005 (AI-287): Do not set/get the has_master_entity reminder
!       --  in internal scopes, unless present already.. Required for nested
!       --  limited aggregates. This could use some more explanation ????
  
        if Ada_Version >= Ada_05 then
           while Is_Internal (S) loop
*************** package body Exp_Ch9 is
*** 1294,1305 ****
        Espec := Build_Protected_Entry_Specification (Edef, Empty, Loc);
  
        --  <object pointer declaration>
!       --  Add object pointer declaration. This is needed by the
!       --  discriminal and prival renamings, which should already
!       --  have been inserted into the declaration list.
  
        Add_Object_Pointer (Op_Decls, Pid, Loc);
  
        if Abort_Allowed
          or else Restriction_Active (No_Entry_Queue) = False
          or else Number_Entries (Pid) > 1
--- 2196,2212 ----
        Espec := Build_Protected_Entry_Specification (Edef, Empty, Loc);
  
        --  <object pointer declaration>
! 
!       --  Add object pointer declaration. This is needed by the discriminal and
!       --  prival renamings, which should already have been inserted into the
!       --  declaration list.
  
        Add_Object_Pointer (Op_Decls, Pid, Loc);
  
+       --  Add renamings for formals for use by debugger
+ 
+       Add_Formal_Renamings (Espec, Op_Decls, Ent, Loc);
+ 
        if Abort_Allowed
          or else Restriction_Active (No_Entry_Queue) = False
          or else Number_Entries (Pid) > 1
*************** package body Exp_Ch9 is
*** 1353,1358 ****
--- 2260,2268 ----
                RTE (RE_Exceptional_Complete_Single_Entry_Body), Loc);
           end if;
  
+          --  Create body of entry procedure. The renaming declarations are
+          --  placed ahead of the block that contains the actual entry body.
+ 
           return
             Make_Subprogram_Body (Loc,
               Specification => Espec,
*************** package body Exp_Ch9 is
*** 1432,1437 ****
--- 2342,2348 ----
        Ident       : Entity_Id) return List_Id
     is
        Loc         : constant Source_Ptr := Sloc (N);
+       Decl        : Node_Id;
        Formal      : Entity_Id;
        New_Plist   : List_Id;
        New_Param   : Node_Id;
*************** package body Exp_Ch9 is
*** 1439,1445 ****
     begin
        New_Plist := New_List;
        Formal := First_Formal (Ident);
- 
        while Present (Formal) loop
           New_Param :=
             Make_Parameter_Specification (Loc,
--- 2350,2355 ----
*************** package body Exp_Ch9 is
*** 1462,1468 ****
        --  to protected subprogram, the parameter is in-out. Otherwise it is
        --  an in parameter.
  
!       Prepend_To (New_Plist,
          Make_Parameter_Specification (Loc,
            Defining_Identifier =>
              Make_Defining_Identifier (Loc, Name_uObject),
--- 2372,2378 ----
        --  to protected subprogram, the parameter is in-out. Otherwise it is
        --  an in parameter.
  
!       Decl :=
          Make_Parameter_Specification (Loc,
            Defining_Identifier =>
              Make_Defining_Identifier (Loc, Name_uObject),
*************** package body Exp_Ch9 is
*** 1470,1476 ****
            Out_Present =>
             (Etype (Ident) = Standard_Void_Type
                and then not Is_RTE (Obj_Type, RE_Address)),
!           Parameter_Type => New_Reference_To (Obj_Type, Loc)));
  
        return New_Plist;
     end Build_Protected_Spec;
--- 2380,2388 ----
            Out_Present =>
             (Etype (Ident) = Standard_Void_Type
                and then not Is_RTE (Obj_Type, RE_Address)),
!           Parameter_Type => New_Reference_To (Obj_Type, Loc));
!       Set_Needs_Debug_Info (Defining_Identifier (Decl));
!       Prepend_To (New_Plist, Decl);
  
        return New_Plist;
     end Build_Protected_Spec;
*************** package body Exp_Ch9 is
*** 1480,1498 ****
     ---------------------------------------
  
     function Build_Protected_Sub_Specification
!      (N           : Node_Id;
!       Prottyp     : Entity_Id;
!       Unprotected : Boolean := False) return Node_Id
     is
!       Loc         : constant Source_Ptr := Sloc (N);
!       Decl        : Node_Id;
!       Protnm      : constant Name_Id := Chars (Prottyp);
!       Ident       : Entity_Id;
!       Nam         : Name_Id;
!       New_Id      : Entity_Id;
!       New_Plist   : List_Id;
!       Append_Char : Character;
!       New_Spec    : Node_Id;
  
     begin
        if Ekind
--- 2392,2412 ----
     ---------------------------------------
  
     function Build_Protected_Sub_Specification
!      (N       : Node_Id;
!       Prottyp : Entity_Id;
!       Mode    : Subprogram_Protection_Mode) return Node_Id
     is
!       Loc       : constant Source_Ptr := Sloc (N);
!       Decl      : Node_Id;
!       Ident     : Entity_Id;
!       New_Id    : Entity_Id;
!       New_Plist : List_Id;
!       New_Spec  : Node_Id;
! 
!       Append_Chr : constant array (Subprogram_Protection_Mode) of Character :=
!                      (Dispatching_Mode => ' ',
!                       Protected_Mode   => 'P',
!                       Unprotected_Mode => 'N');
  
     begin
        if Ekind
*************** package body Exp_Ch9 is
*** 1504,1524 ****
        end if;
  
        Ident := Defining_Unit_Name (Specification (Decl));
-       Nam := Chars (Ident);
  
!       New_Plist := Build_Protected_Spec
!                         (Decl, Corresponding_Record_Type (Prottyp),
!                          Unprotected, Ident);
! 
!       if Unprotected then
!          Append_Char := 'N';
!       else
!          Append_Char := 'P';
!       end if;
  
        New_Id :=
          Make_Defining_Identifier (Loc,
!           Chars => Build_Selected_Name (Protnm, Nam, Append_Char));
  
        --  The unprotected operation carries the user code, and debugging
        --  information must be generated for it, even though this spec does
--- 2418,2432 ----
        end if;
  
        Ident := Defining_Unit_Name (Specification (Decl));
  
!       New_Plist :=
!         Build_Protected_Spec (Decl,
!           Corresponding_Record_Type (Prottyp),
!                               Mode = Unprotected_Mode, Ident);
  
        New_Id :=
          Make_Defining_Identifier (Loc,
!           Chars => Build_Selected_Name (Prottyp, Ident, Append_Chr (Mode)));
  
        --  The unprotected operation carries the user code, and debugging
        --  information must be generated for it, even though this spec does
*************** package body Exp_Ch9 is
*** 1539,1545 ****
             Make_Function_Specification (Loc,
               Defining_Unit_Name => New_Id,
               Parameter_Specifications => New_Plist,
!              Subtype_Mark => New_Copy (Subtype_Mark (Specification (Decl))));
           Set_Return_Present (Defining_Unit_Name (New_Spec));
           return New_Spec;
        end if;
--- 2447,2454 ----
             Make_Function_Specification (Loc,
               Defining_Unit_Name => New_Id,
               Parameter_Specifications => New_Plist,
!              Result_Definition =>
!                New_Copy (Result_Definition (Specification (Decl))));
           Set_Return_Present (Defining_Unit_Name (New_Spec));
           return New_Spec;
        end if;
*************** package body Exp_Ch9 is
*** 1581,1604 ****
        function Is_Exception_Safe (Subprogram : Node_Id) return Boolean is
  
           function Has_Side_Effect (N : Node_Id) return Boolean;
!          --  Return True whenever encountering a subprogram call or a
!          --  raise statement of any kind in the sequence of statements N
  
           ---------------------
           -- Has_Side_Effect --
           ---------------------
  
!          --  What is this doing buried two levels down in exp_ch9. It
!          --  seems like a generally useful function, and indeed there
!          --  may be code duplication going on here ???
  
           function Has_Side_Effect (N : Node_Id) return Boolean is
!             Stmt : Node_Id := N;
              Expr : Node_Id;
  
              function Is_Call_Or_Raise (N : Node_Id) return Boolean;
              --  Indicate whether N is a subprogram call or a raise statement
  
              function Is_Call_Or_Raise (N : Node_Id) return Boolean is
              begin
                 return Nkind (N) = N_Procedure_Call_Statement
--- 2490,2517 ----
        function Is_Exception_Safe (Subprogram : Node_Id) return Boolean is
  
           function Has_Side_Effect (N : Node_Id) return Boolean;
!          --  Return True whenever encountering a subprogram call or raise
!          --  statement of any kind in the sequence of statements
  
           ---------------------
           -- Has_Side_Effect --
           ---------------------
  
!          --  What is this doing buried two levels down in exp_ch9. It seems
!          --  like a generally useful function, and indeed there may be code
!          --  duplication going on here ???
  
           function Has_Side_Effect (N : Node_Id) return Boolean is
!             Stmt : Node_Id;
              Expr : Node_Id;
  
              function Is_Call_Or_Raise (N : Node_Id) return Boolean;
              --  Indicate whether N is a subprogram call or a raise statement
  
+             ----------------------
+             -- Is_Call_Or_Raise --
+             ----------------------
+ 
              function Is_Call_Or_Raise (N : Node_Id) return Boolean is
              begin
                 return Nkind (N) = N_Procedure_Call_Statement
*************** package body Exp_Ch9 is
*** 1612,1617 ****
--- 2525,2531 ----
           --  Start of processing for Has_Side_Effect
  
           begin
+             Stmt := N;
              while Present (Stmt) loop
                 if Is_Call_Or_Raise (Stmt) then
                    return True;
*************** package body Exp_Ch9 is
*** 1667,1682 ****
        Exc_Safe := Is_Exception_Safe (N);
  
        P_Op_Spec :=
!         Build_Protected_Sub_Specification (N,
!           Pid, Unprotected => False);
  
!       --  Build a list of the formal parameters of the protected
!       --  version of the subprogram to use as the actual parameters
!       --  of the unprotected version.
  
        Uactuals := New_List;
        Pformal := First (Parameter_Specifications (P_Op_Spec));
- 
        while Present (Pformal) loop
           Append (
             Make_Identifier (Loc, Chars (Defining_Identifier (Pformal))),
--- 2581,2594 ----
        Exc_Safe := Is_Exception_Safe (N);
  
        P_Op_Spec :=
!         Build_Protected_Sub_Specification (N, Pid, Protected_Mode);
  
!       --  Build a list of the formal parameters of the protected version of
!       --  the subprogram to use as the actual parameters of the unprotected
!       --  version.
  
        Uactuals := New_List;
        Pformal := First (Parameter_Specifications (P_Op_Spec));
        while Present (Pformal) loop
           Append (
             Make_Identifier (Loc, Chars (Defining_Identifier (Pformal))),
*************** package body Exp_Ch9 is
*** 1684,1691 ****
           Next (Pformal);
        end loop;
  
!       --  Make a call to the unprotected version of the subprogram
!       --  built above for use by the protected version built below.
  
        if Nkind (Op_Spec) = N_Function_Specification then
           if Exc_Safe then
--- 2596,2603 ----
           Next (Pformal);
        end loop;
  
!       --  Make a call to the unprotected version of the subprogram built above
!       --  for use by the protected version built below.
  
        if Nkind (Op_Spec) = N_Function_Specification then
           if Exc_Safe then
*************** package body Exp_Ch9 is
*** 1694,1700 ****
                Make_Object_Declaration (Loc,
                  Defining_Identifier => R,
                  Constant_Present => True,
!                 Object_Definition => New_Copy (Subtype_Mark (N_Op_Spec)),
                  Expression =>
                    Make_Function_Call (Loc,
                      Name => Make_Identifier (Loc,
--- 2606,2612 ----
                Make_Object_Declaration (Loc,
                  Defining_Identifier => R,
                  Constant_Present => True,
!                 Object_Definition => New_Copy (Result_Definition (N_Op_Spec)),
                  Expression =>
                    Make_Function_Call (Loc,
                      Name => Make_Identifier (Loc,
*************** package body Exp_Ch9 is
*** 1740,1746 ****
  
        if Has_Entries (Pid)
          or else Has_Interrupt_Handler (Pid)
!         or else (Has_Attach_Handler (Pid) and then not Restricted_Profile)
        then
           if Abort_Allowed
             or else Restriction_Active (No_Entry_Queue) = False
--- 2652,2661 ----
  
        if Has_Entries (Pid)
          or else Has_Interrupt_Handler (Pid)
!         or else (Has_Attach_Handler (Pid)
!                   and then not Restricted_Profile)
!         or else (Ada_Version >= Ada_05
!                   and then Present (Interface_List (Parent (Pid))))
        then
           if Abort_Allowed
             or else Restriction_Active (No_Entry_Queue) = False
*************** package body Exp_Ch9 is
*** 1893,1909 ****
     -------------------------
  
     function Build_Selected_Name
!      (Prefix, Selector : Name_Id;
!       Append_Char      : Character := ' ') return Name_Id
     is
        Select_Buffer : String (1 .. Hostparm.Max_Name_Length);
        Select_Len    : Natural;
  
     begin
!       Get_Name_String (Selector);
        Select_Len := Name_Len;
        Select_Buffer (1 .. Select_Len) := Name_Buffer (1 .. Name_Len);
!       Get_Name_String (Prefix);
  
        --  If scope is anonymous type, discard suffix to recover name of
        --  single protected object. Otherwise use protected type name.
--- 2808,2825 ----
     -------------------------
  
     function Build_Selected_Name
!      (Prefix      : Entity_Id;
!       Selector    : Entity_Id;
!       Append_Char : Character := ' ') return Name_Id
     is
        Select_Buffer : String (1 .. Hostparm.Max_Name_Length);
        Select_Len    : Natural;
  
     begin
!       Get_Name_String (Chars (Selector));
        Select_Len := Name_Len;
        Select_Buffer (1 .. Select_Len) := Name_Buffer (1 .. Name_Len);
!       Get_Name_String (Chars (Prefix));
  
        --  If scope is anonymous type, discard suffix to recover name of
        --  single protected object. Otherwise use protected type name.
*************** package body Exp_Ch9 is
*** 1921,1932 ****
           Name_Buffer (Name_Len) := Select_Buffer (J);
        end loop;
  
        if Append_Char /= ' ' then
!          Name_Len := Name_Len + 1;
!          Name_Buffer (Name_Len) := Append_Char;
        end if;
- 
-       return Name_Find;
     end Build_Selected_Name;
  
     -----------------------------
--- 2837,2864 ----
           Name_Buffer (Name_Len) := Select_Buffer (J);
        end loop;
  
+       --  Now add the Append_Char if specified. The encoding to follow
+       --  depends on the type of entity. If Append_Char is either 'N' or 'P',
+       --  then the entity is associated to a protected type subprogram.
+       --  Otherwise, it is a protected type entry. For each case, the
+       --  encoding to follow for the suffix is documented in exp_dbug.ads.
+ 
+       --  It would be better to encapsulate this as a routine in Exp_Dbug ???
+ 
        if Append_Char /= ' ' then
!          if Append_Char = 'P' or Append_Char = 'N' then
!             Name_Len := Name_Len + 1;
!             Name_Buffer (Name_Len) := Append_Char;
!             return Name_Find;
!          else
!             Name_Buffer (Name_Len + 1) := '_';
!             Name_Buffer (Name_Len + 2) := Append_Char;
!             Name_Len := Name_Len + 2;
!             return New_External_Name (Name_Find, ' ', -1);
!          end if;
!       else
!          return Name_Find;
        end if;
     end Build_Selected_Name;
  
     -----------------------------
*************** package body Exp_Ch9 is
*** 1997,2020 ****
           Loc       : constant Source_Ptr := Sloc (N);
           Parms     : constant List_Id    := Parameter_Associations (N);
           Stats     : constant List_Id    := New_List;
!          Pdecl     : Node_Id;
!          Xdecl     : Node_Id;
!          Decls     : List_Id;
           Conctyp   : Node_Id;
           Ent       : Entity_Id;
           Ent_Acc   : Entity_Id;
           P         : Entity_Id;
-          X         : Entity_Id;
-          Plist     : List_Id;
           Parm1     : Node_Id;
           Parm2     : Node_Id;
           Parm3     : Node_Id;
!          Call      : Node_Id;
!          Actual    : Node_Id;
!          Formal    : Node_Id;
!          N_Node    : Node_Id;
!          N_Var     : Node_Id;
!          Comm_Name : Entity_Id;
  
        begin
           --  Simple entry and entry family cases merge here
--- 2929,2954 ----
           Loc       : constant Source_Ptr := Sloc (N);
           Parms     : constant List_Id    := Parameter_Associations (N);
           Stats     : constant List_Id    := New_List;
!          Actual    : Node_Id;
!          Call      : Node_Id;
!          Comm_Name : Entity_Id;
           Conctyp   : Node_Id;
+          Decls     : List_Id;
           Ent       : Entity_Id;
           Ent_Acc   : Entity_Id;
+          Formal    : Node_Id;
+          Iface_Tag : Entity_Id;
+          Iface_Typ : Entity_Id;
+          N_Node    : Node_Id;
+          N_Var     : Node_Id;
           P         : Entity_Id;
           Parm1     : Node_Id;
           Parm2     : Node_Id;
           Parm3     : Node_Id;
!          Pdecl     : Node_Id;
!          Plist     : List_Id;
!          X         : Entity_Id;
!          Xdecl     : Node_Id;
  
        begin
           --  Simple entry and entry family cases merge here
*************** package body Exp_Ch9 is
*** 2081,2087 ****
           end if;
  
           --  The third parameter is the packaged parameters. If there are
!          --  none, then it is just the null address, since nothing is passed
  
           if No (Parms) then
              Parm3 := New_Reference_To (RTE (RE_Null_Address), Loc);
--- 3015,3021 ----
           end if;
  
           --  The third parameter is the packaged parameters. If there are
!          --  none, then it is just the null address, since nothing is passed.
  
           if No (Parms) then
              Parm3 := New_Reference_To (RTE (RE_Null_Address), Loc);
*************** package body Exp_Ch9 is
*** 2091,2098 ****
           --  of a packaged record containing the required parameter values.
  
           else
!             --  First build a list of parameter values, which are
!             --  references to objects of the parameter types.
  
              Plist := New_List;
  
--- 3025,3032 ----
           --  of a packaged record containing the required parameter values.
  
           else
!             --  First build a list of parameter values, which are references to
!             --  objects of the parameter types.
  
              Plist := New_List;
  
*************** package body Exp_Ch9 is
*** 2114,2122 ****
                        Object_Definition =>
                          New_Reference_To (Etype (Formal), Loc));
  
!                   --  We have to make an assignment statement separate for
!                   --  the case of limited type. We can not assign it unless
!                   --  the Assignment_OK flag is set first.
  
                    if Ekind (Formal) /= E_Out_Parameter then
                       N_Var :=
--- 3048,3056 ----
                        Object_Definition =>
                          New_Reference_To (Etype (Formal), Loc));
  
!                   --  We have to make an assignment statement separate for the
!                   --  case of limited type. We cannot assign it unless the
!                   --  Assignment_OK flag is set first.
  
                    if Ekind (Formal) /= E_Out_Parameter then
                       N_Var :=
*************** package body Exp_Ch9 is
*** 2136,2143 ****
                      Prefix =>
                        New_Reference_To (Defining_Identifier (N_Node), Loc)));
                 else
!                   Append_To (Plist,
!                     Make_Reference (Loc, Prefix => Relocate_Node (Actual)));
                 end if;
  
                 Next_Actual (Actual);
--- 3070,3105 ----
                      Prefix =>
                        New_Reference_To (Defining_Identifier (N_Node), Loc)));
                 else
!                   --  Interface class-wide formal
! 
!                   if Ada_Version >= Ada_05
!                     and then Ekind (Etype (Formal)) = E_Class_Wide_Type
!                     and then Is_Interface (Etype (Formal))
!                   then
!                      Iface_Typ := Etype (Etype (Formal));
! 
!                      --  Generate:
!                      --    formal_iface_type! (actual.iface_tag)'reference
! 
!                      Iface_Tag :=
!                        Find_Interface_Tag (Etype (Actual), Iface_Typ);
!                      pragma Assert (Present (Iface_Tag));
! 
!                      Append_To (Plist,
!                        Make_Reference (Loc,
!                          Unchecked_Convert_To (Iface_Typ,
!                            Make_Selected_Component (Loc,
!                              Prefix =>
!                                Relocate_Node (Actual),
!                              Selector_Name =>
!                                New_Reference_To (Iface_Tag, Loc)))));
!                   else
!                      --  Generate:
!                      --    actual'reference
! 
!                      Append_To (Plist,
!                        Make_Reference (Loc, Relocate_Node (Actual)));
!                   end if;
                 end if;
  
                 Next_Actual (Actual);
*************** package body Exp_Ch9 is
*** 2248,2255 ****
  
           Append_To (Stats, Call);
  
!          --  If there are out or in/out parameters by copy
!          --  add assignment statements for the result values.
  
           if Present (Parms) then
              Actual := First_Actual (N);
--- 3210,3217 ----
  
           Append_To (Stats, Call);
  
!          --  If there are out or in/out parameters by copy add assignment
!          --  statements for the result values.
  
           if Present (Parms) then
              Actual := First_Actual (N);
*************** package body Exp_Ch9 is
*** 2270,2286 ****
                              Selector_Name =>
                                Make_Identifier (Loc, Chars (Formal)))));
  
!                   --  In all cases (including limited private types) we
!                   --  want the assignment to be valid.
  
                    Set_Assignment_OK (Name (N_Node));
  
                    --  If the call is the triggering alternative in an
!                   --  asynchronous select, or the entry_call alternative
!                   --  of a conditional entry call, the assignments for in-out
!                   --  parameters are incorporated into the statement list
!                   --  that follows, so that there are executed only if the
!                   --  entry call succeeds.
  
                    if (Nkind (Parent (N)) = N_Triggering_Alternative
                         and then N = Triggering_Statement (Parent (N)))
--- 3232,3248 ----
                              Selector_Name =>
                                Make_Identifier (Loc, Chars (Formal)))));
  
!                   --  In all cases (including limited private types) we want
!                   --  the assignment to be valid.
  
                    Set_Assignment_OK (Name (N_Node));
  
                    --  If the call is the triggering alternative in an
!                   --  asynchronous select, or the entry_call alternative of a
!                   --  conditional entry call, the assignments for in-out
!                   --  parameters are incorporated into the statement list that
!                   --  follows, so that there are executed only if the entry
!                   --  call succeeds.
  
                    if (Nkind (Parent (N)) = N_Triggering_Alternative
                         and then N = Triggering_Statement (Parent (N)))
*************** package body Exp_Ch9 is
*** 2531,2540 ****
     -----------------------------------
  
     function Build_Task_Proc_Specification (T : Entity_Id) return Node_Id is
!       Loc  : constant Source_Ptr := Sloc (T);
!       Nam  : constant Name_Id    := Chars (T);
!       Tdec : constant Node_Id    := Declaration_Node (T);
!       Ent  : Entity_Id;
  
     begin
        Ent :=
--- 3493,3501 ----
     -----------------------------------
  
     function Build_Task_Proc_Specification (T : Entity_Id) return Node_Id is
!       Loc : constant Source_Ptr := Sloc (T);
!       Nam : constant Name_Id    := Chars (T);
!       Ent : Entity_Id;
  
     begin
        Ent :=
*************** package body Exp_Ch9 is
*** 2545,2552 ****
        --  Associate the procedure with the task, if this is the declaration
        --  (and not the body) of the procedure.
  
!       if No (Task_Body_Procedure (Tdec)) then
!          Set_Task_Body_Procedure (Tdec, Ent);
        end if;
  
        return
--- 3506,3513 ----
        --  Associate the procedure with the task, if this is the declaration
        --  (and not the body) of the procedure.
  
!       if No (Task_Body_Procedure (T)) then
!          Set_Task_Body_Procedure (T, Ent);
        end if;
  
        return
*************** package body Exp_Ch9 is
*** 2577,2590 ****
        Op_Decls  : List_Id;
  
     begin
!       --  Make an unprotected version of the subprogram for use
!       --  within the same object, with a new name and an additional
!       --  parameter representing the object.
  
        Op_Decls := Declarations (N);
        N_Op_Spec :=
!         Build_Protected_Sub_Specification
!           (N, Pid, Unprotected => True);
  
        return
          Make_Subprogram_Body (Loc,
--- 3538,3550 ----
        Op_Decls  : List_Id;
  
     begin
!       --  Make an unprotected version of the subprogram for use within the same
!       --  object, with a new name and an additional parameter representing the
!       --  object.
  
        Op_Decls := Declarations (N);
        N_Op_Spec :=
!         Build_Protected_Sub_Specification (N, Pid, Unprotected_Mode);
  
        return
          Make_Subprogram_Body (Loc,
*************** package body Exp_Ch9 is
*** 2618,2639 ****
                Make_Defining_Identifier (Loc,
                  Chars => New_Internal_Name ('F'));
  
!             Efam_Decl :=
!               Make_Full_Type_Declaration (Loc,
!                 Defining_Identifier => Efam_Type,
!                 Type_Definition =>
!                   Make_Unconstrained_Array_Definition (Loc,
!                     Subtype_Marks => (New_List (
!                       New_Occurrence_Of (
                         Base_Type
!                          (Etype (Discrete_Subtype_Definition
!                            (Parent (Efam)))), Loc))),
  
                      Component_Definition =>
                        Make_Component_Definition (Loc,
                          Aliased_Present    => False,
                          Subtype_Indication =>
                            New_Reference_To (Standard_Character, Loc))));
  
              Insert_After (Current_Node, Efam_Decl);
              Current_Node := Efam_Decl;
--- 3578,3638 ----
                Make_Defining_Identifier (Loc,
                  Chars => New_Internal_Name ('F'));
  
!             declare
!                Bas : Entity_Id :=
                         Base_Type
!                         (Etype (Discrete_Subtype_Definition (Parent (Efam))));
!                Bas_Decl : Node_Id := Empty;
!                Lo, Hi   : Node_Id;
! 
!             begin
!                Get_Index_Bounds
!                  (Discrete_Subtype_Definition (Parent (Efam)), Lo, Hi);
!                if Scope (Bas) = Standard_Standard
!                  and then Bas = Base_Type (Standard_Integer)
!                  and then Has_Discriminants (Conctyp)
!                  and then Present
!                    (Discriminant_Default_Value (First_Discriminant (Conctyp)))
!                  and then
!                    (Denotes_Discriminant (Lo, True)
!                      or else Denotes_Discriminant (Hi, True))
!                then
!                   Bas :=
!                     Make_Defining_Identifier (Loc, New_Internal_Name ('B'));
!                   Bas_Decl :=
!                     Make_Subtype_Declaration (Loc,
!                        Defining_Identifier => Bas,
!                        Subtype_Indication =>
!                          Make_Subtype_Indication (Loc,
!                            Subtype_Mark =>
!                              New_Occurrence_Of (Standard_Integer, Loc),
!                            Constraint =>
!                              Make_Range_Constraint (Loc,
!                                Range_Expression => Make_Range (Loc,
!                                  Make_Integer_Literal
!                                    (Loc, -Entry_Family_Bound),
!                                  Make_Integer_Literal
!                                    (Loc, Entry_Family_Bound - 1)))));
! 
!                   Insert_After (Current_Node, Bas_Decl);
!                   Current_Node := Bas_Decl;
!                   Analyze (Bas_Decl);
!                end if;
! 
!                Efam_Decl :=
!                  Make_Full_Type_Declaration (Loc,
!                    Defining_Identifier => Efam_Type,
!                    Type_Definition =>
!                      Make_Unconstrained_Array_Definition (Loc,
!                        Subtype_Marks =>
!                          (New_List (New_Occurrence_Of (Bas, Loc))),
  
                      Component_Definition =>
                        Make_Component_Definition (Loc,
                          Aliased_Present    => False,
                          Subtype_Indication =>
                            New_Reference_To (Standard_Character, Loc))));
+             end;
  
              Insert_After (Current_Node, Efam_Decl);
              Current_Node := Efam_Decl;
*************** package body Exp_Ch9 is
*** 2669,2676 ****
     -- Concurrent_Ref --
     --------------------
  
!    --  The expression returned for a reference to a concurrent
!    --  object has the form:
  
     --    taskV!(name)._Task_Id
  
--- 3668,3675 ----
     -- Concurrent_Ref --
     --------------------
  
!    --  The expression returned for a reference to a concurrent object has the
!    --  form:
  
     --    taskV!(name)._Task_Id
  
*************** package body Exp_Ch9 is
*** 2685,2692 ****
     --    objectV!(name.all)._Object
  
     --  here taskV and objectV are the types for the associated records, which
!    --  contain the required _Task_Id and _Object fields for tasks and
!    --  protected objects, respectively.
  
     --  For the case of a task type name, the expression is
  
--- 3684,3691 ----
     --    objectV!(name.all)._Object
  
     --  here taskV and objectV are the types for the associated records, which
!    --  contain the required _Task_Id and _Object fields for tasks and protected
!    --  objects, respectively.
  
     --  For the case of a task type name, the expression is
  
*************** package body Exp_Ch9 is
*** 2698,2705 ****
  
     --    objectR
  
!    --  which is a renaming of the _object field of the current object
!    --  object record, passed into protected operations as a parameter.
  
     function Concurrent_Ref (N : Node_Id) return Node_Id is
        Loc  : constant Source_Ptr := Sloc (N);
--- 3697,3704 ----
  
     --    objectR
  
!    --  which is a renaming of the _object field of the current object object
!    --  record, passed into protected operations as a parameter.
  
     function Concurrent_Ref (N : Node_Id) return Node_Id is
        Loc  : constant Source_Ptr := Sloc (N);
*************** package body Exp_Ch9 is
*** 2744,2751 ****
              end if;
           end loop;
  
!          --  We know that we are within the task body, so should have
!          --  found it in scope.
  
           raise Program_Error;
        end Is_Current_Task;
--- 3743,3750 ----
              end if;
           end loop;
  
!          --  We know that we are within the task body, so should have found it
!          --  in scope.
  
           raise Program_Error;
        end Is_Current_Task;
*************** package body Exp_Ch9 is
*** 2782,2791 ****
              else
                 declare
                    Decl   : Node_Id;
!                   T_Self : constant Entity_Id
!                     := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
!                   T_Body : constant Node_Id
!                     := Parent (Corresponding_Body (Parent (Entity (N))));
  
                 begin
                    Decl := Make_Object_Declaration (Loc,
--- 3781,3791 ----
              else
                 declare
                    Decl   : Node_Id;
!                   T_Self : constant Entity_Id :=
!                              Make_Defining_Identifier (Loc,
!                                Chars => New_Internal_Name ('T'));
!                   T_Body : constant Node_Id :=
!                              Parent (Corresponding_Body (Parent (Entity (N))));
  
                 begin
                    Decl := Make_Object_Declaration (Loc,
*************** package body Exp_Ch9 is
*** 2864,2885 ****
        S    : Node_Id;
  
     begin
!       --  The queues of entries and entry families appear in  textual
!       --  order in the associated record. The entry index is computed as
!       --  the sum of the number of queues for all entries that precede the
!       --  designated one, to which is added the index expression, if this
!       --  expression denotes a member of a family.
  
        --  The following is a place holder for the count of simple entries
  
        Num := Make_Integer_Literal (Sloc, 1);
  
!       --  We construct an expression which is a series of addition
!       --  operations. The first operand is the number of single entries that
!       --  precede this one, the second operand is the index value relative
!       --  to the start of the referenced family, and the remaining operands
!       --  are the lengths of the entry families that precede this entry, i.e.
!       --  the constructed expression is:
  
        --    number_simple_entries +
        --      (s'pos (index-value) - s'pos (family'first)) + 1 +
--- 3864,3885 ----
        S    : Node_Id;
  
     begin
!       --  The queues of entries and entry families appear in textual order in
!       --  the associated record. The entry index is computed as the sum of the
!       --  number of queues for all entries that precede the designated one, to
!       --  which is added the index expression, if this expression denotes a
!       --  member of a family.
  
        --  The following is a place holder for the count of simple entries
  
        Num := Make_Integer_Literal (Sloc, 1);
  
!       --  We construct an expression which is a series of addition operations.
!       --  The first operand is the number of single entries that precede this
!       --  one, the second operand is the index value relative to the start of
!       --  the referenced family, and the remaining operands are the lengths of
!       --  the entry families that precede this entry, i.e. the constructed
!       --  expression is:
  
        --    number_simple_entries +
        --      (s'pos (index-value) - s'pos (family'first)) + 1 +
*************** package body Exp_Ch9 is
*** 2887,2894 ****
  
        --  where index-value is the given index value, and s is the index
        --  subtype (we have to use pos because the subtype might be an
!       --  enumeration type preventing direct subtraction).
!       --  Note that the task entry array is one-indexed.
  
        --  The upper bound of the entry family may be a discriminant, so we
        --  retrieve the lower bound explicitly to compute offset, rather than
--- 3887,3894 ----
  
        --  where index-value is the given index value, and s is the index
        --  subtype (we have to use pos because the subtype might be an
!       --  enumeration type preventing direct subtraction). Note that the task
!       --  entry array is one-indexed.
  
        --  The upper bound of the entry family may be a discriminant, so we
        --  retrieve the lower bound explicitly to compute offset, rather than
*************** package body Exp_Ch9 is
*** 2954,2960 ****
  
     procedure Establish_Task_Master (N : Node_Id) is
        Call : Node_Id;
- 
     begin
        if Restriction_Active (No_Task_Hierarchy) = False then
           Call := Build_Runtime_Call (Sloc (N), RE_Enter_Master);
--- 3954,3959 ----
*************** package body Exp_Ch9 is
*** 3006,3018 ****
     --  We can distinguish the two cases by seeing whether the accept statement
     --  is part of a list. If not, then it must be in an accept alternative.
  
!    --  To expand the requeue statement, a label is provided at the end of
!    --  the accept statement or alternative of which it is a part, so that
!    --  the statement can be skipped after the requeue is complete.
!    --  This label is created here rather than during the expansion of the
!    --  accept statement, because it will be needed by any requeue
!    --  statements within the accept, which are expanded before the
!    --  accept.
  
     procedure Expand_Accept_Declarations (N : Node_Id; Ent : Entity_Id) is
        Loc    : constant Source_Ptr := Sloc (N);
--- 4005,4016 ----
     --  We can distinguish the two cases by seeing whether the accept statement
     --  is part of a list. If not, then it must be in an accept alternative.
  
!    --  To expand the requeue statement, a label is provided at the end of the
!    --  accept statement or alternative of which it is a part, so that the
!    --  statement can be skipped after the requeue is complete. This label is
!    --  created here rather than during the expansion of the accept statement,
!    --  because it will be needed by any requeue statements within the accept,
!    --  which are expanded before the accept.
  
     procedure Expand_Accept_Declarations (N : Node_Id; Ent : Entity_Id) is
        Loc    : constant Source_Ptr := Sloc (N);
*************** package body Exp_Ch9 is
*** 3048,3055 ****
  
           --  Create and declare two labels to be placed at the end of the
           --  accept statement. The first label is used to allow requeues to
!          --  skip the remainder of entry processing. The second label is
!          --  used to skip the remainder of entry processing if the rendezvous
           --  completes in the middle of the accept body.
  
           if Present (Handled_Statement_Sequence (N)) then
--- 4046,4053 ----
  
           --  Create and declare two labels to be placed at the end of the
           --  accept statement. The first label is used to allow requeues to
!          --  skip the remainder of entry processing. The second label is used
!          --  to skip the remainder of entry processing if the rendezvous
           --  completes in the middle of the accept body.
  
           if Present (Handled_Statement_Sequence (N)) then
*************** package body Exp_Ch9 is
*** 3136,3146 ****
                    Next (Alt);
                 end loop;
  
!                --  If we are the first accept statement, then we have to
!                --  create the Ann variable, as for the stand alone case,
!                --  except that it is inserted before the selective accept.
!                --  Similarly, a label for requeue expansion must be
!                --  declared.
  
                 if N = Accept_Statement (Alt) then
                    Ann :=
--- 4134,4143 ----
                    Next (Alt);
                 end loop;
  
!                --  If we are the first accept statement, then we have to create
!                --  the Ann variable, as for the stand alone case, except that
!                --  it is inserted before the selective accept. Similarly, a
!                --  label for requeue expansion must be declared.
  
                 if N = Accept_Statement (Alt) then
                    Ann :=
*************** package body Exp_Ch9 is
*** 3155,3162 ****
                    Insert_Before (Sel_Acc, Adecl);
                    Analyze (Adecl);
  
!                --  If we are not the first accept statement, then find the
!                --  Ann variable allocated by the first accept and use it.
  
                 else
                    Ann :=
--- 4152,4159 ----
                    Insert_Before (Sel_Acc, Adecl);
                    Analyze (Adecl);
  
!                --  If we are not the first accept statement, then find the Ann
!                --  variable allocated by the first accept and use it.
  
                 else
                    Ann :=
*************** package body Exp_Ch9 is
*** 3175,3204 ****
              Set_Needs_Debug_Info (Ann);
           end if;
  
!          --  Create renaming declarations for the entry formals. Each
!          --  reference to a formal becomes a dereference of a component
!          --  of the parameter block, whose address is held in Ann.
!          --  These declarations are eventually inserted into the accept
!          --  block, and analyzed there so that they have the proper scope
!          --  for gdb and do not conflict with other declarations.
  
           if Present (Parameter_Specifications (N))
             and then Present (Handled_Statement_Sequence (N))
           then
              declare
-                Formal : Entity_Id;
-                New_F  : Entity_Id;
                 Comp   : Entity_Id;
                 Decl   : Node_Id;
  
              begin
                 New_Scope (Ent);
                 Formal := First_Formal (Ent);
  
                 while Present (Formal) loop
!                   Comp   := Entry_Component (Formal);
!                   New_F  :=
                      Make_Defining_Identifier (Sloc (Formal), Chars (Formal));
                    Set_Etype (New_F, Etype (Formal));
                    Set_Scope (New_F, Ent);
                    Set_Needs_Debug_Info (New_F);   --  That's the whole point.
--- 4172,4202 ----
              Set_Needs_Debug_Info (Ann);
           end if;
  
!          --  Create renaming declarations for the entry formals. Each reference
!          --  to a formal becomes a dereference of a component of the parameter
!          --  block, whose address is held in Ann. These declarations are
!          --  eventually inserted into the accept block, and analyzed there so
!          --  that they have the proper scope for gdb and do not conflict with
!          --  other declarations.
  
           if Present (Parameter_Specifications (N))
             and then Present (Handled_Statement_Sequence (N))
           then
              declare
                 Comp   : Entity_Id;
                 Decl   : Node_Id;
+                Formal : Entity_Id;
+                New_F  : Entity_Id;
  
              begin
                 New_Scope (Ent);
                 Formal := First_Formal (Ent);
  
                 while Present (Formal) loop
!                   Comp  := Entry_Component (Formal);
!                   New_F :=
                      Make_Defining_Identifier (Sloc (Formal), Chars (Formal));
+ 
                    Set_Etype (New_F, Etype (Formal));
                    Set_Scope (New_F, Ent);
                    Set_Needs_Debug_Info (New_F);   --  That's the whole point.
*************** package body Exp_Ch9 is
*** 3214,3229 ****
  
                    Decl :=
                      Make_Object_Renaming_Declaration (Loc,
!                     Defining_Identifier => New_F,
!                     Subtype_Mark => New_Reference_To (Etype (Formal), Loc),
!                     Name =>
!                       Make_Explicit_Dereference (Loc,
!                         Make_Selected_Component (Loc,
!                           Prefix =>
!                             Unchecked_Convert_To (Entry_Parameters_Type (Ent),
!                               New_Reference_To (Ann, Loc)),
!                           Selector_Name =>
!                             New_Reference_To (Comp, Loc))));
  
                    if No (Declarations (N)) then
                       Set_Declarations (N, New_List);
--- 4212,4230 ----
  
                    Decl :=
                      Make_Object_Renaming_Declaration (Loc,
!                       Defining_Identifier =>
!                         New_F,
!                       Subtype_Mark =>
!                         New_Reference_To (Etype (Formal), Loc),
!                       Name =>
!                         Make_Explicit_Dereference (Loc,
!                           Make_Selected_Component (Loc,
!                             Prefix =>
!                               Unchecked_Convert_To (
!                                 Entry_Parameters_Type (Ent),
!                                 New_Reference_To (Ann, Loc)),
!                             Selector_Name =>
!                               New_Reference_To (Comp, Loc))));
  
                    if No (Declarations (N)) then
                       Set_Declarations (N, New_List);
*************** package body Exp_Ch9 is
*** 3249,3258 ****
        Comps  : List_Id;
        T      : constant Entity_Id  := Defining_Identifier (N);
        D_T    : constant Entity_Id  := Designated_Type (T);
!       D_T2   : constant Entity_Id  := Make_Defining_Identifier
!                                         (Loc, New_Internal_Name ('D'));
!       E_T    : constant Entity_Id  := Make_Defining_Identifier
!                                         (Loc, New_Internal_Name ('E'));
        P_List : constant List_Id    := Build_Protected_Spec
                                          (N, RTE (RE_Address), False, D_T);
        Decl1  : Node_Id;
--- 4250,4259 ----
        Comps  : List_Id;
        T      : constant Entity_Id  := Defining_Identifier (N);
        D_T    : constant Entity_Id  := Designated_Type (T);
!       D_T2   : constant Entity_Id  := Make_Defining_Identifier (Loc,
!                                         Chars => New_Internal_Name ('D'));
!       E_T    : constant Entity_Id  := Make_Defining_Identifier (Loc,
!                                         Chars => New_Internal_Name ('E'));
        P_List : constant List_Id    := Build_Protected_Spec
                                          (N, RTE (RE_Address), False, D_T);
        Decl1  : Node_Id;
*************** package body Exp_Ch9 is
*** 3266,3272 ****
           Def1 :=
             Make_Access_Function_Definition (Loc,
               Parameter_Specifications => P_List,
!              Subtype_Mark => New_Copy (Subtype_Mark (Type_Definition (N))));
  
        else
           Def1 :=
--- 4267,4274 ----
           Def1 :=
             Make_Access_Function_Definition (Loc,
               Parameter_Specifications => P_List,
!              Result_Definition =>
!                New_Copy (Result_Definition (Type_Definition (N))));
  
        else
           Def1 :=
*************** package body Exp_Ch9 is
*** 3282,3289 ****
        Analyze (Decl1);
        Insert_After (N, Decl1);
  
!       --  Create Equivalent_Type, a record with two components for an
!       --  access to object and an access to subprogram.
  
        Comps := New_List (
          Make_Component_Declaration (Loc,
--- 4284,4291 ----
        Analyze (Decl1);
        Insert_After (N, Decl1);
  
!       --  Create Equivalent_Type, a record with two components for an access to
!       --  object and an access to subprogram.
  
        Comps := New_List (
          Make_Component_Declaration (Loc,
*************** package body Exp_Ch9 is
*** 3337,3348 ****
           return;
        end if;
  
!       --  The body of the entry barrier must be analyzed in the context of
!       --  the protected object, but its scope is external to it, just as any
!       --  other unprotected version of a protected operation. The specification
!       --  has been produced when the protected type declaration was elaborated.
!       --  We build the body, insert it in the enclosing scope, but analyze it
!       --  in the current context. A more uniform approach would be to treat a
        --  barrier just as a protected function, and discard the protected
        --  version of it because it is never called.
  
--- 4339,4350 ----
           return;
        end if;
  
!       --  The body of the entry barrier must be analyzed in the context of the
!       --  protected object, but its scope is external to it, just as any other
!       --  unprotected version of a protected operation. The specification has
!       --  been produced when the protected type declaration was elaborated. We
!       --  build the body, insert it in the enclosing scope, but analyze it in
!       --  the current context. A more uniform approach would be to treat
        --  barrier just as a protected function, and discard the protected
        --  version of it because it is never called.
  
*************** package body Exp_Ch9 is
*** 3361,3367 ****
  
           Update_Prival_Subtypes (B_F);
  
!          Set_Privals (Spec_Decl, N, Loc);
           Set_Discriminals (Spec_Decl);
           Set_Scope (Func, Scope (Prot));
  
--- 4363,4369 ----
  
           Update_Prival_Subtypes (B_F);
  
!          Set_Privals (Spec_Decl, N, Loc, After_Barrier => True);
           Set_Discriminals (Spec_Decl);
           Set_Scope (Func, Scope (Prot));
  
*************** package body Exp_Ch9 is
*** 3369,3384 ****
           Analyze_And_Resolve (Cond, Any_Boolean);
        end if;
  
!       --  The Ravenscar profile restricts barriers to simple variables
!       --  declared within the protected object. We also allow Boolean
!       --  constants, since these appear in several published examples
!       --  and are also allowed by the Aonix compiler.
  
!       --  Note that after analysis variables in this context will be
!       --  replaced by the corresponding prival, that is to say a renaming
!       --  of a selected component of the form _Object.Var. If expansion is
!       --  disabled, as within a generic, we check that the entity appears in
!       --  the current scope.
  
        if Is_Entity_Name (Cond) then
  
--- 4371,4386 ----
           Analyze_And_Resolve (Cond, Any_Boolean);
        end if;
  
!       --  The Ravenscar profile restricts barriers to simple variables declared
!       --  within the protected object. We also allow Boolean constants, since
!       --  these appear in several published examples and are also allowed by
!       --  the Aonix compiler.
  
!       --  Note that after analysis variables in this context will be replaced
!       --  by the corresponding prival, that is to say a renaming of a selected
!       --  component of the form _Object.Var. If expansion is disabled, as
!       --  within a generic, we check that the entity appears in the current
!       --  scope.
  
        if Is_Entity_Name (Cond) then
  
*************** package body Exp_Ch9 is
*** 3461,3471 ****
  
        while Present (Tasknm) loop
           Count := Count + 1;
!          Append_To (Component_Associations (Aggr),
!            Make_Component_Association (Loc,
!              Choices => New_List (
!                Make_Integer_Literal (Loc, Count)),
!              Expression => Concurrent_Ref (Tasknm)));
           Next (Tasknm);
        end loop;
  
--- 4463,4499 ----
  
        while Present (Tasknm) loop
           Count := Count + 1;
! 
!          --  A task interface class-wide type object is being aborted.
!          --  Retrieve its _task_id by calling a dispatching routine.
! 
!          if Ada_Version >= Ada_05
!            and then Ekind (Etype (Tasknm)) = E_Class_Wide_Type
!            and then Is_Interface      (Etype (Tasknm))
!            and then Is_Task_Interface (Etype (Tasknm))
!          then
!             Append_To (Component_Associations (Aggr),
!               Make_Component_Association (Loc,
!                 Choices => New_List (
!                   Make_Integer_Literal (Loc, Count)),
!                 Expression =>
! 
!                   --  Tasknm._disp_get_task_id
! 
!                     Make_Selected_Component (Loc,
!                       Prefix =>
!                         New_Copy_Tree (Tasknm),
!                       Selector_Name =>
!                         Make_Identifier (Loc, Name_uDisp_Get_Task_Id))));
! 
!          else
!             Append_To (Component_Associations (Aggr),
!               Make_Component_Association (Loc,
!                 Choices => New_List (
!                   Make_Integer_Literal (Loc, Count)),
!                 Expression => Concurrent_Ref (Tasknm)));
!          end if;
! 
           Next (Tasknm);
        end loop;
  
*************** package body Exp_Ch9 is
*** 3523,3532 ****
     --          Exceptional_Complete_Rendezvous (Get_GNAT_Exception);
     --    end;
  
!    --  The first three declarations were already inserted ahead of the
!    --  accept statement by the Expand_Accept_Declarations procedure, which
!    --  was called directly from the semantics during analysis of the accept.
!    --  statement, before analyzing its contained statements.
  
     --  The declarations from the N_Accept_Statement, as noted in Sinfo, come
     --  from possible expansion activity (the original source of course does
--- 4551,4560 ----
     --          Exceptional_Complete_Rendezvous (Get_GNAT_Exception);
     --    end;
  
!    --  The first three declarations were already inserted ahead of the accept
!    --  statement by the Expand_Accept_Declarations procedure, which was called
!    --  directly from the semantics during analysis of the accept. statement,
!    --  before analyzing its contained statements.
  
     --  The declarations from the N_Accept_Statement, as noted in Sinfo, come
     --  from possible expansion activity (the original source of course does
*************** package body Exp_Ch9 is
*** 3555,3561 ****
  
        function Null_Statements (Stats : List_Id) return Boolean;
        --  Check for null statement sequence (i.e a list of labels and
!       --  null statements)
  
        function Null_Statements (Stats : List_Id) return Boolean is
           Stmt : Node_Id;
--- 4583,4593 ----
  
        function Null_Statements (Stats : List_Id) return Boolean;
        --  Check for null statement sequence (i.e a list of labels and
!       --  null statements).
! 
!       ---------------------
!       -- Null_Statements --
!       ---------------------
  
        function Null_Statements (Stats : List_Id) return Boolean is
           Stmt : Node_Id;
*************** package body Exp_Ch9 is
*** 3658,3668 ****
               Declarations               => Declarations (N),
               Handled_Statement_Sequence => Build_Accept_Body (N));
  
!          --  Prepend call to Accept_Call to main statement sequence
!          --  If the accept has exception handlers, the statement sequence
!          --  is wrapped in a block. Insert call and renaming declarations
!          --  in the declarations of the block, so they are elaborated before
!          --  the handlers.
  
           Call :=
             Make_Procedure_Call_Statement (Loc,
--- 4690,4700 ----
               Declarations               => Declarations (N),
               Handled_Statement_Sequence => Build_Accept_Body (N));
  
!          --  Prepend call to Accept_Call to main statement sequence If the
!          --  accept has exception handlers, the statement sequence is wrapped
!          --  in a block. Insert call and renaming declarations in the
!          --  declarations of the block, so they are elaborated before the
!          --  handlers.
  
           Call :=
             Make_Procedure_Call_Statement (Loc,
*************** package body Exp_Ch9 is
*** 3687,3714 ****
              D      : Node_Id;
              Next_D : Node_Id;
              Typ    : Entity_Id;
           begin
              D := First (Declarations (N));
- 
              while Present (D) loop
                 Next_D := Next (D);
  
                 if Nkind (D) = N_Object_Renaming_Declaration then
!                   --  The renaming declarations for the formals were
!                   --  created during analysis of the accept statement,
!                   --  and attached to the list of declarations. Place
!                   --  them now in the context of the accept block or
!                   --  subprogram.
  
                    Remove (D);
                    Typ := Entity (Subtype_Mark (D));
                    Insert_After (Call, D);
                    Analyze (D);
  
!                   --  If the formal is class_wide, it does not have an
!                   --  actual subtype. The analysis of the renaming declaration
!                   --  creates one, but we need to retain the class-wide
!                   --  nature of the entity.
  
                    if Is_Class_Wide_Type (Typ) then
                       Set_Etype (Defining_Identifier (D), Typ);
--- 4719,4746 ----
              D      : Node_Id;
              Next_D : Node_Id;
              Typ    : Entity_Id;
+ 
           begin
              D := First (Declarations (N));
              while Present (D) loop
                 Next_D := Next (D);
  
                 if Nkind (D) = N_Object_Renaming_Declaration then
! 
!                   --  The renaming declarations for the formals were created
!                   --  during analysis of the accept statement, and attached to
!                   --  the list of declarations. Place them now in the context
!                   --  of the accept block or subprogram.
  
                    Remove (D);
                    Typ := Entity (Subtype_Mark (D));
                    Insert_After (Call, D);
                    Analyze (D);
  
!                   --  If the formal is class_wide, it does not have an actual
!                   --  subtype. The analysis of the renaming declaration creates
!                   --  one, but we need to retain the class-wide nature of the
!                   --  entity.
  
                    if Is_Class_Wide_Type (Typ) then
                       Set_Etype (Defining_Identifier (D), Typ);
*************** package body Exp_Ch9 is
*** 3737,3745 ****
     -- Expand_N_Asynchronous_Select --
     ----------------------------------
  
!    --  This procedure assumes that the trigger statement is an entry call. A
!    --  delay alternative should already have been expanded into an entry call
!    --  to the appropriate delay object Wait entry.
  
     --  If the trigger is a task entry call, the select is implemented with
     --  a Task_Entry_Call:
--- 4769,4778 ----
     -- Expand_N_Asynchronous_Select --
     ----------------------------------
  
!    --  This procedure assumes that the trigger statement is an entry call or
!    --  a dispatching procedure call. A delay alternative should already have
!    --  been expanded into an entry call to the appropriate delay object Wait
!    --  entry.
  
     --  If the trigger is a task entry call, the select is implemented with
     --  a Task_Entry_Call:
*************** package body Exp_Ch9 is
*** 3770,3788 ****
     --       begin
     --          begin
     --             Abort_Undefer;
!    --             abortable-part
     --          at end
     --             _clean;        --  Added by Exp_Ch7.Expand_Cleanup_Actions.
     --          end;
- 
     --       exception
!    --       when Abort_Signal => Abort_Undefer;
     --       end;
     --       parm := P.param;
     --       parm := P.param;
     --       ...
     --       if not C then
!    --          triggered-statements
     --       end if;
     --    end;
  
--- 4803,4821 ----
     --       begin
     --          begin
     --             Abort_Undefer;
!    --             <abortable-part>
     --          at end
     --             _clean;        --  Added by Exp_Ch7.Expand_Cleanup_Actions.
     --          end;
     --       exception
!    --          when Abort_Signal => Abort_Undefer;
     --       end;
+ 
     --       parm := P.param;
     --       parm := P.param;
     --       ...
     --       if not C then
!    --          <triggered-statements>
     --       end if;
     --    end;
  
*************** package body Exp_Ch9 is
*** 3829,3848 ****
     --             Mode => Asynchronous_Call;
     --             Block => Bnn);
     --           if Enqueued (Bnn) then
!    --              <abortable part>
     --           end if;
     --        at end
     --           _clean;        --  Added by Exp_Ch7.Expand_Cleanup_Actions.
     --        end;
- 
     --     exception
!    --        when Abort_Signal =>
!    --           Abort_Undefer;
!    --           null;
     --     end;
  
     --     if not Cancelled (Bnn) then
!    --        triggered statements
     --     end if;
     --  end;
  
--- 4862,4878 ----
     --             Mode => Asynchronous_Call;
     --             Block => Bnn);
     --           if Enqueued (Bnn) then
!    --              <abortable-part>
     --           end if;
     --        at end
     --           _clean;        --  Added by Exp_Ch7.Expand_Cleanup_Actions.
     --        end;
     --     exception
!    --        when Abort_Signal => Abort_Undefer;
     --     end;
  
     --     if not Cancelled (Bnn) then
!    --        <triggered-statements>
     --     end if;
     --  end;
  
*************** package body Exp_Ch9 is
*** 3865,3870 ****
--- 4895,4984 ----
     --       ...
     --  end;
  
+    --  Ada 2005 (AI-345): If the trigger is a dispatching call, the select is
+    --  expanded into:
+ 
+    --  declare
+    --     B   : Boolean := False;
+    --     Bnn : Communication_Block;
+    --     C   : Ada.Tags.Prim_Op_Kind;
+    --     P   : Parameters := (Param1 .. ParamN)
+    --     S   : constant Integer := DT_Position (<dispatching-call>);
+    --     U   : Boolean;
+ 
+    --  begin
+    --     disp_get_prim_op_kind (<object>, S, C);
+ 
+    --     if C = POK_Protected_Entry then
+    --        declare
+    --           procedure _clean is
+    --           begin
+    --              if Enqueued (Bnn) then
+    --                 Cancel_Protected_Entry_Call (Bnn);
+    --              end if;
+    --           end _clean;
+ 
+    --        begin
+    --           begin
+    --              disp_asynchronous_select
+    --                (Obj, S, P'address, Bnn, B);
+ 
+    --              Param1 := P.Param1;
+    --              ...
+    --              ParamN := P.ParamN;
+ 
+    --              if Enqueued (Bnn) then
+    --                 <abortable-statements>
+    --              end if;
+    --           at end
+    --              _clean;
+    --           end;
+    --        exception
+    --           when Abort_Signal => Abort_Undefer;
+    --        end;
+ 
+    --        if not Cancelled (Bnn) then
+    --           <triggering-statements>
+    --        end if;
+ 
+    --     elsif C = POK_Task_Entry then
+    --        declare
+    --           procedure _clean is
+    --           begin
+    --              Cancel_Task_Entry_Call (U);
+    --           end _clean;
+ 
+    --        begin
+    --           Abort_Defer;
+ 
+    --           disp_asynchronous_select
+    --             (<object>, S, P'address, Bnn, B);
+ 
+    --           Param1 := P.Param1;
+    --           ...
+    --           ParamN := P.ParamN;
+ 
+    --           begin
+    --              begin
+    --                 Abort_Undefer;
+    --                 <abortable-statements>
+    --              at end
+    --                 _clean;
+    --              end;
+    --           exception
+    --              when Abort_Signal => Abort_Undefer;
+    --           end;
+ 
+    --           if not U then
+    --              <triggering-statements>
+    --           end if;
+    --        end;
+ 
+    --     else
+    --        <dispatching-call>;
+    --        <triggering-statements>
+    --     end if;
+ 
     --  The job is to convert this to the asynchronous form
  
     --  If the trigger is a delay statement, it will have been expanded into a
*************** package body Exp_Ch9 is
*** 3881,3917 ****
  
     procedure Expand_N_Asynchronous_Select (N : Node_Id) is
        Loc    : constant Source_Ptr := Sloc (N);
-       Trig   : constant Node_Id    := Triggering_Alternative (N);
        Abrt   : constant Node_Id    := Abortable_Part (N);
-       Tstats : constant List_Id    := Statements (Trig);
        Astats : constant List_Id    := Statements (Abrt);
  
!       Ecall           : Node_Id;
!       Concval         : Node_Id;
!       Ename           : Node_Id;
!       Index           : Node_Id;
!       Hdle            : List_Id;
!       Decls           : List_Id;
!       Decl            : Node_Id;
!       Parms           : List_Id;
!       Parm            : Node_Id;
!       Call            : Node_Id;
!       Stmts           : List_Id;
!       Enqueue_Call    : Node_Id;
!       Stmt            : Node_Id;
!       B               : Entity_Id;
!       Pdef            : Entity_Id;
!       Dblock_Ent      : Entity_Id;
!       N_Orig          : Node_Id;
!       Abortable_Block : Node_Id;
!       Cancel_Param    : Entity_Id;
!       Blkent          : Entity_Id;
!       Target_Undefer  : RE_Id;
!       Undefer_Args    : List_Id := No_List;
  
     begin
!       Blkent := Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
!       Ecall := Triggering_Statement (Trig);
  
        --  The arguments in the call may require dynamic allocation, and the
        --  call statement may have been transformed into a block. The block
--- 4995,5049 ----
  
     procedure Expand_N_Asynchronous_Select (N : Node_Id) is
        Loc    : constant Source_Ptr := Sloc (N);
        Abrt   : constant Node_Id    := Abortable_Part (N);
        Astats : constant List_Id    := Statements (Abrt);
+       Trig   : constant Node_Id    := Triggering_Alternative (N);
+       Tstats : constant List_Id    := Statements (Trig);
  
!       Abort_Block_Ent   : Entity_Id;
!       Abortable_Block   : Node_Id;
!       Actuals           : List_Id;
!       Blk_Ent           : Entity_Id;
!       Blk_Typ           : Entity_Id;
!       Call              : Node_Id;
!       Call_Ent          : Entity_Id;
!       Cancel_Param      : Entity_Id;
!       Cleanup_Block     : Node_Id;
!       Cleanup_Block_Ent : Entity_Id;
!       Cleanup_Stmts     : List_Id;
!       Concval           : Node_Id;
!       Dblock_Ent        : Entity_Id;
!       Decl              : Node_Id;
!       Decls             : List_Id;
!       Ecall             : Node_Id;
!       Ename             : Node_Id;
!       Enqueue_Call      : Node_Id;
!       Formals           : List_Id;
!       Hdle              : List_Id;
!       Index             : Node_Id;
!       N_Orig            : Node_Id;
!       Obj               : Entity_Id;
!       Param             : Node_Id;
!       Params            : List_Id;
!       Pdef              : Entity_Id;
!       ProtE_Stmts       : List_Id;
!       ProtP_Stmts       : List_Id;
!       Stmt              : Node_Id;
!       Stmts             : List_Id;
!       Target_Undefer    : RE_Id;
!       TaskE_Stmts       : List_Id;
!       Undefer_Args      : List_Id := No_List;
! 
!       B   : Entity_Id;  --  Call status flag
!       Bnn : Entity_Id;  --  Communication block
!       C   : Entity_Id;  --  Call kind
!       P   : Entity_Id;  --  Parameter block
!       S   : Entity_Id;  --  Primitive operation slot
!       T   : Entity_Id;  --  Additional status flag
  
     begin
!       Blk_Ent := Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
!       Ecall   := Triggering_Statement (Trig);
  
        --  The arguments in the call may require dynamic allocation, and the
        --  call statement may have been transformed into a block. The block
*************** package body Exp_Ch9 is
*** 3920,3926 ****
  
        if Nkind (Ecall) = N_Block_Statement then
           Ecall := First (Statements (Handled_Statement_Sequence (Ecall)));
- 
           while Nkind (Ecall) /= N_Procedure_Call_Statement
             and then Nkind (Ecall) /= N_Entry_Call_Statement
           loop
--- 5052,5057 ----
*************** package body Exp_Ch9 is
*** 3928,4038 ****
           end loop;
        end if;
  
!       --  If a delay was used as a trigger, it will have been expanded
!       --  into a procedure call. Convert it to the appropriate sequence of
!       --  statements, similar to what is done for a task entry call.
!       --  Note that this currently supports only Duration, Real_Time.Time,
!       --  and Calendar.Time.
  
        if Nkind (Ecall) = N_Procedure_Call_Statement then
  
!          --  Add a Delay_Block object to the parameter list of the
!          --  delay procedure to form the parameter list of the Wait
!          --  entry call.
  
!          Dblock_Ent := Make_Defining_Identifier (Loc, New_Internal_Name ('D'));
  
!          Pdef := Entity (Name (Ecall));
  
!          if Is_RTE (Pdef, RO_CA_Delay_For) then
!             Enqueue_Call := New_Reference_To (RTE (RE_Enqueue_Duration), Loc);
  
!          elsif Is_RTE (Pdef, RO_CA_Delay_Until) then
!             Enqueue_Call := New_Reference_To (RTE (RE_Enqueue_Calendar), Loc);
  
!          else pragma Assert (Is_RTE (Pdef, RO_RT_Delay_Until));
!             Enqueue_Call := New_Reference_To (RTE (RE_Enqueue_RT), Loc);
!          end if;
  
!          Append_To (Parameter_Associations (Ecall),
!            Make_Attribute_Reference (Loc,
!              Prefix => New_Reference_To (Dblock_Ent, Loc),
!              Attribute_Name => Name_Unchecked_Access));
  
!          --  Create the inner block to protect the abortable part
  
!          Hdle := New_List (
!            Make_Exception_Handler (Loc,
!              Exception_Choices =>
!                New_List (New_Reference_To (Stand.Abort_Signal, Loc)),
!              Statements => New_List (
!                Make_Procedure_Call_Statement (Loc,
!                  Name => New_Reference_To (RTE (RE_Abort_Undefer), Loc)))));
  
!          Prepend_To (Astats,
!            Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Abort_Undefer), Loc)));
  
!          Abortable_Block :=
!            Make_Block_Statement (Loc,
!              Identifier => New_Reference_To (Blkent, Loc),
!              Handled_Statement_Sequence =>
!                Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => Astats),
!              Has_Created_Identifier => True,
!              Is_Asynchronous_Call_Block => True);
  
!          --  Append call to if Enqueue (When, DB'Unchecked_Access) then
  
!          Rewrite (Ecall,
!            Make_Implicit_If_Statement (N,
!              Condition => Make_Function_Call (Loc,
!                Name => Enqueue_Call,
!                Parameter_Associations => Parameter_Associations (Ecall)),
!              Then_Statements =>
!                New_List (Make_Block_Statement (Loc,
!                  Handled_Statement_Sequence =>
!                    Make_Handled_Sequence_Of_Statements (Loc,
!                      Statements => New_List (
!                        Make_Implicit_Label_Declaration (Loc,
!                          Defining_Identifier => Blkent,
!                          Label_Construct     => Abortable_Block),
!                        Abortable_Block),
!                      Exception_Handlers => Hdle)))));
  
!          Stmts := New_List (Ecall);
  
!          --  Construct statement sequence for new block
  
!          Append_To (Stmts,
!            Make_Implicit_If_Statement (N,
!              Condition => Make_Function_Call (Loc,
!                Name => New_Reference_To (
!                  RTE (RE_Timed_Out), Loc),
!                Parameter_Associations => New_List (
!                  Make_Attribute_Reference (Loc,
!                    Prefix => New_Reference_To (Dblock_Ent, Loc),
!                    Attribute_Name => Name_Unchecked_Access))),
!              Then_Statements => Tstats));
  
!          --  The result is the new block
  
!          Set_Entry_Cancel_Parameter (Blkent, Dblock_Ent);
  
!          Rewrite (N,
!            Make_Block_Statement (Loc,
!              Declarations => New_List (
!                Make_Object_Declaration (Loc,
!                  Defining_Identifier => Dblock_Ent,
!                  Aliased_Present => True,
!                  Object_Definition => New_Reference_To (
!                    RTE (RE_Delay_Block), Loc))),
  
!              Handled_Statement_Sequence =>
!                Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
  
!          Analyze (N);
!          return;
  
        else
           N_Orig := N;
--- 5059,5522 ----
           end loop;
        end if;
  
!       --  This is either a dispatching call or a delay statement used as a
!       --  trigger which was expanded into a procedure call.
  
        if Nkind (Ecall) = N_Procedure_Call_Statement then
+          if Ada_Version >= Ada_05
+            and then
+              (not Present (Original_Node (Ecall))
+                 or else
+               Nkind (Original_Node (Ecall)) /= N_Delay_Relative_Statement)
+          then
+             Extract_Dispatching_Call (Ecall, Call_Ent, Obj, Actuals, Formals);
  
!             Decls := New_List;
!             Stmts := New_List;
  
!             --  Call status flag processing, generate:
!             --    B : Boolean := False;
  
!             B := SEU.Build_B (Loc, Decls);
  
!             --  Communication block processing, generate:
!             --    Bnn : Communication_Block;
  
!             Bnn := Make_Defining_Identifier (Loc, New_Internal_Name ('B'));
  
!             Append_To (Decls,
!               Make_Object_Declaration (Loc,
!                 Defining_Identifier =>
!                   Bnn,
!                 Object_Definition =>
!                   New_Reference_To (RTE (RE_Communication_Block), Loc)));
  
!             --  Call kind processing, generate:
!             --    C : Ada.Tags.Prim_Op_Kind;
  
!             C := SEU.Build_C (Loc, Decls);
  
!             --  Parameter block processing
  
!             Blk_Typ := Build_Parameter_Block
!                          (Loc, Actuals, Formals, Decls);
!             P       := Parameter_Block_Pack
!                          (Loc, Blk_Typ, Actuals, Formals, Decls, Stmts);
  
!             --  Dispatch table slot processing, generate:
!             --    S : constant Integer :=
!             --          Ada.Tags.Get_Offset_Index (
!             --            Unchecked_Convert_To (Ada.Tags.Interface_Tag, Obj),
!             --            DT_Position (<dispatching-procedure>));
  
!             S := SEU.Build_S (Loc, Decls, Obj, Call_Ent);
  
!             --  Additional status flag processing, generate:
  
!             T := Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
  
!             Append_To (Decls,
!               Make_Object_Declaration (Loc,
!                 Defining_Identifier =>
!                   T,
!                 Object_Definition =>
!                   New_Reference_To (Standard_Boolean, Loc)));
  
!             Append_To (Stmts,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (
!                     Find_Prim_Op (Etype (Etype (Obj)),
!                       Name_uDisp_Get_Prim_Op_Kind),
!                   Loc),
!                 Parameter_Associations =>
!                   New_List (
!                     New_Copy_Tree    (Obj),
!                     New_Reference_To (S, Loc),
!                     New_Reference_To (C, Loc))));
  
!             --  ---------------------------------------------------------------
!             --  Protected entry handling
  
!             --  Generate:
!             --    Param1 := P.Param1;
!             --    ...
!             --    ParamN := P.ParamN;
  
!             Cleanup_Stmts := Parameter_Block_Unpack (Loc, P, Actuals, Formals);
  
!             --  Generate:
!             --    _dispatching_asynchronous_select
!             --      (<object>, S, P'address, Bnn, B);
  
!             Prepend_To (Cleanup_Stmts,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (
!                     Find_Prim_Op (Etype (Etype (Obj)),
!                       Name_uDisp_Asynchronous_Select),
!                   Loc),
!                 Parameter_Associations =>
!                   New_List (
!                     New_Copy_Tree    (Obj),
!                     New_Reference_To (S, Loc),
!                     Make_Attribute_Reference (Loc,
!                       Prefix => New_Reference_To (P, Loc),
!                       Attribute_Name => Name_Address),
!                     New_Reference_To (Bnn, Loc),
!                     New_Reference_To (B, Loc))));
! 
!             --  Generate:
!             --    if Enqueued (Bnn) then
!             --       <abortable-statements>
!             --    end if;
! 
!             Append_To (Cleanup_Stmts,
!               Make_If_Statement (Loc,
!                 Condition =>
!                   Make_Function_Call (Loc,
!                     Name =>
!                       New_Reference_To (RTE (RE_Enqueued), Loc),
!                     Parameter_Associations =>
!                       New_List (
!                         New_Reference_To (Bnn, Loc))),
! 
!                 Then_Statements =>
!                   New_Copy_List_Tree (Astats)));
! 
!             --  Wrap the statements in a block. Exp_Ch7.Expand_Cleanup_Actions
!             --  will then generate a _clean for the communication block Bnn.
! 
!             --  Generate:
!             --    declare
!             --       procedure _clean is
!             --       begin
!             --          if Enqueued (Bnn) then
!             --             Cancel_Protected_Entry_Call (Bnn);
!             --          end if;
!             --       end _clean;
!             --    begin
!             --       Cleanup_Stmts
!             --    at end
!             --       _clean;
!             --    end;
! 
!             Cleanup_Block_Ent :=
!               Make_Defining_Identifier (Loc, New_Internal_Name ('C'));
! 
!             Cleanup_Block := SEU.Build_Cleanup_Block (Loc,
!               Cleanup_Block_Ent, Cleanup_Stmts, Bnn);
! 
!             --  Wrap the cleanup block in an exception handling block
! 
!             --  Generate:
!             --    begin
!             --       Cleanup_Block
!             --    exception
!             --       when Abort_Signal => Abort_Undefer;
!             --    end;
! 
!             Abort_Block_Ent :=
!               Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
! 
!             ProtE_Stmts :=
!               New_List (
!                 Make_Implicit_Label_Declaration (Loc,
!                   Defining_Identifier => Abort_Block_Ent),
! 
!                 SEU.Build_Abort_Block (Loc,
!                   Abort_Block_Ent, Cleanup_Block_Ent, Cleanup_Block));
! 
!             --  Generate:
!             --    if not Cancelled (Bnn) then
!             --       <triggering-statements>
!             --    end if;
! 
!             Append_To (ProtE_Stmts,
!               Make_If_Statement (Loc,
!                 Condition =>
!                   Make_Op_Not (Loc,
!                     Right_Opnd =>
!                       Make_Function_Call (Loc,
!                         Name =>
!                           New_Reference_To (RTE (RE_Cancelled), Loc),
!                         Parameter_Associations =>
!                           New_List (
!                             New_Reference_To (Bnn, Loc)))),
! 
!                 Then_Statements =>
!                   New_Copy_List_Tree (Tstats)));
! 
!             --  ---------------------------------------------------------------
!             --  Task entry handling
! 
!             --  Generate:
!             --    Param1 := P.Param1;
!             --    ...
!             --    ParamN := P.ParamN;
! 
!             TaskE_Stmts := Parameter_Block_Unpack (Loc, P, Actuals, Formals);
! 
!             --  Generate:
!             --    _dispatching_asynchronous_select
!             --      (<object>, S, P'address, Bnn, B);
! 
!             Prepend_To (TaskE_Stmts,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (
!                     Find_Prim_Op (Etype (Etype (Obj)),
!                       Name_uDisp_Asynchronous_Select),
!                   Loc),
!                 Parameter_Associations =>
!                   New_List (
!                     New_Copy_Tree    (Obj),
!                     New_Reference_To (S, Loc),
!                     Make_Attribute_Reference (Loc,
!                       Prefix => New_Reference_To (P, Loc),
!                       Attribute_Name => Name_Address),
!                     New_Reference_To (Bnn, Loc),
!                     New_Reference_To (B, Loc))));
! 
!             --  Generate:
!             --    Abort_Defer;
! 
!             Prepend_To (TaskE_Stmts,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Abort_Defer), Loc),
!                 Parameter_Associations =>
!                   No_List));
! 
!             --  Generate:
!             --    Abort_Undefer;
!             --    <abortable-statements>
! 
!             Cleanup_Stmts := New_Copy_List_Tree (Astats);
! 
!             Prepend_To (Cleanup_Stmts,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Abort_Undefer), Loc),
!                 Parameter_Associations =>
!                   No_List));
! 
!             --  Wrap the statements in a block. Exp_Ch7.Expand_Cleanup_Actions
!             --  will generate a _clean for the additional status flag.
! 
!             --  Generate:
!             --    declare
!             --       procedure _clean is
!             --       begin
!             --          Cancel_Task_Entry_Call (U);
!             --       end _clean;
!             --    begin
!             --       Cleanup_Stmts
!             --    at end
!             --       _clean;
!             --    end;
! 
!             Cleanup_Block_Ent :=
!               Make_Defining_Identifier (Loc, New_Internal_Name ('C'));
! 
!             Cleanup_Block := SEU.Build_Cleanup_Block (Loc,
!               Cleanup_Block_Ent, Cleanup_Stmts, T);
! 
!             --  Wrap the cleanup block in an exception handling block
! 
!             --  Generate:
!             --    begin
!             --       Cleanup_Block
!             --    exception
!             --       when Abort_Signal => Abort_Undefer;
!             --    end;
! 
!             Abort_Block_Ent :=
!               Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
! 
!             Append_To (TaskE_Stmts,
!               Make_Implicit_Label_Declaration (Loc,
!                 Defining_Identifier => Abort_Block_Ent));
! 
!             Append_To (TaskE_Stmts,
!               SEU.Build_Abort_Block (Loc,
!                 Abort_Block_Ent, Cleanup_Block_Ent, Cleanup_Block));
! 
!             --  Generate:
!             --    if not T then
!             --       <triggering-statements>
!             --    end if;
! 
!             Append_To (TaskE_Stmts,
!               Make_If_Statement (Loc,
!                 Condition =>
!                   Make_Op_Not (Loc,
!                     Right_Opnd =>
!                       New_Reference_To (T, Loc)),
! 
!                 Then_Statements =>
!                   New_Copy_List_Tree (Tstats)));
! 
!             -------------------------------------------------------------------
!             --  Protected procedure handling
! 
!             --  Generate:
!             --    <dispatching-call>;
!             --    <triggering-statements>
! 
!             ProtP_Stmts := New_Copy_List_Tree (Tstats);
!             Prepend_To (ProtP_Stmts, New_Copy_Tree (Ecall));
! 
!             --  Generate:
!             --    if C = POK_Procedure_Entry then
!             --       ProtE_Stmts
!             --    elsif C = POK_Task_Entry then
!             --       TaskE_Stmts
!             --    else
!             --       ProtP_Stmts
!             --    end if;
! 
!             Append_To (Stmts,
!               Make_If_Statement (Loc,
!                 Condition =>
!                   Make_Op_Eq (Loc,
!                     Left_Opnd =>
!                       New_Reference_To (C, Loc),
!                     Right_Opnd =>
!                       New_Reference_To (RTE (RE_POK_Protected_Entry), Loc)),
! 
!                 Then_Statements =>
!                   ProtE_Stmts,
! 
!                 Elsif_Parts =>
!                   New_List (
!                     Make_Elsif_Part (Loc,
!                       Condition =>
!                         Make_Op_Eq (Loc,
!                           Left_Opnd =>
!                             New_Reference_To (C, Loc),
!                           Right_Opnd =>
!                             New_Reference_To (RTE (RE_POK_Task_Entry), Loc)),
! 
!                       Then_Statements =>
!                         TaskE_Stmts)),
! 
!                 Else_Statements =>
!                   ProtP_Stmts));
! 
!             Rewrite (N,
!               Make_Block_Statement (Loc,
!                 Declarations =>
!                   Decls,
!                 Handled_Statement_Sequence =>
!                   Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
! 
!             Analyze (N);
!             return;
! 
!          --  Delay triggering statement processing
! 
!          else
!             --  Add a Delay_Block object to the parameter list of the delay
!             --  procedure to form the parameter list of the Wait entry call.
! 
!             Dblock_Ent :=
!               Make_Defining_Identifier (Loc, New_Internal_Name ('D'));
! 
!             Pdef := Entity (Name (Ecall));
! 
!             if Is_RTE (Pdef, RO_CA_Delay_For) then
!                Enqueue_Call :=
!                  New_Reference_To (RTE (RE_Enqueue_Duration), Loc);
! 
!             elsif Is_RTE (Pdef, RO_CA_Delay_Until) then
!                Enqueue_Call :=
!                  New_Reference_To (RTE (RE_Enqueue_Calendar), Loc);
! 
!             else pragma Assert (Is_RTE (Pdef, RO_RT_Delay_Until));
!                Enqueue_Call := New_Reference_To (RTE (RE_Enqueue_RT), Loc);
!             end if;
! 
!             Append_To (Parameter_Associations (Ecall),
!               Make_Attribute_Reference (Loc,
!                 Prefix => New_Reference_To (Dblock_Ent, Loc),
!                 Attribute_Name => Name_Unchecked_Access));
! 
!             --  Create the inner block to protect the abortable part
! 
!             Hdle := New_List (
!               Make_Exception_Handler (Loc,
!                 Exception_Choices =>
!                   New_List (New_Reference_To (Stand.Abort_Signal, Loc)),
!                 Statements => New_List (
!                   Make_Procedure_Call_Statement (Loc,
!                     Name => New_Reference_To (RTE (RE_Abort_Undefer), Loc)))));
! 
!             Prepend_To (Astats,
!               Make_Procedure_Call_Statement (Loc,
!                 Name => New_Reference_To (RTE (RE_Abort_Undefer), Loc)));
! 
!             Abortable_Block :=
!               Make_Block_Statement (Loc,
!                 Identifier => New_Reference_To (Blk_Ent, Loc),
!                 Handled_Statement_Sequence =>
!                   Make_Handled_Sequence_Of_Statements (Loc,
!                     Statements => Astats),
!                 Has_Created_Identifier => True,
!                 Is_Asynchronous_Call_Block => True);
! 
!             --  Append call to if Enqueue (When, DB'Unchecked_Access) then
! 
!             Rewrite (Ecall,
!               Make_Implicit_If_Statement (N,
!                 Condition => Make_Function_Call (Loc,
!                   Name => Enqueue_Call,
!                   Parameter_Associations => Parameter_Associations (Ecall)),
!                 Then_Statements =>
!                   New_List (Make_Block_Statement (Loc,
!                     Handled_Statement_Sequence =>
!                       Make_Handled_Sequence_Of_Statements (Loc,
!                         Statements => New_List (
!                           Make_Implicit_Label_Declaration (Loc,
!                             Defining_Identifier => Blk_Ent,
!                             Label_Construct     => Abortable_Block),
!                           Abortable_Block),
!                         Exception_Handlers => Hdle)))));
! 
!             Stmts := New_List (Ecall);
! 
!             --  Construct statement sequence for new block
! 
!             Append_To (Stmts,
!               Make_Implicit_If_Statement (N,
!                 Condition => Make_Function_Call (Loc,
!                   Name => New_Reference_To (
!                     RTE (RE_Timed_Out), Loc),
!                   Parameter_Associations => New_List (
!                     Make_Attribute_Reference (Loc,
!                       Prefix => New_Reference_To (Dblock_Ent, Loc),
!                       Attribute_Name => Name_Unchecked_Access))),
!                 Then_Statements => Tstats));
! 
!             --  The result is the new block
! 
!             Set_Entry_Cancel_Parameter (Blk_Ent, Dblock_Ent);
! 
!             Rewrite (N,
!               Make_Block_Statement (Loc,
!                 Declarations => New_List (
!                   Make_Object_Declaration (Loc,
!                     Defining_Identifier => Dblock_Ent,
!                     Aliased_Present => True,
!                     Object_Definition => New_Reference_To (
!                       RTE (RE_Delay_Block), Loc))),
! 
!                 Handled_Statement_Sequence =>
!                   Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
! 
!             Analyze (N);
!             return;
!          end if;
  
        else
           N_Orig := N;
*************** package body Exp_Ch9 is
*** 4050,4058 ****
  
           Decl := First (Decls);
           while Present (Decl)
!            and then (Nkind (Decl) /= N_Object_Declaration
!              or else not Is_RTE
!                (Etype (Object_Definition (Decl)), RE_Communication_Block))
           loop
              Next (Decl);
           end loop;
--- 5534,5543 ----
  
           Decl := First (Decls);
           while Present (Decl)
!            and then
!              (Nkind (Decl) /= N_Object_Declaration
!                or else not Is_RTE (Etype (Object_Definition (Decl)),
!                                    RE_Communication_Block))
           loop
              Next (Decl);
           end loop;
*************** package body Exp_Ch9 is
*** 4060,4066 ****
           pragma Assert (Present (Decl));
           Cancel_Param := Defining_Identifier (Decl);
  
!          --  Change the mode of the Protected_Entry_Call call.
           --  Protected_Entry_Call (
           --    Object => po._object'Access,
           --    E => <entry index>;
--- 5545,5552 ----
           pragma Assert (Present (Decl));
           Cancel_Param := Defining_Identifier (Decl);
  
!          --  Change the mode of the Protected_Entry_Call call
! 
           --  Protected_Entry_Call (
           --    Object => po._object'Access,
           --    E => <entry index>;
*************** package body Exp_Ch9 is
*** 4070,4076 ****
  
           Stmt := First (Stmts);
  
!          --  Skip assignments to temporaries created for in-out parameters.
           --  This makes unwarranted assumptions about the shape of the expanded
           --  tree for the call, and should be cleaned up ???
  
--- 5556,5563 ----
  
           Stmt := First (Stmts);
  
!          --  Skip assignments to temporaries created for in-out parameters
! 
           --  This makes unwarranted assumptions about the shape of the expanded
           --  tree for the call, and should be cleaned up ???
  
*************** package body Exp_Ch9 is
*** 4080,4098 ****
  
           Call := Stmt;
  
!          Parm := First (Parameter_Associations (Call));
!          while Present (Parm)
!            and then not Is_RTE (Etype (Parm), RE_Call_Modes)
           loop
!             Next (Parm);
           end loop;
  
!          pragma Assert (Present (Parm));
!          Rewrite (Parm, New_Reference_To (RTE (RE_Asynchronous_Call), Loc));
!          Analyze (Parm);
  
!          --  Append an if statement to execute the abortable part.
!          --  if Enqueued (Bnn) then
  
           Append_To (Stmts,
             Make_Implicit_If_Statement (N,
--- 5567,5587 ----
  
           Call := Stmt;
  
!          Param := First (Parameter_Associations (Call));
!          while Present (Param)
!            and then not Is_RTE (Etype (Param), RE_Call_Modes)
           loop
!             Next (Param);
           end loop;
  
!          pragma Assert (Present (Param));
!          Rewrite (Param, New_Reference_To (RTE (RE_Asynchronous_Call), Loc));
!          Analyze (Param);
  
!          --  Append an if statement to execute the abortable part
! 
!          --  Generate:
!          --    if Enqueued (Bnn) then
  
           Append_To (Stmts,
             Make_Implicit_If_Statement (N,
*************** package body Exp_Ch9 is
*** 4105,4111 ****
  
           Abortable_Block :=
             Make_Block_Statement (Loc,
!              Identifier => New_Reference_To (Blkent, Loc),
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => Stmts),
--- 5594,5600 ----
  
           Abortable_Block :=
             Make_Block_Statement (Loc,
!              Identifier => New_Reference_To (Blk_Ent, Loc),
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => Stmts),
*************** package body Exp_Ch9 is
*** 4131,4137 ****
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => New_List (
                     Make_Implicit_Label_Declaration (Loc,
!                      Defining_Identifier => Blkent,
                       Label_Construct     => Abortable_Block),
                     Abortable_Block),
  
--- 5620,5626 ----
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => New_List (
                     Make_Implicit_Label_Declaration (Loc,
!                      Defining_Identifier => Blk_Ent,
                       Label_Construct     => Abortable_Block),
                     Abortable_Block),
  
*************** package body Exp_Ch9 is
*** 4219,4225 ****
  
           Abortable_Block :=
             Make_Block_Statement (Loc,
!              Identifier => New_Reference_To (Blkent, Loc),
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => Astats),
--- 5708,5714 ----
  
           Abortable_Block :=
             Make_Block_Statement (Loc,
!              Identifier => New_Reference_To (Blk_Ent, Loc),
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => Astats),
*************** package body Exp_Ch9 is
*** 4232,4261 ****
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => New_List (
                     Make_Implicit_Label_Declaration (Loc,
!                      Defining_Identifier => Blkent,
                       Label_Construct     => Abortable_Block),
                     Abortable_Block),
                   Exception_Handlers => Hdle)));
  
           --  Create new call statement
  
!          Parms := Parameter_Associations (Call);
!          Append_To (Parms, New_Reference_To (RTE (RE_Asynchronous_Call), Loc));
!          Append_To (Parms, New_Reference_To (B, Loc));
           Rewrite (Call,
             Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
!              Parameter_Associations => Parms));
  
           --  Construct statement sequence for new block
  
           Append_To (Stmts,
             Make_Implicit_If_Statement (N,
!              Condition => Make_Op_Not (Loc,
!                New_Reference_To (Cancel_Param, Loc)),
               Then_Statements => Tstats));
  
!          --  Protected the call against abortion
  
           Prepend_To (Stmts,
             Make_Procedure_Call_Statement (Loc,
--- 5721,5756 ----
                 Make_Handled_Sequence_Of_Statements (Loc,
                   Statements => New_List (
                     Make_Implicit_Label_Declaration (Loc,
!                      Defining_Identifier => Blk_Ent,
                       Label_Construct     => Abortable_Block),
                     Abortable_Block),
                   Exception_Handlers => Hdle)));
  
           --  Create new call statement
  
!          Params := Parameter_Associations (Call);
! 
!          Append_To (Params,
!            New_Reference_To (RTE (RE_Asynchronous_Call), Loc));
!          Append_To (Params,
!            New_Reference_To (B, Loc));
! 
           Rewrite (Call,
             Make_Procedure_Call_Statement (Loc,
!              Name =>
!                New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
!              Parameter_Associations => Params));
  
           --  Construct statement sequence for new block
  
           Append_To (Stmts,
             Make_Implicit_If_Statement (N,
!              Condition =>
!                Make_Op_Not (Loc,
!                  New_Reference_To (Cancel_Param, Loc)),
               Then_Statements => Tstats));
  
!          --  Protected the call against abort
  
           Prepend_To (Stmts,
             Make_Procedure_Call_Statement (Loc,
*************** package body Exp_Ch9 is
*** 4263,4269 ****
               Parameter_Associations => Empty_List));
        end if;
  
!       Set_Entry_Cancel_Parameter (Blkent, Cancel_Param);
  
        --  The result is the new block
  
--- 5758,5764 ----
               Parameter_Associations => Empty_List));
        end if;
  
!       Set_Entry_Cancel_Parameter (Blk_Ent, Cancel_Param);
  
        --  The result is the new block
  
*************** package body Exp_Ch9 is
*** 4365,4385 ****
     --         ...
     --    end;
  
     procedure Expand_N_Conditional_Entry_Call (N : Node_Id) is
        Loc : constant Source_Ptr := Sloc (N);
        Alt : constant Node_Id    := Entry_Call_Alternative (N);
        Blk : Node_Id             := Entry_Call_Statement (Alt);
        Transient_Blk : Node_Id;
  
!       Parms   : List_Id;
!       Parm    : Node_Id;
!       Call    : Node_Id;
!       Stmts   : List_Id;
!       B       : Entity_Id;
!       Decl    : Node_Id;
!       Stmt    : Node_Id;
  
     begin
        --  As described above, The entry alternative is transformed into a
        --  block that contains the gnulli call, and possibly assignment
        --  statements for in-out parameters. The gnulli call may itself be
--- 5860,6073 ----
     --         ...
     --    end;
  
+    --  Ada 2005 (AI-345): A dispatching conditional entry call is converted
+    --  into:
+ 
+    --    declare
+    --       B : Boolean := False;
+    --       C : Ada.Tags.Prim_Op_Kind;
+    --       P : Parameters := (Param1 .. ParamN);
+    --       S : constant Integer := DT_Position (<dispatching-procedure>);
+ 
+    --    begin
+    --       disp_conditional_select (<object>, S, P'address, C, B);
+ 
+    --       if C = POK_Protected_Entry
+    --         or else C = POK_Task_Entry
+    --       then
+    --          Param1 := P.Param1;
+    --          ...
+    --          ParamN := P.ParamN;
+    --       end if;
+ 
+    --       if B then
+    --          if C = POK_Procedure
+    --            or else C = POK_Protected_Procedure
+    --            or else C = POK_Task_Procedure
+    --          then
+    --             <dispatching-procedure> (<object>, Param1 .. ParamN);
+    --          end if;
+    --          <normal-statements>
+    --       else
+    --          <else-statements>
+    --       end if;
+    --    end;
+ 
     procedure Expand_N_Conditional_Entry_Call (N : Node_Id) is
        Loc : constant Source_Ptr := Sloc (N);
        Alt : constant Node_Id    := Entry_Call_Alternative (N);
        Blk : Node_Id             := Entry_Call_Statement (Alt);
        Transient_Blk : Node_Id;
  
!       Actuals  : List_Id;
!       Blk_Typ  : Entity_Id;
!       Call     : Node_Id;
!       Call_Ent : Entity_Id;
!       Decl     : Node_Id;
!       Decls    : List_Id;
!       Formals  : List_Id;
!       N_Stats  : List_Id;
!       Obj      : Entity_Id;
!       Param    : Node_Id;
!       Params   : List_Id;
!       Stmt     : Node_Id;
!       Stmts    : List_Id;
!       Unpack   : List_Id;
! 
!       B        : Entity_Id;  --  Call status flag
!       C        : Entity_Id;  --  Call kind
!       P        : Entity_Id;  --  Parameter block
!       S        : Entity_Id;  --  Primitive operation slot
  
     begin
+       if Ada_Version >= Ada_05
+         and then Nkind (Blk) = N_Procedure_Call_Statement
+       then
+          Extract_Dispatching_Call (Blk, Call_Ent, Obj, Actuals, Formals);
+ 
+          Decls := New_List;
+          Stmts := New_List;
+ 
+          --  Call status flag processing, generate:
+          --    B : Boolean := False;
+ 
+          B := SEU.Build_B (Loc, Decls);
+ 
+          --  Call kind processing, generate:
+          --    C : Ada.Tags.Prim_Op_Kind;
+ 
+          C := SEU.Build_C (Loc, Decls);
+ 
+          --  Parameter block processing
+ 
+          Blk_Typ := Build_Parameter_Block (Loc, Actuals, Formals, Decls);
+          P       := Parameter_Block_Pack  (Loc, Blk_Typ, Actuals, Formals,
+                       Decls, Stmts);
+ 
+          --  Dispatch table slot processing, generate:
+          --    S : constant Integer :=
+          --          Ada.Tags.Get_Offset_Index (
+          --            Unchecked_Convert_To (Ada.Tags.Interface_Tag, Obj),
+          --            DT_Position (<dispatching-procedure>));
+ 
+          S := SEU.Build_S (Loc, Decls, Obj, Call_Ent);
+ 
+          --  Generate:
+          --    _dispatching_conditional_select (<object>, S, P'address, C, B);
+ 
+          Append_To (Stmts,
+            Make_Procedure_Call_Statement (Loc,
+              Name =>
+                New_Reference_To (
+                  Find_Prim_Op (Etype (Etype (Obj)),
+                    Name_uDisp_Conditional_Select),
+                  Loc),
+              Parameter_Associations =>
+                New_List (
+                  New_Copy_Tree    (Obj),
+                  New_Reference_To (S, Loc),
+                  Make_Attribute_Reference (Loc,
+                    Prefix => New_Reference_To (P, Loc),
+                    Attribute_Name => Name_Address),
+                  New_Reference_To (C, Loc),
+                  New_Reference_To (B, Loc))));
+ 
+          --  Generate:
+          --    if C = POK_Protected_Entry
+          --      or else C = POK_Task_Entry
+          --    then
+          --       Param1 := P.Param1;
+          --       ...
+          --       ParamN := P.ParamN;
+          --    end if;
+ 
+          Unpack := Parameter_Block_Unpack (Loc, P, Actuals, Formals);
+ 
+          --  Generate the if statement only when the packed parameters need
+          --  explicit assignments to their corresponding actuals.
+ 
+          if Present (Unpack) then
+             Append_To (Stmts,
+               Make_If_Statement (Loc,
+ 
+                 Condition =>
+                   Make_Or_Else (Loc,
+                     Left_Opnd =>
+                       Make_Op_Eq (Loc,
+                         Left_Opnd =>
+                           New_Reference_To (C, Loc),
+                         Right_Opnd =>
+                           New_Reference_To (RTE (
+                             RE_POK_Protected_Entry), Loc)),
+                     Right_Opnd =>
+                       Make_Op_Eq (Loc,
+                         Left_Opnd =>
+                           New_Reference_To (C, Loc),
+                         Right_Opnd =>
+                           New_Reference_To (RTE (RE_POK_Task_Entry), Loc))),
+ 
+                  Then_Statements => Unpack));
+          end if;
+ 
+          --  Generate:
+          --    if B then
+          --       if C = POK_Procedure
+          --         or else C = POK_Protected_Procedure
+          --         or else C = POK_Task_Procedure
+          --       then
+          --          <dispatching-procedure-call>
+          --       end if;
+          --       <normal-statements>
+          --    else
+          --       <else-statements>
+          --    end if;
+ 
+          N_Stats := New_Copy_List_Tree (Statements (Alt));
+ 
+          Prepend_To (N_Stats,
+            Make_If_Statement (Loc,
+              Condition =>
+                Make_Or_Else (Loc,
+                  Left_Opnd =>
+                    Make_Op_Eq (Loc,
+                      Left_Opnd =>
+                        New_Reference_To (C, Loc),
+                      Right_Opnd =>
+                        New_Reference_To (RTE (RE_POK_Procedure), Loc)),
+ 
+                  Right_Opnd =>
+                    Make_Or_Else (Loc,
+                      Left_Opnd =>
+                        Make_Op_Eq (Loc,
+                          Left_Opnd =>
+                            New_Reference_To (C, Loc),
+                          Right_Opnd =>
+                            New_Reference_To (RTE (
+                              RE_POK_Protected_Procedure), Loc)),
+ 
+                      Right_Opnd =>
+                        Make_Op_Eq (Loc,
+                          Left_Opnd =>
+                            New_Reference_To (C, Loc),
+                          Right_Opnd =>
+                            New_Reference_To (RTE (
+                              RE_POK_Task_Procedure), Loc)))),
+ 
+              Then_Statements =>
+                New_List (Blk)));
+ 
+          Append_To (Stmts,
+            Make_If_Statement (Loc,
+              Condition       => New_Reference_To (B, Loc),
+              Then_Statements => N_Stats,
+              Else_Statements => Else_Statements (N)));
+ 
+          Rewrite (N,
+            Make_Block_Statement (Loc,
+              Declarations               => Decls,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
+ 
        --  As described above, The entry alternative is transformed into a
        --  block that contains the gnulli call, and possibly assignment
        --  statements for in-out parameters. The gnulli call may itself be
*************** package body Exp_Ch9 is
*** 4387,4496 ****
        --  require it. We need to retrieve the call to complete its parameter
        --  list.
  
!       Transient_Blk :=
!          First_Real_Statement (Handled_Statement_Sequence (Blk));
! 
!       if Present (Transient_Blk)
!         and then
!         Nkind (Transient_Blk) =  N_Block_Statement
!       then
!          Blk := Transient_Blk;
!       end if;
! 
!       Stmts := Statements (Handled_Statement_Sequence (Blk));
  
!       Stmt := First (Stmts);
  
!       while Nkind (Stmt) /= N_Procedure_Call_Statement loop
!          Next (Stmt);
!       end loop;
  
!       Call := Stmt;
  
!       Parms := Parameter_Associations (Call);
  
!       if Is_RTE (Entity (Name (Call)), RE_Protected_Entry_Call) then
  
!          --  Substitute Conditional_Entry_Call for Simple_Call
!          --  parameter.
  
!          Parm := First (Parms);
!          while Present (Parm)
!            and then not Is_RTE (Etype (Parm), RE_Call_Modes)
!          loop
!             Next (Parm);
!          end loop;
  
!          pragma Assert (Present (Parm));
!          Rewrite (Parm, New_Reference_To (RTE (RE_Conditional_Call), Loc));
  
!          Analyze (Parm);
  
!          --  Find the Communication_Block parameter for the call
!          --  to the Cancelled function.
  
!          Decl := First (Declarations (Blk));
!          while Present (Decl)
!            and then not
!              Is_RTE (Etype (Object_Definition (Decl)), RE_Communication_Block)
!          loop
!             Next (Decl);
!          end loop;
  
!          --  Add an if statement to execute the else part if the call
!          --  does not succeed (as indicated by the Cancelled predicate).
  
!          Append_To (Stmts,
!            Make_Implicit_If_Statement (N,
!              Condition => Make_Function_Call (Loc,
!                Name => New_Reference_To (RTE (RE_Cancelled), Loc),
!                Parameter_Associations => New_List (
!                  New_Reference_To (Defining_Identifier (Decl), Loc))),
!              Then_Statements => Else_Statements (N),
!              Else_Statements => Statements (Alt)));
  
!       else
!          B := Make_Defining_Identifier (Loc, Name_uB);
  
!          --  Insert declaration of B in declarations of existing block
  
!          if No (Declarations (Blk)) then
!             Set_Declarations (Blk, New_List);
!          end if;
  
!          Prepend_To (Declarations (Blk),
!          Make_Object_Declaration (Loc,
!            Defining_Identifier => B,
!            Object_Definition => New_Reference_To (Standard_Boolean, Loc)));
  
!          --  Create new call statement
  
!          Append_To (Parms, New_Reference_To (RTE (RE_Conditional_Call), Loc));
!          Append_To (Parms, New_Reference_To (B, Loc));
  
!          Rewrite (Call,
!            Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
!              Parameter_Associations => Parms));
  
!          --  Construct statement sequence for new block
  
!          Append_To (Stmts,
!            Make_Implicit_If_Statement (N,
!              Condition => New_Reference_To (B, Loc),
!              Then_Statements => Statements (Alt),
!              Else_Statements => Else_Statements (N)));
  
        end if;
  
-       --  The result is the new block
- 
-       Rewrite (N,
-         Make_Block_Statement (Loc,
-           Declarations => Declarations (Blk),
-           Handled_Statement_Sequence =>
-             Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
- 
        Analyze (N);
     end Expand_N_Conditional_Entry_Call;
  
--- 6075,6182 ----
        --  require it. We need to retrieve the call to complete its parameter
        --  list.
  
!       else
!          Transient_Blk :=
!             First_Real_Statement (Handled_Statement_Sequence (Blk));
  
!          if Present (Transient_Blk)
!            and then Nkind (Transient_Blk) = N_Block_Statement
!          then
!             Blk := Transient_Blk;
!          end if;
  
!          Stmts := Statements (Handled_Statement_Sequence (Blk));
!          Stmt  := First (Stmts);
!          while Nkind (Stmt) /= N_Procedure_Call_Statement loop
!             Next (Stmt);
!          end loop;
  
!          Call   := Stmt;
!          Params := Parameter_Associations (Call);
  
!          if Is_RTE (Entity (Name (Call)), RE_Protected_Entry_Call) then
  
!             --  Substitute Conditional_Entry_Call for Simple_Call parameter
  
!             Param := First (Params);
!             while Present (Param)
!               and then not Is_RTE (Etype (Param), RE_Call_Modes)
!             loop
!                Next (Param);
!             end loop;
  
!             pragma Assert (Present (Param));
!             Rewrite (Param, New_Reference_To (RTE (RE_Conditional_Call), Loc));
  
!             Analyze (Param);
  
!             --  Find the Communication_Block parameter for the call to the
!             --  Cancelled function.
  
!             Decl := First (Declarations (Blk));
!             while Present (Decl)
!               and then not Is_RTE (Etype (Object_Definition (Decl)),
!                              RE_Communication_Block)
!             loop
!                Next (Decl);
!             end loop;
  
!             --  Add an if statement to execute the else part if the call
!             --  does not succeed (as indicated by the Cancelled predicate).
  
!             Append_To (Stmts,
!               Make_Implicit_If_Statement (N,
!                 Condition => Make_Function_Call (Loc,
!                   Name => New_Reference_To (RTE (RE_Cancelled), Loc),
!                   Parameter_Associations => New_List (
!                     New_Reference_To (Defining_Identifier (Decl), Loc))),
!                 Then_Statements => Else_Statements (N),
!                 Else_Statements => Statements (Alt)));
  
!          else
!             B := Make_Defining_Identifier (Loc, Name_uB);
  
!             --  Insert declaration of B in declarations of existing block
  
!             if No (Declarations (Blk)) then
!                Set_Declarations (Blk, New_List);
!             end if;
  
!             Prepend_To (Declarations (Blk),
!               Make_Object_Declaration (Loc,
!                 Defining_Identifier => B,
!                 Object_Definition =>
!                   New_Reference_To (Standard_Boolean, Loc)));
  
!             --  Create new call statement
  
!             Append_To (Params,
!               New_Reference_To (RTE (RE_Conditional_Call), Loc));
!             Append_To (Params, New_Reference_To (B, Loc));
  
!             Rewrite (Call,
!               Make_Procedure_Call_Statement (Loc,
!                 Name => New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
!                 Parameter_Associations => Params));
  
!             --  Construct statement sequence for new block
  
!             Append_To (Stmts,
!               Make_Implicit_If_Statement (N,
!                 Condition => New_Reference_To (B, Loc),
!                 Then_Statements => Statements (Alt),
!                 Else_Statements => Else_Statements (N)));
!          end if;
  
!          --  The result is the new block
  
+          Rewrite (N,
+            Make_Block_Statement (Loc,
+              Declarations => Declarations (Blk),
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc, Stmts)));
        end if;
  
        Analyze (N);
     end Expand_N_Conditional_Entry_Call;
  
*************** package body Exp_Ch9 is
*** 4504,4510 ****
  
     procedure Expand_N_Delay_Relative_Statement (N : Node_Id) is
        Loc : constant Source_Ptr := Sloc (N);
- 
     begin
        Rewrite (N,
          Make_Procedure_Call_Statement (Loc,
--- 6190,6195 ----
*************** package body Exp_Ch9 is
*** 4577,4586 ****
           end if;
        end if;
  
!       --  Associate privals and discriminals with the next protected
!       --  operation body to be expanded. These are used to expand
!       --  references to private data objects and discriminants,
!       --  respectively.
  
        Next_Op := Next_Protected_Operation (N);
  
--- 6262,6270 ----
           end if;
        end if;
  
!       --  Associate privals and discriminals with the next protected operation
!       --  body to be expanded. These are used to expand references to private
!       --  data objects and discriminants, respectively.
  
        Next_Op := Next_Protected_Operation (N);
  
*************** package body Exp_Ch9 is
*** 4608,4623 ****
           return;
        end if;
  
!       --  If this entry call is part of an asynchronous select, don't
!       --  expand it here; it will be expanded with the select statement.
!       --  Don't expand timed entry calls either, as they are translated
!       --  into asynchronous entry calls.
  
!       --  ??? This whole approach is questionable; it may be better
!       --  to go back to allowing the expansion to take place and then
!       --  attempting to fix it up in Expand_N_Asynchronous_Select.
!       --  The tricky part is figuring out whether the expanded
!       --  call is on a task or protected entry.
  
        if (Nkind (Parent (N)) /= N_Triggering_Alternative
             or else N /= Triggering_Statement (Parent (N)))
--- 6292,6306 ----
           return;
        end if;
  
!       --  If this entry call is part of an asynchronous select, don't expand it
!       --  here; it will be expanded with the select statement. Don't expand
!       --  timed entry calls either, as they are translated into asynchronous
!       --  entry calls.
  
!       --  ??? This whole approach is questionable; it may be better to go back
!       --  to allowing the expansion to take place and then attempting to fix it
!       --  up in Expand_N_Asynchronous_Select. The tricky part is figuring out
!       --  whether the expanded call is on a task or protected entry.
  
        if (Nkind (Parent (N)) /= N_Triggering_Alternative
             or else N /= Triggering_Statement (Parent (N)))
*************** package body Exp_Ch9 is
*** 4634,4650 ****
     -- Expand_N_Entry_Declaration --
     --------------------------------
  
!    --  If there are parameters, then first, each of the formals is marked
!    --  by setting Is_Entry_Formal. Next a record type is built which is
!    --  used to hold the parameter values. The name of this record type is
!    --  entryP where entry is the name of the entry, with an additional
!    --  corresponding access type called entryPA. The record type has matching
!    --  components for each formal (the component names are the same as the
!    --  formal names). For elementary types, the component type matches the
!    --  formal type. For composite types, an access type is declared (with
!    --  the name formalA) which designates the formal type, and the type of
!    --  the component is this access type. Finally the Entry_Component of
!    --  each formal is set to reference the corresponding record component.
  
     procedure Expand_N_Entry_Declaration (N : Node_Id) is
        Loc        : constant Source_Ptr := Sloc (N);
--- 6317,6333 ----
     -- Expand_N_Entry_Declaration --
     --------------------------------
  
!    --  If there are parameters, then first, each of the formals is marked by
!    --  setting Is_Entry_Formal. Next a record type is built which is used to
!    --  hold the parameter values. The name of this record type is entryP where
!    --  entry is the name of the entry, with an additional corresponding access
!    --  type called entryPA. The record type has matching components for each
!    --  formal (the component names are the same as the formal names). For
!    --  elementary types, the component type matches the formal type. For
!    --  composite types, an access type is declared (with the name formalA)
!    --  which designates the formal type, and the type of the component is this
!    --  access type. Finally the Entry_Component of each formal is set to
!    --  reference the corresponding record component.
  
     procedure Expand_N_Entry_Declaration (N : Node_Id) is
        Loc        : constant Source_Ptr := Sloc (N);
*************** package body Exp_Ch9 is
*** 4748,4758 ****
     -----------------------------
  
     --  Protected bodies are expanded to the completion of the subprograms
!    --  created for the corresponding protected type. These are a protected
!    --  and unprotected version of each protected subprogram in the object,
!    --  a function to calculate each entry barrier, and a procedure to
!    --  execute the sequence of statements of each protected entry body.
!    --  For example, for protected type ptype:
  
     --  function entB
     --    (O : System.Address;
--- 6431,6441 ----
     -----------------------------
  
     --  Protected bodies are expanded to the completion of the subprograms
!    --  created for the corresponding protected type. These are a protected and
!    --  unprotected version of each protected subprogram in the object, a
!    --  function to calculate each entry barrier, and a procedure to execute the
!    --  sequence of statements of each protected entry body. For example, for
!    --  protected type ptype:
  
     --  function entB
     --    (O : System.Address;
*************** package body Exp_Ch9 is
*** 4772,4778 ****
     --     <sequence of statements>
     --  end pprocN;
  
!    --  procedure pproc (_object : in out poV;...) is
     --     procedure _clean is
     --       Pn : Boolean;
     --     begin
--- 6455,6461 ----
     --     <sequence of statements>
     --  end pprocN;
  
!    --  procedure pprocP (_object : in out poV;...) is
     --     procedure _clean is
     --       Pn : Boolean;
     --     begin
*************** package body Exp_Ch9 is
*** 4796,4802 ****
     --     <sequence of statements>
     --  end pfuncN;
  
!    --  function pfunc (_object : poV) return Return_Type is
     --     procedure _clean is
     --     begin
     --        Unlock (_object._object'Access);
--- 6479,6485 ----
     --     <sequence of statements>
     --  end pfuncN;
  
!    --  function pfuncP (_object : poV) return Return_Type is
     --     procedure _clean is
     --     begin
     --        Unlock (_object._object'Access);
*************** package body Exp_Ch9 is
*** 4837,4851 ****
--- 6520,6621 ----
     --  the state of the protected object.
  
     procedure Expand_N_Protected_Body (N : Node_Id) is
+       Loc          : constant Source_Ptr := Sloc (N);
        Pid          : constant Entity_Id  := Corresponding_Spec (N);
        Has_Entries  : Boolean := False;
        Op_Decl      : Node_Id;
        Op_Body      : Node_Id;
        Op_Id        : Entity_Id;
+       Disp_Op_Body : Node_Id;
        New_Op_Body  : Node_Id;
        Current_Node : Node_Id;
        Num_Entries  : Natural := 0;
  
+       function Build_Dispatching_Subprogram_Body
+         (N        : Node_Id;
+          Pid      : Node_Id;
+          Prot_Bod : Node_Id) return Node_Id;
+       --  Build a dispatching version of the protected subprogram body. The
+       --  newly generated subprogram contains a call to the original protected
+       --  body. The following code is generated:
+       --
+       --  function <protected-function-name> (Param1 .. ParamN) return
+       --    <return-type> is
+       --  begin
+       --     return <protected-function-name>P (Param1 .. ParamN);
+       --  end <protected-function-name>;
+       --
+       --  or
+       --
+       --  procedure <protected-procedure-name> (Param1 .. ParamN) is
+       --  begin
+       --     <protected-procedure-name>P (Param1 .. ParamN);
+       --  end <protected-procedure-name>
+ 
+       ---------------------------------------
+       -- Build_Dispatching_Subprogram_Body --
+       ---------------------------------------
+ 
+       function Build_Dispatching_Subprogram_Body
+         (N        : Node_Id;
+          Pid      : Node_Id;
+          Prot_Bod : Node_Id) return Node_Id
+       is
+          Loc     : constant Source_Ptr := Sloc (N);
+          Actuals : List_Id;
+          Formal  : Node_Id;
+          Spec    : Node_Id;
+          Stmts   : List_Id;
+ 
+       begin
+          --  Generate a specification without a letter suffix in order to
+          --  override an interface function or procedure.
+ 
+          Spec :=
+            Build_Protected_Sub_Specification (N, Pid, Dispatching_Mode);
+ 
+          --  The formal parameters become the actuals of the protected
+          --  function or procedure call.
+ 
+          Actuals := New_List;
+          Formal  := First (Parameter_Specifications (Spec));
+          while Present (Formal) loop
+             Append_To (Actuals,
+               Make_Identifier (Loc, Chars (Defining_Identifier (Formal))));
+ 
+             Next (Formal);
+          end loop;
+ 
+          if Nkind (Spec) = N_Procedure_Specification then
+             Stmts :=
+               New_List (
+                 Make_Procedure_Call_Statement (Loc,
+                   Name =>
+                     New_Reference_To (Corresponding_Spec (Prot_Bod), Loc),
+                   Parameter_Associations => Actuals));
+          else
+             pragma Assert (Nkind (Spec) = N_Function_Specification);
+ 
+             Stmts :=
+               New_List (
+                 Make_Return_Statement (Loc,
+                   Expression =>
+                     Make_Function_Call (Loc,
+                       Name =>
+                         New_Reference_To (Corresponding_Spec (Prot_Bod), Loc),
+                       Parameter_Associations => Actuals)));
+          end if;
+ 
+          return
+            Make_Subprogram_Body (Loc,
+              Declarations  => Empty_List,
+              Specification => Spec,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc, Stmts));
+       end Build_Dispatching_Subprogram_Body;
+ 
+    --  Start of processing for Expand_N_Protected_Body
+ 
     begin
        if No_Run_Time_Mode then
           Error_Msg_CRT ("protected body", N);
*************** package body Exp_Ch9 is
*** 4918,4923 ****
--- 6688,6713 ----
  
                          Insert_After (Current_Node, New_Op_Body);
                          Analyze (New_Op_Body);
+ 
+                         Current_Node := New_Op_Body;
+ 
+                         --  Generate an overriding primitive operation body for
+                         --  this subprogram if the protected type implements
+                         --  an inerface.
+ 
+                         if Ada_Version >= Ada_05
+                           and then Present (Abstract_Interfaces (
+                                      Corresponding_Record_Type (Pid)))
+                         then
+                            Disp_Op_Body :=
+                              Build_Dispatching_Subprogram_Body (
+                                Op_Body, Pid, New_Op_Body);
+ 
+                            Insert_After (Current_Node, Disp_Op_Body);
+                            Analyze (Disp_Op_Body);
+ 
+                            Current_Node := Disp_Op_Body;
+                         end if;
                       end if;
                    end if;
                 end if;
*************** package body Exp_Ch9 is
*** 4986,4993 ****
--- 6776,6844 ----
        then
           New_Op_Body := Build_Find_Body_Index (Pid);
           Insert_After (Current_Node, New_Op_Body);
+          Current_Node := New_Op_Body;
           Analyze (New_Op_Body);
        end if;
+ 
+       --  Ada 2005 (AI-345): Construct the primitive entry wrapper bodies after
+       --  the protected body. At this point the entry specs have been created,
+       --  frozen and included in the dispatch table for the protected type.
+ 
+       pragma Assert (Present (Corresponding_Record_Type (Pid)));
+ 
+       if Ada_Version >= Ada_05
+         and then Present (Protected_Definition (Parent (Pid)))
+         and then Present (Abstract_Interfaces
+                           (Corresponding_Record_Type (Pid)))
+       then
+          declare
+             Vis_Decl  : Node_Id :=
+                           First (Visible_Declarations
+                                  (Protected_Definition (Parent (Pid))));
+             Wrap_Body : Node_Id;
+ 
+          begin
+             --  Examine the visible declarations of the protected type, looking
+             --  for an entry declaration. We do not consider entry families
+             --  since they cannot have dispatching operations, thus they do not
+             --  need entry wrappers.
+ 
+             while Present (Vis_Decl) loop
+                if Nkind (Vis_Decl) = N_Entry_Declaration then
+                   Wrap_Body :=
+                     Build_Wrapper_Body (Loc,
+                       Proc_Nam => Defining_Identifier (Vis_Decl),
+                       Obj_Typ  => Corresponding_Record_Type (Pid),
+                       Formals  => Parameter_Specifications (Vis_Decl));
+ 
+                   if Wrap_Body /= Empty then
+                      Insert_After (Current_Node, Wrap_Body);
+                      Current_Node := Wrap_Body;
+ 
+                      Analyze (Wrap_Body);
+                   end if;
+ 
+                elsif Nkind (Vis_Decl) = N_Subprogram_Declaration then
+                   Wrap_Body :=
+                     Build_Wrapper_Body (Loc,
+                       Proc_Nam => Defining_Unit_Name
+                                         (Specification (Vis_Decl)),
+                       Obj_Typ  => Corresponding_Record_Type (Pid),
+                       Formals  => Parameter_Specifications
+                                         (Specification (Vis_Decl)));
+ 
+                   if Wrap_Body /= Empty then
+                      Insert_After (Current_Node, Wrap_Body);
+                      Current_Node := Wrap_Body;
+ 
+                      Analyze (Wrap_Body);
+                   end if;
+                end if;
+ 
+                Next (Vis_Decl);
+             end loop;
+          end;
+       end if;
     end Expand_N_Protected_Body;
  
     -----------------------------------------
*************** package body Exp_Ch9 is
*** 5005,5061 ****
     --      <private data fields>
     --    end record;
  
!    --  The discriminants are present only if the corresponding protected
!    --  type has discriminants, and they exactly mirror the protected type
!    --  discriminants. The private data fields similarly mirror the
!    --  private declarations of the protected type.
  
!    --  The Object field is always present. It contains RTS specific data
!    --  used to control the protected object. It is declared as Aliased
!    --  so that it can be passed as a pointer to the RTS. This allows the
!    --  protected record to be referenced within RTS data structures.
!    --  An appropriate Protection type and discriminant are generated.
  
     --  The Service field is present for protected objects with entries. It
!    --  contains sufficient information to allow the entry service procedure
!    --  for this object to be called when the object is not known till runtime.
  
     --  One entry_family component is present for each entry family in the
     --  task definition (see Expand_N_Task_Type_Declaration).
  
     --  When a protected object is declared, an instance of the protected type
!    --  value record is created. The elaboration of this declaration creates
!    --  the correct bounds for the entry families, and also evaluates the
!    --  priority expression if needed. The initialization routine for
!    --  the protected type itself then calls Initialize_Protection with
!    --  appropriate parameters to initialize the value of the Task_Id field.
!    --  Install_Handlers may be also called if a pragma Attach_Handler applies.
  
!    --  Note: this record is passed to the subprograms created by the
!    --  expansion of protected subprograms and entries. It is an in parameter
!    --  to protected functions and an in out parameter to procedures and
!    --  entry bodies. The Entity_Id for this created record type is placed
!    --  in the Corresponding_Record_Type field of the associated protected
!    --  type entity.
  
!    --  Next we create a procedure specifications for protected subprograms
!    --  and entry bodies. For each protected subprograms two subprograms are
!    --  created, an unprotected and a protected version. The unprotected
!    --  version is called from within other operations of the same protected
!    --  object.
  
     --  We also build the call to register the procedure if a pragma
     --  Interrupt_Handler applies.
  
     --  A single subprogram is created to service all entry bodies; it has an
!    --  additional boolean out parameter indicating that the previous entry
!    --  call made by the current task was serviced immediately, i.e. not by
!    --  proxy. The O parameter contains a pointer to a record object of the
!    --  type described above. An untyped interface is used here to allow this
     --  procedure to be called in places where the type of the object to be
!    --  serviced is not known. This must be done, for example, when a call
!    --  that may have been requeued is cancelled; the corresponding object
!    --  must be serviced, but which object that is not known till runtime.
  
     --  procedure ptypeS
     --    (O : System.Address; P : out Boolean);
--- 6856,6910 ----
     --      <private data fields>
     --    end record;
  
!    --  The discriminants are present only if the corresponding protected type
!    --  has discriminants, and they exactly mirror the protected type
!    --  discriminants. The private data fields similarly mirror the private
!    --  declarations of the protected type.
  
!    --  The Object field is always present. It contains RTS specific data used
!    --  to control the protected object. It is declared as Aliased so that it
!    --  can be passed as a pointer to the RTS. This allows the protected record
!    --  to be referenced within RTS data structures. An appropriate Protection
!    --  type and discriminant are generated.
  
     --  The Service field is present for protected objects with entries. It
!    --  contains sufficient information to allow the entry service procedure for
!    --  this object to be called when the object is not known till runtime.
  
     --  One entry_family component is present for each entry family in the
     --  task definition (see Expand_N_Task_Type_Declaration).
  
     --  When a protected object is declared, an instance of the protected type
!    --  value record is created. The elaboration of this declaration creates the
!    --  correct bounds for the entry families, and also evaluates the priority
!    --  expression if needed. The initialization routine for the protected type
!    --  itself then calls Initialize_Protection with appropriate parameters to
!    --  initialize the value of the Task_Id field. Install_Handlers may be also
!    --  called if a pragma Attach_Handler applies.
  
!    --  Note: this record is passed to the subprograms created by the expansion
!    --  of protected subprograms and entries. It is an in parameter to protected
!    --  functions and an in out parameter to procedures and entry bodies. The
!    --  Entity_Id for this created record type is placed in the
!    --  Corresponding_Record_Type field of the associated protected type entity.
  
!    --  Next we create a procedure specifications for protected subprograms and
!    --  entry bodies. For each protected subprograms two subprograms are
!    --  created, an unprotected and a protected version. The unprotected version
!    --  is called from within other operations of the same protected object.
  
     --  We also build the call to register the procedure if a pragma
     --  Interrupt_Handler applies.
  
     --  A single subprogram is created to service all entry bodies; it has an
!    --  additional boolean out parameter indicating that the previous entry call
!    --  made by the current task was serviced immediately, i.e. not by proxy.
!    --  The O parameter contains a pointer to a record object of the type
!    --  described above. An untyped interface is used here to allow this
     --  procedure to be called in places where the type of the object to be
!    --  serviced is not known. This must be done, for example, when a call that
!    --  may have been requeued is cancelled; the corresponding object must be
!    --  serviced, but which object that is not known till runtime.
  
     --  procedure ptypeS
     --    (O : System.Address; P : out Boolean);
*************** package body Exp_Ch9 is
*** 5071,5079 ****
     procedure Expand_N_Protected_Type_Declaration (N : Node_Id) is
        Loc     : constant Source_Ptr := Sloc (N);
        Prottyp : constant Entity_Id  := Defining_Identifier (N);
-       Protnm  : constant Name_Id    := Chars (Prottyp);
  
!       Pdef : constant Node_Id    := Protected_Definition (N);
        --  This contains two lists; one for visible and one for private decls
  
        Rec_Decl     : Node_Id;
--- 6920,6927 ----
     procedure Expand_N_Protected_Type_Declaration (N : Node_Id) is
        Loc     : constant Source_Ptr := Sloc (N);
        Prottyp : constant Entity_Id  := Defining_Identifier (N);
  
!       Pdef : constant Node_Id := Protected_Definition (N);
        --  This contains two lists; one for visible and one for private decls
  
        Rec_Decl     : Node_Id;
*************** package body Exp_Ch9 is
*** 5095,5101 ****
        Object_Comp  : Node_Id;
  
        procedure Register_Handler;
!       --  for a protected operation that is an interrupt handler, add the
        --  freeze action that will register it as such.
  
        ----------------------
--- 6943,6949 ----
        Object_Comp  : Node_Id;
  
        procedure Register_Handler;
!       --  For a protected operation that is an interrupt handler, add the
        --  freeze action that will register it as such.
  
        ----------------------
*************** package body Exp_Ch9 is
*** 5137,5142 ****
--- 6985,6995 ----
                        (Component_List (Type_Definition (Rec_Decl)));
        end if;
  
+       --  Ada 2005 (AI-345): Propagate the attribute that contains the list
+       --  of implemented interfaces.
+ 
+       Set_Interface_List (Type_Definition (Rec_Decl), Interface_List (N));
+ 
        Qualify_Entity_Names (N);
  
        --  If the type has discriminants, their occurrences in the declaration
*************** package body Exp_Ch9 is
*** 5145,5151 ****
        --  corresponding record type must refer to the discriminants of that
        --  record, so we must apply a new renaming to subtypes_indications:
  
!       --     protected discriminant => discriminal => record discriminant.
        --  This replacement is not applied to default expressions, for which
        --  the discriminal is correct.
  
--- 6998,7005 ----
        --  corresponding record type must refer to the discriminants of that
        --  record, so we must apply a new renaming to subtypes_indications:
  
!       --     protected discriminant => discriminal => record discriminant
! 
        --  This replacement is not applied to default expressions, for which
        --  the discriminal is correct.
  
*************** package body Exp_Ch9 is
*** 5153,5163 ****
           declare
              Disc : Entity_Id;
              Decl : Node_Id;
- 
           begin
              Disc := First_Discriminant (Prottyp);
              Decl := First (Discriminant_Specifications (Rec_Decl));
- 
              while Present (Disc) loop
                 Append_Elmt (Discriminal (Disc), Discr_Map);
                 Append_Elmt (Defining_Identifier (Decl), Discr_Map);
--- 7007,7015 ----
*************** package body Exp_Ch9 is
*** 5169,5183 ****
  
        --  Fill in the component declarations
  
!       --  Add components for entry families. For each entry family,
!       --  create an anonymous type declaration with the same size, and
!       --  analyze the type.
  
        Collect_Entry_Families (Loc, Cdecls, Current_Node, Prottyp);
  
!       --  Prepend the _Object field with the right type to the component
!       --  list. We need to compute the number of entries, and in some cases
!       --  the number of Attach_Handler pragmas.
  
        declare
           Ritem              : Node_Id;
--- 7021,7034 ----
  
        --  Fill in the component declarations
  
!       --  Add components for entry families. For each entry family, create an
!       --  anonymous type declaration with the same size, and analyze the type.
  
        Collect_Entry_Families (Loc, Cdecls, Current_Node, Prottyp);
  
!       --  Prepend the _Object field with the right type to the component list.
!       --  We need to compute the number of entries, and in some cases the
!       --  number of Attach_Handler pragmas.
  
        declare
           Ritem              : Node_Id;
*************** package body Exp_Ch9 is
*** 5234,5240 ****
                       Sloc => Loc,
                       Constraints => New_List (Entry_Count_Expr)));
  
!          elsif Has_Entries (Prottyp) then
              if Abort_Allowed
                or else Restriction_Active (No_Entry_Queue) = False
                or else Number_Entries (Prottyp) > 1
--- 7085,7096 ----
                       Sloc => Loc,
                       Constraints => New_List (Entry_Count_Expr)));
  
!          --  Type has explicit entries or generated primitive entry wrappers
! 
!          elsif Has_Entries (Prottyp)
!            or else (Ada_Version >= Ada_05
!                       and then Present (Interface_List (N)))
!          then
              if Abort_Allowed
                or else Restriction_Active (No_Entry_Queue) = False
                or else Number_Entries (Prottyp) > 1
*************** package body Exp_Ch9 is
*** 5306,5312 ****
                   Make_Subprogram_Declaration (Loc,
                     Specification =>
                       Build_Protected_Sub_Specification
!                        (Priv, Prottyp, Unprotected => True));
  
                 Insert_After (Current_Node, Sub);
                 Analyze (Sub);
--- 7162,7168 ----
                   Make_Subprogram_Declaration (Loc,
                     Specification =>
                       Build_Protected_Sub_Specification
!                        (Priv, Prottyp, Unprotected_Mode));
  
                 Insert_After (Current_Node, Sub);
                 Analyze (Sub);
*************** package body Exp_Ch9 is
*** 5316,5321 ****
--- 7172,7178 ----
                    Defining_Unit_Name (Specification (Sub)));
  
                 Current_Node := Sub;
+ 
                 if Is_Interrupt_Handler
                   (Defining_Unit_Name (Specification (Priv)))
                 then
*************** package body Exp_Ch9 is
*** 5323,5329 ****
                      Make_Subprogram_Declaration (Loc,
                        Specification =>
                          Build_Protected_Sub_Specification
!                           (Priv, Prottyp, Unprotected => False));
  
                    Insert_After (Current_Node, Sub);
                    Analyze (Sub);
--- 7180,7186 ----
                      Make_Subprogram_Declaration (Loc,
                        Specification =>
                          Build_Protected_Sub_Specification
!                           (Priv, Prottyp, Protected_Mode));
  
                    Insert_After (Current_Node, Sub);
                    Analyze (Sub);
*************** package body Exp_Ch9 is
*** 5354,5359 ****
--- 7211,7280 ----
  
        Analyze (Rec_Decl, Suppress => All_Checks);
  
+       --  Ada 2005 (AI-345): Construct the primitive entry wrappers before
+       --  the corresponding record is frozen
+ 
+       if Ada_Version >= Ada_05
+         and then Present (Visible_Declarations (Pdef))
+         and then Present (Corresponding_Record_Type
+                           (Defining_Identifier (Parent (Pdef))))
+         and then Present (Abstract_Interfaces
+                           (Corresponding_Record_Type
+                            (Defining_Identifier (Parent (Pdef)))))
+       then
+          declare
+             Current_Node : Node_Id := Rec_Decl;
+             Vis_Decl     : Node_Id;
+             Wrap_Spec    : Node_Id;
+             New_N        : Node_Id;
+ 
+          begin
+             --  Examine the visible declarations of the protected type, looking
+             --  for declarations of entries, and subprograms. We do not
+             --  consider entry families since they cannot have dispatching
+             --  operations, thus they do not need entry wrappers.
+ 
+             Vis_Decl := First (Visible_Declarations (Pdef));
+ 
+             while Present (Vis_Decl) loop
+ 
+                Wrap_Spec := Empty;
+ 
+                if Nkind (Vis_Decl) = N_Entry_Declaration
+                  and then not Present (Discrete_Subtype_Definition (Vis_Decl))
+                then
+                   Wrap_Spec :=
+                     Build_Wrapper_Spec (Loc,
+                       Proc_Nam => Defining_Identifier (Vis_Decl),
+                       Obj_Typ  => Defining_Identifier (Rec_Decl),
+                       Formals  => Parameter_Specifications (Vis_Decl));
+ 
+                elsif Nkind (Vis_Decl) = N_Subprogram_Declaration then
+                   Wrap_Spec :=
+                     Build_Wrapper_Spec (Loc,
+                       Proc_Nam => Defining_Unit_Name
+                                     (Specification (Vis_Decl)),
+                       Obj_Typ  => Defining_Identifier (Rec_Decl),
+                       Formals  => Parameter_Specifications
+                                     (Specification (Vis_Decl)));
+ 
+                end if;
+ 
+                if Wrap_Spec /= Empty then
+                   New_N := Make_Subprogram_Declaration (Loc,
+                              Specification => Wrap_Spec);
+ 
+                   Insert_After (Current_Node, New_N);
+                   Current_Node := New_N;
+ 
+                   Analyze (New_N);
+                end if;
+ 
+                Next (Vis_Decl);
+             end loop;
+          end;
+       end if;
+ 
        --  Collect pointers to entry bodies and their barriers, to be placed
        --  in the Entry_Bodies_Array for the type. For each entry/family we
        --  add an expression to the aggregate which is the initial value of
*************** package body Exp_Ch9 is
*** 5367,5378 ****
           Entries_Aggr := Empty;
        end if;
  
!       --  Build two new procedure specifications for each protected
!       --  subprogram; one to call from outside the object and one to
!       --  call from inside. Build a barrier function and an entry
!       --  body action procedure specification for each protected entry.
!       --  Initialize the entry body array. If subprogram is flagged as
!       --  eliminated, do not generate any internal operations.
  
        E_Count := 0;
  
--- 7288,7299 ----
           Entries_Aggr := Empty;
        end if;
  
!       --  Build two new procedure specifications for each protected subprogram;
!       --  one to call from outside the object and one to call from inside.
!       --  Build a barrier function and an entry body action procedure
!       --  specification for each protected entry. Initialize the entry body
!       --  array. If subprogram is flagged as eliminated, do not generate any
!       --  internal operations.
  
        E_Count := 0;
  
*************** package body Exp_Ch9 is
*** 5386,5392 ****
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (Comp, Prottyp, Unprotected => True));
  
              Insert_After (Current_Node, Sub);
              Analyze (Sub);
--- 7307,7313 ----
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (Comp, Prottyp, Unprotected_Mode));
  
              Insert_After (Current_Node, Sub);
              Analyze (Sub);
*************** package body Exp_Ch9 is
*** 5395,5402 ****
                (Defining_Unit_Name (Specification (Comp)),
                 Defining_Unit_Name (Specification (Sub)));
  
!             --  Make the protected version of the subprogram available
!             --  for expansion of external calls.
  
              Current_Node := Sub;
  
--- 7316,7323 ----
                (Defining_Unit_Name (Specification (Comp)),
                 Defining_Unit_Name (Specification (Sub)));
  
!             --  Make the protected version of the subprogram available for
!             --  expansion of external calls.
  
              Current_Node := Sub;
  
*************** package body Exp_Ch9 is
*** 5404,5424 ****
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (Comp, Prottyp, Unprotected => False));
  
              Insert_After (Current_Node, Sub);
              Analyze (Sub);
              Current_Node := Sub;
  
!             --  If a pragma Interrupt_Handler applies, build and add
!             --  a call to Register_Interrupt_Handler to the freezing actions
!             --  of the protected version (Current_Node) of the subprogram:
              --    system.interrupts.register_interrupt_handler
              --       (prot_procP'address);
  
              if not Restricted_Profile
                and then Is_Interrupt_Handler
!                 (Defining_Unit_Name (Specification (Comp)))
              then
                 Register_Handler;
              end if;
--- 7325,7367 ----
                Make_Subprogram_Declaration (Loc,
                  Specification =>
                    Build_Protected_Sub_Specification
!                     (Comp, Prottyp, Protected_Mode));
  
              Insert_After (Current_Node, Sub);
              Analyze (Sub);
+ 
              Current_Node := Sub;
  
!             --  Generate an overriding primitive operation specification for
!             --  this subprogram if the protected type implements an inerface.
! 
!             if Ada_Version >= Ada_05
!               and then
!                 Present (Abstract_Interfaces
!                           (Corresponding_Record_Type (Prottyp)))
!             then
!                Sub :=
!                  Make_Subprogram_Declaration (Loc,
!                    Specification =>
!                      Build_Protected_Sub_Specification
!                        (Comp, Prottyp, Dispatching_Mode));
! 
!                Insert_After (Current_Node, Sub);
!                Analyze (Sub);
! 
!                Current_Node := Sub;
!             end if;
! 
!             --  If a pragma Interrupt_Handler applies, build and add a call to
!             --  Register_Interrupt_Handler to the freezing actions of the
!             --  protected version (Current_Node) of the subprogram:
! 
              --    system.interrupts.register_interrupt_handler
              --       (prot_procP'address);
  
              if not Restricted_Profile
                and then Is_Interrupt_Handler
!                          (Defining_Unit_Name (Specification (Comp)))
              then
                 Register_Handler;
              end if;
*************** package body Exp_Ch9 is
*** 5429,5438 ****
              Set_Privals_Chain (Comp_Id, New_Elmt_List);
              Edef :=
                Make_Defining_Identifier (Loc,
!                 Build_Selected_Name
!                  (Protnm,
!                   New_External_Name (Chars (Comp_Id), Suffix_Index => -1),
!                   'E'));
              Sub :=
                Make_Subprogram_Declaration (Loc,
                  Specification =>
--- 7372,7378 ----
              Set_Privals_Chain (Comp_Id, New_Elmt_List);
              Edef :=
                Make_Defining_Identifier (Loc,
!                 Build_Selected_Name (Prottyp, Comp_Id, 'E'));
              Sub :=
                Make_Subprogram_Declaration (Loc,
                  Specification =>
*************** package body Exp_Ch9 is
*** 5449,5458 ****
  
              Bdef :=
                Make_Defining_Identifier (Loc,
!                 Build_Selected_Name
!                  (Protnm,
!                   New_External_Name (Chars (Comp_Id), Suffix_Index => -1),
!                   'B'));
              Sub :=
                Make_Subprogram_Declaration (Loc,
                  Specification =>
--- 7389,7395 ----
  
              Bdef :=
                Make_Defining_Identifier (Loc,
!                 Build_Selected_Name (Prottyp, Comp_Id, 'B'));
              Sub :=
                Make_Subprogram_Declaration (Loc,
                  Specification =>
*************** package body Exp_Ch9 is
*** 5489,5495 ****
  
        if Present (Private_Declarations (Pdef)) then
           Comp := First (Private_Declarations (Pdef));
- 
           while Present (Comp) loop
              if Nkind (Comp) = N_Entry_Declaration then
                 E_Count := E_Count + 1;
--- 7426,7431 ----
*************** package body Exp_Ch9 is
*** 5497,5506 ****
                 Set_Privals_Chain (Comp_Id, New_Elmt_List);
                 Edef :=
                   Make_Defining_Identifier (Loc,
!                   Build_Selected_Name
!                    (Protnm,
!                     New_External_Name (Chars (Comp_Id), Suffix_Index => -1),
!                     'E'));
  
                 Sub :=
                   Make_Subprogram_Declaration (Loc,
--- 7433,7439 ----
                 Set_Privals_Chain (Comp_Id, New_Elmt_List);
                 Edef :=
                   Make_Defining_Identifier (Loc,
!                   Build_Selected_Name (Prottyp, Comp_Id, 'E'));
  
                 Sub :=
                   Make_Subprogram_Declaration (Loc,
*************** package body Exp_Ch9 is
*** 5518,5527 ****
  
                 Bdef :=
                   Make_Defining_Identifier (Loc,
!                   Build_Selected_Name
!                    (Protnm,
!                     New_External_Name (Chars (Comp_Id), Suffix_Index => -1),
!                     'B'));
                 Sub :=
                   Make_Subprogram_Declaration (Loc,
                     Specification =>
--- 7451,7458 ----
  
                 Bdef :=
                   Make_Defining_Identifier (Loc,
!                     Build_Selected_Name (Prottyp, Comp_Id, 'E'));
! 
                 Sub :=
                   Make_Subprogram_Declaration (Loc,
                     Specification =>
*************** package body Exp_Ch9 is
*** 5534,5542 ****
                 Set_Scope (Bdef, Scope (Comp_Id));
                 Current_Node := Sub;
  
!                --  Collect pointers to the protected subprogram and the
!                --  barrier of the current entry, for insertion into
!                --  Entry_Bodies_Array.
  
                 Append (
                   Make_Aggregate (Loc,
--- 7465,7472 ----
                 Set_Scope (Bdef, Scope (Comp_Id));
                 Current_Node := Sub;
  
!                --  Collect pointers to the protected subprogram and the barrier
!                --  of the current entry, for insertion into Entry_Bodies_Array.
  
                 Append (
                   Make_Aggregate (Loc,
*************** package body Exp_Ch9 is
*** 5596,5604 ****
                        Attribute_Name => Name_Unrestricted_Access))));
           end if;
  
!          --  A pointer to this array will be placed in the corresponding
!          --  record by its initialization procedure, so this needs to be
!          --  analyzed here.
  
           Insert_After (Current_Node, Body_Arr);
           Current_Node := Body_Arr;
--- 7526,7533 ----
                        Attribute_Name => Name_Unrestricted_Access))));
           end if;
  
!          --  A pointer to this array will be placed in the corresponding record
!          --  by its initialization procedure so this needs to be analyzed here.
  
           Insert_After (Current_Node, Body_Arr);
           Current_Node := Body_Arr;
*************** package body Exp_Ch9 is
*** 5629,5639 ****
     --------------------------------
  
     --  A requeue statement is expanded into one of four GNARLI operations,
!    --  depending on the source and destination (task or protected object).
!    --  In addition, code must be generated to jump around the remainder of
!    --  processing for the original entry and, if the destination is a
!    --  (different) protected object, to attempt to service it.
!    --  The following illustrates the various cases:
  
     --  procedure entE
     --    (O : System.Address;
--- 7558,7568 ----
     --------------------------------
  
     --  A requeue statement is expanded into one of four GNARLI operations,
!    --  depending on the source and destination (task or protected object). In
!    --  addition, code must be generated to jump around the remainder of
!    --  processing for the original entry and, if the destination is (different)
!    --  protected object, to attempt to service it. The following illustrates
!    --  the various cases:
  
     --  procedure entE
     --    (O : System.Address;
*************** package body Exp_Ch9 is
*** 5790,5797 ****
              Prepend (Self_Param, Params);
              exit;
  
!          --  If neither task type or protected type, must be in some
!          --  inner enclosing block, so move on out
  
           else
              Oldtyp := Scope (Oldtyp);
--- 7719,7726 ----
              Prepend (Self_Param, Params);
              exit;
  
!          --  If neither task type or protected type, must be in some inner
!          --  enclosing block, so move on out
  
           else
              Oldtyp := Scope (Oldtyp);
*************** package body Exp_Ch9 is
*** 5824,5831 ****
           end loop;
  
           --  The last statement is the second label, used for completing the
!          --  rendezvous the usual way.
!          --  The label we are looking for is right before it.
  
           Lab_Node :=
             Prev (Last (Statements (Handled_Statement_Sequence (Acc_Stat))));
--- 7753,7760 ----
           end loop;
  
           --  The last statement is the second label, used for completing the
!          --  rendezvous the usual way. The label we are looking for is right
!          --  before it.
  
           Lab_Node :=
             Prev (Last (Statements (Handled_Statement_Sequence (Acc_Stat))));
*************** package body Exp_Ch9 is
*** 6076,6084 ****
  
              --  During the analysis of the body of the accept statement, any
              --  zero cost exception handler records were collected in the
!             --  Accept_Handler_Records field of the N_Accept_Alternative
!             --  node. This is where we move them to where they belong,
!             --  namely the newly created procedure.
  
              Set_Handler_Records (PB_Ent, Accept_Handler_Records (Alt));
              Append (Proc_Body, Body_List);
--- 8005,8013 ----
  
              --  During the analysis of the body of the accept statement, any
              --  zero cost exception handler records were collected in the
!             --  Accept_Handler_Records field of the N_Accept_Alternative node.
!             --  This is where we move them to where they belong, namely the
!             --  newly created procedure.
  
              Set_Handler_Records (PB_Ent, Accept_Handler_Records (Alt));
              Append (Proc_Body, Body_List);
*************** package body Exp_Ch9 is
*** 6086,6093 ****
           else
              Null_Body := New_Reference_To (Standard_True,  Loc);
  
!             --  if accept statement has declarations, insert above, given
!             --  that we are not creating a body for the accept.
  
              if Present (Declarations (Acc_Stm)) then
                 Insert_Actions (N, Declarations (Acc_Stm));
--- 8015,8022 ----
           else
              Null_Body := New_Reference_To (Standard_True,  Loc);
  
!             --  if accept statement has declarations, insert above, given that
!             --  we are not creating a body for the accept.
  
              if Present (Declarations (Acc_Stm)) then
                 Insert_Actions (N, Declarations (Acc_Stm));
*************** package body Exp_Ch9 is
*** 6182,6190 ****
                 Alt_Stats := New_List;
              end if;
  
!             --  After the call, if any, branch to to trailing statements.
!             --  We create a label for each, as well as the corresponding
!             --  label declaration.
  
              Lab := Make_And_Declare_Label (Index);
              Append_To (Alt_Stats,
--- 8111,8119 ----
                 Alt_Stats := New_List;
              end if;
  
!             --  After the call, if any, branch to to trailing statements. We
!             --  create a label for each, as well as the corresponding label
!             --  declaration.
  
              Lab := Make_And_Declare_Label (Index);
              Append_To (Alt_Stats,
*************** package body Exp_Ch9 is
*** 6318,6325 ****
  
           Append_List (Delay_Alt, Delay_List);
  
!          --  If the delay alternative has a statement part, add a
!          --  choice to the case statements for delays.
  
           if Present (Statements (Alt)) then
  
--- 8247,8254 ----
  
           Append_List (Delay_Alt, Delay_List);
  
!          --  If the delay alternative has a statement part, add choice to the
!          --  case statements for delays.
  
           if Present (Statements (Alt)) then
  
*************** package body Exp_Ch9 is
*** 6688,6701 ****
            Discrete_Choices => Choices,
            Statements => Alt_Stats));
  
!       --  We make use of the fact that Accept_Index is an integer type,
!       --  and generate successive literals for entries for each accept.
!       --  Only those for which there is a body or trailing statements are
!       --  given a case entry.
  
        Alt := First (Select_Alternatives (N));
        Proc := First (Body_List);
- 
        while Present (Alt) loop
  
           if Nkind (Alt) = N_Accept_Alternative then
--- 8617,8628 ----
            Discrete_Choices => Choices,
            Statements => Alt_Stats));
  
!       --  We make use of the fact that Accept_Index is an integer type, and
!       --  generate successive literals for entries for each accept. Only those
!       --  for which there is a body or trailing statements get a case entry.
  
        Alt := First (Select_Alternatives (N));
        Proc := First (Body_List);
        while Present (Alt) loop
  
           if Nkind (Alt) = N_Accept_Alternative then
*************** package body Exp_Ch9 is
*** 6838,6845 ****
                  Name => New_Reference_To (RTE (RE_Timed_Selective_Wait), Loc),
                  Parameter_Associations => Parms));
  
!             --  This new call should follow the calculation of the
!             --  minimum delay.
  
              Insert_List_Before (Select_Call, Delay_List);
  
--- 8765,8772 ----
                  Name => New_Reference_To (RTE (RE_Timed_Selective_Wait), Loc),
                  Parameter_Associations => Parms));
  
!             --  This new call should follow the calculation of the minimum
!             --  delay.
  
              Insert_List_Before (Select_Call, Delay_List);
  
*************** package body Exp_Ch9 is
*** 6903,6911 ****
     --------------------------------------
  
     --  Single task declarations should never be present after semantic
!    --  analysis, since we expect them to be replaced by a declaration of
!    --  an anonymous task type, followed by a declaration of the task
!    --  object. We include this routine to make sure that is happening!
  
     procedure Expand_N_Single_Task_Declaration (N : Node_Id) is
     begin
--- 8830,8838 ----
     --------------------------------------
  
     --  Single task declarations should never be present after semantic
!    --  analysis, since we expect them to be replaced by a declaration of an
!    --  anonymous task type, followed by a declaration of the task object. We
!    --  include this routine to make sure that is happening!
  
     procedure Expand_N_Single_Task_Declaration (N : Node_Id) is
     begin
*************** package body Exp_Ch9 is
*** 6950,6965 ****
  
     --    tnameE := True;
  
!    --  In addition, if the task body is an activator, then a call to
!    --  activate tasks is added at the start of the statements, before
!    --  the call to Complete_Activation, and if in addition the task is
!    --  a master then it must be established as a master. These calls are
!    --  inserted and analyzed in Expand_Cleanup_Actions, when the
!    --  Handled_Sequence_Of_Statements is expanded.
  
     --  There is one discriminal declaration line generated for each
!    --  discriminant that is present to provide an easy reference point
!    --  for discriminant references inside the body (see Exp_Ch2.Expand_Name).
  
     --  Note on relationship to GNARLI definition. In the GNARLI definition,
     --  task body procedures have a profile (Arg : System.Address). That is
--- 8877,8892 ----
  
     --    tnameE := True;
  
!    --  In addition, if the task body is an activator, then a call to activate
!    --  tasks is added at the start of the statements, before the call to
!    --  Complete_Activation, and if in addition the task is a master then it
!    --  must be established as a master. These calls are inserted and analyzed
!    --  in Expand_Cleanup_Actions, when the Handled_Sequence_Of_Statements is
!    --  expanded.
  
     --  There is one discriminal declaration line generated for each
!    --  discriminant that is present to provide an easy reference point for
!    --  discriminant references inside the body (see Exp_Ch2.Expand_Name).
  
     --  Note on relationship to GNARLI definition. In the GNARLI definition,
     --  task body procedures have a profile (Arg : System.Address). That is
*************** package body Exp_Ch9 is
*** 7028,7036 ****
        Rewrite (N, New_N);
        Analyze (N);
  
!       --  Set elaboration flag immediately after task body. If the body
!       --  is a subunit, the flag is set in  the declarative part that
!       --  contains the stub.
  
        if Nkind (Parent (N)) /= N_Subunit then
           Insert_After (N,
--- 8955,8962 ----
        Rewrite (N, New_N);
        Analyze (N);
  
!       --  Set elaboration flag immediately after task body. If the body is a
!       --  subunit, the flag is set in the declarative part containing the stub.
  
        if Nkind (Parent (N)) /= N_Subunit then
           Insert_After (N,
*************** package body Exp_Ch9 is
*** 7039,7044 ****
--- 8965,9025 ----
                 Make_Identifier (Loc, New_External_Name (Chars (Ttyp), 'E')),
               Expression => New_Reference_To (Standard_True, Loc)));
        end if;
+ 
+       --  Ada 2005 (AI-345): Construct the primitive entry wrapper bodies after
+       --  the task body. At this point the entry specs have been created,
+       --  frozen and included in the dispatch table for the task type.
+ 
+       pragma Assert (Present (Corresponding_Record_Type (Ttyp)));
+ 
+       if Ada_Version >= Ada_05
+         and then Present (Task_Definition (Parent (Ttyp)))
+         and then Present (Abstract_Interfaces
+                           (Corresponding_Record_Type (Ttyp)))
+       then
+          declare
+             Current_Node : Node_Id;
+             Vis_Decl     : Node_Id :=
+               First (Visible_Declarations (Task_Definition (Parent (Ttyp))));
+             Wrap_Body    : Node_Id;
+ 
+          begin
+             if Nkind (Parent (N)) = N_Subunit then
+                Current_Node := Corresponding_Stub (Parent (N));
+             else
+                Current_Node := N;
+             end if;
+ 
+             --  Examine the visible declarations of the task type, looking for
+             --  an entry declaration. We do not consider entry families since
+             --  they cannot have dispatching operations, thus they do not need
+             --  entry wrappers.
+ 
+             while Present (Vis_Decl) loop
+                if Nkind (Vis_Decl) = N_Entry_Declaration
+                  and then Ekind (Defining_Identifier (Vis_Decl)) = E_Entry
+                then
+ 
+                   --  Create the specification of the wrapper
+ 
+                   Wrap_Body :=
+                     Build_Wrapper_Body (Loc,
+                       Proc_Nam => Defining_Identifier (Vis_Decl),
+                       Obj_Typ  => Corresponding_Record_Type (Ttyp),
+                       Formals  => Parameter_Specifications (Vis_Decl));
+ 
+                   if Wrap_Body /= Empty then
+                      Insert_After (Current_Node, Wrap_Body);
+                      Current_Node := Wrap_Body;
+ 
+                      Analyze (Wrap_Body);
+                   end if;
+                end if;
+ 
+                Next (Vis_Decl);
+             end loop;
+          end;
+       end if;
     end Expand_N_Task_Body;
  
     ------------------------------------
*************** package body Exp_Ch9 is
*** 7053,7060 ****
  
     --    taskE : aliased Boolean := False;
  
!    --  Next a variable is declared to hold the task stack size (either
!    --  the default : Unspecified_Size, or a value that is set by a pragma
     --  Storage_Size). If the value of the pragma Storage_Size is static, then
     --  the variable is initialized with this value:
  
--- 9034,9041 ----
  
     --    taskE : aliased Boolean := False;
  
!    --  Next a variable is declared to hold the task stack size (either the
!    --  default : Unspecified_Size, or a value that is set by a pragma
     --  Storage_Size). If the value of the pragma Storage_Size is static, then
     --  the variable is initialized with this value:
  
*************** package body Exp_Ch9 is
*** 7076,7103 ****
     --  The discriminants are present only if the corresponding task type has
     --  discriminants, and they exactly mirror the task type discriminants.
  
!    --  The Id field is always present. It contains the Task_Id value, as
!    --  set by the call to Create_Task. Note that although the task is
!    --  limited, the task value record type is not limited, so there is no
!    --  problem in passing this field as an out parameter to Create_Task.
  
!    --  One entry_family component is present for each entry family in the
!    --  task definition. The bounds correspond to the bounds of the entry
!    --  family (which may depend on discriminants). The element type is
!    --  void, since we only need the bounds information for determining
!    --  the entry index. Note that the use of an anonymous array would
!    --  normally be illegal in this context, but this is a parser check,
!    --  and the semantics is quite prepared to handle such a case.
  
!    --  The _Size field is present only if a Storage_Size pragma appears in
!    --  the task definition. The expression captures the argument that was
!    --  present in the pragma, and is used to override the task stack size
!    --  otherwise associated with the task type.
  
     --  The _Priority field is present only if a Priority or Interrupt_Priority
     --  pragma appears in the task definition. The expression captures the
!    --  argument that was present in the pragma, and is used to provide
!    --  the Size parameter to the call to Create_Task.
  
     --  The _Task_Info field is present only if a Task_Info pragma appears in
     --  the task definition. The expression captures the argument that was
--- 9057,9084 ----
     --  The discriminants are present only if the corresponding task type has
     --  discriminants, and they exactly mirror the task type discriminants.
  
!    --  The Id field is always present. It contains the Task_Id value, as set by
!    --  the call to Create_Task. Note that although the task is limited, the
!    --  task value record type is not limited, so there is no problem in passing
!    --  this field as an out parameter to Create_Task.
  
!    --  One entry_family component is present for each entry family in the task
!    --  definition. The bounds correspond to the bounds of the entry family
!    --  (which may depend on discriminants). The element type is void, since we
!    --  only need the bounds information for determining the entry index. Note
!    --  that the use of an anonymous array would normally be illegal in this
!    --  context, but this is a parser check, and the semantics is quite prepared
!    --  to handle such a case.
  
!    --  The _Size field is present only if a Storage_Size pragma appears in the
!    --  task definition. The expression captures the argument that was present
!    --  in the pragma, and is used to override the task stack size otherwise
!    --  associated with the task type.
  
     --  The _Priority field is present only if a Priority or Interrupt_Priority
     --  pragma appears in the task definition. The expression captures the
!    --  argument that was present in the pragma, and is used to provide the Size
!    --  parameter to the call to Create_Task.
  
     --  The _Task_Info field is present only if a Task_Info pragma appears in
     --  the task definition. The expression captures the argument that was
*************** package body Exp_Ch9 is
*** 7105,7122 ****
     --  to the call to Create_Task.
  
     --  When a task is declared, an instance of the task value record is
!    --  created. The elaboration of this declaration creates the correct
!    --  bounds for the entry families, and also evaluates the size, priority,
!    --  and task_Info expressions if needed. The initialization routine for
!    --  the task type itself then calls Create_Task with appropriate
!    --  parameters to initialize the value of the Task_Id field.
  
     --  Note: the address of this record is passed as the "Discriminants"
!    --  parameter for Create_Task. Since Create_Task merely passes this onto
!    --  the body procedure, it does not matter that it does not quite match
!    --  the GNARLI model of what is being passed (the record contains more
!    --  than just the discriminants, but the discriminants can be found from
!    --  the record value).
  
     --  The Entity_Id for this created record type is placed in the
     --  Corresponding_Record_Type field of the associated task type entity.
--- 9086,9103 ----
     --  to the call to Create_Task.
  
     --  When a task is declared, an instance of the task value record is
!    --  created. The elaboration of this declaration creates the correct bounds
!    --  for the entry families, and also evaluates the size, priority, and
!    --  task_Info expressions if needed. The initialization routine for the task
!    --  type itself then calls Create_Task with appropriate parameters to
!    --  initialize the value of the Task_Id field.
  
     --  Note: the address of this record is passed as the "Discriminants"
!    --  parameter for Create_Task. Since Create_Task merely passes this onto the
!    --  body procedure, it does not matter that it does not quite match the
!    --  GNARLI model of what is being passed (the record contains more than just
!    --  the discriminants, but the discriminants can be found from the record
!    --  value).
  
     --  The Entity_Id for this created record type is placed in the
     --  Corresponding_Record_Type field of the associated task type entity.
*************** package body Exp_Ch9 is
*** 7161,7166 ****
--- 9142,9153 ----
        --  Here we will do the expansion
  
        Rec_Decl := Build_Corresponding_Record (N, Tasktyp, Loc);
+ 
+       --  Ada 2005 (AI-345): Propagate the attribute that contains the list
+       --  of implemented interfaces.
+ 
+       Set_Interface_List (Type_Definition (Rec_Decl), Interface_List (N));
+ 
        Rec_Ent  := Defining_Identifier (Rec_Decl);
        Cdecls   := Component_Items (Component_List
                                       (Type_Definition (Rec_Decl)));
*************** package body Exp_Ch9 is
*** 7212,7220 ****
  
        Insert_After (Elab_Decl, Size_Decl);
  
!       --  Next build the rest of the corresponding record declaration.
!       --  This is done last, since the corresponding record initialization
!       --  procedure will reference the previously created entities.
  
        --  Fill in the component declarations -- first the _Task_Id field
  
--- 9199,9207 ----
  
        Insert_After (Elab_Decl, Size_Decl);
  
!       --  Next build the rest of the corresponding record declaration. This is
!       --  done last, since the corresponding record initialization procedure
!       --  will reference the previously created entities.
  
        --  Fill in the component declarations -- first the _Task_Id field
  
*************** package body Exp_Ch9 is
*** 7228,7235 ****
                Subtype_Indication => New_Reference_To (RTE (RO_ST_Task_Id),
                                      Loc))));
  
!       --  Declare static ATCB (that is, created by the expander) if we
!       --  are using the Restricted run time.
  
        if Restricted_Profile then
           Append_To (Cdecls,
--- 9215,9222 ----
                Subtype_Indication => New_Reference_To (RTE (RO_ST_Task_Id),
                                      Loc))));
  
!       --  Declare static ATCB (that is, created by the expander) if we are
!       --  using the Restricted run time.
  
        if Restricted_Profile then
           Append_To (Cdecls,
*************** package body Exp_Ch9 is
*** 7251,7258 ****
  
        end if;
  
!       --  Declare static stack (that is, created by the expander) if we
!       --  are using the Restricted run time on a bare board configuration.
  
        if Restricted_Profile
          and then Preallocated_Stacks_On_Target
--- 9238,9245 ----
  
        end if;
  
!       --  Declare static stack (that is, created by the expander) if we are
!       --  using the Restricted run time on a bare board configuration.
  
        if Restricted_Profile
          and then Preallocated_Stacks_On_Target
*************** package body Exp_Ch9 is
*** 7291,7298 ****
  
           Append_To (Cdecls, Decl_Stack);
  
!          --  The appropriate alignment for the stack is ensured by the
!          --  run-time code in charge of task creation.
  
        end if;
  
--- 9278,9285 ----
  
           Append_To (Cdecls, Decl_Stack);
  
!          --  The appropriate alignment for the stack is ensured by the run-time
!          --  code in charge of task creation.
  
        end if;
  
*************** package body Exp_Ch9 is
*** 7407,7435 ****
  
        Insert_After (Rec_Decl, Body_Decl);
  
!       --  The subprogram does not comes from source, so we have to indicate
!       --  the need for debugging information explicitly.
  
        Set_Needs_Debug_Info
          (Defining_Entity (Proc_Spec), Comes_From_Source (Original_Node (N)));
  
!       --  Now we can freeze the corresponding record. This needs manually
!       --  freezing, since it is really part of the task type, and the task
!       --  type is frozen at this stage. We of course need the initialization
!       --  procedure for this corresponding record type and we won't get it
!       --  in time if we don't freeze now.
  
!       declare
!          L : constant List_Id := Freeze_Entity (Rec_Ent, Loc);
  
!       begin
!          if Is_Non_Empty_List (L) then
!             Insert_List_After (Body_Decl, L);
!          end if;
!       end;
  
!       --  Complete the expansion of access types to the current task
!       --  type, if any were declared.
  
        Expand_Previous_Access_Type (Tasktyp);
     end Expand_N_Task_Type_Declaration;
--- 9394,9478 ----
  
        Insert_After (Rec_Decl, Body_Decl);
  
!       --  The subprogram does not comes from source, so we have to indicate the
!       --  need for debugging information explicitly.
  
        Set_Needs_Debug_Info
          (Defining_Entity (Proc_Spec), Comes_From_Source (Original_Node (N)));
  
!       --  Ada 2005 (AI-345): Construct the primitive entry wrapper specs before
!       --  the corresponding record has been frozen.
  
!       if Ada_Version >= Ada_05
!         and then Present (Taskdef)
!         and then Present (Corresponding_Record_Type
!                           (Defining_Identifier (Parent (Taskdef))))
!         and then Present (Abstract_Interfaces
!                           (Corresponding_Record_Type
!                            (Defining_Identifier (Parent (Taskdef)))))
!       then
!          declare
!             Current_Node : Node_Id := Rec_Decl;
!             Vis_Decl     : Node_Id := First (Visible_Declarations (Taskdef));
!             Wrap_Spec    : Node_Id;
!             New_N        : Node_Id;
  
!          begin
!             --  Examine the visible declarations of the task type, looking for
!             --  an entry declaration. We do not consider entry families since
!             --  they cannot have dispatching operations, thus they do not need
!             --  entry wrappers.
  
!             while Present (Vis_Decl) loop
!                if Nkind (Vis_Decl) = N_Entry_Declaration
!                  and then Ekind (Defining_Identifier (Vis_Decl)) = E_Entry
!                then
!                   Wrap_Spec :=
!                     Build_Wrapper_Spec (Loc,
!                       Proc_Nam => Defining_Identifier (Vis_Decl),
!                       Obj_Typ  => Etype (Rec_Ent),
!                       Formals  => Parameter_Specifications (Vis_Decl));
! 
!                   if Wrap_Spec /= Empty then
!                      New_N :=
!                        Make_Subprogram_Declaration (Loc,
!                          Specification => Wrap_Spec);
! 
!                      Insert_After (Current_Node, New_N);
!                      Current_Node := New_N;
! 
!                      Analyze (New_N);
!                   end if;
!                end if;
! 
!                Next (Vis_Decl);
!             end loop;
!          end;
!       end if;
! 
!       --  Ada 2005 (AI-345): We must defer freezing to allow further
!       --  declaration of primitive subprograms covering task interfaces
! 
!       if Ada_Version <= Ada_95 then
! 
!          --  Now we can freeze the corresponding record. This needs manually
!          --  freezing, since it is really part of the task type, and the task
!          --  type is frozen at this stage. We of course need the initialization
!          --  procedure for this corresponding record type and we won't get it
!          --  in time if we don't freeze now.
! 
!          declare
!             L : constant List_Id := Freeze_Entity (Rec_Ent, Loc);
! 
!          begin
!             if Is_Non_Empty_List (L) then
!                Insert_List_After (Body_Decl, L);
!             end if;
!          end;
!       end if;
! 
!       --  Complete the expansion of access types to the current task type, if
!       --  any were declared.
  
        Expand_Previous_Access_Type (Tasktyp);
     end Expand_N_Task_Type_Declaration;
*************** package body Exp_Ch9 is
*** 7438,7445 ****
     -- Expand_N_Timed_Entry_Call --
     -------------------------------
  
!    --  A timed entry call in normal case is not implemented using ATC
!    --  mechanism anymore for efficiency reason.
  
     --     select
     --        T.E;
--- 9481,9488 ----
     -- Expand_N_Timed_Entry_Call --
     -------------------------------
  
!    --  A timed entry call in normal case is not implemented using ATC mechanism
!    --  anymore for efficiency reason.
  
     --     select
     --        T.E;
*************** package body Exp_Ch9 is
*** 7454,7464 ****
     --  1) When T.E is a task entry_call;
  
     --    declare
!    --       B : Boolean;
!    --       X : Task_Entry_Index := <entry index>;
     --       DX : Duration := To_Duration (D);
!    --       M : Delay_Mode := <discriminant>;
!    --       P : parms := (parm, parm, parm);
  
     --    begin
     --       Timed_Protected_Entry_Call (<acceptor-task>, X, P'Address,
--- 9497,9507 ----
     --  1) When T.E is a task entry_call;
  
     --    declare
!    --       B  : Boolean;
!    --       X  : Task_Entry_Index := <entry index>;
     --       DX : Duration := To_Duration (D);
!    --       M  : Delay_Mode := <discriminant>;
!    --       P  : parms := (parm, parm, parm);
  
     --    begin
     --       Timed_Protected_Entry_Call (<acceptor-task>, X, P'Address,
*************** package body Exp_Ch9 is
*** 7476,7482 ****
     --       B  : Boolean;
     --       X  : Protected_Entry_Index := <entry index>;
     --       DX : Duration := To_Duration (D);
!    --       M : Delay_Mode := <discriminant>;
     --       P  : parms := (parm, parm, parm);
  
     --    begin
--- 9519,9525 ----
     --       B  : Boolean;
     --       X  : Protected_Entry_Index := <entry index>;
     --       DX : Duration := To_Duration (D);
!    --       M  : Delay_Mode := <discriminant>;
     --       P  : parms := (parm, parm, parm);
  
     --    begin
*************** package body Exp_Ch9 is
*** 7489,7494 ****
--- 9532,9571 ----
     --       end if;
     --    end;
  
+    --  3) Ada 2005 (AI-345): When T.E is a dispatching procedure call;
+ 
+    --    declare
+    --       B  : Boolean := False;
+    --       C  : Ada.Tags.Prim_Op_Kind;
+    --       DX : Duration := To_Duration (D)
+    --       M  : Integer :=...;
+    --       P  : Parameters := (Param1 .. ParamN);
+    --       S  : constant Iteger := DT_Position (<dispatching-procedure>);
+ 
+    --    begin
+    --       disp_timed_select (<object>, S, P'Address, DX, M, C, B);
+ 
+    --       if C = POK_Protected_Entry
+    --         or else C = POK_Task_Entry
+    --       then
+    --          Param1 := P.Param1;
+    --          ...
+    --          ParamN := P.ParamN;
+    --       end if;
+ 
+    --       if B then
+    --          if C = POK_Procedure
+    --            or else C = POK_Protected_Procedure
+    --            or else C = POK_Task_Procedure
+    --          then
+    --             T.E;
+    --          end if;
+    --          S1;
+    --       else
+    --          S2;
+    --       end if;
+    --    end;
+ 
     procedure Expand_N_Timed_Entry_Call (N : Node_Id) is
        Loc : constant Source_Ptr := Sloc (N);
  
*************** package body Exp_Ch9 is
*** 7501,7525 ****
        D_Stats : constant List_Id :=
                    Statements (Delay_Alternative (N));
  
!       Stmts : List_Id;
!       Stmt  : Node_Id;
!       Parms : List_Id;
!       Parm  : Node_Id;
! 
!       Concval : Node_Id;
!       Ename   : Node_Id;
!       Index   : Node_Id;
! 
!       Decls : List_Id;
!       Disc  : Node_Id;
!       Conv  : Node_Id;
!       B     : Entity_Id;
!       D     : Entity_Id;
!       Dtyp  : Entity_Id;
!       M     : Entity_Id;
  
!       Call  : Node_Id;
!       Dummy : Node_Id;
  
     begin
        --  The arguments in the call may require dynamic allocation, and the
--- 9578,9610 ----
        D_Stats : constant List_Id :=
                    Statements (Delay_Alternative (N));
  
!       Actuals  : List_Id;
!       Blk_Typ  : Entity_Id;
!       Call     : Node_Id;
!       Call_Ent : Entity_Id;
!       Concval  : Node_Id;
!       D_Conv   : Node_Id;
!       D_Disc   : Node_Id;
!       D_Type   : Entity_Id;
!       Decls    : List_Id;
!       Dummy    : Node_Id;
!       Ename    : Node_Id;
!       Formals  : List_Id;
!       Index    : Node_Id;
!       N_Stats  : List_Id;
!       Obj      : Entity_Id;
!       Param    : Node_Id;
!       Params   : List_Id;
!       Stmt     : Node_Id;
!       Stmts    : List_Id;
!       Unpack   : List_Id;
  
!       B : Entity_Id;  --  Call status flag
!       C : Entity_Id;  --  Call kind
!       D : Entity_Id;  --  Delay
!       M : Entity_Id;  --  Delay mode
!       P : Entity_Id;  --  Parameter block
!       S : Entity_Id;  --  Primitive operation slot
  
     begin
        --  The arguments in the call may require dynamic allocation, and the
*************** package body Exp_Ch9 is
*** 7529,7535 ****
  
        if Nkind (E_Call) = N_Block_Statement then
           E_Call := First (Statements (Handled_Statement_Sequence (E_Call)));
- 
           while Nkind (E_Call) /= N_Procedure_Call_Statement
             and then Nkind (E_Call) /= N_Entry_Call_Statement
           loop
--- 9614,9619 ----
*************** package body Exp_Ch9 is
*** 7537,7706 ****
           end loop;
        end if;
  
!       --  Build an entry call using Simple_Entry_Call. We will use this as the
!       --  base for creating appropriate calls.
  
!       Extract_Entry (E_Call, Concval, Ename, Index);
!       Build_Simple_Entry_Call (E_Call, Concval, Ename, Index);
  
!       Stmts := Statements (Handled_Statement_Sequence (E_Call));
!       Decls := Declarations (E_Call);
  
!       if No (Decls) then
!          Decls := New_List;
        end if;
  
!       Dtyp := Base_Type (Etype (Expression (D_Stat)));
  
        --  Use the type of the delay expression (Calendar or Real_Time)
        --  to generate the appropriate conversion.
  
        if Nkind (D_Stat) = N_Delay_Relative_Statement then
!          Disc := Make_Integer_Literal (Loc, 0);
!          Conv := Relocate_Node (Expression (D_Stat));
  
!       elsif Is_RTE (Dtyp, RO_CA_Time) then
!          Disc := Make_Integer_Literal (Loc, 1);
!          Conv := Make_Function_Call (Loc,
             New_Reference_To (RTE (RO_CA_To_Duration), Loc),
             New_List (New_Copy (Expression (D_Stat))));
  
!       else pragma Assert (Is_RTE (Dtyp, RO_RT_Time));
!          Disc := Make_Integer_Literal (Loc, 2);
!          Conv := Make_Function_Call (Loc,
             New_Reference_To (RTE (RO_RT_To_Duration), Loc),
             New_List (New_Copy (Expression (D_Stat))));
        end if;
  
-       --  Create Duration and Delay_Mode objects for passing a delay value
- 
        D := Make_Defining_Identifier (Loc, New_Internal_Name ('D'));
!       M := Make_Defining_Identifier (Loc, New_Internal_Name ('M'));
  
        Append_To (Decls,
          Make_Object_Declaration (Loc,
!           Defining_Identifier => D,
!           Object_Definition => New_Reference_To (Standard_Duration, Loc)));
  
        Append_To (Decls,
          Make_Object_Declaration (Loc,
!           Defining_Identifier => M,
!           Object_Definition => New_Reference_To (Standard_Integer, Loc),
!           Expression        => Disc));
  
!       B := Make_Defining_Identifier (Loc, Name_uB);
  
!       --  Create a boolean object used for a return parameter
  
!       Prepend_To (Decls,
!         Make_Object_Declaration (Loc,
!           Defining_Identifier => B,
!           Object_Definition => New_Reference_To (Standard_Boolean, Loc)));
  
!       Stmt := First (Stmts);
  
!       --  Skip assignments to temporaries created for in-out parameters.
!       --  This makes unwarranted assumptions about the shape of the expanded
!       --  tree for the call, and should be cleaned up ???
  
!       while Nkind (Stmt) /= N_Procedure_Call_Statement loop
!          Next (Stmt);
!       end loop;
  
!       --  Do the assignement at this stage only because the evaluation of the
!       --  expression must not occur before (see ACVC C97302A).
  
!       Insert_Before (Stmt,
!         Make_Assignment_Statement (Loc,
!           Name => New_Reference_To (D, Loc),
!           Expression => Conv));
  
!       Call := Stmt;
  
!       Parms := Parameter_Associations (Call);
  
!       --  For a protected type, we build a Timed_Protected_Entry_Call
  
!       if Is_Protected_Type (Etype (Concval)) then
  
!          --  Create a new call statement
  
!          Parm := First (Parms);
  
!          while Present (Parm)
!            and then not Is_RTE (Etype (Parm), RE_Call_Modes)
!          loop
!             Next (Parm);
!          end loop;
  
!          Dummy := Remove_Next (Next (Parm));
  
!          --  Remove garbage is following the Cancel_Param if present
  
!          Dummy := Next (Parm);
  
!          --  Remove the mode of the Protected_Entry_Call call, then remove the
!          --  Communication_Block of the Protected_Entry_Call call, and finally
!          --  add Duration and a Delay_Mode parameter
  
!          pragma Assert (Present (Parm));
!          Rewrite (Parm, New_Reference_To (D, Loc));
  
!          Rewrite (Dummy, New_Reference_To (M, Loc));
  
!          --  Add a Boolean flag for successful entry call
  
!          Append_To (Parms, New_Reference_To (B, Loc));
  
!          if Abort_Allowed
!            or else Restriction_Active (No_Entry_Queue) = False
!            or else Number_Entries (Etype (Concval)) > 1
!          then
!             Rewrite (Call,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Timed_Protected_Entry_Call), Loc),
!                 Parameter_Associations => Parms));
  
!          else
!             Parm := First (Parms);
  
!             while Present (Parm)
!               and then not Is_RTE (Etype (Parm), RE_Protected_Entry_Index)
              loop
!                Next (Parm);
              end loop;
  
!             Remove (Parm);
  
!             Rewrite (Call,
!               Make_Procedure_Call_Statement (Loc,
!                 Name => New_Reference_To (
!                   RTE (RE_Timed_Protected_Single_Entry_Call), Loc),
!                 Parameter_Associations => Parms));
!          end if;
  
!       --  For the task case, build a Timed_Task_Entry_Call
  
!       else
!          --  Create a new call statement
  
!          Append_To (Parms, New_Reference_To (D, Loc));
!          Append_To (Parms, New_Reference_To (M, Loc));
!          Append_To (Parms, New_Reference_To (B, Loc));
  
!          Rewrite (Call,
!            Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Timed_Task_Entry_Call), Loc),
!              Parameter_Associations => Parms));
  
!       end if;
  
!       Append_To (Stmts,
!         Make_Implicit_If_Statement (N,
!           Condition => New_Reference_To (B, Loc),
!           Then_Statements => E_Stats,
!           Else_Statements => D_Stats));
  
        Rewrite (N,
          Make_Block_Statement (Loc,
--- 9621,9985 ----
           end loop;
        end if;
  
!       if Ada_Version >= Ada_05
!         and then Nkind (E_Call) = N_Procedure_Call_Statement
!       then
!          Extract_Dispatching_Call (E_Call, Call_Ent, Obj, Actuals, Formals);
  
!          Decls := New_List;
!          Stmts := New_List;
  
!       else
!          --  Build an entry call using Simple_Entry_Call
  
!          Extract_Entry (E_Call, Concval, Ename, Index);
!          Build_Simple_Entry_Call (E_Call, Concval, Ename, Index);
! 
!          Decls := Declarations (E_Call);
!          Stmts := Statements (Handled_Statement_Sequence (E_Call));
! 
!          if No (Decls) then
!             Decls := New_List;
!          end if;
        end if;
  
!       --  Call status flag processing
! 
!       if Ada_Version >= Ada_05
!         and then Nkind (E_Call) = N_Procedure_Call_Statement
!       then
!          --  Generate:
!          --    B : Boolean := False;
! 
!          B := SEU.Build_B (Loc, Decls);
! 
!       else
!          --  Generate:
!          --    B : Boolean;
! 
!          B := Make_Defining_Identifier (Loc, Name_uB);
! 
!          Prepend_To (Decls,
!            Make_Object_Declaration (Loc,
!              Defining_Identifier =>
!                B,
!              Object_Definition =>
!                New_Reference_To (Standard_Boolean, Loc)));
!       end if;
! 
!       --  Call kind processing
! 
!       if Ada_Version >= Ada_05
!         and then Nkind (E_Call) = N_Procedure_Call_Statement
!       then
!          --  Generate:
!          --    C : Ada.Tags.Prim_Op_Kind;
! 
!          C := SEU.Build_C (Loc, Decls);
!       end if;
! 
!       --  Duration and mode processing
! 
!       D_Type := Base_Type (Etype (Expression (D_Stat)));
  
        --  Use the type of the delay expression (Calendar or Real_Time)
        --  to generate the appropriate conversion.
  
        if Nkind (D_Stat) = N_Delay_Relative_Statement then
!          D_Disc := Make_Integer_Literal (Loc, 0);
!          D_Conv := Relocate_Node (Expression (D_Stat));
  
!       elsif Is_RTE (D_Type, RO_CA_Time) then
!          D_Disc := Make_Integer_Literal (Loc, 1);
!          D_Conv := Make_Function_Call (Loc,
             New_Reference_To (RTE (RO_CA_To_Duration), Loc),
             New_List (New_Copy (Expression (D_Stat))));
  
!       else pragma Assert (Is_RTE (D_Type, RO_RT_Time));
!          D_Disc := Make_Integer_Literal (Loc, 2);
!          D_Conv := Make_Function_Call (Loc,
             New_Reference_To (RTE (RO_RT_To_Duration), Loc),
             New_List (New_Copy (Expression (D_Stat))));
        end if;
  
        D := Make_Defining_Identifier (Loc, New_Internal_Name ('D'));
! 
!       --  Generate:
!       --    D : Duration;
  
        Append_To (Decls,
          Make_Object_Declaration (Loc,
!           Defining_Identifier =>
!             D,
!           Object_Definition =>
!             New_Reference_To (Standard_Duration, Loc)));
! 
!       M := Make_Defining_Identifier (Loc, New_Internal_Name ('M'));
! 
!       --  Generate:
!       --    M : Integer := (0 | 1 | 2);
  
        Append_To (Decls,
          Make_Object_Declaration (Loc,
!           Defining_Identifier =>
!             M,
!           Object_Definition =>
!             New_Reference_To (Standard_Integer, Loc),
!           Expression =>
!             D_Disc));
  
!       --  Do the assignement at this stage only because the evaluation of the
!       --  expression must not occur before (see ACVC C97302A).
  
!       Append_To (Stmts,
!         Make_Assignment_Statement (Loc,
!           Name =>
!             New_Reference_To (D, Loc),
!           Expression =>
!             D_Conv));
  
!       --  Parameter block processing
  
!       --  Manually create the parameter block for dispatching calls. In the
!       --  case of entries, the block has already been created during the call
!       --  to Build_Simple_Entry_Call.
  
!       if Ada_Version >= Ada_05
!         and then Nkind (E_Call) = N_Procedure_Call_Statement
!       then
!          Blk_Typ := Build_Parameter_Block (Loc, Actuals, Formals, Decls);
!          P       := Parameter_Block_Pack  (Loc, Blk_Typ, Actuals, Formals,
!                       Decls, Stmts);
  
!          --  Dispatch table slot processing, generate:
!          --    S : constant Integer :=
!          --          Ada.Tags.Get_Offset_Index (
!          --            Unchecked_Convert_To (Ada.Tags.Interface_Tag, Obj),
!          --            DT_Position (<dispatching-procedure>));
  
!          S := SEU.Build_S (Loc, Decls, Obj, Call_Ent);
  
!          --  Generate:
!          --    _dispatching_timed_select (Obj, S, P'address, D, M, C, B);
  
!          --  where Obj is the controlling formal parameter, S is the dispatch
!          --  table slot number of the dispatching operation, P is the wrapped
!          --  parameter block, D is the duration, M is the duration mode, C is
!          --  the call kind and B is the call status.
  
!          Params := New_List;
  
!          Append_To (Params, New_Copy_Tree    (Obj));
!          Append_To (Params, New_Reference_To (S, Loc));
!          Append_To (Params, Make_Attribute_Reference (Loc,
!                               Prefix => New_Reference_To (P, Loc),
!                               Attribute_Name => Name_Address));
!          Append_To (Params, New_Reference_To (D, Loc));
!          Append_To (Params, New_Reference_To (M, Loc));
!          Append_To (Params, New_Reference_To (C, Loc));
!          Append_To (Params, New_Reference_To (B, Loc));
  
!          Append_To (Stmts,
!            Make_Procedure_Call_Statement (Loc,
!              Name =>
!                New_Reference_To (
!                  Find_Prim_Op (Etype (Etype (Obj)),
!                    Name_uDisp_Timed_Select),
!                  Loc),
!              Parameter_Associations =>
!                Params));
  
!          --  Generate:
!          --    if C = POK_Protected_Entry
!          --      or else C = POK_Task_Entry
!          --    then
!          --       Param1 := P.Param1;
!          --       ...
!          --       ParamN := P.ParamN;
!          --    end if;
  
!          Unpack := Parameter_Block_Unpack (Loc, P, Actuals, Formals);
  
!          --  Generate the if statement only when the packed parameters need
!          --  explicit assignments to their corresponding actuals.
  
!          if Present (Unpack) then
!             Append_To (Stmts,
!               Make_If_Statement (Loc,
  
!                 Condition =>
!                   Make_Or_Else (Loc,
!                     Left_Opnd =>
!                       Make_Op_Eq (Loc,
!                         Left_Opnd =>
!                           New_Reference_To (C, Loc),
!                         Right_Opnd =>
!                           New_Reference_To (RTE (
!                             RE_POK_Protected_Entry), Loc)),
!                     Right_Opnd =>
!                       Make_Op_Eq (Loc,
!                         Left_Opnd =>
!                           New_Reference_To (C, Loc),
!                         Right_Opnd =>
!                           New_Reference_To (RTE (RE_POK_Task_Entry), Loc))),
  
!                 Then_Statements => Unpack));
!          end if;
  
!          --  Generate:
  
!          --    if B then
!          --       if C = POK_Procedure
!          --         or else C = POK_Protected_Procedure
!          --         or else C = POK_Task_Procedure
!          --       then
!          --          <dispatching-procedure-call>
!          --       end if;
!          --       <normal-statements>
!          --    else
!          --       <delay-statements>
!          --    end if;
  
!          N_Stats := New_Copy_List_Tree (E_Stats);
  
!          Prepend_To (N_Stats,
!            Make_If_Statement (Loc,
  
!              Condition =>
!                Make_Or_Else (Loc,
!                  Left_Opnd =>
!                    Make_Op_Eq (Loc,
!                      Left_Opnd =>
!                        New_Reference_To (C, Loc),
!                      Right_Opnd =>
!                        New_Reference_To (RTE (RE_POK_Procedure), Loc)),
!                  Right_Opnd =>
!                    Make_Or_Else (Loc,
!                      Left_Opnd =>
!                        Make_Op_Eq (Loc,
!                          Left_Opnd =>
!                            New_Reference_To (C, Loc),
!                          Right_Opnd =>
!                            New_Reference_To (RTE (
!                              RE_POK_Protected_Procedure), Loc)),
!                      Right_Opnd =>
!                        Make_Op_Eq (Loc,
!                          Left_Opnd =>
!                            New_Reference_To (C, Loc),
!                          Right_Opnd =>
!                            New_Reference_To (RTE (
!                              RE_POK_Task_Procedure), Loc)))),
  
!              Then_Statements =>
!                New_List (E_Call)));
  
!          Append_To (Stmts,
!            Make_If_Statement (Loc,
!              Condition       => New_Reference_To (B, Loc),
!              Then_Statements => N_Stats,
!              Else_Statements => D_Stats));
!       else
!          --  Skip assignments to temporaries created for in-out parameters.
!          --  This makes unwarranted assumptions about the shape of the expanded
!          --  tree for the call, and should be cleaned up ???
  
!          Stmt := First (Stmts);
!          while Nkind (Stmt) /= N_Procedure_Call_Statement loop
!             Next (Stmt);
!          end loop;
! 
!          --  Do the assignement at this stage only because the evaluation
!          --  of the expression must not occur before (see ACVC C97302A).
! 
!          Insert_Before (Stmt,
!            Make_Assignment_Statement (Loc,
!              Name => New_Reference_To (D, Loc),
!              Expression => D_Conv));
! 
!          Call   := Stmt;
!          Params := Parameter_Associations (Call);
! 
!          --  For a protected type, we build a Timed_Protected_Entry_Call
! 
!          if Is_Protected_Type (Etype (Concval)) then
! 
!             --  Create a new call statement
! 
!             Param := First (Params);
!             while Present (Param)
!               and then not Is_RTE (Etype (Param), RE_Call_Modes)
              loop
!                Next (Param);
              end loop;
  
!             Dummy := Remove_Next (Next (Param));
  
!             --  Remove garbage is following the Cancel_Param if present
  
!             Dummy := Next (Param);
  
!             --  Remove the mode of the Protected_Entry_Call call, then remove
!             --  the Communication_Block of the Protected_Entry_Call call, and
!             --  finally add Duration and a Delay_Mode parameter
  
!             pragma Assert (Present (Param));
!             Rewrite (Param, New_Reference_To (D, Loc));
  
!             Rewrite (Dummy, New_Reference_To (M, Loc));
  
!             --  Add a Boolean flag for successful entry call
  
!             Append_To (Params, New_Reference_To (B, Loc));
! 
!             if Abort_Allowed
!               or else Restriction_Active (No_Entry_Queue) = False
!               or else Number_Entries (Etype (Concval)) > 1
!             then
!                Rewrite (Call,
!                  Make_Procedure_Call_Statement (Loc,
!                    Name =>
!                      New_Reference_To (RTE (
!                        RE_Timed_Protected_Entry_Call), Loc),
!                    Parameter_Associations => Params));
!             else
!                Param := First (Params);
!                while Present (Param)
!                  and then not Is_RTE (Etype (Param), RE_Protected_Entry_Index)
!                loop
!                   Next (Param);
!                end loop;
! 
!                Remove (Param);
! 
!                Rewrite (Call,
!                  Make_Procedure_Call_Statement (Loc,
!                    Name => New_Reference_To (
!                      RTE (RE_Timed_Protected_Single_Entry_Call), Loc),
!                    Parameter_Associations => Params));
!             end if;
! 
!          --  For the task case, build a Timed_Task_Entry_Call
! 
!          else
!             --  Create a new call statement
! 
!             Append_To (Params, New_Reference_To (D, Loc));
!             Append_To (Params, New_Reference_To (M, Loc));
!             Append_To (Params, New_Reference_To (B, Loc));
! 
!             Rewrite (Call,
!               Make_Procedure_Call_Statement (Loc,
!                 Name =>
!                   New_Reference_To (RTE (RE_Timed_Task_Entry_Call), Loc),
!                 Parameter_Associations => Params));
!          end if;
! 
!          Append_To (Stmts,
!            Make_Implicit_If_Statement (N,
!              Condition => New_Reference_To (B, Loc),
!              Then_Statements => E_Stats,
!              Else_Statements => D_Stats));
!       end if;
  
        Rewrite (N,
          Make_Block_Statement (Loc,
*************** package body Exp_Ch9 is
*** 7715,7732 ****
     -- Expand_Protected_Body_Declarations --
     ----------------------------------------
  
!    --  Part of the expansion of a protected body involves the creation of
!    --  a declaration that can be referenced from the statement sequences of
!    --  the entry bodies:
  
     --    A : Address;
  
!    --  This declaration is inserted in the declarations of the service
!    --  entries procedure for the protected body, and it is important that
!    --  it be inserted before the statements of the entry body statement
!    --  sequences are analyzed. Thus it would be too late to create this
!    --  declaration in the Expand_N_Protected_Body routine, which is why
!    --  there is a separate procedure to be called directly from Sem_Ch9.
  
     --  Ann is used to hold the address of the record containing the parameters
     --  (see Expand_N_Entry_Call for more details on how this record is built).
--- 9994,10011 ----
     -- Expand_Protected_Body_Declarations --
     ----------------------------------------
  
!    --  Part of the expansion of a protected body involves the creation of a
!    --  declaration that can be referenced from the statement sequences of the
!    --  entry bodies:
  
     --    A : Address;
  
!    --  This declaration is inserted in the declarations of the service entries
!    --  procedure for the protected body, and it is important that it be
!    --  inserted before the statements of the entry body statement sequences are
!    --  analyzed. Thus it would be too late to create this declaration in the
!    --  Expand_N_Protected_Body routine, which is why there is a separate
!    --  procedure to be called directly from Sem_Ch9.
  
     --  Ann is used to hold the address of the record containing the parameters
     --  (see Expand_N_Entry_Call for more details on how this record is built).
*************** package body Exp_Ch9 is
*** 7737,7750 ****
     --  Accept_Address stack in the corresponding entry entity, and this element
     --  must be set in place  before the statements are processed.
  
!    --  No stack is needed for entry bodies, since they cannot be nested, but
!    --  it is kept for consistency between protected and task entries. The
!    --  stack will never contain more than one element. There is also only one
!    --  such variable for a given protected body, but this is placed on the
     --  Accept_Address stack of all of the entries, again for consistency.
  
!    --  To expand the requeue statement, a label is provided at the end of
!    --  the loop in the entry service routine created by the expander (see
     --  Expand_N_Protected_Body for details), so that the statement can be
     --  skipped after the requeue is complete. This label is created during the
     --  expansion of the entry body, which will take place after the expansion
--- 10016,10029 ----
     --  Accept_Address stack in the corresponding entry entity, and this element
     --  must be set in place  before the statements are processed.
  
!    --  No stack is needed for entry bodies, since they cannot be nested, but it
!    --  is kept for consistency between protected and task entries. The stack
!    --  will never contain more than one element. There is also only one such
!    --  variable for a given protected body, but this is placed on the
     --  Accept_Address stack of all of the entries, again for consistency.
  
!    --  To expand the requeue statement, a label is provided at the end of the
!    --  loop in the entry service routine created by the expander (see
     --  Expand_N_Protected_Body for details), so that the statement can be
     --  skipped after the requeue is complete. This label is created during the
     --  expansion of the entry body, which will take place after the expansion
*************** package body Exp_Ch9 is
*** 7772,7780 ****
  
        elsif Expander_Active then
  
!          --  Associate privals with the first subprogram or entry
!          --  body to be expanded. These are used to expand references
!          --  to private data objects.
  
           Op := First_Protected_Operation (Declarations (N));
  
--- 10051,10059 ----
  
        elsif Expander_Active then
  
!          --  Associate privals with the first subprogram or entry body to be
!          --  expanded. These are used to expand references to private data
!          --  objects.
  
           Op := First_Protected_Operation (Declarations (N));
  
*************** package body Exp_Ch9 is
*** 7810,7815 ****
--- 10089,10143 ----
        end if;
     end External_Subprogram;
  
+    ------------------------------
+    -- Extract_Dispatching_Call --
+    ------------------------------
+ 
+    procedure Extract_Dispatching_Call
+      (N        : Node_Id;
+       Call_Ent : out Entity_Id;
+       Object   : out Entity_Id;
+       Actuals  : out List_Id;
+       Formals  : out List_Id)
+    is
+       Call_Nam : Node_Id;
+ 
+    begin
+       pragma Assert (Nkind (N) = N_Procedure_Call_Statement);
+ 
+       if Present (Original_Node (N)) then
+          Call_Nam := Name (Original_Node (N));
+       else
+          Call_Nam := Name (N);
+       end if;
+ 
+       --  Retrieve the name of the dispatching procedure. It contains the
+       --  dispatch table slot number.
+ 
+       loop
+          case Nkind (Call_Nam) is
+             when N_Identifier =>
+                exit;
+ 
+             when N_Selected_Component =>
+                Call_Nam := Selector_Name (Call_Nam);
+ 
+             when others =>
+                raise Program_Error;
+ 
+          end case;
+       end loop;
+ 
+       Actuals  := Parameter_Associations (N);
+       Call_Ent := Entity (Call_Nam);
+       Formals  := Parameter_Specifications (Parent (Call_Ent));
+       Object   := First (Actuals);
+ 
+       if Present (Original_Node (Object)) then
+          Object := Original_Node (Object);
+       end if;
+    end Extract_Dispatching_Call;
+ 
     -------------------
     -- Extract_Entry --
     -------------------
*************** package body Exp_Ch9 is
*** 7831,7845 ****
           Ename   := Selector_Name (Nam);
           Index   := Empty;
  
!          --  For a member of an entry family, the name is an indexed
!          --  component where the prefix is a selected component,
!          --  whose prefix in turn is the task value, and whose
!          --  selector is the entry family. The single expression in
!          --  the expressions list of the indexed component is the
!          --  subscript for the family.
  
!       else
!          pragma Assert (Nkind (Nam) = N_Indexed_Component);
           Concval := Prefix (Prefix (Nam));
           Ename   := Selector_Name (Prefix (Nam));
           Index   := First (Expressions (Nam));
--- 10159,10171 ----
           Ename   := Selector_Name (Nam);
           Index   := Empty;
  
!       --  For a member of an entry family, the name is an indexed component
!       --  where the prefix is a selected component, whose prefix in turn is
!       --  the task value, and whose selector is the entry family. The single
!       --  expression in the expressions list of the indexed component is the
!       --  subscript for the family.
  
!       else pragma Assert (Nkind (Nam) = N_Indexed_Component);
           Concval := Prefix (Prefix (Nam));
           Ename   := Selector_Name (Prefix (Nam));
           Index   := First (Expressions (Nam));
*************** package body Exp_Ch9 is
*** 7857,7868 ****
        Ttyp : Entity_Id) return Node_Id
     is
        function Convert_Discriminant_Ref (Bound : Node_Id) return Node_Id;
!       --  If one of the bounds is a reference to a discriminant, replace
!       --  with corresponding discriminal of type. Within the body of a task
!       --  retrieve the renamed discriminant by simple visibility, using its
!       --  generated name. Within a protected object, find the original dis-
!       --  criminant and replace it with the discriminal of the current prot-
!       --  ected operation.
  
        ------------------------------
        -- Convert_Discriminant_Ref --
--- 10183,10193 ----
        Ttyp : Entity_Id) return Node_Id
     is
        function Convert_Discriminant_Ref (Bound : Node_Id) return Node_Id;
!       --  If one of the bounds is a reference to a discriminant, replace with
!       --  corresponding discriminal of type. Within the body of a task retrieve
!       --  the renamed discriminant by simple visibility, using its generated
!       --  name. Within a protected object, find the original dis- criminant and
!       --  replace it with the discriminal of the current prot- ected operation.
  
        ------------------------------
        -- Convert_Discriminant_Ref --
*************** package body Exp_Ch9 is
*** 7885,7891 ****
  
              elsif Is_Protected_Type (Ttyp) then
                 D := First_Discriminant (Ttyp);
- 
                 while Chars (D) /= Chars (Entity (Bound)) loop
                    Next_Discriminant (D);
                 end loop;
--- 10210,10215 ----
*************** package body Exp_Ch9 is
*** 7963,7969 ****
  
     begin
        N := First (Visible_Declarations (T));
- 
        while Present (N) loop
           if Nkind (N) = N_Pragma then
              if Chars (N) = P then
--- 10287,10292 ----
*************** package body Exp_Ch9 is
*** 7984,7990 ****
        end loop;
  
        N := First (Private_Declarations (T));
- 
        while Present (N) loop
           if Nkind (N) = N_Pragma then
              if  Chars (N) = P then
--- 10307,10312 ----
*************** package body Exp_Ch9 is
*** 8044,8053 ****
        Lo : Node_Id := Type_Low_Bound  (Etype (Index_Id));
  
        function Replace_Discriminant (Bound : Node_Id) return Node_Id;
!       --  The bounds of the entry index may depend on discriminants, so
!       --  each declaration of an entry_index_constant must have its own
!       --  subtype declaration, using the local renaming of the object discri-
!       --  minant.
  
        --------------------------
        -- Replace_Discriminant --
--- 10366,10374 ----
        Lo : Node_Id := Type_Low_Bound  (Etype (Index_Id));
  
        function Replace_Discriminant (Bound : Node_Id) return Node_Id;
!       --  The bounds of the entry index may depend on discriminants, so each
!       --  declaration of an entry_index_constant must have its own subtype
!       --  declaration, using the local renaming of the object discriminant.
  
        --------------------------
        -- Replace_Discriminant --
*************** package body Exp_Ch9 is
*** 8151,8172 ****
        Restricted  : constant Boolean := Restricted_Profile;
  
     begin
!       --  We may need two calls to properly initialize the object, one
!       --  to Initialize_Protection, and possibly one to Install_Handlers
!       --  if we have a pragma Attach_Handler.
  
        --  Get protected declaration. In the case of a task type declaration,
!       --  this is simply the parent of the protected type entity.
!       --  In the single protected object
!       --  declaration, this parent will be the implicit type, and we can find
!       --  the corresponding single protected object declaration by
!       --  searching forward in the declaration list in the tree.
!       --  ??? I am not sure that the test for N_Single_Protected_Declaration
!       --      is needed here. Nodes of this type should have been removed
!       --      during semantic analysis.
  
!       Pdec := Parent (Ptyp);
  
        while Nkind (Pdec) /= N_Protected_Type_Declaration
          and then Nkind (Pdec) /= N_Single_Protected_Declaration
        loop
--- 10472,10491 ----
        Restricted  : constant Boolean := Restricted_Profile;
  
     begin
!       --  We may need two calls to properly initialize the object, one to
!       --  Initialize_Protection, and possibly one to Install_Handlers if we
!       --  have a pragma Attach_Handler.
  
        --  Get protected declaration. In the case of a task type declaration,
!       --  this is simply the parent of the protected type entity. In the single
!       --  protected object declaration, this parent will be the implicit type,
!       --  and we can find the corresponding single protected object declaration
!       --  by searching forward in the declaration list in the tree.
  
!       --  Is the test for N_Single_Protected_Declaration needed here??? Nodes
!       --  of this type should have been removed during semantic analysis.
  
+       Pdec := Parent (Ptyp);
        while Nkind (Pdec) /= N_Protected_Type_Declaration
          and then Nkind (Pdec) /= N_Single_Protected_Declaration
        loop
*************** package body Exp_Ch9 is
*** 8228,8233 ****
--- 10547,10554 ----
        if Has_Entry
          or else Has_Interrupt_Handler (Ptyp)
          or else Has_Attach_Handler (Ptyp)
+         or else (Ada_Version >= Ada_05
+                    and then Present (Interface_List (Parent (Ptyp))))
        then
           --  Compiler_Info parameter. This parameter allows entry body
           --  procedures and barrier functions to be called from the runtime.
*************** package body Exp_Ch9 is
*** 8242,8251 ****
           end if;
  
           if Has_Entry then
              --  Entry_Bodies parameter. This is a pointer to an array of
!             --  pointers to the entry body procedures and barrier functions
!             --  of the object. If the protected type has no entries this
!             --  object will not exist; in this case, pass a null.
  
              P_Arr := Entry_Bodies_Array (Ptyp);
  
--- 10563,10573 ----
           end if;
  
           if Has_Entry then
+ 
              --  Entry_Bodies parameter. This is a pointer to an array of
!             --  pointers to the entry body procedures and barrier functions of
!             --  the object. If the protected type has no entries this object
!             --  will not exist; in this case, pass a null.
  
              P_Arr := Entry_Bodies_Array (Ptyp);
  
*************** package body Exp_Ch9 is
*** 8310,8320 ****
  
        if Has_Attach_Handler (Ptyp) then
  
!          --  We have a list of N Attach_Handler (ProcI, ExprI),
!          --  and we have to make the following call:
           --  Install_Handlers (_object,
           --    ((Expr1, Proc1'access), ...., (ExprN, ProcN'access));
           --  or, in the case of Ravenscar:
           --  Install_Handlers
           --    ((Expr1, Proc1'access), ...., (ExprN, ProcN'access));
  
--- 10632,10645 ----
  
        if Has_Attach_Handler (Ptyp) then
  
!          --  We have a list of N Attach_Handler (ProcI, ExprI), and we have to
!          --  make the following call:
! 
           --  Install_Handlers (_object,
           --    ((Expr1, Proc1'access), ...., (ExprN, ProcN'access));
+ 
           --  or, in the case of Ravenscar:
+ 
           --  Install_Handlers
           --    ((Expr1, Proc1'access), ...., (ExprN, ProcN'access));
  
*************** package body Exp_Ch9 is
*** 8325,8330 ****
--- 10650,10656 ----
  
           begin
              if not Restricted then
+ 
                 --  Appends the _object argument
  
                 Append_To (Args,
*************** package body Exp_Ch9 is
*** 8400,8416 ****
        Ttyp := Corresponding_Concurrent_Type (Task_Rec);
        Tnam := Chars (Ttyp);
  
!       --  Get task declaration. In the case of a task type declaration, this
!       --  is simply the parent of the task type entity. In the single task
        --  declaration, this parent will be the implicit type, and we can find
!       --  the corresponding single task declaration by searching forward in
!       --  the declaration list in the tree.
!       --  ??? I am not sure that the test for N_Single_Task_Declaration
!       --      is needed here. Nodes of this type should have been removed
!       --      during semantic analysis.
  
!       Tdec := Parent (Ttyp);
  
        while Nkind (Tdec) /= N_Task_Type_Declaration
          and then Nkind (Tdec) /= N_Single_Task_Declaration
        loop
--- 10726,10741 ----
        Ttyp := Corresponding_Concurrent_Type (Task_Rec);
        Tnam := Chars (Ttyp);
  
!       --  Get task declaration. In the case of a task type declaration, this is
!       --  simply the parent of the task type entity. In the single task
        --  declaration, this parent will be the implicit type, and we can find
!       --  the corresponding single task declaration by searching forward in the
!       --  declaration list in the tree.
  
!       --  Is the test for N_Single_Task_Declaration needed here??? Nodes of
!       --  this type should have been removed during semantic analysis.
  
+       Tdec := Parent (Ttyp);
        while Nkind (Tdec) /= N_Task_Type_Declaration
          and then Nkind (Tdec) /= N_Single_Task_Declaration
        loop
*************** package body Exp_Ch9 is
*** 8605,8611 ****
  
     begin
        Next_Op := Next (N);
- 
        while Present (Next_Op)
          and then Nkind (Next_Op) /= N_Subprogram_Body
          and then Nkind (Next_Op) /= N_Entry_Body
--- 10930,10935 ----
*************** package body Exp_Ch9 is
*** 8616,8621 ****
--- 10940,11112 ----
        return Next_Op;
     end Next_Protected_Operation;
  
+    --------------------------
+    -- Parameter_Block_Pack --
+    --------------------------
+ 
+    function Parameter_Block_Pack
+      (Loc     : Source_Ptr;
+       Blk_Typ : Entity_Id;
+       Actuals : List_Id;
+       Formals : List_Id;
+       Decls   : List_Id;
+       Stmts   : List_Id) return Node_Id
+    is
+       Actual    : Entity_Id;
+       Expr      : Node_Id := Empty;
+       Formal    : Entity_Id;
+       Has_Param : Boolean := False;
+       P         : Entity_Id;
+       Params    : List_Id;
+       Temp_Asn  : Node_Id;
+       Temp_Nam  : Node_Id;
+ 
+    begin
+       Actual := First (Actuals);
+       Formal := Defining_Identifier (First (Formals));
+       Params := New_List;
+ 
+       while Present (Actual) loop
+          if Is_By_Copy_Type (Etype (Actual)) then
+             --  Generate:
+             --    Jnn : aliased <formal-type>
+ 
+             Temp_Nam :=
+               Make_Defining_Identifier (Loc, New_Internal_Name ('J'));
+ 
+             Append_To (Decls,
+               Make_Object_Declaration (Loc,
+                 Aliased_Present =>
+                   True,
+                 Defining_Identifier =>
+                   Temp_Nam,
+                 Object_Definition =>
+                   New_Reference_To (Etype (Formal), Loc)));
+ 
+             if Ekind (Formal) /= E_Out_Parameter then
+ 
+                --  Generate:
+                --    Jnn := <actual>
+ 
+                Temp_Asn :=
+                  New_Reference_To (Temp_Nam, Loc);
+ 
+                Set_Assignment_OK (Temp_Asn);
+ 
+                Append_To (Stmts,
+                  Make_Assignment_Statement (Loc,
+                    Name =>
+                      Temp_Asn,
+                    Expression =>
+                      New_Copy_Tree (Actual)));
+             end if;
+ 
+             --  Generate:
+             --    Jnn'unchecked_access
+ 
+             Append_To (Params,
+               Make_Attribute_Reference (Loc,
+                 Attribute_Name =>
+                   Name_Unchecked_Access,
+                 Prefix =>
+                   New_Reference_To (Temp_Nam, Loc)));
+ 
+             Has_Param := True;
+ 
+          --  The controlling parameter is omitted
+ 
+          else
+             if not Is_Controlling_Actual (Actual) then
+                Append_To (Params,
+                  Make_Reference (Loc, New_Copy_Tree (Actual)));
+ 
+                Has_Param := True;
+             end if;
+          end if;
+ 
+          Next_Actual (Actual);
+          Next_Formal_With_Extras (Formal);
+       end loop;
+ 
+       if Has_Param then
+          Expr := Make_Aggregate (Loc, Params);
+       end if;
+ 
+       --  Generate:
+       --    P : Ann := (
+       --      J1'unchecked_access;
+       --      <actual2>'reference;
+       --      ...);
+ 
+       P := Make_Defining_Identifier (Loc, New_Internal_Name ('P'));
+ 
+       Append_To (Decls,
+         Make_Object_Declaration (Loc,
+           Defining_Identifier =>
+             P,
+           Object_Definition =>
+             New_Reference_To (Blk_Typ, Loc),
+           Expression =>
+             Expr));
+ 
+       return P;
+    end Parameter_Block_Pack;
+ 
+    ----------------------------
+    -- Parameter_Block_Unpack --
+    ----------------------------
+ 
+    function Parameter_Block_Unpack
+      (Loc     : Source_Ptr;
+       P       : Entity_Id;
+       Actuals : List_Id;
+       Formals : List_Id) return List_Id
+    is
+       Actual    : Entity_Id;
+       Asnmt     : Node_Id;
+       Formal    : Entity_Id;
+       Has_Asnmt : Boolean := False;
+       Result    : constant List_Id := New_List;
+ 
+    begin
+       Actual := First (Actuals);
+       Formal := Defining_Identifier (First (Formals));
+       while Present (Actual) loop
+          if Is_By_Copy_Type (Etype (Actual))
+            and then Ekind (Formal) /= E_In_Parameter
+          then
+             --  Generate:
+             --    <actual> := P.<formal>;
+ 
+             Asnmt :=
+               Make_Assignment_Statement (Loc,
+                 Name =>
+                   New_Copy (Actual),
+                 Expression =>
+                   Make_Explicit_Dereference (Loc,
+                     Make_Selected_Component (Loc,
+                       Prefix =>
+                         New_Reference_To (P, Loc),
+                       Selector_Name =>
+                         Make_Identifier (Loc, Chars (Formal)))));
+ 
+             Set_Assignment_OK (Name (Asnmt));
+             Append_To (Result, Asnmt);
+ 
+             Has_Asnmt := True;
+          end if;
+ 
+          Next_Actual (Actual);
+          Next_Formal_With_Extras (Formal);
+       end loop;
+ 
+       if Has_Asnmt then
+          return Result;
+       else
+          return New_List (Make_Null_Statement (Loc));
+       end if;
+    end Parameter_Block_Unpack;
+ 
     ----------------------
     -- Set_Discriminals --
     ----------------------
*************** package body Exp_Ch9 is
*** 8631,8637 ****
  
        if Has_Discriminants (Pdef) then
           D := First_Discriminant (Pdef);
- 
           while Present (D) loop
              D_Minal :=
                Make_Defining_Identifier (Sloc (D),
--- 11122,11127 ----
*************** package body Exp_Ch9 is
*** 8653,8667 ****
     -----------------
  
     procedure Set_Privals
!       (Dec : Node_Id;
!        Op  : Node_Id;
!        Loc : Source_Ptr)
     is
!       P_Decl    : Node_Id;
!       P_Id      : Entity_Id;
!       Priv      : Entity_Id;
!       Def       : Node_Id;
!       Body_Ent  : Entity_Id;
        Prec_Decl : constant Node_Id :=
                      Parent (Corresponding_Record_Type
                               (Defining_Identifier (Dec)));
--- 11143,11161 ----
     -----------------
  
     procedure Set_Privals
!       (Dec           : Node_Id;
!        Op            : Node_Id;
!        Loc           : Source_Ptr;
!        After_Barrier : Boolean := False)
     is
!       P_Decl      : Node_Id;
!       P_Id        : Entity_Id;
!       Priv        : Entity_Id;
!       Def         : Node_Id;
!       Body_Ent    : Entity_Id;
!       For_Barrier : constant Boolean :=
!                       Nkind (Op) = N_Entry_Body and then not After_Barrier;
! 
        Prec_Decl : constant Node_Id :=
                      Parent (Corresponding_Record_Type
                               (Defining_Identifier (Dec)));
*************** package body Exp_Ch9 is
*** 8679,8693 ****
        Def := Protected_Definition (Dec);
  
        if Present (Private_Declarations (Def)) then
- 
           P_Decl := First (Private_Declarations (Def));
- 
           while Present (P_Decl) loop
              if Nkind (P_Decl) = N_Component_Declaration then
                 P_Id := Defining_Identifier (P_Decl);
!                Priv :=
!                  Make_Defining_Identifier (Loc,
!                    New_External_Name (Chars (P_Id), 'P'));
  
                 Set_Ekind     (Priv, E_Variable);
                 Set_Etype     (Priv, Etype (P_Id));
--- 11173,11192 ----
        Def := Protected_Definition (Dec);
  
        if Present (Private_Declarations (Def)) then
           P_Decl := First (Private_Declarations (Def));
           while Present (P_Decl) loop
              if Nkind (P_Decl) = N_Component_Declaration then
                 P_Id := Defining_Identifier (P_Decl);
! 
!                if For_Barrier then
!                   Priv :=
!                     Make_Defining_Identifier (Loc,
!                       Chars => New_External_Name (Chars (P_Id), 'P'));
!                else
!                   Priv :=
!                     Make_Defining_Identifier (Loc,
!                       Chars => New_External_Name (Chars (P_Id)));
!                end if;
  
                 Set_Ekind     (Priv, E_Variable);
                 Set_Etype     (Priv, Etype (P_Id));
*************** package body Exp_Ch9 is
*** 8695,8705 ****
                 Set_Esize     (Priv, Esize (Etype (P_Id)));
                 Set_Alignment (Priv, Alignment (Etype (P_Id)));
  
!                --  If the type of the component is an itype, we must
!                --  create a new itype for the corresponding prival in
!                --  each protected operation, to avoid scoping problems.
!                --  We create new itypes by copying the tree for the
!                --  component definition.
  
                 if Is_Itype (Etype (P_Id)) then
                    Append_Elmt (P_Id, Assoc_L);
--- 11194,11203 ----
                 Set_Esize     (Priv, Esize (Etype (P_Id)));
                 Set_Alignment (Priv, Alignment (Etype (P_Id)));
  
!                --  If the type of the component is an itype, we must create a
!                --  new itype for the corresponding prival in each protected
!                --  operation, to avoid scoping problems. We create new itypes
!                --  by copying the tree for the component definition.
  
                 if Is_Itype (Etype (P_Id)) then
                    Append_Elmt (P_Id, Assoc_L);
*************** package body Exp_Ch9 is
*** 8723,8731 ****
           end loop;
        end if;
  
!       --  There is one more implicit private declaration: the object
!       --  itself. A "prival" for this is attached to the protected
!       --  body defining identifier.
  
        Body_Ent := Corresponding_Body (Dec);
  
--- 11221,11228 ----
           end loop;
        end if;
  
!       --  There is one more implicit private decl: the object itself. "prival"
!       --  for this is attached to the protected body defining identifier.
  
        Body_Ent := Corresponding_Body (Dec);
  
*************** package body Exp_Ch9 is
*** 8780,8786 ****
           if Is_Entity_Name (N)  then
              declare
                 E : constant Entity_Id := Entity (N);
- 
              begin
                 if Present (E)
                   and then (Ekind (E) = E_Constant
--- 11277,11282 ----
*************** package body Exp_Ch9 is
*** 8821,8831 ****
              Update_Array_Bounds (Etype (Defining_Identifier (N)));
              return OK;
  
!          --  For array components of discriminated records, use the
!          --  base type directly, because it may depend indirectly
!          --  on the discriminants of the protected type. Cleaner would
!          --  be a systematic mechanism to compute actual subtypes of
!          --  private components ???
  
           elsif Nkind (N) in N_Has_Etype
             and then Present (Etype (N))
--- 11317,11328 ----
              Update_Array_Bounds (Etype (Defining_Identifier (N)));
              return OK;
  
!          --  For array components of discriminated records, use the base type
!          --  directly, because it may depend indirectly on the discriminants of
!          --  the protected type.
! 
!          --  Cleaner would be a systematic mechanism to compute actual subtypes
!          --  of private components???
  
           elsif Nkind (N) in N_Has_Etype
             and then Present (Etype (N))
*************** package body Exp_Ch9 is
*** 8861,8870 ****
  
        procedure Update_Array_Bounds (E : Entity_Id) is
           Ind : Node_Id;
- 
        begin
           Ind := First_Index (E);
- 
           while Present (Ind) loop
              Update_Prival_Subtypes (Type_Low_Bound  (Etype (Ind)));
              Update_Prival_Subtypes (Type_High_Bound (Etype (Ind)));
--- 11358,11365 ----
*************** package body Exp_Ch9 is
*** 8879,8891 ****
        procedure Update_Index_Types (N : Node_Id) is
           Indx1 : Node_Id;
           I_Typ : Node_Id;
        begin
!          --  If the prefix has an actual subtype that is different
!          --  from the nominal one, update the types of the indices,
!          --  so that the proper constraints are applied. Do not
!          --  apply this transformation to a packed array, where the
!          --  index type is computed for a byte array and is different
!          --  from the source index.
  
           if Nkind (Parent (N)) = N_Indexed_Component
             and then
--- 11374,11386 ----
        procedure Update_Index_Types (N : Node_Id) is
           Indx1 : Node_Id;
           I_Typ : Node_Id;
+ 
        begin
!          --  If the prefix has an actual subtype that is different from the
!          --  nominal one, update the types of the indices, so that the proper
!          --  constraints are applied. Do not apply this transformation to a
!          --  packed array, where the index type is computed for a byte array
!          --  and is different from the source index.
  
           if Nkind (Parent (N)) = N_Indexed_Component
             and then
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_ch9.ads gcc-4.1.0/gcc/ada/exp_ch9.ads
*** gcc-4.0.2/gcc/ada/exp_ch9.ads	Mon Jun  7 14:16:18 2004
--- gcc-4.1.0/gcc/ada/exp_ch9.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Types; use Types;
*** 30,35 ****
--- 30,42 ----
  
  package Exp_Ch9 is
  
+    type Subprogram_Protection_Mode is
+      (Dispatching_Mode,
+       Protected_Mode,
+       Unprotected_Mode);
+    --  This type is used to distinguish the different protection modes of a
+    --  protected subprogram.
+ 
     procedure Add_Discriminal_Declarations
       (Decls : List_Id;
        Typ   : Entity_Id;
*************** package Exp_Ch9 is
*** 102,111 ****
     --  declarative part.
  
     function Build_Protected_Sub_Specification
!      (N           : Node_Id;
!       Prottyp     : Entity_Id;
!       Unprotected : Boolean := False)
!       return        Node_Id;
     --  Build specification for protected subprogram. This is called when
     --  expanding a protected type, and also when expanding the declaration for
     --  an Access_To_Protected_Subprogram type. In the latter case, Prottyp is
--- 109,117 ----
     --  declarative part.
  
     function Build_Protected_Sub_Specification
!      (N       : Node_Id;
!       Prottyp : Entity_Id;
!       Mode    : Subprogram_Protection_Mode) return Node_Id;
     --  Build specification for protected subprogram. This is called when
     --  expanding a protected type, and also when expanding the declaration for
     --  an Access_To_Protected_Subprogram type. In the latter case, Prottyp is
*************** package Exp_Ch9 is
*** 214,220 ****
     --  routine to make sure Complete_Master is called on exit).
  
     procedure Expand_Access_Protected_Subprogram_Type (N : Node_Id);
!    --  Build Equivalent_Type for an Access_to_protected_Subprogram.
  
     procedure Expand_Accept_Declarations (N : Node_Id; Ent : Entity_Id);
     --  Expand declarations required for accept statement. See bodies of
--- 220,226 ----
     --  routine to make sure Complete_Master is called on exit).
  
     procedure Expand_Access_Protected_Subprogram_Type (N : Node_Id);
!    --  Build Equivalent_Type for an Access_to_protected_Subprogram
  
     procedure Expand_Accept_Declarations (N : Node_Id; Ent : Entity_Id);
     --  Expand declarations required for accept statement. See bodies of
*************** package Exp_Ch9 is
*** 305,317 ****
     --  protected type.
  
     procedure Set_Privals
!       (Dec : Node_Id;
!        Op  : Node_Id;
!        Loc : Source_Ptr);
     --  Associates a new set of privals (placeholders for later access to
     --  private components of protected objects) with the private object
     --  declarations of a protected object. These will be used to expand
     --  the references to private objects in the next protected
     --  subprogram or entry body to be expanded.
  
  end Exp_Ch9;
--- 311,331 ----
     --  protected type.
  
     procedure Set_Privals
!       (Dec           : Node_Id;
!        Op            : Node_Id;
!        Loc           : Source_Ptr;
!        After_Barrier : Boolean := False);
     --  Associates a new set of privals (placeholders for later access to
     --  private components of protected objects) with the private object
     --  declarations of a protected object. These will be used to expand
     --  the references to private objects in the next protected
     --  subprogram or entry body to be expanded.
+    --
+    --  The flag After_Barrier indicates whether this is called after building
+    --  the barrier function for an entry body. This flag determines whether
+    --  the privals should have source names (which simplifies debugging) or
+    --  internally generated names. Entry barriers contain no debuggable code,
+    --  and there may be visibility conflicts between an entry index and a
+    --  a prival, so  privals for barrier function have internal names.
  
  end Exp_Ch9;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_code.adb gcc-4.1.0/gcc/ada/exp_code.adb
*** gcc-4.0.2/gcc/ada/exp_code.adb	Mon Jun  7 14:16:18 2004
--- gcc-4.1.0/gcc/ada/exp_code.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_code.ads gcc-4.1.0/gcc/ada/exp_code.ads
*** gcc-4.0.2/gcc/ada/exp_code.ads	Thu Apr 24 17:54:00 2003
--- gcc-4.1.0/gcc/ada/exp_code.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_dbug.adb gcc-4.1.0/gcc/ada/exp_dbug.adb
*** gcc-4.0.2/gcc/ada/exp_dbug.adb	Thu Feb 10 13:50:42 2005
--- gcc-4.1.0/gcc/ada/exp_dbug.adb	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Einfo;    use Einfo;
*** 31,37 ****
  with Namet;    use Namet;
  with Nlists;   use Nlists;
  with Nmake;    use Nmake;
! with Opt;
  with Output;   use Output;
  with Sem_Eval; use Sem_Eval;
  with Sem_Util; use Sem_Util;
--- 31,37 ----
  with Namet;    use Namet;
  with Nlists;   use Nlists;
  with Nmake;    use Nmake;
! with Opt;      use Opt;
  with Output;   use Output;
  with Sem_Eval; use Sem_Eval;
  with Sem_Util; use Sem_Util;
*************** package body Exp_Dbug is
*** 134,140 ****
     --  used to determine whether encoding is required for a discrete type.
  
     procedure Output_Homonym_Numbers_Suffix;
!    --  If homonym numbers are stored, then output them into Name_Buffer.
  
     procedure Prepend_String_To_Buffer (S : String);
     --  Prepend given string to the contents of the string buffer, updating
--- 134,140 ----
     --  used to determine whether encoding is required for a discrete type.
  
     procedure Output_Homonym_Numbers_Suffix;
!    --  If homonym numbers are stored, then output them into Name_Buffer
  
     procedure Prepend_String_To_Buffer (S : String);
     --  Prepend given string to the contents of the string buffer, updating
*************** package body Exp_Dbug is
*** 250,258 ****
        then
           return True;
  
!       --  Here we check if the static bounds match the natural size, which
!       --  is the size passed through with the debugging information. This
!       --  is the Esize rounded up to 8, 16, 32 or 64 as appropriate.
  
        else
           declare
--- 250,258 ----
        then
           return True;
  
!       --  Here we check if the static bounds match the natural size, which is
!       --  the size passed through with the debugging information. This is the
!       --  Esize rounded up to 8, 16, 32 or 64 as appropriate.
  
        else
           declare
*************** package body Exp_Dbug is
*** 305,316 ****
        Def : Entity_Id;
  
        function Output_Subscript (N : Node_Id; S : String) return Boolean;
!       --  Outputs a single subscript value as ?nnn (subscript is compile
!       --  time known value with value nnn) or as ?e (subscript is local
!       --  constant with name e), where S supplies the proper string to
!       --  use for ?. Returns False if the subscript is not of an appropriate
!       --  type to output in one of these two forms. The result is prepended
!       --  to the name stored in Name_Buffer.
  
        ----------------------
        -- Output_Subscript --
--- 305,316 ----
        Def : Entity_Id;
  
        function Output_Subscript (N : Node_Id; S : String) return Boolean;
!       --  Outputs a single subscript value as ?nnn (subscript is compile time
!       --  known value with value nnn) or as ?e (subscript is local constant
!       --  with name e), where S supplies the proper string to use for ?.
!       --  Returns False if the subscript is not of an appropriate type to
!       --  output in one of these two forms. The result is prepended to the
!       --  name stored in Name_Buffer.
  
        ----------------------
        -- Output_Subscript --
*************** package body Exp_Dbug is
*** 358,366 ****
           when N_Package_Renaming_Declaration =>
              Add_Str_To_Name_Buffer ("___XRP");
  
!             --  If it is a child unit create a fully qualified name,
!             --  to disambiguate multiple child units with the same
!             --  name and different parents.
  
              if Is_Child_Unit (Ent) then
                 Prepend_String_To_Buffer ("__");
--- 358,366 ----
           when N_Package_Renaming_Declaration =>
              Add_Str_To_Name_Buffer ("___XRP");
  
!             --  If it is a child unit create a fully qualified name, to
!             --  disambiguate multiple child units with the same name and
!             --  different parents.
  
              if Is_Child_Unit (Ent) then
                 Prepend_String_To_Buffer ("__");
*************** package body Exp_Dbug is
*** 386,393 ****
  
              when N_Expanded_Name =>
  
!                --  The entity field for an N_Expanded_Name is on the
!                --  expanded name node itself, so we are done here too.
  
                 exit;
  
--- 386,393 ----
  
              when N_Expanded_Name =>
  
!                --  The entity field for an N_Expanded_Name is on the expanded
!                --  name node itself, so we are done here too.
  
                 exit;
  
*************** package body Exp_Dbug is
*** 492,497 ****
--- 492,506 ----
        Has_Suffix : Boolean;
  
     begin
+       --  If not generating code, there is no need to create encoded
+       --  names, and problems when the back-end is called to annotate
+       --  types without full code generation. See comments at beginning
+       --  of Get_External_Name_With_Suffix for additional details.
+ 
+       if Operating_Mode /= Generate_Code then
+          return;
+       end if;
+ 
        Get_Name_String (Chars (E));
  
        --  Nothing to do if we do not have a type
*************** package body Exp_Dbug is
*** 553,564 ****
        elsif Is_Discrete_Type (E)
          and then not Bounds_Match_Size (E)
        then
-          if Has_Biased_Representation (E) then
-             Get_External_Name_With_Suffix (E, "XB");
-          else
-             Get_External_Name_With_Suffix (E, "XD");
-          end if;
- 
           declare
              Lo : constant Node_Id := Type_Low_Bound (E);
              Hi : constant Node_Id := Type_High_Bound (E);
--- 562,567 ----
*************** package body Exp_Dbug is
*** 579,594 ****
              Lo_Encode : constant Boolean := Lo_Con or Lo_Discr;
              Hi_Encode : constant Boolean := Hi_Con or Hi_Discr;
  
           begin
              if Lo_Encode or Hi_Encode then
!                if Lo_Encode then
!                   if Hi_Encode then
!                      Add_Str_To_Name_Buffer ("LU_");
                    else
!                      Add_Str_To_Name_Buffer ("L_");
                    end if;
-                else
-                   Add_Str_To_Name_Buffer ("U_");
                 end if;
  
                 if Lo_Con then
--- 582,609 ----
              Lo_Encode : constant Boolean := Lo_Con or Lo_Discr;
              Hi_Encode : constant Boolean := Hi_Con or Hi_Discr;
  
+             Biased : constant Boolean := Has_Biased_Representation (E);
+ 
           begin
+             if Biased then
+                Get_External_Name_With_Suffix (E, "XB");
+             else
+                Get_External_Name_With_Suffix (E, "XD");
+             end if;
+ 
              if Lo_Encode or Hi_Encode then
!                if Biased then
!                   Add_Str_To_Name_Buffer ("_");
!                else
!                   if Lo_Encode then
!                      if Hi_Encode then
!                         Add_Str_To_Name_Buffer ("LU_");
!                      else
!                         Add_Str_To_Name_Buffer ("L_");
!                      end if;
                    else
!                      Add_Str_To_Name_Buffer ("U_");
                    end if;
                 end if;
  
                 if Lo_Con then
*************** package body Exp_Dbug is
*** 698,703 ****
--- 713,719 ----
           --  If this is a library level subprogram (i.e. a subprogram that is a
           --  compilation unit other than a subunit), then we prepend _ada_ to
           --  ensure distinctions required as described in the spec.
+ 
           --  Check explicitly for child units, because those are not flagged
           --  as Compilation_Units by lib. Should they be ???
  
*************** package body Exp_Dbug is
*** 738,757 ****
        Suffix : String)
     is
        Has_Suffix : constant Boolean := (Suffix /= "");
-       use type Opt.Operating_Mode_Type;
  
     begin
!       if Opt.Operating_Mode /= Opt.Generate_Code then
  
!          --  If we are not in code generation mode, we still may call this
!          --  procedure from Back_End (more specifically - from gigi for doing
!          --  type representation annotation or some representation-specific
!          --  checks). But in this mode there is no need to mess with external
!          --  names. Furthermore, the call causes difficulties in this case
!          --  because the string representing the homonym number is not
!          --  correctly reset as a part of the call to
!          --  Output_Homonym_Numbers_Suffix (which is not called in gigi)
  
           return;
        end if;
  
--- 754,772 ----
        Suffix : String)
     is
        Has_Suffix : constant Boolean := (Suffix /= "");
  
     begin
!       --  If we are not in code generation mode, this procedure may still be
!       --  called from Back_End (more specifically - from gigi for doing type
!       --  representation annotation or some representation-specific checks).
!       --  But in this mode there is no need to mess with external names.
  
!       --  Furthermore, the call causes difficulties in this case because the
!       --  string representing the homonym number is not correctly reset as a
!       --  part of the call to Output_Homonym_Numbers_Suffix (which is not
!       --  called in gigi).
  
+       if Operating_Mode /= Generate_Code then
           return;
        end if;
  
*************** package body Exp_Dbug is
*** 760,766 ****
        if Has_Suffix then
           Add_Str_To_Name_Buffer ("___");
           Add_Str_To_Name_Buffer (Suffix);
- 
           Name_Buffer (Name_Len + 1) := ASCII.Nul;
        end if;
     end Get_External_Name_With_Suffix;
--- 775,780 ----
*************** package body Exp_Dbug is
*** 782,790 ****
  
        procedure Choice_Val (Typ : Character; Choice : Node_Id) is
        begin
-          Add_Char_To_Name_Buffer (Typ);
- 
           if Nkind (Choice) = N_Integer_Literal then
              Add_Uint_To_Buffer (Intval (Choice));
  
           --  Character literal with no entity present (this is the case
--- 796,803 ----
  
        procedure Choice_Val (Typ : Character; Choice : Node_Id) is
        begin
           if Nkind (Choice) = N_Integer_Literal then
+             Add_Char_To_Name_Buffer (Typ);
              Add_Uint_To_Buffer (Intval (Choice));
  
           --  Character literal with no entity present (this is the case
*************** package body Exp_Dbug is
*** 793,798 ****
--- 806,812 ----
           elsif Nkind (Choice) = N_Character_Literal
             and then No (Entity (Choice))
           then
+             Add_Char_To_Name_Buffer (Typ);
              Add_Uint_To_Buffer (Char_Literal_Value (Choice));
  
           else
*************** package body Exp_Dbug is
*** 801,806 ****
--- 815,821 ----
  
              begin
                 if Ekind (Ent) = E_Enumeration_Literal then
+                   Add_Char_To_Name_Buffer (Typ);
                    Add_Uint_To_Buffer (Enumeration_Rep (Ent));
  
                 else
*************** package body Exp_Dbug is
*** 866,871 ****
--- 881,919 ----
        end if;
     end Get_Variant_Encoding;
  
+    ------------------------------------
+    -- Get_Secondary_DT_External_Name --
+    ------------------------------------
+ 
+    procedure Get_Secondary_DT_External_Name
+      (Typ             : Entity_Id;
+       Ancestor_Typ    : Entity_Id;
+       Suffix_Index    : Int) is
+    begin
+       Get_External_Name (Typ, Has_Suffix => False);
+ 
+       if Ancestor_Typ /= Typ then
+          declare
+             Len      : constant Natural := Name_Len;
+             Save_Str : constant String (1 .. Name_Len)
+                          := Name_Buffer (1 .. Name_Len);
+          begin
+             Get_External_Name (Ancestor_Typ, Has_Suffix => False);
+ 
+             --  Append the extended name of the ancestor to the
+             --  extended name of Typ
+ 
+             Name_Buffer (Len + 2 .. Len + Name_Len + 1) :=
+               Name_Buffer (1 .. Name_Len);
+             Name_Buffer (1 .. Len) := Save_Str;
+             Name_Buffer (Len + 1) := '_';
+             Name_Len := Len + Name_Len + 1;
+          end;
+       end if;
+ 
+       Add_Nat_To_Name_Buffer (Suffix_Index);
+    end Get_Secondary_DT_External_Name;
+ 
     ---------------------------------
     -- Make_Packed_Array_Type_Name --
     ---------------------------------
*************** package body Exp_Dbug is
*** 1152,1158 ****
           else
              Add_Char_To_Name_Buffer ('X');
           end if;
- 
        end Set_BNPE_Suffix;
  
        ---------------------
--- 1200,1205 ----
*************** package body Exp_Dbug is
*** 1324,1330 ****
              exit;
           end if;
        end loop;
- 
     end Strip_Suffixes;
  
  end Exp_Dbug;
--- 1371,1376 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_dbug.ads gcc-4.1.0/gcc/ada/exp_dbug.ads
*** gcc-4.0.2/gcc/ada/exp_dbug.ads	Fri Nov 19 10:57:35 2004
--- gcc-4.1.0/gcc/ada/exp_dbug.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1996-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1996-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Exp_Dbug is
*** 89,95 ****
     --    x
     --    y.z
  
!    --  The separating dots are translated into double underscores.
  
        -----------------------------
        -- Handling of Overloading --
--- 89,95 ----
     --    x
     --    y.z
  
!    --  The separating dots are translated into double underscores
  
        -----------------------------
        -- Handling of Overloading --
*************** package Exp_Dbug is
*** 360,366 ****
        --  Operations generated for protected entries follow the same encoding.
        --  Each entry results in two suprograms: a procedure that holds the
        --  entry body, and a function that holds the evaluation of the barrier.
!       --  The names of these subprograms include the prefix 'E' or 'B' res-
        --  pectively. The names also include a numeric suffix to render them
        --  unique in the presence of overloaded entries.
  
--- 360,366 ----
        --  Operations generated for protected entries follow the same encoding.
        --  Each entry results in two suprograms: a procedure that holds the
        --  entry body, and a function that holds the evaluation of the barrier.
!       --  The names of these subprograms include the prefix '_E' or '_B' res-
        --  pectively. The names also include a numeric suffix to render them
        --  unique in the presence of overloaded entries.
  
*************** package Exp_Dbug is
*** 382,389 ****
        --    lock_setN
        --    lock_setP
  
!       --    lock_update1sE
!       --    lock_udpate2sB
  
     ----------------------------------------------------
     -- Conversion between Entities and External Names --
--- 382,411 ----
        --    lock_setN
        --    lock_setP
  
!       --    lock_update_E1s
!       --    lock_udpate_B2s
! 
!       --  If the protected type implements at least one interface, the
!       --  following additional operations are created:
! 
!       --    lock_get
! 
!       --    lock_set
! 
!       --  These operations are used to ensure overriding of interface level
!       --  subprograms and proper dispatching on interface class-wide objects.
!       --  The bodies of these operations contain calls to their respective
!       --  protected versions:
! 
!       --    function lock_get return Integer is
!       --    begin
!       --       return lock_getP;
!       --    end lock_get;
! 
!       --    procedure lock_set (X : Integer) is
!       --    begin
!       --       lock_setP (X);
!       --    end lock_set;
  
     ----------------------------------------------------
     -- Conversion between Entities and External Names --
*************** package Exp_Dbug is
*** 432,439 ****
     --        or is defined within an overloaded subprogram.
     --    - the string "___" followed by Suffix
     --
!    --  If this procedure is called in the ASIS mode, it does nothing. See the
!    --  comments in the body for more details.
  
     --------------------------------------------
     -- Subprograms for Handling Qualification --
--- 454,462 ----
     --        or is defined within an overloaded subprogram.
     --    - the string "___" followed by Suffix
     --
!    --  Note that a call to this procedure has no effect if we are not
!    --  generating code, since the necessary information for computing the
!    --  proper encoded name is not available in this case.
  
     --------------------------------------------
     -- Subprograms for Handling Qualification --
*************** package Exp_Dbug is
*** 515,520 ****
--- 538,549 ----
        --  field, and neither the outer structure name, nor the field name
        --  should appear when the value is printed.
  
+       --  When the debugger sees a record named REP being a field inside
+       --  another record, it should treat the fields inside REP as being
+       --  part of the outer record (this REP field is only present for
+       --  code generation purposes). The REP record should not appear in
+       --  the values printed by the debugger.
+ 
        -----------------------
        -- Fixed-Point Types --
        -----------------------
*************** package Exp_Dbug is
*** 685,693 ****
        --  follows. In this description, let P represent the current
        --  bit position in the record.
  
!       --    1. Initialize P to 0.
  
!       --    2. For each field in the record,
  
        --       2a. If an alignment is given (see below), then round P
        --       up, if needed, to the next multiple of that alignment.
--- 714,722 ----
        --  follows. In this description, let P represent the current
        --  bit position in the record.
  
!       --    1. Initialize P to 0
  
!       --    2. For each field in the record:
  
        --       2a. If an alignment is given (see below), then round P
        --       up, if needed, to the next multiple of that alignment.
*************** package Exp_Dbug is
*** 696,702 ****
        --       amount (that is, treat it as an offset from the end of the
        --       preceding record).
  
!       --       2c. Assign P as the actual position of the field.
  
        --       2d. Compute the length, L, of the represented field (see below)
        --       and compute P'=P+L. Unless the field represents a variant part
--- 725,731 ----
        --       amount (that is, treat it as an offset from the end of the
        --       preceding record).
  
!       --       2c. Assign P as the actual position of the field
  
        --       2d. Compute the length, L, of the represented field (see below)
        --       and compute P'=P+L. Unless the field represents a variant part
*************** package Exp_Dbug is
*** 923,933 ****
     -------------------------------------------------
  
     procedure Get_Encoded_Name (E : Entity_Id);
!    --  If the entity is a typename, store the external name of
!    --  the entity as in Get_External_Name, followed by three underscores
!    --  plus the type encoding in Name_Buffer with the length in Name_Len,
!    --  and an ASCII.NUL character stored following the name.
!    --  Otherwise set Name_Buffer and Name_Len to hold the entity name.
  
     --------------
     -- Renaming --
--- 952,964 ----
     -------------------------------------------------
  
     procedure Get_Encoded_Name (E : Entity_Id);
!    --  If the entity is a typename, store the external name of the entity as in
!    --  Get_External_Name, followed by three underscores plus the type encoding
!    --  in Name_Buffer with the length in Name_Len, and an ASCII.NUL character
!    --  stored following the name. Otherwise set Name_Buffer and Name_Len to
!    --  hold the entity name. Note that a call to this procedure has no effect
!    --  if we are not generating code, since the necessary information for
!    --  computing the proper encoded name is not available in this case.
  
     --------------
     -- Renaming --
*************** package Exp_Dbug is
*** 960,966 ****
     --  name of the parent unit, to disambiguate child units with the same
     --  simple name and (of necessity) different parents.
  
!    --  Note: subprogram renamings are not encoded at the present time.
  
     --  The type is an enumeration type with a single enumeration literal
     --  that is an identifier which describes the renamed variable.
--- 991,997 ----
     --  name of the parent unit, to disambiguate child units with the same
     --  simple name and (of necessity) different parents.
  
!    --  Note: subprogram renamings are not encoded at the present time
  
     --  The type is an enumeration type with a single enumeration literal
     --  that is an identifier which describes the renamed variable.
*************** package Exp_Dbug is
*** 1407,1412 ****
--- 1438,1503 ----
     --  the second enumeration literal would be named QU43 and the
     --  value assigned to it would be 1.
  
+    -----------------------------------------------
+    -- Secondary Dispatch tables of tagged types --
+    -----------------------------------------------
+ 
+    procedure Get_Secondary_DT_External_Name
+      (Typ          : Entity_Id;
+       Ancestor_Typ : Entity_Id;
+       Suffix_Index : Int);
+    --  Set Name_Buffer and Name_Len to the external name of one secondary
+    --  dispatch table of Typ. If the interface has been inherited from some
+    --  ancestor then Ancestor_Typ is such node (in this case the secondary
+    --  DT is needed to handle overriden primitives); if there is no such
+    --  ancestor then  Ancestor_Typ is equal to Typ.
+    --
+    --  Internal rule followed for the generation of the external name:
+    --
+    --  Case 1. If the secondary dispatch has not been inherited from some
+    --          ancestor of Typ then the external name is composed as
+    --          follows:
+    --             External_Name (Typ) + Suffix_Number + 'P'
+    --
+    --  Case 2. if the secondary dispatch table has been inherited from some
+    --          ancestor then the external name is composed as follows:
+    --             External_Name (Typ) + '_' + External_Name (Ancestor_Typ)
+    --               + Suffix_Number + 'P'
+    --
+    --  Note: We have to use the external names (instead of simply their
+    --  names) to protect the frontend against programs that give the same
+    --  name to all the interfaces and use the expanded name to reference
+    --  them. The Suffix_Number is used to differentiate all the secondary
+    --  dispatch tables of a given type.
+    --
+    --  Examples:
+    --
+    --        package Pkg1 is | package Pkg2 is | package Pkg3 is
+    --          type Typ is   |   type Typ is   |   type Typ is
+    --            interface;  |     interface;  |     interface;
+    --        end Pkg1;       | end Pkg;        | end Pkg3;
+    --
+    --  with Pkg1, Pkg2, Pkg3;
+    --  package Case_1 is
+    --    type Typ is new Pkg1.Typ and Pkg2.Typ and Pkg3.Typ with ...
+    --  end Case_1;
+    --
+    --  with Case_1;
+    --  package Case_2 is
+    --    type Typ is new Case_1.Typ with ...
+    --  end Case_2;
+    --
+    --  These are the external names generated for Case_1.Typ (note that
+    --  Pkg1.Typ is associated with the Primary Dispatch Table, because it
+    --  is the the parent of this type, and hence no external name is
+    --  generated for it).
+    --      case_1__typ0P   (associated with Pkg2.Typ)
+    --      case_1__typ1P   (associated with Pkg3.Typ)
+    --
+    --  These are the external names generated for Case_2.Typ:
+    --      case_2__typ_case_1__typ0P
+    --      case_2__typ_case_1__typ1P
+ 
     ----------------------------
     -- Effect of Optimization --
     ----------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_disp.adb gcc-4.1.0/gcc/ada/exp_disp.adb
*** gcc-4.0.2/gcc/ada/exp_disp.adb	Thu Feb 10 13:50:43 2005
--- gcc-4.1.0/gcc/ada/exp_disp.adb	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 26,46 ****
  
  with Atree;    use Atree;
  with Checks;   use Checks;
  with Einfo;    use Einfo;
  with Elists;   use Elists;
  with Errout;   use Errout;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Tss;  use Exp_Tss;
  with Exp_Util; use Exp_Util;
- with Fname;    use Fname;
  with Itypes;   use Itypes;
- with Lib;      use Lib;
  with Nlists;   use Nlists;
  with Nmake;    use Nmake;
  with Opt;      use Opt;
  with Rtsfind;  use Rtsfind;
  with Sem_Disp; use Sem_Disp;
  with Sem_Res;  use Sem_Res;
  with Sem_Util; use Sem_Util;
  with Sinfo;    use Sinfo;
  with Snames;   use Snames;
--- 26,50 ----
  
  with Atree;    use Atree;
  with Checks;   use Checks;
+ with Debug;    use Debug;
  with Einfo;    use Einfo;
  with Elists;   use Elists;
  with Errout;   use Errout;
  with Exp_Ch7;  use Exp_Ch7;
+ with Exp_Dbug; use Exp_Dbug;
  with Exp_Tss;  use Exp_Tss;
  with Exp_Util; use Exp_Util;
  with Itypes;   use Itypes;
  with Nlists;   use Nlists;
  with Nmake;    use Nmake;
+ with Namet;    use Namet;
  with Opt;      use Opt;
+ with Output;   use Output;
  with Rtsfind;  use Rtsfind;
+ with Sem;      use Sem;
  with Sem_Disp; use Sem_Disp;
  with Sem_Res;  use Sem_Res;
+ with Sem_Type; use Sem_Type;
  with Sem_Util; use Sem_Util;
  with Sinfo;    use Sinfo;
  with Snames;   use Snames;
*************** with Uintp;    use Uintp;
*** 50,147 ****
  
  package body Exp_Disp is
  
     Ada_Actions : constant array (DT_Access_Action) of RE_Id :=
        (CW_Membership           => RE_CW_Membership,
         DT_Entry_Size           => RE_DT_Entry_Size,
         DT_Prologue_Size        => RE_DT_Prologue_Size,
!        Get_Expanded_Name       => RE_Get_Expanded_Name,
         Get_External_Tag        => RE_Get_External_Tag,
         Get_Prim_Op_Address     => RE_Get_Prim_Op_Address,
         Get_RC_Offset           => RE_Get_RC_Offset,
         Get_Remotely_Callable   => RE_Get_Remotely_Callable,
-        Get_TSD                 => RE_Get_TSD,
         Inherit_DT              => RE_Inherit_DT,
         Inherit_TSD             => RE_Inherit_TSD,
         Register_Tag            => RE_Register_Tag,
         Set_Expanded_Name       => RE_Set_Expanded_Name,
         Set_External_Tag        => RE_Set_External_Tag,
         Set_Prim_Op_Address     => RE_Set_Prim_Op_Address,
         Set_RC_Offset           => RE_Set_RC_Offset,
         Set_Remotely_Callable   => RE_Set_Remotely_Callable,
         Set_TSD                 => RE_Set_TSD,
         TSD_Entry_Size          => RE_TSD_Entry_Size,
         TSD_Prologue_Size       => RE_TSD_Prologue_Size);
  
-    CPP_Actions : constant array (DT_Access_Action) of RE_Id :=
-       (CW_Membership           => RE_CPP_CW_Membership,
-        DT_Entry_Size           => RE_CPP_DT_Entry_Size,
-        DT_Prologue_Size        => RE_CPP_DT_Prologue_Size,
-        Get_Expanded_Name       => RE_CPP_Get_Expanded_Name,
-        Get_External_Tag        => RE_CPP_Get_External_Tag,
-        Get_Prim_Op_Address     => RE_CPP_Get_Prim_Op_Address,
-        Get_RC_Offset           => RE_CPP_Get_RC_Offset,
-        Get_Remotely_Callable   => RE_CPP_Get_Remotely_Callable,
-        Get_TSD                 => RE_CPP_Get_TSD,
-        Inherit_DT              => RE_CPP_Inherit_DT,
-        Inherit_TSD             => RE_CPP_Inherit_TSD,
-        Register_Tag            => RE_CPP_Register_Tag,
-        Set_Expanded_Name       => RE_CPP_Set_Expanded_Name,
-        Set_External_Tag        => RE_CPP_Set_External_Tag,
-        Set_Prim_Op_Address     => RE_CPP_Set_Prim_Op_Address,
-        Set_RC_Offset           => RE_CPP_Set_RC_Offset,
-        Set_Remotely_Callable   => RE_CPP_Set_Remotely_Callable,
-        Set_TSD                 => RE_CPP_Set_TSD,
-        TSD_Entry_Size          => RE_CPP_TSD_Entry_Size,
-        TSD_Prologue_Size       => RE_CPP_TSD_Prologue_Size);
- 
     Action_Is_Proc : constant array (DT_Access_Action) of Boolean :=
        (CW_Membership           => False,
         DT_Entry_Size           => False,
         DT_Prologue_Size        => False,
!        Get_Expanded_Name       => False,
         Get_External_Tag        => False,
         Get_Prim_Op_Address     => False,
         Get_Remotely_Callable   => False,
         Get_RC_Offset           => False,
-        Get_TSD                 => False,
         Inherit_DT              => True,
         Inherit_TSD             => True,
         Register_Tag            => True,
         Set_Expanded_Name       => True,
         Set_External_Tag        => True,
         Set_Prim_Op_Address     => True,
         Set_RC_Offset           => True,
         Set_Remotely_Callable   => True,
         Set_TSD                 => True,
         TSD_Entry_Size          => False,
         TSD_Prologue_Size       => False);
  
     Action_Nb_Arg : constant array (DT_Access_Action) of Int :=
        (CW_Membership           => 2,
         DT_Entry_Size           => 0,
         DT_Prologue_Size        => 0,
!        Get_Expanded_Name       => 1,
         Get_External_Tag        => 1,
         Get_Prim_Op_Address     => 2,
         Get_RC_Offset           => 1,
         Get_Remotely_Callable   => 1,
-        Get_TSD                 => 1,
         Inherit_DT              => 3,
         Inherit_TSD             => 2,
         Register_Tag            => 1,
         Set_Expanded_Name       => 2,
         Set_External_Tag        => 2,
         Set_Prim_Op_Address     => 3,
         Set_RC_Offset           => 2,
         Set_Remotely_Callable   => 2,
         Set_TSD                 => 2,
         TSD_Entry_Size          => 0,
         TSD_Prologue_Size       => 0);
  
     function Original_View_In_Visible_Part (Typ : Entity_Id) return Boolean;
     --  Check if the type has a private view or if the public view appears
     --  in the visible part of a package spec.
  
     -----------------------------
     -- Expand_Dispatching_Call --
     -----------------------------
--- 54,582 ----
  
  package body Exp_Disp is
  
+    --------------------------------
+    -- Select_Expansion_Utilities --
+    --------------------------------
+ 
+    --  The following package contains helper routines used in the expansion of
+    --  dispatching asynchronous, conditional and timed selects.
+ 
+    package Select_Expansion_Utilities is
+       procedure Build_B
+         (Loc    : Source_Ptr;
+          Params : List_Id);
+       --  Generate:
+       --    B : out Communication_Block
+ 
+       procedure Build_C
+         (Loc    : Source_Ptr;
+          Params : List_Id);
+       --  Generate:
+       --    C : out Prim_Op_Kind
+ 
+       procedure Build_Common_Dispatching_Select_Statements
+         (Loc    : Source_Ptr;
+          Typ    : Entity_Id;
+          DT_Ptr : Entity_Id;
+          Stmts  : List_Id);
+       --  Ada 2005 (AI-345): Generate statements that are common between
+       --  asynchronous, conditional and timed select expansion.
+ 
+       procedure Build_F
+         (Loc    : Source_Ptr;
+          Params : List_Id);
+       --  Generate:
+       --    F : out Boolean
+ 
+       procedure Build_P
+         (Loc    : Source_Ptr;
+          Params : List_Id);
+       --  Generate:
+       --    P : Address
+ 
+       procedure Build_S
+         (Loc    : Source_Ptr;
+          Params : List_Id);
+       --  Generate:
+       --    S : Integer
+ 
+       procedure Build_T
+         (Loc    : Source_Ptr;
+          Typ    : Entity_Id;
+          Params : List_Id);
+       --  Generate:
+       --    T : in out Typ
+    end Select_Expansion_Utilities;
+ 
+    package body Select_Expansion_Utilities is
+ 
+       -------------
+       -- Build_B --
+       -------------
+ 
+       procedure Build_B
+         (Loc    : Source_Ptr;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uB),
+              Parameter_Type =>
+                New_Reference_To (RTE (RE_Communication_Block), Loc),
+              Out_Present => True));
+       end Build_B;
+ 
+       -------------
+       -- Build_C --
+       -------------
+ 
+       procedure Build_C
+         (Loc    : Source_Ptr;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uC),
+              Parameter_Type =>
+                New_Reference_To (RTE (RE_Prim_Op_Kind), Loc),
+              Out_Present => True));
+       end Build_C;
+ 
+       ------------------------------------------------
+       -- Build_Common_Dispatching_Select_Statements --
+       ------------------------------------------------
+ 
+       procedure Build_Common_Dispatching_Select_Statements
+         (Loc   : Source_Ptr;
+          Typ   : Entity_Id;
+          DT_Ptr : Entity_Id;
+          Stmts : List_Id)
+       is
+       begin
+          --  Generate:
+          --    C := get_prim_op_kind (tag! (<type>VP), S);
+ 
+          --  where C is the out parameter capturing the call kind and S is the
+          --  dispatch table slot number.
+ 
+          Append_To (Stmts,
+            Make_Assignment_Statement (Loc,
+              Name =>
+                Make_Identifier (Loc, Name_uC),
+              Expression =>
+                Make_DT_Access_Action (Typ,
+                  Action =>
+                    Get_Prim_Op_Kind,
+                  Args =>
+                    New_List (
+                      Unchecked_Convert_To (RTE (RE_Tag),
+                        New_Reference_To (DT_Ptr, Loc)),
+                      Make_Identifier (Loc, Name_uS)))));
+ 
+          --  Generate:
+ 
+          --    if C = POK_Procedure
+          --      or else C = POK_Protected_Procedure
+          --      or else C = POK_Task_Procedure;
+          --    then
+          --       F := True;
+          --       return;
+ 
+          --  where F is the out parameter capturing the status of a potential
+          --  entry call.
+ 
+          Append_To (Stmts,
+            Make_If_Statement (Loc,
+ 
+              Condition =>
+                Make_Or_Else (Loc,
+                  Left_Opnd =>
+                    Make_Op_Eq (Loc,
+                      Left_Opnd =>
+                        Make_Identifier (Loc, Name_uC),
+                      Right_Opnd =>
+                        New_Reference_To (RTE (RE_POK_Procedure), Loc)),
+                  Right_Opnd =>
+                    Make_Or_Else (Loc,
+                      Left_Opnd =>
+                        Make_Op_Eq (Loc,
+                          Left_Opnd =>
+                            Make_Identifier (Loc, Name_uC),
+                          Right_Opnd =>
+                            New_Reference_To (RTE (
+                              RE_POK_Protected_Procedure), Loc)),
+                      Right_Opnd =>
+                        Make_Op_Eq (Loc,
+                          Left_Opnd =>
+                            Make_Identifier (Loc, Name_uC),
+                          Right_Opnd =>
+                            New_Reference_To (RTE (
+                              RE_POK_Task_Procedure), Loc)))),
+ 
+              Then_Statements =>
+                New_List (
+                  Make_Assignment_Statement (Loc,
+                    Name       => Make_Identifier (Loc, Name_uF),
+                    Expression => New_Reference_To (Standard_True, Loc)),
+ 
+                  Make_Return_Statement (Loc))));
+       end Build_Common_Dispatching_Select_Statements;
+ 
+       -------------
+       -- Build_F --
+       -------------
+ 
+       procedure Build_F
+         (Loc    : Source_Ptr;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uF),
+              Parameter_Type =>
+                New_Reference_To (Standard_Boolean, Loc),
+              Out_Present => True));
+       end Build_F;
+ 
+       -------------
+       -- Build_P --
+       -------------
+ 
+       procedure Build_P
+         (Loc    : Source_Ptr;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uP),
+              Parameter_Type =>
+                New_Reference_To (RTE (RE_Address), Loc)));
+       end Build_P;
+ 
+       -------------
+       -- Build_S --
+       -------------
+ 
+       procedure Build_S
+         (Loc    : Source_Ptr;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uS),
+              Parameter_Type =>
+                New_Reference_To (Standard_Integer, Loc)));
+       end Build_S;
+ 
+       -------------
+       -- Build_T --
+       -------------
+ 
+       procedure Build_T
+         (Loc    : Source_Ptr;
+          Typ    : Entity_Id;
+          Params : List_Id)
+       is
+       begin
+          Append_To (Params,
+            Make_Parameter_Specification (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uT),
+              Parameter_Type =>
+                New_Reference_To (Typ, Loc),
+              In_Present  => True,
+              Out_Present => True));
+       end Build_T;
+    end Select_Expansion_Utilities;
+ 
+    package SEU renames Select_Expansion_Utilities;
+ 
     Ada_Actions : constant array (DT_Access_Action) of RE_Id :=
        (CW_Membership           => RE_CW_Membership,
+        IW_Membership           => RE_IW_Membership,
         DT_Entry_Size           => RE_DT_Entry_Size,
         DT_Prologue_Size        => RE_DT_Prologue_Size,
!        Get_Access_Level        => RE_Get_Access_Level,
!        Get_Entry_Index         => RE_Get_Entry_Index,
         Get_External_Tag        => RE_Get_External_Tag,
+        Get_Offset_Index        => RE_Get_Offset_Index,
         Get_Prim_Op_Address     => RE_Get_Prim_Op_Address,
+        Get_Prim_Op_Kind        => RE_Get_Prim_Op_Kind,
         Get_RC_Offset           => RE_Get_RC_Offset,
         Get_Remotely_Callable   => RE_Get_Remotely_Callable,
         Inherit_DT              => RE_Inherit_DT,
         Inherit_TSD             => RE_Inherit_TSD,
+        Register_Interface_Tag  => RE_Register_Interface_Tag,
         Register_Tag            => RE_Register_Tag,
+        Set_Access_Level        => RE_Set_Access_Level,
+        Set_Entry_Index         => RE_Set_Entry_Index,
         Set_Expanded_Name       => RE_Set_Expanded_Name,
         Set_External_Tag        => RE_Set_External_Tag,
+        Set_Offset_Index        => RE_Set_Offset_Index,
+        Set_OSD                 => RE_Set_OSD,
         Set_Prim_Op_Address     => RE_Set_Prim_Op_Address,
+        Set_Prim_Op_Kind        => RE_Set_Prim_Op_Kind,
         Set_RC_Offset           => RE_Set_RC_Offset,
         Set_Remotely_Callable   => RE_Set_Remotely_Callable,
+        Set_SSD                 => RE_Set_SSD,
         Set_TSD                 => RE_Set_TSD,
         TSD_Entry_Size          => RE_TSD_Entry_Size,
         TSD_Prologue_Size       => RE_TSD_Prologue_Size);
  
     Action_Is_Proc : constant array (DT_Access_Action) of Boolean :=
        (CW_Membership           => False,
+        IW_Membership           => False,
         DT_Entry_Size           => False,
         DT_Prologue_Size        => False,
!        Get_Access_Level        => False,
!        Get_Entry_Index         => False,
         Get_External_Tag        => False,
+        Get_Offset_Index        => False,
         Get_Prim_Op_Address     => False,
+        Get_Prim_Op_Kind        => False,
         Get_Remotely_Callable   => False,
         Get_RC_Offset           => False,
         Inherit_DT              => True,
         Inherit_TSD             => True,
+        Register_Interface_Tag  => True,
         Register_Tag            => True,
+        Set_Access_Level        => True,
+        Set_Entry_Index         => True,
         Set_Expanded_Name       => True,
         Set_External_Tag        => True,
+        Set_Offset_Index        => True,
+        Set_OSD                 => True,
         Set_Prim_Op_Address     => True,
+        Set_Prim_Op_Kind        => True,
         Set_RC_Offset           => True,
         Set_Remotely_Callable   => True,
+        Set_SSD                 => True,
         Set_TSD                 => True,
         TSD_Entry_Size          => False,
         TSD_Prologue_Size       => False);
  
     Action_Nb_Arg : constant array (DT_Access_Action) of Int :=
        (CW_Membership           => 2,
+        IW_Membership           => 2,
         DT_Entry_Size           => 0,
         DT_Prologue_Size        => 0,
!        Get_Access_Level        => 1,
!        Get_Entry_Index         => 2,
         Get_External_Tag        => 1,
+        Get_Offset_Index        => 2,
         Get_Prim_Op_Address     => 2,
+        Get_Prim_Op_Kind        => 2,
         Get_RC_Offset           => 1,
         Get_Remotely_Callable   => 1,
         Inherit_DT              => 3,
         Inherit_TSD             => 2,
+        Register_Interface_Tag  => 2,
         Register_Tag            => 1,
+        Set_Access_Level        => 2,
+        Set_Entry_Index         => 3,
         Set_Expanded_Name       => 2,
         Set_External_Tag        => 2,
+        Set_Offset_Index        => 3,
+        Set_OSD                 => 2,
         Set_Prim_Op_Address     => 3,
+        Set_Prim_Op_Kind        => 3,
         Set_RC_Offset           => 2,
         Set_Remotely_Callable   => 2,
+        Set_SSD                 => 2,
         Set_TSD                 => 2,
         TSD_Entry_Size          => 0,
         TSD_Prologue_Size       => 0);
  
+    procedure Collect_All_Interfaces (T : Entity_Id);
+    --  Ada 2005 (AI-251): Collect the whole list of interfaces that are
+    --  directly or indirectly implemented by T. Used to compute the size
+    --  of the table of interfaces.
+ 
+    function Default_Prim_Op_Position (Subp : Entity_Id) return Uint;
+    --  Ada 2005 (AI-251): Returns the fixed position in the dispatch table
+    --  of the default primitive operations.
+ 
     function Original_View_In_Visible_Part (Typ : Entity_Id) return Boolean;
     --  Check if the type has a private view or if the public view appears
     --  in the visible part of a package spec.
  
+    function Prim_Op_Kind
+      (Prim : Entity_Id;
+       Typ  : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Determine the primitive operation kind of Prim
+    --  according to its type Typ. Return a reference to an RTE Prim_Op_Kind
+    --  enumeration value.
+ 
+    ----------------------------
+    -- Collect_All_Interfaces --
+    ----------------------------
+ 
+    procedure Collect_All_Interfaces (T : Entity_Id) is
+ 
+       procedure Add_Interface (Iface : Entity_Id);
+       --  Add the interface it if is not already in the list
+ 
+       procedure Collect (Typ   : Entity_Id);
+       --  Subsidiary subprogram used to traverse the whole list
+       --  of directly and indirectly implemented interfaces
+ 
+       -------------------
+       -- Add_Interface --
+       -------------------
+ 
+       procedure Add_Interface (Iface : Entity_Id) is
+          Elmt : Elmt_Id;
+ 
+       begin
+          Elmt := First_Elmt (Abstract_Interfaces (T));
+          while Present (Elmt) and then Node (Elmt) /= Iface loop
+             Next_Elmt (Elmt);
+          end loop;
+ 
+          if not Present (Elmt) then
+             Append_Elmt (Iface, Abstract_Interfaces (T));
+          end if;
+       end Add_Interface;
+ 
+       -------------
+       -- Collect --
+       -------------
+ 
+       procedure Collect (Typ : Entity_Id) is
+          Nod      : constant Node_Id := Type_Definition (Parent (Typ));
+          Id       : Node_Id;
+          Iface    : Entity_Id;
+          Ancestor : Entity_Id;
+ 
+       begin
+          pragma Assert (False
+             or else Nkind (Nod) = N_Derived_Type_Definition
+             or else Nkind (Nod) = N_Record_Definition);
+ 
+          if Nkind (Nod) = N_Record_Definition then
+             return;
+          end if;
+ 
+          --  Include the ancestor if we are generating the whole list
+          --  of interfaces. This is used to know the size of the table
+          --  that stores the tag of all the ancestor interfaces.
+ 
+          Ancestor := Etype (Typ);
+ 
+          if Is_Interface (Ancestor) then
+             Add_Interface (Ancestor);
+          end if;
+ 
+          if Ancestor /= Typ
+            and then Ekind (Ancestor) /= E_Record_Type_With_Private
+          then
+             Collect (Ancestor);
+          end if;
+ 
+          --  Traverse the graph of ancestor interfaces
+ 
+          if Is_Non_Empty_List (Interface_List (Nod)) then
+             Id := First (Interface_List (Nod));
+             while Present (Id) loop
+                Iface := Etype (Id);
+ 
+                if Is_Interface (Iface) then
+                   Add_Interface (Iface);
+                   Collect (Iface);
+                end if;
+ 
+                Next (Id);
+             end loop;
+          end if;
+       end Collect;
+ 
+    --  Start of processing for Collect_All_Interfaces
+ 
+    begin
+       Collect (T);
+    end Collect_All_Interfaces;
+ 
+    ------------------------------
+    -- Default_Prim_Op_Position --
+    ------------------------------
+ 
+    function Default_Prim_Op_Position (Subp : Entity_Id) return Uint is
+       TSS_Name : TSS_Name_Type;
+       E        : Entity_Id := Subp;
+ 
+    begin
+       --  Handle overriden subprograms
+ 
+       while Present (Alias (E)) loop
+          E := Alias (E);
+       end loop;
+ 
+       Get_Name_String (Chars (E));
+       TSS_Name :=
+         TSS_Name_Type
+           (Name_Buffer (Name_Len - TSS_Name'Length + 1 .. Name_Len));
+ 
+       if Chars (E) = Name_uSize then
+          return Uint_1;
+ 
+       elsif Chars (E) = Name_uAlignment then
+          return Uint_2;
+ 
+       elsif TSS_Name = TSS_Stream_Read then
+          return Uint_3;
+ 
+       elsif TSS_Name = TSS_Stream_Write then
+          return Uint_4;
+ 
+       elsif TSS_Name = TSS_Stream_Input then
+          return Uint_5;
+ 
+       elsif TSS_Name = TSS_Stream_Output then
+          return Uint_6;
+ 
+       elsif Chars (E) = Name_Op_Eq then
+          return Uint_7;
+ 
+       elsif Chars (E) = Name_uAssign then
+          return Uint_8;
+ 
+       elsif TSS_Name = TSS_Deep_Adjust then
+          return Uint_9;
+ 
+       elsif TSS_Name = TSS_Deep_Finalize then
+          return Uint_10;
+ 
+       elsif Ada_Version >= Ada_05 then
+          if Chars (E) = Name_uDisp_Asynchronous_Select then
+             return Uint_11;
+ 
+          elsif Chars (E) = Name_uDisp_Conditional_Select then
+             return Uint_12;
+ 
+          elsif Chars (E) = Name_uDisp_Get_Prim_Op_Kind then
+             return Uint_13;
+ 
+          elsif Chars (E) = Name_uDisp_Get_Task_Id then
+             return Uint_14;
+ 
+          elsif Chars (E) = Name_uDisp_Timed_Select then
+             return Uint_15;
+          end if;
+       end if;
+ 
+       raise Program_Error;
+    end Default_Prim_Op_Position;
+ 
     -----------------------------
     -- Expand_Dispatching_Call --
     -----------------------------
*************** package body Exp_Disp is
*** 201,209 ****
  
           else
              declare
!                Formal : Entity_Id := First_Formal (Subp);
  
              begin
                 while Present (Formal) loop
                    if Is_Controlling_Formal (Formal) then
                       if Is_Access_Type (Etype (Formal)) then
--- 636,645 ----
  
           else
              declare
!                Formal : Entity_Id;
  
              begin
+                Formal := First_Formal (Subp);
                 while Present (Formal) loop
                    if Is_Controlling_Formal (Formal) then
                       if Is_Access_Type (Etype (Formal)) then
*************** package body Exp_Disp is
*** 255,261 ****
        --  This capability of dispatching directly by tag is also needed by the
        --  implementation of AI-260 (for the generic dispatching constructors).
  
!       if Etype (Ctrl_Arg) = RTE (RE_Tag) then
           CW_Typ := Class_Wide_Type (Controlling_Type (Subp));
  
        elsif Is_Access_Type (Etype (Ctrl_Arg)) then
--- 691,699 ----
        --  This capability of dispatching directly by tag is also needed by the
        --  implementation of AI-260 (for the generic dispatching constructors).
  
!       if Etype (Ctrl_Arg) = RTE (RE_Tag)
!         or else Etype (Ctrl_Arg) = RTE (RE_Interface_Tag)
!       then
           CW_Typ := Class_Wide_Type (Controlling_Type (Subp));
  
        elsif Is_Access_Type (Etype (Ctrl_Arg)) then
*************** package body Exp_Disp is
*** 267,272 ****
--- 705,714 ----
  
        Typ := Root_Type (CW_Typ);
  
+       if Ekind (Typ) = E_Incomplete_Type then
+          Typ := Non_Limited_View (Typ);
+       end if;
+ 
        if not Is_Limited_Type (Typ) then
           Eq_Prim_Op := Find_Prim_Op (Typ, Name_Op_Eq);
        end if;
*************** package body Exp_Disp is
*** 278,324 ****
           New_Params := New_List;
           Param := First_Actual (Call_Node);
           while Present (Param) loop
! 
!             --  We assume that dispatching through the main dispatch table
!             --  (referenced by Tag_Component) doesn't require a displacement
!             --  so the expansion below is only done when dispatching on
!             --  another vtable pointer, in which case the first argument
!             --  is expanded into :
! 
!             --     typ!(Displaced_This (Address!(Param)))
! 
!             if Param = Ctrl_Arg
!               and then DTC_Entity (Subp) /= Tag_Component (Typ)
!             then
!                Append_To (New_Params,
! 
!                  Unchecked_Convert_To (Etype (Param),
!                    Make_Function_Call (Loc,
!                      Name => New_Reference_To (RTE (RE_Displaced_This), Loc),
!                      Parameter_Associations => New_List (
! 
!                      --  Current_This
! 
!                        Make_Unchecked_Type_Conversion (Loc,
!                          Subtype_Mark =>
!                            New_Reference_To (RTE (RE_Address), Loc),
!                          Expression   => Relocate_Node (Param)),
! 
!                      --  Vptr
! 
!                        Make_Selected_Component (Loc,
!                           Prefix => Duplicate_Subexpr (Ctrl_Arg),
!                           Selector_Name =>
!                             New_Reference_To (DTC_Entity (Subp), Loc)),
! 
!                      --  Position
! 
!                        Make_Integer_Literal (Loc, DT_Position (Subp))))));
! 
!             else
!                Append_To (New_Params, Relocate_Node (Param));
!             end if;
! 
              Next_Actual (Param);
           end loop;
  
--- 720,726 ----
           New_Params := New_List;
           Param := First_Actual (Call_Node);
           while Present (Param) loop
!             Append_To (New_Params, Relocate_Node (Param));
              Next_Actual (Param);
           end loop;
  
*************** package body Exp_Disp is
*** 390,403 ****
                           Make_Selected_Component (Loc,
                             Prefix => New_Value (Ctrl_Arg),
                             Selector_Name =>
!                              New_Reference_To (Tag_Component (Typ), Loc)),
  
                         Right_Opnd =>
                           Make_Selected_Component (Loc,
                             Prefix =>
                               Unchecked_Convert_To (Typ, New_Value (Param)),
                             Selector_Name =>
!                              New_Reference_To (Tag_Component (Typ), Loc))),
  
                     Then_Statements =>
                       New_List (New_Constraint_Error (Loc))));
--- 792,807 ----
                           Make_Selected_Component (Loc,
                             Prefix => New_Value (Ctrl_Arg),
                             Selector_Name =>
!                              New_Reference_To
!                                (First_Tag_Component (Typ), Loc)),
  
                         Right_Opnd =>
                           Make_Selected_Component (Loc,
                             Prefix =>
                               Unchecked_Convert_To (Typ, New_Value (Param)),
                             Selector_Name =>
!                              New_Reference_To
!                                (First_Tag_Component (Typ), Loc))),
  
                     Then_Statements =>
                       New_List (New_Constraint_Error (Loc))));
*************** package body Exp_Disp is
*** 499,505 ****
        --  use it directly.  Otherwise, the tag must be extracted from
        --  the controlling object.
  
!       if Etype (Ctrl_Arg) = RTE (RE_Tag) then
           Controlling_Tag := Duplicate_Subexpr (Ctrl_Arg);
  
        else
--- 903,911 ----
        --  use it directly.  Otherwise, the tag must be extracted from
        --  the controlling object.
  
!       if Etype (Ctrl_Arg) = RTE (RE_Tag)
!         or else Etype (Ctrl_Arg) = RTE (RE_Interface_Tag)
!       then
           Controlling_Tag := Duplicate_Subexpr (Ctrl_Arg);
  
        else
*************** package body Exp_Disp is
*** 527,561 ****
                Make_Integer_Literal (Loc, DT_Position (Subp)))));
  
        if Nkind (Call_Node) = N_Function_Call then
-          New_Call :=
-            Make_Function_Call (Loc,
-              Name => New_Call_Name,
-              Parameter_Associations => New_Params);
  
!          --  If this is a dispatching "=", we must first compare the tags so
!          --  we generate: x.tag = y.tag and then x = y
  
!          if Subp = Eq_Prim_Op then
              Param := First_Actual (Call_Node);
              New_Call :=
!               Make_And_Then (Loc,
!                 Left_Opnd =>
!                      Make_Op_Eq (Loc,
!                        Left_Opnd =>
!                          Make_Selected_Component (Loc,
!                            Prefix => New_Value (Param),
!                            Selector_Name =>
!                              New_Reference_To (Tag_Component (Typ), Loc)),
  
!                        Right_Opnd =>
!                          Make_Selected_Component (Loc,
!                            Prefix =>
!                              Unchecked_Convert_To (Typ,
!                                New_Value (Next_Actual (Param))),
!                            Selector_Name =>
!                              New_Reference_To (Tag_Component (Typ), Loc))),
  
!                 Right_Opnd => New_Call);
           end if;
  
        else
--- 933,996 ----
                Make_Integer_Literal (Loc, DT_Position (Subp)))));
  
        if Nkind (Call_Node) = N_Function_Call then
  
!          --  Ada 2005 (AI-251): A dispatching "=" with an abstract interface
!          --  just requires the comparison of the tags.
  
!          if Ekind (Etype (Ctrl_Arg)) = E_Class_Wide_Type
!            and then Is_Interface (Etype (Ctrl_Arg))
!            and then Subp = Eq_Prim_Op
!          then
              Param := First_Actual (Call_Node);
+ 
              New_Call :=
!                 Make_Op_Eq (Loc,
!                    Left_Opnd =>
!                      Make_Selected_Component (Loc,
!                        Prefix => New_Value (Param),
!                        Selector_Name =>
!                          New_Reference_To (First_Tag_Component (Typ), Loc)),
  
!                    Right_Opnd =>
!                      Make_Selected_Component (Loc,
!                        Prefix =>
!                          Unchecked_Convert_To (Typ,
!                            New_Value (Next_Actual (Param))),
!                        Selector_Name =>
!                          New_Reference_To (First_Tag_Component (Typ), Loc)));
  
!          else
!             New_Call :=
!               Make_Function_Call (Loc,
!                 Name => New_Call_Name,
!                 Parameter_Associations => New_Params);
! 
!             --  If this is a dispatching "=", we must first compare the tags so
!             --  we generate: x.tag = y.tag and then x = y
! 
!             if Subp = Eq_Prim_Op then
!                Param := First_Actual (Call_Node);
!                New_Call :=
!                  Make_And_Then (Loc,
!                    Left_Opnd =>
!                         Make_Op_Eq (Loc,
!                           Left_Opnd =>
!                             Make_Selected_Component (Loc,
!                               Prefix => New_Value (Param),
!                               Selector_Name =>
!                                 New_Reference_To (First_Tag_Component (Typ),
!                                                   Loc)),
! 
!                           Right_Opnd =>
!                             Make_Selected_Component (Loc,
!                               Prefix =>
!                                 Unchecked_Convert_To (Typ,
!                                   New_Value (Next_Actual (Param))),
!                               Selector_Name =>
!                                 New_Reference_To (First_Tag_Component (Typ),
!                                                   Loc))),
!                    Right_Opnd => New_Call);
!             end if;
           end if;
  
        else
*************** package body Exp_Disp is
*** 569,607 ****
        Analyze_And_Resolve (Call_Node, Call_Typ);
     end Expand_Dispatching_Call;
  
!    -------------
!    -- Fill_DT --
!    -------------
  
     function Fill_DT_Entry
!      (Loc  : Source_Ptr;
!       Prim : Entity_Id)
!       return Node_Id
     is
!       Typ    : constant Entity_Id := Scope (DTC_Entity (Prim));
!       DT_Ptr : constant Entity_Id := Access_Disp_Table (Typ);
  
     begin
        return
          Make_DT_Access_Action (Typ,
            Action => Set_Prim_Op_Address,
            Args   => New_List (
!             New_Reference_To (DT_Ptr, Loc),                     -- DTptr
  
!             Make_Integer_Literal (Loc, DT_Position (Prim)),     -- Position
  
              Make_Attribute_Reference (Loc,                      -- Value
                Prefix          => New_Reference_To (Prim, Loc),
                Attribute_Name  => Name_Address)));
     end Fill_DT_Entry;
  
     ---------------------------
     -- Get_Remotely_Callable --
     ---------------------------
  
     function Get_Remotely_Callable (Obj : Node_Id) return Node_Id is
        Loc : constant Source_Ptr := Sloc (Obj);
- 
     begin
        return Make_DT_Access_Action
          (Typ    => Etype (Obj),
--- 1004,1662 ----
        Analyze_And_Resolve (Call_Node, Call_Typ);
     end Expand_Dispatching_Call;
  
!    ---------------------------------
!    -- Expand_Interface_Conversion --
!    ---------------------------------
! 
!    procedure Expand_Interface_Conversion (N : Node_Id) is
!       Loc         : constant Source_Ptr := Sloc (N);
!       Operand     : constant Node_Id    := Expression (N);
!       Operand_Typ : Entity_Id           := Etype (Operand);
!       Iface_Typ   : Entity_Id           := Etype (N);
!       Iface_Tag   : Entity_Id;
!       Fent        : Entity_Id;
!       Func        : Node_Id;
!       P           : Node_Id;
!       Null_Op_Nod : Node_Id;
! 
!    begin
!       pragma Assert (Nkind (Operand) /= N_Attribute_Reference);
! 
!       --  Ada 2005 (AI-345): Handle task interfaces
! 
!       if Ekind (Operand_Typ) = E_Task_Type
!         or else Ekind (Operand_Typ) = E_Protected_Type
!       then
!          Operand_Typ := Corresponding_Record_Type (Operand_Typ);
!       end if;
! 
!       --  Handle access types to interfaces
! 
!       if Is_Access_Type (Iface_Typ) then
!          Iface_Typ := Etype (Directly_Designated_Type (Iface_Typ));
!       end if;
! 
!       --  Handle class-wide interface types. This conversion can appear
!       --  explicitly in the source code. Example: I'Class (Obj)
! 
!       if Is_Class_Wide_Type (Iface_Typ) then
!          Iface_Typ := Etype (Iface_Typ);
!       end if;
! 
!       pragma Assert (not Is_Class_Wide_Type (Iface_Typ)
!         and then Is_Interface (Iface_Typ));
! 
!       Iface_Tag := Find_Interface_Tag (Operand_Typ, Iface_Typ);
!       pragma Assert (Iface_Tag /= Empty);
! 
!       --  Keep separate access types to interfaces because one internal
!       --  function is used to handle the null value (see following comment)
! 
!       if not Is_Access_Type (Etype (N)) then
!          Rewrite (N,
!            Unchecked_Convert_To (Etype (N),
!              Make_Selected_Component (Loc,
!                Prefix => Relocate_Node (Expression (N)),
!                Selector_Name =>
!                  New_Occurrence_Of (Iface_Tag, Loc))));
! 
!       else
!          --  Build internal function to handle the case in which the
!          --  actual is null. If the actual is null returns null because
!          --  no displacement is required; otherwise performs a type
!          --  conversion that will be expanded in the code that returns
!          --  the value of the displaced actual. That is:
! 
!          --     function Func (O : Operand_Typ) return Iface_Typ is
!          --     begin
!          --        if O = null then
!          --           return null;
!          --        else
!          --           return Iface_Typ!(O);
!          --        end if;
!          --     end Func;
! 
!          Fent :=
!            Make_Defining_Identifier (Loc, New_Internal_Name ('F'));
! 
!          --  Decorate the "null" in the if-statement condition
! 
!          Null_Op_Nod := Make_Null (Loc);
!          Set_Etype (Null_Op_Nod, Etype (Operand));
!          Set_Analyzed (Null_Op_Nod);
! 
!          Func :=
!            Make_Subprogram_Body (Loc,
!              Specification =>
!                Make_Function_Specification (Loc,
!                  Defining_Unit_Name       => Fent,
! 
!                  Parameter_Specifications => New_List (
!                    Make_Parameter_Specification (Loc,
!                      Defining_Identifier =>
!                        Make_Defining_Identifier (Loc, Name_uO),
!                      Parameter_Type =>
!                        New_Reference_To (Etype (Operand), Loc))),
!                  Result_Definition =>
!                    New_Reference_To (Etype (N), Loc)),
! 
!              Declarations => Empty_List,
! 
!              Handled_Statement_Sequence =>
!                Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => New_List (
!                    Make_If_Statement (Loc,
!                      Condition       =>
!                        Make_Op_Eq (Loc,
!                           Left_Opnd  => Make_Identifier (Loc, Name_uO),
!                           Right_Opnd => Null_Op_Nod),
!                      Then_Statements => New_List (
!                        Make_Return_Statement (Loc,
!                          Make_Null (Loc))),
!                      Else_Statements => New_List (
!                        Make_Return_Statement (Loc,
!                          Unchecked_Convert_To (Etype (N),
!                             Make_Attribute_Reference (Loc,
!                               Prefix =>
!                                 Make_Selected_Component (Loc,
!                                   Prefix => Relocate_Node (Expression (N)),
!                                   Selector_Name =>
!                                     New_Occurrence_Of (Iface_Tag, Loc)),
!                               Attribute_Name => Name_Address))))))));
! 
!          --  Insert the new declaration in the nearest enclosing scope
!          --  that has declarations.
! 
!          P := N;
!          while not Has_Declarations (Parent (P)) loop
!             P := Parent (P);
!          end loop;
! 
!          if Is_List_Member (P) then
!             Insert_Before (P, Func);
! 
!          elsif Nkind (Parent (P)) = N_Package_Specification then
!             Append_To (Visible_Declarations (Parent (P)), Func);
! 
!          else
!             Append_To (Declarations (Parent (P)), Func);
!          end if;
! 
!          Analyze (Func);
! 
!          Rewrite (N,
!            Make_Function_Call (Loc,
!              Name => New_Reference_To (Fent, Loc),
!              Parameter_Associations => New_List (
!                Relocate_Node (Expression (N)))));
!       end if;
! 
!       Analyze (N);
!    end Expand_Interface_Conversion;
! 
!    ------------------------------
!    -- Expand_Interface_Actuals --
!    ------------------------------
! 
!    procedure Expand_Interface_Actuals (Call_Node : Node_Id) is
!       Loc        : constant Source_Ptr := Sloc (Call_Node);
!       Actual     : Node_Id;
!       Actual_Dup : Node_Id;
!       Actual_Typ : Entity_Id;
!       Anon       : Entity_Id;
!       Conversion : Node_Id;
!       Formal     : Entity_Id;
!       Formal_Typ : Entity_Id;
!       Subp       : Entity_Id;
!       Nam        : Name_Id;
!       Formal_DDT : Entity_Id;
!       Actual_DDT : Entity_Id;
! 
!    begin
!       --  This subprogram is called directly from the semantics, so we need a
!       --  check to see whether expansion is active before proceeding.
! 
!       if not Expander_Active then
!          return;
!       end if;
! 
!       --  Call using access to subprogram with explicit dereference
! 
!       if Nkind (Name (Call_Node)) = N_Explicit_Dereference then
!          Subp := Etype (Name (Call_Node));
! 
!       --  Normal case
! 
!       else
!          Subp := Entity (Name (Call_Node));
!       end if;
! 
!       Formal := First_Formal (Subp);
!       Actual := First_Actual (Call_Node);
!       while Present (Formal) loop
! 
!          --  Ada 2005 (AI-251): Conversion to interface to force "this"
!          --  displacement.
! 
!          Formal_Typ := Etype (Etype (Formal));
! 
!          if Ekind (Formal_Typ) = E_Record_Type_With_Private then
!             Formal_Typ := Full_View (Formal_Typ);
!          end if;
! 
!          if Is_Access_Type (Formal_Typ) then
!             Formal_DDT := Directly_Designated_Type (Formal_Typ);
!          end if;
! 
!          Actual_Typ := Etype (Actual);
! 
!          if Is_Access_Type (Actual_Typ) then
!             Actual_DDT := Directly_Designated_Type (Actual_Typ);
!          end if;
! 
!          if Is_Interface (Formal_Typ) then
! 
!             --  No need to displace the pointer if the type of the actual
!             --  is class-wide of the formal-type interface; in this case the
!             --  displacement of the pointer was already done at the point of
!             --  the call to the enclosing subprogram. This case corresponds
!             --  with the call to P (Obj) in the following example:
! 
!             --     type I is interface;
!             --     procedure P (X : I) is abstract;
! 
!             --     procedure General_Op (Obj : I'Class) is
!             --     begin
!             --        P (Obj);
!             --     end General_Op;
! 
!             if Is_Class_Wide_Type (Actual_Typ)
!               and then Etype (Actual_Typ) = Formal_Typ
!             then
!                null;
! 
!             --  No need to displace the pointer if the type of the actual is a
!             --  derivation of the formal-type interface because in this case
!             --  the interface primitives are located in the primary dispatch
!             --  table.
! 
!             elsif Is_Ancestor (Formal_Typ, Actual_Typ) then
!                null;
! 
!             else
!                Conversion := Convert_To (Formal_Typ, Relocate_Node (Actual));
!                Rewrite             (Actual, Conversion);
!                Analyze_And_Resolve (Actual, Formal_Typ);
!             end if;
! 
!          --  Anonymous access type
! 
!          elsif Is_Access_Type (Formal_Typ)
!            and then Is_Interface (Etype (Formal_DDT))
!            and then Interface_Present_In_Ancestor
!                       (Typ   => Actual_DDT,
!                        Iface => Etype (Formal_DDT))
!          then
!             if Nkind (Actual) = N_Attribute_Reference
!               and then
!                (Attribute_Name (Actual) = Name_Access
!                  or else Attribute_Name (Actual) = Name_Unchecked_Access)
!             then
!                Nam := Attribute_Name (Actual);
! 
!                Conversion := Convert_To (Etype (Formal_DDT), Prefix (Actual));
! 
!                Rewrite (Actual, Conversion);
!                Analyze_And_Resolve (Actual, Etype (Formal_DDT));
! 
!                Rewrite (Actual,
!                  Unchecked_Convert_To (Formal_Typ,
!                    Make_Attribute_Reference (Loc,
!                      Prefix => Relocate_Node (Actual),
!                      Attribute_Name => Nam)));
! 
!                Analyze_And_Resolve (Actual, Formal_Typ);
! 
!             --  No need to displace the pointer if the actual is a class-wide
!             --  type of the formal-type interface because in this case the
!             --  displacement of the pointer was already done at the point of
!             --  the call to the enclosing subprogram (this case is similar
!             --  to the example described above for the non access-type case)
! 
!             elsif Is_Class_Wide_Type (Actual_DDT)
!               and then Etype (Actual_DDT) = Formal_DDT
!             then
!                null;
! 
!             --  No need to displace the pointer if the type of the actual is a
!             --  derivation of the interface (because in this case the interface
!             --  primitives are located in the primary dispatch table)
! 
!             elsif Is_Ancestor (Formal_DDT, Actual_DDT) then
!                null;
! 
!             else
!                Actual_Dup := Relocate_Node (Actual);
! 
!                if From_With_Type (Actual_Typ) then
! 
!                   --  If the type of the actual parameter comes from a limited
!                   --  with-clause and the non-limited view is already available
!                   --  we replace the anonymous access type by a duplicate decla
!                   --  ration whose designated type is the non-limited view
! 
!                   if Ekind (Actual_DDT) = E_Incomplete_Type
!                     and then Present (Non_Limited_View (Actual_DDT))
!                   then
!                      Anon := New_Copy (Actual_Typ);
! 
!                      if Is_Itype (Anon) then
!                         Set_Scope (Anon, Current_Scope);
!                      end if;
! 
!                      Set_Directly_Designated_Type (Anon,
!                        Non_Limited_View (Actual_DDT));
!                      Set_Etype (Actual_Dup, Anon);
! 
!                   elsif Is_Class_Wide_Type (Actual_DDT)
!                     and then Ekind (Etype (Actual_DDT)) = E_Incomplete_Type
!                     and then Present (Non_Limited_View (Etype (Actual_DDT)))
!                   then
!                      Anon := New_Copy (Actual_Typ);
! 
!                      if Is_Itype (Anon) then
!                         Set_Scope (Anon, Current_Scope);
!                      end if;
! 
!                      Set_Directly_Designated_Type (Anon,
!                        New_Copy (Actual_DDT));
!                      Set_Class_Wide_Type (Directly_Designated_Type (Anon),
!                        New_Copy (Class_Wide_Type (Actual_DDT)));
!                      Set_Etype (Directly_Designated_Type (Anon),
!                        Non_Limited_View (Etype (Actual_DDT)));
!                      Set_Etype (
!                        Class_Wide_Type (Directly_Designated_Type (Anon)),
!                        Non_Limited_View (Etype (Actual_DDT)));
!                      Set_Etype (Actual_Dup, Anon);
!                   end if;
!                end if;
! 
!                Conversion := Convert_To (Formal_Typ, Actual_Dup);
!                Rewrite (Actual, Conversion);
!                Analyze_And_Resolve (Actual, Formal_Typ);
!             end if;
!          end if;
! 
!          Next_Actual (Actual);
!          Next_Formal (Formal);
!       end loop;
!    end Expand_Interface_Actuals;
! 
!    ----------------------------
!    -- Expand_Interface_Thunk --
!    ----------------------------
! 
!    function Expand_Interface_Thunk
!      (N           : Node_Id;
!       Thunk_Alias : Entity_Id;
!       Thunk_Id    : Entity_Id;
!       Thunk_Tag   : Entity_Id) return Node_Id
!    is
!       Loc         : constant Source_Ptr := Sloc (N);
!       Actuals     : constant List_Id    := New_List;
!       Decl        : constant List_Id    := New_List;
!       Formals     : constant List_Id    := New_List;
!       Target      : Entity_Id;
!       New_Code    : Node_Id;
!       Formal      : Node_Id;
!       New_Formal  : Node_Id;
!       Decl_1      : Node_Id;
!       Decl_2      : Node_Id;
!       E           : Entity_Id;
! 
!    begin
!       --  Traverse the list of alias to find the final target
! 
!       Target := Thunk_Alias;
!       while Present (Alias (Target)) loop
!          Target := Alias (Target);
!       end loop;
! 
!       --  Duplicate the formals
! 
!       Formal := First_Formal (Target);
!       E      := First_Formal (N);
!       while Present (Formal) loop
!          New_Formal := Copy_Separate_Tree (Parent (Formal));
! 
!          --  Propagate the parameter type to the copy. This is required to
!          --  properly handle the case in which the subprogram covering the
!          --  interface has been inherited:
! 
!          --  Example:
!          --     type I is interface;
!          --     procedure P (X : in I) is abstract;
! 
!          --     type T is tagged null record;
!          --     procedure P (X : T);
! 
!          --     type DT is new T and I with ...
! 
!          Set_Parameter_Type (New_Formal, New_Reference_To (Etype (E), Loc));
!          Append_To (Formals, New_Formal);
! 
!          Next_Formal (Formal);
!          Next_Formal (E);
!       end loop;
! 
!       if Ekind (First_Formal (Target)) = E_In_Parameter
!         and then Ekind (Etype (First_Formal (Target)))
!                   = E_Anonymous_Access_Type
!       then
!          --  Generate:
! 
!          --     type T is access all <<type of the first formal>>
!          --     S1 := Storage_Offset!(First_formal)
!          --           - Storage_Offset!(First_Formal.Thunk_Tag'Position)
! 
!          --  ... and the first actual of the call is generated as T!(S1)
! 
!          Decl_2 :=
!            Make_Full_Type_Declaration (Loc,
!              Defining_Identifier =>
!                Make_Defining_Identifier (Loc,
!                  New_Internal_Name ('T')),
!              Type_Definition =>
!                Make_Access_To_Object_Definition (Loc,
!                  All_Present            => True,
!                  Null_Exclusion_Present => False,
!                  Constant_Present       => False,
!                  Subtype_Indication     =>
!                    New_Reference_To
!                      (Directly_Designated_Type
!                         (Etype (First_Formal (Target))), Loc)));
! 
!          Decl_1 :=
!            Make_Object_Declaration (Loc,
!              Defining_Identifier =>
!                Make_Defining_Identifier (Loc,
!                  New_Internal_Name ('S')),
!              Constant_Present    => True,
!              Object_Definition   =>
!                New_Reference_To (RTE (RE_Storage_Offset), Loc),
!              Expression          =>
!                Make_Op_Subtract (Loc,
!                  Left_Opnd  =>
!                    Unchecked_Convert_To
!                      (RTE (RE_Storage_Offset),
!                       New_Reference_To
!                         (Defining_Identifier (First (Formals)), Loc)),
!                   Right_Opnd =>
!                     Unchecked_Convert_To
!                       (RTE (RE_Storage_Offset),
!                        Make_Attribute_Reference (Loc,
!                          Prefix =>
!                            Make_Selected_Component (Loc,
!                              Prefix =>
!                                New_Reference_To
!                                  (Defining_Identifier (First (Formals)), Loc),
!                              Selector_Name =>
!                                New_Occurrence_Of (Thunk_Tag, Loc)),
!                          Attribute_Name => Name_Position))));
! 
!          Append_To (Decl, Decl_2);
!          Append_To (Decl, Decl_1);
! 
!          --  Reference the new first actual
! 
!          Append_To (Actuals,
!            Unchecked_Convert_To
!              (Defining_Identifier (Decl_2),
!               New_Reference_To (Defining_Identifier (Decl_1), Loc)));
! 
!          --  Side note: The reverse order of declarations is just to ensure
!          --  that the call to RE_Print is correct.
! 
!       else
!          --  Generate:
!          --
!          --     S1 := Storage_Offset!(First_formal'Address)
!          --           - Storage_Offset!(First_Formal.Thunk_Tag'Position)
!          --     S2 := Tag_Ptr!(S3)
! 
!          Decl_1 :=
!            Make_Object_Declaration (Loc,
!              Defining_Identifier =>
!                Make_Defining_Identifier (Loc, New_Internal_Name ('S')),
!              Constant_Present    => True,
!              Object_Definition   =>
!                New_Reference_To (RTE (RE_Storage_Offset), Loc),
!              Expression          =>
!                Make_Op_Subtract (Loc,
!                  Left_Opnd =>
!                    Unchecked_Convert_To
!                      (RTE (RE_Storage_Offset),
!                       Make_Attribute_Reference (Loc,
!                         Prefix =>
!                           New_Reference_To
!                             (Defining_Identifier (First (Formals)), Loc),
!                         Attribute_Name => Name_Address)),
!                  Right_Opnd =>
!                    Unchecked_Convert_To
!                      (RTE (RE_Storage_Offset),
!                       Make_Attribute_Reference (Loc,
!                         Prefix =>
!                           Make_Selected_Component (Loc,
!                             Prefix =>
!                               New_Reference_To
!                                 (Defining_Identifier (First (Formals)), Loc),
!                                  Selector_Name =>
!                                    New_Occurrence_Of (Thunk_Tag, Loc)),
!                         Attribute_Name => Name_Position))));
! 
!          Decl_2 :=
!            Make_Object_Declaration (Loc,
!              Defining_Identifier =>
!                Make_Defining_Identifier (Loc, New_Internal_Name ('S')),
!              Constant_Present    => True,
!              Object_Definition   => New_Reference_To (RTE (RE_Addr_Ptr), Loc),
!              Expression          =>
!                Unchecked_Convert_To
!                  (RTE (RE_Addr_Ptr),
!                   New_Reference_To (Defining_Identifier (Decl_1), Loc)));
! 
!          Append_To (Decl, Decl_1);
!          Append_To (Decl, Decl_2);
! 
!          --  Reference the new first actual
! 
!          Append_To (Actuals,
!            Unchecked_Convert_To
!              (Etype (First_Entity (Target)),
!               Make_Explicit_Dereference (Loc,
!                 New_Reference_To (Defining_Identifier (Decl_2), Loc))));
!       end if;
! 
!       Formal := Next (First (Formals));
!       while Present (Formal) loop
!          Append_To (Actuals,
!             New_Reference_To (Defining_Identifier (Formal), Loc));
!          Next (Formal);
!       end loop;
! 
!       if Ekind (Target) = E_Procedure then
!          New_Code :=
!            Make_Subprogram_Body (Loc,
!               Specification =>
!                 Make_Procedure_Specification (Loc,
!                   Defining_Unit_Name       => Thunk_Id,
!                   Parameter_Specifications => Formals),
!               Declarations => Decl,
!               Handled_Statement_Sequence =>
!                 Make_Handled_Sequence_Of_Statements (Loc,
!                   Statements => New_List (
!                     Make_Procedure_Call_Statement (Loc,
!                        Name => New_Occurrence_Of (Target, Loc),
!                        Parameter_Associations => Actuals))));
! 
!       else pragma Assert (Ekind (Target) = E_Function);
! 
!          New_Code :=
!            Make_Subprogram_Body (Loc,
!               Specification =>
!                 Make_Function_Specification (Loc,
!                   Defining_Unit_Name       => Thunk_Id,
!                   Parameter_Specifications => Formals,
!                   Result_Definition =>
!                     New_Copy (Result_Definition (Parent (Target)))),
!               Declarations => Decl,
!               Handled_Statement_Sequence =>
!                 Make_Handled_Sequence_Of_Statements (Loc,
!                   Statements => New_List (
!                     Make_Return_Statement (Loc,
!                       Make_Function_Call (Loc,
!                         Name => New_Occurrence_Of (Target, Loc),
!                         Parameter_Associations => Actuals)))));
!       end if;
! 
!       Analyze (New_Code);
!       return New_Code;
!    end Expand_Interface_Thunk;
! 
!    -------------------
!    -- Fill_DT_Entry --
!    -------------------
  
     function Fill_DT_Entry
!      (Loc     : Source_Ptr;
!       Prim    : Entity_Id) return Node_Id
     is
!       Typ     : constant Entity_Id := Scope (DTC_Entity (Prim));
!       DT_Ptr  : constant Entity_Id :=
!                   Node (First_Elmt (Access_Disp_Table (Typ)));
!       Pos     : constant Uint      := DT_Position (Prim);
!       Tag     : constant Entity_Id := First_Tag_Component (Typ);
  
     begin
+       if Pos = Uint_0 or else Pos > DT_Entry_Count (Tag) then
+          raise Program_Error;
+       end if;
+ 
        return
          Make_DT_Access_Action (Typ,
            Action => Set_Prim_Op_Address,
            Args   => New_List (
!             Unchecked_Convert_To (RTE (RE_Tag),
!               New_Reference_To (DT_Ptr, Loc)),                  -- DTptr
  
!             Make_Integer_Literal (Loc, Pos),                    -- Position
  
              Make_Attribute_Reference (Loc,                      -- Value
                Prefix          => New_Reference_To (Prim, Loc),
                Attribute_Name  => Name_Address)));
     end Fill_DT_Entry;
  
+    -----------------------------
+    -- Fill_Secondary_DT_Entry --
+    -----------------------------
+ 
+    function Fill_Secondary_DT_Entry
+      (Loc          : Source_Ptr;
+       Prim         : Entity_Id;
+       Thunk_Id     : Entity_Id;
+       Iface_DT_Ptr : Entity_Id) return Node_Id
+    is
+       Typ        : constant Entity_Id := Scope (DTC_Entity (Alias (Prim)));
+       Iface_Prim : constant Entity_Id := Abstract_Interface_Alias (Prim);
+       Pos        : constant Uint      := DT_Position (Iface_Prim);
+       Tag        : constant Entity_Id :=
+                      First_Tag_Component (Scope (DTC_Entity (Iface_Prim)));
+ 
+    begin
+       if Pos = Uint_0 or else Pos > DT_Entry_Count (Tag) then
+          raise Program_Error;
+       end if;
+ 
+       return
+         Make_DT_Access_Action (Typ,
+           Action => Set_Prim_Op_Address,
+           Args   => New_List (
+             Unchecked_Convert_To (RTE (RE_Tag),
+               New_Reference_To (Iface_DT_Ptr, Loc)),            -- DTptr
+ 
+             Make_Integer_Literal (Loc, Pos),                    -- Position
+ 
+             Make_Attribute_Reference (Loc,                      -- Value
+               Prefix          => New_Reference_To (Thunk_Id, Loc),
+               Attribute_Name  => Name_Address)));
+    end Fill_Secondary_DT_Entry;
+ 
     ---------------------------
     -- Get_Remotely_Callable --
     ---------------------------
  
     function Get_Remotely_Callable (Obj : Node_Id) return Node_Id is
        Loc : constant Source_Ptr := Sloc (Obj);
     begin
        return Make_DT_Access_Action
          (Typ    => Etype (Obj),
*************** package body Exp_Disp is
*** 612,645 ****
               Selector_Name => Make_Identifier (Loc, Name_uTag))));
     end Get_Remotely_Callable;
  
     -------------
     -- Make_DT --
     -------------
  
     function Make_DT (Typ : Entity_Id) return List_Id is
!       Loc : constant Source_Ptr := Sloc (Typ);
! 
!       Result    : constant List_Id := New_List;
!       Elab_Code : constant List_Id := New_List;
  
        Tname       : constant Name_Id := Chars (Typ);
        Name_DT     : constant Name_Id := New_External_Name (Tname, 'T');
        Name_DT_Ptr : constant Name_Id := New_External_Name (Tname, 'P');
        Name_TSD    : constant Name_Id := New_External_Name (Tname, 'B');
        Name_Exname : constant Name_Id := New_External_Name (Tname, 'E');
        Name_No_Reg : constant Name_Id := New_External_Name (Tname, 'F');
  
        DT     : constant Node_Id := Make_Defining_Identifier (Loc, Name_DT);
        DT_Ptr : constant Node_Id := Make_Defining_Identifier (Loc, Name_DT_Ptr);
        TSD    : constant Node_Id := Make_Defining_Identifier (Loc, Name_TSD);
        Exname : constant Node_Id := Make_Defining_Identifier (Loc, Name_Exname);
        No_Reg : constant Node_Id := Make_Defining_Identifier (Loc, Name_No_Reg);
  
        I_Depth         : Int;
-       Generalized_Tag : Entity_Id;
        Size_Expr_Node  : Node_Id;
!       Old_Tag         : Node_Id;
!       Old_TSD         : Node_Id;
  
     begin
        if not RTE_Available (RE_Tag) then
--- 1667,2577 ----
               Selector_Name => Make_Identifier (Loc, Name_uTag))));
     end Get_Remotely_Callable;
  
+    ------------------------------------------
+    -- Init_Predefined_Interface_Primitives --
+    ------------------------------------------
+ 
+    function Init_Predefined_Interface_Primitives
+      (Typ : Entity_Id) return List_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       DT_Ptr : constant Node_Id :=
+                  Node (First_Elmt (Access_Disp_Table (Typ)));
+       Result : constant List_Id := New_List;
+       AI     : Elmt_Id;
+ 
+    begin
+       --  No need to inherit primitives if we have an abstract interface
+       --  type or a concurrent type.
+ 
+       if Is_Interface (Typ) or else Is_Concurrent_Record_Type (Typ) then
+          return Result;
+       end if;
+ 
+       AI := Next_Elmt (First_Elmt (Access_Disp_Table (Typ)));
+       while Present (AI) loop
+ 
+          --  All the secondary tables inherit the dispatch table entries
+          --  associated with predefined primitives.
+ 
+          --  Generate:
+          --    Inherit_DT (T'Tag, Iface'Tag, Default_Prim_Op_Count);
+ 
+          Append_To (Result,
+            Make_DT_Access_Action (Typ,
+              Action => Inherit_DT,
+              Args   => New_List (
+                Node1 => New_Reference_To (DT_Ptr, Loc),
+                Node2 => Unchecked_Convert_To (RTE (RE_Tag),
+                           New_Reference_To (Node (AI), Loc)),
+                Node3 => Make_Integer_Literal (Loc, Default_Prim_Op_Count))));
+ 
+          Next_Elmt (AI);
+       end loop;
+ 
+       return Result;
+    end Init_Predefined_Interface_Primitives;
+ 
+    ----------------------------------------
+    -- Make_Disp_Asynchronous_Select_Body --
+    ----------------------------------------
+ 
+    function Make_Disp_Asynchronous_Select_Body
+      (Typ : Entity_Id) return Node_Id
+    is
+       Conc_Typ : Entity_Id           := Empty;
+       Decls    : constant List_Id    := New_List;
+       DT_Ptr   : Entity_Id;
+       Loc      : constant Source_Ptr := Sloc (Typ);
+       Stmts    : constant List_Id    := New_List;
+ 
+    begin
+       if Is_Interface (Typ) then
+          return
+            Make_Subprogram_Body (Loc,
+              Specification =>
+                Make_Disp_Asynchronous_Select_Spec (Typ),
+              Declarations =>
+                New_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  New_List (Make_Null_Statement (Loc))));
+       end if;
+ 
+       if Is_Concurrent_Record_Type (Typ) then
+          Conc_Typ := Corresponding_Concurrent_Type (Typ);
+       end if;
+ 
+       DT_Ptr := Node (First_Elmt (Access_Disp_Table (Typ)));
+ 
+       if Present (Conc_Typ) then
+ 
+          --  Generate:
+          --    I : Integer := get_entry_index (tag! (<type>VP), S);
+ 
+          --  where I will be used to capture the entry index of the primitive
+          --  wrapper at position S.
+ 
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uI),
+              Object_Definition =>
+                New_Reference_To (Standard_Integer, Loc),
+              Expression =>
+                Make_DT_Access_Action (Typ,
+                  Action =>
+                    Get_Entry_Index,
+                  Args =>
+                    New_List (
+                      Unchecked_Convert_To (RTE (RE_Tag),
+                        New_Reference_To (DT_Ptr, Loc)),
+                      Make_Identifier (Loc, Name_uS)))));
+ 
+          if Ekind (Conc_Typ) = E_Protected_Type then
+ 
+             --  Generate:
+             --    Protected_Entry_Call (
+             --      T._object'access,
+             --      protected_entry_index! (I),
+             --      P,
+             --      Asynchronous_Call,
+             --      B);
+ 
+             --  where T is the protected object, I is the entry index, P are
+             --  the wrapped parameters and B is the name of the communication
+             --  block.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Protected_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Attribute_Reference (Loc,        -- T._object'access
+                       Attribute_Name =>
+                         Name_Unchecked_Access,
+                       Prefix =>
+                         Make_Selected_Component (Loc,
+                           Prefix =>
+                             Make_Identifier (Loc, Name_uT),
+                           Selector_Name =>
+                             Make_Identifier (Loc, Name_uObject))),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Protected_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     New_Reference_To (                    --  Asynchronous_Call
+                       RTE (RE_Asynchronous_Call), Loc),
+                     Make_Identifier (Loc, Name_uB))));    --  comm block
+          else
+             pragma Assert (Ekind (Conc_Typ) = E_Task_Type);
+ 
+             --  Generate:
+             --    Protected_Entry_Call (
+             --      T._task_id,
+             --      task_entry_index! (I),
+             --      P,
+             --      Conditional_Call,
+             --      F);
+ 
+             --  where T is the task object, I is the entry index, P are the
+             --  wrapped parameters and F is the status flag.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Selected_Component (Loc,         -- T._task_id
+                       Prefix =>
+                         Make_Identifier (Loc, Name_uT),
+                       Selector_Name =>
+                         Make_Identifier (Loc, Name_uTask_Id)),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Task_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     New_Reference_To (                    --  Asynchronous_Call
+                       RTE (RE_Asynchronous_Call), Loc),
+                     Make_Identifier (Loc, Name_uF))));    --  status flag
+          end if;
+ 
+       --  Implementation for limited tagged types
+ 
+       else
+          Append_To (Stmts,
+            Make_Raise_Program_Error (Loc, Reason => PE_Explicit_Raise));
+       end if;
+ 
+       return
+         Make_Subprogram_Body (Loc,
+           Specification =>
+             Make_Disp_Asynchronous_Select_Spec (Typ),
+           Declarations =>
+             Decls,
+           Handled_Statement_Sequence =>
+             Make_Handled_Sequence_Of_Statements (Loc, Stmts));
+    end Make_Disp_Asynchronous_Select_Body;
+ 
+    ----------------------------------------
+    -- Make_Disp_Asynchronous_Select_Spec --
+    ----------------------------------------
+ 
+    function Make_Disp_Asynchronous_Select_Spec
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       Def_Id : constant Node_Id    :=
+                  Make_Defining_Identifier (Loc,
+                    Name_uDisp_Asynchronous_Select);
+       Params : constant List_Id    := New_List;
+ 
+    begin
+       --  "T" - Object parameter
+       --  "S" - Primitive operation slot
+       --  "P" - Wrapped parameters
+       --  "B" - Communication block
+       --  "F" - Status flag
+ 
+       SEU.Build_T (Loc, Typ, Params);
+       SEU.Build_S (Loc, Params);
+       SEU.Build_P (Loc, Params);
+       SEU.Build_B (Loc, Params);
+       SEU.Build_F (Loc, Params);
+ 
+       Set_Is_Internal (Def_Id);
+ 
+       return
+          Make_Procedure_Specification (Loc,
+            Defining_Unit_Name       => Def_Id,
+            Parameter_Specifications => Params);
+    end Make_Disp_Asynchronous_Select_Spec;
+ 
+    ---------------------------------------
+    -- Make_Disp_Conditional_Select_Body --
+    ---------------------------------------
+ 
+    function Make_Disp_Conditional_Select_Body
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc      : constant Source_Ptr := Sloc (Typ);
+       Blk_Nam  : Entity_Id;
+       Conc_Typ : Entity_Id           := Empty;
+       Decls    : constant List_Id    := New_List;
+       DT_Ptr   : Entity_Id;
+       Stmts    : constant List_Id    := New_List;
+ 
+    begin
+       if Is_Interface (Typ) then
+          return
+            Make_Subprogram_Body (Loc,
+              Specification =>
+                Make_Disp_Conditional_Select_Spec (Typ),
+              Declarations =>
+                No_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  New_List (Make_Null_Statement (Loc))));
+       end if;
+ 
+       if Is_Concurrent_Record_Type (Typ) then
+          Conc_Typ := Corresponding_Concurrent_Type (Typ);
+       end if;
+ 
+       DT_Ptr := Node (First_Elmt (Access_Disp_Table (Typ)));
+ 
+       if Present (Conc_Typ) then
+ 
+          --  Generate:
+          --    I : Integer;
+ 
+          --  where I will be used to capture the entry index of the primitive
+          --  wrapper at position S.
+ 
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uI),
+              Object_Definition =>
+                New_Reference_To (Standard_Integer, Loc)));
+       end if;
+ 
+       --  Generate:
+       --    C := get_prim_op_kind (tag! (<type>VP), S);
+ 
+       --    if C = POK_Procedure
+       --      or else C = POK_Protected_Procedure
+       --      or else C = POK_Task_Procedure;
+       --    then
+       --       F := True;
+       --       return;
+       --    end if;
+ 
+       SEU.Build_Common_Dispatching_Select_Statements (Loc, Typ, DT_Ptr, Stmts);
+ 
+       if Present (Conc_Typ) then
+ 
+          --  Generate:
+          --    Bnn : Communication_Block;
+ 
+          --  where Bnn is the name of the communication block used in
+          --  the call to Protected_Entry_Call.
+ 
+          Blk_Nam := Make_Defining_Identifier (Loc, New_Internal_Name ('B'));
+ 
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                Blk_Nam,
+              Object_Definition =>
+                New_Reference_To (RTE (RE_Communication_Block), Loc)));
+ 
+          --  Generate:
+          --    I := get_entry_index (tag! (<type>VP), S);
+ 
+          --  I is the entry index and S is the dispatch table slot
+ 
+          Append_To (Stmts,
+            Make_Assignment_Statement (Loc,
+              Name =>
+                Make_Identifier (Loc, Name_uI),
+              Expression =>
+                Make_DT_Access_Action (Typ,
+                  Action =>
+                    Get_Entry_Index,
+                  Args =>
+                    New_List (
+                      Unchecked_Convert_To (RTE (RE_Tag),
+                        New_Reference_To (DT_Ptr, Loc)),
+                      Make_Identifier (Loc, Name_uS)))));
+ 
+          if Ekind (Conc_Typ) = E_Protected_Type then
+ 
+             --  Generate:
+             --    Protected_Entry_Call (
+             --      T._object'access,
+             --      protected_entry_index! (I),
+             --      P,
+             --      Conditional_Call,
+             --      Bnn);
+ 
+             --  where T is the protected object, I is the entry index, P are
+             --  the wrapped parameters and Bnn is the name of the communication
+             --  block.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Protected_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Attribute_Reference (Loc,        -- T._object'access
+                       Attribute_Name =>
+                         Name_Unchecked_Access,
+                       Prefix =>
+                         Make_Selected_Component (Loc,
+                           Prefix =>
+                             Make_Identifier (Loc, Name_uT),
+                           Selector_Name =>
+                             Make_Identifier (Loc, Name_uObject))),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Protected_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     New_Reference_To (                    --  Conditional_Call
+                       RTE (RE_Conditional_Call), Loc),
+                     New_Reference_To (                    --  Bnn
+                       Blk_Nam, Loc))));
+ 
+             --  Generate:
+             --    F := not Cancelled (Bnn);
+ 
+             --  where F is the success flag. The status of Cancelled is negated
+             --  in order to match the behaviour of the version for task types.
+ 
+             Append_To (Stmts,
+               Make_Assignment_Statement (Loc,
+                 Name =>
+                   Make_Identifier (Loc, Name_uF),
+                 Expression =>
+                   Make_Op_Not (Loc,
+                     Right_Opnd =>
+                       Make_Function_Call (Loc,
+                         Name =>
+                           New_Reference_To (RTE (RE_Cancelled), Loc),
+                         Parameter_Associations =>
+                           New_List (
+                             New_Reference_To (Blk_Nam, Loc))))));
+          else
+             pragma Assert (Ekind (Conc_Typ) = E_Task_Type);
+ 
+             --  Generate:
+             --    Protected_Entry_Call (
+             --      T._task_id,
+             --      task_entry_index! (I),
+             --      P,
+             --      Conditional_Call,
+             --      F);
+ 
+             --  where T is the task object, I is the entry index, P are the
+             --  wrapped parameters and F is the status flag.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Task_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Selected_Component (Loc,         -- T._task_id
+                       Prefix =>
+                         Make_Identifier (Loc, Name_uT),
+                       Selector_Name =>
+                         Make_Identifier (Loc, Name_uTask_Id)),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Task_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     New_Reference_To (                    --  Conditional_Call
+                       RTE (RE_Conditional_Call), Loc),
+                     Make_Identifier (Loc, Name_uF))));    --  status flag
+          end if;
+ 
+       --  Implementation for limited tagged types
+ 
+       else
+          Append_To (Stmts,
+            Make_Raise_Program_Error (Loc, Reason => PE_Explicit_Raise));
+       end if;
+ 
+       return
+         Make_Subprogram_Body (Loc,
+           Specification =>
+             Make_Disp_Conditional_Select_Spec (Typ),
+           Declarations =>
+             Decls,
+           Handled_Statement_Sequence =>
+             Make_Handled_Sequence_Of_Statements (Loc, Stmts));
+    end Make_Disp_Conditional_Select_Body;
+ 
+    ---------------------------------------
+    -- Make_Disp_Conditional_Select_Spec --
+    ---------------------------------------
+ 
+    function Make_Disp_Conditional_Select_Spec
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       Def_Id : constant Node_Id    :=
+                  Make_Defining_Identifier (Loc,
+                    Name_uDisp_Conditional_Select);
+       Params : constant List_Id    := New_List;
+ 
+    begin
+       --  "T" - Object parameter
+       --  "S" - Primitive operation slot
+       --  "P" - Wrapped parameters
+       --  "C" - Call kind
+       --  "F" - Status flag
+ 
+       SEU.Build_T (Loc, Typ, Params);
+       SEU.Build_S (Loc, Params);
+       SEU.Build_P (Loc, Params);
+       SEU.Build_C (Loc, Params);
+       SEU.Build_F (Loc, Params);
+ 
+       Set_Is_Internal (Def_Id);
+ 
+       return
+         Make_Procedure_Specification (Loc,
+           Defining_Unit_Name       => Def_Id,
+           Parameter_Specifications => Params);
+    end Make_Disp_Conditional_Select_Spec;
+ 
+    -------------------------------------
+    -- Make_Disp_Get_Prim_Op_Kind_Body --
+    -------------------------------------
+ 
+    function Make_Disp_Get_Prim_Op_Kind_Body
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       DT_Ptr : Entity_Id;
+ 
+    begin
+       if Is_Interface (Typ) then
+          return
+            Make_Subprogram_Body (Loc,
+              Specification =>
+                Make_Disp_Get_Prim_Op_Kind_Spec (Typ),
+              Declarations =>
+                New_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  New_List (Make_Null_Statement (Loc))));
+       end if;
+ 
+       DT_Ptr := Node (First_Elmt (Access_Disp_Table (Typ)));
+ 
+       --  Generate:
+       --    C := get_prim_op_kind (tag! (<type>VP), S);
+ 
+       --  where C is the out parameter capturing the call kind and S is the
+       --  dispatch table slot number.
+ 
+       return
+         Make_Subprogram_Body (Loc,
+           Specification =>
+             Make_Disp_Get_Prim_Op_Kind_Spec (Typ),
+           Declarations =>
+             New_List,
+           Handled_Statement_Sequence =>
+             Make_Handled_Sequence_Of_Statements (Loc,
+               New_List (
+                 Make_Assignment_Statement (Loc,
+                   Name =>
+                     Make_Identifier (Loc, Name_uC),
+                   Expression =>
+                     Make_DT_Access_Action (Typ,
+                       Action =>
+                         Get_Prim_Op_Kind,
+                       Args =>
+                         New_List (
+                           Unchecked_Convert_To (RTE (RE_Tag),
+                             New_Reference_To (DT_Ptr, Loc)),
+                             Make_Identifier (Loc, Name_uS)))))));
+    end Make_Disp_Get_Prim_Op_Kind_Body;
+ 
+    -------------------------------------
+    -- Make_Disp_Get_Prim_Op_Kind_Spec --
+    -------------------------------------
+ 
+    function Make_Disp_Get_Prim_Op_Kind_Spec
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       Def_Id : constant Node_Id    :=
+                  Make_Defining_Identifier (Loc,
+                    Name_uDisp_Get_Prim_Op_Kind);
+       Params : constant List_Id    := New_List;
+ 
+    begin
+       --  "T" - Object parameter
+       --  "S" - Primitive operation slot
+       --  "C" - Call kind
+ 
+       SEU.Build_T (Loc, Typ, Params);
+       SEU.Build_S (Loc, Params);
+       SEU.Build_C (Loc, Params);
+ 
+       Set_Is_Internal (Def_Id);
+ 
+       return
+         Make_Procedure_Specification (Loc,
+            Defining_Unit_Name       => Def_Id,
+            Parameter_Specifications => Params);
+    end Make_Disp_Get_Prim_Op_Kind_Spec;
+ 
+    --------------------------------
+    -- Make_Disp_Get_Task_Id_Body --
+    --------------------------------
+ 
+    function Make_Disp_Get_Task_Id_Body
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc : constant Source_Ptr := Sloc (Typ);
+       Ret : Node_Id;
+ 
+    begin
+       if Is_Concurrent_Record_Type (Typ)
+         and then Ekind (Corresponding_Concurrent_Type (Typ)) = E_Task_Type
+       then
+          Ret :=
+            Make_Return_Statement (Loc,
+              Expression =>
+                Make_Selected_Component (Loc,
+                  Prefix =>
+                    Make_Identifier (Loc, Name_uT),
+                  Selector_Name =>
+                    Make_Identifier (Loc, Name_uTask_Id)));
+ 
+       --  A null body is constructed for non-task types
+ 
+       else
+          Ret :=
+            Make_Return_Statement (Loc,
+              Expression =>
+                New_Reference_To (RTE (RO_ST_Null_Task), Loc));
+       end if;
+ 
+       return
+         Make_Subprogram_Body (Loc,
+           Specification =>
+             Make_Disp_Get_Task_Id_Spec (Typ),
+           Declarations =>
+             New_List,
+           Handled_Statement_Sequence =>
+             Make_Handled_Sequence_Of_Statements (Loc,
+               New_List (Ret)));
+    end Make_Disp_Get_Task_Id_Body;
+ 
+    --------------------------------
+    -- Make_Disp_Get_Task_Id_Spec --
+    --------------------------------
+ 
+    function Make_Disp_Get_Task_Id_Spec
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       Def_Id : constant Node_Id    :=
+                  Make_Defining_Identifier (Loc,
+                    Name_uDisp_Get_Task_Id);
+ 
+    begin
+       Set_Is_Internal (Def_Id);
+ 
+       return
+         Make_Function_Specification (Loc,
+           Defining_Unit_Name       => Def_Id,
+           Parameter_Specifications => New_List (
+             Make_Parameter_Specification (Loc,
+               Defining_Identifier =>
+                 Make_Defining_Identifier (Loc, Name_uT),
+               Parameter_Type =>
+                 New_Reference_To (Typ, Loc))),
+           Result_Definition =>
+             New_Reference_To (RTE (RO_ST_Task_Id), Loc));
+    end Make_Disp_Get_Task_Id_Spec;
+ 
+    ---------------------------------
+    -- Make_Disp_Timed_Select_Body --
+    ---------------------------------
+ 
+    function Make_Disp_Timed_Select_Body
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc      : constant Source_Ptr := Sloc (Typ);
+       Conc_Typ : Entity_Id           := Empty;
+       Decls    : constant List_Id    := New_List;
+       DT_Ptr   : Entity_Id;
+       Stmts    : constant List_Id    := New_List;
+ 
+    begin
+       if Is_Interface (Typ) then
+          return
+            Make_Subprogram_Body (Loc,
+              Specification =>
+                Make_Disp_Timed_Select_Spec (Typ),
+              Declarations =>
+                New_List,
+              Handled_Statement_Sequence =>
+                Make_Handled_Sequence_Of_Statements (Loc,
+                  New_List (Make_Null_Statement (Loc))));
+       end if;
+ 
+       if Is_Concurrent_Record_Type (Typ) then
+          Conc_Typ := Corresponding_Concurrent_Type (Typ);
+       end if;
+ 
+       DT_Ptr := Node (First_Elmt (Access_Disp_Table (Typ)));
+ 
+       if Present (Conc_Typ) then
+ 
+          --  Generate:
+          --    I : Integer;
+ 
+          --  where I will be used to capture the entry index of the primitive
+          --  wrapper at position S.
+ 
+          Append_To (Decls,
+            Make_Object_Declaration (Loc,
+              Defining_Identifier =>
+                Make_Defining_Identifier (Loc, Name_uI),
+              Object_Definition =>
+                New_Reference_To (Standard_Integer, Loc)));
+       end if;
+ 
+       --  Generate:
+       --    C := get_prim_op_kind (tag! (<type>VP), S);
+ 
+       --    if C = POK_Procedure
+       --      or else C = POK_Protected_Procedure
+       --      or else C = POK_Task_Procedure;
+       --    then
+       --       F := True;
+       --       return;
+       --    end if;
+ 
+       SEU.Build_Common_Dispatching_Select_Statements (Loc, Typ, DT_Ptr, Stmts);
+ 
+       if Present (Conc_Typ) then
+ 
+          --  Generate:
+          --    I := get_entry_index (tag! (<type>VP), S);
+ 
+          --  I is the entry index and S is the dispatch table slot
+ 
+          Append_To (Stmts,
+            Make_Assignment_Statement (Loc,
+              Name =>
+                Make_Identifier (Loc, Name_uI),
+              Expression =>
+                Make_DT_Access_Action (Typ,
+                  Action =>
+                    Get_Entry_Index,
+                  Args =>
+                    New_List (
+                      Unchecked_Convert_To (RTE (RE_Tag),
+                        New_Reference_To (DT_Ptr, Loc)),
+                      Make_Identifier (Loc, Name_uS)))));
+ 
+          if Ekind (Conc_Typ) = E_Protected_Type then
+ 
+             --  Generate:
+             --    Timed_Protected_Entry_Call (
+             --      T._object'access,
+             --      protected_entry_index! (I),
+             --      P,
+             --      D,
+             --      M,
+             --      F);
+ 
+             --  where T is the protected object, I is the entry index, P are
+             --  the wrapped parameters, D is the delay amount, M is the delay
+             --  mode and F is the status flag.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Timed_Protected_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Attribute_Reference (Loc,        -- T._object'access
+                       Attribute_Name =>
+                         Name_Unchecked_Access,
+                       Prefix =>
+                         Make_Selected_Component (Loc,
+                           Prefix =>
+                             Make_Identifier (Loc, Name_uT),
+                           Selector_Name =>
+                             Make_Identifier (Loc, Name_uObject))),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Protected_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     Make_Identifier (Loc, Name_uD),       --  delay
+                     Make_Identifier (Loc, Name_uM),       --  delay mode
+                     Make_Identifier (Loc, Name_uF))));    --  status flag
+ 
+          else
+             pragma Assert (Ekind (Conc_Typ) = E_Task_Type);
+ 
+             --  Generate:
+             --    Timed_Task_Entry_Call (
+             --      T._task_id,
+             --      task_entry_index! (I),
+             --      P,
+             --      D,
+             --      M,
+             --      F);
+ 
+             --  where T is the task object, I is the entry index, P are the
+             --  wrapped parameters, D is the delay amount, M is the delay
+             --  mode and F is the status flag.
+ 
+             Append_To (Stmts,
+               Make_Procedure_Call_Statement (Loc,
+                 Name =>
+                   New_Reference_To (RTE (RE_Timed_Task_Entry_Call), Loc),
+                 Parameter_Associations =>
+                   New_List (
+ 
+                     Make_Selected_Component (Loc,         --  T._task_id
+                       Prefix =>
+                         Make_Identifier (Loc, Name_uT),
+                       Selector_Name =>
+                         Make_Identifier (Loc, Name_uTask_Id)),
+ 
+                     Make_Unchecked_Type_Conversion (Loc,  --  entry index
+                       Subtype_Mark =>
+                         New_Reference_To (RTE (RE_Task_Entry_Index), Loc),
+                       Expression =>
+                         Make_Identifier (Loc, Name_uI)),
+ 
+                     Make_Identifier (Loc, Name_uP),       --  parameter block
+                     Make_Identifier (Loc, Name_uD),       --  delay
+                     Make_Identifier (Loc, Name_uM),       --  delay mode
+                     Make_Identifier (Loc, Name_uF))));    --  status flag
+          end if;
+ 
+       --  Implementation for limited tagged types
+ 
+       else
+          Append_To (Stmts,
+            Make_Raise_Program_Error (Loc, Reason => PE_Explicit_Raise));
+       end if;
+ 
+       return
+         Make_Subprogram_Body (Loc,
+           Specification =>
+             Make_Disp_Timed_Select_Spec (Typ),
+           Declarations =>
+             Decls,
+           Handled_Statement_Sequence =>
+             Make_Handled_Sequence_Of_Statements (Loc, Stmts));
+    end Make_Disp_Timed_Select_Body;
+ 
+    ---------------------------------
+    -- Make_Disp_Timed_Select_Spec --
+    ---------------------------------
+ 
+    function Make_Disp_Timed_Select_Spec
+      (Typ : Entity_Id) return Node_Id
+    is
+       Loc    : constant Source_Ptr := Sloc (Typ);
+       Def_Id : constant Node_Id    :=
+                  Make_Defining_Identifier (Loc,
+                    Name_uDisp_Timed_Select);
+       Params : constant List_Id    := New_List;
+ 
+    begin
+       --  "T" - Object parameter
+       --  "S" - Primitive operation slot
+       --  "P" - Wrapped parameters
+       --  "D" - Delay
+       --  "M" - Delay Mode
+       --  "C" - Call kind
+       --  "F" - Status flag
+ 
+       SEU.Build_T (Loc, Typ, Params);
+       SEU.Build_S (Loc, Params);
+       SEU.Build_P (Loc, Params);
+ 
+       Append_To (Params,
+         Make_Parameter_Specification (Loc,
+           Defining_Identifier =>
+             Make_Defining_Identifier (Loc, Name_uD),
+           Parameter_Type =>
+             New_Reference_To (Standard_Duration, Loc)));
+ 
+       Append_To (Params,
+         Make_Parameter_Specification (Loc,
+           Defining_Identifier =>
+             Make_Defining_Identifier (Loc, Name_uM),
+           Parameter_Type =>
+             New_Reference_To (Standard_Integer, Loc)));
+ 
+       SEU.Build_C (Loc, Params);
+       SEU.Build_F (Loc, Params);
+ 
+       Set_Is_Internal (Def_Id);
+ 
+       return
+         Make_Procedure_Specification (Loc,
+           Defining_Unit_Name       => Def_Id,
+           Parameter_Specifications => Params);
+    end Make_Disp_Timed_Select_Spec;
+ 
     -------------
     -- Make_DT --
     -------------
  
     function Make_DT (Typ : Entity_Id) return List_Id is
!       Loc         : constant Source_Ptr := Sloc (Typ);
!       Result      : constant List_Id    := New_List;
!       Elab_Code   : constant List_Id    := New_List;
  
        Tname       : constant Name_Id := Chars (Typ);
        Name_DT     : constant Name_Id := New_External_Name (Tname, 'T');
        Name_DT_Ptr : constant Name_Id := New_External_Name (Tname, 'P');
+       Name_SSD    : constant Name_Id := New_External_Name (Tname, 'S');
        Name_TSD    : constant Name_Id := New_External_Name (Tname, 'B');
        Name_Exname : constant Name_Id := New_External_Name (Tname, 'E');
        Name_No_Reg : constant Name_Id := New_External_Name (Tname, 'F');
  
        DT     : constant Node_Id := Make_Defining_Identifier (Loc, Name_DT);
        DT_Ptr : constant Node_Id := Make_Defining_Identifier (Loc, Name_DT_Ptr);
+       SSD    : constant Node_Id := Make_Defining_Identifier (Loc, Name_SSD);
        TSD    : constant Node_Id := Make_Defining_Identifier (Loc, Name_TSD);
        Exname : constant Node_Id := Make_Defining_Identifier (Loc, Name_Exname);
        No_Reg : constant Node_Id := Make_Defining_Identifier (Loc, Name_No_Reg);
  
+       Generalized_Tag : constant Entity_Id := RTE (RE_Tag);
        I_Depth         : Int;
        Size_Expr_Node  : Node_Id;
!       Old_Tag1        : Node_Id;
!       Old_Tag2        : Node_Id;
!       Num_Ifaces      : Int;
!       Nb_Prim         : Int;
!       TSD_Num_Entries : Int;
!       Typ_Copy        : constant Entity_Id := New_Copy (Typ);
!       AI              : Elmt_Id;
  
     begin
        if not RTE_Available (RE_Tag) then
*************** package body Exp_Disp is
*** 647,656 ****
           return New_List;
        end if;
  
!       if Is_CPP_Class (Root_Type (Typ)) then
!          Generalized_Tag := RTE (RE_Vtable_Ptr);
        else
!          Generalized_Tag := RTE (RE_Tag);
        end if;
  
        --  Dispatch table and related entities are allocated statically
--- 2579,2645 ----
           return New_List;
        end if;
  
!       --  Collect full list of directly and indirectly implemented interfaces
! 
!       Set_Parent              (Typ_Copy, Parent (Typ));
!       Set_Abstract_Interfaces (Typ_Copy, New_Elmt_List);
!       Collect_All_Interfaces  (Typ_Copy);
! 
!       --  Calculate the size of the DT and the TSD
! 
!       if Is_Interface (Typ) then
!          --  Abstract interfaces need neither the DT nor the ancestors table.
!          --  We reserve a single entry for its DT because at run-time the
!          --  pointer to this dummy DT is the tag of this abstract interface
!          --  type.
! 
!          Nb_Prim         := 1;
!          TSD_Num_Entries := 0;
! 
        else
!          --  Calculate the number of entries for the table of interfaces
! 
!          Num_Ifaces := 0;
!          AI := First_Elmt (Abstract_Interfaces (Typ_Copy));
!          while Present (AI) loop
!             Num_Ifaces := Num_Ifaces + 1;
!             Next_Elmt (AI);
!          end loop;
! 
!          --  Count ancestors to compute the inheritance depth. For private
!          --  extensions, always go to the full view in order to compute the
!          --  real inheritance depth.
! 
!          declare
!             Parent_Type : Entity_Id := Typ;
!             P           : Entity_Id;
! 
!          begin
!             I_Depth := 0;
!             loop
!                P := Etype (Parent_Type);
! 
!                if Is_Private_Type (P) then
!                   P := Full_View (Base_Type (P));
!                end if;
! 
!                exit when P = Parent_Type;
! 
!                I_Depth := I_Depth + 1;
!                Parent_Type := P;
!             end loop;
!          end;
! 
!          TSD_Num_Entries := I_Depth + Num_Ifaces + 1;
!          Nb_Prim := UI_To_Int (DT_Entry_Count (First_Tag_Component (Typ)));
! 
!          --  If the number of primitives of Typ is less that the number of
!          --  predefined primitives, we must reserve at least enough space
!          --  for the predefined primitives.
! 
!          if Nb_Prim < Default_Prim_Op_Count then
!             Nb_Prim := Default_Prim_Op_Count;
!          end if;
        end if;
  
        --  Dispatch table and related entities are allocated statically
*************** package body Exp_Disp is
*** 661,666 ****
--- 2650,2658 ----
        Set_Ekind (DT_Ptr, E_Variable);
        Set_Is_Statically_Allocated (DT_Ptr);
  
+       Set_Ekind (SSD, E_Variable);
+       Set_Is_Statically_Allocated (SSD);
+ 
        Set_Ekind (TSD, E_Variable);
        Set_Is_Statically_Allocated (TSD);
  
*************** package body Exp_Disp is
*** 683,690 ****
                Left_Opnd  =>
                  Make_DT_Access_Action (Typ, DT_Entry_Size, No_List),
                Right_Opnd =>
!                 Make_Integer_Literal (Loc,
!                   DT_Entry_Count (Tag_Component (Typ)))));
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
--- 2675,2681 ----
                Left_Opnd  =>
                  Make_DT_Access_Action (Typ, DT_Entry_Size, No_List),
                Right_Opnd =>
!                 Make_Integer_Literal (Loc, Nb_Prim)));
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
*************** package body Exp_Disp is
*** 692,698 ****
            Aliased_Present     => True,
            Object_Definition   =>
              Make_Subtype_Indication (Loc,
!               Subtype_Mark => New_Reference_To (RTE (RE_Storage_Array), Loc),
                Constraint   => Make_Index_Or_Discriminant_Constraint (Loc,
                  Constraints => New_List (
                    Make_Range (Loc,
--- 2683,2690 ----
            Aliased_Present     => True,
            Object_Definition   =>
              Make_Subtype_Indication (Loc,
!               Subtype_Mark => New_Reference_To
!                                 (RTE (RE_Storage_Array), Loc),
                Constraint   => Make_Index_Or_Discriminant_Constraint (Loc,
                  Constraints => New_List (
                    Make_Range (Loc,
*************** package body Exp_Disp is
*** 708,723 ****
                Prefix => New_Reference_To (RTE (RE_Integer_Address), Loc),
                Attribute_Name => Name_Alignment)));
  
        --  Generate code to create the pointer to the dispatch table
  
!       --    DT_Ptr : Tag := Tag!(DT'Address);                 Ada case
!       --  or
!       --    DT_Ptr : Vtable_Ptr := Vtable_Ptr!(DT'Address);   CPP case
  
!       --  According to the C++ ABI, the base of the vtable is located
!       --  after the following prologue: Offset_To_Top, Typeinfo_Ptr.
!       --  Hence, move the pointer to the base of the vtable down, after
!       --  this prologue.
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
--- 2700,2758 ----
                Prefix => New_Reference_To (RTE (RE_Integer_Address), Loc),
                Attribute_Name => Name_Alignment)));
  
+       --  Initialize the signature of the interface tag. It is a sequence
+       --  two bytes located in the header of the dispatch table.
+ 
+       Append_To (Result,
+         Make_Assignment_Statement (Loc,
+           Name =>
+             Make_Indexed_Component (Loc,
+               Prefix => New_Occurrence_Of (DT, Loc),
+               Expressions => New_List (
+                 Make_Integer_Literal (Loc, Uint_1))),
+           Expression =>
+             Unchecked_Convert_To (RTE (RE_Storage_Element),
+               New_Reference_To (RTE (RE_Valid_Signature), Loc))));
+ 
+       if not Is_Interface (Typ) then
+ 
+          --  The signature of a Primary Dispatch table is:
+          --    (Valid_Signature, Primary_DT)
+ 
+          Append_To (Result,
+            Make_Assignment_Statement (Loc,
+              Name =>
+                Make_Indexed_Component (Loc,
+                  Prefix => New_Occurrence_Of (DT, Loc),
+                  Expressions => New_List (
+                    Make_Integer_Literal (Loc, Uint_2))),
+              Expression =>
+                Unchecked_Convert_To (RTE (RE_Storage_Element),
+                  New_Reference_To (RTE (RE_Primary_DT), Loc))));
+ 
+       else
+          --  The signature of an abstract interface is:
+          --    (Valid_Signature, Abstract_Interface)
+ 
+          Append_To (Result,
+            Make_Assignment_Statement (Loc,
+              Name =>
+                Make_Indexed_Component (Loc,
+                  Prefix => New_Occurrence_Of (DT, Loc),
+                  Expressions => New_List (
+                    Make_Integer_Literal (Loc, Uint_2))),
+              Expression =>
+                Unchecked_Convert_To (RTE (RE_Storage_Element),
+                  New_Reference_To (RTE (RE_Abstract_Interface), Loc))));
+       end if;
+ 
        --  Generate code to create the pointer to the dispatch table
  
!       --    DT_Ptr : Tag := Tag!(DT'Address);
  
!       --  According to the C++ ABI, the base of the vtable is located after a
!       --  prologue containing Offset_To_Top, and Typeinfo_Ptr. Hence, we move
!       --  down the pointer to the real base of the vtable
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
*************** package body Exp_Disp is
*** 738,744 ****
  
        --  Generate code to define the boolean that controls registration, in
        --  order to avoid multiple registrations for tagged types defined in
!       --  multiple-called scopes
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
--- 2773,2779 ----
  
        --  Generate code to define the boolean that controls registration, in
        --  order to avoid multiple registrations for tagged types defined in
!       --  multiple-called scopes.
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
*************** package body Exp_Disp is
*** 748,783 ****
  
        --  Set Access_Disp_Table field to be the dispatch table pointer
  
!       Set_Access_Disp_Table (Typ, DT_Ptr);
! 
!       --  Count ancestors to compute the inheritance depth. For private
!       --  extensions, always go to the full view in order to compute the real
!       --  inheritance depth.
! 
!       declare
!          Parent_Type : Entity_Id := Typ;
!          P           : Entity_Id;
! 
!       begin
!          I_Depth := 0;
! 
!          loop
!             P := Etype (Parent_Type);
! 
!             if Is_Private_Type (P) then
!                P := Full_View (Base_Type (P));
!             end if;
! 
!             exit when P = Parent_Type;
  
!             I_Depth := I_Depth + 1;
!             Parent_Type := P;
!          end loop;
!       end;
  
        --  Generate code to create the storage for the type specific data object
  
!       --   TSD: Storage_Array (1..TSD_Prologue_Size+(1+Idepth)*TSD_Entry_Size);
        --   for TSD'Alignment use Address'Alignment
  
        Size_Expr_Node :=
--- 2783,2800 ----
  
        --  Set Access_Disp_Table field to be the dispatch table pointer
  
!       if not Present (Access_Disp_Table (Typ)) then
!          Set_Access_Disp_Table (Typ, New_Elmt_List);
!       end if;
  
!       Prepend_Elmt (DT_Ptr, Access_Disp_Table (Typ));
  
        --  Generate code to create the storage for the type specific data object
+       --  with enough space to store the tags of the ancestors plus the tags
+       --  of all the implemented interfaces (as described in a-tags.adb).
  
!       --   TSD: Storage_Array
!       --     (1..TSD_Prologue_Size+TSD_Num_Entries*TSD_Entry_Size);
        --   for TSD'Alignment use Address'Alignment
  
        Size_Expr_Node :=
*************** package body Exp_Disp is
*** 789,798 ****
                Left_Opnd  =>
                  Make_DT_Access_Action (Typ, TSD_Entry_Size, No_List),
                Right_Opnd =>
!                 Make_Op_Add (Loc,
!                   Left_Opnd  => Make_Integer_Literal (Loc, 1),
!                   Right_Opnd =>
!                     Make_Integer_Literal (Loc, I_Depth))));
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
--- 2806,2812 ----
                Left_Opnd  =>
                  Make_DT_Access_Action (Typ, TSD_Entry_Size, No_List),
                Right_Opnd =>
!                 Make_Integer_Literal (Loc, TSD_Num_Entries)));
  
        Append_To (Result,
          Make_Object_Declaration (Loc,
*************** package body Exp_Disp is
*** 825,872 ****
            Args   => New_List (
              New_Reference_To (DT_Ptr, Loc),                  -- DTptr
                Make_Attribute_Reference (Loc,                 -- Value
!               Prefix          => New_Reference_To (TSD, Loc),
!               Attribute_Name  => Name_Address))));
! 
!       if Typ = Etype (Typ)
!         or else Is_CPP_Class (Etype (Typ))
!       then
!          Old_Tag :=
!            Unchecked_Convert_To (Generalized_Tag,
!              Make_Integer_Literal (Loc, 0));
  
!          Old_TSD :=
!            Unchecked_Convert_To (RTE (RE_Address),
!              Make_Integer_Literal (Loc, 0));
  
!       else
!          Old_Tag := New_Reference_To (Access_Disp_Table (Etype (Typ)), Loc);
!          Old_TSD :=
!            Make_DT_Access_Action (Typ,
!              Action => Get_TSD,
!              Args   => New_List (
!                New_Reference_To (Access_Disp_Table (Etype (Typ)), Loc)));
        end if;
  
!       --  Generate: Inherit_DT (parent'tag, DT_Ptr, nb_prim of parent);
  
!       Append_To (Elab_Code,
!         Make_DT_Access_Action (Typ,
!           Action => Inherit_DT,
!           Args   => New_List (
!             Node1 => Old_Tag,
!             Node2 => New_Reference_To (DT_Ptr, Loc),
!             Node3 => Make_Integer_Literal (Loc,
!                        DT_Entry_Count (Tag_Component (Etype (Typ)))))));
  
!       --  Generate: Inherit_TSD (Get_TSD (parent), DT_Ptr);
  
!       Append_To (Elab_Code,
!         Make_DT_Access_Action (Typ,
!           Action => Inherit_TSD,
!           Args   => New_List (
!             Node1 => Old_TSD,
!             Node2 => New_Reference_To (DT_Ptr, Loc))));
  
        --  Generate: Exname : constant String := full_qualified_name (typ);
        --  The type itself may be an anonymous parent type, so use the first
--- 2839,2897 ----
            Args   => New_List (
              New_Reference_To (DT_Ptr, Loc),                  -- DTptr
                Make_Attribute_Reference (Loc,                 -- Value
!                 Prefix          => New_Reference_To (TSD, Loc),
!                 Attribute_Name  => Name_Address))));
  
!       --  Generate:
!       --    Set_Num_Prim_Ops (T'Tag, Nb_Prim)
  
!       if not Is_Interface (Typ) then
!          Append_To (Elab_Code,
!            Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Set_Num_Prim_Ops), Loc),
!              Parameter_Associations => New_List (
!                New_Reference_To (DT_Ptr, Loc),
!                Make_Integer_Literal (Loc, Nb_Prim))));
        end if;
  
!       if Ada_Version >= Ada_05
!         and then not Is_Interface  (Typ)
!         and then not Is_Abstract   (Typ)
!         and then not Is_Controlled (Typ)
!         and then Implements_Interface (
!           Typ  => Typ,
!           Kind => Any_Limited_Interface,
!           Check_Parent => True)
!         and then (Nb_Prim - Default_Prim_Op_Count) > 0
!       then
!          --  Generate the Select Specific Data table for tagged types that
!          --  implement a synchronized interface. The size of the table is
!          --  constrained by the number of non-predefined primitive operations.
  
!          Append_To (Result,
!            Make_Object_Declaration (Loc,
!              Defining_Identifier => SSD,
!              Aliased_Present     => True,
!              Object_Definition   =>
!                Make_Subtype_Indication (Loc,
!                  Subtype_Mark => New_Reference_To (
!                    RTE (RE_Select_Specific_Data), Loc),
!                  Constraint   => Make_Index_Or_Discriminant_Constraint (Loc,
!                    Constraints => New_List (
!                      Make_Integer_Literal (Loc,
!                        Nb_Prim - Default_Prim_Op_Count))))));
  
!          --  Set the pointer to the Select Specific Data table in the TSD
  
!          Append_To (Elab_Code,
!            Make_DT_Access_Action (Typ,
!              Action => Set_SSD,
!              Args   => New_List (
!                New_Reference_To (DT_Ptr, Loc),               -- DTptr
!                Make_Attribute_Reference (Loc,                -- Value
!                  Prefix         => New_Reference_To (SSD, Loc),
!                  Attribute_Name => Name_Address))));
!       end if;
  
        --  Generate: Exname : constant String := full_qualified_name (typ);
        --  The type itself may be an anonymous parent type, so use the first
*************** package body Exp_Disp is
*** 893,979 ****
                  Prefix => New_Reference_To (Exname, Loc),
                  Attribute_Name => Name_Address))));
  
!       --  for types with no controlled components
!       --    Generate: Set_RC_Offset (DT_Ptr, 0);
!       --  for simple types with controlled components
!       --    Generate: Set_RC_Offset (DT_Ptr, type._record_controller'position);
!       --  for complex types with controlled components where the position
        --  of the record controller is not statically computable, if there are
!       --  controlled components at this level
!       --    Generate: Set_RC_Offset (DT_Ptr, -1);
!       --  to indicate that the _controller field is right after the _parent or
!       --  if there are no controlled components at this level,
!       --    Generate: Set_RC_Offset (DT_Ptr, -2);
        --  to indicate that we need to get the position from the parent.
  
!       declare
!          Position : Node_Id;
  
!       begin
!          if not Has_Controlled_Component (Typ) then
!             Position := Make_Integer_Literal (Loc, 0);
  
!          elsif Etype (Typ) /= Typ and then Has_Discriminants (Etype (Typ)) then
!             if Has_New_Controlled_Component (Typ) then
!                Position := Make_Integer_Literal (Loc, -1);
              else
!                Position := Make_Integer_Literal (Loc, -2);
              end if;
-          else
-             Position :=
-               Make_Attribute_Reference (Loc,
-                 Prefix =>
-                   Make_Selected_Component (Loc,
-                     Prefix => New_Reference_To (Typ, Loc),
-                     Selector_Name =>
-                       New_Reference_To (Controller_Component (Typ), Loc)),
-                 Attribute_Name => Name_Position);
  
!             --  This is not proper Ada code to use the attribute 'Position
!             --  on something else than an object but this is supported by
!             --  the back end (see comment on the Bit_Component attribute in
!             --  sem_attr). So we avoid semantic checking here.
  
!             Set_Analyzed (Position);
!             Set_Etype (Prefix (Position), RTE (RE_Record_Controller));
!             Set_Etype (Prefix (Prefix (Position)), Typ);
!             Set_Etype (Selector_Name (Prefix (Position)),
!               RTE (RE_Record_Controller));
!             Set_Etype (Position, RTE (RE_Storage_Offset));
!          end if;
  
!          Append_To (Elab_Code,
!            Make_DT_Access_Action (Typ,
!              Action => Set_RC_Offset,
!              Args   => New_List (
!                Node1 => New_Reference_To (DT_Ptr, Loc),
!                Node2 => Position)));
!       end;
  
!       --  Generate: Set_Remotely_Callable (DT_Ptr, Status);
!       --  where Status is described in E.4 (18)
  
!       declare
!          Status : Entity_Id;
  
!       begin
!          Status :=
!            Boolean_Literals
!              (Is_Pure (Typ)
!                 or else Is_Shared_Passive (Typ)
!                 or else
!                   ((Is_Remote_Types (Typ)
!                       or else Is_Remote_Call_Interface (Typ))
!                    and then Original_View_In_Visible_Part (Typ))
!                 or else not Comes_From_Source (Typ));
  
           Append_To (Elab_Code,
!            Make_DT_Access_Action (Typ,
!              Action => Set_Remotely_Callable,
!              Args   => New_List (
!                New_Occurrence_Of (DT_Ptr, Loc),
!                New_Occurrence_Of (Status, Loc))));
!       end;
  
        --  Generate: Set_External_Tag (DT_Ptr, exname'Address);
        --  Should be the external name not the qualified name???
--- 2918,3172 ----
                  Prefix => New_Reference_To (Exname, Loc),
                  Attribute_Name => Name_Address))));
  
!       if not Is_Interface (Typ) then
!          --  Generate: Set_Access_Level (DT_Ptr, <type's accessibility level>);
! 
!          Append_To (Elab_Code,
!            Make_DT_Access_Action (Typ,
!              Action => Set_Access_Level,
!              Args   => New_List (
!                Node1 => New_Reference_To (DT_Ptr, Loc),
!                Node2 => Make_Integer_Literal (Loc, Type_Access_Level (Typ)))));
!       end if;
! 
!       if Typ = Etype (Typ)
!         or else Is_CPP_Class (Etype (Typ))
!         or else Is_Interface (Typ)
!       then
!          Old_Tag1 :=
!            Unchecked_Convert_To (Generalized_Tag,
!              Make_Integer_Literal (Loc, 0));
!          Old_Tag2 :=
!            Unchecked_Convert_To (Generalized_Tag,
!              Make_Integer_Literal (Loc, 0));
! 
!       else
!          Old_Tag1 :=
!            New_Reference_To
!              (Node (First_Elmt (Access_Disp_Table (Etype (Typ)))), Loc);
!          Old_Tag2 :=
!            New_Reference_To
!              (Node (First_Elmt (Access_Disp_Table (Etype (Typ)))), Loc);
!       end if;
! 
!       if Typ /= Etype (Typ)
!         and then not Is_Interface (Typ)
!       then
!          --  Generate: Inherit_DT (parent'tag, DT_Ptr, nb_prim of parent);
! 
!          if not Is_Interface (Etype (Typ)) then
!             Append_To (Elab_Code,
!               Make_DT_Access_Action (Typ,
!                 Action => Inherit_DT,
!                 Args   => New_List (
!                   Node1 => Old_Tag1,
!                   Node2 => New_Reference_To (DT_Ptr, Loc),
!                   Node3 =>
!                     Make_Integer_Literal (Loc,
!                       DT_Entry_Count (First_Tag_Component (Etype (Typ)))))));
!          end if;
! 
!          --  Inherit the secondary dispatch tables of the ancestor
! 
!          if not Is_CPP_Class (Etype (Typ)) then
!             declare
!                Sec_DT_Ancestor : Elmt_Id :=
!                                    Next_Elmt
!                                      (First_Elmt
!                                         (Access_Disp_Table (Etype (Typ))));
!                Sec_DT_Typ      : Elmt_Id :=
!                                    Next_Elmt
!                                      (First_Elmt
!                                         (Access_Disp_Table (Typ)));
! 
!                procedure Copy_Secondary_DTs (Typ : Entity_Id);
!                --  Local procedure required to climb through the ancestors and
!                --  copy the contents of all their secondary dispatch tables.
! 
!                ------------------------
!                -- Copy_Secondary_DTs --
!                ------------------------
! 
!                procedure Copy_Secondary_DTs (Typ : Entity_Id) is
!                   E              : Entity_Id;
!                   Iface          : Elmt_Id;
! 
!                begin
!                   --  Climb to the ancestor (if any) handling private types
! 
!                   if Present (Full_View (Etype (Typ))) then
!                      if Full_View (Etype (Typ)) /= Typ then
!                         Copy_Secondary_DTs (Full_View (Etype (Typ)));
!                      end if;
! 
!                   elsif Etype (Typ) /= Typ then
!                      Copy_Secondary_DTs (Etype (Typ));
!                   end if;
! 
!                   if Present (Abstract_Interfaces (Typ))
!                     and then not Is_Empty_Elmt_List
!                                    (Abstract_Interfaces (Typ))
!                   then
!                      Iface := First_Elmt (Abstract_Interfaces (Typ));
!                      E     := First_Entity (Typ);
! 
!                      while Present (E)
!                        and then Present (Node (Sec_DT_Ancestor))
!                      loop
!                         if Is_Tag (E) and then Chars (E) /= Name_uTag then
!                            if not Is_Interface (Etype (Typ)) then
!                               Append_To (Elab_Code,
!                                 Make_DT_Access_Action (Typ,
!                                   Action => Inherit_DT,
!                                   Args   => New_List (
!                                     Node1 => Unchecked_Convert_To
!                                                (RTE (RE_Tag),
!                                                 New_Reference_To
!                                                   (Node (Sec_DT_Ancestor),
!                                                    Loc)),
!                                     Node2 => Unchecked_Convert_To
!                                                (RTE (RE_Tag),
!                                                 New_Reference_To
!                                                   (Node (Sec_DT_Typ), Loc)),
!                                     Node3 => Make_Integer_Literal (Loc,
!                                                DT_Entry_Count (E)))));
!                            end if;
! 
!                            Next_Elmt (Sec_DT_Ancestor);
!                            Next_Elmt (Sec_DT_Typ);
!                            Next_Elmt (Iface);
!                         end if;
! 
!                         Next_Entity (E);
!                      end loop;
!                   end if;
!                end Copy_Secondary_DTs;
! 
!             begin
!                if Present (Node (Sec_DT_Ancestor)) then
! 
!                   --  Handle private types
! 
!                   if Present (Full_View (Typ)) then
!                      Copy_Secondary_DTs (Full_View (Typ));
!                   else
!                      Copy_Secondary_DTs (Typ);
!                   end if;
!                end if;
!             end;
!          end if;
!       end if;
! 
!       --  Generate:
!       --    Inherit_TSD (parent'tag, DT_Ptr);
! 
!       Append_To (Elab_Code,
!         Make_DT_Access_Action (Typ,
!           Action => Inherit_TSD,
!           Args   => New_List (
!             Node1 => Old_Tag2,
!             Node2 => New_Reference_To (DT_Ptr, Loc))));
! 
!       --  For types with no controlled components, generate:
!       --    Set_RC_Offset (DT_Ptr, 0);
! 
!       --  For simple types with controlled components, generate:
!       --    Set_RC_Offset (DT_Ptr, type._record_controller'position);
! 
!       --  For complex types with controlled components where the position
        --  of the record controller is not statically computable, if there are
!       --  controlled components at this level, generate:
!       --    Set_RC_Offset (DT_Ptr, -1);
!       --  to indicate that the _controller field is right after the _parent
! 
!       --  Or if there are no controlled components at this level, generate:
!       --    Set_RC_Offset (DT_Ptr, -2);
        --  to indicate that we need to get the position from the parent.
  
!       if not Is_Interface (Typ) then
!          declare
!             Position : Node_Id;
  
!          begin
!             if not Has_Controlled_Component (Typ) then
!                Position := Make_Integer_Literal (Loc, 0);
  
!             elsif Etype (Typ) /= Typ
!               and then Has_Discriminants (Etype (Typ))
!             then
!                if Has_New_Controlled_Component (Typ) then
!                   Position := Make_Integer_Literal (Loc, -1);
!                else
!                   Position := Make_Integer_Literal (Loc, -2);
!                end if;
              else
!                Position :=
!                  Make_Attribute_Reference (Loc,
!                    Prefix =>
!                      Make_Selected_Component (Loc,
!                        Prefix => New_Reference_To (Typ, Loc),
!                        Selector_Name =>
!                          New_Reference_To (Controller_Component (Typ), Loc)),
!                    Attribute_Name => Name_Position);
! 
!                --  This is not proper Ada code to use the attribute 'Position
!                --  on something else than an object but this is supported by
!                --  the back end (see comment on the Bit_Component attribute in
!                --  sem_attr). So we avoid semantic checking here.
! 
!                --  Is this documented in sinfo.ads??? it should be!
! 
!                Set_Analyzed (Position);
!                Set_Etype (Prefix (Position), RTE (RE_Record_Controller));
!                Set_Etype (Prefix (Prefix (Position)), Typ);
!                Set_Etype (Selector_Name (Prefix (Position)),
!                  RTE (RE_Record_Controller));
!                Set_Etype (Position, RTE (RE_Storage_Offset));
              end if;
  
!             Append_To (Elab_Code,
!               Make_DT_Access_Action (Typ,
!                 Action => Set_RC_Offset,
!                 Args   => New_List (
!                   Node1 => New_Reference_To (DT_Ptr, Loc),
!                   Node2 => Position)));
!          end;
  
!          --  Generate: Set_Remotely_Callable (DT_Ptr, Status); where Status is
!          --  described in E.4 (18)
  
!          declare
!             Status : Entity_Id;
  
!          begin
!             Status :=
!               Boolean_Literals
!                 (Is_Pure (Typ)
!                    or else Is_Shared_Passive (Typ)
!                    or else
!                      ((Is_Remote_Types (Typ)
!                          or else Is_Remote_Call_Interface (Typ))
!                       and then Original_View_In_Visible_Part (Typ))
!                    or else not Comes_From_Source (Typ));
  
!             Append_To (Elab_Code,
!               Make_DT_Access_Action (Typ,
!                 Action => Set_Remotely_Callable,
!                 Args   => New_List (
!                   New_Occurrence_Of (DT_Ptr, Loc),
!                   New_Occurrence_Of (Status, Loc))));
!          end;
  
!          --  Generate:
!          --    Set_Offset_To_Top (DT_Ptr, 0);
  
           Append_To (Elab_Code,
!            Make_Procedure_Call_Statement (Loc,
!              Name => New_Reference_To (RTE (RE_Set_Offset_To_Top), Loc),
!              Parameter_Associations => New_List (
!                New_Reference_To (DT_Ptr, Loc),
!                Make_Integer_Literal (Loc, Uint_0))));
!       end if;
  
        --  Generate: Set_External_Tag (DT_Ptr, exname'Address);
        --  Should be the external name not the qualified name???
*************** package body Exp_Disp is
*** 995,1004 ****
        --        Register_Tag (Dt_Ptr);
  
        --  Skip this if routine not available, or in No_Run_Time mode
  
!          if RTE_Available (RE_Register_Tag)
             and then Is_RTE (Generalized_Tag, RE_Tag)
!            and then not No_Run_Time_Mode
           then
              Append_To (Elab_Code,
                Make_Procedure_Call_Statement (Loc,
--- 3188,3201 ----
        --        Register_Tag (Dt_Ptr);
  
        --  Skip this if routine not available, or in No_Run_Time mode
+       --  or Typ is an abstract interface type (because the table to
+       --  register it is not available in the abstract type but in
+       --  types implementing this interface)
  
!          if not No_Run_Time_Mode
!            and then RTE_Available (RE_Register_Tag)
             and then Is_RTE (Generalized_Tag, RE_Tag)
!            and then not Is_Interface (Typ)
           then
              Append_To (Elab_Code,
                Make_Procedure_Call_Statement (Loc,
*************** package body Exp_Disp is
*** 1024,1029 ****
--- 3221,3254 ----
            Condition       => New_Reference_To (No_Reg, Loc),
            Then_Statements => Elab_Code));
  
+       --  Ada 2005 (AI-251): Register the tag of the interfaces into
+       --  the table of implemented interfaces and ...
+ 
+       if not Is_Interface (Typ)
+         and then Present (Abstract_Interfaces (Typ_Copy))
+         and then not Is_Empty_Elmt_List (Abstract_Interfaces (Typ_Copy))
+       then
+          AI := First_Elmt (Abstract_Interfaces (Typ_Copy));
+          while Present (AI) loop
+ 
+             --  Generate:
+             --    Register_Interface (DT_Ptr, Interface'Tag);
+ 
+             Append_To (Result,
+               Make_DT_Access_Action (Typ,
+                 Action => Register_Interface_Tag,
+                 Args   => New_List (
+                   Node1 => New_Reference_To (DT_Ptr, Loc),
+                   Node2 => New_Reference_To
+                              (Node
+                               (First_Elmt
+                                (Access_Disp_Table (Node (AI)))),
+                               Loc))));
+ 
+             Next_Elmt (AI);
+          end loop;
+       end if;
+ 
        return Result;
     end Make_DT;
  
*************** package body Exp_Disp is
*** 1034,1052 ****
     function Make_DT_Access_Action
       (Typ    : Entity_Id;
        Action : DT_Access_Action;
!       Args   : List_Id)
!       return Node_Id
     is
!       Action_Name : Entity_Id;
        Loc         : Source_Ptr;
  
     begin
-       if Is_CPP_Class (Root_Type (Typ)) then
-          Action_Name := RTE (CPP_Actions (Action));
-       else
-          Action_Name := RTE (Ada_Actions (Action));
-       end if;
- 
        if No (Args) then
  
           --  This is a constant
--- 3259,3270 ----
     function Make_DT_Access_Action
       (Typ    : Entity_Id;
        Action : DT_Access_Action;
!       Args   : List_Id) return Node_Id
     is
!       Action_Name : constant Entity_Id := RTE (Ada_Actions (Action));
        Loc         : Source_Ptr;
  
     begin
        if No (Args) then
  
           --  This is a constant
*************** package body Exp_Disp is
*** 1072,1077 ****
--- 3290,3718 ----
        end if;
     end Make_DT_Access_Action;
  
+    -----------------------
+    -- Make_Secondary_DT --
+    -----------------------
+ 
+    procedure Make_Secondary_DT
+      (Typ             : Entity_Id;
+       Ancestor_Typ    : Entity_Id;
+       Suffix_Index    : Int;
+       Iface           : Entity_Id;
+       AI_Tag          : Entity_Id;
+       Acc_Disp_Tables : in out Elist_Id;
+       Result          : out List_Id)
+    is
+       Loc             : constant Source_Ptr := Sloc (AI_Tag);
+       Generalized_Tag : constant Entity_Id := RTE (RE_Interface_Tag);
+       Name_DT         : constant Name_Id := New_Internal_Name ('T');
+       Iface_DT        : Node_Id;
+       Iface_DT_Ptr    : Node_Id;
+       Name_DT_Ptr     : Name_Id;
+       Nb_Prim         : Int;
+       OSD             : Entity_Id;
+       Size_Expr_Node  : Node_Id;
+       Tname           : Name_Id;
+ 
+    begin
+       Result := New_List;
+ 
+       --  Generate a unique external name associated with the secondary
+       --  dispatch table. This external name will be used to declare an
+       --  access to this secondary dispatch table, value that will be used
+       --  for the elaboration of Typ's objects and also for the elaboration
+       --  of objects of any derivation of Typ that do not override any
+       --  primitive operation of Typ.
+ 
+       Get_Secondary_DT_External_Name (Typ, Ancestor_Typ, Suffix_Index);
+ 
+       Tname        := Name_Find;
+       Name_DT_Ptr  := New_External_Name (Tname, "P");
+       Iface_DT     := Make_Defining_Identifier (Loc, Name_DT);
+       Iface_DT_Ptr := Make_Defining_Identifier (Loc, Name_DT_Ptr);
+ 
+       --  Dispatch table and related entities are allocated statically
+ 
+       Set_Ekind (Iface_DT, E_Variable);
+       Set_Is_Statically_Allocated (Iface_DT);
+ 
+       Set_Ekind (Iface_DT_Ptr, E_Variable);
+       Set_Is_Statically_Allocated (Iface_DT_Ptr);
+ 
+       --  Generate code to create the storage for the Dispatch_Table object.
+       --  If the number of primitives of Typ is less that the number of
+       --  predefined primitives, we must reserve at least enough space
+       --  for the predefined primitives.
+ 
+       Nb_Prim := UI_To_Int (DT_Entry_Count (AI_Tag));
+ 
+       if Nb_Prim < Default_Prim_Op_Count then
+          Nb_Prim := Default_Prim_Op_Count;
+       end if;
+ 
+       --    DT : Storage_Array (1..DT_Prologue_Size+nb_prim*DT_Entry_Size);
+       --    for DT'Alignment use Address'Alignment
+ 
+       Size_Expr_Node :=
+         Make_Op_Add (Loc,
+           Left_Opnd  => Make_DT_Access_Action (Etype (AI_Tag),
+                           DT_Prologue_Size,
+                           No_List),
+           Right_Opnd =>
+             Make_Op_Multiply (Loc,
+               Left_Opnd  =>
+                 Make_DT_Access_Action (Etype (AI_Tag),
+                                        DT_Entry_Size,
+                                        No_List),
+               Right_Opnd =>
+                 Make_Integer_Literal (Loc, Nb_Prim)));
+ 
+       Append_To (Result,
+         Make_Object_Declaration (Loc,
+           Defining_Identifier => Iface_DT,
+           Aliased_Present     => True,
+           Object_Definition   =>
+             Make_Subtype_Indication (Loc,
+               Subtype_Mark => New_Reference_To (RTE (RE_Storage_Array), Loc),
+               Constraint   => Make_Index_Or_Discriminant_Constraint (Loc,
+                 Constraints => New_List (
+                   Make_Range (Loc,
+                     Low_Bound  => Make_Integer_Literal (Loc, 1),
+                     High_Bound => Size_Expr_Node))))));
+ 
+       Append_To (Result,
+         Make_Attribute_Definition_Clause (Loc,
+           Name       => New_Reference_To (Iface_DT, Loc),
+           Chars      => Name_Alignment,
+           Expression =>
+             Make_Attribute_Reference (Loc,
+               Prefix => New_Reference_To (RTE (RE_Integer_Address), Loc),
+               Attribute_Name => Name_Alignment)));
+ 
+       --  Initialize the signature of the interface tag. It is a sequence of
+       --  two bytes located in the header of the dispatch table. The signature
+       --  of a Secondary Dispatch Table is (Valid_Signature, Secondary_DT).
+ 
+       Append_To (Result,
+         Make_Assignment_Statement (Loc,
+           Name =>
+             Make_Indexed_Component (Loc,
+               Prefix => New_Occurrence_Of (Iface_DT, Loc),
+               Expressions => New_List (
+                 Make_Integer_Literal (Loc, Uint_1))),
+           Expression =>
+             Unchecked_Convert_To (RTE (RE_Storage_Element),
+               New_Reference_To (RTE (RE_Valid_Signature), Loc))));
+ 
+       Append_To (Result,
+         Make_Assignment_Statement (Loc,
+           Name =>
+             Make_Indexed_Component (Loc,
+               Prefix => New_Occurrence_Of (Iface_DT, Loc),
+               Expressions => New_List (
+                 Make_Integer_Literal (Loc, Uint_2))),
+           Expression =>
+             Unchecked_Convert_To (RTE (RE_Storage_Element),
+               New_Reference_To (RTE (RE_Secondary_DT), Loc))));
+ 
+       --  Generate code to create the pointer to the dispatch table
+ 
+       --    Iface_DT_Ptr : Tag := Tag!(DT'Address);
+ 
+       --  According to the C++ ABI, the base of the vtable is located
+       --  after the following prologue: Offset_To_Top, and Typeinfo_Ptr.
+       --  Hence, move the pointer down to the real base of the vtable.
+ 
+       Append_To (Result,
+         Make_Object_Declaration (Loc,
+           Defining_Identifier => Iface_DT_Ptr,
+           Constant_Present    => True,
+           Object_Definition   => New_Reference_To (Generalized_Tag, Loc),
+           Expression          =>
+             Unchecked_Convert_To (Generalized_Tag,
+               Make_Op_Add (Loc,
+                 Left_Opnd =>
+                   Unchecked_Convert_To (RTE (RE_Storage_Offset),
+                     Make_Attribute_Reference (Loc,
+                       Prefix         => New_Reference_To (Iface_DT, Loc),
+                       Attribute_Name => Name_Address)),
+                 Right_Opnd =>
+                   Make_DT_Access_Action (Etype (AI_Tag),
+                     DT_Prologue_Size, No_List)))));
+ 
+       --  Note: Offset_To_Top will be initialized by the init subprogram
+ 
+       --  Set Access_Disp_Table field to be the dispatch table pointer
+ 
+       if not (Present (Acc_Disp_Tables)) then
+          Acc_Disp_Tables := New_Elmt_List;
+       end if;
+ 
+       Append_Elmt (Iface_DT_Ptr, Acc_Disp_Tables);
+ 
+       --  Step 1: Generate an Object Specific Data (OSD) table
+ 
+       OSD := Make_Defining_Identifier (Loc, New_Internal_Name ('I'));
+ 
+       --  Generate:
+       --    OSD : Ada.Tags.Object_Specific_Data
+       --            (Nb_Prims - Default_Prim_Op_Count);
+       --  where the constraint is used to allocate space for the
+       --  non-predefined primitive operations only.
+ 
+       Append_To (Result,
+         Make_Object_Declaration (Loc,
+           Defining_Identifier => OSD,
+           Object_Definition   =>
+             Make_Subtype_Indication (Loc,
+               Subtype_Mark => New_Reference_To (
+                 RTE (RE_Object_Specific_Data), Loc),
+               Constraint =>
+                 Make_Index_Or_Discriminant_Constraint (Loc,
+                   Constraints => New_List (
+                     Make_Integer_Literal (Loc,
+                       Nb_Prim - Default_Prim_Op_Count))))));
+ 
+       --  Generate:
+       --    Ada.Tags.Set_OSD (Iface_DT_Ptr, OSD);
+ 
+       Append_To (Result,
+         Make_DT_Access_Action (Typ,
+           Action => Set_OSD,
+           Args   => New_List (
+             New_Reference_To (Iface_DT_Ptr, Loc),
+             Make_Attribute_Reference (Loc,
+               Prefix         => New_Reference_To (OSD, Loc),
+               Attribute_Name => Name_Address))));
+ 
+       --  Offset table creation
+ 
+       if not Is_Interface (Typ)
+         and then not Is_Abstract   (Typ)
+         and then not Is_Controlled (Typ)
+         and then Implements_Interface
+                   (Typ  => Typ,
+                    Kind => Any_Limited_Interface,
+                    Check_Parent => True)
+         and then (Nb_Prim - Default_Prim_Op_Count) > 0
+       then
+          declare
+             Prim       : Entity_Id;
+             Prim_Alias : Entity_Id;
+             Prim_Elmt  : Elmt_Id;
+ 
+          begin
+             --  Step 2: Populate the OSD table
+ 
+             Prim_Alias := Empty;
+             Prim_Elmt  := First_Elmt (Primitive_Operations (Typ));
+             while Present (Prim_Elmt) loop
+                Prim := Node (Prim_Elmt);
+ 
+                if Present (Abstract_Interface_Alias (Prim)) then
+                   Prim_Alias := Abstract_Interface_Alias (Prim);
+                end if;
+ 
+                if Present (Prim_Alias)
+                  and then Present (First_Entity (Prim_Alias))
+                  and then Etype (First_Entity (Prim_Alias)) = Iface
+                then
+                   --  Generate:
+                   --    Ada.Tags.Set_Offset_Index (
+                   --      Iface_DT_Ptr, secondary_DT_Pos, primary_DT_pos);
+ 
+                   Append_To (Result,
+                     Make_DT_Access_Action (Iface,
+                       Action => Set_Offset_Index,
+                       Args   => New_List (
+                         New_Reference_To (Iface_DT_Ptr, Loc),
+                         Make_Integer_Literal (Loc, DT_Position (Prim_Alias)),
+                         Make_Integer_Literal (Loc, DT_Position (Prim)))));
+ 
+                   Prim_Alias := Empty;
+                end if;
+ 
+                Next_Elmt (Prim_Elmt);
+             end loop;
+          end;
+       end if;
+ 
+       --  Generate:
+       --    Set_Num_Prim_Ops (T'Tag, Nb_Prim)
+ 
+       Append_To (Result,
+         Make_Procedure_Call_Statement (Loc,
+           Name => New_Reference_To (RTE (RE_Set_Num_Prim_Ops), Loc),
+           Parameter_Associations => New_List (
+             Unchecked_Convert_To (RTE (RE_Tag),
+               New_Reference_To (Iface_DT_Ptr, Loc)),
+             Make_Integer_Literal (Loc, Nb_Prim))));
+ 
+    end Make_Secondary_DT;
+ 
+    -------------------------------------
+    -- Make_Select_Specific_Data_Table --
+    -------------------------------------
+ 
+    function Make_Select_Specific_Data_Table
+      (Typ : Entity_Id) return List_Id
+    is
+       Assignments : constant List_Id    := New_List;
+       Loc         : constant Source_Ptr := Sloc (Typ);
+ 
+       Conc_Typ    : Entity_Id;
+       Decls       : List_Id;
+       DT_Ptr      : Entity_Id;
+       Prim        : Entity_Id;
+       Prim_Als    : Entity_Id;
+       Prim_Elmt   : Elmt_Id;
+       Prim_Pos    : Uint;
+       Nb_Prim     : Int := 0;
+ 
+       type Examined_Array is array (Int range <>) of Boolean;
+ 
+       function Find_Entry_Index (E : Entity_Id) return Uint;
+       --  Given an entry, find its index in the visible declarations of the
+       --  corresponding concurrent type of Typ.
+ 
+       ----------------------
+       -- Find_Entry_Index --
+       ----------------------
+ 
+       function Find_Entry_Index (E : Entity_Id) return Uint is
+          Index     : Uint := Uint_1;
+          Subp_Decl : Entity_Id;
+ 
+       begin
+          if Present (Decls)
+            and then not Is_Empty_List (Decls)
+          then
+             Subp_Decl := First (Decls);
+             while Present (Subp_Decl) loop
+                if Nkind (Subp_Decl) = N_Entry_Declaration then
+                   if Defining_Identifier (Subp_Decl) = E then
+                      return Index;
+                   end if;
+ 
+                   Index := Index + 1;
+                end if;
+ 
+                Next (Subp_Decl);
+             end loop;
+          end if;
+ 
+          return Uint_0;
+       end Find_Entry_Index;
+ 
+    --  Start of processing for Make_Select_Specific_Data_Table
+ 
+    begin
+       DT_Ptr := Node (First_Elmt (Access_Disp_Table (Typ)));
+ 
+       if Present (Corresponding_Concurrent_Type (Typ)) then
+          Conc_Typ := Corresponding_Concurrent_Type (Typ);
+ 
+          if Ekind (Conc_Typ) = E_Protected_Type then
+             Decls := Visible_Declarations (Protected_Definition (
+                        Parent (Conc_Typ)));
+          else
+             pragma Assert (Ekind (Conc_Typ) = E_Task_Type);
+             Decls := Visible_Declarations (Task_Definition (
+                        Parent (Conc_Typ)));
+          end if;
+       end if;
+ 
+       --  Count the non-predefined primitive operations
+ 
+       Prim_Elmt := First_Elmt (Primitive_Operations (Typ));
+       while Present (Prim_Elmt) loop
+          if not Is_Predefined_Dispatching_Operation (Node (Prim_Elmt)) then
+             Nb_Prim := Nb_Prim + 1;
+          end if;
+ 
+          Next_Elmt (Prim_Elmt);
+       end loop;
+ 
+       declare
+          Examined_Size : constant Int := Nb_Prim + Default_Prim_Op_Count;
+          Examined : Examined_Array (1 .. Examined_Size) := (others => False);
+ 
+       begin
+          Prim_Elmt := First_Elmt (Primitive_Operations (Typ));
+          while Present (Prim_Elmt) loop
+             Prim := Node (Prim_Elmt);
+             Prim_Pos := DT_Position (Prim);
+ 
+             pragma Assert (UI_To_Int (Prim_Pos) <= Examined_Size);
+ 
+             if Examined (UI_To_Int (Prim_Pos)) then
+                goto Continue;
+             else
+                Examined (UI_To_Int (Prim_Pos)) := True;
+             end if;
+ 
+             --  The current primitive overrides an interface-level subprogram
+ 
+             if Present (Abstract_Interface_Alias (Prim)) then
+ 
+                --  Set the primitive operation kind regardless of subprogram
+                --  type. Generate:
+                --    Ada.Tags.Set_Prim_Op_Kind (DT_Ptr, <position>, <kind>);
+ 
+                Append_To (Assignments,
+                  Make_DT_Access_Action (Typ,
+                    Action =>
+                      Set_Prim_Op_Kind,
+                    Args =>
+                      New_List (
+                        New_Reference_To (DT_Ptr, Loc),
+                        Make_Integer_Literal (Loc, Prim_Pos),
+                        Prim_Op_Kind (Prim, Typ))));
+ 
+                --  Retrieve the root of the alias chain if one is present
+ 
+                if Present (Alias (Prim)) then
+                   Prim_Als := Prim;
+                   while Present (Alias (Prim_Als)) loop
+                      Prim_Als := Alias (Prim_Als);
+                   end loop;
+                else
+                   Prim_Als := Empty;
+                end if;
+ 
+                --  In the case of an entry wrapper, set the entry index
+ 
+                if Ekind (Prim) = E_Procedure
+                  and then Present (Prim_Als)
+                  and then Is_Primitive_Wrapper (Prim_Als)
+                  and then Ekind (Wrapped_Entity (Prim_Als)) = E_Entry
+                then
+ 
+                   --  Generate:
+                   --    Ada.Tags.Set_Entry_Index (DT_Ptr, <position>, <index>);
+ 
+                   Append_To (Assignments,
+                     Make_DT_Access_Action (Typ,
+                       Action =>
+                         Set_Entry_Index,
+                       Args =>
+                         New_List (
+                           New_Reference_To (DT_Ptr, Loc),
+                           Make_Integer_Literal (Loc, Prim_Pos),
+                           Make_Integer_Literal (Loc,
+                             Find_Entry_Index (Wrapped_Entity (Prim_Als))))));
+                end if;
+             end if;
+ 
+             <<Continue>>
+ 
+             Next_Elmt (Prim_Elmt);
+          end loop;
+       end;
+ 
+       return Assignments;
+    end Make_Select_Specific_Data_Table;
+ 
     -----------------------------------
     -- Original_View_In_Visible_Part --
     -----------------------------------
*************** package body Exp_Disp is
*** 1099,1104 ****
--- 3740,3830 ----
          Visible_Declarations (Specification (Unit_Declaration_Node (Scop)));
     end Original_View_In_Visible_Part;
  
+    ------------------
+    -- Prim_Op_Kind --
+    ------------------
+ 
+    function Prim_Op_Kind
+      (Prim : Entity_Id;
+       Typ  : Entity_Id) return Node_Id
+    is
+       Full_Typ : Entity_Id := Typ;
+       Loc      : constant Source_Ptr := Sloc (Prim);
+       Prim_Op  : Entity_Id := Prim;
+ 
+    begin
+       --  Retrieve the original primitive operation
+ 
+       while Present (Alias (Prim_Op)) loop
+          Prim_Op := Alias (Prim_Op);
+       end loop;
+ 
+       if Ekind (Typ) = E_Record_Type
+         and then Present (Corresponding_Concurrent_Type (Typ))
+       then
+          Full_Typ := Corresponding_Concurrent_Type (Typ);
+       end if;
+ 
+       if Ekind (Prim_Op) = E_Function then
+ 
+          --  Protected function
+ 
+          if Ekind (Full_Typ) = E_Protected_Type then
+             return New_Reference_To (RTE (RE_POK_Protected_Function), Loc);
+ 
+          --  Task function
+ 
+          elsif Ekind (Full_Typ) = E_Task_Type then
+             return New_Reference_To (RTE (RE_POK_Task_Function), Loc);
+ 
+          --  Regular function
+ 
+          else
+             return New_Reference_To (RTE (RE_POK_Function), Loc);
+          end if;
+ 
+       else
+          pragma Assert (Ekind (Prim_Op) = E_Procedure);
+ 
+          if Ekind (Full_Typ) = E_Protected_Type then
+ 
+             --  Protected entry
+ 
+             if Is_Primitive_Wrapper (Prim_Op)
+               and then Ekind (Wrapped_Entity (Prim_Op)) = E_Entry
+             then
+                return New_Reference_To (RTE (RE_POK_Protected_Entry), Loc);
+ 
+             --  Protected procedure
+ 
+             else
+                return New_Reference_To (RTE (RE_POK_Protected_Procedure), Loc);
+             end if;
+ 
+          elsif Ekind (Full_Typ) = E_Task_Type then
+ 
+             --  Task entry
+ 
+             if Is_Primitive_Wrapper (Prim_Op)
+               and then Ekind (Wrapped_Entity (Prim_Op)) = E_Entry
+             then
+                return New_Reference_To (RTE (RE_POK_Task_Entry), Loc);
+ 
+             --  Task "procedure". These are the internally Expander-generated
+             --  procedures (task body for instance).
+ 
+             else
+                return New_Reference_To (RTE (RE_POK_Task_Procedure), Loc);
+             end if;
+ 
+          --  Regular procedure
+ 
+          else
+             return New_Reference_To (RTE (RE_POK_Procedure), Loc);
+          end if;
+       end if;
+    end Prim_Op_Kind;
+ 
     -------------------------
     -- Set_All_DT_Position --
     -------------------------
*************** package body Exp_Disp is
*** 1107,1128 ****
        Parent_Typ : constant Entity_Id := Etype (Typ);
        Root_Typ   : constant Entity_Id := Root_Type (Typ);
        First_Prim : constant Elmt_Id := First_Elmt (Primitive_Operations (Typ));
!       The_Tag    : constant Entity_Id := Tag_Component (Typ);
        Adjusted   : Boolean := False;
        Finalized  : Boolean := False;
!       Parent_EC  : Int;
        Nb_Prim    : Int;
        Prim       : Entity_Id;
        Prim_Elmt  : Elmt_Id;
  
!    begin
  
        --  Get Entry_Count of the parent
  
        if Parent_Typ /= Typ
!         and then DT_Entry_Count (Tag_Component (Parent_Typ)) /= No_Uint
        then
!          Parent_EC := UI_To_Int (DT_Entry_Count (Tag_Component (Parent_Typ)));
        else
           Parent_EC := 0;
        end if;
--- 3833,3935 ----
        Parent_Typ : constant Entity_Id := Etype (Typ);
        Root_Typ   : constant Entity_Id := Root_Type (Typ);
        First_Prim : constant Elmt_Id := First_Elmt (Primitive_Operations (Typ));
!       The_Tag    : constant Entity_Id := First_Tag_Component (Typ);
! 
        Adjusted   : Boolean := False;
        Finalized  : Boolean := False;
! 
!       Count_Prim : Int;
!       DT_Length  : Int;
        Nb_Prim    : Int;
+       Parent_EC  : Int;
        Prim       : Entity_Id;
        Prim_Elmt  : Elmt_Id;
  
!       procedure Validate_Position (Prim : Entity_Id);
!       --  Check that the position assignated to Prim is completely safe
!       --  (it has not been assigned to a previously defined primitive
!       --   operation of Typ)
! 
!       -----------------------
!       -- Validate_Position --
!       -----------------------
  
+       procedure Validate_Position (Prim : Entity_Id) is
+          Prim_Elmt : Elmt_Id;
+ 
+       begin
+          Prim_Elmt :=  First_Elmt (Primitive_Operations (Typ));
+          while Present (Prim_Elmt)
+             and then Node (Prim_Elmt) /= Prim
+          loop
+             --  Primitive operations covering abstract interfaces are
+             --  allocated later
+ 
+             if Present (Abstract_Interface_Alias (Node (Prim_Elmt))) then
+                null;
+ 
+             --  Predefined dispatching operations are completely safe.
+             --  They are allocated at fixed positions.
+ 
+             elsif Is_Predefined_Dispatching_Operation (Node (Prim_Elmt)) then
+                null;
+ 
+             --  Aliased subprograms are safe
+ 
+             elsif Present (Alias (Prim)) then
+                null;
+ 
+             elsif DT_Position (Node (Prim_Elmt)) = DT_Position (Prim) then
+ 
+                --  Handle aliased subprograms
+ 
+                declare
+                   Op_1 : Entity_Id;
+                   Op_2 : Entity_Id;
+ 
+                begin
+                   Op_1 := Node (Prim_Elmt);
+                   loop
+                      if Present (Overridden_Operation (Op_1)) then
+                         Op_1 := Overridden_Operation (Op_1);
+                      elsif Present (Alias (Op_1)) then
+                         Op_1 := Alias (Op_1);
+                      else
+                         exit;
+                      end if;
+                   end loop;
+ 
+                   Op_2 := Prim;
+                   loop
+                      if Present (Overridden_Operation (Op_2)) then
+                         Op_2 := Overridden_Operation (Op_2);
+                      elsif Present (Alias (Op_2)) then
+                         Op_2 := Alias (Op_2);
+                      else
+                         exit;
+                      end if;
+                   end loop;
+ 
+                   if Op_1 /= Op_2 then
+                      raise Program_Error;
+                   end if;
+                end;
+             end if;
+ 
+             Next_Elmt (Prim_Elmt);
+          end loop;
+       end Validate_Position;
+ 
+    --  Start of processing for Set_All_DT_Position
+ 
+    begin
        --  Get Entry_Count of the parent
  
        if Parent_Typ /= Typ
!         and then DT_Entry_Count (First_Tag_Component (Parent_Typ)) /= No_Uint
        then
!          Parent_EC := UI_To_Int (DT_Entry_Count
!                                    (First_Tag_Component (Parent_Typ)));
        else
           Parent_EC := 0;
        end if;
*************** package body Exp_Disp is
*** 1159,1167 ****
                 --  Get the slot from the parent subprogram if any
  
                 declare
!                   H : Entity_Id := Homonym (Prim);
  
                 begin
                    while Present (H) loop
                       if Present (DTC_Entity (H))
                         and then Root_Type (Scope (DTC_Entity (H))) = Root_Typ
--- 3966,3975 ----
                 --  Get the slot from the parent subprogram if any
  
                 declare
!                   H : Entity_Id;
  
                 begin
+                   H := Homonym (Prim);
                    while Present (H) loop
                       if Present (DTC_Entity (H))
                         and then Root_Type (Scope (DTC_Entity (H))) = Root_Typ
*************** package body Exp_Disp is
*** 1192,1198 ****
           --  Check that the declared size of the Vtable is bigger or equal
           --  than the number of primitive operations (if bigger it means that
           --  some of the c++ virtual functions were not imported, that is
!          --  allowed)
  
           if DT_Entry_Count (The_Tag) = No_Uint
             or else not Is_CPP_Class (Typ)
--- 4000,4006 ----
           --  Check that the declared size of the Vtable is bigger or equal
           --  than the number of primitive operations (if bigger it means that
           --  some of the c++ virtual functions were not imported, that is
!          --  allowed).
  
           if DT_Entry_Count (The_Tag) = No_Uint
             or else not Is_CPP_Class (Typ)
*************** package body Exp_Disp is
*** 1205,1211 ****
           end if;
  
           --  Check that Positions are not duplicate nor outside the range of
!          --  the Vtable
  
           declare
              Size : constant Int := UI_To_Int (DT_Entry_Count (The_Tag));
--- 4013,4019 ----
           end if;
  
           --  Check that Positions are not duplicate nor outside the range of
!          --  the Vtable.
  
           declare
              Size : constant Int := UI_To_Int (DT_Entry_Count (The_Tag));
*************** package body Exp_Disp is
*** 1238,1272 ****
              end loop;
           end;
  
        --  For regular Ada tagged types, just set the DT_Position for
        --  each primitive operation. Perform some sanity checks to avoid
        --  to build completely inconsistant dispatch tables.
  
        --  Note that the _Size primitive is always set at position 1 in order
        --  to comply with the needs of Ada.Tags.Parent_Size (see documentation
!       --  in a-tags.ad?)
  
        else
!          Nb_Prim := 1;
!          Prim_Elmt := First_Prim;
           while Present (Prim_Elmt) loop
!             Nb_Prim := Nb_Prim + 1;
!             Prim := Node (Prim_Elmt);
!             Set_DTC_Entity (Prim, The_Tag);
  
-             if Chars (Prim) = Name_uSize then
-                Set_DT_Position (Prim, Uint_1);
-                Nb_Prim := Nb_Prim - 1;
              else
!                Set_DT_Position (Prim, UI_From_Int (Nb_Prim));
              end if;
  
!             if Chars (Prim) = Name_Finalize
!               and then
!                 (Is_Predefined_File_Name (Unit_File_Name (Current_Sem_Unit))
!                    or else not Is_Predefined_File_Name
!                                   (Unit_File_Name (Get_Source_Unit (Prim))))
              then
                 Finalized := True;
              end if;
  
--- 4046,4288 ----
              end loop;
           end;
  
+          --  Generate listing showing the contents of the dispatch tables
+ 
+          if Debug_Flag_ZZ then
+             Write_DT (Typ);
+          end if;
+ 
        --  For regular Ada tagged types, just set the DT_Position for
        --  each primitive operation. Perform some sanity checks to avoid
        --  to build completely inconsistant dispatch tables.
  
        --  Note that the _Size primitive is always set at position 1 in order
        --  to comply with the needs of Ada.Tags.Parent_Size (see documentation
!       --  in Ada.Tags).
  
        else
!          --  First stage: Set the DTC entity of all the primitive operations
!          --  This is required to properly read the DT_Position attribute in
!          --  the latter stages.
! 
!          Prim_Elmt  := First_Prim;
!          Count_Prim := 0;
           while Present (Prim_Elmt) loop
!             Count_Prim := Count_Prim + 1;
!             Prim       := Node (Prim_Elmt);
! 
!             --  Ada 2005 (AI-251)
! 
!             if Present (Abstract_Interface_Alias (Prim))
!               and then Is_Interface (Scope (DTC_Entity
!                                       (Abstract_Interface_Alias (Prim))))
!             then
!                Set_DTC_Entity (Prim,
!                   Find_Interface_Tag
!                     (T => Typ,
!                      Iface => Scope (DTC_Entity
!                                       (Abstract_Interface_Alias (Prim)))));
  
              else
!                Set_DTC_Entity (Prim, The_Tag);
              end if;
  
!             --  Clear any previous value of the DT_Position attribute. In this
!             --  way we ensure that the final position of all the primitives is
!             --  stablished by the following stages of this algorithm.
! 
!             Set_DT_Position (Prim, No_Uint);
! 
!             Next_Elmt (Prim_Elmt);
!          end loop;
! 
!          declare
!             Fixed_Prim : array (Int range 0 .. Default_Prim_Op_Count +
!                                   Parent_EC + Count_Prim)
!                            of Boolean := (others => False);
! 
!             E : Entity_Id;
! 
!          begin
!             --  Second stage: Register fixed entries
! 
!             Nb_Prim   := Default_Prim_Op_Count;
!             Prim_Elmt := First_Prim;
!             while Present (Prim_Elmt) loop
!                Prim := Node (Prim_Elmt);
! 
!                --  Predefined primitives have a fixed position in all the
!                --  dispatch tables
! 
!                if Is_Predefined_Dispatching_Operation (Prim) then
!                   Set_DT_Position (Prim, Default_Prim_Op_Position (Prim));
!                   Fixed_Prim (UI_To_Int (DT_Position (Prim))) := True;
! 
!                --  Overriding interface primitives of an ancestor
! 
!                elsif DT_Position (Prim) = No_Uint
!                  and then Present (Abstract_Interface_Alias (Prim))
!                  and then Present (DTC_Entity
!                                    (Abstract_Interface_Alias (Prim)))
!                  and then DT_Position (Abstract_Interface_Alias (Prim))
!                                         /= No_Uint
!                  and then Is_Inherited_Operation (Prim)
!                  and then Is_Ancestor (Scope
!                                        (DTC_Entity
!                                         (Abstract_Interface_Alias (Prim))),
!                                        Typ)
!                then
!                   Set_DT_Position (Prim,
!                     DT_Position (Abstract_Interface_Alias (Prim)));
!                   Set_DT_Position (Alias (Prim),
!                     DT_Position (Abstract_Interface_Alias (Prim)));
!                   Fixed_Prim (UI_To_Int (DT_Position (Prim))) := True;
! 
!                --  Overriding primitives must use the same entry as the
!                --  overriden primitive
! 
!                elsif DT_Position (Prim) = No_Uint
!                  and then Present (Alias (Prim))
!                  and then Present (DTC_Entity (Alias (Prim)))
!                  and then DT_Position (Alias (Prim)) /= No_Uint
!                  and then Is_Inherited_Operation (Prim)
!                  and then Is_Ancestor (Scope (DTC_Entity (Alias (Prim))), Typ)
!                then
!                   E := Alias (Prim);
!                   while not (Present (DTC_Entity (E))
!                               or else DT_Position (E) = No_Uint)
!                     and then Present (Alias (E))
!                   loop
!                      E := Alias (E);
!                   end loop;
! 
!                   pragma Assert (Present (DTC_Entity (E))
!                                    and then
!                                  DT_Position (E) /= No_Uint);
! 
!                   Set_DT_Position (Prim, DT_Position (E));
!                   Fixed_Prim (UI_To_Int (DT_Position (E))) := True;
! 
!                   --  If this is not the last element in the chain continue
!                   --  traversing the chain. This is required to properly
!                   --  handling renamed primitives
! 
!                   while Present (Alias (E)) loop
!                      E   := Alias (E);
!                      Fixed_Prim (UI_To_Int (DT_Position (E))) := True;
!                   end loop;
!                end if;
! 
!                Next_Elmt (Prim_Elmt);
!             end loop;
! 
!             --  Third stage: Fix the position of all the new primitives
!             --  Entries associated with primitives covering interfaces
!             --  are handled in a latter round.
! 
!             Prim_Elmt := First_Prim;
!             while Present (Prim_Elmt) loop
!                Prim := Node (Prim_Elmt);
! 
!                --  Skip primitives previously set entries
! 
!                if DT_Position (Prim) /= No_Uint then
!                   null;
! 
!                elsif Etype (DTC_Entity (Prim)) /= RTE (RE_Tag) then
!                   null;
! 
!                --  Primitives covering interface primitives are
!                --  handled later
! 
!                elsif Present (Abstract_Interface_Alias (Prim)) then
!                   null;
! 
!                else
!                   --  Take the next available position in the DT
! 
!                   loop
!                      Nb_Prim := Nb_Prim + 1;
!                      exit when not Fixed_Prim (Nb_Prim);
!                   end loop;
! 
!                   Set_DT_Position (Prim, UI_From_Int (Nb_Prim));
!                   Fixed_Prim (Nb_Prim) := True;
!                end if;
! 
!                Next_Elmt (Prim_Elmt);
!             end loop;
!          end;
! 
!          --  Fourth stage: Complete the decoration of primitives covering
!          --  interfaces (that is, propagate the DT_Position attribute
!          --  from the aliased primitive)
! 
!          Prim_Elmt := First_Prim;
!          while Present (Prim_Elmt) loop
!             Prim := Node (Prim_Elmt);
! 
!             if DT_Position (Prim) = No_Uint
!                and then Present (Abstract_Interface_Alias (Prim))
              then
+                --  Check if this entry will be placed in the primary DT
+ 
+                if Etype (DTC_Entity (Abstract_Interface_Alias (Prim)))
+                     = RTE (RE_Tag)
+                then
+                   pragma Assert (DT_Position (Alias (Prim)) /= No_Uint);
+                   Set_DT_Position (Prim, DT_Position (Alias (Prim)));
+ 
+                --  Otherwise it will be placed in the secondary DT
+ 
+                else
+                   pragma Assert
+                     (DT_Position (Abstract_Interface_Alias (Prim)) /= No_Uint);
+ 
+                   Set_DT_Position (Prim,
+                      DT_Position (Abstract_Interface_Alias (Prim)));
+                end if;
+             end if;
+ 
+             Next_Elmt (Prim_Elmt);
+          end loop;
+ 
+          --  Generate listing showing the contents of the dispatch tables.
+          --  This action is done before some further static checks because
+          --  in case of critical errors caused by a wrong dispatch table
+          --  we need to see the contents of such table.
+ 
+          if Debug_Flag_ZZ then
+             Write_DT (Typ);
+          end if;
+ 
+          --  Final stage: Ensure that the table is correct plus some further
+          --  verifications concerning the primitives.
+ 
+          Prim_Elmt := First_Prim;
+          DT_Length := 0;
+          while Present (Prim_Elmt) loop
+             Prim := Node (Prim_Elmt);
+ 
+             --  At this point all the primitives MUST have a position
+             --  in the dispatch table
+ 
+             if DT_Position (Prim) = No_Uint then
+                raise Program_Error;
+             end if;
+ 
+             --  Calculate real size of the dispatch table
+ 
+             if UI_To_Int (DT_Position (Prim)) > DT_Length then
+                DT_Length := UI_To_Int (DT_Position (Prim));
+             end if;
+ 
+             --  Ensure that the asignated position in the dispatch
+             --  table is correct
+ 
+             Validate_Position (Prim);
+ 
+             if Chars (Prim) = Name_Finalize then
                 Finalized := True;
              end if;
  
*************** package body Exp_Disp is
*** 1276,1292 ****
  
              --  An abstract operation cannot be declared in the private part
              --  for a visible abstract type, because it could never be over-
!             --  ridden. For explicit declarations this is checked at the point
!             --  of declaration, but for inherited operations it must be done
!             --  when building the dispatch table. Input is excluded because
  
              if Is_Abstract (Typ)
                and then Is_Abstract (Prim)
                and then Present (Alias (Prim))
                and then Is_Derived_Type (Typ)
                and then In_Private_Part (Current_Scope)
!               and then List_Containing (Parent (Prim))
!                =  Private_Declarations
                     (Specification (Unit_Declaration_Node (Current_Scope)))
                and then Original_View_In_Visible_Part (Typ)
              then
--- 4292,4310 ----
  
              --  An abstract operation cannot be declared in the private part
              --  for a visible abstract type, because it could never be over-
!             --  ridden. For explicit declarations this is checked at the
!             --  point of declaration, but for inherited operations it must
!             --  be done when building the dispatch table. Input is excluded
!             --  because
  
              if Is_Abstract (Typ)
                and then Is_Abstract (Prim)
                and then Present (Alias (Prim))
                and then Is_Derived_Type (Typ)
                and then In_Private_Part (Current_Scope)
!               and then
!                 List_Containing (Parent (Prim)) =
!                   Private_Declarations
                     (Specification (Unit_Declaration_Node (Current_Scope)))
                and then Original_View_In_Visible_Part (Typ)
              then
*************** package body Exp_Disp is
*** 1302,1313 ****
                    Error_Msg_NE
                      ("abstract inherited private operation&" &
                       " must be overridden ('R'M 3.9.3(10))",
!                      Parent (Typ), Prim);
                 end if;
              end if;
              Next_Elmt (Prim_Elmt);
           end loop;
  
           if Is_Controlled (Typ) then
              if not Finalized then
                 Error_Msg_N
--- 4320,4334 ----
                    Error_Msg_NE
                      ("abstract inherited private operation&" &
                       " must be overridden ('R'M 3.9.3(10))",
!                     Parent (Typ), Prim);
                 end if;
              end if;
+ 
              Next_Elmt (Prim_Elmt);
           end loop;
  
+          --  Additional check
+ 
           if Is_Controlled (Typ) then
              if not Finalized then
                 Error_Msg_N
*************** package body Exp_Disp is
*** 1319,1333 ****
              end if;
           end if;
  
!          Set_DT_Entry_Count (The_Tag, UI_From_Int (Nb_Prim));
  
           --  The derived type must have at least as many components as its
           --  parent (for root types, the Etype points back to itself
           --  and the test should not fail)
  
!          pragma Assert (
!            DT_Entry_Count (The_Tag) >=
!            DT_Entry_Count (Tag_Component (Parent_Typ)));
        end if;
     end Set_All_DT_Position;
  
--- 4340,4363 ----
              end if;
           end if;
  
!          --  Set the final size of the Dispatch Table
! 
!          Set_DT_Entry_Count (The_Tag, UI_From_Int (DT_Length));
  
           --  The derived type must have at least as many components as its
           --  parent (for root types, the Etype points back to itself
           --  and the test should not fail)
  
!          --  This test fails compiling the partial view of a tagged type
!          --  derived from an interface which defines the overriding subprogram
!          --  in the private part. This needs further investigation???
! 
!          if not Has_Private_Declaration (Typ) then
!             pragma Assert (
!               DT_Entry_Count (The_Tag) >=
!               DT_Entry_Count (First_Tag_Component (Parent_Typ)));
!             null;
!          end if;
        end if;
     end Set_All_DT_Position;
  
*************** package body Exp_Disp is
*** 1383,1386 ****
--- 4413,4516 ----
        end if;
     end Set_Default_Constructor;
  
+    --------------
+    -- Write_DT --
+    --------------
+ 
+    procedure Write_DT (Typ : Entity_Id) is
+       Elmt : Elmt_Id;
+       Prim : Node_Id;
+ 
+    begin
+       --  Protect this procedure against wrong usage. Required because it will
+       --  be used directly from GDB
+ 
+       if not (Typ in First_Node_Id .. Last_Node_Id)
+         or else not Is_Tagged_Type (Typ)
+       then
+          Write_Str ("wrong usage: Write_DT must be used with tagged types");
+          Write_Eol;
+          return;
+       end if;
+ 
+       Write_Int (Int (Typ));
+       Write_Str (": ");
+       Write_Name (Chars (Typ));
+ 
+       if Is_Interface (Typ) then
+          Write_Str (" is interface");
+       end if;
+ 
+       Write_Eol;
+ 
+       Elmt := First_Elmt (Primitive_Operations (Typ));
+       while Present (Elmt) loop
+          Prim := Node (Elmt);
+          Write_Str  (" - ");
+ 
+          --  Indicate if this primitive will be allocated in the primary
+          --  dispatch table or in a secondary dispatch table associated
+          --  with an abstract interface type
+ 
+          if Present (DTC_Entity (Prim)) then
+             if Etype (DTC_Entity (Prim)) = RTE (RE_Tag) then
+                Write_Str ("[P] ");
+             else
+                Write_Str ("[s] ");
+             end if;
+          end if;
+ 
+          --  Output the node of this primitive operation and its name
+ 
+          Write_Int  (Int (Prim));
+          Write_Str  (": ");
+          Write_Name (Chars (Prim));
+ 
+          --  Indicate if this primitive has an aliased primitive
+ 
+          if Present (Alias (Prim)) then
+             Write_Str (" (alias = ");
+             Write_Int (Int (Alias (Prim)));
+ 
+             --  If the DTC_Entity attribute is already set we can also output
+             --  the name of the interface covered by this primitive (if any)
+ 
+             if Present (DTC_Entity (Alias (Prim)))
+               and then Is_Interface (Scope (DTC_Entity (Alias (Prim))))
+             then
+                Write_Str  (" from interface ");
+                Write_Name (Chars (Scope (DTC_Entity (Alias (Prim)))));
+             end if;
+ 
+             if Present (Abstract_Interface_Alias (Prim)) then
+                Write_Str  (", AI_Alias of ");
+                Write_Name (Chars (Scope (DTC_Entity
+                                           (Abstract_Interface_Alias (Prim)))));
+                Write_Char (':');
+                Write_Int  (Int (Abstract_Interface_Alias (Prim)));
+             end if;
+ 
+             Write_Str (")");
+          end if;
+ 
+          --  Display the final position of this primitive in its associated
+          --  (primary or secondary) dispatch table
+ 
+          if Present (DTC_Entity (Prim))
+            and then DT_Position (Prim) /= No_Uint
+          then
+             Write_Str (" at #");
+             Write_Int (UI_To_Int (DT_Position (Prim)));
+          end if;
+ 
+          if Is_Abstract (Prim) then
+             Write_Str (" is abstract;");
+          end if;
+ 
+          Write_Eol;
+ 
+          Next_Elmt (Elmt);
+       end loop;
+    end Write_DT;
+ 
  end Exp_Disp;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_disp.ads gcc-4.1.0/gcc/ada/exp_disp.ads
*** gcc-4.0.2/gcc/ada/exp_disp.ads	Thu Feb 10 13:50:43 2005
--- gcc-4.1.0/gcc/ada/exp_disp.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 25,69 ****
  ------------------------------------------------------------------------------
  
  --  This package contains routines involved in tagged types and dynamic
! --  dispatching expansion
  
  with Types; use Types;
  package Exp_Disp is
  
     type DT_Access_Action is
        (CW_Membership,
         DT_Entry_Size,
         DT_Prologue_Size,
!        Get_Expanded_Name,
         Get_External_Tag,
         Get_Prim_Op_Address,
         Get_RC_Offset,
         Get_Remotely_Callable,
-        Get_TSD,
         Inherit_DT,
         Inherit_TSD,
         Register_Tag,
         Set_Expanded_Name,
         Set_External_Tag,
         Set_Prim_Op_Address,
         Set_RC_Offset,
         Set_Remotely_Callable,
         Set_TSD,
         TSD_Entry_Size,
         TSD_Prologue_Size);
  
     function Fill_DT_Entry
!      (Loc  : Source_Ptr;
!       Prim : Entity_Id)
!       return Node_Id;
     --  Generate the code necessary to fill the appropriate entry of the
     --  dispatch table of Prim's controlling type with Prim's address.
  
     function Make_DT_Access_Action
       (Typ    : Entity_Id;
        Action : DT_Access_Action;
!       Args   : List_Id)
!       return Node_Id;
     --  Generate a call to one of the Dispatch Table Access Subprograms defined
     --  in Ada.Tags or in Interfaces.Cpp
  
--- 25,266 ----
  ------------------------------------------------------------------------------
  
  --  This package contains routines involved in tagged types and dynamic
! --  dispatching expansion.
  
  with Types; use Types;
+ 
  package Exp_Disp is
  
+    -------------------------------------
+    -- Predefined primitive operations --
+    -------------------------------------
+ 
+    --  The predefined primitive operations (PPOs) are subprograms generated
+    --  by GNAT for a particular tagged type. Their role is to provide support
+    --  for different Ada language features such as the attribute 'Size or
+    --  handling of dispatching triggers in select statements. PPOs are created
+    --  when a tagged type is expanded or frozen. These subprograms are later
+    --  collected and inserted into the dispatch table of a tagged type at
+    --  fixed positions. Some of the PPOs that manipulate data in tagged objects
+    --  require the generation of thunks.
+ 
+    --  List of predefined primitive operations
+ 
+    --    Leading underscores designate reserved names. Bracketed numerical
+    --    values represent dispatch table slot numbers.
+ 
+    --      _Size (1) - implementation of the attribute 'Size for any tagged
+    --      type. Constructs of the form Prefix'Size are converted into
+    --      Prefix._Size.
+ 
+    --      _Alignment (2) - implementation of the attribute 'Alignment for
+    --      any tagged type. Constructs of the form Prefix'Alignment are
+    --      converted into Prefix._Alignment.
+ 
+    --      TSS_Stream_Read (3) - implementation of the stream attribute Read
+    --      for any tagged type.
+ 
+    --      TSS_Stream_Write (4) - implementation of the stream attribute Write
+    --      for any tagged type.
+ 
+    --      TSS_Stream_Input (5) - implementation of the stream attribute Input
+    --      for any tagged type.
+ 
+    --      TSS_Stream_Output (6) - implementation of the stream attribute
+    --      Output for any tagged type.
+ 
+    --      Op_Eq (7) - implementation of the equality operator for any non-
+    --      limited tagged type.
+ 
+    --      _Assign (8) - implementation of the assignment operator for any
+    --      non-limited tagged type.
+ 
+    --      TSS_Deep_Adjust (9) - implementation of the finalization operation
+    --      Adjust for any non-limited tagged type.
+ 
+    --      TSS_Deep_Finalize (10) - implementation of the finalization
+    --      operation Finalize for any non-limited tagged type.
+ 
+    --      _Disp_Asynchronous_Select (11) - used in the expansion of ATC with
+    --      dispatching triggers. Null implementation for limited interfaces,
+    --      full body generation for types that implement limited interfaces,
+    --      not generated for the rest of the cases. See Expand_N_Asynchronous_
+    --      Select in Exp_Ch9 for more information.
+ 
+    --      _Disp_Conditional_Select (12) - used in the expansion of conditional
+    --      selects with dispatching triggers. Null implementation for limited
+    --      interfaces, full body generation for types that implement limited
+    --      interfaces, not generated for the rest of the cases. See Expand_N_
+    --      Conditional_Entry_Call in Exp_Ch9 for more information.
+ 
+    --      _Disp_Get_Prim_Op_Kind (13) - helper routine used in the expansion
+    --      of ATC with dispatching triggers. Null implementation for limited
+    --      interfaces, full body generation for types that implement limited
+    --      interfaces, not generated for the rest of the cases.
+ 
+    --      _Disp_Get_Task_Id (14) - helper routine used in the expansion of
+    --      Abort, attributes 'Callable and 'Terminated for task interface
+    --      class-wide types. Full body generation for task types, null
+    --      implementation for limited interfaces, not generated for the rest
+    --      of the cases. See Expand_N_Attribute_Reference in Exp_Attr and
+    --      Expand_N_Abort_Statement in Exp_Ch9 for more information.
+ 
+    --      _Disp_Timed_Select (15) - used in the expansion of timed selects
+    --      with dispatching triggers. Null implementation for limited
+    --      interfaces, full body generation for types that implement limited
+    --      interfaces, not generated for the rest of the cases. See Expand_N_
+    --      Timed_Entry_Call for more information.
+ 
+    --  Lifecycle of predefined primitive operations
+ 
+    --      The specifications and bodies of the PPOs are created by
+    --      Make_Predefined_Primitive_Specs and Predefined_Primitive_Bodies
+    --      in Exp_Ch3. The generated specifications are immediately analyzed,
+    --      while the bodies are left as freeze actions to the tagged type for
+    --      which they are created.
+ 
+    --      PPOs are collected and added to the Primitive_Operations list of
+    --      a type by the regular analysis mechanism.
+ 
+    --      PPOs are frozen in Predefined_Primitive_Freeze in Exp_Ch3.
+ 
+    --      Thunks for PPOs are created in Freeze_Subprogram in Exp_Ch6, by a
+    --      call to Register_Predefined_DT_Entry, also in Exp_Ch6.
+ 
+    --      Dispatch table positions of PPOs are set in Set_All_DT_Position in
+    --      Exp_Disp.
+ 
+    --      Calls to PPOs procede as regular dispatching calls. If the PPO
+    --      has a thunk, a call procedes as a regular dispatching call with
+    --      a thunk.
+ 
+    --  Guidelines for addition of new predefined primitive operations
+ 
+    --      Update the value of constant Default_Prim_Op_Count in Exp_Disp.ads
+    --      to reflect the new number of PPOs.
+ 
+    --      Update the value of constant Default_Prim_Op_Count in A-Tags.ads
+    --      to reflect the new number of PPOs. This value should be the same
+    --      as the one in Exp_Disp.ads.
+ 
+    --      Introduce a new predefined name for the new PPO in Snames.ads and
+    --      Snames.adb.
+ 
+    --      Categorize the new PPO name as predefined by adding an entry in
+    --      Is_Predefined_Dispatching_Operation in Exp_Util.adb.
+ 
+    --      Reserve a dispatch table position for the new PPO by adding an entry
+    --      in Default_Prim_Op_Position in Exp_Disp.adb.
+ 
+    --      Generate the specification of the new PPO in Make_Predefined_
+    --      Primitive_Spec in Exp_Ch3.adb. The Is_Internal flag of the defining
+    --      identifier of the specification must be set to True.
+ 
+    --      Generate the body of the new PPO in Predefined_Primitive_Bodies in
+    --      Exp_Ch3.adb. The Is_Internal flag of the defining identifier of the
+    --      specification must be set to True.
+ 
+    --      If the new PPO requires a thunk, add an entry in Freeze_Subprogram
+    --      in Exp_Ch6.adb.
+ 
+    --      When generating calls to a PPO, use Find_Prim_Op from Exp_Util.ads
+    --      to retrieve the entity of the operation directly.
+ 
+    --  Number of predefined primitive operations added by the Expander
+    --  for a tagged type. If more predefined primitive operations are
+    --  added, the following items must be changed:
+ 
+    --    Ada.Tags.Defailt_Prim_Op_Count    - indirect use
+    --    Exp_Disp.Default_Prim_Op_Position - indirect use
+    --    Exp_Disp.Set_All_DT_Position      - direct   use
+ 
+    Default_Prim_Op_Count : constant Int := 15;
+ 
     type DT_Access_Action is
        (CW_Membership,
+        IW_Membership,
         DT_Entry_Size,
         DT_Prologue_Size,
!        Get_Access_Level,
!        Get_Entry_Index,
         Get_External_Tag,
+        Get_Offset_Index,
         Get_Prim_Op_Address,
+        Get_Prim_Op_Kind,
         Get_RC_Offset,
         Get_Remotely_Callable,
         Inherit_DT,
         Inherit_TSD,
+        Register_Interface_Tag,
         Register_Tag,
+        Set_Access_Level,
+        Set_Entry_Index,
         Set_Expanded_Name,
         Set_External_Tag,
+        Set_Offset_Index,
+        Set_OSD,
         Set_Prim_Op_Address,
+        Set_Prim_Op_Kind,
         Set_RC_Offset,
         Set_Remotely_Callable,
+        Set_SSD,
         Set_TSD,
         TSD_Entry_Size,
         TSD_Prologue_Size);
  
+    procedure Expand_Dispatching_Call (Call_Node : Node_Id);
+    --  Expand the call to the operation through the dispatch table and perform
+    --  the required tag checks when appropriate. For CPP types the call is
+    --  done through the Vtable (tag checks are not relevant)
+ 
+    procedure Expand_Interface_Actuals    (Call_Node : Node_Id);
+    --  Ada 2005 (AI-251): Displace all the actuals corresponding to class-wide
+    --  interfaces to reference the interface tag of the actual object
+ 
+    procedure Expand_Interface_Conversion (N : Node_Id);
+    --  Ada 2005 (AI-251): N is a type-conversion node. Reference the base of
+    --  the object to give access to the interface tag associated with the
+    --  secondary dispatch table
+ 
+    function Expand_Interface_Thunk
+      (N           : Node_Id;
+       Thunk_Alias : Node_Id;
+       Thunk_Id    : Entity_Id;
+       Thunk_Tag   : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-251): When a tagged type implements abstract interfaces we
+    --  generate additional subprograms (thunks) to have a layout compatible
+    --  with the C++ ABI. The thunk modifies the value of the first actual of
+    --  the call (that is, the pointer to the object) before transferring
+    --  control to the target function.
+ 
     function Fill_DT_Entry
!      (Loc          : Source_Ptr;
!       Prim         : Entity_Id) return Node_Id;
     --  Generate the code necessary to fill the appropriate entry of the
     --  dispatch table of Prim's controlling type with Prim's address.
  
+    function Fill_Secondary_DT_Entry
+      (Loc          : Source_Ptr;
+       Prim         : Entity_Id;
+       Thunk_Id     : Entity_Id;
+       Iface_DT_Ptr : Entity_Id) return Node_Id;
+    --  (Ada 2005): Generate the code necessary to fill the appropriate entry of
+    --  the secondary dispatch table of Prim's controlling type with Thunk_Id's
+    --  address.
+ 
+    function Get_Remotely_Callable (Obj : Node_Id) return Node_Id;
+    --  Return an expression that holds True if the object can be transmitted
+    --  onto another partition according to E.4 (18)
+ 
+    function Init_Predefined_Interface_Primitives
+      (Typ : Entity_Id) return List_Id;
+    --  Ada 2005 (AI-251): Initialize the entries associated with predefined
+    --  primitives in all the secondary dispatch tables of Typ.
+ 
     function Make_DT_Access_Action
       (Typ    : Entity_Id;
        Action : DT_Access_Action;
!       Args   : List_Id) return Node_Id;
     --  Generate a call to one of the Dispatch Table Access Subprograms defined
     --  in Ada.Tags or in Interfaces.Cpp
  
*************** package Exp_Disp is
*** 71,93 ****
     --  Expand the declarations for the Dispatch Table (or the Vtable in
     --  the case of type whose ancestor is a CPP_Class)
  
     procedure Set_All_DT_Position (Typ : Entity_Id);
     --  Set the DT_Position field for each primitive operation. In the CPP
!    --  Class case check that no pragma CPP_Virtual is missing  and that the
     --  DT_Position are coherent
  
-    procedure Expand_Dispatching_Call (Call_Node : Node_Id);
-    --  Expand the call to the operation through the dispatch table and perform
-    --  the required tag checks when appropriate. For CPP types the call is
-    --  done through the Vtable (tag checks are not relevant)
- 
     procedure Set_Default_Constructor (Typ : Entity_Id);
     --  Typ is a CPP_Class type. Create the Init procedure of that type to
     --  be the default constructor (i.e. the function returning this type,
     --  having a pragma CPP_Constructor and no parameter)
  
!    function Get_Remotely_Callable (Obj : Node_Id) return Node_Id;
!    --  Return an expression that holds True if the object can be transmitted
!    --  onto another partition according to E.4 (18)
  
  end Exp_Disp;
--- 268,365 ----
     --  Expand the declarations for the Dispatch Table (or the Vtable in
     --  the case of type whose ancestor is a CPP_Class)
  
+    function Make_Disp_Asynchronous_Select_Body
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the body of the primitive operation of type
+    --  Typ used for dispatching in asynchronous selects. Generate a null body
+    --  if Typ is an interface type.
+ 
+    function Make_Disp_Asynchronous_Select_Spec
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the specification of the primitive operation
+    --  of type Typ used for dispatching in asynchronous selects.
+ 
+    function Make_Disp_Conditional_Select_Body
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the body of the primitive operation of type
+    --  Typ used for dispatching in conditional selects. Generate a null body
+    --  if Typ is an interface type.
+ 
+    function Make_Disp_Conditional_Select_Spec
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the specification of the primitive operation
+    --  of type Typ used for dispatching in conditional selects.
+ 
+    function Make_Disp_Get_Prim_Op_Kind_Body
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the body of the primitive operation of type
+    --  Typ used for retrieving the callable entity kind during dispatching in
+    --  asynchronous selects. Generate a null body if Typ is an interface type.
+ 
+    function Make_Disp_Get_Prim_Op_Kind_Spec
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the specification of the primitive operation
+    --  of the type Typ use for retrieving the callable entity kind during
+    --  dispatching in asynchronous selects.
+ 
+    function Make_Disp_Get_Task_Id_Body
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the body of the primitive operation of type
+    --  Typ used for retrieving the _task_id field of a task interface class-
+    --  wide type. Generate a null body if Typ is an interface or a non-task
+    --  type.
+ 
+    function Make_Disp_Get_Task_Id_Spec
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the specification of the primitive operation
+    --  of type Typ used for retrieving the _task_id field of a task interface
+    --  class-wide type.
+ 
+    function Make_Disp_Timed_Select_Body
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the body of the primitive operation of type
+    --  Typ used for dispatching in timed selects. Generate a null body if Nul
+    --  is an interface type.
+ 
+    function Make_Disp_Timed_Select_Spec
+      (Typ : Entity_Id) return Node_Id;
+    --  Ada 2005 (AI-345): Generate the specification of the primitive operation
+    --  of type Typ used for dispatching in timed selects.
+ 
+    function Make_Select_Specific_Data_Table
+      (Typ : Entity_Id) return List_Id;
+    --  Ada 2005 (AI-345): Create and populate the auxiliary table in the TSD
+    --  of Typ used for dispatching in asynchronous, conditional and timed
+    --  selects. Generate code to set the primitive operation kinds and entry
+    --  indices of primitive operations and primitive wrappers.
+ 
+    procedure Make_Secondary_DT
+      (Typ             : Entity_Id;
+       Ancestor_Typ    : Entity_Id;
+       Suffix_Index    : Int;
+       Iface           : Entity_Id;
+       AI_Tag          : Entity_Id;
+       Acc_Disp_Tables : in out Elist_Id;
+       Result          : out List_Id);
+    --  Ada 2005 (AI-251): Expand the declarations for the Secondary Dispatch
+    --  Table of Typ associated with Iface (each abstract interface implemented
+    --  by Typ has a secondary dispatch table). The arguments Typ, Ancestor_Typ
+    --  and Suffix_Index are used to generate an unique external name which
+    --  is added at the end of Acc_Disp_Tables; this external name will be
+    --  used later by the subprogram Exp_Ch3.Build_Init_Procedure.
+ 
     procedure Set_All_DT_Position (Typ : Entity_Id);
     --  Set the DT_Position field for each primitive operation. In the CPP
!    --  Class case check that no pragma CPP_Virtual is missing and that the
     --  DT_Position are coherent
  
     procedure Set_Default_Constructor (Typ : Entity_Id);
     --  Typ is a CPP_Class type. Create the Init procedure of that type to
     --  be the default constructor (i.e. the function returning this type,
     --  having a pragma CPP_Constructor and no parameter)
  
!    procedure Write_DT (Typ : Entity_Id);
!    pragma Export (Ada, Write_DT);
!    --  Debugging procedure (to be called within gdb)
  
  end Exp_Disp;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_dist.adb gcc-4.1.0/gcc/ada/exp_dist.adb
*** gcc-4.0.2/gcc/ada/exp_dist.adb	Thu Feb 10 13:50:17 2005
--- gcc-4.1.0/gcc/ada/exp_dist.adb	Tue Nov 15 13:57:46 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Dist is
*** 97,103 ****
     --  DSA expansion associates stubs to distributed object types using
     --  a hash table on entity ids.
  
!    function Hash (F : Name_Id)   return Hash_Index;
     --  The generation of subprogram identifiers requires an overload counter
     --  to be associated with each remote subprogram names. These counters
     --  are maintained in a hash table on name ids.
--- 97,103 ----
     --  DSA expansion associates stubs to distributed object types using
     --  a hash table on entity ids.
  
!    function Hash (F : Name_Id) return Hash_Index;
     --  The generation of subprogram identifiers requires an overload counter
     --  to be associated with each remote subprogram names. These counters
     --  are maintained in a hash table on name ids.
*************** package body Exp_Dist is
*** 152,162 ****
     pragma Warnings (Off, Get_Subprogram_Id);
     --  One homonym only is unreferenced (specific to the GARLIC version)
  
-    function Get_PCS_Name return PCS_Names;
-    --  Return the name of a literal of type
-    --    System.Partition_Interface.DSA_Implementation_Type
-    --  indicating what PCS is currently in use.
- 
     procedure Add_RAS_Dereference_TSS (N : Node_Id);
     --  Add a subprogram body for RAS Dereference TSS
  
--- 152,157 ----
*************** package body Exp_Dist is
*** 266,272 ****
     procedure Set_Renaming_TSS
       (Typ     : Entity_Id;
        Nam     : Entity_Id;
!       TSS_Nam : Name_Id);
     --  Create a renaming declaration of subprogram Nam,
     --  and register it as a TSS for Typ with name TSS_Nam.
  
--- 261,267 ----
     procedure Set_Renaming_TSS
       (Typ     : Entity_Id;
        Nam     : Entity_Id;
!       TSS_Nam : TSS_Name_Type);
     --  Create a renaming declaration of subprogram Nam,
     --  and register it as a TSS for Typ with name TSS_Nam.
  
*************** package body Exp_Dist is
*** 275,281 ****
     --  its constrained status.
  
     function Is_RACW_Controlling_Formal
!      (Parameter : Node_Id; Stub_Type : Entity_Id) return Boolean;
     --  Return True if the current parameter is a controlling formal argument
     --  of type Stub_Type or access to Stub_Type.
  
--- 270,277 ----
     --  its constrained status.
  
     function Is_RACW_Controlling_Formal
!      (Parameter : Node_Id;
!       Stub_Type : Entity_Id) return Boolean;
     --  Return True if the current parameter is a controlling formal argument
     --  of type Stub_Type or access to Stub_Type.
  
*************** package body Exp_Dist is
*** 439,449 ****
  
     procedure Specific_Add_RAST_Features
       (Vis_Decl : Node_Id;
!       RAS_Type : Entity_Id;
!       Decls    : List_Id);
!    --  Add declaration for TSSs for a given RAS type. The declarations are
!    --  added just after the declaration of the RAS type itself, while the
!    --  bodies are inserted at the end of Decls. PCS-specific ancillary
     --  subprogram for Add_RAST_Features.
  
     --  An RPC_Target record is used during construction of calling stubs
--- 435,442 ----
  
     procedure Specific_Add_RAST_Features
       (Vis_Decl : Node_Id;
!       RAS_Type : Entity_Id);
!    --  Add declaration for TSSs for a given RAS type. PCS-specific ancillary
     --  subprogram for Add_RAST_Features.
  
     --  An RPC_Target record is used during construction of calling stubs
*************** package body Exp_Dist is
*** 491,497 ****
     --    Is_Known_Async... : True if we know that this is asynchronous
     --    Is_Known_Non_A... : True if we know that this is not asynchronous
     --    Spec              : a node with a Parameter_Specifications and
!    --                        a Subtype_Mark if applicable
     --    Stub_Type         : in case of RACW stubs, parameters of type access
     --                        to Stub_Type will be marshalled using the
     --                        address of the object (the addr field) rather
--- 484,490 ----
     --    Is_Known_Async... : True if we know that this is asynchronous
     --    Is_Known_Non_A... : True if we know that this is not asynchronous
     --    Spec              : a node with a Parameter_Specifications and
!    --                        a Result_Definition if applicable
     --    Stub_Type         : in case of RACW stubs, parameters of type access
     --                        to Stub_Type will be marshalled using the
     --                        address of the object (the addr field) rather
*************** package body Exp_Dist is
*** 581,588 ****
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id;
!          Decls    : List_Id);
  
        procedure Build_General_Calling_Stubs
          (Decls                     : List_Id;
--- 574,580 ----
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id);
  
        procedure Build_General_Calling_Stubs
          (Decls                     : List_Id;
*************** package body Exp_Dist is
*** 657,664 ****
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id;
!          Decls    : List_Id);
  
        procedure Build_General_Calling_Stubs
          (Decls                     : List_Id;
--- 649,655 ----
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id);
  
        procedure Build_General_Calling_Stubs
          (Decls                     : List_Id;
*************** package body Exp_Dist is
*** 1174,1184 ****
              --  simple sequence of string comparisons.
  
              RPC_Receiver_Elsif_Parts := New_List;
-             Append_To (RPC_Receiver_Statements,
-               Make_Implicit_If_Statement (Designated_Type,
-                 Condition       => New_Occurrence_Of (Standard_False, Loc),
-                 Then_Statements => New_List,
-                 Elsif_Parts     => RPC_Receiver_Elsif_Parts));
           end if;
        end if;
  
--- 1165,1170 ----
*************** package body Exp_Dist is
*** 1318,1323 ****
--- 1304,1319 ----
        --  Build the case statement and the heart of the subprogram
  
        if not Is_RAS then
+          if Get_PCS_Name = Name_PolyORB_DSA
+            and then Present (First (RPC_Receiver_Elsif_Parts))
+          then
+             Append_To (RPC_Receiver_Statements,
+               Make_Implicit_If_Statement (Designated_Type,
+                 Condition       => New_Occurrence_Of (Standard_False, Loc),
+                 Then_Statements => New_List,
+                 Elsif_Parts     => RPC_Receiver_Elsif_Parts));
+          end if;
+ 
           Append_To (RPC_Receiver_Case_Alternatives,
             Make_Case_Statement_Alternative (Loc,
               Discrete_Choices => New_List (Make_Others_Choice (Loc)),
*************** package body Exp_Dist is
*** 1485,1497 ****
             Make_Function_Specification (Loc,
               Defining_Unit_Name       => Proc,
               Parameter_Specifications => Param_Specs,
!              Subtype_Mark             =>
                 New_Occurrence_Of (
!                  Entity (Subtype_Mark (Spec)), Loc));
  
           Set_Ekind (Proc, E_Function);
           Set_Etype (Proc,
!            New_Occurrence_Of (Entity (Subtype_Mark (Spec)), Loc));
  
        else
           Proc_Spec :=
--- 1481,1493 ----
             Make_Function_Specification (Loc,
               Defining_Unit_Name       => Proc,
               Parameter_Specifications => Param_Specs,
!              Result_Definition        =>
                 New_Occurrence_Of (
!                  Entity (Result_Definition (Spec)), Loc));
  
           Set_Ekind (Proc, E_Function);
           Set_Etype (Proc,
!            New_Occurrence_Of (Entity (Result_Definition (Spec)), Loc));
  
        else
           Proc_Spec :=
*************** package body Exp_Dist is
*** 1716,1735 ****
     procedure Add_RAST_Features (Vis_Decl : Node_Id) is
        RAS_Type : constant Entity_Id :=
                     Equivalent_Type (Defining_Identifier (Vis_Decl));
- 
-       Spec  : constant Node_Id :=
-                 Specification (Unit (Enclosing_Lib_Unit_Node (Vis_Decl)));
-       Decls : List_Id := Private_Declarations (Spec);
- 
     begin
        pragma Assert (No (TSS (RAS_Type, TSS_RAS_Access)));
- 
-       if No (Decls) then
-          Decls := Visible_Declarations (Spec);
-       end if;
- 
        Add_RAS_Dereference_TSS (Vis_Decl);
!       Specific_Add_RAST_Features (Vis_Decl, RAS_Type, Decls);
     end Add_RAST_Features;
  
     -------------------
--- 1712,1721 ----
     procedure Add_RAST_Features (Vis_Decl : Node_Id) is
        RAS_Type : constant Entity_Id :=
                     Equivalent_Type (Defining_Identifier (Vis_Decl));
     begin
        pragma Assert (No (TSS (RAS_Type, TSS_RAS_Access)));
        Add_RAS_Dereference_TSS (Vis_Decl);
!       Specific_Add_RAST_Features (Vis_Decl, RAS_Type);
     end Add_RAST_Features;
  
     -------------------
*************** package body Exp_Dist is
*** 1866,1872 ****
                Prefix =>
                  New_Occurrence_Of (Pointer, Loc),
                Selector_Name =>
!                 New_Occurrence_Of (Tag_Component
                    (Designated_Type (Etype (Pointer))), Loc)),
            Expression =>
              Make_Attribute_Reference (Loc,
--- 1852,1858 ----
                Prefix =>
                  New_Occurrence_Of (Pointer, Loc),
                Selector_Name =>
!                 New_Occurrence_Of (First_Tag_Component
                    (Designated_Type (Etype (Pointer))), Loc)),
            Expression =>
              Make_Attribute_Reference (Loc,
*************** package body Exp_Dist is
*** 2328,2335 ****
                    Make_Defining_Identifier (Loc,
                      Chars => Name_For_New_Spec),
                  Parameter_Specifications => Parameters,
!                 Subtype_Mark             =>
!                   New_Occurrence_Of (Entity (Subtype_Mark (Spec)), Loc));
  
           when N_Procedure_Specification | N_Access_Procedure_Definition =>
              return
--- 2314,2321 ----
                    Make_Defining_Identifier (Loc,
                      Chars => Name_For_New_Spec),
                  Parameter_Specifications => Parameters,
!                 Result_Definition        =>
!                   New_Occurrence_Of (Entity (Result_Definition (Spec)), Loc));
  
           when N_Procedure_Specification | N_Access_Procedure_Definition =>
              return
*************** package body Exp_Dist is
*** 3245,3251 ****
                   Parameter_Type      =>
                     New_Occurrence_Of (Standard_Boolean, Loc))),
  
!             Subtype_Mark =>
                New_Occurrence_Of (Fat_Type, Loc));
  
           --  Set the kind and return type of the function to prevent
--- 3231,3237 ----
                   Parameter_Type      =>
                     New_Occurrence_Of (Standard_Boolean, Loc))),
  
!             Result_Definition =>
                New_Occurrence_Of (Fat_Type, Loc));
  
           --  Set the kind and return type of the function to prevent
*************** package body Exp_Dist is
*** 3271,3281 ****
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id;
!          Decls    : List_Id)
        is
           pragma Warnings (Off);
!          pragma Unreferenced (RAS_Type, Decls);
           pragma Warnings (On);
        begin
           Add_RAS_Access_TSS (Vis_Decl);
--- 3257,3266 ----
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id)
        is
           pragma Warnings (Off);
!          pragma Unreferenced (RAS_Type);
           pragma Warnings (On);
        begin
           Add_RAS_Access_TSS (Vis_Decl);
*************** package body Exp_Dist is
*** 3433,3439 ****
                         True,
                       Parameter_Type =>
                         New_Occurrence_Of (RTE (RE_Subprogram_Id), Loc))),
!                  Subtype_Mark =>
                     New_Occurrence_Of (RTE (RE_Unsigned_64), Loc)));
           Append_To (Decls, Current_Declaration);
           Analyze (Current_Declaration);
--- 3418,3424 ----
                         True,
                       Parameter_Type =>
                         New_Occurrence_Of (RTE (RE_Subprogram_Id), Loc))),
!                  Result_Definition =>
                     New_Occurrence_Of (RTE (RE_Unsigned_64), Loc)));
           Append_To (Decls, Current_Declaration);
           Analyze (Current_Declaration);
*************** package body Exp_Dist is
*** 4008,4014 ****
                         Make_Attribute_Reference (Loc,
                           Prefix         =>
                             New_Occurrence_Of (
!                              Etype (Subtype_Mark (Spec)), Loc),
  
                           Attribute_Name => Name_Input,
  
--- 3993,3999 ----
                         Make_Attribute_Reference (Loc,
                           Prefix         =>
                             New_Occurrence_Of (
!                              Etype (Result_Definition (Spec)), Loc),
  
                           Attribute_Name => Name_Input,
  
*************** package body Exp_Dist is
*** 4622,4628 ****
  
              declare
                 Etyp   : constant Entity_Id :=
!                           Etype (Subtype_Mark (Specification (Vis_Decl)));
                 Result : constant Node_Id   :=
                            Make_Defining_Identifier (Loc,
                               New_Internal_Name ('R'));
--- 4607,4613 ----
  
              declare
                 Etyp   : constant Entity_Id :=
!                           Etype (Result_Definition (Specification (Vis_Decl)));
                 Result : constant Node_Id   :=
                            Make_Defining_Identifier (Loc,
                               New_Internal_Name ('R'));
*************** package body Exp_Dist is
*** 4785,4802 ****
                 Selector_Name => Make_Identifier (Loc, Selector_Name));
     end Make_Selected_Component;
  
-    ------------------
-    -- Get_PCS_Name --
-    ------------------
- 
-    function Get_PCS_Name return PCS_Names is
-       PCS_Name : constant PCS_Names :=
-                    Chars (Entity (Expression
-                                     (Parent (RTE (RE_DSA_Implementation)))));
-    begin
-       return PCS_Name;
-    end Get_PCS_Name;
- 
     -----------------------
     -- Get_Subprogram_Id --
     -----------------------
--- 4770,4775 ----
*************** package body Exp_Dist is
*** 4901,4907 ****
            Specification              => Make_Function_Specification (Loc,
              Defining_Unit_Name =>
                Make_Defining_Identifier (Loc, New_Internal_Name ('S')),
!             Subtype_Mark       => New_Occurrence_Of (Var_Type, Loc)),
            Declarations               => No_List,
            Handled_Statement_Sequence =>
              Make_Handled_Sequence_Of_Statements (Loc, New_List (
--- 4874,4880 ----
            Specification              => Make_Function_Specification (Loc,
              Defining_Unit_Name =>
                Make_Defining_Identifier (Loc, New_Internal_Name ('S')),
!             Result_Definition  => New_Occurrence_Of (Var_Type, Loc)),
            Declarations               => No_List,
            Handled_Statement_Sequence =>
              Make_Handled_Sequence_Of_Statements (Loc, New_List (
*************** package body Exp_Dist is
*** 5111,5129 ****
           Declarations    : List_Id);
        --  Add the TypeCode TSS for this RACW type
  
!       procedure Add_RAS_From_Any
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id);
        --  Add the From_Any TSS for this RAS type
  
!       procedure Add_RAS_To_Any
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id);
        --  Add the To_Any TSS for this RAS type
  
!       procedure Add_RAS_TypeCode
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id);
        --  Add the TypeCode TSS for this RAS type
  
        procedure Add_RAS_Access_TSS (N : Node_Id);
--- 5084,5096 ----
           Declarations    : List_Id);
        --  Add the TypeCode TSS for this RACW type
  
!       procedure Add_RAS_From_Any (RAS_Type : Entity_Id);
        --  Add the From_Any TSS for this RAS type
  
!       procedure Add_RAS_To_Any   (RAS_Type : Entity_Id);
        --  Add the To_Any TSS for this RAS type
  
!       procedure Add_RAS_TypeCode (RAS_Type : Entity_Id);
        --  Add the TypeCode TSS for this RAS type
  
        procedure Add_RAS_Access_TSS (N : Node_Id);
*************** package body Exp_Dist is
*** 5447,5453 ****
                     Any_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RTE (RE_Any), Loc))),
!              Subtype_Mark => New_Occurrence_Of (RACW_Type, Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not those
--- 5414,5420 ----
                     Any_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RTE (RE_Any), Loc))),
!              Result_Definition => New_Occurrence_Of (RACW_Type, Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not those
*************** package body Exp_Dist is
*** 5467,5473 ****
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, Name_uFrom_Any);
        end Add_RACW_From_Any;
  
        -----------------------------
--- 5434,5440 ----
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, TSS_From_Any);
        end Add_RACW_From_Any;
  
        -----------------------------
*************** package body Exp_Dist is
*** 5761,5767 ****
                     RACW_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RACW_Type, Loc))),
!              Subtype_Mark => New_Occurrence_Of (RTE (RE_Any), Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not in
--- 5728,5734 ----
                     RACW_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RACW_Type, Loc))),
!              Result_Definition => New_Occurrence_Of (RTE (RE_Any), Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not in
*************** package body Exp_Dist is
*** 5781,5787 ****
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, Name_uTo_Any);
        end Add_RACW_To_Any;
  
        -----------------------
--- 5748,5754 ----
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, TSS_To_Any);
        end Add_RACW_To_Any;
  
        -----------------------
*************** package body Exp_Dist is
*** 5805,5813 ****
           Func_Decl : Node_Id;
           Func_Body : Node_Id;
  
-          RACW_Parameter : constant Entity_Id :=
-                             Make_Defining_Identifier (Loc, Name_R);
- 
        begin
           Fnam :=
             Make_Defining_Identifier (Loc,
--- 5772,5777 ----
*************** package body Exp_Dist is
*** 5820,5834 ****
             Make_Function_Specification (Loc,
               Defining_Unit_Name =>
                 Fnam,
!              Parameter_Specifications => New_List (
!                Make_Parameter_Specification (Loc,
!                  Defining_Identifier =>
!                    RACW_Parameter,
!                  Parameter_Type =>
!                    Make_Access_Definition (Loc,
!                      Subtype_Mark =>
!                        New_Occurrence_Of (RACW_Type, Loc)))),
!              Subtype_Mark => New_Occurrence_Of (RTE (RE_TypeCode), Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not those
--- 5784,5790 ----
             Make_Function_Specification (Loc,
               Defining_Unit_Name =>
                 Fnam,
!              Result_Definition => New_Occurrence_Of (RTE (RE_TypeCode), Loc));
  
           --  NOTE: The usage occurrences of RACW_Parameter must
           --  refer to the entity in the declaration spec, not those
*************** package body Exp_Dist is
*** 5855,5861 ****
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, Name_uTypeCode);
        end Add_RACW_TypeCode;
  
        ------------------------------
--- 5811,5817 ----
           Insert_After (Declaration_Node (RACW_Type), Func_Decl);
           Append_To (Declarations, Func_Body);
  
!          Set_Renaming_TSS (RACW_Type, Fnam, TSS_TypeCode);
        end Add_RACW_TypeCode;
  
        ------------------------------
*************** package body Exp_Dist is
*** 5957,5974 ****
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id;
!          Decls    : List_Id)
        is
        begin
           Add_RAS_Access_TSS (Vis_Decl);
  
!          Add_RAS_From_Any (RAS_Type, Decls);
!          Add_RAS_TypeCode (RAS_Type, Decls);
  
           --  To_Any uses TypeCode, and therefore needs to be generated last
  
!          Add_RAS_To_Any (RAS_Type, Decls);
        end Add_RAST_Features;
  
        ------------------------
--- 5913,5929 ----
  
        procedure Add_RAST_Features
          (Vis_Decl : Node_Id;
!          RAS_Type : Entity_Id)
        is
        begin
           Add_RAS_Access_TSS (Vis_Decl);
  
!          Add_RAS_From_Any (RAS_Type);
!          Add_RAS_TypeCode (RAS_Type);
  
           --  To_Any uses TypeCode, and therefore needs to be generated last
  
!          Add_RAS_To_Any   (RAS_Type);
        end Add_RAST_Features;
  
        ------------------------
*************** package body Exp_Dist is
*** 6282,6288 ****
                   Parameter_Type      =>
                     New_Occurrence_Of (Standard_Boolean, Loc))),
  
!             Subtype_Mark =>
                New_Occurrence_Of (Fat_Type, Loc));
  
           --  Set the kind and return type of the function to prevent
--- 6237,6243 ----
                   Parameter_Type      =>
                     New_Occurrence_Of (Standard_Boolean, Loc))),
  
!             Result_Definition =>
                New_Occurrence_Of (Fat_Type, Loc));
  
           --  Set the kind and return type of the function to prevent
*************** package body Exp_Dist is
*** 6306,6323 ****
        -- Add_RAS_From_Any --
        ----------------------
  
!       procedure Add_RAS_From_Any
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id)
!       is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : constant Entity_Id :=
!                   Make_Defining_Identifier (Loc, New_Internal_Name ('F'));
  
           Func_Spec : Node_Id;
-          Func_Decl : Node_Id;
-          Func_Body : Node_Id;
  
           Statements : List_Id;
  
--- 6261,6273 ----
        -- Add_RAS_From_Any --
        ----------------------
  
!       procedure Add_RAS_From_Any (RAS_Type : Entity_Id) is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : constant Entity_Id := Make_Defining_Identifier (Loc,
!                   Make_TSS_Name (RAS_Type, TSS_From_Any));
  
           Func_Spec : Node_Id;
  
           Statements : List_Id;
  
*************** package body Exp_Dist is
*** 6349,6395 ****
                     Any_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RTE (RE_Any), Loc))),
!              Subtype_Mark => New_Occurrence_Of (RAS_Type, Loc));
! 
!          --  NOTE: The usage occurrences of RACW_Parameter must
!          --  refer to the entity in the declaration spec, not those
!          --  of the body spec.
! 
!          Func_Decl := Make_Subprogram_Declaration (Loc, Func_Spec);
  
!          Func_Body :=
             Make_Subprogram_Body (Loc,
!              Specification              =>
!                Copy_Specification (Loc, Func_Spec),
               Declarations               => No_List,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => Statements));
! 
!          Insert_After (Declaration_Node (RAS_Type), Func_Decl);
!          Append_To (Declarations, Func_Body);
! 
!          Set_Renaming_TSS (RAS_Type, Fnam, Name_uFrom_Any);
        end Add_RAS_From_Any;
  
        --------------------
        -- Add_RAS_To_Any --
        --------------------
  
!       procedure Add_RAS_To_Any
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id)
!       is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : Entity_Id;
  
!          Decls : List_Id;
           Statements : List_Id;
  
           Func_Spec : Node_Id;
-          Func_Decl : Node_Id;
-          Func_Body : Node_Id;
  
           Any            : constant Entity_Id :=
                              Make_Defining_Identifier (Loc,
--- 6299,6330 ----
                     Any_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RTE (RE_Any), Loc))),
!              Result_Definition => New_Occurrence_Of (RAS_Type, Loc));
  
!          Discard_Node (
             Make_Subprogram_Body (Loc,
!              Specification              => Func_Spec,
               Declarations               => No_List,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => Statements)));
!          Set_TSS (RAS_Type, Fnam);
        end Add_RAS_From_Any;
  
        --------------------
        -- Add_RAS_To_Any --
        --------------------
  
!       procedure Add_RAS_To_Any (RAS_Type : Entity_Id) is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : constant Entity_Id := Make_Defining_Identifier (Loc,
!                   Make_TSS_Name (RAS_Type, TSS_To_Any));
  
!          Decls      : List_Id;
           Statements : List_Id;
  
           Func_Spec : Node_Id;
  
           Any            : constant Entity_Id :=
                              Make_Defining_Identifier (Loc,
*************** package body Exp_Dist is
*** 6428,6436 ****
               Expression =>
                 New_Occurrence_Of (Any, Loc)));
  
-          Fnam := Make_Defining_Identifier (
-            Loc, New_Internal_Name ('T'));
- 
           Func_Spec :=
             Make_Function_Specification (Loc,
               Defining_Unit_Name =>
--- 6363,6368 ----
*************** package body Exp_Dist is
*** 6441,6526 ****
                     RAS_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RAS_Type, Loc))),
!              Subtype_Mark => New_Occurrence_Of (RTE (RE_Any), Loc));
! 
!          --  NOTE: The usage occurrences of RAS_Parameter must
!          --  refer to the entity in the declaration spec, not in
!          --  the body spec.
! 
!          Func_Decl := Make_Subprogram_Declaration (Loc, Func_Spec);
  
!          Func_Body :=
             Make_Subprogram_Body (Loc,
!              Specification              =>
!                Copy_Specification (Loc, Func_Spec),
               Declarations               => Decls,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => Statements));
! 
!          Insert_After (Declaration_Node (RAS_Type), Func_Decl);
!          Append_To (Declarations, Func_Body);
! 
!          Set_Renaming_TSS (RAS_Type, Fnam, Name_uTo_Any);
        end Add_RAS_To_Any;
  
        ----------------------
        -- Add_RAS_TypeCode --
        ----------------------
  
!       procedure Add_RAS_TypeCode
!         (RAS_Type     : Entity_Id;
!          Declarations : List_Id)
!       is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : Entity_Id;
  
           Func_Spec : Node_Id;
-          Func_Decl : Node_Id;
-          Func_Body : Node_Id;
  
           Decls : constant List_Id := New_List;
           Name_String, Repo_Id_String : String_Id;
  
-          RAS_Parameter : constant Entity_Id :=
-                            Make_Defining_Identifier (Loc, Name_R);
- 
        begin
- 
-          Fnam :=
-            Make_Defining_Identifier (Loc,
-              Chars => New_Internal_Name ('T'));
- 
-          --  The spec for this subprogram has a dummy 'access RAS'
-          --  argument, which serves only for overloading purposes.
- 
           Func_Spec :=
             Make_Function_Specification (Loc,
               Defining_Unit_Name =>
                 Fnam,
!              Parameter_Specifications => New_List (
!                Make_Parameter_Specification (Loc,
!                  Defining_Identifier =>
!                    RAS_Parameter,
!                  Parameter_Type =>
!                    Make_Access_Definition (Loc,
!                      Subtype_Mark => New_Occurrence_Of (RAS_Type, Loc)))),
!              Subtype_Mark => New_Occurrence_Of (RTE (RE_TypeCode), Loc));
! 
!          --  NOTE: The usage occurrences of RAS_Parameter must
!          --  refer to the entity in the declaration spec, not those
!          --  of the body spec.
! 
!          Func_Decl := Make_Subprogram_Declaration (Loc, Func_Spec);
  
           PolyORB_Support.Helpers.Build_Name_And_Repository_Id
             (RAS_Type, Name_Str => Name_String, Repo_Id_Str => Repo_Id_String);
  
!          Func_Body :=
             Make_Subprogram_Body (Loc,
!              Specification              =>
!                Copy_Specification (Loc, Func_Spec),
               Declarations               => Decls,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
--- 6373,6418 ----
                     RAS_Parameter,
                   Parameter_Type =>
                     New_Occurrence_Of (RAS_Type, Loc))),
!              Result_Definition => New_Occurrence_Of (RTE (RE_Any), Loc));
  
!          Discard_Node (
             Make_Subprogram_Body (Loc,
!              Specification              => Func_Spec,
               Declarations               => Decls,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
!                  Statements => Statements)));
!          Set_TSS (RAS_Type, Fnam);
        end Add_RAS_To_Any;
  
        ----------------------
        -- Add_RAS_TypeCode --
        ----------------------
  
!       procedure Add_RAS_TypeCode (RAS_Type : Entity_Id) is
           Loc : constant Source_Ptr := Sloc (RAS_Type);
  
!          Fnam : constant Entity_Id := Make_Defining_Identifier (Loc,
!                   Make_TSS_Name (RAS_Type, TSS_TypeCode));
  
           Func_Spec : Node_Id;
  
           Decls : constant List_Id := New_List;
           Name_String, Repo_Id_String : String_Id;
  
        begin
           Func_Spec :=
             Make_Function_Specification (Loc,
               Defining_Unit_Name =>
                 Fnam,
!              Result_Definition => New_Occurrence_Of (RTE (RE_TypeCode), Loc));
  
           PolyORB_Support.Helpers.Build_Name_And_Repository_Id
             (RAS_Type, Name_Str => Name_String, Repo_Id_Str => Repo_Id_String);
  
!          Discard_Node (
             Make_Subprogram_Body (Loc,
!              Specification              => Func_Spec,
               Declarations               => Decls,
               Handled_Statement_Sequence =>
                 Make_Handled_Sequence_Of_Statements (Loc,
*************** package body Exp_Dist is
*** 6545,6556 ****
                                       RTE (RE_TA_String), Loc),
                                     Parameter_Associations => New_List (
                                       Make_String_Literal (Loc,
!                                        Repo_Id_String)))))))))));
! 
!          Insert_After (Declaration_Node (RAS_Type), Func_Decl);
!          Append_To (Declarations, Func_Body);
! 
!          Set_Renaming_TSS (RAS_Type, Fnam, Name_uTypeCode);
        end Add_RAS_TypeCode;
  
        -----------------------------------------
--- 6437,6444 ----
                                       RTE (RE_TA_String), Loc),
                                     Parameter_Associations => New_List (
                                       Make_String_Literal (Loc,
!                                        Repo_Id_String))))))))))));
!          Set_TSS (RAS_Type, Fnam);
        end Add_RAS_TypeCode;
  
        -----------------------------------------
*************** package body Exp_Dist is
*** 7107,7113 ****
  
           if Is_Function then
              Result_TC := PolyORB_Support.Helpers.Build_TypeCode_Call (Loc,
!               Etype (Subtype_Mark (Spec)), Decls);
           else
              Result_TC := New_Occurrence_Of (RTE (RE_TC_Void), Loc);
           end if;
--- 6995,7001 ----
  
           if Is_Function then
              Result_TC := PolyORB_Support.Helpers.Build_TypeCode_Call (Loc,
!               Etype (Result_Definition (Spec)), Decls);
           else
              Result_TC := New_Occurrence_Of (RTE (RE_TC_Void), Loc);
           end if;
*************** package body Exp_Dist is
*** 7404,7410 ****
                   Make_Tag_Check (Loc,
                     Make_Return_Statement (Loc,
                       PolyORB_Support.Helpers.Build_From_Any_Call (
!                          Etype (Subtype_Mark (Spec)),
                           Make_Selected_Component (Loc,
                             Prefix        => Result,
                             Selector_Name => Name_Argument),
--- 7292,7298 ----
                   Make_Tag_Check (Loc,
                     Make_Return_Statement (Loc,
                       PolyORB_Support.Helpers.Build_From_Any_Call (
!                          Etype (Result_Definition (Spec)),
                           Make_Selected_Component (Loc,
                             Prefix        => Result,
                             Selector_Name => Name_Argument),
*************** package body Exp_Dist is
*** 7981,7987 ****
  
              declare
                 Etyp   : constant Entity_Id :=
!                           Etype (Subtype_Mark (Specification (Vis_Decl)));
                 Result : constant Node_Id   :=
                            Make_Defining_Identifier (Loc,
                              New_Internal_Name ('R'));
--- 7869,7875 ----
  
              declare
                 Etyp   : constant Entity_Id :=
!                           Etype (Result_Definition (Specification (Vis_Decl)));
                 Result : constant Node_Id   :=
                            Make_Defining_Identifier (Loc,
                              New_Internal_Name ('R'));
*************** package body Exp_Dist is
*** 8099,8111 ****
           -- Local Subprograms --
           -----------------------
  
-          function Find_Inherited_TSS
-            (Typ : Entity_Id;
-             Nam : Name_Id) return Entity_Id;
-          --  A TSS reference for a representation aspect of a derived tagged
-          --  type must take into account inheritance of that aspect from
-          --  ancestor types. (copied from exp_attr.adb, should be shared???)
- 
           function Find_Numeric_Representation
             (Typ : Entity_Id) return Entity_Id;
           --  Given a numeric type Typ, return the smallest integer or floarting
--- 7987,7992 ----
*************** package body Exp_Dist is
*** 8236,8242 ****
              --  First simple case where the From_Any function is present
              --  in the type's TSS.
  
!             Fnam := Find_Inherited_TSS (U_Type, Name_uFrom_Any);
  
              if Sloc (U_Type) <= Standard_Location then
                 U_Type := Base_Type (U_Type);
--- 8117,8123 ----
              --  First simple case where the From_Any function is present
              --  in the type's TSS.
  
!             Fnam := Find_Inherited_TSS (U_Type, TSS_From_Any);
  
              if Sloc (U_Type) <= Standard_Location then
                 U_Type := Base_Type (U_Type);
*************** package body Exp_Dist is
*** 8367,8380 ****
                        Any_Parameter,
                      Parameter_Type =>
                        New_Occurrence_Of (RTE (RE_Any), Loc))),
!                 Subtype_Mark => New_Occurrence_Of (Typ, Loc));
  
              --  The following  is taken care of by Exp_Dist.Add_RACW_From_Any
  
              pragma Assert
                (not (Is_Remote_Access_To_Class_Wide_Type (Typ)));
  
- 
              if Is_Derived_Type (Typ)
                and then not Is_Tagged_Type (Typ)
              then
--- 8248,8260 ----
                        Any_Parameter,
                      Parameter_Type =>
                        New_Occurrence_Of (RTE (RE_Any), Loc))),
!                 Result_Definition => New_Occurrence_Of (Typ, Loc));
  
              --  The following  is taken care of by Exp_Dist.Add_RACW_From_Any
  
              pragma Assert
                (not (Is_Remote_Access_To_Class_Wide_Type (Typ)));
  
              if Is_Derived_Type (Typ)
                and then not Is_Tagged_Type (Typ)
              then
*************** package body Exp_Dist is
*** 9017,9023 ****
              --  First simple case where the To_Any function is present
              --  in the type's TSS.
  
!             Fnam := Find_Inherited_TSS (U_Type, Name_uTo_Any);
  
              --  Check first for Boolean and Character. These are enumeration
              --  types, but we treat them specially, since they may require
--- 8897,8903 ----
              --  First simple case where the To_Any function is present
              --  in the type's TSS.
  
!             Fnam := Find_Inherited_TSS (U_Type, TSS_To_Any);
  
              --  Check first for Boolean and Character. These are enumeration
              --  types, but we treat them specially, since they may require
*************** package body Exp_Dist is
*** 9159,9165 ****
                        Expr_Parameter,
                      Parameter_Type =>
                        New_Occurrence_Of (Typ, Loc))),
!                 Subtype_Mark => New_Occurrence_Of (RTE (RE_Any), Loc));
              Set_Etype (Expr_Parameter, Typ);
  
              Any_Decl :=
--- 9039,9045 ----
                        Expr_Parameter,
                      Parameter_Type =>
                        New_Occurrence_Of (Typ, Loc))),
!                 Result_Definition => New_Occurrence_Of (RTE (RE_Any), Loc));
              Set_Etype (Expr_Parameter, Typ);
  
              Any_Decl :=
*************** package body Exp_Dist is
*** 9668,9676 ****
              --  if Typ is incomplete.
  
              Fnam    : Entity_Id := Empty;
-             Tnam    : Entity_Id := Empty;
-             Pnam    : Entity_Id := Empty;
-             Args    : List_Id := Empty_List;
              Lib_RE  : RE_Id := RE_Null;
  
              Expr : Node_Id;
--- 9548,9553 ----
*************** package body Exp_Dist is
*** 9686,9729 ****
                 --  First simple case where the TypeCode is present
                 --  in the type's TSS.
  
!                Fnam := Find_Inherited_TSS (U_Type, Name_uTypeCode);
! 
!                if Present (Fnam) then
! 
!                   --  When a TypeCode TSS exists, it has a single parameter
!                   --  that is an anonymous access to the corresponding type.
!                   --  This parameter is not used in any way; its purpose is
!                   --  solely to provide overloading of the TSS.
! 
!                   Tnam :=
!                     Make_Defining_Identifier (Loc, New_Internal_Name ('T'));
!                   Pnam :=
!                     Make_Defining_Identifier (Loc, New_Internal_Name ('P'));
! 
!                   Append_To (Decls,
!                     Make_Full_Type_Declaration (Loc,
!                       Defining_Identifier => Tnam,
!                       Type_Definition =>
!                         Make_Access_To_Object_Definition (Loc,
!                           Subtype_Indication =>
!                             New_Occurrence_Of (U_Type, Loc))));
!                   Append_To (Decls,
!                     Make_Object_Declaration (Loc,
!                       Defining_Identifier => Pnam,
!                       Constant_Present    => True,
!                       Object_Definition   => New_Occurrence_Of (Tnam, Loc),
! 
!                      --  Use a variable here to force proper freezing of Tnam
! 
!                       Expression          => Make_Null (Loc)));
! 
!                   --  Normally, calling _TypeCode with a null access parameter
!                   --  should raise Constraint_Error, but this check is
!                   --  suppressed for expanded code, and we do not care anyway
!                   --  because we do not actually ever use this value.
! 
!                   Args := New_List (New_Occurrence_Of (Pnam, Loc));
!                end if;
              end if;
  
              if No (Fnam) then
--- 9563,9569 ----
                 --  First simple case where the TypeCode is present
                 --  in the type's TSS.
  
!                Fnam := Find_Inherited_TSS (U_Type, TSS_TypeCode);
              end if;
  
              if No (Fnam) then
*************** package body Exp_Dist is
*** 9735,9745 ****
                    U_Type := Base_Type (U_Type);
                 end if;
  
-                if Is_Itype (U_Type) then
-                   return Build_TypeCode_Call
-                     (Loc, Associated_Node_For_Itype (U_Type), Decls);
-                end if;
- 
                 if U_Type = Standard_Boolean then
                    Lib_RE := RE_TC_B;
  
--- 9575,9580 ----
*************** package body Exp_Dist is
*** 9822,9830 ****
              --  Call the function
  
              Expr :=
!               Make_Function_Call (Loc,
!                 Name => New_Occurrence_Of (Fnam, Loc),
!                 Parameter_Associations => Args);
  
              --  Allow Expr to be used as arg to Build_To_Any_Call immediately
  
--- 9657,9663 ----
              --  Call the function
  
              Expr :=
!               Make_Function_Call (Loc, Name => New_Occurrence_Of (Fnam, Loc));
  
              --  Allow Expr to be used as arg to Build_To_Any_Call immediately
  
*************** package body Exp_Dist is
*** 10191,10197 ****
                Make_Function_Specification (Loc,
                  Defining_Unit_Name => Fnam,
                  Parameter_Specifications => Empty_List,
!                 Subtype_Mark => New_Occurrence_Of (RTE (RE_TypeCode), Loc));
  
              Build_Name_And_Repository_Id (Typ,
                Name_Str => Type_Name_Str, Repo_Id_Str => Type_Repo_Id_Str);
--- 10024,10031 ----
                Make_Function_Specification (Loc,
                  Defining_Unit_Name => Fnam,
                  Parameter_Specifications => Empty_List,
!                 Result_Definition =>
!                   New_Occurrence_Of (RTE (RE_TypeCode), Loc));
  
              Build_Name_And_Repository_Id (Typ,
                Name_Str => Type_Name_Str, Repo_Id_Str => Type_Repo_Id_Str);
*************** package body Exp_Dist is
*** 10202,10219 ****
                and then not Is_Tagged_Type (Typ)
              then
                 declare
-                   D_Node : constant Node_Id := Declaration_Node (Typ);
                    Parent_Type : Entity_Id := Etype (Typ);
                 begin
  
!                   if Is_Enumeration_Type (Typ)
!                     and then Nkind (D_Node) = N_Subtype_Declaration
!                     and then Nkind (Original_Node (D_Node))
!                     /= N_Subtype_Declaration
!                   then
  
!                      --  Parent_Type is the implicit intermediate base type
!                      --  created by Build_Derived_Enumeration_Type.
  
                       Parent_Type := Etype (Parent_Type);
                    end if;
--- 10036,10047 ----
                and then not Is_Tagged_Type (Typ)
              then
                 declare
                    Parent_Type : Entity_Id := Etype (Typ);
                 begin
  
!                   if Is_Itype (Parent_Type) then
  
!                      --  Skip implicit base type
  
                       Parent_Type := Etype (Parent_Type);
                    end if;
*************** package body Exp_Dist is
*** 10346,10403 ****
                      Statements => Stms));
           end Build_TypeCode_Function;
  
-          ------------------------
-          -- Find_Inherited_TSS --
-          ------------------------
- 
-          function Find_Inherited_TSS
-            (Typ : Entity_Id;
-             Nam : Name_Id) return Entity_Id
-          is
-             P_Type : Entity_Id := Typ;
-             Proc   : Entity_Id;
- 
-          begin
-             Proc :=  TSS (Base_Type (Typ), Nam);
- 
-             --  Check first if there is a TSS given for the type itself
- 
-             if Present (Proc) then
-                return Proc;
-             end if;
- 
-             --  If Typ is a derived type, it may inherit attributes from some
-             --  ancestor which is not the ultimate underlying one. If Typ is a
-             --  derived tagged type, The corresponding primitive operation has
-             --  been created explicitly.
- 
-             if Is_Derived_Type (P_Type) then
-                if Is_Tagged_Type (P_Type) then
-                   return Find_Prim_Op (P_Type, Nam);
-                else
-                   while Is_Derived_Type (P_Type) loop
-                      Proc :=  TSS (Base_Type (Etype (Typ)), Nam);
- 
-                      if Present (Proc) then
-                         return Proc;
-                      else
-                         P_Type := Base_Type (Etype (P_Type));
-                      end if;
-                   end loop;
-                end if;
-             end if;
- 
-             --  If nothing else, use the TSS of the root type
- 
-             return TSS (Base_Type (Underlying_Type (Typ)), Nam);
-          end Find_Inherited_TSS;
- 
           ---------------------------------
           -- Find_Numeric_Representation --
           ---------------------------------
  
!          function Find_Numeric_Representation (Typ : Entity_Id)
!            return Entity_Id
           is
              FST    : constant Entity_Id := First_Subtype (Typ);
              P_Size : constant Uint      := Esize (FST);
--- 10174,10185 ----
                      Statements => Stms));
           end Build_TypeCode_Function;
  
           ---------------------------------
           -- Find_Numeric_Representation --
           ---------------------------------
  
!          function Find_Numeric_Representation
!            (Typ : Entity_Id) return Entity_Id
           is
              FST    : constant Entity_Id := First_Subtype (Typ);
              P_Size : constant Uint      := Esize (FST);
*************** package body Exp_Dist is
*** 10505,10530 ****
              Append_To (Indices,
                Make_Identifier (Loc, New_External_Name ('L', Depth)));
  
!             if Constrained then
!                Inner_Any := Any;
!                Inner_Counter := Counter;
!             else
                 Inner_Any := Make_Defining_Identifier (Loc,
!                  New_External_Name ('A', Depth));
                 Set_Etype (Inner_Any, RTE (RE_Any));
  
!                if Present (Counter) then
!                   Inner_Counter := Make_Defining_Identifier (Loc,
!                     New_External_Name ('J', Depth));
!                else
!                   Inner_Counter := Empty;
!                end if;
              end if;
  
!             Append_Array_Traversal (Inner_Stmts,
!               Any     => Inner_Any,
!               Counter => Inner_Counter,
!               Depth   => Depth + 1);
  
              Loop_Stm :=
                Make_Implicit_Loop_Statement (Subprogram,
--- 10287,10324 ----
              Append_To (Indices,
                Make_Identifier (Loc, New_External_Name ('L', Depth)));
  
!             if not Constrained or else Depth > 1 then
                 Inner_Any := Make_Defining_Identifier (Loc,
!                               New_External_Name ('A', Depth));
                 Set_Etype (Inner_Any, RTE (RE_Any));
+             else
+                Inner_Any := Empty;
+             end if;
  
!             if Present (Counter) then
!                Inner_Counter := Make_Defining_Identifier (Loc,
!                                   New_External_Name ('J', Depth));
!             else
!                Inner_Counter := Empty;
              end if;
  
!             declare
!                Loop_Any : Node_Id := Inner_Any;
!             begin
! 
!                --  For the first dimension of a constrained array, we add
!                --  elements directly in the corresponding Any; there is no
!                --  intervening inner Any.
! 
!                if No (Loop_Any) then
!                   Loop_Any := Any;
!                end if;
! 
!                Append_Array_Traversal (Inner_Stmts,
!                  Any     => Loop_Any,
!                  Counter => Inner_Counter,
!                  Depth   => Depth + 1);
!             end;
  
              Loop_Stm :=
                Make_Implicit_Loop_Statement (Subprogram,
*************** package body Exp_Dist is
*** 10545,10555 ****
                                Make_Integer_Literal (Loc, Depth))))),
                  Statements => Inner_Stmts);
  
-             if Constrained then
-                Append_To (Stmts, Loop_Stm);
-                return;
-             end if;
- 
              declare
                 Decls       : constant List_Id := New_List;
                 Dimen_Stmts : constant List_Id := New_List;
--- 10339,10344 ----
*************** package body Exp_Dist is
*** 10563,10575 ****
  
              begin
                 if Depth = 1 then
!                   Inner_Any_TypeCode_Expr :=
!                     Make_Function_Call (Loc,
!                       Name =>
!                         New_Occurrence_Of (RTE (RE_Any_Member_Type), Loc),
!                       Parameter_Associations => New_List (
!                         New_Occurrence_Of (Any, Loc),
!                         Make_Integer_Literal (Loc, Ndim)));
                 else
                    Inner_Any_TypeCode_Expr :=
                      Make_Function_Call (Loc,
--- 10352,10373 ----
  
              begin
                 if Depth = 1 then
!                   if Constrained then
!                      Inner_Any_TypeCode_Expr :=
!                        Make_Function_Call (Loc,
!                          Name =>
!                            New_Occurrence_Of (RTE (RE_Get_TC), Loc),
!                          Parameter_Associations => New_List (
!                            New_Occurrence_Of (Any, Loc)));
!                   else
!                      Inner_Any_TypeCode_Expr :=
!                        Make_Function_Call (Loc,
!                          Name =>
!                            New_Occurrence_Of (RTE (RE_Any_Member_Type), Loc),
!                              Parameter_Associations => New_List (
!                                New_Occurrence_Of (Any, Loc),
!                                Make_Integer_Literal (Loc, Ndim)));
!                   end if;
                 else
                    Inner_Any_TypeCode_Expr :=
                      Make_Function_Call (Loc,
*************** package body Exp_Dist is
*** 10587,10604 ****
                     Object_Definition   => New_Occurrence_Of (
                                              RTE (RE_TypeCode), Loc),
                     Expression          => Inner_Any_TypeCode_Expr));
!                Append_To (Decls,
!                  Make_Object_Declaration (Loc,
!                    Defining_Identifier => Inner_Any,
!                    Object_Definition   =>
!                      New_Occurrence_Of (RTE (RE_Any), Loc),
!                    Expression          =>
!                      Make_Function_Call (Loc,
!                        Name =>
!                          New_Occurrence_Of (
!                            RTE (RE_Create_Any), Loc),
!                        Parameter_Associations => New_List (
!                          New_Occurrence_Of (Inner_Any_TypeCode, Loc)))));
  
                 if Present (Inner_Counter) then
                    Append_To (Decls,
--- 10385,10405 ----
                     Object_Definition   => New_Occurrence_Of (
                                              RTE (RE_TypeCode), Loc),
                     Expression          => Inner_Any_TypeCode_Expr));
! 
!                if Present (Inner_Any) then
!                   Append_To (Decls,
!                     Make_Object_Declaration (Loc,
!                       Defining_Identifier => Inner_Any,
!                       Object_Definition   =>
!                         New_Occurrence_Of (RTE (RE_Any), Loc),
!                       Expression          =>
!                         Make_Function_Call (Loc,
!                           Name =>
!                             New_Occurrence_Of (
!                               RTE (RE_Create_Any), Loc),
!                           Parameter_Associations => New_List (
!                             New_Occurrence_Of (Inner_Any_TypeCode, Loc)))));
!                end if;
  
                 if Present (Inner_Counter) then
                    Append_To (Decls,
*************** package body Exp_Dist is
*** 10610,10626 ****
                          Make_Integer_Literal (Loc, 0)));
                 end if;
  
!                Length_Node := Make_Attribute_Reference (Loc,
!                      Prefix         => New_Occurrence_Of (Arry, Loc),
!                      Attribute_Name => Name_Length,
!                      Expressions    =>
!                        New_List (Make_Integer_Literal (Loc, Depth)));
!                Set_Etype (Length_Node, RTE (RE_Long_Unsigned));
  
!                Add_Process_Element (Dimen_Stmts,
!                  Datum   => Length_Node,
!                  Any     => Inner_Any,
!                  Counter => Inner_Counter);
  
                 --  Loop_Stm does approrpriate processing for each element
                 --  of Inner_Any.
--- 10411,10429 ----
                          Make_Integer_Literal (Loc, 0)));
                 end if;
  
!                if not Constrained then
!                   Length_Node := Make_Attribute_Reference (Loc,
!                         Prefix         => New_Occurrence_Of (Arry, Loc),
!                         Attribute_Name => Name_Length,
!                         Expressions    =>
!                           New_List (Make_Integer_Literal (Loc, Depth)));
!                   Set_Etype (Length_Node, RTE (RE_Long_Unsigned));
  
!                   Add_Process_Element (Dimen_Stmts,
!                     Datum   => Length_Node,
!                     Any     => Inner_Any,
!                     Counter => Inner_Counter);
!                end if;
  
                 --  Loop_Stm does approrpriate processing for each element
                 --  of Inner_Any.
*************** package body Exp_Dist is
*** 10629,10639 ****
  
                 --  Link outer and inner any
  
!                Add_Process_Element (Dimen_Stmts,
!                  Any     => Any,
!                  Counter => Counter,
!                  Datum   => New_Occurrence_Of (Inner_Any, Loc));
! 
  
                 Append_To (Stmts,
                   Make_Block_Statement (Loc,
--- 10432,10443 ----
  
                 --  Link outer and inner any
  
!                if Present (Inner_Any) then
!                   Add_Process_Element (Dimen_Stmts,
!                     Any     => Any,
!                     Counter => Counter,
!                     Datum   => New_Occurrence_Of (Inner_Any, Loc));
!                end if;
  
                 Append_To (Stmts,
                   Make_Block_Statement (Loc,
*************** package body Exp_Dist is
*** 10752,10760 ****
     -------------------
  
     function Scope_Of_Spec (Spec : Node_Id) return Entity_Id is
!       Unit_Name : Node_Id := Defining_Unit_Name (Spec);
  
     begin
        while Nkind (Unit_Name) /= N_Defining_Identifier loop
           Unit_Name := Defining_Identifier (Unit_Name);
        end loop;
--- 10556,10565 ----
     -------------------
  
     function Scope_Of_Spec (Spec : Node_Id) return Entity_Id is
!       Unit_Name : Node_Id;
  
     begin
+       Unit_Name := Defining_Unit_Name (Spec);
        while Nkind (Unit_Name) /= N_Defining_Identifier loop
           Unit_Name := Defining_Identifier (Unit_Name);
        end loop;
*************** package body Exp_Dist is
*** 10769,10775 ****
     procedure Set_Renaming_TSS
       (Typ     : Entity_Id;
        Nam     : Entity_Id;
!       TSS_Nam : Name_Id)
     is
        Loc  : constant Source_Ptr := Sloc (Nam);
        Spec : constant Node_Id := Parent (Nam);
--- 10574,10580 ----
     procedure Set_Renaming_TSS
       (Typ     : Entity_Id;
        Nam     : Entity_Id;
!       TSS_Nam : TSS_Name_Type)
     is
        Loc  : constant Source_Ptr := Sloc (Nam);
        Spec : constant Node_Id := Parent (Nam);
*************** package body Exp_Dist is
*** 10779,10785 ****
                       Specification =>
                         Copy_Specification (Loc,
                           Spec     => Spec,
!                          New_Name => TSS_Nam),
                         Name => New_Occurrence_Of (Nam, Loc));
  
        Snam : constant Entity_Id :=
--- 10584,10590 ----
                       Specification =>
                         Copy_Specification (Loc,
                           Spec     => Spec,
!                          New_Name => Make_TSS_Name (Typ, TSS_Nam)),
                         Name => New_Occurrence_Of (Nam, Loc));
  
        Snam : constant Entity_Id :=
*************** package body Exp_Dist is
*** 10788,10794 ****
     begin
        if Nkind (Spec) = N_Function_Specification then
           Set_Ekind (Snam, E_Function);
!          Set_Etype (Snam, Entity (Subtype_Mark (Spec)));
        else
           Set_Ekind (Snam, E_Procedure);
           Set_Etype (Snam, Standard_Void_Type);
--- 10593,10599 ----
     begin
        if Nkind (Spec) = N_Function_Specification then
           Set_Ekind (Snam, E_Function);
!          Set_Etype (Snam, Entity (Result_Definition (Spec)));
        else
           Set_Ekind (Snam, E_Procedure);
           Set_Etype (Snam, Standard_Void_Type);
*************** package body Exp_Dist is
*** 10855,10871 ****
  
     procedure Specific_Add_RAST_Features
       (Vis_Decl : Node_Id;
!       RAS_Type : Entity_Id;
!       Decls    : List_Id)
!    is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
!             PolyORB_Support.Add_RAST_Features (
!               Vis_Decl, RAS_Type, Decls);
           when others =>
!             GARLIC_Support.Add_RAST_Features (
!               Vis_Decl, RAS_Type, Decls);
        end case;
     end Specific_Add_RAST_Features;
  
--- 10660,10672 ----
  
     procedure Specific_Add_RAST_Features
       (Vis_Decl : Node_Id;
!       RAS_Type : Entity_Id) is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
!             PolyORB_Support.Add_RAST_Features (Vis_Decl, RAS_Type);
           when others =>
!             GARLIC_Support.Add_RAST_Features (Vis_Decl, RAS_Type);
        end case;
     end Specific_Add_RAST_Features;
  
*************** package body Exp_Dist is
*** 10981,10987 ****
       (Loc                   : Source_Ptr;
        Decls                 : List_Id;
        RCI_Locator           : Entity_Id;
!       Controlling_Parameter : Entity_Id) return RPC_Target is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
--- 10782,10789 ----
       (Loc                   : Source_Ptr;
        Decls                 : List_Id;
        RCI_Locator           : Entity_Id;
!       Controlling_Parameter : Entity_Id) return RPC_Target
!    is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
*************** package body Exp_Dist is
*** 11022,11028 ****
        Dynamically_Asynchronous : Boolean   := False;
        Stub_Type                : Entity_Id := Empty;
        RACW_Type                : Entity_Id := Empty;
!       Parent_Primitive         : Entity_Id := Empty) return Node_Id is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
--- 10824,10831 ----
        Dynamically_Asynchronous : Boolean   := False;
        Stub_Type                : Entity_Id := Empty;
        RACW_Type                : Entity_Id := Empty;
!       Parent_Primitive         : Entity_Id := Empty) return Node_Id
!    is
     begin
        case Get_PCS_Name is
           when Name_PolyORB_DSA =>
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_dist.ads gcc-4.1.0/gcc/ada/exp_dist.ads
*** gcc-4.0.2/gcc/ada/exp_dist.ads	Mon Sep 13 10:18:39 2004
--- gcc-4.1.0/gcc/ada/exp_dist.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_fixd.adb gcc-4.1.0/gcc/ada/exp_fixd.adb
*** gcc-4.0.2/gcc/ada/exp_fixd.adb	Wed May  5 10:09:54 2004
--- gcc-4.1.0/gcc/ada/exp_fixd.adb	Tue Nov 15 13:58:08 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Fixd is
*** 61,68 ****
       (N    : Node_Id;
        Typ  : Entity_Id;
        Expr : Node_Id;
!       Rchk : Boolean := False)
!       return Node_Id;
     --  Build an expression that converts the expression Expr to type Typ,
     --  taking the source location from Sloc (N). If the conversions involve
     --  fixed-point types, then the Conversion_OK flag will be set so that the
--- 61,67 ----
       (N    : Node_Id;
        Typ  : Entity_Id;
        Expr : Node_Id;
!       Rchk : Boolean := False) return Node_Id;
     --  Build an expression that converts the expression Expr to type Typ,
     --  taking the source location from Sloc (N). If the conversions involve
     --  fixed-point types, then the Conversion_OK flag will be set so that the
*************** package body Exp_Fixd is
*** 72,92 ****
  
     function Build_Divide (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Divide node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands
!    --  are either both Long_Long_Float, in which case Build_Divide differs
!    --  from Make_Op_Divide only in that the Etype of the resulting node is
!    --  set (to Long_Long_Float), or they can be integer types. In this case
!    --  the integer types need not be the same, and Build_Divide converts
!    --  the operand with the smaller sized type to match the type of the
!    --  other operand and sets this as the result type. The Rounded_Result
!    --  flag of the result in this case is set from the Rounded_Result flag
!    --  of node N. On return, the resulting node is analyzed, and has its
!    --  Etype set.
  
     function Build_Double_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id)
!       return    Node_Id;
     --  Returns a node corresponding to the value X/(Y*Z) using the source
     --  location from Sloc (N). The division is rounded if the Rounded_Result
     --  flag of N is set. The integer types of X, Y, Z may be different. On
--- 71,89 ----
  
     function Build_Divide (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Divide node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands are
!    --  either both Universal_Real, in which case Build_Divide differs from
!    --  Make_Op_Divide only in that the Etype of the resulting node is set (to
!    --  Universal_Real), or they can be integer types. In this case the integer
!    --  types need not be the same, and Build_Divide converts the operand with
!    --  the smaller sized type to match the type of the other operand and sets
!    --  this as the result type. The Rounded_Result flag of the result in this
!    --  case is set from the Rounded_Result flag of node N. On return, the
!    --  resulting node is analyzed, and has its Etype set.
  
     function Build_Double_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id) return Node_Id;
     --  Returns a node corresponding to the value X/(Y*Z) using the source
     --  location from Sloc (N). The division is rounded if the Rounded_Result
     --  flag of N is set. The integer types of X, Y, Z may be different. On
*************** package body Exp_Fixd is
*** 100,136 ****
     --  Generates a sequence of code for determining the quotient and remainder
     --  of the division X/(Y*Z), using the source location from Sloc (N).
     --  Entities of appropriate types are allocated for the quotient and
!    --  remainder and returned in Qnn and Rnn. The result is rounded if
!    --  the Rounded_Result flag of N is set. The Etype fields of Qnn and Rnn
!    --  are appropriately set on return.
  
     function Build_Multiply (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Multiply node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands
!    --  are either both Long_Long_Float, in which case Build_Divide differs
!    --  from Make_Op_Multiply only in that the Etype of the resulting node is
!    --  set (to Long_Long_Float), or they can be integer types. In this case
!    --  the integer types need not be the same, and Build_Multiply chooses
!    --  a type long enough to hold the product (i.e. twice the size of the
!    --  longer of the two operand types), and both operands are converted
!    --  to this type. The Etype of the result is also set to this value.
!    --  However, the result can never overflow Integer_64, so this is the
!    --  largest type that is ever generated. On return, the resulting node
!    --  is analyzed and has its Etype set.
  
     function Build_Rem (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Rem node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands
!    --  are both integer types, which need not be the same. Build_Rem
!    --  converts the operand with the smaller sized type to match the type
!    --  of the other operand and sets this as the result type. The result
!    --  is never rounded (rem operations cannot be rounded in any case!)
!    --  On return, the resulting node is analyzed and has its Etype set.
  
     function Build_Scaled_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id)
!       return    Node_Id;
     --  Returns a node corresponding to the value X*Y/Z using the source
     --  location from Sloc (N). The division is rounded if the Rounded_Result
     --  flag of N is set. The integer types of X, Y, Z may be different. On
--- 97,131 ----
     --  Generates a sequence of code for determining the quotient and remainder
     --  of the division X/(Y*Z), using the source location from Sloc (N).
     --  Entities of appropriate types are allocated for the quotient and
!    --  remainder and returned in Qnn and Rnn. The result is rounded if the
!    --  Rounded_Result flag of N is set. The Etype fields of Qnn and Rnn are
!    --  appropriately set on return.
  
     function Build_Multiply (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Multiply node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands are
!    --  either both Universal_Real, in which case Build_Divide differs from
!    --  Make_Op_Multiply only in that the Etype of the resulting node is set (to
!    --  Universal_Real), or they can be integer types. In this case the integer
!    --  types need not be the same, and Build_Multiply chooses a type long
!    --  enough to hold the product (i.e. twice the size of the longer of the two
!    --  operand types), and both operands are converted to this type. The Etype
!    --  of the result is also set to this value. However, the result can never
!    --  overflow Integer_64, so this is the largest type that is ever generated.
!    --  On return, the resulting node is analyzed and has its Etype set.
  
     function Build_Rem (N : Node_Id; L, R : Node_Id) return Node_Id;
     --  Builds an N_Op_Rem node from the given left and right operand
!    --  expressions, using the source location from Sloc (N). The operands are
!    --  both integer types, which need not be the same. Build_Rem converts the
!    --  operand with the smaller sized type to match the type of the other
!    --  operand and sets this as the result type. The result is never rounded
!    --  (rem operations cannot be rounded in any case!) On return, the resulting
!    --  node is analyzed and has its Etype set.
  
     function Build_Scaled_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id) return Node_Id;
     --  Returns a node corresponding to the value X*Y/Z using the source
     --  location from Sloc (N). The division is rounded if the Rounded_Result
     --  flag of N is set. The integer types of X, Y, Z may be different. On
*************** package body Exp_Fixd is
*** 183,192 ****
  
     function Fpt_Value (N : Node_Id) return Node_Id;
     --  Given an operand of fixed-point operation, return an expression that
!    --  represents the corresponding Long_Long_Float value. The expression
     --  can be of integer type, floating-point type, or fixed-point type.
     --  The expression returned is neither analyzed and resolved. The Etype
!    --  of the result is properly set (to Long_Long_Float).
  
     function Integer_Literal (N : Node_Id; V : Uint) return Node_Id;
     --  Given a non-negative universal integer value, build a typed integer
--- 178,187 ----
  
     function Fpt_Value (N : Node_Id) return Node_Id;
     --  Given an operand of fixed-point operation, return an expression that
!    --  represents the corresponding Universal_Real value. The expression
     --  can be of integer type, floating-point type, or fixed-point type.
     --  The expression returned is neither analyzed and resolved. The Etype
!    --  of the result is properly set (to Universal_Real).
  
     function Integer_Literal (N : Node_Id; V : Uint) return Node_Id;
     --  Given a non-negative universal integer value, build a typed integer
*************** package body Exp_Fixd is
*** 198,205 ****
  
     function Real_Literal (N : Node_Id; V : Ureal) return Node_Id;
     --  Build a real literal node from the given value, the Etype of the
!    --  returned node is set to Long_Long_Float, since all floating-point
!    --  arithmetic operations that we construct use Long_Long_Float
  
     function Rounded_Result_Set (N : Node_Id) return Boolean;
     --  Returns True if N is a node that contains the Rounded_Result flag
--- 193,200 ----
  
     function Real_Literal (N : Node_Id; V : Ureal) return Node_Id;
     --  Build a real literal node from the given value, the Etype of the
!    --  returned node is set to Universal_Real, since all floating-point
!    --  arithmetic operations that we construct use Universal_Real
  
     function Rounded_Result_Set (N : Node_Id) return Boolean;
     --  Returns True if N is a node that contains the Rounded_Result flag
*************** package body Exp_Fixd is
*** 224,231 ****
       (N    : Node_Id;
        Typ  : Entity_Id;
        Expr : Node_Id;
!       Rchk : Boolean := False)
!       return Node_Id
     is
        Loc    : constant Source_Ptr := Sloc (N);
        Result : Node_Id;
--- 219,225 ----
       (N    : Node_Id;
        Typ  : Entity_Id;
        Expr : Node_Id;
!       Rchk : Boolean := False) return Node_Id
     is
        Loc    : constant Source_Ptr := Sloc (N);
        Result : Node_Id;
*************** package body Exp_Fixd is
*** 296,302 ****
  
        Set_Etype (Result, Typ);
        return Result;
- 
     end Build_Conversion;
  
     ------------------
--- 290,295 ----
*************** package body Exp_Fixd is
*** 314,324 ****
        --  Deal with floating-point case first
  
        if Is_Floating_Point_Type (Left_Type) then
!          pragma Assert (Left_Type = Standard_Long_Long_Float);
!          pragma Assert (Right_Type = Standard_Long_Long_Float);
  
           Rnode := Make_Op_Divide (Loc, L, R);
!          Result_Type := Standard_Long_Long_Float;
  
        --  Integer and fixed-point cases
  
--- 307,317 ----
        --  Deal with floating-point case first
  
        if Is_Floating_Point_Type (Left_Type) then
!          pragma Assert (Left_Type = Universal_Real);
!          pragma Assert (Right_Type = Universal_Real);
  
           Rnode := Make_Op_Divide (Loc, L, R);
!          Result_Type := Universal_Real;
  
        --  Integer and fixed-point cases
  
*************** package body Exp_Fixd is
*** 384,390 ****
        end if;
  
        return Rnode;
- 
     end Build_Divide;
  
     -------------------------
--- 377,382 ----
*************** package body Exp_Fixd is
*** 393,400 ****
  
     function Build_Double_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id)
!       return    Node_Id
     is
        Y_Size : constant Int := UI_To_Int (Esize (Etype (Y)));
        Z_Size : constant Int := UI_To_Int (Esize (Etype (Z)));
--- 385,391 ----
  
     function Build_Double_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id) return Node_Id
     is
        Y_Size : constant Int := UI_To_Int (Esize (Etype (Y)));
        Z_Size : constant Int := UI_To_Int (Esize (Etype (Z)));
*************** package body Exp_Fixd is
*** 582,588 ****
                 New_Occurrence_Of (Rnn, Loc),
                 New_Occurrence_Of (Rnd, Loc))));
        end if;
- 
     end Build_Double_Divide_Code;
  
     --------------------
--- 573,578 ----
*************** package body Exp_Fixd is
*** 603,612 ****
        --  Deal with floating-point case first
  
        if Is_Floating_Point_Type (Left_Type) then
!          pragma Assert (Left_Type = Standard_Long_Long_Float);
!          pragma Assert (Right_Type = Standard_Long_Long_Float);
  
!          Result_Type := Standard_Long_Long_Float;
           Rnode := Make_Op_Multiply (Loc, L, R);
  
        --  Integer and fixed-point cases
--- 593,602 ----
        --  Deal with floating-point case first
  
        if Is_Floating_Point_Type (Left_Type) then
!          pragma Assert (Left_Type = Universal_Real);
!          pragma Assert (Right_Type = Universal_Real);
  
!          Result_Type := Universal_Real;
           Rnode := Make_Op_Multiply (Loc, L, R);
  
        --  Integer and fixed-point cases
*************** package body Exp_Fixd is
*** 782,789 ****
  
     function Build_Scaled_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id)
!       return    Node_Id
     is
        X_Size : constant Int := UI_To_Int (Esize (Etype (X)));
        Y_Size : constant Int := UI_To_Int (Esize (Etype (Y)));
--- 772,778 ----
  
     function Build_Scaled_Divide
       (N       : Node_Id;
!       X, Y, Z : Node_Id) return Node_Id
     is
        X_Size : constant Int := UI_To_Int (Esize (Etype (X)));
        Y_Size : constant Int := UI_To_Int (Esize (Etype (Y)));
*************** package body Exp_Fixd is
*** 965,971 ****
                 New_Occurrence_Of (Rnd, Loc))));
        end if;
  
!       --  Set type of result, for use in caller.
  
        Set_Etype (Qnn, QR_Typ);
     end Build_Scaled_Divide_Code;
--- 954,960 ----
                 New_Occurrence_Of (Rnd, Loc))));
        end if;
  
!       --  Set type of result, for use in caller
  
        Set_Etype (Qnn, QR_Typ);
     end Build_Scaled_Divide_Code;
*************** package body Exp_Fixd is
*** 1060,1066 ****
          Build_Multiply (N,
            Build_Divide (N, Fpt_Value (Left), Fpt_Value (Right)),
            Real_Literal (N, Frac)));
- 
     end Do_Divide_Fixed_Fixed;
  
     -------------------------------
--- 1049,1054 ----
*************** package body Exp_Fixd is
*** 1095,1101 ****
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms.
  
     --    If numerator = 1, then for K = 1, the small ratio is the reciprocal
     --    of an integer, and this is clearly the minimum K case, so set K = 1,
--- 1083,1089 ----
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms
  
     --    If numerator = 1, then for K = 1, the small ratio is the reciprocal
     --    of an integer, and this is clearly the minimum K case, so set K = 1,
*************** package body Exp_Fixd is
*** 1176,1182 ****
  
        Set_Result (N,
          Build_Multiply (N, Fpt_Value (Left), Real_Literal (N, Frac)));
- 
     end Do_Divide_Fixed_Universal;
  
     -------------------------------
--- 1164,1169 ----
*************** package body Exp_Fixd is
*** 1213,1219 ****
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms.
  
     --    If denominator = 1, then for K = 1, the small ratio is an integer
     --    (the numerator) and this is clearly the minimum K case, so set K = 1,
--- 1200,1206 ----
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms
  
     --    If denominator = 1, then for K = 1, the small ratio is an integer
     --    (the numerator) and this is clearly the minimum K case, so set K = 1,
*************** package body Exp_Fixd is
*** 1295,1301 ****
  
        Set_Result (N,
          Build_Divide (N, Real_Literal (N, Frac), Fpt_Value (Right)));
- 
     end Do_Divide_Universal_Fixed;
  
     -----------------------------
--- 1282,1287 ----
*************** package body Exp_Fixd is
*** 1380,1386 ****
          Build_Multiply (N,
            Build_Multiply (N, Fpt_Value (Left), Fpt_Value (Right)),
            Real_Literal (N, Frac)));
- 
     end Do_Multiply_Fixed_Fixed;
  
     ---------------------------------
--- 1366,1371 ----
*************** package body Exp_Fixd is
*** 1415,1429 ****
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms.
  
!    --    If denominator = 1, then for K = 1, the small ratio is an
!    --    integer, and this is clearly the minimum K case, so set
!    --    K = 1, Right_Small = Lit_Value.
  
!    --    If denominator > 1, then set K to the numerator of the
!    --    fraction, so that the resulting small ratio is the
!    --    reciprocal of the integer (the denominator value).
  
     procedure Do_Multiply_Fixed_Universal
       (N           : Node_Id;
--- 1400,1415 ----
     --  is an integer or the reciprocal of an integer, and for
     --  implementation efficiency we need the smallest such K.
  
!    --  First we reduce the left fraction to lowest terms
  
!    --    If denominator = 1, then for K = 1, the small ratio is an integer, and
!    --    this is clearly the minimum K case, so set
  
!    --      K = 1, Right_Small = Lit_Value
! 
!    --    If denominator > 1, then set K to the numerator of the fraction, so
!    --    that the resulting small ratio is the reciprocal of the integer (the
!    --    denominator value).
  
     procedure Do_Multiply_Fixed_Universal
       (N           : Node_Id;
*************** package body Exp_Fixd is
*** 1497,1503 ****
  
        Set_Result (N,
          Build_Multiply (N, Fpt_Value (Left), Real_Literal (N, Frac)));
- 
     end Do_Multiply_Fixed_Universal;
  
     ---------------------------------
--- 1483,1488 ----
*************** package body Exp_Fixd is
*** 1552,1558 ****
        Ratio_Den   := Norm_Den (Small_Ratio);
  
        if Ratio_Den = 1 then
- 
           if Ratio_Num = 1 then
              Set_Result (N, Expr);
              return;
--- 1537,1542 ----
*************** package body Exp_Fixd is
*** 1584,1590 ****
            Fpt_Value (Expr),
            Real_Literal (N, Small_Ratio)),
          Rng_Check);
- 
     end Expand_Convert_Fixed_To_Fixed;
  
     -----------------------------------
--- 1568,1573 ----
*************** package body Exp_Fixd is
*** 1593,1599 ****
  
     --  If the small of the fixed type is 1.0, then we simply convert the
     --  integer value directly to the target floating-point type, otherwise
!    --  we first have to multiply by the small, in Long_Long_Float, and then
     --  convert the result to the target floating-point type.
  
     procedure Expand_Convert_Fixed_To_Float (N : Node_Id) is
--- 1576,1582 ----
  
     --  If the small of the fixed type is 1.0, then we simply convert the
     --  integer value directly to the target floating-point type, otherwise
!    --  we first have to multiply by the small, in Universal_Real, and then
     --  convert the result to the target floating-point type.
  
     procedure Expand_Convert_Fixed_To_Float (N : Node_Id) is
*************** package body Exp_Fixd is
*** 1678,1684 ****
            Fpt_Value (Expr),
            Real_Literal (N, Small)),
          Rng_Check);
- 
     end Expand_Convert_Fixed_To_Integer;
  
     -----------------------------------
--- 1661,1666 ----
*************** package body Exp_Fixd is
*** 1775,1781 ****
            Fpt_Value (Expr),
            Real_Literal (N, Ureal_1 / Small)),
          Rng_Check);
- 
     end Expand_Convert_Integer_To_Fixed;
  
     --------------------------------
--- 1757,1762 ----
*************** package body Exp_Fixd is
*** 1825,1831 ****
     --  division or multiplication by the appropriate power of 10.
  
     procedure Expand_Decimal_Divide_Call (N : Node_Id) is
!       Loc       : constant Source_Ptr := Sloc (N);
  
        Dividend  : Node_Id := First_Actual (N);
        Divisor   : Node_Id := Next_Actual (Dividend);
--- 1806,1812 ----
     --  division or multiplication by the appropriate power of 10.
  
     procedure Expand_Decimal_Divide_Call (N : Node_Id) is
!       Loc : constant Source_Ptr := Sloc (N);
  
        Dividend  : Node_Id := First_Actual (N);
        Divisor   : Node_Id := Next_Actual (Dividend);
*************** package body Exp_Fixd is
*** 1970,1976 ****
                Statements => Stmts)));
  
        Analyze (N);
- 
     end Expand_Decimal_Divide_Call;
  
     -----------------------------------------------
--- 1951,1956 ----
*************** package body Exp_Fixd is
*** 1998,2011 ****
        else
           Do_Divide_Fixed_Fixed (N);
        end if;
- 
     end Expand_Divide_Fixed_By_Fixed_Giving_Fixed;
  
     -----------------------------------------------
     -- Expand_Divide_Fixed_By_Fixed_Giving_Float --
     -----------------------------------------------
  
!    --  The division is done in long_long_float, and the result is multiplied
     --  by the small ratio, which is Small (Right) / Small (Left). Special
     --  treatment is required for universal operands, which represent their
     --  own value and do not require conversion.
--- 1978,1990 ----
        else
           Do_Divide_Fixed_Fixed (N);
        end if;
     end Expand_Divide_Fixed_By_Fixed_Giving_Fixed;
  
     -----------------------------------------------
     -- Expand_Divide_Fixed_By_Fixed_Giving_Float --
     -----------------------------------------------
  
!    --  The division is done in Universal_Real, and the result is multiplied
     --  by the small ratio, which is Small (Right) / Small (Left). Special
     --  treatment is required for universal operands, which represent their
     --  own value and do not require conversion.
*************** package body Exp_Fixd is
*** 2064,2070 ****
               Real_Literal (N,
                 Small_Value (Left_Type) / Small_Value (Right_Type))));
        end if;
- 
     end Expand_Divide_Fixed_By_Fixed_Giving_Float;
  
     -------------------------------------------------
--- 2043,2048 ----
*************** package body Exp_Fixd is
*** 2074,2091 ****
     procedure Expand_Divide_Fixed_By_Fixed_Giving_Integer (N : Node_Id) is
        Left  : constant Node_Id := Left_Opnd (N);
        Right : constant Node_Id := Right_Opnd (N);
- 
     begin
        if Etype (Left) = Universal_Real then
           Do_Divide_Universal_Fixed (N);
- 
        elsif Etype (Right) = Universal_Real then
           Do_Divide_Fixed_Universal (N);
- 
        else
           Do_Divide_Fixed_Fixed (N);
        end if;
- 
     end Expand_Divide_Fixed_By_Fixed_Giving_Integer;
  
     -------------------------------------------------
--- 2052,2065 ----
*************** package body Exp_Fixd is
*** 2098,2104 ****
     procedure Expand_Divide_Fixed_By_Integer_Giving_Fixed (N : Node_Id) is
        Left  : constant Node_Id := Left_Opnd (N);
        Right : constant Node_Id := Right_Opnd (N);
- 
     begin
        Set_Result (N, Build_Divide (N, Left, Right));
     end Expand_Divide_Fixed_By_Integer_Giving_Fixed;
--- 2072,2077 ----
*************** package body Exp_Fixd is
*** 2117,2125 ****
        --  as a fixed * fixed multiplication, and convert the argument to
        --  the target fixed type.
  
!       procedure Rewrite_Non_Static_Universal (Opnd : Node_Id) is
!          Loc   : constant Source_Ptr := Sloc (N);
  
        begin
           Rewrite (Opnd,
             Make_Type_Conversion (Loc,
--- 2090,2101 ----
        --  as a fixed * fixed multiplication, and convert the argument to
        --  the target fixed type.
  
!       ----------------------------------
!       -- Rewrite_Non_Static_Universal --
!       ----------------------------------
  
+       procedure Rewrite_Non_Static_Universal (Opnd : Node_Id) is
+          Loc : constant Source_Ptr := Sloc (N);
        begin
           Rewrite (Opnd,
             Make_Type_Conversion (Loc,
*************** package body Exp_Fixd is
*** 2128,2133 ****
--- 2104,2111 ----
           Analyze_And_Resolve (Opnd, Etype (N));
        end Rewrite_Non_Static_Universal;
  
+    --  Start of processing for Expand_Multiply_Fixed_By_Fixed_Giving_Fixed
+ 
     begin
        --  Suppress expansion of a fixed-by-fixed multiplication if the
        --  operation is supported directly by the target.
*************** package body Exp_Fixd is
*** 2157,2170 ****
        else
           Do_Multiply_Fixed_Fixed (N);
        end if;
- 
     end Expand_Multiply_Fixed_By_Fixed_Giving_Fixed;
  
     -------------------------------------------------
     -- Expand_Multiply_Fixed_By_Fixed_Giving_Float --
     -------------------------------------------------
  
!    --  The multiply is done in long_long_float, and the result is multiplied
     --  by the adjustment for the smalls which is Small (Right) * Small (Left).
     --  Special treatment is required for universal operands.
  
--- 2135,2147 ----
        else
           Do_Multiply_Fixed_Fixed (N);
        end if;
     end Expand_Multiply_Fixed_By_Fixed_Giving_Fixed;
  
     -------------------------------------------------
     -- Expand_Multiply_Fixed_By_Fixed_Giving_Float --
     -------------------------------------------------
  
!    --  The multiply is done in Universal_Real, and the result is multiplied
     --  by the adjustment for the smalls which is Small (Right) * Small (Left).
     --  Special treatment is required for universal operands.
  
*************** package body Exp_Fixd is
*** 2219,2225 ****
               Real_Literal (N,
                 Small_Value (Right_Type) * Small_Value (Left_Type))));
        end if;
- 
     end Expand_Multiply_Fixed_By_Fixed_Giving_Float;
  
     ---------------------------------------------------
--- 2196,2201 ----
*************** package body Exp_Fixd is
*** 2229,2246 ****
     procedure Expand_Multiply_Fixed_By_Fixed_Giving_Integer (N : Node_Id) is
        Left  : constant Node_Id := Left_Opnd (N);
        Right : constant Node_Id := Right_Opnd (N);
- 
     begin
        if Etype (Left) = Universal_Real then
           Do_Multiply_Fixed_Universal (N, Right, Left);
- 
        elsif Etype (Right) = Universal_Real then
           Do_Multiply_Fixed_Universal (N, Left, Right);
- 
        else
           Do_Multiply_Fixed_Fixed (N);
        end if;
- 
     end Expand_Multiply_Fixed_By_Fixed_Giving_Integer;
  
     ---------------------------------------------------
--- 2205,2218 ----
*************** package body Exp_Fixd is
*** 2280,2296 ****
        if Is_Integer_Type (Typ)
          or else Is_Floating_Point_Type (Typ)
        then
!          return
!            Build_Conversion
!              (N, Standard_Long_Long_Float, N);
  
        --  Fixed-point case, must get integer value first
  
        else
!          return
!            Build_Conversion (N, Standard_Long_Long_Float, N);
        end if;
- 
     end Fpt_Value;
  
     ---------------------
--- 2252,2264 ----
        if Is_Integer_Type (Typ)
          or else Is_Floating_Point_Type (Typ)
        then
!          return Build_Conversion (N, Universal_Real, N);
  
        --  Fixed-point case, must get integer value first
  
        else
!          return Build_Conversion (N, Universal_Real, N);
        end if;
     end Fpt_Value;
  
     ---------------------
*************** package body Exp_Fixd is
*** 2347,2353 ****
  
        --  Set type of result in case used elsewhere (see note at start)
  
!       Set_Etype (L, Standard_Long_Long_Float);
        return L;
     end Real_Literal;
  
--- 2315,2321 ----
  
        --  Set type of result in case used elsewhere (see note at start)
  
!       Set_Etype (L, Universal_Real);
        return L;
     end Real_Literal;
  
*************** package body Exp_Fixd is
*** 2357,2363 ****
  
     function Rounded_Result_Set (N : Node_Id) return Boolean is
        K : constant Node_Kind := Nkind (N);
- 
     begin
        if (K = N_Type_Conversion or else
            K = N_Op_Divide       or else
--- 2325,2330 ----
*************** package body Exp_Fixd is
*** 2398,2404 ****
  
        Rewrite (N, Cnode);
        Analyze_And_Resolve (N, Result_Type);
- 
     end Set_Result;
  
  end Exp_Fixd;
--- 2365,2370 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_fixd.ads gcc-4.1.0/gcc/ada/exp_fixd.ads
*** gcc-4.0.2/gcc/ada/exp_fixd.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_fixd.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_imgv.adb gcc-4.1.0/gcc/ada/exp_imgv.adb
*** gcc-4.0.2/gcc/ada/exp_imgv.adb	Thu Feb 10 13:50:23 2005
--- gcc-4.1.0/gcc/ada/exp_imgv.adb	Tue Nov 15 13:58:08 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2001-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2001-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Exp_Util; use Exp_Util;
*** 32,38 ****
  with Namet;    use Namet;
  with Nmake;    use Nmake;
  with Nlists;   use Nlists;
- with Opt;      use Opt;
  with Rtsfind;  use Rtsfind;
  with Sem_Res;  use Sem_Res;
  with Sinfo;    use Sinfo;
--- 32,37 ----
*************** package body Exp_Imgv is
*** 192,203 ****
     --    For types whose root type is Wide_Character
     --      xx = Wide_Character
     --      tv = Wide_Character (Expr)
-    --      pm = Wide_Character_Encoding_Method
  
     --    For types whose root type is Wide_Wide_Character
     --      xx = Wide_Wide_haracter
     --      tv = Wide_Wide_Character (Expr)
-    --      pm = Wide_Character_Encoding_Method
  
     --    For floating-point types
     --      xx = Floating_Point
--- 191,200 ----
*************** package body Exp_Imgv is
*** 391,405 ****
               Prefix         => New_Reference_To (Ptyp, Loc),
               Attribute_Name => Name_Aft));
  
-       --  For wide [wide] character, append encoding method
- 
-       elsif Rtyp = Standard_Wide_Character
-         or else Rtyp = Standard_Wide_Wide_Character
-       then
-          Append_To (Arglist,
-            Make_Integer_Literal (Loc,
-              Intval => Int (Wide_Character_Encoding_Method)));
- 
        --  For decimal, append Scale and also set to do literal conversion
  
        elsif Is_Decimal_Fixed_Point_Type (Rtyp) then
--- 388,393 ----
*************** package body Exp_Imgv is
*** 434,439 ****
--- 422,433 ----
     --    For types whose root type is Character
     --      xx = Character
  
+    --    For types whose root type is Wide_Character
+    --      xx = Wide_Character
+ 
+    --    For types whose root type is Wide_Wide_Character
+    --      xx = Wide_Wide_Character
+ 
     --    For types whose root type is Boolean
     --      xx = Boolean
  
*************** package body Exp_Imgv is
*** 452,465 ****
     --    For floating-point types and ordinary fixed-point types
     --      xx = Real
  
-    --  For types derived from Wide_Character, typ'Value (X) expands into
- 
-    --    Value_Wide_Character (X, Wide_Character_Encoding_Method)
- 
-    --  For types derived from Wide_Wide_Character, typ'Value (X) expands into
- 
-    --    Value_Wide_Wide_Character (X, Wide_Character_Encoding_Method)
- 
     --  For decimal types with size <= Integer'Size, typ'Value (X)
     --  expands into
  
--- 446,451 ----
*************** package body Exp_Imgv is
*** 504,518 ****
  
        elsif Rtyp = Standard_Wide_Character then
           Vid := RE_Value_Wide_Character;
-          Append_To (Args,
-            Make_Integer_Literal (Loc,
-              Intval => Int (Wide_Character_Encoding_Method)));
  
        elsif Rtyp = Standard_Wide_Wide_Character then
           Vid := RE_Value_Wide_Wide_Character;
-          Append_To (Args,
-            Make_Integer_Literal (Loc,
-              Intval => Int (Wide_Character_Encoding_Method)));
  
        elsif     Rtyp = Base_Type (Standard_Short_Short_Integer)
          or else Rtyp = Base_Type (Standard_Short_Integer)
--- 490,498 ----
*************** package body Exp_Imgv is
*** 686,727 ****
     --    Result_Type (Width_Wide_Character (
     --      Wide_Character (typ'First),
     --      Wide_Character (typ'Last),
-    --      Wide_Character_Encoding_Method);
  
     --  and typ'Wide_Width expands into:
  
     --    Result_Type (Wide_Width_Wide_Character (
     --      Wide_Character (typ'First),
     --      Wide_Character (typ'Last));
-    --      Wide_Character_Encoding_Method);
  
     --  and typ'Wide_Wide_Width expands into
  
     --    Result_Type (Wide_Wide_Width_Wide_Character (
     --      Wide_Character (typ'First),
     --      Wide_Character (typ'Last));
-    --      Wide_Character_Encoding_Method);
  
     --  For types derived from Wide_Wide_Character, typ'Width expands into
  
     --    Result_Type (Width_Wide_Wide_Character (
     --      Wide_Wide_Character (typ'First),
     --      Wide_Wide_Character (typ'Last),
-    --      Wide_Character_Encoding_Method);
  
     --  and typ'Wide_Width expands into:
  
     --    Result_Type (Wide_Width_Wide_Wide_Character (
     --      Wide_Wide_Character (typ'First),
     --      Wide_Wide_Character (typ'Last));
-    --      Wide_Character_Encoding_Method);
  
     --  and typ'Wide_Wide_Width expands into
  
     --    Result_Type (Wide_Wide_Width_Wide_Wide_Char (
     --      Wide_Wide_Character (typ'First),
     --      Wide_Wide_Character (typ'Last));
-    --      Wide_Character_Encoding_Method);
  
     --  For real types, typ'Width and typ'Wide_[Wide_]Width expand into
  
--- 666,701 ----
*************** package body Exp_Imgv is
*** 857,862 ****
--- 831,852 ----
        else
           pragma Assert (Is_Enumeration_Type (Rtyp));
  
+          if Discard_Names (Rtyp) then
+ 
+             --  This is a configurable run-time, or else a restriction is in
+             --  effect. In either case the attribute cannot be supported. Force
+             --  a load error from Rtsfind to generate an appropriate message,
+             --  as is done with other ZFP violations.
+ 
+             declare
+                pragma Warnings (Off); -- since Discard is unreferenced
+                Discard : constant Entity_Id := RTE (RE_Null);
+                pragma Warnings (On);
+             begin
+                return;
+             end;
+          end if;
+ 
           Ttyp := Component_Type (Etype (Lit_Indexes (Rtyp)));
  
           case Attr is
*************** package body Exp_Imgv is
*** 914,927 ****
                     Prefix => New_Reference_To (Ptyp, Loc),
                     Attribute_Name => Name_Last))));
  
-          --  For enumeration'Wide_[Wide_]Width, add encoding method parameter
- 
-          if Attr /= Normal then
-             Append_To (Arglist,
-               Make_Integer_Literal (Loc,
-                 Intval => Int (Wide_Character_Encoding_Method)));
-          end if;
- 
           Rewrite (N,
             Convert_To (Typ,
               Make_Function_Call (Loc,
--- 904,909 ----
*************** package body Exp_Imgv is
*** 945,961 ****
              Prefix => New_Reference_To (Ptyp, Loc),
              Attribute_Name => Name_Last)));
  
-       --  For Wide_[Wide_]Character'Width, add encoding method parameter
- 
-       if (Rtyp = Standard_Wide_Character
-            or else
-           Rtyp = Standard_Wide_Wide_Character)
-         and then Attr /= Normal then
-          Append_To (Arglist,
-            Make_Integer_Literal (Loc,
-              Intval => Int (Wide_Character_Encoding_Method)));
-       end if;
- 
        Rewrite (N,
          Convert_To (Typ,
            Make_Function_Call (Loc,
--- 927,932 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_imgv.ads gcc-4.1.0/gcc/ada/exp_imgv.ads
*** gcc-4.0.2/gcc/ada/exp_imgv.ads	Thu Feb 10 13:50:23 2005
--- gcc-4.1.0/gcc/ada/exp_imgv.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_intr.adb gcc-4.1.0/gcc/ada/exp_intr.adb
*** gcc-4.0.2/gcc/ada/exp_intr.adb	Wed Dec  8 11:27:00 2004
--- gcc-4.1.0/gcc/ada/exp_intr.adb	Tue Nov 15 13:58:22 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 26,39 ****
  
  with Atree;    use Atree;
  with Einfo;    use Einfo;
  with Errout;   use Errout;
  with Exp_Ch4;  use Exp_Ch4;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch11; use Exp_Ch11;
  with Exp_Code; use Exp_Code;
  with Exp_Fixd; use Exp_Fixd;
  with Exp_Util; use Exp_Util;
! with Itypes;   use Itypes;
  with Namet;    use Namet;
  with Nmake;    use Nmake;
  with Nlists;   use Nlists;
--- 26,41 ----
  
  with Atree;    use Atree;
  with Einfo;    use Einfo;
+ with Elists;   use Elists;
  with Errout;   use Errout;
  with Exp_Ch4;  use Exp_Ch4;
  with Exp_Ch7;  use Exp_Ch7;
  with Exp_Ch11; use Exp_Ch11;
  with Exp_Code; use Exp_Code;
+ with Exp_Disp; use Exp_Disp;
  with Exp_Fixd; use Exp_Fixd;
  with Exp_Util; use Exp_Util;
! with Freeze;   use Freeze;
  with Namet;    use Namet;
  with Nmake;    use Nmake;
  with Nlists;   use Nlists;
*************** package body Exp_Intr is
*** 61,66 ****
--- 63,75 ----
     procedure Expand_Is_Negative (N : Node_Id);
     --  Expand a call to the intrinsic Is_Negative function
  
+    procedure Expand_Dispatching_Constructor_Call (N : Node_Id);
+    --  Expand a call to an instantiation of Generic_Dispatching_Constructor
+    --  into a dispatching call to the actual subprogram associated with the
+    --  Constructor formal subprogram, passing it the Parameters actual of
+    --  the call to the instantiation and dispatching based on call's Tag
+    --  parameter.
+ 
     procedure Expand_Exception_Call (N : Node_Id; Ent : RE_Id);
     --  Expand a call to Exception_Information/Message/Name. The first
     --  parameter, N, is the node for the function call, and Ent is the
*************** package body Exp_Intr is
*** 96,101 ****
--- 105,193 ----
     --    Name_Source_Location  - expand string of form file:line
     --    Name_Enclosing_Entity - expand string  with name of enclosing entity
  
+    -----------------------------------------
+    -- Expand_Dispatching_Constructor_Call --
+    -----------------------------------------
+ 
+    --  Transform a call to an instantiation of Generic_Dispatching_Constructor
+    --  of the form:
+ 
+    --     GDC_Instance (The_Tag, Parameters'Access)
+ 
+    --  to a class-wide conversion of a dispatching call to the actual
+    --  associated with the formal subprogram Construct, designating
+    --  The_Tag as the controlling tag of the call:
+ 
+    --     T'Class (Construct'Actual (Params)) -- Controlling tag is The_Tag
+ 
+    --  which will eventually be expanded to the following:
+ 
+    --     T'Class (The_Tag.all (Construct'Actual'Index).all (Params))
+ 
+    --  A class-wide membership test is also generated, preceding the call,
+    --  to ensure that the controlling tag denotes a type in T'Class.
+ 
+    procedure Expand_Dispatching_Constructor_Call (N : Node_Id) is
+       Loc        : constant Source_Ptr := Sloc (N);
+       Tag_Arg    : constant Node_Id    := First_Actual (N);
+       Param_Arg  : constant Node_Id    := Next_Actual (Tag_Arg);
+       Subp_Decl  : constant Node_Id    := Parent (Parent (Entity (Name (N))));
+       Inst_Pkg   : constant Node_Id    := Parent (Subp_Decl);
+       Act_Rename : Node_Id;
+       Act_Constr : Entity_Id;
+       Result_Typ : Entity_Id;
+       Cnstr_Call : Node_Id;
+ 
+    begin
+       --  The subprogram is the third actual in the instantiation, and is
+       --  retrieved from the corresponding renaming declaration. However,
+       --  freeze nodes may appear before, so we retrieve the declaration
+       --  with an explicit loop.
+ 
+       Act_Rename := First (Visible_Declarations (Inst_Pkg));
+       while Nkind (Act_Rename) /= N_Subprogram_Renaming_Declaration loop
+          Next (Act_Rename);
+       end loop;
+ 
+       Act_Constr := Entity (Name (Act_Rename));
+       Result_Typ := Class_Wide_Type (Etype (Act_Constr));
+ 
+       --  Create the call to the actual Constructor function
+ 
+       Cnstr_Call :=
+         Make_Function_Call (Loc,
+           Name                   => New_Occurrence_Of (Act_Constr, Loc),
+           Parameter_Associations => New_List (Relocate_Node (Param_Arg)));
+ 
+       --  Establish its controlling tag from the tag passed to the instance
+ 
+       Set_Controlling_Argument (Cnstr_Call, Relocate_Node (Tag_Arg));
+ 
+       --  Rewrite and analyze the call to the instance as a class-wide
+       --  conversion of the call to the actual constructor.
+ 
+       Rewrite (N, Convert_To (Result_Typ, Cnstr_Call));
+       Analyze_And_Resolve (N, Etype (Act_Constr));
+ 
+       --  Generate a class-wide membership test to ensure that the call's tag
+       --  argument denotes a type within the class.
+ 
+       Insert_Action (N,
+         Make_Implicit_If_Statement (N,
+           Condition =>
+             Make_Op_Not (Loc,
+               Make_DT_Access_Action (Result_Typ,
+                  Action => CW_Membership,
+                  Args   => New_List (
+                    Duplicate_Subexpr (Tag_Arg),
+                    New_Reference_To (
+                      Node (First_Elmt (Access_Disp_Table (
+                                          Root_Type (Result_Typ)))), Loc)))),
+           Then_Statements =>
+             New_List (Make_Raise_Statement (Loc,
+                         New_Occurrence_Of (RTE (RE_Tag_Error), Loc)))));
+    end Expand_Dispatching_Constructor_Call;
+ 
     ---------------------------
     -- Expand_Exception_Call --
     ---------------------------
*************** package body Exp_Intr is
*** 236,241 ****
--- 328,336 ----
        elsif Nam = Name_Exception_Name then
           Expand_Exception_Call (N, RE_Exception_Name_Simple);
  
+       elsif Nam = Name_Generic_Dispatching_Constructor then
+          Expand_Dispatching_Constructor_Call (N);
+ 
        elsif Nam = Name_Import_Address
                or else
              Nam = Name_Import_Largest_Value
*************** package body Exp_Intr is
*** 407,412 ****
--- 502,562 ----
        Loc : constant Source_Ptr := Sloc (N);
        Ent : Entity_Id;
  
+       procedure Write_Entity_Name (E : Entity_Id);
+       --  Recursive procedure to construct string for qualified name of
+       --  enclosing program unit. The qualification stops at an enclosing
+       --  scope has no source name (block or loop). If entity is a subprogram
+       --  instance, skip enclosing wrapper package.
+ 
+       -----------------------
+       -- Write_Entity_Name --
+       -----------------------
+ 
+       procedure Write_Entity_Name (E : Entity_Id) is
+          SDef : Source_Ptr;
+          TDef : constant Source_Buffer_Ptr :=
+                   Source_Text (Get_Source_File_Index (Sloc (E)));
+ 
+       begin
+          --  Nothing to do if at outer level
+ 
+          if Scope (E) = Standard_Standard then
+             null;
+ 
+          --  If scope comes from source, write its name
+ 
+          elsif Comes_From_Source (Scope (E)) then
+             Write_Entity_Name (Scope (E));
+             Add_Char_To_Name_Buffer ('.');
+ 
+          --  If in wrapper package skip past it
+ 
+          elsif Is_Wrapper_Package (Scope (E)) then
+             Write_Entity_Name (Scope (Scope (E)));
+             Add_Char_To_Name_Buffer ('.');
+ 
+          --  Otherwise nothing to output (happens in unnamed block statements)
+ 
+          else
+             null;
+          end if;
+ 
+          --  Loop to output the name
+ 
+          --  is this right wrt wide char encodings ??? (no!)
+ 
+          SDef := Sloc (E);
+          while TDef (SDef) in '0' .. '9'
+            or else TDef (SDef) >= 'A'
+            or else TDef (SDef) = ASCII.ESC
+          loop
+             Add_Char_To_Name_Buffer (TDef (SDef));
+             SDef := SDef + 1;
+          end loop;
+       end Write_Entity_Name;
+ 
+    --  Start of processing for Expand_Source_Info
+ 
     begin
        --  Integer cases
  
*************** package body Exp_Intr is
*** 432,438 ****
  
                 Ent := Current_Scope;
  
!                --  Skip enclosing blocks to reach enclosing unit.
  
                 while Present (Ent) loop
                    exit when Ekind (Ent) /= E_Block
--- 582,588 ----
  
                 Ent := Current_Scope;
  
!                --  Skip enclosing blocks to reach enclosing unit
  
                 while Present (Ent) loop
                    exit when Ekind (Ent) /= E_Block
*************** package body Exp_Intr is
*** 442,463 ****
  
                 --  Ent now points to the relevant defining entity
  
!                declare
!                   SDef : Source_Ptr := Sloc (Ent);
!                   TDef : Source_Buffer_Ptr;
! 
!                begin
!                   TDef := Source_Text (Get_Source_File_Index (SDef));
!                   Name_Len := 0;
! 
!                   while TDef (SDef) in '0' .. '9'
!                     or else TDef (SDef) >= 'A'
!                     or else TDef (SDef) = ASCII.ESC
!                   loop
!                      Add_Char_To_Name_Buffer (TDef (SDef));
!                      SDef := SDef + 1;
!                   end loop;
!                end;
  
              when others =>
                 raise Program_Error;
--- 592,599 ----
  
                 --  Ent now points to the relevant defining entity
  
!                Name_Len := 0;
!                Write_Entity_Name (Ent);
  
              when others =>
                 raise Program_Error;
*************** package body Exp_Intr is
*** 479,484 ****
--- 615,621 ----
        Func : constant Entity_Id  := Entity (Name (N));
        Conv : Node_Id;
        Ftyp : Entity_Id;
+       Ttyp : Entity_Id;
  
     begin
        --  Rewrite as unchecked conversion node. Note that we must convert
*************** package body Exp_Intr is
*** 500,511 ****
           Analyze_And_Resolve (Conv);
        end if;
  
        --  We do the analysis here, because we do not want the compiler
        --  to try to optimize or otherwise reorganize the unchecked
        --  conversion node.
  
!       Rewrite (N, Unchecked_Convert_To (Etype (E), Conv));
!       Set_Etype (N, Etype (E));
        Set_Analyzed (N);
  
        if Nkind (N) = N_Unchecked_Type_Conversion then
--- 637,669 ----
           Analyze_And_Resolve (Conv);
        end if;
  
+       --  The instantiation of Unchecked_Conversion creates a wrapper package,
+       --  and the target type is declared as a subtype of the actual. Recover
+       --  the actual, which is the subtype indic. in the subtype declaration
+       --  for the target type. This is semantically correct, and avoids
+       --  anomalies with access subtypes. For entities, leave type as is.
+ 
        --  We do the analysis here, because we do not want the compiler
        --  to try to optimize or otherwise reorganize the unchecked
        --  conversion node.
  
!       Ttyp := Etype (E);
! 
!       if Is_Entity_Name (Conv) then
!          null;
! 
!       elsif Nkind (Parent (Ttyp)) = N_Subtype_Declaration then
!          Ttyp := Entity (Subtype_Indication (Parent (Etype (E))));
! 
!       elsif Is_Itype (Ttyp) then
!          Ttyp :=
!            Entity (Subtype_Indication (Associated_Node_For_Itype (Ttyp)));
!       else
!          raise Program_Error;
!       end if;
! 
!       Rewrite (N, Unchecked_Convert_To (Ttyp, Conv));
!       Set_Etype (N, Ttyp);
        Set_Analyzed (N);
  
        if Nkind (N) = N_Unchecked_Type_Conversion then
*************** package body Exp_Intr is
*** 559,570 ****
  
           --  If the type is tagged, then we must force dispatching on the
           --  finalization call because the designated type may not be the
!          --  actual type of the object
  
           if Is_Tagged_Type (Desig_T)
             and then not Is_Class_Wide_Type (Desig_T)
           then
              Deref := Unchecked_Convert_To (Class_Wide_Type (Desig_T), Deref);
           end if;
  
           Free_Cod :=
--- 717,737 ----
  
           --  If the type is tagged, then we must force dispatching on the
           --  finalization call because the designated type may not be the
!          --  actual type of the object.
  
           if Is_Tagged_Type (Desig_T)
             and then not Is_Class_Wide_Type (Desig_T)
           then
              Deref := Unchecked_Convert_To (Class_Wide_Type (Desig_T), Deref);
+ 
+          elsif not Is_Tagged_Type (Desig_T) then
+ 
+             --  Set type of result, to force a conversion when needed (see
+             --  exp_ch7, Convert_View), given that Deep_Finalize may be
+             --  inherited from the parent type, and we need the type of the
+             --  expression to see whether the conversion is in fact needed.
+ 
+             Set_Etype (Deref, Desig_T);
           end if;
  
           Free_Cod :=
*************** package body Exp_Intr is
*** 630,636 ****
                   and then Is_Entity_Name (Nam2)
                   and then Entity (Prefix (Nam1)) = Entity (Nam2)
                 then
!                   Error_Msg_N ("Abort may take time to complete?", N);
                    Error_Msg_N ("\deallocation might have no effect?", N);
                    Error_Msg_N ("\safer to wait for termination.?", N);
                 end if;
--- 797,803 ----
                   and then Is_Entity_Name (Nam2)
                   and then Entity (Prefix (Nam1)) = Entity (Nam2)
                 then
!                   Error_Msg_N ("abort may take time to complete?", N);
                    Error_Msg_N ("\deallocation might have no effect?", N);
                    Error_Msg_N ("\safer to wait for termination.?", N);
                 end if;
*************** package body Exp_Intr is
*** 674,679 ****
--- 841,922 ----
        Append_To (Stmts, Free_Node);
        Set_Storage_Pool (Free_Node, Pool);
  
+       --  Deal with storage pool
+ 
+       if Present (Pool) then
+ 
+          --  Freeing the secondary stack is meaningless
+ 
+          if Is_RTE (Pool, RE_SS_Pool) then
+             null;
+ 
+          elsif Is_Class_Wide_Type (Etype (Pool)) then
+ 
+             --  Case of a class-wide pool type: make a dispatching call
+             --  to Deallocate through the class-wide Deallocate_Any.
+ 
+             Set_Procedure_To_Call (Free_Node,
+               RTE (RE_Deallocate_Any));
+ 
+          else
+             --  Case of a specific pool type: make a statically bound call
+ 
+             Set_Procedure_To_Call (Free_Node,
+               Find_Prim_Op (Etype (Pool), Name_Deallocate));
+          end if;
+       end if;
+ 
+       if Present (Procedure_To_Call (Free_Node)) then
+ 
+          --  For all cases of a Deallocate call, the back-end needs to be
+          --  able to compute the size of the object being freed. This may
+          --  require some adjustments for objects of dynamic size.
+          --
+          --  If the type is class wide, we generate an implicit type with the
+          --  right dynamic size, so that the deallocate call gets the right
+          --  size parameter computed by GIGI. Same for an access to
+          --  unconstrained packed array.
+ 
+          if Is_Class_Wide_Type (Desig_T)
+            or else
+             (Is_Array_Type (Desig_T)
+                and then not Is_Constrained (Desig_T)
+                and then Is_Packed (Desig_T))
+          then
+             declare
+                Deref    : constant Node_Id :=
+                             Make_Explicit_Dereference (Loc,
+                               Duplicate_Subexpr_No_Checks (Arg));
+                D_Subtyp : Node_Id;
+                D_Type   : Entity_Id;
+ 
+             begin
+                Set_Etype  (Deref, Typ);
+                Set_Parent (Deref, Free_Node);
+                D_Subtyp := Make_Subtype_From_Expr (Deref, Desig_T);
+ 
+                if Nkind (D_Subtyp) in N_Has_Entity then
+                   D_Type := Entity (D_Subtyp);
+ 
+                else
+                   D_Type := Make_Defining_Identifier (Loc,
+                               New_Internal_Name ('A'));
+                   Insert_Action (N,
+                     Make_Subtype_Declaration (Loc,
+                       Defining_Identifier => D_Type,
+                       Subtype_Indication  => D_Subtyp));
+                   Freeze_Itype (D_Type, N);
+ 
+                end if;
+ 
+                Set_Actual_Designated_Subtype (Free_Node, D_Type);
+             end;
+ 
+          end if;
+       end if;
+ 
+       Set_Expression (Free_Node, Free_Arg);
+ 
        --  Make implicit if statement. We omit this if we are the then part
        --  of a test of the form:
  
*************** package body Exp_Intr is
*** 726,787 ****
           end if;
        end;
  
!       --  Deal with storage pool
! 
!       if Present (Pool) then
! 
!          --  Freeing the secondary stack is meaningless
! 
!          if Is_RTE (Pool, RE_SS_Pool) then
!             null;
! 
!          elsif Is_Class_Wide_Type (Etype (Pool)) then
!             Set_Procedure_To_Call (Free_Node,
!               RTE (RE_Deallocate_Any));
!          else
!             Set_Procedure_To_Call (Free_Node,
!               Find_Prim_Op (Etype (Pool), Name_Deallocate));
! 
!             --  If the type is class wide, we generate an implicit type
!             --  with the right dynamic size, so that the deallocate call
!             --  gets the right size parameter computed by gigi
! 
!             if Is_Class_Wide_Type (Desig_T) then
!                declare
!                   Acc_Type : constant Entity_Id :=
!                                Create_Itype (E_Access_Type, N);
!                   Deref    : constant Node_Id :=
!                                Make_Explicit_Dereference (Loc,
!                                  Duplicate_Subexpr_No_Checks (Arg));
! 
!                begin
!                   Set_Etype  (Deref, Typ);
!                   Set_Parent (Deref, Free_Node);
  
!                   Set_Etype     (Acc_Type, Acc_Type);
!                   Set_Size_Info (Acc_Type, Typ);
!                   Set_Directly_Designated_Type
!                                 (Acc_Type, Entity (Make_Subtype_From_Expr
!                                                     (Deref, Desig_T)));
  
!                   Free_Arg := Unchecked_Convert_To (Acc_Type, Free_Arg);
!                end;
!             end if;
!          end if;
        end if;
  
!       Set_Expression (Free_Node, Free_Arg);
! 
!       declare
!          Lhs : constant Node_Id := Duplicate_Subexpr_No_Checks (Arg);
! 
!       begin
!          Set_Assignment_OK (Lhs);
!          Append_To (Stmts,
!            Make_Assignment_Statement (Loc,
!              Name       => Lhs,
!              Expression => Make_Null (Loc)));
!       end;
  
        Rewrite (N, Gen_Code);
        Analyze (N);
--- 969,995 ----
           end if;
        end;
  
!       --  Only remaining step is to set result to null, or generate a
!       --  raise of constraint error if the target object is "not null".
  
!       if Can_Never_Be_Null (Etype (Arg)) then
!          Append_To (Stmts,
!            Make_Raise_Constraint_Error (Loc,
!              Reason => CE_Access_Check_Failed));
  
!       else
!          declare
!             Lhs : constant Node_Id := Duplicate_Subexpr_No_Checks (Arg);
!          begin
!             Set_Assignment_OK (Lhs);
!             Append_To (Stmts,
!               Make_Assignment_Statement (Loc,
!                 Name       => Lhs,
!                 Expression => Make_Null (Loc)));
!          end;
        end if;
  
!       --  Rewrite the call
  
        Rewrite (N, Gen_Code);
        Analyze (N);
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_intr.ads gcc-4.1.0/gcc/ada/exp_intr.ads
*** gcc-4.0.2/gcc/ada/exp_intr.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_intr.ads	Tue Nov 15 17:21:54 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --        Copyright (C) 1992,1993,1994 Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_pakd.adb gcc-4.1.0/gcc/ada/exp_pakd.adb
*** gcc-4.0.2/gcc/ada/exp_pakd.adb	Mon Jan  3 15:43:24 2005
--- gcc-4.1.0/gcc/ada/exp_pakd.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 27,32 ****
--- 27,33 ----
  with Atree;    use Atree;
  with Checks;   use Checks;
  with Einfo;    use Einfo;
+ with Errout;   use Errout;
  with Exp_Dbug; use Exp_Dbug;
  with Exp_Util; use Exp_Util;
  with Nlists;   use Nlists;
*************** package body Exp_Pakd is
*** 1084,1090 ****
           --  discriminants, so we treat it as a default/per-object expression.
  
           Set_Parent (Len_Expr, Typ);
!          Analyze_Per_Use_Expression (Len_Expr, Standard_Integer);
  
           --  Use a modular type if possible. We can do this if we have
           --  static bounds, and the length is small enough, and the length
--- 1085,1091 ----
           --  discriminants, so we treat it as a default/per-object expression.
  
           Set_Parent (Len_Expr, Typ);
!          Analyze_Per_Use_Expression (Len_Expr, Standard_Long_Long_Integer);
  
           --  Use a modular type if possible. We can do this if we have
           --  static bounds, and the length is small enough, and the length
*************** package body Exp_Pakd is
*** 1095,1100 ****
--- 1096,1122 ----
           if Compile_Time_Known_Value (Len_Expr) then
              Len_Bits := Expr_Value (Len_Expr) * Csize;
  
+             --  Check for size known to be too large
+ 
+             if Len_Bits >
+               Uint_2 ** (Standard_Integer_Size - 1) * System_Storage_Unit
+             then
+                if System_Storage_Unit = 8 then
+                   Error_Msg_N
+                     ("packed array size cannot exceed " &
+                      "Integer''Last bytes", Typ);
+                else
+                   Error_Msg_N
+                     ("packed array size cannot exceed " &
+                      "Integer''Last storage units", Typ);
+                end if;
+ 
+                --  Reset length to arbitrary not too high value to continue
+ 
+                Len_Expr := Make_Integer_Literal (Loc, 65535);
+                Analyze_And_Resolve (Len_Expr, Standard_Long_Long_Integer);
+             end if;
+ 
              --  We normally consider small enough to mean no larger than the
              --  value of System_Max_Binary_Modulus_Power, checking that in the
              --  case of values longer than word size, we have long shifts.
*************** package body Exp_Pakd is
*** 1207,1227 ****
                   Make_Subtype_Indication (Loc,
                     Subtype_Mark => New_Occurrence_Of (PB_Type, Loc),
                     Constraint =>
- 
                       Make_Index_Or_Discriminant_Constraint (Loc,
                         Constraints => New_List (
                           Make_Range (Loc,
                             Low_Bound =>
                               Make_Integer_Literal (Loc, 0),
!                            High_Bound => PAT_High)))));
  
           Install_PAT;
  
           --  Currently the code in this unit requires that packed arrays
           --  represented by non-modular arrays of bytes be on a byte
!          --  boundary.
  
!          Set_Must_Be_On_Byte_Boundary (Typ);
        end if;
     end Create_Packed_Array_Type;
  
--- 1229,1253 ----
                   Make_Subtype_Indication (Loc,
                     Subtype_Mark => New_Occurrence_Of (PB_Type, Loc),
                     Constraint =>
                       Make_Index_Or_Discriminant_Constraint (Loc,
                         Constraints => New_List (
                           Make_Range (Loc,
                             Low_Bound =>
                               Make_Integer_Literal (Loc, 0),
!                            High_Bound =>
!                              Convert_To (Standard_Integer, PAT_High))))));
  
           Install_PAT;
  
           --  Currently the code in this unit requires that packed arrays
           --  represented by non-modular arrays of bytes be on a byte
!          --  boundary for bit sizes handled by System.Pack_nn units.
!          --  That's because these units assume the array being accessed
!          --  starts on a byte boundary.
  
!          if Get_Id (UI_To_Int (Csize)) /= RE_Null then
!             Set_Must_Be_On_Byte_Boundary (Typ);
!          end if;
        end if;
     end Create_Packed_Array_Type;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_pakd.ads gcc-4.1.0/gcc/ada/exp_pakd.ads
*** gcc-4.0.2/gcc/ada/exp_pakd.ads	Mon Sep 13 10:18:39 2004
--- gcc-4.1.0/gcc/ada/exp_pakd.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_prag.adb gcc-4.1.0/gcc/ada/exp_prag.adb
*** gcc-4.0.2/gcc/ada/exp_prag.adb	Thu Feb 10 13:50:42 2005
--- gcc-4.1.0/gcc/ada/exp_prag.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_prag.ads gcc-4.1.0/gcc/ada/exp_prag.ads
*** gcc-4.0.2/gcc/ada/exp_prag.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_prag.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --        Copyright (C) 1992,1993,1994 Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_smem.adb gcc-4.1.0/gcc/ada/exp_smem.adb
*** gcc-4.0.2/gcc/ada/exp_smem.adb	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_smem.adb	Tue Nov 15 17:21:54 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1998-2000 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1998-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Smem is
*** 60,66 ****
     procedure Build_Full_Name
       (E : in  Entity_Id;
        N : out String_Id);
!    --  Build the fully qualified string name of a shared variable.
  
     function On_Lhs_Of_Assignment (N : Node_Id) return Boolean;
     --  Determines if N is on the left hand of the assignment. This means
--- 60,66 ----
     procedure Build_Full_Name
       (E : in  Entity_Id;
        N : out String_Id);
!    --  Build the fully qualified string name of a shared variable
  
     function On_Lhs_Of_Assignment (N : Node_Id) return Boolean;
     --  Determines if N is on the left hand of the assignment. This means
*************** package body Exp_Smem is
*** 344,351 ****
              New_Reference_To (S, Loc),
              New_Occurrence_Of (Ent, Loc)));
  
-       Set_OK_For_Stream (Atr, True);
- 
        Insert_After_And_Analyze (N,
          Make_Subprogram_Body (Loc,
            Specification =>
--- 344,349 ----
*************** package body Exp_Smem is
*** 408,415 ****
              New_Reference_To (S, Loc),
              New_Occurrence_Of (Ent, Loc)));
  
-       Set_OK_For_Stream (Atr, True);
- 
        Insert_After_And_Analyze (N,
          Make_Subprogram_Body (Loc,
            Specification =>
--- 406,411 ----
*************** package body Exp_Smem is
*** 496,500 ****
        end if;
     end On_Lhs_Of_Assignment;
  
- 
  end Exp_Smem;
--- 492,495 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_smem.ads gcc-4.1.0/gcc/ada/exp_smem.ads
*** gcc-4.0.2/gcc/ada/exp_smem.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_smem.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_strm.adb gcc-4.1.0/gcc/ada/exp_strm.adb
*** gcc-4.0.2/gcc/ada/exp_strm.adb	Thu Feb 10 13:50:35 2005
--- gcc-4.1.0/gcc/ada/exp_strm.adb	Tue Nov 15 13:58:31 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Snames;   use Snames;
*** 36,42 ****
  with Stand;    use Stand;
  with Tbuild;   use Tbuild;
  with Ttypes;   use Ttypes;
- with Exp_Tss;  use Exp_Tss;
  with Uintp;    use Uintp;
  
  package body Exp_Strm is
--- 36,41 ----
*************** package body Exp_Strm is
*** 592,612 ****
  
        --  Call the function, and do an unchecked conversion of the result
        --  to the actual type of the prefix. If the target is a discriminant,
!       --  set target type to force a constraint check (13.13.2 (35)).
  
!       if Nkind (Targ) = N_Selected_Component
!         and then Present (Entity (Selector_Name (Targ)))
!         and then Ekind (Entity (Selector_Name (Targ)))
!           = E_Discriminant
        then
           Res :=
!            Unchecked_Convert_To (Base_Type (P_Type),
               Make_Function_Call (Loc,
                 Name => New_Occurrence_Of (RTE (Lib_RE), Loc),
                 Parameter_Associations => New_List (
                   Relocate_Node (Strm))));
  
           Set_Do_Range_Check (Res);
           return Res;
  
        else
--- 591,617 ----
  
        --  Call the function, and do an unchecked conversion of the result
        --  to the actual type of the prefix. If the target is a discriminant,
!       --  and we are in the body of the default implementation of a 'Read
!       --  attribute, set target type to force a constraint check (13.13.2(35)).
!       --  If the type of the discriminant is currently private, add another
!       --  unchecked conversion from the full view.
  
!       if Nkind (Targ) = N_Identifier
!         and then Is_Internal_Name (Chars (Targ))
!         and then Is_TSS (Scope (Entity (Targ)), TSS_Stream_Read)
        then
           Res :=
!            Unchecked_Convert_To (Base_Type (U_Type),
               Make_Function_Call (Loc,
                 Name => New_Occurrence_Of (RTE (Lib_RE), Loc),
                 Parameter_Associations => New_List (
                   Relocate_Node (Strm))));
  
           Set_Do_Range_Check (Res);
+          if Base_Type (P_Type) /= Base_Type (U_Type) then
+             Res := Unchecked_Convert_To (Base_Type (P_Type), Res);
+          end if;
+ 
           return Res;
  
        else
*************** package body Exp_Strm is
*** 786,808 ****
        Decl : out Node_Id;
        Pnam : out Entity_Id)
     is
!       Stms : List_Id;
        --  Statements for the 'Read body
  
        Tmp : constant Entity_Id := Make_Defining_Identifier (Loc, Name_V);
!       --  Temporary, must hide formal (assignments to components of the
        --  record are always generated with V as the identifier for the record).
  
!       Cstr : List_Id;
!       --  List of constraints to be applied on temporary
! 
!       Disc     : Entity_Id;
!       Disc_Ref : Node_Id;
!       Block    : Node_Id;
  
     begin
!       Stms := New_List;
!       Cstr := New_List;
        Disc := First_Discriminant (Typ);
  
        --  A mutable type cannot be a tagged type, so we generate a new name
--- 791,831 ----
        Decl : out Node_Id;
        Pnam : out Entity_Id)
     is
!       Out_Formal : Node_Id;
!       --  Expression denoting the out formal parameter
! 
!       Dcls : constant List_Id := New_List;
!       --  Declarations for the 'Read body
! 
!       Stms : List_Id := New_List;
        --  Statements for the 'Read body
  
+       Disc : Entity_Id;
+       --  Entity of the discriminant being processed
+ 
+       Tmp_For_Disc : Entity_Id;
+       --  Temporary object used to read the value of Disc
+ 
+       Tmps_For_Discs : constant List_Id := New_List;
+       --  List of object declarations for temporaries holding the read values
+       --  for the discriminants.
+ 
+       Cstr : constant List_Id := New_List;
+       --  List of constraints to be applied on temporary record
+ 
+       Discriminant_Checks : constant List_Id := New_List;
+       --  List of discriminant checks to be performed if the actual object
+       --  is constrained.
+ 
        Tmp : constant Entity_Id := Make_Defining_Identifier (Loc, Name_V);
!       --  Temporary record must hide formal (assignments to components of the
        --  record are always generated with V as the identifier for the record).
  
!       Constrained_Stms : List_Id := New_List;
!       --  Statements within the block where we have the constrained temporary
  
     begin
! 
        Disc := First_Discriminant (Typ);
  
        --  A mutable type cannot be a tagged type, so we generate a new name
*************** package body Exp_Strm is
*** 812,844 ****
          Make_Defining_Identifier (Loc,
            Chars => Make_TSS_Name_Local (Typ, TSS_Stream_Read));
  
        --  Generate Reads for the discriminants of the type. The discriminants
        --  need to be read before the rest of the components, so that
!       --  variants are initialized correctly.
  
        while Present (Disc) loop
!          Disc_Ref :=
!            Make_Selected_Component (Loc,
!              Prefix        => Make_Selected_Component (Loc,
!                                 Prefix => New_Occurrence_Of (Pnam, Loc),
!                                 Selector_Name =>
!                                   Make_Identifier (Loc, Name_V)),
!              Selector_Name => New_Occurrence_Of (Disc, Loc));
  
!          Set_Assignment_OK (Disc_Ref);
  
           Append_To (Stms,
             Make_Attribute_Reference (Loc,
               Prefix => New_Occurrence_Of (Etype (Disc), Loc),
!                Attribute_Name => Name_Read,
!                Expressions => New_List (
!                  Make_Identifier (Loc, Name_S),
!                  Disc_Ref)));
  
           Append_To (Cstr,
             Make_Discriminant_Association (Loc,
               Selector_Names => New_List (New_Occurrence_Of (Disc, Loc)),
!              Expression     => New_Copy_Tree (Disc_Ref)));
           Next_Discriminant (Disc);
        end loop;
  
--- 835,884 ----
          Make_Defining_Identifier (Loc,
            Chars => Make_TSS_Name_Local (Typ, TSS_Stream_Read));
  
+       Out_Formal :=
+         Make_Selected_Component (Loc,
+           Prefix => New_Occurrence_Of (Pnam, Loc),
+           Selector_Name => Make_Identifier (Loc, Name_V));
+ 
        --  Generate Reads for the discriminants of the type. The discriminants
        --  need to be read before the rest of the components, so that
!       --  variants are initialized correctly. The discriminants must be read
!       --  into temporary variables so an incomplete Read (interrupted by an
!       --  exception, for example) does not alter the passed object.
  
        while Present (Disc) loop
!          Tmp_For_Disc := Make_Defining_Identifier (Loc,
!                            New_External_Name (Chars (Disc), "D"));
  
!          Append_To (Tmps_For_Discs,
!            Make_Object_Declaration (Loc,
!              Defining_Identifier => Tmp_For_Disc,
!              Object_Definition   => New_Occurrence_Of (Etype (Disc), Loc)));
!          Set_No_Initialization (Last (Tmps_For_Discs));
  
           Append_To (Stms,
             Make_Attribute_Reference (Loc,
               Prefix => New_Occurrence_Of (Etype (Disc), Loc),
!              Attribute_Name => Name_Read,
!              Expressions => New_List (
!                Make_Identifier (Loc, Name_S),
!                New_Occurrence_Of (Tmp_For_Disc, Loc))));
  
           Append_To (Cstr,
             Make_Discriminant_Association (Loc,
               Selector_Names => New_List (New_Occurrence_Of (Disc, Loc)),
!              Expression     => New_Occurrence_Of (Tmp_For_Disc, Loc)));
! 
!          Append_To (Discriminant_Checks,
!            Make_Raise_Constraint_Error (Loc,
!              Condition =>
!                Make_Op_Ne (Loc,
!                  Left_Opnd  => New_Occurrence_Of (Tmp_For_Disc, Loc),
!                  Right_Opnd =>
!                    Make_Selected_Component (Loc,
!                      Prefix => New_Copy_Tree (Out_Formal),
!                      Selector_Name => New_Occurrence_Of (Disc, Loc))),
!              Reason => CE_Discriminant_Check_Failed));
           Next_Discriminant (Disc);
        end loop;
  
*************** package body Exp_Strm is
*** 854,880 ****
        --  prior to being initialized. To this effect, we wrap the component
        --  assignments in a block where V is a constrained temporary.
  
!       Block :=
          Make_Block_Statement (Loc,
!           Declarations => New_List (
!            Make_Object_Declaration (Loc,
!              Defining_Identifier => Tmp,
!              Object_Definition   =>
!                Make_Subtype_Indication (Loc,
!                  Subtype_Mark => New_Occurrence_Of (Typ, Loc),
!                  Constraint =>
!                    Make_Index_Or_Discriminant_Constraint (Loc,
!                      Constraints => Cstr)))),
!           Handled_Statement_Sequence =>
!             Handled_Statement_Sequence (Decl));
  
!       Append_To (Stms, Block);
  
!       Append_To (Statements (Handled_Statement_Sequence (Block)),
          Make_Assignment_Statement (Loc,
!           Name => Make_Selected_Component (Loc,
!                     Prefix => New_Occurrence_Of (Pnam, Loc),
!                     Selector_Name => Make_Identifier (Loc, Name_V)),
            Expression => Make_Identifier (Loc, Name_V)));
  
        if Is_Unchecked_Union (Typ) then
--- 894,926 ----
        --  prior to being initialized. To this effect, we wrap the component
        --  assignments in a block where V is a constrained temporary.
  
!       Append_To (Dcls,
!         Make_Object_Declaration (Loc,
!           Defining_Identifier => Tmp,
!           Object_Definition   =>
!             Make_Subtype_Indication (Loc,
!               Subtype_Mark => New_Occurrence_Of (Typ, Loc),
!               Constraint =>
!                 Make_Index_Or_Discriminant_Constraint (Loc,
!                   Constraints => Cstr))));
! 
!       Constrained_Stms := Statements (Handled_Statement_Sequence (Decl));
!       Append_To (Stms,
          Make_Block_Statement (Loc,
!           Declarations => Dcls,
!           Handled_Statement_Sequence => Parent (Constrained_Stms)));
  
!       Append_To (Constrained_Stms,
!         Make_Implicit_If_Statement (Pnam,
!           Condition =>
!             Make_Attribute_Reference (Loc,
!               Prefix => New_Copy_Tree (Out_Formal),
!               Attribute_Name => Name_Constrained),
!           Then_Statements => Discriminant_Checks));
  
!       Append_To (Constrained_Stms,
          Make_Assignment_Statement (Loc,
!           Name => Out_Formal,
            Expression => Make_Identifier (Loc, Name_V)));
  
        if Is_Unchecked_Union (Typ) then
*************** package body Exp_Strm is
*** 890,895 ****
--- 936,942 ----
                 Reason => PE_Unchecked_Union_Restriction));
        end if;
  
+       Set_Declarations (Decl, Tmps_For_Discs);
        Set_Handled_Statement_Sequence (Decl,
          Make_Handled_Sequence_Of_Statements (Loc,
            Statements => Stms));
*************** package body Exp_Strm is
*** 1173,1178 ****
--- 1220,1230 ----
        Stms : List_Id;
        Typt : Entity_Id;
  
+       In_Limited_Extension : Boolean := False;
+       --  Set to True while processing the record extension definition
+       --  for an extension of a limited type (for which an ancestor type
+       --  has an explicit Nam attribute definition).
+ 
        function Make_Component_List_Attributes (CL : Node_Id) return List_Id;
        --  Returns a sequence of attributes to process the components that
        --  are referenced in the given component list.
*************** package body Exp_Strm is
*** 1254,1264 ****
        --------------------------
  
        function Make_Field_Attribute (C : Entity_Id) return Node_Id is
        begin
           return
             Make_Attribute_Reference (Loc,
               Prefix =>
!                New_Occurrence_Of (Stream_Base_Type (Etype (C)), Loc),
               Attribute_Name => Nam,
               Expressions => New_List (
                 Make_Identifier (Loc, Name_S),
--- 1306,1338 ----
        --------------------------
  
        function Make_Field_Attribute (C : Entity_Id) return Node_Id is
+          Field_Typ : constant Entity_Id := Stream_Base_Type (Etype (C));
+ 
+          TSS_Names : constant array (Name_Input .. Name_Write) of
+                        TSS_Name_Type :=
+                         (Name_Read   => TSS_Stream_Read,
+                          Name_Write  => TSS_Stream_Write,
+                          Name_Input  => TSS_Stream_Input,
+                          Name_Output => TSS_Stream_Output,
+                          others      => TSS_Null);
+          pragma Assert (TSS_Names (Nam) /= TSS_Null);
+ 
        begin
+          if In_Limited_Extension
+            and then Is_Limited_Type (Field_Typ)
+            and then No (Find_Inherited_TSS (Field_Typ, TSS_Names (Nam)))
+          then
+             --  The declaration is illegal per 13.13.2(9/1), and this is
+             --  enforced in Exp_Ch3.Check_Stream_Attributes. Keep the
+             --  caller happy by returning a null statement.
+ 
+             return Make_Null_Statement (Loc);
+          end if;
+ 
           return
             Make_Attribute_Reference (Loc,
               Prefix =>
!                New_Occurrence_Of (Field_Typ, Loc),
               Attribute_Name => Nam,
               Expressions => New_List (
                 Make_Identifier (Loc, Name_S),
*************** package body Exp_Strm is
*** 1331,1336 ****
--- 1405,1414 ----
  
        if Nkind (Rdef) = N_Derived_Type_Definition then
           Rdef := Record_Extension_Part (Rdef);
+ 
+          if Is_Limited_Type (Typt) then
+             In_Limited_Extension := True;
+          end if;
        end if;
  
        if Present (Component_List (Rdef)) then
*************** package body Exp_Strm is
*** 1369,1379 ****
--- 1447,1461 ----
        Profile : List_Id;
  
     begin
+       --  (Ada 2005: AI-441): Set the null-excluding attribute because it has
+       --  no semantic meaning in Ada 95 but it is a requirement in Ada2005.
+ 
        Profile := New_List (
          Make_Parameter_Specification (Loc,
            Defining_Identifier => Make_Defining_Identifier (Loc, Name_S),
            Parameter_Type      =>
            Make_Access_Definition (Loc,
+              Null_Exclusion_Present => True,
               Subtype_Mark => New_Reference_To (
                 Class_Wide_Type (RTE (RE_Root_Stream_Type)), Loc))));
  
*************** package body Exp_Strm is
*** 1405,1410 ****
--- 1487,1495 ----
     begin
        --  Construct function specification
  
+       --  (Ada 2005: AI-441): Set the null-excluding attribute because it has
+       --  no semantic meaning in Ada 95 but it is a requirement in Ada2005.
+ 
        Spec :=
          Make_Function_Specification (Loc,
            Defining_Unit_Name => Fnam,
*************** package body Exp_Strm is
*** 1414,1423 ****
                Defining_Identifier => Make_Defining_Identifier (Loc, Name_S),
                Parameter_Type =>
                  Make_Access_Definition (Loc,
                    Subtype_Mark => New_Reference_To (
                      Class_Wide_Type (RTE (RE_Root_Stream_Type)), Loc)))),
  
!           Subtype_Mark => New_Occurrence_Of (Typ, Loc));
  
        Decl :=
          Make_Subprogram_Body (Loc,
--- 1499,1509 ----
                Defining_Identifier => Make_Defining_Identifier (Loc, Name_S),
                Parameter_Type =>
                  Make_Access_Definition (Loc,
+                   Null_Exclusion_Present => True,
                    Subtype_Mark => New_Reference_To (
                      Class_Wide_Type (RTE (RE_Root_Stream_Type)), Loc)))),
  
!           Result_Definition => New_Occurrence_Of (Typ, Loc));
  
        Decl :=
          Make_Subprogram_Body (Loc,
*************** package body Exp_Strm is
*** 1445,1450 ****
--- 1531,1539 ----
     begin
        --  Construct procedure specification
  
+       --  (Ada 2005: AI-441): Set the null-excluding attribute because it has
+       --  no semantic meaning in Ada 95 but it is a requirement in Ada2005.
+ 
        Spec :=
          Make_Procedure_Specification (Loc,
            Defining_Unit_Name => Pnam,
*************** package body Exp_Strm is
*** 1454,1459 ****
--- 1543,1549 ----
                Defining_Identifier => Make_Defining_Identifier (Loc, Name_S),
                Parameter_Type =>
                  Make_Access_Definition (Loc,
+                   Null_Exclusion_Present => True,
                    Subtype_Mark => New_Reference_To (
                      Class_Wide_Type (RTE (RE_Root_Stream_Type)), Loc))),
  
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_strm.ads gcc-4.1.0/gcc/ada/exp_strm.ads
*** gcc-4.0.2/gcc/ada/exp_strm.ads	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/exp_strm.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_tss.adb gcc-4.1.0/gcc/ada/exp_tss.adb
*** gcc-4.0.2/gcc/ada/exp_tss.adb	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/exp_tss.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_Tss is
*** 97,102 ****
--- 97,137 ----
        Prepend_Elmt (TSS, TSS_Elist (FN));
     end Copy_TSS;
  
+    ------------------------
+    -- Find_Inherited_TSS --
+    ------------------------
+ 
+    function Find_Inherited_TSS
+      (Typ : Entity_Id;
+       Nam : TSS_Name_Type) return Entity_Id
+    is
+       Btyp : Entity_Id := Typ;
+       Proc : Entity_Id;
+ 
+    begin
+       loop
+          Btyp := Base_Type (Btyp);
+          Proc :=  TSS (Btyp, Nam);
+ 
+          exit when Present (Proc)
+            or else not Is_Derived_Type (Btyp);
+ 
+          --  If Typ is a derived type, it may inherit attributes from some
+          --  ancestor.
+ 
+          Btyp := Etype (Btyp);
+       end loop;
+ 
+       if No (Proc) then
+ 
+          --  If nothing else, use the TSS of the root type
+ 
+          Proc := TSS (Base_Type (Underlying_Type (Typ)), Nam);
+       end if;
+ 
+       return Proc;
+    end Find_Inherited_TSS;
+ 
     -----------------------
     -- Get_TSS_Name_Type --
     -----------------------
*************** package body Exp_Tss is
*** 112,119 ****
        if C1 in 'A' .. 'Z' and then C2 in 'A' .. 'Z' then
           Nm := (C1, C2);
  
!          for J in OK_TSS_Names'Range loop
!             if Nm = OK_TSS_Names (J) then
                 return Nm;
              end if;
           end loop;
--- 147,154 ----
        if C1 in 'A' .. 'Z' and then C2 in 'A' .. 'Z' then
           Nm := (C1, C2);
  
!          for J in TSS_Names'Range loop
!             if Nm = TSS_Names (J) then
                 return Nm;
              end if;
           end loop;
*************** package body Exp_Tss is
*** 200,210 ****
  
     function Make_Init_Proc_Name (Typ : Entity_Id) return Name_Id is
     begin
!       Get_Name_String (Chars (Typ));
!       Name_Len := Name_Len + 2;
!       Name_Buffer (Name_Len - 1) := TSS_Init_Proc (1);
!       Name_Buffer (Name_Len)     := TSS_Init_Proc (2);
!       return Name_Find;
     end Make_Init_Proc_Name;
  
     -------------------------
--- 235,241 ----
  
     function Make_Init_Proc_Name (Typ : Entity_Id) return Name_Id is
     begin
!       return Make_TSS_Name (Typ, TSS_Init_Proc);
     end Make_Init_Proc_Name;
  
     -------------------------
*************** package body Exp_Tss is
*** 217,226 ****
     is
     begin
        Get_Name_String (Chars (Typ));
-       Add_Char_To_Name_Buffer (Nam (1));
-       Add_Char_To_Name_Buffer (Nam (2));
        Add_Char_To_Name_Buffer ('_');
        Add_Nat_To_Name_Buffer (Increment_Serial_Number);
        return Name_Find;
     end Make_TSS_Name_Local;
  
--- 248,257 ----
     is
     begin
        Get_Name_String (Chars (Typ));
        Add_Char_To_Name_Buffer ('_');
        Add_Nat_To_Name_Buffer (Increment_Serial_Number);
+       Add_Char_To_Name_Buffer (Nam (1));
+       Add_Char_To_Name_Buffer (Nam (2));
        return Name_Find;
     end Make_TSS_Name_Local;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_tss.ads gcc-4.1.0/gcc/ada/exp_tss.ads
*** gcc-4.0.2/gcc/ada/exp_tss.ads	Mon Jan 26 14:47:48 2004
--- gcc-4.1.0/gcc/ada/exp_tss.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Exp_Tss is
*** 64,72 ****
     -- TSS Naming --
     ----------------
  
!    --  A TSS is identified by its Chars name. The name has the form typXY,
!    --  where typ is the type name, and XY are two characters that identify
!    --  the particular TSS routine, using the following codes:
  
     --  Note: When making additions to this list, update the list in snames.adb
  
--- 64,76 ----
     -- TSS Naming --
     ----------------
  
!    --  A TSS is identified by its Chars name. The name has the form typXY or
!    --  typ_<serial>XY, where typ is the type name, and XY are two characters
!    --  that identify the particular TSS routine. A unique serial number is
!    --  included for the case where several local instances of the same TSS
!    --  must be generated (see discussion under Make_TSS_Name_Local).
! 
!    --  The following codes are used to denote TSSs:
  
     --  Note: When making additions to this list, update the list in snames.adb
  
*************** package Exp_Tss is
*** 77,97 ****
     TSS_Deep_Finalize      : constant TNT := "DF";  -- Deep Finalize
     TSS_Deep_Initialize    : constant TNT := "DI";  -- Deep Initialize
     TSS_Composite_Equality : constant TNT := "EQ";  -- Composite Equality
     TSS_Init_Proc          : constant TNT := "IP";  -- Initialization Procedure
!    TSS_RAS_Access         : constant TNT := "RA";  -- RAs type access
!    TSS_RAS_Dereference    : constant TNT := "RD";  -- RAs type deference
     TSS_Rep_To_Pos         : constant TNT := "RP";  -- Rep to Pos conversion
     TSS_Slice_Assign       : constant TNT := "SA";  -- Slice assignment
     TSS_Stream_Input       : constant TNT := "SI";  -- Stream Input attribute
     TSS_Stream_Output      : constant TNT := "SO";  -- Stream Output attribute
     TSS_Stream_Read        : constant TNT := "SR";  -- Stream Read attribute
     TSS_Stream_Write       : constant TNT := "SW";  -- Stream Write attribute
  
!    OK_TSS_Names : constant array (Natural range <>) of TSS_Name_Type :=
       (TSS_Deep_Adjust,
        TSS_Deep_Finalize,
        TSS_Deep_Initialize,
        TSS_Composite_Equality,
        TSS_Init_Proc,
        TSS_RAS_Access,
        TSS_RAS_Dereference,
--- 81,107 ----
     TSS_Deep_Finalize      : constant TNT := "DF";  -- Deep Finalize
     TSS_Deep_Initialize    : constant TNT := "DI";  -- Deep Initialize
     TSS_Composite_Equality : constant TNT := "EQ";  -- Composite Equality
+    TSS_From_Any           : constant TNT := "FA";  -- PolyORB/DSA From_Any
     TSS_Init_Proc          : constant TNT := "IP";  -- Initialization Procedure
!    TSS_RAS_Access         : constant TNT := "RA";  -- RAS type access
!    TSS_RAS_Dereference    : constant TNT := "RD";  -- RAS type deference
     TSS_Rep_To_Pos         : constant TNT := "RP";  -- Rep to Pos conversion
     TSS_Slice_Assign       : constant TNT := "SA";  -- Slice assignment
     TSS_Stream_Input       : constant TNT := "SI";  -- Stream Input attribute
     TSS_Stream_Output      : constant TNT := "SO";  -- Stream Output attribute
     TSS_Stream_Read        : constant TNT := "SR";  -- Stream Read attribute
     TSS_Stream_Write       : constant TNT := "SW";  -- Stream Write attribute
+    TSS_To_Any             : constant TNT := "TA";  -- PolyORB/DSA To_Any
+    TSS_TypeCode           : constant TNT := "TC";  -- PolyORB/DSA TypeCode
  
!    --  The array below contains all valid TSS names
! 
!    TSS_Names : constant array (Natural range <>) of TSS_Name_Type :=
       (TSS_Deep_Adjust,
        TSS_Deep_Finalize,
        TSS_Deep_Initialize,
        TSS_Composite_Equality,
+       TSS_From_Any,
        TSS_Init_Proc,
        TSS_RAS_Access,
        TSS_RAS_Dereference,
*************** package Exp_Tss is
*** 100,106 ****
        TSS_Stream_Input,
        TSS_Stream_Output,
        TSS_Stream_Read,
!       TSS_Stream_Write);
  
     TSS_Null : constant TNT := "  ";
     --  Dummy entry used to indicated that this is not really a TSS
--- 110,118 ----
        TSS_Stream_Input,
        TSS_Stream_Output,
        TSS_Stream_Read,
!       TSS_Stream_Write,
!       TSS_To_Any,
!       TSS_TypeCode);
  
     TSS_Null : constant TNT := "  ";
     --  Dummy entry used to indicated that this is not really a TSS
*************** package Exp_Tss is
*** 118,127 ****
     function Make_TSS_Name_Local
       (Typ : Entity_Id;
        Nam : TSS_Name_Type) return Name_Id;
!    --  Similar to the above call, but a string of the form _nnn is appended
!    --  to the name, where nnn is a unique serial number. This is used when
!    --  multiple instances of the same TSS routine may be generated in the
!    --  same scope (see also discussion above of current limitations).
  
     function Make_Init_Proc_Name (Typ : Entity_Id) return Name_Id;
     --  Version for init procs, same as Make_TSS_Name (Typ, TSS_Init_Proc)
--- 130,140 ----
     function Make_TSS_Name_Local
       (Typ : Entity_Id;
        Nam : TSS_Name_Type) return Name_Id;
!    --  Similar to the above call, but a string of the form _nnn is inserted
!    --  before the TSS code suffix, where nnn is a unique serial number. This
!    --  is used when multiple instances of the same TSS routine may be
!    --  generated in the same scope (see also discussion above of current
!    --  limitations).
  
     function Make_Init_Proc_Name (Typ : Entity_Id) return Name_Id;
     --  Version for init procs, same as Make_TSS_Name (Typ, TSS_Init_Proc)
*************** package Exp_Tss is
*** 206,209 ****
--- 219,229 ----
     --  is used to test for the presence of an init proc in cases where
     --  a null init proc is considered equivalent to no init proc.
  
+    function Find_Inherited_TSS
+      (Typ : Entity_Id;
+       Nam : TSS_Name_Type) return Entity_Id;
+    --  Returns the TSS of name Nam of Typ, or of its closest ancestor defining
+    --  such a TSS. Empty is returned is neither Typ nor any of its ancestors
+    --  have such a TSS.
+ 
  end Exp_Tss;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_util.adb gcc-4.1.0/gcc/ada/exp_util.adb
*** gcc-4.0.2/gcc/ada/exp_util.adb	Thu Mar 17 18:46:43 2005
--- gcc-4.1.0/gcc/ada/exp_util.adb	Wed Jan 25 14:06:59 2006
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Elists;   use Elists;
*** 31,38 ****
  with Errout;   use Errout;
  with Exp_Aggr; use Exp_Aggr;
  with Exp_Ch7;  use Exp_Ch7;
- with Exp_Ch11; use Exp_Ch11;
- with Exp_Tss;  use Exp_Tss;
  with Hostparm; use Hostparm;
  with Inline;   use Inline;
  with Itypes;   use Itypes;
--- 31,36 ----
*************** with Sem;      use Sem;
*** 47,54 ****
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Eval; use Sem_Eval;
  with Sem_Res;  use Sem_Res;
  with Sem_Util; use Sem_Util;
- with Sinfo;    use Sinfo;
  with Snames;   use Snames;
  with Stand;    use Stand;
  with Stringt;  use Stringt;
--- 45,52 ----
  with Sem_Ch8;  use Sem_Ch8;
  with Sem_Eval; use Sem_Eval;
  with Sem_Res;  use Sem_Res;
+ with Sem_Type; use Sem_Type;
  with Sem_Util; use Sem_Util;
  with Snames;   use Snames;
  with Stand;    use Stand;
  with Stringt;  use Stringt;
*************** package body Exp_Util is
*** 684,690 ****
        Spec := Make_Function_Specification (Loc,
          Defining_Unit_Name =>
            Make_Defining_Identifier (Loc, New_Internal_Name ('F')),
!         Subtype_Mark => New_Occurrence_Of (Standard_String, Loc));
  
        --  Calls to 'Image use the secondary stack, which must be cleaned
        --  up after the task name is built.
--- 682,688 ----
        Spec := Make_Function_Specification (Loc,
          Defining_Unit_Name =>
            Make_Defining_Identifier (Loc, New_Internal_Name ('F')),
!         Result_Definition => New_Occurrence_Of (Standard_String, Loc));
  
        --  Calls to 'Image use the secondary stack, which must be cleaned
        --  up after the task name is built.
*************** package body Exp_Util is
*** 1219,1227 ****
        then
           if Is_Itype (Exp_Typ) then
  
!             --  No need to generate a new one
  
!             T := Exp_Typ;
  
           else
              T :=
--- 1217,1248 ----
        then
           if Is_Itype (Exp_Typ) then
  
!             --  Within an initialization procedure, a selected component
!             --  denotes a component of the enclosing record, and it appears
!             --  as an actual in a call to its own initialization procedure.
!             --  If this component depends on the outer discriminant, we must
!             --  generate the proper actual subtype for it.
  
!             if Nkind (Exp) = N_Selected_Component
!               and then Within_Init_Proc
!             then
!                declare
!                   Decl : constant Node_Id :=
!                            Build_Actual_Subtype_Of_Component (Exp_Typ, Exp);
!                begin
!                   if Present (Decl) then
!                      Insert_Action (N, Decl);
!                      T := Defining_Identifier (Decl);
!                   else
!                      T := Exp_Typ;
!                   end if;
!                end;
! 
!             --  No need to generate a new one (new what???)
! 
!             else
!                T := Exp_Typ;
!             end if;
  
           else
              T :=
*************** package body Exp_Util is
*** 1254,1259 ****
--- 1275,1297 ----
        then
           null;
  
+       --  Nothing to be done for derived types with unknown discriminants if
+       --  the parent type also has unknown discriminants.
+ 
+       elsif Is_Record_Type (Unc_Type)
+         and then not Is_Class_Wide_Type (Unc_Type)
+         and then Has_Unknown_Discriminants (Unc_Type)
+         and then Has_Unknown_Discriminants (Underlying_Type (Unc_Type))
+       then
+          null;
+ 
+       --  Nothing to be done if the type of the expression is limited, because
+       --  in this case the expression cannot be copied, and its use can only
+       --  be by reference and there is no need for the actual subtype.
+ 
+       elsif Is_Limited_Type (Exp_Typ) then
+          null;
+ 
        else
           Remove_Side_Effects (Exp);
           Rewrite (Subtype_Indic,
*************** package body Exp_Util is
*** 1261,1266 ****
--- 1299,1647 ----
        end if;
     end Expand_Subtype_From_Expr;
  
+    --------------------------------
+    -- Find_Implemented_Interface --
+    --------------------------------
+ 
+    --  Given the following code (XXX denotes irrelevant value):
+ 
+    --     type Limd_Iface is limited interface;
+    --     type Prot_Iface is protected interface;
+    --     type Sync_Iface is synchronized interface;
+ 
+    --     type Parent_Subtype is new Limd_Iface and Sync_Iface with ...
+    --     type Child_Subtype is new Parent_Subtype and Prot_Iface with ...
+ 
+    --  The following calls will return the following values:
+ 
+    --     Find_Implemented_Interface
+    --       (Child_Subtype, Synchronized_Interface, False)    -> Empty
+ 
+    --     Find_Implemented_Interface
+    --       (Child_Subtype, Synchronized_Interface, True)     -> Sync_Iface
+ 
+    --     Find_Implemented_Interface
+    --       (Child_Subtype, Any_Synchronized_Interface, XXX)  -> Prot_Iface
+ 
+    --     Find_Implemented_Interface
+    --       (Child_Subtype, Any_Limited_Interface, XXX)       -> Prot_Iface
+ 
+    function Find_Implemented_Interface
+      (Typ          : Entity_Id;
+       Kind         : Interface_Kind;
+       Check_Parent : Boolean := False) return Entity_Id
+    is
+       Iface_Elmt : Elmt_Id;
+ 
+       function Interface_In_Kind
+         (I    : Entity_Id;
+          Kind : Interface_Kind) return Boolean;
+       --  Determine whether an interface falls into a specified kind
+ 
+       -----------------------
+       -- Interface_In_Kind --
+       -----------------------
+ 
+       function Interface_In_Kind
+         (I    : Entity_Id;
+          Kind : Interface_Kind) return Boolean is
+       begin
+          if Is_Limited_Interface (I)
+            and then (Kind = Any_Interface
+              or else Kind = Any_Limited_Interface
+              or else Kind = Limited_Interface)
+          then
+             return True;
+ 
+          elsif Is_Protected_Interface (I)
+            and then (Kind = Any_Interface
+              or else Kind = Any_Limited_Interface
+              or else Kind = Any_Synchronized_Interface
+              or else Kind = Protected_Interface)
+          then
+             return True;
+ 
+          elsif Is_Synchronized_Interface (I)
+            and then (Kind = Any_Interface
+              or else Kind = Any_Limited_Interface
+              or else Kind = Synchronized_Interface)
+          then
+             return True;
+ 
+          elsif Is_Task_Interface (I)
+            and then (Kind = Any_Interface
+              or else Kind = Any_Limited_Interface
+              or else Kind = Any_Synchronized_Interface
+              or else Kind = Task_Interface)
+          then
+             return True;
+ 
+          --  Regular interface. This should be the last kind to check since
+          --  all of the previous cases have their Is_Interface flags set.
+ 
+          elsif Is_Interface (I)
+            and then (Kind = Any_Interface
+              or else Kind = Iface)
+          then
+             return True;
+ 
+          else
+             return False;
+          end if;
+       end Interface_In_Kind;
+ 
+    --  Start of processing for Find_Implemented_Interface
+ 
+    begin
+       if not Is_Tagged_Type (Typ) then
+          return Empty;
+       end if;
+ 
+       --  Implementations of the form:
+       --    Typ is new Interface ...
+ 
+       if Is_Interface (Etype (Typ))
+         and then Interface_In_Kind (Etype (Typ), Kind)
+       then
+          return Etype (Typ);
+       end if;
+ 
+       --  Implementations of the form:
+       --     Typ is new Typ_Parent and Interface ...
+ 
+       if Present (Abstract_Interfaces (Typ)) then
+          Iface_Elmt := First_Elmt (Abstract_Interfaces (Typ));
+          while Present (Iface_Elmt) loop
+             if Interface_In_Kind (Node (Iface_Elmt), Kind) then
+                return Node (Iface_Elmt);
+             end if;
+ 
+             Iface_Elmt := Next_Elmt (Iface_Elmt);
+          end loop;
+       end if;
+ 
+       --  Typ is a derived type and may implement a limited interface
+       --  through its parent subtype. Check the parent subtype as well
+       --  as any interfaces explicitly implemented at this level.
+ 
+       if Check_Parent
+         and then Ekind (Typ) = E_Record_Type
+         and then Present (Parent_Subtype (Typ))
+       then
+          return Find_Implemented_Interface (
+            Parent_Subtype (Typ), Kind, Check_Parent);
+       end if;
+ 
+       --  Typ does not implement a limited interface either at this level or
+       --  in any of its parent subtypes.
+ 
+       return Empty;
+    end Find_Implemented_Interface;
+ 
+    ------------------------
+    -- Find_Interface_ADT --
+    ------------------------
+ 
+    function Find_Interface_ADT
+      (T     : Entity_Id;
+       Iface : Entity_Id) return Entity_Id
+    is
+       ADT   : Elmt_Id;
+       Found : Boolean := False;
+       Typ   : Entity_Id := T;
+ 
+       procedure Find_Secondary_Table (Typ : Entity_Id);
+       --  Internal subprogram used to recursively climb to the ancestors
+ 
+       --------------------------
+       -- Find_Secondary_Table --
+       --------------------------
+ 
+       procedure Find_Secondary_Table (Typ : Entity_Id) is
+          AI_Elmt : Elmt_Id;
+          AI      : Node_Id;
+ 
+       begin
+          --  Climb to the ancestor (if any) handling private types
+ 
+          if Present (Full_View (Etype (Typ))) then
+             if Full_View (Etype (Typ)) /= Typ then
+                Find_Secondary_Table (Full_View (Etype (Typ)));
+             end if;
+ 
+          elsif Etype (Typ) /= Typ then
+             Find_Secondary_Table (Etype (Typ));
+          end if;
+ 
+          --  If we already found it there is nothing else to do
+ 
+          if Found then
+             return;
+          end if;
+ 
+          if Present (Abstract_Interfaces (Typ))
+            and then not Is_Empty_Elmt_List (Abstract_Interfaces (Typ))
+          then
+             AI_Elmt := First_Elmt (Abstract_Interfaces (Typ));
+             while Present (AI_Elmt) loop
+                AI := Node (AI_Elmt);
+ 
+                if AI = Iface or else Is_Ancestor (Iface, AI) then
+                   Found := True;
+                   return;
+                end if;
+ 
+                Next_Elmt (ADT);
+                Next_Elmt (AI_Elmt);
+             end loop;
+          end if;
+       end Find_Secondary_Table;
+ 
+    --  Start of processing for Find_Interface_Tag
+ 
+    begin
+       --  Handle private types
+ 
+       if Has_Private_Declaration (Typ)
+         and then Present (Full_View (Typ))
+       then
+          Typ := Full_View (Typ);
+       end if;
+ 
+       --  Handle access types
+ 
+       if Is_Access_Type (Typ) then
+          Typ := Directly_Designated_Type (Typ);
+       end if;
+ 
+       --  Handle task and protected types implementing interfaces
+ 
+       if Ekind (Typ) = E_Protected_Type
+         or else Ekind (Typ) = E_Task_Type
+       then
+          Typ := Corresponding_Record_Type (Typ);
+       end if;
+ 
+       ADT := Next_Elmt (First_Elmt (Access_Disp_Table (Typ)));
+       pragma Assert (Present (Node (ADT)));
+       Find_Secondary_Table (Typ);
+       pragma Assert (Found);
+       return Node (ADT);
+    end Find_Interface_ADT;
+ 
+    ------------------------
+    -- Find_Interface_Tag --
+    ------------------------
+ 
+    function Find_Interface_Tag
+      (T      : Entity_Id;
+       Iface  : Entity_Id) return Entity_Id
+    is
+       AI_Tag : Entity_Id;
+       Found  : Boolean := False;
+       Typ    : Entity_Id := T;
+ 
+       procedure Find_Tag (Typ : in Entity_Id);
+       --  Internal subprogram used to recursively climb to the ancestors
+ 
+       -----------------
+       -- Find_AI_Tag --
+       -----------------
+ 
+       procedure Find_Tag (Typ : in Entity_Id) is
+          AI_Elmt : Elmt_Id;
+          AI      : Node_Id;
+ 
+       begin
+          --  Check if the interface is an immediate ancestor of the type and
+          --  therefore shares the main tag.
+ 
+          if Typ = Iface then
+             pragma Assert (Etype (First_Tag_Component (Typ)) = RTE (RE_Tag));
+             AI_Tag := First_Tag_Component (Typ);
+             Found  := True;
+             return;
+          end if;
+ 
+          --  Climb to the root type handling private types
+ 
+          if Present (Full_View (Etype (Typ))) then
+             if Full_View (Etype (Typ)) /= Typ then
+                Find_Tag (Full_View (Etype (Typ)));
+             end if;
+ 
+          elsif Etype (Typ) /= Typ then
+             Find_Tag (Etype (Typ));
+          end if;
+ 
+          --  Traverse the list of interfaces implemented by the type
+ 
+          if not Found
+            and then Present (Abstract_Interfaces (Typ))
+            and then not (Is_Empty_Elmt_List (Abstract_Interfaces (Typ)))
+          then
+             --  Skip the tag associated with the primary table
+ 
+             pragma Assert (Etype (First_Tag_Component (Typ)) = RTE (RE_Tag));
+             AI_Tag := Next_Tag_Component (First_Tag_Component (Typ));
+             pragma Assert (Present (AI_Tag));
+ 
+             AI_Elmt := First_Elmt (Abstract_Interfaces (Typ));
+             while Present (AI_Elmt) loop
+                AI := Node (AI_Elmt);
+ 
+                if AI = Iface or else Is_Ancestor (Iface, AI) then
+                   Found := True;
+                   return;
+                end if;
+ 
+                AI_Tag := Next_Tag_Component (AI_Tag);
+                Next_Elmt (AI_Elmt);
+             end loop;
+          end if;
+       end Find_Tag;
+ 
+    --  Start of processing for Find_Interface_Tag
+ 
+    begin
+       pragma Assert (Is_Interface (Iface));
+ 
+       --  Handle private types
+ 
+       if Has_Private_Declaration (Typ)
+         and then Present (Full_View (Typ))
+       then
+          Typ := Full_View (Typ);
+       end if;
+ 
+       --  Handle access types
+ 
+       if Is_Access_Type (Typ) then
+          Typ := Directly_Designated_Type (Typ);
+       end if;
+ 
+       --  Handle task and protected types implementing interfaces
+ 
+       if Is_Concurrent_Type (Typ) then
+          Typ := Corresponding_Record_Type (Typ);
+       end if;
+ 
+       if Is_Class_Wide_Type (Typ) then
+          Typ := Etype (Typ);
+       end if;
+ 
+       --  Handle entities from the limited view
+ 
+       if Ekind (Typ) = E_Incomplete_Type then
+          pragma Assert (Present (Non_Limited_View (Typ)));
+          Typ := Non_Limited_View (Typ);
+       end if;
+ 
+       Find_Tag (Typ);
+       pragma Assert (Found);
+       return AI_Tag;
+    end Find_Interface_Tag;
+ 
     ------------------
     -- Find_Prim_Op --
     ------------------
*************** package body Exp_Util is
*** 1313,1356 ****
     ----------------------
  
     procedure Force_Evaluation (Exp : Node_Id; Name_Req : Boolean := False) is
-       Component_In_Lhs : Boolean := False;
-       Par              : Node_Id;
- 
     begin
!       --  Loop to determine whether there is a component reference in
!       --  the left hand side if Exp appears on the left side of an
!       --  assignment statement. Needed to determine if form of result
!       --  must be a variable.
! 
!       Par := Exp;
!       while Present (Par)
!         and then
!          (Nkind (Par) = N_Selected_Component
!             or else
!           Nkind (Par) = N_Indexed_Component)
!       loop
!          if Nkind (Parent (Par)) = N_Assignment_Statement
!            and then Par = Name (Parent (Par))
!          then
!             Component_In_Lhs := True;
!             exit;
!          else
!             Par := Parent (Par);
!          end if;
!       end loop;
! 
!       --  If the expression is a selected component, it is being evaluated
!       --  as part of a discriminant check. If it is part of a left-hand
!       --  side, this is the last use of its value and it is safe to create
!       --  a renaming for it, rather than a temporary. In addition, if it
!       --  is not an addressable field, creating a temporary may be a problem
!       --  for gigi, or might drop the value of the assignment. Therefore,
!       --  if the expression is on the lhs of an assignment, remove side
!       --  effects without requiring a temporary, and create a renaming.
!       --  (See remove_side_effects for details).
! 
!       Remove_Side_Effects
!         (Exp, Name_Req, Variable_Ref => not Component_In_Lhs);
     end Force_Evaluation;
  
     ------------------------
--- 1694,1701 ----
     ----------------------
  
     procedure Force_Evaluation (Exp : Node_Id; Name_Req : Boolean := False) is
     begin
!       Remove_Side_Effects (Exp, Name_Req, Variable_Ref => True);
     end Force_Evaluation;
  
     ------------------------
*************** package body Exp_Util is
*** 1423,1431 ****
  
                 --  If we fall off the top of the tree, then that's odd, but
                 --  perhaps it could occur in some error situation, and the
!                --  safest response is simply to assume that the outcome of
!                --  the condition is unknown. No point in bombing during an
!                --  attempt to optimize things.
  
                 if No (N) then
                    return;
--- 1768,1776 ----
  
                 --  If we fall off the top of the tree, then that's odd, but
                 --  perhaps it could occur in some error situation, and the
!                --  safest response is simply to assume that the outcome of the
!                --  condition is unknown. No point in bombing during an attempt
!                --  to optimize things.
  
                 if No (N) then
                    return;
*************** package body Exp_Util is
*** 1448,1456 ****
              end if;
           end;
  
!       --  ELSIF part. Condition is known true within the referenced
!       --  ELSIF, known False in any subsequent ELSIF or ELSE part,
!       --  and unknown before the ELSE part or after the IF statement.
  
        elsif Nkind (CV) = N_Elsif_Part then
           Stm := Parent (CV);
--- 1793,1801 ----
              end if;
           end;
  
!       --  ELSIF part. Condition is known true within the referenced ELSIF,
!       --  known False in any subsequent ELSIF or ELSE part, and unknown before
!       --  the ELSE part or after the IF statement.
  
        elsif Nkind (CV) = N_Elsif_Part then
           Stm := Parent (CV);
*************** package body Exp_Util is
*** 1468,1475 ****
              return;
           end if;
  
!          --  Again we lack the SLOC of the ELSE, so we need to climb the
!          --  tree to see if we are within the ELSIF part in question.
  
           declare
              N : Node_Id;
--- 1813,1820 ----
              return;
           end if;
  
!          --  Again we lack the SLOC of the ELSE, so we need to climb the tree
!          --  to see if we are within the ELSIF part in question.
  
           declare
              N : Node_Id;
*************** package body Exp_Util is
*** 1481,1489 ****
  
                 --  If we fall off the top of the tree, then that's odd, but
                 --  perhaps it could occur in some error situation, and the
!                --  safest response is simply to assume that the outcome of
!                --  the condition is unknown. No point in bombing during an
!                --  attempt to optimize things.
  
                 if No (N) then
                    return;
--- 1826,1834 ----
  
                 --  If we fall off the top of the tree, then that's odd, but
                 --  perhaps it could occur in some error situation, and the
!                --  safest response is simply to assume that the outcome of the
!                --  condition is unknown. No point in bombing during an attempt
!                --  to optimize things.
  
                 if No (N) then
                    return;
*************** package body Exp_Util is
*** 1510,1518 ****
           return;
        end if;
  
!       --  If we fall through here, then we have a reportable
!       --  condition, Sens is True if the condition is true and
!       --  False if it needs inverting.
  
        --  Deal with NOT operators, inverting sense
  
--- 1855,1862 ----
           return;
        end if;
  
!       --  If we fall through here, then we have a reportable condition, Sens is
!       --  True if the condition is true and False if it needs inverting.
  
        --  Deal with NOT operators, inverting sense
  
*************** package body Exp_Util is
*** 1567,1572 ****
--- 1911,1928 ----
        return Count;
     end Homonym_Number;
  
+    --------------------------
+    -- Implements_Interface --
+    --------------------------
+ 
+    function Implements_Interface
+      (Typ          : Entity_Id;
+       Kind         : Interface_Kind;
+       Check_Parent : Boolean := False) return Boolean is
+    begin
+       return Find_Implemented_Interface (Typ, Kind, Check_Parent) /= Empty;
+    end Implements_Interface;
+ 
     ------------------------------
     -- In_Unconditional_Context --
     ------------------------------
*************** package body Exp_Util is
*** 2199,2205 ****
        if Suppress = All_Checks then
           declare
              Svg : constant Suppress_Array := Scope_Suppress;
- 
           begin
              Scope_Suppress := (others => True);
              Insert_Actions (Assoc_Node, Ins_Actions);
--- 2555,2560 ----
*************** package body Exp_Util is
*** 2209,2215 ****
        else
           declare
              Svg : constant Boolean := Scope_Suppress (Suppress);
- 
           begin
              Scope_Suppress (Suppress) := True;
              Insert_Actions (Assoc_Node, Ins_Actions);
--- 2564,2569 ----
*************** package body Exp_Util is
*** 2320,2373 ****
        return True;
     end Is_All_Null_Statements;
  
     ----------------------------------
     -- Is_Possibly_Unaligned_Object --
     ----------------------------------
  
!    function Is_Possibly_Unaligned_Object (P : Node_Id) return Boolean is
     begin
!       --  If target does not have strict alignment, result is always
!       --  False, since correctness of code does no depend on alignment.
  
!       if not Target_Strict_Alignment then
!          return False;
        end if;
  
!       --  If renamed object, apply test to underlying object
  
!       if Is_Entity_Name (P)
!         and then Is_Object (Entity (P))
!         and then Present (Renamed_Object (Entity (P)))
        then
!          return Is_Possibly_Unaligned_Object (Renamed_Object (Entity (P)));
        end if;
  
        --  If this is an element of a packed array, may be unaligned
  
!       if Is_Ref_To_Bit_Packed_Array (P) then
           return True;
        end if;
  
        --  Case of component reference
  
!       if Nkind (P) = N_Selected_Component then
  
!          --  If component reference is for a record that is bit packed
!          --  or has a specified alignment (that might be too small) or
!          --  the component reference has a component clause, then the
!          --  object may be unaligned.
  
!          if Is_Packed (Etype (Prefix (P)))
!            or else Known_Alignment (Etype (Prefix (P)))
!            or else Present (Component_Clause (Entity (Selector_Name (P))))
!          then
!             return True;
  
!          --  Otherwise, for a component reference, test prefix
  
!          else
!             return Is_Possibly_Unaligned_Object (Prefix (P));
!          end if;
  
        --  If not a component reference, must be aligned
  
--- 2674,2860 ----
        return True;
     end Is_All_Null_Statements;
  
+    -----------------------------------------
+    -- Is_Predefined_Dispatching_Operation --
+    -----------------------------------------
+ 
+    function Is_Predefined_Dispatching_Operation
+      (Subp : Entity_Id) return Boolean
+    is
+       TSS_Name : TSS_Name_Type;
+       E        : Entity_Id := Subp;
+    begin
+       pragma Assert (Is_Dispatching_Operation (Subp));
+ 
+       --  Handle overriden subprograms
+ 
+       while Present (Alias (E)) loop
+          E := Alias (E);
+       end loop;
+ 
+       Get_Name_String (Chars (E));
+ 
+       if Name_Len > TSS_Name_Type'Last then
+          TSS_Name := TSS_Name_Type (Name_Buffer (Name_Len - TSS_Name'Length + 1
+                                      .. Name_Len));
+          if Chars (E)        = Name_uSize
+            or else Chars (E) = Name_uAlignment
+            or else TSS_Name  = TSS_Stream_Read
+            or else TSS_Name  = TSS_Stream_Write
+            or else TSS_Name  = TSS_Stream_Input
+            or else TSS_Name  = TSS_Stream_Output
+            or else Chars (E) = Name_Op_Eq
+            or else Chars (E) = Name_uAssign
+            or else TSS_Name  = TSS_Deep_Adjust
+            or else TSS_Name  = TSS_Deep_Finalize
+            or else (Ada_Version >= Ada_05
+              and then (Chars (E) = Name_uDisp_Asynchronous_Select
+                or else Chars (E) = Name_uDisp_Conditional_Select
+                or else Chars (E) = Name_uDisp_Get_Prim_Op_Kind
+                or else Chars (E) = Name_uDisp_Get_Task_Id
+                or else Chars (E) = Name_uDisp_Timed_Select))
+          then
+             return True;
+          end if;
+       end if;
+ 
+       return False;
+    end Is_Predefined_Dispatching_Operation;
+ 
     ----------------------------------
     -- Is_Possibly_Unaligned_Object --
     ----------------------------------
  
!    function Is_Possibly_Unaligned_Object (N : Node_Id) return Boolean is
!       T  : constant Entity_Id := Etype (N);
! 
     begin
!       --  If renamed object, apply test to underlying object
  
!       if Is_Entity_Name (N)
!         and then Is_Object (Entity (N))
!         and then Present (Renamed_Object (Entity (N)))
!       then
!          return Is_Possibly_Unaligned_Object (Renamed_Object (Entity (N)));
        end if;
  
!       --  Tagged and controlled types and aliased types are always aligned,
!       --  as are concurrent types.
  
!       if Is_Aliased (T)
!         or else Has_Controlled_Component (T)
!         or else Is_Concurrent_Type (T)
!         or else Is_Tagged_Type (T)
!         or else Is_Controlled (T)
        then
!          return False;
        end if;
  
        --  If this is an element of a packed array, may be unaligned
  
!       if Is_Ref_To_Bit_Packed_Array (N) then
           return True;
        end if;
  
        --  Case of component reference
  
!       if Nkind (N) = N_Selected_Component then
!          declare
!             P : constant Node_Id   := Prefix (N);
!             C : constant Entity_Id := Entity (Selector_Name (N));
!             M : Nat;
!             S : Nat;
  
!          begin
!             --  If component reference is for an array with non-static bounds,
!             --  then it is always aligned: we can only process unaligned
!             --  arrays with static bounds (more accurately bounds known at
!             --  compile time).
  
!             if Is_Array_Type (T)
!               and then not Compile_Time_Known_Bounds (T)
!             then
!                return False;
!             end if;
  
!             --  If component is aliased, it is definitely properly aligned
  
!             if Is_Aliased (C) then
!                return False;
!             end if;
! 
!             --  If component is for a type implemented as a scalar, and the
!             --  record is packed, and the component is other than the first
!             --  component of the record, then the component may be unaligned.
! 
!             if Is_Packed (Etype (P))
!               and then Represented_As_Scalar (Etype (C))
!               and then First_Entity (Scope (C)) /= C
!             then
!                return True;
!             end if;
! 
!             --  Compute maximum possible alignment for T
! 
!             --  If alignment is known, then that settles things
! 
!             if Known_Alignment (T) then
!                M := UI_To_Int (Alignment (T));
! 
!             --  If alignment is not known, tentatively set max alignment
! 
!             else
!                M := Ttypes.Maximum_Alignment;
! 
!                --  We can reduce this if the Esize is known since the default
!                --  alignment will never be more than the smallest power of 2
!                --  that does not exceed this Esize value.
! 
!                if Known_Esize (T) then
!                   S := UI_To_Int (Esize (T));
! 
!                   while (M / 2) >= S loop
!                      M := M / 2;
!                   end loop;
!                end if;
!             end if;
! 
!             --  If the component reference is for a record that has a specified
!             --  alignment, and we either know it is too small, or cannot tell,
!             --  then the component may be unaligned
! 
!             if Known_Alignment (Etype (P))
!               and then Alignment (Etype (P)) < Ttypes.Maximum_Alignment
!               and then M > Alignment (Etype (P))
!             then
!                return True;
!             end if;
! 
!             --  Case of component clause present which may specify an
!             --  unaligned position.
! 
!             if Present (Component_Clause (C)) then
! 
!                --  Otherwise we can do a test to make sure that the actual
!                --  start position in the record, and the length, are both
!                --  consistent with the required alignment. If not, we know
!                --  that we are unaligned.
! 
!                declare
!                   Align_In_Bits : constant Nat := M * System_Storage_Unit;
!                begin
!                   if Component_Bit_Offset (C) mod Align_In_Bits /= 0
!                     or else Esize (C) mod Align_In_Bits /= 0
!                   then
!                      return True;
!                   end if;
!                end;
!             end if;
! 
!             --  Otherwise, for a component reference, test prefix
! 
!             return Is_Possibly_Unaligned_Object (P);
!          end;
  
        --  If not a component reference, must be aligned
  
*************** package body Exp_Util is
*** 2380,2386 ****
     -- Is_Possibly_Unaligned_Slice --
     ---------------------------------
  
!    function Is_Possibly_Unaligned_Slice (P : Node_Id) return Boolean is
     begin
        --  ??? GCC3 will eventually handle strings with arbitrary alignments,
        --  but for now the following check must be disabled.
--- 2867,2873 ----
     -- Is_Possibly_Unaligned_Slice --
     ---------------------------------
  
!    function Is_Possibly_Unaligned_Slice (N : Node_Id) return Boolean is
     begin
        --  ??? GCC3 will eventually handle strings with arbitrary alignments,
        --  but for now the following check must be disabled.
*************** package body Exp_Util is
*** 2391,2406 ****
  
        --  For renaming case, go to renamed object
  
!       if Is_Entity_Name (P)
!         and then Is_Object (Entity (P))
!         and then Present (Renamed_Object (Entity (P)))
        then
!          return Is_Possibly_Unaligned_Slice (Renamed_Object (Entity (P)));
        end if;
  
        --  The reference must be a slice
  
!       if Nkind (P) /= N_Slice then
           return False;
        end if;
  
--- 2878,2893 ----
  
        --  For renaming case, go to renamed object
  
!       if Is_Entity_Name (N)
!         and then Is_Object (Entity (N))
!         and then Present (Renamed_Object (Entity (N)))
        then
!          return Is_Possibly_Unaligned_Slice (Renamed_Object (Entity (N)));
        end if;
  
        --  The reference must be a slice
  
!       if Nkind (N) /= N_Slice then
           return False;
        end if;
  
*************** package body Exp_Util is
*** 2408,2417 ****
        --  component clause, which gigi/gcc does not appear to handle well.
        --  It is not clear why this special test is needed at all ???
  
!       if Nkind (Prefix (P)) = N_Selected_Component
!         and then Nkind (Prefix (Prefix (P))) = N_Selected_Component
          and then
!           Present (Component_Clause (Entity (Selector_Name (Prefix (P)))))
        then
           return True;
        end if;
--- 2895,2904 ----
        --  component clause, which gigi/gcc does not appear to handle well.
        --  It is not clear why this special test is needed at all ???
  
!       if Nkind (Prefix (N)) = N_Selected_Component
!         and then Nkind (Prefix (Prefix (N))) = N_Selected_Component
          and then
!           Present (Component_Clause (Entity (Selector_Name (Prefix (N)))))
        then
           return True;
        end if;
*************** package body Exp_Util is
*** 2425,2434 ****
        --  If it is a slice, then look at the array type being sliced
  
        declare
!          Sarr : constant Node_Id := Prefix (P);
           --  Prefix of the slice, i.e. the array being sliced
  
!          Styp : constant Entity_Id := Etype (Prefix (P));
           --  Type of the array being sliced
  
           Pref : Node_Id;
--- 2912,2921 ----
        --  If it is a slice, then look at the array type being sliced
  
        declare
!          Sarr : constant Node_Id := Prefix (N);
           --  Prefix of the slice, i.e. the array being sliced
  
!          Styp : constant Entity_Id := Etype (Prefix (N));
           --  Type of the array being sliced
  
           Pref : Node_Id;
*************** package body Exp_Util is
*** 2520,2549 ****
     -- Is_Ref_To_Bit_Packed_Array --
     --------------------------------
  
!    function Is_Ref_To_Bit_Packed_Array (P : Node_Id) return Boolean is
        Result : Boolean;
        Expr   : Node_Id;
  
     begin
!       if Is_Entity_Name (P)
!         and then Is_Object (Entity (P))
!         and then Present (Renamed_Object (Entity (P)))
        then
!          return Is_Ref_To_Bit_Packed_Array (Renamed_Object (Entity (P)));
        end if;
  
!       if Nkind (P) = N_Indexed_Component
             or else
!          Nkind (P) = N_Selected_Component
        then
!          if Is_Bit_Packed_Array (Etype (Prefix (P))) then
              Result := True;
           else
!             Result := Is_Ref_To_Bit_Packed_Array (Prefix (P));
           end if;
  
!          if Result and then Nkind (P) = N_Indexed_Component then
!             Expr := First (Expressions (P));
              while Present (Expr) loop
                 Force_Evaluation (Expr);
                 Next (Expr);
--- 3007,3036 ----
     -- Is_Ref_To_Bit_Packed_Array --
     --------------------------------
  
!    function Is_Ref_To_Bit_Packed_Array (N : Node_Id) return Boolean is
        Result : Boolean;
        Expr   : Node_Id;
  
     begin
!       if Is_Entity_Name (N)
!         and then Is_Object (Entity (N))
!         and then Present (Renamed_Object (Entity (N)))
        then
!          return Is_Ref_To_Bit_Packed_Array (Renamed_Object (Entity (N)));
        end if;
  
!       if Nkind (N) = N_Indexed_Component
             or else
!          Nkind (N) = N_Selected_Component
        then
!          if Is_Bit_Packed_Array (Etype (Prefix (N))) then
              Result := True;
           else
!             Result := Is_Ref_To_Bit_Packed_Array (Prefix (N));
           end if;
  
!          if Result and then Nkind (N) = N_Indexed_Component then
!             Expr := First (Expressions (N));
              while Present (Expr) loop
                 Force_Evaluation (Expr);
                 Next (Expr);
*************** package body Exp_Util is
*** 2561,2585 ****
     -- Is_Ref_To_Bit_Packed_Slice --
     --------------------------------
  
!    function Is_Ref_To_Bit_Packed_Slice (P : Node_Id) return Boolean is
     begin
!       if Is_Entity_Name (P)
!         and then Is_Object (Entity (P))
!         and then Present (Renamed_Object (Entity (P)))
        then
!          return Is_Ref_To_Bit_Packed_Slice (Renamed_Object (Entity (P)));
        end if;
  
!       if Nkind (P) = N_Slice
!         and then Is_Bit_Packed_Array (Etype (Prefix (P)))
        then
           return True;
  
!       elsif Nkind (P) = N_Indexed_Component
             or else
!          Nkind (P) = N_Selected_Component
        then
!          return Is_Ref_To_Bit_Packed_Slice (Prefix (P));
  
        else
           return False;
--- 3048,3072 ----
     -- Is_Ref_To_Bit_Packed_Slice --
     --------------------------------
  
!    function Is_Ref_To_Bit_Packed_Slice (N : Node_Id) return Boolean is
     begin
!       if Is_Entity_Name (N)
!         and then Is_Object (Entity (N))
!         and then Present (Renamed_Object (Entity (N)))
        then
!          return Is_Ref_To_Bit_Packed_Slice (Renamed_Object (Entity (N)));
        end if;
  
!       if Nkind (N) = N_Slice
!         and then Is_Bit_Packed_Array (Etype (Prefix (N)))
        then
           return True;
  
!       elsif Nkind (N) = N_Indexed_Component
             or else
!          Nkind (N) = N_Selected_Component
        then
!          return Is_Ref_To_Bit_Packed_Slice (Prefix (N));
  
        else
           return False;
*************** package body Exp_Util is
*** 2630,2636 ****
     procedure Kill_Dead_Code (N : Node_Id) is
     begin
        if Present (N) then
-          Remove_Handler_Entries (N);
           Remove_Warning_Messages (N);
  
           --  Recurse into block statements and bodies to process declarations
--- 3117,3122 ----
*************** package body Exp_Util is
*** 2647,2652 ****
--- 3133,3154 ----
                 Set_Is_Eliminated (Defining_Entity (N));
              end if;
  
+          elsif Nkind (N) = N_Package_Declaration then
+             Kill_Dead_Code (Visible_Declarations (Specification (N)));
+             Kill_Dead_Code (Private_Declarations (Specification (N)));
+ 
+             declare
+                E : Entity_Id := First_Entity (Defining_Entity (N));
+             begin
+                while Present (E) loop
+                   if Ekind (E) = E_Operator then
+                      Set_Is_Eliminated (E);
+                   end if;
+ 
+                   Next_Entity (E);
+                end loop;
+             end;
+ 
           --  Recurse into composite statement to kill individual statements,
           --  in particular instantiations.
  
*************** package body Exp_Util is
*** 3083,3089 ****
              return New_Occurrence_Of (CW_Subtype, Loc);
           end;
  
!       --  Comment needed (what case is this ???)
  
        else
           D := First_Discriminant (Unc_Typ);
--- 3585,3591 ----
              return New_Occurrence_Of (CW_Subtype, Loc);
           end;
  
!       --  Indefinite record type with discriminants.
  
        else
           D := First_Discriminant (Unc_Typ);
*************** package body Exp_Util is
*** 3111,3117 ****
  
     --  At the current time, the only types that we return False for (i.e.
     --  where we decide we know they cannot generate large temps) are ones
!    --  where we know the size is 128 bits or less at compile time, and we
     --  are still not doing a thorough job on arrays and records ???
  
     function May_Generate_Large_Temp (Typ : Entity_Id) return Boolean is
--- 3613,3619 ----
  
     --  At the current time, the only types that we return False for (i.e.
     --  where we decide we know they cannot generate large temps) are ones
!    --  where we know the size is 256 bits or less at compile time, and we
     --  are still not doing a thorough job on arrays and records ???
  
     function May_Generate_Large_Temp (Typ : Entity_Id) return Boolean is
*************** package body Exp_Util is
*** 3194,3200 ****
        E            : Node_Id;
  
        function Side_Effect_Free (N : Node_Id) return Boolean;
!       --  Determines if the tree N represents an expession that is known
        --  not to have side effects, and for which no processing is required.
  
        function Side_Effect_Free (L : List_Id) return Boolean;
--- 3696,3702 ----
        E            : Node_Id;
  
        function Side_Effect_Free (N : Node_Id) return Boolean;
!       --  Determines if the tree N represents an expression that is known
        --  not to have side effects, and for which no processing is required.
  
        function Side_Effect_Free (L : List_Id) return Boolean;
*************** package body Exp_Util is
*** 3515,3524 ****
  
        Scope_Suppress := (others => True);
  
        --  If the expression has the form v.all then we can just capture
        --  the pointer, and then do an explicit dereference on the result.
  
!       if Nkind (Exp) = N_Explicit_Dereference then
           Def_Id :=
             Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
           Res :=
--- 4017,4053 ----
  
        Scope_Suppress := (others => True);
  
+       --  If it is a scalar type and we need to capture the value, just
+       --  make a copy.  Likewise for a function call.  And if we have a
+       --  volatile variable and Nam_Req is not set (see comments above
+       --  for Side_Effect_Free).
+ 
+       if Is_Elementary_Type (Exp_Type)
+         and then (Variable_Ref
+                    or else Nkind (Exp) = N_Function_Call
+                    or else (not Name_Req
+                              and then Is_Entity_Name (Exp)
+                              and then Treat_As_Volatile (Entity (Exp))))
+       then
+ 
+          Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
+          Set_Etype (Def_Id, Exp_Type);
+          Res := New_Reference_To (Def_Id, Loc);
+ 
+          E :=
+            Make_Object_Declaration (Loc,
+              Defining_Identifier => Def_Id,
+              Object_Definition   => New_Reference_To (Exp_Type, Loc),
+              Constant_Present    => True,
+              Expression          => Relocate_Node (Exp));
+ 
+          Set_Assignment_OK (E);
+          Insert_Action (Exp, E);
+ 
        --  If the expression has the form v.all then we can just capture
        --  the pointer, and then do an explicit dereference on the result.
  
!       elsif Nkind (Exp) = N_Explicit_Dereference then
           Def_Id :=
             Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
           Res :=
*************** package body Exp_Util is
*** 3538,3544 ****
        elsif Nkind (Exp) = N_Unchecked_Type_Conversion
          and then Nkind (Expression (Exp)) = N_Explicit_Dereference
        then
!          Remove_Side_Effects (Expression (Exp), Variable_Ref);
           Scope_Suppress := Svg_Suppress;
           return;
  
--- 4067,4073 ----
        elsif Nkind (Exp) = N_Unchecked_Type_Conversion
          and then Nkind (Expression (Exp)) = N_Explicit_Dereference
        then
!          Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
           Scope_Suppress := Svg_Suppress;
           return;
  
*************** package body Exp_Util is
*** 3546,3585 ****
        --  the side effects in the expression. This is important in several
        --  circumstances: for change of representations, and also when this
        --  is a view conversion to a smaller object, where gigi can end up
!       --  its own temporary of the wrong size.
! 
!       --  ??? this transformation is inhibited for elementary types that are
!       --  not involved in a change of representation because it causes
!       --  regressions that are not fully understood yet.
  
!       elsif Nkind (Exp) = N_Type_Conversion
!         and then (not Is_Elementary_Type (Underlying_Type (Exp_Type))
!                    or else Nkind (Parent (Exp)) = N_Assignment_Statement)
!       then
!          Remove_Side_Effects (Expression (Exp), Variable_Ref);
           Scope_Suppress := Svg_Suppress;
           return;
  
        --  For expressions that denote objects, we can use a renaming scheme.
        --  We skip using this if we have a volatile variable and we do not
        --  have Nam_Req set true (see comments above for Side_Effect_Free).
-       --  We also skip this scheme for class-wide expressions in order to
-       --  avoid recursive expansion (see Expand_N_Object_Renaming_Declaration)
-       --  If the object is a function call, we need to create a temporary and
-       --  not a renaming.
- 
-       --  Note that we could use ordinary object declarations in the case of
-       --  expressions not appearing as lvalues. That is left as a possible
-       --  optimization in the future but we prefer to generate renamings
-       --  right now, since we may indeed be transforming an lvalue.
  
        elsif Is_Object_Reference (Exp)
          and then Nkind (Exp) /= N_Function_Call
-         and then not Variable_Ref
          and then (Name_Req
                     or else not Is_Entity_Name (Exp)
                     or else not Treat_As_Volatile (Entity (Exp)))
-         and then not Is_Class_Wide_Type (Exp_Type)
        then
           Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
  
--- 4075,4132 ----
        --  the side effects in the expression. This is important in several
        --  circumstances: for change of representations, and also when this
        --  is a view conversion to a smaller object, where gigi can end up
!       --  creating its own temporary of the wrong size.
  
!       elsif Nkind (Exp) = N_Type_Conversion then
!          Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
           Scope_Suppress := Svg_Suppress;
           return;
  
+       --  If this is an unchecked conversion that Gigi can't handle, make
+       --  a copy or a use a renaming to capture the value.
+ 
+       elsif Nkind (Exp) = N_Unchecked_Type_Conversion
+         and then not Safe_Unchecked_Type_Conversion (Exp)
+       then
+          if Controlled_Type (Etype (Exp)) then
+ 
+             --  Use a renaming to capture the expression, rather than create
+             --  a controlled temporary.
+ 
+             Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
+             Res := New_Reference_To (Def_Id, Loc);
+ 
+             Insert_Action (Exp,
+               Make_Object_Renaming_Declaration (Loc,
+                 Defining_Identifier => Def_Id,
+                 Subtype_Mark        => New_Reference_To (Exp_Type, Loc),
+                 Name                => Relocate_Node (Exp)));
+ 
+          else
+             Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
+             Set_Etype (Def_Id, Exp_Type);
+             Res := New_Reference_To (Def_Id, Loc);
+ 
+             E :=
+               Make_Object_Declaration (Loc,
+                 Defining_Identifier => Def_Id,
+                 Object_Definition   => New_Reference_To (Exp_Type, Loc),
+                 Constant_Present    => not Is_Variable (Exp),
+                 Expression          => Relocate_Node (Exp));
+ 
+             Set_Assignment_OK (E);
+             Insert_Action (Exp, E);
+          end if;
+ 
        --  For expressions that denote objects, we can use a renaming scheme.
        --  We skip using this if we have a volatile variable and we do not
        --  have Nam_Req set true (see comments above for Side_Effect_Free).
  
        elsif Is_Object_Reference (Exp)
          and then Nkind (Exp) /= N_Function_Call
          and then (Name_Req
                     or else not Is_Entity_Name (Exp)
                     or else not Treat_As_Volatile (Entity (Exp)))
        then
           Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
  
*************** package body Exp_Util is
*** 3604,3615 ****
                    New_Reference_To (Base_Type (Etype (Prefix (Exp))), Loc),
                  Name                => Relocate_Node (Prefix (Exp))));
  
-             --  The temporary must be elaborated by gigi, and is of course
-             --  not to be replaced in-line by the expression it renames,
-             --  which would defeat the purpose of removing the side-effect.
- 
-             Set_Is_Renaming_Of_Object (Def_Id, False);
- 
           else
              Res := New_Reference_To (Def_Id, Loc);
  
--- 4151,4156 ----
*************** package body Exp_Util is
*** 3619,3680 ****
                  Subtype_Mark        => New_Reference_To (Exp_Type, Loc),
                  Name                => Relocate_Node (Exp)));
  
-             Set_Is_Renaming_Of_Object (Def_Id, False);
           end if;
  
!       --  If it is a scalar type, just make a copy
! 
!       elsif Is_Elementary_Type (Exp_Type) then
!          Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
!          Set_Etype (Def_Id, Exp_Type);
!          Res := New_Reference_To (Def_Id, Loc);
! 
!          E :=
!            Make_Object_Declaration (Loc,
!              Defining_Identifier => Def_Id,
!              Object_Definition   => New_Reference_To (Exp_Type, Loc),
!              Constant_Present    => True,
!              Expression          => Relocate_Node (Exp));
! 
!          Set_Assignment_OK (E);
!          Insert_Action (Exp, E);
! 
!       --  Always use a renaming for an unchecked conversion
!       --  If this is an unchecked conversion that Gigi can't handle, make
!       --  a copy or a use a renaming to capture the value.
! 
!       elsif Nkind (Exp) = N_Unchecked_Type_Conversion
!         and then not Safe_Unchecked_Type_Conversion (Exp)
!       then
!          if Controlled_Type (Etype (Exp)) then
! 
!             --  Use a renaming to capture the expression, rather than create
!             --  a controlled temporary.
! 
!             Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
!             Res := New_Reference_To (Def_Id, Loc);
! 
!             Insert_Action (Exp,
!               Make_Object_Renaming_Declaration (Loc,
!                 Defining_Identifier => Def_Id,
!                 Subtype_Mark        => New_Reference_To (Exp_Type, Loc),
!                 Name                => Relocate_Node (Exp)));
! 
!          else
!             Def_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('R'));
!             Set_Etype (Def_Id, Exp_Type);
!             Res := New_Reference_To (Def_Id, Loc);
! 
!             E :=
!               Make_Object_Declaration (Loc,
!                 Defining_Identifier => Def_Id,
!                 Object_Definition   => New_Reference_To (Exp_Type, Loc),
!                 Constant_Present    => not Is_Variable (Exp),
!                 Expression          => Relocate_Node (Exp));
  
!             Set_Assignment_OK (E);
!             Insert_Action (Exp, E);
!          end if;
  
        --  Otherwise we generate a reference to the value
  
--- 4160,4172 ----
                  Subtype_Mark        => New_Reference_To (Exp_Type, Loc),
                  Name                => Relocate_Node (Exp)));
  
           end if;
  
!          --  The temporary must be elaborated by gigi, and is of course
!          --  not to be replaced in-line by the expression it renames,
!          --  which would defeat the purpose of removing the side-effect.
  
!          Set_Is_Renaming_Of_Object (Def_Id, False);
  
        --  Otherwise we generate a reference to the value
  
*************** package body Exp_Util is
*** 3708,3713 ****
--- 4200,4213 ----
           end if;
  
           if Is_Delayed_Aggregate (E) then
+ 
+             --  The expansion of nested aggregates is delayed until the
+             --  enclosing aggregate is expanded. As aggregates are often
+             --  qualified, the predicate applies to qualified expressions
+             --  as well, indicating that the enclosing aggregate has not
+             --  been expanded yet. At this point the aggregate is part of
+             --  a stand-alone declaration, and must be fully expanded.
+ 
              if Nkind (E) = N_Qualified_Expression then
                 Set_Expansion_Delayed (Expression (E), False);
                 Set_Analyzed (Expression (E), False);
*************** package body Exp_Util is
*** 3738,3743 ****
--- 4238,4255 ----
        Scope_Suppress := Svg_Suppress;
     end Remove_Side_Effects;
  
+    ---------------------------
+    -- Represented_As_Scalar --
+    ---------------------------
+ 
+    function Represented_As_Scalar (T : Entity_Id) return Boolean is
+       UT : constant Entity_Id := Underlying_Type (T);
+    begin
+       return Is_Scalar_Type (UT)
+         or else (Is_Bit_Packed_Array (UT)
+                    and then Is_Scalar_Type (Packed_Array_Type (UT)));
+    end Represented_As_Scalar;
+ 
     ------------------------------------
     -- Safe_Unchecked_Type_Conversion --
     ------------------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_util.ads gcc-4.1.0/gcc/ada/exp_util.ads
*** gcc-4.0.2/gcc/ada/exp_util.ads	Thu Feb 10 13:57:23 2005
--- gcc-4.1.0/gcc/ada/exp_util.ads	Tue Nov 15 13:54:36 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Types;   use Types;
*** 33,38 ****
--- 33,53 ----
  
  package Exp_Util is
  
+    --  An enumeration type used to capture all the possible interface
+    --  kinds and their hierarchical relation. These values are used in
+    --  Find_Implemented_Interface and Implements_Interface.
+ 
+    type Interface_Kind is (
+      Any_Interface,               --  Any interface
+      Any_Limited_Interface,       --  Only limited interfaces
+      Any_Synchronized_Interface,  --  Only synchronized interfaces
+ 
+      Iface,                       --  Individual kinds
+      Limited_Interface,
+      Protected_Interface,
+      Synchronized_Interface,
+      Task_Interface);
+ 
     -----------------------------------------------
     -- Handling of Actions Associated with Nodes --
     -----------------------------------------------
*************** package Exp_Util is
*** 135,141 ****
     --  Actions field of the N_Compilation_Aux node for the main unit).
  
     procedure Insert_Library_Level_Actions (L : List_Id);
!    --  Similar, but inserts a list of actions.
  
     -----------------------
     -- Other Subprograms --
--- 150,156 ----
     --  Actions field of the N_Compilation_Aux node for the main unit).
  
     procedure Insert_Library_Level_Actions (L : List_Id);
!    --  Similar, but inserts a list of actions
  
     -----------------------
     -- Other Subprograms --
*************** package Exp_Util is
*** 145,191 ****
     --  The node N is an expression whose root-type is Boolean, and which
     --  represents a boolean value used as a condition (i.e. a True/False
     --  value). This routine handles the case of C and Fortran convention
!    --  boolean types, which have zero/non-zero semantics rather than the
!    --  normal 0/1 semantics, and also the case of an enumeration rep
!    --  clause that specifies a non-standard representation. On return,
!    --  node N always has the type Standard.Boolean, with a value that
!    --  is a standard Boolean values of 0/1 for False/True. This procedure
!    --  is used in two situations. First, the processing for a condition
!    --  field always calls Adjust_Condition, so that the boolean value
!    --  presented to the backend is a standard value. Second, for the
!    --  code for boolean operations such as AND, Adjust_Condition is
!    --  called on both operands, and then the operation is done in the
!    --  domain of Standard_Boolean, then Adjust_Result_Type is called
!    --  on the result to possibly reset the original type. This procedure
     --  also takes care of validity checking if Validity_Checks = Tests.
  
     procedure Adjust_Result_Type (N : Node_Id; T : Entity_Id);
     --  The processing of boolean operations like AND uses the procedure
!    --  Adjust_Condition so that it can operate on Standard.Boolean, which
!    --  is the only boolean type on which the backend needs to be able to
!    --  implement such operators. This means that the result is also of
!    --  type Standard.Boolean. In general the type must be reset back to
!    --  the original type to get proper semantics, and that is the purpose
!    --  of this procedure. N is the node (of type Standard.Boolean), and
!    --  T is the desired type. As an optimization, this procedure leaves
!    --  the type as Standard.Boolean in contexts where this is permissible
!    --  (in particular for Condition fields, and for operands of other
!    --  logical operations higher up the tree). The call to this procedure
!    --  is completely ignored if the argument N is not of type Boolean.
  
     procedure Append_Freeze_Action (T : Entity_Id; N : Node_Id);
     --  Add a new freeze action for the given type. The freeze action is
!    --  attached to the freeze node for the type. Actions will be elaborated
!    --  in the order in which they are added. Note that the added node is not
     --  analyzed. The analyze call is found in Sem_Ch13.Expand_N_Freeze_Entity.
  
     procedure Append_Freeze_Actions (T : Entity_Id; L : List_Id);
!    --  Adds the given list of freeze actions (declarations or statements)
!    --  for the given type. The freeze actions are attached to the freeze
!    --  node for the type. Actions will be elaborated in the order in which
!    --  they are added, and the actions within the list will be elaborated in
!    --  list order. Note that the added nodes are not analyzed. The analyze
!    --  call is found in Sem_Ch13.Expand_N_Freeze_Entity.
  
     function Build_Runtime_Call (Loc : Source_Ptr; RE : RE_Id) return Node_Id;
     --  Build an N_Procedure_Call_Statement calling the given runtime entity.
--- 160,205 ----
     --  The node N is an expression whose root-type is Boolean, and which
     --  represents a boolean value used as a condition (i.e. a True/False
     --  value). This routine handles the case of C and Fortran convention
!    --  boolean types, which have zero/non-zero semantics rather than the normal
!    --  0/1 semantics, and also the case of an enumeration rep clause that
!    --  specifies a non-standard representation. On return, node N always has
!    --  the type Standard.Boolean, with a value that is a standard Boolean
!    --  values of 0/1 for False/True. This procedure is used in two situations.
!    --  First, the processing for a condition field always calls
!    --  Adjust_Condition, so that the boolean value presented to the backend is
!    --  a standard value. Second, for the code for boolean operations such as
!    --  AND, Adjust_Condition is called on both operands, and then the operation
!    --  is done in the domain of Standard_Boolean, then Adjust_Result_Type is
!    --  called on the result to possibly reset the original type. This procedure
     --  also takes care of validity checking if Validity_Checks = Tests.
  
     procedure Adjust_Result_Type (N : Node_Id; T : Entity_Id);
     --  The processing of boolean operations like AND uses the procedure
!    --  Adjust_Condition so that it can operate on Standard.Boolean, which is
!    --  the only boolean type on which the backend needs to be able to implement
!    --  such operators. This means that the result is also of type
!    --  Standard.Boolean. In general the type must be reset back to the original
!    --  type to get proper semantics, and that is the purpose of this procedure.
!    --  N is the node (of type Standard.Boolean), and T is the desired type. As
!    --  an optimization, this procedure leaves the type as Standard.Boolean in
!    --  contexts where this is permissible (in particular for Condition fields,
!    --  and for operands of other logical operations higher up the tree). The
!    --  call to this procedure is completely ignored if the argument N is not of
!    --  type Boolean.
  
     procedure Append_Freeze_Action (T : Entity_Id; N : Node_Id);
     --  Add a new freeze action for the given type. The freeze action is
!    --  attached to the freeze node for the type. Actions will be elaborated in
!    --  the order in which they are added. Note that the added node is not
     --  analyzed. The analyze call is found in Sem_Ch13.Expand_N_Freeze_Entity.
  
     procedure Append_Freeze_Actions (T : Entity_Id; L : List_Id);
!    --  Adds the given list of freeze actions (declarations or statements) for
!    --  the given type. The freeze actions are attached to the freeze node for
!    --  the type. Actions will be elaborated in the order in which they are
!    --  added, and the actions within the list will be elaborated in list order.
!    --  Note that the added nodes are not analyzed. The analyze call is found in
!    --  Sem_Ch13.Expand_N_Freeze_Entity.
  
     function Build_Runtime_Call (Loc : Source_Ptr; RE : RE_Id) return Node_Id;
     --  Build an N_Procedure_Call_Statement calling the given runtime entity.
*************** package Exp_Util is
*** 198,252 ****
        Id_Ref : Node_Id;
        A_Type : Entity_Id)
        return   List_Id;
!    --  Build declaration for a variable that holds an identifying string
!    --  to be used as a task name. Id_Ref is an identifier if the task is
!    --  a variable, and a selected or indexed component if the task is a
!    --  component of an object. If it is an indexed component, A_Type is
!    --  the corresponding array type. Its index types are used to build the
!    --  string as an image of the index values. For composite types, the
!    --  result includes two declarations: one for a generated function that
!    --  computes the image without using concatenation, and one for the
!    --  variable that holds the result.
  
     function Component_May_Be_Bit_Aligned (Comp : Entity_Id) return Boolean;
!    --  This function is in charge of detecting record components that may
!    --  cause trouble in the back end if an attempt is made to assign the
!    --  component. The back end can handle such assignments with no problem
!    --  if the components involved are small (64-bits or less) records or
!    --  scalar items (including bit-packed arrays represented with modular
!    --  types) or are both aligned on a byte boundary (starting on a byte
!    --  boundary, and occupying an integral number of bytes).
     --
!    --  However, problems arise for records larger than 64 bits, or for
!    --  arrays (other than bit-packed arrays represented with a modular
!    --  type) if the component starts on a non-byte boundary, or does
!    --  not occupy an integral number of bytes (i.e. there are some bits
!    --  possibly shared with fields at the start or beginning of the
!    --  component). The back end cannot handle loading and storing such
!    --  components in a single operation.
     --
     --  This function is used to detect the troublesome situation. it is
!    --  conservative in the sense that it produces True unless it knows
!    --  for sure that the component is safe (as outlined in the first
!    --  paragraph above). The code generation for record and array
!    --  assignment checks for trouble using this function, and if so
!    --  the assignment is generated component-wise, which the back end
!    --  is required to handle correctly.
     --
!    --  Note that in GNAT 3, the back end will reject such components
!    --  anyway, so the hard work in checking for this case is wasted
!    --  in GNAT 3, but it's harmless, so it is easier to do it in
!    --  all cases, rather than conditionalize it in GNAT 5 or beyond.
  
     procedure Convert_To_Actual_Subtype (Exp : Node_Id);
!    --  The Etype of an expression is the nominal type of the expression,
!    --  not the actual subtype. Often these are the same, but not always.
!    --  For example, a reference to a formal of unconstrained type has the
!    --  unconstrained type as its Etype, but the actual subtype is obtained
!    --  by applying the actual bounds. This routine is given an expression,
!    --  Exp, and (if necessary), replaces it using Rewrite, with a conversion
!    --  to the actual subtype, building the actual subtype if necessary. If
!    --  the expression is already of the requested type, then it is unchanged.
  
     function Current_Sem_Unit_Declarations return List_Id;
     --  Return the a place where it is fine to insert declarations for the
--- 212,263 ----
        Id_Ref : Node_Id;
        A_Type : Entity_Id)
        return   List_Id;
!    --  Build declaration for a variable that holds an identifying string to be
!    --  used as a task name. Id_Ref is an identifier if the task is a variable,
!    --  and a selected or indexed component if the task is component of an
!    --  object. If it is an indexed component, A_Type is the corresponding array
!    --  type. Its index types are used to build the string as an image of the
!    --  index values. For composite types, the result includes two declarations:
!    --  one for a generated function that computes the image without using
!    --  concatenation, and one for the variable that holds the result.
  
     function Component_May_Be_Bit_Aligned (Comp : Entity_Id) return Boolean;
!    --  This function is in charge of detecting record components that may cause
!    --  trouble in the back end if an attempt is made to assign the component.
!    --  The back end can handle such assignments with no problem if the
!    --  components involved are small (64-bits or less) records or scalar items
!    --  (including bit-packed arrays represented with modular types) or are both
!    --  aligned on a byte boundary (starting on a byte boundary, and occupying
!    --  an integral number of bytes).
     --
!    --  However, problems arise for records larger than 64 bits, or for arrays
!    --  (other than bit-packed arrays represented with a modular type) if the
!    --  component starts on a non-byte boundary, or does not occupy an integral
!    --  number of bytes (i.e. there are some bits possibly shared with fields at
!    --  the start or beginning of the component). The back end cannot handle
!    --  loading and storing such components in a single operation.
     --
     --  This function is used to detect the troublesome situation. it is
!    --  conservative in the sense that it produces True unless it knows for sure
!    --  that the component is safe (as outlined in the first paragraph above).
!    --  The code generation for record and array assignment checks for trouble
!    --  using this function, and if so the assignment is generated
!    --  component-wise, which the back end is required to handle correctly.
     --
!    --  Note that in GNAT 3, the back end will reject such components anyway, so
!    --  the hard work in checking for this case is wasted in GNAT 3, but it's
!    --  harmless, so it is easier to do it in all cases, rather than
!    --  conditionalize it in GNAT 5 or beyond.
  
     procedure Convert_To_Actual_Subtype (Exp : Node_Id);
!    --  The Etype of an expression is the nominal type of the expression, not
!    --  the actual subtype. Often these are the same, but not always. For
!    --  example, a reference to a formal of unconstrained type has the
!    --  unconstrained type as its Etype, but the actual subtype is obtained by
!    --  applying the actual bounds. This routine is given an expression, Exp,
!    --  and (if necessary), replaces it using Rewrite, with a conversion to the
!    --  actual subtype, building the actual subtype if necessary. If the
!    --  expression is already of the requested type, then it is unchanged.
  
     function Current_Sem_Unit_Declarations return List_Id;
     --  Return the a place where it is fine to insert declarations for the
*************** package Exp_Util is
*** 258,277 ****
     function Duplicate_Subexpr
       (Exp      : Node_Id;
        Name_Req : Boolean := False) return Node_Id;
!    --  Given the node for a subexpression, this function makes a logical
!    --  copy of the subexpression, and returns it. This is intended for use
!    --  when the expansion of an expression needs to repeat part of it. For
!    --  example, replacing a**2 by a*a requires two references to a which
!    --  may be a complex subexpression. Duplicate_Subexpr guarantees not
!    --  to duplicate side effects. If necessary, it generates actions to
!    --  save the expression value in a temporary, inserting these actions
!    --  into the tree using Insert_Actions with Exp as the insertion location.
!    --  The original expression and the returned result then become references
!    --  to this saved value. Exp must be analyzed on entry. On return, Exp
!    --  is analyzed, but the caller is responsible for analyzing the returned
!    --  copy after it is attached to the tree. The Name_Req flag is set to
!    --  ensure that the result is suitable for use in a context requiring a
!    --  name (e.g. the prefix of an attribute reference).
     --
     --  Note that if there are any run time checks in Exp, these same checks
     --  will be duplicated in the returned duplicated expression. The two
--- 269,288 ----
     function Duplicate_Subexpr
       (Exp      : Node_Id;
        Name_Req : Boolean := False) return Node_Id;
!    --  Given the node for a subexpression, this function makes a logical copy
!    --  of the subexpression, and returns it. This is intended for use when the
!    --  expansion of an expression needs to repeat part of it. For example,
!    --  replacing a**2 by a*a requires two references to a which may be a
!    --  complex subexpression. Duplicate_Subexpr guarantees not to duplicate
!    --  side effects. If necessary, it generates actions to save the expression
!    --  value in a temporary, inserting these actions into the tree using
!    --  Insert_Actions with Exp as the insertion location. The original
!    --  expression and the returned result then become references to this saved
!    --  value. Exp must be analyzed on entry. On return, Exp is analyzed, but
!    --  the caller is responsible for analyzing the returned copy after it is
!    --  attached to the tree. The Name_Req flag is set to ensure that the result
!    --  is suitable for use in a context requiring name (e.g. the prefix of an
!    --  attribute reference).
     --
     --  Note that if there are any run time checks in Exp, these same checks
     --  will be duplicated in the returned duplicated expression. The two
*************** package Exp_Util is
*** 289,301 ****
     function Duplicate_Subexpr_Move_Checks
       (Exp      : Node_Id;
        Name_Req : Boolean := False) return Node_Id;
!    --  Identical in effect to Duplicate_Subexpr, except that Remove_Checks
!    --  is called on Exp after the duplication is complete, so that the
!    --  original expression does not include checks. In this case the result
!    --  returned (the duplicated expression) will retain the original checks.
!    --  This is appropriate for use when the duplicated expression is sure
!    --  to be elaborated before the original expression Exp, so that there
!    --  is no need to repeat the checks.
  
     procedure Ensure_Defined (Typ : Entity_Id; N : Node_Id);
     --  This procedure ensures that type referenced by Typ is defined. For the
--- 300,312 ----
     function Duplicate_Subexpr_Move_Checks
       (Exp      : Node_Id;
        Name_Req : Boolean := False) return Node_Id;
!    --  Identical in effect to Duplicate_Subexpr, except that Remove_Checks is
!    --  called on Exp after the duplication is complete, so that the original
!    --  expression does not include checks. In this case the result returned
!    --  (the duplicated expression) will retain the original checks. This is
!    --  appropriate for use when the duplicated expression is sure to be
!    --  elaborated before the original expression Exp, so that there is no need
!    --  to repeat the checks.
  
     procedure Ensure_Defined (Typ : Entity_Id; N : Node_Id);
     --  This procedure ensures that type referenced by Typ is defined. For the
*************** package Exp_Util is
*** 309,323 ****
     --  Rewrites Cond with the expression: Cond and then Cond1. If Cond is
     --  Empty, then simply returns Cond1 (this allows the use of Empty to
     --  initialize a series of checks evolved by this routine, with a final
!    --  result of Empty indicating that no checks were required). The Sloc
!    --  field of the constructed N_And_Then node is copied from Cond1.
  
     procedure Evolve_Or_Else (Cond : in out Node_Id; Cond1 : Node_Id);
!    --  Rewrites Cond with the expression: Cond or else Cond1. If Cond is
!    --  Empty, then simply returns Cond1 (this allows the use of Empty to
!    --  initialize a series of checks evolved by this routine, with a final
!    --  result of Empty indicating that no checks were required). The Sloc
!    --  field of the constructed N_Or_Else node is copied from Cond1.
  
     procedure Expand_Subtype_From_Expr
       (N             : Node_Id;
--- 320,334 ----
     --  Rewrites Cond with the expression: Cond and then Cond1. If Cond is
     --  Empty, then simply returns Cond1 (this allows the use of Empty to
     --  initialize a series of checks evolved by this routine, with a final
!    --  result of Empty indicating that no checks were required). The Sloc field
!    --  of the constructed N_And_Then node is copied from Cond1.
  
     procedure Evolve_Or_Else (Cond : in out Node_Id; Cond1 : Node_Id);
!    --  Rewrites Cond with the expression: Cond or else Cond1. If Cond is Empty,
!    --  then simply returns Cond1 (this allows the use of Empty to initialize a
!    --  series of checks evolved by this routine, with a final result of Empty
!    --  indicating that no checks were required). The Sloc field of the
!    --  constructed N_Or_Else node is copied from Cond1.
  
     procedure Expand_Subtype_From_Expr
       (N             : Node_Id;
*************** package Exp_Util is
*** 328,333 ****
--- 339,366 ----
     --  declarations and/or allocations when the type is indefinite (including
     --  class-wide).
  
+    function Find_Interface_ADT
+      (T     : Entity_Id;
+       Iface : Entity_Id) return Entity_Id;
+    --  Ada 2005 (AI-251): Given a type T implementing the interface Iface,
+    --  return the Access_Disp_Table value of the interface.
+ 
+    function Find_Interface_Tag
+      (T     : Entity_Id;
+       Iface : Entity_Id) return Entity_Id;
+    --  Ada 2005 (AI-251): Given a type T implementing the interface Iface,
+    --  return the record component containing the tag of Iface.
+ 
+    function Find_Implemented_Interface
+      (Typ          : Entity_Id;
+       Kind         : Interface_Kind;
+       Check_Parent : Boolean := False) return Entity_Id;
+    --  Ada 2005 (AI-345): Find a designated kind of interface implemented by
+    --  Typ or any parent subtype. Return the first encountered interface that
+    --  correspond to the selected class. Return Empty if no such interface is
+    --  found. Use Check_Parent to climb a potential derivation chain and
+    --  examine the parent subtypes for any implementation.
+ 
     function Find_Prim_Op (T : Entity_Id; Name : Name_Id) return Entity_Id;
     --  Find the first primitive operation of type T whose name is 'Name'.
     --  This function allows the use of a primitive operation which is not
*************** package Exp_Util is
*** 362,466 ****
       (Var : Node_Id;
        Op  : out Node_Kind;
        Val : out Node_Id);
!    --  This routine processes the Current_Value field of the variable Var.
!    --  If the Current_Value field is null or if it represents a known value,
!    --  then on return Cond is set to N_Empty, and Val is set to Empty.
     --
!    --  The other case is when Current_Value points to an N_If_Statement
!    --  or an N_Elsif_Part (while statement). Such a setting only occurs
!    --  if the condition of an IF or ELSIF is of the form X op Y, where X
!    --  is the variable in question, Y is a compile-time known value, and
!    --  op is one of the six possible relational operators.
     --
!    --  In this case, Get_Current_Condition digs out the condition, and
!    --  then checks if the condition is known false, known true, or not
!    --  known at all. In the first two cases, Get_Current_Condition will
!    --  return with Op set to the appropriate conditional operator (inverted
!    --  if the condition is known false), and Val set to the constant value.
!    --  If the condition is not known, then Cond and Val are set for the
!    --  empty case (N_Empty and Empty).
     --
     --  The check for whether the condition is true/false unknown depends
     --  on the case:
     --
!    --     For an IF, the condition is known true in the THEN part, known
!    --     false in any ELSIF or ELSE part, and not known outside the IF
!    --     statement in question.
     --
!    --     For an ELSIF, the condition is known true in the ELSIF part,
!    --     known FALSE in any subsequent ELSIF, or ELSE part, and not
!    --     known before the ELSIF, or after the end of the IF statement.
     --
!    --  The caller can use this result to determine the value (for the
!    --  case of N_Op_Eq), or to determine the result of some other test
!    --  in other cases (e.g. no access check required if N_Op_Ne Null).
  
     function Homonym_Number (Subp : Entity_Id) return Nat;
     --  Here subp is the entity for a subprogram. This routine returns the
!    --  homonym number used to disambiguate overloaded subprograms in the
!    --  same scope (the number is used as part of constructed names to make
!    --  sure that they are unique). The number is the ordinal position on
!    --  the Homonym chain, counting only entries in the curren scope. If
!    --  an entity is not overloaded, the returned number will be one.
  
     function Inside_Init_Proc return Boolean;
     --  Returns True if current scope is within an init proc
  
     function In_Unconditional_Context (Node : Node_Id) return Boolean;
!    --  Node is the node for a statement or a component of a statement.
!    --  This function deteermines if the statement appears in a context
!    --  that is unconditionally executed, i.e. it is not within a loop
!    --  or a conditional or a case statement etc.
  
     function Is_All_Null_Statements (L : List_Id) return Boolean;
!    --  Return True if all the items of the list are N_Null_Statement
!    --  nodes. False otherwise. True for an empty list. It is an error
!    --  to call this routine with No_List as the argument.
  
!    function Is_Ref_To_Bit_Packed_Array (P : Node_Id) return Boolean;
!    --  Determine whether the node P is a reference to a bit packed
!    --  array, i.e. whether the designated object is a component of
!    --  a bit packed array, or a subcomponent of such a component.
!    --  If so, then all subscripts in P are evaluated with a call
!    --  to Force_Evaluation, and True is returned. Otherwise False
!    --  is returned, and P is not affected.
  
!    function Is_Ref_To_Bit_Packed_Slice (P : Node_Id) return Boolean;
!    --  Determine whether the node P is a reference to a bit packed
!    --  slice, i.e. whether the designated object is bit packed slice
!    --  or a component of a bit packed slice. Return True if so.
  
!    function Is_Possibly_Unaligned_Slice (P : Node_Id) return Boolean;
     --  Determine whether the node P is a slice of an array where the slice
     --  result may cause alignment problems because it has an alignment that
     --  is not compatible with the type. Return True if so.
  
!    function Is_Possibly_Unaligned_Object (P : Node_Id) return Boolean;
!    --  Node P is an object reference. This function returns True if it
!    --  is possible that the object may not be aligned according to the
!    --  normal default alignment requirement for its type (e.g. if it
!    --  appears in a packed record, or as part of a component that has
!    --  a component clause.
  
     function Is_Renamed_Object (N : Node_Id) return Boolean;
!    --  Returns True if the node N is a renamed object. An expression
!    --  is considered to be a renamed object if either it is the Name
!    --  of an object renaming declaration, or is the prefix of a name
!    --  which is a renamed object. For example, in:
     --
     --     x : r renames a (1 .. 2) (1);
     --
!    --  We consider that a (1 .. 2) is a renamed object since it is the
!    --  prefix of the name in the renaming declaration.
  
     function Is_Untagged_Derivation (T : Entity_Id) return Boolean;
     --  Returns true if type T is not tagged and is a derived type,
     --  or is a private type whose completion is such a type.
  
     procedure Kill_Dead_Code (N : Node_Id);
!    --  N represents a node for a section of code that is known to be
!    --  dead. The node is deleted, and any exception handler references
!    --  and warning messages relating to this code are removed.
  
     procedure Kill_Dead_Code (L : List_Id);
     --  Like the above procedure, but applies to every element in the given
--- 395,509 ----
       (Var : Node_Id;
        Op  : out Node_Kind;
        Val : out Node_Id);
!    --  This routine processes the Current_Value field of the variable Var. If
!    --  the Current_Value field is null or if it represents a known value, then
!    --  on return Cond is set to N_Empty, and Val is set to Empty.
     --
!    --  The other case is when Current_Value points to an N_If_Statement or an
!    --  N_Elsif_Part (while statement). Such a setting only occurs if the
!    --  condition of an IF or ELSIF is of the form X op Y, where is the variable
!    --  in question, Y is a compile-time known value, and op is one of the six
!    --  possible relational operators.
     --
!    --  In this case, Get_Current_Condition digs out the condition, and then
!    --  checks if the condition is known false, known true, or not known at all.
!    --  In the first two cases, Get_Current_Condition will return with Op set to
!    --  the appropriate conditional operator (inverted if the condition is known
!    --  false), and Val set to the constant value. If the condition is not
!    --  known, then Cond and Val are set for the empty case (N_Empty and Empty).
     --
     --  The check for whether the condition is true/false unknown depends
     --  on the case:
     --
!    --     For an IF, the condition is known true in the THEN part, known false
!    --     in any ELSIF or ELSE part, and not known outside the IF statement in
!    --     question.
     --
!    --     For an ELSIF, the condition is known true in the ELSIF part, known
!    --     FALSE in any subsequent ELSIF, or ELSE part, and not known before the
!    --     ELSIF, or after the end of the IF statement.
     --
!    --  The caller can use this result to determine the value (for the case of
!    --  N_Op_Eq), or to determine the result of some other test in other cases
!    --  (e.g. no access check required if N_Op_Ne Null).
  
     function Homonym_Number (Subp : Entity_Id) return Nat;
     --  Here subp is the entity for a subprogram. This routine returns the
!    --  homonym number used to disambiguate overloaded subprograms in the same
!    --  scope (the number is used as part of constructed names to make sure that
!    --  they are unique). The number is the ordinal position on the Homonym
!    --  chain, counting only entries in the curren scope. If an entity is not
!    --  overloaded, the returned number will be one.
! 
!    function Implements_Interface
!      (Typ          : Entity_Id;
!       Kind         : Interface_Kind;
!       Check_Parent : Boolean := False) return Boolean;
!    --  Ada 2005 (AI-345): Determine whether Typ implements a designated kind
!    --  of interface. Use Check_Parent to climb a potential derivation chain
!    --  and examine the parent subtypes for any implementation.
  
     function Inside_Init_Proc return Boolean;
     --  Returns True if current scope is within an init proc
  
     function In_Unconditional_Context (Node : Node_Id) return Boolean;
!    --  Node is the node for a statement or a component of a statement. This
!    --  function deteermines if the statement appears in a context that is
!    --  unconditionally executed, i.e. it is not within a loop or a conditional
!    --  or a case statement etc.
  
     function Is_All_Null_Statements (L : List_Id) return Boolean;
!    --  Return True if all the items of the list are N_Null_Statement nodes.
!    --  False otherwise. True for an empty list. It is an error to call this
!    --  routine with No_List as the argument.
  
!    function Is_Predefined_Dispatching_Operation
!      (Subp : Entity_Id) return Boolean;
!    --  Ada 2005 (AI-251): Determines if Subp is a predefined primitive
!    --  operation.
  
!    function Is_Ref_To_Bit_Packed_Array (N : Node_Id) return Boolean;
!    --  Determine whether the node P is a reference to a bit packed array, i.e.
!    --  whether the designated object is a component of a bit packed array, or a
!    --  subcomponent of such a component. If so, then all subscripts in P are
!    --  evaluated with a call to Force_Evaluation, and True is returned.
!    --  Otherwise False is returned, and P is not affected.
  
!    function Is_Ref_To_Bit_Packed_Slice (N : Node_Id) return Boolean;
!    --  Determine whether the node P is a reference to a bit packed slice, i.e.
!    --  whether the designated object is bit packed slice or a component of a
!    --  bit packed slice. Return True if so.
! 
!    function Is_Possibly_Unaligned_Slice (N : Node_Id) return Boolean;
     --  Determine whether the node P is a slice of an array where the slice
     --  result may cause alignment problems because it has an alignment that
     --  is not compatible with the type. Return True if so.
  
!    function Is_Possibly_Unaligned_Object (N : Node_Id) return Boolean;
!    --  Node N is an object reference. This function returns True if it is
!    --  possible that the object may not be aligned according to the normal
!    --  default alignment requirement for its type (e.g. if it appears in a
!    --  packed record, or as part of a component that has a component clause.
  
     function Is_Renamed_Object (N : Node_Id) return Boolean;
!    --  Returns True if the node N is a renamed object. An expression is
!    --  considered to be a renamed object if either it is the Name of an object
!    --  renaming declaration, or is the prefix of a name which is a renamed
!    --  object. For example, in:
     --
     --     x : r renames a (1 .. 2) (1);
     --
!    --  We consider that a (1 .. 2) is a renamed object since it is the prefix
!    --  of the name in the renaming declaration.
  
     function Is_Untagged_Derivation (T : Entity_Id) return Boolean;
     --  Returns true if type T is not tagged and is a derived type,
     --  or is a private type whose completion is such a type.
  
     procedure Kill_Dead_Code (N : Node_Id);
!    --  N represents a node for a section of code that is known to be dead. The
!    --  node is deleted, and any exception handler references and warning
!    --  messages relating to this code are removed.
  
     procedure Kill_Dead_Code (L : List_Id);
     --  Like the above procedure, but applies to every element in the given
*************** package Exp_Util is
*** 485,533 ****
     --  a classwide type.
  
     function May_Generate_Large_Temp (Typ : Entity_Id) return Boolean;
!    --  Determines if the given type, Typ, may require a large temporary
!    --  of the kind that causes back-end trouble if stack checking is enabled.
!    --  The result is True only the size of the type is known at compile time
!    --  and large, where large is defined heuristically by the body of this
!    --  routine. The purpose of this routine is to help avoid generating
!    --  troublesome temporaries that interfere with stack checking mechanism.
!    --  Note that the caller has to check whether stack checking is actually
!    --  enabled in order to guide the expansion (typically of a function call).
  
     procedure Remove_Side_Effects
       (Exp          : Node_Id;
        Name_Req     : Boolean := False;
        Variable_Ref : Boolean := False);
!    --  Given the node for a subexpression, this function replaces the node
!    --  if necessary by an equivalent subexpression that is guaranteed to be
!    --  side effect free. This is done by extracting any actions that could
!    --  cause side effects, and inserting them using Insert_Actions into the
!    --  tree to which Exp is attached. Exp must be analyzed and resolved
!    --  before the call and is analyzed and resolved on return. The Name_Req
!    --  may only be set to True if Exp has the form of a name, and the
!    --  effect is to guarantee that any replacement maintains the form of a
!    --  name. If Variable_Ref is set to TRUE, a variable is considered as a
!    --  side effect (used in implementing Force_Evaluation). Note: after a
!    --  call to Remove_Side_Effects, it is safe to call New_Copy_Tree to
!    --  obtain a copy of the resulting expression.
  
     function Safe_Unchecked_Type_Conversion (Exp : Node_Id) return Boolean;
!    --  Given the node for an N_Unchecked_Type_Conversion, return True
!    --  if this is an unchecked conversion that Gigi can handle directly.
!    --  Otherwise return False if it is one for which the front end must
!    --  provide a temporary. Note that the node need not be analyzed, and
!    --  thus the Etype field may not be set, but in that case it must be
!    --  the case that the Subtype_Mark field of the node is set/analyzed.
  
     procedure Set_Elaboration_Flag (N : Node_Id; Spec_Id : Entity_Id);
!    --  N is the node for a subprogram or generic body, and Spec_Id
!    --  is the entity for the corresponding spec. If an elaboration
!    --  entity is defined, then this procedure generates an assignment
!    --  statement to set it True, immediately after the body is elaborated.
!    --  However, no assignment is generated in the case of library level
!    --  procedures, since the setting of the flag in this case is generated
!    --  in the binder. We do that so that we can detect cases where this is
!    --  the only elaboration action that is required.
  
     function Target_Has_Fixed_Ops
       (Left_Typ   : Entity_Id;
--- 528,580 ----
     --  a classwide type.
  
     function May_Generate_Large_Temp (Typ : Entity_Id) return Boolean;
!    --  Determines if the given type, Typ, may require a large temporary of the
!    --  kind that causes back-end trouble if stack checking is enabled. The
!    --  result is True only the size of the type is known at compile time and
!    --  large, where large is defined heuristically by the body of this routine.
!    --  The purpose of this routine is to help avoid generating troublesome
!    --  temporaries that interfere with stack checking mechanism. Note that the
!    --  caller has to check whether stack checking is actually enabled in order
!    --  to guide the expansion (typically of a function call).
  
     procedure Remove_Side_Effects
       (Exp          : Node_Id;
        Name_Req     : Boolean := False;
        Variable_Ref : Boolean := False);
!    --  Given the node for a subexpression, this function replaces the node if
!    --  necessary by an equivalent subexpression that is guaranteed to be side
!    --  effect free. This is done by extracting any actions that could cause
!    --  side effects, and inserting them using Insert_Actions into the tree to
!    --  which Exp is attached. Exp must be analyzed and resolved before the call
!    --  and is analyzed and resolved on return. The Name_Req may only be set to
!    --  True if Exp has the form of a name, and the effect is to guarantee that
!    --  any replacement maintains the form of name. If Variable_Ref is set to
!    --  TRUE, a variable is considered as side effect (used in implementing
!    --  Force_Evaluation). Note: after call to Remove_Side_Effects, it is safe
!    --  to call New_Copy_Tree to obtain a copy of the resulting expression.
! 
!    function Represented_As_Scalar (T : Entity_Id) return Boolean;
!    --  Returns True iff the implementation of this type in code generation
!    --  terms is scalar. This is true for scalars in the Ada sense, and for
!    --  packed arrays which are represented by a scalar (modular) type.
  
     function Safe_Unchecked_Type_Conversion (Exp : Node_Id) return Boolean;
!    --  Given the node for an N_Unchecked_Type_Conversion, return True if this
!    --  is an unchecked conversion that Gigi can handle directly. Otherwise
!    --  return False if it is one for which the front end must provide a
!    --  temporary. Note that the node need not be analyzed, and thus the Etype
!    --  field may not be set, but in that case it must be the case that the
!    --  Subtype_Mark field of the node is set/analyzed.
  
     procedure Set_Elaboration_Flag (N : Node_Id; Spec_Id : Entity_Id);
!    --  N is the node for a subprogram or generic body, and Spec_Id is the
!    --  entity for the corresponding spec. If an elaboration entity is defined,
!    --  then this procedure generates an assignment statement to set it True,
!    --  immediately after the body is elaborated. However, no assignment is
!    --  generated in the case of library level procedures, since the setting of
!    --  the flag in this case is generated in the binder. We do that so that we
!    --  can detect cases where this is the only elaboration action that is
!    --  required.
  
     function Target_Has_Fixed_Ops
       (Left_Typ   : Entity_Id;
*************** package Exp_Util is
*** 540,559 ****
  
     function Type_May_Have_Bit_Aligned_Components
       (Typ : Entity_Id) return Boolean;
!    --  Determines if Typ is a composite type that has within it (looking
!    --  down recursively at any subcomponents), a record type which has a
!    --  component that may be bit aligned (see Possible_Bit_Aligned_Component).
!    --  The result is conservative, in that a result of False is decisive.
!    --  A result of True means that such a component may or may not be present.
  
     procedure Wrap_Cleanup_Procedure (N : Node_Id);
!    --  Given an N_Subprogram_Body node, this procedure adds an Abort_Defer
!    --  call at the start of the statement sequence, and an Abort_Undefer call
!    --  at the end of the statement sequence. All cleanup routines (i.e. those
!    --  that are called from "at end" handlers) must defer abort on entry and
!    --  undefer abort on exit. Note that it is assumed that the code for the
!    --  procedure does not contain any return statements which would allow the
!    --  flow of control to escape doing the undefer call.
  
  private
     pragma Inline (Force_Evaluation);
--- 587,606 ----
  
     function Type_May_Have_Bit_Aligned_Components
       (Typ : Entity_Id) return Boolean;
!    --  Determines if Typ is a composite type that has within it (looking down
!    --  recursively at any subcomponents), a record type which has component
!    --  that may be bit aligned (see Possible_Bit_Aligned_Component). The result
!    --  is conservative, in that a result of False is decisive. A result of True
!    --  means that such a component may or may not be present.
  
     procedure Wrap_Cleanup_Procedure (N : Node_Id);
!    --  Given an N_Subprogram_Body node, this procedure adds an Abort_Defer call
!    --  at the start of the statement sequence, and an Abort_Undefer call at the
!    --  end of the statement sequence. All cleanup routines (i.e. those that are
!    --  called from "at end" handlers) must defer abort on entry and undefer
!    --  abort on exit. Note that it is assumed that the code for the procedure
!    --  does not contain any return statements which would allow the flow of
!    --  control to escape doing the undefer call.
  
  private
     pragma Inline (Force_Evaluation);
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_vfpt.adb gcc-4.1.0/gcc/ada/exp_vfpt.adb
*** gcc-4.0.2/gcc/ada/exp_vfpt.adb	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/exp_vfpt.adb	Tue Nov 15 13:51:27 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2002 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1997-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Exp_VFpt is
*** 196,201 ****
--- 196,208 ----
                 Func := RE_Lt_G;
              end if;
  
+          when N_Op_Ne =>
+             if Typc = 'F' then
+                Func := RE_Ne_F;
+             else
+                Func := RE_Ne_G;
+             end if;
+ 
           when others =>
              Func := RE_Null;
              raise Program_Error;
*************** package body Exp_VFpt is
*** 295,308 ****
           end if;
        end Call_Type;
  
        function Equivalent_Integer_Type (T : Entity_Id) return Entity_Id is
        begin
           if Esize (T) = Esize (Standard_Long_Long_Integer) then
              return Standard_Long_Long_Integer;
- 
           elsif Esize (T) = Esize (Standard_Long_Integer) then
              return  Standard_Long_Integer;
- 
           else
              return Standard_Integer;
           end if;
--- 302,317 ----
           end if;
        end Call_Type;
  
+       -------------------------------------------------
+       -- Expand_Multiply_Fixed_By_Fixed_Giving_Fixed --
+       -------------------------------------------------
+ 
        function Equivalent_Integer_Type (T : Entity_Id) return Entity_Id is
        begin
           if Esize (T) = Esize (Standard_Long_Long_Integer) then
              return Standard_Long_Long_Integer;
           elsif Esize (T) = Esize (Standard_Long_Integer) then
              return  Standard_Long_Integer;
           else
              return Standard_Integer;
           end if;
*************** package body Exp_VFpt is
*** 320,359 ****
           Rewrite (N,
             Unchecked_Convert_To (T_Typ, Expr));
  
        elsif Is_Fixed_Point_Type (S_Typ) then
  
!          --  convert the scaled integer value to the target type, and multiply
!          --  by 'Small of type.
  
!          Rewrite (N,
!             Make_Op_Multiply (Loc,
!               Left_Opnd =>
!                 Make_Type_Conversion (Loc,
!                   Subtype_Mark => New_Occurrence_Of (T_Typ, Loc),
!                   Expression   =>
!                     Unchecked_Convert_To (
!                       Equivalent_Integer_Type (S_Typ), Expr)),
!               Right_Opnd =>
!                 Make_Real_Literal (Loc, Realval => Small_Value (S_Typ))));
  
        elsif Is_Fixed_Point_Type (T_Typ) then
  
!          --  multiply value by 'small of type, and convert to the corresponding
!          --  integer type.
  
!          Rewrite (N,
!            Unchecked_Convert_To (T_Typ,
!              Make_Type_Conversion (Loc,
!                Subtype_Mark =>
!                  New_Occurrence_Of (Equivalent_Integer_Type (T_Typ), Loc),
!                Expression =>
!                  Make_Op_Multiply (Loc,
!                    Left_Opnd => Expr,
!                    Right_Opnd =>
!                      Make_Real_Literal (Loc,
!                        Realval => Ureal_1 / Small_Value (T_Typ))))));
  
!       --  All other cases.
  
        else
           --  Compute types for call
--- 329,392 ----
           Rewrite (N,
             Unchecked_Convert_To (T_Typ, Expr));
  
+       --  Case of conversion of fixed-point type to Vax_Float type
+ 
        elsif Is_Fixed_Point_Type (S_Typ) then
  
!          --  If Conversion_OK set, then we introduce an intermediate IEEE
!          --  target type since we are expecting the code generator to handle
!          --  the case of integer to IEEE float.
  
!          if Conversion_OK (N) then
!             Rewrite (N,
!               Convert_To (T_Typ, OK_Convert_To (Universal_Real, Expr)));
! 
!          --  Otherwise, convert the scaled integer value to the target type,
!          --  and multiply by 'Small of type.
! 
!          else
!             Rewrite (N,
!                Make_Op_Multiply (Loc,
!                  Left_Opnd =>
!                    Make_Type_Conversion (Loc,
!                      Subtype_Mark => New_Occurrence_Of (T_Typ, Loc),
!                      Expression   =>
!                        Unchecked_Convert_To (
!                          Equivalent_Integer_Type (S_Typ), Expr)),
!                  Right_Opnd =>
!                    Make_Real_Literal (Loc, Realval => Small_Value (S_Typ))));
!          end if;
! 
!       --  Case of conversion of Vax_Float type to fixed-point type
  
        elsif Is_Fixed_Point_Type (T_Typ) then
  
!          --  If Conversion_OK set, then we introduce an intermediate IEEE
!          --  target type, since we are expecting the code generator to handle
!          --  the case of IEEE float to integer.
  
!          if Conversion_OK (N) then
!             Rewrite (N,
!               OK_Convert_To (T_Typ, Convert_To (Universal_Real, Expr)));
  
!          --  Otherwise, multiply value by 'small of type, and convert to the
!          --  corresponding integer type.
! 
!          else
!             Rewrite (N,
!               Unchecked_Convert_To (T_Typ,
!                 Make_Type_Conversion (Loc,
!                   Subtype_Mark =>
!                     New_Occurrence_Of (Equivalent_Integer_Type (T_Typ), Loc),
!                   Expression =>
!                     Make_Op_Multiply (Loc,
!                       Left_Opnd => Expr,
!                       Right_Opnd =>
!                         Make_Real_Literal (Loc,
!                           Realval => Ureal_1 / Small_Value (T_Typ))))));
!          end if;
! 
!       --  All other cases
  
        else
           --  Compute types for call
*************** package body Exp_VFpt is
*** 499,502 ****
--- 532,569 ----
        end if;
     end Expand_Vax_Real_Literal;
  
+    ----------------------
+    -- Expand_Vax_Valid --
+    ----------------------
+ 
+    procedure Expand_Vax_Valid (N : Node_Id) is
+       Loc  : constant Source_Ptr := Sloc (N);
+       Pref : constant Node_Id    := Prefix (N);
+       Ptyp : constant Entity_Id  := Root_Type (Etype (Pref));
+       Rtyp : constant Entity_Id  := Etype (N);
+       Vtyp : RE_Id;
+       Func : RE_Id;
+ 
+    begin
+       if Digits_Value (Ptyp) = VAXFF_Digits then
+          Func := RE_Valid_F;
+          Vtyp := RE_F;
+       elsif Digits_Value (Ptyp) = VAXDF_Digits then
+          Func := RE_Valid_D;
+          Vtyp := RE_D;
+       else pragma Assert (Digits_Value (Ptyp) = VAXGF_Digits);
+          Func := RE_Valid_G;
+          Vtyp := RE_G;
+       end if;
+ 
+       Rewrite (N,
+         Convert_To (Rtyp,
+           Make_Function_Call (Loc,
+             Name                   => New_Occurrence_Of (RTE (Func), Loc),
+             Parameter_Associations => New_List (
+               Convert_To (RTE (Vtyp), Pref)))));
+ 
+       Analyze_And_Resolve (N);
+    end Expand_Vax_Valid;
+ 
  end Exp_VFpt;
diff -Nrcpad gcc-4.0.2/gcc/ada/exp_vfpt.ads gcc-4.1.0/gcc/ada/exp_vfpt.ads
*** gcc-4.0.2/gcc/ada/exp_vfpt.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/exp_vfpt.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 1997 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
***************
*** 26,32 ****
  
  --  This package contains specialized routines for handling the expansion
  --  of arithmetic and conversion operations involving Vax format floating-
! --  point formats as used on the Vax and the Alpha.
  
  with Types; use Types;
  
--- 26,32 ----
  
  --  This package contains specialized routines for handling the expansion
  --  of arithmetic and conversion operations involving Vax format floating-
! --  point formats as used on the Vax and the Alpha and the ia64.
  
  with Types; use Types;
  
*************** package Exp_VFpt is
*** 34,54 ****
  
     procedure Expand_Vax_Arith (N : Node_Id);
     --  The node N is an arithmetic node (N_Op_Abs, N_Op_Add, N_Op_Sub,
!    --  N_Op_Div, N_Op_Mul, N_Op_Minus where the operands are in Vax
!    --  float format. This procedure expands the necessary call.
  
     procedure Expand_Vax_Comparison (N : Node_Id);
!    --  The node N is an arithmetic comparison node where the types to
!    --  be compared are in Vax float format. This procedure expands the
!    --  necessary call.
  
     procedure Expand_Vax_Conversion (N : Node_Id);
!    --  The node N is a type conversion node where either the source or
!    --  the target type, or both, are Vax floating-point type.
  
     procedure Expand_Vax_Real_Literal (N : Node_Id);
!    --  The node N is a real literal node where the type is a Vax
!    --  floating-point type. This procedure rewrites the node to eliminate
!    --  the occurrence of such constants.
  
  end Exp_VFpt;
--- 34,59 ----
  
     procedure Expand_Vax_Arith (N : Node_Id);
     --  The node N is an arithmetic node (N_Op_Abs, N_Op_Add, N_Op_Sub,
!    --  N_Op_Div, N_Op_Mul, N_Op_Minus where the operands are in Vax float
!    --  format. This procedure expands the necessary call.
  
     procedure Expand_Vax_Comparison (N : Node_Id);
!    --  The node N is an arithmetic comparison node where the types to be
!    --  compared are in Vax float format. This procedure expands the necessary
!    --  call.
  
     procedure Expand_Vax_Conversion (N : Node_Id);
!    --  The node N is a type conversion node where either the source or the
!    --  target type, or both, are Vax floating-point type.
  
     procedure Expand_Vax_Real_Literal (N : Node_Id);
!    --  The node N is a real literal node where the type is a Vax floating-point
!    --  type. This procedure rewrites the node to eliminate the occurrence of
!    --  such constants.
! 
!    procedure Expand_Vax_Valid (N : Node_Id);
!    --  The node N is an attribute reference node for the Valid attribute where
!    --  the prefix is of a Vax floating-point type. This procedure expands the
!    --  necessary call for the validity test.
  
  end Exp_VFpt;
diff -Nrcpad gcc-4.0.2/gcc/ada/expander.adb gcc-4.1.0/gcc/ada/expander.adb
*** gcc-4.0.2/gcc/ada/expander.adb	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/expander.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/expander.ads gcc-4.1.0/gcc/ada/expander.ads
*** gcc-4.0.2/gcc/ada/expander.ads	Tue Oct 21 13:41:59 2003
--- gcc-4.1.0/gcc/ada/expander.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/expect.c gcc-4.1.0/gcc/ada/expect.c
*** gcc-4.0.2/gcc/ada/expect.c	Fri Nov 19 11:24:39 2004
--- gcc-4.1.0/gcc/ada/expect.c	Tue Nov 15 13:57:56 2005
***************
*** 6,12 ****
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *           Copyright (C) 2001-2004 Ada Core Technologies, Inc.            *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                          C Implementation File                           *
   *                                                                          *
!  *                     Copyright (C) 2001-2005, AdaCore                     *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
***************
*** 43,48 ****
--- 43,60 ----
  #include "system.h"
  #endif
  
+ #include <sys/types.h>
+ 
+ #ifdef __MINGW32__
+ #if OLD_MINGW
+ #include <sys/wait.h>
+ #endif
+ #elif defined (__vxworks) && defined (__RTP__)
+ #include <wait.h>
+ #else
+ #include <sys/wait.h>
+ #endif
+ 
  /* This file provides the low level functionalities needed to implement Expect
     capabilities in GNAT.Expect.
     Implementations for unix and windows systems is provided.
***************
*** 64,82 ****
  #include <process.h>
  
  void
! __gnat_kill (int pid, int sig)
  {
-   HANDLE process_handle;
- 
    if (sig == 9)
      {
!       process_handle = OpenProcess (PROCESS_TERMINATE, FALSE, pid);
!       if (process_handle != NULL)
! 	TerminateProcess (process_handle, 0);
      }
  }
  
  int
  __gnat_expect_fork (void)
  {
    return 0;
--- 76,111 ----
  #include <process.h>
  
  void
! __gnat_kill (int pid, int sig, int close)
  {
    if (sig == 9)
      {
!       if ((HANDLE)pid != NULL)
! 	{
! 	  TerminateProcess ((HANDLE)pid, 0);
! 	  if (close)
! 	    CloseHandle ((HANDLE)pid);
! 	}
      }
  }
  
  int
+ __gnat_waitpid (int pid)
+ {
+   DWORD exitcode = 1;
+   DWORD res;
+ 
+   if ((HANDLE)pid != NULL)
+     {
+       res = WaitForSingleObject ((HANDLE)pid, INFINITE);
+       GetExitCodeProcess ((HANDLE)pid, &exitcode);
+       CloseHandle ((HANDLE)pid);
+     }
+ 
+   return (int) exitcode;
+ }
+ 
+ int
  __gnat_expect_fork (void)
  {
    return 0;
*************** __gnat_expect_poll (int *fd, int num_fd,
*** 152,161 ****
  #include <unixio.h>
  #include <stdlib.h>
  #include <string.h>
! #include <descrip.h>
  #include <stdio.h>
! #include <stsdef.h>
! #include <iodef.h>
  
  int
  __gnat_pipe (int *fd)
--- 181,201 ----
  #include <unixio.h>
  #include <stdlib.h>
  #include <string.h>
! #include <vms/descrip.h>
  #include <stdio.h>
! #include <vms/stsdef.h>
! #include <vms/iodef.h>
! 
! int
! __gnat_waitpid (int pid)
! {
!   int status = 0;
! 
!   waitpid (pid, &status, 0);
!   status = WEXITSTATUS (status);
! 
!   return status;
! }
  
  int
  __gnat_pipe (int *fd)
*************** typedef long fd_mask;
*** 292,303 ****
  #endif /* !NO_FD_SET */
  
  void
! __gnat_kill (int pid, int sig)
  {
    kill (pid, sig);
  }
  
  int
  __gnat_pipe (int *fd)
  {
    return pipe (fd);
--- 332,354 ----
  #endif /* !NO_FD_SET */
  
  void
! __gnat_kill (int pid, int sig, int close)
  {
    kill (pid, sig);
  }
  
  int
+ __gnat_waitpid (int pid)
+ {
+   int status = 0;
+ 
+   waitpid (pid, &status, 0);
+   status = WEXITSTATUS (status);
+ 
+   return status;
+ }
+ 
+ int
  __gnat_pipe (int *fd)
  {
    return pipe (fd);
*************** __gnat_expect_poll (int *fd, int num_fd,
*** 400,407 ****
  #else
  
  void
! __gnat_kill (int pid, int sig)
  {
  }
  
  int
--- 451,464 ----
  #else
  
  void
! __gnat_kill (int pid, int sig, int close)
! {
! }
! 
! int
! __gnat_waitpid (int pid, int sig)
  {
+   return 0;
  }
  
  int
diff -Nrcpad gcc-4.0.2/gcc/ada/fe.h gcc-4.1.0/gcc/ada/fe.h
*** gcc-4.0.2/gcc/ada/fe.h	Mon Mar 15 14:50:56 2004
--- gcc-4.1.0/gcc/ada/fe.h	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
   *                                                                          *
   *                              C Header File                               *
   *                                                                          *
!  *          Copyright (C) 1992-2004 Free Software Foundation, Inc.          *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
--- 6,12 ----
   *                                                                          *
   *                              C Header File                               *
   *                                                                          *
!  *          Copyright (C) 1992-2005, Free Software Foundation, Inc.         *
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
*************** extern Boolean In_Same_Source_Unit      
*** 150,162 ****
  
  /* opt: */
  
! #define Global_Discard_Names   opt__global_discard_names
! #define Exception_Mechanism    opt__exception_mechanism
! #define Back_Annotate_Rep_Info opt__back_annotate_rep_info
  
! typedef enum {Setjmp_Longjmp, Front_End_ZCX, GCC_ZCX} Exception_Mechanism_Type;
  
  extern Boolean Global_Discard_Names;
  extern Exception_Mechanism_Type Exception_Mechanism;
  extern Boolean Back_Annotate_Rep_Info;
  
--- 150,164 ----
  
  /* opt: */
  
! #define Global_Discard_Names           opt__global_discard_names
! #define Exception_Locations_Suppressed opt__exception_locations_suppressed
! #define Exception_Mechanism            opt__exception_mechanism
! #define Back_Annotate_Rep_Info         opt__back_annotate_rep_info
  
! typedef enum {Setjmp_Longjmp, Back_End_Exceptions} Exception_Mechanism_Type;
  
  extern Boolean Global_Discard_Names;
+ extern Boolean Exception_Locations_Suppressed;
  extern Exception_Mechanism_Type Exception_Mechanism;
  extern Boolean Back_Annotate_Rep_Info;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/final.c gcc-4.1.0/gcc/ada/final.c
*** gcc-4.0.2/gcc/ada/final.c	Fri Oct 31 01:08:42 2003
--- gcc-4.1.0/gcc/ada/final.c	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, *
!  * MA 02111-1307, USA.                                                      *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
--- 16,23 ----
   * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *
   * for  more details.  You should have  received  a copy of the GNU General *
   * Public License  distributed with GNAT;  see file COPYING.  If not, write *
!  * to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, *
!  * Boston, MA 02110-1301, USA.                                              *
   *                                                                          *
   * As a  special  exception,  if you  link  this file  with other  files to *
   * produce an executable,  this file does not by itself cause the resulting *
diff -Nrcpad gcc-4.0.2/gcc/ada/fmap.adb gcc-4.1.0/gcc/ada/fmap.adb
*** gcc-4.0.2/gcc/ada/fmap.adb	Mon Dec  1 13:29:27 2003
--- gcc-4.1.0/gcc/ada/fmap.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2001-2003, Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2001-2005, Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package body Fmap is
*** 62,68 ****
       Table_Initial        => 1_000,
       Table_Increment      => 1_000,
       Table_Name           => "Fmap.File_Mapping");
!    --  Mapping table to map unit names to file names.
  
     package Path_Mapping is new Table.Table (
       Table_Component_Type => Mapping,
--- 62,68 ----
       Table_Initial        => 1_000,
       Table_Increment      => 1_000,
       Table_Name           => "Fmap.File_Mapping");
!    --  Mapping table to map unit names to file names
  
     package Path_Mapping is new Table.Table (
       Table_Component_Type => Mapping,
*************** package body Fmap is
*** 297,303 ****
                 return;
              end if;
  
- 
              Name_Len := Last - First + 1;
              Name_Buffer (1 .. Name_Len) := SP (First .. Last);
              Uname := Find_Name;
--- 297,302 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/fmap.ads gcc-4.1.0/gcc/ada/fmap.ads
*** gcc-4.0.2/gcc/ada/fmap.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/fmap.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/fname-sf.adb gcc-4.1.0/gcc/ada/fname-sf.adb
*** gcc-4.0.2/gcc/ada/fname-sf.adb	Mon Mar 29 12:03:09 2004
--- gcc-4.1.0/gcc/ada/fname-sf.adb	Mon Sep  5 07:50:46 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Fname.UF; use Fname.UF;
*** 30,36 ****
  with SFN_Scan; use SFN_Scan;
  with Namet;    use Namet;
  with Osint;    use Osint;
- with Types;    use Types;
  
  with Unchecked_Conversion;
  
--- 30,35 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/fname-sf.ads gcc-4.1.0/gcc/ada/fname-sf.ads
*** gcc-4.0.2/gcc/ada/fname-sf.ads	Thu Apr 24 17:54:01 2003
--- gcc-4.1.0/gcc/ada/fname-sf.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/fname-uf.adb gcc-4.1.0/gcc/ada/fname-uf.adb
*** gcc-4.0.2/gcc/ada/fname-uf.adb	Mon Mar 29 12:03:09 2004
--- gcc-4.1.0/gcc/ada/fname-uf.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/fname-uf.ads gcc-4.1.0/gcc/ada/fname-uf.ads
*** gcc-4.0.2/gcc/ada/fname-uf.ads	Mon Mar 29 12:03:09 2004
--- gcc-4.1.0/gcc/ada/fname-uf.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/fname.adb gcc-4.1.0/gcc/ada/fname.adb
*** gcc-4.0.2/gcc/ada/fname.adb	Fri Jun 25 16:39:27 2004
--- gcc-4.1.0/gcc/ada/fname.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/fname.ads gcc-4.1.0/gcc/ada/fname.ads
*** gcc-4.0.2/gcc/ada/fname.ads	Mon Mar 29 12:03:09 2004
--- gcc-4.1.0/gcc/ada/fname.ads	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/freeze.adb gcc-4.1.0/gcc/ada/freeze.adb
*** gcc-4.0.2/gcc/ada/freeze.adb	Thu Mar 17 19:53:06 2005
--- gcc-4.1.0/gcc/ada/freeze.adb	Tue Nov 15 13:58:51 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Einfo;    use Einfo;
*** 30,36 ****
  with Elists;   use Elists;
  with Errout;   use Errout;
  with Exp_Ch7;  use Exp_Ch7;
- with Exp_Ch11; use Exp_Ch11;
  with Exp_Pakd; use Exp_Pakd;
  with Exp_Util; use Exp_Util;
  with Exp_Tss;  use Exp_Tss;
--- 30,35 ----
*************** package body Freeze is
*** 78,84 ****
       (Decl  : Node_Id;
        New_S : Entity_Id;
        After : in out Node_Id);
!    --  Build body for a renaming declaration, insert in tree and analyze.
  
     procedure Check_Address_Clause (E : Entity_Id);
     --  Apply legality checks to address clauses for object declarations,
--- 77,83 ----
       (Decl  : Node_Id;
        New_S : Entity_Id;
        After : in out Node_Id);
!    --  Build body for a renaming declaration, insert in tree and analyze
  
     procedure Check_Address_Clause (E : Entity_Id);
     --  Apply legality checks to address clauses for object declarations,
*************** package body Freeze is
*** 393,399 ****
               Parameter_Associations => Actuals);
        end if;
  
!       --  Create entities for subprogram body and formals.
  
        Set_Defining_Unit_Name (Spec,
          Make_Defining_Identifier (Loc, Chars => Chars (New_S)));
--- 392,398 ----
               Parameter_Associations => Actuals);
        end if;
  
!       --  Create entities for subprogram body and formals
  
        Set_Defining_Unit_Name (Spec,
          Make_Defining_Identifier (Loc, Chars => Chars (New_S)));
*************** package body Freeze is
*** 1380,1396 ****
        Atype  : Entity_Id;
  
        procedure Check_Current_Instance (Comp_Decl : Node_Id);
!       --  Check that an Access or Unchecked_Access attribute with
!       --  a prefix which is the current instance type can only be
!       --  applied when the type is limited.
  
        function After_Last_Declaration return Boolean;
        --  If Loc is a freeze_entity that appears after the last declaration
        --  in the scope, inhibit error messages on late completion.
  
        procedure Freeze_Record_Type (Rec : Entity_Id);
!       --  Freeze each component, handle some representation clauses, and
!       --  freeze primitive operations if this is a tagged type.
  
        ----------------------------
        -- After_Last_Declaration --
--- 1379,1395 ----
        Atype  : Entity_Id;
  
        procedure Check_Current_Instance (Comp_Decl : Node_Id);
!       --  Check that an Access or Unchecked_Access attribute with a prefix
!       --  which is the current instance type can only be applied when the type
!       --  is limited.
  
        function After_Last_Declaration return Boolean;
        --  If Loc is a freeze_entity that appears after the last declaration
        --  in the scope, inhibit error messages on late completion.
  
        procedure Freeze_Record_Type (Rec : Entity_Id);
!       --  Freeze each component, handle some representation clauses, and freeze
!       --  primitive operations if this is a tagged type.
  
        ----------------------------
        -- After_Last_Declaration --
*************** package body Freeze is
*** 1422,1428 ****
        procedure Check_Current_Instance (Comp_Decl : Node_Id) is
  
           function Process (N : Node_Id) return Traverse_Result;
!          --  Process routine to apply check to given node.
  
           -------------
           -- Process --
--- 1421,1427 ----
        procedure Check_Current_Instance (Comp_Decl : Node_Id) is
  
           function Process (N : Node_Id) return Traverse_Result;
!          --  Process routine to apply check to given node
  
           -------------
           -- Process --
*************** package body Freeze is
*** 1530,1558 ****
              then
                 Set_First_Entity (Rec, First_Entity (Base_Type (Rec)));
  
!             --  If this is an internal type without a declaration, as for a
              --  record component, the base type may not yet be frozen, and its
              --  controller has not been created. Add an explicit freeze node
!             --  for the itype, so it will be frozen after the base type.
  
              elsif Is_Itype (Rec)
                and then Has_Delayed_Freeze (Base_Type (Rec))
                and then
                  Nkind (Associated_Node_For_Itype (Rec)) =
!                   N_Component_Declaration
              then
                 Ensure_Freeze_Node (Rec);
              end if;
           end if;
  
!          --  Freeze components and embedded subtypes.
  
           Comp := First_Entity (Rec);
           Prev := Empty;
  
           while Present (Comp) loop
  
!             --  First handle the (real) component case.
  
              if Ekind (Comp) = E_Component
                or else Ekind (Comp) = E_Discriminant
--- 1529,1563 ----
              then
                 Set_First_Entity (Rec, First_Entity (Base_Type (Rec)));
  
!             --  If this is an internal type without a declaration, as for
              --  record component, the base type may not yet be frozen, and its
              --  controller has not been created. Add an explicit freeze node
!             --  for the itype, so it will be frozen after the base type. This
!             --  freeze node is used to communicate with the expander, in order
!             --  to create the controller for the enclosing record, and it is
!             --  deleted afterwards (see exp_ch3). It must not be created when
!             --  expansion is off, because it might appear in the wrong context
!             --  for the back end.
  
              elsif Is_Itype (Rec)
                and then Has_Delayed_Freeze (Base_Type (Rec))
                and then
                  Nkind (Associated_Node_For_Itype (Rec)) =
!                                                      N_Component_Declaration
!               and then Expander_Active
              then
                 Ensure_Freeze_Node (Rec);
              end if;
           end if;
  
!          --  Freeze components and embedded subtypes
  
           Comp := First_Entity (Rec);
           Prev := Empty;
  
           while Present (Comp) loop
  
!             --  First handle the (real) component case
  
              if Ekind (Comp) = E_Component
                or else Ekind (Comp) = E_Discriminant
*************** package body Freeze is
*** 1562,1573 ****
  
                 begin
                    --  Freezing a record type freezes the type of each of its
!                   --  components.  However, if the type of the component is
                    --  part of this record, we do not want or need a separate
!                   --  Freeze_Node.  Note that Is_Itype is wrong because that's
!                   --  also set in private type cases.  We also can't check
!                   --  for the Scope being exactly Rec because of private types
!                   --  and record extensions.
                    if Is_Itype (Etype (Comp))
                      and then Is_Record_Type (Underlying_Type
                                               (Scope (Etype (Comp))))
--- 1567,1579 ----
  
                 begin
                    --  Freezing a record type freezes the type of each of its
!                   --  components. However, if the type of the component is
                    --  part of this record, we do not want or need a separate
!                   --  Freeze_Node. Note that Is_Itype is wrong because that's
!                   --  also set in private type cases. We also can't check for
!                   --  the Scope being exactly Rec because of private types and
!                   --  record extensions.
! 
                    if Is_Itype (Etype (Comp))
                      and then Is_Record_Type (Underlying_Type
                                               (Scope (Etype (Comp))))
*************** package body Freeze is
*** 1737,1750 ****
                 end;
              end if;
  
!             --  If the component is an Itype with Delayed_Freeze and is
!             --  either a record or array subtype and its base type has not
!             --  yet been frozen, we must remove this from the entity list
!             --  of this record and put it on the entity list of the scope of
!             --  its base type.  Note that we know that this is not the type
!             --  of a component since we cleared Has_Delayed_Freeze for it
!             --  in the previous loop.  Thus this must be the Designated_Type
!             --  of an access type, which is the type of a component.
              if Is_Itype (Comp)
                and then Is_Type (Scope (Comp))
                and then Is_Composite_Type (Comp)
--- 1743,1757 ----
                 end;
              end if;
  
!             --  If the component is an Itype with Delayed_Freeze and is either
!             --  a record or array subtype and its base type has not yet been
!             --  frozen, we must remove this from the entity list of this
!             --  record and put it on the entity list of the scope of its base
!             --  type. Note that we know that this is not the type of a
!             --  component since we cleared Has_Delayed_Freeze for it in the
!             --  previous loop. Thus this must be the Designated_Type of an
!             --  access type, which is the type of a component.
! 
              if Is_Itype (Comp)
                and then Is_Type (Scope (Comp))
                and then Is_Composite_Type (Comp)
*************** package body Freeze is
*** 1757,1776 ****
                    S : Entity_Id := Scope (Rec);
  
                 begin
!                   --  We have a pretty bad kludge here.  Suppose Rec is a
                    --  subtype being defined in a subprogram that's created
!                   --  as part of the freezing of Rec'Base.  In that case,
                    --  we know that Comp'Base must have already been frozen by
                    --  the time we get to elaborate this because Gigi doesn't
                    --  elaborate any bodies until it has elaborated all of the
!                   --  declarative part.  But Is_Frozen will not be  set at this
                    --  point because we are processing code in lexical order.
  
                    --  We detect this case by going up the Scope chain of
                    --  Rec and seeing if we have a subprogram scope before
                    --  reaching the top of the scope chain or that of Comp'Base.
                    --  If we do, then mark that Comp'Base will actually be
!                   --  frozen.  If so, we merely undelay it.
                    while Present (S) loop
                       if Is_Subprogram (S) then
                          Will_Be_Frozen := True;
--- 1764,1784 ----
                    S : Entity_Id := Scope (Rec);
  
                 begin
!                   --  We have a pretty bad kludge here. Suppose Rec is a
                    --  subtype being defined in a subprogram that's created
!                   --  as part of the freezing of Rec'Base. In that case,
                    --  we know that Comp'Base must have already been frozen by
                    --  the time we get to elaborate this because Gigi doesn't
                    --  elaborate any bodies until it has elaborated all of the
!                   --  declarative part. But Is_Frozen will not be  set at this
                    --  point because we are processing code in lexical order.
  
                    --  We detect this case by going up the Scope chain of
                    --  Rec and seeing if we have a subprogram scope before
                    --  reaching the top of the scope chain or that of Comp'Base.
                    --  If we do, then mark that Comp'Base will actually be
!                   --  frozen. If so, we merely undelay it.
! 
                    while Present (S) loop
                       if Is_Subprogram (S) then
                          Will_Be_Frozen := True;
*************** package body Freeze is
*** 1798,1813 ****
                    end if;
                 end;
  
!             --  If the component is an access type with an allocator
!             --  as default value, the designated type will be frozen
!             --  by the corresponding expression in init_proc. In  order
!             --  to place the freeze node for the designated type before
!             --  that for the current record type, freeze it now.
  
              --  Same process if the component is an array of access types,
              --  initialized with an aggregate. If the designated type is
!             --  private, it cannot contain allocators, and it is premature
!             --  to freeze the type, so we check for this as well.
  
              elsif Is_Access_Type (Etype (Comp))
                and then Present (Parent (Comp))
--- 1806,1821 ----
                    end if;
                 end;
  
!             --  If the component is an access type with an allocator as
!             --  default value, the designated type will be frozen by the
!             --  corresponding expression in init_proc. In order to place the
!             --  freeze node for the designated type before that for the
!             --  current record type, freeze it now.
  
              --  Same process if the component is an array of access types,
              --  initialized with an aggregate. If the designated type is
!             --  private, it cannot contain allocators, and it is premature to
!             --  freeze the type, so we check for this as well.
  
              elsif Is_Access_Type (Etype (Comp))
                and then Present (Parent (Comp))
*************** package body Freeze is
*** 1967,1975 ****
     --  Start of processing for Freeze_Entity
  
     begin
!       --  We are going to test for various reasons why this entity need
!       --  not be frozen here, but in the case of an Itype that's defined
!       --  within a record, that test actually applies to the record.
        if Is_Itype (E) and then Is_Record_Type (Scope (E)) then
           Test_E := Scope (E);
        elsif Is_Itype (E) and then Present (Underlying_Type (Scope (E)))
--- 1975,1984 ----
     --  Start of processing for Freeze_Entity
  
     begin
!       --  We are going to test for various reasons why this entity need not be
!       --  frozen here, but in the case of an Itype that's defined within a
!       --  record, that test actually applies to the record.
! 
        if Is_Itype (E) and then Is_Record_Type (Scope (E)) then
           Test_E := Scope (E);
        elsif Is_Itype (E) and then Present (Underlying_Type (Scope (E)))
*************** package body Freeze is
*** 1983,1992 ****
        if Is_Frozen (E) then
           return No_List;
  
!       --  It is improper to freeze an external entity within a generic
!       --  because its freeze node will appear in a non-valid context.
!       --  The entity will be frozen in the proper scope after the current
!       --  generic is analyzed.
  
        elsif Inside_A_Generic and then External_Ref_In_Generic (Test_E) then
           return No_List;
--- 1992,2000 ----
        if Is_Frozen (E) then
           return No_List;
  
!       --  It is improper to freeze an external entity within a generic because
!       --  its freeze node will appear in a non-valid context. The entity will
!       --  be frozen in the proper scope after the current generic is analyzed.
  
        elsif Inside_A_Generic and then External_Ref_In_Generic (Test_E) then
           return No_List;
*************** package body Freeze is
*** 2040,2045 ****
--- 2048,2054 ----
        then
           declare
              S : Entity_Id := Scope (Test_E);
+ 
           begin
              while Present (S) loop
                 if Is_Generic_Instance (S) then
*************** package body Freeze is
*** 2225,2230 ****
--- 2234,2268 ----
                          Error_Msg_Qual_Level := 0;
                       end if;
  
+                      --  Ada 2005 (AI-326): Check wrong use of tag incomplete
+                      --  types with unknown discriminants. For example:
+ 
+                      --    type T (<>) is tagged;
+                      --    procedure P (X : access T); -- ERROR
+                      --    procedure P (X : T);        -- ERROR
+ 
+                      if not From_With_Type (F_Type) then
+                         if Is_Access_Type (F_Type) then
+                            F_Type := Designated_Type (F_Type);
+                         end if;
+ 
+                         if Ekind (F_Type) = E_Incomplete_Type
+                           and then Is_Tagged_Type (F_Type)
+                           and then not Is_Class_Wide_Type (F_Type)
+                           and then No (Full_View (F_Type))
+                           and then Unknown_Discriminants_Present
+                                      (Parent (F_Type))
+                           and then No (Stored_Constraint (F_Type))
+                         then
+                            Error_Msg_N
+                              ("(Ada 2005): invalid use of unconstrained tagged"
+                               & " incomplete type", E);
+ 
+                         elsif Ekind (F_Type) = E_Subprogram_Type then
+                            Freeze_And_Append (F_Type, Loc, Result);
+                         end if;
+                      end if;
+ 
                       Next_Formal (Formal);
                    end loop;
  
*************** package body Freeze is
*** 2249,2254 ****
--- 2287,2306 ----
                          Error_Msg_N
                            ("?foreign convention function& should not " &
                             "return unconstrained array", E);
+ 
+                      --  Ada 2005 (AI-326): Check wrong use of tagged
+                      --  incomplete type
+                      --
+                      --    type T is tagged;
+                      --    function F (X : Boolean) return T; -- ERROR
+ 
+                      elsif Ekind (Etype (E)) = E_Incomplete_Type
+                        and then Is_Tagged_Type (Etype (E))
+                        and then No (Full_View (Etype (E)))
+                      then
+                         Error_Msg_N
+                           ("(Ada 2005): invalid use of tagged incomplete type",
+                            E);
                       end if;
                    end if;
                 end;
*************** package body Freeze is
*** 2938,2952 ****
  
              Freeze_Subprogram (E);
  
           --  For access to a protected subprogram, freeze the equivalent
!          --  type (however this is not set if we are not generating code)
           --  or if this is an anonymous type used just for resolution).
  
!          elsif Ekind (E) = E_Access_Protected_Subprogram_Type
!            and then Operating_Mode = Generate_Code
!            and then Present (Equivalent_Type (E))
!          then
!             Freeze_And_Append (Equivalent_Type (E), Loc, Result);
           end if;
  
           --  Generic types are never seen by the back-end, and are also not
--- 2990,3042 ----
  
              Freeze_Subprogram (E);
  
+             --  AI-326: Check wrong use of tag incomplete type
+             --
+             --    type T is tagged;
+             --    type Acc is access function (X : T) return T; -- ERROR
+ 
+             if Ekind (Etype (E)) = E_Incomplete_Type
+               and then Is_Tagged_Type (Etype (E))
+               and then No (Full_View (Etype (E)))
+             then
+                Error_Msg_N
+                  ("(Ada 2005): invalid use of tagged incomplete type", E);
+             end if;
+ 
           --  For access to a protected subprogram, freeze the equivalent
!          --  type (however this is not set if we are not generating code
           --  or if this is an anonymous type used just for resolution).
  
!          elsif Ekind (E) = E_Access_Protected_Subprogram_Type then
! 
!             --  AI-326: Check wrong use of tagged incomplete types
! 
!             --    type T is tagged;
!             --    type As3D is access protected
!             --      function (X : Float) return T; -- ERROR
! 
!             declare
!                Etyp : Entity_Id;
! 
!             begin
!                Etyp := Etype (Directly_Designated_Type (E));
! 
!                if Is_Class_Wide_Type (Etyp) then
!                   Etyp := Etype (Etyp);
!                end if;
! 
!                if Ekind (Etyp) = E_Incomplete_Type
!                  and then Is_Tagged_Type (Etyp)
!                  and then No (Full_View (Etyp))
!                then
!                   Error_Msg_N
!                     ("(Ada 2005): invalid use of tagged incomplete type", E);
!                end if;
!             end;
! 
!             if Present (Equivalent_Type (E)) then
!                Freeze_And_Append (Equivalent_Type (E), Loc, Result);
!             end if;
           end if;
  
           --  Generic types are never seen by the back-end, and are also not
*************** package body Freeze is
*** 3000,3025 ****
           elsif Is_Integer_Type (E) then
              Adjust_Esize_For_Alignment (E);
  
!          elsif Is_Access_Type (E)
!            and then No (Associated_Storage_Pool (E))
!          then
!             Check_Restriction (No_Standard_Storage_Pools, E);
           end if;
  
           if Is_Composite_Type (E) then
  
!             --  AI-117 requires that all new primitives of a tagged type
!             --  must inherit the convention of the full view of the type.
!             --  Inherited and overriding operations are defined to inherit
!             --  the convention of their parent or overridden subprogram
!             --  (also specified in AI-117), and that will have occurred
!             --  earlier (in Derive_Subprogram and New_Overloaded_Entity).
!             --  Here we set the convention of primitives that are still
!             --  convention Ada, which will ensure that any new primitives
!             --  inherit the type's convention. Class-wide types can have
!             --  a foreign convention inherited from their specific type,
!             --  but are excluded from this since they don't have any
!             --  associated primitives.
  
              if Is_Tagged_Type (E)
                and then not Is_Class_Wide_Type (E)
--- 3090,3129 ----
           elsif Is_Integer_Type (E) then
              Adjust_Esize_For_Alignment (E);
  
!          elsif Is_Access_Type (E) then
! 
!             --  Check restriction for standard storage pool
! 
!             if No (Associated_Storage_Pool (E)) then
!                Check_Restriction (No_Standard_Storage_Pools, E);
!             end if;
! 
!             --  Deal with error message for pure access type. This is not an
!             --  error in Ada 2005 if there is no pool (see AI-366).
! 
!             if Is_Pure_Unit_Access_Type (E)
!               and then (Ada_Version < Ada_05
!                         or else not No_Pool_Assigned (E))
!             then
!                Error_Msg_N ("named access type not allowed in pure unit", E);
!             end if;
           end if;
  
+          --  Case of composite types
+ 
           if Is_Composite_Type (E) then
  
!             --  AI-117 requires that all new primitives of a tagged type must
!             --  inherit the convention of the full view of the type. Inherited
!             --  and overriding operations are defined to inherit the convention
!             --  of their parent or overridden subprogram (also specified in
!             --  AI-117), and that will have occurred earlier (in
!             --  Derive_Subprogram and New_Overloaded_Entity). Here we set the
!             --  convention of primitives that are still convention Ada, which
!             --  will ensure that any new primitives inherit the type's
!             --  convention. Class-wide types can have a foreign convention
!             --  inherited from their specific type, but are excluded from this
!             --  since they don't have any associated primitives.
  
              if Is_Tagged_Type (E)
                and then not Is_Class_Wide_Type (E)
*************** package body Freeze is
*** 3047,3065 ****
             and then not Is_Class_Wide_Type (E)
           then
              declare
!                Prim_List : constant Elist_Id := Primitive_Operations (E);
                 Prim      : Elmt_Id;
                 Ent       : Entity_Id;
  
              begin
                 Prim := First_Elmt (Prim_List);
                 while Present (Prim) loop
                    Ent := Node (Prim);
  
!                   --  If the operation is derived, get the original for
!                   --  cross-reference purposes (it is the original for
!                   --  which we want the xref, and for which the comes
!                   --  from source test needs to be performed).
  
                    while Present (Alias (Ent)) loop
                       Ent := Alias (Ent);
--- 3151,3191 ----
             and then not Is_Class_Wide_Type (E)
           then
              declare
!                Prim_List : Elist_Id;
                 Prim      : Elmt_Id;
                 Ent       : Entity_Id;
  
              begin
+                --  Ada 2005 (AI-345): In case of concurrent type generate
+                --  reference to the wrapper that allow us to dispatch calls
+                --  through their implemented abstract interface types.
+ 
+                --  The check for Present here is to protect against previously
+                --  reported critical errors.
+ 
+                if Is_Concurrent_Type (E)
+                  and then Present (Corresponding_Record_Type (E))
+                then
+                   pragma Assert (not Is_Empty_Elmt_List
+                                        (Abstract_Interfaces
+                                         (Corresponding_Record_Type (E))));
+ 
+                   Prim_List := Primitive_Operations
+                                 (Corresponding_Record_Type (E));
+                else
+                   Prim_List := Primitive_Operations (E);
+                end if;
+ 
+                --  Loop to generate references for primitive operations
+ 
                 Prim := First_Elmt (Prim_List);
                 while Present (Prim) loop
                    Ent := Node (Prim);
  
!                   --  If the operation is derived, get the original for cross-
!                   --  reference purposes (it is the original for which we want
!                   --  the xref, and for which the comes from source test needs
!                   --  to be performed).
  
                    while Present (Alias (Ent)) loop
                       Ent := Alias (Ent);
*************** package body Freeze is
*** 3239,3247 ****
              if Result = No_List then
                 Result := Empty_List;
              end if;
- 
-             Generate_Subprogram_Descriptor_For_Imported_Subprogram
-               (E, Result);
           end if;
        end if;
  
--- 3365,3370 ----
*************** package body Freeze is
*** 3286,3292 ****
  
        function In_Exp_Body (N : Node_Id) return Boolean;
        --  Given an N_Handled_Sequence_Of_Statements node N, determines whether
!       --  it is the handled statement sequence of an expander generated
        --  subprogram (init proc, or stream subprogram). If so, it returns
        --  True, otherwise False.
  
--- 3409,3415 ----
  
        function In_Exp_Body (N : Node_Id) return Boolean;
        --  Given an N_Handled_Sequence_Of_Statements node N, determines whether
!       --  it is the handled statement sequence of an expander-generated
        --  subprogram (init proc, or stream subprogram). If so, it returns
        --  True, otherwise False.
  
*************** package body Freeze is
*** 3327,3336 ****
     --  Start of processing for Freeze_Expression
  
     begin
!       --  Immediate return if freezing is inhibited. This flag is set by
!       --  the analyzer to stop freezing on generated expressions that would
!       --  cause freezing if they were in the source program, but which are
!       --  not supposed to freeze, since they are created.
  
        if Must_Not_Freeze (N) then
           return;
--- 3450,3459 ----
     --  Start of processing for Freeze_Expression
  
     begin
!       --  Immediate return if freezing is inhibited. This flag is set by the
!       --  analyzer to stop freezing on generated expressions that would cause
!       --  freezing if they were in the source program, but which are not
!       --  supposed to freeze, since they are created.
  
        if Must_Not_Freeze (N) then
           return;
*************** package body Freeze is
*** 3384,3390 ****
           Nam := Empty;
        end if;
  
!       --  For an allocator freeze designated type if not frozen already.
  
        --  For an aggregate whose component type is an access type, freeze
        --  the designated type now, so that its freeze  does not appear within
--- 3507,3513 ----
           Nam := Empty;
        end if;
  
!       --  For an allocator freeze designated type if not frozen already
  
        --  For an aggregate whose component type is an access type, freeze
        --  the designated type now, so that its freeze  does not appear within
*************** package body Freeze is
*** 3458,3469 ****
  
           case Nkind (Parent_P) is
  
!             --  A special test for the exception of (RM 13.14(8)) for the
!             --  case of per-object expressions (RM 3.8(18)) occurring in a
!             --  component definition or a discrete subtype definition. Note
!             --  that we test for a component declaration which includes both
!             --  cases we are interested in, and furthermore the tree does not
!             --  have explicit nodes for either of these two constructs.
  
              when N_Component_Declaration =>
  
--- 3581,3592 ----
  
           case Nkind (Parent_P) is
  
!             --  A special test for the exception of (RM 13.14(8)) for the case
!             --  of per-object expressions (RM 3.8(18)) occurring in component
!             --  definition or a discrete subtype definition. Note that we test
!             --  for a component declaration which includes both cases we are
!             --  interested in, and furthermore the tree does not have explicit
!             --  nodes for either of these two constructs.
  
              when N_Component_Declaration =>
  
*************** package body Freeze is
*** 3494,3502 ****
                    end if;
                 end if;
  
!             --  If we have an enumeration literal that appears as the
!             --  choice in the aggregate of an enumeration representation
!             --  clause, then freezing does not occur (RM 13.14(10)).
  
              when N_Enumeration_Representation_Clause =>
  
--- 3617,3625 ----
                    end if;
                 end if;
  
!             --  If we have an enumeration literal that appears as the choice in
!             --  the aggregate of an enumeration representation clause, then
!             --  freezing does not occur (RM 13.14(10)).
  
              when N_Enumeration_Representation_Clause =>
  
*************** package body Freeze is
*** 3535,3545 ****
  
              when N_Handled_Sequence_Of_Statements =>
  
!                --  An exception occurs when the sequence of statements is
!                --  for an expander generated body that did not do the usual
!                --  freeze all operation. In this case we usually want to
!                --  freeze outside this body, not inside it, and we skip
!                --  past the subprogram body that we are inside.
  
                 if In_Exp_Body (Parent_P) then
  
--- 3658,3668 ----
  
              when N_Handled_Sequence_Of_Statements =>
  
!                --  An exception occurs when the sequence of statements is for
!                --  an expander generated body that did not do the usual freeze
!                --  all operation. In this case we usually want to freeze
!                --  outside this body, not inside it, and we skip past the
!                --  subprogram body that we are inside.
  
                 if In_Exp_Body (Parent_P) then
  
*************** package body Freeze is
*** 3621,3631 ****
  
              --  Note: The N_Loop_Statement is a special case. A type that
              --  appears in the source can never be frozen in a loop (this
!             --  occurs only because of a loop expanded by the expander),
!             --  so we keep on going. Otherwise we terminate the search.
!             --  Same is true of any entity which comes from source. (if they
!             --  have a predefined type, that type does not appear to come
!             --  from source, but the entity should not be frozen here).
  
              when N_Loop_Statement =>
                 exit when not Comes_From_Source (Etype (N))
--- 3744,3754 ----
  
              --  Note: The N_Loop_Statement is a special case. A type that
              --  appears in the source can never be frozen in a loop (this
!             --  occurs only because of a loop expanded by the expander), so we
!             --  keep on going. Otherwise we terminate the search. Same is true
!             --  of any entity which comes from source. (if they have a
!             --  predefined type, that type does not appear to come from source,
!             --  but the entity should not be frozen here).
  
              when N_Loop_Statement =>
                 exit when not Comes_From_Source (Etype (N))
*************** package body Freeze is
*** 3643,3655 ****
           P := Parent_P;
        end loop;
  
!       --  If the expression appears in a record or an initialization
!       --  procedure, the freeze nodes are collected and attached to
!       --  the current scope, to be inserted and analyzed on exit from
!       --  the scope, to insure that generated entities appear in the
!       --  correct scope. If the expression is a default for a discriminant
!       --  specification, the scope is still void. The expression can also
!       --  appear in the discriminant part of a private or concurrent type.
  
        --  The other case requiring this special handling is if we are in
        --  a default expression, since in that case we are about to freeze
--- 3766,3783 ----
           P := Parent_P;
        end loop;
  
!       --  If the expression appears in a record or an initialization procedure,
!       --  the freeze nodes are collected and attached to the current scope, to
!       --  be inserted and analyzed on exit from the scope, to insure that
!       --  generated entities appear in the correct scope. If the expression is
!       --  a default for a discriminant specification, the scope is still void.
!       --  The expression can also appear in the discriminant part of a private
!       --  or concurrent type.
! 
!       --  If the expression appears in a constrained subcomponent of an
!       --  enclosing record declaration, the freeze nodes must be attached to
!       --  the outer record type so they can eventually be placed in the
!       --  enclosing declaration list.
  
        --  The other case requiring this special handling is if we are in
        --  a default expression, since in that case we are about to freeze
*************** package body Freeze is
*** 3670,3675 ****
--- 3798,3804 ----
           declare
              Loc          : constant Source_Ptr := Sloc (Current_Scope);
              Freeze_Nodes : List_Id := No_List;
+             Pos          : Int := Scope_Stack.Last;
  
           begin
              if Present (Desig_Typ) then
*************** package body Freeze is
*** 3684,3699 ****
                 Freeze_And_Append (Nam, Loc, Freeze_Nodes);
              end if;
  
              if Is_Non_Empty_List (Freeze_Nodes) then
!                if No (Scope_Stack.Table
!                  (Scope_Stack.Last).Pending_Freeze_Actions)
!                then
!                   Scope_Stack.Table
!                     (Scope_Stack.Last).Pending_Freeze_Actions :=
                        Freeze_Nodes;
                 else
                    Append_List (Freeze_Nodes, Scope_Stack.Table
!                                    (Scope_Stack.Last).Pending_Freeze_Actions);
                 end if;
              end if;
           end;
--- 3813,3833 ----
                 Freeze_And_Append (Nam, Loc, Freeze_Nodes);
              end if;
  
+             --  The current scope may be that of a constrained component of
+             --  an enclosing record declaration, which is above the current
+             --  scope in the scope stack.
+ 
+             if Is_Record_Type (Scope (Current_Scope)) then
+                Pos := Pos - 1;
+             end if;
+ 
              if Is_Non_Empty_List (Freeze_Nodes) then
!                if No (Scope_Stack.Table (Pos).Pending_Freeze_Actions) then
!                   Scope_Stack.Table (Pos).Pending_Freeze_Actions :=
                        Freeze_Nodes;
                 else
                    Append_List (Freeze_Nodes, Scope_Stack.Table
!                                    (Pos).Pending_Freeze_Actions);
                 end if;
              end if;
           end;
*************** package body Freeze is
*** 3739,3753 ****
     -- Freeze_Fixed_Point_Type --
     -----------------------------
  
!    --  Certain fixed-point types and subtypes, including implicit base
!    --  types and declared first subtypes, have not yet set up a range.
!    --  This is because the range cannot be set until the Small and Size
!    --  values are known, and these are not known till the type is frozen.
  
!    --  To signal this case, Scalar_Range contains an unanalyzed syntactic
!    --  range whose bounds are unanalyzed real literals. This routine will
!    --  recognize this case, and transform this range node into a properly
!    --  typed range with properly analyzed and resolved values.
  
     procedure Freeze_Fixed_Point_Type (Typ : Entity_Id) is
        Rng   : constant Node_Id    := Scalar_Range (Typ);
--- 3873,3887 ----
     -- Freeze_Fixed_Point_Type --
     -----------------------------
  
!    --  Certain fixed-point types and subtypes, including implicit base types
!    --  and declared first subtypes, have not yet set up a range. This is
!    --  because the range cannot be set until the Small and Size values are
!    --  known, and these are not known till the type is frozen.
  
!    --  To signal this case, Scalar_Range contains an unanalyzed syntactic range
!    --  whose bounds are unanalyzed real literals. This routine will recognize
!    --  this case, and transform this range node into a properly typed range
!    --  with properly analyzed and resolved values.
  
     procedure Freeze_Fixed_Point_Type (Typ : Entity_Id) is
        Rng   : constant Node_Id    := Scalar_Range (Typ);
*************** package body Freeze is
*** 3871,3880 ****
              end if;
  
              --  Compute the fudged bounds. If the number is a model number,
!             --  then we do nothing to include it, but we are allowed to
!             --  backoff to the next adjacent model number when we exclude
!             --  it. If it is not a model number then we straddle the two
!             --  values with the model numbers on either side.
  
              Model_Num := UR_Trunc (Loval / Small) * Small;
  
--- 4005,4014 ----
              end if;
  
              --  Compute the fudged bounds. If the number is a model number,
!             --  then we do nothing to include it, but we are allowed to backoff
!             --  to the next adjacent model number when we exclude it. If it is
!             --  not a model number then we straddle the two values with the
!             --  model numbers on either side.
  
              Model_Num := UR_Trunc (Loval / Small) * Small;
  
*************** package body Freeze is
*** 4007,4034 ****
                    Actual_Hi   := Hival_Incl_EP;
                 end if;
  
!                --  One pathological case: normally we never fudge a low
!                --  bound down, since it would seem to increase the size
!                --  (if it has any effect), but for ranges containing a
!                --  single value, or no values, the high bound can be
!                --  small too large. Consider:
  
                 --    type t is delta 2.0**(-14)
                 --      range 131072.0 .. 0;
  
!                --  That lower bound is *just* outside the range of 32
!                --  bits, and does need fudging down in this case. Note
!                --  that the bounds will always have crossed here, since
!                --  the high bound will be fudged down if necessary, as
!                --  in the case of:
  
                 --    type t is delta 2.0**(-14)
                 --      range 131072.0 .. 131072.0;
  
!                --  So we can detect the situation by looking for crossed
!                --  bounds, and if the bounds are crossed, and the low
!                --  bound is greater than zero, we will always back it
!                --  off by small, since this is completely harmless.
  
                 if Actual_Lo > Actual_Hi then
                    if UR_Is_Positive (Actual_Lo) then
--- 4141,4166 ----
                    Actual_Hi   := Hival_Incl_EP;
                 end if;
  
!                --  One pathological case: normally we never fudge a low bound
!                --  down, since it would seem to increase the size (if it has
!                --  any effect), but for ranges containing single value, or no
!                --  values, the high bound can be small too large. Consider:
  
                 --    type t is delta 2.0**(-14)
                 --      range 131072.0 .. 0;
  
!                --  That lower bound is *just* outside the range of 32 bits, and
!                --  does need fudging down in this case. Note that the bounds
!                --  will always have crossed here, since the high bound will be
!                --  fudged down if necessary, as in the case of:
  
                 --    type t is delta 2.0**(-14)
                 --      range 131072.0 .. 131072.0;
  
!                --  So we detect the situation by looking for crossed bounds,
!                --  and if the bounds are crossed, and the low bound is greater
!                --  than zero, we will always back it off by small, since this
!                --  is completely harmless.
  
                 if Actual_Lo > Actual_Hi then
                    if UR_Is_Positive (Actual_Lo) then
*************** package body Freeze is
*** 4098,4106 ****
           Adjust_Esize_For_Alignment (Typ);
        end if;
  
!       --  If we have a base type, then expand the bounds so that they
!       --  extend to the full width of the allocated size in bits, to
!       --  avoid junk range checks on intermediate computations.
  
        if Base_Type (Typ) = Typ then
           Set_Realval (Lo, -(Small * (Uint_2 ** (Actual_Size - 1))));
--- 4230,4238 ----
           Adjust_Esize_For_Alignment (Typ);
        end if;
  
!       --  If we have a base type, then expand the bounds so that they extend to
!       --  the full width of the allocated size in bits, to avoid junk range
!       --  checks on intermediate computations.
  
        if Base_Type (Typ) = Typ then
           Set_Realval (Lo, -(Small * (Uint_2 ** (Actual_Size - 1))));
*************** package body Freeze is
*** 4114,4122 ****
        Set_Analyzed (Lo, False);
        Analyze (Lo);
  
!       --  Resolve with universal fixed if the base type, and the base
!       --  type if it is a subtype. Note we can't resolve the base type
!       --  with itself, that would be a reference before definition.
  
        if Typ = Btyp then
           Resolve (Lo, Universal_Fixed);
--- 4246,4254 ----
        Set_Analyzed (Lo, False);
        Analyze (Lo);
  
!       --  Resolve with universal fixed if the base type, and the base type if
!       --  it is a subtype. Note we can't resolve the base type with itself,
!       --  that would be a reference before definition.
  
        if Typ = Btyp then
           Resolve (Lo, Universal_Fixed);
*************** package body Freeze is
*** 4339,4348 ****
     begin
        Ensure_Type_Is_SA (Etype (E));
  
!       --  Reset True_Constant flag, since something strange is going on
!       --  with the scoping here, and our simple value tracing may not
!       --  be sufficient for this indication to be reliable. We kill the
!       --  Constant_Value indication for the same reason.
  
        Set_Is_True_Constant (E, False);
        Set_Current_Value    (E, Empty);
--- 4471,4480 ----
     begin
        Ensure_Type_Is_SA (Etype (E));
  
!       --  Reset True_Constant flag, since something strange is going on with
!       --  the scoping here, and our simple value tracing may not be sufficient
!       --  for this indication to be reliable. We kill the Constant_Value
!       --  indication for the same reason.
  
        Set_Is_True_Constant (E, False);
        Set_Current_Value    (E, Empty);
*************** package body Freeze is
*** 4390,4398 ****
        --  Reset the Pure indication on an imported subprogram unless an
        --  explicit Pure_Function pragma was present. We do this because
        --  otherwise it is an insidious error to call a non-pure function
!       --  from a pure unit and have calls mysteriously optimized away.
!       --  What happens here is that the Import can bypass the normal
!       --  check to ensure that pure units call only pure subprograms.
  
        if Is_Imported (E)
          and then Is_Pure (E)
--- 4522,4530 ----
        --  Reset the Pure indication on an imported subprogram unless an
        --  explicit Pure_Function pragma was present. We do this because
        --  otherwise it is an insidious error to call a non-pure function
!       --  from pure unit and have calls mysteriously optimized away. What
!       --  happens here is that the Import can bypass the normal check to
!       --  ensure that pure units call only pure subprograms.
  
        if Is_Imported (E)
          and then Is_Pure (E)
*************** package body Freeze is
*** 4443,4450 ****
                 null;
  
              --  If the return type is generic, we have emitted a warning
!             --  earlier on, and there is nothing else to check here.
!             --  Specific instantiations may lead to erroneous behavior.
  
              elsif Is_Generic_Type (Etype (E)) then
                 null;
--- 4575,4582 ----
                 null;
  
              --  If the return type is generic, we have emitted a warning
!             --  earlier on, and there is nothing else to check here. Specific
!             --  instantiations may lead to erroneous behavior.
  
              elsif Is_Generic_Type (Etype (E)) then
                 null;
*************** package body Freeze is
*** 4462,4469 ****
           end if;
  
           --  If any of the formals for an exported foreign convention
!          --  subprogram have defaults, then emit an appropriate warning
!          --  since this is odd (default cannot be used from non-Ada code)
  
           if Is_Exported (E) then
              F := First_Formal (E);
--- 4594,4601 ----
           end if;
  
           --  If any of the formals for an exported foreign convention
!          --  subprogram have defaults, then emit an appropriate warning since
!          --  this is odd (default cannot be used from non-Ada code)
  
           if Is_Exported (E) then
              F := First_Formal (E);
*************** package body Freeze is
*** 4499,4504 ****
--- 4631,4647 ----
              end loop;
           end if;
        end if;
+ 
+       --  Pragma Inline_Always is disallowed for dispatching subprograms
+       --  because the address of such subprograms is saved in the dispatch
+       --  table to support dispatching calls, and dispatching calls cannot
+       --  be inlined. This is consistent with the restriction against using
+       --  'Access or 'Address on an Inline_Always subprogram.
+ 
+       if Is_Dispatching_Operation (E) and then Is_Always_Inlined (E) then
+          Error_Msg_N
+            ("pragma Inline_Always not allowed for dispatching subprograms", E);
+       end if;
     end Freeze_Subprogram;
  
     ----------------------
*************** package body Freeze is
*** 4784,4796 ****
        --  Full_View or Corresponding_Record_Type to have one either.
  
        --  ??? Fundamentally, this whole handling is a kludge. What we really
!       --  want is to be sure that for an Itype that's part of record R and
!       --  is a subtype of type T, that it's frozen after the later of the
!       --  freeze points of R and T.  We have no way of doing that directly,
!       --  so what we do is force most such Itypes to be frozen as part of
!       --  freezing R via this procedure and only delay the ones that need
!       --  to be delayed (mostly the designated types of access types that are
!       --  defined as part of the record).
  
        if Is_Private_Type (T)
          and then Present (Full_View (T))
--- 4927,4939 ----
        --  Full_View or Corresponding_Record_Type to have one either.
  
        --  ??? Fundamentally, this whole handling is a kludge. What we really
!       --  want is to be sure that for an Itype that's part of record R and is
!       --  a subtype of type T, that it's frozen after the later of the freeze
!       --  points of R and T. We have no way of doing that directly, so what we
!       --  do is force most such Itypes to be frozen as part of freezing R via
!       --  this procedure and only delay the ones that need to be delayed
!       --  (mostly the designated types of access types that are defined as
!       --  part of the record).
  
        if Is_Private_Type (T)
          and then Present (Full_View (T))
*************** package body Freeze is
*** 4819,4825 ****
        Nam  : Entity_Id)
     is
        Ent : constant Entity_Id := Entity (Nam);
!       --  The object to which the address clause applies.
  
        Init : Node_Id;
        Old  : Entity_Id := Empty;
--- 4962,4968 ----
        Nam  : Entity_Id)
     is
        Ent : constant Entity_Id := Entity (Nam);
!       --  The object to which the address clause applies
  
        Init : Node_Id;
        Old  : Entity_Id := Empty;
*************** package body Freeze is
*** 4840,4848 ****
           return;
        end if;
  
!       --  We only give the warning for non-imported entities of a type
!       --  for which a non-null base init proc is defined (or for access
!       --  types which have implicit null initialization).
  
        if Present (Expr)
          and then (Has_Non_Null_Base_Init_Proc (Typ)
--- 4983,4991 ----
           return;
        end if;
  
!       --  We only give the warning for non-imported entities of a type for
!       --  which a non-null base init proc is defined (or for access types which
!       --  have implicit null initialization).
  
        if Present (Expr)
          and then (Has_Non_Null_Base_Init_Proc (Typ)
diff -Nrcpad gcc-4.0.2/gcc/ada/freeze.ads gcc-4.1.0/gcc/ada/freeze.ads
*** gcc-4.0.2/gcc/ada/freeze.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/freeze.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2003, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** package Freeze is
*** 199,205 ****
     --  frozen entities.
  
     procedure Freeze_Before (N : Node_Id; T : Entity_Id);
!    --  Freeze T then Insert the generated Freeze nodes before the node N.
  
     procedure Freeze_Expression (N : Node_Id);
     --  Freezes the required entities when the Expression N causes freezing.
--- 199,205 ----
     --  frozen entities.
  
     procedure Freeze_Before (N : Node_Id; T : Entity_Id);
!    --  Freeze T then Insert the generated Freeze nodes before the node N
  
     procedure Freeze_Expression (N : Node_Id);
     --  Freezes the required entities when the Expression N causes freezing.
diff -Nrcpad gcc-4.0.2/gcc/ada/frontend.adb gcc-4.1.0/gcc/ada/frontend.adb
*** gcc-4.0.2/gcc/ada/frontend.adb	Mon May 10 16:18:52 2004
--- gcc-4.1.0/gcc/ada/frontend.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
*************** with Checks;
*** 31,37 ****
  with CStand;
  with Debug;    use Debug;
  with Elists;
- with Exp_Ch11;
  with Exp_Dbug;
  with Fmap;
  with Fname.UF;
--- 31,36 ----
*************** begin
*** 80,86 ****
     Lib.Load.Initialize;
     Sem_Ch8.Initialize;
     Fname.UF.Initialize;
-    Exp_Ch11.Initialize;
     Checks.Initialize;
  
     --  Create package Standard
--- 79,84 ----
*************** begin
*** 329,339 ****
              end if;
  
              Check_Elab_Calls;
- 
-             --  Build unit exception table. We leave this up to the end to
-             --  make sure that all the necessary information is at hand.
- 
-             Exp_Ch11.Generate_Unit_Exception_Table;
           end if;
  
           --  List library units if requested
--- 327,332 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/frontend.ads gcc-4.1.0/gcc/ada/frontend.ads
*** gcc-4.0.2/gcc/ada/frontend.ads	Thu Apr 24 17:54:02 2003
--- gcc-4.1.0/gcc/ada/frontend.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --        Copyright (C) 1992,1993,1994 Free Software Foundation, Inc.       --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- GNAT was originally developed  by the GNAT team at  New York University. --
  -- Extensive contributions were provided by Ada Core Technologies Inc.      --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-arrspl.adb gcc-4.1.0/gcc/ada/g-arrspl.adb
*** gcc-4.0.2/gcc/ada/g-arrspl.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-arrspl.adb	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --                      G N A T . A R R A Y _ S P I T                       --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2002-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 2,12 ----
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --                     G N A T . A R R A Y _ S P L I T                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Array_Split is
*** 43,50 ****
  
     function Count
       (Source  : Element_Sequence;
!       Pattern : Element_Set)
!       return    Natural;
     --  Returns the number of occurences of Pattern elements in Source, 0 is
     --  returned if no occurence is found in Source.
  
--- 43,49 ----
  
     function Count
       (Source  : Element_Sequence;
!       Pattern : Element_Set) return Natural;
     --  Returns the number of occurences of Pattern elements in Source, 0 is
     --  returned if no occurence is found in Source.
  
*************** package body GNAT.Array_Split is
*** 92,99 ****
  
     function Count
       (Source  : Element_Sequence;
!       Pattern : Element_Set)
!       return    Natural
     is
        C : Natural := 0;
     begin
--- 91,97 ----
  
     function Count
       (Source  : Element_Sequence;
!       Pattern : Element_Set) return Natural
     is
        C : Natural := 0;
     begin
*************** package body GNAT.Array_Split is
*** 144,151 ****
  
     function Separators
       (S     : Slice_Set;
!       Index : Slice_Number)
!       return  Slice_Separators
     is
     begin
        if Index > S.N_Slice then
--- 142,148 ----
  
     function Separators
       (S     : Slice_Set;
!       Index : Slice_Number) return Slice_Separators
     is
     begin
        if Index > S.N_Slice then
*************** package body GNAT.Array_Split is
*** 154,160 ****
        elsif Index = 0
          or else (Index = 1 and then S.N_Slice = 1)
        then
!          --  Whole string, or no separator used.
  
           return (Before => Array_End,
                   After  => Array_End);
--- 151,157 ----
        elsif Index = 0
          or else (Index = 1 and then S.N_Slice = 1)
        then
!          --  Whole string, or no separator used
  
           return (Before => Array_End,
                   After  => Array_End);
*************** package body GNAT.Array_Split is
*** 238,245 ****
  
           loop
              if K > Count_Sep then
!                --  No more separator, last slice end at the end of the source
                 --  string.
                 Stop := S.Source'Last;
              else
                 Stop := S.Indexes (K) - 1;
--- 235,244 ----
  
           loop
              if K > Count_Sep then
! 
!                --  No more separators, last slice ends at the end of the source
                 --  string.
+ 
                 Stop := S.Source'Last;
              else
                 Stop := S.Indexes (K) - 1;
*************** package body GNAT.Array_Split is
*** 255,267 ****
              case Mode is
  
                 when Single =>
                    --  In this mode just set start to character next to the
                    --  current separator, advance the separator index.
                    Start := S.Indexes (K) + 1;
                    K := K + 1;
  
                 when Multiple =>
!                   --  In this mode skip separators following each others
                    loop
                       Start := S.Indexes (K) + 1;
                       K := K + 1;
--- 254,270 ----
              case Mode is
  
                 when Single =>
+ 
                    --  In this mode just set start to character next to the
                    --  current separator, advance the separator index.
+ 
                    Start := S.Indexes (K) + 1;
                    K := K + 1;
  
                 when Multiple =>
! 
!                   --  In this mode skip separators following each other
! 
                    loop
                       Start := S.Indexes (K) + 1;
                       K := K + 1;
*************** package body GNAT.Array_Split is
*** 282,289 ****
  
     function Slice
       (S     : Slice_Set;
!       Index : Slice_Number)
!       return Element_Sequence
     is
     begin
        if Index = 0 then
--- 285,291 ----
  
     function Slice
       (S     : Slice_Set;
!       Index : Slice_Number) return Element_Sequence
     is
     begin
        if Index = 0 then
diff -Nrcpad gcc-4.0.2/gcc/ada/g-arrspl.ads gcc-4.1.0/gcc/ada/g-arrspl.ads
*** gcc-4.0.2/gcc/ada/g-arrspl.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-arrspl.ads	Tue Nov 15 14:06:45 2005
***************
*** 2,12 ****
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --                      G N A T . A R R A Y _ S P L T                       --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 2,12 ----
  --                                                                          --
  --                         GNAT COMPILER COMPONENTS                         --
  --                                                                          --
! --                     G N A T . A R R A Y _ S P L I T                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** generic
*** 42,48 ****
     --  Element of the array, this must be a discrete type
  
     type Element_Sequence is array (Positive range <>) of Element;
!    --  The array which is a sequence of element.
  
     type Element_Set is private;
     --  This type represent a set of elements. This set does not defined a
--- 42,48 ----
     --  Element of the array, this must be a discrete type
  
     type Element_Sequence is array (Positive range <>) of Element;
!    --  The array which is a sequence of element
  
     type Element_Set is private;
     --  This type represent a set of elements. This set does not defined a
*************** package GNAT.Array_Split is
*** 120,127 ****
  
     function Slice
       (S     : Slice_Set;
!       Index : Slice_Number)
!       return  Element_Sequence;
     pragma Inline (Slice);
     --  Returns the slice at position Index. First slice is 1. If Index is 0
     --  the whole array is returned including the separators (this is the
--- 120,126 ----
  
     function Slice
       (S     : Slice_Set;
!       Index : Slice_Number) return Element_Sequence;
     pragma Inline (Slice);
     --  Returns the slice at position Index. First slice is 1. If Index is 0
     --  the whole array is returned including the separators (this is the
*************** package GNAT.Array_Split is
*** 138,145 ****
  
     function Separators
       (S     : Slice_Set;
!       Index : Slice_Number)
!       return  Slice_Separators;
     --  Returns the separators used to slice (front and back) the slice at
     --  position Index. For slices at start and end of the original array, the
     --  Array_End value is returned for the corresponding outer bound. In
--- 137,143 ----
  
     function Separators
       (S     : Slice_Set;
!       Index : Slice_Number) return Slice_Separators;
     --  Returns the separators used to slice (front and back) the slice at
     --  position Index. For slices at start and end of the original array, the
     --  Array_End value is returned for the corresponding outer bound. In
*************** private
*** 165,171 ****
        Start : Positive;
        Stop  : Natural;
     end record;
!    --  Starting/Ending position of a slice. This does not include separators.
  
     type Slices_Indexes is array (Slice_Number range <>) of Slice_Info;
     type Slices_Access is access Slices_Indexes;
--- 163,169 ----
        Start : Positive;
        Stop  : Natural;
     end record;
!    --  Starting/Ending position of a slice. This does not include separators
  
     type Slices_Indexes is array (Slice_Number range <>) of Slice_Info;
     type Slices_Access is access Slices_Indexes;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-awk.adb gcc-4.1.0/gcc/ada/g-awk.adb
*** gcc-4.0.2/gcc/ada/g-awk.adb	Wed Dec  3 11:47:52 2003
--- gcc-4.1.0/gcc/ada/g-awk.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2000-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005 AdaCore                      --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.AWK is
*** 65,71 ****
  
        procedure Current_Line (S : Mode; Session : Session_Type)
          is abstract;
!       --  Split Session's current line using split mode.
  
        ------------------------
        -- Split on separator --
--- 65,71 ----
  
        procedure Current_Line (S : Mode; Session : Session_Type)
          is abstract;
!       --  Split current line of Session using split mode S
  
        ------------------------
        -- Split on separator --
*************** package body GNAT.AWK is
*** 102,108 ****
  
     package File_Table is
        new Dynamic_Tables (AWK_File, Natural, 1, 5, 50);
!    --  List of filename associated with a Session.
  
     procedure Free is new Unchecked_Deallocation (String, AWK_File);
  
--- 102,108 ----
  
     package File_Table is
        new Dynamic_Tables (AWK_File, Natural, 1, 5, 50);
!    --  List of file names associated with a Session
  
     procedure Free is new Unchecked_Deallocation (String, AWK_File);
  
*************** package body GNAT.AWK is
*** 114,130 ****
        First : Positive;
        Last  : Natural;
     end record;
!    --  This is a field slice (First .. Last) in session's current line.
  
     package Field_Table is
        new Dynamic_Tables (Field_Slice, Natural, 1, 10, 100);
!    --  List of fields for the current line.
  
     --------------
     -- Patterns --
     --------------
  
!    --  Define all patterns style : exact string, regular expression, boolean
     --  function.
  
     package Patterns is
--- 114,130 ----
        First : Positive;
        Last  : Natural;
     end record;
!    --  This is a field slice (First .. Last) in session's current line
  
     package Field_Table is
        new Dynamic_Tables (Field_Slice, Natural, 1, 10, 100);
!    --  List of fields for the current line
  
     --------------
     -- Patterns --
     --------------
  
!    --  Define all patterns style: exact string, regular expression, boolean
     --  function.
  
     package Patterns is
*************** package body GNAT.AWK is
*** 137,149 ****
  
        function Match
          (P       : Pattern;
!          Session : Session_Type)
!          return    Boolean
        is abstract;
!       --  Returns True if P match for the current session and False otherwise.
  
        procedure Release (P : in out Pattern);
!       --  Release memory used by the pattern structure.
  
        --------------------------
        -- Exact string pattern --
--- 137,148 ----
  
        function Match
          (P       : Pattern;
!          Session : Session_Type) return Boolean
        is abstract;
!       --  Returns True if P match for the current session and False otherwise
  
        procedure Release (P : in out Pattern);
!       --  Release memory used by the pattern structure
  
        --------------------------
        -- Exact string pattern --
*************** package body GNAT.AWK is
*** 156,163 ****
  
        function Match
          (P       : String_Pattern;
!          Session : Session_Type)
!          return    Boolean;
  
        --------------------------------
        -- Regular expression pattern --
--- 155,161 ----
  
        function Match
          (P       : String_Pattern;
!          Session : Session_Type) return Boolean;
  
        --------------------------------
        -- Regular expression pattern --
*************** package body GNAT.AWK is
*** 172,179 ****
  
        function Match
          (P       : Regexp_Pattern;
!          Session : Session_Type)
!          return    Boolean;
  
        procedure Release (P : in out Regexp_Pattern);
  
--- 170,176 ----
  
        function Match
          (P       : Regexp_Pattern;
!          Session : Session_Type) return Boolean;
  
        procedure Release (P : in out Regexp_Pattern);
  
*************** package body GNAT.AWK is
*** 187,194 ****
  
        function Match
          (P       : Callback_Pattern;
!          Session : Session_Type)
!          return    Boolean;
  
     end Patterns;
  
--- 184,190 ----
  
        function Match
          (P       : Callback_Pattern;
!          Session : Session_Type) return Boolean;
  
     end Patterns;
  
*************** package body GNAT.AWK is
*** 211,219 ****
  
        procedure Call
          (A       : Action;
!          Session : Session_Type)
!          is abstract;
!       --  Call action A as required.
  
        -------------------
        -- Simple action --
--- 207,214 ----
  
        procedure Call
          (A       : Action;
!          Session : Session_Type) is abstract;
!       --  Call action A as required
  
        -------------------
        -- Simple action --
*************** package body GNAT.AWK is
*** 271,277 ****
        NR           : Natural := 0;
        FNR          : Natural := 0;
        Matches      : Regpat.Match_Array (0 .. 100);
!       --  latest matches for the regexp pattern
     end record;
  
     procedure Free is
--- 266,272 ----
        NR           : Natural := 0;
        FNR          : Natural := 0;
        Matches      : Regpat.Match_Array (0 .. 100);
!       --  Latest matches for the regexp pattern
     end record;
  
     procedure Free is
*************** package body GNAT.AWK is
*** 317,329 ****
  
     procedure Finalize (Session : in out Session_Type) is
     begin
!       --  We release the session data only if it is not the default session.
  
        if Session.Data /= Def_Session.Data then
           Free (Session.Data);
  
!          --  Since we have closed the current session, set it to point
!          --  now to the default session.
  
           Cur_Session.Data := Def_Session.Data;
        end if;
--- 312,324 ----
  
     procedure Finalize (Session : in out Session_Type) is
     begin
!       --  We release the session data only if it is not the default session
  
        if Session.Data /= Def_Session.Data then
           Free (Session.Data);
  
!          --  Since we have closed the current session, set it to point now to
!          --  the default session.
  
           Cur_Session.Data := Def_Session.Data;
        end if;
*************** package body GNAT.AWK is
*** 334,344 ****
     ----------------------
  
     function Always_True return Boolean;
!    --  A function that always returns True.
  
     function Apply_Filters
!      (Session : Session_Type := Current_Session)
!       return    Boolean;
     --  Apply any filters for which the Pattern is True for Session. It returns
     --  True if a least one filters has been applied (i.e. associated action
     --  callback has been called).
--- 329,338 ----
     ----------------------
  
     function Always_True return Boolean;
!    --  A function that always returns True
  
     function Apply_Filters
!      (Session : Session_Type := Current_Session) return Boolean;
     --  Apply any filters for which the Pattern is True for Session. It returns
     --  True if a least one filters has been applied (i.e. associated action
     --  callback has been called).
*************** package body GNAT.AWK is
*** 358,364 ****
     --  number and the filename if possible.
  
     procedure Read_Line (Session : Session_Type);
!    --  Read a line for the Session and set Current_Line.
  
     procedure Split_Line (Session : Session_Type);
     --  Split session's Current_Line according to the session separators and
--- 352,358 ----
     --  number and the filename if possible.
  
     procedure Read_Line (Session : Session_Type);
!    --  Read a line for the Session and set Current_Line
  
     procedure Split_Line (Session : Session_Type);
     --  Split session's Current_Line according to the session separators and
*************** package body GNAT.AWK is
*** 383,389 ****
           Session : Session_Type)
        is
           pragma Unreferenced (Session);
- 
        begin
           A.Proc.all;
        end Call;
--- 377,382 ----
*************** package body GNAT.AWK is
*** 414,421 ****
  
        function Match
          (P       : String_Pattern;
!          Session : Session_Type)
!          return    Boolean
        is
        begin
           return P.Str = Field (P.Rank, Session);
--- 407,413 ----
  
        function Match
          (P       : String_Pattern;
!          Session : Session_Type) return Boolean
        is
        begin
           return P.Str = Field (P.Rank, Session);
*************** package body GNAT.AWK is
*** 427,437 ****
  
        function Match
          (P       : Regexp_Pattern;
!          Session : Session_Type)
!          return    Boolean
        is
           use type Regpat.Match_Location;
- 
        begin
           Regpat.Match
             (P.Regx.all, Field (P.Rank, Session), Session.Data.Matches);
--- 419,427 ----
  
        function Match
          (P       : Regexp_Pattern;
!          Session : Session_Type) return Boolean
        is
           use type Regpat.Match_Location;
        begin
           Regpat.Match
             (P.Regx.all, Field (P.Rank, Session), Session.Data.Matches);
*************** package body GNAT.AWK is
*** 444,454 ****
  
        function Match
          (P       : Callback_Pattern;
!          Session : Session_Type)
!          return    Boolean
        is
           pragma Unreferenced (Session);
- 
        begin
           return P.Pattern.all;
        end Match;
--- 434,442 ----
  
        function Match
          (P       : Callback_Pattern;
!          Session : Session_Type) return Boolean
        is
           pragma Unreferenced (Session);
        begin
           return P.Pattern.all;
        end Match;
*************** package body GNAT.AWK is
*** 459,465 ****
  
        procedure Release (P : in out Pattern) is
           pragma Unreferenced (P);
- 
        begin
           null;
        end Release;
--- 447,452 ----
*************** package body GNAT.AWK is
*** 471,477 ****
        procedure Release (P : in out Regexp_Pattern) is
           procedure Free is new Unchecked_Deallocation
             (Regpat.Pattern_Matcher, Pattern_Matcher_Access);
- 
        begin
           Free (P.Regx);
        end Release;
--- 458,463 ----
*************** package body GNAT.AWK is
*** 664,677 ****
     -------------------
  
     function Apply_Filters
!      (Session : Session_Type := Current_Session)
!       return    Boolean
     is
        Filters : Pattern_Action_Table.Instance renames Session.Data.Filters;
        Results : Boolean := False;
  
     begin
!       --  Iterate through the filters table, if pattern match call action.
  
        for F in 1 .. Pattern_Action_Table.Last (Filters) loop
           if Patterns.Match (Filters.Table (F).Pattern.all, Session) then
--- 650,662 ----
     -------------------
  
     function Apply_Filters
!      (Session : Session_Type := Current_Session) return Boolean
     is
        Filters : Pattern_Action_Table.Instance renames Session.Data.Filters;
        Results : Boolean := False;
  
     begin
!       --  Iterate through the filters table, if pattern match call action
  
        for F in 1 .. Pattern_Action_Table.Last (Filters) loop
           if Patterns.Match (Filters.Table (F).Pattern.all, Session) then
*************** package body GNAT.AWK is
*** 748,755 ****
  
     function Discrete_Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Discrete
     is
     begin
        return Discrete'Value (Field (Rank, Session));
--- 733,739 ----
  
     function Discrete_Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Discrete
     is
     begin
        return Discrete'Value (Field (Rank, Session));
*************** package body GNAT.AWK is
*** 760,767 ****
     -----------------
  
     function End_Of_Data
!      (Session : Session_Type := Current_Session)
!       return    Boolean
     is
     begin
        return Session.Data.File_Index = File_Table.Last (Session.Data.Files)
--- 744,750 ----
     -----------------
  
     function End_Of_Data
!      (Session : Session_Type := Current_Session) return Boolean
     is
     begin
        return Session.Data.File_Index = File_Table.Last (Session.Data.Files)
*************** package body GNAT.AWK is
*** 773,780 ****
     -----------------
  
     function End_Of_File
!      (Session : Session_Type := Current_Session)
!       return    Boolean
     is
     begin
        return Text_IO.End_Of_File (Session.Data.Current_File);
--- 756,762 ----
     -----------------
  
     function End_Of_File
!      (Session : Session_Type := Current_Session) return Boolean
     is
     begin
        return Text_IO.End_Of_File (Session.Data.Current_File);
*************** package body GNAT.AWK is
*** 786,793 ****
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    String
     is
        Fields : Field_Table.Instance renames Session.Data.Fields;
  
--- 768,774 ----
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return String
     is
        Fields : Field_Table.Instance renames Session.Data.Fields;
  
*************** package body GNAT.AWK is
*** 800,806 ****
  
        elsif Rank = 0 then
  
!          --  Returns the whole line, this is what $0 does under Session_Type.
  
           return To_String (Session.Data.Current_Line);
  
--- 781,787 ----
  
        elsif Rank = 0 then
  
!          --  Returns the whole line, this is what $0 does under Session_Type
  
           return To_String (Session.Data.Current_Line);
  
*************** package body GNAT.AWK is
*** 813,820 ****
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Integer
     is
     begin
        return Integer'Value (Field (Rank, Session));
--- 794,800 ----
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Integer
     is
     begin
        return Integer'Value (Field (Rank, Session));
*************** package body GNAT.AWK is
*** 830,837 ****
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Float
     is
     begin
        return Float'Value (Field (Rank, Session));
--- 810,816 ----
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Float
     is
     begin
        return Float'Value (Field (Rank, Session));
*************** package body GNAT.AWK is
*** 850,857 ****
     ----------
  
     function File
!      (Session : Session_Type := Current_Session)
!       return    String
     is
        Files : File_Table.Instance renames Session.Data.Files;
  
--- 829,835 ----
     ----------
  
     function File
!      (Session : Session_Type := Current_Session) return String
     is
        Files : File_Table.Instance renames Session.Data.Files;
  
*************** package body GNAT.AWK is
*** 942,949 ****
     ----------------------
  
     function Number_Of_Fields
!      (Session : Session_Type := Current_Session)
!       return    Count
     is
     begin
        return Count (Field_Table.Last (Session.Data.Fields));
--- 920,926 ----
     ----------------------
  
     function Number_Of_Fields
!      (Session : Session_Type := Current_Session) return Count
     is
     begin
        return Count (Field_Table.Last (Session.Data.Fields));
*************** package body GNAT.AWK is
*** 954,961 ****
     --------------------------
  
     function Number_Of_File_Lines
!      (Session : Session_Type := Current_Session)
!       return    Count
     is
     begin
        return Count (Session.Data.FNR);
--- 931,937 ----
     --------------------------
  
     function Number_Of_File_Lines
!      (Session : Session_Type := Current_Session) return Count
     is
     begin
        return Count (Session.Data.FNR);
*************** package body GNAT.AWK is
*** 966,976 ****
     ---------------------
  
     function Number_Of_Files
!      (Session : Session_Type := Current_Session)
!       return    Natural
     is
        Files : File_Table.Instance renames Session.Data.Files;
- 
     begin
        return File_Table.Last (Files);
     end Number_Of_Files;
--- 942,950 ----
     ---------------------
  
     function Number_Of_Files
!      (Session : Session_Type := Current_Session) return Natural
     is
        Files : File_Table.Instance renames Session.Data.Files;
     begin
        return File_Table.Last (Files);
     end Number_Of_Files;
*************** package body GNAT.AWK is
*** 980,987 ****
     ---------------------
  
     function Number_Of_Lines
!      (Session : Session_Type := Current_Session)
!       return    Count
     is
     begin
        return Count (Session.Data.NR);
--- 954,960 ----
     ---------------------
  
     function Number_Of_Lines
!      (Session : Session_Type := Current_Session) return Count
     is
     begin
        return Count (Session.Data.NR);
*************** package body GNAT.AWK is
*** 1078,1084 ****
        Session : Session_Type)
     is
        function Filename return String;
!       --  Returns current filename and "??" if the informations is not
        --  available.
  
        function Line return String;
--- 1051,1057 ----
        Session : Session_Type)
     is
        function Filename return String;
!       --  Returns current filename and "??" if this information is not
        --  available.
  
        function Line return String;
*************** package body GNAT.AWK is
*** 1090,1096 ****
  
        function Filename return String is
           File : constant String := AWK.File (Session);
- 
        begin
           if File = "" then
              return "??";
--- 1063,1068 ----
*************** package body GNAT.AWK is
*** 1105,1111 ****
  
        function Line return String is
           L : constant String := Natural'Image (Session.Data.FNR);
- 
        begin
           return L (2 .. L'Last);
        end Line;
--- 1077,1082 ----
*************** package body GNAT.AWK is
*** 1132,1137 ****
--- 1103,1112 ----
        NR  : Natural renames Session.Data.NR;
        FNR : Natural renames Session.Data.FNR;
  
+       ---------------
+       -- Read_Line --
+       ---------------
+ 
        function Read_Line return String is
           Buffer : String (1 .. 1_024);
           Last   : Natural;
*************** package body GNAT.AWK is
*** 1277,1284 ****
  
     procedure Set_Field_Widths
       (Field_Widths : Widths_Set;
!       Session      : Session_Type := Current_Session) is
! 
     begin
        Free (Session.Data.Separators);
  
--- 1252,1259 ----
  
     procedure Set_Field_Widths
       (Field_Widths : Widths_Set;
!       Session      : Session_Type := Current_Session)
!    is
     begin
        Free (Session.Data.Separators);
  
*************** package body GNAT.AWK is
*** 1299,1308 ****
  
     procedure Split_Line (Session : Session_Type) is
        Fields : Field_Table.Instance renames Session.Data.Fields;
- 
     begin
        Field_Table.Init (Fields);
- 
        Split.Current_Line (Session.Data.Separators.all, Session);
     end Split_Line;
  
--- 1274,1281 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-awk.ads gcc-4.1.0/gcc/ada/g-awk.ads
*** gcc-4.0.2/gcc/ada/g-awk.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-awk.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 2000-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with GNAT.Regpat;
*** 187,217 ****
  package GNAT.AWK is
  
     Session_Error : exception;
!    --  Raised when a Session is reused but is not closed.
  
     File_Error : exception;
!    --  Raised when there is a file problem (see below).
  
     End_Error : exception;
     --  Raised when an attempt is made to read beyond the end of the last
     --  file of a session.
  
     Field_Error : exception;
!    --  Raised when accessing a field value which does not exist.
  
     Data_Error : exception;
!    --  Raised when it is not possible to convert a field value to a specific
!    --  type.
  
     type Count is new Natural;
  
     type Widths_Set is array (Positive range <>) of Positive;
!    --  Used to store a set of columns widths.
  
     Default_Separators : constant String := " " & ASCII.HT;
  
     Use_Current : constant String := "";
!    --  Value used when no separator or filename is specified in iterators.
  
     type Session_Type is limited private;
     --  This is the main exported type. A session is used to keep the state of
--- 187,216 ----
  package GNAT.AWK is
  
     Session_Error : exception;
!    --  Raised when a Session is reused but is not closed
  
     File_Error : exception;
!    --  Raised when there is a file problem (see below)
  
     End_Error : exception;
     --  Raised when an attempt is made to read beyond the end of the last
     --  file of a session.
  
     Field_Error : exception;
!    --  Raised when accessing a field value which does not exist
  
     Data_Error : exception;
!    --  Raised when it is impossible to convert a field value to a specific type
  
     type Count is new Natural;
  
     type Widths_Set is array (Positive range <>) of Positive;
!    --  Used to store a set of columns widths
  
     Default_Separators : constant String := " " & ASCII.HT;
  
     Use_Current : constant String := "";
!    --  Value used when no separator or filename is specified in iterators
  
     type Session_Type is limited private;
     --  This is the main exported type. A session is used to keep the state of
*************** package GNAT.AWK is
*** 256,262 ****
       (Separators : String       := Default_Separators;
        Session    : Session_Type := Current_Session)
       renames Set_Field_Separators;
!    --  FS is the AWK abbreviation for above service.
  
     procedure Set_Field_Widths
       (Field_Widths : Widths_Set;
--- 255,261 ----
       (Separators : String       := Default_Separators;
        Session    : Session_Type := Current_Session)
       renames Set_Field_Separators;
!    --  FS is the AWK abbreviation for above service
  
     procedure Set_Field_Widths
       (Field_Widths : Widths_Set;
*************** package GNAT.AWK is
*** 294,347 ****
     -------------------------------------
  
     function Number_Of_Fields
!      (Session : Session_Type := Current_Session)
!       return    Count;
     pragma Inline (Number_Of_Fields);
     --  Returns the number of fields in the current record. It returns 0 when
     --  no file is being processed.
  
     function NF
!      (Session : Session_Type := Current_Session)
!       return    Count
       renames Number_Of_Fields;
!    --  AWK abbreviation for above service.
  
     function Number_Of_File_Lines
!      (Session : Session_Type := Current_Session)
!       return    Count;
     pragma Inline (Number_Of_File_Lines);
     --  Returns the current line number in the processed file. It returns 0 when
     --  no file is being processed.
  
!    function FNR
!      (Session : Session_Type := Current_Session)
!       return    Count renames Number_Of_File_Lines;
!    --  AWK abbreviation for above service.
  
     function Number_Of_Lines
!      (Session : Session_Type := Current_Session)
!       return    Count;
     pragma Inline (Number_Of_Lines);
     --  Returns the number of line processed until now. This is equal to number
     --  of line in each already processed file plus FNR. It returns 0 when
     --  no file is being processed.
  
!    function NR
!      (Session : Session_Type := Current_Session)
!       return    Count
       renames Number_Of_Lines;
!    --  AWK abbreviation for above service.
  
     function Number_Of_Files
!      (Session : Session_Type := Current_Session)
!       return    Natural;
     pragma Inline (Number_Of_Files);
     --  Returns the number of files associated with Session. This is the total
     --  number of files added with Add_File and Add_Files services.
  
!    function File
!      (Session : Session_Type := Current_Session)
!       return    String;
     --  Returns the name of the file being processed. It returns the empty
     --  string when no file is being processed.
  
--- 293,336 ----
     -------------------------------------
  
     function Number_Of_Fields
!      (Session : Session_Type := Current_Session) return Count;
     pragma Inline (Number_Of_Fields);
     --  Returns the number of fields in the current record. It returns 0 when
     --  no file is being processed.
  
     function NF
!      (Session : Session_Type := Current_Session) return Count
       renames Number_Of_Fields;
!    --  AWK abbreviation for above service
  
     function Number_Of_File_Lines
!      (Session : Session_Type := Current_Session) return Count;
     pragma Inline (Number_Of_File_Lines);
     --  Returns the current line number in the processed file. It returns 0 when
     --  no file is being processed.
  
!    function FNR (Session : Session_Type := Current_Session) return Count
!      renames Number_Of_File_Lines;
!    --  AWK abbreviation for above service
  
     function Number_Of_Lines
!      (Session : Session_Type := Current_Session) return Count;
     pragma Inline (Number_Of_Lines);
     --  Returns the number of line processed until now. This is equal to number
     --  of line in each already processed file plus FNR. It returns 0 when
     --  no file is being processed.
  
!    function NR (Session : Session_Type := Current_Session) return Count
       renames Number_Of_Lines;
!    --  AWK abbreviation for above service
  
     function Number_Of_Files
!      (Session : Session_Type := Current_Session) return Natural;
     pragma Inline (Number_Of_Files);
     --  Returns the number of files associated with Session. This is the total
     --  number of files added with Add_File and Add_Files services.
  
!    function File (Session : Session_Type := Current_Session) return String;
     --  Returns the name of the file being processed. It returns the empty
     --  string when no file is being processed.
  
*************** package GNAT.AWK is
*** 351,374 ****
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    String;
     --  Returns field number Rank value of the current record. If Rank = 0 it
     --  returns the current record (i.e. the line as read in the file). It
     --  raises Field_Error if Rank > NF or if Session is not open.
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Integer;
     --  Returns field number Rank value of the current record as an integer. It
     --  raises Field_Error if Rank > NF or if Session is not open. It
     --  raises Data_Error if the field value cannot be converted to an integer.
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Float;
     --  Returns field number Rank value of the current record as a float. It
     --  raises Field_Error if Rank > NF or if Session is not open. It
     --  raises Data_Error if the field value cannot be converted to a float.
--- 340,360 ----
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return String;
     --  Returns field number Rank value of the current record. If Rank = 0 it
     --  returns the current record (i.e. the line as read in the file). It
     --  raises Field_Error if Rank > NF or if Session is not open.
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Integer;
     --  Returns field number Rank value of the current record as an integer. It
     --  raises Field_Error if Rank > NF or if Session is not open. It
     --  raises Data_Error if the field value cannot be converted to an integer.
  
     function Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Float;
     --  Returns field number Rank value of the current record as a float. It
     --  raises Field_Error if Rank > NF or if Session is not open. It
     --  raises Data_Error if the field value cannot be converted to a float.
*************** package GNAT.AWK is
*** 377,384 ****
        type Discrete is (<>);
     function Discrete_Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session)
!       return    Discrete;
     --  Returns field number Rank value of the current record as a type
     --  Discrete. It raises Field_Error if Rank > NF. It raises Data_Error if
     --  the field value cannot be converted to type Discrete.
--- 363,369 ----
        type Discrete is (<>);
     function Discrete_Field
       (Rank    : Count;
!       Session : Session_Type := Current_Session) return Discrete;
     --  Returns field number Rank value of the current record as a type
     --  Discrete. It raises Field_Error if Rank > NF. It raises Data_Error if
     --  the field value cannot be converted to type Discrete.
*************** package GNAT.AWK is
*** 527,542 ****
     --  or by an instantiation of For_Every_Line (see below).
  
     function End_Of_Data
!      (Session : Session_Type := Current_Session)
!       return    Boolean;
     pragma Inline (End_Of_Data);
     --  Returns True if there is no more data to be processed in Session. It
     --  means that the latest session's file is being processed and that
     --  there is no more data to be read in this file (End_Of_File is True).
  
     function End_Of_File
!      (Session : Session_Type := Current_Session)
!       return    Boolean;
     pragma Inline (End_Of_File);
     --  Returns True when there is no more data to be processed on the current
     --  session's file.
--- 512,525 ----
     --  or by an instantiation of For_Every_Line (see below).
  
     function End_Of_Data
!      (Session : Session_Type := Current_Session) return Boolean;
     pragma Inline (End_Of_Data);
     --  Returns True if there is no more data to be processed in Session. It
     --  means that the latest session's file is being processed and that
     --  there is no more data to be read in this file (End_Of_File is True).
  
     function End_Of_File
!      (Session : Session_Type := Current_Session) return Boolean;
     pragma Inline (End_Of_File);
     --  Returns True when there is no more data to be processed on the current
     --  session's file.
diff -Nrcpad gcc-4.0.2/gcc/ada/g-boubuf.adb gcc-4.1.0/gcc/ada/g-boubuf.adb
*** gcc-4.0.2/gcc/ada/g-boubuf.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-boubuf.adb	Fri Jul  1 01:29:17 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                Copyright (C) 2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Bounded_Buffers is
*** 89,93 ****
  
     end Bounded_Buffer;
  
- 
  end GNAT.Bounded_Buffers;
--- 89,92 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-boubuf.ads gcc-4.1.0/gcc/ada/g-boubuf.ads
*** gcc-4.0.2/gcc/ada/g-boubuf.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-boubuf.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2003 Ada Core Technologies, Inc.               --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;
*** 44,78 ****
  generic
     type Element is private;
     --  The type of the values contained within buffer objects
  package GNAT.Bounded_Buffers is
     pragma Pure;
  
     type Content is array (Positive range <>) of Element;
!    --  Content is an internal artefact that cannot be hidden
!    --  because protected types cannot contain type declarations.
  
     Default_Ceiling : constant System.Priority := System.Default_Priority;
!    --  A convenience value for the Ceiling discriminant.
  
     protected type Bounded_Buffer
        (Capacity : Positive;
!       --  Objects of type Bounded_Buffer specify the maximum
!       --  number of Element values they can hold via the
!       --  discriminant Capacity.
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object.
!       --  If the Real-Time Systems Annex is not in use this value
!       --  is not important.
     is
        pragma Priority (Ceiling);
  
        entry Insert (Item : in Element);
!       --  Insert Item into the buffer. Blocks caller
!       --  until space is available.
  
        entry Remove (Item : out Element);
!       --  Remove next available Element from buffer.
!       --  Blocks caller until an Element is available.
  
        function Empty return Boolean;
        --  Returns whether the instance contains any Elements.
--- 44,77 ----
  generic
     type Element is private;
     --  The type of the values contained within buffer objects
+ 
  package GNAT.Bounded_Buffers is
     pragma Pure;
  
     type Content is array (Positive range <>) of Element;
!    --  Content is an internal artefact that cannot be hidden because protected
!    --  types cannot contain type declarations.
  
     Default_Ceiling : constant System.Priority := System.Default_Priority;
!    --  A convenience value for the Ceiling discriminant
  
     protected type Bounded_Buffer
        (Capacity : Positive;
!       --  Objects of type Bounded_Buffer specify the maximum number of Element
!       --  values they can hold via the discriminant Capacity.
! 
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object. If the
!       --  Real-Time Systems Annex is not in use this value is not important.
     is
        pragma Priority (Ceiling);
  
        entry Insert (Item : in Element);
!       --  Insert Item into the buffer, blocks caller until space is available
  
        entry Remove (Item : out Element);
!       --  Remove next available Element from buffer. Blocks caller until an
!       --  Element is available.
  
        function Empty return Boolean;
        --  Returns whether the instance contains any Elements.
*************** package GNAT.Bounded_Buffers is
*** 89,101 ****
  
     private
        Values   : Content (1 .. Capacity);
!       --  The container for the values held by the buffer instance.
        Next_In  : Positive := 1;
!       --  The index of the next Element inserted. Wraps around.
        Next_Out : Positive := 1;
!       --  The index of the next Element removed. Wraps around.
        Count    : Natural  := 0;
!       --  The number of Elements currently held.
     end Bounded_Buffer;
  
  end GNAT.Bounded_Buffers;
--- 88,103 ----
  
     private
        Values   : Content (1 .. Capacity);
!       --  The container for the values held by the buffer instance
! 
        Next_In  : Positive := 1;
!       --  The index of the next Element inserted. Wraps around
! 
        Next_Out : Positive := 1;
!       --  The index of the next Element removed. Wraps around
! 
        Count    : Natural  := 0;
!       --  The number of Elements currently held
     end Bounded_Buffer;
  
  end GNAT.Bounded_Buffers;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-boumai.ads gcc-4.1.0/gcc/ada/g-boumai.ads
*** gcc-4.0.2/gcc/ada/g-boumai.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-boumai.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2003 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-bubsor.adb gcc-4.1.0/gcc/ada/g-bubsor.adb
*** gcc-4.0.2/gcc/ada/g-bubsor.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-bubsor.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-bubsor.ads gcc-4.1.0/gcc/ada/g-bubsor.ads
*** gcc-4.0.2/gcc/ada/g-bubsor.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-bubsor.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . B U B B L E _ S O R T                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . B U B B L E _ S O R T                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,50 ****
  --  has the advantage of being Pure, while this unit can only be Preelaborate.
  
  package GNAT.Bubble_Sort is
! pragma Preelaborate (Bubble_Sort);
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted.
--- 44,50 ----
  --  has the advantage of being Pure, while this unit can only be Preelaborate.
  
  package GNAT.Bubble_Sort is
!    pragma Preelaborate;
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted.
diff -Nrcpad gcc-4.0.2/gcc/ada/g-busora.adb gcc-4.1.0/gcc/ada/g-busora.adb
*** gcc-4.0.2/gcc/ada/g-busora.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-busora.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-1998 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-busora.ads gcc-4.1.0/gcc/ada/g-busora.ads
*** gcc-4.0.2/gcc/ada/g-busora.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-busora.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ A                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 39,45 ****
  --  offers a similar routine with a more convenient interface.
  
  package GNAT.Bubble_Sort_A is
! pragma Preelaborate (Bubble_Sort_A);
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted. In addition, the
--- 39,45 ----
  --  offers a similar routine with a more convenient interface.
  
  package GNAT.Bubble_Sort_A is
!    pragma Preelaborate;
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted. In addition, the
diff -Nrcpad gcc-4.0.2/gcc/ada/g-busorg.adb gcc-4.1.0/gcc/ada/g-busorg.adb
*** gcc-4.0.2/gcc/ada/g-busorg.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-busorg.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ G                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-1998 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ G                    --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-busorg.ads gcc-4.1.0/gcc/ada/g-busorg.ads
*** gcc-4.0.2/gcc/ada/g-busorg.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-busorg.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ G                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                   G N A T . B U B B L E _ S O R T _ G                    --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,50 ****
  
  --  There is also GNAT.Bubble_Sort_A, which is now considered obsolete, but
  --  was an older version working with subprogram parameters. This version
! --  is retained for bacwards compatibility with old versions of GNAT.
  
  generic
     --  The data to be sorted is assumed to be indexed by integer values from
--- 44,50 ----
  
  --  There is also GNAT.Bubble_Sort_A, which is now considered obsolete, but
  --  was an older version working with subprogram parameters. This version
! --  is retained for baccwards compatibility with old versions of GNAT.
  
  generic
     --  The data to be sorted is assumed to be indexed by integer values from
*************** generic
*** 63,69 ****
     --  item is greater than or equal to the Op1 item.
  
  package GNAT.Bubble_Sort_G is
! pragma Pure (Bubble_Sort_G);
  
     procedure Sort (N : Natural);
     --  This procedures sorts items in the range from 1 to N into ascending
--- 63,69 ----
     --  item is greater than or equal to the Op1 item.
  
  package GNAT.Bubble_Sort_G is
!    pragma Pure;
  
     procedure Sort (N : Natural);
     --  This procedures sorts items in the range from 1 to N into ascending
diff -Nrcpad gcc-4.0.2/gcc/ada/g-calend.adb gcc-4.1.0/gcc/ada/g-calend.adb
*** gcc-4.0.2/gcc/ada/g-calend.adb	Thu Apr 24 17:54:02 2003
--- gcc-4.1.0/gcc/ada/g-calend.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1999-2001 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1999-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Calendar is
*** 96,103 ****
     function Julian_Day
       (Year  : Year_Number;
        Month : Month_Number;
!       Day   : Day_Number)
!       return  Integer
     is
        Internal_Year  : Integer;
        Internal_Month : Integer;
--- 96,102 ----
     function Julian_Day
       (Year  : Year_Number;
        Month : Month_Number;
!       Day   : Day_Number) return Integer
     is
        Internal_Year  : Integer;
        Internal_Month : Integer;
*************** package body GNAT.Calendar is
*** 227,234 ****
        Hour       : Hour_Number;
        Minute     : Minute_Number;
        Second     : Second_Number;
!       Sub_Second : Second_Duration := 0.0)
!       return Time
     is
        Dsecs : constant Day_Duration :=
                  Day_Duration (Hour * 3600 + Minute * 60 + Second) +
--- 226,232 ----
        Hour       : Hour_Number;
        Minute     : Minute_Number;
        Second     : Second_Number;
!       Sub_Second : Second_Duration := 0.0) return Time
     is
        Dsecs : constant Day_Duration :=
                  Day_Duration (Hour * 3600 + Minute * 60 + Second) +
*************** package body GNAT.Calendar is
*** 253,259 ****
        sec   : aliased C.long;
        usec  : aliased C.long;
  
- 
     begin
        timeval_to_duration (T, sec'Access, usec'Access);
        return Duration (sec) + Duration (usec) / Micro;
--- 251,256 ----
*************** package body GNAT.Calendar is
*** 292,299 ****
     ------------------
  
     function Week_In_Year
!      (Date : Ada.Calendar.Time)
!       return Week_In_Year_Number
     is
        Year       : Year_Number;
        Month      : Month_Number;
--- 289,295 ----
     ------------------
  
     function Week_In_Year
!      (Date : Ada.Calendar.Time) return Week_In_Year_Number
     is
        Year       : Year_Number;
        Month      : Month_Number;
*************** package body GNAT.Calendar is
*** 307,313 ****
     begin
        Split (Date, Year, Month, Day, Hour, Minute, Second, Sub_Second);
  
!       --  Day offset number for the first week of the year.
  
        Offset := Julian_Day (Year, 1, 1) mod 7;
  
--- 303,309 ----
     begin
        Split (Date, Year, Month, Day, Hour, Minute, Second, Sub_Second);
  
!       --  Day offset number for the first week of the year
  
        Offset := Julian_Day (Year, 1, 1) mod 7;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/g-calend.ads gcc-4.1.0/gcc/ada/g-calend.ads
*** gcc-4.0.2/gcc/ada/g-calend.ads	Thu Apr 24 17:54:02 2003
--- gcc-4.1.0/gcc/ada/g-calend.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1999-2001 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1999-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Calendar is
*** 65,71 ****
     --  Second_Duration precision depends on the target clock precision.
  
     function Day_Of_Week (Date : Ada.Calendar.Time) return Day_Name;
!    --  Return the day name.
  
     function Day_In_Year (Date : Ada.Calendar.Time) return Day_In_Year_Number;
     --  Returns the day number in the year. (1st January is day 1 and 31st
--- 65,71 ----
     --  Second_Duration precision depends on the target clock precision.
  
     function Day_Of_Week (Date : Ada.Calendar.Time) return Day_Name;
!    --  Return the day name
  
     function Day_In_Year (Date : Ada.Calendar.Time) return Day_In_Year_Number;
     --  Returns the day number in the year. (1st January is day 1 and 31st
*************** package GNAT.Calendar is
*** 93,101 ****
        Hour       : Hour_Number;
        Minute     : Minute_Number;
        Second     : Second_Number;
!       Sub_Second : Second_Duration := 0.0)
!       return Ada.Calendar.Time;
!    --  Returns an Ada.Calendar.Time data built from the date and time values.
  
     --  C timeval conversion
  
--- 93,100 ----
        Hour       : Hour_Number;
        Minute     : Minute_Number;
        Second     : Second_Number;
!       Sub_Second : Second_Duration := 0.0) return Ada.Calendar.Time;
!    --  Returns an Ada.Calendar.Time data built from the date and time values
  
     --  C timeval conversion
  
*************** private
*** 119,129 ****
     function Julian_Day
       (Year  : Ada.Calendar.Year_Number;
        Month : Ada.Calendar.Month_Number;
!       Day   : Ada.Calendar.Day_Number)
!       return  Integer;
!    --  Compute Julian day number.
     --
!    --  The code of this function is a modified version of algorithm
!    --  199 from the Collected Algorithms of the ACM.
!    --  The author of algorithm 199 is Robert G. Tantzen.
  end GNAT.Calendar;
--- 118,128 ----
     function Julian_Day
       (Year  : Ada.Calendar.Year_Number;
        Month : Ada.Calendar.Month_Number;
!       Day   : Ada.Calendar.Day_Number) return Integer;
!    --  Compute Julian day number
     --
!    --  The code of this function is a modified version of algorithm 199 from
!    --  the Collected Algorithms of the ACM. The author of algorithm 199 is
!    --  Robert G. Tantzen.
! 
  end GNAT.Calendar;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-casuti.adb gcc-4.1.0/gcc/ada/g-casuti.adb
*** gcc-4.0.2/gcc/ada/g-casuti.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-casuti.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       G N A T . C A S E _ U T I L                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       G N A T . C A S E _ U T I L                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-casuti.ads gcc-4.1.0/gcc/ada/g-casuti.ads
*** gcc-4.0.2/gcc/ada/g-casuti.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-casuti.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       G N A T . C A S E _ U T I L                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       G N A T . C A S E _ U T I L                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 43,55 ****
  with System.Case_Util;
  
  package GNAT.Case_Util is
! pragma Pure (Case_Util);
! 
! pragma Elaborate_Body;
! --  The elaborate body is because we have a dummy body to deal with bootstrap
! --  path problems (we used to have a real body, and now we don't need it any
! --  more, but the bootstrap requires that we have a dummy body, since otherwise
! --  the old body gets picked up.
  
     --  Note: all the following functions handle the full Latin-1 set
  
--- 43,54 ----
  with System.Case_Util;
  
  package GNAT.Case_Util is
!    pragma Pure;
!    pragma Elaborate_Body;
!    --  The elaborate body is because we have a dummy body to deal with
!    --  bootstrap path problems (we used to have a real body, and now we don't
!    --  need it any more, but the bootstrap requires that we have a dummy body,
!    --  since otherwise the old body gets picked up.
  
     --  Note: all the following functions handle the full Latin-1 set
  
diff -Nrcpad gcc-4.0.2/gcc/ada/g-catiio.adb gcc-4.1.0/gcc/ada/g-catiio.adb
*** gcc-4.0.2/gcc/ada/g-catiio.adb	Fri Oct 24 13:02:41 2003
--- gcc-4.1.0/gcc/ada/g-catiio.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1999-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1999-2005, AdaCore                     --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Calendar.Time_IO is
*** 63,72 ****
     -----------------------
  
     function Am_Pm (H : Natural) return String;
!    --  return AM or PM depending on the hour H
  
     function Hour_12 (H : Natural) return Positive;
!    --  Convert a 1-24h format to a 0-12 hour format.
  
     function Image (Str : String; Length : Natural := 0) return String;
     --  Return Str capitalized and cut to length number of characters. If
--- 63,72 ----
     -----------------------
  
     function Am_Pm (H : Natural) return String;
!    --  Return AM or PM depending on the hour H
  
     function Hour_12 (H : Natural) return Positive;
!    --  Convert a 1-24h format to a 0-12 hour format
  
     function Image (Str : String; Length : Natural := 0) return String;
     --  Return Str capitalized and cut to length number of characters. If
*************** package body GNAT.Calendar.Time_IO is
*** 75,92 ****
     function Image
       (N       : Long_Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0)
!       return    String;
!    --  Return image of N. This number is eventually padded with zeros or
!    --  spaces depending of the length required. If length is 0 then no padding
!    --  occurs.
  
     function Image
       (N       : Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0)
!       return    String;
!    --  As above with N provided in Integer format.
  
     -----------
     -- Am_Pm --
--- 75,89 ----
     function Image
       (N       : Long_Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0) return String;
!    --  Return image of N. This number is eventually padded with zeros or spaces
!    --  depending of the length required. If length is 0 then no padding occurs.
  
     function Image
       (N       : Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0) return String;
!    --  As above with N provided in Integer format
  
     -----------
     -- Am_Pm --
*************** package body GNAT.Calendar.Time_IO is
*** 122,134 ****
  
     function Image
       (Str    : String;
!       Length : Natural := 0)
!       return   String
     is
        use Ada.Characters.Handling;
        Local : constant String :=
                  To_Upper (Str (1)) & To_Lower (Str (2 .. Str'Last));
- 
     begin
        if Length = 0 then
           return Local;
--- 119,129 ----
  
     function Image
       (Str    : String;
!       Length : Natural := 0) return String
     is
        use Ada.Characters.Handling;
        Local : constant String :=
                  To_Upper (Str (1)) & To_Lower (Str (2 .. Str'Last));
     begin
        if Length = 0 then
           return Local;
*************** package body GNAT.Calendar.Time_IO is
*** 144,151 ****
     function Image
       (N       : Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0)
!       return    String
     is
     begin
        return Image (Long_Integer (N), Padding, Length);
--- 139,145 ----
     function Image
       (N       : Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0) return String
     is
     begin
        return Image (Long_Integer (N), Padding, Length);
*************** package body GNAT.Calendar.Time_IO is
*** 154,161 ****
     function Image
       (N       : Long_Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0)
!       return    String
     is
        function Pad_Char return String;
  
--- 148,154 ----
     function Image
       (N       : Long_Integer;
        Padding : Padding_Mode := Zero;
!       Length  : Natural := 0) return String
     is
        function Pad_Char return String;
  
*************** package body GNAT.Calendar.Time_IO is
*** 180,186 ****
     begin
        if Length = 0 or else Padding = None then
           return NI (2 .. NI'Last);
- 
        else
           return NIP (NIP'Last - Length + 1 .. NIP'Last);
        end if;
--- 173,178 ----
*************** package body GNAT.Calendar.Time_IO is
*** 192,204 ****
  
     function Image
       (Date    : Ada.Calendar.Time;
!       Picture : Picture_String)
!       return    String
     is
!       Padding    : Padding_Mode := Zero;
        --  Padding is set for one directive
  
!       Result     : Unbounded_String;
  
        Year       : Year_Number;
        Month      : Month_Number;
--- 184,195 ----
  
     function Image
       (Date    : Ada.Calendar.Time;
!       Picture : Picture_String) return String
     is
!       Padding : Padding_Mode := Zero;
        --  Padding is set for one directive
  
!       Result : Unbounded_String;
  
        Year       : Year_Number;
        Month      : Month_Number;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-catiio.ads gcc-4.1.0/gcc/ada/g-catiio.ads
*** gcc-4.0.2/gcc/ada/g-catiio.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-catiio.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 1999-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1999-2005, AdaCore                     --
  --                                                                          --
  -- This specification is derived from the Ada Reference Manual for use with --
  -- GNAT. The copyright notice above, and the license provisions that follow --
***************
*** 20,27 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 20,27 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Calendar.Time_IO is
*** 116,131 ****
  
     function Image
       (Date    : Ada.Calendar.Time;
!       Picture : Picture_String)
!       return    String;
!    --  Return Date as a string with format Picture.
!    --  raise Picture_Error if picture string is wrong
  
     procedure Put_Time
       (Date    : Ada.Calendar.Time;
        Picture : Picture_String);
!    --  Put Date with format Picture.
!    --  raise Picture_Error if picture string is wrong
  
  private
     ISO_Date      : constant Picture_String := "%Y-%m-%d";
--- 116,130 ----
  
     function Image
       (Date    : Ada.Calendar.Time;
!       Picture : Picture_String) return String;
!    --  Return Date as a string with format Picture. Raise Picture_Error if
!    --  picture string is wrong.
  
     procedure Put_Time
       (Date    : Ada.Calendar.Time;
        Picture : Picture_String);
!    --  Put Date with format Picture. Raise Picture_Error if picture string is
!    --  wrong
  
  private
     ISO_Date      : constant Picture_String := "%Y-%m-%d";
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgi.adb gcc-4.1.0/gcc/ada/g-cgi.adb
*** gcc-4.0.2/gcc/ada/g-cgi.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgi.adb	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2001 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                      Copyright (C) 2001-2005, AdaCore                    --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.CGI is
*** 50,59 ****
     --  services exported by this unit.
  
     Current_Method : Method_Type;
!    --  This is the current method used to pass CGI parameters.
  
     Header_Sent : Boolean := False;
!    --  Will be set to True when the header will be sent.
  
     --  Key/Value table declaration
  
--- 50,59 ----
     --  services exported by this unit.
  
     Current_Method : Method_Type;
!    --  This is the current method used to pass CGI parameters
  
     Header_Sent : Boolean := False;
!    --  Will be set to True when the header will be sent
  
     --  Key/Value table declaration
  
*************** package body GNAT.CGI is
*** 72,78 ****
  
     procedure Check_Environment;
     pragma Inline (Check_Environment);
!    --  This procedure will raise Data_Error if Valid_Environment is False.
  
     procedure Initialize;
     --  Initialize CGI package by reading the runtime environment. This
--- 72,78 ----
  
     procedure Check_Environment;
     pragma Inline (Check_Environment);
!    --  This procedure will raise Data_Error if Valid_Environment is False
  
     procedure Initialize;
     --  Initialize CGI package by reading the runtime environment. This
*************** package body GNAT.CGI is
*** 178,184 ****
        --  for the data is passed in CONTENT_LENGTH environment variable.
  
        procedure Set_Parameter_Table (Data : String);
!       --  Parse the parameter data and set the parameter table.
  
        --------------------
        -- Initialize_GET --
--- 178,184 ----
        --  for the data is passed in CONTENT_LENGTH environment variable.
  
        procedure Set_Parameter_Table (Data : String);
!       --  Parse the parameter data and set the parameter table
  
        --------------------
        -- Initialize_GET --
*************** package body GNAT.CGI is
*** 328,334 ****
        Required : Boolean := False) return String
     is
        function Get_Environment (Variable_Name : String) return String;
!       --  Returns the environment variable content.
  
        ---------------------
        -- Get_Environment --
--- 328,334 ----
        Required : Boolean := False) return String
     is
        function Get_Environment (Variable_Name : String) return String;
!       --  Returns the environment variable content
  
        ---------------------
        -- Get_Environment --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgi.ads gcc-4.1.0/gcc/ada/g-cgi.ads
*** gcc-4.0.2/gcc/ada/g-cgi.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgi.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 2000-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.CGI is
*** 115,121 ****
     --  and will be raised when calling any services below (except for Ok).
  
     Parameter_Not_Found : exception;
!    --  This exception is raised when a specific parameter is not found.
  
     Default_Header : constant String := "Content-type: text/html";
     --  This is the default header returned by Put_Header. If the CGI program
--- 115,121 ----
     --  and will be raised when calling any services below (except for Ok).
  
     Parameter_Not_Found : exception;
!    --  This exception is raised when a specific parameter is not found
  
     Default_Header : constant String := "Content-type: text/html";
     --  This is the default header returned by Put_Header. If the CGI program
*************** package GNAT.CGI is
*** 186,197 ****
     --  the exception Data_Error.
  
     function Method return Method_Type;
!    --  Returns the method used to call the CGI.
  
     function Metavariable
       (Name     : Metavariable_Name;
!       Required : Boolean := False)
!       return     String;
     --  Returns parameter Name value. Returns the null string if Name
     --  environment variable is not defined or raises Data_Error if
     --  Required is set to True.
--- 186,196 ----
     --  the exception Data_Error.
  
     function Method return Method_Type;
!    --  Returns the method used to call the CGI
  
     function Metavariable
       (Name     : Metavariable_Name;
!       Required : Boolean := False) return String;
     --  Returns parameter Name value. Returns the null string if Name
     --  environment variable is not defined or raises Data_Error if
     --  Required is set to True.
*************** package GNAT.CGI is
*** 215,222 ****
  
     function Value
       (Key      : String;
!       Required : Boolean := False)
!       return     String;
     --  Returns the parameter value associated to the parameter named Key.
     --  If parameter does not exist, returns an empty string if Required
     --  is False and raises the exception Parameter_Not_Found otherwise.
--- 214,220 ----
  
     function Value
       (Key      : String;
!       Required : Boolean := False) return String;
     --  Returns the parameter value associated to the parameter named Key.
     --  If parameter does not exist, returns an empty string if Required
     --  is False and raises the exception Parameter_Not_Found otherwise.
*************** package GNAT.CGI is
*** 227,233 ****
     --  (i.e. Position > Argument_Count)
  
     function Key_Exists (Key : String) return Boolean;
!    --  Returns True if the parameter named Key existx and False otherwise.
  
     function Key (Position : Positive) return String;
     --  Returns the parameter key associated with the CGI parameter number
--- 225,231 ----
     --  (i.e. Position > Argument_Count)
  
     function Key_Exists (Key : String) return Boolean;
!    --  Returns True if the parameter named Key exists and False otherwise
  
     function Key (Position : Positive) return String;
     --  Returns the parameter key associated with the CGI parameter number
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgicoo.adb gcc-4.1.0/gcc/ada/g-cgicoo.adb
*** gcc-4.0.2/gcc/ada/g-cgicoo.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgicoo.adb	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2000-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.CGI.Cookie is
*** 43,54 ****
     use Ada;
  
     Valid_Environment : Boolean := False;
!    --  This boolean will be set to True if the initialization was fine.
  
     Header_Sent : Boolean := False;
!    --  Will be set to True when the header will be sent.
  
!    --  Cookie data that have been added.
  
     type String_Access is access String;
  
--- 43,54 ----
     use Ada;
  
     Valid_Environment : Boolean := False;
!    --  This boolean will be set to True if the initialization was fine
  
     Header_Sent : Boolean := False;
!    --  Will be set to True when the header will be sent
  
!    --  Cookie data that has been added
  
     type String_Access is access String;
  
*************** package body GNAT.CGI.Cookie is
*** 67,80 ****
     end record;
  
     package Cookie_Table is new Table (Cookie_Data, Positive, 1, 5, 50);
!    --  This is the table to keep all cookies to be sent back to the server.
  
     package Key_Value_Table is new Table (Key_Value, Positive, 1, 1, 50);
!    --  This is the table to keep all cookies received from the server.
  
     procedure Check_Environment;
     pragma Inline (Check_Environment);
!    --  This procedure will raise Data_Error if Valid_Environment is False.
  
     procedure Initialize;
     --  Initialize CGI package by reading the runtime environment. This
--- 67,80 ----
     end record;
  
     package Cookie_Table is new Table (Cookie_Data, Positive, 1, 5, 50);
!    --  This is the table to keep all cookies to be sent back to the server
  
     package Key_Value_Table is new Table (Key_Value, Positive, 1, 1, 50);
!    --  This is the table to keep all cookies received from the server
  
     procedure Check_Environment;
     pragma Inline (Check_Environment);
!    --  This procedure will raise Data_Error if Valid_Environment is False
  
     procedure Initialize;
     --  Initialize CGI package by reading the runtime environment. This
*************** package body GNAT.CGI.Cookie is
*** 149,155 ****
        HTTP_COOKIE : constant String := Metavariable (CGI.HTTP_Cookie);
  
        procedure Set_Parameter_Table (Data : String);
!       --  Parse Data and insert information in Key_Value_Table.
  
        -------------------------
        -- Set_Parameter_Table --
--- 149,155 ----
        HTTP_COOKIE : constant String := Metavariable (CGI.HTTP_Cookie);
  
        procedure Set_Parameter_Table (Data : String);
!       --  Parse Data and insert information in Key_Value_Table
  
        -------------------------
        -- Set_Parameter_Table --
*************** package body GNAT.CGI.Cookie is
*** 161,168 ****
           --  Add a single parameter into the table at index K. The parameter
           --  format is "key=value".
  
!          Count : constant Positive
!            := 1 + Strings.Fixed.Count (Data, Strings.Maps.To_Set (";"));
           --  Count is the number of parameters in the string. Parameters are
           --  separated by ampersand character.
  
--- 161,168 ----
           --  Add a single parameter into the table at index K. The parameter
           --  format is "key=value".
  
!          Count : constant Positive :=
!                    1 + Strings.Fixed.Count (Data, Strings.Maps.To_Set (";"));
           --  Count is the number of parameters in the string. Parameters are
           --  separated by ampersand character.
  
*************** package body GNAT.CGI.Cookie is
*** 185,190 ****
--- 185,192 ----
              end if;
           end Add_Parameter;
  
+       --  Start of processing for Set_Parameter_Table
+ 
        begin
           Key_Value_Table.Set_Last (Count);
  
*************** package body GNAT.CGI.Cookie is
*** 196,206 ****
              Index := Sep + 2;
           end loop;
  
!          --  add last parameter
  
           Add_Parameter (Count, Data (Index .. Data'Last));
        end Set_Parameter_Table;
  
     begin
        if HTTP_COOKIE /= "" then
           Set_Parameter_Table (HTTP_COOKIE);
--- 198,210 ----
              Index := Sep + 2;
           end loop;
  
!          --  Add last parameter
  
           Add_Parameter (Count, Data (Index .. Data'Last));
        end Set_Parameter_Table;
  
+    --  Start of processing for Initialize
+ 
     begin
        if HTTP_COOKIE /= "" then
           Set_Parameter_Table (HTTP_COOKIE);
*************** package body GNAT.CGI.Cookie is
*** 245,251 ****
       (Header : String  := Default_Header;
        Force  : Boolean := False)
     is
- 
        procedure Output_Cookies;
        --  Iterate through the list of cookies to be sent to the server
        --  and output them.
--- 249,254 ----
*************** package body GNAT.CGI.Cookie is
*** 264,270 ****
              Max_Age : Natural;
              Path    : String;
              Secure  : Boolean);
!          --  Output one cookie in the CGI header.
  
           -----------------------
           -- Output_One_Cookie --
--- 267,273 ----
              Max_Age : Natural;
              Path    : String;
              Secure  : Boolean);
!          --  Output one cookie in the CGI header
  
           -----------------------
           -- Output_One_Cookie --
*************** package body GNAT.CGI.Cookie is
*** 344,350 ****
        Domain  : String   := "";
        Max_Age : Natural  := Natural'Last;
        Path    : String   := "/";
!       Secure  : Boolean  := False) is
     begin
        Cookie_Table.Increment_Last;
  
--- 347,354 ----
        Domain  : String   := "";
        Max_Age : Natural  := Natural'Last;
        Path    : String   := "/";
!       Secure  : Boolean  := False)
!    is
     begin
        Cookie_Table.Increment_Last;
  
*************** package body GNAT.CGI.Cookie is
*** 364,371 ****
  
     function Value
       (Key      : String;
!       Required : Boolean := False)
!       return     String
     is
     begin
        Check_Environment;
--- 368,374 ----
  
     function Value
       (Key      : String;
!       Required : Boolean := False) return String
     is
     begin
        Check_Environment;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgicoo.ads gcc-4.1.0/gcc/ada/g-cgicoo.ads
*** gcc-4.0.2/gcc/ada/g-cgicoo.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgicoo.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2000-2001 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,46 ****
  --  The complete CGI Cookie specification can be found in the RFC2109 at:
  --     http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt
  
! --  This package builds up data tables whose memory is not released.
! --  A CGI program is expected to be a short lived program and so it
! --  is adequate to have the underlying OS free the program on exit.
  
  package GNAT.CGI.Cookie is
  
--- 38,46 ----
  --  The complete CGI Cookie specification can be found in the RFC2109 at:
  --     http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt
  
! --  This package builds up data tables whose memory is not released. A CGI
! --  program is expected to be a short lived program and so it is adequate to
! --  have the underlying OS free the program on exit.
  
  package GNAT.CGI.Cookie is
  
*************** package GNAT.CGI.Cookie is
*** 50,56 ****
     --  will be raised when calling any services below (except for Ok).
  
     Cookie_Not_Found : exception;
!    --  This exception is raised when a specific parameter is not found.
  
     procedure Put_Header
       (Header : String  := Default_Header;
--- 50,56 ----
     --  will be raised when calling any services below (except for Ok).
  
     Cookie_Not_Found : exception;
!    --  This exception is raised when a specific parameter is not found
  
     procedure Put_Header
       (Header : String  := Default_Header;
*************** package GNAT.CGI.Cookie is
*** 67,99 ****
     --     max_age=<max_age>; path=<path>[; secured]
  
     function Ok return Boolean;
!    --  Returns True if the CGI cookie environment is valid and False
!    --  otherwise. Every service used when the CGI environment is not valid
!    --  will raise the exception Data_Error.
  
     function Count return Natural;
!    --  Returns the number of cookies received by the CGI.
  
     function Value
       (Key      : String;
!       Required : Boolean := False)
!       return     String;
!    --  Returns the cookie value associated with the cookie named Key. If
!    --  cookie does not exist, returns an empty string if Required is
!    --  False and raises the exception Cookie_Not_Found otherwise.
  
     function Value (Position : Positive) return String;
!    --  Returns the value associated with the cookie number Position
!    --  of the CGI. It raises Cookie_Not_Found if there is no such
!    --  cookie (i.e. Position > Count)
  
     function Exists (Key : String) return Boolean;
!    --  Returns True if the cookie named Key exist and False otherwise.
  
     function Key (Position : Positive) return String;
!    --  Returns the key associated with the cookie number Position of
!    --  the CGI. It raises Cookie_Not_Found if there is no such cookie
!    --  (i.e. Position > Count)
  
     procedure Set
       (Key     : String;
--- 67,98 ----
     --     max_age=<max_age>; path=<path>[; secured]
  
     function Ok return Boolean;
!    --  Returns True if the CGI cookie environment is valid and False otherwise.
!    --  Every service used when the CGI environment is not valid will raise the
!    --  exception Data_Error.
  
     function Count return Natural;
!    --  Returns the number of cookies received by the CGI
  
     function Value
       (Key      : String;
!       Required : Boolean := False) return String;
!    --  Returns the cookie value associated with the cookie named Key. If cookie
!    --  does not exist, returns an empty string if Required is False and raises
!    --  the exception Cookie_Not_Found otherwise.
  
     function Value (Position : Positive) return String;
!    --  Returns the value associated with the cookie number Position of the CGI.
!    --  It raises Cookie_Not_Found if there is no such cookie (i.e. Position >
!    --  Count)
  
     function Exists (Key : String) return Boolean;
!    --  Returns True if the cookie named Key exist and False otherwise
  
     function Key (Position : Positive) return String;
!    --  Returns the key associated with the cookie number Position of the CGI.
!    --  It raises Cookie_Not_Found if there is no such cookie (i.e. Position >
!    --  Count)
  
     procedure Set
       (Key     : String;
*************** package GNAT.CGI.Cookie is
*** 103,110 ****
        Max_Age : Natural := Natural'Last;
        Path    : String  := "/";
        Secure  : Boolean := False);
!    --  Add a cookie to the list of cookies. This will be sent back
!    --  to the server by the Put_Header service above.
  
     generic
        with procedure
--- 102,109 ----
        Max_Age : Natural := Natural'Last;
        Path    : String  := "/";
        Secure  : Boolean := False);
!    --  Add a cookie to the list of cookies. This will be sent back to the
!    --  server by the Put_Header service above.
  
     generic
        with procedure
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgideb.adb gcc-4.1.0/gcc/ada/g-cgideb.adb
*** gcc-4.0.2/gcc/ada/g-cgideb.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgideb.adb	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2000-2001 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.CGI.Debug is
*** 37,49 ****
  
     use Ada.Strings.Unbounded;
  
!    --
!    --  Define the abstract type which act as a template for all debug IO mode.
     --  To create a new IO mode you must:
     --     1. create a new package spec
     --     2. create a new type derived from IO.Format
     --     3. implement all the abstract rountines in IO
-    --
  
     package IO is
  
--- 37,47 ----
  
     use Ada.Strings.Unbounded;
  
!    --  Define the abstract type which act as a template for all debug IO modes.
     --  To create a new IO mode you must:
     --     1. create a new package spec
     --     2. create a new type derived from IO.Format
     --     3. implement all the abstract rountines in IO
  
     package IO is
  
*************** package body GNAT.CGI.Debug is
*** 54,104 ****
        function Variable
          (Mode  : Format;
           Name  : String;
!          Value : String)
!          return  String
!       is abstract;
!       --  Returns variable Name and its associated value.
  
!       function New_Line
!         (Mode : Format)
!          return String
!       is abstract;
        --  Returns a new line such as this concatenated between two strings
        --  will display the strings on two lines.
  
!       function Title
!         (Mode : Format;
!          Str  : String)
!          return String
!       is abstract;
        --  Returns Str as a Title. A title must be alone and centered on a
        --  line. Next output will be on the following line.
  
        function Header
          (Mode : Format;
!          Str  : String)
!          return String
!       is abstract;
        --  Returns Str as an Header. An header must be alone on its line. Next
        --  output will be on the following line.
  
     end IO;
  
!    --
!    --  IO for HTML mode
!    --
  
     package HTML_IO is
  
!       --  see IO for comments about these routines.
  
        type Format is new IO.Format with null record;
  
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String)
!          return  String;
  
        function New_Line (IO : in Format) return String;
  
--- 52,90 ----
        function Variable
          (Mode  : Format;
           Name  : String;
!          Value : String) return String is abstract;
!       --  Returns variable Name and its associated value
  
!       function New_Line (Mode : Format) return String is abstract;
        --  Returns a new line such as this concatenated between two strings
        --  will display the strings on two lines.
  
!       function Title (Mode : Format; Str : String) return String is abstract;
        --  Returns Str as a Title. A title must be alone and centered on a
        --  line. Next output will be on the following line.
  
        function Header
          (Mode : Format;
!          Str  : String) return String is abstract;
        --  Returns Str as an Header. An header must be alone on its line. Next
        --  output will be on the following line.
  
     end IO;
  
!    ----------------------
!    -- IO for HTML Mode --
!    ----------------------
  
     package HTML_IO is
  
!       --  See IO for comments about these routines
  
        type Format is new IO.Format with null record;
  
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String) return String;
  
        function New_Line (IO : in Format) return String;
  
*************** package body GNAT.CGI.Debug is
*** 108,116 ****
  
     end HTML_IO;
  
!    --
!    --  IO for plain text mode
!    --
  
     package Text_IO is
  
--- 94,102 ----
  
     end HTML_IO;
  
!    ----------------------------
!    -- IO for Plain Text Mode --
!    ----------------------------
  
     package Text_IO is
  
*************** package body GNAT.CGI.Debug is
*** 121,128 ****
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String)
!          return  String;
  
        function New_Line (IO : in Format) return String;
  
--- 107,113 ----
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String) return String;
  
        function New_Line (IO : in Format) return String;
  
*************** package body GNAT.CGI.Debug is
*** 188,197 ****
        NL : constant String := (1 => ASCII.LF);
  
        function Bold (S : in String) return String;
!       --  Returns S as an HTML bold string.
  
        function Italic (S : in String) return String;
!       --  Returns S as an HTML italic string.
  
        ----------
        -- Bold --
--- 173,182 ----
        NL : constant String := (1 => ASCII.LF);
  
        function Bold (S : in String) return String;
!       --  Returns S as an HTML bold string
  
        function Italic (S : in String) return String;
!       --  Returns S as an HTML italic string
  
        ----------
        -- Bold --
*************** package body GNAT.CGI.Debug is
*** 207,214 ****
        ------------
  
        function Header (IO : in Format; Str : in String) return String is
!          pragma Warnings (Off, IO);
! 
        begin
           return "<h2>" & Str & "</h2>" & NL;
        end Header;
--- 192,198 ----
        ------------
  
        function Header (IO : in Format; Str : in String) return String is
!          pragma Unreferenced (IO);
        begin
           return "<h2>" & Str & "</h2>" & NL;
        end Header;
*************** package body GNAT.CGI.Debug is
*** 227,234 ****
        --------------
  
        function New_Line (IO : in Format) return String is
!          pragma Warnings (Off, IO);
! 
        begin
           return "<br>" & NL;
        end New_Line;
--- 211,217 ----
        --------------
  
        function New_Line (IO : in Format) return String is
!          pragma Unreferenced (IO);
        begin
           return "<br>" & NL;
        end New_Line;
*************** package body GNAT.CGI.Debug is
*** 238,245 ****
        -----------
  
        function Title (IO : in Format; Str : in String) return String is
!          pragma Warnings (Off, IO);
! 
        begin
           return "<p align=center><font size=+2>" & Str & "</font></p>" & NL;
        end Title;
--- 221,227 ----
        -----------
  
        function Title (IO : in Format; Str : in String) return String is
!          pragma Unreferenced (IO);
        begin
           return "<p align=center><font size=+2>" & Str & "</font></p>" & NL;
        end Title;
*************** package body GNAT.CGI.Debug is
*** 251,261 ****
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String)
!          return  String
        is
!          pragma Warnings (Off, IO);
! 
        begin
           return Bold (Name) & " = " & Italic (Value);
        end Variable;
--- 233,241 ----
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String) return String
        is
!          pragma Unreferenced (IO);
        begin
           return Bold (Name) & " = " & Italic (Value);
        end Variable;
*************** package body GNAT.CGI.Debug is
*** 282,289 ****
        --------------
  
        function New_Line (IO : in Format) return String is
!          pragma Warnings (Off, IO);
! 
        begin
           return String'(1 => ASCII.LF);
        end New_Line;
--- 262,268 ----
        --------------
  
        function New_Line (IO : in Format) return String is
!          pragma Unreferenced (IO);
        begin
           return String'(1 => ASCII.LF);
        end New_Line;
*************** package body GNAT.CGI.Debug is
*** 295,301 ****
        function Title (IO : in Format; Str : in String) return String is
           Spaces : constant Natural := (80 - Str'Length) / 2;
           Indent : constant String (1 .. Spaces) := (others => ' ');
- 
        begin
           return Indent & Str & New_Line (IO);
        end Title;
--- 274,279 ----
*************** package body GNAT.CGI.Debug is
*** 307,317 ****
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String)
!          return  String
        is
!          pragma Warnings (Off, IO);
! 
        begin
           return "   " & Name & " = " & Value;
        end Variable;
--- 285,293 ----
        function Variable
          (IO    : Format;
           Name  : String;
!          Value : String) return String
        is
!          pragma Unreferenced (IO);
        begin
           return "   " & Name & " = " & Value;
        end Variable;
*************** package body GNAT.CGI.Debug is
*** 324,330 ****
  
     function HTML_Output return String is
        HTML : HTML_IO.Format;
- 
     begin
        return IO.Output (Mode => HTML);
     end HTML_Output;
--- 300,305 ----
*************** package body GNAT.CGI.Debug is
*** 335,341 ****
  
     function Text_Output return String is
        Text : Text_IO.Format;
- 
     begin
        return IO.Output (Mode => Text);
     end Text_Output;
--- 310,315 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-cgideb.ads gcc-4.1.0/gcc/ada/g-cgideb.ads
*** gcc-4.0.2/gcc/ada/g-cgideb.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-cgideb.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2000 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 36,44 ****
  
  package GNAT.CGI.Debug is
  
!    --  Both functions below output all possible CGI parameters set. These
!    --  are the form field and all CGI environment variables which make the
!    --  CGI environment at runtime.
  
     function Text_Output return String;
     --  Returns a plain text version of the CGI runtime environment
--- 36,44 ----
  
  package GNAT.CGI.Debug is
  
!    --  Both functions below output all possible CGI parameters set. These are
!    --  the form field and all CGI environment variables which make the CGI
!    --  environment at runtime.
  
     function Text_Output return String;
     --  Returns a plain text version of the CGI runtime environment
diff -Nrcpad gcc-4.0.2/gcc/ada/g-comlin.adb gcc-4.1.0/gcc/ada/g-comlin.adb
*** gcc-4.0.2/gcc/ada/g-comlin.adb	Thu Apr  1 10:04:37 2004
--- gcc-4.1.0/gcc/ada/g-comlin.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1999-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1999-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Command_Line is
*** 49,71 ****
     The_Parameter : Parameter_Type;
     The_Switch    : Parameter_Type;
     --  This type and this variable are provided to store the current switch
!    --  and parameter
  
     type Is_Switch_Type is array (1 .. CL.Argument_Count) of Boolean;
     pragma Pack (Is_Switch_Type);
  
     Is_Switch : Is_Switch_Type := (others => False);
     --  Indicates wich arguments on the command line are considered not be
!    --  switches or parameters to switches (this leaves e.g. the filenames...)
  
     type Section_Type is array (1 .. CL.Argument_Count + 1) of Section_Number;
     pragma Pack (Section_Type);
     Section : Section_Type := (others => 1);
!    --  Contains the number of the section associated with the current
!    --  switch.  If this number is 0, then it is a section delimiter, which
!    --  is never returns by GetOpt.
!    --  The last element of this array is set to 0 to avoid the need to test for
!    --  if we have reached the end of the command line in loops.
  
     Current_Argument : Natural := 1;
     --  Number of the current argument parsed on the command line
--- 49,70 ----
     The_Parameter : Parameter_Type;
     The_Switch    : Parameter_Type;
     --  This type and this variable are provided to store the current switch
!    --  and parameter.
  
     type Is_Switch_Type is array (1 .. CL.Argument_Count) of Boolean;
     pragma Pack (Is_Switch_Type);
  
     Is_Switch : Is_Switch_Type := (others => False);
     --  Indicates wich arguments on the command line are considered not be
!    --  switches or parameters to switches (this leaves e.g. the filenames...).
  
     type Section_Type is array (1 .. CL.Argument_Count + 1) of Section_Number;
     pragma Pack (Section_Type);
     Section : Section_Type := (others => 1);
!    --  Contains the number of the section associated with the current switch.
!    --  If this number is 0, then it is a section delimiter, which is never
!    --  returns by GetOpt. The last element of this array is set to 0 to avoid
!    --  the need to test for reaching the end of the command line in loops.
  
     Current_Argument : Natural := 1;
     --  Number of the current argument parsed on the command line
*************** package body GNAT.Command_Line is
*** 82,89 ****
     --  True if we are expanding a file
  
     Switch_Character : Character := '-';
!    --  The character at the beginning of the command line arguments,
!    --  indicating the beginning of a switch
  
     Stop_At_First : Boolean := False;
     --  If it is True then Getopt stops at the first non-switch argument
--- 81,88 ----
     --  True if we are expanding a file
  
     Switch_Character : Character := '-';
!    --  The character at the beginning of the command line arguments, indicating
!    --  the beginning of a switch.
  
     Stop_At_First : Boolean := False;
     --  If it is True then Getopt stops at the first non-switch argument
*************** package body GNAT.Command_Line is
*** 97,120 ****
     --  Set the parameter that will be returned by Parameter below
  
     function Goto_Next_Argument_In_Section return Boolean;
!    --  Go to the next argument on the command line. If we are at the end
!    --  of the current section, we want to make sure there is no other
!    --  identical section on the command line (there might be multiple
!    --  instances of -largs). Returns True iff there is another argument.
  
     function Get_File_Names_Case_Sensitive return Integer;
     pragma Import (C, Get_File_Names_Case_Sensitive,
                    "__gnat_get_file_names_case_sensitive");
     File_Names_Case_Sensitive : constant Boolean :=
                                   Get_File_Names_Case_Sensitive /= 0;
  
     procedure Canonical_Case_File_Name (S : in out String);
!    --  Given a file name, converts it to canonical case form. For systems
!    --  where file names are case sensitive, this procedure has no effect.
!    --  If file names are not case sensitive (i.e. for example if you have
!    --  the file "xyz.adb", you can refer to it as XYZ.adb or XyZ.AdB), then
!    --  this call converts the given string to canonical all lower case form,
!    --  so that two file names compare equal if they refer to the same file.
  
     ------------------------------
     -- Canonical_Case_File_Name --
--- 96,120 ----
     --  Set the parameter that will be returned by Parameter below
  
     function Goto_Next_Argument_In_Section return Boolean;
!    --  Go to the next argument on the command line. If we are at the end of the
!    --  current section, we want to make sure there is no other identical
!    --  section on the command line (there might be multiple instances of
!    --  -largs). Returns True iff there is another argument.
  
     function Get_File_Names_Case_Sensitive return Integer;
     pragma Import (C, Get_File_Names_Case_Sensitive,
                    "__gnat_get_file_names_case_sensitive");
+ 
     File_Names_Case_Sensitive : constant Boolean :=
                                   Get_File_Names_Case_Sensitive /= 0;
  
     procedure Canonical_Case_File_Name (S : in out String);
!    --  Given a file name, converts it to canonical case form. For systems where
!    --  file names are case sensitive, this procedure has no effect. If file
!    --  names are not case sensitive (i.e. for example if you have the file
!    --  "xyz.adb", you can refer to it as XYZ.adb or XyZ.AdB), then this call
!    --  converts the given string to canonical all lower case form, so that two
!    --  file names compare equal if they refer to the same file.
  
     ------------------------------
     -- Canonical_Case_File_Name --
*************** package body GNAT.Command_Line is
*** 150,157 ****
        NL      : Positive;
  
     begin
!       --  It is assumed that a directory is opened at the current level;
!       --  otherwise, GNAT.Directory_Operations.Directory_Error will be raised
        --  at the first call to Read.
  
        loop
--- 150,157 ----
        NL      : Positive;
  
     begin
!       --  It is assumed that a directory is opened at the current level.
!       --  Otherwise GNAT.Directory_Operations.Directory_Error will be raised
        --  at the first call to Read.
  
        loop
*************** package body GNAT.Command_Line is
*** 162,168 ****
           if Last = 0 then
              Close (It.Levels (Current).Dir);
  
!             --  If we are at level 1, we are finished; return an empty string.
  
              if Current = 1 then
                 return String'(1 .. 0 => ' ');
--- 162,168 ----
           if Last = 0 then
              Close (It.Levels (Current).Dir);
  
!             --  If we are at level 1, we are finished; return an empty string
  
              if Current = 1 then
                 return String'(1 .. 0 => ' ');
*************** package body GNAT.Command_Line is
*** 384,394 ****
           Arg            : String renames CL.Argument (Current_Argument);
           Index_Switches : Natural := 0;
           Max_Length     : Natural := 0;
!          Index          : Natural := Switches'First;
           Length         : Natural := 1;
           End_Index      : Natural;
  
        begin
           while Index <= Switches'Last loop
  
              --  Search the length of the parameter at this position in Switches
--- 384,402 ----
           Arg            : String renames CL.Argument (Current_Argument);
           Index_Switches : Natural := 0;
           Max_Length     : Natural := 0;
!          Index          : Natural;
           Length         : Natural := 1;
           End_Index      : Natural;
  
        begin
+          --  Remove all leading spaces first to make sure that Index points
+          --  at the start of the first switch.
+ 
+          Index := Switches'First;
+          while Index <= Switches'Last and then Switches (Index) = ' ' loop
+             Index := Index + 1;
+          end loop;
+ 
           while Index <= Switches'Last loop
  
              --  Search the length of the parameter at this position in Switches
diff -Nrcpad gcc-4.0.2/gcc/ada/g-comlin.ads gcc-4.1.0/gcc/ada/g-comlin.ads
*** gcc-4.0.2/gcc/ada/g-comlin.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-comlin.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 1999-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1999-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 72,78 ****
  
  --  A more complicated example would involve the use of sections for the
  --  switches, as for instance in gnatmake. These sections are separated by
! --  special switches, chosen by the programer. Each section act as a
  --  command line of its own.
  
  --  begin
--- 72,78 ----
  
  --  A more complicated example would involve the use of sections for the
  --  switches, as for instance in gnatmake. These sections are separated by
! --  special switches chosen by the programer. Each section acts as a
  --  command line of its own.
  
  --  begin
*************** package GNAT.Command_Line is
*** 104,127 ****
        Stop_At_First_Non_Switch : Boolean := False;
        Section_Delimiters       : String := "");
     --  This procedure resets the internal state of the package to prepare
!    --  to rescan the parameters. It need not (but may be) called before the
!    --  first use of Getopt, but it must be called if you want to start
!    --  rescanning the command line parameters from the start. The optional
!    --  parameter Switch_Char can be used to reset the switch character,
!    --  e.g. to '/' for use in DOS-like systems. The optional parameter
!    --  Stop_At_First_Non_Switch indicates if Getopt is to look for switches
!    --  on the whole command line, or if it has to stop as soon as a
     --  non-switch argument is found.
     --
     --  Example:
     --
     --      Arguments: my_application file1 -c
     --
!    --      if Stop_At_First_Non_Switch is False, then -c will be considered
     --      as a switch (returned by getopt), otherwise it will be considered
     --      as a normal argument (returned by Get_Argument).
     --
!    --  if SECTION_DELIMITERS is set, then every following subprogram
     --  (Getopt and Get_Argument) will only operate within a section, which
     --  is delimited by any of these delimiters or the end of the command line.
     --
--- 104,127 ----
        Stop_At_First_Non_Switch : Boolean := False;
        Section_Delimiters       : String := "");
     --  This procedure resets the internal state of the package to prepare
!    --  to rescan the parameters. It does not need to be called before the
!    --  first use of Getopt (but it could be), but it must be called if you want
!    --  to start rescanning the command line parameters from the start. The
!    --  optional parameter Switch_Char can be used to reset the switch
!    --  character, e.g. to '/' for use in DOS-like systems. The optional
!    --  parameter Stop_At_First_Non_Switch indicates if Getopt is to look for
!    --  switches on the whole command line, or if it has to stop as soon as a
     --  non-switch argument is found.
     --
     --  Example:
     --
     --      Arguments: my_application file1 -c
     --
!    --      If Stop_At_First_Non_Switch is False, then -c will be considered
     --      as a switch (returned by getopt), otherwise it will be considered
     --      as a normal argument (returned by Get_Argument).
     --
!    --  If SECTION_DELIMITERS is set, then every following subprogram
     --  (Getopt and Get_Argument) will only operate within a section, which
     --  is delimited by any of these delimiters or the end of the command line.
     --
*************** package GNAT.Command_Line is
*** 134,144 ****
     --      and -largs and includes '-d -e' and the last one includes '-f'
  
     procedure Goto_Section (Name : String := "");
!    --  Change the current section. The next Getopt of Get_Argument will
!    --  start looking at the beginning of the section. An empty name ("")
!    --  refers to the first section between the program name and the first
!    --  section delimiter.
!    --  If the section does not exist, then Invalid_Section is raised.
  
     function Full_Switch return String;
     --  Returns the full name of the last switch found (Getopt only returns
--- 134,144 ----
     --      and -largs and includes '-d -e' and the last one includes '-f'
  
     procedure Goto_Section (Name : String := "");
!    --  Change the current section. The next Getopt of Get_Argument will start
!    --  looking at the beginning of the section. An empty name ("") refers to
!    --  the first section between the program name and the first section
!    --  delimiter. If the section does not exist, then Invalid_Section is
!    --  raised.
  
     function Full_Switch return String;
     --  Returns the full name of the last switch found (Getopt only returns
*************** package GNAT.Command_Line is
*** 147,180 ****
     function Getopt
       (Switches    : String;
        Concatenate : Boolean := True) return Character;
!    --  This function moves to the next switch on the command line (defined
!    --  as a switch character followed by a character within Switches,
!    --  casing being significant). The result returned is the first
!    --  character of the particular switch located. If there are no more
!    --  switches in the current section, returns ASCII.NUL. If Concatenate is
!    --  True (by default), the switches need not be separated by spaces (they
!    --  can be concatenated if they do not require an argument, e.g. -ab is the
!    --  same as two separate arguments -a -b).
     --
     --  Switches is a string of all the possible switches, separated by a
!    --  space. A switch can be followed by one of the following characters :
     --
     --   ':'  The switch requires a parameter. There can optionally be a space
!    --        on the command line between the switch and its parameter
     --   '='  The switch requires a parameter. There can either be a '=' or a
!    --        space on the command line between the switch and its parameter
     --   '!'  The switch requires a parameter, but there can be no space on the
!    --        command line between the switch and its parameter
     --   '?'  The switch may have an optional parameter. There can be no space
!    --        between the switch and its argument
!    --        ex/ if Switches has the following value : "a? b"
!    --            The command line can be :
     --             -afoo    :  -a switch with 'foo' parameter
     --             -a foo   :  -a switch and another element on the
     --                           command line 'foo', returned by Get_Argument
     --
     --     Example: if Switches is "-a: -aO:", you can have the following
!    --              command lines :
     --                -aarg    :  'a' switch with 'arg' parameter
     --                -a arg   :  'a' switch with 'arg' parameter
     --                -aOarg   :  'aO' switch with 'arg' parameter
--- 147,186 ----
     function Getopt
       (Switches    : String;
        Concatenate : Boolean := True) return Character;
!    --  This function moves to the next switch on the command line (defined as
!    --  switch character followed by a character within Switches, casing being
!    --  significant). The result returned is the first character of the switch
!    --  that is located. If there are no more switches in the current section,
!    --  returns ASCII.NUL. If Concatenate is True (by default), the switches
!    --  does not need to be separated by spaces (they can be concatenated if
!    --  they do not require an argument, e.g. -ab is the ame as two separate
!    --  arguments -a -b).
     --
     --  Switches is a string of all the possible switches, separated by a
!    --  space. A switch can be followed by one of the following characters:
     --
     --   ':'  The switch requires a parameter. There can optionally be a space
!    --        on the command line between the switch and its parameter.
!    --
     --   '='  The switch requires a parameter. There can either be a '=' or a
!    --        space on the command line between the switch and its parameter.
!    --
     --   '!'  The switch requires a parameter, but there can be no space on the
!    --        command line between the switch and its parameter.
!    --
     --   '?'  The switch may have an optional parameter. There can be no space
!    --        between the switch and its argument.
!    --
!    --        e.g. if Switches has the following value : "a? b",
!    --        The command line can be:
!    --
     --             -afoo    :  -a switch with 'foo' parameter
     --             -a foo   :  -a switch and another element on the
     --                           command line 'foo', returned by Get_Argument
     --
     --     Example: if Switches is "-a: -aO:", you can have the following
!    --              command lines:
!    --
     --                -aarg    :  'a' switch with 'arg' parameter
     --                -a arg   :  'a' switch with 'arg' parameter
     --                -aOarg   :  'aO' switch with 'arg' parameter
*************** package GNAT.Command_Line is
*** 194,207 ****
     --
     --    Example
     --       Getopt ("* a b")
!    --       If the command line is '-a -c toto.o -b', GetOpt will return
!    --       successively 'a', '*', '*' and 'b'. When '*' is returnd,
     --       Full_Switch returns the corresponding item on the command line.
     --
     --
     --  When Getopt encounters an invalid switch, it raises the exception
     --  Invalid_Switch and sets Full_Switch to return the invalid switch.
!    --  When Getopt can not find the parameter associated with a switch, it
     --  raises Invalid_Parameter, and sets Full_Switch to return the invalid
     --  switch character.
     --
--- 200,213 ----
     --
     --    Example
     --       Getopt ("* a b")
!    --       If the command line is '-a -c toto.o -b', Getopt will return
!    --       successively 'a', '*', '*' and 'b'. When '*' is returned,
     --       Full_Switch returns the corresponding item on the command line.
     --
     --
     --  When Getopt encounters an invalid switch, it raises the exception
     --  Invalid_Switch and sets Full_Switch to return the invalid switch.
!    --  When Getopt cannot find the parameter associated with a switch, it
     --  raises Invalid_Parameter, and sets Full_Switch to return the invalid
     --  switch character.
     --
*************** package GNAT.Command_Line is
*** 221,244 ****
     --       raised and Full_Switch will return "ab".
  
     function Get_Argument (Do_Expansion : Boolean := False) return String;
!    --  Returns the next element in the command line which is not a switch.
     --  This function should not be called before Getopt has returned
     --  ASCII.NUL.
     --
!    --  If Expansion is True, then the parameter on the command
!    --  line will considered as filename with wild cards, and will be
!    --  expanded. The matching file names will be returned one at a time.
!    --  When there are no more arguments on the command line, this function
!    --  returns an empty string. This is useful in non-Unix systems for
!    --  obtaining normal expansion of wild card references.
  
     function Parameter return String;
!    --  Returns parameter associated with the last switch returned by Getopt.
!    --  If no parameter was associated with the last switch, or no previous
!    --  call has been made to Get_Argument, raises Invalid_Parameter.
     --  If the last switch was associated with an optional argument and this
     --  argument was not found on the command line, Parameter returns an empty
!    --  string
  
     type Expansion_Iterator is limited private;
     --  Type used during expansion of file names
--- 227,250 ----
     --       raised and Full_Switch will return "ab".
  
     function Get_Argument (Do_Expansion : Boolean := False) return String;
!    --  Returns the next element on the command line which is not a switch.
     --  This function should not be called before Getopt has returned
     --  ASCII.NUL.
     --
!    --  If Expansion is True, then the parameter on the command line will be
!    --  considered as a filename with wild cards, and will be expanded. The
!    --  matching file names will be returned one at a time. When there are no
!    --  more arguments on the command line, this function returns an empty
!    --  string. This is useful in non-Unix systems for obtaining normal
!    --  expansion of wild card references.
  
     function Parameter return String;
!    --  Returns the parameter associated with the last switch returned by
!    --  Getopt. If no parameter was associated with the last switch, or no
!    --  previous call has been made to Get_Argument, raises Invalid_Parameter.
     --  If the last switch was associated with an optional argument and this
     --  argument was not found on the command line, Parameter returns an empty
!    --  string.
  
     type Expansion_Iterator is limited private;
     --  Type used during expansion of file names
*************** package GNAT.Command_Line is
*** 254,272 ****
     --  Basic_Regexp is True). When Directory is an empty string, the current
     --  directory is searched.
     --
!    --  Pattern may contains directory separators (as in "src/*/*.ada").
     --  Subdirectories of Directory will also be searched, up to one
     --  hundred levels deep.
     --
     --  When Start_Expansion has been called, function Expansion should be
!    --  called repetitively until it returns an empty string, before
     --  Start_Expansion can be called again with the same Expansion_Iterator
     --  variable.
  
     function Expansion (Iterator : Expansion_Iterator) return String;
!    --  Return the next file in the directory matching the parameters given
     --  to Start_Expansion and updates Iterator to point to the next entry.
!    --  Returns an empty string when there are no more files in the directory
     --  and its subdirectories.
     --
     --  If Expansion is called again after an empty string has been returned,
--- 260,278 ----
     --  Basic_Regexp is True). When Directory is an empty string, the current
     --  directory is searched.
     --
!    --  Pattern may contain directory separators (as in "src/*/*.ada").
     --  Subdirectories of Directory will also be searched, up to one
     --  hundred levels deep.
     --
     --  When Start_Expansion has been called, function Expansion should be
!    --  called repeatedly until it returns an empty string, before
     --  Start_Expansion can be called again with the same Expansion_Iterator
     --  variable.
  
     function Expansion (Iterator : Expansion_Iterator) return String;
!    --  Returns the next file in the directory matching the parameters given
     --  to Start_Expansion and updates Iterator to point to the next entry.
!    --  Returns an empty string when there is no more file in the directory
     --  and its subdirectories.
     --
     --  If Expansion is called again after an empty string has been returned,
*************** package GNAT.Command_Line is
*** 279,286 ****
     --  Raised when an invalid switch is detected in the command line
  
     Invalid_Parameter : exception;
!    --  Raised when a parameter is missing, or an attempt is made to obtain
!    --  a parameter for a switch that does not allow a parameter
  
  private
  
--- 285,292 ----
     --  Raised when an invalid switch is detected in the command line
  
     Invalid_Parameter : exception;
!    --  Raised when a parameter is missing, or an attempt is made to obtain a
!    --  parameter for a switch that does not allow a parameter
  
  private
  
*************** private
*** 301,308 ****
  
     type Expansion_Iterator is limited record
        Start : Positive := 1;
!       --  Position of the first character of the relative path to check
!       --  against the pattern.
  
        Dir_Name : String (1 .. Max_Path_Length);
  
--- 307,314 ----
  
     type Expansion_Iterator is limited record
        Start : Positive := 1;
!       --  Position of the first character of the relative path to check against
!       --  the pattern.
  
        Dir_Name : String (1 .. Max_Path_Length);
  
*************** private
*** 314,321 ****
        --  Regular expression built with the pattern
  
        Maximum_Depth : Depth := 1;
!       --  The maximum depth of directories, reflecting the number of
!       --  directory separators in the pattern.
  
     end record;
  
--- 320,327 ----
        --  Regular expression built with the pattern
  
        Maximum_Depth : Depth := 1;
!       --  The maximum depth of directories, reflecting the number of directory
!       --  separators in the pattern.
  
     end record;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/g-comver.adb gcc-4.1.0/gcc/ada/g-comver.adb
*** gcc-4.0.2/gcc/ada/g-comver.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-comver.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                 Copyright (C) 2002 Ada Core Technologies                 --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-comver.ads gcc-4.1.0/gcc/ada/g-comver.ads
*** gcc-4.0.2/gcc/ada/g-comver.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-comver.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                 Copyright (C) 2002 Ada Core Technologies                 --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --  GNAT compiler used to compile the program. It relies on the generated
  --  constant in the binder generated package that records this information.
  
! --  Note: to use this package you must first instantiate it, e.g.
  
  --    package CVer is new GNAT.Compiler_Version;
  
--- 35,41 ----
  --  GNAT compiler used to compile the program. It relies on the generated
  --  constant in the binder generated package that records this information.
  
! --  Note: to use this package you must first instantiate it, for example:
  
  --    package CVer is new GNAT.Compiler_Version;
  
***************
*** 44,56 ****
  --  to import the necessary variable from the binder file causes trouble when
  --  building a shared library, since the symbol is not available.
  
! --  Note: this unit is only useable if the main program is written
! --  in Ada. It cannot be used if the main program is written in a
! --  foreign language.
  
  generic
  package GNAT.Compiler_Version is
! pragma Pure (Compiler_Version);
  
     function Version return String;
     --  This function returns the version in the form "v.vvx (yyyyddmm)".
--- 44,55 ----
  --  to import the necessary variable from the binder file causes trouble when
  --  building a shared library, since the symbol is not available.
  
! --  Note: this unit is only useable if the main program is written in Ada.
! --  It cannot be used if the main program is written in foreign language.
  
  generic
  package GNAT.Compiler_Version is
!    pragma Pure;
  
     function Version return String;
     --  This function returns the version in the form "v.vvx (yyyyddmm)".
diff -Nrcpad gcc-4.0.2/gcc/ada/g-crc32.adb gcc-4.1.0/gcc/ada/g-crc32.adb
*** gcc-4.0.2/gcc/ada/g-crc32.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-crc32.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2001-2002 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2001-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.CRC32 is
*** 49,57 ****
     procedure Update (C : in out CRC32; Value : Ada.Streams.Stream_Element) is
        function To_Char is new Unchecked_Conversion
          (Ada.Streams.Stream_Element, Character);
- 
        V : constant Character := To_Char (Value);
- 
     begin
        Update (C, V);
     end Update;
--- 49,55 ----
*************** package body GNAT.CRC32 is
*** 73,81 ****
     procedure Wide_Update (C : in out CRC32; Value : Wide_Character) is
        subtype S2 is String (1 .. 2);
        function To_S2 is new Unchecked_Conversion (Wide_Character, S2);
- 
        VS : constant S2 := To_S2 (Value);
- 
     begin
        Update (C, VS (1));
        Update (C, VS (2));
--- 71,77 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-crc32.ads gcc-4.1.0/gcc/ada/g-crc32.ads
*** gcc-4.0.2/gcc/ada/g-crc32.ads	Mon Feb  2 12:31:52 2004
--- gcc-4.1.0/gcc/ada/g-crc32.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2004 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2004-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --  called CRC-32. This is a checksum based on treating the binary data
  --  as a polynomial over a binary field, and the exact specifications of
  --  the CRC-32 algorithm are as follows:
! --
  --     Name   : "CRC-32"
  --     Width  : 32
  --     Poly   : 04C11DB7
--- 35,41 ----
  --  called CRC-32. This is a checksum based on treating the binary data
  --  as a polynomial over a binary field, and the exact specifications of
  --  the CRC-32 algorithm are as follows:
! 
  --     Name   : "CRC-32"
  --     Width  : 32
  --     Poly   : 04C11DB7
***************
*** 44,58 ****
  --     RefOut : True
  --     XorOut : FFFFFFFF
  --     Check  : CBF43926
! --
! --  Note that this is the algorithm used by PKZip, Ethernet and FDDI.
! --
  --  For more information about this algorithm see:
! --
! --  ftp://ftp.rocksoft.com/papers/crc_v3.txt
  
  --  "A Painless Guide to CRC Error Detection Algorithms", Ross N. Williams
! --
  --  "Computation of Cyclic Redundancy Checks via Table Look-Up", Communications
  --  of the ACM, Vol. 31 No. 8, pp.1008-1013 Aug. 1988. Sarwate, D.V.
  
--- 44,58 ----
  --     RefOut : True
  --     XorOut : FFFFFFFF
  --     Check  : CBF43926
! 
! --  Note that this is the algorithm used by PKZip, Ethernet and FDDI
! 
  --  For more information about this algorithm see:
! 
! --    ftp://ftp.rocksoft.com/papers/crc_v3.txt
  
  --  "A Painless Guide to CRC Error Detection Algorithms", Ross N. Williams
! 
  --  "Computation of Cyclic Redundancy Checks via Table Look-Up", Communications
  --  of the ACM, Vol. 31 No. 8, pp.1008-1013 Aug. 1988. Sarwate, D.V.
  
diff -Nrcpad gcc-4.0.2/gcc/ada/g-ctrl_c.ads gcc-4.1.0/gcc/ada/g-ctrl_c.ads
*** gcc-4.0.2/gcc/ada/g-ctrl_c.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-ctrl_c.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --               Copyright (C) 2002 Ada Core Technologies, Inc.             --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                      Copyright (C) 2002-2005, AdaCore                    --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 34,42 ****
  --  This package may be used to intercept the interruption of a running
  --  program by the operator typing Control-C, without having to use an Ada
  --  interrupt handler protected object.
! --
! --  This package is currently implemented under Windows and Unix platforms.
! --
  --  Note concerning Unix systems:
  
  --  The behavior of this package when using tasking depends on the interaction
--- 34,42 ----
  --  This package may be used to intercept the interruption of a running
  --  program by the operator typing Control-C, without having to use an Ada
  --  interrupt handler protected object.
! 
! --  This package is currently implemented under Windows and Unix platforms
! 
  --  Note concerning Unix systems:
  
  --  The behavior of this package when using tasking depends on the interaction
*************** package GNAT.Ctrl_C is
*** 55,61 ****
     --  Handler_Type should not propagate exceptions.
  
     procedure Install_Handler (Handler : Handler_Type);
!    --  Set up Handler to be called if the operator hits Ctrl-C.
  
     procedure Uninstall_Handler;
     --  Reinstall the standard Control-C handler.
--- 55,61 ----
     --  Handler_Type should not propagate exceptions.
  
     procedure Install_Handler (Handler : Handler_Type);
!    --  Set up Handler to be called if the operator hits Ctrl-C
  
     procedure Uninstall_Handler;
     --  Reinstall the standard Control-C handler.
diff -Nrcpad gcc-4.0.2/gcc/ada/g-curexc.ads gcc-4.1.0/gcc/ada/g-curexc.ads
*** gcc-4.0.2/gcc/ada/g-curexc.ads	Mon Apr  5 14:57:34 2004
--- gcc-4.1.0/gcc/ada/g-curexc.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --         Copyright (C) 1996-2004 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                      Copyright (C) 1996-2005, AdaCore                    --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,56 ****
  --  from an exception handler.
  
  package GNAT.Current_Exception is
! pragma Pure (Current_Exception);
  
     -----------------
     -- Subprograms --
     -----------------
  
!    --  Note: the lower bound of returnd String values is always one.
  
     function Exception_Information return String;
     --  Returns the result of calling Ada.Exceptions.Exception_Information
--- 44,56 ----
  --  from an exception handler.
  
  package GNAT.Current_Exception is
!    pragma Pure;
  
     -----------------
     -- Subprograms --
     -----------------
  
!    --  Note: the lower bound of returnd String values is always one
  
     function Exception_Information return String;
     --  Returns the result of calling Ada.Exceptions.Exception_Information
diff -Nrcpad gcc-4.0.2/gcc/ada/g-debpoo.adb gcc-4.1.0/gcc/ada/g-debpoo.adb
*** gcc-4.0.2/gcc/ada/g-debpoo.adb	Mon Jun 14 13:18:59 2004
--- gcc-4.1.0/gcc/ada/g-debpoo.adb	Tue Nov 15 13:59:11 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with GNAT.Traceback; use GNAT.Traceback;
*** 46,55 ****
  with Ada.Unchecked_Conversion;
  
  package body GNAT.Debug_Pools is
-    use System;
-    use System.Storage_Elements;
  
!    Default_Alignment : constant Storage_Offset := Standard'Maximum_Alignment;
     --  Alignment used for the memory chunks returned by Allocate. Using this
     --  value garantees that this alignment will be compatible with all types
     --  and at the same time makes it easy to find the location of the extra
--- 46,53 ----
  with Ada.Unchecked_Conversion;
  
  package body GNAT.Debug_Pools is
  
!    Default_Alignment : constant := Standard'Maximum_Alignment;
     --  Alignment used for the memory chunks returned by Allocate. Using this
     --  value garantees that this alignment will be compatible with all types
     --  and at the same time makes it easy to find the location of the extra
*************** package body GNAT.Debug_Pools is
*** 65,78 ****
     --  Maximum number of levels that will be ignored in backtraces. This is so
     --  that we still have enough significant levels in the tracebacks returned
     --  to the user.
     --  The value 10 is chosen as being greater than the maximum callgraph
     --  in this package. Its actual value is not really relevant, as long as it
     --  is high enough to make sure we still have enough frames to return to
     --  the user after we have hidden the frames internal to this package.
  
!    -----------------------
!    -- Tracebacks_Htable --
!    -----------------------
  
     --  This package needs to store one set of tracebacks for each allocation
     --  point (when was it allocated or deallocated). This would use too much
--- 63,77 ----
     --  Maximum number of levels that will be ignored in backtraces. This is so
     --  that we still have enough significant levels in the tracebacks returned
     --  to the user.
+    --
     --  The value 10 is chosen as being greater than the maximum callgraph
     --  in this package. Its actual value is not really relevant, as long as it
     --  is high enough to make sure we still have enough frames to return to
     --  the user after we have hidden the frames internal to this package.
  
!    ---------------------------
!    -- Back Trace Hash Table --
!    ---------------------------
  
     --  This package needs to store one set of tracebacks for each allocation
     --  point (when was it allocated or deallocated). This would use too much
*************** package body GNAT.Debug_Pools is
*** 105,123 ****
        Next      : Traceback_Htable_Elem_Ptr;
     end record;
  
     procedure Set_Next
       (E    : Traceback_Htable_Elem_Ptr;
        Next : Traceback_Htable_Elem_Ptr);
     function Next
!      (E    : Traceback_Htable_Elem_Ptr)
!       return Traceback_Htable_Elem_Ptr;
     function Get_Key
!      (E    : Traceback_Htable_Elem_Ptr)
!       return Tracebacks_Array_Access;
     function Hash (T : Tracebacks_Array_Access) return Header;
     function Equal (K1, K2 : Tracebacks_Array_Access) return Boolean;
!    pragma Inline (Set_Next, Next, Get_Key, Hash);
!    --  Subprograms required for instantiation of the htable. See GNAT.HTable.
  
     package Backtrace_Htable is new GNAT.HTable.Static_HTable
       (Header_Num => Header,
--- 104,131 ----
        Next      : Traceback_Htable_Elem_Ptr;
     end record;
  
+    --  Subprograms used for the Backtrace_Htable instantiation
+ 
     procedure Set_Next
       (E    : Traceback_Htable_Elem_Ptr;
        Next : Traceback_Htable_Elem_Ptr);
+    pragma Inline (Set_Next);
+ 
     function Next
!      (E : Traceback_Htable_Elem_Ptr) return Traceback_Htable_Elem_Ptr;
!    pragma Inline (Next);
! 
     function Get_Key
!      (E : Traceback_Htable_Elem_Ptr) return Tracebacks_Array_Access;
!    pragma Inline (Get_Key);
! 
     function Hash (T : Tracebacks_Array_Access) return Header;
+    pragma Inline (Hash);
+ 
     function Equal (K1, K2 : Tracebacks_Array_Access) return Boolean;
!    --  Why is this not inlined???
! 
!    --  The hash table for back traces
  
     package Backtrace_Htable is new GNAT.HTable.Static_HTable
       (Header_Num => Header,
*************** package body GNAT.Debug_Pools is
*** 138,161 ****
     type Allocation_Header;
     type Allocation_Header_Access is access Allocation_Header;
  
-    --  The following record stores extra information that needs to be
-    --  memorized for each block allocated with the special debug pool.
- 
     type Traceback_Ptr_Or_Address is new System.Address;
     --  A type that acts as a C union, and is either a System.Address or a
     --  Traceback_Htable_Elem_Ptr.
  
     type Allocation_Header is record
        Allocation_Address : System.Address;
!       --  Address of the block returned by malloc, possibly unaligned.
  
!       Block_Size    : Storage_Offset;
        --  Needed only for advanced freeing algorithms (traverse all allocated
        --  blocks for potential references). This value is negated when the
        --  chunk of memory has been logically freed by the application. This
        --  chunk has not been physically released yet.
  
!       Alloc_Traceback   : Traceback_Htable_Elem_Ptr;
        Dealloc_Traceback : Traceback_Ptr_Or_Address;
        --  Pointer to the traceback for the allocation (if the memory chunk is
        --  still valid), or to the first deallocation otherwise. Make sure this
--- 146,171 ----
     type Allocation_Header;
     type Allocation_Header_Access is access Allocation_Header;
  
     type Traceback_Ptr_Or_Address is new System.Address;
     --  A type that acts as a C union, and is either a System.Address or a
     --  Traceback_Htable_Elem_Ptr.
  
+    --  The following record stores extra information that needs to be
+    --  memorized for each block allocated with the special debug pool.
+ 
     type Allocation_Header is record
        Allocation_Address : System.Address;
!       --  Address of the block returned by malloc, possibly unaligned
  
!       Block_Size : Storage_Offset;
        --  Needed only for advanced freeing algorithms (traverse all allocated
        --  blocks for potential references). This value is negated when the
        --  chunk of memory has been logically freed by the application. This
        --  chunk has not been physically released yet.
  
!       Alloc_Traceback : Traceback_Htable_Elem_Ptr;
!       --  ??? comment required
! 
        Dealloc_Traceback : Traceback_Ptr_Or_Address;
        --  Pointer to the traceback for the allocation (if the memory chunk is
        --  still valid), or to the first deallocation otherwise. Make sure this
*************** package body GNAT.Debug_Pools is
*** 179,200 ****
  
     function To_Address is new Ada.Unchecked_Conversion
       (Traceback_Ptr_Or_Address, System.Address);
     function To_Address is new Ada.Unchecked_Conversion
       (System.Address, Traceback_Ptr_Or_Address);
     function To_Traceback is new Ada.Unchecked_Conversion
       (Traceback_Ptr_Or_Address, Traceback_Htable_Elem_Ptr);
     function To_Traceback is new Ada.Unchecked_Conversion
       (Traceback_Htable_Elem_Ptr, Traceback_Ptr_Or_Address);
  
!    Header_Offset : constant Storage_Count
!      := Default_Alignment *
!      ((Allocation_Header'Size / System.Storage_Unit + Default_Alignment - 1)
!       / Default_Alignment);
!    --  Offset of user data after allocation header.
  
     Minimum_Allocation : constant Storage_Count :=
!      Default_Alignment - 1
!      + Header_Offset;
     --  Minimal allocation: size of allocation_header rounded up to next
     --  multiple of default alignment + worst-case padding.
  
--- 189,212 ----
  
     function To_Address is new Ada.Unchecked_Conversion
       (Traceback_Ptr_Or_Address, System.Address);
+ 
     function To_Address is new Ada.Unchecked_Conversion
       (System.Address, Traceback_Ptr_Or_Address);
+ 
     function To_Traceback is new Ada.Unchecked_Conversion
       (Traceback_Ptr_Or_Address, Traceback_Htable_Elem_Ptr);
+ 
     function To_Traceback is new Ada.Unchecked_Conversion
       (Traceback_Htable_Elem_Ptr, Traceback_Ptr_Or_Address);
  
!    Header_Offset : constant Storage_Count :=
!                      Default_Alignment *
!                        ((Allocation_Header'Size / System.Storage_Unit
!                           + Default_Alignment - 1) / Default_Alignment);
!    --  Offset of user data after allocation header
  
     Minimum_Allocation : constant Storage_Count :=
!                           Default_Alignment - 1 + Header_Offset;
     --  Minimal allocation: size of allocation_header rounded up to next
     --  multiple of default alignment + worst-case padding.
  
*************** package body GNAT.Debug_Pools is
*** 202,215 ****
     -- Allocations table --
     -----------------------
  
!    --  This table is indexed on addresses modulo Default_Alignment, and
!    --  for each index it indicates whether that memory block is valid.
!    --  Its behavior is similar to GNAT.Table, except that we need to pack
!    --  the table to save space, so we cannot reuse GNAT.Table as is.
  
!    --  This table is the reason why all alignments have to be forced to a
!    --  common value (Default_Alignment), so that this table can be
!    --  kept to a reasonnable size.
  
     type Byte is mod 2 ** System.Storage_Unit;
  
--- 214,227 ----
     -- Allocations table --
     -----------------------
  
!    --  This table is indexed on addresses modulo Default_Alignment, and for
!    --  each index it indicates whether that memory block is valid. Its behavior
!    --  is similar to GNAT.Table, except that we need to pack the table to save
!    --  space, so we cannot reuse GNAT.Table as is.
  
!    --  This table is the reason why all alignments have to be forced to common
!    --  value (Default_Alignment), so that this table can be kept to a
!    --  reasonnable size.
  
     type Byte is mod 2 ** System.Storage_Unit;
  
*************** package body GNAT.Debug_Pools is
*** 244,261 ****
     --  These two variables represents a mapping of the currently allocated
     --  memory. Every time the pool works on an address, we first check that the
     --  index Address / Default_Alignment is True. If not, this means that this
!    --  address is not under control of the debug pool, and thus this is
!    --  probably an invalid memory access (it could also be a general access
!    --  type).
     --
     --  Note that in fact we never allocate the full size of Big_Table, only a
     --  slice big enough to manage the currently allocated memory.
  
!    Edata  : System.Address := System.Null_Address;
     --  Address in memory that matches the index 0 in Valid_Blocks. It is named
     --  after the symbol _edata, which, on most systems, indicate the lowest
!    --  possible address returned by malloc. Unfortunately, this symbol
!    --  doesn't exist on windows, so we cannot use it instead of this variable.
  
     -----------------------
     -- Local subprograms --
--- 256,272 ----
     --  These two variables represents a mapping of the currently allocated
     --  memory. Every time the pool works on an address, we first check that the
     --  index Address / Default_Alignment is True. If not, this means that this
!    --  address is not under control of the debug pool and thus this is probably
!    --  an invalid memory access (it could also be a general access type).
     --
     --  Note that in fact we never allocate the full size of Big_Table, only a
     --  slice big enough to manage the currently allocated memory.
  
!    Edata : System.Address := System.Null_Address;
     --  Address in memory that matches the index 0 in Valid_Blocks. It is named
     --  after the symbol _edata, which, on most systems, indicate the lowest
!    --  possible address returned by malloc. Unfortunately, this symbol doesn't
!    --  exist on windows, so we cannot use it instead of this variable.
  
     -----------------------
     -- Local subprograms --
*************** package body GNAT.Debug_Pools is
*** 266,281 ****
        Kind                : Traceback_Kind;
        Size                : Storage_Count;
        Ignored_Frame_Start : System.Address;
!       Ignored_Frame_End   : System.Address)
!       return                Traceback_Htable_Elem_Ptr;
     --  Return an element matching the current traceback (omitting the frames
     --  that are in the current package). If this traceback already existed in
     --  the htable, a pointer to this is returned to spare memory. Null is
     --  returned if the pool is set not to store tracebacks. If the traceback
     --  already existed in the table, the count is incremented so that
!    --  Dump_Tracebacks returns useful results.
!    --  All addresses up to, and including, an address between
!    --  Ignored_Frame_Start .. Ignored_Frame_End are ignored.
  
     procedure Put_Line
       (Depth               : Natural;
--- 277,291 ----
        Kind                : Traceback_Kind;
        Size                : Storage_Count;
        Ignored_Frame_Start : System.Address;
!       Ignored_Frame_End   : System.Address) return Traceback_Htable_Elem_Ptr;
     --  Return an element matching the current traceback (omitting the frames
     --  that are in the current package). If this traceback already existed in
     --  the htable, a pointer to this is returned to spare memory. Null is
     --  returned if the pool is set not to store tracebacks. If the traceback
     --  already existed in the table, the count is incremented so that
!    --  Dump_Tracebacks returns useful results. All addresses up to, and
!    --  including, an address between Ignored_Frame_Start .. Ignored_Frame_End
!    --  are ignored.
  
     procedure Put_Line
       (Depth               : Natural;
*************** package body GNAT.Debug_Pools is
*** 366,374 ****
     ----------
  
     function Next
!      (E    : Traceback_Htable_Elem_Ptr)
!       return Traceback_Htable_Elem_Ptr
!    is
     begin
        return E.Next;
     end Next;
--- 376,382 ----
     ----------
  
     function Next
!      (E : Traceback_Htable_Elem_Ptr) return Traceback_Htable_Elem_Ptr is
     begin
        return E.Next;
     end Next;
*************** package body GNAT.Debug_Pools is
*** 388,395 ****
     -------------
  
     function Get_Key
!      (E    : Traceback_Htable_Elem_Ptr)
!       return Tracebacks_Array_Access
     is
     begin
        return E.Traceback;
--- 396,402 ----
     -------------
  
     function Get_Key
!      (E : Traceback_Htable_Elem_Ptr) return Tracebacks_Array_Access
     is
     begin
        return E.Traceback;
*************** package body GNAT.Debug_Pools is
*** 401,410 ****
--- 408,419 ----
  
     function Hash (T : Tracebacks_Array_Access) return Header is
        Result : Integer_Address := 0;
+ 
     begin
        for X in T'Range loop
           Result := Result + To_Integer (PC_For (T (X)));
        end loop;
+ 
        return Header (1 + Result mod Integer_Address (Header'Last));
     end Hash;
  
*************** package body GNAT.Debug_Pools is
*** 498,505 ****
        Kind                : Traceback_Kind;
        Size                : Storage_Count;
        Ignored_Frame_Start : System.Address;
!       Ignored_Frame_End   : System.Address)
!       return                Traceback_Htable_Elem_Ptr
     is
     begin
        if Pool.Stack_Trace_Depth = 0 then
--- 507,513 ----
        Kind                : Traceback_Kind;
        Size                : Storage_Count;
        Ignored_Frame_Start : System.Address;
!       Ignored_Frame_End   : System.Address) return Traceback_Htable_Elem_Ptr
     is
     begin
        if Pool.Stack_Trace_Depth = 0 then
*************** package body GNAT.Debug_Pools is
*** 517,523 ****
           Skip_Levels (Pool.Stack_Trace_Depth, Trace, Start, Len,
                        Ignored_Frame_Start, Ignored_Frame_End);
  
!          --  Check if the traceback is already in the table.
  
           Elem :=
             Backtrace_Htable.Get (Trace (Start .. Len)'Unrestricted_Access);
--- 525,531 ----
           Skip_Levels (Pool.Stack_Trace_Depth, Trace, Start, Len,
                        Ignored_Frame_Start, Ignored_Frame_End);
  
!          --  Check if the traceback is already in the table
  
           Elem :=
             Backtrace_Htable.Get (Trace (Start .. Len)'Unrestricted_Access);
*************** package body GNAT.Debug_Pools is
*** 549,557 ****
     function Is_Valid (Storage : System.Address) return Boolean is
        Offset : constant Storage_Offset :=
                   (Storage - Edata) / Default_Alignment;
- 
        Bit : constant Byte := 2 ** Natural (Offset mod System.Storage_Unit);
- 
     begin
        return (Storage mod Default_Alignment) = 0
          and then Offset >= 0
--- 557,563 ----
*************** package body GNAT.Debug_Pools is
*** 623,635 ****
           Valid_Blocks_Size := Valid_Blocks_Size + Bytes;
  
           --  Take into the account the new start address
           Edata := Storage - Edata_Align + (Edata - Storage) mod Edata_Align;
        end if;
  
        --  Second case : the new address is outside of the current scope of
!       --  Valid_Blocks, so we have to grow the table as appropriate
  
!       Offset := (Storage - Edata) / Default_Alignment;
  
        if Offset >= Valid_Blocks_Size * System.Storage_Unit then
           Bytes := Valid_Blocks_Size;
--- 629,655 ----
           Valid_Blocks_Size := Valid_Blocks_Size + Bytes;
  
           --  Take into the account the new start address
+ 
           Edata := Storage - Edata_Align + (Edata - Storage) mod Edata_Align;
        end if;
  
        --  Second case : the new address is outside of the current scope of
!       --  Valid_Blocks, so we have to grow the table as appropriate.
  
!       --  Note: it might seem more natural for the following statement to
!       --  be written:
! 
!       --      Offset := (Storage - Edata) / Default_Alignment;
! 
!       --  but that won't work since Storage_Offset is signed, and it is
!       --  possible to subtract a small address from a large address and
!       --  get a negative value. This may seem strange, but it is quite
!       --  specifically allowed in the RM, and is what most implementations
!       --  including GNAT actually do. Hence the conversion to Integer_Address
!       --  which is a full range modular type, not subject to this glitch.
! 
!       Offset := Storage_Offset ((To_Integer (Storage) - To_Integer (Edata)) /
!                                               Default_Alignment);
  
        if Offset >= Valid_Blocks_Size * System.Storage_Unit then
           Bytes := Valid_Blocks_Size;
*************** package body GNAT.Debug_Pools is
*** 719,728 ****
              P := new Local_Storage_Array;
        end;
  
!       Storage_Address := System.Null_Address + Default_Alignment
!         * (((P.all'Address + Default_Alignment - 1) - System.Null_Address)
!            / Default_Alignment)
          + Header_Offset;
        pragma Assert ((Storage_Address - System.Null_Address)
                       mod Default_Alignment = 0);
        pragma Assert (Storage_Address + Size_In_Storage_Elements
--- 739,750 ----
              P := new Local_Storage_Array;
        end;
  
!       Storage_Address :=
!         System.Null_Address + Default_Alignment
!           * (((P.all'Address + Default_Alignment - 1) - System.Null_Address)
!              / Default_Alignment)
          + Header_Offset;
+ 
        pragma Assert ((Storage_Address - System.Null_Address)
                       mod Default_Alignment = 0);
        pragma Assert (Storage_Address + Size_In_Storage_Elements
*************** package body GNAT.Debug_Pools is
*** 942,948 ****
                 System.Memory.Free (Header.Allocation_Address);
                 Set_Valid (Tmp, False);
  
!                --  Remove this block from the list.
  
                 if Previous = System.Null_Address then
                    Pool.First_Free_Block := Next;
--- 964,970 ----
                 System.Memory.Free (Header.Allocation_Address);
                 Set_Valid (Tmp, False);
  
!                --  Remove this block from the list
  
                 if Previous = System.Null_Address then
                    Pool.First_Free_Block := Next;
*************** package body GNAT.Debug_Pools is
*** 1040,1046 ****
        procedure Reset_Marks is
           Current : System.Address := Pool.First_Free_Block;
           Header  : Allocation_Header_Access;
- 
        begin
           while Current /= System.Null_Address loop
              Header := Header_Of (Current);
--- 1062,1067 ----
*************** package body GNAT.Debug_Pools is
*** 1123,1132 ****
                        Code_Address_For_Deallocate_End);
              Put ("   Memory already deallocated at ");
              Put_Line (0, To_Traceback (Header.Dealloc_Traceback).Traceback);
           end if;
  
        else
!          --  Remove this block from the list of used blocks.
  
           Previous :=
             To_Address (Header_Of (Storage_Address).Dealloc_Traceback);
--- 1144,1155 ----
                        Code_Address_For_Deallocate_End);
              Put ("   Memory already deallocated at ");
              Put_Line (0, To_Traceback (Header.Dealloc_Traceback).Traceback);
+             Put ("   Memory was allocated at ");
+             Put_Line (0, Header.Alloc_Traceback.Traceback);
           end if;
  
        else
!          --  Remove this block from the list of used blocks
  
           Previous :=
             To_Address (Header_Of (Storage_Address).Dealloc_Traceback);
*************** package body GNAT.Debug_Pools is
*** 1257,1262 ****
--- 1280,1287 ----
                    Code_Address_For_Dereference_End);
                 Put ("  First deallocation at ");
                 Put_Line (0, To_Traceback (Header.Dealloc_Traceback).Traceback);
+                Put ("  Initial allocation at ");
+                Put_Line (0, Header.Alloc_Traceback.Traceback);
              end if;
           end if;
        end if;
*************** package body GNAT.Debug_Pools is
*** 1285,1291 ****
        Display_Slots : Boolean := False;
        Display_Leaks : Boolean := False)
     is
-       use System.Storage_Elements;
  
        package Backtrace_Htable_Cumulate is new GNAT.HTable.Static_HTable
          (Header_Num => Header,
--- 1310,1315 ----
*************** package body GNAT.Debug_Pools is
*** 1458,1464 ****
  
     function Storage_Size (Pool : Debug_Pool) return Storage_Count is
        pragma Unreferenced (Pool);
- 
     begin
        return Storage_Count'Last;
     end Storage_Size;
--- 1482,1487 ----
*************** package body GNAT.Debug_Pools is
*** 1534,1540 ****
        procedure Internal is new Print_Info
          (Put_Line => GNAT.IO.Put_Line,
           Put      => GNAT.IO.Put);
- 
     begin
        Internal (Pool, Cumulate, Display_Slots, Display_Leaks);
     end Print_Info_Stdout;
--- 1557,1562 ----
*************** package body GNAT.Debug_Pools is
*** 1593,1601 ****
           Tracebk := Header.Alloc_Traceback.Traceback;
           Num_Calls := Tracebk'Length;
  
!          --  Code taken from memtrack.adb in GNAT's sources
!          --  Logs allocation call
!          --  format is:
           --   'A' <mem addr> <size chunk> <len backtrace> <addr1> ... <addrn>
  
           fputc (Character'Pos ('A'), File);
--- 1615,1624 ----
           Tracebk := Header.Alloc_Traceback.Traceback;
           Num_Calls := Tracebk'Length;
  
!          --  (Code taken from memtrack.adb in GNAT's sources)
! 
!          --  Logs allocation call using the format:
! 
           --   'A' <mem addr> <size chunk> <len backtrace> <addr1> ... <addrn>
  
           fputc (Character'Pos ('A'), File);
diff -Nrcpad gcc-4.0.2/gcc/ada/g-debpoo.ads gcc-4.1.0/gcc/ada/g-debpoo.ads
*** gcc-4.0.2/gcc/ada/g-debpoo.ads	Fri Jun 25 16:39:27 2004
--- gcc-4.1.0/gcc/ada/g-debpoo.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1992-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This packages provides a special implementation of the Ada95 storage pools.
  
  --  The goal of this debug pool is to detect incorrect uses of memory
  --  (multiple deallocations, access to invalid memory,...). Errors are reported
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This packages provides a special implementation of the Ada95 storage pools
  
  --  The goal of this debug pool is to detect incorrect uses of memory
  --  (multiple deallocations, access to invalid memory,...). Errors are reported
***************
*** 70,76 ****
  --  of memory that was allocated. The pool is also designed to work correctly
  --  in conjunction with gnatmem.
  
! --  Finally, a subprogram Print_Pool is provided for use from the debugger.
  
  --  Limitations
  --  ===========
--- 70,76 ----
  --  of memory that was allocated. The pool is also designed to work correctly
  --  in conjunction with gnatmem.
  
! --  Finally, a subprogram Print_Pool is provided for use from the debugger
  
  --  Limitations
  --  ===========
***************
*** 85,91 ****
  --  This allows faster checks, and limits the performance impact of using
  --  this pool.
  
- 
  with System;                  use System;
  with System.Storage_Elements; use System.Storage_Elements;
  with System.Checked_Pools;
--- 85,90 ----
*************** private
*** 301,307 ****
        --  accesed to deallocated memory.
  
        Physically_Deallocated : Byte_Count := 0;
!       --  Total number of bytes that were free()-ed.
  
        Marked_Blocks_Deallocated : Boolean := False;
        --  Set to true if some mark blocks had to be deallocated in the advanced
--- 300,306 ----
        --  accesed to deallocated memory.
  
        Physically_Deallocated : Byte_Count := 0;
!       --  Total number of bytes that were free()-ed
  
        Marked_Blocks_Deallocated : Boolean := False;
        --  Set to true if some mark blocks had to be deallocated in the advanced
*************** private
*** 314,320 ****
  
        First_Free_Block : System.Address := System.Null_Address;
        Last_Free_Block  : System.Address := System.Null_Address;
!       --  Pointers to the first and last logically freed blocks.
  
        First_Used_Block : System.Address := System.Null_Address;
        --  Pointer to the list of currently allocated blocks. This list is
--- 313,319 ----
  
        First_Free_Block : System.Address := System.Null_Address;
        Last_Free_Block  : System.Address := System.Null_Address;
!       --  Pointers to the first and last logically freed blocks
  
        First_Used_Block : System.Address := System.Null_Address;
        --  Pointer to the list of currently allocated blocks. This list is
diff -Nrcpad gcc-4.0.2/gcc/ada/g-debuti.adb gcc-4.1.0/gcc/ada/g-debuti.adb
*** gcc-4.0.2/gcc/ada/g-debuti.adb	Mon Jan  5 15:20:44 2004
--- gcc-4.1.0/gcc/ada/g-debuti.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1997-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1997-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Debug_Utilities is
*** 47,59 ****
  
     function Image (A : Address) return Image_String is
        S : Image_String;
!       P : Natural := Address_Image_Length - 1;
!       N : Integer_Address := To_Integer (A);
        U : Natural := 0;
  
     begin
        S (S'Last) := '#';
! 
        while P > 3 loop
           if U = 4 then
              S (P) := '_';
--- 47,60 ----
  
     function Image (A : Address) return Image_String is
        S : Image_String;
!       P : Natural;
!       N : Integer_Address;
        U : Natural := 0;
  
     begin
        S (S'Last) := '#';
!       P := Address_Image_Length - 1;
!       N := To_Integer (A);
        while P > 3 loop
           if U = 4 then
              S (P) := '_';
diff -Nrcpad gcc-4.0.2/gcc/ada/g-debuti.ads gcc-4.1.0/gcc/ada/g-debuti.ads
*** gcc-4.0.2/gcc/ada/g-debuti.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-debuti.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 G N A T . D E B U G _ U T I L I T I E S                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 G N A T . D E B U G _ U T I L I T I E S                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 39,45 ****
  with System;
  
  package GNAT.Debug_Utilities is
! pragma Pure (Debug_Utilities);
  
     Address_64 : constant Boolean := Standard'Address_Size = 64;
     --  Set true if 64 bit addresses (assumes only 32 and 64 are possible)
--- 39,45 ----
  with System;
  
  package GNAT.Debug_Utilities is
!    pragma Pure;
  
     Address_64 : constant Boolean := Standard'Address_Size = 64;
     --  Set true if 64 bit addresses (assumes only 32 and 64 are possible)
diff -Nrcpad gcc-4.0.2/gcc/ada/g-diopit.adb gcc-4.1.0/gcc/ada/g-diopit.adb
*** gcc-4.0.2/gcc/ada/g-diopit.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-diopit.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2001-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2001-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Directory_Operations.I
*** 57,63 ****
        --  recursively for each sub-directories.
  
        function Make_Pathname (Dir, File : String) return String;
!       --  Returns the pathname for File by adding Dir as prefix.
  
        -------------------
        -- Make_Pathname --
--- 57,63 ----
        --  recursively for each sub-directories.
  
        function Make_Pathname (Dir, File : String) return String;
!       --  Returns the pathname for File by adding Dir as prefix
  
        -------------------
        -- Make_Pathname --
*************** package body GNAT.Directory_Operations.I
*** 91,98 ****
  
              declare
                 Dir_Entry : constant String := Buffer (1 .. Last);
!                Pathname  : constant String
!                  := Make_Pathname (Directory, Dir_Entry);
              begin
                 if Regexp.Match (Dir_Entry, File_Regexp) then
                    Quit  := False;
--- 91,99 ----
  
              declare
                 Dir_Entry : constant String := Buffer (1 .. Last);
!                Pathname  : constant String :=
!                              Make_Pathname (Directory, Dir_Entry);
! 
              begin
                 if Regexp.Match (Dir_Entry, File_Regexp) then
                    Quit  := False;
*************** package body GNAT.Directory_Operations.I
*** 203,209 ****
                 --  We have "../dir"
  
                 Read (Current_Path & "..",
!                      SP (SP'First + 4 .. DS - 1),
                       SP (DS .. SP'Last));
              end if;
  
--- 204,210 ----
                 --  We have "../dir"
  
                 Read (Current_Path & "..",
!                      SP (SP'First + 3 .. DS - 1),
                       SP (DS .. SP'Last));
              end if;
  
*************** package body GNAT.Directory_Operations.I
*** 308,314 ****
        ----------
  
        Quit : Boolean := False;
!       --  Global state to be able to exit all recursive calls.
  
        procedure Read
          (Directory      : String;
--- 309,315 ----
        ----------
  
        Quit : Boolean := False;
!       --  Global state to be able to exit all recursive calls
  
        procedure Read
          (Directory      : String;
*************** package body GNAT.Directory_Operations.I
*** 322,329 ****
           Last   : Natural;
  
        begin
!          if OS_Lib.Is_Directory (Directory) then
!             Open (Dir, Directory);
  
              Dir_Iterator : loop
                 Read (Dir, Buffer, Last);
--- 323,330 ----
           Last   : Natural;
  
        begin
!          if OS_Lib.Is_Directory (Directory & Dir_Separator) then
!             Open (Dir, Directory & Dir_Separator);
  
              Dir_Iterator : loop
                 Read (Dir, Buffer, Last);
*************** package body GNAT.Directory_Operations.I
*** 343,349 ****
                       (Dir_Entry = ".." and then File_Pattern /= ".."))
                    then
                       if Regexp.Match (Dir_Entry, File_Regexp) then
- 
                          if Suffix_Pattern = "" then
  
                             --  No more matching needed, call user's callback
--- 344,349 ----
*************** package body GNAT.Directory_Operations.I
*** 352,366 ****
  
                             begin
                                Action (Pathname, Index, Quit);
- 
                             exception
                                when others =>
                                   Close (Dir);
                                   raise;
                             end;
  
-                            exit Dir_Iterator when Quit;
- 
                          else
                             --  Down one level
  
--- 352,363 ----
*************** package body GNAT.Directory_Operations.I
*** 372,386 ****
                    end if;
                 end;
  
!                exit Dir_Iterator when Quit;
  
              end loop Dir_Iterator;
  
              Close (Dir);
           end if;
        end Read;
  
     begin
        Next_Level ("", Path);
     end Wildcard_Iterator;
  
--- 369,391 ----
                    end if;
                 end;
  
!                --  Exit if Quit set by call to Action, either at this level
!                --  or at at some lower recursive call to Next_Level.
  
+                exit Dir_Iterator when Quit;
              end loop Dir_Iterator;
  
              Close (Dir);
           end if;
        end Read;
  
+    --  Start of processing for Wildcard_Iterator
+ 
     begin
+       if Path = "" then
+          return;
+       end if;
+ 
        Next_Level ("", Path);
     end Wildcard_Iterator;
  
diff -Nrcpad gcc-4.0.2/gcc/ada/g-diopit.ads gcc-4.1.0/gcc/ada/g-diopit.ads
*** gcc-4.0.2/gcc/ada/g-diopit.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-diopit.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2001 Ada Core Technologies, Inc.                --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2001-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dirope.adb gcc-4.1.0/gcc/ada/g-dirope.adb
*** gcc-4.0.2/gcc/ada/g-dirope.adb	Thu Feb 10 13:49:14 2005
--- gcc-4.1.0/gcc/ada/g-dirope.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1998-2005 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1998-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Directory_Operations i
*** 105,115 ****
              Cut_Start := Cut_Start + 1;
           end if;
  
!          --  Cut_End point to the last basename character.
  
           Cut_End := Path'Last;
  
!          --  If basename ends with Suffix, adjust Cut_End.
  
           if Suffix /= ""
             and then Path (Path'Last - Suffix'Length + 1 .. Cut_End) = Suffix
--- 105,115 ----
              Cut_Start := Cut_Start + 1;
           end if;
  
!          --  Cut_End point to the last basename character
  
           Cut_End := Path'Last;
  
!          --  If basename ends with Suffix, adjust Cut_End
  
           if Suffix /= ""
             and then Path (Path'Last - Suffix'Length + 1 .. Cut_End) = Suffix
*************** package body GNAT.Directory_Operations i
*** 279,286 ****
  
        procedure Double_Result_Size is
           New_Result : constant OS_Lib.String_Access :=
!            new String (1 .. 2 * Result'Last);
! 
        begin
           New_Result (1 .. Result_Last) := Result (1 .. Result_Last);
           OS_Lib.Free (Result);
--- 279,285 ----
  
        procedure Double_Result_Size is
           New_Result : constant OS_Lib.String_Access :=
!                         new String (1 .. 2 * Result'Last);
        begin
           New_Result (1 .. Result_Last) := Result (1 .. Result_Last);
           OS_Lib.Free (Result);
*************** package body GNAT.Directory_Operations i
*** 306,311 ****
--- 305,311 ----
  
        procedure Read (K : in out Positive) is
           P : Character;
+ 
        begin
           For_All_Characters : loop
              if Is_Var_Prefix (Path (K)) then
*************** package body GNAT.Directory_Operations i
*** 314,320 ****
                 --  Could be a variable
  
                 if K < Path'Last then
- 
                    if Path (K + 1) = P then
  
                       --  Not a variable after all, this is a double $ or %,
--- 314,319 ----
*************** package body GNAT.Directory_Operations i
*** 566,572 ****
     function Get_Current_Dir return Dir_Name_Str is
        Current_Dir : String (1 .. Max_Path + 1);
        Last        : Natural;
- 
     begin
        Get_Current_Dir (Current_Dir, Last);
        return Current_Dir (1 .. Last);
--- 565,570 ----
*************** package body GNAT.Directory_Operations i
*** 708,718 ****
     -------------------------
  
     function Read_Is_Thread_Safe return Boolean is
- 
        function readdir_is_thread_safe return Integer;
        pragma Import
          (C, readdir_is_thread_safe, "__gnat_readdir_is_thread_safe");
- 
     begin
        return (readdir_is_thread_safe /= 0);
     end Read_Is_Thread_Safe;
--- 706,714 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dirope.ads gcc-4.1.0/gcc/ada/g-dirope.ads
*** gcc-4.0.2/gcc/ada/g-dirope.ads	Mon Oct  4 15:00:26 2004
--- gcc-4.1.0/gcc/ada/g-dirope.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 1998-2004 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1998-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Directory_Operations is
*** 94,100 ****
     --  Dir_Name. Raises Directory_Error if Dir_Name cannot be removed.
  
     function Get_Current_Dir return Dir_Name_Str;
!    --  Returns the current working directory for the execution environment.
  
     procedure Get_Current_Dir (Dir : out Dir_Name_Str; Last : out Natural);
     --  Returns the current working directory for the execution environment
--- 94,100 ----
     --  Dir_Name. Raises Directory_Error if Dir_Name cannot be removed.
  
     function Get_Current_Dir return Dir_Name_Str;
!    --  Returns the current working directory for the execution environment
  
     procedure Get_Current_Dir (Dir : out Dir_Name_Str; Last : out Natural);
     --  Returns the current working directory for the execution environment
*************** package GNAT.Directory_Operations is
*** 137,142 ****
--- 137,146 ----
     --  The comparison of Suffix is case-insensitive on systems such as Windows
     --  and VMS where the file search is case-insensitive (e.g. on such systems,
     --  Base_Name ("/Users/AdaCore/BB12.patch", ".Patch") returns "BB12").
+    --
+    --  Note that the index bounds of the result match the corresponding indexes
+    --  in the Path string (you cannot assume that the lower bound of the
+    --  returned string is one).
  
     function File_Extension (Path : Path_Name) return String;
     --  Return the file extension. This is defined as the string after the
*************** package GNAT.Directory_Operations is
*** 150,165 ****
     --  path information. This is equivalent to Base_Name with default Extension
     --  value.
  
!    type Path_Style is
!      (UNIX,
!       --  Use '/' as the directory separator. The default on Unix systems
!       --  and on OpenVMS.
! 
!       DOS,
!       --  Use '\' as the directory separator. The default on Windows.
! 
!       System_Default);
! 
     function Format_Pathname
       (Path  : Path_Name;
        Style : Path_Style := System_Default) return Path_Name;
--- 154,160 ----
     --  path information. This is equivalent to Base_Name with default Extension
     --  value.
  
!    type Path_Style is (UNIX, DOS, System_Default);
     function Format_Pathname
       (Path  : Path_Name;
        Style : Path_Style := System_Default) return Path_Name;
*************** package GNAT.Directory_Operations is
*** 168,193 ****
     --  function will help to provide a consistent naming scheme running for
     --  different environments. If style is set to System_Default the routine
     --  will use the default directory separator on the running environment.
  
!    type Environment_Style is
!      (UNIX,
!       --  Environment variables and OpenVMS logical names use $ as prefix and
!       --  can use curly brackets as in ${HOME}/mydir. If there is no closing
!       --  curly bracket for an opening one then translation is done, so for
!       --  example ${VAR/toto is returned as ${VAR/toto.
! 
!       DOS,
!       --  Environment variables uses % as prefix and suffix
!       --  (e.g. %HOME%/mydir). The name DOS refer to "DOS-like" environment.
!       --  This includes al Windows systems.
! 
!       Both,
!       --  Recognize both forms described above.
! 
!       System_Default);
!       --  Uses either UNIX on Unix and OpenVMS systems, or DOS on Windows and
!       --  OS/2 depending on the running environment.
! 
     function Expand_Path
       (Path : Path_Name;
        Mode : Environment_Style := System_Default) return Path_Name;
--- 163,182 ----
     --  function will help to provide a consistent naming scheme running for
     --  different environments. If style is set to System_Default the routine
     --  will use the default directory separator on the running environment.
+    --
+    --  The Style argument indicates the syntax to be used for path names:
+    --
+    --    UNIX
+    --      Use '/' as the directory separator. The default on Unix systems
+    --      and on OpenVMS.
+    --
+    --    DOS
+    --      Use '\' as the directory separator. The default on Windows.
+    --
+    --    System_Default
+    --      Use the default style for the current system
  
!    type Environment_Style is (UNIX, DOS, Both, System_Default);
     function Expand_Path
       (Path : Path_Name;
        Mode : Environment_Style := System_Default) return Path_Name;
*************** package GNAT.Directory_Operations is
*** 198,203 ****
--- 187,215 ----
     --  variable does not exists the variable will be replaced by the empty
     --  string. Two dollar or percent signs are replaced by a single
     --  dollar/percent sign. Note that a variable must start with a letter.
+    --
+    --  The Mode argument indicates the recognized syntax for environment
+    --  variables as follows:
+    --
+    --    UNIX
+    --      Environment variables and OpenVMS logical names use $ as prefix and
+    --      can use curly brackets as in ${HOME}/mydir. If there is no closing
+    --      curly bracket for an opening one then no translation is done, so for
+    --      example ${VAR/toto is returned as ${VAR/toto. The use of {} brackets
+    --      is required if the environment variable name contains other than
+    --      alphanumeric characters.
+    --
+    --    DOS
+    --      Environment variables uses % as prefix and suffix (e.g. %HOME%/dir).
+    --      The name DOS refer to "DOS-like" environment. This includes all
+    --      Windows systems.
+    --
+    --    Both
+    --      Recognize both forms described above.
+    --
+    --    System_Default
+    --      Uses either UNIX on Unix and OpenVMS systems, or DOS on Windows and
+    --      OS/2 depending on the running environment.
  
     ---------------
     -- Iterators --
*************** package GNAT.Directory_Operations is
*** 215,221 ****
     --  Raises Directory_Error if Dir has not be opened (Dir = Null_Dir).
  
     function Is_Open (Dir : Dir_Type) return Boolean;
!    --  Returns True if Dir is open, or False otherwise.
  
     procedure Read
       (Dir  : in out Dir_Type;
--- 227,233 ----
     --  Raises Directory_Error if Dir has not be opened (Dir = Null_Dir).
  
     function Is_Open (Dir : Dir_Type) return Boolean;
!    --  Returns True if Dir is open, or False otherwise
  
     procedure Read
       (Dir  : in out Dir_Type;
*************** private
*** 251,256 ****
  
     Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
                  Ada.Strings.Maps.To_Set ("/\");
!    --  UNIX and DOS style directory separators.
  
  end GNAT.Directory_Operations;
--- 263,268 ----
  
     Dir_Seps : constant Ada.Strings.Maps.Character_Set :=
                  Ada.Strings.Maps.To_Set ("/\");
!    --  UNIX and DOS style directory separators
  
  end GNAT.Directory_Operations;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dynhta.adb gcc-4.1.0/gcc/ada/g-dynhta.adb
*** gcc-4.0.2/gcc/ada/g-dynhta.adb	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/g-dynhta.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 G N A T . D Y N A M I C _ H T A B L E S                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2002-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 G N A T . D Y N A M I C _ H T A B L E S                  --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 32,37 ****
--- 32,38 ----
  ------------------------------------------------------------------------------
  
  with Ada.Unchecked_Deallocation;
+ 
  package body GNAT.Dynamic_HTables is
  
     -------------------
*************** package body GNAT.Dynamic_HTables is
*** 179,184 ****
--- 180,188 ----
        -----------
  
        procedure Reset (T : in out Instance) is
+          procedure Free is
+            new Ada.Unchecked_Deallocation (Instance_Data, Instance);
+ 
        begin
           if T = null then
              return;
*************** package body GNAT.Dynamic_HTables is
*** 187,192 ****
--- 191,198 ----
           for J in T.Table'Range loop
              T.Table (J) := Null_Ptr;
           end loop;
+ 
+          Free (T);
        end Reset;
  
        ---------
*************** package body GNAT.Dynamic_HTables is
*** 205,210 ****
--- 211,217 ----
           Set_Next (E, T.Table (Index));
           T.Table (Index) := E;
        end Set;
+ 
     end Static_HTable;
  
     -------------------
*************** package body GNAT.Dynamic_HTables is
*** 264,270 ****
  
        function Get_Next (T : Instance) return Element is
           Tmp : constant Elmt_Ptr := Tab.Get_Next (Tab.Instance (T));
- 
        begin
           if Tmp = null then
              return No_Element;
--- 271,276 ----
*************** package body GNAT.Dynamic_HTables is
*** 322,328 ****
  
        procedure Set (T : in out Instance; K : Key; E : Element) is
           Tmp : constant Elmt_Ptr := Tab.Get (Tab.Instance (T), K);
- 
        begin
           if Tmp = null then
              Tab.Set (Tab.Instance (T), new Element_Wrapper'(K, E, null));
--- 328,333 ----
*************** package body GNAT.Dynamic_HTables is
*** 339,344 ****
--- 344,350 ----
        begin
           E.Next := Next;
        end Set_Next;
+ 
     end Simple_HTable;
  
  end GNAT.Dynamic_HTables;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dynhta.ads gcc-4.1.0/gcc/ada/g-dynhta.ads
*** gcc-4.0.2/gcc/ada/g-dynhta.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-dynhta.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                 G N A T . D Y N A M I C _ H T A B L E S                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                 G N A T . D Y N A M I C _ H T A B L E S                  --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Dynamic_HTables is
*** 75,81 ****
  
     generic
        type Header_Num is range <>;
!       --  An integer type indicating the number and range of hash headers.
  
        type Element (<>) is limited private;
        --  The type of element to be stored
--- 75,81 ----
  
     generic
        type Header_Num is range <>;
!       --  An integer type indicating the number and range of hash headers
  
        type Element (<>) is limited private;
        --  The type of element to be stored
*************** package GNAT.Dynamic_HTables is
*** 85,91 ****
        --  type, but could be some other form of type such as an integer type).
  
        Null_Ptr : Elmt_Ptr;
!       --  The null value of the Elmt_Ptr type.
  
        with procedure Set_Next (E : Elmt_Ptr; Next : Elmt_Ptr);
        with function  Next     (E : Elmt_Ptr) return Elmt_Ptr;
--- 85,91 ----
        --  type, but could be some other form of type such as an integer type).
  
        Null_Ptr : Elmt_Ptr;
!       --  The null value of the Elmt_Ptr type
  
        with procedure Set_Next (E : Elmt_Ptr; Next : Elmt_Ptr);
        with function  Next     (E : Elmt_Ptr) return Elmt_Ptr;
*************** package GNAT.Dynamic_HTables is
*** 103,115 ****
        Nil : constant Instance;
  
        procedure Reset (T : in out Instance);
!       --  Resets the hash table by setting all its elements to Null_Ptr. The
!       --  effect is to clear the hash table so that it can be reused. For the
        --  most common case where Elmt_Ptr is an access type, and Null_Ptr is
        --  null, this is only needed if the same table is reused in a new
        --  context. If Elmt_Ptr is other than an access type, or Null_Ptr is
!       --  other than null, then Reset must be called before the first use
!       --  of the hash table.
  
        procedure Set (T : in out Instance; E : Elmt_Ptr);
        --  Insert the element pointer in the HTable
--- 103,115 ----
        Nil : constant Instance;
  
        procedure Reset (T : in out Instance);
!       --  Resets the hash table by releasing all memory associated with
!       --  it. The hash table can safely be reused after this call. For the
        --  most common case where Elmt_Ptr is an access type, and Null_Ptr is
        --  null, this is only needed if the same table is reused in a new
        --  context. If Elmt_Ptr is other than an access type, or Null_Ptr is
!       --  other than null, then Reset must be called before the first use of
!       --  the hash table.
  
        procedure Set (T : in out Instance; E : Elmt_Ptr);
        --  Insert the element pointer in the HTable
*************** package GNAT.Dynamic_HTables is
*** 154,160 ****
  
     generic
        type Header_Num is range <>;
!       --  An integer type indicating the number and range of hash headers.
  
        type Element is private;
        --  The type of element to be stored
--- 154,160 ----
  
     generic
        type Header_Num is range <>;
!       --  An integer type indicating the number and range of hash headers
  
        type Element is private;
        --  The type of element to be stored
*************** package GNAT.Dynamic_HTables is
*** 177,183 ****
        --  associated element.
  
        procedure Reset (T : in out Instance);
!       --  Removes and frees all elements in the table
  
        function Get (T : Instance; K : Key) return Element;
        --  Returns the Element associated with a key or No_Element if the
--- 177,185 ----
        --  associated element.
  
        procedure Reset (T : in out Instance);
!       --  Releases all memory associated with the table. The table can be
!       --  reused after this call (it is automatically allocated on the first
!       --  access to the table).
  
        function Get (T : Instance; K : Key) return Element;
        --  Returns the Element associated with a key or No_Element if the
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dyntab.adb gcc-4.1.0/gcc/ada/g-dyntab.adb
*** gcc-4.0.2/gcc/ada/g-dyntab.adb	Fri Mar  5 10:58:56 2004
--- gcc-4.1.0/gcc/ada/g-dyntab.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2000-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Dynamic_Tables is
*** 328,336 ****
     --  Start of processing for Sort_Table
  
     begin
- 
        Heap_Sort.Sort (Natural (Last (Table) - First) + 1);
- 
     end Sort_Table;
  
  end GNAT.Dynamic_Tables;
--- 328,334 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-dyntab.ads gcc-4.1.0/gcc/ada/g-dyntab.ads
*** gcc-4.0.2/gcc/ada/g-dyntab.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-dyntab.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2000-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Dynamic_Tables is
*** 101,111 ****
     --  safety is not compromised by this approach.
  
     type Table_Ptr is access all Big_Table_Type;
!    --  The table is actually represented as a pointer to allow
!    --  reallocation.
  
     type Table_Private is private;
!    --  table private data that is not exported in Instance.
  
     type Instance is record
        Table : aliased Table_Ptr := null;
--- 101,110 ----
     --  safety is not compromised by this approach.
  
     type Table_Ptr is access all Big_Table_Type;
!    --  The table is actually represented as a pointer to allow reallocation
  
     type Table_Private is private;
!    --  Table private data that is not exported in Instance
  
     type Instance is record
        Table : aliased Table_Ptr := null;
*************** package GNAT.Dynamic_Tables is
*** 203,211 ****
     --  to return False). The sort is not stable (the order of equal items
     --  in the table is not preserved).
  
- 
  private
- 
     type Table_Private is record
        Max : Integer;
        --  Subscript of the maximum entry in the currently allocated table
--- 202,208 ----
*************** private
*** 215,221 ****
        --  ensures that we initially allocate the table.
  
        Last_Val : Integer;
!       --  Current value of Last.
     end record;
  
  end GNAT.Dynamic_Tables;
--- 212,218 ----
        --  ensures that we initially allocate the table.
  
        Last_Val : Integer;
!       --  Current value of Last
     end record;
  
  end GNAT.Dynamic_Tables;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-eacodu-vms.adb gcc-4.1.0/gcc/ada/g-eacodu-vms.adb
*** gcc-4.0.2/gcc/ada/g-eacodu-vms.adb	Fri May 14 10:01:59 2004
--- gcc-4.1.0/gcc/ada/g-eacodu-vms.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2003 Free Software Foundation, Inc.             --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VMS version.
  
  with System;
  with System.Aux_DEC;
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VMS version
  
  with System;
  with System.Aux_DEC;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-eacodu.adb gcc-4.1.0/gcc/ada/g-eacodu.adb
*** gcc-4.0.2/gcc/ada/g-eacodu.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-eacodu.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-enblsp-vms-alpha.adb gcc-4.1.0/gcc/ada/g-enblsp-vms-alpha.adb
*** gcc-4.0.2/gcc/ada/g-enblsp-vms-alpha.adb	Thu Feb 10 13:48:50 2005
--- gcc-4.1.0/gcc/ada/g-enblsp-vms-alpha.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2005 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                       Copyright (C) 2005, AdaCore                        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --  for use by the VMS GNAT.Expect package (g-expect-vms.adb). This package
  --  should not be directly with'ed by an application program.
  
! --  This version is for Alpha/VMS.
  
  separate (GNAT.Expect)
  procedure Non_Blocking_Spawn
--- 35,41 ----
  --  for use by the VMS GNAT.Expect package (g-expect-vms.adb). This package
  --  should not be directly with'ed by an application program.
  
! --  This version is for Alpha/VMS
  
  separate (GNAT.Expect)
  procedure Non_Blocking_Spawn
*************** begin
*** 75,81 ****
        raise Invalid_Process;
     end if;
  
!    --  Fork a new process. It's not possible to do this in a subprogram.
  
     if Alloc_Vfork_Blocks >= 0 then
        Descriptor.Pid := Get_Current_Invo_Context (Get_Vfork_Jmpbuf);
--- 75,81 ----
        raise Invalid_Process;
     end if;
  
!    --  Fork a new process (it is not possible to do this in a subprogram)
  
     if Alloc_Vfork_Blocks >= 0 then
        Descriptor.Pid := Get_Current_Invo_Context (Get_Vfork_Jmpbuf);
*************** begin
*** 83,92 ****
        Descriptor.Pid := -1;
     end if;
  
!    --  Are we now in the child (or, for Windows, still in the common
!    --  process).
  
     if Descriptor.Pid = Null_Pid then
        --  Prepare an array of arguments to pass to C
  
        Arg   := new String (1 .. Command_With_Path'Length + 1);
--- 83,92 ----
        Descriptor.Pid := -1;
     end if;
  
!    --  Are we now in the child
  
     if Descriptor.Pid = Null_Pid then
+ 
        --  Prepare an array of arguments to pass to C
  
        Arg   := new String (1 .. Command_With_Path'Length + 1);
diff -Nrcpad gcc-4.0.2/gcc/ada/g-enblsp-vms-ia64.adb gcc-4.1.0/gcc/ada/g-enblsp-vms-ia64.adb
*** gcc-4.0.2/gcc/ada/g-enblsp-vms-ia64.adb	Thu Feb 10 13:48:50 2005
--- gcc-4.1.0/gcc/ada/g-enblsp-vms-ia64.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2005 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                       Copyright (C) 2005, AdaCore                        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --  for use by the VMS GNAT.Expect package (g-expect-vms.adb). This package
  --  should not be directly with'ed by an application program.
  
! --  This version is for IA64/VMS.
  
  separate (GNAT.Expect)
  procedure Non_Blocking_Spawn
--- 35,41 ----
  --  for use by the VMS GNAT.Expect package (g-expect-vms.adb). This package
  --  should not be directly with'ed by an application program.
  
! --  This version is for IA64/VMS
  
  separate (GNAT.Expect)
  procedure Non_Blocking_Spawn
*************** begin
*** 73,79 ****
        raise Invalid_Process;
     end if;
  
!    --  Fork a new process. It's not possible to do this in a subprogram.
  
     if Alloc_Vfork_Blocks >= 0 then
        Descriptor.Pid := Setjmp1 (Get_Vfork_Jmpbuf);
--- 73,79 ----
        raise Invalid_Process;
     end if;
  
!    --  Fork a new process (it is not possible to do this in a subprogram)
  
     if Alloc_Vfork_Blocks >= 0 then
        Descriptor.Pid := Setjmp1 (Get_Vfork_Jmpbuf);
*************** begin
*** 81,90 ****
        Descriptor.Pid := -1;
     end if;
  
!    --  Are we now in the child (or, for Windows, still in the common
!    --  process).
  
     if Descriptor.Pid = Null_Pid then
        --  Prepare an array of arguments to pass to C
  
        Arg   := new String (1 .. Command_With_Path'Length + 1);
--- 81,90 ----
        Descriptor.Pid := -1;
     end if;
  
!    --  Are we now in the child
  
     if Descriptor.Pid = Null_Pid then
+ 
        --  Prepare an array of arguments to pass to C
  
        Arg   := new String (1 .. Command_With_Path'Length + 1);
diff -Nrcpad gcc-4.0.2/gcc/ada/g-excact.adb gcc-4.1.0/gcc/ada/g-excact.adb
*** gcc-4.0.2/gcc/ada/g-excact.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-excact.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2002-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- with Ada.Exceptions;       use Ada.Exceptions;
  with Ada.Unchecked_Conversion;
  with System;
  with System.Soft_Links;       use System.Soft_Links;
--- 31,36 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-excact.ads gcc-4.1.0/gcc/ada/g-excact.ads
*** gcc-4.0.2/gcc/ada/g-excact.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-excact.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2002-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides support for callbacks on exceptions.
  
  --  These callbacks are called immediately when either a specific exception,
  --  or any exception, is raised, before any other actions taken by raise, in
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides support for callbacks on exceptions
  
  --  These callbacks are called immediately when either a specific exception,
  --  or any exception, is raised, before any other actions taken by raise, in
diff -Nrcpad gcc-4.0.2/gcc/ada/g-except.ads gcc-4.1.0/gcc/ada/g-except.ads
*** gcc-4.0.2/gcc/ada/g-except.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-except.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 2000-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 43,52 ****
  --  package allows for raising the standard predefined exceptions at least.
  
  package GNAT.Exceptions is
! pragma Pure (Exceptions);
  
     type Exception_Type is limited null record;
!    --  Type used to specify which exception to raise.
  
     --  Really Exception_Type is Exception_Id, but Exception_Id can't be
     --  used directly since it is declared in the non-pure unit Ada.Exceptions,
--- 43,52 ----
  --  package allows for raising the standard predefined exceptions at least.
  
  package GNAT.Exceptions is
!    pragma Pure;
  
     type Exception_Type is limited null record;
!    --  Type used to specify which exception to raise
  
     --  Really Exception_Type is Exception_Id, but Exception_Id can't be
     --  used directly since it is declared in the non-pure unit Ada.Exceptions,
diff -Nrcpad gcc-4.0.2/gcc/ada/g-exctra.adb gcc-4.1.0/gcc/ada/g-exctra.adb
*** gcc-4.0.2/gcc/ada/g-exctra.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-exctra.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2000-2002 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Exception_Traces is
*** 48,55 ****
  
     function Decorator_Wrapper
       (Traceback : System.Address;
!       Len       : Natural)
!       return      String;
     --  The wrapper to be called when a decorator is in place for exception
     --  backtraces.
     --
--- 48,54 ----
  
     function Decorator_Wrapper
       (Traceback : System.Address;
!       Len       : Natural) return String;
     --  The wrapper to be called when a decorator is in place for exception
     --  backtraces.
     --
*************** package body GNAT.Exception_Traces is
*** 68,75 ****
  
     function Decorator_Wrapper
       (Traceback : System.Address;
!       Len       : Natural)
!       return      String
     is
        Decorator_Traceback : Tracebacks_Array (1 .. Len);
        for Decorator_Traceback'Address use Traceback;
--- 67,73 ----
  
     function Decorator_Wrapper
       (Traceback : System.Address;
!       Len       : Natural) return String
     is
        Decorator_Traceback : Tracebacks_Array (1 .. Len);
        for Decorator_Traceback'Address use Traceback;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-exctra.ads gcc-4.1.0/gcc/ada/g-exctra.ads
*** gcc-4.0.2/gcc/ada/g-exctra.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-exctra.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2000-2003 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 34,51 ****
  --  This package provides an interface allowing to control *automatic* output
  --  to standard error upon exception occurrences (as opposed to explicit
  --  generation of traceback information using GNAT.Traceback).
! --
  --  This output includes the basic information associated with the exception
  --  (name, message) as well as a backtrace of the call chain at the point
  --  where the exception occurred. This backtrace is only output if the call
  --  chain information is available, depending if the binder switch dedicated
  --  to that purpose has been used or not.
! --
  --  The default backtrace is in the form of absolute code locations which may
  --  be converted to corresponding source locations using the addr2line utility
  --  or from within GDB. Please refer to GNAT.Traceback for information about
  --  what is necessary to be able to exploit thisg possibility.
! --
  --  The backtrace output can also be customized by way of a "decorator" which
  --  may return any string output in association with a provided call chain.
  
--- 34,51 ----
  --  This package provides an interface allowing to control *automatic* output
  --  to standard error upon exception occurrences (as opposed to explicit
  --  generation of traceback information using GNAT.Traceback).
! 
  --  This output includes the basic information associated with the exception
  --  (name, message) as well as a backtrace of the call chain at the point
  --  where the exception occurred. This backtrace is only output if the call
  --  chain information is available, depending if the binder switch dedicated
  --  to that purpose has been used or not.
! 
  --  The default backtrace is in the form of absolute code locations which may
  --  be converted to corresponding source locations using the addr2line utility
  --  or from within GDB. Please refer to GNAT.Traceback for information about
  --  what is necessary to be able to exploit thisg possibility.
! 
  --  The backtrace output can also be customized by way of a "decorator" which
  --  may return any string output in association with a provided call chain.
  
*************** package GNAT.Exception_Traces is
*** 72,78 ****
     --  traces identified by the above trace kind values.
  
     procedure Trace_On (Kind : Trace_Kind);
!    --  Activate the traces denoted by Kind.
  
     procedure Trace_Off;
     --  Stop the tracing requested by the last call to Trace_On.
--- 72,78 ----
     --  traces identified by the above trace kind values.
  
     procedure Trace_On (Kind : Trace_Kind);
!    --  Activate the traces denoted by Kind
  
     procedure Trace_Off;
     --  Stop the tracing requested by the last call to Trace_On.
diff -Nrcpad gcc-4.0.2/gcc/ada/g-expect-vms.adb gcc-4.1.0/gcc/ada/g-expect-vms.adb
*** gcc-4.0.2/gcc/ada/g-expect-vms.adb	Thu Feb 10 13:48:49 2005
--- gcc-4.1.0/gcc/ada/g-expect-vms.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2002-2005 Ada Core Technologies, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,37 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VMS version.
  
  with System;        use System;
  with Ada.Calendar;  use Ada.Calendar;
--- 31,37 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This is the VMS version
  
  with System;        use System;
  with Ada.Calendar;  use Ada.Calendar;
*************** package body GNAT.Expect is
*** 113,119 ****
  
     function Waitpid (Pid : Process_Id) return Integer;
     pragma Import (C, Waitpid, "__gnat_waitpid");
!    --  Wait for a specific process id, and return its exit code.
  
     ---------
     -- "+" --
--- 113,119 ----
  
     function Waitpid (Pid : Process_Id) return Integer;
     pragma Import (C, Waitpid, "__gnat_waitpid");
!    --  Wait for a specific process id, and return its exit code
  
     ---------
     -- "+" --
*************** package body GNAT.Expect is
*** 330,336 ****
           --  Calculate the timeout for the next turn.
           --  Note that Timeout is, from the caller's perspective, the maximum
           --  time until a match, not the maximum time until some output is
!          --  read, and thus can not be reused as is for Expect_Internal.
  
           if Timeout /= -1 then
              Timeout_Tmp := Integer (Try_Until - Clock) * 1000;
--- 330,336 ----
           --  Calculate the timeout for the next turn.
           --  Note that Timeout is, from the caller's perspective, the maximum
           --  time until a match, not the maximum time until some output is
!          --  read, and thus cannot be reused as is for Expect_Internal.
  
           if Timeout /= -1 then
              Timeout_Tmp := Integer (Try_Until - Clock) * 1000;
*************** package body GNAT.Expect is
*** 660,666 ****
                                     Descriptors (J).Buffer_Size - N;
                                end if;
  
!                               --  Keep what we read in the buffer.
  
                                Descriptors (J).Buffer
                                  (Descriptors (J).Buffer_Index + 1 ..
--- 660,666 ----
                                     Descriptors (J).Buffer_Size - N;
                                end if;
  
!                               --  Keep what we read in the buffer
  
                                Descriptors (J).Buffer
                                  (Descriptors (J).Buffer_Index + 1 ..
*************** package body GNAT.Expect is
*** 761,766 ****
--- 761,849 ----
  
     end Flush;
  
+    ------------------------
+    -- Get_Command_Output --
+    ------------------------
+ 
+    function Get_Command_Output
+      (Command    : String;
+       Arguments  : GNAT.OS_Lib.Argument_List;
+       Input      : String;
+       Status     : access Integer;
+       Err_To_Out : Boolean := False) return String
+    is
+       use GNAT.Expect;
+ 
+       Process : Process_Descriptor;
+ 
+       Output : String_Access := new String (1 .. 1024);
+       --  Buffer used to accumulate standard output from the launched
+       --  command, expanded as necessary during execution.
+ 
+       Last : Integer := 0;
+       --  Index of the last used character within Output
+ 
+    begin
+       Non_Blocking_Spawn
+         (Process, Command, Arguments, Err_To_Out => Err_To_Out);
+ 
+       if Input'Length > 0 then
+          Send (Process, Input);
+       end if;
+ 
+       GNAT.OS_Lib.Close (Get_Input_Fd (Process));
+ 
+       declare
+          Result : Expect_Match;
+ 
+       begin
+          --  This loop runs until the call to Expect raises Process_Died
+ 
+          loop
+             Expect (Process, Result, ".+");
+ 
+             declare
+                NOutput : String_Access;
+                S       : constant String := Expect_Out (Process);
+                pragma Assert (S'Length > 0);
+ 
+             begin
+                --  Expand buffer if we need more space
+ 
+                if Last + S'Length > Output'Last then
+                   NOutput := new String (1 .. 2 * Output'Last);
+                   NOutput (Output'Range) := Output.all;
+                   Free (Output);
+ 
+                   --  Here if current buffer size is OK
+ 
+                else
+                   NOutput := Output;
+                end if;
+ 
+                NOutput (Last + 1 .. Last + S'Length) := S;
+                Last := Last + S'Length;
+                Output := NOutput;
+             end;
+          end loop;
+ 
+       exception
+          when Process_Died =>
+             Close (Process, Status.all);
+       end;
+ 
+       if Last = 0 then
+          return "";
+       end if;
+ 
+       declare
+          S : constant String := Output (1 .. Last);
+       begin
+          Free (Output);
+          return S;
+       end;
+    end Get_Command_Output;
+ 
     ------------------
     -- Get_Error_Fd --
     ------------------
*************** package body GNAT.Expect is
*** 963,969 ****
     is
     begin
        Kill (Descriptor.Pid, Signal);
!       --  ??? Need to check process status here.
     end Send_Signal;
  
     ---------------------------------
--- 1046,1052 ----
     is
     begin
        Kill (Descriptor.Pid, Signal);
!       --  ??? Need to check process status here
     end Send_Signal;
  
     ---------------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/g-expect.adb gcc-4.1.0/gcc/ada/g-expect.adb
*** gcc-4.0.2/gcc/ada/g-expect.adb	Thu Feb 10 13:51:58 2005
--- gcc-4.1.0/gcc/ada/g-expect.adb	Tue Nov 15 13:57:56 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2000-2005 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,42 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with System;        use System;
! with Ada.Calendar;  use Ada.Calendar;
  
  with GNAT.IO;
! with GNAT.OS_Lib;   use GNAT.OS_Lib;
! with GNAT.Regpat;   use GNAT.Regpat;
  
  with Unchecked_Deallocation;
  
--- 31,42 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! with System;       use System;
! with Ada.Calendar; use Ada.Calendar;
  
  with GNAT.IO;
! with GNAT.OS_Lib;  use GNAT.OS_Lib;
! with GNAT.Regpat;  use GNAT.Regpat;
  
  with Unchecked_Deallocation;
  
*************** package body GNAT.Expect is
*** 69,74 ****
--- 69,77 ----
     procedure Free is new Unchecked_Deallocation
       (Pattern_Matcher, Pattern_Matcher_Access);
  
+    procedure Free is new Unchecked_Deallocation
+      (Filter_List_Elem, Filter_List);
+ 
     procedure Call_Filters
       (Pid       : Process_Descriptor'Class;
        Str       : String;
*************** package body GNAT.Expect is
*** 86,93 ****
     procedure Dup2 (Old_Fd, New_Fd : File_Descriptor);
     pragma Import (C, Dup2);
  
!    procedure Kill (Pid : Process_Id; Sig_Num : Integer);
     pragma Import (C, Kill, "__gnat_kill");
  
     function Create_Pipe (Pipe : access Pipe_Type) return Integer;
     pragma Import (C, Create_Pipe, "__gnat_pipe");
--- 89,97 ----
     procedure Dup2 (Old_Fd, New_Fd : File_Descriptor);
     pragma Import (C, Dup2);
  
!    procedure Kill (Pid : Process_Id; Sig_Num : Integer; Close : Integer);
     pragma Import (C, Kill, "__gnat_kill");
+    --  if Close is set to 1 all OS resources used by the Pid must be freed
  
     function Create_Pipe (Pipe : access Pipe_Type) return Integer;
     pragma Import (C, Create_Pipe, "__gnat_pipe");
*************** package body GNAT.Expect is
*** 108,114 ****
  
     function Waitpid (Pid : Process_Id) return Integer;
     pragma Import (C, Waitpid, "__gnat_waitpid");
!    --  Wait for a specific process id, and return its exit code.
  
     ---------
     -- "+" --
--- 112,118 ----
  
     function Waitpid (Pid : Process_Id) return Integer;
     pragma Import (C, Waitpid, "__gnat_waitpid");
!    --  Wait for a specific process id, and return its exit code
  
     ---------
     -- "+" --
*************** package body GNAT.Expect is
*** 204,209 ****
--- 208,216 ----
       (Descriptor : in out Process_Descriptor;
        Status     : out Integer)
     is
+       Current_Filter : Filter_List;
+       Next_Filter    : Filter_List;
+ 
     begin
        Close (Descriptor.Input_Fd);
  
*************** package body GNAT.Expect is
*** 214,224 ****
        Close (Descriptor.Output_Fd);
  
        --  ??? Should have timeouts for different signals
!       Kill (Descriptor.Pid, 9);
  
        GNAT.OS_Lib.Free (Descriptor.Buffer);
        Descriptor.Buffer_Size := 0;
  
        Status := Waitpid (Descriptor.Pid);
     end Close;
  
--- 221,241 ----
        Close (Descriptor.Output_Fd);
  
        --  ??? Should have timeouts for different signals
! 
!       Kill (Descriptor.Pid, 9, 0);
  
        GNAT.OS_Lib.Free (Descriptor.Buffer);
        Descriptor.Buffer_Size := 0;
  
+       Current_Filter := Descriptor.Filters;
+ 
+       while Current_Filter /= null loop
+          Next_Filter := Current_Filter.Next;
+          Free (Current_Filter);
+          Current_Filter := Next_Filter;
+       end loop;
+ 
+       Descriptor.Filters := null;
        Status := Waitpid (Descriptor.Pid);
     end Close;
  
*************** package body GNAT.Expect is
*** 323,332 ****
              return;
           end if;
  
!          --  Calculate the timeout for the next turn.
           --  Note that Timeout is, from the caller's perspective, the maximum
           --  time until a match, not the maximum time until some output is
!          --  read, and thus can not be reused as is for Expect_Internal.
  
           if Timeout /= -1 then
              Timeout_Tmp := Integer (Try_Until - Clock) * 1000;
--- 340,350 ----
              return;
           end if;
  
!          --  Calculate the timeout for the next turn
! 
           --  Note that Timeout is, from the caller's perspective, the maximum
           --  time until a match, not the maximum time until some output is
!          --  read, and thus cannot be reused as is for Expect_Internal.
  
           if Timeout /= -1 then
              Timeout_Tmp := Integer (Try_Until - Clock) * 1000;
*************** package body GNAT.Expect is
*** 656,662 ****
                                     Descriptors (J).Buffer_Size - N;
                                end if;
  
!                               --  Keep what we read in the buffer.
  
                                Descriptors (J).Buffer
                                  (Descriptors (J).Buffer_Index + 1 ..
--- 674,680 ----
                                     Descriptors (J).Buffer_Size - N;
                                end if;
  
!                               --  Keep what we read in the buffer
  
                                Descriptors (J).Buffer
                                  (Descriptors (J).Buffer_Index + 1 ..
*************** package body GNAT.Expect is
*** 754,770 ****
                 end if;
           end case;
        end loop;
- 
     end Flush;
  
     ------------------
     -- Get_Error_Fd --
     ------------------
  
     function Get_Error_Fd
!      (Descriptor : Process_Descriptor)
!       return       GNAT.OS_Lib.File_Descriptor
!    is
     begin
        return Descriptor.Error_Fd;
     end Get_Error_Fd;
--- 772,868 ----
                 end if;
           end case;
        end loop;
     end Flush;
  
+    ------------------------
+    -- Get_Command_Output --
+    ------------------------
+ 
+    function Get_Command_Output
+      (Command    : String;
+       Arguments  : GNAT.OS_Lib.Argument_List;
+       Input      : String;
+       Status     : access Integer;
+       Err_To_Out : Boolean := False) return String
+    is
+       use GNAT.Expect;
+ 
+       Process : Process_Descriptor;
+ 
+       Output : String_Access := new String (1 .. 1024);
+       --  Buffer used to accumulate standard output from the launched
+       --  command, expanded as necessary during execution.
+ 
+       Last : Integer := 0;
+       --  Index of the last used character within Output
+ 
+    begin
+       Non_Blocking_Spawn
+         (Process, Command, Arguments, Err_To_Out => Err_To_Out);
+ 
+       if Input'Length > 0 then
+          Send (Process, Input);
+       end if;
+ 
+       GNAT.OS_Lib.Close (Get_Input_Fd (Process));
+ 
+       declare
+          Result : Expect_Match;
+ 
+       begin
+          --  This loop runs until the call to Expect raises Process_Died
+ 
+          loop
+             Expect (Process, Result, ".+");
+ 
+             declare
+                NOutput : String_Access;
+                S       : constant String := Expect_Out (Process);
+                pragma Assert (S'Length > 0);
+ 
+             begin
+                --  Expand buffer if we need more space
+ 
+                if Last + S'Length > Output'Last then
+                   NOutput := new String (1 .. 2 * Output'Last);
+                   NOutput (Output'Range) := Output.all;
+                   Free (Output);
+ 
+                   --  Here if current buffer size is OK
+ 
+                else
+                   NOutput := Output;
+                end if;
+ 
+                NOutput (Last + 1 .. Last + S'Length) := S;
+                Last := Last + S'Length;
+                Output := NOutput;
+             end;
+          end loop;
+ 
+       exception
+          when Process_Died =>
+             Close (Process, Status.all);
+       end;
+ 
+       if Last = 0 then
+          return "";
+       end if;
+ 
+       declare
+          S : constant String := Output (1 .. Last);
+       begin
+          Free (Output);
+          return S;
+       end;
+    end Get_Command_Output;
+ 
     ------------------
     -- Get_Error_Fd --
     ------------------
  
     function Get_Error_Fd
!      (Descriptor : Process_Descriptor) return GNAT.OS_Lib.File_Descriptor is
     begin
        return Descriptor.Error_Fd;
     end Get_Error_Fd;
*************** package body GNAT.Expect is
*** 774,782 ****
     ------------------
  
     function Get_Input_Fd
!      (Descriptor : Process_Descriptor)
!       return       GNAT.OS_Lib.File_Descriptor
!    is
     begin
        return Descriptor.Input_Fd;
     end Get_Input_Fd;
--- 872,878 ----
     ------------------
  
     function Get_Input_Fd
!      (Descriptor : Process_Descriptor) return GNAT.OS_Lib.File_Descriptor is
     begin
        return Descriptor.Input_Fd;
     end Get_Input_Fd;
*************** package body GNAT.Expect is
*** 786,794 ****
     -------------------
  
     function Get_Output_Fd
!      (Descriptor : Process_Descriptor)
!       return       GNAT.OS_Lib.File_Descriptor
!    is
     begin
        return Descriptor.Output_Fd;
     end Get_Output_Fd;
--- 882,888 ----
     -------------------
  
     function Get_Output_Fd
!      (Descriptor : Process_Descriptor) return GNAT.OS_Lib.File_Descriptor is
     begin
        return Descriptor.Output_Fd;
     end Get_Output_Fd;
*************** package body GNAT.Expect is
*** 798,806 ****
     -------------
  
     function Get_Pid
!      (Descriptor : Process_Descriptor)
!       return       Process_Id
!    is
     begin
        return Descriptor.Pid;
     end Get_Pid;
--- 892,898 ----
     -------------
  
     function Get_Pid
!      (Descriptor : Process_Descriptor) return Process_Id is
     begin
        return Descriptor.Pid;
     end Get_Pid;
*************** package body GNAT.Expect is
*** 847,853 ****
  
        Arg        : String_Access;
        Arg_List   : String_List (1 .. Args'Length + 2);
!       C_Arg_List :  aliased array (1 .. Args'Length + 2) of System.Address;
  
        Command_With_Path : String_Access;
  
--- 939,945 ----
  
        Arg        : String_Access;
        Arg_List   : String_List (1 .. Args'Length + 2);
!       C_Arg_List : aliased array (1 .. Args'Length + 2) of System.Address;
  
        Command_With_Path : String_Access;
  
*************** package body GNAT.Expect is
*** 927,932 ****
--- 1019,1028 ----
        if Buffer_Size /= 0 then
           Descriptor.Buffer := new String (1 .. Positive (Buffer_Size));
        end if;
+ 
+       --  Initialize the filters
+ 
+       Descriptor.Filters := null;
     end Non_Blocking_Spawn;
  
     -------------------------
*************** package body GNAT.Expect is
*** 1004,1012 ****
     ----------
  
     procedure Send
!      (Descriptor : in out Process_Descriptor;
!       Str        : String;
!       Add_LF     : Boolean := True;
        Empty_Buffer : Boolean := False)
     is
        Full_Str    : constant String := Str & ASCII.LF;
--- 1100,1108 ----
     ----------
  
     procedure Send
!      (Descriptor   : in out Process_Descriptor;
!       Str          : String;
!       Add_LF       : Boolean := True;
        Empty_Buffer : Boolean := False)
     is
        Full_Str    : constant String := Str & ASCII.LF;
*************** package body GNAT.Expect is
*** 1020,1026 ****
     begin
        if Empty_Buffer then
  
!          --  Force a read on the process if there is anything waiting.
  
           Expect_Internal (Descriptors, Result,
                            Timeout => 0, Full_Buffer => False);
--- 1116,1122 ----
     begin
        if Empty_Buffer then
  
!          --  Force a read on the process if there is anything waiting
  
           Expect_Internal (Descriptors, Result,
                            Timeout => 0, Full_Buffer => False);
*************** package body GNAT.Expect is
*** 1054,1061 ****
        Signal     : Integer)
     is
     begin
!       Kill (Descriptor.Pid, Signal);
!       --  ??? Need to check process status here.
     end Send_Signal;
  
     ---------------------------------
--- 1150,1157 ----
        Signal     : Integer)
     is
     begin
!       Kill (Descriptor.Pid, Signal, 1);
!       --  ??? Need to check process status here
     end Send_Signal;
  
     ---------------------------------
diff -Nrcpad gcc-4.0.2/gcc/ada/g-expect.ads gcc-4.1.0/gcc/ada/g-expect.ads
*** gcc-4.0.2/gcc/ada/g-expect.ads	Fri Nov 19 11:26:07 2004
--- gcc-4.1.0/gcc/ada/g-expect.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 2000-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  for VMS. It is not yet implemented for any of the cross-ports (e.g. it
  --  is not available for VxWorks or LynxOS).
  
! --  Usage
! --  =====
  
  --  This package provides a set of subprograms similar to what is available
  --  with the standard Tcl Expect tool.
--- 35,43 ----
  --  for VMS. It is not yet implemented for any of the cross-ports (e.g. it
  --  is not available for VxWorks or LynxOS).
  
! --  -----------
! --  -- Usage --
! --  -----------
  
  --  This package provides a set of subprograms similar to what is available
  --  with the standard Tcl Expect tool.
***************
*** 111,121 ****
  --      Send (Fd, "command");
  --      Expect (Fd, Result, ".."); -- match only on the output of command
  
! --  Task Safety
! --  ===========
  
  --  This package is not task-safe: there should be not concurrent calls to
! --  the functions defined in this package.
  
  with System;
  with GNAT.OS_Lib;
--- 112,125 ----
  --      Send (Fd, "command");
  --      Expect (Fd, Result, ".."); -- match only on the output of command
  
! --  -----------------
! --  -- Task Safety --
! --  -----------------
  
  --  This package is not task-safe: there should be not concurrent calls to
! --  the functions defined in this package. In other words, separate tasks
! --  may not access the facilities of this package without synchronization
! --  that serializes access.
  
  with System;
  with GNAT.OS_Lib;
*************** package GNAT.Expect is
*** 195,201 ****
     procedure Send_Signal
       (Descriptor : Process_Descriptor;
        Signal     : Integer);
!    --  Send a given signal to the process.
  
     procedure Interrupt (Descriptor : in out Process_Descriptor);
     --  Interrupt the process (the equivalent of Ctrl-C on unix and windows)
--- 199,205 ----
     procedure Send_Signal
       (Descriptor : Process_Descriptor;
        Signal     : Integer);
!    --  Send a given signal to the process
  
     procedure Interrupt (Descriptor : in out Process_Descriptor);
     --  Interrupt the process (the equivalent of Ctrl-C on unix and windows)
*************** package GNAT.Expect is
*** 204,225 ****
     function Get_Input_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the input file descriptor associated with Descriptor.
  
     function Get_Output_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the output file descriptor associated with Descriptor.
  
     function Get_Error_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the error output file descriptor associated with Descriptor.
  
     function Get_Pid
       (Descriptor : Process_Descriptor)
        return       Process_Id;
!    --  Return the process id assocated with a given process descriptor.
  
     --------------------
     -- Adding filters --
--- 208,240 ----
     function Get_Input_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the input file descriptor associated with Descriptor
  
     function Get_Output_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the output file descriptor associated with Descriptor
  
     function Get_Error_Fd
       (Descriptor : Process_Descriptor)
        return       GNAT.OS_Lib.File_Descriptor;
!    --  Return the error output file descriptor associated with Descriptor
  
     function Get_Pid
       (Descriptor : Process_Descriptor)
        return       Process_Id;
!    --  Return the process id assocated with a given process descriptor
! 
!    function Get_Command_Output
!      (Command    : String;
!       Arguments  : GNAT.OS_Lib.Argument_List;
!       Input      : String;
!       Status     : access Integer;
!       Err_To_Out : Boolean := False) return String;
!    --  Execute Command with the specified Arguments and Input, and return the
!    --  generated standard output data as a single string. If Err_To_Out is
!    --  True, generated standard error output is included as well. On return,
!    --  Status is set to the command's exit status.
  
     --------------------
     -- Adding filters --
*************** package GNAT.Expect is
*** 302,311 ****
  
     type Expect_Match is new Integer;
     Expect_Full_Buffer : constant Expect_Match := -1;
!    --  If the buffer was full and some characters were discarded.
  
     Expect_Timeout : constant Expect_Match := -2;
!    --  If not output matching the regexps was found before the timeout.
  
     function "+" (S : String) return GNAT.OS_Lib.String_Access;
     --  Allocate some memory for the string. This is merely a convenience
--- 317,326 ----
  
     type Expect_Match is new Integer;
     Expect_Full_Buffer : constant Expect_Match := -1;
!    --  If the buffer was full and some characters were discarded
  
     Expect_Timeout : constant Expect_Match := -2;
!    --  If not output matching the regexps was found before the timeout
  
     function "+" (S : String) return GNAT.OS_Lib.String_Access;
     --  Allocate some memory for the string. This is merely a convenience
*************** package GNAT.Expect is
*** 380,386 ****
        Matched     : out GNAT.Regpat.Match_Array;
        Timeout     : Integer := 10000;
        Full_Buffer : Boolean := False);
!    --  Same as above, but with a precompiled regular expression.
  
     -------------------------------------------------------------
     -- Working on the output (single process, multiple regexp) --
--- 395,401 ----
        Matched     : out GNAT.Regpat.Match_Array;
        Timeout     : Integer := 10000;
        Full_Buffer : Boolean := False);
!    --  Same as above, but with a precompiled regular expression
  
     -------------------------------------------------------------
     -- Working on the output (single process, multiple regexp) --
*************** package GNAT.Expect is
*** 461,467 ****
        Matched     : out GNAT.Regpat.Match_Array;
        Timeout     : Integer := 10000;
        Full_Buffer : Boolean := False);
!    --  Same as above, but for multi processes.
  
     procedure Expect
       (Result      : out Expect_Match;
--- 476,482 ----
        Matched     : out GNAT.Regpat.Match_Array;
        Timeout     : Integer := 10000;
        Full_Buffer : Boolean := False);
!    --  Same as above, but for multi processes
  
     procedure Expect
       (Result      : out Expect_Match;
*************** private
*** 535,541 ****
     type Pipe_Type is record
        Input, Output : GNAT.OS_Lib.File_Descriptor;
     end record;
!    --  This type represents a pipe, used to communicate between two processes.
  
     procedure Set_Up_Communications
       (Pid        : in out Process_Descriptor;
--- 550,556 ----
     type Pipe_Type is record
        Input, Output : GNAT.OS_Lib.File_Descriptor;
     end record;
!    --  This type represents a pipe, used to communicate between two processes
  
     procedure Set_Up_Communications
       (Pid        : in out Process_Descriptor;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-flocon.ads gcc-4.1.0/gcc/ada/g-flocon.ads
*** gcc-4.0.2/gcc/ada/g-flocon.ads	Thu Apr 24 17:54:03 2003
--- gcc-4.1.0/gcc/ada/g-flocon.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2000 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005 AdaCore                      --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-heasor.adb gcc-4.1.0/gcc/ada/g-heasor.adb
*** gcc-4.0.2/gcc/ada/g-heasor.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-heasor.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       G N A T . H E A P _ S O R T                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       G N A T . H E A P _ S O R T                        --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-heasor.ads gcc-4.1.0/gcc/ada/g-heasor.ads
*** gcc-4.0.2/gcc/ada/g-heasor.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-heasor.ads	Tue Nov 15 17:21:54 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                       G N A T . H E A P _ S O R T                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                       G N A T . H E A P _ S O R T                        --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 37,54 ****
  --  subprogram parameters, so that it can be used with different types with
  --  shared sorting code.
  
- --  See also GNAT.Heap_Sort_G and GNAT.Heap_Sort_A. These are older versions
- --  of this routine. In some cases GNAT.Heap_Sort_G may be a little faster
- --  than GNAT.Heap_Sort, at the expense of generic code duplication and a
- --  less convenient interface. The generic version also has the advantage
- --  of being Pure, while this unit can only be Preelaborate.
- 
  --  This heapsort algorithm uses approximately N*log(N) compares in the
  --  worst case and is in place with no additional storage required. See
  --  the body for exact details of the algorithm used.
  
  package GNAT.Heap_Sort is
! pragma Preelaborate (Heap_Sort);
  
     --  The data to be sorted is assumed to be indexed by integer values
     --  from 1 to N, where N is the number of items to be sorted.
--- 37,57 ----
  --  subprogram parameters, so that it can be used with different types with
  --  shared sorting code.
  
  --  This heapsort algorithm uses approximately N*log(N) compares in the
  --  worst case and is in place with no additional storage required. See
  --  the body for exact details of the algorithm used.
  
+ --  See also GNAT.Heap_Sort_G which is a generic version that will be faster
+ --  since the overhead of the indirect calls is avoided, at the expense of
+ --  generic code duplication and less convenient interface. The generic version
+ --  also has the advantage of being Pure, while this unit can only be
+ --  Preelaborate, because of the access types.
+ 
+ --  Note: GNAT.Heap_Sort replaces and obsoletes GNAT.Heap_Sort_A, which is
+ --  retained in the GNAT library for backwards compatibility.
+ 
  package GNAT.Heap_Sort is
!    pragma Preelaborate;
  
     --  The data to be sorted is assumed to be indexed by integer values
     --  from 1 to N, where N is the number of items to be sorted.
diff -Nrcpad gcc-4.0.2/gcc/ada/g-hesora.adb gcc-4.1.0/gcc/ada/g-hesora.adb
*** gcc-4.0.2/gcc/ada/g-hesora.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-hesora.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ A                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-1999 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ A                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-hesora.ads gcc-4.1.0/gcc/ada/g-hesora.ads
*** gcc-4.0.2/gcc/ada/g-hesora.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-hesora.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ A                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ A                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 43,49 ****
  --  the body for exact details of the algorithm used.
  
  package GNAT.Heap_Sort_A is
! pragma Preelaborate (Heap_Sort_A);
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted. In addition, the
--- 43,49 ----
  --  the body for exact details of the algorithm used.
  
  package GNAT.Heap_Sort_A is
!    pragma Preelaborate;
  
     --  The data to be sorted is assumed to be indexed by integer values from
     --  1 to N, where N is the number of items to be sorted. In addition, the
diff -Nrcpad gcc-4.0.2/gcc/ada/g-hesorg.adb gcc-4.1.0/gcc/ada/g-hesorg.adb
*** gcc-4.0.2/gcc/ada/g-hesorg.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-hesorg.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ G                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ G                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-hesorg.ads gcc-4.1.0/gcc/ada/g-hesorg.ads
*** gcc-4.0.2/gcc/ada/g-hesorg.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-hesorg.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ G                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . H E A P _ S O R T _ G                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 44,50 ****
  
  --  There is also GNAT.Heap_Sort_A, which is now considered obsolete, but
  --  was an older version working with subprogram parameters. This version
! --  is retained for bacwards compatibility with old versions of GNAT.
  
  --  This heapsort algorithm uses approximately N*log(N) compares in the
  --  worst case and is in place with no additional storage required. See
--- 44,50 ----
  
  --  There is also GNAT.Heap_Sort_A, which is now considered obsolete, but
  --  was an older version working with subprogram parameters. This version
! --  is retained for backwards compatibility with old versions of GNAT.
  
  --  This heapsort algorithm uses approximately N*log(N) compares in the
  --  worst case and is in place with no additional storage required. See
*************** generic
*** 58,71 ****
     with procedure Move (From : Natural; To : Natural);
     --  A procedure that moves the data item with index value From to the data
     --  item with index value To (the old value in To being lost). An index
!    --  value of zero is used for moves from and to a single temporary location
  
     with function Lt (Op1, Op2 : Natural) return Boolean;
     --  A function that compares two items and returns True if the item with
     --  index Op1 is less than the item with Index Op2, and False if the Op1
     --  item is greater than the Op2 item. If the two items are equal, then
     --  it does not matter whether True or False is returned (it is slightly
!    --  more efficient to return False).
  
     --  Note on use of temporary location
  
--- 58,73 ----
     with procedure Move (From : Natural; To : Natural);
     --  A procedure that moves the data item with index value From to the data
     --  item with index value To (the old value in To being lost). An index
!    --  value of zero is used for moves from and to a single temporary location.
!    --  For best efficiency, this routine should be marked as inlined.
  
     with function Lt (Op1, Op2 : Natural) return Boolean;
     --  A function that compares two items and returns True if the item with
     --  index Op1 is less than the item with Index Op2, and False if the Op1
     --  item is greater than the Op2 item. If the two items are equal, then
     --  it does not matter whether True or False is returned (it is slightly
!    --  more efficient to return False). For best efficiency, this routine
!    --  should be marked as inlined.
  
     --  Note on use of temporary location
  
*************** generic
*** 77,83 ****
     --  zero will in this case be resolved at instantiation time.
  
  package GNAT.Heap_Sort_G is
! pragma Pure (Heap_Sort_G);
  
     procedure Sort (N : Natural);
     --  This procedures sorts items in the range from 1 to N into ascending
--- 79,85 ----
     --  zero will in this case be resolved at instantiation time.
  
  package GNAT.Heap_Sort_G is
!    pragma Pure;
  
     procedure Sort (N : Natural);
     --  This procedures sorts items in the range from 1 to N into ascending
diff -Nrcpad gcc-4.0.2/gcc/ada/g-htable.adb gcc-4.1.0/gcc/ada/g-htable.adb
*** gcc-4.0.2/gcc/ada/g-htable.adb	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-htable.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          G N A T . H T A B L E                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          G N A T . H T A B L E                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-htable.ads gcc-4.1.0/gcc/ada/g-htable.ads
*** gcc-4.0.2/gcc/ada/g-htable.ads	Tue Oct 21 13:42:00 2003
--- gcc-4.1.0/gcc/ada/g-htable.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          G N A T . H T A B L E                           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          G N A T . H T A B L E                           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 46,58 ****
  with System.HTable;
  
  package GNAT.HTable is
! pragma Preelaborate (HTable);
! 
! pragma Elaborate_Body;
! --  The elaborate body is because we have a dummy body to deal with bootstrap
! --  path problems (we used to have a real body, and now we don't need it any
! --  more, but the bootstrap requires that we have a dummy body, since otherwise
! --  the old body gets picked up.
  
     -------------------
     -- Simple_HTable --
--- 46,57 ----
  with System.HTable;
  
  package GNAT.HTable is
!    pragma Preelaborate;
!    pragma Elaborate_Body;
!    --  The elaborate body is because we have a dummy body to deal with
!    --  bootstrap path problems (we used to have a real body, and now we don't
!    --  need it any more, but the bootstrap requires that we have a dummy body,
!    --  since otherwise the old body gets picked up.
  
     -------------------
     -- Simple_HTable --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-io.adb gcc-4.1.0/gcc/ada/g-io.adb
*** gcc-4.0.2/gcc/ada/g-io.adb	Tue Oct 21 13:42:01 2003
--- gcc-4.1.0/gcc/ada/g-io.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                              G N A T . I O                               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                              G N A T . I O                               --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.IO is
*** 42,60 ****
     ---------
  
     procedure Get (X : out Integer) is
- 
        function Get_Int return Integer;
        pragma Import (C, Get_Int, "get_int");
- 
     begin
        X := Get_Int;
     end Get;
  
     procedure Get (C : out Character) is
- 
        function Get_Char return Character;
        pragma Import (C, Get_Char, "get_char");
- 
     begin
        C := Get_Char;
     end Get;
--- 42,56 ----
*************** package body GNAT.IO is
*** 108,114 ****
     end Put;
  
     procedure Put (File : File_Type; X : Integer) is
- 
        procedure Put_Int (X : Integer);
        pragma Import (C, Put_Int, "put_int");
  
--- 104,109 ----
*************** package body GNAT.IO is
*** 128,134 ****
     end Put;
  
     procedure Put (File : in File_Type; C : Character) is
- 
        procedure Put_Char (C : Character);
        pragma Import (C, Put_Char, "put_char");
  
--- 123,128 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-io.ads gcc-4.1.0/gcc/ada/g-io.ads
*** gcc-4.0.2/gcc/ada/g-io.ads	Tue Oct 21 13:42:02 2003
--- gcc-4.1.0/gcc/ada/g-io.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                              G N A T . I O                               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                              G N A T . I O                               --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 41,47 ****
  --  If such checks are needed then the regular Text_IO package must be used.
  
  package GNAT.IO is
! pragma Preelaborate (IO);
  
     type File_Type is limited private;
     --  Specifies file to be used (the only possibilities are Standard_Output
--- 41,47 ----
  --  If such checks are needed then the regular Text_IO package must be used.
  
  package GNAT.IO is
!    pragma Preelaborate;
  
     type File_Type is limited private;
     --  Specifies file to be used (the only possibilities are Standard_Output
diff -Nrcpad gcc-4.0.2/gcc/ada/g-io_aux.adb gcc-4.1.0/gcc/ada/g-io_aux.adb
*** gcc-4.0.2/gcc/ada/g-io_aux.adb	Tue Oct 21 13:42:03 2003
--- gcc-4.1.0/gcc/ada/g-io_aux.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          G N A T . I O _ A U X                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          G N A T . I O _ A U X                           --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-io_aux.ads gcc-4.1.0/gcc/ada/g-io_aux.ads
*** gcc-4.0.2/gcc/ada/g-io_aux.ads	Tue Oct 21 13:42:03 2003
--- gcc-4.1.0/gcc/ada/g-io_aux.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                          G N A T . I O _ A U X                           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2002 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                          G N A T . I O _ A U X                           --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-locfil.adb gcc-4.1.0/gcc/ada/g-locfil.adb
*** gcc-4.0.2/gcc/ada/g-locfil.adb	Tue Oct 21 13:42:03 2003
--- gcc-4.1.0/gcc/ada/g-locfil.adb	Fri Jul  1 01:29:17 2005
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-locfil.ads gcc-4.1.0/gcc/ada/g-locfil.ads
*** gcc-4.0.2/gcc/ada/g-locfil.ads	Tue Oct 21 13:42:03 2003
--- gcc-4.1.0/gcc/ada/g-locfil.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1995-2001 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,41 ****
  --  purpose of providing realiable system wide locking capability.
  
  package GNAT.Lock_Files is
! pragma Preelaborate;
  
     Lock_Error : exception;
     --  Exception raised if file cannot be locked
--- 35,41 ----
  --  purpose of providing realiable system wide locking capability.
  
  package GNAT.Lock_Files is
!    pragma Preelaborate;
  
     Lock_Error : exception;
     --  Exception raised if file cannot be locked
*************** pragma Preelaborate;
*** 62,68 ****
       (Lock_File_Name : Path_Name;
        Wait           : Duration := 1.0;
        Retries        : Natural  := Natural'Last);
!    --  See above. The full lock file path is given as one string.
  
     procedure Unlock_File (Directory : Path_Name; Lock_File_Name : Path_Name);
     --  Unlock a file. Directory can optionally terminate with a directory
--- 62,68 ----
       (Lock_File_Name : Path_Name;
        Wait           : Duration := 1.0;
        Retries        : Natural  := Natural'Last);
!    --  See above. The full lock file path is given as one string
  
     procedure Unlock_File (Directory : Path_Name; Lock_File_Name : Path_Name);
     --  Unlock a file. Directory can optionally terminate with a directory
diff -Nrcpad gcc-4.0.2/gcc/ada/g-md5.adb gcc-4.1.0/gcc/ada/g-md5.adb
*** gcc-4.0.2/gcc/ada/g-md5.adb	Mon Feb  2 12:31:52 2004
--- gcc-4.1.0/gcc/ada/g-md5.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                B o d y                                   --
  --                                                                          --
! --            Copyright (C) 2002-2004 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                B o d y                                   --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.MD5 is
*** 138,144 ****
     procedure Transform
       (C     : in out Context;
        Block : String);
!    --  Process one block of 64 characters.
  
     ------------
     -- Decode --
--- 138,144 ----
     procedure Transform
       (C     : in out Context;
        Block : String);
!    --  Process one block of 64 characters
  
     ------------
     -- Decode --
*************** package body GNAT.MD5 is
*** 148,154 ****
       (Block : String;
        X     : out Sixteen_Words)
     is
!       Cur   : Positive := Block'First;
  
     begin
        pragma Assert (Block'Length = 64);
--- 148,154 ----
       (Block : String;
        X     : out Sixteen_Words)
     is
!       Cur : Positive := Block'First;
  
     begin
        pragma Assert (Block'Length = 64);
*************** package body GNAT.MD5 is
*** 171,177 ****
        Result : Message_Digest;
  
        Cur : Natural := 1;
!       --  Index in Result where the next character will be placed.
  
        Last_Block : String (1 .. 64);
  
--- 171,177 ----
        Result : Message_Digest;
  
        Cur : Natural := 1;
!       --  Index in Result where the next character will be placed
  
        Last_Block : String (1 .. 64);
  
*************** package body GNAT.MD5 is
*** 519,525 ****
  
     function Wide_Digest (W : Wide_String) return Message_Digest is
        C : Context;
- 
     begin
        Wide_Update (C, W);
        return Digest (C);
--- 519,524 ----
*************** package body GNAT.MD5 is
*** 533,539 ****
       (C     : in out Context;
        Input : Wide_String)
     is
- 
        String_Input : String (1 .. 2 * Input'Length);
        Cur          : Positive := 1;
  
--- 532,537 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-md5.ads gcc-4.1.0/gcc/ada/g-md5.ads
*** gcc-4.0.2/gcc/ada/g-md5.ads	Mon Feb  2 12:31:52 2004
--- gcc-4.1.0/gcc/ada/g-md5.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 2002-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.MD5 is
*** 70,76 ****
     --  the same final context as a call with the concatenation of the inputs.
  
     subtype Message_Digest is String (1 .. 32);
!    --  The string type returned by function Digest.
  
     function Digest (C : Context) return Message_Digest;
     --  Extracts the Message-Digest from a context. This function should be
--- 70,76 ----
     --  the same final context as a call with the concatenation of the inputs.
  
     subtype Message_Digest is String (1 .. 32);
!    --  The string type returned by function Digest
  
     function Digest (C : Context) return Message_Digest;
     --  Extracts the Message-Digest from a context. This function should be
*************** package GNAT.MD5 is
*** 88,93 ****
--- 88,94 ----
  private
  
     --  Magic numbers
+ 
     Initial_A : constant := 16#67452301#;
     Initial_B : constant := 16#EFCDAB89#;
     Initial_C : constant := 16#98BADCFE#;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-memdum.adb gcc-4.1.0/gcc/ada/g-memdum.adb
*** gcc-4.0.2/gcc/ada/g-memdum.adb	Wed Dec  3 11:47:52 2003
--- gcc-4.1.0/gcc/ada/g-memdum.adb	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . M E M O R Y _ D U M P                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2003 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . M E M O R Y _ D U M P                      --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-memdum.ads gcc-4.1.0/gcc/ada/g-memdum.ads
*** gcc-4.0.2/gcc/ada/g-memdum.ads	Tue Oct 21 13:42:03 2003
--- gcc-4.1.0/gcc/ada/g-memdum.ads	Mon Sep  5 08:07:00 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                     G N A T . M E M O R Y _ D U M P                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2003 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                     G N A T . M E M O R Y _ D U M P                      --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 38,44 ****
  with System;
  
  package GNAT.Memory_Dump is
! pragma Preelaborate (Memory_Dump);
  
     procedure Dump (Addr : System.Address; Count : Natural);
     --  Dumps indicated number (Count) of bytes, starting at the address given
--- 38,44 ----
  with System;
  
  package GNAT.Memory_Dump is
!    pragma Preelaborate;
  
     procedure Dump (Addr : System.Address; Count : Natural);
     --  Dumps indicated number (Count) of bytes, starting at the address given
diff -Nrcpad gcc-4.0.2/gcc/ada/g-moreex.adb gcc-4.1.0/gcc/ada/g-moreex.adb
*** gcc-4.0.2/gcc/ada/g-moreex.adb	Thu Apr 24 17:54:03 2003
--- gcc-4.1.0/gcc/ada/g-moreex.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2000 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-moreex.ads gcc-4.1.0/gcc/ada/g-moreex.ads
*** gcc-4.0.2/gcc/ada/g-moreex.ads	Thu Apr 24 17:54:03 2003
--- gcc-4.1.0/gcc/ada/g-moreex.ads	Fri Jul  1 01:29:17 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2000 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2000-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Most_Recent_Exception is
*** 45,53 ****
  
     function Occurrence
       return Ada.Exceptions.Exception_Occurrence;
!    --  Returns the Exception_Occurrence for the most recently raised
!    --  exception in the current task. If no exception has been raised
!    --  in the current task prior to the call, returns Null_Occurrence.
  
     function Occurrence_Access
       return Ada.Exceptions.Exception_Occurrence_Access;
--- 45,53 ----
  
     function Occurrence
       return Ada.Exceptions.Exception_Occurrence;
!    --  Returns the Exception_Occurrence for the most recently raised exception
!    --  in the current task. If no exception has been raised in the current task
!    --  prior to the call, returns Null_Occurrence.
  
     function Occurrence_Access
       return Ada.Exceptions.Exception_Occurrence_Access;
*************** package GNAT.Most_Recent_Exception is
*** 73,77 ****
     --          --  not about the Constraint_Error exception being handled
     --          --  by the current handler code.
  
- 
  end GNAT.Most_Recent_Exception;
--- 73,76 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-os_lib.adb gcc-4.1.0/gcc/ada/g-os_lib.adb
*** gcc-4.0.2/gcc/ada/g-os_lib.adb	Thu Feb 10 13:51:58 2005
--- gcc-4.1.0/gcc/ada/g-os_lib.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 1995-2005 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1995-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System.Case_Util;
*** 35,63 ****
  with System.CRTL;
  with System.Soft_Links;
  with Unchecked_Conversion;
  with System; use System;
  
  package body GNAT.OS_Lib is
  
     OpenVMS : Boolean;
     --  Note: OpenVMS should be a constant, but it cannot be, because it
     --        prevents bootstrapping on some platforms.
  
-    On_Windows : constant Boolean := Directory_Separator = '\';
- 
     pragma Import (Ada, OpenVMS, "system__openvms");
     --  Needed to avoid doing useless checks when non on a VMS platform (see
     --  Normalize_Pathname).
  
     package SSL renames System.Soft_Links;
  
     --  The following are used by Create_Temp_File
  
!    Current_Temp_File_Name : String := "GNAT-TEMP-000000.TMP";
     --  Name of the temp file last created
  
     Temp_File_Name_Last_Digit : constant Positive :=
!                                  Current_Temp_File_Name'Last - 4;
     --  Position of the last digit in Current_Temp_File_Name
  
     Max_Attempts : constant := 100;
--- 35,78 ----
  with System.CRTL;
  with System.Soft_Links;
  with Unchecked_Conversion;
+ with Unchecked_Deallocation;
  with System; use System;
  
  package body GNAT.OS_Lib is
  
+    --  Imported procedures Dup and Dup2 are used in procedures Spawn and
+    --  Non_Blocking_Spawn.
+ 
+    function Dup (Fd : File_Descriptor) return File_Descriptor;
+    pragma Import (C, Dup, "__gnat_dup");
+ 
+    procedure Dup2 (Old_Fd, New_Fd : File_Descriptor);
+    pragma Import (C, Dup2, "__gnat_dup2");
+ 
     OpenVMS : Boolean;
     --  Note: OpenVMS should be a constant, but it cannot be, because it
     --        prevents bootstrapping on some platforms.
  
     pragma Import (Ada, OpenVMS, "system__openvms");
     --  Needed to avoid doing useless checks when non on a VMS platform (see
     --  Normalize_Pathname).
  
+    On_Windows : constant Boolean := Directory_Separator = '\';
+    --  An indication that we are on Windows. Used in Normalize_Pathname, to
+    --  deal with drive letters in the beginning of absolute paths.
+ 
     package SSL renames System.Soft_Links;
  
     --  The following are used by Create_Temp_File
  
!    First_Temp_File_Name : constant String := "GNAT-TEMP-000000.TMP";
!    --  Used to initialize Current_Temp_File_Name and Temp_File_Name_Last_Digit
! 
!    Current_Temp_File_Name : String := First_Temp_File_Name;
     --  Name of the temp file last created
  
     Temp_File_Name_Last_Digit : constant Positive :=
!                                  First_Temp_File_Name'Last - 4;
     --  Position of the last digit in Current_Temp_File_Name
  
     Max_Attempts : constant := 100;
*************** package body GNAT.OS_Lib is
*** 83,95 ****
        Blocking     : Boolean);
     --  Internal routine to implement the two Spawn (blocking/non blocking)
     --  routines. If Blocking is set to True then the spawn is blocking
!    --  otherwise it is non blocking. In this latter case the Pid contains
!    --  the process id number. The first three parameters are as in Spawn.
!    --  Note that Spawn_Internal normalizes the argument list before calling
!    --  the low level system spawn routines (see Normalize_Arguments). Note
!    --  that Normalize_Arguments is designed to do nothing if it is called
!    --  more than once, so calling Normalize_Arguments before calling one
!    --  of the spawn routines is fine.
  
     function To_Path_String_Access
       (Path_Addr : Address;
--- 98,111 ----
        Blocking     : Boolean);
     --  Internal routine to implement the two Spawn (blocking/non blocking)
     --  routines. If Blocking is set to True then the spawn is blocking
!    --  otherwise it is non blocking. In this latter case the Pid contains the
!    --  process id number. The first three parameters are as in Spawn. Note that
!    --  Spawn_Internal normalizes the argument list before calling the low level
!    --  system spawn routines (see Normalize_Arguments).
!    --
!    --  Note: Normalize_Arguments is designed to do nothing if it is called more
!    --  than once, so calling Normalize_Arguments before calling one of the
!    --  spawn routines is fine.
  
     function To_Path_String_Access
       (Path_Addr : Address;
*************** package body GNAT.OS_Lib is
*** 235,244 ****
     ---------------------
  
     function C_String_Length (S : Address) return Integer is
- 
        function Strlen (S : Address) return Integer;
        pragma Import (C, Strlen, "strlen");
- 
     begin
        if S = Null_Address then
           return 0;
--- 251,258 ----
*************** package body GNAT.OS_Lib is
*** 318,323 ****
--- 332,339 ----
              return C = Directory_Separator or else C = '/';
           end Is_Dirsep;
  
+       --  Start of processing for Build_Path
+ 
        begin
           --  Find base file name
  
*************** package body GNAT.OS_Lib is
*** 354,372 ****
  
        procedure Copy (From, To : File_Descriptor) is
           Buf_Size : constant := 200_000;
!          Buffer   : array (1 .. Buf_Size) of Character;
!          R        : Integer;
!          W        : Integer;
  
           Status_From : Boolean;
           Status_To   : Boolean;
           --  Statuses for the calls to Close
  
        begin
           if From = Invalid_FD or else To = Invalid_FD then
              raise Copy_Error;
           end if;
  
           loop
              R := Read (From, Buffer (1)'Address, Buf_Size);
  
--- 370,397 ----
  
        procedure Copy (From, To : File_Descriptor) is
           Buf_Size : constant := 200_000;
!          type Buf is array (1 .. Buf_Size) of Character;
!          type Buf_Ptr is access Buf;
! 
!          Buffer : Buf_Ptr;
!          R      : Integer;
!          W      : Integer;
  
           Status_From : Boolean;
           Status_To   : Boolean;
           --  Statuses for the calls to Close
  
+          procedure Free is new Unchecked_Deallocation (Buf, Buf_Ptr);
+ 
        begin
           if From = Invalid_FD or else To = Invalid_FD then
              raise Copy_Error;
           end if;
  
+          --  Allocate the buffer on the heap
+ 
+          Buffer := new Buf;
+ 
           loop
              R := Read (From, Buffer (1)'Address, Buf_Size);
  
*************** package body GNAT.OS_Lib is
*** 386,391 ****
--- 411,418 ----
                 Close (From, Status_From);
                 Close (To, Status_To);
  
+                Free (Buffer);
+ 
                 raise Copy_Error;
              end if;
           end loop;
*************** package body GNAT.OS_Lib is
*** 393,398 ****
--- 420,427 ----
           Close (From, Status_From);
           Close (To, Status_To);
  
+          Free (Buffer);
+ 
           if not (Status_From and Status_To) then
              raise Copy_Error;
           end if;
*************** package body GNAT.OS_Lib is
*** 476,483 ****
                    Dest : constant String := Build_Path (Pathname, Name);
  
                 begin
!                   --  If the target file exists, we have an error
!                   --  otherwise do the copy.
  
                    if Is_Regular_File (Dest) then
                       raise Copy_Error;
--- 505,511 ----
                    Dest : constant String := Build_Path (Pathname, Name);
  
                 begin
!                   --  If target file exists, we have an error, else do copy
  
                    if Is_Regular_File (Dest) then
                       raise Copy_Error;
*************** package body GNAT.OS_Lib is
*** 492,498 ****
                 Copy_To (Pathname);
              end if;
  
!          --  Overwrite case, destination file may or may not exist
  
           when Overwrite =>
              if Is_Directory (Pathname) then
--- 520,526 ----
                 Copy_To (Pathname);
              end if;
  
!          --  Overwrite case (destination file may or may not exist)
  
           when Overwrite =>
              if Is_Directory (Pathname) then
*************** package body GNAT.OS_Lib is
*** 501,507 ****
                 Copy_To (Pathname);
              end if;
  
!          --  Appending case, destination file may or may not exist
  
           when Append =>
  
--- 529,535 ----
                 Copy_To (Pathname);
              end if;
  
!          --  Append case (destination file may or may not exist)
  
           when Append =>
  
*************** package body GNAT.OS_Lib is
*** 509,516 ****
  
              if Is_Regular_File (Pathname) then
  
!                --  Append mode and destination file exists, append data
!                --  at the end of Pathname.
  
                 From := Open_Read (Name, Binary);
                 To   := Open_Read_Write (Pathname, Binary);
--- 537,544 ----
  
              if Is_Regular_File (Pathname) then
  
!                --  Append mode and destination file exists, append data at the
!                --  end of Pathname.
  
                 From := Open_Read (Name, Binary);
                 To   := Open_Read_Write (Pathname, Binary);
*************** package body GNAT.OS_Lib is
*** 829,835 ****
     function File_Time_Stamp (FD : File_Descriptor) return OS_Time is
        function File_Time (FD    : File_Descriptor) return OS_Time;
        pragma Import (C, File_Time, "__gnat_file_time_fd");
- 
     begin
        return File_Time (FD);
     end File_Time_Stamp;
--- 857,862 ----
*************** package body GNAT.OS_Lib is
*** 837,850 ****
     function File_Time_Stamp (Name : C_File_Name) return OS_Time is
        function File_Time (Name : Address) return OS_Time;
        pragma Import (C, File_Time, "__gnat_file_time_name");
- 
     begin
        return File_Time (Name);
     end File_Time_Stamp;
  
     function File_Time_Stamp (Name : String) return OS_Time is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 864,875 ----
*************** package body GNAT.OS_Lib is
*** 1124,1130 ****
          (Name   : Address;
           Length : Integer) return Integer;
        pragma Import (C, Is_Absolute_Path, "__gnat_is_absolute_path");
- 
     begin
        return Is_Absolute_Path (Name'Address, Name'Length) /= 0;
     end Is_Absolute_Path;
--- 1149,1154 ----
*************** package body GNAT.OS_Lib is
*** 1136,1149 ****
     function Is_Directory (Name : C_File_Name) return Boolean is
        function Is_Directory (Name : Address) return Integer;
        pragma Import (C, Is_Directory, "__gnat_is_directory");
- 
     begin
        return Is_Directory (Name) /= 0;
     end Is_Directory;
  
     function Is_Directory (Name : String) return Boolean is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 1160,1171 ----
*************** package body GNAT.OS_Lib is
*** 1157,1170 ****
     function Is_Regular_File (Name : C_File_Name) return Boolean is
        function Is_Regular_File (Name : Address) return Integer;
        pragma Import (C, Is_Regular_File, "__gnat_is_regular_file");
- 
     begin
        return Is_Regular_File (Name) /= 0;
     end Is_Regular_File;
  
     function Is_Regular_File (Name : String) return Boolean is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 1179,1190 ----
*************** package body GNAT.OS_Lib is
*** 1178,1191 ****
     function Is_Readable_File (Name : C_File_Name) return Boolean is
        function Is_Readable_File (Name : Address) return Integer;
        pragma Import (C, Is_Readable_File, "__gnat_is_readable_file");
- 
     begin
        return Is_Readable_File (Name) /= 0;
     end Is_Readable_File;
  
     function Is_Readable_File (Name : String) return Boolean is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 1198,1209 ----
*************** package body GNAT.OS_Lib is
*** 1199,1212 ****
     function Is_Writable_File (Name : C_File_Name) return Boolean is
        function Is_Writable_File (Name : Address) return Integer;
        pragma Import (C, Is_Writable_File, "__gnat_is_writable_file");
- 
     begin
        return Is_Writable_File (Name) /= 0;
     end Is_Writable_File;
  
     function Is_Writable_File (Name : String) return Boolean is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 1217,1228 ----
*************** package body GNAT.OS_Lib is
*** 1220,1233 ****
     function Is_Symbolic_Link (Name : C_File_Name) return Boolean is
        function Is_Symbolic_Link (Name : Address) return Integer;
        pragma Import (C, Is_Symbolic_Link, "__gnat_is_symbolic_link");
- 
     begin
        return Is_Symbolic_Link (Name) /= 0;
     end Is_Symbolic_Link;
  
     function Is_Symbolic_Link (Name : String) return Boolean is
        F_Name : String (1 .. Name'Length + 1);
- 
     begin
        F_Name (1 .. Name'Length) := Name;
        F_Name (F_Name'Last)      := ASCII.NUL;
--- 1236,1247 ----
*************** package body GNAT.OS_Lib is
*** 1334,1339 ****
--- 1348,1432 ----
        return Pid;
     end Non_Blocking_Spawn;
  
+    function Non_Blocking_Spawn
+      (Program_Name           : String;
+       Args                   : Argument_List;
+       Output_File_Descriptor : File_Descriptor;
+       Err_To_Out             : Boolean := True)
+       return                   Process_Id
+    is
+       Saved_Output : File_Descriptor;
+       Saved_Error  : File_Descriptor := Invalid_FD; -- prevent warning
+       Pid          : Process_Id;
+    begin
+       if Output_File_Descriptor = Invalid_FD then
+          return Invalid_Pid;
+       end if;
+ 
+       --  Set standard output and, if specified, error to the temporary file
+ 
+       Saved_Output := Dup (Standout);
+       Dup2 (Output_File_Descriptor, Standout);
+ 
+       if Err_To_Out then
+          Saved_Error  := Dup (Standerr);
+          Dup2 (Output_File_Descriptor, Standerr);
+       end if;
+ 
+       --  Spawn the program
+ 
+       Pid := Non_Blocking_Spawn (Program_Name, Args);
+ 
+       --  Restore the standard output and error
+ 
+       Dup2 (Saved_Output, Standout);
+ 
+       if Err_To_Out then
+          Dup2 (Saved_Error, Standerr);
+       end if;
+ 
+       --  And close the saved standard output and error file descriptors
+ 
+       Close (Saved_Output);
+ 
+       if Err_To_Out then
+          Close (Saved_Error);
+       end if;
+ 
+       return Pid;
+    end Non_Blocking_Spawn;
+ 
+    function Non_Blocking_Spawn
+      (Program_Name : String;
+       Args         : Argument_List;
+       Output_File  : String;
+       Err_To_Out   : Boolean := True) return Process_Id
+    is
+       Output_File_Descriptor : constant File_Descriptor :=
+                                  Create_Output_Text_File (Output_File);
+       Result : Process_Id;
+ 
+    begin
+       --  Do not attempt to spawn if the output file could not be created
+ 
+       if Output_File_Descriptor = Invalid_FD then
+          return Invalid_Pid;
+ 
+       else
+          Result := Non_Blocking_Spawn
+                      (Program_Name, Args, Output_File_Descriptor, Err_To_Out);
+ 
+          --  Close the file just created for the output, as the file descriptor
+          --  cannot be used anywhere, being a local value. It is safe to do
+          --  that, as the file descriptor has been duplicated to form
+          --  standard output and error of the spawned process.
+ 
+          Close (Output_File_Descriptor);
+ 
+          return Result;
+       end if;
+    end Non_Blocking_Spawn;
+ 
     -------------------------
     -- Normalize_Arguments --
     -------------------------
*************** package body GNAT.OS_Lib is
*** 1420,1425 ****
--- 1513,1520 ----
           end if;
        end Quote_Argument;
  
+    --  Start of processing for Normalize_Arguments
+ 
     begin
        if Argument_Needs_Quote then
           for K in Args'Range loop
*************** package body GNAT.OS_Lib is
*** 1746,1751 ****
--- 1841,1847 ----
              end if;
  
              --  Add the ASCII.NUL to be able to call the C function chdir
+ 
              Path (Pos + 1) := ASCII.NUL;
  
              Status := Change_Dir (Path (1 .. Pos + 1));
*************** package body GNAT.OS_Lib is
*** 1779,1791 ****
  
        --  Start the conversions
  
!       --  If this is not finished after Max_Iterations, give up and
!       --  return an empty string.
  
        for J in 1 .. Max_Iterations loop
  
!          --  If we don't have an absolute pathname, prepend
!          --  the directory Reference_Dir.
  
           if Last = 1
             and then not Is_Absolute_Path (Path_Buffer (1 .. End_Path))
--- 1875,1887 ----
  
        --  Start the conversions
  
!       --  If this is not finished after Max_Iterations, give up and return an
!       --  empty string.
  
        for J in 1 .. Max_Iterations loop
  
!          --  If we don't have an absolute pathname, prepend the directory
!          --  Reference_Dir.
  
           if Last = 1
             and then not Is_Absolute_Path (Path_Buffer (1 .. End_Path))
*************** package body GNAT.OS_Lib is
*** 1835,1842 ****
              end if;
           end loop;
  
!          --  Find the end of the current field: last character
!          --  or the one preceding the next directory separator.
  
           while Finish < End_Path
             and then Path_Buffer (Finish + 1) /= Directory_Separator
--- 1931,1938 ----
              end if;
           end loop;
  
!          --  Find the end of the current field: last character or the one
!          --  preceding the next directory separator.
  
           while Finish < End_Path
             and then Path_Buffer (Finish + 1) /= Directory_Separator
*************** package body GNAT.OS_Lib is
*** 1947,1957 ****
  
        --  Too many iterations: give up
  
!       --  This can happen when there is a circularity in the symbolic links:
!       --  A is a symbolic link for B, which itself is a symbolic link, and
!       --  the target of B or of another symbolic link target of B is A.
!       --  In this case, we return an empty string to indicate failure to
!       --  resolve.
  
        return "";
     end Normalize_Pathname;
--- 2043,2052 ----
  
        --  Too many iterations: give up
  
!       --  This can happen when there is a circularity in the symbolic links: A
!       --  is a symbolic link for B, which itself is a symbolic link, and the
!       --  target of B or of another symbolic link target of B is A. In this
!       --  case, we return an empty string to indicate failure to resolve.
  
        return "";
     end Normalize_Pathname;
*************** package body GNAT.OS_Lib is
*** 2015,2023 ****
     ----------
  
     function Read
!      (FD   : File_Descriptor;
!       A    : System.Address;
!       N    : Integer) return Integer
     is
     begin
        return Integer (System.CRTL.read
--- 2110,2118 ----
     ----------
  
     function Read
!      (FD : File_Descriptor;
!       A  : System.Address;
!       N  : Integer) return Integer
     is
     begin
        return Integer (System.CRTL.read
*************** package body GNAT.OS_Lib is
*** 2167,2184 ****
        Return_Code            : out Integer;
        Err_To_Out             : Boolean := True)
     is
-       function Dup (Fd : File_Descriptor) return File_Descriptor;
-       pragma Import (C, Dup, "__gnat_dup");
- 
-       procedure Dup2 (Old_Fd, New_Fd : File_Descriptor);
-       pragma Import (C, Dup2, "__gnat_dup2");
- 
        Saved_Output : File_Descriptor;
!       Saved_Error  : File_Descriptor := Invalid_FD;
!       --  We need to initialize Saved_Error to Invalid_FD to avoid
!       --  a compiler warning that this variable may be used before
!       --  it is initialized (which can not happen, but the compiler
!       --  is not smart enough to figure this out).
  
     begin
        --  Set standard output and error to the temporary file
--- 2262,2269 ----
        Return_Code            : out Integer;
        Err_To_Out             : Boolean := True)
     is
        Saved_Output : File_Descriptor;
!       Saved_Error  : File_Descriptor := Invalid_FD; -- prevent compiler warning
  
     begin
        --  Set standard output and error to the temporary file
*************** package body GNAT.OS_Lib is
*** 2268,2282 ****
                                                + Args_Length (Args);
           Command_Last : Natural := 0;
           Command : aliased Chars (1 .. Command_Len);
!          --  Command contains all characters of the Program_Name and Args,
!          --  all terminated by ASCII.NUL characters
  
           Arg_List_Len : constant Positive := Args'Length + 2;
           Arg_List_Last : Natural := 0;
           Arg_List : aliased array (1 .. Arg_List_Len) of Char_Ptr;
!          --  List with pointers to NUL-terminated strings of the
!          --  Program_Name and the Args and terminated with a null pointer.
!          --  We rely on the default initialization for the last null pointer.
  
           procedure Add_To_Command (S : String);
           --  Add S and a NUL character to Command, updating Last
--- 2353,2367 ----
                                                + Args_Length (Args);
           Command_Last : Natural := 0;
           Command : aliased Chars (1 .. Command_Len);
!          --  Command contains all characters of the Program_Name and Args, all
!          --  terminated by ASCII.NUL characters
  
           Arg_List_Len : constant Positive := Args'Length + 2;
           Arg_List_Last : Natural := 0;
           Arg_List : aliased array (1 .. Arg_List_Len) of Char_Ptr;
!          --  List with pointers to NUL-terminated strings of the Program_Name
!          --  and the Args and terminated with a null pointer. We rely on the
!          --  default initialization for the last null pointer.
  
           procedure Add_To_Command (S : String);
           --  Add S and a NUL character to Command, updating Last
*************** package body GNAT.OS_Lib is
*** 2298,2305 ****
           begin
              Command_Last := Command_Last + S'Length;
  
!             --  Move characters one at a time, because Command has
!             --  aliased components.
  
              for J in S'Range loop
                 Command (First + J - S'First) := S (J);
--- 2383,2392 ----
           begin
              Command_Last := Command_Last + S'Length;
  
!             --  Move characters one at a time, because Command has aliased
!             --  components.
! 
!             --  But not volatile, so why is this necessary ???
  
              for J in S'Range loop
                 Command (First + J - S'First) := S (J);
*************** package body GNAT.OS_Lib is
*** 2404,2412 ****
     -----------
  
     function Write
!      (FD   : File_Descriptor;
!       A    : System.Address;
!       N    : Integer) return Integer
     is
     begin
        return Integer (System.CRTL.write
--- 2491,2499 ----
     -----------
  
     function Write
!      (FD : File_Descriptor;
!       A  : System.Address;
!       N  : Integer) return Integer
     is
     begin
        return Integer (System.CRTL.write
diff -Nrcpad gcc-4.0.2/gcc/ada/g-os_lib.ads gcc-4.1.0/gcc/ada/g-os_lib.ads
*** gcc-4.0.2/gcc/ada/g-os_lib.ads	Thu Feb 10 13:51:58 2005
--- gcc-4.1.0/gcc/ada/g-os_lib.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1995-2005 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 1995-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.OS_Lib is
*** 114,120 ****
     subtype Second_Type is Integer range    0 ..   59;
     --  Declarations similar to those in Calendar, breaking down the time
  
- 
     function GM_Year    (Date : OS_Time) return Year_Type;
     function GM_Month   (Date : OS_Time) return Month_Type;
     function GM_Day     (Date : OS_Time) return Day_Type;
--- 114,119 ----
*************** package GNAT.OS_Lib is
*** 350,365 ****
     --  platforms, Success is always set to False.
  
     function Read
!      (FD   : File_Descriptor;
!       A    : System.Address;
!       N    : Integer) return Integer;
     --  Read N bytes to address A from file referenced by FD. Returned value is
     --  count of bytes actually read, which can be less than N at EOF.
  
     function Write
!      (FD   : File_Descriptor;
!       A    : System.Address;
!       N    : Integer) return Integer;
     --  Write N bytes from address A to file referenced by FD. The returned
     --  value is the number of bytes written, which can be less than N if a
     --  disk full condition was detected.
--- 349,364 ----
     --  platforms, Success is always set to False.
  
     function Read
!      (FD : File_Descriptor;
!       A  : System.Address;
!       N  : Integer) return Integer;
     --  Read N bytes to address A from file referenced by FD. Returned value is
     --  count of bytes actually read, which can be less than N at EOF.
  
     function Write
!      (FD : File_Descriptor;
!       A  : System.Address;
!       N  : Integer) return Integer;
     --  Write N bytes from address A to file referenced by FD. The returned
     --  value is the number of bytes written, which can be less than N if a
     --  disk full condition was detected.
*************** package GNAT.OS_Lib is
*** 715,720 ****
--- 714,753 ----
     --  This function will always return Invalid_Id under VxWorks, since there
     --  is no notion of executables under this OS.
  
+    function Non_Blocking_Spawn
+      (Program_Name           : String;
+       Args                   : Argument_List;
+       Output_File_Descriptor : File_Descriptor;
+       Err_To_Out             : Boolean := True) return Process_Id;
+    --  Similar to the procedure above, but redirects the output to the file
+    --  designated by Output_File_Descriptor. If Err_To_Out is True, then the
+    --  Standard Error output is also redirected. Invalid_Id is returned
+    --  if the program could not be spawned successfully.
+    --
+    --  "Non_Blocking_Spawn" should not be used in tasking applications.
+    --
+    --  This function will always return Invalid_Id under VxWorks, since there
+    --  is no notion of executables under this OS.
+ 
+    function Non_Blocking_Spawn
+      (Program_Name : String;
+       Args         : Argument_List;
+       Output_File  : String;
+       Err_To_Out   : Boolean := True)
+       return         Process_Id;
+    --  Similar to the procedure above, but saves the output of the command to
+    --  a file with the name Output_File.
+    --
+    --  Success is set to True if the command is executed and its output
+    --  successfully written to the file. Invalid_Id is returned if the output
+    --  file could not be created or if the program could not be spawned
+    --  successfully.
+    --
+    --  "Non_Blocking_Spawn" should not be used in tasking applications.
+    --
+    --  This function will always return Invalid_Id under VxWorks, since there
+    --  is no notion of executables under this OS.
+ 
     procedure Wait_Process (Pid : out Process_Id; Success : out Boolean);
     --  Wait for the completion of any of the processes created by previous
     --  calls to Non_Blocking_Spawn. The caller will be suspended until one of
*************** package GNAT.OS_Lib is
*** 730,737 ****
     --  there is no notion of executables under this OS.
  
     function Argument_String_To_List
!      (Arg_String : String)
!       return       Argument_List_Access;
     --  Take a string that is a program and its arguments and parse it into an
     --  Argument_List. Note that the result is allocated on the heap, and must
     --  be freed by the programmer (when it is no longer needed) to avoid
--- 763,769 ----
     --  there is no notion of executables under this OS.
  
     function Argument_String_To_List
!      (Arg_String : String) return Argument_List_Access;
     --  Take a string that is a program and its arguments and parse it into an
     --  Argument_List. Note that the result is allocated on the heap, and must
     --  be freed by the programmer (when it is no longer needed) to avoid
diff -Nrcpad gcc-4.0.2/gcc/ada/g-pehage.adb gcc-4.1.0/gcc/ada/g-pehage.adb
*** gcc-4.0.2/gcc/ada/g-pehage.adb	Mon Sep 13 10:18:39 2004
--- gcc-4.1.0/gcc/ada/g-pehage.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 2002-2004 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with GNAT.Table;
*** 40,63 ****
  
  package body GNAT.Perfect_Hash_Generators is
  
!    --  We are using the algorithm of J. Czech as described in Zbigniew
!    --  J. Czech, George Havas, and Bohdan S. Majewski ``An Optimal
!    --  Algorithm for Generating Minimal Perfect Hash Functions'',
!    --  Information Processing Letters, 43(1992) pp.257-264, Oct.1992
  
!    --  This minimal perfect hash function generator is based on random
!    --  graphs and produces a hash function of the form:
  
     --             h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
!    --  where f1 and f2 are functions that map strings into integers,
!    --  and g is a function that maps integers into [0, m-1]. h can be
!    --  order preserving. For instance, let W = {w_0, ..., w_i, ...,
     --  w_m-1}, h can be defined such that h (w_i) = i.
  
!    --  This algorithm defines two possible constructions of f1 and
!    --  f2. Method b) stores the hash function in less memory space at
!    --  the expense of greater CPU time.
  
     --  a) fk (w) = sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n
  
--- 40,63 ----
  
  package body GNAT.Perfect_Hash_Generators is
  
!    --  We are using the algorithm of J. Czech as described in Zbigniew J.
!    --  Czech, George Havas, and Bohdan S. Majewski ``An Optimal Algorithm for
!    --  Generating Minimal Perfect Hash Functions'', Information Processing
!    --  Letters, 43(1992) pp.257-264, Oct.1992
  
!    --  This minimal perfect hash function generator is based on random graphs
!    --  and produces a hash function of the form:
  
     --             h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
!    --  where f1 and f2 are functions that map strings into integers, and g is a
!    --  function that maps integers into [0, m-1]. h can be order preserving.
!    --  For instance, let W = {w_0, ..., w_i, ...,
     --  w_m-1}, h can be defined such that h (w_i) = i.
  
!    --  This algorithm defines two possible constructions of f1 and f2. Method
!    --  b) stores the hash function in less memory space at the expense of
!    --  greater CPU time.
  
     --  a) fk (w) = sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n
  
*************** package body GNAT.Perfect_Hash_Generator
*** 65,100 ****
  
     --  b) fk (w) = sum (for i in 1 .. length (w)) (Tk (i) * w (i)) mod n
  
!    --     size (Tk) = max (for w in W) (length (w)) but the table
!    --     lookups are replaced by multiplications.
  
!    --  where Tk values are randomly generated. n is defined later on
!    --  but the algorithm recommends to use a value a little bit
!    --  greater than 2m. Note that for large values of m, the main
!    --  memory space requirements comes from the memory space for
!    --  storing function g (>= 2m entries).
  
!    --  Random graphs are frequently used to solve difficult problems
!    --  that do not have polynomial solutions. This algorithm is based
!    --  on a weighted undirected graph. It comprises two steps: mapping
!    --  and assigment.
  
!    --  In the mapping step, a graph G = (V, E) is constructed, where V
!    --  = {0, 1, ..., n-1} and E = {(for w in W) (f1 (w), f2 (w))}. In
!    --  order for the assignment step to be successful, G has to be
!    --  acyclic. To have a high probability of generating an acyclic
!    --  graph, n >= 2m. If it is not acyclic, Tk have to be regenerated.
  
!    --  In the assignment step, the algorithm builds function g. As G
!    --  is acyclic, there is a vertex v1 with only one neighbor v2. Let
!    --  w_i be the word such that v1 = f1 (w_i) and v2 = f2 (w_i). Let
!    --  g (v1) = 0 by construction and g (v2) = (i - g (v1)) mod n (or
!    --  to be general, (h (i) - g (v1) mod n). If word w_j is such that
!    --  v2 = f1 (w_j) and v3 = f2 (w_j), g (v3) = (j - g (v2)) mod n
!    --  (or to be general, (h (j) - g (v2)) mod n). If w_i has no
!    --  neighbor, then another vertex is selected. The algorithm
!    --  traverses G to assign values to all the vertices. It cannot
!    --  assign a value to an already assigned vertex as G is acyclic.
  
     subtype Word_Id   is Integer;
     subtype Key_Id    is Integer;
--- 65,97 ----
  
     --  b) fk (w) = sum (for i in 1 .. length (w)) (Tk (i) * w (i)) mod n
  
!    --     size (Tk) = max (for w in W) (length (w)) but the table lookups are
!    --     replaced by multiplications.
  
!    --  where Tk values are randomly generated. n is defined later on but the
!    --  algorithm recommends to use a value a little bit greater than 2m. Note
!    --  that for large values of m, the main memory space requirements comes
!    --  from the memory space for storing function g (>= 2m entries).
  
!    --  Random graphs are frequently used to solve difficult problems that do
!    --  not have polynomial solutions. This algorithm is based on a weighted
!    --  undirected graph. It comprises two steps: mapping and assigment.
  
!    --  In the mapping step, a graph G = (V, E) is constructed, where = {0, 1,
!    --  ..., n-1} and E = {(for w in W) (f1 (w), f2 (w))}. In order for the
!    --  assignment step to be successful, G has to be acyclic. To have a high
!    --  probability of generating an acyclic graph, n >= 2m. If it is not
!    --  acyclic, Tk have to be regenerated.
  
!    --  In the assignment step, the algorithm builds function g. As is acyclic,
!    --  there is a vertex v1 with only one neighbor v2. Let w_i be the word such
!    --  that v1 = f1 (w_i) and v2 = f2 (w_i). Let g (v1) = 0 by construction and
!    --  g (v2) = (i - g (v1)) mod n (or to be general, (h (i) - g (v1) mod n).
!    --  If word w_j is such that v2 = f1 (w_j) and v3 = f2 (w_j), g (v3) = (j -
!    --  g (v2)) mod (or to be general, (h (j) - g (v2)) mod n). If w_i has no
!    --  neighbor, then another vertex is selected. The algorithm traverses G to
!    --  assign values to all the vertices. It cannot assign a value to an
!    --  already assigned vertex as G is acyclic.
  
     subtype Word_Id   is Integer;
     subtype Key_Id    is Integer;
*************** package body GNAT.Perfect_Hash_Generator
*** 109,150 ****
     Max_Word_Length : constant := 32;
     subtype Word_Type is String (1 .. Max_Word_Length);
     Null_Word : constant Word_Type := (others => ASCII.NUL);
!    --  Store keyword in a word. Note that the length of word is
!    --  limited to 32 characters.
  
     type Key_Type is record
        Edge : Edge_Id;
     end record;
!    --  A key corresponds to an edge in the algorithm graph.
  
     type Vertex_Type is record
        First : Edge_Id;
        Last  : Edge_Id;
     end record;
!    --  A vertex can be involved in several edges. First and Last are
!    --  the bounds of an array of edges stored in a global edge table.
  
     type Edge_Type is record
        X   : Vertex_Id;
        Y   : Vertex_Id;
        Key : Key_Id;
     end record;
!    --  An edge is a peer of vertices. In the algorithm, a key
!    --  is associated to an edge.
  
     package WT is new GNAT.Table (Word_Type, Word_Id, 0, 32, 32);
     package IT is new GNAT.Table (Integer, Integer, 0, 32, 32);
!    --  The two main tables. IT is used to store several tables of
!    --  components containing only integers.
  
     function Image (Int : Integer; W : Natural := 0) return String;
     function Image (Str : String;  W : Natural := 0) return String;
!    --  Return a string which includes string Str or integer Int
!    --  preceded by leading spaces if required by width W.
  
     Output : File_Descriptor renames GNAT.OS_Lib.Standout;
     --  Shortcuts
  
     Max  : constant := 78;
     Last : Natural  := 0;
     Line : String (1 .. Max);
--- 106,149 ----
     Max_Word_Length : constant := 32;
     subtype Word_Type is String (1 .. Max_Word_Length);
     Null_Word : constant Word_Type := (others => ASCII.NUL);
!    --  Store keyword in a word. Note that the length of word is limited to 32
!    --  characters.
  
     type Key_Type is record
        Edge : Edge_Id;
     end record;
!    --  A key corresponds to an edge in the algorithm graph
  
     type Vertex_Type is record
        First : Edge_Id;
        Last  : Edge_Id;
     end record;
!    --  A vertex can be involved in several edges. First and Last are the bounds
!    --  of an array of edges stored in a global edge table.
  
     type Edge_Type is record
        X   : Vertex_Id;
        Y   : Vertex_Id;
        Key : Key_Id;
     end record;
!    --  An edge is a peer of vertices. In the algorithm, a key is associated to
!    --  an edge.
  
     package WT is new GNAT.Table (Word_Type, Word_Id, 0, 32, 32);
     package IT is new GNAT.Table (Integer, Integer, 0, 32, 32);
!    --  The two main tables. IT is used to store several tables of components
!    --  containing only integers.
  
     function Image (Int : Integer; W : Natural := 0) return String;
     function Image (Str : String;  W : Natural := 0) return String;
!    --  Return a string which includes string Str or integer Int preceded by
!    --  leading spaces if required by width W.
  
     Output : File_Descriptor renames GNAT.OS_Lib.Standout;
     --  Shortcuts
  
+    EOL : constant Character := ASCII.LF;
+ 
     Max  : constant := 78;
     Last : Natural  := 0;
     Line : String (1 .. Max);
*************** package body GNAT.Perfect_Hash_Generator
*** 163,186 ****
        F2 : Natural;
        L2 : Natural;
        C2 : Natural);
!    --  Write string S into file F as a element of an array of one or
!    --  two dimensions. Fk (resp. Lk and Ck) indicates the first (resp
!    --  last and current) index in the k-th dimension. If F1 = L1 the
!    --  array is considered as a one dimension array. This dimension is
!    --  described by F2 and L2. This routine takes care of all the
!    --  parenthesis, spaces and commas needed to format correctly the
!    --  array. Moreover, the array is well indented and is wrapped to
!    --  fit in a 80 col line. When the line is full, the routine writes
!    --  it into file F. When the array is completed, the routine adds a
     --  semi-colon and writes the line into file F.
  
     procedure New_Line
!      (F : File_Descriptor);
     --  Simulate Ada.Text_IO.New_Line with GNAT.OS_Lib
  
     procedure Put
!      (F : File_Descriptor;
!       S : String);
     --  Simulate Ada.Text_IO.Put with GNAT.OS_Lib
  
     procedure Put_Used_Char_Set
--- 162,184 ----
        F2 : Natural;
        L2 : Natural;
        C2 : Natural);
!    --  Write string S into file F as a element of an array of one or two
!    --  dimensions. Fk (resp. Lk and Ck) indicates the first (resp last and
!    --  current) index in the k-th dimension. If F1 = L1 the array is considered
!    --  as a one dimension array. This dimension is described by F2 and L2. This
!    --  routine takes care of all the parenthesis, spaces and commas needed to
!    --  format correctly the array. Moreover, the array is well indented and is
!    --  wrapped to fit in a 80 col line. When the line is full, the routine
!    --  writes it into file F. When the array is completed, the routine adds
     --  semi-colon and writes the line into file F.
  
     procedure New_Line
!      (File : File_Descriptor);
     --  Simulate Ada.Text_IO.New_Line with GNAT.OS_Lib
  
     procedure Put
!      (File : File_Descriptor;
!       Str  : String);
     --  Simulate Ada.Text_IO.Put with GNAT.OS_Lib
  
     procedure Put_Used_Char_Set
*************** package body GNAT.Perfect_Hash_Generator
*** 191,206 ****
     procedure Put_Int_Vector
       (File   : File_Descriptor;
        Title  : String;
!       Root   : Integer;
        Length : Natural);
     --  Output a title and a vector
  
     procedure Put_Int_Matrix
       (File  : File_Descriptor;
        Title : String;
!       Table : Table_Id);
!    --  Output a title and a matrix. When the matrix has only one
!    --  non-empty dimension, it is output as a vector.
  
     procedure Put_Edges
       (File  : File_Descriptor;
--- 189,206 ----
     procedure Put_Int_Vector
       (File   : File_Descriptor;
        Title  : String;
!       Vector : Integer;
        Length : Natural);
     --  Output a title and a vector
  
     procedure Put_Int_Matrix
       (File  : File_Descriptor;
        Title : String;
!       Table : Table_Id;
!       Len_1 : Natural;
!       Len_2 : Natural);
!    --  Output a title and a matrix. When the matrix has only one non-empty
!    --  dimension (Len_2 = 0), output a vector.
  
     procedure Put_Edges
       (File  : File_Descriptor;
*************** package body GNAT.Perfect_Hash_Generator
*** 226,307 ****
     -- Character Position Selection --
     ----------------------------------
  
!    --  We reduce the maximum key size by selecting representative
!    --  positions in these keys. We build a matrix with one word per
!    --  line. We fill the remaining space of a line with ASCII.NUL. The
!    --  heuristic selects the position that induces the minimum number
!    --  of collisions. If there are collisions, select another position
!    --  on the reduced key set responsible of the collisions. Apply the
!    --  heuristic until there is no more collision.
  
     procedure Apply_Position_Selection;
     --  Apply Position selection and build the reduced key table
  
     procedure Parse_Position_Selection (Argument : String);
!    --  Parse Argument and compute the position set. Argument is a
!    --  list of substrings separated by commas. Each substring
!    --  represents a position or a range of positions (like x-y).
  
     procedure Select_Character_Set;
!    --  Define an optimized used character set like Character'Pos in
!    --  order not to allocate tables of 256 entries.
  
     procedure Select_Char_Position;
!    --  Find a min char position set in order to reduce the max key
!    --  length. The heuristic selects the position that induces the
!    --  minimum number of collisions. If there are collisions, select
!    --  another position on the reduced key set responsible of the
!    --  collisions. Apply the heuristic until there is no collision.
  
     -----------------------------
     -- Random Graph Generation --
     -----------------------------
  
     procedure Random (Seed : in out Natural);
!    --  Simulate Ada.Discrete_Numerics.Random.
  
     procedure Generate_Mapping_Table
!      (T  : Table_Id;
!       L1 : Natural;
!       L2 : Natural;
!       S  : in out Natural);
!    --  Random generation of the tables below. T is already allocated.
  
     procedure Generate_Mapping_Tables
!      (Opt : Optimization;
!       S   : in out Natural);
!    --  Generate the mapping tables T1 and T2. They are used to define :
!    --  fk (w) = sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n.
!    --  Keys, NK and Chars are used to compute the matrix size.
  
     ---------------------------
     -- Algorithm Computation --
     ---------------------------
  
     procedure Compute_Edges_And_Vertices (Opt : Optimization);
!    --  Compute the edge and vertex tables. These are empty when a self
!    --  loop is detected (f1 (w) = f2 (w)). The edge table is sorted by
!    --  X value and then Y value. Keys is the key table and NK the
!    --  number of keys. Chars is the set of characters really used in
!    --  Keys. NV is the number of vertices recommended by the
!    --  algorithm. T1 and T2 are the mapping tables needed to compute
!    --  f1 (w) and f2 (w).
  
     function Acyclic return Boolean;
!    --  Return True when the graph is acyclic. Vertices is the current
!    --  vertex table and Edges the current edge table.
  
     procedure Assign_Values_To_Vertices;
!    --  Execute the assignment step of the algorithm. Keys is the
!    --  current key table. Vertices and Edges represent the random
!    --  graph. G is the result of the assignment step such that:
     --    h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
     function Sum
       (Word  : Word_Type;
        Table : Table_Id;
!       Opt   : Optimization)
!       return  Natural;
     --  For an optimization of CPU_Time return
     --    fk (w) = sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n
     --  For an optimization of Memory_Space return
--- 226,304 ----
     -- Character Position Selection --
     ----------------------------------
  
!    --  We reduce the maximum key size by selecting representative positions
!    --  in these keys. We build a matrix with one word per line. We fill the
!    --  remaining space of a line with ASCII.NUL. The heuristic selects the
!    --  position that induces the minimum number of collisions. If there are
!    --  collisions, select another position on the reduced key set responsible
!    --  of the collisions. Apply the heuristic until there is no more collision.
  
     procedure Apply_Position_Selection;
     --  Apply Position selection and build the reduced key table
  
     procedure Parse_Position_Selection (Argument : String);
!    --  Parse Argument and compute the position set. Argument is list of
!    --  substrings separated by commas. Each substring represents a position
!    --  or a range of positions (like x-y).
  
     procedure Select_Character_Set;
!    --  Define an optimized used character set like Character'Pos in order not
!    --  to allocate tables of 256 entries.
  
     procedure Select_Char_Position;
!    --  Find a min char position set in order to reduce the max key length. The
!    --  heuristic selects the position that induces the minimum number of
!    --  collisions. If there are collisions, select another position on the
!    --  reduced key set responsible of the collisions. Apply the heuristic until
!    --  there is no collision.
  
     -----------------------------
     -- Random Graph Generation --
     -----------------------------
  
     procedure Random (Seed : in out Natural);
!    --  Simulate Ada.Discrete_Numerics.Random
  
     procedure Generate_Mapping_Table
!      (Tab  : Table_Id;
!       L1   : Natural;
!       L2   : Natural;
!       Seed : in out Natural);
!    --  Random generation of the tables below. T is already allocated
  
     procedure Generate_Mapping_Tables
!      (Opt  : Optimization;
!       Seed : in out Natural);
!    --  Generate the mapping tables T1 and T2. They are used to define fk (w) =
!    --  sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n. Keys, NK and Chars
!    --  are used to compute the matrix size.
  
     ---------------------------
     -- Algorithm Computation --
     ---------------------------
  
     procedure Compute_Edges_And_Vertices (Opt : Optimization);
!    --  Compute the edge and vertex tables. These are empty when a self loop is
!    --  detected (f1 (w) = f2 (w)). The edge table is sorted by X value and then
!    --  Y value. Keys is the key table and NK the number of keys. Chars is the
!    --  set of characters really used in Keys. NV is the number of vertices
!    --  recommended by the algorithm. T1 and T2 are the mapping tables needed to
!    --  compute f1 (w) and f2 (w).
  
     function Acyclic return Boolean;
!    --  Return True when the graph is acyclic. Vertices is the current vertex
!    --  table and Edges the current edge table.
  
     procedure Assign_Values_To_Vertices;
!    --  Execute the assignment step of the algorithm. Keys is the current key
!    --  table. Vertices and Edges represent the random graph. G is the result of
!    --  the assignment step such that:
     --    h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
     function Sum
       (Word  : Word_Type;
        Table : Table_Id;
!       Opt   : Optimization) return Natural;
     --  For an optimization of CPU_Time return
     --    fk (w) = sum (for i in 1 .. length (w)) (Tk (i, w (i))) mod n
     --  For an optimization of Memory_Space return
*************** package body GNAT.Perfect_Hash_Generator
*** 312,327 ****
     -- Internal Table Management --
     -------------------------------
  
!    function  Allocate (N : Natural; S : Natural) return Table_Id;
!    --  procedure Deallocate (N : Natural; S : Natural);
  
     ----------
     -- Keys --
     ----------
  
!    Key_Size : constant := 1;
!    Keys     : Table_Id := No_Table;
!    NK       : Natural;
     --  NK : Number of Keys
  
     function Initial (K : Key_Id) return Word_Id;
--- 309,326 ----
     -- Internal Table Management --
     -------------------------------
  
!    function Allocate (N : Natural; S : Natural := 1) return Table_Id;
!    --  Allocate N * S ints from IT table
! 
!    procedure Free_Tmp_Tables;
!    --  Deallocate the tables used by the algorithm (but not the keys table)
  
     ----------
     -- Keys --
     ----------
  
!    Keys : Table_Id := No_Table;
!    NK   : Natural  := 0;
     --  NK : Number of Keys
  
     function Initial (K : Key_Id) return Word_Id;
*************** package body GNAT.Perfect_Hash_Generator
*** 330,393 ****
     function Reduced (K : Key_Id) return Word_Id;
     pragma Inline (Reduced);
  
!    function  Get_Key (F : Key_Id) return Key_Type;
!    procedure Set_Key (F : Key_Id; Item : Key_Type);
!    --  Comments needed here ???
  
     ------------------
     -- Char_Pos_Set --
     ------------------
  
-    Char_Pos_Size    : constant := 1;
     Char_Pos_Set     : Table_Id := No_Table;
     Char_Pos_Set_Len : Natural;
     --  Character Selected Position Set
  
     function  Get_Char_Pos (P : Natural) return Natural;
     procedure Set_Char_Pos (P : Natural; Item : Natural);
!    --  Comments needed here ???
  
     -------------------
     -- Used_Char_Set --
     -------------------
  
-    Used_Char_Size    : constant := 1;
     Used_Char_Set     : Table_Id := No_Table;
     Used_Char_Set_Len : Natural;
!    --  Used Character Set : Define a new character mapping. When all
!    --  the characters are not present in the keys, in order to reduce
!    --  the size of some tables, we redefine the character mapping.
  
     function  Get_Used_Char (C : Character) return Natural;
     procedure Set_Used_Char (C : Character; Item : Natural);
  
!    -------------------
!    -- Random Tables --
!    -------------------
  
!    Rand_Tab_Item_Size : constant := 1;
!    T1                 : Table_Id := No_Table;
!    T2                 : Table_Id := No_Table;
!    Rand_Tab_Len_1     : Natural;
!    Rand_Tab_Len_2     : Natural;
     --  T1  : Values table to compute F1
     --  T2  : Values table to compute F2
  
!    function  Get_Rand_Tab (T : Integer; X, Y : Natural) return Natural;
!    procedure Set_Rand_Tab (T : Integer; X, Y : Natural; Item : Natural);
  
!    ------------------
!    -- Random Graph --
!    ------------------
  
!    Graph_Item_Size : constant := 1;
!    G               : Table_Id := No_Table;
!    Graph_Len       : Natural;
!    --  G   : Values table to compute G
  
!    function  Get_Graph (F : Natural) return Integer;
!    procedure Set_Graph (F : Natural; Item : Integer);
!    --  Comments needed ???
  
     -----------
     -- Edges --
--- 329,391 ----
     function Reduced (K : Key_Id) return Word_Id;
     pragma Inline (Reduced);
  
!    function  Get_Key (N : Key_Id) return Key_Type;
!    procedure Set_Key (N : Key_Id; Item : Key_Type);
!    --  Get or Set Nth element of Keys table
  
     ------------------
     -- Char_Pos_Set --
     ------------------
  
     Char_Pos_Set     : Table_Id := No_Table;
     Char_Pos_Set_Len : Natural;
     --  Character Selected Position Set
  
     function  Get_Char_Pos (P : Natural) return Natural;
     procedure Set_Char_Pos (P : Natural; Item : Natural);
!    --  Get or Set the string position of the Pth selected character
  
     -------------------
     -- Used_Char_Set --
     -------------------
  
     Used_Char_Set     : Table_Id := No_Table;
     Used_Char_Set_Len : Natural;
!    --  Used Character Set : Define a new character mapping. When all the
!    --  characters are not present in the keys, in order to reduce the size
!    --  of some tables, we redefine the character mapping.
  
     function  Get_Used_Char (C : Character) return Natural;
     procedure Set_Used_Char (C : Character; Item : Natural);
  
!    ------------
!    -- Tables --
!    ------------
  
!    T1     : Table_Id := No_Table;
!    T2     : Table_Id := No_Table;
!    T1_Len : Natural;
!    T2_Len : Natural;
     --  T1  : Values table to compute F1
     --  T2  : Values table to compute F2
  
!    function  Get_Table (T : Integer; X, Y : Natural) return Natural;
!    procedure Set_Table (T : Integer; X, Y : Natural; Item : Natural);
  
!    -----------
!    -- Graph --
!    -----------
  
!    G     : Table_Id := No_Table;
!    G_Len : Natural;
!    --  Values table to compute G
  
!    NT : Natural := Default_Tries;
!    --  Number of tries running the algorithm before raising an error
! 
!    function  Get_Graph (N : Natural) return Integer;
!    procedure Set_Graph (N : Natural; Item : Integer);
!    --  Get or Set Nth element of graph
  
     -----------
     -- Edges --
*************** package body GNAT.Perfect_Hash_Generator
*** 423,430 ****
     Opt : Optimization;
     --  Optimization mode (memory vs CPU)
  
!    MKL : Natural;
!    --  Maximum of all the word length
  
     S : Natural;
     --  Seed
--- 421,429 ----
     Opt : Optimization;
     --  Optimization mode (memory vs CPU)
  
!    Max_Key_Len : Natural := 0;
!    Min_Key_Len : Natural := Max_Word_Length;
!    --  Maximum and minimum of all the word length
  
     S : Natural;
     --  Seed
*************** package body GNAT.Perfect_Hash_Generator
*** 436,461 ****
     -- Acyclic --
     -------------
  
!    function Acyclic return Boolean
!    is
        Marks : array (0 .. NV - 1) of Vertex_Id := (others => No_Vertex);
  
        function Traverse
!         (Edge  : Edge_Id;
!          Mark  : Vertex_Id)
!          return  Boolean;
!       --  Propagate Mark from X to Y. X is already marked. Mark Y and
!       --  propagate it to the edges of Y except the one representing
!       --  the same key. Return False when Y is marked with Mark.
  
        --------------
        -- Traverse --
        --------------
  
        function Traverse
!         (Edge  : Edge_Id;
!          Mark  : Vertex_Id)
!          return  Boolean
        is
           E : constant Edge_Type := Get_Edges (Edge);
           K : constant Key_Id    := E.Key;
--- 435,457 ----
     -- Acyclic --
     -------------
  
!    function Acyclic return Boolean is
        Marks : array (0 .. NV - 1) of Vertex_Id := (others => No_Vertex);
  
        function Traverse
!         (Edge : Edge_Id;
!          Mark : Vertex_Id) return Boolean;
!       --  Propagate Mark from X to Y. X is already marked. Mark Y and propagate
!       --  it to the edges of Y except the one representing the same key. Return
!       --  False when Y is marked with Mark.
  
        --------------
        -- Traverse --
        --------------
  
        function Traverse
!         (Edge : Edge_Id;
!          Mark : Vertex_Id) return Boolean
        is
           E : constant Edge_Type := Get_Edges (Edge);
           K : constant Key_Id    := E.Key;
*************** package body GNAT.Perfect_Hash_Generator
*** 473,479 ****
  
              for J in V.First .. V.Last loop
  
!                --  Do not propagate to the edge representing the same key.
  
                 if Get_Edges (J).Key /= K
                   and then not Traverse (J, Mark)
--- 469,475 ----
  
              for J in V.First .. V.Last loop
  
!                --  Do not propagate to the edge representing the same key
  
                 if Get_Edges (J).Key /= K
                   and then not Traverse (J, Mark)
*************** package body GNAT.Perfect_Hash_Generator
*** 531,537 ****
  
     procedure Add (S : String) is
        Len : constant Natural := S'Length;
- 
     begin
        Line (Last + 1 .. Last + Len) := S;
        Last := Last + Len;
--- 527,532 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 541,549 ****
     -- Allocate --
     --------------
  
!    function  Allocate (N : Natural; S : Natural) return Table_Id is
        L : constant Integer := IT.Last;
- 
     begin
        IT.Set_Last (L + N * S);
        return L + 1;
--- 536,543 ----
     -- Allocate --
     --------------
  
!    function  Allocate (N : Natural; S : Natural := 1) return Table_Id is
        L : constant Integer := IT.Last;
     begin
        IT.Set_Last (L + N * S);
        return L + 1;
*************** package body GNAT.Perfect_Hash_Generator
*** 555,561 ****
  
     procedure Apply_Position_Selection is
     begin
!       WT.Set_Last (2 * NK - 1);
        for J in 0 .. NK - 1 loop
           declare
              I_Word : constant Word_Type := WT.Table (Initial (J));
--- 549,555 ----
  
     procedure Apply_Position_Selection is
     begin
!       WT.Set_Last (2 * NK);
        for J in 0 .. NK - 1 loop
           declare
              I_Word : constant Word_Type := WT.Table (Initial (J));
*************** package body GNAT.Perfect_Hash_Generator
*** 563,570 ****
              Index  : Natural   := I_Word'First - 1;
  
           begin
!             --  Select the characters of Word included in the
!             --  position selection.
  
              for C in 0 .. Char_Pos_Set_Len - 1 loop
                 exit when I_Word (Get_Char_Pos (C)) = ASCII.NUL;
--- 557,564 ----
              Index  : Natural   := I_Word'First - 1;
  
           begin
!             --  Select the characters of Word included in the position
!             --  selection.
  
              for C in 0 .. Char_Pos_Set_Len - 1 loop
                 exit when I_Word (Get_Char_Pos (C)) = ASCII.NUL;
*************** package body GNAT.Perfect_Hash_Generator
*** 580,635 ****
        end loop;
     end Apply_Position_Selection;
  
-    -------------
-    -- Compute --
-    -------------
- 
-    procedure Compute (Position : String := Default_Position) is
-    begin
-       Keys := Allocate (NK, Key_Size);
- 
-       if Verbose then
-          Put_Initial_Keys (Output, "Initial Key Table");
-       end if;
- 
-       if Position'Length /= 0 then
-          Parse_Position_Selection (Position);
-       else
-          Select_Char_Position;
-       end if;
- 
-       if Verbose then
-          Put_Int_Vector
-            (Output, "Char Position Set", Char_Pos_Set, Char_Pos_Set_Len);
-       end if;
- 
-       Apply_Position_Selection;
- 
-       if Verbose then
-          Put_Reduced_Keys (Output, "Reduced Keys Table");
-       end if;
- 
-       Select_Character_Set;
- 
-       if Verbose then
-          Put_Used_Char_Set (Output, "Character Position Table");
-       end if;
- 
-       --  Perform Czech's algorithm
- 
-       loop
-          Generate_Mapping_Tables (Opt, S);
-          Compute_Edges_And_Vertices (Opt);
- 
-          --  When graph is not empty (no self-loop from previous
-          --  operation) and not acyclic.
- 
-          exit when 0 < Edges_Len and then Acyclic;
-       end loop;
- 
-       Assign_Values_To_Vertices;
-    end Compute;
- 
     -------------------------------
     -- Assign_Values_To_Vertices --
     -------------------------------
--- 574,579 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 638,645 ****
        X  : Vertex_Id;
  
        procedure Assign (X : Vertex_Id);
!       --  Execute assignment on X's neighbors except the vertex that
!       --  we are coming from which is already assigned.
  
        ------------
        -- Assign --
--- 582,589 ----
        X  : Vertex_Id;
  
        procedure Assign (X : Vertex_Id);
!       --  Execute assignment on X's neighbors except the vertex that we are
!       --  coming from which is already assigned.
  
        ------------
        -- Assign --
*************** package body GNAT.Perfect_Hash_Generator
*** 649,655 ****
        is
           E : Edge_Type;
           V : constant Vertex_Type := Get_Vertices (X);
- 
        begin
           for J in V.First .. V.Last loop
              E := Get_Edges (J);
--- 593,598 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 667,677 ****
        --  be in the range 0 .. NK.
  
        if G = No_Table then
!          Graph_Len := NV;
!          G := Allocate (Graph_Len, Graph_Item_Size);
        end if;
  
!       for J in 0 .. Graph_Len - 1 loop
           Set_Graph (J, -1);
        end loop;
  
--- 610,620 ----
        --  be in the range 0 .. NK.
  
        if G = No_Table then
!          G_Len := NV;
!          G := Allocate (G_Len, 1);
        end if;
  
!       for J in 0 .. G_Len - 1 loop
           Set_Graph (J, -1);
        end loop;
  
*************** package body GNAT.Perfect_Hash_Generator
*** 684,700 ****
           end if;
        end loop;
  
!       for J in 0 .. Graph_Len - 1 loop
           if Get_Graph (J) = -1 then
              Set_Graph (J, 0);
           end if;
        end loop;
  
        if Verbose then
!          Put_Int_Vector (Output, "Assign Values To Vertices", G, Graph_Len);
        end if;
     end Assign_Values_To_Vertices;
  
     --------------------------------
     -- Compute_Edges_And_Vertices --
     --------------------------------
--- 627,706 ----
           end if;
        end loop;
  
!       for J in 0 .. G_Len - 1 loop
           if Get_Graph (J) = -1 then
              Set_Graph (J, 0);
           end if;
        end loop;
  
        if Verbose then
!          Put_Int_Vector (Output, "Assign Values To Vertices", G, G_Len);
        end if;
     end Assign_Values_To_Vertices;
  
+    -------------
+    -- Compute --
+    -------------
+ 
+    procedure Compute
+      (Position : String := Default_Position)
+    is
+       Success : Boolean := False;
+ 
+    begin
+       NV := Natural (K2V * Float (NK));
+ 
+       Keys := Allocate (NK);
+ 
+       if Verbose then
+          Put_Initial_Keys (Output, "Initial Key Table");
+       end if;
+ 
+       if Position'Length /= 0 then
+          Parse_Position_Selection (Position);
+       else
+          Select_Char_Position;
+       end if;
+ 
+       if Verbose then
+          Put_Int_Vector
+            (Output, "Char Position Set", Char_Pos_Set, Char_Pos_Set_Len);
+       end if;
+ 
+       Apply_Position_Selection;
+ 
+       if Verbose then
+          Put_Reduced_Keys (Output, "Reduced Keys Table");
+       end if;
+ 
+       Select_Character_Set;
+ 
+       if Verbose then
+          Put_Used_Char_Set (Output, "Character Position Table");
+       end if;
+ 
+       --  Perform Czech's algorithm
+ 
+       for J in 1 .. NT loop
+          Generate_Mapping_Tables (Opt, S);
+          Compute_Edges_And_Vertices (Opt);
+ 
+          --  When graph is not empty (no self-loop from previous operation) and
+          --  not acyclic.
+ 
+          if 0 < Edges_Len and then Acyclic then
+             Success := True;
+             exit;
+          end if;
+       end loop;
+ 
+       if not Success then
+          raise Too_Many_Tries;
+       end if;
+ 
+       Assign_Values_To_Vertices;
+    end Compute;
+ 
     --------------------------------
     -- Compute_Edges_And_Vertices --
     --------------------------------
*************** package body GNAT.Perfect_Hash_Generator
*** 711,725 ****
        function Lt (L, R : Natural) return Boolean;
        --  Subprograms needed for GNAT.Heap_Sort_A
  
-       ----------
-       -- Move --
-       ----------
- 
-       procedure Move (From : Natural; To : Natural) is
-       begin
-          Set_Edges (To, Get_Edges (From));
-       end Move;
- 
        --------
        -- Lt --
        --------
--- 717,722 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 727,742 ****
        function Lt (L, R : Natural) return Boolean is
           EL : constant Edge_Type := Get_Edges (L);
           ER : constant Edge_Type := Get_Edges (R);
- 
        begin
           return EL.X < ER.X or else (EL.X = ER.X and then EL.Y < ER.Y);
        end Lt;
  
     --  Start of processing for Compute_Edges_And_Vertices
  
     begin
!       --  We store edges from 1 to 2 * NK and leave
!       --  zero alone in order to use GNAT.Heap_Sort_A.
  
        Edges_Len := 2 * NK + 1;
  
--- 724,747 ----
        function Lt (L, R : Natural) return Boolean is
           EL : constant Edge_Type := Get_Edges (L);
           ER : constant Edge_Type := Get_Edges (R);
        begin
           return EL.X < ER.X or else (EL.X = ER.X and then EL.Y < ER.Y);
        end Lt;
  
+       ----------
+       -- Move --
+       ----------
+ 
+       procedure Move (From : Natural; To : Natural) is
+       begin
+          Set_Edges (To, Get_Edges (From));
+       end Move;
+ 
     --  Start of processing for Compute_Edges_And_Vertices
  
     begin
!       --  We store edges from 1 to 2 * NK and leave zero alone in order to use
!       --  GNAT.Heap_Sort_A.
  
        Edges_Len := 2 * NK + 1;
  
*************** package body GNAT.Perfect_Hash_Generator
*** 783,796 ****
        else
           if Verbose then
              Put_Edges      (Output, "Unsorted Edge Table");
!             Put_Int_Matrix (Output, "Function Table 1", T1);
!             Put_Int_Matrix (Output, "Function Table 2", T2);
           end if;
  
!          --  Enforce consistency between edges and keys. Construct
!          --  Vertices and compute the list of neighbors of a vertex
!          --  First .. Last as Edges is sorted by X and then Y. To
!          --  compute the neighbor list, sort the edges.
  
           Sort
             (Edges_Len - 1,
--- 788,803 ----
        else
           if Verbose then
              Put_Edges      (Output, "Unsorted Edge Table");
!             Put_Int_Matrix (Output, "Function Table 1", T1,
!                             T1_Len, T2_Len);
!             Put_Int_Matrix (Output, "Function Table 2", T2,
!                             T1_Len, T2_Len);
           end if;
  
!          --  Enforce consistency between edges and keys. Construct Vertices and
!          --  compute the list of neighbors of a vertex First .. Last as Edges
!          --  is sorted by X and then Y. To compute the neighbor list, sort the
!          --  edges.
  
           Sort
             (Edges_Len - 1,
*************** package body GNAT.Perfect_Hash_Generator
*** 799,806 ****
  
           if Verbose then
              Put_Edges      (Output, "Sorted Edge Table");
!             Put_Int_Matrix (Output, "Function Table 1", T1);
!             Put_Int_Matrix (Output, "Function Table 2", T2);
           end if;
  
           --  Edges valid range is 1 .. 2 * NK
--- 806,815 ----
  
           if Verbose then
              Put_Edges      (Output, "Sorted Edge Table");
!             Put_Int_Matrix (Output, "Function Table 1", T1,
!                             T1_Len, T2_Len);
!             Put_Int_Matrix (Output, "Function Table 2", T2,
!                             T1_Len, T2_Len);
           end if;
  
           --  Edges valid range is 1 .. 2 * NK
*************** package body GNAT.Perfect_Hash_Generator
*** 857,864 ****
           when Function_Table_1
             |  Function_Table_2 =>
              Item_Size := Type_Size (NV);
!             Length_1  := Rand_Tab_Len_1;
!             Length_2  := Rand_Tab_Len_2;
  
           when Graph_Table =>
              Item_Size := Type_Size (NK);
--- 866,873 ----
           when Function_Table_1
             |  Function_Table_2 =>
              Item_Size := Type_Size (NV);
!             Length_1  := T1_Len;
!             Length_2  := T2_Len;
  
           when Graph_Table =>
              Item_Size := Type_Size (NK);
*************** package body GNAT.Perfect_Hash_Generator
*** 873,883 ****
  
     procedure Finalize is
     begin
        WT.Release;
        IT.Release;
  
        Keys := No_Table;
-       NK   := 0;
  
        Char_Pos_Set     := No_Table;
        Char_Pos_Set_Len := 0;
--- 882,906 ----
  
     procedure Finalize is
     begin
+       Free_Tmp_Tables;
+ 
        WT.Release;
        IT.Release;
  
+       NK := 0;
+       Max_Key_Len := 0;
+       Min_Key_Len := Max_Word_Length;
+    end Finalize;
+ 
+    ---------------------
+    -- Free_Tmp_Tables --
+    ---------------------
+ 
+    procedure Free_Tmp_Tables is
+    begin
+       IT.Init;
+ 
        Keys := No_Table;
  
        Char_Pos_Set     := No_Table;
        Char_Pos_Set_Len := 0;
*************** package body GNAT.Perfect_Hash_Generator
*** 888,921 ****
        T1 := No_Table;
        T2 := No_Table;
  
!       Rand_Tab_Len_1 := 0;
!       Rand_Tab_Len_2 := 0;
  
!       G         := No_Table;
!       Graph_Len := 0;
  
        Edges     := No_Table;
        Edges_Len := 0;
  
!       Vertices     := No_Table;
!       NV           := 0;
!    end Finalize;
  
     ----------------------------
     -- Generate_Mapping_Table --
     ----------------------------
  
     procedure Generate_Mapping_Table
!      (T  : Integer;
!       L1 : Natural;
!       L2 : Natural;
!       S  : in out Natural)
     is
     begin
        for J in 0 .. L1 - 1 loop
           for K in 0 .. L2 - 1 loop
!             Random (S);
!             Set_Rand_Tab (T, J, K, S mod NV);
           end loop;
        end loop;
     end Generate_Mapping_Table;
--- 911,944 ----
        T1 := No_Table;
        T2 := No_Table;
  
!       T1_Len := 0;
!       T2_Len := 0;
  
!       G     := No_Table;
!       G_Len := 0;
  
        Edges     := No_Table;
        Edges_Len := 0;
  
!       Vertices := No_Table;
!       NV       := 0;
!    end Free_Tmp_Tables;
  
     ----------------------------
     -- Generate_Mapping_Table --
     ----------------------------
  
     procedure Generate_Mapping_Table
!      (Tab  : Integer;
!       L1   : Natural;
!       L2   : Natural;
!       Seed : in out Natural)
     is
     begin
        for J in 0 .. L1 - 1 loop
           for K in 0 .. L2 - 1 loop
!             Random (Seed);
!             Set_Table (Tab, J, K, Seed mod NV);
           end loop;
        end loop;
     end Generate_Mapping_Table;
*************** package body GNAT.Perfect_Hash_Generator
*** 925,936 ****
     -----------------------------
  
     procedure Generate_Mapping_Tables
!      (Opt : Optimization;
!       S   : in out Natural)
     is
     begin
!       --  If T1 and T2 are already allocated no need to do it
!       --  twice. Reuse them as their size has not changes.
  
        if T1 = No_Table and then T2 = No_Table then
           declare
--- 948,959 ----
     -----------------------------
  
     procedure Generate_Mapping_Tables
!      (Opt  : Optimization;
!       Seed : in out Natural)
     is
     begin
!       --  If T1 and T2 are already allocated no need to do it twice. Reuse them
!       --  as their size has not changed.
  
        if T1 = No_Table and then T2 = No_Table then
           declare
*************** package body GNAT.Perfect_Hash_Generator
*** 948,969 ****
                 end loop;
              end if;
  
!             Rand_Tab_Len_1 := Char_Pos_Set_Len;
!             Rand_Tab_Len_2 := Used_Char_Last + 1;
!             T1 := Allocate (Rand_Tab_Len_1 * Rand_Tab_Len_2,
!                             Rand_Tab_Item_Size);
!             T2 := Allocate (Rand_Tab_Len_1 * Rand_Tab_Len_2,
!                             Rand_Tab_Item_Size);
           end;
        end if;
  
!       Generate_Mapping_Table (T1, Rand_Tab_Len_1, Rand_Tab_Len_2, S);
!       Generate_Mapping_Table (T2, Rand_Tab_Len_1, Rand_Tab_Len_2, S);
  
        if Verbose then
           Put_Used_Char_Set (Output, "Used Character Set");
!          Put_Int_Matrix (Output, "Function Table 1", T1);
!          Put_Int_Matrix (Output, "Function Table 2", T2);
        end if;
     end Generate_Mapping_Tables;
  
--- 971,992 ----
                 end loop;
              end if;
  
!             T1_Len := Char_Pos_Set_Len;
!             T2_Len := Used_Char_Last + 1;
!             T1 := Allocate (T1_Len * T2_Len);
!             T2 := Allocate (T1_Len * T2_Len);
           end;
        end if;
  
!       Generate_Mapping_Table (T1, T1_Len, T2_Len, Seed);
!       Generate_Mapping_Table (T2, T1_Len, T2_Len, Seed);
  
        if Verbose then
           Put_Used_Char_Set (Output, "Used Character Set");
!          Put_Int_Matrix (Output, "Function Table 1", T1,
!                         T1_Len, T2_Len);
!          Put_Int_Matrix (Output, "Function Table 2", T2,
!                         T1_Len, T2_Len);
        end if;
     end Generate_Mapping_Tables;
  
*************** package body GNAT.Perfect_Hash_Generator
*** 973,979 ****
  
     function Get_Char_Pos (P : Natural) return Natural is
        N : constant Natural := Char_Pos_Set + P;
- 
     begin
        return IT.Table (N);
     end Get_Char_Pos;
--- 996,1001 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 985,991 ****
     function Get_Edges (F : Natural) return Edge_Type is
        N : constant Natural := Edges + (F * Edge_Size);
        E : Edge_Type;
- 
     begin
        E.X   := IT.Table (N);
        E.Y   := IT.Table (N + 1);
--- 1007,1012 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 997,1042 ****
     -- Get_Graph --
     ---------------
  
!    function Get_Graph (F : Natural) return Integer is
!       N : constant Natural := G + F * Graph_Item_Size;
! 
     begin
!       return IT.Table (N);
     end Get_Graph;
  
     -------------
     -- Get_Key --
     -------------
  
!    function Get_Key (F : Key_Id) return Key_Type is
!       N : constant Natural := Keys + F * Key_Size;
        K : Key_Type;
- 
     begin
!       K.Edge := IT.Table (N);
        return K;
     end Get_Key;
  
!    ------------------
!    -- Get_Rand_Tab --
!    ------------------
! 
!    function Get_Rand_Tab (T : Integer; X, Y : Natural) return Natural is
!       N : constant Natural :=
!             T + ((Y * Rand_Tab_Len_1) + X) * Rand_Tab_Item_Size;
  
     begin
        return IT.Table (N);
!    end Get_Rand_Tab;
  
     -------------------
     -- Get_Used_Char --
     -------------------
  
     function Get_Used_Char (C : Character) return Natural is
!       N : constant Natural :=
!             Used_Char_Set + Character'Pos (C) * Used_Char_Size;
! 
     begin
        return IT.Table (N);
     end Get_Used_Char;
--- 1018,1055 ----
     -- Get_Graph --
     ---------------
  
!    function Get_Graph (N : Natural) return Integer is
     begin
!       return IT.Table (G + N);
     end Get_Graph;
  
     -------------
     -- Get_Key --
     -------------
  
!    function Get_Key (N : Key_Id) return Key_Type is
        K : Key_Type;
     begin
!       K.Edge := IT.Table (Keys + N);
        return K;
     end Get_Key;
  
!    ---------------
!    -- Get_Table --
!    ---------------
  
+    function Get_Table (T : Integer; X, Y : Natural) return Natural is
+       N : constant Natural := T + (Y * T1_Len) + X;
     begin
        return IT.Table (N);
!    end Get_Table;
  
     -------------------
     -- Get_Used_Char --
     -------------------
  
     function Get_Used_Char (C : Character) return Natural is
!       N : constant Natural := Used_Char_Set + Character'Pos (C);
     begin
        return IT.Table (N);
     end Get_Used_Char;
*************** package body GNAT.Perfect_Hash_Generator
*** 1048,1054 ****
     function Get_Vertices (F : Natural) return Vertex_Type is
        N : constant Natural := Vertices + (F * Vertex_Size);
        V : Vertex_Type;
- 
     begin
        V.First := IT.Table (N);
        V.Last  := IT.Table (N + 1);
--- 1061,1066 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 1135,1156 ****
     procedure Initialize
       (Seed   : Natural;
        K_To_V : Float        := Default_K_To_V;
!       Optim  : Optimization := CPU_Time)
     is
     begin
!       WT.Init;
!       IT.Init;
!       S   := Seed;
  
!       Keys := No_Table;
!       NK   := 0;
  
!       Char_Pos_Set     := No_Table;
!       Char_Pos_Set_Len := 0;
  
!       K2V := K_To_V;
!       Opt := Optim;
!       MKL := 0;
     end Initialize;
  
     ------------
--- 1147,1170 ----
     procedure Initialize
       (Seed   : Natural;
        K_To_V : Float        := Default_K_To_V;
!       Optim  : Optimization := CPU_Time;
!       Tries  : Positive     := Default_Tries)
     is
     begin
!       --  Free previous tables (the settings may have changed between two runs)
  
!       Free_Tmp_Tables;
  
!       if K_To_V <= 2.0 then
!          Put (Output, "K to V ratio cannot be lower than 2.0");
!          New_Line (Output);
!          raise Program_Error;
!       end if;
  
!       S    := Seed;
!       K2V  := K_To_V;
!       Opt  := Optim;
!       NT   := Tries;
     end Initialize;
  
     ------------
*************** package body GNAT.Perfect_Hash_Generator
*** 1170,1177 ****
        NK := NK + 1;
        NV := Natural (Float (NK) * K2V);
  
!       if MKL < Len then
!          MKL := Len;
        end if;
     end Insert;
  
--- 1184,1202 ----
        NK := NK + 1;
        NV := Natural (Float (NK) * K2V);
  
!       --  Do not accept a value of K2V too close to 2.0 such that once rounded
!       --  up, NV = 2 * NK because the algorithm would not converge.
! 
!       if NV <= 2 * NK then
!          NV := 2 * NK + 1;
!       end if;
! 
!       if Max_Key_Len < Len then
!          Max_Key_Len := Len;
!       end if;
! 
!       if Len < Min_Key_Len then
!          Min_Key_Len := Len;
        end if;
     end Insert;
  
*************** package body GNAT.Perfect_Hash_Generator
*** 1179,1189 ****
     -- New_Line --
     --------------
  
!    procedure New_Line (F : File_Descriptor) is
!       EOL : constant Character := ASCII.LF;
! 
     begin
!       if Write (F, EOL'Address, 1) /= 1 then
           raise Program_Error;
        end if;
     end New_Line;
--- 1204,1212 ----
     -- New_Line --
     --------------
  
!    procedure New_Line (File : File_Descriptor) is
     begin
!       if Write (File, EOL'Address, 1) /= 1 then
           raise Program_Error;
        end if;
     end New_Line;
*************** package body GNAT.Perfect_Hash_Generator
*** 1195,1201 ****
     procedure Parse_Position_Selection (Argument : String) is
        N : Natural          := Argument'First;
        L : constant Natural := Argument'Last;
!       M : constant Natural := MKL;
  
        T : array (1 .. M) of Boolean := (others => False);
  
--- 1218,1224 ----
     procedure Parse_Position_Selection (Argument : String) is
        N : Natural          := Argument'First;
        L : constant Natural := Argument'Last;
!       M : constant Natural := Max_Key_Len;
  
        T : array (1 .. M) of Boolean := (others => False);
  
*************** package body GNAT.Perfect_Hash_Generator
*** 1206,1213 ****
        -- Parse_Index --
        -----------------
  
!       function Parse_Index return Natural
!       is
           C : Character := Argument (N);
           V : Natural   := 0;
  
--- 1229,1235 ----
        -- Parse_Index --
        -----------------
  
!       function Parse_Index return Natural is
           C : Character := Argument (N);
           V : Natural   := 0;
  
*************** package body GNAT.Perfect_Hash_Generator
*** 1235,1247 ****
     --  Start of processing for Parse_Position_Selection
  
     begin
-       Char_Pos_Set_Len := 2 * NK;
  
        --  Empty specification means all the positions
  
        if L < N then
           Char_Pos_Set_Len := M;
!          Char_Pos_Set := Allocate (Char_Pos_Set_Len, Char_Pos_Size);
  
           for C in 0 .. Char_Pos_Set_Len - 1 loop
              Set_Char_Pos (C, C + 1);
--- 1257,1268 ----
     --  Start of processing for Parse_Position_Selection
  
     begin
  
        --  Empty specification means all the positions
  
        if L < N then
           Char_Pos_Set_Len := M;
!          Char_Pos_Set := Allocate (Char_Pos_Set_Len);
  
           for C in 0 .. Char_Pos_Set_Len - 1 loop
              Set_Char_Pos (C, C + 1);
*************** package body GNAT.Perfect_Hash_Generator
*** 1292,1298 ****
           --  Fill position selection
  
           Char_Pos_Set_Len := N;
!          Char_Pos_Set := Allocate (Char_Pos_Set_Len, Char_Pos_Size);
  
           N := 0;
           for J in T'Range loop
--- 1313,1319 ----
           --  Fill position selection
  
           Char_Pos_Set_Len := N;
!          Char_Pos_Set := Allocate (Char_Pos_Set_Len);
  
           N := 0;
           for J in T'Range loop
*************** package body GNAT.Perfect_Hash_Generator
*** 1312,1345 ****
        File     : File_Descriptor;
  
        Status : Boolean;
!       --  For call to Close;
  
!       function Type_Img (L : Natural) return String;
!       --  Return the larger unsigned type T such that T'Last < L
  
        function Range_Img (F, L : Natural; T : String := "") return String;
        --  Return string "[T range ]F .. L"
  
!       function Array_Img (N, T, R1 : String; R2 : String := "") return String;
!       --  Return string "N : constant array (R1[, R2]) of T;"
! 
!       --------------
!       -- Type_Img --
!       --------------
  
!       function Type_Img (L : Natural) return String is
!          S : constant String := Image (Type_Size (L));
!          U : String  := "Unsigned_  ";
!          N : Natural := 9;
  
        begin
!          for J in S'Range loop
!             N := N + 1;
!             U (N) := S (J);
!          end loop;
  
!          return U (1 .. N);
!       end Type_Img;
  
        ---------------
        -- Range_Img --
--- 1333,1374 ----
        File     : File_Descriptor;
  
        Status : Boolean;
!       --  For call to Close
  
!       function Array_Img (N, T, R1 : String; R2 : String := "") return String;
!       --  Return string "N : constant array (R1[, R2]) of T;"
  
        function Range_Img (F, L : Natural; T : String := "") return String;
        --  Return string "[T range ]F .. L"
  
!       function Type_Img (L : Natural) return String;
!       --  Return the larger unsigned type T such that T'Last < L
  
!       ---------------
!       -- Array_Img --
!       ---------------
  
+       function Array_Img
+         (N, T, R1 : String;
+          R2       : String := "") return String
+       is
        begin
!          Last := 0;
!          Add ("   ");
!          Add (N);
!          Add (" : constant array (");
!          Add (R1);
  
!          if R2 /= "" then
!             Add (", ");
!             Add (R2);
!          end if;
! 
!          Add (") of ");
!          Add (T);
!          Add (" :=");
!          return Line (1 .. Last);
!       end Array_Img;
  
        ---------------
        -- Range_Img --
*************** package body GNAT.Perfect_Hash_Generator
*** 1371,1402 ****
           return RI (1 .. Len);
        end Range_Img;
  
!       ---------------
!       -- Array_Img --
!       ---------------
  
!       function Array_Img
!         (N, T, R1 : String;
!          R2       : String := "")
!          return     String
!       is
!       begin
!          Last := 0;
!          Add ("   ");
!          Add (N);
!          Add (" : constant array (");
!          Add (R1);
  
!          if R2 /= "" then
!             Add (", ");
!             Add (R2);
!          end if;
  
!          Add (") of ");
!          Add (T);
!          Add (" :=");
!          return Line (1 .. Last);
!       end Array_Img;
  
        F : Natural;
        L : Natural;
--- 1400,1422 ----
           return RI (1 .. Len);
        end Range_Img;
  
!       --------------
!       -- Type_Img --
!       --------------
  
!       function Type_Img (L : Natural) return String is
!          S : constant String := Image (Type_Size (L));
!          U : String  := "Unsigned_  ";
!          N : Natural := 9;
  
!       begin
!          for J in S'Range loop
!             N := N + 1;
!             U (N) := S (J);
!          end loop;
  
!          return U (1 .. N);
!       end Type_Img;
  
        F : Natural;
        L : Natural;
*************** package body GNAT.Perfect_Hash_Generator
*** 1460,1466 ****
  
           for J in Character'Range loop
              P := Get_Used_Char (J);
!             Put (File, Image (P), 0, 0, 0, F, L, Character'Pos (J));
           end loop;
  
           New_Line (File);
--- 1480,1486 ----
  
           for J in Character'Range loop
              P := Get_Used_Char (J);
!             Put (File, Image (P), 1, 0, 1, F, L, Character'Pos (J));
           end loop;
  
           New_Line (File);
*************** package body GNAT.Perfect_Hash_Generator
*** 1473,1479 ****
        New_Line (File);
  
        for J in F .. L loop
!          Put (File, Image (Get_Char_Pos (J)), 0, 0, 0, F, L, J);
        end loop;
  
        New_Line (File);
--- 1493,1499 ----
        New_Line (File);
  
        for J in F .. L loop
!          Put (File, Image (Get_Char_Pos (J)), 1, 0, 1, F, L, J);
        end loop;
  
        New_Line (File);
*************** package body GNAT.Perfect_Hash_Generator
*** 1482,1498 ****
           Put_Int_Matrix
             (File,
              Array_Img ("T1", Type_Img (NV),
!                        Range_Img (0, Rand_Tab_Len_1 - 1),
!                        Range_Img (0, Rand_Tab_Len_2 - 1,
!                                   Type_Img (256))),
!             T1);
  
        else
           Put_Int_Matrix
             (File,
              Array_Img ("T1", Type_Img (NV),
!                        Range_Img (0, Rand_Tab_Len_1 - 1)),
!             T1);
        end if;
  
        New_Line (File);
--- 1502,1517 ----
           Put_Int_Matrix
             (File,
              Array_Img ("T1", Type_Img (NV),
!                        Range_Img (0, T1_Len - 1),
!                        Range_Img (0, T2_Len - 1, Type_Img (256))),
!             T1, T1_Len, T2_Len);
  
        else
           Put_Int_Matrix
             (File,
              Array_Img ("T1", Type_Img (NV),
!                        Range_Img (0, T1_Len - 1)),
!             T1, T1_Len, 0);
        end if;
  
        New_Line (File);
*************** package body GNAT.Perfect_Hash_Generator
*** 1501,1517 ****
           Put_Int_Matrix
             (File,
              Array_Img ("T2", Type_Img (NV),
!                        Range_Img (0, Rand_Tab_Len_1 - 1),
!                        Range_Img (0, Rand_Tab_Len_2 - 1,
!                                   Type_Img (256))),
!             T2);
  
        else
           Put_Int_Matrix
             (File,
              Array_Img ("T2", Type_Img (NV),
!                        Range_Img (0, Rand_Tab_Len_1 - 1)),
!             T2);
        end if;
  
        New_Line (File);
--- 1520,1535 ----
           Put_Int_Matrix
             (File,
              Array_Img ("T2", Type_Img (NV),
!                        Range_Img (0, T1_Len - 1),
!                        Range_Img (0, T2_Len - 1, Type_Img (256))),
!             T2, T1_Len, T2_Len);
  
        else
           Put_Int_Matrix
             (File,
              Array_Img ("T2", Type_Img (NV),
!                        Range_Img (0, T1_Len - 1)),
!             T2, T1_Len, 0);
        end if;
  
        New_Line (File);
*************** package body GNAT.Perfect_Hash_Generator
*** 1519,1526 ****
        Put_Int_Vector
          (File,
           Array_Img ("G", Type_Img (NK),
!                     Range_Img (0, Graph_Len - 1)),
!          G, Graph_Len);
        New_Line (File);
  
        Put      (File, "   function Hash (S : String) return Natural is");
--- 1537,1544 ----
        Put_Int_Vector
          (File,
           Array_Img ("G", Type_Img (NK),
!                     Range_Img (0, G_Len - 1)),
!          G, G_Len);
        New_Line (File);
  
        Put      (File, "   function Hash (S : String) return Natural is");
*************** package body GNAT.Perfect_Hash_Generator
*** 1621,1631 ****
     -- Put --
     ---------
  
!    procedure Put (F : File_Descriptor; S : String) is
!       Len : constant Natural := S'Length;
  
     begin
!       if Write (F, S'Address, Len) /= Len then
           raise Program_Error;
        end if;
     end Put;
--- 1639,1649 ----
     -- Put --
     ---------
  
!    procedure Put (File : File_Descriptor; Str : String) is
!       Len : constant Natural := Str'Length;
  
     begin
!       if Write (File, Str'Address, Len) /= Len then
           raise Program_Error;
        end if;
     end Put;
*************** package body GNAT.Perfect_Hash_Generator
*** 1647,1652 ****
--- 1665,1671 ----
        Len : constant Natural := S'Length;
  
        procedure Flush;
+       --  Write current line, followed by LF
  
        -----------
        -- Flush --
*************** package body GNAT.Perfect_Hash_Generator
*** 1674,1682 ****
           Line (Last + 1 .. Last + 5) := "     ";
           Last := Last + 5;
  
!          if F1 /= L1 then
              if C1 = F1 and then C2 = F2 then
                 Add ('(');
              else
                 Add (' ');
              end if;
--- 1693,1704 ----
           Line (Last + 1 .. Last + 5) := "     ";
           Last := Last + 5;
  
!          if F1 <= L1 then
              if C1 = F1 and then C2 = F2 then
                 Add ('(');
+                if F1 = L1 then
+                   Add ("0 .. 0 => ");
+                end if;
              else
                 Add (' ');
              end if;
*************** package body GNAT.Perfect_Hash_Generator
*** 1685,1690 ****
--- 1707,1715 ----
  
        if C2 = F2 then
           Add ('(');
+          if F2 = L2 then
+             Add ("0 .. 0 => ");
+          end if;
        else
           Add (' ');
        end if;
*************** package body GNAT.Perfect_Hash_Generator
*** 1695,1701 ****
        if C2 = L2 then
           Add (')');
  
!          if F1 = L1 then
              Add (';');
              Flush;
           elsif C1 /= L1 then
--- 1720,1726 ----
        if C2 = L2 then
           Add (')');
  
!          if F1 > L1 then
              Add (';');
              Flush;
           elsif C1 /= L1 then
*************** package body GNAT.Perfect_Hash_Generator
*** 1712,1767 ****
        end if;
     end Put;
  
!    -----------------------
!    -- Put_Used_Char_Set --
!    -----------------------
  
!    procedure Put_Used_Char_Set
       (File  : File_Descriptor;
        Title : String)
     is
!       F : constant Natural := Character'Pos (Character'First);
!       L : constant Natural := Character'Pos (Character'Last);
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       for J in Character'Range loop
!          Put
!            (File, Image (Get_Used_Char (J)), 0, 0, 0, F, L, Character'Pos (J));
        end loop;
!    end Put_Used_Char_Set;
  
!    ----------
!    -- Put --
!    ----------
  
     procedure Put_Int_Matrix
       (File   : File_Descriptor;
        Title  : String;
!       Table  : Integer)
     is
!       F1 : constant Natural := 0;
!       L1 : constant Natural := Rand_Tab_Len_1 - 1;
!       F2 : constant Natural := 0;
!       L2 : constant Natural := Rand_Tab_Len_2 - 1;
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       if L2 = F2 then
           for J in F1 .. L1 loop
!             Put (File,
!                  Image (Get_Rand_Tab (Table, J, F2)), 0, 0, 0, F1, L1, J);
           end loop;
  
        else
           for J in F1 .. L1 loop
              for K in F2 .. L2 loop
!                Put (File,
!                     Image (Get_Rand_Tab (Table, J, K)), F1, L1, J, F2, L2, K);
              end loop;
           end loop;
        end if;
--- 1737,1827 ----
        end if;
     end Put;
  
!    ---------------
!    -- Put_Edges --
!    ---------------
  
!    procedure Put_Edges
       (File  : File_Descriptor;
        Title : String)
     is
!       E  : Edge_Type;
!       F1 : constant Natural := 1;
!       L1 : constant Natural := Edges_Len - 1;
!       M  : constant Natural := Max / 5;
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       --  Edges valid range is 1 .. Edge_Len - 1
! 
!       for J in F1 .. L1 loop
!          E := Get_Edges (J);
!          Put (File, Image (J, M),     F1, L1, J, 1, 4, 1);
!          Put (File, Image (E.X, M),   F1, L1, J, 1, 4, 2);
!          Put (File, Image (E.Y, M),   F1, L1, J, 1, 4, 3);
!          Put (File, Image (E.Key, M), F1, L1, J, 1, 4, 4);
        end loop;
!    end Put_Edges;
  
!    ----------------------
!    -- Put_Initial_Keys --
!    ----------------------
! 
!    procedure Put_Initial_Keys
!      (File  : File_Descriptor;
!       Title : String)
!    is
!       F1 : constant Natural := 0;
!       L1 : constant Natural := NK - 1;
!       M  : constant Natural := Max / 5;
!       K  : Key_Type;
! 
!    begin
!       Put (File, Title);
!       New_Line (File);
! 
!       for J in F1 .. L1 loop
!          K := Get_Key (J);
!          Put (File, Image (J, M),           F1, L1, J, 1, 3, 1);
!          Put (File, Image (K.Edge, M),      F1, L1, J, 1, 3, 2);
!          Put (File, WT.Table (Initial (J)), F1, L1, J, 1, 3, 3);
!       end loop;
!    end Put_Initial_Keys;
! 
!    --------------------
!    -- Put_Int_Matrix --
!    --------------------
  
     procedure Put_Int_Matrix
       (File   : File_Descriptor;
        Title  : String;
!       Table  : Integer;
!       Len_1  : Natural;
!       Len_2  : Natural)
     is
!       F1 : constant Integer := 0;
!       L1 : constant Integer := Len_1 - 1;
!       F2 : constant Integer := 0;
!       L2 : constant Integer := Len_2 - 1;
!       I  : Natural;
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       if Len_2 = 0 then
           for J in F1 .. L1 loop
!             I := IT.Table (Table + J);
!             Put (File, Image (I), 1, 0, 1, F1, L1, J);
           end loop;
  
        else
           for J in F1 .. L1 loop
              for K in F2 .. L2 loop
!                I := IT.Table (Table + J + K * Len_1);
!                Put (File, Image (I), F1, L1, J, F2, L2, K);
              end loop;
           end loop;
        end if;
*************** package body GNAT.Perfect_Hash_Generator
*** 1774,1780 ****
     procedure Put_Int_Vector
       (File   : File_Descriptor;
        Title  : String;
!       Root   : Integer;
        Length : Natural)
     is
        F2 : constant Natural := 0;
--- 1834,1840 ----
     procedure Put_Int_Vector
       (File   : File_Descriptor;
        Title  : String;
!       Vector : Integer;
        Length : Natural)
     is
        F2 : constant Natural := 0;
*************** package body GNAT.Perfect_Hash_Generator
*** 1785,1827 ****
        New_Line (File);
  
        for J in F2 .. L2 loop
!          Put (File, Image (IT.Table (Root + J)), 0, 0, 0, F2, L2, J);
        end loop;
     end Put_Int_Vector;
  
!    ---------------
!    -- Put_Edges --
!    ---------------
! 
!    procedure Put_Edges
!      (File  : File_Descriptor;
!       Title : String)
!    is
!       E  : Edge_Type;
!       F1 : constant Natural := 1;
!       L1 : constant Natural := Edges_Len - 1;
!       M  : constant Natural := Max / 5;
! 
!    begin
!       Put (File, Title);
!       New_Line (File);
! 
!       --  Edges valid range is 1 .. Edge_Len - 1
! 
!       for J in F1 .. L1 loop
!          E := Get_Edges (J);
!          Put (File, Image (J, M),     F1, L1, J, 1, 4, 1);
!          Put (File, Image (E.X, M),   F1, L1, J, 1, 4, 2);
!          Put (File, Image (E.Y, M),   F1, L1, J, 1, 4, 3);
!          Put (File, Image (E.Key, M), F1, L1, J, 1, 4, 4);
!       end loop;
!    end Put_Edges;
! 
!    ---------------------------
!    -- Put_Initial_Keys --
!    ---------------------------
  
!    procedure Put_Initial_Keys
       (File  : File_Descriptor;
        Title : String)
     is
--- 1845,1859 ----
        New_Line (File);
  
        for J in F2 .. L2 loop
!          Put (File, Image (IT.Table (Vector + J)), 1, 0, 1, F2, L2, J);
        end loop;
     end Put_Int_Vector;
  
!    ----------------------
!    -- Put_Reduced_Keys --
!    ----------------------
  
!    procedure Put_Reduced_Keys
       (File  : File_Descriptor;
        Title : String)
     is
*************** package body GNAT.Perfect_Hash_Generator
*** 1838,1871 ****
           K := Get_Key (J);
           Put (File, Image (J, M),           F1, L1, J, 1, 3, 1);
           Put (File, Image (K.Edge, M),      F1, L1, J, 1, 3, 2);
!          Put (File, WT.Table (Initial (J)), F1, L1, J, 1, 3, 3);
        end loop;
!    end Put_Initial_Keys;
  
!    ---------------------------
!    -- Put_Reduced_Keys --
!    ---------------------------
  
!    procedure Put_Reduced_Keys
       (File  : File_Descriptor;
        Title : String)
     is
!       F1 : constant Natural := 0;
!       L1 : constant Natural := NK - 1;
!       M  : constant Natural := Max / 5;
!       K  : Key_Type;
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       for J in F1 .. L1 loop
!          K := Get_Key (J);
!          Put (File, Image (J, M),           F1, L1, J, 1, 3, 1);
!          Put (File, Image (K.Edge, M),      F1, L1, J, 1, 3, 2);
!          Put (File, WT.Table (Reduced (J)), F1, L1, J, 1, 3, 3);
        end loop;
!    end Put_Reduced_Keys;
  
     ----------------------
     -- Put_Vertex_Table --
--- 1870,1899 ----
           K := Get_Key (J);
           Put (File, Image (J, M),           F1, L1, J, 1, 3, 1);
           Put (File, Image (K.Edge, M),      F1, L1, J, 1, 3, 2);
!          Put (File, WT.Table (Reduced (J)), F1, L1, J, 1, 3, 3);
        end loop;
!    end Put_Reduced_Keys;
  
!    -----------------------
!    -- Put_Used_Char_Set --
!    -----------------------
  
!    procedure Put_Used_Char_Set
       (File  : File_Descriptor;
        Title : String)
     is
!       F : constant Natural := Character'Pos (Character'First);
!       L : constant Natural := Character'Pos (Character'Last);
  
     begin
        Put (File, Title);
        New_Line (File);
  
!       for J in Character'Range loop
!          Put
!            (File, Image (Get_Used_Char (J)), 1, 0, 1, F, L, Character'Pos (J));
        end loop;
!    end Put_Used_Char_Set;
  
     ----------------------
     -- Put_Vertex_Table --
*************** package body GNAT.Perfect_Hash_Generator
*** 1898,1905 ****
  
     procedure Random (Seed : in out Natural)
     is
!       --  Park & Miller Standard Minimal using Schrage's algorithm to
!       --  avoid overflow: Xn+1 = 16807 * Xn mod (2 ** 31 - 1)
  
        R : Natural;
        Q : Natural;
--- 1926,1933 ----
  
     procedure Random (Seed : in out Natural)
     is
!       --  Park & Miller Standard Minimal using Schrage's algorithm to avoid
!       --  overflow: Xn+1 = 16807 * Xn mod (2 ** 31 - 1)
  
        R : Natural;
        Q : Natural;
*************** package body GNAT.Perfect_Hash_Generator
*** 1923,1962 ****
  
     function Reduced (K : Key_Id) return Word_Id is
     begin
!       return K + NK;
     end Reduced;
  
     --------------------------
-    -- Select_Character_Set --
-    --------------------------
- 
-    procedure Select_Character_Set
-    is
-       Last : Natural := 0;
-       Used : array (Character) of Boolean := (others => False);
- 
-    begin
-       for J in 0 .. NK - 1 loop
-          for K in 1 .. Max_Word_Length loop
-             exit when WT.Table (Initial (J))(K) = ASCII.NUL;
-             Used (WT.Table (Initial (J))(K)) := True;
-          end loop;
-       end loop;
- 
-       Used_Char_Set_Len := 256;
-       Used_Char_Set := Allocate (Used_Char_Set_Len, Used_Char_Size);
- 
-       for J in Used'Range loop
-          if Used (J) then
-             Set_Used_Char (J, Last);
-             Last := Last + 1;
-          else
-             Set_Used_Char (J, 0);
-          end if;
-       end loop;
-    end Select_Character_Set;
- 
-    --------------------------
     -- Select_Char_Position --
     --------------------------
  
--- 1951,1960 ----
  
     function Reduced (K : Key_Id) return Word_Id is
     begin
!       return K + NK + 1;
     end Reduced;
  
     --------------------------
     -- Select_Char_Position --
     --------------------------
  
*************** package body GNAT.Perfect_Hash_Generator
*** 1968,1988 ****
          (Table : in out Vertex_Table_Type;
           Last  : in out Natural;
           Pos   : in Natural);
!       --  Build a list of keys subsets that are identical with the
!       --  current position selection plus Pos. Once this routine is
!       --  called, reduced words are sorted by subsets and each item
!       --  (First, Last) in Sets defines the range of identical keys.
  
!       function Count_Identical_Keys
!         (Table  : Vertex_Table_Type;
!          Last   : Natural;
!          Pos    : Natural)
!          return   Natural;
!       --  For each subset in Sets, count the number of identical keys
!       --  if we add Pos to the current position selection.
  
!       Sel_Position : IT.Table_Type (1 .. MKL);
        Last_Sel_Pos : Natural := 0;
  
        -------------------------------
        -- Build_Identical_Keys_Sets --
--- 1966,1986 ----
          (Table : in out Vertex_Table_Type;
           Last  : in out Natural;
           Pos   : in Natural);
!       --  Build a list of keys subsets that are identical with the current
!       --  position selection plus Pos. Once this routine is called, reduced
!       --  words are sorted by subsets and each item (First, Last) in Sets
!       --  defines the range of identical keys.
  
!       function Count_Different_Keys
!         (Table : Vertex_Table_Type;
!          Last  : Natural;
!          Pos   : Natural) return Natural;
!       --  For each subset in Sets, count the number of different keys if we add
!       --  Pos to the current position selection.
  
!       Sel_Position : IT.Table_Type (1 .. Max_Key_Len);
        Last_Sel_Pos : Natural := 0;
+       Max_Sel_Pos  : Natural := 0;
  
        -------------------------------
        -- Build_Identical_Keys_Sets --
*************** package body GNAT.Perfect_Hash_Generator
*** 2001,2123 ****
           L : Integer;
           --  First and last words of a subset
  
!       begin
!          Last := 0;
  
!          --  For each subset in S, extract the new subsets we have by
!          --  adding C in the position selection.
  
!          for J in S'Range loop
!             declare
!                Offset : Natural;
!                --  GNAT.Heap_Sort assumes that the first array index
!                --  is 1. Offset defines the translation to operate.
  
!                procedure Move (From : Natural; To : Natural);
!                function Lt (L, R : Natural) return Boolean;
!                --  Subprograms needed by GNAT.Heap_Sort_A
  
!                ----------
!                -- Move --
!                ----------
  
!                procedure Move (From : Natural; To : Natural) is
!                   Target, Source : Natural;
  
!                begin
!                   if From = 0 then
!                      Source := 0;
!                      Target := Offset + To;
!                   elsif To = 0 then
!                      Source := Offset + From;
!                      Target := 0;
!                   else
!                      Source := Offset + From;
!                      Target := Offset + To;
!                   end if;
  
!                   WT.Table (Reduced (Target)) := WT.Table (Reduced (Source));
!                end Move;
  
!                --------
!                -- Lt --
!                --------
  
!                function Lt (L, R : Natural) return Boolean is
!                   C     : constant Natural := Pos;
!                   Left  : Natural;
!                   Right : Natural;
  
!                begin
!                   if L = 0 then
!                      Left  := 0;
!                      Right := Offset + R;
!                   elsif R = 0 then
!                      Left  := Offset + L;
!                      Right := 0;
!                   else
!                      Left  := Offset + L;
!                      Right := Offset + R;
!                   end if;
  
!                   return WT.Table (Reduced (Left))(C)
!                        < WT.Table (Reduced (Right))(C);
!                end Lt;
  
!             --  Start of processing for Build_Identical_Key_Sets
  
!             begin
!                Offset := S (J).First - 1;
                 Sort
                   (S (J).Last - S (J).First + 1,
                    Move'Unrestricted_Access,
                    Lt'Unrestricted_Access);
  
!                F := -1;
!                L := -1;
!                for N in S (J).First .. S (J).Last - 1 loop
  
!                   --  Two contiguous words are identical
  
!                   if WT.Table (Reduced (N))(C) =
!                      WT.Table (Reduced (N + 1))(C)
!                   then
!                      --  This is the first word of the subset
  
!                      if F = -1 then
!                         F := N;
!                      end if;
  
                       L := N + 1;
  
!                      --  This is the last word of the subset
  
!                   elsif F /= -1 then
                       Last := Last + 1;
                       Table (Last) := (F, L);
!                      F := -1;
                    end if;
                 end loop;
! 
!                --  This is the last word of the subset and of the set
! 
!                if F /= -1 then
!                   Last := Last + 1;
!                   Table (Last) := (F, L);
!                end if;
!             end;
           end loop;
        end Build_Identical_Keys_Sets;
  
        --------------------------
!       -- Count_Identical_Keys --
        --------------------------
  
!       function Count_Identical_Keys
!         (Table  : Vertex_Table_Type;
!          Last   : Natural;
!          Pos    : Natural)
!          return   Natural
        is
           N : array (Character) of Natural;
           C : Character;
--- 1999,2120 ----
           L : Integer;
           --  First and last words of a subset
  
!          Offset : Natural;
!          --  GNAT.Heap_Sort assumes that the first array index is 1. Offset
!          --  defines the translation to operate.
  
!          function Lt (L, R : Natural) return Boolean;
!          procedure Move (From : Natural; To : Natural);
!          --  Subprograms needed by GNAT.Heap_Sort_A
  
!          --------
!          -- Lt --
!          --------
  
!          function Lt (L, R : Natural) return Boolean is
!             C     : constant Natural := Pos;
!             Left  : Natural;
!             Right : Natural;
  
!          begin
!             if L = 0 then
!                Left  := Reduced (0) - 1;
!                Right := Offset + R;
!             elsif R = 0 then
!                Left  := Offset + L;
!                Right := Reduced (0) - 1;
!             else
!                Left  := Offset + L;
!                Right := Offset + R;
!             end if;
  
!             return WT.Table (Left)(C) < WT.Table (Right)(C);
!          end Lt;
  
!          ----------
!          -- Move --
!          ----------
  
!          procedure Move (From : Natural; To : Natural) is
!             Target, Source : Natural;
  
!          begin
!             if From = 0 then
!                Source := Reduced (0) - 1;
!                Target := Offset + To;
!             elsif To = 0 then
!                Source := Offset + From;
!                Target := Reduced (0) - 1;
!             else
!                Source := Offset + From;
!                Target := Offset + To;
!             end if;
  
!             WT.Table (Target) := WT.Table (Source);
!          end Move;
  
!          --  Start of processing for Build_Identical_Key_Sets
  
!       begin
!          Last := 0;
  
!          --  For each subset in S, extract the new subsets we have by adding C
!          --  in the position selection.
  
!          for J in S'Range loop
!             if S (J).First = S (J).Last then
!                F := S (J).First;
!                L := S (J).Last;
!                Last := Last + 1;
!                Table (Last) := (F, L);
! 
!             else
!                Offset := Reduced (S (J).First) - 1;
                 Sort
                   (S (J).Last - S (J).First + 1,
                    Move'Unrestricted_Access,
                    Lt'Unrestricted_Access);
  
!                F := S (J).First;
!                L := F;
!                for N in S (J).First .. S (J).Last loop
  
!                   --  For the last item, close the last subset
  
!                   if N = S (J).Last then
!                      Last := Last + 1;
!                      Table (Last) := (F, N);
  
!                   --  Two contiguous words are identical when they have the
!                   --  same Cth character.
  
+                   elsif WT.Table (Reduced (N))(C) =
+                         WT.Table (Reduced (N + 1))(C)
+                   then
                       L := N + 1;
  
!                   --  Find a new subset of identical keys. Store the current
!                   --  one and create a new subset.
  
!                   else
                       Last := Last + 1;
                       Table (Last) := (F, L);
!                      F := N + 1;
!                      L := F;
                    end if;
                 end loop;
!             end if;
           end loop;
        end Build_Identical_Keys_Sets;
  
        --------------------------
!       -- Count_Different_Keys --
        --------------------------
  
!       function Count_Different_Keys
!         (Table : Vertex_Table_Type;
!          Last  : Natural;
!          Pos   : Natural) return Natural
        is
           N : array (Character) of Natural;
           C : Character;
*************** package body GNAT.Perfect_Hash_Generator
*** 2125,2133 ****
  
        begin
           --  For each subset, count the number of words that are still
!          --  identical when we include Sel_Position (Last_Sel_Pos) in
!          --  the position selection. Only focus on this position as the
!          --  other positions already produce identical keys.
  
           for S in 1 .. Last loop
  
--- 2122,2130 ----
  
        begin
           --  For each subset, count the number of words that are still
!          --  different when we include Pos in the position selection. Only
!          --  focus on this position as the other positions already produce
!          --  identical keys.
  
           for S in 1 .. Last loop
  
*************** package body GNAT.Perfect_Hash_Generator
*** 2139,2206 ****
                 N (C) := N (C) + 1;
              end loop;
  
!             --  Add to the total when there are two identical keys
  
              for J in N'Range loop
!                if N (J) > 1 then
!                   T := T + N (J);
                 end if;
              end loop;
           end loop;
  
           return T;
!       end Count_Identical_Keys;
  
     --  Start of processing for Select_Char_Position
  
     begin
!       for C in Sel_Position'Range loop
!          Sel_Position (C) := C;
!       end loop;
! 
!       --  Initialization of Words
! 
!       WT.Set_Last (2 * NK - 1);
  
        for K in 0 .. NK - 1 loop
!          WT.Table (Reduced (K) + 1) := WT.Table (Initial (K));
        end loop;
  
        declare
!          Collisions           : Natural;
!          Min_Collisions       : Natural := NK;
!          Old_Collisions       : Natural;
!          Min_Coll_Sel_Pos     : Natural := 0; -- init to kill warning
!          Min_Coll_Sel_Pos_Idx : Natural := 0; -- init to kill warning
           Same_Keys_Sets_Table : Vertex_Table_Type (1 .. NK);
           Same_Keys_Sets_Last  : Natural := 1;
  
        begin
!          Same_Keys_Sets_Table (1) := (1, NK);
  
           loop
!             --  Preserve minimum identical keys and check later on
!             --  that this value is strictly decrementing. Otherwise,
!             --  it means that two keys are stricly identical.
  
!             Old_Collisions := Min_Collisions;
  
!             --  Find which position reduces the most of collisions
  
!             for J in Last_Sel_Pos + 1 .. Sel_Position'Last loop
!                Collisions := Count_Identical_Keys
                   (Same_Keys_Sets_Table,
                    Same_Keys_Sets_Last,
                    Sel_Position (J));
  
!                if Collisions < Min_Collisions then
!                   Min_Collisions       := Collisions;
!                   Min_Coll_Sel_Pos     := Sel_Position (J);
!                   Min_Coll_Sel_Pos_Idx := J;
                 end if;
              end loop;
  
!             if Old_Collisions = Min_Collisions then
                 Raise_Exception
                   (Program_Error'Identity, "some keys are identical");
              end if;
--- 2136,2220 ----
                 N (C) := N (C) + 1;
              end loop;
  
!             --  Update the number of different keys. Each character used
!             --  denotes a different key.
  
              for J in N'Range loop
!                if N (J) > 0 then
!                   T := T + 1;
                 end if;
              end loop;
           end loop;
  
           return T;
!       end Count_Different_Keys;
  
     --  Start of processing for Select_Char_Position
  
     begin
!       --  Initialize the reduced words set
  
+       WT.Set_Last (2 * NK);
        for K in 0 .. NK - 1 loop
!          WT.Table (Reduced (K)) := WT.Table (Initial (K));
        end loop;
  
        declare
!          Differences          : Natural;
!          Max_Differences      : Natural := 0;
!          Old_Differences      : Natural;
!          Max_Diff_Sel_Pos     : Natural := 0; -- init to kill warning
!          Max_Diff_Sel_Pos_Idx : Natural := 0; -- init to kill warning
           Same_Keys_Sets_Table : Vertex_Table_Type (1 .. NK);
           Same_Keys_Sets_Last  : Natural := 1;
  
        begin
!          for C in Sel_Position'Range loop
!             Sel_Position (C) := C;
!          end loop;
! 
!          Same_Keys_Sets_Table (1) := (0, NK - 1);
  
           loop
!             --  Preserve maximum number of different keys and check later on
!             --  that this value is strictly incrementing. Otherwise, it means
!             --  that two keys are stricly identical.
  
!             Old_Differences := Max_Differences;
  
!             --  The first position should not exceed the minimum key length.
!             --  Otherwise, we may end up with an empty word once reduced.
  
!             if Last_Sel_Pos = 0 then
!                Max_Sel_Pos := Min_Key_Len;
!             else
!                Max_Sel_Pos := Max_Key_Len;
!             end if;
! 
!             --  Find which position increases more the number of differences
! 
!             for J in Last_Sel_Pos + 1 .. Max_Sel_Pos loop
!                Differences := Count_Different_Keys
                   (Same_Keys_Sets_Table,
                    Same_Keys_Sets_Last,
                    Sel_Position (J));
  
!                if Verbose then
!                   Put (Output,
!                        "Selecting position" & Sel_Position (J)'Img &
!                          " results in" & Differences'Img &
!                          " differences");
!                   New_Line (Output);
!                end if;
! 
!                if Differences > Max_Differences then
!                   Max_Differences      := Differences;
!                   Max_Diff_Sel_Pos     := Sel_Position (J);
!                   Max_Diff_Sel_Pos_Idx := J;
                 end if;
              end loop;
  
!             if Old_Differences = Max_Differences then
                 Raise_Exception
                   (Program_Error'Identity, "some keys are identical");
              end if;
*************** package body GNAT.Perfect_Hash_Generator
*** 2208,2250 ****
              --  Insert selected position and sort Sel_Position table
  
              Last_Sel_Pos := Last_Sel_Pos + 1;
!             Sel_Position (Last_Sel_Pos + 1 .. Min_Coll_Sel_Pos_Idx) :=
!               Sel_Position (Last_Sel_Pos .. Min_Coll_Sel_Pos_Idx - 1);
!             Sel_Position (Last_Sel_Pos) := Min_Coll_Sel_Pos;
  
              for P in 1 .. Last_Sel_Pos - 1 loop
!                if Min_Coll_Sel_Pos < Sel_Position (P) then
                    Sel_Position (P + 1 .. Last_Sel_Pos) :=
                      Sel_Position (P .. Last_Sel_Pos - 1);
!                   Sel_Position (P) := Min_Coll_Sel_Pos;
                    exit;
                 end if;
              end loop;
  
!             exit when Min_Collisions = 0;
  
              Build_Identical_Keys_Sets
                (Same_Keys_Sets_Table,
                 Same_Keys_Sets_Last,
!                Min_Coll_Sel_Pos);
           end loop;
        end;
  
        Char_Pos_Set_Len := Last_Sel_Pos;
!       Char_Pos_Set := Allocate (Char_Pos_Set_Len, Char_Pos_Size);
  
        for C in 1 .. Last_Sel_Pos loop
           Set_Char_Pos (C - 1, Sel_Position (C));
        end loop;
     end Select_Char_Position;
  
     ------------------
     -- Set_Char_Pos --
     ------------------
  
     procedure Set_Char_Pos (P : Natural; Item : Natural) is
        N : constant Natural := Char_Pos_Set + P;
- 
     begin
        IT.Table (N) := Item;
     end Set_Char_Pos;
--- 2222,2316 ----
              --  Insert selected position and sort Sel_Position table
  
              Last_Sel_Pos := Last_Sel_Pos + 1;
!             Sel_Position (Last_Sel_Pos + 1 .. Max_Diff_Sel_Pos_Idx) :=
!               Sel_Position (Last_Sel_Pos .. Max_Diff_Sel_Pos_Idx - 1);
!             Sel_Position (Last_Sel_Pos) := Max_Diff_Sel_Pos;
  
              for P in 1 .. Last_Sel_Pos - 1 loop
!                if Max_Diff_Sel_Pos < Sel_Position (P) then
                    Sel_Position (P + 1 .. Last_Sel_Pos) :=
                      Sel_Position (P .. Last_Sel_Pos - 1);
!                   Sel_Position (P) := Max_Diff_Sel_Pos;
                    exit;
                 end if;
              end loop;
  
!             exit when Max_Differences = NK;
  
              Build_Identical_Keys_Sets
                (Same_Keys_Sets_Table,
                 Same_Keys_Sets_Last,
!                Max_Diff_Sel_Pos);
! 
!             if Verbose then
!                Put (Output,
!                     "Selecting position" & Max_Diff_Sel_Pos'Img &
!                       " results in" & Max_Differences'Img &
!                       " differences");
!                New_Line (Output);
!                Put (Output, "--");
!                New_Line (Output);
!                for J in 1 .. Same_Keys_Sets_Last loop
!                   for K in
!                     Same_Keys_Sets_Table (J).First ..
!                     Same_Keys_Sets_Table (J).Last
!                   loop
!                      Put (Output, WT.Table (Reduced (K)));
!                      New_Line (Output);
!                   end loop;
!                   Put (Output, "--");
!                   New_Line (Output);
!                end loop;
!             end if;
           end loop;
        end;
  
        Char_Pos_Set_Len := Last_Sel_Pos;
!       Char_Pos_Set := Allocate (Char_Pos_Set_Len);
  
        for C in 1 .. Last_Sel_Pos loop
           Set_Char_Pos (C - 1, Sel_Position (C));
        end loop;
     end Select_Char_Position;
  
+    --------------------------
+    -- Select_Character_Set --
+    --------------------------
+ 
+    procedure Select_Character_Set
+    is
+       Last : Natural := 0;
+       Used : array (Character) of Boolean := (others => False);
+       Char : Character;
+ 
+    begin
+       for J in 0 .. NK - 1 loop
+          for K in 0 .. Char_Pos_Set_Len - 1 loop
+             Char := WT.Table (Initial (J))(Get_Char_Pos (K));
+             exit when Char = ASCII.NUL;
+             Used (Char) := True;
+          end loop;
+       end loop;
+ 
+       Used_Char_Set_Len := 256;
+       Used_Char_Set := Allocate (Used_Char_Set_Len);
+ 
+       for J in Used'Range loop
+          if Used (J) then
+             Set_Used_Char (J, Last);
+             Last := Last + 1;
+          else
+             Set_Used_Char (J, 0);
+          end if;
+       end loop;
+    end Select_Character_Set;
+ 
     ------------------
     -- Set_Char_Pos --
     ------------------
  
     procedure Set_Char_Pos (P : Natural; Item : Natural) is
        N : constant Natural := Char_Pos_Set + P;
     begin
        IT.Table (N) := Item;
     end Set_Char_Pos;
*************** package body GNAT.Perfect_Hash_Generator
*** 2255,2261 ****
  
     procedure Set_Edges (F : Natural; Item : Edge_Type) is
        N : constant Natural := Edges + (F * Edge_Size);
- 
     begin
        IT.Table (N)     := Item.X;
        IT.Table (N + 1) := Item.Y;
--- 2321,2326 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 2266,2309 ****
     -- Set_Graph --
     ---------------
  
!    procedure Set_Graph (F : Natural; Item : Integer) is
!       N : constant Natural := G + (F * Graph_Item_Size);
! 
     begin
!       IT.Table (N) := Item;
     end Set_Graph;
  
     -------------
     -- Set_Key --
     -------------
  
!    procedure Set_Key (F : Key_Id; Item : Key_Type) is
!       N : constant Natural := Keys + F * Key_Size;
! 
     begin
!       IT.Table (N) := Item.Edge;
     end Set_Key;
  
!    ------------------
!    -- Set_Rand_Tab --
!    ------------------
! 
!    procedure Set_Rand_Tab (T : Integer; X, Y : Natural; Item : Natural) is
!       N : constant Natural :=
!             T + ((Y * Rand_Tab_Len_1) + X) * Rand_Tab_Item_Size;
  
     begin
        IT.Table (N) := Item;
!    end Set_Rand_Tab;
  
     -------------------
     -- Set_Used_Char --
     -------------------
  
     procedure Set_Used_Char (C : Character; Item : Natural) is
!       N : constant Natural :=
!             Used_Char_Set + Character'Pos (C) * Used_Char_Size;
! 
     begin
        IT.Table (N) := Item;
     end Set_Used_Char;
--- 2331,2366 ----
     -- Set_Graph --
     ---------------
  
!    procedure Set_Graph (N : Natural; Item : Integer) is
     begin
!       IT.Table (G + N) := Item;
     end Set_Graph;
  
     -------------
     -- Set_Key --
     -------------
  
!    procedure Set_Key (N : Key_Id; Item : Key_Type) is
     begin
!       IT.Table (Keys + N) := Item.Edge;
     end Set_Key;
  
!    ---------------
!    -- Set_Table --
!    ---------------
  
+    procedure Set_Table (T : Integer; X, Y : Natural; Item : Natural) is
+       N : constant Natural := T + ((Y * T1_Len) + X);
     begin
        IT.Table (N) := Item;
!    end Set_Table;
  
     -------------------
     -- Set_Used_Char --
     -------------------
  
     procedure Set_Used_Char (C : Character; Item : Natural) is
!       N : constant Natural := Used_Char_Set + Character'Pos (C);
     begin
        IT.Table (N) := Item;
     end Set_Used_Char;
*************** package body GNAT.Perfect_Hash_Generator
*** 2314,2320 ****
  
     procedure Set_Vertices (F : Natural; Item : Vertex_Type) is
        N : constant Natural := Vertices + (F * Vertex_Size);
- 
     begin
        IT.Table (N)     := Item.First;
        IT.Table (N + 1) := Item.Last;
--- 2371,2376 ----
*************** package body GNAT.Perfect_Hash_Generator
*** 2327,2350 ****
     function Sum
       (Word  : Word_Type;
        Table : Table_Id;
!       Opt   : Optimization)
!       return  Natural
     is
        S : Natural := 0;
        R : Natural;
  
     begin
        if Opt = CPU_Time then
!          for J in 0 .. Rand_Tab_Len_1 - 1 loop
              exit when Word (J + 1) = ASCII.NUL;
!             R := Get_Rand_Tab (Table, J, Get_Used_Char (Word (J + 1)));
              S := (S + R) mod NV;
           end loop;
  
        else
!          for J in 0 .. Rand_Tab_Len_1 - 1 loop
              exit when Word (J + 1) = ASCII.NUL;
!             R := Get_Rand_Tab (Table, J, 0);
              S := (S + R * Character'Pos (Word (J + 1))) mod NV;
           end loop;
        end if;
--- 2383,2405 ----
     function Sum
       (Word  : Word_Type;
        Table : Table_Id;
!       Opt   : Optimization) return Natural
     is
        S : Natural := 0;
        R : Natural;
  
     begin
        if Opt = CPU_Time then
!          for J in 0 .. T1_Len - 1 loop
              exit when Word (J + 1) = ASCII.NUL;
!             R := Get_Table (Table, J, Get_Used_Char (Word (J + 1)));
              S := (S + R) mod NV;
           end loop;
  
        else
!          for J in 0 .. T1_Len - 1 loop
              exit when Word (J + 1) = ASCII.NUL;
!             R := Get_Table (Table, J, 0);
              S := (S + R * Character'Pos (Word (J + 1))) mod NV;
           end loop;
        end if;
*************** package body GNAT.Perfect_Hash_Generator
*** 2373,2381 ****
  
     function Value
       (Name : Table_Name;
!       J   : Natural;
!       K    : Natural := 0)
!       return Natural
     is
     begin
        case Name is
--- 2428,2435 ----
  
     function Value
       (Name : Table_Name;
!       J    : Natural;
!       K    : Natural := 0) return Natural
     is
     begin
        case Name is
*************** package body GNAT.Perfect_Hash_Generator
*** 2386,2395 ****
              return Get_Used_Char (Character'Val (J));
  
           when Function_Table_1 =>
!             return Get_Rand_Tab (T1, J, K);
  
           when  Function_Table_2 =>
!             return Get_Rand_Tab (T2, J, K);
  
           when Graph_Table =>
              return Get_Graph (J);
--- 2440,2449 ----
              return Get_Used_Char (Character'Val (J));
  
           when Function_Table_1 =>
!             return Get_Table (T1, J, K);
  
           when  Function_Table_2 =>
!             return Get_Table (T2, J, K);
  
           when Graph_Table =>
              return Get_Graph (J);
diff -Nrcpad gcc-4.0.2/gcc/ada/g-pehage.ads gcc-4.1.0/gcc/ada/g-pehage.ads
*** gcc-4.0.2/gcc/ada/g-pehage.ads	Mon Sep 13 10:18:40 2004
--- gcc-4.1.0/gcc/ada/g-pehage.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --            Copyright (C) 2002-2004 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2002-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,152 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides a generator of static minimal perfect hash
! --  functions. To understand what a perfect hash function is, we
! --  define several notions. These definitions are inspired from the
! --  following paper:
  
! --    Zbigniew J. Czech, George Havas, and Bohdan S. Majewski ``An
! --    Optimal Algorithm for Generating Minimal Perfect Hash Functions'',
! --    Information Processing Letters, 43(1992) pp.257-264, Oct.1992
  
! --  Let W be a set of m words. A hash function h is a function that
! --  maps the set of words W into some given interval of integers
! --  [0, k-1], where k is an integer, usually k >= m. h (w) where w
! --  is a word computes an address or an integer from I for the
! --  storage or the retrieval of that item. The storage area used to
! --  store items is known as a hash table. Words for which the same
! --  address is computed are called synonyms. Due to the existence
! --  of synonyms a situation called collision may arise in which two
! --  items w1 and w2 have the same address. Several schemes for
! --  resolving known. A perfect hash function is an injection from
! --  the word set W to the integer interval I with k >= m. If k = m,
! --  then h is a minimal perfect hash function. A hash function is
! --  order preserving if it puts entries into the hash table in a
! --  prespecified order.
  
  --  A minimal perfect hash function is defined by two properties:
  
! --    Since no collisions occur each item can be retrieved from the
! --    table in *one* probe. This represents the "perfect" property.
  
! --    The hash table size corresponds to the exact size of W and
! --    *no larger*. This represents the "minimal" property.
  
! --  The functions generated by this package require the key set to
! --  be known in advance (they are "static" hash functions).
! --  The hash functions are also order preservering. If w2 is inserted
! --  after w1 in the generator, then f (w1) < f (w2). These hashing
! --  functions are convenient for use with realtime applications.
  
  package GNAT.Perfect_Hash_Generators is
  
     Default_K_To_V : constant Float  := 2.05;
!    --  Default ratio for the algorithm. When K is the number of keys,
!    --  V = (K_To_V) * K is the size of the main table of the hash function.
  
     Default_Pkg_Name : constant String := "Perfect_Hash";
!    --  Default package name in which the hash function is defined.
  
     Default_Position : constant String := "";
!    --  The generator allows selection of the character positions used
!    --  in the hash function. By default, all positions are selected.
  
     type Optimization is (Memory_Space, CPU_Time);
     Default_Optimization : constant Optimization := CPU_Time;
!    --  Optimize either the memory space or the execution time.
  
     Verbose : Boolean := False;
!    --  Comment required ???
  
     procedure Initialize
       (Seed   : Natural;
        K_To_V : Float        := Default_K_To_V;
!       Optim  : Optimization := CPU_Time);
!    --  Initialize the generator and its internal structures. Set the
!    --  ratio of vertices over keys in the random graphs. This value
!    --  has to be greater than 2.0 in order for the algorithm to succeed.
  
     procedure Finalize;
!    --  Deallocate the internal structures.
  
     procedure Insert (Value : String);
!    --  Insert a new key in the table.
  
     procedure Compute (Position : String := Default_Position);
!    --  Compute the hash function. Position allows to define a
!    --  selection of character positions used in the keywords hash
!    --  function. Positions can be separated by commas and range like
!    --  x-y may be used. Character '$' represents the final character
!    --  of a key. With an empty position, the generator automatically
!    --  produces positions to reduce the memory usage.
  
     procedure Produce (Pkg_Name  : String := Default_Pkg_Name);
!    --  Generate the hash function package Pkg_Name. This package
!    --  includes the minimal perfect Hash function.
  
!    --  The routines and structures defined below allow producing the
!    --  hash function using a different way from the procedure above.
!    --  The procedure Define returns the lengths of an internal table
!    --  and its item type size. The function Value returns the value of
!    --  each item in the table.
  
     --  The hash function has the following form:
  
     --             h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
!    --  G is a function based on a graph table [0,n-1] -> [0,m-1]. m is
!    --  the number of keys. n is an internally computed value and it
!    --  can be obtained as the length of vector G.
  
!    --  F1 and F2 are two functions based on two function tables T1 and
!    --  T2. Their definition depends on the chosen optimization mode.
  
!    --  Only some character positions are used in the keys because they
!    --  are significant. They are listed in a character position table
!    --  (P in the pseudo-code below). For instance, in {"jan", "feb",
!    --  "mar", "apr", "jun", "jul", "aug", "sep", "oct", "nov", "dec"},
!    --  only positions 2 and 3 are significant (the first character can
!    --  be ignored). In this example, P = {2, 3}
  
     --  When Optimization is CPU_Time, the first dimension of T1 and T2
!    --  corresponds to the character position in the key and the second
!    --  to the character set. As all the character set is not used, we
!    --  define a used character table which associates a distinct index
!    --  to each used character (unused characters are mapped to
!    --  zero). In this case, the second dimension of T1 and T2 is
!    --  reduced to the used character set (C in the pseudo-code
!    --  below). Therefore, the hash function has the following:
  
     --    function Hash (S : String) return Natural is
     --       F      : constant Natural := S'First - 1;
--- 31,163 ----
  --                                                                          --
  ------------------------------------------------------------------------------
  
! --  This package provides a generator of static minimal perfect hash functions.
! --  To understand what a perfect hash function is, we define several notions.
! --  These definitions are inspired from the following paper:
  
! --    Zbigniew J. Czech, George Havas, and Bohdan S. Majewski ``An Optimal
! --    Algorithm for Generating Minimal Perfect Hash Functions'', Information
! --    Processing Letters, 43(1992) pp.257-264, Oct.1992
  
! --  Let W be a set of m words. A hash function h is a function that maps the
! --  set of words W into some given interval of integers [0, k-1], where k is an
! --  integer, usually k >= m. h (w) where is a word computes an address or an
! --  integer from I for the storage or the retrieval of that item. The storage
! --  area used to store items is known as a hash table. Words for which the same
! --  address is computed are called synonyms. Due to the existence of synonyms a
! --  situation called collision may arise in which two items w1 and w2 have the
! --  same address. Several schemes for resolving known. A perfect hash function
! --  is an injection from the word set W to the integer interval I with k >= m.
! --  If k = m, then h is a minimal perfect hash function. A hash function is
! --  order preserving if it puts entries into the hash table in prespecified
! --  order.
  
  --  A minimal perfect hash function is defined by two properties:
  
! --    Since no collisions occur each item can be retrieved from the table in
! --    *one* probe. This represents the "perfect" property.
  
! --    The hash table size corresponds to the exact size of W and *no larger*.
! --    This represents the "minimal" property.
  
! --  The functions generated by this package require the key set to be known in
! --  advance (they are "static" hash functions). The hash functions are also
! --  order preservering. If w2 is inserted after w1 in the generator, then (w1)
! --  < f (w2). These hashing functions are convenient for use with realtime
! --  applications.
  
  package GNAT.Perfect_Hash_Generators is
  
     Default_K_To_V : constant Float  := 2.05;
!    --  Default ratio for the algorithm. When K is the number of keys, V =
!    --  (K_To_V) * K is the size of the main table of the hash function. To
!    --  converge, the algorithm requires K_To_V to be stricly greater than 2.0.
  
     Default_Pkg_Name : constant String := "Perfect_Hash";
!    --  Default package name in which the hash function is defined
  
     Default_Position : constant String := "";
!    --  The generator allows selection of the character positions used in the
!    --  hash function. By default, all positions are selected.
! 
!    Default_Tries : constant Positive := 20;
!    --  This algorithm may not succeed to find a possible mapping on the first
!    --  try and may have to iterate a number of times. This constant bounds the
!    --  number of tries.
  
     type Optimization is (Memory_Space, CPU_Time);
     Default_Optimization : constant Optimization := CPU_Time;
!    --  Optimize either the memory space or the execution time
  
     Verbose : Boolean := False;
!    --  Output the status of the algorithm. For instance, the tables, the random
!    --  graph (edges, vertices) and selected char positions are output between
!    --  two iterations.
  
     procedure Initialize
       (Seed   : Natural;
        K_To_V : Float        := Default_K_To_V;
!       Optim  : Optimization := CPU_Time;
!       Tries  : Positive     := Default_Tries);
!    --  Initialize the generator and its internal structures. Set the ratio of
!    --  vertices over keys in the random graphs. This value has to be greater
!    --  than 2.0 in order for the algorithm to succeed. The key set is not
!    --  modified (in particular when it is already set). For instance, it is
!    --  possible to run several times the generator with different settings on
!    --  the same key set.
  
     procedure Finalize;
!    --  Deallocate the internal structures and the key table
  
     procedure Insert (Value : String);
!    --  Insert a new key in the table
! 
!    Too_Many_Tries : exception;
!    --  Raised after Tries unsuccessfull runs
  
     procedure Compute (Position : String := Default_Position);
!    --  Compute the hash function. Position allows to define selection of
!    --  character positions used in the keywords hash function. Positions can be
!    --  separated by commas and range like x-y may be used. Character '$'
!    --  represents the final character of a key. With an empty position, the
!    --  generator automatically produces positions to reduce the memory usage.
!    --  Raise Too_Many_Tries in case that the algorithm does not succeed in less
!    --  than Tries attempts (see Initialize).
  
     procedure Produce (Pkg_Name  : String := Default_Pkg_Name);
!    --  Generate the hash function package Pkg_Name. This package includes the
!    --  minimal perfect Hash function.
  
!    --  The routines and structures defined below allow producing the hash
!    --  function using a different way from the procedure above. The procedure
!    --  Define returns the lengths of an internal table and its item type size.
!    --  The function Value returns the value of each item in the table.
  
     --  The hash function has the following form:
  
     --             h (w) = (g (f1 (w)) + g (f2 (w))) mod m
  
!    --  G is a function based on a graph table [0,n-1] -> [0,m-1]. m is the
!    --  number of keys. n is an internally computed value and it can be obtained
!    --  as the length of vector G.
  
!    --  F1 and F2 are two functions based on two function tables T1 and T2.
!    --  Their definition depends on the chosen optimization mode.
  
!    --  Only some character positions are used in the keys because they are
!    --  significant. They are listed in a character position table (P in the
!    --  pseudo-code below). For instance, in {"jan", "feb", "mar", "apr", "jun",
!    --  "jul", "aug", "sep", "oct", "nov", "dec"}, only positions 2 and 3 are
!    --  significant (the first character can be ignored). In this example, P =
!    --  {2, 3}
  
     --  When Optimization is CPU_Time, the first dimension of T1 and T2
!    --  corresponds to the character position in the key and the second to the
!    --  character set. As all the character set is not used, we define a used
!    --  character table which associates a distinct index to each used character
!    --  (unused characters are mapped to zero). In this case, the second
!    --  dimension of T1 and T2 is reduced to the used character set (C in the
!    --  pseudo-code below). Therefore, the hash function has the following:
  
     --    function Hash (S : String) return Natural is
     --       F      : constant Natural := S'First - 1;
*************** package GNAT.Perfect_Hash_Generators is
*** 165,175 ****
     --       return (Natural (G (F1)) + Natural (G (F2))) mod <m>;
     --    end Hash;
  
!    --  When Optimization is Memory_Space, the first dimension of T1
!    --  and T2 corresponds to the character position in the key and the
!    --  second dimension is ignored. T1 and T2 are no longer matrices
!    --  but vectors. Therefore, the used character table is not
!    --  available. The hash function has the following form:
  
     --     function Hash (S : String) return Natural is
     --        F      : constant Natural := S'First - 1;
--- 176,186 ----
     --       return (Natural (G (F1)) + Natural (G (F2))) mod <m>;
     --    end Hash;
  
!    --  When Optimization is Memory_Space, the first dimension of T1 and T2
!    --  corresponds to the character position in the key and the second
!    --  dimension is ignored. T1 and T2 are no longer matrices but vectors.
!    --  Therefore, the used character table is not available. The hash function
!    --  has the following form:
  
     --     function Hash (S : String) return Natural is
     --        F      : constant Natural := S'First - 1;
*************** package GNAT.Perfect_Hash_Generators is
*** 200,216 ****
        Item_Size : out Natural;
        Length_1  : out Natural;
        Length_2  : out Natural);
!    --  Return the definition of the table Name. This includes the
!    --  length of dimensions 1 and 2 and the size of an unsigned
!    --  integer item. When Length_2 is zero, the table has only one
!    --  dimension. All the ranges start from zero.
  
     function Value
       (Name : Table_Name;
        J    : Natural;
!       K    : Natural := 0)
!       return Natural;
!    --  Return the value of the component (I, J) of the table
!    --  Name. When the table has only one dimension, J is ignored.
  
  end GNAT.Perfect_Hash_Generators;
--- 211,226 ----
        Item_Size : out Natural;
        Length_1  : out Natural;
        Length_2  : out Natural);
!    --  Return the definition of the table Name. This includes the length of
!    --  dimensions 1 and 2 and the size of an unsigned integer item. When
!    --  Length_2 is zero, the table has only one dimension. All the ranges start
!    --  from zero.
  
     function Value
       (Name : Table_Name;
        J    : Natural;
!       K    : Natural := 0) return Natural;
!    --  Return the value of the component (I, J) of the table Name. When the
!    --  table has only one dimension, J is ignored.
  
  end GNAT.Perfect_Hash_Generators;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regexp.adb gcc-4.1.0/gcc/ada/g-regexp.adb
*** gcc-4.0.2/gcc/ada/g-regexp.adb	Tue Jul  6 13:57:30 2004
--- gcc-4.1.0/gcc/ada/g-regexp.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --            Copyright (C) 1999-2004 Ada Core Technologies, Inc.           --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 1999-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Regexp is
*** 180,186 ****
          (M     : String;
           Index : Integer);
        pragma No_Return (Raise_Exception);
!       --  Raise an exception, indicating an error at character Index in S.
  
        --------------------
        -- Create_Mapping --
--- 180,186 ----
          (M     : String;
           Index : Integer);
        pragma No_Return (Raise_Exception);
!       --  Raise an exception, indicating an error at character Index in S
  
        --------------------
        -- Create_Mapping --
*************** package body GNAT.Regexp is
*** 330,336 ****
                    if not Glob then
                       if J = S'First then
                          Raise_Exception
!                           ("'*', '+', '?' and '|' operators can not be in "
                             & "first position in regular expression", J);
                       end if;
                    end if;
--- 330,336 ----
                    if not Glob then
                       if J = S'First then
                          Raise_Exception
!                           ("'*', '+', '?' and '|' operators cannot be in "
                             & "first position in regular expression", J);
                       end if;
                    end if;
*************** package body GNAT.Regexp is
*** 343,349 ****
                          --  and cannot be found at the beginning of the line
  
                          Raise_Exception
!                           ("'*', '+', '?' and '|' operators can not be in "
                             & "first position in regular expression", J);
                       end if;
  
--- 343,349 ----
                          --  and cannot be found at the beginning of the line
  
                          Raise_Exception
!                           ("'*', '+', '?' and '|' operators cannot be in "
                             & "first position in regular expression", J);
                       end if;
  
*************** package body GNAT.Regexp is
*** 389,395 ****
           procedure Add_Empty_Char
             (State    : State_Index;
              To_State : State_Index);
!          --  Add a empty-character transition from State to To_State.
  
           procedure Create_Repetition
             (Repetition : Character;
--- 389,395 ----
           procedure Add_Empty_Char
             (State    : State_Index;
              To_State : State_Index);
!          --  Add a empty-character transition from State to To_State
  
           procedure Create_Repetition
             (Repetition : Character;
*************** package body GNAT.Regexp is
*** 461,467 ****
              End_Index   : Integer)
              return        Integer;
           --  Returns the index of the last character of the next sub-expression
!          --  in Simple. Index can not be greater than End_Index
  
           --------------------
           -- Add_Empty_Char --
--- 461,467 ----
              End_Index   : Integer)
              return        Integer;
           --  Returns the index of the last character of the next sub-expression
!          --  in Simple. Index cannot be greater than End_Index.
  
           --------------------
           -- Add_Empty_Char --
*************** package body GNAT.Regexp is
*** 829,835 ****
           procedure Add_Empty_Char
             (State    : State_Index;
              To_State : State_Index);
!          --  Add a empty-character transition from State to To_State.
  
           procedure Create_Simple
             (Start_Index : Integer;
--- 829,835 ----
           procedure Add_Empty_Char
             (State    : State_Index;
              To_State : State_Index);
!          --  Add a empty-character transition from State to To_State
  
           procedure Create_Simple
             (Start_Index : Integer;
*************** package body GNAT.Regexp is
*** 1088,1095 ****
          (First_Table : Regexp_Array_Access;
           Num_States  : State_Index;
           Start_State : State_Index;
!          End_State   : State_Index)
!          return        Regexp
        is
           pragma Warnings (Off, Num_States);
  
--- 1088,1094 ----
          (First_Table : Regexp_Array_Access;
           Num_States  : State_Index;
           Start_State : State_Index;
!          End_State   : State_Index) return Regexp
        is
           pragma Warnings (Off, Num_States);
  
*************** package body GNAT.Regexp is
*** 1301,1308 ****
     function Get
       (Table  : Regexp_Array_Access;
        State  : State_Index;
!       Column : Column_Index)
!       return   State_Index
     is
     begin
        if State <= Table'Last (1)
--- 1300,1306 ----
     function Get
       (Table  : Regexp_Array_Access;
        State  : State_Index;
!       Column : Column_Index) return State_Index
     is
     begin
        if State <= Table'Last (1)
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regexp.ads gcc-4.1.0/gcc/ada/g-regexp.ads
*** gcc-4.0.2/gcc/ada/g-regexp.ads	Tue Oct 21 13:42:05 2003
--- gcc-4.1.0/gcc/ada/g-regexp.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --           Copyright (C) 1998-2003 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 1998-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Regexp is
*** 131,138 ****
     function Compile
       (Pattern        : String;
        Glob           : Boolean := False;
!       Case_Sensitive : Boolean := True)
!       return           Regexp;
     --  Compiles a regular expression S. If the syntax of the given
     --  expression is invalid (does not match above grammar, Error_In_Regexp
     --  is raised. If Glob is True, the pattern is considered as a 'globbing
--- 131,137 ----
     function Compile
       (Pattern        : String;
        Glob           : Boolean := False;
!       Case_Sensitive : Boolean := True) return Regexp;
     --  Compiles a regular expression S. If the syntax of the given
     --  expression is invalid (does not match above grammar, Error_In_Regexp
     --  is raised. If Glob is True, the pattern is considered as a 'globbing
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regist.adb gcc-4.1.0/gcc/ada/g-regist.adb
*** gcc-4.0.2/gcc/ada/g-regist.adb	Tue Oct 21 13:42:05 2003
--- gcc-4.1.0/gcc/ada/g-regist.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2001-2003 Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --           Copyright (C) 2001-2005, Free Software Foundation, Inc.        --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Registry is
*** 81,94 ****
  
     function RegDeleteKey
       (Key      : HKEY;
!       lpSubKey : Address)
!       return     LONG;
     pragma Import (Stdcall, RegDeleteKey, "RegDeleteKeyA");
  
     function RegDeleteValue
       (Key         : HKEY;
!       lpValueName : Address)
!       return        LONG;
     pragma Import (Stdcall, RegDeleteValue, "RegDeleteValueA");
  
     function RegEnumValue
--- 81,92 ----
  
     function RegDeleteKey
       (Key      : HKEY;
!       lpSubKey : Address) return LONG;
     pragma Import (Stdcall, RegDeleteKey, "RegDeleteKeyA");
  
     function RegDeleteValue
       (Key         : HKEY;
!       lpValueName : Address) return LONG;
     pragma Import (Stdcall, RegDeleteValue, "RegDeleteValueA");
  
     function RegEnumValue
*************** package body GNAT.Registry is
*** 99,106 ****
        lpReserved    : LPDWORD;
        lpType        : LPDWORD;
        lpData        : Address;
!       lpcbData      : LPDWORD)
!       return          LONG;
     pragma Import (Stdcall, RegEnumValue, "RegEnumValueA");
  
     function RegOpenKeyEx
--- 97,103 ----
        lpReserved    : LPDWORD;
        lpType        : LPDWORD;
        lpData        : Address;
!       lpcbData      : LPDWORD) return LONG;
     pragma Import (Stdcall, RegEnumValue, "RegEnumValueA");
  
     function RegOpenKeyEx
*************** package body GNAT.Registry is
*** 108,115 ****
        lpSubKey   : Address;
        ulOptions  : DWORD;
        samDesired : REGSAM;
!       phkResult  : PHKEY)
!       return       LONG;
     pragma Import (Stdcall, RegOpenKeyEx, "RegOpenKeyExA");
  
     function RegQueryValueEx
--- 105,111 ----
        lpSubKey   : Address;
        ulOptions  : DWORD;
        samDesired : REGSAM;
!       phkResult  : PHKEY) return LONG;
     pragma Import (Stdcall, RegOpenKeyEx, "RegOpenKeyExA");
  
     function RegQueryValueEx
*************** package body GNAT.Registry is
*** 118,125 ****
        lpReserved  : LPDWORD;
        lpType      : LPDWORD;
        lpData      : Address;
!       lpcbData    : LPDWORD)
!       return        LONG;
     pragma Import (Stdcall, RegQueryValueEx, "RegQueryValueExA");
  
     function RegSetValueEx
--- 114,120 ----
        lpReserved  : LPDWORD;
        lpType      : LPDWORD;
        lpData      : Address;
!       lpcbData    : LPDWORD) return LONG;
     pragma Import (Stdcall, RegQueryValueEx, "RegQueryValueExA");
  
     function RegSetValueEx
*************** package body GNAT.Registry is
*** 128,142 ****
        Reserved    : DWORD;
        dwType      : DWORD;
        lpData      : Address;
!       cbData      : DWORD)
!       return        LONG;
     pragma Import (Stdcall, RegSetValueEx, "RegSetValueExA");
  
     ---------------------
     -- Local Constants --
     ---------------------
  
!    Max_Key_Size   : constant := 1_024;
     --  Maximum number of characters for a registry key
  
     Max_Value_Size : constant := 2_048;
--- 123,136 ----
        Reserved    : DWORD;
        dwType      : DWORD;
        lpData      : Address;
!       cbData      : DWORD) return LONG;
     pragma Import (Stdcall, RegSetValueEx, "RegSetValueExA");
  
     ---------------------
     -- Local Constants --
     ---------------------
  
!    Max_Key_Size : constant := 1_024;
     --  Maximum number of characters for a registry key
  
     Max_Value_Size : constant := 2_048;
*************** package body GNAT.Registry is
*** 147,153 ****
     -----------------------
  
     function To_C_Mode (Mode : Key_Mode) return REGSAM;
!    --  Returns the Win32 mode value for the Key_Mode value.
  
     procedure Check_Result (Result : LONG; Message : String);
     --  Checks value Result and raise the exception Registry_Error if it is not
--- 141,147 ----
     -----------------------
  
     function To_C_Mode (Mode : Key_Mode) return REGSAM;
!    --  Returns the Win32 mode value for the Key_Mode value
  
     procedure Check_Result (Result : LONG; Message : String);
     --  Checks value Result and raise the exception Registry_Error if it is not
*************** package body GNAT.Registry is
*** 188,195 ****
     function Create_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Write)
!       return     HKEY
     is
        use type REGSAM;
        use type DWORD;
--- 182,188 ----
     function Create_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Write) return HKEY
     is
        use type REGSAM;
        use type DWORD;
*************** package body GNAT.Registry is
*** 318,325 ****
  
     function Key_Exists
       (From_Key : HKEY;
!       Sub_Key  : String)
!       return     Boolean
     is
        New_Key : HKEY;
  
--- 311,317 ----
  
     function Key_Exists
       (From_Key : HKEY;
!       Sub_Key  : String) return Boolean
     is
        New_Key : HKEY;
  
*************** package body GNAT.Registry is
*** 346,353 ****
     function Open_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Only)
!       return     HKEY
     is
        use type REGSAM;
  
--- 338,344 ----
     function Open_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Only) return HKEY
     is
        use type REGSAM;
  
*************** package body GNAT.Registry is
*** 376,383 ****
     function Query_Value
       (From_Key : HKEY;
        Sub_Key  : String;
!       Expand   : Boolean := False)
!       return     String
     is
        use GNAT.Directory_Operations;
        use type LONG;
--- 367,373 ----
     function Query_Value
       (From_Key : HKEY;
        Sub_Key  : String;
!       Expand   : Boolean := False) return String
     is
        use GNAT.Directory_Operations;
        use type LONG;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regist.ads gcc-4.1.0/gcc/ada/g-regist.ads
*** gcc-4.0.2/gcc/ada/g-regist.ads	Tue Oct 21 13:42:05 2003
--- gcc-4.1.0/gcc/ada/g-regist.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2001-2003 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2001-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Registry is
*** 57,63 ****
     HKEY_PERFORMANCE_DATA : constant HKEY;
  
     type Key_Mode is (Read_Only, Read_Write);
!    --  Access mode for the registry key.
  
     Registry_Error : exception;
     --  Registry_Error is raises by all routines below if a problem occurs
--- 57,63 ----
     HKEY_PERFORMANCE_DATA : constant HKEY;
  
     type Key_Mode is (Read_Only, Read_Write);
!    --  Access mode for the registry key
  
     Registry_Error : exception;
     --  Registry_Error is raises by all routines below if a problem occurs
*************** package GNAT.Registry is
*** 66,73 ****
     function Create_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Write)
!       return     HKEY;
     --  Open or create a key (named Sub_Key) in the Windows registry database.
     --  The key will be created under key From_Key. It returns the key handle.
     --  From_Key must be a valid handle to an already opened key or one of
--- 66,72 ----
     function Create_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Write) return HKEY;
     --  Open or create a key (named Sub_Key) in the Windows registry database.
     --  The key will be created under key From_Key. It returns the key handle.
     --  From_Key must be a valid handle to an already opened key or one of
*************** package GNAT.Registry is
*** 76,111 ****
     function Open_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Only)
!       return     HKEY;
     --  Return a registry key handle for key named Sub_Key opened under key
     --  From_Key. It is possible to open a key at any level in the registry
     --  tree in a single call to Open_Key.
  
     procedure Close_Key (Key : HKEY);
!    --  Close registry key handle. All resources used by Key are released.
  
     function Key_Exists (From_Key : HKEY; Sub_Key : String) return Boolean;
!    --  Returns True if Sub_Key is defined under From_Key in the registry.
  
     function Query_Value
       (From_Key : HKEY;
        Sub_Key  : String;
!       Expand   : Boolean := False)
!       return     String;
     --  Returns the registry key's value associated with Sub_Key in From_Key
     --  registry key. If Expand is set to True and the Sub_Key is a
     --  REG_EXPAND_SZ the returned value will have the %name% variables
     --  replaced by the corresponding environment variable value.
  
     procedure Set_Value (From_Key : HKEY; Sub_Key : String; Value : String);
!    --  Add the pair (Sub_Key, Value) into From_Key registry key.
  
     procedure Delete_Key (From_Key : HKEY; Sub_Key : String);
!    --  Remove Sub_Key from the registry key From_Key.
  
     procedure Delete_Value (From_Key : HKEY; Sub_Key : String);
!    --  Remove the named value Sub_Key from the registry key From_Key.
  
     generic
        with procedure Action
--- 75,108 ----
     function Open_Key
       (From_Key : HKEY;
        Sub_Key  : String;
!       Mode     : Key_Mode := Read_Only) return HKEY;
     --  Return a registry key handle for key named Sub_Key opened under key
     --  From_Key. It is possible to open a key at any level in the registry
     --  tree in a single call to Open_Key.
  
     procedure Close_Key (Key : HKEY);
!    --  Close registry key handle. All resources used by Key are released
  
     function Key_Exists (From_Key : HKEY; Sub_Key : String) return Boolean;
!    --  Returns True if Sub_Key is defined under From_Key in the registry
  
     function Query_Value
       (From_Key : HKEY;
        Sub_Key  : String;
!       Expand   : Boolean := False) return String;
     --  Returns the registry key's value associated with Sub_Key in From_Key
     --  registry key. If Expand is set to True and the Sub_Key is a
     --  REG_EXPAND_SZ the returned value will have the %name% variables
     --  replaced by the corresponding environment variable value.
  
     procedure Set_Value (From_Key : HKEY; Sub_Key : String; Value : String);
!    --  Add the pair (Sub_Key, Value) into From_Key registry key
  
     procedure Delete_Key (From_Key : HKEY; Sub_Key : String);
!    --  Remove Sub_Key from the registry key From_Key
  
     procedure Delete_Value (From_Key : HKEY; Sub_Key : String);
!    --  Remove the named value Sub_Key from the registry key From_Key
  
     generic
        with procedure Action
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regpat.adb gcc-4.1.0/gcc/ada/g-regpat.adb
*** gcc-4.0.2/gcc/ada/g-regpat.adb	Wed Dec  8 11:46:58 2004
--- gcc-4.1.0/gcc/ada/g-regpat.adb	Tue Nov 15 13:59:42 2005
***************
*** 7,13 ****
  --                                 B o d y                                  --
  --                                                                          --
  --               Copyright (C) 1986 by University of Toronto.               --
! --           Copyright (C) 1996-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 7,13 ----
  --                                 B o d y                                  --
  --                                                                          --
  --               Copyright (C) 1986 by University of Toronto.               --
! --                      Copyright (C) 1999-2005, AdaCore                    --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Regpat is
*** 129,135 ****
        --  Complex loops
  
        CURLYX,     -- 2num node Match this complex thing {n,m} times
!       --                       The nums are coded on two characters each.
  
        WHILEM,     -- no        Do curly processing and see if rest matches
  
--- 129,135 ----
        --  Complex loops
  
        CURLYX,     -- 2num node Match this complex thing {n,m} times
!       --                       The nums are coded on two characters each
  
        WHILEM,     -- no        Do curly processing and see if rest matches
  
*************** package body GNAT.Regpat is
*** 233,247 ****
     procedure Set_In_Class
       (Bitmap : in out Character_Class;
        C      : Character);
!    --  Set the entry to True for C in the class Bitmap.
  
     function Get_From_Class
       (Bitmap : Character_Class;
        C      : Character) return Boolean;
!    --  Return True if the entry is set for C in the class Bitmap.
  
     procedure Reset_Class (Bitmap : out Character_Class);
!    --  Clear all the entries in the class Bitmap.
  
     pragma Inline (Set_In_Class);
     pragma Inline (Get_From_Class);
--- 233,247 ----
     procedure Set_In_Class
       (Bitmap : in out Character_Class;
        C      : Character);
!    --  Set the entry to True for C in the class Bitmap
  
     function Get_From_Class
       (Bitmap : Character_Class;
        C      : Character) return Boolean;
!    --  Return True if the entry is set for C in the class Bitmap
  
     procedure Reset_Class (Bitmap : out Character_Class);
!    --  Clear all the entries in the class Bitmap
  
     pragma Inline (Set_In_Class);
     pragma Inline (Get_From_Class);
*************** package body GNAT.Regpat is
*** 282,288 ****
     function Get_Next_Offset
       (Program : Program_Data;
        IP      : Pointer) return Pointer;
!    --  Get the offset field of a node. Used by Get_Next.
  
     function Get_Next
       (Program : Program_Data;
--- 282,288 ----
     function Get_Next_Offset
       (Program : Program_Data;
        IP      : Pointer) return Pointer;
!    --  Get the offset field of a node. Used by Get_Next
  
     function Get_Next
       (Program : Program_Data;
*************** package body GNAT.Regpat is
*** 295,301 ****
     function Read_Natural
       (Program : Program_Data;
        IP      : Pointer) return Natural;
!    --  Return the 2-byte natural coded at position IP.
  
     --  All of the subprograms above are tiny and should be inlined
  
--- 295,301 ----
     function Read_Natural
       (Program : Program_Data;
        IP      : Pointer) return Natural;
!    --  Return the 2-byte natural coded at position IP
  
     --  All of the subprograms above are tiny and should be inlined
  
*************** package body GNAT.Regpat is
*** 389,398 ****
        --  Return value is the location of new opcode, ie old Emit_Ptr.
  
        procedure Emit_Natural (IP : Pointer; N : Natural);
!       --  Split N on two characters at position IP.
  
        procedure Emit_Class (Bitmap : Character_Class);
!       --  Emits a character class.
  
        procedure Case_Emit (C : Character);
        --  Emit C, after converting is to lower-case if the regular
--- 389,398 ----
        --  Return value is the location of new opcode, ie old Emit_Ptr.
  
        procedure Emit_Natural (IP : Pointer; N : Natural);
!       --  Split N on two characters at position IP
  
        procedure Emit_Class (Bitmap : Character_Class);
!       --  Emits a character class
  
        procedure Case_Emit (C : Character);
        --  Emit C, after converting is to lower-case if the regular
*************** package body GNAT.Regpat is
*** 454,460 ****
        function  Next_Instruction (P : Pointer) return Pointer;
        --  Dig the "next" pointer out of a node
  
!       procedure Fail (M : in String);
        pragma No_Return (Fail);
        --  Fail with a diagnostic message, if possible
  
--- 454,460 ----
        function  Next_Instruction (P : Pointer) return Pointer;
        --  Dig the "next" pointer out of a node
  
!       procedure Fail (M : String);
        pragma No_Return (Fail);
        --  Fail with a diagnostic message, if possible
  
*************** package body GNAT.Regpat is
*** 572,580 ****
        -- Fail --
        ----------
  
!       procedure Fail (M : in String) is
        begin
!          raise Expression_Error;
        end Fail;
  
        -------------------------
--- 572,580 ----
        -- Fail --
        ----------
  
!       procedure Fail (M : String) is
        begin
!          raise Expression_Error with M;
        end Fail;
  
        -------------------------
*************** package body GNAT.Regpat is
*** 845,851 ****
        --  makes it hard to avoid.
  
        procedure Parse
!         (Parenthesized  : in Boolean;
           Flags          : out Expression_Flags;
           IP             : out Pointer)
        is
--- 845,851 ----
        --  makes it hard to avoid.
  
        procedure Parse
!         (Parenthesized  : Boolean;
           Flags          : out Expression_Flags;
           IP             : out Pointer)
        is
*************** package body GNAT.Regpat is
*** 1206,1212 ****
              Parse_Pos := Parse_Pos + 1;
           end if;
  
!          --  First character can be ] or -, without closing the class.
  
           if Parse_Pos <= Parse_End
             and then (Expression (Parse_Pos) = ']'
--- 1206,1212 ----
              Parse_Pos := Parse_Pos + 1;
           end if;
  
!          --  First character can be ] or - without closing the class
  
           if Parse_Pos <= Parse_End
             and then (Expression (Parse_Pos) = ']'
*************** package body GNAT.Regpat is
*** 2389,2395 ****
  
        type Natural_Array is array (Match_Count range <>) of Natural;
        Matches_Tmp : Natural_Array (Matches_Full'Range);
!       --  Save the opening position of parenthesis.
  
        Last_Paren  : Natural := 0;
        --  Last parenthesis seen
--- 2389,2395 ----
  
        type Natural_Array is array (Match_Count range <>) of Natural;
        Matches_Tmp : Natural_Array (Matches_Full'Range);
!       --  Save the opening position of parenthesis
  
        Last_Paren  : Natural := 0;
        --  Last parenthesis seen
*************** package body GNAT.Regpat is
*** 2414,2420 ****
        --  operators for complex expressions.
  
        Current_Curly : Current_Curly_Access := null;
!       --  The curly currently being processed.
  
        -----------------------
        -- Local Subprograms --
--- 2414,2420 ----
        --  operators for complex expressions.
  
        Current_Curly : Current_Curly_Access := null;
!       --  The curly currently being processed
  
        -----------------------
        -- Local Subprograms --
*************** package body GNAT.Regpat is
*** 2430,2436 ****
        --  It only matches on things of length 1.
        --  Starting from Input_Pos, it matches at most Max CURLY.
  
!       function Try (Pos : in Positive) return Boolean;
        --  Try to match at specific point
  
        function Match (IP : Pointer) return Boolean;
--- 2430,2436 ----
        --  It only matches on things of length 1.
        --  Starting from Input_Pos, it matches at most Max CURLY.
  
!       function Try (Pos : Positive) return Boolean;
        --  Try to match at specific point
  
        function Match (IP : Pointer) return Boolean;
*************** package body GNAT.Regpat is
*** 2465,2471 ****
        pragma Inline (Index);
        pragma Inline (Repeat);
  
!       --  These are two complex functions, but used only once.
  
        pragma Inline (Match_Whilem);
        pragma Inline (Match_Simple_Operator);
--- 2465,2471 ----
        pragma Inline (Index);
        pragma Inline (Repeat);
  
!       --  These are two complex functions, but used only once
  
        pragma Inline (Match_Whilem);
        pragma Inline (Match_Simple_Operator);
*************** package body GNAT.Regpat is
*** 3002,3011 ****
           Ln : Natural                       := 0;
  
           Lastloc : constant Natural := Cc.Lastloc;
!          --  Detection of 0-len.
  
        begin
!          --  If degenerate scan matches "", assume scan done.
  
           if Input_Pos = Cc.Lastloc
             and then N >= Cc.Min
--- 3002,3011 ----
           Ln : Natural                       := 0;
  
           Lastloc : constant Natural := Cc.Lastloc;
!          --  Detection of 0-len
  
        begin
!          --  If degenerate scan matches "", assume scan done
  
           if Input_Pos = Cc.Lastloc
             and then N >= Cc.Min
*************** package body GNAT.Regpat is
*** 3031,3037 ****
              return False;
           end if;
  
!          --  First, just match a string of min scans.
  
           if N < Cc.Min then
              Cc.Cur := N;
--- 3031,3037 ----
              return False;
           end if;
  
!          --  First, just match a string of min scans
  
           if N < Cc.Min then
              Cc.Cur := N;
*************** package body GNAT.Regpat is
*** 3046,3052 ****
              return False;
           end if;
  
!          --  Prefer next over scan for minimal matching.
  
           if not Cc.Greedy then
              Current_Curly := Cc.Old_Cc;
--- 3046,3052 ----
              return False;
           end if;
  
!          --  Prefer next over scan for minimal matching
  
           if not Cc.Greedy then
              Current_Curly := Cc.Old_Cc;
*************** package body GNAT.Regpat is
*** 3240,3246 ****
        -- Try --
        ---------
  
!       function Try (Pos : in Positive) return Boolean is
        begin
           Input_Pos  := Pos;
           Last_Paren := 0;
--- 3240,3246 ----
        -- Try --
        ---------
  
!       function Try (Pos : Positive) return Boolean is
        begin
           Input_Pos  := Pos;
           Last_Paren := 0;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-regpat.ads gcc-4.1.0/gcc/ada/g-regpat.ads
*** gcc-4.0.2/gcc/ada/g-regpat.ads	Wed May  5 10:09:54 2004
--- gcc-4.1.0/gcc/ada/g-regpat.ads	Tue Nov 15 14:06:45 2005
***************
*** 7,13 ****
  --                                 S p e c                                  --
  --                                                                          --
  --               Copyright (C) 1986 by University of Toronto.               --
! --           Copyright (C) 1996-2004 Ada Core Technologies, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 7,13 ----
  --                                 S p e c                                  --
  --                                                                          --
  --               Copyright (C) 1986 by University of Toronto.               --
! --                     Copyright (C) 1996-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 17,24 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 17,24 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 68,74 ****
  --       extensions that provide full (type 0) computational capabilities.
  
  package GNAT.Regpat is
! pragma Preelaborate (Regpat);
  
     --  The grammar is the following:
  
--- 68,74 ----
  --       extensions that provide full (type 0) computational capabilities.
  
  package GNAT.Regpat is
!    pragma Preelaborate;
  
     --  The grammar is the following:
  
*************** pragma Preelaborate (Regpat);
*** 206,212 ****
     --  first version the regular expression has in fact to be compiled twice
     --  (first to compute the size, then to generate the byte code).
  
!    --  Note also that you can not use the function version of Compile if you
     --  specify the size of the Pattern_Matcher, since the discriminants will
     --  most probably be different and you will get a Constraint_Error
  
--- 206,212 ----
     --  first version the regular expression has in fact to be compiled twice
     --  (first to compute the size, then to generate the byte code).
  
!    --  Note also that you cannot use the function version of Compile if you
     --  specify the size of the Pattern_Matcher, since the discriminants will
     --  most probably be different and you will get a Constraint_Error
  
*************** pragma Preelaborate (Regpat);
*** 219,225 ****
     --  Several versions of the Match subprogram are provided, with different
     --  parameters and return results.
  
!    --  See the description under each of these subprograms.
  
     --  Here is a short example showing how to get the substring matched by
     --  the first parenthesis pair.
--- 219,225 ----
     --  Several versions of the Match subprogram are provided, with different
     --  parameters and return results.
  
!    --  See the description under each of these subprograms
  
     --  Here is a short example showing how to get the substring matched by
     --  the first parenthesis pair.
*************** pragma Preelaborate (Regpat);
*** 291,310 ****
     ---------------
  
     Expression_Error : exception;
!    --  This exception is raised when trying to compile an invalid
!    --  regular expression. All subprograms taking an expression
!    --  as parameter may raise Expression_Error.
  
     Max_Paren_Count : constant := 255;
!    --  Maximum number of parenthesis in a regular expression.
!    --  This is limited by the size of a Character, as found in the
!    --  byte-compiled version of regular expressions.
  
     Max_Curly_Repeat : constant := 32767;
!    --  Maximum number of repetition for the curly operator.
!    --  The digits in the {n}, {n,} and {n,m } operators can not be higher
!    --  than this constant, since they have to fit on two characters in the
!    --  byte-compiled version of regular expressions.
  
     Max_Program_Size : constant := 2**15 - 1;
     --  Maximum size that can be allocated for a program
--- 291,310 ----
     ---------------
  
     Expression_Error : exception;
!    --  This exception is raised when trying to compile an invalid regular
!    --  expression. All subprograms taking an expression as parameter may raise
!    --  Expression_Error.
  
     Max_Paren_Count : constant := 255;
!    --  Maximum number of parenthesis in a regular expression. This is limited
!    --  by the size of a Character, as found in the byte-compiled version of
!    --  regular expressions.
  
     Max_Curly_Repeat : constant := 32767;
!    --  Maximum number of repetition for the curly operator. The digits in the
!    --  {n}, {n,} and {n,m } operators cannot be higher than this constant,
!    --  since they have to fit on two characters in the byte-compiled version of
!    --  regular expressions.
  
     Max_Program_Size : constant := 2**15 - 1;
     --  Maximum size that can be allocated for a program
*************** pragma Preelaborate (Regpat);
*** 318,327 ****
     --  and the programmer need not be concerned about it. There are two
     --  exceptions to this. First in the calls to Match, it is possible to
     --  specify a non-zero size that is known to be large enough. This can
!    --  slightly increase the efficiency by avoiding a copy. Second, in the
!    --  case of calling compile, it is possible using the procedural form
!    --  of Compile to use a single Pattern_Matcher variable for several
!    --  different expressions by setting its size sufficiently large.
  
     Auto_Size : constant := 0;
     --  Used in calls to Match to indicate that the Size should be set to
--- 318,327 ----
     --  and the programmer need not be concerned about it. There are two
     --  exceptions to this. First in the calls to Match, it is possible to
     --  specify a non-zero size that is known to be large enough. This can
!    --  slightly increase the efficiency by avoiding a copy. Second, in the case
!    --  of calling compile, it is possible using the procedural form of Compile
!    --  to use a single Pattern_Matcher variable for several different
!    --  expressions by setting its size sufficiently large.
  
     Auto_Size : constant := 0;
     --  Used in calls to Match to indicate that the Size should be set to
*************** pragma Preelaborate (Regpat);
*** 362,394 ****
     end record;
  
     type Match_Array is array (Match_Count range <>) of Match_Location;
!    --  The substring matching a given pair of parenthesis.
!    --  Index 0 is the whole substring that matched the full regular
!    --  expression.
     --
!    --  For instance, if your regular expression is something like:
!    --  "a(b*)(c+)", then Match_Array(1) will be the indexes of the
!    --  substring that matched "b*" and Match_Array(2) will be the substring
!    --  that matched "c+".
     --
!    --  The number of parenthesis groups that can be retrieved is unlimited,
!    --  and all the Match subprograms below can use a Match_Array of any size.
!    --  Indexes that do not have any matching parenthesis are set to
!    --  No_Match.
  
     No_Match : constant Match_Location := (First => 0, Last => 0);
!    --  The No_Match constant is (0, 0) to differentiate between
!    --  matching a null string at position 1, which uses (1, 0)
!    --  and no match at all.
  
     ---------------------------------
     -- Pattern_Matcher Compilation --
     ---------------------------------
  
!    --  The subprograms here are used to precompile regular expressions
!    --  for use in subsequent Match calls. Precompilation improves
!    --  efficiency if the same regular expression is to be used in
!    --  more than one Match call.
  
     type Pattern_Matcher (Size : Program_Size) is private;
     --  Type used to represent a regular expression compiled into byte code
--- 362,389 ----
     end record;
  
     type Match_Array is array (Match_Count range <>) of Match_Location;
!    --  The substring matching a given pair of parenthesis. Index 0 is the whole
!    --  substring that matched the full regular expression.
     --
!    --  For instance, if your regular expression is something like: "a(b*)(c+)",
!    --  then Match_Array(1) will be the indexes of the substring that matched
!    --  "b*" and Match_Array(2) will be the substring that matched "c+".
     --
!    --  The number of parenthesis groups that can be retrieved is unlimited, and
!    --  all the Match subprograms below can use a Match_Array of any size.
!    --  Indexes that do not have any matching parenthesis are set to No_Match.
  
     No_Match : constant Match_Location := (First => 0, Last => 0);
!    --  The No_Match constant is (0, 0) to differentiate between matching a null
!    --  string at position 1, which uses (1, 0) and no match at all.
  
     ---------------------------------
     -- Pattern_Matcher Compilation --
     ---------------------------------
  
!    --  The subprograms here are used to precompile regular expressions for use
!    --  in subsequent Match calls. Precompilation improves efficiency if the
!    --  same regular expression is to be used in more than one Match call.
  
     type Pattern_Matcher (Size : Program_Size) is private;
     --  Type used to represent a regular expression compiled into byte code
*************** pragma Preelaborate (Regpat);
*** 419,439 ****
        Flags           : Regexp_Flags := No_Flags);
     --  Compile a regular expression into into internal code
  
!    --  This procedure is significantly faster than the Compile function
!    --  since it avoids the extra step of precomputing the required size.
     --
     --  However, it requires the user to provide a Pattern_Matcher variable
     --  whose size is preset to a large enough value. One advantage of this
     --  approach, in addition to the improved efficiency, is that the same
     --  Pattern_Matcher variable can be used to hold the compiled code for
!    --  several different regular expressions by setting a size that is
!    --  large enough to accomodate all possibilities.
     --
!    --  In this version of the procedure call, the actual required code
!    --  size is returned. Also if Matcher.Size is zero on entry, then the
!    --  resulting code is not stored. A call with Matcher.Size set to Auto_Size
!    --  can thus be used to determine the space required for compiling the
!    --  given regular expression.
     --
     --  This function raises Storage_Error if Matcher is too small to hold
     --  the resulting code (i.e. Matcher.Size has too small a value).
--- 414,434 ----
        Flags           : Regexp_Flags := No_Flags);
     --  Compile a regular expression into into internal code
  
!    --  This procedure is significantly faster than the Compile function since
!    --  it avoids the extra step of precomputing the required size.
     --
     --  However, it requires the user to provide a Pattern_Matcher variable
     --  whose size is preset to a large enough value. One advantage of this
     --  approach, in addition to the improved efficiency, is that the same
     --  Pattern_Matcher variable can be used to hold the compiled code for
!    --  several different regular expressions by setting a size that is large
!    --  enough to accomodate all possibilities.
     --
!    --  In this version of the procedure call, the actual required code size is
!    --  returned. Also if Matcher.Size is zero on entry, then the resulting code
!    --  is not stored. A call with Matcher.Size set to Auto_Size can thus be
!    --  used to determine the space required for compiling the given regular
!    --  expression.
     --
     --  This function raises Storage_Error if Matcher is too small to hold
     --  the resulting code (i.e. Matcher.Size has too small a value).
*************** pragma Preelaborate (Regpat);
*** 448,455 ****
       (Matcher    : out Pattern_Matcher;
        Expression : String;
        Flags      : Regexp_Flags := No_Flags);
!    --  Same procedure as above, expect it does not return the final
!    --  program size, and Matcher.Size cannot be Auto_Size.
  
     function Paren_Count (Regexp : Pattern_Matcher) return Match_Count;
     pragma Inline (Paren_Count);
--- 443,450 ----
       (Matcher    : out Pattern_Matcher;
        Expression : String;
        Flags      : Regexp_Flags := No_Flags);
! --     --  Same procedure as above, expect it does not return the final
! --     --  program size, and Matcher.Size cannot be Auto_Size.
  
     function Paren_Count (Regexp : Pattern_Matcher) return Match_Count;
     pragma Inline (Paren_Count);
*************** pragma Preelaborate (Regpat);
*** 524,530 ****
     --    Expression_Error is raised if the given expression is not a legal
     --    regular expression.
  
- 
     procedure Match
       (Expression : String;
        Data       : String;
--- 519,524 ----
*************** pragma Preelaborate (Regpat);
*** 577,583 ****
        Data       : String;
        Data_First : Integer  := -1;
        Data_Last  : Positive := Positive'Last) return Boolean;
!    --  Return True if Data matches using the given pattern matcher.
  
     pragma Inline (Match);
     --  All except the last one below
--- 571,577 ----
        Data       : String;
        Data_First : Integer  := -1;
        Data_Last  : Positive := Positive'Last) return Boolean;
!    --  Return True if Data matches using the given pattern matcher
  
     pragma Inline (Match);
     --  All except the last one below
*************** pragma Preelaborate (Regpat);
*** 591,597 ****
     --  Match Data using the given pattern matcher and store result in Matches.
     --  The expression matches if Matches (0) /= No_Match.
     --
!    --  At most Matches'Length parenthesis are returned.
  
     -----------
     -- Debug --
--- 585,591 ----
     --  Match Data using the given pattern matcher and store result in Matches.
     --  The expression matches if Matches (0) /= No_Match.
     --
!    --  At most Matches'Length parenthesis are returned
  
     -----------
     -- Debug --
*************** private
*** 616,641 ****
  
     Program_First : constant := 1;
  
!    --  The "internal use only" fields in regexp are present to pass
!    --  info from compile to execute that permits the execute phase
!    --  to run lots faster on simple cases.  They are:
  
     --     First              character that must begin a match or ASCII.Nul
     --     Anchored           true iff match must start at beginning of line
     --     Must_Have          pointer to string that match must include or null
     --     Must_Have_Length   length of Must_Have string
  
!    --  First and Anchored permit very fast decisions on suitable
!    --  starting points for a match, cutting down the work a lot.
!    --  Must_Have permits fast rejection of lines that cannot possibly
!    --  match.
  
!    --  The Must_Have tests are costly enough that Optimize
!    --  supplies a Must_Have only if the r.e. contains something potentially
!    --  expensive (at present, the only such thing detected is * or +
!    --  at the start of the r.e., which can involve a lot of backup).
!    --  The length is supplied because the test in Execute needs it
!    --  and Optimize is computing it anyway.
  
     --  The initialization is meant to fail-safe in case the user of this
     --  package tries to use an uninitialized matcher. This takes advantage
--- 610,633 ----
  
     Program_First : constant := 1;
  
!    --  The "internal use only" fields in regexp are present to pass info from
!    --  compile to execute that permits the execute phase to run lots faster on
!    --  simple cases. They are:
  
     --     First              character that must begin a match or ASCII.Nul
     --     Anchored           true iff match must start at beginning of line
     --     Must_Have          pointer to string that match must include or null
     --     Must_Have_Length   length of Must_Have string
  
!    --  First and Anchored permit very fast decisions on suitable starting
!    --  points for a match, cutting down the work a lot. Must_Have permits fast
!    --  rejection of lines that cannot possibly match.
  
!    --  The Must_Have tests are costly enough that Optimize supplies a Must_Have
!    --  only if the r.e. contains something potentially expensive (at present,
!    --  the only such thing detected is * or at the start of the r.e., which can
!    --  involve a lot of backup). The length is supplied because the test in
!    --  Execute needs it and Optimize is computing it anyway.
  
     --  The initialization is meant to fail-safe in case the user of this
     --  package tries to use an uninitialized matcher. This takes advantage
diff -Nrcpad gcc-4.0.2/gcc/ada/g-semaph.adb gcc-4.1.0/gcc/ada/g-semaph.adb
*** gcc-4.0.2/gcc/ada/g-semaph.adb	Tue Oct 21 13:42:05 2003
--- gcc-4.1.0/gcc/ada/g-semaph.adb	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --              Copyright (C) 2003 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-semaph.ads gcc-4.1.0/gcc/ada/g-semaph.ads
*** gcc-4.0.2/gcc/ada/g-semaph.ads	Tue Oct 21 13:42:05 2003
--- gcc-4.1.0/gcc/ada/g-semaph.ads	Mon Sep  5 08:07:00 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2003 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                     Copyright (C) 2003-2005, AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** with System;
*** 40,46 ****
  package GNAT.Semaphores is
  
     Default_Ceiling : constant System.Priority := System.Default_Priority;
!    --  A convenient value for the priority discriminants that follow.
  
     ------------------------
     -- Counting_Semaphore --
--- 40,46 ----
  package GNAT.Semaphores is
  
     Default_Ceiling : constant System.Priority := System.Default_Priority;
!    --  A convenient value for the priority discriminants that follow
  
     ------------------------
     -- Counting_Semaphore --
*************** package GNAT.Semaphores is
*** 52,70 ****
        --  value of this counter is set by clients via the discriminant.
  
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object.
!       --  If the Real-Time Systems Annex is not in use this value
!       --  is not important.
     is
        pragma Priority (Ceiling);
  
        entry Seize;
!       --  Blocks caller until/unless the semaphore's internal counter
!       --  is greater than zero.
!       --  Decrements the semaphore's internal counter when executed.
  
        procedure Release;
!       --  Increments the semaphore's internal counter.
  
     private
        Count : Natural := Initial_Value;
--- 52,69 ----
        --  value of this counter is set by clients via the discriminant.
  
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object. If the
!       --  Real-Time Systems Annex is not in use this value is not important.
     is
        pragma Priority (Ceiling);
  
        entry Seize;
!       --  Blocks caller until/unless the semaphore's internal counter is
!       --  greater than zero. Decrements the semaphore's internal counter when
!       --  executed.
  
        procedure Release;
!       --  Increments the semaphore's internal counter
  
     private
        Count : Natural := Initial_Value;
*************** package GNAT.Semaphores is
*** 75,97 ****
     ----------------------
  
     protected type Binary_Semaphore
!       (Initially_Available : Boolean;
!       --  Binary semaphores are either available or not; there is no
!       --  internal count involved.  The discriminant value determines
!       --  whether the individual object is initially available.
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object.
!       --  If the Real-Time Systems Annex is not in use
!       --  this value is not important.
     is
        pragma Priority (Ceiling);
  
        entry Seize;
!       --  Blocks the caller unless/until semaphore is available.
!       --  After execution the semaphore is no longer available.
  
        procedure Release;
!       --  Makes the semaphore available.
  
     private
        Available : Boolean := Initially_Available;
--- 74,96 ----
     ----------------------
  
     protected type Binary_Semaphore
!      (Initially_Available : Boolean;
!       --  Binary semaphores are either available or not; there is no internal
!       --  count involved. The discriminant value determines whether the
!       --  individual object is initially available.
! 
        Ceiling : System.Priority)
!       --  Users must specify the ceiling priority for the object. If the
!       --  Real-Time Systems Annex is not in use this value is not important.
     is
        pragma Priority (Ceiling);
  
        entry Seize;
!       --  Blocks the caller unless/until semaphore is available. After
!       --  execution the semaphore is no longer available.
  
        procedure Release;
!       --  Makes the semaphore available
  
     private
        Available : Boolean := Initially_Available;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-sestin.ads gcc-4.1.0/gcc/ada/g-sestin.ads
*** gcc-4.0.2/gcc/ada/g-sestin.ads	Mon Jan  5 15:20:42 2004
--- gcc-4.1.0/gcc/ada/g-sestin.ads	Fri Jul  1 01:29:17 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --            G N A T . S E C O N D A R Y _ S T A C K _ I N F O             --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --              Copyright (C) 2004 Ada Core Technologies, Inc.              --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --            G N A T . S E C O N D A R Y _ S T A C K _ I N F O             --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --                      Copyright (C) 2004-2005 AdaCore                     --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-signal.adb gcc-4.1.0/gcc/ada/g-signal.adb
*** gcc-4.0.2/gcc/ada/g-signal.adb	Thu Oct 30 11:50:12 2003
--- gcc-4.1.0/gcc/ada/g-signal.adb	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                         G N A T . S I G N A L S                          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --             Copyright (C) 2003 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                         G N A T . S I G N A L S                          --
  --                                                                          --
  --                                 B o d y                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package body GNAT.Signals is
*** 50,59 ****
     -- Is_Blocked --
     ----------------
  
!    function Is_Blocked
!      (Signal : Ada.Interrupts.Interrupt_ID)
!       return Boolean
!    is
     begin
        return SI.Is_Blocked (SI.Interrupt_ID (Signal));
     end Is_Blocked;
--- 50,56 ----
     -- Is_Blocked --
     ----------------
  
!    function Is_Blocked (Signal : Ada.Interrupts.Interrupt_ID) return Boolean is
     begin
        return SI.Is_Blocked (SI.Interrupt_ID (Signal));
     end Is_Blocked;
*************** package body GNAT.Signals is
*** 68,71 ****
     end Unblock_Signal;
  
  end GNAT.Signals;
- 
--- 65,67 ----
diff -Nrcpad gcc-4.0.2/gcc/ada/g-signal.ads gcc-4.1.0/gcc/ada/g-signal.ads
*** gcc-4.0.2/gcc/ada/g-signal.ads	Thu Oct 30 11:50:12 2003
--- gcc-4.1.0/gcc/ada/g-signal.ads	Tue Nov 15 14:06:45 2005
***************
*** 1,12 ****
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUNTIME COMPONENTS                          --
  --                                                                          --
  --                         G N A T . S I G N A L S                          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --             Copyright (C) 2003 Free Software Foundation, Inc.            --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 1,12 ----
  ------------------------------------------------------------------------------
  --                                                                          --
! --                         GNAT RUN-TIME COMPONENTS                         --
  --                                                                          --
  --                         G N A T . S I G N A L S                          --
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2003-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 31,38 ****
  --                                                                          --
  ------------------------------------------------------------------------------
  
- with Ada.Interrupts;
- 
  --  This package provides operations for querying and setting the blocked
  --  status of signals.
  
--- 31,36 ----
*************** with Ada.Interrupts;
*** 40,45 ****
--- 38,45 ----
  --  corresponds to software signals on the target, and where System.Interrupts
  --  provides the ability to block and unblock signals.
  
+ with Ada.Interrupts;
+ 
  package GNAT.Signals is
  
     procedure Block_Signal (Signal : Ada.Interrupts.Interrupt_ID);
*************** package GNAT.Signals is
*** 48,55 ****
     procedure Unblock_Signal (Signal : Ada.Interrupts.Interrupt_ID);
     --  Unblock "Signal" at the process level
  
!    function Is_Blocked (Signal : Ada.Interrupts.Interrupt_ID)
!                        return Boolean;
     --  "Signal" blocked at the process level?
  
  end GNAT.Signals;
--- 48,54 ----
     procedure Unblock_Signal (Signal : Ada.Interrupts.Interrupt_ID);
     --  Unblock "Signal" at the process level
  
!    function Is_Blocked (Signal : Ada.Interrupts.Interrupt_ID) return Boolean;
     --  "Signal" blocked at the process level?
  
  end GNAT.Signals;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-aix.ads gcc-4.1.0/gcc/ada/g-soccon-aix.ads
*** gcc-4.0.2/gcc/ada/g-soccon-aix.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-aix.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for AIX
! --  Do not edit this file by hand, instead edit and re-run gen-soccon.c
  
  package GNAT.Sockets.Constants is
  
--- 35,43 ----
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for powerpc-ibm-aix5.3.0.0
! --  This file is generated automatically, do not modify it by hand! Instead,
! --  make changes to gen-soccon.c and re-run it on each target.
  
  package GNAT.Sockets.Constants is
  
*************** package GNAT.Sockets.Constants is
*** 44,161 ****
     -- Families --
     --------------
  
!    AF_INET            : constant :=            2; --  IPv4 address family
!    AF_INET6           : constant :=           24; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=            1; --  Stream socket
!    SOCK_DGRAM         : constant :=            2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=           13; --  Permission denied
!    EADDRINUSE         : constant :=           67; --  Address already in use
!    EADDRNOTAVAIL      : constant :=           68; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=           66; --  Addr family not supported
!    EALREADY           : constant :=           56; --  Operation in progress
!    EBADF              : constant :=            9; --  Bad file descriptor
!    ECONNABORTED       : constant :=           72; --  Connection aborted
!    ECONNREFUSED       : constant :=           79; --  Connection refused
!    ECONNRESET         : constant :=           73; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=           58; --  Destination addr required
!    EFAULT             : constant :=           14; --  Bad address
!    EHOSTDOWN          : constant :=           80; --  Host is down
!    EHOSTUNREACH       : constant :=           81; --  No route to host
!    EINPROGRESS        : constant :=           55; --  Operation now in progress
!    EINTR              : constant :=            4; --  Interrupted system call
!    EINVAL             : constant :=           22; --  Invalid argument
!    EIO                : constant :=            5; --  Input output error
!    EISCONN            : constant :=           75; --  Socket already connected
!    ELOOP              : constant :=           85; --  Too many symbolic lynks
!    EMFILE             : constant :=           24; --  Too many open files
!    EMSGSIZE           : constant :=           59; --  Message too long
!    ENAMETOOLONG       : constant :=           86; --  Name too long
!    ENETDOWN           : constant :=           69; --  Network is down
!    ENETRESET          : constant :=           71; --  Disconn. on network reset
!    ENETUNREACH        : constant :=           70; --  Network is unreachable
!    ENOBUFS            : constant :=           74; --  No buffer space available
!    ENOPROTOOPT        : constant :=           61; --  Protocol not available
!    ENOTCONN           : constant :=           76; --  Socket not connected
!    ENOTSOCK           : constant :=           57; --  Operation on non socket
!    EOPNOTSUPP         : constant :=           64; --  Operation not supported
!    EPFNOSUPPORT       : constant :=           65; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=           62; --  Unknown protocol
!    EPROTOTYPE         : constant :=           60; --  Unknown protocol type
!    ESHUTDOWN          : constant :=           77; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=           63; --  Socket type not supported
!    ETIMEDOUT          : constant :=           78; --  Connection timed out
!    ETOOMANYREFS       : constant :=          115; --  Too many references
!    EWOULDBLOCK        : constant :=           11; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
!    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
!    NO_DATA            : constant :=            4; --  No data record for name
!    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=   1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=            0; --  No more recv
!    SHUT_WR            : constant :=            1; --  No more send
!    SHUT_RDWR          : constant :=            2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=        65535; --  Options for socket level
!    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=           17; --  UDP
!    IPPROTO_TCP        : constant :=            6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=            1; --  Process out-of-band data
!    MSG_PEEK           : constant :=            2; --  Peek at incoming data
!    MSG_EOR            : constant :=            8; --  Send end of record
!    MSG_WAITALL        : constant :=           64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=           -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=            0;
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
!    SO_SNDBUF          : constant :=         4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=         4098; --  Set/get recv buffer size
!    SO_REUSEADDR       : constant :=            4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=            8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=          128; --  Defer close to flush data
!    SO_ERROR           : constant :=         4103; --  Get/clear error status
!    SO_BROADCAST       : constant :=           32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=           12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=           13; --  Leave a multicast group
!    IP_MULTICAST_TTL   : constant :=           10; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=           11; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 45,181 ----
     -- Families --
     --------------
  
!    AF_INET            : constant :=           2; --  IPv4 address family
!    AF_INET6           : constant :=          24; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=           1; --  Stream socket
!    SOCK_DGRAM         : constant :=           2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=          13; --  Permission denied
!    EADDRINUSE         : constant :=          67; --  Address already in use
!    EADDRNOTAVAIL      : constant :=          68; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=          66; --  Addr family not supported
!    EALREADY           : constant :=          56; --  Operation in progress
!    EBADF              : constant :=           9; --  Bad file descriptor
!    ECONNABORTED       : constant :=          72; --  Connection aborted
!    ECONNREFUSED       : constant :=          79; --  Connection refused
!    ECONNRESET         : constant :=          73; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=          58; --  Destination addr required
!    EFAULT             : constant :=          14; --  Bad address
!    EHOSTDOWN          : constant :=          80; --  Host is down
!    EHOSTUNREACH       : constant :=          81; --  No route to host
!    EINPROGRESS        : constant :=          55; --  Operation now in progress
!    EINTR              : constant :=           4; --  Interrupted system call
!    EINVAL             : constant :=          22; --  Invalid argument
!    EIO                : constant :=           5; --  Input output error
!    EISCONN            : constant :=          75; --  Socket already connected
!    ELOOP              : constant :=          85; --  Too many symbolic lynks
!    EMFILE             : constant :=          24; --  Too many open files
!    EMSGSIZE           : constant :=          59; --  Message too long
!    ENAMETOOLONG       : constant :=          86; --  Name too long
!    ENETDOWN           : constant :=          69; --  Network is down
!    ENETRESET          : constant :=          71; --  Disconn. on network reset
!    ENETUNREACH        : constant :=          70; --  Network is unreachable
!    ENOBUFS            : constant :=          74; --  No buffer space available
!    ENOPROTOOPT        : constant :=          61; --  Protocol not available
!    ENOTCONN           : constant :=          76; --  Socket not connected
!    ENOTSOCK           : constant :=          57; --  Operation on non socket
!    EOPNOTSUPP         : constant :=          64; --  Operation not supported
!    EPFNOSUPPORT       : constant :=          65; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=          62; --  Unknown protocol
!    EPROTOTYPE         : constant :=          60; --  Unknown protocol type
!    ESHUTDOWN          : constant :=          77; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=          63; --  Socket type not supported
!    ETIMEDOUT          : constant :=          78; --  Connection timed out
!    ETOOMANYREFS       : constant :=         115; --  Too many references
!    EWOULDBLOCK        : constant :=          11; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=           1; --  Unknown host
!    TRY_AGAIN          : constant :=           2; --  Host name lookup failure
!    NO_DATA            : constant :=           4; --  No data record for name
!    NO_RECOVERY        : constant :=           3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=  1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=           0; --  No more recv
!    SHUT_WR            : constant :=           1; --  No more send
!    SHUT_RDWR          : constant :=           2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=       65535; --  Options for socket level
!    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=          17; --  UDP
!    IPPROTO_TCP        : constant :=           6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=           1; --  Process out-of-band data
!    MSG_PEEK           : constant :=           2; --  Peek at incoming data
!    MSG_EOR            : constant :=           8; --  Send end of record
!    MSG_WAITALL        : constant :=          64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=           0;
!    --  Flags set on all send(2) calls
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
!    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=         128; --  Defer close to flush data
!    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=           9; --  Set/get mcast interface
!    IP_MULTICAST_TTL   : constant :=          10; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=          11; --  Set/get mcast loopback
!    IP_ADD_MEMBERSHIP  : constant :=          12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=          13; --  Leave a multicast group
! 
!    -------------------
!    -- System limits --
!    -------------------
! 
!    IOV_MAX            : constant :=          16; --  Maximum writev iovcnt
! 
!    ----------------------
!    -- Type definitions --
!    ----------------------
! 
!    --  Sizes (in bytes) of the components of struct timeval
! 
!    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
!    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-darwin.ads gcc-4.1.0/gcc/ada/g-soccon-darwin.ads
*** gcc-4.0.2/gcc/ada/g-soccon-darwin.ads	Mon Jan  3 15:34:18 2005
--- gcc-4.1.0/gcc/ada/g-soccon-darwin.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
*************** package GNAT.Sockets.Constants is
*** 148,163 ****
     --------------------
  
     TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
-    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
-    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
     SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
     SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
     SO_LINGER          : constant :=         128; --  Defer close to flush data
-    SO_ERROR           : constant :=        4103; --  Get/clear error status
     SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=          12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=          13; --  Leave a multicast group
     IP_MULTICAST_TTL   : constant :=          10; --  Set/get multicast TTL
     IP_MULTICAST_LOOP  : constant :=          11; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 148,181 ----
     --------------------
  
     TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
     SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
     SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
     SO_LINGER          : constant :=         128; --  Defer close to flush data
     SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=           9; --  Set/get mcast interface
     IP_MULTICAST_TTL   : constant :=          10; --  Set/get multicast TTL
     IP_MULTICAST_LOOP  : constant :=          11; --  Set/get mcast loopback
+    IP_ADD_MEMBERSHIP  : constant :=          12; --  Join a multicast group
+    IP_DROP_MEMBERSHIP : constant :=          13; --  Leave a multicast group
+ 
+    -------------------
+    -- System limits --
+    -------------------
+ 
+    IOV_MAX            : constant :=  2147483647; --  Maximum writev iovcnt
+ 
+    ----------------------
+    -- Type definitions --
+    ----------------------
+ 
+    --  Sizes (in bytes) of the components of struct timeval
+ 
+    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
+    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-freebsd.ads gcc-4.1.0/gcc/ada/g-soccon-freebsd.ads
*** gcc-4.0.2/gcc/ada/g-soccon-freebsd.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-freebsd.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for i386 FreeBSD
! --  Do not edit this file by hand, instead edit and re-run gen-soccon.c
  
  package GNAT.Sockets.Constants is
  
--- 35,43 ----
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for i386-unknown-freebsd5.2.1
! --  This file is generated automatically, do not modify it by hand! Instead,
! --  make changes to gen-soccon.c and re-run it on each target.
  
  package GNAT.Sockets.Constants is
  
*************** package GNAT.Sockets.Constants is
*** 44,161 ****
     -- Families --
     --------------
  
!    AF_INET            : constant :=            2; --  IPv4 address family
!    AF_INET6           : constant :=           28; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=            1; --  Stream socket
!    SOCK_DGRAM         : constant :=            2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=           13; --  Permission denied
!    EADDRINUSE         : constant :=           48; --  Address already in use
!    EADDRNOTAVAIL      : constant :=           49; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=           47; --  Addr family not supported
!    EALREADY           : constant :=           37; --  Operation in progress
!    EBADF              : constant :=            9; --  Bad file descriptor
!    ECONNABORTED       : constant :=           53; --  Connection aborted
!    ECONNREFUSED       : constant :=           61; --  Connection refused
!    ECONNRESET         : constant :=           54; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=           39; --  Destination addr required
!    EFAULT             : constant :=           14; --  Bad address
!    EHOSTDOWN          : constant :=           64; --  Host is down
!    EHOSTUNREACH       : constant :=           65; --  No route to host
!    EINPROGRESS        : constant :=           36; --  Operation now in progress
!    EINTR              : constant :=            4; --  Interrupted system call
!    EINVAL             : constant :=           22; --  Invalid argument
!    EIO                : constant :=            5; --  Input output error
!    EISCONN            : constant :=           56; --  Socket already connected
!    ELOOP              : constant :=           62; --  Too many symbolic lynks
!    EMFILE             : constant :=           24; --  Too many open files
!    EMSGSIZE           : constant :=           40; --  Message too long
!    ENAMETOOLONG       : constant :=           63; --  Name too long
!    ENETDOWN           : constant :=           50; --  Network is down
!    ENETRESET          : constant :=           52; --  Disconn. on network reset
!    ENETUNREACH        : constant :=           51; --  Network is unreachable
!    ENOBUFS            : constant :=           55; --  No buffer space available
!    ENOPROTOOPT        : constant :=           42; --  Protocol not available
!    ENOTCONN           : constant :=           57; --  Socket not connected
!    ENOTSOCK           : constant :=           38; --  Operation on non socket
!    EOPNOTSUPP         : constant :=           45; --  Operation not supported
!    EPFNOSUPPORT       : constant :=           46; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=           43; --  Unknown protocol
!    EPROTOTYPE         : constant :=           41; --  Unknown protocol type
!    ESHUTDOWN          : constant :=           58; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=           44; --  Socket type not supported
!    ETIMEDOUT          : constant :=           60; --  Connection timed out
!    ETOOMANYREFS       : constant :=           59; --  Too many references
!    EWOULDBLOCK        : constant :=           35; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
!    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
!    NO_DATA            : constant :=            4; --  No data record for name
!    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=   1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=            0; --  No more recv
!    SHUT_WR            : constant :=            1; --  No more send
!    SHUT_RDWR          : constant :=            2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=        65535; --  Options for socket level
!    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=           17; --  UDP
!    IPPROTO_TCP        : constant :=            6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=            1; --  Process out-of-band data
!    MSG_PEEK           : constant :=            2; --  Peek at incoming data
!    MSG_EOR            : constant :=            8; --  Send end of record
!    MSG_WAITALL        : constant :=           64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=           -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=            0;
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
!    SO_SNDBUF          : constant :=         4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=         4098; --  Set/get recv buffer size
!    SO_REUSEADDR       : constant :=            4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=            8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=          128; --  Defer close to flush data
!    SO_ERROR           : constant :=         4103; --  Get/clear error status
!    SO_BROADCAST       : constant :=           32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=           12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=           13; --  Leave a multicast group
!    IP_MULTICAST_TTL   : constant :=           10; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=           11; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 45,181 ----
     -- Families --
     --------------
  
!    AF_INET            : constant :=           2; --  IPv4 address family
!    AF_INET6           : constant :=          28; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=           1; --  Stream socket
!    SOCK_DGRAM         : constant :=           2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=          13; --  Permission denied
!    EADDRINUSE         : constant :=          48; --  Address already in use
!    EADDRNOTAVAIL      : constant :=          49; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=          47; --  Addr family not supported
!    EALREADY           : constant :=          37; --  Operation in progress
!    EBADF              : constant :=           9; --  Bad file descriptor
!    ECONNABORTED       : constant :=          53; --  Connection aborted
!    ECONNREFUSED       : constant :=          61; --  Connection refused
!    ECONNRESET         : constant :=          54; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=          39; --  Destination addr required
!    EFAULT             : constant :=          14; --  Bad address
!    EHOSTDOWN          : constant :=          64; --  Host is down
!    EHOSTUNREACH       : constant :=          65; --  No route to host
!    EINPROGRESS        : constant :=          36; --  Operation now in progress
!    EINTR              : constant :=           4; --  Interrupted system call
!    EINVAL             : constant :=          22; --  Invalid argument
!    EIO                : constant :=           5; --  Input output error
!    EISCONN            : constant :=          56; --  Socket already connected
!    ELOOP              : constant :=          62; --  Too many symbolic lynks
!    EMFILE             : constant :=          24; --  Too many open files
!    EMSGSIZE           : constant :=          40; --  Message too long
!    ENAMETOOLONG       : constant :=          63; --  Name too long
!    ENETDOWN           : constant :=          50; --  Network is down
!    ENETRESET          : constant :=          52; --  Disconn. on network reset
!    ENETUNREACH        : constant :=          51; --  Network is unreachable
!    ENOBUFS            : constant :=          55; --  No buffer space available
!    ENOPROTOOPT        : constant :=          42; --  Protocol not available
!    ENOTCONN           : constant :=          57; --  Socket not connected
!    ENOTSOCK           : constant :=          38; --  Operation on non socket
!    EOPNOTSUPP         : constant :=          45; --  Operation not supported
!    EPFNOSUPPORT       : constant :=          46; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=          43; --  Unknown protocol
!    EPROTOTYPE         : constant :=          41; --  Unknown protocol type
!    ESHUTDOWN          : constant :=          58; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=          44; --  Socket type not supported
!    ETIMEDOUT          : constant :=          60; --  Connection timed out
!    ETOOMANYREFS       : constant :=          59; --  Too many references
!    EWOULDBLOCK        : constant :=          35; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=           1; --  Unknown host
!    TRY_AGAIN          : constant :=           2; --  Host name lookup failure
!    NO_DATA            : constant :=           4; --  No data record for name
!    NO_RECOVERY        : constant :=           3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=  1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=           0; --  No more recv
!    SHUT_WR            : constant :=           1; --  No more send
!    SHUT_RDWR          : constant :=           2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=       65535; --  Options for socket level
!    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=          17; --  UDP
!    IPPROTO_TCP        : constant :=           6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=           1; --  Process out-of-band data
!    MSG_PEEK           : constant :=           2; --  Peek at incoming data
!    MSG_EOR            : constant :=           8; --  Send end of record
!    MSG_WAITALL        : constant :=          64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=           0;
!    --  Flags set on all send(2) calls
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
!    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=         128; --  Defer close to flush data
!    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=           9; --  Set/get mcast interface
!    IP_MULTICAST_TTL   : constant :=          10; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=          11; --  Set/get mcast loopback
!    IP_ADD_MEMBERSHIP  : constant :=          12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=          13; --  Leave a multicast group
! 
!    -------------------
!    -- System limits --
!    -------------------
! 
!    IOV_MAX            : constant :=        1024; --  Maximum writev iovcnt
! 
!    ----------------------
!    -- Type definitions --
!    ----------------------
! 
!    --  Sizes (in bytes) of the components of struct timeval
! 
!    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
!    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-hpux-ia64.ads gcc-4.1.0/gcc/ada/g-soccon-hpux-ia64.ads
*** gcc-4.0.2/gcc/ada/g-soccon-hpux-ia64.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/g-soccon-hpux-ia64.ads	Tue Nov 15 13:50:37 2005
***************
*** 0 ****
--- 1,181 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --               G N A T . S O C K E T S . C O N S T A N T S                --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  This package provides target dependent definitions of constant for use
+ --  by the GNAT.Sockets package (g-socket.ads). This package should not be
+ --  directly with'ed by an applications program.
+ 
+ --  This is the version for ia64-hp-hpux11.23
+ --  This file is generated automatically, do not modify it by hand! Instead,
+ --  make changes to gen-soccon.c and re-run it on each target.
+ 
+ package GNAT.Sockets.Constants is
+ 
+    --------------
+    -- Families --
+    --------------
+ 
+    AF_INET            : constant :=           2; --  IPv4 address family
+    AF_INET6           : constant :=          22; --  IPv6 address family
+ 
+    -----------
+    -- Modes --
+    -----------
+ 
+    SOCK_STREAM        : constant :=           1; --  Stream socket
+    SOCK_DGRAM         : constant :=           2; --  Datagram socket
+ 
+    -------------------
+    -- Socket errors --
+    -------------------
+ 
+    EACCES             : constant :=          13; --  Permission denied
+    EADDRINUSE         : constant :=         226; --  Address already in use
+    EADDRNOTAVAIL      : constant :=         227; --  Cannot assign address
+    EAFNOSUPPORT       : constant :=         225; --  Addr family not supported
+    EALREADY           : constant :=         244; --  Operation in progress
+    EBADF              : constant :=           9; --  Bad file descriptor
+    ECONNABORTED       : constant :=         231; --  Connection aborted
+    ECONNREFUSED       : constant :=         239; --  Connection refused
+    ECONNRESET         : constant :=         232; --  Connection reset by peer
+    EDESTADDRREQ       : constant :=         217; --  Destination addr required
+    EFAULT             : constant :=          14; --  Bad address
+    EHOSTDOWN          : constant :=         241; --  Host is down
+    EHOSTUNREACH       : constant :=         242; --  No route to host
+    EINPROGRESS        : constant :=         245; --  Operation now in progress
+    EINTR              : constant :=           4; --  Interrupted system call
+    EINVAL             : constant :=          22; --  Invalid argument
+    EIO                : constant :=           5; --  Input output error
+    EISCONN            : constant :=         234; --  Socket already connected
+    ELOOP              : constant :=         249; --  Too many symbolic lynks
+    EMFILE             : constant :=          24; --  Too many open files
+    EMSGSIZE           : constant :=         218; --  Message too long
+    ENAMETOOLONG       : constant :=         248; --  Name too long
+    ENETDOWN           : constant :=         228; --  Network is down
+    ENETRESET          : constant :=         230; --  Disconn. on network reset
+    ENETUNREACH        : constant :=         229; --  Network is unreachable
+    ENOBUFS            : constant :=         233; --  No buffer space available
+    ENOPROTOOPT        : constant :=         220; --  Protocol not available
+    ENOTCONN           : constant :=         235; --  Socket not connected
+    ENOTSOCK           : constant :=         216; --  Operation on non socket
+    EOPNOTSUPP         : constant :=         223; --  Operation not supported
+    EPFNOSUPPORT       : constant :=         224; --  Unknown protocol family
+    EPROTONOSUPPORT    : constant :=         221; --  Unknown protocol
+    EPROTOTYPE         : constant :=         219; --  Unknown protocol type
+    ESHUTDOWN          : constant :=         236; --  Cannot send once shutdown
+    ESOCKTNOSUPPORT    : constant :=         222; --  Socket type not supported
+    ETIMEDOUT          : constant :=         238; --  Connection timed out
+    ETOOMANYREFS       : constant :=         237; --  Too many references
+    EWOULDBLOCK        : constant :=         246; --  Operation would block
+ 
+    -----------------
+    -- Host errors --
+    -----------------
+ 
+    HOST_NOT_FOUND     : constant :=           1; --  Unknown host
+    TRY_AGAIN          : constant :=           2; --  Host name lookup failure
+    NO_DATA            : constant :=           4; --  No data record for name
+    NO_RECOVERY        : constant :=           3; --  Non recoverable errors
+ 
+    -------------------
+    -- Control flags --
+    -------------------
+ 
+    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
+    FIONREAD           : constant :=  1074030207; --  How many bytes to read
+ 
+    --------------------
+    -- Shutdown modes --
+    --------------------
+ 
+    SHUT_RD            : constant :=           0; --  No more recv
+    SHUT_WR            : constant :=           1; --  No more send
+    SHUT_RDWR          : constant :=           2; --  No more recv/send
+ 
+    ---------------------
+    -- Protocol levels --
+    ---------------------
+ 
+    SOL_SOCKET         : constant :=       65535; --  Options for socket level
+    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
+    IPPROTO_UDP        : constant :=          17; --  UDP
+    IPPROTO_TCP        : constant :=           6; --  TCP
+ 
+    -------------------
+    -- Request flags --
+    -------------------
+ 
+    MSG_OOB            : constant :=           1; --  Process out-of-band data
+    MSG_PEEK           : constant :=           2; --  Peek at incoming data
+    MSG_EOR            : constant :=           8; --  Send end of record
+    MSG_WAITALL        : constant :=          64; --  Wait for full reception
+    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
+    MSG_Forced_Flags   : constant :=           0;
+    --  Flags set on all send(2) calls
+ 
+    --------------------
+    -- Socket options --
+    --------------------
+ 
+    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
+    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
+    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
+    SO_LINGER          : constant :=         128; --  Defer close to flush data
+    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
+    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
+    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
+    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
+    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
+    SO_ERROR           : constant :=        4103; --  Get/clear error status
+    IP_MULTICAST_IF    : constant :=           2; --  Set/get mcast interface
+    IP_MULTICAST_TTL   : constant :=           3; --  Set/get multicast TTL
+    IP_MULTICAST_LOOP  : constant :=           4; --  Set/get mcast loopback
+    IP_ADD_MEMBERSHIP  : constant :=           5; --  Join a multicast group
+    IP_DROP_MEMBERSHIP : constant :=           6; --  Leave a multicast group
+ 
+    -------------------
+    -- System limits --
+    -------------------
+ 
+    IOV_MAX            : constant :=          16; --  Maximum writev iovcnt
+ 
+    ----------------------
+    -- Type definitions --
+    ----------------------
+ 
+    --  Sizes (in bytes) of the components of struct timeval
+ 
+    SIZEOF_tv_sec      : constant :=           8; --  tv_sec
+    SIZEOF_tv_usec     : constant :=           8; --  tv_usec
+ 
+ end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-hpux.ads gcc-4.1.0/gcc/ada/g-soccon-hpux.ads
*** gcc-4.0.2/gcc/ada/g-soccon-hpux.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-hpux.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for HP/UX
! --  Do not edit this file by hand, instead edit and re-run gen-soccon.c
  
  package GNAT.Sockets.Constants is
  
--- 35,43 ----
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for hppa1.1-hp-hpux11.00
! --  This file is generated automatically, do not modify it by hand! Instead,
! --  make changes to gen-soccon.c and re-run it on each target.
  
  package GNAT.Sockets.Constants is
  
*************** package GNAT.Sockets.Constants is
*** 44,161 ****
     -- Families --
     --------------
  
!    AF_INET            : constant :=            2; --  IPv4 address family
!    AF_INET6           : constant :=           26; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=            1; --  Stream socket
!    SOCK_DGRAM         : constant :=            2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=           13; --  Permission denied
!    EADDRINUSE         : constant :=          226; --  Address already in use
!    EADDRNOTAVAIL      : constant :=          227; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=          225; --  Addr family not supported
!    EALREADY           : constant :=          244; --  Operation in progress
!    EBADF              : constant :=            9; --  Bad file descriptor
!    ECONNABORTED       : constant :=          231; --  Connection aborted
!    ECONNREFUSED       : constant :=          239; --  Connection refused
!    ECONNRESET         : constant :=          232; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=          217; --  Destination addr required
!    EFAULT             : constant :=           14; --  Bad address
!    EHOSTDOWN          : constant :=          241; --  Host is down
!    EHOSTUNREACH       : constant :=          242; --  No route to host
!    EINPROGRESS        : constant :=          245; --  Operation now in progress
!    EINTR              : constant :=            4; --  Interrupted system call
!    EINVAL             : constant :=           22; --  Invalid argument
!    EIO                : constant :=            5; --  Input output error
!    EISCONN            : constant :=          234; --  Socket already connected
!    ELOOP              : constant :=          249; --  Too many symbolic lynks
!    EMFILE             : constant :=           24; --  Too many open files
!    EMSGSIZE           : constant :=          218; --  Message too long
!    ENAMETOOLONG       : constant :=          248; --  Name too long
!    ENETDOWN           : constant :=          228; --  Network is down
!    ENETRESET          : constant :=          230; --  Disconn. on network reset
!    ENETUNREACH        : constant :=          229; --  Network is unreachable
!    ENOBUFS            : constant :=          233; --  No buffer space available
!    ENOPROTOOPT        : constant :=          220; --  Protocol not available
!    ENOTCONN           : constant :=          235; --  Socket not connected
!    ENOTSOCK           : constant :=          216; --  Operation on non socket
!    EOPNOTSUPP         : constant :=          223; --  Operation not supported
!    EPFNOSUPPORT       : constant :=          224; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=          221; --  Unknown protocol
!    EPROTOTYPE         : constant :=          219; --  Unknown protocol type
!    ESHUTDOWN          : constant :=          236; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=          222; --  Socket type not supported
!    ETIMEDOUT          : constant :=          238; --  Connection timed out
!    ETOOMANYREFS       : constant :=          237; --  Too many references
!    EWOULDBLOCK        : constant :=          246; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
!    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
!    NO_DATA            : constant :=            4; --  No data record for name
!    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=   1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=            0; --  No more recv
!    SHUT_WR            : constant :=            1; --  No more send
!    SHUT_RDWR          : constant :=            2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=        65535; --  Options for socket level
!    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=           17; --  UDP
!    IPPROTO_TCP        : constant :=            6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=            1; --  Process out-of-band data
!    MSG_PEEK           : constant :=            2; --  Peek at incoming data
!    MSG_EOR            : constant :=            8; --  Send end of record
!    MSG_WAITALL        : constant :=           64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=           -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=            0;
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
!    SO_SNDBUF          : constant :=         4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=         4098; --  Set/get recv buffer size
!    SO_REUSEADDR       : constant :=            4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=            8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=          128; --  Defer close to flush data
!    SO_ERROR           : constant :=         4103; --  Get/clear error status
!    SO_BROADCAST       : constant :=           32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=            5; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=            6; --  Leave a multicast group
!    IP_MULTICAST_TTL   : constant :=            3; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=            4; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 45,181 ----
     -- Families --
     --------------
  
!    AF_INET            : constant :=           2; --  IPv4 address family
!    AF_INET6           : constant :=          -1; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=           1; --  Stream socket
!    SOCK_DGRAM         : constant :=           2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=          13; --  Permission denied
!    EADDRINUSE         : constant :=         226; --  Address already in use
!    EADDRNOTAVAIL      : constant :=         227; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=         225; --  Addr family not supported
!    EALREADY           : constant :=         244; --  Operation in progress
!    EBADF              : constant :=           9; --  Bad file descriptor
!    ECONNABORTED       : constant :=         231; --  Connection aborted
!    ECONNREFUSED       : constant :=         239; --  Connection refused
!    ECONNRESET         : constant :=         232; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=         217; --  Destination addr required
!    EFAULT             : constant :=          14; --  Bad address
!    EHOSTDOWN          : constant :=         241; --  Host is down
!    EHOSTUNREACH       : constant :=         242; --  No route to host
!    EINPROGRESS        : constant :=         245; --  Operation now in progress
!    EINTR              : constant :=           4; --  Interrupted system call
!    EINVAL             : constant :=          22; --  Invalid argument
!    EIO                : constant :=           5; --  Input output error
!    EISCONN            : constant :=         234; --  Socket already connected
!    ELOOP              : constant :=         249; --  Too many symbolic lynks
!    EMFILE             : constant :=          24; --  Too many open files
!    EMSGSIZE           : constant :=         218; --  Message too long
!    ENAMETOOLONG       : constant :=         248; --  Name too long
!    ENETDOWN           : constant :=         228; --  Network is down
!    ENETRESET          : constant :=         230; --  Disconn. on network reset
!    ENETUNREACH        : constant :=         229; --  Network is unreachable
!    ENOBUFS            : constant :=         233; --  No buffer space available
!    ENOPROTOOPT        : constant :=         220; --  Protocol not available
!    ENOTCONN           : constant :=         235; --  Socket not connected
!    ENOTSOCK           : constant :=         216; --  Operation on non socket
!    EOPNOTSUPP         : constant :=         223; --  Operation not supported
!    EPFNOSUPPORT       : constant :=         224; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=         221; --  Unknown protocol
!    EPROTOTYPE         : constant :=         219; --  Unknown protocol type
!    ESHUTDOWN          : constant :=         236; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=         222; --  Socket type not supported
!    ETIMEDOUT          : constant :=         238; --  Connection timed out
!    ETOOMANYREFS       : constant :=         237; --  Too many references
!    EWOULDBLOCK        : constant :=         246; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=           1; --  Unknown host
!    TRY_AGAIN          : constant :=           2; --  Host name lookup failure
!    NO_DATA            : constant :=           4; --  No data record for name
!    NO_RECOVERY        : constant :=           3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=  1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=           0; --  No more recv
!    SHUT_WR            : constant :=           1; --  No more send
!    SHUT_RDWR          : constant :=           2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=       65535; --  Options for socket level
!    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=          17; --  UDP
!    IPPROTO_TCP        : constant :=           6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=           1; --  Process out-of-band data
!    MSG_PEEK           : constant :=           2; --  Peek at incoming data
!    MSG_EOR            : constant :=           8; --  Send end of record
!    MSG_WAITALL        : constant :=          64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=           0;
!    --  Flags set on all send(2) calls
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
!    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=         128; --  Defer close to flush data
!    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=           2; --  Set/get mcast interface
!    IP_MULTICAST_TTL   : constant :=           3; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=           4; --  Set/get mcast loopback
!    IP_ADD_MEMBERSHIP  : constant :=           5; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=           6; --  Leave a multicast group
! 
!    -------------------
!    -- System limits --
!    -------------------
! 
!    IOV_MAX            : constant :=          16; --  Maximum writev iovcnt
! 
!    ----------------------
!    -- Type definitions --
!    ----------------------
! 
!    --  Sizes (in bytes) of the components of struct timeval
! 
!    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
!    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-interix.ads gcc-4.1.0/gcc/ada/g-soccon-interix.ads
*** gcc-4.0.2/gcc/ada/g-soccon-interix.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-interix.ads	Tue Nov 15 14:06:45 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-irix.ads gcc-4.1.0/gcc/ada/g-soccon-irix.ads
*** gcc-4.0.2/gcc/ada/g-soccon-irix.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-irix.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for SGI
! --  Do not edit this file by hand, instead edit and re-run gen-soccon.c
  
  package GNAT.Sockets.Constants is
  
--- 35,43 ----
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for mips-sgi-irix6.5
! --  This file is generated automatically, do not modify it by hand! Instead,
! --  make changes to gen-soccon.c and re-run it on each target.
  
  package GNAT.Sockets.Constants is
  
*************** package GNAT.Sockets.Constants is
*** 44,161 ****
     -- Families --
     --------------
  
!    AF_INET            : constant :=            2; --  IPv4 address family
!    AF_INET6           : constant :=           24; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=            2; --  Stream socket
!    SOCK_DGRAM         : constant :=            1; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=           13; --  Permission denied
!    EADDRINUSE         : constant :=          125; --  Address already in use
!    EADDRNOTAVAIL      : constant :=          126; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=          124; --  Addr family not supported
!    EALREADY           : constant :=          149; --  Operation in progress
!    EBADF              : constant :=            9; --  Bad file descriptor
!    ECONNABORTED       : constant :=          130; --  Connection aborted
!    ECONNREFUSED       : constant :=          146; --  Connection refused
!    ECONNRESET         : constant :=          131; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=           96; --  Destination addr required
!    EFAULT             : constant :=           14; --  Bad address
!    EHOSTDOWN          : constant :=          147; --  Host is down
!    EHOSTUNREACH       : constant :=          148; --  No route to host
!    EINPROGRESS        : constant :=          150; --  Operation now in progress
!    EINTR              : constant :=            4; --  Interrupted system call
!    EINVAL             : constant :=           22; --  Invalid argument
!    EIO                : constant :=            5; --  Input output error
!    EISCONN            : constant :=          133; --  Socket already connected
!    ELOOP              : constant :=           90; --  Too many symbolic lynks
!    EMFILE             : constant :=           24; --  Too many open files
!    EMSGSIZE           : constant :=           97; --  Message too long
!    ENAMETOOLONG       : constant :=           78; --  Name too long
!    ENETDOWN           : constant :=          127; --  Network is down
!    ENETRESET          : constant :=          129; --  Disconn. on network reset
!    ENETUNREACH        : constant :=          128; --  Network is unreachable
!    ENOBUFS            : constant :=          132; --  No buffer space available
!    ENOPROTOOPT        : constant :=           99; --  Protocol not available
!    ENOTCONN           : constant :=          134; --  Socket not connected
!    ENOTSOCK           : constant :=           95; --  Operation on non socket
!    EOPNOTSUPP         : constant :=          122; --  Operation not supported
!    EPFNOSUPPORT       : constant :=          123; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=          120; --  Unknown protocol
!    EPROTOTYPE         : constant :=           98; --  Unknown protocol type
!    ESHUTDOWN          : constant :=          143; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=          121; --  Socket type not supported
!    ETIMEDOUT          : constant :=          145; --  Connection timed out
!    ETOOMANYREFS       : constant :=          144; --  Too many references
!    EWOULDBLOCK        : constant :=           11; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
!    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
!    NO_DATA            : constant :=            4; --  No data record for name
!    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=   1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=            0; --  No more recv
!    SHUT_WR            : constant :=            1; --  No more send
!    SHUT_RDWR          : constant :=            2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=        65535; --  Options for socket level
!    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=           17; --  UDP
!    IPPROTO_TCP        : constant :=            6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=            1; --  Process out-of-band data
!    MSG_PEEK           : constant :=            2; --  Peek at incoming data
!    MSG_EOR            : constant :=            8; --  Send end of record
!    MSG_WAITALL        : constant :=           64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=           -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=            0;
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
!    SO_SNDBUF          : constant :=         4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=         4098; --  Set/get recv buffer size
!    SO_REUSEADDR       : constant :=            4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=            8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=          128; --  Defer close to flush data
!    SO_ERROR           : constant :=         4103; --  Get/clear error status
!    SO_BROADCAST       : constant :=           32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=           23; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=           24; --  Leave a multicast group
!    IP_MULTICAST_TTL   : constant :=           21; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=           22; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 45,181 ----
     -- Families --
     --------------
  
!    AF_INET            : constant :=           2; --  IPv4 address family
!    AF_INET6           : constant :=          24; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=           2; --  Stream socket
!    SOCK_DGRAM         : constant :=           1; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=          13; --  Permission denied
!    EADDRINUSE         : constant :=         125; --  Address already in use
!    EADDRNOTAVAIL      : constant :=         126; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=         124; --  Addr family not supported
!    EALREADY           : constant :=         149; --  Operation in progress
!    EBADF              : constant :=           9; --  Bad file descriptor
!    ECONNABORTED       : constant :=         130; --  Connection aborted
!    ECONNREFUSED       : constant :=         146; --  Connection refused
!    ECONNRESET         : constant :=         131; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=          96; --  Destination addr required
!    EFAULT             : constant :=          14; --  Bad address
!    EHOSTDOWN          : constant :=         147; --  Host is down
!    EHOSTUNREACH       : constant :=         148; --  No route to host
!    EINPROGRESS        : constant :=         150; --  Operation now in progress
!    EINTR              : constant :=           4; --  Interrupted system call
!    EINVAL             : constant :=          22; --  Invalid argument
!    EIO                : constant :=           5; --  Input output error
!    EISCONN            : constant :=         133; --  Socket already connected
!    ELOOP              : constant :=          90; --  Too many symbolic lynks
!    EMFILE             : constant :=          24; --  Too many open files
!    EMSGSIZE           : constant :=          97; --  Message too long
!    ENAMETOOLONG       : constant :=          78; --  Name too long
!    ENETDOWN           : constant :=         127; --  Network is down
!    ENETRESET          : constant :=         129; --  Disconn. on network reset
!    ENETUNREACH        : constant :=         128; --  Network is unreachable
!    ENOBUFS            : constant :=         132; --  No buffer space available
!    ENOPROTOOPT        : constant :=          99; --  Protocol not available
!    ENOTCONN           : constant :=         134; --  Socket not connected
!    ENOTSOCK           : constant :=          95; --  Operation on non socket
!    EOPNOTSUPP         : constant :=         122; --  Operation not supported
!    EPFNOSUPPORT       : constant :=         123; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=         120; --  Unknown protocol
!    EPROTOTYPE         : constant :=          98; --  Unknown protocol type
!    ESHUTDOWN          : constant :=         143; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=         121; --  Socket type not supported
!    ETIMEDOUT          : constant :=         145; --  Connection timed out
!    ETOOMANYREFS       : constant :=         144; --  Too many references
!    EWOULDBLOCK        : constant :=          11; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=           1; --  Unknown host
!    TRY_AGAIN          : constant :=           2; --  Host name lookup failure
!    NO_DATA            : constant :=           4; --  No data record for name
!    NO_RECOVERY        : constant :=           3; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=  1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=           0; --  No more recv
!    SHUT_WR            : constant :=           1; --  No more send
!    SHUT_RDWR          : constant :=           2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=       65535; --  Options for socket level
!    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=          17; --  UDP
!    IPPROTO_TCP        : constant :=           6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=           1; --  Process out-of-band data
!    MSG_PEEK           : constant :=           2; --  Peek at incoming data
!    MSG_EOR            : constant :=           8; --  Send end of record
!    MSG_WAITALL        : constant :=          64; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=           0;
!    --  Flags set on all send(2) calls
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
!    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=         128; --  Defer close to flush data
!    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=          20; --  Set/get mcast interface
!    IP_MULTICAST_TTL   : constant :=          21; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=          22; --  Set/get mcast loopback
!    IP_ADD_MEMBERSHIP  : constant :=          23; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=          24; --  Leave a multicast group
! 
!    -------------------
!    -- System limits --
!    -------------------
! 
!    IOV_MAX            : constant :=  2147483647; --  Maximum writev iovcnt
! 
!    ----------------------
!    -- Type definitions --
!    ----------------------
! 
!    --  Sizes (in bytes) of the components of struct timeval
! 
!    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
!    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-linux-64.ads gcc-4.1.0/gcc/ada/g-soccon-linux-64.ads
*** gcc-4.0.2/gcc/ada/g-soccon-linux-64.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/g-soccon-linux-64.ads	Tue Nov 15 13:50:37 2005
***************
*** 0 ****
--- 1,181 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --               G N A T . S O C K E T S . C O N S T A N T S                --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  This package provides target dependent definitions of constant for use
+ --  by the GNAT.Sockets package (g-socket.ads). This package should not be
+ --  directly with'ed by an applications program.
+ 
+ --  This is the version for ia64-hp-linux-gnu
+ --  This file is generated automatically, do not modify it by hand! Instead,
+ --  make changes to gen-soccon.c and re-run it on each target.
+ 
+ package GNAT.Sockets.Constants is
+ 
+    --------------
+    -- Families --
+    --------------
+ 
+    AF_INET            : constant :=            2; --  IPv4 address family
+    AF_INET6           : constant :=           10; --  IPv6 address family
+ 
+    -----------
+    -- Modes --
+    -----------
+ 
+    SOCK_STREAM        : constant :=            1; --  Stream socket
+    SOCK_DGRAM         : constant :=            2; --  Datagram socket
+ 
+    -------------------
+    -- Socket errors --
+    -------------------
+ 
+    EACCES             : constant :=           13; --  Permission denied
+    EADDRINUSE         : constant :=           98; --  Address already in use
+    EADDRNOTAVAIL      : constant :=           99; --  Cannot assign address
+    EAFNOSUPPORT       : constant :=           97; --  Addr family not supported
+    EALREADY           : constant :=          114; --  Operation in progress
+    EBADF              : constant :=            9; --  Bad file descriptor
+    ECONNABORTED       : constant :=          103; --  Connection aborted
+    ECONNREFUSED       : constant :=          111; --  Connection refused
+    ECONNRESET         : constant :=          104; --  Connection reset by peer
+    EDESTADDRREQ       : constant :=           89; --  Destination addr required
+    EFAULT             : constant :=           14; --  Bad address
+    EHOSTDOWN          : constant :=          112; --  Host is down
+    EHOSTUNREACH       : constant :=          113; --  No route to host
+    EINPROGRESS        : constant :=          115; --  Operation now in progress
+    EINTR              : constant :=            4; --  Interrupted system call
+    EINVAL             : constant :=           22; --  Invalid argument
+    EIO                : constant :=            5; --  Input output error
+    EISCONN            : constant :=          106; --  Socket already connected
+    ELOOP              : constant :=           40; --  Too many symbolic lynks
+    EMFILE             : constant :=           24; --  Too many open files
+    EMSGSIZE           : constant :=           90; --  Message too long
+    ENAMETOOLONG       : constant :=           36; --  Name too long
+    ENETDOWN           : constant :=          100; --  Network is down
+    ENETRESET          : constant :=          102; --  Disconn. on network reset
+    ENETUNREACH        : constant :=          101; --  Network is unreachable
+    ENOBUFS            : constant :=          105; --  No buffer space available
+    ENOPROTOOPT        : constant :=           92; --  Protocol not available
+    ENOTCONN           : constant :=          107; --  Socket not connected
+    ENOTSOCK           : constant :=           88; --  Operation on non socket
+    EOPNOTSUPP         : constant :=           95; --  Operation not supported
+    EPFNOSUPPORT       : constant :=           96; --  Unknown protocol family
+    EPROTONOSUPPORT    : constant :=           93; --  Unknown protocol
+    EPROTOTYPE         : constant :=           91; --  Unknown protocol type
+    ESHUTDOWN          : constant :=          108; --  Cannot send once shutdown
+    ESOCKTNOSUPPORT    : constant :=           94; --  Socket type not supported
+    ETIMEDOUT          : constant :=          110; --  Connection timed out
+    ETOOMANYREFS       : constant :=          109; --  Too many references
+    EWOULDBLOCK        : constant :=           11; --  Operation would block
+ 
+    -----------------
+    -- Host errors --
+    -----------------
+ 
+    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
+    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
+    NO_DATA            : constant :=            4; --  No data record for name
+    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
+ 
+    -------------------
+    -- Control flags --
+    -------------------
+ 
+    FIONBIO            : constant :=        21537; --  Set/clear non-blocking io
+    FIONREAD           : constant :=        21531; --  How many bytes to read
+ 
+    --------------------
+    -- Shutdown modes --
+    --------------------
+ 
+    SHUT_RD            : constant :=            0; --  No more recv
+    SHUT_WR            : constant :=            1; --  No more send
+    SHUT_RDWR          : constant :=            2; --  No more recv/send
+ 
+    ---------------------
+    -- Protocol levels --
+    ---------------------
+ 
+    SOL_SOCKET         : constant :=            1; --  Options for socket level
+    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
+    IPPROTO_UDP        : constant :=           17; --  UDP
+    IPPROTO_TCP        : constant :=            6; --  TCP
+ 
+    -------------------
+    -- Request flags --
+    -------------------
+ 
+    MSG_OOB            : constant :=            1; --  Process out-of-band data
+    MSG_PEEK           : constant :=            2; --  Peek at incoming data
+    MSG_EOR            : constant :=          128; --  Send end of record
+    MSG_WAITALL        : constant :=          256; --  Wait for full reception
+    MSG_NOSIGNAL       : constant :=        16384; --  No SIGPIPE on send
+    MSG_Forced_Flags   : constant := MSG_NOSIGNAL;
+    --  Flags set on all send(2) calls
+ 
+    --------------------
+    -- Socket options --
+    --------------------
+ 
+    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
+    SO_REUSEADDR       : constant :=            2; --  Bind reuse local address
+    SO_KEEPALIVE       : constant :=            9; --  Enable keep-alive msgs
+    SO_LINGER          : constant :=           13; --  Defer close to flush data
+    SO_BROADCAST       : constant :=            6; --  Can send broadcast msgs
+    SO_SNDBUF          : constant :=            7; --  Set/get send buffer size
+    SO_RCVBUF          : constant :=            8; --  Set/get recv buffer size
+    SO_SNDTIMEO        : constant :=           21; --  Emission timeout
+    SO_RCVTIMEO        : constant :=           20; --  Reception timeout
+    SO_ERROR           : constant :=            4; --  Get/clear error status
+    IP_MULTICAST_IF    : constant :=           32; --  Set/get mcast interface
+    IP_MULTICAST_TTL   : constant :=           33; --  Set/get multicast TTL
+    IP_MULTICAST_LOOP  : constant :=           34; --  Set/get mcast loopback
+    IP_ADD_MEMBERSHIP  : constant :=           35; --  Join a multicast group
+    IP_DROP_MEMBERSHIP : constant :=           36; --  Leave a multicast group
+ 
+    -------------------
+    -- System limits --
+    -------------------
+ 
+    IOV_MAX            : constant :=   2147483647; --  Maximum writev iovcnt
+ 
+    ----------------------
+    -- Type definitions --
+    ----------------------
+ 
+    --  Sizes (in bytes) of the components of struct timeval
+ 
+    SIZEOF_tv_sec      : constant :=            8; --  tv_sec
+    SIZEOF_tv_usec     : constant :=            8; --  tv_usec
+ 
+ end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-linux-ppc.ads gcc-4.1.0/gcc/ada/g-soccon-linux-ppc.ads
*** gcc-4.0.2/gcc/ada/g-soccon-linux-ppc.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/g-soccon-linux-ppc.ads	Tue Nov 15 13:50:37 2005
***************
*** 0 ****
--- 1,181 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --               G N A T . S O C K E T S . C O N S T A N T S                --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  This package provides target dependent definitions of constant for use
+ --  by the GNAT.Sockets package (g-socket.ads). This package should not be
+ --  directly with'ed by an applications program.
+ 
+ --  This is the version for powerpc-linux
+ --  This file is generated automatically, do not modify it by hand! Instead,
+ --  make changes to gen-soccon.c and re-run it on each target.
+ 
+ package GNAT.Sockets.Constants is
+ 
+    --------------
+    -- Families --
+    --------------
+ 
+    AF_INET            : constant :=            2; --  IPv4 address family
+    AF_INET6           : constant :=           10; --  IPv6 address family
+ 
+    -----------
+    -- Modes --
+    -----------
+ 
+    SOCK_STREAM        : constant :=            1; --  Stream socket
+    SOCK_DGRAM         : constant :=            2; --  Datagram socket
+ 
+    -------------------
+    -- Socket errors --
+    -------------------
+ 
+    EACCES             : constant :=           13; --  Permission denied
+    EADDRINUSE         : constant :=           98; --  Address already in use
+    EADDRNOTAVAIL      : constant :=           99; --  Cannot assign address
+    EAFNOSUPPORT       : constant :=           97; --  Addr family not supported
+    EALREADY           : constant :=          114; --  Operation in progress
+    EBADF              : constant :=            9; --  Bad file descriptor
+    ECONNABORTED       : constant :=          103; --  Connection aborted
+    ECONNREFUSED       : constant :=          111; --  Connection refused
+    ECONNRESET         : constant :=          104; --  Connection reset by peer
+    EDESTADDRREQ       : constant :=           89; --  Destination addr required
+    EFAULT             : constant :=           14; --  Bad address
+    EHOSTDOWN          : constant :=          112; --  Host is down
+    EHOSTUNREACH       : constant :=          113; --  No route to host
+    EINPROGRESS        : constant :=          115; --  Operation now in progress
+    EINTR              : constant :=            4; --  Interrupted system call
+    EINVAL             : constant :=           22; --  Invalid argument
+    EIO                : constant :=            5; --  Input output error
+    EISCONN            : constant :=          106; --  Socket already connected
+    ELOOP              : constant :=           40; --  Too many symbolic lynks
+    EMFILE             : constant :=           24; --  Too many open files
+    EMSGSIZE           : constant :=           90; --  Message too long
+    ENAMETOOLONG       : constant :=           36; --  Name too long
+    ENETDOWN           : constant :=          100; --  Network is down
+    ENETRESET          : constant :=          102; --  Disconn. on network reset
+    ENETUNREACH        : constant :=          101; --  Network is unreachable
+    ENOBUFS            : constant :=          105; --  No buffer space available
+    ENOPROTOOPT        : constant :=           92; --  Protocol not available
+    ENOTCONN           : constant :=          107; --  Socket not connected
+    ENOTSOCK           : constant :=           88; --  Operation on non socket
+    EOPNOTSUPP         : constant :=           95; --  Operation not supported
+    EPFNOSUPPORT       : constant :=           96; --  Unknown protocol family
+    EPROTONOSUPPORT    : constant :=           93; --  Unknown protocol
+    EPROTOTYPE         : constant :=           91; --  Unknown protocol type
+    ESHUTDOWN          : constant :=          108; --  Cannot send once shutdown
+    ESOCKTNOSUPPORT    : constant :=           94; --  Socket type not supported
+    ETIMEDOUT          : constant :=          110; --  Connection timed out
+    ETOOMANYREFS       : constant :=          109; --  Too many references
+    EWOULDBLOCK        : constant :=           11; --  Operation would block
+ 
+    -----------------
+    -- Host errors --
+    -----------------
+ 
+    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
+    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
+    NO_DATA            : constant :=            4; --  No data record for name
+    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
+ 
+    -------------------
+    -- Control flags --
+    -------------------
+ 
+    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
+    FIONREAD           : constant :=   1074030207; --  How many bytes to read
+ 
+    --------------------
+    -- Shutdown modes --
+    --------------------
+ 
+    SHUT_RD            : constant :=            0; --  No more recv
+    SHUT_WR            : constant :=            1; --  No more send
+    SHUT_RDWR          : constant :=            2; --  No more recv/send
+ 
+    ---------------------
+    -- Protocol levels --
+    ---------------------
+ 
+    SOL_SOCKET         : constant :=            1; --  Options for socket level
+    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
+    IPPROTO_UDP        : constant :=           17; --  UDP
+    IPPROTO_TCP        : constant :=            6; --  TCP
+ 
+    -------------------
+    -- Request flags --
+    -------------------
+ 
+    MSG_OOB            : constant :=            1; --  Process out-of-band data
+    MSG_PEEK           : constant :=            2; --  Peek at incoming data
+    MSG_EOR            : constant :=          128; --  Send end of record
+    MSG_WAITALL        : constant :=          256; --  Wait for full reception
+    MSG_NOSIGNAL       : constant :=        16384; --  No SIGPIPE on send
+    MSG_Forced_Flags   : constant := MSG_NOSIGNAL;
+    --  Flags set on all send(2) calls
+ 
+    --------------------
+    -- Socket options --
+    --------------------
+ 
+    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
+    SO_REUSEADDR       : constant :=            2; --  Bind reuse local address
+    SO_KEEPALIVE       : constant :=            9; --  Enable keep-alive msgs
+    SO_LINGER          : constant :=           13; --  Defer close to flush data
+    SO_BROADCAST       : constant :=            6; --  Can send broadcast msgs
+    SO_SNDBUF          : constant :=            7; --  Set/get send buffer size
+    SO_RCVBUF          : constant :=            8; --  Set/get recv buffer size
+    SO_SNDTIMEO        : constant :=           19; --  Emission timeout
+    SO_RCVTIMEO        : constant :=           18; --  Reception timeout
+    SO_ERROR           : constant :=            4; --  Get/clear error status
+    IP_MULTICAST_IF    : constant :=           32; --  Set/get mcast interface
+    IP_MULTICAST_TTL   : constant :=           33; --  Set/get multicast TTL
+    IP_MULTICAST_LOOP  : constant :=           34; --  Set/get mcast loopback
+    IP_ADD_MEMBERSHIP  : constant :=           35; --  Join a multicast group
+    IP_DROP_MEMBERSHIP : constant :=           36; --  Leave a multicast group
+ 
+    -------------------
+    -- System limits --
+    -------------------
+ 
+    IOV_MAX            : constant :=   2147483647; --  Maximum writev iovcnt
+ 
+    ----------------------
+    -- Type definitions --
+    ----------------------
+ 
+    --  Sizes (in bytes) of the components of struct timeval
+ 
+    SIZEOF_tv_sec      : constant :=            4; --  tv_sec
+    SIZEOF_tv_usec     : constant :=            4; --  tv_usec
+ 
+ end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-linux-x86.ads gcc-4.1.0/gcc/ada/g-soccon-linux-x86.ads
*** gcc-4.0.2/gcc/ada/g-soccon-linux-x86.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/g-soccon-linux-x86.ads	Tue Nov 15 13:50:37 2005
***************
*** 0 ****
--- 1,181 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --               G N A T . S O C K E T S . C O N S T A N T S                --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
+ --                                                                          --
+ -- GNAT is free software;  you can  redistribute it  and/or modify it under --
+ -- terms of the  GNU General Public License as published  by the Free Soft- --
+ -- ware  Foundation;  either version 2,  or (at your option) any later ver- --
+ -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
+ -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
+ -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
+ -- for  more details.  You should have  received  a copy of the GNU General --
+ -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
+ -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
+ -- Boston, MA 02110-1301, USA.                                              --
+ --                                                                          --
+ -- As a special exception,  if other files  instantiate  generics from this --
+ -- unit, or you link  this unit with other files  to produce an executable, --
+ -- this  unit  does not  by itself cause  the resulting  executable  to  be --
+ -- covered  by the  GNU  General  Public  License.  This exception does not --
+ -- however invalidate  any other reasons why  the executable file  might be --
+ -- covered by the  GNU Public License.                                      --
+ --                                                                          --
+ -- GNAT was originally developed  by the GNAT team at  New York University. --
+ -- Extensive contributions were provided by Ada Core Technologies Inc.      --
+ --                                                                          --
+ ------------------------------------------------------------------------------
+ 
+ --  This package provides target dependent definitions of constant for use
+ --  by the GNAT.Sockets package (g-socket.ads). This package should not be
+ --  directly with'ed by an applications program.
+ 
+ --  This is the version for i686-pc-linux-gnu
+ --  This file is generated automatically, do not modify it by hand! Instead,
+ --  make changes to gen-soccon.c and re-run it on each target.
+ 
+ package GNAT.Sockets.Constants is
+ 
+    --------------
+    -- Families --
+    --------------
+ 
+    AF_INET            : constant :=            2; --  IPv4 address family
+    AF_INET6           : constant :=           10; --  IPv6 address family
+ 
+    -----------
+    -- Modes --
+    -----------
+ 
+    SOCK_STREAM        : constant :=            1; --  Stream socket
+    SOCK_DGRAM         : constant :=            2; --  Datagram socket
+ 
+    -------------------
+    -- Socket errors --
+    -------------------
+ 
+    EACCES             : constant :=           13; --  Permission denied
+    EADDRINUSE         : constant :=           98; --  Address already in use
+    EADDRNOTAVAIL      : constant :=           99; --  Cannot assign address
+    EAFNOSUPPORT       : constant :=           97; --  Addr family not supported
+    EALREADY           : constant :=          114; --  Operation in progress
+    EBADF              : constant :=            9; --  Bad file descriptor
+    ECONNABORTED       : constant :=          103; --  Connection aborted
+    ECONNREFUSED       : constant :=          111; --  Connection refused
+    ECONNRESET         : constant :=          104; --  Connection reset by peer
+    EDESTADDRREQ       : constant :=           89; --  Destination addr required
+    EFAULT             : constant :=           14; --  Bad address
+    EHOSTDOWN          : constant :=          112; --  Host is down
+    EHOSTUNREACH       : constant :=          113; --  No route to host
+    EINPROGRESS        : constant :=          115; --  Operation now in progress
+    EINTR              : constant :=            4; --  Interrupted system call
+    EINVAL             : constant :=           22; --  Invalid argument
+    EIO                : constant :=            5; --  Input output error
+    EISCONN            : constant :=          106; --  Socket already connected
+    ELOOP              : constant :=           40; --  Too many symbolic lynks
+    EMFILE             : constant :=           24; --  Too many open files
+    EMSGSIZE           : constant :=           90; --  Message too long
+    ENAMETOOLONG       : constant :=           36; --  Name too long
+    ENETDOWN           : constant :=          100; --  Network is down
+    ENETRESET          : constant :=          102; --  Disconn. on network reset
+    ENETUNREACH        : constant :=          101; --  Network is unreachable
+    ENOBUFS            : constant :=          105; --  No buffer space available
+    ENOPROTOOPT        : constant :=           92; --  Protocol not available
+    ENOTCONN           : constant :=          107; --  Socket not connected
+    ENOTSOCK           : constant :=           88; --  Operation on non socket
+    EOPNOTSUPP         : constant :=           95; --  Operation not supported
+    EPFNOSUPPORT       : constant :=           96; --  Unknown protocol family
+    EPROTONOSUPPORT    : constant :=           93; --  Unknown protocol
+    EPROTOTYPE         : constant :=           91; --  Unknown protocol type
+    ESHUTDOWN          : constant :=          108; --  Cannot send once shutdown
+    ESOCKTNOSUPPORT    : constant :=           94; --  Socket type not supported
+    ETIMEDOUT          : constant :=          110; --  Connection timed out
+    ETOOMANYREFS       : constant :=          109; --  Too many references
+    EWOULDBLOCK        : constant :=           11; --  Operation would block
+ 
+    -----------------
+    -- Host errors --
+    -----------------
+ 
+    HOST_NOT_FOUND     : constant :=            1; --  Unknown host
+    TRY_AGAIN          : constant :=            2; --  Host name lookup failure
+    NO_DATA            : constant :=            4; --  No data record for name
+    NO_RECOVERY        : constant :=            3; --  Non recoverable errors
+ 
+    -------------------
+    -- Control flags --
+    -------------------
+ 
+    FIONBIO            : constant :=        21537; --  Set/clear non-blocking io
+    FIONREAD           : constant :=        21531; --  How many bytes to read
+ 
+    --------------------
+    -- Shutdown modes --
+    --------------------
+ 
+    SHUT_RD            : constant :=            0; --  No more recv
+    SHUT_WR            : constant :=            1; --  No more send
+    SHUT_RDWR          : constant :=            2; --  No more recv/send
+ 
+    ---------------------
+    -- Protocol levels --
+    ---------------------
+ 
+    SOL_SOCKET         : constant :=            1; --  Options for socket level
+    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
+    IPPROTO_UDP        : constant :=           17; --  UDP
+    IPPROTO_TCP        : constant :=            6; --  TCP
+ 
+    -------------------
+    -- Request flags --
+    -------------------
+ 
+    MSG_OOB            : constant :=            1; --  Process out-of-band data
+    MSG_PEEK           : constant :=            2; --  Peek at incoming data
+    MSG_EOR            : constant :=          128; --  Send end of record
+    MSG_WAITALL        : constant :=          256; --  Wait for full reception
+    MSG_NOSIGNAL       : constant :=        16384; --  No SIGPIPE on send
+    MSG_Forced_Flags   : constant := MSG_NOSIGNAL;
+    --  Flags set on all send(2) calls
+ 
+    --------------------
+    -- Socket options --
+    --------------------
+ 
+    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
+    SO_REUSEADDR       : constant :=            2; --  Bind reuse local address
+    SO_KEEPALIVE       : constant :=            9; --  Enable keep-alive msgs
+    SO_LINGER          : constant :=           13; --  Defer close to flush data
+    SO_BROADCAST       : constant :=            6; --  Can send broadcast msgs
+    SO_SNDBUF          : constant :=            7; --  Set/get send buffer size
+    SO_RCVBUF          : constant :=            8; --  Set/get recv buffer size
+    SO_SNDTIMEO        : constant :=           21; --  Emission timeout
+    SO_RCVTIMEO        : constant :=           20; --  Reception timeout
+    SO_ERROR           : constant :=            4; --  Get/clear error status
+    IP_MULTICAST_IF    : constant :=           32; --  Set/get mcast interface
+    IP_MULTICAST_TTL   : constant :=           33; --  Set/get multicast TTL
+    IP_MULTICAST_LOOP  : constant :=           34; --  Set/get mcast loopback
+    IP_ADD_MEMBERSHIP  : constant :=           35; --  Join a multicast group
+    IP_DROP_MEMBERSHIP : constant :=           36; --  Leave a multicast group
+ 
+    -------------------
+    -- System limits --
+    -------------------
+ 
+    IOV_MAX            : constant :=   2147483647; --  Maximum writev iovcnt
+ 
+    ----------------------
+    -- Type definitions --
+    ----------------------
+ 
+    --  Sizes (in bytes) of the components of struct timeval
+ 
+    SIZEOF_tv_sec      : constant :=            4; --  tv_sec
+    SIZEOF_tv_usec     : constant :=            4; --  tv_usec
+ 
+ end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-mingw.ads gcc-4.1.0/gcc/ada/g-soccon-mingw.ads
*** gcc-4.0.2/gcc/ada/g-soccon-mingw.ads	Mon Jan  3 15:30:02 2005
--- gcc-4.1.0/gcc/ada/g-soccon-mingw.ads	Tue Nov 15 13:50:37 2005
***************
*** 6,12 ****
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2004 Free Software Foundation, Inc.          --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
--- 6,12 ----
  --                                                                          --
  --                                 S p e c                                  --
  --                                                                          --
! --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
  --                                                                          --
  -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  -- terms of the  GNU General Public License as published  by the Free Soft- --
***************
*** 16,23 ****
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
! -- MA 02111-1307, USA.                                                      --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
--- 16,23 ----
  -- or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License --
  -- for  more details.  You should have  received  a copy of the GNU General --
  -- Public License  distributed with GNAT;  see file COPYING.  If not, write --
! -- to  the  Free Software Foundation,  51  Franklin  Street,  Fifth  Floor, --
! -- Boston, MA 02110-1301, USA.                                              --
  --                                                                          --
  -- As a special exception,  if other files  instantiate  generics from this --
  -- unit, or you link  this unit with other files  to produce an executable, --
***************
*** 35,42 ****
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for MINGW32 NT
! --  Do not edit this file by hand, instead edit and re-run gen-soccon.c
  
  package GNAT.Sockets.Constants is
  
--- 35,43 ----
  --  by the GNAT.Sockets package (g-socket.ads). This package should not be
  --  directly with'ed by an applications program.
  
! --  This is the version for pentium-mingw32msv
! --  This file is generated automatically, do not modify it by hand! Instead,
! --  make changes to gen-soccon.c and re-run it on each target.
  
  package GNAT.Sockets.Constants is
  
*************** package GNAT.Sockets.Constants is
*** 44,161 ****
     -- Families --
     --------------
  
!    AF_INET            : constant :=            2; --  IPv4 address family
!    AF_INET6           : constant :=            3; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=            1; --  Stream socket
!    SOCK_DGRAM         : constant :=            2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=        10013; --  Permission denied
!    EADDRINUSE         : constant :=        10048; --  Address already in use
!    EADDRNOTAVAIL      : constant :=        10049; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=        10047; --  Addr family not supported
!    EALREADY           : constant :=        10037; --  Operation in progress
!    EBADF              : constant :=        10009; --  Bad file descriptor
!    ECONNABORTED       : constant :=        10053; --  Connection aborted
!    ECONNREFUSED       : constant :=        10061; --  Connection refused
!    ECONNRESET         : constant :=        10054; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=        10039; --  Destination addr required
!    EFAULT             : constant :=        10014; --  Bad address
!    EHOSTDOWN          : constant :=        10064; --  Host is down
!    EHOSTUNREACH       : constant :=        10065; --  No route to host
!    EINPROGRESS        : constant :=        10036; --  Operation now in progress
!    EINTR              : constant :=        10004; --  Interrupted system call
!    EINVAL             : constant :=        10022; --  Invalid argument
!    EIO                : constant :=        10101; --  Input output error
!    EISCONN            : constant :=        10056; --  Socket already connected
!    ELOOP              : constant :=        10062; --  Too many symbolic lynks
!    EMFILE             : constant :=        10024; --  Too many open files
!    EMSGSIZE           : constant :=        10040; --  Message too long
!    ENAMETOOLONG       : constant :=        10063; --  Name too long
!    ENETDOWN           : constant :=        10050; --  Network is down
!    ENETRESET          : constant :=        10052; --  Disconn. on network reset
!    ENETUNREACH        : constant :=        10051; --  Network is unreachable
!    ENOBUFS            : constant :=        10055; --  No buffer space available
!    ENOPROTOOPT        : constant :=        10042; --  Protocol not available
!    ENOTCONN           : constant :=        10057; --  Socket not connected
!    ENOTSOCK           : constant :=        10038; --  Operation on non socket
!    EOPNOTSUPP         : constant :=        10045; --  Operation not supported
!    EPFNOSUPPORT       : constant :=        10046; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=        10043; --  Unknown protocol
!    EPROTOTYPE         : constant :=        10041; --  Unknown protocol type
!    ESHUTDOWN          : constant :=        10058; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=        10044; --  Socket type not supported
!    ETIMEDOUT          : constant :=        10060; --  Connection timed out
!    ETOOMANYREFS       : constant :=        10059; --  Too many references
!    EWOULDBLOCK        : constant :=        10035; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=        11001; --  Unknown host
!    TRY_AGAIN          : constant :=        11002; --  Host name lookup failure
!    NO_DATA            : constant :=        11004; --  No data record for name
!    NO_RECOVERY        : constant :=        11003; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant :=  -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=   1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=            0; --  No more recv
!    SHUT_WR            : constant :=            1; --  No more send
!    SHUT_RDWR          : constant :=            2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=        65535; --  Options for socket level
!    IPPROTO_IP         : constant :=            0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=           17; --  UDP
!    IPPROTO_TCP        : constant :=            6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=            1; --  Process out-of-band data
!    MSG_PEEK           : constant :=            2; --  Peek at incoming data
!    MSG_EOR            : constant :=           -1; --  Send end of record
!    MSG_WAITALL        : constant :=           -1; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=           -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=            0;
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=            1; --  Do not coalesce packets
!    SO_SNDBUF          : constant :=         4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=         4098; --  Set/get recv buffer size
!    SO_REUSEADDR       : constant :=            4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=            8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=          128; --  Defer close to flush data
!    SO_ERROR           : constant :=         4103; --  Get/clear error status
!    SO_BROADCAST       : constant :=           32; --  Can send broadcast msgs
!    IP_ADD_MEMBERSHIP  : constant :=            5; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=            6; --  Leave a multicast group
!    IP_MULTICAST_TTL   : constant :=            3; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=            4; --  Set/get mcast loopback
  
  end GNAT.Sockets.Constants;
--- 45,181 ----
     -- Families --
     --------------
  
!    AF_INET            : constant :=           2; --  IPv4 address family
!    AF_INET6           : constant :=          23; --  IPv6 address family
  
     -----------
     -- Modes --
     -----------
  
!    SOCK_STREAM        : constant :=           1; --  Stream socket
!    SOCK_DGRAM         : constant :=           2; --  Datagram socket
  
     -------------------
     -- Socket errors --
     -------------------
  
!    EACCES             : constant :=       10013; --  Permission denied
!    EADDRINUSE         : constant :=       10048; --  Address already in use
!    EADDRNOTAVAIL      : constant :=       10049; --  Cannot assign address
!    EAFNOSUPPORT       : constant :=       10047; --  Addr family not supported
!    EALREADY           : constant :=       10037; --  Operation in progress
!    EBADF              : constant :=       10009; --  Bad file descriptor
!    ECONNABORTED       : constant :=       10053; --  Connection aborted
!    ECONNREFUSED       : constant :=       10061; --  Connection refused
!    ECONNRESET         : constant :=       10054; --  Connection reset by peer
!    EDESTADDRREQ       : constant :=       10039; --  Destination addr required
!    EFAULT             : constant :=       10014; --  Bad address
!    EHOSTDOWN          : constant :=       10064; --  Host is down
!    EHOSTUNREACH       : constant :=       10065; --  No route to host
!    EINPROGRESS        : constant :=       10036; --  Operation now in progress
!    EINTR              : constant :=       10004; --  Interrupted system call
!    EINVAL             : constant :=       10022; --  Invalid argument
!    EIO                : constant :=       10101; --  Input output error
!    EISCONN            : constant :=       10056; --  Socket already connected
!    ELOOP              : constant :=       10062; --  Too many symbolic lynks
!    EMFILE             : constant :=       10024; --  Too many open files
!    EMSGSIZE           : constant :=       10040; --  Message too long
!    ENAMETOOLONG       : constant :=       10063; --  Name too long
!    ENETDOWN           : constant :=       10050; --  Network is down
!    ENETRESET          : constant :=       10052; --  Disconn. on network reset
!    ENETUNREACH        : constant :=       10051; --  Network is unreachable
!    ENOBUFS            : constant :=       10055; --  No buffer space available
!    ENOPROTOOPT        : constant :=       10042; --  Protocol not available
!    ENOTCONN           : constant :=       10057; --  Socket not connected
!    ENOTSOCK           : constant :=       10038; --  Operation on non socket
!    EOPNOTSUPP         : constant :=       10045; --  Operation not supported
!    EPFNOSUPPORT       : constant :=       10046; --  Unknown protocol family
!    EPROTONOSUPPORT    : constant :=       10043; --  Unknown protocol
!    EPROTOTYPE         : constant :=       10041; --  Unknown protocol type
!    ESHUTDOWN          : constant :=       10058; --  Cannot send once shutdown
!    ESOCKTNOSUPPORT    : constant :=       10044; --  Socket type not supported
!    ETIMEDOUT          : constant :=       10060; --  Connection timed out
!    ETOOMANYREFS       : constant :=       10059; --  Too many references
!    EWOULDBLOCK        : constant :=       10035; --  Operation would block
  
     -----------------
     -- Host errors --
     -----------------
  
!    HOST_NOT_FOUND     : constant :=       11001; --  Unknown host
!    TRY_AGAIN          : constant :=       11002; --  Host name lookup failure
!    NO_DATA            : constant :=       11004; --  No data record for name
!    NO_RECOVERY        : constant :=       11003; --  Non recoverable errors
  
     -------------------
     -- Control flags --
     -------------------
  
!    FIONBIO            : constant := -2147195266; --  Set/clear non-blocking io
!    FIONREAD           : constant :=  1074030207; --  How many bytes to read
  
     --------------------
     -- Shutdown modes --
     --------------------
  
!    SHUT_RD            : constant :=           0; --  No more recv
!    SHUT_WR            : constant :=           1; --  No more send
!    SHUT_RDWR          : constant :=           2; --  No more recv/send
  
     ---------------------
     -- Protocol levels --
     ---------------------
  
!    SOL_SOCKET         : constant :=       65535; --  Options for socket level
!    IPPROTO_IP         : constant :=           0; --  Dummy protocol for IP
!    IPPROTO_UDP        : constant :=          17; --  UDP
!    IPPROTO_TCP        : constant :=           6; --  TCP
  
     -------------------
     -- Request flags --
     -------------------
  
!    MSG_OOB            : constant :=           1; --  Process out-of-band data
!    MSG_PEEK           : constant :=           2; --  Peek at incoming data
!    MSG_EOR            : constant :=          -1; --  Send end of record
!    MSG_WAITALL        : constant :=          -1; --  Wait for full reception
!    MSG_NOSIGNAL       : constant :=          -1; --  No SIGPIPE on send
!    MSG_Forced_Flags   : constant :=           0;
!    --  Flags set on all send(2) calls
  
     --------------------
     -- Socket options --
     --------------------
  
!    TCP_NODELAY        : constant :=           1; --  Do not coalesce packets
!    SO_REUSEADDR       : constant :=           4; --  Bind reuse local address
!    SO_KEEPALIVE       : constant :=           8; --  Enable keep-alive msgs
!    SO_LINGER          : constant :=         128; --  Defer close to flush data
!    SO_BROADCAST       : constant :=          32; --  Can send broadcast msgs
!    SO_SNDBUF          : constant :=        4097; --  Set/get send buffer size
!    SO_RCVBUF          : constant :=        4098; --  Set/get recv buffer size
!    SO_SNDTIMEO        : constant :=        4101; --  Emission timeout
!    SO_RCVTIMEO        : constant :=        4102; --  Reception timeout
!    SO_ERROR           : constant :=        4103; --  Get/clear error status
!    IP_MULTICAST_IF    : constant :=           9; --  Set/get mcast interface
!    IP_MULTICAST_TTL   : constant :=          10; --  Set/get multicast TTL
!    IP_MULTICAST_LOOP  : constant :=          11; --  Set/get mcast loopback
!    IP_ADD_MEMBERSHIP  : constant :=          12; --  Join a multicast group
!    IP_DROP_MEMBERSHIP : constant :=          13; --  Leave a multicast group
! 
!    -------------------
!    -- System limits --
!    -------------------
! 
!    IOV_MAX            : constant :=  2147483647; --  Maximum writev iovcnt
! 
!    ----------------------
!    -- Type definitions --
!    ----------------------
! 
!    --  Sizes (in bytes) of the components of struct timeval
! 
!    SIZEOF_tv_sec      : constant :=           4; --  tv_sec
!    SIZEOF_tv_usec     : constant :=           4; --  tv_usec
  
  end GNAT.Sockets.Constants;
diff -Nrcpad gcc-4.0.2/gcc/ada/g-soccon-solaris-64.ads gcc-4.1.0/gcc/ada/g-soccon-solaris-64.ads
*** gcc-4.0.2/gcc/ada/g-soccon-solaris-64.ads	Thu Jan  1 00:00:00 1970
--- gcc-4.1.0/gcc/ada/g-soccon-solaris-64.ads	Tue Nov 15 13:50:37 2005
***************
*** 0 ****
--- 1,181 ----
+ ------------------------------------------------------------------------------
+ --                                                                          --
+ --                         GNAT COMPILER COMPONENTS                         --
+ --                                                                          --
+ --               G N A T . S O C K E T S . C O N S T A N T S                --
+ --                                                                          --
+ --                                 S p e c                                  --
+ --                                                                          --
+ --          Copyright (C) 2000-2005, Free Software Foundation, Inc.         --
+ --                                                                    